From cc1f6ddf364842f908b4870d10ed04dd0ca2dd85 Mon Sep 17 00:00:00 2001 From: kk_korp <476089417@qq.com> Date: Mon, 19 Sep 2022 16:16:15 +0800 Subject: [PATCH 01/36] test push --- HW01/Test.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 HW01/Test.md diff --git a/HW01/Test.md b/HW01/Test.md new file mode 100644 index 00000000..e5a9507c --- /dev/null +++ b/HW01/Test.md @@ -0,0 +1,3 @@ +# 一些GIT问题 +https://blog.csdn.net/appleyuchi/article/details/102766591 +https://blog.csdn.net/huhao820/article/details/120308442?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-120308442-blog-124432254.pc_relevant_aa&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-120308442-blog-124432254.pc_relevant_aa&utm_relevant_index=1 \ No newline at end of file From f6c1b8d8f453b111fd6da69e943b8d1651b49890 Mon Sep 17 00:00:00 2001 From: kk_korp <476089417@qq.com> Date: Mon, 19 Sep 2022 17:15:22 +0800 Subject: [PATCH 02/36] add csv --- HW01/covid.test_un.csv | 1079 +++++++++++++++ HW01/covid.train_new.csv | 2700 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 3779 insertions(+) create mode 100644 HW01/covid.test_un.csv create mode 100644 HW01/covid.train_new.csv diff --git a/HW01/covid.test_un.csv b/HW01/covid.test_un.csv new file mode 100644 index 00000000..4635dd43 --- /dev/null +++ b/HW01/covid.test_un.csv @@ -0,0 +1,1079 @@ +id,AL,AK,AZ,AR,CA,CO,CT,FL,GA,ID,IL,IN,IA,KS,KY,LA,MD,MA,MI,MN,MS,MO,NE,NV,NJ,NM,NY,NC,OH,OK,OR,RI,SC,TX,UT,VA,WA,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7102743,0.7240316,14.5616417,11.1175833,52.9058154,17.842008,31.7333285,66.9642023,31.8637288,41.5639747,18.7579293,4.1010579,11.7455548,9.2002811,31.2324546,7.465515,0.6557869,0.6700901,14.3128492,10.8830534,53.6328023,18.3920395,32.0097957,66.6768566,31.9128609,42.1337758,18.8001219,3.8787749,11.8581916,9.1275922,30.7006016,7.5618364,0.7798426,0.8020755,15.2175422,11.6238472,55.0071919,18.4977082,33.0006874,66.2156248,31.7826106,42.3976095,18.7605596,3.7457525,12.9024374,9.5381241,31.3370242,8.4235115,0.7655268,0.7884725,15.8402616,12.1423361,56.4132617,19.1534658,32.6866733,65.9456588,31.6992483,42.2746916,18.4655022,3.6237835,13.0087374,9.8571052,31.347696,8.3570209,0.6928459,0.7124773,15.936616,12.2412296,57.5097008,18.4634149,32.4706223,65.2369538,31.7300284,42.0311827,18.1884522,3.4721051,12.4525703,9.4000244,30.5508734 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3474496,0.3467138,9.7278416,6.3004187,49.6860008,22.6809902,31.5992755,61.3082709,29.8260952,40.8331474,17.4808087,6.6744932,10.6285949,6.7298623,32.249644,6.8075117,0.4622796,0.4535092,10.2165773,6.9682333,51.0246649,23.0564883,31.6789394,61.1809163,28.7531065,40.6653696,17.0150202,6.4611836,10.8980603,7.0447033,32.9835223,6.4903877,0.5156285,0.5069056,10.4979298,7.1553114,52.2081788,24.3603871,32.10206,60.1631673,28.4946849,40.704227,16.5626532,6.3649175,11.2064945,7.223559,33.9637047,6.8720412,0.6870327,0.6977337,11.1637124,7.8689315,54.3159088,23.5727584,32.4197806,60.1083872,28.1948966,40.1362679,16.567779,6.1627289,11.3768422,7.1558665,34.6033684,9.3181861,0.6687388,0.6794639,10.9954367,8.0303793,54.8085646,24.2017017,31.4990356,60.3600298,28.3194167,39.919723,16.6142917,5.9923323,11.7475281,7.4386058,35.3648714 +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6555507,0.66084,11.5194382,7.9192528,50.658992,13.2766382,28.9233774,64.4299549,30.3773343,40.047315,16.2416311,13.8645297,12.9052814,9.569775,37.4177677,6.0622305,0.6351283,0.6351283,11.5145691,8.0359141,51.2453702,13.4524315,28.578727,64.8711537,30.5880311,40.1464443,16.352592,14.048134,13.0610246,10.0059394,37.6062512,5.1810855,0.5632093,0.5750105,11.5006,8.2959613,51.6441137,13.5374706,29.1170637,65.7793173,31.0791449,40.0738576,16.5399015,13.7951957,13.0430166,10.3348991,36.7760594,5.0329252,0.6052973,0.6089202,11.1355338,8.1331724,52.4866432,13.8049781,28.9844911,66.1264272,31.2998068,40.3995273,16.7833274,14.0587989,13.1290314,10.4928964,36.6702818,5.0401427,0.5888664,0.5920418,11.4147733,8.3899353,53.3221757,13.7426565,28.6969958,66.1144282,31.2113813,40.4485385,16.9987219,13.9516313,12.8980889,10.2147107,37.0287053 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8776239,0.9248742,18.0570304,14.794566,61.1536804,13.9033887,27.5363332,65.4103808,29.1074295,41.1248303,13.881023,5.055974,14.3558033,10.4899104,31.2903441,9.0693229,0.9042173,0.9438384,18.3144485,15.1165275,61.705658,14.4539989,27.8838115,65.9552056,29.3068581,41.0932713,13.9712572,5.248605,14.3077643,10.6299464,32.0764733,9.2248865,0.9624227,1.0112969,18.647339,15.3504282,62.7913485,14.0942543,28.0873835,66.2903011,29.4229288,41.3438045,14.2540044,5.3174058,14.6642041,10.9632613,32.1537174,9.365114,0.8328044,0.8861369,18.8132645,15.6253444,63.8306636,13.8273721,28.3561057,66.6695635,29.4268509,41.3029557,13.9599057,5.3945254,14.4851948,10.9636631,31.7076385,8.98772,0.8496475,0.9031113,18.9517762,15.8025246,64.63926,13.7634419,27.9079348,66.5815255,29.112434,41.1235709,13.9499037,5.3374266,14.9449722,11.5562925,32.1463465 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6324511,1.6424314,26.8215492,22.1071066,69.7956235,14.1411345,36.0528659,67.5835462,29.0688171,40.5501318,18.3512262,2.7064356,15.5222176,9.6302768,41.9817406,18.9820158,1.4686237,1.478914,26.0093253,20.9961763,69.3573171,13.3931389,35.9270233,67.4641235,29.3238796,40.3837351,18.9930184,2.7841387,15.1449603,9.8696465,40.6620572,19.3492879,1.4750788,1.4873947,26.0596581,21.0723723,69.7365998,13.3848314,35.5093361,66.4642206,28.6682569,40.2880607,19.2018648,2.7788296,15.1544589,9.6406634,40.9012313,18.0399321,1.4588643,1.4964178,25.1810462,20.1594936,68.6891612,13.9403433,37.3610579,66.8033006,29.3555383,41.2674195,19.2755944,2.9164375,14.9226341,9.5444899,39.4010197,17.3214011,1.3177121,1.3450972,24.2829154,19.0621904,68.5173729,14.4276364,37.6231966,66.5026572,29.7166126,41.7902565,18.8555237,3.0152187,15.225684,10.1267518,39.1636944 +5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1714999,1.1639628,23.8169308,19.7073499,44.616522,18.3159003,39.5005407,66.1317889,37.5026554,47.0881944,22.6248719,3.3687567,14.9322051,11.2106522,33.6047345,11.047798,1.1961154,1.1638425,24.4027615,20.1068797,45.160201,18.5002054,39.4286407,66.3492532,37.4384718,47.0896567,22.5872038,3.1564282,14.6475671,11.4317074,33.0444207,12.3059505,1.2350341,1.2127288,25.6477242,21.239042,46.172997,17.9710395,39.6224432,66.0942832,36.87073,46.6616741,22.4082751,3.2103225,13.8398503,10.4390774,32.7608445,12.9629222,1.4174469,1.4014165,26.3555906,21.6163633,47.3440316,17.5031159,39.2092784,65.8150963,37.0468269,46.7776371,21.9524987,2.7241874,14.658436,11.0993082,33.1549102,13.437482,1.5237033,1.5039693,26.8893459,21.9873898,47.4407743,17.131927,38.7813498,65.280957,36.5501807,46.0640128,21.0376526,2.6415499,14.709516,10.8966253,33.4518325 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.8249406,0.843179,11.8992129,8.2214513,40.1642829,15.7702137,30.8067696,67.9183277,37.6195076,46.4840535,21.3047744,3.615539,9.8381801,8.1704161,34.561257,9.7269833,0.9092151,0.9362347,12.8397276,9.0312606,40.2106781,15.9347819,31.2629588,67.8133854,36.7860475,45.9849208,20.9519265,3.496699,10.1926261,8.0910815,33.9100704,9.5161198,0.856117,0.8730154,13.0855162,9.2721748,40.6250191,15.2988224,30.7439593,67.4982283,36.0706671,45.800783,20.6942326,3.4002095,10.1014408,7.9178426,33.3569549,9.2532702,0.8985756,0.9206935,13.7226361,9.548058,40.7674225,15.1480015,31.1609433,66.7282321,35.417764,45.0043981,20.0615542,3.2981497,10.5128915,7.8826364,33.5535191,10.3279209,0.8631159,0.9008257,13.7176637,9.6134353,40.5968394,14.7898242,30.76856,66.7158333,35.0537904,44.8386584,19.8906951,3.3049988,10.3144279,7.7883658,33.6541037 +7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0725516,1.0892451,16.0393156,12.0159396,46.4280563,17.9339396,33.7203696,64.5100779,34.0963795,43.8068064,20.9577824,4.4791118,10.3697767,8.8950058,36.5738169,13.1211462,1.1688389,1.1784011,16.2605739,12.5232069,46.0681072,17.9809799,33.6404011,64.2842801,33.8945167,44.2292701,21.039867,4.5002267,10.3287769,8.7003353,36.3345147,15.2892795,1.2576409,1.2666941,17.0934435,13.1645788,46.8299808,17.8002826,33.8719378,63.6994334,33.0891448,44.0086036,20.8050076,4.3656823,10.1664438,8.5134116,36.4318689,14.8101735,1.2570566,1.2524036,18.1589335,14.034207,47.793051,17.8078177,33.9745299,63.8243911,33.7070859,43.4377262,21.2817134,4.4126354,10.708,8.5702407,36.6030289,13.9162986,1.2714499,1.2954932,19.200421,15.0259553,48.5778092,17.5118944,34.4501331,63.6355441,33.6843002,43.3419075,21.474203,4.371366,10.7432993,8.1192342,36.0174834 +8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.9965754,1.0125267,14.7532138,10.5289745,46.2850307,11.8775826,30.7921457,64.9647224,39.897939,42.4346135,22.3971658,4.4931297,10.1195329,8.882586,40.012577,10.3932681,0.9736286,0.9939667,15.0005459,10.9592699,46.3564836,11.851655,31.0040155,64.4639888,39.7233896,42.314371,22.4694162,4.4799618,10.1177141,8.8813684,40.0471092,10.4820735,0.9671638,1.007116,15.7731311,11.7111859,46.8505119,11.604015,31.920069,63.6890605,38.867116,42.1645539,22.0534446,4.3857263,10.4180907,8.8683953,40.1463836,12.0143116,1.0045728,1.0487466,16.7132687,12.3354799,46.7807535,11.4585833,32.1517071,63.1202626,38.000665,41.8861954,21.5922039,4.2270821,10.5758633,8.84363,40.6542816,12.9441581,1.0555008,1.104391,17.3605101,12.9487862,47.138159,11.5455497,32.8440485,62.5167685,37.5878294,41.8523649,21.4475395,4.3002747,10.9414722,8.8936579,41.2125395 +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1669668,1.2637247,20.3226677,16.3122431,82.8123787,13.102513,33.3525093,66.1834949,37.9554382,39.3708896,20.0571091,5.0593533,13.2208086,10.5352143,36.3546298,12.5121499,0.9096312,1.0419079,20.0755138,16.1010303,81.4108751,13.68152,33.6596543,66.2236861,37.8138497,41.0349615,20.067369,5.8314911,13.8571708,10.7609204,36.3359494,10.0360557,1.1297048,1.198219,20.6448702,16.2450896,82.0148983,13.5255997,33.8104601,65.3418918,37.527423,39.9308866,19.2525861,5.3507225,12.7226702,9.5874354,36.8115606,10.3365638,1.0587989,1.1395153,20.2991024,15.8281579,81.4819937,13.5282167,33.8038541,66.3745382,38.4931756,41.2905285,19.2252675,5.3262406,13.1578646,9.6181139,37.7441952,11.0694227,1.1178605,1.2731727,19.77811,14.9087007,81.9071383,13.8243316,33.172732,65.6040323,38.6746617,41.8953423,19.1165877,5.9282329,13.1512259,9.8981674,37.7281834 +10,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8312468,0.8500403,12.7484533,8.6966526,25.9147032,13.9861975,30.4994024,67.2391995,40.2341446,46.6625919,20.8730406,8.2206365,10.6715182,9.7012128,33.9189163,10.8938171,0.8371631,0.8546972,13.1276545,8.8945835,26.3786772,13.8982216,31.6557215,65.8835424,38.5155794,46.149027,20.7545628,8.1044985,10.8412545,9.3031272,33.7463916,9.7499695,0.7769544,0.8032662,13.684103,9.3697717,26.8092903,13.6982958,32.1047762,65.9204749,37.96288,46.3769018,20.8854433,7.6297624,11.0703675,8.9454312,33.6386307,9.1584294,0.8355664,0.8619769,13.8903113,9.5379232,26.850639,13.2064236,31.8020561,64.9183341,37.0598219,46.2110833,20.6098751,6.9421349,11.2874324,9.1537259,33.2622482,6.783923,0.917249,0.9509107,13.8517008,9.4415182,27.217011,12.9786489,31.0289802,64.5481607,37.3999564,46.3656791,20.1460569,6.5710611,11.2303775,8.9100065,33.1889561 +11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.193632,1.3475182,18.9309615,14.3866257,81.7070715,13.7618655,33.7175776,66.0081787,37.6671269,41.3084154,18.1534804,5.3809484,12.0551169,9.1879521,36.6967678,9.7935018,1.0106111,1.1655724,17.442469,13.6806685,82.4084757,13.9460044,33.2495872,66.457558,36.4297002,41.5685038,18.3886366,5.5564451,11.7282118,9.0874224,35.5465884,9.123212,1.0694618,1.1891389,18.199891,13.6014292,83.6392886,14.151015,32.3642892,66.6249733,35.8440762,41.0434476,18.4829756,5.6156331,12.6002888,9.3929425,36.4867512,9.668955,1.0254021,1.1115461,17.3816121,12.9241386,83.7500237,13.4652198,32.4797584,67.1972857,35.4939897,40.5647966,18.9139562,5.0212673,12.384081,9.1881891,35.836368,9.7851259,0.9242309,1.0089697,17.053844,13.0407031,83.4190286,13.8196192,32.844277,68.4399149,36.6757992,41.5613158,20.1208692,5.2368826,12.3465839,10.3019267,35.9469955 +12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.856898,0.9106611,12.9527747,8.4499568,24.4588248,16.4018896,35.3921467,64.3580942,34.9955707,47.7452882,21.2911352,3.7676287,11.7465138,10.3396342,33.7981484,8.83233,0.8435173,0.8950856,13.2728509,8.7462168,25.348308,16.1033495,35.3775566,64.3023519,34.7083004,47.6284189,21.409864,3.7028964,11.9449781,9.982809,33.7745201,8.5507147,0.7817873,0.8500594,13.6791167,9.117073,26.0906104,15.7008412,35.4041231,63.922342,34.3006787,46.8974146,21.1307043,3.6471774,12.0813186,9.9566785,33.4921709,9.3390697,0.7373015,0.7957448,14.0577127,9.4577665,26.9335072,16.1933152,35.1487224,63.7747966,34.4263616,46.8484627,21.5793329,3.6756355,12.2572951,9.9671171,33.2878148,9.3575314,0.7384572,0.8073455,14.1537523,9.8303147,27.4260027,16.2083329,35.5389961,64.5168037,35.0369476,47.2947006,21.2732041,3.6047575,12.5280225,10.3963296,33.2302879 +13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1645911,1.2259466,17.0247391,12.8301706,44.8556699,10.4408241,28.8665031,67.448014,39.5794649,41.3897184,20.5764972,4.9990709,10.1327194,8.1839941,37.1244607,14.4859798,1.2664749,1.296593,18.5383923,14.1492124,45.0040319,10.3345164,29.6481319,67.3197229,39.3614243,41.6116451,20.3605571,4.8523017,10.0828518,8.0467491,37.1997576,15.4030614,1.3312598,1.3671187,19.3541734,15.0596443,45.2742821,10.5507211,30.1324507,66.6625798,38.529148,41.4806672,19.9370477,4.9096552,10.3931114,7.8703108,36.913415,16.207805,1.3879515,1.4027738,20.2483607,15.7842173,45.6514492,10.3866455,30.3257832,66.1382619,37.9221316,40.893922,19.296783,4.7794989,10.6901664,7.9342461,37.2823804,16.709612,1.481688,1.4895405,21.1839057,16.6823741,46.3993752,10.4737441,30.1889012,65.8925948,36.878467,40.6954972,19.0734526,4.8513001,10.5995377,7.7760791,36.9913505 +14,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7001876,1.6761154,25.2546172,20.2898138,53.9846197,16.6679138,41.5800722,65.1908894,35.9648633,45.1462322,22.8470414,4.1725143,12.2128582,10.1428421,34.6006864,17.1487875,1.7590737,1.7284651,24.657776,19.883662,54.4357775,16.3742794,41.6094511,65.5218004,35.1089468,45.2814958,22.8898109,3.9604582,12.9830094,10.7850412,34.8742477,15.4618813,1.7486129,1.7004254,24.3156713,19.4683394,53.0600873,16.4001928,42.2724563,66.0244054,35.2770074,45.8530984,24.3229075,3.716229,12.900963,11.2954883,34.8226542,14.0756664,1.6466416,1.6356321,24.0346406,19.3619811,52.6723705,16.3242234,42.5483099,66.3656731,35.3425933,46.5653264,24.9465649,3.9345083,13.0906794,11.5912949,35.6083028,12.1795299,1.4895585,1.5038972,23.4853464,19.5489568,52.5467539,17.010765,41.9237749,66.9511626,36.0639881,47.3470669,25.0563253,3.643447,12.6600004,10.9225012,35.0848178 +15,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.746611,0.771184,11.3437002,7.6355662,46.8527067,22.8145425,30.6908946,65.1158147,29.293131,42.3921725,16.6333866,3.9337061,10.7124682,8.0976864,35.4961832,6.8527919,0.7966989,0.8389694,11.7406542,8.0412773,48.4656301,23.4318817,31.0176125,64.9902153,29.334638,43.3855186,17.0841487,4.3639922,10.7232546,7.6825558,34.7640562,6.712963,0.6033505,0.627177,11.3058552,7.9545455,49.98,22.4326435,30.3036126,65.5457341,29.8039969,42.7555726,16.7371253,4.3620292,11.4657814,8.114374,35.2022529,7.5342466,0.5478651,0.6007193,11.354127,7.8927349,51.4740566,23.5147566,30.0756144,65.3875236,30.2646503,42.3251418,16.2003781,3.9886578,11.3732768,8.0395299,34.3168527,6.5400844,0.4819515,0.5338008,11.4365672,8.1156716,52.3782125,23.704955,30.4307464,66.0415893,30.3564798,42.2762718,15.8373561,4.1032306,11.0901241,7.7403585,34.3902439 +16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8405834,0.8298432,13.2052917,10.3907923,40.1280051,10.7140028,30.2031317,66.7635674,34.6352464,46.4469195,18.763089,2.9775749,11.9764812,9.6560368,29.3832846,9.1121524,0.7793939,0.7629632,13.9227507,10.8479062,40.8343076,10.7311984,30.1476675,66.8269602,34.1479502,46.1371143,18.5085328,3.0191178,12.5408366,10.0553341,30.0074309,8.4234996,0.782203,0.7656823,14.0297236,10.9243754,41.4182019,10.687252,30.1630906,67.1535301,34.1879458,45.8244531,18.5516478,3.12851,12.3730017,10.0913148,29.5590874,8.9116761,0.8299673,0.8250775,14.4248987,11.1891045,41.7412312,10.9930133,30.4510712,67.4771769,33.9753328,45.8375353,18.4372598,3.0886657,12.6211437,10.0969392,29.6688018,9.5125846,0.7922528,0.7942073,14.0742747,10.8049307,41.7204823,11.0484303,30.386292,67.4616751,33.721278,46.2181011,18.3299288,3.1147661,12.9274697,9.9387213,29.496921 +17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6617733,0.6478638,11.8712171,8.8760153,53.9944819,13.6851305,29.1906937,66.0499056,30.9833367,40.6279478,16.988156,13.8746219,12.6862518,10.0062978,37.0288014,5.1271191,0.5900604,0.5848776,11.8313173,8.9106344,54.5563684,13.7593738,28.8241375,65.832909,31.2377581,40.170191,16.9210937,13.9195483,12.7108045,9.7126781,36.8702773,5.273917,0.6430808,0.6286893,12.0232094,9.106961,55.2302324,13.688874,29.072953,66.0638362,30.8763978,39.8024314,17.0871331,13.9665677,12.484786,9.3629527,37.0116619,5.3149615,0.6512667,0.6446401,11.9748752,9.1507524,55.9006542,13.6034516,29.0691846,66.5943963,30.9146859,39.6984661,17.1288835,13.9723696,12.6642382,9.3933275,36.6442539,5.3515633,0.6799561,0.6736683,12.1404621,9.3454606,56.8058007,13.7004789,28.9208718,66.8073678,30.7211158,39.8240427,17.0921496,14.0103759,12.9751351,9.2767622,36.917826 +18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7121988,0.7228044,10.9620331,8.0690365,55.9676132,24.8766401,31.1445121,61.3410619,28.4902361,39.8656466,16.2875221,5.8773025,11.9750798,7.8271303,34.4274967,9.188042,0.7703043,0.780883,11.1630574,8.0824037,57.2068886,24.9301736,30.9818785,60.9853845,28.819146,40.2163563,16.1517635,6.0933936,11.8502601,8.1726424,34.7691333,8.9958234,0.9685748,1.0006056,11.6898997,8.3797965,58.1265835,24.5869848,30.7172496,60.4123329,27.9798952,39.6569464,15.5405289,5.9771345,12.4312131,8.13482,34.7376396,9.1093191,0.9084661,0.9402122,11.3542421,7.839426,58.8080204,25.1812229,30.448928,60.1953366,28.6326246,39.8731898,15.3015716,6.2200173,13.1186758,8.6569567,34.8444267,8.2692339,0.9431303,0.9947299,11.9095537,8.157458,59.840248,24.8582919,30.1536837,61.2261917,29.0177092,39.7093116,15.6197739,5.9639188,12.8359057,8.3333309,34.3623855 +19,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9797999,0.9978858,18.213374,14.8092666,77.0585084,8.0685856,28.4540546,63.707739,28.086473,37.1357374,14.2255976,5.7301134,14.6405538,9.9226458,36.9817583,9.9164657,0.9961764,1.0150422,18.2071173,14.7024224,77.4151929,7.9152977,28.157223,63.4373856,28.1055283,36.949006,13.9656487,5.5438349,14.7382346,9.7307661,36.8833954,9.5727572,1.0539836,1.0684388,18.6349036,15.033556,77.7818187,7.8229659,27.9809317,63.5828237,28.0479648,36.7841253,13.8688237,5.4649213,14.8989885,9.8703113,36.9294971,9.639956,1.0141947,1.0383756,18.7359669,15.0839764,78.1466887,7.7184995,27.7576089,63.2895589,28.3409566,36.7588231,13.6311186,5.4152961,14.7255312,9.9302304,36.9109151,9.6707495,1.0217507,1.0431342,19.0972467,15.4157168,78.1500655,7.6853565,28.0764208,63.3577526,28.5165214,37.3721508,13.9332309,5.3120868,14.7987601,10.0625597,36.67824 +20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8449033,1.9067627,24.9397098,20.1442606,45.1616156,15.4346003,41.7106921,65.9182605,40.4088396,51.8997015,30.4328992,4.3512807,11.9539362,8.2395958,31.8772668,18.096341,1.9005907,1.9652301,25.6432754,20.5399924,44.7606314,14.8880567,41.1780714,66.1478614,42.2883011,51.5354686,31.0961818,4.3594371,10.7271174,6.5527571,30.1790694,18.3979793,1.6303891,1.6407106,26.203067,21.3736414,45.6055219,14.1761503,42.0105293,66.0005796,41.2963979,50.8059293,28.9380485,4.667235,9.8394744,6.7268894,30.198196,19.7493167,1.9523187,2.002437,27.2262689,22.2128866,46.039426,14.0214927,41.6339982,66.5385617,41.6311542,51.5954713,29.1712341,4.7686025,10.3318628,7.5468174,31.5371531,19.1514391,2.0339804,2.0739201,28.7933881,23.2792124,46.2011465,14.2602839,41.0480644,66.3329701,42.6688943,52.1015138,29.1152725,4.6746624,10.7577427,8.1506867,32.5473683 +21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6360699,0.6511333,12.7099664,9.8595126,57.7247918,13.8465396,29.3179044,66.9708428,30.3680664,39.4830759,16.50184,14.0752456,12.9134341,9.32394,36.3552192,5.7633583,0.6339566,0.6451471,12.7137505,9.9109571,58.1586723,13.725199,29.3798791,67.2357884,30.4742087,39.6646082,16.4707698,14.099707,12.8623558,9.3997183,35.5843939,5.3652964,0.5829572,0.5989191,12.7056573,9.9367964,58.7730847,13.8638865,29.2529674,67.3788457,30.4494211,39.7194867,16.8057515,14.0106573,13.2194282,9.5880882,35.3373669,5.4419276,0.6188145,0.6310932,12.7592094,10.0312048,59.2172262,14.0625024,29.0743368,67.2794124,30.4341201,40.0332393,16.8664405,13.7842469,13.2717918,9.8271113,35.3194501,5.8972491,0.5936429,0.6366879,12.8687529,10.099337,59.4697376,14.24973,28.9780174,66.8758167,30.534081,40.4326903,16.7101742,13.668306,13.4136637,10.0598253,35.6683426 +22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4071126,1.4012576,21.3599367,17.0558296,75.1516447,11.3988495,32.2276567,61.2031587,29.5952968,37.8839906,16.2721164,3.297237,14.4633451,11.6383378,39.2043519,10.1882025,1.2680963,1.2622575,22.3940729,18.0422366,77.4050493,11.537342,32.9269159,61.795854,29.8069457,38.912088,16.2679442,3.4379036,14.2379189,11.1871936,40.2697673,10.1923006,1.1720551,1.16233,21.8429382,17.9019305,78.4685133,11.7682889,33.0472518,61.6739417,30.4255374,39.1084988,16.2220651,3.2501401,13.9924628,11.5458799,39.6113337,8.8014936,1.012701,1.0470232,22.2783904,18.3266412,80.1735968,11.5308658,32.5574778,61.3873563,29.723322,38.2594605,15.3710151,3.3609247,14.1940142,11.8862826,39.0739549,9.3406535,0.9970621,1.0472873,21.9203197,17.8519299,81.3843708,11.5927304,32.3072232,62.2076258,29.3968228,38.0186292,15.245943,3.1575934,14.5028742,11.7856984,37.3382752 +23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9956423,1.0696772,16.3445778,12.5687938,83.5665639,13.6186847,31.998426,69.5163258,36.6005808,40.4212602,21.1055072,5.0444153,11.6543064,11.1912214,36.0004182,8.5843638,0.9061211,0.9061211,16.8578439,13.1622817,83.234124,13.6528951,32.7814401,69.544247,37.4128486,41.4433206,21.8657381,4.6018974,11.8083145,11.1908863,36.9444843,9.3308302,0.9107271,0.9107271,16.9433824,12.9785321,84.1206062,14.2004799,31.93887,68.2252334,37.0421378,41.2039256,22.8209367,4.991523,12.1199357,11.2991525,37.4626785,10.2280243,0.974674,0.974674,17.127801,12.7937617,83.7424929,13.9059751,32.8902539,68.7323604,37.2576519,42.1103227,22.8593068,4.5710765,12.1785861,11.836881,38.7837622,10.3578605,0.9806153,0.9806153,15.7163089,12.1709047,82.9443424,13.7183149,33.020953,69.6687729,38.0541191,42.5605893,23.1209487,4.4890979,11.6906048,12.0114369,37.7181279 +24,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7287773,1.7217866,29.2072829,23.8680968,64.3915156,13.8903073,33.9215999,62.4599982,30.3733889,40.5740563,18.6205966,2.4402406,15.8588578,11.0498993,40.7809105,13.8596599,1.6972137,1.7506822,28.3395833,23.089998,64.4061665,14.2814708,34.4654664,62.8958795,31.2748495,41.0566747,19.4688649,2.3807619,16.6661842,11.8948151,41.4909165,14.0071482,1.5627028,1.617447,27.9200691,22.2618791,64.8006363,13.9349579,34.0690398,62.7685372,30.8415112,41.2849691,19.829244,2.395942,16.6176795,12.5569687,41.5952281,14.982,1.4770888,1.566401,27.5714928,21.8742538,63.9699563,14.5354342,34.3460999,63.4562703,30.829009,41.8289079,20.5977136,2.391852,16.9408963,12.8882747,42.4524509,13.6182563,1.3317841,1.4106184,26.9064405,21.306628,63.6204641,14.235148,34.9520795,63.175454,31.1994975,42.3383613,20.1359951,2.5310974,16.5720138,13.440031,42.131651 +25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.5221876,1.5134898,26.9534936,21.1741025,47.5437626,13.3314163,37.7640748,67.4019049,34.7747883,48.2241865,24.5635845,5.3858662,14.3468472,12.1639291,33.9240011,20.452008,1.4928467,1.4126088,26.741526,20.9720527,46.9307973,13.4181069,38.9076262,65.9812925,35.4748504,48.4793308,25.2099053,5.4844472,14.8541009,12.1993797,33.5211892,18.7463017,1.7405061,1.7248456,27.5126639,21.6198015,48.1631717,13.1736427,38.7100357,65.4909754,35.0718717,48.4064147,25.5049352,5.4750446,15.612498,12.7049638,34.1957375,18.9116819,1.6134522,1.5780904,26.6648253,20.8780642,46.5453958,12.4603311,38.474031,66.0076712,35.3149948,48.7418235,25.429565,5.1979699,16.2831834,13.3289135,36.031666,18.9116819,1.8879343,1.7935834,26.1346398,19.7956326,46.9363239,12.2949602,38.7569008,65.8137179,35.2628773,49.7802473,24.5607085,5.2276052,16.6231785,13.5011115,35.8975838 +26,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6361009,1.7514714,27.3969919,23.4283117,44.0227184,17.3817291,39.833366,65.7853514,35.9556386,48.0211588,24.8548714,3.557537,11.979023,9.5746519,30.9487679,29.815664,1.7397315,1.8194445,27.068009,23.3913166,44.1182905,17.7301686,39.7722111,66.1183706,36.0755154,48.1286568,25.0222938,3.8003391,12.1191263,10.1538861,30.3539613,28.9214895,1.6170708,1.7039089,26.661641,22.8182944,43.4829529,18.1564074,39.5209006,66.2734704,36.3240778,48.1823334,25.3191981,3.6053755,12.3340307,10.6045591,29.9126661,25.3225084,1.5972206,1.6569772,25.9305924,22.1177779,42.8860561,17.6745693,39.5655067,67.1762044,36.9394301,48.6898746,27.4575185,3.5690086,12.2506711,10.8740879,30.2608752,23.2727216,1.8305351,1.8780004,25.6786115,21.4841592,42.3633102,17.4691227,39.5866475,67.3149682,37.7077894,48.8579703,27.8902951,3.860882,12.0416386,11.5682971,31.1595008 +27,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9652315,0.9886599,14.2156875,10.6912401,48.9158655,19.6200922,32.2011395,64.9525585,34.2251823,43.6875467,19.614167,6.2555349,11.3919922,8.9125218,33.1902187,8.2481752,0.9526125,0.978372,14.0810324,10.6803501,49.993418,20.2508043,31.8132143,65.6623133,34.6347184,43.6572178,19.3996471,6.00863,10.8922706,8.7728834,33.3694989,8.698538,1.0101614,1.030556,14.5272927,11.0761552,50.6071343,20.6781173,31.8088416,65.9930976,35.0938542,43.6065372,19.4735158,5.9904386,11.0827269,8.7550541,33.353829,8.6352636,1.0280993,1.0399204,14.997221,11.5158916,52.219085,20.5061403,32.1394974,65.710502,34.9659936,43.1203572,19.2376378,5.9736322,11.1788895,8.4170559,33.0642989,8.6931145,0.9388343,0.9476965,14.7440655,11.2865768,53.2582328,20.6538429,32.4349245,65.8473404,34.9702039,43.7381867,19.7570107,6.0011535,11.8335631,8.9627288,33.027364 +28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7758143,0.7878247,11.2945111,7.7640785,44.6629324,25.0505551,29.6644178,66.6329574,31.5736127,41.6401095,14.8828307,7.4486398,12.0779521,9.1927176,33.2549287,6.3749761,0.7353211,0.6906754,11.1561093,7.7771571,44.3217923,24.3572609,29.9320522,67.3790343,32.451167,41.4236796,15.1004654,7.345018,12.7677631,9.6674019,33.5702099,6.3095013,0.6858407,0.654356,11.2548612,7.8603075,45.6447645,24.2940941,29.2145669,67.3632804,32.66477,41.500656,15.4978636,7.6156923,13.7980543,10.0114572,34.3840641,5.5282352,0.7968108,0.7744624,11.8859047,8.1741088,46.7733043,24.3906637,29.1723726,66.7717454,32.9816397,41.8333443,15.9358609,7.4129716,13.6464715,9.9722028,34.8179149,6.9086408,0.8201958,0.7854011,12.0320021,8.5593966,48.2639138,24.4334302,29.3098748,66.434816,32.8559795,41.6666383,16.0256311,7.8150392,13.6060076,9.9276754,34.276885 +29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4685948,1.4559183,23.9848311,18.7729495,67.1450442,14.960364,37.6905403,66.19051,29.7016652,42.4873582,19.0574394,2.9235819,15.6718293,10.8678205,39.0101925,16.5173904,1.4766856,1.4510699,23.7505205,18.5588081,66.940909,15.2997527,37.6727918,66.20834,30.6859819,43.0214674,19.0416234,2.961771,15.121097,10.3508219,38.0409202,15.885488,1.4905065,1.4696823,23.9795022,19.0276642,67.1284426,15.1592395,37.171953,65.6905457,31.5251291,42.9057036,19.3309905,2.599705,14.7652275,10.4126567,38.3195839,16.7578381,1.44756,1.4920379,24.0515833,19.2312631,66.4780417,15.8783041,36.9797618,66.1234336,31.4857166,43.1085402,19.3270811,2.4978377,15.0150799,10.6517275,38.8196883,15.5848102,1.2992597,1.3438259,23.7904663,18.443172,67.0793665,16.3347651,36.7352482,67.0088956,31.70678,42.5840097,20.2869785,2.4693961,14.8554305,10.4654894,38.2972127 +30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8038456,0.88081,15.8394979,12.1943125,27.4156481,20.0301455,34.0327074,65.455358,36.7654949,44.5404546,21.0494737,2.9830023,14.3380817,11.7953844,36.30713,8.4795173,0.8099415,0.8844855,16.7075028,12.8366791,27.5627085,20.3371202,33.5873607,65.2879792,36.042013,44.5886659,21.5850976,3.4392895,14.2338445,11.0550786,36.4044442,9.7058595,0.8557831,0.8875209,17.3645389,13.2766247,27.8282899,20.461285,33.1313023,64.7928908,35.2594123,44.9118235,21.2631004,3.4583917,13.9310285,10.873573,36.9103534,12.9517838,0.9792551,0.976399,18.1470779,13.9609034,27.750494,21.1719965,33.3078632,64.7520906,34.626954,44.6904565,21.2036768,3.3062654,13.983171,10.7927188,37.5115584,13.6871203,0.9467451,0.962218,18.6269772,14.3757119,28.4012014,21.2988748,33.735106,64.3924342,34.0219281,44.9421275,21.0836304,3.5661391,14.2136708,11.4246124,38.0319916 +31,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.502011,0.5541487,11.3950019,8.000746,53.882938,23.8780853,30.2156936,66.214206,30.3272592,42.1160283,15.3774637,4.4068427,11.1013986,8.2356389,35.0058685,4.8523207,0.4902198,0.4958638,10.8514493,7.5905797,55.3894426,24.1048825,29.647785,67.0842411,30.1924473,41.7392883,15.4502542,4.3391431,11.21875,8.6888331,34.5403023,4.6992481,0.6023087,0.6217726,10.5385164,7.5784593,56.6197691,24.0149095,29.8996775,68.0938732,30.652096,41.7233966,15.1379434,4.7474024,12.2641509,9.5521344,35.3667137,4.7038328,0.5799684,0.6329937,10.762894,7.6110315,57.8385228,23.5325507,29.9820144,68.5791367,30.8453237,41.0251799,14.8381295,4.6223022,12.3715125,10.1028655,35.8203415,3.5472973,0.5963429,0.6571097,11.4047535,7.9283434,59.1006808,24.2857143,30.4665242,67.6460114,30.5377493,41.3283476,14.9394587,4.6830484,11.3033873,9.17465,35.6983655 +32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.0108522,1.0374704,13.8785764,9.9205197,40.5189502,14.8299786,30.9092435,66.7615728,34.6187089,44.2978051,19.0734894,3.2694951,10.6260795,7.8298419,34.3765555,11.6864324,0.9627063,0.9975853,14.1467117,10.125477,40.5523264,14.8249498,31.1382669,66.106302,34.0577441,44.0462663,19.017544,3.2064951,10.7045802,7.9446724,34.6005673,10.9418685,0.9209249,0.9541388,14.2212481,10.3044792,41.0024475,14.6482246,31.4519922,66.0031441,33.7002458,44.3169539,18.4153007,3.0835282,10.7880741,7.9428224,34.689317,11.8037509,0.9520747,0.9464597,14.3739316,10.5440085,41.4169313,14.4136214,31.1119986,65.3680235,33.7040033,43.9760061,18.4559988,3.0320009,10.6455921,7.7034621,34.5114259,11.7876242,1.0641215,1.0938516,15.0122001,10.9764007,42.0500034,14.3157479,31.8166702,64.6731162,33.2307476,43.5451751,18.4079228,3.2523716,11.0848601,7.8750063,35.0891119 +33,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9208808,0.9431081,15.2595785,11.7280202,54.3068945,20.5660825,33.1055883,65.329078,34.4956805,43.877822,19.6926238,6.2448553,12.0760971,8.9835516,33.172676,8.405639,0.9298115,0.9537112,15.3366462,12.0178768,54.9027103,20.666025,33.0335179,65.1905718,34.8326519,44.2245445,19.9499819,6.2978547,12.2774912,8.5770218,33.4395809,8.5912487,0.9096496,0.9333997,15.6496908,12.2925332,55.207429,20.3379962,33.0742199,65.5462539,34.7343831,44.8959579,20.1296941,5.9810259,12.1150319,8.4683157,32.6196785,8.8760504,0.8524082,0.8817147,15.9835116,12.5696718,56.0606084,19.8619791,33.2804423,65.3561398,34.5263273,44.9518117,19.9988263,6.2000464,12.3484692,8.7158145,32.898516,9.0766098,0.8387591,0.8702771,15.9465408,12.600436,56.3161439,19.9127374,33.508305,65.2546326,34.6749268,45.4220128,20.0744492,6.2752869,12.5147362,8.7991008,33.0277672 +34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7112484,0.758396,14.1600475,9.8786159,28.035816,16.133302,35.9121928,64.5588045,34.9425059,47.2295706,21.0902009,3.5530863,12.5460889,10.5401827,33.037987,8.2677209,0.7454267,0.7774287,14.3524461,10.0717643,28.9424129,16.5159648,35.8208174,65.2284907,35.3375606,47.266359,20.8546399,3.5413111,12.6372486,10.4634628,32.6366342,8.8010227,0.8043818,0.8276533,14.5763042,10.5881191,29.7114891,16.7716946,35.7182065,65.9144142,36.0749153,47.6128586,21.2032109,3.5738408,12.4535302,10.3444592,32.1216862,8.2733872,0.8083062,0.8227433,14.5639024,10.5638987,30.2978517,16.6201555,35.8222138,66.1296819,36.3168184,47.6671027,21.2901439,3.6162778,12.2916226,10.7126212,31.9041149,8.7301607,0.8575322,0.8573885,14.7975193,10.8123317,31.0264897,16.6644282,36.0723357,66.9821114,37.077375,48.0550696,21.4919949,3.5569432,12.4423468,10.8339856,31.6366388 +35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5767668,0.6166911,13.1531434,10.2848257,59.9097274,14.002374,28.9196007,66.5075424,30.5276388,40.5376932,16.6281444,13.5326622,13.1447426,9.7919608,35.5154342,5.8422927,0.5540042,0.596359,13.209705,10.2664825,60.1821119,14.2008639,28.6804349,66.1829294,30.2762807,40.2902503,16.3624596,13.6694584,13.2457542,9.93476,36.165339,5.7935381,0.5964494,0.63206,13.1727931,10.312814,60.6505331,13.9634309,28.5621581,65.3727068,30.0409671,40.352723,16.5317731,13.5541551,13.1873641,9.8378735,36.7110268,5.788351,0.6400555,0.6795994,13.3589698,10.3625666,61.2764517,14.1217587,28.8740895,64.5146792,29.7956562,39.7525862,16.4329353,13.4378426,13.2367843,9.7163126,37.4846692,6.2895283,0.6667918,0.7011736,13.3444091,10.3342421,61.368738,14.3529964,28.9391504,64.5123961,30.0372816,39.9405658,16.366109,13.3739662,12.967144,9.5849581,37.5569734 +36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.0767341,1.0747249,13.6922111,9.7478248,36.2192515,19.0042801,30.7807503,68.5880538,39.6511536,45.4651256,22.2093104,3.3056437,9.5596629,7.7117257,34.1100634,12.6343684,1.0991725,1.1189334,14.0538139,10.1577066,36.0711837,19.0664423,30.478179,67.7802534,39.3445193,44.5693646,21.2634662,3.3723911,9.7935786,8.0718619,35.6313279,12.6942619,1.1465771,1.1661289,14.4539728,10.4466283,36.2556787,18.4011221,30.8357222,67.1536401,39.0983387,44.2193092,20.5623738,3.1888185,10.0435886,8.1955237,36.0436982,12.8787944,1.0862793,1.1128321,14.2531257,10.7544922,36.4627148,18.2922836,31.2871271,67.2446131,38.5973109,44.6579322,20.5404642,3.1396468,9.7125796,8.1389864,36.3192267,13.5467914,1.2188606,1.2123574,15.1519738,11.18892,36.6634585,18.287023,31.6230441,66.9153421,37.7740549,44.7168135,20.2649263,3.2125517,9.7320014,8.12666,36.0362492 +37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.0979957,1.1509651,17.9835258,13.4251013,47.7866956,11.4038421,32.4039137,61.8500094,36.9184785,41.3291415,21.2733097,4.1421864,10.9132845,8.7503629,41.139281,13.5716753,1.1146434,1.1629792,18.7796066,14.0544886,48.1245357,11.3930902,32.7144805,61.3611892,36.6007155,41.4427941,21.1498583,4.1243795,11.0299285,8.7764707,41.1311777,14.2755638,1.1268205,1.1626315,19.2948711,14.5185082,48.4305715,11.1713015,33.002348,61.0911466,36.1686954,41.2828818,21.0941259,3.9980166,11.1854507,8.907491,41.6136115,15.0970017,1.2332766,1.2705008,19.8811878,14.9277093,48.9334556,11.0953312,33.2145663,61.061571,35.7454016,41.2474547,20.6923936,3.909161,11.3761203,8.8480881,41.6442159,16.7345135,1.2709635,1.2984409,20.2613909,15.2825702,49.2484324,11.1798873,33.2625988,61.1821951,36.1832216,40.9983992,20.9099855,3.7943265,11.4256218,8.7228293,41.3938074 +38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.932398,0.932398,16.4703868,13.2626638,47.0915399,16.3673519,34.9832239,65.2128517,34.8440519,46.7562496,20.8704159,4.8995878,13.9055606,11.8406693,27.7936657,11.0366488,0.8859989,0.9083033,16.5362495,13.125043,47.1616225,15.9986952,34.9076733,65.3492076,34.5666635,46.6247249,21.0091238,5.0971817,13.6960261,11.2972374,26.4639606,10.2489457,0.8049486,0.8274952,16.3108284,13.0115346,46.8541828,15.8190671,34.7739447,65.5434771,34.4601088,47.0185616,21.1436871,4.8188529,13.4969846,11.1843232,27.0938075,9.5596625,0.8691302,0.8847695,16.4035023,12.9395425,46.4183364,15.3967547,35.7610097,65.469395,34.7348939,47.4217191,21.8422331,4.6832297,13.1245319,10.8202843,27.6712838,9.6495547,0.8786761,0.8853231,16.6715285,13.0940053,46.4326618,15.7099036,36.0522227,65.7337198,35.3188518,47.3013616,22.1955229,5.0408478,13.1829869,11.0817649,28.0939801 +39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8432418,0.8380558,17.0609328,13.2234161,81.4602779,15.4290265,34.2157666,65.7502872,37.2799358,39.2939216,22.2320543,5.8715339,12.0929317,8.1641171,38.2499937,13.0492779,1.0452863,0.9965209,17.7039179,13.2593659,81.4787838,15.912662,34.0091202,65.580698,36.8075392,40.0353675,22.6954741,5.3538371,11.2206377,7.9249301,36.659522,14.6371322,0.8160451,0.7686219,17.3451823,12.2842538,80.6376817,15.415484,34.399717,65.937223,37.4515254,40.8477291,23.2455123,5.0890465,11.3432664,8.4351547,37.6399871,14.0909091,1.0497041,0.9957757,16.3605956,11.6669429,79.6350535,15.7685588,34.9313116,66.3673282,38.169646,41.8213306,24.1047035,5.8633063,10.6111841,9.0226617,38.439933,14.2241379,1.1191368,1.0666931,16.3684141,11.70932,79.9571512,15.2307797,34.9765716,65.9655131,37.9568337,42.3333258,24.023912,5.2777146,11.4516035,9.9188432,37.5807986 +40,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3982247,1.4690182,25.430593,20.2945941,63.5837927,14.7662461,35.3843454,63.6353165,30.9081471,43.4897519,20.1894866,2.8699316,16.2418913,13.8884597,43.1909334,12.6883216,1.4980971,1.5661683,24.6017845,19.8383643,62.5662079,15.1137219,35.9742942,64.3325299,31.4164582,43.8563055,20.7649441,2.7856646,16.102384,14.3959695,41.8033806,13.5282255,1.340312,1.4566114,24.7152058,19.8343662,61.7306654,15.1768472,35.4953717,65.2319927,31.6399394,44.0524094,20.2391489,2.9118593,16.2271729,15.9311696,41.4723694,14.1987337,1.2264328,1.2744655,24.5102063,19.8081702,61.7509385,15.2073374,35.8142279,65.2048296,32.2561293,44.0366917,19.658167,3.0123709,15.5601712,15.3679278,40.7975126,14.6794206,1.395065,1.4932021,24.4738108,20.2520909,61.2926012,15.477102,35.8175586,65.7025301,32.2009973,42.7685038,19.7169379,3.0087025,15.3764218,14.6018309,41.3907117 +41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4856141,2.5637916,38.8383704,33.5230889,66.2587261,13.1650145,34.3525673,62.3533659,28.3876836,38.8697608,15.8348834,1.734478,18.4332739,13.4058088,40.9791597,26.1694444,2.5187758,2.5916753,39.0475915,34.1255699,66.6711113,13.4149772,34.9111533,62.7039274,29.1362936,39.8571165,16.5830319,1.9457855,17.6213851,13.0286976,40.2453054,26.7873991,2.6273872,2.6755901,39.441909,34.4918684,67.8462055,13.1449255,35.4351734,62.0080408,28.0897264,38.8445454,16.1318837,2.2687709,16.9619769,12.5323472,40.5001029,25.3086655,2.5942801,2.650486,39.9633982,34.9695211,67.7964978,12.9779891,35.6043348,62.6516126,27.6920767,38.7136682,16.1399529,2.3129257,17.2585568,12.6172818,40.1526002,24.9995733,2.6740728,2.7772541,39.5497893,34.4987806,67.7339253,12.6382225,36.8294664,63.0685949,28.321235,39.2824789,16.5174513,2.2866404,17.7831329,12.6394191,40.423673 +42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6026025,0.6409893,10.690791,7.0217613,49.6307081,21.069588,30.5272317,61.7881047,30.5769706,39.1817962,17.3712927,7.5478717,10.2624963,7.829585,35.1141362,5.4089474,0.6598208,0.7059125,10.8029367,6.9022262,50.3168829,20.8075302,30.1922098,61.6450265,30.1672497,39.2036982,17.1367883,7.6510211,10.2784109,7.7796078,34.8312811,5.8423689,0.7634891,0.8015394,10.8988752,6.978774,50.7938641,20.8301561,29.7433996,61.8924181,30.1875152,39.2918853,17.0120854,7.9570665,10.4655099,8.1434917,34.9395608,5.528235,0.6669827,0.6944613,10.5036842,6.7444692,51.9597906,20.5545871,29.3325238,62.0995075,30.1577668,38.7985487,16.5169882,8.0218448,10.9781516,8.2805933,35.4608749,5.5687006,0.6949414,0.7266247,10.5269538,7.0058258,53.3056848,19.9041077,29.0823725,62.4879546,30.2384375,38.7885415,16.6787099,7.9841043,11.7551473,8.4823052,35.484461 +43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9195879,0.9262106,16.9963737,13.5498342,47.1329829,16.0747351,36.0670952,65.3980805,35.8719532,47.4553382,21.8564584,5.2413453,13.2233864,10.4958655,28.1509648,11.0709721,0.8843517,0.890929,17.1474883,13.798639,46.6492699,16.9511251,36.1413937,66.1270629,36.1710892,48.3717083,21.5566832,5.3152813,13.0105133,9.8068953,27.6706249,11.014505,0.9406655,0.947164,17.1327154,13.8241775,46.5461289,17.4824566,36.0937434,66.1790953,36.0395443,48.4725712,21.6348056,5.4257286,12.5681865,9.6145517,27.5632033,11.4179213,0.9660483,0.9726189,17.0868704,14.0207199,47.0095539,17.8811876,36.6636501,66.1570042,36.0497175,48.5177112,21.5961314,5.5210995,13.490987,10.7663958,28.9378342,10.8075085,1.0727736,1.0793736,17.9073626,14.5233102,47.1695408,17.8824174,36.9887276,65.8805443,36.1721258,48.365515,21.5561787,5.8713636,13.1805394,10.4274416,28.5602695 +44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2138244,2.1731618,29.1064015,23.3437915,45.3804841,13.9887509,41.5174058,66.8471221,42.9877941,51.0940851,29.4876891,4.5741892,11.0687739,10.1246667,34.3286253,22.7690294,1.9330769,1.8938468,29.365443,23.730071,45.3132442,14.5968691,41.4662561,67.5483041,42.0452124,50.6362626,29.0782997,4.6727371,10.5308782,10.8717075,35.2216564,22.3680875,1.8363212,1.7973407,28.1909623,22.6941684,45.0826955,13.9954673,40.2195277,67.7442928,40.2034742,49.0846037,28.5737578,4.4788905,11.0622135,11.760553,35.7054796,26.3751491,1.8958389,1.8568903,27.968224,22.6313524,46.3859265,14.732387,40.3387757,67.2443456,38.7232061,48.4902047,26.9516685,4.2492697,10.8192778,11.8671099,36.4083875,24.2726888,1.9099181,1.8903661,28.2023786,22.9041369,45.1359397,15.1291908,39.8661378,68.0090651,40.4406301,48.7374655,27.7640329,3.9325456,12.3658722,12.3213873,37.1640367 +45,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7362131,1.7845836,25.1464856,20.8601753,42.6759015,17.4419711,39.4972428,67.6492779,37.356565,49.0023024,27.7598044,3.5489028,12.3461396,11.7685087,31.6061215,24.3155617,2.0255482,2.0532535,26.2239248,21.4733922,42.260199,17.8847316,40.1311565,67.7653358,37.819235,50.0474817,27.9457209,3.6835457,12.5978321,12.0202107,32.8558995,23.5379391,1.9978124,1.9391564,26.4496891,21.8394817,42.0140534,17.052453,39.9304206,68.3247958,37.7903035,49.6848345,27.6911189,3.6654437,12.6991558,11.987632,34.1836982,22.4812394,1.8964282,1.9195857,26.8897787,21.6692449,41.723394,16.7273712,39.0588064,67.9032897,37.6263397,49.102204,27.9925238,3.2952684,12.4062915,11.4569934,34.1011327,22.70088,1.918616,1.9559165,26.6084602,21.3846153,42.4621595,16.6119133,39.0598214,68.6543353,38.3385764,49.9297751,27.6559019,3.5204597,12.499715,11.7311675,34.50329 +46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4922839,1.5109111,23.9694158,18.5638192,67.5927779,16.3014787,35.7916661,66.2073699,31.4618489,42.0305374,20.5215532,2.4615833,15.0906611,11.2999985,39.4476721,16.8361417,1.6201505,1.6321676,23.3532194,17.8297692,67.7199201,16.7017511,36.1354797,66.0512039,31.2091403,41.1271782,21.1659963,2.6150683,15.0861534,11.743799,39.503065,17.4521006,1.5567925,1.6128686,23.5885424,17.6320323,67.8019271,16.295272,34.8332322,65.6700515,30.9631469,40.1750499,21.3084194,2.516739,15.1172888,11.9578883,40.060404,17.0021946,1.4929302,1.5499795,23.802773,17.5028003,67.700259,15.9068305,34.6662726,65.1274849,30.1932818,39.6903143,21.1251137,2.6566752,15.0986844,11.9277898,40.2402066,17.923912,1.4721345,1.5123836,22.7921784,16.6487777,66.7612853,16.0833512,35.0778951,65.3697517,29.8816315,40.5828073,21.9090636,2.8422151,14.481132,11.6847654,41.1083153 +47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8834533,0.9037476,11.3509113,7.9242211,59.7383318,25.6664551,30.1381,61.6409031,29.6119669,40.5623107,16.0637923,6.067086,13.5469523,9.1979596,34.7479307,6.2724037,0.9062494,0.9264637,11.4430342,7.9823734,60.9760148,25.0161563,30.1704248,62.1599458,29.6787957,39.7738472,16.1750277,5.9160954,13.5019681,9.129864,33.7401144,5.7093465,0.8461547,0.8659547,11.6305082,8.3439723,62.3622873,24.6425221,30.148235,61.1504954,29.5359338,39.7840844,16.1295545,6.3970374,13.7919868,9.2173374,34.4458936,5.7189561,0.7508559,0.7703662,12.0901963,8.6538693,63.0028148,24.7477789,30.2010838,61.5027769,29.5946048,40.0926295,16.225312,6.014694,14.3822987,9.6972072,34.6354165,5.5032727,0.5686013,0.5876435,11.8783105,8.6345577,63.977914,25.0535969,29.8538238,61.4964795,29.6358052,40.0903232,16.1014686,5.9583204,14.155745,9.8242735,35.2331602 +48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.802977,0.8484432,19.3435845,16.2947793,65.7273214,13.5069999,28.3691007,66.1291746,29.2370121,41.3542125,13.8939584,5.2317257,15.1439171,12.20674,31.9448596,9.1759286,0.7836533,0.8249805,19.2014998,16.1047009,66.9581603,13.484677,28.2801272,65.8887453,28.4931001,41.3349678,13.570897,5.1023946,15.7165906,12.3585471,31.4547907,9.674784,0.8462622,0.8969063,19.6620614,16.3163302,68.2675913,13.4364523,28.3101055,65.8163543,28.5069994,41.2879167,13.5767327,5.0943583,15.7797551,12.4085985,31.1351441,10.6219967,0.8732364,0.9235631,19.6516332,16.2011386,69.4854386,13.4145272,28.2061417,65.5040884,28.2225427,41.1615148,13.3066727,4.9256812,15.7765068,12.5531776,30.5729357,10.883438,0.8406398,0.8733048,19.4714474,16.1663202,70.5121855,13.2623013,28.2090927,64.7731468,27.7876882,40.8832131,13.0713059,4.8055218,15.4776652,11.851047,30.2042968 +49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4565768,0.4747797,8.056648,5.0185977,41.8800103,12.7887074,25.2897984,68.5224436,31.8123076,44.8965239,15.134718,4.9407327,12.1036285,11.7079644,31.5360851,4.7444736,0.4887805,0.5010901,8.3778773,5.2533106,40.7326742,12.5972906,25.5620506,68.3925383,32.6216993,44.3615432,15.0119652,4.6998593,11.8400404,11.9860979,31.1380662,4.0145546,0.4855065,0.5070525,8.3865324,5.4446321,40.2906966,12.6186175,25.2769369,68.2570519,32.807762,44.5869099,14.6177635,5.0784873,11.908322,11.7405015,31.588979,3.9285097,0.5299748,0.5513293,8.7415135,6.0110657,39.2776498,12.5202232,25.3659528,67.9902831,32.0096631,43.6077981,14.5359801,5.3572889,12.0549198,11.8889959,31.8149936,5.86198,0.4998085,0.4943061,9.3199775,6.5599769,38.8125377,12.4966133,24.8293034,68.2621954,32.0814823,43.2270312,14.4090575,5.7444377,12.5000191,11.6084717,32.1794743 +50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.822756,0.7850313,12.1061129,8.7664895,48.486138,25.9780957,29.2607018,66.5806245,32.8757781,42.307651,16.1864627,7.7602409,13.2664082,9.8427092,33.2512044,5.4932612,0.857467,0.8287682,12.4572465,9.1423237,48.8038001,25.451507,29.7243884,66.5385815,31.7386558,42.4197845,16.0217328,7.3018634,13.6772389,10.1322483,33.4849746,4.906044,0.7893678,0.7900317,12.369916,9.352232,49.8009758,25.0712495,29.8321916,66.3126243,32.1138151,42.341946,16.2995047,7.3826219,14.0592187,10.4209735,32.9910224,4.4978985,0.7929017,0.8410444,12.2982663,9.7475175,50.9501362,25.8634643,29.8147317,66.0099008,31.5631614,42.1059053,16.1925856,7.6330829,14.2967572,10.6256189,32.9401915,4.0999836,0.8153336,0.8632557,12.280458,9.6978197,50.9540226,26.0686399,30.8919045,66.9820966,31.7215626,43.1033958,16.1654214,7.661387,13.9792957,10.9302071,32.8345681 +51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5211088,0.5537246,12.2279603,9.1142886,64.4549809,24.7065955,29.1172617,62.1764664,29.4823311,39.710893,16.270964,5.7990955,13.6852698,9.3177907,34.6326046,6.108083,0.4545579,0.4685283,11.9184569,9.1994167,64.8876626,24.3919017,29.1249448,61.9719475,29.1854858,39.9727341,15.8158911,6.0316112,14.4712504,10.2848552,34.9556337,5.8425088,0.4349776,0.4488434,12.1516612,9.1549499,65.9194186,24.4049442,29.2745972,62.8987691,29.5452902,39.5696178,15.8790176,6.2161449,13.9815426,9.9630276,34.8110673,7.066808,0.5473894,0.5890446,12.4925124,9.5159564,65.8062836,24.4565087,29.7407946,62.6016637,29.4089397,40.2925133,16.3853183,6.1350717,14.3168333,10.3288279,34.947066,8.035866,0.5477794,0.589539,12.9641089,9.8551361,66.7529041,25.0816007,29.6960299,63.1997941,29.1840598,40.4425846,16.6315793,5.915121,13.982853,10.5474012,35.2633078 +52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.0527858,1.0884713,15.5449941,11.664786,43.1849508,14.3487867,32.2858528,64.2353407,32.975066,43.5756633,18.3377156,3.3065307,11.2737877,8.0634771,34.6993454,10.4271901,1.1139079,1.1267741,16.6322198,12.643035,44.0901419,14.8639871,32.5024264,63.4963211,32.6799012,43.2962465,18.7883224,3.1219698,11.5493319,8.1276776,34.3661712,11.4734747,1.108247,1.1244736,17.1916678,13.0965432,44.707973,14.8127023,32.5140176,63.4027513,32.5140208,43.2266096,19.0632527,3.1144878,11.3876555,7.8288513,33.723059,14.2032665,1.1821874,1.1985753,17.5015565,13.5128695,45.9371361,14.8475497,32.2629463,63.8964463,32.7091705,43.0996298,18.8605607,3.051786,11.3751694,7.7062468,33.2380954,13.9254647,1.202083,1.2122844,18.1214793,13.9834435,46.9085842,15.0328246,31.7132844,64.0193073,32.7880581,42.6821856,18.5474945,3.1215346,11.3972248,8.0284726,32.6328361 +53,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4183817,1.4421688,20.1336122,15.673176,48.6897423,17.6617573,35.371809,63.5509379,33.7030825,43.8424581,21.7469668,4.2141425,11.2738945,8.4242922,36.6400797,15.9574629,1.4530709,1.4953169,21.1452211,16.7717371,49.8781311,17.4656401,35.6919133,63.0158727,32.7116294,43.2159457,21.5402378,3.9703882,12.0049086,8.7257017,37.4967514,16.071085,1.5504668,1.5815096,21.9079778,17.5689533,50.515239,17.5042704,35.8426531,62.7117189,32.6829041,42.5960816,20.9520728,3.8930154,12.4068426,9.1925432,37.5436202,16.8549748,1.6293178,1.6751394,22.9595416,18.3097564,51.7003122,17.2723752,36.5393036,62.9348721,33.0806043,42.0408952,20.9850457,3.9138312,12.7281341,9.3896883,37.2161104,16.2295909,1.4856179,1.5394012,23.272309,18.8144668,52.6893451,17.0655627,36.093042,63.5707012,33.5412129,41.6122714,20.7616298,3.5905503,13.0332542,9.4550007,37.0657178 +54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1754686,1.1538637,15.0198271,11.1693155,36.697922,17.6047951,32.0457371,66.5364564,37.2829815,44.7772016,20.6163297,3.1394756,9.4782065,7.9283338,36.3729687,15.5702056,1.2631519,1.2426687,15.8467905,11.4919471,37.2196532,17.3543229,32.0456587,66.3871323,36.9122788,44.8583924,20.1402276,2.873255,9.5851162,8.0782608,36.1089772,14.8077194,1.3716919,1.3652915,16.1091401,11.8864843,38.0485571,17.457369,32.0106547,65.7459332,36.1889933,43.7324655,20.0644918,2.9585044,10.1603306,8.0396839,36.5338225,15.4902231,1.3819704,1.3754035,17.0179927,12.71782,38.8855092,17.2713694,32.739122,65.4637599,35.7246164,43.7536071,20.536223,2.9420335,9.9071889,7.4051362,35.2881467,17.1154033,1.3621606,1.3686006,17.6511157,13.5660989,39.9132063,17.5593333,33.0167084,65.3955179,35.0864468,44.4144958,20.2579999,2.7927464,9.8948649,7.4800189,35.1907923 +55,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.547049,1.5577419,22.0647573,17.6619009,46.9451379,10.3746946,29.979158,65.6283798,36.3710097,40.238539,18.8165841,4.658793,10.8787326,7.7747844,36.8236498,16.8580736,1.4749772,1.4775341,22.73129,18.3228872,47.2097826,10.3110073,30.2576681,65.0721047,35.6599128,40.008053,18.6186974,4.578728,11.0337355,8.0616495,37.167823,17.5349885,1.5455913,1.5490059,23.5078768,19.1430753,48.099368,10.3327925,30.5071273,64.4562078,34.8727038,39.9024489,18.2959739,4.5143216,11.2926557,8.2608693,37.3080289,18.4326678,1.6506122,1.6547468,24.2395165,19.9822327,48.9585624,10.384615,30.3491914,63.9676274,34.1521223,39.291017,18.0285596,4.4426375,11.4335487,8.3291348,37.6646072,19.0424018,1.6661535,1.6720207,25.1737764,20.8055916,50.4000266,10.1768592,30.384784,63.6791789,33.5974039,39.1172625,17.9066897,4.4648067,11.6603354,8.5814089,38.5412494 +56,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4280576,2.4280576,33.5538752,29.2060491,66.2324649,8.07393,36.4257812,64.3554687,29.1992188,44.8242188,19.6289062,7.3242187,16.4092664,12.9343629,36.627907,16.9291339,3.1269398,3.1269398,32.5831703,28.2778865,67.7385892,7.3293173,35.5983773,63.1845842,28.7018256,43.9148073,18.7626775,7.8093306,16.9201521,15.0190114,38.740458,16.4,3.0616943,3.0616943,33.8178295,30.1356589,69.2386831,7.6693227,36.3179074,63.6820926,29.2756539,45.3722334,17.806841,7.7464789,13.8257576,13.8257576,39.7338403,17.0833333,3.2019736,3.2019736,35.177453,32.2546973,68.1015453,7.9281184,37.7419355,62.688172,30.2150538,45.483871,18.8172043,8.4946237,14.375,12.7083333,39.7058824,15.9836066,3.2980732,3.2980732,35.1086957,31.6304348,68.8657407,8.2781457,38.0898876,62.5842697,30.8988764,45.2808989,18.5393258,8.4269663,13.4955752,13.0530973,37.5555556 +57,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1002983,1.1947341,17.8071478,13.8149183,54.5770151,12.3999589,30.8094222,66.4254012,35.8088273,40.3636142,18.4063678,4.2811023,13.1290512,11.3855476,34.2295184,13.7588059,1.1531021,1.2429776,18.0163168,13.8938448,55.8837076,12.0791427,31.573215,66.2408594,35.1273576,40.3520241,18.0104311,4.3056942,13.4406817,11.1802983,34.4927061,13.3831076,1.1919549,1.2818408,17.80445,13.6897426,56.3545717,11.9701172,32.0478148,66.3274565,35.3008988,39.8872795,18.2679412,4.3648356,13.6180859,11.568318,34.9019253,12.3963342,1.1934957,1.3118415,18.1987806,14.0083441,56.5514696,12.000489,32.4426578,66.3323349,34.3205055,39.8483992,17.7789777,4.2954969,13.2304183,11.1042916,34.5293069,10.5623412,1.3343806,1.4546771,19.0862488,15.1157912,56.7329355,12.0341993,32.8913679,66.6653105,34.046373,39.8709016,17.5994737,4.2363408,13.2154412,10.5672968,34.246423 +58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4251937,2.4464119,37.5761701,32.3970941,54.7891404,14.2148596,36.6638258,61.7536599,28.5176232,41.4091412,19.8466761,3.1433409,15.0273751,10.2564135,44.9543055,24.8958281,2.5041393,2.5262977,37.8217492,32.804446,56.7337663,14.2123307,36.2081884,62.1740475,28.5624554,41.8452993,18.9391976,3.3264368,14.7015983,10.31629,44.4726544,24.5951364,2.5459352,2.5905474,38.3842088,33.5945992,58.5671998,14.45348,35.3610408,62.0761099,29.0280011,41.7336439,18.6590519,3.1614642,14.715095,9.9868625,43.9103721,25.7281415,2.6607714,2.6905373,38.4319073,33.549121,60.696609,14.080126,35.2966407,62.7706036,28.8832246,41.311758,18.3255702,3.2426924,14.8446794,10.0392072,43.3761948,25.1872613,2.4294982,2.4680265,38.7191776,33.8409704,62.6343077,13.764723,35.2276118,63.2542737,28.2859016,41.5265072,18.4120213,2.7972055,14.556269,9.3928019,42.9685193 +59,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9777068,1.0018273,14.3004822,9.7915259,27.2613494,12.542566,31.0231991,64.2634899,37.4419495,46.0614344,20.2330766,5.9691681,11.0100886,8.6170713,33.9534539,7.345975,1.0478964,1.0985702,14.7062833,10.0987938,27.8424314,12.5518014,31.0436962,63.6970391,37.1303615,45.2274438,20.4347158,5.7181949,10.7382577,8.669304,33.5925271,9.2274718,0.9920108,1.051885,14.8872923,10.3581972,27.4493851,12.5716406,31.2686161,63.9466311,36.7664475,45.3991565,20.7839836,5.484475,10.9776653,8.5947873,32.8383025,8.0246947,1.0108825,1.0722249,15.040332,10.6040763,28.1102878,12.4965302,30.7348961,64.1760586,37.5810858,45.5976187,20.5240312,5.5150215,11.5892763,8.9686321,34.2240491,8.1589958,1.0169756,1.0709523,14.6845796,10.4341678,28.2377733,12.7111498,30.3520032,63.6247727,37.0724131,45.4901458,20.4213609,5.5254353,11.4400977,8.743968,33.8973987 +60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.3142261,1.3472283,20.8381292,15.9367686,50.2805736,11.3999865,33.6490474,61.0322265,36.1246413,40.9257404,21.2036804,3.9946727,11.441086,8.6797485,41.7493246,16.5034652,1.3461774,1.3731118,21.8997099,16.7771569,50.9574558,11.2760893,33.4909806,60.789506,35.6965839,40.67592,21.0725321,3.8840398,11.5085619,8.765304,41.6938025,17.466785,1.3948833,1.4115441,22.7079841,17.5697318,52.0086784,11.0229404,33.9358359,60.4753634,35.6805182,40.8627326,20.9470113,4.0622433,11.8846631,8.7872051,42.1560714,18.2004811,1.417435,1.4283552,23.3405582,18.3129913,53.0309148,10.5868697,33.8152114,61.0424579,35.8677447,40.8997356,20.7717261,3.8218182,12.1940698,8.9222221,42.2198056,18.043635,1.3998584,1.4291467,23.5842069,18.5870621,54.1835188,10.6710466,33.834456,61.1970481,35.9456064,41.0874155,20.6216678,3.7530173,12.6035196,9.1799779,41.8658498 +61,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6365382,1.6894115,23.564737,19.3114238,53.2210068,16.6765128,36.5751813,64.0867901,33.1290458,42.1826805,20.4731641,3.7286287,12.9360266,9.4903006,36.7521126,19.7629497,1.6573866,1.712933,24.1368954,19.6528508,54.2615549,16.5286471,35.9597423,64.8271848,33.1766997,42.0058131,20.1248404,3.5413111,13.689142,9.6124499,37.095819,19.2434558,1.6782948,1.7119482,24.6405966,20.3109757,55.0668602,15.5101881,35.6785761,64.9332135,33.1943578,41.2959124,19.4012558,3.4761229,13.6230812,9.6591087,36.6080264,19.1636386,1.6175917,1.6576969,25.1941306,20.9200379,55.9165134,15.3797869,35.5288857,65.39009,33.4384699,41.3317713,19.057572,3.3249634,13.5082311,9.8049294,35.7492683,19.468336,1.5934857,1.6320225,25.2156403,21.054745,57.2859165,15.0139319,34.9406013,65.8555336,33.0118776,41.1165765,18.8197356,3.1941594,12.7183297,9.3816838,35.6960712 +62,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5376031,1.6536663,19.4732241,15.1220249,57.8352469,11.4835328,32.4133643,66.4914382,33.4639418,39.4273611,17.7188188,4.2492178,13.2960442,10.3930427,34.4767248,12.2823985,1.4865794,1.5915866,19.6260004,15.3918825,58.4612699,11.7513934,32.3890838,66.4096599,33.8813975,39.8484293,17.9462559,4.0213045,12.9295144,9.535318,33.5253503,11.5819209,1.4691542,1.5531208,19.7995514,15.7260107,58.5877704,11.4412798,31.7383048,66.2125353,33.3854572,39.7230863,17.9044989,3.956236,13.1135482,9.6924636,33.4041826,11.6604478,1.4534335,1.5363955,20.0207655,16.1215902,58.4362613,12.0138255,31.5643811,65.4462498,33.8063669,39.7617147,18.2621342,4.0663089,13.608668,9.8757143,32.5246248,11.6922788,1.5687832,1.6709588,20.591506,16.5689792,58.4834916,12.0687626,31.6446659,65.5171128,33.6747975,39.8659252,17.9787843,3.9603716,13.9219101,10.3358073,32.4227427 +63,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2313285,1.9724289,36.8041237,32.2680412,68.2389937,10.3483607,39.4032922,65.7407407,30.9670782,46.1934156,19.0329218,7.9218107,13.2882883,11.036036,36.2612613,18.4684685,2.4396007,2.3421348,37.6826722,33.7160752,70.8768267,9.1002045,39.4032922,65.9465021,29.7325103,47.4279835,20.2674897,8.127572,14.573991,12.7802691,38.3408072,16.6666667,1.8880689,1.6113161,36.8577075,32.5098814,71.6699801,8.6744639,38.0626223,64.8727984,28.4735812,46.4774951,18.4931507,6.555773,14.9159664,14.0756303,34.6638655,17.6724138,2.1461988,1.8830409,35.6203008,31.2969925,71.5500945,8.2560297,38.3395522,63.8992537,27.891791,46.1753731,18.5634328,6.4365672,13.4980989,12.7376426,31.870229,16.9421488,2.0108562,1.7517888,34.8345588,30.9742647,73.0769231,7.9816514,37.7306273,64.8523985,27.0295203,45.8487085,18.1734317,5.8118081,14.0977444,12.1722846,30.6390977 +64,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6625958,1.678359,26.1536771,21.8567191,51.6090774,10.1461562,30.8745932,63.3501998,33.194797,39.0206054,18.0448152,4.4054926,11.8514644,8.4999021,38.6743202,19.884045,1.677765,1.7116703,27.2724042,23.0319976,52.5901629,10.0123646,31.1981561,62.9741222,33.1407295,39.1953247,17.9191786,4.299892,12.3362728,8.4576408,39.1608675,20.400799,1.7798603,1.8153133,28.0561593,23.7208791,53.9584692,9.8179584,31.2280332,62.579082,32.8729081,39.0306515,17.7245898,4.3336137,12.7193384,8.7418954,39.499774,21.2654448,1.7985612,1.8432563,28.317746,23.9847852,55.3132546,9.9424131,31.201985,62.7427031,32.8083517,38.7309734,17.9599112,4.2429108,12.9886462,8.6154851,38.9541939,20.3079664,1.8490678,1.9035855,28.7570996,24.2652101,56.8846628,9.9287017,30.8171493,63.1064277,33.1001582,38.2160564,17.9056189,4.1518758,13.1861236,8.5679355,39.0644694 +65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9451513,0.9673616,19.1059738,14.6958605,28.7625672,20.833889,34.2254906,63.9512487,33.5533543,44.9373233,21.2179297,3.5460551,13.892109,11.4698679,38.2262391,13.9705403,1.0873501,1.1178594,19.5361459,15.2818966,29.556307,21.096615,34.2096117,64.3755724,33.2490662,44.6957833,20.6254811,3.3789134,14.6334891,11.8794024,38.8062189,13.3494692,1.0582424,1.0894401,20.3098754,15.7203368,30.1706917,21.0413282,35.065099,64.4940694,32.923971,46.0061175,21.0353849,3.5628778,14.0410625,11.8071191,40.4401113,14.1148196,1.0622335,1.0977548,20.982639,16.1523302,31.2422429,20.6613407,36.452616,63.9669401,32.7643326,45.9873583,20.8851113,3.2535938,14.2163709,12.0066816,41.2282713,12.7232248,1.1004136,1.1169309,21.6956058,17.0046098,32.5198971,20.4213604,36.6779808,63.7870433,32.3144323,45.6424222,21.036859,3.4230643,13.9528721,11.4115274,40.9462283 +66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.0442047,1.0959061,22.0358841,17.7936916,82.9884882,11.303176,32.4576175,62.3854583,29.0550836,38.0464395,15.2689273,3.5089016,15.0554855,12.2363592,38.2900708,9.2727111,1.100006,1.1530904,22.2917015,17.9563295,83.7661231,11.0536637,31.890735,62.7881699,29.099947,37.6515717,14.8863812,3.3118178,16.1268789,12.1624159,38.0973402,9.5864538,1.0041675,1.056778,22.1686234,17.5532584,84.1034187,10.7359985,31.9013895,62.6548295,29.1261396,37.1585252,14.7427357,3.2395591,15.163458,11.6640738,36.8674074,9.2727475,1.0772141,1.1296487,22.1312397,17.4433655,84.7335561,10.580181,32.0419373,62.2112503,28.5986414,36.2001768,14.3493444,2.9223386,15.5273611,11.7754704,36.4934746,9.9271401,1.1779271,1.2251837,23.3827653,18.1542698,85.6779545,10.1846049,32.0972644,61.4701323,28.4104096,35.903481,14.2053027,3.0163995,15.1381311,11.2075231,35.9995568 +67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7809348,0.8214012,12.2601649,9.7371755,51.2334651,25.669377,30.7601243,66.8726805,31.3387524,42.911552,15.7153979,7.3513878,14.5658691,11.2708969,32.4919607,4.5794179,0.9376309,0.9958606,12.7752496,10.0955012,51.4312765,26.246088,30.5312204,66.8393045,30.9827066,43.0942282,15.2589502,7.3439513,15.0659537,11.4248014,33.0562473,5.6249799,1.0091486,1.0700004,12.5953884,9.7262194,52.2806035,25.598042,30.0946435,66.8813826,30.9886724,42.3743935,15.2116653,7.2968668,15.3103749,11.7693126,33.3597442,6.3392631,0.9277368,0.9806397,12.7707006,9.786028,52.5412988,25.717639,30.0449022,66.9175861,31.8937879,42.960848,15.7818125,7.3824554,14.7244125,11.5808904,33.0584845,5.93969,0.9596653,0.991651,12.8311219,9.7537966,52.461502,24.9867618,29.8257525,67.1447796,31.4074769,42.3725905,15.160838,7.1447635,14.5135052,11.6549473,33.3424507 +68,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9116817,0.972036,15.2305483,10.891527,28.7568199,13.2047213,31.0502936,63.2541513,37.1964579,45.44346,21.1249841,5.8322455,11.5873368,8.4764778,33.9251247,9.51417,0.7789428,0.824946,15.6879859,11.1517008,29.4012662,12.957574,31.5865274,62.7415173,35.5357867,45.0705607,21.0725283,6.0143673,11.6872463,8.8710759,32.826956,10,0.8113329,0.8293759,15.8057899,11.2653663,30.7345615,13.2876881,31.7293447,63.5015628,34.7827095,44.3571018,20.87563,6.2993261,12.0070648,8.6870662,32.9434288,9.5330739,0.7181966,0.709262,15.8623806,11.4271224,31.4426965,13.8094056,32.2377436,64.6333815,35.2234147,45.1154695,20.8963997,6.4823644,12.2138896,8.6935593,32.7242836,6.7575343,0.6991122,0.6845651,15.6152154,11.249068,32.7530167,14.2433485,32.0657754,64.4579184,35.4289285,44.5841545,20.0598943,6.3162195,12.3870232,8.7818013,32.850235 +69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.407274,1.4355556,23.7983776,18.8423038,54.9739455,10.9231567,33.628111,61.5045236,36.240047,41.16359,20.6938473,3.696219,12.6548736,9.2977723,41.6491168,17.3182302,1.4363347,1.4707572,24.5878774,19.5913403,56.2716396,10.7108584,33.6659757,61.5293013,35.8969175,41.0515668,20.4749384,3.7485494,13.031526,9.5340525,41.6180221,17.0179825,1.4526475,1.4745704,24.8705073,19.8127743,57.1215615,10.4166497,33.5030415,61.697767,35.7816034,40.6982825,20.1425505,3.6007375,13.3091848,9.6783434,41.3714174,16.3901447,1.4530463,1.4718534,24.7599492,19.8771105,57.6870085,10.3559563,33.5506098,62.1919198,35.9945131,40.4476889,20.1849436,3.5970913,13.761731,9.5548072,41.4332087,15.9528787,1.474028,1.4953027,24.970574,20.2981901,58.1125161,10.256103,33.4857655,62.7464473,36.1189588,40.295256,19.9744516,3.5264645,14.3588071,10.0596695,40.8207126 +70,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6789041,2.7930449,39.0630818,34.1881582,68.549644,12.8663301,37.1280751,63.3385864,28.5289965,39.6403534,16.614605,2.214425,17.7177711,12.0650273,40.8891939,21.9242771,2.5511466,2.6333248,39.2503781,34.6252541,68.7985107,12.4686381,36.8991968,63.283186,28.1130561,38.9526018,16.7268713,2.0925173,18.0684435,11.837668,40.3882089,22.7270674,2.3643254,2.4168997,39.0789391,34.4875327,69.1979539,12.6402909,36.7622105,62.8673307,27.7337626,38.6947664,16.7721101,2.1312968,18.1741276,11.9364678,40.4142559,21.9912134,2.3278528,2.3879501,39.1397158,34.2617416,69.1540252,12.1652734,35.908149,62.7763196,27.5396569,37.881675,16.276022,2.0394473,18.8121851,12.3411499,39.6228803,21.7984305,2.1713249,2.2565114,39.5181671,34.5703812,68.6528633,12.3037644,35.5925648,63.3387902,28.1610643,38.5861955,16.8267396,1.7508035,18.6586733,12.3850426,38.8013394 +71,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0447399,2.0842505,27.454701,22.2245791,43.4358336,16.8130405,39.0150638,68.3983243,37.6360973,49.5667281,26.061466,3.6807183,12.4756157,11.2497115,34.0609584,23.9601358,1.9932508,2.0996822,27.4858851,21.8691341,43.9307265,17.2517197,38.8473705,68.1126129,37.8869584,49.8097618,26.4946399,3.8245933,12.9833364,10.8851075,33.2824626,22.0173284,2.0331774,2.1682574,28.1312888,22.2850609,43.7062112,17.9199717,38.5788465,67.9619377,38.8415688,49.8584924,26.8460491,4.1174717,12.165931,10.5568646,33.6395236,21.4899998,1.7792073,1.9427676,26.9399516,21.4465067,43.6632367,17.5110937,38.4735639,67.5789178,39.0752875,49.4675039,26.6864461,4.1396954,12.1260164,10.4647629,33.5382294,19.1180588,1.930698,2.1371663,27.2259525,21.8868734,43.9680948,18.1011165,39.0305437,67.6972931,39.1387347,49.8790789,26.719595,4.4407148,11.4364818,10.6454043,32.2405342 +72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4552725,0.4674648,9.7322164,6.9038161,38.0099481,12.6349106,24.7827868,68.1474425,32.5708751,43.8374561,15.0284054,5.9923756,12.1630993,11.0993303,31.7828106,6.4188712,0.5858408,0.5978928,9.6571283,6.8314241,37.120574,12.5638967,24.9107281,67.9096555,33.3252076,43.9909133,15.6616064,6.1934571,12.9110762,11.7214964,31.1712847,5.5555062,0.73403,0.7458116,10.1087221,7.1708985,36.8312214,12.7610841,24.1630105,67.2840231,33.0815974,43.8712025,15.7453538,5.7970374,12.6945263,11.3404938,31.0122562,5.3570969,0.6359577,0.6541262,9.8483097,7.0519641,36.6015182,12.795215,24.1179861,67.0953004,32.5675724,43.3012113,15.9289203,6.1469976,12.5437934,10.9352436,31.5324307,5.9858649,0.6597328,0.6781582,10.383471,7.5949954,35.7909309,12.5874099,24.8542338,67.1000859,32.1519951,43.1385011,16.7572074,5.7708402,12.6088776,10.8805796,31.4691592 +73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.1745617,1.2206383,18.3158312,14.2559417,48.5623845,14.8723033,31.4924351,64.3636273,32.4115977,42.4754923,18.2037639,3.2793177,11.7693343,8.163489,33.3671392,12.9191213,1.1554292,1.1559017,18.4058876,14.5836557,49.8097378,14.9045711,30.5636384,65.0865636,32.3709654,42.0508789,17.7439074,3.147488,11.9190268,8.4135764,33.6899082,12.86494,1.1197967,1.1110385,18.9693371,15.2388765,50.7086741,14.7309221,30.2755701,65.9053607,32.6119575,42.5116293,17.8148848,3.0777238,12.0627106,8.2510386,33.7457803,12.7926186,1.099184,1.0973692,18.8549612,15.1780653,51.6621564,14.6994305,30.1490033,66.5904476,32.6571411,42.6748502,17.5051661,3.1498941,12.7552415,8.7075356,34.6699592,11.3312077,1.0700227,1.0798283,19.1557594,15.667719,52.8833422,14.7805399,30.6189156,67.0710499,33.2631252,43.0263122,17.7611593,3.1309008,12.8117554,8.7195466,34.2443335 +74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.5684468,1.5301045,18.8661212,14.3032732,40.5989389,17.7395876,32.8691826,65.1617438,34.8100959,43.952159,20.520384,3.1082995,10.2403273,7.5873427,35.5158824,20.2422421,1.5000544,1.4874325,19.8565258,15.5793139,41.6300944,17.7547264,33.208314,64.6250041,34.263866,43.7638708,20.5138724,3.1527729,10.6250138,8.2397731,35.8602239,19.3811274,1.55367,1.5557334,20.6536105,16.2873718,42.7444906,18.1022226,33.2377688,65.31532,34.5208636,43.939374,20.3248548,3.262348,11.2714796,8.2594291,35.243509,18.9969678,1.4167779,1.424951,20.6864902,16.5883443,43.5438546,18.2103544,33.6701623,66.1142571,34.9636078,43.9908225,20.9242709,3.4087793,11.6248788,8.4659191,35.3658686,18.1137753,1.4107233,1.4188367,21.4081845,17.1550709,44.9096049,18.5968065,33.6142329,66.7602933,35.1926024,44.0743398,20.6928812,3.6516799,11.8680286,8.7490362,33.9977047 +75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9719576,0.998732,17.8514975,14.5831611,46.9329588,18.4531766,36.9180919,66.099027,36.7202372,48.4888915,21.3293675,5.8845366,13.5782292,10.3144367,28.1977691,12.3500162,1.0619652,1.0888776,17.796449,14.5169371,46.7946986,18.3950073,36.7294853,66.0134216,36.5039968,49.3435399,21.80385,5.6189765,14.4284556,10.2974086,27.8433281,13.5594266,1.0966073,1.1234091,17.9202325,14.5541742,47.0100678,17.9748649,37.1486736,66.8266851,35.752987,49.9016193,21.7359828,5.4946127,14.7170378,10.5023159,27.589465,14.0533795,1.1294842,1.2058331,18.247008,14.5622257,47.6703002,17.5945903,36.8763239,66.6655231,34.9553318,49.3699378,21.8515772,5.2149027,14.3593962,10.182943,28.9953605,14.3429155,1.1214148,1.199234,18.50503,14.8024501,48.0178885,17.2560826,37.158122,67.1166323,34.7776175,49.1035513,21.9127789,5.0774786,14.4047032,10.3333474,28.9213986 +76,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3812112,1.4798298,23.4853316,19.7075373,62.7188523,15.1733222,35.6731471,65.9170209,32.411325,42.5057225,18.7542168,2.7554942,15.7993611,14.6831061,40.5391181,15.919768,1.4212435,1.5229625,22.8794881,18.9728391,63.2551168,14.9156654,35.1153491,65.8019498,32.2506596,42.2104604,18.8725286,2.8000287,16.504288,13.9647409,40.3138358,14.8785423,1.4344971,1.5524596,23.6732921,19.2921019,62.8291425,14.8821626,35.7008863,65.3868295,33.0858709,42.5088038,19.5460817,2.7751913,17.0069812,13.5328093,39.8445755,17.6622803,1.3226682,1.3900566,23.4081906,18.8636807,63.3964964,14.8375647,35.5172469,64.778311,33.0505455,42.8231922,19.2843686,2.8351075,17.4774334,13.5990484,41.0272229,16.8347292,1.3536564,1.3706067,22.7269697,18.3634658,63.8315051,15.1240987,35.2032851,64.6427908,33.462558,43.7073246,20.6781965,2.7852174,17.319677,12.3493834,40.3790943 +77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1737434,1.1612665,15.827411,11.4657741,79.4331111,15.2463232,35.3915788,66.0799656,37.2421224,42.1545196,24.4007548,5.6681043,11.6501665,10.4943599,36.693217,13.75,1.4653016,1.4301349,16.8399585,12.1145807,79.1392064,15.2363731,34.7174934,66.6693161,37.8251025,42.5304016,24.5110847,5.6447981,11.516016,11.0570544,37.7049525,12.1323529,1.5060476,1.4715776,17.6259171,12.5618137,78.8200162,14.9555906,35.0007243,67.0353074,38.1893466,43.5887687,24.4306125,5.6321453,11.0763407,12.3526378,38.5394527,13.8117938,1.3704101,1.3704101,17.6343663,13.1435335,78.3610228,14.9218733,35.5051909,67.1258488,38.1287561,44.0178601,24.3186899,5.8989533,11.5365348,12.6200555,39.9013444,12.7789928,1.3784269,1.3784269,17.9621889,13.9735699,78.1286462,14.5348641,34.459553,67.7772563,37.3680844,43.7529893,24.3981176,5.4848975,11.9317636,12.7214883,39.0690879 +78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.9035726,0.9133772,14.9538987,10.8761248,31.9170434,16.4270194,36.2912917,67.2815764,37.2880124,48.0712046,21.3009965,3.7475415,13.1240374,11.4597215,32.3506564,9.3237929,0.9024337,0.8875527,15.1840077,11.1448471,32.5271367,16.5398449,36.1096947,67.2346699,37.2878019,48.0554859,21.5290366,3.8953684,12.9534515,11.4267462,32.4391105,9.824897,0.9414879,0.9450582,15.5940783,11.5974525,33.2849347,16.8639676,35.9198488,67.3924391,37.1231745,47.6429715,21.5916352,3.8642882,13.4262933,11.6118652,32.5702204,10.073926,0.9698759,0.9880235,15.9993153,11.9715116,34.3485209,16.6448127,36.2050053,67.1517153,37.1226683,47.4341934,21.55882,3.9060653,13.3065663,11.5665445,32.7899139,9.9659217,0.9544149,0.9778625,16.0658415,12.0537363,34.7786912,16.545182,36.3511855,66.9746427,37.4835844,47.6159447,21.4745602,3.6297574,13.3826921,11.4760181,32.4169302 +79,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0562771,1.8127706,33.3044983,29.6712803,72.7353464,9.6354167,36.6724739,65.4181185,25.5226481,44.3379791,17.5087108,6.358885,15.0176678,11.7957746,31.9787986,16.4233577,1.9200627,1.7633229,33.4731544,29.9496644,72.9522184,9.4166667,36.5833333,64.75,24.25,43.75,17.0833333,6.5833333,14.8464164,13.4353741,31.9112628,18.2835821,1.5675241,1.4067524,31.2392427,28.141136,72.0950704,9.2082616,35.1979346,64.4578313,23.6660929,43.4595525,19.1910499,5.7659208,16.3230241,14.5547945,30.4123711,15.8536585,1.1426363,0.9880768,30.9405941,27.8052805,70.5831904,9.2809365,34.6989967,63.1270903,24.4983278,42.5585284,19.1471572,5.1003344,15.9539474,12.9508197,29.1118421,16.25,1.1100139,1.1484164,31.7656766,29.1254125,70.5631399,10.3820598,34.4166667,62.9166667,24.4166667,43.4166667,19.9166667,5.5833333,15.2960526,10.9836066,30.0986842 +80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.0572643,1.9622485,25.8013431,19.9083524,47.4285462,12.5307664,38.3802909,66.1498227,35.6964681,50.478526,25.2584517,5.5725499,15.5480856,13.2086002,36.3210489,22.0165844,2.0500459,1.975964,25.4607415,19.2357842,46.113577,10.8302622,38.4738125,66.107056,35.4164613,51.3262859,27.1408409,5.4665013,14.8118381,13.7027765,34.917969,20.47477,2.011702,1.9519992,26.3679921,20.1347174,46.906408,9.9481312,39.0284918,65.978689,34.7889561,51.5022906,27.5626786,5.7287908,14.8101738,14.1269103,33.7499582,22.1882062,2.1927831,2.1422049,27.5510546,21.1754028,46.7596087,9.5443848,37.9022822,66.8620104,34.8368508,51.7628723,27.9716374,6.0838383,14.8007801,14.2357348,34.7344802,23.6369495,2.019155,2.0543224,26.5290963,19.9236841,46.7351445,9.5485233,37.8786076,67.0631116,34.7248028,52.3914364,28.5022634,5.9008556,15.2901783,14.3958612,34.4104398 +81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6440615,0.6739284,13.283301,10.2810857,61.8782055,14.1840775,28.800283,64.3167617,29.5987518,39.4431009,16.1259349,13.447543,12.7683743,9.601074,37.2293849,5.6745182,0.6665774,0.6654985,13.243275,10.2802387,62.4248362,14.0200356,28.8451856,64.364754,29.7605905,39.3270315,16.331356,13.575092,12.5820375,9.5751224,36.8100011,5.626327,0.6341919,0.6238982,13.2536799,10.3539708,62.4987423,14.2300872,29.1404319,63.963021,30.0399832,39.4552749,16.4367803,13.6181904,12.7404866,9.4960045,36.9838919,5.6779078,0.6984987,0.6881544,13.2211094,10.2964873,62.7559953,14.0569219,29.3476089,63.917373,30.4634131,39.5908729,16.5912738,13.6258546,12.9927809,9.8863688,36.7680729,5.9004097,0.6731584,0.6605169,13.2854879,10.3342745,62.8447911,14.1306524,29.6171629,64.8161211,31.2047874,40.0773704,16.7554272,13.6203781,13.1724863,9.8746426,36.8731904 +82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4719139,2.509707,38.2597351,33.4985318,64.5663821,14.0037854,35.2037403,64.1954303,29.1706354,41.1952181,18.9981134,2.6903624,14.8821224,9.8924666,42.1367884,24.4243128,2.4317577,2.445228,37.6475497,32.9142794,67.2800383,14.0444635,34.7048134,64.9626115,28.6167848,40.9986398,18.5045154,2.751904,15.6235958,9.9663223,42.6706776,23.8058273,2.3633629,2.380174,37.93143,33.2769619,70.3673909,13.9507441,34.0917137,64.3077869,28.2918967,40.4870542,17.8266991,2.9646426,16.3507416,10.4672105,41.9513779,23.9446678,2.2519134,2.2830764,38.4782127,33.6731811,72.9230413,13.5848042,33.7615272,63.9764898,27.785512,40.4330327,17.9409302,2.6660263,16.4940308,10.2311649,41.7304305,22.8385821,2.354319,2.3783711,38.8898542,33.9309979,76.2121883,13.4383639,33.7202108,63.4506154,27.015054,40.324145,17.0918141,2.9983437,17.3837992,10.9356041,41.7832851 +83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.5051407,1.5210088,25.249431,20.5064901,58.7374293,10.3162661,33.8010835,62.7082579,35.8906926,40.438221,20.0942429,3.5712378,14.4762745,9.7999148,40.4730369,15.7380536,1.6796446,1.695372,26.3911383,21.5445989,59.5627892,10.2565397,33.8446706,62.7764096,35.8454832,40.1963236,20.1823346,3.7061901,14.5238683,9.623125,40.7652125,15.5879143,1.6867368,1.7016285,27.246351,22.3681467,60.546352,9.9206843,34.1295054,62.4774141,35.3065309,39.8892445,20.155929,3.7594859,15.2680006,10.2752841,41.4088686,16.195999,1.7081722,1.7248601,27.686836,22.7633388,61.2929625,9.8650797,33.7197357,62.2033367,34.9006164,39.704839,19.9534248,3.8750811,15.5159296,10.4350505,42.2861854,16.807747,1.7413629,1.7628419,27.9820079,23.1588803,61.8601694,9.6742631,33.8325449,62.4005189,34.8957976,39.7320506,19.9981769,3.9036387,16.082836,10.6567427,42.3482139 +84,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4458578,1.4458578,33.9489748,29.2383929,49.0854068,19.0102416,39.222007,68.1858207,36.1116527,49.3703606,22.3331154,4.0375439,10.7823699,12.0152097,31.8130417,24.7372916,1.3182535,1.3532987,34.0765465,29.5079547,49.6832026,18.1475266,38.9245006,69.2570262,36.0044664,49.6166243,21.531563,3.782622,11.2818154,11.6506314,31.4155587,25.2580476,1.6662571,1.7751781,33.840293,29.0029911,48.998996,18.072249,38.7361267,69.1273712,35.6309332,49.9240668,21.2429162,3.6898103,11.5628991,10.306276,31.4149271,24.2990983,1.5670995,1.6744657,32.7446593,27.7918038,47.9476628,18.1082006,37.7999773,70.0430809,35.6534248,49.387662,21.825468,3.7972665,11.5275942,10.5632266,30.8706309,23.8221589,1.59794,1.6357573,32.117161,27.2721181,48.037876,17.6942318,37.8787345,69.7848929,36.0089227,49.9189926,22.97617,3.9444418,11.2449466,9.4454535,31.7692735 +85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.2848167,1.2848167,22.9371519,17.2937619,85.6750136,10.6874273,31.8131651,62.266904,28.4756489,35.7226447,14.3855759,2.783492,15.5118359,10.8225782,35.8612349,10.4026231,1.2598151,1.2598151,23.0829167,17.7960867,85.4301118,10.8507503,31.6299001,61.6690244,28.5235984,36.3337225,14.4859303,2.6596508,15.8473885,10.8819576,37.1092449,9.443153,1.1230768,1.1230768,23.3801043,17.9317254,84.5142475,11.0091432,31.4760654,62.2266321,28.3075998,36.0835807,14.4040176,2.5601819,15.1620876,10.8047954,36.6364482,9.7566042,1.1580551,1.1580551,23.1881187,18.1057251,84.329329,11.4276315,31.8531536,61.9735789,28.8084892,36.8105032,14.9485938,2.8536284,14.3648203,10.701832,36.5733712,9.0756473,1.1820945,1.1902493,22.9029273,18.0879982,84.6563106,11.6088184,30.7498879,61.1797156,28.764697,36.2393117,14.7242012,2.8059047,15.7061356,11.2538796,37.4222411 +86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.7360606,0.7715759,11.2170716,8.2267969,35.6119983,13.0681802,26.1270639,66.7528847,32.1095164,44.1508755,16.8998391,5.5824474,12.9520031,10.7118514,32.8022038,6.6440701,0.8099005,0.8440338,11.0013497,8.1525435,35.1635861,12.4303468,27.0728542,65.7194931,31.9673016,44.4797697,17.3150491,5.0601807,12.4333497,11.0681026,32.6692433,7.000626,0.7906863,0.8075554,11.4518236,8.5982749,35.2462349,11.4761821,27.1276206,64.9265727,31.2947539,43.9408486,17.1213617,4.6925046,12.7010117,11.2181762,32.6606408,7.8236966,0.750396,0.7673339,11.8496049,8.6324846,35.4283037,11.7794505,26.4372568,64.6197297,30.470897,42.9544387,16.6390502,4.6269811,12.1717001,10.106505,32.1762461,9.6283667,0.6838214,0.7338538,11.8109991,8.8186002,35.5892701,11.4247864,27.7482721,64.8938153,30.6051306,42.9017144,17.091008,4.7583357,12.1955234,10.1421763,31.9294114 +87,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8967314,2.009628,26.0915127,21.1019422,43.5890525,18.7130705,39.9690497,67.9887829,40.0823591,50.72402,26.6486678,4.5296979,10.8423397,10.4980231,32.403935,19.3975072,1.9739685,2.0503098,25.9248031,20.7550512,43.351489,18.6552246,40.5740298,67.2692838,39.3292953,51.1993618,27.1550643,4.358005,10.5292237,9.9102893,31.8917982,16.6702999,1.7890951,1.9118797,24.783858,19.6513499,42.9034681,19.0581234,40.7094736,67.2861229,39.9153411,51.4006253,28.246703,4.2461365,10.7321905,10.3747136,32.1536332,17.3376941,1.518839,1.5829547,24.0252337,19.5129465,42.1872203,18.8644482,41.0382974,68.1253223,40.0875114,51.4567616,27.5856042,4.2543328,10.939093,9.7283634,32.8974165,16.0900329,1.6243191,1.6330927,23.3201017,18.7155897,40.6832472,17.8258237,41.2053112,68.4553295,40.0698414,51.8439837,28.3503723,4.1774212,11.0767669,9.5326444,32.9954552 +88,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3534636,2.4322249,38.9411238,34.2614615,69.0039232,12.2156255,35.9923324,63.3604584,28.4345962,38.7991882,16.8553425,1.7408229,18.1838992,12.361382,39.0928947,23.219528,2.1797799,2.2385388,39.182911,34.461822,69.4655582,12.2278657,35.296931,63.7419626,28.3254495,38.3681687,16.0121288,1.7494059,17.9683176,12.0612788,38.8436735,25.1097849,2.1341907,2.1348623,39.5141095,34.4985821,69.2826597,12.1178202,34.5455001,63.8984349,27.73014,38.3822058,16.1924814,1.8110958,16.8922544,12.1397492,38.2109875,25.9455725,2.294198,2.2587767,39.1009825,34.256928,69.447718,12.7730738,33.8364833,64.1881953,27.6161665,38.321124,16.2439666,2.148933,15.7390967,11.872075,38.0914931,26.7230368,2.3266806,2.3111507,38.4509644,33.517826,68.9947777,12.9738207,33.373386,65.0091254,28.0961284,39.6846023,16.8522076,2.1347358,15.6963371,12.1531996,37.2471454 +89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9368551,0.9627776,12.9959363,9.5411567,53.0282764,25.4388284,29.426856,67.3439429,31.3912334,43.258835,15.029607,7.1178457,13.6907939,10.7084479,33.0858367,6.941973,0.9000783,0.9133775,12.9123076,9.6674803,54.0954979,25.5897278,28.5657124,66.4745449,30.7104106,41.9168357,14.812325,6.9838917,13.7291678,10.7795678,33.2700833,6.4831031,0.9037438,0.9170698,12.6672046,9.4301889,54.7573863,25.6774952,28.619512,66.4289835,30.3955692,41.509648,14.8681436,6.9294717,13.2702849,10.4110291,32.833798,5.9608276,0.7856436,0.8191688,12.2710338,9.1999079,55.6149105,25.1536263,28.9288834,66.1482479,30.7411447,41.317256,15.0257059,7.1003305,13.3206638,10.7763008,33.1236512,5.3248809,0.6934766,0.7277503,12.4311831,9.2648798,55.3981871,24.5012451,29.4694933,66.634471,30.4642123,41.4340433,14.4929472,7.0323061,13.4249026,10.3419244,32.9661123 +90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.128951,1.1989697,18.4246361,14.7210662,47.8838491,16.9046942,37.2622487,67.5568698,35.2163381,49.2297536,21.9659373,4.7973744,13.7136837,9.4627169,28.0903213,15.9950149,1.0287603,1.0989316,18.5126014,14.7098995,47.8001243,16.5425143,37.5334551,68.0334393,35.574678,48.9466788,21.9852527,4.8015945,14.4868667,10.3837229,28.5829182,15.0389122,1.1266299,1.1555562,19.6790904,15.7831249,48.3636038,15.9744693,37.6952677,68.0428599,35.5849685,48.974497,22.1890891,5.1741699,14.1500172,10.5229121,28.938662,15.5931492,1.1603539,1.1904893,20.6620069,16.4800607,49.1927604,15.7241894,38.254169,67.9326106,35.1644422,48.5760137,22.4285228,4.9963516,13.4105765,10.1502871,28.3351346,15.4521333,1.1674978,1.2139525,21.0526274,16.6864282,49.1030436,15.6304019,38.242065,67.9790734,35.6885431,48.847168,22.7824666,4.9950915,13.8894446,10.1522004,28.927088 +91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.2613397,2.3199501,26.888684,20.2660142,47.376433,10.1573699,37.2347386,66.7999574,35.540629,52.4861409,28.9386873,6.3455516,14.4379857,13.843466,33.5103979,21.7980293,2.1560004,2.2835319,27.3606727,21.038936,47.4796441,9.7502889,36.8991766,67.1713505,35.3382124,52.2120167,28.603634,6.1798859,14.7559057,14.5876665,34.5449673,17.9965138,2.1138988,2.2884617,27.8165323,21.0800555,46.9763342,10.0289469,38.120724,66.8322684,34.4763637,52.74021,28.749681,6.2300737,15.3646041,14.717719,34.0470772,16.4739884,1.8955873,2.0730585,27.6766174,21.3986988,48.401144,10.9657053,38.3019287,66.4404172,34.5007566,51.8105091,27.5453159,5.8887923,15.5481546,14.2497168,34.8096103,15.0887574,2.2902759,2.5507932,27.0360195,20.5751087,47.4085688,12.5359117,38.0432257,67.362829,36.3701288,52.4639179,28.4826725,6.2545776,15.0479803,13.43425,35.383363 +92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.7833134,1.8014571,28.5547058,23.7470768,62.6800072,9.4725593,33.9943172,62.3475975,34.7488782,39.6565235,19.8448623,3.8482426,16.2851819,11.1376387,41.8322076,17.8391648,1.7466782,1.7757357,28.9086315,24.0740779,63.4358031,9.3741057,33.9384684,62.6234535,34.606798,39.4538896,19.8548894,3.6879797,15.937527,10.8809166,42.2912415,18.5299628,1.706961,1.7415972,29.2356293,24.4282244,64.0977158,9.2717254,33.8503983,62.4534835,34.5584148,38.9806138,19.6778214,3.6751605,16.1059601,11.1131053,42.71455,18.7724064,1.6365387,1.6571181,29.3244138,24.563083,64.8762248,9.0105651,33.8655386,62.1962856,34.0048782,38.6822841,19.585006,3.6261872,16.565922,11.2527104,42.8928166,19.0296105,1.5983552,1.6170629,29.6031462,24.873174,65.5535089,8.9707654,33.7172193,62.2682026,34.0148264,38.4606801,19.146819,3.6167979,16.0879395,10.8478374,42.8282558 +93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1359569,2.15072,38.3683511,33.7362082,77.9295325,13.5551572,33.0405909,63.0142318,26.6158993,39.7902751,17.2617041,3.0123624,17.6009949,11.4074284,42.3035899,22.6604119,2.393998,2.3894491,38.2528937,33.749691,78.8214568,12.9100983,33.1016495,63.2213703,27.1221862,39.5011557,16.7894476,3.1009226,17.9674281,11.8044343,42.3455222,23.1432341,2.1883729,2.1912671,38.1643032,33.605556,79.3632523,12.4695252,33.188804,63.3672072,26.6724447,39.3334931,15.9687785,3.1838474,18.1935044,12.0813958,42.3935607,20.1228023,2.2270695,2.2519098,37.8925853,33.4332279,80.072094,12.0780438,33.4998831,62.9173875,27.3336572,38.5937077,15.8298825,3.1806014,17.5771296,11.9565136,42.787959,21.0906896,2.2004372,2.1999853,37.6141252,33.1931763,80.6962754,11.6337766,34.0230252,63.5528966,27.0935308,38.4549399,15.4138061,2.9505403,17.3376897,11.6120805,43.085103 +94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.1667294,2.4200677,25.7103996,19.4048276,47.8553387,12.971816,38.1220719,66.8776772,36.4260527,52.3842369,28.2543236,6.1291668,13.8329731,12.4227475,34.9068614,14.0718563,2.2390512,2.3972121,27.0899277,20.962121,47.9316659,13.7850827,39.6846393,66.5963847,36.2732016,51.0554918,28.0861877,6.1027214,13.4201466,11.7330425,35.1535866,15.0566129,1.9653553,2.0997153,27.2888937,21.2579456,47.4024522,13.9094854,41.1812347,66.5763827,36.3584082,51.4295377,28.7478513,6.1415187,12.5576883,11.0172375,33.9286912,18.097893,1.8680301,2.0234588,27.6398504,21.4180781,47.8897328,14.6457049,41.3736683,66.2058034,36.6897188,51.4104991,29.1809943,6.3567249,12.461728,10.7801439,32.8464018,20.9087868,1.8951337,2.0040118,26.2676817,20.2476596,46.6166048,15.2699569,40.5530824,65.8334534,36.831037,51.297219,28.8962424,6.425382,11.9737918,10.958182,34.0880531 +95,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4696858,1.548674,20.5782949,16.5504766,58.5534298,11.8424153,31.6022833,64.9951405,34.4969611,40.4397462,18.4195455,4.1686933,14.0275727,10.3005799,32.9561341,12.6879321,1.4307234,1.5080081,20.3467779,16.2408776,58.4282332,11.5952674,30.9254885,64.6915874,34.8627044,40.546481,18.2847086,4.2049753,14.4093663,10.374449,33.127885,11.2110511,1.2891816,1.3502742,20.7266025,16.6527904,58.6909809,11.6180713,31.0345299,64.4330216,34.7674561,40.5908416,18.4525661,4.1998625,14.2811251,10.5641513,33.3998878,10.9010389,1.2656012,1.3076548,20.8801044,16.7918421,58.6692844,11.6925444,30.9456891,64.2637583,35.2053946,40.6849614,18.8281637,4.3105893,14.7390147,11.0891513,33.5783576,10.5962247,1.3519944,1.3908207,21.2394209,17.0065773,59.7450826,11.6255716,31.2252094,64.4048198,36.1806016,40.8305718,18.4861003,4.235231,14.6530658,11.0133608,33.6933599 +96,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6868399,1.7258082,32.3571394,27.6125636,47.369385,17.965498,36.4623361,69.27324,36.7993718,50.0002816,22.6558833,4.1611426,12.6664737,9.8520403,32.4810769,28.229489,1.8598678,1.9004494,32.0281978,27.2644675,48.4258424,18.6438324,35.1674278,68.8015475,36.658413,49.3855965,23.386848,4.8702636,12.6520603,9.6853703,33.1322305,26.8937095,2.0512327,2.0926185,33.5338334,28.7531986,49.723527,18.3633376,35.8340795,68.6684486,35.7444309,49.0158955,22.2771126,4.7060819,15.1262663,10.0722315,33.3038426,31.7161375,1.996058,2.0810828,34.1640204,29.2841819,49.8338269,18.0852907,36.5003363,68.0543633,34.5335691,49.168302,22.6068578,4.5765004,14.9725583,10.4148254,33.9867411,32.1023371,1.6561864,1.6561864,34.0329535,29.5702901,49.2882221,18.2195965,36.80179,68.3978335,34.9279922,50.2612537,24.1001339,4.4557195,14.5748978,11.4247861,33.7472031 +97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4922633,1.4670544,21.9993117,15.8175144,66.1376468,15.8650826,36.2481223,65.2877783,31.622167,41.4089437,22.8140223,2.9342327,14.3586696,11.6946889,41.1626908,13.8416659,1.5667189,1.5397842,21.928792,16.4176292,64.9067642,15.7395874,37.4590991,64.6336904,31.7384393,42.0447134,21.7888725,2.7699634,14.3077697,11.8877754,41.2212671,12.0916309,1.5167941,1.4900199,21.1263148,15.7662364,64.5800043,15.3527886,37.2818517,63.6339613,31.8235465,42.4482945,22.3499029,2.4650356,13.2198946,11.0169025,40.7479094,9.502329,1.4392075,1.4329513,21.2083818,16.167355,64.5316743,14.5763668,37.1736227,65.0716028,31.9349295,42.6483956,21.9502695,2.4950741,14.117826,10.5575107,41.2466648,8.3226229,1.3349161,1.3285321,20.0786338,15.2350724,64.8793472,14.511594,38.6858156,66.1688927,32.1504073,43.4873727,23.0942829,2.8279125,14.0004145,9.9681124,40.7288443 +98,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6663052,1.6747799,23.7141218,18.9536622,39.9572244,18.271218,41.237246,68.2011501,40.3554169,52.1768195,28.3648047,3.8916707,11.4138329,8.6327887,32.4215419,19.1259102,1.5164568,1.5247338,23.2000142,17.904179,39.9025932,18.0509486,40.4420472,68.4320265,40.8209768,52.1749886,28.4396621,3.5758682,12.5711092,9.9658269,32.9338661,19.1683275,1.6182015,1.6701672,23.861418,18.8014415,39.9667845,17.7110902,40.3123999,68.0928662,39.8990805,51.3714053,28.5261444,3.6572955,13.379446,10.8323665,32.2030863,19.7494406,1.7817334,1.8392931,23.6426535,18.8906546,40.0580082,17.9463011,39.8426175,68.0760047,39.844584,50.1942762,28.3018477,3.7860992,13.1107394,10.5289815,31.3722299,20.4291074,1.9992832,2.017207,24.0498322,19.0730427,39.8094924,17.4484306,39.6670084,67.6804499,39.8074151,51.1598411,27.7551846,3.8362665,12.7100783,10.9500164,32.8207401 +99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.1056372,2.1097168,35.5411837,30.2030806,57.016586,9.9419737,38.8099048,62.1723746,34.368253,43.5326829,19.6392684,2.5159997,18.5156894,14.2964424,39.3236544,18.9245635,2.0073545,1.9811462,35.6375956,30.5200864,57.0483552,9.7940003,38.7839743,61.8706449,34.1445262,42.5695456,19.2884874,2.3498151,18.1820439,14.1827879,39.7424026,19.7934791,1.9752713,1.9719622,35.8808669,30.8612659,57.0795697,9.7869237,37.8380227,62.0458658,33.6278577,42.1900002,18.7400813,2.1639596,19.0649342,14.9660877,40.6841826,20.240426,1.9290523,1.9259316,35.364422,30.3545441,56.8861008,9.6398622,37.8602321,62.4353005,33.3295777,42.6797455,18.398518,2.0908443,19.4429537,15.676377,41.0942877,18.3375336,2.0552006,2.0574603,34.9604872,29.9435836,56.8655334,10.2178375,36.4263769,62.4568436,33.2116357,42.5855313,18.3843609,2.2567226,19.6574374,15.3843053,41.1759247 +100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.8286893,1.9982477,26.9849273,20.6891262,46.2524857,14.9997544,39.745555,66.3342161,36.4644651,51.9120417,29.2879626,6.2541163,11.5707496,11.0255436,34.9580681,22.4864869,1.4879164,1.5720032,27.2813331,21.2577375,46.5267916,14.9074622,40.6817985,65.6654855,35.5498898,51.4854587,29.5406962,5.7731948,12.0764874,12.5182318,34.6379383,20.9593419,1.5798164,1.5850322,27.7351456,21.74364,45.9133641,14.7140269,41.0797287,66.2980615,35.0431354,51.4085062,29.7447718,5.8013728,12.7084972,13.1437466,34.7133615,21.6664191,1.3994299,1.4044422,27.4491646,21.7626975,45.0660416,14.099433,39.9028828,67.1522011,36.0838493,53.3012405,31.3589889,5.9869806,12.1152928,13.740413,32.5008757,18.75,1.6059316,1.6661429,27.9305473,21.6903173,46.0520872,13.6144958,39.2763201,67.5866923,34.7804132,52.4616137,30.1652084,5.8017739,13.0184968,13.9164585,32.3001169 +101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8655289,1.9351469,34.9693834,30.1283563,56.2992724,10.6998266,36.5245363,63.5959917,33.4467492,43.1145341,18.5935115,2.1256507,19.3747455,15.0735952,41.0200451,16.8288336,1.754039,1.8292089,34.243847,29.4369037,56.3165605,11.4676239,35.8897238,64.5564536,34.0577214,44.035884,19.0904804,2.2305297,18.4558467,14.3046085,41.2218812,18.3416143,1.9296864,1.9986672,33.2501125,28.7275019,56.5742738,11.9064286,35.3304608,64.1356739,33.6871014,43.4773177,19.1211729,2.0761497,18.3755627,14.0414942,41.4222926,18.7081049,1.7718327,1.8776183,31.5651304,27.2033081,56.8452816,12.4479444,35.1913449,64.1045022,33.961937,44.1839626,19.6289792,2.1330558,18.5694576,14.1734255,40.8479552,17.6381862,1.8647341,1.9410989,31.6096405,27.327136,57.7440616,12.9339156,35.8296388,64.3551136,34.0908729,44.6472724,19.8451191,2.364121,18.1083479,13.4950301,41.3118202 +102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5487287,0.6176562,12.754186,9.9730843,67.8517947,24.6918947,29.1084668,63.0163412,28.6329748,39.7473925,16.3595789,5.8989564,13.3313053,9.8045247,35.7846123,7.5870666,0.5573264,0.627042,12.6206243,9.8160451,68.450586,24.3166871,29.2532351,63.6705768,28.8015547,39.9427793,16.5763279,6.0975607,13.0043508,9.9006809,35.2443638,7.9746856,0.5741041,0.6302839,12.5531239,9.669097,69.3213149,24.2827141,29.5516511,63.6625229,28.5519475,39.8212626,16.2223531,5.7709815,13.2092804,9.9327616,34.1651308,8.9460806,0.5574623,0.6133283,13.2175196,9.9546843,70.1032518,23.9007623,29.2393277,64.1761865,28.5177399,39.882742,16.3108823,5.667471,12.5000052,9.7130883,33.6238002,8.9024434,0.5751271,0.6318165,12.7175539,9.7557266,69.8057977,23.7987204,29.1017396,64.1154831,29.1934017,40.0397159,16.1472637,5.2703965,12.2093076,9.1717769,32.7065369 +103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.4558767,1.4638257,22.3168737,18.0696702,46.5438466,18.6019118,33.250905,67.2436209,35.1769808,43.9484359,20.3669887,3.5007751,12.5406758,9.4211933,34.0343252,17.7989112,1.4459248,1.4420071,22.6738367,18.1715826,47.4738284,18.3447619,33.1157316,68.1387552,35.2662595,43.4075549,20.3149014,3.6738316,12.5387273,9.3597229,33.8595254,16.7929249,1.480569,1.4938507,22.9490292,18.4830092,48.3014599,18.3491725,33.3044406,68.5533754,35.3851967,43.6338664,20.2254187,3.5546165,12.9498411,9.4639557,33.1026668,16.9354718,1.4896184,1.4933691,22.9141743,18.3241657,48.8293994,18.415336,33.1492457,69.1580624,35.3829138,43.7775988,20.1890141,3.6450638,13.1988599,9.1638388,32.6866766,16.7040283,1.5134348,1.5141685,23.9891926,19.2877334,49.8540514,18.3887678,32.5227629,69.1063544,35.1102121,43.3037645,20.0886454,3.5098228,12.733847,9.0494545,32.5485795 +104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.9277046,2.0320497,32.2226804,27.6429505,57.9254218,13.4665815,35.3078072,63.8970249,33.8092688,43.8115693,20.4983172,2.4313288,17.2186756,12.6805833,41.4557654,18.3113856,1.7126724,1.8178109,32.4534504,27.8582669,58.5984457,13.38842,36.7138821,63.8398258,34.0376303,43.7907827,20.9257381,2.5070602,16.8638195,12.933574,41.3437089,17.8815116,1.7816458,1.8074347,32.2096694,27.3065257,58.3503686,13.3379484,37.5061367,63.690047,33.917633,43.5832015,21.1928432,2.8802432,17.117123,13.5040706,42.3745073,18.7767892,1.9004233,1.9183816,32.5050159,27.3982046,58.4745148,12.9549054,38.0708159,63.6589711,33.61828,43.7424259,21.7584083,3.0591208,17.0388026,14.1921467,42.3582447,18.829774,1.7319761,1.7970642,33.4698487,28.3693801,58.4057053,12.744751,38.9205837,64.1523252,34.6264211,44.7447008,22.35156,3.1860877,17.3012406,14.1173704,41.6771609 +105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7331168,0.7457198,16.4438723,12.7113707,57.9914749,18.773484,32.3417707,65.4458435,32.4523186,42.9729034,18.3208354,3.4196314,12.8642001,9.1030663,30.9001506,9.2713519,0.7206394,0.7332588,16.4830663,12.9010282,58.9382728,18.6608185,32.2772431,65.4683679,32.846241,43.4001107,18.0654952,3.4654891,13.0471541,9.6946156,31.6698918,10.8374166,0.7296858,0.7311284,16.3809466,12.9277754,59.6754131,18.9700679,32.6254646,65.4106906,33.0381705,42.9203563,17.5899631,3.4570371,13.1437287,9.8739223,31.7605457,12.0384966,0.7835213,0.7601614,16.2067178,12.8253781,60.1839189,18.2109932,32.3262234,65.9378651,32.9357284,42.9408346,17.6868573,3.4759893,13.1726232,9.9492287,32.5208456,12.6800225,0.7478358,0.7120224,15.9971268,12.6574028,60.5678703,17.688467,32.1873186,66.1058971,33.1226451,42.5563059,17.4229819,3.5799874,12.8605806,9.9711775,31.9407066 +106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.6567533,1.6822697,29.8411073,24.9894844,66.213281,8.8069872,34.3062565,62.4884088,34.0583106,38.4006562,19.0113191,3.4079565,15.9709302,10.756547,42.4103133,18.6848556,1.6442308,1.6660693,30.0723032,25.2612096,66.9393232,8.8336615,34.1702145,62.3016936,33.9454179,37.9313238,18.6884053,3.3631106,15.8120954,10.8091218,42.1497601,18.4721988,1.6488189,1.6720468,30.1725737,25.3435041,67.3224876,8.6616983,34.4326287,62.33169,33.7712202,38.0533174,18.4604971,3.3451963,15.9251129,10.9223395,42.2623018,18.052553,1.7563991,1.795912,30.2784979,25.3478227,67.7733463,8.612356,34.4978521,61.9167312,33.4394808,37.8739773,18.2529142,3.4938934,16.0147197,11.1560049,42.1453636,18.1131257,1.8209891,1.8733217,30.4680958,25.5343229,68.2901866,8.5765785,34.4427217,61.6401867,33.2600368,37.7137752,18.1011024,3.377041,16.0218456,11.1993746,41.853262 +107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.7926052,1.8330439,27.828586,21.5841376,45.9428534,13.6997007,39.780687,68.0140293,34.5236206,52.3046061,29.9774779,5.7588352,13.3935631,13.4098166,32.5389288,19.3227092,1.8498215,1.8627169,28.9464084,22.3488017,46.6395895,12.531868,39.0449086,68.1169506,34.0124981,51.1834208,30.5804378,5.7131047,13.993778,13.3938384,31.566101,21.3414634,2.0327313,1.9797501,28.5093029,22.4258187,45.296677,12.2778838,39.9922563,67.7521834,34.5347018,50.5569819,31.0154974,5.780164,15.1333937,13.9080415,32.9795163,18.8492063,2.1176625,2.06436,28.6095408,22.7393647,44.9077586,11.9548957,39.3322766,68.3262586,34.2648202,51.2370457,30.4952631,5.6272335,15.4528691,13.2712875,34.5742296,18.6746988,2.0156752,2.022025,29.0390258,23.3853937,44.2363075,11.8378733,39.645454,68.6193229,34.2354671,51.2822465,30.2813685,5.3810399,16.508011,13.0514599,35.036622 +108,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6088292,0.6411708,12.266436,8.7024221,59.660483,24.0006892,30.3235908,67.9366736,30.2887961,40.6228253,15.2574809,4.9234516,11.9758351,9.4950213,36.5564342,5.5873926,0.620861,0.6530464,12.628866,9.0206186,60.7442348,24.476125,30.6608696,67.0782609,30.2434783,41.2695652,15.7043478,5.5130435,11.1781405,9.5457771,36.2106017,5.3424658,0.5412856,0.5727519,12.979798,9.4781145,61.8290598,24.7056845,29.6491826,67.1151226,30.5347411,41.7404632,15.8208447,5.2282016,11.1072664,9.2387543,36.4874302,5.6728232,0.4990668,0.5463407,13.0968393,9.667115,62.4786325,24.3374706,29.3947637,66.8650119,30.7548453,41.567494,15.6919415,5.4233254,11.6896552,9.3448276,37.1080139,7.0855615,0.3680547,0.3918642,12.9517055,9.4393786,62.5085793,24.5705625,29.2236662,66.4329685,30.8994528,42.1169631,15.5437756,5.2838577,12.1180556,9.2772759,36.6409537 +109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.1154845,2.1220186,28.7543123,23.1739665,44.2539254,11.1757242,39.4419227,68.3315243,33.5213355,49.9753572,29.2170898,5.4123852,16.810842,12.8112365,37.1128973,20.625,2.272447,2.2366472,28.5117036,23.271742,42.8970756,10.8256937,40.5884238,67.8851182,33.7413784,50.7548924,30.0031094,5.5135058,17.5348252,13.2326004,39.2578673,21.1297071,2.3341009,2.2403017,28.3534525,22.81209,41.8197655,10.5551676,40.6020088,67.4504867,34.2414718,51.4740917,29.8720413,5.5238298,16.6656863,13.2671934,38.6492613,20.625,2.0977034,2.0909225,28.3431031,23.0771714,42.3728181,10.6471466,41.4329072,67.7229103,34.7895332,52.2969712,28.5793244,5.6142797,16.2836455,13.6016333,38.8155664,20.9051724,2.0641986,2.0690842,28.659434,22.7598756,41.88214,10.3917971,41.3111012,68.2500865,35.2161657,52.3994551,29.1732723,5.442682,15.3995996,13.3377286,38.3394194 +110,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1864047,2.2038759,24.4503264,19.292551,40.0864237,17.0795917,38.9512618,67.2923313,38.7743667,50.8107069,26.9592687,3.6428075,12.557242,11.4440773,33.2278407,24.7740539,2.0791916,2.0964097,24.0334036,19.336904,40.5463359,17.6519056,38.7721435,66.9442965,38.1943291,51.0917015,26.230503,3.6832141,12.6716656,11.8471656,32.6738663,22.202525,2.2174494,2.2345417,23.5368068,18.8784284,40.1590324,17.1766894,38.7132977,67.5570741,38.6677793,51.1693304,26.4366172,3.9536971,12.3441418,11.9972824,32.8998916,22.691663,2.2023615,2.219144,23.6625318,19.2644964,40.1054739,16.9505457,38.7554094,67.4274076,38.3618768,51.3482232,26.4281029,3.8567062,11.6901219,10.7352669,32.7609359,23.5207503,2.1776155,2.1576209,23.0808867,18.5787031,40.682912,16.8248902,38.174701,67.9349875,38.0446633,51.9561891,26.3785475,3.5104544,11.1751279,10.1129783,34.1167677 +111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6450265,1.6707403,29.8213404,25.2823572,47.3011291,15.9833299,36.2296325,62.0023042,32.660913,45.0686972,19.3178437,3.1403981,14.4768105,10.9276026,35.856789,20.2478352,1.6631371,1.6890126,29.3705457,25.0015976,49.0387766,16.4777609,36.1916809,61.5116311,32.079392,44.8269278,19.3667426,3.2377828,14.7067195,11.3750645,35.9739766,19.4623617,1.6115726,1.6112123,29.5231634,25.326582,50.857844,16.1460953,35.756289,61.8528529,32.1216016,44.4320497,19.2564923,3.058142,14.31871,10.9116734,35.4076008,18.8734489,1.4886874,1.4811877,28.774845,24.7816248,51.9439793,16.2625464,35.2321743,62.8077309,32.1392669,44.2461542,19.2301952,3.1296606,13.9967868,11.1184323,35.3627074,18.8282198,1.5600001,1.5437956,28.7976619,24.8376636,52.6825603,16.3426664,34.1971981,63.1323565,33.0325138,43.6285407,19.3519871,3.2998221,14.6317455,11.5191669,36.1353233 +112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.191971,2.169156,37.09441,32.7030956,81.3655932,11.2292229,35.2275628,63.5787237,27.0703795,38.0875366,15.2573976,3.0713766,18.4010117,12.7221853,44.1462318,22.7152498,2.0973887,2.0821819,36.5795985,32.1019895,81.6075555,10.6465275,35.457317,64.7960553,27.0711974,37.5601733,15.3407667,3.1036243,18.1272807,12.8198325,44.9264077,22.5741362,2.1430748,2.1278131,37.2798587,32.2626232,81.4596681,10.625758,35.7162523,64.6105726,27.2239083,37.8329506,15.2122406,3.1240577,18.8765245,13.3689449,45.1868583,22.3771523,2.1039525,2.0655962,37.9012689,32.8277761,81.8967579,10.8927058,36.1343557,64.5797264,27.2515883,37.8800942,15.3137805,3.1192377,18.9407462,13.5431,45.0678576,22.992217,2.0044859,1.97956,38.1925114,33.1367072,82.6906081,10.9429255,36.3373542,64.2495824,27.3848592,37.7779808,15.499652,3.0484824,19.2410956,14.1670462,45.1663124 +113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.6305376,1.6150416,24.8726951,20.1273217,51.1368959,18.2861763,32.4422939,67.981613,34.6561451,42.8049657,19.3005192,3.5209604,12.3442193,8.984191,33.0668929,19.4791799,1.5223923,1.5089879,25.4296678,20.4997735,51.1499603,17.8790552,32.4539017,67.5691099,34.2281029,42.7764737,19.1128943,3.1682024,12.3945631,8.7863047,33.8931184,20.5708772,1.5879953,1.5817707,25.2383023,20.5830162,51.4916746,17.5963143,32.6472425,67.6028938,34.3302162,42.2901745,19.2744949,3.2408439,12.0138887,8.5456116,33.7768842,20.8719952,1.7054093,1.7197648,25.806792,21.3501493,52.1115401,17.5094133,33.3671151,67.0159881,34.2235537,41.9765403,19.6867101,3.0538613,12.7987136,8.8965456,33.5416959,21.9141368,1.5829837,1.5982187,26.3756409,22.1295389,52.6880535,16.6265767,33.1298381,66.5815672,34.7724497,41.7424877,19.9000946,2.830187,12.8616786,9.0683044,33.5834741 +114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4951281,1.4885449,19.2725798,14.4156976,64.7217534,14.4916167,38.9336437,66.5520329,33.3967443,44.5000018,24.6762088,2.943776,14.8567199,10.7187598,41.4801646,8.5025143,1.4312647,1.438466,19.3617453,14.245856,64.5054427,14.7893618,37.8043342,66.9919133,33.6064186,43.9965137,24.5136407,3.0004854,15.0142436,10.8174274,40.6902908,8.9478977,1.4958685,1.4958685,19.2350221,14.0530538,64.5564499,14.8896619,37.0250486,67.7049871,32.335119,44.1381661,23.948438,3.0856586,15.0238609,10.8235488,40.5700162,9.1037344,1.5936695,1.5936695,19.3211367,13.920072,64.5452365,15.5294276,36.9205223,68.6853019,32.7360004,45.18755,24.5317972,3.6408597,15.8095521,11.2620699,40.9195079,11.2957537,1.5445408,1.5445408,19.1964699,13.8973858,64.9475774,16.2183942,37.1878335,70.3206539,33.3150339,44.6293001,24.2515783,3.8806644,16.2003898,12.0759822,40.3111136 +115,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3667841,0.4062163,12.6677852,9.2114094,62.1533721,24.8491957,29.298604,65.9686755,31.545795,42.57746,16.0537964,4.9880831,12.8571429,9.4556874,36.4371047,7.8947368,0.3328121,0.3728378,12.8113272,9.5018765,62.6738526,25.2293578,28.9391845,66.2577747,32.0145128,42.6572218,16.1886662,5.2004147,13.4819533,10.3264727,35.3928571,6.9602273,0.3389085,0.3790241,12.0225102,8.9529332,63.628442,26.0462742,29.3294158,65.7967508,32.5440719,43.3632907,15.9868648,5.2367784,14.3212509,9.7153025,34.2724679,5.6521739,0.4191882,0.4512806,12.0471634,9.0738209,64.2857143,25.9328358,29.7934596,66.1101549,32.8227194,43.1497418,15.5077453,4.595525,15.4584222,10.0142552,35.2248394,7.1646341,0.4763427,0.508312,11.7897244,8.6934331,64.7007655,26.3488293,30.6646006,65.5819559,32.1108815,43.1301653,15.6508264,4.9070248,16.1047346,10.3956835,34.2826244 +116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.1617757,2.1666391,28.1801291,21.7176519,42.2762603,10.4164119,41.6202055,67.3992535,35.7688822,51.9677809,28.886551,5.7652416,15.7016505,13.3505901,36.4975598,20.7983193,2.4136262,2.4581739,28.8231053,22.0225049,43.2569667,10.373255,41.4717585,66.8313733,35.8182829,51.008903,29.1763166,5.6942555,14.2406299,12.9028507,34.911351,19.7095436,2.4595868,2.5036642,29.6810324,22.5977385,44.1280987,10.7342861,41.5717115,66.7061423,35.9190423,51.312516,29.6071892,5.9474195,13.8386086,12.783965,34.5694214,19.3234806,2.2446926,2.2748011,29.3966528,22.5214061,44.5417958,10.6922197,40.1816868,66.5713366,35.8335551,51.0136597,29.5994553,5.9334089,12.7937547,12.7687387,33.79559,19.704006,1.9462548,2.0075817,29.7052974,23.4688592,44.1994507,11.0839606,40.1322742,67.3400489,36.5623156,50.372033,30.0147849,6.0431429,12.0409487,12.0156035,34.3757356 +117,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4651852,1.5201542,23.6420838,20.1644795,51.1974154,17.237029,41.6775978,66.6208491,36.3779074,47.7838125,25.6056521,3.71556,13.1197009,11.4406565,35.6707404,12.0283547,1.4498108,1.4690398,24.0629317,20.7477142,50.984346,17.4299344,41.0115652,67.0398696,36.673563,48.2036167,25.4859806,3.3391452,12.8787721,10.9101347,35.3113956,11.2440245,1.4670636,1.5392234,23.6133793,20.1726526,51.1946275,17.3758291,41.2906948,67.8818721,37.1645183,48.5689011,25.8747524,3.1233067,13.8235091,12.1907803,35.8412289,11.6666722,1.3126887,1.3919722,23.1870885,19.4481395,50.234868,17.528961,40.9495567,67.7895717,37.9609865,48.3636355,26.2364605,3.2472282,12.6900498,12.0023213,37.1310359,10.6965227,1.2964385,1.3776097,22.554748,19.1985631,50.7189815,17.2648579,40.8146428,67.3223176,37.4207727,47.8365865,26.1857565,3.1890945,12.2921615,11.3420428,36.9331623 +118,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3673954,2.3415528,38.2968759,33.4074447,69.386802,14.0108771,33.3648907,64.7209205,27.8106899,39.7549374,16.4327768,2.1704223,15.7530388,11.7043984,38.300967,26.1452955,2.3811373,2.3584744,37.1089575,32.2417911,69.4288115,14.1151754,33.619929,64.5507623,27.8323308,40.0629411,16.5572267,2.1703855,15.8084563,11.5320382,38.4038086,26.2616207,2.3319154,2.3074791,36.6545565,31.8823887,69.4626075,14.7012847,33.6525138,64.7376304,28.0461275,40.2860148,16.833008,2.3175534,15.8085549,11.3725776,38.3139265,24.2094217,2.310905,2.2808178,36.1131314,31.4153508,68.9969172,15.4502123,33.9144433,64.9234181,28.6423292,41.1708838,18.0127887,2.4235035,15.6024278,11.4502405,37.7109156,23.1236109,2.344322,2.3269475,35.2725019,30.7684956,69.405983,15.3600732,34.0986311,63.8762563,29.363862,40.8017315,17.9548023,2.3531022,16.0483602,12.1204491,37.4862623 +119,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0380592,1.075938,33.3603896,30.4383117,70.5733558,10.0654664,33.7993421,63.2401316,24.9177632,43.5032895,19.6546053,5.8388158,15.4723127,11.525974,31.3311688,16.4122137,1.376205,1.4142567,32.9228243,29.3103448,69.7457627,9.5744681,33.5808581,61.7986799,25.8250825,44.1419142,18.7293729,6.3531353,15.4458599,11.9426752,31.3694268,19.2913386,1.2539809,1.2937898,33.3617747,29.9488055,68.8049209,8.2482993,33.7628866,60.5670103,26.7182131,44.0721649,18.2989691,6.6151203,14.3092105,10.3618421,28.7828947,19.9115044,1.1570131,1.1996025,32.7586207,29.491833,68.5255198,8.4699454,34.2883549,60.1663586,27.818854,45.194085,18.207024,6.7467652,14.516129,8.781362,28.4946237,16.8103448,1.3499437,1.3921734,33.9090909,30.0909091,70.6603774,7.6992754,33.6697248,59.9082569,27.2477064,43.9449541,16.4220183,6.146789,12.8975265,7.5971731,28.7985866 +120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0213127,1.9899452,38.6806489,33.3206353,82.7706844,10.6258339,36.5101888,64.3574288,26.7775798,38.7975235,15.0828636,3.0103454,19.721857,14.0792014,43.9591016,22.8174327,1.9004698,1.8689259,38.7569908,33.54059,82.542695,10.7077475,36.8349344,64.246369,26.8346464,39.0815343,15.2929812,2.9933523,19.3825682,14.1713437,44.8084178,21.7999791,1.8711035,1.8397965,38.4658257,33.2769304,82.3141276,10.6726888,36.1002036,63.9260381,26.6221257,39.3327787,15.7678056,3.0833941,18.0583353,13.2852081,43.5393036,20.9868109,1.9305391,1.9462065,37.9962887,33.0810711,82.2638435,10.7100509,36.6731029,62.7238305,26.4950102,39.4358744,16.2528077,2.7923998,17.5063033,12.9530917,43.6997288,21.8547268,2.0075822,2.0234292,37.0721906,32.6706704,82.9138957,10.2529146,36.9587734,63.4163054,27.0113751,39.2426409,16.3118017,2.7368364,17.5898412,13.2455196,43.5470789 +121,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6648083,0.6567928,15.6627374,11.259778,33.1781321,14.3379165,33.0809312,64.855089,34.6292641,44.6478525,19.7038664,6.0709904,12.4130441,8.8473818,32.1882119,7.7660281,0.6706843,0.667119,15.6284281,11.0789068,34.4743595,14.0345604,33.4444163,65.7247392,35.0820539,44.4529509,20.1344483,6.1946441,12.9379658,9.2205526,31.61132,7.0083669,0.6815927,0.6715624,15.183622,11.0613667,34.8559739,14.1091212,33.3579769,67.3784357,35.8093802,44.4061839,19.5739071,6.0733779,12.676501,9.1025056,31.6678185,7.6216622,0.693845,0.6839006,15.0841328,11.2892066,35.763702,14.005759,33.2739682,68.3493177,37.741439,44.723038,20.1475377,5.9894799,13.0832476,8.6950758,32.9432496,7.2190674,0.6582763,0.6742777,14.6517835,11.0401408,36.239801,14.2527832,33.5718203,67.8573662,38.3579293,45.4381325,20.3890777,5.8068645,13.3432857,9.5771895,32.8243096 +122,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8826551,0.9087081,16.3133307,12.8409522,56.4065223,20.1601828,33.7360623,65.2788732,34.5651804,45.5961527,20.2417407,6.2307227,12.4726064,9.0300894,33.3377775,9.9468213,0.8756721,0.9078172,16.6528399,13.0633531,56.9424123,20.24907,33.7950121,65.0952398,34.4049055,45.1635985,20.1453709,6.3005692,12.4353567,9.0203767,33.8166128,10.3540924,0.8941066,0.9236754,16.5615523,13.0973594,57.7022472,20.1934203,33.8331473,64.7731037,34.5239856,44.8866504,19.8805552,6.4090894,12.6570423,9.0645694,34.2062454,11.7740481,0.9215459,0.972114,16.936453,13.3728634,58.5128616,20.1426724,33.8764556,64.5752699,33.7897316,44.5803318,19.5554249,6.3493484,12.7255379,9.4132814,34.0870785,11.7616363,0.9597517,0.9905279,17.0761704,13.5746696,59.2779795,19.9693817,34.1402403,64.8571962,33.7688173,44.2184527,19.6423642,6.3330368,12.7223465,9.4062064,34.4990437 +123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.0023311,1.0111907,16.3326439,12.3945204,35.5991961,16.5457947,36.9300302,67.1954685,37.9794863,47.6538411,21.4053116,3.6127894,13.9073749,11.4380737,32.7094705,11.1952581,0.9411921,0.9542185,16.2596525,12.4269729,36.4409093,16.625247,36.9294283,67.4194929,37.684199,47.8196109,21.3789455,3.6120804,14.0874605,11.7235517,32.9090387,11.6639095,0.9909429,0.995103,16.5730081,12.8380761,37.0640142,16.5500558,36.7615094,67.2730915,37.5660267,47.7005394,21.4877513,3.3441447,13.9226735,11.4150249,32.6607811,11.6071115,0.970734,0.9930022,16.7699316,13.1478606,38.1496687,16.2398837,37.0875108,67.263511,37.4663886,47.3906095,21.8345077,3.2327091,14.3832372,11.30273,32.9383781,11.7021143,0.9462804,0.9889869,16.7987977,13.2912864,38.7996871,15.8345428,37.2449039,67.1318061,37.8718989,47.4858645,21.9633598,3.3747264,14.18432,11.0931239,32.5776526 +124,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.617168,1.6388966,25.5351215,21.4919642,57.9996937,14.7369249,34.2626806,65.6843191,32.4683939,40.7195293,18.4465629,2.9820853,13.1164871,9.5127187,36.3748253,19.2201556,1.7522807,1.7866407,26.9637066,22.7829822,59.0536311,14.3935625,34.3129215,65.6179294,31.7789537,40.5705681,18.4882324,3.0253693,13.1677192,9.8921351,36.5847702,18.6861497,1.7373404,1.7753991,27.6282716,23.343489,60.3737987,13.8732672,34.0092282,65.182616,31.2994117,39.648192,18.3555272,2.7857557,13.6071862,9.8990854,37.4532348,18.3914418,1.7722819,1.8040007,28.3905924,24.0252183,61.5019344,13.3371846,34.1700061,64.3809285,30.7457898,39.0599031,18.1017343,2.7082934,13.6718614,10.2224246,37.937082,19.0447523,1.7750492,1.8330752,29.312104,24.999778,62.5979956,13.044621,34.3891097,64.2517871,30.7220043,39.1863603,18.1810606,2.8569441,14.2176438,10.44946,38.0136752 +125,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3140765,1.3688753,21.443835,17.1529225,60.7977015,11.2578237,30.4558996,65.1951202,35.7338382,40.4605552,18.1198266,4.0505815,14.171536,10.8304753,34.3348468,9.4760006,1.3730805,1.4079633,21.6393945,17.3909066,61.2991256,10.7925512,30.0467322,65.0516608,35.7697261,40.9040702,18.1991204,4.1187637,13.966444,10.2757171,34.0210842,8.5382634,1.4788488,1.510381,21.8063006,17.4128936,61.6879373,10.917105,29.9968159,65.0772107,35.272666,40.2775852,17.6826688,4.1408726,13.1850589,9.8435589,33.8275802,9.1145409,1.3633076,1.3901623,22.1425207,17.7161863,62.5566135,11.0237118,30.2464337,65.0028418,34.9153015,40.5646124,17.9920909,4.0990996,13.0648526,9.7218807,33.4895284,8.6989958,1.4614583,1.4783293,22.1485881,17.7515219,62.4677843,11.0044863,30.2662797,64.6897287,34.6715022,40.7953258,17.799824,4.1860208,13.0322776,9.9921223,33.6499096 +126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.9258616,0.9586285,16.9995147,13.3805334,39.3267544,15.7936557,37.2876185,66.9043862,37.6844843,47.7055722,22.2435788,3.1936026,14.5121122,11.2677752,32.827398,13.1451605,0.8772302,0.8949069,17.3727749,13.7721983,40.3331128,15.6189093,37.8343332,67.0343948,37.3166507,47.8429538,22.3160284,3.3341546,14.2700311,11.3919407,33.4437882,12.9006746,0.9051974,0.9445356,17.6200642,14.0328873,41.0305735,15.6163424,37.7221762,66.5753596,36.7238873,47.8146939,22.0659778,3.2079358,14.2633298,11.463351,32.8200643,13.0673409,0.9395212,0.9806297,18.3151376,14.7347272,41.8437564,15.4417963,37.8121683,65.5178893,36.6368944,47.4473338,21.9576452,3.2872185,14.3080036,11.3151019,33.3454043,11.9531688,0.9807506,1.0153016,18.7876639,15.2276389,42.8562762,15.2476785,38.0708322,65.5922567,36.4080225,47.3611066,21.8761368,3.3678751,14.3682309,11.521228,33.8203896 +127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.0969941,1.1056461,20.1283545,16.4711611,54.064354,14.7361799,30.7263736,66.7912532,33.3921104,43.0959207,17.8349824,3.053598,12.9065085,9.0790201,34.1274663,12.7083192,1.1103798,1.1241771,20.3420772,16.8266667,55.2812991,14.7006593,30.8017208,66.5258928,33.2941129,42.5851752,17.8551731,3.0531752,13.104145,8.3597134,34.3506165,13.2138142,1.178625,1.1952858,20.96496,17.3944827,56.4033305,14.8957695,31.1188394,66.2919038,33.0267193,42.4298351,17.9681187,2.855006,12.8909635,8.4743401,33.8673322,14.078283,1.1633091,1.1857219,21.5447669,17.9138488,57.0118325,14.8819804,31.4864301,66.2010343,33.0370391,42.5411179,18.1593443,2.8806328,13.2920166,8.5103425,33.6703735,15.0059389,1.2311462,1.2525063,21.3922198,17.7909711,57.8252233,14.9150646,31.8303258,66.299258,33.4068184,42.5985402,18.3233153,2.9458927,13.3397638,8.8867424,34.1682859 +128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5099372,1.5099372,19.2291136,13.5688936,63.0854006,17.3149387,36.1349467,69.3814156,33.7382249,46.1178323,26.0266774,3.713056,14.4341839,11.9528908,40.5239392,14.1355277,1.7629118,1.7492044,19.4892558,13.6863235,62.8146634,17.631565,35.9343421,68.6704484,33.4222277,45.2072813,25.6084563,3.5844583,14.2776858,11.8961821,41.0227262,16.8603486,1.5814598,1.5673706,19.0937746,13.360987,61.7745391,18.0947672,36.2033866,69.1649423,33.4825811,44.9204257,25.4137397,3.4102461,12.8137151,11.5488537,40.6301084,14.3167736,1.7415438,1.7270717,18.6979311,12.8872133,61.7059857,17.7158148,37.1627189,68.2025124,33.410298,44.9902456,25.4397869,3.7686824,13.1703988,12.1885091,41.0297172,15.7151767,1.7007415,1.7864143,18.4557237,12.7662167,62.1292642,17.8153524,37.2277083,68.0109211,33.6458287,43.656157,25.0271401,3.776254,11.879647,11.2647036,40.7792711 +129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6947132,0.742077,12.8362513,9.6980958,36.1622545,11.4723745,27.5617982,64.0521214,30.4987704,42.8530676,16.9962076,4.5401471,12.2186332,10.0311888,32.0376788,8.8580659,0.7513749,0.7964306,13.050698,9.5217352,37.1409237,11.4000191,27.4298433,63.6220212,30.6116195,42.4702597,16.5028725,4.4832479,12.1262383,9.6819061,32.3003706,9.8411927,0.6732321,0.7034439,12.7455485,9.4275892,37.9535625,10.8137243,26.998807,64.100731,30.1334381,41.798794,16.0764219,4.4755687,11.3470319,9.5358534,31.5266017,9.7767958,0.6489619,0.6798923,13.6818657,10.200411,38.6848451,11.307068,26.891302,64.4549701,29.3315942,42.0598469,15.6137168,4.6659933,11.4984876,9.2457734,32.1286692,9.4289091,0.7312612,0.7620754,14.0130897,10.643501,40.9409479,11.7778562,27.1193216,63.6455264,28.6342332,41.642209,15.7248378,4.5610261,11.9320569,9.2042534,31.8921378 +130,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3386448,1.3555856,22.7863723,18.3333608,63.1697065,14.4799585,35.2164999,64.9101838,32.2425188,43.476381,20.6804786,2.9457413,17.903437,12.8064808,40.3244029,14.8653952,1.2630061,1.228929,23.5853539,18.5694732,63.5029592,14.0275035,35.8761566,65.4427477,32.6537669,43.8482998,21.0615859,3.1374083,18.775535,13.9353284,39.7436821,13.7842755,1.2830911,1.24943,22.9944676,17.8445953,62.7711181,14.055328,34.9207576,65.4821018,32.1508814,43.7000238,21.5876817,3.2500307,19.2830881,15.0880411,40.5372328,13.5638226,1.5564893,1.522369,23.5243279,18.1088073,62.0897225,14.0431355,35.048814,66.0753966,32.2980096,43.9831761,21.7267635,3.3456976,18.8793656,14.7353147,40.8338479,16.3316501,1.5116151,1.4596636,23.3402873,18.3472731,61.8884454,14.4642588,34.3740436,66.6562682,32.9470824,43.9768645,21.8385785,3.2352203,18.0697779,14.7051459,39.9144302 +131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6623418,0.696695,12.2170236,9.4008951,55.9971568,24.685477,29.8282189,67.3178698,30.4932486,41.5488782,14.283743,6.9963746,13.8873255,10.7323802,33.7400759,5.3370537,0.6365852,0.6623504,12.0923209,9.2730785,56.8514199,24.6034374,30.0165942,67.1879815,29.9889718,41.7796484,14.7938084,7.2100518,14.3374283,11.0027797,32.9309202,5.1305731,0.6394942,0.6659209,11.7455337,9.1102192,57.3067771,24.0344544,30.7834593,67.6780978,30.2422358,41.6950949,15.1424497,7.1367318,14.8892879,11.4060602,33.0298992,5.722305,0.6772969,0.7039984,11.7015007,9.0088555,58.3991706,23.8711052,31.6205912,68.1779413,30.9010337,43.3649587,15.0402993,7.0955466,15.0591818,11.3515042,32.4477144,6.2851547,0.5755155,0.6021817,11.7033263,9.2168941,59.509984,24.1608379,32.1653302,67.9205105,31.3358416,43.6355651,15.2888887,7.5943873,15.7445433,11.1667647,32.4910546 +132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4984175,0.5267945,12.6754375,9.8688465,70.5091968,24.3427475,29.4864562,64.1242536,29.3641752,40.2169263,15.9737375,5.4876307,12.4233136,8.8868376,32.8086479,7.0694124,0.4720361,0.5011059,12.4765474,9.6587623,70.3238507,23.5943258,29.6197987,63.623642,29.2741095,40.3047036,15.6034199,5.4839849,12.5639378,8.7387939,31.8181962,7.7427882,0.4770979,0.4770979,13.0044379,10.1040577,70.764962,24.3570119,30.3305399,63.6957185,29.6950217,40.7529631,15.9993922,5.6403057,12.8608084,8.7724917,30.9061519,8.0474998,0.490782,0.5279735,13.4915857,10.4651357,70.9692541,24.1582449,30.4607607,62.8061917,29.5587123,40.8342666,15.7055702,5.4929249,13.0392151,8.4918072,30.3559665,8.9095816,0.6144449,0.6345132,13.6437137,10.6475714,71.449733,23.7858377,30.6726053,62.8306931,29.2034727,40.9237872,16.0790374,5.6970422,13.2195435,8.4284789,31.6801613 +133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6433989,0.6798967,10.1352977,6.7528368,54.0697713,19.8138297,29.1337656,62.7063844,30.9523808,38.9686581,16.9298868,7.9325204,11.947597,8.8884512,35.5438287,5.3287791,0.6452033,0.663534,10.3436102,7.0722508,54.7927156,20.0070145,28.456143,64.1286539,31.6374285,39.1695931,17.2982459,8.0116946,11.8739584,8.4628305,35.7232495,5.6503234,0.6373287,0.6519459,10.595183,7.5382108,55.5829202,20.2903513,28.7482651,65.6524753,32.3114341,39.7616801,16.6936604,7.9245706,12.5879015,8.8497651,36.1215833,5.1456331,0.6023867,0.6150824,10.7412495,7.7671003,56.4158736,20.5650624,28.6482163,66.3197643,32.5594736,40.0617525,16.6857274,7.8110691,12.8516901,8.8936575,36.7097655,5.952382,0.56116,0.5905282,11.1746256,8.0363142,57.45425,20.3503774,29.1358879,66.6554735,33.0535056,40.4186243,17.1367799,7.5106326,12.6032995,9.0679485,36.3405571 +134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1838847,1.2189056,18.8167957,14.3393365,78.3664845,14.5860544,33.9400976,68.267261,37.2398327,42.5986429,23.8445755,5.7427043,13.4815235,12.6533489,37.6948714,12.5949643,1.1491548,1.2545654,18.8517802,14.7295222,77.07298,14.6600299,34.8531512,69.3313257,38.4729668,43.4847635,24.9426931,6.0735161,12.6537492,11.6546016,38.5923628,11.5219434,1.0772223,1.1472793,19.1134856,14.5486006,76.6527555,14.6979624,35.4577439,69.4892307,39.4885563,44.0300607,25.374639,5.8558573,12.9139489,11.1266421,37.3537475,11.3103484,0.8840785,0.9564159,18.0169728,13.6535097,76.8335358,15.029987,35.2308123,68.5213532,39.7732349,44.6046717,25.7991453,6.5779922,13.2932998,12.0037853,36.2435731,13.0710069,1.0362938,1.1085126,17.2131788,12.9229534,76.0669836,15.5772441,34.9812188,68.2874592,39.3660839,44.0733829,26.6923406,6.7810668,14.8616261,12.4248229,34.8007833 +135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.2287153,2.2907691,30.140727,23.1928463,43.7421878,11.1575414,40.269498,67.0389521,36.1829408,50.3788068,31.1537304,6.0573219,12.2341823,11.6736027,33.5404091,17.6353238,2.021877,2.0835241,29.6770279,23.3769443,44.3035241,11.4955166,40.2724117,67.2430522,36.5414639,50.5332288,31.112525,6.2635715,11.9667685,11.1387751,33.4505872,16.8808481,1.8402489,1.9032044,30.0831599,23.8708008,43.6838932,11.5395506,39.6375334,67.7410616,36.1039334,51.1112922,31.1229185,6.2503324,11.4595607,11.3103714,34.9282714,18.0439569,1.7528858,1.7851143,29.4805154,23.2344573,42.4173802,11.3367207,39.9747931,68.3438191,37.0476787,52.4185573,32.3612573,6.6093565,11.3969771,11.7999966,36.1340848,18.7504861,1.7009888,1.7336623,29.1373985,22.8563548,41.3662083,11.1703279,39.5244344,67.9914997,37.1894289,51.783499,32.650838,6.6975934,11.784524,11.7677147,36.7168313 +136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.8788298,1.9590994,30.6619434,25.7725389,68.6815071,8.4309894,34.6327302,61.3473232,33.2283797,37.4927071,17.7332273,3.3687499,15.7114676,11.1731147,41.7375573,17.9755789,1.9901375,2.0722473,30.9940461,25.9228825,68.9921155,8.1255777,34.7200654,61.2612286,32.9873691,37.7265955,17.8172602,3.3476468,16.2428198,11.476517,41.3979388,18.264113,2.0164104,2.077871,31.336411,26.3489513,69.0672681,7.8525558,34.4402064,61.1835358,32.8738951,37.7300142,17.7748664,3.4258847,16.4527565,11.603801,41.8491354,17.6707506,2.0403405,2.111789,31.7225041,26.6217293,68.9995665,7.8081646,34.7718888,61.2910474,33.051666,37.9518179,17.8439339,3.4494791,16.3708506,11.6278626,41.6963373,17.637925,2.05477,2.1300042,32.1932147,27.0111716,69.3696592,7.9772308,34.6645951,61.0599226,32.8307143,37.8594182,17.7712329,3.4722493,15.9833875,11.1042489,41.400241 +137,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7882456,1.8498851,29.7768593,25.4111039,63.3208456,12.9588336,34.4633931,63.8048046,30.5308629,39.318683,18.3605072,2.8240864,14.4421676,10.3499131,38.3661917,19.0010168,1.8384123,1.90993,30.453329,25.9967001,63.9788179,13.2748193,34.9943166,63.3311691,30.4701113,38.9873551,18.5396907,2.9222422,15.208789,11.1165211,38.2141341,20.0108597,1.9214743,2.0222937,31.7589109,26.8446998,65.0500867,13.059958,35.3186555,63.0245985,29.7175419,39.0423056,18.2312927,2.8952479,15.0173968,11.3557617,37.9591289,20.2889683,2.103827,2.1960747,32.5716142,27.5288967,65.3369989,12.9824707,35.3399709,62.4664939,29.5960616,38.7644525,17.4924842,2.9272694,15.2511365,11.4907835,38.5169533,20.8507196,2.1799045,2.2863333,33.5575596,28.3390502,65.8282569,13.2815982,35.0390189,62.4141044,29.8828288,39.4609824,17.6015183,3.0859446,15.270506,11.5017607,38.3493174 +138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5365891,0.5365891,11.477005,8.9962611,60.2285958,23.7419778,32.2824572,68.0599382,30.9415346,43.4379112,15.1925728,7.2325287,15.2930692,11.0238708,32.5029338,5.9632863,0.5670566,0.5670566,11.3950665,8.9099002,61.2125786,23.9728374,32.1247118,67.3956055,30.5163924,43.0445738,15.7308106,7.0682927,14.3142448,10.9106503,31.9549105,6.3167147,0.5334843,0.5334843,11.5450047,8.6765112,61.4244818,23.4279175,32.3805585,67.5909859,30.1336657,43.0744955,15.8845066,7.2099035,14.7395357,10.5852219,31.5286778,6.052621,0.5611495,0.5611495,11.8891907,8.9062468,61.8205318,23.6014137,32.2374265,67.3925064,30.7287067,42.8550974,15.3572227,7.2729907,14.3547508,10.233799,32.2311619,5.6350576,0.5575928,0.5575928,12.2785185,9.1500539,62.0084354,23.6286758,32.4478468,67.2739621,30.4728456,42.2114066,15.4519855,7.2461819,14.8825877,10.6889509,31.9613393 +139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8151485,0.8170989,14.2353495,10.8727666,42.6231693,11.0733436,30.3409029,66.9665987,33.5869863,45.942262,18.5266278,3.1139837,12.8911834,9.6612445,29.4807625,10.6635172,0.7869332,0.7918829,14.3440836,10.9395756,43.2431895,11.0313188,30.0958788,67.1007436,33.4848524,45.9941596,18.4960943,3.1460198,13.3206126,10.1520565,29.5864994,10.6132159,0.7796708,0.7946358,14.128015,10.6789192,43.8253096,11.0484439,30.3957771,67.2855335,33.4791345,46.1209128,18.7159947,3.2868631,13.5391229,10.5273132,29.3712471,11.2042701,0.7963752,0.8222757,14.012116,10.6835648,44.3668676,11.1065835,30.1110148,67.2998382,33.4817797,46.4152885,18.9239446,3.2058962,13.5154943,10.2026557,29.1451025,13.0075175,0.7878645,0.8080318,14.223685,10.8594505,44.9216085,11.1264054,30.1946727,67.6507364,33.1649304,46.4211376,18.9348037,3.365782,13.9056162,10.2728345,29.8420056 +140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.1901748,1.1884978,21.7327587,16.9182973,84.9803876,11.7901442,29.7288959,60.9429153,28.6775633,36.46781,15.1842926,3.1027825,16.3934848,11.514555,37.3096556,10.8697467,0.9924964,0.9907413,20.7955505,16.5177852,84.6489135,12.1958146,28.8110863,62.2494638,28.3028821,36.9171332,15.4130954,3.0826444,16.7295219,11.0427311,38.1659007,10.9789285,0.8365451,0.8347614,20.4330423,16.5488412,85.1385054,12.2381434,29.528015,62.0856834,28.5871686,37.3390093,15.7884395,3.4857878,16.3620586,11.2486773,38.133716,10.7230174,0.9480362,1.0012142,20.2924926,15.8339663,85.3952468,12.0253077,29.676425,61.7542075,28.9295303,36.9360377,15.5161573,3.3313503,15.0633824,10.9966164,38.358511,11.5919631,1.0231344,1.0757957,19.8341544,15.7174535,85.4573058,12.4565495,29.9245145,62.0033476,30.142795,38.66134,16.0831297,3.2404351,15.4170791,10.8549578,37.0663094 +141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8677027,0.9201928,19.2110724,15.1880553,85.8480056,12.5489357,30.1587873,62.7334409,29.6457609,38.1721994,15.7502847,3.2799823,15.0825586,11.0221513,37.3830821,11.7774071,0.8465961,0.8905853,19.2244582,14.7948228,85.4480325,12.4402047,29.9750496,62.8236799,29.63469,38.8759309,15.7293543,3.1454095,13.7633302,10.3992802,37.2610743,10.1298343,0.9369909,0.9925555,19.7543181,15.4302469,85.2082994,12.0202533,29.9058856,62.344843,29.9201072,38.5916857,15.1548767,2.9942132,12.2364292,9.6930612,36.8703365,10.0451855,1.0330926,1.0887957,18.8619724,14.7760503,85.2725673,11.5818748,30.0531397,61.9901371,30.6687102,38.6967295,15.1959664,3.0630399,11.946398,9.872603,36.6094218,9.4131468,1.0383506,1.0750808,18.6039006,14.3133209,85.0763217,11.2164046,29.8586177,61.819258,30.4626873,38.5023759,14.9189742,2.9594699,12.158613,10.2105567,36.2301461 +142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.7803328,0.7953608,14.9444481,11.7883056,42.5006609,11.3274331,27.2020216,63.5081845,28.0044601,41.9023187,15.6791928,4.5095733,12.155768,9.3372598,31.8487888,8.4698482,0.8199592,0.8149647,15.730361,12.2032736,43.781621,11.3261765,26.9402408,63.3774982,28.316847,42.1472134,14.838683,4.3379534,12.248091,9.6341477,32.5851031,10.0004216,0.9005602,0.9030174,15.9962585,12.5718444,44.3011753,11.728562,26.9024432,64.4788949,28.5098398,42.5049135,14.6095114,4.4600681,12.7329226,9.8050645,32.048724,11.8425533,0.8881745,0.8906075,16.2320698,12.9948616,45.5858457,11.5904679,26.370573,65.3720306,28.3377671,42.389675,14.7231356,4.7931718,13.0231195,10.3766933,31.393573,10.7899958,0.9297172,0.9558264,17.2174609,13.9010669,47.1617764,11.715945,26.1280918,65.0590172,28.7550521,42.0487067,14.5436968,4.5102781,13.6523144,10.5710799,30.9291842 +143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6595572,1.7475171,17.084284,11.6511772,61.4299546,17.3078374,38.025055,67.1961749,33.5821825,42.0076222,24.5777067,3.1699651,11.2600197,11.1873412,40.1098194,12.5620489,1.5269162,1.6468126,17.3466925,11.7409999,60.4372571,17.2257888,38.1666505,67.9450523,33.5822742,43.6426684,25.6562141,3.1036135,11.4360473,10.4214099,40.5423643,12.0657776,1.5425425,1.6613884,16.0985882,11.0002457,60.9451456,17.0078275,39.2290212,68.4917128,33.9698562,43.7697218,25.8723742,3.4381787,12.4952114,11.3073762,41.8456095,12.6867614,1.1483719,1.2820237,15.641812,10.6113219,60.0518151,17.8159543,39.3720774,68.5226812,34.8679134,45.3796997,26.3332414,3.3307907,12.2499267,11.6262819,41.8834859,9.3604161,1.3563219,1.4864391,15.632299,10.8936865,60.2876455,18.6131623,38.3470872,68.1979306,34.6557572,45.3623664,25.5276509,3.6446508,13.0548859,11.7178944,42.6342726 +144,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0082236,1.9880763,23.2631343,18.4201006,40.371991,17.1128867,38.3824251,68.3108261,38.120579,52.9975859,26.685981,3.3714986,11.7835521,10.7609382,34.9946912,23.66484,1.9058055,1.9301779,23.4288701,18.6342682,40.2960979,18.0704243,39.1996296,68.8269565,37.0029296,52.1772791,26.7292818,3.4792461,11.4495248,10.111571,35.3882092,21.517434,1.9111854,1.9647848,23.7894489,18.7371826,39.7677989,17.937579,39.0197253,68.6674139,37.624795,51.9823681,27.0574135,3.4422948,11.6394399,10.5148853,35.3897388,22.0215498,2.0621348,2.1371818,24.8110869,19.5086976,39.6055885,17.8536268,39.1436269,68.7650058,37.7359442,51.5284071,26.9566241,3.2539633,12.0330674,10.821558,36.2974366,23.9973655,1.8684604,1.9435728,25.6027494,20.2567359,39.847123,17.9743712,38.9933301,68.6472516,37.3585668,51.3721672,27.1753355,3.1600774,11.2685835,10.4260251,35.9508402 +145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8699198,0.851377,18.4720587,14.3821911,85.1112382,11.4224877,29.9724523,62.3876911,30.2430442,38.3520914,15.7713436,3.3468358,12.541247,10.1791597,36.3975859,8.4416425,0.9541767,0.9345693,18.3653369,14.1606465,85.3244804,11.152318,30.1324622,61.7959264,29.656079,37.713764,15.7536185,3.5813011,12.6081978,10.2672511,38.0666367,7.9545181,1.1433158,1.1083367,19.0847525,14.5660321,85.2652707,11.3034422,30.385704,60.9344165,29.8558204,38.1508536,15.6811604,3.4735048,12.3931865,9.6842903,37.7225512,9.0277524,1.0896947,1.0996782,19.1537977,14.713554,85.0076063,11.7232547,32.1370295,61.4968064,30.8227963,39.0858747,16.9805397,3.6829807,12.8915093,10.1148709,38.066138,8.8636111,1.0900716,1.1001045,18.6323796,14.2924038,84.8063172,11.5768261,33.4815172,62.8676804,31.1191631,40.6642347,18.2512402,3.9648734,13.710358,10.6927614,37.4431989 +146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.8061206,0.788042,16.5927927,13.2403666,60.4807251,17.1093871,32.2170235,66.0067577,33.4096935,42.157788,17.1077842,3.7228971,12.8985469,9.3921733,31.9010444,11.6239343,0.8541134,0.8385569,16.9565574,13.5122029,61.1106716,17.172344,32.2201327,66.0567954,33.359432,42.1319256,17.1270317,3.863048,13.1432899,9.516554,32.3788461,11.5985456,0.9454685,0.9361249,17.392794,13.8474906,62.2004421,16.4869759,32.3692933,65.3447101,32.5473848,41.2351976,16.9258843,4.0199516,13.1226069,9.7969205,32.6284368,11.6834363,0.9926283,0.9906628,17.8387762,14.0929714,62.6647403,16.5617888,32.0980453,65.5311554,31.9021473,40.6689009,16.8259004,4.0139024,13.3127651,9.3923125,31.9041117,11.6579595,0.970479,0.9685256,18.0806619,14.3619564,63.1662829,16.3905287,32.1906123,65.1842637,31.9044374,41.3037369,16.6203544,4.0129577,13.569177,9.5048678,31.7868481 +147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8640281,1.9292331,33.7666905,28.7230986,57.7292648,12.4504672,39.1547347,63.9162315,34.6693274,44.9410293,22.2082173,3.0871097,16.8962832,13.4509148,42.267948,17.4892527,1.8271777,1.9071927,33.0771258,27.7643023,56.8621974,12.0373785,39.6467314,64.0344602,34.8560717,44.9055404,22.942032,2.9416514,16.2518776,13.3698928,41.0487591,16.8552036,1.8107422,1.8622871,32.6184317,27.6229674,57.5455504,11.496147,40.2205647,63.7501672,34.9120304,45.1671376,22.4532922,2.9107419,16.7681762,13.2364486,40.3429765,17.0702179,1.7816723,1.8348789,31.1147938,26.2992126,57.0911198,11.3871104,39.6997863,64.0852749,35.3676092,45.290546,22.5108363,2.9690092,16.5105686,12.7151124,40.0380379,16.5384615,1.7923512,1.8572633,30.4815389,25.8981064,56.2798458,11.8810141,40.0829071,64.1428121,36.4292019,45.9284771,23.180037,3.010826,16.5412747,12.5021205,39.4892724 +148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9431682,2.0169271,35.43818,31.0237967,83.1406386,10.2493809,36.253845,63.9142669,26.7618803,39.1181364,16.5782301,2.8406474,17.6788747,13.0048207,43.5972803,21.8000058,2.1047964,2.1587407,34.3349389,29.9240813,82.4565615,10.1575861,36.1341274,64.4706594,26.4792625,39.42783,16.6689449,2.8406315,17.649951,12.7087114,43.1556031,21.9972299,2.0565366,2.1271801,33.4522499,29.3938692,82.3194062,10.7618899,35.7859259,64.1837839,26.464947,38.9141998,16.9377169,3.0111623,18.233576,13.3255565,43.8041239,23.0825103,2.2532395,2.3598675,32.2277841,28.1973138,82.064691,11.3387,34.9978409,63.8800785,25.9555007,38.9640891,16.3851331,3.0856184,18.5250674,14.0242934,43.6402567,24.4565449,2.2184322,2.3503828,31.697204,27.6151205,82.1099101,12.4111686,33.7571848,63.6502207,25.9795347,38.6248758,15.8973842,3.114663,19.5448146,14.1511117,45.1853375 +149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2400502,1.2571539,22.1570361,18.7145406,58.6524499,14.6855486,32.0643488,66.3996269,33.6533338,42.7767518,18.1077842,2.8270661,13.2252859,8.8443753,33.5661515,15.6032516,1.2222964,1.2468421,22.6253349,19.1068397,59.9099356,14.5534133,31.5653444,65.7462625,32.8896734,42.4380851,17.9909858,2.9466288,13.4290282,9.3213514,34.4804241,16.1832972,1.1815054,1.205116,22.7719558,19.1889812,61.0908607,14.3259917,31.5953681,65.6283212,32.2994056,41.9832619,17.7935619,2.8626443,13.8665446,9.4453307,35.1522257,15.4693002,1.1600378,1.192769,23.1610959,19.4832947,62.2214998,13.9768712,32.3760576,65.318499,32.0562299,42.27744,17.9437548,2.9251002,13.8769377,10.1128075,35.1931688,15.8756901,1.1989137,1.2368894,23.5581311,19.9257926,63.3652166,13.8980558,32.6745196,65.4361528,32.2859351,42.2953126,17.8547435,2.9679702,13.9070082,10.0108636,34.5774943 +150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3196777,1.4419578,16.8563979,11.9884213,60.1624202,18.184142,38.6495572,69.2671389,34.2889695,45.3277165,26.213623,3.4324867,11.8762437,11.1527868,43.2791059,8.8106244,1.2224512,1.2485925,16.5182125,12.0869399,60.2739916,17.6720608,38.6270802,69.0209617,33.87102,46.7792929,28.257212,3.4689996,13.62987,12.5409223,43.378507,11.3445378,1.0534495,1.0787495,17.4658389,12.5319842,60.6055649,18.0940851,36.8540138,69.1666683,34.0542911,47.8455484,28.1289459,3.9306489,13.8888666,12.6686244,44.4735842,11.1570248,1.0036579,1.0036579,17.0959128,11.6119885,59.4438275,18.4808386,37.1769328,68.841288,35.1958507,48.9230038,28.1022122,3.9875585,13.1450313,11.9476741,42.7939328,11.5079365,0.9219851,0.9447059,18.1161006,12.6451247,59.171627,18.5182207,36.0204762,67.6024203,34.1028349,46.7952169,27.5835877,4.1645244,12.0328083,11.4322271,41.7499271 +151,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5482491,1.5482491,22.9063539,18.011173,61.4992458,14.7981669,35.1454631,68.1088736,33.6151044,44.2158803,22.1314264,3.1626088,18.9530658,15.4316352,40.0824602,18.2080925,1.5981397,1.5981397,22.6239916,18.0457309,60.0442354,14.8050956,36.6804393,68.1431205,33.0673024,43.8984221,21.7310585,2.9847978,18.9160599,15.48043,41.3500663,17.2131053,1.6869831,1.6869831,22.7222373,18.0765022,59.5977952,15.1105774,37.1077289,68.2947456,34.5064395,44.9764445,21.9974762,3.1868268,18.006563,15.7714031,42.0907603,16.6666138,1.5692204,1.5692204,21.8239931,17.3579876,57.7424536,15.5935899,37.6850628,67.0188254,34.8009058,46.0082884,22.4178136,2.992344,16.7924198,14.9919123,40.9537531,17.567504,1.5483014,1.5483014,22.4291451,18.2158438,56.7656087,14.9623869,38.9133005,66.526435,35.7909288,46.296684,23.3854859,2.9795304,15.8255208,13.9365354,41.0298258 +152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9681108,0.9893742,18.1697731,12.4335378,59.6029616,17.3478945,34.4702294,67.0408245,32.8542503,45.0805525,26.8519806,4.2979521,12.2263801,11.059875,41.1643865,10,0.9000416,0.9204835,18.2856817,12.3862586,58.5911217,16.8015737,36.2679065,67.5349733,33.2477853,46.2526071,27.8476593,4.0994445,11.9602613,10.8975747,40.8247939,11.4906832,0.706679,0.7271456,16.9961735,11.4826024,58.0604037,17.5814055,35.0689263,67.3127209,33.6776373,46.7717138,27.3656572,3.8545986,12.0735725,11.0162978,41.0516938,10.5769299,0.8646231,0.8845668,16.6096217,11.0470657,58.0737632,17.6542094,35.3668835,66.8152127,33.7494211,45.6269802,26.2151809,3.6168407,11.6946765,10.1264139,41.8768121,10.8025309,0.9542617,0.9542598,15.9700585,10.3682894,58.2326367,16.810343,36.5372001,65.7625998,33.1888407,45.9370597,26.7850732,3.555693,11.1185594,9.8263055,42.6724329 +153,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0086534,1.0262517,19.1369364,15.5373824,78.2940041,7.5846426,28.0795595,63.3174858,28.2346066,37.2851391,13.8034472,5.424654,14.4363342,9.8331345,36.3869534,9.3116653,1.0379165,1.0621027,19.4569119,15.6540174,78.7084424,7.5318144,28.1591156,63.3150578,28.2217196,37.1032851,14.0035206,5.2983513,14.3500757,9.789457,36.2212593,9.838265,1.0398772,1.0526842,19.4788516,15.6173744,79.0298772,7.5288944,28.2088303,63.4396079,28.5784861,37.3469203,14.2909276,5.2976988,14.0989979,9.7871202,36.1134387,9.3200394,1.0257594,1.0280826,19.4978405,15.688451,79.461156,7.4333365,28.574344,63.412567,28.3174167,37.1728146,14.4069516,5.3577117,14.2245131,9.9338986,36.4153382,9.2221193,1.0134931,1.0108894,19.3241061,15.5409348,79.6982005,7.3570436,28.8142169,63.1411009,28.1467613,37.2303004,14.4411723,5.3805514,14.0000645,9.8286137,36.4512448 +154,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.147013,2.2451101,33.9259647,28.7496998,65.7132535,13.4420544,34.9164763,62.3381841,29.8160177,39.5492916,17.3685309,3.2210083,15.2882264,11.7283801,38.1413918,21.5736455,2.1977609,2.2594631,34.2516716,28.9369249,66.0370756,13.605624,34.6104827,62.2209918,29.3039211,38.8559646,16.7706636,2.9576768,15.4290698,12.1634172,38.3972198,21.5639149,2.2815825,2.3384677,35.0712618,29.668786,66.5423742,13.5884915,34.8512545,62.2372659,29.3711289,38.8992845,16.7756671,3.1216025,15.3856086,12.3366367,38.8259708,21.3934827,2.3764821,2.4341536,35.8563721,30.2859257,67.177193,13.2076985,34.753424,62.6425391,28.9446687,38.8520035,16.4791806,3.0277453,15.6858793,12.1441641,38.273316,21.0251563,2.3322447,2.3925076,35.6582916,30.4022508,67.9379664,12.8374663,34.8010038,62.6851144,29.0794575,38.3328028,16.3864767,3.0305463,16.2568882,12.0491426,38.4888387 +155,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0006982,1.0169741,22.068868,17.3480559,34.2231315,19.8031147,36.6824407,63.8663699,31.8758802,45.3945644,20.3575437,3.5779871,14.176084,11.4065987,40.9982792,11.9246344,1.1399536,1.141733,22.582185,17.9590387,36.4482995,19.1609828,36.8403711,63.9014076,31.0572507,44.7630925,19.5582551,3.3969923,14.4888022,11.4942771,40.4791811,12.0078205,1.1342879,1.1533622,23.0647863,18.5892695,37.7855238,19.3150168,37.3556739,64.2465622,31.1924583,44.5695607,19.1578798,3.6130575,14.6842784,11.5308421,40.7553433,12.6334209,1.1666899,1.1858484,23.2617798,18.5806604,38.9408826,19.2497562,37.4147102,64.7136428,31.6555571,44.5153936,19.2734236,3.606432,14.601133,11.4822889,40.5760148,13.6042146,1.2030608,1.2121941,23.2993783,18.5665315,39.8997194,19.7061585,36.9748324,64.9824593,31.9144165,43.5250748,19.6391963,3.50795,15.0197161,11.8734058,39.3424253 +156,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2903977,1.2903977,21.9135417,18.0482882,55.8717563,15.5410172,38.76329,66.8725183,37.1085666,46.5668714,24.3640285,2.725502,16.3447334,14.5874193,40.8115816,16.2856478,1.2406373,1.2991582,21.3010005,17.3598548,55.9566825,14.990307,38.4015421,66.4651225,35.7358094,46.2987541,23.584823,2.6033144,16.866467,14.7064681,41.6216655,15.804513,1.2148269,1.2713308,21.6629339,17.625622,55.2885118,15.4656968,37.1720384,65.6519232,35.413757,45.9849853,23.3797045,2.7454654,15.2500063,13.1680691,39.3890478,13.1015158,1.2865695,1.3652419,20.7925114,16.325738,54.961489,15.5178817,36.5000943,66.2509644,35.9513361,46.3926681,23.4715606,2.7976006,15.449784,13.6704293,38.2598496,13.8233405,1.3271511,1.47104,20.420337,15.8970463,55.295699,16.0573041,36.3248153,66.7004667,36.013161,45.8414404,23.2386784,2.2647067,15.3724061,13.3234888,37.6627448 +157,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7854994,1.7854994,34.7367188,30.5840391,50.1270011,18.5716766,38.1837929,68.2108542,36.367478,50.5631096,23.9347239,4.4539255,14.2911138,11.3383031,33.5494143,31.7531577,1.9038854,1.9038854,35.9406878,31.0534758,51.3200884,18.1143866,36.8341484,67.6147244,36.0769639,49.0233055,22.8295669,4.2646591,15.0942422,12.4393686,32.9986598,29.9538785,1.9109294,1.9109294,35.2978533,30.3549517,50.8255111,18.0847237,37.4210057,68.4013315,35.8143316,48.7351615,23.9269874,3.9790291,12.4383758,11.5877615,32.634278,30.616834,1.9193245,1.9193245,34.0564902,29.4358934,50.618659,18.4298792,38.13962,69.5430643,36.0929722,50.0279867,23.5197461,3.8237372,13.617669,11.6875224,31.1879576,27.2636725,1.6263124,1.6263124,32.5526702,28.0400924,48.6589894,18.7028458,38.1468323,69.6737752,36.994949,49.3767613,24.4124462,4.1435989,12.5948342,12.415329,31.5641843 +158,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2994305,2.3730635,35.8183745,30.4918603,68.918527,12.5513277,35.0037856,63.0811232,28.9190502,38.4169427,16.5791622,2.9420878,16.8853258,12.2815698,38.4696589,21.7414655,2.2758035,2.3304042,35.9892521,30.656946,69.7274687,12.0718812,35.2762579,63.4508007,28.7101578,37.7754791,16.2760364,2.8950471,17.050833,12.3367188,37.8362255,21.5479743,2.3350542,2.3862257,36.5133957,31.2724501,70.5300369,12.2326273,35.3694221,63.8078697,28.7877053,37.9151245,16.1053425,2.8485066,17.3934147,12.2414787,37.3224761,20.8976163,2.3568159,2.4601975,37.0956616,32.0122112,71.0728735,12.6082896,35.3036374,64.1091308,28.5968862,38.2705618,16.5276903,2.8666481,17.9102916,11.9514752,37.73064,21.5556739,2.4109852,2.4831461,37.2338886,32.1939056,71.7116985,12.1666279,35.1523925,64.0734665,27.9222502,37.8926775,16.3261658,2.8564885,18.3387146,12.0019695,37.9063127 +159,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6208798,1.5975364,27.8044004,23.0225766,47.629448,16.6666683,39.1032618,64.4058822,35.635111,46.1009937,20.859816,2.760107,14.6544544,11.4477368,33.9138765,14.5507841,1.6069793,1.5751977,28.1641784,23.4353874,48.3570143,16.447903,38.8113614,63.8575038,35.8345103,45.545096,20.7041474,2.720177,14.2008186,11.1270551,33.6014423,15.2723765,1.6688624,1.672775,29.0847445,24.4784475,49.2084347,16.4426678,38.7304488,63.9188875,35.7754373,45.8019782,20.5318624,2.7002186,14.5850069,10.9279519,33.5040174,16.7276234,1.7051056,1.7548115,30.0135683,25.4523671,49.2415832,16.4563724,39.2206669,63.8449095,36.3153788,45.9127027,20.2063416,2.6547735,15.0179288,11.5077689,34.1163919,16.6964464,1.8283488,1.8766823,30.1827905,25.6250982,49.5193666,16.4635839,40.0140343,64.0762142,36.183167,45.6006178,20.2812926,2.6835542,15.6551351,11.9574028,34.0816622 +160,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9621366,0.9853059,17.2756697,13.8654925,59.0017034,20.1034827,34.555091,65.2968542,33.9617691,44.4316972,19.9445452,6.4341083,12.9508467,9.2048663,34.4064862,12.3684421,0.980353,1.0034148,17.4721013,14.0200734,60.1381053,19.7755623,34.3026621,65.6481521,33.7492893,43.8208584,19.7306419,6.2530567,12.7735675,9.1032766,33.5963027,12.1101975,0.9532153,0.9681382,17.4886147,14.1091136,61.0144603,19.4530302,34.0806002,65.6156006,33.8253974,43.4866012,19.2793271,6.1671949,13.5464857,9.9802071,33.9501217,12.5512282,0.9664474,0.9756804,17.7605563,14.4669708,61.585766,18.8767101,34.7226317,65.9149258,33.7963658,43.7809747,18.9401649,6.0567601,13.3995876,9.5898296,33.7986249,12.7988122,0.9256422,0.9348101,17.6618227,14.3601063,62.1689634,18.3967842,34.5812008,65.9219809,33.5269173,43.7224462,18.8031112,5.8883246,13.4539906,9.8613274,33.2964393 +161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2.0030842,2.067459,32.4154214,27.1423883,69.4771486,7.9509479,34.9205965,61.1455466,32.8563684,38.1638481,17.8040474,3.3203388,16.0023166,11.0568999,41.2315569,17.2755616,2.1062508,2.1672421,32.7456001,27.4036003,69.5556824,7.6782766,35.1723721,61.3642926,32.6779259,38.0810466,17.6647663,3.3677978,15.8078666,11.1156851,41.1306854,16.7640858,2.0633373,2.1290411,33.1422901,27.7270227,69.6160061,7.7457042,35.0993547,61.5578306,32.8866767,38.2809016,17.783805,3.333494,15.9982816,11.583195,41.5296923,16.9354643,2.0394607,2.1223583,33.0042308,27.5824806,69.922906,7.7586955,34.9916266,61.7540275,32.7701151,37.9410431,17.7307147,3.3569786,15.5351662,11.248276,41.5761321,16.4100294,1.9818255,2.0843075,33.0007131,27.6109091,70.0534735,7.7627228,35.2366607,62.0659934,32.7765014,37.9214828,17.8914984,3.2748509,15.6075081,11.3028692,41.2461802 +162,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6576212,0.6735276,14.510147,11.0495118,36.8279623,14.2960393,33.3847688,67.0885583,37.6845448,45.1449184,20.179519,5.6166154,13.0208757,9.8093378,32.7742966,8.7628866,0.7397338,0.7502747,15.3883457,11.6586488,38.3476178,13.8506485,33.492963,67.6538632,37.5280359,44.7512129,20.1600722,5.765517,12.8499148,9.8800282,32.8805265,9.0490825,0.7122541,0.7118422,15.5854366,11.8562966,39.5788948,13.3504837,32.5293348,67.151907,38.028759,44.888855,20.0881002,5.6721514,13.0382038,10.3443382,32.746412,9.5037576,0.7748765,0.7704395,15.8103728,12.1963971,40.3026788,13.4167113,32.3726468,66.6364496,38.1446145,45.2738806,20.1227523,5.6536606,12.7869987,10.2868798,32.572107,9.691828,0.8265705,0.8221366,16.3782837,12.6610515,42.0008919,13.1792959,33.008582,65.6382603,37.4063562,45.1089394,20.5959121,5.8159956,13.4324562,10.3784347,32.750967 +163,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7664189,1.8292277,29.0012246,24.5584536,58.3785483,9.9150232,30.4268366,63.7601743,33.1988687,38.467113,18.0009672,4.1201227,13.5663584,8.6839955,38.5120891,20.571279,1.8115513,1.8723473,29.3948134,25.0575947,59.1213044,9.8801364,30.2942385,64.155519,33.6257514,38.1451439,17.9990458,4.0585753,13.7795713,8.6911726,37.9751639,20.70451,1.7956866,1.8448139,29.5176644,25.3490497,60.2923767,9.8342589,29.9630402,64.6001397,33.6727171,38.3030936,17.7385793,4.0154585,14.309926,9.0209232,37.4706054,19.8979543,1.7923784,1.8362498,29.6346394,25.4459507,61.5591356,9.8245285,29.6966296,65.0723645,34.0115534,37.987921,17.6812311,3.9863264,14.6849117,9.5636964,37.1277485,19.5514191,1.7062377,1.7565996,29.7861845,25.6211531,62.3899108,9.8743467,29.4959549,65.5096469,34.2732149,38.0963378,17.6515127,3.9843396,14.7672901,9.7938844,37.0779775 +164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6106343,0.6311157,13.6363923,10.7811167,71.7883069,23.6271523,31.2229161,62.8634846,28.7170817,40.1769354,16.421686,5.4627593,13.6300894,8.1371231,30.6001336,8.9285763,0.4993198,0.5274126,14.4560886,11.0911655,72.8604568,22.8389515,31.5518405,62.4210483,27.5558477,39.7434471,16.033998,5.3779683,14.3686007,8.6584573,31.3623734,8.7837885,0.4855349,0.5134225,14.640071,11.138124,73.4302038,22.6430377,30.8366257,62.0866247,27.0998712,39.1369076,15.4927226,5.1091295,14.0190077,9.0136091,31.6930344,9.5549763,0.5536782,0.5915915,14.9534145,11.3877208,73.3012993,22.9489614,31.3282653,62.804863,27.1423898,39.0079132,15.6394178,4.8615713,14.0498661,9.0755784,32.4829837,9.469697,0.6587716,0.6968697,14.7878136,10.9653305,73.1460017,21.9389364,30.7220799,63.0175458,26.9128861,38.8373674,15.3858909,4.985097,13.8963601,8.9225637,33.1636161 +165,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3517826,2.425643,37.0466546,31.9560273,71.728512,11.9013855,34.7861642,63.1852502,28.1587706,37.6818019,16.1119266,2.8104742,18.6812695,11.8823547,38.4750892,22.1325462,2.2285842,2.2980085,37.2079652,32.0098421,71.7781098,12.0488531,34.3269918,62.7613954,27.7914368,37.6256881,15.8975941,2.7954197,18.3774103,11.8173808,37.859699,21.2542043,2.1460646,2.1847896,36.9916949,31.8454037,71.9267389,12.3786887,34.321528,62.3980255,28.2072183,37.4170962,16.0250541,2.9493444,17.9308535,11.5361258,37.0948529,21.111993,2.2681497,2.3015741,36.9524796,31.6334613,71.7232882,12.4061545,34.5913285,62.2801737,27.8831634,37.252736,16.0389918,2.8872016,18.0543673,11.3056287,38.0248961,22.1512276,2.1838586,2.2219292,36.5721791,31.361636,71.5254849,12.3068811,34.3205182,62.1191557,27.6974188,36.7924367,16.1769958,2.9928936,16.9838837,10.9916591,38.0270606 +166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.037612,1.0601106,18.688526,14.8326243,64.0659655,16.5629048,32.4587777,64.6047033,31.329806,40.7883213,15.8894969,3.8733465,13.8791456,10.003969,32.0234197,10.9116889,1.0530266,1.0802302,19.2444952,15.3842849,64.954475,16.6217796,31.952646,64.5929852,30.8217284,40.7271554,15.7558352,3.8959544,13.9471901,10.1227003,32.6119354,11.3424728,1.1296948,1.1433632,19.0640829,15.3321268,65.8552179,16.4257754,32.0854949,64.5172714,30.362689,40.9553301,16.2473208,3.8222761,14.2900511,10.7971359,32.5090762,11.2784746,1.103418,1.1146924,19.101686,15.4861375,66.1831338,16.4546515,32.6424259,64.7844411,30.2932978,41.0840047,16.4038594,3.7901055,14.548276,10.8058971,32.4712269,11.3031107,1.0891034,1.1205024,19.0848763,15.4706627,66.4144153,16.4475416,32.7518369,64.9090535,30.2567646,40.9557582,16.2850835,3.635843,14.6715643,10.8356861,31.9514342 +167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.294942,1.2997453,23.8690094,19.4023829,40.7607961,20.1270672,36.4252979,66.0458034,31.9501106,43.6802022,19.6745093,3.3353258,15.0605785,12.3471478,38.4911741,16.9302532,1.2840373,1.2982144,23.9873876,19.4472973,41.9158301,19.9287934,36.3202429,66.3252763,32.0301053,43.1263948,20.0485004,3.2451028,15.9815056,13.1829514,38.7221024,16.114581,1.3221001,1.3825182,24.2094506,19.6507426,42.7059707,20.6777198,35.4933075,66.0220825,32.4645161,43.2910056,20.3060067,3.2444273,15.6120002,12.6749755,38.4504156,16.89957,1.2515747,1.3181118,24.6760831,19.9201988,43.07361,20.6676343,35.3043221,65.7032432,32.9646326,43.4427355,20.7436385,3.1700327,15.5071978,12.1557665,38.1108439,15.753541,1.2950213,1.3382826,25.478625,20.8649748,45.2489359,20.4286632,34.6787063,65.0853201,32.8142392,43.1442263,20.9948885,2.9502305,15.9123504,12.3828316,37.7710557 +168,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5548638,1.5719812,22.570842,18.0852582,62.8771781,10.6568929,30.799101,64.9269784,34.200415,40.697048,17.1565531,4.2341444,12.8718135,9.8343969,33.5368378,9.6454851,1.5389121,1.5654674,22.6915115,18.086891,62.2274845,10.4922888,30.9237342,64.8689,33.9317098,41.0205501,17.2663992,4.2553617,12.5750775,9.7231361,33.7983887,9.9824037,1.5054698,1.5113365,22.9136331,18.4193263,62.1117972,10.0885263,31.6247089,64.8157175,34.0598617,40.9510338,17.4762889,4.2458745,12.5866018,9.7801375,34.0696334,10.0833333,1.3897336,1.3852155,22.5946101,18.1692609,62.2559467,10.2916073,32.0132629,65.4394688,34.0482375,41.1237411,17.8130255,4.5341558,12.7148843,10.2481519,34.4114878,10.4166667,1.4159543,1.3925445,23.1663667,18.6215108,62.3258028,10.2667387,32.2389613,66.0231579,34.6091517,41.2378769,18.263651,4.2361629,12.8079058,10.4993751,35.0542818 +169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5666306,0.5999071,11.5298605,8.3314693,58.0547368,20.5198542,29.3967085,66.6629623,32.9808599,40.4162932,16.974621,7.5578799,12.0170656,8.7865138,36.8337829,6.6498339,0.5946082,0.6275643,11.6818298,8.2205456,58.5574499,20.7962711,28.7808665,66.4572331,32.6829869,40.2667537,16.5233674,7.3522918,11.3103125,8.6176349,36.3697109,6.4273811,0.6392217,0.647687,11.8292412,8.2663456,58.7701982,21.1338065,28.279667,67.1601493,32.6237343,40.1231909,16.155177,7.4238158,11.2095009,8.3693775,36.4723782,6.5354351,0.5729525,0.5813931,11.8175896,8.3297198,59.3189173,21.5911551,28.5760292,67.1992253,32.9079954,40.1565508,15.9446709,7.7954117,11.2618409,8.4230939,35.6678258,6.09568,0.5356189,0.5455039,11.8475655,8.265996,59.4932573,21.5164451,28.7085019,66.9361795,32.6325978,39.5968157,16.2893509,7.902116,10.8798292,8.4763946,35.5569988 +170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1775159,1.2065188,21.9609644,17.6238089,48.8621638,15.5693863,39.3051105,68.1227896,36.2359387,48.6405733,22.9963447,5.2989503,13.46164,10.3944414,27.9578077,12.5340002,1.2255792,1.2648777,22.5869333,18.040959,48.8766616,15.8975113,38.9369331,66.967666,35.9377283,48.4612415,23.3055761,5.4255239,13.2854481,10.5342986,29.0440928,12.8377511,1.2283148,1.307302,23.1147625,18.3216835,48.7073671,16.0471032,38.5476585,66.6046717,35.5454687,48.1458841,23.3629729,5.3979066,13.3660603,10.7590046,29.4832837,12.1111917,1.3196056,1.4054276,23.2325545,18.7067851,48.5615969,16.2466835,37.8364395,65.9022983,35.1780838,47.9379498,22.6726528,4.7062855,12.3727958,9.2493459,28.3325653,12.6982498,1.3364617,1.4538492,22.5235493,18.0286642,48.8805875,16.4145611,37.3232055,66.0813196,34.8007402,47.9750156,22.5768359,4.3345838,12.6132819,9.3144724,29.2746656 +171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.0710546,1.0809186,19.3466973,14.4883602,84.9846329,12.212888,33.2687578,62.8177898,30.6934424,39.9583406,18.1562036,3.9021331,13.84958,10.6424555,37.1975234,10.335605,1.0695218,1.1000554,20.2866771,15.4227818,84.8699573,12.208597,33.5157098,63.3806994,31.4538773,39.8112771,18.3914876,3.758116,13.7114648,9.7879982,38.2817053,9.4862702,1.0938627,1.1244366,20.0834563,15.4821413,84.1413499,12.4633758,32.5867902,63.4520918,31.921872,40.2132432,18.1267877,3.4923154,13.3995811,9.6792661,36.8791203,12.2387243,0.9776938,1.0078282,18.985287,15.039858,84.82828,11.7903747,32.3796148,63.2804988,31.5253974,39.7429222,17.7831502,3.2542492,13.8624421,10.1449187,36.2467249,14.247934,0.7470623,0.8077234,17.9946591,14.0545559,83.8891988,11.4855526,32.3291587,63.9674727,30.9427012,39.7260753,17.5341234,2.8728506,13.6203707,10.0508205,36.2571015 +172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0037936,1.0762731,16.7836969,12.4834731,75.9794618,15.2325142,35.573043,69.6959339,39.8346819,44.895905,27.6138782,6.8345258,14.5393682,12.0949389,33.5528508,9.3324952,1.0312836,1.1326073,15.7414751,11.1354311,76.2499207,15.3399026,36.0404212,69.1372313,40.9225452,45.8929367,27.4695432,6.8183117,14.991136,12.6063531,34.3525612,5.5994971,1.0795958,1.1440164,16.4303858,12.0468079,76.3786958,14.7587739,36.0839935,69.0282731,41.7420738,46.6257236,27.1693947,6.3952556,13.4320833,12.020555,35.2185338,9.3283582,1.2396647,1.2324849,16.1601037,11.512553,77.4699991,14.4791287,35.5858249,68.5584878,40.0282931,45.4839537,25.9189192,6.3533546,13.3720432,12.6007385,35.7507556,11.6,1.4903598,1.5201055,16.5577166,11.669401,77.486222,14.4067584,35.0705853,68.3294787,39.4193995,45.2155554,25.3257866,6.6440217,12.8286315,12.8286315,37.0489963 +173,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3951674,1.5450762,20.8795193,16.2167635,56.734513,16.7786335,34.3988343,67.2251971,34.9165439,44.5312127,22.3541799,2.5152786,15.2483469,13.1675428,37.8400574,15.40865,1.4246142,1.5819124,20.2611583,15.4558512,57.3964451,17.3319992,34.0527832,67.7215606,33.7057515,44.2580554,20.8164463,2.6251554,15.023631,13.4932356,36.8435744,12.4998649,1.4322716,1.5718985,20.2858493,15.1492397,56.9906233,16.6251553,34.0761766,67.526582,33.4885493,44.7606562,20.1861645,2.7856068,14.0467891,13.5515963,35.7677941,11.9563918,1.4489872,1.5586052,19.6131648,14.9340678,56.3787232,17.1084349,34.7691285,67.2177604,33.7359282,45.0449212,20.3290874,2.9802022,13.5991697,13.1204815,36.4452265,13.3586461,1.3973164,1.5091348,18.6210893,13.8566196,57.086005,16.3673943,34.6656839,67.6102154,32.9587716,44.6061892,20.5475244,2.8854122,14.0197142,14.560823,38.2638553 +174,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.038842,2.163453,25.8247708,20.1381991,39.3676365,18.0431053,40.1337704,68.2490219,38.1936152,51.8815532,28.0481933,3.197729,12.0918856,10.7893515,35.6840706,21.0465919,1.9818012,2.105349,26.2007066,20.4245345,39.7825211,17.452656,40.5558261,67.7437577,38.5801525,51.5875816,27.912891,3.4897198,12.2293955,11.1336862,34.6351231,23.9086085,2.0380503,2.2056093,26.2001577,20.4382332,40.2423482,16.9815568,40.686615,67.5265421,38.3935161,50.6145584,27.5853499,3.7013592,11.7826586,10.7678789,34.5961038,22.246434,1.8725637,2.0066174,25.6576291,19.9959919,39.9830987,15.7666143,39.9281459,67.7342789,38.8529878,49.8919038,27.4798222,3.8291435,11.4049116,10.5709405,32.9478531,23.1236245,1.9112258,2.0367523,25.6692738,20.5719537,40.7922382,15.6775549,39.7606083,67.9478121,38.7792886,50.0239562,28.039395,3.8528662,11.5246725,10.7782149,31.9896879 +175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5229255,0.5229255,12.5273993,9.4058041,61.6121103,23.974507,31.5695531,67.0835292,30.634935,41.3551227,15.489251,7.4354111,14.817798,10.3273004,32.6028162,5.635142,0.6102081,0.6102081,12.784107,9.5102801,60.9994358,23.7665711,31.7375976,68.1532784,31.0010747,41.6120796,15.6710156,7.433163,14.2285144,10.1391568,32.9827323,6.1718136,0.5807224,0.5654816,12.9910854,9.7940996,60.8917461,23.9507637,32.4254193,68.1494495,31.7410243,42.4445337,16.219526,7.5143563,14.0600052,9.737152,32.1891562,5.4271304,0.6585077,0.6173433,13.816343,10.7368612,60.9054929,24.3953113,33.1158063,68.5503936,32.4215286,42.5853619,16.5092779,7.6784045,14.7348422,9.8850222,32.6816831,5.6719846,0.6639641,0.6227557,13.9339778,11.017862,61.4165252,24.7878562,33.5874637,67.3551462,32.64484,42.4590862,16.4263912,7.6933601,13.9299443,9.7915637,32.9563989 +176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5795786,0.5845268,11.9430589,8.4220836,60.1579404,21.4812564,28.2827217,66.6702274,32.5598749,39.8952117,16.1569723,7.8806706,11.2780374,8.7812102,35.9581774,5.7844709,0.5539506,0.549098,11.2949168,8.0740566,60.7508212,21.8935618,27.929769,66.4691907,31.8504921,38.8517893,15.6721255,7.8091369,11.074993,8.0043412,36.1390507,5.4330717,0.6640109,0.6631005,11.2616483,7.8582217,61.647246,21.8684413,27.4386264,65.8164294,31.1099151,38.3671327,15.3575242,7.5880502,11.2127707,8.2765993,35.7142796,5.403351,0.6773895,0.6998612,11.2659286,8.1118983,62.2080559,22.1836253,27.7813368,66.1424859,31.803583,38.4146364,15.7573819,7.7984631,11.3211603,8.4360427,36.6695185,5.6818208,0.6887357,0.7193896,11.1341316,8.1897464,62.5435251,22.0700714,28.5852649,66.0745002,32.0090347,38.5551273,16.1175719,8.128772,10.9180656,8.0042953,36.2397171 +177,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1677128,2.1892056,34.2218025,29.6738607,68.3018652,15.5247304,36.0647576,63.8777524,29.9511992,41.2315387,18.269015,2.2818606,16.3557894,12.6413256,36.6196737,21.4908368,2.2244243,2.2304223,33.7162842,29.2377581,68.1534933,15.8310459,36.8981083,64.2397635,30.1283961,41.0420124,18.0768731,2.3781717,16.5808183,12.5498702,36.9043919,21.7966648,2.1068794,2.1107562,32.6063863,28.185639,68.1846686,15.6469447,37.1874144,64.5384761,30.4612676,41.4434026,18.8242136,2.39583,16.2072082,12.7713641,36.2702207,22.0894806,2.0598799,2.0368654,31.9637225,27.4907917,67.8079457,15.6009725,36.7922889,65.2137441,30.6227806,41.3145648,18.7329331,2.3809368,16.0774216,13.5951076,36.793305,22.2752364,2.1114001,2.0975596,31.847417,27.3163197,67.6822419,15.0850244,36.3513876,64.3345011,29.758202,40.6768866,18.5707935,2.2523709,15.8412856,13.4517438,37.0005256 +178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4327539,1.5567777,22.1059596,17.6879722,48.6254011,16.8124347,37.0573532,66.2404093,35.5774933,48.3299049,22.5979441,4.7826403,12.9764648,10.0385814,29.1040022,12.0411488,1.4529526,1.5606124,22.0861706,17.6284422,49.1294585,16.7157263,36.5715496,65.4412254,34.6345402,47.1157449,22.4718005,5.0334188,12.2748957,9.9874042,28.5706415,14.4956478,1.5524123,1.6242059,21.4907247,17.2539303,49.0302581,16.7271524,35.4704459,64.8641513,34.7574942,47.0400853,23.3511335,5.0063975,12.5051168,9.8845856,27.760359,14.1090748,1.647156,1.740184,21.333545,17.2394801,48.5211606,16.2791172,35.5271314,65.4670765,34.6757225,47.4172184,23.1445573,4.9949938,12.6950656,9.8675959,27.648068,12.8364797,1.7294539,1.7922425,21.5673694,17.453191,48.369683,15.9325565,35.8554429,65.1080235,35.3845825,47.5598747,23.5910313,5.4081742,12.8203098,10.1792411,28.5794701 +179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8143402,0.8298815,18.3934816,14.4840653,84.1802132,11.2127031,32.0902324,63.7472082,30.6822589,38.595346,16.6645889,2.7159854,14.3752418,10.1477984,36.2657072,14.5313145,0.6034105,0.6191255,18.2245445,14.2148152,84.4775849,11.806675,32.0378554,62.0677258,29.5954342,36.6299869,15.4562169,2.4013214,15.2195753,9.844923,38.146909,13.7674273,0.790957,0.8069527,18.4005554,14.6076786,83.8439098,10.7399537,32.4751143,61.8260933,30.4148398,37.3256481,16.3271571,2.7028114,15.3220666,10.3762414,37.4300312,13.0543673,0.9084019,0.9462566,18.3211904,14.8860827,84.0862297,11.0991533,31.8586225,60.9436415,30.8743783,38.4777167,16.4428139,2.7626308,14.9949885,11.0797,37.2403003,12.6237629,1.1198912,1.1587029,18.5613867,15.1120359,84.7823713,10.8865965,32.1785086,61.1540367,30.4530656,39.0396382,16.5801282,2.905345,14.0579295,10.6485401,36.9519536 +180,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7562396,1.8056787,30.2447619,26.0193195,63.3258191,9.6974939,29.4718085,65.6156891,34.1769317,37.9293608,17.5340281,3.9047317,14.7931753,9.9737387,37.7314828,20.1840659,1.7582978,1.812124,30.8231755,26.8120058,63.933299,9.632539,29.7720916,65.8037587,34.1260242,37.8607031,17.5274548,3.9932342,14.8515543,10.2100388,38.2633085,20.1855579,1.8476107,1.9033383,31.3315008,27.1323375,64.430967,9.4541983,30.1712268,65.9401681,34.1037406,37.8543697,17.4517091,4.0171858,15.0369758,10.2804371,38.8190802,19.7641799,1.8095468,1.853021,31.5267422,27.2523467,64.9634752,9.4447823,30.2037171,66.0665942,33.9211015,37.9646767,17.2051978,3.9174065,15.3030543,10.3727435,38.2765152,19.8795118,1.8984739,1.9506687,31.7576214,27.430787,65.6638177,9.4399469,30.1812286,66.1574746,33.7384477,37.3752561,17.0544323,3.8664061,15.3012648,10.4072679,38.4853049 +181,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.5833283,1.6068602,26.786873,22.576116,53.5241299,16.1377889,33.3590553,66.1557025,34.7044337,41.210832,19.5963651,2.5694733,12.5112035,8.8933771,33.6261513,20.3150974,1.7117195,1.7347707,26.7370903,22.6856796,54.1959744,15.7255329,33.8637811,65.8023531,34.1308386,40.9414461,19.3300516,2.5038911,13.2745368,9.2081492,34.2369224,20.8265823,1.7074361,1.7408027,27.2955845,23.2947037,54.3637409,15.3735823,33.9353897,66.4460281,34.1148489,40.8458528,19.6881119,2.456806,13.7460933,9.4546298,33.851375,19.399348,1.8257417,1.8689361,27.5618826,23.5019521,56.0448464,15.1452169,33.6406248,66.4704525,34.062617,40.7263346,19.3136209,2.4988861,13.7068415,9.5396391,33.7868269,17.9021811,1.8143112,1.8321017,28.1055061,23.8859049,57.2568141,15.0378272,33.8051639,65.8218123,33.4320656,41.1345146,19.3219113,2.4906723,14.1148594,9.7131858,34.0271875 +182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.2656346,1.3045537,18.9256395,15.0369285,83.8126289,11.9773138,32.867184,61.6821379,30.7580628,39.3275128,16.6332158,3.2057958,12.788197,9.8459074,36.8257707,8.7065522,1.3972593,1.4209906,19.1510245,15.3754121,84.8059703,11.7626993,32.5843415,61.3177806,31.4114148,39.0750778,17.2305992,3.3328875,12.8675755,10.374158,37.5012393,8.4689792,1.4014448,1.4250864,17.7302852,14.4332303,83.9670318,12.365067,31.8961491,62.6821183,32.0318041,39.8559775,17.3524519,3.8761316,12.7100212,11.307634,36.8258675,8.8645663,1.5836019,1.6072629,18.8472895,15.3251461,83.4310167,11.9221251,31.4831635,63.4049884,34.2298743,41.2834385,17.7234003,3.8734966,11.593297,12.1117716,35.9657905,8.6526812,1.4544831,1.4780005,18.1784576,14.7583936,83.6318565,13.6614339,31.6537567,64.9415665,34.0347942,41.9729705,17.9438981,3.4758966,11.4084304,11.5819552,37.4880562 +183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8940758,0.9390939,20.0966903,16.5926437,71.3758932,13.5218515,27.8539703,64.9871126,27.8700717,40.6239071,13.4714599,4.7323558,16.0276167,12.3189136,31.1589862,11.0462473,0.8469139,0.9050451,20.1706945,16.7083683,72.7487424,13.5388663,27.89233,64.7092178,27.8124286,40.2443825,13.1910924,4.5461912,15.6319528,12.2400783,31.2258895,10.9099839,0.8784897,0.921619,20.5458726,16.9951088,74.2085564,13.3138754,28.2327669,64.439686,27.290887,40.1260199,13.066686,4.1107814,15.7211545,12.2917549,31.4594152,11.9523248,0.9230035,1.0087974,20.7560358,17.3265699,75.5590593,12.9856565,28.4429218,65.2364697,27.6946652,40.733877,13.1905341,4.2270257,15.371196,12.0044944,31.2779037,10.9800313,0.8534274,0.9299346,21.2556523,18.0118019,77.1330303,12.7933783,28.6540799,64.8303902,27.4017707,40.1790876,13.0706605,4.2882133,15.1366359,11.6836271,31.8833896 +184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0486901,1.0746089,17.5442752,14.3656447,48.5083778,11.3592295,26.0128724,65.3392228,28.8172783,41.548058,14.2904747,4.2698033,14.0292171,11.0574314,30.3256308,12.0257146,1.1365466,1.1620826,18.2831456,14.7327401,49.5124954,11.5938997,25.9196102,66.2802211,29.1769387,41.3999711,14.2549213,4.2656353,14.308959,11.1999707,30.5841717,12.7956432,1.1724682,1.2114433,18.8844275,15.5770748,50.4260069,12.0195424,26.3880056,66.3402869,29.6240442,41.570523,14.3507712,4.0375773,14.5750143,11.7534939,31.0861389,13.0195262,1.2004901,1.2300233,19.0839118,16.1750142,51.3834461,12.4649347,26.5214099,66.4617015,29.6005788,41.1329562,14.7172681,3.9095413,15.1946698,11.8769094,29.5101241,11.9774953,1.1971931,1.2601652,19.6956406,16.6831607,53.1312575,12.0661464,27.5446204,65.8615362,28.4261257,40.5015875,14.2938095,3.9811614,15.4936377,12.2167316,29.6212135 +185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.1679623,1.2286698,20.3637752,17.495995,54.0558102,12.8333493,28.3830143,65.7218442,28.8921763,41.3086844,14.4955223,3.8325261,15.9369776,12.029534,30.257261,11.904941,1.1874874,1.2257267,20.708206,17.8316866,54.7658169,12.407115,28.651096,66.1628,28.8428136,41.8745453,14.770372,3.9287548,16.256378,12.317024,31.1340228,10.3294635,1.2401587,1.2768531,21.2141703,18.1781309,55.7319099,12.4950427,28.1891196,65.7168419,28.9001603,41.6713137,14.6013803,3.8840706,16.9836318,12.4769918,31.4990849,11.7211686,1.1655725,1.2250055,20.9951457,18.189191,56.6228772,12.3328371,28.5211645,66.2722208,28.6998644,42.252141,14.4583203,3.994274,16.9776185,12.15017,31.0082919,12.205933,1.0418399,1.1064536,20.9596043,17.816308,59.3356806,12.4487184,28.1942309,65.6892102,27.6644653,41.4650438,14.2420915,3.8980343,16.6335257,12.249,30.8862052 +186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3086317,1.3445074,26.7485793,22.1541949,46.2090366,20.3270235,34.8632648,64.9438512,32.4701832,43.5984963,21.0186835,2.9914774,16.8917663,12.9872125,38.5098518,14.4182572,1.3719669,1.4154915,27.5050345,23.0472305,48.0074085,20.0569838,34.9410578,64.750334,31.8973286,43.8048428,20.6660171,2.8122441,17.5139276,12.6827902,38.1327812,12.2575037,1.3613615,1.455687,27.8294018,23.5129085,49.4323594,19.7886204,35.3138697,64.2512634,32.0350363,43.1315644,20.0641329,2.8277605,17.4898303,12.622424,38.0788225,12.2914243,1.3182075,1.4066977,28.3652555,24.3988016,50.6114538,19.7285063,35.5627398,64.0801716,32.0606346,42.8131322,19.5946314,2.7417748,18.0219498,12.947605,38.1880083,13.417556,1.4050747,1.4606991,28.5771968,24.4713431,52.0288824,18.6666371,36.4401961,64.1999423,31.604564,42.3784341,19.4542543,2.6323768,18.2285598,13.6584324,38.1829557 +187,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1257935,2.1209678,31.1395763,26.6349875,67.8759019,14.7822934,36.7115594,64.3691029,29.5944061,40.525067,18.5133321,2.2672553,15.8425047,13.9536874,37.7099592,22.8499893,2.164278,2.2010351,31.1262047,26.4789869,66.4696897,15.0718128,37.3135087,65.201699,29.7046734,40.7913491,18.8973217,2.4999814,15.9878493,13.5888856,37.5325303,24.0791938,2.206467,2.2446412,30.9402788,25.7546021,66.9150634,15.0506083,36.4614593,64.4718286,29.7644469,41.3225324,18.8181749,2.3985687,16.1121375,13.5249399,38.239362,22.6609129,2.1296883,2.1753148,30.0194749,24.9768004,66.4394161,15.1402486,36.6471014,64.0316619,30.5038847,41.9165592,19.5439056,2.3439879,16.2973517,14.0633223,37.2133568,21.6144031,2.0725921,2.1334444,29.253563,24.4337589,65.4471015,15.3660834,36.4455297,64.3419497,30.4394207,41.5978042,19.2482944,2.4121972,16.1121328,13.3308588,37.0979861 +188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6645523,0.6645523,14.760811,11.0910842,73.5146928,21.9189283,30.6628808,63.4410328,27.1652237,37.9580287,15.3397765,5.0133276,14.1362983,9.1492297,33.0497026,7.6822937,0.6001608,0.633341,14.9589481,11.3136257,73.0717959,21.5938758,31.2914938,62.8983996,27.8386464,38.1308076,15.3220449,5.1294853,13.8362552,9.3031192,32.7303864,7.0876307,0.6684539,0.7167557,14.9623074,11.2258251,72.8737561,21.4123418,31.9039681,62.6655547,27.8973562,38.2284723,15.0827815,5.4139109,13.7300442,9.3417628,32.9879877,7.5495068,0.7267749,0.7679145,14.5729499,11.1166501,73.0588207,21.9428039,32.2888734,63.1534798,27.5636795,38.4550869,15.3652841,5.6802983,13.1774981,9.65448,32.5051207,7.3141504,0.6678153,0.7092103,14.4217944,11.1463911,73.0560258,21.7961566,32.1681879,63.9142107,28.0479622,39.3279225,15.6534959,5.8257385,12.3217896,9.273106,31.4802394 +189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9955107,0.9955088,16.3618778,11.1131105,57.6943768,16.607369,36.2904305,65.655738,32.553499,44.7708904,26.7312841,3.6649341,11.1538295,10.4064297,42.629762,12.0370519,1.0878605,1.0878605,16.6084844,11.0866527,57.2566241,16.4479978,38.0586302,66.3914903,33.1720246,46.9581277,26.7593188,3.270629,11.4762249,10.0943476,43.4676709,14.1304348,1.1683192,1.2002291,17.2467225,11.8321238,56.5596778,16.5101731,39.7433054,67.4245931,34.813628,49.0229405,27.479404,3.0285252,11.4822899,10.2120628,43.3297975,12.1323886,1.0995995,1.1321836,17.6090605,12.3116973,56.2380056,16.9023734,38.7236827,67.5587879,35.9200009,48.4624345,27.5314485,2.8874689,11.8290311,10.4945713,42.3177912,9.9206664,1.1832119,1.2163329,17.383246,11.934954,56.4630763,16.8010793,39.0823943,67.7753191,35.4422669,47.935402,27.3935968,2.9867797,12.1799734,9.6814939,41.0230627 +190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.780505,0.8142683,11.1049809,8.0613094,63.292961,22.2997717,28.4578414,66.0749268,31.9864903,38.608151,16.2165114,7.9830139,11.1764755,8.1334488,36.9660841,6.1526518,0.7913977,0.8220647,11.1712668,7.9668455,63.6793572,22.347516,27.9786399,65.7264194,31.7686743,38.7606224,16.1729498,7.6998487,11.1135235,7.8776036,36.4692851,6.2307721,0.7622658,0.8209235,11.321377,7.8685204,63.9757779,22.0508997,28.6323708,65.8315131,31.6083151,38.1072303,16.4223241,7.6477034,10.910284,7.6134373,35.9973446,6.0902292,0.8263112,0.9022409,11.8060164,8.1493816,64.1171264,21.7671507,28.7311648,65.6665208,31.9419834,38.4300334,16.5301184,8.0048731,11.1038453,7.8384277,35.5913339,6.5512098,0.7387004,0.8170976,11.9465044,8.5300051,64.0965191,21.7663891,28.9362101,66.2243524,32.3037515,38.6373822,16.7372919,8.2181095,11.4000046,7.6391968,36.0585461 +191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.7461828,0.7800505,12.1860143,8.5200253,64.2953724,21.8432699,28.8126013,65.9101048,31.8090402,38.5621708,16.6033128,8.5084979,11.8973257,7.8006242,36.3122032,6.6318957,0.7597836,0.7731212,12.1964904,8.6218489,64.7421525,21.7214927,28.8594228,65.7941617,31.5103639,39.2849224,16.8968632,8.2535095,12.3663151,8.2255896,36.2753782,6.3411106,0.7177751,0.7449017,12.2348896,8.7001106,64.5495994,21.186063,29.1855619,65.1429184,31.1138883,38.7817632,16.6175174,7.8833944,12.2995922,8.2264008,36.9191355,6.0178324,0.7268538,0.7541665,12.4113458,8.9796354,65.2387451,21.4780878,30.1066623,65.5583223,31.0145315,39.2759874,16.8520223,8.0231535,12.476771,8.7087821,36.6823449,5.3802039,0.7449012,0.7431251,12.3858427,8.9840149,64.698521,21.7888922,29.7538348,65.2100205,30.9733565,39.1937662,16.7682946,8.0510419,12.3728075,8.7147513,36.41253 +192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6814484,1.8313356,29.8547899,25.3377755,56.1979425,11.8836425,39.883244,63.3095366,35.7412884,44.7433386,22.4294318,3.0686066,16.764053,12.0318749,39.4969929,16.3612694,1.7132293,1.8816752,28.4003579,23.7612802,55.0026185,11.8781276,40.1773458,64.0053161,36.3250965,45.2452133,22.596105,3.2854013,16.1672151,12.6822075,39.7894356,17.3854635,1.6206657,1.7930016,28.3067823,23.420009,55.2892139,11.943701,40.8928313,64.4625015,36.7738644,45.9901925,23.024242,3.2407049,16.3568785,13.7707541,40.1144878,17.217609,1.5484619,1.7232822,27.871865,23.0597043,55.2074727,12.7858358,40.0578971,63.8128851,37.181207,45.9314358,22.9762504,3.35237,16.0038886,14.0177239,40.6851134,20.0849519,1.4334845,1.5983343,27.1640567,21.998007,53.5793199,13.6435989,40.0201369,64.596606,38.0794196,46.2320104,23.8694854,3.5620086,15.2217194,14.3015133,40.5650158 +193,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8908098,0.902049,17.653536,14.4206239,62.5629048,18.1134027,34.7488766,65.9026287,34.0381306,43.6330224,18.8995433,5.8813049,13.228597,9.5849312,33.2568775,11.4936835,0.8193647,0.8461075,17.359119,14.1225732,62.8811324,17.9993013,35.0129386,65.7278926,34.0486738,43.4677791,18.7617536,5.9912956,13.6612718,9.7185791,32.9777041,10.1525138,0.8946234,0.9157114,17.5492824,14.1358182,64.2544222,17.1883431,34.8378397,65.4758668,34.164212,43.3892491,18.6071493,6.0357665,13.5968312,9.9787914,32.6994122,9.7866336,0.9633138,0.9895562,17.924268,14.4779431,64.9389245,17.1851439,35.3249926,64.8601064,33.8675834,43.2035216,18.666328,6.067775,14.0426272,10.3103157,32.6685509,9.7082954,1.0253599,1.0549901,18.0019714,14.5842304,65.5446274,17.0148594,35.949087,64.6488187,33.6726931,43.4576562,18.9090184,6.1227847,13.4242333,10.0116319,32.398341 +194,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0377199,1.0749449,18.3519494,14.9134345,66.9782942,17.0099687,35.8508233,64.0680234,33.3122444,43.5719051,19.1110293,6.1152166,13.3621971,10.2277562,32.1258458,8.2730553,1.0597779,1.11159,18.6989062,15.1372116,68.3865791,17.1029689,36.0019875,64.4842842,33.2698192,43.6437714,19.1677407,6.0958507,13.3651099,9.9649869,31.8531694,8.5058514,1.1275736,1.156266,18.8036131,15.1173051,69.8511113,17.0735409,36.0588891,64.5938648,33.0284971,43.4609261,19.0175776,6.102094,13.7117001,10.3222988,32.0041259,8.3554391,1.2112356,1.2352008,19.4239518,15.721963,71.156385,17.1878085,36.3079758,64.6816584,32.9318243,43.6431751,18.6810799,6.0833456,13.0552816,10.0878745,31.9114245,9.1494861,1.2479079,1.2743221,19.4221233,15.7823217,72.9532046,17.4314584,36.4989231,64.5409956,32.1479751,43.2285385,18.4616299,5.8510616,13.0908593,9.8334604,32.2457564 +195,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8133516,1.8682556,30.4125283,25.8617904,49.9075709,16.2554834,40.5435574,63.9290283,35.950683,45.7380862,20.2466674,2.8780555,15.2270973,11.9781232,34.0899543,16.1211288,1.8030124,1.8674268,30.9841972,26.4405032,50.6135873,15.9149347,40.8592806,63.7659699,35.9749054,45.5442779,20.6040551,3.0402674,15.4420738,12.3738496,34.2083548,18.2753251,1.8582729,1.9144331,31.0057457,26.5272534,51.6486623,15.9318071,40.229103,64.048265,35.4044537,44.8104786,19.8763285,3.0103346,15.5285905,12.0682627,34.1821646,17.6145395,1.7949958,1.8758726,31.4002035,26.8511695,52.1472756,15.832045,39.9169336,64.6230312,35.0121919,44.902725,19.8925578,2.9286545,15.814034,12.3479265,34.0769182,18.1747355,1.6746849,1.7294041,30.8745399,26.364,52.6223418,15.8393078,39.4518656,64.3709483,34.8806596,44.2253088,19.7107447,2.9429575,15.5270706,12.7032648,34.4057435 +196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.4511727,1.6509568,27.0682265,21.9814268,53.1617107,14.2186926,40.5100916,65.2759796,37.9863852,46.8270312,24.3235411,3.5400955,15.4163055,14.7164834,40.3177666,22.3914673,1.3623538,1.545477,26.4189963,21.2741901,54.0691688,13.8697747,39.9509599,65.6038476,36.8814839,46.3652761,23.6732846,3.4748412,15.7266536,14.9536755,39.3074568,21.2795481,1.3738194,1.4886213,25.8984202,20.9891849,53.1569386,14.4739096,40.0144193,66.5863599,38.0990872,47.1390297,23.932619,3.4242231,15.4764214,15.3869009,40.586312,20.5417442,1.3492644,1.421463,25.8476245,20.8235937,53.9836492,14.4336853,39.3657915,66.6145796,36.9307879,46.4775331,23.6735899,3.1500433,15.6392697,15.0190034,40.877865,19.3207055,1.3258245,1.3990633,24.9402149,19.9618071,54.2126063,14.6906984,38.3167874,66.0763031,36.3114902,45.9447621,23.650646,3.2831803,15.3815556,14.4161921,40.1835468 +197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2568282,1.3133772,23.9667768,20.2785748,64.4443149,14.0459036,32.7388877,65.7537065,32.4024117,42.3620297,17.8263733,2.8196463,14.1307245,10.2166758,34.0104744,15.8100394,1.26746,1.3332601,24.4248253,20.7516262,65.4015277,14.1480459,32.7200426,65.7164091,31.8573898,42.0474328,17.4484388,2.6486041,13.9416386,9.9120139,33.5134134,16.323196,1.2529168,1.3190087,24.6783004,20.9624452,67.1088968,14.0733201,32.6868477,65.8264669,31.2677335,41.4312664,17.563181,2.6692788,14.2009382,9.7712274,33.7638642,16.1949425,1.2863739,1.3316849,24.8782627,21.0093398,67.5629586,13.8829825,32.4740931,65.9644712,31.2491572,41.048588,17.1557404,2.4565888,14.1337478,9.5941581,33.6717539,16.2638251,1.2796612,1.3132085,25.0264108,21.2483471,68.2390941,13.7676215,32.8310894,65.5202803,31.4121629,41.3040526,17.1013546,2.4662157,13.9172592,9.3577906,33.7086419 +198,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6101674,0.642656,11.4558059,8.5095321,64.8672566,27.0041465,30.3959355,66.4505957,32.2880168,43.7105816,15.7848633,4.712684,16.0714286,9.9780702,32.9304029,6.3920455,0.6795016,0.7123316,11.5995763,8.9865819,66.7324247,27.3888694,30.481757,66.3301452,31.2964931,42.9507616,16.0998937,4.8352816,15.3483309,9.6363636,32.0306793,6.456044,0.7099041,0.7099041,12.0659107,9.4082211,68.0694842,27.3951049,30.4463337,66.3301452,30.1629472,41.7463691,15.3914276,5.224938,15.1196519,9.6223675,32.9072316,5.4959786,0.7712878,0.7630776,11.7845716,9.2250267,68.9266547,26.9432773,30.7324841,65.7997169,29.6355272,40.9589526,14.7381458,5.1840057,14.9502841,9.2039801,33.5596855,6.2834225,0.9882135,0.9799354,12.4010079,9.5212383,69.7150072,25.6914894,31.2253673,65.5858115,28.824794,40.3977069,14.8871372,5.1056969,13.9426523,9.5255212,34.3569364 +199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6131513,1.5869288,27.3909637,23.9264661,53.4118402,16.8428988,34.367876,64.0291775,33.4664145,43.4940718,19.6609053,3.4223192,15.4769664,11.9920656,36.8677409,19.161837,1.4803387,1.4768664,26.9016115,23.4629783,54.5212943,16.7728173,34.1654204,63.6602021,33.6313412,43.4298516,19.4521489,3.4874006,15.1116498,11.5886768,35.944181,19.5665863,1.4361501,1.4438727,26.8172412,23.2192578,55.6268618,17.0787372,34.6692414,64.1764458,33.7624383,43.2236099,19.3153904,3.5215698,15.1599596,12.1085602,35.7748481,20.4036764,1.4367213,1.43644,27.3433955,23.6213408,55.9254174,17.0151254,34.9648358,64.4257581,34.1168915,43.7310798,19.2854769,3.5434136,15.048075,11.9630027,36.1593801,20.80224,1.4510253,1.5034714,27.4289607,23.6067919,56.7924248,17.2937037,34.8835597,64.2869715,34.0983745,43.9962821,19.3193212,3.5661108,15.3776701,11.7488077,36.0679034 +200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6382145,0.6691839,14.3504551,11.1278953,73.1719674,21.8088721,31.2835142,63.7566973,27.8652883,39.3934252,15.5998687,5.6802983,12.1140895,8.9105648,30.5273993,8.1707337,0.5558552,0.5872919,14.3709591,11.2683321,73.7865708,21.2055151,31.7052453,63.9040069,27.1783606,39.0231356,15.4356721,5.4629029,12.1511239,9.3792691,30.7191902,7.875,0.5231029,0.5544607,14.3509186,11.1392878,74.20185,21.3974583,31.8336157,64.2954048,27.0118922,39.5415951,15.5008484,5.4838732,12.0202001,9.5479121,30.5423785,7.3317308,0.5613476,0.5772813,14.0920072,11.0367364,74.2662427,21.980848,31.7094318,64.7191346,27.1671343,39.0256591,15.9327326,5.5998638,11.8218274,9.3435945,29.7979736,6.7237164,0.5654448,0.5973937,13.9203642,10.8307642,74.6323571,22.1058101,31.1022276,64.7600825,27.4513252,39.0298987,16.4638403,5.4763589,11.5120185,9.6563476,30.5747842 +201,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3835328,1.4381478,22.3790067,18.9803994,51.0593072,17.3189011,40.1241313,66.8539425,37.581304,47.6345352,25.0443406,3.04553,12.9562197,11.6180199,36.1246788,10.3723459,1.6184877,1.6751129,23.0838029,18.8921958,50.7901458,17.0102872,39.4396044,65.7943387,36.3608408,46.8904081,23.6145299,3.1711775,13.0188964,11.9975156,36.7721359,11.0215113,1.7670812,1.8216383,22.6731492,18.3051985,51.6963393,17.2489483,39.7585589,65.3333566,36.2060805,47.2155112,22.5288849,2.9900316,12.6196367,11.1842292,37.0035963,12.7499936,1.7890567,1.846234,21.9790909,17.4690306,50.7913804,16.5763181,40.1678481,64.5795335,35.9753875,46.8847015,22.4114048,3.4218291,12.5774876,11.3383299,37.3756063,11.7800985,1.8608174,1.8608174,22.0219229,17.5858559,51.4267328,16.2431362,40.6781425,65.4510255,36.678103,47.2571637,22.8068929,3.5161985,12.3540401,10.0255501,36.9466003 +202,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.092542,2.1306435,36.1487121,30.7591188,71.9147843,11.9621386,34.0969559,62.2721433,27.8341461,36.5387009,15.8633947,3.0363554,16.1961655,10.6474398,37.1359611,21.1618622,2.1049254,2.1842259,35.7629823,30.3290299,71.2638896,12.1599476,33.6136523,62.2698877,28.3117311,36.7371447,15.5775465,2.9072761,16.1741834,10.4917506,36.5241321,21.872219,2.1240071,2.1824112,35.6662992,30.3564061,71.0769485,12.6061318,33.3466899,63.5380311,28.5611641,37.2650932,15.6656752,3.1074581,15.5222262,10.2609771,35.9927086,21.4783728,2.0813313,2.131675,35.4439804,30.3278275,70.706278,13.2429111,33.0504255,64.3794386,28.9444119,37.6899587,16.0766954,3.095697,15.05357,9.8831546,36.6119792,22.0104661,2.061513,2.0975694,34.8641484,29.8506547,70.5212174,13.1417735,32.7152596,64.3932002,28.4512717,38.2044946,15.9696838,3.1775764,14.6138456,9.9478962,36.5085532 +203,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9387385,1.9837248,31.8036053,27.4171101,66.1879203,9.2695953,30.1326109,66.1080386,33.466152,36.9943455,16.9079653,3.7684782,15.3602474,10.4213263,38.325189,20.6382116,1.963483,1.9989761,32.0931481,27.7007886,66.642846,9.0455118,30.3932854,65.9283761,32.9929752,36.5561773,16.6979789,3.723793,15.5037305,10.3197303,38.6394974,20.8674595,1.9342006,1.9686252,32.6378843,28.3327308,67.4725326,8.9152388,30.3499008,65.6244371,32.7774123,36.4277526,16.3902201,3.7804971,15.6740353,10.6586722,38.6210754,20.2598785,1.9378503,1.9553914,32.7180983,28.1990076,68.1883229,8.7161194,30.392634,65.5351634,32.1795452,36.4158516,15.9575772,3.6619473,15.8288937,10.7209183,38.1698945,19.9669989,1.8249293,1.8367288,32.5701199,28.1798759,68.6372204,8.5599713,30.1444042,65.2297668,31.9616973,36.0001194,15.8079905,3.6743574,15.6327987,10.7330148,38.1237401 +204,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0773318,2.1880467,29.1425797,24.4176238,65.146663,15.7924956,36.786843,63.8099961,30.5206225,41.5944959,19.6451882,2.6693176,15.3602716,12.3511282,36.7917037,19.3084853,1.8011986,1.8996535,28.4594838,23.6911761,64.6754723,16.5495756,36.8552637,65.0566154,31.6661585,42.1132845,20.3312165,2.748604,14.7016348,12.0502618,35.5736162,18.9038702,1.8495094,1.9390228,27.6723468,22.8877799,64.6157717,16.6217465,35.795984,64.4822161,31.4152695,41.9854604,20.566868,2.8340166,14.7840435,11.7708798,36.2341364,20.1137598,1.8106177,1.847865,27.1154575,22.3536581,65.0685205,16.7019348,35.9085397,65.0816133,31.4181229,42.4150957,20.4916321,2.7053161,14.2384455,11.4818833,36.609346,18.997597,1.7706383,1.8079785,26.1831136,21.7250524,64.938748,16.847392,35.8030855,66.0452256,31.9299024,42.4840272,20.8779734,2.8254445,14.5709601,11.6980676,37.9979298 +205,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0097885,1.0203875,19.7123352,15.7954273,79.7794915,7.2341381,28.9114217,63.2437251,28.2529636,36.9906587,14.5498285,5.3415666,13.6857395,9.683567,35.9860791,8.9505764,1.0058287,1.0228978,19.7283249,15.9023731,80.3833386,7.0015329,28.8690625,63.1505517,27.9465742,36.4882684,14.3811207,5.3377448,13.7360133,9.8505808,36.5080585,8.8089823,0.9662843,0.9856954,19.6004795,15.7673444,80.5077011,7.1475211,28.9201325,62.9328622,27.9269636,36.5664737,14.4640314,5.2874227,13.9397882,10.0134092,36.241963,8.8138196,0.9380911,0.9550519,19.460083,15.6521785,80.3389286,7.2367574,28.907004,62.8662726,27.8610823,36.4845382,14.1967509,5.4094759,14.1218031,10.0995675,36.2977893,8.7534519,0.9577653,0.979714,19.8345631,15.9513902,80.4619303,7.1391472,28.8517226,62.7388195,27.463594,36.1271223,13.9662631,5.366912,14.2929936,10.1036644,36.6251496 +206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8877687,0.969425,21.8050369,18.757754,78.3182817,12.6628702,29.0022771,64.5210297,27.7292171,40.0938618,13.184236,4.1613702,15.2181392,11.8956367,31.7422499,10.4467844,0.9656856,1.0639,22.3753428,19.1510233,80.1998086,12.7600272,28.7526431,64.7551539,27.5403418,39.9664927,13.1519776,4.2351337,15.4851081,12.2544589,31.5372349,10.2394717,0.9498356,1.0412935,22.1166896,18.8842807,81.8161316,12.6660878,28.7280008,64.2480164,27.1440268,39.9120026,13.0319489,4.2799942,15.240505,12.2158082,30.4383178,9.9404742,0.9529389,1.031608,22.4475098,19.1555038,82.8195474,12.533878,29.0106665,64.2753438,26.9609997,40.2921918,13.2423971,4.462551,15.1099997,12.0639337,30.3507733,9.6987772,0.9731116,1.0286675,22.6335145,19.5154915,83.7787519,12.8499458,29.1017248,64.6279974,27.1524491,40.1478746,13.2797289,4.5240542,15.3102313,12.1474675,30.6361338 +207,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7941663,0.7897367,16.8892264,12.9217592,42.548421,13.1786123,32.7755178,64.7562019,36.2570782,44.4933357,20.0954979,5.46921,13.7597636,10.6231925,32.2716198,7.9752893,0.8337546,0.8353834,16.9997644,12.9941078,43.7722527,12.891746,32.8740659,65.2856885,36.2916556,44.5990899,20.0177548,5.6127788,13.0977752,10.2116892,32.4087398,7.6430811,0.9455234,0.9593215,17.2739722,13.107916,44.1490887,12.6515413,33.3731134,65.9989259,36.7484103,44.6772876,20.1857557,5.6909623,13.4635789,10.0004599,33.0503983,8.1459759,0.9515091,0.9859678,17.3230197,13.3810555,44.2596977,12.6075721,33.3209086,65.5422721,37.6861611,46.1529603,20.6747759,5.7542427,14.1188903,10.7240169,33.4287315,7.2157379,1.0995438,1.1387849,18.4478099,14.1679966,44.3466102,13.0104078,34.1827511,65.978097,38.0238661,46.2137761,21.138831,6.0684803,13.6091067,10.0683128,32.3399856 +208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4021667,1.4021667,18.0074668,14.2363568,82.7065046,14.2414454,32.3070927,66.5274011,32.9777334,41.5471284,18.3522747,3.900395,11.836801,11.4019368,38.4481933,9.9301311,1.2968203,1.3038381,17.9198424,14.0777202,82.6211667,14.4362062,31.9478061,66.425818,33.5358163,41.3130163,18.2973723,4.3017761,13.5363196,12.1754247,41.0975453,12.5644454,1.3507214,1.3580215,19.3142658,15.0312224,82.2485802,14.210276,30.9538911,66.3148897,33.9611364,40.7451487,19.1564822,4.5401618,14.3826294,13.1461105,41.5505148,11.9514755,1.374835,1.4504403,19.1820029,14.9358142,82.1690075,14.7584585,30.6701638,66.3089157,33.3561319,40.7141949,18.8769013,4.6520056,14.3555015,13.216521,41.2738288,11.002461,1.3881152,1.4304584,20.089822,15.7084304,82.745463,14.5479418,30.9522841,66.0220333,32.9374808,39.5851892,18.6885555,4.5478109,13.9985871,12.5544145,41.1240655 +209,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.906321,1.9450597,32.8571445,28.4404517,69.0966797,8.3787226,30.2002095,65.2736029,31.7724002,35.8932613,15.6819982,3.6326243,15.8218385,10.8603741,38.766933,19.9533082,1.9339757,1.9680386,33.2408192,28.6232753,69.352814,8.2662891,30.2347719,65.1312189,31.5807262,36.1102574,15.4354356,3.666033,15.6137747,10.9107797,38.5735694,19.38848,1.9351265,1.9725871,33.5392074,29.0837002,69.7902869,8.2983651,30.7019157,65.2350061,31.6171916,36.2739643,15.3401338,3.7013001,15.8862658,11.0210992,38.6833052,19.7983043,1.895342,1.9494799,33.4075934,28.9031973,70.34658,8.3479253,30.778445,64.8961682,31.7369133,36.3080626,15.3446774,3.6833371,15.8022089,11.0331555,38.4697285,19.9754465,1.972471,2.0299838,33.2491785,28.6500772,70.539616,8.2169927,31.0016508,65.1472504,31.5281928,36.3711499,15.3768399,3.7072183,15.7291556,10.7067592,38.4167674 +210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.2931858,1.3375647,19.8293562,15.4666253,83.5502081,14.9437349,30.1013151,65.9072927,31.9504895,38.7098878,19.1984566,4.4674388,14.588353,12.5777211,41.8302974,12.4976757,1.2568361,1.3034062,20.0285897,15.5420684,83.6115892,13.6065549,29.5446496,64.8866254,31.5499408,37.5761823,18.6382208,4.5426266,14.3415037,12.5381035,40.4733334,12.4255547,1.2263776,1.2748728,20.2324183,15.5667887,83.9443265,13.5112531,29.4019736,64.6673576,32.60615,37.5080757,19.2038524,4.5389187,14.6191061,12.3860728,39.8537325,10.7768888,1.1133814,1.155428,20.3841727,15.2550521,83.065373,13.2414631,30.2532753,64.9106243,32.3714518,37.3250801,18.9452807,3.7637928,14.2435497,13.0507716,37.9600751,10.1053176,1.0289971,1.0704513,18.617399,14.1702429,83.1151227,13.8971426,31.0168112,64.4926885,32.4762907,37.9748645,18.1948257,3.4356191,14.1945184,12.6486702,38.4137559 +211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7551282,1.8230156,22.0930945,17.9292759,48.7616775,15.8441366,36.6096271,65.3026845,35.8935875,48.2919045,24.4895973,5.9584415,13.0436885,10.6742794,29.0038828,12.9192564,1.7140585,1.7658748,22.6821946,18.7309653,49.0412381,15.9593457,36.7234032,65.1772916,35.4443829,47.8350475,24.3426626,6.2232887,13.2071859,10.9848085,28.8191273,13.6479971,1.7336094,1.8242361,22.9120654,19.1077113,48.5450232,15.2723351,37.1270475,65.480017,35.0582328,47.6556332,24.0245518,6.1562307,12.9176964,10.6629835,30.0349095,13.795657,1.7388203,1.8348268,23.1138092,19.4486489,48.2698196,15.4317355,37.7196355,65.8191281,35.6661483,48.2188525,24.0449081,6.1435512,12.813515,10.6324918,30.372701,13.177386,1.6663623,1.7619103,23.8478243,19.9474409,47.7262357,15.2799225,39.2916262,67.1512689,36.3490335,49.2441693,23.7987169,5.8093668,13.3147685,11.0555413,31.3649481 +212,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4490764,1.4913124,27.3500321,23.5960152,56.9827325,17.1046662,35.0200574,64.3023207,34.5151997,44.6609831,19.6492719,3.6257289,16.1276518,11.7312571,36.5162389,21.74661,1.3948259,1.4422174,26.8728752,23.1193726,57.6348947,17.1048816,35.4800114,64.1761995,34.2284314,44.7356416,19.6439792,3.5279553,15.9586796,11.5747423,35.7389062,21.202323,1.3341966,1.3783342,27.2637129,23.4430601,57.8918519,16.6996226,35.6225037,64.0134155,34.5150698,44.9891126,19.4431203,3.409414,16.1783682,12.032959,36.2076492,20.2175735,1.2449646,1.2749022,27.1260815,23.244396,58.4948126,17.1971206,35.7565787,64.3512814,34.7773145,45.2895973,19.0959515,3.609029,16.1882479,12.3379622,36.8634327,19.6901887,1.328431,1.3477307,26.8877865,23.0122208,58.8862569,17.2759208,35.5666692,63.989331,34.5061737,44.8010506,19.3404279,3.4864874,15.7751604,11.471424,37.0544175 +213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6420968,0.6334785,12.1062315,8.9560808,64.8448221,21.6050789,29.7600115,65.3950625,31.0731317,39.5404137,16.6289378,7.9805328,12.7387099,8.8262725,36.4642181,4.9467298,0.5797837,0.5808241,12.2413798,8.9540221,65.4751069,21.4190279,30.0317618,64.6358081,30.894038,39.7208989,16.7347448,8.021333,12.9491416,9.0676024,36.3529407,5.0622929,0.5589296,0.5883122,12.1799399,8.9382189,66.2977685,21.2840933,30.0324276,64.2691704,30.264077,39.5992586,16.4813581,7.655783,12.7216155,9.0191426,36.8840595,4.9999873,0.5795482,0.6353263,12.1252774,8.6887659,66.6060598,21.3558941,30.0651223,63.8808542,30.1374885,38.6275961,16.1963388,7.5373889,12.6163695,8.7861023,37.0416283,5.2250677,0.6558654,0.6902011,12.2864872,8.7969784,66.6464605,21.2497072,30.498077,64.5933645,29.87248,39.1121329,16.4461071,7.5433143,12.173287,8.8733114,37.2496384 +214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.0535122,1.0913868,19.1310663,15.5546119,43.7469662,15.2355708,38.5666418,65.2524424,36.5616724,47.6846774,21.7746853,3.3357199,14.5566721,11.3683984,32.9154026,13.0848385,1.0244158,1.037802,19.5029388,15.9759908,44.2036137,14.694903,38.6291029,65.1375806,35.7716635,47.5793901,21.7085968,3.2530397,14.5699274,11.3730528,32.4264945,14.00866,1.0357503,1.0441975,19.8493678,16.5693362,44.9569977,14.5308424,38.8309408,65.3618488,35.5501589,47.015242,21.2543092,3.227526,14.8368559,11.3429913,31.756314,14.5746638,1.1855546,1.1917464,20.3413935,16.9964841,45.3578214,14.454106,38.4420893,64.8333072,35.2136686,46.2608338,21.0789149,3.2930286,15.1624349,11.2387081,31.0864794,15.657235,1.1873897,1.1806288,20.9246588,17.3975639,45.5354245,14.0366025,38.4846308,65.1356277,34.9469384,45.7723765,20.9375189,3.2959931,15.1046772,11.2029027,31.0494653 +215,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7292426,1.7755629,30.433478,25.9375085,52.537918,15.8211057,38.7740265,64.140989,34.3704789,43.942511,19.6712669,2.9046888,15.3604455,12.5366403,34.2682484,17.4218777,1.632544,1.7053136,30.0642483,25.4065514,53.0653023,15.8980025,38.1193167,63.800576,34.1143683,44.0854418,19.5809021,2.838559,14.546599,12.3428284,33.1854626,18.4129641,1.5342363,1.6022371,29.8798877,25.5755869,53.2642771,16.2279747,37.5256655,63.6858475,33.6447693,43.8090129,19.3120955,2.8439356,14.4089158,11.9067557,33.2275776,18.3282362,1.5234401,1.5856854,29.7874427,25.6781341,53.6582463,16.8271039,36.3418917,64.0320341,33.4337134,44.2147444,19.2666981,2.7316059,14.0999412,11.898787,33.125761,16.9003271,1.4076263,1.4707681,29.5399207,25.2026746,53.3311827,17.2727176,36.0650434,64.1836303,34.2623034,44.7057202,19.8818675,2.7040944,13.7310104,11.7585795,33.4116801 +216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4631573,1.4932614,16.9776895,11.8256118,78.0659927,14.3281605,34.7686668,68.5169619,38.364287,44.6551187,24.636111,6.3331947,12.4173759,11.3844792,36.9926647,13.6729112,1.3358531,1.3358531,17.3657052,12.274611,79.7052207,13.3862317,34.3946425,68.0896237,37.3606354,43.373255,22.7783972,6.3027349,11.6509579,11.1217579,38.6158405,14.1143374,1.3192599,1.3192599,17.6605343,12.3994928,80.6600023,12.3577836,32.6907587,66.4011089,36.872128,41.3960625,21.6352948,6.1535664,12.2096191,11.3364057,39.9174765,15.5836192,1.4627983,1.4318671,17.6861208,13.2480621,81.4137308,11.9228318,32.2471432,66.1070557,35.690223,40.1501354,21.0585363,6.4331482,11.9087508,9.493498,40.9886375,16.5655179,1.6081921,1.5764256,16.9562864,12.5491328,81.9472395,11.6438183,31.506251,64.7738236,34.5603614,39.3705142,20.3136818,5.7247909,12.3339312,10.3912287,41.4709485 +217,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0563699,1.0960642,18.4368173,14.2079855,44.4252748,12.5590593,34.4079795,66.2403994,37.8340699,46.5215762,20.5685853,5.6509498,13.5941706,10.1804244,31.7985952,8.5241752,1.1302647,1.1500266,18.5680777,14.2151283,44.5837087,12.180596,33.4832203,66.8442611,37.7450433,46.6759271,20.2625101,5.7947681,13.3158302,9.9440084,31.0405449,10.206721,1.1936028,1.2130606,18.5493603,14.4760592,45.3930828,12.3418417,33.9600413,68.0425822,38.2853386,47.5724976,20.5901876,5.830868,12.9945535,9.9449064,31.5798456,10.024755,1.1821374,1.2073113,18.6683963,14.644632,44.9717767,12.2313285,34.2901617,67.9138787,38.0684901,47.194887,20.6796372,5.9922094,13.7561428,10.2433007,31.6304625,10.4316597,1.1662609,1.179276,19.2154569,15.2871594,46.0435197,12.2085994,34.1686409,67.1705081,37.8451393,46.7710841,20.5438192,5.9459888,13.8245686,10.5119873,31.2902796 +218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1327537,2.2272731,30.3733184,26.1500928,81.7015357,13.4769377,32.4160743,64.8906967,26.639339,39.09055,15.632309,3.1811098,20.2170563,14.2109627,45.2361792,23.6111286,2.0605554,2.2106126,29.7782358,25.3024366,80.3510914,14.6962904,31.5844422,64.7366189,26.1496627,39.1931562,15.4473193,3.1981612,19.9062216,13.6092367,45.8656403,23.6165997,1.8836749,1.9869413,30.0997304,25.6128284,79.5904939,15.7505316,30.5940969,63.9852548,25.8673041,39.2237837,14.6790951,2.6669568,20.3070247,13.915738,45.3860055,21.5625061,1.6597274,1.7642711,29.6599596,25.2099287,79.8975966,17.1581277,29.1064372,63.4910193,24.9014465,39.0495204,14.3451655,2.5624189,20.2033706,13.8618497,45.0761299,20.9890121,1.7952583,1.8509241,28.675568,24.2607515,79.11336,17.9806169,28.963298,64.2116704,24.6004404,40.1512174,14.6652387,2.2246189,19.291345,13.4531307,44.880883 +219,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.968256,0.992765,20.0743708,16.2030633,80.70484,7.2230058,28.5670049,62.6107675,27.3772336,36.3101692,13.9157278,5.3997371,14.0060796,10.0381197,36.0670339,9.2462009,0.9437905,0.9650479,20.2277858,16.3547754,80.7240544,7.0519557,28.6264486,62.6377358,27.5842269,36.4571222,13.9046815,5.3846417,14.0913459,10.0635695,36.2540549,9.3843005,0.9460582,0.9590179,19.7455421,16.0249172,80.514273,6.9901963,28.6128572,62.9377393,27.5074284,36.5671753,13.9915328,5.3873836,14.4195191,10.4044955,36.816485,9.0474245,0.9423609,0.9546011,19.5475117,15.8004941,80.643633,7.0087336,28.4457301,62.8372194,27.5266083,36.8094035,13.8873771,5.5462712,14.3174571,10.2327378,36.4229593,8.9569163,1.0351798,1.0484592,19.6616957,15.7472677,80.9101286,6.7916975,28.5051718,63.1079161,27.8190992,36.6240148,13.5363954,5.5945417,14.2647094,10.1929547,36.5957267 +220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0091598,1.0424202,18.1261061,12.5036983,56.0464828,17.6047005,39.2552956,69.1211864,36.7141634,48.7994799,28.3554275,3.2876866,12.9293317,11.4639349,41.6601076,7.4221332,0.9647503,1.0202605,17.7848006,12.4428004,55.4364404,17.983514,38.709161,70.8714466,37.5043351,49.0700708,28.0253114,2.9734203,13.0846965,11.4859375,40.5774459,6.6931298,0.9461731,1.001679,17.1684466,11.4617916,54.9433837,18.1049118,38.2559729,70.5839107,37.1431315,48.8900736,28.4042023,2.8937508,14.9605077,12.9695981,42.7917643,6.8348028,0.9673348,1.0007943,17.0412231,10.7010517,54.3835418,18.1360408,38.2623271,70.9676233,37.3311383,47.3572367,27.8675338,2.8391499,16.1349214,14.1597563,42.1335918,6.4116062,0.9184585,0.9184585,16.1984071,10.1067586,53.8640601,18.4103954,36.7172776,71.3608536,36.2112502,46.224481,27.5845489,2.6545582,15.4891825,13.0694322,43.409164 +221,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1803563,1.1730673,19.0248324,15.0890491,46.5953842,12.0729834,34.0708206,66.9249128,37.2418118,45.9656499,19.845755,5.8549205,13.052957,9.867214,29.7625845,10.2534609,1.1041033,1.0889001,18.5529953,14.9705899,47.2304955,11.4659314,34.1638704,67.1538211,36.4380838,45.4794035,19.6205627,5.9799144,12.6933649,9.9877569,30.953088,10.4260136,1.1686875,1.149639,18.9106484,15.2558882,47.9030172,11.5003555,34.2410462,66.9862142,36.2628702,44.7550511,19.4817324,6.2039522,12.888998,10.1270227,32.4018734,9.7374222,1.3424956,1.3484103,18.8517097,15.1182588,48.1046152,11.569919,34.8042854,66.238536,36.0004185,44.5941414,19.3680621,6.0151492,13.0614133,10.7182532,33.3241278,9.3952524,1.4168508,1.4228233,19.2822501,15.3526007,48.3775399,11.4809531,34.9905862,65.3697465,35.8372875,44.2586328,18.914588,6.3305333,13.3352467,10.8513999,32.5850508 +222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.1114947,1.1747957,21.7599822,18.2437729,62.7054005,12.2970671,27.4793689,65.2034748,26.4391515,40.4574043,13.8819524,3.8760933,16.885659,12.1104949,31.7202712,12.1175828,1.2716311,1.2926309,22.835584,19.3353875,65.4685119,12.3284724,26.3192282,65.3030136,26.5405946,40.1493091,13.5962477,3.9004863,17.5270398,12.1618775,33.2211679,12.43861,1.3465177,1.3712769,23.3972849,19.8032845,68.5680883,11.4763111,26.1268083,64.9672816,25.0121588,39.154272,12.9169696,3.6923221,17.4484527,12.7310783,33.2024933,13.6475272,1.3693822,1.3942537,24.0156644,20.2155493,71.9014153,12.0582971,25.8309549,64.4230037,24.6113017,38.9076257,12.2254114,3.6392559,17.6938194,12.5281447,33.4652539,13.7236521,1.3083303,1.3331398,24.5696556,20.7048218,74.8264944,11.99106,26.1150558,64.8518581,23.8708047,38.7316649,11.9414995,3.645049,17.7179657,12.5871097,34.0372191 +223,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6084298,1.6495804,25.9266806,21.6203661,64.6995359,17.2957966,35.5990961,67.1862488,31.9349874,42.4515164,20.7587608,3.0599646,13.8520206,11.1881852,38.4295879,20.4964395,1.6116409,1.6366331,24.9823301,20.5181268,64.6327321,16.6671571,36.4523834,67.8865396,32.3346625,42.9228628,21.0479675,2.9597895,13.7888105,12.106357,39.2933094,19.1463327,1.5102047,1.4977804,24.2519656,19.6535038,64.8531869,16.1811116,36.3553606,68.4874564,32.2632064,43.3369601,20.8521738,2.796524,14.7324756,12.1044378,39.8248404,21.3091813,1.5587939,1.5605073,23.8475422,19.052225,64.1688526,15.7966395,36.6974591,68.3200608,32.4397121,43.5764746,20.8475374,2.6415605,14.7126212,12.1319701,39.5025051,21.3043366,1.5094132,1.5111687,23.8574045,18.7572471,63.489086,15.2919355,37.6270663,69.3491164,32.8718774,43.93986,21.2977455,2.3967911,14.7872629,12.263983,39.7052378 +224,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4517979,1.4604722,22.8973749,18.0375055,63.2990505,16.0570882,37.7453617,68.7472775,33.3649472,43.5458517,21.7632373,2.7085375,14.6560238,12.2493887,39.4148163,18.876155,1.3081069,1.3662995,22.6862024,17.5832827,62.9250333,15.8749987,38.4102963,68.8283175,33.7734323,43.7372203,21.7362515,2.7044144,14.2919146,12.72417,39.2223292,18.4907873,1.4066717,1.4885431,22.4847582,17.2195148,62.771641,15.4047992,37.6862943,68.1486724,33.3800143,43.4406724,21.2271416,2.4749729,14.6193148,13.2767893,41.2090731,16.3292532,1.3810603,1.4533652,22.5062611,17.1282038,62.5461163,15.5729837,37.2522561,68.210948,33.4478741,43.4034778,21.1451433,2.5699402,13.6917223,11.8859294,39.6368156,16.5229315,1.3071366,1.4000208,22.3699515,17.0692625,61.5174656,16.0556081,37.2998014,68.5365936,33.970351,43.7527488,21.4343457,2.6100856,13.523464,11.9322373,38.9268172 +225,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0425197,1.0656075,19.5082536,15.672635,80.9630277,6.6888593,28.2462144,63.2371239,27.9441026,36.9231927,13.7311042,5.4985898,14.1991838,10.1756435,36.7974933,8.9709824,1.0348159,1.0597701,19.2154666,15.4087273,81.1307888,6.809329,27.8605402,63.4150844,28.3984165,37.4724405,13.7774386,5.5266247,14.1488122,10.3599628,36.729039,9.1216851,1.0439688,1.0721004,19.0185922,15.1420027,80.8280677,6.807046,27.9011249,63.6150412,28.4224887,37.3361885,14.1151791,5.671004,13.9913059,10.2167198,36.5725118,9.3056896,1.0750599,1.1208903,18.8038434,14.9323217,80.9669456,6.9968141,27.9272135,64.0292142,28.6259023,37.3971009,14.239186,5.8027938,13.9756316,10.1168042,36.4490326,9.2927246,1.0668007,1.1132159,18.8008607,14.8500093,81.3380774,7.2528631,28.1159168,63.7783098,28.4185361,37.3032261,14.1758279,5.7561169,13.7270279,9.9692609,36.2418583 +226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6580797,0.6957563,12.1359265,8.6507366,66.9682723,20.9417153,29.7426543,64.2769702,29.399512,38.2965751,15.9436304,7.5122586,12.6585428,8.7963006,37.8690965,5.5937895,0.606232,0.6397503,11.9071537,8.6198268,68.2148265,20.7085482,29.4314004,64.7589697,29.1594571,38.6526613,15.51298,7.57726,12.2862786,9.0131944,37.9199625,5.1694763,0.686694,0.708848,12.0064978,8.6331852,67.9026249,20.4247604,29.2067082,64.4370581,28.8125173,38.6917978,15.9768421,7.3786683,11.7349448,8.9397629,37.9756099,5.6492262,0.7272026,0.7440494,11.5669717,8.4483632,68.1367565,20.0074274,29.0861188,64.6121029,29.2869675,38.3504922,15.9804126,7.3939256,11.707926,8.9400684,37.819549,4.9166675,0.7271907,0.7440221,11.4442436,8.484306,67.3990352,19.7898694,29.7314256,64.9221912,29.6812247,38.5667714,16.9051164,7.2665674,11.9047667,8.9061702,36.7393487 +227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.3347417,1.3711363,25.9059024,21.9037203,77.7474466,12.2900502,25.3923361,64.5582691,23.8792767,37.9785695,11.6132639,3.460577,17.9084592,13.2543639,34.2604211,14.3347976,1.3223754,1.3530348,26.7884364,22.9253339,79.0670247,11.9608185,26.1610164,65.3096806,24.2991854,38.3785117,11.6127683,3.8133202,18.8955001,13.4501051,34.4131944,15.7271226,1.3933025,1.4348309,26.7232245,23.1966804,80.1704614,12.5554023,26.6466628,65.2744699,24.231328,38.792824,11.6966529,4.1174906,19.0460544,14.069938,35.0888426,15.4585169,1.324945,1.3741034,26.226059,22.6687825,81.0947406,12.7664884,27.1309563,65.1168059,24.2734374,39.0792867,11.7413277,4.1246501,18.5724996,14.416274,35.1529965,14.6477501,1.4196846,1.4691501,26.3446044,22.6926645,81.6117921,13.015484,26.83136,65.0318967,24.4960453,39.0734522,11.7380232,4.2158225,18.7379353,14.1092325,34.9271025 +228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3726928,1.4356626,29.4012672,25.60638,53.4567023,18.3234209,36.5278918,64.4856332,31.4017473,42.360689,19.1441927,2.5049033,18.4428731,13.8470137,38.5729935,13.3410378,1.3832929,1.4579673,30.4087731,26.5152897,53.6504577,18.4286519,36.8292979,65.0454815,31.5339233,42.8219702,18.9383163,2.4975421,18.3430335,14.2789427,39.1067459,13.5821482,1.4985771,1.5654286,30.9347278,27.1830329,54.7243401,18.6265144,37.0254095,65.0715566,31.215824,42.9310687,18.9806305,2.5353512,17.1961002,13.1017998,38.8302156,14.7754681,1.4756574,1.5508302,32.072126,28.3336771,55.81719,17.6100155,36.9683123,64.0290398,30.2494107,41.6155507,17.7829138,2.4194289,16.9091189,12.9217146,39.2640536,15.2889518,1.5570524,1.5838897,32.2419575,28.3964911,56.8133729,16.7805836,36.4028985,63.6234164,29.8082974,41.31776,17.6702514,2.4482444,16.9497431,13.3232672,40.3675948 +229,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.907888,0.9250562,16.0143468,9.0772853,54.1903403,17.7579021,36.0989126,71.1491612,34.8360606,45.9775932,26.7349249,2.8247932,14.4129671,12.6725678,45.1863291,7.0449242,0.9843142,0.9900644,16.5757612,9.590386,52.9493032,17.3846859,35.7302501,70.8435853,35.1452091,46.9225196,27.0550488,2.8264864,15.2309471,13.5192224,46.0270183,8.2562221,1.2609479,1.2667861,16.6092528,9.2416936,52.2712994,17.3902684,36.5270867,70.5884994,34.7832692,46.8195323,26.7118774,2.7202451,13.5887865,12.1396062,45.6578879,10.2100479,1.3142807,1.3851013,17.1654151,9.5076773,51.6584667,16.8550304,36.9564283,70.8379379,34.0547282,46.3754742,26.6980989,2.9560763,14.2715023,13.3995656,46.5066053,11.5128468,1.4687894,1.5398256,17.5420703,10.04643,52.5732412,16.9758128,37.0460863,71.2609378,35.6046021,47.2978638,27.0391573,3.1535081,13.3810241,12.118315,46.327844 +230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.0919866,1.1157559,19.8763499,15.9895715,66.7486941,16.0331126,33.1452545,64.6799414,30.1173136,40.7703041,16.2535391,3.5159987,14.8606528,10.97999,32.4736947,12.3388751,1.1563062,1.1802371,20.4550528,16.4601112,66.8365777,15.6905318,32.6524198,64.5897141,29.5263835,40.4129545,16.6836338,3.6236761,14.8500911,11.1675534,32.6857456,12.6924878,1.1186512,1.1485757,20.6368627,16.6889038,66.8675308,15.3875346,32.601761,64.8153497,29.8205102,40.5954678,16.9326502,4.0620239,14.8914219,10.7022986,32.65783,13.3441475,1.1520798,1.1668972,20.9703506,16.7384091,66.8448503,15.407752,33.2314412,64.7338521,29.9894024,40.8108139,17.308395,4.0843406,14.5027424,10.3327668,31.9152902,14.8258096,1.1155504,1.1306099,21.4926735,17.2054958,66.9328763,15.4553986,33.3195332,64.6952283,30.0332882,40.9000649,17.2345401,4.1889861,14.0841283,10.1319517,31.3866615 +231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7408927,0.6908278,14.0940568,11.0234948,61.7000258,24.8485548,34.5274443,67.3125303,31.9068744,43.0024789,17.1313067,7.5968649,14.5348676,9.9500998,32.2661389,5.7789685,0.7112714,0.6610779,14.4703797,11.4122674,61.8665394,25.0137748,34.4822659,67.3039433,32.0541378,43.859892,17.3737031,7.6611628,14.4548495,9.740602,32.4541658,5.9640425,0.7815258,0.7310827,14.5507569,11.4536639,62.3554005,24.6062421,35.9300605,67.6783385,31.6223761,43.930074,17.4685277,7.6223638,14.5152276,10.3730775,32.8311358,5.6890934,0.7225292,0.6707354,14.6855906,11.6135315,62.9720829,24.1413372,36.3309196,67.1223108,31.352498,43.9568467,17.4532166,7.5251647,14.6262543,10.4129609,32.8884646,5.7350473,0.684477,0.6537792,14.885242,11.8065383,62.6251967,23.5691687,36.510922,67.7226301,30.671505,43.5766573,17.3868353,6.9926844,15.032878,10.3954277,32.76064 +232,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3834003,1.3774234,20.2349641,16.2206423,49.1375967,10.9103126,34.3309012,64.797128,35.0231562,43.4658468,18.2118263,5.8909187,13.0289177,10.615703,32.9753336,9.6473049,1.2734406,1.2754348,20.1239724,15.9244689,49.0061235,10.3425,34.4722147,65.1161636,34.575278,43.1558173,17.7970803,5.9409438,13.3076937,10.7126003,32.7027856,10.4989605,1.2734184,1.2754198,20.8756858,16.4085073,49.671451,10.106204,35.0850615,65.044081,34.1560087,42.7025965,17.962998,5.6174689,13.7549732,10.7739521,33.4806988,10.7740586,1.229052,1.2391218,20.589334,16.0958553,50.8019512,10.0913538,34.8343062,64.6726826,33.9527993,42.4096936,17.8395895,5.3843114,14.6829954,10.8618595,33.6426033,10.9631148,1.1470373,1.1612828,20.7196499,16.0977269,51.0355322,9.7918606,34.5877254,64.5742095,33.8545295,42.5295648,18.2575803,5.4130616,14.3968268,10.7470096,32.4833677 +233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.742807,1.7372353,28.9535627,24.6909816,57.8451084,14.7661628,33.2647222,65.6297331,33.4597752,41.4805955,19.0656692,2.5688261,13.9939991,9.6434783,34.770379,18.0786605,1.7279344,1.7457139,29.3762119,24.920443,58.6942171,14.9436163,33.6466154,66.0293687,32.8040472,41.4236287,18.8269502,2.6247558,13.9091362,9.6145565,35.0259427,17.394558,1.739884,1.7573665,30.1522878,25.5632121,59.5196777,14.6517302,33.1527931,66.1886455,32.6428591,41.905664,19.0673346,2.6237508,14.2766289,9.8982574,35.3382025,18.8040093,1.8130507,1.827205,31.1942966,26.425475,60.0885707,14.5820133,33.4708516,66.2330677,33.1112409,41.9099022,18.919198,2.6120969,13.8025309,9.8068073,35.1380246,19.1503959,1.9319749,1.958667,31.4826358,26.6769048,61.3167395,14.4836659,33.6977075,65.9275374,32.4484578,41.8384248,18.4780272,2.6754095,13.8819146,9.9916284,35.4272479 +234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2934802,1.3329872,25.4381204,21.8671683,68.822977,13.446533,32.7237459,65.6015591,31.2098008,41.3250291,16.914523,2.2843018,13.5847774,9.1191702,33.6465065,14.6378211,1.2384287,1.2626011,25.9480966,22.1951412,69.4045121,13.0081796,32.6037479,65.5890362,30.9705465,41.3453846,16.7938405,2.2958525,13.4558893,9.2165432,34.1308498,14.3223716,1.2150312,1.2292458,26.2228822,22.4153817,70.079009,12.5778226,33.0983076,65.1289426,30.6137524,41.5726637,16.7405322,2.3301141,13.4760571,9.3320848,34.657099,14.5833215,1.1709445,1.1728191,26.8130259,22.8837051,70.8560238,12.3416854,33.2864775,64.5716297,30.2744266,41.1847524,16.5528794,2.4163342,14.100182,9.8283773,34.7398283,14.7236104,1.1970659,1.2054395,26.847959,22.824373,71.5105316,11.9698977,33.4817937,64.7500736,30.7564473,41.4982891,16.0396168,2.5059861,14.2570503,9.9651291,34.586366 +235,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6492372,0.622861,13.2131716,10.3857468,63.314554,14.0607835,29.6320717,65.1581253,31.2031257,40.2240008,16.4757773,13.3640787,13.0849768,9.997947,36.3947036,5.4771502,0.6415158,0.627522,13.1148397,10.3979437,63.7664143,13.8488507,29.9004199,65.2525222,30.6930192,39.8892395,16.3652088,13.3878673,12.9728089,9.9385898,36.3439404,5.9735966,0.7020174,0.6849574,13.3549339,10.5882995,63.7712144,13.8764536,30.2781272,65.3484345,30.5572773,40.1416445,16.6408221,13.3116217,13.1683321,9.8119139,36.585117,6.0676451,0.6925571,0.6800907,13.3447537,10.6249378,63.8771478,13.8616438,30.8011392,65.6499427,30.4966391,40.5449388,16.8889141,13.0879896,13.3795248,9.8058059,36.2648079,6.5798321,0.7284853,0.7243885,13.4916481,10.8820462,64.2118207,13.835989,31.0806555,66.5273127,30.307999,40.3207027,16.6437399,13.1509325,13.4668879,9.8499469,36.2348721 +236,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1845248,1.2166222,18.9722608,15.5346126,74.0599284,17.2721884,36.0934362,65.3716845,32.5507366,43.6471736,18.5480992,5.8424379,12.7345829,9.6880393,32.4559322,9.6369922,1.1609728,1.1951456,18.9513186,15.6227575,75.5038466,17.3780843,35.0980194,65.6280236,32.8956914,43.7137002,18.5321915,5.9232789,12.7918382,9.550153,32.6215792,10.077187,1.1737778,1.209753,19.1592597,15.6572207,75.6197831,17.6163598,34.9586134,65.7840272,33.0472376,43.3223768,18.4989074,5.8619408,12.7306242,9.6063981,32.7773726,10.6536503,1.1782501,1.2049016,19.2818742,15.8680726,76.0631001,17.9010817,35.0500878,65.6300235,33.1210622,43.5328317,18.8759763,6.1147484,12.7129202,9.8671008,33.2871927,9.9397582,1.1568291,1.1913079,19.0671626,15.6962397,76.2576825,17.8991885,34.9290359,65.3946705,32.8373988,43.7064259,19.3538362,6.0196673,12.5564391,9.6332547,32.7568813 +237,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0108014,2.0108014,22.8452319,18.7337497,51.9008562,15.8369478,41.2347772,66.0479564,36.8517072,47.5041268,22.5561103,3.4053306,12.9699514,10.9539144,36.3192678,14.3248554,1.8877277,1.8877277,22.2114776,18.1365851,51.4286017,15.3050627,41.3273314,65.5435954,37.4497201,47.5160615,21.3950198,3.2313677,14.1401932,11.855933,36.7013338,15.1757371,1.9077988,1.9077988,21.6284643,17.1324657,50.2840969,15.456103,41.3717345,65.5178017,37.683423,47.9809522,22.1647271,3.5143346,12.5674685,11.4961738,37.6687485,17.9844089,2.0582575,2.0582575,21.0108464,16.6205229,49.4942687,15.2693387,43.0044038,66.1124365,38.4813377,49.0096409,23.5694271,3.7103218,12.2934748,10.9349221,36.8442148,17.3432896,1.8767105,1.8935674,21.03157,16.4053388,49.0458838,15.9038865,43.3686652,66.9210019,39.165848,49.2402443,25.2531414,3.8767298,12.3408351,11.3535695,35.4800865 +238,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9192324,0.8771093,19.0327954,14.5755637,83.7054185,13.4029482,30.5445032,64.3284478,31.9422547,38.6463838,18.1960402,3.4135811,14.4748352,12.8565107,37.7822602,10.4838684,0.8352564,0.8352564,19.5389779,14.7322151,83.4153111,13.4029051,32.547189,63.8731627,31.9421936,40.193892,18.2870488,3.2316881,14.2174678,12.5874375,38.7170597,10.7768822,0.8551711,0.8551711,19.9320589,14.8935738,82.1603297,13.1834181,32.7915024,64.06324,32.2618788,41.239782,17.642567,3.5398687,14.3473886,12.3144169,38.0839539,10.5086028,0.8036745,0.8125609,21.38577,16.1384614,82.2649168,14.2354489,32.8682185,63.2583106,32.8000779,42.8086042,17.8290504,3.9892589,14.1958378,12.2098112,38.4384611,10.5455926,0.8483088,0.8567693,21.1236868,15.9788057,82.5449403,13.3884017,32.7848861,63.7299434,32.7751601,42.7482382,17.1759582,3.6227504,13.9750879,12.2390348,38.5867166 +239,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.5107251,1.5602894,27.0349237,23.1401997,81.545835,12.7180607,27.1214253,64.94716,24.5536251,38.7608446,11.89717,4.2849307,18.9429847,14.1302547,34.6507765,15.828026,1.5678696,1.6411648,26.8266824,23.1315074,82.1943996,12.7879138,27.0003846,64.6898839,24.8777343,38.8077505,11.869326,4.353311,19.5404345,14.7551743,34.4338948,18.0411715,1.4967385,1.5120842,26.7983493,23.3896735,82.614271,12.2588958,27.2844823,64.3089192,24.1548731,38.6582235,11.4108512,4.4134705,18.9806666,14.2679767,34.2169711,17.2445313,1.5951382,1.6046695,26.3704152,23.1114899,83.3021666,12.0567923,26.8065276,64.4187748,24.4538998,38.6007783,11.6134692,4.4855715,18.8188889,13.9871714,34.2908483,16.2907732,1.4991761,1.4961971,27.1796883,23.6215964,83.4827883,11.0591812,27.0470675,64.6165717,24.735643,38.2407694,11.0369865,4.1557735,18.9879674,13.8255239,33.7399165 +240,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9182449,1.9584539,34.522668,29.7753015,70.9810969,13.4598969,32.5380239,64.4403961,28.8062138,38.7962267,15.9925019,3.2942425,14.1289604,9.9639988,36.1605933,20.709239,1.9344769,1.9685852,34.0358699,29.3631244,70.7417955,13.7972532,32.9062034,64.7991091,29.4891196,39.7236303,16.5578509,3.4254457,15.278151,10.9649665,36.6676372,20.6443051,1.8820086,1.890402,33.7384908,29.0690986,70.5193173,13.9165739,33.0117349,64.438005,29.5889426,39.8741083,16.9380093,3.2634092,15.6280465,11.3248038,36.9299784,20.2262853,1.7138513,1.7130757,33.1188494,28.4956988,70.8233543,14.0977798,33.2471973,64.819151,29.6299422,39.7315165,17.24458,3.5422734,15.3630566,11.314173,36.7796225,20.0805233,1.5474879,1.5479691,32.5150811,28.0166175,71.1656017,14.2090667,34.1145931,64.6589727,29.2926259,39.625263,17.397608,3.5534408,15.132998,11.7988958,37.1306505 +241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.4964302,1.4934622,27.2975084,23.8239859,84.3699389,10.6124834,27.3917861,64.4395526,24.7493865,38.157032,10.8547858,3.8880674,18.6036536,13.4491738,33.4052994,15.9388823,1.3876295,1.3923355,27.597914,24.2913094,84.7518236,10.6798174,27.5446691,64.1005482,24.692726,38.3602416,10.9055588,3.9062716,18.9630978,14.0284805,34.0310605,15.860841,1.3438579,1.3714241,27.5659922,24.5439412,85.7342769,10.3967485,27.5453385,64.1175117,24.5833736,38.2014973,10.7208967,3.9973822,19.1153674,14.6976373,33.5213497,16.3711788,1.3682393,1.3844005,27.6429094,24.5670503,85.7914411,10.3491557,28.3129682,64.6494175,25.0970811,38.4856002,11.0221713,4.1317474,18.3310193,14.1962334,33.2560526,14.863213,1.5208445,1.5877325,27.8442926,24.5484563,86.269252,10.5318603,28.9673804,65.1037586,25.6289112,38.9683668,11.5731628,4.1129584,19.6057471,14.9566255,33.9743535 +242,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.981731,2.1065494,25.7584138,20.4755782,40.2087065,15.1966935,39.3300425,67.5125577,39.0066778,49.5665399,28.1660569,3.8545858,11.1974149,10.5536005,30.8129665,25.4344598,1.9685778,2.0934838,25.7502479,20.1190397,40.1065559,14.6277215,39.4120617,67.1501705,39.0476282,49.4296184,28.2001509,4.1788732,11.9579231,11.1257636,32.060378,25.5217142,1.8412002,1.916784,25.2196718,19.9297621,40.2065861,14.3088843,38.6784448,67.4897945,39.0666152,49.0851457,27.9438331,4.2678809,11.0666583,10.4393983,32.3236628,26.4476014,1.9207522,2.0050711,25.1543864,19.9989343,39.1919078,14.7058247,39.1569507,67.3898082,39.4168441,49.0636769,28.3931925,4.3264883,11.3233283,10.4057204,32.2048457,23.6710566,1.9058168,1.945328,26.0717163,20.6166436,38.7578842,14.4943154,39.3192129,67.2023977,40.0636984,49.4523914,28.740843,4.2079089,10.8295441,10.4791857,32.7114196 +243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6712171,1.7027192,33.2057041,29.1294581,57.5246859,16.8223858,36.8904599,63.9275409,29.6187509,41.3783334,17.8084578,2.6258221,17.2406549,13.5739643,39.8322446,16.5198627,1.7093822,1.7367543,33.999598,29.9628303,57.2789225,17.1304328,37.4405548,64.305503,30.0621937,41.7826871,17.8890417,2.632273,17.5274458,13.6850952,40.1998351,15.1540639,1.8376375,1.8811423,34.668044,30.5936521,57.5096435,16.9961036,37.4435895,63.9018651,29.8273453,41.2498315,17.5348986,2.7302531,17.3551934,14.0418744,40.8108672,16.159059,1.8893778,1.9404533,34.8480837,30.7673906,58.7555038,16.5784548,37.1168828,63.8665169,29.2655946,40.6910346,17.6688762,2.6791908,17.6361191,13.6360362,40.696695,15.9497756,1.9164404,2.0084232,35.5064083,31.1124092,59.7067332,15.7466517,37.1508889,63.3093388,29.4523266,39.9369014,17.6317423,2.7208325,17.8016468,14.0107775,40.6630104 +244,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.9971413,1.0155953,22.9365896,19.8294961,84.3417022,13.0151876,29.1208356,64.4996952,26.9673735,39.8721128,12.9614673,4.3312944,15.370885,12.6509624,30.1115543,8.8447501,1.102254,1.1207981,22.8229811,19.7381271,84.5219089,13.1862949,29.4611703,64.9707547,27.4260004,40.1905638,13.0658047,3.9808016,16.0929881,13.2023133,29.7222325,9.6436927,1.0921859,1.1207517,22.5416753,19.3545939,84.5719713,13.2384862,29.5568561,65.3162057,26.7589093,40.004863,13.1732264,4.1646411,16.3051086,12.9695618,30.6802985,8.9728587,1.0033533,1.0063855,22.2623269,19.2363702,84.5516258,13.2255185,29.4151056,65.3354381,26.7741938,39.9789474,13.3425235,3.9776162,16.2342445,13.2543846,31.1991232,9.0636863,1.1224915,1.1242509,22.1966345,19.1861033,84.5882697,13.0778402,29.0361681,65.1356676,27.0342841,40.1759884,13.4404552,3.9150718,16.3592208,12.8750945,32.1818128 +245,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9086905,0.9086905,12.1480144,9.2599278,70.4570185,25.1961484,30.8897695,65.7240634,28.6563401,39.6433718,14.5713256,5.1332853,13.1785714,9.1851322,33.225342,5.7397959,0.8954225,0.8954225,11.8449782,9.2612809,70.6625183,24.2723679,31.1115147,67.0359608,29.4769343,39.5386851,14.366146,4.4860153,13.2689557,9.341446,33.9221341,5.4707379,0.8946236,0.8946236,12.0683453,9.2266187,71.3275299,23.4341637,31.741168,66.4563807,29.7224225,39.9603461,14.6899784,4.5241528,13.1373938,9.6739901,34.2255532,5.375,0.9388463,0.9388463,12.3255814,9.4275492,70.9437387,23.3297797,32.2226225,66.5525937,29.9891931,40.0756484,14.7154179,4.3768012,13.3782825,9.8366477,34.7748392,6.3432836,0.8727706,0.8727706,11.780772,8.8310269,72.0404412,23.4752797,32.1324067,67.2457937,30.8522312,40.5815655,15.4169715,4.3708851,13.5574837,10.2387844,33.2969432 +246,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9223142,1.9902794,33.5153248,28.9907092,70.399134,8.2145618,30.9529565,65.0713253,31.8634289,36.610017,15.553867,3.8755689,15.8097209,10.7505199,38.4297486,19.8199694,1.9986123,2.0740122,33.9031284,29.2869145,70.9348823,8.2982251,30.9482115,64.8811014,31.5336787,36.5191974,15.2492747,3.7753497,15.9769399,10.615441,38.0984427,20.1032598,1.9526056,2.0052727,33.9412575,29.416155,71.0971849,8.2438639,30.9503806,64.7537089,31.7243645,36.6622688,15.326693,3.7529244,15.8944791,10.6185567,37.9970611,19.2793059,1.9092668,1.9514156,33.8555467,29.4533341,71.4492188,8.1107584,30.9908127,64.7291752,31.7222804,36.6612262,15.2913784,3.7812828,15.9943713,10.7112283,37.8883116,19.1429477,1.8958587,1.9481009,33.7443229,29.2426572,71.4688891,7.9524329,30.757762,64.5982964,31.445524,36.4120506,15.1278128,3.8131455,15.7872151,10.6342589,38.0802454 +247,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6552858,1.6721996,21.1520147,15.9266403,48.4225043,17.0140191,43.4662259,67.8473886,40.1816239,49.3076862,26.6782893,3.7590299,12.0248102,12.0248384,35.0974134,14.1272384,1.4710131,1.5014169,20.933931,15.9411727,47.9709018,16.9066245,42.3067723,67.2878991,40.7683503,49.6326487,26.629488,3.6262833,11.1659547,12.1616747,34.7842732,12.8675284,1.4801522,1.510352,21.3324214,15.7613219,47.747698,17.6946586,42.2622984,66.1952328,40.310047,50.0712675,26.5721273,3.5067814,10.8352176,11.1185345,34.3025545,10.3570936,1.5636339,1.6056229,21.3421202,15.5360175,48.1307164,18.5226614,41.8945992,66.9085442,40.2872719,51.3287474,27.7084426,3.8784762,10.2680243,10.4022875,34.6607986,9.3102951,1.4921476,1.5316842,21.2103914,15.6081481,48.9028814,18.3501461,42.5867461,65.9077169,39.8913899,49.9688888,27.3028961,3.4586254,10.8356451,10.5688349,33.6500955 +248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.9542107,1.974641,31.9741341,27.2494006,61.4882216,14.2340955,33.8814575,65.9928744,32.3523133,41.7364914,18.5693325,2.6497676,14.5366071,10.1820524,35.8793269,20.6000129,1.8941171,1.9417726,32.5603076,27.6953323,61.7533673,14.044704,33.7360928,66.5160777,32.24415,41.3006896,18.1655776,2.4479917,14.6755502,10.2966508,36.6739188,20.8945472,1.9752907,2.0573956,32.6301782,27.6703097,62.4705234,13.680608,33.6801188,66.6771781,31.9356709,40.3005441,17.5809163,2.4905402,14.6021534,10.1808109,35.7796266,20.4171906,2.2071254,2.2628792,32.7904156,28.0168049,63.4075759,13.9273089,33.2669225,66.2088527,31.6103879,40.2075922,17.3097073,2.4428582,14.7761185,10.0555145,35.6126085,21.2622515,2.2559443,2.3198408,33.4467216,28.6435918,64.0073106,13.9107807,33.4071058,65.8338689,31.0668253,39.1840585,16.8564202,2.4351655,14.8444273,9.5887548,35.2208265 +249,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9353325,2.0607129,35.3262953,30.9079252,59.8686,16.3073116,37.422447,63.8941619,30.3812551,41.0625118,17.9231223,2.9607417,18.1531038,14.3731991,40.3456483,15.3413007,1.8970741,2.0454505,36.639377,31.903411,60.4455912,16.6409485,36.9732701,63.8314773,30.0788263,40.694043,17.787539,2.8867958,18.6762984,14.6070584,39.9874651,14.9187518,1.9888899,2.1500212,36.4278933,31.6956451,61.863533,15.928471,36.1923227,63.2203939,29.4364465,40.4296853,17.5529248,2.8152079,18.6915413,14.6256111,40.5406919,15.7160614,2.1302407,2.2862538,36.9239913,32.2986205,63.390021,15.5309474,36.0223907,62.856506,29.1272518,40.1037317,17.5256706,2.8852984,18.2903212,14.3540927,40.5175715,17.6607715,2.1166995,2.305125,37.0133811,32.1701305,63.6791724,15.2691697,36.3998738,62.3165241,29.1167706,40.7175879,18.0569765,2.8400148,18.5813492,14.0721509,39.9892721 +250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1598138,2.3345416,36.7423691,31.9453023,63.8013117,15.3375595,36.4766153,62.3715554,29.2396878,40.5258723,18.1085688,2.8576362,18.9314188,14.2786238,39.6615422,15.9455704,2.1483073,2.2954068,36.585529,31.9063613,63.6608841,15.7025543,36.1188822,62.5800834,29.0340933,40.299548,18.0109841,2.7537605,19.7136544,14.7187502,39.6464464,16.9857287,2.2580295,2.364098,37.231383,32.5519842,63.5262587,15.8725912,35.9787925,62.5944308,28.7035547,40.5670001,18.3473229,2.7446251,19.9796945,14.4500868,39.7902694,18.4377826,2.3536911,2.456469,37.0214957,32.6474948,63.050931,15.9672013,36.6753405,62.7354609,28.6516597,40.8455182,18.2263262,2.6789328,19.2013044,13.8540572,39.3409101,17.8800667,2.3148027,2.4101078,37.3097221,32.9650106,62.7577303,16.9139302,36.4316907,63.2890775,29.2621411,41.0093774,17.9252922,2.6048965,18.5522385,13.6281626,39.5226961 +251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.3148129,1.3341461,24.6961437,19.806968,54.0084125,14.5028357,38.3537289,66.6978161,35.5391258,46.9164211,23.8843595,3.3893981,15.9217748,14.1321586,39.0624909,16.9254611,1.4086075,1.4391589,24.4118385,19.8673968,54.0035888,14.3136079,38.7351045,67.2598537,36.2476954,46.9996564,23.1688424,3.3098335,16.3585232,13.7640444,38.7499954,15.0793747,1.4902229,1.4837845,24.319197,19.8603419,53.6940664,14.0656666,39.0689007,66.5033626,36.207625,47.1898505,22.4062307,3.5976228,15.6921803,13.3591094,39.5761156,14.4950956,1.4838983,1.4774059,24.0299693,19.6983921,52.1276399,14.5768543,39.0861096,66.5164225,37.4725505,47.2387861,23.4177056,3.8003404,15.1082235,13.030309,40.5841278,13.942289,1.4134144,1.3873738,24.2136623,20.0781149,52.2164082,14.2582995,40.2419015,66.8709624,37.5576733,47.8684688,24.1366264,4.1115447,15.7917357,12.9518101,40.0432849 +252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2.0160094,2.1113632,33.2818002,27.8339326,69.9485847,7.6397772,35.1891428,61.9474203,32.6819947,38.0087822,17.9837618,3.1416082,15.3880602,11.1740204,41.1880065,16.7763613,2.0227408,2.1181797,33.0476259,27.619739,69.7091144,7.4960364,35.2394269,62.3282835,32.9647225,38.1379837,18.1821013,3.1726498,15.3456916,11.3793417,41.1253215,16.6899744,2.0263783,2.1175814,33.1491442,27.8628521,69.8599818,7.3616621,35.1055614,62.326403,33.0575105,38.111069,18.2011351,3.1608603,15.3396458,11.4158933,40.8133166,16.6140966,1.9197085,1.9985997,32.8116204,27.5986258,69.8150483,7.6177328,34.3029735,62.189784,33.3217353,38.5002277,18.2482933,3.1052116,15.4048231,11.3443607,40.7740382,16.7838814,1.8857582,1.932122,32.2590009,26.9353211,69.6071824,7.6113485,34.031214,62.6536227,33.6119695,38.8651162,18.4178239,3.2808393,15.0057537,10.9390946,39.9340994 +253,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6938227,1.6852986,32.0691777,27.4316816,71.9912522,13.6721556,34.7181573,64.4253222,29.1159379,39.5321712,17.5176363,3.7947759,15.6589447,12.0614849,37.1928446,18.6589328,1.6848389,1.6996626,31.6629099,27.1674278,71.7914247,13.4519731,35.3742791,64.8515944,29.2078734,38.8135472,17.5699835,3.7432822,16.364741,12.2697075,37.2974924,18.1180058,1.7083411,1.7083216,30.7958895,26.2643882,71.2949343,13.6745204,35.4592814,64.8732724,29.5975368,38.6088888,17.9440696,3.8582904,16.0907614,12.4137793,36.8903499,18.0809939,1.7686812,1.765157,30.1549635,25.4004262,71.3734673,13.5454411,35.3866094,64.877076,29.1124475,38.1810259,17.8822958,3.6643401,15.2153813,11.5719821,36.5845915,18.2767413,1.6537718,1.682177,29.0262983,24.5727201,71.4325268,13.5520718,35.3689188,64.6134508,28.8622037,38.4978623,18.124471,3.848908,15.1140867,11.5413205,36.8539135 +254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.1868268,1.1787521,21.0420098,17.3574939,45.8574026,13.8296374,38.7332823,65.5202706,34.6789173,45.9397544,20.8050295,3.2868517,15.1406085,11.0762444,30.3345991,15.6559642,1.102793,1.0929466,21.4972945,17.8542633,45.8313504,13.7108581,38.6193414,65.3670787,34.7381165,45.6102238,20.686242,3.1973334,15.0105619,11.0239071,30.1226397,16.16587,1.126206,1.1262955,22.3639226,18.6224227,45.4691198,13.7019784,38.5806891,65.8755877,34.6350029,45.4740337,20.7438865,3.2435872,14.8488506,11.2700734,31.1462352,15.0709432,1.1996845,1.2164751,22.732422,19.0679143,46.1213279,13.6923619,39.2815236,66.2675223,35.0291781,45.4497329,20.8820149,3.3352815,15.0901559,11.5780905,32.3010236,14.0951575,1.2135116,1.2371541,23.324354,19.5969467,46.0096453,13.4715819,38.9695017,66.3039811,35.1007433,45.8203674,20.9729421,3.3793885,14.9221281,11.7586442,32.4694906 +255,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9470936,0.9512008,20.6125016,16.0230803,50.9674313,9.5034726,34.4521472,65.1233104,33.7630479,42.5985054,18.1617366,5.2667791,14.1736721,10.0921553,31.797281,11.3778706,0.9307689,0.9348934,20.9552276,16.190713,51.1346928,9.4557537,34.1571239,65.2817959,33.4365152,42.5738049,18.2344581,5.1430609,13.8484678,9.7621971,31.854189,10.6625259,1.0445461,1.043729,20.4697653,15.8746025,50.8426643,10.0359647,34.0161449,65.3505212,33.964056,43.1321279,18.3493095,5.2181348,13.8592215,9.9625772,31.3603369,11.4502991,1.0873323,1.0824205,20.621954,16.250195,51.0768476,10.0727578,33.4797205,65.3807182,34.6738452,43.557001,18.8153681,5.1579915,13.5528659,9.669879,32.3796176,10.6229992,1.0785236,1.0736311,20.3920073,16.0304918,50.9879363,10.0229942,33.9097808,65.8263705,34.9393558,44.6725451,19.2173077,5.4209512,13.4272528,9.9090276,32.2809953 +256,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2.2110588,2.2840095,33.6092457,28.8882188,64.3484659,13.9369565,33.322833,65.7127988,30.6603739,39.3396144,16.7610076,2.4213817,14.9141644,9.6476204,35.145096,20.1055075,2.2120151,2.2771488,34.1624435,29.4111772,64.7203108,13.8513443,33.2603593,65.7807045,30.9464209,39.2641222,16.8334409,2.1784434,15.6129989,9.5981282,34.8641974,19.6067127,2.1325772,2.1914046,34.769208,30.0935222,65.4741824,13.8571038,33.3913441,66.0352239,30.7495394,39.4531979,16.7622346,2.3039102,15.3188916,9.6619456,34.6154116,19.7661204,2.2833227,2.3234905,34.9673311,30.2337216,65.7289192,13.9327774,33.5070351,65.9615714,31.0954487,39.2295043,16.3601037,2.4218255,15.3325196,10.3370482,33.9056884,20.6270336,2.2800025,2.2900213,34.968175,30.1930092,66.0160334,14.4139522,33.4669874,65.7310329,31.1844596,39.3892577,16.2348317,2.3750755,15.5953911,10.4123819,33.5892307 +257,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2459932,1.2535104,21.0499545,16.6938971,51.0382126,10.0600904,33.6530456,65.5626627,34.73636,44.5520798,19.1056794,5.2868589,13.0529955,9.5462676,31.2185173,10.4870356,1.3500101,1.3575842,21.1613803,16.7388214,51.2579768,10.3895909,34.0112028,66.0980099,35.6240233,44.6624022,19.3481522,5.3661408,12.7842846,8.9925013,31.4239636,11.0753096,1.3893726,1.4011458,21.2997041,16.9085863,51.5605133,10.4501304,34.2186087,65.5079876,35.7201921,44.3053291,19.366057,5.2742172,12.77862,9.368476,31.146218,11.4401442,1.32327,1.3351998,21.1037109,16.8746683,51.4929438,10.3595008,34.9617057,65.9453928,36.0383752,44.7960425,19.6781703,5.3560775,13.1448536,9.7679117,30.9970923,12.1402856,1.191741,1.2090265,21.0867386,16.9266958,51.2864021,10.5919356,35.6389967,65.8964576,36.3686608,45.428754,20.59593,5.5502793,13.3783891,9.8841408,31.2632313 +258,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.1052387,1.1132554,21.2346571,16.6825728,82.9307785,13.3426565,31.7635772,63.2425425,32.8034444,41.6799851,17.2288548,3.7524067,13.8585196,11.2886593,38.5899576,10.3051383,1.0698876,1.0778612,22.2720836,17.5598662,83.3419214,12.5645957,31.1802585,62.8890873,32.856049,41.2002843,17.6114667,3.5704213,13.5468884,10.3320821,38.3641049,9.8200945,1.2605855,1.244239,22.4979815,17.6431915,83.0386173,12.418433,31.7124352,62.6147974,32.7148074,40.8838309,18.7107638,3.5398936,14.5473554,10.1422662,39.0061184,12.9001955,1.4259468,1.3867591,22.3360895,17.5520657,82.3843207,12.1132357,30.13783,63.2511768,32.4586151,41.1845514,19.0688275,3.7987794,13.8875333,9.7921983,37.0899134,13.8773566,1.5320001,1.4955279,21.7716763,17.0984979,82.8340292,11.9720955,30.1615729,62.0801947,31.7216375,40.2567779,19.465343,3.5296705,12.9706278,9.8175326,36.9910612 +259,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9247906,1.9557772,33.7488583,29.3599542,71.6131641,7.8184433,30.5468723,64.6894713,31.3806599,36.4140747,14.9868155,3.8593581,15.9681948,10.8242956,37.9423807,17.8466044,1.8480665,1.8794532,33.8295793,29.4892287,72.0528268,7.7577834,30.5297787,64.8669384,31.8142676,36.491302,14.9437631,3.7336358,15.9651899,10.6785909,37.9149554,17.8079915,1.8216999,1.8426981,33.4499406,29.2334846,72.540779,7.657766,30.3708543,64.8309748,31.5719396,36.2153266,15.0167137,3.4825401,15.981761,10.724981,38.5249002,17.1906005,1.7569607,1.7799663,33.1019943,29.032155,72.593569,7.4595886,30.3928992,64.8245727,31.8113339,36.2612166,15.1729079,3.5053022,16.1186267,10.9418445,38.8308038,16.9151734,1.7222232,1.7512767,33.1062051,28.9091486,72.7901664,7.4367877,30.1019133,64.8025885,31.7042695,35.9152669,15.10383,3.4322511,16.1446855,10.9277953,39.0325123 +260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.1704842,1.1831916,21.5356962,17.1401799,66.5989247,15.43208,33.1834511,64.6447667,29.8894291,40.7457841,17.1018687,4.164123,13.9900942,10.4130924,31.3980515,15.7038432,1.1628038,1.1653063,21.8364106,17.5361568,66.7849728,15.1744179,33.5207501,64.668899,29.7844392,40.6924328,17.1272765,4.3825877,14.2269012,10.3065823,31.7179741,16.4782052,1.1904659,1.1967786,21.656557,17.6136925,67.3205968,14.8511991,33.730192,64.6078282,29.9615045,40.6483502,17.0377572,4.3848733,13.5380466,10.3831441,31.6949318,15.8672632,1.212004,1.2032374,21.9157082,17.8583634,67.978851,14.9413391,33.5097743,65.0987726,30.0769298,40.632385,16.7802067,4.2181029,13.4027554,9.9254855,31.1500883,16.2980647,1.2418814,1.2230751,22.1373591,18.0830896,68.0009622,15.271545,33.2063144,65.2043173,30.1394352,40.4633689,16.9532856,3.9448882,13.8379963,10.1942884,31.2538734 +261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2.185264,2.1908146,35.2546275,30.5834189,66.0046697,14.1828801,33.6608044,66.0910055,31.1582245,38.6039188,15.9152,2.3474652,15.5754852,10.6174518,33.9143325,22.366912,2.2277768,2.24904,35.2164518,30.2919053,66.3050392,14.3273072,33.3230917,65.6121996,31.6031951,38.7489712,15.6326818,2.4058156,15.5072562,10.8695783,34.1448212,22.2405862,2.2129778,2.2356787,35.265661,30.1303624,66.5867515,14.4038997,32.9510847,65.0192756,31.7332997,38.5122732,15.7803895,2.3848191,16.2300616,10.954151,34.0946553,22.1677548,2.1193278,2.0995977,34.7900096,29.6100051,66.173092,14.505734,32.4017278,65.2436458,31.8079401,38.3394609,15.796466,2.4262931,15.1321261,10.5534955,34.5307264,22.3788149,2.2395295,2.245994,33.6782881,28.534839,65.6913295,14.4611846,32.3880289,64.6609364,31.8647893,38.2482063,16.0422659,2.4173325,15.1673728,10.6067003,34.6607624 +262,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49649,1.501983,23.0969152,18.5173037,62.1671906,10.1695907,32.6144394,65.9460699,34.2951993,41.1190694,18.2966901,4.1283721,12.9924815,10.6056478,35.9213079,11.3643352,1.4750826,1.4908262,22.9023529,18.3952376,62.445246,10.3925471,32.4050088,66.3202795,35.5977255,41.3929204,18.3713322,4.0713638,12.8586699,9.9841561,35.7047715,11.1733805,1.339568,1.3830409,22.3662592,17.6034188,62.6514993,10.8117752,31.8885788,66.4470201,35.665256,40.8658694,18.4423851,4.1195102,12.9926241,10.2842326,36.2373608,11.5823323,1.33951,1.3733474,21.6196681,17.0701338,62.9463301,11.0705239,30.9438678,66.7768447,36.0569635,40.640494,18.7055519,4.1481857,13.1937737,10.4115909,34.9678517,11.5585815,1.4188595,1.4581389,21.1231469,16.6723683,62.8139513,11.5434302,30.3142377,66.6508329,36.4747841,41.3649854,19.0429268,4.2057313,13.4801409,10.8422361,33.7857054 +263,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3929056,1.3609375,16.782752,12.2894319,82.2299337,12.5045836,31.5044557,64.6785586,36.3939701,39.543824,20.9248061,5.6370682,12.2215202,9.566848,41.2601332,13.0565458,1.2849228,1.2525682,17.2410461,12.4721024,82.3820968,12.6676015,32.0462363,65.950005,37.4183163,40.3324064,21.4617476,5.5983227,12.246766,9.4491436,41.3107585,12.3179492,1.3104232,1.2786275,17.7241549,13.0771636,81.5763014,12.1544276,32.1938843,65.1109273,36.8206322,40.3651377,21.6899698,5.0000752,12.7208246,9.7214474,40.9101723,11.1825228,1.2989471,1.2989471,18.3616502,13.7921956,81.1129976,12.104847,32.206955,65.9414348,37.1635005,41.6400865,22.7894938,4.4532966,12.8209726,9.3783338,40.4242507,10.9111188,1.4070107,1.4707455,18.1318564,13.3552202,80.6284692,12.8567106,32.5421967,65.9435861,37.0202403,41.8059531,22.7644376,4.4105489,12.0382434,9.8684147,38.5960993 +264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.6252829,1.690588,28.3762659,24.7600689,86.5540966,10.633457,28.6597744,64.4497446,25.1513746,38.8314114,10.8657284,3.7985835,19.9948302,15.4177018,34.1233826,16.372289,1.6526137,1.7187013,27.8373784,24.3285797,87.3087962,10.6306908,27.513404,63.9318435,25.2236832,38.8357798,10.982713,3.9125353,20.4013066,15.6917393,34.2629791,17.3527404,1.5982952,1.6645618,27.9943878,24.5273713,86.8892775,10.9043424,27.1529008,63.8087411,25.5831141,39.1026694,11.3041776,4.038115,20.3504588,15.5311639,34.1768937,17.7124179,1.5632814,1.6225523,27.4385102,24.0318586,86.8761425,10.7438206,27.5559591,64.0868403,25.797775,38.9424601,11.19816,3.9365507,20.1077089,15.0821084,34.1625161,16.3949517,1.7255452,1.7616556,27.0613041,23.5647089,86.7769948,11.0481634,28.1688763,64.4624991,25.8677136,38.8441374,12.0095689,3.8135877,19.9547355,14.6642493,34.5477374 +265,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2050855,1.218053,21.003259,16.7395753,52.0605206,11.0054992,36.2392417,65.7685443,35.9905858,45.3129219,20.8060624,5.4557014,13.6720898,9.9986084,30.3349849,13.9021529,1.2003206,1.2134791,20.7942304,16.5328034,51.7881022,11.5452545,35.9499498,65.9450429,36.4610238,44.8938385,20.9245905,5.5595981,13.6349419,9.6876988,30.6482544,13.2211831,1.073408,1.073408,20.5426688,16.237845,51.352242,11.7568108,36.4132276,66.2019184,37.1455134,45.2752734,20.9414641,5.5829715,13.5433979,10.0042345,32.1553108,13.2238701,1.0362493,1.0362493,20.5575402,16.3769076,51.1050542,11.8433641,36.5864466,65.5409203,36.7553717,45.2407999,20.9878265,5.6140124,13.9685987,10.6530283,32.9657256,13.3895029,1.0264632,1.0317446,21.1345055,16.9490897,51.766381,11.9969131,37.1638034,66.7182856,37.3905699,45.6084565,21.5489834,5.9357758,13.9804313,10.8483335,33.6451827 +266,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2066587,1.2734633,21.4405882,16.207377,60.9336466,16.2967545,37.3267238,68.5060477,33.9698131,44.2089584,21.8420547,2.7907493,14.135717,12.1121936,39.840306,14.1719204,1.0356174,1.1044465,20.7852758,16.217217,60.9126344,16.7581947,36.6247244,68.042323,33.5996317,43.5392265,21.542574,2.9170926,13.4699759,12.2281439,39.2550517,13.9259455,1.0654847,1.1373113,20.6216703,15.8412583,60.2969932,16.2105159,36.3000267,68.9276088,33.6862608,44.096409,21.924197,2.5912699,13.9398022,12.5572885,39.0888993,14.36337,1.1471006,1.1643572,20.2250877,15.6836065,60.6284577,16.8606592,36.2211763,68.5848237,33.7079279,44.0255746,22.0237835,2.6234658,14.0326584,11.9330619,38.3245181,15.5106489,1.1609655,1.1374604,19.8437536,15.1563406,60.7647994,17.1497112,36.6434994,69.3285733,33.7727572,44.0045551,22.8471945,2.893464,14.1014249,11.1272044,36.6924306 +267,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0579516,1.0955238,18.8847719,15.3850811,76.6523437,18.0034648,34.962974,65.0495766,32.7915154,43.8621858,19.7125658,6.2194026,12.7624485,10.0379694,33.2272928,9.7171542,0.9501802,0.9876097,18.936966,15.405827,76.3843417,18.3830798,35.3570121,65.3807658,33.3812713,44.4604279,20.2638542,6.4086529,12.913473,10.2723928,32.5441549,9.2456319,0.9702314,0.9869499,19.1825288,15.433302,76.9992397,18.2788422,35.6990979,64.7886423,33.0102585,44.3784374,20.1288204,6.659581,13.3341768,10.5621001,33.0622231,8.8369896,0.9884808,1.0169626,19.3125201,15.3716984,77.045947,18.0012466,36.59937,64.8012622,33.0536286,44.0820175,20.372244,6.5678248,12.904469,10.4425293,32.9814968,8.3641336,0.9487903,0.9808002,18.646868,14.6988558,77.5904733,17.8110039,36.647081,64.597991,33.1532542,44.397028,20.3594964,6.6763903,12.863555,10.3252078,32.8674095 +268,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1767306,1.1745292,19.9478202,15.5939081,60.5997237,17.6706806,36.3435018,68.6706284,33.7141826,44.0360933,23.0524539,2.7019906,15.1223052,11.6482131,38.3231913,13.6732144,1.1898582,1.1783067,19.2648639,14.7755517,60.4311066,17.3267,36.4953485,68.7942712,33.9517092,44.1759551,23.6265648,2.9246646,14.5658796,12.0235731,39.6901461,13.9998204,1.2037081,1.2177313,18.9181146,14.8304591,60.4038496,17.4846457,36.1324549,68.3356546,34.4373059,43.8879114,23.3949031,2.8504834,14.49696,11.9806111,39.8117999,13.9998329,1.196587,1.2107438,18.2025084,13.7975099,59.9417856,18.0632688,36.3375187,68.1296274,34.4154944,44.4415735,23.4545196,3.1947592,14.0302836,11.4301031,39.6815746,11.3846955,1.1324215,1.1467812,17.8589178,13.5666973,59.8011184,18.3213343,36.365969,68.2224221,34.7838392,44.5940387,23.2333112,3.4018399,13.4971235,11.0806965,41.0749944 +269,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.8843523,1.8419734,20.5501959,15.8462691,82.2073386,12.1557353,30.7795587,62.922813,32.765023,40.2216842,19.4007392,3.352004,13.6165167,9.5110343,37.2025755,15.3781698,1.7356803,1.6941463,20.406273,16.110494,82.5083717,12.4007314,31.3974166,62.3359326,32.2843415,39.749615,19.5427908,3.2294363,13.6583337,9.2967769,35.8138351,16.6449679,1.6535209,1.5695786,20.0030386,15.3654018,82.7836754,12.2884289,31.7474355,61.5415149,31.769013,39.8058499,19.4652859,3.4747981,14.077551,9.0082706,36.0989384,17.8789141,1.7470781,1.6647509,20.094615,15.5551226,82.7156433,12.3811719,31.5139299,61.9050847,31.672915,40.2696755,19.2855617,3.9346197,15.1678042,9.9985077,36.5210872,17.959478,1.6669943,1.6057524,20.3650831,15.8525701,82.9642043,12.266412,31.0894,61.1881739,31.700702,40.1197255,18.9849178,4.1108576,14.849959,10.6839071,36.8881728 +270,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3823093,1.4233454,21.5332669,16.7592657,63.2266663,11.4682528,29.407872,66.6564961,36.5788314,41.0321716,18.8198293,3.9437374,12.8958719,10.3348043,33.0285824,12.9342885,1.3471863,1.4013152,20.9992609,16.6120959,63.0117444,11.4399586,28.8095535,66.313673,36.6818405,41.4802209,19.1333668,3.8816346,13.2967788,9.8743036,31.948456,12.4983276,1.3079793,1.3326052,20.5487323,16.1874566,63.1993973,11.4157698,28.8998607,66.6924474,37.0017731,41.8409022,19.1237447,4.1432857,13.1543671,10.2775743,31.3953083,11.9292621,1.2364129,1.2610803,20.3353394,16.0134708,63.109368,11.1353922,29.0532685,67.0617653,36.3323843,41.5639138,19.07758,4.4202741,12.9273164,10.5551311,31.3510009,11.3752799,1.3734666,1.3856132,20.48366,16.5082468,63.6133069,10.9050766,29.0142444,66.8363616,36.0386323,41.7172599,19.0890424,4.475972,13.273693,10.6617289,31.5210657 +271,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0682644,1.0736365,20.8211437,16.727802,52.0365614,11.6942301,36.9260189,66.4593504,37.2731817,44.7364957,21.7092905,5.8578331,13.5145388,10.6415841,34.5108413,13.4989317,1.1440438,1.1495309,20.9795882,16.5305018,52.754965,11.553588,37.293869,67.1745661,37.3530718,44.6905465,21.0499836,5.7250048,13.690366,10.5560692,33.7176879,11.9419749,1.1427845,1.1553792,21.4386295,16.9578347,52.1790383,11.3570569,37.956099,67.1629131,37.2033296,45.7250131,21.5150016,5.7062167,13.5808802,11.1215259,33.4243621,10.5700813,1.0949391,1.1074986,21.2398394,17.0656947,52.1232421,10.9841141,38.2962911,67.0129799,36.8483361,45.5362774,21.3427784,5.6562157,13.5146098,10.6988824,33.4052858,12.4396286,1.0457217,1.0583873,21.4429452,17.3059637,52.5877377,10.7701181,38.4086506,66.7015837,36.8266703,45.3452293,21.3724697,5.886939,13.9135786,10.6404938,32.9444039 +272,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.132344,2.2285167,37.5799771,33.1404797,62.5606705,17.2698855,35.0017621,63.6430261,29.0787407,40.8719259,17.6881512,2.4870972,18.6101924,13.706824,39.5899038,15.2068328,2.126446,2.1746931,37.7135576,33.4543741,63.2887075,17.7871012,34.2185281,64.7326216,29.5506083,41.0367854,17.2708305,2.5390251,18.7146573,14.6034242,39.56681,16.6664546,2.0631841,2.1138316,38.5824123,34.079605,63.6814722,17.5890398,34.0556741,64.6309235,29.0981444,41.173519,16.4934413,2.5240008,18.052363,14.0516392,39.8466947,17.4416885,2.0546256,2.1007681,38.9581514,34.414606,63.5398152,17.5650938,33.7639272,65.1289696,29.1752802,41.2305658,16.2897375,2.5154048,18.2843605,14.4556794,40.0696429,17.2598545,2.112545,2.1509039,38.8269301,34.2369458,63.8748925,17.3660206,33.5172918,64.7685495,28.7599031,40.0960804,16.0356406,2.5206018,18.6503149,15.3903543,41.035789 +273,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9970861,1.0171437,21.2431551,17.2757812,52.0021851,10.7514259,38.4043329,67.1356021,36.6396277,45.4633334,21.68669,5.8969052,14.3268305,11.0230747,31.9148291,10.7142936,0.960156,1.0032603,20.9290315,16.9580498,51.800427,10.8962806,37.339724,66.350585,36.6881809,46.1205759,21.764819,6.0338233,14.6151759,11.0727571,31.3500588,9.4827656,1.1598965,1.2022227,21.261674,16.9822068,51.9512719,11.5999136,37.354543,66.5997972,37.0806823,46.3323207,21.5303134,6.1616541,14.6829542,11.5577494,31.6754959,9.1016613,1.1383554,1.1906643,21.456098,17.2453365,52.5556045,11.3562699,37.1434119,66.4160284,36.7752165,46.1651358,21.7399808,6.1821898,14.2366147,10.9921258,31.8395917,9.2465817,1.1365378,1.2141621,21.3757752,16.8522911,52.6438996,11.4453108,36.2687714,66.4743934,36.767591,45.6521485,21.3374464,6.2804781,13.5736882,10.4406099,32.7024678 +274,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6629793,1.7140346,32.4869987,28.3462789,72.7760229,7.5881532,30.196876,64.8877325,31.8053171,35.8585874,15.2769717,3.4581477,16.11322,10.9520124,39.0940287,16.351255,1.5969898,1.6361223,31.890371,27.7713194,72.8805124,7.7215512,30.391205,65.0869383,32.2985626,36.126251,15.1972225,3.5389898,16.0615274,10.866987,38.545966,16.5534765,1.5532569,1.6157062,31.4008259,27.1615691,72.8331115,7.8690719,30.3119563,65.3776515,32.350658,36.2339024,15.3873522,3.5499307,15.7613019,10.8606596,38.4712795,16.8945953,1.5910676,1.6580465,30.6097977,26.4644846,72.4463229,7.9620083,29.8679683,65.2101499,32.5805626,36.2866884,15.657886,3.6767089,15.3296868,10.8834959,38.3719398,16.7333984,1.6175511,1.6903104,30.1508403,26.0011894,72.1781269,8.0475198,29.9421726,65.3383487,32.8735731,36.4962824,15.5444032,3.8586791,15.081194,10.9554778,38.0506176 +275,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6496023,0.6686575,11.6481505,8.644618,67.4760967,19.6205687,30.0545728,64.6861786,29.3103427,38.9109406,16.8568532,7.3554963,11.781034,9.3134768,37.226463,5.016449,0.569565,0.5697548,11.3405858,8.4515854,68.0912742,19.7471839,30.0124326,64.2661661,29.5149224,38.7189027,16.8781017,7.7238825,12.7783408,10.0506274,36.5660046,5.3191498,0.5138766,0.5112425,11.1069263,8.4021945,67.3598991,19.3168049,30.9429693,65.033321,29.9555658,38.9163155,17.6622991,7.7635164,11.6633357,9.8749935,36.1265698,5.118111,0.5911161,0.5854561,10.8919486,8.1783798,66.7459299,18.9516164,32.1277615,64.8645265,30.2883424,38.2923179,18.0586579,7.9418353,11.9520889,9.8623786,36.7320422,5.6891035,0.6150721,0.6094185,11.0623773,8.2059492,67.4824259,19.0190846,32.5254715,65.3368094,30.462341,38.0934607,17.9592305,8.314692,12.340963,9.6437606,36.7215423 +276,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2753672,1.3529529,21.6747874,16.2155541,49.7738937,18.3454877,40.4403775,65.7138446,39.7402755,49.5527422,26.8414191,3.2393715,10.1994596,10.1867612,33.8562579,9.8785063,1.473774,1.5343096,21.8463849,16.5104853,48.907574,18.1906563,39.3274749,64.6665626,40.1937902,49.1098923,26.3503835,3.290403,9.9992442,10.2321083,34.9974681,13.3500502,1.639968,1.6990288,21.8106238,17.1959977,49.5723585,17.8513668,39.2106343,64.6321164,39.6965582,49.1903121,25.4481237,3.3354618,10.1468259,10.257215,35.3753546,13.7403438,1.4414394,1.4866261,21.1876731,16.4595954,50.3744063,18.4894149,38.8624188,63.8494589,39.0368421,48.8717262,24.672887,3.307124,10.2937052,10.5290148,35.1291045,15.40302,1.3649463,1.4084964,20.987129,16.4222486,49.5814267,18.2045358,38.8289959,64.7918726,39.2179156,49.0958586,25.4915724,3.3755262,10.3539716,10.1251655,36.848712 +277,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0980548,1.1512525,18.4469257,14.5535757,81.1590997,7.3118361,28.5999431,63.8013951,28.5421333,37.4454911,14.3860787,5.8380612,13.5530484,9.9833252,36.1095747,9.2432702,1.0054489,1.0654739,18.2526327,14.5394515,80.8834606,7.5277237,28.7566474,63.5850884,28.4436335,37.629329,14.7691058,5.7924103,13.3491005,9.9099121,35.861453,8.745428,1.0144712,1.0540074,18.0794036,14.3887542,81.0334972,7.5884576,29.214191,63.2819483,28.4730678,37.4604813,14.6555695,5.8549598,13.1651692,9.868217,35.6732555,8.9057152,0.9841657,1.0166099,17.7692209,14.2219465,81.0099396,7.6117098,29.6609655,63.2140244,28.1945569,37.2373223,14.811301,5.9405333,13.0612533,9.6779707,35.303513,8.4318498,0.9935879,1.0274228,17.522992,13.9802928,81.1596429,7.6316973,30.0203617,62.8398027,28.6465891,37.3222903,14.7388303,5.840908,13.0900284,9.7901468,35.3730856 +278,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.4437333,1.3700493,23.7408997,19.6880935,51.4125353,14.3070735,39.9507585,66.935553,37.6690844,48.4191471,24.9006628,4.2342206,16.1333222,13.1111232,39.6150344,15.3480745,1.4529162,1.3783632,24.100761,19.9865244,49.9320402,14.0189665,40.7504431,67.7839491,39.1497443,48.8426941,25.9886807,4.1128468,15.6332864,13.4189626,39.0819848,16.1764379,1.4141842,1.3383012,23.4630762,19.5267666,49.5389462,13.3140232,40.8536681,68.0894138,39.9503161,48.3513923,25.7226868,3.9973017,14.7829971,13.4389184,40.1183753,14.4097222,1.3303029,1.2530123,23.2531748,18.8067196,49.6930876,13.2165798,40.0415021,66.6436023,38.4278448,47.9253119,26.2563553,4.2185464,14.4131403,13.5808317,41.0511051,15.5109489,1.3824076,1.3480022,23.8816435,19.277955,49.5867679,13.4028772,40.1751058,67.4127424,38.3684576,47.2687298,26.4898416,4.0875255,15.0742055,14.1596975,41.9309361 +279,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.1753748,1.1620152,22.4729232,19.4276233,84.8292104,13.2243554,29.0136181,65.1040331,27.2912168,40.2908666,13.1865556,3.973019,16.8821171,12.9765167,31.8968573,8.9988573,1.1333714,1.1436279,22.100576,18.9699822,84.6160219,13.0722226,29.2499295,65.1330284,27.1518359,40.2197149,13.0926735,4.1219128,16.9234053,12.7514217,31.5320251,9.2638437,1.0802798,1.0906431,21.9113969,18.7120339,84.6668972,13.0782591,29.9163821,65.1044017,27.1595249,40.6766879,13.5922947,4.218872,17.2302714,12.4958119,32.297483,8.660981,1.0463755,1.0568249,21.5309436,18.2679065,84.7830189,12.62463,29.9864227,65.014277,26.6032038,40.5570972,13.7097832,4.4184366,16.7190426,11.9546683,32.486951,8.7641087,1.0107155,1.0211961,21.4309103,18.27856,85.3188172,12.4271388,30.5451846,64.6944418,27.1859462,41.0111395,13.6815936,4.3129674,16.5386883,12.3994722,32.0387515 +280,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7005086,1.6102655,30.8570706,26.6636766,48.9881505,19.7182884,38.7861351,71.2601698,38.9298097,49.2403625,25.3792837,4.2707606,14.0635148,12.8922146,32.399256,20.6329568,1.7319788,1.6661784,30.8157441,26.4598449,49.6761777,19.2951238,38.0055366,71.1747794,38.8381371,49.3232827,24.3501655,4.3363026,14.6036789,12.4427225,32.4694881,21.5314424,1.6387674,1.575103,29.45753,24.8600609,50.3981189,18.6839707,35.5565383,69.5774988,36.8160628,48.5545663,24.2530943,4.0803744,15.0204149,11.830792,34.0937564,19.5192661,1.4060467,1.4261431,28.4211033,24.3704776,49.2833547,19.472566,36.8775817,69.7048256,36.7665115,48.9810886,25.07394,3.9408006,13.4718457,11.4057291,33.9751617,17.278263,1.4445538,1.4633463,27.9422197,24.0886434,50.1976823,18.9372754,38.4854269,69.3435839,37.2746186,49.3626594,24.9825042,3.8341416,14.2673683,12.473593,34.3834697 +281,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2853757,1.3184765,20.9223987,16.4813139,49.6996599,17.7338407,39.51605,65.0744492,39.1965635,49.1895495,25.685687,3.2685066,10.4159556,10.4159669,36.5207885,15.7433718,1.1938822,1.2282457,20.9507406,16.8313816,50.1684443,16.667164,38.4334017,65.4423331,37.8157661,49.4945821,25.5754739,2.9477795,9.633235,10.5913475,37.156858,14.6385857,1.0909599,1.0909599,20.5777847,16.5432436,50.2236355,16.4204439,39.5937132,66.0839219,38.0912161,50.0555843,26.1824794,3.0884779,10.6592304,11.3927569,36.7878181,13.2000892,0.8664722,0.8664722,21.4204134,17.402697,50.8244372,15.8853755,40.2259683,67.2168814,37.8182365,51.0888704,27.3472832,3.2756656,11.3659026,11.6288825,36.5623192,11.9862573,0.7840019,0.7840019,21.222263,16.6246335,50.4601388,15.705054,39.8453509,66.5241946,38.2095962,51.4087459,27.7743351,3.1305716,12.0204885,11.3500357,36.0151858 +282,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3284057,1.3299361,20.700446,16.7270565,63.5314163,11.1589727,30.1122244,66.7717868,35.8093901,42.2790969,19.6937185,4.6468325,13.6556594,10.8652488,32.4319885,13.2705849,1.3095097,1.3056404,21.1724358,17.1715277,63.3907981,11.1884322,31.1172937,66.6700078,35.5908063,42.4041961,19.7610613,4.9196194,12.8015643,10.2321831,33.9775626,13.2236921,1.246361,1.2736833,20.7549625,17.1342319,62.6974223,11.6591463,32.181842,65.914628,35.7964987,42.5071223,20.0976012,4.8725068,13.149651,10.6241052,34.6227519,12.6901543,1.2403867,1.2680571,20.8600611,16.9879049,62.538293,11.8270104,32.3776915,66.7094962,35.9211423,42.4047275,20.1400721,5.1044041,13.155803,11.1535843,34.7898997,13.1858407,1.1123414,1.1566685,20.4938487,16.789146,62.2286915,11.801867,31.7666743,66.7905591,36.1096691,42.0140213,20.415062,4.9860559,13.1148811,11.015556,34.4706834 +283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8712457,0.908169,14.5084279,11.2355783,45.2695061,11.098445,30.0752333,67.1547592,32.9425301,46.1243757,19.0194908,3.4807322,13.7457647,10.3016938,30.0915152,12.6770504,0.9495196,0.9834907,14.6316592,11.3788638,45.5654133,11.0958375,30.1791092,67.1571408,32.9761474,46.0043351,18.870257,3.4568233,13.4102689,10.3781869,29.8980729,13.537426,0.8774203,0.9136662,14.629392,11.2105927,45.7958661,11.080151,30.7261325,67.4462975,33.0227189,46.0442247,19.1474593,3.4567637,13.2225969,10.382028,30.1354508,12.6506009,0.9070641,0.9404912,15.0390889,11.51147,46.0656199,10.8326121,31.254399,67.511486,32.955902,46.2197203,19.4523611,3.4567345,13.1399913,10.282863,29.8195643,13.2333776,0.9073263,0.9410196,15.3414335,11.9506049,45.9280982,10.3384468,31.8951665,67.4997377,33.0207594,46.2242041,19.6478013,3.4309564,13.0629484,10.3151499,30.229436 +284,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5972709,0.5936268,14.6266129,11.3762545,63.608052,22.7996544,36.3756346,67.4749883,30.4673446,43.7830834,17.6219603,6.9811711,14.9213016,10.5885665,33.7911263,6.4381109,0.677047,0.6733727,14.726703,11.4179954,63.4804534,22.1622444,35.4881261,68.1508594,30.1922954,43.4467463,17.8549873,6.7307533,15.2937453,10.8919572,33.6079865,6.727558,0.550862,0.5563792,14.9052275,11.8264913,63.1083569,21.5889427,35.8772796,67.7385663,30.6905581,43.4647497,18.0349199,6.9502017,14.5515331,10.9107179,34.3287525,7.0247702,0.5322328,0.5379815,14.8814562,11.8343742,63.0828913,20.834632,35.9670724,67.16859,30.3477325,42.5799206,17.7118357,6.6283712,14.1974801,10.897814,34.3463471,6.8527687,0.4556278,0.4715103,15.3171356,12.1293863,62.6542799,20.5864007,35.7533678,67.3052191,30.1835361,42.4500794,18.1744454,6.6162225,14.4134711,10.7829768,34.699951 +285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.5183214,1.4819805,24.3890148,19.4595709,49.5638791,13.3439291,40.0797819,67.1036389,38.3671773,48.1222333,26.6167698,4.257737,14.6258548,14.2371178,40.7533765,17.4180328,1.5722966,1.5348788,24.1198009,18.7705576,48.721369,13.3152539,38.4096749,66.577934,38.4096749,47.7031706,26.0872746,3.8385255,13.9360709,14.5209553,39.708775,17.4778838,1.4108463,1.4419393,23.047372,17.94242,48.8042334,13.5084007,38.8059761,66.7776161,38.9075062,47.3873257,25.6591525,3.8323782,13.6172507,14.4281068,41.2974014,15.4377951,1.6228869,1.6548904,22.4928936,17.5573136,49.2500898,14.4875017,38.6623842,66.3816602,38.7144056,48.0774767,25.402266,4.4980541,15.038012,15.4387749,42.538067,15.0717703,1.6013977,1.6594379,22.7797283,17.6762167,48.7773892,15.4477729,38.9026853,66.0107685,38.6867198,48.0847687,25.2961938,4.5625032,15.4152551,16.0612822,42.5883188 +286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6573196,0.6890657,14.0534116,10.7326324,74.7733681,21.7339312,30.6747402,63.581312,27.4221432,38.6678138,16.1764692,5.4498265,12.3018452,9.8208035,31.076381,6.7948718,0.7901126,0.8219598,14.1752616,10.60138,74.7465981,21.5703072,31.7111158,62.400416,26.3422218,37.6688531,16.1932806,5.4901272,12.8493363,10.3271883,32.0178353,7.9145729,0.9088628,0.9472751,13.7865795,10.413087,75.0616095,21.0099971,32.0481466,62.9972067,26.7445883,37.5959443,16.3817148,5.7048146,12.7696444,10.396375,32.3652783,5.9493671,0.9539613,0.9708123,13.9538878,10.6646386,75.0000104,20.9693856,32.0089375,62.7623015,27.9497746,37.8568905,16.7010653,6.0027518,12.6967635,10.6361009,31.095033,6.7602041,1.0143121,1.0312918,13.5631055,10.2366322,74.9561961,20.4218089,32.4497523,62.5259932,28.0145522,37.6472571,16.8918914,5.8038808,12.8178507,10.3294306,31.6862348 +287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.5417615,1.6015874,22.0373558,17.4722818,49.1731235,16.2357605,40.1156234,67.5678303,40.0599736,48.6931585,25.6394902,4.1479841,14.7435884,15.2906851,42.0653153,15.0510358,1.4374622,1.4460224,21.042571,16.4574243,49.5415726,16.5932957,39.8494008,67.4567642,40.9091008,49.3865108,26.1851588,3.9319674,14.8252541,14.6794266,39.6941991,15.0246453,1.3469477,1.3554338,20.7409396,16.1438664,50.454827,16.4484604,38.3360802,67.3023721,40.3814222,48.2863499,25.621905,3.2891188,14.0340923,14.0022689,40.0797971,13.6138749,1.399727,1.3824915,21.083017,16.4101207,51.0620159,17.2004579,38.1711101,66.8064841,40.0727115,47.7908173,25.6991184,3.66332,14.5591666,13.5150821,41.0630874,17.7184466,1.4585384,1.4330282,21.4595725,16.8475341,50.1128286,16.9376822,38.6574981,66.2739686,40.5205352,48.0273848,25.8904144,3.9178222,15.1877385,13.6105022,40.1489371 +288,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9931875,1.0268524,18.6030112,14.4827571,77.396193,17.4959132,36.4891125,64.5831703,33.1839612,44.0329269,20.4805842,6.351696,12.51974,10.0131432,32.4801098,10.065545,0.9719202,1.0067716,18.6713407,14.7116958,77.070829,17.6333784,36.486558,65.0255126,33.7038469,44.237481,20.2477243,6.6899464,12.4166425,10.3011631,32.8996835,9.7866503,1.0465648,1.0790873,18.8699044,14.8404258,76.8551961,17.2538797,36.3358653,65.2183356,34.0434215,44.2622715,20.1722067,6.6895325,12.554408,10.2093461,32.8633982,9.7438317,1.1165267,1.1550414,18.5162617,14.4878366,77.0557958,16.9851871,36.1147222,64.554442,33.6923513,43.4487421,19.8272976,6.5644906,12.4165775,10.1612382,33.1139765,10.4541219,1.0659545,1.1273906,18.3522272,14.4123504,77.0550582,16.6621013,36.6514422,64.7088175,33.7110774,43.2054178,19.8474223,6.5608497,11.9494193,9.852143,32.8604262 +289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1381618,1.1450863,26.893102,22.9412903,59.8858318,17.3587763,35.6826459,64.2470644,34.3362186,44.9006729,19.5682902,3.3599017,16.084832,11.0737601,36.8802713,17.3203355,1.0620552,1.0443461,26.72732,22.8672498,59.2800718,17.4709589,35.901251,64.2338291,34.0217448,44.7590493,19.6095111,3.2693927,16.7586887,11.7999726,37.5402235,16.9406063,1.139057,1.1247569,26.7840038,22.7487663,59.8053625,17.1551309,36.569736,64.3570139,33.7205774,44.2426294,19.508682,3.1405526,16.6968074,11.9496629,36.6862054,15.7919143,1.2034251,1.1820418,26.6414342,22.7404215,60.2227024,17.1436039,36.7769298,64.6579487,34.2001725,44.8776052,19.6895929,3.1827778,16.7328675,12.0697202,36.5051191,14.4791162,1.2495734,1.2173074,26.2519073,22.1991446,60.3672038,16.8558904,37.0229342,64.9097584,34.1510659,44.6835437,19.6225032,3.155467,16.9182521,11.9581064,35.8842794 +290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.8195766,1.8502164,32.2602226,27.1436784,69.4259457,7.7598888,33.8547985,62.5451632,33.8419947,39.0991068,18.5822414,3.2841073,15.2137429,11.1805649,39.9207649,16.3842781,1.8679048,1.8839044,32.0073158,26.8959595,69.6310484,8.0945833,33.4605968,62.6771047,33.923099,39.3168994,18.6471208,3.3646218,15.1072874,11.152587,39.2861783,17.1027995,1.8150874,1.8362799,31.5548307,26.5629984,69.9060167,8.3925627,33.2463851,62.8075247,33.8423638,39.2923522,18.6578359,3.4666793,15.573217,11.5400081,39.4137422,17.032959,1.8493844,1.8635842,31.1482485,26.0429518,70.0736827,8.4651751,33.2394431,62.6150446,33.9238253,39.4387878,18.6679024,3.385402,15.5012032,11.5254941,39.9361172,17.039412,1.8008874,1.8047557,30.5618756,25.4610949,70.2317583,8.5624357,33.4533343,62.9712209,34.0162398,39.2016098,18.8524212,3.4602287,15.6769319,11.3757843,40.4252225 +291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9329488,0.9462507,15.4060961,12.0882258,46.3843653,10.0623185,32.573515,67.4751174,33.1814407,45.9458524,19.9549966,3.3126674,13.0610684,10.4596884,30.4923297,11.1186029,0.960188,0.9735457,15.738197,12.3789639,46.602597,9.8628023,32.6357556,67.1812083,33.6241551,45.814534,19.8962733,3.1299615,12.6396249,10.2848127,30.337491,11.2648266,0.8849618,0.8813413,15.7117275,12.3265615,47.1710962,9.6601226,33.0825654,67.3822679,33.6452569,45.5229472,19.6880681,3.2232423,12.5273372,10.2117839,30.4087138,10.9580344,0.8954841,0.8918672,16.1115058,12.6253599,47.5643124,9.7148725,33.2213863,67.193805,33.2580209,45.4084816,19.4834487,3.1200398,12.7989237,10.5423929,30.7550445,10.2979444,0.9393777,0.9369975,16.5701832,13.1705568,47.6923141,9.5501324,33.2119145,67.6269639,33.1380905,45.2306633,19.2065199,3.1527571,12.9811234,10.3486437,30.4664453 +292,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.222722,1.302583,23.5856487,19.7612498,46.2807496,13.0288009,39.2542412,66.5216992,35.2180434,46.0971829,20.8362338,3.4040804,15.1435193,11.8396911,32.74429,13.7010779,1.3244974,1.3929724,24.0674346,20.2811655,46.8021552,12.8924312,39.2067779,66.4920644,35.2809104,46.0568674,20.84389,3.4711004,15.6214265,12.1167122,33.4985026,14.0996797,1.3443913,1.4148291,24.5896987,20.8319145,47.2133656,12.9244203,38.6263425,66.5641006,35.1079882,45.6281868,20.6630274,3.3267508,15.7864232,12.2237836,33.961609,14.6136777,1.451528,1.5408644,25.1017053,21.1130012,47.4731581,13.0079806,37.5680822,66.4291339,35.0886501,45.6320276,20.6754762,3.4932202,16.0170163,12.237555,33.6387083,16.0152265,1.5252937,1.6105633,25.2879543,21.1890371,48.0726147,12.9394901,36.6318983,66.0579497,34.8579896,45.3739206,20.2492815,3.4144911,16.6666166,12.3939022,33.1834962 +293,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5365421,1.589161,29.2730161,25.0051067,53.2288675,17.707037,36.3095094,63.6278653,34.4715724,44.9143454,19.9770088,2.8508685,13.7218514,11.8012229,33.7703848,16.1215109,1.5872415,1.6408397,29.2039903,25.0989794,52.9200724,18.0721566,36.6687728,64.0345746,34.7079907,45.5775477,20.407063,2.9518252,13.6305623,11.0218504,33.3259836,16.0947823,1.3676959,1.4299521,29.1277213,25.0363515,53.1134664,18.1675626,36.9140826,64.2948597,34.4538438,45.9490749,20.2014814,3.0010526,13.4435175,10.8277255,33.0951953,14.8178949,1.3696997,1.4167081,29.8050226,25.7363718,52.1388359,18.5717162,37.2054901,64.5883621,34.3958974,45.9368523,20.218278,3.0365125,13.7337325,10.773707,33.986698,14.7863292,1.3667508,1.4469701,30.0403104,25.6685011,52.2319542,19.003402,37.0646387,64.1683552,34.3175094,45.6088728,20.6683908,3.1689262,13.4952949,10.534492,33.826696 +294,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8867916,0.8867916,21.7421396,17.044007,49.9159374,15.1702646,40.1548163,66.7155065,38.4225542,51.7613882,28.4328141,3.2625357,13.0109426,11.3839171,34.923452,13.6339426,0.9381452,0.9381452,21.3030072,16.838667,50.2673187,15.2372094,39.9133911,66.4081777,38.4189594,51.9266111,27.7277556,3.3050693,12.9208987,11.6395847,33.5435544,13.6339343,1.235343,1.3005615,22.3733542,17.3477635,50.0355729,15.7073002,39.3017242,66.9053822,38.1514587,51.0346788,27.4537581,3.3070738,11.9340629,11.2288464,32.3645775,14.3234689,1.5829989,1.646412,23.5283311,17.7090217,48.6187136,16.4373351,40.4506928,68.0553974,39.5547302,51.5386636,27.4587524,3.7799843,12.7544542,10.5005679,31.4893927,15.193345,1.6961456,1.7589166,23.605366,17.8329902,48.2923547,16.7662428,39.8274675,67.6102447,39.220988,50.413795,26.5946077,3.8871535,12.5434406,10.6568995,32.7135172 +295,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4684912,1.4277899,20.4535916,16.1977646,83.6022458,11.9813746,30.8552916,60.708388,31.131925,39.802145,19.2217718,4.2365911,16.1033872,11.2521576,39.374355,15.704586,1.3341235,1.2930615,21.7942264,17.6980498,82.8744257,11.8049833,31.274454,62.162887,31.7966359,41.1283056,19.5886666,4.703012,17.3435493,11.5393428,40.7451228,15.3706572,1.0451884,1.0657504,22.6890052,18.2615827,83.1706233,11.8171432,30.9144144,61.8528548,30.8123725,40.8997487,19.9106003,4.8479863,17.4192463,12.242452,41.4184097,18.172328,1.1186822,1.139178,22.924441,18.7770177,82.9798759,11.3349347,30.3708124,61.5293963,30.4975255,41.118595,19.4399537,4.6467651,17.2539744,13.2349731,43.1695479,16.9499837,1.1730689,1.2343994,23.9162122,19.6668485,83.2414445,11.3565629,30.2893773,63.0477459,30.7522112,41.0796062,19.7180936,4.2623722,16.9567961,13.8054099,42.6984045 +296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2591853,1.2662797,27.3192494,23.4581505,72.6327779,11.9623126,33.8596739,65.2153815,30.41094,41.9595805,16.1271179,2.6493162,14.8025634,10.3132401,34.4400038,14.3491222,1.2882253,1.3054102,27.8186139,23.7422525,73.1973168,11.7035047,33.3880912,66.0862174,29.9185145,41.5363431,15.6853742,2.845318,14.7986374,10.413892,33.7553326,15.6948581,1.3321725,1.3391364,28.1052015,23.9046119,73.7595775,11.6878894,33.1106164,66.0161443,29.7499295,40.9036825,15.5265941,2.8909785,15.0708834,10.4015949,34.0909134,16.9417538,1.3183548,1.3283521,27.6221947,23.5122555,74.0288594,11.7198714,32.950935,65.7758622,29.4628622,40.3249383,15.2984105,2.831571,15.3320849,10.3591368,34.2261119,17.5934877,1.3170115,1.3217326,27.6693325,23.675024,74.4024282,11.6111024,32.5351633,65.9525078,29.377814,39.6458028,15.2361383,2.7792561,15.0266738,9.8318914,33.9362227 +297,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2185884,1.1760967,25.8326757,21.9717227,60.5267222,16.1782736,37.1324735,64.7545842,34.0648598,44.7703847,19.7792796,2.8420446,17.1917189,11.8653852,35.5920893,13.4730167,1.1198673,1.0844816,25.5101272,21.7812929,61.2547908,15.1766133,37.1377375,64.974516,33.2048362,45.1464524,19.5265351,2.8354176,17.6103482,12.5653528,35.3638606,13.0218316,1.2385107,1.2314542,25.0317389,21.4382375,61.2892945,14.7547276,37.012618,64.61143,33.3303165,44.8418057,19.2083453,2.7909746,17.8346855,12.8252082,35.2859654,13.9648074,1.2282703,1.2176301,24.8540642,21.3083098,61.1173551,14.3846783,37.1293121,64.8726508,33.9351003,45.2689322,19.3860416,2.8495284,17.0180595,12.838783,34.9253813,12.8485831,1.1389569,1.1460235,24.5877586,20.9909024,61.3539326,14.3904096,36.7390611,64.7020714,33.4894281,44.918027,19.2683362,2.9079516,17.3647891,13.2862738,35.8673397 +298,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0417203,1.0866627,20.2291825,16.6355905,61.6215617,11.8940192,31.4011919,66.9764877,36.6269481,42.3426537,20.693675,4.6625016,13.9168413,11.2561318,33.9876757,11.900369,0.9193295,0.9483534,19.5647078,16.0204916,60.8276644,11.8463096,31.5449455,66.6214137,36.2279296,42.3591816,20.7121883,4.6321591,13.6658487,10.8443279,33.720508,9.9420849,0.8550791,0.8970442,19.4716213,15.6817021,60.7678597,11.2538362,30.956828,66.5102396,36.038062,41.8243593,20.4775607,4.569373,13.4157406,10.3598749,33.2502734,9.5849802,0.861901,0.8963323,18.8749854,15.1591589,59.8808736,11.0328937,30.8843468,66.721706,36.2972687,41.2230859,20.301719,4.3757103,13.5577625,10.5793338,32.5267985,9.5286885,0.9766119,0.9868291,19.1697631,15.1446074,59.328103,10.9334607,30.3471762,67.310626,36.5544733,41.3202914,20.4518763,4.7911274,13.8029725,10.4359157,33.0634874 +299,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.5558586,1.5804295,26.7784595,23.2740482,86.8889512,11.2744347,28.0129756,64.3509151,25.5199545,38.9527935,12.1892255,3.6869388,20.5629657,14.8378582,34.8038867,14.0080224,1.4745889,1.4911112,26.0497351,22.7460218,86.4866121,11.6247094,27.8962216,63.8842957,25.7202978,38.3693817,12.2087524,3.7472333,19.6157495,13.802233,33.7797076,13.5271255,1.2821433,1.3204014,25.3875545,22.3992604,86.0420967,11.5951938,28.3912681,64.8164864,26.2166313,38.7782708,12.5512416,3.7452143,19.483254,14.0334527,33.2346727,12.5001118,1.0606573,1.1206159,24.7977136,22.1118693,85.089762,11.6254067,29.4903826,65.5198904,26.3272646,39.1128544,12.9386648,3.9401717,18.8837692,13.4811195,32.8142757,12.1245565,1.065155,1.1260935,24.5739894,21.9232081,85.3705223,11.8798579,29.7153982,66.1249545,25.916003,38.8362943,13.1868031,4.0350327,19.2296172,13.7757585,32.5254901 +300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7099986,1.7625853,28.3432115,24.003971,78.6340837,18.3759041,28.7556518,64.4494612,26.0540417,41.6087205,15.4932543,2.2308608,19.2245005,12.8068947,43.9655441,19.0425562,1.8128764,1.8555001,27.7393479,23.4333225,78.1428582,19.3416422,29.9880423,65.2234845,26.2769358,42.278565,15.7422237,2.5738197,18.9613614,13.3575663,42.585119,19.9797322,1.8365941,1.8571703,27.634094,23.3358912,77.4200155,19.8335912,29.4759882,65.680845,25.6649458,42.7749362,16.0976714,2.7193307,19.6847305,14.2335975,42.6769951,19.1023084,1.7505445,1.7594027,27.2968326,22.8713548,78.1262716,20.5301907,29.6670699,66.0919642,26.218784,42.6674785,16.3892296,2.9528318,19.0873232,13.2775295,41.7332568,18.0942262,1.8289033,1.8642113,26.3812063,22.2990806,77.8383857,21.0069505,30.1107189,66.6073652,26.2751965,42.7639496,16.5875906,3.1830744,19.1141493,13.6618779,42.2891826 +301,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6915663,1.7288193,22.2306091,16.7871887,48.2122402,16.3050405,39.9305401,67.4250173,38.3386976,49.2072515,25.3842542,3.5405028,12.4479889,10.8898597,33.4120134,16.5788947,1.8315102,1.868723,22.5889855,17.4794998,47.6623791,16.1976286,40.7945873,67.4801004,37.8354619,48.7968371,25.3960968,3.4249208,12.3124975,10.7580354,33.4482494,13.7499863,1.9758589,2.0131098,22.1861464,17.0180876,47.1363869,15.9385236,40.7709586,67.8243974,37.3754261,47.8375514,25.1623256,3.0943354,12.258535,10.7171397,34.5402965,14.3216008,1.9442509,1.9823892,22.9584071,17.8494721,46.6311599,15.6432921,41.3713098,68.8220777,37.3375524,47.4237022,25.2360898,3.2214381,12.5291745,10.9532387,35.0530486,14.4669977,1.6915655,1.7177295,22.2912875,17.6183163,46.6907369,15.3655714,40.8763385,67.8243897,37.5430078,47.0928174,25.2828775,3.2486401,13.110954,11.1494073,35.8740995 +302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2.1457856,2.1907403,33.6875849,28.466777,65.5831638,14.4087086,31.9222687,64.4642724,31.3550336,38.2457834,16.5651205,2.4264761,14.603645,9.6863031,35.1472414,21.2444163,2.1041579,2.1740604,33.6788169,28.4024256,65.6577946,14.113068,31.844348,64.6375081,30.8635274,38.1129835,17.0682227,2.3347604,14.251625,9.739695,35.9798712,19.9214771,2.0563368,2.1526276,33.036281,27.647303,65.3837844,14.1299714,31.7012988,64.3989609,31.0156383,38.4293788,17.366603,2.3034118,14.0184923,9.4011491,35.72063,19.3034692,2.0068342,2.0835569,31.8817574,26.9018846,65.1377189,14.3853182,32.3171945,64.7754347,31.145581,38.5658282,18.2143413,2.3106994,13.6545309,9.4360607,35.8613186,19.3057739,1.8993131,1.9754863,30.677433,25.9462441,64.9796237,14.4497871,32.8131699,65.681716,31.3080934,38.7228583,18.3598727,2.4015079,12.8936538,9.2381444,36.1775673 +303,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.677825,1.6953937,28.42603,23.9298171,71.2805497,13.418243,35.6545045,64.3455512,28.6073045,38.5181422,17.9713726,3.7281664,15.5997337,11.750711,37.3877053,16.0690755,1.7168228,1.7219755,27.7273924,22.9911307,70.7967879,13.1722652,35.4583531,64.0080085,29.2263466,38.6221957,18.5153601,3.4972443,15.898064,11.0965476,37.3232463,16.5881757,1.651094,1.6505218,26.7265242,22.0664099,69.9231779,13.5578317,35.7705067,64.4791791,29.8905481,39.1718797,18.8028332,3.5069238,15.2265644,11.2370244,36.5241547,17.0044122,1.6024384,1.6207069,26.3220458,21.4071847,69.9823103,14.2107916,35.335534,64.39448,30.1485354,39.8284553,19.3115977,3.4226862,14.3771616,10.7073349,37.0536818,16.1386988,1.4913348,1.5294187,25.7414334,20.9426894,69.3402398,14.1583564,35.4985995,64.6949768,30.1548899,40.3388667,19.2739622,3.1655082,14.4726118,10.7701143,37.5098205 +304,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6135512,1.6806947,29.389981,25.1852141,72.035814,8.4474889,29.9926064,65.5291894,33.018425,36.797342,15.9460745,3.9436507,14.5944134,10.7664008,38.0581607,16.6085814,1.5614416,1.6183981,28.0781141,24.0789164,72.0445952,8.6952201,29.9872235,65.6409785,33.067661,37.1569839,16.1992206,4.2339241,14.2555255,10.6271313,37.6808583,16.2969668,1.568359,1.6145119,27.6445143,23.6464102,71.8687181,8.6943422,29.6938669,65.7989466,32.9995907,37.2488489,16.1790664,4.2662226,14.0093011,10.2941179,37.4567833,16.2008167,1.5750082,1.6186748,27.0664749,23.0457916,71.8786911,8.6543625,29.2425298,65.5468799,32.6256788,37.1501394,16.2669855,4.1338309,13.7399939,10.147977,37.7297652,16.0596115,1.5727995,1.6094042,26.4622967,22.50551,71.5085173,8.6027727,29.2153763,65.5515114,32.9287577,37.4260799,16.424842,4.0262688,13.4179851,9.9574535,37.8102894 +305,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.5847659,1.6588597,26.0011487,21.5215099,48.0751136,13.2082936,36.0529759,65.6354554,34.7577433,45.1081425,19.7351725,3.3248492,16.4187135,11.875818,32.815734,17.1649588,1.6327829,1.7142061,26.230177,21.6976971,48.7313079,13.1909189,36.0516821,65.3162446,34.3914721,44.6451651,19.6480831,3.338008,16.3119195,11.7887594,33.0552141,17.6321288,1.6033912,1.6445324,26.9867687,22.3852638,48.8996642,13.4940633,35.917981,65.4843687,34.1299764,44.5308044,19.4402271,3.1494662,16.4148634,11.7584006,33.739918,17.8466347,1.4824322,1.5399345,27.1941098,22.4392977,49.005896,13.9584471,36.011973,65.5214355,34.0571645,44.4165085,19.6359759,3.0609878,16.1324438,11.7597717,33.567521,17.9474833,1.6057596,1.6664167,27.652815,22.9516729,48.8840931,14.0520616,36.4717755,65.768575,34.3463159,44.6519134,19.9965673,3.3260605,16.1890105,11.9300734,33.785355 +306,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.1463241,1.2071102,24.3952235,19.9179365,83.7586282,10.8672605,30.5982883,62.979401,30.2517614,40.8673063,20.2743194,3.7729052,15.0915887,13.6289665,41.7401537,17.4095763,1.3562261,1.4172029,25.2648774,20.7831375,83.5622817,10.5658881,31.1480692,63.5285781,30.5031981,40.0000148,19.9148087,3.523519,15.1027007,13.0910511,42.0849701,19.5323147,1.4799607,1.5418697,25.9292751,21.1288983,83.6215166,10.6265392,31.4550573,64.5808633,32.3726246,41.2388005,19.6159679,3.0912297,14.4918134,12.4529011,40.1259666,18.6031881,1.4946256,1.5571481,24.9151919,20.1837756,84.5491706,10.7660402,31.4177077,63.4243394,32.1353057,40.5711549,19.5851378,2.5614527,13.5030715,12.1805462,39.2559743,17.6267347,1.5013903,1.5013903,25.5041168,21.2912056,84.9679823,10.529624,32.0716621,63.2864354,32.4052035,39.988788,19.1153205,2.2983858,13.2694497,11.9188589,39.5477447 +307,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.2774801,1.2527044,21.1146496,16.3704655,49.6471699,15.8704569,38.7521078,66.446636,39.8131005,47.4521279,25.4899405,3.4216607,13.7500213,11.9281246,39.0659641,15.9910126,1.277123,1.2527946,20.8380037,16.0763881,48.7628536,15.425455,39.2751399,66.1524729,40.0550051,47.5180301,26.4366858,3.3662,13.8059867,11.686259,38.1337921,17.6087186,1.4590051,1.4352658,21.0558583,15.6219491,47.8841372,15.1727622,39.1918765,66.0977488,40.1044742,47.6828746,26.5781699,3.4840422,14.0560372,11.694416,38.4575414,15.6903831,1.4962224,1.5193898,21.5180829,16.2082159,47.386107,15.3137983,39.6772101,66.6906073,39.9230919,47.9823369,27.2401108,4.1042576,13.9403495,12.3196068,38.9523208,14.6586345,1.6325511,1.6549404,20.9651048,15.9462641,46.6419848,14.7513477,40.5364981,66.6094189,39.7129118,48.9832857,27.6448873,4.4179245,14.5193432,12.6613966,39.3500297 +308,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2554408,1.3459723,29.8790879,25.4242805,51.9782775,18.9544567,38.5457151,64.0767707,34.6445546,45.6761903,20.903773,3.3051489,13.7923357,10.7268636,33.6520931,14.7266433,1.2984618,1.3897989,29.8716589,25.5294195,51.4492144,18.7351341,39.4534401,64.5193652,34.8002576,45.8625832,20.9503916,3.4130646,13.664726,10.6919549,33.2355071,14.3233919,1.1250966,1.1842715,30.0659942,25.6172948,51.341987,18.6139256,39.696216,65.0459389,35.0852214,46.1647492,21.2958937,3.3981542,13.0772451,10.3333169,32.5314219,13.5965072,1.2700862,1.3285069,29.7521606,25.2993162,51.2715793,18.5488984,39.5963532,65.4328099,35.4090137,46.3522394,21.5734966,3.3131805,12.6855735,10.8609996,32.7965952,14.1047445,1.3731988,1.4329598,29.2990053,24.9364507,51.6188543,18.5157271,39.9283929,65.4113989,35.8258869,46.3750321,21.7169355,3.3318771,12.7001644,10.836659,32.8615847 +309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9980928,2.0156447,38.4128993,33.8026091,64.5234241,17.7170468,33.5483451,64.868074,29.0741847,40.1172318,16.1813007,2.8050472,18.887245,15.3851502,41.4811005,16.3754725,1.9697753,1.9921484,38.436222,33.7146546,64.2583049,17.7574035,33.7057339,64.0420233,29.0520807,40.2372018,16.4786022,2.8167425,18.8402214,14.7936648,39.9053015,16.7866732,2.1062785,2.0468236,38.5893476,33.659262,64.1781354,17.0591663,34.9234192,63.9112405,29.1188408,40.1284612,16.4736901,2.8750917,18.6688369,14.791338,39.1408008,17.0570183,2.1601231,2.0966912,38.6167104,33.5115034,63.9640622,16.7425171,35.679975,63.4309017,28.6227109,39.371387,16.1909743,2.8364784,18.0498654,13.6000143,38.9612673,17.7097645,2.146975,2.0746799,38.172716,33.2373559,63.7824725,16.6396356,35.7539796,63.4864311,28.9945167,38.9831204,16.4059974,2.7229431,18.5029846,13.8340591,39.1915798 +310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1259363,1.1543456,24.8802109,20.938152,61.0726622,14.2245664,36.5785256,64.7554275,33.4557703,44.9909417,19.5407951,3.0171257,16.8954902,13.0398958,35.3246689,14.5223672,0.9702323,1.0309613,24.4419364,20.6761781,61.2766802,14.4196884,36.7161444,64.1610504,33.5033978,45.4352835,19.9641674,3.0361406,16.3732995,12.1700166,35.1626669,16.32438,1.1055927,1.1711149,24.4083817,20.6547804,61.4549521,14.1164666,37.1254976,64.1362758,33.1527007,45.5312781,19.7852807,3.0191123,15.8644031,12.2668966,35.0285697,17.8718647,1.1583658,1.2170693,25.0332067,21.287792,61.7395402,14.1583,36.9597279,63.2944736,33.4662,44.7937611,19.5019547,3.0519884,15.8147893,12.3001859,34.3485744,18.5584823,1.0536461,1.1110941,25.0853085,21.3707463,61.7219783,13.7324217,37.2315689,64.0112864,33.3517252,44.5285039,19.7332335,3.1476253,15.0802682,11.8975373,33.4193615 +311,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5382285,1.556184,28.5297055,24.4764921,49.9551005,19.1689533,38.3241113,68.9891483,37.0152709,48.8534924,24.9061534,3.7339929,14.4255485,12.2376408,33.9674919,16.4419056,1.7287298,1.7701427,27.4310897,23.191468,49.3872968,19.3238282,38.3824278,68.9931587,36.7303436,48.8569419,25.1304045,3.3836657,14.1140236,11.3200207,35.7626935,14.2375339,1.7251639,1.766824,27.5441671,22.9703653,48.2625242,18.6793782,37.8249255,68.5549786,36.8638383,49.0839848,24.8686356,3.6628191,13.0272256,10.9990372,34.0928773,17.7083044,1.707311,1.7305678,27.6245909,22.9503739,47.8840848,18.3385629,38.0322484,67.729464,36.0452268,48.469822,25.9420546,3.4914752,13.1784027,11.0698607,33.5116986,18.0920758,1.8814931,1.9047833,28.3252893,23.4321118,46.1053215,18.8385331,38.1673929,68.5565624,36.5509369,49.464849,26.4720945,3.35137,12.2512735,11.3493264,31.9783836 +312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8069992,1.8423821,25.3995878,21.1949896,77.4304171,21.3206832,30.6764237,66.871055,27.1954049,43.3346595,17.108389,3.5403464,19.0230462,13.3786028,43.4452556,16.6299633,1.6746077,1.7453735,24.4626947,20.254881,77.303961,21.4563057,30.7402999,66.8052297,27.9691153,42.8147302,17.5574053,4.0973886,18.7348877,13.6437199,42.8861858,17.8651766,1.7386051,1.7853135,24.7358827,20.2667116,77.7436527,20.9563112,31.829117,67.2081831,27.7376554,41.7368663,17.1079083,4.3521877,18.6517747,13.5797293,42.5647523,17.5000083,1.6957476,1.7393992,24.3671781,19.823816,77.0528456,19.8238739,31.8941496,67.5089619,28.4321459,42.0015969,17.329891,3.9196203,18.7297649,13.1087634,43.3415011,15.9033119,1.6539259,1.7059825,23.4503352,18.5108602,76.3760518,19.7297833,32.7302723,66.7945148,29.3641805,42.1626553,17.4046704,3.7819031,17.0550645,12.0741224,41.987576 +313,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9089646,0.897971,16.696809,13.3949444,47.6892565,9.5759202,33.5989676,67.3527293,33.2159006,44.9121982,19.1828396,2.9735237,13.1081152,10.5684162,30.8576441,10.9150427,0.9354771,0.9337555,16.7370917,13.4247344,47.7981365,9.8721026,33.0672187,67.464304,32.9066443,45.1762314,19.0786424,2.8633105,13.2017717,10.3706551,30.7512355,11.3368402,0.9248155,0.9269517,17.0267996,13.6619673,47.9113337,9.8590489,32.6865625,67.3758804,32.6491176,44.7645718,18.6881137,2.818566,13.2059235,10.5503558,30.7930663,11.7007807,0.984173,1.0060947,17.2596222,13.8969629,47.5256942,9.8825815,32.229704,67.2800156,32.5691283,45.3705784,18.7124142,2.9459639,13.2892431,10.4993831,30.741205,11.7609262,0.9496583,0.9676561,17.5462212,13.9991944,47.2265723,9.9348684,31.2482497,66.6644518,32.4731665,45.707293,18.6017048,2.7930388,13.7695523,10.6734664,30.3972944 +314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0035404,1.056056,24.9186373,22.1242663,85.8851415,11.7271393,29.2464694,65.5167824,25.6996712,38.9443102,13.2030876,4.0038526,19.7019353,14.9467235,32.6835477,12.7729819,0.76039,0.8140209,24.4527796,21.8481685,85.8189618,11.6412424,29.202047,65.1861977,25.817845,39.1286,12.9018583,3.9903785,19.4696258,14.8833194,33.4192976,12.1247189,0.8979493,0.9647553,24.0926054,21.432583,85.4853057,11.4170593,29.5745511,64.9787859,26.1134446,38.652495,12.8369314,4.0992539,18.7851985,14.4105849,32.6234388,13.9285415,0.8142083,0.8590745,24.1999717,21.472442,85.9826341,11.275787,29.994475,65.3187363,26.3646097,39.1398379,12.6466126,4.186902,18.8458715,15.1248239,33.1713937,14.2673993,0.8058452,0.8524801,24.4217413,21.6166497,86.2158414,11.0380092,30.772812,65.0237782,26.4504722,39.2096816,13.0403935,4.4552839,18.2436175,14.4837874,33.4620336 +315,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0931966,1.0586691,17.7140859,13.5430975,58.4249565,17.8310785,36.2625667,68.3341481,34.64059,44.9705444,23.2291609,3.3260501,13.5328694,11.9851431,40.582947,11.4086118,1.2808303,1.2709033,17.5958364,13.3494494,58.0095422,17.8003628,36.7860144,67.8901868,34.5027276,45.5956789,23.7360758,3.3441574,12.940775,12.2261733,39.9657088,11.4085632,1.2055382,1.1829166,17.1593762,12.7016078,57.9868566,17.8695711,36.9072844,68.2195357,35.0335617,45.6174855,24.3389516,3.6658707,12.7603192,12.595819,39.4788336,11.4493643,1.1611433,1.115145,17.1187306,12.7932883,58.4720474,17.7477242,36.7620767,67.5436189,35.5930398,45.2685215,24.6414428,3.5884483,12.4341256,12.1711891,38.4648488,9.4312711,1.1677649,1.143915,17.7456989,13.1228606,58.3371333,18.0203874,37.0143752,68.3890458,35.6505337,45.933787,25.6823182,4.013552,11.7317475,11.6960033,38.8880599 +316,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2038547,1.1809152,17.9282852,13.1802152,56.889853,17.1145559,37.474822,69.5532331,36.9226628,47.1637873,26.4309899,3.63949,12.4881664,12.2580881,39.4399926,11.1795299,1.2900263,1.2674192,17.8472623,12.9153375,56.654496,17.1399047,37.5616844,68.9663774,36.2759071,47.7498194,25.9893432,3.7338591,12.8319448,12.8198055,38.899606,10.2006547,1.2665243,1.2886287,18.0717674,12.928561,57.2309488,17.5897393,37.4215207,69.9806741,36.1149488,47.7745735,26.1973668,3.7009426,12.6875035,11.9273053,38.9471913,10.8176414,0.9776017,0.9883224,17.7816039,13.1227518,55.8977027,17.7929159,37.4354289,69.9251194,36.5916423,47.8435355,26.8402824,3.3991307,13.0299755,11.9803723,38.8383989,11.3108043,1.1646896,1.1748943,18.0001469,12.9451181,55.0023057,17.64338,38.0088615,69.9107635,37.0245849,47.8525578,27.4946008,3.2440104,12.4676193,11.2722726,38.1442036 +317,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0128965,1.9491661,37.3964809,32.6288478,64.5749027,16.6577835,36.1157885,63.2096439,28.9499599,39.2218441,16.5525485,2.8746423,18.0151377,13.682494,38.7362177,18.9289922,2.0473618,1.9940308,37.1913346,32.5321285,64.9971908,16.7793423,36.1618181,62.909929,29.6311113,39.4585081,16.3806396,2.8934441,17.5739013,13.1084732,37.995395,19.8352253,2.0861721,2.0452805,37.2329338,32.5542977,64.9120986,15.8917839,36.3902798,62.2273828,29.1817021,39.7314719,16.609793,2.7559462,17.9098166,13.0189692,37.5504523,19.83025,2.0870003,2.0345284,36.7934929,32.1163421,64.9892753,14.9868786,36.6040352,63.019423,28.708056,39.7460555,16.5378853,2.6497965,17.5565463,12.9742013,38.9268905,20.4938182,1.9430675,1.9844684,36.2015703,31.8871779,64.971437,15.7309389,36.617673,62.7110633,28.3854264,39.9110581,16.9387366,2.8771214,17.8680734,12.9701355,39.4223636 +318,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6295224,1.7281748,19.8825535,14.930085,46.1920149,14.2817601,40.2433195,66.9940799,40.3322934,48.9438499,27.8298479,4.3744966,13.9719759,12.9681872,38.9726783,12.2000049,1.5570544,1.6518974,19.723197,14.7126371,46.5957237,14.3442647,39.6419842,67.174878,40.3034032,48.7580589,27.6018456,4.3601189,13.0336082,12.1584813,38.9449704,11.9433295,1.5113004,1.6456436,19.937245,14.9267755,46.8992412,14.4746988,38.9984806,66.9227526,40.1448069,48.3196127,27.553764,4.0873896,14.069666,12.9017586,39.5101717,12.0553455,1.6737194,1.785744,19.7176672,14.5520142,47.6298744,14.275894,38.4489291,67.5840914,39.7949368,48.1316971,27.5069253,4.1032406,14.2921249,12.3429173,40.1713365,13.319683,1.5687593,1.6802988,19.7611581,14.7530368,47.4803162,13.9908457,38.4023654,67.2635917,39.3542768,47.5756552,27.1520764,4.3486584,14.5982234,12.9133325,40.0450613 +319,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.5580336,1.5580336,26.3603496,21.5545972,85.180178,11.0946865,32.3761055,63.7239161,33.0270592,40.7177019,19.763361,2.7926613,12.8662273,11.2520033,39.3551727,16.986219,1.6000358,1.6000358,26.6811055,21.8050768,85.3208332,11.2155577,32.9259476,62.9373984,32.5419802,40.5176984,19.2291199,3.1527136,13.1890691,11.4697245,40.5001991,18.5778381,1.5319259,1.5319259,26.5414768,21.5999073,84.7136178,11.339946,32.6703147,63.3784608,33.3024881,39.6648517,18.1154395,3.0800018,13.5956044,11.5682112,40.6223452,17.8785987,1.2948763,1.3572777,25.9835127,21.3797052,84.7114011,11.8089023,32.0888609,63.9409156,33.3513639,40.2061683,17.9635047,2.8434083,13.4004212,11.5992696,40.5150187,17.5737229,1.249134,1.3103052,25.7506978,21.0459924,84.2181528,12.4924198,32.6457741,62.8178271,32.8917651,39.0741238,18.2282754,3.2399109,13.4861113,11.8797828,42.1379702 +320,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.4181045,1.4308126,27.7312459,23.7632001,74.5881725,11.4057892,32.0519648,66.1281892,28.8737965,39.2259042,15.0006592,2.7363872,14.4736904,9.6281387,33.9967885,18.1860575,1.5175696,1.5176707,28.053857,23.9950588,74.8235021,11.7635564,31.6206893,65.5404576,28.1820581,38.8711206,14.9473529,2.7122506,14.1575143,9.5639209,33.5173702,18.9075681,1.5533617,1.565991,28.2249668,24.0767252,74.8642301,11.7550425,30.7615383,65.1307088,28.3075442,38.5236105,14.8906337,2.6873893,13.7972941,9.4871662,33.3560107,19.0764938,1.5855458,1.5896039,28.0540365,24.0341991,74.7136495,12.0140259,30.4624794,65.0603338,28.8940968,38.746661,15.1407472,2.5536252,14.3653154,9.5606106,34.2313874,18.9797751,1.6138468,1.6171004,28.0870293,23.9317969,74.6962373,12.2353216,30.51496,65.3681275,29.1873355,39.3254745,15.5357349,2.7155748,14.6136866,10.0850589,34.3264851 +321,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9239363,0.9480033,17.3622305,13.8138343,80.9490097,7.5691096,30.0288437,62.7329707,28.6175795,37.3634586,14.9074817,5.7632828,12.9223609,9.8700659,35.2211707,7.8461806,0.9628451,0.9701599,17.0738454,13.579038,80.6454316,7.303422,30.2043565,62.9860586,28.7866386,37.6163064,15.1555477,5.8266573,12.7686021,9.6999351,35.1909427,7.924838,0.9559076,0.9610303,16.828757,13.392166,80.6030702,7.2339694,30.0072293,62.8563714,28.9283635,37.1312886,15.1830467,5.6801801,13.0590638,9.8140806,35.5286587,8.3452823,0.9792964,0.9802354,16.4974296,13.1334072,80.8216701,7.0778408,30.1039792,63.0970755,28.9248706,36.9724492,15.0852794,5.7059562,13.1364997,9.8623081,35.9894862,8.2049629,0.9953114,0.9977628,16.5178137,13.1744771,80.7643122,7.0011566,30.3781552,63.2158006,28.9571777,36.914083,15.3762992,5.737978,13.0550985,9.8594014,36.2812078 +322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.9610704,1.005496,24.4707263,21.3093772,86.9343849,10.9121065,31.204386,64.7104675,26.4785479,39.5580034,13.003191,4.2225506,17.804396,14.7727206,33.3643002,14.2659206,1.0516391,1.1115137,24.4523965,21.2874514,86.6868732,10.640597,31.232598,63.9746145,26.6572313,39.3558346,13.0565207,4.1549881,18.178945,15.2504469,33.9593541,13.8265183,1.168407,1.2380778,23.8311655,20.7139907,86.4922557,10.7267248,31.7560534,65.0893655,26.9757216,39.0855489,13.2730049,4.3498934,17.3241463,14.1869434,33.2121601,14.9997171,1.186112,1.255969,23.6958406,20.6968088,86.2869081,10.814677,31.4374536,65.2804969,27.4537289,39.340557,13.7509767,4.509229,17.1342753,14.4815701,32.8513563,15.5460269,1.0546739,1.109957,24.1113964,21.2488879,86.4806961,10.8351806,30.7019177,65.0239508,27.7670717,40.2394472,14.3382046,4.4178558,16.4717872,14.3595105,33.9682159 +323,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.255646,1.2656664,17.8711509,12.967912,54.9373375,17.9640543,38.2908526,70.6288052,36.8851975,47.6497762,27.2190822,3.3613194,12.6913086,11.5322683,38.081388,12.0557949,1.2217924,1.2119953,17.0102154,12.1322282,54.8096299,17.8153336,38.6550809,70.5849431,37.3233552,47.8519777,26.923302,3.24468,13.0935139,11.7475887,37.2867074,11.9437633,1.2452949,1.2158346,17.1013199,12.3054062,55.1004235,17.6959666,38.6452643,69.9140081,36.7100229,46.6885135,26.6451608,3.0324002,12.5850043,10.9936672,37.4036666,10.7599808,1.1060022,1.0770435,16.4605822,11.8046737,54.89045,16.9790196,37.9813129,69.7628403,36.8389178,46.4031141,26.9783783,2.8566816,11.9950816,10.320624,37.1176403,10.8055727,1.1206784,1.0921243,16.1936126,11.4105853,54.6010492,16.4823961,38.4021189,68.8567962,37.1510325,46.0785161,26.8462079,2.9413273,11.7329927,10.0917012,37.2807272 +324,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0192277,1.0389036,21.2514085,18.077315,85.7817258,12.1729233,31.3712771,64.3556282,27.4361474,41.5554755,13.7560818,4.3996179,16.2934031,12.0399848,31.9078632,9.0277016,0.9432079,0.9675312,21.6749705,18.4416214,85.9229494,11.819501,32.0466152,63.9144191,26.9682582,41.6070024,13.454296,4.3711861,16.544956,12.3781101,31.8357628,9.7636261,0.9210412,0.9455982,21.4008371,18.0630118,85.8894463,11.4973862,32.4326069,63.79309,26.685529,41.6109086,13.510041,4.3832767,16.0809125,12.1878047,32.1618023,9.6874436,0.8815084,0.9059832,21.5674402,18.1810194,86.2435471,11.3272042,32.1916175,63.1960538,26.913221,41.5186173,13.8281525,4.3474792,16.0371499,12.4737385,31.6409303,9.2474148,0.8774937,0.901484,21.5713897,18.1979349,86.3350229,11.3144273,31.7231059,62.746237,26.7283387,41.2461046,13.8350864,4.5541234,15.8923389,12.5924529,31.4159447 +325,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.6186825,1.6671515,27.8271172,23.0551727,49.3183624,14.0456347,37.475813,65.794853,33.8632702,44.8262376,20.1994441,3.2535662,16.1451367,11.9318364,33.7865877,17.6886992,1.6521069,1.7034553,28.3159799,23.5172347,49.5366285,14.1327649,38.2430786,65.8996858,33.5953763,44.7039464,20.4096965,3.2992932,15.4522318,11.7709224,34.1839016,17.2170059,1.6611539,1.7200393,28.4537081,23.7217053,49.352733,14.2848993,38.8388452,65.875202,33.5470964,44.9047011,20.8954484,3.4026614,15.4911435,11.9910172,34.1616977,17.5233965,1.7060918,1.7536044,28.9189989,24.0083359,49.5940417,14.567915,39.1091153,65.882813,33.7474149,45.1063389,21.3023035,3.4839432,15.8556823,12.4500488,34.1252866,17.373316,1.6490111,1.6990898,28.8992624,24.1528535,49.6475509,14.3661883,39.4147601,65.6181306,33.4353245,45.186464,21.3263518,3.5957595,15.5845803,12.5353254,33.7796232 +326,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6246861,0.6121548,11.1180773,8.1281264,67.0503383,18.8286105,33.0952355,65.8270648,30.1378482,38.6842104,18.2080207,8.3834624,12.2193838,9.4642854,36.300287,6.1698728,0.5748642,0.5549289,11.4232058,8.3770123,67.7277266,18.4398076,33.9116337,66.1882116,29.9425853,38.4048909,17.710932,8.5746421,12.400197,9.6556894,36.9762516,6.3380282,0.5826839,0.5570544,11.3750523,8.4841512,68.0135907,18.3595728,33.6125018,66.6125008,30.9125006,38.862499,18.4124978,8.4625036,12.5061838,9.043608,36.7269754,6.4019459,0.5514953,0.537062,11.4050553,8.5949275,67.7907844,18.0811405,33.717689,66.9412064,30.9807415,39.3436317,18.4870713,8.0207842,11.7572937,8.287144,36.5561059,6.3559344,0.6706752,0.6558534,11.6844213,8.7730606,68.0591887,18.2596557,33.4331858,66.045845,30.8543906,39.4764186,18.1687921,8.2443383,12.0282937,8.4163503,37.008488 +327,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.8884184,1.9970121,30.7218597,25.9671514,65.1701944,14.3976175,33.4860081,65.4413446,31.5195536,38.8715016,18.8938461,2.4469279,13.157897,9.5881107,35.6451577,19.6565192,1.9854971,2.0724238,30.8961908,26.0000055,65.2108319,14.4372461,33.1105401,66.255106,31.8871766,38.4571791,18.6565442,2.3448104,12.8752477,9.3530446,35.2594357,20.5045484,1.9813317,2.0487912,30.0066945,25.2892828,65.1061124,14.6704498,33.4832686,66.7704728,32.3760052,38.5121167,18.858122,2.3875395,13.312645,9.470449,34.8965915,19.8287353,2.0078459,2.0560378,29.3925125,24.7402903,65.2926992,14.8928782,33.5944744,66.6393772,33.1033662,38.5523951,18.6739867,2.4906418,12.9854718,9.4189137,34.121954,19.0762925,1.930645,1.9592869,29.4001064,24.5915063,65.5278626,14.3991409,34.0274472,66.67067,32.7274838,39.1309695,18.7650457,2.6119369,13.183868,9.9508801,34.6458488 +328,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0032364,1.0240741,16.2881406,12.927742,80.5390539,6.8906717,30.4913062,63.1145739,29.3349539,37.1854286,15.6520856,5.6919344,13.1876792,10.1675317,36.5943799,8.5502928,0.982239,1.0029449,16.1154284,12.7930734,80.3905396,6.9975382,30.6328313,63.5457858,29.3855715,37.3004842,15.8200192,5.7786413,13.1965451,10.3024213,36.9777544,9.0961196,0.9931053,1.0144186,15.817914,12.5260553,80.5607643,6.9377224,30.8791058,63.6637561,29.5724452,37.2912297,15.7724839,5.818895,13.3704495,10.2916834,37.2862255,8.7673179,0.9716721,0.997707,15.8791078,12.5337459,80.8062228,7.0173367,30.7362566,63.8129233,29.947251,37.3162883,15.8236339,5.8624057,13.5838587,10.300585,37.3705387,8.5694466,0.9657422,0.9874967,15.9844253,12.4332301,80.8555431,6.9614259,31.0151126,64.0902928,29.9175226,37.7106987,15.860943,5.9481547,13.1729855,9.9173234,37.4795235 +329,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.2045531,1.2007527,21.9116407,18.0945651,68.4963363,15.2902245,32.7020859,65.3393536,30.0513607,40.0910174,16.6873097,3.9561908,14.2943961,10.5037766,31.9862498,15.2894227,1.2078131,1.2040022,21.9257974,18.1569568,68.4782773,15.4367478,32.8445951,65.5649352,30.2276029,40.0354734,16.4666772,3.8343802,14.5139528,10.2034887,32.6869999,14.85302,1.1962663,1.1950028,21.9130425,18.3808477,69.0408481,15.3826924,33.0416483,65.6484507,30.385144,40.0420088,16.6813864,3.7094231,14.3236668,10.1750724,32.9482337,14.3045906,1.2379132,1.2265515,21.9274089,18.5010037,69.3122583,15.8986087,32.680859,65.9041172,30.3021181,39.7760111,16.3348357,3.6546806,14.03152,10.4518088,32.7266973,12.7056986,1.3174306,1.2947861,22.1358008,18.639671,69.3160607,16.0994604,32.4532598,65.7802329,29.9833341,39.6570109,16.5552903,3.9562586,14.4204063,10.0721708,32.2289491 +330,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.6417761,1.6430117,28.2772823,24.0532366,74.8274395,12.6625588,30.7102237,65.5825803,29.1213898,39.78138,15.745518,2.7906057,14.7771556,10.213998,34.4619127,17.8923731,1.6202495,1.6319002,28.3698908,24.0505523,74.8021177,13.1106648,31.0116258,65.420379,29.3574709,40.0888671,15.5502373,2.8503106,14.4509454,10.2503402,34.5482535,17.2922362,1.5443357,1.5539442,28.0550022,23.7491677,74.8392172,13.5346048,30.8724476,65.4534207,29.8541154,40.5325464,15.7905614,2.8278551,14.8477142,10.3996553,34.3170657,16.9251868,1.4754904,1.4920815,27.7050664,23.4552037,74.5168169,13.3292487,31.13339,65.2453299,30.1796665,40.3386273,16.2612351,2.7436103,14.8268045,10.6128636,34.8178456,15.6025205,1.3574039,1.3904259,27.1265724,22.7445369,74.6215428,13.0934539,32.5107279,65.2771931,30.1741849,40.3083029,16.4316329,2.6614106,14.978904,10.5507042,34.5880446 +331,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3564987,1.3988959,28.8090033,24.5600752,51.7804948,18.1847712,40.2393961,65.7554247,36.3087272,46.7830222,22.1453597,3.3487015,13.0796913,11.2286194,32.9013095,13.9669448,1.5159052,1.5620744,28.6970852,24.4654584,51.2366698,17.8120641,41.1637309,66.4037983,36.8426779,47.6565803,22.4165312,3.3036092,13.4191988,11.6338943,32.9320097,14.1247933,1.5856751,1.6221221,28.5436919,24.0469995,51.4559272,17.430864,41.206131,66.0539144,36.6158968,47.2482145,22.1428364,3.2903964,13.6537424,12.0697776,33.3413577,14.4691903,1.5365891,1.585036,27.7713644,23.516535,52.1494658,17.1080043,40.6905981,65.4843751,36.4718149,47.1010862,22.0009295,3.1227953,14.2197312,12.5546321,33.7487878,15.2288882,1.5937667,1.689672,27.0285761,22.9121845,52.269342,17.3814533,41.0545942,65.1273191,37.3939155,47.6727035,22.7757343,3.2121214,14.6421298,13.2678731,34.2198682 +332,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2851042,1.374112,20.6469776,16.1038348,58.0596731,17.1257505,33.4659752,67.5585979,33.7158613,44.5435464,21.3307648,2.9567887,13.6521998,13.3316429,37.7855746,15.4166667,1.2400862,1.252968,19.8162798,15.5316823,56.8472768,16.3797982,33.803197,67.3980484,34.0556011,44.4876148,22.0504746,3.4913566,14.0438868,12.859826,37.1135381,12.9166667,1.2151319,1.2276461,18.0162389,13.9416164,56.1375146,15.348498,34.5272025,66.8871636,35.6732183,45.1685745,22.1096668,3.2333243,13.0613232,12.4324869,36.4001636,11.2612613,1.354378,1.3663795,18.4282926,13.6972237,55.6674013,15.4832903,34.4566939,67.8424083,35.777075,45.906755,23.7864672,3.1017087,13.1178207,11.3924937,36.8322766,13.2478519,1.1606418,1.1954434,17.8376479,13.5713288,55.8100217,16.1243686,33.736669,66.5885943,34.9388995,45.2012644,23.5591547,3.0786973,13.194354,10.7654414,37.1350523 +333,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3705768,1.409286,25.3417162,20.7714616,69.4428845,14.072467,35.6587437,64.640629,30.3492825,40.2893846,19.1317823,3.2634453,14.7212783,10.6103206,37.0363697,15.9626547,1.481136,1.48725,25.4976706,20.5696703,68.5950221,14.3667707,36.0448668,65.0666343,31.5581405,40.4707394,19.2906138,3.5468643,14.3467377,10.8916917,37.1564834,16.5017647,1.3825584,1.394693,24.8678937,20.1311244,68.8374316,14.4536417,35.5794035,64.982871,32.1650064,40.3995824,19.4516939,3.5850399,14.1278361,10.9569596,37.2419613,16.3924416,1.4027654,1.450245,24.1942113,19.8042299,68.6935313,14.6710019,35.6345431,65.1154693,31.9240438,40.9265201,19.5964648,3.7813803,13.9445099,11.1406322,37.3766671,15.4094242,1.2678422,1.3253355,24.287688,19.8936111,68.5677987,14.549088,35.4396984,64.9094546,31.761111,41.1117089,19.5540062,3.5244345,14.0825666,11.2098716,37.9003583 +334,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2385115,1.2771518,23.3950842,19.0807717,68.242043,14.2602495,35.6654688,65.1862476,31.9381691,41.4375748,19.2651404,3.5676065,14.4355278,11.4513432,37.4568999,14.5515199,1.1333669,1.193114,23.0809708,18.6369861,68.8137864,14.5618993,35.2894567,64.9280653,31.9794683,41.0168517,19.1310175,3.9961021,14.314189,11.2755162,36.826886,13.7659867,1.2090225,1.2694025,22.9046457,18.3216333,68.0518075,14.9423486,35.0345669,65.4004447,32.4227344,41.7826249,19.5144528,4.1249693,14.0079059,11.5603833,38.3207497,13.6362974,1.0978218,1.1408971,22.2471038,17.8900116,68.2082232,14.8723658,34.8047526,65.8303574,31.6279231,42.2326171,19.6427077,4.0205724,14.138542,11.2111051,37.450078,12.6478367,1.1348459,1.1783712,21.724376,17.1691275,67.6556719,15.3337291,35.6618367,66.6186937,31.4991417,42.5264574,20.0286854,3.9968273,14.2065861,11.113639,37.3991966 +335,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4377729,1.4592683,21.8576408,17.165934,52.9417314,11.6227374,36.3333538,66.2434041,36.4621814,46.604565,21.6842359,6.1648305,13.2335017,10.3553846,32.3921572,9.1442382,1.4901241,1.5468714,21.350702,16.7973673,52.5446325,11.8899021,35.9875035,67.1789229,36.3104165,46.7082107,22.0699515,6.2149767,12.9255439,10.3551892,31.71237,10.4075451,1.5149456,1.5718811,21.8850697,16.9689242,53.3483426,11.8487343,36.0904241,67.2449856,36.187485,46.3788738,21.8871792,6.1310088,12.2944354,10.3029861,33.2186723,9.7598357,1.5124728,1.5397363,21.4709255,16.540367,52.901521,12.0540992,36.9475959,67.3243755,36.2195636,45.7170733,21.6920054,6.0062637,11.9511087,10.6203151,34.42488,10.1724163,1.3769096,1.4047756,20.880002,16.2516227,53.1059612,12.0401879,36.8748151,66.5837114,36.1634057,45.8860404,21.6980089,6.1147589,11.9965209,10.0929899,33.0132536 +336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8181362,0.8420109,21.6057681,18.2623003,86.3960078,11.6773713,31.7758588,63.3023012,27.1640415,41.9978926,14.0680658,4.7582285,15.4605355,12.5519316,31.2608739,10.2740737,0.9620164,0.9657299,21.8416836,18.2173525,86.3056365,11.4778366,31.3454662,63.6241847,27.2041121,42.3124436,14.4951277,4.9146977,15.982129,12.5133565,31.7610611,10.7005038,0.9901576,0.993975,21.8048903,18.2379381,86.1167196,11.4004829,32.0003296,64.1196406,27.0040985,42.3590554,14.284327,4.822489,17.1486671,12.6527956,31.054308,12.0193734,0.9965406,0.9782001,21.7457328,18.2503731,86.7671397,11.6059911,32.5997828,64.9302937,27.4745215,42.9804773,15.10667,5.2089277,16.7231929,12.6837449,31.5439324,11.3604499,0.9492687,0.9309346,21.7600052,18.2834621,87.0311073,11.6758166,32.3200644,65.0398935,27.7654265,43.0284085,15.4395476,5.1589644,16.8370869,12.5094522,31.7541967 +337,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5167646,1.6170642,26.8272248,22.4898219,52.5273107,17.3550497,41.2653716,64.8035064,36.9410586,47.2358026,22.8623668,3.2800934,14.8289847,13.3792008,33.8726295,16.0340924,1.5356861,1.6110059,27.2694341,22.8401338,51.955754,17.2205715,41.0124601,64.4375377,37.1375584,47.11246,23.2874702,3.3874996,14.9018438,13.1320902,33.238044,17.3785691,1.526088,1.6001372,26.6872802,22.3609628,52.557017,17.6388997,40.0739335,64.3658988,36.9610627,46.7083402,22.901207,3.4830285,15.086854,13.0789226,33.5897026,16.1256959,1.3848861,1.408274,26.3408175,22.0258656,52.7357702,17.6288249,39.9722673,64.4564572,36.4998673,46.9929503,23.062378,3.5103164,14.727246,12.6815071,32.975466,15.4080815,1.3260541,1.3842584,25.5985532,21.6324282,52.360909,17.6187965,40.5468963,65.3721082,36.5260907,47.5149826,23.4140527,3.4340657,14.6876371,12.0876089,32.9777119 +338,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8721279,0.878547,17.4624655,14.0374907,47.4279007,9.8365241,31.1555017,66.6686255,32.5264398,45.5293905,19.1588039,2.8860519,13.481602,10.1815036,30.1775867,12.6243705,0.9101304,0.9225961,17.5008788,14.0268514,47.073578,10.1725458,31.4723916,66.5369435,33.1694653,45.9423827,19.2868595,3.0432489,13.5487839,10.5069722,30.4364487,11.2720293,0.9272452,0.9437016,17.3600347,13.8742821,47.4774526,10.3022779,31.0213566,66.6044981,32.9076583,45.9064724,19.2929039,3.2400827,13.2915545,9.7420426,30.2261529,10.5493239,0.9681243,0.9569065,17.5651711,13.9086196,47.1659919,10.2230729,31.7305694,66.4461286,33.168499,46.0327591,19.4055202,3.2930995,13.0317102,9.8232176,30.2555579,10.6837711,1.0010303,0.9889206,17.7660116,13.9788987,46.9554671,10.3857293,32.1768113,66.664471,33.3991774,46.5499775,19.5863681,3.4563821,13.1324,10.1270178,30.8528368 +339,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7298857,0.7209537,13.5640231,10.9883781,64.6551739,13.7558721,31.3462218,66.7533751,29.8917047,40.274978,16.5675815,13.1383381,13.2523573,9.5570808,36.7570602,6.8930738,0.7543283,0.7574611,13.6648206,10.930814,64.4153776,13.4403591,30.75257,66.256213,29.3996372,40.4027077,16.7371367,13.0271648,13.2736607,9.6506322,36.4991371,6.9205312,0.7214079,0.7390749,13.7387387,11.025561,63.8219236,13.3829996,30.5096475,66.6189885,29.7785531,40.7978407,17.0640022,12.9953392,12.9786693,9.3389848,36.8969386,6.8151596,0.7077571,0.7182408,14.0207173,11.1880365,63.951347,13.4065606,30.6463739,66.2980788,30.4861132,41.276711,17.4626132,13.1143162,13.0545051,9.5810342,37.1666679,6.5321477,0.6654731,0.6788551,13.869807,11.01659,64.0006436,13.5190424,30.6924915,66.5332925,30.8098634,41.6186568,17.4829316,13.1508734,12.6330922,9.5612646,36.7850741 +340,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.7943027,1.8062818,30.3408623,25.1043068,70.1931237,8.4671643,34.1236453,62.9480596,33.9301418,39.2009777,18.9532626,3.6996008,15.4573452,11.2330744,40.4690204,16.6857164,1.7735728,1.7993246,30.0662829,24.9523533,70.4704386,8.5439961,34.7123725,62.7915465,33.6464626,38.8342645,18.7930641,3.5923418,15.6607256,11.1994546,40.779448,16.9917879,1.7453173,1.7714288,29.4824441,24.3052761,70.1108552,8.6232477,35.5159465,63.075898,34.1421373,39.1427554,19.1008036,3.5409607,15.5499393,11.1145767,40.620607,16.9653049,1.6426346,1.6621667,28.9159934,23.8380668,69.6533727,8.5353399,35.924727,62.5944008,34.1048319,39.1551034,19.1066214,3.5575496,15.3617371,11.1495667,41.0469,16.159451,1.5614881,1.5881935,28.3929755,23.2021544,69.4705899,8.3827274,36.0555245,62.8726769,34.5162192,39.2145594,19.2045964,3.5034725,15.1565349,10.8987744,40.7555656 +341,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4811067,1.5041761,26.1938002,22.1226943,71.6001389,8.5202287,29.6305333,65.6012603,32.6071798,37.5357306,16.3227625,4.0606491,13.5714295,10.0666019,37.8785743,15.4406016,1.4342955,1.4589266,25.4830527,21.2506225,71.5818735,8.5084862,29.4901707,65.7509603,32.580256,37.4169166,16.4651414,4.1330791,13.3319232,9.7614345,37.5124576,15.6962556,1.4069357,1.4328041,25.2443483,20.9995033,71.1979857,8.3321611,29.6168094,65.8662811,32.7065775,37.2092219,16.2302004,4.063794,13.4571279,10.186649,37.7228569,15.5541786,1.3727055,1.4039748,25.1721665,20.8082672,70.8774896,8.313635,29.7453178,65.9084364,32.8943542,37.0084197,16.3873182,3.9435496,13.6818472,10.361606,37.8796766,15.5606852,1.362991,1.3796297,24.7951127,20.4778301,70.6462237,8.3291054,30.055826,66.1316418,33.199881,37.1960641,16.767062,3.9190473,14.0055823,10.7835939,38.5147167 +342,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3042753,1.2966682,22.5035717,18.8688008,69.0579861,15.9184772,33.2163267,65.3105758,30.1315179,40.362883,16.8080352,3.9738161,14.5281362,10.5888697,32.86033,13.2422416,1.2916124,1.2916124,22.449552,18.9342405,68.8248702,15.7438422,33.7865579,64.6082509,30.0669885,40.4236574,16.8881116,3.8190157,13.9362747,10.3236491,32.5312871,13.8343617,1.3549119,1.3543939,22.8646292,19.0264884,68.2619162,15.2503377,34.3042116,64.3338362,30.0179268,40.6355448,17.2172003,3.7466114,13.993062,10.5861246,32.5369579,15.2013357,1.3779831,1.3800368,23.0281779,19.0777575,68.4782044,14.9063896,34.5600341,64.2624197,30.421087,40.9103685,17.7409121,3.7464059,14.0388034,10.9063147,32.7484139,16.0006925,1.41372,1.4416958,23.6476774,19.5651415,68.6711925,15.0536157,34.6886109,64.4575616,30.0508972,41.1690084,17.8153683,3.7643611,13.8185125,10.2900704,32.5883155 +343,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0987337,1.1397234,23.9185732,20.9708259,85.825475,11.1022605,30.3762625,64.8557438,28.0408283,40.3666538,14.969168,4.4274649,16.4815439,13.9930095,32.9959399,14.1811456,1.1966581,1.1921953,23.5675558,20.5286473,85.4582834,12.0415594,29.5432949,64.5384155,27.5811974,40.3507332,15.0369633,4.2939792,16.3815155,14.1340206,32.9780236,14.3476389,1.2730508,1.2276536,23.6618366,20.5132558,85.3199283,12.4167861,29.6705337,64.6992974,27.8150421,40.8030258,15.530947,4.5905513,16.4014925,13.4946249,33.3891011,13.5614766,1.1730479,1.1130808,23.3933972,19.9289068,85.2312288,12.118845,30.4823649,65.4553466,28.0703625,41.209183,15.6933028,4.7127972,15.457413,13.3746675,33.0376758,13.6487025,1.1010446,1.0216528,22.8672391,19.3035525,85.1198265,12.2715716,30.4201565,65.2498469,27.8731989,41.6587083,15.7114151,4.8551473,15.4219746,13.4826923,34.1059576 +344,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6358406,0.6917807,15.6991208,12.1712285,63.1758571,20.7484278,35.9682975,67.8790731,30.2780933,42.9194585,18.8651276,6.9026807,14.3374657,10.7920472,34.1180348,6.9872705,0.6959571,0.7503934,15.6080874,11.8926322,63.7399224,21.2449418,35.7324265,68.0806868,30.9342825,43.422285,19.4311518,7.5150893,14.0012598,11.7243249,34.3955178,6.6844681,0.7964605,0.8508322,15.4931393,11.8141134,63.5529774,21.7002406,35.49363,68.2643375,30.9077348,43.2006315,19.2833873,7.786619,13.3440171,11.5433787,33.3009817,5.8983452,0.7431267,0.7983841,15.5049616,11.8909019,63.5813716,21.7385091,36.4620544,67.7059962,30.7432323,43.473361,19.4022277,7.8675241,14.0183572,11.9172451,32.2207557,6.0296622,0.7855525,0.8416254,15.2572816,11.5207921,64.2667317,22.1484699,35.9456814,68.0791805,30.6447256,42.6865233,19.1590133,8.0333625,14.110207,11.3953337,31.4715632 +345,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6741641,1.763457,24.2872616,20.1367632,48.0300029,15.4725491,39.9214587,67.1588556,36.2079237,48.9813749,23.9966155,5.8413968,13.2317325,10.8017227,30.7346694,15.7389596,1.6197205,1.7387765,24.6072954,20.2239252,48.4779188,15.6918952,39.0309106,67.4397057,35.0097051,48.3184165,23.7845124,5.4292171,12.6120015,10.1658725,30.102684,16.3415721,1.6640669,1.7820897,24.82726,20.4808579,48.0582396,15.941237,39.1499631,67.5251387,34.9602372,48.6096469,23.6840692,5.3964156,13.153461,10.7529724,30.5460343,16.9021292,1.7433294,1.8656618,25.1403412,20.4321431,47.2496386,15.8173022,39.4227447,67.4587445,35.5193017,48.8606198,24.2667084,5.7032323,13.5075611,11.1594862,29.9254094,17.5870214,1.558727,1.6258216,25.0180446,20.4178592,48.3429624,15.9250862,39.0171477,67.0997242,34.9567492,48.395373,23.6876032,5.634333,13.214191,10.7066694,28.9499557 +346,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3064728,1.3341214,24.8070526,20.4941007,70.2247192,8.2551972,30.4841859,66.2853451,33.3117939,37.4087862,16.9238367,4.0095767,13.9828556,11.057474,38.4573626,14.1747953,1.2766063,1.2995997,24.6570576,20.4719858,70.0071195,8.4661978,30.9590408,66.4684829,33.7491241,37.6738939,17.0241704,4.1307214,14.1015621,10.9590127,38.3209341,13.4520087,1.2214331,1.2340502,23.872671,19.7883088,69.4743198,8.6545938,31.0658563,66.6574728,34.2405853,37.9588775,17.2246743,4.1239949,13.9952169,11.1049052,38.2063255,13.3756493,1.2186374,1.2269496,23.4437893,19.4516797,68.7203225,8.861104,31.4537129,66.5811651,34.6342031,38.0830248,17.508485,4.1393726,14.5091436,11.4508124,38.070111,12.3565996,1.1828807,1.1827939,22.9266573,18.9237819,68.6616293,8.7876146,31.491384,66.7451282,35.0742095,38.2660383,17.9739879,4.2571002,14.3626424,10.876209,37.7497898 +347,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.5826261,1.6154707,19.5778687,14.3654306,47.1498704,13.6008852,38.1284214,66.3394971,38.9964259,47.2427742,26.4099338,3.9278576,13.8440895,11.7726247,40.5320203,15.3017571,1.4752737,1.5078345,20.2454175,14.8145014,46.5980604,13.3140384,38.2423266,66.3279399,39.0187903,46.6111842,26.292926,3.8609004,13.8888935,11.1454029,40.3283216,16.025689,1.4856423,1.4656136,20.8461066,15.4043386,45.8980858,13.0147985,39.1245924,67.158645,39.6559655,47.1842028,26.7694393,3.6976821,14.3696972,10.8880897,40.0858009,16.2222355,1.5828003,1.6034023,20.8883942,15.5058599,45.4978498,13.4078446,39.4274736,67.0816568,39.5185555,47.0806254,27.2643817,3.6215894,14.6640399,11.5646169,39.9376568,17.2489174,1.6968704,1.6775087,21.1115359,15.3270267,44.281017,13.4601558,39.5328769,67.1998611,40.2109088,47.6694586,27.5991746,3.8196816,14.0508025,11.6785284,39.7908806 +348,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0266893,2.0363957,35.748318,31.4211135,65.0762468,16.305173,36.2545508,62.7905238,28.6247627,39.7257748,17.8997793,2.9552013,18.2191726,13.0522328,38.9356688,19.6452256,2.1974793,2.1936745,35.3984296,30.9842252,64.4154509,17.0621754,36.7572022,62.557813,29.2171787,40.3716272,18.1759108,3.146588,18.3561466,13.8251354,38.7235816,18.0970197,2.2556432,2.2610194,35.0310736,30.5092932,63.9565419,17.1013532,36.4842091,62.7020224,29.7114981,40.705788,18.3223593,3.2092724,17.9837453,13.347166,37.8753551,19.2238239,2.2327785,2.2498879,34.6055742,29.7932746,63.0911792,17.2116624,36.38023,63.6914095,30.4264078,42.0281182,19.6157104,3.3110635,17.8135422,13.3980011,37.7403226,21.1273503,2.2736589,2.276848,34.7077906,29.7666637,63.1481003,17.309795,35.8651174,64.8901689,30.9483915,41.9261232,19.6027317,3.2242826,17.7588814,13.6188728,37.6701271 +349,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8743537,0.8856188,11.6787004,8.7184116,72.3447262,22.7158273,32.0827233,68.136896,30.0695461,40.6112738,15.3916545,4.0812592,13.8399413,10.4625551,32.8286558,7.7020202,0.6654042,0.656383,11.0729769,8.3995665,72.675487,22.5152494,32.2279223,68.1018688,30.7988274,41.2788567,15.5551484,3.9391719,14.2062315,9.9703484,33.3208955,7.0291777,0.6871613,0.6780257,11.1416026,8.5437248,73.4118087,21.7906637,32.0350354,67.6295192,30.2459933,40.980246,15.4863958,3.7458069,14.1189759,10.6711916,33.2448825,7.9301075,0.6705161,0.6352886,11.3762486,8.6015538,74.0037594,21.7575534,31.9962335,66.6101695,29.5856874,40.8851224,15.386064,4.0489642,13.5918675,9.9170437,32.1076573,7.5284091,0.5321141,0.5257106,11.4953271,9.0280374,74.581749,22.0588235,32.4524715,66.5209125,28.8022814,40.095057,14.6577947,4.0494297,13.5471698,9.7054381,32.2053232 +350,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.083963,1.0981509,21.5889278,16.8882433,67.6548159,15.3908489,35.4923735,66.8587669,31.6365351,42.0760577,19.8800405,4.4321321,14.5267885,11.5312017,37.8175246,12.4599493,1.1898354,1.193349,20.7307296,16.2225994,67.4236536,15.120806,35.4174391,66.9257712,32.0069509,42.0067931,20.3363476,4.582301,14.2890563,11.4918134,37.5232774,13.5469151,1.1350329,1.1394929,20.5920032,16.390955,66.9192618,14.872778,35.2040729,66.632254,32.1050941,41.8846575,20.9939478,4.5798195,13.377677,11.1187061,37.5808431,13.6816351,1.1128462,1.0956647,20.2219039,16.2740182,66.4747998,14.7252513,34.9408384,66.6088404,32.00322,42.1349901,21.1079593,4.3140635,13.1494857,11.1439935,36.8166267,12.8775246,1.0105707,1.0002035,19.8013219,15.8752783,66.6387628,14.5154077,35.4318284,66.5215446,31.9957489,42.2334241,21.3579727,4.1538422,12.7684832,10.6726171,35.8352763 +351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.1611922,1.0646362,22.3632659,18.5268607,84.8520883,12.0187592,30.5590249,65.4511979,27.6486956,41.6774835,15.4511652,4.8234301,14.9602986,13.1856621,34.0746028,12.6388855,1.2115585,1.1139037,22.2571251,18.4158152,85.4257893,11.8022131,31.0645544,65.8371218,26.9774789,40.9195055,14.7165391,4.7627033,15.3467855,13.5231849,33.6294056,12.7746835,1.173264,1.0903933,21.7886004,18.0895903,85.6784284,11.1531167,30.6557968,65.6011874,27.1114601,40.8908922,14.0609356,4.8526107,15.3565763,13.7804828,35.0233583,12.2252142,1.1018122,1.0965558,21.4765624,17.7458388,86.4070829,10.569251,31.2562233,66.1237219,27.6282938,40.7288233,13.6210606,4.8538565,15.3102008,13.9185587,34.5949734,11.6758152,0.9979622,1.0091791,21.733118,18.1490153,86.1777235,10.3014728,31.8017797,66.4462512,27.4041739,40.454015,12.9602927,4.5226453,15.8259692,14.7294868,35.4945638 +352,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.5392729,1.5403399,21.2359356,15.6589574,43.4758157,13.3422176,39.9319232,66.4189512,39.7967848,47.5439362,27.4553825,3.8960965,14.1966025,11.9984822,39.7501141,15.6652402,1.6148878,1.5809057,21.3558607,15.8469342,42.8519273,13.2560714,39.470998,67.0206808,40.2373897,48.5773699,27.794996,3.809346,14.2901004,11.7543541,38.8206429,14.978905,1.5166797,1.5236159,21.1651117,15.6489491,42.2559218,12.8017817,39.4887991,67.5921158,40.2555274,48.7345901,28.4389522,3.7659577,14.7870868,12.5885578,39.2424982,14.5652119,1.5177504,1.5247532,20.6072662,15.0105226,42.8197306,13.219681,39.4217024,68.6759128,40.4225534,49.3390682,28.0941041,3.7986062,14.7253179,12.9817328,38.7329693,12.8820749,1.6688552,1.6758701,20.9924682,15.4519821,42.7742581,13.007298,38.9955584,68.0553269,39.3593643,49.4088638,27.7637547,3.7515088,14.2254578,13.2243633,40.0340131 +353,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9072388,0.9475372,15.0372134,11.2495717,65.1910573,21.9477709,35.8663817,68.0380632,30.7035335,42.7073644,19.2158842,8.3091146,14.6731738,11.2744877,32.1570274,5.7765042,0.9971821,1.0268667,14.8307619,11.1909073,66.4044415,21.3009877,35.698381,67.5714213,30.7461063,43.0635234,19.2222271,8.4920446,14.2996417,11.3532598,31.1761438,6.4079307,0.8042871,0.8042871,14.5369284,11.0841939,66.4132984,21.1399371,35.771409,66.5012808,30.5858421,42.6536748,18.9340615,8.4346789,14.6444497,11.548441,31.1718402,6.1922194,0.7954201,0.7902325,15.0691679,11.5254537,66.6722918,21.0013359,35.5968816,65.5768078,30.5667626,42.4044444,18.5613749,8.4674516,14.4655933,10.488777,31.4866177,5.6405192,0.7855952,0.780299,15.1948701,11.4694406,66.4300676,20.4553376,36.1101304,65.6004363,30.6363171,42.5761065,18.3544315,8.1936142,15.5343045,10.6840244,31.6298369 +354,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4446356,1.4679702,25.95542,21.8643039,52.2627029,17.6316253,40.3874756,65.9954173,36.4616103,47.1251172,23.6448495,3.6854072,14.1197444,11.578114,33.151127,14.5359866,1.4695463,1.4813754,25.9500128,21.659754,51.81505,17.3451334,40.2660939,66.2737412,35.6781873,46.8060735,23.2319103,3.4854191,13.8717772,11.3589608,33.1522484,15.4563321,1.5182627,1.5407628,26.4162487,21.9740306,51.8396281,16.9424574,40.4367792,66.2315408,35.939587,46.9243058,23.1713519,3.4763452,13.9989384,11.0328501,33.7639054,14.8822238,1.5580537,1.5906772,26.068871,21.5668708,52.1801301,16.8377047,40.7585535,67.0098204,35.7273546,47.4061525,23.4749522,3.6626584,13.8699115,11.1023249,34.3137363,12.979681,1.5523332,1.5845724,26.2366128,21.7872031,51.2267806,16.443443,41.4756393,67.228917,35.7326669,47.4246351,23.834652,3.6440789,13.7229441,10.7989518,33.7238778 +355,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0780742,1.1353452,25.3318755,21.5985433,62.1794011,13.6463184,37.6609521,64.0795978,33.3620514,44.7300591,19.5498291,2.9981731,15.1085193,11.2583429,33.1824932,17.8183787,1.0462325,1.0969192,25.570946,22.0166882,62.0995163,14.0894962,37.800522,64.1624999,33.4582922,45.0020417,19.8246579,2.971272,14.8299155,11.336557,33.0998361,17.285594,1.0492317,1.0965109,25.3609422,21.8406707,62.073712,13.9911769,38.0432035,64.2221863,33.0939403,44.3289595,19.2916588,2.8644956,15.0640633,11.3571462,34.0088432,17.9906639,1.1828875,1.2135704,25.6140291,22.0449824,62.560253,14.1842156,37.8122531,64.6601741,32.7902459,44.2044846,18.5306597,2.9029635,14.7854425,11.9136302,34.1938857,17.147975,1.1963121,1.2338562,25.8097257,22.2167471,62.1541946,14.0940612,37.1255254,65.2044713,33.2227721,44.4141239,18.5670238,2.9332076,15.0645594,11.7174941,34.4832577 +356,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1091258,1.1225262,18.4849354,14.014497,56.2996579,16.5123051,33.1899809,67.3447295,35.8210062,45.1284626,24.6548603,2.9751843,13.90621,11.4399571,36.9928125,12.4999798,0.9253483,0.9385015,17.8707571,13.4117837,55.2536343,15.9913078,34.9724223,68.1479963,36.6145679,45.800852,24.876867,3.1310498,13.4045509,10.3962997,37.5925943,10.4166406,1.0025786,0.9642724,16.6545153,12.1952965,54.7929294,14.8481323,35.512938,66.9346378,35.7094631,45.829496,24.7412876,3.3866769,13.5405823,12.1181749,38.6125105,11.7423976,1.0410591,1.0057287,16.9459235,12.3440924,55.6340861,15.1190851,34.7650735,66.0772973,34.5598108,45.9593186,24.3750693,2.9315877,13.4231285,11.8361516,39.1947318,11.870478,1.1447693,1.0960134,17.2598324,12.8466325,54.9164503,15.583466,35.5593716,66.6380705,34.612527,46.8249985,24.771681,3.1639028,14.0170488,11.4185401,40.1330561 +357,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1090535,1.1351975,25.1605996,21.6259367,61.6927256,14.5514322,36.5974868,65.8884835,33.5975098,45.1081526,18.9858954,2.841439,14.4101547,11.2853773,34.3077294,15.2572418,1.275162,1.2955629,24.9862808,21.3709867,61.9434689,14.7878214,36.0834882,65.3459553,33.4187318,45.5538948,19.366214,2.6041959,14.65438,11.5614986,34.7267825,16.1733404,1.2709416,1.297498,24.872529,21.2727103,61.9688411,15.3042735,35.4119897,65.4594506,33.5945687,45.2453155,19.9028095,2.8503693,14.7486793,11.9848726,34.9088498,17.3117924,1.3581878,1.3806034,24.8152378,21.1327397,61.2551411,15.0664906,36.0798025,66.2201726,33.8777677,45.6312119,19.8701147,2.9994969,15.0148764,11.7741958,34.5402562,17.2450946,1.3340345,1.3264775,24.4044316,20.8682508,61.4580854,15.2408962,36.010404,65.353336,33.5543303,45.9925233,19.9725825,2.8177627,14.8119288,12.1151355,34.3118243 +358,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.8989526,0.9524867,21.2008942,17.6585673,86.1284594,10.4391589,31.2994026,66.3968221,27.2317558,40.7667653,12.7249862,4.301647,16.6420051,14.7340753,34.2825317,9.9997662,1.0844168,1.1722547,21.8803603,18.1798619,86.1021711,10.157625,31.3672506,66.2798133,27.6024312,40.3812263,13.0140094,4.1086978,16.8031892,14.5677416,33.6695059,10.4302771,1.0090847,1.1134586,22.4445772,18.7624249,86.1654371,10.452346,31.3061754,65.8692232,27.4675713,40.7217488,12.9825351,4.0739685,16.949667,14.3647617,33.7164251,8.6037453,1.0730089,1.199679,22.101127,18.2200446,85.4658308,10.5280119,30.7390745,65.4828153,28.2204896,41.4626831,13.4138659,4.6366403,17.0302936,14.5361659,33.6333432,7.5970577,1.1193007,1.247889,21.8277308,17.8824748,85.4445829,10.8426929,31.2011124,65.9288908,28.0985535,41.5176344,14.0202555,4.5570399,16.6666023,14.3927874,34.0853428 +359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6729662,0.6658114,11.8883835,9.1113392,68.2461228,18.3177408,33.4084275,65.955471,30.8375305,40.0609536,18.4071008,8.2030252,12.321136,8.5145779,36.4343057,6.4487667,0.6997076,0.7039716,12.036038,9.1850416,67.5818217,18.6362521,33.6427219,65.3887574,30.4412165,40.1802497,18.6037104,8.2189976,11.862102,8.7228145,36.4961477,6.0632721,0.6785458,0.6779689,12.3045771,9.4474356,66.7615939,18.8935875,33.7772355,65.4963746,30.7371532,40.0995416,18.9265526,8.3535152,11.6539214,8.7656857,37.5276521,5.3228658,0.7275918,0.7351301,11.9105641,9.0650369,66.7255888,19.4415053,33.1759182,64.6923969,31.044255,40.110625,19.2525625,8.3243405,10.7995451,8.3610935,35.9111338,4.4815497,0.7281805,0.7543286,12.1191252,8.98984,66.2962952,18.8954292,33.5284401,64.5113029,29.9891133,40.0898405,18.8538006,8.4263566,11.2577174,8.7261287,35.6331495 +360,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0741935,1.0358153,16.08078,11.2586596,54.8996925,16.1447649,38.427867,69.1193007,37.4215864,45.7231501,26.3521472,3.1236862,11.9847742,10.3784252,38.0936816,11.0357378,0.9118675,0.8728773,15.9277697,11.453979,54.9563947,16.0127617,37.9511239,69.3039936,36.9749399,45.6725372,25.7316904,3.1607856,11.5773033,10.0424306,38.3661982,9.5791752,0.8131427,0.8262678,15.8103938,11.215691,54.4559314,15.7132407,37.6770654,68.9130384,37.3341228,46.2346772,26.6367314,2.8455998,11.3873002,9.9739513,37.7418188,9.0276775,0.7805497,0.793858,15.9400734,11.3677934,54.1462631,14.6657772,37.3596044,69.2757049,36.9684445,46.6827746,26.4311971,2.4502179,11.3695327,9.8685405,38.042333,11.1373457,0.7849703,0.8284673,16.4827041,11.4210732,54.1684211,14.8821552,37.1727097,68.597161,36.7349233,46.9189638,26.5081784,2.6006176,10.7047974,9.9825432,37.0453354 +361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9743108,0.9638744,17.7123168,13.9426914,47.1148214,10.2762897,32.7427535,66.5385049,33.1967696,45.8400704,19.6332546,3.4854168,13.2990082,10.2303585,30.7797854,11.8961603,1.0665896,1.0570582,18.1395712,14.320062,47.5809717,10.1659069,34.0186208,66.7833878,33.4840116,45.7976942,20.2662083,3.597327,12.9867877,9.9115748,30.8582651,11.4702398,1.1505327,1.1551378,18.3971662,14.399667,47.6928039,9.9847974,34.2418892,66.5751433,33.7951699,45.530497,20.2209876,3.6202033,13.0694211,10.0761994,30.6280832,10.4139823,1.0852376,1.0964346,18.893414,14.8531623,48.0719793,9.884604,34.385894,66.630648,33.5981153,45.8374804,20.6724134,3.5142113,12.6172386,9.9948961,30.6285532,11.8718616,1.0949469,1.1141019,19.3269359,15.2744181,48.351681,9.6997576,34.4787817,66.5196698,33.3397256,45.7052341,20.5389867,3.5522032,12.5732433,10.3742413,30.497824 +362,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3807485,1.3900789,24.5428725,21.0045385,61.1508021,15.6854088,36.5627713,65.4930423,34.0658598,46.0943712,20.3698082,2.7314916,15.2940396,12.1760407,34.3523439,15.7709764,1.3666829,1.3909196,24.6563758,20.9586512,61.1685781,16.3511697,37.1296338,64.7547932,33.4170538,45.5942973,20.5864309,2.8185814,14.9327404,11.9712901,34.2123265,14.5389736,1.4819663,1.5184362,25.4241313,21.3389006,61.0606627,16.1709592,38.0824281,64.8230924,33.360302,45.526028,20.7331577,2.9615591,14.9701837,11.8126343,35.68543,15.5681576,1.4068077,1.4528707,25.2427789,21.1132774,61.0493039,16.4832095,38.1191787,65.1983788,33.4846478,45.1594053,20.4982906,3.2480005,14.7331062,12.037976,36.3997191,14.8782656,1.3696382,1.4187343,24.662475,20.3719903,60.633469,16.408253,38.6966647,65.1985462,33.597819,45.6325963,20.7092305,3.3096676,14.7416248,11.5231593,35.6021603 +363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6574693,1.6747869,20.7847406,15.1847868,43.0510985,12.4476887,38.7466339,68.7283403,40.1636831,49.1781218,27.5098651,3.8777788,14.5679537,13.1117913,39.6370048,12.3949684,1.6298157,1.6464419,20.6200333,15.4798436,43.5065619,12.4098951,38.8809255,68.7792616,39.9151344,48.9701708,27.175761,3.7892648,14.6378181,12.5305494,39.5351183,13.4615557,1.7277015,1.787356,21.2791351,15.7357306,43.783775,12.9252906,38.3244249,69.6950156,40.2255844,49.1426146,27.0926277,3.5666817,14.1074626,12.7186627,39.5858247,12.5550386,1.7890088,1.8748911,21.1241265,15.8005151,43.758159,13.213135,38.591491,69.6639402,40.7410844,48.9965156,27.4853876,3.397068,14.7740292,13.4481262,40.9098831,13.3771609,1.9459916,2.0035927,21.5215693,16.419895,43.8070306,13.4219414,38.8285321,69.4981187,40.7570611,48.9878453,27.1474023,3.7138982,15.2318869,13.2736131,41.0240396 +364,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1823929,1.1962652,22.719584,18.67446,68.4415795,8.5897624,31.7143118,66.9048711,35.2753526,38.9090767,18.2130191,4.3079756,14.0237956,10.7043879,37.1769498,11.2042734,1.0759957,1.1048498,22.077338,18.0543023,68.3105671,8.7209277,31.9095519,66.7147154,35.7236972,38.8458695,18.4570409,4.378448,13.779004,10.3140176,36.9774018,11.2303717,1.1106218,1.1517839,21.3197367,17.3547978,68.2393596,8.9993505,31.8565645,67.0614708,36.323767,39.2663949,18.9795093,4.528687,13.6574504,10.0397971,36.7491989,11.7254339,1.0839917,1.1198037,20.6946757,16.767887,68.192191,8.9210914,31.6277407,67.4162413,36.200012,38.9350765,19.1994353,4.551499,13.9061223,9.9429463,36.8968962,11.7895362,1.0891898,1.1521983,20.2767887,16.4508194,67.9215296,9.1451678,31.8908696,67.6776642,36.4678462,39.2428108,19.6150594,4.7081204,13.9172635,9.5688486,36.945678 +365,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4676136,1.5513014,25.3529303,20.6655743,48.5850513,15.8636069,39.2319202,67.3829124,34.9018297,48.4424833,24.5571978,5.5716328,13.3445779,11.1160196,27.9252334,16.1778678,1.324635,1.4110669,24.8848316,20.4472994,49.6784301,15.9255768,38.3334552,66.3073761,33.972128,47.4655106,24.1386043,5.6444403,12.7170878,10.9846037,28.1930792,14.6942825,1.2300279,1.2890024,24.1055514,19.8036538,49.492485,16.1779094,37.816804,66.0696323,34.5141447,47.706521,24.2997327,5.6445365,12.4467375,10.8035395,27.9148098,14.875776,1.2016807,1.2298694,24.1709929,20.2234833,49.8435702,15.8993375,38.3766246,66.2605764,35.6768976,48.7775759,24.5091749,5.9916474,13.0661577,11.096518,27.9051321,14.3667853,1.0169405,1.0353733,23.4977954,19.7691355,50.3456121,15.5283917,37.9144143,66.4486361,35.3322507,47.8648256,24.1826748,5.6393553,12.8643549,10.7233505,28.5439865 +366,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.1825808,1.2824457,21.8485732,17.9343445,84.7602289,10.8053625,31.009721,65.6209352,28.5806337,42.8416043,14.5940698,4.4075688,17.3338809,14.543221,34.4977561,9.0105529,1.1639958,1.2667091,20.7920231,16.8399262,84.7825908,10.7811624,29.7593889,65.2205965,29.37899,42.3857228,14.9654006,4.6207791,16.7054596,14.1582311,33.8392845,10.3389305,1.2119476,1.2728745,20.5707845,16.5714331,84.7765285,10.9548709,29.5288827,65.2962535,29.8051752,42.011891,14.8731736,4.4440963,15.6807567,14.0599278,34.0536207,10.3146709,1.0790622,1.1366458,19.8498867,16.2002331,84.8567824,11.095187,29.2170367,65.3269244,30.6329536,42.753003,15.1395913,4.4356211,15.8185843,14.8006767,34.3161908,9.6610038,1.0626426,1.1227349,19.4784967,15.917653,84.8026579,11.2937691,28.4446756,64.9696706,30.784095,42.0926686,15.1863453,4.354379,15.720773,15.00005,34.0746543 +367,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4613182,1.5791528,21.3833089,17.1231518,47.583101,15.4791761,39.7523713,67.2916576,37.0387476,46.9712932,25.3756946,3.1467023,13.5003148,11.3814324,37.1001502,15.526324,1.3708069,1.4906929,21.7663431,17.453134,46.8239474,15.7816277,39.9700917,68.0415088,38.2742493,48.8020701,27.221759,3.070129,13.1118872,10.7558343,36.1111646,15.4450624,1.4612195,1.629078,22.5791655,17.9656328,46.4273376,15.6394092,39.372442,67.9110251,39.2530769,49.5829864,28.3875648,2.8954779,12.5744994,10.2976359,34.801018,15.8602518,1.2359542,1.4055964,22.2768599,17.9088493,47.4053409,16.2138274,38.6718589,68.5396701,39.7536261,50.1502525,28.8161222,3.094953,12.2023882,10.2853926,34.5553212,17.7966001,1.2926432,1.4653767,22.5159814,18.589815,46.6357523,16.5767366,39.9451468,69.3174819,41.1030082,51.1578248,29.6465764,3.3820849,12.4083343,10.9279934,34.2980549 +368,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4708135,0.4817595,11.2486147,8.625785,74.8405253,21.2260677,32.3761261,67.4737237,29.3355856,40.9722222,14.6584084,3.8851351,13.1309437,9.3338214,31.4528024,6.6761364,0.4719555,0.487878,11.7701404,9.1093865,75.0568182,20.3531599,32.6202196,67.0390004,28.4551306,41.4047709,14.4452859,3.6160545,13.3604737,9.2962963,32.3507463,5.7352941,0.4466399,0.4510476,11.5312966,8.9232489,74.9426606,20.9131905,32.1933512,66.4310279,29.9388613,42.3194498,15.2273596,3.8020634,13.2561613,9.1486184,33.3709556,5.5722892,0.4454226,0.4714417,12.1575342,9.5319635,75.2850963,21.0617761,32.1106316,67.4970577,29.560612,42.4676344,15.6728129,3.7857984,13.0385488,10.0830816,31.9740854,5.6402439,0.4039468,0.4679537,12.5048022,9.738763,74.6129416,21.4842228,32.6138614,68.1782178,29.7623762,43.1089109,16.1782178,4.0594059,13.5042081,8.8999236,32.1373457 +369,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8384648,0.8609133,18.6673269,14.7065522,59.7653038,10.5596982,30.3318494,66.8332633,36.7750913,41.4949865,20.5004229,4.7979713,14.5594467,10.7367536,33.1547402,10.2910603,0.9945573,1.0576511,18.6220169,14.4791133,60.2436196,11.3018407,30.6139914,66.5856925,36.6492613,41.2278213,20.1482249,4.8457756,14.3154067,10.3501431,33.4218011,10.5208333,1.2030663,1.2725232,19.0904334,14.6360624,59.8190606,11.149284,31.5780603,66.4081428,36.4822565,41.3792969,20.3921642,4.8683378,14.205556,10.2683507,34.257375,12.0212766,1.2351628,1.3089663,19.989949,15.3265826,59.9733085,11.2408824,31.9147987,66.9762885,37.4061009,42.1226163,20.7270143,5.1039088,14.276064,10.3196395,34.3749027,12.6774848,1.3870258,1.4607179,20.3429632,15.6845852,60.1502784,11.6032556,32.4658227,66.9671003,37.4670408,42.5057448,20.3098693,5.1011464,13.6183121,10.422386,34.2998525 +370,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3132541,2.3359641,34.2393024,29.3698822,62.7875365,17.2213123,35.8698939,64.8853425,31.7281031,41.6899785,19.695149,3.2975432,17.6772053,13.9051434,37.4370432,20.7980037,2.343458,2.3640029,33.653455,28.722555,63.0549681,16.7221667,35.5546733,65.0808852,31.8760922,42.2236849,19.398955,3.1138876,17.6204945,14.0560177,37.5309477,20.7895168,2.2290859,2.2768468,32.7302185,27.8686559,62.8836405,16.510976,35.0934187,65.2355749,31.6064276,42.8129176,18.689893,2.9440717,17.5959719,14.7200528,38.4207202,21.1450836,2.2321842,2.283614,31.5203199,26.8733222,63.571279,15.6726501,34.5461279,65.0322605,31.2901612,42.6746298,18.5106472,2.9733099,17.22052,14.3772323,38.2856785,20.5129414,2.2150627,2.2584277,30.930059,26.2060035,63.2368851,15.6766276,35.6794419,65.1041272,30.9968268,42.9149447,19.3073367,2.8117564,17.1576265,14.5294709,39.9315752 +371,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0827109,1.123291,19.8237243,16.1296038,84.6545932,11.4574279,29.0414953,64.6840379,30.7405802,42.3746343,15.2287839,3.8561693,16.0862093,14.894629,34.7647495,10.8541041,1.1272622,1.1685971,20.0567798,16.1198141,84.1238004,11.1962602,28.4413837,64.6756936,30.750173,42.9616438,14.9422537,3.7521796,15.7129721,14.6008505,34.3278726,10.3636062,1.1699651,1.2129534,19.8588677,15.8097247,84.4282243,11.1084996,28.6607272,64.9442237,29.8653801,42.6086622,14.7126299,3.8229416,15.365432,14.5750104,34.6809473,12.1153147,1.1506322,1.1952112,20.0704953,16.0704855,84.7752751,10.9719978,29.246626,65.4267637,29.4383993,42.7300981,14.6591931,3.6707843,15.2193908,14.720478,33.754132,10.9052825,1.0191901,1.0638697,20.0422233,16.2828074,85.1571047,10.3959144,29.1627082,65.1910631,29.0668527,42.6074257,14.7128384,3.995174,16.1175334,14.321317,34.3910361 +372,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4300906,1.4999699,24.5905496,20.199279,60.9413342,16.8400578,38.2497508,64.922704,33.9662455,45.2285174,20.7900417,3.2010237,14.3848631,11.2563341,34.8085983,14.06367,1.4825546,1.5606716,24.8253422,20.5010501,60.7854295,16.3826664,38.6131463,65.6880249,34.4431632,45.5425212,20.9132687,3.3902293,14.7379057,11.4454008,35.155541,14.7992473,1.4160267,1.4818505,24.7585122,20.1816575,60.5970675,15.7303125,37.9862297,65.9760103,34.5626648,45.406253,21.109877,3.3246219,14.6203197,11.2755347,35.5475869,14.0172107,1.3315678,1.4065643,24.0589063,19.6920784,60.1187182,15.6477596,37.9807876,66.9126862,35.8363983,45.439168,21.6707507,3.2588983,14.6651656,11.6611279,34.5734171,14.0520798,1.2829573,1.3582497,23.4419955,19.3030362,60.1152154,15.7319131,37.9142592,66.9909392,35.8938906,45.7371028,21.8408361,3.3493507,15.3751436,12.2946139,33.9714723 +373,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.4506045,1.4787144,24.3049454,20.0645426,68.6178605,14.8010505,35.2310436,64.4962228,30.3351097,41.6137897,18.4027064,3.5835677,13.4651915,10.0670495,33.2686772,17.8920907,1.3634217,1.4039719,24.6277731,20.503349,68.3921312,14.4539613,35.6189013,64.394001,30.5334527,41.7001904,18.3338503,3.4854077,13.5869516,10.274134,33.880427,18.293254,1.4615822,1.5057405,24.0796508,20.1973073,68.1286685,14.860221,36.0858158,65.158173,31.1386816,41.3861928,18.6589606,3.6377005,13.5060418,9.9470284,33.3406725,18.9341667,1.4779247,1.5055594,24.377871,20.3436846,68.5724299,14.9783142,36.1556775,65.461987,31.0029794,41.3817024,18.79238,3.7586144,13.6743263,10.327653,33.5342554,19.0641982,1.3567006,1.3947994,24.0963492,20.4244443,68.9643295,15.0425689,35.803107,65.233833,31.0352159,41.3927468,18.7020081,4.0465341,13.8232066,10.0262228,33.5022457 +374,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3860575,1.4548361,20.7140738,16.3410651,51.9629319,12.2781437,37.0198568,66.6850754,36.0130043,45.6130181,21.881059,6.0591129,11.9368758,10.5209847,33.8398789,12.7642966,1.560872,1.592693,20.6032179,16.4656059,51.7818955,11.9329681,38.2174481,66.9476501,36.4969407,45.714238,22.0057358,6.5820113,12.1655735,10.6065409,33.912792,13.4282742,1.364588,1.4601558,20.9017933,16.7868988,51.2295072,12.2489811,37.2624641,67.8664407,37.3690689,44.571241,21.9084103,6.9748583,12.3173627,11.316655,33.7898518,14.7355238,1.4445028,1.5032881,21.0323082,16.9498524,51.0821895,12.2061872,36.8312783,67.3583227,37.5189361,44.4904949,21.9116157,6.8101314,12.2090197,11.4634113,33.4674225,15.5696281,1.5627577,1.6309727,20.6227491,16.9416356,51.1775138,12.1870469,36.5047772,67.4325575,37.7222407,45.4164322,22.2577504,6.8669595,12.6407006,11.1325671,32.8420771 +375,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.9217028,1.933589,29.3434029,24.3350057,65.5974805,14.2805143,34.312778,67.4575802,33.3784091,40.0418116,19.1664656,2.5940461,13.4654309,10.080051,34.7201121,19.5558802,1.9346634,1.9430309,29.7598631,24.589556,65.6771955,14.4073992,34.2237502,67.3062367,33.1703069,40.2433142,19.0494215,2.6711779,13.9755114,10.5303503,34.8328962,18.9249142,1.9801968,1.9949908,28.7383811,23.6365915,65.3004794,14.5332502,33.7831112,66.8594096,33.2690791,40.6450837,18.9283059,2.7884821,13.8757611,10.1628219,34.4909911,18.0513899,1.7554193,1.7939049,27.7339738,22.7492341,65.3345865,14.4152046,34.3580002,66.3683392,33.4500656,40.8171164,19.3644642,2.9182834,14.0683618,10.7884848,34.8655904,16.8721414,1.7556337,1.7707888,26.8566113,21.9571803,65.1560188,14.0872373,34.5586453,66.4690349,34.0843243,41.8577032,19.8550779,2.9907746,13.6437142,10.725793,34.623706 +376,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0324113,1.0208386,21.3902221,17.974394,87.0158526,11.6852791,31.8111907,64.9744384,27.6139579,43.0042727,15.2674306,5.4169179,16.6092956,12.5095412,32.6487813,12.5718934,1.0887845,1.0805439,21.0141669,17.5964479,86.9328422,11.597316,32.0698711,64.7353338,27.6843557,42.9772346,15.3213082,5.1512385,16.6538724,12.4281584,32.7884308,11.6783509,1.1579912,1.1481867,21.1779129,17.6118838,86.8887006,11.7224444,32.0190059,64.4545169,27.640026,42.5207874,15.4524351,4.9506187,17.2788439,12.9739375,33.3926579,11.6836297,1.0641331,1.0650287,20.9501788,17.4815246,87.1328655,11.5891577,32.0199395,64.5194756,27.4308976,42.5145217,15.0366801,4.8993861,16.7114948,12.370584,33.1858325,11.3324723,0.9823095,1.038813,21.2039689,17.5975096,87.5215992,11.5198052,31.6072438,64.5066863,28.1362399,42.3410368,15.4216565,5.0839367,15.6404868,12.4191979,34.1783211 +377,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9267868,0.9459983,22.2071435,18.8798651,50.5178857,15.8463127,38.2154439,66.8437647,36.1212556,48.4809486,24.47769,5.1721954,12.4769758,10.4239401,28.5037108,12.4246965,1.068921,1.0992969,22.5176126,18.6077906,49.8063401,15.6544231,38.8013898,67.5617988,36.2544274,49.0738602,25.3836091,5.3645781,12.4314187,10.4121333,29.1800359,13.7720867,1.0637202,1.0726115,22.4669573,18.6008481,49.5333471,15.3357573,38.3594766,67.2681576,36.0306117,48.62021,24.4402409,5.3171192,13.0011221,10.2043251,30.325041,15.1136324,1.1937908,1.2027661,22.1885079,18.3753217,48.0310488,15.7196228,37.9520537,67.7216086,36.5176128,48.1524726,24.1112726,5.3125256,13.7267056,10.5083403,30.2253064,16.3833016,1.3965274,1.4055236,23.4866601,19.5284982,48.5478608,15.2946421,38.414999,68.307799,36.5853456,48.7696996,24.6870059,5.4401919,13.3182021,10.0848939,30.6636201 +378,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0645012,2.1011282,30.357968,25.864098,63.2090667,15.5324302,36.2478585,65.2666025,30.7733349,42.3181498,19.0419657,2.8008517,16.7679856,14.0964841,40.2722556,15.8914323,1.8933913,1.9307063,29.0773334,24.7185553,62.9852205,16.3513956,36.5364208,64.3622124,30.9836713,42.4456196,19.4032015,3.0391064,16.5214856,13.7207225,40.098353,15.7944346,1.707824,1.723144,28.1083354,23.8389025,62.5362029,16.7107865,36.4100436,64.4979455,30.7484354,42.2727742,18.6143139,3.06956,17.0166589,14.0935612,40.0979964,15.77168,1.569801,1.5774643,27.852337,23.5075333,61.9622569,17.2151184,36.7757204,64.5502227,30.4465746,41.2723625,18.3452724,3.0350794,17.6303452,14.1582491,39.8477579,15.3870079,1.5038508,1.5117825,27.7393112,23.2385563,61.2956959,17.1764505,36.2202996,64.4072392,30.6574256,40.6033699,18.5784744,3.2402708,17.3732007,13.5243853,40.1856821 +379,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.7932991,0.8451372,12.6086901,9.2706858,65.6643352,19.1972796,34.2134277,64.2936216,30.2322398,40.2681804,19.2562933,8.9162303,11.3404985,8.6255592,35.4939951,4.3133818,0.7688578,0.8203588,12.8587286,9.5430454,65.5858645,18.9991841,34.9601256,64.4899675,30.7533648,40.3216933,19.9752582,9.1421529,11.5149855,8.125341,35.7621345,4.411767,0.7646283,0.8163102,13.31559,9.7031597,65.0557186,19.2789084,34.7245088,64.5867745,31.0330462,40.3443473,20.0413196,9.1873286,11.2742365,7.8859888,35.5549266,4.2832198,0.7520199,0.7972707,13.9603857,10.3394554,65.3943682,18.6177489,35.0473721,64.7853898,31.7028825,40.2591958,20.1365614,8.7932004,11.2387862,8.1421268,36.1408321,4.5863342,0.7946378,0.8402941,14.406046,10.7509922,65.7041293,18.7829235,35.2751164,64.6967898,31.7939181,40.8337923,20.2835398,8.6047166,11.2204738,8.4503028,35.5850645 +380,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.083087,2.1065908,28.4836707,23.6997277,46.4352998,18.6804185,38.1241034,68.1900798,36.4973188,49.8021086,26.5012769,3.1467906,12.9409622,11.8560782,31.6222098,20.999902,2.0773361,2.1754586,29.4340091,23.9023721,45.6487283,19.3549099,37.4579801,67.6456227,36.3673918,49.5261139,26.7172149,3.613212,12.7153426,11.5957395,32.6407187,21.6310983,2.1779918,2.3527936,29.0421274,23.3249603,45.4631,18.6484299,37.3959636,67.343431,36.6854192,49.0258084,26.5557835,3.5387085,11.2623664,11.2623499,33.890552,23.2126774,2.2047896,2.3585664,29.6447749,23.9355662,46.6965938,18.0275165,36.4682301,68.3355116,36.5513251,49.7197651,26.5472806,3.6493946,10.6360835,11.3474676,32.5871154,24.4167497,2.1636715,2.3359719,30.0590867,24.5789063,47.5227287,17.7653053,36.7015388,67.3136924,35.317437,49.3212649,26.4207111,3.0539538,10.9848922,11.4687654,32.8328535 +381,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9810376,0.9979742,14.4155008,11.0558862,74.6943877,19.9351944,32.2218308,62.4568085,27.3496859,38.1997157,16.672424,5.4422938,12.9667992,10.2076119,31.8371598,8.6787565,0.9995886,0.9846409,14.4020793,10.9705422,74.6645523,19.7905911,32.3621722,61.6364263,27.1981821,38.189111,16.2072533,5.181436,12.6472567,10.0277509,30.9756083,8.7131367,0.9550267,0.9724559,14.7514992,11.6848821,74.4408395,20.0175432,32.8637623,61.822395,27.6569204,38.9621987,16.2446486,5.1176907,11.6090327,9.7173058,29.8226978,8.3333333,0.9357402,0.9536613,14.9581983,11.7593641,74.3518544,19.960331,32.3367532,62.6742467,28.1181237,38.829789,15.9757866,4.8606032,11.7147076,9.3634252,30.5659006,6.7919075,0.9270712,0.894034,15.6087574,12.1566443,74.1346875,19.9085908,32.5074464,62.1274216,27.4031304,38.4314459,15.9277171,4.8248859,11.8450098,10.0147724,30.5431558 +382,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2774997,1.3106073,28.3257197,23.3112502,61.1360935,17.8664217,35.8789054,65.1034907,30.4468312,40.5661521,19.0221761,3.2615445,17.7133292,13.9491005,40.1336171,17.2374547,1.2943387,1.3149108,28.4783436,23.6503775,60.8602673,18.0088614,34.5567046,65.1160253,30.1845507,40.4688521,18.2091039,3.0507004,17.8822681,14.0481235,39.8342663,17.4575346,1.250094,1.2621571,28.1639321,23.3048016,60.3062723,18.4091036,33.314785,64.5921846,30.0440501,40.2997479,18.1407497,3.1607745,17.9128706,14.4197233,39.782665,17.4495551,1.2334115,1.2456293,27.8399384,22.9941869,59.4654258,19.0020074,32.5764235,65.3013094,30.8915719,41.0575863,18.472166,3.4380683,17.2997141,14.2425818,40.3826678,16.8319718,1.2440707,1.2567213,28.211903,23.1106961,59.4917031,19.6934083,32.1975466,64.8973214,30.4585189,41.3499561,19.1630309,3.6145187,17.2223071,14.674105,41.29 +383,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3453674,1.3217918,27.5016958,22.1554955,59.6755099,19.9979546,31.9008199,64.7892781,30.8379144,41.8266912,19.4289534,3.7914764,16.2446319,14.3831827,41.7341599,16.6228942,1.4699167,1.4540694,27.0866551,21.9683489,59.3676264,20.4722032,32.4124997,65.0672733,31.8852015,42.5422158,19.9367551,3.804387,16.4850137,14.29409,41.5305181,15.5993058,1.5172135,1.4864882,26.0416102,21.0809238,58.5518124,20.9140594,32.8699691,65.2979872,32.8840078,43.19434,20.1535547,3.6793527,15.5172215,13.4524252,41.2166905,14.7501661,1.4238842,1.3916543,25.6658124,20.6538947,58.0096674,21.4313035,32.3301302,65.7470903,33.9889283,43.5394718,20.8654739,4.0017392,15.3957165,13.5017079,40.6257281,14.1325737,1.5125499,1.4354784,25.6611146,20.5399731,58.5205066,20.5404966,32.8875515,66.6820144,34.0590237,43.5993925,21.1612652,3.8637596,16.3789693,13.6413139,40.6950737 +384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2931971,1.36016,23.6637023,19.3612536,59.4613053,15.4298754,38.1419445,66.9046496,36.2894915,45.7964419,21.7705653,3.2487399,15.8195966,12.2566253,33.2666058,14.8195619,1.3634168,1.420496,24.0733578,19.4853402,59.7749456,15.3635856,37.3037008,66.5931738,35.976762,45.2380115,21.4223628,3.2250044,15.9252414,12.6544459,34.0893801,15.2605249,1.4057965,1.4581824,23.5899693,19.2146431,60.4973516,14.8376722,37.0580378,66.127606,36.1118964,45.1968567,21.2824802,3.2893863,15.1206081,12.7369175,35.3765797,15.4519877,1.3374727,1.3911836,23.1094892,18.5928417,60.382673,15.4576023,35.9801077,65.3589417,36.1743691,44.361373,21.5071622,3.2902849,15.112529,12.6276763,34.9368893,15.31619,1.3416722,1.392012,23.0382011,18.4826979,60.7361079,15.6152995,36.2090772,65.1914966,35.5958911,44.5511936,21.4565438,3.5169335,14.2931653,12.855202,34.1443133 +385,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2682849,2.4425415,29.5682282,24.1701218,46.4568793,17.4868242,38.0475904,68.1769007,36.6458143,49.5557819,25.7763782,2.9388246,10.9279665,11.7425533,33.2363772,20.7732142,2.2829106,2.4534373,30.2606891,24.8229873,47.8842768,17.8121275,38.987529,67.5395491,36.8152018,49.7980693,25.762006,3.4281359,11.1744554,11.4912198,32.3056216,21.2823745,2.2773825,2.4488033,30.0324245,24.6075235,47.7968725,17.2487076,38.3096289,68.2812421,36.8497229,50.1214132,25.0371487,3.4616111,11.2500878,11.3999762,32.639227,20.5022401,2.2121795,2.3102932,29.9464866,24.4804437,48.744378,16.7136032,38.6371976,68.9040998,36.8955186,50.3964297,25.0560904,3.1373715,11.1370399,11.3045141,31.3041828,19.0959889,1.9925036,2.0169122,28.8008345,23.7853425,48.6099623,16.6743531,38.375773,68.8976565,36.9729823,51.1338746,25.2313135,2.7777497,11.5931829,11.9220675,32.5483763 +386,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6380888,1.5669755,25.3707086,19.984968,59.0367031,19.8215363,33.1201339,66.2313781,32.93528,43.4146508,21.5193001,3.5694241,17.7176679,14.4724484,41.5902259,15.180629,1.7200124,1.6306665,25.062947,19.7991112,58.8920549,20.1398899,34.3873808,66.8271205,33.9718877,44.8826465,22.5582216,3.231071,17.9427081,13.9166387,40.5733063,15.1181839,1.5766803,1.5340636,24.8215433,19.7567556,59.0689495,19.5363748,34.8162093,66.8444921,34.4490086,45.8767837,22.8120994,2.8927924,18.7046301,14.0560177,41.4319728,14.5317039,1.3558893,1.3006785,24.8588295,19.7548724,59.3207204,20.1388433,34.7794753,67.1112212,34.1434092,45.5393777,22.2179431,2.7129737,18.5669348,14.2782457,41.0193503,13.6031175,1.3653413,1.3109335,25.2031818,20.2692603,59.5637766,19.7871944,34.5321135,66.9375458,33.639218,44.8265255,21.9797169,2.5470363,18.8980538,14.2489741,42.1572892 +387,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4103955,1.4929227,20.1956571,15.2607078,60.1772729,11.347796,32.3250932,66.904809,37.2497794,42.8858092,20.3690494,4.9110065,14.2369284,10.5250078,34.5871347,12.8336756,1.4934278,1.5943682,19.4058849,14.4614362,60.1911615,11.0769369,32.124871,66.4904838,36.6523414,42.6477263,19.831956,4.7324682,14.1188505,10.9629602,34.3012826,12.2129436,1.5636623,1.6778154,19.3822499,14.7516775,60.2772983,11.5703893,31.6734813,66.491721,36.1401404,42.6400653,19.8731884,5.0074529,13.3405128,10.6390512,34.6177016,12.3417722,1.4703802,1.5242463,19.9238485,15.1813007,59.5266656,11.2282929,31.4562111,66.3202826,36.3992357,42.9197658,20.6451158,5.0950462,13.1741621,10.5729296,34.9032064,12.6059322,1.5453219,1.5937354,19.3593147,14.7920389,59.2843745,11.3042635,31.3880023,65.9593163,35.9816258,42.3914214,20.583718,5.3601566,12.4261344,10.072615,33.9670158 +388,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3237616,1.3596489,23.9984486,20.258046,68.6212652,15.108742,35.7520237,65.0435053,30.8016564,41.0650208,18.4399478,4.2085775,13.8390869,10.0141364,33.7202194,17.8749505,1.2379355,1.2515083,23.5997869,20.003166,68.3432593,14.8516498,35.6701721,65.0873317,31.1597249,41.0375308,18.4945493,4.4275819,13.7588111,10.2768268,33.229236,17.4160684,1.2000904,1.2137844,22.5894856,19.0328018,67.9268227,14.8464245,35.5001001,65.1628762,31.2834622,41.248007,18.6095621,4.3766035,14.0209398,10.273576,33.2130037,16.330103,1.247353,1.2749368,22.1825979,18.5311325,68.4254653,14.9913875,35.2276413,65.053397,31.5812531,41.3594463,18.3586195,4.422992,14.1032208,10.5926865,32.6807043,16.1332777,1.1651401,1.1811691,22.1731195,18.217241,69.2108248,14.6894274,35.032195,64.2532527,30.5940762,41.5110221,17.6220158,4.2372864,14.0788593,10.5643151,32.9231803 +389,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.739175,1.7636192,28.6597412,23.8827328,48.0984107,17.1340745,37.6613545,68.0337533,36.4180269,50.6238183,24.859932,2.8492517,12.1751454,12.3364056,31.9691391,18.6274266,1.5983844,1.6396526,27.5612269,23.0194013,48.3397673,17.493319,37.053962,69.1212567,37.3809746,50.0665428,25.4114296,3.1717614,12.6156559,12.6156559,32.463149,20.3065672,1.4869913,1.6048714,27.0118935,22.5729678,49.1104656,17.1715096,35.8080766,68.7727418,37.50438,49.3721255,26.1201819,3.1084094,12.704366,12.3470497,34.0095647,22.0577813,1.3859958,1.5057891,25.352903,21.3257319,48.3701378,17.2905293,35.0089817,69.5051376,37.6488011,48.6989263,26.1029788,2.8451839,13.7140026,13.0409228,36.4307373,18.3832909,1.246785,1.3419893,25.2567916,20.9895143,47.7804897,16.8873152,35.4236383,69.2375204,37.8485188,48.4709532,26.2222325,3.2209512,13.2314551,12.7257944,36.1541136 +390,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.4885659,1.5217351,28.2121845,23.2258483,69.1565218,8.3855792,36.3338491,63.1826545,34.6480165,38.9561767,19.5216398,3.706081,15.3010718,11.0574696,40.0935419,15.5795359,1.4785392,1.5122423,27.843762,22.8313704,68.8480357,8.3229184,36.5840414,62.8554776,34.7247315,39.267358,19.6438841,3.8149045,14.8318874,11.0869676,40.1308529,15.8043752,1.4773405,1.5176783,27.2683805,22.5036927,68.4663459,8.5215302,36.9385371,63.1824163,35.0735504,39.7335033,20.1612801,3.8061664,14.8544981,11.2733625,40.0791665,15.9745307,1.4642402,1.5023494,26.6133969,21.830855,67.9425616,8.600765,36.9810051,63.3948106,35.3753616,40.1044941,20.3506618,3.9254769,14.7302276,11.5700636,39.8109005,15.7388218,1.4205159,1.4482888,26.0086862,21.279835,68.1387971,8.6758961,36.9690479,63.2465636,35.1480937,40.0448355,20.4570722,3.958445,14.8588218,11.8450202,39.7591378 +391,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8102337,1.826775,22.9052536,18.1049757,75.3954571,18.668176,32.9678761,66.596512,28.8889732,42.202261,17.0878644,3.6630995,16.7331169,12.3663471,42.5210001,18.0052073,1.7926709,1.8121246,23.3928884,18.0630275,75.141612,17.5151547,34.1987748,66.8191707,29.3048476,42.349527,17.5202733,3.6998119,16.2976904,11.8860947,42.8371219,19.6103947,1.7130351,1.6971353,23.148988,18.1858988,75.0518699,17.3338864,34.3541752,66.5061424,29.8179345,42.3389522,17.8516638,3.617257,15.7995074,12.4400735,42.4907253,20.3846258,1.8548807,1.8566804,23.0359729,17.8881421,75.0324233,16.6260911,35.668818,67.2086574,30.4733547,43.269597,17.4847243,3.2571519,15.502453,12.0969179,42.9727692,17.454082,1.7701136,1.7973247,22.0598668,17.0720165,74.4258324,16.3598875,36.8148738,67.6328278,30.8306826,43.8578221,18.7005854,3.2549108,15.466902,11.8860984,43.5888684 +392,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0352787,1.0858545,19.5792056,15.3850014,48.9950931,9.6549303,34.4951555,66.1211697,33.2883858,45.3709889,20.6151213,3.5503108,13.2728603,10.7124653,30.7207213,12.1997499,0.9960145,1.0530996,19.4108543,15.291265,49.2232146,9.6115589,34.6806767,65.4644124,33.0715961,44.7439147,20.5287878,3.6995374,12.7332385,10.0210197,29.7007457,11.7992201,1.0539849,1.098009,19.9248733,15.6698467,49.6559403,9.705378,35.5294592,65.4320976,33.6063632,44.7114246,20.781373,3.6497786,12.8940912,9.9299439,30.1546327,11.8300531,1.0656047,1.1005721,20.2282223,15.9331936,50.1457343,9.643516,35.4870319,65.9049161,33.1944411,44.780084,20.4761695,3.4866152,13.0893538,10.5183796,30.9530321,12.9908233,1.1273118,1.1534087,20.8095495,16.4756642,50.4836821,9.8994906,35.7258828,66.2473162,33.2901622,45.2235699,20.8395768,3.6399322,12.8594783,10.4606537,31.8910707 +393,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5624522,1.5884067,19.285011,14.6258955,59.1056235,11.3930953,31.1314283,65.8502738,35.8468693,42.3214229,20.6737671,5.1988898,12.0818736,10.0012608,33.9868899,13.0387931,1.4976634,1.528001,18.9144476,14.3444904,58.7376923,11.5947656,31.0913403,66.3463888,35.9784951,42.2934152,20.8823702,5.2230174,12.6187864,10.464475,34.5996911,12.1923937,1.4954759,1.5258162,19.2256345,14.6592966,58.9621219,12.0067783,30.835306,66.9076955,36.5766017,42.4516226,21.2291676,5.3863375,12.156664,10.6385687,34.1462316,11.9985934,1.4096553,1.4217087,19.3409872,14.9926622,59.4298982,12.6395711,31.726538,67.7160349,37.3335119,42.8967475,22.2321812,5.217865,11.833256,9.9398611,33.2723935,10.9982829,1.5092232,1.501672,19.8539186,14.9486502,58.7967111,12.8080196,31.7643407,67.9741544,37.8823649,43.1817053,22.2157517,4.9764106,12.0502078,10.1847495,34.252695 +394,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4936005,1.4858844,19.8148748,15.0872265,58.8718051,13.0373803,31.3788604,68.4386838,37.8069709,42.9370572,21.4333146,4.8640745,11.927191,10.5901629,34.1008232,10.484818,1.2611885,1.2531987,19.6777328,15.024547,60.0714646,13.5407519,30.0382244,68.9392415,38.443493,43.0686359,21.2811481,4.9822162,12.4925045,11.025279,34.6155297,10.2044519,1.1716595,1.1845752,18.6806283,14.3866196,60.0187644,13.6167351,30.4928593,69.0140975,37.8603418,43.0456917,20.8515302,4.8949224,12.7706757,11.2474141,35.0474171,8.8651169,1.1413927,1.1910527,19.0742972,14.6713002,59.4374493,13.6078758,30.7513091,69.4261871,38.0117441,43.5125827,21.0669428,4.8982642,12.2297481,11.1236299,34.3535398,10.002897,1.0802857,1.14661,19.1017186,14.5780619,58.8044814,13.9691185,30.7751819,68.9760181,37.7615855,43.3749715,20.9666652,4.9618323,12.0838089,10.7976816,33.7286871 +395,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5070385,1.5694335,21.277006,17.6477566,50.8394461,11.9677037,36.2992069,67.4830447,37.313703,46.0086352,22.3588789,6.2410039,12.9078016,10.7042347,32.4002158,17.1863047,1.5124808,1.576314,21.9229023,18.2965143,50.4495464,11.6630475,36.4788944,68.6116361,36.9793123,46.0172728,22.3491317,6.109146,13.3161903,10.9783034,34.3900126,15.1095375,1.4490258,1.4535954,21.9759609,18.3096835,51.3192939,11.7461177,36.6930205,68.2261112,37.3986628,46.0604956,22.52194,6.1255239,13.105161,10.8309579,34.0558617,16.0601249,1.335308,1.3636281,21.3762378,17.8475403,51.6559296,11.7764962,35.5648692,67.7727335,37.3319971,45.4717323,22.4005695,5.7009162,13.3941872,10.7147945,33.4492331,15.5432375,1.3860764,1.4158954,21.362172,17.6070426,52.5172203,11.1618237,35.5997043,67.07874,36.7789427,45.9601611,22.4018979,5.504002,14.2922643,11.1799151,33.3438242 +396,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3763026,1.4075056,21.3089172,17.4228118,52.2606057,11.3963957,36.167384,67.3092561,37.6113061,46.6500145,22.721045,5.5794899,14.3767765,11.2474121,34.7885367,15.194609,1.2930588,1.3051611,21.1904397,17.092915,52.3575205,11.4718232,36.2726021,67.1400757,37.9802349,46.0819115,22.3513339,5.3637553,13.999003,10.8217739,33.6629424,13.7488861,1.5443395,1.5754868,21.2466948,16.7111307,53.0359862,10.9795935,35.1697493,66.4491241,37.5550714,45.2074938,22.1642691,5.6932967,13.3666039,10.2489956,34.2402185,14.4001058,1.7568357,1.746124,21.7861276,16.6519646,53.2966714,11.1534674,35.411505,65.9322434,38.0090027,45.756545,22.0078811,5.5892838,12.5351213,10.1381765,32.5775857,15.148065,1.9313602,1.9276939,21.7666302,16.5278059,52.6969685,11.2739613,35.4345923,66.2774796,38.4807915,46.6199025,22.6785831,6.0210265,12.7010186,9.7552295,32.6219926 +397,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6624412,0.6840091,14.0135819,11.0633546,64.1812815,13.6057636,30.4410534,66.3231572,30.7507543,41.5260643,17.6153392,13.3650125,12.9470161,9.7773345,37.1387243,5.8035638,0.6687635,0.6916236,14.0538535,11.0525771,64.0754012,13.2626136,30.8686354,65.7426286,30.4933047,41.6568432,17.7640775,13.5495959,13.2646255,10.1261609,37.0622339,6.2983726,0.7284442,0.7676637,14.4766291,11.3779171,63.8590209,12.8008865,31.1588751,65.3033897,30.5799816,41.5791219,17.7369243,13.5237968,13.181115,9.9074274,36.7222213,6.2455866,0.7301555,0.7539721,14.4349255,11.4568853,64.4089087,12.5531231,32.3815151,65.5996996,30.3735352,41.3634961,17.7318386,13.9209743,13.1350272,9.608106,37.1521539,6.5497467,0.82794,0.8563069,14.6166143,11.7092663,64.7087627,12.0636748,33.4318223,65.2465887,29.6067521,41.0604991,17.884388,14.0593082,13.3869565,9.8149392,37.6416929 +398,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3081007,1.3339827,20.890107,16.5545991,50.5982393,9.8757907,35.2365304,65.8577087,32.9389268,44.6044934,20.5620935,3.5489426,13.0860388,10.3091375,31.5577095,12.4532491,1.3389134,1.3436684,20.7684441,16.4134891,50.5732177,9.8539722,35.3560076,65.8284807,33.1823905,44.5936762,20.8513809,3.5460413,13.0939038,10.3945177,31.9565828,11.7165203,1.4068976,1.4051593,21.0698199,16.8572794,50.7840879,9.8309105,35.194794,65.8843813,33.0507245,44.5696261,20.9291441,3.5103613,12.4894399,10.3579513,31.8233551,12.5787215,1.4368336,1.4340519,21.2428736,16.9198091,51.2080885,9.6282234,35.5197788,66.3465534,33.3079943,45.1823168,21.1847369,3.4075107,12.8395478,10.8354456,32.4717692,12.6240847,1.4350095,1.4373533,21.2165717,16.9503515,51.3110396,9.5279907,34.9041121,66.3793252,32.8894807,45.1012617,20.9397508,3.4427957,12.4438829,10.7755065,32.0447727 +399,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.7407068,0.7959434,14.3168551,10.4796462,65.0346706,18.0985925,34.6208646,65.4076331,31.7987304,41.205815,20.4247375,8.708669,11.5318928,8.0443375,36.6265658,5.5555587,0.805331,0.8409491,14.1096254,10.5133356,65.1159517,18.8064338,34.8999962,65.4142811,33.1285551,40.9,20.4999929,8.8428598,10.8919381,7.7340165,37.872703,6.4606778,0.7831867,0.8467934,13.718458,10.3354283,64.7889395,18.4973533,34.1845303,65.3922075,33.1969422,40.0818285,20.3865663,8.7330733,10.8361729,7.4673414,37.6285665,6.052146,0.7749491,0.8566102,13.5271945,9.9392297,64.5054655,18.6638586,33.5092659,64.522111,33.1669005,40.5278206,20.0427932,8.2025696,10.3137654,7.8016171,37.6680232,5.9885954,0.852426,0.9241008,13.549843,9.9546752,64.6290147,18.4690042,33.8454587,64.3347313,32.8609803,40.4982186,20.301314,8.189145,10.3860277,7.5442854,38.5018415 +400,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4378375,1.4692914,21.0449898,16.796374,50.5373084,9.5946022,35.0686775,66.1474575,33.6013683,45.1299709,21.3599544,3.6544978,12.2804265,10.5643587,31.6894786,12.4843776,1.4958262,1.5346828,20.9599859,16.797421,49.9925378,9.383593,34.7873994,66.0150233,33.5554852,45.7599852,21.2936725,3.5455713,12.3757816,10.6902421,31.7097575,13.0073512,1.3608688,1.3871713,20.8391578,16.6642504,49.7579413,9.3381903,34.8271091,66.2010777,33.5675172,46.1633753,21.5073328,3.6993811,12.470595,10.8119798,31.9661686,12.5161235,1.3609851,1.3982629,21.2374004,16.844911,49.5251548,9.483795,34.6315159,66.5779157,33.7677133,46.1633942,21.4153434,3.8081731,11.9151765,10.348339,31.7363599,13.4143705,1.3490703,1.3918678,21.469259,17.056886,49.3329821,9.5421685,34.2032922,66.6447667,34.0570941,46.1624178,21.3378537,3.8525639,12.1860827,10.1035287,31.6596217 +401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3731386,1.3709157,23.4341009,18.5567859,60.5126842,15.206199,36.7304036,64.8424162,35.0077701,45.4761884,21.5392387,3.6603307,15.140835,13.5060229,34.7132434,14.9995231,1.3747363,1.3792423,22.8490707,18.0291447,60.0941054,15.6690788,36.8502394,65.3615219,35.3724218,45.3476421,21.5342401,3.6160739,14.5526368,13.1140536,34.6605243,14.2302948,1.3289787,1.3153725,22.3871337,17.5434665,60.0111003,15.8877044,37.1923887,65.5334599,35.5913706,46.140568,22.0133928,3.6618213,14.8079169,13.3139959,35.4439116,12.1979656,1.2170535,1.231044,21.9730919,17.616896,59.8197104,15.7349585,37.7243722,65.6914764,35.7701135,46.1156617,21.96933,3.8018609,14.8604204,13.0606901,34.5301493,11.1589999,1.1369728,1.1035961,21.5910761,17.2754943,58.6911235,16.2130782,38.3802144,65.7732,35.6888543,46.4031561,22.6335211,3.9210096,15.7811847,13.4396618,34.7951482 +402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7430088,0.7163071,15.5489665,11.7268611,66.8127918,20.0102978,35.5952326,65.2030817,30.87468,42.2943116,18.4137288,8.6601634,14.7977421,10.0141507,32.6772872,4.9132806,0.7949364,0.7674414,15.9293188,11.8265827,67.3576284,20.0176373,36.0664093,65.6842113,30.9217464,42.8902924,18.3100974,8.3065158,14.6671685,10.0218622,33.0023315,4.2938808,0.8535543,0.859066,15.8806648,11.6648669,66.7931199,20.7584107,36.6058633,66.3984747,31.849044,43.4370336,18.4370425,8.4227257,14.4068056,10.3967694,32.3094779,4.5539794,0.856955,0.8629768,16.0443359,11.7658373,65.5138899,20.9808089,37.2606517,66.4127074,32.6103705,43.3567676,18.933168,8.2649263,14.928376,10.19842,33.0800541,3.5497828,0.9792048,0.9731827,15.4905029,11.3028236,64.9881882,20.9888744,36.8820736,67.2441145,32.6002221,43.343718,19.0541048,7.6488742,14.7247054,10.5577835,34.4952696 +403,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9559495,0.9457349,15.67946,11.9771101,74.2521918,20.5485351,33.1420762,61.7821962,26.4358576,38.7362358,16.2097893,4.1311797,10.9999909,9.6810065,30.7606275,8.2132589,0.9520873,0.9418588,16.1656381,12.4907878,74.0942691,20.9541237,33.1670233,62.5416757,26.3227407,39.603812,16.7777396,4.2360546,10.3900888,9.579262,31.1035638,6.9209059,0.882519,0.8836668,15.5735451,11.5630311,74.4903161,20.6723845,32.8919614,62.6306547,26.5859625,38.6004084,16.9963589,4.4589771,11.1153752,10.1309685,31.0706065,5.694446,0.7929757,0.7941428,15.9855747,12.1276454,74.5514922,20.8828471,32.4841262,63.2880991,26.7083357,38.7878812,17.1575101,4.6999103,11.5564032,9.6258743,31.4364301,5.6728247,0.7481962,0.714526,15.5882103,11.5531659,74.0805312,20.9193324,31.9560367,63.5565366,26.9073951,38.9861969,18.1938108,4.8055587,11.9374358,9.1291034,32.2964767 +404,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0206765,1.0825321,19.9007746,16.2079351,68.0124206,9.1454556,31.6773193,68.1155044,36.8223339,39.7315259,19.936981,4.5968568,13.391774,9.164352,37.1365989,11.3190778,0.9485311,1.0130418,19.4575017,16.0005171,68.1331783,9.4080688,31.6315003,68.1505079,36.9331992,40.0985342,20.0688847,4.5648772,13.8967724,9.5208522,37.3927765,11.5222672,0.9746898,1.0305421,18.7433432,15.4265632,67.8956329,9.5892194,31.568476,68.3696078,36.85863,40.0698862,20.0150356,4.4453309,13.8462906,9.4623848,37.4273704,11.5857395,0.964046,1.028601,18.4943762,15.2404427,67.7426671,9.5745621,30.9987479,68.5525891,36.8494218,40.4029052,19.8896238,4.329685,13.7070219,9.5555957,37.6380668,11.2284063,0.864389,0.8965737,18.2053791,14.921769,67.3274155,9.5779071,30.9630124,68.6087879,36.2290435,40.1466818,19.765851,4.3139584,13.9753856,9.7763271,37.8355493 +405,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.3922348,1.4377412,25.5658805,20.7124324,68.0386326,8.6681976,36.9828369,63.4219875,35.4715611,40.1689066,20.6161078,4.0079323,14.475038,11.721732,39.5117468,14.9154179,1.4260154,1.4505473,25.1466899,20.4358423,67.879496,8.7694409,37.1085602,62.9465035,35.2674724,40.4444939,20.9323045,4.1109326,14.3677939,11.7919877,39.8398007,14.6465277,1.4155433,1.4349249,24.6003273,19.8900757,67.8742099,8.7756683,36.6527328,63.0039389,35.4141383,40.7971322,20.9165959,4.1007545,14.1090889,11.7651598,40.529049,14.9074386,1.3709508,1.40521,24.1193533,19.3913714,67.4597915,9.0904031,36.5370006,63.0091484,35.6807097,40.992611,21.0928975,4.0394039,14.2136191,11.9043941,39.917675,14.8041359,1.3348789,1.3641862,23.8458218,19.0730814,67.4664718,8.9217285,36.8776907,63.0566237,35.8097707,40.7188435,21.0507406,4.0922027,14.1180946,11.8801611,40.4153309 +406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.9927773,1.0755854,21.0668707,17.5354533,87.3042662,11.6578715,31.091414,64.3484286,27.6569917,41.5664776,15.0448968,4.7605369,15.9746865,12.6346543,34.379704,10.2334582,1.0834005,1.1674461,20.8942463,17.3438101,86.903147,11.8619665,31.3009571,64.6278092,27.8499998,41.4598702,15.1319167,4.7983685,15.8437625,12.8599631,33.8336943,10.5446687,1.0680227,1.1635594,21.0117109,17.3449551,87.4136206,12.0364833,31.6625485,65.2229401,28.0222439,41.9019351,15.466294,4.7011785,16.2115235,12.9832433,33.8095225,10.8321167,1.0426666,1.1383007,21.4256972,17.6685222,87.6977624,11.8384074,31.7408148,65.9956297,28.1951759,41.9972357,15.5348659,4.8377344,15.8619843,12.9992368,33.8469327,10.953798,1.0058801,1.1226419,21.4484572,17.7226043,88.2262381,11.5483899,31.8540467,65.9421741,28.4574411,41.8419734,15.4569517,5.0242598,15.6629611,12.6011779,33.7864102 +407,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.8126638,0.8487544,14.5897782,11.677157,64.5604764,11.4928518,33.9368196,65.2250951,28.8009059,40.8348606,17.787685,14.1882449,13.5215296,9.5410654,37.2533801,6.6831721,0.834972,0.8804912,14.7762176,11.8770537,64.8136284,11.0137441,34.7712762,64.9521259,28.5265976,40.7287262,17.579786,14.4095743,13.7329305,9.65331,38.1748706,6.9378026,0.8885283,0.9356515,15.0576949,12.1890595,64.915023,10.6497974,35.4128933,65.3862522,28.5402262,40.708578,17.2775686,14.6244008,13.7822619,10.0043414,38.4153086,7.3079576,0.8816193,0.9337651,14.9303752,12.0389116,65.084072,10.5016804,35.4933333,65.4346656,28.9013377,40.8159976,17.6373306,14.5120006,13.509721,9.3844548,38.8828448,6.5666707,0.8179198,0.86342,14.8366196,11.976019,65.6452352,10.3701667,35.8003564,65.5814732,28.6922433,40.8301994,17.8145005,14.6086681,13.565978,9.4388385,39.3107398 +408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.7897984,0.896364,12.5523598,9.1412274,64.1557309,18.8687566,33.5358586,65.0118616,32.7652685,41.0047443,20.6727946,8.3728547,10.9241112,7.2954793,38.4544254,6.3976403,0.7383977,0.8469334,11.8858695,8.7122339,64.533297,18.6438194,33.0057432,65.0589702,32.2497798,40.5352321,19.7308786,8.3912945,11.4511028,7.4622136,38.4933229,5.8648135,0.8295763,0.9508919,12.0635399,9.1066342,64.4517785,19.1728201,34.0774235,64.7049676,32.4227305,40.5088962,19.6534504,8.3515483,10.9132109,7.5258367,37.5814774,5.9837752,0.7024516,0.8533392,12.2211257,9.1699437,64.0543219,18.5819484,34.0428959,64.982125,31.9304513,40.8027256,19.3207661,8.6285368,11.1073576,7.6482443,37.1340996,5.0429206,0.7604719,0.8684966,12.4487696,9.1700804,64.6404174,18.7855474,34.131835,65.392453,32.195032,41.1994511,19.2490627,8.9534507,11.5763579,8.1754409,38.2729178 +409,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8908731,0.9142289,16.9442027,11.7863168,53.4437509,15.0422074,37.8590275,69.265797,36.9893421,46.8073518,26.8681782,2.5413561,11.0372704,10.5752668,36.3600709,9.7281062,1.0256696,1.0494355,17.140238,11.9435484,53.0405439,14.8088659,37.7276706,69.6720969,36.7961979,46.9874196,27.6254895,2.9464745,11.859072,11.3803782,37.1420204,7.7827472,1.1394463,1.1635361,17.0882101,11.7688709,53.2458592,14.7874521,37.9135743,69.7824475,37.0071398,47.3746845,27.6825174,2.9198772,11.6313515,11.620582,37.4418712,6.6511473,1.185007,1.2091556,17.3754151,11.8418276,53.2981008,15.0846582,38.9549965,69.8078374,37.6306869,48.1745806,27.7729569,3.1265051,12.3372482,12.1397117,37.9816493,6.7096662,1.2733785,1.2733785,17.6226961,11.9321912,53.3164745,15.5441128,39.3738757,69.9034404,37.9563169,47.7834082,26.7139518,3.5877487,12.1783601,11.708033,38.6366634 +410,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7817411,0.8328882,14.8836444,12.0029394,65.7478518,10.5142539,35.8286047,65.5448346,28.6095387,40.3688965,17.4858063,14.3416587,13.4514304,9.3435557,39.5137206,6.5706306,0.6842792,0.7383997,14.6399017,11.7406841,65.8771922,10.6376911,35.6505141,65.6250019,29.0526453,40.4626582,17.3295422,14.6509754,13.3543306,9.4632494,38.9581457,6.3669056,0.7697018,0.8193292,14.9492303,12.0066963,66.1870081,10.8354357,35.4870691,65.8296473,29.4278741,40.7306022,17.5658347,14.990682,13.5335755,10.0565966,39.2764042,6.7766849,0.776929,0.810939,14.9634201,11.9440261,66.4989352,10.8602825,34.8431443,65.4505956,29.567624,40.518157,17.7593691,14.8572481,13.924209,10.0542261,38.7177144,6.9152788,0.704211,0.7350485,15.0188121,11.9621449,66.8042606,10.7872961,34.6898761,64.7873114,28.9983396,39.9774297,17.7103129,14.3476762,13.3578797,9.5198529,38.4054539 +411,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8508798,0.8810351,17.9852932,14.6000519,67.0494837,9.6185176,31.1315273,68.4893603,36.2253328,40.3761996,19.7773878,4.3598724,13.4922204,9.7986434,37.4924636,10.007019,0.85203,0.8688308,17.7416212,14.2463988,66.6092161,9.41835,30.808377,68.6779146,36.536784,40.1715584,19.6423383,4.2696527,13.0914522,9.588632,37.6624645,9.7725607,0.8832374,0.9056226,17.5593492,14.0851147,66.2783781,9.3615626,30.7219594,68.5618944,36.3931133,40.5545336,19.6990272,4.52434,13.0568203,9.332936,37.776666,9.9083166,0.9525087,0.9721568,17.1884137,13.541056,65.8017405,9.3686659,30.5702275,68.8918265,36.7224207,40.6641251,19.8405759,4.5236693,12.3136556,9.1767734,37.4499166,9.3548342,0.8966264,0.9123993,17.2120664,13.5465783,65.6670922,9.444877,30.7354808,68.8011494,36.9170884,40.6043612,20.2159191,4.6288078,11.983634,8.9702654,37.8343032 +412,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0813833,1.0914144,15.0000067,10.7794641,65.4189577,20.8444134,36.9681929,67.5546808,32.4070479,43.4840868,18.9919529,8.1065387,15.9037445,10.9929169,34.9802985,5.6840876,1.0161281,1.014326,14.61391,10.7915043,65.6990539,20.9056092,36.688833,66.9859455,31.724006,43.6082892,19.0969562,8.6590934,15.5724606,10.7686291,34.8995946,6.3381096,1.1269798,1.149415,14.1494971,10.2958478,64.7583177,21.6054044,36.4976537,67.9834875,32.5274783,44.7916396,19.4771946,8.2743516,14.8342345,11.0347303,34.0520592,6.274975,1.218306,1.2410293,13.8592681,10.142376,63.9090188,21.5605103,36.3254808,67.7928595,32.6468833,44.8819926,19.7720719,8.2966564,14.3852046,10.869534,33.9817724,7.6220141,1.1016711,1.0683202,13.7910357,9.9028313,63.9003215,21.6330367,36.2909838,67.192574,31.6597647,44.6925427,19.9794632,8.3811286,14.1722053,10.5020657,34.1927282 +413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2111274,1.2064127,22.0352193,17.8285642,58.6876939,15.8312908,39.1210871,67.1138981,35.5715428,47.3311117,23.0999921,4.0278141,15.6599589,13.1472003,34.3816833,10.6604213,1.1896618,1.1776097,21.4127979,17.3042178,58.1083261,16.2810979,39.8464869,67.4387639,36.3136031,47.8567859,23.8550978,3.957804,16.6682127,13.1471918,35.1441903,11.4326707,1.1803589,1.1983944,20.9869787,16.9879248,58.1817137,16.1350558,39.8230332,67.4360858,36.9185807,47.4872076,23.6819029,4.0346116,15.8815702,12.0454293,35.6275839,12.1262328,1.2121915,1.2121886,21.0721608,16.9823497,58.165201,15.809111,39.9919141,67.3003792,36.9083865,48.4113151,24.3771149,3.7953144,16.5351617,12.817125,35.5522966,13.2996812,1.2842138,1.3041954,20.8464666,16.889278,58.148522,16.0267488,39.5627597,67.9240906,37.0530076,49.0313152,24.9820087,4.0074025,16.0523221,12.6902352,35.7953512 +414,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0384073,1.0751623,18.0564445,14.2023885,76.9800617,16.4124266,36.799044,64.6235387,33.8562401,43.7585746,20.1742731,6.8549312,12.4605746,10.1750875,33.1069451,10.4065981,1.0656406,1.0795813,17.6368848,13.9864426,77.0402404,16.6712758,37.0211832,64.8870474,33.7940218,43.7280681,20.5486174,6.8963096,12.5499864,10.3088401,33.2230322,8.8438817,1.0517122,1.0375194,17.6342081,14.139774,77.3415002,16.7651557,37.111267,64.9999996,34.0014227,44.4721709,20.5777446,7.039941,12.9328058,10.8828714,33.5238991,8.0059022,1.1182667,1.0788111,17.6987971,13.994564,77.8778567,16.7690747,37.2737739,64.7097136,33.9148617,44.3824989,20.9714755,7.0146205,13.2194167,10.8460233,33.2497847,8.4428699,1.0674071,1.02908,17.2797285,13.6449515,77.8864811,16.8147385,37.599583,64.58395,33.6308645,44.3124703,21.3706105,7.0005871,13.0622787,10.8176731,33.2883033 +415,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4564123,1.4024692,24.8609829,19.7624932,59.6197061,19.7679306,35.3935615,67.0574413,33.7763917,44.6792364,22.2483339,2.6341087,18.6742535,14.0183319,43.1545796,15.4545342,1.3814225,1.3753811,23.7031342,18.7559321,59.2000754,20.738781,36.0762509,66.5585802,34.1368658,45.3256736,22.3520509,2.3120685,16.877591,13.570159,42.9203521,14.311589,1.2700022,1.2553181,22.7715175,18.3610989,58.4240817,20.7178088,36.1941667,66.9968124,34.2598741,44.2215083,22.2196427,2.2966983,15.8072228,13.1328732,43.1386164,13.6362463,1.3106285,1.3106285,22.579849,18.1506021,58.6200217,20.2653077,35.5210979,66.3741276,34.0992783,43.7678197,21.8721468,2.6775245,15.9306254,12.5353207,43.8509865,13.6041314,1.2415181,1.2520266,22.5154202,18.2563034,57.0859158,20.2398859,35.5231936,66.5051,34.0017533,43.6838782,21.9689175,2.8815152,15.0504105,11.6651834,42.1273205 +416,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.7908406,0.8878923,12.6964684,9.4131982,65.3967752,18.3984921,33.8838608,66.1856698,31.9367115,40.4207157,19.0716249,8.8490981,12.8158891,8.4532405,38.3746423,6.0572701,0.6502544,0.761469,12.06837,8.926104,65.7237102,18.4566047,33.6245256,66.6837924,32.3227095,40.0308277,18.4823558,9.0270668,12.8632221,8.9399325,37.6609505,5.3728094,0.7037908,0.8058066,12.2549019,8.8053729,65.811499,18.2317528,33.4112955,66.0849224,32.187837,39.8164792,18.5858211,9.0500209,12.9259307,9.0539575,36.8637788,5.0335593,0.6905482,0.7956409,12.663185,9.0078315,65.9387804,18.8091788,34.4617083,66.5001862,33.2038463,39.6041442,19.4413598,8.8975239,12.5939888,8.7396875,36.6843738,6.8080388,0.6887256,0.7628138,13.1467178,9.1698828,65.7203525,18.768831,33.7600256,66.5074563,33.2632773,39.6064202,19.1631621,9.0752798,13.8080284,9.3160399,37.4602 +417,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0455048,1.0502189,19.2370197,15.2698767,66.3740885,14.6123069,35.455171,66.4922178,32.0473325,42.4416002,21.5068554,3.9800052,12.7454836,10.7317075,36.3342371,14.4069235,0.9697447,0.9745422,19.0150439,15.3246119,66.201199,14.3049884,34.9121609,66.2255321,32.4635971,42.8518882,21.7041763,4.0193015,12.2360544,10.2208466,35.978529,13.7524071,0.885741,0.8867836,18.761735,15.1902674,65.4243043,14.2466274,35.3133278,65.9447873,32.6277732,42.8381637,21.2556999,3.61723,11.6478276,9.5784889,35.8344777,13.2784964,0.755092,0.7678156,18.7531003,14.9452024,64.8770982,15.06218,35.5083903,65.9073816,32.9345684,42.9215546,21.2741268,3.8224366,11.1664979,8.8357706,35.8695057,11.9187031,0.7315402,0.7315402,18.3876557,14.3367841,65.0066874,15.5571677,34.789246,66.0817568,33.1567436,42.8163086,20.8299683,3.9592273,11.2710918,8.7703295,36.1743349 +418,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9729915,0.9985963,15.892681,12.2270073,80.4910014,7.0087837,31.1409312,64.3850013,30.2269766,38.1628103,16.228815,6.13195,13.136728,10.0310681,37.4969145,8.059029,0.9815186,1.0232863,15.6935582,11.9495274,80.5374984,7.0099437,31.1331305,64.6530355,30.1442406,38.3337593,16.1828984,6.1022495,13.0435629,10.1313176,37.4564748,7.8155093,1.0249537,1.0449988,15.8127067,11.9806293,80.5981643,7.1932267,31.0537739,64.6262893,29.8867125,38.1288441,16.0951344,6.1088671,12.8098792,9.8592945,37.4192909,7.2892336,1.0114442,1.0317921,15.740455,11.9474129,80.7019279,7.0022039,30.5786479,64.781493,29.8346426,38.2354231,16.2000524,6.0839235,12.6198566,9.5266369,37.1627181,6.9046659,1.0317502,1.0629406,15.6431443,11.866363,80.4776498,7.0894355,30.418324,64.5124046,29.6946978,38.3250958,16.3312363,6.1482161,12.4588722,9.4252745,37.1266042 +419,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9564021,0.9122345,13.6540948,9.5637272,64.3903388,21.7112611,35.8153183,67.2101559,31.6109274,44.6168103,19.5480875,8.3889783,13.6914046,9.9918851,33.5102036,8.4550883,0.9449135,0.8995613,14.7047275,10.3950827,65.3830308,22.0206883,35.4949371,66.8484305,31.6564825,44.989801,19.3736865,9.0706832,13.9296987,9.7051319,32.7970175,8.0930905,0.8973674,0.8716145,14.6669621,10.4054932,64.5684053,23.1069752,35.8573079,66.896043,32.269416,45.2022345,19.7120867,8.9486616,12.7721622,9.44582,31.6835913,7.3943315,1.015102,0.9625372,15.226627,10.6099499,64.1627255,23.2337821,35.8935832,67.4254736,33.3403546,45.3403291,20.021234,8.9574278,12.8607646,9.8297747,32.6609451,6.801885,0.9119231,0.8580184,14.5987319,9.8698918,65.0530315,23.2944927,35.6986635,67.1397152,33.0348914,44.8252831,19.8034982,8.9737815,12.8508716,9.7185533,33.8509167 +420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.962601,1.079067,21.4270613,17.8032747,88.0162182,11.8118882,32.0655892,66.0378565,29.0559812,41.4038923,15.5329132,5.3082043,15.9203127,12.9781953,33.1063007,10.3787769,1.0289955,1.0877004,21.0293984,17.4188169,87.5958861,11.7678074,31.9996426,66.0919073,28.3345263,40.9781192,15.4088339,5.3459566,16.3545714,13.2622235,32.7141136,10.7376601,1.0262555,1.0837386,20.5894459,16.609868,87.5571074,11.9223032,31.890485,66.6057189,28.8829592,41.5144889,15.4350304,5.6820803,15.8747687,13.0294131,32.3708152,11.0846656,1.06441,1.1431293,20.7263786,16.7600017,87.5993658,12.0562549,32.1599966,66.2923985,29.1739659,42.098887,15.943707,5.8740376,16.0464618,13.375695,33.2674519,11.4078685,1.0022626,1.0614795,20.4827833,16.5937668,87.0753388,11.9775878,31.9109132,66.2047603,29.4502865,42.1968042,15.9498215,5.7747937,15.7067496,13.054122,33.6372722 +421,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0151871,1.0485132,15.172333,11.6091658,80.4244102,7.3289031,30.5947582,64.4522426,29.9471362,38.4023539,16.4096946,6.2954052,12.1796853,9.539644,36.9232208,6.7784158,1.0054706,1.0392802,15.206173,11.7344933,80.13292,7.436007,30.4457072,64.5640989,30.5621684,38.5855476,16.8104788,6.2585323,12.3915774,9.9659459,36.8909327,6.7845163,1.0257599,1.0473969,15.1279164,11.6536788,80.0725191,7.4381765,30.4759414,64.2328885,30.4914551,38.4391697,16.762112,6.0255206,12.3540405,9.8551534,36.6195406,6.7254353,0.9643591,0.9778431,15.129455,11.6890304,79.717067,7.4902609,30.5882899,64.1670439,30.5195719,38.6486181,16.9515754,6.1922631,12.4391757,9.7719669,36.4592987,6.3813808,0.9579013,0.9776188,15.0229614,11.5391955,79.682753,7.4472204,30.8681411,64.4368119,30.9762704,38.8947884,17.0215166,6.2765987,12.5652658,9.919415,36.7061133 +422,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0986926,2.0626795,22.5743315,17.1072932,52.434584,11.6593275,35.4177011,67.418158,38.5805369,46.9992618,22.9989331,5.9303172,12.8575031,10.4514896,32.4545987,14.3578525,2.0785629,1.9989892,22.3712651,16.8866659,52.1674879,11.6463976,35.468798,67.1675283,38.9394583,45.9733438,23.0206891,5.8538548,11.4855609,9.1623182,33.5650942,13.6377366,2.0865484,2.0104115,23.4735933,17.9372756,52.3547227,11.6794461,35.4306367,66.6588137,38.2776463,45.7955474,23.2418665,5.9831781,11.6271904,9.1433543,33.1718203,13.579572,2.0407925,1.9737078,23.9658772,18.3753504,52.1503116,11.3190585,35.4259765,66.3187273,37.255792,45.6388852,23.3407239,5.8936945,12.008858,9.9490192,33.8911884,14.8902821,1.9773823,1.8938374,24.918319,19.304648,52.3125095,11.5030985,35.9621332,66.7273955,38.0811494,45.5792066,23.2480361,5.9699206,11.7915846,10.1398262,33.4851795 +423,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9316359,0.9454315,17.0378169,13.276155,64.9771141,9.6052766,31.1248601,69.2071703,37.3528566,41.1258738,21.0634953,4.7942457,11.7173137,8.7377649,37.4229951,8.4237184,0.9228738,0.9449134,16.9091851,13.2146537,64.6079051,9.4334822,31.3576822,69.2097458,38.0429219,41.5815611,21.4639519,4.8024357,11.4432539,8.6723995,37.6056622,8.0752242,0.9189074,0.9445484,16.5166195,12.9748694,64.1899259,9.7146455,31.5516231,69.526312,38.5433172,42.2122295,21.8305046,4.9495639,11.595509,8.7510031,37.3585337,7.7981673,0.8921699,0.911782,16.1142539,12.6248044,63.7135349,9.9461793,31.5417928,69.5712733,38.7354436,42.6105402,22.420906,4.9829942,11.5239684,9.1242417,36.9294214,7.562079,0.8647272,0.8793865,15.7464515,12.1630367,63.574161,10.2529855,31.7866842,70.0216625,38.8792653,42.301035,22.6691955,4.81321,11.215263,9.282563,36.7371983 +424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3321672,1.3371456,20.774611,16.6102262,57.7269074,16.2068844,39.5727201,68.4325706,36.9104966,49.15028,25.3352957,3.8515572,15.9303666,13.1181042,37.1271626,14.7249286,1.2764824,1.3122048,20.9855187,16.7078794,57.3138119,16.1265505,39.9589195,68.8176458,37.4782482,49.5009218,25.7272752,3.7641047,15.6106851,13.1771152,36.2072863,15.4952225,1.1105646,1.1368703,20.5986341,16.2287174,56.5478677,16.1114197,40.0964363,68.1105102,37.8848559,49.4328136,25.8954574,3.977812,15.2254085,12.7135159,36.3432705,15.5229136,1.2351758,1.2620175,20.5465963,16.2084115,56.1382237,15.6458805,40.0249125,68.0167565,37.5874849,49.0412711,25.8090478,4.0156985,14.8455444,12.4855739,35.4087879,15.2459344,1.2150728,1.2618802,20.3107514,16.0469791,56.8113614,16.1386983,39.472676,67.7834016,36.6997527,48.3891394,25.7848124,3.9634797,14.7867177,12.6471539,35.5611769 +425,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8016849,0.827454,15.655876,12.1010762,63.2483019,10.3608624,31.7143864,69.7057534,38.9286552,42.5414742,22.8300413,4.8568499,10.9131143,9.3101861,36.5724436,6.7364028,0.8389957,0.8484934,15.0230565,11.4993472,63.1808911,10.0958692,31.2729244,69.7444694,39.2464249,42.4878789,22.7197468,4.9627339,11.2284568,9.7107469,36.8608714,6.1141304,0.7746402,0.7816348,14.8758822,11.4078839,63.0039604,10.0602711,31.0687302,69.6380697,39.1603729,42.243484,22.4774543,4.9536875,11.4632969,10.0250984,37.3318202,5.8906692,0.8081241,0.8228945,14.3897881,11.0149426,62.598178,10.4882519,31.2023481,69.8350197,39.1513568,42.263469,22.5284312,4.7931458,11.0727123,9.8232618,36.706408,6.2988275,0.7849554,0.7766241,14.4060199,10.7289811,62.6813979,10.2974954,31.1330461,69.8606291,39.3534689,42.3215936,22.693248,4.7425445,10.7562827,9.3132042,36.9083077 +426,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.9463631,0.9463631,20.126531,15.9558477,85.9267588,10.2207808,29.4440625,65.185063,28.8259327,43.0843143,15.0426739,4.0636415,15.3576284,12.5745368,33.3837945,12.3316948,1.0354313,1.0354313,19.7368533,15.6277757,86.3265257,9.5424869,30.0515239,65.832268,28.4143352,43.942726,15.0840776,4.1393464,15.2680662,12.731565,33.2184525,12.6104353,0.9182349,0.9182349,19.2493863,15.5179286,86.7499186,9.6441737,29.6141633,66.3041042,27.794992,42.6129963,14.4852922,3.9263657,14.6573696,12.739656,33.0110073,14.0088291,0.8818701,0.8818701,20.1162202,16.3295337,86.8490027,9.5906726,29.6564156,66.5140759,27.9155828,41.7535777,15.4263834,3.9382672,14.8063474,12.8930378,32.4090236,15.6906202,0.8410197,0.8143766,19.434036,15.702274,86.1181946,9.9540411,29.6195777,66.1941989,28.3932212,41.7123833,15.8772948,4.0803935,14.3419933,12.9159063,32.6104865 +427,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.309851,1.309851,17.9957279,12.3567921,52.342435,16.3835053,39.8303618,69.42226,37.7685934,46.7933101,27.0040558,3.5959649,11.7674606,11.2077419,38.4013757,6.3978041,1.208363,1.1979183,17.7196409,12.4776171,52.5955278,16.68184,39.7345896,69.901791,37.7322588,46.8573691,26.792168,3.5614433,12.4763776,11.2522798,38.6774885,5.4498418,1.0172118,1.0277757,17.8505947,12.6471112,53.1427562,16.5046755,39.2587467,69.6647147,37.8420182,46.9073833,25.8497285,3.7535317,12.4998241,10.7039148,39.624784,4.6339226,0.9457215,0.9770284,17.6091041,12.4890174,52.2512135,16.9031383,39.6681161,69.5416836,38.2185462,47.1949859,25.2684035,3.5296752,11.7397825,9.9717383,38.3043767,6.1271596,0.8608816,0.8920706,17.8415173,12.3895407,52.2788314,16.7197067,39.0970876,69.3284917,38.0785033,46.9214606,24.9764219,3.5416522,12.0639283,9.7705452,37.8585544 +428,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.8107354,0.8564418,12.8438586,8.9306456,65.5085374,19.5034176,33.5067387,66.3391187,33.005779,39.7109833,20.4431585,8.8053977,13.7450232,9.5863189,36.8357577,7.8587735,0.6756302,0.7218065,12.2013307,8.323539,65.0984195,19.911849,33.6381298,66.4786057,33.3657601,40.1361899,20.6420212,8.3852163,13.2825061,9.4150656,36.1762387,8.086564,0.6419021,0.6806445,11.9454603,8.0789557,64.7810214,20.2489183,34.1145835,66.406258,33.7940706,40.2043326,21.1738753,9.1947137,12.9367648,9.2761988,35.3310927,7.7937687,0.7512611,0.8003615,12.5936714,8.5553689,64.8900867,19.5414009,35.367855,66.1939991,33.4771805,40.6699566,21.2289325,9.0217819,12.5425106,8.89361,35.5184123,7.3566085,0.8965156,0.9155559,12.9543493,9.1081941,64.6504851,19.7346987,35.5486507,65.6107658,33.5610642,40.848859,21.0144856,9.2132487,12.6284193,8.7756786,36.3910344 +429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.8871671,0.869004,19.2528564,15.4144116,85.0272068,10.0002028,29.7983274,65.8358924,28.2330794,43.0188052,16.0831428,4.0568871,14.5118621,12.3715379,32.7437123,15.587187,0.9229571,0.9053765,19.1492265,15.3548421,85.0757821,10.4293816,30.0142771,66.2305216,28.6181853,43.3418708,16.6523697,4.367561,14.3267038,12.438379,33.6227683,14.469013,0.9731396,0.9773427,19.464471,15.6812654,84.38116,10.5722955,29.7966148,66.6525399,28.4115021,42.3440469,16.2159121,4.3666128,14.6878346,13.4140232,34.8358485,13.763272,1.004692,1.0087139,19.4436192,15.4208124,84.0947439,10.618343,29.0191494,66.5424944,28.9451877,42.3440544,16.1790983,4.482945,14.3662944,12.9970283,34.1884376,13.9346178,1.0538952,1.0628206,19.1291006,14.9463075,83.7027879,10.9825707,29.072723,66.1110242,29.4792,43.013737,16.7264711,4.7499463,14.1580826,12.9401414,33.778916 +430,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.1165486,1.1550103,22.1605302,18.1992582,69.4316896,14.4318232,35.2307406,64.1896377,30.2905595,41.5456575,17.2874363,4.2287013,14.1018206,10.5692269,32.717251,15.843458,1.199359,1.2464656,22.0205704,17.8065035,69.0664586,14.3939808,35.483671,64.469636,31.1501848,42.1686068,17.6907073,4.0990601,13.8250353,10.4680598,32.450099,16.9057809,1.2982218,1.3616925,21.8932813,17.7853694,69.5660716,14.5889213,35.0202058,64.1406111,30.7319105,42.1302994,17.7181714,3.9810348,13.9840784,10.4073541,31.9445908,15.9415804,1.3721283,1.4294481,21.7138825,17.4498214,69.9777834,14.8795527,34.5583497,63.8902018,30.5606464,41.8535312,17.4104952,3.8096004,14.3779849,10.3783881,32.3161008,15.6831504,1.4328158,1.4915585,21.999578,17.6715891,70.0633789,14.8610623,34.6815252,63.9981431,30.6576129,41.6175189,17.3243518,4.1720965,14.7446677,10.7397548,32.2158821 +431,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.5825735,1.5905366,26.8766056,21.9665818,64.4292741,13.7997773,34.8162802,66.9422587,33.9763756,42.1915957,20.1968512,2.9002622,14.0318335,10.8960607,35.1574854,18.1890079,1.6197973,1.6397813,26.1053949,21.1182478,64.5771867,14.1577803,34.7258886,67.3563576,34.7522381,41.9478057,20.2029508,2.7543463,13.5898785,10.2474285,34.7696282,18.0158876,1.4742508,1.5083053,26.0583425,21.2829157,64.4184132,14.1199275,34.3716816,67.4045654,34.2391287,41.2910869,19.6314934,2.7969248,13.1380926,9.8170975,34.2802698,18.1170901,1.4216761,1.4542281,25.0393088,20.4271485,64.2290874,13.5990283,34.7155113,67.2168701,34.4739683,41.4251156,20.1154019,2.6972652,12.3013611,9.5224954,33.416089,17.8921393,1.2433478,1.2838221,24.9867832,20.1770627,64.5994468,13.4553501,34.7549395,68.0882963,34.267534,40.901711,19.916051,2.667211,12.3535975,9.860337,33.6797656 +432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7308239,0.7731083,15.3153704,12.0961013,67.1744156,10.670699,34.4314587,64.7012792,28.5413153,39.8277608,17.4235088,14.1833305,13.3775699,9.9879271,38.2402943,7.2885202,0.7536398,0.7885164,15.1923325,12.1809209,66.919678,10.9106861,34.4012736,64.9117585,29.0595753,40.0154023,17.5115464,14.3254776,13.307223,10.1616365,38.6151616,6.6691309,0.8111192,0.8562868,15.4757786,12.3934659,66.5426047,10.9976949,34.6293233,64.7509352,29.6129531,40.7916312,18.048411,14.5755382,13.3167055,10.5732671,38.7347502,6.6980454,0.8815503,0.9280928,15.9443523,12.64062,66.8952839,10.8207235,34.4240034,64.5383808,29.6132526,40.5789458,18.1759239,14.8744255,13.5406587,10.5550203,38.8726581,6.9175627,0.8313043,0.8713537,15.8239337,12.5930896,66.7897844,10.8333326,34.3966937,64.4780909,29.5726577,40.1424438,18.3085946,14.5977952,13.4113295,10.1183167,39.1062106 +433,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7661907,0.7119108,14.6134083,9.8078247,65.6527177,23.2019362,36.0464782,67.4199272,32.5800728,45.217175,19.8990919,9.1926142,14.0434722,10.5836191,35.2192828,5.6390836,0.6918783,0.6779337,14.9594044,10.2662721,66.1737649,22.3977137,36.2837635,67.7252158,32.4098966,45.2477113,19.9324416,9.1216052,13.6809208,10.3925021,34.636103,4.3532176,0.8137439,0.7717377,15.0947764,10.35652,66.0811526,22.7110378,35.9863647,67.8684321,31.2244729,45.3740942,19.9319866,8.866189,14.1391489,11.1953513,35.4129395,3.4883586,0.8350364,0.7920368,14.3553007,9.6707104,65.1535808,22.7521741,35.3499944,68.2196758,32.058418,45.1784325,20.7000583,8.7853256,13.7030122,10.9332013,36.1495973,3.7371038,0.7755526,0.6874722,14.6474299,9.7255308,65.8634804,22.5828833,34.7485646,67.575859,31.3330153,45.4696179,20.7542766,8.2305249,13.8730864,11.1058916,37.4880552 +434,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0425427,1.051329,18.3847812,14.4135244,84.2921526,11.0401773,29.5101349,66.1207744,29.0742141,43.426132,16.4711767,4.5581351,13.7203649,12.6868557,34.0700448,11.1961885,1.0198513,1.0284486,18.7720725,14.8474941,85.0098832,10.9237407,29.1621773,67.0461454,30.2678882,43.5077059,16.6768189,4.5125121,13.8632092,12.5807079,33.7309662,10.4686617,0.9665222,0.9684646,19.2948815,15.5560048,85.4828165,10.8366484,29.5567979,67.651414,30.1200345,43.152191,17.058075,4.7705963,13.5208968,12.8937659,33.6780072,9.298721,1.0303335,1.0323173,19.5543728,15.4579748,85.0109944,10.6511112,29.1606011,67.5839826,30.3521713,43.4249314,17.4962956,4.4959326,13.638336,13.1332658,33.6132236,10.1941286,0.9465435,0.9513681,19.7695036,15.7978973,85.1830864,10.6509701,30.0218172,67.3532944,30.750897,43.838879,18.0276553,4.4658815,13.6296467,12.674475,32.6071628 +435,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.285754,1.3301426,26.8317376,22.4328728,74.717864,13.113093,33.2669383,65.3454993,30.1483643,40.6855287,16.8498447,2.6033789,14.4466051,10.7976489,33.937596,15.3603735,1.2834194,1.3367188,26.664391,22.4029909,74.5771239,13.3738353,33.2940062,64.929189,30.2401307,40.456682,16.8586921,2.4083808,14.021985,10.0394125,33.4139995,15.5362306,1.2531428,1.326725,26.6906027,22.299766,74.4933968,12.9768384,33.1786701,64.9791995,30.297767,40.4639714,16.8905798,2.4445935,14.0011279,10.3443271,32.8815851,14.9399029,1.3393254,1.4287656,26.4060137,21.9880773,74.6438227,12.6657516,32.9513973,65.2708164,30.36804,40.506932,17.3541675,2.5069394,14.140102,10.4214353,32.4594337,15.5985229,1.4132397,1.4952806,26.1469746,21.6826956,74.6711565,12.4394236,33.1622514,65.3613419,30.6594232,40.5160144,17.4845242,2.6504446,13.7075648,10.1304244,32.8508653 +436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0164255,1.0862737,20.0591756,16.0012656,86.8724224,12.0894199,31.177466,65.9405248,29.7699257,41.923583,15.8511788,5.8646244,15.4412259,13.1239237,34.2800558,10.598781,1.0303942,1.0800205,19.8777335,15.8332926,85.9739094,12.3050459,30.9142493,65.7900453,30.1466986,41.9299543,16.0383097,6.0383849,15.4208035,13.0424803,34.4355052,10.790833,1.0595685,1.1035239,19.8640585,15.4421325,86.035174,12.3059895,31.0372773,66.0056542,30.0281417,42.1144718,16.2989052,5.8554439,15.0585379,13.3661441,35.2567929,10.9294734,1.1255017,1.1688339,20.3657041,15.7314473,85.9869394,12.7136945,31.0133372,66.2165156,30.320861,42.5784116,16.5626741,5.7825557,14.8071467,13.0564765,35.1895723,10.3820977,1.1398247,1.1766404,20.3428755,15.8681711,85.6552572,12.6617463,31.1047233,66.003464,30.4869592,42.4492863,16.7695458,5.6228682,15.4884516,13.1747131,35.4815466 +437,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5772066,0.5328568,14.526869,9.8668739,66.0353968,22.6010962,34.6153561,67.5823904,30.8886614,45.5087954,20.5685598,7.7161692,12.8488684,10.4327203,37.2330345,3.7662191,0.7951764,0.7520692,15.2796813,10.7951825,66.2376398,22.6168104,35.2161255,67.9915807,30.4741615,45.0255055,20.3393294,8.0659877,12.8624642,9.9532992,36.9585933,3.9240407,0.9916097,0.9282612,15.2783581,10.9777832,65.8608835,22.7047562,35.1160158,67.523825,30.8374459,45.1296821,20.7327922,8.1702042,12.4191772,10.4801697,35.9200838,4.6482295,1.1521916,1.1040608,14.774686,10.6227563,65.7727687,22.6353041,34.6580619,66.8072523,30.528415,45.3152597,21.292171,8.1926867,12.3881655,10.8871172,35.991,4.8267267,1.1710723,1.1643486,14.8188111,10.5848651,66.160166,22.0525321,35.0934178,67.0360846,31.5297607,45.5671365,21.7513897,9.1916278,11.725643,10.5146663,35.223196 +438,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4093593,1.4535399,21.8618563,17.3040081,48.9636759,9.9002383,33.242721,66.5220845,33.948603,46.0369009,21.2427786,3.9046347,12.2012791,9.7965694,31.5003549,12.7535703,1.4162428,1.4549624,21.7645823,17.1809562,48.5435062,10.015495,33.3773415,66.576236,33.9975912,46.3716748,21.3910479,3.9000629,12.8548618,10.0631739,31.9266471,11.4719168,1.4704782,1.5124306,22.4231506,17.8068412,49.1639837,10.0212226,33.3204818,66.7868734,33.8273219,45.9607538,21.0643162,3.785889,13.1603805,9.8740315,31.7951031,11.8569961,1.5019733,1.5396494,22.683325,18.0649825,49.0959163,10.244707,34.2327087,66.900921,34.3537817,45.5103557,21.4135313,4.0438231,12.8098867,9.669003,31.0859897,12.5459257,1.6409804,1.6590449,22.9184561,18.3689554,48.9216351,10.3191875,34.593628,66.6032877,34.6998642,45.248602,21.2109989,4.1300136,12.7280187,9.5200662,31.5482852 +439,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6887379,0.65561,15.4492096,11.6847451,75.2146115,21.202602,32.4062069,63.5778083,26.5476692,39.7012194,18.1467403,5.3611178,11.8499105,9.0469078,31.6006098,6.2195152,0.6142229,0.6255685,15.0556425,11.3889547,75.6013196,21.7224923,32.9006827,63.7710941,27.1947282,40.069173,18.4163347,5.5779399,11.9629552,8.9524496,32.0283562,7.0071292,0.5239299,0.5357335,14.7784246,11.5414294,75.5679594,21.7023665,32.5789259,64.7204191,27.7481903,40.0722716,18.6953195,6.2571339,13.0115813,9.4113057,32.8527044,6.079406,0.5018192,0.5138442,15.0998866,11.809639,75.3239086,21.321841,31.6187884,64.1110204,28.0085391,39.6933245,17.9153691,6.3858711,13.1640588,9.9921583,32.6361587,6.4393956,0.6553842,0.6553842,14.9560717,11.7212462,75.2698921,21.8298906,31.9043878,64.0260692,28.1904317,40.5966071,17.7597765,6.5389195,13.024542,9.9524147,33.4800054 +440,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.4229434,1.5084192,25.8630496,21.5158463,74.696575,12.32298,33.4519684,66.0249799,30.5171813,40.7307779,17.4705727,2.8548556,13.5179606,10.0119712,33.0262766,16.6993503,1.4627991,1.5384641,25.8460444,21.5032741,74.3941337,12.7271333,33.3506635,65.9060465,30.8235171,41.0509786,17.3703002,2.9656592,13.6559058,9.9539829,33.3591071,16.3610333,1.4433546,1.5053821,25.7022469,21.4296306,74.6182448,13.0398958,33.6189762,65.6226221,30.9797873,40.7022443,17.3138116,3.2079443,13.4717408,9.4607194,33.4850882,15.8284386,1.41418,1.4627826,25.4847834,21.0695152,75.0155309,12.7564822,33.6981372,66.1640856,30.8969486,40.724007,17.2585269,3.2221018,13.5139329,9.8686248,33.8948376,16.1111307,1.4242966,1.4393243,25.1242981,20.8603296,75.3127963,12.5664346,33.757115,65.9038394,30.6133146,40.4145382,17.0673375,3.0898431,13.5804391,9.5680931,34.9460824 +441,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4245009,1.4346757,21.8805095,17.6636168,57.2762059,19.8991947,35.180425,66.1993296,33.7117869,43.947714,22.5859968,3.048523,15.2310598,12.0445489,42.4283059,13.606428,1.3680963,1.3840909,21.1820648,16.9172179,57.1089928,19.7149991,35.0757131,66.1838076,33.7742862,44.4796368,22.6493444,3.1696205,14.9745357,13.130984,42.3209588,11.7186475,1.215266,1.2307167,20.5642065,16.4002976,56.3679886,19.26404,35.7218744,66.1830123,33.9793545,44.7181567,22.7137671,3.01902,14.6595455,12.5935622,41.9880847,10.7370797,1.2030292,1.2281627,20.4007188,16.3245928,55.6932658,18.5090495,34.8693487,66.7336161,34.7049682,44.8839317,23.0339679,3.2259594,15.8537375,13.3417638,41.8434988,11.0575575,1.3095737,1.3131286,21.0300839,16.5337477,55.5247864,18.4532024,35.1284648,67.0539541,35.4258113,45.8195684,23.5029081,3.02837,15.8175209,13.3505549,41.1357594 +442,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8633376,0.8741015,18.5862012,14.2359086,65.0243692,15.1716476,35.1055261,66.3484516,33.2813278,43.2012897,21.1374173,3.9766581,12.062696,8.9590407,38.210637,13.4120679,0.8135808,0.8514548,18.1674216,13.7956345,65.1803051,15.5759609,34.3510545,66.4455502,33.230225,42.8761721,21.1946822,3.9380877,12.5463122,9.1721521,38.8540338,12.0575792,0.8387614,0.8776654,17.8720454,13.4374867,64.6203066,15.6333855,34.9003189,66.550914,34.1445359,42.2460428,21.5991301,4.2170803,12.452723,9.3337674,39.1788916,11.5747569,0.9921528,1.0329864,17.9619414,13.0305602,63.9800737,16.1396465,35.3288279,66.8626416,33.9949743,41.9974292,21.5147621,4.2077201,12.1621896,9.9605824,39.9403146,11.4686188,1.1306235,1.1722737,18.0350891,12.8273768,64.2553926,16.3158231,35.2439479,67.4039953,33.9522336,42.1536043,21.8759879,3.9877656,12.1846281,10.7024877,39.4173018 +443,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.896551,1.9767574,21.5097723,16.415733,43.4288309,13.2650251,39.1579307,68.8428627,41.003877,48.0875497,26.6199279,3.5477154,15.4315399,13.1906577,41.9343204,13.9583091,1.8623992,1.9531064,21.0939091,16.0212072,43.9669243,13.221222,38.311665,68.3247981,40.9730372,47.031388,26.2795878,3.6372333,15.1904141,12.6670794,41.3034597,14.430906,1.917412,1.9541535,21.7743579,16.5014278,43.9950243,13.2458619,38.0593455,67.3394653,39.907605,46.6196459,25.6566163,3.7208187,15.3807669,12.8757644,42.1717252,14.8068797,1.9504955,1.9871239,21.9008155,16.6896856,44.0523027,13.3286024,38.1796168,68.0339585,39.6359426,47.1601834,26.1893209,3.9563122,14.4934835,12.9016181,41.3219144,13.7711864,1.8434631,1.8360329,21.3362476,16.5314293,44.6020034,12.9149033,37.9588835,67.5721702,40.0146745,47.4057532,26.01565,4.038185,14.6184358,12.5496131,40.9091136 +444,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.8424618,0.8992849,15.8929562,12.5980022,66.6480774,10.8769159,34.3145682,64.6205605,29.4553204,39.8714793,18.4516524,14.3757618,13.2822299,9.989949,39.1529631,6.9516718,0.9456283,1.0037538,15.9693782,12.482889,66.21878,10.7963607,34.3356994,64.9171932,30.052292,40.4868616,18.7959145,14.4751543,13.349576,10.0770244,38.8716708,7.3776741,0.9646648,0.9965368,15.9681623,12.5031946,65.7498146,11.1145977,34.2045062,65.1850411,30.2874203,40.1818616,18.9431534,14.5555117,12.9929484,9.8169993,38.8669766,7.4257409,0.9842415,1.0217948,16.0320599,12.416676,65.8639514,11.2130038,33.8357968,65.0865959,29.7305979,40.147533,18.7363709,14.579857,12.9276063,9.6444747,37.9967994,7.360784,1.0106072,1.0307589,16.1138467,12.4556436,66.3449531,11.0607508,33.7385038,65.0940784,29.3022951,39.9464387,18.2323873,14.5515706,12.9821139,9.2370082,37.9005034 +445,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.3016092,1.3049627,24.3207713,20.137386,75.3906185,12.7127862,33.9114542,65.5077696,30.4739956,40.2056032,16.9753519,3.0528963,13.2722028,9.765123,35.5386852,17.3679133,1.2270262,1.2426918,24.3458293,20.0425535,75.6679642,12.6499446,34.4040261,65.6920904,30.4790043,40.4437597,17.2300609,3.0358881,13.5634776,9.6600211,35.6532058,18.2238211,1.2425681,1.2545268,24.61913,20.1272211,75.6297729,12.9548004,34.7586279,65.4971167,30.8903349,40.640972,17.3673286,2.9172023,13.8049875,10.0786649,36.0534372,18.1301635,1.2545849,1.2709871,24.5667909,20.2189679,75.6953557,12.8446962,34.5608293,65.9709846,30.7896727,40.4592948,17.5584231,2.8767147,13.3718999,10.2873153,35.787915,19.1891859,1.2843814,1.3065239,24.3833601,20.0145094,75.2128879,12.8132637,34.31082,65.6563182,30.6636969,40.5864887,17.6359548,2.8667694,13.094431,10.3325435,35.9706204 +446,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9200565,0.9860426,18.950583,14.4105143,58.6036575,13.7724635,29.2053914,68.8438716,37.5281458,42.7236636,20.1538552,4.9408356,11.9557926,10.4713278,33.9574395,10.1282051,0.9321628,1.0603546,18.2926483,14.2083862,58.3000617,13.9315824,29.5002231,68.5023207,37.2473255,42.3668737,20.356299,4.7538662,10.9087637,9.5367346,33.1728321,12.0466321,1.0319321,1.1560889,18.2619592,13.9629717,58.1860472,13.897398,29.7528939,68.2111105,37.4431697,42.4709496,20.702022,4.6091134,11.1088125,9.3587108,33.1939117,13.3018619,1.1195091,1.2509067,18.7024526,14.1911298,56.853534,13.9004967,30.8905019,68.2246496,37.7384241,43.3518681,22.0491766,4.5416243,10.6725239,9.5439405,33.5258999,12.275861,1.1849132,1.3201831,18.5424723,13.9658778,56.2510072,14.1337778,30.3815647,68.409476,37.8894291,43.3462794,22.5580667,4.4623893,10.7159168,9.9941488,33.581321 +447,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4374267,1.4463667,23.4257321,19.1621998,47.6807405,15.5070996,38.7145909,68.3438676,36.2256123,48.322275,24.1732574,5.1129786,13.4568611,10.131694,30.519225,14.9707981,1.6420957,1.6073336,23.9855412,19.4234577,47.4439451,15.678873,38.1345614,68.5708546,37.0216336,49.4445691,24.4996362,5.0487113,13.0189346,10.5966311,29.1775325,15.1598317,1.6936414,1.701843,25.2408386,20.2904103,47.5360651,15.524838,37.0788707,68.3759704,36.3771099,49.2116652,24.1972098,4.9448164,12.8706399,10.3911179,29.8344648,16.450626,1.5869253,1.5869253,25.4456978,20.7134045,47.6658272,16.2420339,36.1929723,67.658676,37.0907298,49.1473912,23.7491153,4.8096354,13.0716168,10.8096455,29.7750566,16.6144468,1.7281887,1.7664369,25.5201639,20.7019562,46.8213905,16.8423614,37.0595331,67.5986695,37.9989372,49.595142,24.4810677,4.7976616,12.5206715,10.4286868,29.321543 +448,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2673874,1.2219243,21.4729077,16.8759388,55.1247971,18.3776671,35.964639,67.8395768,35.7763912,45.8883467,23.9522228,2.9930902,15.4812337,13.2399341,41.1552664,11.4146945,1.4091645,1.3145115,21.0838564,16.4639416,55.3522679,17.9354556,36.2900157,68.7836503,36.4626746,46.3419996,24.87662,2.7832706,15.3728582,13.5468341,41.7049783,11.8332158,1.354072,1.2243862,21.2565608,16.4686516,54.4554922,17.9418303,37.3390909,68.8525334,37.3912413,47.3215487,25.2490073,2.6447084,15.7744122,13.6215214,42.1832984,11.2793717,1.2880074,1.1558758,21.1281354,16.3749377,53.785764,17.8937514,38.0091614,68.960949,38.1459717,47.5414284,25.9024247,2.8304095,16.0069353,12.9544828,42.0456289,11.6320261,1.280233,1.1454612,20.9046995,16.2047634,53.8905868,17.9939597,38.116698,68.9786127,38.0585765,47.6826224,25.8678288,3.0550348,15.8595858,13.0485366,41.8310476 +449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2266451,1.0825338,21.0124717,16.1181772,54.0130095,18.1713587,38.813117,68.933567,37.3662443,48.1273701,25.9614672,3.2195272,15.6153982,12.892046,41.7904371,12.2341799,1.1483491,1.0266474,21.2261683,16.1449847,53.9061924,17.7540582,38.3945655,68.5600567,36.6100166,47.6321301,25.6721599,3.3647632,16.0317185,12.7581096,41.0112559,10.8248447,1.1324037,1.0714853,21.0471076,15.8175573,54.3141704,17.923243,38.5368052,68.0387572,36.5239333,47.9204805,25.6782388,3.4103061,16.254738,13.4086709,40.0393204,11.5121632,1.1416049,1.1225151,22.064664,16.4079228,54.2752024,17.8132464,37.8343735,67.1398335,35.900031,47.3502545,24.6162195,3.6249517,17.6714874,13.8824049,40.1064374,11.953027,1.1784668,1.2369694,22.5968006,17.0736619,53.8647522,17.1366649,38.3453334,67.826306,34.669451,47.5723447,24.3998996,4.0349499,16.3843,13.5446396,39.7054618 +450,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1579265,1.1848787,17.2484758,12.3157993,64.0451434,15.9904573,34.9774972,67.5129193,33.9747846,41.9306955,21.8466993,4.0588811,13.1931097,11.7078631,40.3976484,12.4652943,1.0505824,1.0920254,17.1084907,12.1884772,63.9408122,16.108901,35.7028167,67.6820516,33.9940784,42.3759086,22.3887159,3.9813243,13.1001024,11.6766195,39.8321921,10.7237555,0.9032163,0.9323035,16.4070389,11.5787437,63.2924191,16.9359319,35.6937295,67.5497972,33.9594684,41.9556267,22.7841834,3.9017601,12.8571471,11.5868645,39.3908241,8.7122953,0.9263871,0.9432649,16.1204185,11.405381,62.7788968,16.2743751,35.9622864,67.4155609,34.0719972,42.1599246,22.6990774,3.7961226,12.3970143,11.8261947,39.1373333,8.138702,1.0079583,1.0303441,16.7457729,11.6345308,63.430053,15.900869,35.4591701,66.881681,33.3284293,41.9718171,22.0138266,3.6164535,12.8883678,11.3718118,38.4448922 +451,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0229652,1.0360543,20.1886943,15.836499,85.8123986,12.6889909,30.921377,66.4752543,30.6406968,42.3047491,16.6283485,5.8065615,15.6967407,13.3486548,34.8508023,10.1462727,1.0607359,1.0906811,20.241515,15.9309464,85.7352523,12.7634631,30.8512906,66.5392621,31.0095679,42.3432089,16.9082681,6.1017785,14.9867145,13.441118,34.2159624,9.3572991,1.0816487,1.0999732,19.9973535,15.9465548,85.1620839,13.1167501,31.5623827,66.826035,31.3986285,43.1167026,17.522541,6.3234545,15.4550291,13.734721,33.7714973,8.9595583,1.0409159,1.0666596,19.9634996,15.7207034,85.3288968,12.9562439,32.103193,67.3269737,31.1913908,44.0154995,17.3696571,5.91341,15.0971011,13.9282067,33.2640377,8.5041402,0.9300514,0.9602236,19.3146411,15.4717985,85.4993769,12.9524726,31.9232672,66.5464502,30.1041088,43.9071806,17.4560236,5.7609429,15.3457635,13.3870439,32.7428946 +452,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2096474,1.2270433,24.0468083,19.5630868,74.8134917,12.7027018,34.1903748,65.8428919,30.5624754,40.7971231,17.5320473,2.9372647,13.6083557,10.5128236,36.0117157,17.9245187,1.1813768,1.2062321,23.6811606,19.4011282,74.5825471,13.1850705,33.9170843,66.3367038,31.2098056,40.8544756,17.6226876,3.1556724,13.4320591,10.2854226,35.2416086,16.8838858,1.1871572,1.2201225,23.9086915,19.6437553,74.1938385,13.1831892,33.6794212,66.5779854,31.0365453,41.1961479,17.5819517,3.0461669,13.5596208,10.0632251,35.176679,14.6477087,1.2170068,1.2318878,23.4573273,19.2814942,73.6123479,13.4740172,33.4752318,66.9765243,31.1120537,41.5551535,17.541268,2.9800216,13.5024839,10.3686597,35.2511616,13.4521012,1.1381148,1.1530524,22.8806494,18.7605985,73.5294169,13.7945753,32.7324862,66.7798518,30.9909269,41.9104698,17.4416601,3.0215989,13.1776072,9.8468591,34.8816398 +453,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3959523,1.4357226,21.5907049,17.3068845,69.8420299,15.1318841,34.9648846,64.5037679,30.5191902,41.4893083,17.5190934,4.0670412,13.8365242,9.988847,31.9894844,14.5743978,1.321818,1.3797115,22.1260442,17.881817,69.5293183,15.0446115,34.9558529,64.5842514,30.8036404,41.1508652,17.7144484,4.1579436,13.6431061,10.3148717,32.3639932,13.7146628,1.3034072,1.3637883,21.4572875,17.3710987,69.2395829,15.1648038,34.6776674,65.0357874,31.6789416,41.6703521,18.2092498,4.2701305,13.7437286,10.1415104,32.3145206,13.2944435,1.362879,1.4030843,21.3742609,17.1893485,69.3889342,15.5553517,34.4748386,65.2756014,31.1773558,41.1804644,18.2472347,4.6211754,13.4772875,9.8349891,32.5067376,12.7084915,1.3242757,1.3197319,20.8030578,16.5269801,69.2619487,15.3701547,34.8332608,65.7326513,31.5716694,41.2202299,18.5399076,4.7891091,13.6845083,10.1714135,33.1724103 +454,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9016096,0.9235066,16.6858502,11.8646719,63.4972186,15.3655843,35.7246782,66.9746613,33.7881734,42.1507872,22.3737511,3.8879217,12.8256112,11.3512686,37.4924415,7.7604133,0.8856623,0.9070523,16.4582221,11.6586773,62.9345705,15.5859712,35.9773495,67.0169415,34.3938912,42.1106097,23.1643626,4.1606917,12.188487,10.6953469,37.5657111,7.4814179,0.9046429,0.9255065,16.4735328,11.4557337,62.5500854,15.283806,35.6821568,67.1756255,34.5334529,42.7431414,23.3258149,4.0487872,11.7924394,10.353228,37.6414205,7.5050278,0.9413944,0.9733094,15.9732144,11.211387,61.7807239,14.7803563,36.3961648,67.7259505,34.7739142,43.2048039,23.5238529,4.2154595,12.1424839,10.0527376,37.5535787,8.3326222,1.1540228,1.1842938,16.3277141,11.6166041,61.9970585,14.2375725,36.1096004,67.7323861,35.7303846,43.4403261,23.8497672,4.2846712,11.8996854,9.8834313,37.6149911 +455,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.3199602,1.3458031,23.6322849,18.8427282,67.1744882,8.7008654,36.7967773,63.0518508,36.0371329,41.1362375,21.5075219,4.1253379,13.9003152,11.6538094,40.4968092,14.3879588,1.3548856,1.3872651,23.6100559,18.6946002,66.5684629,8.7193025,36.5215445,63.2992378,36.2245996,41.3954423,21.6605306,4.1440759,13.5731109,11.2890202,40.5627294,14.9177452,1.3371359,1.3574618,23.3091868,18.3853092,66.31874,8.6370299,36.3671647,63.3995138,36.2325102,41.5582329,22.2493503,4.0510718,13.5491142,11.3482446,41.019701,14.8613719,1.2805887,1.3025007,22.843001,17.957325,65.8907146,8.5309641,36.0371414,64.1356643,36.5512548,41.7356664,22.2663057,4.0395119,13.0396067,11.0797133,40.9367738,14.1974411,1.2701022,1.2946905,22.5604019,17.6308704,65.3962133,8.5691773,36.0595428,64.0138535,36.5920823,41.5595911,22.3704318,3.9582728,13.3365139,11.1902444,40.6351394 +456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.0413043,1.0530291,22.1708446,18.1628542,73.5537956,13.7278238,32.8539532,66.7192206,30.9612039,41.983664,17.3965447,2.9226272,13.3295457,9.6780302,35.106805,12.7410583,1.1253398,1.1267371,21.7286004,17.635971,74.0716568,13.1416657,33.0299569,66.9332368,30.8972165,41.7080334,17.7330344,2.7670583,13.7846998,9.9475377,34.7096569,13.5116869,1.1057615,1.1381594,21.4078682,17.3853973,73.7222843,13.2108275,33.0645011,66.7500839,31.3403785,41.7779111,17.9736714,2.7345271,12.9643882,9.5903465,34.8823715,14.4176358,1.1537433,1.2010347,21.5247158,17.2474264,73.9009944,13.1754921,33.2736368,66.3305665,31.3324558,41.7546321,18.0644541,2.5725673,12.9263601,10.0890646,34.9941237,15.8309561,1.2334571,1.2637496,21.3519563,17.1351995,73.6796688,13.396193,33.6456448,66.6193388,32.0745809,42.3717698,18.4459684,2.6973394,13.0257054,10.210022,34.8056498 +457,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6924589,1.7140781,21.4516898,16.6191873,74.4750237,15.7979127,36.6817506,67.3228846,30.4064243,42.9647229,18.5989152,3.1995887,14.5039548,12.1081761,42.6229333,15.3940868,1.6789156,1.6914375,21.92371,17.3708071,74.9361392,14.7759918,37.1041612,67.6874966,30.1458268,42.7708321,18.3541679,3.2708275,15.2029806,12.7897321,44.3286173,13.7804626,1.4832351,1.4958232,21.666658,16.8518561,75.0746483,14.6004945,36.4683716,67.385842,30.1005321,42.5429305,19.0406318,3.4981093,14.6147346,12.7615075,44.2145269,12.3096158,1.4016415,1.3821938,20.8262648,16.250004,75.352444,14.2035775,36.6133208,67.3659202,30.6012067,43.1877059,19.3122773,3.4818272,14.6777055,12.750222,43.2017695,11.5885307,1.5091645,1.4893861,20.512268,15.8200664,75.1565497,13.3434276,37.1422312,67.1730591,30.6252799,42.9546292,19.2206073,3.4566242,14.6818222,12.1253439,42.7331013 +458,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.6866213,1.7346039,29.2172614,24.6228243,50.0238664,14.4530397,39.3036797,65.646581,33.6746669,45.3189194,21.5038143,3.85606,15.310943,12.502959,33.9247284,16.8339674,1.6639922,1.7131179,29.3460429,24.55655,50.3044401,14.2917264,39.4701508,65.1218076,33.3191311,45.3288893,21.4190172,3.7088956,15.0358308,12.3763642,33.7440806,16.3124169,1.6808207,1.7311889,29.7806362,25.0274415,50.4929651,14.2618286,40.1646527,65.3783341,34.3200233,45.3305873,21.6503401,3.6890413,15.2312001,12.4777496,34.4902696,16.1918567,1.5098541,1.5480873,29.8727898,25.0308992,50.8770844,14.0281512,40.2308324,65.2148986,34.5555607,45.753111,21.7383161,3.6028561,15.8961732,12.965368,35.0286274,16.6021588,1.4395347,1.4709549,29.8023045,25.0469556,51.671723,13.5999496,39.7668602,65.4237414,34.1125803,45.8075812,21.7091847,3.522667,15.6901149,12.9137529,34.9908375 +459,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8199124,0.8106367,14.4048134,10.7599875,63.0371936,10.1602542,31.1625157,69.9650088,38.9385765,42.308194,22.3626227,4.8146678,10.9258268,9.1575577,37.1763754,6.2434306,0.8178926,0.8097693,14.1067298,10.484293,62.5644104,9.9896926,30.5580877,69.5071072,39.3206468,42.1110991,22.1345676,4.8832935,11.068296,9.4106711,37.1715808,6.5832311,0.8222786,0.8023197,13.6840107,9.9961214,62.3365493,9.890884,30.834849,69.8424094,39.3917737,42.5566563,22.5774959,5.0729329,11.4919887,9.5356771,37.576153,6.7805836,0.7300933,0.7506338,13.6637822,9.9447207,61.848861,10.2230242,31.2333772,69.9316235,39.5656631,43.0353277,22.7744709,5.2108372,11.3659645,9.2037872,37.2576845,6.7823232,0.7903765,0.8101364,13.5212152,9.7151532,61.736827,10.2169227,31.3261105,69.8307393,39.5701488,43.0406701,22.8141764,5.181442,11.5327543,9.2738925,37.450143 +460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.3694793,1.4052376,30.0164486,25.2340594,51.6200306,13.528662,39.7952439,65.3299184,34.1353464,45.8855157,21.6288652,3.5406855,15.5962288,12.6053984,35.3261278,15.5277212,1.5741604,1.6218549,30.0478179,24.9805975,51.9354031,13.9992105,39.0745787,65.3728286,34.2676124,45.6391525,21.8974856,3.6018579,15.5089676,12.7270474,35.1732788,16.6499849,1.6370542,1.6786544,29.9779682,24.7925832,52.6283789,13.498429,38.8756089,64.6773282,33.8988133,45.7684557,21.5768637,3.3865552,15.5006981,12.5901462,34.9932765,17.0842827,1.5860678,1.6132636,29.4736235,24.3516928,52.6362328,13.5218154,38.9955296,65.0145662,34.1648423,46.3009543,21.6715349,3.3417119,14.9960427,12.261423,35.2681877,17.602141,1.6416237,1.6792161,28.9028235,23.836905,53.2877251,13.6072736,38.4182089,64.9761383,33.7641867,46.4266764,21.7117579,3.3876951,15.1535416,12.3180947,34.793581 +461,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1559085,1.1948467,16.4954218,11.7509716,61.3227264,14.5647735,36.4441803,68.1283198,35.6944101,43.6655554,24.3752548,4.4603101,12.3866408,9.5821679,38.0651174,8.3875279,1.1103963,1.1443179,15.5470829,11.2236726,61.0746376,14.6978418,36.6758179,68.9935053,36.2261279,44.4429606,25.0873985,4.6828818,11.680635,9.4889006,38.5492025,8.0749452,1.1099173,1.1432362,14.9963584,10.6808328,61.0213433,15.1121357,36.3425285,68.4476809,36.0230556,44.5222173,25.5097157,4.556682,11.6616106,9.5552273,38.5707523,7.7327824,1.0853594,1.1339943,14.8286712,10.4367322,60.8046307,14.5587315,36.6461409,68.5520985,35.4578729,45.0866072,25.0619238,4.467874,12.3440709,9.8648629,39.0064072,8.0994518,1.0392963,1.0823485,14.7562916,10.6298,60.6488569,14.3325398,36.8179694,68.7873245,35.4290735,44.9777144,25.0620784,4.1046731,12.4689907,9.9103466,38.841325 +462,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7048961,0.7048961,14.8111305,11.550692,75.0700841,21.8028978,32.7067654,64.2065577,28.4724863,40.5421458,17.3921622,6.9054236,13.6291011,10.368298,33.4276503,6.4560457,0.8229019,0.8476207,14.9759374,11.6479527,74.9494551,21.7159827,33.1667359,64.0743624,28.288681,40.043984,16.4934059,7.2171163,14.1990349,10.7287493,33.6475466,7.2237981,0.8741383,0.9010634,15.2479093,11.6937217,74.0211204,21.7139226,33.5577803,64.313635,29.2137212,39.9435256,16.9200718,6.5812363,14.0913131,11.1159969,32.9626363,7.0977918,0.8996953,0.9077565,16.2428685,12.2533932,73.1616078,21.8427867,32.8918815,64.3291338,28.4628701,40.1867122,17.2166791,6.5349564,13.9257331,10.4774564,33.1395348,5.7632399,0.9670147,0.9749449,16.9896592,12.7260956,73.3030754,21.4919753,33.0269316,63.8093219,28.2385627,40.038478,17.2509693,6.3488698,13.1853756,9.6170538,32.6737083 +463,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.981334,0.9917095,14.8512601,11.450476,79.3525917,7.5876146,30.9685985,64.0500914,30.9159492,38.7274054,17.0587457,6.2935309,12.7937796,10.2364984,36.9035227,6.5812867,0.9861853,0.9864678,14.9237434,11.4345844,79.4133501,7.6248116,31.122057,64.3048728,31.1695161,38.9081345,17.0349012,6.3600201,12.8188139,10.3137633,36.8639762,5.9753367,0.9742295,0.9745171,14.9022675,11.2959372,79.1796976,7.5359768,30.7147375,64.195106,30.8178518,38.9923327,17.2703428,6.2687366,12.7112111,10.3167398,37.2091833,6.5370701,0.9854924,0.99691,14.7010598,11.150815,79.0758135,7.5912005,30.902237,64.5307898,30.4242772,39.1591481,17.1146215,6.2920417,12.6103954,10.1602912,37.3581506,6.307425,0.9508329,0.9690376,14.5426354,11.1133093,78.8858577,7.8061332,31.1722846,64.6339889,30.4695297,39.4858239,17.0716425,6.4862408,12.4521784,10.3010768,37.6291465 +464,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0311911,1.0391719,16.5943564,12.4728834,73.2421984,21.3891325,33.9707796,63.6226913,28.0833719,39.9871044,18.1564304,6.553506,12.8989353,9.0142063,33.1395467,6.4954683,1.0076505,1.0222879,17.0567832,12.8521908,73.1087045,21.4407198,34.2592583,63.4151635,28.3591823,40.1162722,18.6692552,6.4384182,12.2026408,8.7014092,32.4577199,7.4923547,1.031729,1.0467133,16.7774868,12.6994748,72.5914451,21.7892965,34.267435,62.7758248,28.1774144,40.4898475,19.70433,6.3768786,12.133332,9.564054,32.9301282,7.9710145,1.0011854,0.9885325,17.0548023,13.173522,73.4174364,21.3390144,34.0353309,63.0661353,28.1476519,40.0135897,20.5389531,6.1820677,10.9608177,9.6728933,33.1297085,7.1637427,0.911503,0.9392587,16.2446429,12.6824094,73.5649628,20.8456083,33.7382795,63.1500525,28.5805663,40.2600172,20.5669227,6.5856806,10.6954194,9.7442644,32.7280865 +465,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3678244,0.4592206,12.3163186,9.4934261,74.5023885,21.4925955,32.6930693,68.1782178,29.9207921,42.9108911,16.5346535,3.980198,13.3410673,9.0733591,33.0607477,4.4797688,0.3736251,0.4343445,12.1461362,9.2004591,74.4978338,20.998843,33.3007048,68.1088489,30.5990603,43.128426,17.2083007,4.1307753,13.0822981,9.038014,34.5191556,5.3191489,0.3891122,0.4326948,12.0804059,9.3091335,75.1808682,20.805501,33.1135092,66.6067146,29.756195,41.7066347,17.206235,4.2565947,13.006483,9.3522267,35.1428571,5.221519,0.4089422,0.4471101,11.592233,9.0291262,74.5407348,21.0331384,33.7361331,67.0562599,30.4477021,41.818542,17.4524564,4.3779715,12.4206349,8.8421887,33.96,5.873494,0.4327335,0.4712939,12.2348782,9.6818539,74.5275432,21.4313725,35.2858856,67.2331068,30.1279488,42.4030388,18.3326669,4.3782487,12.28,8.84,33.8852989 +466,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1539171,1.24708,18.3768823,13.6368881,56.5384097,13.941275,30.0369755,67.4212892,37.6234065,42.5253302,22.4617037,4.3728337,11.3297205,10.0316277,33.8018669,12.7100253,1.1647602,1.2407773,18.3685149,13.799984,56.2526158,13.8809138,30.0601656,67.46313,37.2978593,42.8745821,21.7977867,4.5080657,11.3909677,9.6994665,35.2268139,13.164477,1.2168458,1.2819237,18.6246957,14.1413186,56.3568278,14.0936674,30.9731813,67.2899394,37.5056754,43.1859888,22.1024826,4.8111207,10.9903756,10.2272981,35.8928477,12.742417,1.1183123,1.1154001,18.9229349,13.9913902,56.4761165,13.6412647,30.4647764,67.3774659,37.9826672,43.5463294,21.8262376,4.9229591,11.2003058,10.1222307,35.8019954,11.2771203,1.064812,1.0723926,18.8660217,13.9825426,55.8305452,12.9567545,31.047279,67.5313538,38.3191801,44.1333753,22.0757723,5.1419289,11.3669591,10.2629657,34.9596478 +467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1688558,1.178729,24.8788981,20.3310003,64.623829,13.6363474,34.5261076,67.9331527,34.3603161,41.599907,19.9088185,2.6664887,11.942405,9.1911826,33.7791612,18.2050909,1.1190443,1.1417575,24.8639141,20.2095899,64.6664745,13.7154555,33.7300538,67.7261561,33.7300454,40.3388471,19.6163604,2.4222971,12.2126532,9.5334266,34.3097441,18.0580515,1.1476281,1.1761995,23.3677599,19.0150844,64.7464249,14.3527539,33.5017387,67.7685086,34.021363,40.9786442,19.8181318,2.5548509,12.0298674,9.5452008,34.7865455,18.3494793,1.1619564,1.1777071,22.9687608,18.6505851,63.9791489,14.5357033,33.3382364,67.4838856,34.3658251,41.5590192,20.0968913,2.5689996,12.5822026,9.7963081,35.3666151,17.1784804,1.2757268,1.3209142,22.223909,17.8485381,63.3535618,14.9891777,33.1193383,67.381795,34.4973327,42.1703764,20.4353313,2.6777333,12.9641642,9.9038706,35.2316845 +468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.0037825,1.0424822,12.8387066,8.8817156,64.6769413,19.3366773,35.1734298,65.5033809,33.4813734,41.5186097,21.1294361,9.6658197,11.9661875,8.5040012,36.571159,6.5683646,0.9623331,1.0126097,12.2231486,8.6293315,64.7984865,19.5127025,34.9730199,65.4836054,33.478615,41.7808227,21.8970494,10.1079286,10.8072886,8.0295094,37.4781697,7.3453627,0.9356205,0.9908082,12.8577215,9.0555935,65.2754901,19.1800084,34.355956,65.1564452,33.5839037,41.8732247,20.9061329,10.016254,11.0780956,7.9506758,38.9316097,7.7608162,0.96389,1.0183365,13.1249964,9.6169296,65.6579943,18.5177968,33.7685847,64.2225833,32.7239839,41.2414655,21.1530734,9.6625165,10.8840606,7.8815566,39.0519977,7.6441122,0.8878902,0.9410817,12.8311598,9.114273,65.121364,18.8274103,34.4168683,65.3073357,33.3136328,42.7699031,21.5327038,9.5941704,11.1964422,8.6165023,39.8780422 +469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1291398,1.1932942,20.3095813,15.7728929,56.1348559,16.1471232,39.5495962,68.066443,36.791977,48.3835534,25.5159801,4.2715063,14.098444,11.9729637,35.6967914,13.2550469,0.9702789,1.0559968,20.0584761,15.5886245,55.9463009,15.667438,39.8115717,67.498404,36.5289137,47.3443995,25.0543787,3.9726395,13.6131983,11.831821,34.6763641,12.8116432,0.9883822,1.0590755,19.3639365,15.0694401,55.9459294,15.3795335,39.7642248,66.9879529,37.0718788,48.0164057,25.5591396,3.8875896,12.8353877,11.4348386,33.9668692,12.6907666,0.9917988,1.0639375,19.0962419,14.4951388,56.2633475,15.1282389,38.9309589,66.2519971,36.4118741,47.9635991,24.925062,3.9882151,12.032208,10.1081326,34.1735867,11.3126034,1.0226312,1.0614803,18.5537794,13.8107507,56.7535772,16.1560039,38.4254025,66.4218005,36.4695843,48.9522084,24.9648133,3.7907507,12.0398672,10.3116452,36.1591307 +470,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5583911,0.6088225,12.0790916,9.3382929,74.6003197,21.6770915,35.0198413,66.25,29.781746,42.0436508,18.0753968,4.6230159,11.9573796,8.6492891,33.8773885,7.6811594,0.5768996,0.5768996,11.505292,8.8004704,74.4515357,20.9115806,35.2137767,66.290578,29.8297704,42.418844,18.4283452,4.5328583,11.9010212,9.3160377,33.9540412,8.4821429,0.7438942,0.792986,11.9913078,9.2256025,74.8793242,20.635861,35.2694611,66.5269461,28.9221557,42.5748503,18.5429142,4.9700599,11.7905675,9.24,33.9112903,9.2705167,0.8687107,0.9190252,12.4038851,9.4496155,74.7622985,20.8096013,34.2851274,65.9202958,28.4511093,42.4609696,18.5086278,4.9096138,12.3553719,9.3801653,32.4875208,10,0.8744642,0.9343482,12.6814516,9.6572581,73.8095238,21.5274949,34.8784508,66.1516275,29.7280593,42.9954677,19.9217141,5.0473836,12.7897351,9.9751656,31.9617623 +471,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.2648819,1.2633039,20.6699599,16.4183284,68.6021638,15.1404065,35.0977729,66.2663795,32.0007579,41.3390927,18.9414163,4.8442831,13.3911649,10.4076578,34.0643675,13.5918695,1.1565059,1.1713504,20.080599,15.7885867,68.6118313,15.3295278,34.8997741,65.8438007,31.8547502,41.5643156,19.0322251,4.7765801,12.822131,10.1349086,33.5842523,13.6963433,1.1686556,1.1988851,20.4079117,15.9744887,68.8874271,15.1837782,35.4516519,65.7448403,31.6645317,41.6580688,19.43534,4.8250907,13.7422941,10.338866,35.3159511,13.0650141,1.2822984,1.298782,19.7200601,15.6114716,68.7670161,15.8455518,34.9135786,66.2686332,31.8936019,41.5441598,19.4999056,5.0104713,13.6838224,10.4287751,34.6865646,13.6138701,1.2981622,1.3096164,19.5266115,15.2633471,68.9358299,15.9214596,34.9018888,66.0480574,31.7129222,41.5906698,19.4565292,5.1008233,13.5497088,10.3224953,34.7176909 +472,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.8068252,0.8117445,19.5839694,15.8226913,85.5979899,10.7196089,30.5585451,67.0949775,30.930978,43.705778,18.4543544,4.1899121,13.809924,12.6776901,32.417247,9.4999905,0.8959835,0.8959835,20.0003778,16.2446108,85.7680018,10.426555,31.0210334,67.5824889,31.1330332,43.6683789,19.0081296,4.3089876,13.9622605,12.590502,33.5126615,10.445159,0.9960621,0.9960621,20.4297974,16.5730757,85.1390917,10.4480827,31.4688541,67.3960231,32.0658061,44.1906583,19.1947136,4.7566752,13.8907917,12.9075003,32.6063327,11.0506285,0.970938,0.959318,20.5238629,16.4331544,84.2876548,10.2167553,31.9234271,66.3025506,31.5860092,43.9953779,19.0640754,4.5551022,13.8562725,13.3174827,32.7214658,11.3717426,1.1089609,1.0973253,20.4349809,16.1359309,84.5716619,10.6099221,31.1428528,65.4997553,31.96985,43.5473061,18.4000303,4.7550324,14.1690547,13.0059063,34.3418171 +473,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9716278,0.9943256,12.992126,9.7181931,74.1269165,21.0845896,35.0932994,65.5852417,29.4105174,42.8117048,20.1229856,4.9830365,12.6382979,10.1702128,32.3202055,9.1900312,0.9775578,1.039625,12.6722338,9.1649269,73.7920621,20.080748,35.2978997,65.4307758,28.6112302,41.8988427,18.9669953,4.9507072,12.7758913,10.3140917,31.3247863,6.8791946,0.9682868,1.0502755,12.5,9.2028381,72.745013,19.8595147,35.7634409,65.827957,28.7956989,42.6451613,18.7741935,4.8387097,13.1465517,9.9654875,32.3043478,6.3934426,1.0805482,1.1731043,13.2346811,9.8165902,73.4361425,21.2616822,35.6620808,64.8968186,28.9122958,42.7128117,18.9810834,4.9226139,13.5702055,10.077187,32.0811744,8.5483871,1.019777,1.0638618,13.1677796,9.8288815,73.634775,20.9594883,35.3411054,64.1407599,29.5984456,42.2495682,18.8471503,4.6416235,13.6441403,9.8971722,31.8221071 +474,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0274973,0.9804977,16.8582649,12.7093407,54.2484867,15.7543992,34.7400749,65.4467616,35.6557619,46.5917117,23.6173677,3.251714,14.7164673,12.4810813,40.92192,10.2836661,1.1501526,1.0857235,17.5869447,13.0818112,54.9015066,15.6903416,34.9161059,66.4644444,36.355985,46.3478988,24.0311123,3.3804815,15.6577419,13.3081146,41.6490998,8.8652294,1.0870333,1.0115788,16.8393271,12.2598467,54.8112796,14.8825619,35.4075525,66.6984767,35.5204893,46.2822388,23.1602985,3.213038,14.9224964,13.0641692,42.1394454,8.5616321,1.2311922,1.1745645,17.9120478,13.1967252,54.7943803,15.1572465,35.8578819,66.5184329,35.9102284,47.3340892,23.8048596,3.1788139,15.5517564,14.2408824,40.1260301,11.0759353,1.3400253,1.3263955,18.6630008,13.6137041,54.071636,15.9765894,36.0578779,67.556155,36.8896881,48.5923256,23.8937154,2.9216549,14.9916358,12.9608995,39.257947 +475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2415282,1.2636247,21.0122988,16.8684918,73.7084141,13.3632174,33.3880891,66.1287262,31.8419135,42.3946851,18.5833171,2.8507995,12.1530673,9.9207878,34.2462941,17.5798953,1.1710381,1.2161889,20.8921955,16.5569893,73.7509983,12.7897845,33.6198325,66.3208927,31.8415471,41.8198174,18.8599303,2.7366188,12.3792372,10.1166447,34.2479722,16.6927821,1.1576899,1.1837677,20.6062222,16.3236869,73.2341722,13.0838338,33.6975004,66.3214963,32.2154727,42.7228054,19.0290871,3.0875913,12.0609789,9.6183354,34.0785282,16.2808567,1.1135856,1.15445,20.2449789,15.9818618,72.9624536,13.5227385,33.2970185,66.4851579,32.3861422,42.960409,18.6633835,3.4554441,11.7705793,9.8043025,35.1106635,16.0542709,1.0960584,1.12701,20.2025244,16.0116294,73.0578083,13.9023862,33.789058,66.5810075,32.8844638,43.4724625,19.3153904,3.6081383,12.0400633,9.6978194,34.3286633 +476,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7841613,0.8049131,13.6545949,9.7263168,61.7281735,10.098953,31.2426108,70.0815842,39.8143838,43.5741275,22.930956,5.3263187,11.3967937,9.2180736,37.8648915,7.5879296,0.7977218,0.8436652,13.493413,9.7468187,61.4229812,10.0527009,31.000913,70.0239129,39.3247581,42.979952,22.7453918,5.2778404,11.1711909,9.2822601,38.1233981,7.9787315,0.7769121,0.8359713,13.4770986,9.7738085,60.8786078,10.125121,31.0166122,69.9643321,39.7112959,42.9662199,22.9796055,5.1109123,11.0973117,9.1083482,38.3591196,7.142866,0.7930341,0.8453321,13.6061093,9.904334,60.6209062,10.1966213,31.3023028,70.088916,40.057536,43.2060625,23.1328489,5.1830529,11.3475929,8.8449166,38.1737781,6.4192233,0.829825,0.8793682,13.6193416,10.0531933,60.2279419,9.9348358,31.1061741,70.3950655,40.0148184,42.7111079,22.9382745,5.1209869,10.9554507,8.6154738,37.5736069 +477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2369088,1.2304081,14.9243894,10.8102117,66.9292085,22.0998271,36.1661522,66.9970818,31.2315189,45.5293046,21.235745,8.8780843,11.8265794,10.8622386,34.7659834,5.9684617,1.1848117,1.1787129,14.9783648,11.0129262,66.4742279,20.0351245,36.0497228,67.2652246,30.6432461,45.0473302,20.6984827,9.1357285,12.1632185,10.6205124,33.7470371,5.9395184,1.3131009,1.3159737,14.8017373,10.6150131,66.5107459,19.9305456,35.9769867,67.1434175,30.5534867,45.7837963,20.9695406,9.49106,12.5275395,10.5747857,33.64247,5.9356137,1.25667,1.2595241,14.6309585,10.4612276,65.7688542,20.1564009,36.1572776,67.2019429,31.3584519,45.7179782,20.985627,9.3207602,12.2902811,10.7090487,33.3948954,5.5,1.0659742,1.099401,14.236093,10.1790858,65.654822,19.844771,35.2218816,66.9784065,31.6648494,45.5262024,21.3238032,9.075886,12.5090992,10.0364817,33.0747479 +478,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.89473,0.9430192,15.5679371,12.4498953,73.5267774,20.6011464,34.0231408,62.817098,29.1277268,39.9421424,20.8500191,6.386296,10.8933423,10.1919526,32.5528095,7.994186,0.9083663,0.9591131,15.0093441,11.7413687,73.1042754,20.7987113,34.2302344,62.5409482,29.7379489,40.4071111,21.0341549,6.3406672,10.9478725,10.4087502,31.8225247,8.7155963,0.7980071,0.8575043,15.0499337,11.6738032,73.4549924,20.7623118,34.1410751,62.9318655,29.1986504,40.2351267,20.80134,6.0700593,10.9099836,10.4309531,31.1143978,8.4664537,0.7221968,0.7760347,14.6611052,11.4685698,73.8023245,20.5839069,33.9374381,63.08342,29.2204506,40.5412137,20.6305821,6.0327724,10.4423901,9.8352245,31.0362687,7.9124579,0.7361414,0.7914861,14.9265116,11.6320354,73.9772202,20.0554995,34.0897486,63.3605312,29.0413027,40.1580827,20.2192708,5.9918424,9.5314184,8.9114213,30.8476354 +479,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.811015,0.8451364,18.6206298,15.0335826,86.0052837,12.866356,31.9158833,66.3774562,30.7682322,43.687632,16.9365244,5.6945678,16.6567519,14.0060735,33.2218883,7.854024,0.7159628,0.7429544,19.049711,15.2657765,86.170775,13.1230805,31.6948729,66.1174515,30.4697506,43.4803135,16.7882671,6.0531342,15.9493999,14.2562395,32.7092925,7.8271266,0.7909307,0.8235895,18.5027632,14.4008639,86.2064114,13.0581114,31.2887311,66.1397021,30.0769388,43.4970919,16.568201,5.7789383,15.7380706,13.790037,32.9855471,7.5582011,0.7729066,0.7870906,18.3735602,14.0966434,86.1563984,12.9055483,31.5487888,66.2512704,30.3168477,44.1333049,16.3538393,5.6761849,16.2493025,13.8044534,32.9443937,9.0376308,0.7424463,0.7560099,18.2284046,13.9867157,86.5014527,12.9197232,31.3991767,66.3249523,30.4158713,44.0433565,16.1703151,5.6336095,16.469621,13.8154224,32.6247613 +480,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6676845,1.712609,26.3485752,21.7684239,51.5632724,16.3738048,41.4868045,66.9341778,36.0394539,46.3815425,23.6973564,3.6184101,14.1092714,11.2368279,33.9256435,15.959792,1.7277404,1.7449801,26.4850552,21.8039734,51.5111557,16.2781727,41.0092882,66.4263192,36.4008818,46.4941653,23.7913385,3.6047405,13.7746184,11.2083498,34.120558,17.1116096,1.6199394,1.6715782,25.973113,21.0663174,50.9777887,16.1956941,41.4313592,65.9937566,36.6600546,47.3319708,24.4917962,3.5996543,14.5070296,11.3148822,33.6269786,18.2782697,1.6178669,1.6330052,25.9945556,21.3855116,50.4331322,16.3371061,41.3807841,66.1325964,37.6098906,48.0720144,24.4258107,3.7567228,15.0113189,12.1805431,34.3946407,18.0232349,1.562151,1.5882811,25.5192845,20.9776153,50.5224851,16.8629708,41.1453903,65.8525153,37.9748915,48.3147637,24.2073175,3.7846249,15.3072767,12.0402022,34.501664 +481,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7279727,1.7650287,25.5429278,20.4446515,47.4784502,17.4088341,37.1324695,67.465163,37.924809,50.003584,25.0118589,5.2868798,12.3995838,10.7771422,29.8304302,15.0469007,1.6275852,1.6275852,24.4714131,19.4973332,47.3455456,17.3430115,36.4587291,67.5390964,37.4754208,49.4573189,24.0598315,5.2559562,12.6863573,10.5580267,30.5284651,16.3360302,1.7463981,1.7192033,24.4257257,19.5492692,47.4285774,18.0389923,36.8095656,67.5736587,37.8522747,49.0408576,24.2707656,5.3140524,11.6376359,10.243436,30.4306068,17.12572,1.6651984,1.6706557,24.1147776,19.4436291,47.3881355,18.2657002,36.8663745,67.0816887,36.862675,48.1696707,24.3312232,5.5527443,11.6089748,10.1857402,31.9178909,16.0738202,1.720108,1.6930941,24.0141531,19.5127019,47.5018832,17.8625143,37.2744928,66.9519219,36.6122363,48.098672,24.6061538,5.7129997,11.8040529,10.7724629,32.5714519 +482,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.029051,0.9769723,17.3872583,13.6220475,77.7425985,16.8582112,37.6726226,65.0167169,33.8493961,45.5080609,21.5511022,7.1449311,13.1834398,10.5534368,34.0491813,8.1262923,0.9771019,0.9026799,17.3134968,13.4181418,77.5864632,17.1859206,37.6277312,64.9562083,34.1240956,45.7445216,21.7591327,7.2919673,13.3401986,10.8318696,34.1957498,7.9192522,0.9157461,0.8707092,17.1514159,13.2928987,77.6717264,17.4229029,37.5594156,64.7430258,33.6972761,45.6550835,21.2641227,6.8701691,13.1798067,10.4879538,34.1072586,9.115432,0.8970518,0.8602949,17.7582749,13.810333,78.0952367,16.9778039,37.2519327,64.8994251,33.5900693,44.972387,20.8955729,7.1025056,12.7486205,10.1868204,34.0696172,9.0760929,0.8156625,0.803439,16.9640926,13.0967879,77.8536041,17.0236084,36.9246995,64.6394575,33.5230563,44.7151167,20.8123892,7.1449997,12.6384685,9.9721876,34.3540937 +483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.9755735,0.9980103,19.4415321,15.5929688,72.2856663,14.2389699,34.0582836,66.9059365,33.6940265,44.5146898,20.2807068,3.5890255,11.6802371,9.1823497,34.0879595,14.3477937,0.98785,1.0113662,19.1253734,15.0043771,72.3373173,14.0286985,33.8149575,66.8570823,33.2101264,44.522875,20.3517011,3.5730237,11.2281452,8.9341593,34.4539533,13.0149593,0.9454866,0.9803788,19.0997201,15.0157932,72.4390352,14.2257079,33.6673526,66.7472931,33.9437931,44.079728,20.6749536,3.4669355,11.543769,9.2353547,34.2080558,13.1322778,0.9684106,0.9842488,18.8720808,15.1744119,72.6455991,14.5248257,33.9781539,66.92381,34.1917923,44.3745793,20.8995917,3.596009,11.3517264,9.1579227,33.4368784,13.1422863,1.0440694,1.0605848,18.4729618,14.5275208,73.0490412,14.572693,33.6669092,67.1485061,34.0622806,43.8225898,21.1638211,3.4717056,11.6502513,9.5812678,34.0525688 +484,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1068345,1.1412829,18.741386,13.9724951,56.6451901,12.688008,30.5814689,67.647561,37.9712678,43.5194195,21.5035053,4.9650657,11.6246995,9.9579866,35.5399037,10.1140084,1.1138895,1.1632793,18.7868842,13.9323027,56.6941906,12.4208667,31.3102717,67.6828868,38.3344247,43.6600913,21.527451,5.239211,11.3622926,9.4152788,35.6279167,8.8651169,1.2382863,1.306416,18.6380695,14.1457816,56.2470375,12.3618053,31.4812694,67.9142436,39.0601953,44.1992557,21.9077473,5.2224866,10.68224,8.7774097,35.6202367,9.5205308,1.4505296,1.5212588,18.9452878,14.4391347,56.4297872,12.5017491,31.1502821,68.2490395,39.5767847,43.8876201,22.3334432,5.0569415,10.8697696,9.154459,34.9355293,10.2751868,1.3680254,1.4319571,18.9532476,14.2547148,56.3132464,11.8055311,30.5319858,67.9212751,39.4787792,44.018639,22.5405003,4.8818954,11.3396583,9.4688341,34.120657 +485,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4566712,1.5041629,24.8518813,20.5052866,50.1776056,17.3076798,41.2525775,65.6349271,38.2302211,47.9657405,24.5422477,3.5600076,15.2161346,11.8213626,34.73778,19.3045286,1.5382409,1.5935565,24.8327664,20.0902629,50.2434177,17.6479129,41.1211102,65.4259346,38.8191876,48.654734,24.8280645,3.4828092,14.8070151,12.3267104,34.9028123,19.4915213,1.4958694,1.5450089,24.4781644,19.7736716,49.2613522,17.886786,40.8308562,65.3322527,39.2598857,48.7462586,24.4863693,3.3987927,14.3510359,12.2181666,35.2056755,18.1012728,1.4518601,1.4989586,24.2241091,19.540141,49.1912098,18.609612,40.7445431,65.8602926,39.8465199,48.4502061,24.4350753,3.6355722,14.4490353,12.2144201,35.1917616,18.1481594,1.4326496,1.4726188,24.0899144,19.5684837,49.2796161,18.818481,40.4367911,66.1294454,39.8946381,48.4789596,24.1716591,3.5993965,13.8238933,12.0997552,35.7009908 +486,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.266758,1.27166,22.3663358,17.3811993,65.3877845,8.6356088,36.194674,64.3382974,36.5086912,41.6044897,22.6207308,4.0855931,13.0767771,11.0328056,40.4825565,13.4023293,1.2350345,1.2253086,22.0715277,16.9747754,65.1374687,8.8364463,36.1082399,64.6096592,36.494191,41.9841039,22.359204,4.0465108,13.020125,10.8789516,39.96035,12.8516209,1.2021302,1.2029196,21.4342361,16.2708604,65.0463248,8.8486133,36.3669656,64.6075084,36.1641445,41.7948517,22.3335678,4.0216378,12.9678428,10.6387056,40.1144925,12.0963361,1.1553546,1.164336,20.6870111,15.6734411,64.6771742,8.8600345,36.4650806,64.9631828,36.5720558,41.7640921,22.386171,4.1264015,13.0357611,10.7689993,40.5911231,12.025412,1.1166454,1.1415269,20.4749734,15.4431134,64.4603292,9.273923,36.3625463,65.2667956,36.8437949,41.7838863,22.1412227,4.2467145,13.1659078,10.7774159,40.4451044 +487,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.094638,1.0566633,20.3939316,16.248487,84.5243287,10.7449663,31.3499666,65.8481053,32.1040115,44.1688396,18.5686716,4.9955877,13.5010512,12.955534,33.5598466,10.5171217,1.2135912,1.1750627,20.1391946,16.0734465,83.7306708,10.70242,30.6994149,66.4612259,32.2276758,45.0269387,19.0080179,4.8331525,13.5408969,12.9944204,33.2772827,10.4809808,1.3070414,1.2679294,20.1034442,15.9760137,83.3618203,11.4684769,30.9725842,67.1943391,32.2121572,45.3449083,19.0017916,5.2104661,14.1638265,12.9011623,33.1442231,10.2786275,1.2122374,1.1724852,19.654698,15.4310429,83.4799246,11.2912033,30.253648,66.9519959,32.6579362,45.5083004,18.5067964,5.1834526,15.1613307,14.0411574,33.3411243,10.2786669,1.1592772,1.1561772,18.8295288,14.8131599,83.4679335,11.1971865,29.865431,67.142281,32.7818196,45.4872044,18.198802,4.8942844,14.7506365,13.6001761,33.727603 +488,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3667063,1.3670082,19.7454614,15.5025991,68.812293,15.9693128,35.1653383,66.5569133,32.541648,41.7975716,19.3293287,4.875157,13.5332163,10.8467734,34.9918365,12.2116028,1.2819225,1.3145894,19.9820814,15.808558,68.2520224,16.1787794,35.1387144,66.7563766,33.3078957,42.1657301,19.6565054,4.768013,12.9642032,10.7574966,34.6412254,12.3051275,1.3825683,1.4252087,20.0034625,15.7873534,68.412683,16.7954092,35.5850768,66.2671605,33.7728765,42.3321808,19.755884,4.9472953,13.2144367,10.8447715,34.486145,13.7895249,1.5765723,1.6071847,20.0172673,15.750149,68.4692499,16.5491268,34.9249423,66.6302857,33.5128596,42.4096608,20.1078449,4.8759929,13.6658158,10.8952386,34.804931,14.3864508,1.515713,1.5296044,19.4413067,15.1926315,67.3767083,16.8743733,34.8145442,66.7125205,34.028956,43.119582,20.6102359,4.906968,13.691584,11.5000735,33.7341533 +489,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5926892,1.6115038,22.8616342,18.6076014,48.6710307,10.1110382,35.0383252,66.4229415,35.2692335,45.7768911,21.7154401,3.9769045,13.3761885,10.0817232,31.7803388,13.5479995,1.7119598,1.7184682,23.082129,18.7728512,48.6532157,10.1434074,35.6015741,66.6276445,35.3525267,46.2034561,22.2248207,4.0925835,13.3063424,9.9902496,32.1111687,14.2070329,1.6309384,1.6473811,23.2535771,19.0214559,48.2113266,9.9089247,36.212579,66.3887963,35.419721,46.493442,22.409905,3.9266652,13.319162,10.3808838,32.1418021,14.6323075,1.6782933,1.7110875,23.8761277,19.4848171,48.1532535,9.9062348,35.7850491,66.5567386,35.5864226,46.6393334,22.7571325,3.8196224,13.0480417,10.1459264,32.2495593,15.5645722,1.6443432,1.6560897,23.6566755,19.4595807,48.2064679,9.9436223,35.7286012,66.0813744,35.7448923,47.1485436,23.0700679,3.8833678,12.9385254,10.085882,32.2326204 +490,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1584241,1.1913932,15.2168751,10.9296881,60.0387249,14.7806154,36.4674224,68.9970905,36.0313992,44.8819776,25.3849291,3.9892326,12.3788351,10.3015037,39.0753559,8.8711283,0.990837,1.0363964,14.6382277,10.3170372,59.7165706,14.8905086,36.8482767,69.2561209,35.5385805,45.0222551,25.5044209,4.0476333,12.0010003,9.9113922,38.3585537,8.8029114,0.9816291,1.0036012,14.9251326,10.2553143,60.743793,14.53995,36.3839853,68.7815604,35.1658321,44.8608294,25.0993792,4.1721392,11.2059698,9.8959679,37.2512039,8.3924924,0.8804106,0.9023564,15.7182057,10.8005759,60.0398474,14.2764294,36.2135238,68.5620619,35.1057819,44.7096848,24.7361168,4.023697,10.9932266,9.418639,37.088084,9.418698,0.9103024,0.9322956,15.9839411,10.9865023,59.3824645,13.9141525,36.2133705,68.9578414,35.0001818,44.3138357,24.6041874,4.0500848,10.5221074,8.7168745,37.9298455 +491,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.0154446,1.0261379,16.0116168,12.4459785,66.1071981,10.902863,33.7725336,65.3126631,29.3214092,40.1215183,18.3301463,14.0974858,12.7224739,9.2741983,37.7202766,6.9144604,1.0819293,1.094852,16.5584794,12.7450951,65.934295,10.832102,33.6873193,65.3398184,29.4395739,40.6481268,18.1625092,13.9010669,12.6239007,9.5952665,38.0166414,7.3448413,1.1168276,1.1455373,17.0321336,13.1094996,65.7172708,10.809163,33.9834656,66.0165358,29.5175763,41.0130982,18.0634039,14.1350763,12.3351122,9.8735966,38.2319676,6.9366364,1.1734597,1.2071197,17.301532,13.4505686,65.9346108,11.0796254,33.4856637,65.8253614,29.5064709,40.8113073,17.9907177,14.3771071,12.6726137,10.2560426,39.3540051,7.0168289,1.1827355,1.2303612,17.6664216,13.6019536,66.2228319,10.9769715,33.9138518,65.5459165,29.7483671,41.0079616,18.3181655,14.5081017,12.8847857,10.4777266,39.6128936 +492,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3355953,1.3214487,19.2392911,14.1219148,52.8970518,15.8969496,37.2605378,68.4514825,37.2485166,49.1294699,23.7059498,3.044536,14.5419116,12.5447443,38.8754817,10.7842926,1.3707701,1.3707701,19.7270592,14.0655365,53.4218591,15.6410957,37.2406077,68.0556678,36.7132047,48.6045089,23.6479002,2.9674129,15.8713246,14.3107842,39.6439534,9.7484215,1.4051703,1.4644036,20.4803344,14.5122074,53.0309369,15.1644992,38.9247611,68.4587185,37.0125386,48.9296897,25.0036061,3.1044735,15.0108907,13.7695958,39.8972657,10.1851726,1.410093,1.5033883,20.2498407,14.286108,51.6914887,14.7434336,39.3392222,68.3513342,36.4136137,49.4238655,25.3717144,2.8765773,13.8915166,12.8177927,39.0657074,11.5624783,1.3474481,1.4392192,20.9621517,14.5850768,51.3392881,14.6787662,39.0363566,68.3968444,37.2675819,49.3062063,25.4225975,3.1187542,14.6279977,12.9376803,40.4536944 +493,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0087645,1.0530591,13.250735,9.9328013,73.6807676,20.9416276,35.625,65.0215517,30.1508621,43.125,19.0301724,4.8922414,13.5373009,10.0420168,32.0491109,9.7133758,1.0426615,1.0725313,13.4780739,9.9957008,73.7694013,20.1343736,36.1986002,65.463692,29.4181977,43.2852143,17.519685,4.6587927,13.1002527,9.4172297,32.4658703,10.5863192,0.9048863,0.9748608,13.1771281,9.7807395,73.3729112,20.9267241,36.3735307,65.3678711,29.8432738,43.2520679,18.0452764,5.1153679,12.712585,9.3270869,33.290378,9.775641,0.8155287,0.8653149,13.5778636,10.1458601,74.0393013,20.8511548,35.5569948,65.9110535,30.2029361,43.5017271,17.8972366,5.0734024,12.2003425,9.2116538,34.0968021,11.196319,0.7838699,0.8007851,13.8321492,10.4573712,75.0337079,21.2301587,35.7461024,66.0356347,30.7126949,42.8730512,18.0178174,5.545657,11.8983957,9.1273375,34.0664273 +494,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7792931,1.7722745,24.4082034,19.1509028,52.2535174,11.5553602,35.6137427,66.4371156,37.5452484,45.5863916,23.1184068,5.7746784,12.2103573,10.4405036,33.8546518,15.7898276,1.8299863,1.8350237,24.9143152,19.6079539,53.0655796,11.7463714,34.9667191,66.0933929,37.6521495,44.876178,22.9770636,5.4653296,11.9310612,10.6872289,33.5003977,17.4512341,1.7612902,1.7691966,25.208812,19.9057449,52.9791105,11.0971555,34.881575,65.644961,37.8538795,45.5637742,22.5468318,5.5473893,11.9871251,10.6608215,34.1338626,18.1621494,1.7138742,1.7536355,24.8864994,20.1188778,53.4211007,10.9174169,35.5060452,65.4427283,37.2640338,46.3296536,22.5762673,5.5694008,12.8458315,11.1942167,33.6989701,17.0953816,1.6441774,1.6928996,24.6481165,20.195213,53.778823,10.7516347,35.8377598,66.2229304,37.3918682,46.3714972,22.467728,5.4188638,12.7735543,10.8512509,33.3664312 +495,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0034127,1.0186316,14.5734759,10.3629626,65.7836582,20.0395083,35.2629668,67.4397838,32.5602162,45.8181078,21.6398826,9.3316051,13.0324675,10.0794616,33.0045084,4.7268808,0.9244888,0.9396612,14.7874547,10.680821,65.5380395,20.2615938,35.1257762,67.2804153,32.2092142,46.1721024,21.3817172,8.7677501,12.7957027,9.5767694,33.3940648,3.8541586,0.8171328,0.8651601,14.8807242,10.5871413,65.0298403,18.9076174,35.2297881,66.8829373,32.1163243,46.2009193,21.70127,8.728662,13.2472254,9.5642592,33.6446218,3.5331792,0.8223133,0.8713312,14.4870263,10.5035553,64.7114635,19.6141339,35.1879732,67.2807233,33.3649258,46.1261431,22.3130077,8.7162634,13.3055068,10.5083321,34.1136441,3.6104914,0.6988271,0.7398538,14.3048264,10.5233063,64.2325583,19.3134354,35.7281653,66.9977208,33.2359427,45.2687471,21.982127,8.0023084,13.2941283,10.4003394,33.1349878 +496,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3908646,1.4143092,19.211462,14.9610889,66.9623642,16.7452698,35.2962652,66.4605035,34.1205791,43.5342614,21.079068,4.9706106,13.5663368,11.1517737,33.9180557,16.8032877,1.4733868,1.4937181,19.1975832,14.9098188,66.3486562,17.0148577,35.2395376,67.5890339,34.8535116,43.6609578,21.9743564,4.8265724,12.8189461,10.8008722,34.2078665,17.5212775,1.3149514,1.3485374,18.5365875,14.4861647,66.352086,17.3100212,35.100209,67.1685315,34.6415895,43.376006,21.721786,4.8071488,12.4449214,10.7329022,32.8126898,18.6340924,1.3304129,1.3631575,18.3282277,14.4388788,66.5413036,17.3485206,34.8198439,67.8021566,34.2153546,43.0556831,21.1869077,4.7886617,12.3714088,10.2461488,32.6007002,18.4612018,1.2633115,1.2990706,18.0014166,14.0987311,66.780595,16.9366473,34.6765565,67.6748315,33.5748754,43.0014051,21.2610458,4.6467246,11.6348884,10.0636846,32.522469 +497,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9203547,1.8616486,23.8401629,19.5251796,47.2301038,17.6488432,37.3501041,66.9598265,36.4222259,48.5512685,25.1168407,5.7090839,11.5986579,10.5910818,31.9959664,14.9759747,1.9098044,1.8461906,23.8522191,19.3911963,47.3286828,17.0448632,36.8022695,67.2912953,36.5601496,48.7937058,25.1829979,5.556741,11.9588845,11.322611,32.1510843,14.6420245,1.9343339,1.8719973,24.5300734,19.6851483,47.2652511,16.1884854,37.1375953,66.7336812,36.7567038,49.0467082,25.1230659,5.5128026,11.9732847,11.2663188,31.4672392,16.4326583,1.9198921,1.8997029,24.8220871,20.0296082,47.0171074,16.1327828,37.4955452,66.8742476,37.45778,49.6403327,26.0103406,5.4125411,11.3926711,11.3025579,31.2312147,15.6159384,1.8521118,1.8640972,24.7877013,20.0989841,47.0886772,14.5738457,37.0514834,66.0633846,36.9062173,50.0838457,25.4531364,5.3807711,12.2193361,11.5680809,31.5769733 +498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.7945454,0.837888,12.1323518,8.610678,65.0019411,19.2787104,33.7245148,65.5444499,33.8014675,42.4201674,22.4124698,9.5613745,10.498792,8.098305,39.5226469,8.9712962,0.6086534,0.6418319,11.9162363,8.2097853,64.8573488,19.01231,34.2211662,65.8523239,34.00074,41.899344,22.6120571,9.3497473,10.1986235,8.441556,39.3322958,9.294122,0.5107494,0.5107494,12.0605619,8.4406509,64.6925951,18.7139506,34.479785,65.4165337,34.0995567,42.0497809,23.0383738,9.4538577,11.1149569,8.7603851,39.2286223,9.1611319,0.5274766,0.5174274,12.2342199,8.5217649,65.1890248,18.2130056,34.758737,65.6738821,34.2928467,42.1131488,22.8119876,9.2013342,11.3911277,9.9865414,38.6455506,8.4801579,0.5514614,0.5502461,11.8114045,8.2793227,64.7429652,17.9248299,35.3403978,66.8432927,34.2164443,42.1483675,23.5549184,9.2003886,11.2985354,9.9107571,37.8991062 +499,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.1379964,1.1669587,20.1446805,15.0524588,64.5247898,9.308726,36.4336787,65.0186833,36.9445037,41.782249,22.3109271,4.4421508,13.3875023,10.7780047,40.8054573,11.9596593,1.1276513,1.1540833,19.9910647,14.7460138,64.9032808,9.2992914,36.4470505,64.879273,36.8551119,41.9663457,22.4293378,4.5042295,13.5497969,10.8642051,41.3832698,11.5659715,1.1172916,1.1571797,19.8909141,14.6309318,64.2282411,8.9826006,36.4751483,64.6396618,37.2728394,42.120485,22.3412103,4.433468,13.4891261,10.662365,42.0970543,12.0641957,1.1698376,1.2038999,19.8945747,14.5544809,64.1643192,9.0861496,35.91468,64.4910351,37.5770452,42.1981151,22.7342549,4.5171634,13.4393623,10.4821041,42.0102764,12.4660318,1.1535726,1.1775796,19.6940225,14.5668331,64.0726657,9.3553145,35.6775442,64.7174142,38.1720784,41.9763067,23.298244,4.6617449,13.4415747,10.4220035,42.1565235 +500,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8204797,0.8618848,13.7856034,10.260739,59.6829171,10.0981679,30.9689585,70.5009235,40.2910763,42.5345692,23.2327657,4.9656697,10.8870966,8.8362452,37.6758483,7.0652263,0.7951054,0.8311634,13.5527364,10.1322171,59.0622506,10.1090025,30.8310064,70.9483549,40.6992403,42.8248515,23.8097552,4.9100692,10.4311674,8.5490684,36.8774324,6.3265393,0.7508333,0.7935459,13.3336462,10.0610616,58.7316115,10.2078389,30.5667422,70.9484121,40.7700435,42.572881,24.0554287,4.8762934,10.7848831,8.6253606,36.8590386,5.8600427,0.7543271,0.7859826,13.3278988,9.8389724,58.348699,10.2854683,30.6695543,71.0067482,40.7948017,43.0780396,24.3786161,4.7254334,11.1807835,8.6289994,36.8109518,5.2519237,0.7158729,0.7481552,13.0532429,9.6214506,58.1729346,10.2240485,30.4195425,70.7805323,40.8746179,43.1691665,24.6207765,4.737903,11.150802,8.5761128,36.6809296 +501,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7133325,0.7333494,13.4711495,9.8818719,75.1369863,20.8109319,35.2473899,67.1130277,32.024512,43.2364957,18.1343622,5.6513845,11.7021277,8.8099631,34.1860465,10.5177994,0.6276825,0.6437013,13.1301558,9.6012832,74.3418014,21.7302452,35.9641049,67.9015186,32.742752,44.385642,18.8909342,5.545329,11.8384401,9.3055556,35.2803738,9.6721311,0.5331897,0.5495867,13.2943925,9.5560748,74.168251,21.7117537,36.1767486,68.4073724,32.915879,44.0217391,19.0217391,5.2221172,11.2763916,9.138756,35.4448743,8.6440678,0.582416,0.6105621,12.7624825,8.9360709,74.2877493,21.7685488,35.5151229,67.6984877,33.1049149,44.1162571,20.2032136,5.2693762,11.1594203,8.911368,35.4227405,8.1881533,0.625869,0.6551964,12.9243453,9.2870999,74.5657568,21.6682879,35.5451406,68.2042427,32.7331031,44.1292551,19.5609275,5.0567341,11.9215292,9.186747,35.2376138 +502,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6062458,1.6381654,23.5561864,19.1254885,48.325922,9.5480116,34.63117,66.1588266,35.3716903,47.2151306,22.6191884,3.6927517,13.6223624,10.7045049,33.0665498,16.4678658,1.5570846,1.6121404,23.6505117,19.0080355,48.3964187,9.7779864,34.044674,66.2360195,35.5736914,47.8382519,23.1855193,3.6812084,13.7174712,10.9652761,33.0221745,18.0590409,1.5601857,1.6187746,24.054104,19.1956934,48.6472466,9.9110439,33.5044671,66.5853012,35.2012023,47.9601969,22.9288504,4.033521,13.6296455,10.8875815,32.9755625,17.8009886,1.4973184,1.5573584,23.4581092,18.5517746,48.4079278,9.9491496,33.1330957,66.7187183,35.4225972,47.9225033,23.0519094,4.1450894,13.8434623,11.4089148,33.1167379,17.7697759,1.6591511,1.7051047,23.8224196,18.9817627,48.716209,9.9945139,33.7608053,67.1512125,35.5662035,47.8238455,23.4985781,4.2664161,13.459289,10.7700665,32.791494 +503,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8540302,1.8868197,25.0862829,20.8075414,53.6687052,10.4069057,36.2730459,66.5096056,37.8775019,46.4172067,22.3326999,5.5139139,12.896574,10.4488961,33.2981703,18.3639195,1.8608584,1.9007081,24.6173318,20.5608857,53.9633814,10.423619,36.1040835,67.3833164,37.7513504,46.498079,22.8046531,5.7619593,13.2965799,10.172928,32.5398497,17.9099703,1.9268615,1.9365856,24.9436333,21.1371837,54.4109763,10.2268741,35.3516349,66.9448083,37.3044771,46.019823,23.6141593,5.9630484,13.1160779,10.0653315,32.5392049,17.5121704,1.8795101,1.850456,24.4284778,20.7366279,54.8732369,9.7840053,35.6243481,67.0684953,36.9416705,46.3051571,23.8792961,6.2482929,13.0762271,9.7449879,33.0219872,16.7041473,1.7899314,1.7611369,24.58668,21.0781391,54.8176553,9.8781236,36.0192951,67.2596987,36.4223635,45.8245681,24.3878229,6.1399945,12.9027153,9.2405565,32.4608979 +504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3594712,1.3195865,20.5686562,15.9543199,75.1734493,13.2323192,35.9063687,66.6392287,30.4906912,42.7750107,20.2757548,3.5444024,14.8029463,12.4084192,42.5345832,11.5803637,1.3387875,1.3085605,20.2751499,15.6621757,74.9825003,12.9675714,34.6617777,66.2126083,30.6903401,42.6046265,19.6585812,3.3757138,14.6083082,12.4654956,40.4364179,12.719302,1.2443079,1.2141781,20.2473746,15.5732291,75.2632958,12.7385256,35.0192608,66.6980859,30.4178659,42.6734821,19.9762303,3.3404313,15.4859198,11.8206383,40.4479087,13.1419979,1.1096134,1.1197012,19.2024477,14.7660964,75.1181918,12.8166681,34.5405912,66.4755836,30.0420567,42.379555,20.1542368,3.4072924,14.9909307,12.0705107,39.3150701,13.5937542,1.0559201,1.0660933,18.8099167,14.8245783,75.1682836,13.5071025,34.5523954,67.1071433,30.7207478,43.6665037,20.8486323,3.4034006,16.0686954,12.7777779,40.0761789 +505,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.1857595,1.195282,18.3032933,14.6705521,83.6035916,11.4269876,29.8284783,67.5990456,32.9724592,45.5083179,18.1502056,5.1244828,13.9662185,12.9535689,33.347507,10.0706322,1.1039512,1.1137044,17.4508149,13.9319861,83.9399966,11.1729948,30.5625726,67.8125064,33.1457089,45.3958468,18.7291554,4.9791577,13.7026432,13.3704898,32.1057375,9.9221365,1.3364266,1.3678823,17.2831521,13.7073128,84.2161905,11.2476498,30.6900157,67.4589935,32.8354335,44.7413409,18.2372691,4.8170355,14.4386081,12.8962048,33.0303807,10.2822125,1.3668553,1.3980521,16.2464201,12.9117242,84.8620831,11.4341135,31.0885475,66.4512215,32.4228111,44.0576853,17.3686382,4.8582651,13.9915327,12.5735431,33.3192588,10.2508573,1.4051965,1.4493759,16.5860453,13.1197356,84.5911259,10.8137927,31.4670759,66.3430321,32.0455042,43.7811428,17.1281278,4.8554324,13.9982966,13.2812867,34.6472719 +506,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.470438,1.5443769,19.6577821,14.8888939,55.7189587,12.090949,31.5092222,68.5533892,38.9802138,43.8290213,23.0253681,4.9932647,11.8341133,10.2472873,34.6884344,12.406015,1.409336,1.4798373,19.6081858,14.8847806,56.3138056,12.1382458,31.0310015,68.7831094,38.6314997,43.4601951,23.1034886,4.9112679,11.9018571,10.6816958,36.0204233,12.7919376,1.3393806,1.3811879,19.6705698,15.1120238,55.9888152,11.8243275,31.183467,68.3581124,38.301755,43.0300834,23.1076273,4.8738954,11.5508027,10.9213174,34.9061105,13.5880775,1.3645862,1.4069218,20.3205329,15.7447103,56.4395317,11.8400026,30.2308183,68.546026,38.2392534,42.6966673,23.2545069,4.982752,11.4731891,10.8342088,33.9963632,15.3697667,1.3728075,1.3959572,20.3004711,15.6573796,56.0152397,11.7255339,29.364035,68.8045162,37.4841782,42.7648641,23.3706184,4.9405191,11.5729805,11.0022582,33.9132286 +507,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9818252,0.9989428,14.277705,10.7826656,78.777835,7.7648728,31.027817,64.6900603,30.9324274,39.4485808,17.0678997,6.3789644,12.4487823,10.3056229,38.0041558,6.1895055,0.9373245,0.9565951,14.094688,10.6217201,78.8566463,7.7483229,31.1036849,64.7941166,30.8191643,39.4585245,17.316109,6.4500012,11.9932137,10.0511956,37.5272773,5.9371669,0.9112906,0.9361877,13.9581657,10.4808597,78.7676645,7.6499707,31.2956769,65.2321444,31.2870729,40.1383498,17.4343755,6.4998565,12.008025,10.0555862,37.4582028,6.0022331,0.8544225,0.8832817,13.7602561,10.2985502,78.6969323,7.5606633,31.1263895,64.964958,31.4350945,40.1336386,17.6560209,6.430572,12.0521646,10.0758738,37.6422923,6.3034794,0.8503806,0.8940451,13.7083121,10.2312567,78.4708973,7.5217493,31.3350516,65.148286,31.6789629,40.0976479,17.5396965,6.5533221,12.27203,10.1859154,37.6335955 +508,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.0122373,1.0553408,17.9996752,14.1950849,66.6685265,16.9988275,35.72656,67.1584673,33.7841309,42.3823238,21.1080945,4.6712583,10.8786675,9.87364,32.8791821,15.2649296,1.0779985,1.1373774,17.897291,14.0669475,66.7962068,16.4224187,35.7091454,66.8974377,33.9233896,42.8736078,21.0749046,4.5804099,10.0940751,9.7060533,33.3821901,14.0425687,1.1557924,1.1953037,17.7696683,13.4454475,66.463224,16.4342815,36.086283,67.3658029,34.4040875,42.9476709,21.4568151,4.3985333,11.2940249,10.2480273,33.3097195,11.9280456,1.1651037,1.192426,17.5364187,12.9955966,66.8733636,16.0428914,35.9481827,66.7027335,33.9345067,42.7877133,21.0675668,4.4521976,11.4279507,10.0789984,33.3039982,11.1416221,1.159572,1.1699592,17.1909837,12.7617258,67.5463035,15.4275743,36.2194738,66.2881787,32.9110123,42.8817405,21.0354791,4.1700968,11.6377192,9.9693017,34.1572857 +509,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4596288,0.4584343,11.5824544,8.0552843,64.8036705,17.9888477,35.3024539,67.4700738,34.4517983,42.5803456,23.4877177,9.3730341,11.2964178,10.0504014,38.3280737,7.5111917,0.5090461,0.5078721,11.9181422,8.4192375,64.7581825,17.664125,34.8710733,66.8375324,34.2808339,42.0161578,23.3768293,9.3973313,10.498773,9.5194003,38.1114531,6.5701395,0.5854892,0.5999153,12.5389326,8.8006167,65.0233215,17.5959804,34.5879774,66.7441202,33.9993837,42.6115268,23.2496936,9.2162355,10.5407086,9.5078892,38.477997,5.8758132,0.5422966,0.5629283,12.092644,8.5463198,65.186014,17.4206757,34.1786244,67.2248816,34.5295113,42.9824585,23.524726,9.5215344,10.3546594,9.60684,38.178918,4.8009178,0.6105675,0.6468888,11.6567423,8.1183839,64.7595314,17.3439584,33.7124895,67.7711875,34.5367695,43.1091344,24.315861,9.314215,9.7342244,9.4810297,38.1640959 +510,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.1054196,1.1174427,17.1394597,12.55263,67.6142974,15.9263198,36.4064114,65.926318,32.64625,43.2111669,21.0367539,4.0399489,11.7393986,9.9846203,34.5712859,9.0796071,1.1335427,1.1317556,17.3919824,12.9983865,66.8916666,15.9937427,36.3219194,65.8323828,32.7966371,43.1708355,21.3134915,4.1594493,12.228694,10.0235908,34.2744717,9.2195805,1.1519382,1.13846,17.0637596,12.6307001,67.155195,15.7047178,35.7834781,66.0679637,32.9006179,43.6401467,21.3233462,4.2212888,12.5016654,10.1424149,34.3283829,10.0593226,1.0829586,1.0556774,16.8725465,12.4977729,67.3661917,15.7739163,35.7918232,65.9553239,32.6136626,43.7342156,21.6965252,4.2360544,12.76973,9.707561,33.6108268,9.4663088,0.95412,0.9416521,16.1944869,12.148882,67.9942795,15.1155429,35.0899032,65.6630083,31.8144766,43.8020334,21.7912963,4.2439886,12.0158728,9.2731761,33.8204431 +511,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.934764,1.9467043,24.9017074,19.8962674,47.2277892,14.3870515,37.4507362,66.4789968,37.5938127,50.4677959,25.6551761,5.3910156,12.2713692,11.0148808,30.4316703,17.7898789,2.0022183,2.0142351,24.6968395,19.5042317,46.9676841,14.2903303,37.8402878,66.513535,38.2025002,50.8702622,25.8228669,5.3173622,11.86962,10.4151888,29.3898302,18.9153152,1.9925952,2.0296846,25.3448822,19.9245526,47.5552641,13.8168041,38.6649587,66.8644271,38.1223751,49.6552101,25.7925671,5.2237851,12.4300863,10.4964142,30.2938875,20.7216027,1.9584623,1.9341255,25.4406531,20.3272161,48.4352483,13.6377143,38.5451009,66.7917023,37.2827752,49.1148573,24.943776,5.2125215,12.0100159,9.923857,30.4860396,21.4475821,1.9041905,1.8787174,24.9825392,20.2450164,48.8241528,13.4296937,38.1377308,66.4700717,36.4010304,48.7036899,24.4842563,5.0884465,12.0548569,9.3432804,30.2323066 +512,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.9391711,0.9208262,18.0068584,13.8402526,86.1887347,12.8718173,30.8383615,65.8292331,30.5966024,43.6039454,16.5950443,5.925803,16.8356496,13.4810262,33.5035585,8.9137693,1.0545117,1.0365888,18.5934911,14.1806456,85.2418214,13.1536638,31.0094065,66.2231529,31.4839247,44.1091743,16.9873976,6.0753618,16.2616184,13.3660467,33.6544477,9.244395,1.1339308,1.1133213,18.7198246,14.2585626,85.2534497,13.0327929,31.0268071,66.0761624,31.2855803,43.7533077,17.6798055,5.9880847,15.0765163,12.8826238,33.8900381,10.6524925,1.2732468,1.2532387,18.27695,13.8156045,84.893537,12.8372221,31.1559242,66.0106217,32.0085377,44.8220356,18.618391,5.4287648,15.3173282,13.0184623,33.9456525,10.45445,1.2248385,1.2028361,18.4930672,14.1977552,85.1061217,12.575485,31.2558592,65.7046254,31.4679906,43.8148187,18.4613939,5.1719891,15.145074,12.6229282,34.3322579 +513,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.2181654,1.2581665,18.245177,13.9910838,65.7427973,11.0259338,34.2400885,65.3369287,29.8060133,41.1683177,18.6333092,14.0242107,12.7497804,10.5129744,39.762484,8.5150966,1.2370834,1.2673451,18.319383,14.0097583,65.5021506,10.9464149,34.0716171,65.3339943,30.1372852,40.8505485,18.9711234,13.9470689,12.5144716,10.6946464,39.6938839,8.589213,1.2840172,1.3121978,18.5290266,14.0622698,65.4307136,11.355711,33.6409326,65.1040917,30.5699167,40.772179,18.9797673,13.8564879,12.9546814,10.8144395,39.7266488,9.2832478,1.3032475,1.3149989,18.264812,13.9076413,65.5354362,11.5519878,33.8274101,65.0395773,30.5680635,40.1132926,19.0206382,13.5883907,12.976982,10.5620493,40.1493581,9.12008,1.2961499,1.2948787,18.0675696,13.6807557,65.2841661,11.8026781,33.5514623,64.6550363,31.1116512,40.4023174,19.3003693,13.6936523,13.1794425,10.7271562,40.4973755 +514,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8159674,0.8498232,13.742481,10.1666497,78.2834824,7.5996415,31.003457,64.6463483,31.425069,40.0201909,17.3872765,6.539747,12.0041649,10.1327304,37.2580941,6.0034803,0.8038611,0.8386924,13.8537068,10.194264,78.169183,7.549386,30.8144374,64.3770075,31.4339574,39.6057212,17.6962669,6.4852717,12.0234992,9.8615668,36.7336945,6.284153,0.7538766,0.7941568,13.6860684,10.2102668,78.5101571,7.6759208,30.895342,64.2087199,31.157935,39.475984,17.4793007,6.3951095,11.9496211,9.8504983,36.321478,6.145769,0.7864773,0.8304456,13.860571,10.4369884,78.2945493,7.7214782,30.6399166,64.0976856,31.1825433,39.0964891,17.5318782,6.493471,12.1580746,10.2290398,36.6832719,6.1846154,0.8356639,0.8773155,14.2734003,10.5275961,78.2504298,7.6312234,30.538433,64.5405002,31.4708073,38.9680389,17.7673685,6.4604136,12.2098265,10.0491117,37.0915809 +515,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6794447,0.7108567,12.869504,9.4661609,57.5998031,10.219503,30.5930019,71.0287243,40.7141465,43.5277474,24.9071903,4.6844488,10.3925423,8.5016655,36.1111152,5.2792335,0.654844,0.6883093,13.1000661,9.5565659,57.1851818,10.3798546,30.9817722,71.0694018,41.0982779,44.0356474,25.3460117,4.7246841,10.7157194,8.4869733,36.3296297,4.7725262,0.7140052,0.7492297,13.0354998,9.3266558,57.0028183,10.3595599,30.9775506,70.6284286,40.9625948,43.9650858,25.0723192,4.7132173,10.7371156,8.3782701,36.3059263,5.0306229,0.7631173,0.8112554,13.2875214,9.3549377,57.1595418,10.2316576,31.270108,70.2483897,40.7833875,43.5388152,24.723451,5.0130738,10.5804488,8.234935,36.3814066,5.7727294,0.7709569,0.8106067,13.4124384,9.287076,56.8791096,9.8018907,31.6908419,69.9599787,40.8054052,43.6268142,24.9274675,4.9374703,10.1617784,7.9357058,36.0282115 +516,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.7367572,1.7957161,28.5201155,23.4260581,53.1884565,13.694024,38.5662899,64.9879357,33.8719853,46.1574583,22.0292443,3.4804206,14.7693758,11.8797343,34.0347163,19.0257396,1.7747565,1.8490016,28.3984082,23.2759618,53.4846933,14.1834079,38.7498673,64.7599094,34.1925719,46.0141575,21.7725563,3.4757215,15.2884795,12.369586,34.7555541,20.0104844,1.80319,1.8555449,27.5739069,22.6083019,53.8009768,14.2827879,38.1035177,64.8931972,34.1079117,45.983624,21.746678,3.4059434,14.7893436,11.9983219,34.5065915,21.226946,1.7511783,1.7827709,27.2038164,22.5297574,53.8743396,13.8750015,38.5618059,65.0866748,34.561198,46.2811805,22.0383292,3.4864142,15.0043041,11.7705805,34.3354202,20.42096,1.7684177,1.8149852,26.6186841,22.1437771,52.9286441,14.2968379,38.8399514,65.783016,35.2860609,46.5400426,22.2406865,3.6766889,14.971937,11.8766645,34.1139892 +517,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5449426,0.6215354,14.3592839,10.3928383,64.3136306,18.96092,35.2998568,66.7251361,32.6907733,45.3466479,22.0600084,8.0801898,14.0761765,10.2860073,33.2933362,3.1541946,0.6535741,0.7161421,14.5737347,10.5030652,64.6355537,19.1052564,35.8929445,67.6631985,33.313762,45.6624509,21.9812869,8.2649198,13.0349222,10.3736787,32.9473261,3.1177757,0.5857688,0.6547769,14.1961559,10.243274,63.4018378,18.7333849,36.0379542,68.1061283,33.8303498,45.4105856,22.0565823,8.075133,12.6387275,10.1271559,33.4265571,4.3526737,0.7624062,0.83144,14.5216532,10.6112575,63.2341463,18.6360447,36.6821693,68.699175,34.0882932,45.4317003,22.2416161,7.9171485,12.5197768,10.4200063,33.1608154,5.2941114,0.8190017,0.8772818,14.7488826,11.0007644,62.9636676,20.0338152,36.6577693,69.0849795,34.3223812,46.3438268,22.4540937,8.4035188,12.1558626,10.2837737,33.1879994 +518,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4671078,1.5430202,23.4832254,18.8635769,49.5993446,18.7307209,40.1858878,66.2728387,39.1776995,46.9281682,24.0233248,3.7019593,13.3739705,11.1289352,35.424704,16.2049861,1.3446047,1.3653652,22.8929144,18.615348,48.8951105,18.1138894,39.7244817,67.0178228,38.9140927,47.1150746,24.3922294,3.7763435,12.8590532,11.2709045,34.6877078,14.9408328,1.3231682,1.3279563,22.4984096,18.0404242,48.3940919,18.1657268,39.0111788,67.06636,38.7812084,47.3883068,24.0308912,3.8600555,13.0984875,11.7465745,35.2475698,14.5588235,1.2319967,1.2296189,21.8202923,17.3934681,49.13343,17.6028216,38.7190033,67.1593679,37.9714534,46.9758858,23.7003146,3.924566,13.1430435,10.9816235,35.6382599,13.3647799,1.1534405,1.1590594,21.4139771,16.9165316,49.126853,17.51461,39.5344788,67.9209021,38.0993788,47.6898772,24.3087118,4.1127027,13.1578722,10.5776021,36.7368796 +519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0078301,1.9719355,25.1693459,20.4313338,48.8773472,12.8035541,37.7808502,65.6015805,35.6176122,48.3579416,23.89019,5.2879349,12.4652553,9.6637654,29.4931326,21.5013312,2.0061549,1.9784901,26.0102987,21.3182091,49.0162627,13.117387,38.3671836,65.7187814,35.8897494,48.3242257,24.2926443,5.3962426,12.3415606,9.5997823,29.2811478,21.3060814,1.9223743,1.8841999,26.8114445,21.9674295,49.4492489,12.805181,37.7624443,65.4181502,35.0706437,47.2374236,23.6942314,5.5471662,12.9986374,10.1956717,29.9313397,18.5754192,1.802846,1.7650391,27.3944785,22.5515688,50.0305627,12.7340493,37.4657987,64.8965668,34.4264023,46.3956229,22.9655927,5.2830997,13.3019812,10.1455946,29.8088629,18.6603783,1.6290544,1.5992238,27.5379107,22.6597223,49.6654935,12.826781,37.7227502,64.9437958,34.7894813,47.0499546,22.7293967,5.2759888,12.5779137,9.5447397,29.6747485 +520,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9782854,0.9841375,16.7292353,11.2906208,59.6716185,13.7099699,35.9146367,68.9304389,35.2449865,44.213732,24.6004095,3.904588,10.151749,8.6833731,37.5380579,8.5280772,1.0474043,1.0355671,16.7215577,11.1688006,59.7628256,14.4003895,36.7330694,68.5421481,35.512101,44.7112469,24.2332276,4.2489543,10.1609262,8.5971957,36.9836544,7.9310709,0.9864039,0.9746612,16.7002041,11.2300479,60.2464884,14.113959,36.2190798,68.5032544,35.1614238,44.838458,23.8321424,4.1676969,10.0771331,8.5263294,37.1049724,7.7546891,1.0153599,1.0118028,17.0851401,11.529557,59.9294081,14.1746092,36.3030593,68.4053546,35.2108752,44.4196732,23.5040619,4.3574406,10.7123412,8.737,38.3635478,9.1886472,1.1184611,1.1148665,16.6752055,11.3606802,59.26854,14.2398302,36.6079004,68.4549222,35.8473874,44.3729214,23.5440422,4.2890854,10.9729328,8.5223026,38.4307592 +521,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.9567582,1.0045617,18.5281768,14.6066063,72.6105862,14.5555672,33.6627407,67.1378485,34.8636647,44.4208262,21.6287152,3.1398553,11.1973986,8.4503376,32.7690506,11.620482,1.0006447,1.0282059,18.2241875,14.2947096,72.6089383,14.026076,33.0923291,67.4150141,34.20854,44.6093486,21.1440926,3.10756,11.232804,8.5969287,33.7692097,11.0988914,1.0808684,1.1083971,18.0893898,13.9467764,72.0129042,13.6864503,32.9994781,67.5329603,33.6840918,44.2063898,20.8037545,3.2327593,11.3487672,8.5433457,34.051713,11.4444336,0.9635622,1.0086072,17.4410334,13.5652413,71.6356984,13.6276155,33.0452625,67.6606519,34.0189978,43.7804095,20.9712734,3.2254146,11.9298964,8.9620294,34.0974683,11.3636285,0.8291458,0.8834345,16.8370987,12.9560742,71.0413193,13.2660171,33.4000777,68.2021539,33.9656094,44.2860362,21.3831263,3.3105587,12.0993858,8.9028307,35.0979308 +522,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6731368,0.6796688,11.7458675,8.1395325,65.064095,17.7339139,33.7647027,67.8487435,34.7058898,43.0420183,24.252103,8.9243742,9.6526431,7.987965,38.2770249,4.6250046,0.650861,0.6275534,11.7043474,7.947827,65.2196395,17.7040873,33.3161335,66.752666,34.9329282,42.7760558,23.9594138,8.548336,8.7422295,7.4291674,37.3254163,4.8029604,0.762691,0.7706251,11.8570924,7.8184332,64.393677,17.5388261,34.0000014,67.3333325,35.5726517,42.6495677,24.0170944,8.6666705,9.0569915,7.3029921,36.7101662,4.2372922,0.8504757,0.8890489,12.2313164,8.1030338,64.3124597,17.8619069,34.1385105,67.3479666,35.7939202,42.7533696,23.5641876,8.3614907,9.44104,7.474399,36.3291955,5.2325606,0.8234022,0.8522951,11.7676738,7.6936006,63.5616006,19.0374482,34.2052643,67.9273494,35.7047686,43.0356492,23.3755414,8.847056,9.8934084,7.638422,36.0793488 +523,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.808059,0.8668147,14.5526717,10.7021693,63.7639682,20.5760642,36.9523815,68.8508537,33.9930873,45.9070129,22.0791616,8.2436605,11.3939871,8.9946013,33.1887664,5.1724138,0.8017359,0.8605943,14.4448907,10.5929161,64.1266907,20.4622386,36.8834023,69.6557617,34.8948406,46.7877601,21.9694184,8.4321238,11.8664135,9.3750591,34.1455256,6.1936867,0.9361911,0.9597261,14.4068036,10.4519914,64.5093911,20.1459293,36.5663296,70.3696124,35.7278786,47.580007,22.2370532,8.0983253,11.3636574,9.4040489,34.5109713,5.8888823,0.9536733,1.0065852,14.9981267,10.9710225,64.1982535,19.6148741,35.9018313,69.6536883,35.4451737,46.4802048,21.5943787,7.7435267,11.44069,9.2420899,34.2802702,6.8627376,1.1066481,1.1947102,15.5601538,11.4107707,64.8219194,19.6516385,35.9154978,69.3756928,34.7734761,46.1172558,21.0696732,7.1373974,11.3406204,9.1940707,34.3972788 +524,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1571906,1.177747,16.6536814,11.4177503,59.5410704,14.4369053,36.2558464,67.895175,35.777013,44.1057805,23.7493596,4.2974943,11.3101443,9.0496134,38.7123398,8.5678889,1.2086994,1.2540874,16.5261733,11.3378039,59.4185532,14.4733459,36.6125727,68.1915485,36.1807659,44.3318724,23.7922126,4.4129544,11.4544141,9.7101128,37.9626661,8.9097414,1.1251528,1.1715308,16.3388229,11.8937247,59.3558153,15.3066538,36.1095028,68.1579697,36.164608,43.983926,23.9951707,4.2538572,11.418277,9.6315501,38.4117426,8.643776,1.15067,1.2408293,16.3569439,11.914235,58.8606874,15.1790525,35.8524734,68.7620774,35.8800089,43.9485867,24.357708,4.2691422,10.6188203,9.2251684,37.725835,7.9303071,1.0846,1.1751675,16.1128043,11.4396014,58.6608827,15.4087445,36.2792026,68.7707766,36.168064,43.7708272,24.5423231,4.2592035,10.7343681,9.2259713,37.1809546 +525,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8185256,1.7591576,25.3908816,21.5296246,54.9055413,9.827493,35.5724335,66.8409642,36.0828056,45.519687,24.70521,6.021908,12.707902,9.1969338,32.5447903,18.6298741,1.9255342,1.875361,25.5943786,21.1838099,55.8958169,9.8981162,35.2548616,66.3256344,35.6771459,45.4748354,24.2646391,6.0300458,13.0036837,9.9319474,32.3858655,19.2988277,1.7968902,1.755925,25.6883823,21.0537389,56.00045,10.6347768,34.5348675,66.0227697,35.5919517,46.0122204,25.0416849,6.1494039,13.2702157,10.1489555,32.2077278,20.9368151,1.8814079,1.8407549,26.221458,21.4954491,55.9643561,10.8283526,35.1487641,65.6014745,35.8383769,46.6781683,25.196934,6.2380985,13.8186363,10.4343201,32.2604763,21.757457,2.0397199,2.0092118,26.7217136,21.7665148,55.6999397,10.2546387,35.2130258,65.799109,36.7515332,46.5992135,25.0421071,6.0683467,14.0371765,10.2119636,32.6823795 +526,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.8475582,0.872187,16.5539882,12.6324105,69.8838626,13.2120151,33.3753611,68.5736986,34.1320834,44.6571678,21.4744173,3.4281109,12.0026996,9.3523506,36.2789461,10.9437509,0.759114,0.7929137,16.5621057,12.7974874,69.0768827,13.1538727,33.764362,68.4902611,34.7369755,45.0596724,21.6290794,3.348808,12.140351,9.4104778,36.3894712,10.4491922,0.747316,0.7538997,16.0886928,12.4527034,69.4662299,13.1595581,33.861574,68.6826141,34.4221705,45.1379711,21.8736383,3.3311771,12.9094725,10.2414852,36.9001112,10.8901161,0.8837044,0.9038145,16.0295492,12.3054079,69.3984026,13.6027796,33.2691529,68.5549208,34.829753,44.8013609,22.2436002,3.4150771,12.5152069,10.1540342,36.4320444,11.1412741,0.875064,0.9114604,16.2335142,12.3166707,70.1749416,13.8309698,33.2921079,68.6869556,35.1569945,45.0903746,21.9505086,3.4348202,12.1123992,10.4335983,36.0614259 +527,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.6685277,1.7350454,26.7945259,22.411879,52.8417587,14.3539965,39.1345437,66.1713632,35.3943339,46.5279932,22.492036,3.790955,15.3399048,12.0648629,33.6489712,19.1627599,1.563397,1.6196575,26.6201959,22.4047639,51.9455005,14.140686,39.3956044,66.1230665,35.3609709,46.645558,22.1595423,3.8104799,15.017565,11.9305501,33.5641072,17.6433241,1.5226389,1.5713813,26.4824579,22.5342959,52.2291625,13.8662082,39.3010273,66.0523336,35.2019136,46.8568642,22.002156,3.8314463,14.8025405,11.715546,33.9542017,17.8527831,1.5142514,1.5314352,26.0937499,22.0312415,51.8457778,13.8939009,38.9543766,66.4498489,35.5097874,46.8998873,22.3132555,3.8808968,13.9735994,11.2209622,33.3492227,16.6062983,1.528159,1.5713786,25.6435103,21.5429376,51.2986868,13.5247518,39.6358336,66.4797828,36.0709724,47.2111293,22.3801694,3.9874028,14.5434561,11.6421121,33.9173457 +528,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8513306,0.8831524,14.2306874,10.5869451,78.2440082,7.7113409,30.613111,64.9667883,31.6563617,39.4839438,18.0257796,6.4324647,11.7238498,9.923426,36.6640311,6.1317877,0.9031112,0.9221456,14.5251279,10.9192531,78.4876902,7.6402823,30.7416726,65.0711433,31.5966994,39.9236676,18.5138233,6.1424685,11.8913762,10.1522826,36.3038874,6.152461,1.004964,1.0189555,14.4869702,10.8802849,78.6817516,7.5861902,30.4698482,65.1089689,31.8213165,39.9379046,18.7485494,6.0993867,11.9719274,10.1891007,36.4774768,6.7185698,1.0209059,1.0359739,14.3506992,10.7573676,78.811807,7.4998905,30.3913506,65.2656852,31.724952,40.2132477,19.0183261,6.0781324,11.9902054,10.3882613,36.5604265,6.976082,1.0135617,1.0298689,14.811735,11.0350729,78.6026232,7.4985652,30.3513688,65.2438263,31.9715197,39.9671643,19.6221368,6.1612021,11.9677073,10.2342876,36.5997995 +529,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2134013,1.214759,21.4987848,16.9708769,49.2048706,17.7694842,38.2065095,67.8442041,37.554332,47.4456505,24.22101,4.257239,13.7144738,11.0403942,37.8673388,14.5000188,1.2661362,1.2674966,21.6708124,16.9374956,48.6641836,18.1411217,38.0787277,67.2803573,38.2974626,46.9741086,24.152377,4.137798,14.1530397,11.867553,37.9297487,13.3898508,1.209839,1.2139573,21.8120703,16.972792,49.1068616,17.9307488,38.2601109,67.197726,38.2966384,47.1977501,24.5970224,4.1941276,14.4845728,12.3870529,37.8983452,13.5563637,1.2594356,1.3267177,21.6278055,16.3312009,48.0977622,19.410369,39.0069847,67.149065,39.7764158,47.7280478,25.5954143,4.4155242,14.2803534,12.6217238,39.1025671,14.0000211,1.3403607,1.4126346,21.5594478,16.2689971,48.944355,19.5291245,39.6811412,66.9114269,40.1110189,47.5635429,25.8150742,4.4607542,13.9356338,12.7651802,38.7417321 +530,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3985756,1.4469067,23.1472183,17.2065505,54.0160786,16.9991582,38.595927,67.4864049,34.1097491,48.1005115,24.3383207,3.962045,15.9892534,13.396484,39.4761672,12.2123014,1.5528363,1.6139385,23.8750223,17.6080056,53.9466449,16.5423248,37.7519346,67.6525826,34.0540392,47.2861048,23.9306962,3.7895565,16.3892144,13.9666247,39.1472895,12.8896007,1.6355076,1.6582003,23.9585017,17.640061,54.0978675,16.7623229,38.4785806,67.7253392,34.2692948,47.0267589,24.263774,3.5813501,15.7424412,13.4850879,38.9516242,11.6041268,1.560828,1.5839068,23.328112,17.2889526,54.2106952,16.4930506,39.4949338,67.860065,35.250854,47.1659476,24.1098704,3.8636816,15.1839627,14.0903802,38.7120138,11.7887913,1.6107206,1.6240155,23.2700746,17.3294377,53.6524376,16.3786034,38.779555,68.1872377,35.5811515,46.7500875,23.8722063,3.6428988,14.5611455,13.6474864,38.4355993 +531,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.2700115,1.2726487,17.8879732,13.4750045,64.6955547,11.7957468,34.1036229,65.2055975,31.2911226,40.8963718,19.9259885,13.5279633,12.7379036,10.113678,40.0638951,8.570035,1.2708878,1.2705245,17.4788734,13.235537,64.2990802,12.1791685,33.7781168,65.5337395,31.2269268,41.0792145,19.7633468,13.6874807,12.537975,9.847973,39.847202,7.5389166,1.24247,1.2459976,17.0506587,12.9002183,64.5775359,12.104551,33.8111611,65.4334758,31.201719,41.004284,19.5278973,14.0171693,12.4349662,9.6768583,40.177949,7.0932618,1.1586184,1.1830725,17.0240389,12.856648,64.8617558,12.0948286,33.7618078,65.6610673,30.7712479,41.0195804,19.2987058,13.9296969,13.0657713,10.145181,40.0462906,7.0486808,1.1504495,1.1792932,16.7281352,12.5482949,64.4291115,12.0605184,34.5191649,66.7051076,30.8818299,41.7938191,19.7214322,14.0791326,12.3863232,9.8799134,40.267105 +532,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.9173801,0.9545493,12.4136764,8.3031875,63.3518988,19.2332303,35.0554104,67.9758752,34.9250355,43.3018222,23.1584069,8.0019593,9.6265318,7.1290276,36.4137449,5.3775756,0.992817,1.0588769,12.7801167,8.5579678,63.2496703,19.5382125,34.3527556,67.5889928,35.0000018,42.7669921,21.9579316,8.0744371,9.9677458,7.1382392,37.0214031,4.8098434,0.9786901,1.0803457,12.7164786,8.4829967,62.3668045,19.681686,34.0006366,67.6649503,34.545166,42.5848846,21.7328637,8.3119832,10.0961577,7.7342713,37.4033392,5.1136364,0.9990083,1.1167246,12.5122288,8.5318057,62.141458,20.3408699,34.0629013,67.4935066,34.614137,43.1096013,21.9033725,8.8683536,10.7446156,8.2625702,38.3125299,4.2431193,1.0077963,1.105806,12.6342258,8.8087234,62.8585692,20.4471288,33.7698908,67.158485,34.2009288,43.3189705,21.9330281,8.7367384,10.6878001,8.1928495,38.7195035 +533,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2420641,1.262086,20.4197277,15.6059751,55.5026229,11.7991756,30.2105186,69.2856317,37.4368886,43.535625,23.953293,4.8822331,11.9653763,11.3816994,33.8825412,16.7737537,1.4876275,1.5489444,21.1313702,16.2651402,55.8975687,12.2016274,31.134383,69.350327,37.5629972,43.8220931,23.7480001,4.8102821,11.6495728,10.8365625,34.2941629,17.3836353,1.5000475,1.5722677,20.811692,16.0269282,56.2568626,12.1933308,30.5840756,68.9574643,38.1013804,43.6548931,23.1593842,4.7282668,11.0681578,10.3912062,33.32581,16.9192994,1.6764931,1.7495777,21.104317,16.3687124,56.0219098,12.4113492,30.6440613,69.2653782,38.2112223,44.1515846,22.7123609,4.4631943,9.9290682,9.5196221,32.5054623,18.3306409,1.7432033,1.8159477,21.5103495,16.6499923,55.658988,12.4539425,30.8122043,69.6426423,38.1849248,44.2069039,22.3319661,4.7527136,10.2753067,9.0829503,32.9675415 +534,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7292866,0.7346053,16.5819957,12.8937914,77.9182727,17.1468691,36.5204867,64.4531916,33.508194,44.6294036,20.3787639,6.9450537,12.5967575,9.813885,34.527988,8.0110665,0.8260733,0.8475926,16.5622572,13.0158664,78.4710765,17.1796727,36.1601276,64.3552546,33.4468053,45.0277414,20.926044,6.9197645,12.1908147,9.5980099,34.5477737,7.9725723,0.8449547,0.8760658,16.3510537,12.9261238,78.5501484,17.1608531,36.203105,64.1019559,33.6104425,44.1804573,21.0568409,6.8714958,12.3376999,9.8979464,33.7766761,7.9288406,0.8519742,0.8993254,16.3879288,12.8858969,78.7600707,16.9245939,36.1066743,64.2653077,33.3899449,43.8536434,20.7906574,6.5258842,11.945282,9.5400884,33.5059565,7.5548301,0.8715824,0.8999361,16.4195186,12.7935078,78.7302627,16.8451691,36.3726736,64.7921391,33.8519172,43.7605009,21.1342923,6.7096743,11.9147931,9.3018037,33.5063002 +535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.3141306,1.3518937,21.9603691,17.66737,63.5748161,15.7195048,32.6755868,67.9770199,35.0062096,41.9981433,20.6494836,2.9366012,12.680039,9.6178174,36.1093837,16.7359564,1.4516266,1.4899945,21.6357583,17.5089702,63.6292719,15.9580717,33.0503367,67.6597862,34.9027404,42.8681683,20.916962,2.9793093,12.4089829,9.3864081,36.1669671,16.5637928,1.433121,1.4712003,21.3283493,17.0596992,63.1048521,16.0150126,33.4710896,68.9164597,35.3994504,42.7456365,21.0131721,2.9231656,11.6728093,9.1661791,36.316121,16.2863037,1.3960586,1.4346214,20.8560066,16.8027792,62.5471168,16.2765692,33.9059121,68.6629688,35.6700706,43.7480592,21.5567999,3.172384,11.514587,8.6646039,36.4174375,17.18107,1.5142536,1.554939,21.5453176,17.2578506,62.4760312,15.741579,34.2790045,67.8840283,35.3761792,43.0877656,21.4576948,3.2445084,11.3308167,8.6997569,35.9305875 +536,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.916373,0.9290742,16.6165108,12.5239483,67.6575459,14.7248654,35.3463653,66.110305,32.0728527,43.9573339,22.2081272,4.2028009,12.2190482,9.7986214,33.7787646,10.6207246,0.8262602,0.854566,16.6092544,12.466156,66.5891308,14.4455487,35.0268361,66.579129,32.235664,43.9217185,22.5143882,4.2715908,12.5449633,9.6876014,34.2164051,10.6625754,0.8430242,0.8483093,16.5062454,12.2784542,66.4793242,13.5759425,34.6899194,66.2057379,32.3555957,43.8062936,22.7157506,4.2288755,12.4770242,9.5914463,34.4423354,10.4184259,0.8317922,0.8371357,16.2508733,11.9025837,66.7512048,13.2366281,34.8775518,66.3992222,33.1083064,43.9382969,22.6617529,4.3520061,11.9145349,9.1686095,34.1349817,9.9624825,0.8516993,0.8399404,16.0371491,11.6542895,66.6175856,13.0740131,34.8278247,66.4580626,33.1818026,44.0383464,22.8283227,4.3784111,11.4188706,8.5394385,34.0956943 +537,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8205181,0.859909,18.0625869,13.1763236,56.7641544,15.8965142,38.2912843,66.318056,36.3922607,48.5583173,24.7081881,3.8692973,11.5480682,9.8766454,36.8436371,12.2796344,0.7397565,0.7535631,17.6945399,12.7170843,55.9940947,15.9099756,37.9193708,66.8288822,37.6212149,49.9098099,24.702334,3.7336396,11.3707483,9.4620865,36.3917082,10.4659841,0.7633542,0.7892121,17.2433046,12.4487787,56.9251146,15.8343454,37.0060708,66.2019807,37.4018492,49.2409332,24.7226245,3.765007,11.8831792,9.7938377,36.5668739,9.3440966,0.8871309,0.8929981,17.8896307,13.0954892,57.3224036,16.2665343,37.4973028,66.8779788,37.7103276,49.0847009,24.4912765,3.8553617,12.9053204,10.5180241,37.8587884,8.686448,0.8963612,0.9409038,18.0688483,13.3951587,56.7597321,16.7744482,38.1838685,67.5954658,38.2264108,49.3872624,24.7273632,4.2487323,13.4127476,10.7803183,38.6574455 +538,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.8986679,0.8764549,15.8449584,11.4281675,66.2138213,12.6816995,35.1082762,66.8750038,33.7854893,43.9315184,22.4809896,4.2918972,11.5177364,9.0475653,34.3953593,9.5787023,0.9391028,0.917025,16.4010345,11.9686378,65.5197797,12.9916381,35.4995963,66.6360815,34.7464262,43.5087039,22.432968,4.1973922,11.2792914,8.9063322,34.5343813,9.1924712,0.9478077,0.8997865,15.8549672,11.8207096,65.8368156,13.4878794,35.3026217,66.4449407,34.7614261,43.0529226,21.5904338,4.4825632,11.2004211,8.5660494,34.245446,8.3627285,1.0176772,0.9703295,15.8460677,11.7923343,66.178591,13.68167,35.0291753,66.3156915,34.6483422,43.0323229,21.5092144,4.4490069,11.172933,8.8776345,33.9934418,9.2330811,1.0034909,0.9762393,15.8387539,11.9165448,66.283376,13.7870889,35.4524696,66.7612222,34.646411,43.0159749,21.6959497,4.6853566,11.1751283,8.9933169,33.8524925 +539,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6124755,1.5959683,27.2199594,22.3385978,49.2152945,12.9722651,38.297,65.2108091,35.1009436,47.2490961,23.1211892,5.5623055,12.9781152,9.6091126,28.8965918,16.935655,1.6671096,1.6584178,27.6895454,22.7900731,49.4115443,12.9203339,38.1608299,65.7259712,35.7703367,47.6295532,23.5622676,5.3909548,12.6808451,10.30405,28.9415909,16.3590768,1.5905265,1.5982373,28.2606218,23.4070762,49.815419,12.8969938,38.5757908,65.9697216,35.8666214,47.6630416,23.2582447,5.2984089,12.6667205,10.5416021,29.5257542,15.2891616,1.7145123,1.7090192,28.4629209,23.2150573,50.1380208,12.9408936,38.0435926,65.9589814,35.798275,47.7251226,23.1683656,5.628643,12.6572124,10.7450861,29.9275372,15.4461661,1.8093841,1.8149527,28.7065369,23.7297527,50.3061256,13.1543939,38.5527084,65.661523,35.7312967,47.9702099,23.2097286,5.262672,12.0546231,10.7661076,30.7031192 +540,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.1991719,1.171231,17.9051863,13.9459054,85.0205091,12.6218021,30.9758682,65.7635014,31.2682874,43.8835001,18.8329163,5.1157918,15.4309516,12.4888136,33.9728984,9.2470194,1.1738415,1.146052,18.102746,14.1898214,84.95249,12.4118167,31.3630945,65.6648634,30.6927621,44.1452414,18.7597889,4.9720718,14.8988547,12.2921483,34.1723206,9.3344626,1.0470705,1.0400925,17.4099197,13.7667548,85.3872818,12.3810382,31.7590446,65.7729657,30.0763281,43.9645139,18.8579999,4.7678114,14.6324522,12.9419788,33.2493906,10.2410379,0.9466455,0.9395953,16.9194037,13.3503664,85.775114,12.2569572,31.6093242,66.1951104,30.3871123,44.4431605,19.0923685,4.9004367,14.7126715,13.1774092,32.3446169,9.8604216,0.9157555,0.9262356,16.8468032,13.3383991,85.5044659,12.1369633,31.5064136,66.0726525,30.7218746,45.4494226,19.1549281,5.1446132,14.7514425,13.2406556,31.8870368 +541,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.5803497,1.6241267,25.620998,21.4404462,51.092254,13.788634,39.6447184,66.4986374,36.6661075,47.4169863,22.7970971,3.9947276,13.8294455,11.7489686,34.507282,16.6091839,1.5869679,1.6375228,25.6218994,21.1839414,51.3208041,13.5723269,39.8066392,66.5592943,36.207129,47.4614798,23.1924109,3.906008,14.0748816,11.3491991,35.0270914,17.6975904,1.7674112,1.8195086,25.509516,21.1170428,51.312715,13.8021705,39.3186333,66.0867801,36.6159169,46.8441432,23.3452105,3.9893239,14.1314725,11.7713256,35.4342279,18.2912802,1.7920344,1.8461674,25.6337815,20.9730904,51.4845709,13.8931442,38.972846,66.0302683,36.1517729,46.2515534,23.2309957,3.9198929,13.9682867,11.9720382,35.8593778,18.3184744,1.8769011,1.9157415,25.0876914,20.3972044,51.2482964,14.3215263,38.6116219,66.4278909,36.552991,46.25328,22.7849281,3.829057,13.9915581,12.2690375,35.4044347 +542,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.9383509,2.0028996,25.1631568,20.3932874,50.8813673,13.7606029,38.8476024,66.6810527,36.8434609,46.9333186,23.0563288,3.7750542,14.4691691,12.6411186,35.4145052,19.168725,1.931047,1.9762693,25.2307745,20.5974387,50.5248551,14.1221292,38.4691679,66.5913489,36.7702897,47.5601138,23.4682859,3.6056399,14.1233742,12.5225184,35.527734,18.6429702,1.8169618,1.8860859,24.8343025,19.9802848,50.3398034,14.0058218,38.5820062,66.3484667,36.3577501,47.3308879,23.1232645,3.6607963,14.0230246,12.560288,34.6599389,18.3242729,1.7529396,1.8067975,25.0647055,20.441922,49.8533914,14.1685376,38.6654974,66.752831,36.7509172,47.6259064,23.0423095,3.800495,14.0642952,12.705379,34.8537373,16.9852963,1.6651835,1.6844548,24.5008498,19.9182263,49.27725,14.1373858,39.6079404,67.2478391,36.7119809,48.3156138,23.2367969,3.733252,13.7054872,12.2649041,34.8271746 +543,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1790631,1.2088683,18.7414364,14.6011406,74.1497722,13.8023658,34.1068487,67.1555271,31.0660374,44.2360817,21.3990329,3.6534957,15.4636473,13.0803767,40.1882484,11.5635179,1.108392,1.1791113,19.3245654,14.8992762,74.4680657,13.2194658,34.0661439,67.4809048,31.06304,44.5398238,21.9627849,3.3898467,14.555376,13.0516464,41.3348952,11.0197368,1.0257441,1.0969008,18.6217129,14.4508671,74.4063314,12.993647,35.1112606,67.9152445,31.1217657,43.9325381,21.2627257,3.049424,14.9386786,13.3522607,42.3247253,11.2068966,1.1121333,1.1979836,18.9216619,14.339523,73.9247369,13.1357436,35.8704194,68.4144477,30.8551723,44.3120556,22.1393533,3.2379913,14.4484363,13.238902,43.6664325,11.0909091,1.2239692,1.3097078,18.3216787,13.8074025,73.6120641,13.2916479,36.0897215,68.9302161,32.1316842,45.2303135,22.6710325,3.4994709,13.9317498,13.4738276,44.8749474 +544,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.5235309,1.5297533,23.660441,19.4013641,49.0692788,14.456253,40.4049582,67.7554021,37.9426177,49.297937,24.1452998,3.754576,12.8985618,11.5273217,34.3931954,14.3659917,1.4073074,1.4172096,23.581769,19.1412386,48.2662892,14.2842979,40.590968,67.6583405,38.0899679,49.1629869,24.5159368,3.8826123,12.3505145,11.3561375,34.4863247,13.7398492,1.3595709,1.3508904,23.2227172,18.96113,48.6944374,14.6231583,40.6325478,66.8452438,37.8436021,48.4943914,24.1612964,3.7894101,12.3870148,11.3598875,34.2780215,13.9830631,1.3769683,1.3867524,23.0433276,18.7512337,48.6828225,14.494559,40.9795099,66.9283243,37.6614588,47.5164408,24.0711479,4.0234452,12.7860099,11.9525723,34.4848245,15.3781526,1.3837348,1.3729918,22.9218054,18.5855071,48.9481461,14.7476111,40.7950832,67.0004359,37.7624719,48.2212674,24.2710146,4.1310264,13.4412622,11.6809476,35.1430375 +545,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.0208918,0.9933603,15.761115,11.862222,66.233607,13.835762,35.1627125,67.4705691,34.600466,43.2565715,21.6201818,4.4475189,11.1797403,8.9094808,34.2892081,8.5055103,1.0427331,1.0820235,16.1981999,12.2320608,66.1536642,14.0247171,35.243555,67.6705408,35.0171346,43.2242931,21.6518516,4.4827081,11.6642179,9.7058109,33.9662512,9.2508102,1.0058043,1.0637112,16.3958368,12.6041814,66.5998023,14.4834918,34.7407771,67.2323789,34.1423457,42.4939867,21.091699,4.4178832,11.7179162,9.6326442,34.3334772,8.4966125,1.017704,1.0766779,16.4243091,12.6378581,66.7543597,14.3626723,34.8040227,67.6348608,34.0387553,43.2306253,21.2300166,4.5580496,11.8113379,9.6501195,35.2595732,9.22464,0.9824792,1.0472581,15.9040024,12.3234959,66.5643479,14.0679043,35.2868829,67.3485347,34.0158838,43.7704322,22.2158684,4.3029825,11.5667444,9.7813712,35.6564199 +546,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8844654,0.9269188,17.5346477,13.1946397,55.51057,17.2693426,38.8414914,67.6322449,38.8014496,49.9196788,24.8912669,4.1693294,13.6138183,11.0284163,39.1731566,8.7548706,0.9563863,1.042105,17.6153993,13.5546958,54.8943777,16.7776218,39.0898277,67.4837592,38.4666066,49.1819541,24.6220652,4.0718263,13.9556708,11.5086617,37.4987248,9.1440078,0.9764769,1.0724483,17.5991649,13.5279004,54.6704305,17.1642231,39.6323209,68.3575357,39.1372467,50.3121461,25.4970155,4.0195927,13.6575052,12.0773122,38.4141083,8.3657977,1.0368346,1.1304436,17.9322523,13.8871555,54.4528049,16.9912386,40.1444939,67.6178148,37.6637505,50.0824311,25.5576053,3.9436192,14.1263433,13.0369148,39.0935498,9.7222658,0.9933522,1.0997418,17.562655,13.4711034,53.5102874,16.8129692,41.0469477,68.1001918,38.4582812,50.3050361,26.0474828,3.74144,13.2959706,12.257599,37.8385846 +547,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2175923,1.2904231,19.5139976,13.3303174,50.1277091,14.3422109,38.1667936,68.2397356,37.5276754,48.6351899,24.7752323,2.886735,14.4619612,12.3679497,41.6956395,8.8028107,0.9745388,1.0459261,18.4301876,12.8675035,50.4934072,13.964966,38.4183149,68.0403244,36.8653929,47.1810533,25.3119516,2.8883479,14.2219425,13.0740106,43.3805115,7.8358267,1.0260366,1.0965337,17.9374089,12.3111682,50.3964982,14.2786999,37.4471348,67.7571889,37.9982278,46.3919305,25.7506095,3.092519,15.0425517,14.0439135,42.3772157,8.6805556,0.9150967,0.9855193,17.5324421,12.1609345,49.6535258,14.0025839,38.1108826,67.372198,37.6179132,46.1824289,25.7872129,3.2965685,14.2225248,12.8562059,42.5593923,11.151135,1.0018889,1.0163153,17.3051378,12.2461185,49.9966472,14.2352398,36.9361968,66.5909849,36.9361716,45.3747104,25.1594141,3.2433247,13.7331185,12.9737087,41.0045954 +548,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7338668,0.7905837,14.8234729,11.3966806,73.4200765,20.326257,35.2338366,63.7151751,28.8229045,40.4361452,20.4151299,5.9117202,10.0863032,8.5945974,31.3246465,9.7785978,0.8258022,0.8215045,15.6438399,11.5342497,73.1179756,21.0164893,35.1614686,64.05901,28.9253867,40.4509968,20.6291761,5.7628078,10.4931229,8.1034511,32.1593529,9.8837209,0.8760199,0.8717288,15.8690913,11.5236555,72.9797919,21.0021952,35.2304298,64.6585152,29.7890072,40.7828963,20.2387607,5.8023333,10.4069804,7.6340353,32.3770488,7.8,0.8863382,0.88208,15.3909282,10.9622775,72.284122,20.7767563,35.1627105,65.2785362,29.5918322,40.5129543,20.2702692,5.8742429,10.1862667,7.6429432,33.8615025,8.2995951,0.9777593,0.9649585,15.7244829,11.0592786,71.8820218,21.604605,35.3055523,65.3611034,30.6944402,40.2499923,20.5833324,6.0833347,10.9392936,8.0941474,34.6997695 +549,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3121414,1.3545863,18.3653539,13.7234337,72.489376,13.329556,36.7025829,69.3049193,33.0980931,45.3711166,22.669093,3.8207544,13.4690662,12.641971,45.144864,11.9791708,1.3344591,1.3773181,17.9424553,13.1569758,72.2663236,12.6063229,36.7027854,68.459952,32.5050508,44.142125,21.9866304,3.5945946,13.700984,12.4478559,45.0467901,12.8333333,1.2018672,1.2583654,17.2808674,12.576777,72.6874165,13.0457371,36.6593514,68.4625401,32.7454449,43.6746027,22.1634586,3.6964441,13.344546,11.9823531,44.0016593,12.4172185,1.1112188,1.1700825,16.5333512,11.8377806,72.2661755,13.5859929,36.3535266,68.9051884,33.7692594,44.1154823,22.4382904,3.8515322,14.1490303,12.010006,43.3333145,12.4561404,1.2753781,1.3585119,16.7169516,11.9406783,71.9720567,13.8596531,36.4303835,68.53164,33.6455715,44.8354523,22.7594884,4.2278458,13.8124317,11.5462509,41.6753243 +550,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9161186,0.9478976,16.0634994,12.727052,77.9921277,16.8537153,37.2650013,64.8811031,33.8094869,44.5870291,21.6110253,6.5093399,11.8228179,9.1188168,33.6338636,7.8683456,0.9843043,1.020406,16.6692198,13.2413044,78.1315411,16.7754948,37.4997272,65.2726461,33.9701318,44.188911,21.9937204,6.5038177,11.6282071,9.1162273,34.1464163,7.9702161,1.0033142,1.0380304,16.4726658,12.9826233,77.7762933,16.9298728,38.0160476,65.4941224,34.4572478,44.7262038,22.5059596,6.8815786,11.4432859,8.8313199,34.1472395,8.4204742,0.9873167,0.9873167,16.365835,12.7069036,77.4024167,17.0406944,38.0644213,65.7495335,34.5686486,44.2203142,22.1896132,6.8166297,11.7975588,8.7757826,34.5760935,8.5591348,0.9246248,0.9246248,16.3597968,12.8124949,77.2128909,16.9701467,38.1944396,66.572348,34.5078696,44.4015785,22.2136433,6.7472502,11.1405308,8.5890599,34.9022981 +551,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3162679,1.3856239,21.6445026,16.4285612,48.5243539,20.124925,39.982957,67.2866045,41.1432936,47.9009547,26.5357883,4.6928171,14.4490862,12.9847724,38.7108111,14.9671185,1.2593622,1.3119175,21.4516489,16.4080097,48.901338,20.200956,40.0697621,66.5060568,41.0992497,47.8744009,26.7850788,4.7326358,14.9593219,13.4576403,38.0449773,14.3092011,1.2947721,1.34027,21.1744204,16.2310992,48.5766274,19.830163,40.7903374,66.3063756,41.3063917,48.370895,27.4031752,4.5645056,14.2053254,12.4090138,36.5179955,11.525974,1.224011,1.2683382,20.8307589,16.0177683,49.2015753,20.1216626,41.0905343,66.7661166,40.5876342,48.727151,27.1684059,4.5411579,13.8871281,11.6912315,35.5620136,10.9523775,1.2123231,1.2586952,20.6324065,15.8966229,48.3778793,19.8802396,41.0365964,67.0555168,40.5936136,49.0105997,26.949189,4.7105544,13.3752364,11.6327751,36.1913297 +552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.997178,1.0870139,15.4156954,11.2201541,65.1230868,19.3308741,35.8304418,69.1637558,35.4045042,46.0898197,21.273709,7.1428364,11.4722127,8.9945193,34.9527213,6.475577,1.0975683,1.1725447,15.3801621,11.0960934,66.2051298,18.4825038,35.5181891,69.3155391,35.4407917,45.417644,21.0170239,7.0185452,10.6776779,8.6629575,34.0350396,8.0993433,1.4054446,1.488535,16.5828273,11.9775388,65.3377751,18.3827012,35.6560436,69.584607,35.1125279,46.836159,21.0597877,7.0069699,10.7114413,9.6275562,34.3551466,8.4905571,1.5471384,1.6310728,17.1691285,12.5097665,65.0695873,18.378142,35.4084708,68.9905923,34.5050762,45.9347928,21.1508173,7.3644702,10.5326664,10.2905361,35.5691553,9.2427514,1.4752713,1.5527711,17.8372846,13.3134696,65.0483127,18.1479374,36.1419155,68.3782922,33.8025296,45.3806451,20.9952149,7.7517597,11.0978255,11.0182712,35.4800748 +553,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.169214,1.2268952,17.0383037,12.3848836,72.7477619,13.6473428,35.7979527,67.2767092,33.5041452,44.2411083,21.742311,3.8311384,14.2371151,11.5271996,41.5346378,11.9426637,1.2929462,1.3537365,17.4192007,12.4422877,71.8418426,13.813426,35.7476639,67.7829701,34.2419524,44.8857806,21.9885756,3.9200421,14.3370915,11.7130857,41.1180878,9.468426,1.2648798,1.3295535,16.8032887,12.1038339,72.5861306,13.7034854,35.817171,68.1163417,34.819941,46.1218862,23.0747935,3.8504157,15.3217088,11.7614963,40.8287313,9.2105125,1.4636837,1.5311044,16.894587,11.6524256,71.6104348,13.7643522,36.6783056,69.4298975,35.3984916,47.0331643,23.938339,4.1593955,14.1647984,11.054423,39.8052623,9.4298122,1.6067483,1.6342208,17.0753551,11.6925893,71.1132,13.04478,36.7953422,68.9031951,35.5698577,47.4571101,23.4375072,4.1360307,13.9218042,11.130955,41.2860556 +554,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.9108546,0.9804064,11.9104631,8.3219438,62.3299293,20.143285,33.9479029,67.7097469,33.5081192,42.9127291,21.836945,8.9140751,10.9781174,7.9685401,38.5065292,2.7251198,0.939693,1.009721,12.1458243,8.4830711,62.3580029,19.3695242,34.8888842,67.8119688,34.1025623,43.4359017,21.8974364,8.8034211,11.5464689,8.7031942,39.5731195,2.4418616,0.9646149,1.0359755,11.9115066,8.3008879,62.2280682,19.3986326,34.3260126,67.8335118,34.4653439,43.3472731,22.0306535,9.4218077,11.5658429,9.0747383,38.6249035,2.6932097,0.8817645,0.9215861,11.9225347,8.4044122,62.7145382,18.9388785,35.1929,68.004867,33.5940217,43.291626,22.2975322,9.4716743,11.5059858,9.2540497,38.3712654,3.356483,0.835957,0.8683615,12.2644935,8.6775419,62.3978698,18.8151529,35.3594033,68.4813282,34.4432717,44.09796,23.2029623,9.3199454,11.7709849,8.9196898,37.545 +555,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0079995,1.0226974,16.8877823,11.6672217,50.4236363,13.9446795,37.1560241,65.9434479,36.2521432,45.7424661,24.7599115,3.3895532,13.9125321,13.3873283,41.2373001,12.4060902,1.1133118,1.1281861,16.8286818,11.8658476,50.2582304,14.0136642,37.0629292,65.7048661,35.6133726,45.4963613,24.8733389,3.5250835,13.5034794,13.8732244,39.917566,13.7037575,1.2216294,1.2365125,17.5542859,12.7579228,51.8932316,13.6735966,36.2961654,65.6163259,34.5159818,45.3944931,25.1534672,3.5933468,13.5849105,14.3913425,40.0218136,13.3987407,1.3893473,1.3440826,17.4978991,12.5168636,51.6940219,14.0387402,35.8465213,64.9575847,34.5746705,45.418116,23.5964477,3.3804811,13.4665341,13.6203236,38.7190864,14.9682517,1.4698975,1.4241698,18.0703411,13.3647548,51.6816704,13.8847486,35.9845407,64.0838535,33.551779,45.5123848,22.8746676,3.2774548,12.8606035,13.9683266,39.6703894 +556,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.9234206,0.9451938,16.5649162,12.6063479,70.1756064,13.959326,33.4121625,68.8008334,35.1711848,45.1768478,21.7987518,3.395115,11.8890682,10.4844925,35.9961013,11.3126001,1.0072291,1.0324728,16.9004841,12.8391939,69.8511219,14.2470942,33.1476789,68.4384507,35.3568819,45.4965969,21.780586,3.427106,11.8436417,10.3575535,35.9270903,11.120682,0.990342,1.0464725,16.4308176,12.2788892,70.0806342,14.4638021,32.9751021,67.9760442,35.3909189,45.2824779,21.809015,3.3574196,11.5039168,9.7698906,35.2952793,10.8423002,1.0020041,1.052332,16.5546092,12.4276292,70.3281024,14.3030972,32.4121742,68.1956429,35.3181395,44.9857573,21.9848078,3.2763429,11.0957393,9.7353876,35.1874135,11.5798819,1.0314142,1.091012,16.8267277,12.6459393,69.8451308,14.0870311,32.1833747,68.2971534,35.2008485,44.906792,21.5740897,3.1424073,10.6277376,9.587133,34.8096326 +557,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9650801,1.0532347,16.320369,12.3599585,52.7489519,16.9411739,40.9796598,67.9203587,38.0123685,50.5321556,26.1780047,3.734945,13.0997179,12.3164014,36.8505892,8.6087921,1.0509884,1.1205184,16.4142585,12.2988153,52.418655,16.7247887,41.0773522,68.2053099,38.3286766,50.8193687,26.5278826,3.8415181,12.5257031,12.0971047,36.2814305,9.0081249,1.1101618,1.1838129,16.908314,12.8103229,52.8121432,16.1518987,41.0269508,68.7064753,37.9520407,50.4711112,26.7621881,4.059268,13.4792274,12.8537418,36.110898,8.9837608,1.2070412,1.2510611,17.4310292,13.0772435,52.7087198,16.2282993,41.1744168,69.5028931,38.1858432,50.7475516,27.0183231,3.9764796,13.0971026,12.9702542,36.0042784,7.9130547,1.162694,1.2259689,17.3100722,12.9942542,52.2869245,16.24299,40.7466545,68.668435,37.6806727,50.7090714,26.714519,4.1119734,13.176508,12.4700813,34.6649107 +558,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.1574827,1.1723076,19.7506936,14.4579225,64.4668342,9.5449455,35.56473,64.1538995,38.4432028,42.1225101,23.563733,4.8750877,13.1203683,10.3096555,41.4491986,12.2563701,1.2113171,1.2144753,18.998867,13.9190206,64.1689261,9.5637324,35.8064194,64.2048007,38.7691548,42.6105996,23.808981,4.8046318,13.0073009,10.2690271,41.2514745,11.9729368,1.2122097,1.2143384,18.8802052,13.7127338,63.9035273,9.6743004,36.0556173,64.4291299,39.1145888,42.6583998,24.1775171,4.71548,12.9487209,10.5012134,40.8952752,12.4999717,1.1879099,1.2023715,18.5596046,13.6277536,63.1658234,9.9439584,36.3576814,64.2967215,39.2848454,42.9021666,24.5061879,4.7299149,12.1324399,10.1052811,39.9831731,12.2388995,1.1813446,1.1818516,18.1768229,13.3092239,63.1773193,10.2966161,36.4405499,64.3995067,39.0350497,42.5438436,24.493438,4.7628094,12.1387921,10.1408463,40.017511 +559,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.1358007,1.1391751,17.8380864,13.0779286,62.7167268,10.119671,36.4590761,64.2945475,38.8331439,42.614102,24.5509943,4.7167802,12.3383863,10.3374388,39.9869145,11.7250431,1.0511745,1.0687057,17.8005832,13.0545776,62.4433945,10.2044959,36.5981043,64.4006275,38.4457862,42.9901363,24.263483,4.4631839,12.7819289,10.8084568,40.1299347,11.6561604,1.0337494,1.0515556,17.55955,13.0077622,61.6767832,9.869469,36.6280406,64.6005454,38.5148314,42.7949797,24.4714494,4.2864609,12.8668573,10.7319365,40.6925024,10.941816,1.0249813,1.0384017,17.6790485,12.8874612,61.8165539,9.8558338,36.8479243,64.5572675,38.7295042,42.7812254,24.6049958,4.3590268,12.9949288,10.5040248,40.4999581,10.8394702,0.9703854,0.9884743,17.5325559,13.0459565,61.0648927,9.8583254,37.0478828,64.550279,38.9725969,43.2941591,24.870069,4.2912824,13.2843251,10.8626063,40.6926102 +560,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0823265,2.0516032,27.6195895,22.7539595,54.7997722,10.1577868,34.9212227,65.2427249,36.736847,46.5040666,23.9701526,5.8894424,14.6537005,10.6187797,32.4246487,22.4810085,2.122564,2.0982614,27.974098,23.1325696,55.1777561,9.9051919,34.5128124,65.1607877,37.0595949,46.6237901,23.0920909,5.8587018,14.7921147,11.1005098,33.6326255,20.8806261,2.1766688,2.2070933,27.9164923,23.2232412,55.1677314,9.781661,35.0017386,65.0980162,36.8612844,46.6443763,22.6456125,5.7225422,14.6697384,11.2481842,32.9198704,21.7464204,2.1974728,2.2160359,28.8547975,24.275886,54.177237,9.2539927,35.384467,65.576905,37.3024342,46.8876505,22.9885481,5.7990578,14.6862109,10.6556969,32.9306334,19.6134568,2.2437465,2.2423212,29.4081858,24.8322275,54.630754,8.8983144,35.3914767,65.9820948,37.1469069,46.3339502,21.9946717,5.9173491,14.0671896,10.3944375,33.2138902 +561,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.446556,1.4625205,22.6286828,16.9660805,54.3246676,16.5921472,39.3915516,68.0802049,35.2631527,47.358716,24.4779716,3.6113838,13.2906684,13.3024158,38.4382852,10.7992758,1.3334094,1.3092661,21.0213202,15.3756013,54.327359,17.4689729,38.4719769,67.7146455,35.5256957,46.7090159,24.7216135,3.3200401,13.9419505,13.4227278,38.7508978,11.0527943,1.2577212,1.2334618,21.3068738,16.0462436,54.2670285,17.3050492,37.667491,68.7918977,36.12922,46.0472588,25.2804603,3.5248059,14.8271506,13.4993534,39.7880525,10.9758358,1.2161523,1.1886601,21.3286531,16.3722858,54.6421008,17.468023,38.606147,68.7107876,36.1073719,46.9232907,25.5289246,3.4159864,14.2834142,13.1477198,40.6556821,10.6783439,1.102788,1.1236755,21.6945637,16.9520175,54.6544269,16.9521934,37.7136939,67.2275938,35.3011599,46.5675635,25.1106534,3.5072422,14.4846081,13.2401996,40.7306409 +562,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8162926,0.8607486,13.3109736,9.3261935,56.6959753,9.7410902,31.6933048,70.3246745,41.2237786,43.351649,24.810192,5.2097919,10.0387267,8.2637051,35.8173565,6.374323,0.811156,0.8330733,13.3538824,9.3118453,56.1717049,9.6287125,31.9877317,70.6163308,41.0768191,43.3792508,24.447018,5.1126104,10.1578492,8.4546024,36.0915441,6.885398,0.8068147,0.8211485,13.4836624,9.3199652,56.0203709,9.5402303,32.031486,70.8938565,41.1833472,43.3265686,24.5657757,5.0126981,10.555208,8.6474742,36.4273704,6.8011263,0.8196624,0.8231143,13.3459045,9.1673479,56.129391,9.5450467,31.6483425,70.6627994,40.9438047,42.9800544,24.3687705,4.9735309,10.3910935,8.7494806,36.8603102,6.4806055,0.7508488,0.7415179,13.1693449,9.1299873,55.9507526,9.2181636,31.5487302,71.5342449,41.687364,43.2805818,24.7620597,5.0848357,10.2822554,8.7348769,37.0588178 +563,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3104772,1.3289031,20.7083488,16.2361191,48.3082637,18.688581,40.3895217,66.8893934,40.3610969,48.3792753,26.2297296,4.705697,13.904828,12.0699599,36.3085038,13.4180601,1.1947667,1.2043403,20.6270337,16.2405899,47.6623605,18.5291005,40.58628,67.8089748,40.5037092,48.8989585,25.9702619,4.8031777,13.933522,11.8282591,36.1375217,11.5921593,1.1229949,1.126174,20.2869541,16.1035193,47.1958512,18.2940121,40.8440978,67.9543643,40.5691542,48.4602559,25.9142122,4.4404614,13.0985795,11.4084501,37.0738807,10.9011533,1.1841004,1.1931173,20.2785235,15.822281,47.1459971,18.1976891,39.6641093,68.1185285,39.8825828,47.9109633,25.2730795,4.4101432,12.3661775,10.7948115,36.3558949,12.9999926,1.0810431,1.0900261,20.2777835,15.753963,47.2729515,17.4966537,40.3190623,68.3801608,39.0919127,48.2819781,24.9932002,4.1314292,13.0544313,11.8820185,37.2876565 +564,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6846758,0.6709702,13.0811553,9.1791216,55.5759881,9.5182099,31.3266174,71.6237292,41.8398153,43.6474243,24.8545673,4.8774175,11.015506,9.3603918,37.537434,5.2042802,0.726455,0.6997755,13.1991627,9.2890742,55.6387342,9.649577,31.300556,71.7985086,41.9739483,43.8544036,24.5666592,5.0478002,11.346525,9.7610854,37.8352009,4.9590997,0.6521546,0.6145275,13.2272034,9.1336995,55.5034997,9.6373553,31.0974927,71.1614273,41.6568982,44.0436903,24.4485899,4.7575929,11.3394207,9.566827,37.8665105,5.1321133,0.6381757,0.6135001,13.2934178,9.2879085,55.3579155,9.6565171,31.2044963,71.2580274,41.8254787,44.4914349,24.6520345,5.0695934,11.3033092,9.6124554,37.5930749,4.8940459,0.6279561,0.6261366,13.4131927,9.4703476,55.3588936,9.6872012,31.0145705,70.971394,41.8834291,44.4306511,24.4414444,5.2725313,11.2769684,9.5378257,38.1500914 +565,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9932892,1.0042592,14.7062709,10.863124,78.4156691,7.5238976,30.5420231,65.1405756,31.884068,40.3137408,19.6245761,5.9630253,11.8525113,9.7840729,36.7407657,6.8787384,1.0151998,1.0248079,14.7531158,10.9698467,78.5451663,7.5256766,30.8219678,64.9180001,31.6170207,40.2750732,19.4294569,6.0978155,11.9897536,10.2287314,36.2963464,7.113508,0.9830484,1.0022855,14.8791415,11.0802175,78.5032529,7.4969312,30.8029022,64.678723,31.4460498,39.92484,19.3558536,6.2659417,12.0947026,10.2218716,36.3137401,7.3152709,0.939335,0.9522653,14.7121658,10.8240395,78.3666472,7.5732637,30.7482994,64.7576089,31.7238089,39.8209994,19.3092457,6.5029869,11.8688795,9.8514263,36.7135888,7.1706289,0.9236355,0.9370258,14.777909,10.8562191,77.9741382,7.6338044,30.9458566,64.8233159,31.689209,39.7601909,19.5024474,6.7103059,11.6771557,9.8210756,36.695298 +566,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9280894,0.9242854,15.8990686,12.567364,76.8991562,17.4619953,38.0093118,66.5973596,34.8162157,44.7946125,22.4929282,6.6273031,11.173847,8.3902882,35.1635015,8.8124978,0.9585808,0.9657214,15.8704481,12.6402514,76.6970718,17.8772317,37.5585658,66.7447354,34.7301593,45.1761228,22.7225339,6.9495005,11.3899609,8.8152826,34.9735291,8.8730535,0.9821847,0.9937626,15.6996242,12.2501272,76.6301414,18.5287275,36.8330626,67.2002049,36.0372425,45.4964721,22.7437072,6.7733719,11.7636228,9.4266782,35.2516463,8.7225101,0.8820434,0.8948436,15.2343828,11.8157537,76.2465452,18.9069289,37.4522759,67.6085753,36.5390246,46.4514795,23.2209757,7.1061296,11.6238037,9.5337332,34.5981559,9.2011243,0.8583317,0.9075803,15.214384,11.8140899,76.0183531,19.0885342,37.2171461,68.171221,36.1945214,46.6172945,23.6478778,6.7551299,11.1877517,9.8975885,34.7426234 +567,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1361777,1.1451472,20.1399947,15.5176927,46.7906156,16.9023416,40.1710561,68.2459945,39.4922674,48.6152585,25.4004974,4.1677854,13.3838073,12.6123567,38.5116007,16.8055693,1.1264533,1.1228236,20.3483704,15.7304897,46.9731106,17.172954,39.7916751,68.1527899,38.8472256,48.402787,24.7916751,3.7083313,13.5913531,12.5072857,38.0938584,16.0714472,1.1939128,1.134313,20.8127856,15.8593131,47.0378351,17.6235786,40.5182576,68.7535341,38.8936043,48.9776302,24.8880149,3.3753457,13.6925251,12.4631475,37.0119461,16.4788968,1.3354225,1.278133,20.8703923,15.9482618,46.2484995,17.0461655,40.7444891,67.926456,38.5197399,48.8448787,25.399382,3.0376461,13.7096162,12.6419311,37.327432,16.8588136,1.3465913,1.2957014,20.9402689,15.7226389,46.4990899,17.507127,40.7508296,67.9275508,38.3529027,50.1713215,25.8207967,3.297172,14.5857491,13.1142341,36.5339862 +568,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0300606,1.0178536,15.835089,11.1081968,71.607241,21.1877596,35.5561348,64.3911345,30.0737929,39.4043119,19.6362624,5.9831328,11.596553,9.0172825,34.7991356,10,1.0087586,0.9969939,15.16146,10.570136,71.8444191,21.5573396,35.007643,64.7883589,30.2141684,39.5461406,20.0152912,5.7368713,11.2668802,8.9916887,34.1195043,8.2116788,0.9327959,0.9212752,14.8120717,10.0148398,71.6052629,21.88114,34.7229093,63.9290973,31.1283003,40.7139243,19.6954468,5.816277,10.7433841,9.4291568,33.0072193,8.0357143,0.9069614,0.9069614,14.9759659,10.4567338,71.0333132,21.9761909,35.007272,63.5856292,31.07714,40.9752501,19.917506,5.6525972,10.8201613,9.3471838,33.3166933,7.5757576,0.8980223,0.8980223,14.1898194,9.8379662,71.4050118,20.8601631,35.4195897,63.2208084,30.2625322,41.3267646,20.0421819,5.6493221,10.5832579,9.7274464,33.2858594 +569,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.0269492,1.0355461,17.308162,13.0085724,61.0064312,9.7447453,37.3233264,64.8383854,39.0524944,43.2586144,24.8218339,4.2002642,13.2938559,10.9540719,40.9717759,9.2694096,1.0014214,1.0135472,17.0849375,12.92533,60.7221137,9.6587368,37.3813557,65.2158663,39.108839,43.7193208,25.1859179,4.4102585,13.1292582,10.7919357,40.6614744,9.7905293,0.9873192,1.0148731,16.817386,12.8295949,60.5826609,9.709871,37.5110033,65.6183745,39.3575453,43.6697867,25.6025831,4.4062317,12.9406885,11.0570704,41.0374083,9.086843,1.0810678,1.0840515,16.7705387,12.5871513,60.2948047,9.4372864,37.5495333,65.5713296,40.1340167,44.1447296,25.9892646,4.4986529,12.4729651,11.066735,41.1038156,8.9597839,1.0512423,1.0649357,16.668262,12.4777816,60.1158825,9.5752221,37.6867581,65.9860641,40.0751423,44.5708551,26.0159851,4.4706312,12.0308293,10.9449557,40.6594208 +570,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9163486,0.9366079,14.0446982,10.0569667,71.5463624,21.1797984,36.107403,63.3155706,30.337321,42.3213466,19.9955553,5.792279,11.0274609,10.318869,32.9606529,7.2530864,0.8313761,0.8504966,13.5554656,9.9130798,72.0293051,20.9914333,34.9520585,63.547303,29.9499637,41.8716157,19.4872828,5.9399777,10.8659505,10.3663665,32.8151426,6.8181818,0.778839,0.8051252,13.641877,9.7615197,72.0436885,21.2847408,34.3544385,64.5764739,30.6537708,41.9202352,20.2919409,5.9827327,10.8606602,10.5414317,33.0986053,6.8597561,0.8648501,0.9058949,13.4283423,9.6949007,71.9223017,20.8200027,34.3329243,64.5246845,30.8649428,42.0032695,19.8490436,6.1811526,11.3691978,10.399678,34.1413452,7.6086957,0.8367878,0.8769338,13.6399507,9.8894555,71.9126019,20.1919358,33.7664923,65.2738912,30.6077464,42.1231573,20.2518962,6.1375477,11.4433876,10.0239673,34.3349471 +571,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6814075,1.7094974,18.0572489,12.8197375,70.7028897,13.5009237,37.4842386,69.0731472,34.8360661,47.5724959,23.3606646,4.2559915,13.4661901,10.7402965,41.8704117,11.6666135,1.5491241,1.5294352,18.4176816,12.8443355,70.1618328,13.2007727,36.5359073,69.1157032,34.9401689,47.3071735,23.171562,4.2220756,13.630498,10.8441615,42.829201,12.0512308,1.5644109,1.5337172,18.3121991,12.7751778,70.6559661,12.8474502,36.9745069,70.8821618,34.9758842,46.6919279,23.5355126,4.5141307,12.2939645,10.7978066,41.7590178,11.081039,1.3594406,1.3533094,18.2211665,12.6915241,71.147205,12.7609327,36.6326655,70.1700647,35.4081617,45.5442196,23.2313072,4.5918383,12.3087795,10.0974958,42.7871408,11.684741,1.3932031,1.4170126,18.7540187,12.8792642,71.1835929,13.5976322,36.0357324,69.6558516,34.9768372,44.5069402,23.4612866,4.4010606,11.7123578,9.3964485,44.7586544 +572,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1699725,2.1685273,29.2471849,24.5957549,54.9467466,8.5293957,35.3231052,65.4881106,36.8760783,46.0263954,21.4531177,5.6421546,14.1106358,10.6632769,33.8907709,18.6780894,1.883776,1.8974812,29.7351931,25.023726,55.3644914,8.887218,35.5264641,65.7042881,36.8522469,46.4167073,21.3746301,5.735445,13.9727838,11.2551209,34.2185793,16.9593265,1.8715949,1.9299656,29.5756807,24.760357,56.1078407,8.8825729,34.7182719,65.9516042,36.4050924,45.9159078,21.2641371,5.3597721,13.9157221,11.8647999,34.4344269,17.2272411,2.0861328,2.1691917,29.651125,24.5565653,56.4301282,9.0400943,34.3326571,65.732388,35.7755746,45.3565757,21.6774052,5.4954554,13.9265946,11.9564659,35.3162605,18.5577841,1.9430967,2.0019064,29.965419,24.9532364,56.2647818,9.1534389,34.3630206,66.7253056,36.4737945,45.6204706,22.3070052,5.6127311,13.7301702,11.4774062,35.638789 +573,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3056712,1.2528876,21.0871826,16.1961879,46.4005459,17.5219269,42.3494656,68.5841236,39.1236716,50.9706397,26.4773612,2.9831565,15.1203262,13.5428503,37.23475,13.6856836,1.3530983,1.2742351,21.2911122,16.2716035,45.789886,17.7700596,42.6642542,68.5954439,39.6503279,50.398096,26.4856844,3.1703123,14.6234319,12.696991,36.5904626,13.2707972,1.4260887,1.3800972,22.2237519,17.1735401,45.5110994,18.1474008,43.6252588,69.1529344,39.8032546,50.5562188,26.7399248,3.2373014,14.1297609,12.0648681,35.8922238,11.0406317,1.5507713,1.5096911,22.3487605,17.0323209,45.5882276,18.1857525,44.0846223,69.0702239,40.1410832,51.1082104,27.3028397,3.2959007,14.0366156,11.8358683,34.8692934,10.5063518,1.399412,1.4294134,22.4318739,17.2105396,46.3843139,17.67996,43.6005358,68.7317427,39.373169,51.0349321,27.3323275,3.3381839,13.5577993,11.4651505,35.5815044 +574,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.4271646,1.4254464,22.7578113,18.2008068,49.0761347,14.7919378,40.2447964,66.5576939,37.479006,48.0377853,24.3973311,4.1954777,13.0328093,11.6704189,33.9711652,15.6597332,1.5250802,1.5542177,23.026207,18.1730368,49.3715887,14.4856136,39.4441284,66.3498565,37.1447032,47.3746615,24.198827,4.1191403,13.3612789,12.0036252,33.9494468,17.1493645,1.6125252,1.6407101,23.3566217,18.4009061,49.4529485,14.4716058,39.3019445,65.7890532,37.0801571,47.2621105,24.3439671,4.2949622,14.0181981,12.1238474,33.7376486,18.5543649,1.6579531,1.6806288,23.1753094,18.3691925,50.1720984,14.2253788,39.2923006,66.0531619,36.8717646,47.5122225,24.8697453,4.4125059,14.1090763,12.1443011,34.5865615,18.2772727,1.6356822,1.6572922,23.2433722,18.3884078,49.4515188,14.4579241,39.1613429,66.6533557,37.1645355,47.5958581,25.4073461,4.4329053,13.639295,11.7391284,35.0567005 +575,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.9837671,1.0027519,16.5025536,12.423061,59.7687301,9.3445337,37.5384521,66.5911845,39.7480522,44.591719,26.0275288,4.5397362,11.9493091,10.8632021,40.9107948,9.3824169,1.1023092,1.1203786,16.4026505,12.2609953,59.4707079,9.6092573,37.3638374,66.5762115,39.7011955,44.6143485,26.3068799,4.6412619,11.8145862,10.5779167,40.7202908,9.760798,1.0704101,1.0966093,16.3030258,11.8648036,59.172235,9.508107,37.2441943,66.9145374,39.8114879,44.9081137,26.6057377,4.7697931,11.9052204,10.5738247,40.2631073,9.9095569,1.0490865,1.0835657,16.3675725,11.7611578,59.0939095,9.4502643,37.1368112,66.9868582,39.9765839,44.8500381,26.6213927,4.6532285,11.7243342,10.411198,40.6581987,9.4624399,1.0592311,1.0864733,16.351651,11.6917884,58.8976226,9.4818038,37.2460607,67.120749,39.9705649,44.9259453,26.8986369,4.5614174,11.5640478,10.2639652,40.1362606 +576,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.5494597,1.5772218,23.3595585,18.3120588,49.7341557,14.454829,38.8284867,66.7151638,37.3889788,47.6799449,25.153142,4.2955591,13.4822952,11.2257468,35.015512,17.7791619,1.4628715,1.4871455,23.2865858,18.4716686,49.6277638,14.1861115,38.2203988,66.6790826,37.1630709,47.3641156,24.9664929,3.9687298,13.370527,11.4909638,35.0879759,17.5094592,1.4175635,1.4484319,23.2366067,18.3378914,49.7967987,13.9810723,38.6085362,67.0724577,37.4723421,47.2849398,25.3135627,3.784865,13.7659694,11.8807447,35.6822117,17.4388445,1.3700636,1.375695,22.9306157,18.243344,49.8057509,13.8102743,38.517281,67.3375354,37.5366007,47.7678616,25.4757137,3.9007641,13.6818913,11.9593978,36.0872025,16.7312274,1.3124249,1.3180869,22.5891928,17.8893796,49.4968364,13.4975959,38.0569542,67.6527039,37.4225447,47.7353212,25.1032834,3.7695498,13.799823,12.2005933,36.1865869 +577,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7788951,0.7854093,12.7850558,9.0975255,74.6656761,21.8962173,37.5246063,67.9379921,32.8001969,44.6112205,20.4970472,5.2903543,12.029703,9.446093,35.95,6.7028986,0.7018146,0.7194157,12.5478011,8.9627151,74.707887,21.2041885,37.2165943,67.5108538,32.5856247,44.8866377,20.4293295,4.799807,11.6088632,9.0865385,35.5890944,6.0218978,0.7307197,0.7486666,12.3177843,8.8678328,73.9572989,20.5782313,38.1501472,67.5907753,31.5260059,44.0873405,20.0441609,4.4406281,11.3124388,9.6379648,36.1248761,5.8303887,0.8526093,0.8709843,12.5499002,8.9071856,74.490316,19.9751244,37.3805933,67.2951232,31.5987934,43.6651584,19.6329814,4.3489191,11.8635438,9.9186165,36.0596708,5.2919708,0.8331177,0.8517542,12.2329603,8.8758901,74.5365602,20.5689829,37.5191034,67.1166582,31.3041263,43.2755986,19.7401936,4.3555782,12.4869383,10.3970742,36.4836325 +578,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.821314,0.8606278,13.5171596,9.8920135,72.2287852,19.4135728,33.235752,65.007807,30.0741503,42.1350571,19.7697079,5.9914155,11.739476,10.4134222,33.843148,7.9192547,0.7750277,0.8145108,13.8470439,10.3321716,72.4022282,20.0961554,33.1440915,64.8198895,30.5990551,42.0321145,19.9490971,6.4800344,12.0109612,11.3155896,33.661428,7.0491803,0.7625338,0.7846903,14.3396932,10.4813061,72.1974084,20.1144912,32.7371513,64.8914889,31.1294174,42.3432617,20.2773297,6.5715468,12.0980775,11.1334468,34.3422228,7.605178,0.8929934,0.9158158,14.3356585,10.5100788,72.0662277,19.7674442,34.0315281,64.7241867,31.625886,43.1978582,20.5101604,6.5325626,11.825733,10.580919,32.8750025,6.6101695,0.9246766,0.9465304,14.1272888,10.4855928,71.8658711,19.9125512,34.4252999,65.2788537,31.2131156,44.5687395,20.6889899,6.7836217,11.8478152,10.2224831,32.9473067 +579,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.271313,1.2949957,17.9347651,12.9475569,71.2609025,14.0493093,36.3666085,69.283827,35.9067004,44.8423078,23.4888316,4.1064402,11.7768733,9.8893638,44.5291136,8.7499544,1.2485846,1.2713737,17.6940738,13.000353,70.8463398,14.5635333,36.2936936,69.4252905,35.4883251,44.6010259,23.7989342,3.9907372,12.5301087,9.5183077,44.7820231,7.8947368,1.2442225,1.2660658,16.5566246,12.188736,70.9685921,14.3563223,35.7832774,68.9036897,35.1334158,44.4472727,23.2957888,3.9358607,12.5760979,8.9446133,44.709604,7.3113208,1.2378452,1.2762351,16.25822,12.1156283,70.686035,14.4833909,36.2159389,68.9043349,35.6512692,44.3960031,24.7778544,4.4011441,12.7041044,9.191354,45.6343518,7.7830189,1.218955,1.2644044,15.2420194,11.0826088,69.5443525,14.2489627,36.8514647,68.195168,35.9189423,45.0139351,25.7147785,4.1870369,14.547554,9.9866315,46.3054959 +580,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8740719,0.9436708,15.3500259,11.9189623,76.2219248,19.2252909,36.7974791,67.8441951,36.5124519,47.0376451,23.6460644,6.9930476,11.3202689,10.0577359,34.4639839,9.7875402,0.9200697,0.9875099,15.3311974,11.7287298,76.2007998,19.594924,37.1701203,67.8309131,37.0013006,47.657498,24.5725796,7.1217259,11.4230446,10.2233461,34.4299682,9.8755817,1.0443924,1.1341835,15.6557371,12.0766716,76.2022006,19.3613301,37.1317742,67.7100712,37.1317654,47.9932083,24.8090407,7.535409,12.1151907,10.9448425,34.4600818,8.9085058,1.0759217,1.1519981,15.3060544,11.5251937,76.7825929,19.0121713,37.1173942,67.0783896,36.8770042,47.2353368,25.0326605,7.3535526,11.7684723,10.8053429,34.5835975,7.9967851,1.0606725,1.1364139,15.1861497,11.3762364,77.1823974,18.8999928,37.1106477,66.3946671,36.2615206,46.6686044,25.1577278,7.5005097,11.5366654,10.1534055,34.0032856 +581,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7407898,0.7529375,12.3048907,9.0270552,74.8681435,20.7882535,37.5651721,67.1793535,30.5787278,43.3003128,18.5349322,4.6663191,12.7145923,10.4613734,37.2156013,3.5984848,0.7464092,0.7584516,12.131402,8.7687532,74.2924528,20.4661885,37.2159091,66.8130165,31.3274793,43.517562,18.6725207,4.6229339,12.7358491,10.0104822,37.1686108,4.3071161,0.6784587,0.6909151,11.6,8.6133333,73.5086768,21.4816782,35.2704874,67.3540439,32.3245849,42.8227102,19.0948045,4.2046063,12.1621622,9.6756757,36.546841,5.075188,0.7139066,0.7139066,11.1644997,7.9988694,73.2813403,21.4326161,35.8042358,68.3171151,32.6559817,43.1883228,19.3188323,4.6078993,13.1517961,10.8468677,37.0911215,5.8943089,0.6863276,0.7133838,11.8307427,8.2037997,73.6919459,22.0011534,35.4810496,68.483965,33.03207,43.2361516,20.2040816,5.1020408,12.8752887,10.2312139,35.9976663 +582,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9523768,0.9654376,14.7687204,10.8711597,78.0294583,7.6385316,30.9702978,64.7151408,31.4018198,39.7130494,19.2755141,6.6800007,11.6778273,9.7716218,36.9644409,6.6099886,1.0200663,1.0252881,14.7716058,10.8658219,77.6089686,7.5125141,31.0482526,64.926916,31.4310387,40.3572174,19.4159674,6.6818185,11.8013769,9.8859137,36.9932606,6.7327271,1.033777,1.0450323,14.7840445,10.9512895,77.2100662,7.474441,30.9583006,65.0294972,31.5715024,40.6564386,19.6389395,6.7953394,11.8425195,10.0604609,36.675468,6.8919636,0.9917606,1.0178453,14.5828436,10.8025362,76.8053642,7.5033494,30.940703,64.9723002,31.6160741,40.8815255,19.7791622,6.6840205,11.3150119,9.70615,36.9248983,6.6072072,1.1173041,1.1312492,14.6737608,10.6728831,76.5942992,7.5012975,30.9808831,65.0111296,31.8138173,41.1550197,19.7277326,6.5167944,11.1255274,9.5775199,37.1060208 +583,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1953863,1.2159666,14.9860378,10.8820774,76.6893687,7.2875507,30.8524081,64.9524968,31.7233027,40.8658174,19.4142408,6.5278737,11.0898004,9.5851074,36.8743229,6.9435478,1.2086176,1.2350979,15.1818516,10.9304616,76.7555118,7.0050563,30.8898841,64.9685069,31.9904037,40.7824428,19.4016213,6.3329061,10.9859582,9.5344078,36.663597,7.3950332,1.1769892,1.2068834,15.3590856,11.1374249,76.9194949,6.8784816,30.7589056,64.9764462,32.2560823,40.8903965,19.5760043,6.3590109,11.0498596,9.5201642,36.4465794,7.5416719,1.1617591,1.1881931,15.2056151,10.9881548,76.9884358,6.9034519,30.7645158,64.9174811,32.4146741,40.726486,19.3367383,6.2741504,10.8754024,9.4643203,36.607311,7.4811083,1.1518691,1.1725376,15.3845144,11.1066752,77.2619317,6.7404586,31.0649947,65.3118535,32.3609114,40.8918348,19.3641142,6.3518219,10.9129782,9.6461926,37.5082597 +584,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2819213,1.3308875,14.9266876,10.7759456,69.3531056,14.0519552,37.7794045,67.7216767,34.8231077,45.3398383,26.0861189,4.1797349,14.0102642,10.1183054,45.530375,9.6982717,1.2494978,1.2731808,13.9047666,10.1383511,68.1581883,14.2660055,37.6523203,68.376232,34.9074959,45.4054366,26.124567,4.3914696,13.6384643,9.9460021,43.859418,10.1239628,1.1427078,1.1800565,14.4133411,10.3649203,67.7526194,14.850398,37.7551923,67.8600852,34.8581454,45.7438304,26.6323023,4.2606963,13.9658656,9.8399343,43.0559101,8.7209269,1.0950658,1.1320535,13.7524166,9.9951855,67.4321055,14.9543922,37.883213,68.2968521,35.1581417,46.009702,27.0316186,4.6958554,13.3237899,10.09569,42.6158162,8.2692339,0.9712401,1.0080807,13.4606171,9.4973488,67.4160131,13.940694,37.5546962,67.7929238,35.2697998,46.0135959,27.5887176,4.5940611,14.2653988,10.9686461,42.0573941 +585,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2043778,1.1968001,15.1960502,10.9946654,77.2971174,6.7279644,30.9959618,65.2340719,32.1784484,40.587451,19.2484238,6.3490944,11.3506421,9.5486872,37.3930951,7.8485456,1.1722526,1.1737955,15.0830117,11.0850214,77.0828978,6.8194158,31.3389439,65.6566914,32.6982884,40.9943145,19.5320229,6.4743596,11.6265147,9.5931274,37.8304645,7.6275133,1.1722624,1.1709392,14.8037655,11.0227683,76.8700471,6.7731638,31.447457,65.7250649,32.880275,41.2569194,19.780172,6.3335279,11.3798531,9.5461617,37.8112909,7.4892887,1.1348015,1.1324688,14.4407854,10.8117207,76.991709,6.8179682,31.3221036,65.7929757,32.8552626,41.2691044,19.7086429,6.3165141,11.6935765,9.7331286,38.0668421,6.8532873,1.1763508,1.170303,14.3404281,10.631105,76.7289859,6.7754245,31.2004967,65.8378535,33.1292109,41.1700248,19.6233205,6.4128718,11.4572627,9.6466666,38.1867167 +586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2346277,1.3043154,17.1744794,12.8156893,52.565098,15.9909364,40.9150783,69.1589575,39.0697989,51.1424266,27.0542933,4.2106625,13.3028854,12.0810863,34.092813,7.5568144,1.2836748,1.341246,17.918401,13.5490612,52.7330961,16.4972723,40.8822729,69.1375555,38.2906557,50.9311771,27.130675,4.3776517,13.688989,12.6740101,34.3184643,9.1346242,1.2871501,1.3579161,19.1231407,14.4470557,52.9000352,15.7438317,40.2455098,68.221206,38.8134153,50.4284189,27.1933381,4.5356213,13.3911614,12.6899737,35.6946276,9.5611465,1.1892526,1.2622994,19.4496933,14.6859924,52.8759895,15.1216023,39.9907002,68.1216725,38.6953491,49.8526818,26.8814807,4.0074015,13.4102461,12.6876584,35.2914094,8.7423501,1.1125054,1.1813021,19.5319025,14.6362667,53.2583178,15.1018118,39.5258603,67.970785,38.5789316,49.4420716,26.8572453,3.6172679,12.4436277,12.12326,35.1391372 +587,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9745482,1.0108713,13.4256304,9.6712076,67.1132998,13.9189761,37.4966817,67.6654058,35.1156681,46.3391041,27.2203466,4.2300187,13.576152,10.5586952,40.8873742,5.9782609,1.0231073,1.0798533,13.7976496,10.2231314,65.8822723,13.9231293,37.0685659,67.9478856,35.4857305,47.2461449,28.241571,4.751135,12.945142,9.9614937,40.281796,5.7620839,0.8964142,0.9312399,13.5852433,10.6246641,64.9398012,14.2269667,36.616786,68.2526072,36.0953859,47.3197924,28.3725966,4.6042095,13.1904787,10.4285639,39.9325414,4.5275608,0.857541,0.8690726,13.8809466,10.9357718,63.8536562,13.641707,37.6375728,68.2471337,36.5187626,47.5925445,28.2711012,4.3890005,13.3624846,10.6310537,39.4400685,4.1338599,0.7977176,0.8095993,13.4670258,10.7186542,62.6377977,13.3106248,38.16495,68.8475196,37.1653005,48.5070942,27.822831,4.5656593,13.3367066,10.8915828,40.6857709 +588,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8830113,0.8978829,16.7668733,13.3800444,85.8081605,11.8326259,31.8533161,66.0345374,30.28626,44.5037468,18.5896525,5.5076387,14.2365386,12.3855183,31.6481674,11.2816132,0.9627961,0.9635228,16.643758,13.1433991,85.7566045,11.9838588,31.7110776,65.8613313,30.660678,45.0163286,18.5457946,5.8006816,13.8639923,12.4764403,31.3272409,12.5000094,1.0760005,1.0953157,17.1699886,13.4246557,86.2866449,11.7028369,32.1463557,65.7575069,30.7647383,44.2949005,18.5922105,5.8004108,13.3997783,12.6640421,31.4669238,14.0504009,1.0770804,1.1192843,16.963921,13.1122623,86.3748341,11.5974916,32.5551339,65.7028625,31.1759293,43.830139,18.8362048,6.1335676,13.6092548,12.4689933,31.0628354,13.1478316,1.0087966,1.0585144,17.7875576,13.8189085,86.3625414,11.2219897,32.2615836,66.0397369,31.4607784,44.1519154,18.818227,6.5639499,13.2330376,12.0995754,30.9239767 +589,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.1084697,1.1557066,16.2942939,12.1399895,64.4220507,12.2525152,33.8655663,66.5402241,31.3073394,42.2988656,19.8923783,14.5642184,11.9116075,9.2199866,39.541182,6.8586373,1.0957732,1.1225928,16.2564596,12.2117074,64.6090231,12.1147249,34.1427386,66.8146174,31.2184514,41.8885925,20.043513,14.7345486,11.8011296,9.0796467,39.0195999,7.7515377,1.0160644,1.050324,15.915547,12.0263802,64.9376199,12.0096387,34.2511035,66.2233102,30.9810208,41.4859301,20.1202931,14.8170065,12.0170898,9.3472311,38.9330049,8.3169177,1.0451952,1.0787778,15.8088901,12.0062348,65.4881322,11.7680534,34.5504272,66.2112899,30.7418414,41.5383292,20.1937374,14.6464613,11.936024,9.3034996,39.0380639,8.8264192,1.0074054,1.0367867,15.8629068,12.1371006,65.8514537,11.6709384,34.4295756,66.2885556,30.9531534,41.7741093,20.8176912,14.664597,11.8485779,9.5713354,38.6995314 +590,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.597619,0.6096388,13.6328071,10.6088954,61.1731365,12.7836197,38.7618019,68.5722254,37.7900453,49.0914115,27.9673812,4.5191974,13.5744144,11.1518232,39.4179936,5.1229487,0.6254252,0.6653603,14.1095817,10.8631331,58.80753,13.570523,39.2579912,70.0854596,38.8545862,49.9952431,28.1594264,4.9814558,12.5000026,10.2739748,39.1142133,5.6722269,0.6328785,0.6890344,14.0141915,10.1621932,57.427055,13.397004,40.0575531,71.7687091,39.6912683,51.1512458,28.8069112,5.4683429,12.8029559,10.8122408,39.2439038,7.0280779,0.540963,0.5754224,13.6802035,9.9746233,56.0969119,14.0020584,39.932001,72.1495789,39.1997936,50.6537791,27.6412159,5.3085799,12.3294936,10.8718556,40.4131613,8.1348874,0.630993,0.6655299,14.0493212,9.7965587,55.0177791,13.5154895,39.65493,72.6273201,39.0250749,50.2051009,27.6351165,5.4850337,12.2117464,9.9160598,41.0053021 +591,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8084396,1.8646403,22.0157477,16.9237325,54.8422781,12.1464082,31.2297162,69.5796327,38.7795848,44.3314374,22.0963953,4.507138,10.4999603,9.4603603,32.5263726,17.3124501,1.8477933,1.9029849,22.4322365,17.1495689,55.9725954,12.1659083,31.7381405,69.5803239,38.8913482,43.9805262,22.4486252,4.6674382,10.3630364,9.158266,32.7698602,16.1372856,1.809516,1.8644955,22.4180237,16.9652916,56.1536743,11.9857099,31.2249413,68.0329688,38.3461454,42.7953441,21.7400368,4.6816157,10.8774901,9.1334043,33.1588731,14.7972037,1.8412895,1.8767627,22.0304166,16.8695497,55.1188962,11.3360463,30.8386656,68.0149631,38.3964755,42.7296954,22.3387852,4.9419862,11.2711803,9.3890099,32.4385194,15.998091,1.7799061,1.7858036,22.4044981,17.4758922,54.9687715,11.0607565,31.1725101,67.6305549,38.6321474,43.0543372,22.7647431,5.0924224,11.2813109,9.6981032,33.1093335 +592,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8104087,0.8168412,14.6837443,10.7876346,72.3911645,19.4730076,35.2954686,65.2952593,32.0465156,45.2952104,21.1182092,6.6877843,11.6823244,10.3229266,31.9535,6.4912281,0.9066964,0.9164468,14.4748332,10.7773494,73.1002765,19.7289249,35.2331623,64.8092192,32.182308,44.3854414,20.6144777,6.6313759,11.6526214,10.1186121,32.1820183,6.8904594,0.8590512,0.8687637,14.1095741,10.3470272,73.4604553,19.8542298,35.430012,65.1629635,32.6769353,43.6042479,21.0716533,6.9674081,10.9297224,9.3384218,31.691504,5.3264605,0.8034233,0.8131623,14.0789334,10.1343202,73.3349855,19.7377029,35.4477095,65.5281107,32.5626758,43.4236823,21.1922656,6.4276812,9.87295,7.8390375,31.7597878,5.9931507,0.7454194,0.8125209,13.7113759,9.711366,73.9214687,19.225813,35.033406,65.0498499,31.9526331,42.4019919,20.6703363,5.7244127,9.8933359,7.6765718,31.5329884 +593,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.9107729,0.960387,16.4995016,12.4107872,69.717765,13.6708046,32.666154,67.7874266,34.9931027,44.7150463,21.3863085,3.0072872,10.5381194,9.515073,34.6707931,10.1904817,0.8904323,0.9276669,15.7584692,11.8862206,69.3312883,13.1557759,32.7449116,67.7449144,35.3367372,44.8469508,22.2346868,3.0918332,10.6440801,9.3436449,35.0169159,8.9941834,0.8329691,0.8702874,15.3375994,11.5708242,69.4221027,13.0526924,33.1933683,67.1958406,35.5284722,45.5243824,22.3781062,3.2056518,10.2215692,9.0928037,34.7871989,7.7464478,0.8210787,0.8618288,15.2783299,11.4259767,69.5665917,12.6747714,33.7749136,67.2930972,35.6644147,45.2762576,22.2324833,3.0704467,10.1585334,9.2445688,34.29353,7.5638221,0.8223474,0.8767428,15.3454407,11.5714851,69.1131325,12.4121996,33.85884,67.422719,35.9336956,45.2502264,22.6098416,3.1224583,10.8136076,9.7302796,34.3436485 +594,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7648982,0.8797971,13.9300781,9.5267745,73.7074881,19.1317941,34.4307423,64.8239093,31.3251413,42.3393664,20.5176581,5.6935977,10.1867569,8.1575225,33.0476971,8.2491301,0.7808086,0.8907556,14.3184601,9.7749024,73.9579068,19.0662291,34.2039244,64.4170444,31.9473416,41.8512245,20.1629729,5.57877,9.5180799,7.7510102,33.1043032,8.7748071,0.8576083,0.9682854,14.2585503,9.6113192,73.4110277,19.4823997,33.2138309,64.2134051,31.7376513,41.9443123,20.2657049,5.4196529,9.2062253,7.3300621,33.7582377,7.8072809,0.7607869,0.8684191,14.1253626,9.3816112,72.5586434,19.1041619,33.4957543,64.8940582,31.6313379,42.9025188,20.699136,5.2754228,9.9917837,7.7777835,33.6235657,7.0933959,0.8476345,0.9559449,13.8143809,9.1741097,72.0215131,19.18873,33.1697909,64.0998192,31.4632966,42.8114139,20.5844543,5.2261083,10.1156145,8.7190147,35.541685 +595,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.8491237,0.9009323,15.3032359,11.4547587,69.3191299,12.3910779,34.06899,67.0601714,35.9166604,45.401366,22.5928859,3.1307754,11.2896399,10.1168004,34.7011866,6.8798202,0.8896195,0.9224525,15.2601942,11.2216167,69.7978928,12.366233,34.3105322,67.3646673,36.3330083,45.4239166,23.2379997,3.3197169,10.7701734,10.0617172,34.1012984,6.5464607,0.8811584,0.9149443,15.3791738,11.1931274,69.745554,12.6416879,34.3245592,67.7805173,36.3478517,45.7694791,23.3701233,3.3619483,11.2505049,10.6203653,34.8051447,6.7361947,0.8779006,0.9067491,15.5366131,11.364096,69.905801,12.6677209,34.2339658,67.6280216,35.8935572,45.5677017,22.9811791,3.2888064,11.5056719,10.559371,35.5214738,7.103271,1.04155,1.0444277,15.7050647,11.4081141,69.4581774,12.5780341,33.7232996,67.6195329,36.0427392,45.0966401,22.8179097,3.2655136,12.0724721,10.9235212,35.1212485 +596,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7030387,0.730663,12.1256606,8.4850264,73.1670673,22.4616293,35.3309481,68.4257603,32.0512821,43.0232558,20.0655933,5.0387597,13.2593458,10,35.7142857,5.9917355,0.8742938,0.9025424,12.5,8.6031175,72.8421702,22.1316425,35.5045872,67.3088685,31.4678899,42.8440367,19.7247706,4.9847095,12.9127358,9.375,35.136742,7.2052402,0.8981375,0.9269393,12.8510379,9.1269841,73.1715006,21.7996289,35.7634543,67.3654568,31.9461827,43.2102628,20.3692115,4.8498123,13.4892086,10.3717026,35.2905569,8.0434783,1.0874772,1.1168372,13.6081835,9.516429,73.2120051,22.2187304,35.6961221,67.6096631,31.8181818,42.3076923,20.3750795,5.1811825,12.6243781,10.261194,35.6516291,8.1775701,1.0636748,1.0934367,14.8580442,10.3785489,72.7243173,21.3830465,35.7142857,67.0652877,30.9308339,41.5966387,19.6832579,5.3975436,12.9299363,10.3821656,34.7631242 +597,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5866896,0.6472004,14.3466978,9.7270131,54.2725423,13.4236443,38.9706526,71.9740485,38.54562,49.9685206,28.0259462,5.9239667,11.8545863,9.6620929,40.351821,9.1085307,0.6687199,0.7137365,13.6303648,8.974834,52.9861649,12.9313447,37.2548714,71.7034484,37.6840295,49.0026416,27.4919209,5.8202397,11.5904414,9.4270768,40.5789539,9.8393653,0.7229833,0.7704116,13.9407254,9.2334657,53.5780189,12.587269,36.744629,71.9825352,36.7446556,48.5050668,26.4742527,5.3480598,11.6219092,9.3685265,42.014634,9.9190364,0.79695,0.8157021,13.9490675,9.1499502,53.05088,12.5549966,36.9984546,71.3430117,35.9221511,48.4074533,26.7196291,5.1932368,11.7309795,9.5511458,42.5341893,9.0726246,0.7472226,0.7497183,13.9939787,9.6798335,52.9131345,12.2640474,36.4337246,70.3305775,34.9488943,47.3226012,25.8748305,4.4270378,12.1597394,9.1333046,42.3780586 +598,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1357055,1.1333086,14.1208644,10.4624972,76.969105,6.6287063,30.9324713,66.1372513,33.0667507,40.8958868,19.4930772,6.2838189,11.4299606,9.8459236,38.2726804,7.0043808,1.1481815,1.1532881,14.0264513,10.3328977,76.9275275,6.8449021,30.4281386,65.6866624,33.4709637,40.3568926,19.3958365,6.3260381,11.6291311,9.8917359,37.942355,6.5047002,1.0865896,1.1146641,14.0729945,10.2833093,77.115694,6.7987732,30.1650065,65.6296137,33.5398397,40.1632963,19.3860564,6.3870357,11.3911253,9.7986002,38.2034752,6.4166218,1.0342657,1.0515774,14.0170175,10.2329539,77.2190483,6.6103859,29.7125923,65.3541405,33.0690781,39.9568401,19.4440024,6.3133441,11.3337344,9.7264536,37.6318709,6.3244366,0.9879661,1.0041,14.027941,10.0999478,77.6308476,6.7024823,29.723225,65.3334462,32.9517198,39.9396347,19.1780703,6.3586948,11.689957,9.9361545,37.4031983 +599,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0356833,1.0901886,17.8445768,13.9831276,86.6562043,11.0597852,31.9775503,65.5891462,31.6435838,43.8335075,18.9288956,6.1903715,12.8098268,11.6002039,31.8872758,12.2351452,0.9999407,1.0357158,17.7971924,13.9510411,86.7285881,11.1018685,31.8983884,65.7404021,31.3736797,43.1791121,18.7335938,6.1888985,12.2672577,11.0538928,31.6296495,11.8371952,1.0855678,1.1165334,18.2227011,14.349951,86.5453673,11.4408141,31.5794996,65.6896221,31.5795043,43.8206035,19.0559928,6.0381468,12.4694911,11.2056119,31.433482,9.6805112,1.0705073,1.137903,18.0907579,14.3827923,86.1595578,11.0136881,31.629205,65.9384805,31.7945,44.3565305,19.5395151,5.9622294,12.3662376,11.443112,30.9477615,9.1716555,1.0340063,1.0910087,17.8696076,14.1443719,85.9506732,11.1149751,31.6046067,65.6532276,32.415351,45.0286308,19.3968016,5.9012988,12.0763949,11.4845473,31.0370379 +600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0871076,1.1659446,19.2999417,14.4382026,52.6271771,14.6706904,39.5516614,67.5779181,38.4419746,49.6564964,26.9306908,3.7444343,12.6303591,11.9237815,36.1709485,9.2282065,1.2006814,1.2491126,19.6240855,14.7615233,53.0626098,14.7308963,39.8036046,67.6247022,38.9951183,49.8550218,27.0273491,3.4534098,12.7077747,11.8159938,35.6199532,8.3903968,1.1488638,1.1900897,19.3661349,14.616335,52.3879851,15.3493858,39.8870334,68.3838608,38.582009,49.6251232,26.9125336,3.4804953,11.937668,11.1725966,35.6840361,9.1379123,1.1633119,1.1952565,18.9867098,14.2837768,52.4364992,14.9621307,40.0905699,67.7838929,39.1502381,50.3557379,26.8710781,3.4823896,12.5322216,11.3142423,37.3713256,9.9326396,1.2747076,1.2920151,18.8256488,14.3256739,52.0623411,15.2741572,40.8213345,68.4137441,39.1658318,51.2084617,27.1186883,3.2595378,12.2597942,10.9308045,35.6875523 +601,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.404023,1.4557064,21.1837284,17.1215374,62.729361,16.2764844,34.2164458,67.9030234,34.9550421,42.790607,21.7565862,3.4842598,10.6636534,8.3494584,35.2464267,15.631929,1.404724,1.4263441,20.820406,16.733726,62.8356777,15.8016498,34.8256516,67.4364026,34.8884728,42.3028447,21.1592828,3.3458963,10.8901326,8.6805492,36.1181703,15.3276809,1.4748005,1.5281378,20.6170203,16.2748805,62.5084576,15.6545693,34.8802602,67.1157872,34.7139096,42.2654412,21.074512,3.2435121,10.7882231,8.9846359,36.4646667,16.406224,1.3915137,1.4424247,19.8445389,15.8376346,61.5921186,15.8085574,34.6655116,67.4471995,35.4049341,42.0246238,21.4260478,3.3274646,10.901976,8.7588665,35.9442398,15.7316791,1.6335175,1.7044274,20.0108562,15.8457027,61.2836047,15.9422858,34.6168304,66.4248661,34.8028199,42.2060714,21.6703683,3.3668155,11.6935216,9.3475021,36.0844196 +602,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.1024973,1.1548824,15.7154082,12.0204401,65.6310197,11.6825321,34.4182709,66.0114601,30.9963343,41.9146874,21.4308459,14.6028951,11.3295039,9.336099,38.8727397,8.9658341,1.0489627,1.1065384,15.7602913,12.0841562,65.5105479,11.6676716,34.4978521,65.3178789,30.4898625,41.7152947,21.2761102,14.6114869,11.9464999,9.4499042,38.4555539,8.9333252,1.0879886,1.1336476,16.1487539,12.4226714,65.4664119,11.2558767,34.6984595,65.3740253,30.0014429,41.4975332,21.1293117,14.5621907,12.2047302,9.9796008,38.7595657,8.4196819,1.1399576,1.2122285,16.1225845,12.4035765,65.5286499,11.2438584,34.5726157,65.4690772,29.7776165,41.8693506,21.0632375,14.7671988,12.2838926,10.0724489,39.5862601,8.2151814,1.0739053,1.1368824,16.2007753,12.4378392,65.1669173,11.1680908,34.4778517,65.847218,30.2654696,41.588783,20.350807,14.6214264,12.1861463,10.163719,39.3309378 +603,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8054191,0.80794,14.0384721,9.7481772,52.6958607,12.5280242,36.3284642,70.1557946,35.7742706,47.4126782,26.5743822,4.0180236,12.470508,9.6632809,40.8516543,6.1966213,0.842845,0.8454489,13.5583959,9.5722797,51.4181072,12.7939473,37.1821382,69.552312,35.755365,48.368197,26.5097696,3.8523338,12.8914446,10.4262203,40.0694491,5.7692308,1.1237132,1.1263654,14.0834195,9.8383155,52.2539979,12.4772597,36.8855673,69.1021752,35.7229069,48.2797017,25.7821168,3.6914651,13.3500246,10.5271069,41.3043671,5.5066079,1.210932,1.2832357,14.9419428,10.3661493,52.9750351,12.3788472,37.6393495,69.5273178,36.4353599,48.7047041,26.4593511,3.5833365,14.4767246,10.6950553,41.8580731,4.6460156,1.2255369,1.2964503,15.1857122,10.6328835,51.6513432,13.123243,37.8392759,69.1734037,36.4367388,47.7154745,26.7358632,3.7108852,14.0286612,10.7205991,42.050288 +604,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.1154874,1.1301846,15.4521652,11.1122397,69.3621852,12.4240465,32.9338256,67.9266485,35.8840509,45.0215037,23.1407499,3.3702124,12.6500904,11.1869368,35.6396289,8.0188294,1.1229096,1.1092026,15.8392715,11.3631808,69.3531532,12.7085782,33.4946462,68.338131,36.2129493,45.6857459,23.6099702,3.3875628,12.333047,11.0809743,36.7144464,8.0854682,1.0688538,1.051281,15.4450828,11.0555407,68.9868091,12.6508402,33.7443018,68.3899574,36.1272427,45.5553267,23.6531397,3.4086212,12.0624906,11.2661389,36.5109139,8.6337391,1.0714183,1.0791235,15.3409136,10.8367844,68.403739,12.525852,34.0646619,68.2447971,35.7023017,45.7799707,23.3571303,3.4117185,12.760082,11.580959,37.3015623,10.1778257,1.0804353,1.0849878,14.7679794,10.5873816,67.8925666,12.5315099,34.5817339,68.6406432,36.1609294,45.8706918,23.3141333,3.4251019,12.542727,11.2323509,37.0570229 +605,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6932759,1.7139951,22.8176146,17.5652475,54.7414037,10.6367235,31.0230032,66.8416695,38.3609115,42.2411858,23.2570263,5.3228453,12.1917136,9.6522761,32.8624257,14.6764833,1.6264419,1.6472879,22.9417149,17.4713745,55.6400687,10.4336203,30.7725088,66.6718878,38.1731891,42.7637501,22.5531877,5.2716519,12.0436274,9.9883373,32.6551299,14.517473,1.7350338,1.7560742,22.8683208,17.3305393,55.7493629,10.6440013,30.578132,66.5572043,37.2704285,42.7988373,22.4842344,5.576464,12.0647651,10.2617572,33.1524527,15.6634952,1.7358171,1.7724182,23.2243318,17.9188782,54.7383678,10.4787747,30.6450438,66.324505,37.3808603,43.5650079,22.2699882,5.5558932,12.9088038,10.974151,34.0212978,16.8542469,1.7240947,1.7609104,23.7534088,18.7936611,54.7412416,9.7642058,30.6541995,67.5540639,37.6139898,43.8477027,22.4817166,5.4674753,12.3670906,10.892424,34.2521162 +606,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.0188226,1.083909,16.3253139,12.4141093,64.9119248,10.9892303,34.2530673,65.8671852,30.6587345,42.0563813,20.5438268,14.6111685,12.4631171,10.4776034,39.8022665,7.3001713,1.0317903,1.0914927,16.1630022,12.2383558,64.3582221,11.0844796,34.2233614,66.2908791,30.9796895,42.5303212,21.0245244,14.4976237,12.4466432,10.4133411,39.5020113,7.6339009,0.9787677,1.0179763,16.0756352,12.3200743,64.1236167,10.8582937,34.3725255,66.5106776,30.9319777,42.9673014,21.0057982,14.7047169,12.5603287,10.2787555,39.6836112,7.3141635,0.9573786,0.9908013,16.0350067,12.4424291,64.2320643,10.8741043,34.467886,66.6202243,31.1504754,43.6637391,21.3707503,14.5899658,11.9328927,10.0483059,39.9377086,7.6829412,0.9865577,1.0292713,15.9916063,12.3205151,63.9980708,10.996909,34.6878861,66.7326886,31.6281955,43.9079319,21.9027462,14.7042735,11.6781366,10.0577977,39.2034466 +607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0569052,1.0697824,17.9985859,14.2707481,85.9773394,11.2742993,30.5323829,65.9257971,32.5767162,45.5313076,19.5032698,5.5027655,12.0201126,11.6251295,31.1565778,8.8957437,1.1429578,1.13736,17.9853898,14.2773409,85.8062085,11.5447854,30.7166794,65.6639264,32.7781661,45.8413863,19.7627962,4.9496948,11.8886311,11.5496462,31.9154193,8.7002279,1.193676,1.1750205,18.1206312,14.3617675,85.6502625,11.5620448,30.968915,65.9210118,32.2129998,45.4904391,19.7249293,5.0119948,11.9263969,11.8251415,31.7266293,9.5660938,1.277894,1.2588462,18.2574684,14.2806091,85.6240598,11.3536791,31.2438726,65.664523,32.1446476,45.2653082,19.9732433,5.1484992,11.8089746,12.1910371,31.8336391,10.19804,1.1196625,1.100073,17.7863461,13.9440091,85.4645393,11.1013181,31.4689299,65.8783423,32.4700001,44.657098,19.732253,5.4679517,11.7133461,12.6624022,32.5388299 +608,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.0365517,1.0854026,16.4209515,11.7711121,58.7039037,9.5744632,37.1375162,67.1259747,39.5477097,45.0307111,26.7572601,4.585173,11.6100903,10.0271393,39.688913,9.6612734,1.0797135,1.1109004,16.1587418,11.3972865,58.3566748,9.4851007,37.4160077,66.9812,39.7776441,45.2519527,26.9614682,4.7183774,11.8804997,10.0259501,39.7924382,10.064818,1.113103,1.1378619,16.3646745,11.5221171,58.1111631,9.4435742,37.132681,66.4476845,40.0611447,45.0656799,26.9732216,4.7387397,11.4871727,9.7317584,39.4270151,9.8701701,1.0128152,1.0317271,16.2424388,11.2509342,58.2600291,9.0432704,37.116138,67.1719454,39.9950015,45.0026173,26.7664012,4.6477503,11.1212891,9.5852948,39.7068075,9.5545684,1.013871,1.0216749,16.1137572,11.1718696,57.9357046,8.9196773,36.7922469,67.2063524,39.9584704,45.0427153,26.7962821,4.571755,11.3044403,9.7885833,40.0513034 +609,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.7257467,1.7994408,20.1618908,15.7191166,60.8635504,16.4453623,34.4980861,66.4671841,34.9227695,41.833962,21.3320254,3.4169882,11.2159911,9.2522673,36.1450895,13.8522391,1.5107611,1.5830938,19.9421919,15.2408395,60.5710701,17.0050716,33.6454396,67.270923,35.5577664,42.3705077,21.9720925,3.2470121,11.1582874,8.8417079,36.1046661,12.7048872,1.5077419,1.5695848,20.1536603,15.5437252,60.2959408,16.1711432,34.3801571,67.2619115,35.6937611,42.5903156,21.4490884,2.9761899,11.7813727,9.75709,35.3350211,14.9708677,1.3468134,1.4111883,19.8481142,15.2504112,60.4031182,16.6387652,33.8247919,67.8845964,36.0897398,43.4401732,21.1324714,2.9700845,10.974598,9.533912,34.4017746,15.079292,1.23196,1.2576306,20.0041083,15.3672574,60.2115846,17.3213467,33.2837077,68.2049946,36.048475,43.8324114,21.2887942,2.9987188,11.3311063,9.4776784,34.4492198 +610,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3214572,1.3519746,22.4509945,17.2666703,46.2590866,17.793627,43.2956685,69.2524325,40.121572,51.275576,27.6030289,3.5449294,13.6363542,11.9207227,35.5698298,11.4734783,1.4722599,1.5030212,22.8475397,17.9028166,45.7260446,16.764587,43.2136684,69.5515404,39.835507,50.5381096,27.5485126,3.393109,13.1999717,11.6615283,35.0339932,13.3570008,1.5310457,1.5619182,23.4522965,18.3270552,45.5242471,16.0937707,41.9206162,69.0292693,39.1387264,50.6806648,27.596859,3.3885565,12.576855,11.0940354,35.5328341,14.0288077,1.6692674,1.7278322,23.7039758,18.5490509,45.4863973,15.8274246,41.0297711,68.8507133,38.7611266,50.5522291,27.447698,3.3283415,12.4999745,11.327153,35.8695622,15.0349989,1.7541595,1.7695833,23.1576897,18.3633843,45.2070521,15.4158879,39.6608887,68.036012,38.469687,49.9541754,27.0768998,3.2223441,13.1183205,11.6227926,36.8537088 +611,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.9612595,0.9762444,15.9707772,12.2268668,63.8098596,10.8369981,34.5826371,66.4223949,31.8606972,43.976826,22.0616982,14.1610824,11.2666101,9.7171174,38.0348003,8.0016653,1.0538333,1.0607036,16.1516667,12.3671182,64.2213032,10.8805028,34.2806553,66.385546,31.7009261,44.2877394,22.4450738,14.2523043,11.2657842,9.4916691,38.5561394,8.4667313,1.05733,1.06423,16.1398263,12.466184,63.7116556,10.8091037,34.7947025,66.2888533,31.3587131,44.2757358,22.1628152,14.0219571,11.0319713,9.1477577,37.4816839,8.9817949,1.0849224,1.096852,16.3930952,12.5300715,64.0330681,10.8034218,34.9893474,66.3326269,31.2366768,44.072498,21.9118702,14.4633989,11.2259697,9.3440204,38.5982986,8.7770459,1.133124,1.1479684,16.3958556,12.4317163,64.1357167,10.8106245,34.8871721,66.1988773,32.1227109,43.8293413,21.8970395,14.3370959,10.9682001,9.2683609,37.8862938 +612,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.3785607,1.4040307,22.8233679,17.9342178,48.70987,13.232669,37.9957787,67.6443957,37.4377922,47.6775759,25.1922831,3.5967443,13.9624482,12.3655865,35.5724399,15.6585795,1.3909398,1.420541,22.8564809,17.847459,49.1044695,12.6483151,38.0617884,67.5907419,37.2586906,48.1003846,25.057927,3.513515,14.234048,12.5587994,34.7943031,14.8666647,1.4792503,1.5106877,23.1258658,17.9595296,48.9800981,12.0855633,37.9573878,67.5473091,37.216055,48.0677958,25.4021786,3.3201891,14.0751788,12.7099662,34.5001079,14.5664149,1.6580202,1.6928703,23.120628,17.7198465,48.7453391,11.9427306,38.5977327,68.1009497,37.4598962,48.0688831,25.5528517,3.3894214,13.7232599,12.3767431,34.1142719,13.8095416,1.6495373,1.6698685,22.7415635,17.5726628,47.9706602,11.9363166,38.3897896,68.1287314,37.7573816,48.2649279,25.5148054,3.3484643,12.9685706,11.8403635,33.5299371 +613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8630717,0.9742278,13.7712711,9.1008226,71.7738425,18.6554215,32.6391899,63.9412461,31.4116485,42.6786358,20.4953848,5.0635678,10.8974433,9.110357,36.2812934,7.8181511,0.8818757,0.9345295,13.9455832,9.3650812,71.0222159,19.2480742,32.365048,64.43274,31.7245901,43.3439999,21.1573586,5.9240622,10.5525429,8.9301961,35.2106361,6.4202335,0.7058671,0.7058671,13.7314176,9.4098532,70.9379586,19.8566684,32.4647865,65.0469392,32.2300257,43.0281611,21.6666605,5.6103284,10.074286,8.9767492,34.7887426,4.8262567,0.6623477,0.6623477,12.8101195,8.8501928,70.9420424,19.4654612,32.5263703,64.8370071,31.4237615,42.3058467,21.3566579,5.2013468,10.5238155,9.78054,33.9251539,4.1501993,0.5620873,0.5620873,12.8762532,8.910651,70.4556615,19.9857046,32.8275606,65.5828572,30.9489319,41.8352655,20.9296703,5.2264012,10.4385113,10.3530613,35.1104785 +614,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3195317,1.2976102,18.2544849,13.8812866,52.0100653,15.7292349,41.0112746,68.3797267,39.0268725,51.522496,27.0250247,3.3223463,12.3850672,11.2621262,36.4229448,13.498104,1.3735031,1.3306668,18.6234144,14.0348328,51.7406491,15.84421,40.8876299,68.9467677,38.749345,51.6227259,26.8421431,3.5952659,12.8376224,12.0881614,36.3687062,11.8755667,1.3422275,1.2885865,18.6986051,14.2401907,51.7538438,15.9158748,41.0696481,68.604858,38.9486887,50.9442763,26.6795421,3.6568474,13.1676226,12.4066719,35.9073621,13.2202453,1.3149842,1.2840429,19.0719997,14.5003472,51.2640523,15.6635667,40.5768623,68.6545507,38.2971316,50.2244357,26.6457798,3.9592165,13.2695194,12.6256788,36.2443659,14.6595962,1.3808192,1.349201,19.8324417,14.9454138,51.3148246,15.0939273,41.0089413,68.6325626,38.635592,49.4841761,26.5097873,3.8828946,13.6821472,13.2489241,36.6831721 +615,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.0949658,1.0940749,16.1822589,11.294228,57.5680532,9.0841816,36.7414636,67.1868405,39.9829056,45.2641444,26.9060411,4.5289368,11.3843342,9.9797808,39.6879017,8.9159356,1.0196602,1.0260896,16.1683523,11.2408451,57.3293779,9.2756027,37.0974777,67.2470358,40.3783261,45.1239959,26.7031532,4.6804515,11.3746434,10.1553053,40.1606212,8.6008927,1.0520229,1.0477383,15.9080208,11.1250765,57.3072778,9.3208202,37.3443931,67.6370608,40.5943894,45.3529252,26.8756023,4.7433511,11.4387001,10.1518212,40.4027223,8.3788133,1.0896909,1.0958154,16.0707899,11.3480696,57.4629263,9.3298429,37.1763174,67.3452085,40.4858253,45.1473669,26.7937786,4.6968594,11.4052732,10.1931986,40.6040474,7.7027193,1.1075074,1.1145433,16.0232868,11.2658631,57.4686088,9.3348027,37.5338044,67.1378152,40.358512,45.0288522,26.9446372,4.5611165,11.3658507,10.1954488,40.9286143 +616,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1152596,1.1995683,15.3560849,11.5621045,77.1232675,18.4780315,36.6551542,66.4327294,36.0073395,46.5018238,24.5627343,7.0071276,11.5077561,9.5735229,33.9660473,7.4959016,1.1978557,1.2602237,15.5617004,11.6533702,77.1017276,18.2368617,37.5287262,66.523912,36.6095681,46.5322646,24.242746,7.2592435,11.6264021,9.3128825,34.8156182,7.2567977,1.1382194,1.1983044,15.2821656,11.5726138,76.6221987,18.0533586,37.8891333,66.629838,36.3828049,46.6258227,24.3924503,7.2203228,11.5273174,9.390551,34.5481077,7.7464969,1.0780369,1.1362076,15.1442794,11.4752561,76.5380073,18.1687426,37.6804528,66.7089283,36.5684748,46.5762733,23.868515,7.2863785,11.9525924,9.6417077,34.6761216,7.9230935,0.9915167,1.0512362,14.7096943,11.1224168,76.1054345,18.1574599,38.0214235,66.4130027,36.2739585,46.739947,24.0229272,7.3186722,10.9922226,9.0537429,34.5671917 +617,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4629091,1.4234465,20.3072382,15.1694694,51.2628729,14.7712582,40.3894865,68.8301742,38.5627602,49.2850729,26.1555029,3.824911,13.7393639,13.285162,36.263227,15.092651,1.4154879,1.4098172,19.9280094,14.8397007,51.2755918,14.7906871,39.5433256,69.1541631,38.2562459,48.983386,25.8315407,3.8161532,13.7883228,13.2751013,36.4336613,15.4846459,1.444769,1.4819962,21.3046751,15.652341,51.6378688,14.4083699,39.8437754,68.9608423,37.6450303,48.840226,25.8884376,3.8631539,14.3993278,13.2636305,35.063567,11.7289458,1.5652078,1.6604294,21.3934725,15.6640642,51.8834621,14.1982052,40.1152882,68.0889416,38.1954225,49.3022023,26.0721155,3.5578548,14.1699567,12.7010208,35.4086282,14.5348731,1.4513476,1.5479405,21.6832611,15.6052403,52.5476577,14.7277012,39.9795192,68.6644556,37.9607938,50.0367968,26.2276284,3.2951187,14.1248325,12.5575268,36.4647728 +618,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.084811,1.1146796,15.5435474,10.8391608,72.2911227,21.6207559,35.0324675,66.2012987,32.1753247,41.0064935,20.6818182,5.1623377,11.8339529,9.7273854,36.0523039,8.4183673,1.1322436,1.1322436,14.9106003,10.7598978,72.5228162,22.3397436,35.6586632,65.7040883,31.9597664,42.6670993,20.4737184,5.3536665,12.0277078,10.0125945,36.6792929,7.0680628,1.01263,1.01263,14.3860721,10.5375687,72.1774194,22.4421437,36.8761553,65.7116451,34.0418977,43.1608133,21.0412816,5.9457794,11.6209774,9.7139452,35.1497006,9.0673575,0.7987851,0.8264859,13.7249115,9.8878394,71.9314079,22.4689165,36.034689,66.5370813,34.180622,43.2715311,21.9198565,5.8911483,11.1819235,9.7914253,35.8391608,7.5609756,0.8591936,0.8868179,13.6256622,9.682166,70.3003003,22.7299528,35.7653365,67.2126266,35.0506254,42.6742108,21.9475878,5.9261465,10.6395349,8.7790698,35.6140351 +619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6312643,1.6702811,23.423613,18.565384,48.9216316,9.804247,33.8419935,66.9355738,35.8447059,47.8415501,23.2645442,4.3456902,13.0802034,11.104517,32.1835914,19.0088898,1.6463103,1.6859497,23.4623533,18.5380304,49.0378708,9.8546503,33.2646556,66.9707555,35.7759341,47.7241406,23.2980039,4.2279714,12.6949192,11.5307637,32.0826877,19.5684582,1.6326027,1.6630538,23.8761952,19.1714236,49.4519626,9.9230021,33.1284093,66.6569028,35.255641,47.1213823,23.6631395,4.1861807,12.5350973,11.2469871,32.3719424,18.2422533,1.4990902,1.5468194,23.527768,19.134412,49.4308083,9.415888,33.9199926,66.9840298,35.1125053,47.3841042,23.533359,4.0103848,12.6439044,11.5979278,32.2883621,16.7391377,1.4976324,1.5527444,23.3405392,19.0124825,49.1811164,9.4663897,34.1202285,66.8127787,35.0159006,47.1265009,23.7265202,3.704037,12.4951176,11.343482,32.464414 +620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.145817,1.1592259,16.1932016,11.3690084,57.4050054,9.473416,37.6909386,66.4676159,40.4241578,44.7256722,26.622032,4.5612842,11.5958554,10.3731246,40.7437233,6.9521352,1.1062293,1.1182723,16.1619205,11.341481,56.8395892,9.6288687,37.8101312,66.4950641,40.9179301,44.7614936,26.6696691,4.7162693,11.4969115,9.7939439,41.1434279,6.7453018,1.0685968,1.0898968,16.2422193,11.2801334,56.5195758,9.4150801,38.311017,66.6766624,41.2095629,44.9366722,26.635116,4.7152623,11.7662182,9.8782051,41.4483044,7.4478357,1.1477627,1.1374561,16.2937384,11.1532883,56.7788146,8.986108,38.279151,66.8673848,40.995148,44.8680797,26.5662346,4.7395415,11.7842853,9.4503606,41.2485375,7.740386,1.1189708,1.1105722,16.8074802,11.3191646,56.1622281,9.1151152,37.9933165,66.8363539,41.2967717,44.418532,26.4675735,4.6803335,11.6823183,9.5718251,41.2023821 +621,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9927044,1.0509807,14.77636,11.368513,76.2638008,17.9042972,38.1305951,66.6760141,36.417899,46.8970824,23.3796934,7.1546617,11.1723503,9.1618318,35.1146632,7.9792417,0.9401317,0.983074,14.9558823,11.3789143,76.1524359,17.3591163,37.8178679,66.7050899,36.5104653,46.4931456,23.2600268,7.3232887,11.1898748,9.2612081,35.8449871,8.1097533,0.9849892,1.0102608,14.576142,11.0484714,76.0793589,17.3780386,38.1684935,66.6306978,36.7187491,46.6674202,23.5213656,7.3737404,11.597332,9.4823918,35.7948153,8.3660201,0.9806535,0.9859111,14.5217447,10.8334291,76.0396562,17.2788191,37.8489542,66.4463251,36.5424168,46.6848295,24.0652789,7.1941556,11.390453,9.5495596,34.5846107,8.3550114,0.9403522,0.9528778,14.3382457,10.5951101,76.157423,17.4686722,37.8387842,66.3325619,36.6355223,46.7112448,24.5550587,7.0992796,11.2627806,9.8488931,34.0612579 +622,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1994107,1.2252505,19.7151215,14.760536,59.197411,17.3392074,33.611121,68.3974085,35.8760522,43.9957256,21.8589483,2.8418755,11.5580222,10.4660973,35.5319849,12.2610828,0.9274817,0.9337925,19.1295504,14.5141647,59.058274,16.8993702,33.2568003,68.2880675,36.0125069,44.1127248,22.7348465,2.9436272,11.2177045,10.550449,35.7442063,12.3436798,0.8498809,0.8560813,18.8420219,14.26582,59.1942365,16.9693125,33.6558391,68.6496195,36.7434918,45.0596737,23.4046679,3.0671011,11.5448047,10.4765723,35.1563087,13.1920847,0.8784477,0.8784477,18.2684771,14.0661446,58.9585101,17.5954544,34.1604008,69.2139414,37.2965135,45.1964799,23.4815069,3.3941993,11.5323362,10.7342204,34.2777832,12.9807051,0.9289943,0.9649397,17.8211971,13.4481346,58.5630052,18.2954681,34.1105156,69.4161092,37.5979281,45.9443354,24.3925962,3.5462329,11.6379358,10.7758441,35.7031085 +623,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9700202,0.9943225,14.7259251,10.9998081,76.2734797,16.8149992,37.5453634,66.2368851,36.674979,46.9300846,24.8855322,6.8127592,11.0277,9.8179349,34.5694438,7.0184232,0.9915595,0.9983404,15.1951968,11.2285482,76.9062665,16.3368097,37.3617232,66.6957467,36.6986423,46.945249,24.9213261,6.449297,11.1268702,9.8954311,34.4852639,7.5550605,1.0001804,1.0021203,15.5127062,11.3615282,76.5198632,15.8934709,37.7079029,66.664043,36.8366881,47.5289147,25.4474888,6.5499749,11.2393399,10.1043621,34.68511,7.8276549,1.085316,1.0916895,15.6514267,11.5017235,76.5931756,15.8994126,37.9059322,66.8773049,36.6261372,48.3202738,25.4599207,6.3589799,11.2082759,10.0381826,34.6608935,8.4359483,1.1004459,1.1290454,16.0087035,11.7064161,76.8610844,15.685469,38.1381139,66.4546545,36.5025581,48.0670818,25.2354175,6.5669908,11.0873253,10.1748028,35.0099392 +624,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1022743,1.1358051,16.0658715,11.8220605,77.3087382,15.4970195,38.1179822,66.2058036,36.2577476,47.6034925,24.5768343,6.561086,10.8296618,10.08161,35.3253245,7.6292434,1.1675648,1.2074356,16.8842942,12.4380169,77.7636536,14.8704678,38.3016331,67.1015059,36.3995931,48.1316328,24.3982469,6.6066333,11.1130347,9.9001432,36.1033836,8.5171457,1.2133191,1.2596246,16.8032839,12.0960715,77.5760984,15.1827938,38.2918471,67.0551042,36.8000609,47.9804131,24.6814368,6.83035,10.9872424,9.7397475,35.5902986,9.2105263,1.1959407,1.2494097,16.4660294,11.7660988,77.1647125,15.4331495,38.2356401,66.785959,37.3044846,48.0962966,24.7172354,7.0751332,11.5186932,9.8463472,35.4206953,8.8014959,1.2703765,1.3471408,16.5054359,11.7044431,76.7795996,16.2338517,38.0789226,66.8503902,37.7999549,47.8725421,24.966956,7.172147,11.2150283,9.3026515,34.9653439 +625,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7113692,0.7641675,13.0912162,9.3186937,70.9537572,22.4773243,35.0459242,66.2743972,34.0700344,43.2548794,21.0964409,5.5396096,11.0555556,9.1666667,35.1396648,6.7099567,0.849123,0.900484,12.2319956,8.4387026,71.1092247,22.2560976,35.4703247,66.6013438,34.518477,44.7648376,21.3045913,5.7390817,10.6557377,8.579235,35.1098901,6.25,0.9157825,0.9631983,12.3729675,8.5111789,71.2610735,21.8510964,35.043837,66.2970603,33.084064,45.1005673,20.6034038,5.8019598,11.5305067,9.3588418,34.4594595,7.0342205,0.8433391,0.9353777,12.5614553,8.4316618,71.8512898,21.478003,34.2092092,65.8408408,32.8078078,44.6696697,20.3953954,5.5805806,10.85,9.25,34.0886203,6.6308244,0.7870079,0.8792163,12.722332,8.2756917,72.3377282,20.5809335,33.7098394,67.3945783,31.9528112,44.6536145,20.3062249,5.5973896,10.2971311,9.272541,34.2430484 +626,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.69578,1.7456122,22.8121075,17.4796045,48.2744719,12.3944772,38.6359588,68.1436485,38.038703,47.9660599,25.3994737,3.2203404,12.6040851,11.5857836,32.4200961,14.5833619,1.8044697,1.8394899,23.069091,17.8677719,48.8668412,12.2336564,38.8226321,68.0866359,37.7596672,48.2444462,25.6482062,3.1164467,12.3203155,11.5910752,32.9337598,15.1084261,1.8049837,1.8201063,23.0882193,17.9283172,49.3676278,12.7356454,39.2976077,68.2194498,37.8961299,48.3595814,25.5374597,3.2091109,12.3689621,11.6541492,33.5040639,16.3058435,1.8814737,1.8722709,23.4415884,18.2953067,49.2420671,12.8082512,39.6409595,68.2192092,37.932928,48.4500944,25.3439373,3.2816744,12.3743245,11.4475493,34.4290918,16.8027347,1.8522944,1.8364955,23.3815246,18.4145748,49.3095973,12.987918,39.6012076,68.1999011,37.5039806,48.7686871,24.8411174,3.5668946,12.3000666,11.1590077,33.9083849 +627,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.8489845,1.833644,23.8374973,19.0151896,49.6441086,12.9482021,39.3971416,67.6014312,37.6838747,48.6423126,24.8989938,3.6609076,12.389523,11.06571,34.075135,18.6497544,1.925818,1.9090512,24.5219052,19.5906457,50.2753139,12.7072178,39.6138979,67.2776259,37.4959435,48.8351226,24.4460828,3.5760878,12.6026934,11.2733901,34.7083907,19.0629115,1.8659751,1.8793793,24.9243021,19.9027671,50.0756867,12.3962178,39.9357276,67.0211063,37.5948037,49.0356104,24.7362483,3.6350161,13.114484,11.156897,35.7878827,19.4408453,1.9355372,1.9644581,25.5169865,20.1696369,49.4642293,12.7076798,40.3379083,66.4863559,37.6082116,48.5269634,24.9417643,3.9530644,13.4811218,11.3062126,35.718987,20.2702805,1.8768826,1.9141397,25.6429491,20.3511479,49.2014672,12.5355889,39.6289078,66.1498144,37.4258816,48.4239849,25.0720446,3.9230678,13.1825832,11.0794655,35.7022118 +628,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7950148,0.8628574,12.5424551,8.1271228,72.4454365,20.5782313,34.1744243,67.7853993,32.5085742,45.933366,20.0146987,5.4630083,9.9186165,8.3926755,34.202454,6.1837456,0.8572567,0.9244911,11.8852459,7.5940212,72.4384236,20.1496139,34.088694,67.8606238,32.3830409,46.3206628,20.4922027,5.7261209,9.2441267,8.6312564,34.1025641,5.2727273,0.8623105,0.9232768,12.5429553,8.3210604,71.7184369,19.8576338,34.2666006,68.3102081,32.4331021,46.35778,21.0356789,5.7234886,9.8029046,8.8692946,34.7395833,5.8935361,0.7449096,0.8064102,12.1234568,8.1234568,71.5465465,19.6218075,34.2679901,68.5111663,33.1761787,46.4764268,21.662531,5.9801489,9.8746082,9.3619247,34.6113445,5.5102041,0.6350544,0.7459542,11.9868221,8.1348201,71.1746522,19.7315096,34.4994893,69.3309499,33.4780388,46.6036772,22.4974464,5.7967314,9.4187298,8.3512931,33.8203463 +629,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.1575646,1.1769515,17.0178647,12.8593394,64.4446015,10.5835893,34.6894361,66.3645325,32.0896608,43.3178806,21.6765057,14.3830822,11.1159096,9.8240029,37.849239,9.8997502,1.0870537,1.1119632,17.4215298,13.3053413,64.1031086,10.6471967,34.8282609,66.3954939,32.1165363,43.4640547,21.4782379,14.2330713,11.4306047,9.8569365,38.2938746,10.0000008,1.0432893,1.0805236,17.9143984,13.8518994,64.091292,10.553822,35.2791217,66.4438337,32.1364598,43.2046894,21.4266024,14.39697,11.8756994,10.0624422,38.473647,9.8142165,1.0240126,1.0603118,18.0136535,14.0546077,63.9102483,10.324905,35.3441142,66.3833596,32.0273646,43.1384743,21.1235503,14.7111678,12.0558294,10.3861333,38.8414443,10.2245381,1.0575504,1.0857063,18.3683333,14.4307802,64.4045079,10.1986299,35.0612283,66.2747027,32.6816068,43.035069,21.187037,14.688284,12.1536654,10.6622901,39.8529801 +630,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6434043,0.7065954,11.6801211,8.1987891,69.7895277,18.8321537,35.4272635,70.1678535,34.3082401,46.9735504,23.1180061,5.9257375,9.1248666,7.9594017,33.494105,4.7717842,0.7665103,0.8300629,11.7721519,8.3797468,69.8195876,18.899036,35.3527607,69.4018405,34.3302658,46.8558282,22.8783231,5.7515337,9.7163866,8.044164,34.5464135,4.5258621,0.8796393,0.9569128,11.9905956,8.9602926,69.5295983,18.0476437,36.166318,69.0115063,34.7018828,46.2604603,23.0387029,6.0930962,10.0638978,8.901919,34.4218415,5.5555556,0.7458405,0.8221457,13.2139148,9.4755971,70.0731835,17.8205128,36.8598034,69.1412312,34.5835489,46.2752199,22.064149,5.819969,10.6217617,8.3506224,34.21875,6.0669456,0.7312521,0.7906345,12.9040534,9.1585428,69.68361,17.6634567,37.4743852,70.0563525,36.142418,47.1055328,22.3616803,5.8145492,10.3850051,8.1643002,34.5723014 +631,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5069414,1.5433171,23.8714125,19.6880515,49.5677832,9.5437885,34.4594523,66.9459364,34.4415821,47.1624093,23.2883302,3.5765596,12.1801238,11.6653421,32.1576592,17.1936782,1.4847896,1.5185102,23.9673049,19.6158212,49.4559395,9.613814,33.7792449,67.042725,34.7237588,46.8084979,22.9888096,3.5938923,12.3779135,12.0168289,32.8179587,17.4967018,1.3646672,1.3934695,24.435987,20.1698301,49.8694751,9.8943475,34.3472532,67.3739425,34.2451491,46.9071236,23.6792712,3.5531492,12.1184144,11.6260504,33.1132602,16.1431845,1.3150002,1.3503472,24.423549,20.2085309,48.9783925,10.0921972,34.9736645,67.6060347,34.2179701,47.5272727,23.8169568,3.6394819,11.8455842,11.2038811,33.3507585,16.0263803,1.2900239,1.3331486,24.0010323,19.6591146,48.8683041,10.343584,35.1713524,67.9463787,34.2253093,48.138817,23.2743961,3.652841,11.6623147,11.0350111,32.1615218 +632,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1900003,1.26991,16.555473,11.7765773,76.8759475,15.6725008,37.3732117,66.9738642,38.0040682,47.3788455,25.2445506,7.109624,11.2896763,9.2086348,34.4205023,8.3436331,1.1695921,1.2277871,16.8820401,12.0702956,76.8654644,16.0351286,36.6947547,67.2591708,38.2466664,47.5562683,25.5169972,6.8484645,11.1784231,9.1302136,34.4009744,9.0073507,1.1845837,1.2433073,17.0896239,12.3458156,76.7015622,15.9186985,35.9204233,67.3522734,38.3876299,47.566912,25.7171202,6.8551013,11.7717058,9.3619904,34.9421974,9.8894349,1.1282046,1.1657701,16.4231921,11.9208368,76.739929,15.9894593,36.2162241,66.6698743,38.5421643,47.1653829,25.8611971,6.611707,11.6258072,9.0767398,35.3214488,9.586465,1.144994,1.1871738,16.4273849,11.9634366,76.9391377,15.5397335,36.3393698,66.5660599,38.2764619,47.3543322,25.5834146,6.5622872,11.6089788,8.9069419,35.1167433 +633,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3761414,1.3923176,24.0026782,19.4389954,48.9343224,10.5612777,34.7880447,67.9831461,34.4769599,47.9328686,23.3180236,3.7566444,11.6848583,10.8518453,31.7124802,17.3119141,1.4034733,1.4261317,24.1607982,19.5567728,49.1432438,10.5956758,34.7022849,67.7196631,34.1625703,47.3373338,23.1761852,3.7423281,11.919616,11.1527231,31.4694606,17.5986558,1.3379803,1.3604664,24.3808595,19.7087734,49.0776108,10.6429658,35.069314,67.7044655,34.3180704,47.8401635,23.3241545,3.8644825,12.2254489,10.8558035,32.3652787,17.6633268,1.3454522,1.3770567,24.084591,19.4870747,49.0028384,10.6935137,34.8177706,67.1185458,33.856771,48.0563937,24.0317869,3.8080776,12.2410331,10.9895089,32.0452768,17.1536673,1.3361089,1.3679114,23.5560853,19.0425156,48.4901031,10.6442641,34.2570085,66.765161,34.0698423,48.2938008,24.0497311,3.9375005,12.5941737,11.1449098,32.2283286 +634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.0411508,1.0565638,18.7924558,14.7719358,64.6042114,9.9519894,35.2150876,66.1353176,32.9319244,43.1365735,20.7921521,14.3881395,12.1571382,10.3571437,39.7664981,9.8949854,0.9773622,0.9824333,19.2953946,15.2005052,64.5612271,9.958129,35.2187431,66.2961924,32.5853042,43.3031316,20.7489777,14.3069507,12.7243743,10.8198172,40.4233536,8.9241972,1.0532346,1.0612693,19.0567084,15.0403024,64.2692605,9.9243585,34.9893399,66.2615513,32.5159882,43.0916848,20.8457728,14.2359622,13.4885727,10.8326027,40.9010286,8.4959261,1.111727,1.1139173,19.5329248,15.6906129,64.533703,9.4831243,34.8888902,66.3440904,32.121861,43.0322558,20.4372785,14.2007171,13.5179141,10.8328414,40.8995809,8.2309494,1.1565556,1.1587605,19.5408166,15.7118195,64.4468859,9.5512025,34.4069802,66.2991834,32.1443966,42.8952261,20.2262637,14.3608577,13.4666698,10.7767633,42.4020342 +635,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1869256,1.2257592,16.6983788,12.1701136,77.2689227,15.5168196,36.3932835,66.8572549,37.8167157,46.9343108,25.7288874,6.386104,11.2468871,8.7548503,35.3245211,9.5578698,1.0651541,1.089752,16.8504378,12.5702343,77.9577456,15.1549166,36.4785114,66.5803569,37.4085829,46.7803453,25.9075997,6.3226365,11.5232911,9.2585859,35.6988059,9.4230805,1.165939,1.1878218,17.2468337,12.8237756,77.8742919,15.5031904,37.4600243,66.5446543,36.9594935,47.130662,25.6791893,6.569513,11.6636415,9.6966266,36.1202159,10.4487193,1.2183933,1.2428795,17.5068886,13.1149578,77.7064153,15.4299609,38.1282639,66.3241219,36.8588213,46.9781781,25.433471,6.7316047,11.564733,9.6409149,36.2862243,10.8333361,1.2636592,1.305028,18.1182583,13.7281029,77.6347067,15.4168762,38.5305317,66.0717564,36.3924561,46.9378513,24.9954611,6.6769356,11.113146,9.3360104,35.9178367 +636,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1542994,1.1542994,17.5415793,13.1053527,57.8260943,17.6676132,34.0413669,69.1165079,37.7631211,46.2969676,25.2067274,3.5902167,11.9153643,10.5790552,36.1979364,11.5269427,1.234791,1.234791,17.0929351,12.9142627,57.3301239,17.5170341,34.7196943,69.4210119,38.2740613,46.4822087,25.5587769,3.6460159,11.7754948,10.6749746,35.2832879,12.5000037,1.2610214,1.2610214,17.1811366,13.0088188,57.1902174,17.5661611,35.2706458,69.1359972,38.1158633,46.0617416,24.6876866,4.0076251,11.6702297,9.5289032,34.2048611,13.4393102,1.27004,1.2776188,16.7589581,12.6872992,56.8295855,17.9699956,35.2110316,69.6742969,37.7035364,46.0784148,24.077743,3.9049435,11.5490067,8.9444776,34.2413742,12.8698377,1.2521743,1.2596265,16.4907263,12.5239987,56.5411193,17.7123309,35.2585088,69.6171491,37.2872936,46.0569314,23.2166086,3.9757763,11.0254752,8.813667,33.7263991 +637,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3566217,1.3853523,23.5404599,18.9924721,48.5267549,10.4353758,34.0569111,66.4223611,33.810068,48.0978746,24.0523894,3.9857365,12.8666912,11.1681081,32.4123329,18.8646826,1.3028138,1.3159112,24.1419756,19.6785141,48.2448766,10.5245434,33.8999302,66.1298736,33.9593122,47.8102832,24.7251752,4.0899314,12.8501594,11.0155917,33.0958581,19.2992989,1.2753468,1.2851682,24.7890973,20.4271633,48.529448,10.3195392,33.9137579,65.8602239,33.4162535,47.5878289,24.2347103,3.912232,12.9470064,11.1161199,33.9645567,18.4023712,1.3700562,1.3908076,24.9775706,20.5022062,48.2387757,10.1784368,33.937499,65.6076022,33.4976508,47.8613717,23.8963763,3.7994563,12.5809399,10.8620878,34.0544021,18.390124,1.3734102,1.4305671,25.0592362,20.5124658,48.1984007,9.910166,33.5840045,65.2766541,33.2041942,47.2121051,23.4197541,3.5779149,12.3792173,10.8077715,33.1503993 +638,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6874676,0.7466252,13.2330444,9.4084651,69.2846034,18.0689306,37.3015873,70.0716846,35.4582693,47.6446493,22.094214,6.2724014,10.1823708,7.4392713,35.5182927,7.8846154,0.7771304,0.7888509,12.9367089,9.1392405,69.0427174,18.1841046,37.2394509,70.8947636,36.0193188,47.8139298,21.5302491,6.4819522,10.3222558,8.3081571,36.4415323,8.9353612,0.7909512,0.8145473,13.117677,9.1951095,69.0847634,18.8166582,36.1926842,69.8351365,35.3683668,46.9603297,20.324575,6.25966,11.0376399,8.8922764,37.0162933,9.2885375,0.7872159,0.8109126,13.5294118,9.5396419,69.124544,18.7627291,36.1729674,69.2646297,35.3961678,47.2553081,20.6369757,6.24029,11.0940695,8.9285714,37.0654397,8.5657371,0.8808078,0.8925559,13.7487386,9.4096872,69.216805,19.0899847,35.4630109,69.0894982,34.7904811,47.0512157,20.4086912,5.9234351,11.7795753,8.728557,37.4242424 +639,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.429376,1.476341,25.4502396,20.9168889,48.2431714,9.8215057,33.9701665,65.3353035,33.8644799,47.4857907,22.8404156,3.5412105,12.3453844,10.8479422,33.4011362,19.0290194,1.6592295,1.7054132,25.9961092,21.3131713,48.928636,9.5856183,34.430847,65.569269,33.5539251,47.2133336,22.3616858,3.5151487,12.0994104,10.8342934,33.4106377,19.5336805,1.7093903,1.7463749,26.1463441,21.3004066,49.1967845,9.1566615,34.3842664,65.7640987,33.627594,46.7581571,21.8471812,3.4050455,12.1290051,11.1464948,33.4097352,19.4219025,1.7974716,1.8563181,26.7181526,21.719586,49.4707544,8.8209551,34.8926247,65.9245186,33.7395122,46.7886687,21.5515421,3.3352729,12.2019651,11.1127151,33.0473921,18.8834849,1.8532191,1.9271602,26.9274436,21.9252001,49.2147622,8.6414293,34.9062079,66.0591562,33.6917035,46.5245512,21.9709417,3.4020944,12.0693907,11.2183469,32.9383037 +640,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0806535,1.09253,13.3991895,9.5997974,69.0713536,19.1952845,34.9921834,68.4471079,34.5752996,46.925482,20.7139135,5.9145388,12.3069001,9.4039054,38.4654995,9.5703125,1.121996,1.1099303,13.3178774,9.6084493,69.2694547,19.2786715,34.2729189,68.4141201,33.9041096,46.8124341,20.995785,6.2961012,12.3673036,9.5970308,37.8594249,9.0405904,1.186346,1.1742804,13.6996904,10.0361197,69.8198198,18.9252336,34.2894737,68.1315789,34.1315789,45.8157895,20.7105263,5.3421053,13.5548523,10.0738397,36.8504772,7.4898785,1.1622026,1.1498812,13.8991067,10.0630583,70.037961,18.6705508,34.8843464,66.8908015,33.3243679,45.3738569,20.3604088,5.2447552,13.5969664,10.0108225,36.3685932,8.3333333,1.3358852,1.3109972,13.8326226,10.0479744,69.0983607,18.5965848,34.8214286,67.3971861,33.5227273,45.3192641,21.780303,5.275974,13.4467618,9.7359736,36.1878453 +641,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8412073,1.8879365,27.3006775,22.4200801,49.2221158,8.5068729,34.9449953,65.917817,33.7599265,46.9566627,22.3481241,3.2699241,12.1287693,11.366931,33.3780652,20.1060772,1.8821,1.9065295,27.8920611,23.1725315,49.232245,8.7642351,34.8837563,65.9682928,33.9872291,46.7737745,22.6263083,3.4758845,11.7707479,11.029991,33.9991511,20.028946,1.8919122,1.931751,28.5765162,23.7647263,49.4883825,8.6682938,34.5926859,66.2580027,33.5068447,46.4928498,22.4870743,3.5289667,11.3932651,10.7524553,33.5782661,21.003894,1.8034955,1.8496077,29.2939907,24.5012333,49.5602702,8.6441253,33.9695086,65.5584188,33.2030016,45.9387965,22.4129421,3.4861316,11.4070503,10.6542166,33.3677624,21.8408,1.8280356,1.8828363,30.1709694,25.4234382,49.9463877,8.7752014,34.0219529,65.385336,32.9853837,45.9721153,22.5305826,3.6057835,11.2550864,10.369912,33.5185378 +642,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.2725919,1.2800198,16.862309,12.6744982,57.3009466,17.3849957,35.3914059,69.2269956,36.6360856,45.3488373,23.141169,3.8814188,11.3621089,8.8611727,35.0847264,11.4583402,1.238468,1.2166219,16.7496096,12.5816559,56.6450436,16.9136064,35.2629752,69.7402259,36.481714,44.9166065,22.722899,3.9287918,10.8724471,8.6855904,34.6076967,9.7014983,1.1004256,1.1052826,16.770478,12.5973322,56.483257,16.6927826,35.1751496,70.1114808,36.257961,44.7929906,22.8821765,3.9968096,10.4620546,8.5478442,34.2980679,9.6439226,1.0127513,0.9887089,16.4254887,12.2075179,56.1445307,16.4547117,35.2950463,69.9432235,35.8946104,45.0457644,22.5150059,3.928681,11.1653725,8.2953703,34.7012513,8.54037,1.0317453,1.0268484,16.3281242,12.2031338,56.468867,16.2559182,34.9117184,70.3852533,36.2600415,45.0561918,22.7126945,3.8683757,10.8469115,8.4309776,35.0098652 +643,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.0083206,0.9957401,16.6880426,12.1353076,56.6287205,15.9408384,34.4981752,70.6028615,36.4193465,44.8327394,22.4412074,3.8920146,10.9291467,8.6506245,34.0188871,9.0189788,1.0078866,0.9886314,16.698622,12.0965164,57.1261153,15.6452575,34.5962874,70.9629473,36.44937,44.6889567,23.1469248,3.6234254,11.7309072,9.3454814,35.5092448,8.0696126,1.0181635,0.999295,16.3690494,11.6698012,55.7175472,15.3369229,34.869055,70.9505374,37.0352387,45.796973,23.2622076,3.5079223,11.2818937,8.9810688,35.4635999,7.0312434,1.0694552,1.0605676,16.3532714,11.5752199,56.2217007,15.4679573,35.2762758,70.313018,37.7994233,46.3590058,23.8422237,3.4014702,11.5137993,8.8668468,35.8068882,8.1538361,1.0835367,1.077116,16.3156357,11.7063563,56.0610719,16.1406118,35.4331946,70.5331809,38.3528946,46.6677328,24.1034518,3.189465,12.1415074,9.7010281,35.7925552 +644,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.9929692,1.0011152,16.2945811,11.6434215,55.6082243,15.867204,35.0789495,70.818569,38.4949934,47.2607121,24.5085331,3.0454447,11.1787465,9.814587,36.5546529,6.8313914,0.8849193,0.8648119,15.8451873,11.2322352,55.8413352,15.7529731,34.2656185,70.4775955,38.5508444,47.2849109,24.7464787,2.6333063,10.7558319,9.7742052,37.1736505,5.3680982,0.9756788,0.9555173,15.5953214,11.3204661,54.9185572,16.5046983,34.8246558,70.3867645,39.0527464,47.6401075,25.3523392,2.7695924,10.6957247,9.642867,38.0749152,6.02941,1.0572318,1.0435689,15.5117238,11.1485556,54.1150657,16.7374298,34.7245217,70.4223159,39.0464998,47.9214721,25.321671,2.7878678,10.1046619,9.5877082,37.5000082,7.9819229,1.0724031,1.0504193,14.8302409,10.6025461,53.9916543,16.915005,34.37715,70.106103,38.9630141,47.3819226,25.2737721,2.8918606,9.6544899,9.5932319,37.7133165 +645,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.0660898,1.0396682,14.7455523,10.5325408,53.7934601,16.9064741,33.2350902,70.7524255,37.8467145,47.4167729,24.7399308,2.825942,9.1626817,9.6563691,37.0152416,8.8785019,1.0733819,1.0463973,14.8499663,10.1931831,54.002148,16.1646249,33.2092306,70.5851008,37.6063559,46.5070887,24.3794232,2.8900765,8.6363816,9.0496335,36.7957617,8.540378,1.1787506,1.16766,14.9472055,10.1584609,54.0299071,16.0548892,33.7125338,70.548934,37.648935,45.485728,24.2506098,3.0155313,8.9234374,8.857583,35.5790163,9.531779,1.2924299,1.2907576,15.1833528,10.2705619,53.04653,16.3482381,34.1290129,70.6086106,37.7368561,45.5357089,24.0706832,3.2616627,9.7587969,9.3133926,35.2097122,10.0682628,1.2884044,1.2867192,15.2947601,10.190511,53.8704958,15.1124818,34.0249695,70.5288428,37.5504755,45.4829229,23.8523585,3.1399169,9.9115969,9.5290928,34.9999996 +646,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7091245,0.7346921,13.7447313,9.5863811,54.9111175,9.7246604,31.3576239,70.8532372,41.5009406,44.433946,24.4472803,5.2827466,10.3923778,8.5070622,37.5254627,5.5325744,0.7232199,0.7682237,13.485316,9.5550882,54.3332218,9.6254649,31.1490793,71.0517592,41.2464038,44.1882278,24.6571533,5.2477333,10.1983961,8.6137741,36.8474254,5.6948798,0.7755429,0.8240575,13.5663635,9.8659412,54.1175785,9.7188793,31.08392,71.4736499,41.3252868,43.9492872,24.6955251,5.4085466,9.9351819,8.5679185,36.88783,6.0020877,0.8696738,0.9170444,13.6186555,9.7228404,54.1464759,9.8606231,30.5061125,71.6740823,41.106783,43.7875384,24.5884291,5.3337023,10.1613271,8.6376882,37.0592159,5.9286464,0.8764028,0.9188739,13.3284808,9.421182,54.1590787,9.9557275,30.2551654,71.9593087,40.731786,43.9129902,24.2524716,5.232687,9.6932943,8.2779923,36.6289735 +647,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1090321,2.1090321,25.9550562,21.6853933,62.8805621,7.8713969,27.8153153,59.1216216,26.463964,44.481982,19.2567568,6.6441441,13.2211538,12.2009569,30.3827751,14.2156863,1.9637729,1.9637729,29.4816415,24.5140389,63.0434783,8.0818966,26.8052516,58.5339168,26.3676149,43.654267,18.9277899,6.4551422,14.5933014,13.5714286,32.2966507,15,1.5944882,1.5944882,29.5309168,25.0533049,64.527027,8.5805085,28.9247312,58.6021505,26.344086,43.1182796,17.5268817,6.1290323,14.047619,13.0331754,29.2857143,11.7391304,2.5976861,2.5976861,33.4394904,29.1932059,63.6666667,8.3333333,29.0149893,58.3511777,25.8029979,42.2912206,16.1670236,5.6745182,15.8256881,14.3835616,31.4220183,13.1355932,3.0647607,3.0647607,36.9148936,33.0851064,64.8558758,8.0882353,29.4432548,59.6359743,24.9464668,41.2205567,14.2398287,5.4603854,15.7534247,13.4090909,30.8219178 +648,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5157925,1.563022,18.0638653,13.5129589,65.1441298,17.9238358,36.4199726,68.5000156,33.5800194,46.4999884,21.6999879,8.3799799,11.7670446,10.8660568,36.4332197,9.5085368,1.5078756,1.5180865,18.581729,14.1221036,65.3845719,17.5351872,36.8580745,68.2369939,33.7444385,47.4524759,22.0582093,8.8353904,11.7954627,10.5707141,36.1985403,9.4279461,1.5271618,1.5691562,18.863785,14.5090705,65.5443116,17.4076882,35.981691,67.6822345,32.6762469,46.6945559,21.6845897,8.9008044,12.9248654,11.3958676,36.6772574,10.0831391,1.5627073,1.5955179,19.409154,14.9682337,64.4918241,17.5318407,36.0232238,67.581127,32.6191725,46.7961682,22.0064197,8.7104377,14.0649713,12.0553374,36.9825255,9.1919006,1.3258769,1.356752,19.5660287,15.2268731,65.2731699,16.9253736,35.1509119,68.3903824,32.1730762,46.0966045,21.7102792,8.1488823,14.073772,11.4708266,36.352701 +649,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2479668,1.3186088,14.9594991,10.767397,50.9468374,12.5689266,38.2018441,69.4413004,36.7927594,46.8829527,26.4803063,3.5248879,13.7453036,11.3076532,41.6697357,4.7727229,1.1875771,1.2577812,14.4100934,10.1467595,50.2397222,12.5272103,39.1432502,69.3833254,37.9738906,47.4853437,26.9669888,3.6786399,13.4026716,11.1042727,40.9765047,5.3488347,1.0604879,1.1300692,14.3043151,9.5830499,51.1144482,11.9250904,38.426078,69.1124634,36.8638697,46.9309196,25.8305888,3.8214348,13.1768849,10.1807241,42.2749373,5.4762329,1.1118874,1.1940436,14.8391725,9.9207236,50.7389049,12.2291309,37.521082,69.1209353,37.2797466,47.38161,25.6316342,3.9499845,12.8313299,9.6987987,41.7883364,5.693116,1.0145417,1.0978652,14.3774007,10.010295,49.9757118,12.8302353,36.7242204,70.7170264,37.1229429,48.3086841,25.8895356,4.0077604,12.2754415,9.7604825,40.810172 +650,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2993831,1.3202201,21.9877572,17.0509343,54.2864081,17.7116693,36.9542525,67.3581623,34.6799104,46.7085136,25.3083056,3.2339833,14.7338024,13.2799492,41.8224078,12.3399936,1.344094,1.3786424,22.277391,17.2083481,53.9346229,17.7972887,37.2483788,66.7361729,34.2083654,46.9839593,25.0064027,3.311948,14.699072,13.6530293,42.9168846,13.36646,1.5300264,1.570273,22.2439044,17.438577,53.3806411,17.9718537,37.1697598,66.6917428,34.8347868,46.8422219,24.8948733,3.4099584,15.7418455,14.026704,42.999317,14.2141803,1.7038155,1.7441,23.8270447,18.9294135,54.1921113,17.3968291,36.6890062,66.8210792,34.8277663,46.5851147,24.7839161,3.7274929,15.6505324,14.5696571,41.7192821,14.4951985,1.8003015,1.8492025,23.3150023,18.5127032,54.2691232,18.0060749,36.4949971,66.45765,34.4253184,47.112311,24.0329609,3.4867039,14.8705978,14.0785843,41.1010618 +651,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1954773,1.2569399,16.0418242,11.4777944,57.8120512,14.7107998,37.073794,69.6338108,35.620442,43.6696902,25.1119056,3.9547674,9.9999422,9.7619666,36.2205203,6.0103388,1.0546379,1.0911038,16.0948911,11.6491802,57.4147838,14.5886064,36.2366718,69.0993226,35.4179183,43.8595436,24.2661484,3.8820294,9.7943515,9.2641921,36.0101912,6.3970416,1.1278911,1.1643852,15.9982371,11.2467376,57.447112,14.0660626,36.7361889,69.233938,35.3562935,43.1851237,24.1200483,4.210132,9.9423269,9.1821733,35.9337553,6.3688083,1.1153341,1.1329663,15.6063358,10.9341827,57.0779248,13.6067707,35.6236972,69.3314563,35.710235,43.0279886,23.7251497,4.3935954,10.164938,9.0986916,36.1127516,5.8744919,1.1591128,1.177303,15.4950565,10.905992,57.3440549,13.7339353,34.9925414,69.316405,35.230392,42.4815232,23.4621224,4.4725615,10.2258357,9.3538073,36.4391485 +652,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4878829,1.479709,13.7198321,9.9947534,67.9108485,18.4320923,35.6197034,68.0879237,33.6069915,46.2129237,22.5900424,5.6408898,12.9014989,10.5913978,36.0841424,8.4980237,1.5248092,1.5166552,13.6910995,10.1832461,68.24,18.2079415,35.5855856,68.0710122,34.6316905,46.0784314,23.5029147,5.90885,12.2222222,10.5738576,35.0905218,8.6,1.5647777,1.5808265,14.3846154,10.6410256,67.847769,18.412943,36.3612702,67.8552837,34.1228527,45.7834461,23.7116085,5.7522124,11.4124872,10.1129363,35.3395062,9.0361446,1.7194047,1.7356253,14.7043568,11.0217842,68.4029614,18.0713547,36.5616798,68.3727034,33.832021,45.8005249,23.8582677,5.9580052,10.4747162,9.5755694,35.2544133,9.437751,1.8381355,1.8546208,15.4881266,11.8469657,68.5752688,18.1842105,36.6808737,69.2328183,34.3367075,45.8444326,24.054342,6.5796484,10.7032058,9.8029046,35.7142857 +653,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.9879343,2.0149116,30.3720867,23.1350518,43.1801874,11.133781,38.5991823,68.531441,37.1401522,51.44011,32.1057542,6.3932672,13.8820855,13.2733651,38.0914583,20.8572899,2.1160489,2.1439814,31.1090865,23.875355,43.5121437,10.9666813,37.5058869,67.7630655,35.8512566,51.0057617,31.1558875,6.3175677,13.7358446,13.1011417,37.4388436,24.4661539,2.058569,2.086062,31.8849911,24.747409,44.5296032,10.5381578,36.9796531,67.8686502,35.630543,48.8896069,30.8494338,6.0270281,13.9699941,13.2000635,38.0840798,21.5057998,1.9707789,2.0070495,32.4353464,25.19926,45.5422593,10.93339,36.8958477,67.4228499,34.3929807,48.740769,29.443098,5.5399964,14.293412,13.2420177,37.6446205,20.4460087,2.0966556,2.133303,31.9873899,24.6109191,45.9604555,11.1411288,36.9485422,68.7366781,33.5152163,48.9469405,28.3900311,5.0177116,13.8440287,13.8287097,37.2329686 +654,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6386485,1.7871474,28.8787346,24.5612149,57.1649424,9.338002,33.1311823,66.1464921,35.3597135,44.835695,21.9183715,5.1314571,13.1970795,11.7923476,35.9211862,16.048259,1.8213581,1.9223276,28.8670261,24.6151623,57.3250441,9.3078514,33.7587808,66.1408054,34.718929,44.8620676,21.2962926,4.9224088,12.7087648,11.1795699,34.1948754,17.3148333,1.8412825,1.9482935,28.3751124,24.1037258,57.1364997,9.7618522,34.5467631,66.492576,35.1161215,45.5528937,21.9296597,5.0505973,12.8847869,10.6340464,33.9860669,16.9941257,1.5750427,1.6313202,28.4648406,24.3391699,57.7385065,9.6556911,34.410393,66.8063374,35.595135,45.1408968,21.3099686,4.9934403,12.5611914,10.5480312,31.8961465,16.3618089,1.542625,1.599296,27.7346196,23.398118,58.1012524,10.239136,32.747413,67.1483479,35.7817992,44.9186109,20.7124502,4.7564279,13.4483586,11.5661096,32.4012117 +655,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.8170631,0.8295945,14.895204,10.8960617,66.8911288,12.8549787,34.5615586,69.0903423,37.0763231,46.7854997,23.5403432,3.5753386,11.5418365,10.4559379,37.0083919,9.3952268,0.8720124,0.8846611,14.7122171,10.9829665,66.8939987,12.3178777,34.1471526,69.2996377,36.8426888,46.6747771,22.8126355,3.5461826,11.2610638,9.7609595,36.1669196,10.0663496,0.8524713,0.8691602,15.2435023,11.2529396,66.4473538,12.3294911,33.7924205,69.6672937,36.8113684,46.6615318,22.3997246,3.470697,11.5061789,9.2175133,35.5521122,10.3644419,0.9474978,0.9474978,15.1043886,11.3418816,66.2494163,12.6014322,33.0178176,69.8107189,37.5835108,46.4699329,22.2828337,3.4632531,11.7633847,8.86162,35.0202591,9.7700964,0.9833588,1.002101,15.788883,11.778304,66.3971566,12.4141579,32.6028259,70.1393768,37.6376567,46.5160694,22.3982714,3.5625977,11.803651,8.8396639,35.1333004 +656,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6936371,1.7172928,25.0035551,20.1325937,55.3901271,9.7574181,29.3471925,67.64657,34.8626233,41.5937146,21.7301693,4.4962659,12.2779606,10.7499221,35.4962662,14.2834427,1.5612738,1.5691535,25.287355,20.5134849,55.2932715,9.1386766,28.7734957,67.5617673,35.6518362,41.4391707,22.3173067,4.2580411,11.5921376,10.0079758,35.1953851,14.7386052,1.3646948,1.3252464,25.3120446,20.3112489,56.0377339,9.0070238,28.4368306,67.1610632,34.7463735,40.5139822,21.5254634,4.3116969,11.444301,9.6796375,35.1689609,13.3616073,1.4800774,1.4408819,25.6908577,20.4084553,56.519401,9.5103443,27.8391056,66.9639888,34.5238832,40.6390871,21.5314717,4.5300396,10.7477888,9.40632,34.69734,13.9275368,1.5343349,1.4837439,25.5539302,20.5210202,56.9417245,9.9306426,27.9010084,67.872452,34.6535483,40.8731338,21.7600596,4.5073203,10.819573,9.136773,35.1066468 +657,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6943903,2.6943903,40.1483051,35.0635593,65.7488987,7.4267782,31.5845824,61.5631692,25.5888651,41.4346895,14.6680942,5.2462527,17.3611111,14.516129,30.3240741,16.9421488,2.903369,2.903369,43.9873418,38.0801688,67.7312775,7.8616352,32.5757576,62.012987,23.2683983,39.0692641,13.0952381,5.5194805,18.2464455,14.4549763,33.7320574,22.3577236,3.2607695,3.2607695,46.1462451,40.0197628,67.8719008,8.1854043,33.9068826,58.805668,22.9757085,38.9676113,13.8663968,5.1619433,18.4322034,13.7711864,33.6909871,21.0743802,3.6887327,3.6887327,46.1764706,40.2941176,67.7319588,7.8793774,34.9699399,58.2164329,22.745491,38.3767535,13.7274549,6.3126253,19.6356275,13.9676113,34.4897959,23.6434109,3.7267023,3.7267023,47.979798,41.9191919,66.6309013,6.969697,36.0706861,57.9002079,24.012474,39.6049896,15.6964657,5.9251559,20.2083333,13.125,34.6638655 +658,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5268752,1.5838894,27.0882035,22.7941581,57.8682747,10.1998919,32.2298878,67.803482,35.7622454,46.2933365,20.8744469,4.9572831,13.213851,11.8892159,33.0600548,15.6716631,1.4374156,1.450728,26.743502,22.4174023,58.3491928,10.2240042,30.7992819,67.1407489,34.642697,48.2658672,21.9119603,4.4784849,13.3313107,11.8605036,33.1065258,15.8643545,1.701292,1.7038947,26.5891961,22.1001452,59.2412047,10.6672021,28.5495075,66.7835464,34.8278841,49.1944442,22.4744958,4.7500263,13.1232823,12.2922565,32.5557443,15.3444708,1.4828565,1.5080415,24.9130229,20.4725827,60.2415962,11.145488,27.0571738,66.0745585,34.347632,49.4789371,22.6974408,4.9627364,13.3400645,11.987921,33.6597167,14.8484878,1.405903,1.4034049,25.5446335,20.8741573,60.5805919,11.4321904,27.2819035,65.7707701,34.1319149,49.7906139,22.8132635,5.12878,12.5576896,11.5688951,33.3665605 +659,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8428417,1.8617908,24.1368834,19.7321146,44.040104,16.6581066,41.7679276,68.9399996,41.2189351,52.2346413,30.5074339,3.3965113,11.3192003,10.7269052,33.5146854,16.8449018,2.0681501,2.0586863,24.0418977,19.4909921,44.9866649,15.9954757,42.7994776,68.2279273,39.4925276,51.0731883,29.380627,3.0943068,10.8509257,10.7568447,33.5935533,16.944435,1.9413526,1.9320162,23.5089067,19.2509938,45.8271664,15.9148976,42.2862531,68.1417042,38.3079633,49.9414467,28.1796258,3.4659396,11.2348951,10.684412,35.0875763,15.7753926,2.0105187,2.0012963,23.5676476,19.1764674,45.0982181,15.3380908,42.1371816,68.3905202,37.8328686,49.3139272,27.0044121,3.4388716,11.5470765,10.9996378,35.5530572,17.4731183,1.7569541,1.7477266,24.1430312,19.4836577,46.634937,15.9976375,40.3072948,68.8503547,36.7185064,50.3607651,26.4221544,3.4409301,11.2746816,10.7223829,35.1773773 +660,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6969716,1.7574864,23.0947093,18.2439275,54.0784947,18.6555947,35.0796882,66.4218694,34.0207493,47.3678455,24.8160477,3.7049997,15.3855377,14.5856798,40.1969153,15.3196511,1.7782345,1.8401028,23.7101173,18.5806513,53.8857739,19.4101301,33.3913402,66.3189175,33.5724507,49.1511251,26.2148748,3.7470337,16.1939537,14.5558432,40.4264839,14.5970867,1.7169808,1.7776669,23.9982489,19.0093809,54.124478,19.0898244,31.8346262,65.2201815,33.157695,49.7977477,26.8867199,3.5882596,15.8695539,14.6665955,40.6369237,14.5482529,1.7127153,1.7585905,24.3270861,18.9415578,53.6613125,18.7764408,30.930812,65.7589929,32.7027777,50.6464061,27.7076796,3.7238012,16.2388975,14.9863186,41.4829165,14.0321754,1.6087374,1.6857347,24.1300589,18.7233741,54.0981114,19.0257312,30.859945,65.159137,31.7548793,50.5773776,28.2633877,3.5265492,15.1298765,14.8605105,41.0526018 +661,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1731257,1.1800199,15.9041087,11.0358733,53.1830174,14.9852132,33.6761466,71.0733035,37.677613,45.643231,24.3268536,2.9356745,10.6326263,9.5978802,34.9578174,6.3934489,1.1845411,1.2020788,16.0720976,11.1296899,52.4712528,14.7808126,34.6517817,70.1173402,37.9447162,44.7956116,24.9621528,3.3118823,10.5850614,9.6168622,35.1550561,4.8333382,1.2036048,1.2212104,16.3931409,11.8798961,51.9238055,14.9643205,34.1227706,70.1591658,37.7226121,44.6949667,24.9147415,3.2019677,10.6640472,9.3847286,35.8883787,6.6101695,1.2706522,1.2884016,16.610361,12.0683202,51.9913938,15.236445,33.6087622,70.3881668,38.1821587,45.4073818,25.7302193,3.2474986,10.6107826,9.4773639,36.5612834,6.5495208,1.1654552,1.1832425,16.9558704,12.316113,52.6635129,14.9045659,33.5582098,70.8365431,38.068614,45.5088767,26.2336216,3.3731656,10.2674813,9.4509644,37.4503882 +662,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.0692978,3.0692978,47.5738397,41.6666667,68.2628062,7.0526316,36.9047619,59.4155844,25,42.3160173,16.7748918,6.1688312,20.2173913,14.1304348,33.7004405,27.4590164,3.0932633,3.0932633,45.7230143,39.0020367,69.0889371,7.244898,34.9789916,57.0378151,24.4747899,40.8613445,16.9117647,6.8277311,19.6969697,14.9350649,30.9210526,28.4172662,3.7307263,3.7307263,45.5512573,38.9748549,69.2386831,7.3099415,35.7569721,56.2749004,24.8007968,39.7410359,16.2350598,8.0677291,17.7824268,13.5983264,32.8389831,32.3333333,3.8261208,3.8261208,44.2095588,38.1433824,69.0751445,7.8125,35.4089219,55.669145,26.3011152,40.7992565,16.2639405,7.7137546,17.5471698,14.2045455,31.870229,28.4375,4.0028228,4.0715513,44.4751381,37.6611418,69.2528736,7.7413479,35.1576994,57.0500928,26.4378479,40.3525046,16.0482375,8.2560297,17.0411985,12.593985,32.2641509 +663,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.9534905,0.9929429,15.873381,12.1097436,65.9949174,14.069715,35.0486848,66.972406,34.5203584,44.1033202,23.2262964,3.9032716,12.2596208,10.3507115,35.7007944,9.0281832,1.0089261,1.0406633,15.7094804,11.8651875,65.2406185,14.5140182,35.1224444,67.797132,35.0530949,44.9715907,23.7610817,4.2967135,11.3946285,9.634349,35.2610419,9.6395707,1.0175793,1.0551986,15.6795909,11.7464224,65.4355708,14.6472405,34.9985074,67.8785834,34.9277604,44.6879566,23.5667576,4.2421852,10.9356589,9.3111824,34.4923893,8.8873193,0.9295649,0.9621492,16.2556622,12.0297236,65.5915564,14.9441523,33.8774784,69.0066516,34.4743923,44.1942408,22.883878,4.1757843,10.8617808,9.2024542,33.5476356,8.4797051,0.8765508,0.8513661,15.4929897,11.4404673,65.4296336,15.2211778,33.8187175,70.1086449,34.0744812,44.4864242,22.3430702,4.2139517,10.9554039,8.8265987,33.2984295 +664,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.874172,1.8905835,27.3732086,22.4852957,40.5181299,14.9024103,39.4101269,66.6146251,38.4557958,49.3196551,27.4101722,3.3093703,10.5199929,8.9437494,33.1889718,22.2784724,1.9117176,1.9232815,28.731424,23.5857917,40.9707363,14.8135536,39.0695451,65.8330309,36.7360693,48.6065463,26.2858977,3.0925535,11.2117054,10.0212593,33.2489053,22.2767239,1.8644767,1.8240277,29.7952723,24.3833215,41.2201329,14.8271425,38.8611704,65.4624813,35.6491302,48.859524,25.5071451,3.1852296,11.2008193,9.7931274,34.4880469,23.1501405,2.1281216,2.0901068,28.9616679,23.7135742,41.2377689,14.5744037,37.7016626,65.9322774,34.9133313,48.4639425,24.9481128,3.1861395,11.4830617,10.127325,34.0933836,24.3863877,2.1071436,2.0797743,29.3261181,23.6719303,41.0408851,15.3135077,37.8624716,65.6328297,35.0812578,48.3477908,25.6429226,3.6627196,11.6711803,10.8764955,34.1161612 +665,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.8497445,1.8646775,31.2199675,23.5491452,46.4220193,11.2651622,36.8673751,69.8942014,32.9994249,49.2601339,28.5604185,4.6832669,13.5376997,13.5228407,37.4138309,16.4211822,1.6548595,1.7035479,30.2919087,22.9077239,46.6841722,11.7033518,35.0501454,68.9768715,31.1731818,50.4994265,29.6609367,4.6374394,12.3741776,12.8128935,37.422287,17.7244176,1.5363257,1.5827497,30.8011095,23.8123982,46.036776,12.3237103,33.7296049,67.7046518,30.4314856,51.1492075,31.0049818,4.6955,13.2164354,13.1972368,37.5957257,17.5390466,1.655309,1.6993338,30.4016058,22.9315028,45.878726,13.314492,33.6367337,68.3909472,31.663816,52.6824417,32.2822778,5.2715799,14.1391116,13.4441001,36.6668152,14.9698806,1.7265798,1.7701054,28.8515972,21.1913712,44.4912471,13.4967667,34.658918,67.6054159,32.0466686,54.4158092,32.9904653,5.4582598,12.8613896,12.7123958,35.5513895 +666,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.1596329,1.1541461,19.8476049,15.8595641,64.9634583,9.6456414,33.8288175,66.8031083,31.1144577,42.6612031,20.1996251,14.0097653,12.9891202,10.0853984,41.6098389,9.1977295,1.1349969,1.1427119,19.9300246,16.2025132,64.4298786,9.4604211,33.6630171,66.6835162,30.7753393,42.0949964,20.4086014,13.8247173,13.3146651,10.2272765,40.911796,9.6996811,1.17436,1.1820163,19.7493307,15.9963174,64.5687204,9.3330529,33.5890512,66.9701787,30.3484392,41.7048966,20.1104087,13.9733299,12.8838918,10.0234147,39.9793716,10.4688763,1.1340194,1.129634,20.1719497,16.3777155,64.8045162,9.4514371,33.7236072,67.0808835,30.3189243,41.768419,19.8750191,13.8988653,11.9619407,9.5956663,39.2477882,10.3932512,1.154564,1.1612271,20.1423823,16.0002844,65.1261173,9.5214235,33.5833984,67.3343088,30.1748044,41.7698449,19.5702838,13.5979595,12.2711245,9.7694381,39.9791489 +667,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5249662,1.6104745,24.1948317,18.5909579,53.2459104,19.2532678,31.1493999,64.3774391,31.745503,50.1490439,28.2654182,3.0459762,15.3103536,14.7909476,41.2909026,12.3355101,1.4362265,1.5274111,25.2395355,19.38809,52.8201201,19.2323146,31.4829738,63.5990584,31.5255932,50.2992421,28.4596,3.100453,15.6719027,15.2453553,41.4495711,12.7831508,1.6279317,1.6995487,25.9367476,19.9624492,53.0565941,18.741563,31.2465548,62.8561381,31.2891477,49.0236317,27.0288253,3.0127458,16.1171807,15.0366319,40.6542666,13.4069189,1.7189559,1.7810251,26.0298117,19.9706166,52.8496178,18.5228733,32.7680131,63.7541774,31.6946575,46.9365556,25.353331,3.0269599,15.2156529,15.0594963,39.7242099,13.8628886,2.0354365,2.0983618,26.5607734,20.0926692,53.2484674,18.3655265,34.7985382,64.2760451,31.2502951,45.7000931,24.8654251,3.1923503,15.7227133,14.6166603,38.8742262 +668,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.7339218,1.8155045,26.589269,21.0062603,48.6855609,12.6855624,39.3584634,66.5852765,36.310819,47.878415,26.797443,4.2683964,13.2469737,11.4813659,35.6423669,20.0135902,1.7736131,1.8004673,26.902276,21.3922653,48.5397665,12.4979126,38.988579,66.5967713,35.8520497,47.7943414,26.3753803,4.1345176,13.2973092,11.8599985,36.0819324,18.8642623,1.7752751,1.8085702,26.9790745,21.5816168,48.6280209,12.8224247,38.8198634,67.2402067,36.0500011,48.2373496,25.9946238,4.0204793,13.1661909,12.1366239,36.3684351,19.2357882,1.7783531,1.8039151,26.8059106,21.5479146,49.1585056,12.9179759,39.056977,67.5827628,36.1825295,48.3694548,25.7102004,4.0258855,13.1689285,11.8931303,36.2662303,18.7820857,1.8046174,1.8109488,26.4627632,21.3785711,49.4759724,13.5302007,38.7938396,67.9127257,36.1761989,48.5799633,25.6715043,4.0461924,13.2437129,12.0035864,35.9891986 +669,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2659589,1.2975736,20.3960134,15.9860646,65.6275209,17.2436531,34.7978431,68.7500206,32.3638783,47.0091064,22.2566303,7.6526356,14.5267363,11.0426932,35.9387827,8.6337597,1.4026599,1.4422223,20.2179466,15.8987515,64.9872808,18.307415,33.0338637,67.7183695,32.0309418,49.3731947,23.8821809,7.0831564,14.7851588,10.7892539,35.6053681,9.8095051,1.589126,1.6028232,20.2293953,16.0023575,64.7529701,19.6351076,31.8849502,67.5030977,31.476955,50.1631981,23.9698222,6.3443463,14.995802,11.1435678,36.4285024,9.7222042,1.5283598,1.5415931,20.1358831,16.213545,65.5532574,20.4511013,30.7556518,68.4220717,31.108098,50.1761741,23.825385,6.4800331,14.684453,11.5198403,36.4117314,8.7825858,1.6537032,1.6359714,19.9808779,16.0495724,65.5810417,20.9298305,30.2732633,67.6096908,30.6582315,50.2886443,24.1147156,6.0623586,14.6252894,11.24097,35.7258486 +670,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.280297,1.3025352,18.1798088,12.0333635,50.6789341,16.0763903,37.6349738,68.7562099,38.0777325,47.3696618,26.0324046,3.1710103,13.0844948,11.2939603,39.1631593,9.8927625,1.6123728,1.6347097,18.1843608,11.9881505,49.8240676,15.897745,38.0723794,69.418634,38.1222007,48.0283791,26.983364,2.9816754,13.1708257,10.874267,38.2414258,10.4080717,1.6229988,1.6343798,18.2243482,12.0444867,49.1570427,15.8348446,37.9816287,70.53109,38.2322616,48.6479331,27.7162778,2.5787848,12.9756805,10.5608532,38.3096166,11.1403384,1.7609878,1.7725917,18.13039,12.1781628,47.9718413,16.6077839,37.2833457,71.0759935,37.8440743,48.4454102,27.9560926,2.6757665,12.4219175,10.0314357,38.3928074,12.1781006,1.8743941,1.8957176,18.4879687,12.6712236,48.362221,16.281956,36.4647807,71.8172273,37.0859744,47.8000723,27.355001,2.1997362,11.1050407,9.0668014,38.4906397 +671,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26068,1.3231067,18.5569803,14.0131417,77.3388579,15.9156066,38.153818,65.9832344,36.2584237,47.2298127,24.8314052,6.8434472,11.4738743,9.6419113,35.7357904,11.4528796,1.2642026,1.3058201,18.7244326,14.2234569,77.6374075,15.8890934,38.4426197,65.7103791,35.382504,46.639337,24.5810388,6.748632,11.3303289,9.420819,35.676385,12.3717933,1.2315278,1.2691702,18.9772569,14.6426726,77.573464,16.0775361,38.5508008,65.5062101,35.4440747,46.6648337,24.0953826,7.17288,12.0172444,9.5908276,35.973527,11.3899555,1.3191977,1.3512794,19.2017975,14.8789287,77.8897735,16.0241355,37.9879568,66.2987931,35.1057997,46.8350958,23.7778077,6.9226539,11.7021248,9.398343,35.9616056,11.8064425,1.231076,1.2680199,18.9611138,14.7799943,77.9920975,16.147642,37.302461,66.8618633,35.0901604,46.8581422,23.5266682,6.6833957,11.8985013,9.356166,35.3889907 +672,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.9365472,0.9610413,15.8896342,12.0157543,66.52304,13.0015689,32.6931882,70.595689,37.7069766,46.9986156,22.550577,3.3693647,12.0933522,8.4981271,34.7156725,11.0975339,1.0608727,1.0908963,15.8930584,11.7292286,66.639226,13.3447688,31.6577651,70.3622165,37.2532943,49.001624,23.5082266,3.1692583,11.8414748,8.37287,33.9618382,11.975281,1.0401422,1.0701658,16.215908,11.806812,66.0899041,13.636345,29.6283421,69.4657448,35.7374928,49.9303171,23.403015,3.2636506,12.0259226,8.6008668,34.0154314,12.1980376,1.0458819,1.0658987,16.295389,11.5727285,66.2317906,14.4252241,28.3227169,68.4228456,34.5129485,50.2617317,23.611733,3.2203046,12.0405296,8.9604906,32.994324,11.7169033,1.2220421,1.2604307,16.4400373,11.4690139,66.1461706,15.1484344,28.8172322,67.9466678,33.9220338,51.2192423,23.9402836,3.2019182,11.838387,8.9816147,34.0531584 +673,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4513476,1.5479405,21.6832611,15.6052403,52.5476577,14.7277012,39.9795192,68.6644556,37.9607938,50.0367968,26.2276284,3.2951187,14.1248325,12.5575268,36.4647728,13.7596725,1.4749883,1.5469194,21.1166464,15.0780641,52.2271531,15.0401212,40.4233491,68.8829588,37.9360086,49.9972995,26.1385497,3.1094875,14.1596126,12.7736564,37.3489825,14.0243667,1.4764155,1.5477707,21.011631,15.3890606,52.0929274,14.9808265,39.4928825,68.1553764,37.2973777,50.7666873,25.9176354,3.0407479,14.0247132,12.731502,36.4462778,13.9760084,1.4173368,1.4887674,21.1135061,15.4564777,51.6683447,14.8846461,38.9419357,68.7149827,37.5589922,50.1330993,25.96075,2.8713463,13.3104853,12.5367878,35.5037278,12.4012425,1.4910743,1.5455985,21.9235709,15.9420182,51.3593821,15.5042623,39.3205296,69.179925,37.7747612,51.2638116,25.9452945,2.96669,13.7745544,12.6043991,36.6645913 +674,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5946314,1.5946314,19.7779231,16.0518899,66.1758393,21.4179569,30.0037783,66.5974385,29.9282687,50.0566181,23.5083071,6.0611823,14.63892,11.4207558,35.8438255,8.6920314,1.737475,1.7629393,19.4423408,15.7372254,67.3325199,21.7915566,30.605719,65.1805968,30.0414051,50.3197603,24.0594408,6.6027115,14.9385428,11.089827,35.5821296,8.6409251,1.6676971,1.7144752,19.2113744,15.6103411,67.366653,21.6886641,31.6618429,65.2968893,29.5981254,49.4387775,23.8051981,7.0782069,15.0964371,10.9340669,34.6870799,8.5504677,1.6115762,1.6577831,19.4909165,15.7173074,68.2392952,21.5191926,32.8392868,66.6249822,29.5178475,46.9820958,22.0892741,7.4821447,14.7058866,11.0828933,34.9270641,7.9377874,1.3579,1.4261124,19.4503561,15.7623872,69.0458998,20.8289154,34.052048,66.6606914,30.0605719,45.5986795,21.6143809,7.9650799,14.6403027,11.4748714,34.4790983 +675,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4764913,1.5675732,24.9936415,20.372417,45.6541189,15.8344857,35.5993167,68.2425661,36.9660003,49.3857833,26.6651017,3.6236348,12.9372048,12.363235,36.1577291,23.4614615,1.6400815,1.6495844,25.2968589,20.1653589,44.8671243,16.5146587,36.1316984,68.7827437,37.0621428,50.7072897,25.8856074,3.6244983,12.1241754,11.9207706,35.8310037,22.0148343,1.6589033,1.6686361,24.6703186,19.7848167,44.3894468,16.7757005,35.6564713,69.3631527,37.8554363,50.7224154,25.7261902,3.7020785,10.9849371,10.3933306,34.123877,24.2536386,1.6308407,1.6688289,24.2528618,19.5211548,45.3113404,16.8063204,35.6687273,70.0064596,38.1493755,51.9824777,26.5823668,3.6315655,10.1700095,10.3002404,33.4527381,22.1773387,1.6370525,1.6581046,24.4719899,20.0109776,45.767473,16.923634,35.8092488,71.2751395,37.8343017,51.5286312,26.5758395,3.3504881,11.6111544,10.833169,34.743265 +676,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6225941,1.6130721,23.5572944,18.8040649,47.3355993,15.9954862,38.6522897,68.0153406,35.3828757,50.12239,25.2626399,3.1768774,11.3218919,10.0979254,35.7758797,15.4029659,1.4651743,1.487949,23.5749206,18.5299664,47.7571805,16.6657651,35.8623329,67.3330763,35.0034777,51.1952725,26.1660317,3.0366448,11.4583215,9.3865134,35.8641836,17.1026168,1.443613,1.4660671,23.8598371,18.8214902,48.6040849,16.9451601,34.7727877,67.8830985,34.1707894,53.0081941,25.9782644,3.1605222,12.4548841,9.9397674,38.0170107,15.7745039,1.3288495,1.3977735,23.8398335,18.4902329,48.173738,17.0148503,32.9866391,68.2854149,33.7094732,52.9798842,25.2108253,3.1021887,12.6635079,9.3341349,38.9555549,16.8180518,1.5005272,1.55088,24.6317481,18.7600633,48.4850464,18.1630732,32.9042539,68.1244399,33.7488217,54.3918913,25.9176289,3.2206693,12.9127526,9.8351129,38.8228405 +677,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5596864,1.5974517,21.2090188,15.724191,51.3749458,16.2701003,37.9980068,70.066161,37.8836917,52.3224306,25.9405956,3.1296538,14.7470345,13.4174549,37.0324196,16.3131169,1.4658653,1.4682008,21.2276325,16.154416,50.565438,16.3428877,36.2909963,69.3749093,37.51114,54.0844196,27.7396678,3.2127255,15.1282343,13.3713414,37.4229263,16.0710332,1.7683159,1.7705963,21.3917445,16.4171484,50.1151125,15.8554131,34.0320109,68.0853691,36.6717904,54.4889102,28.3168635,3.1376569,14.2703975,12.9717101,36.5031004,16.2105512,1.6969351,1.6969351,21.8671999,17.2384797,49.7890074,15.7795348,32.7033733,67.7754231,36.3832858,55.3113076,28.5152667,3.1434458,14.0972285,12.6186883,37.0255165,16.7920663,1.6810608,1.6810608,21.7881234,17.2006092,49.7209415,16.0729583,32.030756,67.3923845,35.7100035,54.759711,28.8164283,3.0857754,14.2320553,12.6345936,37.0862103 +678,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6313488,1.6481668,15.643511,11.82014,69.1103789,18.9312567,36.9293478,69.8097826,34.7554348,47.6902174,23.9945652,6.8206522,10.5963791,9.8614072,36.358754,7.9150579,1.5021797,1.5138522,15.3907923,11.5364026,69.2915531,19.5258391,34.9648459,68.9291509,33.9372634,50,25.1216874,6.6252028,10.8236536,9.5665962,36.0192102,8.1132075,1.265721,1.2606807,15.3825431,12.0420259,69.1570881,20.2190171,32.601626,67.8861789,32.5474255,50.4336043,25.5555556,6.4227642,9.3582888,9.3683084,35.5904659,9.1439689,0.9875726,0.9826945,15.8783784,12.5,68.3722163,21.7942089,31.9277108,67.5484547,31.1419591,51.2048193,25.0130959,6.1026716,9.9791014,8.8389121,35.0793651,8.4532374,0.842204,0.8849188,15.4683544,12.2278481,69.058642,21.9628514,30.8808554,66.3187373,30.8299389,51.7566191,24.7708758,6.2372709,10.4316547,8.5993821,34.7352025 +679,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3707375,1.3979878,24.9844025,20.1152918,61.2373118,12.4056531,27.3466615,65.3097429,33.6048011,50.4316101,22.7168814,5.2204725,12.3874057,11.0431587,33.8626558,13.9423104,1.5649206,1.5920982,25.604106,20.7092417,62.2131332,12.6621253,28.3237201,64.646918,33.4129329,50.334503,22.7891945,5.5822338,12.3266257,11.0655898,34.5079869,15.5493511,1.5492066,1.5762479,25.661972,20.6125113,63.403175,12.9012084,28.5237205,64.5555107,33.2857678,49.2861951,22.4918176,5.2541325,12.0433698,10.8668966,34.4666941,14.8798576,1.5705012,1.5739985,25.5555675,20.3284425,63.2568747,13.3349284,30.119073,64.8582778,34.2080549,47.4730873,21.8123446,5.5861376,12.1259478,10.9414073,34.6612714,14.2193335,1.370916,1.3436268,25.6709133,20.3396269,64.2836349,13.2365231,32.0785472,64.8378413,34.4658611,45.8055815,21.3688167,5.388039,11.9523324,10.3415051,35.9182802 +680,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.8716476,0.8960537,13.5032522,9.4902451,61.9175624,17.9643857,35.1116589,68.2559362,34.3672557,43.6547374,22.3147848,8.8798317,12.3496081,9.2291405,37.3835044,5.6490385,0.8603271,0.9087767,13.984878,9.8092206,62.5312308,18.0821494,35.2598089,67.7094326,34.4114663,43.7433797,22.8879541,8.9607644,11.9047599,9.4105154,38.5251677,6.2500028,0.8250317,0.8872006,13.8148372,9.7082178,62.6745297,17.8945542,34.1666682,66.755318,33.8829908,42.4645479,22.8546169,8.7765962,11.2193347,8.8192989,37.6816689,7.3363464,0.7518477,0.7974584,13.9679699,9.5907511,62.8068193,17.8274427,34.0429301,66.9071054,33.8318182,42.1710121,22.325832,8.7438422,11.6122138,8.8235332,38.2499807,7.1743961,0.8003691,0.8468477,13.8838468,9.4918375,62.5361691,18.3339182,33.6132965,67.0300204,34.6497588,42.2623356,22.1050782,8.7026452,12.0512818,8.7353852,37.9424634 +681,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7597633,0.8262137,16.2796443,12.5247036,68.3215726,22.5687623,29.4073705,65.4631474,30.2539841,50.8217131,24.37749,6.3496016,10.7638889,8.5984095,34.1841842,9.2532468,0.6737496,0.7393484,16.3898388,12.6770884,68.8960716,22.9186834,29.1584646,64.6899606,29.5029528,50.4183071,24.1879921,5.4872047,10.1888668,7.9104478,33.4834835,8.8333333,0.7957612,0.8655084,17.4084376,13.6995828,69.7580645,22.4654378,29.3442623,64.1920375,28.7822014,48.5480094,23.2552693,4.941452,10.4205607,8.1852198,34.1635338,9.7222222,0.8293755,0.9037412,18.4247212,14.4284387,70.8412548,21.7622572,30.439869,64.9274684,28.9424427,46.0224614,21.6424895,4.6560599,11.1164122,8.834766,34.8513902,8.7692308,1.0084638,1.090431,18.861454,14.6090535,71.0823529,21.5169569,32.8922934,65.6685237,30.0603528,44.7771588,21.1931291,4.9907149,11.8732261,8.0889309,34.8053181 +682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6594811,1.6800458,27.0495493,22.9880158,46.4996306,14.1878246,36.7690755,65.6474699,38.2766138,48.9799846,26.0720964,3.3441482,12.547141,9.6586751,36.5316552,30.5116771,1.8196564,1.8409235,27.7334002,23.7034704,46.2113303,14.1045848,38.5376466,66.0697498,38.8120217,50.8765415,27.1182749,3.3616844,11.8490807,8.8635655,34.6886956,27.1649907,1.7187808,1.7393006,28.6530027,24.3324839,45.3320931,13.5245441,38.928533,67.6277483,38.8407026,51.8637514,27.2375755,3.2336097,12.0126918,9.181579,35.2830996,30,1.5027184,1.5027184,27.2968241,23.2702534,45.7527403,13.5709501,39.0690666,67.3650351,37.8553566,51.5335308,26.8679684,3.3323146,12.2279282,9.642963,35.6051169,29.9242198,1.6062551,1.5798437,26.9278913,22.9873422,44.9432073,13.8061152,40.0522309,68.5340147,37.506907,52.6017712,28.3602578,3.6882523,12.0461568,10.2101037,36.3424198 +683,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.473816,1.4468454,25.6847448,22.0008905,45.1303242,14.092885,40.933699,69.0290262,37.3891047,53.8247782,28.4061757,4.021149,12.7660519,11.4147452,36.3877045,29.7855458,1.451347,1.4244404,25.8316091,22.0780144,43.7841415,14.6686515,39.3033377,68.8127382,36.8650178,54.7216422,28.7773037,3.4396412,12.7879034,11.6062619,36.7819112,28.301958,1.7817716,1.754587,25.6716412,21.4421084,43.8469172,14.7311949,37.9529804,69.1855513,36.4570307,55.2074772,29.6068764,3.211722,12.4851325,11.9833151,36.9745726,30.95938,1.8127955,1.8127955,25.8877534,21.4415659,45.3360164,16.1223995,36.687727,69.5860749,37.4392477,56.5707666,30.3533472,2.7975758,11.680359,11.5266294,37.0438602,30.7652338,2.1128343,2.1128343,25.5377066,21.2735277,46.5719292,16.8718622,35.4769269,68.6762199,36.9406163,56.5257483,30.14003,2.8891726,12.379919,11.8623502,36.7059408 +684,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5620873,0.5620873,12.8762532,8.910651,70.4556615,19.9857046,32.8275606,65.5828572,30.9489319,41.8352655,20.9296703,5.2264012,10.4385113,10.3530613,35.1104785,5.3149648,0.7521625,0.7521625,13.2839082,9.4064437,70.2813287,20.664192,33.1641341,65.8686532,30.9386673,41.0983676,21.1176429,5.732971,9.7973642,10.5797929,34.2534181,6.4960681,0.6772295,0.6466202,13.8861786,9.9257705,71.1547204,20.8272871,33.6396538,66.5593391,31.3556217,41.2861577,21.0278844,5.6355763,9.5358893,10.1515972,32.2690052,7.3221819,0.7516462,0.6754032,13.7820871,9.5907521,71.6732037,21.6593976,33.9852686,67.1537217,31.7575407,42.1536227,21.4109639,5.767353,9.5545222,10.5550897,32.6860744,7.3705267,0.8646749,0.7891573,13.8023724,9.6154068,72.099224,21.3246783,34.0118814,67.9502411,31.5106688,41.5646464,20.7210135,5.2231717,9.950564,10.9623886,33.2169868 +685,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5396881,1.4804884,25.1793926,19.8949331,56.4120315,9.9633082,27.4518045,68.2867231,35.1488161,42.2000038,22.604335,4.7615215,10.7205752,9.2356676,34.5331987,15.7342657,1.5795977,1.4889349,25.4996885,20.3173287,56.7516335,10.0250332,26.7529817,67.6567178,35.5976724,44.642524,23.2905253,5.1594029,10.9316677,9.7427558,34.1125656,17.1456312,1.594153,1.5460953,25.5572823,20.4961683,56.5298477,10.1992876,26.1748657,67.4303955,35.8935357,46.4836951,24.2039466,5.0462325,10.9443226,10.0175405,34.6917303,17.9616215,1.4708192,1.4543792,25.2023758,20.3859037,56.9701237,10.4636732,26.2667103,66.9247578,35.4201406,46.7961741,23.8917526,5.0277053,11.3565134,10.1052224,35.335484,18.168375,1.6606483,1.7403756,25.2226688,20.3341049,57.0160144,10.6910412,25.7684509,66.8217403,34.9893859,46.8857605,24.1575011,4.9057999,10.8242712,9.9786186,35.303881 +686,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8434631,1.8360329,21.3362476,16.5314293,44.6020034,12.9149033,37.9588835,67.5721702,40.0146745,47.4057532,26.01565,4.038185,14.6184358,12.5496131,40.9091136,14.0693385,1.7550867,1.7588285,21.6333499,16.2190219,44.9850339,12.451869,37.8186312,66.9852762,38.6029205,47.034284,25.220576,4.0441229,14.068633,11.9117792,40.4035887,12.4473313,1.5025315,1.5373794,21.2191694,15.8834969,45.8005639,11.8771866,37.321791,67.3845255,38.5869163,47.392335,25.3788162,3.5171099,13.9056253,11.6850675,40.5746453,12.7404624,1.6017729,1.5901784,20.8362755,15.6945352,46.7699294,12.207535,36.5898557,67.5009255,38.2059557,47.8521325,26.034594,3.5605086,13.5122036,12.1582215,40.5790441,12.5000767,1.7572565,1.7334267,21.3485283,16.230897,46.2105534,12.98434,37.6024148,69.3849533,39.0516219,48.9374508,26.2673271,3.4936918,13.8392843,12.1648647,40.7500459 +687,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6687441,1.7031248,28.3396765,20.725878,44.2566179,13.6148705,34.7869729,67.8685339,32.1853302,54.2649007,33.65899,5.6365458,13.4244819,13.0101841,36.0865866,13.2822933,1.5625363,1.5966159,28.3003611,20.6354492,44.2431979,13.9271938,34.2903957,67.1600447,32.0956077,54.4459503,33.5651522,5.7538417,13.6004306,12.6794596,35.8533436,12.1503786,1.7707016,1.8042574,28.1807062,21.0817551,43.8929883,15.1647963,34.6292916,65.8879256,32.2651276,54.02147,33.7839969,6.2563952,13.3946439,12.6117727,36.4318839,12.8637597,1.9028561,1.9059442,27.7099654,20.5644997,43.8946246,14.6583199,36.5365661,66.7624014,34.1505256,53.7279325,32.7081307,6.314288,13.9969518,12.939847,35.4420523,12.6964831,1.9241948,1.9241948,27.1423873,20.302527,44.5286851,13.966984,38.4989965,67.3170948,34.8075566,53.6478921,32.2068579,6.4656664,12.7182328,12.0805912,34.6243636 +688,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8214005,0.8617842,12.9457711,9.1984608,53.764245,10.0257493,29.4529067,71.7754793,40.4060462,44.6599123,24.3573675,5.3173318,9.8317204,8.4083028,36.9160983,5.7855532,0.8004605,0.8288345,12.7443159,8.9147716,53.2034196,10.4340471,28.1941058,71.5538018,39.8934294,46.2071681,25.3065168,5.2652662,10.1140594,8.6748927,36.4734811,5.7650767,0.817335,0.8521076,13.020717,9.0312979,53.2579304,10.895816,27.3848044,70.6627277,39.2558271,47.0545583,25.543903,5.2716711,10.025033,8.7585389,36.1831471,5.848252,0.7882551,0.8099993,13.0152654,8.7949832,52.9965455,11.3194191,26.4514356,69.8068449,38.8355387,47.6103726,25.435982,5.1710803,10.2341821,8.6863416,36.9852114,5.4425138,0.6935588,0.7300369,13.0413694,8.8073695,52.9661026,11.4281091,26.4493964,69.4671942,38.3393365,47.9146169,25.706954,5.1261051,10.1376864,8.7647152,37.0067265 +689,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.8521971,0.90733,13.9759474,9.6392141,63.1761604,18.2417965,33.4597292,66.0707834,33.7847673,41.657639,21.433735,8.8299037,12.010348,8.7518522,37.5931251,6.1422454,0.8308208,0.8857901,14.0137811,9.5177674,62.563445,18.8099412,32.9316509,66.0251796,33.3992842,43.2553964,23.1834561,8.8309355,11.8235726,8.5619028,37.4437631,5.4721077,0.82256,0.8891193,14.2477835,9.575215,62.5088385,19.8784715,32.0512791,65.8061172,32.8591544,44.8366731,24.2536043,8.9041137,11.3718477,8.339355,37.3903435,5.8282268,0.8830538,0.9536708,14.4975502,9.9616095,62.4300668,20.0239795,30.3782049,65.5968143,31.9049265,46.2005571,24.3060372,8.6571861,11.2331727,8.4102236,37.6255399,5.4890263,0.9395557,0.9802697,14.7038585,10.1506211,62.4355895,20.5279074,29.9557139,64.4243894,31.4543623,46.2023145,24.0633511,8.5660798,11.3448323,8.3333368,37.0979107 +690,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5329587,1.5045278,26.4413675,21.0148969,64.0744105,13.099153,33.4545308,65.9965524,35.899487,45.4382181,22.2628751,5.6636892,12.0978747,10.6304598,36.8581611,14.3554744,1.4628088,1.4529108,25.5345194,20.4379388,64.8243961,12.4438387,34.1400886,65.863066,36.1161586,44.5144103,22.4954362,5.5919252,11.9512342,10.8362496,37.105877,14.3299028,1.6100892,1.5624372,25.5290892,20.6664042,64.6351914,11.9598579,34.90909,66.3865982,37.3525542,45.0422543,23.6261014,5.6224748,11.7921211,10.8602203,36.6354745,14.8565665,1.4985149,1.4506536,24.822855,20.2029952,64.9752842,10.8395182,34.9643652,67.2196221,37.8007963,45.946416,24.1641694,5.4353951,11.5723795,10.1913218,36.4475911,13.3684295,1.4649984,1.4173299,24.4154416,19.9181341,65.343776,10.1624405,35.585653,67.2623497,38.325562,46.0003958,24.6303483,6.2513748,12.1783354,10.3539445,36.4214686 +691,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.8752076,0.8592088,15.4048565,11.1395744,65.8656668,15.583663,33.1952018,70.2456785,34.1968639,45.8475139,22.2173731,4.0980224,10.7891858,9.2774314,32.8379129,6.7972766,0.9381285,0.9261796,15.5984327,11.368853,65.2141856,15.9112228,31.9099666,69.8030196,33.6253303,47.9391167,23.2230792,4.0986048,11.2769699,9.2223439,32.7817577,8.0836869,1.0029089,0.9992714,15.9733595,11.9358236,65.1131797,16.8804802,30.4103227,69.5741203,33.0729043,49.2093579,23.538195,4.2586423,10.909486,8.8621842,32.9061635,8.5400778,0.9801608,0.952788,16.5347509,12.3097277,64.7308187,16.8900637,29.1190785,69.0922394,32.9882655,50.1193305,24.1914664,3.8621155,11.5776973,9.8959194,33.2413904,9.1783367,1.0259826,0.9818381,16.9353846,12.5024798,64.4790624,17.4045699,28.7372467,68.3967826,32.0609323,50.5232103,24.2727631,3.8664383,11.7063869,10.0905804,32.7913249 +692,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9253723,1.9920986,30.9292285,26.489524,51.8646888,8.4936266,33.039646,64.5270062,31.3785683,44.5943271,21.4410033,3.067164,12.8245742,11.2327848,34.0357926,20.4653544,1.9583522,2.0098892,31.3348234,27.1568815,52.5593469,8.0367035,33.2531831,64.5859003,31.1506866,44.1452574,21.4702289,2.898227,13.5570435,11.532819,34.6479172,21.1355022,1.9478721,1.9863382,31.5817171,27.3547798,52.4753209,7.8953334,33.3262315,65.0201312,31.0488923,44.002156,21.3010787,2.7052452,13.9530809,11.7672417,34.7766535,21.3403008,1.9392394,1.9591931,31.815619,27.5932419,52.745696,8.0944949,33.1723733,65.3430239,30.6932747,43.7229639,21.4254837,2.6160287,14.0683909,11.7570443,34.2844573,22.1334555,1.9217393,1.9395621,32.5351198,28.1313487,53.5671908,8.2024957,32.7941529,65.9469209,30.7890168,43.6110213,21.0406635,2.7590729,14.250037,11.9970408,33.9995889 +693,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4070107,1.4707455,18.1318564,13.3552202,80.6284692,12.8567106,32.5421967,65.9435861,37.0202403,41.8059531,22.7644376,4.4105489,12.0382434,9.8684147,38.5960993,11.4175836,1.0946652,1.1584922,19.0533714,13.4767864,80.1825388,13.006568,33.2478321,64.9512767,37.8017899,41.2387209,23.2294804,4.5755026,11.2311457,10.4097244,37.2134417,11.3973019,0.8783243,0.9424666,18.4030673,12.8709821,79.4820456,13.2530112,34.0205794,65.7785673,37.7925199,40.6192086,23.7799971,4.7743597,11.1559712,10.3276793,36.6104094,11.1513118,1.0722805,1.0955714,18.5715302,12.8431895,79.2495605,12.1889886,33.0908477,65.7899942,36.4953789,40.8515969,23.0644215,4.7047633,12.0938744,11.6021045,36.9742687,11.3141081,1.0802197,1.1036069,17.9659844,12.5921211,79.7551736,12.2540324,31.1236627,65.6312861,36.5724368,40.3163841,23.595287,5.2904569,11.4075157,11.2601711,36.7374531 +694,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0715793,1.1003032,18.0160399,13.9174736,85.1126927,11.2690784,32.241084,66.5348981,32.7000668,45.1426844,19.2121091,6.3105113,13.9600668,12.3143473,32.7931739,9.3926787,1.0340058,1.0710291,17.8516621,13.7525012,85.4461971,11.5931838,32.5037394,66.258386,32.8131817,45.9643632,19.1206768,6.7431201,14.7965103,12.5977877,32.6953574,8.9214701,0.935468,0.9721809,17.7897119,13.8671859,85.3161942,11.6808792,32.5362894,66.64536,32.3317932,46.2669297,19.1127898,6.3282842,14.8080993,12.8371235,32.9249601,7.3292112,0.884969,0.9216732,17.4540977,13.4832764,86.3294734,11.6093657,32.1253286,67.2343214,31.7925606,46.2100128,18.8348725,5.9283064,14.4455626,12.3826273,32.399237,6.9357337,0.9200334,0.9760751,17.3592968,13.1776022,86.2705483,11.3205209,31.9139539,67.6641558,31.9140699,46.8099608,18.8110268,5.9188312,14.5084592,12.2616314,32.1696048 +695,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.349847,2.3105497,28.7776248,23.2671508,40.7172694,15.8684547,37.9899812,66.6042176,35.25031,49.6803435,25.9998614,3.6922345,11.3631259,10.6515316,34.3914928,26.8087569,2.2334538,2.253338,29.4898858,23.2693525,40.2399006,16.7696543,37.1400508,66.9790399,35.7609571,52.9475891,27.8546735,3.7542005,10.8413031,10.2314956,33.3509611,24.5587855,2.1884896,2.208366,28.328013,22.2634165,39.3769264,17.4576579,36.1504347,66.7498623,36.1464112,54.8321124,29.5889504,3.5720682,11.1425589,11.038967,32.8188371,23.1446649,2.1117085,2.1814906,26.8606441,21.112916,39.058352,17.6156524,35.7705595,66.1177676,37.7145025,55.6672609,30.7088281,3.8185048,10.9869308,10.8937696,32.4543323,22.9588925,2.2376659,2.3284026,26.6266628,20.9785039,39.1817831,17.5908303,35.6319289,65.9816971,37.6336637,55.3455603,31.6193488,3.4607332,10.6769948,10.7900909,31.5592904 +696,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9623296,0.974595,14.0012568,10.2069793,77.7336358,6.6759465,29.7588378,65.3908376,32.8794261,40.0701859,19.3206541,6.5164968,11.348914,9.7663459,37.0070412,6.525413,0.8953163,0.9037904,13.8441199,10.1938957,77.6652511,6.6726541,29.6389064,65.5119266,32.7575688,39.9374041,19.1869976,6.3698529,11.6105393,9.7814334,37.2672793,6.2894783,0.9629239,0.9857817,13.9759196,10.29549,77.6590701,6.8252759,29.7589464,65.4101776,32.5292817,39.9748732,19.3186586,6.4452406,11.643982,9.5309104,36.7311033,6.1347824,0.9188485,0.9428912,13.783676,10.1702083,77.4099208,6.6225744,29.793388,65.8269563,32.4644777,40.1224025,19.2568823,6.3263734,11.3887054,9.4996256,36.4499165,6.5493255,0.9144793,0.946324,13.6165213,10.0609134,77.5829751,6.7235884,29.4512464,66.537561,32.6257991,40.1600785,19.3282727,6.3611797,11.368328,9.5591972,36.353021 +697,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6739579,1.7538274,24.4797519,19.356006,57.7316974,11.1933822,26.064068,66.4376916,34.090681,46.6288813,23.9309311,4.6698611,12.0723164,10.487696,35.8822112,19.9320114,1.8850534,1.9465612,24.0925141,18.6228682,57.2424711,11.3292502,25.3311617,66.6672515,33.7023518,46.3157894,23.8992844,4.6685546,11.9441145,10.7543223,36.7990135,21.5364482,1.8810629,1.9263061,24.6555428,19.2800234,57.1191568,11.32739,26.4886286,66.5747485,32.9430651,46.2484629,23.5685591,4.5214706,11.4783282,10.4529496,36.5371397,21.1045636,1.8705475,1.9158073,24.0501624,18.6301979,56.6678679,11.6348592,27.2717955,66.5079944,33.3663436,44.7715628,22.7308657,4.2624204,11.3520865,10.5669278,36.4414579,19.7391456,1.8444185,1.8797601,24.1879606,18.7410047,56.8054791,11.3922613,28.4011747,66.280073,33.2696016,43.4548141,22.2563943,4.3939755,11.23593,10.3978513,36.3575718 +698,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0065064,2.0165324,26.1443561,20.1841624,54.7683906,17.9782287,35.0223809,63.9715266,31.0409257,43.947463,24.1721247,3.0406515,16.2023103,14.5445164,38.587549,14.7248963,2.2019531,2.1851096,26.7444902,20.4040652,54.3683947,17.2504966,34.7730218,64.6530059,30.7989349,42.9860661,23.2482502,3.2013105,16.2476366,14.2790419,39.0916815,16.0193683,2.2227707,2.1952244,26.8496402,20.6988381,55.0534712,16.8578819,34.527624,65.0648921,30.6333384,42.8142433,22.7995529,3.3282242,16.1658535,13.3088004,40.5356719,16.1129289,2.1488883,2.1244899,26.9135107,20.7507347,54.6090154,16.3493721,33.8689207,64.974744,31.333752,41.8747017,22.660837,3.0911114,15.2924524,12.9563376,39.7586407,15.6040216,2.0966648,2.0722663,27.199215,20.9440103,54.8241513,15.7002649,33.9420155,64.4734743,31.144776,41.7114217,22.6648263,3.0856285,14.4454742,13.4177708,40.6717362 +699,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9685301,1.9968611,32.8725446,28.0368756,54.2516498,8.5483005,32.551031,65.8349635,30.2414234,44.1887046,21.2392411,2.7909354,14.0661951,11.8059471,33.9803315,24.3408775,1.8985754,1.9262444,33.1492734,28.5151335,54.0792124,8.6738955,31.3694732,64.8204499,29.5161249,46.0798047,22.0138027,2.7875798,13.9329212,11.5384397,33.4491951,24.0018771,1.8727647,1.872766,33.4729694,28.6170971,54.3292057,8.8797509,29.9459342,64.1012195,29.2896501,47.8043463,22.8261686,2.9106989,13.88804,11.3026659,33.5362321,23.6468559,1.7319702,1.7496803,33.2051053,28.2247035,54.4534343,9.3179289,29.0171415,63.43612,28.3287438,48.4291218,22.7045298,2.977035,13.6975973,11.0345625,33.2990364,22.8062673,1.7484579,1.7725687,32.7770225,28.0124933,55.0540857,9.695707,29.1026045,62.7772768,27.7376823,49.1255655,22.6465569,3.1640969,13.4703528,11.0295956,33.6088806 +700,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6363602,1.6055781,24.8493974,20.2153652,65.8932895,9.5238957,35.2677536,67.4283311,37.9638491,45.7603546,24.7751454,6.1974704,12.2339232,10.7802248,36.2471126,13.6076035,1.5545823,1.5641515,24.0674565,19.7688747,65.3546298,9.1760887,36.0704869,68.1891603,38.5978323,46.5364592,25.6045003,6.0800222,12.6007172,10.7249817,35.3487627,12.8008837,1.4136513,1.4231055,23.3295009,19.2154489,65.5615591,8.9826317,36.2026713,67.8060451,38.2438757,46.4034104,25.4650285,5.780431,12.3829387,10.6008144,34.0209721,11.5991069,1.3680364,1.3663681,23.1697444,18.9120895,66.1048356,9.0723538,36.2931984,68.6574071,39.2724682,47.0936005,25.779907,6.0101806,12.9553271,11.0517543,34.1566878,10.5321625,1.3209129,1.3440309,22.6872025,18.3407981,66.2890701,8.8432737,36.1650023,68.6229883,38.5783364,46.949222,25.8419987,5.9064755,13.4631991,11.3671107,34.3380996 +701,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9246037,1.8999414,27.2378662,20.9907826,54.9475713,15.4601723,33.5935995,64.4507901,31.2658235,42.3526097,23.298247,3.0661672,14.4764024,14.278193,41.9535469,15.1042171,1.6819874,1.6564585,27.4625747,21.4855348,55.1500833,15.1938295,32.6636243,64.6381823,31.7475362,42.3708809,22.9092738,3.0468666,14.6085052,14.3907661,42.885303,13.8112431,1.6897231,1.7359796,28.4280615,22.2590293,55.0656133,15.6126255,32.8613556,64.5589109,32.0209701,42.5829081,23.5813976,3.1584871,13.9781214,13.6614976,41.5083353,12.6198524,1.7296814,1.7178858,28.9408397,23.0913263,56.0076386,15.9595687,32.9225778,64.8184137,33.1312031,42.4511049,23.8444921,3.1248062,15.2845851,14.6880802,41.7402894,13.2811838,1.7389139,1.7527948,28.906992,22.9630354,55.3079441,15.5522609,32.5872934,65.0844141,33.7032625,42.6274187,24.5246192,3.2799663,14.8371128,15.7702682,40.6587397 +702,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1937415,1.2774788,19.6487119,14.9648712,72.1126083,20.4545455,33.483626,65.899383,30.4461319,43.3080209,21.6658757,5.0071191,11.8485742,8.497053,35.326087,10.1769912,1.5138268,1.5698619,20.939759,15.6385542,73.325,19.5673311,34.1949778,66.6420483,29.7636632,42.2698178,20.7533235,4.8005908,11.5934627,9.2252803,35.303186,10.7988166,1.6564083,1.6885331,21.0769981,16.2524366,74.3195565,19.2667323,34.8854582,67.2061753,30.3037849,42.4551793,21.1404382,4.8057769,11.8239661,10.2116402,36.2326574,11.1594203,1.7317026,1.7634055,21.7862301,16.8271545,73.7929318,18.6040856,34.9975406,67.2651254,30.4722086,43.4579439,21.4707329,4.7958682,11.8998979,10.0510204,35.5087359,11.7231638,1.7701318,1.7949959,21.9542516,16.7826952,73.470948,17.6661669,35.1617796,67.0626896,30.4095046,43.6046512,21.7644085,5.2325581,12.6321353,9.8732841,35.1595745 +703,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.9590611,1.0307569,14.7750416,10.4123946,62.7823414,20.5518391,30.0304807,64.0752078,31.0467515,46.7987808,24.6443096,8.5535268,11.8521127,8.6159205,37.5000088,4.6627021,0.9506226,1.0060243,14.8453168,10.3395984,63.2904979,20.5386678,29.158279,62.9946418,29.8625147,45.9926223,24.4634513,8.4339406,10.8191156,8.2421363,37.1023547,4.5719871,1.0699193,1.1167188,15.1359344,10.5271793,63.6439268,20.7819614,28.4795552,63.6378694,30.1286356,45.7618768,24.9835117,8.3938025,10.2744331,8.4728751,37.4915559,4.8757198,1.0974412,1.1363867,15.4644193,11.1824678,64.0006631,19.9069663,29.4607861,63.9705937,30.8660219,44.3300697,24.1339899,8.6437942,10.173445,8.8392285,37.9368382,4.4339648,1.0927661,1.1653834,15.8569005,11.5973316,65.0833372,19.5173351,30.4125434,64.0429033,30.6105666,42.8547892,23.7788774,8.5643598,10.2931347,8.6218404,37.918346 +704,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5701135,1.6562851,19.7792223,15.6894548,68.7614728,20.5692651,34.6418401,65.8646716,30.1917364,44.9167566,21.1107043,7.7605017,15.5563885,11.3836259,35.6775011,9.815428,1.5668681,1.6620096,20.1341063,16.0021638,68.6990526,20.1190796,35.2500956,66.4658393,30.576825,44.9251324,20.682712,8.0138846,15.8608309,11.4003216,35.3353461,10.5752872,1.7646931,1.8432653,20.3751123,16.2964227,69.3979831,19.5762302,36.2820597,67.124511,30.7508946,44.5237708,20.7875375,8.5897326,15.8840676,11.2049881,35.8093231,10.7201222,1.5729752,1.6213329,20.8865506,16.5815246,68.6708699,19.5100009,36.4120772,67.9213898,30.7565228,43.9772134,20.4737267,8.5750868,15.7206753,11.4981187,36.8123686,10.8837881,1.634046,1.6598147,21.3918486,16.9481909,69.0476021,19.3896428,35.5190581,67.5470986,30.7536061,43.4244383,20.5208562,8.2194174,15.0367536,11.4675432,36.8050506 +705,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7297519,1.7177965,21.7242326,16.5144555,45.2550159,13.9369776,37.7460373,70.3182655,39.3588521,50.8569574,27.3925086,3.3557871,13.4500113,11.8618731,39.9697823,11.1905185,1.6416282,1.6295399,21.5445294,15.9352902,44.556985,13.7935982,36.6603416,69.3143376,38.0753527,51.70179,27.6458925,3.3279953,14.5791598,12.7883664,41.0191868,14.0553456,1.7949418,1.8009367,21.5874156,15.651499,43.7282751,13.9441216,36.0768801,69.4294908,37.7910851,53.0633557,29.3237868,3.4024991,14.2642557,12.7755424,42.5050445,14.3805437,1.8432098,1.8491224,22.0354017,16.2826786,44.2018909,14.9260751,35.4969305,69.1230926,37.9095777,53.3095417,30.4662465,3.4649942,14.2786013,12.8115592,42.9789297,15.9192968,2.134157,2.1398286,22.8167003,16.6266754,43.7468219,15.7344439,34.687372,67.0851899,36.4106674,52.0679585,29.2712913,3.4711995,13.6363541,12.4999904,42.5747059 +706,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3193029,1.3432082,18.5160123,12.9198641,79.7532935,12.430409,31.6314351,67.5286348,37.7174794,40.8076361,23.9382334,5.575756,11.0789202,11.2409271,36.5003943,10.6619921,1.3168046,1.3403864,18.3041685,12.4659827,79.810524,13.9350285,30.2478861,66.1255237,37.5845882,40.7472552,24.9475457,5.622353,10.3916608,11.4930214,35.830358,10.689869,1.5693735,1.5282186,18.9652967,13.0189329,80.1083497,14.007379,29.7873476,67.8596538,38.2844387,42.9887993,25.8085635,5.7412316,10.0716375,10.7975213,38.3493909,9.375,1.7248646,1.6841793,18.6397038,12.8565021,79.9086653,14.2110088,28.3291598,69.0722009,37.2795975,44.7154076,25.3768326,5.5055008,10.2852613,10.8218836,37.3364802,8.9285714,1.6042079,1.5638738,19.1186622,13.5808428,79.2749237,14.3527174,27.74539,69.1766924,38.3658762,47.2240189,25.8000396,5.8863091,10.4977319,11.7327592,37.241253 +707,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2173552,1.2525603,18.4792807,14.3540259,78.0235797,16.1269028,36.0538277,67.2107571,35.0229078,47.4131183,23.9881513,6.4051128,12.1937059,9.5247333,34.5294139,10.7908641,1.0668729,1.0843705,17.6101659,13.7237872,77.9832494,16.4238317,35.3680016,66.7704898,34.9515866,49.9812551,25.8847954,6.1801714,12.3693492,9.5542641,34.4457451,10.4605063,1.1480496,1.1540747,17.82617,13.9425162,78.0408942,16.3494277,33.6144709,66.8116679,34.5046841,51.2891275,26.4742951,6.2592466,12.4670021,10.3285513,34.7966435,10.9937723,1.1481633,1.1540864,18.1266187,14.2352356,78.0320658,16.8073368,31.9463336,66.7604724,34.0949174,52.358155,26.6295363,6.127069,12.6061332,10.9530867,35.4112303,10.6801764,1.182658,1.1884345,18.5377575,14.4359385,78.137993,16.8681459,31.48761,66.6456696,33.9582829,52.8352297,26.8484548,5.6789681,12.2061483,11.0166389,35.1001712 +708,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.406095,1.406095,19.1101196,14.1475829,79.0303175,14.6129243,28.4549922,68.9281752,37.9544808,47.2861809,26.4335934,6.0261602,9.3124189,10.5540747,36.9721887,6.640625,1.2468354,1.2468354,19.2023142,14.3899898,78.7590743,14.7162995,29.7746395,67.4984759,37.4211261,46.7948721,26.4296309,5.8014318,10.4264725,11.4578034,37.870141,6.554278,0.9410881,0.9410881,17.7929738,13.2294708,78.6828468,15.0784035,29.863634,66.5184312,36.8631789,46.5382023,25.8572234,5.7598749,10.4060993,12.6204133,40.2068943,7.3973095,1.0384994,1.0384994,17.3953555,12.9723159,78.8083778,14.6590167,31.014919,66.4329892,37.4222633,46.1936844,24.9088858,6.0034927,10.2694248,11.8024128,40.2408752,6.0738798,0.8870529,0.9135011,17.2712727,12.813537,78.4923498,14.5063052,32.193332,65.5668939,36.6980939,44.7202385,24.195573,6.1673126,11.0929207,12.1148366,38.3289695 +709,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0729058,2.0729058,26.717743,22.4146178,46.289215,16.9141071,36.4000764,69.1452033,36.8416351,57.8546206,31.11463,3.2217675,11.6769502,10.4558425,35.8553829,27.9206578,1.9112136,2.0210427,27.4611368,22.5007421,46.5775681,17.0518241,35.2990708,67.0929825,35.6545802,56.2625436,30.064692,2.9749366,12.016279,9.9019017,34.0120725,23.2713576,2.3183321,2.4273945,27.7276758,22.6082904,46.9854272,17.1775083,35.758128,65.9240958,35.4036395,56.0150665,30.2044961,3.148604,11.8524739,10.0603792,33.962364,24.1022811,2.2589083,2.3803075,27.9470093,22.7265725,47.3755508,16.7980318,37.2812893,66.025054,34.9305081,53.9459199,29.0428018,3.1780962,12.6103427,10.6319464,32.7700955,25.988207,2.0037483,2.1230494,27.6209988,22.996843,48.6085204,17.2183005,38.8260162,65.8718927,34.6467167,51.6484326,28.1943964,3.1132597,12.9862236,10.317746,32.4744245 +710,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6074983,1.7411857,24.9845359,18.9648744,49.2642707,18.4373653,32.7686141,66.5193597,33.2456615,54.7675312,25.9080223,3.0708006,12.558423,10.4191017,38.7647025,16.1745282,1.7834693,1.9727544,25.0574747,18.6983018,48.5889746,18.0457059,33.5838139,64.9869111,33.4047366,54.0568281,25.8792588,3.0147688,11.8771809,9.8729745,40.1514919,17.582635,1.7547355,1.9975508,25.8686169,19.4956109,47.6426297,17.946375,34.1337678,65.2759107,35.0810697,53.8475015,27.4418207,3.345118,12.6152247,10.874562,40.6612834,17.7824984,1.959139,2.1168903,26.0649287,19.9938133,47.8662765,17.4247831,35.9161847,65.6405535,35.9162146,52.9596004,26.345257,3.3791298,13.1119028,11.3372003,40.1054192,18.0498375,2.1761941,2.335267,26.3461788,20.4918521,47.9963437,17.2129995,37.1130049,64.2765538,35.7216677,50.0604879,25.67968,3.3574035,12.5591021,11.6979225,39.5356381 +711,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6305258,1.6647202,21.5331189,17.4350275,69.3644814,18.8387603,35.8299804,66.7464052,31.1188905,43.7430898,20.6293587,8.1523619,15.0109459,10.936349,36.3603041,11.0305869,1.6648984,1.6995052,22.3353399,17.8571468,69.0143393,18.5777865,35.5204664,66.5985255,31.0223529,44.1449655,20.6877458,8.0483107,15.0852316,10.4228371,36.2789303,11.4173138,1.4879138,1.5052643,23.0070636,18.4834927,69.6721168,18.1802008,35.7731185,66.6230002,30.7937606,43.747639,21.0595667,8.0306791,14.9193384,11.0418074,34.9446846,10.5891635,1.3758884,1.3845213,23.3873988,19.0379461,70.5137705,17.6178789,35.9456234,67.3306134,31.6270034,44.2479426,21.3887074,8.1347472,14.3013152,11.3255761,35.693355,10.1097099,1.1125871,1.1607255,23.9862267,19.5329449,70.0633344,17.4347675,35.152506,68.0080691,31.3304298,44.2668122,21.1135726,7.7361037,13.7050424,11.4830925,34.7242713 +712,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9471242,0.9899433,13.7421481,10.0489668,77.5429099,7.1296831,29.0522325,67.0131415,32.719461,40.1957582,19.0968196,6.4457092,11.2191708,9.8107678,36.1760857,5.6575732,0.963231,1.0176744,13.7193425,10.0364145,76.7356623,7.4083384,27.6498597,66.3588084,32.3918483,42.2048003,20.2209961,6.5853702,11.2894176,10.1362437,36.2623752,5.6308866,0.9379862,0.9811306,13.6421747,9.8151191,76.4639224,7.7897263,26.4112867,66.2103408,32.0291479,43.6338757,20.9610174,6.5201574,11.376779,10.204535,36.9044059,5.4367201,0.9134585,0.9594847,13.5666164,9.5828033,76.4539191,8.3389916,25.5545529,66.0411207,31.8324089,44.7487821,21.3951228,6.61779,10.905082,10.0343699,36.8029965,4.7845551,0.8400058,0.875016,13.367953,9.3733238,76.189757,8.3679334,25.3712229,65.629574,31.5290895,45.4338966,21.7339724,6.6947595,10.8558629,10.06086,37.144494 +713,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.205917,1.2170697,19.0104308,14.5971414,77.5933348,17.0564131,31.8124643,65.9719677,33.5529744,52.5406099,26.7491946,5.7928748,12.4375446,11.0496216,35.3649658,11.192341,1.1933922,1.2164582,19.5370888,14.9947828,77.9247731,17.1997304,32.3472099,64.8765756,33.266712,52.1080907,26.8302265,5.8899851,12.1196014,10.8849534,35.607396,11.1412838,1.2735885,1.3076124,20.3041196,15.633259,78.348396,17.2084328,32.9603518,64.4993431,33.2126688,51.8841166,26.8544031,6.1311799,12.1072378,10.5811905,36.1149199,11.0821945,1.319809,1.3535911,21.3437838,16.3808799,78.7599265,16.6886694,33.6876526,64.6551729,33.168734,49.6401121,25.3347832,6.2186142,12.4703799,10.6876599,36.2815089,11.7435807,1.3695213,1.3863172,22.1406303,17.0242692,79.11854,16.2688571,35.0268778,64.5364443,33.1457843,47.8585815,24.6976768,6.0715488,12.1947023,9.8981229,36.2718169 +714,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.9788189,1.9788189,27.127653,20.475937,45.1156957,13.11589,39.7654349,67.0078191,34.6786857,51.7667205,31.7923819,6.3853626,11.732898,12.0772063,35.2738948,12.7155172,2.031218,2.031218,28.084366,21.821647,46.6656159,13.1787668,39.8330465,68.210829,34.0803733,51.4034148,31.8604773,6.5000172,13.4971083,12.8009938,35.8979222,13.6574074,2.1351559,2.1519153,27.7517648,21.6639081,46.5719421,12.3705982,39.1272968,67.4943785,33.9380294,51.1545205,32.1452108,6.6580101,12.3092259,11.9100902,34.5849067,14.8584906,2.0255539,2.1094123,28.4457771,22.341172,47.2584151,11.7546468,39.5642994,67.05745,33.5792162,49.8644235,31.7901602,6.2983525,12.9173161,11.5834917,35.0574937,15.258216,1.8096478,1.8935703,27.5313132,21.7322165,46.3734896,10.9617967,39.6322698,66.6233455,34.1573349,49.7889336,31.7136422,6.0828131,13.2268137,11.0197646,33.6028057 +715,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9523789,0.9660534,14.9629592,10.4179913,48.61868,13.5643988,36.3238879,71.1500787,37.3440897,49.0044951,25.9376245,4.1560901,10.9259217,9.062892,38.7920589,7.5980882,1.0543886,1.0680855,14.8951426,10.0579023,49.2294482,13.5339159,35.3858017,71.5233567,37.2668241,51.501187,27.9272482,4.1814605,10.3808307,8.4049142,36.7866279,7.8283333,1.2095199,1.2228604,15.2459979,10.2116627,49.7562551,14.3485916,33.2636992,69.9582309,35.888988,51.8794498,28.0131277,4.0274499,10.2853712,8.1354106,36.7506424,7.0048792,1.2775565,1.2905487,16.1066571,10.8587249,48.9809019,15.0155787,31.4726497,69.7415901,34.739511,52.1822108,27.7391232,3.9960714,10.4000727,8.2072186,37.68068,6.8720853,1.5348715,1.547857,17.196205,11.4361697,47.991112,16.1688798,31.8386437,69.2615014,34.7623126,53.4152653,28.9734832,4.414737,10.1742434,8.1843148,37.8920689 +716,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4015987,1.4261199,22.3877048,17.3194095,79.0122336,15.934705,36.2208099,64.400941,33.498575,46.6392203,24.5252899,6.2258444,12.320072,9.9245732,36.2301256,12.5891819,1.4226162,1.4474216,22.7212502,17.8233538,79.6130659,15.5721226,36.2485178,64.3124239,33.4608227,45.8864508,24.4518103,6.4677885,12.0629941,9.8545203,36.3207525,12.8983938,1.4885799,1.5232446,22.7825537,17.9611083,80.1212106,15.2825855,36.4982569,64.6702598,33.7369543,45.7985731,24.5043916,6.4966725,12.3351813,9.739584,35.731793,13.323488,1.6303267,1.659824,23.2363384,18.5114226,80.1245036,14.9607705,36.3811882,64.4304803,33.725133,45.5504995,24.6234868,6.3356219,12.2779419,9.9025378,35.598882,13.7168142,1.6342884,1.6570829,23.5742821,18.8413462,79.7811639,14.4188961,36.4601168,64.7110588,33.7153604,45.3805844,24.9120388,6.2342867,12.6777541,10.2666191,35.9587877 +717,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.179705,2.208283,23.8383267,17.4491633,42.8972823,15.9068613,34.7815455,66.4101388,35.7746099,51.9116402,29.1708006,3.4508472,14.1499814,12.0620432,43.6116442,16.1764978,1.8761845,1.904542,23.7626079,17.1311779,43.6331324,15.4871525,34.6342644,65.267547,34.6342889,52.30732,29.5287059,3.3136958,14.3643558,11.7735465,42.8212693,16.5948634,2.1160806,2.1391753,24.0527496,17.338119,43.9646369,15.4681527,35.0538017,64.2123227,34.0264375,51.0518529,29.1829585,3.0577285,14.2219849,12.1407343,43.1479432,18.5416976,2.0812659,2.0593548,24.4680798,17.9432591,44.3978216,15.328298,36.2655708,64.5014388,35.3547691,49.8801461,27.9721908,3.0441072,14.4466169,12.1701011,43.5230499,17.6087263,1.9138462,1.8745586,24.8678531,18.4767029,44.6149809,15.0721232,37.7013003,64.2020549,35.6027521,48.2918403,26.8667629,3.2942939,15.3500007,12.7245698,42.1765091 +718,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.0835296,1.1288605,15.9166614,11.7166635,65.2398419,19.4012982,31.999343,64.3445325,31.8017177,41.7819486,23.9624527,8.7450625,10.387439,8.4999967,37.1054414,5.2875725,1.0513126,1.1053083,16.5414789,12.3420958,65.1443131,18.5643619,32.7794627,65.407858,32.2423662,41.9100395,24.5552239,8.6774111,10.2697062,8.8743056,37.0048634,5.6481513,1.0643889,1.1083302,16.9185825,12.5214703,65.4449354,18.6629126,32.6072315,64.5896706,32.4045972,40.4424216,24.4343176,8.7639341,9.5942206,8.0755984,36.2343935,5.6756787,0.9994715,1.0799743,17.9757766,13.4429068,65.3463599,17.9559913,33.9049272,65.6876092,33.3955892,40.8998359,24.6010228,8.6417683,10.3152825,8.3846652,36.6620564,6.5740777,0.9423649,1.0232711,17.7151721,13.4289656,65.0807218,17.2454171,34.3930584,64.5868766,32.6589638,40.4114255,23.7164301,8.279497,11.4612145,8.8865841,37.6310239 +719,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.307593,1.3542429,24.0597475,19.8418317,70.3469489,16.9542746,34.6469,67.4215328,31.4372432,44.2760307,21.2018729,7.6141037,14.1522544,11.7993181,34.9721026,9.8297138,1.4098523,1.4576182,24.8113372,20.3557266,70.6851925,17.002563,34.5914991,67.0495978,31.8198437,44.6936597,21.3530415,7.7133268,14.3525178,11.6187118,35.0616224,10.0474684,1.3864348,1.4298115,25.9760697,21.1572317,70.3683085,16.8378388,34.248245,67.5816382,31.8801683,43.9002787,21.6900307,7.4811397,14.4230714,11.431627,34.6623286,10.4739901,1.5050357,1.5680952,25.7380153,21.2588969,71.3108711,17.3194891,34.2713546,68.0075759,31.267236,43.6291688,21.3225277,7.54487,14.0859486,11.6382316,34.5147482,9.9550675,1.5470846,1.6246642,25.5153078,20.9940266,71.3032672,17.2638912,33.8939561,68.0767834,30.5300327,43.9177854,20.6761656,7.7981466,14.2126694,11.0921844,35.1545992 +720,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.2905182,1.2624461,17.3432946,12.6949159,64.3608746,18.0612269,29.6253551,67.2887333,31.9992182,50.3701558,24.1668661,4.0259761,11.6108423,9.9639813,33.1250567,8.9928634,1.3679867,1.3437252,17.9959881,13.1503648,64.4985482,18.2955014,29.9319475,66.2918124,31.8052996,50.2126721,24.454399,4.2680168,11.4508964,10.1655849,33.6774406,9.1989877,1.4607001,1.4237103,18.229444,13.379346,63.926246,18.031507,30.1845515,65.8134324,31.1416693,49.0434217,24.1589157,4.2378133,11.652773,9.7523879,33.2839782,9.9920239,1.3586628,1.3180311,18.1902666,13.2153177,64.1336115,18.1610578,31.0865971,65.8662002,31.0544211,46.9718523,22.9232545,4.3708799,11.4228121,9.5992401,33.2354295,8.7842419,1.358855,1.3180798,18.6845526,13.3625579,64.0438839,18.1505685,32.634902,65.8091759,31.715614,46.413674,23.2644133,4.5783552,11.6340726,9.6409415,32.892436 +721,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9624132,1.9586818,28.3532354,22.6024191,56.0431242,15.7035493,32.3593493,65.3602804,33.1080172,42.8601531,25.003567,3.6440455,15.230849,15.6755827,41.2100158,14.0172317,1.9213414,1.9240793,27.4539799,22.0261429,54.6153289,16.1815343,32.8429904,66.2409891,33.8941859,44.1273683,26.2100869,3.7416112,15.3196477,15.3869648,41.3954057,14.4774866,2.1531673,2.1558401,27.1467812,22.2298304,54.3696022,16.0888434,33.6551471,66.9362561,34.1906498,44.1885539,26.0089074,3.6989287,16.5038117,14.6221448,41.793504,15.1196066,2.2249683,2.2061335,26.2417708,21.6362897,53.8029784,16.8858331,34.1013043,66.7573033,34.5038271,44.1412544,25.5379139,3.7591412,16.0395297,14.0147322,40.1412733,15.4177119,2.1593939,2.1268111,25.7091614,21.2103908,53.4092857,17.5406338,34.7844812,67.4024642,34.7214477,44.7813039,25.4443149,3.7372505,16.1184608,14.5701392,41.2291097 +722,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6140418,1.6911646,17.360328,11.0634347,53.5080968,17.9181646,38.8188293,71.4017076,35.63348,46.3673439,27.7652871,3.639391,13.1350375,11.6283199,42.1478244,13.0951105,1.3620948,1.4735402,16.8162292,11.1225638,54.6176453,17.089342,37.2188868,71.3603178,34.7264375,45.8899489,27.1035766,3.6432294,13.9486013,11.6867674,42.3881521,11.563612,1.3284161,1.3930286,16.3243795,11.0253325,55.2480761,17.9710351,36.6179592,71.5039583,35.4727147,45.798883,27.8388354,3.9750377,12.1211875,10.3290697,41.5228243,10.6582065,1.1298925,1.1974172,16.5057443,11.5742957,55.424617,17.7078062,36.0903497,72.459431,35.8924156,45.8286724,26.9417357,3.6414176,11.0618389,10.0031634,40.089166,10.5430888,1.0052196,1.1528307,16.8063536,11.7147815,54.7076255,18.1665226,35.7503653,73.2609236,35.9633628,44.8653752,26.2931177,3.5912151,11.2313095,9.3023478,39.7455459 +723,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7390032,1.9141194,18.7262628,13.5740678,50.8888041,14.7623516,36.0796592,66.4211788,35.4810248,45.8577049,24.0727944,3.3613596,13.6900959,12.3481725,41.0834376,12.7586721,1.6666632,1.9017434,18.2686154,13.2589427,50.4151518,15.0490931,36.9743204,65.8456257,35.605634,46.1601751,23.2421053,3.0736198,13.5607188,11.5064596,40.9730521,11.7449547,1.6197433,1.8624302,18.7830187,13.4262528,50.1031452,15.4970812,37.1706004,65.3174043,35.8978654,46.0999623,22.9675089,3.1790156,13.5583272,11.5496984,41.2062625,12.5899723,1.506697,1.8243788,18.8149833,13.5708802,50.4821474,15.2379614,36.4789898,65.7908992,36.1243234,45.5377107,23.6041926,3.498278,13.8767453,11.6740997,40.9095333,11.9230621,1.3321579,1.6537188,18.5754054,13.0438665,51.0816885,15.8875537,35.9867518,67.2000041,36.0046638,46.2493562,24.4897312,3.5289199,13.5327276,10.4268966,41.7702988 +724,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0538792,2.0494411,25.7396969,20.821721,52.5666248,17.7479625,34.4021162,67.4350183,34.2956982,45.5578013,25.455807,3.561749,15.6508127,14.4093224,40.6084818,17.9600443,1.9630297,1.958637,26.2062928,21.2369226,53.1373758,18.4196078,34.7267605,67.3354451,33.552286,46.1706503,24.9444102,3.7626945,15.8051435,13.6918568,40.7996127,18.1951083,1.8838216,1.8795436,26.8410419,21.5030516,53.0544278,18.9153768,34.6597162,68.6863712,33.8911297,46.5234544,24.1567325,3.7455711,16.3020307,13.9751909,41.3611348,16.6037875,2.1067992,2.1353812,28.1046176,22.7283052,54.0123246,19.3599064,34.0532686,68.4895107,33.6236053,46.0462616,23.9521317,3.6347174,17.2660003,14.6585847,42.0102447,15.6583483,2.1761594,2.2050687,29.0275218,22.9883785,54.0506196,19.432912,33.0026717,68.7991037,33.2007749,46.3700427,23.5347168,3.3848028,16.472162,14.8078545,40.9300663 +725,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0372997,2.0579391,24.0845,18.6639335,57.1056997,11.5364971,29.1061306,66.3721736,32.6568061,43.021783,21.6745918,4.0554582,11.1632294,10.7199919,35.7914752,19.1705291,1.9401058,1.8991776,23.9988596,18.6778503,57.2435643,10.8556939,29.3646742,66.3569119,33.3693566,42.3860751,21.3251231,4.1103366,11.460468,10.8744431,35.5759787,19.194663,1.9615334,1.9204355,24.2211696,19.2900801,57.3023704,10.0647082,29.1288432,66.2323647,34.0388179,42.6544099,21.4587444,4.2659607,10.297316,10.0442502,35.5759787,17.9726773,1.8624153,1.8529505,25.3576354,20.273774,57.8722614,9.8036025,29.3224051,66.013086,34.6406727,42.9570336,22.0203374,4.3714547,10.4157235,9.7550436,34.1388216,16.2181701,1.7941903,1.8112314,24.8428891,19.736251,58.7456297,9.487828,29.2570694,65.9867805,34.7098977,42.2066574,21.5848325,4.2212688,10.0634758,9.3233705,33.6983556 +726,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8590208,1.0111231,15.8954336,11.5807453,54.8136075,18.4410267,34.8406415,72.6754831,35.3329166,45.5090749,26.5076214,2.9914497,10.7579201,8.9837277,40.8353065,13.2427385,0.8637621,1.0396606,15.425108,11.2578326,54.5378058,18.3631253,33.3775008,71.5879322,34.8576511,48.5702263,28.9268977,3.4045687,11.4238926,9.8606742,41.6006469,12.5967544,0.7843802,0.9501792,15.9460827,11.5827086,54.0902581,18.7274689,32.6478629,71.771466,35.8413539,50.924784,30.4783363,3.1699562,11.1059964,10.9166255,43.072329,10.6257362,0.621456,0.7469481,16.0767615,11.3840931,52.0415371,18.9291945,32.5686806,71.4682574,36.6721282,52.9148452,31.6622094,3.1724658,11.3165648,11.1580025,42.6473925,9.3491754,0.918803,0.9445646,16.6414903,11.7186418,51.5028039,18.7537895,31.5219314,70.4245654,36.2372911,53.65178,32.1201642,2.8327078,12.6011588,11.0655523,42.802715 +727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.0600664,1.1196449,25.2693727,20.1216926,84.1681001,11.8315832,30.8101142,63.6767954,32.9134353,37.9167197,17.6199427,2.5899897,14.330104,12.7097616,42.5786187,14.9719266,1.1415898,1.2014338,25.4517092,20.547496,85.5970547,12.3233979,31.202309,64.3338014,31.7708331,38.4159828,17.6246612,2.9744892,14.3296509,12.0625077,41.9521293,16.5886369,1.5009354,1.5009354,26.1534665,20.5947495,85.4249545,12.231545,31.1816034,64.1337197,31.3047999,38.5413412,17.5900833,3.2957683,14.5139391,12.0162141,41.5313246,14.1880133,1.6171299,1.6171299,26.162189,20.8056108,86.4880441,11.4586896,29.6672105,64.1164323,30.0003049,37.7017209,16.7900574,2.9152966,14.4268176,12.2703161,40.6208838,15.367942,1.8097445,1.8072552,25.9450496,20.6646867,86.2915122,11.4696452,29.1255241,65.5359625,30.3436397,38.3365648,16.9144208,3.0842316,13.7107158,11.9047366,41.7123494 +728,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5893506,1.6662771,25.652484,21.1265312,71.6706136,17.5125271,33.6772319,67.1684358,29.7529861,43.2510066,20.2807672,7.2902386,13.6270166,10.3483701,33.5507779,10.8391229,1.7138707,1.7698099,26.2890114,21.6584488,72.7256809,17.8559437,33.4626445,66.5035385,29.8176987,43.1825676,19.9628621,7.1042694,14.0849559,10.308263,34.0783911,11.6978219,1.7125067,1.7526422,26.7938842,22.0971899,72.6917439,18.7582709,34.0214263,67.2540996,29.75826,42.950628,19.5871006,6.898273,13.9558636,10.3722046,33.5294114,11.7236637,1.6309799,1.6764901,27.0703913,22.3692504,73.3862665,19.0393106,33.7029565,68.3863355,29.5885157,42.3175494,18.7881669,6.8948758,15.0788189,11.0125394,33.1683281,11.7753268,1.9001396,1.962947,27.2120799,22.524074,74.2159689,19.6609607,33.3922153,69.1454609,29.1840153,42.2582453,17.9087541,6.8904472,15.8631663,11.6362913,33.2788068 +729,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84163,0.8686476,13.4254598,9.5643225,76.6016454,8.7091847,25.1857718,65.6149705,31.0279953,45.6155627,21.559524,6.6855773,11.0820528,10.1709467,36.9773375,4.1824069,0.9366899,0.9501602,13.9621845,9.9398114,76.4863933,8.8313062,25.7318203,65.1333559,30.7562715,46.0109203,21.5955571,6.672591,11.3242405,10.4576771,37.1998978,4.2758439,0.9192591,0.9268,13.7406031,9.83461,76.763532,8.7482043,26.1227906,64.4898449,30.3340802,45.3521058,21.6433533,6.5031644,11.6562718,10.3969758,37.6328528,4.5595322,0.9373208,0.9370062,13.8012742,9.9290736,77.1255827,8.5923255,27.4785062,64.9664327,30.3614261,43.5357749,20.7575174,6.3604724,11.4817826,10.2954372,37.8770682,4.4368185,0.9513587,0.9701548,14.070361,10.1060182,77.2518677,8.4565615,28.8462566,64.7661252,30.422869,42.5868592,20.1564332,6.2759497,11.8893782,10.479828,37.3292567 +730,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4642757,2.6051085,27.7554984,22.186968,48.4278795,16.7953466,38.1557369,64.1384609,36.4035564,49.8791583,26.8570741,3.7762911,14.0118635,12.8848489,39.6916733,20.528497,2.2705453,2.4696176,28.3888114,23.1352614,47.5435833,16.5045565,38.9147024,63.9002801,36.893966,49.2651792,26.4228199,3.643465,13.7385362,12.7188139,39.9134246,21.2446625,2.2744262,2.3314013,28.5508889,23.5391285,48.2467385,16.2608066,38.7509088,64.320303,37.2143933,48.7093239,26.7661063,3.9027371,14.3122166,12.3257097,40.5272528,22.0454746,2.2246449,2.2246449,29.42068,24.5717239,47.8105254,15.5305526,38.2475169,64.2339194,37.5812835,48.0609969,26.4371114,3.9670687,15.0360394,12.7004562,39.5904721,23.4913692,2.142179,2.0866923,29.9124606,24.7665208,49.7846317,14.8146847,38.4341679,64.2601473,36.8764313,47.4228535,26.3317465,4.044124,14.0860464,11.8030446,38.3010344 +731,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.7751932,0.8444109,17.157627,13.1236858,86.3574524,11.6746161,31.4943558,67.3725531,31.0358795,46.5741242,18.5460046,5.9212678,14.2349816,12.301416,32.3335755,7.66726,0.7264445,0.781131,17.0838612,13.0093253,86.8097722,11.8913424,30.2163765,67.5913358,30.7848647,48.2409086,19.472271,5.8322412,13.6413286,12.137023,32.8839166,6.6738017,0.6545915,0.6831305,16.438841,12.6740146,87.1160255,12.4578406,28.670573,67.1342369,29.7719339,48.9381518,19.9659195,5.6240546,12.5197931,11.8631038,32.6319345,6.1028569,0.530943,0.5593016,16.3209939,12.6343606,86.6710379,12.2944449,27.968178,66.6536173,29.5532186,49.4024589,19.8883079,5.4949709,12.2303209,11.8407461,33.2892822,5.0976747,0.6271285,0.6790374,16.3056633,12.7045597,86.7090295,12.9779385,27.5556515,66.9869403,29.9385899,50.12811,20.0486685,5.7007789,12.5193573,11.8701566,32.4556942 +732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0304486,1.0934105,16.1601579,11.0661614,52.6692736,19.2402491,32.9266533,69.9616486,34.1117546,52.9520658,31.8960647,2.7470828,13.6614009,12.0397008,43.5539998,9.5162618,1.079608,1.067226,15.4437806,10.5861786,53.2484666,18.7976994,32.3785021,69.0246089,33.4559831,52.4673838,32.611969,2.8530943,14.3297978,12.5660824,44.9069804,8.7556741,1.1956055,1.1832856,15.7298556,10.5913872,52.8284549,19.0329464,32.1182707,69.2743957,34.5000597,52.6877663,33.253125,3.0764347,14.334188,13.1647348,44.6030061,6.2337784,1.2937445,1.3320035,16.3338775,10.8573761,54.3445745,18.288212,32.5812916,69.1137635,33.5557166,49.538823,31.205852,3.0620135,13.3372946,12.9789734,45.2182023,6.4221854,1.3509392,1.388851,16.6440704,10.6380576,55.0411965,17.8085858,32.3162862,68.1868303,32.6159988,47.30834,29.4693849,3.6838035,13.0536234,12.1798241,44.8532386 +733,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0016922,2.0295581,30.840526,25.6178755,49.6885892,14.2073951,38.4721895,63.8191624,36.2394092,46.7395438,26.8840332,4.1336892,13.9453993,12.0113489,37.7205921,22.9338559,1.93657,1.9785361,31.7201103,26.3212294,49.4689049,13.481825,38.2357067,64.6143671,36.1739309,47.269355,26.2877237,4.0326208,13.794744,10.937116,37.0604485,22.2457344,1.8700935,1.8747382,31.8587725,26.1731517,49.2847902,13.2828879,38.8825484,64.7426402,36.5865754,47.0375522,25.7694667,3.7763192,12.8497045,10.6703665,36.1031771,22.340397,1.9321991,1.9089755,31.4853946,25.6170532,50.0917819,12.9110515,38.6915669,64.8667614,36.0378985,46.4096494,25.903793,3.6488558,13.1510191,10.8612725,35.5157442,24.703528,1.8609046,1.9207852,31.8505375,25.4516875,49.0449516,13.3186942,39.1580669,65.322025,36.8881654,47.1607937,26.5522299,3.4347825,12.8810851,10.3170874,34.0514381 +734,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8845069,0.8845069,17.2014931,12.7452798,52.8039126,28.8150839,29.1058197,67.244502,32.3904389,46.6241844,24.7262969,6.11312,13.3452315,11.8373116,40.2528927,10.087852,0.5597445,0.5597445,18.627555,13.8148261,54.743939,29.0000318,29.4280282,67.2508988,32.1954968,47.1403255,25.5535352,6.1807937,14.013886,11.5118816,38.6363398,7.5221905,0.9872738,0.9872738,19.7099275,14.59057,55.2065193,27.0620093,30.2264484,65.2438876,29.8780127,47.1255797,24.1289979,6.1846465,14.638162,9.9671238,37.7074778,7.0248805,1.2300478,1.2300478,19.4397542,14.5162536,53.8669482,26.2932484,30.385258,65.0613667,30.2102124,44.2208675,22.854706,6.0420074,12.790659,8.7456456,37.9596417,8.4678444,1.4511204,1.4511204,20.9596081,15.572503,54.0851162,25.4252594,31.0552591,64.9655577,29.6713383,43.5122765,23.2699909,5.7958064,11.9527741,7.859263,38.3442428 +735,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.7482944,1.7783247,25.7464505,20.7501672,86.0844883,11.5918958,28.1798559,65.8387783,30.3689451,39.1656229,17.0635353,3.0605118,14.3138518,12.4093035,40.2816197,15.5502137,1.9360347,1.9664027,26.3639067,21.6714363,86.6184285,11.1457114,27.1456457,65.0881016,29.4329784,40.0789073,17.6660114,2.9595777,14.5808424,12.6137512,40.2754023,13.3708168,1.9769801,2.0071256,26.1803897,21.3126768,86.442352,11.729323,26.2175476,64.0128732,28.9173064,40.9908808,17.9269127,3.3679891,14.4970503,12.254808,39.6662347,13.2527006,2.0033694,2.1294765,26.3661827,21.3196097,85.7134398,11.9667651,25.1318293,61.9517577,29.5134537,41.0026435,18.8850256,3.2996409,15.0001509,12.806253,40.5001754,12.1863929,1.8553884,1.9780908,26.3318189,21.6056851,85.1614194,12.1544524,24.8897758,60.625195,29.6321647,41.6372319,19.6162725,3.4175805,15.0889273,13.4816336,40.5018211 +736,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8565029,1.8165635,24.5472413,18.2329956,44.5552336,14.2193021,39.538874,65.0223116,35.8701089,47.5210406,27.0450905,3.4952894,15.7921735,12.9743696,42.8792511,15.0000071,1.7420152,1.7246696,24.3712478,18.3853236,44.0806956,13.6638153,40.6472487,66.0295658,37.8440283,48.1396149,28.0580806,3.3384251,16.7017756,14.2481733,43.2875465,14.3902509,1.7176993,1.7004027,24.3822861,18.2804123,43.8775816,13.120936,40.2388941,66.2175812,38.0528464,47.7630423,28.4443081,3.4316161,16.4292944,14.0609381,41.9734376,13.8497588,1.8138974,1.7963526,25.3826803,19.0051275,44.1396255,12.9205038,39.8501651,65.8832654,38.5072092,46.7200018,28.331584,3.5898694,16.0512731,14.4831322,43.0412785,14.1826787,1.449814,1.425879,24.7957353,18.6670326,44.5722384,11.980512,39.6730283,66.0871886,39.5692711,46.7825353,28.4120238,3.9698939,15.6445027,13.6694609,42.4163747 +737,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6171976,1.6714902,23.9374414,18.9599095,46.3050082,18.2229979,36.5465979,72.4876199,39.0294472,52.9468725,26.8623328,3.6406631,10.6409787,10.2643068,33.6147546,19.2622793,1.3038916,1.3587076,24.2692984,18.7847083,46.5536012,18.4887157,34.3370463,71.1176218,37.3820861,54.664475,27.2138199,3.1886105,10.4330015,9.8690555,34.0563657,18.5039224,1.18627,1.2187015,23.4833782,18.5061657,46.0630369,19.7739227,32.7394866,71.9331796,37.5012065,56.3642371,27.975221,3.250802,10.1130621,8.6008286,33.3655755,16.2499865,1.0585539,1.0909807,23.7170598,18.9459283,46.5120919,20.0271756,31.2920738,71.6595309,36.9138788,57.6484908,28.6160121,3.2717169,10.8484876,9.7164526,33.3665263,14.229726,0.9861818,1.0474129,24.1611471,18.9412759,46.957285,19.4731849,32.0801647,71.1278794,35.6801083,56.81684,28.1075401,3.0922909,10.7431582,9.8074013,34.522146 +738,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8731915,0.7964216,14.1691764,9.619211,71.7117525,22.032728,34.3079587,68.3910738,31.8591972,42.8037586,20.7147098,5.4722882,10.6351553,11.0495331,32.7755916,9.6456845,0.858218,0.7831426,15.2153277,10.4257623,71.7208106,22.8814438,32.4596794,67.1977028,31.3328005,45.2475934,22.0725841,5.6100193,10.8149641,10.624454,32.9448451,8.9353748,0.9686653,0.888929,15.1998536,10.5376126,72.693902,22.9685372,30.265789,65.1934721,30.8455209,45.724796,22.72954,5.4348055,11.0161819,10.4230415,30.8193293,9.3065464,0.9333828,0.8549042,15.3210528,10.5524002,73.5463746,22.8255758,29.0360721,63.3665776,29.700854,45.9401661,21.7236364,4.8670495,11.7031919,9.7208414,32.6479469,8.3038633,0.9456226,0.89736,15.5673418,10.3551621,73.4162369,23.1175415,28.4490608,63.0787127,29.0046305,46.4583292,21.7824,4.5138912,11.3967067,9.1747608,33.2846036 +739,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2293325,1.2144433,16.0635312,11.044509,57.4485708,14.886469,33.3779331,70.0177946,36.0886553,43.3570774,23.6072569,4.69169,10.9718535,10.3415634,35.6880609,7.2406485,1.159354,1.1521399,15.3544746,10.3761297,57.3090797,15.6405533,31.6498303,69.1794467,36.3001693,46.1047741,24.5704228,4.4875588,10.9845103,10.5343997,35.7454564,7.3613209,1.0335482,1.0241025,14.8440152,10.0834234,56.7401347,16.8422371,30.0707431,68.5414241,36.1823055,48.2875219,25.7010954,4.4729942,10.9785676,10.2322459,35.7321969,6.8822014,1.0584749,1.0492914,14.9014867,9.8733398,57.7984345,17.0838825,29.6779318,68.3385414,35.8578161,49.3387516,26.5160659,4.5846512,11.1209662,10.9959617,36.6828826,6.1514808,1.0613134,1.0521927,14.514689,9.4951176,57.9942848,17.692933,29.3449484,68.0694555,35.5499866,51.0053985,27.0467317,4.6107311,11.0434713,10.8053506,35.9825005 +740,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5105745,1.5105745,17.1857501,11.3749308,48.6851056,16.8882762,32.3478132,69.5864404,34.6359083,53.0550227,29.4305334,4.7191902,10.5454983,8.5645832,39.3693992,7.2093023,1.5054186,1.5054186,17.2572423,11.1414208,48.191879,16.9646342,33.8869255,69.302092,35.7891631,53.3009446,30.4181616,4.7276256,11.3194297,9.814215,40.7898871,7.1428571,1.6262617,1.6262617,17.0516001,10.8933553,48.0916801,16.2540188,33.6566214,68.8661487,35.1373971,51.9195213,29.9272824,4.6891229,11.4848748,10.0423287,41.2764007,5.9808612,1.6159674,1.6159674,17.4696571,11.1918992,48.0089157,16.5147426,34.0658418,68.1487088,34.4979653,50.0000027,28.2863615,4.7802467,12.5798588,11.0416978,42.571566,6.3380252,1.5243866,1.5243866,17.3613937,11.4240621,47.8832903,16.2789142,34.8900122,68.4738865,35.5517638,49.8345704,27.9967768,4.9355644,13.3041156,11.6924425,41.6199168 +741,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3806473,1.3956455,18.7986449,13.545835,64.620453,17.8745826,33.8656521,65.2595912,31.873769,44.6856982,23.1439027,4.8574881,11.8253417,9.2269382,32.6328729,9.3156799,1.5300774,1.5645098,19.0109874,13.6943592,64.7279368,17.3332384,34.5119113,65.7590529,33.2520003,44.1147225,22.991324,5.0463369,12.6355929,10.2576261,33.1787252,10.5776478,1.3967297,1.4209319,19.1336711,13.8909248,64.8479784,16.3101873,34.0969505,65.465137,33.7484101,44.4823818,23.4835942,5.0698713,12.7119736,10.4659576,33.9272262,13.3352253,1.4031807,1.4683844,19.0892842,13.8999565,65.1086679,15.9280185,33.6665895,65.6645917,33.4725323,44.5910894,23.5861183,4.9347289,12.8613634,10.3330964,33.8952432,14.6984184,1.3654174,1.431463,19.5275787,14.4251968,65.8967765,15.2193972,33.570729,66.2995099,34.192848,44.6134938,23.5427442,4.9120292,12.6990677,10.4914318,34.5483092 +742,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.967192,2.0517419,28.8659606,22.9544025,45.8173476,11.2004794,39.2644657,66.3315522,33.3658987,49.0953839,31.1866143,5.8581349,13.3155113,10.8079017,34.4365821,11.5591398,2.0918449,2.1758344,28.7142093,22.7775653,44.4668887,10.9325407,39.0588721,66.4835603,32.7198464,48.345866,31.4278408,5.7232735,14.0713845,11.1183041,34.6353737,10.8331889,1.9271142,2.0096128,28.2851655,22.6598799,44.2243088,10.7660794,38.4608759,66.2532296,31.9127346,49.9313331,31.8461084,5.5240345,14.2611558,11.5040596,35.3896838,10.5404038,1.8001561,1.9172701,28.390288,22.4916953,44.6017726,10.4370683,38.0065976,66.0973365,31.2596019,49.7561538,31.4630632,5.0854642,12.838315,11.2175351,34.8042618,11.7420506,1.608793,1.7086327,27.5129672,21.5123091,44.7852439,10.0424379,37.7719888,66.716188,30.9850833,49.7873894,30.6958106,4.824667,13.2959152,10.9388258,35.788511 +743,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.894139,0.9482743,16.0641676,11.1839128,74.0749243,23.8829353,28.6004483,62.8668218,27.6975134,46.7494345,21.2866804,5.1241553,11.2109776,9.2242221,32.2074307,6.9579032,0.7996827,0.8958904,15.8049891,11.0884344,74.198728,25.0000034,28.8070538,62.0198841,27.5417936,47.2887452,21.6674176,5.3095362,10.9271554,9.3956589,32.1428663,5.4455151,0.8768434,0.9813527,15.7092353,11.246132,75.0000056,24.4973807,28.4166342,60.9685991,26.9128655,46.1079179,21.8266277,5.1083607,10.4553932,8.8590006,31.5126139,5.727525,0.7980459,0.9443958,15.4444448,11.0444434,75.3378425,23.6031715,30.4666731,61.8888976,26.8666629,43.9777801,21.0888919,5.0888907,10.9532579,9.011888,32.8268905,6.0937207,0.6959236,0.8501797,15.5580863,11.1845088,75.1144746,23.3676236,32.104078,62.6470651,26.8552031,43.5520409,21.1990972,5.1809971,11.2616854,9.1970054,33.1296992 +744,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.1648387,1.1976712,16.7993831,11.7341278,65.6142116,15.4197158,29.5362066,67.4773755,32.7714749,52.0927796,24.4683246,3.0656147,11.3873208,8.7110473,34.2130295,11.3305264,1.1829355,1.2176428,16.5568103,11.4590216,65.3810841,15.568117,29.5172649,66.7606503,32.2016608,51.9400103,24.3965713,2.8987178,11.2706022,8.8497728,34.3661371,10.5846582,1.3145347,1.353431,17.1413365,11.7880113,65.5684517,15.3155975,29.9626808,65.7114539,31.1703915,51.1967665,23.6166021,2.7558208,11.279391,9.1463451,33.9025479,10.3024399,1.2976051,1.3315733,17.4114019,12.0623099,65.6263849,15.3304391,31.053106,66.1048605,31.5377785,49.2068942,22.8574659,2.7649284,11.7159567,9.2435141,34.167792,10.6003573,1.3064797,1.3356263,17.985703,12.5867367,66.3322733,15.1770039,32.6641568,66.8256262,31.9321166,47.5488129,22.6375295,2.8504859,11.108614,8.5810902,34.4600714 +745,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.737483,1.8900476,26.0203628,21.3374911,84.5352718,12.4315731,25.8452603,61.024423,29.3337055,42.9530345,20.2249079,3.6511322,15.6869315,14.1031415,42.3247778,12.6454208,1.7920164,1.9180687,26.0969386,20.6659796,84.6350659,12.4165046,26.1272861,59.7160071,28.7000212,42.8764492,20.4055755,3.6544962,15.0642543,14.0726215,41.5659046,13.3645243,1.8361778,1.9311067,25.6097251,20.3725793,84.4032242,12.516899,26.2330862,58.7858827,28.6520761,41.6311302,20.5455484,3.5672201,15.4147621,13.9424601,43.1018585,15.9998062,1.8176537,1.8975734,25.6793778,20.2025893,84.5515789,13.1596205,27.1622304,59.6402824,29.5239211,41.8053642,19.939664,3.578515,15.7832561,14.2117233,43.2221155,18.2446743,1.8348364,1.9168429,25.9891179,20.3897197,84.9940117,13.0277625,28.5596012,59.6837221,30.2464991,40.8578201,20.2488093,3.8176136,16.156103,14.383954,42.7455973 +746,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0934784,1.1207942,17.3937684,12.8786599,78.7154544,14.7898064,32.8696676,64.8210431,37.607355,44.1959334,24.7040353,6.5429433,11.1741945,12.7898394,38.8474577,9.8677383,1.2369259,1.2641011,17.6646148,13.170715,80.2557129,14.8438018,32.8030544,63.8994461,36.9867317,42.3920588,24.2329512,6.6892583,12.1139927,12.2541545,38.3944836,11.2220131,1.1931389,1.2193521,17.8586185,13.0840115,80.8958046,13.9488571,33.4764391,63.4311098,36.65298,41.6891415,23.4285782,6.5290116,12.1989177,12.1567489,38.3691089,13.0620255,1.2241083,1.2504237,18.5162953,13.5331339,80.8927449,14.1407091,33.9303605,64.1701153,37.0290985,41.3859228,23.361923,6.4490676,12.6809291,12.4846823,37.7087824,14.7260274,1.3762906,1.403481,19.3835982,14.036735,81.1890851,14.3417652,33.6123846,64.7210679,37.566943,40.5551743,24.1216992,6.19522,13.016294,11.3805014,36.1089331 +747,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3046534,2.3143714,30.8544043,24.1358497,54.3585984,19.6289124,31.8479384,68.1386635,32.1333739,47.9106639,24.1167247,3.1635932,17.5078069,15.6403001,41.3572125,17.8999439,2.4465618,2.4936074,31.6294746,24.8425315,53.9891213,19.7063363,29.9010729,66.4061511,30.8177508,49.3477609,25.1506791,2.9248094,17.0502931,15.7381434,39.8046877,15.7703704,2.3331489,2.3910619,32.6637753,26.3723157,53.9510396,19.6077222,29.098504,65.8124916,29.8743584,50.157198,25.2190726,2.8662793,16.9918073,15.786593,40.7122235,14.5626329,2.6523928,2.6794399,33.7122993,27.3361322,53.55129,19.6413526,28.549494,64.8672551,29.8722112,50.5025139,25.663518,2.8134179,17.3711607,16.2461953,40.2026215,15.7718649,2.9401691,3.0014794,34.7360994,27.9510869,53.1008743,20.0243161,28.4745952,63.5563171,29.7784379,51.0054637,26.6744938,2.7982779,17.4918808,16.3346403,39.9097936 +748,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0769448,1.0680187,15.3730312,10.0163234,58.426297,18.3647807,29.8371363,67.6354408,34.9759648,50.7581907,27.5343796,4.394818,11.0700054,10.8300432,35.7020758,6.2959045,1.0784088,1.0696427,15.6333662,10.1582656,58.1203873,18.096377,30.3151794,66.892396,34.2961923,51.409924,27.7439593,4.4650062,11.1203433,11.1142129,36.8348314,7.0234349,1.0065382,1.0197724,15.5005891,10.3470025,58.7371303,17.8106081,30.5709478,66.2575226,33.494136,50.5929342,27.0959992,4.2333376,11.400526,10.9401155,38.5157925,6.4854977,1.0402651,1.0550744,15.8541845,10.6280324,59.3918965,17.481519,31.8398076,66.2617722,33.1518284,48.4785126,25.8095478,4.3970032,11.3740636,10.5637656,38.0529333,6.5363358,1.0545699,1.0632033,15.9729111,10.4601892,60.0374946,16.5596202,33.0914685,67.1077527,32.7781818,46.8118029,24.4661834,4.2841055,10.7537228,9.9362598,37.9520574 +749,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.058844,1.0649445,16.6731326,12.0642989,52.6453671,15.6040821,32.8100124,70.7273332,38.0564383,45.727353,25.8942837,3.5174847,10.3688284,9.1986768,37.4586228,7.6324035,1.1148456,1.0843987,16.6344049,11.909379,53.6117573,15.1960723,31.0392768,69.793725,36.8702933,46.8663346,25.8032616,3.4708487,10.1209418,9.3649347,38.6585345,8.8785102,1.1706817,1.1494773,16.6023962,11.8588523,53.9500207,15.3800796,30.130736,69.3145736,35.8359762,47.3256919,26.4064963,3.3478613,9.7290314,9.1468342,37.3338757,8.5760601,1.022506,0.9835932,16.2795167,11.6336642,53.5214073,16.0520031,29.4267673,69.7094644,35.8657284,48.7829007,26.5999111,3.1998437,9.9013707,8.8259355,36.6390039,9.563768,1.033462,0.9943384,15.8227761,11.1047066,53.4232688,16.3468902,29.6112666,69.7937321,35.5612803,50.0000159,26.5569183,3.5501788,10.2722588,9.0272046,36.8003421 +750,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.5098914,1.5098914,21.2412882,15.6469162,54.6530863,25.1755496,32.8290898,64.8577306,30.1602144,43.6834182,22.508928,6.3166707,12.4148593,7.2880032,38.5272527,5.5970358,1.441918,1.441918,22.0562571,15.7294001,54.7880559,24.5167804,33.1249693,65.4465422,29.0179867,44.7322533,22.4108143,6.6963692,12.8423385,6.6551422,37.0687485,5.4348023,1.6588682,1.6588682,23.4344506,16.4137075,55.980341,24.2453717,34.4465087,64.7902228,28.3397885,43.2253841,22.4237185,6.5840134,12.2776238,5.1601607,38.1720006,7.196997,1.8810127,1.8810127,23.7239707,17.2968717,56.0810433,23.0409799,35.1990672,63.8520633,27.9885692,42.9792095,21.157581,5.7875257,13.6364132,6.3636595,38.5036077,7.553984,1.4014723,1.4014723,23.1141277,17.504988,54.9504451,23.8416164,34.2771567,64.5507627,30.3710677,42.6758634,22.5586944,5.5664552,13.2463181,7.2761466,36.8913367 +751,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3378268,1.3444276,22.6130866,18.1700913,66.4574644,8.9739551,36.1529731,67.8022293,37.6729785,46.5029233,25.6971075,5.9167647,13.3359592,11.2546126,34.0916701,8.6056739,1.2336367,1.2336367,22.3098399,17.931779,66.308146,9.0295004,35.3253201,67.1173384,37.4360389,45.8004114,25.2966196,5.1999689,13.6300135,11.4341001,33.666724,9.0401866,1.1109821,1.0939344,22.2047535,18.0469575,66.9685707,8.991183,35.3912625,67.3410038,37.6146429,46.5401688,25.0460648,5.264233,14.2081875,11.5918461,33.3706685,9.1208871,1.1622596,1.1454524,22.537505,18.0191692,67.1369044,9.3319981,35.2784007,67.2722445,37.6110776,46.9124556,25.2252828,5.5836814,14.2711199,11.7112387,33.6174567,9.2391365,1.1465244,1.1295803,22.66718,17.823645,67.5254702,8.9718776,34.9964607,67.2181275,37.4625494,47.0795186,24.5472656,5.4972963,14.4198664,12.2445721,34.548762 +752,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4934129,1.7164479,18.6732058,13.1419831,50.9808382,16.7067639,33.9412364,67.3347325,35.5455384,47.3199412,23.612679,3.3609731,13.1323479,10.375324,39.4504478,10.984841,1.2980466,1.3835945,18.5920246,13.302244,50.594065,17.4985936,32.9866421,67.8312129,35.5572773,50.7143656,25.0474129,3.2657143,12.5345311,10.2942407,40.0367469,11.7424021,0.9402819,1.0131783,18.2133585,13.3968153,49.9123559,17.3780257,30.7423445,65.7357806,34.27439,51.1742811,25.3428073,2.5895477,12.4422503,10.5126227,39.4735088,10.661752,1.0660925,1.0757623,18.116479,13.1672714,49.6203733,17.7922159,28.3365147,65.4936072,34.7511307,52.2989889,27.3096324,2.5420615,12.6828212,10.4376084,38.5679333,11.1538973,1.0438624,1.0533455,18.8274567,13.620536,50.0357368,17.989542,27.5647211,65.2149496,33.8762985,51.8779733,26.0640757,2.4728235,12.0929285,9.3527153,39.3300472 +753,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6827211,0.7045986,13.0833573,8.7490597,53.1520234,11.4314737,26.7263862,69.0499517,38.1270348,47.909878,25.988055,5.0977207,9.9002222,8.6218338,37.0631744,4.3059588,0.6674859,0.6781263,13.1967449,8.8210106,52.8909025,11.7531349,26.8869972,68.605786,38.0687922,47.590033,26.5095937,5.0409757,10.2724682,8.7181165,37.2085285,3.9898901,0.6808625,0.6978626,13.1851267,8.8129662,53.5364972,11.6687631,27.0961912,68.3283748,37.800594,46.6854619,26.4045515,4.8361363,10.1874051,8.5368498,36.3706481,4.1624787,0.681013,0.712844,13.3734535,8.8996582,54.2080882,11.4865559,27.4687093,68.6690974,37.8998596,45.1856188,25.4466658,4.9160181,10.1953459,8.7381812,36.7924518,3.9342542,0.6892848,0.7097383,13.2471632,8.85144,54.6705798,11.2587404,28.2694194,68.6277749,37.9056023,43.9801113,25.0792063,4.7798548,10.2400157,8.5897103,36.6946484 +754,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1378867,1.1979242,24.4174998,19.1876562,45.0374918,20.9600995,32.3115817,70.8468898,36.7647176,55.8481512,28.5820954,3.2262779,12.0211997,9.5587818,34.6666098,13.2043705,1.0292874,1.0895834,24.5063197,19.2764348,44.9344898,21.6890273,31.6611628,70.3313141,35.8761753,55.9418182,29.092939,3.2529113,10.3767574,8.2809681,35.2452571,10.1677419,0.9508002,0.9792885,23.4107502,18.8789297,44.1833109,21.5879709,31.7612147,69.4379069,36.2496787,56.2369209,29.8912125,3.3621867,10.663097,8.9153426,35.4259904,10.5984661,1.1868942,1.2154081,22.9877989,18.9854713,44.2153719,21.3344792,33.9432805,70.7657636,37.7008959,53.7576201,28.4706905,3.7375343,11.3045179,9.7382512,36.0887563,10.9805541,1.1807946,1.2107449,23.2353138,19.1206062,44.7201191,20.9547372,34.8058103,70.0185629,37.2877018,52.3362497,27.5432565,3.5211798,11.5501952,9.5366449,36.8761899 +755,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.765316,1.7819519,24.0876858,19.3539721,79.8962537,14.6177484,36.7973809,64.9133677,34.0126335,45.5710429,25.1718522,6.28248,12.5431224,10.3513637,35.528155,14.2644064,1.8020278,1.8409435,24.4162057,19.7631335,79.5952153,14.4615095,37.0724906,64.8322155,34.0447866,45.798436,25.6420157,6.268047,12.810193,10.5198896,34.6289246,14.6940752,1.9121833,1.9705964,24.8092597,19.985006,79.860323,14.48554,36.8853864,65.223437,34.1808552,46.0705883,25.5569591,6.3190759,13.0321814,10.3144415,34.3837115,14.4499929,1.9785267,2.0412475,25.0792485,20.168623,79.4689105,14.445706,37.4592817,65.154378,34.4181164,46.2581574,26.0292784,6.2275496,13.6300542,10.4526571,35.3607545,14.6849608,1.8717951,1.9191842,25.2337224,20.3923181,79.5824519,14.2507654,37.0360891,64.9307397,34.7785198,46.5452426,26.1587077,6.2852717,13.1042703,10.1791215,35.620005 +756,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.3841511,1.4230187,18.5124254,13.0410963,66.8228547,14.0877796,33.3070821,67.2553381,32.4296881,46.6704157,22.3734472,2.8683889,11.9972933,9.1463492,35.7045396,11.8913702,1.3292988,1.3398113,18.8601487,13.5065865,66.6473682,13.428319,33.3295385,67.7180534,32.9879309,46.0373571,22.3069837,3.0630832,12.0340583,9.4482876,34.7132406,13.0040191,1.3208904,1.3261714,19.2972628,13.976203,66.9651207,12.9312319,33.2990572,67.6833295,33.7103043,45.3849717,22.2869504,3.3013499,11.8632477,9.7018453,35.5129501,12.5742475,1.3482466,1.332553,20.1177609,14.785612,67.7023665,12.5027858,33.2694386,67.4971674,33.9007798,45.0845625,22.6944717,3.4611048,11.7794027,9.2785933,34.7716973,12.9629554,1.3069315,1.3069315,19.9932951,14.8691072,67.8472552,12.1866626,33.5185903,67.7064271,34.5621515,45.1338514,22.924227,3.573047,11.2910719,9.553134,34.7915808 +757,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0138025,1.0298951,14.4925463,10.4267679,77.4949768,8.089171,29.8634679,64.6205865,30.3354914,41.5936552,19.9272172,6.2859591,12.2893959,10.5665494,36.9044608,4.9364948,1.0890782,1.107923,14.9212614,10.8166052,77.7869058,8.0442499,29.9864219,64.6151295,30.8369742,41.2503223,19.9470222,6.4223433,12.3628241,10.4902493,36.9377763,5.0813657,1.0946756,1.1118771,15.1421032,10.8750072,77.9512848,7.6182898,30.063455,64.2396187,31.0233611,41.4056453,20.1179666,6.3348059,12.1027552,10.1914078,37.2145769,5.4928669,1.0162476,1.0238678,14.9452296,10.719755,78.0300444,7.3364484,29.6669107,64.1660179,31.1741251,41.0615809,20.347815,6.1194168,11.9591367,10.046334,36.712656,5.6425486,1.0430546,1.0548344,15.3299617,10.9991829,78.0169548,6.97605,29.3584887,64.0140095,31.1619241,41.0195022,20.3763043,6.3164267,11.886077,10.1776414,36.4885481 +758,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.9339482,1.0221042,17.7126176,13.3916315,65.8490459,17.4383831,34.4193073,64.0952092,32.0898058,40.1586787,23.6158079,8.1195143,11.1302573,8.7870438,36.8219709,7.7132528,0.8929634,0.9424272,17.7252312,13.5139796,66.1794942,17.0287519,34.5020252,63.8380791,32.0630064,40.1592128,23.2892997,7.9776427,11.0294125,9.0813458,37.1013445,7.2878256,0.9875709,1.0376606,17.884619,13.7237774,66.7421464,16.508642,34.3127108,63.0412465,31.4604857,39.3642635,22.7319617,7.7835063,10.990163,9.1068987,36.6832318,7.4311954,1.1801125,1.2464865,18.7001774,14.1247848,67.8361431,16.414148,34.387821,63.0130052,31.5150525,39.4151871,22.4863229,8.2592353,10.8710507,8.888133,37.3439605,9.03285,1.1754238,1.2206233,19.0648725,14.7170475,68.3207336,16.2157707,34.312391,63.3446571,31.8336189,40.5263161,22.6315803,8.2342962,11.3980649,9.607444,37.925048 +759,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.4189859,1.453093,19.5035458,15.1806831,67.9805397,16.9660409,34.8092832,63.3001687,32.0563864,40.7131002,22.7031515,8.1757882,11.3851285,9.9053475,38.0708891,10.3595772,1.2742562,1.3217708,19.9965321,15.5914003,68.2897426,16.845461,34.9625358,63.9134959,32.6805186,41.2636244,22.8031311,8.5660792,10.7794904,9.5924131,37.5265734,10.1709283,1.283949,1.3355375,21.2126384,16.2873679,68.4077894,16.5409874,35.3402264,64.6597802,32.6384276,41.3775869,23.0653754,8.6557737,11.2815232,9.5708473,38.3688887,9.8557564,1.2911761,1.3333082,21.6097613,16.9268359,68.1012223,17.0129054,34.5574068,64.6087346,32.8255365,41.1000677,22.8511876,8.6433639,11.0279737,9.2592623,36.6710429,10.7518679,1.458069,1.5271586,23.1263736,17.9209814,68.8066247,17.8309974,33.8654558,65.2355886,33.0905207,40.685064,22.7681372,8.3540011,12.0799016,9.97467,37.3798879 +760,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6879889,1.6638343,25.5641234,18.6410474,44.7240712,12.007267,39.0837264,66.6230349,40.1308681,46.2041688,29.3978851,3.7958024,15.6120403,14.0706409,42.1466718,12.1428398,1.9071779,1.8831829,25.6123082,18.6063581,44.8288636,11.6246266,38.2198014,66.1339519,39.5713397,46.0170681,28.823772,3.2488368,14.5313491,13.4155012,42.2225426,14.9082295,2.0264767,2.0505901,26.051118,19.1721969,45.1121561,11.6345162,37.3792215,65.2859915,40.2535107,46.5120098,28.2464437,3.0049337,13.8981213,13.5127408,40.1878973,17.1361341,2.0076519,2.0076519,26.5449128,19.5336253,45.207568,11.7144286,36.8564877,65.3168218,39.392056,45.847747,28.2792125,3.1823788,13.1205784,12.5289364,39.9580852,17.3423345,2.1016808,2.1252708,26.907897,19.8485598,44.7104657,11.9896222,37.0233652,65.7408646,40.1971596,46.6858175,29.2037669,2.9945994,12.5689464,13.3192216,41.4469254 +761,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.0277533,1.0314513,17.3820473,11.9130324,55.5862493,8.9543274,36.9466113,68.1368081,40.950993,44.8331069,26.4349168,4.7218996,11.4941729,9.5627614,40.8943771,9.3981614,0.9895632,0.9932886,17.2351063,11.865968,56.0279181,8.9734951,36.4790786,68.1528025,40.4396508,44.2884129,26.6222889,4.6934305,11.3993212,9.5441452,40.4258158,8.6254757,0.9786699,1.0158277,17.2691866,12.0411395,55.3887977,9.1721085,35.9709294,68.0501926,40.2060801,44.4750864,26.6782963,4.7251535,11.0607307,9.8046158,40.2986913,8.3255096,1.0154828,1.0418669,16.8323897,11.8716158,55.4302466,9.2184839,35.9207546,68.0859431,40.072527,44.4475312,26.7019964,4.7600397,10.9353547,9.8729927,40.5819268,8.7346668,1.147274,1.1739576,17.3381729,12.3604965,55.1734163,9.2962243,35.808823,68.4445644,40.4241999,44.9038451,27.3925312,4.7002231,10.8060515,9.9363694,40.7367782 +762,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6104046,0.768587,15.7833602,11.1808487,75.5977568,22.7043221,33.2483827,63.6932383,28.1974036,43.0722965,21.2465305,5.259501,10.8348988,9.8875276,32.8760611,5.4347826,0.6594891,0.8285607,15.8404167,11.543909,75.7020517,22.0121464,34.6008586,63.8403406,28.4600816,42.536615,22.0359082,5.8809659,11.296475,10.1428496,32.5793999,6.1320774,0.7148294,0.8344043,15.6324587,11.2410491,75.4694284,20.8353066,34.4572043,63.2472522,28.7661407,41.1525628,21.8794908,5.4280267,11.6088654,9.7690009,31.6682797,7.275544,0.8076338,0.9264195,16.4613934,12.0558969,75.3585004,19.1135147,34.6098973,63.4871572,29.9000956,41.1275066,22.0028618,5.5423425,11.671472,9.8462939,32.8003843,9.0504478,0.861533,0.9707617,17.0197394,12.5421251,75.4611677,18.1493902,34.4852656,63.1464491,30.1836637,41.7351483,21.6771492,5.5824097,11.3013765,10.2250451,33.9091909 +763,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3014829,1.3556956,19.7227098,14.7931652,66.2438257,14.8303453,33.4126794,66.2501885,34.6185566,44.7195267,23.661462,5.0087476,12.8035426,11.2613304,34.8096692,14.8424585,1.2197907,1.2746919,19.2558038,14.7162394,66.6618928,14.1135207,33.5936822,66.1011883,34.5375794,44.6504964,23.4439012,4.8630439,12.7284987,11.5996189,35.7287001,14.2299196,1.2442491,1.2838891,19.9220399,14.9444994,67.048059,13.665204,32.8310502,66.4371596,34.3845727,44.2809299,22.8598943,4.691065,13.1457367,11.9104384,36.4738597,15.9054455,1.1603386,1.1982154,19.8587792,15.0149423,67.2133803,13.3253144,32.9677414,66.1614262,33.8162997,44.2972747,23.1924566,4.5200585,13.2173443,11.4610302,36.6523833,15.1075955,1.0562756,1.0892987,19.960571,15.2777981,67.6463729,13.4313597,33.1470842,66.2662589,33.3666326,44.3503641,23.2384021,4.3465595,13.7334455,11.4995372,37.0848986 +764,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6553625,1.6771397,18.2316448,12.9413103,47.5131622,17.4739246,36.5385591,72.41867,37.3816439,48.0245262,28.1611398,2.3972928,11.3761478,8.6016731,36.6029348,11.199895,1.6562362,1.6683642,17.7005705,12.2226692,47.3809583,17.8293901,35.7443777,72.3043027,37.2175653,50.0002446,29.3790736,2.4987132,11.3464026,8.9575709,37.4862079,10.4298976,1.7703219,1.8302827,17.6579946,12.1738092,46.6786666,19.2566986,34.3281719,71.5364886,37.5459946,52.1799639,30.1763835,2.7244372,11.3996232,8.9610044,37.178201,10.9643581,1.6080653,1.6667663,17.8040279,12.3758715,47.0813754,20.541082,32.9497702,70.6351976,36.3293162,51.690326,29.6213492,2.8930007,11.3236079,9.1428686,38.4572687,10.2213452,1.5940673,1.6403168,18.3811538,12.7707837,49.3064708,20.513597,31.7585374,69.5050918,34.5381648,50.0002324,28.7775604,2.9055315,11.6171348,9.5711593,39.471439 +765,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7697465,0.7882068,13.636363,9.0522482,55.131361,10.9230437,29.1095161,69.153767,38.2577431,43.3462399,25.0608391,4.8064171,10.0477883,8.4130195,36.2873534,4.0429806,0.849483,0.8425759,14.0542024,9.2865029,55.3922705,10.5180092,28.8877896,69.0468369,38.3532144,42.8374206,25.309255,4.6774909,10.4526802,8.4547068,36.3104809,4.6239755,0.81284,0.82456,14.3309281,9.5669067,55.2184611,10.4282129,28.9790331,69.2880859,38.5485659,42.6214128,25.3145693,4.6633558,10.5209255,8.4982882,35.7912818,4.5547609,0.9241313,0.9269638,14.4802673,9.6108942,55.6371985,9.7759546,29.0889971,69.7237059,38.9758118,42.8817141,25.626943,4.7769643,10.6225827,8.5340853,35.0332342,4.1968916,0.9736738,0.9671069,14.8200077,9.7510369,55.5010154,9.6136899,29.1117371,69.9944192,39.3463714,43.1452521,25.6145269,4.798883,10.5821891,8.3752232,36.0344848 +766,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6019686,1.6780756,27.5214151,21.4135122,44.3400863,10.282256,37.6753305,67.4995093,31.6883764,51.3523334,31.6081211,5.5920664,12.8222734,11.8937682,35.7174401,12.8203384,1.5831442,1.6809744,28.3213097,21.7542156,45.2715208,9.6371123,37.9432068,68.4876401,30.9670848,51.6884919,32.6477832,5.1803057,12.900395,12.7197578,36.6465231,13.8509722,1.2879091,1.3806285,26.9271688,20.6997547,43.9271439,9.8918943,38.6844778,68.441516,32.3467173,52.03905,33.7251465,5.8711803,11.6954272,12.765597,35.3234413,12.4931819,1.4511724,1.5787775,26.9968914,20.1503821,44.4500491,10.0945137,39.6267509,69.7876671,33.0767336,52.5407913,34.2441298,5.6408774,11.8573473,13.7278322,34.9368755,12.9762419,1.436465,1.5661839,27.1824037,19.7599611,44.5875359,9.9105811,40.5964312,70.4973894,33.6229272,52.1003033,33.9107858,6.2726567,12.7111454,13.8134746,33.7511479 +767,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.874304,1.904334,28.1592419,23.1946867,74.5548551,20.1285819,32.4799331,68.8921516,28.6311315,42.8547213,18.1894091,6.2416165,17.1611472,11.9096507,33.5932309,12.5283234,1.860262,1.8751778,29.7100832,24.5249011,75.6679422,20.6055824,31.0568363,67.4143381,27.633716,43.6523786,18.4280273,5.6995509,16.7109578,11.860504,32.4766264,12.4043512,2.0603609,2.0776339,31.2005807,25.5449904,75.9470583,21.8650237,30.1265603,65.8824864,26.2978227,44.370537,18.5755845,5.7267859,17.5500896,12.4515242,33.1059026,11.2968534,2.2148479,2.2496063,32.8318461,27.0316159,76.1653584,21.9248991,28.8003983,64.6302128,25.7854271,45.080932,18.2957774,5.5379095,17.8301753,12.7518885,33.1328592,11.0009391,2.5619758,2.6292994,34.7832123,28.9632863,77.0417139,21.8179147,26.5441933,63.1716491,24.8764249,44.3329305,17.9586101,5.6361786,17.7703342,12.9866129,33.3434596 +768,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.588475,1.588475,21.8400351,17.4750343,49.9448799,17.1282276,31.9140491,66.6105595,35.0080183,54.9097225,28.743814,3.0779995,14.4527677,12.3884379,38.4211565,14.6551775,1.4144959,1.4062616,22.4019573,18.0223666,49.8680602,16.8767229,32.0773438,65.6565948,34.1695636,53.811703,28.8503894,2.8546292,13.945342,12.3109921,38.825083,14.448066,1.3713386,1.3958248,22.7044684,18.1117754,49.4497509,16.9592229,32.7663646,64.4585091,33.8934396,52.7566384,29.1146389,2.8637624,13.8260552,11.7754742,39.4793447,13.7658402,1.4100519,1.4640809,22.9533779,18.1779586,50.0911771,16.988931,34.2800878,64.804596,33.6462678,50.968259,27.2372793,2.7290078,13.9772816,11.8156277,39.3023497,12.7760373,1.2838036,1.3380279,22.9453715,18.3458417,50.8638807,16.7665655,35.4141968,65.0861372,33.9545474,49.2384094,26.9558679,2.9319148,14.4513323,11.7056679,38.7650597 +769,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0444382,1.0327644,14.8659223,9.9497199,55.2284993,9.4518876,29.4415985,69.9119536,39.684576,42.9948726,25.9195286,4.7090941,10.5734353,8.3106542,36.0579142,4.7830375,1.0487088,1.0369275,14.9887258,10.1521967,54.8933974,9.2334094,29.4279644,70.4484224,40.1944284,43.0152839,26.0564178,4.6920648,10.7110214,8.7051009,35.6732548,4.5812803,0.9908201,0.9630655,14.5864063,10.0476553,54.7080338,9.3641928,29.1412088,70.3156875,40.2523186,43.0583802,26.1427915,4.7012892,10.8896082,8.5467123,36.229699,4.8645928,1.0344462,1.0248315,14.2163042,9.7804964,54.3165043,9.4694846,29.2993246,70.4952697,40.7223561,43.6551372,25.9785462,4.7871736,11.0555705,8.5484989,35.6640873,5.1551557,1.1294853,1.1294853,14.0918454,9.6713242,54.1037846,9.3827863,29.1173415,70.5033928,41.0929769,43.9891924,26.51994,4.7868063,11.3034397,8.7244432,35.7878727 +770,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7934021,1.8300026,32.75911,28.0370934,55.0781986,9.5512336,28.8820935,61.9949096,27.3477912,49.2680522,22.2934787,3.104312,13.7290681,11.1567592,33.8614801,21.5111585,1.8040588,1.8311325,32.4082343,27.6331613,55.2873756,9.6572362,29.121546,61.2400903,27.0288622,49.2383967,22.6154311,2.9968617,13.5076551,10.7721195,34.2503789,21.481186,1.8997219,1.940332,32.8137015,28.0900544,55.1127185,9.6454664,29.311517,60.7333733,27.0121663,48.6329875,22.3430697,3.1758223,13.8182275,10.9982793,34.5766172,21.3879974,1.9239661,1.9676989,33.0577517,28.2210351,55.6430818,9.6271062,30.269213,61.6954679,27.310443,46.6625252,21.4627332,3.0079917,13.9577395,11.0406006,34.9389124,21.8572612,1.9126509,1.9704377,32.9118306,28.3568513,56.0829501,9.7838402,31.6282791,62.1905911,28.0798566,45.6073775,21.4122149,3.0548022,14.3618488,11.208878,35.3325754 +771,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2117139,1.2117139,19.7564679,14.8639772,68.0690374,11.5864339,33.1668724,67.6986108,34.4318582,45.1065269,22.8695027,3.6950729,10.938917,9.6318014,34.7090787,14.5752896,1.2581866,1.2734771,19.7322597,14.7257311,68.103451,11.2521749,32.8813774,67.2729192,34.3584598,45.3813998,23.115079,3.6706346,11.5554728,10.4856629,34.5692977,14.4886391,1.224004,1.2494571,19.7674485,14.5511903,67.9816793,11.6211,33.4766174,67.3170021,34.7773287,45.4475367,23.7544115,3.6044998,10.9641391,10.2822674,33.8215696,13.7236084,1.1966486,1.2218248,19.2762073,14.1645236,68.3241552,11.3363362,33.4966157,67.4831157,34.9118139,45.5149239,24.2434242,3.5379922,11.4342933,10.7190543,34.4280827,13.1340461,1.1613937,1.1965342,18.7018898,13.6548357,68.8930514,11.1813919,32.8869945,67.7443874,34.4545869,45.4278278,23.91683,3.450902,11.9709027,11.3486243,34.3015676 +772,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9047344,1.9442388,25.6838211,20.6904294,79.8813926,14.0012867,36.5162461,64.9021898,34.7600844,46.310196,26.181925,6.1549893,13.9703381,10.2222963,36.3590045,15.1096268,1.9117732,1.9469829,25.5226716,20.547983,80.3518171,14.2115489,36.7340243,64.6505272,34.6052615,46.0105557,25.5537154,6.2045428,13.8055878,9.9758797,35.6447637,15.0232609,1.9608972,2.0143453,25.9176038,20.9628874,80.2120929,14.282122,36.4359902,64.7390832,35.0090947,46.2059718,25.7091499,6.286695,13.8598934,9.9158243,36.2232699,15.5681112,2.0505753,2.096018,25.8870587,21.0916771,80.1553108,14.6373974,36.0539087,64.9006161,35.6170749,46.5052575,25.5054887,6.3662598,13.2434272,9.831004,36.3175025,15.4067701,1.9662218,1.9881903,26.1915093,21.5355901,80.4496735,14.5283035,36.0072447,65.1147131,35.6866737,46.0889554,25.5248318,6.1788541,13.2847927,9.8543664,36.2495821 +773,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.0967633,2.119725,25.7702047,19.076109,44.8146835,11.5960969,37.4089721,66.1094652,39.922174,47.2484309,28.9266539,2.9906753,12.4768967,13.227855,40.2127771,16.5271967,2.3004434,2.3004434,26.4182742,19.8788217,44.0121922,11.7954712,37.1959822,66.4915573,39.8080208,47.2731069,29.1675196,2.688837,13.3042746,14.3903487,41.2362458,16.530619,2.159409,2.2206122,25.5874449,19.5327673,44.2223894,11.7045171,37.565877,66.5955248,38.9697585,48.032452,29.6062197,2.8327667,12.249178,13.1050158,40.0430579,17.499975,2.0461523,2.1057888,25.8354382,20.0335522,44.6982186,12.1028861,38.2037515,67.4025579,38.7435953,48.3500747,29.8612802,3.2633938,13.0777366,13.0777366,40.1379025,16.111086,1.998099,2.0126107,25.8444912,19.8750449,44.0598832,11.9160115,37.1407835,67.7442756,37.619754,48.5392644,29.4779936,3.3285452,13.6224355,13.2142925,41.10084 +774,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4783826,1.5235836,18.4893353,12.6858601,49.2949385,20.900339,32.4356919,69.2937625,35.2525016,50.4695169,29.026935,2.8903356,12.5869579,9.7024885,39.3041439,10.7504361,1.4840445,1.5562416,17.964069,12.2211882,48.956318,21.1650026,32.2855024,68.3969814,34.72274,49.975868,28.6795937,2.9970928,13.2394863,10.1367591,40.128154,8.4621231,1.4669073,1.5380568,17.830557,11.9260545,49.1158278,20.1659325,32.9723205,67.6531097,33.7905263,49.4708542,28.4512631,2.9580832,12.9506498,9.6309879,41.0102424,8.7945297,1.4803814,1.5596622,17.7754294,12.0610489,49.3871574,20.6186446,34.0264453,68.0779977,33.9793016,48.1827689,27.5231306,3.3236857,12.1774786,9.2266436,39.778685,9.1554394,1.3560806,1.3918521,17.792237,12.2600261,49.852124,19.8430735,35.0885922,69.2400926,33.7423327,46.2964975,27.0083949,3.198577,12.3411263,9.5126191,39.5572312 +775,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0536589,1.1395999,17.4026587,12.8442517,74.8199831,17.9409043,33.4367558,62.8400968,31.0978478,41.9809126,21.9809174,5.5608618,11.1933005,10.2955726,33.3499205,9.131742,1.1891137,1.2668866,18.1457203,13.4282999,75.1673185,17.7005611,34.5294653,63.3792835,31.2024622,42.0389803,22.2671193,5.9172993,11.0087369,9.9321773,34.55525,10.7987998,1.2249783,1.3024136,18.1542005,13.8551365,74.3068961,17.7907,34.8477635,63.2968642,31.2797259,42.3644193,23.1922086,5.8277822,11.0177942,9.7236,34.0139646,11.0946581,1.2392306,1.3070975,18.3425112,14.1643722,73.6085109,18.0963336,34.354533,63.7745583,31.9691244,43.8026266,22.988786,5.4957896,11.5722649,9.9024468,34.8917465,11.925247,1.2911095,1.3572585,19.0377497,14.9401498,73.0291684,17.5857313,34.6008433,63.4624476,32.8530858,44.4733166,23.9726114,5.5975432,11.5039745,9.8107558,36.3316674 +776,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.927204,0.9006835,15.9646377,11.4516595,53.2638567,17.003805,29.547221,69.4078999,35.0812677,50.0193692,26.2190275,3.3088243,9.9116975,8.9342921,37.5912387,9.2334559,0.9615221,0.935095,16.2298718,11.4002161,52.56059,17.2945048,29.8959168,69.294535,35.5242925,50.636102,26.3492586,3.0262154,9.6608553,8.7588264,36.8232283,8.8850236,0.9698374,0.9554248,16.6666587,11.7528338,52.4055059,17.4405473,31.2170326,68.9713772,35.3617241,50.2072474,26.6201862,2.8447641,10.0153215,9.0596219,36.9379803,8.9090909,0.9303305,0.950564,16.7217235,11.8391979,51.8994728,18.2174677,32.2794265,69.6895231,36.2552092,49.0912654,26.2211199,2.7451702,10.6048746,9.0457925,35.5150998,7.735852,0.9288392,0.9405556,16.8219,11.7548356,51.4791815,18.2659384,33.7490302,70.472007,36.6270175,47.9086717,25.6907085,2.7820358,11.270314,9.38223,36.5097981 +777,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7411926,1.7229121,23.6748523,18.611194,45.0109008,15.1740015,38.7012665,66.3647578,37.7494575,47.727969,26.4200056,2.932142,14.0224831,12.3360297,38.4688231,17.696011,1.7608034,1.7313804,23.7586385,18.5826024,45.1026714,15.7725559,38.8767887,66.2881258,38.316745,47.1841964,26.462348,3.1269456,13.7554484,12.3206378,38.2704392,20.0231945,1.7802481,1.7745485,24.909782,19.6181465,45.644635,15.7099482,38.9733272,66.2065817,37.4224581,47.6271796,26.5663809,3.1172468,13.3811554,11.7738792,37.704405,20.1542292,1.6959779,1.6997519,25.5353743,20.1814248,45.0265626,15.4859412,39.3515739,66.5181417,37.200381,48.386613,26.8131658,3.0885011,12.4305914,11.1419678,36.6998109,20.6013501,1.4843559,1.4881065,26.3818887,21.061174,44.8130635,15.03005,38.990551,66.803922,36.7337676,48.353168,26.2427787,3.0954479,11.4819285,10.5763326,36.2376841 +778,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1567805,1.1685757,17.5178382,12.4859196,52.716976,18.0355534,34.276358,70.0731343,36.2009176,46.4010672,25.384914,2.6751287,10.8494039,9.0384616,37.9000846,7.7617329,1.165699,1.2115988,18.0586651,12.6020893,53.164827,18.0747477,35.1746208,70.368266,37.2247529,46.4502502,26.1389488,2.6385676,10.8810041,9.0329794,37.2913639,8.4775057,1.1893019,1.2594542,18.1358031,12.4718844,53.0043182,17.0948041,35.6813633,70.1151762,37.1017314,45.08637,26.122848,2.7063331,11.7169278,9.1294285,36.1046314,8.3928541,1.2308259,1.3241142,18.4171454,12.9422866,54.0525306,16.5668165,35.5433023,70.5357232,36.9490731,44.9278093,25.8928683,3.0205158,12.2678028,9.3967602,36.4241265,8.4775057,1.2725134,1.3847182,19.0503304,13.4884719,54.6112149,16.0917244,34.8787975,70.5078947,37.2258375,44.305503,25.9907758,2.904962,12.3731431,9.6258824,36.7113793 +779,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7209095,1.7460076,22.314257,17.0933735,72.6497934,17.3154702,35.6630824,66.7434716,30.4403482,43.8556068,21.8894009,5.2483359,11.687631,9.3717277,33.772392,14.8529412,1.7276188,1.7431588,23.6368184,18.184092,72.8739754,17.7104208,35.2180527,66.2018256,31.1612576,44.5486815,22.0841785,5.0456389,11.1401674,9.4566353,33.5616438,14.4662921,1.5865691,1.6019513,23.3267229,18.1209717,73.8942552,16.8324217,35,66.2060302,30.9296482,45.1507538,21.281407,4.798995,11.4152893,9.2458678,34.2515593,14.3048128,1.453955,1.4772324,23.5574511,18.7907677,73.642418,16.6082164,34.5725847,65.8826505,31.7400101,45.599393,22.1800708,4.5270612,11.6753927,8.6387435,34.0526316,14.5380435,1.3635259,1.386717,23.4142716,18.4093162,73.7071173,16.6000999,35.1767677,65.4292929,31.3383838,46.1868687,21.5909091,4.3686869,12.2291022,8.6171311,34.4917012 +780,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8559242,1.8699884,29.2083509,24.3136777,50.3476011,13.3665652,38.9327322,66.1908434,35.611692,48.8850314,23.9640685,5.3557677,11.7621373,10.8794945,31.4653411,17.0775754,2.0233864,2.0372768,29.4632456,24.6324963,51.3895667,12.8636229,38.1196537,65.4911407,34.6139421,49.1281598,24.5000207,5.2006155,12.2197225,11.353854,31.3928327,18.2709966,2.0904435,2.1261169,30.6465182,25.9243224,52.792089,12.5968691,36.7290319,65.3511656,33.3406934,48.5892808,23.8076505,4.924542,12.0903649,11.5728731,32.4482479,19.6788288,2.1174308,2.1447814,31.7196764,26.885877,53.013424,13.0432023,36.6221616,65.8020998,33.1065892,48.5430412,23.7163584,5.0812531,12.8611406,11.5561795,32.7432061,19.5721111,1.9401612,1.975693,31.7385607,26.8985312,53.1862716,13.4299949,35.4208787,66.472418,32.9681601,47.8659618,23.7125055,4.64516,13.0838264,11.4609229,33.2728232 +781,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.3228508,1.4344976,19.0916052,13.5884063,54.6778306,15.9886888,35.1263637,70.6929607,38.0359723,44.5827084,26.5888203,3.0819286,11.7211646,9.7589316,37.1372825,7.2635111,1.3680865,1.4798126,19.8077747,14.304577,54.8970496,15.5660376,34.845033,69.823958,37.9831522,44.7569909,26.6551752,3.4251876,11.3653847,9.6362092,36.983648,8.2524192,1.3178936,1.4305407,19.6780356,13.9962181,54.0345054,15.3450333,34.6020399,71.0007834,38.8137468,45.4598233,27.4149859,3.3423601,11.9701592,10.6191016,36.1660224,8.576049,1.2444287,1.3239977,19.1204979,13.9287144,53.9160579,14.7647074,33.8568944,70.9940417,37.9920296,45.1093542,27.3757364,3.2008056,11.7719283,11.3431375,36.804988,7.8125,1.1809223,1.2233003,19.4657997,14.43121,53.9431785,14.7607938,33.2743343,71.0153446,37.9574683,45.749719,27.5678715,3.2467593,11.256937,11.1596267,37.309226 +782,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0159907,2.1041136,27.3417084,21.75918,38.6443884,18.4477582,36.192826,65.8797282,37.8548856,55.9435254,32.1663838,3.3534306,11.5357488,10.9869138,32.6827647,23.1834442,2.2393948,2.3275162,27.4107237,21.886452,38.8681606,19.1858501,35.9752928,65.5863418,37.499757,56.1061331,32.1790516,3.1702949,10.8192822,10.6444936,33.7958999,23.7299288,2.1045032,2.1916846,27.3921067,21.9353168,39.2621202,18.6685411,35.4732306,64.3804583,36.3417255,55.0868099,30.8179027,3.0164914,11.0207176,11.1340256,35.7805675,21.6183508,2.1948617,2.2262226,26.8698268,21.649794,39.9459249,18.2628917,35.6888508,64.2124244,36.4108083,52.5504959,29.2676744,3.142666,11.4550852,11.2820084,36.3651932,24.6464306,2.1286406,2.1495126,27.6213127,22.1359696,40.5287448,17.757124,36.7474466,64.7747571,36.1143565,50.760926,27.1458461,3.1732754,11.6557047,11.0104347,37.7574148 +783,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4082078,1.4391914,23.1437331,18.5830952,44.9087933,19.7845934,34.9836102,69.5919594,37.1442429,50.4701031,26.1056801,3.0331159,11.2960635,9.370854,36.635851,11.0610366,1.5047843,1.5047843,23.2310435,19.077634,45.6090895,19.7908652,35.0134856,69.7523544,38.0458264,51.763362,27.3875929,3.4047072,11.8877891,10.5587377,37.1391988,11.739197,1.3206836,1.3206836,22.9027392,18.526598,46.6828715,18.8732722,35.4149935,69.0680366,36.1788762,50.6298647,26.1819465,3.6127447,11.5476406,11.0709987,37.0222832,9.2105898,1.5182966,1.5182966,23.0038281,18.0683222,45.4876716,17.9439344,36.0881566,69.4510952,37.4431445,51.4107217,26.2202783,3.7884006,12.2306119,11.5874818,34.8971378,11.3445932,1.6250158,1.6250158,24.7312577,19.0467805,45.2647757,17.0541783,37.3017935,68.8767259,35.9343774,50.0468825,26.0270817,3.3823636,12.942074,12.1251439,35.1841782 +784,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3758837,1.4031411,19.8294865,14.2151608,81.3330591,14.2307669,34.1998919,65.4508741,36.9283715,40.8908785,24.2522172,6.5583358,14.3766639,12.9070854,37.587554,17.0289855,1.29864,1.3149146,19.6352911,14.2281653,80.5223158,14.2424052,32.3536663,65.6286636,37.0057588,40.4310022,24.9776454,7.1548108,14.7119293,12.726723,38.4938921,18.1481481,1.0262338,1.1228566,19.2703496,14.1787464,79.8164529,13.7437328,32.9410124,66.099085,36.9543041,39.6595714,25.3485494,6.8493675,15.3507843,13.0167469,40.8109161,16.4122137,0.8993158,0.9956506,18.5781021,13.420018,79.2022555,13.1358258,33.0400575,66.8982311,36.667267,39.6045947,26.0415195,6.348245,14.1011975,13.0857135,40.5059994,15.7692308,1.135571,1.2337175,18.5634145,13.3751018,78.8794766,14.5286409,32.1200034,66.1373089,37.3327526,39.1004214,26.2862077,6.4940592,15.5866472,13.6290888,41.9389951 +785,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0493265,2.0753941,26.8480718,22.1548366,80.3839635,14.6387863,35.3725964,65.3618877,35.2788195,45.7648039,25.2460419,6.1337509,13.4572674,10.0286087,35.7462357,15.2840302,2.3389379,2.3560365,27.8345842,23.0112077,80.7389338,14.8089566,34.8742825,65.4283769,34.6472736,45.0891344,24.4324247,6.1062157,14.1065403,10.3004962,35.7499151,15.692436,2.3541133,2.3680528,28.5724604,23.7372295,80.6636803,15.2385746,34.6205016,65.9258658,34.6795565,45.4444801,23.8851203,6.3127616,13.5897488,10.123723,35.4255196,15.7255562,2.4552473,2.4762683,29.905198,25.0274818,80.7951272,15.2981371,33.9005866,66.0288104,34.225391,45.0713211,23.5206937,6.0231635,13.8174997,10.4100523,35.9552108,16.2969902,2.5207598,2.5423965,30.7206031,25.6220279,81.2464304,15.7283815,32.77802,66.4206429,33.4106575,44.4749153,22.9228232,5.982008,14.0353397,10.626272,35.6286385 +786,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6254952,1.7331456,27.8138741,20.6075892,44.601727,10.0271383,39.7320999,70.3144551,34.9591967,51.8009004,34.0934577,6.687057,14.7222167,13.9986063,33.5604775,12.75,1.7865088,1.9457351,28.8586176,21.2818708,44.9489211,11.1543298,38.8076494,70.1473622,35.387551,51.4179987,34.2894564,6.4496057,15.5262544,14.2163121,31.8036202,12.8272251,1.8756961,1.9901672,28.0758353,20.8244275,45.7026823,11.2096431,38.7163818,69.5924972,35.2440342,51.3522993,33.8192538,6.281099,15.7482221,13.4942044,31.5369867,12.9566719,2.063405,2.1469646,27.6147321,20.604098,45.9408884,11.5966072,38.0036242,69.9767748,35.6908932,51.0261698,32.6184268,6.4417867,15.4553761,13.5633295,30.5740002,13.7330792,2.0239582,2.1264076,28.2873722,21.1733161,47.4740914,11.1551018,36.8731028,70.3517905,35.6174175,50.9523635,31.2702607,6.1979582,15.8794099,13.4846303,31.6341848 +787,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.2366346,1.2667502,17.5057374,12.2993176,55.0419313,9.6010497,35.6511098,68.6430779,40.1780439,45.9269124,27.4118438,4.6724047,10.8423722,9.8339118,40.752016,8.9458504,1.3584886,1.3761216,17.4198219,12.0288313,55.4149635,10.0421794,34.6967694,68.241374,39.7968426,47.4904399,28.1252149,4.6327897,10.5951102,10.1197379,40.6857642,9.9434945,1.3912832,1.4008127,17.1753391,11.6645253,55.3611337,10.2598115,32.6605337,67.4077023,38.9058452,48.3621535,28.6543015,4.5455051,10.9061874,10.144337,40.397772,9.8798922,1.4532934,1.4601105,17.1643791,11.5323762,55.4132899,10.4172458,31.5390068,66.5041069,38.4595124,48.983009,28.3956874,4.6908735,10.8742903,10.123512,40.9991227,10.7812124,1.4503124,1.4469932,17.1070932,11.4490126,55.3044673,10.7283225,31.6920109,66.2016766,38.0889916,49.4851332,28.4646269,4.5351866,11.3223032,10.4385999,40.8292207 +788,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3006293,1.3377629,18.179973,12.6161936,49.0853429,19.2303705,35.6889604,69.1221687,33.8046069,45.8087102,27.4554888,3.0505123,12.7536453,10.5293574,39.191033,9.8251859,1.3065222,1.3443075,17.846684,12.4508052,48.4275737,18.9299803,36.8720749,69.4026283,34.7642091,46.7622696,28.3382348,3.137467,12.705419,10.750717,38.3056155,7.3332193,1.3008718,1.3390655,18.2526256,13.0950401,48.340982,18.5172509,36.5128619,68.3957619,34.1853357,45.9769961,28.2640811,2.9604451,11.7614725,10.8005163,38.3921038,7.7100966,1.2844486,1.2844486,18.8038678,13.7055757,48.9724541,18.0538306,36.375042,68.9203139,34.7817063,47.0182769,28.2004307,3.059045,12.0319122,10.6299964,38.4077197,8.6044471,1.1838401,1.1932688,18.4212054,13.4088107,49.3973834,18.2621337,35.7840459,69.5438138,36.1426374,47.4644247,28.6627675,2.8943871,12.3132019,10.8205013,37.9593765 +789,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4725515,1.5117325,16.6406718,10.7936328,55.6682394,17.4052241,33.0383939,68.0853408,32.3288555,45.4495836,28.3315527,3.2736411,11.4179597,11.3768886,43.4224142,7.8931233,1.0924207,1.2108613,16.5374837,10.6677725,55.0172363,16.564627,34.2248845,67.8310914,32.0574348,44.7962548,27.7810389,2.9504004,11.3458046,11.837067,44.1812657,6.0742637,0.9267165,0.9796643,16.938042,10.996557,53.3564692,15.5632381,32.879074,67.6596065,32.1558731,43.9540137,28.082108,2.8166417,11.029502,10.8202568,43.1793264,5.701317,0.8557408,0.9093388,17.0547652,11.2320033,53.6474966,15.2626984,34.0920671,67.4425426,32.914208,44.6568946,28.5930894,2.425375,11.1208308,11.4574763,42.0973384,7.521425,0.9579433,1.0099286,16.8001233,11.0945344,54.5832426,14.5214262,33.5846519,67.222469,31.31969,43.3661696,27.1081808,2.707672,10.7061698,11.4348903,41.7327271 +790,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.3815566,1.3815566,24.3785803,18.2601779,55.3920574,23.6588978,34.011504,65.6007992,30.9108016,43.7015985,21.9961976,5.7170986,14.7940629,7.6779314,37.4059677,5.4744725,1.5427403,1.5427403,25.5177544,19.1148693,55.8026246,25.3318343,32.9826604,66.252322,32.9825648,44.8375652,21.7016623,5.4493881,15.7993446,8.3643589,36.5166846,6.3433073,1.3834506,1.5463189,25.9548068,19.7049099,56.8715156,25.2194445,32.5354215,67.1098755,33.2444729,44.0603873,22.4289131,5.0532542,17.6786661,9.1071916,36.5106287,9.246607,1.3184277,1.4799808,25.9417937,20.4624378,57.9180468,25.5670236,33.7719948,68.1578585,35.5261438,43.5965273,22.7191984,4.4737509,16.4930537,9.8957628,36.1886663,10.0694794,1.2059104,1.3654022,25.3820935,20.7979905,57.9363554,26.1655376,34.0000383,69.130527,36.7825118,43.3912994,23.391282,4.6087598,17.3684284,10.7016916,34.574304 +791,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0284384,1.0438177,16.5916806,11.0001749,59.5406714,16.6667372,34.5553706,67.5889365,32.8165634,46.0011388,24.4421504,3.8684662,11.7456695,9.964516,37.0535345,7.9657507,1.0418664,1.0574304,17.121297,11.5799037,58.8244865,15.62597,34.4471882,67.3036312,33.2214532,44.5141697,23.6212218,3.8955608,12.2749967,10.1619408,37.8843359,8.6035578,1.1432368,1.1588843,16.9526877,11.3732402,58.9503508,14.893373,35.3885603,67.171754,33.3578793,44.305478,23.4402211,3.9582357,12.5225017,10.6479434,39.3546155,9.3831588,1.2139004,1.2297822,17.2037352,11.5707082,58.9221088,14.6431124,35.5307374,67.6082538,34.5440686,44.4992617,23.7518464,3.9910668,12.6920801,10.282465,37.9319668,8.8625317,1.2033603,1.2467753,17.3436161,11.8497042,58.0327483,13.7753729,36.4386047,67.4916046,34.9684535,44.6294733,24.2874366,3.8554231,12.5611659,10.5376833,36.9148712 +792,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.4007769,1.4865612,24.1322595,19.2549417,69.5319563,18.0978938,32.9221065,65.2645695,32.3275908,40.532109,22.6367464,8.0410252,12.4236912,9.7865883,37.2991339,10.5858736,1.6436707,1.7392455,25.6458155,20.3645271,69.8516593,18.2451699,32.464718,65.4333434,31.6009255,39.6919164,21.7535273,7.9326263,13.1113718,10.5650361,37.0977308,11.8817761,1.6546709,1.7327628,26.4148375,20.9785374,71.2026209,18.2490968,31.4354245,65.6258854,30.3616885,38.6691235,20.8957336,7.6716619,13.0144922,10.323885,36.233149,12.0253178,2.0361282,2.1132569,28.3205771,22.5112268,72.3712733,18.2120126,30.8424943,65.5621165,29.3399555,37.7917995,20.5124767,7.3115135,14.0440393,10.7027889,36.6521917,12.9849152,2.4184107,2.4856077,29.6425834,24.0481756,73.0944719,17.8918386,30.005313,65.3416675,28.2770565,36.9981446,19.6091458,6.9795293,14.3959553,10.7712753,36.2096695 +793,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9478332,0.9414775,16.0605591,10.657864,52.5883958,15.0481169,34.9475706,68.3610738,32.9946514,45.1616047,27.7827781,2.4027284,10.5045419,11.2120471,40.8506482,8.5612966,1.2183898,1.2120152,15.7318673,10.9473919,51.5568777,15.0392072,37.5456352,68.6237069,33.8570311,46.3790422,28.9154918,2.1790983,11.0634445,12.3281162,40.9821889,7.5916027,1.3620566,1.3710754,16.5565487,11.3874816,51.3623507,15.9256472,37.2429901,68.9495729,33.8836923,47.0651069,29.3524306,2.1872912,12.4126358,13.8648695,41.8720647,5.9651538,1.5216673,1.5307193,16.4165556,11.4042077,52.9156441,15.8139507,36.9491633,69.4088675,33.7926808,46.5485267,29.3776394,2.3887916,12.2457142,13.3550519,41.2602345,5.5019134,1.8209932,1.8553345,16.9643378,11.7038281,52.8642748,16.1128646,37.8907935,68.8525327,34.4782154,46.5532443,29.8818215,2.8587904,12.2879052,13.4819124,42.2399035 +794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3455011,1.3812512,19.7283562,15.5386756,73.9369594,17.6948074,34.1745226,63.1839615,31.5801765,44.5518879,23.4669872,5.4952819,12.0452209,9.9803323,36.4222056,10.8231263,1.2276444,1.2629253,20.3585958,16.2278716,73.732409,17.9598364,34.6848849,63.5542198,31.4411389,44.0454091,24.2122331,5.5375332,13.049692,10.57414,36.3066424,8.8588148,1.1992984,1.2335075,21.4065193,17.2619051,74.2747118,17.9787748,35.8554016,63.6506466,32.7121625,44.5217732,24.5846417,5.5006718,12.6030947,10.229335,35.753917,9.5040902,1.3024441,1.3982907,21.7568693,17.3754284,74.7356849,17.8709754,35.5958034,63.7057938,33.1514636,44.063725,23.8105647,5.3470124,12.8584007,10.797468,34.85532,9.6560659,1.437231,1.5584086,22.7142796,18.2244857,75.5672324,18.4037793,34.7979918,63.6193128,32.923776,44.3773381,23.8442342,5.5185365,13.0710461,11.1063983,34.5957339 +795,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9968097,1.0070124,15.1881907,10.8880222,78.2016538,6.7747255,29.3458161,63.872686,31.5886878,41.2282871,20.8143101,6.4426126,12.1567413,10.1499357,36.5189835,5.9308511,1.0503161,1.0559685,15.1220157,10.8327992,78.5419355,6.5067034,29.4676873,64.278659,31.5523232,40.9061655,20.7531716,6.5820232,11.8530386,9.8814977,36.5873488,5.9189189,1.0266918,1.0359826,14.9904707,10.8076648,78.6526247,6.3267887,29.4156102,64.337702,31.798723,41.0417082,20.9086021,6.549031,11.7840681,10.0801702,37.1144263,6.116453,1.0261932,1.0400371,14.9105301,10.8060616,78.6901542,6.1318688,29.729038,64.6865082,31.628679,40.9593339,20.7151041,6.5298082,11.7249934,10.0304702,37.2245709,6.5664557,1.0349252,1.0439707,14.6124961,10.5444679,78.3329727,6.4366161,29.6480971,64.5955526,31.7991737,40.4553602,20.5827397,6.7186694,11.9910301,9.9786086,37.3279449 +796,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5441516,1.700538,23.0661276,18.6573086,76.2288315,18.1396306,34.5964677,63.7648427,32.384263,43.1175684,23.4125353,5.7148728,12.7069413,11.198326,33.4028302,9.8062978,1.5699995,1.7429328,23.9494053,19.2801429,77.0167698,18.3079346,33.854983,64.0847786,31.7947644,41.6204371,22.8011087,5.5269431,13.13091,11.2204593,33.5055644,9.8194175,1.712927,1.909929,25.0654052,19.9662999,77.2324159,18.2346312,33.1741709,63.8114164,31.4956992,40.3470252,22.5296305,5.5513343,13.3511834,10.8778515,33.3204607,11.2549846,2.1223981,2.3114883,27.110195,21.627036,78.2064986,17.8595233,31.5564338,63.5373358,31.6673673,40.0404103,21.6341422,5.4408134,14.1952342,10.7434968,32.7948909,14.5569647,2.1690785,2.353342,28.6810138,22.7127074,79.2406836,18.1471334,29.9191907,63.81448,29.3698082,38.823575,20.2089189,5.2583526,15.0406486,10.5904098,32.6005934 +797,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.464373,1.4414687,23.7548828,18.3837891,74.3284339,16.3371231,34.625,65.575,31.425,46.025,21.725,4.675,13.0412371,9.423275,35.1141079,13.4114583,1.6469731,1.5771732,24.2326733,18.7376238,74.8192149,16.9010547,34.2893401,65.8629442,31.5989848,45.8121827,22.0050761,4.7969543,12.513089,9.1431557,34.9683544,13.1510417,1.625395,1.5575217,24.3275696,19.0441883,75.788683,17.768595,33.9645844,65.5435317,31.8494835,45.5238564,22.3069356,4.9434333,14.0881148,9.5603272,36.0020661,11.509901,1.7067648,1.6399199,24.1517436,18.9208294,76.0009886,17.217433,33.6813987,65.0558524,30.6702283,44.1719281,20.7139388,5.026712,14.4789579,10.2602603,37.046371,12.375,1.9344247,1.8779766,25.4117109,19.6935041,75.1679463,18.5262669,33.7812353,64.75719,30.952381,43.8708157,20.9099481,5.2569543,13.8915779,10.0096712,36.5628043 +798,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8404571,1.7656752,26.5775635,20.8369851,74.9884952,18.7917967,34.3044264,65.4245709,30.6910569,43.5636856,20.9349593,5.4878049,13.6070111,9.7145488,35.8867224,13.6046512,1.9649204,1.9100852,28.4716342,22.6714649,74.9666815,18.4969854,33.2969908,65.5691234,30.7239424,43.3711295,20.7370257,5.2115133,13.5707845,9.7747748,35.5323021,14.6995708,2.1463994,2.1317935,29.650437,23.8243862,75.6315331,19.1592733,32.7276614,65.7332193,30.4189825,42.1761437,20.0726806,5.2372809,13.7946429,10.0626118,36.4986499,16.6666667,2.1146527,2.1569371,30.2819698,24.5631454,76.4056643,19.0235008,32.2865353,66.8924466,30.4802956,42.2619048,19.4376026,4.9055829,13.7446809,10.1962457,35.2966466,17.0708955,2.2424651,2.2660247,31.2425329,25.2688172,76.9053601,18.4424563,32.1030928,67.2783505,29.257732,42.0412371,18.7835052,4.8865979,13.1055363,10.0953206,35.3275109 +799,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1446173,1.1630132,19.1767472,14.3776824,53.7347043,15.0514248,32.2678239,69.7024485,37.7764298,45.2955453,27.6839421,2.9553744,11.0252049,11.1606872,37.4180452,9.2982138,1.2301444,1.248885,18.8195536,13.8513475,52.3918546,14.9395165,32.1545602,70.1349035,38.7367003,46.3409701,28.2297455,3.1275664,10.8230126,10.8873954,36.0880514,10.4014309,1.311998,1.3212745,19.4771998,14.3671344,53.0177857,14.6952737,32.148664,69.5572576,38.2006406,46.0804153,27.5995059,3.2290934,10.8568905,11.0049687,35.7563121,10.8996269,1.1168423,1.1331289,19.3295066,14.5402277,53.2862841,15.3620307,32.7976204,70.6150698,39.0674532,46.9642741,28.3928549,2.9960355,10.1351232,10.7624977,35.1688255,9.8958124,1.2262158,1.2423159,19.7916773,14.8295497,53.9121793,15.6843687,33.6149312,70.5500899,39.1944905,47.445959,27.8781932,3.0058975,10.0314595,10.1101376,34.2482255 +800,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2645837,1.2340777,23.6748182,18.23406,68.2463675,9.0992524,33.1841398,66.7811777,36.7645657,46.5082503,24.1590914,5.2831375,14.8338155,12.3658658,35.519123,10.9808149,1.3381182,1.2965838,24.2521939,18.8549041,68.7826482,9.349168,32.7641078,67.2370085,36.9530554,46.5672692,24.0676659,5.1234174,14.6361059,12.2862508,35.6487287,10.9147632,1.443161,1.4644136,24.8551906,19.1912805,69.3053528,10.1244218,31.7371644,68.0183262,37.4203367,46.5447542,23.4922573,5.4914758,14.9020878,12.459441,35.5647145,11.7,1.6479052,1.6434126,25.3088148,19.5543347,69.6202652,10.4562923,31.0151305,68.6827298,37.5831893,46.9512297,23.3329634,5.8795783,14.4626767,12.1268968,35.4442311,10.8775137,1.9934862,2.0251107,26.5763114,20.1402205,69.3054193,11.21633,30.0279858,69.4661773,38.0692664,46.5195033,23.4715281,5.7622768,14.2315121,11.7587157,35.3985685 +801,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.0973959,1.0993513,20.0349738,15.505281,67.6405001,13.5726457,33.5354645,65.9019388,33.8235709,43.9381133,23.4431816,4.4546077,13.626412,11.4390041,36.8634046,13.1235769,1.0517974,1.0716735,19.9552787,15.2541734,66.9879751,13.6284387,34.2514201,66.4677625,33.9891018,44.4816148,23.8658516,4.4106302,14.0267314,11.5196687,37.0442283,13.4623101,1.1727902,1.2281393,20.2564663,15.3951715,66.8938155,13.3921532,33.6940135,66.7264018,33.6117597,44.1103548,23.7339501,3.9353193,13.9931476,11.3189448,36.8435599,14.1600237,1.2632414,1.3188578,20.8624059,15.979809,67.2290954,12.8862114,33.44839,66.8908494,33.6249225,43.496937,23.6696137,4.0350227,13.6708785,11.1913307,35.9275334,15.2860832,1.1898435,1.2485414,20.5423337,16.140535,67.3259877,13.3516172,34.1577875,67.2533267,33.8571999,44.3792494,24.1797143,4.2106093,12.9985082,11.0378176,34.7332773 +802,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3806455,1.3806455,25.0680207,19.2759385,45.5198749,17.3302383,36.5524013,69.139697,36.0668748,51.3708483,27.6218924,2.9931399,13.0731145,12.6525424,34.9307931,9.8290697,1.5326283,1.5781445,24.7575704,19.0591848,44.7030898,17.2927031,36.9127053,69.4104053,36.8205276,50.8247451,27.6714163,3.4532583,12.3871229,12.6029485,34.6741248,8.1196742,1.4094102,1.4531732,23.9241133,18.6418378,44.0694274,17.6768705,36.698114,69.4117927,36.6082099,52.0181334,29.366429,3.8063094,11.760405,11.9886383,34.2187634,9.375014,1.3247608,1.3772973,24.4818468,19.045309,43.1460696,16.6150247,37.3082277,69.8136586,36.2640146,51.2234506,28.2533555,3.3832781,12.1442004,11.806106,33.56944,9.1345451,1.4561909,1.5081297,24.6926871,18.8541916,43.6048003,17.1345412,37.7947184,70.431702,38.0842461,52.4037508,29.2578365,3.3672621,12.0343757,11.077783,33.9834188 +803,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3677564,1.3040955,24.6150199,18.8538258,46.6943468,16.2272881,36.9333746,69.4859257,37.8578345,51.6424078,29.6551606,4.0215213,14.138462,11.5383612,34.1131682,5.948399,1.3633152,1.2920907,23.0925799,17.2401189,46.756271,17.4545217,36.1955216,70.5101971,38.7775468,52.5264008,30.779151,4.380237,14.2209019,10.9799501,32.8220051,5.948399,1.2897328,1.2194133,23.5366739,18.1961038,46.7546114,17.5792703,35.0974286,70.3400559,38.374857,51.8573135,30.1134752,4.2333333,13.8984711,11.1207432,32.5489904,5.4043672,1.307943,1.2792285,23.8088778,18.3310133,47.1049117,17.480998,35.3264144,70.8855151,39.4220222,51.5218069,30.4167672,4.0490669,13.8026388,11.4890555,34.3405656,9.1065738,1.3507648,1.3086703,23.7239015,18.1897437,45.3290078,17.9262591,34.6070619,70.3458215,40.2171205,52.0680312,28.6589752,4.2069197,14.5215733,12.1502273,32.8391091 +804,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.0869693,1.2417699,25.8564943,21.6150103,58.3619113,26.5048868,32.8572773,69.6639288,35.5462165,41.5966238,24.1175947,4.9580415,14.5484737,9.531701,35.9797566,8.2734111,1.1756117,1.4814259,26.8430525,21.8750401,58.6880582,25.9471905,34.0835094,69.5833698,33.7500052,41.0832635,22.5832823,4.4167219,14.2617447,9.8992773,37.4577325,11.2318841,1.5558291,1.8469538,27.7948701,23.3537675,60.1437879,25.8540679,34.3016351,70.8791248,34.4583876,42.1505624,23.6262179,4.0031931,14.130455,11.0248264,36.3208971,9.7316089,1.219147,1.5052733,26.853371,22.9198863,60.5845251,24.7320605,35.0079792,71.1747818,33.6168503,41.0354061,23.4157274,3.4776292,12.2670588,10.0931221,37.4610693,11.073937,1.6176651,1.7647256,27.2938855,23.5614129,61.1201751,24.6045447,33.5727034,70.7337243,33.5727831,41.5469551,23.3653326,3.269574,10.7476585,9.8129101,35.3775447 +805,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.688464,0.7479316,16.5291808,12.9559716,85.8566801,13.1949408,27.9943195,66.2716633,30.2115406,51.1595155,20.6803866,5.77218,12.768616,12.2182821,32.3816211,6.3853459,0.835389,0.9005861,16.6914385,12.9628819,86.1140286,13.1690568,28.3054275,65.1848986,29.3186304,50.7978825,20.7573047,5.76242,12.4999412,12.2569605,32.3498186,5.4487754,0.8074066,0.8636871,17.0739567,13.2118236,86.106913,12.6322499,28.7939073,65.4747064,29.5664264,50.3488733,20.3463864,5.3949726,12.512331,12.165559,31.6508112,5.2469795,0.8581928,0.9381902,16.8668986,13.1132205,86.21084,12.5340527,29.4434416,65.8686586,29.769365,48.7465636,19.5913616,5.4775716,12.2636358,11.9154832,31.7272818,5.925242,1.0252471,1.1136437,17.4082348,13.5650017,86.19013,12.3691507,31.2062476,66.2050158,30.1708001,47.6701998,19.2466945,5.9409853,13.1836861,12.5000425,33.8416692 +806,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5830965,1.5869624,27.1659376,21.8578295,44.5065223,15.5066379,38.5923913,66.619871,36.7197406,49.1417068,25.8271103,3.0118554,10.7409656,10.0062344,35.848457,21.7045553,1.5990469,1.6029127,28.1803907,22.7675614,44.6450745,14.96609,37.1254383,65.2153097,35.1591564,50.9206784,27.3564291,2.8557977,11.2476173,10.0630794,35.9859681,21.5935435,1.6350124,1.6532006,29.2560613,23.4804462,44.7108605,15.0749891,35.7054031,65.0697285,34.0619988,53.31779,28.3255814,2.7441761,11.4687294,10.168936,36.3664089,22.1064557,1.6499071,1.6781385,29.6906774,23.8328213,44.2155558,15.004518,34.8804638,64.8130996,33.1341424,54.0593472,28.416023,2.8032963,12.2910026,10.9974923,36.3324341,21.2940706,1.7270093,1.7384715,29.5506671,23.8115431,44.5005102,15.7050126,35.080604,64.3817175,33.1391371,53.6289452,28.5393882,2.9719106,12.9393788,12.2046984,37.0200427 +807,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.9667774,3.0281372,36.6538822,30.5915002,77.2946868,21.924937,25.3747327,61.555738,24.8651121,44.2596346,17.9706215,5.4706046,17.2689205,13.1297953,34.6725444,12.1100015,3.1884053,3.2545596,38.6486053,32.5035213,78.2512303,22.1985094,24.3786328,60.4479783,24.5231266,44.4364419,17.8179032,5.4479588,17.3131467,12.7641196,34.7388936,13.29016,3.2688833,3.3446588,39.8939176,33.8547499,78.846135,21.9270065,23.4798102,59.4665908,23.9496956,43.0762984,16.8463027,5.6246382,16.9310486,12.4109215,34.368083,13.7552846,3.6808738,3.7614294,40.8441902,34.7662694,79.2216367,22.3626303,22.8090961,59.1872113,24.1329084,41.5011907,16.3489439,5.5467177,17.6393756,13.133125,35.4526022,15.0096643,3.8655277,3.9423274,42.3588545,36.4554571,80.1036388,21.8021359,22.6810858,59.2887171,23.7493481,39.695157,15.3334991,5.7972774,17.4974371,12.7960793,35.341222 +808,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.7303011,1.8011352,28.0262056,21.3911395,48.1837837,10.6811088,34.1494688,69.4665353,34.5734103,51.3124042,30.7589538,6.038751,14.5273604,13.1194672,31.773218,13.7667485,1.7439393,1.8137276,27.8414933,21.4505129,48.4926569,10.8171449,32.3257656,66.1535095,32.465417,52.7603477,30.2331699,5.1957742,14.0530428,13.824211,31.1040658,12.6711627,1.7608572,1.9388422,28.0476244,21.3468808,47.1870407,10.8852711,31.9547189,65.1380927,31.8853442,53.6518786,30.0767608,5.1808455,13.6713938,13.5709588,30.7922108,14.2037943,1.8817509,2.0212702,28.7713085,22.2320994,47.9216647,10.7403856,30.8841955,63.6722178,31.2176084,53.4682249,29.0185546,5.296173,13.9811985,14.2781347,31.1388034,12.7111206,1.9524447,2.111983,29.0559952,22.9787867,46.8761789,10.1895242,29.4446773,63.1149869,30.575667,52.92265,28.4431877,5.0887282,15.2468012,14.4805094,30.1922596 +809,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.9735405,2.0056491,26.7104717,21.7113173,49.022226,13.8214818,38.2126018,68.1371583,36.2655549,49.1580288,25.3551937,3.7274179,13.7873706,12.3340783,37.0225996,19.9367494,2.0123931,2.0444654,27.0982823,21.9123249,49.2087896,13.9331438,36.4123099,67.2368644,35.1666693,50.6052773,25.9912309,3.5701796,13.7023835,12.5226912,36.6703443,21.036595,1.9476499,1.9739366,26.8733468,21.782612,49.2926799,14.3063813,35.3078376,66.968467,35.1181238,51.862397,26.4787015,3.4230074,13.658812,12.7948219,35.3827409,19.9878542,1.9342024,1.9653725,26.5731647,21.4926309,49.0597694,14.916995,33.9599069,66.1081932,34.5212068,52.5514919,26.8838362,3.5635406,13.2745132,12.1112947,34.556556,20.5302096,1.9680449,2.0068106,26.3993132,21.1763937,49.5464358,14.842474,33.5474051,64.9182994,33.3139126,52.5600809,26.7595271,3.2938714,13.1328779,12.0929645,33.7384722 +810,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.9557583,2.9728069,35.935062,28.8789823,53.4417155,20.2268586,28.2578317,62.7428475,29.2259998,50.2366964,25.8222342,2.8492067,17.1634462,15.1636953,38.8993588,17.1140351,3.0698832,3.1240209,37.6545491,30.7004227,53.6498321,20.603873,28.0814713,61.6823627,29.138077,49.1395421,25.0693359,2.7867341,17.0774826,14.3885361,39.5954248,17.0745289,3.0487896,3.1423664,37.8385386,31.4306354,53.0081048,20.9383266,27.126582,61.377738,29.4372642,48.1228562,24.9561785,2.7480907,17.1529845,14.2930862,39.5711624,16.9580003,3.5507663,3.6064375,39.3763208,32.7965643,54.0461179,20.475631,26.9828306,61.1480489,29.6975457,45.4993625,22.7981024,2.8459712,17.3974883,13.9616317,40.5594949,18.7396819,3.7820867,3.8656662,40.2426133,33.4183145,55.3206658,20.4006943,26.5335542,59.7765393,28.8366929,43.1050964,21.1814837,2.6707805,17.8968263,14.3506447,40.8022926 +811,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.2081839,1.2596974,21.0670202,16.6510898,67.377243,14.1796151,33.2765804,67.6732947,34.2433843,44.6568884,24.2788376,4.0310036,12.7676233,10.7159305,33.9849803,12.8475977,1.4770464,1.5272462,21.9677855,17.2328656,67.5471585,13.803783,33.159041,68.476464,34.420807,44.0440847,23.6857139,3.9609104,12.966059,11.1757198,33.5214706,15.2616642,1.4454384,1.5054522,22.98539,18.1281002,68.2103738,14.3167722,32.6134703,68.4869031,33.9797988,44.1557932,23.2364472,3.9914317,13.1800442,11.0624688,33.3390889,15.8267058,1.5330149,1.5912141,23.7372785,18.8669255,69.0062492,14.809018,31.4343552,68.316217,33.2293393,43.3871906,22.1900583,3.7832908,13.0041755,11.0322096,32.6397816,17.2413848,1.7031807,1.7398932,24.7935719,19.9218744,69.3813061,15.7453467,30.9600034,68.8610813,33.3175031,43.8069553,22.0312643,3.8583447,12.9394405,10.8077849,32.3028886 +812,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9584153,2.0186313,31.2037606,24.9575212,49.6578877,13.6108083,40.5505373,66.574897,36.6859203,47.6138651,27.5659384,3.8948821,13.466161,10.3385623,33.9610977,20.6439394,2.0511881,2.1136613,31.0888468,25.1675061,49.7098383,14.3800416,40.2701477,67.1764862,35.7020653,47.9652815,26.7516918,3.47304,13.7608842,10.7855362,34.6491228,22.0648267,1.8670249,1.8996302,29.9660738,24.2251113,49.3493249,14.3153423,40.8414118,67.3222152,37.334842,48.396918,27.2969678,3.4159064,13.2883471,10.8780305,35.149038,21.5164521,1.8009012,1.8191552,29.4619127,23.7821519,49.4839516,14.6503619,40.3867861,67.6860395,38.0129524,48.812187,28.6345118,3.7091396,13.5775937,12.0800117,36.3711823,21.9262975,1.7277077,1.7548363,29.0564119,23.4788217,49.6070696,15.2604275,38.6468421,67.2093479,36.9318986,49.5260372,28.4737729,3.6959793,13.9924658,12.7079085,37.0589398 +813,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8884451,1.9310119,18.2234754,12.1936303,52.1494509,16.404498,37.1310624,68.4810003,34.1572239,45.5922475,28.0629138,3.0130579,12.4029551,13.5331172,43.2983946,11.8585901,1.8301355,1.8741835,19.1681432,13.0737072,51.2883103,16.469888,38.4944296,67.8246102,35.4097782,47.0123095,28.4044393,2.7824206,12.24347,12.7173458,44.8106792,11.8194615,1.8317802,1.8566001,20.0454606,13.956178,52.3375854,15.6594326,36.5013914,67.0665019,34.097166,45.6184765,27.1508677,3.0443653,13.0936335,12.0583354,44.9216854,12.5740888,1.3992377,1.4240164,19.9944889,13.7586536,52.5454256,16.0234576,35.1254645,67.394445,34.782083,45.5882715,26.7689794,2.9355309,12.7350871,11.1775922,42.6751618,13.8126415,1.4271369,1.4738883,19.8027223,13.5979287,54.2338744,15.153511,35.471893,67.6132838,33.7770727,45.3674297,26.6343485,3.0608991,12.6644305,9.8160486,42.7396748 +814,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.1394706,1.1303317,20.6778361,16.5962051,65.4711628,9.7534287,33.5633719,67.772339,29.7491897,42.3938854,19.6868507,12.9934699,12.0090695,9.8700124,38.3596987,11.0318727,1.1648175,1.158389,20.7713526,16.5864606,65.3991544,10.4867011,32.36913,66.6641924,29.2906068,44.3857882,20.7688935,12.6189768,12.1969731,9.8666235,38.2487665,11.7521217,1.2285925,1.2466363,20.8351188,16.5807167,65.035429,11.1404924,31.3863862,66.4169377,29.0587776,45.6139144,21.6831602,12.0090205,12.2746402,9.9639261,37.8447897,11.3046858,1.2400865,1.2382471,21.2847692,16.671323,65.6241016,11.8825045,30.4943943,66.2949348,28.7185723,46.3063038,21.6295035,12.0258571,12.3101617,10.2889618,38.2743261,11.0116437,1.2491408,1.2473405,21.723379,17.1313343,66.0115539,12.4454467,30.1068603,65.2581228,28.4138224,46.495983,22.0302596,11.8998065,12.2358634,10.0313878,39.0395055 +815,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3.0102391,3.07774,32.0233493,26.0051891,73.7578057,17.6634082,29.2202532,65.0723494,26.9158634,37.1784632,20.0294759,6.7390161,15.6010917,11.2295058,37.0237319,15.4182909,3.2411143,3.3750013,35.3098009,28.8090369,74.7811116,16.8953928,28.0225527,62.1426684,24.1673168,38.8539199,20.2596392,6.2286933,15.6629685,10.8557826,37.6066058,17.201838,3.7491911,3.8525025,37.3956805,30.7191932,75.2435911,16.6791256,26.9221011,60.2807244,22.4962017,38.7329297,19.2336892,5.5513424,15.8823492,10.761758,38.0596914,18.2612358,4.1830257,4.3006607,39.7886497,32.8781753,75.6733403,16.7106546,25.8956821,59.5052394,21.7767459,39.3492569,18.9983,5.3010009,15.2955684,10.1774318,37.8599722,18.97375,4.622856,4.7497201,42.5984238,35.2868376,76.5650674,16.9877619,24.7984266,58.2008738,21.3199664,38.9196043,18.5556346,5.2868022,16.3033424,10.2879751,38.2943871 +816,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.9610211,1.997253,25.635673,20.0416061,45.0638532,12.133398,37.1393946,68.0048244,37.4759621,49.0143961,28.8701932,3.4855788,13.8689688,13.3572283,40.5670231,14.9831128,1.8651004,1.8937729,25.8376267,19.9581352,45.2205861,12.1827747,36.9679557,68.4734364,37.4452843,49.5240365,27.851263,3.6037274,14.7416214,13.1205767,39.3367628,14.4443947,1.9017863,1.9303348,26.8135289,20.8346799,45.3458989,12.6280575,36.4292633,68.5351457,36.9966432,49.2921273,27.3987811,3.4278062,15.6465671,13.8696951,40.109356,15.7811974,2.0072756,2.055721,26.8182926,20.4741764,46.3854204,13.210222,35.7824584,69.010051,36.611935,49.0566185,26.7504301,3.6174195,14.7846539,13.0497053,38.6864859,17.7272175,1.9526978,2.0306719,27.7263421,21.1998079,46.6798098,13.9698906,34.4728757,68.9248836,36.5492727,48.9631252,26.167269,3.8460535,15.889175,13.5436791,38.6075823 +817,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.3786194,2.5917942,31.7693655,25.1226307,45.9621405,10.637166,28.0542082,62.4673228,30.442348,52.3841381,27.921376,4.7440011,14.9093757,13.7848724,31.4763118,13.3697332,2.6848504,2.8765135,33.182563,26.2997779,46.8096236,11.1750907,27.1134397,62.0037627,29.6947708,51.0349249,27.2986659,4.5015834,15.4065644,13.7978468,31.5639665,14.1574676,2.9020342,3.0870564,34.117618,27.2294859,47.5248786,11.5775739,26.704639,60.9617704,29.0286541,50.5534122,25.8450226,4.8009197,15.9476372,13.0765041,31.9683328,16.1015694,3.1362673,3.3466965,35.3493793,27.9637805,47.9180738,12.0200846,25.7954026,62.8317023,29.4315428,47.9729246,24.8223958,4.9996927,16.7433867,12.7560773,32.9422867,16.7795245,3.3132701,3.418734,35.3880515,28.2821981,47.7704888,11.8594495,26.7475028,62.7239763,28.6987612,47.1717881,24.6709005,4.8476576,16.0345193,12.5999308,32.8003355 +818,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.1008982,2.1880744,28.4467038,21.8802694,45.8813475,14.4456507,32.9212043,68.4817869,36.1141431,49.8562206,27.4060777,3.8944247,15.6124153,13.7913679,38.4808838,14.9370849,2.1843346,2.3775538,29.5403615,22.7761089,45.3515982,15.4230815,32.9021579,67.974599,35.4836576,51.2190688,27.3981156,3.9209817,15.0049671,13.2968034,38.3117089,15.9163666,2.2288234,2.4256449,30.4994393,22.718253,45.4421964,15.715906,32.2947594,66.7071821,34.7186267,52.4965269,27.8271528,3.8259409,15.7818416,13.2593892,38.3462565,16.2613883,2.2576585,2.4783619,31.4723134,24.242485,45.2190841,15.7390587,31.8747398,65.8307871,33.7923517,51.8487901,27.5249688,3.5780088,15.2706151,12.6563737,38.5332741,17.5675517,2.560908,2.7760854,32.2821484,25.4070405,45.2963933,16.5081822,31.0439097,65.2127177,34.2828562,51.3926883,27.9417847,3.8092057,14.8518694,11.9732195,38.9179175 +819,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1775037,1.2117881,17.305452,11.7758592,57.443928,12.9254702,36.1036273,68.0591737,35.2051498,44.5792694,24.6032385,3.8784409,12.5458316,10.2322476,36.9536782,8.9532934,1.2224247,1.2291688,17.6462608,12.4027616,56.782873,12.9371792,36.0147764,67.749865,35.8089125,44.7794688,25.2501253,4.044156,12.6970428,10.5344583,37.0947461,8.5678502,1.2412451,1.2593711,17.7761684,12.3982032,57.4457116,12.4706974,36.1168515,67.7691746,35.7312198,44.7790053,25.4672656,4.2272757,11.9472176,10.0001329,37.2675207,8.2071449,1.2977252,1.3068129,17.6306877,12.0507762,58.1166049,12.6836635,36.1914586,68.0435023,35.7441167,45.0789575,25.9916152,4.0710312,12.0721434,10.1597539,37.6696297,9.2138365,1.1807165,1.174336,17.8341038,11.9724289,58.4496137,12.270506,35.5085231,68.5418083,36.5886187,44.8394122,25.9675419,3.8254265,12.5624797,10.2380935,36.8302264 +820,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2602354,2.3859493,31.2453852,25.0710337,79.67129,18.6124009,28.1567375,63.8867605,28.5219686,38.9961787,20.2372759,5.1277526,16.0335997,10.9044533,32.5350009,15.539455,2.2480574,2.3768359,33.1896344,26.7482545,79.9096907,18.4264072,26.31841,61.1011038,25.7484618,40.2172287,19.7256357,4.8289523,15.9786463,10.5131898,32.4120504,16.3011744,2.423357,2.5155838,35.7422258,28.7611276,81.0516734,19.1362328,24.8040333,58.7503158,24.2254583,40.4322593,18.8798525,4.5114189,16.2687573,10.2870849,32.7041773,15.8203166,2.8881224,2.9962725,38.6908987,31.2871734,81.1286152,19.7534984,24.1662198,57.4780423,23.0981431,40.4174683,17.6271052,4.2246797,17.1622508,11.1075115,32.6483906,17.2268829,3.3164916,3.4243456,41.2544724,33.9839126,81.3744118,20.1867212,23.185481,56.249994,22.3169944,39.9658796,16.6718378,4.0477679,16.697305,11.0940306,31.7817461 +821,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4350994,1.4350994,17.2239001,11.3108131,48.4030657,16.3899316,36.7162467,67.8895406,36.6600785,49.1855676,28.6280517,5.1393846,13.0814045,11.1689661,42.0163114,5.3795145,1.2031475,1.2031475,16.2597643,10.9223835,48.3346436,15.5558481,36.9000759,67.9202368,37.2403337,48.071867,27.9966814,5.0187964,13.3216025,10.5600749,40.4117602,6.27781,1.1931503,1.1931503,16.3316622,10.8601464,48.7603561,14.1541229,37.0072448,66.8990681,35.8749786,46.2352034,27.0433188,4.6139793,12.1824537,10.4022806,39.4097173,5.0215424,1.0892437,1.0892437,16.4093017,10.9851956,49.751023,13.3374453,35.7779104,66.4843146,34.3922479,44.9787353,26.2445364,4.2955599,11.4819056,9.3220258,38.8068017,4.0719928,0.9316208,0.9571281,16.4067401,11.2052816,50.344382,13.1264021,35.7382973,66.189242,33.9666115,44.8735752,26.2708439,4.1247133,11.1431948,8.6981502,39.0824314 +822,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.078294,2.072703,28.2293877,21.5073071,70.1020336,11.5036564,28.505894,68.3743558,36.15095,46.6071409,22.5750431,5.3652224,15.1207553,12.0668112,35.3397665,13.597973,2.1191776,2.1521557,29.5520515,22.6709525,70.3105339,12.1048693,27.4277847,66.4258885,34.8516371,47.582995,22.7239468,5.4586894,15.6900079,12.1037204,34.6169661,13.0062346,2.2809693,2.3509795,30.8870293,24.4852424,70.2302193,11.8973002,27.1320211,65.3331884,33.5489738,48.718264,22.5898695,5.3145253,15.7213034,11.7747724,34.2173294,13.4294406,2.3676321,2.4371675,32.2231446,25.687607,70.4628701,12.5922533,25.7259833,63.9733896,32.7377087,48.8340186,22.2027296,5.3822197,16.5096999,11.8985083,35.1109196,14.9645411,2.6012245,2.6195405,34.251396,27.4048023,70.6227327,12.6521602,25.1205118,63.1393577,32.1345668,48.2882025,21.5649223,5.0621859,16.3089411,12.4669686,34.6319698 +823,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.118388,2.2150974,28.1063367,23.6342389,47.9453978,16.0916379,39.8587215,65.4146425,34.1416212,49.3570495,26.9375744,3.3498635,14.1921126,10.2771745,30.7642096,23.7928409,2.019086,2.1181836,28.132277,23.4502,47.6352701,16.0439808,39.5975298,64.8686871,33.6997443,48.341261,27.4751774,3.2694066,13.1854788,10.3354726,32.005699,23.5907186,2.6503169,2.7285828,29.251028,23.9936387,50.0742689,16.2068026,37.749592,64.5006325,33.9905608,47.3008863,27.1098564,3.2467217,13.5248798,11.93346,32.0824152,23.9962147,2.593332,2.5896479,28.2158465,23.3027061,51.4118806,16.1423439,38.5964108,64.7692073,34.5084309,48.1858204,28.1847472,3.4040496,12.9861408,11.7286742,33.3613215,23.8351014,2.373273,2.4106711,29.0410186,23.4986296,51.2708765,14.974125,37.4995238,64.751665,34.0913929,47.1031228,27.2697484,2.7211204,12.7434782,11.5131043,32.3657859 +824,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7071434,1.71775,24.3897071,19.3812693,58.9922673,9.5459568,29.1937076,66.9382835,34.3696486,41.2675197,21.881996,4.1923755,9.8339993,8.6766499,33.511088,16.9113823,1.7765844,1.7873455,24.1911955,19.2954189,59.1511355,9.5695663,29.1670224,66.9732142,34.3687804,41.5544116,21.9241519,4.1553309,10.0993352,8.8387402,32.8284388,16.5715325,1.596153,1.6068098,24.306025,19.184144,58.9980015,9.4862049,28.8646295,66.9854317,34.1357037,41.1528184,22.41005,4.3169014,9.8247352,8.5570274,32.7808293,16.4297697,1.6159353,1.6201959,24.7730668,19.5824948,59.31339,9.3214992,29.4426025,67.4139767,34.6948062,41.4307522,22.8570546,4.1970125,10.065767,8.6628726,31.5544642,16.3086022,1.6684,1.736318,25.0617281,19.6492196,58.9824999,9.1091378,29.7343446,67.7076556,35.0904917,40.7403377,22.7725568,3.9876124,9.7268268,8.7628779,30.9871641 +825,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.1751063,1.2659559,17.767005,13.8938328,86.5791553,12.2536727,31.6257657,66.6977366,30.4017561,46.1814641,18.7998836,5.7610491,12.8278935,12.4934887,33.4996002,7.6693885,1.0786989,1.1460224,17.4806609,13.3925302,87.0411936,11.2049964,32.1446627,66.4180832,30.0297987,44.8346059,18.3703798,5.4365549,13.2925409,12.5265833,34.4449831,7.6271632,1.0338817,1.0844121,17.2904604,13.1281642,87.5034092,10.8545953,32.0942483,66.4668105,30.4422844,44.377874,18.1055462,5.2624826,13.1704248,12.4606661,34.3964556,8.552683,0.8180414,0.8551683,17.112533,13.0605515,87.6021303,10.6215698,31.2110013,66.4029801,30.6405679,43.5814827,18.5295692,5.1737819,12.9391179,12.5515557,34.6393588,8.3962771,0.921782,0.9509579,17.5740197,13.5351721,88.0693838,10.4251647,31.1540642,66.6623455,30.5042871,43.2675192,19.2227729,5.445829,13.3211297,12.9192905,35.1715515 +826,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.948856,0.9744547,16.1300601,11.0392713,51.0804139,12.4236464,36.0195894,66.9094021,34.4113285,44.9482354,26.3145499,4.076118,11.0277187,8.4580006,38.4124975,5.1424004,0.9330817,0.9592429,16.8809906,11.3009712,50.437837,12.1004771,36.5683917,66.9901721,33.8491455,44.8961411,26.7110794,4.1638662,10.920905,8.6572489,38.7039396,6.0920662,1.1113984,1.1374265,17.1340402,11.0768418,51.4409401,11.2256262,35.395468,66.6949454,32.6836249,44.9434892,26.4124244,4.2090358,10.3062499,9.0000053,37.395972,7.3991065,1.2964397,1.3226041,17.8794784,11.9670315,51.1554136,11.6311655,35.6899367,66.9222337,33.4185217,45.7978289,27.0016931,4.5712627,10.5047022,10.492386,37.8106659,7.2614168,1.1068379,1.133349,17.4525602,11.7596367,50.7353151,11.7361454,35.1014328,67.6811831,34.5217398,46.0579603,27.3912955,4.4347791,11.6487553,10.5608668,37.8166664 +827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2030523,1.2300614,17.9223742,12.078479,50.2655067,11.7685847,34.935796,67.4530631,35.2814895,45.8739527,27.861676,4.4287669,12.7434039,11.2244338,38.4383894,8.1932911,1.2711036,1.2711036,17.7413474,12.1232774,50.3010812,11.5144148,35.1290719,67.4256269,35.9707763,46.1210076,28.7571702,4.7858147,13.0322285,11.8690876,39.8254691,8.9130551,1.3522192,1.3522192,17.9551238,12.3268531,49.4228491,11.8434998,35.2485485,68.4496671,36.4090482,47.0838227,30.066898,4.9521331,12.861359,12.0857785,40.7714264,8.8235374,1.3133432,1.3401464,17.7647452,12.7252713,49.9284329,11.5808135,35.296103,69.9407313,37.1320462,47.2239108,30.4300021,4.765134,12.8868196,11.5543387,42.1117906,9.3181903,1.2278008,1.2716732,18.8985932,13.672432,48.9158704,11.8434385,35.8132654,70.6244093,37.5734324,46.8625323,31.0499179,4.6632684,13.8458405,12.6470763,42.2517309 +828,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.062672,1.0721814,18.6556492,13.4694846,49.6841057,17.4831597,35.8587776,70.2427353,36.0650284,47.9575457,28.5672456,2.8179164,13.5672912,11.2846896,37.2392188,8.2497649,1.0709505,1.0803566,18.9180669,13.6340416,50.5985255,16.540776,35.4816657,69.3072997,35.633934,47.1978121,28.0434021,3.1328828,14.2019488,12.0741484,37.6083307,7.551926,1.1830085,1.1923833,18.7839998,13.622835,51.2657879,16.5244821,36.3940984,69.9134646,36.3935491,47.3293138,28.8654378,3.4841417,13.4287737,10.9870183,37.0153521,8.4539388,1.1368964,1.1742537,19.006369,13.8655292,50.413267,16.3666996,35.8163307,70.0304369,35.9174464,46.4411248,28.3425198,3.7365496,13.138237,10.7861343,37.4737304,8.3331825,1.2587572,1.3208563,19.0150424,13.712046,50.688325,15.1305031,35.7221151,71.0525936,35.3047678,46.3000351,28.3219613,3.6215849,12.6871387,10.3206146,37.6494266 +829,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8792461,2.9784693,36.5897496,29.7160369,70.7961694,12.6619254,24.90184,61.5236642,31.4912385,47.6113708,20.6714413,5.1029592,16.7258886,12.4074102,34.2616192,17.4475999,2.8381468,2.9268386,37.6990323,31.0290742,71.7732442,12.7761384,24.7735919,60.5867349,30.72775,47.4045727,19.5476015,5.2706467,16.7648176,12.6328669,34.4874933,17.7867985,3.2089222,3.2805299,38.2930504,31.5920457,71.9401482,12.503275,23.4645067,59.6716232,30.4266222,45.6317797,18.8901409,5.2580236,16.0088522,12.2917347,33.495412,18.7639303,3.7183399,3.7687522,39.6687839,32.7541748,72.4000854,12.7830468,22.9801723,58.9973153,29.4348687,43.1735332,17.5234612,5.3272794,15.9305265,12.2963796,34.0372564,20.4569694,3.9431442,3.9730978,40.9009573,33.6523424,72.6694416,13.1279943,22.9894652,58.2013882,29.0227863,40.8078662,16.2461449,5.4534396,16.0780255,12.2748373,34.2079403 +830,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0396692,1.0485958,14.5838049,10.6012717,78.380814,6.4584476,29.8387449,64.4476979,32.0363309,40.5160723,20.2474515,6.8899001,12.0713136,10.2360656,37.9067629,6.5925543,0.9704106,0.9787583,14.4943657,10.4903965,78.3728417,6.6031036,30.1105621,64.4912161,32.2433519,40.5795485,20.2346578,6.7566802,11.8876951,10.1698747,38.247292,6.7927544,0.9767036,0.9901423,14.6310531,10.5479278,78.6026392,6.6976737,29.8530526,64.8251157,32.0906186,40.0387604,19.892127,6.4838451,11.969674,10.1140004,38.3641457,6.9319979,0.9857633,0.9921825,14.6812799,10.806423,79.0957986,6.7931486,29.2837591,64.5890252,32.2413688,39.8684719,19.8686897,6.2923385,12.4912299,10.3172756,38.7732185,6.9080637,0.963997,0.970722,14.7390347,10.880951,79.4434506,6.8846138,29.3533748,64.7165723,32.4570202,39.9052433,20.0176295,6.2278885,12.700604,10.269324,38.6900614 +831,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2301199,1.2737168,19.4367297,14.023321,50.2870657,11.2197735,35.1708785,71.7093296,37.277468,46.8182488,31.1986817,4.049974,13.8127238,12.6319335,42.4422058,8.6046552,1.3988046,1.4665931,19.5694257,14.3426377,51.2236938,10.8990008,35.3939475,70.3350422,36.1889575,47.1439846,31.0780122,4.1251875,13.3580975,12.8984695,43.1640897,9.4298287,1.5268529,1.5679915,20.4930101,14.9355982,51.6720978,11.3791817,35.9793254,70.8028099,35.8117026,47.2215094,29.7207897,3.8939861,12.9013721,13.0310063,41.9746085,11.302648,1.6854827,1.8111236,22.4204487,16.2757781,52.3413252,11.7361567,35.3454256,70.505014,35.1428631,47.0895198,28.2403358,3.7000172,13.3870796,12.4327274,40.9632384,13.0952085,1.8215573,1.9441809,24.1907104,17.9016196,52.5611911,11.3790677,34.3779415,70.0249431,34.9573086,46.5179699,27.7055021,3.6095841,14.2456773,12.262761,40.8009181 +832,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.1148798,4.1701201,42.2457817,35.1234796,73.0871622,12.7787849,23.3429845,57.5720924,28.3907577,38.931818,15.186646,5.3121523,15.5257454,12.1237133,33.6373783,21.61765,4.2849597,4.3580044,43.4805298,36.4006616,73.8908174,12.434032,24.0372239,56.7220647,27.5346925,38.0287738,14.9353073,5.233799,15.6573704,11.6488489,34.2886254,24.3153962,4.1811621,4.2853916,44.5119405,37.4738594,74.3411782,12.332945,25.3216736,56.9492317,27.1001368,38.2078126,14.8971455,5.0207252,16.0515776,12.2542195,34.2734578,26.0643408,4.2384653,4.3705843,45.4339557,38.6831934,74.3683091,11.7746518,26.061303,56.3289302,26.3867154,37.1510792,14.7272111,4.693227,15.4122503,11.7589252,34.1549716,26.9412842,4.1900582,4.367805,46.3614305,39.836728,74.3754073,11.6666141,27.6291508,56.7012312,26.7130055,36.6363353,14.5217245,4.8141523,14.9792779,11.3930503,34.9082895 +833,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.237134,1.2462714,19.7927221,14.1100737,49.7142331,17.6302152,27.8373083,64.5055023,32.2667364,52.676089,25.490642,2.7313593,12.6841547,9.5457619,39.5539588,8.9147149,1.2886896,1.3618109,19.7129467,14.1865789,49.0179689,17.7887799,29.250693,64.5155997,32.644601,53.2899827,25.7875847,2.6666148,13.3217196,10.6673833,38.3460993,7.894725,1.2436611,1.3154955,20.7004608,14.9853987,50.6792853,16.5274977,30.4549177,64.5749095,33.3144582,51.8382595,25.6890644,2.553143,13.5137449,10.7110354,40.2954997,10.0746269,1.4222598,1.4932978,21.4997189,15.968388,50.7824284,15.9450429,32.5080217,64.3292563,33.1158951,48.9927222,24.2681435,2.3976695,14.0700098,11.5995917,41.2997476,10.8391684,1.5125033,1.5536354,22.7387747,16.4750001,51.5502979,16.2486345,34.6069247,66.6204825,34.5440672,48.6445889,23.7565563,2.8143143,13.6477017,11.7179805,42.0540105 +834,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2554857,2.3197236,29.3413172,23.7361154,49.759452,15.3256076,38.6282259,65.3428676,35.4170152,48.2554535,28.7314731,3.0495892,11.354834,10.6429791,31.4072035,23.1639545,2.3575789,2.4227544,30.4520621,24.5064533,49.5764203,15.0020307,38.9598907,66.1159576,35.4425956,49.0676358,28.6691299,3.3533933,10.533174,11.0642433,31.8360888,20.5965278,2.4068383,2.4720159,31.036918,25.009153,50.3820692,14.8596568,37.9818849,64.7171205,34.6492277,48.4142086,28.5948526,3.5200922,9.5978942,11.1828182,33.4263032,20.0764402,2.2841127,2.3459687,31.6268803,25.7938647,49.784406,14.4768925,39.7694429,65.8380916,35.2178299,49.2237704,29.6191609,3.5444473,10.1305914,11.5650114,32.0922873,18.5525228,2.0779436,2.1590043,31.0021223,25.5118264,48.6389647,13.9298553,39.4942802,65.9661913,34.9066888,49.3656784,30.2364195,3.2448109,8.9109543,11.0284088,32.2319664 +835,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.0145219,4.27874,47.1615241,40.8906177,74.9917947,11.2719606,28.6669904,57.6178316,27.0691607,36.5551112,14.6791362,4.8119942,15.4217916,11.360837,34.6144474,30.7724738,4.01032,4.2761258,47.709424,41.556636,75.5370694,10.7716297,29.7204323,58.1398552,27.1466564,37.1477072,14.8948737,4.5906764,14.9577973,11.3945027,34.539974,32.0233746,3.968664,4.2293919,48.4047287,42.0072471,75.7756515,9.8106361,30.8229124,58.8702153,27.3719328,38.2021109,15.3500897,4.6011376,15.9717537,11.8645928,34.1665849,32.5089173,3.8367561,4.1171919,48.1717741,41.8667548,75.0910983,9.2327599,31.4928337,58.2422925,27.5686607,38.1896123,15.278639,4.6270092,16.0926496,11.8159923,33.810089,32.0836202,3.9792983,4.2069649,47.6829282,41.3224124,75.1816722,8.8241645,31.161511,57.9541589,27.3868361,37.8530896,15.2210877,4.5618071,15.3736459,11.6342987,34.5847164 +836,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.4610269,1.4706204,17.3225921,11.4821857,55.1067652,10.8540062,31.7103157,65.4407393,37.3647078,49.4871402,28.2536704,4.3708123,11.2719349,10.4257338,40.9116553,10.6032357,1.379152,1.3880471,17.3732934,11.3824768,55.3634915,10.7934618,31.3518563,64.6448949,36.6248316,48.592494,27.7133924,4.2237964,11.196293,10.3804631,40.5696999,10.8537675,1.3230501,1.3421579,17.5454932,11.5465792,55.6407367,10.7994454,32.0207222,64.3084708,36.3119864,47.5883045,27.5389621,4.2124251,11.2436994,10.4907881,40.4606176,10.8062513,1.3205059,1.3376216,17.8275643,11.8213428,55.4315317,10.4932037,33.2197249,64.7075338,36.8821657,46.0461882,26.8438267,4.2137559,11.5258251,10.8743786,40.7979556,10.4497191,1.3096065,1.3344719,18.1235951,12.3376139,55.6575818,10.3129693,34.8370332,64.9479145,37.4828364,44.9546873,26.2578184,4.2949677,11.4889794,11.3163392,40.6583995 +837,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.567395,3.684885,42.4797924,34.9451507,81.320528,20.6656866,22.8009585,55.6139224,21.1197812,39.1924345,15.7460239,4.1278908,16.1242611,10.5871811,32.7678529,19.4932719,3.9793167,4.1354448,43.7940741,36.4880095,80.7335386,20.923841,21.646614,55.4299915,21.0302328,38.5236285,15.4241288,4.123864,15.7577551,10.6217538,32.6112071,20.8169197,4.1242564,4.3163655,44.3943117,37.2026247,81.4240185,20.3776304,20.8581165,53.5117488,19.8102542,37.3407002,14.146137,4.0073649,15.5191621,10.1501597,32.8969358,22.2479104,4.6061756,4.7747648,45.7738854,38.5060603,82.5385567,20.343415,20.7696586,53.8343987,20.158383,35.1625542,13.3787191,3.9872203,15.834255,10.6985636,33.5261727,23.1838469,4.7676432,4.937159,46.6097043,39.5036667,82.8048499,19.9199425,20.6670397,53.3491475,19.6343906,33.5054517,12.740723,3.8933872,15.8171824,10.7875706,33.7875456 +838,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0255242,2.0648774,33.110023,28.5139557,56.3152346,9.4954635,32.1355212,62.5363913,28.5786278,45.0857829,21.1166276,2.9979615,14.6344291,11.522631,35.3190536,22.3738655,2.0123216,2.0456067,33.3069971,28.4678599,56.956515,9.1076876,32.4483743,63.0714057,29.0182253,44.1743428,21.4183435,2.8611363,14.8418801,11.4202345,35.5842378,22.7498957,2.0624606,2.1081986,33.3261924,28.2934393,58.0230821,8.9282332,32.6988481,62.9667755,29.2022046,43.4691599,21.6503409,2.8283657,14.5014241,11.215765,35.7244964,22.6822144,2.1101792,2.1688484,32.8883336,27.9025059,58.0711534,8.6438148,32.7600518,63.1494772,29.3227992,43.4511228,21.6062551,2.7777505,14.8475645,12.0460162,35.7765525,22.9923943,2.0019006,2.0430039,32.6338909,27.8693319,58.4158116,8.0707006,33.1943396,63.7128159,29.7667157,43.5523411,21.6124226,2.6184942,15.0611707,11.8480376,35.2960216 +839,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.2875889,1.3032411,20.2245101,15.2557887,53.7194877,16.0249114,33.2887688,69.7669982,39.5912996,47.6890743,27.9029834,3.036676,9.969421,9.2889775,32.7559742,10.9872716,1.3314241,1.3638916,20.039747,14.8716887,53.9503773,16.289002,32.660375,70.3207603,39.3773775,47.4150854,26.8113308,3.1886862,10.4070374,9.7232692,32.85604,11.9195157,1.4475902,1.4666742,20.5141601,15.0227205,53.121508,16.7148464,32.6437155,71.3108862,40.6261522,47.7663737,26.7850609,3.2039611,11.6057481,9.8628972,31.0437386,11.2535962,1.4741706,1.4765501,21.1345369,15.6124381,54.2974268,17.1522567,32.1441072,72.0035357,39.6661,47.3637799,26.5905142,3.2864694,11.8235521,9.836669,31.9776051,11.6666953,1.6258398,1.6203332,21.1512925,15.4113993,54.3547206,17.3248479,31.0086891,72.086975,39.4260992,47.0434576,26.6608693,3.2521752,12.626609,10.3910112,31.9141133 +840,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9469086,4.0362933,41.7571301,34.9422802,56.5040803,20.7774308,26.7932963,59.7440576,27.9549852,41.6960313,20.2201417,2.3940853,18.1694241,14.3931788,41.4907511,22.0939044,3.8918343,3.9718954,42.7768726,36.3086717,57.9428232,19.6738926,27.8796576,59.5800974,26.9489078,39.8510214,19.1558643,2.2523992,18.0635352,14.2225454,41.452745,23.2924245,4.0192006,4.0723195,43.4259931,37.0968494,58.3569203,18.7309954,28.7963761,59.6384857,26.0699609,39.412715,18.3461592,2.0127572,17.9585124,14.5974969,41.3194158,26.0075488,3.9718012,4.0202877,43.73509,37.4316922,59.1798485,17.9607953,28.9778585,58.2786924,24.8659028,37.958796,17.4539847,2.1547367,18.150195,15.1848364,40.5898936,27.6444371,4.1652013,4.2092028,45.2967564,38.2484419,60.3114305,16.2975969,30.0643278,58.0340841,23.699332,36.2078441,16.0083228,2.2045953,17.7142518,15.0950119,41.3197236 +841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.8009089,1.8296372,26.036931,20.8172521,69.1020265,16.729808,29.0600181,68.5723773,32.2501675,44.9444252,21.9078943,3.7954434,13.2354427,10.8462834,32.6605506,17.6695651,2.2529224,2.2613058,27.7783656,22.0405375,69.2762045,16.8949142,26.9548104,66.2239439,30.2358724,45.9602151,21.3651391,3.5864368,14.038564,10.9999653,33.0614524,18.9913555,2.5753667,2.5852521,29.6629661,23.4621965,69.8560451,17.1575236,25.7930765,64.682673,28.5969041,46.2280153,20.6673448,3.5133744,13.8655688,11.1811965,32.7311654,20.9214543,2.7401095,2.7280772,31.6986476,25.3975641,69.7779849,18.2132402,24.1311549,62.7124206,27.5690064,46.4141514,20.3283404,3.5577018,13.439485,10.6207464,32.1006087,20.6472749,3.0589574,3.0595665,33.7287536,27.0539983,69.7432178,18.1790107,23.2532217,61.8002796,27.3459473,46.2394468,20.0353105,3.2488968,13.5663083,11.1695999,32.7633275 +842,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3410497,1.4121804,24.9547435,19.4693831,45.7580555,19.075065,34.1146755,70.7544513,40.1758052,52.2036895,28.0518378,4.1779237,13.0781542,10.8421974,31.282837,10.838456,1.6261896,1.6987443,25.4364558,20.3769442,45.5909435,19.7072752,32.4377298,70.9649001,39.1426088,52.7377281,27.1465492,3.8241239,11.8469103,9.3044527,30.2428907,11.3131089,1.7537608,1.7879402,25.7310708,20.5378266,45.1503457,19.9889483,31.7573965,69.7094329,38.2952894,54.0972079,26.9745362,3.853377,11.7019149,8.8692332,29.2796396,13.3084621,1.7490167,1.7826731,27.0162268,21.9016117,45.7297947,19.9503175,30.6174368,68.0353437,36.6956897,54.2431174,25.9880827,3.615907,11.9413163,9.8629229,30.5653154,12.0681915,2.1172498,2.1140833,28.2106026,22.7087134,46.3788236,19.9695155,28.5925262,66.9746808,34.2850817,53.4708316,24.3488692,3.0373616,12.6489138,10.2996169,29.0149806 +843,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.5124488,1.6735925,27.3981782,23.1831521,64.112414,24.851686,30.7750832,69.3742478,31.8184629,41.9523318,21.83318,4.0984065,11.5836966,10.1172593,35.9469699,8.7098179,1.7054431,1.9853769,27.7475875,23.1343759,65.3192301,25.1386094,30.5287395,69.6106221,30.6678229,42.211468,21.2100813,3.6857104,11.0355276,10.2178086,36.8493944,7.9882839,1.7126748,1.9973906,27.7854574,22.7716167,66.3559273,25.1055741,31.1003556,69.1820165,31.2414007,42.2427004,20.3808639,3.3145579,11.7080857,10.0826802,36.4266185,8.959667,1.9643782,2.11113,28.3710451,23.96526,67.9311829,26.1487255,30.9621758,69.4446025,32.4527706,42.208812,20.9349941,3.7263176,12.5323807,11.269244,36.0676827,9.6859907,1.6645657,1.812621,28.9082242,24.1913333,70.1124974,26.7538475,30.0964401,68.2509303,31.0608414,41.6667757,19.9036632,3.9256496,11.7106034,9.8942605,37.4338455 +844,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.9269844,5.1282597,46.9446738,39.5953832,83.7865563,19.9411536,19.787537,51.6288932,18.6260718,31.6855572,11.9121845,3.980172,14.9943974,10.016835,33.5674271,27.640546,4.6729181,4.908926,46.3191848,38.9013785,84.4208391,19.8943261,20.0547855,50.9371343,17.8921661,30.5219132,11.7502887,4.0513285,15.9269696,10.3710008,34.2283894,29.1025594,4.5965071,4.8425785,45.9732465,38.6027364,85.3408851,19.632001,20.6569335,50.4963448,17.2992762,29.7956157,11.4306571,4.0146007,16.1262833,10.7854358,34.1065411,29.6754892,4.4780354,4.672835,45.0500706,37.381981,86.0239937,18.715579,22.6340429,48.9745014,16.6569025,29.6366775,10.7383558,3.999416,16.6193229,11.7262992,34.6395965,30.466101,4.4322141,4.61952,44.5523063,36.9313341,85.9520959,18.5114572,23.8173134,49.4346814,17.182386,28.5777949,10.5474555,4.2100587,16.1967824,11.4277562,34.4076759 +845,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.8207325,1.970499,29.6875637,24.6604573,71.3364521,28.3404736,28.7622083,67.1592648,30.4503426,43.2490802,21.1674674,4.0084839,13.8676984,11.0966694,38.3333419,11.8091342,1.781917,1.8024934,30.9153013,25.555809,72.3974679,28.7348896,27.3888917,66.2856616,28.3312988,45.9623333,21.0633776,3.8358473,13.5235666,10.820741,38.1250836,12.5571636,2.0452915,2.0699831,31.7284529,26.5832663,74.066518,28.3107982,27.1311462,65.8324447,26.8607779,45.9404838,20.2301243,3.4506463,14.6984961,11.7126977,38.3545171,12.2222494,2.0221758,1.9235309,33.9711606,28.6940461,76.0418005,29.5270483,25.9132886,63.6673764,25.7782397,45.1285299,19.8241116,3.1800095,14.2676946,10.5063089,38.5498835,12.394984,2.4080724,2.3392642,35.1831549,29.9391821,76.9781859,30.9103149,25.979642,63.6538618,25.979958,46.5865899,20.0379777,2.9709586,13.8221447,10.2163365,37.1673541 +846,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2320276,1.2674455,18.3333281,13.3225739,68.4835706,11.5567601,32.8895185,67.7706899,34.3859937,45.741647,24.1307221,3.4000891,12.5784719,11.9399703,34.8169966,13.2540915,1.1621487,1.1725936,18.338135,13.3237099,68.3108259,11.5110386,32.784462,67.8741814,34.8058042,45.7301979,24.9488974,3.4408387,13.1052076,12.0697715,34.8591546,12.1182929,1.2747477,1.2956158,19.368064,14.1130667,67.7171623,11.8007643,32.9741405,68.613882,35.6283916,45.7010204,25.5558082,3.5503664,13.5416569,12.1877946,34.7917501,12.3061899,1.2956715,1.3058279,19.5656706,14.4446659,67.289616,12.0944982,33.0712912,69.1651903,35.3077794,45.7373999,25.6310878,3.6204639,13.8750416,12.2000921,35.5377207,11.3549636,1.2574126,1.2574126,19.7267936,15.0042166,67.1833754,12.1714093,32.7859865,69.1061429,35.2435677,46.1613991,24.9999962,3.534146,14.0424436,12.4005312,36.1744688 +847,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9644585,1.9777411,30.1756872,24.6389618,50.174606,15.5097924,38.3141863,67.7778333,36.980096,50.3173152,28.5662995,3.7411833,13.6354128,12.258014,36.8372723,16.4032275,2.2120306,2.1987827,30.9128824,25.4665142,50.6795946,15.2761539,37.7221877,68.8723103,36.8470193,49.9674504,27.5670571,3.8214783,13.4956513,12.360146,37.3890512,17.4000609,2.1024654,2.0895858,31.4200543,25.6980048,51.1862924,15.3781271,35.4532271,69.0473328,36.4212958,49.341803,27.0785532,3.2175428,12.470664,12.6022637,38.1514796,18.9655318,1.9845585,2.0209818,31.6706881,25.773362,50.8130357,15.5206287,35.9886465,69.2095898,37.1139922,49.3798335,26.446506,3.2421809,12.1613606,12.2859429,36.8490004,16.5551782,2.1580358,2.1948357,32.981737,27.065826,51.8691051,16.103942,34.8821486,70.2194325,36.5650842,49.9154262,25.9228888,3.2844762,11.8759484,11.6717159,36.4603538 +848,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0421526,1.0561171,14.2035096,9.9418881,53.7455353,9.4073325,28.8900272,70.1859492,40.9707965,44.2790296,26.4830023,4.5916041,11.4481647,8.848838,36.0915503,5.5996036,1.0469064,1.0585214,14.2266013,10.0652786,53.1700117,9.3059389,28.9947384,70.3156064,40.9760369,43.9450585,26.6686145,4.552893,11.4323446,9.1530739,35.6934654,5.8731809,1.0802379,1.0748016,14.719334,10.3521237,52.9435606,9.0862885,29.0490927,70.59532,40.4852007,44.4195905,26.9155758,4.6512962,11.4813992,9.0277803,35.5081091,6.2114996,1.1360682,1.1409696,14.9503336,10.579474,52.4307078,9.1072397,28.8265864,70.9964605,40.5164778,44.9181565,27.2671969,4.7611147,11.7972505,9.0857814,35.7534844,6.8446609,1.1527284,1.1863053,15.6458562,11.0925758,52.6180847,8.9095715,29.03522,71.0620109,40.7357398,44.6899259,27.4254546,4.8238965,11.6816327,9.3784214,35.0265559 +849,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2341328,1.2671939,16.3300917,11.8576898,53.0534333,8.9634503,29.0382773,71.3988663,40.6813088,44.551653,27.5242546,5.0378491,11.5797419,9.2636342,35.6165833,6.9859384,1.2216293,1.242837,17.1179015,12.7656347,53.6650014,8.8351969,28.7180266,71.5604326,40.0216574,43.9511085,26.8719046,4.9040829,11.2160234,9.0390219,35.7202724,7.1542749,1.3541907,1.3803388,18.1447968,13.6400217,53.990776,9.0940964,28.3267258,71.5309493,40.0986061,43.0059924,26.6290528,4.9354466,11.223675,9.1228442,36.0813211,8.3771594,1.4733941,1.50629,19.2644233,14.4759636,54.4826543,9.4418328,27.8322969,71.4875583,39.8999213,42.960549,26.2874067,4.8921483,11.2205875,9.0830764,35.6894819,9.1683708,1.5946808,1.6380552,20.3322103,15.5560927,55.0083622,9.8449819,27.0693198,71.7217478,39.7923364,42.3856834,25.3924132,4.9478396,11.1419283,9.1787885,35.3230402 +850,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.9878375,2.0261663,27.0138272,21.4457815,48.977053,14.7135249,33.2428389,64.4197821,32.8971548,52.9959308,27.1358233,3.3168824,13.4803317,12.7813489,33.8813868,20.7514427,1.9591737,2.0058724,27.3524126,21.7793013,49.3430387,14.371312,33.6816042,63.6459524,32.3048544,52.5024725,27.6887157,3.3446805,13.6363918,12.548853,33.3388389,20.5202173,1.8514173,1.8775966,27.568901,21.9823777,49.3406689,14.3739369,34.2719255,63.2535006,32.1780099,51.6894508,27.6570728,3.3550199,13.5296303,13.0623688,33.8474428,19.7383187,1.8841318,1.9283495,27.8921848,22.2077337,49.6446787,13.9851027,35.377974,63.5354154,32.5433263,49.6614489,26.5118262,3.3149657,13.9755685,13.4800853,34.1396106,18.9419731,1.8566648,1.9014043,28.2615684,22.6947711,50.0736858,13.2971277,36.5357111,63.2726231,32.5267706,48.2910328,25.8025997,3.314173,14.2880857,13.6587841,35.6739703 +851,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3150792,1.4141175,18.573814,13.2674957,79.1246844,13.9471348,31.7021338,66.0168993,36.4900164,39.9488988,25.6702333,6.33979,15.0463328,13.4731283,43.1814929,14.6616541,1.5095044,1.6101188,18.5134374,12.9370081,78.9791695,13.2791835,32.4815932,65.5500278,36.1959084,39.9111932,25.1409341,6.5682071,15.3369946,13.57123,43.8639676,14.1221374,1.5132803,1.6647429,18.2020065,12.7573055,79.6501006,12.7614538,31.3400998,66.3514249,36.69215,38.7782793,24.7826138,6.212941,14.9826824,12.0114221,41.8753597,13.7314718,1.5256909,1.6161947,18.6000544,13.2402887,79.4982455,12.7028646,32.8341906,66.0634847,36.9108022,39.303339,24.3009121,5.7161184,14.8626882,13.1902283,42.8197562,13.3355439,1.4416399,1.4498211,19.8538461,14.2117733,80.5963404,12.9878445,33.2468598,66.9754883,36.4868974,40.8688169,24.4629466,6.2649296,14.9257877,12.7768148,42.285648 +852,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.8277733,1.8788626,29.2484403,23.5996976,50.6416728,12.7804473,38.1760544,64.081532,33.222347,47.8236203,25.9948003,3.2239734,14.0767077,13.7449511,35.9911623,21.6111069,1.7602493,1.8313859,30.1972577,24.4711519,50.7220961,12.1992576,38.3766442,64.8602246,33.9463758,47.155458,26.2465183,3.3267969,14.6511088,13.8474596,36.4647594,21.4761447,1.8419646,1.9229831,30.4938315,24.7459707,51.4671528,11.7206353,38.0940575,64.3720294,33.635465,45.9986757,25.69817,3.4215247,14.4515625,13.5567454,36.1488928,22.142083,1.8306192,1.9137906,30.6502467,25.0589166,52.0729358,11.4899419,37.4514472,64.1828446,33.244335,45.5744114,25.1860715,3.2767002,14.4179152,14.1871338,36.8805382,23.4008688,1.8571422,1.9434096,30.6495034,25.0711267,52.6576157,11.088776,37.0361121,64.1845707,33.4554144,45.5810305,25.1383328,3.4423856,14.3840271,13.61194,36.35288 +853,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.3956288,1.4087264,20.6921784,15.9242928,68.3078544,12.5926823,32.0280329,68.5544757,34.5091481,45.8144745,24.3905044,3.3549114,13.4697992,11.5782673,35.6769361,12.1024826,1.551641,1.5768775,21.5414612,16.5948218,68.8101794,13.1524285,31.930885,68.5141994,34.6015123,44.7965399,24.2581614,3.1051331,12.788715,10.7773141,35.0635402,12.5844806,1.5149471,1.5424231,22.1717174,17.2626193,69.056642,13.1159356,31.0498753,68.8669314,34.6257576,44.3139336,23.6486556,3.0041635,12.2652758,10.3145511,35.0143936,13.498425,1.5829116,1.6319121,22.6595716,17.7079193,68.9728503,13.2761822,30.596094,69.42387,34.3968563,44.5589143,23.3146752,3.090625,12.7554753,10.5625634,35.0970938,13.7660667,1.6096651,1.6366281,22.8175767,18.0229178,70.0040243,13.8535472,29.8865188,69.3769753,33.5489468,44.2177438,22.6811393,2.8961012,13.0238673,10.6512482,35.116472 +854,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.44726,1.4841989,16.7007922,13.1848372,84.8892519,11.0399555,32.0311255,66.0468182,30.9027608,43.9826278,17.0288554,5.2027385,13.8820289,12.3462545,33.429977,12.0089255,1.4729131,1.5098819,17.1236283,13.1137552,85.2553408,10.7588559,31.8221992,65.5870863,30.4431506,43.3557371,17.1959701,4.9102235,14.3381565,12.6432389,34.1452257,11.7022671,1.5580559,1.5946794,17.4169692,13.5645201,84.5294221,10.8669833,31.5323382,67.0185974,31.2009497,44.9482787,17.2877132,4.6170003,14.538725,13.2425995,33.0967335,10.8268808,1.4108953,1.4542201,16.9045135,13.3372789,84.5092227,10.6642999,30.9104367,68.0426462,31.3129097,44.1602735,17.1767061,4.5710557,14.337429,13.7169023,32.6686828,12.1513582,1.344249,1.3882424,17.1768305,13.3507599,84.0395288,10.6153078,30.6287772,69.1658918,32.0254167,44.7616703,17.3992452,4.5398127,14.7034735,14.0560809,33.7644077 +855,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9495262,0.9524082,15.1374447,11.1463651,79.9380194,6.9797167,28.8457869,64.4209441,32.422499,40.0684544,19.9827418,6.1456023,12.886138,10.4210607,38.2797764,6.5332599,0.9831116,1.0002336,15.771649,11.6322061,80.6536715,6.8607229,28.6891045,64.6783133,32.3251596,40.2515713,20.2792443,5.8916596,12.8159059,10.5774171,37.8592238,6.8012908,1.0630954,1.1032765,16.4175948,11.9989252,81.4307926,7.090326,28.1729453,64.9025369,32.2147919,40.1598241,20.2761864,5.8758349,12.9275301,10.3275371,37.8494198,6.9543738,1.1349157,1.1780518,17.0569401,12.6293882,82.1701555,7.1357058,27.709776,65.5588217,32.3151174,40.3926508,20.083294,5.8784256,13.2604093,10.1655309,37.5354943,6.9828825,1.2016672,1.2477665,18.1661381,13.5764672,82.7426769,7.2324167,27.0129453,65.6515568,32.0367332,40.3946072,19.8151592,5.903241,13.2765661,10.1722804,37.1664259 +856,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6889079,1.7327394,21.6007384,16.6342704,56.2139881,10.2073588,26.0421797,70.8731608,38.4596399,42.1454583,24.8989817,4.8635054,11.1594216,9.1568357,35.3313781,11.3763153,1.9011856,1.9429755,23.4681148,18.1953524,56.7129613,10.5377491,25.1610689,69.704214,36.9435713,43.3961341,24.7901132,4.6124563,11.5644312,9.3798282,35.7254087,12.7813034,2.1889652,2.2637495,25.3899321,19.7954609,57.2901647,10.6395953,24.3716188,68.0404022,35.5543897,43.7399216,24.2388246,4.2729775,11.4133499,9.236382,35.551145,14.9759736,2.6369618,2.7247921,27.7054888,21.5751848,57.8472976,11.3234466,23.8439309,66.8236018,35.0503371,43.7861271,23.6294913,4.2093975,11.9709246,9.557601,35.7447905,16.6414913,3.1406978,3.2707451,29.651319,23.2763958,58.0981419,11.5309462,23.2740827,65.9350011,34.1547636,43.5182709,22.7982699,4.2059426,12.1953401,9.6584697,35.8953223 +857,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2922171,1.3444768,19.3049032,14.4531182,83.0030842,7.6339512,25.8953181,65.2087952,31.1499605,41.2089888,20.0138747,5.9011174,13.0317801,10.2417643,36.7760997,7.6964904,1.4133114,1.4708946,20.4854583,15.4355146,83.4652995,7.680854,24.5394227,63.5570592,29.3468108,42.2138124,19.9225917,5.728161,13.0101437,10.2563742,36.7879454,7.7858536,1.5668949,1.6238809,21.9078773,16.7050261,83.9670661,7.9183326,23.4297859,62.5393415,28.3936646,42.5292565,19.8372947,5.5674012,13.1626196,9.9725367,36.8183418,8.319019,1.6850439,1.7434654,23.1651341,17.9685276,84.4915869,7.9935804,22.3787182,61.6962771,27.593119,42.8365473,19.0679776,5.4356387,13.3930542,10.0499541,36.7973585,9.1067128,1.8757454,1.9311448,24.7412271,19.4781993,84.9790629,8.0787502,21.5779366,60.8936268,27.0511529,42.5794345,18.7149026,5.2714462,13.2331685,10.0873752,36.8923431 +858,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.2897752,1.2797076,21.6735856,17.1445761,66.9505599,12.9224794,30.2549106,64.2925337,28.0329886,46.8034393,21.7216515,11.8797707,12.5726082,10.1271011,39.5839039,11.467536,1.3036618,1.286805,21.6582823,17.1585473,67.3627276,13.0408823,29.8369735,63.8305071,27.6407986,46.6787975,21.9145834,12.0520074,12.5171309,9.9808261,38.9856197,11.3519316,1.3275507,1.3192051,21.3028849,16.7227326,67.9692718,13.1602806,30.1630117,63.356122,27.4549783,45.7144775,21.8943131,12.5476535,13.2438815,10.4487467,39.2522069,11.1230178,1.3021348,1.2853282,21.2803276,16.7012632,68.6010722,12.7804443,31.4802663,63.5986799,27.7960506,43.9539488,20.9276323,12.5723681,13.1704049,10.4992055,39.5605864,10.41811,1.2396048,1.2227616,21.7043713,17.1281864,69.6714695,12.2995685,32.3432135,63.3434752,28.0299008,42.8089442,20.2103739,13.2640898,13.5067297,10.634083,39.8643272 +859,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9420756,2.0225447,31.8768179,26.6259874,49.2085907,13.3519258,38.7519702,66.7753698,34.5253776,48.4198854,29.1817128,3.0609676,8.6880439,11.1648822,32.6502492,21.6881294,1.8260995,1.9297715,31.25037,26.8033326,49.3596946,13.6959486,38.2663875,66.1822168,34.3528955,48.0566205,29.7322829,3.2449371,8.7416747,11.2650627,33.1702404,20.8845751,1.9622242,2.0257922,30.4433882,26.4430294,50.4638872,13.1096467,37.7823031,67.1415576,34.3163089,48.1863481,29.5780444,2.9629025,9.5396145,12.3355654,35.7075181,18.2426686,1.9557493,2.0182082,30.1654974,25.786671,50.3188448,13.0896721,38.3726481,67.6431407,36.0371597,49.3362977,29.4860873,2.738291,9.0854809,11.6197766,36.665757,20.0351082,1.6287161,1.6896972,29.595186,25.2991472,49.5035833,12.6898768,39.057383,67.7101092,36.6832906,50.0532516,29.9187512,3.03205,9.949123,12.2965719,37.9777964 +860,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.4983571,3.6379666,31.5185904,25.1662707,59.0591268,11.6702528,22.5824702,64.9099117,33.54077,42.8714418,22.0428176,4.2867085,12.9810183,9.8187805,36.1857026,20.3138426,3.7898768,3.9395519,33.2747657,26.8510968,59.6386055,11.7445226,22.4661308,64.3209534,33.1200806,42.4276633,21.5713291,4.0934933,13.1486421,10.0435552,36.3092155,22.1891123,3.9669404,4.109787,34.6923449,28.1675113,59.9081175,11.7644683,22.4231825,64.0017856,33.0068255,41.8427911,21.0412902,4.2391477,13.4186041,10.0977938,36.474728,22.9973645,4.1332616,4.2799311,36.0899065,29.6746089,60.3907136,12.1531583,21.8541742,63.6345579,32.6681996,39.6580465,19.8310064,4.1534429,13.1345852,9.8149279,36.8148435,24.5444954,4.2666084,4.3977448,37.3557544,30.8723051,60.7939577,12.4796824,21.9562839,63.4009681,32.3918832,38.1424336,19.1201826,4.1170476,13.4461028,10.047203,36.958585 +861,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.0675665,4.267639,43.3293878,35.798999,86.1986731,17.9982092,25.3262497,50.3641777,17.0106198,28.3004421,9.7875547,4.3854342,16.1091576,11.2903285,34.1918418,30.2756177,4.0021725,4.2041101,42.5344206,34.9341779,86.5094435,17.3199092,26.2554143,50.7808762,17.100464,27.9700422,9.9357209,4.485621,16.1375678,11.3168778,34.2136602,29.7918429,3.640677,3.8267369,41.0795354,33.9431552,86.8790657,16.2638056,27.4549931,52.5948871,17.9459661,28.6980044,10.4568262,4.5836041,15.965129,11.9362641,34.3143207,29.5982096,3.6069914,3.7513448,40.5781011,33.3918961,87.1746357,15.3486462,27.7505517,53.6183249,18.4185066,29.4859852,10.2979939,4.5677921,15.4569061,11.8847181,34.6705766,28.683968,3.3669722,3.5209985,39.8023024,32.8997674,87.0007118,14.6688049,28.182855,54.1075314,18.7233754,29.8542716,10.2951897,4.2496566,15.3764248,12.0298118,34.7033552 +862,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1175441,2.1970244,32.9800837,27.2971007,51.5460505,17.4018032,34.1073585,70.034988,35.797646,51.1146228,25.9814386,3.0807007,11.1168767,11.2399479,35.476951,17.7469211,2.3260166,2.433963,33.6558702,27.7491399,52.074063,17.8667147,33.3439666,68.3419489,35.3037033,51.3577694,25.9390151,3.1301111,11.0298608,11.3913301,35.0472721,16.3716857,2.3756732,2.4319341,34.0500996,27.5351084,50.0554437,18.1272278,32.5476878,66.963686,35.6964697,52.5228865,26.4673769,3.2844767,11.3454986,11.2442961,34.2709227,17.5900244,2.3922251,2.4478063,34.5343995,27.8473234,50.1341977,18.1278643,31.1144299,64.9827905,34.645749,52.6737247,26.1920417,2.8089922,11.1620517,11.5152679,34.6023217,18.0989653,2.7400106,2.7948462,36.2764376,29.603128,50.2127279,18.246939,31.1197188,63.8398005,34.4810407,52.9651596,25.7627149,2.8623541,12.2854731,11.5196217,34.2820616 +863,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.2862599,3.2854775,37.6627985,30.6121584,50.6910214,18.3297058,29.9445502,61.9838827,33.9300724,52.1983563,25.8038159,2.9244354,12.9551699,12.2091604,35.5402144,21.8292812,3.4104372,3.4211055,38.3527108,31.0546031,50.7242612,19.2734571,28.2248242,61.6412722,33.9963993,51.05302,25.0151327,2.6843605,13.7492325,12.5985969,36.8917362,23.2460705,3.516681,3.5106996,38.6404005,31.0027286,51.1110473,18.7955289,27.3792443,60.3180592,33.6062602,50.0252577,23.998321,2.7206301,13.6173959,11.7925805,36.0874864,22.9017859,3.2410004,3.2566826,39.6508451,32.3611392,51.4471338,18.442669,27.5834273,59.6269626,32.4593555,47.0333032,22.9516785,2.6303071,13.5152753,11.7452566,36.0883455,23.2469649,3.4755886,3.5268642,40.9439721,34.2021398,52.9797898,18.2994999,27.8951005,59.2165638,31.6904572,45.7461078,21.4760602,2.5049628,13.604906,11.7626314,35.9382727 +864,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3.4897521,3.5038645,35.8732039,29.1225918,70.2810284,18.3726571,22.7793989,60.4243625,27.1410446,45.6286358,19.6098389,3.3522698,13.75663,11.4491671,33.1264118,21.7705552,3.7757347,3.8004354,38.1421299,30.9480581,70.6085054,18.1031009,22.4444636,59.1357045,26.3354722,44.3879468,18.8004213,3.1826783,14.3701371,11.584297,34.1677927,22.8594861,4.0998526,4.1989083,39.9988544,32.7531245,70.5039222,17.8085406,22.29706,59.1488706,26.3397921,42.4635691,18.0381361,2.9378857,14.706876,11.7676371,33.721719,22.5072795,4.1262909,4.2126359,41.5213632,34.4979678,71.2948377,17.9051622,22.5542479,59.3223533,26.5355389,40.7212954,17.1586687,2.9890337,14.2092091,11.981825,33.5374944,22.3960744,4.2142646,4.3150408,42.2437759,35.2457864,71.8959539,17.5545422,22.6127985,58.7838203,26.2186229,38.9971842,16.2542489,2.9745978,14.4488685,11.8783944,34.3011607 +865,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.7904433,2.9207213,32.9300623,25.8544219,45.1462943,16.4987214,30.1361347,63.7138254,34.0117224,51.5658297,27.9087689,3.4969459,14.9269811,12.2383423,39.2434667,18.0167726,3.1481394,3.2533132,34.4576657,27.6258623,44.8649553,16.3282717,30.045228,63.3565168,34.0284169,50.6488807,27.261266,3.1908298,14.2620375,12.0086229,39.7205011,19.2010468,3.2674519,3.3496511,35.4489578,27.9221107,45.1800927,16.7553511,29.8953251,63.8085829,34.9221548,49.9232244,26.0128142,2.9629688,14.5434893,11.922401,40.1124449,20.6444103,3.5316446,3.508079,36.2111854,28.512718,46.6534714,16.467082,28.7828136,62.4762841,34.073047,47.085334,24.4330629,2.7626756,15.6483387,12.968783,41.042547,22.9490244,3.6739988,3.6275263,37.3389145,30.1401971,46.2436356,15.8634385,28.3535227,62.4945415,34.0901104,45.2166561,23.2370996,2.5388273,15.6654258,13.3103912,41.8271562 +866,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3429098,2.3399081,28.0644343,22.9690991,45.0860245,19.6828876,27.2325912,66.4696115,33.5314378,52.4202677,23.860695,3.4214664,13.57629,10.2247858,29.961145,15.9863837,2.5501072,2.5471287,29.4815786,24.5931504,45.8845301,19.7151456,25.3576238,65.3862726,32.3957962,50.4921248,23.8985438,3.4269576,12.9176217,10.5057407,30.6070675,16.0958794,2.6996998,2.5877933,31.0283235,25.7960155,46.3365476,19.7679623,25.0077373,65.3874793,32.3095328,49.4357756,23.7498317,3.5600373,14.3433304,11.0544097,31.6754811,14.5270172,2.5979321,2.5169744,30.890673,25.5751019,45.6862719,19.5103533,25.456029,65.1665419,31.9613418,49.1651316,24.0912687,3.6370475,14.6080735,11.6835789,32.5907908,16.2576587,2.4957222,2.5210078,30.3976873,24.903232,45.4623633,19.8531887,26.0994481,66.0179349,31.9556333,47.9579564,22.8865897,3.5050879,14.4303016,11.4766249,33.22568 +867,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.8222002,1.8853748,30.9046802,25.536084,52.8661924,11.1456843,37.2309178,64.3874371,33.9456354,45.5656035,25.8698685,3.5847254,14.3543088,13.6965798,37.0784866,24.5233325,1.8265317,1.8895652,31.354314,25.877643,52.2384636,11.2918609,37.1578098,64.9033688,34.774549,45.9017369,25.9822999,3.6795522,13.5657532,12.6734805,36.541052,24.7849599,1.9583741,2.0177315,31.4534563,25.7907501,52.9881555,10.945871,36.3614729,64.14986,34.2521256,45.3259282,25.8309687,3.6673105,13.995434,12.950906,36.9465543,24.6597097,1.965452,2.0003175,31.2867523,25.7122708,52.7818894,10.7002097,36.7826468,64.30744,34.714615,45.9040863,26.3626449,3.6470077,13.5784137,12.3325512,37.3392822,25.2916327,2.0084919,2.0513026,31.5883434,26.0967449,52.4970918,11.1524611,37.0534571,65.4087346,35.2027362,46.2744932,26.9794375,3.5162616,13.7558089,12.2879866,37.3447505 +868,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2524367,2.2524367,29.0513647,23.5309065,41.0201976,17.8789741,36.7991031,65.310645,35.1786557,49.6401356,26.9599854,3.1171356,11.8676901,10.5337913,38.2957375,26.5676057,2.3692414,2.390026,29.7077458,24.1776863,41.7052004,17.5125122,36.5483533,65.6008404,35.8315226,49.4873545,26.42997,3.375209,12.5008343,10.8650471,39.0775682,27.3335473,2.3231144,2.343839,29.817541,24.3871452,42.6183887,16.2019823,36.8032404,64.8909369,36.0000881,49.2436334,25.9231199,3.3171414,11.3541113,9.8629072,37.3399151,28.2475359,2.2024471,2.2126692,29.9894062,24.3628472,42.7237119,14.649168,36.6568039,64.8350342,35.6920963,48.8840557,26.1822274,3.1288253,12.1560511,10.5445509,36.7041199,27.1680136,2.2986752,2.3293042,30.3490583,24.8933939,42.666267,14.6480721,37.3422482,65.4534022,36.9051897,48.9539105,27.3453774,3.247495,11.6956387,9.7459616,33.8456812 +869,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9612046,2.0010068,32.3022307,27.6101615,58.5856751,7.8050586,33.470361,63.9831226,30.0565474,43.4970013,21.6946168,2.727106,14.7175005,11.8232116,34.5867723,22.794401,1.890738,1.9120037,31.6835181,27.0531555,58.4419855,7.4997944,33.4080112,64.106293,29.9056473,42.9725777,21.5048286,2.6961889,14.4331439,12.0376046,33.9806111,22.6006805,1.8836889,1.9013305,31.3481955,26.802139,58.5815955,7.7106157,33.4463886,63.9621792,30.1753478,43.1312089,22.0978302,2.7865983,14.1343086,11.7824309,34.0751683,22.6746049,1.8873182,1.9106776,31.2097343,26.8296675,57.8373444,7.7568535,33.3986533,64.4031247,30.5313846,43.5007498,22.0452477,2.700134,14.1344508,11.7706142,33.4740235,22.6010234,1.8084089,1.8256084,30.8202349,26.6392735,57.3425665,7.7870093,33.9100438,65.1986666,31.1203811,44.4419212,22.1516951,2.8702713,14.2162547,11.7896934,33.0815936 +870,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.2102904,1.2418204,16.0884144,12.4121953,83.4829366,11.0765349,30.2225218,69.567883,32.2776445,46.1618136,18.1417495,4.1316714,13.5942912,13.4258506,32.3828552,12.650719,1.1879179,1.1800598,16.2557109,12.4332163,82.8078226,11.5687706,29.405826,69.0456034,32.2519357,48.4930259,19.5269906,3.8718765,14.1350339,13.6171273,32.3253396,10.7005964,1.1361727,1.1417897,16.076656,12.2067483,83.0779089,11.7197634,27.3925923,69.0137607,31.6965241,49.9163695,20.4972842,3.5728825,13.8325713,13.4825743,31.3246965,10.147403,1.0534931,1.0590653,15.8673821,12.3549457,82.90569,12.7616693,26.7077941,69.1006325,31.397327,51.5266949,20.6480126,4.1710708,14.255256,13.3874519,31.4446338,9.210367,1.0711582,1.0766682,15.5201985,11.9681479,82.594517,13.5830655,26.355753,68.4927633,30.7652439,50.8360148,20.5858273,4.6363984,13.7459674,12.6555521,32.7325861 +871,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.2006903,3.3571092,40.3407181,33.7021486,87.7248582,14.5989655,28.1510239,55.1644642,19.9892199,30.281774,10.8162068,4.2434214,15.196789,11.5047505,35.6722929,27.3535575,2.926437,3.024842,39.1708971,33.0118419,88.1029194,13.9507385,28.4453563,56.5271485,19.7888353,31.8387318,11.0976777,4.0339453,14.6792171,11.565329,35.3417884,26.8955028,2.6988728,2.7999617,38.3799251,32.3172747,88.1522188,14.0288149,28.1099488,57.4120296,20.1970158,31.0125248,11.5929819,3.9910278,14.5348828,11.2594023,35.7192264,27.5355081,2.5278278,2.6325706,37.2001301,31.3399486,88.4838566,13.8956559,27.4999934,57.7797191,20.5069968,31.2762297,10.8566421,3.9335685,14.6349864,11.5437547,35.6894185,26.9716173,2.3467691,2.4208173,36.2326312,30.3992947,88.0665171,14.2580917,27.3066017,57.7537269,20.6351998,31.4584884,10.7700451,4.0631677,14.330545,10.9287631,35.9055805 +872,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.0430115,4.274141,47.883424,41.2685685,74.7235839,8.6323045,32.016748,57.9917289,27.4921474,38.2320609,15.6585252,4.8240111,17.1327225,12.2001416,35.0870636,31.4632412,4.2512045,4.4707565,48.3769727,41.8073332,74.582224,8.2783093,32.53275,58.8746225,28.0302708,39.1579737,16.0663363,4.8482442,17.636096,12.5087944,35.2068612,31.4589423,4.4615073,4.5895796,48.2744638,41.3474581,74.8866521,7.4748143,32.3177156,59.0079354,28.5871048,39.6986493,16.1528406,4.424028,17.223903,11.8847268,36.3819888,30.5929787,4.5968906,4.7226147,47.7948626,40.8063375,75.0592599,7.3682191,31.6570055,58.9821413,28.8377031,40.3843551,15.9089893,4.6503204,17.5970765,12.1441438,36.0509084,31.0759717,4.9322396,5.0737317,47.6573269,40.5203259,75.2166309,7.3064462,31.7816894,58.4771483,29.0007214,40.1025031,15.6380929,4.6812833,16.607001,11.4229625,36.7126242 +873,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4.0427783,3.9684714,38.6292263,31.1270082,47.2581864,15.6949068,29.1713466,62.2546262,34.3067346,44.6933582,22.6845435,2.5290801,15.8142706,13.6277553,41.1979682,24.6534751,4.4373534,4.3356151,40.2950802,31.9613517,47.0831374,14.7606614,30.1381899,61.1619154,33.1767108,43.6595687,21.4784567,2.4497945,15.8178025,14.0537915,40.0254228,28.0909062,4.6171964,4.5847577,41.8371899,33.7785983,46.7185215,14.2208603,30.9264375,61.1677712,32.5981417,43.8542735,21.1101228,2.5075471,15.5401793,13.3477439,39.7376256,29.1738411,4.6449626,4.6736035,43.151911,34.9174747,47.1603213,13.522415,31.8678146,59.9209159,32.0504347,43.55575,20.0614733,2.6480401,15.576511,13.210067,41.1489468,30.3660551,4.8767088,4.9395315,45.3479981,37.3709211,47.8522486,12.3689918,32.6060208,58.3449411,31.0352917,42.2678147,19.1187903,2.584787,16.2627231,14.0268568,41.108829 +874,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.9113243,0.9508359,17.6595597,13.4363416,87.6596303,10.4202626,31.3522094,66.909483,31.0199508,43.3921339,19.5935488,5.2786528,13.7474461,14.244935,35.882111,8.6338105,0.8509812,0.9084132,17.6730318,13.2768798,87.2686977,10.4948283,31.0852299,66.8415195,31.5971316,43.8572385,19.7721714,4.9270785,13.376643,14.3636613,34.6657474,7.8063581,0.8634032,0.9200713,17.699158,13.152571,86.9391234,10.2759808,31.35296,66.6709146,32.0116896,44.7809048,20.6612338,4.6998002,13.6059696,14.5907929,34.4480133,7.2420951,0.9316559,0.9877379,17.8950718,13.3439691,86.5570888,10.5725563,30.8127158,66.5037202,32.0918513,45.3348694,20.905428,4.9536314,13.4271104,14.5012878,34.4747656,6.9980028,1.0257281,1.0889516,17.9489754,13.5452094,86.0041162,10.6041415,30.4146314,66.7463239,32.0729357,45.6407173,21.3441813,5.1633568,13.1001073,14.5737799,34.7100683 +875,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.3325399,4.4621792,38.4174237,31.9851591,61.0407621,12.4301777,22.6075164,63.2429266,32.022473,37.0205371,18.6400644,4.0565671,13.1513041,9.7810752,36.8666117,26.3454721,4.3023858,4.3984148,40.0171547,33.49866,61.9443593,12.2354989,23.2392188,62.7208178,31.470341,36.530894,18.1400929,3.9227022,13.2273054,9.6341645,37.0129857,27.0645092,4.3064072,4.3805099,41.2353114,34.7203638,61.9285173,11.9679822,24.1226713,62.5250088,30.7949867,36.1897796,17.8428546,3.7132514,12.8318572,9.6106119,37.1726514,28.1654157,4.3480836,4.4301226,41.9804683,35.2630033,62.4256905,11.7111992,24.4851853,61.8655728,30.4026697,35.7077251,17.6184679,3.7012929,12.7409818,9.3303304,37.1817031,28.9062521,4.5325059,4.6367665,42.9618016,36.1313616,62.9008696,11.1988996,25.465019,61.5068886,30.3298461,34.9687481,17.0155952,3.4377573,12.8897353,9.3003837,37.1808705 +876,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0886681,2.1451555,26.4672876,20.9215895,85.1148809,8.2749523,20.7595432,59.5049357,26.319419,41.6955757,18.1952982,5.1056558,13.250326,10.318059,37.0351508,10.5653631,2.2885212,2.3749291,27.9746313,22.1631955,85.4434799,8.5649885,20.2440228,58.651302,26.0680415,41.3022197,17.8261465,5.0972419,13.0671184,9.9334989,36.7814253,12.0906164,2.3573075,2.4675659,29.0626226,23.2724207,85.7271997,8.4457122,19.9083306,58.3626531,26.0849961,40.3081189,17.0742857,5.0201583,13.0560403,9.7768846,36.5540081,12.5397908,2.5060265,2.6190449,30.6590671,24.5679961,85.9674196,8.6259487,19.6470648,58.5240287,26.2867756,38.5855098,16.0453995,5.021432,13.0880093,9.8834647,36.694185,14.3175288,2.733469,2.8714587,32.0242788,25.8326472,86.016582,8.7647205,19.760463,58.2389325,26.205139,37.1041003,15.1798161,4.9503676,13.012739,9.9395779,36.6288271 +877,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4.3956068,4.5327242,43.1065199,36.0912674,72.1555633,17.3354348,22.5738341,57.954915,25.4382892,36.7839913,15.3603435,2.9702687,14.6039516,11.6574233,35.0800341,23.7085497,4.5507891,4.6860215,43.3103591,36.3896993,72.272699,16.8547809,22.8671367,56.837821,24.6023038,35.6496997,14.742289,2.9245844,14.4500405,11.5043483,35.2615487,24.9708766,4.5548358,4.6674443,44.3450262,37.3010537,72.5900084,16.2769965,23.7102812,56.4165469,23.875834,34.7207925,14.2301361,2.8609824,14.3505965,11.2440372,35.5477397,26.5987049,4.4755085,4.6042144,44.5856536,37.8112905,73.1356822,15.9027099,24.4780665,56.1161297,23.3045581,34.2993105,13.7494029,3.0879786,14.4152125,11.3506124,34.6325388,28.1505655,4.3806606,4.4843905,44.4495672,37.5969493,74.3483243,15.2421822,25.9200402,54.943683,22.4484383,33.597418,12.8349745,2.9911779,14.3474067,10.9638083,35.179803 +878,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0658434,1.1278817,18.4555779,12.9872694,50.5801427,15.0253986,35.9743672,71.0389453,35.4024497,45.3763444,28.2855971,3.7141781,12.5132328,10.4611544,37.0393604,7.7829565,1.2384852,1.2929319,19.1393418,13.859525,50.6862164,14.2590401,35.5525231,70.4853297,34.8516818,45.2558026,28.1670349,3.8543496,12.4721332,10.8958395,37.5283818,8.254643,1.4802888,1.5423318,18.9928317,14.0337268,49.8680398,14.7268773,34.5693231,69.8911101,36.0736027,45.409528,28.5528427,3.9677513,12.3409748,10.8578871,39.8616414,9.7284452,1.573469,1.6359354,18.8723754,13.8774091,48.9879686,15.1803358,35.3817179,70.3712618,36.9507856,46.8877507,29.5762705,4.2624672,11.7244497,10.5677133,39.9896548,10.9812314,1.5787676,1.6423229,19.5875197,13.8815916,49.1815215,14.5811016,34.3587304,69.7261192,35.7546517,46.716178,27.9987973,3.593514,12.1689473,11.9652233,41.1616313 +879,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.39456,2.4250289,33.3945328,27.0705834,77.6377616,18.531614,31.0685738,67.2065629,27.9133361,42.8060581,20.0462768,4.606647,13.0340017,9.4759825,34.7001764,17.1304348,2.6232859,2.6551456,35.3923541,29.1146881,77.7613828,17.6699427,28.9659468,65.2616279,25.6436877,44.8297342,20.494186,4.4642857,14.1461342,10.5195911,35.5851979,18.7699681,3.2190568,3.237801,35.8789063,29.5507812,79.3336059,17.8074015,27.0581114,63.4584342,24.0718321,45.0968523,19.4713479,4.0960452,14.5507007,10.8029801,36.4207879,19.0721649,3.7244124,3.7326808,36.8451025,30.4669704,80.7738095,18.0924855,25.977326,62.0602033,23.0062549,44.3510555,19.331509,4.3588741,14.3700787,10.4743083,36.7093675,19.7658402,3.7590276,3.8259191,39.0460646,32.9887559,80.9208033,18.2702901,25.2512095,60.8671381,22.4599926,44.1570525,18.7383699,3.9635281,13.8409602,10.0300526,35.206422 +880,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7953862,1.8067328,29.9970611,24.0062854,45.6764689,16.2284367,35.2967034,64.436199,33.1305166,53.9019915,28.9465493,2.9525151,13.5435276,12.4549618,37.8402286,20.4804847,1.7854148,1.7966,29.8861388,24.1108947,46.3337094,17.2557227,35.5454555,64.6586836,33.0658736,54.5944226,29.3027522,3.2234489,13.8002305,12.6623219,38.6701955,20.6149926,1.8998899,1.9282186,30.4593816,24.7300796,47.0287211,17.5209821,35.5311353,63.4149702,32.1133061,53.218375,29.0372677,3.318137,14.6050923,13.1380302,39.4443871,21.7532232,2.1813125,2.2775478,30.9754933,25.1389249,47.4677093,17.7937313,36.937825,64.5517438,33.1280122,51.5181623,27.7140992,3.4517295,14.6476294,13.1180808,39.4197083,21.7708034,2.2865663,2.383541,31.2762101,25.3988003,47.8753954,18.2424549,38.5380405,64.4031526,33.2900539,49.5241975,27.4942133,3.7629711,14.4418065,13.5478094,39.3876448 +881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2.0502507,2.0876541,31.7416899,25.9619707,52.4371944,10.9696379,37.3691183,65.4986069,35.6613142,46.5683518,27.3643009,3.6329983,13.6665377,11.4565957,37.5628482,24.2533455,2.0350951,2.0854114,32.1095706,26.1882034,52.6170419,10.6701988,37.4264001,65.89494,35.6102302,46.7031674,27.3151481,3.3786029,13.6011959,11.0942645,37.6695962,24.4502783,1.9976207,2.050807,32.158957,26.1237998,52.9077157,10.5292317,37.4536688,65.9167731,35.2926447,46.8069247,26.9553669,3.2172295,13.7810732,11.0355007,37.7424701,23.7002894,2.1765495,2.2416371,32.4274279,26.3216917,54.0239111,10.4302503,37.6062691,65.6235772,34.515477,46.677488,26.8505412,3.0211785,14.1431707,11.0494614,37.4322297,22.8748795,2.1079346,2.1787834,32.716344,26.8365498,53.8786395,10.8193741,37.5998433,66.2724419,34.6767956,47.1824743,26.7816044,2.9004155,14.7483145,11.4439355,36.3762909 +882,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.352435,1.373644,18.2425074,12.6376602,55.0779178,9.9481818,35.8230845,65.3466578,38.1745399,44.510797,26.4757137,4.2945695,11.538765,11.2294421,40.372269,11.0659121,1.3748688,1.4034284,18.3899292,12.8262874,55.8434436,9.4511364,35.6766253,65.0158795,38.0889126,43.6379308,26.1089509,4.2883769,11.4047199,10.6736542,40.6770686,11.4703081,1.3888361,1.4145863,18.6084419,13.1009347,56.2348717,9.2307203,35.5261103,65.3299556,38.6612323,43.4862465,26.5319999,4.463692,11.6946823,10.7547536,40.8530163,10.3807552,1.3153098,1.3363034,18.3867205,13.0520179,56.2087193,9.2466716,35.9802645,65.5246911,38.8794875,43.3500218,26.7403513,4.5424849,11.9435384,10.8263584,40.9629423,9.9299853,1.2462293,1.253873,18.1835681,13.0813625,56.2594536,9.0556448,35.7394169,65.3211094,39.0660855,43.341617,27.0096704,4.6271986,12.0169146,10.858632,41.0525276 +883,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.6734403,1.6678187,21.8209494,15.954545,54.2088192,17.7805062,29.6685573,71.6144103,38.5780582,47.4875056,26.6393367,3.3321498,13.8764757,10.7594841,31.3996972,12.2038123,1.6597244,1.6594618,22.3982532,16.4275969,54.7889359,18.0766466,27.3604709,68.8838357,36.9077037,48.6310805,26.9392638,3.3871539,14.1660463,10.8885549,32.0719923,11.3738764,1.9288791,1.9425023,24.5094778,18.0673554,55.0208647,19.3684489,26.6769726,67.9222604,35.3801248,48.7271887,26.8833708,3.2507684,14.6453878,11.5248153,33.2973458,12.0934959,2.3118432,2.3778175,26.8935622,20.0223618,55.9734787,19.5069487,25.7147564,65.8762154,34.5946924,48.4190813,27.329286,2.9767855,14.7321523,11.5041259,32.8103397,13.5767765,2.5975327,2.6993827,29.188441,22.4254574,57.0751858,19.653638,25.1855371,64.55308,32.4782227,46.8376694,25.9599799,3.0816304,14.2810847,11.3680845,34.8414984 +884,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9669982,4.0473042,45.6592259,38.8342346,60.2514821,15.8421771,31.0172129,58.15141,23.4088918,35.8452584,15.9667766,2.16591,18.2299253,14.8391535,40.9053599,30.1197179,4.1442413,4.208257,46.1804074,39.2337673,59.807022,14.9428778,32.0534323,58.6410751,23.4672746,35.6339988,16.2072303,2.2606127,17.3792656,13.9596263,40.3416457,29.4547973,3.9050719,4.0188009,46.6681581,39.8103099,59.9822686,13.5226887,32.6689351,58.3934071,23.1149585,35.3177444,15.6946059,2.1169954,17.2004306,13.4608161,40.0110292,29.8797422,4.0758476,4.1734725,47.8008092,40.9099958,59.7479125,12.9938886,32.685079,57.771353,22.8856293,35.6283664,15.1776808,2.0037618,17.9651163,13.3255132,39.9981759,31.5674857,4.1766551,4.321917,48.713672,41.6140131,60.5235008,12.8928605,32.3321632,57.0379836,23.2397283,35.2789556,15.6845568,2.2737812,17.72259,12.8022709,39.4128624 +885,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.8701985,1.8849999,23.6094888,18.6349404,70.2275043,14.532082,28.8043422,68.7346048,33.4187742,44.9651205,22.9594095,2.860956,12.797229,10.4318129,33.8277252,14.1839471,2.0095596,2.0337225,24.7983576,19.6242378,70.2475073,14.8843405,27.3711284,67.0412098,31.4948316,45.9484431,23.0618709,2.7525815,12.2652774,10.0368143,32.7636089,14.8310545,2.118934,2.1723244,25.9064824,20.4484638,70.1614678,15.0896935,26.2899921,65.7699773,30.4899861,46.1299896,22.7100053,2.790002,12.1965872,9.9838157,32.686049,15.7683607,2.2242034,2.2475518,27.4752885,21.918697,69.6852831,15.5772626,25.1272419,64.9079619,29.9432043,47.1906744,22.3668777,2.9463565,12.2535099,10.2858405,32.8786842,16.9156951,2.4631761,2.5097608,29.2611075,23.2464728,69.9962208,16.4907416,24.5783397,63.8586693,29.1510268,47.2919666,21.7484932,3.1015702,12.3974953,10.8746627,32.327435 +886,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8835142,3.0403403,33.7433824,27.3568131,86.2367778,8.9039496,20.5363222,57.7091202,25.9313534,35.8178534,14.8299017,5.0055774,13.091301,9.8876913,36.6946084,15.4974527,3.1175779,3.2942608,35.897251,29.4625592,86.4630872,9.0341629,21.5444244,57.1682366,25.2023928,34.8935364,14.209319,5.1229821,13.4008517,9.9166265,36.5017529,16.600026,3.3068259,3.4796345,37.3661149,30.7437402,86.6426907,8.8705054,22.5055541,57.0159195,24.7002645,34.5263647,13.8501853,5.2132051,13.9007301,10.0526039,36.7942322,17.9600592,3.4579769,3.6069556,38.4861922,31.8412006,86.6188301,8.6998795,23.2054672,56.6161605,24.0468227,33.8714797,13.4722094,5.1894333,14.5772225,10.4527426,37.5887677,18.704686,3.6554059,3.7803925,40.1587626,33.344617,86.8477383,8.5238369,24.5721006,56.5440561,23.8514661,33.0150004,12.8196647,5.2122892,14.8796823,10.4965027,38.1945806 +887,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.576226,2.6697839,31.6557926,25.7867883,48.3913841,17.7825367,39.3345093,64.2109972,34.1906421,48.924743,27.4193559,3.7053176,13.3592265,12.8887537,38.7650713,22.5527682,2.6265852,2.7143993,31.6446509,25.8180238,48.7113862,18.0386965,39.469836,64.6016455,35.3104811,48.8429981,27.7826556,3.6467452,13.4270363,12.7093331,38.7417426,22.2328372,2.5988511,2.7032703,31.5360353,25.7580114,49.5375865,17.3220259,39.1171253,63.8257653,34.6007935,47.5670002,26.995907,3.6567542,13.6688456,13.1923657,38.4131838,22.6679545,2.9260241,3.0039585,32.3030448,25.9775813,49.4123011,16.5554198,39.3961785,63.5493413,34.594971,47.0250266,26.9072069,3.4609631,13.6826238,13.5029832,37.695552,24.7698202,2.9543644,3.0129564,32.2131614,25.6608615,49.7189319,15.7887275,40.0895788,64.4178017,35.6110744,47.3417908,27.3475764,3.6839015,13.5079482,13.2725038,37.0776711 +888,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.270183,1.2929288,21.3191637,17.014396,70.3949171,11.5236976,33.420592,63.7065367,28.0775934,42.1331702,20.3181619,13.2970858,13.3558858,10.2060223,39.675836,10.3435855,1.2884037,1.3138658,21.4676831,17.2208874,70.78969,10.9617462,34.0683941,64.0317525,28.4638348,41.8577803,20.2809068,13.3328803,13.671337,10.4676793,39.4445968,10.6938461,1.2175776,1.2558645,21.8011054,17.5179007,70.9392801,10.4855049,33.705023,64.5437086,28.7795886,41.0658085,20.5294845,13.3739227,14.1611355,10.659836,39.524213,10.4493566,1.1057356,1.1403069,21.8775117,17.6159201,71.3507918,10.0494806,33.6837126,64.5666563,28.9637874,40.4245195,20.4190975,13.2307063,13.8425853,10.6840075,39.8981662,11.0304265,1.2042073,1.2223914,22.2650424,18.1271117,71.485189,9.5530673,33.6321349,64.7392884,29.0885413,40.6664798,20.5214156,12.8438478,13.0548732,10.2207018,39.8973178 +889,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.682632,1.7330948,19.7237487,13.9948577,49.4496594,14.5003232,33.4789293,69.3989812,36.4076454,47.3527134,27.7231545,3.4685642,12.3083858,11.7074993,41.0215558,11.868591,1.6027024,1.6291588,20.2217306,14.0146188,49.7690511,15.3018129,32.8535278,69.419286,36.3379763,47.7011212,27.2975379,3.6110109,13.0974835,13.2234433,40.2932671,11.6120294,1.6738829,1.7224509,20.8534859,14.6334315,49.7481422,15.6281582,31.577584,70.3018744,36.3251431,48.3920598,27.3736695,3.4370909,12.8389639,12.5726592,38.8673805,11.8938525,1.6795531,1.7260206,21.7020975,15.2442985,50.0239912,16.265432,31.6001567,70.7266358,35.8733903,48.2663073,26.2819022,3.2050416,12.8529353,12.0281615,39.1661023,12.7913207,1.5448945,1.5831777,22.7212146,16.1626145,50.5641072,16.7225735,31.412659,70.9017305,34.9322431,48.0948893,25.3376271,2.8687602,12.9076347,11.6600829,37.8657546 +890,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.241448,1.2749884,22.3985481,18.5147945,71.362502,9.2654558,33.9918547,64.9762418,29.3618467,40.7264057,21.2287853,13.1093002,13.1109312,10.4504342,39.7705347,10.3300369,1.3081161,1.3356333,22.2514101,18.4518966,70.9849911,9.1416681,34.2259471,65.2562006,29.7424353,40.3720319,21.2932679,12.9258654,13.1506492,10.6415275,39.5481043,10.3322298,1.2870349,1.2952234,22.4809853,18.6651244,70.9408235,9.2409029,34.3122421,64.9037139,29.8280591,40.7083879,21.5199477,12.8541953,13.3692066,10.849191,39.7193704,10.4996731,1.2422306,1.2539961,22.4502208,18.4410118,71.2515718,9.3593064,33.9442605,65.2732038,29.6883557,40.7262471,21.5060396,12.9118618,13.2994805,10.9846456,39.4555064,10.4739065,1.246293,1.2663629,22.677559,18.5457753,71.9382732,9.0816893,34.1475087,65.4419864,29.2898184,40.9072255,21.4901481,12.8147238,13.2093677,11.3329704,39.118959 +891,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7133327,1.7248352,30.5352449,26.3774912,57.3090642,7.8418383,33.6216366,65.7817391,31.4834799,45.0688633,22.7998763,3.0181689,13.5694641,10.8739863,32.4398606,21.244637,1.7630168,1.7713769,30.2166577,25.8675647,57.2652553,8.0887606,33.5053587,65.7013259,31.6044625,45.0455327,23.0728252,3.1507203,13.1922639,10.9840949,32.7864503,21.7410792,1.8725646,1.8944161,29.7401241,25.317417,57.2932111,8.1142412,33.8624524,65.7648396,31.6412323,45.8183099,23.23338,3.2722067,13.8434758,11.5064039,33.431226,21.191769,1.9153604,1.9286093,29.5833357,24.9749811,57.8137776,8.1425275,34.0562804,65.7830187,31.4854474,45.8587744,23.0571857,3.1332101,14.4503622,11.7884315,33.7000719,21.4534608,1.8954919,1.9112628,28.9484212,24.3313102,57.6946985,8.1222064,34.2012631,66.2629433,31.7350058,46.3875245,23.1030835,3.0538176,14.7474915,12.2083754,33.6054291 +892,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2.5880766,2.5225735,37.0650967,31.1485955,78.879627,30.7553586,25.9902748,63.8056228,24.9099477,46.5184693,19.1476833,3.0612668,13.6156487,9.267758,37.5292008,13.9085242,3.110545,3.0471861,37.0476602,31.391525,79.1970153,30.3363448,25.2330305,63.2284698,24.5337787,45.3961796,18.2401629,2.7389644,14.429612,10.8501456,36.9912261,14.9832407,3.2500463,3.1874803,37.9328896,32.3462815,80.0823512,29.9430788,25.4014527,62.6719129,23.7958714,43.6352731,15.6537435,3.1537077,13.4174858,9.9771901,34.6066906,14.8209435,3.7902575,3.8325859,38.8253699,33.1241142,80.7646564,29.0302871,25.2364829,62.3521631,23.3451518,40.1300131,13.6525012,2.8960102,13.7647502,10.0001176,35.7484056,16.3367415,4.2309073,4.2516976,41.1596746,34.7407433,80.2507308,29.3813789,25.9324247,61.0138912,23.3682968,38.869441,14.1608629,2.7389549,13.3568955,9.3380536,36.6350434 +893,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4959502,1.5054876,20.9083923,14.3984134,53.6040702,16.0913325,34.7987559,67.4099754,34.4558408,45.8604422,27.2086781,3.19073,12.9773348,9.8027773,43.3419014,13.7323336,1.5499959,1.5593994,20.7518889,14.3854749,53.4070159,16.8871884,34.7059684,68.8209322,34.8568708,46.7928711,27.3651693,3.2353564,12.8921595,8.790341,42.5658096,13.6363636,1.5956195,1.5956195,20.6909813,14.7741774,53.06072,16.1691288,33.6447066,70.0686364,35.0633948,47.2019869,27.8808901,2.9932359,12.951022,8.3800671,41.5618202,10.8391608,1.6545822,1.6545822,20.8886234,14.9927303,53.7209891,16.3894239,31.9090886,70.5190453,33.9718138,45.7839492,26.836555,2.8475449,13.1377991,8.4517159,39.472505,12.6407205,1.9243733,1.9243733,22.2162085,15.9301148,53.3493038,17.5754954,32.1373514,70.4748357,33.8722172,46.3642341,26.4779037,2.6863626,13.4500083,9.9413228,40.7105206 +894,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4.9555609,5.0334134,47.4320762,39.682164,48.083441,11.6845642,33.6251246,58.6507497,31.1168269,42.3442273,19.6711073,2.4533428,16.6219067,13.8238472,40.8464047,35.2122797,5.4132452,5.5287184,49.6365333,41.8845231,49.3594345,11.3111812,33.8756971,58.3594918,30.4880853,41.5798049,18.9754188,2.4701423,16.8003887,13.8567661,40.2715123,36.3187447,5.8861256,6.0249445,52.1515994,44.2056334,49.8653066,10.4490295,34.3819554,57.4966949,30.0419515,40.6670545,18.8639973,2.5447703,17.6180306,14.3155925,41.1049254,38.0920317,5.9478855,6.1188862,53.4385688,46.0161286,50.5650441,9.9593549,34.4045656,57.8282595,29.8725956,40.7179577,18.6282777,2.3006355,18.4664389,14.5593928,42.0848088,37.6595958,5.9512054,6.1336827,54.7867053,47.5467164,51.5725166,9.3322422,34.2372716,56.6537162,29.4892555,39.097944,18.0839389,2.3537827,19.3137753,15.4272583,43.1338692 +895,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.2074203,1.2154627,17.8532658,12.8026581,56.1525886,8.8068387,35.4338088,65.244739,38.8709562,43.4315465,27.0244464,4.5328083,12.0361836,10.5738364,40.9615161,9.7446358,1.2680818,1.2795886,17.7870799,12.5911279,56.277641,8.5454483,35.5688766,65.5423338,38.9502603,43.4624754,27.1126624,4.5850235,12.2741286,10.4146376,41.1310531,9.3396665,1.2179252,1.2411675,18.2185081,12.8501248,56.7277873,8.511563,35.6538761,65.5857733,38.6065082,43.9622424,27.2327943,4.4007473,12.3665058,10.719451,41.0051169,9.0402697,1.1641657,1.1669266,18.3840183,12.9472325,56.262585,8.4122759,36.1307106,65.7448986,39.192701,44.2346687,27.6312288,4.4573779,12.3768028,10.8735027,41.0061048,8.4364036,1.1607075,1.1597884,18.3099567,12.9389559,55.809267,8.1923488,35.931943,65.9415478,39.2274601,44.6361746,27.7806148,4.3733449,12.1502457,10.5785385,40.6008897 +896,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5117097,2.53411,32.1408946,26.888617,81.539021,15.9293886,31.6781369,65.6276927,31.7067984,44.9054223,22.9650364,5.7394703,14.8285022,10.7216839,35.8166459,17.2578866,2.7389876,2.7620815,34.4923151,28.8347369,81.4970665,16.0080385,30.4546124,63.2313797,29.8653112,46.2256249,23.1022996,5.5914136,15.2299764,11.070923,36.5429504,18.6137169,2.8577488,2.8900951,36.6175968,30.5968254,82.1542915,15.9705274,29.5199665,61.7273016,28.8635224,46.998089,22.5998466,5.3131848,14.7216042,11.0439036,35.9437097,18.7198167,3.0125035,3.0884491,38.427306,32.3764728,81.9543204,16.3837634,28.3156783,60.3124626,28.235225,47.4788804,23.0857015,5.1428198,14.0693298,11.1065665,35.8836451,18.6506236,3.3195525,3.4268603,40.2540325,34.0334614,82.3155537,16.3051702,27.1939936,58.8208944,27.591747,46.8629711,22.6135577,4.8691298,14.5136257,11.2048891,36.3148279 +897,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7283272,3.778709,42.4544785,35.6410779,53.9111015,18.6851351,29.6871416,59.1995891,30.88079,44.6169649,21.199706,2.8375641,14.5947462,11.7236525,36.3292869,25.6523312,3.6545572,3.7191743,42.6507099,35.7803205,54.5025221,18.764455,30.5869454,58.480587,29.8278226,43.0431534,19.7510205,2.9232268,14.3488138,11.9425224,36.798772,26.4227114,3.6148412,3.699443,42.9035912,36.7064557,54.5602291,18.1907517,31.6169263,57.1362297,28.5849547,42.6797758,19.2982134,2.7300214,14.2137741,11.3778197,36.1738104,26.5641174,3.9224972,3.9958387,44.0891101,38.2010031,55.1048394,17.1241427,33.653246,55.400871,26.834472,41.5403021,18.392176,2.7135965,14.0397019,11.3056793,35.4869658,26.4782233,4.2191671,4.2543524,45.8755237,40.1152489,56.3111744,16.3793233,35.6295714,55.6088929,26.5434863,40.0341797,18.105211,2.8050295,15.3137102,12.5931651,36.5043949 +898,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4250091,2.3753997,24.3074554,17.8868325,54.3147728,17.7535982,31.1940678,70.8571072,32.6268626,46.6816365,26.8434628,2.7973943,13.8390042,10.585104,42.1214635,15.818025,2.7495031,2.6382094,27.1615836,19.7212233,53.3120089,18.2324373,30.0299311,68.1781242,32.6279936,49.0397884,27.8695395,3.0261337,13.9763684,11.7715123,42.2894373,19.9301977,3.0683003,3.0060147,28.5662025,20.8479878,53.976212,18.007064,29.103038,66.470617,31.0952041,48.8996059,27.3708033,2.7743606,13.9476711,11.8410991,40.4527542,21.1196311,3.2202829,3.1930056,31.6574352,23.4482343,55.5333607,17.9564478,27.9250327,63.9452997,29.4495108,48.0596507,25.7883681,2.4781283,13.3309239,12.1937988,39.6749814,20.9853606,3.6252996,3.5996711,34.0233744,25.4922597,56.3339196,19.540193,28.1610315,61.4705537,28.6545936,46.8967694,25.9550396,2.6747824,13.5729956,11.1349793,39.6115715 +899,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5602157,4.6776308,49.4092785,42.5392665,60.3227815,12.3791615,33.1861343,58.2998266,24.3146198,35.7135578,15.9892107,2.1627896,18.7528524,13.3494162,40.3599545,31.7493755,4.8074066,4.970343,50.2269855,43.7610071,61.0530538,12.2040107,33.8034212,58.7790776,25.6611537,36.1226919,16.4185109,2.0449791,18.7481683,14.0954443,40.5427332,32.3815668,4.9045381,5.0323744,50.8828219,44.5433275,61.9371586,12.0421895,34.0467788,59.4375639,25.8301533,35.966137,16.8486743,2.0739696,19.0741706,14.3627172,41.0938399,33.4791905,5.1129149,5.2806793,51.5809663,44.8848776,62.7169556,11.8888309,33.3462562,59.1565918,25.7349916,35.7601359,16.8024038,2.0175945,19.984363,14.593629,41.066426,35.2823912,5.3336442,5.4503321,51.1976896,44.3658341,63.0309427,12.0849277,32.494489,57.8573149,26.1223276,35.4431615,16.6510725,2.0022326,20.3444662,14.6770875,41.8015316 +900,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.8787799,4.0037551,41.8250755,34.9545907,87.1937924,8.2625204,25.5076216,56.6237351,23.4420752,32.2634255,12.2916172,5.1768752,15.234248,10.5873218,38.4973973,20.3778829,3.9611579,4.0797841,43.1713933,36.2663989,87.7532182,7.7454896,26.0235143,56.4442281,22.8412351,31.6110223,11.715963,5.0499582,15.6290304,11.0574761,39.3926132,21.8813765,4.1239893,4.2228623,43.9552237,37.1052008,88.0197366,7.2642569,26.2330927,56.3081913,22.3233456,30.9036568,11.3157335,4.9176735,15.8119727,11.2940329,40.4638633,23.2637782,4.0789617,4.172311,43.9499348,36.9726346,87.9739897,6.6859044,25.9513462,56.0696355,21.9729809,30.4766866,11.1725753,4.7181705,15.9264838,11.2609057,41.1890957,23.8729628,4.1476625,4.2464054,44.3410721,37.496091,88.1871897,6.370747,25.8440284,56.0067308,21.8303515,30.077163,11.012982,4.687449,15.7047195,11.3316283,41.5633434 +901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.1474806,1.1995962,18.0847999,13.6169236,86.148513,10.6052599,31.0253322,67.3171468,32.1474754,46.684531,21.4103367,5.1390343,13.1768885,14.5177968,33.8592714,6.4229681,1.1148034,1.1887639,17.5567725,13.0160039,85.7124546,10.6660557,30.9036069,66.6536134,32.6635575,47.3732539,21.1057532,5.0302176,12.7529153,13.8326122,33.2709366,7.0122436,1.1778472,1.2218603,17.3008488,12.831994,85.9879301,11.0009209,30.7721985,66.6971792,32.6768096,47.365016,20.9887079,5.1265491,13.5526309,13.454443,32.0370018,6.081148,1.1267632,1.146534,17.2254353,12.8971849,86.2351393,10.9271504,31.294814,66.8077994,32.4744463,47.1922947,20.9101994,5.5000148,13.6108553,13.2975706,31.6315099,6.6092676,1.2064329,1.2221489,17.1467531,12.9500809,86.1111888,11.0676415,30.944981,66.628365,31.9668342,46.4239836,20.0127046,5.6321916,13.3519862,12.4809341,31.7925503 +902,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.2560916,4.3576974,44.775697,38.0374631,88.4532433,5.8547696,26.2655636,56.0252021,21.4848794,29.9867668,10.9946471,4.5472201,16.000805,11.3313245,41.9135478,24.8777853,4.1721954,4.2827662,45.3017269,38.512647,88.4760111,5.3892834,26.3179519,55.743661,21.0830664,29.8271318,10.9287424,4.5681529,16.2516663,11.6667782,41.852491,25.7236775,4.1838075,4.3000879,45.0997904,38.3213641,88.4664489,5.1094486,26.0903784,55.6353216,20.9230561,29.604171,10.8562068,4.5091027,16.2669846,11.7161021,41.7749435,26.0090336,4.0703152,4.1803568,44.4764772,37.7790324,88.4488308,4.9607813,26.0423992,55.9476709,21.0935825,29.9206729,11.0339152,4.4789081,16.1925671,11.6636012,41.4118074,25.8632074,3.9006962,4.0192192,44.1772754,37.3862959,88.338972,5.0259052,25.6513117,56.2162254,21.3421222,30.2046391,11.1580548,4.5252073,16.1101347,11.3182017,40.7052911 +903,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7743882,1.8511287,29.027836,24.5946322,50.3543764,12.0170664,38.0569862,66.5970063,35.5097051,49.9171424,28.8420826,2.7657265,9.9117452,12.0498345,40.2263146,20.5877912,1.62243,1.7006315,27.2561797,22.9082913,50.1830777,12.9844763,38.7417346,67.0383562,36.2494844,50.4051795,29.2262222,2.9805242,11.3608121,12.071498,39.5431685,19.0318651,1.9974298,2.0747462,26.992054,22.1849453,50.1377055,13.7323244,38.1914416,67.2685127,37.2211292,50.0026653,29.2083691,3.2160805,11.8850324,12.5844368,39.3741481,18.3226172,2.0412984,2.0569249,27.8236755,22.4466854,49.7855128,14.6537708,38.3623571,69.3313499,37.8534488,50.8891914,29.2337954,3.1730473,12.4191605,12.414543,39.1646881,18.3136128,1.8801145,1.8957543,28.9576069,22.9716765,50.4347994,14.8003657,37.5091548,68.9510733,38.0122291,51.1014332,29.0187934,3.4415524,12.0865531,11.9201292,36.9284652 +904,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,3.757785,3.9030742,37.5110009,30.2902452,48.1948543,12.3069684,28.1669479,62.5707264,28.5882086,47.6821715,25.0307219,4.9699702,14.6783476,11.9423101,33.2552482,17.8571429,4.0564639,4.1812865,39.4001878,32.0320123,49.6022978,13.5500249,29.6196684,61.803151,28.4427164,46.8558101,24.3248668,4.7355211,13.9154944,12.1063484,34.382165,19.9127965,4.2319322,4.3112376,40.3963927,33.3999733,50.4432482,13.6191792,31.4296852,61.3264985,27.5406514,46.8687628,24.1742664,4.7883867,14.3086657,12.9738641,34.984711,19.8571485,4.428735,4.4545572,42.042798,34.9308754,50.6655109,13.9147257,33.4771425,60.6947593,26.7871927,46.5730369,24.0092757,4.6770995,14.1415265,12.742615,36.0346938,21.2000057,4.7514131,4.8018023,43.5471675,36.0529677,51.3451352,13.842782,34.765535,60.1300001,26.219581,45.5859381,23.667146,4.4669888,14.7326507,13.3522727,37.1575342 +905,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.2003951,1.216178,17.2058038,13.1003034,86.0353743,11.1068273,31.1055847,66.5341166,32.1575495,46.0877651,20.023034,5.554141,13.3213583,12.1919898,31.2789696,7.7541047,1.1206382,1.160321,17.7847569,13.429286,86.4586123,11.2228219,30.9707309,66.5504572,32.2618103,45.8430395,19.5068165,5.4867078,13.8888749,11.8243083,31.1488087,8.2888543,1.1721875,1.203304,17.9026219,13.7175764,86.614481,10.962057,29.5839246,66.4341308,32.3737796,44.8516583,18.7547323,5.4907493,14.6622367,12.2057311,31.8322405,7.7250166,1.2658875,1.3253586,18.9514382,14.5843212,86.9933684,10.9632906,28.590425,67.0426629,31.9626269,44.5779285,18.6196353,5.4221613,15.0947616,12.6640827,31.3845901,7.9787634,1.3625367,1.4225971,20.096543,15.4579774,86.8590417,10.8111122,27.7056662,67.5685244,31.8437643,44.7723538,18.3766312,5.4236365,14.6025398,12.2562883,31.999022 +906,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5663542,4.5357842,47.1346004,41.0134247,56.7484125,15.8754533,36.2127775,56.8371341,26.728868,40.539617,17.8883215,2.693605,15.8055209,11.9805204,36.2252924,30.1714191,4.5606078,4.5304905,47.6756546,41.3873314,57.3368145,15.1109156,36.6813075,56.9886335,26.162811,39.6856281,17.41911,2.5730189,15.965188,12.7189985,37.8045346,31.33783,4.6288743,4.6398026,48.4111386,42.5849692,57.9631871,14.1096465,36.7732537,56.3754889,25.7036006,39.2220477,16.946687,2.6089277,15.4253632,12.8633075,38.7810158,32.0309276,4.8117597,4.7967498,49.0926339,43.5696946,58.484865,13.2664349,36.7902943,55.7426964,25.3075244,39.4354401,17.2733899,2.4338716,15.2669866,12.334259,38.8297201,32.3835364,5.0967215,5.0495046,50.5135904,44.816057,59.0219779,12.9603015,36.8915607,57.0070226,25.5174316,38.9583037,17.502842,2.6112084,15.4391532,12.5256125,39.7584587 +907,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.863589,3.9176307,41.0854032,34.9948962,81.0738494,18.9910468,24.8430962,59.1178522,21.8096234,43.6018131,17.904463,4.1317992,14.9893692,10.3900709,36.0071942,20.4441913,4.2921675,4.3797915,42.9913985,36.8429436,81.2208916,19.1725692,23.762215,58.4201954,22.1661238,42.8501629,17.47557,3.6644951,15.0626236,10.9313078,36.8050904,22.0207254,4.4621791,4.5503526,43.8939394,37.7121212,81.6323296,19.3661972,23.4336228,57.8008685,22.4100496,41.8889578,16.5477667,3.6445409,15.6369427,11.0082961,36.7656553,22.8419011,4.3663128,4.4853497,44.9489051,38.7883212,82.9614914,20.0383934,23.245745,57.7037922,22.4096745,39.4595402,14.5267244,3.6578083,15.5904059,10.9365373,37.8268991,22.0425139,4.3633317,4.4919542,47.2497874,41.1539552,82.8643365,19.7285714,23.2668977,57.4667822,22.2848065,37.9404968,13.8792605,3.6250722,16.1764706,11.6887019,38.5479951 +908,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.4212217,1.4894504,21.244964,16.5079963,87.4498361,10.9025777,25.8291969,67.1905873,30.853928,45.2599761,18.8243077,4.764883,15.5043665,12.3886771,32.1606839,8.9436884,1.442925,1.5285794,22.3999924,17.4959387,87.8442244,10.9306133,24.2600329,65.6512129,29.0207143,47.2743697,19.1046179,4.5757592,15.9394783,12.8720275,32.408841,8.7162669,1.5223976,1.6059892,23.6811945,18.66037,88.1395491,11.2317277,22.7054254,62.6957597,26.7525369,47.1814853,18.2245435,4.3965595,15.66577,12.772611,32.1707212,8.8961663,1.8029152,1.8626181,24.66852,19.768538,88.457044,11.4182763,21.1870549,59.8298141,24.8250373,45.5574271,17.2924313,4.2560697,15.515597,12.6869056,31.7434542,10.3967021,1.90171,1.9624835,25.9840263,21.0918658,88.5423276,11.5366409,20.4776554,58.1796179,23.3386769,44.7970022,16.7397095,4.1416546,15.542922,12.7152789,31.3183939 +909,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2438473,1.228655,17.9476107,12.1041877,58.8172899,12.0598949,35.3988655,68.8695294,36.7824572,44.5245902,26.1553916,3.7239145,12.6679946,10.1472693,38.4637517,8.753048,1.1764121,1.1328448,18.1180703,11.9743144,59.1104945,12.4357915,34.9511282,69.3355543,37.0637129,44.6265349,26.1328708,3.9345173,13.1362285,10.000101,38.6317509,8.9681141,1.2038627,1.1859166,18.4763154,12.7662465,59.0347322,12.879441,35.2145792,69.4706507,36.7052559,43.9155335,26.1484703,3.7876933,12.9144224,9.949884,39.0464656,9.6814421,1.1869675,1.2371034,19.449257,13.3887011,59.5896205,12.798937,35.7934447,69.1168269,37.2006319,43.3684155,26.1227593,3.6377594,12.9618872,10.2778561,39.1127599,9.9760359,1.4973094,1.4977491,19.9688756,13.7614353,59.2433632,13.1730518,35.8019259,69.3981634,37.5548967,43.6314992,26.0444432,3.7540477,12.8322325,10.0061536,39.9451673 +910,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.6269554,4.7515972,43.7865266,37.0433954,63.5834402,10.4804604,26.3817758,61.5850893,30.282382,35.0338873,17.1498556,3.467619,13.3703243,9.276708,37.1737798,31.4123927,4.5978139,4.7292166,44.2265384,37.5549856,64.0911573,9.8564827,26.8223657,61.6699351,30.3539119,34.7607931,16.952165,3.5051298,13.4939932,9.3417475,37.2026993,31.8996001,4.6150634,4.7706422,44.9200817,38.3047197,64.7070364,9.3522179,26.5993146,61.6507789,30.0915023,34.6664136,16.8166288,3.473121,13.7172226,9.3467289,37.5406247,32.9359845,4.5430836,4.6985357,44.7598745,38.3539878,65.0978976,8.95833,26.5308588,61.8601475,30.0550187,34.3605539,16.8274672,3.4244931,13.8746427,9.5990394,37.7021335,33.1092261,4.5042755,4.6801376,44.5499401,38.1002163,65.559303,8.6233275,26.4076935,61.7357911,30.1500409,34.1079639,16.9483542,3.418987,13.9739155,9.5233959,37.852761 +911,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.4185002,4.5872268,44.2177702,38.0005053,65.8048599,8.3283096,26.9237512,61.9835765,30.3650985,34.3741854,17.0888343,3.3758402,14.3244221,9.9668075,38.25651,33.6184499,4.1895083,4.3574897,43.6034795,37.480867,65.9258955,8.0291653,27.1682854,62.3788418,30.6692876,34.6214922,17.392215,3.5051808,14.1764723,10.0252096,38.045682,32.1174925,3.9690547,4.130866,42.9995241,36.7495251,66.3024066,7.829947,27.1551393,62.8440366,31.1389408,34.6764219,17.1047226,3.5333502,14.0756336,10.0975294,38.0714471,32.4166936,3.9091947,4.0707294,42.7641542,36.4228096,66.2837393,7.6144816,26.7926906,63.1616128,31.6119672,34.8525142,17.1292093,3.5853762,14.0527306,10.1725004,38.251316,32.5349091,3.7307705,3.8633917,42.1427377,35.7539418,66.4593328,7.4020726,26.818791,62.8608421,32.0081781,35.1201422,17.3243803,3.549976,13.647874,10.1959781,37.5616786 +912,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.2399431,4.2454804,36.6679551,27.9137602,56.5912099,18.6214875,28.1838693,60.9131912,27.8681536,46.9595203,25.4271189,2.6946972,14.3720261,12.3007411,42.4333075,27.6204073,4.6084387,4.6607864,38.8042574,29.7386934,58.1685038,18.2124322,27.7767176,59.7503229,27.0588723,45.0858472,24.9153923,2.8519215,14.2293881,11.764728,43.9095978,28.1189313,5.0228755,5.106142,40.0994494,30.9395582,57.8633346,18.3004205,27.3323019,58.9848448,26.6437768,43.8771007,23.4977426,2.7927722,13.8074295,11.140864,43.9146823,32.0130218,4.844989,4.9797803,41.3923823,32.5175141,59.2358938,17.280036,25.7708533,58.3283357,24.9127096,40.9781828,21.284127,2.5495497,14.2791832,11.2422587,44.2755774,34.3873126,4.9178464,5.1110865,43.395868,34.8241248,59.2563314,17.6576749,26.4734302,58.4504583,25.3778735,40.0277507,20.7510467,2.6790561,14.2604962,11.4485488,44.901756 +913,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0199828,1.0256368,15.7813052,12.0997286,82.216393,14.0004153,26.3478699,67.1445663,31.1228022,52.1249783,20.5584739,4.9230274,13.4665351,12.6060321,33.4619691,10.2229533,1.0005267,1.0062009,16.2342365,12.2432863,82.5160001,13.731578,25.5665424,66.6092651,30.303318,51.7460978,20.7027479,5.011778,13.8468775,12.6576039,32.6384726,9.7068708,1.1143377,1.1199583,16.5746698,12.7038757,83.3292654,13.0958547,24.9431298,65.4069913,30.187572,50.4525305,20.1180581,5.3074726,14.7699356,12.8236315,33.9950832,9.3064437,1.2789706,1.3077441,17.1607012,12.8964785,83.6366862,12.9073396,25.4603966,65.7923235,29.686081,48.3217488,18.6568345,5.2610815,14.5216303,12.7325384,34.9445552,10.4777563,1.2934907,1.3171101,17.2508456,13.2617817,83.5770065,13.134524,26.4937634,65.7890162,29.5547902,45.7656219,17.8708025,5.281471,14.2431881,12.3723721,36.6954125 +914,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.4500735,3.5466736,41.8743296,35.446015,82.5846264,16.4612314,26.0464819,58.0094996,27.0461132,45.9015372,21.9105432,4.6170183,14.3995022,10.9268254,36.4367811,19.7363361,3.5079075,3.6028533,42.9841196,36.4273203,82.8319987,16.2023603,25.3454833,57.2031321,26.617347,45.1449147,21.1752561,4.5187719,14.2909692,10.6495148,36.6724326,20.9262834,3.7586241,3.8641897,43.6916798,37.0460022,83.4519137,16.2368165,24.5349936,57.294815,26.5810329,43.6584517,19.6175408,4.4698906,14.0122182,10.6890886,36.7779384,21.0331501,3.8505719,3.9667713,43.8314656,37.4475462,83.7085847,16.4510684,24.1338104,56.9466627,26.2992983,41.252569,18.1844141,4.4164591,13.5858229,10.5842773,36.4284044,21.4066772,3.9253393,4.0483422,44.1147501,37.7961857,83.7497093,16.3054392,23.9684946,56.6481538,25.7027908,39.4865151,17.2920037,4.4150988,13.6384695,10.473205,36.7935556 +915,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.3897668,5.5952769,45.1990122,36.4299386,59.109732,17.5917941,27.1019187,58.6049725,24.9228055,39.1694857,20.5475938,2.6398108,15.0292422,11.7759883,45.7153447,37.6440327,5.4020013,5.6040213,46.8633825,38.0753292,60.0887104,16.4610661,27.7365389,59.2710964,24.5790302,38.9973586,19.4137848,2.3930242,15.3107389,12.5813704,46.1991788,38.3373721,5.2514924,5.4294423,47.4546845,38.9229378,61.3005541,16.5706513,28.8320533,59.5167708,24.5727877,37.9686678,18.9599618,2.3439777,15.3205146,11.7859876,43.1561673,40.3408907,5.1925769,5.3218969,48.2933968,40.3657383,61.0847195,16.402762,30.128866,59.3239159,24.740974,38.3235488,18.8019024,2.3832929,14.8460018,11.8703069,40.2217544,42.3635863,4.9953959,5.1949033,49.4405475,40.9882885,61.3893155,15.783089,31.7640219,59.0913393,24.6465845,38.2909365,18.8678775,2.2135968,15.1670889,12.5920576,41.1673605 +916,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6636753,1.6741659,24.1900044,18.1174725,51.8521086,15.7980377,36.5042293,66.963981,33.8095084,47.0267252,22.5897346,3.565169,12.8464502,12.2799842,42.444888,10.9405708,1.8868806,1.8974314,24.165333,18.3009424,50.7207113,15.6430338,37.33309,66.8739844,34.8182074,47.1334382,23.2627497,3.3950939,13.8462598,13.5706989,41.7918828,14.447478,2.267545,2.2783559,24.7656702,18.6002358,50.4818276,15.6653819,38.0998896,68.0024892,36.2407779,46.776717,24.2601745,3.1910356,13.8725244,14.6047159,42.9190594,15.6860232,2.1427506,2.0889813,24.8847374,19.0496971,49.9969298,14.6037406,36.6860056,66.9779297,35.6910897,45.4021361,23.754878,2.8220004,14.2197604,13.8227485,43.6993496,15.1606072,2.2054556,2.1016758,23.6991165,18.0448387,48.2583666,14.9127452,37.042565,66.893531,36.1805899,45.4144015,24.3939638,3.0718225,14.6047322,14.7472458,43.1861404 +917,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3857735,1.4204514,21.1390432,14.9062576,59.2425449,13.6044246,35.373912,69.021108,37.1148433,43.9643408,25.7563863,3.9812057,12.8946411,10.1609297,40.089759,10.1562999,1.5194818,1.5488692,22.0736217,15.9368099,59.7348272,13.8621222,34.812486,68.5190748,36.4363034,43.7993068,26.1339721,3.9334153,12.9456899,10.2571825,39.5121887,11.2137068,1.4366872,1.4735154,23.2317068,17.0523527,59.6260544,14.0805333,33.8275704,68.3487552,35.5687011,43.0497362,24.7960921,3.9037401,12.2513125,9.7498789,37.764276,11.7473123,1.6909403,1.7454197,24.6105807,18.3040673,59.596626,13.8164477,33.2254057,67.9145245,35.1685558,42.7333382,24.779895,3.665837,11.7504241,9.2652775,37.1870749,13.0014998,1.8008571,1.8692104,26.7362163,19.8405246,59.956026,14.1010005,32.6756586,68.5208225,35.1961451,43.1900554,24.4271327,3.7551324,12.1607584,9.6113358,37.3322028 +918,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,4.4354177,4.4560791,41.7131118,35.4420939,80.2258223,27.1427412,27.2674524,61.685914,22.8487989,39.1279322,13.0814236,3.0814294,14.6488634,11.5012428,36.9514713,19.5522646,5.1423672,5.2502433,43.9551192,37.2649546,81.0324755,26.4318348,26.1585188,60.9144491,21.2803555,35.3048387,11.5243338,3.2317428,15.6789784,13.2099325,38.9306321,20.7936901,5.5822557,5.6965426,45.3690342,38.7356679,82.4037854,24.778166,24.8057462,58.7434463,19.2358086,32.8369123,10.297898,2.9145361,15.8665904,14.5333744,37.9358464,23.6576207,5.5543036,5.6999931,46.2655516,39.3034338,82.8438182,24.1976946,25.294105,58.1045124,19.4117443,31.568758,10.1306487,3.2026542,17.9314804,14.605269,39.3421721,25.1687098,6.1719927,6.3200987,48.126464,41.0204382,83.4705778,23.1628064,25.266553,57.266649,19.2666184,30.6000801,10.733255,3.000034,18.1213673,15.5585343,41.356621 +919,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.826981,1.7520844,26.4332445,21.0575631,84.9053278,12.7992683,29.9814107,61.6105525,30.7911779,41.060526,20.4047623,3.6626106,16.7257796,14.7665302,43.2052572,19.1700084,1.7190232,1.6425688,25.7800359,20.4232965,85.3909878,12.7531336,30.3945524,62.6800788,30.9352487,39.9743947,19.9303212,3.5173733,15.8147171,13.8469201,42.5921726,20.3340427,1.6873097,1.5781255,26.2135664,20.9219265,85.0045571,12.3790587,30.3224844,62.3914988,31.4337893,39.484015,20.2838894,3.3044773,15.3039897,13.1474005,41.4773018,21.8201669,1.8784664,1.7961801,27.1453121,22.2815269,85.0887479,12.4445062,30.1954995,62.5808153,32.182002,39.2202847,20.5098515,3.5443087,17.0203307,13.5339986,41.4812016,23.3822777,1.8398573,1.693389,28.1195614,23.5277001,85.1937096,12.4641504,29.6424761,63.0590669,32.5308957,40.359001,20.0439096,3.5124426,16.9543004,13.4811736,39.3346307 +920,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3028968,1.3569423,24.0386891,19.151224,51.336282,16.0275818,36.8758676,65.3618266,34.922217,48.4403106,26.8009421,3.0330625,14.0758543,11.2660501,39.8192816,11.6176799,1.4918202,1.5133079,25.4133167,20.3903639,51.5360164,15.4350712,37.9451569,64.8564713,35.1437907,48.2788822,27.0369112,3.0320069,15.1368484,11.8712435,41.231138,13.9639724,1.7221551,1.7435439,26.0672423,21.1370181,51.436022,14.7433792,38.7474269,64.8290254,35.7079621,48.1437259,26.9569248,3.2691328,15.3128984,11.8763291,40.5028161,16.172126,2.0523018,2.0708696,26.0084323,21.1090402,51.6410046,13.9510965,38.7563158,64.5819177,36.199583,47.3764559,26.9075732,3.4587836,16.0460838,12.7793597,39.857072,16.9074762,1.9926452,1.9893841,26.4937244,21.6955124,51.8689726,12.8862896,38.5541597,64.9881314,36.4991744,47.3298691,26.9824679,3.2732839,15.3873812,12.7305573,40.4388049 +921,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8615078,1.8748627,28.6238826,23.976923,58.241773,8.2791058,33.9801445,66.2776437,31.4164166,46.3261566,23.1380096,3.2297279,15.0352011,12.470552,33.574656,20.1981275,1.7674504,1.8025898,28.710672,24.1136202,59.0135092,8.2496982,33.0843462,66.5966097,31.2138213,45.8454905,22.6581609,2.9799861,15.4719858,12.721098,33.9317621,18.5299465,1.7681024,1.8103928,29.0325786,24.3140168,59.0820544,8.206253,32.7302649,66.7175515,31.1320169,45.3139411,21.9777266,2.7390289,16.1617771,13.5027843,33.8905458,18.6179813,1.7919702,1.8473711,28.9578031,24.363069,59.2355385,8.4553013,32.0418704,67.2831154,31.338853,45.795321,21.6918485,2.7492597,16.3083562,13.3192039,33.5846507,17.7354026,1.7120276,1.75082,29.4875392,24.689958,59.7322837,8.6959222,30.8548818,67.5118341,31.0680369,45.5687786,21.2967489,2.6345605,15.7259744,13.1376939,33.1760808 +922,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.6354869,1.5055339,28.6683758,24.2342612,85.2163908,12.0162744,29.8090363,63.5020314,32.3974659,39.2603847,20.4820557,3.6313686,16.0399021,13.0564846,40.1212059,20.8111331,1.6477971,1.5525181,29.2318592,24.7627977,85.5911069,11.1013381,30.441904,64.3478821,31.1529839,38.7173535,19.7034238,2.9829489,15.2919648,12.8762578,39.8957839,20.3989641,1.3772809,1.3452883,28.7279146,24.3264313,85.5579765,10.915213,29.9184038,62.7816037,30.7234525,38.0699614,19.1178893,3.054412,13.9779611,11.9616436,39.0115572,19.621604,1.2456331,1.1979888,27.9406194,23.7152286,85.7489997,11.0259146,29.4070901,62.0155326,30.8900474,38.3314783,18.5315647,3.1053196,14.2464888,12.6294626,38.6099529,18.2863261,1.3229084,1.2760495,28.1846401,23.8379983,86.595427,11.186278,29.9194408,61.6092757,30.9123638,37.8137817,17.7630894,2.9995028,13.784442,12.469192,38.5770609 +923,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.4011504,5.5885822,50.2637998,42.0941121,61.8687344,16.2501034,34.286586,60.2011779,25.4663277,37.2278383,19.0256612,2.464377,15.0132409,11.5270189,40.2537382,42.5656429,5.5206612,5.5988862,50.3511866,42.0742843,62.7341306,15.254319,34.8003546,59.2933245,24.7996933,36.2963372,17.9189101,2.3598613,15.4044147,11.6563319,41.4373371,44.8337027,5.5656144,5.6627073,51.186856,42.7909052,63.4155921,14.3315715,35.5011837,58.1126013,24.2451629,35.735167,17.3392865,2.4689509,15.9157341,11.8959572,42.003586,44.7563259,5.8076341,5.9181757,51.4431513,43.0881457,64.6582409,13.7774709,35.4639217,57.6486888,23.6701225,35.3474359,17.1986235,2.6030601,15.8698032,12.3971727,41.5649097,45.7301661,5.9860324,6.130996,51.8676852,43.3664241,64.4849156,13.8712179,35.0783603,56.428616,23.529679,35.2959238,17.4990808,2.6322916,16.1453717,13.3250851,43.8772023 +924,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0847049,2.0524475,27.4856643,22.4138188,52.1749246,12.4831452,38.356287,65.3303261,37.4766255,47.4761523,27.4473258,3.4901077,15.5973419,13.3849435,39.0289096,19.8570855,2.1595047,2.1272689,28.2093676,23.0337753,51.9868144,12.8738917,39.4170495,65.9280524,38.089583,48.3238191,27.2966613,3.6849654,15.6455072,14.1240645,39.3040155,19.4050471,2.2484829,2.2161949,28.245989,23.2336996,52.6304035,12.8695163,39.0853907,65.9704278,37.5407501,48.665402,27.6397156,3.6680582,15.7991148,14.626079,37.0302061,19.1760947,2.0005497,2.0005502,27.9386521,22.8643748,53.3622734,13.4143895,38.570915,67.2150374,38.085765,48.7522314,27.4490812,3.7929713,14.6931431,14.0433088,36.004331,17.9944577,1.9756204,1.9862431,27.9509677,22.9572867,53.2494284,13.2348231,38.4249309,68.1641524,38.0434208,48.9600981,27.9884957,3.9343088,14.1475583,14.0143296,35.7193875 +925,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.4493453,1.4730704,17.6577706,13.1848347,83.753034,12.2414387,27.5879794,66.6655807,30.0938832,44.7842909,17.9525861,5.249674,14.829732,13.3086539,36.2305041,10.8777256,1.2165417,1.2820034,17.530492,12.9799695,84.1959618,11.294572,27.8800188,65.8028795,30.3804329,44.4190012,18.1405,4.8038378,15.2876802,12.8347447,36.0093124,10.8777256,1.1738572,1.2387873,17.1798189,12.6645108,83.9703535,11.1737237,28.4073791,66.2296256,30.413003,44.7582284,18.6837405,4.5564622,15.9127914,13.1529336,35.0996433,9.3154725,1.1898742,1.2928815,16.7993025,12.6476536,84.3544912,10.9004762,28.245296,66.4766222,30.426215,44.1670416,18.4302055,4.6020703,15.1630614,12.9398273,35.4456976,8.9284545,1.1973153,1.3206799,17.4542047,13.352375,83.8221564,11.1307956,29.068468,67.9176964,31.8201178,44.8364226,19.240587,4.6954617,14.8566623,12.7506541,34.7594379 +926,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8730213,2.8894817,31.8346295,25.1809591,49.7495639,15.6948849,40.158046,64.5546121,36.0775718,47.4568764,27.8879253,3.7212586,13.8223304,13.5964896,37.2866407,23.5883639,2.8982095,2.9147612,32.3019393,25.6931528,50.0888971,14.8237635,39.945146,64.0652491,35.9059771,47.1292693,27.0484333,3.4766217,13.9501276,13.7840975,36.5204737,25.7741489,2.8611038,2.8775594,33.0050329,26.4845101,49.9264992,14.9449427,39.9282975,64.1404779,35.5158464,46.6046503,27.206247,3.4240516,15.0839678,14.5049176,36.4991243,25.8684007,2.7566534,2.7820794,33.0494624,26.4591315,48.9288712,13.9663864,39.707938,64.0793007,35.3137821,46.2706796,27.1320781,3.2523711,15.6787078,14.8488263,36.6226695,25.9562976,2.6307643,2.6219695,33.7364733,27.0920548,48.1420972,14.0858926,40.3922645,64.5905677,35.9250958,46.69254,27.8493393,3.2216382,16.2265257,15.7662768,37.3067672 +927,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,4.8737924,5.0138652,44.5063339,37.123197,76.7492101,17.4127729,24.2353134,57.4570199,21.2212489,38.6358566,18.095559,5.3025248,15.587047,9.9234923,37.7379772,20.5592159,5.117614,5.3148224,46.0433927,38.300359,77.2175736,18.0608785,22.9130551,56.8447191,21.4424707,37.8784582,17.3551055,5.1795001,15.4498075,10.0217396,37.8230318,22.2049731,5.2068641,5.4052183,47.372202,39.6530473,78.1766292,17.8688207,21.6476615,56.1139845,20.984453,36.9637291,15.740934,5.1088101,15.2426413,10.0995446,37.9807632,23.2443453,5.4711126,5.6294171,47.7744544,40.3493043,78.356822,17.7528353,20.7929712,56.4265529,20.9543978,34.533898,14.2958039,5.1957241,14.7443794,9.9182012,37.515445,23.7898855,5.5894416,5.7799016,48.7889613,41.3837598,79.0753042,17.8126882,20.6560933,55.7885249,20.816613,33.0357135,13.5734348,5.3671765,14.6903075,10.0979193,37.7106485 +928,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,4.8837548,4.9817699,45.4499319,38.0896804,51.8964109,13.6940974,36.0990817,60.386227,26.8509707,45.1842976,23.4440397,4.5697752,13.5150167,12.6111111,36.8861607,24.0867635,4.9844772,5.1041772,47.6888929,39.9930779,53.8126609,13.5742701,35.6825989,60.5145141,26.9135624,44.8735821,23.3745275,4.5163809,14.9567647,13.4303859,37.892053,26.4258316,4.8806689,4.9820641,48.9142781,41.3889766,55.1991264,12.4486048,35.9947481,61.0209861,26.9372238,43.2721757,22.6440568,4.4764013,16.5954326,14.5521643,39.7970609,27.2448571,5.1084054,5.2140369,50.4499463,42.1863433,56.0551668,11.3362226,35.9045983,61.2329334,26.7293514,42.992059,22.2790764,4.3678571,16.5891938,14.1951465,39.5765396,27.4370391,4.8506587,4.9647036,50.6316729,41.8832771,57.0976327,10.6569906,35.7883174,60.9496019,26.138277,42.5964801,22.1716901,4.8250202,16.7050376,13.8938606,38.7696228 +929,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.0456245,0.9984299,26.8245147,23.0514029,86.7168752,11.0164631,31.0828564,62.1083509,30.4461543,38.4807351,17.3420839,2.6807794,14.1072504,12.3854645,39.337849,16.1316406,1.0257828,1.0418273,25.9503317,21.8194633,86.8991927,11.0706697,31.5644172,61.4105835,29.9493156,37.4336176,17.854292,2.7282704,13.6023614,13.0786348,39.5474512,15.6308368,1.080603,1.1592114,25.6174847,21.4277886,86.8226888,11.1308381,31.2322821,60.8435221,29.644598,38.0881971,18.0264863,3.0893419,14.4156759,12.9125787,38.2790803,15.3274427,0.9334389,0.9812259,25.1828471,21.394113,86.5232852,11.4796799,29.7167641,60.3434079,30.544577,39.6302118,18.5708965,3.0779372,15.3640001,12.6377108,40.7584056,14.558787,1.069882,1.117362,24.7679174,20.8218716,86.2290032,11.434106,29.5551886,61.9535001,30.4461578,41.074597,19.0108286,2.7356899,15.9304148,12.9018863,41.8365873 +930,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7586288,1.8123647,24.2807313,17.3431503,51.276255,16.7888164,29.2484349,69.9164458,33.1775069,48.8453974,25.7613324,2.6276079,13.3895341,11.7099532,38.3037819,13.1585293,1.8438274,1.8953164,24.7321271,18.0187748,51.4931393,17.5802646,28.3381526,67.8603262,32.3830322,49.8782087,26.389097,2.8507961,13.7638669,10.5610053,38.098067,14.0556691,2.1821405,2.2294115,26.4775671,19.0905384,51.4842112,18.3458032,27.5083859,66.6746386,30.9988805,50.1943537,26.2971223,2.5932486,13.6992912,11.0291394,37.475206,16.2451219,2.7208826,2.7758709,27.9261156,21.3757386,51.1303939,19.6766335,26.6711792,65.7675078,30.7747826,50.4152491,27.0866011,2.9275427,13.534887,10.1770577,37.8188847,18.3393931,3.2698579,3.3103932,30.3380418,23.2068933,51.3213831,20.048033,26.2748517,63.8350045,29.6006161,49.0684378,26.4968115,2.638498,14.1525052,11.0375779,37.7585311 +931,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.5133912,6.768061,52.9978558,43.7801127,64.5180186,13.3772053,35.4170456,56.7717429,23.5385086,35.2806668,17.9036503,2.22645,17.3322843,13.6372163,45.7990517,46.483475,6.5709671,6.6674124,52.784251,44.2972977,65.420932,12.4317202,34.1801335,56.7254285,23.6930261,34.7763199,16.8382398,2.1554066,18.0446179,13.0632602,46.8772467,46.114682,6.7338898,6.8865149,52.9900068,44.5288166,64.8560105,11.7063838,33.7754833,56.5441444,24.0385372,36.4030454,16.4876731,1.885417,18.1987625,13.6763091,47.7735838,45.5618572,6.8189619,7.0351378,53.5098757,44.9021577,64.8755204,11.2989374,33.2918924,56.3108798,23.9650308,36.334616,16.1408837,1.7276487,18.3078877,14.2829999,47.9890729,46.952078,6.8436364,7.0776637,52.4981194,44.2251547,65.5368594,11.9498513,32.7374247,56.4819209,24.2084276,36.0388357,15.7671208,1.5204036,18.0308618,14.309491,47.9100177 +932,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9634819,1.0271695,25.1867995,21.1565658,86.3230305,11.0420547,30.8660543,63.144311,29.8083731,41.2787185,19.6912252,2.5623821,15.4849316,12.5758596,43.4361577,13.3003866,1.0170375,1.0808219,24.3954964,20.2916069,86.7033008,10.9603105,29.0864465,64.1737085,30.6210863,41.7494429,19.6271846,2.6939955,16.0696336,12.5822197,45.0684631,14.1949213,0.8923582,0.9555941,24.1709214,19.7714913,86.2794227,11.2639829,28.4057627,65.0204817,30.7009694,42.2032643,20.3858864,2.892402,14.3410346,12.2933886,45.7307991,13.7554645,1.0647672,1.1139957,24.8621361,19.988719,86.0167316,11.5155609,28.2460272,65.8440517,31.4297446,42.9923559,20.1487538,2.8881656,14.4850667,12.0433567,46.6405352,12.337673,1.302698,1.3941012,24.1468928,18.8264015,85.8854766,12.1354469,27.2237923,66.0525908,31.606081,42.6054374,20.0752556,2.6424441,14.6116143,12.0234305,47.414877 +933,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,5.6133522,5.8136242,49.36338,42.2291842,80.1716881,17.7318555,20.9928285,55.0153534,19.8669367,31.3510708,12.8045008,5.1688857,15.3225863,10.2898548,38.2512581,26.433463,5.6221015,5.8415556,49.556158,42.9500452,80.4673945,17.2509829,21.0190378,54.038502,19.1358043,30.6654041,12.3352184,5.1998342,14.9664211,10.3991598,38.893607,28.2654702,5.6490987,5.8566626,49.9896059,43.5004189,81.0652853,16.9620532,21.4466704,54.4139402,18.7645217,30.3590198,12.0908151,5.2059152,15.4584288,10.4397995,38.927199,29.884759,5.3419708,5.5110801,49.8637961,43.5142548,81.1957211,16.3787665,22.5617517,53.8649971,18.2602234,30.0574911,11.7653341,5.2278553,15.5734205,10.2960423,39.3029484,30.8237174,5.4132701,5.578898,49.8197646,43.4584408,81.2756682,16.2083801,24.1187959,53.5139342,18.048306,29.6888526,11.6514387,5.4286358,15.704852,10.5739556,40.0489831 +934,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.4488786,4.5732786,48.319209,42.019774,82.9828199,19.4373036,24.0906467,56.8562356,21.9255196,36.6483834,13.0051963,3.3920323,16.7666467,12.695078,39.1949153,24.679213,4.7472409,4.8260588,48.9219858,42.4539007,83.2885305,18.8616715,24.4538305,56.291873,21.337023,35.8432858,12.3070201,3.4517914,17.7623643,13.013285,39.8114355,25.6618275,4.8796769,4.9815238,49.7664234,43.2554745,83.9466421,17.6461902,25.0896593,55.7830245,20.6066946,34.5038852,11.8499701,3.3622236,17.6810712,13.1482611,39.9446494,26.5034364,4.8881723,4.9842206,50.1925355,43.853673,84.6285359,16.900777,25.5515261,55.5303717,19.356301,33.318223,11.3176186,3.5509217,18.6466626,12.6687117,39.5111386,27.3931624,4.8457628,4.9513643,49.8658318,43.8729875,85.067377,16.4707655,25.9050806,55.3240037,18.6035899,32.4459994,10.4806815,3.605111,18.361754,12.8353659,39.6243842 +935,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2867116,2.2311493,24.400982,18.1501367,49.0090664,14.252678,34.996107,65.3923442,35.9588555,44.0362163,24.0303386,3.1279815,14.4005763,14.650166,42.3417871,15.9477566,2.3740022,2.3404158,24.2906446,18.3524985,48.3689545,13.4261516,34.7066101,64.0652534,34.9284772,43.6196765,23.4209071,3.2826113,15.656566,14.8920888,41.8487259,15.8656958,2.0887362,2.127063,23.487816,17.6979507,49.0164183,12.7679937,33.9121588,64.774001,35.680118,43.4049203,23.3869143,2.5407215,16.8109786,15.6115248,41.9942207,15.2481945,1.8925987,1.9310286,22.3280851,16.8995268,49.5035845,12.8161724,33.9147378,65.6532569,35.764493,43.2276909,23.6386604,2.8478825,17.0571296,14.8175361,42.7622348,12.5806452,1.4283499,1.4828194,21.1931012,16.3444801,49.7008538,12.886622,32.9093878,65.060471,35.7463373,42.3570276,23.242089,2.8001045,17.4501621,14.2553314,43.2568428 +936,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5352654,1.5435259,20.1675548,14.7530816,81.5568397,12.5428695,32.5850858,66.9927033,36.6718791,40.6743192,24.1154713,6.2691381,15.054326,12.2808053,43.1184932,13.0239554,1.338928,1.3469759,20.6794767,15.2556746,81.6421275,12.1138442,32.6611292,68.4022462,37.516316,40.5541623,23.1825033,6.4639458,14.4729831,12.7844541,40.8511858,11.2378238,1.2686228,1.2765746,19.9395612,15.2568925,81.506473,11.5241955,33.0074215,68.4936869,37.43924,40.659004,22.8950978,6.1328671,13.1911088,11.8324981,39.530425,10.4219827,1.2333815,1.2410417,20.3018028,16.065288,81.5555053,12.0146329,31.7654343,68.9281286,37.7874668,41.6389403,23.3731606,6.4043603,12.6693925,12.0187964,39.3065517,10.3305009,1.2318883,1.2693227,20.3923562,16.0986444,80.8338601,12.5179437,32.7972475,68.3487476,37.0666417,41.8254474,22.9450785,6.6106728,11.9736502,12.6458784,40.0824861 +937,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9001561,4.0062588,44.7606334,38.2715532,84.2268169,16.0042015,24.5439983,56.3924965,25.1331162,38.0425246,15.8732512,4.1085697,13.8971275,10.1384436,36.3928861,23.9109231,3.8893418,3.9812624,45.1883068,38.8203698,84.2313501,16.0164204,25.0316774,56.2851706,24.2987416,36.9260671,15.0715173,4.0469273,14.1148825,10.43494,36.0084677,25.8686676,4.0036966,4.1054462,45.505072,39.204317,84.4600522,15.409189,25.9922087,55.4904199,23.3009738,36.3454047,14.4868548,4.0991914,14.850641,11.0002249,35.9979596,26.5752995,4.1612673,4.2522613,46.2984524,40.0121894,84.4579076,15.0507807,26.8047189,54.7366576,22.39655,35.6316402,14.0679538,3.9150041,14.7021917,10.9803463,36.0262785,27.0173839,4.0485498,4.1147889,46.6693604,40.371203,84.5248315,14.5404024,28.0602418,54.0820977,21.9855591,34.8651737,13.878702,3.9906233,14.7512613,10.9170293,35.8196392 +938,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0848805,2.1623215,28.775638,22.8874136,49.8217709,15.22785,35.7441446,67.9883408,36.9804279,50.8403619,29.8892571,3.5084843,13.1109949,12.5903227,37.0785952,18.2079346,2.3888739,2.4678012,29.0297664,22.3504611,49.677953,15.737903,35.0707458,67.6544873,35.4262421,52.6741503,31.0849754,3.4033989,13.8975412,13.0123463,36.5586278,20.8823775,2.3016769,2.3634154,30.4872651,22.7201601,48.7220335,16.343035,33.7629792,67.7532494,35.1823173,53.5621786,31.625813,3.8809714,14.9851611,13.7927052,35.0845389,17.9558209,2.5375851,2.6164065,31.6909487,23.8172276,49.2988063,15.1927617,32.4568928,64.7049263,33.1380184,52.3151725,30.1399273,3.9128344,15.0724997,13.8769388,35.7471216,18.8144427,2.6293275,2.706807,33.6401768,25.6091518,49.2216866,14.5919845,33.1489625,62.7139533,32.1288238,52.7401957,29.4372423,3.4211583,14.9951195,13.3196852,35.5985634 +939,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4712886,2.5016328,30.6373185,25.1091068,42.0591478,14.6193311,38.0803946,66.2135309,37.516808,49.698028,28.0663161,3.3116992,11.3805133,10.1333783,34.2260902,24.9204049,2.6978391,2.748431,30.7744123,25.3228796,42.4362855,14.0478196,38.0456568,66.3013925,37.0911908,49.2003664,28.5838183,3.4503934,11.704875,10.5481848,33.0495525,25.8098416,2.6250555,2.6556439,31.0712043,25.1299689,42.1623488,13.6693274,37.7581286,66.5855214,37.0565367,49.4731775,28.4125906,3.2685913,10.7274434,10.5385537,32.8973147,26.7025161,2.4262169,2.4573009,30.7480375,24.6025444,42.0307796,14.0559065,38.3928163,67.0433059,37.0117508,49.3106483,28.8966637,3.1419702,10.161459,9.8752941,32.9293042,26.2323851,2.5398977,2.6132478,30.8429165,24.4641717,41.9813461,14.121728,38.4202944,67.395152,36.4377663,49.3269639,29.4926466,3.2675093,10.378217,10.16569,33.4725757 +940,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2555419,2.3175369,28.4335679,21.2243477,60.7106223,15.2195899,30.2694952,68.2303116,33.3969843,44.2030001,23.9892562,3.7249347,12.5066259,9.973635,37.5997444,17.4382699,2.4452829,2.5684368,30.6587763,23.2504472,61.2102113,15.6195633,27.9463965,65.3585627,31.3816711,45.0477109,23.7837823,3.4729455,13.85764,10.8461103,37.3833516,20.1501736,2.8915165,3.0107711,33.4457347,25.7963644,61.4427609,15.9860262,27.2980747,64.9889642,30.9846445,46.1435207,23.5870394,3.2622072,13.0983239,10.6860454,35.9671508,22.0641549,3.3330636,3.4630763,36.5698586,28.9497563,61.992999,16.3770173,26.534597,64.0373364,29.9165258,46.0620124,22.7818379,3.3704069,12.928356,10.1786172,36.763443,22.9575322,4.0038998,4.1434412,38.6826018,30.6003531,62.388236,17.1245512,26.0376913,62.4752575,28.9149879,45.8269493,22.4576022,3.6349898,13.3886689,10.7654505,37.9647507 +941,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4.3758507,4.5119081,44.5924637,37.5286602,74.6567278,14.0601401,26.6362107,55.3085668,22.3715608,32.6612008,12.1801498,2.8649915,14.7671704,10.5459102,35.8538387,31.3947057,4.4079704,4.5419266,45.2832157,38.2001294,75.2285388,13.3694003,27.2189945,55.2778602,22.1563154,32.2761892,12.0339905,2.9347143,14.9306457,10.8473453,35.5476604,32.2017977,4.3121216,4.4341598,45.5361845,38.3483034,75.3337683,12.3569157,28.3768261,55.8374236,22.4939206,33.2428259,12.0519236,2.7269475,15.7209546,11.3658688,36.1983024,34.4529108,4.2229064,4.3501952,46.0325456,38.8802646,75.799387,11.8175066,28.6916098,56.4846906,22.2785881,33.1965215,11.7374328,2.7779066,16.7128209,11.3040245,36.258606,35.131199,4.1291957,4.3094398,45.5151892,38.4100147,76.0504864,11.1880472,29.0848553,56.4678842,22.2193495,33.3749757,11.8348792,2.8507506,17.0876079,11.2908815,36.9155212 +942,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.0192239,4.0841168,43.5913814,37.6929282,80.9492628,21.5034065,23.237837,58.8615976,22.6293192,37.9437093,14.5917752,5.666822,17.1664196,12.3811815,35.6567206,17.798109,4.0100812,4.0457651,45.2828436,39.1395024,81.7775777,20.8579599,24.8064986,58.6142753,22.2097628,37.5905148,14.1947621,5.4556681,17.4287139,12.2293222,35.4558498,19.0462552,4.2272918,4.2609886,46.5313976,40.7011522,82.4247748,20.5816992,25.7727964,58.3689526,21.2490426,36.9816217,13.5586827,5.4913191,17.8393312,12.2127847,35.3222261,20.1863577,4.2076396,4.2187248,47.4228591,41.4965798,82.5684441,19.6071181,26.8723013,57.5907725,20.5509025,35.7577711,13.1124715,5.4963056,17.8770423,12.8405702,36.4768656,21.1922851,4.5042247,4.5151673,48.0977214,42.3294475,83.2903098,19.1307523,28.0827221,57.030079,20.0376014,34.7994747,12.6942461,5.3258032,17.6281087,13.208959,36.753609 +943,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,4.9277577,5.0983745,53.1164999,44.8057606,59.3414745,9.3250278,35.4318708,60.9431169,26.2699233,42.9531924,21.5192128,4.6657375,17.6802152,15.2614236,38.0954263,30.158787,5.0019109,5.1462296,54.4081662,46.4030923,61.1999152,8.7615854,35.6579621,60.083654,26.9737012,42.026196,20.4998156,4.8683785,18.9947423,15.4599552,38.1109315,31.70308,5.287625,5.4043206,55.2800625,47.4202539,62.7350114,8.3496898,35.891307,59.1647087,26.6570155,41.2990405,20.5856871,4.5150495,18.3988939,15.6005947,38.9764006,32.5806323,5.4186425,5.5503079,56.1706916,48.2613297,63.6443429,8.3082296,35.1608887,58.2542738,26.4803862,40.3700727,19.4308282,4.264381,17.8522788,15.5916024,38.5643301,33.8682854,5.5213997,5.7308582,57.5482291,49.3364282,64.6896346,8.3330799,34.0838153,57.2491412,25.8299431,40.0023301,18.715298,3.9198832,17.7373273,14.7355433,37.304824 +944,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5406982,1.5952464,21.0347629,16.1546397,50.1949454,12.9440427,32.6315955,66.2669235,36.5120314,44.0048192,24.3938141,3.3193107,17.005943,14.3609381,42.6307978,15.7406693,1.4509084,1.544851,21.501451,16.4796438,50.9440394,13.0663577,31.9698183,65.5898633,35.4574507,44.1581146,24.168658,2.8952855,15.9367559,12.6681108,42.2222387,15.3613855,1.3596472,1.4317496,21.5705792,16.7202278,51.1135169,13.8705835,33.3275591,66.8671146,35.7233701,45.6212665,25.5731241,3.0035732,15.80506,12.3409228,41.8972733,15.8384374,1.4368481,1.5073376,21.3532491,16.3356713,51.1939338,14.2888722,33.0147802,67.4639665,35.4239961,45.0788692,26.3894907,2.7854009,14.9617281,12.1520113,42.5325459,18.0379228,1.5641358,1.596267,21.6053057,16.463385,51.514664,14.9466134,33.5470219,66.294504,34.6290078,45.5206742,26.3056188,2.8574209,14.6867478,11.1346008,41.1832905 +945,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5542763,2.5807096,33.7932221,27.4944554,48.7175215,14.3280446,39.9856407,64.9356958,37.0101378,46.4521705,28.254619,3.2761003,16.8735255,15.887565,38.1736416,25.9795602,2.6781538,2.7054605,33.8668022,27.5807672,48.9990406,14.4705967,39.3666616,64.9338071,36.7453443,46.0531197,28.11484,3.0191369,16.8923118,16.0505279,37.8504626,28.4090887,2.6261661,2.6261661,34.3597986,28.5162054,49.9699686,13.9993999,39.728566,64.5025583,36.5189514,45.5355555,26.8018233,2.9325857,16.2826138,15.2887665,36.801736,27.5083608,2.7521713,2.7521713,33.6521819,27.9117547,50.6089158,14.3434397,39.9065177,65.5577523,36.4808733,46.0221002,27.3075223,2.9020299,16.4139762,14.7488174,37.014089,25.202609,2.5397104,2.5207028,33.5660782,27.5403359,51.0476985,14.4773905,39.6711064,65.7813267,36.7201208,45.882526,26.9113174,2.908934,15.9709967,14.1405205,36.8928729 +946,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5874278,4.6024218,49.6503006,43.9795554,84.1070849,18.1139162,29.5837765,57.5459661,19.4969394,33.8738198,11.5551686,5.1455442,18.0689886,12.9498241,36.6222324,22.9737994,4.4914941,4.5279023,49.874919,43.9955116,84.0217129,17.2339288,30.0537358,57.5358303,19.4600961,33.0475741,10.9647109,5.053723,18.2864772,13.4851325,36.9385508,23.786174,4.5775894,4.6077995,49.6667656,44.0015504,84.2342414,16.7666926,30.3050243,57.546671,19.8659061,32.7767388,11.0307814,5.0091927,19.3253578,13.8932322,36.8740268,25.0593415,4.6972201,4.7436583,49.2827812,43.9586434,84.2251562,16.3689513,30.3204884,57.7031152,19.8622354,32.1197247,11.0064664,5.1869422,20.0616059,14.1857706,37.7395955,24.9208599,4.6057399,4.7049254,49.1737178,43.5246804,84.4519094,15.722973,30.2272008,57.1538269,19.5118158,31.8851332,10.9149546,5.0506469,19.5204081,13.9951348,37.5611436 +947,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.9476154,4.9445617,51.6434924,46.1427064,60.2681406,12.6717353,37.9942065,57.1047519,25.7181862,39.3293793,18.0448121,2.5990477,16.2336222,13.0147,40.0493238,35.2132005,4.9713829,4.9868513,52.7547029,47.070391,60.3431332,12.7110916,37.5976103,57.2117699,26.0220518,38.9756363,16.8350989,2.2278383,15.424019,12.7450982,39.7472021,35.6661129,5.0175125,5.0923929,53.8117429,48.4028841,60.7325883,12.1848726,37.3942193,56.726071,26.8374288,39.3541181,17.5723896,2.4276184,15.3811029,12.942782,40.9423705,35.8712808,5.2635698,5.3371597,54.6265764,49.1994375,60.8284258,12.1221637,36.3546717,55.3903387,26.3152952,38.4382751,17.5797544,2.2816745,15.9919862,12.5667781,39.709206,37.1795131,5.0902265,5.1327228,55.5850273,49.9141303,60.8981129,11.9785511,35.9930227,55.8798809,26.9018987,38.4818526,17.5048098,2.4257602,16.191705,12.9024412,39.4733477 +948,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5124193,2.5378104,30.4768518,24.7284377,44.5704934,19.8205826,27.0516189,65.4656025,31.4290897,46.4675579,22.6761719,3.5935439,13.562754,10.4220897,32.8398065,20.6586826,2.470583,2.5677842,31.1755284,25.6938324,44.3537686,18.8139572,28.4177413,65.9238787,31.515206,46.2535854,23.2317929,3.6417242,13.3865796,10.5015822,33.8232941,22.3214286,2.4725327,2.5702522,31.7492085,26.1961331,45.1863566,18.9778099,30.0198301,65.0922563,30.7713479,45.9687081,21.8365192,3.3819387,12.9362119,10.3832479,32.0452849,24.695122,2.6475301,2.7454194,32.2763288,26.058516,46.4237074,18.8123578,31.719257,65.2402389,30.3785096,46.4681827,21.4117599,3.5615748,12.5393605,9.8253482,33.4130558,26.4534884,2.6349112,2.7305259,33.585498,26.7329987,45.7630189,17.6107866,32.4977069,63.3924169,29.6219324,46.3839247,20.0904967,3.4099726,11.4303016,9.5805105,32.3709647 +949,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.1967997,1.2098262,18.2994247,12.9000357,55.8411069,7.9267626,36.0474384,66.0479877,39.4609157,44.9950948,28.1699212,4.4443216,12.0515328,10.3924632,40.4433293,7.9876523,1.3170899,1.324131,18.3373622,12.8922394,55.601437,7.7755954,35.6548665,66.1592333,39.6643382,45.3751117,28.3379151,4.4658861,12.1537822,10.4367388,40.5533303,8.8208498,1.383515,1.4172338,18.9425019,13.3729637,56.1480093,7.8675617,35.5962758,66.2953644,40.0290666,45.5585424,28.5739302,4.7119852,12.3376991,10.628581,40.3263056,8.74442,1.2642475,1.291185,19.2387679,13.7178268,55.6871302,7.8494861,35.575455,66.6740872,40.5348324,45.8296911,28.8631104,4.6098779,12.2019592,10.5114711,39.975015,8.4488901,1.2925404,1.3158101,19.3129348,13.7930882,55.3125191,8.0185031,35.3138345,66.7487519,40.3529225,44.8735518,28.531872,4.604384,11.953102,10.295087,39.7002437 +950,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,5.0231954,5.1670668,48.8599758,42.6005644,82.0046363,15.7417547,25.4145486,54.3113053,18.4059316,29.7700603,11.3088688,5.4278159,15.8025312,10.8224174,40.3056625,32.1122954,4.7761899,4.8990352,48.0816497,42.0588964,82.0645642,15.0283152,26.2368295,55.4168648,18.4722929,29.3976122,11.234543,5.8062329,16.1087934,10.8705818,40.7485888,32.5471658,4.4657486,4.5565754,47.2253852,41.3577496,81.8906327,14.2015309,26.514619,55.6842197,18.8421139,29.8596479,11.4035154,5.8362607,15.8831937,10.9501192,40.7256063,32.5256477,4.2223245,4.3122952,46.4814386,40.2450901,82.1698396,13.622943,26.7140354,56.3076635,19.1348841,29.8803298,11.3313448,5.8464254,15.9825566,10.9310693,40.4105968,32.1688878,3.9655751,4.0487171,44.724896,38.4748983,82.1704364,12.7668236,26.9673688,55.2920265,19.1253135,29.5174113,11.2832527,5.7718705,15.5409278,11.1589201,41.2122881 +951,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,6.752564,6.8561588,57.1774424,50.3802027,53.9765692,8.9113161,33.8038149,56.9328754,28.0984938,38.7805497,17.8181218,2.0887704,20.5347632,15.9834569,42.5248162,42.0948797,6.937563,7.12495,57.8598624,51.1472636,55.2753665,8.2699731,34.0204215,57.6653094,28.0138233,38.2623798,17.3919918,2.2906557,20.0796556,15.5126859,42.0995309,40.5649211,7.3074134,7.5089571,59.2427144,52.3945909,56.7693297,7.7938817,33.3852259,56.8930879,27.6048174,37.2935946,16.6679952,2.3483016,20.0363423,15.5426035,42.6205658,41.5148347,7.4156739,7.5896827,60.1654632,53.2958232,58.1380363,7.7474712,33.2301723,56.3116631,26.9823329,36.0484271,16.7203125,2.3793696,19.8087323,15.8113889,43.2676118,43.1147871,7.1598142,7.3090047,59.6250539,53.043365,59.0177591,7.9941456,32.607365,56.1723976,26.031098,35.639465,16.198931,2.3049271,20.1104564,15.9248603,43.5669716 +952,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2.6845333,2.7116357,30.9421962,24.7349461,70.3894998,16.7610038,24.0146919,62.4955027,28.3858627,46.9634305,20.8975179,2.911137,12.0901568,10.6743691,32.0850744,18.6685528,2.9432038,2.9804259,32.4398216,25.8174137,69.8965312,16.8638449,23.5299171,61.5177595,28.0745627,46.5654517,20.6331234,2.9748422,11.7424171,10.6563414,32.8051084,19.5557792,2.9754131,3.029591,33.7427557,26.9669047,70.6357378,16.8294586,23.1033186,61.4051045,27.7088967,45.3441364,19.4858363,2.9057031,11.8111621,10.7619505,33.3747051,20.7477641,3.1489306,3.211125,35.1971919,28.3449081,71.2329951,16.9695439,22.6084632,61.792212,28.1416108,43.2408153,18.381981,2.9601491,12.4500001,10.4534969,34.2689085,20.8428528,3.2989285,3.3838049,36.3138217,29.3858766,70.9089488,17.0683291,22.9872904,61.682451,28.4990913,42.447338,17.9736346,2.9808704,12.9752053,10.7638996,34.2823788 +953,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.4151544,1.4538998,19.6081491,14.0642182,55.645284,8.2422307,34.7127424,67.089285,39.8310819,44.5042632,28.301192,4.5072353,12.2049565,10.4289638,38.7100433,10.1824352,1.4446443,1.4953796,20.2698872,14.5369862,56.1280775,8.2936433,34.126761,67.0133276,39.5051084,43.9513044,27.5886258,4.3788848,12.0356242,10.4430998,38.4256952,11.1908571,1.7202305,1.7639226,21.3452504,15.4645842,55.9879513,8.6092085,33.0651089,66.9754913,39.3117715,43.6709527,26.8517506,4.2206637,12.0795112,10.4925763,38.3238331,12.9748943,1.7870939,1.8465842,22.79414,16.5524235,56.4755404,8.701472,32.2852842,67.220623,39.3306079,43.0488422,26.0609392,4.1486277,12.0659341,10.5153161,38.2548426,13.621991,1.9657387,2.035661,24.5379968,18.2275392,56.1756665,9.0492612,31.1811343,67.1465959,38.7921263,43.0285146,25.6074606,3.9672035,12.038954,10.5553656,37.932119 +954,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2.1160758,2.2114165,33.3830951,27.401274,55.0550048,11.0329063,36.5801866,66.074348,34.0288934,46.2690063,25.6967364,2.8535672,14.7611987,11.6108839,35.6821102,21.1436099,2.1435376,2.2414502,33.8817443,27.9814151,55.9896003,10.8382874,36.1328441,65.6756561,33.9482038,45.9997421,24.8914333,2.8284195,15.0995165,11.7316051,35.7288315,20.780852,2.2743499,2.3620844,35.4526212,29.4625113,56.3352664,10.8540162,35.9183683,66.0883709,33.7304933,45.784588,24.1847307,2.7383014,15.5282193,12.1408863,35.4798623,21.3779573,2.4089295,2.4945797,36.434972,30.3507839,56.7194985,11.1962552,35.3101601,66.0313712,33.2779953,45.3380566,23.3563121,2.7692958,15.7623208,12.523149,35.3545116,21.9927491,2.6250315,2.7312708,37.7139812,31.6026581,57.3071751,11.5859714,34.4861917,66.3965894,33.326744,45.7114876,23.0631937,2.8919639,16.3069436,12.8883652,35.2387547 +955,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3.7833942,3.8465101,42.8012976,37.0585125,82.8666337,12.109272,26.7007745,55.9596256,19.0403806,29.7704637,11.5459131,6.0702466,15.3559132,10.8333319,41.1815976,31.4711928,3.3462582,3.4323898,40.6531039,35.1533685,82.9196935,11.9211432,27.6181471,57.5859301,20.3410356,29.9274984,12.0166546,6.3507012,14.9157297,10.7263493,40.7333658,31.3530259,3.1686472,3.2633521,38.5891611,33.3018676,82.7620385,12.0987313,28.1506801,57.5479497,20.6164413,30.2876727,12.3150736,6.6164411,15.1506524,10.7977182,39.8675762,30.2677887,2.9619029,3.0658097,36.4861234,31.3146491,82.7394515,12.3769136,28.3388953,58.1385702,20.854204,30.9543721,12.9521475,6.3578211,14.396997,10.7865786,38.2078139,29.4265123,2.8161589,2.9158569,35.0701198,29.9010225,83.1658979,12.7586194,28.1609186,58.3263347,21.0961641,30.9083264,12.4614567,6.7143282,13.8529436,10.0589988,38.4684157 +956,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7399893,3.7587485,32.6772836,25.318369,52.0045924,20.0626145,25.6577546,62.1171351,29.4352487,48.4929199,26.2522882,2.6527408,13.8061747,10.9936711,36.7898953,25.7778624,4.0803317,4.138336,34.7308649,26.6124291,52.3642516,20.075462,26.2103731,61.8435473,29.1161183,47.0337386,25.6053807,2.6432051,14.1545938,11.2753314,36.4189462,28.2961271,4.1077463,4.151687,36.0760341,28.1916697,53.1942762,20.5570675,26.5260966,62.8858094,29.5016098,45.0732348,23.8601972,2.2990349,13.7648849,10.9962227,36.0140558,30.5561025,4.301988,4.3442628,37.6265279,29.8536546,52.99626,20.6449388,25.9842005,63.4282085,29.6990628,44.4089032,22.9382475,2.1730603,13.4740368,11.5358435,35.9024998,32.0816049,4.2756844,4.2875794,38.4032512,30.9082561,53.83068,20.1512251,26.0828548,62.9962122,29.0546897,42.4448385,22.2160574,2.2735758,14.1466107,11.8349918,37.418454 +957,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2.0631733,2.0776842,26.9289745,21.9812527,88.6307307,12.0496114,19.9209886,56.6479929,22.6749115,43.5779185,15.9029234,4.1647661,14.8107133,12.3731309,31.8907684,11.8563491,2.1701214,2.1908963,27.9328311,23.2614826,88.5570724,12.5297786,18.8239096,54.6979227,21.7586198,41.710457,14.925524,4.3692344,14.82207,12.1903491,31.6950217,13.0502858,2.2979444,2.343043,28.7084169,23.7638859,88.6428819,12.4896019,18.4816612,54.335215,21.4554839,40.0523438,13.9371537,4.4293025,14.4742488,11.7239871,31.2368084,14.3739341,2.5060035,2.5674436,29.6634632,24.4903562,88.4996121,12.1809635,18.4476462,53.9751664,21.9170967,37.2224554,12.8568561,4.3120371,14.2433919,11.8727718,31.0938901,15.9948466,2.7010508,2.8002862,31.0805532,25.7535079,88.9308445,11.8517829,18.5957429,54.9061076,22.4931004,35.9087154,12.1915446,4.357599,14.3106825,12.2477081,32.1192017 +958,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4025567,1.4962595,23.6138058,18.4182163,85.7273209,12.2466325,26.8441469,65.1189407,30.5713409,41.8276488,19.5696763,2.9972067,14.3470626,12.0577417,45.8924214,16.5158521,1.4508694,1.5124191,23.2955249,17.9803319,85.8495469,11.9748382,25.5623972,62.1374008,29.5781807,42.5876584,19.5679125,3.3491586,14.8813332,12.4676751,45.5001967,16.8085321,1.5642501,1.6863683,24.1907927,18.5258587,86.2569383,12.1926458,23.0997749,61.0613459,29.219036,43.2965763,19.3787606,3.1782442,15.2499533,12.0385571,44.2378233,19.1079897,1.8517562,2.0353627,25.4550276,19.5389704,86.0416489,12.7745713,22.8627234,60.2479889,28.2290185,43.5559854,19.7451375,3.113781,15.2050972,11.5147486,41.5855122,20.3999557,2.3130356,2.4949687,26.5835101,20.4978555,86.7436152,13.1567895,22.0898121,58.2830046,27.4698419,42.9131778,19.2746978,3.3533266,16.1074863,11.0865315,39.1495697 +959,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2906487,2.3917211,25.6471918,18.7778547,53.5711464,12.2418712,33.113877,68.6769691,34.1770486,47.0386664,27.4877458,4.0391243,14.7154826,12.6967507,40.8137284,17.3716065,2.4931177,2.5765771,26.6863376,20.0208697,54.518064,12.7812077,30.7168537,66.7774741,32.6695014,47.6107833,27.1467728,4.0748021,14.5166905,12.418281,40.95904,19.4822941,2.8495491,2.9450225,29.3894051,22.5599437,54.4751504,13.0679714,29.5048799,64.5718668,31.1029644,47.6777593,26.4799176,3.8855223,13.8751776,11.7595776,40.9106799,22.5537047,3.2976465,3.3739097,33.7073608,26.6290213,54.201512,13.9163704,29.1888208,64.8968726,30.5517325,47.7781122,26.6901707,4.2022829,13.629828,11.3092357,40.1516959,23.4607156,3.9295355,4.0093099,36.4543555,28.9579301,54.0274797,13.7694918,28.2669898,63.0078505,29.9762655,47.5895978,26.0449509,4.1663346,14.4132759,11.4700226,41.455674 +960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0820354,1.1874358,17.0024889,13.1065186,83.9114014,10.584173,29.1918527,68.3053884,32.2123634,44.8556976,19.9574574,4.8544894,14.9281587,12.3077721,34.8363886,9.2592021,0.9806097,1.1032266,16.4645438,12.5080921,83.7284719,10.0318399,29.2479041,68.546276,33.3201383,45.3246533,19.9582005,4.7721146,15.0118063,13.5356071,34.885568,8.4015911,0.9905753,1.1734294,16.3134536,12.6143553,83.8065361,9.4686746,28.849354,67.7287484,32.8271062,45.4019306,19.9957742,4.7689895,14.8066908,13.1487663,34.5540244,8.6693059,1.1099096,1.2129295,16.4929395,12.614745,84.1348594,9.4709209,28.4161957,67.0708985,32.3753691,45.6576396,20.3278333,4.7892249,14.229092,13.3598162,34.9999261,7.9917574,1.0774495,1.1811175,17.0164053,13.2396505,84.5737521,9.158253,27.9492593,67.4600975,31.896045,45.1951488,20.3132523,4.9119949,13.8413071,12.0487697,34.9184685 +961,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.9654779,5.0783128,49.9234538,44.167177,84.990285,15.2571252,26.5092274,56.0994683,18.4078824,32.1707851,10.7131686,3.518924,18.0486284,12.3830318,38.6923563,30.5995004,4.7791575,4.8804956,49.215749,43.293854,85.506999,14.7804878,27.1785597,56.1821769,18.2012496,31.4534693,10.4077606,3.4692535,18.385214,12.2972096,38.081205,31.0508183,4.5290309,4.6850604,49.5880026,43.7870798,86.0501567,14.3070788,27.3445378,56.4201681,17.6302521,31.0084034,9.7983193,3.6470588,18.3366733,11.7312834,37.4156545,32.0333041,4.2231858,4.4066256,49.0411437,43.2880056,86.2278761,13.9424763,28.0262691,56.6737664,17.6251331,30.4756834,10.0993965,3.6386226,17.4808095,11.1924686,37.6582278,32.0571956,4.2064046,4.4127012,48.2922201,42.5616698,86.5740741,13.6747219,27.7713178,56.6472868,17.6937984,30.6782946,10.1356589,3.5077519,17.2748447,11.2015504,37.724785 +962,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.3655864,4.4914131,40.9744293,32.8707114,63.375722,17.5573957,25.4267078,61.8440308,28.0610758,45.2792663,21.4856228,3.5932706,13.7571608,11.0753518,38.6797273,26.0805585,4.6563836,4.7574305,42.3950632,34.3725354,64.1024708,17.5146921,24.3610595,60.102603,27.802294,44.3650998,20.6378816,3.5520368,13.5251018,10.7960712,38.7377436,26.977447,4.6749972,4.76206,43.6043754,35.7155762,64.5192546,16.9931813,24.7172357,59.779619,27.6032245,42.9114727,19.8420164,3.5004054,13.3713573,10.2859754,38.4325242,27.7080356,4.9284012,5.0018548,44.3677873,36.7209401,64.8090261,16.91465,24.7200229,60.5169454,27.7434412,40.9947982,18.8036582,3.5741207,13.2996186,10.0299507,38.2787023,27.683048,4.9694957,5.0393282,44.7396052,37.204472,65.4314771,16.5391528,24.3904501,60.1126844,26.6622551,39.0562395,17.8149751,3.5371107,13.8092569,10.0854693,38.619061 +963,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4170435,2.4907695,30.5106138,24.3941084,42.1744965,14.4436308,39.1676961,67.8855457,36.8504944,50.0447158,29.9668017,3.1183901,10.5303728,10.0382155,33.3733535,27.0909091,2.2877365,2.3421634,30.7329775,24.2496787,42.4240667,14.7599875,38.7249174,67.3941525,36.8460191,50.5409702,29.2547822,2.9901564,10.575876,10.4501639,34.4314176,28.7594093,2.1127696,2.1236455,30.2546517,24.1336663,41.7885238,14.2502024,39.3086133,67.0959359,36.7687547,50.7061065,28.7029185,3.1328641,10.655188,10.0673203,33.9130906,26.9927634,2.0223672,2.0223672,30.6310352,24.8824289,41.5326069,14.6973585,39.2600875,67.8213412,37.4465146,50.9084177,29.001511,3.0993246,10.8695204,10.0010793,34.2775544,24.4107826,2.2542532,2.2542532,30.7350246,24.9528563,41.6386528,14.7886907,40.5964662,67.8924681,37.9118551,50.860209,29.5456513,3.1344323,11.9113816,10.521982,34.1061737 +964,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9215164,4.1165519,47.25039,41.400156,86.3389121,13.1892106,28.6602487,56.5383073,18.3112716,31.1873245,9.8074609,3.7103891,16.5725806,11.7149758,38.1087662,32.3053589,3.8270474,4.0347308,47.3104221,41.4456481,86.18,12.8414264,30.0115207,57.469278,19.7196621,31.8164363,10.6182796,3.7826421,17.3622047,12.3820755,39.4528152,32.5592885,3.7286788,3.8794282,45.3201048,39.4795957,86.2945178,12.7477134,30.7558812,57.4816815,20.6903201,31.8357115,10.8947165,3.5672966,17.9968077,13.1075697,40.0080257,31.3715455,3.6861107,3.8475388,44.7126013,38.4487841,86.5633582,12.8651685,30.7007576,57.405303,21.3068182,32.2916667,10.7386364,3.3901515,17.0856245,12.9803922,40.370955,32.7860697,3.3787736,3.5206901,43.021978,37.014652,85.8848865,12.686846,30.0415408,57.8738671,22.1487915,32.6850453,11.5747734,3.0777946,16.8754894,13.3984375,40.4330709 +965,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2.3160583,2.4041642,26.0902439,19.5830445,56.4530553,9.6323985,29.4936248,66.112827,37.6157126,43.5937506,25.8258167,4.1101083,12.0805327,10.7099847,38.0249082,18.1061721,2.5827964,2.6916751,27.9692184,21.1149798,57.4649427,10.0688239,27.8998416,64.0787495,36.0087244,45.0510522,25.9552841,4.0495795,11.9901656,10.5904847,38.6500377,19.453459,2.8737065,2.9839524,30.1967967,22.9412096,57.2953901,10.1475414,26.3880929,62.5351798,35.0262514,45.6715426,25.5439949,3.8782528,11.9829865,10.3399545,39.3042287,20.835381,3.2587317,3.3551156,32.8698323,25.37266,57.9802912,10.3517254,25.6300172,61.5617474,34.0845381,45.7095105,25.4584124,3.789173,12.9565996,10.7710898,39.7102588,22.4988585,3.5555177,3.6620583,35.3637827,27.6772632,58.6314976,10.5086108,25.1256218,60.8584524,33.4675977,45.1619765,24.9783732,3.8591416,13.2461657,10.8096211,40.3317414 +966,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.3933645,1.4008466,22.5294559,18.4587554,72.6123002,9.3180617,34.3161204,65.4263318,29.5851944,41.3786122,21.8720356,12.9117546,13.4894558,11.6333226,38.7386146,9.8993403,1.2560671,1.2741173,22.7285012,18.4910992,73.6132464,9.2096389,34.4263427,65.2040037,29.949345,41.7511005,22.1590929,13.2324771,13.8348181,11.6722305,38.8484137,11.0768244,1.1990738,1.2136403,23.0447436,18.6495779,75.2311728,9.0819043,34.1546462,65.5248423,29.5472767,41.1658673,21.708068,13.2411883,14.1322144,11.5332271,38.5996191,11.3448345,1.201812,1.2198148,23.8623224,19.298806,76.9326769,9.1994386,33.6451613,65.3741961,28.9612889,41.1677422,21.4645157,13.2709708,14.1521903,11.5344052,38.7871593,11.5841569,1.2739773,1.2776023,24.0184012,19.4539853,78.461647,9.1885576,32.9841272,64.9578453,28.7812993,40.9310674,20.8591594,13.1477833,14.2477204,11.6223047,38.556836 +967,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8432317,2.913127,35.6571321,28.8843111,46.4997112,17.539779,34.6024902,63.2666524,31.0809401,45.7406111,19.7789833,2.989323,11.2572857,9.1132512,30.8591434,29.7927097,3.3568604,3.3950357,38.923188,32.2461389,48.0229779,16.2231927,34.3802649,61.2960275,32.0966134,43.6777354,20.1875438,2.8139889,11.6685627,10.9310337,30.7146866,29.4810988,3.4601384,3.4733084,41.6011847,34.9449267,48.0402186,15.4298837,34.2381408,61.1412816,31.8072379,42.9890767,19.0841126,2.6336483,12.2147618,11.7967564,31.8312905,30.365265,3.6887411,3.6645093,42.1824366,35.5159206,47.8138203,15.1449865,33.9330564,60.230253,31.7741813,43.6034955,18.8242162,2.9974988,11.7867647,11.6325829,32.4802376,27.8723097,3.826271,3.8002822,44.2747249,37.4065288,48.6041471,14.4363721,34.5526245,60.368375,31.5400162,43.8449911,20.0938256,3.0549559,12.1279504,12.2929565,33.0840456 +968,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.8049712,4.8387294,39.1470788,31.8411324,54.8918953,13.6489049,27.7587975,62.2226477,29.5621541,46.8014569,25.4344919,4.2278278,14.026313,12.194254,41.667221,28.0809782,5.3747566,5.4065894,41.8209178,34.3916195,55.3064165,14.2943102,27.675516,60.8929104,28.9633163,46.3863165,24.5696721,3.9959295,13.9857357,12.807286,42.7827151,29.8751715,5.2776304,5.3394694,43.6787131,36.2093661,56.2140236,14.7790287,26.9999916,60.1107994,28.4834531,44.9479586,23.8312128,3.689069,13.6709822,12.6143208,41.3780131,30.4379346,5.6086395,5.6959292,45.646646,38.1941314,56.8246501,14.5484068,27.0255917,60.5415954,28.1760495,43.9874399,22.2861979,3.4182078,13.5242906,12.1464801,41.6789156,31.1244703,5.6647766,5.7433818,46.6939697,39.173434,57.5200534,14.5696019,27.7357623,60.2810908,28.1043356,42.6900697,21.6634134,3.6634764,13.9332859,12.6216951,41.7547816 +969,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.7061053,4.8044743,48.5812907,43.1452075,84.6871048,14.9849232,30.1155334,57.0234116,19.2611478,31.6661229,10.261471,4.7278708,19.9085062,13.506077,37.3157289,26.2997602,4.5223864,4.6168963,47.5501994,42.0201126,85.0743993,14.5441363,30.3592209,58.63026,19.4071129,31.5858245,10.4702019,5.0087507,19.6608869,12.8562755,37.2754831,26.4333295,4.2756883,4.3433737,46.0251835,40.5633755,84.9408418,14.6668684,29.6474251,57.9400019,19.3910241,31.8035972,10.5332214,5.2884492,18.594273,12.7590063,38.0000513,26.6823306,4.154518,4.2358834,44.8959083,39.4881738,85.3632311,14.1758542,29.5127616,58.5119052,20.0322717,32.447874,10.9920656,5.3859582,18.4411439,12.4706353,38.3136894,26.4504829,3.9420137,4.0347964,43.5418638,38.0973425,85.5419634,13.8396926,29.1898908,58.3064329,19.8561642,32.5652698,11.2268969,5.591413,17.3305176,12.3145108,38.0768111 +970,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2.9325595,3.0335352,39.2307812,32.9864397,57.4282235,11.9758122,32.7354721,65.9344251,32.4264664,46.5874031,23.3575011,2.9222101,16.4742321,13.5240364,35.2408077,23.0994172,3.1635806,3.2672459,40.8782874,34.5499854,58.0564117,12.2410129,31.391179,64.1841585,30.5142346,48.0401526,23.6579972,2.9298432,15.7972313,13.2093166,35.0997893,23.6634313,3.4024804,3.4755478,42.1994937,35.8797975,58.251965,12.5891431,30.1705154,62.5306848,29.1758375,48.9665668,23.4401363,2.9905704,15.8204752,13.2923004,35.6202239,23.8901096,3.5888925,3.6616769,44.2520227,37.7992426,58.6990108,12.6527712,29.781178,61.6683552,28.2001173,49.1209402,23.2924479,2.8143187,16.2165741,13.3255325,35.8077901,25.0260843,3.8723759,3.9468837,45.2731963,38.9827596,59.8527612,12.8048722,28.3831207,60.521046,27.3584694,48.9628865,22.5228171,2.8801694,16.1310963,13.2950267,35.7253013 +971,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5636577,2.5364337,33.741857,27.761256,51.9903833,15.0616226,39.2617722,65.4178182,36.83848,46.281332,27.1171161,3.1337,15.8206281,13.4821839,36.6969391,24.9238264,2.5787074,2.57495,33.8246399,28.0344698,52.8757301,15.3252693,37.868694,65.5500377,36.6280959,45.8643402,26.2890615,3.1017321,15.0335749,12.542086,36.6534632,23.153904,2.42899,2.4195833,33.4763949,27.7517003,53.1588328,15.2220888,37.3951152,65.742497,35.9345669,45.780359,25.4937532,3.1511962,15.0410728,12.2667295,36.431288,22.901378,2.3565922,2.3240822,34.0840668,28.4593795,52.8606257,15.6650354,36.8002502,66.0635264,35.7589377,46.3290786,25.11076,3.0851247,14.7536452,12.3161585,37.2956805,21.1724644,2.3875636,2.3316576,33.7679599,28.2538052,52.7474656,16.5428701,35.2088177,67.0104414,35.4438877,46.6971256,25.5223077,3.0417692,14.7744993,12.2876589,37.5600192 +972,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2.9066021,3.0319492,30.8658396,24.1282577,57.2257241,19.8325773,24.6365638,62.8054452,31.5032468,46.0098911,24.8840025,2.8611148,13.4993968,11.0529625,34.5290158,18.2189349,3.0810399,3.2040201,33.1695687,26.347564,58.3209621,19.6222654,23.8646394,62.2766002,30.77938,44.8725469,23.5716421,2.5930226,13.1916226,10.8746453,34.3860663,20.7646027,3.2946315,3.4275911,34.6061722,27.7408206,59.0534516,18.9721662,23.6834788,61.4425799,30.6302494,44.1036338,22.6750702,2.4229655,13.1032645,11.1516954,35.5965962,23.4087487,3.4950706,3.6267975,36.2231863,29.302863,59.6043811,18.7913197,23.3565898,61.4032722,30.4132032,41.8164687,21.1832584,2.4013914,13.1178733,11.3376865,36.0516211,24.8317397,3.5602326,3.7031636,37.3419402,30.3363774,60.885472,18.0308588,23.2900374,60.6972462,29.8117729,39.8859932,19.8966061,2.4787897,13.6754504,11.1619228,35.9772596 +973,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7847494,1.8267699,30.3053473,25.3504771,59.6840678,8.9965283,29.4672769,67.4293946,30.477786,47.019314,21.7595927,2.8074374,15.076553,13.222481,32.9887849,17.0104815,1.7207424,1.7785373,30.9237279,25.8292788,60.0875327,9.1557065,28.4830284,65.5978733,28.6140431,48.1165956,21.7350788,2.7268645,14.6664155,13.2390927,33.1228255,16.4294139,1.7786114,1.8445716,32.025474,26.6297134,60.1999317,9.2791196,27.0124639,63.9667501,27.8689999,49.4504213,21.8027981,2.7476336,14.4178194,13.258273,33.433762,16.2074192,1.988358,2.0251694,33.1406119,27.4145718,60.1378249,9.6240706,26.1788504,62.4342231,26.9139547,49.8542554,21.9625034,2.8779372,14.0159295,13.0548128,32.8562119,17.9813869,2.324774,2.3582742,34.5523393,28.6409583,60.5249472,9.7958719,25.7513255,60.975223,26.5401343,50.0406854,22.1881663,3.0803638,14.364807,13.1357691,33.2107515 +974,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3016037,2.2448449,34.8781383,29.5026065,52.1651148,17.1455474,33.2406214,66.7328999,34.9880561,47.6701435,25.9598081,3.0844543,14.9783258,12.2897349,37.2886164,19.7055206,2.5649197,2.5668851,35.2816489,29.9476516,52.6562717,17.4132734,32.0371719,64.7159145,32.7179832,49.7119666,26.4859916,2.9457956,15.2002051,12.6912882,37.8385733,20.4762338,2.5842565,2.5861749,36.0968976,30.5454049,53.1494902,17.2348684,30.4320054,64.2254817,31.7356858,50.1150408,25.7796558,2.7223914,14.0826896,12.5000026,36.5885601,19.6038471,2.802891,2.7991279,36.9627138,31.2633605,52.4446011,17.5722568,30.1149135,63.5648402,31.6137966,51.2990293,26.0429757,2.8103942,14.1590838,12.398596,35.939905,19.0945088,3.0608975,3.0623589,38.3122525,32.4569299,52.0538824,17.650594,29.3995841,62.2144329,30.5421257,51.4706345,25.6319885,2.4914954,13.8145052,12.33865,35.4686301 +975,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,6.2517821,6.3964597,49.0528289,41.9820957,83.6640696,24.5892489,26.3727976,56.5133932,19.6040693,30.7153152,11.430343,3.0013136,18.26168,16.0760014,41.7514293,27.1101363,6.1465436,6.4100127,47.652191,41.6877118,84.3124074,22.9540659,25.7087076,56.3788193,19.0076547,29.3170659,10.5024549,2.7706543,17.4072359,15.5474294,39.9254961,28.8849474,6.6554027,7.0239567,47.9918794,41.9677855,85.2653382,23.5648712,24.9327278,54.6370794,19.6908031,27.889816,11.4918574,3.0242261,19.6698427,15.7693452,40.5370671,31.5330179,6.1854367,6.4421792,46.9056197,40.8577892,86.184185,22.1679713,25.1752827,54.2075566,19.4249998,28.962287,11.8513417,3.1557201,19.7511288,15.5028918,39.4149493,32.0651967,5.9447549,6.2172378,45.5967659,40.22363,85.211239,21.7165442,24.999944,54.2536734,19.4776352,29.477762,12.0149285,3.5075072,21.2346252,15.7012825,41.9696632 +976,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0219417,1.0877044,17.4626462,13.6005172,83.79588,9.2253705,28.8216507,67.884013,32.5378781,45.967011,20.8826349,4.8774765,14.2671394,12.1962083,35.1480373,10.1922097,1.0084903,1.069161,17.3958817,13.062834,84.0550235,9.2168281,28.7656681,67.6088001,31.7435816,46.1588343,20.95399,4.6396108,14.7269569,12.3993142,35.8363499,9.5701929,0.9040288,0.9575213,17.0405758,12.5952025,83.6738113,9.424139,28.8875655,67.9766368,32.1519869,47.1434251,21.5851727,4.7465439,15.1152382,13.3422038,35.5743417,8.8233426,1.0204021,1.0663264,17.3524113,13.0714493,83.8881241,9.6929525,29.4279661,68.7208531,31.4050015,47.6861554,21.4767327,4.6907763,15.4417633,12.2922757,35.1983544,9.4228776,0.9665871,0.9536026,17.1128559,12.9118581,83.4948496,10.2876262,28.9847973,68.6432899,31.606275,47.9192933,21.660513,4.3487358,15.191429,12.3829273,35.806311 +977,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.9287786,6.0440805,47.7442461,39.9341794,58.2967005,14.181569,27.918963,59.1133444,27.430571,41.6160707,20.6132391,3.2192857,15.0035602,13.4546777,42.4801433,33.1890852,5.5988683,5.7273838,48.5079414,41.1420963,59.8666407,14.2003556,28.241441,58.9827398,26.9873687,40.8157296,20.2291216,3.1711726,14.4244472,13.1389493,41.8494439,34.1811127,5.2221918,5.3403924,48.9075518,41.5788385,60.1535013,14.312186,29.1268992,58.6558761,26.6329458,40.3846837,19.9880356,2.8960453,13.9678949,12.3722718,41.5618412,34.2235577,5.0460324,5.2055687,48.7884141,41.4047531,60.7077487,13.7167091,29.847636,58.279595,26.5234135,39.2589022,19.2816499,2.9074104,13.4191168,11.2297686,40.4263519,34.1536219,5.1851158,5.3646543,48.6963863,41.3366418,60.8098412,12.6655146,31.4138696,58.5223157,26.3111347,38.8908349,18.4089385,2.8171545,13.8646294,11.1880662,42.1306971 +978,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2.5994442,2.8187498,28.0454169,22.2171232,87.097015,12.9466262,21.023945,56.9526178,27.2084364,42.8031129,19.0348587,3.2068492,16.7896423,11.2078342,39.5110767,21.5522151,2.7016121,2.8473697,29.9873219,24.2486046,87.1514999,12.9496107,20.3632946,57.0516298,27.1647267,43.1955484,18.4889537,3.2546217,16.5661374,11.8137115,38.8136991,20.9082959,2.8310486,2.9726839,30.2581923,24.2674138,87.482399,14.0341812,20.0067183,56.9026933,27.7069533,42.7533143,18.0692194,3.1478179,16.0089308,12.311667,37.7320701,18.8241949,3.0722869,3.2755714,31.0801131,25.2991097,88.0879044,14.1405633,19.4548736,57.4592752,27.4651099,40.479938,16.7911475,3.1119092,15.2584806,11.8158404,37.2010305,19.700478,3.4116491,3.56063,31.956918,26.3843859,87.9618349,14.8641402,20.2049955,57.8783334,27.0853618,39.6370217,16.4439741,3.1379043,15.8808317,12.9336793,37.2993955 +979,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.0987144,5.2601532,48.9853649,41.6999346,61.9689844,12.1792702,32.3298682,58.086914,26.4873531,37.4598993,18.3648067,3.0103314,14.4964031,11.3472809,41.6361219,34.2741557,5.3698735,5.5743817,49.3299014,41.666667,62.3764476,11.7870096,33.2906496,58.5923071,25.7586781,37.6416597,17.8976314,2.7605112,14.9887288,11.1738325,42.0550239,35.2703885,5.2987176,5.4684933,48.9813201,40.9337821,63.2314776,11.1921772,33.2074493,59.241268,26.1596549,37.9899128,18.2128845,3.002516,15.5449931,11.3104109,43.3730554,35.1027101,5.5546755,5.7344307,48.9068038,40.7706035,63.3004187,10.8695743,33.4288673,59.422771,26.4334873,37.404417,18.1766156,3.1536683,15.8287634,11.045614,43.3759005,35.2219365,5.4828863,5.7326575,48.8017038,40.2976469,63.9771517,10.3819617,33.3949569,59.6177515,26.0378089,36.8886006,18.3929337,3.1031626,17.115233,11.9007639,43.9368068 +980,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6530747,1.7420093,24.0171496,19.0431291,59.0803346,8.7365412,29.9949594,66.9975518,34.4403375,40.2061367,21.8256069,3.7316061,9.8020734,8.7905201,31.2258994,14.7848924,1.6585981,1.7386488,23.6841216,18.8421023,58.9627691,8.8682345,29.3786935,66.9551264,35.0229338,40.25835,22.3862727,3.7862227,10.1231507,9.1055264,31.3256078,14.0738311,1.5896625,1.7407708,24.2990386,19.147364,59.5123463,8.6287211,29.6575391,65.9703563,34.8143063,40.0554308,22.2343854,3.6845737,10.7111536,9.3416378,32.5674664,13.7752965,1.7196167,1.884425,23.7190233,18.3483618,59.6693553,8.7335688,29.3416988,66.7552413,35.3482878,40.2408201,22.057597,3.7821888,11.3704566,9.266125,33.0010085,13.3351268,1.8757509,2.0549649,23.9748702,18.1478149,59.5450202,8.836591,29.1230626,67.0535236,35.8708974,40.577721,22.7546123,3.9439932,11.7448272,9.133003,33.6709931 +981,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5902556,1.6219188,22.636909,17.0333036,51.2432616,14.9065524,33.7746245,66.2080079,34.7700731,45.0030088,27.3416987,2.9504809,13.9873743,11.0142204,40.1811879,23.0484109,1.6112927,1.6269492,23.3059858,17.6173257,51.0284851,15.0181801,35.3034635,67.8362485,34.9717523,46.9185418,28.1481173,3.0537571,13.4477883,10.5513494,39.7044753,20.3301358,1.6780126,1.7681805,23.5902143,17.4879145,51.7433561,15.9243596,34.4138141,67.8392558,35.1675214,46.4830769,27.06847,2.8410302,12.6694555,9.623251,40.0581815,20.4025874,1.5289346,1.6262602,24.064481,17.8382186,51.1343896,16.4817043,34.0255748,69.6563722,35.1954695,47.0318144,27.372487,2.9183661,13.5611508,11.1880329,41.5889866,20.7072263,1.5469417,1.6777219,23.6349497,17.5457268,50.6327124,16.6853795,33.5868187,69.7962723,35.5020532,47.3302332,26.2939004,3.1978268,14.5581538,12.302232,41.5544553 +982,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,6.4004423,6.5660069,48.0318284,42.492478,85.101409,22.1325072,25.7374339,54.7934861,19.1004184,29.5724292,12.1681935,3.6136066,20.3365469,15.2308864,40.9509275,32.5542454,5.82687,5.9819584,46.190194,40.8840783,85.2305533,23.1242475,25.6181211,56.6620535,19.9863323,29.73918,12.15665,3.6401474,19.9722065,14.5071444,39.0754837,33.9528237,4.7051756,4.8572456,43.7168109,39.087117,87.3588439,22.1553243,25.9837285,57.5982507,19.7422089,31.1398224,11.465389,4.0027572,18.4427741,12.8100232,38.4929191,32.0600606,4.6979698,4.7292202,44.8157546,39.3586543,87.4456726,23.1354607,26.9230796,58.25166,20.3497239,31.8183058,11.9580975,4.1259174,18.2204934,12.8532163,39.5180412,32.2952886,3.8903028,3.8495026,44.3181203,38.8367453,88.4234315,23.405745,25.9642006,59.4352539,19.6281629,32.024959,11.2258433,3.650188,14.4988022,12.0271571,39.2071225 +983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.992187,3.0688237,34.3778014,25.8734063,49.8309449,13.757526,32.33704,60.7536475,31.8249449,52.0624245,28.7950671,4.1741444,15.2342575,13.6850092,35.9480479,18.5995496,3.4274379,3.5558463,34.2588925,26.0549719,49.5491349,13.9948332,33.2687285,59.9909991,31.5748192,52.1224251,28.1290659,3.6521695,15.0750499,13.4275017,37.1666122,19.8750554,3.3880584,3.4555451,35.9540772,27.9239834,49.547808,14.5745673,32.3289893,60.1568227,32.0235402,51.0744744,27.1168877,3.8326581,14.2976028,12.1149131,35.7343213,21.4985656,3.2516495,3.3173161,37.3483686,29.4668109,50.6440792,14.7108902,31.0237012,59.4716785,31.5968891,48.2886344,24.125413,3.8107308,13.6096706,11.3368728,35.8201215,21.7216999,3.4215795,3.4861467,37.1778223,29.8863407,51.1984223,14.7599669,30.9682058,57.8616214,31.8258445,46.7515095,22.6011115,3.6417018,12.6862919,10.429676,35.989554 +984,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.2623418,5.504716,48.5575098,40.3313913,64.6346828,9.555829,33.3126656,59.9958604,25.5885928,36.5344723,18.8971436,3.0359331,18.1012735,12.8692037,44.2967257,34.6674924,5.385592,5.6390352,48.835109,40.7125242,64.4646446,9.3840032,33.1933304,59.7316939,25.5681036,36.1412304,19.0827275,2.8889381,17.1622147,12.4880232,43.3528735,37.3556682,5.2575511,5.4715233,48.8051159,40.6935777,64.119148,9.2529043,33.6378294,60.1321966,25.6838692,36.9683064,19.218822,2.9190607,16.5818359,12.7245818,44.9499722,38.58133,4.8475578,5.0108926,48.8630788,41.384058,64.4130372,8.9877174,32.4856961,58.4736885,25.7685141,35.9214961,19.0513282,2.7216122,16.3429516,13.3125775,45.4442343,38.1814056,4.7772122,4.9722747,49.0450766,41.8688521,64.4394185,9.5011605,32.4635397,58.7348466,26.2837654,36.2664585,18.4006149,2.7927693,16.1993434,13.5147865,44.3560198 +985,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8973124,2.0593139,22.9877035,17.3918823,59.2141118,9.2072668,28.6522747,67.0952024,35.6167535,41.1028948,22.8507362,4.0450868,11.594973,9.1867663,34.1516076,12.9990813,1.7292486,1.8269041,22.7116979,17.2595766,59.4313385,9.5627138,27.8925039,67.4953555,35.8407287,41.5459793,23.432316,4.2436478,12.1689255,9.3448079,34.2325641,14.3652561,1.671435,1.7639639,23.102412,17.3715811,60.177969,10.0707688,27.4024212,68.5490463,36.3172142,41.5100701,23.3075662,4.5084586,12.6402544,9.5169832,34.8086504,12.8944915,1.794294,1.8533771,23.9967929,18.1022995,59.709396,10.2670514,26.9058815,68.9022607,36.9082617,41.0024563,22.5576946,4.8099799,12.8789258,9.4614719,35.1749036,12.3773462,1.820061,1.82829,23.720347,17.8251659,59.955672,10.544457,25.1470918,69.6633944,36.9513139,41.0183604,22.2853168,4.9788038,12.6537988,9.3422558,34.970416 +986,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.3304092,4.4152166,40.0435795,31.9844482,54.59102,19.2805399,27.500695,62.7443627,28.8179612,41.7405572,20.9503185,1.9758299,14.5089724,11.8186192,37.3811369,34.1071846,4.2353968,4.3306851,41.2374453,33.5425247,54.9183886,19.1342074,28.3894023,62.7870937,28.5331395,41.875984,20.0679723,2.0983296,13.9442275,11.9019318,38.2314691,34.8777961,4.4278238,4.4602944,43.0336425,35.3907739,56.0943501,18.8382416,29.1008585,62.6255103,27.2744539,40.2400439,19.0721387,1.9878469,14.2286589,12.3547515,38.2507572,35.4701392,4.3690911,4.3659057,43.6714314,36.3901296,56.9951733,18.2157075,28.8009717,61.3038367,26.1647457,39.5269795,18.5804437,1.896025,14.0164521,12.6949817,39.2937481,36.5382802,4.8553221,4.9130591,44.3405252,36.9986966,57.6504845,17.1219178,29.2837581,59.9534866,25.46782,39.0748863,18.3402054,1.9978638,14.4795664,13.1797456,39.8597275 +987,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4369995,2.473071,35.7965427,29.7165789,61.0097502,10.0337379,24.9538041,60.438762,26.2446424,49.4006312,22.1220005,2.9570444,13.9695698,12.7327077,32.5896305,20.5880231,2.646146,2.6874449,36.3686437,30.3925988,61.1391708,10.2047233,24.5623916,59.9183747,26.3126892,48.8202273,21.7879675,2.9236267,14.0303566,12.686765,32.7063012,21.1593364,2.7268072,2.8206855,37.1421809,31.1649902,61.3312122,10.4255964,24.4135153,59.3408017,26.3390437,48.1319618,21.0981553,2.8755249,13.9913748,12.3386202,32.681938,22.4146602,2.8302073,2.907694,37.8455085,31.9013003,61.4059324,10.3880493,23.5064947,59.1790486,26.4750667,45.6652475,19.643739,2.9996102,14.3232124,12.0836173,32.4518731,22.8609344,2.9522869,3.0333311,38.8496289,32.7985513,61.9148635,10.6238854,24.0240353,58.7163307,26.5320666,43.7300009,18.6251082,2.958962,14.5600358,11.8149728,32.0526647 +988,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2.6885539,2.7960208,32.526334,27.0440171,88.7905059,11.7697777,19.8689139,56.1828236,22.7841447,35.9518753,12.1404947,4.4120285,14.674018,12.7794249,32.8753321,17.5720917,2.8947499,3.0209982,34.352167,28.5753652,88.9349647,11.8742609,21.2388784,56.1555136,22.3244904,35.4885659,11.622739,4.2942915,14.7840293,12.928663,33.7780136,19.5897496,2.9587745,3.1101249,35.8753571,30.0886999,88.7517102,11.4705929,22.4625615,56.257198,21.5589767,35.2845172,11.5052149,4.3733135,15.5311124,13.337155,33.8541469,19.5016301,3.1843359,3.3296789,37.2804131,31.3458555,89.2792406,10.9016837,23.9397452,56.025669,21.2722415,35.3195378,11.5429078,4.2698066,15.7823879,13.5841963,33.7987295,20.5568927,3.4454449,3.5728462,39.1105261,33.3861119,89.4073312,10.5609484,25.5941916,55.9322834,20.8984772,34.8115811,10.8502433,4.3961324,16.1136145,14.3374884,34.3354478 +989,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.8943086,3.8943086,45.2088903,38.7931456,48.8279367,14.3674766,34.4841744,60.94093,32.5112515,42.8239612,20.2236638,2.9147174,12.4343609,12.7821752,31.7297225,29.7356828,4.2533442,4.2799804,46.1754177,40.3771277,48.4536642,13.8366808,36.1625025,62.3577813,32.3333024,44.2547116,21.6277262,3.1765894,13.5014952,12.3034395,33.4792064,31.144097,4.9778571,5.0024123,47.7961907,41.6911687,49.8308313,13.1498381,35.1460037,60.9891787,30.636666,42.3101743,21.0548046,3.5828059,14.2265127,13.4262529,34.2504421,34.2592836,5.1264193,5.230255,47.9733874,42.2388447,48.1754716,13.3468164,35.385602,62.7066417,29.5074133,42.6927692,20.2145493,3.6138589,14.2033863,12.253094,33.8612505,35.9489387,5.5904804,5.7880167,48.5008668,42.9165266,49.5237912,13.497627,34.4046871,62.653467,29.2957843,42.9184208,20.4723749,3.8311837,14.0648257,11.5006393,32.043853 +990,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.0270402,4.1148919,46.9180124,40.4771234,84.7202788,13.968051,29.0352135,55.1006266,22.0160233,34.8362048,13.4577433,3.9919437,14.9312373,11.0164148,35.4189777,29.5921572,4.0585002,4.1558018,46.8101928,40.4864988,84.698472,13.6238304,29.8607199,54.7880246,21.9581074,34.578639,13.2422604,3.9105034,15.1372959,10.9187823,35.7588537,30.1783508,4.144555,4.2396476,46.7196211,40.3531816,84.4952209,13.1907178,30.1370638,54.7500808,21.7239718,34.3317937,13.2990601,4.0706568,15.6063075,11.3331693,36.1540319,30.6008329,4.045011,4.1290678,46.1739347,39.8177631,84.6450449,12.4502365,30.8141568,54.9774665,21.639754,34.5141237,13.333709,4.0838005,15.3092347,11.0473961,36.4722517,30.0722146,3.8534032,3.9346799,45.5546689,39.1270846,84.6093445,12.4639461,30.750457,55.4038464,21.8853332,34.7737534,13.4502844,4.3770633,14.6188172,10.5594359,36.17772 +991,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3.5911347,3.7279656,33.1538444,27.5220637,88.0122915,15.1835004,20.9182727,57.5958503,26.7213205,37.8922629,15.6321494,3.0493516,16.0472069,13.682713,38.1986478,19.087514,3.7439964,3.857577,34.724057,28.9304025,87.0675612,14.9153753,20.6165888,57.5911523,26.7742105,36.8333611,14.6407996,2.7314599,15.5903463,14.122431,38.2078279,20.1578503,3.7294115,3.8421761,35.7951274,30.0001396,86.0701617,15.1902461,22.1464842,58.0113635,25.9122156,36.2960717,14.4803898,3.1344336,15.6736337,13.6715566,39.1246273,21.2597015,3.5812085,3.7545253,36.6640404,30.9307783,86.5330125,14.622625,23.9920238,56.997663,25.148701,35.2900541,14.0055192,2.763825,15.5015588,13.6176987,40.1385755,20.6794113,3.6946949,3.8919065,37.9659272,32.0701317,86.239595,13.5654335,26.0534833,57.5083531,25.0997533,34.5389184,14.0176227,2.8983262,15.2602909,12.7578657,39.9685006 +992,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,4.2611212,4.3124615,46.7888511,40.6341134,60.2286999,12.8058958,28.0892955,59.5657821,27.1284119,48.668205,22.3485861,2.8764311,16.629527,13.1853219,35.2712911,26.9320119,4.3564185,4.3897344,47.7374366,41.6809844,60.3168091,12.8306257,27.5918057,58.537612,26.8623199,47.8117657,21.3738916,2.7920624,16.5409137,13.0970011,34.9508584,27.4663525,4.3262094,4.3806329,48.3250508,42.2351962,60.6633376,12.8435332,26.9284593,57.8529266,26.9979814,46.1605098,20.0846614,2.7201017,16.729382,13.1616244,35.1245452,28.4244921,4.5088053,4.5710753,48.8457551,42.6641306,61.093317,12.796317,26.5923817,57.570077,27.0840115,43.9050683,18.5191456,2.738709,16.9396058,13.4402654,35.3647361,28.7083353,4.6474322,4.709773,49.4780431,43.3461698,61.6982257,12.3885037,27.1745819,57.3265893,27.0830616,41.8961934,17.8706031,2.6688758,17.5428899,13.7943062,34.7318774 +993,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3.4472981,3.5878738,41.2487738,35.4527662,89.775021,10.2897888,27.0192133,56.8068496,20.629023,34.7787064,10.8057226,4.5147846,17.3869847,14.5471756,35.1067159,22.6264543,3.6139742,3.7296229,42.8037683,36.8436403,89.6220062,9.9665982,27.9645716,57.0134824,20.6824011,35.0079348,10.9331544,4.7055317,18.058817,14.4399971,34.999932,25.1730755,3.9898757,4.0780012,43.9269774,37.7678392,89.4048027,9.6297323,28.139794,56.9433558,20.5130557,34.6572628,10.944961,4.6256174,17.9249704,14.186781,34.4134303,26.7992411,3.9551631,4.0763992,44.4994446,38.4841067,89.1525377,9.1632567,27.8323031,56.8875344,21.1642904,34.7721445,11.5698598,4.5464308,17.9077281,14.3005829,34.3853569,26.6174484,4.1920863,4.2962536,45.0681578,38.8950326,89.5798551,8.8367647,27.6272951,56.3125743,21.5536554,34.360725,11.6811097,4.4017507,17.8732548,14.2310936,35.2076652 +994,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.365352,1.4416524,20.8712086,16.1694836,81.4479423,13.175665,31.9504517,68.2971136,37.1381238,42.9981708,23.318311,6.5763873,11.7445811,11.9284347,40.1533046,10.1891036,1.6061769,1.7773165,20.3356788,15.545556,80.4856112,13.0247989,30.1933219,65.6167711,37.1412591,43.251493,22.9829317,6.0731667,11.1044786,11.8026241,39.5793398,11.0104026,1.5905258,1.7666147,21.9588685,16.2840352,80.449255,14.1648376,29.0461552,64.6612061,35.6521258,43.3846438,22.1892273,6.4072891,12.0732675,12.4017918,40.3922639,13.478631,2.0760935,2.2644242,22.3041513,16.273386,80.7185202,13.9654232,27.8368614,63.3381607,35.1428944,44.6713909,22.982573,5.6801618,12.425469,12.4213852,40.2784353,14.2499109,2.304757,2.5041912,24.0407369,17.4057205,80.7233542,14.5692978,26.5082104,62.3127338,34.1580905,45.2505093,22.5209856,6.236788,12.6773504,12.6733858,41.1970681 +995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,4.6201185,4.6626513,49.6721208,43.5949478,62.07451,12.401812,27.6636076,56.9571059,26.4595258,40.8393637,17.0320146,2.8680139,17.3146448,13.6711042,34.5761888,31.3083259,4.5959669,4.6646908,50.2031397,43.9558832,62.0860677,12.3772183,28.8334242,57.0784282,26.1368514,40.1908216,16.66475,2.6793893,17.3651885,13.7887658,34.4792246,33.0129951,4.5354881,4.6290761,50.3123415,43.9096613,62.7769665,12.2220672,29.317161,56.5265831,25.4964191,39.1185706,16.2756788,2.5490654,17.1817537,14.1858937,34.684686,33.1354058,4.5989939,4.7016185,50.2068872,43.74301,63.1890035,12.0153672,30.2280865,56.1678386,24.8399729,38.5372086,16.4029025,2.6707791,16.8317601,14.0469569,34.6537845,33.9131399,4.5658009,4.6588473,50.3602376,43.9097159,63.6914099,11.5641918,32.2276781,56.5988272,24.6460597,37.9139165,15.9997821,2.6968532,16.7980158,14.1182759,34.2345304 +996,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.883376,4.9729189,46.0895489,38.4392333,59.2088342,16.2833711,30.8841055,59.4146453,25.7095013,37.8188922,17.8760883,1.8864737,14.4064578,12.518777,40.2427841,37.6475391,5.2588025,5.3814998,47.8897336,40.3274074,59.7595404,15.7015042,32.4841685,59.8898159,26.6746935,38.3286674,17.8009652,1.7283822,14.1991887,12.4911026,39.7195053,39.7576504,5.5412291,5.6066382,48.7775262,41.0356697,60.886791,14.9470316,31.8935019,60.3621835,26.2636669,37.6658031,17.2641766,1.5596485,13.8414225,12.4910329,40.021374,40.6332022,5.7604413,5.8826672,49.5418313,41.7574359,61.8784632,14.1370331,32.2506149,59.543485,25.6774367,36.8917673,17.322581,1.5038476,14.2071077,12.5739427,40.9021188,41.1459175,5.7423678,5.9972289,48.5965347,40.7467091,61.7626723,13.6574415,32.6238479,59.6141245,25.7760569,37.3207154,17.9338047,1.6918289,14.1223692,13.0041757,42.2460378 +997,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.8898556,4.9840562,44.6679496,37.2715603,65.5667312,16.3683498,24.9953596,59.7189118,26.2262585,37.8008702,17.2423899,3.297806,14.0983078,10.4356256,38.9837522,30.7772871,4.7606847,4.8683004,46.085377,38.9436918,66.7718576,15.8982807,25.8735412,59.4101538,26.1507124,36.929129,16.5927328,2.8933088,14.2349787,10.4209546,39.1767282,31.6217059,4.7303987,4.8387122,46.2767388,39.0417878,67.8518378,15.4665668,26.288058,58.3840662,25.5862005,36.2787781,15.8171951,2.9824498,14.8112568,10.623286,38.4222172,33.3446854,4.7298792,4.864776,46.6971223,39.2319855,68.1376114,15.3070423,27.5496133,57.9771161,24.6061945,35.7985716,15.3262704,2.9152483,15.1004158,10.8809243,38.0794016,34.5583853,4.7231375,4.8772457,46.887358,39.4420301,68.3173517,14.7375036,28.7367257,57.5395157,24.4069608,35.3068294,14.9755796,2.7578916,14.9284211,10.6835241,38.0015096 +998,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.515442,1.649398,23.9150272,18.0252559,50.0983406,18.1413033,32.5762358,69.7511109,35.4261485,49.2988088,26.0232458,3.0848708,14.1006994,12.5994157,40.1441138,16.9353934,1.4633442,1.6695584,25.3794105,18.6815938,49.1912217,18.5364456,30.7158394,69.3588438,33.8858926,51.7019624,26.6198799,3.2012535,13.0117017,13.1300603,41.5210365,15.8545296,1.5205685,1.7196475,26.4127411,19.627227,49.2541668,18.0396026,29.8373885,67.9054123,32.4900353,54.2336684,26.2933195,3.2150451,13.9006781,13.391283,41.5480282,15.8238579,1.3974929,1.6097893,27.634271,20.7640386,50.9518579,17.9088787,27.3649102,66.3012312,31.5172682,52.6173319,25.3526081,3.0112262,14.1847667,13.7961307,40.9764035,16.7360954,1.5328711,1.6714766,29.2531241,22.4085496,51.6988014,17.9748081,27.8630332,64.7075233,30.310247,51.2477508,25.7322541,3.2829767,15.0445218,15.1693601,41.1972738 +999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4.3791099,4.4579903,46.5524895,40.4050145,89.6201203,8.4913956,28.4218222,56.2500312,21.4701817,34.3371784,11.5609204,4.047949,18.6279363,14.9681947,35.9187412,30.1910204,4.5575263,4.6337775,47.1056093,40.5906908,88.9605334,8.3417673,28.8501009,56.2194288,22.130237,34.630249,11.8975124,4.095203,18.7374767,14.4153718,35.7606616,30.7777804,4.4948602,4.5316889,46.9026313,40.5159767,89.0548411,8.4414374,28.7634648,56.8001409,22.8493798,35.0954637,12.2760124,4.3110344,17.9804834,14.1709844,35.4807364,31.4153262,4.461383,4.4932888,46.7696529,40.6688378,89.086378,8.585573,28.137295,56.9139193,23.4558887,34.9428707,12.3033325,4.1601126,18.0958797,14.5367547,35.2656505,29.8886997,4.2055406,4.2554112,46.9501829,40.9262963,89.3728188,8.5489085,28.1225425,56.885351,24.0641584,35.9238774,12.3818085,3.9893648,18.236252,14.4869559,35.4231809 +1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.8821168,0.9078941,17.2686486,13.3319508,83.2213345,10.061542,29.049221,69.6220674,31.5406659,47.3629274,21.0341316,4.2981751,15.4582778,12.2184701,35.1681154,8.151979,0.9322878,0.9575584,17.3956231,13.3797505,83.5947752,10.0202111,29.3364944,69.8086429,31.8607775,47.5773264,20.5415583,4.1734634,15.2811477,12.6019337,34.9917973,6.9286936,1.0395989,1.0648403,17.3542121,13.3875658,84.2290832,10.0162477,29.170327,70.0123376,31.5822722,47.6082836,19.8896363,4.1905231,14.8769954,13.1664861,34.6980675,6.7271626,1.0514823,1.063607,17.3275059,13.5913171,84.4793936,9.8180031,28.3779559,70.4831501,31.8342841,47.1915627,19.5011066,4.1829949,14.5833458,13.3358909,35.1189579,7.0445912,1.066689,1.0789843,18.7065899,14.7297478,84.7694976,9.9093793,27.631074,70.2481461,31.7927544,45.9982744,18.6273664,3.7814832,14.2800382,12.915004,34.2728768 +1001,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8493931,1.8430753,24.1896066,18.2527101,59.9879334,11.3249196,23.8353302,68.7327414,36.0353115,41.5578422,22.6841565,4.8505995,11.9822388,9.5683693,33.9134096,13.4373493,1.9272079,1.8935046,25.1902927,19.2449734,60.6438438,11.4511644,22.6089915,67.3564971,34.5513319,43.0318284,22.6104431,4.5220886,11.6993163,9.8933484,33.0935636,12.5989678,1.9970785,2.0119756,26.4861429,20.2343906,60.3983618,11.9243219,22.1907297,66.714894,34.0804817,43.7288205,23.0015395,4.3456196,11.691261,10.1731914,33.7946075,12.7846659,2.1310832,2.1459341,27.6987177,21.4427225,60.9279634,12.4320094,22.0296494,65.7384988,33.5920129,44.5319274,22.717898,4.4485016,11.9876785,10.2849492,34.1605103,12.4833284,2.3178316,2.358341,29.0473007,22.802438,60.946289,12.1938629,21.7634341,64.7979729,32.5580205,45.2764134,22.8898306,4.2644723,12.069013,10.7435321,33.6350284 +1002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7035823,3.7519987,39.1502535,31.9573476,50.8284865,15.3618773,31.9001395,58.5842256,32.5461126,46.0292351,22.1679569,3.353271,12.7912102,9.8530866,36.1118337,25.7907868,3.8445776,3.8933702,39.4175272,32.5888852,50.6927676,15.1454211,31.9058728,58.3359447,31.7571412,45.4453951,21.576872,3.4577669,12.4995019,10.2113789,36.1547323,29.0049628,3.9491533,4.0190924,40.3647209,33.8242933,51.7020798,15.3506339,33.1694398,57.3873922,31.5807662,44.9150598,20.5663837,3.278665,13.1035387,10.7452601,35.8672095,28.2883071,3.8483606,3.9021498,41.565818,35.0078106,52.8084703,14.6915306,31.9621575,56.4696928,30.4483489,43.1696378,19.6147541,3.5769021,13.9781651,11.2989296,37.0766464,29.1065537,3.6675084,3.7218239,42.2988637,35.8069258,53.3660539,13.6370508,34.3719462,55.4985377,29.9670713,42.6243135,19.7048237,3.1454189,14.2287675,11.7513831,36.7506405 +1003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3.8325835,3.9512898,38.4299681,31.4630574,61.1600078,17.7506459,24.3162273,60.7059173,28.6663238,38.7210119,18.1687861,2.3052865,13.8976771,11.3312291,36.404671,28.5977772,4.0993459,4.2254339,39.2918889,32.0873459,61.6979207,17.3863424,25.2836518,59.7601863,27.707588,38.3058257,17.7539941,2.1016001,13.7885828,11.1256562,36.3995648,30.7923104,4.1942804,4.3735246,40.7810975,33.5822721,62.4967094,16.856645,25.7454988,59.6786629,26.9794389,37.6992206,17.3136204,2.0951142,14.3487226,11.3907644,36.8655107,31.9161012,4.1668453,4.3541139,42.1433832,34.6796018,62.0382748,16.2758237,27.412682,59.3919804,26.5329959,37.5549773,16.8305242,2.0569191,14.971156,11.3588723,37.7971557,32.1910276,4.4023431,4.5503413,43.2103298,35.5885305,62.8982141,15.9717215,28.5012624,59.4332555,26.0075746,36.6876677,16.108312,2.0528948,14.5768735,10.9762438,37.1168809 +1004,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.1388163,1.1388163,19.0126902,14.6907231,84.2160906,10.6517592,25.9802262,69.5212516,31.3867878,47.0283601,19.1290927,4.1064416,13.794633,12.3134551,33.986639,7.5319958,1.1738467,1.1738467,19.9327245,15.5471096,84.3855858,10.514472,24.9689049,68.0388774,29.1063602,47.7657134,18.2250257,3.9925126,13.6946136,11.4761081,33.7188371,7.0148291,1.3225831,1.3479108,20.2244831,15.5376027,84.690907,10.6241066,24.0915365,65.7100781,28.0553914,48.4515221,17.9396848,4.0668472,14.3409144,11.847821,34.006873,7.5442515,1.3582729,1.3985341,20.8120241,15.9081546,84.5498914,11.0819403,23.0343211,63.1652859,26.0647683,47.8909341,17.7109117,3.8288284,14.2918892,12.3935396,34.2892759,7.8728064,1.3844073,1.4292948,21.5500502,16.602255,84.1186112,11.2820674,21.8206513,60.7789407,24.9697572,46.6086871,17.0973358,3.6536529,15.5677383,12.198254,34.2965009 +1005,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7372669,3.825495,44.484259,38.2020549,84.473853,12.2295294,31.5939161,56.0702553,22.9462755,35.6732568,13.8376164,4.4774913,15.0481233,11.0465034,36.4324507,30.3876876,3.6337099,3.7412293,43.6726645,37.2863515,84.1525608,11.8510658,32.2949583,56.8337259,23.7444988,36.2037457,14.0268318,4.3905979,15.7930855,11.6685006,36.7773172,28.9841748,3.5657078,3.6420806,43.1904467,36.9130351,83.9258288,11.7354884,32.5694013,56.7232188,24.5319915,36.9459368,14.856827,4.3834196,15.7079067,11.3115256,37.3241394,29.059665,3.449415,3.4901003,42.5805564,36.1790749,83.9712004,11.807701,32.2613121,57.8908597,25.4701843,37.3373703,15.0967808,4.626545,15.7443878,11.7688478,37.0218186,28.7796347,3.1831578,3.2183671,41.6305726,35.5070389,83.9962998,11.667087,32.215457,58.3869067,25.9968518,37.9739478,15.3722392,4.5245291,15.3072839,11.6038628,37.2574184 +1006,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3.99457,4.1555384,39.5201574,33.0608835,86.2752937,13.201724,27.3661616,57.4731322,25.112274,34.0341714,14.6443199,2.4852299,16.1770992,13.2004703,40.3088103,26.2905986,3.9213786,4.1557499,40.3043518,33.6471795,86.796155,11.9807377,28.6025778,56.9507641,25.5435729,33.3505959,14.0039195,2.3385178,16.149411,12.097931,40.1607251,26.7002586,3.8555437,4.0096177,40.9232804,34.3471718,86.5999212,11.0376759,28.7980132,56.4307946,25.8075114,33.6116996,14.3346344,2.4938657,16.3326442,11.9899513,40.4428265,26.7666022,3.6108089,3.7944831,41.3834602,34.9219012,87.6939559,10.3220545,30.1114111,56.6702964,24.9139151,34.1121677,14.3956549,2.4664843,16.4782334,11.8039635,40.273476,27.0527543,3.4928098,3.6633174,40.7258976,34.2224,88.7880227,10.0421296,30.2612646,55.9991978,25.0844367,33.8986142,14.3226138,2.0165003,16.2854889,11.5570561,38.4544766 +1007,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4995985,2.5661135,30.0804775,23.5504676,62.9609628,12.5539894,21.4901014,63.5861238,30.9389627,44.6593674,22.4882673,4.0843706,11.831186,10.5553223,33.7485867,14.615076,2.7439613,2.8016893,30.9997262,24.521273,63.1988503,12.7609292,21.6582406,63.1609221,31.0880195,44.5939581,22.5944427,3.9792611,11.5127742,10.2887647,33.4315017,15.1898621,2.6947589,2.750939,31.8959109,25.4382612,63.8648755,12.2853635,21.5377684,62.8222049,31.4091337,43.0805227,21.7404675,3.7751099,11.0308243,9.4965472,33.4300373,16.5002447,2.6559565,2.721548,32.2489165,26.0155935,63.8020263,12.6596738,21.048397,62.3703533,31.850629,41.3230574,20.7735057,3.9903392,11.6362771,9.8152964,33.8954012,16.441934,2.6453684,2.6941146,32.2913385,25.9063063,64.8594281,12.6344879,21.2243995,61.3939953,31.4642197,40.1323695,19.4566611,3.7561982,12.0018749,10.1247293,33.290114 +1008,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.918111,1.9286603,28.0466564,23.0227538,53.3610178,13.5367611,37.9553544,68.2612643,37.5409189,49.4135418,28.3905714,3.7454432,13.8511021,13.4120086,35.9093782,17.3610748,2.0750784,2.0750794,28.5532972,23.2693072,53.4945138,14.0221105,37.4529634,68.0718566,37.3451955,49.1397267,28.3066684,3.8904806,13.9075253,13.6838106,35.1948827,19.2415947,1.9890725,1.9890736,28.3711701,23.2875777,54.159462,14.0989717,37.3221577,68.0277596,36.9657536,48.8756211,27.9039805,4.0455014,13.7943731,13.2766129,36.4955155,17.0833523,2.0433097,2.0433107,28.6316394,23.4498888,54.1249925,13.4346418,36.6564556,67.2817333,36.9380201,48.4693522,28.1443802,3.7424396,14.1128968,12.4816965,36.1458911,18.5526131,1.9955551,2.0113978,28.6336169,23.4152422,53.0728,13.7716522,36.7665771,67.062825,36.870456,48.92688,28.0267696,3.5384101,14.6676065,12.527823,36.2472535 +1009,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2475473,2.4408157,25.7151943,18.857068,80.9199387,15.2089798,26.1319505,61.3480327,33.0266795,43.479341,20.8592642,5.6727928,13.2102054,12.7635971,41.3655035,17.084807,2.531503,2.6547111,27.3580754,20.0994502,81.3604332,14.9602752,25.1730612,59.8516696,32.818638,42.5112833,20.0646299,5.2101165,13.5364954,12.0549222,40.5056706,20.5198068,2.4080684,2.5290428,29.3762353,22.0353916,82.4783017,14.4992519,24.7935391,58.6424071,32.3793213,41.5407066,19.8535077,5.1168972,14.4294285,11.8497069,39.4025349,22.2544644,2.6179636,2.6252143,30.5369764,23.3039607,83.1973981,15.2069726,24.2154808,59.0784711,31.8635155,40.1325618,19.5281757,5.2710185,13.7754244,11.3357233,38.6086831,22.2520046,3.1359047,3.1328036,31.2938653,24.2906938,82.9894879,15.4773964,25.4908699,59.6605955,32.0777866,39.4205633,18.7652147,4.7003235,12.877055,10.8656532,37.1639436 +1010,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7215796,2.7697306,32.573258,26.068549,64.9354952,12.1265189,21.8061223,60.8978251,30.6507667,38.9816966,18.2668827,3.3785042,12.3054217,10.4717763,33.0899575,18.8443918,2.7997046,2.8119072,33.5447213,27.0422871,65.4421352,12.1666225,22.1025374,60.5266257,30.6622996,37.838387,17.5054054,3.3510511,11.675631,10.0097675,32.7754925,20.94123,2.7449663,2.7901169,33.7927409,27.4356699,64.9486914,11.7550518,22.8960041,60.7114938,30.6805457,38.3604556,17.3412828,3.2215031,12.2886209,10.3956045,32.2461206,20.6300896,3.0169728,3.0628042,34.9751609,28.3561865,65.3285553,11.1998095,23.4680297,59.7522961,30.1585541,38.1315766,16.786661,3.3184549,12.4451278,10.8645965,33.1120657,22.7761676,3.1450578,3.2021643,36.432492,29.7549199,65.6412425,11.2341508,24.9095605,59.8772039,29.6183232,37.9868652,16.0676101,3.4517612,13.1323003,11.1551488,33.5364743 +1011,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2.9859824,2.9705918,32.4149945,25.2878524,82.8392359,15.7688995,26.4917305,60.4590096,32.0027351,39.1690978,18.4303243,4.5819103,12.2522076,10.3708789,37.0109483,24.8130844,3.2069282,3.1768839,33.8328091,26.6815182,83.0838104,15.6938158,27.6913249,60.6575601,31.6530073,37.759905,17.8277955,3.7940009,13.583557,11.0643439,37.235615,26.6654897,3.5040703,3.5040703,35.4816704,28.2490742,83.3796944,14.6461664,27.9506231,59.8665025,32.2126827,38.0736161,18.1575651,3.6990449,13.4374647,10.6691646,37.034707,27.1020456,3.6608874,3.6608874,36.6785829,30.0486415,83.8724347,14.1394263,28.818599,59.909865,32.1096843,37.9698145,18.6757433,3.9205159,13.2273426,10.8284858,38.8994408,27.0795172,3.9927939,3.9927939,37.6683836,31.3933443,83.3376616,13.5231088,29.6153141,59.5828169,30.6518172,36.4971466,17.6489341,4.1947364,13.5371273,11.6221421,39.6426242 +1012,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8725768,1.9085701,31.5430267,27.0547427,53.3388127,13.8369267,34.9738723,67.2648409,31.9206234,48.1913327,23.7137714,4.1755449,13.3071492,11.1631989,32.7947415,20.535514,1.9362744,1.972163,31.0243676,26.2889603,53.005126,13.6503781,33.4214789,66.7547638,31.4380098,50.5160267,24.9830257,4.0254387,12.9577851,10.5889312,31.4304586,20.4862388,1.8809501,1.9065432,30.9524405,25.9051515,52.5517045,13.6786127,31.5659645,65.8445338,30.6943658,50.3162777,24.8520775,3.9705248,13.1339873,11.1622393,30.9468785,20.7627668,1.7997545,1.8366356,30.2412985,25.198541,51.6830995,14.3245641,31.0140524,65.6755354,30.7705847,50.5290668,24.6045767,3.8928919,12.6174395,11.0358644,30.7985009,21.209741,1.7406769,1.8243513,29.4539312,24.2877686,51.1414936,15.0103238,31.5260499,64.2735023,31.0330806,51.0625245,24.5685556,3.8333771,12.5911082,10.8693548,30.2982018 +1013,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5797521,4.7431078,47.3971333,39.8652423,68.7952225,13.7619094,29.9805951,57.2656948,24.2801377,34.4830535,14.579738,2.5410491,14.6824693,10.9464468,38.3286834,36.2207615,4.5852047,4.7445983,47.1604854,39.5572295,69.0158894,13.2837008,30.6431408,56.5699232,24.5636448,33.8398763,14.365528,2.5593562,14.9573635,11.0863348,38.9453786,36.2829724,4.5555041,4.7193735,47.4917228,39.7355823,68.9868155,12.6197025,31.0932255,56.6593577,24.504856,34.5492362,13.9752817,2.5768346,14.7264102,11.3711202,38.4889198,37.120807,4.4229235,4.5289246,46.7774841,39.0931499,68.9976211,11.8342259,30.8064805,56.4771481,24.0808854,34.4614985,14.1110927,2.6925123,14.4770229,11.2797209,37.7162925,37.2741726,4.4672531,4.6301764,46.1127127,38.383715,68.4150778,11.2350657,31.0026574,56.7055901,24.0948209,34.2663304,14.2805645,2.6322454,13.9291047,11.2215654,38.2641448 +1014,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3.9593391,4.0571702,41.5460609,34.9667017,87.9389369,9.9958751,30.0301578,56.4397209,25.8557831,33.9754087,14.9923355,2.2246892,17.5137626,11.3640989,38.7014654,29.4899924,4.0661093,4.1471906,42.9763656,36.1912151,88.189437,9.3237929,29.3578251,56.5069003,25.2111349,33.2934561,14.7174607,1.8136823,17.6236222,11.7548176,38.5960324,31.8139911,4.1781781,4.3126598,44.4863455,37.6170646,87.8799753,9.4757071,29.7521509,56.2300169,25.3777515,32.7699098,14.2438778,1.9516319,17.9592753,11.5937259,38.9596851,30.8154206,4.3010208,4.3737939,45.4997745,38.3744585,87.8294852,8.8472461,28.179543,55.3648304,24.4756901,31.757844,14.2461278,2.109486,18.6731575,12.3865321,39.9116536,32.2642362,4.425629,4.5264373,45.1699621,37.8755353,87.8799874,8.7712208,28.218035,55.5756422,24.0747104,31.7311203,13.5260176,1.9566134,18.1791523,11.9090431,39.0656596 +1015,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3.935302,4.0578861,37.8079246,29.8850717,58.8997486,10.7187352,24.7459462,59.8403402,32.5691615,44.6407464,24.4133744,3.7869163,13.5474433,10.8654414,40.6456078,25.2439742,4.1876974,4.3200895,39.326412,31.4099598,60.1280419,10.6528885,24.6020948,59.4199778,31.8720345,43.6877186,23.4197075,3.6949035,13.9414496,10.9998954,40.8579023,26.3094189,4.3407732,4.4728321,40.8811328,32.7199274,60.8648682,10.5497402,24.1794051,59.455764,31.3998469,42.5064771,22.2248061,3.5604127,13.9194859,11.012974,41.0284893,27.0786295,4.4139295,4.5318582,42.6979486,34.3916407,61.234525,10.4540749,23.9911798,59.4365343,31.1985082,40.5487819,21.0844962,3.562896,14.2327808,11.1198606,41.1337485,28.0030302,4.5744591,4.7093989,43.7497485,35.3902185,62.4960218,10.7816017,24.1301452,58.8748395,30.6841239,38.9552182,20.169929,3.591203,14.2245795,11.2438223,41.48222 +1016,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3.5479709,3.646333,37.285919,30.1146621,71.2951079,16.9048359,23.8849831,60.7597796,28.2653551,41.1993897,17.4498158,2.970686,13.3692523,11.0621035,34.2148524,23.1179168,3.7696498,3.8703048,38.4256266,31.2499829,71.7213932,16.3543293,24.7398575,59.8447071,27.6692678,40.0912126,16.832072,2.7933356,13.6864344,11.4624024,35.0799931,23.2693651,3.8741409,3.989638,39.7494848,32.6648074,72.2954234,15.8198765,25.3222571,59.5149632,27.1914122,38.9542136,16.7337946,2.7795633,14.1265904,11.4216659,36.0279922,25.7658335,4.0658691,4.1819148,41.1561945,34.173041,73.1167995,15.1173758,26.3710637,59.3248689,26.884211,38.3819633,16.0278901,2.5096173,14.3018634,11.2169281,36.4536142,27.1731894,4.0380424,4.1728927,41.6215819,34.8737615,73.1421794,14.1895047,28.0091472,59.2285632,26.8733176,37.8371893,15.4519482,2.4530663,14.1393632,10.9621592,36.151657 +1017,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.2270292,3.2446904,39.2541098,33.4277797,52.9245573,17.8706817,28.4532104,60.8513606,29.9401207,50.3957347,25.3597114,2.5779407,14.2891697,12.0781225,35.5378284,23.0061614,3.3585375,3.427149,40.6015315,34.3873556,52.9835594,17.6626035,28.8082164,60.1553464,29.6894231,49.6291102,24.6116861,2.5388349,14.4822705,12.0978997,34.983561,24.1359673,3.5894403,3.680539,41.8397389,35.3715599,53.9214798,17.4295171,28.2794884,59.5732703,29.4537206,48.4195953,23.515522,2.472341,14.0071611,12.068966,34.5598,26.5405679,3.5383212,3.5929425,42.2705222,35.7593,54.0194292,17.5773186,27.9941943,60.095163,30.0753665,46.3250635,22.0611399,2.5570072,14.1313697,11.5976935,34.7141602,27.6276973,3.6538478,3.7211192,43.2626251,36.8163933,54.4708606,17.6591584,28.9703802,59.550898,29.4743531,44.2826577,20.8434076,2.5301208,15.0789853,11.8536135,36.3294363 +1018,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7526745,1.8358114,28.9454988,23.9745229,51.3032708,14.4082044,32.3367384,63.629723,30.431779,50.7508343,24.3011456,3.3520951,12.7697086,10.6160844,31.0442283,20.5213891,1.8504353,1.9218339,29.1586673,23.9274369,50.8301336,14.4274883,32.9450088,63.1746345,30.0698899,51.3595704,24.4508992,3.6879165,13.1012016,10.7963948,30.5349979,21.0481485,1.7434814,1.8146953,29.2642528,23.8451317,50.789533,14.8445745,33.1431794,62.4927516,30.2022385,50.6943881,23.8929186,3.7871076,12.7311802,11.082839,30.8400162,20.0988826,1.7915007,1.76482,29.4823433,24.2546864,50.8076367,14.8841193,35.09796,62.8767301,31.0751923,48.2162892,22.7412775,3.8918285,12.6960746,11.1224712,31.9343295,19.7151046,1.9799501,1.9546634,29.4403718,24.0697899,51.5668507,14.7412089,36.652711,63.6286526,31.6773591,47.143164,22.1751398,3.7865464,13.1074775,10.2754039,31.5517601 +1019,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1634119,2.1634119,30.7702239,25.2490357,41.535172,14.67362,39.784802,67.467193,37.1478684,50.7328855,29.2962438,3.306823,12.189624,10.7287451,33.7964212,24.5996983,2.1600918,2.1179575,31.0575366,25.6115056,41.0582364,15.3884116,39.8425829,68.4849214,37.8253102,50.8055348,29.4828795,3.4310806,12.5082842,11.3974026,34.7570284,24.4607753,2.5392878,2.4973319,32.0916081,26.2666634,41.0979255,16.1300836,39.4068915,68.5771252,38.2264468,50.4133072,28.6815303,4.0403048,12.2754493,11.1617672,33.8456971,22.4435146,2.782317,2.7425623,31.9006215,26.1174902,41.8510365,15.9437059,38.8982308,68.4656437,37.4745507,48.9619323,28.0198382,3.923871,12.8294585,11.9645123,34.104473,22.3054682,2.7253767,2.7253767,32.2489556,26.3714602,42.9191403,16.8396312,37.8317373,68.885666,37.0869296,48.1002398,27.3070893,3.6498033,13.6993261,12.7165719,34.3396259 +1020,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8133472,2.8461958,33.2634718,27.13802,43.3158971,17.1486484,37.4437131,68.1043386,35.5544769,49.73178,28.0096029,3.4997982,13.3355406,12.7893232,34.2378666,22.4325436,2.8972995,2.929932,33.2906524,27.4874868,43.859837,18.0293294,35.0559993,66.0638078,33.22162,51.502421,27.1672003,3.4281182,12.9863886,12.6042177,33.6209673,20.1654562,2.8861741,2.9694497,33.382136,27.4844813,43.9351116,17.9416318,34.1947601,64.6854528,31.9306939,52.775598,26.9511352,3.0892824,13.355605,12.7005432,32.6699734,18.6031569,2.9759886,3.0997682,33.8760233,27.6747305,44.2266845,18.0500961,32.2953047,63.5387329,30.7524323,52.6388593,26.5879378,3.0688853,12.8419683,12.1385607,31.6949715,18.3046482,3.0165898,3.1180096,33.4599724,27.4234846,44.4341827,17.6082226,30.8964796,61.3104872,28.8858793,51.9693539,25.4092905,2.4928,12.1123841,11.5159242,30.8754504 +1021,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,4.0437505,4.1608701,41.9731762,35.2502365,73.0725719,13.489854,29.8294187,59.1454577,26.7809189,37.3637651,15.4398961,2.5193454,14.5654385,11.7675279,36.3388996,29.4653895,4.0486232,4.09948,42.8667544,36.353462,73.7616706,12.8553875,30.4133503,59.2218533,26.3582314,36.879602,15.0696673,2.4189768,14.2210504,11.8281376,36.6907631,29.857669,3.982414,4.041864,43.3033071,37.0865384,74.1162454,11.6972763,30.4613897,59.2274397,25.7392859,36.8091165,14.8862022,2.2836344,14.1116557,11.4008102,36.9801239,29.9759441,4.0591896,4.1262201,44.0595601,37.9339669,74.0079747,11.138338,30.7537644,59.7761375,26.1958516,36.9705465,15.2601067,2.3111604,14.099258,10.94809,36.7713535,31.7019976,4.117627,4.1485723,44.441678,38.1677602,74.1320773,10.8410107,31.1329117,59.5853717,26.4313101,36.8928034,14.8421272,2.3854954,13.9384324,10.8482325,36.378001 +1022,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.4369156,6.6747263,50.8062726,42.8488572,61.5340884,12.5235292,33.8952433,60.9564355,26.4612617,37.5724503,18.4474381,1.8388919,14.7063698,12.8236164,42.2830164,42.0928501,6.2572853,6.4878091,51.9977009,44.1413396,61.9181573,12.644449,34.124485,60.7028495,26.3467983,37.4778954,18.7120184,1.6945641,15.0151768,12.7531074,42.7365381,42.1077908,6.4710491,6.6224391,52.0792887,44.5154864,62.2805266,12.4956925,33.6851891,61.1592612,26.1766191,37.0764485,18.8406876,1.8511597,15.5060948,13.7444233,42.8925487,43.1811027,6.8190229,6.9684761,52.5512396,45.04629,62.6034424,12.661761,32.9226492,59.8924441,25.3212295,37.0188083,17.9275369,2.1693237,15.8552607,14.2409143,42.9440041,42.811115,6.9230168,7.0607927,53.2448853,46.0997269,62.5849605,12.6948077,33.3735659,58.6846492,24.9484899,36.7234656,18.0764093,2.3998019,16.77236,14.4919122,42.8013797 +1023,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.0820481,3.1823618,34.1054173,28.179851,44.1336363,18.1162331,30.4127129,61.3451335,28.6346607,52.7718966,25.5704976,2.6705486,12.0420286,10.941305,31.1617582,21.4039773,3.5196948,3.6174321,34.9924243,28.8224252,44.0947548,18.7460714,29.6841855,60.8820348,28.9206439,52.2143482,25.7369017,2.9219981,11.0179754,9.8011347,30.3589295,23.4981,3.5711862,3.6371688,34.6494955,28.3817464,44.8706946,19.0590987,28.4689584,60.0011056,29.0603274,49.4938703,23.9610846,2.8220427,11.3693546,9.7132381,31.0058707,25.0877515,3.3036981,3.3685792,34.9185536,28.7383427,45.1941333,18.6415376,28.5475905,59.8041007,29.1299194,46.2860221,22.7334571,3.1598271,11.8603094,10.0946982,31.3507229,26.1594986,3.5879311,3.6261336,35.8891534,29.8305086,45.8015054,18.350578,28.5213071,59.7156155,29.0961529,44.9718852,21.3069111,3.1192225,11.1775738,10.0484526,31.5101589 +1024,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4.1280885,4.2051238,39.837762,33.1049389,83.900259,12.2595625,30.9101412,59.2572654,30.1751805,35.5475099,16.4968029,4.0842419,15.196384,12.2830603,40.287907,28.1034461,4.4253384,4.5770796,41.7342977,34.6227369,84.378093,10.8987816,31.1059594,58.1781865,29.7692156,35.219645,16.9296037,4.7580842,15.9150904,12.7098077,41.5640838,31.049412,4.8791989,5.049769,44.0639824,36.384976,85.2981014,9.8973305,30.5618908,56.7406327,28.1220036,34.1699122,16.0178345,4.8367513,16.6970691,12.6059991,42.7566051,33.8859355,4.836569,5.0181899,45.1063301,37.3681201,85.0447052,9.0787589,30.3520359,56.0159385,28.6586944,33.5089235,16.4872392,5.0993203,16.359079,11.6891335,42.1864492,33.6884509,4.9081676,5.0970451,45.4467295,37.4510953,85.908676,8.9663399,30.9067994,55.1113807,27.1216973,32.6418409,16.4509375,5.4092354,17.7691743,13.0728102,43.3019693 +1025,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,4.1948432,4.2538024,45.0050238,38.7968669,74.4334584,10.276442,31.2478416,60.2181725,25.8726099,36.8324798,14.9650995,2.5043639,13.9794304,11.1249085,35.9363502,32.5082444,4.5279881,4.5545983,46.724854,40.3987913,75.2191939,9.9261035,30.6687893,61.1628956,25.3618366,36.5413593,15.0141463,2.4371939,14.1808665,11.4319853,36.3088783,33.0508559,4.6596733,4.6828419,47.159176,40.4300986,76.2540464,9.4638456,30.501082,61.4224719,24.8145642,36.7150247,14.3975536,2.3817315,13.8525815,11.4185055,35.5551455,33.1975048,4.7003519,4.7507039,46.7836585,40.0810012,76.3867566,9.125686,29.7933922,59.7934022,23.8760274,34.9834801,13.4628019,2.4214797,13.8841943,11.0605964,35.4668543,34.1872228,4.8003774,4.8788219,46.8800299,40.1080312,77.072546,9.0392171,29.004499,58.5852727,23.4758498,33.6312034,12.8695396,2.5805851,14.1564053,11.5003429,35.9040425 +1026,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0382281,2.0023028,30.2402741,24.6837254,52.3723044,14.743291,37.5852289,64.5125795,31.5950356,46.4281199,22.5798102,3.8299881,13.9027628,10.3996578,31.0280187,19.1359889,1.9676479,1.8785001,30.8976839,25.5020097,52.9505403,14.3148535,37.8434612,64.6371083,31.630452,46.2373152,22.8483625,3.8820149,13.662946,10.1458571,30.7742316,19.8014039,1.9736347,1.8842992,30.6050582,25.2821251,53.0654248,14.2843572,37.1222916,63.9789393,31.7330315,46.5616851,23.0052076,4.3807677,13.1940745,10.1889895,30.6607239,19.7718315,2.145005,2.0477654,30.9070621,25.7282484,54.0586954,14.2885311,37.4023117,63.2407797,31.4873883,45.7066695,23.2193866,4.365852,12.9975921,10.3306471,30.414078,20.7167898,2.2083354,2.1098497,30.1301509,25.0548699,54.4312308,13.352782,37.7428472,63.7489889,32.2257953,46.2450967,23.9307179,4.3100403,13.2324738,10.1033354,30.5078273 +1027,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1455423,2.1798673,29.1561273,23.7503489,52.3828581,13.7111499,36.8729355,66.6811144,36.9769194,48.8380552,27.9539769,3.5765723,14.7598722,12.5354441,36.972482,18.6716869,2.1022183,2.1252028,29.4881988,23.7838694,52.4277258,13.628308,36.2785781,66.5219692,36.914505,48.7922225,27.2475404,3.259757,15.3675849,12.2872158,36.5628241,18.5679775,1.9579925,1.9853701,30.0602704,24.3547126,53.2162216,14.1509351,35.7103366,67.1242306,37.018695,48.3956661,26.1666117,3.2832768,15.7396588,11.8546478,36.0015296,18.2356729,2.0806281,2.1066314,29.9624437,24.2844894,53.6778067,14.4566355,35.2840071,68.0664668,37.5864902,48.5980447,25.2390619,3.4350218,15.5787307,11.5247844,36.2180261,17.5079289,2.194223,2.2204575,30.4256184,24.7479346,53.1863494,15.1019272,34.2162743,68.914944,38.0094448,48.6829301,25.3378956,3.4989458,15.4576324,11.094215,35.1786978 +1028,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.6469542,3.6670937,36.6555195,30.8218279,46.7429429,17.9692298,29.354949,58.3549181,27.9507251,44.163911,19.8993274,2.9188306,11.7209678,10.8327847,31.4256733,27.457608,3.8294064,3.8721795,38.510689,32.6744269,47.4614426,17.7988787,30.3632774,58.4387916,27.8307887,43.0014179,19.4076131,2.9018574,12.4190267,11.4512347,32.9843463,30.0631003,3.723369,3.8047269,40.5067308,34.1488507,48.0167129,16.9690365,31.5118478,57.1939925,26.896033,42.252106,18.6577855,2.8141456,12.3350289,10.9261993,32.9656029,29.8512016,3.5573828,3.6465255,41.3450723,35.0844584,48.6890609,15.8572845,32.6742846,55.5172624,25.9639869,41.6099965,17.7704624,2.6384832,12.834096,11.6217374,33.5745072,31.5543569,3.6767346,3.8501732,42.9900465,36.4761335,49.1107416,15.1194125,33.9557776,55.1057391,25.3345066,41.1410146,17.2643987,2.818736,12.8408992,11.4090724,33.1949672 +1029,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5832904,4.7055439,45.8840051,38.2385545,68.2177394,10.6078603,31.1373559,57.5331469,24.9172221,34.4016102,14.9124339,2.6608777,14.0786975,11.4307511,39.0461149,38.6058069,4.5872824,4.7160745,46.2432572,38.5378072,68.2305294,10.3080723,31.5723064,58.6665449,25.4299616,35.0122133,15.2221792,2.8032615,14.6200224,12.0446834,39.1972793,38.376045,4.5461367,4.6762646,45.3526178,37.5862347,68.3154056,9.9978676,30.9899268,58.4048575,24.9394734,34.6863788,15.1044568,2.7613136,14.600147,11.4720716,38.7104073,38.6725427,4.5217084,4.6660918,45.7563408,37.9190005,68.4806658,10.0323987,31.0142762,58.5122767,24.8356193,34.5858132,15.2388496,2.7279034,14.5822435,12.0079686,39.2824982,38.2468596,4.5203503,4.6609398,45.0370284,36.9066191,68.8687583,10.0955967,29.8485047,57.7620458,24.6160887,33.4810047,15.145954,2.6270524,14.911012,11.7370908,38.5873939 +1030,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.3224754,1.3335832,24.9879846,20.5200528,80.2631663,9.1658632,32.7395387,64.5002387,28.4837021,40.7161951,20.4705732,13.0532615,14.8545357,11.4938246,38.6844106,11.9590571,1.3674829,1.3926486,25.5325273,21.0860137,81.6426045,9.3341959,32.3690111,64.6013988,28.1038324,40.2696894,19.9774252,13.1816584,14.7072987,10.6970527,38.6082136,11.7044715,1.3362304,1.375089,26.7380551,22.3284803,82.9611639,9.4698311,32.1432697,64.7496734,27.4416671,39.670534,19.3281712,13.2547772,15.0357186,10.5959455,37.9952028,12.2022122,1.4623288,1.5095064,27.165742,22.8563502,83.8722688,9.9243965,31.526558,65.5044877,26.6920676,39.2503691,18.2857426,13.1896244,15.0057426,10.5837704,37.9026714,11.9749894,1.6135227,1.6568858,28.3795666,23.8587315,84.8336029,10.5093388,31.0110673,65.0861534,26.0926588,39.1703746,17.6024146,13.0035358,14.9747971,10.7355618,37.7543931 +1031,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.523907,3.5809764,37.602971,30.8952042,66.268495,10.6815983,26.3796579,61.0151096,30.6696769,38.1124174,16.056108,3.314024,13.2674698,11.4004007,33.6691511,25.147154,3.8372084,3.8875868,39.1423774,32.7119585,66.3608818,10.0636121,26.5218216,61.6920271,30.6981739,37.9791247,16.0126327,3.4763385,13.4444903,10.9584865,33.8272918,25.9062795,4.0443389,4.1077071,40.8929868,34.2959728,66.7674063,9.7791232,26.3959399,61.2695685,30.2992784,37.6754539,16.2542962,3.4974207,13.120857,10.2569667,33.6621293,27.2711502,4.0667793,4.1297465,41.4747528,34.7533634,66.5129082,9.4384566,26.7970863,60.7235131,29.7114733,37.1822257,16.3108453,3.3820388,13.7413495,10.6357531,34.0660215,27.8679027,4.2367991,4.3006118,43.1183307,36.0081578,66.7372095,9.1768036,26.509543,60.2140528,29.5279023,36.2017356,16.0485762,3.2892697,13.6541106,10.6406082,35.0621333 +1032,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.5145579,1.5406965,22.4587704,17.3955381,84.1640971,11.422457,21.1638641,58.9405003,23.4595668,45.4892318,16.1297092,3.846167,15.5455843,12.1622641,33.3196606,8.3747885,1.8052954,1.8305673,22.302548,17.5565874,83.7212253,11.5901562,21.3314628,58.4817965,23.4278269,45.2833632,15.8579427,4.1731438,15.2908503,12.5981217,33.661434,10.1160415,1.7551446,1.8103041,23.5025416,18.6085109,83.9444253,10.7707644,20.9812448,57.636194,23.2340631,43.4325832,15.330314,3.8755372,15.7476981,13.0844627,33.6487646,12.2143609,1.9829473,2.0368984,24.5172189,19.6531782,84.1508443,11.3058723,21.2013015,58.1770461,24.5696428,41.7102418,15.1010451,4.2103377,16.0856571,13.7518062,33.903875,13.4309148,1.9984954,2.0293747,26.2066068,21.2385949,84.1913535,11.645346,21.1238898,58.9945407,24.6477076,40.2633489,14.2618458,4.0244951,15.476175,13.6625068,33.7798357 +1033,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0490874,2.0516379,29.7106171,24.9835905,55.6020981,12.675199,36.6766505,64.2361486,31.8925707,46.4164538,23.7263663,4.407072,13.7466901,10.5778779,29.2832031,21.2710238,1.9942948,1.9968766,29.905042,25.1904288,55.1072791,12.6003965,36.7400045,63.8195218,31.353892,46.0110019,23.7476045,4.5675863,13.1193861,10.5977665,29.4925077,19.7498306,1.8773925,1.9148986,29.1282348,24.5057062,55.9273109,11.8857637,36.3335687,62.9007046,31.199582,45.8490341,23.0124619,4.4835257,12.7522496,10.3510413,30.7830204,19.8195515,1.8371398,1.8777958,28.5654076,23.7758776,55.4868459,11.5624643,36.3813573,63.3353702,31.9774497,45.929404,23.6872416,4.6847499,12.9280274,10.4612102,31.3660383,17.8859375,1.6982818,1.7480374,28.2260643,23.3939375,55.8804638,11.3925996,36.6124073,64.6775755,32.668584,45.3192905,23.9873939,4.3391768,11.8687978,9.6906464,30.8125466 +1034,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.011033,3.1214693,39.4120103,33.4747922,61.8990786,10.5801925,24.6394317,58.5268961,26.6320948,42.5856549,17.9280791,2.8178316,14.8581321,12.15144,32.3823468,24.3015728,2.9016264,3.0047865,40.122904,34.2193409,61.9526349,10.2747755,25.3701775,58.5950396,25.9600496,41.2724225,17.0039097,2.7867853,14.4713789,11.7253432,31.8953735,25.0611598,2.9701953,3.0753567,41.09052,35.2968413,62.4091873,9.650178,26.3604108,57.325701,24.2897606,40.0853123,16.2474464,2.7389601,14.7625833,12.3104055,32.4469009,25.7079155,2.9019993,3.0269132,42.1332116,36.2701388,62.5576704,9.5691749,27.0693618,56.327202,23.2885043,39.247218,15.7265425,2.7850442,15.2857818,12.3228027,32.8522989,26.3618149,2.9349966,3.0233075,42.6757009,36.9605253,63.0487591,9.1657115,28.3785631,56.1157101,22.8571853,37.879493,14.9693367,2.7607466,14.8912036,11.8931859,32.6639074 +1035,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,4.5482474,4.6404356,50.5995871,44.3181835,63.9977975,10.9883979,33.2760585,56.8187344,24.6030634,37.197902,15.7642366,2.5414679,17.077424,14.0525326,34.7491482,35.8487114,4.4283195,4.5319253,50.5333328,44.2260863,64.2164493,10.7065883,34.1570811,57.3111888,24.9727855,37.4441408,15.800618,2.6163153,16.9672481,13.7718925,35.2834097,35.1527069,4.4931702,4.6239185,50.3409706,44.0858239,64.7032745,10.1356721,35.0619639,57.5242494,25.3283123,37.0504787,15.9138493,2.5592255,16.7444243,14.08012,35.6257553,34.3803925,4.425402,4.5271914,49.862662,43.8708977,64.9599163,9.790124,35.1127551,57.039511,25.0879918,36.5337166,16.0539789,2.6528474,16.6885574,14.0436199,35.7653732,33.6565046,4.2440609,4.348393,49.1095392,43.250373,64.7567984,9.5702437,35.3287822,57.3711234,25.3444159,37.1609408,16.0985767,2.7339878,16.3203626,13.6691812,35.9052898 +1036,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.3541926,4.4073039,43.27214,36.8435476,52.5870348,12.5403148,36.0526454,56.2943866,30.6036898,42.5004533,19.8406983,3.0082428,14.9431069,11.8302914,37.7128176,30.8298415,4.474162,4.5613151,44.6030348,37.9173219,53.0800254,12.5923023,37.3532901,57.1431741,30.5938192,41.8675839,19.742139,3.2047186,14.5115186,11.7638286,36.8395453,32.7834635,4.612044,4.6982725,46.5658158,39.7556204,53.5774458,11.3691238,37.6903586,57.7262542,29.5730354,42.0620439,19.5800808,3.0170792,14.8707345,12.3670652,36.9838184,35.6295393,4.7488158,4.8378034,47.5176068,40.3334926,53.6578037,11.2595196,38.7602414,58.0399273,30.2152536,42.672979,20.025189,3.0966523,16.3235148,13.0028486,36.1922285,33.7050919,4.7571966,4.829066,47.8497962,40.6413095,53.1451317,10.5630587,38.4236088,58.4754326,29.5626054,42.2066303,20.3902697,2.6121656,15.8728571,12.5787346,37.475724 +1037,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4594579,1.5034027,27.5503428,22.7616737,55.6158623,11.2807849,36.5416318,65.4284433,33.7222201,46.3496956,24.2027758,4.1935215,11.8379408,9.1904024,31.1407624,14.1796003,1.4424844,1.4873727,27.3450478,22.4802496,55.487305,11.1612138,36.7546825,64.9798595,33.7913204,46.2305424,24.3153835,4.1390789,11.4474963,8.7723976,30.92426,12.8792451,1.4515359,1.5141125,27.248658,22.0295466,55.0115204,11.7803029,37.2944377,64.8570154,34.3403002,47.0096386,25.238868,4.395084,11.0100772,8.3989177,32.1828913,11.6704355,1.4101136,1.4718054,26.4036433,21.6401947,55.9731947,11.5916369,37.425151,64.9975645,35.3087675,48.1697193,25.5094528,4.4815236,11.7259618,9.2277676,31.4304371,12.9914905,1.4361632,1.470804,27.0300653,21.9951792,55.490691,12.2945887,37.5919598,65.465479,35.9144455,48.5661417,25.8382973,4.7570482,11.7482135,9.031034,30.4558866 +1038,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5501301,1.5847846,26.5722029,21.6070776,55.5972332,12.583595,37.3217747,65.7291529,35.4239131,48.3081609,25.8550608,4.5603725,12.1765724,9.8197159,30.5116807,14.3015236,1.5606985,1.5958475,26.1545392,21.3660943,54.953305,12.6425249,37.1502694,65.5774139,35.3508444,48.2465851,26.1296021,4.6823492,13.0599441,10.5455639,30.1047294,14.3628263,1.6055722,1.6400316,26.2454031,21.6273902,55.3041709,12.5291453,36.2174317,65.3364877,34.7792221,47.7615091,25.3237125,4.4393178,13.1011447,10.8130552,29.8029416,15.0319552,1.5948513,1.6342481,26.6956429,22.0471278,55.7543363,12.7755492,35.7056622,66.0241975,33.9506643,47.2030617,24.34754,4.2843403,13.2343221,11.4273248,29.6237611,14.9122583,1.8087089,1.8641855,27.0414434,22.2903764,56.2114403,13.2053345,34.8679042,66.3187776,32.7874732,46.5568559,23.2846191,4.4209855,12.8873021,11.3590034,29.0125196 +1039,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8814443,1.9461114,27.8811101,22.6590228,56.477983,13.5684709,32.989053,65.9230581,31.3601393,48.0044409,24.0604732,4.1255032,12.583477,11.1735786,29.8546727,14.6995495,2.0068871,2.0633757,27.5045213,22.6034076,56.3202078,13.9382664,31.5500647,64.2836431,29.6389284,49.5294729,24.5738266,3.9810142,13.2864233,11.7527199,30.0442567,13.4156871,2.0391391,2.1238991,28.0352229,23.0210765,56.8326145,14.3079945,29.9495309,62.739754,28.9387789,50.7897146,24.4390436,4.2685144,13.0847472,11.4347707,30.6668829,13.0525669,2.3863835,2.4670901,30.0136167,24.4267562,58.163825,14.8130341,28.4396904,60.7944978,27.6201249,51.2629607,23.5518838,4.0143026,13.6223631,12.0526815,31.3241266,13.89211,2.6078409,2.7197389,30.6028618,24.7439601,58.3704814,15.5791965,27.6598301,59.3324076,26.5343457,50.8348693,23.2206975,4.3173726,13.2685738,11.7603709,31.7925413 +1040,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,4.1750688,4.325119,48.9990089,43.0892286,64.6176054,9.3997889,35.9211443,57.412208,25.5985708,37.397878,16.3225848,2.5878143,16.7829323,13.9139459,36.5542922,34.4461485,4.0261936,4.1709824,47.8422744,42.1276117,64.4520055,8.94672,35.8701758,57.5830439,26.056789,37.8053821,16.7238647,2.5597055,16.5177548,13.5335358,37.3098982,34.6410505,3.9896601,4.1356025,47.0402416,41.1594053,64.3282159,8.8677814,36.3802927,58.3265358,26.7711385,38.2125247,17.121341,2.6805135,16.3437598,13.8919754,37.7303156,33.9430036,3.9821263,4.1025714,46.270309,40.0476895,64.4768886,8.9967214,35.3317851,58.2883478,26.6319839,38.3395841,17.2443771,2.4615621,16.2336041,13.9200868,38.1564656,34.8586512,3.870424,3.9816436,45.0754677,38.6482037,64.2322384,9.1073051,34.090882,57.2930512,26.682438,38.1885579,17.3066154,2.3812769,16.8540912,14.3308001,38.4007999 +1041,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.825218,1.8587704,29.5531195,24.9043131,85.3665754,10.8438668,30.2283369,64.3852423,24.9121771,39.7248274,17.7693197,12.7341892,15.008141,10.4718741,37.5264238,14.2047997,2.0746254,2.142701,31.2408601,26.3628118,86.0040194,11.3014926,29.1374944,62.8326329,23.4418779,41.1706392,17.8979933,12.4124631,14.8835645,10.2306818,37.6749037,14.8393981,2.3556084,2.4148926,32.4164251,27.2359951,86.3896005,11.4222483,28.0919026,61.4866416,22.2881163,41.8182933,17.8661907,12.0048341,14.6991056,10.3181938,37.8734852,15.3584307,2.6822382,2.7528173,34.0329273,28.5161344,86.4147301,11.5341782,27.2167705,60.1773387,21.7835748,42.1721503,17.8188188,11.5610508,15.2071159,10.842154,38.2768018,16.8567123,3.054206,3.1227792,35.4975358,29.6536556,86.7467881,11.7579427,26.1147638,58.9625236,21.3666136,42.0271371,17.5080608,11.0808404,15.0033385,10.8351896,39.366972 +1042,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.9543618,5.0016022,49.2119919,42.016271,54.3787385,10.3241194,39.7037427,58.6045474,29.1026763,41.2465107,19.8928749,2.6126282,15.8155316,13.388769,36.121203,39.2292143,5.7345399,5.780383,50.6051909,43.006606,57.0835279,9.7467512,38.7123821,58.1440509,27.9151678,40.3511831,18.8257021,2.8237917,15.8894117,13.1200395,35.9368829,39.582044,5.4035345,5.4843479,50.0730055,42.7644631,58.7505278,10.0197294,38.2519492,57.119731,27.4734149,40.324408,19.0418545,2.5915116,16.2905859,13.2219229,34.6725552,37.9354578,5.3504524,5.4733004,50.996642,44.2101194,61.1636736,9.7148923,36.9904148,56.2493155,27.1322112,39.9676226,18.8170694,2.2635603,17.9442019,14.1797175,36.0032084,35.3540595,5.0530118,5.2379946,51.0695726,43.9725292,62.7707744,9.6610374,36.8306287,55.6714062,27.923901,39.4004772,18.1965701,2.262032,17.2545492,13.806645,36.6884001 +1043,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,5.3893906,5.5728133,47.5790526,38.9204875,86.0833869,8.8392153,30.127148,56.2477266,26.6749814,32.1764483,14.8568766,5.3202745,17.5919648,13.4156257,42.5405224,37.0371398,5.4636209,5.6997242,47.1889594,37.8767724,86.6431375,8.7419315,29.7599349,57.0462035,27.5891347,32.4038659,14.0264718,4.8375729,17.4638626,13.5956526,42.1887072,38.8559015,5.5665876,5.7496871,47.533548,38.6292793,86.6621633,9.0437137,30.0053583,57.7897189,28.6921106,32.7804247,14.4316704,4.7913137,16.7502095,13.357229,42.2704259,39.1946929,5.1909216,5.3273456,47.5745697,38.3892518,86.8639403,9.3156261,29.7141123,57.887247,28.9464014,32.4199107,14.0824616,4.5844285,16.7701981,13.1008445,43.2657447,38.6986968,4.9017811,5.078598,47.5389156,39.329074,86.6169822,9.2168558,29.678587,58.0940432,29.9303712,32.3766601,14.7787504,4.7717759,16.7709817,14.6803004,42.8892874 +1044,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2876444,2.3477538,31.5501143,25.5315337,53.8124862,15.7074085,33.3678917,68.8744688,36.5372624,49.73034,24.8109336,3.3453854,15.3003021,11.9720725,35.3698735,17.0086526,2.5120204,2.52873,32.3773822,26.1021586,54.7853233,16.1605242,31.0872187,67.4311923,34.7302784,51.0073286,25.0279114,3.2204968,15.3087275,12.3640446,35.435039,17.5857946,2.6452599,2.6546603,32.8540564,26.4769384,55.5190765,16.2954547,29.9110871,66.0279636,32.6669148,51.2577097,24.925039,2.9897669,15.0675976,12.1538251,35.0220133,18.0335498,2.7539612,2.7752997,33.8895702,27.290555,56.1825204,17.2554555,29.1924178,64.4935685,32.1004241,51.8692222,25.1179718,2.7738527,14.7830225,12.071036,33.5936164,17.3342305,3.1520572,3.1778051,35.3927337,28.7137495,56.2694666,17.364554,28.8867169,63.5531023,31.979413,52.2602645,25.4882798,2.6869663,13.987739,12.0385434,33.7735807 +1045,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,4.5990454,4.7363989,44.4619532,36.8759197,63.3359459,15.3010437,29.8986044,60.0633683,25.8935455,36.3117906,15.9569072,2.040556,14.9226725,11.1713163,37.0129959,33.6172644,4.7826138,4.8768048,45.3565386,37.7990953,63.8796373,14.6272788,30.5382499,60.2167922,26.1525176,36.2945417,15.8360332,1.8813838,14.0080626,11.052093,37.2075257,33.3825237,4.8287906,4.9203011,46.735271,39.1648935,64.4918315,14.3434604,30.6572029,60.5551358,26.9977581,36.5571216,16.4426149,2.0039792,14.5283937,11.4017208,37.2253445,35.1312137,4.7728401,4.8531567,47.5197429,40.1653513,64.6422965,13.3615128,30.9703366,61.1472374,26.9901109,36.1732331,16.3501481,1.9380812,15.0997906,11.5060548,37.3675895,35.4208699,5.0167865,5.0457145,48.2891315,40.570295,64.8233406,12.813096,31.0610237,60.4563126,27.0576648,35.5402893,16.4193591,1.8896933,15.2817294,11.786526,37.3421399 +1046,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,3.3434083,3.4355411,37.065255,30.9814022,86.8695316,11.8994013,25.3402346,57.1202975,21.1159433,41.5187805,17.4033732,10.7512247,15.4040384,10.8466779,39.4083737,18.7842534,3.6089433,3.7046367,38.0611675,31.91413,86.8286628,11.7866549,24.3247628,56.9392495,21.1006667,41.0003193,17.2253633,10.4889509,15.2792732,10.8536325,39.7193242,19.1050264,3.7180635,3.8026549,38.789738,32.6230854,87.311549,11.8897156,23.5698809,56.6928684,21.1699525,40.1624065,16.1839222,10.2668874,15.6433344,11.5360441,39.5582367,19.5887836,3.7929364,3.8751548,39.8640784,33.517508,87.6072831,11.833699,22.767314,56.5360422,21.4104834,37.8240136,14.9301292,9.9989871,15.3345714,11.5964487,39.1942569,20.444109,3.8933311,3.9816653,40.8742511,34.489618,87.8278358,12.0021769,23.0240031,56.53811,21.2061815,36.0801398,13.9851334,10.0281214,15.156154,11.8697734,39.6402878 +1047,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6628651,2.7667871,31.6706527,25.6905979,59.1970833,15.8981548,26.7497908,58.0962308,26.1778047,50.9926998,23.3447961,4.259553,13.4717866,11.3239345,32.0620392,15.3801342,2.7644627,2.8582411,32.3880818,26.2370429,59.1675343,16.1005011,26.3463064,57.0492816,26.6429015,50.4787637,23.2520634,3.9285572,13.4003256,11.3845734,31.605471,15.9105441,2.9622006,3.0455889,32.848129,26.6669733,58.9572537,16.4343108,26.3395811,56.4018118,26.9789793,48.6452794,21.2903623,4.2971898,13.3491281,11.3833799,31.1999439,17.9391047,3.0742246,3.2144659,34.1232707,27.6834668,58.7734224,16.4659589,25.9021424,56.8981482,26.9317062,46.4357248,19.6716014,4.3455876,13.0764098,11.1726842,30.8665454,18.7298234,3.088401,3.226545,34.9480671,28.4977626,58.3330445,16.0214473,26.7850765,57.0995764,26.7866537,44.5662206,18.5322861,3.9584832,13.520701,10.4676467,30.0369496 +1048,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.504867,4.6455091,45.1298035,37.8440233,66.8649082,8.9762135,27.1522042,60.7279855,29.6700433,35.9791458,16.0840932,3.0366535,14.4484602,10.6414906,35.1753888,29.8481677,4.5626736,4.7240406,45.9154025,38.4646496,67.0458714,8.0266964,27.0867244,61.0003364,29.7843279,35.8514164,16.5134474,3.088339,14.535673,11.2286657,35.7164142,32.142012,4.537277,4.7161752,46.7002991,38.9112395,67.1494486,7.7734206,26.6068537,60.8000793,28.7669709,35.007398,16.3763879,3.0376647,14.1725462,11.0110808,35.0925304,32.1654191,4.5939432,4.8268298,47.5793792,39.531326,67.1957378,7.570323,26.2935326,60.6814571,27.7720777,33.7442498,15.9378426,2.8108301,13.7852338,11.1025199,35.7817299,33.8866697,4.6357541,4.8734765,48.1656479,40.1367299,67.5198405,7.753202,26.1165284,60.7463323,27.9195278,33.5175244,15.8506308,2.9842726,14.1154014,11.5450505,35.7076412 +1049,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7671155,1.8841939,30.0526785,23.4323802,52.8954999,17.5696539,27.6798435,63.4681121,29.5196637,50.5715379,24.3785972,3.1441317,15.7610485,15.0379284,40.0894962,15.9392943,2.180895,2.2324287,32.7068307,26.0365419,53.2735776,17.6668162,26.8978541,62.4006619,29.4967321,50.532737,24.2355572,3.1009599,15.5516232,14.2747569,40.3177251,19.880053,2.5337404,2.5889584,34.8495081,28.0588822,54.0538605,17.4351572,26.7271997,62.6628451,29.7743808,49.1746724,24.3346975,3.4043386,16.2954383,14.2260134,41.3983783,23.9782924,2.6866282,2.7079623,35.000891,28.7896272,54.9562576,17.4529287,26.6463347,62.2649743,29.8018015,46.702955,23.1379818,3.2238424,16.6652619,13.4190022,41.8156871,24.7304989,3.0123809,3.0418204,36.6885931,30.665324,56.0552658,17.8757337,26.5238547,61.8874508,29.4885372,44.5019798,21.9241716,2.9225617,16.3967701,13.0598605,41.4100143 +1050,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.9937744,3.092818,43.3416172,37.430392,64.0735881,8.7711128,29.7439242,56.6297515,22.9077042,37.4408906,14.7276789,2.6579196,14.5758091,11.7695188,32.6431867,27.8101043,3.0812239,3.1807029,43.3642253,37.7091198,64.806649,8.2216775,30.3394149,56.6206565,22.580349,36.8830572,14.7735099,2.6757797,14.6019156,12.0342967,33.2804821,27.8815576,3.1062763,3.1836844,43.2845974,37.8118798,65.3854213,7.9338782,30.4758225,56.2814205,22.5889217,36.4367105,14.6049975,2.7683271,14.7868963,12.0535995,33.6272518,28.9116074,3.1376769,3.2220635,43.329365,37.8193677,65.7723619,8.1884186,30.4046212,55.6231143,22.731274,36.3045289,14.4408623,2.782754,14.8569569,12.440921,34.1839958,29.3607105,3.171939,3.2611229,43.0611587,37.617393,65.6513913,8.4645799,30.1417932,55.9462486,23.694275,36.3945908,14.6426879,2.9452499,15.0623501,12.1344586,34.2441656 +1051,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.8239594,3.9331321,44.23276,37.7992937,55.5517373,17.2649039,29.103448,59.4484364,28.4224142,42.8587934,19.7868911,2.3840897,15.2783461,11.8432251,36.0963064,30.191588,3.9085633,4.0055516,45.2867467,38.7174134,56.1664368,17.0555581,30.0197569,59.6119718,28.3538677,42.2292919,19.4761373,2.3345004,15.6441019,12.0600517,36.977567,30.8012876,4.100547,4.2013069,46.288238,39.6712095,56.3589983,16.5424299,31.3609038,59.4439253,27.747808,41.7460032,18.8555076,2.3041951,15.6655846,12.2788885,36.8938459,31.3217503,4.1622447,4.2655739,46.8258954,40.3536108,57.073844,16.4100705,32.3165812,58.7168979,27.0842802,40.7403086,18.1176573,2.3556243,15.6688023,12.4291046,37.8420555,32.5613543,4.1094693,4.1861519,47.2822852,40.7144503,57.3934037,16.182066,34.8289519,58.6077137,26.9744273,39.9504636,17.4628577,2.3348427,15.9341618,12.8955305,38.098438 +1052,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.9631358,2.022791,27.6321313,22.7757831,84.9427228,11.0969771,21.5558552,59.4688121,25.0836226,39.3055641,13.3122715,3.954697,15.9959164,13.7359165,33.2270314,15.1481074,2.0568977,2.111845,28.9586296,24.2474039,85.3255716,11.1415689,23.1124214,59.9740016,25.3701675,39.2486595,13.4529723,4.1265415,15.6407437,13.0014465,33.4172588,15.604965,1.9077051,1.9790371,30.5947056,26.0908766,85.102057,11.281599,23.8556209,60.2160183,25.7231992,38.7952441,13.6396428,3.9728922,15.9498606,13.3787415,33.3213545,17.9243908,1.9242732,1.9964591,32.6505838,28.1262194,85.8871781,10.4464152,24.7401362,59.9295194,24.7773594,38.4371725,13.047471,3.9903384,17.4945393,14.0088188,33.7858469,17.200679,2.0944821,2.1614485,34.7985481,30.4205514,86.4860788,10.2147129,27.1723347,59.7213295,24.6742223,37.7805653,12.2193912,3.8196808,18.0858728,14.6137229,34.1491168 +1053,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.2432868,3.333134,43.4925139,37.9949748,66.0515417,8.0303406,30.7364267,55.8754271,24.0078477,36.3970045,14.8236877,2.8787229,14.9956525,12.3697278,34.6631949,30.7824846,3.2002614,3.3148681,42.9347614,37.4872197,66.5762516,7.8370608,30.8063036,56.5479703,24.4503951,36.8709178,14.9562588,2.8932682,15.8633322,13.0846408,35.0550614,31.3451296,3.1777174,3.2832415,43.1654994,37.8370726,66.7056083,7.7863767,31.1910553,56.9364883,24.6534211,37.1403097,15.2261595,2.8831016,15.9317676,13.2972134,35.5337819,32.1014658,3.1831678,3.2657621,43.0805986,37.7248243,66.2573429,7.7652729,31.0476534,57.7179377,24.9151014,37.1541082,15.0117,2.8640369,16.0844348,13.1785047,35.8914489,32.8253649,3.1283081,3.2126115,43.2342097,37.6374891,66.2495324,7.65964,30.9391232,58.1124889,24.6866547,37.4422033,15.3211712,2.8558212,16.4184177,13.369558,35.8859773 +1054,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.3235856,4.4098695,47.9473405,41.6027501,58.4665544,15.4596454,35.7918996,58.755171,26.9933004,39.5502366,17.0214833,2.3788843,15.9547045,13.1123013,38.2181701,32.7217622,4.538664,4.6129904,48.473038,42.1545962,59.0804732,14.4273019,36.3325418,58.5228547,26.4849108,39.2249271,16.5930427,2.3956736,15.6771095,13.1639198,37.1033969,32.8702789,4.4647926,4.5040526,48.7214999,42.3076977,59.2759392,14.0391755,37.0482004,58.5564538,26.7626406,38.3198785,16.2761931,2.3761722,15.8749285,13.4994215,37.0634618,33.7973771,4.6316238,4.6740624,49.2613961,42.8068517,59.3134362,13.558771,37.0990337,58.1254134,26.6215185,37.4078882,16.0014091,2.5065362,16.5359964,13.7854933,36.952179,33.9094696,4.6262523,4.672645,49.3431142,42.6747962,59.1471066,13.0107729,37.441635,58.255544,27.047682,37.726741,16.2648829,2.5790591,16.8356187,14.4799822,36.8095889 +1055,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,5.3975159,5.4697643,48.3337806,41.0605668,66.1165455,12.4278897,30.8712546,60.5556796,26.6824779,34.9483029,16.3780924,2.0245699,15.1729885,12.0307015,38.0091777,37.1327561,5.5546542,5.6896196,49.0724561,41.7021849,65.9798193,11.8500001,30.3058424,61.6090165,26.6090256,33.8164518,15.8643516,2.1675491,15.5135656,12.0799916,38.6375928,37.1795005,5.7121639,5.8560235,48.9661293,41.5919366,66.3008195,11.3003767,30.2408659,62.0301558,26.4028511,32.8083337,15.179979,1.9984078,15.1425475,11.7726245,38.9945585,38.1640478,5.7899022,5.9607304,48.6181856,41.3666593,66.1485569,10.9633978,29.2882055,61.3192215,25.6489037,31.9641201,14.4902254,2.1808896,15.3867132,11.5866965,39.851068,39.8415789,5.8932952,6.0546498,47.7712933,40.4355788,66.6342003,10.3690875,28.5039254,59.8298522,24.7502075,31.231425,13.6781029,2.1199009,14.2505447,10.9863021,40.0276964 +1056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.0345205,3.0955343,36.8115699,30.0071795,56.5223968,17.629139,28.6902023,61.9212896,30.5501917,50.903008,25.4906717,2.4735221,13.8193802,12.1933212,33.7913543,19.2177756,3.1648587,3.2292021,38.15541,31.2908216,57.2285112,17.6445408,28.5789348,60.7399966,28.9479505,49.9118879,24.6937928,2.3279769,14.4390993,12.579912,34.6099607,20.3477514,3.102227,3.1352067,38.9443735,32.3943029,56.4088309,18.114744,27.5894411,60.939346,29.2913201,48.8566586,23.982139,2.6004622,14.707366,12.5701587,34.7043896,20.6819324,3.1933545,3.2740455,40.0699295,33.44957,56.8212298,17.7114153,27.6458748,60.3297034,29.6844248,45.4767564,21.9648749,2.7018411,15.1762208,12.4038551,34.7695291,22.2169212,3.274486,3.3670802,41.7281926,35.1002579,56.8384757,17.5511161,27.6027587,60.0700346,29.9199038,43.8324605,20.7348274,2.8360024,15.5053201,12.0840107,34.1861913 +1057,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.5421306,3.6708637,42.6414982,36.3680225,57.2500787,16.6817057,28.5854122,60.2096983,29.0781516,42.8693263,19.8592389,3.1972826,15.5906828,12.4306648,34.9222406,23.1772184,3.7057668,3.8210801,43.7826986,37.4056623,57.1732949,16.2506722,29.1708268,59.8977432,28.8322849,41.9559043,19.268152,3.2849728,16.3483048,12.4583613,35.0530015,26.3149376,3.8558197,3.9390751,44.9607992,38.6127784,57.3391994,15.8054086,30.4171843,59.521336,28.633202,42.3841487,18.9056794,3.3976717,16.4849044,12.3247134,35.5824377,25.0301684,3.8301218,3.9078477,45.8228056,39.4693627,57.3865029,15.2405617,31.6763373,58.8621368,28.5642893,41.8672688,18.3720782,3.34918,15.7489034,12.1419828,35.3533296,25.9259803,3.8846027,3.978691,46.4589701,39.9130881,57.6937111,14.4687832,33.9715134,58.1620119,28.4606104,40.7821706,17.9922929,3.1411639,16.1441306,12.0014288,35.6690228 +1058,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,4.0232184,4.1076658,41.8477219,35.5334632,88.0405733,11.9328286,23.6379175,56.0162817,20.8333278,34.7657796,13.4147538,9.9668278,15.2187368,11.9607882,39.6817175,22.439675,4.0201211,4.1212232,42.422629,36.1073475,88.1841588,11.7824019,24.6547218,56.0198118,20.6815412,34.3825,13.0954734,9.8428753,15.7587539,12.0520206,39.8203609,23.1001707,4.0353372,4.1391178,43.4323448,36.9418421,88.5060435,11.1869234,25.5828981,55.9734955,20.2321606,33.6837352,12.5896764,9.859508,15.6960215,12.1824883,40.4074557,23.8236095,4.0334226,4.1507428,44.1373601,37.6092834,88.7986368,10.7432699,26.3567025,55.2061385,19.6860235,33.4286274,12.2028286,10.1364248,16.3969658,12.3539102,40.9617388,24.9232044,3.9469849,4.1212897,44.501366,37.8854389,88.8604836,9.9691419,27.5292791,54.8414802,19.4921234,32.5474556,11.990104,9.9909148,16.3800239,12.2797967,41.8077351 +1059,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4.7031626,4.8687876,44.7409627,36.3571031,63.1295895,10.9583962,24.8563566,58.6188832,30.4565146,37.9573004,19.4012125,3.6306985,13.8275432,11.0112777,41.5742577,30.7552729,4.8009832,4.9703616,45.7574945,37.4944555,63.6603217,10.8315798,25.4924251,58.054782,29.5498804,37.2619855,18.8450265,3.5359144,13.7345555,11.2685228,41.3563272,31.880343,4.9283822,5.0703726,46.3308327,38.2410951,64.7139967,10.6254985,26.611158,57.5257666,28.8648086,36.6989784,18.2492845,3.5522213,13.9565195,11.2227456,41.2229834,32.4928678,4.9348943,5.0747169,46.7555403,38.5607594,64.9464601,10.5151497,27.4300966,56.7981138,28.5993165,36.2787288,18.0491018,3.4824535,13.8124866,10.8812203,41.9811407,33.5268024,4.9571379,5.1239212,47.2836565,39.1784864,65.6208081,10.277291,29.0110896,56.2397227,28.2292214,35.4093649,17.5934545,3.4394527,14.2655448,11.1050765,42.4402728 +1060,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.804818,4.8783522,50.631854,43.991617,59.1535351,12.423286,37.1757838,57.8708158,27.5803781,37.9278396,16.7660602,2.502591,16.4912935,14.4397503,36.5872329,34.9998799,4.9156253,5.016169,51.4511578,44.8206783,59.9819065,11.8284659,36.1384288,57.4051165,27.7107275,37.4691834,16.5475322,2.3780129,17.5870384,14.7438865,38.4133577,37.3219455,4.8872109,5.0024636,51.2864759,44.3787372,60.0730489,11.2444172,36.1084023,56.6385827,27.5783641,36.9759199,16.6626406,2.2530059,17.7348265,15.1833763,38.7740057,38.6889283,4.9798346,5.1034057,51.2413948,44.2710162,60.4549913,11.4627964,35.1341917,56.6973261,28.0721345,37.2999726,16.960975,2.0597853,17.5816111,14.8296885,38.7642715,39.0416695,4.9877458,5.1396429,51.3061457,44.3320532,60.5423503,11.454838,34.6605816,56.2016127,28.4356192,38.090267,17.5123871,2.1024144,17.6677362,14.0947255,39.3888752 +1061,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,3.9395161,4.1234558,44.7903161,38.2358762,89.0250384,9.5809305,28.9111418,55.0847489,18.8546465,32.0441722,11.7051877,10.3389853,16.9407537,12.5052715,43.0437598,26.2366528,3.8863468,4.0715903,44.28948,37.8689483,89.2598975,8.9772624,29.4458309,55.0667942,18.9365464,31.8148584,11.4328944,10.1909846,17.5574981,12.6010238,42.8065318,26.7144521,3.6537183,3.8327528,43.4588089,37.174737,89.6591396,8.5325136,29.4942291,54.9624406,18.8075321,31.4834345,10.9247692,10.3534031,17.6817535,12.7142282,43.3066655,26.5918137,3.5417429,3.7307406,43.0958917,36.9369844,89.9474292,8.0758123,29.2783125,54.1938813,18.4136461,30.7757229,10.5100222,10.7351955,17.3593912,12.6523739,43.1937234,27.0519057,3.4195505,3.5897096,42.0652076,36.168045,89.9219318,8.0119232,28.9473682,54.3140698,18.5319873,30.8948561,10.7296938,10.6680643,17.5575414,12.6884152,43.137017 +1062,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4.1043552,4.2556457,45.2308343,37.9809489,76.1349199,10.5874094,29.7037501,57.1003042,22.5645116,33.8665631,12.2087927,2.6950306,16.5694552,11.1201098,37.2266504,36.6050398,4.0308746,4.155481,44.9814364,38.0636076,76.5263497,10.3462534,30.2052712,59.0119054,23.7893903,35.0195047,12.8662613,2.7437452,16.6296163,11.4427734,36.858626,37.744356,4.0113807,4.1594337,44.5334254,37.7275682,76.7113534,10.0829131,30.0284883,59.3497373,23.5474454,35.4536617,13.2053917,2.6757886,16.7128732,11.6112501,36.5515852,37.5880413,3.8634718,4.0258451,43.3190394,36.5691546,76.8513427,9.5578439,29.8413679,59.1594376,23.1928042,35.0906105,13.0811136,2.5430793,16.44371,11.2867399,36.9856166,37.7787694,3.7877552,3.9390842,42.4874037,35.8750752,77.3366642,9.1390623,29.4185019,58.9652905,23.0600001,34.2097013,13.1981379,2.7498813,16.2444427,11.6933535,36.4307084 +1063,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9788681,4.0747421,47.2998163,40.5936933,58.2265838,14.2230205,35.3140714,58.7292793,28.1571761,40.7340628,17.676568,3.0547065,15.6837645,11.7295223,35.793054,27.3690412,3.962115,4.0532959,47.939467,41.3589893,58.6594061,14.0192047,36.3656961,59.0306114,28.5178075,40.7379955,17.8928207,3.1000231,16.0304683,12.0345636,36.2951426,29.2343723,4.0763556,4.1642342,49.2076175,42.4251538,58.4940714,13.7060137,36.547133,58.8955903,28.3765195,39.810133,17.5652071,2.8648551,15.7880233,12.3095508,37.5700462,29.2888279,4.1194129,4.2589192,49.8701619,43.3028742,59.3903893,13.5034668,36.9426911,58.3821131,27.5204782,39.3763551,17.3821151,2.8669828,15.2278973,12.3096937,37.451762,28.5442584,4.3338864,4.4978871,50.2666215,43.6834415,59.3249958,13.0326066,36.1294301,58.3476459,27.3407136,38.3135462,17.2494538,2.6291836,15.4567252,12.7632164,37.2773354 +1064,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7085296,3.7373642,38.4297017,32.0803882,55.5519098,17.698303,27.6926469,61.2335353,29.0610884,43.9061671,21.0425537,2.9567312,15.7047527,12.2777487,41.7042767,30.1405786,3.9612086,3.9894328,39.6857804,33.1177015,55.1821776,17.0173189,28.5068036,61.6722561,28.7853184,43.5650144,19.8327502,2.996889,16.5212724,11.9541271,42.0442059,33.1052484,4.4495487,4.4924406,42.1990768,35.4380667,54.5128422,16.7555766,28.6037564,61.0135345,28.4106312,42.6527853,19.999517,3.2804925,15.4862716,10.5290989,42.0235694,33.1281541,4.3355811,4.3968156,43.0092624,35.9411265,54.7312237,16.1661833,29.8408968,60.7779423,27.3852378,41.5420533,19.324437,2.9509099,15.7867658,11.4507872,42.4449232,33.0607934,4.2203325,4.2749756,44.38173,37.3977431,54.8363815,15.4892896,30.6492527,59.5653642,27.1793845,40.5349294,18.5692387,2.7187104,14.9013687,10.8515175,41.2105337 +1065,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2.1371321,2.1700999,36.716433,31.9723486,86.5778921,9.5878899,28.0600211,60.335184,24.5326659,37.3015893,11.6931011,3.6155062,18.5357459,14.853325,34.709448,18.0848632,2.3632766,2.4276325,38.0896269,33.4058398,86.3066344,8.948867,29.1695898,60.5803455,24.756785,38.0993856,12.3523086,3.769967,19.5164247,16.1166434,36.0466265,19.7585631,2.648729,2.6571692,38.6823221,33.9030474,85.5695248,8.755487,29.9244623,60.312788,24.9054228,37.9683885,12.8393822,3.9704029,20.361022,16.8439723,36.4962215,20.8105566,2.8164717,2.8252913,39.8295629,34.8574004,85.9515953,8.5260986,29.7303141,60.2338078,24.4423867,37.3201618,12.5358792,4.0826945,20.9378233,18.0842997,36.40758,21.5947242,3.1117699,3.156842,40.7510406,35.4446703,85.9350863,8.1831554,30.5266812,60.4529145,24.2547285,38.0372569,12.5241224,4.2779354,21.3657148,18.2654109,36.6882409 +1066,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.3297168,4.3763797,46.057681,38.7194449,55.4203555,14.5665831,32.4617271,59.7170992,26.7995025,39.5151592,18.1142626,2.8071079,16.0551746,11.6718553,41.6583831,33.3681659,4.265711,4.3041785,46.7542246,39.3286835,55.5530447,14.3151928,32.9704549,58.7814738,26.6219474,38.4381681,17.7247922,2.8498671,15.4328072,11.9712398,43.2107475,31.9577236,4.1507794,4.2165798,47.5196059,40.5698296,55.7737425,13.8327456,33.6168761,58.0277531,25.9601174,37.8619198,17.7428733,3.0225165,16.6498303,12.7601162,44.7239013,31.3120638,4.3435584,4.4190809,48.8699899,41.9117389,56.7261283,13.3723328,33.1648969,57.0351625,25.916079,37.5831904,17.795719,2.7616466,16.730261,13.5165837,45.5449736,30.8703876,4.0507951,4.1325237,48.9741907,42.1383979,57.9632365,13.1190983,33.2712896,56.3662042,25.8184481,37.0510409,16.8563148,2.7703549,17.7763603,15.0498974,45.7378071 +1067,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.2970373,3.4441372,35.5858655,29.2288115,57.6268508,16.1101162,27.6879748,57.6205679,26.4528277,43.3087351,17.487739,3.9421986,13.8392186,10.1002149,29.5872121,20.3382913,3.5429594,3.6823422,37.1983136,30.6577183,58.2011763,15.7104006,28.6067763,57.6313305,26.7303319,42.8013644,17.3141641,3.5858442,14.3248997,10.3225251,29.3049829,21.0822424,3.9754706,4.1566877,38.687602,32.1989208,58.1612379,15.686762,29.3761624,56.940556,26.5098594,41.3783322,16.4997446,3.8611843,14.2926252,10.3411547,29.3211142,21.7084425,3.7185801,3.8774987,40.0603733,33.6858993,58.3385663,14.9339155,29.8877944,56.2566363,25.5055943,40.897404,16.2548275,3.7343827,15.1821345,10.6666234,29.5976546,22.732322,3.7332046,3.8729597,41.4736299,35.1267649,59.1970628,14.1240313,31.1118829,56.0227126,24.7742476,39.528173,16.3025729,3.4404194,15.3982889,11.2153462,30.0656421 +1068,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,3.2915392,3.475164,40.782496,35.1760288,90.067965,7.7734421,29.2129929,54.6268865,18.4272296,30.806766,10.6560388,10.693107,17.5006238,12.6915518,42.883904,26.716419,3.1668289,3.3140685,39.8785425,34.4303019,90.3461396,7.8176086,29.9124512,55.7849284,18.8631267,31.7816101,10.6648503,11.0789081,17.1161616,12.1810075,42.1285338,26.8574149,3.0162193,3.1637917,38.4942839,33.1058981,90.5582314,7.7397742,29.9999973,56.2105859,19.2444983,32.0701888,10.9637084,11.1659725,16.9477475,12.2446615,41.0967162,26.3416974,2.7525498,2.9057782,37.8114392,32.3839026,90.3467502,7.8615252,29.0840665,56.7052777,19.3396229,32.0814382,11.1714797,11.3864343,16.7220492,12.1287746,41.253297,26.4281162,2.7815008,2.9219092,37.312282,31.612861,90.0150073,8.0474166,28.3636973,56.5282949,19.723664,32.2372369,11.3370288,11.8076515,16.129415,12.0492023,40.8116618 +1069,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,3.4327026,3.4754715,42.3460723,36.922807,86.1714101,8.1899432,31.1770062,59.4258229,24.0318311,37.7696706,12.872155,4.143388,20.3707957,17.642752,35.7270986,23.5902823,3.8150672,3.8714644,42.6089124,36.9561521,86.1834047,7.8531412,30.1832298,59.153403,24.3873789,38.0939207,13.0259923,4.3419881,19.9264301,16.8930863,36.0678839,27.0665705,3.894212,3.9649204,42.4512207,37.3713202,86.4573063,7.8921655,30.6810138,59.430743,24.3670688,38.6098747,13.2759982,4.1748947,19.5315041,16.1882544,34.9697793,29.1000233,4.0893159,4.2027008,42.8631006,37.581021,86.7797904,7.6274876,30.1829553,59.7159588,24.2807484,37.765024,12.8395353,3.9122765,19.3342427,14.9176288,33.8265231,29.6607714,4.2116089,4.3585008,44.4306458,39.0473898,87.2627042,7.6215168,29.5554309,59.8848734,24.4523649,37.7497801,12.5747827,3.7011342,19.2695281,14.4560903,35.1039494 +1070,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.6779329,3.760656,42.858521,36.5782451,60.0158229,13.4505432,32.3510559,56.6657008,25.6100454,38.8858906,16.4529876,3.4161245,15.566207,11.583774,29.6594678,23.4353584,3.8386495,3.955797,44.4382177,38.0633671,61.3493456,13.5056814,32.7807024,56.2953192,25.4408929,38.4804223,16.3973399,3.536495,15.0921615,12.4747193,29.7869445,24.623021,3.620903,3.7397262,44.9769675,38.5044506,62.1431057,12.9447426,33.5093544,56.325001,25.7141277,38.7587276,17.0651722,4.1415593,14.8668561,12.7839899,30.0134845,25.3335991,3.5516914,3.6612106,44.6640015,38.165077,62.2544248,12.5948947,33.4866742,56.1459204,25.4282632,38.4764445,17.2377923,4.5983627,14.4348382,12.5023961,30.3735886,26.1697768,3.343562,3.4142513,44.9023022,38.2493385,62.5237287,11.9479682,33.2480728,56.2286402,26.0009029,39.0409332,17.8194711,4.3648678,14.98819,12.9386868,30.890081 +1071,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.475337,3.545102,44.6851866,38.2183377,63.9142768,11.6894562,33.7210403,56.7715441,26.2896202,38.7438624,17.6644197,4.5651713,14.9575792,12.6856172,32.5921335,27.8849983,3.4105131,3.5260691,44.2778442,38.1942626,63.7976831,11.5345444,33.3355965,56.8863056,26.3705602,38.721247,17.4645615,4.5318011,14.907145,12.0201843,33.3880328,27.4380456,3.5690559,3.7432598,44.309534,38.3362613,64.9059054,11.2792499,33.1322405,56.0946718,25.8133095,39.3528928,17.4909456,4.562531,14.8789394,12.101947,34.8866147,29.8189091,3.6264548,3.746816,43.1021245,37.1690365,65.2852765,11.1840004,32.8295514,57.0518501,26.2800805,39.0843384,17.7499411,4.5875709,15.3535071,11.7681254,35.628814,29.8351097,3.6399304,3.773389,42.5467904,36.6685694,65.7490756,11.3442436,32.4949941,56.9334361,26.7289004,38.6728179,17.4383331,4.0194333,15.1377312,11.5867595,36.521845 +1072,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.9313676,4.9997809,50.5635305,43.6607981,59.6598366,12.5114575,32.9986882,55.8522069,25.3492218,35.5649699,16.1526927,2.6962025,17.8615629,13.8462079,44.6017283,31.1621415,5.3961463,5.5208475,51.1505559,44.3418108,62.0589801,11.9364285,32.5419608,56.1502899,24.6078599,34.7050487,15.1766995,2.3809623,19.2491339,14.2794942,44.9994729,32.6246107,5.5653718,5.6986462,52.0770523,45.5523222,63.2943906,11.6368533,31.4977292,54.9151761,24.2115755,34.0995946,14.2225954,2.1533458,19.4650075,13.9695365,45.3824297,34.6168715,6.0407571,6.2523512,53.6713171,46.7173441,63.7987529,11.340711,30.8864243,54.4060866,23.461214,33.3295908,13.8260791,2.0845319,20.4039488,14.5331147,44.7964558,38.0569087,6.1071873,6.2782513,54.8150895,47.387389,64.3079567,10.8237666,29.7425878,54.4729025,23.2182831,32.3993699,12.7332863,1.7636647,21.0621926,14.8919998,43.7190709 +1073,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.6583271,4.7979583,51.5226679,44.6478227,59.7050365,12.8639145,36.0991789,58.168802,26.7253088,37.9688138,16.9096434,2.4539082,16.4032098,13.4180232,38.1332463,31.7255646,4.9011133,5.0118235,52.3780051,45.6339932,61.4601105,12.1410961,35.2161481,58.3229176,25.4379428,37.4437478,16.0875913,2.3587609,15.6840225,12.3303585,37.7047189,32.3703841,4.8100235,4.930284,52.742005,46.2230976,61.9213868,11.6185603,34.7601976,57.6122519,24.9663199,37.0195383,16.130528,2.3316069,16.0038564,12.6638676,38.3935133,33.5490615,5.0561596,5.1645261,52.6353988,45.6331818,62.6437916,11.00912,34.1735339,56.6823694,23.6907775,36.4249613,15.2190286,2.3215211,15.8402183,12.520879,38.8006629,34.8688782,5.1359598,5.1843589,52.6677075,45.7737118,63.7960137,10.8276521,33.0400893,56.016759,23.4527357,36.3533947,14.8972492,2.2135119,16.4552158,12.1610992,38.8740548 +1074,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5.163763,5.3603926,47.6904685,39.6679115,66.061328,9.8875614,30.312262,56.6459116,28.8351897,34.9895936,17.4549271,3.4066581,14.7628277,11.1604965,42.6648897,34.2993128,5.2242192,5.4145813,48.7162601,40.7230684,66.0780801,9.1393187,31.1670039,56.9821494,28.7591272,34.8190758,17.5119524,3.3337179,14.9232911,11.3055252,42.5867696,34.6388179,5.171595,5.3614005,49.4454069,41.666937,66.7138705,8.5204417,31.2751708,56.7648097,28.1915174,34.5210602,17.1572115,3.2348673,15.293444,11.7046116,42.9255556,34.4638841,5.2079759,5.3883579,49.5232588,41.6094762,67.5070055,8.0452883,31.7232157,56.3282202,28.0557532,34.142154,17.0319134,3.1875708,15.7119446,11.7185935,43.4108297,34.440193,5.1872552,5.3891452,49.7135748,41.7997396,67.5983649,7.7525988,31.6491303,56.1879534,27.9977538,33.8044293,17.1958275,3.0470232,15.6496497,11.7434372,43.9810944 +1075,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9546671,4.1342561,44.485391,37.7332527,49.1352372,14.8567843,34.7460124,56.1114937,26.4864721,41.8713459,18.2624622,2.588073,12.3971861,10.6416193,33.7871545,33.9596974,4.0755592,4.2742883,45.8528266,38.772743,49.9618538,14.7202667,35.1684604,56.034345,26.6444764,41.3057312,18.1128542,2.7881891,13.2103647,11.3035839,34.0718382,35.45248,4.2690116,4.5214014,47.7799263,40.4742524,50.1373901,14.4430801,35.8126436,56.0730111,27.456946,40.7203833,17.8086804,2.9284271,13.6008187,10.8258201,33.9201191,36.8846423,4.2101771,4.5048116,48.0894707,40.5944585,50.1251089,14.353867,36.0699676,56.0189756,27.9017078,40.9592286,18.5701845,3.1571261,13.5148972,10.7076469,33.3250658,36.5302278,4.3172902,4.6077106,47.8725823,40.6200232,50.2726532,14.4795961,35.35666,56.2593503,28.4788452,40.7619048,19.3913232,3.207936,13.6469982,10.9437572,32.5646431 +1076,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5.411316,5.6055976,50.7456254,42.7893824,67.6821182,7.2883562,32.0238307,56.2844927,27.7994279,33.7187495,17.1560797,2.9678578,16.0111194,12.2736468,43.9987466,34.7946347,5.5262173,5.6924844,51.3330836,43.5223383,68.0812001,6.7732428,31.8573957,56.0089442,27.5532006,33.2767347,16.901465,2.9046624,15.8702971,11.7986893,43.6958951,35.6377794,5.4370805,5.5837096,51.424241,43.5866185,68.2196553,6.5978274,31.571868,55.861811,27.1609015,33.2444086,16.8043283,2.8423015,15.6259349,11.9177865,43.8691262,35.8315356,5.5193449,5.653417,51.2815939,43.5697937,68.5247573,6.5028451,31.4184169,55.7514667,27.4545505,33.255736,16.4391208,2.8243687,15.7972911,11.7277634,44.0920409,35.9445793,5.5659919,5.6958967,50.7211713,42.8703918,68.6330358,6.2814388,31.6794963,55.7487001,28.0475808,33.1263791,16.4736466,2.9658171,15.7997773,11.4043682,43.8621766 +1077,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5821836,4.8738189,48.7640009,41.5654117,51.1259492,13.7913141,35.3875051,57.0279471,28.0267728,40.8997323,19.5898388,3.1243551,13.9693944,10.9399669,32.3393776,37.0201676,4.6069084,4.7999007,48.9472608,41.8605343,51.545324,13.5867207,35.4013472,57.445555,28.2628333,40.0525139,19.720488,3.1025496,14.4853647,11.3538247,33.1180879,37.7961036,4.7775738,4.98253,50.0176904,42.755661,53.1327975,12.7424966,35.6093453,56.0967725,26.62516,38.0918018,18.1844042,2.9635051,14.1726947,11.1171078,32.8368952,39.5999017,4.8371857,5.0303149,50.3910405,43.481522,53.4779961,12.7666083,35.0699183,56.3936265,26.8388351,37.2537947,18.0697529,2.7489909,14.3815647,10.6883891,32.6526286,39.7246892,4.8373179,4.9539813,49.0821282,42.3121896,54.3391089,12.7573458,34.9549717,56.8634643,26.7639873,37.3707193,18.5371889,2.6319415,14.1463771,10.8294526,33.4778761 diff --git a/HW01/covid.train_new.csv b/HW01/covid.train_new.csv new file mode 100644 index 00000000..05999d03 --- /dev/null +++ b/HW01/covid.train_new.csv @@ -0,0 +1,2700 @@ +id,AL,AK,AZ,AR,CA,CO,CT,FL,GA,ID,IL,IN,IA,KS,KY,LA,MD,MA,MI,MN,MS,MO,NE,NV,NJ,NM,NY,NC,OH,OK,OR,RI,SC,TX,UT,VA,WA,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6584658,0.7246057,12.9392837,8.5562295,76.5216933,7.8636211,33.0690665,64.1293782,33.4387143,40.5398784,17.4464992,3.9931905,10.1228372,7.8410225,37.9923648,7.3748464,0.6531572,0.7132492,12.4889332,8.21938,75.1795579,8.0834341,32.564654,65.2129033,34.2855715,40.6972105,17.7549408,3.9974431,10.1616207,8.0672755,37.8822782,7.2199885,0.6777835,0.7379647,12.487637,8.1355097,74.1896954,8.0010157,32.1453314,66.258549,34.931095,40.8892576,18.0380675,3.9704567,10.0430141,7.9833578,37.7050244,7.0779378,0.6667507,0.7235061,12.3677183,8.0061313,73.2119023,7.8733425,31.3302358,66.7539022,35.5866063,40.7416504,17.8007108,3.9847914,10.148898,8.2622884,37.3849632,7.452243,0.6856278,0.7409429,12.3643066,8.151578,71.8202309,7.944531,31.1132091,67.3945506,36.6742912,40.7431321,17.8422207,4.0937125,10.4400706,8.6271174,37.3295118,7.4561538 +1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6932873,0.6759619,15.0084667,11.0918179,82.3754687,11.0825873,36.373964,60.4718253,30.5169778,43.1621228,16.0387611,4.5197623,12.1332867,10.1557207,33.9775492,9.850027,0.7380288,0.7205108,15.0700489,10.990937,80.9432989,10.5967879,36.4358281,61.6531411,31.4492904,43.7513565,16.7525179,4.3856944,11.9117235,9.798448,32.7868022,10.0505469,0.8315858,0.8275232,14.5685036,10.5789237,79.0963913,10.4181708,35.8518041,62.8357196,32.8026369,43.7535248,17.1959221,4.6712009,11.4183141,10.6003107,32.6790304,10.3880843,0.7676425,0.7635799,14.2648616,10.2125288,76.6459843,10.6147306,34.6399605,63.6524365,34.1477136,44.6827273,17.7051403,4.9383566,11.0567246,10.889148,32.9331416,8.7078583,0.7132545,0.7193783,12.8943631,8.9192878,74.6871115,10.523814,33.920257,64.3983799,34.6122383,44.0356879,17.8081034,4.9249347,10.1726619,9.9543328,32.5088806,8.010957 +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6170407,0.6170407,8.6147187,5.2380971,87.0409985,15.569851,33.3663618,58.8193681,24.6744159,36.6789369,13.4909457,6.6393007,9.7532904,7.6910154,38.6857708,3.8978505,0.6635972,0.6354587,8.4728312,5.1541839,86.7434671,15.9152417,33.0129104,60.1578216,25.3228215,36.4562403,13.3859447,6.700146,9.9499821,7.8335143,38.03648,3.0831107,0.5343944,0.4974347,8.4933526,5.1255525,86.6472891,15.9634962,32.4710932,60.9104107,25.1589668,35.9682069,13.6560704,6.7485569,10.6648756,7.9758209,37.8269241,3.1328337,0.5362243,0.498305,8.2276572,5.2989121,86.2857977,15.7886756,31.9316418,61.2332885,25.1560253,36.0326866,13.8633015,6.8796463,10.7311869,7.8478292,37.1287143,3.4441822,0.4791113,0.4324446,8.0679086,5.3335326,86.3124189,16.477784,31.6046043,62.101064,26.5218748,36.7464532,13.9036667,7.3138326,10.3887123,7.9561389,36.7455876,2.9069774 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1937677,1.2720508,12.0076556,7.2197415,43.1536864,20.9725887,35.4586488,69.8337742,37.0211231,48.0221872,28.4369026,4.0836149,9.4178654,9.3857718,37.6211888,10.2977118,1.3565767,1.4327751,12.9971835,7.8437765,42.7006461,21.2987279,36.2396124,68.7681867,38.4676553,47.910974,28.6700734,3.6564959,10.1031524,8.7035872,37.1761978,9.2806358,1.7197057,1.6908058,14.0105094,9.0089778,42.4566574,21.7336351,35.6380841,67.9901211,38.2204817,48.2319728,28.7234172,3.8082662,10.7051316,8.7355665,37.4442609,12.146962,1.7375495,1.709244,14.3647345,9.0965827,42.5437458,20.2060493,36.2922705,67.3194431,37.4239459,47.7388054,27.8696558,3.409895,9.872694,8.4134353,37.326366,13.4042557,1.793346,1.766201,14.3837892,9.4160959,43.7315907,19.1409388,35.1157382,67.9355204,38.0224919,48.4348086,27.134876,3.1019036,10.4986831,8.2315222,38.6801619,12.5758159 +4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.455489,1.455489,20.9577294,16.8291631,28.5560517,20.6191958,34.8247747,68.4685398,38.0464324,49.7859672,23.4418133,3.8294272,10.9889476,8.8380779,29.9496905,24.0566265,1.2985107,1.2316062,20.189998,16.229791,28.6506659,20.4346427,35.6160365,69.093886,38.0796692,48.8775834,23.150895,3.8765914,11.3129699,9.7499426,30.6637447,17.7272888,1.4868509,1.4206112,20.1603514,15.6724866,29.3146137,21.1697268,35.8219267,69.371958,38.4198647,48.8824352,23.9885874,4.22054,11.8723586,10.4437281,29.8985872,18.6508085,1.3739382,1.3083456,20.1033847,15.7980026,29.9859065,22.2649545,35.2655866,69.4165439,38.580881,48.8123266,23.3778374,4.0704021,11.3495368,9.9100333,29.3750934,20.2381113,1.2644652,1.1985671,20.2573551,15.8642013,30.6133064,22.6982176,35.1297143,69.934592,38.2423678,49.095933,22.6837093,4.5946197,9.8789268,9.4692895,28.344123,21.4285894 +5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8033001,0.8415349,15.8740808,9.5338641,65.644252,16.207849,37.0236991,66.0154897,31.8137398,45.9479903,21.9251091,2.4361902,11.5541055,9.95507,38.3482416,12.254025,0.7384095,0.7766832,15.6292374,9.4062272,64.6680597,15.7965694,37.2278177,66.8844491,33.0187993,46.8552606,22.4239039,2.346521,11.731763,10.4583433,38.1702633,11.1642681,0.7820767,0.7762221,15.5030762,9.3777802,63.3952438,15.7344814,37.9218627,67.7677176,33.6788127,46.9865371,22.7821729,1.9046686,12.1089739,10.8502314,38.5029133,11.2605308,0.8991823,0.8934015,14.1018688,8.6294086,62.5803258,15.7657325,37.2910843,67.7260543,34.1376413,47.5156155,22.5276411,2.0785166,12.0788148,10.8607712,37.8255143,9.8284634,1.0428381,1.0371968,13.6030244,8.4817832,62.8222106,15.2613561,36.3026039,68.1629435,34.7675449,46.488364,22.2558737,2.0234109,11.6427217,10.5517564,37.4542496,9.764946 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.593731,0.5807316,14.5790407,8.9102088,79.3167092,17.6465034,38.4020037,62.5021329,29.4507861,45.4869239,18.8446308,2.6939677,12.9689219,11.0037794,38.2962173,7.6687824,0.6572691,0.6389319,14.5336206,8.68129,78.3078822,17.196903,38.0501421,62.7741819,28.9134616,45.0948571,18.8799969,2.9247092,13.2252907,11.0996641,37.5822621,8.181838,0.5677188,0.5491184,14.4152897,8.6866521,76.3913,17.0816503,36.7659321,62.6856022,28.8617038,45.4910059,19.1431623,2.8292358,13.3576411,11.2237846,37.6303342,8.598748,0.6113327,0.6325529,13.7644421,8.5901838,74.5375939,17.0179571,37.3030791,63.3870906,29.9277369,45.0961116,19.4036354,2.8251131,13.4753633,10.7393893,37.7592184,7.2693325,0.6258344,0.6390602,13.9681553,8.5317696,73.1102555,16.8040665,36.8059121,63.7988373,30.2817793,45.346877,19.5667083,2.829981,13.0844735,10.7760309,38.4342331,8.4118554 +7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6681533,0.7169369,17.2295012,11.9153674,76.478468,15.15284,41.7812678,62.9312408,30.9256406,45.9888035,19.9298565,2.9312677,11.7337009,10.3575985,35.2403505,8.8095238,0.6702706,0.7298858,16.6158306,11.3409922,75.1177068,14.815357,41.5826529,63.4313898,31.6666711,46.6526396,20.126056,2.8431292,11.8317968,10.2815023,35.0171168,8.4541063,0.5954156,0.6556842,16.5545912,11.2279948,73.393531,15.3277356,41.3622354,64.7833735,32.8094042,46.8563941,20.4616302,2.7612552,12.0702467,9.7020543,35.1245783,7.7830115,0.7474367,0.8076739,15.9646834,10.7976032,72.120748,15.2105066,41.1572401,65.3824382,33.2527675,46.7301452,20.2303174,2.6300806,11.469187,9.2540433,34.8307808,9.0277778,0.7036857,0.7203832,15.1671272,10.2646271,69.9444515,15.7555965,40.2241771,66.6146614,34.6623084,47.4035066,21.0414447,3.0221376,11.556807,9.5726148,34.8233715,9.4936669 +8,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1011517,1.0099364,15.9392719,11.3944619,36.5190489,16.5867877,33.2789734,67.5316771,39.3226711,46.1771403,23.0767681,3.0554418,10.9374747,11.4809517,36.8312035,18.1371838,1.1255441,1.0684124,16.5432938,11.9733204,37.1752591,16.7771043,33.9951558,67.0784414,38.334339,45.8225217,22.4914198,3.1758083,11.3693282,11.8569443,37.7537575,19.2307035,1.0252897,0.9689625,16.3934798,11.7441302,37.0067681,17.3337597,33.695744,68.1030929,38.4601291,45.2709705,22.8102123,3.0009656,11.06194,11.4267601,36.8454386,19.5652193,1.0060014,0.9514827,16.2769228,11.6839132,36.6762569,17.4479381,33.6546607,68.127142,37.8901877,44.4053643,22.4611853,2.9517322,11.1471366,11.2964873,36.0852788,18.8461583,0.849429,0.7937983,14.4035677,10.4318762,36.5192055,17.1911214,34.018593,68.2626907,37.7841391,44.0525338,22.2590836,2.7621241,10.74755,9.9120855,35.7205786,17.479685 +9,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5848965,0.6256021,13.2347975,8.4169433,75.2668469,13.7547135,39.4990188,59.6562931,31.3349938,46.6809474,19.2087171,3.6839317,10.5423708,9.3700097,31.8597614,7.9831866,0.576407,0.6590618,13.3577553,8.4790857,73.7210023,14.5309434,39.7838324,60.3869962,31.8136487,46.6315326,19.5432875,3.7399546,10.9796856,9.9811383,33.0004551,8.677686,0.6530769,0.6810817,12.8013108,7.9222733,70.2549998,15.3152368,39.3580973,61.1258556,33.3164098,46.9435913,20.1865054,4.1112521,10.9731735,10.3265808,33.3793501,7.2033898,0.7154917,0.7084963,12.661691,7.8373286,68.4214292,15.521451,38.7912565,61.4224138,33.5771448,46.5448492,20.2404662,3.9676394,11.208156,10.8587179,33.072192,8.0508475,0.8871376,0.8663692,12.1407554,7.5401312,64.8408189,15.7838273,38.1636931,62.2661458,33.9606007,46.6599628,20.8536682,3.9127516,10.547906,10.8549249,32.5926279,7.0247934 +10,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5464773,0.5653127,8.6461927,5.4108035,88.3874531,6.5089148,28.9705576,57.1542206,23.6077656,35.0653888,11.0408989,5.3011917,10.3964927,8.3550978,38.2392697,3.3392698,0.5112158,0.5217492,8.2984761,5.164897,88.3731252,6.385393,28.5403884,57.9672132,23.7651053,34.5169935,11.1391062,5.2565827,10.409482,8.3775001,38.2283858,3.1415929,0.4855162,0.5059841,8.2521946,5.1553033,87.946918,6.4984014,28.1821941,59.138063,24.307887,34.7385163,11.4577136,5.3103521,10.6404123,8.7020699,38.2200866,2.6521739,0.4978832,0.5090127,8.1382403,5.1224223,87.7891594,6.659019,27.4868872,59.7625622,24.7011917,34.785784,11.5069045,5.2003417,10.7449302,9.1291294,37.9666201,2.9806885,0.5039233,0.5143893,8.2314513,5.1694562,87.6428021,6.6262688,27.1522546,61.1413661,25.3168951,35.2532526,11.620706,5.0455904,10.3706317,9.2160688,37.5901359,3.1224655 +11,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7380288,0.7205108,15.0700489,10.990937,80.9432989,10.5967879,36.4358281,61.6531411,31.4492904,43.7513565,16.7525179,4.3856944,11.9117235,9.798448,32.7868022,10.0505469,0.8315858,0.8275232,14.5685036,10.5789237,79.0963913,10.4181708,35.8518041,62.8357196,32.8026369,43.7535248,17.1959221,4.6712009,11.4183141,10.6003107,32.6790304,10.3880843,0.7676425,0.7635799,14.2648616,10.2125288,76.6459843,10.6147306,34.6399605,63.6524365,34.1477136,44.6827273,17.7051403,4.9383566,11.0567246,10.889148,32.9331416,8.7078583,0.7132545,0.7193783,12.8943631,8.9192878,74.6871115,10.523814,33.920257,64.3983799,34.6122383,44.0356879,17.8081034,4.9249347,10.1726619,9.9543328,32.5088806,8.010957,0.6998961,0.7164697,13.4342225,9.2827346,72.4930573,10.4146914,32.767771,65.6205127,35.3517365,44.4121917,17.9354316,4.8144908,10.4858997,10.5671976,33.1130957,9.0290736 +12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5014484,0.4775962,12.5843439,9.0189314,87.0592441,10.7118625,30.1557762,59.4043649,22.683574,37.8629409,10.706634,4.3018954,12.2944755,9.7337624,30.8805385,4.2721654,0.4405354,0.4701974,12.1386326,8.5776628,86.8057165,10.8505803,29.5159807,60.2738502,22.7658598,38.4101237,10.7089615,4.2560167,12.6420442,9.658512,31.5878098,3.3923394,0.4459805,0.483456,11.8773184,8.4239765,85.8638457,11.1890173,29.8941779,61.6825781,23.7777697,38.7195655,11.1428392,4.5608436,12.9396903,10.0028236,30.8286005,3.0791771,0.4425411,0.4931359,11.552905,8.067186,85.3212452,10.9478456,29.6652866,62.0737111,24.2003625,39.4725303,11.5335602,4.4164356,12.5906496,10.1217802,31.1567632,3.0973433,0.4588556,0.5212692,11.628651,7.9443135,85.2083804,10.8909616,29.8228566,62.2385914,24.8719584,39.2978819,11.7050614,4.3427199,12.804097,10.7202323,31.0967941,3.5714276 +13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7384095,0.7766832,15.6292374,9.4062272,64.6680597,15.7965694,37.2278177,66.8844491,33.0187993,46.8552606,22.4239039,2.346521,11.731763,10.4583433,38.1702633,11.1642681,0.7820767,0.7762221,15.5030762,9.3777802,63.3952438,15.7344814,37.9218627,67.7677176,33.6788127,46.9865371,22.7821729,1.9046686,12.1089739,10.8502314,38.5029133,11.2605308,0.8991823,0.8934015,14.1018688,8.6294086,62.5803258,15.7657325,37.2910843,67.7260543,34.1376413,47.5156155,22.5276411,2.0785166,12.0788148,10.8607712,37.8255143,9.8284634,1.0428381,1.0371968,13.6030244,8.4817832,62.8222106,15.2613561,36.3026039,68.1629435,34.7675449,46.488364,22.2558737,2.0234109,11.6427217,10.5517564,37.4542496,9.764946,0.9960366,0.9904305,13.5434915,8.6885798,61.4494675,15.7836664,36.9847083,68.897652,36.3824271,46.7577117,23.3208347,2.0612156,11.8181539,10.3570148,38.0934196,9.3982489 +14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.761953,0.6515778,15.4589017,12.1945507,43.5593164,16.3648164,30.5762279,67.4606714,36.9844655,42.0421929,20.0647253,5.4971998,11.8944497,9.2486155,38.2132966,7.0093458,0.7388958,0.6332895,15.8197576,12.3115533,44.0567772,16.3871889,32.545371,66.8671518,38.16044,42.4833933,19.519818,5.5821761,10.7302365,8.1734211,36.9867516,7.9439252,0.766516,0.720205,16.6726062,12.8396972,44.6905011,16.2876372,33.0787228,66.5831416,37.4141519,41.5542217,19.2459733,6.114088,11.5276728,7.8486453,37.6700988,9.375,0.9082008,0.8695472,16.3031914,12.5336673,45.3673313,15.9392241,32.7932953,65.8045799,36.6579561,40.4673813,18.8895606,6.3184396,10.9591641,8.0372505,38.3137142,8.7962963,1.1852988,1.1472628,16.7311808,12.8488074,46.1425491,15.710847,32.474723,65.1005647,35.8165155,39.2280722,18.4558801,6.0492846,9.7900409,8.2155585,38.969841,16.8103448 +15,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6309222,0.6309222,24.4680851,21.1947627,52.4914089,7.7889447,37.6046901,65.5778894,31.9095477,43.1323283,17.6716918,7.2864322,10.0931677,8.5669782,31.8037975,4.368932,0.7990868,0.7990868,24.6341463,21.5447154,54.4166667,7.8990228,37.6422764,65.9349593,30.9756098,43.495935,17.4796748,7.0731707,10.1246106,9.1900312,33.7025316,5.2380952,1.0029718,1.0029718,24.4849445,21.3153724,54.5380875,7.1879937,37.4801902,66.0063391,29.8732171,43.8193344,16.5610143,5.4675119,12.4213836,9.2767296,33.9228296,5.7522124,1.2985376,1.3741805,25.1607717,21.4630225,53.9408867,7.428115,36.1378205,65.7852564,29.8878205,44.6314103,15.625,4.7275641,14.1719745,9.7133758,34.0390879,7.4561404,1.3762626,1.4520202,25.0806452,21.2096774,54.6875,7.5636943,35.2327448,66.6934189,28.6516854,44.2215088,15.1685393,5.3772071,15.8653846,10.4166667,35.6677524,9.2920354 +16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4457883,0.498993,10.0859512,6.9344983,88.1522175,9.4541254,33.4354615,59.3807072,24.2438104,36.9295877,12.0664893,12.3402846,10.3790489,8.7638263,38.8022678,4.0876772,0.3941972,0.4530846,9.9256074,6.8063164,87.2068969,9.7786487,33.3007307,60.5829431,24.7196159,37.0305116,12.043556,12.6173693,9.9053621,8.591208,38.344338,3.5178781,0.3675568,0.4112525,9.7534082,6.7553537,86.2727801,9.8074374,32.7231556,61.1966358,24.8835679,37.0569139,12.0375103,12.3868014,10.234527,8.8024496,38.5234478,3.6272325,0.3574743,0.3941559,9.7628535,6.7341126,85.0825434,10.0026197,32.6663222,62.0576486,25.4085646,37.3117942,12.1541536,12.0512131,10.4252539,9.0676491,37.8787839,3.2866383,0.3363589,0.3733008,9.610134,6.647171,83.6277287,10.2883622,32.6563746,62.5681279,25.7915842,38.171549,12.7108667,11.9971423,10.4017191,9.1238559,37.3480272,3.02227 +17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1182383,1.2464851,15.947788,12.4186655,28.5180405,18.0373738,38.9726136,67.0648185,37.3413129,49.4859729,24.1120143,3.9017907,9.8188659,8.5181474,32.4313495,14.4857512,0.8928313,0.9897222,16.1924684,13.0670473,28.6168326,18.0318511,38.73167,67.0861757,37.64603,49.9610212,24.7233691,3.7558822,9.9342283,8.8674798,31.958624,14.7616658,0.9334432,1.0197234,15.8007272,12.3606625,29.5208527,17.9090471,38.7533594,66.7246301,39.2784942,51.0172334,26.0849091,4.0579943,10.539027,8.1118866,33.870817,16.6674324,0.9553317,1.0135882,16.1914832,12.7799724,30.4802052,18.3287203,37.9648816,66.6353048,39.7422342,50.5862949,25.0807417,4.2416779,10.8983897,8.417845,33.9049996,18.2250192,0.8717252,0.9138009,16.7861357,13.0554771,32.4903215,17.3031432,37.5936918,66.5492919,38.56724,50.6747326,24.7675312,3.6603716,10.873962,8.1708638,33.4837614,18.2247296 +18,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5207531,0.4885673,11.6689599,7.4070472,79.0872698,8.8094104,32.4592264,61.0222132,31.5910455,41.5772777,16.634799,3.6004688,10.6646209,9.1008154,32.3696103,6.8343461,0.5500017,0.5398838,11.4264602,7.0613978,78.2082817,9.0922072,31.5560309,61.6440621,31.5253422,41.3885496,16.820518,3.697936,10.7137297,8.7790415,32.4705266,6.3928253,0.5888919,0.5786676,11.4221055,6.9202477,77.0787233,9.2413081,31.4088902,62.0253427,32.8950927,41.2603165,17.150376,3.9934306,10.8016583,9.2057299,32.3553347,8.3110153,0.6160142,0.5655966,11.0757654,6.9522346,76.355125,9.6936034,30.9089469,64.146217,33.3478854,41.2501924,17.506604,3.9899526,10.9180677,9.3069764,32.9056981,8.8715529,0.6385877,0.5702776,10.8780268,6.7353961,74.530807,10.2561054,30.5361234,64.7863631,34.7085892,42.3703097,18.1923233,4.181361,10.6032153,8.9727358,32.9633522,8.5045076 +19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6635972,0.6354587,8.4728312,5.1541839,86.7434671,15.9152417,33.0129104,60.1578216,25.3228215,36.4562403,13.3859447,6.700146,9.9499821,7.8335143,38.03648,3.0831107,0.5343944,0.4974347,8.4933526,5.1255525,86.6472891,15.9634962,32.4710932,60.9104107,25.1589668,35.9682069,13.6560704,6.7485569,10.6648756,7.9758209,37.8269241,3.1328337,0.5362243,0.498305,8.2276572,5.2989121,86.2857977,15.7886756,31.9316418,61.2332885,25.1560253,36.0326866,13.8633015,6.8796463,10.7311869,7.8478292,37.1287143,3.4441822,0.4791113,0.4324446,8.0679086,5.3335326,86.3124189,16.477784,31.6046043,62.101064,26.5218748,36.7464532,13.9036667,7.3138326,10.3887123,7.9561389,36.7455876,2.9069774,0.4105394,0.3952207,7.5609026,5.0356493,86.3165632,16.5508282,31.2391151,62.6088222,26.7121372,36.3464879,14.2338968,7.2693005,10.0099384,7.1464415,35.0600606,3.3916856 +20,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8617621,0.8665196,15.0729494,11.1977745,26.9539516,18.833497,35.5344101,65.5446963,39.1315392,48.175752,23.5611517,3.4172575,11.803724,10.5333516,34.4445017,21.0902171,0.7124682,0.7057864,16.0070265,12.0465357,27.0812043,19.3931948,35.6624627,66.4168035,38.7572324,48.2833646,22.654723,3.312381,11.1499836,9.4140918,34.4140996,19.9250148,0.8383959,0.8318565,16.6910677,12.8126559,27.24495,19.2528347,36.1445236,66.2162754,38.0750207,47.2377957,22.7794423,3.470444,11.4638561,9.6935953,34.8602845,18.8087067,0.8326153,0.8117713,17.5050151,13.899044,27.8534506,19.6748358,35.5685333,65.3176118,37.8052825,47.8039424,23.1436113,3.4812883,10.7149163,9.2340086,35.3228691,18.6132303,0.8833624,0.8518071,18.3469048,14.472414,27.644379,19.5887378,36.3204571,65.2685248,37.2973851,47.3097845,22.615546,3.6264005,11.174155,9.2336914,35.6630753,19.7987654 +21,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7990868,0.7990868,24.6341463,21.5447154,54.4166667,7.8990228,37.6422764,65.9349593,30.9756098,43.495935,17.4796748,7.0731707,10.1246106,9.1900312,33.7025316,5.2380952,1.0029718,1.0029718,24.4849445,21.3153724,54.5380875,7.1879937,37.4801902,66.0063391,29.8732171,43.8193344,16.5610143,5.4675119,12.4213836,9.2767296,33.9228296,5.7522124,1.2985376,1.3741805,25.1607717,21.4630225,53.9408867,7.428115,36.1378205,65.7852564,29.8878205,44.6314103,15.625,4.7275641,14.1719745,9.7133758,34.0390879,7.4561404,1.3762626,1.4520202,25.0806452,21.2096774,54.6875,7.5636943,35.2327448,66.6934189,28.6516854,44.2215088,15.1685393,5.3772071,15.8653846,10.4166667,35.6677524,9.2920354,1.712828,1.8586006,25.4276827,21.3841369,55.2464229,7.6388889,34.5496894,66.8478261,28.1832298,44.1770186,15.4503106,5.5124224,17.6751592,11.6242038,35.3225806,9.9137931 +22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.484003,0.5018464,10.8091077,7.5394841,86.572122,10.863195,31.9882757,59.385167,26.9421516,38.9076111,13.7901166,2.7457228,11.5049057,9.9917909,40.7083582,6.2184432,0.4606225,0.47817,10.7552462,7.6085664,86.0508339,11.1545127,32.5230554,60.0747667,29.1002734,39.6460287,14.397774,2.6945984,11.6043061,10.2579937,39.3842024,7.7610716,0.5741506,0.5914183,11.3659312,8.3046232,84.4077496,11.5312325,32.0669059,61.1026633,29.9712994,39.866435,14.6354533,2.8497286,12.1590907,10.9070583,40.2708428,7.2947167,0.7536738,0.7110866,11.1857945,7.6803711,83.9438171,11.1436583,31.0377304,61.3462875,29.3587608,38.9636615,14.0435585,3.0035918,11.6712297,9.8491054,39.2231346,6.7907144,0.8299935,0.8299935,10.5645525,7.2849065,83.1309688,11.2391209,30.5715316,62.1844123,30.6280702,38.5723011,14.3334311,3.111684,12.2174178,10.3531393,38.2085608,8.1362923 +23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4909931,0.4055983,10.0309514,6.6293172,89.3311561,18.0272693,32.1139102,56.1557897,21.7770679,32.9656357,10.1239187,5.0135659,10.6536276,8.5366112,33.8388438,8.0487844,0.5331396,0.5181137,9.9643411,6.3589518,88.0735889,18.0730274,31.8379416,56.8577074,22.3517809,33.8142267,10.2173941,4.8418986,10.7412637,9.1017656,33.1982888,7.7777812,0.4776873,0.4989303,9.118356,5.8172279,86.7148799,18.2131299,31.1902794,57.5835988,22.9498432,34.3749976,10.9673597,5.2348741,10.959255,8.8802054,33.3246653,7.5000034,0.4124746,0.4336791,8.8223454,5.4863317,85.0884449,17.9306142,32.0548407,59.0421325,23.9864843,34.9960219,11.3076339,5.3060426,10.1851819,8.6255619,32.9288957,6.0810838,0.4077502,0.4290242,8.4913248,5.5062496,83.8955205,17.9420019,31.8582242,60.1722067,24.2490958,35.382454,11.0732902,5.3063687,10.3884113,8.7212927,34.0049598,5.6818208 +24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5331396,0.5181137,9.9643411,6.3589518,88.0735889,18.0730274,31.8379416,56.8577074,22.3517809,33.8142267,10.2173941,4.8418986,10.7412637,9.1017656,33.1982888,7.7777812,0.4776873,0.4989303,9.118356,5.8172279,86.7148799,18.2131299,31.1902794,57.5835988,22.9498432,34.3749976,10.9673597,5.2348741,10.959255,8.8802054,33.3246653,7.5000034,0.4124746,0.4336791,8.8223454,5.4863317,85.0884449,17.9306142,32.0548407,59.0421325,23.9864843,34.9960219,11.3076339,5.3060426,10.1851819,8.6255619,32.9288957,6.0810838,0.4077502,0.4290242,8.4913248,5.5062496,83.8955205,17.9420019,31.8582242,60.1722067,24.2490958,35.382454,11.0732902,5.3063687,10.3884113,8.7212927,34.0049598,5.6818208,0.5090211,0.5339603,8.7368823,5.7506025,82.6773307,18.209131,31.5313488,60.9927655,24.9799005,35.8319887,11.274118,5.3255638,10.2103135,8.4751543,34.4133676,5.2272751 +25,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1255441,1.0684124,16.5432938,11.9733204,37.1752591,16.7771043,33.9951558,67.0784414,38.334339,45.8225217,22.4914198,3.1758083,11.3693282,11.8569443,37.7537575,19.2307035,1.0252897,0.9689625,16.3934798,11.7441302,37.0067681,17.3337597,33.695744,68.1030929,38.4601291,45.2709705,22.8102123,3.0009656,11.06194,11.4267601,36.8454386,19.5652193,1.0060014,0.9514827,16.2769228,11.6839132,36.6762569,17.4479381,33.6546607,68.127142,37.8901877,44.4053643,22.4611853,2.9517322,11.1471366,11.2964873,36.0852788,18.8461583,0.849429,0.7937983,14.4035677,10.4318762,36.5192055,17.1911214,34.018593,68.2626907,37.7841391,44.0525338,22.2590836,2.7621241,10.74755,9.9120855,35.7205786,17.479685,0.9332085,0.8634372,15.6202846,11.1651037,35.9279102,18.0008025,33.3509209,67.3558741,37.198187,45.8815596,22.8696596,2.6552192,11.1839062,9.986022,34.392497,18.5950471 +26,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0029718,1.0029718,24.4849445,21.3153724,54.5380875,7.1879937,37.4801902,66.0063391,29.8732171,43.8193344,16.5610143,5.4675119,12.4213836,9.2767296,33.9228296,5.7522124,1.2985376,1.3741805,25.1607717,21.4630225,53.9408867,7.428115,36.1378205,65.7852564,29.8878205,44.6314103,15.625,4.7275641,14.1719745,9.7133758,34.0390879,7.4561404,1.3762626,1.4520202,25.0806452,21.2096774,54.6875,7.5636943,35.2327448,66.6934189,28.6516854,44.2215088,15.1685393,5.3772071,15.8653846,10.4166667,35.6677524,9.2920354,1.712828,1.8586006,25.4276827,21.3841369,55.2464229,7.6388889,34.5496894,66.8478261,28.1832298,44.1770186,15.4503106,5.5124224,17.6751592,11.6242038,35.3225806,9.9137931,1.8041237,1.9513991,25.9811617,21.899529,52.8892456,8.1395349,34.1940532,67.057903,29.1862285,45.9311424,15.8841941,5.399061,18.1372549,12.5816993,35.8085809,9.4262295 +27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7143285,0.7583934,12.0743445,8.6433977,80.8788154,14.0248091,37.4042671,61.3755099,26.3225339,44.0212549,14.125604,3.8850978,11.1041438,9.0553566,29.0540071,7.8804262,0.6026653,0.6306105,12.1211249,8.559072,78.4058562,13.720111,36.4277967,62.630955,27.7151886,44.5781423,14.4047585,3.9200525,10.5829591,8.8325948,28.4945862,9.2696525,0.5867324,0.6146865,11.717631,8.2560874,75.9199324,13.7493492,36.6725842,64.2689934,28.2036856,44.8574238,15.415115,4.0593942,10.9186508,9.1621264,29.1425697,7.5301114,0.6012216,0.6479815,11.2967504,7.9899922,72.7799715,13.8763961,37.1457229,65.313586,29.692468,46.1458677,16.0468405,4.1665524,10.9929294,8.7119581,29.7066272,5.6864673,0.5089621,0.5666776,10.6861874,7.4234236,70.4683635,14.0104393,36.4108314,65.8066377,30.6654004,45.3398632,16.3392092,4.0194721,10.6456176,8.7133789,29.6731621,4.9981389 +28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8292617,0.8616196,12.7611794,7.9837413,78.7152625,8.1399155,36.6784936,59.1900288,33.0080907,40.5639884,20.2935863,3.8504763,11.4639666,9.2008264,41.6825229,7.9351549,0.8675109,0.89946,12.786691,8.0530855,77.8488941,8.0951908,36.2068098,60.2663508,33.5969843,40.6580778,20.4096543,3.7857302,11.4572716,9.4589646,41.8056486,7.8571154,0.8039712,0.8251098,12.2282419,7.8112527,76.8054036,8.2026433,36.0264223,61.4061497,34.2626385,41.0729983,20.5144492,3.7384196,11.483721,9.5439327,41.3493979,6.7223269,0.8109069,0.8171126,12.0257004,7.6134979,75.6568796,7.9438518,35.9015974,62.4574268,35.1054551,41.1934158,20.5408719,3.6363393,11.2186168,9.4877987,41.2514178,7.2265375,0.7697706,0.7612703,12.1654502,7.5688601,74.8941642,8.1177924,35.4975366,63.4986642,36.2486533,41.5084419,21.0081471,3.6157695,11.1281756,9.4044116,41.0949471,7.4252951 +29,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0252897,0.9689625,16.3934798,11.7441302,37.0067681,17.3337597,33.695744,68.1030929,38.4601291,45.2709705,22.8102123,3.0009656,11.06194,11.4267601,36.8454386,19.5652193,1.0060014,0.9514827,16.2769228,11.6839132,36.6762569,17.4479381,33.6546607,68.127142,37.8901877,44.4053643,22.4611853,2.9517322,11.1471366,11.2964873,36.0852788,18.8461583,0.849429,0.7937983,14.4035677,10.4318762,36.5192055,17.1911214,34.018593,68.2626907,37.7841391,44.0525338,22.2590836,2.7621241,10.74755,9.9120855,35.7205786,17.479685,0.9332085,0.8634372,15.6202846,11.1651037,35.9279102,18.0008025,33.3509209,67.3558741,37.198187,45.8815596,22.8696596,2.6552192,11.1839062,9.986022,34.392497,18.5950471,0.8926248,0.8224552,16.6931915,12.7313134,36.0462627,18.0395079,32.9385725,67.4609953,36.1955125,46.038123,22.7609497,2.9173154,11.5029703,10.4096537,34.7451891,19.5652193 +30,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5538022,0.5538022,8.6534117,5.3999096,89.8170438,15.4450262,34.6101541,58.4995467,23.6854034,36.1967362,10.9020852,3.467815,11.2409138,8.825079,36.7501304,3.5714286,0.5692264,0.5692264,8.9473684,5.5606407,89.1081871,15.7478428,33.248731,59.4139363,24.6192893,36.6635902,10.9137056,3.5763729,10.5693348,8.7043379,36.0215054,5.2486188,0.6017334,0.6017334,8.9631336,5.4147465,87.8019324,16.175772,33.8642659,60.1800554,25.0923361,38.8042475,11.611265,3.6703601,10.5757576,8.7155963,36.2446744,4.7979798,0.4592275,0.4592275,9.2068646,5.635436,85.5528846,16.6745506,34.361949,61.8329466,25.638051,39.4663573,12.4593968,4.199536,10.8782435,9.4966443,35.819398,3.2994924,0.4729247,0.4514931,8.8303821,5.3821062,85.0593824,16.5579879,34.8982424,62.5115634,26.3413506,39.7086031,12.372803,4.0471785,10.7599432,9.6924177,35.5150215,3.2828283 +31,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7321172,0.7349939,13.0585011,8.6825519,84.7140716,14.3938706,36.1113328,59.7340364,27.583499,41.9002872,16.5346781,5.2209576,10.3371807,8.9633226,35.9913655,9.082397,0.6661349,0.6832239,12.4691875,8.1561871,84.204887,14.5306638,35.2239034,60.5476724,28.1401085,42.2920796,16.8591065,5.2348262,10.3862935,9.083075,35.9401806,8.6111095,0.6849505,0.7261962,11.9527792,7.5750428,83.4327919,14.3979846,34.4333631,61.3089597,28.2921749,42.3947336,16.6429263,5.0569794,10.1929834,8.9863184,35.3482129,8.8740441,0.5694916,0.6113016,11.4110116,7.226195,82.0535924,14.5246426,34.8857343,61.7572913,29.2119749,42.5925847,16.4460239,5.0985017,9.9440736,9.007687,34.9379913,8.4795322,0.5825534,0.6132003,11.1067845,7.1217282,80.9620478,14.4520069,34.6220473,62.4960628,30.0236235,42.6850335,16.1968527,4.9370065,9.7480469,8.6844088,34.7253045,9.0291297 +32,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6531572,0.7132492,12.4889332,8.21938,75.1795579,8.0834341,32.564654,65.2129033,34.2855715,40.6972105,17.7549408,3.9974431,10.1616207,8.0672755,37.8822782,7.2199885,0.6777835,0.7379647,12.487637,8.1355097,74.1896954,8.0010157,32.1453314,66.258549,34.931095,40.8892576,18.0380675,3.9704567,10.0430141,7.9833578,37.7050244,7.0779378,0.6667507,0.7235061,12.3677183,8.0061313,73.2119023,7.8733425,31.3302358,66.7539022,35.5866063,40.7416504,17.8007108,3.9847914,10.148898,8.2622884,37.3849632,7.452243,0.6856278,0.7409429,12.3643066,8.151578,71.8202309,7.944531,31.1132091,67.3945506,36.6742912,40.7431321,17.8422207,4.0937125,10.4400706,8.6271174,37.3295118,7.4561538,0.6576168,0.7112829,12.0691381,7.9149235,70.4656104,7.7743572,30.6930173,68.5402776,37.254803,40.9688303,18.1569266,4.0276806,10.5927205,8.4128888,37.3102499,7.2490839 +33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8928313,0.9897222,16.1924684,13.0670473,28.6168326,18.0318511,38.73167,67.0861757,37.64603,49.9610212,24.7233691,3.7558822,9.9342283,8.8674798,31.958624,14.7616658,0.9334432,1.0197234,15.8007272,12.3606625,29.5208527,17.9090471,38.7533594,66.7246301,39.2784942,51.0172334,26.0849091,4.0579943,10.539027,8.1118866,33.870817,16.6674324,0.9553317,1.0135882,16.1914832,12.7799724,30.4802052,18.3287203,37.9648816,66.6353048,39.7422342,50.5862949,25.0807417,4.2416779,10.8983897,8.417845,33.9049996,18.2250192,0.8717252,0.9138009,16.7861357,13.0554771,32.4903215,17.3031432,37.5936918,66.5492919,38.56724,50.6747326,24.7675312,3.6603716,10.873962,8.1708638,33.4837614,18.2247296,0.8233445,0.8651005,17.523497,13.7479054,34.1297959,17.3149877,37.9363359,66.2503278,38.0650354,50.6754971,24.2920303,3.765457,11.7196585,8.9621243,33.0592951,17.105749 +34,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2985107,1.2316062,20.189998,16.229791,28.6506659,20.4346427,35.6160365,69.093886,38.0796692,48.8775834,23.150895,3.8765914,11.3129699,9.7499426,30.6637447,17.7272888,1.4868509,1.4206112,20.1603514,15.6724866,29.3146137,21.1697268,35.8219267,69.371958,38.4198647,48.8824352,23.9885874,4.22054,11.8723586,10.4437281,29.8985872,18.6508085,1.3739382,1.3083456,20.1033847,15.7980026,29.9859065,22.2649545,35.2655866,69.4165439,38.580881,48.8123266,23.3778374,4.0704021,11.3495368,9.9100333,29.3750934,20.2381113,1.2644652,1.1985671,20.2573551,15.8642013,30.6133064,22.6982176,35.1297143,69.934592,38.2423678,49.095933,22.6837093,4.5946197,9.8789268,9.4692895,28.344123,21.4285894,1.0352755,0.9703194,21.0246499,16.551326,30.5819312,22.6920882,35.9722449,69.3536231,37.6786379,49.1839611,23.116963,4.2966915,10.9890719,9.269437,27.7218373,21.2500177 +35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3848677,0.3911257,8.6052652,5.788372,87.5000135,19.478945,34.1926174,59.4571609,22.516241,37.7432393,9.3718419,5.2406822,11.9150221,9.0106187,32.5058532,3.846141,0.4337036,0.4166855,8.6317334,5.9966054,87.2261601,20.0035028,33.9003579,61.1485254,22.4823148,37.3357658,9.1445389,5.6752982,12.4693362,9.3248451,32.5595679,3.979225,0.4068809,0.3974429,8.3933901,5.921717,86.2477967,20.0453872,33.2139375,62.3165732,22.7396839,37.5809876,9.3995543,5.8853513,12.5167252,9.6810227,32.8026545,3.5116998,0.357613,0.3481269,8.0937575,5.6639191,85.9341848,19.35544,33.0421553,63.4634513,23.3127767,38.043792,9.3696841,5.8410324,12.7224623,10.0386889,33.1802645,2.1523179,0.4055632,0.3644038,8.0390688,5.6050651,86.0028096,18.7456894,33.1335847,63.8184057,24.0582033,37.9622768,9.8116475,6.2499914,12.4081684,10.2692578,34.2063569,2.6984127 +36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4606225,0.47817,10.7552462,7.6085664,86.0508339,11.1545127,32.5230554,60.0747667,29.1002734,39.6460287,14.397774,2.6945984,11.6043061,10.2579937,39.3842024,7.7610716,0.5741506,0.5914183,11.3659312,8.3046232,84.4077496,11.5312325,32.0669059,61.1026633,29.9712994,39.866435,14.6354533,2.8497286,12.1590907,10.9070583,40.2708428,7.2947167,0.7536738,0.7110866,11.1857945,7.6803711,83.9438171,11.1436583,31.0377304,61.3462875,29.3587608,38.9636615,14.0435585,3.0035918,11.6712297,9.8491054,39.2231346,6.7907144,0.8299935,0.8299935,10.5645525,7.2849065,83.1309688,11.2391209,30.5715316,62.1844123,30.6280702,38.5723011,14.3334311,3.111684,12.2174178,10.3531393,38.2085608,8.1362923,0.8349906,0.7755924,10.2008689,6.832447,82.6918953,11.0548788,29.6571269,61.7993533,30.7562187,39.6728947,14.1295132,2.7480885,12.7638013,11.1412222,38.5521505,8.2663429 +37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5741506,0.5914183,11.3659312,8.3046232,84.4077496,11.5312325,32.0669059,61.1026633,29.9712994,39.866435,14.6354533,2.8497286,12.1590907,10.9070583,40.2708428,7.2947167,0.7536738,0.7110866,11.1857945,7.6803711,83.9438171,11.1436583,31.0377304,61.3462875,29.3587608,38.9636615,14.0435585,3.0035918,11.6712297,9.8491054,39.2231346,6.7907144,0.8299935,0.8299935,10.5645525,7.2849065,83.1309688,11.2391209,30.5715316,62.1844123,30.6280702,38.5723011,14.3334311,3.111684,12.2174178,10.3531393,38.2085608,8.1362923,0.8349906,0.7755924,10.2008689,6.832447,82.6918953,11.0548788,29.6571269,61.7993533,30.7562187,39.6728947,14.1295132,2.7480885,12.7638013,11.1412222,38.5521505,8.2663429,0.7044896,0.6435346,10.1276973,6.6759035,81.9355211,11.5704302,29.564975,61.3988128,31.2857522,40.0358119,14.4654987,2.9983277,12.1215313,11.7914158,38.2643001,5.2403349 +38,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6702706,0.7298858,16.6158306,11.3409922,75.1177068,14.815357,41.5826529,63.4313898,31.6666711,46.6526396,20.126056,2.8431292,11.8317968,10.2815023,35.0171168,8.4541063,0.5954156,0.6556842,16.5545912,11.2279948,73.393531,15.3277356,41.3622354,64.7833735,32.8094042,46.8563941,20.4616302,2.7612552,12.0702467,9.7020543,35.1245783,7.7830115,0.7474367,0.8076739,15.9646834,10.7976032,72.120748,15.2105066,41.1572401,65.3824382,33.2527675,46.7301452,20.2303174,2.6300806,11.469187,9.2540433,34.8307808,9.0277778,0.7036857,0.7203832,15.1671272,10.2646271,69.9444515,15.7555965,40.2241771,66.6146614,34.6623084,47.4035066,21.0414447,3.0221376,11.556807,9.5726148,34.8233715,9.4936669,0.6735279,0.6903698,14.4163082,9.6343189,68.8651409,15.8687017,39.5684361,68.3481062,35.3672298,47.284927,21.3060972,2.8722522,11.4766071,9.5853649,34.1731865,10.7594846 +39,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5692264,0.5692264,8.9473684,5.5606407,89.1081871,15.7478428,33.248731,59.4139363,24.6192893,36.6635902,10.9137056,3.5763729,10.5693348,8.7043379,36.0215054,5.2486188,0.6017334,0.6017334,8.9631336,5.4147465,87.8019324,16.175772,33.8642659,60.1800554,25.0923361,38.8042475,11.611265,3.6703601,10.5757576,8.7155963,36.2446744,4.7979798,0.4592275,0.4592275,9.2068646,5.635436,85.5528846,16.6745506,34.361949,61.8329466,25.638051,39.4663573,12.4593968,4.199536,10.8782435,9.4966443,35.819398,3.2994924,0.4729247,0.4514931,8.8303821,5.3821062,85.0593824,16.5579879,34.8982424,62.5115634,26.3413506,39.7086031,12.372803,4.0471785,10.7599432,9.6924177,35.5150215,3.2828283,0.518487,0.4972376,9.1392874,5.6686719,83.0679157,17.5862069,33.7257618,64.4275162,27.2622345,40.8356417,13.1348107,4.1782087,10.2633617,8.7616822,34.9533437,2.8061224 +40,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7124682,0.7057864,16.0070265,12.0465357,27.0812043,19.3931948,35.6624627,66.4168035,38.7572324,48.2833646,22.654723,3.312381,11.1499836,9.4140918,34.4140996,19.9250148,0.8383959,0.8318565,16.6910677,12.8126559,27.24495,19.2528347,36.1445236,66.2162754,38.0750207,47.2377957,22.7794423,3.470444,11.4638561,9.6935953,34.8602845,18.8087067,0.8326153,0.8117713,17.5050151,13.899044,27.8534506,19.6748358,35.5685333,65.3176118,37.8052825,47.8039424,23.1436113,3.4812883,10.7149163,9.2340086,35.3228691,18.6132303,0.8833624,0.8518071,18.3469048,14.472414,27.644379,19.5887378,36.3204571,65.2685248,37.2973851,47.3097845,22.615546,3.6264005,11.174155,9.2336914,35.6630753,19.7987654,0.9875409,0.9177058,18.6709105,14.7784707,28.2678698,20.1025264,36.5494521,65.2415448,36.9819166,47.5270881,22.2884341,3.2603281,11.2503808,9.0438504,36.049156,19.5652795 +41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6026653,0.6306105,12.1211249,8.559072,78.4058562,13.720111,36.4277967,62.630955,27.7151886,44.5781423,14.4047585,3.9200525,10.5829591,8.8325948,28.4945862,9.2696525,0.5867324,0.6146865,11.717631,8.2560874,75.9199324,13.7493492,36.6725842,64.2689934,28.2036856,44.8574238,15.415115,4.0593942,10.9186508,9.1621264,29.1425697,7.5301114,0.6012216,0.6479815,11.2967504,7.9899922,72.7799715,13.8763961,37.1457229,65.313586,29.692468,46.1458677,16.0468405,4.1665524,10.9929294,8.7119581,29.7066272,5.6864673,0.5089621,0.5666776,10.6861874,7.4234236,70.4683635,14.0104393,36.4108314,65.8066377,30.6654004,45.3398632,16.3392092,4.0194721,10.6456176,8.7133789,29.6731621,4.9981389,0.5039569,0.539917,10.8400288,7.6579655,68.1748943,13.7649955,35.4880767,66.171603,32.0716586,45.8234141,16.8346222,4.196787,10.3143125,8.5252701,29.4058026,5.3653189 +42,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6661349,0.6832239,12.4691875,8.1561871,84.204887,14.5306638,35.2239034,60.5476724,28.1401085,42.2920796,16.8591065,5.2348262,10.3862935,9.083075,35.9401806,8.6111095,0.6849505,0.7261962,11.9527792,7.5750428,83.4327919,14.3979846,34.4333631,61.3089597,28.2921749,42.3947336,16.6429263,5.0569794,10.1929834,8.9863184,35.3482129,8.8740441,0.5694916,0.6113016,11.4110116,7.226195,82.0535924,14.5246426,34.8857343,61.7572913,29.2119749,42.5925847,16.4460239,5.0985017,9.9440736,9.007687,34.9379913,8.4795322,0.5825534,0.6132003,11.1067845,7.1217282,80.9620478,14.4520069,34.6220473,62.4960628,30.0236235,42.6850335,16.1968527,4.9370065,9.7480469,8.6844088,34.7253045,9.0291297,0.5799373,0.631932,10.8068698,6.9105665,79.413637,14.2314797,33.9421784,63.0732188,30.9109347,42.9270922,16.45423,4.9976668,9.9181233,8.7158436,33.9219349,8.9453911 +43,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0060014,0.9514827,16.2769228,11.6839132,36.6762569,17.4479381,33.6546607,68.127142,37.8901877,44.4053643,22.4611853,2.9517322,11.1471366,11.2964873,36.0852788,18.8461583,0.849429,0.7937983,14.4035677,10.4318762,36.5192055,17.1911214,34.018593,68.2626907,37.7841391,44.0525338,22.2590836,2.7621241,10.74755,9.9120855,35.7205786,17.479685,0.9332085,0.8634372,15.6202846,11.1651037,35.9279102,18.0008025,33.3509209,67.3558741,37.198187,45.8815596,22.8696596,2.6552192,11.1839062,9.986022,34.392497,18.5950471,0.8926248,0.8224552,16.6931915,12.7313134,36.0462627,18.0395079,32.9385725,67.4609953,36.1955125,46.038123,22.7609497,2.9173154,11.5029703,10.4096537,34.7451891,19.5652193,1.0125543,0.9700922,17.6857827,13.6293432,35.1606673,18.400056,32.5271869,68.2443027,35.428158,46.8513478,22.0538431,2.806673,12.3203503,11.4468357,36.315312,18.3760596 +44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6572691,0.6389319,14.5336206,8.68129,78.3078822,17.196903,38.0501421,62.7741819,28.9134616,45.0948571,18.8799969,2.9247092,13.2252907,11.0996641,37.5822621,8.181838,0.5677188,0.5491184,14.4152897,8.6866521,76.3913,17.0816503,36.7659321,62.6856022,28.8617038,45.4910059,19.1431623,2.8292358,13.3576411,11.2237846,37.6303342,8.598748,0.6113327,0.6325529,13.7644421,8.5901838,74.5375939,17.0179571,37.3030791,63.3870906,29.9277369,45.0961116,19.4036354,2.8251131,13.4753633,10.7393893,37.7592184,7.2693325,0.6258344,0.6390602,13.9681553,8.5317696,73.1102555,16.8040665,36.8059121,63.7988373,30.2817793,45.346877,19.5667083,2.829981,13.0844735,10.7760309,38.4342331,8.4118554,0.713916,0.727059,13.678473,8.3734815,71.8291243,17.5597234,37.2129367,65.1294077,32.0006067,45.9868875,20.0682959,2.9076908,12.0471611,10.5967147,38.2107395,10.3125334 +45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.1561004,1.1525886,20.469487,15.2181439,22.6744714,12.1036842,35.2505881,64.5738568,34.4606866,49.0121984,24.4896887,4.8416097,13.3615577,12.2067932,33.7535737,16.8043231,1.2299599,1.2603955,21.3323275,15.843124,22.7288988,13.0122752,36.019849,63.9199306,34.1111699,48.801491,24.2209364,4.6151117,13.556253,12.2432648,33.6532961,18.6207711,1.2134038,1.2623355,21.2321392,16.0357687,22.7052709,13.122299,35.608243,63.8539294,33.1862164,48.1553941,23.8514392,4.4543092,14.1041193,12.7327317,33.642946,19.3810775,1.359579,1.4106377,21.6062473,16.5930047,22.4711022,13.6371419,35.5143297,62.8319251,31.8478322,48.5490929,23.5191729,4.5727441,14.1149951,12.0487893,33.3562769,21.6622075,1.328468,1.4253385,21.8784546,16.4583111,22.8956121,14.0262232,36.4165231,62.3838627,31.6656256,48.6996257,23.2305691,4.6121593,14.532572,11.5817967,34.3148707,20.2519887 +46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8675109,0.89946,12.786691,8.0530855,77.8488941,8.0951908,36.2068098,60.2663508,33.5969843,40.6580778,20.4096543,3.7857302,11.4572716,9.4589646,41.8056486,7.8571154,0.8039712,0.8251098,12.2282419,7.8112527,76.8054036,8.2026433,36.0264223,61.4061497,34.2626385,41.0729983,20.5144492,3.7384196,11.483721,9.5439327,41.3493979,6.7223269,0.8109069,0.8171126,12.0257004,7.6134979,75.6568796,7.9438518,35.9015974,62.4574268,35.1054551,41.1934158,20.5408719,3.6363393,11.2186168,9.4877987,41.2514178,7.2265375,0.7697706,0.7612703,12.1654502,7.5688601,74.8941642,8.1177924,35.4975366,63.4986642,36.2486533,41.5084419,21.0081471,3.6157695,11.1281756,9.4044116,41.0949471,7.4252951,0.7216056,0.7230786,11.8594094,7.3665329,74.0796034,8.094835,35.1600735,64.2578989,37.1212523,42.0891673,21.5022223,3.6662878,11.3534449,9.3870862,40.4244603,6.8944698 +47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6408022,0.665606,11.803835,6.7915966,60.0293065,12.0646667,41.3748657,62.5584995,37.444359,48.8274017,24.8873015,2.7848627,11.8213741,10.4247027,37.0407207,8.1730769,0.6719153,0.6967422,11.623134,6.6309861,58.3805405,12.0085919,40.5803472,63.2115122,38.0714317,49.387027,24.5541575,2.69102,11.4457375,10.2700439,36.5088669,7.5892857,0.5841018,0.6094614,11.2904892,6.4553778,57.0548561,11.6866441,39.607162,64.8955901,38.5121812,48.8755986,24.2128387,2.6882489,10.9633443,10.7980398,37.2339447,7.7981651,0.699633,0.709013,11.8989057,6.6441811,55.8235549,11.4658399,37.571338,65.7291304,38.6482915,47.4595835,24.2250438,2.4902018,10.6966476,10.8419474,37.1154444,9.8290598,0.5827365,0.6012629,12.1242924,6.9245901,55.3971944,11.9073224,37.3093065,65.8421105,39.0291924,46.8604478,23.6896467,2.3016137,10.5714052,11.7185923,37.938439,8.6065574 +48,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.576407,0.6590618,13.3577553,8.4790857,73.7210023,14.5309434,39.7838324,60.3869962,31.8136487,46.6315326,19.5432875,3.7399546,10.9796856,9.9811383,33.0004551,8.677686,0.6530769,0.6810817,12.8013108,7.9222733,70.2549998,15.3152368,39.3580973,61.1258556,33.3164098,46.9435913,20.1865054,4.1112521,10.9731735,10.3265808,33.3793501,7.2033898,0.7154917,0.7084963,12.661691,7.8373286,68.4214292,15.521451,38.7912565,61.4224138,33.5771448,46.5448492,20.2404662,3.9676394,11.208156,10.8587179,33.072192,8.0508475,0.8871376,0.8663692,12.1407554,7.5401312,64.8408189,15.7838273,38.1636931,62.2661458,33.9606007,46.6599628,20.8536682,3.9127516,10.547906,10.8549249,32.5926279,7.0247934,0.9997995,0.978971,11.5554652,7.577767,62.6070867,16.0372295,37.5143066,63.3704846,34.6746697,46.2696793,21.22198,3.9028488,10.8299315,11.2910365,31.7943679,8.2677165 +49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5677188,0.5491184,14.4152897,8.6866521,76.3913,17.0816503,36.7659321,62.6856022,28.8617038,45.4910059,19.1431623,2.8292358,13.3576411,11.2237846,37.6303342,8.598748,0.6113327,0.6325529,13.7644421,8.5901838,74.5375939,17.0179571,37.3030791,63.3870906,29.9277369,45.0961116,19.4036354,2.8251131,13.4753633,10.7393893,37.7592184,7.2693325,0.6258344,0.6390602,13.9681553,8.5317696,73.1102555,16.8040665,36.8059121,63.7988373,30.2817793,45.346877,19.5667083,2.829981,13.0844735,10.7760309,38.4342331,8.4118554,0.713916,0.727059,13.678473,8.3734815,71.8291243,17.5597234,37.2129367,65.1294077,32.0006067,45.9868875,20.0682959,2.9076908,12.0471611,10.5967147,38.2107395,10.3125334,0.6623499,0.6623499,12.8955685,8.2169482,69.9181097,17.4339203,36.5824945,66.6501567,32.8534509,46.0006845,20.8767662,2.5225558,12.1088387,10.4134647,37.7035752,9.336687 +50,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.849429,0.7937983,14.4035677,10.4318762,36.5192055,17.1911214,34.018593,68.2626907,37.7841391,44.0525338,22.2590836,2.7621241,10.74755,9.9120855,35.7205786,17.479685,0.9332085,0.8634372,15.6202846,11.1651037,35.9279102,18.0008025,33.3509209,67.3558741,37.198187,45.8815596,22.8696596,2.6552192,11.1839062,9.986022,34.392497,18.5950471,0.8926248,0.8224552,16.6931915,12.7313134,36.0462627,18.0395079,32.9385725,67.4609953,36.1955125,46.038123,22.7609497,2.9173154,11.5029703,10.4096537,34.7451891,19.5652193,1.0125543,0.9700922,17.6857827,13.6293432,35.1606673,18.400056,32.5271869,68.2443027,35.428158,46.8513478,22.0538431,2.806673,12.3203503,11.4468357,36.315312,18.3760596,1.0120886,0.9429256,17.6288548,14.0352499,35.3467933,18.2816255,31.4585929,67.7275003,35.6241484,47.2216344,22.6006977,2.7457098,12.9320095,12.2070852,37.1771599,17.562661 +51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9334432,1.0197234,15.8007272,12.3606625,29.5208527,17.9090471,38.7533594,66.7246301,39.2784942,51.0172334,26.0849091,4.0579943,10.539027,8.1118866,33.870817,16.6674324,0.9553317,1.0135882,16.1914832,12.7799724,30.4802052,18.3287203,37.9648816,66.6353048,39.7422342,50.5862949,25.0807417,4.2416779,10.8983897,8.417845,33.9049996,18.2250192,0.8717252,0.9138009,16.7861357,13.0554771,32.4903215,17.3031432,37.5936918,66.5492919,38.56724,50.6747326,24.7675312,3.6603716,10.873962,8.1708638,33.4837614,18.2247296,0.8233445,0.8651005,17.523497,13.7479054,34.1297959,17.3149877,37.9363359,66.2503278,38.0650354,50.6754971,24.2920303,3.765457,11.7196585,8.9621243,33.0592951,17.105749,0.6996635,0.7418232,18.1124637,14.4326664,35.1757595,16.7201184,37.7297524,66.4407543,37.7948532,49.9019907,24.0557489,3.7443694,11.6353079,9.0640004,32.5774824,15.4875448 +52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3941972,0.4530846,9.9256074,6.8063164,87.2068969,9.7786487,33.3007307,60.5829431,24.7196159,37.0305116,12.043556,12.6173693,9.9053621,8.591208,38.344338,3.5178781,0.3675568,0.4112525,9.7534082,6.7553537,86.2727801,9.8074374,32.7231556,61.1966358,24.8835679,37.0569139,12.0375103,12.3868014,10.234527,8.8024496,38.5234478,3.6272325,0.3574743,0.3941559,9.7628535,6.7341126,85.0825434,10.0026197,32.6663222,62.0576486,25.4085646,37.3117942,12.1541536,12.0512131,10.4252539,9.0676491,37.8787839,3.2866383,0.3363589,0.3733008,9.610134,6.647171,83.6277287,10.2883622,32.6563746,62.5681279,25.7915842,38.171549,12.7108667,11.9971423,10.4017191,9.1238559,37.3480272,3.02227,0.3354803,0.3883655,9.503167,6.6179306,82.0995005,10.3472687,32.2004431,64.1364646,26.718684,38.8946181,13.0723537,12.1049899,10.6342411,9.3136063,36.9114616,3.2340869 +53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3565767,1.4327751,12.9971835,7.8437765,42.7006461,21.2987279,36.2396124,68.7681867,38.4676553,47.910974,28.6700734,3.6564959,10.1031524,8.7035872,37.1761978,9.2806358,1.7197057,1.6908058,14.0105094,9.0089778,42.4566574,21.7336351,35.6380841,67.9901211,38.2204817,48.2319728,28.7234172,3.8082662,10.7051316,8.7355665,37.4442609,12.146962,1.7375495,1.709244,14.3647345,9.0965827,42.5437458,20.2060493,36.2922705,67.3194431,37.4239459,47.7388054,27.8696558,3.409895,9.872694,8.4134353,37.326366,13.4042557,1.793346,1.766201,14.3837892,9.4160959,43.7315907,19.1409388,35.1157382,67.9355204,38.0224919,48.4348086,27.134876,3.1019036,10.4986831,8.2315222,38.6801619,12.5758159,1.7986391,1.7878517,14.4908406,9.7684579,44.344027,18.9869368,34.9611926,67.5769145,38.158907,48.0764657,27.8277576,2.8702906,10.2486643,8.5078829,39.0627655,10.0624061 +54,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7820767,0.7762221,15.5030762,9.3777802,63.3952438,15.7344814,37.9218627,67.7677176,33.6788127,46.9865371,22.7821729,1.9046686,12.1089739,10.8502314,38.5029133,11.2605308,0.8991823,0.8934015,14.1018688,8.6294086,62.5803258,15.7657325,37.2910843,67.7260543,34.1376413,47.5156155,22.5276411,2.0785166,12.0788148,10.8607712,37.8255143,9.8284634,1.0428381,1.0371968,13.6030244,8.4817832,62.8222106,15.2613561,36.3026039,68.1629435,34.7675449,46.488364,22.2558737,2.0234109,11.6427217,10.5517564,37.4542496,9.764946,0.9960366,0.9904305,13.5434915,8.6885798,61.4494675,15.7836664,36.9847083,68.897652,36.3824271,46.7577117,23.3208347,2.0612156,11.8181539,10.3570148,38.0934196,9.3982489,1.088689,1.08071,13.4324312,8.6268393,59.8826296,15.3618904,36.1844247,69.0541357,37.0188123,46.7082344,22.6933445,1.9703223,11.829337,11.4195902,37.1368474,10.5069875 +55,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6017334,0.6017334,8.9631336,5.4147465,87.8019324,16.175772,33.8642659,60.1800554,25.0923361,38.8042475,11.611265,3.6703601,10.5757576,8.7155963,36.2446744,4.7979798,0.4592275,0.4592275,9.2068646,5.635436,85.5528846,16.6745506,34.361949,61.8329466,25.638051,39.4663573,12.4593968,4.199536,10.8782435,9.4966443,35.819398,3.2994924,0.4729247,0.4514931,8.8303821,5.3821062,85.0593824,16.5579879,34.8982424,62.5115634,26.3413506,39.7086031,12.372803,4.0471785,10.7599432,9.6924177,35.5150215,3.2828283,0.518487,0.4972376,9.1392874,5.6686719,83.0679157,17.5862069,33.7257618,64.4275162,27.2622345,40.8356417,13.1348107,4.1782087,10.2633617,8.7616822,34.9533437,2.8061224,0.4145299,0.3931624,9.2540793,5.5244755,81.6369606,17.6186089,32.9524254,65.4151119,28.3815299,41.2546642,13.7826493,3.9412313,10.349345,8.9833479,34.3722564,3.25 +56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5343944,0.4974347,8.4933526,5.1255525,86.6472891,15.9634962,32.4710932,60.9104107,25.1589668,35.9682069,13.6560704,6.7485569,10.6648756,7.9758209,37.8269241,3.1328337,0.5362243,0.498305,8.2276572,5.2989121,86.2857977,15.7886756,31.9316418,61.2332885,25.1560253,36.0326866,13.8633015,6.8796463,10.7311869,7.8478292,37.1287143,3.4441822,0.4791113,0.4324446,8.0679086,5.3335326,86.3124189,16.477784,31.6046043,62.101064,26.5218748,36.7464532,13.9036667,7.3138326,10.3887123,7.9561389,36.7455876,2.9069774,0.4105394,0.3952207,7.5609026,5.0356493,86.3165632,16.5508282,31.2391151,62.6088222,26.7121372,36.3464879,14.2338968,7.2693005,10.0099384,7.1464415,35.0600606,3.3916856,0.514861,0.4671428,7.2585391,4.9322721,85.6168306,16.5624144,30.3453207,63.2949618,28.0143932,36.7625893,14.5755393,7.3812977,10.2046494,6.8534984,35.3318467,3.927814 +57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9553317,1.0135882,16.1914832,12.7799724,30.4802052,18.3287203,37.9648816,66.6353048,39.7422342,50.5862949,25.0807417,4.2416779,10.8983897,8.417845,33.9049996,18.2250192,0.8717252,0.9138009,16.7861357,13.0554771,32.4903215,17.3031432,37.5936918,66.5492919,38.56724,50.6747326,24.7675312,3.6603716,10.873962,8.1708638,33.4837614,18.2247296,0.8233445,0.8651005,17.523497,13.7479054,34.1297959,17.3149877,37.9363359,66.2503278,38.0650354,50.6754971,24.2920303,3.765457,11.7196585,8.9621243,33.0592951,17.105749,0.6996635,0.7418232,18.1124637,14.4326664,35.1757595,16.7201184,37.7297524,66.4407543,37.7948532,49.9019907,24.0557489,3.7443694,11.6353079,9.0640004,32.5774824,15.4875448,0.8126506,0.8536731,18.8593303,14.674841,35.8205792,17.6326503,38.4694763,66.3842856,39.2259056,50.6917969,24.795498,3.9391975,12.7206765,10.1019803,34.224742,13.2487501 +58,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6849505,0.7261962,11.9527792,7.5750428,83.4327919,14.3979846,34.4333631,61.3089597,28.2921749,42.3947336,16.6429263,5.0569794,10.1929834,8.9863184,35.3482129,8.8740441,0.5694916,0.6113016,11.4110116,7.226195,82.0535924,14.5246426,34.8857343,61.7572913,29.2119749,42.5925847,16.4460239,5.0985017,9.9440736,9.007687,34.9379913,8.4795322,0.5825534,0.6132003,11.1067845,7.1217282,80.9620478,14.4520069,34.6220473,62.4960628,30.0236235,42.6850335,16.1968527,4.9370065,9.7480469,8.6844088,34.7253045,9.0291297,0.5799373,0.631932,10.8068698,6.9105665,79.413637,14.2314797,33.9421784,63.0732188,30.9109347,42.9270922,16.45423,4.9976668,9.9181233,8.7158436,33.9219349,8.9453911,0.5564315,0.6011774,10.4262146,6.729302,78.4226241,14.2780647,33.2481048,64.3809113,31.7449265,43.1194758,17.1315737,5.1061504,9.6064172,8.5351651,33.1918165,8.6111143 +59,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6530769,0.6810817,12.8013108,7.9222733,70.2549998,15.3152368,39.3580973,61.1258556,33.3164098,46.9435913,20.1865054,4.1112521,10.9731735,10.3265808,33.3793501,7.2033898,0.7154917,0.7084963,12.661691,7.8373286,68.4214292,15.521451,38.7912565,61.4224138,33.5771448,46.5448492,20.2404662,3.9676394,11.208156,10.8587179,33.072192,8.0508475,0.8871376,0.8663692,12.1407554,7.5401312,64.8408189,15.7838273,38.1636931,62.2661458,33.9606007,46.6599628,20.8536682,3.9127516,10.547906,10.8549249,32.5926279,7.0247934,0.9997995,0.978971,11.5554652,7.577767,62.6070867,16.0372295,37.5143066,63.3704846,34.6746697,46.2696793,21.22198,3.9028488,10.8299315,11.2910365,31.7943679,8.2677165,1.046839,1.0258964,11.9944472,7.8101674,59.8960673,16.4985893,36.6975429,65.2384996,35.6507549,47.6039238,22.1501714,3.613133,11.4197287,11.5007536,31.9516622,7.5396825 +60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6564078,0.6909961,16.9902493,12.9016487,85.2621335,9.7087269,33.7432747,60.4045068,23.9854112,42.0420487,13.4488886,2.6202288,12.09418,9.5597074,32.3344838,6.9000255,0.6521334,0.6936427,16.011317,12.0102177,83.906278,9.8827105,33.1712646,61.294191,24.665685,42.3110221,13.5123717,2.5841344,12.1260738,9.5676337,32.1362835,6.5261511,0.6493796,0.6940797,14.9689301,11.2974332,82.9344179,9.8405475,32.6609088,62.3769202,25.6184703,42.8239588,13.7123849,2.6215886,12.0881885,9.7383144,31.7271973,6.1046958,0.6992767,0.7372671,14.2808014,10.7431613,80.9753323,9.6805098,32.9128512,63.7699624,26.7247099,43.1567445,14.3205525,2.7526109,12.0408729,9.8800872,31.4935862,6.6355564,0.6425652,0.6866147,13.8775603,10.5659435,79.1588949,9.6392587,32.659647,64.5536673,27.1692306,43.7783995,14.5330335,2.6555338,11.6430784,9.4483644,30.6939746,7.0069623 +61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6113327,0.6325529,13.7644421,8.5901838,74.5375939,17.0179571,37.3030791,63.3870906,29.9277369,45.0961116,19.4036354,2.8251131,13.4753633,10.7393893,37.7592184,7.2693325,0.6258344,0.6390602,13.9681553,8.5317696,73.1102555,16.8040665,36.8059121,63.7988373,30.2817793,45.346877,19.5667083,2.829981,13.0844735,10.7760309,38.4342331,8.4118554,0.713916,0.727059,13.678473,8.3734815,71.8291243,17.5597234,37.2129367,65.1294077,32.0006067,45.9868875,20.0682959,2.9076908,12.0471611,10.5967147,38.2107395,10.3125334,0.6623499,0.6623499,12.8955685,8.2169482,69.9181097,17.4339203,36.5824945,66.6501567,32.8534509,46.0006845,20.8767662,2.5225558,12.1088387,10.4134647,37.7035752,9.336687,0.7446015,0.7446015,12.8398911,7.9800143,68.540956,17.5549003,35.3687971,66.5269179,32.8996856,46.1569573,20.7306411,2.5352213,12.0905812,9.713263,36.8935343,10.0752134 +62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2299599,1.2603955,21.3323275,15.843124,22.7288988,13.0122752,36.019849,63.9199306,34.1111699,48.801491,24.2209364,4.6151117,13.556253,12.2432648,33.6532961,18.6207711,1.2134038,1.2623355,21.2321392,16.0357687,22.7052709,13.122299,35.608243,63.8539294,33.1862164,48.1553941,23.8514392,4.4543092,14.1041193,12.7327317,33.642946,19.3810775,1.359579,1.4106377,21.6062473,16.5930047,22.4711022,13.6371419,35.5143297,62.8319251,31.8478322,48.5490929,23.5191729,4.5727441,14.1149951,12.0487893,33.3562769,21.6622075,1.328468,1.4253385,21.8784546,16.4583111,22.8956121,14.0262232,36.4165231,62.3838627,31.6656256,48.6996257,23.2305691,4.6121593,14.532572,11.5817967,34.3148707,20.2519887,1.2962873,1.3915965,21.778056,16.2011918,23.9709847,14.5174276,36.7351238,60.9178275,31.3401666,48.2476556,22.4969714,4.4771476,15.7047682,11.8473896,34.5265516,20.8844867 +63,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6777835,0.7379647,12.487637,8.1355097,74.1896954,8.0010157,32.1453314,66.258549,34.931095,40.8892576,18.0380675,3.9704567,10.0430141,7.9833578,37.7050244,7.0779378,0.6667507,0.7235061,12.3677183,8.0061313,73.2119023,7.8733425,31.3302358,66.7539022,35.5866063,40.7416504,17.8007108,3.9847914,10.148898,8.2622884,37.3849632,7.452243,0.6856278,0.7409429,12.3643066,8.151578,71.8202309,7.944531,31.1132091,67.3945506,36.6742912,40.7431321,17.8422207,4.0937125,10.4400706,8.6271174,37.3295118,7.4561538,0.6576168,0.7112829,12.0691381,7.9149235,70.4656104,7.7743572,30.6930173,68.5402776,37.254803,40.9688303,18.1569266,4.0276806,10.5927205,8.4128888,37.3102499,7.2490839,0.5968017,0.6143695,11.8150003,7.8549999,69.7548911,7.6714356,29.8910855,68.9098738,38.0545558,40.6225001,18.1205064,4.1017191,10.482044,8.5116463,36.1513569,7.2542078 +64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.906964,0.9309538,14.7013649,9.3362891,70.0339581,12.2320024,39.0923576,62.2346065,31.0243998,44.3471249,23.3280239,2.9989283,11.2492379,9.3460906,43.2440615,11.157034,0.9371642,0.9851207,15.1301097,9.8674629,69.3149959,12.4387616,37.8055255,62.9914939,31.0573674,44.1285771,23.1402718,2.8958456,11.4461703,10.1253391,43.085445,9.8540218,0.9903656,0.9903656,15.4373798,10.1609808,68.0232673,12.6809585,37.2295388,63.0870576,32.0580171,43.6675254,23.2453753,3.2981437,11.9490314,9.8675125,43.5338749,11.6197265,0.9993232,0.9993232,15.6792964,10.3253886,67.1059819,12.8906186,36.6339067,64.1933686,32.2388534,44.4932581,23.3453911,3.852111,12.6765753,10.3979077,43.6519665,10.9375068,0.9383024,0.9383024,15.1694004,10.0704406,65.8503872,12.9040603,36.5554797,65.1641405,33.2725134,43.6946173,23.5278773,4.038558,12.9917983,10.5935805,42.6155056,9.1195026 +65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7383702,0.716949,10.9239223,7.0503632,85.0793651,12.9082757,34.7321981,60.6744669,25.8216942,39.4928596,14.26853,3.6995013,10.7680137,8.4883714,32.2570996,8.4643274,0.7271692,0.6935039,10.9512793,7.069731,84.3542552,13.4828128,34.4305871,61.5526813,26.8686381,39.6590756,14.5390153,3.9530514,10.7240878,8.5585962,32.4367378,9.3409639,0.7022629,0.6683434,10.5720665,6.7271284,82.856863,13.384885,34.4106168,62.3261047,27.875061,40.0514712,14.8619481,3.9249352,10.4896223,8.5207012,31.9781617,8.8068898,0.6584066,0.6582609,10.5614457,6.5080678,81.3603503,13.1676573,35.0002369,63.1751772,28.3444177,40.5791077,14.9168786,3.8175501,10.4513439,9.0559097,32.1287258,7.3599468,0.6910643,0.6703358,10.5887068,6.3037793,79.5010258,13.4299291,34.6180425,64.6127458,29.7250192,40.5341458,15.3877281,3.8463289,10.0706318,8.8442677,32.0030827,8.7217535 +66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6521334,0.6936427,16.011317,12.0102177,83.906278,9.8827105,33.1712646,61.294191,24.665685,42.3110221,13.5123717,2.5841344,12.1260738,9.5676337,32.1362835,6.5261511,0.6493796,0.6940797,14.9689301,11.2974332,82.9344179,9.8405475,32.6609088,62.3769202,25.6184703,42.8239588,13.7123849,2.6215886,12.0881885,9.7383144,31.7271973,6.1046958,0.6992767,0.7372671,14.2808014,10.7431613,80.9753323,9.6805098,32.9128512,63.7699624,26.7247099,43.1567445,14.3205525,2.7526109,12.0408729,9.8800872,31.4935862,6.6355564,0.6425652,0.6866147,13.8775603,10.5659435,79.1588949,9.6392587,32.659647,64.5536673,27.1692306,43.7783995,14.5330335,2.6555338,11.6430784,9.4483644,30.6939746,7.0069623,0.6144364,0.6233626,12.8710667,9.7126011,77.809692,9.5386401,32.3168755,66.4440488,28.4622393,44.3212546,15.0261496,2.7188837,11.2485003,9.3993528,30.2058019,7.118395 +67,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6667507,0.7235061,12.3677183,8.0061313,73.2119023,7.8733425,31.3302358,66.7539022,35.5866063,40.7416504,17.8007108,3.9847914,10.148898,8.2622884,37.3849632,7.452243,0.6856278,0.7409429,12.3643066,8.151578,71.8202309,7.944531,31.1132091,67.3945506,36.6742912,40.7431321,17.8422207,4.0937125,10.4400706,8.6271174,37.3295118,7.4561538,0.6576168,0.7112829,12.0691381,7.9149235,70.4656104,7.7743572,30.6930173,68.5402776,37.254803,40.9688303,18.1569266,4.0276806,10.5927205,8.4128888,37.3102499,7.2490839,0.5968017,0.6143695,11.8150003,7.8549999,69.7548911,7.6714356,29.8910855,68.9098738,38.0545558,40.6225001,18.1205064,4.1017191,10.482044,8.5116463,36.1513569,7.2542078,0.5793732,0.5955827,11.7162229,7.7315943,68.9681489,7.8373812,30.1672856,68.9458849,37.9975825,40.3456606,18.2152606,4.1469322,10.3227693,8.1931185,35.9703295,6.5243894 +68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4776873,0.4989303,9.118356,5.8172279,86.7148799,18.2131299,31.1902794,57.5835988,22.9498432,34.3749976,10.9673597,5.2348741,10.959255,8.8802054,33.3246653,7.5000034,0.4124746,0.4336791,8.8223454,5.4863317,85.0884449,17.9306142,32.0548407,59.0421325,23.9864843,34.9960219,11.3076339,5.3060426,10.1851819,8.6255619,32.9288957,6.0810838,0.4077502,0.4290242,8.4913248,5.5062496,83.8955205,17.9420019,31.8582242,60.1722067,24.2490958,35.382454,11.0732902,5.3063687,10.3884113,8.7212927,34.0049598,5.6818208,0.5090211,0.5339603,8.7368823,5.7506025,82.6773307,18.209131,31.5313488,60.9927655,24.9799005,35.8319887,11.274118,5.3255638,10.2103135,8.4751543,34.4133676,5.2272751,0.3926791,0.4448953,8.2896343,5.344898,81.2120027,18.9312632,31.0669845,61.9133593,25.9326075,37.2041656,11.5724046,5.3549948,10.7196978,8.9217926,34.9621239,4.2035417 +69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9371642,0.9851207,15.1301097,9.8674629,69.3149959,12.4387616,37.8055255,62.9914939,31.0573674,44.1285771,23.1402718,2.8958456,11.4461703,10.1253391,43.085445,9.8540218,0.9903656,0.9903656,15.4373798,10.1609808,68.0232673,12.6809585,37.2295388,63.0870576,32.0580171,43.6675254,23.2453753,3.2981437,11.9490314,9.8675125,43.5338749,11.6197265,0.9993232,0.9993232,15.6792964,10.3253886,67.1059819,12.8906186,36.6339067,64.1933686,32.2388534,44.4932581,23.3453911,3.852111,12.6765753,10.3979077,43.6519665,10.9375068,0.9383024,0.9383024,15.1694004,10.0704406,65.8503872,12.9040603,36.5554797,65.1641405,33.2725134,43.6946173,23.5278773,4.038558,12.9917983,10.5935805,42.6155056,9.1195026,0.7845703,0.7615124,14.3510465,9.7426793,64.5340657,12.3226857,36.180103,65.7859364,33.7601467,43.9968246,23.4624859,3.8358831,12.7896076,10.403678,40.2726882,7.7142901 +70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4124746,0.4336791,8.8223454,5.4863317,85.0884449,17.9306142,32.0548407,59.0421325,23.9864843,34.9960219,11.3076339,5.3060426,10.1851819,8.6255619,32.9288957,6.0810838,0.4077502,0.4290242,8.4913248,5.5062496,83.8955205,17.9420019,31.8582242,60.1722067,24.2490958,35.382454,11.0732902,5.3063687,10.3884113,8.7212927,34.0049598,5.6818208,0.5090211,0.5339603,8.7368823,5.7506025,82.6773307,18.209131,31.5313488,60.9927655,24.9799005,35.8319887,11.274118,5.3255638,10.2103135,8.4751543,34.4133676,5.2272751,0.3926791,0.4448953,8.2896343,5.344898,81.2120027,18.9312632,31.0669845,61.9133593,25.9326075,37.2041656,11.5724046,5.3549948,10.7196978,8.9217926,34.9621239,4.2035417,0.3697758,0.4583895,8.0912042,5.1856346,80.6445068,18.9785339,30.74297,61.0642572,25.0803223,37.3694734,12.0682715,5.4016075,10.6231255,9.2105209,34.8496244,3.4246575 +71,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5694916,0.6113016,11.4110116,7.226195,82.0535924,14.5246426,34.8857343,61.7572913,29.2119749,42.5925847,16.4460239,5.0985017,9.9440736,9.007687,34.9379913,8.4795322,0.5825534,0.6132003,11.1067845,7.1217282,80.9620478,14.4520069,34.6220473,62.4960628,30.0236235,42.6850335,16.1968527,4.9370065,9.7480469,8.6844088,34.7253045,9.0291297,0.5799373,0.631932,10.8068698,6.9105665,79.413637,14.2314797,33.9421784,63.0732188,30.9109347,42.9270922,16.45423,4.9976668,9.9181233,8.7158436,33.9219349,8.9453911,0.5564315,0.6011774,10.4262146,6.729302,78.4226241,14.2780647,33.2481048,64.3809113,31.7449265,43.1194758,17.1315737,5.1061504,9.6064172,8.5351651,33.1918165,8.6111143,0.6035644,0.6516391,10.3790763,6.7399558,77.458318,14.7479797,33.3410561,64.1435197,31.6589559,43.2484581,17.2608104,5.0694425,9.4968055,8.4230455,33.7960432,7.1043191 +72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8039712,0.8251098,12.2282419,7.8112527,76.8054036,8.2026433,36.0264223,61.4061497,34.2626385,41.0729983,20.5144492,3.7384196,11.483721,9.5439327,41.3493979,6.7223269,0.8109069,0.8171126,12.0257004,7.6134979,75.6568796,7.9438518,35.9015974,62.4574268,35.1054551,41.1934158,20.5408719,3.6363393,11.2186168,9.4877987,41.2514178,7.2265375,0.7697706,0.7612703,12.1654502,7.5688601,74.8941642,8.1177924,35.4975366,63.4986642,36.2486533,41.5084419,21.0081471,3.6157695,11.1281756,9.4044116,41.0949471,7.4252951,0.7216056,0.7230786,11.8594094,7.3665329,74.0796034,8.094835,35.1600735,64.2578989,37.1212523,42.0891673,21.5022223,3.6662878,11.3534449,9.3870862,40.4244603,6.8944698,0.7121585,0.7106798,11.9709998,7.5141664,73.1363547,8.1782717,34.669405,65.1540826,37.7847112,42.1309919,21.5818565,3.7586711,11.0137815,9.4479593,39.7464863,6.0628067 +73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9903656,0.9903656,15.4373798,10.1609808,68.0232673,12.6809585,37.2295388,63.0870576,32.0580171,43.6675254,23.2453753,3.2981437,11.9490314,9.8675125,43.5338749,11.6197265,0.9993232,0.9993232,15.6792964,10.3253886,67.1059819,12.8906186,36.6339067,64.1933686,32.2388534,44.4932581,23.3453911,3.852111,12.6765753,10.3979077,43.6519665,10.9375068,0.9383024,0.9383024,15.1694004,10.0704406,65.8503872,12.9040603,36.5554797,65.1641405,33.2725134,43.6946173,23.5278773,4.038558,12.9917983,10.5935805,42.6155056,9.1195026,0.7845703,0.7615124,14.3510465,9.7426793,64.5340657,12.3226857,36.180103,65.7859364,33.7601467,43.9968246,23.4624859,3.8358831,12.7896076,10.403678,40.2726882,7.7142901,0.8017377,0.7788043,14.7629107,9.7509612,62.816763,11.9950604,35.6102063,66.5070279,34.4792181,43.7233261,24.1974294,3.8299669,13.1926754,11.4424098,42.0704078,7.712766 +74,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7154917,0.7084963,12.661691,7.8373286,68.4214292,15.521451,38.7912565,61.4224138,33.5771448,46.5448492,20.2404662,3.9676394,11.208156,10.8587179,33.072192,8.0508475,0.8871376,0.8663692,12.1407554,7.5401312,64.8408189,15.7838273,38.1636931,62.2661458,33.9606007,46.6599628,20.8536682,3.9127516,10.547906,10.8549249,32.5926279,7.0247934,0.9997995,0.978971,11.5554652,7.577767,62.6070867,16.0372295,37.5143066,63.3704846,34.6746697,46.2696793,21.22198,3.9028488,10.8299315,11.2910365,31.7943679,8.2677165,1.046839,1.0258964,11.9944472,7.8101674,59.8960673,16.4985893,36.6975429,65.2384996,35.6507549,47.6039238,22.1501714,3.613133,11.4197287,11.5007536,31.9516622,7.5396825,0.9006675,0.8794137,11.8384068,7.5821973,57.9175136,16.7933162,36.8893556,65.8290381,36.9816199,48.4842642,22.926743,3.6868325,10.2890562,10.918091,30.7275885,8.267723 +75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6719153,0.6967422,11.623134,6.6309861,58.3805405,12.0085919,40.5803472,63.2115122,38.0714317,49.387027,24.5541575,2.69102,11.4457375,10.2700439,36.5088669,7.5892857,0.5841018,0.6094614,11.2904892,6.4553778,57.0548561,11.6866441,39.607162,64.8955901,38.5121812,48.8755986,24.2128387,2.6882489,10.9633443,10.7980398,37.2339447,7.7981651,0.699633,0.709013,11.8989057,6.6441811,55.8235549,11.4658399,37.571338,65.7291304,38.6482915,47.4595835,24.2250438,2.4902018,10.6966476,10.8419474,37.1154444,9.8290598,0.5827365,0.6012629,12.1242924,6.9245901,55.3971944,11.9073224,37.3093065,65.8421105,39.0291924,46.8604478,23.6896467,2.3016137,10.5714052,11.7185923,37.938439,8.6065574,0.4203566,0.4387552,12.11373,6.6911529,55.54631,12.0169847,37.0153068,64.9596619,38.6234575,45.9010051,24.1881943,2.4373407,10.8963325,12.4189532,37.9681369,7.5396885 +76,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5825534,0.6132003,11.1067845,7.1217282,80.9620478,14.4520069,34.6220473,62.4960628,30.0236235,42.6850335,16.1968527,4.9370065,9.7480469,8.6844088,34.7253045,9.0291297,0.5799373,0.631932,10.8068698,6.9105665,79.413637,14.2314797,33.9421784,63.0732188,30.9109347,42.9270922,16.45423,4.9976668,9.9181233,8.7158436,33.9219349,8.9453911,0.5564315,0.6011774,10.4262146,6.729302,78.4226241,14.2780647,33.2481048,64.3809113,31.7449265,43.1194758,17.1315737,5.1061504,9.6064172,8.5351651,33.1918165,8.6111143,0.6035644,0.6516391,10.3790763,6.7399558,77.458318,14.7479797,33.3410561,64.1435197,31.6589559,43.2484581,17.2608104,5.0694425,9.4968055,8.4230455,33.7960432,7.1043191,0.6311906,0.7116031,10.2385706,6.6294559,75.8855843,14.9501898,33.6413131,64.2468965,32.3835492,43.625785,17.7562187,5.0543462,9.3292382,8.0498561,33.9475403,7.025533 +77,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8991823,0.8934015,14.1018688,8.6294086,62.5803258,15.7657325,37.2910843,67.7260543,34.1376413,47.5156155,22.5276411,2.0785166,12.0788148,10.8607712,37.8255143,9.8284634,1.0428381,1.0371968,13.6030244,8.4817832,62.8222106,15.2613561,36.3026039,68.1629435,34.7675449,46.488364,22.2558737,2.0234109,11.6427217,10.5517564,37.4542496,9.764946,0.9960366,0.9904305,13.5434915,8.6885798,61.4494675,15.7836664,36.9847083,68.897652,36.3824271,46.7577117,23.3208347,2.0612156,11.8181539,10.3570148,38.0934196,9.3982489,1.088689,1.08071,13.4324312,8.6268393,59.8826296,15.3618904,36.1844247,69.0541357,37.0188123,46.7082344,22.6933445,1.9703223,11.829337,11.4195902,37.1368474,10.5069875,1.137949,1.1084111,12.9233311,8.2365246,58.9784202,15.4830432,35.5132436,68.7528873,36.9666463,46.4835846,22.3862675,2.2269059,11.6085053,10.9414351,35.5837774,9.5743594 +78,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4592275,0.4592275,9.2068646,5.635436,85.5528846,16.6745506,34.361949,61.8329466,25.638051,39.4663573,12.4593968,4.199536,10.8782435,9.4966443,35.819398,3.2994924,0.4729247,0.4514931,8.8303821,5.3821062,85.0593824,16.5579879,34.8982424,62.5115634,26.3413506,39.7086031,12.372803,4.0471785,10.7599432,9.6924177,35.5150215,3.2828283,0.518487,0.4972376,9.1392874,5.6686719,83.0679157,17.5862069,33.7257618,64.4275162,27.2622345,40.8356417,13.1348107,4.1782087,10.2633617,8.7616822,34.9533437,2.8061224,0.4145299,0.3931624,9.2540793,5.5244755,81.6369606,17.6186089,32.9524254,65.4151119,28.3815299,41.2546642,13.7826493,3.9412313,10.349345,8.9833479,34.3722564,3.25,0.3575025,0.3359229,8.8193791,5.1505174,80.2693762,17.9350348,33.1376233,65.6411461,28.1117896,41.3574448,13.8327853,3.8280883,9.7465035,9.1666667,33.9929639,3.3505155 +79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8052376,0.6866126,10.063317,7.0253787,42.2322673,29.4901544,28.1936277,67.6773001,34.90337,41.3550454,14.0001355,4.96779,17.1466006,10.835594,32.8532685,4.4118296,0.9045497,0.7884045,11.6005494,8.374773,43.4865152,31.0233823,28.1841156,68.284886,36.254762,43.4428007,15.5738211,5.2333507,15.8629582,9.517851,34.2239689,4.7826711,0.9027746,0.9027746,11.3027264,8.8762025,41.2811769,32.8825991,29.3619786,67.9036161,36.2630316,45.2475711,16.601616,4.7526568,17.236892,10.1316856,33.5527216,5.8559086,0.8504285,0.8504285,11.5914769,9.0852471,42.5708067,32.1872572,28.7625934,68.1758899,35.7781121,45.2170658,16.6454185,4.273011,18.6856549,11.4692052,34.2378658,6.465573,0.7105265,0.7105265,11.6545882,9.2391649,41.8529821,32.5118496,27.5670683,68.15397,35.5135543,46.2716254,17.5428076,4.2176529,17.076254,9.9509822,33.1282405,6.6929661 +80,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5112158,0.5217492,8.2984761,5.164897,88.3731252,6.385393,28.5403884,57.9672132,23.7651053,34.5169935,11.1391062,5.2565827,10.409482,8.3775001,38.2283858,3.1415929,0.4855162,0.5059841,8.2521946,5.1553033,87.946918,6.4984014,28.1821941,59.138063,24.307887,34.7385163,11.4577136,5.3103521,10.6404123,8.7020699,38.2200866,2.6521739,0.4978832,0.5090127,8.1382403,5.1224223,87.7891594,6.659019,27.4868872,59.7625622,24.7011917,34.785784,11.5069045,5.2003417,10.7449302,9.1291294,37.9666201,2.9806885,0.5039233,0.5143893,8.2314513,5.1694562,87.6428021,6.6262688,27.1522546,61.1413661,25.3168951,35.2532526,11.620706,5.0455904,10.3706317,9.2160688,37.5901359,3.1224655,0.5534378,0.5551855,8.384555,5.2173072,87.5254518,6.3711446,26.6603773,61.8840621,26.0532791,35.679084,11.7398831,5.1424276,10.1415851,9.1873397,37.354849,3.5150079 +81,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4868509,1.4206112,20.1603514,15.6724866,29.3146137,21.1697268,35.8219267,69.371958,38.4198647,48.8824352,23.9885874,4.22054,11.8723586,10.4437281,29.8985872,18.6508085,1.3739382,1.3083456,20.1033847,15.7980026,29.9859065,22.2649545,35.2655866,69.4165439,38.580881,48.8123266,23.3778374,4.0704021,11.3495368,9.9100333,29.3750934,20.2381113,1.2644652,1.1985671,20.2573551,15.8642013,30.6133064,22.6982176,35.1297143,69.934592,38.2423678,49.095933,22.6837093,4.5946197,9.8789268,9.4692895,28.344123,21.4285894,1.0352755,0.9703194,21.0246499,16.551326,30.5819312,22.6920882,35.9722449,69.3536231,37.6786379,49.1839611,23.116963,4.2966915,10.9890719,9.269437,27.7218373,21.2500177,0.8861493,0.7921321,21.403998,17.276327,31.8494149,22.6228668,35.3760157,68.5964791,36.6791906,49.8294211,22.3621566,3.7327234,11.5056819,9.5799131,29.6063717,18.3760841 +82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8399081,0.8407794,13.5357396,8.9531929,82.2921783,13.1526314,37.8557388,61.6485784,29.5411279,44.6514096,16.0937149,3.0140778,13.0166174,10.4856895,33.4724869,5.4666594,0.7883297,0.7891984,12.8535263,8.5091009,81.5851292,13.0609876,37.6450931,62.4980122,30.5692665,44.7209564,16.5447669,3.124506,13.0831097,10.7918769,33.6189977,5.7486539,0.7347503,0.7470161,12.7067449,8.4212583,80.3589478,12.81271,37.415665,62.9216171,31.07133,45.0770998,17.0012911,3.1721835,13.0929643,10.7433644,33.3369048,5.7486554,0.7150493,0.7393873,12.4200435,8.1630635,78.7841159,13.0635061,38.0387877,64.2834451,32.2013837,45.99173,17.3453138,3.3640866,12.5689957,10.9118308,32.8132275,6.472073,0.6318105,0.6415842,11.9708328,7.8002496,77.2989356,13.1214886,37.795316,65.5092645,33.740436,45.9211393,18.0156425,3.536081,11.9438858,10.5630276,32.465058,7.2839452 +83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8717252,0.9138009,16.7861357,13.0554771,32.4903215,17.3031432,37.5936918,66.5492919,38.56724,50.6747326,24.7675312,3.6603716,10.873962,8.1708638,33.4837614,18.2247296,0.8233445,0.8651005,17.523497,13.7479054,34.1297959,17.3149877,37.9363359,66.2503278,38.0650354,50.6754971,24.2920303,3.765457,11.7196585,8.9621243,33.0592951,17.105749,0.6996635,0.7418232,18.1124637,14.4326664,35.1757595,16.7201184,37.7297524,66.4407543,37.7948532,49.9019907,24.0557489,3.7443694,11.6353079,9.0640004,32.5774824,15.4875448,0.8126506,0.8536731,18.8593303,14.674841,35.8205792,17.6326503,38.4694763,66.3842856,39.2259056,50.6917969,24.795498,3.9391975,12.7206765,10.1019803,34.224742,13.2487501,0.8201539,0.8607739,18.9274156,14.7073625,35.9919531,18.2278585,37.9698892,65.220105,39.0952448,50.4677193,25.0321972,3.7821485,13.1130727,10.1607145,33.2298677,11.0654434 +84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2134038,1.2623355,21.2321392,16.0357687,22.7052709,13.122299,35.608243,63.8539294,33.1862164,48.1553941,23.8514392,4.4543092,14.1041193,12.7327317,33.642946,19.3810775,1.359579,1.4106377,21.6062473,16.5930047,22.4711022,13.6371419,35.5143297,62.8319251,31.8478322,48.5490929,23.5191729,4.5727441,14.1149951,12.0487893,33.3562769,21.6622075,1.328468,1.4253385,21.8784546,16.4583111,22.8956121,14.0262232,36.4165231,62.3838627,31.6656256,48.6996257,23.2305691,4.6121593,14.532572,11.5817967,34.3148707,20.2519887,1.2962873,1.3915965,21.778056,16.2011918,23.9709847,14.5174276,36.7351238,60.9178275,31.3401666,48.2476556,22.4969714,4.4771476,15.7047682,11.8473896,34.5265516,20.8844867,1.2832723,1.3789678,22.0232997,16.7199403,24.7354458,15.7384285,37.7121047,61.8859112,31.682543,48.9893674,23.5873442,4.7732969,15.6162985,12.2441259,34.265948,19.379411 +85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7197057,1.6908058,14.0105094,9.0089778,42.4566574,21.7336351,35.6380841,67.9901211,38.2204817,48.2319728,28.7234172,3.8082662,10.7051316,8.7355665,37.4442609,12.146962,1.7375495,1.709244,14.3647345,9.0965827,42.5437458,20.2060493,36.2922705,67.3194431,37.4239459,47.7388054,27.8696558,3.409895,9.872694,8.4134353,37.326366,13.4042557,1.793346,1.766201,14.3837892,9.4160959,43.7315907,19.1409388,35.1157382,67.9355204,38.0224919,48.4348086,27.134876,3.1019036,10.4986831,8.2315222,38.6801619,12.5758159,1.7986391,1.7878517,14.4908406,9.7684579,44.344027,18.9869368,34.9611926,67.5769145,38.158907,48.0764657,27.8277576,2.8702906,10.2486643,8.5078829,39.0627655,10.0624061,1.6209048,1.5893269,15.2587312,10.4964145,42.4915666,18.9411746,34.1860939,68.8439961,38.4992298,48.7141351,28.9141287,2.9173875,11.5247494,9.5663245,39.4459169,12.3124809 +86,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2985376,1.3741805,25.1607717,21.4630225,53.9408867,7.428115,36.1378205,65.7852564,29.8878205,44.6314103,15.625,4.7275641,14.1719745,9.7133758,34.0390879,7.4561404,1.3762626,1.4520202,25.0806452,21.2096774,54.6875,7.5636943,35.2327448,66.6934189,28.6516854,44.2215088,15.1685393,5.3772071,15.8653846,10.4166667,35.6677524,9.2920354,1.712828,1.8586006,25.4276827,21.3841369,55.2464229,7.6388889,34.5496894,66.8478261,28.1832298,44.1770186,15.4503106,5.5124224,17.6751592,11.6242038,35.3225806,9.9137931,1.8041237,1.9513991,25.9811617,21.899529,52.8892456,8.1395349,34.1940532,67.057903,29.1862285,45.9311424,15.8841941,5.399061,18.1372549,12.5816993,35.8085809,9.4262295,1.8494152,1.995614,25.3488372,20.8527132,52.8044872,7.7453988,34.1860465,64.5736434,28.1395349,42.8682171,16.0465116,5.1937984,16.7711599,11.1285266,36.2341772,11.25 +87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5362243,0.498305,8.2276572,5.2989121,86.2857977,15.7886756,31.9316418,61.2332885,25.1560253,36.0326866,13.8633015,6.8796463,10.7311869,7.8478292,37.1287143,3.4441822,0.4791113,0.4324446,8.0679086,5.3335326,86.3124189,16.477784,31.6046043,62.101064,26.5218748,36.7464532,13.9036667,7.3138326,10.3887123,7.9561389,36.7455876,2.9069774,0.4105394,0.3952207,7.5609026,5.0356493,86.3165632,16.5508282,31.2391151,62.6088222,26.7121372,36.3464879,14.2338968,7.2693005,10.0099384,7.1464415,35.0600606,3.3916856,0.514861,0.4671428,7.2585391,4.9322721,85.6168306,16.5624144,30.3453207,63.2949618,28.0143932,36.7625893,14.5755393,7.3812977,10.2046494,6.8534984,35.3318467,3.927814,0.5566357,0.5095668,7.7157801,5.0711991,85.4621071,16.3153493,29.6480248,63.198972,28.0868633,36.5455609,14.2350241,7.3091145,10.8041556,7.2802167,35.8995593,4.3157904 +88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.359579,1.4106377,21.6062473,16.5930047,22.4711022,13.6371419,35.5143297,62.8319251,31.8478322,48.5490929,23.5191729,4.5727441,14.1149951,12.0487893,33.3562769,21.6622075,1.328468,1.4253385,21.8784546,16.4583111,22.8956121,14.0262232,36.4165231,62.3838627,31.6656256,48.6996257,23.2305691,4.6121593,14.532572,11.5817967,34.3148707,20.2519887,1.2962873,1.3915965,21.778056,16.2011918,23.9709847,14.5174276,36.7351238,60.9178275,31.3401666,48.2476556,22.4969714,4.4771476,15.7047682,11.8473896,34.5265516,20.8844867,1.2832723,1.3789678,22.0232997,16.7199403,24.7354458,15.7384285,37.7121047,61.8859112,31.682543,48.9893674,23.5873442,4.7732969,15.6162985,12.2441259,34.265948,19.379411,1.2370812,1.3311543,22.0706084,16.9289649,25.2667212,16.0386187,37.5586204,62.0501083,31.9703118,49.0101078,24.0253791,4.5749582,16.1469123,12.4282325,33.7762031,21.7944247 +89,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8315858,0.8275232,14.5685036,10.5789237,79.0963913,10.4181708,35.8518041,62.8357196,32.8026369,43.7535248,17.1959221,4.6712009,11.4183141,10.6003107,32.6790304,10.3880843,0.7676425,0.7635799,14.2648616,10.2125288,76.6459843,10.6147306,34.6399605,63.6524365,34.1477136,44.6827273,17.7051403,4.9383566,11.0567246,10.889148,32.9331416,8.7078583,0.7132545,0.7193783,12.8943631,8.9192878,74.6871115,10.523814,33.920257,64.3983799,34.6122383,44.0356879,17.8081034,4.9249347,10.1726619,9.9543328,32.5088806,8.010957,0.6998961,0.7164697,13.4342225,9.2827346,72.4930573,10.4146914,32.767771,65.6205127,35.3517365,44.4121917,17.9354316,4.8144908,10.4858997,10.5671976,33.1130957,9.0290736,0.7859444,0.8022345,13.2263705,8.9744598,70.7133689,10.5529252,32.3503356,66.7267431,36.4333687,45.0933158,18.5537115,4.7241302,10.3653017,10.2415307,33.074478,9.2355239 +90,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7676425,0.7635799,14.2648616,10.2125288,76.6459843,10.6147306,34.6399605,63.6524365,34.1477136,44.6827273,17.7051403,4.9383566,11.0567246,10.889148,32.9331416,8.7078583,0.7132545,0.7193783,12.8943631,8.9192878,74.6871115,10.523814,33.920257,64.3983799,34.6122383,44.0356879,17.8081034,4.9249347,10.1726619,9.9543328,32.5088806,8.010957,0.6998961,0.7164697,13.4342225,9.2827346,72.4930573,10.4146914,32.767771,65.6205127,35.3517365,44.4121917,17.9354316,4.8144908,10.4858997,10.5671976,33.1130957,9.0290736,0.7859444,0.8022345,13.2263705,8.9744598,70.7133689,10.5529252,32.3503356,66.7267431,36.4333687,45.0933158,18.5537115,4.7241302,10.3653017,10.2415307,33.074478,9.2355239,0.8139051,0.8304068,13.4678697,9.2355816,69.1017383,10.2746322,33.1825927,67.0854983,36.6331889,45.9129285,18.8777446,4.7068767,10.4717159,10.4717159,33.3648107,11.6973067 +91,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0428381,1.0371968,13.6030244,8.4817832,62.8222106,15.2613561,36.3026039,68.1629435,34.7675449,46.488364,22.2558737,2.0234109,11.6427217,10.5517564,37.4542496,9.764946,0.9960366,0.9904305,13.5434915,8.6885798,61.4494675,15.7836664,36.9847083,68.897652,36.3824271,46.7577117,23.3208347,2.0612156,11.8181539,10.3570148,38.0934196,9.3982489,1.088689,1.08071,13.4324312,8.6268393,59.8826296,15.3618904,36.1844247,69.0541357,37.0188123,46.7082344,22.6933445,1.9703223,11.829337,11.4195902,37.1368474,10.5069875,1.137949,1.1084111,12.9233311,8.2365246,58.9784202,15.4830432,35.5132436,68.7528873,36.9666463,46.4835846,22.3862675,2.2269059,11.6085053,10.9414351,35.5837774,9.5743594,1.2068413,1.1810927,13.4434963,8.3642582,57.5690931,15.874298,35.5026988,68.3033734,37.3824318,45.6057814,22.0628723,2.2321274,11.4617477,10.121497,35.547129,9.3748893 +92,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6856278,0.7409429,12.3643066,8.151578,71.8202309,7.944531,31.1132091,67.3945506,36.6742912,40.7431321,17.8422207,4.0937125,10.4400706,8.6271174,37.3295118,7.4561538,0.6576168,0.7112829,12.0691381,7.9149235,70.4656104,7.7743572,30.6930173,68.5402776,37.254803,40.9688303,18.1569266,4.0276806,10.5927205,8.4128888,37.3102499,7.2490839,0.5968017,0.6143695,11.8150003,7.8549999,69.7548911,7.6714356,29.8910855,68.9098738,38.0545558,40.6225001,18.1205064,4.1017191,10.482044,8.5116463,36.1513569,7.2542078,0.5793732,0.5955827,11.7162229,7.7315943,68.9681489,7.8373812,30.1672856,68.9458849,37.9975825,40.3456606,18.2152606,4.1469322,10.3227693,8.1931185,35.9703295,6.5243894,0.5446291,0.5585896,11.6422337,7.6410113,68.4154045,8.0601645,30.2958375,68.6439818,37.6464066,39.9283138,18.0583624,4.0337246,10.4735593,8.2138114,35.8037837,6.2652061 +93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6686635,0.6113165,13.7333741,9.254715,74.3045338,13.0346645,36.6384186,64.9876435,31.9724096,42.8950073,17.2675745,2.7394838,10.7984036,8.3569287,37.0080577,5.0802112,0.752846,0.6957201,14.0754809,9.5048381,73.2605769,12.9131942,36.624459,66.1915137,33.1397325,42.8546231,17.3706299,2.6223155,10.2210068,8.2436544,35.411331,5.0531861,0.6888082,0.6316823,13.4980951,8.969918,71.6305776,12.8468585,36.8078017,67.213439,34.0211568,42.5573102,17.9012237,2.7689588,9.8543559,8.0266832,35.1308077,6.4102465,0.7175993,0.6500876,13.0337386,8.7293255,70.8121213,13.7580327,35.8726568,68.1034677,34.0077208,42.945096,17.9978748,2.44546,9.4513797,7.9145813,35.0978605,5.4245257,0.6938031,0.6270517,12.7282005,8.5945403,69.2210362,13.4055386,35.0812457,68.4145579,33.9512568,43.2026653,18.5557831,2.1362985,8.656475,8.0165322,34.8293076,5.8685418 +94,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5954156,0.6556842,16.5545912,11.2279948,73.393531,15.3277356,41.3622354,64.7833735,32.8094042,46.8563941,20.4616302,2.7612552,12.0702467,9.7020543,35.1245783,7.7830115,0.7474367,0.8076739,15.9646834,10.7976032,72.120748,15.2105066,41.1572401,65.3824382,33.2527675,46.7301452,20.2303174,2.6300806,11.469187,9.2540433,34.8307808,9.0277778,0.7036857,0.7203832,15.1671272,10.2646271,69.9444515,15.7555965,40.2241771,66.6146614,34.6623084,47.4035066,21.0414447,3.0221376,11.556807,9.5726148,34.8233715,9.4936669,0.6735279,0.6903698,14.4163082,9.6343189,68.8651409,15.8687017,39.5684361,68.3481062,35.3672298,47.284927,21.3060972,2.8722522,11.4766071,9.5853649,34.1731865,10.7594846,0.6669325,0.6755995,14.1122258,9.282527,67.657171,15.6821458,39.053661,67.9802345,35.7203277,48.206209,21.5113136,2.6694972,10.9658419,9.4284178,34.557637,10.6522081 +95,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5500017,0.5398838,11.4264602,7.0613978,78.2082817,9.0922072,31.5560309,61.6440621,31.5253422,41.3885496,16.820518,3.697936,10.7137297,8.7790415,32.4705266,6.3928253,0.5888919,0.5786676,11.4221055,6.9202477,77.0787233,9.2413081,31.4088902,62.0253427,32.8950927,41.2603165,17.150376,3.9934306,10.8016583,9.2057299,32.3553347,8.3110153,0.6160142,0.5655966,11.0757654,6.9522346,76.355125,9.6936034,30.9089469,64.146217,33.3478854,41.2501924,17.506604,3.9899526,10.9180677,9.3069764,32.9056981,8.8715529,0.6385877,0.5702776,10.8780268,6.7353961,74.530807,10.2561054,30.5361234,64.7863631,34.7085892,42.3703097,18.1923233,4.181361,10.6032153,8.9727358,32.9633522,8.5045076,0.5384739,0.4784891,10.4738373,6.3428973,73.2384575,10.2690558,30.3050569,66.1236886,35.0528524,41.8478549,18.549816,4.3177052,10.5383431,8.8999256,32.770561,6.7132814 +96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8109069,0.8171126,12.0257004,7.6134979,75.6568796,7.9438518,35.9015974,62.4574268,35.1054551,41.1934158,20.5408719,3.6363393,11.2186168,9.4877987,41.2514178,7.2265375,0.7697706,0.7612703,12.1654502,7.5688601,74.8941642,8.1177924,35.4975366,63.4986642,36.2486533,41.5084419,21.0081471,3.6157695,11.1281756,9.4044116,41.0949471,7.4252951,0.7216056,0.7230786,11.8594094,7.3665329,74.0796034,8.094835,35.1600735,64.2578989,37.1212523,42.0891673,21.5022223,3.6662878,11.3534449,9.3870862,40.4244603,6.8944698,0.7121585,0.7106798,11.9709998,7.5141664,73.1363547,8.1782717,34.669405,65.1540826,37.7847112,42.1309919,21.5818565,3.7586711,11.0137815,9.4479593,39.7464863,6.0628067,0.6649479,0.6523594,11.6787896,7.2399583,71.9778944,8.2379405,34.9838267,65.623922,38.1796257,42.4720333,22.096664,3.684841,11.6737167,9.5439819,40.0113204,6.4995771 +97,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7132545,0.7193783,12.8943631,8.9192878,74.6871115,10.523814,33.920257,64.3983799,34.6122383,44.0356879,17.8081034,4.9249347,10.1726619,9.9543328,32.5088806,8.010957,0.6998961,0.7164697,13.4342225,9.2827346,72.4930573,10.4146914,32.767771,65.6205127,35.3517365,44.4121917,17.9354316,4.8144908,10.4858997,10.5671976,33.1130957,9.0290736,0.7859444,0.8022345,13.2263705,8.9744598,70.7133689,10.5529252,32.3503356,66.7267431,36.4333687,45.0933158,18.5537115,4.7241302,10.3653017,10.2415307,33.074478,9.2355239,0.8139051,0.8304068,13.4678697,9.2355816,69.1017383,10.2746322,33.1825927,67.0854983,36.6331889,45.9129285,18.8777446,4.7068767,10.4717159,10.4717159,33.3648107,11.6973067,0.8127591,0.8215747,13.0929054,9.1073943,67.8766639,10.9057406,32.9905759,67.2455203,37.1712949,45.9710378,18.8638138,4.9393212,9.9369248,10.056763,33.3016771,11.1872708 +98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8414024,0.8259327,14.1767659,8.9528275,70.5103827,13.9427821,38.5120791,61.7029964,33.4004864,48.4994462,22.059158,3.8763633,12.8086326,9.1741398,34.2846141,10.0000483,0.8610139,0.8453941,14.2418983,8.9904558,69.0259341,14.1412336,38.0384821,61.8042765,34.4585502,48.5405679,22.6610027,3.6313229,12.4053001,9.1193513,34.3513536,10.0000323,0.8289785,0.8171823,13.8634916,8.867887,67.1625927,14.9107435,37.8366714,62.5905621,34.4084392,47.9852128,22.1687463,3.5141912,13.2081781,9.6219123,35.3675213,8.1818033,0.9127028,0.8774017,13.5457385,8.7687605,65.8285242,14.7004651,38.2210026,62.8831127,34.7078618,48.5225932,22.8033038,3.4622105,12.7674128,9.6275636,35.1689665,7.371776,0.9255869,0.9147835,13.333304,8.8720347,64.2856843,14.7495283,38.5827247,63.5370006,35.3520016,48.0008636,22.8749892,3.1450338,12.6118009,9.7243584,34.6826599,4.777067 +99,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9960366,0.9904305,13.5434915,8.6885798,61.4494675,15.7836664,36.9847083,68.897652,36.3824271,46.7577117,23.3208347,2.0612156,11.8181539,10.3570148,38.0934196,9.3982489,1.088689,1.08071,13.4324312,8.6268393,59.8826296,15.3618904,36.1844247,69.0541357,37.0188123,46.7082344,22.6933445,1.9703223,11.829337,11.4195902,37.1368474,10.5069875,1.137949,1.1084111,12.9233311,8.2365246,58.9784202,15.4830432,35.5132436,68.7528873,36.9666463,46.4835846,22.3862675,2.2269059,11.6085053,10.9414351,35.5837774,9.5743594,1.2068413,1.1810927,13.4434963,8.3642582,57.5690931,15.874298,35.5026988,68.3033734,37.3824318,45.6057814,22.0628723,2.2321274,11.4617477,10.121497,35.547129,9.3748893,1.0934336,1.0450564,13.4303512,8.668433,56.0217909,16.5897634,35.2953874,68.0081,37.4359501,46.5093808,22.3590214,2.7687248,11.6070508,10.3933175,34.9745554,8.8650219 +100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6258344,0.6390602,13.9681553,8.5317696,73.1102555,16.8040665,36.8059121,63.7988373,30.2817793,45.346877,19.5667083,2.829981,13.0844735,10.7760309,38.4342331,8.4118554,0.713916,0.727059,13.678473,8.3734815,71.8291243,17.5597234,37.2129367,65.1294077,32.0006067,45.9868875,20.0682959,2.9076908,12.0471611,10.5967147,38.2107395,10.3125334,0.6623499,0.6623499,12.8955685,8.2169482,69.9181097,17.4339203,36.5824945,66.6501567,32.8534509,46.0006845,20.8767662,2.5225558,12.1088387,10.4134647,37.7035752,9.336687,0.7446015,0.7446015,12.8398911,7.9800143,68.540956,17.5549003,35.3687971,66.5269179,32.8996856,46.1569573,20.7306411,2.5352213,12.0905812,9.713263,36.8935343,10.0752134,0.6316234,0.6235037,12.1936641,7.8571273,67.1424944,17.5899278,34.5780469,66.6294524,34.1755218,46.4153275,20.2222061,2.1242729,12.8076903,11.128258,37.0723526,8.8859206 +101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7697706,0.7612703,12.1654502,7.5688601,74.8941642,8.1177924,35.4975366,63.4986642,36.2486533,41.5084419,21.0081471,3.6157695,11.1281756,9.4044116,41.0949471,7.4252951,0.7216056,0.7230786,11.8594094,7.3665329,74.0796034,8.094835,35.1600735,64.2578989,37.1212523,42.0891673,21.5022223,3.6662878,11.3534449,9.3870862,40.4244603,6.8944698,0.7121585,0.7106798,11.9709998,7.5141664,73.1363547,8.1782717,34.669405,65.1540826,37.7847112,42.1309919,21.5818565,3.7586711,11.0137815,9.4479593,39.7464863,6.0628067,0.6649479,0.6523594,11.6787896,7.2399583,71.9778944,8.2379405,34.9838267,65.623922,38.1796257,42.4720333,22.096664,3.684841,11.6737167,9.5439819,40.0113204,6.4995771,0.6429203,0.634997,11.2965377,6.9618656,71.2408345,8.6013385,34.8524964,65.3486391,38.1570536,42.6752568,22.0728792,3.8036263,11.4322025,9.3798658,39.70625,5.6546221 +102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8610139,0.8453941,14.2418983,8.9904558,69.0259341,14.1412336,38.0384821,61.8042765,34.4585502,48.5405679,22.6610027,3.6313229,12.4053001,9.1193513,34.3513536,10.0000323,0.8289785,0.8171823,13.8634916,8.867887,67.1625927,14.9107435,37.8366714,62.5905621,34.4084392,47.9852128,22.1687463,3.5141912,13.2081781,9.6219123,35.3675213,8.1818033,0.9127028,0.8774017,13.5457385,8.7687605,65.8285242,14.7004651,38.2210026,62.8831127,34.7078618,48.5225932,22.8033038,3.4622105,12.7674128,9.6275636,35.1689665,7.371776,0.9255869,0.9147835,13.333304,8.8720347,64.2856843,14.7495283,38.5827247,63.5370006,35.3520016,48.0008636,22.8749892,3.1450338,12.6118009,9.7243584,34.6826599,4.777067,0.8866936,0.9151812,13.0096862,8.6896017,61.8492817,15.1454287,38.0724379,64.6977972,36.3428792,48.2478626,22.4706884,3.2730262,11.8965868,10.251238,35.1114894,5.7575723 +103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5867324,0.6146865,11.717631,8.2560874,75.9199324,13.7493492,36.6725842,64.2689934,28.2036856,44.8574238,15.415115,4.0593942,10.9186508,9.1621264,29.1425697,7.5301114,0.6012216,0.6479815,11.2967504,7.9899922,72.7799715,13.8763961,37.1457229,65.313586,29.692468,46.1458677,16.0468405,4.1665524,10.9929294,8.7119581,29.7066272,5.6864673,0.5089621,0.5666776,10.6861874,7.4234236,70.4683635,14.0104393,36.4108314,65.8066377,30.6654004,45.3398632,16.3392092,4.0194721,10.6456176,8.7133789,29.6731621,4.9981389,0.5039569,0.539917,10.8400288,7.6579655,68.1748943,13.7649955,35.4880767,66.171603,32.0716586,45.8234141,16.8346222,4.196787,10.3143125,8.5252701,29.4058026,5.3653189,0.5399377,0.5762382,10.995881,7.7785608,65.6683065,13.9238029,34.2726143,66.9665774,32.859393,46.38199,17.2179294,4.237955,10.1170184,9.2448129,29.4827111,6.942007 +104,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7988975,0.7833825,13.8956418,8.539917,73.9592663,13.9274174,37.5034136,61.8474219,31.3091525,41.2362463,20.0026714,3.3134376,10.7386901,8.4974711,36.8957654,10.8975058,0.822133,0.8032401,13.6667352,8.3600667,71.9240452,14.0862151,37.0810953,62.8644425,32.0659768,42.1505779,20.8367493,3.6385306,11.2243968,9.1666853,36.5981055,10.5604653,0.7401185,0.7459243,12.7634169,7.820149,71.293949,13.936644,37.1230082,63.0964203,32.4053959,42.0872846,20.639056,3.6614795,10.9001716,8.9959713,36.2263607,9.9577412,0.7352108,0.7161251,12.9594506,7.8784248,70.396556,14.1156896,36.8386169,63.9017079,32.4787419,42.2951208,20.5237064,3.7153037,10.9564707,8.8620462,34.9743622,9.2520698,0.6877941,0.6811605,12.7007833,7.9907936,69.734331,13.9761171,36.2755904,64.9249316,33.0013128,42.3875928,20.7503937,3.6970593,10.7905796,9.4961701,35.1589304,6.83607 +105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7388958,0.6332895,15.8197576,12.3115533,44.0567772,16.3871889,32.545371,66.8671518,38.16044,42.4833933,19.519818,5.5821761,10.7302365,8.1734211,36.9867516,7.9439252,0.766516,0.720205,16.6726062,12.8396972,44.6905011,16.2876372,33.0787228,66.5831416,37.4141519,41.5542217,19.2459733,6.114088,11.5276728,7.8486453,37.6700988,9.375,0.9082008,0.8695472,16.3031914,12.5336673,45.3673313,15.9392241,32.7932953,65.8045799,36.6579561,40.4673813,18.8895606,6.3184396,10.9591641,8.0372505,38.3137142,8.7962963,1.1852988,1.1472628,16.7311808,12.8488074,46.1425491,15.710847,32.474723,65.1005647,35.8165155,39.2280722,18.4558801,6.0492846,9.7900409,8.2155585,38.969841,16.8103448,1.1138189,1.1138189,17.2785838,13.3331595,47.2530651,15.9107237,33.352251,64.670577,35.8889883,39.5455346,18.9622087,6.1051429,10.5427548,8.5444888,39.2381081,17.7295013 +106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.5841018,0.6094614,11.2904892,6.4553778,57.0548561,11.6866441,39.607162,64.8955901,38.5121812,48.8755986,24.2128387,2.6882489,10.9633443,10.7980398,37.2339447,7.7981651,0.699633,0.709013,11.8989057,6.6441811,55.8235549,11.4658399,37.571338,65.7291304,38.6482915,47.4595835,24.2250438,2.4902018,10.6966476,10.8419474,37.1154444,9.8290598,0.5827365,0.6012629,12.1242924,6.9245901,55.3971944,11.9073224,37.3093065,65.8421105,39.0291924,46.8604478,23.6896467,2.3016137,10.5714052,11.7185923,37.938439,8.6065574,0.4203566,0.4387552,12.11373,6.6911529,55.54631,12.0169847,37.0153068,64.9596619,38.6234575,45.9010051,24.1881943,2.4373407,10.8963325,12.4189532,37.9681369,7.5396885,0.5633227,0.5898015,12.6443867,7.3443388,53.8011439,12.4308848,37.53718,65.5826099,39.2166859,46.5868344,23.7325481,2.8246151,12.6118521,13.0987857,38.7049603,6.1983522 +107,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4855162,0.5059841,8.2521946,5.1553033,87.946918,6.4984014,28.1821941,59.138063,24.307887,34.7385163,11.4577136,5.3103521,10.6404123,8.7020699,38.2200866,2.6521739,0.4978832,0.5090127,8.1382403,5.1224223,87.7891594,6.659019,27.4868872,59.7625622,24.7011917,34.785784,11.5069045,5.2003417,10.7449302,9.1291294,37.9666201,2.9806885,0.5039233,0.5143893,8.2314513,5.1694562,87.6428021,6.6262688,27.1522546,61.1413661,25.3168951,35.2532526,11.620706,5.0455904,10.3706317,9.2160688,37.5901359,3.1224655,0.5534378,0.5551855,8.384555,5.2173072,87.5254518,6.3711446,26.6603773,61.8840621,26.0532791,35.679084,11.7398831,5.1424276,10.1415851,9.1873397,37.354849,3.5150079,0.5391994,0.5355162,8.1942885,5.1322718,87.2050352,6.280104,26.2399821,62.8326148,26.6773888,36.0181945,11.8725472,5.0447644,10.1094866,9.533973,36.954866,3.4336343 +108,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6998961,0.7164697,13.4342225,9.2827346,72.4930573,10.4146914,32.767771,65.6205127,35.3517365,44.4121917,17.9354316,4.8144908,10.4858997,10.5671976,33.1130957,9.0290736,0.7859444,0.8022345,13.2263705,8.9744598,70.7133689,10.5529252,32.3503356,66.7267431,36.4333687,45.0933158,18.5537115,4.7241302,10.3653017,10.2415307,33.074478,9.2355239,0.8139051,0.8304068,13.4678697,9.2355816,69.1017383,10.2746322,33.1825927,67.0854983,36.6331889,45.9129285,18.8777446,4.7068767,10.4717159,10.4717159,33.3648107,11.6973067,0.8127591,0.8215747,13.0929054,9.1073943,67.8766639,10.9057406,32.9905759,67.2455203,37.1712949,45.9710378,18.8638138,4.9393212,9.9369248,10.056763,33.3016771,11.1872708,0.7079175,0.6947652,12.5167707,8.5958569,66.0967374,11.6188574,32.5879572,67.4462798,37.2994257,45.93723,18.8631085,4.933432,9.6784734,9.2283118,33.6222613,10.0000044 +109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6012216,0.6479815,11.2967504,7.9899922,72.7799715,13.8763961,37.1457229,65.313586,29.692468,46.1458677,16.0468405,4.1665524,10.9929294,8.7119581,29.7066272,5.6864673,0.5089621,0.5666776,10.6861874,7.4234236,70.4683635,14.0104393,36.4108314,65.8066377,30.6654004,45.3398632,16.3392092,4.0194721,10.6456176,8.7133789,29.6731621,4.9981389,0.5039569,0.539917,10.8400288,7.6579655,68.1748943,13.7649955,35.4880767,66.171603,32.0716586,45.8234141,16.8346222,4.196787,10.3143125,8.5252701,29.4058026,5.3653189,0.5399377,0.5762382,10.995881,7.7785608,65.6683065,13.9238029,34.2726143,66.9665774,32.859393,46.38199,17.2179294,4.237955,10.1170184,9.2448129,29.4827111,6.942007,0.5228243,0.5592646,11.2085702,7.7912504,63.5438203,13.95499,34.110443,67.4150705,33.0572207,46.1839292,17.7695361,4.28739,10.1730761,8.8332399,29.1529753,7.0596302 +110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7271692,0.6935039,10.9512793,7.069731,84.3542552,13.4828128,34.4305871,61.5526813,26.8686381,39.6590756,14.5390153,3.9530514,10.7240878,8.5585962,32.4367378,9.3409639,0.7022629,0.6683434,10.5720665,6.7271284,82.856863,13.384885,34.4106168,62.3261047,27.875061,40.0514712,14.8619481,3.9249352,10.4896223,8.5207012,31.9781617,8.8068898,0.6584066,0.6582609,10.5614457,6.5080678,81.3603503,13.1676573,35.0002369,63.1751772,28.3444177,40.5791077,14.9168786,3.8175501,10.4513439,9.0559097,32.1287258,7.3599468,0.6910643,0.6703358,10.5887068,6.3037793,79.5010258,13.4299291,34.6180425,64.6127458,29.7250192,40.5341458,15.3877281,3.8463289,10.0706318,8.8442677,32.0030827,8.7217535,0.5823665,0.5652554,10.1080589,6.1850471,78.2224384,13.5297948,34.0431026,65.7119509,30.1281617,40.7314154,15.1829687,4.0559204,10.2956358,9.1106804,32.0348111,8.1240888 +111,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6576168,0.7112829,12.0691381,7.9149235,70.4656104,7.7743572,30.6930173,68.5402776,37.254803,40.9688303,18.1569266,4.0276806,10.5927205,8.4128888,37.3102499,7.2490839,0.5968017,0.6143695,11.8150003,7.8549999,69.7548911,7.6714356,29.8910855,68.9098738,38.0545558,40.6225001,18.1205064,4.1017191,10.482044,8.5116463,36.1513569,7.2542078,0.5793732,0.5955827,11.7162229,7.7315943,68.9681489,7.8373812,30.1672856,68.9458849,37.9975825,40.3456606,18.2152606,4.1469322,10.3227693,8.1931185,35.9703295,6.5243894,0.5446291,0.5585896,11.6422337,7.6410113,68.4154045,8.0601645,30.2958375,68.6439818,37.6464066,39.9283138,18.0583624,4.0337246,10.4735593,8.2138114,35.8037837,6.2652061,0.5257374,0.5412162,11.3258275,7.3797929,67.6165769,8.4701085,30.3895963,68.6364103,37.9506015,39.9989979,18.0690863,4.1520243,10.5118006,8.4382215,35.8514119,6.1455833 +112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.752846,0.6957201,14.0754809,9.5048381,73.2605769,12.9131942,36.624459,66.1915137,33.1397325,42.8546231,17.3706299,2.6223155,10.2210068,8.2436544,35.411331,5.0531861,0.6888082,0.6316823,13.4980951,8.969918,71.6305776,12.8468585,36.8078017,67.213439,34.0211568,42.5573102,17.9012237,2.7689588,9.8543559,8.0266832,35.1308077,6.4102465,0.7175993,0.6500876,13.0337386,8.7293255,70.8121213,13.7580327,35.8726568,68.1034677,34.0077208,42.945096,17.9978748,2.44546,9.4513797,7.9145813,35.0978605,5.4245257,0.6938031,0.6270517,12.7282005,8.5945403,69.2210362,13.4055386,35.0812457,68.4145579,33.9512568,43.2026653,18.5557831,2.1362985,8.656475,8.0165322,34.8293076,5.8685418,0.6447525,0.6259596,12.3175726,8.3912297,67.2724166,14.0971485,34.731095,68.38287,34.6602882,44.037491,18.8782696,2.3885337,9.2469955,8.2577153,34.1337463,6.9819725 +113,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.822133,0.8032401,13.6667352,8.3600667,71.9240452,14.0862151,37.0810953,62.8644425,32.0659768,42.1505779,20.8367493,3.6385306,11.2243968,9.1666853,36.5981055,10.5604653,0.7401185,0.7459243,12.7634169,7.820149,71.293949,13.936644,37.1230082,63.0964203,32.4053959,42.0872846,20.639056,3.6614795,10.9001716,8.9959713,36.2263607,9.9577412,0.7352108,0.7161251,12.9594506,7.8784248,70.396556,14.1156896,36.8386169,63.9017079,32.4787419,42.2951208,20.5237064,3.7153037,10.9564707,8.8620462,34.9743622,9.2520698,0.6877941,0.6811605,12.7007833,7.9907936,69.734331,13.9761171,36.2755904,64.9249316,33.0013128,42.3875928,20.7503937,3.6970593,10.7905796,9.4961701,35.1589304,6.83607,0.6133099,0.5876104,12.3479045,7.618984,68.4428499,13.7359075,36.1350942,65.7821763,33.7454907,42.8314438,21.1587008,3.5981925,10.8127492,9.5750651,35.424547,6.3463138 +114,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9332085,0.8634372,15.6202846,11.1651037,35.9279102,18.0008025,33.3509209,67.3558741,37.198187,45.8815596,22.8696596,2.6552192,11.1839062,9.986022,34.392497,18.5950471,0.8926248,0.8224552,16.6931915,12.7313134,36.0462627,18.0395079,32.9385725,67.4609953,36.1955125,46.038123,22.7609497,2.9173154,11.5029703,10.4096537,34.7451891,19.5652193,1.0125543,0.9700922,17.6857827,13.6293432,35.1606673,18.400056,32.5271869,68.2443027,35.428158,46.8513478,22.0538431,2.806673,12.3203503,11.4468357,36.315312,18.3760596,1.0120886,0.9429256,17.6288548,14.0352499,35.3467933,18.2816255,31.4585929,67.7275003,35.6241484,47.2216344,22.6006977,2.7457098,12.9320095,12.2070852,37.1771599,17.562661,1.1129286,1.0329046,18.1815112,14.6620671,35.3663283,17.8601794,30.7658362,66.6391858,34.7274303,46.7923843,21.6354309,2.5331971,13.1235983,12.4214588,38.0105361,16.9516818 +115,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4729247,0.4514931,8.8303821,5.3821062,85.0593824,16.5579879,34.8982424,62.5115634,26.3413506,39.7086031,12.372803,4.0471785,10.7599432,9.6924177,35.5150215,3.2828283,0.518487,0.4972376,9.1392874,5.6686719,83.0679157,17.5862069,33.7257618,64.4275162,27.2622345,40.8356417,13.1348107,4.1782087,10.2633617,8.7616822,34.9533437,2.8061224,0.4145299,0.3931624,9.2540793,5.5244755,81.6369606,17.6186089,32.9524254,65.4151119,28.3815299,41.2546642,13.7826493,3.9412313,10.349345,8.9833479,34.3722564,3.25,0.3575025,0.3359229,8.8193791,5.1505174,80.2693762,17.9350348,33.1376233,65.6411461,28.1117896,41.3574448,13.8327853,3.8280883,9.7465035,9.1666667,33.9929639,3.3505155,0.3586061,0.3372203,8.8717228,5.079588,78.8748833,18.2382705,33.7290503,65.6191806,27.9096834,41.2243948,13.896648,4.1201117,9.9312124,8.6712683,34.3587522,1.7766497 +116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.699633,0.709013,11.8989057,6.6441811,55.8235549,11.4658399,37.571338,65.7291304,38.6482915,47.4595835,24.2250438,2.4902018,10.6966476,10.8419474,37.1154444,9.8290598,0.5827365,0.6012629,12.1242924,6.9245901,55.3971944,11.9073224,37.3093065,65.8421105,39.0291924,46.8604478,23.6896467,2.3016137,10.5714052,11.7185923,37.938439,8.6065574,0.4203566,0.4387552,12.11373,6.6911529,55.54631,12.0169847,37.0153068,64.9596619,38.6234575,45.9010051,24.1881943,2.4373407,10.8963325,12.4189532,37.9681369,7.5396885,0.5633227,0.5898015,12.6443867,7.3443388,53.8011439,12.4308848,37.53718,65.5826099,39.2166859,46.5868344,23.7325481,2.8246151,12.6118521,13.0987857,38.7049603,6.1983522,0.6858228,0.7037617,13.09922,7.8278988,52.8313341,12.3359739,36.9528344,65.9935496,38.4979706,46.266958,24.2592069,2.7972101,13.1097784,13.0085447,38.9418173,5.9090963 +117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3675568,0.4112525,9.7534082,6.7553537,86.2727801,9.8074374,32.7231556,61.1966358,24.8835679,37.0569139,12.0375103,12.3868014,10.234527,8.8024496,38.5234478,3.6272325,0.3574743,0.3941559,9.7628535,6.7341126,85.0825434,10.0026197,32.6663222,62.0576486,25.4085646,37.3117942,12.1541536,12.0512131,10.4252539,9.0676491,37.8787839,3.2866383,0.3363589,0.3733008,9.610134,6.647171,83.6277287,10.2883622,32.6563746,62.5681279,25.7915842,38.171549,12.7108667,11.9971423,10.4017191,9.1238559,37.3480272,3.02227,0.3354803,0.3883655,9.503167,6.6179306,82.0995005,10.3472687,32.2004431,64.1364646,26.718684,38.8946181,13.0723537,12.1049899,10.6342411,9.3136063,36.9114616,3.2340869,0.3245129,0.3655831,9.384294,6.4221943,80.5848653,10.6002811,31.7778092,65.1197213,27.0275421,39.102729,13.2273382,12.3004612,10.3693468,9.6317539,36.0797525,3.1914903 +118,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7401185,0.7459243,12.7634169,7.820149,71.293949,13.936644,37.1230082,63.0964203,32.4053959,42.0872846,20.639056,3.6614795,10.9001716,8.9959713,36.2263607,9.9577412,0.7352108,0.7161251,12.9594506,7.8784248,70.396556,14.1156896,36.8386169,63.9017079,32.4787419,42.2951208,20.5237064,3.7153037,10.9564707,8.8620462,34.9743622,9.2520698,0.6877941,0.6811605,12.7007833,7.9907936,69.734331,13.9761171,36.2755904,64.9249316,33.0013128,42.3875928,20.7503937,3.6970593,10.7905796,9.4961701,35.1589304,6.83607,0.6133099,0.5876104,12.3479045,7.618984,68.4428499,13.7359075,36.1350942,65.7821763,33.7454907,42.8314438,21.1587008,3.5981925,10.8127492,9.5750651,35.424547,6.3463138,0.6851813,0.6392242,12.4483146,7.6785874,66.8874116,13.9254767,35.5831884,67.2002233,34.2750041,43.2091749,21.5837133,3.6877512,10.7704364,9.5100872,35.2180856,4.7894147 +119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8289785,0.8171823,13.8634916,8.867887,67.1625927,14.9107435,37.8366714,62.5905621,34.4084392,47.9852128,22.1687463,3.5141912,13.2081781,9.6219123,35.3675213,8.1818033,0.9127028,0.8774017,13.5457385,8.7687605,65.8285242,14.7004651,38.2210026,62.8831127,34.7078618,48.5225932,22.8033038,3.4622105,12.7674128,9.6275636,35.1689665,7.371776,0.9255869,0.9147835,13.333304,8.8720347,64.2856843,14.7495283,38.5827247,63.5370006,35.3520016,48.0008636,22.8749892,3.1450338,12.6118009,9.7243584,34.6826599,4.777067,0.8866936,0.9151812,13.0096862,8.6896017,61.8492817,15.1454287,38.0724379,64.6977972,36.3428792,48.2478626,22.4706884,3.2730262,11.8965868,10.251238,35.1114894,5.7575723,0.6431708,0.7030412,12.5657526,8.5485524,59.943103,15.6803481,37.7575657,66.2906613,37.9257607,48.869403,22.959188,3.3581076,11.7341142,9.7345356,34.9621094,6.5217351 +120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6888082,0.6316823,13.4980951,8.969918,71.6305776,12.8468585,36.8078017,67.213439,34.0211568,42.5573102,17.9012237,2.7689588,9.8543559,8.0266832,35.1308077,6.4102465,0.7175993,0.6500876,13.0337386,8.7293255,70.8121213,13.7580327,35.8726568,68.1034677,34.0077208,42.945096,17.9978748,2.44546,9.4513797,7.9145813,35.0978605,5.4245257,0.6938031,0.6270517,12.7282005,8.5945403,69.2210362,13.4055386,35.0812457,68.4145579,33.9512568,43.2026653,18.5557831,2.1362985,8.656475,8.0165322,34.8293076,5.8685418,0.6447525,0.6259596,12.3175726,8.3912297,67.2724166,14.0971485,34.731095,68.38287,34.6602882,44.037491,18.8782696,2.3885337,9.2469955,8.2577153,34.1337463,6.9819725,0.5858108,0.5966298,11.5263081,7.8070018,65.7086088,14.9646613,34.26988,68.5218322,35.1288449,44.0407921,19.4166168,2.6306386,9.5904576,8.3560721,33.3907764,6.3043341 +121,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7859444,0.8022345,13.2263705,8.9744598,70.7133689,10.5529252,32.3503356,66.7267431,36.4333687,45.0933158,18.5537115,4.7241302,10.3653017,10.2415307,33.074478,9.2355239,0.8139051,0.8304068,13.4678697,9.2355816,69.1017383,10.2746322,33.1825927,67.0854983,36.6331889,45.9129285,18.8777446,4.7068767,10.4717159,10.4717159,33.3648107,11.6973067,0.8127591,0.8215747,13.0929054,9.1073943,67.8766639,10.9057406,32.9905759,67.2455203,37.1712949,45.9710378,18.8638138,4.9393212,9.9369248,10.056763,33.3016771,11.1872708,0.7079175,0.6947652,12.5167707,8.5958569,66.0967374,11.6188574,32.5879572,67.4462798,37.2994257,45.93723,18.8631085,4.933432,9.6784734,9.2283118,33.6222613,10.0000044,0.882871,0.8880794,12.45027,8.5273567,64.3485119,11.9396437,33.294535,67.6132188,37.2569276,45.8198531,18.9223053,4.9530453,10.1520113,9.46222,33.0264623,11.8834134 +122,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3762626,1.4520202,25.0806452,21.2096774,54.6875,7.5636943,35.2327448,66.6934189,28.6516854,44.2215088,15.1685393,5.3772071,15.8653846,10.4166667,35.6677524,9.2920354,1.712828,1.8586006,25.4276827,21.3841369,55.2464229,7.6388889,34.5496894,66.8478261,28.1832298,44.1770186,15.4503106,5.5124224,17.6751592,11.6242038,35.3225806,9.9137931,1.8041237,1.9513991,25.9811617,21.899529,52.8892456,8.1395349,34.1940532,67.057903,29.1862285,45.9311424,15.8841941,5.399061,18.1372549,12.5816993,35.8085809,9.4262295,1.8494152,1.995614,25.3488372,20.8527132,52.8044872,7.7453988,34.1860465,64.5736434,28.1395349,42.8682171,16.0465116,5.1937984,16.7711599,11.1285266,36.2341772,11.25,1.9111111,2.0592593,26.0497667,21.3841369,54.2003231,6.8885449,34.6698113,64.5440252,28.5377358,43.4748428,16.745283,4.7955975,16.7692308,11.5384615,36.4906832,10.3305785 +123,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8926248,0.8224552,16.6931915,12.7313134,36.0462627,18.0395079,32.9385725,67.4609953,36.1955125,46.038123,22.7609497,2.9173154,11.5029703,10.4096537,34.7451891,19.5652193,1.0125543,0.9700922,17.6857827,13.6293432,35.1606673,18.400056,32.5271869,68.2443027,35.428158,46.8513478,22.0538431,2.806673,12.3203503,11.4468357,36.315312,18.3760596,1.0120886,0.9429256,17.6288548,14.0352499,35.3467933,18.2816255,31.4585929,67.7275003,35.6241484,47.2216344,22.6006977,2.7457098,12.9320095,12.2070852,37.1771599,17.562661,1.1129286,1.0329046,18.1815112,14.6620671,35.3663283,17.8601794,30.7658362,66.6391858,34.7274303,46.7923843,21.6354309,2.5331971,13.1235983,12.4214588,38.0105361,16.9516818,1.1249309,1.0363513,19.2045847,15.3355336,34.9848038,18.5306069,30.8054142,65.9610894,34.5428799,47.21507,20.9359657,2.5403445,13.8641543,13.1188968,37.5469003,17.405785 +124,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5888919,0.5786676,11.4221055,6.9202477,77.0787233,9.2413081,31.4088902,62.0253427,32.8950927,41.2603165,17.150376,3.9934306,10.8016583,9.2057299,32.3553347,8.3110153,0.6160142,0.5655966,11.0757654,6.9522346,76.355125,9.6936034,30.9089469,64.146217,33.3478854,41.2501924,17.506604,3.9899526,10.9180677,9.3069764,32.9056981,8.8715529,0.6385877,0.5702776,10.8780268,6.7353961,74.530807,10.2561054,30.5361234,64.7863631,34.7085892,42.3703097,18.1923233,4.181361,10.6032153,8.9727358,32.9633522,8.5045076,0.5384739,0.4784891,10.4738373,6.3428973,73.2384575,10.2690558,30.3050569,66.1236886,35.0528524,41.8478549,18.549816,4.3177052,10.5383431,8.8999256,32.770561,6.7132814,0.5021686,0.4426544,10.4591073,6.3163088,72.4226957,10.2361653,29.3894118,66.7444511,35.5655533,42.4022612,18.7835957,4.5235908,10.1834344,8.6563371,32.9838665,6.5315315 +125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.9045497,0.7884045,11.6005494,8.374773,43.4865152,31.0233823,28.1841156,68.284886,36.254762,43.4428007,15.5738211,5.2333507,15.8629582,9.517851,34.2239689,4.7826711,0.9027746,0.9027746,11.3027264,8.8762025,41.2811769,32.8825991,29.3619786,67.9036161,36.2630316,45.2475711,16.601616,4.7526568,17.236892,10.1316856,33.5527216,5.8559086,0.8504285,0.8504285,11.5914769,9.0852471,42.5708067,32.1872572,28.7625934,68.1758899,35.7781121,45.2170658,16.6454185,4.273011,18.6856549,11.4692052,34.2378658,6.465573,0.7105265,0.7105265,11.6545882,9.2391649,41.8529821,32.5118496,27.5670683,68.15397,35.5135543,46.2716254,17.5428076,4.2176529,17.076254,9.9509822,33.1282405,6.6929661,0.6082432,0.6082432,12.2861151,9.9633554,42.2685162,33.0278764,26.7699721,68.3850699,36.087027,47.1431065,19.068338,4.1615346,17.5507045,11.2659511,34.9874235,6.000048 +126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7883297,0.7891984,12.8535263,8.5091009,81.5851292,13.0609876,37.6450931,62.4980122,30.5692665,44.7209564,16.5447669,3.124506,13.0831097,10.7918769,33.6189977,5.7486539,0.7347503,0.7470161,12.7067449,8.4212583,80.3589478,12.81271,37.415665,62.9216171,31.07133,45.0770998,17.0012911,3.1721835,13.0929643,10.7433644,33.3369048,5.7486554,0.7150493,0.7393873,12.4200435,8.1630635,78.7841159,13.0635061,38.0387877,64.2834451,32.2013837,45.99173,17.3453138,3.3640866,12.5689957,10.9118308,32.8132275,6.472073,0.6318105,0.6415842,11.9708328,7.8002496,77.2989356,13.1214886,37.795316,65.5092645,33.740436,45.9211393,18.0156425,3.536081,11.9438858,10.5630276,32.465058,7.2839452,0.6370824,0.6419472,11.8743196,7.6173433,75.5325911,13.1128109,37.6764326,66.6058636,34.5360974,46.1300626,18.5329081,3.7192722,12.0832254,10.5604747,32.5520043,6.7237098 +127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7347503,0.7470161,12.7067449,8.4212583,80.3589478,12.81271,37.415665,62.9216171,31.07133,45.0770998,17.0012911,3.1721835,13.0929643,10.7433644,33.3369048,5.7486554,0.7150493,0.7393873,12.4200435,8.1630635,78.7841159,13.0635061,38.0387877,64.2834451,32.2013837,45.99173,17.3453138,3.3640866,12.5689957,10.9118308,32.8132275,6.472073,0.6318105,0.6415842,11.9708328,7.8002496,77.2989356,13.1214886,37.795316,65.5092645,33.740436,45.9211393,18.0156425,3.536081,11.9438858,10.5630276,32.465058,7.2839452,0.6370824,0.6419472,11.8743196,7.6173433,75.5325911,13.1128109,37.6764326,66.6058636,34.5360974,46.1300626,18.5329081,3.7192722,12.0832254,10.5604747,32.5520043,6.7237098,0.5999679,0.6084651,11.7917987,7.3903619,74.057047,13.1169489,37.129482,67.0074362,35.8614676,46.3544065,18.8381605,3.6852099,11.7082891,10.9232313,33.3486528,7.1934113 +128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3574743,0.3941559,9.7628535,6.7341126,85.0825434,10.0026197,32.6663222,62.0576486,25.4085646,37.3117942,12.1541536,12.0512131,10.4252539,9.0676491,37.8787839,3.2866383,0.3363589,0.3733008,9.610134,6.647171,83.6277287,10.2883622,32.6563746,62.5681279,25.7915842,38.171549,12.7108667,11.9971423,10.4017191,9.1238559,37.3480272,3.02227,0.3354803,0.3883655,9.503167,6.6179306,82.0995005,10.3472687,32.2004431,64.1364646,26.718684,38.8946181,13.0723537,12.1049899,10.6342411,9.3136063,36.9114616,3.2340869,0.3245129,0.3655831,9.384294,6.4221943,80.5848653,10.6002811,31.7778092,65.1197213,27.0275421,39.102729,13.2273382,12.3004612,10.3693468,9.6317539,36.0797525,3.1914903,0.3527086,0.3839481,9.39619,6.3967114,79.0815001,10.7293666,31.5097797,64.9941718,27.3274537,38.9809666,13.0454437,12.5922545,10.406276,9.5994915,36.6432295,3.7486808 +129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8233445,0.8651005,17.523497,13.7479054,34.1297959,17.3149877,37.9363359,66.2503278,38.0650354,50.6754971,24.2920303,3.765457,11.7196585,8.9621243,33.0592951,17.105749,0.6996635,0.7418232,18.1124637,14.4326664,35.1757595,16.7201184,37.7297524,66.4407543,37.7948532,49.9019907,24.0557489,3.7443694,11.6353079,9.0640004,32.5774824,15.4875448,0.8126506,0.8536731,18.8593303,14.674841,35.8205792,17.6326503,38.4694763,66.3842856,39.2259056,50.6917969,24.795498,3.9391975,12.7206765,10.1019803,34.224742,13.2487501,0.8201539,0.8607739,18.9274156,14.7073625,35.9919531,18.2278585,37.9698892,65.220105,39.0952448,50.4677193,25.0321972,3.7821485,13.1130727,10.1607145,33.2298677,11.0654434,0.7623013,0.79204,19.157138,15.032675,36.1791625,19.0552121,37.98827,64.7085049,38.4380729,49.6133779,24.436754,3.6292605,12.6746037,10.2525499,31.8739218,9.0541628 +130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7022629,0.6683434,10.5720665,6.7271284,82.856863,13.384885,34.4106168,62.3261047,27.875061,40.0514712,14.8619481,3.9249352,10.4896223,8.5207012,31.9781617,8.8068898,0.6584066,0.6582609,10.5614457,6.5080678,81.3603503,13.1676573,35.0002369,63.1751772,28.3444177,40.5791077,14.9168786,3.8175501,10.4513439,9.0559097,32.1287258,7.3599468,0.6910643,0.6703358,10.5887068,6.3037793,79.5010258,13.4299291,34.6180425,64.6127458,29.7250192,40.5341458,15.3877281,3.8463289,10.0706318,8.8442677,32.0030827,8.7217535,0.5823665,0.5652554,10.1080589,6.1850471,78.2224384,13.5297948,34.0431026,65.7119509,30.1281617,40.7314154,15.1829687,4.0559204,10.2956358,9.1106804,32.0348111,8.1240888,0.4685371,0.4647045,9.3694714,5.6088716,77.268144,13.958383,33.6458114,66.3650732,30.6965769,40.8853212,15.0062986,3.8782782,9.8007707,8.9372879,31.2731774,7.523642 +131,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5799373,0.631932,10.8068698,6.9105665,79.413637,14.2314797,33.9421784,63.0732188,30.9109347,42.9270922,16.45423,4.9976668,9.9181233,8.7158436,33.9219349,8.9453911,0.5564315,0.6011774,10.4262146,6.729302,78.4226241,14.2780647,33.2481048,64.3809113,31.7449265,43.1194758,17.1315737,5.1061504,9.6064172,8.5351651,33.1918165,8.6111143,0.6035644,0.6516391,10.3790763,6.7399558,77.458318,14.7479797,33.3410561,64.1435197,31.6589559,43.2484581,17.2608104,5.0694425,9.4968055,8.4230455,33.7960432,7.1043191,0.6311906,0.7116031,10.2385706,6.6294559,75.8855843,14.9501898,33.6413131,64.2468965,32.3835492,43.625785,17.7562187,5.0543462,9.3292382,8.0498561,33.9475403,7.025533,0.6101429,0.6757413,10.4908349,6.7944252,75.2827285,15.3223361,33.6780101,64.3765366,32.636345,43.5125715,17.7772771,5.3232213,9.5189829,7.9924543,34.6703792,7.4239575 +132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.5827365,0.6012629,12.1242924,6.9245901,55.3971944,11.9073224,37.3093065,65.8421105,39.0291924,46.8604478,23.6896467,2.3016137,10.5714052,11.7185923,37.938439,8.6065574,0.4203566,0.4387552,12.11373,6.6911529,55.54631,12.0169847,37.0153068,64.9596619,38.6234575,45.9010051,24.1881943,2.4373407,10.8963325,12.4189532,37.9681369,7.5396885,0.5633227,0.5898015,12.6443867,7.3443388,53.8011439,12.4308848,37.53718,65.5826099,39.2166859,46.5868344,23.7325481,2.8246151,12.6118521,13.0987857,38.7049603,6.1983522,0.6858228,0.7037617,13.09922,7.8278988,52.8313341,12.3359739,36.9528344,65.9935496,38.4979706,46.266958,24.2592069,2.7972101,13.1097784,13.0085447,38.9418173,5.9090963,0.6186629,0.6366722,13.2535523,8.1214353,51.4766129,12.8956662,37.3385899,66.2586552,37.81966,45.8273865,24.3904522,2.9130823,14.7086299,14.5091911,40.0232574,8.878513 +133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4337036,0.4166855,8.6317334,5.9966054,87.2261601,20.0035028,33.9003579,61.1485254,22.4823148,37.3357658,9.1445389,5.6752982,12.4693362,9.3248451,32.5595679,3.979225,0.4068809,0.3974429,8.3933901,5.921717,86.2477967,20.0453872,33.2139375,62.3165732,22.7396839,37.5809876,9.3995543,5.8853513,12.5167252,9.6810227,32.8026545,3.5116998,0.357613,0.3481269,8.0937575,5.6639191,85.9341848,19.35544,33.0421553,63.4634513,23.3127767,38.043792,9.3696841,5.8410324,12.7224623,10.0386889,33.1802645,2.1523179,0.4055632,0.3644038,8.0390688,5.6050651,86.0028096,18.7456894,33.1335847,63.8184057,24.0582033,37.9622768,9.8116475,6.2499914,12.4081684,10.2692578,34.2063569,2.6984127,0.4596268,0.4183511,7.8622668,5.498448,85.1186207,18.8915942,32.4125216,64.327309,24.9313574,39.069957,9.8661807,6.3314922,12.13787,10.2332183,33.7134789,2.3584906 +134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7375495,1.709244,14.3647345,9.0965827,42.5437458,20.2060493,36.2922705,67.3194431,37.4239459,47.7388054,27.8696558,3.409895,9.872694,8.4134353,37.326366,13.4042557,1.793346,1.766201,14.3837892,9.4160959,43.7315907,19.1409388,35.1157382,67.9355204,38.0224919,48.4348086,27.134876,3.1019036,10.4986831,8.2315222,38.6801619,12.5758159,1.7986391,1.7878517,14.4908406,9.7684579,44.344027,18.9869368,34.9611926,67.5769145,38.158907,48.0764657,27.8277576,2.8702906,10.2486643,8.5078829,39.0627655,10.0624061,1.6209048,1.5893269,15.2587312,10.4964145,42.4915666,18.9411746,34.1860939,68.8439961,38.4992298,48.7141351,28.9141287,2.9173875,11.5247494,9.5663245,39.4459169,12.3124809,1.4783444,1.4467763,15.4894371,11.1600663,42.8423146,19.415925,34.0604276,69.3588172,37.4409708,48.7401395,28.5390296,2.7609052,11.5066083,9.8893227,38.7985066,14.9290193 +135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9127028,0.8774017,13.5457385,8.7687605,65.8285242,14.7004651,38.2210026,62.8831127,34.7078618,48.5225932,22.8033038,3.4622105,12.7674128,9.6275636,35.1689665,7.371776,0.9255869,0.9147835,13.333304,8.8720347,64.2856843,14.7495283,38.5827247,63.5370006,35.3520016,48.0008636,22.8749892,3.1450338,12.6118009,9.7243584,34.6826599,4.777067,0.8866936,0.9151812,13.0096862,8.6896017,61.8492817,15.1454287,38.0724379,64.6977972,36.3428792,48.2478626,22.4706884,3.2730262,11.8965868,10.251238,35.1114894,5.7575723,0.6431708,0.7030412,12.5657526,8.5485524,59.943103,15.6803481,37.7575657,66.2906613,37.9257607,48.869403,22.959188,3.3581076,11.7341142,9.7345356,34.9621094,6.5217351,0.6715961,0.742814,12.5274166,8.3797177,59.0442795,14.8636324,38.088179,66.0271802,38.0167541,48.9728355,23.0640736,3.0835624,11.954188,10.2679692,35.7085071,5.483871 +136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9255869,0.9147835,13.333304,8.8720347,64.2856843,14.7495283,38.5827247,63.5370006,35.3520016,48.0008636,22.8749892,3.1450338,12.6118009,9.7243584,34.6826599,4.777067,0.8866936,0.9151812,13.0096862,8.6896017,61.8492817,15.1454287,38.0724379,64.6977972,36.3428792,48.2478626,22.4706884,3.2730262,11.8965868,10.251238,35.1114894,5.7575723,0.6431708,0.7030412,12.5657526,8.5485524,59.943103,15.6803481,37.7575657,66.2906613,37.9257607,48.869403,22.959188,3.3581076,11.7341142,9.7345356,34.9621094,6.5217351,0.6715961,0.742814,12.5274166,8.3797177,59.0442795,14.8636324,38.088179,66.0271802,38.0167541,48.9728355,23.0640736,3.0835624,11.954188,10.2679692,35.7085071,5.483871,0.6911114,0.7630377,12.4129832,8.5073974,57.6676844,14.963946,38.8240381,66.391163,37.5302562,48.5580218,22.4194132,2.9139896,12.1938937,10.2662334,34.9967542,6.0897436 +137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.713916,0.727059,13.678473,8.3734815,71.8291243,17.5597234,37.2129367,65.1294077,32.0006067,45.9868875,20.0682959,2.9076908,12.0471611,10.5967147,38.2107395,10.3125334,0.6623499,0.6623499,12.8955685,8.2169482,69.9181097,17.4339203,36.5824945,66.6501567,32.8534509,46.0006845,20.8767662,2.5225558,12.1088387,10.4134647,37.7035752,9.336687,0.7446015,0.7446015,12.8398911,7.9800143,68.540956,17.5549003,35.3687971,66.5269179,32.8996856,46.1569573,20.7306411,2.5352213,12.0905812,9.713263,36.8935343,10.0752134,0.6316234,0.6235037,12.1936641,7.8571273,67.1424944,17.5899278,34.5780469,66.6294524,34.1755218,46.4153275,20.2222061,2.1242729,12.8076903,11.128258,37.0723526,8.8859206,0.6333633,0.6253501,11.643383,7.707844,65.8185341,17.9893215,35.1294994,67.5689209,34.6734292,46.5276702,20.6650567,2.4107102,12.2503134,10.6508287,36.8053677,7.4469606 +138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6623499,0.6623499,12.8955685,8.2169482,69.9181097,17.4339203,36.5824945,66.6501567,32.8534509,46.0006845,20.8767662,2.5225558,12.1088387,10.4134647,37.7035752,9.336687,0.7446015,0.7446015,12.8398911,7.9800143,68.540956,17.5549003,35.3687971,66.5269179,32.8996856,46.1569573,20.7306411,2.5352213,12.0905812,9.713263,36.8935343,10.0752134,0.6316234,0.6235037,12.1936641,7.8571273,67.1424944,17.5899278,34.5780469,66.6294524,34.1755218,46.4153275,20.2222061,2.1242729,12.8076903,11.128258,37.0723526,8.8859206,0.6333633,0.6253501,11.643383,7.707844,65.8185341,17.9893215,35.1294994,67.5689209,34.6734292,46.5276702,20.6650567,2.4107102,12.2503134,10.6508287,36.8053677,7.4469606,0.4997625,0.483694,11.2644086,7.2735024,64.7060174,18.2607325,34.9941177,68.0413895,35.691307,46.3254959,20.2410395,2.644013,12.414894,11.2382303,37.136662,8.0645213 +139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4791113,0.4324446,8.0679086,5.3335326,86.3124189,16.477784,31.6046043,62.101064,26.5218748,36.7464532,13.9036667,7.3138326,10.3887123,7.9561389,36.7455876,2.9069774,0.4105394,0.3952207,7.5609026,5.0356493,86.3165632,16.5508282,31.2391151,62.6088222,26.7121372,36.3464879,14.2338968,7.2693005,10.0099384,7.1464415,35.0600606,3.3916856,0.514861,0.4671428,7.2585391,4.9322721,85.6168306,16.5624144,30.3453207,63.2949618,28.0143932,36.7625893,14.5755393,7.3812977,10.2046494,6.8534984,35.3318467,3.927814,0.5566357,0.5095668,7.7157801,5.0711991,85.4621071,16.3153493,29.6480248,63.198972,28.0868633,36.5455609,14.2350241,7.3091145,10.8041556,7.2802167,35.8995593,4.3157904,0.5914474,0.5593467,7.7403456,5.1263452,85.0215763,16.2447302,29.203413,62.66002,28.2645875,36.6856383,14.8364136,7.4679977,10.8826747,7.6817159,36.9745628,4.2797504 +140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7175993,0.6500876,13.0337386,8.7293255,70.8121213,13.7580327,35.8726568,68.1034677,34.0077208,42.945096,17.9978748,2.44546,9.4513797,7.9145813,35.0978605,5.4245257,0.6938031,0.6270517,12.7282005,8.5945403,69.2210362,13.4055386,35.0812457,68.4145579,33.9512568,43.2026653,18.5557831,2.1362985,8.656475,8.0165322,34.8293076,5.8685418,0.6447525,0.6259596,12.3175726,8.3912297,67.2724166,14.0971485,34.731095,68.38287,34.6602882,44.037491,18.8782696,2.3885337,9.2469955,8.2577153,34.1337463,6.9819725,0.5858108,0.5966298,11.5263081,7.8070018,65.7086088,14.9646613,34.26988,68.5218322,35.1288449,44.0407921,19.4166168,2.6306386,9.5904576,8.3560721,33.3907764,6.3043341,0.6264651,0.6372074,11.9006115,8.0090189,64.5572011,15.5263106,34.3106011,69.7050429,36.1940254,44.331891,19.8471927,2.7540848,9.7736758,8.5274045,32.7670069,5.3879194 +141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3363589,0.3733008,9.610134,6.647171,83.6277287,10.2883622,32.6563746,62.5681279,25.7915842,38.171549,12.7108667,11.9971423,10.4017191,9.1238559,37.3480272,3.02227,0.3354803,0.3883655,9.503167,6.6179306,82.0995005,10.3472687,32.2004431,64.1364646,26.718684,38.8946181,13.0723537,12.1049899,10.6342411,9.3136063,36.9114616,3.2340869,0.3245129,0.3655831,9.384294,6.4221943,80.5848653,10.6002811,31.7778092,65.1197213,27.0275421,39.102729,13.2273382,12.3004612,10.3693468,9.6317539,36.0797525,3.1914903,0.3527086,0.3839481,9.39619,6.3967114,79.0815001,10.7293666,31.5097797,64.9941718,27.3274537,38.9809666,13.0454437,12.5922545,10.406276,9.5994915,36.6432295,3.7486808,0.3603867,0.3983866,9.1812863,6.2183234,77.9063705,10.6522862,31.3179026,65.1771853,27.4249797,39.3235921,13.2113258,12.5387961,10.431646,9.5718135,37.2374972,3.8049311 +142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7216056,0.7230786,11.8594094,7.3665329,74.0796034,8.094835,35.1600735,64.2578989,37.1212523,42.0891673,21.5022223,3.6662878,11.3534449,9.3870862,40.4244603,6.8944698,0.7121585,0.7106798,11.9709998,7.5141664,73.1363547,8.1782717,34.669405,65.1540826,37.7847112,42.1309919,21.5818565,3.7586711,11.0137815,9.4479593,39.7464863,6.0628067,0.6649479,0.6523594,11.6787896,7.2399583,71.9778944,8.2379405,34.9838267,65.623922,38.1796257,42.4720333,22.096664,3.684841,11.6737167,9.5439819,40.0113204,6.4995771,0.6429203,0.634997,11.2965377,6.9618656,71.2408345,8.6013385,34.8524964,65.3486391,38.1570536,42.6752568,22.0728792,3.8036263,11.4322025,9.3798658,39.70625,5.6546221,0.6476339,0.6503786,11.1967277,6.8514252,70.4841789,8.4870043,34.7719728,65.5663847,38.1892997,42.640993,22.4778172,3.870042,11.44716,9.4793314,39.9064017,5.9084991 +143,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.088689,1.08071,13.4324312,8.6268393,59.8826296,15.3618904,36.1844247,69.0541357,37.0188123,46.7082344,22.6933445,1.9703223,11.829337,11.4195902,37.1368474,10.5069875,1.137949,1.1084111,12.9233311,8.2365246,58.9784202,15.4830432,35.5132436,68.7528873,36.9666463,46.4835846,22.3862675,2.2269059,11.6085053,10.9414351,35.5837774,9.5743594,1.2068413,1.1810927,13.4434963,8.3642582,57.5690931,15.874298,35.5026988,68.3033734,37.3824318,45.6057814,22.0628723,2.2321274,11.4617477,10.121497,35.547129,9.3748893,1.0934336,1.0450564,13.4303512,8.668433,56.0217909,16.5897634,35.2953874,68.0081,37.4359501,46.5093808,22.3590214,2.7687248,11.6070508,10.3933175,34.9745554,8.8650219,1.0960886,1.0904755,13.8335504,8.9837416,55.011748,16.9521818,36.2811307,68.4073726,38.1846884,46.1695333,22.6319675,2.6229993,11.5480874,10.5685299,36.1584611,7.5537558 +144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6493796,0.6940797,14.9689301,11.2974332,82.9344179,9.8405475,32.6609088,62.3769202,25.6184703,42.8239588,13.7123849,2.6215886,12.0881885,9.7383144,31.7271973,6.1046958,0.6992767,0.7372671,14.2808014,10.7431613,80.9753323,9.6805098,32.9128512,63.7699624,26.7247099,43.1567445,14.3205525,2.7526109,12.0408729,9.8800872,31.4935862,6.6355564,0.6425652,0.6866147,13.8775603,10.5659435,79.1588949,9.6392587,32.659647,64.5536673,27.1692306,43.7783995,14.5330335,2.6555338,11.6430784,9.4483644,30.6939746,7.0069623,0.6144364,0.6233626,12.8710667,9.7126011,77.809692,9.5386401,32.3168755,66.4440488,28.4622393,44.3212546,15.0261496,2.7188837,11.2485003,9.3993528,30.2058019,7.118395,0.5359035,0.5607346,12.2121305,9.0558004,76.6982894,9.5371045,31.4272107,67.0864532,28.8535575,44.7082268,14.9945076,2.6768504,10.6619524,9.4134507,30.092094,6.8482081 +145,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8871376,0.8663692,12.1407554,7.5401312,64.8408189,15.7838273,38.1636931,62.2661458,33.9606007,46.6599628,20.8536682,3.9127516,10.547906,10.8549249,32.5926279,7.0247934,0.9997995,0.978971,11.5554652,7.577767,62.6070867,16.0372295,37.5143066,63.3704846,34.6746697,46.2696793,21.22198,3.9028488,10.8299315,11.2910365,31.7943679,8.2677165,1.046839,1.0258964,11.9944472,7.8101674,59.8960673,16.4985893,36.6975429,65.2384996,35.6507549,47.6039238,22.1501714,3.613133,11.4197287,11.5007536,31.9516622,7.5396825,0.9006675,0.8794137,11.8384068,7.5821973,57.9175136,16.7933162,36.8893556,65.8290381,36.9816199,48.4842642,22.926743,3.6868325,10.2890562,10.918091,30.7275885,8.267723,0.8945604,0.8734506,11.499244,7.3130751,55.977266,16.3306158,36.810417,65.7916434,36.2126,48.7530979,22.9369822,3.2376445,9.8424787,10.2136131,29.3451172,8.1896552 +146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6584066,0.6582609,10.5614457,6.5080678,81.3603503,13.1676573,35.0002369,63.1751772,28.3444177,40.5791077,14.9168786,3.8175501,10.4513439,9.0559097,32.1287258,7.3599468,0.6910643,0.6703358,10.5887068,6.3037793,79.5010258,13.4299291,34.6180425,64.6127458,29.7250192,40.5341458,15.3877281,3.8463289,10.0706318,8.8442677,32.0030827,8.7217535,0.5823665,0.5652554,10.1080589,6.1850471,78.2224384,13.5297948,34.0431026,65.7119509,30.1281617,40.7314154,15.1829687,4.0559204,10.2956358,9.1106804,32.0348111,8.1240888,0.4685371,0.4647045,9.3694714,5.6088716,77.268144,13.958383,33.6458114,66.3650732,30.6965769,40.8853212,15.0062986,3.8782782,9.8007707,8.9372879,31.2731774,7.523642,0.4312875,0.4151794,9.1922449,5.3228611,76.6195415,13.7512996,33.1293544,65.6477611,30.4994447,40.7852934,15.1273354,3.959121,9.4932885,8.7104266,31.8254716,7.2489307 +147,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8139051,0.8304068,13.4678697,9.2355816,69.1017383,10.2746322,33.1825927,67.0854983,36.6331889,45.9129285,18.8777446,4.7068767,10.4717159,10.4717159,33.3648107,11.6973067,0.8127591,0.8215747,13.0929054,9.1073943,67.8766639,10.9057406,32.9905759,67.2455203,37.1712949,45.9710378,18.8638138,4.9393212,9.9369248,10.056763,33.3016771,11.1872708,0.7079175,0.6947652,12.5167707,8.5958569,66.0967374,11.6188574,32.5879572,67.4462798,37.2994257,45.93723,18.8631085,4.933432,9.6784734,9.2283118,33.6222613,10.0000044,0.882871,0.8880794,12.45027,8.5273567,64.3485119,11.9396437,33.294535,67.6132188,37.2569276,45.8198531,18.9223053,4.9530453,10.1520113,9.46222,33.0264623,11.8834134,0.9811014,0.97092,12.7721042,8.714892,63.0008961,11.9531805,32.8475536,68.2369373,37.8000697,47.1476284,19.4330246,5.1985399,10.4149814,9.7991599,33.2809653,11.8534483 +148,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7352108,0.7161251,12.9594506,7.8784248,70.396556,14.1156896,36.8386169,63.9017079,32.4787419,42.2951208,20.5237064,3.7153037,10.9564707,8.8620462,34.9743622,9.2520698,0.6877941,0.6811605,12.7007833,7.9907936,69.734331,13.9761171,36.2755904,64.9249316,33.0013128,42.3875928,20.7503937,3.6970593,10.7905796,9.4961701,35.1589304,6.83607,0.6133099,0.5876104,12.3479045,7.618984,68.4428499,13.7359075,36.1350942,65.7821763,33.7454907,42.8314438,21.1587008,3.5981925,10.8127492,9.5750651,35.424547,6.3463138,0.6851813,0.6392242,12.4483146,7.6785874,66.8874116,13.9254767,35.5831884,67.2002233,34.2750041,43.2091749,21.5837133,3.6877512,10.7704364,9.5100872,35.2180856,4.7894147,0.7126293,0.6831872,12.5070225,7.6934526,66.1678197,14.6533431,35.1706194,67.4232191,34.5785418,43.2902465,21.5252546,3.594609,11.1377893,10.1337758,35.1949503,4.9020738 +149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6938031,0.6270517,12.7282005,8.5945403,69.2210362,13.4055386,35.0812457,68.4145579,33.9512568,43.2026653,18.5557831,2.1362985,8.656475,8.0165322,34.8293076,5.8685418,0.6447525,0.6259596,12.3175726,8.3912297,67.2724166,14.0971485,34.731095,68.38287,34.6602882,44.037491,18.8782696,2.3885337,9.2469955,8.2577153,34.1337463,6.9819725,0.5858108,0.5966298,11.5263081,7.8070018,65.7086088,14.9646613,34.26988,68.5218322,35.1288449,44.0407921,19.4166168,2.6306386,9.5904576,8.3560721,33.3907764,6.3043341,0.6264651,0.6372074,11.9006115,8.0090189,64.5572011,15.5263106,34.3106011,69.7050429,36.1940254,44.331891,19.8471927,2.7540848,9.7736758,8.5274045,32.7670069,5.3879194,0.6943176,0.7053223,11.470996,7.5339866,62.6649532,15.9490376,33.6178833,69.7239199,36.7780521,45.0599104,20.8681455,3.1420249,9.3990354,8.3508112,33.133397,6.7099451 +150,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6877941,0.6811605,12.7007833,7.9907936,69.734331,13.9761171,36.2755904,64.9249316,33.0013128,42.3875928,20.7503937,3.6970593,10.7905796,9.4961701,35.1589304,6.83607,0.6133099,0.5876104,12.3479045,7.618984,68.4428499,13.7359075,36.1350942,65.7821763,33.7454907,42.8314438,21.1587008,3.5981925,10.8127492,9.5750651,35.424547,6.3463138,0.6851813,0.6392242,12.4483146,7.6785874,66.8874116,13.9254767,35.5831884,67.2002233,34.2750041,43.2091749,21.5837133,3.6877512,10.7704364,9.5100872,35.2180856,4.7894147,0.7126293,0.6831872,12.5070225,7.6934526,66.1678197,14.6533431,35.1706194,67.4232191,34.5785418,43.2902465,21.5252546,3.594609,11.1377893,10.1337758,35.1949503,4.9020738,0.7075693,0.6779909,12.160721,7.3468445,65.8002163,15.2667416,35.3818288,67.9110289,34.9276455,43.6988009,21.5299817,3.4771743,10.6971658,9.5585188,35.6409863,5.8052848 +151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9993232,0.9993232,15.6792964,10.3253886,67.1059819,12.8906186,36.6339067,64.1933686,32.2388534,44.4932581,23.3453911,3.852111,12.6765753,10.3979077,43.6519665,10.9375068,0.9383024,0.9383024,15.1694004,10.0704406,65.8503872,12.9040603,36.5554797,65.1641405,33.2725134,43.6946173,23.5278773,4.038558,12.9917983,10.5935805,42.6155056,9.1195026,0.7845703,0.7615124,14.3510465,9.7426793,64.5340657,12.3226857,36.180103,65.7859364,33.7601467,43.9968246,23.4624859,3.8358831,12.7896076,10.403678,40.2726882,7.7142901,0.8017377,0.7788043,14.7629107,9.7509612,62.816763,11.9950604,35.6102063,66.5070279,34.4792181,43.7233261,24.1974294,3.8299669,13.1926754,11.4424098,42.0704078,7.712766,0.9163221,0.9048291,14.8493784,9.874709,61.7389886,12.2589293,35.4607233,67.5615492,34.2660322,43.6061845,24.0852016,4.0255845,13.2523476,11.1949777,42.195332,7.9896907 +152,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8383959,0.8318565,16.6910677,12.8126559,27.24495,19.2528347,36.1445236,66.2162754,38.0750207,47.2377957,22.7794423,3.470444,11.4638561,9.6935953,34.8602845,18.8087067,0.8326153,0.8117713,17.5050151,13.899044,27.8534506,19.6748358,35.5685333,65.3176118,37.8052825,47.8039424,23.1436113,3.4812883,10.7149163,9.2340086,35.3228691,18.6132303,0.8833624,0.8518071,18.3469048,14.472414,27.644379,19.5887378,36.3204571,65.2685248,37.2973851,47.3097845,22.615546,3.6264005,11.174155,9.2336914,35.6630753,19.7987654,0.9875409,0.9177058,18.6709105,14.7784707,28.2678698,20.1025264,36.5494521,65.2415448,36.9819166,47.5270881,22.2884341,3.2603281,11.2503808,9.0438504,36.049156,19.5652795,0.9677035,0.9003383,19.0142995,15.2981557,28.8557892,19.9705755,36.474197,65.2168374,37.5701498,47.648984,22.0369799,3.2400969,11.3534425,8.9769091,36.4472962,18.4849091 +153,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0125543,0.9700922,17.6857827,13.6293432,35.1606673,18.400056,32.5271869,68.2443027,35.428158,46.8513478,22.0538431,2.806673,12.3203503,11.4468357,36.315312,18.3760596,1.0120886,0.9429256,17.6288548,14.0352499,35.3467933,18.2816255,31.4585929,67.7275003,35.6241484,47.2216344,22.6006977,2.7457098,12.9320095,12.2070852,37.1771599,17.562661,1.1129286,1.0329046,18.1815112,14.6620671,35.3663283,17.8601794,30.7658362,66.6391858,34.7274303,46.7923843,21.6354309,2.5331971,13.1235983,12.4214588,38.0105361,16.9516818,1.1249309,1.0363513,19.2045847,15.3355336,34.9848038,18.5306069,30.8054142,65.9610894,34.5428799,47.21507,20.9359657,2.5403445,13.8641543,13.1188968,37.5469003,17.405785,1.0968197,1.0129079,20.371375,16.5942056,34.0985958,18.7493542,30.6208472,66.3771453,34.7294723,47.7769984,20.8488001,2.6928515,14.4220641,13.9418445,38.1091124,14.7954539 +154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4405354,0.4701974,12.1386326,8.5776628,86.8057165,10.8505803,29.5159807,60.2738502,22.7658598,38.4101237,10.7089615,4.2560167,12.6420442,9.658512,31.5878098,3.3923394,0.4459805,0.483456,11.8773184,8.4239765,85.8638457,11.1890173,29.8941779,61.6825781,23.7777697,38.7195655,11.1428392,4.5608436,12.9396903,10.0028236,30.8286005,3.0791771,0.4425411,0.4931359,11.552905,8.067186,85.3212452,10.9478456,29.6652866,62.0737111,24.2003625,39.4725303,11.5335602,4.4164356,12.5906496,10.1217802,31.1567632,3.0973433,0.4588556,0.5212692,11.628651,7.9443135,85.2083804,10.8909616,29.8228566,62.2385914,24.8719584,39.2978819,11.7050614,4.3427199,12.804097,10.7202323,31.0967941,3.5714276,0.4561865,0.5236472,11.3589061,7.820359,84.825733,11.1973121,29.4677396,63.8841264,25.5771834,40.1560587,11.7678704,4.2218921,12.8435366,11.2560417,30.9831158,3.7500104 +155,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9997995,0.978971,11.5554652,7.577767,62.6070867,16.0372295,37.5143066,63.3704846,34.6746697,46.2696793,21.22198,3.9028488,10.8299315,11.2910365,31.7943679,8.2677165,1.046839,1.0258964,11.9944472,7.8101674,59.8960673,16.4985893,36.6975429,65.2384996,35.6507549,47.6039238,22.1501714,3.613133,11.4197287,11.5007536,31.9516622,7.5396825,0.9006675,0.8794137,11.8384068,7.5821973,57.9175136,16.7933162,36.8893556,65.8290381,36.9816199,48.4842642,22.926743,3.6868325,10.2890562,10.918091,30.7275885,8.267723,0.8945604,0.8734506,11.499244,7.3130751,55.977266,16.3306158,36.810417,65.7916434,36.2126,48.7530979,22.9369822,3.2376445,9.8424787,10.2136131,29.3451172,8.1896552,0.9570457,0.9354445,11.2172964,7.1634069,54.4527284,17.0587012,36.7453473,66.2583549,36.5093591,48.6071631,23.7021588,3.4139776,9.5700664,9.7761406,28.1800262,8.3357171 +156,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.766516,0.720205,16.6726062,12.8396972,44.6905011,16.2876372,33.0787228,66.5831416,37.4141519,41.5542217,19.2459733,6.114088,11.5276728,7.8486453,37.6700988,9.375,0.9082008,0.8695472,16.3031914,12.5336673,45.3673313,15.9392241,32.7932953,65.8045799,36.6579561,40.4673813,18.8895606,6.3184396,10.9591641,8.0372505,38.3137142,8.7962963,1.1852988,1.1472628,16.7311808,12.8488074,46.1425491,15.710847,32.474723,65.1005647,35.8165155,39.2280722,18.4558801,6.0492846,9.7900409,8.2155585,38.969841,16.8103448,1.1138189,1.1138189,17.2785838,13.3331595,47.2530651,15.9107237,33.352251,64.670577,35.8889883,39.5455346,18.9622087,6.1051429,10.5427548,8.5444888,39.2381081,17.7295013,1.2002737,1.2002737,17.1705212,13.2735322,47.637804,16.8139944,33.4289448,64.7454957,35.4503891,39.4359872,19.7886831,6.0915858,10.3330028,8.4797799,38.0538137,15.9610817 +157,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5968017,0.6143695,11.8150003,7.8549999,69.7548911,7.6714356,29.8910855,68.9098738,38.0545558,40.6225001,18.1205064,4.1017191,10.482044,8.5116463,36.1513569,7.2542078,0.5793732,0.5955827,11.7162229,7.7315943,68.9681489,7.8373812,30.1672856,68.9458849,37.9975825,40.3456606,18.2152606,4.1469322,10.3227693,8.1931185,35.9703295,6.5243894,0.5446291,0.5585896,11.6422337,7.6410113,68.4154045,8.0601645,30.2958375,68.6439818,37.6464066,39.9283138,18.0583624,4.0337246,10.4735593,8.2138114,35.8037837,6.2652061,0.5257374,0.5412162,11.3258275,7.3797929,67.6165769,8.4701085,30.3895963,68.6364103,37.9506015,39.9989979,18.0690863,4.1520243,10.5118006,8.4382215,35.8514119,6.1455833,0.4845334,0.4962492,11.1943338,7.2505858,66.2524268,8.4693981,30.8490167,68.8878746,37.8617723,40.4321002,18.513461,4.1438991,10.1791262,8.1772606,35.7517523,5.4899639 +158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4068809,0.3974429,8.3933901,5.921717,86.2477967,20.0453872,33.2139375,62.3165732,22.7396839,37.5809876,9.3995543,5.8853513,12.5167252,9.6810227,32.8026545,3.5116998,0.357613,0.3481269,8.0937575,5.6639191,85.9341848,19.35544,33.0421553,63.4634513,23.3127767,38.043792,9.3696841,5.8410324,12.7224623,10.0386889,33.1802645,2.1523179,0.4055632,0.3644038,8.0390688,5.6050651,86.0028096,18.7456894,33.1335847,63.8184057,24.0582033,37.9622768,9.8116475,6.2499914,12.4081684,10.2692578,34.2063569,2.6984127,0.4596268,0.4183511,7.8622668,5.498448,85.1186207,18.8915942,32.4125216,64.327309,24.9313574,39.069957,9.8661807,6.3314922,12.13787,10.2332183,33.7134789,2.3584906,0.4518231,0.3944535,7.7146622,5.3540782,84.6913727,18.9884724,31.5527627,64.805866,25.8845828,39.5224673,10.4259869,6.4754269,12.4048066,10.3701208,33.8159796,2.9780564 +159,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.046839,1.0258964,11.9944472,7.8101674,59.8960673,16.4985893,36.6975429,65.2384996,35.6507549,47.6039238,22.1501714,3.613133,11.4197287,11.5007536,31.9516622,7.5396825,0.9006675,0.8794137,11.8384068,7.5821973,57.9175136,16.7933162,36.8893556,65.8290381,36.9816199,48.4842642,22.926743,3.6868325,10.2890562,10.918091,30.7275885,8.267723,0.8945604,0.8734506,11.499244,7.3130751,55.977266,16.3306158,36.810417,65.7916434,36.2126,48.7530979,22.9369822,3.2376445,9.8424787,10.2136131,29.3451172,8.1896552,0.9570457,0.9354445,11.2172964,7.1634069,54.4527284,17.0587012,36.7453473,66.2583549,36.5093591,48.6071631,23.7021588,3.4139776,9.5700664,9.7761406,28.1800262,8.3357171,0.9044435,0.9044435,10.9120597,6.9773174,52.615625,17.1943515,36.6029111,67.0874924,37.7677753,48.9437518,23.9679493,3.7190803,9.6659318,9.4260737,27.8616754,6.6983783 +160,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5564315,0.6011774,10.4262146,6.729302,78.4226241,14.2780647,33.2481048,64.3809113,31.7449265,43.1194758,17.1315737,5.1061504,9.6064172,8.5351651,33.1918165,8.6111143,0.6035644,0.6516391,10.3790763,6.7399558,77.458318,14.7479797,33.3410561,64.1435197,31.6589559,43.2484581,17.2608104,5.0694425,9.4968055,8.4230455,33.7960432,7.1043191,0.6311906,0.7116031,10.2385706,6.6294559,75.8855843,14.9501898,33.6413131,64.2468965,32.3835492,43.625785,17.7562187,5.0543462,9.3292382,8.0498561,33.9475403,7.025533,0.6101429,0.6757413,10.4908349,6.7944252,75.2827285,15.3223361,33.6780101,64.3765366,32.636345,43.5125715,17.7772771,5.3232213,9.5189829,7.9924543,34.6703792,7.4239575,0.6552424,0.7170588,10.281886,6.662046,74.6060566,15.5697327,33.3463128,65.0661541,32.5992327,43.6342506,17.9221883,5.1906615,9.9271169,8.3017189,34.4236032,6.887287 +161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6996635,0.7418232,18.1124637,14.4326664,35.1757595,16.7201184,37.7297524,66.4407543,37.7948532,49.9019907,24.0557489,3.7443694,11.6353079,9.0640004,32.5774824,15.4875448,0.8126506,0.8536731,18.8593303,14.674841,35.8205792,17.6326503,38.4694763,66.3842856,39.2259056,50.6917969,24.795498,3.9391975,12.7206765,10.1019803,34.224742,13.2487501,0.8201539,0.8607739,18.9274156,14.7073625,35.9919531,18.2278585,37.9698892,65.220105,39.0952448,50.4677193,25.0321972,3.7821485,13.1130727,10.1607145,33.2298677,11.0654434,0.7623013,0.79204,19.157138,15.032675,36.1791625,19.0552121,37.98827,64.7085049,38.4380729,49.6133779,24.436754,3.6292605,12.6746037,10.2525499,31.8739218,9.0541628,0.9733498,1.0177724,19.5132585,15.1693757,36.81522,19.147588,37.8595349,65.0153893,38.3667124,49.6772626,24.5683505,3.2273169,12.5971564,10.8961042,31.7357004,9.5735583 +162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.4203566,0.4387552,12.11373,6.6911529,55.54631,12.0169847,37.0153068,64.9596619,38.6234575,45.9010051,24.1881943,2.4373407,10.8963325,12.4189532,37.9681369,7.5396885,0.5633227,0.5898015,12.6443867,7.3443388,53.8011439,12.4308848,37.53718,65.5826099,39.2166859,46.5868344,23.7325481,2.8246151,12.6118521,13.0987857,38.7049603,6.1983522,0.6858228,0.7037617,13.09922,7.8278988,52.8313341,12.3359739,36.9528344,65.9935496,38.4979706,46.266958,24.2592069,2.7972101,13.1097784,13.0085447,38.9418173,5.9090963,0.6186629,0.6366722,13.2535523,8.1214353,51.4766129,12.8956662,37.3385899,66.2586552,37.81966,45.8273865,24.3904522,2.9130823,14.7086299,14.5091911,40.0232574,8.878513,0.7300229,0.7474658,12.3973725,7.540665,49.4985199,13.3544989,36.8993662,65.9886219,38.3433679,46.649328,24.9863464,3.1200598,15.2103269,13.5789374,40.0708351,8.3333399 +163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.5633227,0.5898015,12.6443867,7.3443388,53.8011439,12.4308848,37.53718,65.5826099,39.2166859,46.5868344,23.7325481,2.8246151,12.6118521,13.0987857,38.7049603,6.1983522,0.6858228,0.7037617,13.09922,7.8278988,52.8313341,12.3359739,36.9528344,65.9935496,38.4979706,46.266958,24.2592069,2.7972101,13.1097784,13.0085447,38.9418173,5.9090963,0.6186629,0.6366722,13.2535523,8.1214353,51.4766129,12.8956662,37.3385899,66.2586552,37.81966,45.8273865,24.3904522,2.9130823,14.7086299,14.5091911,40.0232574,8.878513,0.7300229,0.7474658,12.3973725,7.540665,49.4985199,13.3544989,36.8993662,65.9886219,38.3433679,46.649328,24.9863464,3.1200598,15.2103269,13.5789374,40.0708351,8.3333399,0.6822961,0.7633643,12.1235276,7.3762085,48.7631674,14.5227173,38.0866482,65.8844845,39.9948241,48.4528095,25.6059623,3.4295851,15.7670624,14.8482329,40.619067,6.0000048 +164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8866936,0.9151812,13.0096862,8.6896017,61.8492817,15.1454287,38.0724379,64.6977972,36.3428792,48.2478626,22.4706884,3.2730262,11.8965868,10.251238,35.1114894,5.7575723,0.6431708,0.7030412,12.5657526,8.5485524,59.943103,15.6803481,37.7575657,66.2906613,37.9257607,48.869403,22.959188,3.3581076,11.7341142,9.7345356,34.9621094,6.5217351,0.6715961,0.742814,12.5274166,8.3797177,59.0442795,14.8636324,38.088179,66.0271802,38.0167541,48.9728355,23.0640736,3.0835624,11.954188,10.2679692,35.7085071,5.483871,0.6911114,0.7630377,12.4129832,8.5073974,57.6676844,14.963946,38.8240381,66.391163,37.5302562,48.5580218,22.4194132,2.9139896,12.1938937,10.2662334,34.9967542,6.0897436,0.7941656,0.8618627,12.5886037,8.5578695,57.1094891,14.6190063,37.9753529,65.7556697,37.625528,48.6691045,22.2756305,2.9692717,11.2078237,9.7535139,34.8561484,6.9570103 +165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9082008,0.8695472,16.3031914,12.5336673,45.3673313,15.9392241,32.7932953,65.8045799,36.6579561,40.4673813,18.8895606,6.3184396,10.9591641,8.0372505,38.3137142,8.7962963,1.1852988,1.1472628,16.7311808,12.8488074,46.1425491,15.710847,32.474723,65.1005647,35.8165155,39.2280722,18.4558801,6.0492846,9.7900409,8.2155585,38.969841,16.8103448,1.1138189,1.1138189,17.2785838,13.3331595,47.2530651,15.9107237,33.352251,64.670577,35.8889883,39.5455346,18.9622087,6.1051429,10.5427548,8.5444888,39.2381081,17.7295013,1.2002737,1.2002737,17.1705212,13.2735322,47.637804,16.8139944,33.4289448,64.7454957,35.4503891,39.4359872,19.7886831,6.0915858,10.3330028,8.4797799,38.0538137,15.9610817,0.9720542,1.0429746,17.1059539,13.3223291,49.3977421,16.5452849,33.3202678,64.2246504,35.2203641,38.0007482,19.4493417,5.8091105,10.3379602,8.8949008,36.6079554,15.9263975 +166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.357613,0.3481269,8.0937575,5.6639191,85.9341848,19.35544,33.0421553,63.4634513,23.3127767,38.043792,9.3696841,5.8410324,12.7224623,10.0386889,33.1802645,2.1523179,0.4055632,0.3644038,8.0390688,5.6050651,86.0028096,18.7456894,33.1335847,63.8184057,24.0582033,37.9622768,9.8116475,6.2499914,12.4081684,10.2692578,34.2063569,2.6984127,0.4596268,0.4183511,7.8622668,5.498448,85.1186207,18.8915942,32.4125216,64.327309,24.9313574,39.069957,9.8661807,6.3314922,12.13787,10.2332183,33.7134789,2.3584906,0.4518231,0.3944535,7.7146622,5.3540782,84.6913727,18.9884724,31.5527627,64.805866,25.8845828,39.5224673,10.4259869,6.4754269,12.4048066,10.3701208,33.8159796,2.9780564,0.3928242,0.3283009,7.4375873,5.2877828,84.7085294,18.7005301,31.4410282,66.0589943,26.232671,39.6354209,10.6771132,6.3368097,12.0269531,9.896857,34.3405225,3.0844106 +167,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5793732,0.5955827,11.7162229,7.7315943,68.9681489,7.8373812,30.1672856,68.9458849,37.9975825,40.3456606,18.2152606,4.1469322,10.3227693,8.1931185,35.9703295,6.5243894,0.5446291,0.5585896,11.6422337,7.6410113,68.4154045,8.0601645,30.2958375,68.6439818,37.6464066,39.9283138,18.0583624,4.0337246,10.4735593,8.2138114,35.8037837,6.2652061,0.5257374,0.5412162,11.3258275,7.3797929,67.6165769,8.4701085,30.3895963,68.6364103,37.9506015,39.9989979,18.0690863,4.1520243,10.5118006,8.4382215,35.8514119,6.1455833,0.4845334,0.4962492,11.1943338,7.2505858,66.2524268,8.4693981,30.8490167,68.8878746,37.8617723,40.4321002,18.513461,4.1438991,10.1791262,8.1772606,35.7517523,5.4899639,0.4688928,0.4764697,11.0948226,7.0612613,65.4443065,8.6872405,29.9558796,68.7807052,37.9374327,40.724957,19.1366698,4.0760062,10.0441307,8.1296939,35.7779513,5.8789283 +168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6431708,0.7030412,12.5657526,8.5485524,59.943103,15.6803481,37.7575657,66.2906613,37.9257607,48.869403,22.959188,3.3581076,11.7341142,9.7345356,34.9621094,6.5217351,0.6715961,0.742814,12.5274166,8.3797177,59.0442795,14.8636324,38.088179,66.0271802,38.0167541,48.9728355,23.0640736,3.0835624,11.954188,10.2679692,35.7085071,5.483871,0.6911114,0.7630377,12.4129832,8.5073974,57.6676844,14.963946,38.8240381,66.391163,37.5302562,48.5580218,22.4194132,2.9139896,12.1938937,10.2662334,34.9967542,6.0897436,0.7941656,0.8618627,12.5886037,8.5578695,57.1094891,14.6190063,37.9753529,65.7556697,37.625528,48.6691045,22.2756305,2.9692717,11.2078237,9.7535139,34.8561484,6.9570103,0.8229176,0.9146279,12.4190932,8.2866971,55.6385242,15.9964392,36.6427828,66.6356143,38.1679877,48.4436947,21.7470593,3.0723747,11.1301504,9.4357675,34.3887148,8.4413566 +169,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7474367,0.8076739,15.9646834,10.7976032,72.120748,15.2105066,41.1572401,65.3824382,33.2527675,46.7301452,20.2303174,2.6300806,11.469187,9.2540433,34.8307808,9.0277778,0.7036857,0.7203832,15.1671272,10.2646271,69.9444515,15.7555965,40.2241771,66.6146614,34.6623084,47.4035066,21.0414447,3.0221376,11.556807,9.5726148,34.8233715,9.4936669,0.6735279,0.6903698,14.4163082,9.6343189,68.8651409,15.8687017,39.5684361,68.3481062,35.3672298,47.284927,21.3060972,2.8722522,11.4766071,9.5853649,34.1731865,10.7594846,0.6669325,0.6755995,14.1122258,9.282527,67.657171,15.6821458,39.053661,67.9802345,35.7203277,48.206209,21.5113136,2.6694972,10.9658419,9.4284178,34.557637,10.6522081,0.7082089,0.7342777,13.6781965,8.9375437,66.8249645,16.1303993,38.7485742,67.8348601,36.2230433,48.8791117,21.4670966,2.9937603,10.1222184,8.6390248,33.733335,9.7510707 +170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4105394,0.3952207,7.5609026,5.0356493,86.3165632,16.5508282,31.2391151,62.6088222,26.7121372,36.3464879,14.2338968,7.2693005,10.0099384,7.1464415,35.0600606,3.3916856,0.514861,0.4671428,7.2585391,4.9322721,85.6168306,16.5624144,30.3453207,63.2949618,28.0143932,36.7625893,14.5755393,7.3812977,10.2046494,6.8534984,35.3318467,3.927814,0.5566357,0.5095668,7.7157801,5.0711991,85.4621071,16.3153493,29.6480248,63.198972,28.0868633,36.5455609,14.2350241,7.3091145,10.8041556,7.2802167,35.8995593,4.3157904,0.5914474,0.5593467,7.7403456,5.1263452,85.0215763,16.2447302,29.203413,62.66002,28.2645875,36.6856383,14.8364136,7.4679977,10.8826747,7.6817159,36.9745628,4.2797504,0.6338557,0.627525,7.5900541,5.1315055,84.8866796,15.8208579,28.9613671,62.9199256,28.7374085,37.1080699,14.515678,7.4608094,10.2989115,7.7783818,36.6208822,4.2391304 +171,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9006675,0.8794137,11.8384068,7.5821973,57.9175136,16.7933162,36.8893556,65.8290381,36.9816199,48.4842642,22.926743,3.6868325,10.2890562,10.918091,30.7275885,8.267723,0.8945604,0.8734506,11.499244,7.3130751,55.977266,16.3306158,36.810417,65.7916434,36.2126,48.7530979,22.9369822,3.2376445,9.8424787,10.2136131,29.3451172,8.1896552,0.9570457,0.9354445,11.2172964,7.1634069,54.4527284,17.0587012,36.7453473,66.2583549,36.5093591,48.6071631,23.7021588,3.4139776,9.5700664,9.7761406,28.1800262,8.3357171,0.9044435,0.9044435,10.9120597,6.9773174,52.615625,17.1943515,36.6029111,67.0874924,37.7677753,48.9437518,23.9679493,3.7190803,9.6659318,9.4260737,27.8616754,6.6983783,0.8374306,0.8374306,10.5578559,6.5206833,50.1970766,17.3734998,36.3485785,68.0149599,38.8573197,49.2378184,24.0142762,3.627907,9.5146695,9.0075346,27.5152873,7.2137997 +172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8126506,0.8536731,18.8593303,14.674841,35.8205792,17.6326503,38.4694763,66.3842856,39.2259056,50.6917969,24.795498,3.9391975,12.7206765,10.1019803,34.224742,13.2487501,0.8201539,0.8607739,18.9274156,14.7073625,35.9919531,18.2278585,37.9698892,65.220105,39.0952448,50.4677193,25.0321972,3.7821485,13.1130727,10.1607145,33.2298677,11.0654434,0.7623013,0.79204,19.157138,15.032675,36.1791625,19.0552121,37.98827,64.7085049,38.4380729,49.6133779,24.436754,3.6292605,12.6746037,10.2525499,31.8739218,9.0541628,0.9733498,1.0177724,19.5132585,15.1693757,36.81522,19.147588,37.8595349,65.0153893,38.3667124,49.6772626,24.5683505,3.2273169,12.5971564,10.8961042,31.7357004,9.5735583,1.0279927,1.0579052,19.5229303,16.0020992,36.8940517,18.6467629,38.8630993,64.231495,38.8591132,50.3855621,24.3107989,3.1876017,12.8503545,11.3999723,31.9083247,9.3275438 +173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.793346,1.766201,14.3837892,9.4160959,43.7315907,19.1409388,35.1157382,67.9355204,38.0224919,48.4348086,27.134876,3.1019036,10.4986831,8.2315222,38.6801619,12.5758159,1.7986391,1.7878517,14.4908406,9.7684579,44.344027,18.9869368,34.9611926,67.5769145,38.158907,48.0764657,27.8277576,2.8702906,10.2486643,8.5078829,39.0627655,10.0624061,1.6209048,1.5893269,15.2587312,10.4964145,42.4915666,18.9411746,34.1860939,68.8439961,38.4992298,48.7141351,28.9141287,2.9173875,11.5247494,9.5663245,39.4459169,12.3124809,1.4783444,1.4467763,15.4894371,11.1600663,42.8423146,19.415925,34.0604276,69.3588172,37.4409708,48.7401395,28.5390296,2.7609052,11.5066083,9.8893227,38.7985066,14.9290193,1.4359036,1.3723168,15.4956837,11.3519031,44.2326486,19.0791534,34.2819778,69.7211463,36.6845704,48.3369787,27.0284296,2.574937,11.5570849,10.6342961,40.3945842,16.9183693 +174,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6133099,0.5876104,12.3479045,7.618984,68.4428499,13.7359075,36.1350942,65.7821763,33.7454907,42.8314438,21.1587008,3.5981925,10.8127492,9.5750651,35.424547,6.3463138,0.6851813,0.6392242,12.4483146,7.6785874,66.8874116,13.9254767,35.5831884,67.2002233,34.2750041,43.2091749,21.5837133,3.6877512,10.7704364,9.5100872,35.2180856,4.7894147,0.7126293,0.6831872,12.5070225,7.6934526,66.1678197,14.6533431,35.1706194,67.4232191,34.5785418,43.2902465,21.5252546,3.594609,11.1377893,10.1337758,35.1949503,4.9020738,0.7075693,0.6779909,12.160721,7.3468445,65.8002163,15.2667416,35.3818288,67.9110289,34.9276455,43.6988009,21.5299817,3.4771743,10.6971658,9.5585188,35.6409863,5.8052848,0.6977155,0.6684158,12.4030371,7.4141191,64.5899404,15.6690165,34.7405526,68.4013299,34.8807927,43.6889794,22.0618206,3.5203529,10.6310151,9.2968767,35.6188456,5.5160908 +175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6447525,0.6259596,12.3175726,8.3912297,67.2724166,14.0971485,34.731095,68.38287,34.6602882,44.037491,18.8782696,2.3885337,9.2469955,8.2577153,34.1337463,6.9819725,0.5858108,0.5966298,11.5263081,7.8070018,65.7086088,14.9646613,34.26988,68.5218322,35.1288449,44.0407921,19.4166168,2.6306386,9.5904576,8.3560721,33.3907764,6.3043341,0.6264651,0.6372074,11.9006115,8.0090189,64.5572011,15.5263106,34.3106011,69.7050429,36.1940254,44.331891,19.8471927,2.7540848,9.7736758,8.5274045,32.7670069,5.3879194,0.6943176,0.7053223,11.470996,7.5339866,62.6649532,15.9490376,33.6178833,69.7239199,36.7780521,45.0599104,20.8681455,3.1420249,9.3990354,8.3508112,33.133397,6.7099451,0.687097,0.6898391,11.6755678,7.3261876,61.5595395,15.4464115,33.1584734,69.8082321,36.6316979,45.4956384,21.0021765,3.0209782,9.3031534,8.0600259,33.3919962,7.6388783 +176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6715961,0.742814,12.5274166,8.3797177,59.0442795,14.8636324,38.088179,66.0271802,38.0167541,48.9728355,23.0640736,3.0835624,11.954188,10.2679692,35.7085071,5.483871,0.6911114,0.7630377,12.4129832,8.5073974,57.6676844,14.963946,38.8240381,66.391163,37.5302562,48.5580218,22.4194132,2.9139896,12.1938937,10.2662334,34.9967542,6.0897436,0.7941656,0.8618627,12.5886037,8.5578695,57.1094891,14.6190063,37.9753529,65.7556697,37.625528,48.6691045,22.2756305,2.9692717,11.2078237,9.7535139,34.8561484,6.9570103,0.8229176,0.9146279,12.4190932,8.2866971,55.6385242,15.9964392,36.6427828,66.6356143,38.1679877,48.4436947,21.7470593,3.0723747,11.1301504,9.4357675,34.3887148,8.4413566,0.7579011,0.8240586,12.2456933,8.0362775,53.8061175,16.4625244,35.2164788,67.4798415,38.4917713,49.4654098,21.6173808,3.2265968,11.4032907,9.8134492,34.5600015,9.2855016 +177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6910643,0.6703358,10.5887068,6.3037793,79.5010258,13.4299291,34.6180425,64.6127458,29.7250192,40.5341458,15.3877281,3.8463289,10.0706318,8.8442677,32.0030827,8.7217535,0.5823665,0.5652554,10.1080589,6.1850471,78.2224384,13.5297948,34.0431026,65.7119509,30.1281617,40.7314154,15.1829687,4.0559204,10.2956358,9.1106804,32.0348111,8.1240888,0.4685371,0.4647045,9.3694714,5.6088716,77.268144,13.958383,33.6458114,66.3650732,30.6965769,40.8853212,15.0062986,3.8782782,9.8007707,8.9372879,31.2731774,7.523642,0.4312875,0.4151794,9.1922449,5.3228611,76.6195415,13.7512996,33.1293544,65.6477611,30.4994447,40.7852934,15.1273354,3.959121,9.4932885,8.7104266,31.8254716,7.2489307,0.4622638,0.4492416,9.0727551,5.30558,75.3090028,13.5513245,32.928125,65.6447186,30.3820531,41.805625,15.2793884,3.5903605,8.9575767,8.2921284,31.5939892,7.1746627 +178,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6851813,0.6392242,12.4483146,7.6785874,66.8874116,13.9254767,35.5831884,67.2002233,34.2750041,43.2091749,21.5837133,3.6877512,10.7704364,9.5100872,35.2180856,4.7894147,0.7126293,0.6831872,12.5070225,7.6934526,66.1678197,14.6533431,35.1706194,67.4232191,34.5785418,43.2902465,21.5252546,3.594609,11.1377893,10.1337758,35.1949503,4.9020738,0.7075693,0.6779909,12.160721,7.3468445,65.8002163,15.2667416,35.3818288,67.9110289,34.9276455,43.6988009,21.5299817,3.4771743,10.6971658,9.5585188,35.6409863,5.8052848,0.6977155,0.6684158,12.4030371,7.4141191,64.5899404,15.6690165,34.7405526,68.4013299,34.8807927,43.6889794,22.0618206,3.5203529,10.6310151,9.2968767,35.6188456,5.5160908,0.6454889,0.6921476,12.0610181,7.4780897,63.2044821,16.1098721,34.9143496,68.4044926,35.3014643,44.4277653,22.2208794,3.4983714,10.664316,9.5624165,36.0573994,5.272804 +179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7150493,0.7393873,12.4200435,8.1630635,78.7841159,13.0635061,38.0387877,64.2834451,32.2013837,45.99173,17.3453138,3.3640866,12.5689957,10.9118308,32.8132275,6.472073,0.6318105,0.6415842,11.9708328,7.8002496,77.2989356,13.1214886,37.795316,65.5092645,33.740436,45.9211393,18.0156425,3.536081,11.9438858,10.5630276,32.465058,7.2839452,0.6370824,0.6419472,11.8743196,7.6173433,75.5325911,13.1128109,37.6764326,66.6058636,34.5360974,46.1300626,18.5329081,3.7192722,12.0832254,10.5604747,32.5520043,6.7237098,0.5999679,0.6084651,11.7917987,7.3903619,74.057047,13.1169489,37.129482,67.0074362,35.8614676,46.3544065,18.8381605,3.6852099,11.7082891,10.9232313,33.3486528,7.1934113,0.5972348,0.6095222,11.503247,7.081961,72.7931419,13.003816,37.7982297,67.3899033,35.908731,46.7173729,19.0472332,3.578863,11.3512704,10.9682432,33.94759,7.7937834 +180,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6160142,0.5655966,11.0757654,6.9522346,76.355125,9.6936034,30.9089469,64.146217,33.3478854,41.2501924,17.506604,3.9899526,10.9180677,9.3069764,32.9056981,8.8715529,0.6385877,0.5702776,10.8780268,6.7353961,74.530807,10.2561054,30.5361234,64.7863631,34.7085892,42.3703097,18.1923233,4.181361,10.6032153,8.9727358,32.9633522,8.5045076,0.5384739,0.4784891,10.4738373,6.3428973,73.2384575,10.2690558,30.3050569,66.1236886,35.0528524,41.8478549,18.549816,4.3177052,10.5383431,8.8999256,32.770561,6.7132814,0.5021686,0.4426544,10.4591073,6.3163088,72.4226957,10.2361653,29.3894118,66.7444511,35.5655533,42.4022612,18.7835957,4.5235908,10.1834344,8.6563371,32.9838665,6.5315315,0.4653957,0.3986249,10.6320216,6.7018398,72.1810582,10.6031679,28.9312586,66.8221021,35.7359524,42.1304347,19.1675319,4.5022435,10.8081866,8.4446035,33.6907609,5.4824561 +181,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4459805,0.483456,11.8773184,8.4239765,85.8638457,11.1890173,29.8941779,61.6825781,23.7777697,38.7195655,11.1428392,4.5608436,12.9396903,10.0028236,30.8286005,3.0791771,0.4425411,0.4931359,11.552905,8.067186,85.3212452,10.9478456,29.6652866,62.0737111,24.2003625,39.4725303,11.5335602,4.4164356,12.5906496,10.1217802,31.1567632,3.0973433,0.4588556,0.5212692,11.628651,7.9443135,85.2083804,10.8909616,29.8228566,62.2385914,24.8719584,39.2978819,11.7050614,4.3427199,12.804097,10.7202323,31.0967941,3.5714276,0.4561865,0.5236472,11.3589061,7.820359,84.825733,11.1973121,29.4677396,63.8841264,25.5771834,40.1560587,11.7678704,4.2218921,12.8435366,11.2560417,30.9831158,3.7500104,0.4493799,0.5363885,10.7016342,7.402386,84.4604935,11.5093114,28.7611806,64.3752641,26.50872,40.4271197,11.5703605,4.366771,12.3079738,11.6566589,31.3618315,3.8563932 +182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9383024,0.9383024,15.1694004,10.0704406,65.8503872,12.9040603,36.5554797,65.1641405,33.2725134,43.6946173,23.5278773,4.038558,12.9917983,10.5935805,42.6155056,9.1195026,0.7845703,0.7615124,14.3510465,9.7426793,64.5340657,12.3226857,36.180103,65.7859364,33.7601467,43.9968246,23.4624859,3.8358831,12.7896076,10.403678,40.2726882,7.7142901,0.8017377,0.7788043,14.7629107,9.7509612,62.816763,11.9950604,35.6102063,66.5070279,34.4792181,43.7233261,24.1974294,3.8299669,13.1926754,11.4424098,42.0704078,7.712766,0.9163221,0.9048291,14.8493784,9.874709,61.7389886,12.2589293,35.4607233,67.5615492,34.2660322,43.6061845,24.0852016,4.0255845,13.2523476,11.1949777,42.195332,7.9896907,0.8371689,0.8025304,13.7719247,9.2063653,60.6107302,12.206582,36.0030169,67.910424,35.222238,43.8531239,24.5517556,3.9819143,12.99855,10.7933951,41.3744518,7.9234973 +183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6858228,0.7037617,13.09922,7.8278988,52.8313341,12.3359739,36.9528344,65.9935496,38.4979706,46.266958,24.2592069,2.7972101,13.1097784,13.0085447,38.9418173,5.9090963,0.6186629,0.6366722,13.2535523,8.1214353,51.4766129,12.8956662,37.3385899,66.2586552,37.81966,45.8273865,24.3904522,2.9130823,14.7086299,14.5091911,40.0232574,8.878513,0.7300229,0.7474658,12.3973725,7.540665,49.4985199,13.3544989,36.8993662,65.9886219,38.3433679,46.649328,24.9863464,3.1200598,15.2103269,13.5789374,40.0708351,8.3333399,0.6822961,0.7633643,12.1235276,7.3762085,48.7631674,14.5227173,38.0866482,65.8844845,39.9948241,48.4528095,25.6059623,3.4295851,15.7670624,14.8482329,40.619067,6.0000048,0.7536953,0.8249881,12.047881,7.2083506,46.9863787,14.2893436,36.9084422,67.6697658,40.6635529,49.0997936,25.9516133,3.4722093,15.0704348,14.2521476,39.707288,7.6612965 +184,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4978832,0.5090127,8.1382403,5.1224223,87.7891594,6.659019,27.4868872,59.7625622,24.7011917,34.785784,11.5069045,5.2003417,10.7449302,9.1291294,37.9666201,2.9806885,0.5039233,0.5143893,8.2314513,5.1694562,87.6428021,6.6262688,27.1522546,61.1413661,25.3168951,35.2532526,11.620706,5.0455904,10.3706317,9.2160688,37.5901359,3.1224655,0.5534378,0.5551855,8.384555,5.2173072,87.5254518,6.3711446,26.6603773,61.8840621,26.0532791,35.679084,11.7398831,5.1424276,10.1415851,9.1873397,37.354849,3.5150079,0.5391994,0.5355162,8.1942885,5.1322718,87.2050352,6.280104,26.2399821,62.8326148,26.6773888,36.0181945,11.8725472,5.0447644,10.1094866,9.533973,36.954866,3.4336343,0.5415858,0.5646662,8.2818414,5.1851859,86.8918292,6.2932224,26.4568704,63.1518601,26.6660618,36.1161081,12.0236838,5.0835899,10.0249732,9.3281073,37.1352366,3.9360784 +185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7446015,0.7446015,12.8398911,7.9800143,68.540956,17.5549003,35.3687971,66.5269179,32.8996856,46.1569573,20.7306411,2.5352213,12.0905812,9.713263,36.8935343,10.0752134,0.6316234,0.6235037,12.1936641,7.8571273,67.1424944,17.5899278,34.5780469,66.6294524,34.1755218,46.4153275,20.2222061,2.1242729,12.8076903,11.128258,37.0723526,8.8859206,0.6333633,0.6253501,11.643383,7.707844,65.8185341,17.9893215,35.1294994,67.5689209,34.6734292,46.5276702,20.6650567,2.4107102,12.2503134,10.6508287,36.8053677,7.4469606,0.4997625,0.483694,11.2644086,7.2735024,64.7060174,18.2607325,34.9941177,68.0413895,35.691307,46.3254959,20.2410395,2.644013,12.414894,11.2382303,37.136662,8.0645213,0.4915921,0.4835542,10.8622961,7.104669,63.2073535,18.6102873,33.8231306,67.9649616,35.7609318,46.0657627,19.8502982,2.8611171,13.0778685,11.6581515,36.9379935,5.9859197 +186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6318105,0.6415842,11.9708328,7.8002496,77.2989356,13.1214886,37.795316,65.5092645,33.740436,45.9211393,18.0156425,3.536081,11.9438858,10.5630276,32.465058,7.2839452,0.6370824,0.6419472,11.8743196,7.6173433,75.5325911,13.1128109,37.6764326,66.6058636,34.5360974,46.1300626,18.5329081,3.7192722,12.0832254,10.5604747,32.5520043,6.7237098,0.5999679,0.6084651,11.7917987,7.3903619,74.057047,13.1169489,37.129482,67.0074362,35.8614676,46.3544065,18.8381605,3.6852099,11.7082891,10.9232313,33.3486528,7.1934113,0.5972348,0.6095222,11.503247,7.081961,72.7931419,13.003816,37.7982297,67.3899033,35.908731,46.7173729,19.0472332,3.578863,11.3512704,10.9682432,33.94759,7.7937834,0.7078807,0.7202465,11.4732109,7.1598575,71.1560298,13.4010018,37.7320263,67.8208121,35.7788591,47.0621499,19.4915155,3.4140458,10.9632995,10.9121666,33.3590201,8.7563639 +187,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6035644,0.6516391,10.3790763,6.7399558,77.458318,14.7479797,33.3410561,64.1435197,31.6589559,43.2484581,17.2608104,5.0694425,9.4968055,8.4230455,33.7960432,7.1043191,0.6311906,0.7116031,10.2385706,6.6294559,75.8855843,14.9501898,33.6413131,64.2468965,32.3835492,43.625785,17.7562187,5.0543462,9.3292382,8.0498561,33.9475403,7.025533,0.6101429,0.6757413,10.4908349,6.7944252,75.2827285,15.3223361,33.6780101,64.3765366,32.636345,43.5125715,17.7772771,5.3232213,9.5189829,7.9924543,34.6703792,7.4239575,0.6552424,0.7170588,10.281886,6.662046,74.6060566,15.5697327,33.3463128,65.0661541,32.5992327,43.6342506,17.9221883,5.1906615,9.9271169,8.3017189,34.4236032,6.887287,0.6804237,0.7320972,10.0616495,6.4995932,73.5559982,16.0452344,32.5408159,65.6665324,33.4141146,44.0298246,18.3397758,5.5884456,10.0934864,8.5551312,33.4459587,6.3071161 +188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6992767,0.7372671,14.2808014,10.7431613,80.9753323,9.6805098,32.9128512,63.7699624,26.7247099,43.1567445,14.3205525,2.7526109,12.0408729,9.8800872,31.4935862,6.6355564,0.6425652,0.6866147,13.8775603,10.5659435,79.1588949,9.6392587,32.659647,64.5536673,27.1692306,43.7783995,14.5330335,2.6555338,11.6430784,9.4483644,30.6939746,7.0069623,0.6144364,0.6233626,12.8710667,9.7126011,77.809692,9.5386401,32.3168755,66.4440488,28.4622393,44.3212546,15.0261496,2.7188837,11.2485003,9.3993528,30.2058019,7.118395,0.5359035,0.5607346,12.2121305,9.0558004,76.6982894,9.5371045,31.4272107,67.0864532,28.8535575,44.7082268,14.9945076,2.6768504,10.6619524,9.4134507,30.092094,6.8482081,0.6259369,0.6355559,11.7851699,8.6870384,75.5948223,9.2910081,31.2924937,67.2653099,29.3371213,44.7580136,15.095008,2.7250028,10.6160737,9.666749,30.5717967,8.68468 +189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.514861,0.4671428,7.2585391,4.9322721,85.6168306,16.5624144,30.3453207,63.2949618,28.0143932,36.7625893,14.5755393,7.3812977,10.2046494,6.8534984,35.3318467,3.927814,0.5566357,0.5095668,7.7157801,5.0711991,85.4621071,16.3153493,29.6480248,63.198972,28.0868633,36.5455609,14.2350241,7.3091145,10.8041556,7.2802167,35.8995593,4.3157904,0.5914474,0.5593467,7.7403456,5.1263452,85.0215763,16.2447302,29.203413,62.66002,28.2645875,36.6856383,14.8364136,7.4679977,10.8826747,7.6817159,36.9745628,4.2797504,0.6338557,0.627525,7.5900541,5.1315055,84.8866796,15.8208579,28.9613671,62.9199256,28.7374085,37.1080699,14.515678,7.4608094,10.2989115,7.7783818,36.6208822,4.2391304,0.6082286,0.6020004,7.5843517,4.9191963,84.7233779,15.8689182,28.7225303,63.3379062,29.0522007,36.5796734,14.4917556,7.4313215,10.1437679,7.7849089,36.1799632,4.3803419 +190,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3739382,1.3083456,20.1033847,15.7980026,29.9859065,22.2649545,35.2655866,69.4165439,38.580881,48.8123266,23.3778374,4.0704021,11.3495368,9.9100333,29.3750934,20.2381113,1.2644652,1.1985671,20.2573551,15.8642013,30.6133064,22.6982176,35.1297143,69.934592,38.2423678,49.095933,22.6837093,4.5946197,9.8789268,9.4692895,28.344123,21.4285894,1.0352755,0.9703194,21.0246499,16.551326,30.5819312,22.6920882,35.9722449,69.3536231,37.6786379,49.1839611,23.116963,4.2966915,10.9890719,9.269437,27.7218373,21.2500177,0.8861493,0.7921321,21.403998,17.276327,31.8494149,22.6228668,35.3760157,68.5964791,36.6791906,49.8294211,22.3621566,3.7327234,11.5056819,9.5799131,29.6063717,18.3760841,0.9290133,0.837464,21.2709036,17.3976027,32.3882723,22.4674009,34.945688,68.6589668,36.7504819,49.500309,22.128554,3.5718792,11.0584194,10.1609905,29.4873599,16.6667344 +191,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.137949,1.1084111,12.9233311,8.2365246,58.9784202,15.4830432,35.5132436,68.7528873,36.9666463,46.4835846,22.3862675,2.2269059,11.6085053,10.9414351,35.5837774,9.5743594,1.2068413,1.1810927,13.4434963,8.3642582,57.5690931,15.874298,35.5026988,68.3033734,37.3824318,45.6057814,22.0628723,2.2321274,11.4617477,10.121497,35.547129,9.3748893,1.0934336,1.0450564,13.4303512,8.668433,56.0217909,16.5897634,35.2953874,68.0081,37.4359501,46.5093808,22.3590214,2.7687248,11.6070508,10.3933175,34.9745554,8.8650219,1.0960886,1.0904755,13.8335504,8.9837416,55.011748,16.9521818,36.2811307,68.4073726,38.1846884,46.1695333,22.6319675,2.6229993,11.5480874,10.5685299,36.1584611,7.5537558,1.1012589,1.0956412,14.0127438,8.9966921,52.8027427,17.6621952,35.9801927,68.9565688,38.5420344,47.4847432,23.124944,2.6315515,11.8722749,10.5463266,35.9467268,6.7374979 +192,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6311906,0.7116031,10.2385706,6.6294559,75.8855843,14.9501898,33.6413131,64.2468965,32.3835492,43.625785,17.7562187,5.0543462,9.3292382,8.0498561,33.9475403,7.025533,0.6101429,0.6757413,10.4908349,6.7944252,75.2827285,15.3223361,33.6780101,64.3765366,32.636345,43.5125715,17.7772771,5.3232213,9.5189829,7.9924543,34.6703792,7.4239575,0.6552424,0.7170588,10.281886,6.662046,74.6060566,15.5697327,33.3463128,65.0661541,32.5992327,43.6342506,17.9221883,5.1906615,9.9271169,8.3017189,34.4236032,6.887287,0.6804237,0.7320972,10.0616495,6.4995932,73.5559982,16.0452344,32.5408159,65.6665324,33.4141146,44.0298246,18.3397758,5.5884456,10.0934864,8.5551312,33.4459587,6.3071161,0.6921649,0.722046,10.0108081,6.573221,72.203597,16.8517051,31.9152868,65.7743963,33.9293606,44.5287679,18.9275047,5.6431298,10.4392405,8.8071469,33.622734,5.258287 +193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6370824,0.6419472,11.8743196,7.6173433,75.5325911,13.1128109,37.6764326,66.6058636,34.5360974,46.1300626,18.5329081,3.7192722,12.0832254,10.5604747,32.5520043,6.7237098,0.5999679,0.6084651,11.7917987,7.3903619,74.057047,13.1169489,37.129482,67.0074362,35.8614676,46.3544065,18.8381605,3.6852099,11.7082891,10.9232313,33.3486528,7.1934113,0.5972348,0.6095222,11.503247,7.081961,72.7931419,13.003816,37.7982297,67.3899033,35.908731,46.7173729,19.0472332,3.578863,11.3512704,10.9682432,33.94759,7.7937834,0.7078807,0.7202465,11.4732109,7.1598575,71.1560298,13.4010018,37.7320263,67.8208121,35.7788591,47.0621499,19.4915155,3.4140458,10.9632995,10.9121666,33.3590201,8.7563639,0.7865241,0.7901855,11.193578,6.788013,69.5304691,13.8678686,37.9735563,68.4574908,36.6841794,47.604269,20.0970967,3.4304343,10.8305904,10.5145246,33.4891263,8.6901928 +194,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6385877,0.5702776,10.8780268,6.7353961,74.530807,10.2561054,30.5361234,64.7863631,34.7085892,42.3703097,18.1923233,4.181361,10.6032153,8.9727358,32.9633522,8.5045076,0.5384739,0.4784891,10.4738373,6.3428973,73.2384575,10.2690558,30.3050569,66.1236886,35.0528524,41.8478549,18.549816,4.3177052,10.5383431,8.8999256,32.770561,6.7132814,0.5021686,0.4426544,10.4591073,6.3163088,72.4226957,10.2361653,29.3894118,66.7444511,35.5655533,42.4022612,18.7835957,4.5235908,10.1834344,8.6563371,32.9838665,6.5315315,0.4653957,0.3986249,10.6320216,6.7018398,72.1810582,10.6031679,28.9312586,66.8221021,35.7359524,42.1304347,19.1675319,4.5022435,10.8081866,8.4446035,33.6907609,5.4824561,0.522711,0.4587576,10.7669028,6.9843394,71.3046301,10.4216638,28.6987045,66.7153564,35.9416455,42.2972213,19.368337,4.4581468,10.8043499,9.0609006,33.636336,5.6561086 +195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5823665,0.5652554,10.1080589,6.1850471,78.2224384,13.5297948,34.0431026,65.7119509,30.1281617,40.7314154,15.1829687,4.0559204,10.2956358,9.1106804,32.0348111,8.1240888,0.4685371,0.4647045,9.3694714,5.6088716,77.268144,13.958383,33.6458114,66.3650732,30.6965769,40.8853212,15.0062986,3.8782782,9.8007707,8.9372879,31.2731774,7.523642,0.4312875,0.4151794,9.1922449,5.3228611,76.6195415,13.7512996,33.1293544,65.6477611,30.4994447,40.7852934,15.1273354,3.959121,9.4932885,8.7104266,31.8254716,7.2489307,0.4622638,0.4492416,9.0727551,5.30558,75.3090028,13.5513245,32.928125,65.6447186,30.3820531,41.805625,15.2793884,3.5903605,8.9575767,8.2921284,31.5939892,7.1746627,0.4197663,0.406871,8.8637093,5.1781696,74.3503361,13.7739175,32.5564466,65.9146242,30.8666428,42.0588765,15.799106,3.7344605,8.7645118,8.3687776,31.650304,6.2202673 +196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7986391,1.7878517,14.4908406,9.7684579,44.344027,18.9869368,34.9611926,67.5769145,38.158907,48.0764657,27.8277576,2.8702906,10.2486643,8.5078829,39.0627655,10.0624061,1.6209048,1.5893269,15.2587312,10.4964145,42.4915666,18.9411746,34.1860939,68.8439961,38.4992298,48.7141351,28.9141287,2.9173875,11.5247494,9.5663245,39.4459169,12.3124809,1.4783444,1.4467763,15.4894371,11.1600663,42.8423146,19.415925,34.0604276,69.3588172,37.4409708,48.7401395,28.5390296,2.7609052,11.5066083,9.8893227,38.7985066,14.9290193,1.4359036,1.3723168,15.4956837,11.3519031,44.2326486,19.0791534,34.2819778,69.7211463,36.6845704,48.3369787,27.0284296,2.574937,11.5570849,10.6342961,40.3945842,16.9183693,1.1893704,1.1577795,15.6352914,11.3034794,44.4967213,18.2074581,33.2129914,69.952854,36.8814161,47.1577608,26.1540411,2.4435047,11.2617436,10.8030833,40.4917994,15.7416129 +197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.328468,1.4253385,21.8784546,16.4583111,22.8956121,14.0262232,36.4165231,62.3838627,31.6656256,48.6996257,23.2305691,4.6121593,14.532572,11.5817967,34.3148707,20.2519887,1.2962873,1.3915965,21.778056,16.2011918,23.9709847,14.5174276,36.7351238,60.9178275,31.3401666,48.2476556,22.4969714,4.4771476,15.7047682,11.8473896,34.5265516,20.8844867,1.2832723,1.3789678,22.0232997,16.7199403,24.7354458,15.7384285,37.7121047,61.8859112,31.682543,48.9893674,23.5873442,4.7732969,15.6162985,12.2441259,34.265948,19.379411,1.2370812,1.3311543,22.0706084,16.9289649,25.2667212,16.0386187,37.5586204,62.0501083,31.9703118,49.0101078,24.0253791,4.5749582,16.1469123,12.4282325,33.7762031,21.7944247,1.286036,1.3281867,21.3787282,16.645784,27.2683291,15.659225,36.6981398,62.1569676,32.2568676,49.2649239,24.0230225,4.4687455,15.616621,12.123399,33.7172743,18.8458059 +198,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5384739,0.4784891,10.4738373,6.3428973,73.2384575,10.2690558,30.3050569,66.1236886,35.0528524,41.8478549,18.549816,4.3177052,10.5383431,8.8999256,32.770561,6.7132814,0.5021686,0.4426544,10.4591073,6.3163088,72.4226957,10.2361653,29.3894118,66.7444511,35.5655533,42.4022612,18.7835957,4.5235908,10.1834344,8.6563371,32.9838665,6.5315315,0.4653957,0.3986249,10.6320216,6.7018398,72.1810582,10.6031679,28.9312586,66.8221021,35.7359524,42.1304347,19.1675319,4.5022435,10.8081866,8.4446035,33.6907609,5.4824561,0.522711,0.4587576,10.7669028,6.9843394,71.3046301,10.4216638,28.6987045,66.7153564,35.9416455,42.2972213,19.368337,4.4581468,10.8043499,9.0609006,33.636336,5.6561086,0.491196,0.4231798,10.6404204,6.851898,70.185165,10.5850732,28.1844284,67.0283496,35.2792464,42.2662801,18.9227737,4.3349278,10.2496699,8.8353286,32.8096417,3.9170507 +199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4055632,0.3644038,8.0390688,5.6050651,86.0028096,18.7456894,33.1335847,63.8184057,24.0582033,37.9622768,9.8116475,6.2499914,12.4081684,10.2692578,34.2063569,2.6984127,0.4596268,0.4183511,7.8622668,5.498448,85.1186207,18.8915942,32.4125216,64.327309,24.9313574,39.069957,9.8661807,6.3314922,12.13787,10.2332183,33.7134789,2.3584906,0.4518231,0.3944535,7.7146622,5.3540782,84.6913727,18.9884724,31.5527627,64.805866,25.8845828,39.5224673,10.4259869,6.4754269,12.4048066,10.3701208,33.8159796,2.9780564,0.3928242,0.3283009,7.4375873,5.2877828,84.7085294,18.7005301,31.4410282,66.0589943,26.232671,39.6354209,10.6771132,6.3368097,12.0269531,9.896857,34.3405225,3.0844106,0.3247154,0.2924553,7.1031584,4.9496215,84.1316932,19.1685116,31.1478959,65.5478176,26.3478571,39.8435065,10.8000221,5.7217406,11.1803641,8.8003064,34.0319786,3.1456902 +200,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2068413,1.1810927,13.4434963,8.3642582,57.5690931,15.874298,35.5026988,68.3033734,37.3824318,45.6057814,22.0628723,2.2321274,11.4617477,10.121497,35.547129,9.3748893,1.0934336,1.0450564,13.4303512,8.668433,56.0217909,16.5897634,35.2953874,68.0081,37.4359501,46.5093808,22.3590214,2.7687248,11.6070508,10.3933175,34.9745554,8.8650219,1.0960886,1.0904755,13.8335504,8.9837416,55.011748,16.9521818,36.2811307,68.4073726,38.1846884,46.1695333,22.6319675,2.6229993,11.5480874,10.5685299,36.1584611,7.5537558,1.1012589,1.0956412,14.0127438,8.9966921,52.8027427,17.6621952,35.9801927,68.9565688,38.5420344,47.4847432,23.124944,2.6315515,11.8722749,10.5463266,35.9467268,6.7374979,1.1183242,1.1128705,13.4303413,8.2734668,52.4192747,17.7834142,35.1086972,69.3789459,38.3726968,48.0277995,22.6877836,2.6519059,11.3749628,10.2508406,36.176179,7.553821 +201,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8201539,0.8607739,18.9274156,14.7073625,35.9919531,18.2278585,37.9698892,65.220105,39.0952448,50.4677193,25.0321972,3.7821485,13.1130727,10.1607145,33.2298677,11.0654434,0.7623013,0.79204,19.157138,15.032675,36.1791625,19.0552121,37.98827,64.7085049,38.4380729,49.6133779,24.436754,3.6292605,12.6746037,10.2525499,31.8739218,9.0541628,0.9733498,1.0177724,19.5132585,15.1693757,36.81522,19.147588,37.8595349,65.0153893,38.3667124,49.6772626,24.5683505,3.2273169,12.5971564,10.8961042,31.7357004,9.5735583,1.0279927,1.0579052,19.5229303,16.0020992,36.8940517,18.6467629,38.8630993,64.231495,38.8591132,50.3855621,24.3107989,3.1876017,12.8503545,11.3999723,31.9083247,9.3275438,1.1265934,1.1562666,20.2207658,16.7831175,37.2588765,17.7513607,38.770099,64.0371337,38.1280733,50.1896318,24.3463433,3.2228605,12.5325911,10.8405483,32.3381835,11.2309237 +202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6186629,0.6366722,13.2535523,8.1214353,51.4766129,12.8956662,37.3385899,66.2586552,37.81966,45.8273865,24.3904522,2.9130823,14.7086299,14.5091911,40.0232574,8.878513,0.7300229,0.7474658,12.3973725,7.540665,49.4985199,13.3544989,36.8993662,65.9886219,38.3433679,46.649328,24.9863464,3.1200598,15.2103269,13.5789374,40.0708351,8.3333399,0.6822961,0.7633643,12.1235276,7.3762085,48.7631674,14.5227173,38.0866482,65.8844845,39.9948241,48.4528095,25.6059623,3.4295851,15.7670624,14.8482329,40.619067,6.0000048,0.7536953,0.8249881,12.047881,7.2083506,46.9863787,14.2893436,36.9084422,67.6697658,40.6635529,49.0997936,25.9516133,3.4722093,15.0704348,14.2521476,39.707288,7.6612965,0.8030882,0.87479,11.6581506,7.423459,44.7702133,15.3233975,36.8652904,68.31607,41.4766506,50.5958527,25.9326055,3.6528363,14.5673173,13.3429961,38.964182,9.3495935 +203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4685371,0.4647045,9.3694714,5.6088716,77.268144,13.958383,33.6458114,66.3650732,30.6965769,40.8853212,15.0062986,3.8782782,9.8007707,8.9372879,31.2731774,7.523642,0.4312875,0.4151794,9.1922449,5.3228611,76.6195415,13.7512996,33.1293544,65.6477611,30.4994447,40.7852934,15.1273354,3.959121,9.4932885,8.7104266,31.8254716,7.2489307,0.4622638,0.4492416,9.0727551,5.30558,75.3090028,13.5513245,32.928125,65.6447186,30.3820531,41.805625,15.2793884,3.5903605,8.9575767,8.2921284,31.5939892,7.1746627,0.4197663,0.406871,8.8637093,5.1781696,74.3503361,13.7739175,32.5564466,65.9146242,30.8666428,42.0588765,15.799106,3.7344605,8.7645118,8.3687776,31.650304,6.2202673,0.4395812,0.3835622,8.7182706,5.2722249,73.686939,14.082344,31.8788593,66.0471011,31.0879899,42.5062911,16.3360755,3.948796,8.2974313,7.9453945,32.0216578,7.2535922 +204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5089621,0.5666776,10.6861874,7.4234236,70.4683635,14.0104393,36.4108314,65.8066377,30.6654004,45.3398632,16.3392092,4.0194721,10.6456176,8.7133789,29.6731621,4.9981389,0.5039569,0.539917,10.8400288,7.6579655,68.1748943,13.7649955,35.4880767,66.171603,32.0716586,45.8234141,16.8346222,4.196787,10.3143125,8.5252701,29.4058026,5.3653189,0.5399377,0.5762382,10.995881,7.7785608,65.6683065,13.9238029,34.2726143,66.9665774,32.859393,46.38199,17.2179294,4.237955,10.1170184,9.2448129,29.4827111,6.942007,0.5228243,0.5592646,11.2085702,7.7912504,63.5438203,13.95499,34.110443,67.4150705,33.0572207,46.1839292,17.7695361,4.28739,10.1730761,8.8332399,29.1529753,7.0596302,0.6247357,0.6620539,10.9611295,7.5977235,61.3170055,14.2856378,34.9342595,66.846576,33.3761633,46.5455636,18.4427733,4.2375244,11.001345,9.6533899,29.5413185,5.3053923 +205,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5039233,0.5143893,8.2314513,5.1694562,87.6428021,6.6262688,27.1522546,61.1413661,25.3168951,35.2532526,11.620706,5.0455904,10.3706317,9.2160688,37.5901359,3.1224655,0.5534378,0.5551855,8.384555,5.2173072,87.5254518,6.3711446,26.6603773,61.8840621,26.0532791,35.679084,11.7398831,5.1424276,10.1415851,9.1873397,37.354849,3.5150079,0.5391994,0.5355162,8.1942885,5.1322718,87.2050352,6.280104,26.2399821,62.8326148,26.6773888,36.0181945,11.8725472,5.0447644,10.1094866,9.533973,36.954866,3.4336343,0.5415858,0.5646662,8.2818414,5.1851859,86.8918292,6.2932224,26.4568704,63.1518601,26.6660618,36.1161081,12.0236838,5.0835899,10.0249732,9.3281073,37.1352366,3.9360784,0.5250302,0.5525296,8.3325962,5.199694,86.4228407,6.3983522,26.7863669,63.4292536,27.5256504,36.8881476,12.3688979,5.194209,10.0167823,9.1659818,37.3967514,4.1312649 +206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4425411,0.4931359,11.552905,8.067186,85.3212452,10.9478456,29.6652866,62.0737111,24.2003625,39.4725303,11.5335602,4.4164356,12.5906496,10.1217802,31.1567632,3.0973433,0.4588556,0.5212692,11.628651,7.9443135,85.2083804,10.8909616,29.8228566,62.2385914,24.8719584,39.2978819,11.7050614,4.3427199,12.804097,10.7202323,31.0967941,3.5714276,0.4561865,0.5236472,11.3589061,7.820359,84.825733,11.1973121,29.4677396,63.8841264,25.5771834,40.1560587,11.7678704,4.2218921,12.8435366,11.2560417,30.9831158,3.7500104,0.4493799,0.5363885,10.7016342,7.402386,84.4604935,11.5093114,28.7611806,64.3752641,26.50872,40.4271197,11.5703605,4.366771,12.3079738,11.6566589,31.3618315,3.8563932,0.4043226,0.4392619,10.4451,7.1231036,84.6887638,11.4923808,28.8445444,64.3088579,26.1015432,39.9027826,11.1555477,4.3520538,12.7916199,11.5542817,30.9289751,4.0502906 +207,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4588556,0.5212692,11.628651,7.9443135,85.2083804,10.8909616,29.8228566,62.2385914,24.8719584,39.2978819,11.7050614,4.3427199,12.804097,10.7202323,31.0967941,3.5714276,0.4561865,0.5236472,11.3589061,7.820359,84.825733,11.1973121,29.4677396,63.8841264,25.5771834,40.1560587,11.7678704,4.2218921,12.8435366,11.2560417,30.9831158,3.7500104,0.4493799,0.5363885,10.7016342,7.402386,84.4604935,11.5093114,28.7611806,64.3752641,26.50872,40.4271197,11.5703605,4.366771,12.3079738,11.6566589,31.3618315,3.8563932,0.4043226,0.4392619,10.4451,7.1231036,84.6887638,11.4923808,28.8445444,64.3088579,26.1015432,39.9027826,11.1555477,4.3520538,12.7916199,11.5542817,30.9289751,4.0502906,0.4132773,0.4378913,10.700474,7.3814878,84.2239545,11.5159749,29.259532,64.6898024,27.0533129,40.0283235,11.4569869,4.7291438,12.3262082,11.4315276,30.6001023,5.124685 +208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5858108,0.5966298,11.5263081,7.8070018,65.7086088,14.9646613,34.26988,68.5218322,35.1288449,44.0407921,19.4166168,2.6306386,9.5904576,8.3560721,33.3907764,6.3043341,0.6264651,0.6372074,11.9006115,8.0090189,64.5572011,15.5263106,34.3106011,69.7050429,36.1940254,44.331891,19.8471927,2.7540848,9.7736758,8.5274045,32.7670069,5.3879194,0.6943176,0.7053223,11.470996,7.5339866,62.6649532,15.9490376,33.6178833,69.7239199,36.7780521,45.0599104,20.8681455,3.1420249,9.3990354,8.3508112,33.133397,6.7099451,0.687097,0.6898391,11.6755678,7.3261876,61.5595395,15.4464115,33.1584734,69.8082321,36.6316979,45.4956384,21.0021765,3.0209782,9.3031534,8.0600259,33.3919962,7.6388783,0.6574025,0.6712177,11.5039434,6.8018564,60.3258907,15.25635,33.4842592,69.8116462,36.9974772,45.1466723,20.880119,3.1329212,9.1752695,8.0922925,32.5573485,8.0096932 +209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7845703,0.7615124,14.3510465,9.7426793,64.5340657,12.3226857,36.180103,65.7859364,33.7601467,43.9968246,23.4624859,3.8358831,12.7896076,10.403678,40.2726882,7.7142901,0.8017377,0.7788043,14.7629107,9.7509612,62.816763,11.9950604,35.6102063,66.5070279,34.4792181,43.7233261,24.1974294,3.8299669,13.1926754,11.4424098,42.0704078,7.712766,0.9163221,0.9048291,14.8493784,9.874709,61.7389886,12.2589293,35.4607233,67.5615492,34.2660322,43.6061845,24.0852016,4.0255845,13.2523476,11.1949777,42.195332,7.9896907,0.8371689,0.8025304,13.7719247,9.2063653,60.6107302,12.206582,36.0030169,67.910424,35.222238,43.8531239,24.5517556,3.9819143,12.99855,10.7933951,41.3744518,7.9234973,0.7530595,0.7644478,13.6441143,9.1868686,59.2544954,13.0306173,35.9926997,68.0865062,35.5805698,44.5346454,24.6078914,3.8893733,13.211797,11.2171407,42.0647212,8.5051075 +210,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8326153,0.8117713,17.5050151,13.899044,27.8534506,19.6748358,35.5685333,65.3176118,37.8052825,47.8039424,23.1436113,3.4812883,10.7149163,9.2340086,35.3228691,18.6132303,0.8833624,0.8518071,18.3469048,14.472414,27.644379,19.5887378,36.3204571,65.2685248,37.2973851,47.3097845,22.615546,3.6264005,11.174155,9.2336914,35.6630753,19.7987654,0.9875409,0.9177058,18.6709105,14.7784707,28.2678698,20.1025264,36.5494521,65.2415448,36.9819166,47.5270881,22.2884341,3.2603281,11.2503808,9.0438504,36.049156,19.5652795,0.9677035,0.9003383,19.0142995,15.2981557,28.8557892,19.9705755,36.474197,65.2168374,37.5701498,47.648984,22.0369799,3.2400969,11.3534425,8.9769091,36.4472962,18.4849091,1.1302872,1.0176315,18.5689052,15.2734011,29.3616748,19.9961883,36.2010647,64.2296777,37.3226599,46.4241199,21.2527369,3.0559349,11.9633995,8.7885485,36.0455852,18.263522 +211,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.712828,1.8586006,25.4276827,21.3841369,55.2464229,7.6388889,34.5496894,66.8478261,28.1832298,44.1770186,15.4503106,5.5124224,17.6751592,11.6242038,35.3225806,9.9137931,1.8041237,1.9513991,25.9811617,21.899529,52.8892456,8.1395349,34.1940532,67.057903,29.1862285,45.9311424,15.8841941,5.399061,18.1372549,12.5816993,35.8085809,9.4262295,1.8494152,1.995614,25.3488372,20.8527132,52.8044872,7.7453988,34.1860465,64.5736434,28.1395349,42.8682171,16.0465116,5.1937984,16.7711599,11.1285266,36.2341772,11.25,1.9111111,2.0592593,26.0497667,21.3841369,54.2003231,6.8885449,34.6698113,64.5440252,28.5377358,43.4748428,16.745283,4.7955975,16.7692308,11.5384615,36.4906832,10.3305785,2.1310241,2.2816265,26.2779553,21.3258786,54.6875,7.8199052,35.1674641,65.1515152,28.3094099,45.5342903,17.7830941,5.8213716,15.0621118,11.0248447,35.5590062,10.2459016 +212,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2644652,1.1985671,20.2573551,15.8642013,30.6133064,22.6982176,35.1297143,69.934592,38.2423678,49.095933,22.6837093,4.5946197,9.8789268,9.4692895,28.344123,21.4285894,1.0352755,0.9703194,21.0246499,16.551326,30.5819312,22.6920882,35.9722449,69.3536231,37.6786379,49.1839611,23.116963,4.2966915,10.9890719,9.269437,27.7218373,21.2500177,0.8861493,0.7921321,21.403998,17.276327,31.8494149,22.6228668,35.3760157,68.5964791,36.6791906,49.8294211,22.3621566,3.7327234,11.5056819,9.5799131,29.6063717,18.3760841,0.9290133,0.837464,21.2709036,17.3976027,32.3882723,22.4674009,34.945688,68.6589668,36.7504819,49.500309,22.128554,3.5718792,11.0584194,10.1609905,29.4873599,16.6667344,0.9630531,0.9332506,21.3591108,17.5326786,33.186441,22.1246907,34.7933944,68.0615954,36.7306095,49.3568309,22.4316372,3.1394326,10.2709277,9.1317778,28.4138032,20.2380792 +213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4596268,0.4183511,7.8622668,5.498448,85.1186207,18.8915942,32.4125216,64.327309,24.9313574,39.069957,9.8661807,6.3314922,12.13787,10.2332183,33.7134789,2.3584906,0.4518231,0.3944535,7.7146622,5.3540782,84.6913727,18.9884724,31.5527627,64.805866,25.8845828,39.5224673,10.4259869,6.4754269,12.4048066,10.3701208,33.8159796,2.9780564,0.3928242,0.3283009,7.4375873,5.2877828,84.7085294,18.7005301,31.4410282,66.0589943,26.232671,39.6354209,10.6771132,6.3368097,12.0269531,9.896857,34.3405225,3.0844106,0.3247154,0.2924553,7.1031584,4.9496215,84.1316932,19.1685116,31.1478959,65.5478176,26.3478571,39.8435065,10.8000221,5.7217406,11.1803641,8.8003064,34.0319786,3.1456902,0.3637307,0.3316166,7.2516389,4.9671012,84.9788599,18.9911602,31.1894311,65.0311944,26.543017,39.7191722,10.5929454,5.6692091,10.982883,8.5932723,34.2790693,4.5762634 +214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4077502,0.4290242,8.4913248,5.5062496,83.8955205,17.9420019,31.8582242,60.1722067,24.2490958,35.382454,11.0732902,5.3063687,10.3884113,8.7212927,34.0049598,5.6818208,0.5090211,0.5339603,8.7368823,5.7506025,82.6773307,18.209131,31.5313488,60.9927655,24.9799005,35.8319887,11.274118,5.3255638,10.2103135,8.4751543,34.4133676,5.2272751,0.3926791,0.4448953,8.2896343,5.344898,81.2120027,18.9312632,31.0669845,61.9133593,25.9326075,37.2041656,11.5724046,5.3549948,10.7196978,8.9217926,34.9621239,4.2035417,0.3697758,0.4583895,8.0912042,5.1856346,80.6445068,18.9785339,30.74297,61.0642572,25.0803223,37.3694734,12.0682715,5.4016075,10.6231255,9.2105209,34.8496244,3.4246575,0.390347,0.4655619,7.9166689,4.900795,79.5346045,19.1842285,31.27222,60.9442934,25.701306,37.1592226,12.4654277,5.7092072,10.134632,8.9446053,35.2213058,2.4886878 +215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4518231,0.3944535,7.7146622,5.3540782,84.6913727,18.9884724,31.5527627,64.805866,25.8845828,39.5224673,10.4259869,6.4754269,12.4048066,10.3701208,33.8159796,2.9780564,0.3928242,0.3283009,7.4375873,5.2877828,84.7085294,18.7005301,31.4410282,66.0589943,26.232671,39.6354209,10.6771132,6.3368097,12.0269531,9.896857,34.3405225,3.0844106,0.3247154,0.2924553,7.1031584,4.9496215,84.1316932,19.1685116,31.1478959,65.5478176,26.3478571,39.8435065,10.8000221,5.7217406,11.1803641,8.8003064,34.0319786,3.1456902,0.3637307,0.3316166,7.2516389,4.9671012,84.9788599,18.9911602,31.1894311,65.0311944,26.543017,39.7191722,10.5929454,5.6692091,10.982883,8.5932723,34.2790693,4.5762634,0.3607023,0.3292687,7.3879102,4.8743169,85.0568034,19.2113745,30.6683775,64.4220806,26.1677326,39.976144,10.3818667,6.0859089,10.8566192,8.1721406,34.2424533,4.5607954 +216,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7126293,0.6831872,12.5070225,7.6934526,66.1678197,14.6533431,35.1706194,67.4232191,34.5785418,43.2902465,21.5252546,3.594609,11.1377893,10.1337758,35.1949503,4.9020738,0.7075693,0.6779909,12.160721,7.3468445,65.8002163,15.2667416,35.3818288,67.9110289,34.9276455,43.6988009,21.5299817,3.4771743,10.6971658,9.5585188,35.6409863,5.8052848,0.6977155,0.6684158,12.4030371,7.4141191,64.5899404,15.6690165,34.7405526,68.4013299,34.8807927,43.6889794,22.0618206,3.5203529,10.6310151,9.2968767,35.6188456,5.5160908,0.6454889,0.6921476,12.0610181,7.4780897,63.2044821,16.1098721,34.9143496,68.4044926,35.3014643,44.4277653,22.2208794,3.4983714,10.664316,9.5624165,36.0573994,5.272804,0.6997182,0.7767198,11.9962675,7.2304357,62.3240827,16.4654815,34.7893596,68.6773022,35.4548558,45.0777159,22.0329228,3.5635404,10.3187101,8.7310964,35.3639793,6.0137932 +217,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7036857,0.7203832,15.1671272,10.2646271,69.9444515,15.7555965,40.2241771,66.6146614,34.6623084,47.4035066,21.0414447,3.0221376,11.556807,9.5726148,34.8233715,9.4936669,0.6735279,0.6903698,14.4163082,9.6343189,68.8651409,15.8687017,39.5684361,68.3481062,35.3672298,47.284927,21.3060972,2.8722522,11.4766071,9.5853649,34.1731865,10.7594846,0.6669325,0.6755995,14.1122258,9.282527,67.657171,15.6821458,39.053661,67.9802345,35.7203277,48.206209,21.5113136,2.6694972,10.9658419,9.4284178,34.557637,10.6522081,0.7082089,0.7342777,13.6781965,8.9375437,66.8249645,16.1303993,38.7485742,67.8348601,36.2230433,48.8791117,21.4670966,2.9937603,10.1222184,8.6390248,33.733335,9.7510707,0.6945068,0.7031964,13.4422194,8.8358543,65.9901737,16.5679658,38.5390088,67.9574647,36.3262401,48.5532043,21.2907966,3.0212822,10.6762616,9.4083159,34.0556426,10.2510793 +218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4818535,0.4689404,12.2731622,9.01882,86.2470575,9.5664844,30.1405383,60.5813229,21.1602062,37.9539114,9.8465146,3.4824783,14.725197,11.7975961,31.3746585,9.6025791,0.470866,0.4908212,12.1701978,8.6831721,85.9941119,8.8879173,29.4982497,60.6834457,21.684109,37.9515391,9.7498715,3.5340729,14.5918834,11.9240848,31.3781804,8.1325105,0.4868356,0.5175248,12.2204693,8.6312791,85.6824721,8.4748005,29.4935997,62.2563292,21.9302527,38.329287,10.1964267,3.8700529,14.3913309,11.5986535,32.2584681,7.3529758,0.4557991,0.4907363,12.0084588,8.4655617,85.4526115,8.6232143,29.9245168,63.0707596,23.1432392,38.6235087,10.9021774,4.0513733,13.5471639,11.251286,33.6327527,8.2386691,0.4571545,0.480992,11.6235754,8.3025653,84.8084305,8.772988,29.9643603,63.5061115,23.6740391,39.0287264,10.8541726,3.6066713,13.8574584,11.3271852,34.6503963,8.4699731 +219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6911114,0.7630377,12.4129832,8.5073974,57.6676844,14.963946,38.8240381,66.391163,37.5302562,48.5580218,22.4194132,2.9139896,12.1938937,10.2662334,34.9967542,6.0897436,0.7941656,0.8618627,12.5886037,8.5578695,57.1094891,14.6190063,37.9753529,65.7556697,37.625528,48.6691045,22.2756305,2.9692717,11.2078237,9.7535139,34.8561484,6.9570103,0.8229176,0.9146279,12.4190932,8.2866971,55.6385242,15.9964392,36.6427828,66.6356143,38.1679877,48.4436947,21.7470593,3.0723747,11.1301504,9.4357675,34.3887148,8.4413566,0.7579011,0.8240586,12.2456933,8.0362775,53.8061175,16.4625244,35.2164788,67.4798415,38.4917713,49.4654098,21.6173808,3.2265968,11.4032907,9.8134492,34.5600015,9.2855016,0.7750411,0.7777058,12.6107951,8.0066192,52.7700552,16.699258,34.3733927,67.5108818,38.7907337,50.2104406,21.6655941,3.1153363,11.7996009,9.8477544,33.7007395,9.8256502 +220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7623013,0.79204,19.157138,15.032675,36.1791625,19.0552121,37.98827,64.7085049,38.4380729,49.6133779,24.436754,3.6292605,12.6746037,10.2525499,31.8739218,9.0541628,0.9733498,1.0177724,19.5132585,15.1693757,36.81522,19.147588,37.8595349,65.0153893,38.3667124,49.6772626,24.5683505,3.2273169,12.5971564,10.8961042,31.7357004,9.5735583,1.0279927,1.0579052,19.5229303,16.0020992,36.8940517,18.6467629,38.8630993,64.231495,38.8591132,50.3855621,24.3107989,3.1876017,12.8503545,11.3999723,31.9083247,9.3275438,1.1265934,1.1562666,20.2207658,16.7831175,37.2588765,17.7513607,38.770099,64.0371337,38.1280733,50.1896318,24.3463433,3.2228605,12.5325911,10.8405483,32.3381835,11.2309237,1.2015528,1.2459816,19.871036,16.491607,37.7380709,18.1916519,39.4711064,63.5896792,38.3841993,50.0629298,24.8573031,3.2229078,13.0368725,11.3280452,32.0063384,12.7575825 +221,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5534378,0.5551855,8.384555,5.2173072,87.5254518,6.3711446,26.6603773,61.8840621,26.0532791,35.679084,11.7398831,5.1424276,10.1415851,9.1873397,37.354849,3.5150079,0.5391994,0.5355162,8.1942885,5.1322718,87.2050352,6.280104,26.2399821,62.8326148,26.6773888,36.0181945,11.8725472,5.0447644,10.1094866,9.533973,36.954866,3.4336343,0.5415858,0.5646662,8.2818414,5.1851859,86.8918292,6.2932224,26.4568704,63.1518601,26.6660618,36.1161081,12.0236838,5.0835899,10.0249732,9.3281073,37.1352366,3.9360784,0.5250302,0.5525296,8.3325962,5.199694,86.4228407,6.3983522,26.7863669,63.4292536,27.5256504,36.8881476,12.3688979,5.194209,10.0167823,9.1659818,37.3967514,4.1312649,0.5035385,0.5215776,8.214142,5.0896511,86.4602141,6.3817358,26.7754998,62.9879394,27.476031,36.9012518,12.4590293,5.2225444,9.9971493,8.9911402,37.2234118,4.1858586 +222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4561865,0.5236472,11.3589061,7.820359,84.825733,11.1973121,29.4677396,63.8841264,25.5771834,40.1560587,11.7678704,4.2218921,12.8435366,11.2560417,30.9831158,3.7500104,0.4493799,0.5363885,10.7016342,7.402386,84.4604935,11.5093114,28.7611806,64.3752641,26.50872,40.4271197,11.5703605,4.366771,12.3079738,11.6566589,31.3618315,3.8563932,0.4043226,0.4392619,10.4451,7.1231036,84.6887638,11.4923808,28.8445444,64.3088579,26.1015432,39.9027826,11.1555477,4.3520538,12.7916199,11.5542817,30.9289751,4.0502906,0.4132773,0.4378913,10.700474,7.3814878,84.2239545,11.5159749,29.259532,64.6898024,27.0533129,40.0283235,11.4569869,4.7291438,12.3262082,11.4315276,30.6001023,5.124685,0.4060473,0.4435506,10.3869667,7.1115,84.0293952,11.4892916,28.4776462,64.5114256,26.3632074,39.8508003,11.2730666,4.551555,11.6022351,10.8181381,30.989126,5.4622522 +223,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0120886,0.9429256,17.6288548,14.0352499,35.3467933,18.2816255,31.4585929,67.7275003,35.6241484,47.2216344,22.6006977,2.7457098,12.9320095,12.2070852,37.1771599,17.562661,1.1129286,1.0329046,18.1815112,14.6620671,35.3663283,17.8601794,30.7658362,66.6391858,34.7274303,46.7923843,21.6354309,2.5331971,13.1235983,12.4214588,38.0105361,16.9516818,1.1249309,1.0363513,19.2045847,15.3355336,34.9848038,18.5306069,30.8054142,65.9610894,34.5428799,47.21507,20.9359657,2.5403445,13.8641543,13.1188968,37.5469003,17.405785,1.0968197,1.0129079,20.371375,16.5942056,34.0985958,18.7493542,30.6208472,66.3771453,34.7294723,47.7769984,20.8488001,2.6928515,14.4220641,13.9418445,38.1091124,14.7954539,1.2184068,1.1734354,20.5802958,17.4345661,34.6414407,19.0500258,30.6325508,65.2719215,34.5052494,46.6073277,20.5202874,2.7701014,13.2498084,13.4532409,38.7792618,16.5341859 +224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5090211,0.5339603,8.7368823,5.7506025,82.6773307,18.209131,31.5313488,60.9927655,24.9799005,35.8319887,11.274118,5.3255638,10.2103135,8.4751543,34.4133676,5.2272751,0.3926791,0.4448953,8.2896343,5.344898,81.2120027,18.9312632,31.0669845,61.9133593,25.9326075,37.2041656,11.5724046,5.3549948,10.7196978,8.9217926,34.9621239,4.2035417,0.3697758,0.4583895,8.0912042,5.1856346,80.6445068,18.9785339,30.74297,61.0642572,25.0803223,37.3694734,12.0682715,5.4016075,10.6231255,9.2105209,34.8496244,3.4246575,0.390347,0.4655619,7.9166689,4.900795,79.5346045,19.1842285,31.27222,60.9442934,25.701306,37.1592226,12.4654277,5.7092072,10.134632,8.9446053,35.2213058,2.4886878,0.3767887,0.4516817,8.1331255,4.8247355,78.6054856,18.7037724,31.4573443,60.6042655,25.8886268,37.1445492,12.4210096,5.6279632,9.794573,8.847278,35.5726877,2.4553571 +225,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8017377,0.7788043,14.7629107,9.7509612,62.816763,11.9950604,35.6102063,66.5070279,34.4792181,43.7233261,24.1974294,3.8299669,13.1926754,11.4424098,42.0704078,7.712766,0.9163221,0.9048291,14.8493784,9.874709,61.7389886,12.2589293,35.4607233,67.5615492,34.2660322,43.6061845,24.0852016,4.0255845,13.2523476,11.1949777,42.195332,7.9896907,0.8371689,0.8025304,13.7719247,9.2063653,60.6107302,12.206582,36.0030169,67.910424,35.222238,43.8531239,24.5517556,3.9819143,12.99855,10.7933951,41.3744518,7.9234973,0.7530595,0.7644478,13.6441143,9.1868686,59.2544954,13.0306173,35.9926997,68.0865062,35.5805698,44.5346454,24.6078914,3.8893733,13.211797,11.2171407,42.0647212,8.5051075,0.8561185,0.8675904,12.8109954,8.5656313,57.9113526,13.5653385,36.6589316,68.6269026,36.6071931,44.5120278,24.7097276,3.543372,11.9674667,10.08939,41.3287588,9.4594105 +226,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5391994,0.5355162,8.1942885,5.1322718,87.2050352,6.280104,26.2399821,62.8326148,26.6773888,36.0181945,11.8725472,5.0447644,10.1094866,9.533973,36.954866,3.4336343,0.5415858,0.5646662,8.2818414,5.1851859,86.8918292,6.2932224,26.4568704,63.1518601,26.6660618,36.1161081,12.0236838,5.0835899,10.0249732,9.3281073,37.1352366,3.9360784,0.5250302,0.5525296,8.3325962,5.199694,86.4228407,6.3983522,26.7863669,63.4292536,27.5256504,36.8881476,12.3688979,5.194209,10.0167823,9.1659818,37.3967514,4.1312649,0.5035385,0.5215776,8.214142,5.0896511,86.4602141,6.3817358,26.7754998,62.9879394,27.476031,36.9012518,12.4590293,5.2225444,9.9971493,8.9911402,37.2234118,4.1858586,0.5232829,0.5534701,8.2124876,5.0617608,86.1536906,6.2577746,27.1688137,62.7337802,27.898869,37.0953937,12.648028,5.3279843,9.6942436,8.5740381,37.3863082,3.9953362 +227,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8127591,0.8215747,13.0929054,9.1073943,67.8766639,10.9057406,32.9905759,67.2455203,37.1712949,45.9710378,18.8638138,4.9393212,9.9369248,10.056763,33.3016771,11.1872708,0.7079175,0.6947652,12.5167707,8.5958569,66.0967374,11.6188574,32.5879572,67.4462798,37.2994257,45.93723,18.8631085,4.933432,9.6784734,9.2283118,33.6222613,10.0000044,0.882871,0.8880794,12.45027,8.5273567,64.3485119,11.9396437,33.294535,67.6132188,37.2569276,45.8198531,18.9223053,4.9530453,10.1520113,9.46222,33.0264623,11.8834134,0.9811014,0.97092,12.7721042,8.714892,63.0008961,11.9531805,32.8475536,68.2369373,37.8000697,47.1476284,19.4330246,5.1985399,10.4149814,9.7991599,33.2809653,11.8534483,0.8919606,0.871994,12.1461866,8.3256299,61.7482938,11.5352572,31.8308405,68.4290424,38.0589247,47.4974488,19.0214541,5.3131665,10.2944372,9.8896246,33.0998032,10.7305936 +228,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5415858,0.5646662,8.2818414,5.1851859,86.8918292,6.2932224,26.4568704,63.1518601,26.6660618,36.1161081,12.0236838,5.0835899,10.0249732,9.3281073,37.1352366,3.9360784,0.5250302,0.5525296,8.3325962,5.199694,86.4228407,6.3983522,26.7863669,63.4292536,27.5256504,36.8881476,12.3688979,5.194209,10.0167823,9.1659818,37.3967514,4.1312649,0.5035385,0.5215776,8.214142,5.0896511,86.4602141,6.3817358,26.7754998,62.9879394,27.476031,36.9012518,12.4590293,5.2225444,9.9971493,8.9911402,37.2234118,4.1858586,0.5232829,0.5534701,8.2124876,5.0617608,86.1536906,6.2577746,27.1688137,62.7337802,27.898869,37.0953937,12.648028,5.3279843,9.6942436,8.5740381,37.3863082,3.9953362,0.4884293,0.5127687,8.1212879,4.9168153,85.8231814,6.4290451,27.0085477,62.564713,28.0205013,36.9778241,12.7935482,5.5715127,9.8440927,8.4268179,37.3558564,3.7250301 +229,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5446291,0.5585896,11.6422337,7.6410113,68.4154045,8.0601645,30.2958375,68.6439818,37.6464066,39.9283138,18.0583624,4.0337246,10.4735593,8.2138114,35.8037837,6.2652061,0.5257374,0.5412162,11.3258275,7.3797929,67.6165769,8.4701085,30.3895963,68.6364103,37.9506015,39.9989979,18.0690863,4.1520243,10.5118006,8.4382215,35.8514119,6.1455833,0.4845334,0.4962492,11.1943338,7.2505858,66.2524268,8.4693981,30.8490167,68.8878746,37.8617723,40.4321002,18.513461,4.1438991,10.1791262,8.1772606,35.7517523,5.4899639,0.4688928,0.4764697,11.0948226,7.0612613,65.4443065,8.6872405,29.9558796,68.7807052,37.9374327,40.724957,19.1366698,4.0760062,10.0441307,8.1296939,35.7779513,5.8789283,0.5118506,0.5162937,11.2650156,7.2137816,63.9607771,9.0772071,29.8201652,68.9023181,38.7136417,41.5536535,19.9931215,4.2501984,10.1655091,8.262676,35.607212,5.6896552 +230,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7079175,0.6947652,12.5167707,8.5958569,66.0967374,11.6188574,32.5879572,67.4462798,37.2994257,45.93723,18.8631085,4.933432,9.6784734,9.2283118,33.6222613,10.0000044,0.882871,0.8880794,12.45027,8.5273567,64.3485119,11.9396437,33.294535,67.6132188,37.2569276,45.8198531,18.9223053,4.9530453,10.1520113,9.46222,33.0264623,11.8834134,0.9811014,0.97092,12.7721042,8.714892,63.0008961,11.9531805,32.8475536,68.2369373,37.8000697,47.1476284,19.4330246,5.1985399,10.4149814,9.7991599,33.2809653,11.8534483,0.8919606,0.871994,12.1461866,8.3256299,61.7482938,11.5352572,31.8308405,68.4290424,38.0589247,47.4974488,19.0214541,5.3131665,10.2944372,9.8896246,33.0998032,10.7305936,0.7930591,0.7805311,12.1435791,8.421901,60.0016763,11.7443522,31.6286365,68.6650145,38.2805005,48.0968466,19.0675802,5.6024249,10.5809167,9.8651136,32.9951622,10.0953138 +231,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5021686,0.4426544,10.4591073,6.3163088,72.4226957,10.2361653,29.3894118,66.7444511,35.5655533,42.4022612,18.7835957,4.5235908,10.1834344,8.6563371,32.9838665,6.5315315,0.4653957,0.3986249,10.6320216,6.7018398,72.1810582,10.6031679,28.9312586,66.8221021,35.7359524,42.1304347,19.1675319,4.5022435,10.8081866,8.4446035,33.6907609,5.4824561,0.522711,0.4587576,10.7669028,6.9843394,71.3046301,10.4216638,28.6987045,66.7153564,35.9416455,42.2972213,19.368337,4.4581468,10.8043499,9.0609006,33.636336,5.6561086,0.491196,0.4231798,10.6404204,6.851898,70.185165,10.5850732,28.1844284,67.0283496,35.2792464,42.2662801,18.9227737,4.3349278,10.2496699,8.8353286,32.8096417,3.9170507,0.4845928,0.4711227,10.5896311,6.6128112,68.9920671,10.6024581,28.3645787,66.4417907,35.6822131,42.9014746,18.9424719,4.2721016,9.9357211,8.7587852,32.968033,2.6442308 +232,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6101429,0.6757413,10.4908349,6.7944252,75.2827285,15.3223361,33.6780101,64.3765366,32.636345,43.5125715,17.7772771,5.3232213,9.5189829,7.9924543,34.6703792,7.4239575,0.6552424,0.7170588,10.281886,6.662046,74.6060566,15.5697327,33.3463128,65.0661541,32.5992327,43.6342506,17.9221883,5.1906615,9.9271169,8.3017189,34.4236032,6.887287,0.6804237,0.7320972,10.0616495,6.4995932,73.5559982,16.0452344,32.5408159,65.6665324,33.4141146,44.0298246,18.3397758,5.5884456,10.0934864,8.5551312,33.4459587,6.3071161,0.6921649,0.722046,10.0108081,6.573221,72.203597,16.8517051,31.9152868,65.7743963,33.9293606,44.5287679,18.9275047,5.6431298,10.4392405,8.8071469,33.622734,5.258287,0.62095,0.6577755,9.8923601,6.2643902,71.2775203,17.4268479,32.21575,65.9880372,34.9413853,45.3315621,19.1467324,5.6131762,10.520957,8.9067018,33.9818658,5.2102203 +233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6264651,0.6372074,11.9006115,8.0090189,64.5572011,15.5263106,34.3106011,69.7050429,36.1940254,44.331891,19.8471927,2.7540848,9.7736758,8.5274045,32.7670069,5.3879194,0.6943176,0.7053223,11.470996,7.5339866,62.6649532,15.9490376,33.6178833,69.7239199,36.7780521,45.0599104,20.8681455,3.1420249,9.3990354,8.3508112,33.133397,6.7099451,0.687097,0.6898391,11.6755678,7.3261876,61.5595395,15.4464115,33.1584734,69.8082321,36.6316979,45.4956384,21.0021765,3.0209782,9.3031534,8.0600259,33.3919962,7.6388783,0.6574025,0.6712177,11.5039434,6.8018564,60.3258907,15.25635,33.4842592,69.8116462,36.9974772,45.1466723,20.880119,3.1329212,9.1752695,8.0922925,32.5573485,8.0096932,0.7467569,0.7522412,11.3433388,6.4844557,59.4560105,15.561486,33.0151503,69.7946572,37.9142757,45.0468328,21.2716196,3.4041767,9.9795811,8.1570019,32.2902487,9.0686052 +234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5039569,0.539917,10.8400288,7.6579655,68.1748943,13.7649955,35.4880767,66.171603,32.0716586,45.8234141,16.8346222,4.196787,10.3143125,8.5252701,29.4058026,5.3653189,0.5399377,0.5762382,10.995881,7.7785608,65.6683065,13.9238029,34.2726143,66.9665774,32.859393,46.38199,17.2179294,4.237955,10.1170184,9.2448129,29.4827111,6.942007,0.5228243,0.5592646,11.2085702,7.7912504,63.5438203,13.95499,34.110443,67.4150705,33.0572207,46.1839292,17.7695361,4.28739,10.1730761,8.8332399,29.1529753,7.0596302,0.6247357,0.6620539,10.9611295,7.5977235,61.3170055,14.2856378,34.9342595,66.846576,33.3761633,46.5455636,18.4427733,4.2375244,11.001345,9.6533899,29.5413185,5.3053923,0.6428189,0.6805167,10.8847837,7.5248597,59.6723589,14.5584433,34.5087305,66.045158,33.8795623,46.4928826,18.5789388,4.3150317,10.5487155,9.3744473,29.1762466,4.9115034 +235,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6943176,0.7053223,11.470996,7.5339866,62.6649532,15.9490376,33.6178833,69.7239199,36.7780521,45.0599104,20.8681455,3.1420249,9.3990354,8.3508112,33.133397,6.7099451,0.687097,0.6898391,11.6755678,7.3261876,61.5595395,15.4464115,33.1584734,69.8082321,36.6316979,45.4956384,21.0021765,3.0209782,9.3031534,8.0600259,33.3919962,7.6388783,0.6574025,0.6712177,11.5039434,6.8018564,60.3258907,15.25635,33.4842592,69.8116462,36.9974772,45.1466723,20.880119,3.1329212,9.1752695,8.0922925,32.5573485,8.0096932,0.7467569,0.7522412,11.3433388,6.4844557,59.4560105,15.561486,33.0151503,69.7946572,37.9142757,45.0468328,21.2716196,3.4041767,9.9795811,8.1570019,32.2902487,9.0686052,0.8883894,0.8883894,11.839361,6.4499271,58.4760893,15.7262126,32.9289923,69.8488049,38.3790558,45.3762282,21.9233484,3.2876211,9.9331205,8.740795,32.3092583,8.0096893 +236,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7941656,0.8618627,12.5886037,8.5578695,57.1094891,14.6190063,37.9753529,65.7556697,37.625528,48.6691045,22.2756305,2.9692717,11.2078237,9.7535139,34.8561484,6.9570103,0.8229176,0.9146279,12.4190932,8.2866971,55.6385242,15.9964392,36.6427828,66.6356143,38.1679877,48.4436947,21.7470593,3.0723747,11.1301504,9.4357675,34.3887148,8.4413566,0.7579011,0.8240586,12.2456933,8.0362775,53.8061175,16.4625244,35.2164788,67.4798415,38.4917713,49.4654098,21.6173808,3.2265968,11.4032907,9.8134492,34.5600015,9.2855016,0.7750411,0.7777058,12.6107951,8.0066192,52.7700552,16.699258,34.3733927,67.5108818,38.7907337,50.2104406,21.6655941,3.1153363,11.7996009,9.8477544,33.7007395,9.8256502,0.8358012,0.8543832,13.0803033,8.1054337,51.7041365,16.5683865,34.9502101,67.3303965,38.4479168,50.8295519,21.7706311,2.9229786,11.6378779,10.1736623,33.7357946,8.384993 +237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3926791,0.4448953,8.2896343,5.344898,81.2120027,18.9312632,31.0669845,61.9133593,25.9326075,37.2041656,11.5724046,5.3549948,10.7196978,8.9217926,34.9621239,4.2035417,0.3697758,0.4583895,8.0912042,5.1856346,80.6445068,18.9785339,30.74297,61.0642572,25.0803223,37.3694734,12.0682715,5.4016075,10.6231255,9.2105209,34.8496244,3.4246575,0.390347,0.4655619,7.9166689,4.900795,79.5346045,19.1842285,31.27222,60.9442934,25.701306,37.1592226,12.4654277,5.7092072,10.134632,8.9446053,35.2213058,2.4886878,0.3767887,0.4516817,8.1331255,4.8247355,78.6054856,18.7037724,31.4573443,60.6042655,25.8886268,37.1445492,12.4210096,5.6279632,9.794573,8.847278,35.5726877,2.4553571,0.3957663,0.4697623,7.993024,4.686907,78.9156583,18.9606602,30.8124002,61.3334777,26.5358513,37.3443021,12.8499578,5.9292562,10.2794263,9.2115132,35.2625892,2.8138528 +238,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6944956,0.7184674,13.0172055,8.1011931,81.0694563,12.1156681,33.7771037,62.2600798,27.750267,40.8772022,15.4489159,2.6522155,10.6117146,8.2151245,35.4600769,10.2693568,0.7718722,0.8047333,13.0935075,8.2417611,79.5096443,12.12154,33.462269,63.4852782,28.402685,41.051647,16.2345796,2.6447803,10.7269438,8.2267086,35.1217573,9.7682119,0.7796794,0.8078954,12.7914165,8.1078265,77.6074911,12.0934783,33.0572541,64.5313624,29.3038485,41.6544436,16.2822455,2.4428576,10.8104329,8.4672908,34.6565846,9.1054313,0.777728,0.7843316,12.463494,7.9578678,75.3190958,12.1697122,32.9850281,65.5161596,29.8606735,41.6614003,16.2233513,2.6493539,10.3526178,8.4902801,34.4853555,8.8709792,0.7636198,0.7313251,11.9172629,7.2973589,73.6395672,12.4113503,32.8477375,66.1739774,30.5508252,42.6946079,16.4291793,2.7541472,10.4833306,9.1229924,34.1296485,8.2848958 +239,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4312875,0.4151794,9.1922449,5.3228611,76.6195415,13.7512996,33.1293544,65.6477611,30.4994447,40.7852934,15.1273354,3.959121,9.4932885,8.7104266,31.8254716,7.2489307,0.4622638,0.4492416,9.0727551,5.30558,75.3090028,13.5513245,32.928125,65.6447186,30.3820531,41.805625,15.2793884,3.5903605,8.9575767,8.2921284,31.5939892,7.1746627,0.4197663,0.406871,8.8637093,5.1781696,74.3503361,13.7739175,32.5564466,65.9146242,30.8666428,42.0588765,15.799106,3.7344605,8.7645118,8.3687776,31.650304,6.2202673,0.4395812,0.3835622,8.7182706,5.2722249,73.686939,14.082344,31.8788593,66.0471011,31.0879899,42.5062911,16.3360755,3.948796,8.2974313,7.9453945,32.0216578,7.2535922,0.4822796,0.432736,8.8670817,5.5144931,72.6550222,13.9537006,31.2909402,65.7649279,31.5169042,43.0950222,16.5922197,3.7220787,9.3065464,8.5605656,31.9514797,6.0709209 +240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5566357,0.5095668,7.7157801,5.0711991,85.4621071,16.3153493,29.6480248,63.198972,28.0868633,36.5455609,14.2350241,7.3091145,10.8041556,7.2802167,35.8995593,4.3157904,0.5914474,0.5593467,7.7403456,5.1263452,85.0215763,16.2447302,29.203413,62.66002,28.2645875,36.6856383,14.8364136,7.4679977,10.8826747,7.6817159,36.9745628,4.2797504,0.6338557,0.627525,7.5900541,5.1315055,84.8866796,15.8208579,28.9613671,62.9199256,28.7374085,37.1080699,14.515678,7.4608094,10.2989115,7.7783818,36.6208822,4.2391304,0.6082286,0.6020004,7.5843517,4.9191963,84.7233779,15.8689182,28.7225303,63.3379062,29.0522007,36.5796734,14.4917556,7.4313215,10.1437679,7.7849089,36.1799632,4.3803419,0.5745689,0.5683945,8.0636105,4.9676344,84.323202,15.5726662,27.7671772,63.3724052,28.6395876,36.5185408,15.3353299,6.909242,10.4834452,8.311343,36.9161423,4.1577825 +241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7536738,0.7110866,11.1857945,7.6803711,83.9438171,11.1436583,31.0377304,61.3462875,29.3587608,38.9636615,14.0435585,3.0035918,11.6712297,9.8491054,39.2231346,6.7907144,0.8299935,0.8299935,10.5645525,7.2849065,83.1309688,11.2391209,30.5715316,62.1844123,30.6280702,38.5723011,14.3334311,3.111684,12.2174178,10.3531393,38.2085608,8.1362923,0.8349906,0.7755924,10.2008689,6.832447,82.6918953,11.0548788,29.6571269,61.7993533,30.7562187,39.6728947,14.1295132,2.7480885,12.7638013,11.1412222,38.5521505,8.2663429,0.7044896,0.6435346,10.1276973,6.6759035,81.9355211,11.5704302,29.564975,61.3988128,31.2857522,40.0358119,14.4654987,2.9983277,12.1215313,11.7914158,38.2643001,5.2403349,0.6821557,0.6213802,9.634809,6.0015652,79.9307475,12.055867,28.6366675,61.5808492,32.3256078,40.3800509,14.859608,2.8538358,12.0368927,11.5762507,36.7099142,4.3307155 +242,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6425652,0.6866147,13.8775603,10.5659435,79.1588949,9.6392587,32.659647,64.5536673,27.1692306,43.7783995,14.5330335,2.6555338,11.6430784,9.4483644,30.6939746,7.0069623,0.6144364,0.6233626,12.8710667,9.7126011,77.809692,9.5386401,32.3168755,66.4440488,28.4622393,44.3212546,15.0261496,2.7188837,11.2485003,9.3993528,30.2058019,7.118395,0.5359035,0.5607346,12.2121305,9.0558004,76.6982894,9.5371045,31.4272107,67.0864532,28.8535575,44.7082268,14.9945076,2.6768504,10.6619524,9.4134507,30.092094,6.8482081,0.6259369,0.6355559,11.7851699,8.6870384,75.5948223,9.2910081,31.2924937,67.2653099,29.3371213,44.7580136,15.095008,2.7250028,10.6160737,9.666749,30.5717967,8.68468,0.6098949,0.6227698,11.7232311,8.5203844,74.6227659,9.2190356,31.4240159,67.3510723,29.113303,44.2998338,14.8733388,2.7074045,10.1999988,9.7492543,30.4645443,8.5593293 +243,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1129286,1.0329046,18.1815112,14.6620671,35.3663283,17.8601794,30.7658362,66.6391858,34.7274303,46.7923843,21.6354309,2.5331971,13.1235983,12.4214588,38.0105361,16.9516818,1.1249309,1.0363513,19.2045847,15.3355336,34.9848038,18.5306069,30.8054142,65.9610894,34.5428799,47.21507,20.9359657,2.5403445,13.8641543,13.1188968,37.5469003,17.405785,1.0968197,1.0129079,20.371375,16.5942056,34.0985958,18.7493542,30.6208472,66.3771453,34.7294723,47.7769984,20.8488001,2.6928515,14.4220641,13.9418445,38.1091124,14.7954539,1.2184068,1.1734354,20.5802958,17.4345661,34.6414407,19.0500258,30.6325508,65.2719215,34.5052494,46.6073277,20.5202874,2.7701014,13.2498084,13.4532409,38.7792618,16.5341859,1.4089219,1.3407849,21.3703185,17.9842002,35.2693752,18.6119081,30.8999439,64.4087258,34.4185638,45.7627939,20.5004129,2.9150083,13.0716011,12.8599051,37.2089389,16.0674373 +244,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0352755,0.9703194,21.0246499,16.551326,30.5819312,22.6920882,35.9722449,69.3536231,37.6786379,49.1839611,23.116963,4.2966915,10.9890719,9.269437,27.7218373,21.2500177,0.8861493,0.7921321,21.403998,17.276327,31.8494149,22.6228668,35.3760157,68.5964791,36.6791906,49.8294211,22.3621566,3.7327234,11.5056819,9.5799131,29.6063717,18.3760841,0.9290133,0.837464,21.2709036,17.3976027,32.3882723,22.4674009,34.945688,68.6589668,36.7504819,49.500309,22.128554,3.5718792,11.0584194,10.1609905,29.4873599,16.6667344,0.9630531,0.9332506,21.3591108,17.5326786,33.186441,22.1246907,34.7933944,68.0615954,36.7306095,49.3568309,22.4316372,3.1394326,10.2709277,9.1317778,28.4138032,20.2380792,0.9379034,0.9081064,22.1949457,18.3787409,34.4806495,21.828749,35.0494135,66.8204561,35.1098958,48.7957798,21.1104036,3.1449842,10.115007,9.06922,30.5483547,15.8185362 +245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5914474,0.5593467,7.7403456,5.1263452,85.0215763,16.2447302,29.203413,62.66002,28.2645875,36.6856383,14.8364136,7.4679977,10.8826747,7.6817159,36.9745628,4.2797504,0.6338557,0.627525,7.5900541,5.1315055,84.8866796,15.8208579,28.9613671,62.9199256,28.7374085,37.1080699,14.515678,7.4608094,10.2989115,7.7783818,36.6208822,4.2391304,0.6082286,0.6020004,7.5843517,4.9191963,84.7233779,15.8689182,28.7225303,63.3379062,29.0522007,36.5796734,14.4917556,7.4313215,10.1437679,7.7849089,36.1799632,4.3803419,0.5745689,0.5683945,8.0636105,4.9676344,84.323202,15.5726662,27.7671772,63.3724052,28.6395876,36.5185408,15.3353299,6.909242,10.4834452,8.311343,36.9161423,4.1577825,0.5760483,0.5699239,8.3610672,5.1719371,82.424655,15.7831349,26.8229906,63.8519915,29.642181,38.6419101,15.9257222,7.1951243,9.9266611,8.3245772,36.7546238,4.3237251 +246,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5250302,0.5525296,8.3325962,5.199694,86.4228407,6.3983522,26.7863669,63.4292536,27.5256504,36.8881476,12.3688979,5.194209,10.0167823,9.1659818,37.3967514,4.1312649,0.5035385,0.5215776,8.214142,5.0896511,86.4602141,6.3817358,26.7754998,62.9879394,27.476031,36.9012518,12.4590293,5.2225444,9.9971493,8.9911402,37.2234118,4.1858586,0.5232829,0.5534701,8.2124876,5.0617608,86.1536906,6.2577746,27.1688137,62.7337802,27.898869,37.0953937,12.648028,5.3279843,9.6942436,8.5740381,37.3863082,3.9953362,0.4884293,0.5127687,8.1212879,4.9168153,85.8231814,6.4290451,27.0085477,62.564713,28.0205013,36.9778241,12.7935482,5.5715127,9.8440927,8.4268179,37.3558564,3.7250301,0.4579721,0.4873632,7.869918,4.7727004,85.578837,6.6713388,26.7214572,62.6768635,28.0352069,37.1853989,13.0505919,5.3297505,10.1193641,8.4262089,37.7650232,3.7969842 +247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.9027746,0.9027746,11.3027264,8.8762025,41.2811769,32.8825991,29.3619786,67.9036161,36.2630316,45.2475711,16.601616,4.7526568,17.236892,10.1316856,33.5527216,5.8559086,0.8504285,0.8504285,11.5914769,9.0852471,42.5708067,32.1872572,28.7625934,68.1758899,35.7781121,45.2170658,16.6454185,4.273011,18.6856549,11.4692052,34.2378658,6.465573,0.7105265,0.7105265,11.6545882,9.2391649,41.8529821,32.5118496,27.5670683,68.15397,35.5135543,46.2716254,17.5428076,4.2176529,17.076254,9.9509822,33.1282405,6.6929661,0.6082432,0.6082432,12.2861151,9.9633554,42.2685162,33.0278764,26.7699721,68.3850699,36.087027,47.1431065,19.068338,4.1615346,17.5507045,11.2659511,34.9874235,6.000048,0.7636553,0.7636553,13.3045418,10.9530304,43.981905,30.7166961,27.0049123,68.3585007,35.7769521,45.1756914,19.7369015,4.5739295,17.9321719,11.6799433,36.1114565,6.6407288 +248,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5257374,0.5412162,11.3258275,7.3797929,67.6165769,8.4701085,30.3895963,68.6364103,37.9506015,39.9989979,18.0690863,4.1520243,10.5118006,8.4382215,35.8514119,6.1455833,0.4845334,0.4962492,11.1943338,7.2505858,66.2524268,8.4693981,30.8490167,68.8878746,37.8617723,40.4321002,18.513461,4.1438991,10.1791262,8.1772606,35.7517523,5.4899639,0.4688928,0.4764697,11.0948226,7.0612613,65.4443065,8.6872405,29.9558796,68.7807052,37.9374327,40.724957,19.1366698,4.0760062,10.0441307,8.1296939,35.7779513,5.8789283,0.5118506,0.5162937,11.2650156,7.2137816,63.9607771,9.0772071,29.8201652,68.9023181,38.7136417,41.5536535,19.9931215,4.2501984,10.1655091,8.262676,35.607212,5.6896552,0.5369603,0.5387002,11.207827,7.2145173,63.0385352,9.2712346,30.1764477,69.1119117,39.2717898,42.6155167,20.2719828,4.1577315,10.2008581,8.5274974,35.5295191,5.6378132 +249,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9163221,0.9048291,14.8493784,9.874709,61.7389886,12.2589293,35.4607233,67.5615492,34.2660322,43.6061845,24.0852016,4.0255845,13.2523476,11.1949777,42.195332,7.9896907,0.8371689,0.8025304,13.7719247,9.2063653,60.6107302,12.206582,36.0030169,67.910424,35.222238,43.8531239,24.5517556,3.9819143,12.99855,10.7933951,41.3744518,7.9234973,0.7530595,0.7644478,13.6441143,9.1868686,59.2544954,13.0306173,35.9926997,68.0865062,35.5805698,44.5346454,24.6078914,3.8893733,13.211797,11.2171407,42.0647212,8.5051075,0.8561185,0.8675904,12.8109954,8.5656313,57.9113526,13.5653385,36.6589316,68.6269026,36.6071931,44.5120278,24.7097276,3.543372,11.9674667,10.08939,41.3287588,9.4594105,0.9347869,0.9461134,12.8757291,8.7732881,57.5337264,13.9899442,35.3552393,67.7914629,36.0636656,44.3025222,24.6780815,3.5168754,12.2863041,10.4376387,41.9122088,10.2499154 +250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6316234,0.6235037,12.1936641,7.8571273,67.1424944,17.5899278,34.5780469,66.6294524,34.1755218,46.4153275,20.2222061,2.1242729,12.8076903,11.128258,37.0723526,8.8859206,0.6333633,0.6253501,11.643383,7.707844,65.8185341,17.9893215,35.1294994,67.5689209,34.6734292,46.5276702,20.6650567,2.4107102,12.2503134,10.6508287,36.8053677,7.4469606,0.4997625,0.483694,11.2644086,7.2735024,64.7060174,18.2607325,34.9941177,68.0413895,35.691307,46.3254959,20.2410395,2.644013,12.414894,11.2382303,37.136662,8.0645213,0.4915921,0.4835542,10.8622961,7.104669,63.2073535,18.6102873,33.8231306,67.9649616,35.7609318,46.0657627,19.8502982,2.8611171,13.0778685,11.6581515,36.9379935,5.9859197,0.3970242,0.3890217,10.8121214,7.1723051,61.3473205,18.3035795,32.9672465,67.7972306,36.1769849,46.4806922,19.9834797,2.8926527,12.3384645,11.5847633,36.5801387,3.6666667 +251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5399377,0.5762382,10.995881,7.7785608,65.6683065,13.9238029,34.2726143,66.9665774,32.859393,46.38199,17.2179294,4.237955,10.1170184,9.2448129,29.4827111,6.942007,0.5228243,0.5592646,11.2085702,7.7912504,63.5438203,13.95499,34.110443,67.4150705,33.0572207,46.1839292,17.7695361,4.28739,10.1730761,8.8332399,29.1529753,7.0596302,0.6247357,0.6620539,10.9611295,7.5977235,61.3170055,14.2856378,34.9342595,66.846576,33.3761633,46.5455636,18.4427733,4.2375244,11.001345,9.6533899,29.5413185,5.3053923,0.6428189,0.6805167,10.8847837,7.5248597,59.6723589,14.5584433,34.5087305,66.045158,33.8795623,46.4928826,18.5789388,4.3150317,10.5487155,9.3744473,29.1762466,4.9115034,0.6093493,0.6269913,10.3893573,7.1438548,58.2587647,14.9229625,34.7928582,66.3330148,33.4019087,46.1389908,18.5354532,4.2935343,10.5924476,9.5070385,29.8585788,6.3253012 +252,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7075693,0.6779909,12.160721,7.3468445,65.8002163,15.2667416,35.3818288,67.9110289,34.9276455,43.6988009,21.5299817,3.4771743,10.6971658,9.5585188,35.6409863,5.8052848,0.6977155,0.6684158,12.4030371,7.4141191,64.5899404,15.6690165,34.7405526,68.4013299,34.8807927,43.6889794,22.0618206,3.5203529,10.6310151,9.2968767,35.6188456,5.5160908,0.6454889,0.6921476,12.0610181,7.4780897,63.2044821,16.1098721,34.9143496,68.4044926,35.3014643,44.4277653,22.2208794,3.4983714,10.664316,9.5624165,36.0573994,5.272804,0.6997182,0.7767198,11.9962675,7.2304357,62.3240827,16.4654815,34.7893596,68.6773022,35.4548558,45.0777159,22.0329228,3.5635404,10.3187101,8.7310964,35.3639793,6.0137932,0.7174435,0.7958967,12.1759812,7.0970789,61.361268,16.8370529,33.7823527,69.1020845,36.2040297,46.3539306,22.2450993,3.7414912,10.3063441,9.1454875,35.021138,6.7010336 +253,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6977155,0.6684158,12.4030371,7.4141191,64.5899404,15.6690165,34.7405526,68.4013299,34.8807927,43.6889794,22.0618206,3.5203529,10.6310151,9.2968767,35.6188456,5.5160908,0.6454889,0.6921476,12.0610181,7.4780897,63.2044821,16.1098721,34.9143496,68.4044926,35.3014643,44.4277653,22.2208794,3.4983714,10.664316,9.5624165,36.0573994,5.272804,0.6997182,0.7767198,11.9962675,7.2304357,62.3240827,16.4654815,34.7893596,68.6773022,35.4548558,45.0777159,22.0329228,3.5635404,10.3187101,8.7310964,35.3639793,6.0137932,0.7174435,0.7958967,12.1759812,7.0970789,61.361268,16.8370529,33.7823527,69.1020845,36.2040297,46.3539306,22.2450993,3.7414912,10.3063441,9.1454875,35.021138,6.7010336,0.6945056,0.7825383,11.8097274,6.9571362,60.7281719,18.0416011,32.687626,68.9108211,36.4264168,46.2613027,22.0673667,3.6710331,10.2903383,9.1832575,35.2465704,6.5656555 +254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8371689,0.8025304,13.7719247,9.2063653,60.6107302,12.206582,36.0030169,67.910424,35.222238,43.8531239,24.5517556,3.9819143,12.99855,10.7933951,41.3744518,7.9234973,0.7530595,0.7644478,13.6441143,9.1868686,59.2544954,13.0306173,35.9926997,68.0865062,35.5805698,44.5346454,24.6078914,3.8893733,13.211797,11.2171407,42.0647212,8.5051075,0.8561185,0.8675904,12.8109954,8.5656313,57.9113526,13.5653385,36.6589316,68.6269026,36.6071931,44.5120278,24.7097276,3.543372,11.9674667,10.08939,41.3287588,9.4594105,0.9347869,0.9461134,12.8757291,8.7732881,57.5337264,13.9899442,35.3552393,67.7914629,36.0636656,44.3025222,24.6780815,3.5168754,12.2863041,10.4376387,41.9122088,10.2499154,1.0112504,1.0334135,13.0865891,8.974351,56.8860866,15.1566965,35.6966371,67.4159887,36.3389252,45.4792383,24.7776468,3.8290542,12.1256109,10.4267762,42.7245995,10.103539 +255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4622638,0.4492416,9.0727551,5.30558,75.3090028,13.5513245,32.928125,65.6447186,30.3820531,41.805625,15.2793884,3.5903605,8.9575767,8.2921284,31.5939892,7.1746627,0.4197663,0.406871,8.8637093,5.1781696,74.3503361,13.7739175,32.5564466,65.9146242,30.8666428,42.0588765,15.799106,3.7344605,8.7645118,8.3687776,31.650304,6.2202673,0.4395812,0.3835622,8.7182706,5.2722249,73.686939,14.082344,31.8788593,66.0471011,31.0879899,42.5062911,16.3360755,3.948796,8.2974313,7.9453945,32.0216578,7.2535922,0.4822796,0.432736,8.8670817,5.5144931,72.6550222,13.9537006,31.2909402,65.7649279,31.5169042,43.0950222,16.5922197,3.7220787,9.3065464,8.5605656,31.9514797,6.0709209,0.4613117,0.420586,8.9309402,5.5418046,70.8362145,14.1914617,31.0961298,66.120824,32.5812096,43.8151397,17.6693205,3.5282175,9.6395959,8.7989462,32.1756824,6.0339934 +256,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7530595,0.7644478,13.6441143,9.1868686,59.2544954,13.0306173,35.9926997,68.0865062,35.5805698,44.5346454,24.6078914,3.8893733,13.211797,11.2171407,42.0647212,8.5051075,0.8561185,0.8675904,12.8109954,8.5656313,57.9113526,13.5653385,36.6589316,68.6269026,36.6071931,44.5120278,24.7097276,3.543372,11.9674667,10.08939,41.3287588,9.4594105,0.9347869,0.9461134,12.8757291,8.7732881,57.5337264,13.9899442,35.3552393,67.7914629,36.0636656,44.3025222,24.6780815,3.5168754,12.2863041,10.4376387,41.9122088,10.2499154,1.0112504,1.0334135,13.0865891,8.974351,56.8860866,15.1566965,35.6966371,67.4159887,36.3389252,45.4792383,24.7776468,3.8290542,12.1256109,10.4267762,42.7245995,10.103539,1.2075953,1.196754,13.2779049,9.429926,55.8007064,16.2918546,35.6729395,67.8002613,36.5894814,46.4302989,23.8542961,3.9797424,11.8003819,10.7109528,43.455743,8.8941474 +257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5999679,0.6084651,11.7917987,7.3903619,74.057047,13.1169489,37.129482,67.0074362,35.8614676,46.3544065,18.8381605,3.6852099,11.7082891,10.9232313,33.3486528,7.1934113,0.5972348,0.6095222,11.503247,7.081961,72.7931419,13.003816,37.7982297,67.3899033,35.908731,46.7173729,19.0472332,3.578863,11.3512704,10.9682432,33.94759,7.7937834,0.7078807,0.7202465,11.4732109,7.1598575,71.1560298,13.4010018,37.7320263,67.8208121,35.7788591,47.0621499,19.4915155,3.4140458,10.9632995,10.9121666,33.3590201,8.7563639,0.7865241,0.7901855,11.193578,6.788013,69.5304691,13.8678686,37.9735563,68.4574908,36.6841794,47.604269,20.0970967,3.4304343,10.8305904,10.5145246,33.4891263,8.6901928,0.8634376,0.8401807,11.4601397,6.9638228,68.0625123,13.6205521,37.2860876,68.4391338,36.8862989,47.3292851,20.3342359,3.3024129,10.9624078,10.5239524,33.9047245,8.8528839 +258,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.882871,0.8880794,12.45027,8.5273567,64.3485119,11.9396437,33.294535,67.6132188,37.2569276,45.8198531,18.9223053,4.9530453,10.1520113,9.46222,33.0264623,11.8834134,0.9811014,0.97092,12.7721042,8.714892,63.0008961,11.9531805,32.8475536,68.2369373,37.8000697,47.1476284,19.4330246,5.1985399,10.4149814,9.7991599,33.2809653,11.8534483,0.8919606,0.871994,12.1461866,8.3256299,61.7482938,11.5352572,31.8308405,68.4290424,38.0589247,47.4974488,19.0214541,5.3131665,10.2944372,9.8896246,33.0998032,10.7305936,0.7930591,0.7805311,12.1435791,8.421901,60.0016763,11.7443522,31.6286365,68.6650145,38.2805005,48.0968466,19.0675802,5.6024249,10.5809167,9.8651136,32.9951622,10.0953138,0.6944167,0.6822437,11.7789014,8.1906163,58.6678397,12.4216923,31.7923165,68.7752312,38.6307248,48.072712,18.9624469,5.5679752,10.4338114,9.2045645,32.2789337,6.591805 +259,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.470866,0.4908212,12.1701978,8.6831721,85.9941119,8.8879173,29.4982497,60.6834457,21.684109,37.9515391,9.7498715,3.5340729,14.5918834,11.9240848,31.3781804,8.1325105,0.4868356,0.5175248,12.2204693,8.6312791,85.6824721,8.4748005,29.4935997,62.2563292,21.9302527,38.329287,10.1964267,3.8700529,14.3913309,11.5986535,32.2584681,7.3529758,0.4557991,0.4907363,12.0084588,8.4655617,85.4526115,8.6232143,29.9245168,63.0707596,23.1432392,38.6235087,10.9021774,4.0513733,13.5471639,11.251286,33.6327527,8.2386691,0.4571545,0.480992,11.6235754,8.3025653,84.8084305,8.772988,29.9643603,63.5061115,23.6740391,39.0287264,10.8541726,3.6066713,13.8574584,11.3271852,34.6503963,8.4699731,0.4311465,0.4468816,11.1129169,7.9235777,84.8917046,8.739964,29.4352333,64.5589663,24.0402114,39.4838273,11.1123899,3.4440163,13.1778423,11.5329744,33.9790772,7.8378209 +260,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9811014,0.97092,12.7721042,8.714892,63.0008961,11.9531805,32.8475536,68.2369373,37.8000697,47.1476284,19.4330246,5.1985399,10.4149814,9.7991599,33.2809653,11.8534483,0.8919606,0.871994,12.1461866,8.3256299,61.7482938,11.5352572,31.8308405,68.4290424,38.0589247,47.4974488,19.0214541,5.3131665,10.2944372,9.8896246,33.0998032,10.7305936,0.7930591,0.7805311,12.1435791,8.421901,60.0016763,11.7443522,31.6286365,68.6650145,38.2805005,48.0968466,19.0675802,5.6024249,10.5809167,9.8651136,32.9951622,10.0953138,0.6944167,0.6822437,11.7789014,8.1906163,58.6678397,12.4216923,31.7923165,68.7752312,38.6307248,48.072712,18.9624469,5.5679752,10.4338114,9.2045645,32.2789337,6.591805,0.7118547,0.7070679,11.372419,7.6583386,57.1698826,12.72545,31.1270995,68.6279132,37.7332694,48.7831492,18.596546,5.5095271,10.9200319,9.4714913,32.6020485,6.0007974 +261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4197663,0.406871,8.8637093,5.1781696,74.3503361,13.7739175,32.5564466,65.9146242,30.8666428,42.0588765,15.799106,3.7344605,8.7645118,8.3687776,31.650304,6.2202673,0.4395812,0.3835622,8.7182706,5.2722249,73.686939,14.082344,31.8788593,66.0471011,31.0879899,42.5062911,16.3360755,3.948796,8.2974313,7.9453945,32.0216578,7.2535922,0.4822796,0.432736,8.8670817,5.5144931,72.6550222,13.9537006,31.2909402,65.7649279,31.5169042,43.0950222,16.5922197,3.7220787,9.3065464,8.5605656,31.9514797,6.0709209,0.4613117,0.420586,8.9309402,5.5418046,70.8362145,14.1914617,31.0961298,66.120824,32.5812096,43.8151397,17.6693205,3.5282175,9.6395959,8.7989462,32.1756824,6.0339934,0.5101647,0.4638861,8.9549717,5.710382,69.3601795,14.5338837,30.9382846,66.2659316,32.6668736,44.3354531,18.6533136,3.7854217,9.3867166,8.991478,32.3959176,5.1218562 +262,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.518487,0.4972376,9.1392874,5.6686719,83.0679157,17.5862069,33.7257618,64.4275162,27.2622345,40.8356417,13.1348107,4.1782087,10.2633617,8.7616822,34.9533437,2.8061224,0.4145299,0.3931624,9.2540793,5.5244755,81.6369606,17.6186089,32.9524254,65.4151119,28.3815299,41.2546642,13.7826493,3.9412313,10.349345,8.9833479,34.3722564,3.25,0.3575025,0.3359229,8.8193791,5.1505174,80.2693762,17.9350348,33.1376233,65.6411461,28.1117896,41.3574448,13.8327853,3.8280883,9.7465035,9.1666667,33.9929639,3.3505155,0.3586061,0.3372203,8.8717228,5.079588,78.8748833,18.2382705,33.7290503,65.6191806,27.9096834,41.2243948,13.896648,4.1201117,9.9312124,8.6712683,34.3587522,1.7766497,0.391313,0.3702869,9.0763603,5.0068587,77.6177412,17.9134745,33.4017328,66.005472,28.0209758,41.3360693,14.3410853,3.9443684,10.1345669,8.9029536,34.8471986,2.8795812 +263,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8504285,0.8504285,11.5914769,9.0852471,42.5708067,32.1872572,28.7625934,68.1758899,35.7781121,45.2170658,16.6454185,4.273011,18.6856549,11.4692052,34.2378658,6.465573,0.7105265,0.7105265,11.6545882,9.2391649,41.8529821,32.5118496,27.5670683,68.15397,35.5135543,46.2716254,17.5428076,4.2176529,17.076254,9.9509822,33.1282405,6.6929661,0.6082432,0.6082432,12.2861151,9.9633554,42.2685162,33.0278764,26.7699721,68.3850699,36.087027,47.1431065,19.068338,4.1615346,17.5507045,11.2659511,34.9874235,6.000048,0.7636553,0.7636553,13.3045418,10.9530304,43.981905,30.7166961,27.0049123,68.3585007,35.7769521,45.1756914,19.7369015,4.5739295,17.9321719,11.6799433,36.1114565,6.6407288,0.6371501,0.6371501,13.4027874,11.077179,43.6395924,32.7038896,27.4132275,68.007505,36.2004704,45.3591909,20.1114,4.3935596,16.4084595,10.5196035,35.471622,5.0782242 +264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5228243,0.5592646,11.2085702,7.7912504,63.5438203,13.95499,34.110443,67.4150705,33.0572207,46.1839292,17.7695361,4.28739,10.1730761,8.8332399,29.1529753,7.0596302,0.6247357,0.6620539,10.9611295,7.5977235,61.3170055,14.2856378,34.9342595,66.846576,33.3761633,46.5455636,18.4427733,4.2375244,11.001345,9.6533899,29.5413185,5.3053923,0.6428189,0.6805167,10.8847837,7.5248597,59.6723589,14.5584433,34.5087305,66.045158,33.8795623,46.4928826,18.5789388,4.3150317,10.5487155,9.3744473,29.1762466,4.9115034,0.6093493,0.6269913,10.3893573,7.1438548,58.2587647,14.9229625,34.7928582,66.3330148,33.4019087,46.1389908,18.5354532,4.2935343,10.5924476,9.5070385,29.8585788,6.3253012,0.6786834,0.6786834,10.0500908,6.9545967,57.1206759,15.1576341,33.9224613,66.2924071,33.8152918,46.9321944,18.3460025,4.3294288,10.3885226,9.2307488,29.3621246,6.7251541 +265,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4493799,0.5363885,10.7016342,7.402386,84.4604935,11.5093114,28.7611806,64.3752641,26.50872,40.4271197,11.5703605,4.366771,12.3079738,11.6566589,31.3618315,3.8563932,0.4043226,0.4392619,10.4451,7.1231036,84.6887638,11.4923808,28.8445444,64.3088579,26.1015432,39.9027826,11.1555477,4.3520538,12.7916199,11.5542817,30.9289751,4.0502906,0.4132773,0.4378913,10.700474,7.3814878,84.2239545,11.5159749,29.259532,64.6898024,27.0533129,40.0283235,11.4569869,4.7291438,12.3262082,11.4315276,30.6001023,5.124685,0.4060473,0.4435506,10.3869667,7.1115,84.0293952,11.4892916,28.4776462,64.5114256,26.3632074,39.8508003,11.2730666,4.551555,11.6022351,10.8181381,30.989126,5.4622522,0.3922502,0.4192731,10.4089497,7.067534,83.2360645,11.8749819,28.6363812,64.8004355,26.5077617,39.7670827,11.186254,4.6230906,11.6454692,10.9951134,30.7643586,6.0224832 +266,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6454889,0.6921476,12.0610181,7.4780897,63.2044821,16.1098721,34.9143496,68.4044926,35.3014643,44.4277653,22.2208794,3.4983714,10.664316,9.5624165,36.0573994,5.272804,0.6997182,0.7767198,11.9962675,7.2304357,62.3240827,16.4654815,34.7893596,68.6773022,35.4548558,45.0777159,22.0329228,3.5635404,10.3187101,8.7310964,35.3639793,6.0137932,0.7174435,0.7958967,12.1759812,7.0970789,61.361268,16.8370529,33.7823527,69.1020845,36.2040297,46.3539306,22.2450993,3.7414912,10.3063441,9.1454875,35.021138,6.7010336,0.6945056,0.7825383,11.8097274,6.9571362,60.7281719,18.0416011,32.687626,68.9108211,36.4264168,46.2613027,22.0673667,3.6710331,10.2903383,9.1832575,35.2465704,6.5656555,0.7142078,0.7841366,11.6404907,6.6798173,60.1097604,18.2160992,32.8183309,68.2118589,36.0142187,47.0814658,22.0947736,3.9222959,10.3022827,8.8637237,35.9869799,6.6558419 +267,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.7105265,0.7105265,11.6545882,9.2391649,41.8529821,32.5118496,27.5670683,68.15397,35.5135543,46.2716254,17.5428076,4.2176529,17.076254,9.9509822,33.1282405,6.6929661,0.6082432,0.6082432,12.2861151,9.9633554,42.2685162,33.0278764,26.7699721,68.3850699,36.087027,47.1431065,19.068338,4.1615346,17.5507045,11.2659511,34.9874235,6.000048,0.7636553,0.7636553,13.3045418,10.9530304,43.981905,30.7166961,27.0049123,68.3585007,35.7769521,45.1756914,19.7369015,4.5739295,17.9321719,11.6799433,36.1114565,6.6407288,0.6371501,0.6371501,13.4027874,11.077179,43.6395924,32.7038896,27.4132275,68.007505,36.2004704,45.3591909,20.1114,4.3935596,16.4084595,10.5196035,35.471622,5.0782242,0.5663212,0.5663212,13.7910427,11.3980655,45.0453428,32.4748426,28.2886116,67.4969029,36.4624708,45.147256,20.1150717,4.7892693,16.9690878,11.0390757,34.2523281,5.118211 +268,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4845334,0.4962492,11.1943338,7.2505858,66.2524268,8.4693981,30.8490167,68.8878746,37.8617723,40.4321002,18.513461,4.1438991,10.1791262,8.1772606,35.7517523,5.4899639,0.4688928,0.4764697,11.0948226,7.0612613,65.4443065,8.6872405,29.9558796,68.7807052,37.9374327,40.724957,19.1366698,4.0760062,10.0441307,8.1296939,35.7779513,5.8789283,0.5118506,0.5162937,11.2650156,7.2137816,63.9607771,9.0772071,29.8201652,68.9023181,38.7136417,41.5536535,19.9931215,4.2501984,10.1655091,8.262676,35.607212,5.6896552,0.5369603,0.5387002,11.207827,7.2145173,63.0385352,9.2712346,30.1764477,69.1119117,39.2717898,42.6155167,20.2719828,4.1577315,10.2008581,8.5274974,35.5295191,5.6378132,0.5522345,0.5422547,11.0132338,7.0712465,62.1253517,9.3946604,30.1001255,69.3414832,39.631272,42.6927854,20.703763,4.3082708,10.2383157,8.668877,35.6416378,6.1373881 +269,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8561185,0.8675904,12.8109954,8.5656313,57.9113526,13.5653385,36.6589316,68.6269026,36.6071931,44.5120278,24.7097276,3.543372,11.9674667,10.08939,41.3287588,9.4594105,0.9347869,0.9461134,12.8757291,8.7732881,57.5337264,13.9899442,35.3552393,67.7914629,36.0636656,44.3025222,24.6780815,3.5168754,12.2863041,10.4376387,41.9122088,10.2499154,1.0112504,1.0334135,13.0865891,8.974351,56.8860866,15.1566965,35.6966371,67.4159887,36.3389252,45.4792383,24.7776468,3.8290542,12.1256109,10.4267762,42.7245995,10.103539,1.2075953,1.196754,13.2779049,9.429926,55.8007064,16.2918546,35.6729395,67.8002613,36.5894814,46.4302989,23.8542961,3.9797424,11.8003819,10.7109528,43.455743,8.8941474,0.9788325,0.9581286,13.4257132,9.4275331,54.620472,16.476741,36.2362178,68.8189135,37.3391549,47.1737187,24.5174435,4.3428331,11.3515961,9.7787663,43.5267772,9.1980275 +270,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8919606,0.871994,12.1461866,8.3256299,61.7482938,11.5352572,31.8308405,68.4290424,38.0589247,47.4974488,19.0214541,5.3131665,10.2944372,9.8896246,33.0998032,10.7305936,0.7930591,0.7805311,12.1435791,8.421901,60.0016763,11.7443522,31.6286365,68.6650145,38.2805005,48.0968466,19.0675802,5.6024249,10.5809167,9.8651136,32.9951622,10.0953138,0.6944167,0.6822437,11.7789014,8.1906163,58.6678397,12.4216923,31.7923165,68.7752312,38.6307248,48.072712,18.9624469,5.5679752,10.4338114,9.2045645,32.2789337,6.591805,0.7118547,0.7070679,11.372419,7.6583386,57.1698826,12.72545,31.1270995,68.6279132,37.7332694,48.7831492,18.596546,5.5095271,10.9200319,9.4714913,32.6020485,6.0007974,0.7462105,0.7514941,11.7660418,7.8593971,55.4084338,12.7153245,30.9669677,68.7863328,37.3386143,48.650507,18.2575109,5.485043,11.4150568,10.0218791,32.9332498,4.7733738 +271,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6338557,0.627525,7.5900541,5.1315055,84.8866796,15.8208579,28.9613671,62.9199256,28.7374085,37.1080699,14.515678,7.4608094,10.2989115,7.7783818,36.6208822,4.2391304,0.6082286,0.6020004,7.5843517,4.9191963,84.7233779,15.8689182,28.7225303,63.3379062,29.0522007,36.5796734,14.4917556,7.4313215,10.1437679,7.7849089,36.1799632,4.3803419,0.5745689,0.5683945,8.0636105,4.9676344,84.323202,15.5726662,27.7671772,63.3724052,28.6395876,36.5185408,15.3353299,6.909242,10.4834452,8.311343,36.9161423,4.1577825,0.5760483,0.5699239,8.3610672,5.1719371,82.424655,15.7831349,26.8229906,63.8519915,29.642181,38.6419101,15.9257222,7.1951243,9.9266611,8.3245772,36.7546238,4.3237251,0.4531713,0.4471588,8.1746463,5.0190414,81.0712319,15.9037128,26.5058647,63.7126873,28.9578938,38.0730276,15.791578,7.1276337,9.4866621,8.2996952,36.5043172,4.1387034 +272,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5972348,0.6095222,11.503247,7.081961,72.7931419,13.003816,37.7982297,67.3899033,35.908731,46.7173729,19.0472332,3.578863,11.3512704,10.9682432,33.94759,7.7937834,0.7078807,0.7202465,11.4732109,7.1598575,71.1560298,13.4010018,37.7320263,67.8208121,35.7788591,47.0621499,19.4915155,3.4140458,10.9632995,10.9121666,33.3590201,8.7563639,0.7865241,0.7901855,11.193578,6.788013,69.5304691,13.8678686,37.9735563,68.4574908,36.6841794,47.604269,20.0970967,3.4304343,10.8305904,10.5145246,33.4891263,8.6901928,0.8634376,0.8401807,11.4601397,6.9638228,68.0625123,13.6205521,37.2860876,68.4391338,36.8862989,47.3292851,20.3342359,3.3024129,10.9624078,10.5239524,33.9047245,8.8528839,0.87264,0.8677531,11.1865981,6.7525556,66.405968,13.8394997,36.3441141,68.5420665,36.7420275,47.9149949,20.4440652,3.2707314,11.2290776,10.5870273,33.6701106,7.4219194 +273,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8229176,0.9146279,12.4190932,8.2866971,55.6385242,15.9964392,36.6427828,66.6356143,38.1679877,48.4436947,21.7470593,3.0723747,11.1301504,9.4357675,34.3887148,8.4413566,0.7579011,0.8240586,12.2456933,8.0362775,53.8061175,16.4625244,35.2164788,67.4798415,38.4917713,49.4654098,21.6173808,3.2265968,11.4032907,9.8134492,34.5600015,9.2855016,0.7750411,0.7777058,12.6107951,8.0066192,52.7700552,16.699258,34.3733927,67.5108818,38.7907337,50.2104406,21.6655941,3.1153363,11.7996009,9.8477544,33.7007395,9.8256502,0.8358012,0.8543832,13.0803033,8.1054337,51.7041365,16.5683865,34.9502101,67.3303965,38.4479168,50.8295519,21.7706311,2.9229786,11.6378779,10.1736623,33.7357946,8.384993,0.7807504,0.7885618,13.0871708,8.0457115,51.1051856,16.8522064,34.968039,67.85105,38.2582872,50.983407,21.7969617,2.9690841,11.602014,9.7495474,32.6648882,8.0142356 +274,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4868356,0.5175248,12.2204693,8.6312791,85.6824721,8.4748005,29.4935997,62.2563292,21.9302527,38.329287,10.1964267,3.8700529,14.3913309,11.5986535,32.2584681,7.3529758,0.4557991,0.4907363,12.0084588,8.4655617,85.4526115,8.6232143,29.9245168,63.0707596,23.1432392,38.6235087,10.9021774,4.0513733,13.5471639,11.251286,33.6327527,8.2386691,0.4571545,0.480992,11.6235754,8.3025653,84.8084305,8.772988,29.9643603,63.5061115,23.6740391,39.0287264,10.8541726,3.6066713,13.8574584,11.3271852,34.6503963,8.4699731,0.4311465,0.4468816,11.1129169,7.9235777,84.8917046,8.739964,29.4352333,64.5589663,24.0402114,39.4838273,11.1123899,3.4440163,13.1778423,11.5329744,33.9790772,7.8378209,0.4241914,0.4396727,10.8006065,7.6633824,84.2922864,8.856035,29.0377826,65.0116852,24.8824453,40.6445025,11.5186565,3.3409331,12.5683994,11.6015361,33.9687663,7.7539941 +275,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5035385,0.5215776,8.214142,5.0896511,86.4602141,6.3817358,26.7754998,62.9879394,27.476031,36.9012518,12.4590293,5.2225444,9.9971493,8.9911402,37.2234118,4.1858586,0.5232829,0.5534701,8.2124876,5.0617608,86.1536906,6.2577746,27.1688137,62.7337802,27.898869,37.0953937,12.648028,5.3279843,9.6942436,8.5740381,37.3863082,3.9953362,0.4884293,0.5127687,8.1212879,4.9168153,85.8231814,6.4290451,27.0085477,62.564713,28.0205013,36.9778241,12.7935482,5.5715127,9.8440927,8.4268179,37.3558564,3.7250301,0.4579721,0.4873632,7.869918,4.7727004,85.578837,6.6713388,26.7214572,62.6768635,28.0352069,37.1853989,13.0505919,5.3297505,10.1193641,8.4262089,37.7650232,3.7969842,0.5014992,0.5285072,7.9437571,4.9063298,85.3360325,6.6514211,26.5993967,62.7605775,28.1187388,37.3540995,13.337348,5.4058429,9.9893123,8.1780151,38.1486097,4.1008277 +276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6247357,0.6620539,10.9611295,7.5977235,61.3170055,14.2856378,34.9342595,66.846576,33.3761633,46.5455636,18.4427733,4.2375244,11.001345,9.6533899,29.5413185,5.3053923,0.6428189,0.6805167,10.8847837,7.5248597,59.6723589,14.5584433,34.5087305,66.045158,33.8795623,46.4928826,18.5789388,4.3150317,10.5487155,9.3744473,29.1762466,4.9115034,0.6093493,0.6269913,10.3893573,7.1438548,58.2587647,14.9229625,34.7928582,66.3330148,33.4019087,46.1389908,18.5354532,4.2935343,10.5924476,9.5070385,29.8585788,6.3253012,0.6786834,0.6786834,10.0500908,6.9545967,57.1206759,15.1576341,33.9224613,66.2924071,33.8152918,46.9321944,18.3460025,4.3294288,10.3885226,9.2307488,29.3621246,6.7251541,0.5265238,0.5265238,9.0299685,5.8775549,54.2242173,15.156335,33.06742,67.2576114,33.9357823,47.6891842,18.1126963,3.7672738,10.6328231,9.6211313,30.3179342,6.3636402 +277,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4145299,0.3931624,9.2540793,5.5244755,81.6369606,17.6186089,32.9524254,65.4151119,28.3815299,41.2546642,13.7826493,3.9412313,10.349345,8.9833479,34.3722564,3.25,0.3575025,0.3359229,8.8193791,5.1505174,80.2693762,17.9350348,33.1376233,65.6411461,28.1117896,41.3574448,13.8327853,3.8280883,9.7465035,9.1666667,33.9929639,3.3505155,0.3586061,0.3372203,8.8717228,5.079588,78.8748833,18.2382705,33.7290503,65.6191806,27.9096834,41.2243948,13.896648,4.1201117,9.9312124,8.6712683,34.3587522,1.7766497,0.391313,0.3702869,9.0763603,5.0068587,77.6177412,17.9134745,33.4017328,66.005472,28.0209758,41.3360693,14.3410853,3.9443684,10.1345669,8.9029536,34.8471986,2.8795812,0.5231897,0.5019312,8.9576547,4.8161936,77.3317865,17.6618049,33.4025854,65.7663897,27.7700831,41.3434903,14.4275162,3.6703601,9.4617325,7.8836425,35.4414261,2.972973 +278,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0934336,1.0450564,13.4303512,8.668433,56.0217909,16.5897634,35.2953874,68.0081,37.4359501,46.5093808,22.3590214,2.7687248,11.6070508,10.3933175,34.9745554,8.8650219,1.0960886,1.0904755,13.8335504,8.9837416,55.011748,16.9521818,36.2811307,68.4073726,38.1846884,46.1695333,22.6319675,2.6229993,11.5480874,10.5685299,36.1584611,7.5537558,1.1012589,1.0956412,14.0127438,8.9966921,52.8027427,17.6621952,35.9801927,68.9565688,38.5420344,47.4847432,23.124944,2.6315515,11.8722749,10.5463266,35.9467268,6.7374979,1.1183242,1.1128705,13.4303413,8.2734668,52.4192747,17.7834142,35.1086972,69.3789459,38.3726968,48.0277995,22.6877836,2.6519059,11.3749628,10.2508406,36.176179,7.553821,1.1671099,1.136303,13.5831745,8.2846447,52.5770065,18.2864151,34.8408321,69.4319342,37.5227835,48.1134288,23.2496845,2.8864826,10.5945756,9.6459323,36.3362974,6.6900231 +279,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3354803,0.3883655,9.503167,6.6179306,82.0995005,10.3472687,32.2004431,64.1364646,26.718684,38.8946181,13.0723537,12.1049899,10.6342411,9.3136063,36.9114616,3.2340869,0.3245129,0.3655831,9.384294,6.4221943,80.5848653,10.6002811,31.7778092,65.1197213,27.0275421,39.102729,13.2273382,12.3004612,10.3693468,9.6317539,36.0797525,3.1914903,0.3527086,0.3839481,9.39619,6.3967114,79.0815001,10.7293666,31.5097797,64.9941718,27.3274537,38.9809666,13.0454437,12.5922545,10.406276,9.5994915,36.6432295,3.7486808,0.3603867,0.3983866,9.1812863,6.2183234,77.9063705,10.6522862,31.3179026,65.1771853,27.4249797,39.3235921,13.2113258,12.5387961,10.431646,9.5718135,37.2374972,3.8049311,0.3852777,0.4228527,8.9081546,5.9409102,76.6770091,10.8341751,31.1191953,65.5372648,27.9415475,39.9757568,13.635784,12.627614,10.1100171,9.1969499,36.905053,3.4871252 +280,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6428189,0.6805167,10.8847837,7.5248597,59.6723589,14.5584433,34.5087305,66.045158,33.8795623,46.4928826,18.5789388,4.3150317,10.5487155,9.3744473,29.1762466,4.9115034,0.6093493,0.6269913,10.3893573,7.1438548,58.2587647,14.9229625,34.7928582,66.3330148,33.4019087,46.1389908,18.5354532,4.2935343,10.5924476,9.5070385,29.8585788,6.3253012,0.6786834,0.6786834,10.0500908,6.9545967,57.1206759,15.1576341,33.9224613,66.2924071,33.8152918,46.9321944,18.3460025,4.3294288,10.3885226,9.2307488,29.3621246,6.7251541,0.5265238,0.5265238,9.0299685,5.8775549,54.2242173,15.156335,33.06742,67.2576114,33.9357823,47.6891842,18.1126963,3.7672738,10.6328231,9.6211313,30.3179342,6.3636402,0.4612452,0.4612452,8.6574542,5.4176325,51.9241917,15.6617497,32.0575744,67.0610858,34.7469883,47.2546158,18.5280502,3.6474444,10.0435195,9.0829456,29.6459045,4.6296325 +281,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4653957,0.3986249,10.6320216,6.7018398,72.1810582,10.6031679,28.9312586,66.8221021,35.7359524,42.1304347,19.1675319,4.5022435,10.8081866,8.4446035,33.6907609,5.4824561,0.522711,0.4587576,10.7669028,6.9843394,71.3046301,10.4216638,28.6987045,66.7153564,35.9416455,42.2972213,19.368337,4.4581468,10.8043499,9.0609006,33.636336,5.6561086,0.491196,0.4231798,10.6404204,6.851898,70.185165,10.5850732,28.1844284,67.0283496,35.2792464,42.2662801,18.9227737,4.3349278,10.2496699,8.8353286,32.8096417,3.9170507,0.4845928,0.4711227,10.5896311,6.6128112,68.9920671,10.6024581,28.3645787,66.4417907,35.6822131,42.9014746,18.9424719,4.2721016,9.9357211,8.7587852,32.968033,2.6442308,0.5322995,0.5367475,10.6406207,6.7386812,67.8891306,10.145165,27.7304742,66.3953246,35.5964626,42.3981177,18.8879981,4.0589872,10.1116439,8.4678041,32.8351852,2.6829268 +282,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8299935,0.8299935,10.5645525,7.2849065,83.1309688,11.2391209,30.5715316,62.1844123,30.6280702,38.5723011,14.3334311,3.111684,12.2174178,10.3531393,38.2085608,8.1362923,0.8349906,0.7755924,10.2008689,6.832447,82.6918953,11.0548788,29.6571269,61.7993533,30.7562187,39.6728947,14.1295132,2.7480885,12.7638013,11.1412222,38.5521505,8.2663429,0.7044896,0.6435346,10.1276973,6.6759035,81.9355211,11.5704302,29.564975,61.3988128,31.2857522,40.0358119,14.4654987,2.9983277,12.1215313,11.7914158,38.2643001,5.2403349,0.6821557,0.6213802,9.634809,6.0015652,79.9307475,12.055867,28.6366675,61.5808492,32.3256078,40.3800509,14.859608,2.8538358,12.0368927,11.5762507,36.7099142,4.3307155,0.6909752,0.629414,9.9633378,6.1579653,78.7158057,11.6148646,28.3334505,61.5440805,31.0530213,39.976829,14.6276262,2.8942013,11.2533186,11.361157,37.2992335,4.400007 +283,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7930591,0.7805311,12.1435791,8.421901,60.0016763,11.7443522,31.6286365,68.6650145,38.2805005,48.0968466,19.0675802,5.6024249,10.5809167,9.8651136,32.9951622,10.0953138,0.6944167,0.6822437,11.7789014,8.1906163,58.6678397,12.4216923,31.7923165,68.7752312,38.6307248,48.072712,18.9624469,5.5679752,10.4338114,9.2045645,32.2789337,6.591805,0.7118547,0.7070679,11.372419,7.6583386,57.1698826,12.72545,31.1270995,68.6279132,37.7332694,48.7831492,18.596546,5.5095271,10.9200319,9.4714913,32.6020485,6.0007974,0.7462105,0.7514941,11.7660418,7.8593971,55.4084338,12.7153245,30.9669677,68.7863328,37.3386143,48.650507,18.2575109,5.485043,11.4150568,10.0218791,32.9332498,4.7733738,0.6380343,0.6850949,11.5243152,7.6985447,54.1327467,12.6650189,30.1308725,68.4997916,36.664904,48.551902,18.085439,5.3698824,11.040281,10.1353062,32.5027842,3.8818067 +284,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9733498,1.0177724,19.5132585,15.1693757,36.81522,19.147588,37.8595349,65.0153893,38.3667124,49.6772626,24.5683505,3.2273169,12.5971564,10.8961042,31.7357004,9.5735583,1.0279927,1.0579052,19.5229303,16.0020992,36.8940517,18.6467629,38.8630993,64.231495,38.8591132,50.3855621,24.3107989,3.1876017,12.8503545,11.3999723,31.9083247,9.3275438,1.1265934,1.1562666,20.2207658,16.7831175,37.2588765,17.7513607,38.770099,64.0371337,38.1280733,50.1896318,24.3463433,3.2228605,12.5325911,10.8405483,32.3381835,11.2309237,1.2015528,1.2459816,19.871036,16.491607,37.7380709,18.1916519,39.4711064,63.5896792,38.3841993,50.0629298,24.8573031,3.2229078,13.0368725,11.3280452,32.0063384,12.7575825,1.224269,1.268909,20.5374421,17.1409335,38.2371267,16.85321,38.9066938,63.1495483,37.2366615,49.0399764,23.5740999,3.0470765,12.5652764,11.2456274,31.7539628,15.9851114 +285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2962873,1.3915965,21.778056,16.2011918,23.9709847,14.5174276,36.7351238,60.9178275,31.3401666,48.2476556,22.4969714,4.4771476,15.7047682,11.8473896,34.5265516,20.8844867,1.2832723,1.3789678,22.0232997,16.7199403,24.7354458,15.7384285,37.7121047,61.8859112,31.682543,48.9893674,23.5873442,4.7732969,15.6162985,12.2441259,34.265948,19.379411,1.2370812,1.3311543,22.0706084,16.9289649,25.2667212,16.0386187,37.5586204,62.0501083,31.9703118,49.0101078,24.0253791,4.5749582,16.1469123,12.4282325,33.7762031,21.7944247,1.286036,1.3281867,21.3787282,16.645784,27.2683291,15.659225,36.6981398,62.1569676,32.2568676,49.2649239,24.0230225,4.4687455,15.616621,12.123399,33.7172743,18.8458059,1.262211,1.3038413,20.6306204,15.6388781,28.6798298,15.1314307,37.0629812,62.5592151,31.3737968,49.7841318,23.8050787,4.6429045,15.1176769,11.3945805,33.9058428,18.014388 +286,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9673907,1.0057338,12.8574963,8.8624476,19.7918491,21.1716687,35.6980947,66.2549269,38.9057667,50.6938861,24.2955974,4.0969119,10.0725218,8.9624368,31.1304536,15.2189529,0.9781703,0.9881645,13.3937329,9.386501,20.5817969,21.4649282,36.6128804,65.3583526,38.7160231,50.7507309,24.31653,4.2212764,9.8793024,9.2628892,31.1767702,14.1142464,0.9535544,0.9631056,13.512299,9.3114873,21.2493314,21.3862074,36.8189555,65.5223373,37.5619156,50.4934165,23.8415711,4.0461188,9.663787,9.0883489,31.4805666,13.3104825,0.9656066,0.9745694,13.5278406,9.5434825,21.5493017,21.5087289,37.0953879,65.4774213,37.0987234,49.6328842,23.4423235,4.0971554,9.6090601,9.1382093,30.8840668,14.6270344,1.0123653,1.0216472,13.7522348,9.8174025,21.9658227,21.6946956,36.895343,65.8880792,38.0141276,49.7214451,23.2370496,4.3617447,9.6393759,8.9662226,31.5836334,14.4378296 +287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4395812,0.3835622,8.7182706,5.2722249,73.686939,14.082344,31.8788593,66.0471011,31.0879899,42.5062911,16.3360755,3.948796,8.2974313,7.9453945,32.0216578,7.2535922,0.4822796,0.432736,8.8670817,5.5144931,72.6550222,13.9537006,31.2909402,65.7649279,31.5169042,43.0950222,16.5922197,3.7220787,9.3065464,8.5605656,31.9514797,6.0709209,0.4613117,0.420586,8.9309402,5.5418046,70.8362145,14.1914617,31.0961298,66.120824,32.5812096,43.8151397,17.6693205,3.5282175,9.6395959,8.7989462,32.1756824,6.0339934,0.5101647,0.4638861,8.9549717,5.710382,69.3601795,14.5338837,30.9382846,66.2659316,32.6668736,44.3354531,18.6533136,3.7854217,9.3867166,8.991478,32.3959176,5.1218562,0.5591688,0.5158366,8.9254615,5.9828341,68.3269515,14.9011662,31.2699028,66.9968648,33.1832464,45.1758004,18.829657,3.645319,9.2136878,8.6626695,32.5620573,4.9459178 +288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7121585,0.7106798,11.9709998,7.5141664,73.1363547,8.1782717,34.669405,65.1540826,37.7847112,42.1309919,21.5818565,3.7586711,11.0137815,9.4479593,39.7464863,6.0628067,0.6649479,0.6523594,11.6787896,7.2399583,71.9778944,8.2379405,34.9838267,65.623922,38.1796257,42.4720333,22.096664,3.684841,11.6737167,9.5439819,40.0113204,6.4995771,0.6429203,0.634997,11.2965377,6.9618656,71.2408345,8.6013385,34.8524964,65.3486391,38.1570536,42.6752568,22.0728792,3.8036263,11.4322025,9.3798658,39.70625,5.6546221,0.6476339,0.6503786,11.1967277,6.8514252,70.4841789,8.4870043,34.7719728,65.5663847,38.1892997,42.640993,22.4778172,3.870042,11.44716,9.4793314,39.9064017,5.9084991,0.6282426,0.6369661,11.1183773,6.7636277,69.6766222,8.7627793,34.7207779,65.5802185,38.1561544,42.8368988,23.0272128,4.0372989,10.8707549,9.0811124,39.3932133,5.0435722 +289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6144364,0.6233626,12.8710667,9.7126011,77.809692,9.5386401,32.3168755,66.4440488,28.4622393,44.3212546,15.0261496,2.7188837,11.2485003,9.3993528,30.2058019,7.118395,0.5359035,0.5607346,12.2121305,9.0558004,76.6982894,9.5371045,31.4272107,67.0864532,28.8535575,44.7082268,14.9945076,2.6768504,10.6619524,9.4134507,30.092094,6.8482081,0.6259369,0.6355559,11.7851699,8.6870384,75.5948223,9.2910081,31.2924937,67.2653099,29.3371213,44.7580136,15.095008,2.7250028,10.6160737,9.666749,30.5717967,8.68468,0.6098949,0.6227698,11.7232311,8.5203844,74.6227659,9.2190356,31.4240159,67.3510723,29.113303,44.2998338,14.8733388,2.7074045,10.1999988,9.7492543,30.4645443,8.5593293,0.5385296,0.5449194,11.0756063,7.9072612,73.5013427,9.2071119,31.2802633,66.8256746,29.3446665,44.0826766,14.8002305,2.6061075,10.2601894,9.8336315,31.013515,8.3910151 +290,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6944167,0.6822437,11.7789014,8.1906163,58.6678397,12.4216923,31.7923165,68.7752312,38.6307248,48.072712,18.9624469,5.5679752,10.4338114,9.2045645,32.2789337,6.591805,0.7118547,0.7070679,11.372419,7.6583386,57.1698826,12.72545,31.1270995,68.6279132,37.7332694,48.7831492,18.596546,5.5095271,10.9200319,9.4714913,32.6020485,6.0007974,0.7462105,0.7514941,11.7660418,7.8593971,55.4084338,12.7153245,30.9669677,68.7863328,37.3386143,48.650507,18.2575109,5.485043,11.4150568,10.0218791,32.9332498,4.7733738,0.6380343,0.6850949,11.5243152,7.6985447,54.1327467,12.6650189,30.1308725,68.4997916,36.664904,48.551902,18.085439,5.3698824,11.040281,10.1353062,32.5027842,3.8818067,0.5087372,0.5798012,11.0485102,7.3926225,52.0966674,12.930395,30.3701948,68.0579665,36.8874673,49.1341642,17.7314912,5.1901261,10.7693653,10.2202192,32.5827781,3.2509704 +291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.7300229,0.7474658,12.3973725,7.540665,49.4985199,13.3544989,36.8993662,65.9886219,38.3433679,46.649328,24.9863464,3.1200598,15.2103269,13.5789374,40.0708351,8.3333399,0.6822961,0.7633643,12.1235276,7.3762085,48.7631674,14.5227173,38.0866482,65.8844845,39.9948241,48.4528095,25.6059623,3.4295851,15.7670624,14.8482329,40.619067,6.0000048,0.7536953,0.8249881,12.047881,7.2083506,46.9863787,14.2893436,36.9084422,67.6697658,40.6635529,49.0997936,25.9516133,3.4722093,15.0704348,14.2521476,39.707288,7.6612965,0.8030882,0.87479,11.6581506,7.423459,44.7702133,15.3233975,36.8652904,68.31607,41.4766506,50.5958527,25.9326055,3.6528363,14.5673173,13.3429961,38.964182,9.3495935,0.8313449,0.8313449,11.4234069,7.0912738,44.0139079,15.8072815,36.6578916,68.9736804,42.55259,51.4473483,26.5525957,3.4999812,13.4803961,12.7335534,38.9437233,9.9206349 +292,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3245129,0.3655831,9.384294,6.4221943,80.5848653,10.6002811,31.7778092,65.1197213,27.0275421,39.102729,13.2273382,12.3004612,10.3693468,9.6317539,36.0797525,3.1914903,0.3527086,0.3839481,9.39619,6.3967114,79.0815001,10.7293666,31.5097797,64.9941718,27.3274537,38.9809666,13.0454437,12.5922545,10.406276,9.5994915,36.6432295,3.7486808,0.3603867,0.3983866,9.1812863,6.2183234,77.9063705,10.6522862,31.3179026,65.1771853,27.4249797,39.3235921,13.2113258,12.5387961,10.431646,9.5718135,37.2374972,3.8049311,0.3852777,0.4228527,8.9081546,5.9409102,76.6770091,10.8341751,31.1191953,65.5372648,27.9415475,39.9757568,13.635784,12.627614,10.1100171,9.1969499,36.905053,3.4871252,0.3922986,0.4182509,8.750161,5.8055799,75.5166626,11.0866001,30.9639184,65.0835129,28.2991183,40.4628387,13.9423738,12.7948462,10.2841156,9.1585386,36.9820992,3.8788531 +293,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4822796,0.432736,8.8670817,5.5144931,72.6550222,13.9537006,31.2909402,65.7649279,31.5169042,43.0950222,16.5922197,3.7220787,9.3065464,8.5605656,31.9514797,6.0709209,0.4613117,0.420586,8.9309402,5.5418046,70.8362145,14.1914617,31.0961298,66.120824,32.5812096,43.8151397,17.6693205,3.5282175,9.6395959,8.7989462,32.1756824,6.0339934,0.5101647,0.4638861,8.9549717,5.710382,69.3601795,14.5338837,30.9382846,66.2659316,32.6668736,44.3354531,18.6533136,3.7854217,9.3867166,8.991478,32.3959176,5.1218562,0.5591688,0.5158366,8.9254615,5.9828341,68.3269515,14.9011662,31.2699028,66.9968648,33.1832464,45.1758004,18.829657,3.645319,9.2136878,8.6626695,32.5620573,4.9459178,0.5795491,0.5448833,9.1379046,6.055777,67.2843102,15.1865259,31.4818205,67.0687682,33.3473378,44.1279549,19.0550692,3.763224,9.7469224,8.6953236,33.3904388,5.1714832 +294,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8041237,1.9513991,25.9811617,21.899529,52.8892456,8.1395349,34.1940532,67.057903,29.1862285,45.9311424,15.8841941,5.399061,18.1372549,12.5816993,35.8085809,9.4262295,1.8494152,1.995614,25.3488372,20.8527132,52.8044872,7.7453988,34.1860465,64.5736434,28.1395349,42.8682171,16.0465116,5.1937984,16.7711599,11.1285266,36.2341772,11.25,1.9111111,2.0592593,26.0497667,21.3841369,54.2003231,6.8885449,34.6698113,64.5440252,28.5377358,43.4748428,16.745283,4.7955975,16.7692308,11.5384615,36.4906832,10.3305785,2.1310241,2.2816265,26.2779553,21.3258786,54.6875,7.8199052,35.1674641,65.1515152,28.3094099,45.5342903,17.7830941,5.8213716,15.0621118,11.0248447,35.5590062,10.2459016,2.035913,2.1117855,26.1326861,21.763754,54.884106,8.2268371,35.5177994,65.2912621,27.1035599,46.5210356,18.6893204,5.9061489,14.1269841,10.6687898,36.7834395,8.6065574 +295,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7579011,0.8240586,12.2456933,8.0362775,53.8061175,16.4625244,35.2164788,67.4798415,38.4917713,49.4654098,21.6173808,3.2265968,11.4032907,9.8134492,34.5600015,9.2855016,0.7750411,0.7777058,12.6107951,8.0066192,52.7700552,16.699258,34.3733927,67.5108818,38.7907337,50.2104406,21.6655941,3.1153363,11.7996009,9.8477544,33.7007395,9.8256502,0.8358012,0.8543832,13.0803033,8.1054337,51.7041365,16.5683865,34.9502101,67.3303965,38.4479168,50.8295519,21.7706311,2.9229786,11.6378779,10.1736623,33.7357946,8.384993,0.7807504,0.7885618,13.0871708,8.0457115,51.1051856,16.8522064,34.968039,67.85105,38.2582872,50.983407,21.7969617,2.9690841,11.602014,9.7495474,32.6648882,8.0142356,0.809839,0.8010976,13.1090593,7.8990198,50.1338495,17.3942006,35.0286833,68.5751339,38.4619583,52.0334824,21.885879,3.2177081,11.4423829,9.8542567,33.3407591,7.4386423 +296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.687097,0.6898391,11.6755678,7.3261876,61.5595395,15.4464115,33.1584734,69.8082321,36.6316979,45.4956384,21.0021765,3.0209782,9.3031534,8.0600259,33.3919962,7.6388783,0.6574025,0.6712177,11.5039434,6.8018564,60.3258907,15.25635,33.4842592,69.8116462,36.9974772,45.1466723,20.880119,3.1329212,9.1752695,8.0922925,32.5573485,8.0096932,0.7467569,0.7522412,11.3433388,6.4844557,59.4560105,15.561486,33.0151503,69.7946572,37.9142757,45.0468328,21.2716196,3.4041767,9.9795811,8.1570019,32.2902487,9.0686052,0.8883894,0.8883894,11.839361,6.4499271,58.4760893,15.7262126,32.9289923,69.8488049,38.3790558,45.3762282,21.9233484,3.2876211,9.9331205,8.740795,32.3092583,8.0096893,0.8619166,0.8859937,12.0341351,6.6353187,57.733618,15.7517446,32.856661,69.4385638,38.082633,44.7563444,22.3693463,3.0896842,9.4868384,7.8769505,32.3229005,8.291449 +297,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4043226,0.4392619,10.4451,7.1231036,84.6887638,11.4923808,28.8445444,64.3088579,26.1015432,39.9027826,11.1555477,4.3520538,12.7916199,11.5542817,30.9289751,4.0502906,0.4132773,0.4378913,10.700474,7.3814878,84.2239545,11.5159749,29.259532,64.6898024,27.0533129,40.0283235,11.4569869,4.7291438,12.3262082,11.4315276,30.6001023,5.124685,0.4060473,0.4435506,10.3869667,7.1115,84.0293952,11.4892916,28.4776462,64.5114256,26.3632074,39.8508003,11.2730666,4.551555,11.6022351,10.8181381,30.989126,5.4622522,0.3922502,0.4192731,10.4089497,7.067534,83.2360645,11.8749819,28.6363812,64.8004355,26.5077617,39.7670827,11.186254,4.6230906,11.6454692,10.9951134,30.7643586,6.0224832,0.3778719,0.3927989,9.9781766,7.0865865,82.2958656,11.7665806,28.4785341,65.7662595,26.9349208,40.6283367,11.5875996,4.66374,11.6016093,11.2916945,30.5233144,5.8209911 +298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5359035,0.5607346,12.2121305,9.0558004,76.6982894,9.5371045,31.4272107,67.0864532,28.8535575,44.7082268,14.9945076,2.6768504,10.6619524,9.4134507,30.092094,6.8482081,0.6259369,0.6355559,11.7851699,8.6870384,75.5948223,9.2910081,31.2924937,67.2653099,29.3371213,44.7580136,15.095008,2.7250028,10.6160737,9.666749,30.5717967,8.68468,0.6098949,0.6227698,11.7232311,8.5203844,74.6227659,9.2190356,31.4240159,67.3510723,29.113303,44.2998338,14.8733388,2.7074045,10.1999988,9.7492543,30.4645443,8.5593293,0.5385296,0.5449194,11.0756063,7.9072612,73.5013427,9.2071119,31.2802633,66.8256746,29.3446665,44.0826766,14.8002305,2.6061075,10.2601894,9.8336315,31.013515,8.3910151,0.5027331,0.5092351,11.1719098,7.9858717,72.7344251,9.559946,31.2376938,66.9318513,29.3227161,44.3044195,14.6789714,2.654177,10.3650204,9.9645444,31.3410362,8.7073749 +299,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0279927,1.0579052,19.5229303,16.0020992,36.8940517,18.6467629,38.8630993,64.231495,38.8591132,50.3855621,24.3107989,3.1876017,12.8503545,11.3999723,31.9083247,9.3275438,1.1265934,1.1562666,20.2207658,16.7831175,37.2588765,17.7513607,38.770099,64.0371337,38.1280733,50.1896318,24.3463433,3.2228605,12.5325911,10.8405483,32.3381835,11.2309237,1.2015528,1.2459816,19.871036,16.491607,37.7380709,18.1916519,39.4711064,63.5896792,38.3841993,50.0629298,24.8573031,3.2229078,13.0368725,11.3280452,32.0063384,12.7575825,1.224269,1.268909,20.5374421,17.1409335,38.2371267,16.85321,38.9066938,63.1495483,37.2366615,49.0399764,23.5740999,3.0470765,12.5652764,11.2456274,31.7539628,15.9851114,1.2413468,1.2860097,21.6972138,18.4851298,38.8496061,17.0315793,39.4077877,63.6680857,36.9085145,48.8813897,23.0798481,3.425392,12.3427749,11.2617366,32.8405369,17.7417409 +300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2832723,1.3789678,22.0232997,16.7199403,24.7354458,15.7384285,37.7121047,61.8859112,31.682543,48.9893674,23.5873442,4.7732969,15.6162985,12.2441259,34.265948,19.379411,1.2370812,1.3311543,22.0706084,16.9289649,25.2667212,16.0386187,37.5586204,62.0501083,31.9703118,49.0101078,24.0253791,4.5749582,16.1469123,12.4282325,33.7762031,21.7944247,1.286036,1.3281867,21.3787282,16.645784,27.2683291,15.659225,36.6981398,62.1569676,32.2568676,49.2649239,24.0230225,4.4687455,15.616621,12.123399,33.7172743,18.8458059,1.262211,1.3038413,20.6306204,15.6388781,28.6798298,15.1314307,37.0629812,62.5592151,31.3737968,49.7841318,23.8050787,4.6429045,15.1176769,11.3945805,33.9058428,18.014388,1.3516683,1.3937595,20.8630259,15.653982,29.2844524,15.9242124,37.4030503,63.0825076,31.8543394,50.571114,24.2372225,4.8691801,15.5095416,11.7524095,33.4812493,15.8448026 +301,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.522711,0.4587576,10.7669028,6.9843394,71.3046301,10.4216638,28.6987045,66.7153564,35.9416455,42.2972213,19.368337,4.4581468,10.8043499,9.0609006,33.636336,5.6561086,0.491196,0.4231798,10.6404204,6.851898,70.185165,10.5850732,28.1844284,67.0283496,35.2792464,42.2662801,18.9227737,4.3349278,10.2496699,8.8353286,32.8096417,3.9170507,0.4845928,0.4711227,10.5896311,6.6128112,68.9920671,10.6024581,28.3645787,66.4417907,35.6822131,42.9014746,18.9424719,4.2721016,9.9357211,8.7587852,32.968033,2.6442308,0.5322995,0.5367475,10.6406207,6.7386812,67.8891306,10.145165,27.7304742,66.3953246,35.5964626,42.3981177,18.8879981,4.0589872,10.1116439,8.4678041,32.8351852,2.6829268,0.5711673,0.5667741,10.7203729,6.8442973,67.4549652,10.1236438,27.0645569,66.5988952,35.9626671,42.6364139,18.6697665,4.0857831,10.2578837,8.7932589,32.7273328,3.1100478 +302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6082432,0.6082432,12.2861151,9.9633554,42.2685162,33.0278764,26.7699721,68.3850699,36.087027,47.1431065,19.068338,4.1615346,17.5507045,11.2659511,34.9874235,6.000048,0.7636553,0.7636553,13.3045418,10.9530304,43.981905,30.7166961,27.0049123,68.3585007,35.7769521,45.1756914,19.7369015,4.5739295,17.9321719,11.6799433,36.1114565,6.6407288,0.6371501,0.6371501,13.4027874,11.077179,43.6395924,32.7038896,27.4132275,68.007505,36.2004704,45.3591909,20.1114,4.3935596,16.4084595,10.5196035,35.471622,5.0782242,0.5663212,0.5663212,13.7910427,11.3980655,45.0453428,32.4748426,28.2886116,67.4969029,36.4624708,45.147256,20.1150717,4.7892693,16.9690878,11.0390757,34.2523281,5.118211,0.5493819,0.471317,13.6876171,11.0625827,47.4057722,32.1874648,28.0890839,68.2166015,36.4970254,43.376094,19.2994815,4.9044574,16.4083303,11.5285023,34.6861416,5.8140436 +303,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7718722,0.8047333,13.0935075,8.2417611,79.5096443,12.12154,33.462269,63.4852782,28.402685,41.051647,16.2345796,2.6447803,10.7269438,8.2267086,35.1217573,9.7682119,0.7796794,0.8078954,12.7914165,8.1078265,77.6074911,12.0934783,33.0572541,64.5313624,29.3038485,41.6544436,16.2822455,2.4428576,10.8104329,8.4672908,34.6565846,9.1054313,0.777728,0.7843316,12.463494,7.9578678,75.3190958,12.1697122,32.9850281,65.5161596,29.8606735,41.6614003,16.2233513,2.6493539,10.3526178,8.4902801,34.4853555,8.8709792,0.7636198,0.7313251,11.9172629,7.2973589,73.6395672,12.4113503,32.8477375,66.1739774,30.5508252,42.6946079,16.4291793,2.7541472,10.4833306,9.1229924,34.1296485,8.2848958,0.7846693,0.7523432,11.1146128,6.958445,72.0144461,12.6173186,32.2494877,67.4520349,31.3965865,43.1450056,16.7057626,2.9317695,10.5042034,9.5001901,35.1960592,8.0736613 +304,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.491196,0.4231798,10.6404204,6.851898,70.185165,10.5850732,28.1844284,67.0283496,35.2792464,42.2662801,18.9227737,4.3349278,10.2496699,8.8353286,32.8096417,3.9170507,0.4845928,0.4711227,10.5896311,6.6128112,68.9920671,10.6024581,28.3645787,66.4417907,35.6822131,42.9014746,18.9424719,4.2721016,9.9357211,8.7587852,32.968033,2.6442308,0.5322995,0.5367475,10.6406207,6.7386812,67.8891306,10.145165,27.7304742,66.3953246,35.5964626,42.3981177,18.8879981,4.0589872,10.1116439,8.4678041,32.8351852,2.6829268,0.5711673,0.5667741,10.7203729,6.8442973,67.4549652,10.1236438,27.0645569,66.5988952,35.9626671,42.6364139,18.6697665,4.0857831,10.2578837,8.7932589,32.7273328,3.1100478,0.6730873,0.6687424,10.590284,6.817553,66.0664385,10.8879785,26.8039659,67.0790738,37.0887066,43.2526636,19.2806099,4.146848,10.7277188,8.9480799,33.0206005,4.2410714 +305,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6093493,0.6269913,10.3893573,7.1438548,58.2587647,14.9229625,34.7928582,66.3330148,33.4019087,46.1389908,18.5354532,4.2935343,10.5924476,9.5070385,29.8585788,6.3253012,0.6786834,0.6786834,10.0500908,6.9545967,57.1206759,15.1576341,33.9224613,66.2924071,33.8152918,46.9321944,18.3460025,4.3294288,10.3885226,9.2307488,29.3621246,6.7251541,0.5265238,0.5265238,9.0299685,5.8775549,54.2242173,15.156335,33.06742,67.2576114,33.9357823,47.6891842,18.1126963,3.7672738,10.6328231,9.6211313,30.3179342,6.3636402,0.4612452,0.4612452,8.6574542,5.4176325,51.9241917,15.6617497,32.0575744,67.0610858,34.7469883,47.2546158,18.5280502,3.6474444,10.0435195,9.0829456,29.6459045,4.6296325,0.4225347,0.4225347,7.9183102,4.9279233,49.9397283,16.008481,31.723552,66.8477805,35.0692392,47.9732905,17.6174056,3.5083588,10.1809191,9.431572,29.4820248,3.8922202 +306,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5232829,0.5534701,8.2124876,5.0617608,86.1536906,6.2577746,27.1688137,62.7337802,27.898869,37.0953937,12.648028,5.3279843,9.6942436,8.5740381,37.3863082,3.9953362,0.4884293,0.5127687,8.1212879,4.9168153,85.8231814,6.4290451,27.0085477,62.564713,28.0205013,36.9778241,12.7935482,5.5715127,9.8440927,8.4268179,37.3558564,3.7250301,0.4579721,0.4873632,7.869918,4.7727004,85.578837,6.6713388,26.7214572,62.6768635,28.0352069,37.1853989,13.0505919,5.3297505,10.1193641,8.4262089,37.7650232,3.7969842,0.5014992,0.5285072,7.9437571,4.9063298,85.3360325,6.6514211,26.5993967,62.7605775,28.1187388,37.3540995,13.337348,5.4058429,9.9893123,8.1780151,38.1486097,4.1008277,0.5215758,0.5296212,7.8148215,4.8529573,85.0969583,6.7886089,26.6229971,62.798114,28.3029853,37.7100385,13.3556386,5.4586703,10.4008186,8.3092718,38.5624282,3.8289963 +307,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7796794,0.8078954,12.7914165,8.1078265,77.6074911,12.0934783,33.0572541,64.5313624,29.3038485,41.6544436,16.2822455,2.4428576,10.8104329,8.4672908,34.6565846,9.1054313,0.777728,0.7843316,12.463494,7.9578678,75.3190958,12.1697122,32.9850281,65.5161596,29.8606735,41.6614003,16.2233513,2.6493539,10.3526178,8.4902801,34.4853555,8.8709792,0.7636198,0.7313251,11.9172629,7.2973589,73.6395672,12.4113503,32.8477375,66.1739774,30.5508252,42.6946079,16.4291793,2.7541472,10.4833306,9.1229924,34.1296485,8.2848958,0.7846693,0.7523432,11.1146128,6.958445,72.0144461,12.6173186,32.2494877,67.4520349,31.3965865,43.1450056,16.7057626,2.9317695,10.5042034,9.5001901,35.1960592,8.0736613,0.7445008,0.7017951,10.5146578,6.4859736,70.0762622,12.8240565,31.5795352,67.8632751,32.5225004,43.6669648,17.5632303,2.9682827,10.0364894,8.7601692,34.9979639,8.1944444 +308,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6997182,0.7767198,11.9962675,7.2304357,62.3240827,16.4654815,34.7893596,68.6773022,35.4548558,45.0777159,22.0329228,3.5635404,10.3187101,8.7310964,35.3639793,6.0137932,0.7174435,0.7958967,12.1759812,7.0970789,61.361268,16.8370529,33.7823527,69.1020845,36.2040297,46.3539306,22.2450993,3.7414912,10.3063441,9.1454875,35.021138,6.7010336,0.6945056,0.7825383,11.8097274,6.9571362,60.7281719,18.0416011,32.687626,68.9108211,36.4264168,46.2613027,22.0673667,3.6710331,10.2903383,9.1832575,35.2465704,6.5656555,0.7142078,0.7841366,11.6404907,6.6798173,60.1097604,18.2160992,32.8183309,68.2118589,36.0142187,47.0814658,22.0947736,3.9222959,10.3022827,8.8637237,35.9869799,6.6558419,0.7326106,0.7990801,11.8081625,6.8417371,59.8450084,18.4493606,32.048315,68.4449553,35.9422906,47.0016564,21.7161974,3.777193,9.7907207,8.4750714,35.5060074,5.4636245 +309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7750411,0.7777058,12.6107951,8.0066192,52.7700552,16.699258,34.3733927,67.5108818,38.7907337,50.2104406,21.6655941,3.1153363,11.7996009,9.8477544,33.7007395,9.8256502,0.8358012,0.8543832,13.0803033,8.1054337,51.7041365,16.5683865,34.9502101,67.3303965,38.4479168,50.8295519,21.7706311,2.9229786,11.6378779,10.1736623,33.7357946,8.384993,0.7807504,0.7885618,13.0871708,8.0457115,51.1051856,16.8522064,34.968039,67.85105,38.2582872,50.983407,21.7969617,2.9690841,11.602014,9.7495474,32.6648882,8.0142356,0.809839,0.8010976,13.1090593,7.8990198,50.1338495,17.3942006,35.0286833,68.5751339,38.4619583,52.0334824,21.885879,3.2177081,11.4423829,9.8542567,33.3407591,7.4386423,0.7750616,0.7661308,13.5565705,8.100271,47.557835,17.3555097,35.6262974,69.6317855,39.3797992,52.6609271,22.5785305,3.0555731,11.8907189,10.0035736,31.7884222,8.9743169 +310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7078807,0.7202465,11.4732109,7.1598575,71.1560298,13.4010018,37.7320263,67.8208121,35.7788591,47.0621499,19.4915155,3.4140458,10.9632995,10.9121666,33.3590201,8.7563639,0.7865241,0.7901855,11.193578,6.788013,69.5304691,13.8678686,37.9735563,68.4574908,36.6841794,47.604269,20.0970967,3.4304343,10.8305904,10.5145246,33.4891263,8.6901928,0.8634376,0.8401807,11.4601397,6.9638228,68.0625123,13.6205521,37.2860876,68.4391338,36.8862989,47.3292851,20.3342359,3.3024129,10.9624078,10.5239524,33.9047245,8.8528839,0.87264,0.8677531,11.1865981,6.7525556,66.405968,13.8394997,36.3441141,68.5420665,36.7420275,47.9149949,20.4440652,3.2707314,11.2290776,10.5870273,33.6701106,7.4219194,0.8363733,0.8339477,11.0999089,6.7500531,65.121267,14.1509461,35.3485203,68.3183016,37.0396947,48.0243265,20.6812107,3.1689587,11.5177889,10.7902057,33.4187008,7.9634987 +311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3928242,0.3283009,7.4375873,5.2877828,84.7085294,18.7005301,31.4410282,66.0589943,26.232671,39.6354209,10.6771132,6.3368097,12.0269531,9.896857,34.3405225,3.0844106,0.3247154,0.2924553,7.1031584,4.9496215,84.1316932,19.1685116,31.1478959,65.5478176,26.3478571,39.8435065,10.8000221,5.7217406,11.1803641,8.8003064,34.0319786,3.1456902,0.3637307,0.3316166,7.2516389,4.9671012,84.9788599,18.9911602,31.1894311,65.0311944,26.543017,39.7191722,10.5929454,5.6692091,10.982883,8.5932723,34.2790693,4.5762634,0.3607023,0.3292687,7.3879102,4.8743169,85.0568034,19.2113745,30.6683775,64.4220806,26.1677326,39.976144,10.3818667,6.0859089,10.8566192,8.1721406,34.2424533,4.5607954,0.3340292,0.3340292,6.9341873,4.4828716,83.5894342,20.0169227,29.9090068,64.8953859,27.5134712,40.5364382,11.2516863,5.5836622,11.0136854,8.0613809,34.7012622,4.1946168 +312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6259369,0.6355559,11.7851699,8.6870384,75.5948223,9.2910081,31.2924937,67.2653099,29.3371213,44.7580136,15.095008,2.7250028,10.6160737,9.666749,30.5717967,8.68468,0.6098949,0.6227698,11.7232311,8.5203844,74.6227659,9.2190356,31.4240159,67.3510723,29.113303,44.2998338,14.8733388,2.7074045,10.1999988,9.7492543,30.4645443,8.5593293,0.5385296,0.5449194,11.0756063,7.9072612,73.5013427,9.2071119,31.2802633,66.8256746,29.3446665,44.0826766,14.8002305,2.6061075,10.2601894,9.8336315,31.013515,8.3910151,0.5027331,0.5092351,11.1719098,7.9858717,72.7344251,9.559946,31.2376938,66.9318513,29.3227161,44.3044195,14.6789714,2.654177,10.3650204,9.9645444,31.3410362,8.7073749,0.5336967,0.5355739,10.8189638,7.6637236,71.2252613,9.3881884,30.5266982,67.409249,30.0854039,44.9893243,14.9110349,2.5978611,10.6661161,10.0137653,31.5416773,7.5815812 +313,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1852988,1.1472628,16.7311808,12.8488074,46.1425491,15.710847,32.474723,65.1005647,35.8165155,39.2280722,18.4558801,6.0492846,9.7900409,8.2155585,38.969841,16.8103448,1.1138189,1.1138189,17.2785838,13.3331595,47.2530651,15.9107237,33.352251,64.670577,35.8889883,39.5455346,18.9622087,6.1051429,10.5427548,8.5444888,39.2381081,17.7295013,1.2002737,1.2002737,17.1705212,13.2735322,47.637804,16.8139944,33.4289448,64.7454957,35.4503891,39.4359872,19.7886831,6.0915858,10.3330028,8.4797799,38.0538137,15.9610817,0.9720542,1.0429746,17.1059539,13.3223291,49.3977421,16.5452849,33.3202678,64.2246504,35.2203641,38.0007482,19.4493417,5.8091105,10.3379602,8.8949008,36.6079554,15.9263975,1.0767432,1.1772025,17.3175367,13.5993832,49.9724962,17.1892918,33.5204428,63.5947037,33.9299739,37.9886555,19.3976368,5.9298778,10.8552701,9.3378593,37.9413658,15.4828111 +314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8358012,0.8543832,13.0803033,8.1054337,51.7041365,16.5683865,34.9502101,67.3303965,38.4479168,50.8295519,21.7706311,2.9229786,11.6378779,10.1736623,33.7357946,8.384993,0.7807504,0.7885618,13.0871708,8.0457115,51.1051856,16.8522064,34.968039,67.85105,38.2582872,50.983407,21.7969617,2.9690841,11.602014,9.7495474,32.6648882,8.0142356,0.809839,0.8010976,13.1090593,7.8990198,50.1338495,17.3942006,35.0286833,68.5751339,38.4619583,52.0334824,21.885879,3.2177081,11.4423829,9.8542567,33.3407591,7.4386423,0.7750616,0.7661308,13.5565705,8.100271,47.557835,17.3555097,35.6262974,69.6317855,39.3797992,52.6609271,22.5785305,3.0555731,11.8907189,10.0035736,31.7884222,8.9743169,0.7014353,0.6924591,14.0303437,8.4779691,46.1735883,16.6783899,36.5966418,69.3913065,39.0376255,53.112365,22.5508626,3.2518256,11.8604359,10.4188698,32.4703255,8.4183249 +315,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0960886,1.0904755,13.8335504,8.9837416,55.011748,16.9521818,36.2811307,68.4073726,38.1846884,46.1695333,22.6319675,2.6229993,11.5480874,10.5685299,36.1584611,7.5537558,1.1012589,1.0956412,14.0127438,8.9966921,52.8027427,17.6621952,35.9801927,68.9565688,38.5420344,47.4847432,23.124944,2.6315515,11.8722749,10.5463266,35.9467268,6.7374979,1.1183242,1.1128705,13.4303413,8.2734668,52.4192747,17.7834142,35.1086972,69.3789459,38.3726968,48.0277995,22.6877836,2.6519059,11.3749628,10.2508406,36.176179,7.553821,1.1671099,1.136303,13.5831745,8.2846447,52.5770065,18.2864151,34.8408321,69.4319342,37.5227835,48.1134288,23.2496845,2.8864826,10.5945756,9.6459323,36.3362974,6.6900231,1.0999378,1.0901828,14.0766855,8.5769856,52.6753378,18.2559581,35.375936,69.7123359,37.278849,48.1635124,23.2075788,2.898344,10.221642,9.2973184,37.4165737,8.0984547 +316,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7174435,0.7958967,12.1759812,7.0970789,61.361268,16.8370529,33.7823527,69.1020845,36.2040297,46.3539306,22.2450993,3.7414912,10.3063441,9.1454875,35.021138,6.7010336,0.6945056,0.7825383,11.8097274,6.9571362,60.7281719,18.0416011,32.687626,68.9108211,36.4264168,46.2613027,22.0673667,3.6710331,10.2903383,9.1832575,35.2465704,6.5656555,0.7142078,0.7841366,11.6404907,6.6798173,60.1097604,18.2160992,32.8183309,68.2118589,36.0142187,47.0814658,22.0947736,3.9222959,10.3022827,8.8637237,35.9869799,6.6558419,0.7326106,0.7990801,11.8081625,6.8417371,59.8450084,18.4493606,32.048315,68.4449553,35.9422906,47.0016564,21.7161974,3.777193,9.7907207,8.4750714,35.5060074,5.4636245,0.811317,0.8856585,11.5087917,6.6262837,59.2706334,18.4941525,32.0390964,68.6622847,36.6103673,47.2337709,21.363796,3.753192,10.1792593,8.8573423,36.0512505,5.8510802 +317,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6786834,0.6786834,10.0500908,6.9545967,57.1206759,15.1576341,33.9224613,66.2924071,33.8152918,46.9321944,18.3460025,4.3294288,10.3885226,9.2307488,29.3621246,6.7251541,0.5265238,0.5265238,9.0299685,5.8775549,54.2242173,15.156335,33.06742,67.2576114,33.9357823,47.6891842,18.1126963,3.7672738,10.6328231,9.6211313,30.3179342,6.3636402,0.4612452,0.4612452,8.6574542,5.4176325,51.9241917,15.6617497,32.0575744,67.0610858,34.7469883,47.2546158,18.5280502,3.6474444,10.0435195,9.0829456,29.6459045,4.6296325,0.4225347,0.4225347,7.9183102,4.9279233,49.9397283,16.008481,31.723552,66.8477805,35.0692392,47.9732905,17.6174056,3.5083588,10.1809191,9.431572,29.4820248,3.8922202,0.4203266,0.4376715,8.0519773,5.0070098,48.8583373,16.1755496,31.9056316,67.2355784,35.0505767,47.6582594,17.2710455,3.5364218,9.6775465,8.4439239,29.2918095,4.0372746 +318,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6333633,0.6253501,11.643383,7.707844,65.8185341,17.9893215,35.1294994,67.5689209,34.6734292,46.5276702,20.6650567,2.4107102,12.2503134,10.6508287,36.8053677,7.4469606,0.4997625,0.483694,11.2644086,7.2735024,64.7060174,18.2607325,34.9941177,68.0413895,35.691307,46.3254959,20.2410395,2.644013,12.414894,11.2382303,37.136662,8.0645213,0.4915921,0.4835542,10.8622961,7.104669,63.2073535,18.6102873,33.8231306,67.9649616,35.7609318,46.0657627,19.8502982,2.8611171,13.0778685,11.6581515,36.9379935,5.9859197,0.3970242,0.3890217,10.8121214,7.1723051,61.3473205,18.3035795,32.9672465,67.7972306,36.1769849,46.4806922,19.9834797,2.8926527,12.3384645,11.5847633,36.5801387,3.6666667,0.5698521,0.5464479,11.8221644,7.2846634,60.2044998,19.4112568,33.5933384,68.4208751,36.5499238,46.6772216,20.5653297,3.0213096,12.2107653,11.659292,37.4725914,3.555505 +319,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1249309,1.0363513,19.2045847,15.3355336,34.9848038,18.5306069,30.8054142,65.9610894,34.5428799,47.21507,20.9359657,2.5403445,13.8641543,13.1188968,37.5469003,17.405785,1.0968197,1.0129079,20.371375,16.5942056,34.0985958,18.7493542,30.6208472,66.3771453,34.7294723,47.7769984,20.8488001,2.6928515,14.4220641,13.9418445,38.1091124,14.7954539,1.2184068,1.1734354,20.5802958,17.4345661,34.6414407,19.0500258,30.6325508,65.2719215,34.5052494,46.6073277,20.5202874,2.7701014,13.2498084,13.4532409,38.7792618,16.5341859,1.4089219,1.3407849,21.3703185,17.9842002,35.2693752,18.6119081,30.8999439,64.4087258,34.4185638,45.7627939,20.5004129,2.9150083,13.0716011,12.8599051,37.2089389,16.0674373,1.4846458,1.4305312,22.3372219,18.9162172,34.962164,17.764618,31.1241335,63.7428471,34.7716519,45.6639323,20.5771031,2.7612295,12.3917237,12.2083839,38.0068574,17.3432159 +320,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7118547,0.7070679,11.372419,7.6583386,57.1698826,12.72545,31.1270995,68.6279132,37.7332694,48.7831492,18.596546,5.5095271,10.9200319,9.4714913,32.6020485,6.0007974,0.7462105,0.7514941,11.7660418,7.8593971,55.4084338,12.7153245,30.9669677,68.7863328,37.3386143,48.650507,18.2575109,5.485043,11.4150568,10.0218791,32.9332498,4.7733738,0.6380343,0.6850949,11.5243152,7.6985447,54.1327467,12.6650189,30.1308725,68.4997916,36.664904,48.551902,18.085439,5.3698824,11.040281,10.1353062,32.5027842,3.8818067,0.5087372,0.5798012,11.0485102,7.3926225,52.0966674,12.930395,30.3701948,68.0579665,36.8874673,49.1341642,17.7314912,5.1901261,10.7693653,10.2202192,32.5827781,3.2509704,0.556286,0.5973834,11.033554,7.3176626,50.3973728,13.1883043,30.648096,67.8685824,37.2379376,48.4373059,18.133081,5.1220806,11.1692188,10.3107954,31.5643563,3.6242337 +321,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8861493,0.7921321,21.403998,17.276327,31.8494149,22.6228668,35.3760157,68.5964791,36.6791906,49.8294211,22.3621566,3.7327234,11.5056819,9.5799131,29.6063717,18.3760841,0.9290133,0.837464,21.2709036,17.3976027,32.3882723,22.4674009,34.945688,68.6589668,36.7504819,49.500309,22.128554,3.5718792,11.0584194,10.1609905,29.4873599,16.6667344,0.9630531,0.9332506,21.3591108,17.5326786,33.186441,22.1246907,34.7933944,68.0615954,36.7306095,49.3568309,22.4316372,3.1394326,10.2709277,9.1317778,28.4138032,20.2380792,0.9379034,0.9081064,22.1949457,18.3787409,34.4806495,21.828749,35.0494135,66.8204561,35.1098958,48.7957798,21.1104036,3.1449842,10.115007,9.06922,30.5483547,15.8185362,1.1134339,1.083591,22.896594,19.3312828,34.9369988,21.0423151,35.2874057,67.563669,34.6321326,48.4255381,21.8903908,3.0895828,10.8641173,9.4464152,29.79506,15.0073293 +322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8349906,0.7755924,10.2008689,6.832447,82.6918953,11.0548788,29.6571269,61.7993533,30.7562187,39.6728947,14.1295132,2.7480885,12.7638013,11.1412222,38.5521505,8.2663429,0.7044896,0.6435346,10.1276973,6.6759035,81.9355211,11.5704302,29.564975,61.3988128,31.2857522,40.0358119,14.4654987,2.9983277,12.1215313,11.7914158,38.2643001,5.2403349,0.6821557,0.6213802,9.634809,6.0015652,79.9307475,12.055867,28.6366675,61.5808492,32.3256078,40.3800509,14.859608,2.8538358,12.0368927,11.5762507,36.7099142,4.3307155,0.6909752,0.629414,9.9633378,6.1579653,78.7158057,11.6148646,28.3334505,61.5440805,31.0530213,39.976829,14.6276262,2.8942013,11.2533186,11.361157,37.2992335,4.400007,0.6405432,0.5790955,9.3255709,5.5126935,78.5621443,11.3347378,26.4140379,61.4574616,30.6365886,38.9968093,14.1624647,3.1456846,11.7033697,10.8631088,37.4478286,4.8872254 +323,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4688928,0.4764697,11.0948226,7.0612613,65.4443065,8.6872405,29.9558796,68.7807052,37.9374327,40.724957,19.1366698,4.0760062,10.0441307,8.1296939,35.7779513,5.8789283,0.5118506,0.5162937,11.2650156,7.2137816,63.9607771,9.0772071,29.8201652,68.9023181,38.7136417,41.5536535,19.9931215,4.2501984,10.1655091,8.262676,35.607212,5.6896552,0.5369603,0.5387002,11.207827,7.2145173,63.0385352,9.2712346,30.1764477,69.1119117,39.2717898,42.6155167,20.2719828,4.1577315,10.2008581,8.5274974,35.5295191,5.6378132,0.5522345,0.5422547,11.0132338,7.0712465,62.1253517,9.3946604,30.1001255,69.3414832,39.631272,42.6927854,20.703763,4.3082708,10.2383157,8.668877,35.6416378,6.1373881,0.6177419,0.6200242,11.1405417,7.2488186,61.4478244,9.2263298,30.0401528,69.7686657,40.2208234,43.413628,21.0926299,4.382947,9.9451056,8.6665465,35.4162815,6.4793585 +324,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3575025,0.3359229,8.8193791,5.1505174,80.2693762,17.9350348,33.1376233,65.6411461,28.1117896,41.3574448,13.8327853,3.8280883,9.7465035,9.1666667,33.9929639,3.3505155,0.3586061,0.3372203,8.8717228,5.079588,78.8748833,18.2382705,33.7290503,65.6191806,27.9096834,41.2243948,13.896648,4.1201117,9.9312124,8.6712683,34.3587522,1.7766497,0.391313,0.3702869,9.0763603,5.0068587,77.6177412,17.9134745,33.4017328,66.005472,28.0209758,41.3360693,14.3410853,3.9443684,10.1345669,8.9029536,34.8471986,2.8795812,0.5231897,0.5019312,8.9576547,4.8161936,77.3317865,17.6618049,33.4025854,65.7663897,27.7700831,41.3434903,14.4275162,3.6703601,9.4617325,7.8836425,35.4414261,2.972973,0.5984827,0.5780076,8.7449933,4.6951491,75.7798574,18.514461,32.0274458,65.6706507,28.75166,42.1646746,15.2501107,3.6520584,8.9837398,7.6202119,33.7837838,2.7363184 +325,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6574025,0.6712177,11.5039434,6.8018564,60.3258907,15.25635,33.4842592,69.8116462,36.9974772,45.1466723,20.880119,3.1329212,9.1752695,8.0922925,32.5573485,8.0096932,0.7467569,0.7522412,11.3433388,6.4844557,59.4560105,15.561486,33.0151503,69.7946572,37.9142757,45.0468328,21.2716196,3.4041767,9.9795811,8.1570019,32.2902487,9.0686052,0.8883894,0.8883894,11.839361,6.4499271,58.4760893,15.7262126,32.9289923,69.8488049,38.3790558,45.3762282,21.9233484,3.2876211,9.9331205,8.740795,32.3092583,8.0096893,0.8619166,0.8859937,12.0341351,6.6353187,57.733618,15.7517446,32.856661,69.4385638,38.082633,44.7563444,22.3693463,3.0896842,9.4868384,7.8769505,32.3229005,8.291449,0.7647242,0.7884734,11.9113177,6.7205262,56.7811566,16.0214308,32.162847,69.0251538,37.683449,44.881213,22.5541721,2.9874165,10.0135832,8.4578871,32.6161345,9.0243814 +326,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9347869,0.9461134,12.8757291,8.7732881,57.5337264,13.9899442,35.3552393,67.7914629,36.0636656,44.3025222,24.6780815,3.5168754,12.2863041,10.4376387,41.9122088,10.2499154,1.0112504,1.0334135,13.0865891,8.974351,56.8860866,15.1566965,35.6966371,67.4159887,36.3389252,45.4792383,24.7776468,3.8290542,12.1256109,10.4267762,42.7245995,10.103539,1.2075953,1.196754,13.2779049,9.429926,55.8007064,16.2918546,35.6729395,67.8002613,36.5894814,46.4302989,23.8542961,3.9797424,11.8003819,10.7109528,43.455743,8.8941474,0.9788325,0.9581286,13.4257132,9.4275331,54.620472,16.476741,36.2362178,68.8189135,37.3391549,47.1737187,24.5174435,4.3428331,11.3515961,9.7787663,43.5267772,9.1980275,0.9555817,0.9354547,13.5892087,9.0080816,53.8468839,16.7694329,36.4156327,68.2860196,37.0861231,47.5009942,24.0786798,4.8134179,11.0400738,9.7947013,44.1328653,9.275936 +327,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6082286,0.6020004,7.5843517,4.9191963,84.7233779,15.8689182,28.7225303,63.3379062,29.0522007,36.5796734,14.4917556,7.4313215,10.1437679,7.7849089,36.1799632,4.3803419,0.5745689,0.5683945,8.0636105,4.9676344,84.323202,15.5726662,27.7671772,63.3724052,28.6395876,36.5185408,15.3353299,6.909242,10.4834452,8.311343,36.9161423,4.1577825,0.5760483,0.5699239,8.3610672,5.1719371,82.424655,15.7831349,26.8229906,63.8519915,29.642181,38.6419101,15.9257222,7.1951243,9.9266611,8.3245772,36.7546238,4.3237251,0.4531713,0.4471588,8.1746463,5.0190414,81.0712319,15.9037128,26.5058647,63.7126873,28.9578938,38.0730276,15.791578,7.1276337,9.4866621,8.2996952,36.5043172,4.1387034,0.4237388,0.4177864,8.0026965,4.9797534,79.7736329,16.0942031,26.9332317,63.8031203,29.0182153,38.4402217,15.8749038,6.9261211,9.3356006,7.7577851,36.0812243,4.2528745 +328,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5118506,0.5162937,11.2650156,7.2137816,63.9607771,9.0772071,29.8201652,68.9023181,38.7136417,41.5536535,19.9931215,4.2501984,10.1655091,8.262676,35.607212,5.6896552,0.5369603,0.5387002,11.207827,7.2145173,63.0385352,9.2712346,30.1764477,69.1119117,39.2717898,42.6155167,20.2719828,4.1577315,10.2008581,8.5274974,35.5295191,5.6378132,0.5522345,0.5422547,11.0132338,7.0712465,62.1253517,9.3946604,30.1001255,69.3414832,39.631272,42.6927854,20.703763,4.3082708,10.2383157,8.668877,35.6416378,6.1373881,0.6177419,0.6200242,11.1405417,7.2488186,61.4478244,9.2263298,30.0401528,69.7686657,40.2208234,43.413628,21.0926299,4.382947,9.9451056,8.6665465,35.4162815,6.4793585,0.6256372,0.6379073,11.0945572,7.2698432,60.281456,8.9789549,29.8922406,70.1649814,40.4587087,43.3768782,21.4524116,4.4392527,9.7118362,8.5920395,35.3357853,6.25 +329,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.7636553,0.7636553,13.3045418,10.9530304,43.981905,30.7166961,27.0049123,68.3585007,35.7769521,45.1756914,19.7369015,4.5739295,17.9321719,11.6799433,36.1114565,6.6407288,0.6371501,0.6371501,13.4027874,11.077179,43.6395924,32.7038896,27.4132275,68.007505,36.2004704,45.3591909,20.1114,4.3935596,16.4084595,10.5196035,35.471622,5.0782242,0.5663212,0.5663212,13.7910427,11.3980655,45.0453428,32.4748426,28.2886116,67.4969029,36.4624708,45.147256,20.1150717,4.7892693,16.9690878,11.0390757,34.2523281,5.118211,0.5493819,0.471317,13.6876171,11.0625827,47.4057722,32.1874648,28.0890839,68.2166015,36.4970254,43.376094,19.2994815,4.9044574,16.4083303,11.5285023,34.6861416,5.8140436,0.6602931,0.5829527,12.7937225,9.9506731,48.3352252,32.6543134,27.6101239,67.4844118,36.9184054,42.7046344,19.6856317,4.9685468,15.0633171,9.7715459,33.8876868,5.8594666 +330,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3697758,0.4583895,8.0912042,5.1856346,80.6445068,18.9785339,30.74297,61.0642572,25.0803223,37.3694734,12.0682715,5.4016075,10.6231255,9.2105209,34.8496244,3.4246575,0.390347,0.4655619,7.9166689,4.900795,79.5346045,19.1842285,31.27222,60.9442934,25.701306,37.1592226,12.4654277,5.7092072,10.134632,8.9446053,35.2213058,2.4886878,0.3767887,0.4516817,8.1331255,4.8247355,78.6054856,18.7037724,31.4573443,60.6042655,25.8886268,37.1445492,12.4210096,5.6279632,9.794573,8.847278,35.5726877,2.4553571,0.3957663,0.4697623,7.993024,4.686907,78.9156583,18.9606602,30.8124002,61.3334777,26.5358513,37.3443021,12.8499578,5.9292562,10.2794263,9.2115132,35.2625892,2.8138528,0.3699222,0.444629,7.8803541,4.5561352,78.1424159,19.6261175,30.1285039,62.2268775,27.1256668,38.123849,14.3331108,5.6747449,10.6681632,9.2313664,34.0665146,3.8116592 +331,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0968197,1.0129079,20.371375,16.5942056,34.0985958,18.7493542,30.6208472,66.3771453,34.7294723,47.7769984,20.8488001,2.6928515,14.4220641,13.9418445,38.1091124,14.7954539,1.2184068,1.1734354,20.5802958,17.4345661,34.6414407,19.0500258,30.6325508,65.2719215,34.5052494,46.6073277,20.5202874,2.7701014,13.2498084,13.4532409,38.7792618,16.5341859,1.4089219,1.3407849,21.3703185,17.9842002,35.2693752,18.6119081,30.8999439,64.4087258,34.4185638,45.7627939,20.5004129,2.9150083,13.0716011,12.8599051,37.2089389,16.0674373,1.4846458,1.4305312,22.3372219,18.9162172,34.962164,17.764618,31.1241335,63.7428471,34.7716519,45.6639323,20.5771031,2.7612295,12.3917237,12.2083839,38.0068574,17.3432159,1.5365973,1.5290073,23.5074761,19.8123567,35.1253503,17.1085116,30.9030823,64.3138907,33.9319022,45.1043853,19.8703622,2.6567158,12.7728933,11.7476082,38.1411583,16.5584308 +332,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4997625,0.483694,11.2644086,7.2735024,64.7060174,18.2607325,34.9941177,68.0413895,35.691307,46.3254959,20.2410395,2.644013,12.414894,11.2382303,37.136662,8.0645213,0.4915921,0.4835542,10.8622961,7.104669,63.2073535,18.6102873,33.8231306,67.9649616,35.7609318,46.0657627,19.8502982,2.8611171,13.0778685,11.6581515,36.9379935,5.9859197,0.3970242,0.3890217,10.8121214,7.1723051,61.3473205,18.3035795,32.9672465,67.7972306,36.1769849,46.4806922,19.9834797,2.8926527,12.3384645,11.5847633,36.5801387,3.6666667,0.5698521,0.5464479,11.8221644,7.2846634,60.2044998,19.4112568,33.5933384,68.4208751,36.5499238,46.6772216,20.5653297,3.0213096,12.2107653,11.659292,37.4725914,3.555505,0.5628929,0.5400065,12.6431751,7.7238294,59.4918192,19.3645753,33.2801848,68.3568036,36.0500361,46.5566675,20.6880167,3.0431129,11.933554,12.3692674,38.0561421,4.4725386 +333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4613117,0.420586,8.9309402,5.5418046,70.8362145,14.1914617,31.0961298,66.120824,32.5812096,43.8151397,17.6693205,3.5282175,9.6395959,8.7989462,32.1756824,6.0339934,0.5101647,0.4638861,8.9549717,5.710382,69.3601795,14.5338837,30.9382846,66.2659316,32.6668736,44.3354531,18.6533136,3.7854217,9.3867166,8.991478,32.3959176,5.1218562,0.5591688,0.5158366,8.9254615,5.9828341,68.3269515,14.9011662,31.2699028,66.9968648,33.1832464,45.1758004,18.829657,3.645319,9.2136878,8.6626695,32.5620573,4.9459178,0.5795491,0.5448833,9.1379046,6.055777,67.2843102,15.1865259,31.4818205,67.0687682,33.3473378,44.1279549,19.0550692,3.763224,9.7469224,8.6953236,33.3904388,5.1714832,0.5699896,0.5349388,9.1946156,6.1220467,65.7811504,15.1150343,31.6433821,66.9286556,33.1457048,43.7543055,18.7388916,3.6423621,10.3809505,9.1092812,33.4600564,5.6816815 +334,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1138189,1.1138189,17.2785838,13.3331595,47.2530651,15.9107237,33.352251,64.670577,35.8889883,39.5455346,18.9622087,6.1051429,10.5427548,8.5444888,39.2381081,17.7295013,1.2002737,1.2002737,17.1705212,13.2735322,47.637804,16.8139944,33.4289448,64.7454957,35.4503891,39.4359872,19.7886831,6.0915858,10.3330028,8.4797799,38.0538137,15.9610817,0.9720542,1.0429746,17.1059539,13.3223291,49.3977421,16.5452849,33.3202678,64.2246504,35.2203641,38.0007482,19.4493417,5.8091105,10.3379602,8.8949008,36.6079554,15.9263975,1.0767432,1.1772025,17.3175367,13.5993832,49.9724962,17.1892918,33.5204428,63.5947037,33.9299739,37.9886555,19.3976368,5.9298778,10.8552701,9.3378593,37.9413658,15.4828111,1.1956358,1.2762045,17.7133032,13.9071222,52.105311,16.5770782,33.4458986,62.7073689,33.5550213,37.6360846,19.4729881,5.5015447,10.6397927,10.0970829,38.003641,17.6229192 +335,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0112504,1.0334135,13.0865891,8.974351,56.8860866,15.1566965,35.6966371,67.4159887,36.3389252,45.4792383,24.7776468,3.8290542,12.1256109,10.4267762,42.7245995,10.103539,1.2075953,1.196754,13.2779049,9.429926,55.8007064,16.2918546,35.6729395,67.8002613,36.5894814,46.4302989,23.8542961,3.9797424,11.8003819,10.7109528,43.455743,8.8941474,0.9788325,0.9581286,13.4257132,9.4275331,54.620472,16.476741,36.2362178,68.8189135,37.3391549,47.1737187,24.5174435,4.3428331,11.3515961,9.7787663,43.5267772,9.1980275,0.9555817,0.9354547,13.5892087,9.0080816,53.8468839,16.7694329,36.4156327,68.2860196,37.0861231,47.5009942,24.0786798,4.8134179,11.0400738,9.7947013,44.1328653,9.275936,1.0063663,0.9863681,13.6511593,8.8459528,52.4639051,16.8702366,36.491691,68.655626,37.4663613,47.833249,24.3526568,4.6378591,10.5504631,10.075255,43.3811181,7.4323907 +336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2075953,1.196754,13.2779049,9.429926,55.8007064,16.2918546,35.6729395,67.8002613,36.5894814,46.4302989,23.8542961,3.9797424,11.8003819,10.7109528,43.455743,8.8941474,0.9788325,0.9581286,13.4257132,9.4275331,54.620472,16.476741,36.2362178,68.8189135,37.3391549,47.1737187,24.5174435,4.3428331,11.3515961,9.7787663,43.5267772,9.1980275,0.9555817,0.9354547,13.5892087,9.0080816,53.8468839,16.7694329,36.4156327,68.2860196,37.0861231,47.5009942,24.0786798,4.8134179,11.0400738,9.7947013,44.1328653,9.275936,1.0063663,0.9863681,13.6511593,8.8459528,52.4639051,16.8702366,36.491691,68.655626,37.4663613,47.833249,24.3526568,4.6378591,10.5504631,10.075255,43.3811181,7.4323907,0.9295988,0.9094736,13.9650717,9.1997392,53.3107181,16.6867323,35.7484452,68.259774,37.0845332,47.2387631,24.1690374,4.6622588,11.50628,10.7052933,44.2145288,5.4112145 +337,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7807504,0.7885618,13.0871708,8.0457115,51.1051856,16.8522064,34.968039,67.85105,38.2582872,50.983407,21.7969617,2.9690841,11.602014,9.7495474,32.6648882,8.0142356,0.809839,0.8010976,13.1090593,7.8990198,50.1338495,17.3942006,35.0286833,68.5751339,38.4619583,52.0334824,21.885879,3.2177081,11.4423829,9.8542567,33.3407591,7.4386423,0.7750616,0.7661308,13.5565705,8.100271,47.557835,17.3555097,35.6262974,69.6317855,39.3797992,52.6609271,22.5785305,3.0555731,11.8907189,10.0035736,31.7884222,8.9743169,0.7014353,0.6924591,14.0303437,8.4779691,46.1735883,16.6783899,36.5966418,69.3913065,39.0376255,53.112365,22.5508626,3.2518256,11.8604359,10.4188698,32.4703255,8.4183249,0.8193421,0.8102803,14.0758022,8.5328931,46.1651481,16.3298862,37.3479052,68.5446738,38.8024698,52.5982423,22.6801301,3.5527538,11.381993,9.9506935,32.6799375,8.793924 +338,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3586061,0.3372203,8.8717228,5.079588,78.8748833,18.2382705,33.7290503,65.6191806,27.9096834,41.2243948,13.896648,4.1201117,9.9312124,8.6712683,34.3587522,1.7766497,0.391313,0.3702869,9.0763603,5.0068587,77.6177412,17.9134745,33.4017328,66.005472,28.0209758,41.3360693,14.3410853,3.9443684,10.1345669,8.9029536,34.8471986,2.8795812,0.5231897,0.5019312,8.9576547,4.8161936,77.3317865,17.6618049,33.4025854,65.7663897,27.7700831,41.3434903,14.4275162,3.6703601,9.4617325,7.8836425,35.4414261,2.972973,0.5984827,0.5780076,8.7449933,4.6951491,75.7798574,18.514461,32.0274458,65.6706507,28.75166,42.1646746,15.2501107,3.6520584,8.9837398,7.6202119,33.7837838,2.7363184,0.532851,0.5259923,8.0205541,4.1778374,74.5660881,19.2778993,32.4867491,65.3047703,29.7482332,43.0432862,15.4814488,3.8206714,8.7366694,7.6069079,33.5950413,3.6231884 +339,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3527086,0.3839481,9.39619,6.3967114,79.0815001,10.7293666,31.5097797,64.9941718,27.3274537,38.9809666,13.0454437,12.5922545,10.406276,9.5994915,36.6432295,3.7486808,0.3603867,0.3983866,9.1812863,6.2183234,77.9063705,10.6522862,31.3179026,65.1771853,27.4249797,39.3235921,13.2113258,12.5387961,10.431646,9.5718135,37.2374972,3.8049311,0.3852777,0.4228527,8.9081546,5.9409102,76.6770091,10.8341751,31.1191953,65.5372648,27.9415475,39.9757568,13.635784,12.627614,10.1100171,9.1969499,36.905053,3.4871252,0.3922986,0.4182509,8.750161,5.8055799,75.5166626,11.0866001,30.9639184,65.0835129,28.2991183,40.4628387,13.9423738,12.7948462,10.2841156,9.1585386,36.9820992,3.8788531,0.4179278,0.4434897,8.865472,5.7357387,74.4140138,10.9710664,30.4508913,65.2034675,28.9186119,40.5237422,14.0856612,12.9804051,10.2082329,8.908398,37.2764545,4.2319758 +340,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.391313,0.3702869,9.0763603,5.0068587,77.6177412,17.9134745,33.4017328,66.005472,28.0209758,41.3360693,14.3410853,3.9443684,10.1345669,8.9029536,34.8471986,2.8795812,0.5231897,0.5019312,8.9576547,4.8161936,77.3317865,17.6618049,33.4025854,65.7663897,27.7700831,41.3434903,14.4275162,3.6703601,9.4617325,7.8836425,35.4414261,2.972973,0.5984827,0.5780076,8.7449933,4.6951491,75.7798574,18.514461,32.0274458,65.6706507,28.75166,42.1646746,15.2501107,3.6520584,8.9837398,7.6202119,33.7837838,2.7363184,0.532851,0.5259923,8.0205541,4.1778374,74.5660881,19.2778993,32.4867491,65.3047703,29.7482332,43.0432862,15.4814488,3.8206714,8.7366694,7.6069079,33.5950413,3.6231884,0.6900978,0.6833447,8.013245,3.9072848,74.2027086,20.1159296,32.3733218,64.8549155,30.3811174,43.763534,15.5695106,4.0909091,8.7810746,7.423756,33.9386602,3.0516432 +341,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5231897,0.5019312,8.9576547,4.8161936,77.3317865,17.6618049,33.4025854,65.7663897,27.7700831,41.3434903,14.4275162,3.6703601,9.4617325,7.8836425,35.4414261,2.972973,0.5984827,0.5780076,8.7449933,4.6951491,75.7798574,18.514461,32.0274458,65.6706507,28.75166,42.1646746,15.2501107,3.6520584,8.9837398,7.6202119,33.7837838,2.7363184,0.532851,0.5259923,8.0205541,4.1778374,74.5660881,19.2778993,32.4867491,65.3047703,29.7482332,43.0432862,15.4814488,3.8206714,8.7366694,7.6069079,33.5950413,3.6231884,0.6900978,0.6833447,8.013245,3.9072848,74.2027086,20.1159296,32.3733218,64.8549155,30.3811174,43.763534,15.5695106,4.0909091,8.7810746,7.423756,33.9386602,3.0516432,0.7585423,0.7518408,8.3296703,4.1098901,73.7288136,20.4662104,32.1027634,64.8316062,30.246114,43.7176166,15.4792746,4.2080276,9.0361446,8.159164,34.9636217,3.8812785 +342,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.390347,0.4655619,7.9166689,4.900795,79.5346045,19.1842285,31.27222,60.9442934,25.701306,37.1592226,12.4654277,5.7092072,10.134632,8.9446053,35.2213058,2.4886878,0.3767887,0.4516817,8.1331255,4.8247355,78.6054856,18.7037724,31.4573443,60.6042655,25.8886268,37.1445492,12.4210096,5.6279632,9.794573,8.847278,35.5726877,2.4553571,0.3957663,0.4697623,7.993024,4.686907,78.9156583,18.9606602,30.8124002,61.3334777,26.5358513,37.3443021,12.8499578,5.9292562,10.2794263,9.2115132,35.2625892,2.8138528,0.3699222,0.444629,7.8803541,4.5561352,78.1424159,19.6261175,30.1285039,62.2268775,27.1256668,38.123849,14.3331108,5.6747449,10.6681632,9.2313664,34.0665146,3.8116592,0.2629524,0.3324695,7.6407714,4.3087078,77.3287005,19.590306,29.8706714,61.9254554,27.7441019,39.5554722,14.9069896,5.3361353,10.3364272,9.2852581,32.8060824,3.6170213 +343,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7044896,0.6435346,10.1276973,6.6759035,81.9355211,11.5704302,29.564975,61.3988128,31.2857522,40.0358119,14.4654987,2.9983277,12.1215313,11.7914158,38.2643001,5.2403349,0.6821557,0.6213802,9.634809,6.0015652,79.9307475,12.055867,28.6366675,61.5808492,32.3256078,40.3800509,14.859608,2.8538358,12.0368927,11.5762507,36.7099142,4.3307155,0.6909752,0.629414,9.9633378,6.1579653,78.7158057,11.6148646,28.3334505,61.5440805,31.0530213,39.976829,14.6276262,2.8942013,11.2533186,11.361157,37.2992335,4.400007,0.6405432,0.5790955,9.3255709,5.5126935,78.5621443,11.3347378,26.4140379,61.4574616,30.6365886,38.9968093,14.1624647,3.1456846,11.7033697,10.8631088,37.4478286,4.8872254,0.3815371,0.3815371,8.5981605,5.3536691,76.9074506,12.3807515,25.4438133,60.7995383,32.40395,39.9938717,15.3375952,3.1558279,12.3396962,12.4493787,37.4727351,4.2307757 +344,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1012589,1.0956412,14.0127438,8.9966921,52.8027427,17.6621952,35.9801927,68.9565688,38.5420344,47.4847432,23.124944,2.6315515,11.8722749,10.5463266,35.9467268,6.7374979,1.1183242,1.1128705,13.4303413,8.2734668,52.4192747,17.7834142,35.1086972,69.3789459,38.3726968,48.0277995,22.6877836,2.6519059,11.3749628,10.2508406,36.176179,7.553821,1.1671099,1.136303,13.5831745,8.2846447,52.5770065,18.2864151,34.8408321,69.4319342,37.5227835,48.1134288,23.2496845,2.8864826,10.5945756,9.6459323,36.3362974,6.6900231,1.0999378,1.0901828,14.0766855,8.5769856,52.6753378,18.2559581,35.375936,69.7123359,37.278849,48.1635124,23.2075788,2.898344,10.221642,9.2973184,37.4165737,8.0984547,1.0694078,1.0564695,13.9273193,8.449126,52.9064259,18.0452936,35.1692398,69.8458359,36.4980537,48.5853312,23.2530848,3.1077053,10.6854103,9.4406137,36.929369,7.9858782 +345,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1183242,1.1128705,13.4303413,8.2734668,52.4192747,17.7834142,35.1086972,69.3789459,38.3726968,48.0277995,22.6877836,2.6519059,11.3749628,10.2508406,36.176179,7.553821,1.1671099,1.136303,13.5831745,8.2846447,52.5770065,18.2864151,34.8408321,69.4319342,37.5227835,48.1134288,23.2496845,2.8864826,10.5945756,9.6459323,36.3362974,6.6900231,1.0999378,1.0901828,14.0766855,8.5769856,52.6753378,18.2559581,35.375936,69.7123359,37.278849,48.1635124,23.2075788,2.898344,10.221642,9.2973184,37.4165737,8.0984547,1.0694078,1.0564695,13.9273193,8.449126,52.9064259,18.0452936,35.1692398,69.8458359,36.4980537,48.5853312,23.2530848,3.1077053,10.6854103,9.4406137,36.929369,7.9858782,1.0861612,1.0861612,13.6571473,8.1858652,51.6090624,18.7980101,34.7046306,69.9915931,37.2898276,47.9749877,23.5887803,3.0375799,10.4113463,9.3722165,36.5029929,9.1835298 +346,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9781703,0.9881645,13.3937329,9.386501,20.5817969,21.4649282,36.6128804,65.3583526,38.7160231,50.7507309,24.31653,4.2212764,9.8793024,9.2628892,31.1767702,14.1142464,0.9535544,0.9631056,13.512299,9.3114873,21.2493314,21.3862074,36.8189555,65.5223373,37.5619156,50.4934165,23.8415711,4.0461188,9.663787,9.0883489,31.4805666,13.3104825,0.9656066,0.9745694,13.5278406,9.5434825,21.5493017,21.5087289,37.0953879,65.4774213,37.0987234,49.6328842,23.4423235,4.0971554,9.6090601,9.1382093,30.8840668,14.6270344,1.0123653,1.0216472,13.7522348,9.8174025,21.9658227,21.6946956,36.895343,65.8880792,38.0141276,49.7214451,23.2370496,4.3617447,9.6393759,8.9662226,31.5836334,14.4378296,0.9501579,0.9597641,14.1564071,10.2057908,21.9845094,21.6066783,36.6108946,65.8101667,38.1342462,49.5483417,22.9365813,4.210229,9.5090684,8.4979915,31.3214879,11.9231044 +347,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6098949,0.6227698,11.7232311,8.5203844,74.6227659,9.2190356,31.4240159,67.3510723,29.113303,44.2998338,14.8733388,2.7074045,10.1999988,9.7492543,30.4645443,8.5593293,0.5385296,0.5449194,11.0756063,7.9072612,73.5013427,9.2071119,31.2802633,66.8256746,29.3446665,44.0826766,14.8002305,2.6061075,10.2601894,9.8336315,31.013515,8.3910151,0.5027331,0.5092351,11.1719098,7.9858717,72.7344251,9.559946,31.2376938,66.9318513,29.3227161,44.3044195,14.6789714,2.654177,10.3650204,9.9645444,31.3410362,8.7073749,0.5336967,0.5355739,10.8189638,7.6637236,71.2252613,9.3881884,30.5266982,67.409249,30.0854039,44.9893243,14.9110349,2.5978611,10.6661161,10.0137653,31.5416773,7.5815812,0.5746148,0.586236,10.9884811,7.7120656,69.9429846,9.7000443,29.9564826,67.2212838,30.293457,45.8508844,15.185342,2.6748058,10.9240369,10.072808,32.2506315,7.0599668 +348,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5745689,0.5683945,8.0636105,4.9676344,84.323202,15.5726662,27.7671772,63.3724052,28.6395876,36.5185408,15.3353299,6.909242,10.4834452,8.311343,36.9161423,4.1577825,0.5760483,0.5699239,8.3610672,5.1719371,82.424655,15.7831349,26.8229906,63.8519915,29.642181,38.6419101,15.9257222,7.1951243,9.9266611,8.3245772,36.7546238,4.3237251,0.4531713,0.4471588,8.1746463,5.0190414,81.0712319,15.9037128,26.5058647,63.7126873,28.9578938,38.0730276,15.791578,7.1276337,9.4866621,8.2996952,36.5043172,4.1387034,0.4237388,0.4177864,8.0026965,4.9797534,79.7736329,16.0942031,26.9332317,63.8031203,29.0182153,38.4402217,15.8749038,6.9261211,9.3356006,7.7577851,36.0812243,4.2528745,0.3810828,0.3810828,7.8314816,4.7411478,77.8684282,16.7639624,27.2762378,64.5190374,29.5910508,39.0303464,16.3194469,6.8526609,9.1615673,7.6687142,36.478146,5.2325594 +349,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1671099,1.136303,13.5831745,8.2846447,52.5770065,18.2864151,34.8408321,69.4319342,37.5227835,48.1134288,23.2496845,2.8864826,10.5945756,9.6459323,36.3362974,6.6900231,1.0999378,1.0901828,14.0766855,8.5769856,52.6753378,18.2559581,35.375936,69.7123359,37.278849,48.1635124,23.2075788,2.898344,10.221642,9.2973184,37.4165737,8.0984547,1.0694078,1.0564695,13.9273193,8.449126,52.9064259,18.0452936,35.1692398,69.8458359,36.4980537,48.5853312,23.2530848,3.1077053,10.6854103,9.4406137,36.929369,7.9858782,1.0861612,1.0861612,13.6571473,8.1858652,51.6090624,18.7980101,34.7046306,69.9915931,37.2898276,47.9749877,23.5887803,3.0375799,10.4113463,9.3722165,36.5029929,9.1835298,0.9897812,0.9504023,13.7891511,8.2479099,50.5942783,18.9833864,34.3722154,70.728068,37.1184628,48.93178,24.5639036,3.1605071,10.4669946,9.4221766,36.206763,11.5128474 +350,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9290133,0.837464,21.2709036,17.3976027,32.3882723,22.4674009,34.945688,68.6589668,36.7504819,49.500309,22.128554,3.5718792,11.0584194,10.1609905,29.4873599,16.6667344,0.9630531,0.9332506,21.3591108,17.5326786,33.186441,22.1246907,34.7933944,68.0615954,36.7306095,49.3568309,22.4316372,3.1394326,10.2709277,9.1317778,28.4138032,20.2380792,0.9379034,0.9081064,22.1949457,18.3787409,34.4806495,21.828749,35.0494135,66.8204561,35.1098958,48.7957798,21.1104036,3.1449842,10.115007,9.06922,30.5483547,15.8185362,1.1134339,1.083591,22.896594,19.3312828,34.9369988,21.0423151,35.2874057,67.563669,34.6321326,48.4255381,21.8903908,3.0895828,10.8641173,9.4464152,29.79506,15.0073293,1.0661065,1.036228,23.5331448,19.6429208,34.9635156,20.6845665,35.3834644,67.5459843,34.3326224,47.9936793,22.0558377,3.169041,11.7291198,9.8116917,30.0305804,11.303998 +351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9788325,0.9581286,13.4257132,9.4275331,54.620472,16.476741,36.2362178,68.8189135,37.3391549,47.1737187,24.5174435,4.3428331,11.3515961,9.7787663,43.5267772,9.1980275,0.9555817,0.9354547,13.5892087,9.0080816,53.8468839,16.7694329,36.4156327,68.2860196,37.0861231,47.5009942,24.0786798,4.8134179,11.0400738,9.7947013,44.1328653,9.275936,1.0063663,0.9863681,13.6511593,8.8459528,52.4639051,16.8702366,36.491691,68.655626,37.4663613,47.833249,24.3526568,4.6378591,10.5504631,10.075255,43.3811181,7.4323907,0.9295988,0.9094736,13.9650717,9.1997392,53.3107181,16.6867323,35.7484452,68.259774,37.0845332,47.2387631,24.1690374,4.6622588,11.50628,10.7052933,44.2145288,5.4112145,0.8864203,0.8658903,13.876627,9.0343791,51.6709648,16.574551,35.8113564,68.3469771,37.2736323,48.2407016,24.3416114,4.6466056,11.4370758,11.3810751,43.4875824,5.2995367 +352,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4132773,0.4378913,10.700474,7.3814878,84.2239545,11.5159749,29.259532,64.6898024,27.0533129,40.0283235,11.4569869,4.7291438,12.3262082,11.4315276,30.6001023,5.124685,0.4060473,0.4435506,10.3869667,7.1115,84.0293952,11.4892916,28.4776462,64.5114256,26.3632074,39.8508003,11.2730666,4.551555,11.6022351,10.8181381,30.989126,5.4622522,0.3922502,0.4192731,10.4089497,7.067534,83.2360645,11.8749819,28.6363812,64.8004355,26.5077617,39.7670827,11.186254,4.6230906,11.6454692,10.9951134,30.7643586,6.0224832,0.3778719,0.3927989,9.9781766,7.0865865,82.2958656,11.7665806,28.4785341,65.7662595,26.9349208,40.6283367,11.5875996,4.66374,11.6016093,11.2916945,30.5233144,5.8209911,0.4755567,0.4956389,10.1495944,7.0046415,81.2598183,12.1990874,28.4118803,65.8372685,27.9915677,41.3071269,12.0879727,4.8551295,10.9851466,10.4295928,30.6048673,6.9733848 +353,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2184068,1.1734354,20.5802958,17.4345661,34.6414407,19.0500258,30.6325508,65.2719215,34.5052494,46.6073277,20.5202874,2.7701014,13.2498084,13.4532409,38.7792618,16.5341859,1.4089219,1.3407849,21.3703185,17.9842002,35.2693752,18.6119081,30.8999439,64.4087258,34.4185638,45.7627939,20.5004129,2.9150083,13.0716011,12.8599051,37.2089389,16.0674373,1.4846458,1.4305312,22.3372219,18.9162172,34.962164,17.764618,31.1241335,63.7428471,34.7716519,45.6639323,20.5771031,2.7612295,12.3917237,12.2083839,38.0068574,17.3432159,1.5365973,1.5290073,23.5074761,19.8123567,35.1253503,17.1085116,30.9030823,64.3138907,33.9319022,45.1043853,19.8703622,2.6567158,12.7728933,11.7476082,38.1411583,16.5584308,1.5094964,1.5245063,23.9734586,20.0935902,35.348706,17.3607666,31.7047601,64.8057214,34.4472481,45.4671976,20.7740061,3.0121999,12.8616341,10.9526851,37.8865491,17.0807241 +354,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1265934,1.1562666,20.2207658,16.7831175,37.2588765,17.7513607,38.770099,64.0371337,38.1280733,50.1896318,24.3463433,3.2228605,12.5325911,10.8405483,32.3381835,11.2309237,1.2015528,1.2459816,19.871036,16.491607,37.7380709,18.1916519,39.4711064,63.5896792,38.3841993,50.0629298,24.8573031,3.2229078,13.0368725,11.3280452,32.0063384,12.7575825,1.224269,1.268909,20.5374421,17.1409335,38.2371267,16.85321,38.9066938,63.1495483,37.2366615,49.0399764,23.5740999,3.0470765,12.5652764,11.2456274,31.7539628,15.9851114,1.2413468,1.2860097,21.6972138,18.4851298,38.8496061,17.0315793,39.4077877,63.6680857,36.9085145,48.8813897,23.0798481,3.425392,12.3427749,11.2617366,32.8405369,17.7417409,1.2481704,1.2915707,22.3184015,19.1255651,40.7305554,16.6246498,39.136103,64.5383225,36.5184266,48.9115631,22.9445048,3.4561696,13.3418881,11.4125456,32.8540843,18.5060849 +355,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4060473,0.4435506,10.3869667,7.1115,84.0293952,11.4892916,28.4776462,64.5114256,26.3632074,39.8508003,11.2730666,4.551555,11.6022351,10.8181381,30.989126,5.4622522,0.3922502,0.4192731,10.4089497,7.067534,83.2360645,11.8749819,28.6363812,64.8004355,26.5077617,39.7670827,11.186254,4.6230906,11.6454692,10.9951134,30.7643586,6.0224832,0.3778719,0.3927989,9.9781766,7.0865865,82.2958656,11.7665806,28.4785341,65.7662595,26.9349208,40.6283367,11.5875996,4.66374,11.6016093,11.2916945,30.5233144,5.8209911,0.4755567,0.4956389,10.1495944,7.0046415,81.2598183,12.1990874,28.4118803,65.8372685,27.9915677,41.3071269,12.0879727,4.8551295,10.9851466,10.4295928,30.6048673,6.9733848,0.4848575,0.5254867,10.50848,7.3745563,80.0871401,12.2267949,28.9357371,66.6262263,28.5603538,42.7576687,12.5744319,4.8907112,11.4791855,10.5801429,31.082591,7.6577588 +356,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4557991,0.4907363,12.0084588,8.4655617,85.4526115,8.6232143,29.9245168,63.0707596,23.1432392,38.6235087,10.9021774,4.0513733,13.5471639,11.251286,33.6327527,8.2386691,0.4571545,0.480992,11.6235754,8.3025653,84.8084305,8.772988,29.9643603,63.5061115,23.6740391,39.0287264,10.8541726,3.6066713,13.8574584,11.3271852,34.6503963,8.4699731,0.4311465,0.4468816,11.1129169,7.9235777,84.8917046,8.739964,29.4352333,64.5589663,24.0402114,39.4838273,11.1123899,3.4440163,13.1778423,11.5329744,33.9790772,7.8378209,0.4241914,0.4396727,10.8006065,7.6633824,84.2922864,8.856035,29.0377826,65.0116852,24.8824453,40.6445025,11.5186565,3.3409331,12.5683994,11.6015361,33.9687663,7.7539941,0.372254,0.3876363,10.6267746,7.4926174,83.855992,8.7816337,29.3059749,64.5312083,25.7607772,41.238781,11.5467378,3.4292665,11.8907269,11.5466757,33.6133558,6.5444958 +357,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5101647,0.4638861,8.9549717,5.710382,69.3601795,14.5338837,30.9382846,66.2659316,32.6668736,44.3354531,18.6533136,3.7854217,9.3867166,8.991478,32.3959176,5.1218562,0.5591688,0.5158366,8.9254615,5.9828341,68.3269515,14.9011662,31.2699028,66.9968648,33.1832464,45.1758004,18.829657,3.645319,9.2136878,8.6626695,32.5620573,4.9459178,0.5795491,0.5448833,9.1379046,6.055777,67.2843102,15.1865259,31.4818205,67.0687682,33.3473378,44.1279549,19.0550692,3.763224,9.7469224,8.6953236,33.3904388,5.1714832,0.5699896,0.5349388,9.1946156,6.1220467,65.7811504,15.1150343,31.6433821,66.9286556,33.1457048,43.7543055,18.7388916,3.6423621,10.3809505,9.1092812,33.4600564,5.6816815,0.5445012,0.5275151,9.2279409,5.980973,64.418623,15.2769369,31.698315,67.1745967,33.3543515,43.2447462,18.8121714,3.6284984,10.7074893,9.3776422,33.5676969,5.587237 +358,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6209048,1.5893269,15.2587312,10.4964145,42.4915666,18.9411746,34.1860939,68.8439961,38.4992298,48.7141351,28.9141287,2.9173875,11.5247494,9.5663245,39.4459169,12.3124809,1.4783444,1.4467763,15.4894371,11.1600663,42.8423146,19.415925,34.0604276,69.3588172,37.4409708,48.7401395,28.5390296,2.7609052,11.5066083,9.8893227,38.7985066,14.9290193,1.4359036,1.3723168,15.4956837,11.3519031,44.2326486,19.0791534,34.2819778,69.7211463,36.6845704,48.3369787,27.0284296,2.574937,11.5570849,10.6342961,40.3945842,16.9183693,1.1893704,1.1577795,15.6352914,11.3034794,44.4967213,18.2074581,33.2129914,69.952854,36.8814161,47.1577608,26.1540411,2.4435047,11.2617436,10.8030833,40.4917994,15.7416129,1.035557,1.0042663,16.6503159,12.4079953,44.2483177,18.8729005,31.8513717,70.0257198,36.3539445,47.897002,26.0206943,2.1626758,12.2480896,11.1181642,40.6956167,17.8131869 +359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.3922502,0.4192731,10.4089497,7.067534,83.2360645,11.8749819,28.6363812,64.8004355,26.5077617,39.7670827,11.186254,4.6230906,11.6454692,10.9951134,30.7643586,6.0224832,0.3778719,0.3927989,9.9781766,7.0865865,82.2958656,11.7665806,28.4785341,65.7662595,26.9349208,40.6283367,11.5875996,4.66374,11.6016093,11.2916945,30.5233144,5.8209911,0.4755567,0.4956389,10.1495944,7.0046415,81.2598183,12.1990874,28.4118803,65.8372685,27.9915677,41.3071269,12.0879727,4.8551295,10.9851466,10.4295928,30.6048673,6.9733848,0.4848575,0.5254867,10.50848,7.3745563,80.0871401,12.2267949,28.9357371,66.6262263,28.5603538,42.7576687,12.5744319,4.8907112,11.4791855,10.5801429,31.082591,7.6577588,0.4843483,0.5553059,10.4067212,7.3401491,78.9818137,12.3779016,29.4652062,67.0063951,28.9611768,43.4252737,12.6122123,5.0295971,11.7319884,11.2190305,31.3378193,8.3587744 +360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2002737,1.2002737,17.1705212,13.2735322,47.637804,16.8139944,33.4289448,64.7454957,35.4503891,39.4359872,19.7886831,6.0915858,10.3330028,8.4797799,38.0538137,15.9610817,0.9720542,1.0429746,17.1059539,13.3223291,49.3977421,16.5452849,33.3202678,64.2246504,35.2203641,38.0007482,19.4493417,5.8091105,10.3379602,8.8949008,36.6079554,15.9263975,1.0767432,1.1772025,17.3175367,13.5993832,49.9724962,17.1892918,33.5204428,63.5947037,33.9299739,37.9886555,19.3976368,5.9298778,10.8552701,9.3378593,37.9413658,15.4828111,1.1956358,1.2762045,17.7133032,13.9071222,52.105311,16.5770782,33.4458986,62.7073689,33.5550213,37.6360846,19.4729881,5.5015447,10.6397927,10.0970829,38.003641,17.6229192,1.3422049,1.3697418,18.1973847,13.9896873,54.9619611,16.2271972,34.4629822,62.13052,32.9034748,38.4003441,19.7221443,4.983043,11.3196743,10.8160276,39.3024707,17.2216352 +361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6822961,0.7633643,12.1235276,7.3762085,48.7631674,14.5227173,38.0866482,65.8844845,39.9948241,48.4528095,25.6059623,3.4295851,15.7670624,14.8482329,40.619067,6.0000048,0.7536953,0.8249881,12.047881,7.2083506,46.9863787,14.2893436,36.9084422,67.6697658,40.6635529,49.0997936,25.9516133,3.4722093,15.0704348,14.2521476,39.707288,7.6612965,0.8030882,0.87479,11.6581506,7.423459,44.7702133,15.3233975,36.8652904,68.31607,41.4766506,50.5958527,25.9326055,3.6528363,14.5673173,13.3429961,38.964182,9.3495935,0.8313449,0.8313449,11.4234069,7.0912738,44.0139079,15.8072815,36.6578916,68.9736804,42.55259,51.4473483,26.5525957,3.4999812,13.4803961,12.7335534,38.9437233,9.9206349,0.6598591,0.7083612,11.5299425,7.1770595,43.5851185,16.7469182,36.2477595,69.3747015,42.8309814,51.9422378,26.2938513,4.0289333,14.0962769,13.4748464,39.8715197,9.689915 +362,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.777728,0.7843316,12.463494,7.9578678,75.3190958,12.1697122,32.9850281,65.5161596,29.8606735,41.6614003,16.2233513,2.6493539,10.3526178,8.4902801,34.4853555,8.8709792,0.7636198,0.7313251,11.9172629,7.2973589,73.6395672,12.4113503,32.8477375,66.1739774,30.5508252,42.6946079,16.4291793,2.7541472,10.4833306,9.1229924,34.1296485,8.2848958,0.7846693,0.7523432,11.1146128,6.958445,72.0144461,12.6173186,32.2494877,67.4520349,31.3965865,43.1450056,16.7057626,2.9317695,10.5042034,9.5001901,35.1960592,8.0736613,0.7445008,0.7017951,10.5146578,6.4859736,70.0762622,12.8240565,31.5795352,67.8632751,32.5225004,43.6669648,17.5632303,2.9682827,10.0364894,8.7601692,34.9979639,8.1944444,0.7292225,0.6840359,10.5080121,6.5451135,68.4675961,12.9042565,31.2473336,68.0013039,33.6088383,43.9351673,18.0227552,3.1451277,10.381948,8.9445834,34.3622134,7.3065903 +363,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6735279,0.6903698,14.4163082,9.6343189,68.8651409,15.8687017,39.5684361,68.3481062,35.3672298,47.284927,21.3060972,2.8722522,11.4766071,9.5853649,34.1731865,10.7594846,0.6669325,0.6755995,14.1122258,9.282527,67.657171,15.6821458,39.053661,67.9802345,35.7203277,48.206209,21.5113136,2.6694972,10.9658419,9.4284178,34.557637,10.6522081,0.7082089,0.7342777,13.6781965,8.9375437,66.8249645,16.1303993,38.7485742,67.8348601,36.2230433,48.8791117,21.4670966,2.9937603,10.1222184,8.6390248,33.733335,9.7510707,0.6945068,0.7031964,13.4422194,8.8358543,65.9901737,16.5679658,38.5390088,67.9574647,36.3262401,48.5532043,21.2907966,3.0212822,10.6762616,9.4083159,34.0556426,10.2510793,0.7298049,0.7362883,13.1404104,8.7648919,65.0256443,17.0919853,38.4431337,67.525348,37.0917825,49.1976592,21.5512554,3.1390818,10.4221664,9.2612122,33.9077267,10.5603697 +364,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9555817,0.9354547,13.5892087,9.0080816,53.8468839,16.7694329,36.4156327,68.2860196,37.0861231,47.5009942,24.0786798,4.8134179,11.0400738,9.7947013,44.1328653,9.275936,1.0063663,0.9863681,13.6511593,8.8459528,52.4639051,16.8702366,36.491691,68.655626,37.4663613,47.833249,24.3526568,4.6378591,10.5504631,10.075255,43.3811181,7.4323907,0.9295988,0.9094736,13.9650717,9.1997392,53.3107181,16.6867323,35.7484452,68.259774,37.0845332,47.2387631,24.1690374,4.6622588,11.50628,10.7052933,44.2145288,5.4112145,0.8864203,0.8658903,13.876627,9.0343791,51.6709648,16.574551,35.8113564,68.3469771,37.2736323,48.2407016,24.3416114,4.6466056,11.4370758,11.3810751,43.4875824,5.2995367,0.9796561,0.9483336,14.234346,9.0249866,51.0544001,16.131077,35.7034505,69.0465617,37.8921613,48.1838288,24.7132445,4.3627756,11.8079626,11.5684529,43.6846755,5.5555529 +365,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4783444,1.4467763,15.4894371,11.1600663,42.8423146,19.415925,34.0604276,69.3588172,37.4409708,48.7401395,28.5390296,2.7609052,11.5066083,9.8893227,38.7985066,14.9290193,1.4359036,1.3723168,15.4956837,11.3519031,44.2326486,19.0791534,34.2819778,69.7211463,36.6845704,48.3369787,27.0284296,2.574937,11.5570849,10.6342961,40.3945842,16.9183693,1.1893704,1.1577795,15.6352914,11.3034794,44.4967213,18.2074581,33.2129914,69.952854,36.8814161,47.1577608,26.1540411,2.4435047,11.2617436,10.8030833,40.4917994,15.7416129,1.035557,1.0042663,16.6503159,12.4079953,44.2483177,18.8729005,31.8513717,70.0257198,36.3539445,47.897002,26.0206943,2.1626758,12.2480896,11.1181642,40.6956167,17.8131869,1.0055369,0.9738777,17.911902,13.0464922,44.361574,19.0572462,32.3805962,69.8782006,35.5955375,47.3687133,25.1202085,2.1929415,12.9982704,11.8537548,40.4815729,18.5204696 +366,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5385296,0.5449194,11.0756063,7.9072612,73.5013427,9.2071119,31.2802633,66.8256746,29.3446665,44.0826766,14.8002305,2.6061075,10.2601894,9.8336315,31.013515,8.3910151,0.5027331,0.5092351,11.1719098,7.9858717,72.7344251,9.559946,31.2376938,66.9318513,29.3227161,44.3044195,14.6789714,2.654177,10.3650204,9.9645444,31.3410362,8.7073749,0.5336967,0.5355739,10.8189638,7.6637236,71.2252613,9.3881884,30.5266982,67.409249,30.0854039,44.9893243,14.9110349,2.5978611,10.6661161,10.0137653,31.5416773,7.5815812,0.5746148,0.586236,10.9884811,7.7120656,69.9429846,9.7000443,29.9564826,67.2212838,30.293457,45.8508844,15.185342,2.6748058,10.9240369,10.072808,32.2506315,7.0599668,0.6386099,0.6437245,10.6791458,7.4220415,68.527741,9.7326188,30.0448222,67.4905491,30.6049627,46.1210004,15.9011423,2.8497389,11.4672821,10.155614,32.4284352,7.5257825 +367,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5591688,0.5158366,8.9254615,5.9828341,68.3269515,14.9011662,31.2699028,66.9968648,33.1832464,45.1758004,18.829657,3.645319,9.2136878,8.6626695,32.5620573,4.9459178,0.5795491,0.5448833,9.1379046,6.055777,67.2843102,15.1865259,31.4818205,67.0687682,33.3473378,44.1279549,19.0550692,3.763224,9.7469224,8.6953236,33.3904388,5.1714832,0.5699896,0.5349388,9.1946156,6.1220467,65.7811504,15.1150343,31.6433821,66.9286556,33.1457048,43.7543055,18.7388916,3.6423621,10.3809505,9.1092812,33.4600564,5.6816815,0.5445012,0.5275151,9.2279409,5.980973,64.418623,15.2769369,31.698315,67.1745967,33.3543515,43.2447462,18.8121714,3.6284984,10.7074893,9.3776422,33.5676969,5.587237,0.4263925,0.4546797,8.5795417,5.525153,62.9882117,15.5054739,32.7629825,66.9320212,32.9367826,43.4384015,18.8303631,3.8503909,10.1189265,9.0766846,33.5133823,5.5159684 +368,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.3778719,0.3927989,9.9781766,7.0865865,82.2958656,11.7665806,28.4785341,65.7662595,26.9349208,40.6283367,11.5875996,4.66374,11.6016093,11.2916945,30.5233144,5.8209911,0.4755567,0.4956389,10.1495944,7.0046415,81.2598183,12.1990874,28.4118803,65.8372685,27.9915677,41.3071269,12.0879727,4.8551295,10.9851466,10.4295928,30.6048673,6.9733848,0.4848575,0.5254867,10.50848,7.3745563,80.0871401,12.2267949,28.9357371,66.6262263,28.5603538,42.7576687,12.5744319,4.8907112,11.4791855,10.5801429,31.082591,7.6577588,0.4843483,0.5553059,10.4067212,7.3401491,78.9818137,12.3779016,29.4652062,67.0063951,28.9611768,43.4252737,12.6122123,5.0295971,11.7319884,11.2190305,31.3378193,8.3587744,0.4958897,0.5608779,10.2122756,7.3749169,77.9606816,12.4513415,29.5047693,66.5249068,28.5231161,43.3136566,12.6635244,4.6356946,11.9245382,11.0349788,31.0910319,7.2756161 +369,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5027331,0.5092351,11.1719098,7.9858717,72.7344251,9.559946,31.2376938,66.9318513,29.3227161,44.3044195,14.6789714,2.654177,10.3650204,9.9645444,31.3410362,8.7073749,0.5336967,0.5355739,10.8189638,7.6637236,71.2252613,9.3881884,30.5266982,67.409249,30.0854039,44.9893243,14.9110349,2.5978611,10.6661161,10.0137653,31.5416773,7.5815812,0.5746148,0.586236,10.9884811,7.7120656,69.9429846,9.7000443,29.9564826,67.2212838,30.293457,45.8508844,15.185342,2.6748058,10.9240369,10.072808,32.2506315,7.0599668,0.6386099,0.6437245,10.6791458,7.4220415,68.527741,9.7326188,30.0448222,67.4905491,30.6049627,46.1210004,15.9011423,2.8497389,11.4672821,10.155614,32.4284352,7.5257825,0.5598604,0.5520434,10.5194644,7.3122268,67.2736262,10.0109812,30.564813,67.5756339,30.7729731,45.9408923,16.2572955,2.8240333,11.2711485,10.0925853,32.1029005,6.1491985 +370,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8494152,1.995614,25.3488372,20.8527132,52.8044872,7.7453988,34.1860465,64.5736434,28.1395349,42.8682171,16.0465116,5.1937984,16.7711599,11.1285266,36.2341772,11.25,1.9111111,2.0592593,26.0497667,21.3841369,54.2003231,6.8885449,34.6698113,64.5440252,28.5377358,43.4748428,16.745283,4.7955975,16.7692308,11.5384615,36.4906832,10.3305785,2.1310241,2.2816265,26.2779553,21.3258786,54.6875,7.8199052,35.1674641,65.1515152,28.3094099,45.5342903,17.7830941,5.8213716,15.0621118,11.0248447,35.5590062,10.2459016,2.035913,2.1117855,26.1326861,21.763754,54.884106,8.2268371,35.5177994,65.2912621,27.1035599,46.5210356,18.6893204,5.9061489,14.1269841,10.6687898,36.7834395,8.6065574,2.0927318,2.1679198,25.3980892,21.5764331,54.1050903,7.8571429,37.0578778,64.8713826,28.0546624,47.1864952,19.3729904,5.0643087,12.6959248,10.5345912,35.488959,7.9166667 +371,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5336967,0.5355739,10.8189638,7.6637236,71.2252613,9.3881884,30.5266982,67.409249,30.0854039,44.9893243,14.9110349,2.5978611,10.6661161,10.0137653,31.5416773,7.5815812,0.5746148,0.586236,10.9884811,7.7120656,69.9429846,9.7000443,29.9564826,67.2212838,30.293457,45.8508844,15.185342,2.6748058,10.9240369,10.072808,32.2506315,7.0599668,0.6386099,0.6437245,10.6791458,7.4220415,68.527741,9.7326188,30.0448222,67.4905491,30.6049627,46.1210004,15.9011423,2.8497389,11.4672821,10.155614,32.4284352,7.5257825,0.5598604,0.5520434,10.5194644,7.3122268,67.2736262,10.0109812,30.564813,67.5756339,30.7729731,45.9408923,16.2572955,2.8240333,11.2711485,10.0925853,32.1029005,6.1491985,0.5835147,0.5692179,10.4490952,7.2255116,65.8310968,10.2480995,30.5010469,67.6896355,31.155192,47.007656,16.4996626,2.9157929,11.2886273,10.0845911,31.7492196,7.1862594 +372,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7467569,0.7522412,11.3433388,6.4844557,59.4560105,15.561486,33.0151503,69.7946572,37.9142757,45.0468328,21.2716196,3.4041767,9.9795811,8.1570019,32.2902487,9.0686052,0.8883894,0.8883894,11.839361,6.4499271,58.4760893,15.7262126,32.9289923,69.8488049,38.3790558,45.3762282,21.9233484,3.2876211,9.9331205,8.740795,32.3092583,8.0096893,0.8619166,0.8859937,12.0341351,6.6353187,57.733618,15.7517446,32.856661,69.4385638,38.082633,44.7563444,22.3693463,3.0896842,9.4868384,7.8769505,32.3229005,8.291449,0.7647242,0.7884734,11.9113177,6.7205262,56.7811566,16.0214308,32.162847,69.0251538,37.683449,44.881213,22.5541721,2.9874165,10.0135832,8.4578871,32.6161345,9.0243814,0.7353395,0.7587331,11.7057537,6.7108442,56.6212447,16.3825391,32.9260152,69.7246164,38.0206726,45.043043,22.5989827,2.9431959,10.4784395,8.67072,32.1259457,7.9081512 +373,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4884293,0.5127687,8.1212879,4.9168153,85.8231814,6.4290451,27.0085477,62.564713,28.0205013,36.9778241,12.7935482,5.5715127,9.8440927,8.4268179,37.3558564,3.7250301,0.4579721,0.4873632,7.869918,4.7727004,85.578837,6.6713388,26.7214572,62.6768635,28.0352069,37.1853989,13.0505919,5.3297505,10.1193641,8.4262089,37.7650232,3.7969842,0.5014992,0.5285072,7.9437571,4.9063298,85.3360325,6.6514211,26.5993967,62.7605775,28.1187388,37.3540995,13.337348,5.4058429,9.9893123,8.1780151,38.1486097,4.1008277,0.5215758,0.5296212,7.8148215,4.8529573,85.0969583,6.7886089,26.6229971,62.798114,28.3029853,37.7100385,13.3556386,5.4586703,10.4008186,8.3092718,38.5624282,3.8289963,0.530369,0.5391903,7.8840866,4.9146165,85.1050959,6.8366846,26.786944,62.6799636,28.281159,37.8072011,13.5794232,5.3393109,10.2643337,8.380459,38.6409868,3.3433509 +374,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3603867,0.3983866,9.1812863,6.2183234,77.9063705,10.6522862,31.3179026,65.1771853,27.4249797,39.3235921,13.2113258,12.5387961,10.431646,9.5718135,37.2374972,3.8049311,0.3852777,0.4228527,8.9081546,5.9409102,76.6770091,10.8341751,31.1191953,65.5372648,27.9415475,39.9757568,13.635784,12.627614,10.1100171,9.1969499,36.905053,3.4871252,0.3922986,0.4182509,8.750161,5.8055799,75.5166626,11.0866001,30.9639184,65.0835129,28.2991183,40.4628387,13.9423738,12.7948462,10.2841156,9.1585386,36.9820992,3.8788531,0.4179278,0.4434897,8.865472,5.7357387,74.4140138,10.9710664,30.4508913,65.2034675,28.9186119,40.5237422,14.0856612,12.9804051,10.2082329,8.908398,37.2764545,4.2319758,0.4260747,0.4488227,8.612291,5.389707,73.0861247,10.9847551,29.9515413,65.1652599,29.2432921,41.0598957,14.3079067,12.8044216,10.1713052,8.850938,37.3469328,3.96406 +375,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3247154,0.2924553,7.1031584,4.9496215,84.1316932,19.1685116,31.1478959,65.5478176,26.3478571,39.8435065,10.8000221,5.7217406,11.1803641,8.8003064,34.0319786,3.1456902,0.3637307,0.3316166,7.2516389,4.9671012,84.9788599,18.9911602,31.1894311,65.0311944,26.543017,39.7191722,10.5929454,5.6692091,10.982883,8.5932723,34.2790693,4.5762634,0.3607023,0.3292687,7.3879102,4.8743169,85.0568034,19.2113745,30.6683775,64.4220806,26.1677326,39.976144,10.3818667,6.0859089,10.8566192,8.1721406,34.2424533,4.5607954,0.3340292,0.3340292,6.9341873,4.4828716,83.5894342,20.0169227,29.9090068,64.8953859,27.5134712,40.5364382,11.2516863,5.5836622,11.0136854,8.0613809,34.7012622,4.1946168,0.3243758,0.3091807,7.0304812,4.5394901,82.1942406,19.8257659,29.7124022,66.3524817,28.4226103,41.0218203,11.987424,5.8035592,11.3808659,8.5342814,35.1462794,4.4407749 +376,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7462105,0.7514941,11.7660418,7.8593971,55.4084338,12.7153245,30.9669677,68.7863328,37.3386143,48.650507,18.2575109,5.485043,11.4150568,10.0218791,32.9332498,4.7733738,0.6380343,0.6850949,11.5243152,7.6985447,54.1327467,12.6650189,30.1308725,68.4997916,36.664904,48.551902,18.085439,5.3698824,11.040281,10.1353062,32.5027842,3.8818067,0.5087372,0.5798012,11.0485102,7.3926225,52.0966674,12.930395,30.3701948,68.0579665,36.8874673,49.1341642,17.7314912,5.1901261,10.7693653,10.2202192,32.5827781,3.2509704,0.556286,0.5973834,11.033554,7.3176626,50.3973728,13.1883043,30.648096,67.8685824,37.2379376,48.4373059,18.133081,5.1220806,11.1692188,10.3107954,31.5643563,3.6242337,0.6047876,0.6387183,10.5465503,6.8047471,48.001525,13.2084884,31.0615397,68.2045698,37.3928681,48.6189972,18.3050027,5.2799795,10.7413934,9.8696281,30.8355243,4.7036642 +377,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5760483,0.5699239,8.3610672,5.1719371,82.424655,15.7831349,26.8229906,63.8519915,29.642181,38.6419101,15.9257222,7.1951243,9.9266611,8.3245772,36.7546238,4.3237251,0.4531713,0.4471588,8.1746463,5.0190414,81.0712319,15.9037128,26.5058647,63.7126873,28.9578938,38.0730276,15.791578,7.1276337,9.4866621,8.2996952,36.5043172,4.1387034,0.4237388,0.4177864,8.0026965,4.9797534,79.7736329,16.0942031,26.9332317,63.8031203,29.0182153,38.4402217,15.8749038,6.9261211,9.3356006,7.7577851,36.0812243,4.2528745,0.3810828,0.3810828,7.8314816,4.7411478,77.8684282,16.7639624,27.2762378,64.5190374,29.5910508,39.0303464,16.3194469,6.8526609,9.1615673,7.6687142,36.478146,5.2325594,0.3590852,0.3590852,7.8617141,4.5515153,76.422233,16.6283852,27.271552,63.9270031,29.5754591,38.9981829,16.8910204,6.767598,9.2887264,7.7193835,37.004728,5.0000011 +378,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6552424,0.7170588,10.281886,6.662046,74.6060566,15.5697327,33.3463128,65.0661541,32.5992327,43.6342506,17.9221883,5.1906615,9.9271169,8.3017189,34.4236032,6.887287,0.6804237,0.7320972,10.0616495,6.4995932,73.5559982,16.0452344,32.5408159,65.6665324,33.4141146,44.0298246,18.3397758,5.5884456,10.0934864,8.5551312,33.4459587,6.3071161,0.6921649,0.722046,10.0108081,6.573221,72.203597,16.8517051,31.9152868,65.7743963,33.9293606,44.5287679,18.9275047,5.6431298,10.4392405,8.8071469,33.622734,5.258287,0.62095,0.6577755,9.8923601,6.2643902,71.2775203,17.4268479,32.21575,65.9880372,34.9413853,45.3315621,19.1467324,5.6131762,10.520957,8.9067018,33.9818658,5.2102203,0.6365161,0.6519064,9.6702145,6.1579527,70.1818951,17.7477713,31.5330212,65.8938007,34.8307378,45.4008084,19.2372274,5.5084583,10.6653084,8.7039174,33.4263085,6.4053358 +379,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3637307,0.3316166,7.2516389,4.9671012,84.9788599,18.9911602,31.1894311,65.0311944,26.543017,39.7191722,10.5929454,5.6692091,10.982883,8.5932723,34.2790693,4.5762634,0.3607023,0.3292687,7.3879102,4.8743169,85.0568034,19.2113745,30.6683775,64.4220806,26.1677326,39.976144,10.3818667,6.0859089,10.8566192,8.1721406,34.2424533,4.5607954,0.3340292,0.3340292,6.9341873,4.4828716,83.5894342,20.0169227,29.9090068,64.8953859,27.5134712,40.5364382,11.2516863,5.5836622,11.0136854,8.0613809,34.7012622,4.1946168,0.3243758,0.3091807,7.0304812,4.5394901,82.1942406,19.8257659,29.7124022,66.3524817,28.4226103,41.0218203,11.987424,5.8035592,11.3808659,8.5342814,35.1462794,4.4407749,0.3404017,0.329806,6.9225804,4.4169552,80.6372059,19.9712642,30.2908773,66.8658579,28.5460237,41.3408364,12.3909376,5.735043,11.4698899,9.0543968,34.9319419,3.9556837 +380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.7536953,0.8249881,12.047881,7.2083506,46.9863787,14.2893436,36.9084422,67.6697658,40.6635529,49.0997936,25.9516133,3.4722093,15.0704348,14.2521476,39.707288,7.6612965,0.8030882,0.87479,11.6581506,7.423459,44.7702133,15.3233975,36.8652904,68.31607,41.4766506,50.5958527,25.9326055,3.6528363,14.5673173,13.3429961,38.964182,9.3495935,0.8313449,0.8313449,11.4234069,7.0912738,44.0139079,15.8072815,36.6578916,68.9736804,42.55259,51.4473483,26.5525957,3.4999812,13.4803961,12.7335534,38.9437233,9.9206349,0.6598591,0.7083612,11.5299425,7.1770595,43.5851185,16.7469182,36.2477595,69.3747015,42.8309814,51.9422378,26.2938513,4.0289333,14.0962769,13.4748464,39.8715197,9.689915,0.8738579,0.8738579,11.4008163,6.8929011,42.7037931,17.0116813,36.1398396,68.6959896,43.7060508,51.6453047,26.9217725,4.4491459,13.4441155,12.6012311,38.6133495,7.4803091 +381,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9630531,0.9332506,21.3591108,17.5326786,33.186441,22.1246907,34.7933944,68.0615954,36.7306095,49.3568309,22.4316372,3.1394326,10.2709277,9.1317778,28.4138032,20.2380792,0.9379034,0.9081064,22.1949457,18.3787409,34.4806495,21.828749,35.0494135,66.8204561,35.1098958,48.7957798,21.1104036,3.1449842,10.115007,9.06922,30.5483547,15.8185362,1.1134339,1.083591,22.896594,19.3312828,34.9369988,21.0423151,35.2874057,67.563669,34.6321326,48.4255381,21.8903908,3.0895828,10.8641173,9.4464152,29.79506,15.0073293,1.0661065,1.036228,23.5331448,19.6429208,34.9635156,20.6845665,35.3834644,67.5459843,34.3326224,47.9936793,22.0558377,3.169041,11.7291198,9.8116917,30.0305804,11.303998,0.9967259,0.9671331,23.6936341,19.8587843,36.3559377,20.3346508,34.8238338,68.075841,34.6884519,47.8207877,21.5689108,3.7827605,11.0242069,9.3733587,30.4042685,10.3369268 +382,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4531713,0.4471588,8.1746463,5.0190414,81.0712319,15.9037128,26.5058647,63.7126873,28.9578938,38.0730276,15.791578,7.1276337,9.4866621,8.2996952,36.5043172,4.1387034,0.4237388,0.4177864,8.0026965,4.9797534,79.7736329,16.0942031,26.9332317,63.8031203,29.0182153,38.4402217,15.8749038,6.9261211,9.3356006,7.7577851,36.0812243,4.2528745,0.3810828,0.3810828,7.8314816,4.7411478,77.8684282,16.7639624,27.2762378,64.5190374,29.5910508,39.0303464,16.3194469,6.8526609,9.1615673,7.6687142,36.478146,5.2325594,0.3590852,0.3590852,7.8617141,4.5515153,76.422233,16.6283852,27.271552,63.9270031,29.5754591,38.9981829,16.8910204,6.767598,9.2887264,7.7193835,37.004728,5.0000011,0.3832584,0.3832584,7.6933362,4.432761,74.2807636,16.60589,27.8071317,63.5270849,29.9207413,39.9867868,17.3447849,7.0919172,9.3509651,7.8313279,37.5303348,4.4520558 +383,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8833624,0.8518071,18.3469048,14.472414,27.644379,19.5887378,36.3204571,65.2685248,37.2973851,47.3097845,22.615546,3.6264005,11.174155,9.2336914,35.6630753,19.7987654,0.9875409,0.9177058,18.6709105,14.7784707,28.2678698,20.1025264,36.5494521,65.2415448,36.9819166,47.5270881,22.2884341,3.2603281,11.2503808,9.0438504,36.049156,19.5652795,0.9677035,0.9003383,19.0142995,15.2981557,28.8557892,19.9705755,36.474197,65.2168374,37.5701498,47.648984,22.0369799,3.2400969,11.3534425,8.9769091,36.4472962,18.4849091,1.1302872,1.0176315,18.5689052,15.2734011,29.3616748,19.9961883,36.2010647,64.2296777,37.3226599,46.4241199,21.2527369,3.0559349,11.9633995,8.7885485,36.0455852,18.263522,1.2166251,1.1110122,19.9876533,16.4207659,30.764096,18.9943171,36.4721759,63.6163671,36.0685287,46.5675726,20.9267246,2.9465241,12.4045999,9.6675123,36.6636985,16.8639253 +384,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4845928,0.4711227,10.5896311,6.6128112,68.9920671,10.6024581,28.3645787,66.4417907,35.6822131,42.9014746,18.9424719,4.2721016,9.9357211,8.7587852,32.968033,2.6442308,0.5322995,0.5367475,10.6406207,6.7386812,67.8891306,10.145165,27.7304742,66.3953246,35.5964626,42.3981177,18.8879981,4.0589872,10.1116439,8.4678041,32.8351852,2.6829268,0.5711673,0.5667741,10.7203729,6.8442973,67.4549652,10.1236438,27.0645569,66.5988952,35.9626671,42.6364139,18.6697665,4.0857831,10.2578837,8.7932589,32.7273328,3.1100478,0.6730873,0.6687424,10.590284,6.817553,66.0664385,10.8879785,26.8039659,67.0790738,37.0887066,43.2526636,19.2806099,4.146848,10.7277188,8.9480799,33.0206005,4.2410714,0.6427409,0.6341317,10.5415824,6.7140894,64.7425315,11.3747655,27.1048851,67.2131937,36.7933902,43.8361372,18.9145077,4.0981903,10.6270687,8.8247051,32.9661981,5.5309735 +385,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3767887,0.4516817,8.1331255,4.8247355,78.6054856,18.7037724,31.4573443,60.6042655,25.8886268,37.1445492,12.4210096,5.6279632,9.794573,8.847278,35.5726877,2.4553571,0.3957663,0.4697623,7.993024,4.686907,78.9156583,18.9606602,30.8124002,61.3334777,26.5358513,37.3443021,12.8499578,5.9292562,10.2794263,9.2115132,35.2625892,2.8138528,0.3699222,0.444629,7.8803541,4.5561352,78.1424159,19.6261175,30.1285039,62.2268775,27.1256668,38.123849,14.3331108,5.6747449,10.6681632,9.2313664,34.0665146,3.8116592,0.2629524,0.3324695,7.6407714,4.3087078,77.3287005,19.590306,29.8706714,61.9254554,27.7441019,39.5554722,14.9069896,5.3361353,10.3364272,9.2852581,32.8060824,3.6170213,0.3469079,0.3817148,7.764592,4.3903517,77.2938884,19.5298474,29.1601337,62.7088642,27.8306311,39.2665486,15.3685819,5.5281329,10.0141104,8.8834692,33.2745777,4.4117647 +386,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6380343,0.6850949,11.5243152,7.6985447,54.1327467,12.6650189,30.1308725,68.4997916,36.664904,48.551902,18.085439,5.3698824,11.040281,10.1353062,32.5027842,3.8818067,0.5087372,0.5798012,11.0485102,7.3926225,52.0966674,12.930395,30.3701948,68.0579665,36.8874673,49.1341642,17.7314912,5.1901261,10.7693653,10.2202192,32.5827781,3.2509704,0.556286,0.5973834,11.033554,7.3176626,50.3973728,13.1883043,30.648096,67.8685824,37.2379376,48.4373059,18.133081,5.1220806,11.1692188,10.3107954,31.5643563,3.6242337,0.6047876,0.6387183,10.5465503,6.8047471,48.001525,13.2084884,31.0615397,68.2045698,37.3928681,48.6189972,18.3050027,5.2799795,10.7413934,9.8696281,30.8355243,4.7036642,0.5356582,0.5781791,10.2631153,6.6229956,46.4012121,13.515162,30.3783895,68.4683751,37.6324517,48.6120909,18.9263462,5.5067822,10.3855075,9.8929288,31.1158084,6.3461376 +387,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6945056,0.7825383,11.8097274,6.9571362,60.7281719,18.0416011,32.687626,68.9108211,36.4264168,46.2613027,22.0673667,3.6710331,10.2903383,9.1832575,35.2465704,6.5656555,0.7142078,0.7841366,11.6404907,6.6798173,60.1097604,18.2160992,32.8183309,68.2118589,36.0142187,47.0814658,22.0947736,3.9222959,10.3022827,8.8637237,35.9869799,6.6558419,0.7326106,0.7990801,11.8081625,6.8417371,59.8450084,18.4493606,32.048315,68.4449553,35.9422906,47.0016564,21.7161974,3.777193,9.7907207,8.4750714,35.5060074,5.4636245,0.811317,0.8856585,11.5087917,6.6262837,59.2706334,18.4941525,32.0390964,68.6622847,36.6103673,47.2337709,21.363796,3.753192,10.1792593,8.8573423,36.0512505,5.8510802,0.8216149,0.8484141,11.2945904,6.4339618,58.6042055,18.7532139,31.6843279,68.9098477,36.6700634,47.0034256,21.6353641,4.0945032,10.2506352,8.6638867,36.1546002,6.4460525 +388,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9111111,2.0592593,26.0497667,21.3841369,54.2003231,6.8885449,34.6698113,64.5440252,28.5377358,43.4748428,16.745283,4.7955975,16.7692308,11.5384615,36.4906832,10.3305785,2.1310241,2.2816265,26.2779553,21.3258786,54.6875,7.8199052,35.1674641,65.1515152,28.3094099,45.5342903,17.7830941,5.8213716,15.0621118,11.0248447,35.5590062,10.2459016,2.035913,2.1117855,26.1326861,21.763754,54.884106,8.2268371,35.5177994,65.2912621,27.1035599,46.5210356,18.6893204,5.9061489,14.1269841,10.6687898,36.7834395,8.6065574,2.0927318,2.1679198,25.3980892,21.5764331,54.1050903,7.8571429,37.0578778,64.8713826,28.0546624,47.1864952,19.3729904,5.0643087,12.6959248,10.5345912,35.488959,7.9166667,1.9054878,1.9054878,24.7980614,20.9208401,55.4530201,8.1451613,37.9901961,64.4607843,28.0228758,47.7941176,20.5065359,5.6372549,12.6168224,9.84375,35.5799373,10.3305785 +389,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5322995,0.5367475,10.6406207,6.7386812,67.8891306,10.145165,27.7304742,66.3953246,35.5964626,42.3981177,18.8879981,4.0589872,10.1116439,8.4678041,32.8351852,2.6829268,0.5711673,0.5667741,10.7203729,6.8442973,67.4549652,10.1236438,27.0645569,66.5988952,35.9626671,42.6364139,18.6697665,4.0857831,10.2578837,8.7932589,32.7273328,3.1100478,0.6730873,0.6687424,10.590284,6.817553,66.0664385,10.8879785,26.8039659,67.0790738,37.0887066,43.2526636,19.2806099,4.146848,10.7277188,8.9480799,33.0206005,4.2410714,0.6427409,0.6341317,10.5415824,6.7140894,64.7425315,11.3747655,27.1048851,67.2131937,36.7933902,43.8361372,18.9145077,4.0981903,10.6270687,8.8247051,32.9661981,5.5309735,0.7052013,0.6967212,10.4030997,6.477521,63.8917871,11.7162796,26.9283885,67.2977894,37.154498,44.8131888,19.3210451,4.2359451,10.2926956,8.3208868,33.3783156,6.9915254 +390,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7142078,0.7841366,11.6404907,6.6798173,60.1097604,18.2160992,32.8183309,68.2118589,36.0142187,47.0814658,22.0947736,3.9222959,10.3022827,8.8637237,35.9869799,6.6558419,0.7326106,0.7990801,11.8081625,6.8417371,59.8450084,18.4493606,32.048315,68.4449553,35.9422906,47.0016564,21.7161974,3.777193,9.7907207,8.4750714,35.5060074,5.4636245,0.811317,0.8856585,11.5087917,6.6262837,59.2706334,18.4941525,32.0390964,68.6622847,36.6103673,47.2337709,21.363796,3.753192,10.1792593,8.8573423,36.0512505,5.8510802,0.8216149,0.8484141,11.2945904,6.4339618,58.6042055,18.7532139,31.6843279,68.9098477,36.6700634,47.0034256,21.6353641,4.0945032,10.2506352,8.6638867,36.1546002,6.4460525,0.7777958,0.7764304,11.2116519,6.2484924,57.5503574,18.9426516,31.5242111,68.475771,37.0668477,47.0747431,21.5422873,4.2211034,10.5146619,9.2463206,36.3433435,6.2724555 +391,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1310241,2.2816265,26.2779553,21.3258786,54.6875,7.8199052,35.1674641,65.1515152,28.3094099,45.5342903,17.7830941,5.8213716,15.0621118,11.0248447,35.5590062,10.2459016,2.035913,2.1117855,26.1326861,21.763754,54.884106,8.2268371,35.5177994,65.2912621,27.1035599,46.5210356,18.6893204,5.9061489,14.1269841,10.6687898,36.7834395,8.6065574,2.0927318,2.1679198,25.3980892,21.5764331,54.1050903,7.8571429,37.0578778,64.8713826,28.0546624,47.1864952,19.3729904,5.0643087,12.6959248,10.5345912,35.488959,7.9166667,1.9054878,1.9054878,24.7980614,20.9208401,55.4530201,8.1451613,37.9901961,64.4607843,28.0228758,47.7941176,20.5065359,5.6372549,12.6168224,9.84375,35.5799373,10.3305785,1.7991004,1.7991004,23.0830671,19.0894569,56.6831683,7.5396825,38.2447665,64.9758454,27.294686,48.0676329,21.0144928,5.2334944,13.117284,10.6811146,35.6697819,13.7168142 +392,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7326106,0.7990801,11.8081625,6.8417371,59.8450084,18.4493606,32.048315,68.4449553,35.9422906,47.0016564,21.7161974,3.777193,9.7907207,8.4750714,35.5060074,5.4636245,0.811317,0.8856585,11.5087917,6.6262837,59.2706334,18.4941525,32.0390964,68.6622847,36.6103673,47.2337709,21.363796,3.753192,10.1792593,8.8573423,36.0512505,5.8510802,0.8216149,0.8484141,11.2945904,6.4339618,58.6042055,18.7532139,31.6843279,68.9098477,36.6700634,47.0034256,21.6353641,4.0945032,10.2506352,8.6638867,36.1546002,6.4460525,0.7777958,0.7764304,11.2116519,6.2484924,57.5503574,18.9426516,31.5242111,68.475771,37.0668477,47.0747431,21.5422873,4.2211034,10.5146619,9.2463206,36.3433435,6.2724555,0.7446248,0.7344238,10.9567088,6.0586865,57.2089086,18.557854,31.7372007,67.7723928,36.0737419,45.7537013,20.6634026,3.9622565,10.3095046,9.1794178,36.1739194,5.9783302 +393,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5746148,0.586236,10.9884811,7.7120656,69.9429846,9.7000443,29.9564826,67.2212838,30.293457,45.8508844,15.185342,2.6748058,10.9240369,10.072808,32.2506315,7.0599668,0.6386099,0.6437245,10.6791458,7.4220415,68.527741,9.7326188,30.0448222,67.4905491,30.6049627,46.1210004,15.9011423,2.8497389,11.4672821,10.155614,32.4284352,7.5257825,0.5598604,0.5520434,10.5194644,7.3122268,67.2736262,10.0109812,30.564813,67.5756339,30.7729731,45.9408923,16.2572955,2.8240333,11.2711485,10.0925853,32.1029005,6.1491985,0.5835147,0.5692179,10.4490952,7.2255116,65.8310968,10.2480995,30.5010469,67.6896355,31.155192,47.007656,16.4996626,2.9157929,11.2886273,10.0845911,31.7492196,7.1862594,0.6063732,0.5917959,10.8011232,7.5122982,64.4059254,10.4187103,30.6060117,68.1024635,30.5634415,46.8563647,16.3568035,3.0016987,11.3095348,9.8358535,31.4884129,7.1428793 +394,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5265238,0.5265238,9.0299685,5.8775549,54.2242173,15.156335,33.06742,67.2576114,33.9357823,47.6891842,18.1126963,3.7672738,10.6328231,9.6211313,30.3179342,6.3636402,0.4612452,0.4612452,8.6574542,5.4176325,51.9241917,15.6617497,32.0575744,67.0610858,34.7469883,47.2546158,18.5280502,3.6474444,10.0435195,9.0829456,29.6459045,4.6296325,0.4225347,0.4225347,7.9183102,4.9279233,49.9397283,16.008481,31.723552,66.8477805,35.0692392,47.9732905,17.6174056,3.5083588,10.1809191,9.431572,29.4820248,3.8922202,0.4203266,0.4376715,8.0519773,5.0070098,48.8583373,16.1755496,31.9056316,67.2355784,35.0505767,47.6582594,17.2710455,3.5364218,9.6775465,8.4439239,29.2918095,4.0372746,0.4161409,0.445201,7.8586534,4.8258837,47.4077294,15.7270775,31.725727,67.4056255,35.4348526,48.3719108,17.1971682,3.272583,9.3434789,8.3922585,28.8499207,4.464291 +395,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9379034,0.9081064,22.1949457,18.3787409,34.4806495,21.828749,35.0494135,66.8204561,35.1098958,48.7957798,21.1104036,3.1449842,10.115007,9.06922,30.5483547,15.8185362,1.1134339,1.083591,22.896594,19.3312828,34.9369988,21.0423151,35.2874057,67.563669,34.6321326,48.4255381,21.8903908,3.0895828,10.8641173,9.4464152,29.79506,15.0073293,1.0661065,1.036228,23.5331448,19.6429208,34.9635156,20.6845665,35.3834644,67.5459843,34.3326224,47.9936793,22.0558377,3.169041,11.7291198,9.8116917,30.0305804,11.303998,0.9967259,0.9671331,23.6936341,19.8587843,36.3559377,20.3346508,34.8238338,68.075841,34.6884519,47.8207877,21.5689108,3.7827605,11.0242069,9.3733587,30.4042685,10.3369268,1.1940179,1.1940179,24.9296351,20.7332222,37.5024583,20.5122351,34.9032276,67.3365091,35.557878,47.2093137,21.6049626,4.6640736,11.3608532,10.0600438,30.0046621,11.4705136 +396,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.035913,2.1117855,26.1326861,21.763754,54.884106,8.2268371,35.5177994,65.2912621,27.1035599,46.5210356,18.6893204,5.9061489,14.1269841,10.6687898,36.7834395,8.6065574,2.0927318,2.1679198,25.3980892,21.5764331,54.1050903,7.8571429,37.0578778,64.8713826,28.0546624,47.1864952,19.3729904,5.0643087,12.6959248,10.5345912,35.488959,7.9166667,1.9054878,1.9054878,24.7980614,20.9208401,55.4530201,8.1451613,37.9901961,64.4607843,28.0228758,47.7941176,20.5065359,5.6372549,12.6168224,9.84375,35.5799373,10.3305785,1.7991004,1.7991004,23.0830671,19.0894569,56.6831683,7.5396825,38.2447665,64.9758454,27.294686,48.0676329,21.0144928,5.2334944,13.117284,10.6811146,35.6697819,13.7168142,1.8611521,1.8611521,25.7886435,22.0031546,56.6935484,7.2429907,38.0537975,66.5348101,28.085443,49.7626582,20.806962,6.25,12.191358,10.6811146,33.8006231,15.4166667 +397,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.6821557,0.6213802,9.634809,6.0015652,79.9307475,12.055867,28.6366675,61.5808492,32.3256078,40.3800509,14.859608,2.8538358,12.0368927,11.5762507,36.7099142,4.3307155,0.6909752,0.629414,9.9633378,6.1579653,78.7158057,11.6148646,28.3334505,61.5440805,31.0530213,39.976829,14.6276262,2.8942013,11.2533186,11.361157,37.2992335,4.400007,0.6405432,0.5790955,9.3255709,5.5126935,78.5621443,11.3347378,26.4140379,61.4574616,30.6365886,38.9968093,14.1624647,3.1456846,11.7033697,10.8631088,37.4478286,4.8872254,0.3815371,0.3815371,8.5981605,5.3536691,76.9074506,12.3807515,25.4438133,60.7995383,32.40395,39.9938717,15.3375952,3.1558279,12.3396962,12.4493787,37.4727351,4.2307757,0.291412,0.291412,7.9253765,4.9497375,76.2204866,12.2275817,25.1430528,61.6222919,32.3022068,39.5586109,15.0643042,3.0608421,11.2664943,11.9985248,36.4403036,3.2601679 +398,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0999378,1.0901828,14.0766855,8.5769856,52.6753378,18.2559581,35.375936,69.7123359,37.278849,48.1635124,23.2075788,2.898344,10.221642,9.2973184,37.4165737,8.0984547,1.0694078,1.0564695,13.9273193,8.449126,52.9064259,18.0452936,35.1692398,69.8458359,36.4980537,48.5853312,23.2530848,3.1077053,10.6854103,9.4406137,36.929369,7.9858782,1.0861612,1.0861612,13.6571473,8.1858652,51.6090624,18.7980101,34.7046306,69.9915931,37.2898276,47.9749877,23.5887803,3.0375799,10.4113463,9.3722165,36.5029929,9.1835298,0.9897812,0.9504023,13.7891511,8.2479099,50.5942783,18.9833864,34.3722154,70.728068,37.1184628,48.93178,24.5639036,3.1605071,10.4669946,9.4221766,36.206763,11.5128474,0.8581454,0.8123109,13.3940515,8.0279209,50.153588,18.7260231,34.5750905,70.5663391,37.2766266,48.5617533,24.5096229,3.2899133,11.8986652,10.449641,36.6329734,11.2900239 +399,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.8030882,0.87479,11.6581506,7.423459,44.7702133,15.3233975,36.8652904,68.31607,41.4766506,50.5958527,25.9326055,3.6528363,14.5673173,13.3429961,38.964182,9.3495935,0.8313449,0.8313449,11.4234069,7.0912738,44.0139079,15.8072815,36.6578916,68.9736804,42.55259,51.4473483,26.5525957,3.4999812,13.4803961,12.7335534,38.9437233,9.9206349,0.6598591,0.7083612,11.5299425,7.1770595,43.5851185,16.7469182,36.2477595,69.3747015,42.8309814,51.9422378,26.2938513,4.0289333,14.0962769,13.4748464,39.8715197,9.689915,0.8738579,0.8738579,11.4008163,6.8929011,42.7037931,17.0116813,36.1398396,68.6959896,43.7060508,51.6453047,26.9217725,4.4491459,13.4441155,12.6012311,38.6133495,7.4803091,0.8570442,0.8570442,11.8524128,7.2661602,42.9991088,17.1715157,37.0817701,68.8940241,44.3143813,51.4905215,27.0803541,4.5486486,13.4861499,13.2368903,38.3583328,7.4561273 +400,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5087372,0.5798012,11.0485102,7.3926225,52.0966674,12.930395,30.3701948,68.0579665,36.8874673,49.1341642,17.7314912,5.1901261,10.7693653,10.2202192,32.5827781,3.2509704,0.556286,0.5973834,11.033554,7.3176626,50.3973728,13.1883043,30.648096,67.8685824,37.2379376,48.4373059,18.133081,5.1220806,11.1692188,10.3107954,31.5643563,3.6242337,0.6047876,0.6387183,10.5465503,6.8047471,48.001525,13.2084884,31.0615397,68.2045698,37.3928681,48.6189972,18.3050027,5.2799795,10.7413934,9.8696281,30.8355243,4.7036642,0.5356582,0.5781791,10.2631153,6.6229956,46.4012121,13.515162,30.3783895,68.4683751,37.6324517,48.6120909,18.9263462,5.5067822,10.3855075,9.8929288,31.1158084,6.3461376,0.559503,0.6024845,10.6137334,7.1723624,45.4434115,13.0382534,30.3889316,68.4443791,38.1743315,47.8744019,19.3175353,5.6395918,10.9519016,10.8449592,31.9510089,7.5024842 +401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.6909752,0.629414,9.9633378,6.1579653,78.7158057,11.6148646,28.3334505,61.5440805,31.0530213,39.976829,14.6276262,2.8942013,11.2533186,11.361157,37.2992335,4.400007,0.6405432,0.5790955,9.3255709,5.5126935,78.5621443,11.3347378,26.4140379,61.4574616,30.6365886,38.9968093,14.1624647,3.1456846,11.7033697,10.8631088,37.4478286,4.8872254,0.3815371,0.3815371,8.5981605,5.3536691,76.9074506,12.3807515,25.4438133,60.7995383,32.40395,39.9938717,15.3375952,3.1558279,12.3396962,12.4493787,37.4727351,4.2307757,0.291412,0.291412,7.9253765,4.9497375,76.2204866,12.2275817,25.1430528,61.6222919,32.3022068,39.5586109,15.0643042,3.0608421,11.2664943,11.9985248,36.4403036,3.2601679,0.4192448,0.4341469,8.4409171,5.215596,75.825328,12.5600456,25.5222908,61.9743726,32.0795145,38.5394585,14.8584639,3.1586154,10.9168512,11.4860307,37.3913063,3.8724295 +402,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.811317,0.8856585,11.5087917,6.6262837,59.2706334,18.4941525,32.0390964,68.6622847,36.6103673,47.2337709,21.363796,3.753192,10.1792593,8.8573423,36.0512505,5.8510802,0.8216149,0.8484141,11.2945904,6.4339618,58.6042055,18.7532139,31.6843279,68.9098477,36.6700634,47.0034256,21.6353641,4.0945032,10.2506352,8.6638867,36.1546002,6.4460525,0.7777958,0.7764304,11.2116519,6.2484924,57.5503574,18.9426516,31.5242111,68.475771,37.0668477,47.0747431,21.5422873,4.2211034,10.5146619,9.2463206,36.3433435,6.2724555,0.7446248,0.7344238,10.9567088,6.0586865,57.2089086,18.557854,31.7372007,67.7723928,36.0737419,45.7537013,20.6634026,3.9622565,10.3095046,9.1794178,36.1739194,5.9783302,0.6441859,0.6496788,10.778905,5.9939151,56.1875562,17.7883806,32.8371576,68.1206876,36.3058621,46.1170371,20.9293607,4.051228,9.8033801,8.8085068,35.7794708,6.5299336 +403,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7865241,0.7901855,11.193578,6.788013,69.5304691,13.8678686,37.9735563,68.4574908,36.6841794,47.604269,20.0970967,3.4304343,10.8305904,10.5145246,33.4891263,8.6901928,0.8634376,0.8401807,11.4601397,6.9638228,68.0625123,13.6205521,37.2860876,68.4391338,36.8862989,47.3292851,20.3342359,3.3024129,10.9624078,10.5239524,33.9047245,8.8528839,0.87264,0.8677531,11.1865981,6.7525556,66.405968,13.8394997,36.3441141,68.5420665,36.7420275,47.9149949,20.4440652,3.2707314,11.2290776,10.5870273,33.6701106,7.4219194,0.8363733,0.8339477,11.0999089,6.7500531,65.121267,14.1509461,35.3485203,68.3183016,37.0396947,48.0243265,20.6812107,3.1689587,11.5177889,10.7902057,33.4187008,7.9634987,0.7956298,0.7925355,11.0275236,6.9539533,63.871502,14.6138616,35.1378671,68.2078578,36.9656444,48.2264529,20.7481459,3.3224923,11.5475213,10.6480273,32.8051163,7.7428104 +404,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5369603,0.5387002,11.207827,7.2145173,63.0385352,9.2712346,30.1764477,69.1119117,39.2717898,42.6155167,20.2719828,4.1577315,10.2008581,8.5274974,35.5295191,5.6378132,0.5522345,0.5422547,11.0132338,7.0712465,62.1253517,9.3946604,30.1001255,69.3414832,39.631272,42.6927854,20.703763,4.3082708,10.2383157,8.668877,35.6416378,6.1373881,0.6177419,0.6200242,11.1405417,7.2488186,61.4478244,9.2263298,30.0401528,69.7686657,40.2208234,43.413628,21.0926299,4.382947,9.9451056,8.6665465,35.4162815,6.4793585,0.6256372,0.6379073,11.0945572,7.2698432,60.281456,8.9789549,29.8922406,70.1649814,40.4587087,43.3768782,21.4524116,4.4392527,9.7118362,8.5920395,35.3357853,6.25,0.7126693,0.7198338,11.1544361,7.1105324,59.9195559,8.9795708,29.535689,69.814656,40.3888418,42.9970347,21.3002772,4.3995416,9.9561161,8.629211,36.6961445,6.9312796 +405,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2370812,1.3311543,22.0706084,16.9289649,25.2667212,16.0386187,37.5586204,62.0501083,31.9703118,49.0101078,24.0253791,4.5749582,16.1469123,12.4282325,33.7762031,21.7944247,1.286036,1.3281867,21.3787282,16.645784,27.2683291,15.659225,36.6981398,62.1569676,32.2568676,49.2649239,24.0230225,4.4687455,15.616621,12.123399,33.7172743,18.8458059,1.262211,1.3038413,20.6306204,15.6388781,28.6798298,15.1314307,37.0629812,62.5592151,31.3737968,49.7841318,23.8050787,4.6429045,15.1176769,11.3945805,33.9058428,18.014388,1.3516683,1.3937595,20.8630259,15.653982,29.2844524,15.9242124,37.4030503,63.0825076,31.8543394,50.571114,24.2372225,4.8691801,15.5095416,11.7524095,33.4812493,15.8448026,1.2453174,1.2453174,20.7346023,16.0739381,30.1506981,15.5864137,36.266464,64.2679731,32.4976514,50.4305867,24.4738474,4.9808997,14.6675462,11.6618163,32.5223903,15.6247396 +406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6386099,0.6437245,10.6791458,7.4220415,68.527741,9.7326188,30.0448222,67.4905491,30.6049627,46.1210004,15.9011423,2.8497389,11.4672821,10.155614,32.4284352,7.5257825,0.5598604,0.5520434,10.5194644,7.3122268,67.2736262,10.0109812,30.564813,67.5756339,30.7729731,45.9408923,16.2572955,2.8240333,11.2711485,10.0925853,32.1029005,6.1491985,0.5835147,0.5692179,10.4490952,7.2255116,65.8310968,10.2480995,30.5010469,67.6896355,31.155192,47.007656,16.4996626,2.9157929,11.2886273,10.0845911,31.7492196,7.1862594,0.6063732,0.5917959,10.8011232,7.5122982,64.4059254,10.4187103,30.6060117,68.1024635,30.5634415,46.8563647,16.3568035,3.0016987,11.3095348,9.8358535,31.4884129,7.1428793,0.6251811,0.6164657,10.6526057,7.3541929,62.6520934,10.4573758,30.7389928,68.0317315,30.6103564,46.8767857,16.5880517,2.9945665,11.2011776,9.8057527,31.2500105,7.1281198 +407,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6371501,0.6371501,13.4027874,11.077179,43.6395924,32.7038896,27.4132275,68.007505,36.2004704,45.3591909,20.1114,4.3935596,16.4084595,10.5196035,35.471622,5.0782242,0.5663212,0.5663212,13.7910427,11.3980655,45.0453428,32.4748426,28.2886116,67.4969029,36.4624708,45.147256,20.1150717,4.7892693,16.9690878,11.0390757,34.2523281,5.118211,0.5493819,0.471317,13.6876171,11.0625827,47.4057722,32.1874648,28.0890839,68.2166015,36.4970254,43.376094,19.2994815,4.9044574,16.4083303,11.5285023,34.6861416,5.8140436,0.6602931,0.5829527,12.7937225,9.9506731,48.3352252,32.6543134,27.6101239,67.4844118,36.9184054,42.7046344,19.6856317,4.9685468,15.0633171,9.7715459,33.8876868,5.8594666,0.821647,0.7436734,13.8646658,10.7278636,50.2604661,31.462881,28.7274901,67.1594108,37.7251636,40.9385725,18.3163023,4.9485855,16.9333355,11.8983575,34.9058079,7.2035424 +408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3607023,0.3292687,7.3879102,4.8743169,85.0568034,19.2113745,30.6683775,64.4220806,26.1677326,39.976144,10.3818667,6.0859089,10.8566192,8.1721406,34.2424533,4.5607954,0.3340292,0.3340292,6.9341873,4.4828716,83.5894342,20.0169227,29.9090068,64.8953859,27.5134712,40.5364382,11.2516863,5.5836622,11.0136854,8.0613809,34.7012622,4.1946168,0.3243758,0.3091807,7.0304812,4.5394901,82.1942406,19.8257659,29.7124022,66.3524817,28.4226103,41.0218203,11.987424,5.8035592,11.3808659,8.5342814,35.1462794,4.4407749,0.3404017,0.329806,6.9225804,4.4169552,80.6372059,19.9712642,30.2908773,66.8658579,28.5460237,41.3408364,12.3909376,5.735043,11.4698899,9.0543968,34.9319419,3.9556837,0.3353134,0.3248761,6.7502992,4.2407821,78.4637159,20.5205965,29.6785903,66.6613092,29.4875506,40.8815514,12.7147923,5.9356767,11.0276648,8.972783,34.7339996,3.6277545 +409,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.556286,0.5973834,11.033554,7.3176626,50.3973728,13.1883043,30.648096,67.8685824,37.2379376,48.4373059,18.133081,5.1220806,11.1692188,10.3107954,31.5643563,3.6242337,0.6047876,0.6387183,10.5465503,6.8047471,48.001525,13.2084884,31.0615397,68.2045698,37.3928681,48.6189972,18.3050027,5.2799795,10.7413934,9.8696281,30.8355243,4.7036642,0.5356582,0.5781791,10.2631153,6.6229956,46.4012121,13.515162,30.3783895,68.4683751,37.6324517,48.6120909,18.9263462,5.5067822,10.3855075,9.8929288,31.1158084,6.3461376,0.559503,0.6024845,10.6137334,7.1723624,45.4434115,13.0382534,30.3889316,68.4443791,38.1743315,47.8744019,19.3175353,5.6395918,10.9519016,10.8449592,31.9510089,7.5024842,0.5312135,0.5788797,10.6881158,7.0971799,45.2805883,13.278675,30.6372717,68.2338841,38.7404641,48.5474427,19.8049597,5.861489,10.4210546,10.2494407,32.0821091,9.1174135 +410,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0927318,2.1679198,25.3980892,21.5764331,54.1050903,7.8571429,37.0578778,64.8713826,28.0546624,47.1864952,19.3729904,5.0643087,12.6959248,10.5345912,35.488959,7.9166667,1.9054878,1.9054878,24.7980614,20.9208401,55.4530201,8.1451613,37.9901961,64.4607843,28.0228758,47.7941176,20.5065359,5.6372549,12.6168224,9.84375,35.5799373,10.3305785,1.7991004,1.7991004,23.0830671,19.0894569,56.6831683,7.5396825,38.2447665,64.9758454,27.294686,48.0676329,21.0144928,5.2334944,13.117284,10.6811146,35.6697819,13.7168142,1.8611521,1.8611521,25.7886435,22.0031546,56.6935484,7.2429907,38.0537975,66.5348101,28.085443,49.7626582,20.806962,6.25,12.191358,10.6811146,33.8006231,15.4166667,1.5870719,1.5870719,26.6923077,23,55.7936508,7.2629969,37.3839009,66.3312693,28.7151703,48.2198142,20.5108359,6.1145511,11.6459627,9.7826087,33.0721003,16.8103448 +411,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2015528,1.2459816,19.871036,16.491607,37.7380709,18.1916519,39.4711064,63.5896792,38.3841993,50.0629298,24.8573031,3.2229078,13.0368725,11.3280452,32.0063384,12.7575825,1.224269,1.268909,20.5374421,17.1409335,38.2371267,16.85321,38.9066938,63.1495483,37.2366615,49.0399764,23.5740999,3.0470765,12.5652764,11.2456274,31.7539628,15.9851114,1.2413468,1.2860097,21.6972138,18.4851298,38.8496061,17.0315793,39.4077877,63.6680857,36.9085145,48.8813897,23.0798481,3.425392,12.3427749,11.2617366,32.8405369,17.7417409,1.2481704,1.2915707,22.3184015,19.1255651,40.7305554,16.6246498,39.136103,64.5383225,36.5184266,48.9115631,22.9445048,3.4561696,13.3418881,11.4125456,32.8540843,18.5060849,1.2252368,1.2683391,22.3171096,19.0808553,41.5955476,15.8226053,39.8462935,63.3460947,35.7997726,49.1727493,23.2803458,3.5260101,13.7946717,11.0383604,33.3620312,20.332886 +412,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4571545,0.480992,11.6235754,8.3025653,84.8084305,8.772988,29.9643603,63.5061115,23.6740391,39.0287264,10.8541726,3.6066713,13.8574584,11.3271852,34.6503963,8.4699731,0.4311465,0.4468816,11.1129169,7.9235777,84.8917046,8.739964,29.4352333,64.5589663,24.0402114,39.4838273,11.1123899,3.4440163,13.1778423,11.5329744,33.9790772,7.8378209,0.4241914,0.4396727,10.8006065,7.6633824,84.2922864,8.856035,29.0377826,65.0116852,24.8824453,40.6445025,11.5186565,3.3409331,12.5683994,11.6015361,33.9687663,7.7539941,0.372254,0.3876363,10.6267746,7.4926174,83.855992,8.7816337,29.3059749,64.5312083,25.7607772,41.238781,11.5467378,3.4292665,11.8907269,11.5466757,33.6133558,6.5444958,0.3846392,0.3846392,10.2911022,7.1786794,83.1789084,9.3578005,29.7652094,65.2316294,26.4185206,41.9738854,11.780993,3.7016479,12.4133622,11.4390443,33.5369014,5.7691674 +413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8883894,0.8883894,11.839361,6.4499271,58.4760893,15.7262126,32.9289923,69.8488049,38.3790558,45.3762282,21.9233484,3.2876211,9.9331205,8.740795,32.3092583,8.0096893,0.8619166,0.8859937,12.0341351,6.6353187,57.733618,15.7517446,32.856661,69.4385638,38.082633,44.7563444,22.3693463,3.0896842,9.4868384,7.8769505,32.3229005,8.291449,0.7647242,0.7884734,11.9113177,6.7205262,56.7811566,16.0214308,32.162847,69.0251538,37.683449,44.881213,22.5541721,2.9874165,10.0135832,8.4578871,32.6161345,9.0243814,0.7353395,0.7587331,11.7057537,6.7108442,56.6212447,16.3825391,32.9260152,69.7246164,38.0206726,45.043043,22.5989827,2.9431959,10.4784395,8.67072,32.1259457,7.9081512,0.7454627,0.7892674,11.1244122,6.5447772,56.0105414,16.5867825,33.5694723,69.678646,38.234283,45.0760274,22.4084388,2.8161697,10.3900454,8.6531984,32.6468743,5.4687415 +414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4311465,0.4468816,11.1129169,7.9235777,84.8917046,8.739964,29.4352333,64.5589663,24.0402114,39.4838273,11.1123899,3.4440163,13.1778423,11.5329744,33.9790772,7.8378209,0.4241914,0.4396727,10.8006065,7.6633824,84.2922864,8.856035,29.0377826,65.0116852,24.8824453,40.6445025,11.5186565,3.3409331,12.5683994,11.6015361,33.9687663,7.7539941,0.372254,0.3876363,10.6267746,7.4926174,83.855992,8.7816337,29.3059749,64.5312083,25.7607772,41.238781,11.5467378,3.4292665,11.8907269,11.5466757,33.6133558,6.5444958,0.3846392,0.3846392,10.2911022,7.1786794,83.1789084,9.3578005,29.7652094,65.2316294,26.4185206,41.9738854,11.780993,3.7016479,12.4133622,11.4390443,33.5369014,5.7691674,0.3221656,0.3176313,10.0942694,7.0272262,82.7170838,9.7741293,29.4670239,65.7261837,26.454344,42.4707815,11.6616125,3.5035176,11.9555584,11.4799069,32.415902,6.2498573 +415,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.224269,1.268909,20.5374421,17.1409335,38.2371267,16.85321,38.9066938,63.1495483,37.2366615,49.0399764,23.5740999,3.0470765,12.5652764,11.2456274,31.7539628,15.9851114,1.2413468,1.2860097,21.6972138,18.4851298,38.8496061,17.0315793,39.4077877,63.6680857,36.9085145,48.8813897,23.0798481,3.425392,12.3427749,11.2617366,32.8405369,17.7417409,1.2481704,1.2915707,22.3184015,19.1255651,40.7305554,16.6246498,39.136103,64.5383225,36.5184266,48.9115631,22.9445048,3.4561696,13.3418881,11.4125456,32.8540843,18.5060849,1.2252368,1.2683391,22.3171096,19.0808553,41.5955476,15.8226053,39.8462935,63.3460947,35.7997726,49.1727493,23.2803458,3.5260101,13.7946717,11.0383604,33.3620312,20.332886,1.3430417,1.357222,22.7712667,19.1518558,42.1674693,16.0022002,39.0604136,64.3962925,35.8506956,48.2120651,22.8771802,3.5438378,13.6200841,10.6550451,33.1558548,22.3921984 +416,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9054878,1.9054878,24.7980614,20.9208401,55.4530201,8.1451613,37.9901961,64.4607843,28.0228758,47.7941176,20.5065359,5.6372549,12.6168224,9.84375,35.5799373,10.3305785,1.7991004,1.7991004,23.0830671,19.0894569,56.6831683,7.5396825,38.2447665,64.9758454,27.294686,48.0676329,21.0144928,5.2334944,13.117284,10.6811146,35.6697819,13.7168142,1.8611521,1.8611521,25.7886435,22.0031546,56.6935484,7.2429907,38.0537975,66.5348101,28.085443,49.7626582,20.806962,6.25,12.191358,10.6811146,33.8006231,15.4166667,1.5870719,1.5870719,26.6923077,23,55.7936508,7.2629969,37.3839009,66.3312693,28.7151703,48.2198142,20.5108359,6.1145511,11.6459627,9.7826087,33.0721003,16.8103448,1.1995134,1.1995134,27.265745,23.5791091,57.0859873,6.3846154,38.299532,66.3806552,28.6271451,47.6599064,19.1107644,5.5382215,12.5,10.0308642,34.84375,17.2268908 +417,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9535544,0.9631056,13.512299,9.3114873,21.2493314,21.3862074,36.8189555,65.5223373,37.5619156,50.4934165,23.8415711,4.0461188,9.663787,9.0883489,31.4805666,13.3104825,0.9656066,0.9745694,13.5278406,9.5434825,21.5493017,21.5087289,37.0953879,65.4774213,37.0987234,49.6328842,23.4423235,4.0971554,9.6090601,9.1382093,30.8840668,14.6270344,1.0123653,1.0216472,13.7522348,9.8174025,21.9658227,21.6946956,36.895343,65.8880792,38.0141276,49.7214451,23.2370496,4.3617447,9.6393759,8.9662226,31.5836334,14.4378296,0.9501579,0.9597641,14.1564071,10.2057908,21.9845094,21.6066783,36.6108946,65.8101667,38.1342462,49.5483417,22.9365813,4.210229,9.5090684,8.4979915,31.3214879,11.9231044,0.8716804,0.8716804,14.4152042,10.3487758,22.4309514,21.741515,37.0726886,65.8838154,37.8770708,49.4365871,22.3484977,4.1423595,9.618488,8.3177907,32.2348215,13.9097744 +418,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4612452,0.4612452,8.6574542,5.4176325,51.9241917,15.6617497,32.0575744,67.0610858,34.7469883,47.2546158,18.5280502,3.6474444,10.0435195,9.0829456,29.6459045,4.6296325,0.4225347,0.4225347,7.9183102,4.9279233,49.9397283,16.008481,31.723552,66.8477805,35.0692392,47.9732905,17.6174056,3.5083588,10.1809191,9.431572,29.4820248,3.8922202,0.4203266,0.4376715,8.0519773,5.0070098,48.8583373,16.1755496,31.9056316,67.2355784,35.0505767,47.6582594,17.2710455,3.5364218,9.6775465,8.4439239,29.2918095,4.0372746,0.4161409,0.445201,7.8586534,4.8258837,47.4077294,15.7270775,31.725727,67.4056255,35.4348526,48.3719108,17.1971682,3.272583,9.3434789,8.3922585,28.8499207,4.464291,0.4058111,0.4348806,8.2838991,4.9107867,45.232083,16.0761819,32.1793405,67.5157557,36.4881468,49.0334565,18.1573284,3.3444943,8.9775006,8.5699229,27.9427,3.9393987 +419,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5984827,0.5780076,8.7449933,4.6951491,75.7798574,18.514461,32.0274458,65.6706507,28.75166,42.1646746,15.2501107,3.6520584,8.9837398,7.6202119,33.7837838,2.7363184,0.532851,0.5259923,8.0205541,4.1778374,74.5660881,19.2778993,32.4867491,65.3047703,29.7482332,43.0432862,15.4814488,3.8206714,8.7366694,7.6069079,33.5950413,3.6231884,0.6900978,0.6833447,8.013245,3.9072848,74.2027086,20.1159296,32.3733218,64.8549155,30.3811174,43.763534,15.5695106,4.0909091,8.7810746,7.423756,33.9386602,3.0516432,0.7585423,0.7518408,8.3296703,4.1098901,73.7288136,20.4662104,32.1027634,64.8316062,30.246114,43.7176166,15.4792746,4.2080276,9.0361446,8.159164,34.9636217,3.8812785,0.6980498,0.691407,7.9852045,3.9817232,73.3895374,20.1571793,31.483069,65.2593228,31.0115731,43.9991427,16.0094299,3.8346187,9.16,8.6137821,33.9630225,4.2410714 +420,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5711673,0.5667741,10.7203729,6.8442973,67.4549652,10.1236438,27.0645569,66.5988952,35.9626671,42.6364139,18.6697665,4.0857831,10.2578837,8.7932589,32.7273328,3.1100478,0.6730873,0.6687424,10.590284,6.817553,66.0664385,10.8879785,26.8039659,67.0790738,37.0887066,43.2526636,19.2806099,4.146848,10.7277188,8.9480799,33.0206005,4.2410714,0.6427409,0.6341317,10.5415824,6.7140894,64.7425315,11.3747655,27.1048851,67.2131937,36.7933902,43.8361372,18.9145077,4.0981903,10.6270687,8.8247051,32.9661981,5.5309735,0.7052013,0.6967212,10.4030997,6.477521,63.8917871,11.7162796,26.9283885,67.2977894,37.154498,44.8131888,19.3210451,4.2359451,10.2926956,8.3208868,33.3783156,6.9915254,0.7418751,0.7630967,10.3582419,6.5772614,62.773453,12.1477099,27.3498719,67.2887625,38.0756644,44.8807654,19.5472051,4.3475277,10.0732435,8.1696677,33.586817,6.9037657 +421,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9720542,1.0429746,17.1059539,13.3223291,49.3977421,16.5452849,33.3202678,64.2246504,35.2203641,38.0007482,19.4493417,5.8091105,10.3379602,8.8949008,36.6079554,15.9263975,1.0767432,1.1772025,17.3175367,13.5993832,49.9724962,17.1892918,33.5204428,63.5947037,33.9299739,37.9886555,19.3976368,5.9298778,10.8552701,9.3378593,37.9413658,15.4828111,1.1956358,1.2762045,17.7133032,13.9071222,52.105311,16.5770782,33.4458986,62.7073689,33.5550213,37.6360846,19.4729881,5.5015447,10.6397927,10.0970829,38.003641,17.6229192,1.3422049,1.3697418,18.1973847,13.9896873,54.9619611,16.2271972,34.4629822,62.13052,32.9034748,38.4003441,19.7221443,4.983043,11.3196743,10.8160276,39.3024707,17.2216352,1.1726742,1.2002722,17.8064569,13.4590108,58.811255,16.6671782,34.9071562,62.9908357,33.6413056,39.2202602,19.9250451,5.1838104,11.4754158,10.5642986,39.7421119,12.1377971 +422,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9875409,0.9177058,18.6709105,14.7784707,28.2678698,20.1025264,36.5494521,65.2415448,36.9819166,47.5270881,22.2884341,3.2603281,11.2503808,9.0438504,36.049156,19.5652795,0.9677035,0.9003383,19.0142995,15.2981557,28.8557892,19.9705755,36.474197,65.2168374,37.5701498,47.648984,22.0369799,3.2400969,11.3534425,8.9769091,36.4472962,18.4849091,1.1302872,1.0176315,18.5689052,15.2734011,29.3616748,19.9961883,36.2010647,64.2296777,37.3226599,46.4241199,21.2527369,3.0559349,11.9633995,8.7885485,36.0455852,18.263522,1.2166251,1.1110122,19.9876533,16.4207659,30.764096,18.9943171,36.4721759,63.6163671,36.0685287,46.5675726,20.9267246,2.9465241,12.4045999,9.6675123,36.6636985,16.8639253,1.1879024,1.0615438,20.7186585,17.0150145,32.2907554,19.212564,36.8878216,63.6019287,35.1068746,46.549426,20.2385866,3.0511687,12.4714405,9.3803702,37.8134705,16.4739884 +423,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5598604,0.5520434,10.5194644,7.3122268,67.2736262,10.0109812,30.564813,67.5756339,30.7729731,45.9408923,16.2572955,2.8240333,11.2711485,10.0925853,32.1029005,6.1491985,0.5835147,0.5692179,10.4490952,7.2255116,65.8310968,10.2480995,30.5010469,67.6896355,31.155192,47.007656,16.4996626,2.9157929,11.2886273,10.0845911,31.7492196,7.1862594,0.6063732,0.5917959,10.8011232,7.5122982,64.4059254,10.4187103,30.6060117,68.1024635,30.5634415,46.8563647,16.3568035,3.0016987,11.3095348,9.8358535,31.4884129,7.1428793,0.6251811,0.6164657,10.6526057,7.3541929,62.6520934,10.4573758,30.7389928,68.0317315,30.6103564,46.8767857,16.5880517,2.9945665,11.2011776,9.8057527,31.2500105,7.1281198,0.5777348,0.5669589,10.6768963,7.2637347,61.4057063,10.8148862,31.5166924,68.0478982,30.6023293,46.7706828,16.8577717,3.1132068,10.9156853,10.0107501,31.7899662,7.3804782 +424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.6405432,0.5790955,9.3255709,5.5126935,78.5621443,11.3347378,26.4140379,61.4574616,30.6365886,38.9968093,14.1624647,3.1456846,11.7033697,10.8631088,37.4478286,4.8872254,0.3815371,0.3815371,8.5981605,5.3536691,76.9074506,12.3807515,25.4438133,60.7995383,32.40395,39.9938717,15.3375952,3.1558279,12.3396962,12.4493787,37.4727351,4.2307757,0.291412,0.291412,7.9253765,4.9497375,76.2204866,12.2275817,25.1430528,61.6222919,32.3022068,39.5586109,15.0643042,3.0608421,11.2664943,11.9985248,36.4403036,3.2601679,0.4192448,0.4341469,8.4409171,5.215596,75.825328,12.5600456,25.5222908,61.9743726,32.0795145,38.5394585,14.8584639,3.1586154,10.9168512,11.4860307,37.3913063,3.8724295,0.4731899,0.4879158,8.5936187,5.5347995,75.0985352,12.4817749,24.9728125,62.7149578,32.3995989,39.2550586,14.6541113,3.2550197,11.2107237,11.1839403,38.2408284,3.8186621 +425,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.286036,1.3281867,21.3787282,16.645784,27.2683291,15.659225,36.6981398,62.1569676,32.2568676,49.2649239,24.0230225,4.4687455,15.616621,12.123399,33.7172743,18.8458059,1.262211,1.3038413,20.6306204,15.6388781,28.6798298,15.1314307,37.0629812,62.5592151,31.3737968,49.7841318,23.8050787,4.6429045,15.1176769,11.3945805,33.9058428,18.014388,1.3516683,1.3937595,20.8630259,15.653982,29.2844524,15.9242124,37.4030503,63.0825076,31.8543394,50.571114,24.2372225,4.8691801,15.5095416,11.7524095,33.4812493,15.8448026,1.2453174,1.2453174,20.7346023,16.0739381,30.1506981,15.5864137,36.266464,64.2679731,32.4976514,50.4305867,24.4738474,4.9808997,14.6675462,11.6618163,32.5223903,15.6247396,1.1224037,1.1140742,20.402827,16.0326279,30.8543795,14.8756522,36.3139408,66.7414456,32.8207174,51.0172196,24.9842729,4.8572826,13.9470996,11.6796824,31.4256961,14.6256116 +426,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5522345,0.5422547,11.0132338,7.0712465,62.1253517,9.3946604,30.1001255,69.3414832,39.631272,42.6927854,20.703763,4.3082708,10.2383157,8.668877,35.6416378,6.1373881,0.6177419,0.6200242,11.1405417,7.2488186,61.4478244,9.2263298,30.0401528,69.7686657,40.2208234,43.413628,21.0926299,4.382947,9.9451056,8.6665465,35.4162815,6.4793585,0.6256372,0.6379073,11.0945572,7.2698432,60.281456,8.9789549,29.8922406,70.1649814,40.4587087,43.3768782,21.4524116,4.4392527,9.7118362,8.5920395,35.3357853,6.25,0.7126693,0.7198338,11.1544361,7.1105324,59.9195559,8.9795708,29.535689,69.814656,40.3888418,42.9970347,21.3002772,4.3995416,9.9561161,8.629211,36.6961445,6.9312796,0.720519,0.7385578,11.1341268,7.1449212,59.5873768,9.035285,30.0871867,70.0852649,40.558538,42.6757977,21.2732332,4.335122,9.8577423,8.3683174,36.3644694,6.5403431 +427,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.262211,1.3038413,20.6306204,15.6388781,28.6798298,15.1314307,37.0629812,62.5592151,31.3737968,49.7841318,23.8050787,4.6429045,15.1176769,11.3945805,33.9058428,18.014388,1.3516683,1.3937595,20.8630259,15.653982,29.2844524,15.9242124,37.4030503,63.0825076,31.8543394,50.571114,24.2372225,4.8691801,15.5095416,11.7524095,33.4812493,15.8448026,1.2453174,1.2453174,20.7346023,16.0739381,30.1506981,15.5864137,36.266464,64.2679731,32.4976514,50.4305867,24.4738474,4.9808997,14.6675462,11.6618163,32.5223903,15.6247396,1.1224037,1.1140742,20.402827,16.0326279,30.8543795,14.8756522,36.3139408,66.7414456,32.8207174,51.0172196,24.9842729,4.8572826,13.9470996,11.6796824,31.4256961,14.6256116,1.0339665,1.0256749,19.8132928,15.468361,31.3447508,15.146437,35.4879109,67.3511125,32.9086282,51.0942632,25.2377283,5.4444556,14.0182958,11.7044218,31.0054542,15.408805 +428,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6730873,0.6687424,10.590284,6.817553,66.0664385,10.8879785,26.8039659,67.0790738,37.0887066,43.2526636,19.2806099,4.146848,10.7277188,8.9480799,33.0206005,4.2410714,0.6427409,0.6341317,10.5415824,6.7140894,64.7425315,11.3747655,27.1048851,67.2131937,36.7933902,43.8361372,18.9145077,4.0981903,10.6270687,8.8247051,32.9661981,5.5309735,0.7052013,0.6967212,10.4030997,6.477521,63.8917871,11.7162796,26.9283885,67.2977894,37.154498,44.8131888,19.3210451,4.2359451,10.2926956,8.3208868,33.3783156,6.9915254,0.7418751,0.7630967,10.3582419,6.5772614,62.773453,12.1477099,27.3498719,67.2887625,38.0756644,44.8807654,19.5472051,4.3475277,10.0732435,8.1696677,33.586817,6.9037657,0.8182518,0.8396027,10.5872406,6.6935665,61.775489,12.2796219,27.7935761,67.4163217,38.1624972,45.114158,19.6314644,4.4472125,10.0730271,8.2450147,33.1943935,6.3291191 +429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.8313449,0.8313449,11.4234069,7.0912738,44.0139079,15.8072815,36.6578916,68.9736804,42.55259,51.4473483,26.5525957,3.4999812,13.4803961,12.7335534,38.9437233,9.9206349,0.6598591,0.7083612,11.5299425,7.1770595,43.5851185,16.7469182,36.2477595,69.3747015,42.8309814,51.9422378,26.2938513,4.0289333,14.0962769,13.4748464,39.8715197,9.689915,0.8738579,0.8738579,11.4008163,6.8929011,42.7037931,17.0116813,36.1398396,68.6959896,43.7060508,51.6453047,26.9217725,4.4491459,13.4441155,12.6012311,38.6133495,7.4803091,0.8570442,0.8570442,11.8524128,7.2661602,42.9991088,17.1715157,37.0817701,68.8940241,44.3143813,51.4905215,27.0803541,4.5486486,13.4861499,13.2368903,38.3583328,7.4561273,0.8808522,0.8267329,11.3141843,7.456414,43.1840032,17.3723881,36.1117791,68.9802907,43.9180562,51.1374069,26.6033462,4.3140011,13.1813222,11.8994512,37.7241774,8.0952227 +430,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4225347,0.4225347,7.9183102,4.9279233,49.9397283,16.008481,31.723552,66.8477805,35.0692392,47.9732905,17.6174056,3.5083588,10.1809191,9.431572,29.4820248,3.8922202,0.4203266,0.4376715,8.0519773,5.0070098,48.8583373,16.1755496,31.9056316,67.2355784,35.0505767,47.6582594,17.2710455,3.5364218,9.6775465,8.4439239,29.2918095,4.0372746,0.4161409,0.445201,7.8586534,4.8258837,47.4077294,15.7270775,31.725727,67.4056255,35.4348526,48.3719108,17.1971682,3.272583,9.3434789,8.3922585,28.8499207,4.464291,0.4058111,0.4348806,8.2838991,4.9107867,45.232083,16.0761819,32.1793405,67.5157557,36.4881468,49.0334565,18.1573284,3.3444943,8.9775006,8.5699229,27.9427,3.9393987,0.3774611,0.4071757,8.5477964,5.0225465,42.5680153,15.947114,33.287337,67.9473566,36.9585252,48.6646343,18.7577016,3.3422181,9.3539217,8.9936787,27.8704485,3.6184234 +431,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8634376,0.8401807,11.4601397,6.9638228,68.0625123,13.6205521,37.2860876,68.4391338,36.8862989,47.3292851,20.3342359,3.3024129,10.9624078,10.5239524,33.9047245,8.8528839,0.87264,0.8677531,11.1865981,6.7525556,66.405968,13.8394997,36.3441141,68.5420665,36.7420275,47.9149949,20.4440652,3.2707314,11.2290776,10.5870273,33.6701106,7.4219194,0.8363733,0.8339477,11.0999089,6.7500531,65.121267,14.1509461,35.3485203,68.3183016,37.0396947,48.0243265,20.6812107,3.1689587,11.5177889,10.7902057,33.4187008,7.9634987,0.7956298,0.7925355,11.0275236,6.9539533,63.871502,14.6138616,35.1378671,68.2078578,36.9656444,48.2264529,20.7481459,3.3224923,11.5475213,10.6480273,32.8051163,7.7428104,0.8402205,0.8430192,11.3673835,7.1876489,62.7494271,14.8334401,35.0197573,67.9929708,37.2261506,48.4403188,21.0210078,3.3703606,11.8284396,10.8299778,32.6213842,7.5641263 +432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3957663,0.4697623,7.993024,4.686907,78.9156583,18.9606602,30.8124002,61.3334777,26.5358513,37.3443021,12.8499578,5.9292562,10.2794263,9.2115132,35.2625892,2.8138528,0.3699222,0.444629,7.8803541,4.5561352,78.1424159,19.6261175,30.1285039,62.2268775,27.1256668,38.123849,14.3331108,5.6747449,10.6681632,9.2313664,34.0665146,3.8116592,0.2629524,0.3324695,7.6407714,4.3087078,77.3287005,19.590306,29.8706714,61.9254554,27.7441019,39.5554722,14.9069896,5.3361353,10.3364272,9.2852581,32.8060824,3.6170213,0.3469079,0.3817148,7.764592,4.3903517,77.2938884,19.5298474,29.1601337,62.7088642,27.8306311,39.2665486,15.3685819,5.5281329,10.0141104,8.8834692,33.2745777,4.4117647,0.3814916,0.4234349,8.0657569,4.401223,76.6605939,19.2873319,29.1695764,62.639516,28.4624818,39.7057184,15.3574525,5.2308427,10.1820017,8.5724757,33.2514093,4.7717842 +433,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9656066,0.9745694,13.5278406,9.5434825,21.5493017,21.5087289,37.0953879,65.4774213,37.0987234,49.6328842,23.4423235,4.0971554,9.6090601,9.1382093,30.8840668,14.6270344,1.0123653,1.0216472,13.7522348,9.8174025,21.9658227,21.6946956,36.895343,65.8880792,38.0141276,49.7214451,23.2370496,4.3617447,9.6393759,8.9662226,31.5836334,14.4378296,0.9501579,0.9597641,14.1564071,10.2057908,21.9845094,21.6066783,36.6108946,65.8101667,38.1342462,49.5483417,22.9365813,4.210229,9.5090684,8.4979915,31.3214879,11.9231044,0.8716804,0.8716804,14.4152042,10.3487758,22.4309514,21.741515,37.0726886,65.8838154,37.8770708,49.4365871,22.3484977,4.1423595,9.618488,8.3177907,32.2348215,13.9097744,0.8699422,0.8699422,14.9679902,10.7426497,22.4451534,21.0605143,36.8219006,65.5979966,37.2583603,48.8580403,22.3582292,4.4112985,10.220992,7.8911467,31.6447706,15.9836066 +434,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4755567,0.4956389,10.1495944,7.0046415,81.2598183,12.1990874,28.4118803,65.8372685,27.9915677,41.3071269,12.0879727,4.8551295,10.9851466,10.4295928,30.6048673,6.9733848,0.4848575,0.5254867,10.50848,7.3745563,80.0871401,12.2267949,28.9357371,66.6262263,28.5603538,42.7576687,12.5744319,4.8907112,11.4791855,10.5801429,31.082591,7.6577588,0.4843483,0.5553059,10.4067212,7.3401491,78.9818137,12.3779016,29.4652062,67.0063951,28.9611768,43.4252737,12.6122123,5.0295971,11.7319884,11.2190305,31.3378193,8.3587744,0.4958897,0.5608779,10.2122756,7.3749169,77.9606816,12.4513415,29.5047693,66.5249068,28.5231161,43.3136566,12.6635244,4.6356946,11.9245382,11.0349788,31.0910319,7.2756161,0.5319125,0.596769,10.6142505,7.7909545,77.0598269,13.0476258,29.7535162,67.3680708,28.9468119,43.5128057,12.7888924,4.6118705,12.1394181,11.209831,31.6845305,6.9231238 +435,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4915921,0.4835542,10.8622961,7.104669,63.2073535,18.6102873,33.8231306,67.9649616,35.7609318,46.0657627,19.8502982,2.8611171,13.0778685,11.6581515,36.9379935,5.9859197,0.3970242,0.3890217,10.8121214,7.1723051,61.3473205,18.3035795,32.9672465,67.7972306,36.1769849,46.4806922,19.9834797,2.8926527,12.3384645,11.5847633,36.5801387,3.6666667,0.5698521,0.5464479,11.8221644,7.2846634,60.2044998,19.4112568,33.5933384,68.4208751,36.5499238,46.6772216,20.5653297,3.0213096,12.2107653,11.659292,37.4725914,3.555505,0.5628929,0.5400065,12.6431751,7.7238294,59.4918192,19.3645753,33.2801848,68.3568036,36.0500361,46.5566675,20.6880167,3.0431129,11.933554,12.3692674,38.0561421,4.4725386,0.6175943,0.645172,12.5971791,7.3973625,58.4072865,20.7966512,34.0851099,69.1005097,36.153271,46.9640684,21.3426687,3.5786439,11.7337928,11.6020823,37.3027898,4.2933245 +436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4359036,1.3723168,15.4956837,11.3519031,44.2326486,19.0791534,34.2819778,69.7211463,36.6845704,48.3369787,27.0284296,2.574937,11.5570849,10.6342961,40.3945842,16.9183693,1.1893704,1.1577795,15.6352914,11.3034794,44.4967213,18.2074581,33.2129914,69.952854,36.8814161,47.1577608,26.1540411,2.4435047,11.2617436,10.8030833,40.4917994,15.7416129,1.035557,1.0042663,16.6503159,12.4079953,44.2483177,18.8729005,31.8513717,70.0257198,36.3539445,47.897002,26.0206943,2.1626758,12.2480896,11.1181642,40.6956167,17.8131869,1.0055369,0.9738777,17.911902,13.0464922,44.361574,19.0572462,32.3805962,69.8782006,35.5955375,47.3687133,25.1202085,2.1929415,12.9982704,11.8537548,40.4815729,18.5204696,0.7920958,0.7610267,18.003194,12.7481331,43.8935594,18.6739705,32.1248763,69.938048,35.2943757,47.3935623,24.2649315,2.0220262,12.9658266,12.2363605,41.6471544,18.7270096 +437,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0694078,1.0564695,13.9273193,8.449126,52.9064259,18.0452936,35.1692398,69.8458359,36.4980537,48.5853312,23.2530848,3.1077053,10.6854103,9.4406137,36.929369,7.9858782,1.0861612,1.0861612,13.6571473,8.1858652,51.6090624,18.7980101,34.7046306,69.9915931,37.2898276,47.9749877,23.5887803,3.0375799,10.4113463,9.3722165,36.5029929,9.1835298,0.9897812,0.9504023,13.7891511,8.2479099,50.5942783,18.9833864,34.3722154,70.728068,37.1184628,48.93178,24.5639036,3.1605071,10.4669946,9.4221766,36.206763,11.5128474,0.8581454,0.8123109,13.3940515,8.0279209,50.153588,18.7260231,34.5750905,70.5663391,37.2766266,48.5617533,24.5096229,3.2899133,11.8986652,10.449641,36.6329734,11.2900239,0.9217819,0.8748373,13.7333968,8.4933546,49.7066618,18.3679301,35.6599037,70.9853405,38.4252208,48.9515206,25.3566606,3.3230012,11.9777365,10.6502307,35.9229517,11.5128928 +438,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0123653,1.0216472,13.7522348,9.8174025,21.9658227,21.6946956,36.895343,65.8880792,38.0141276,49.7214451,23.2370496,4.3617447,9.6393759,8.9662226,31.5836334,14.4378296,0.9501579,0.9597641,14.1564071,10.2057908,21.9845094,21.6066783,36.6108946,65.8101667,38.1342462,49.5483417,22.9365813,4.210229,9.5090684,8.4979915,31.3214879,11.9231044,0.8716804,0.8716804,14.4152042,10.3487758,22.4309514,21.741515,37.0726886,65.8838154,37.8770708,49.4365871,22.3484977,4.1423595,9.618488,8.3177907,32.2348215,13.9097744,0.8699422,0.8699422,14.9679902,10.7426497,22.4451534,21.0605143,36.8219006,65.5979966,37.2583603,48.8580403,22.3582292,4.4112985,10.220992,7.8911467,31.6447706,15.9836066,0.9967932,0.9967932,15.4784112,10.9119084,22.8938852,20.6361434,36.5188876,66.2139191,37.0299343,48.6230226,22.0647363,4.2116111,10.7099747,7.7267883,31.5386772,16.015625 +439,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4848575,0.5254867,10.50848,7.3745563,80.0871401,12.2267949,28.9357371,66.6262263,28.5603538,42.7576687,12.5744319,4.8907112,11.4791855,10.5801429,31.082591,7.6577588,0.4843483,0.5553059,10.4067212,7.3401491,78.9818137,12.3779016,29.4652062,67.0063951,28.9611768,43.4252737,12.6122123,5.0295971,11.7319884,11.2190305,31.3378193,8.3587744,0.4958897,0.5608779,10.2122756,7.3749169,77.9606816,12.4513415,29.5047693,66.5249068,28.5231161,43.3136566,12.6635244,4.6356946,11.9245382,11.0349788,31.0910319,7.2756161,0.5319125,0.596769,10.6142505,7.7909545,77.0598269,13.0476258,29.7535162,67.3680708,28.9468119,43.5128057,12.7888924,4.6118705,12.1394181,11.209831,31.6845305,6.9231238,0.5149674,0.579732,10.4738594,7.8366213,76.7203131,12.7693115,29.7170278,67.3231953,29.1294877,43.231776,12.8291226,4.4504935,12.3336953,11.1598599,31.9188866,5.8383618 +440,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6649479,0.6523594,11.6787896,7.2399583,71.9778944,8.2379405,34.9838267,65.623922,38.1796257,42.4720333,22.096664,3.684841,11.6737167,9.5439819,40.0113204,6.4995771,0.6429203,0.634997,11.2965377,6.9618656,71.2408345,8.6013385,34.8524964,65.3486391,38.1570536,42.6752568,22.0728792,3.8036263,11.4322025,9.3798658,39.70625,5.6546221,0.6476339,0.6503786,11.1967277,6.8514252,70.4841789,8.4870043,34.7719728,65.5663847,38.1892997,42.640993,22.4778172,3.870042,11.44716,9.4793314,39.9064017,5.9084991,0.6282426,0.6369661,11.1183773,6.7636277,69.6766222,8.7627793,34.7207779,65.5802185,38.1561544,42.8368988,23.0272128,4.0372989,10.8707549,9.0811124,39.3932133,5.0435722,0.5936686,0.6142579,10.8900207,6.720826,68.2576534,9.0911477,34.6300889,65.7310625,38.1248193,43.2009691,23.1306447,4.1536574,10.7092614,9.1429801,39.6027842,4.382715 +441,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0063663,0.9863681,13.6511593,8.8459528,52.4639051,16.8702366,36.491691,68.655626,37.4663613,47.833249,24.3526568,4.6378591,10.5504631,10.075255,43.3811181,7.4323907,0.9295988,0.9094736,13.9650717,9.1997392,53.3107181,16.6867323,35.7484452,68.259774,37.0845332,47.2387631,24.1690374,4.6622588,11.50628,10.7052933,44.2145288,5.4112145,0.8864203,0.8658903,13.876627,9.0343791,51.6709648,16.574551,35.8113564,68.3469771,37.2736323,48.2407016,24.3416114,4.6466056,11.4370758,11.3810751,43.4875824,5.2995367,0.9796561,0.9483336,14.234346,9.0249866,51.0544001,16.131077,35.7034505,69.0465617,37.8921613,48.1838288,24.7132445,4.3627756,11.8079626,11.5684529,43.6846755,5.5555529,0.8594817,0.8594817,13.6232052,8.6951571,50.969717,15.4726603,35.9513342,69.0695184,37.7375777,47.3930264,25.2337813,4.5711308,12.1875022,11.4042865,43.2371403,5.1075241 +442,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.87264,0.8677531,11.1865981,6.7525556,66.405968,13.8394997,36.3441141,68.5420665,36.7420275,47.9149949,20.4440652,3.2707314,11.2290776,10.5870273,33.6701106,7.4219194,0.8363733,0.8339477,11.0999089,6.7500531,65.121267,14.1509461,35.3485203,68.3183016,37.0396947,48.0243265,20.6812107,3.1689587,11.5177889,10.7902057,33.4187008,7.9634987,0.7956298,0.7925355,11.0275236,6.9539533,63.871502,14.6138616,35.1378671,68.2078578,36.9656444,48.2264529,20.7481459,3.3224923,11.5475213,10.6480273,32.8051163,7.7428104,0.8402205,0.8430192,11.3673835,7.1876489,62.7494271,14.8334401,35.0197573,67.9929708,37.2261506,48.4403188,21.0210078,3.3703606,11.8284396,10.8299778,32.6213842,7.5641263,0.7324524,0.7352387,11.3107806,6.9266396,61.2944767,14.8731439,34.9243404,67.9500569,37.5265168,48.8880064,20.9455489,3.4720118,11.93364,10.6214066,32.3991362,6.3591256 +443,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6598591,0.7083612,11.5299425,7.1770595,43.5851185,16.7469182,36.2477595,69.3747015,42.8309814,51.9422378,26.2938513,4.0289333,14.0962769,13.4748464,39.8715197,9.689915,0.8738579,0.8738579,11.4008163,6.8929011,42.7037931,17.0116813,36.1398396,68.6959896,43.7060508,51.6453047,26.9217725,4.4491459,13.4441155,12.6012311,38.6133495,7.4803091,0.8570442,0.8570442,11.8524128,7.2661602,42.9991088,17.1715157,37.0817701,68.8940241,44.3143813,51.4905215,27.0803541,4.5486486,13.4861499,13.2368903,38.3583328,7.4561273,0.8808522,0.8267329,11.3141843,7.456414,43.1840032,17.3723881,36.1117791,68.9802907,43.9180562,51.1374069,26.6033462,4.3140011,13.1813222,11.8994512,37.7241774,8.0952227,0.8836482,0.8279307,10.9649167,7.4183032,41.960641,17.749309,36.1704819,68.2210243,43.9567884,51.1395061,26.6337683,4.6778185,14.9538187,12.2674506,39.2898279,7.2815393 +444,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6177419,0.6200242,11.1405417,7.2488186,61.4478244,9.2263298,30.0401528,69.7686657,40.2208234,43.413628,21.0926299,4.382947,9.9451056,8.6665465,35.4162815,6.4793585,0.6256372,0.6379073,11.0945572,7.2698432,60.281456,8.9789549,29.8922406,70.1649814,40.4587087,43.3768782,21.4524116,4.4392527,9.7118362,8.5920395,35.3357853,6.25,0.7126693,0.7198338,11.1544361,7.1105324,59.9195559,8.9795708,29.535689,69.814656,40.3888418,42.9970347,21.3002772,4.3995416,9.9561161,8.629211,36.6961445,6.9312796,0.720519,0.7385578,11.1341268,7.1449212,59.5873768,9.035285,30.0871867,70.0852649,40.558538,42.6757977,21.2732332,4.335122,9.8577423,8.3683174,36.3644694,6.5403431,0.765217,0.7951517,11.0205475,7.0292427,59.3114776,9.0780889,30.389268,70.3873003,40.4846173,42.6177125,21.0213314,4.4185584,9.3802481,8.0033637,35.7907582,6.3329312 +445,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4241914,0.4396727,10.8006065,7.6633824,84.2922864,8.856035,29.0377826,65.0116852,24.8824453,40.6445025,11.5186565,3.3409331,12.5683994,11.6015361,33.9687663,7.7539941,0.372254,0.3876363,10.6267746,7.4926174,83.855992,8.7816337,29.3059749,64.5312083,25.7607772,41.238781,11.5467378,3.4292665,11.8907269,11.5466757,33.6133558,6.5444958,0.3846392,0.3846392,10.2911022,7.1786794,83.1789084,9.3578005,29.7652094,65.2316294,26.4185206,41.9738854,11.780993,3.7016479,12.4133622,11.4390443,33.5369014,5.7691674,0.3221656,0.3176313,10.0942694,7.0272262,82.7170838,9.7741293,29.4670239,65.7261837,26.454344,42.4707815,11.6616125,3.5035176,11.9555584,11.4799069,32.415902,6.2498573,0.3450913,0.3405043,9.9897206,6.9707527,82.2194327,10.0308049,29.4836107,65.2839878,26.0757015,42.3236957,11.4457849,3.2529813,11.7516644,11.5040855,30.8356615,5.6755499 +446,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3340292,0.3340292,6.9341873,4.4828716,83.5894342,20.0169227,29.9090068,64.8953859,27.5134712,40.5364382,11.2516863,5.5836622,11.0136854,8.0613809,34.7012622,4.1946168,0.3243758,0.3091807,7.0304812,4.5394901,82.1942406,19.8257659,29.7124022,66.3524817,28.4226103,41.0218203,11.987424,5.8035592,11.3808659,8.5342814,35.1462794,4.4407749,0.3404017,0.329806,6.9225804,4.4169552,80.6372059,19.9712642,30.2908773,66.8658579,28.5460237,41.3408364,12.3909376,5.735043,11.4698899,9.0543968,34.9319419,3.9556837,0.3353134,0.3248761,6.7502992,4.2407821,78.4637159,20.5205965,29.6785903,66.6613092,29.4875506,40.8815514,12.7147923,5.9356767,11.0276648,8.972783,34.7339996,3.6277545,0.3629778,0.3622842,6.849085,4.2866157,76.241214,20.2291734,29.867063,67.1572626,29.9936373,41.6111984,13.4377488,6.2202934,11.1340847,9.5251745,35.4006226,2.8700863 +447,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9501579,0.9597641,14.1564071,10.2057908,21.9845094,21.6066783,36.6108946,65.8101667,38.1342462,49.5483417,22.9365813,4.210229,9.5090684,8.4979915,31.3214879,11.9231044,0.8716804,0.8716804,14.4152042,10.3487758,22.4309514,21.741515,37.0726886,65.8838154,37.8770708,49.4365871,22.3484977,4.1423595,9.618488,8.3177907,32.2348215,13.9097744,0.8699422,0.8699422,14.9679902,10.7426497,22.4451534,21.0605143,36.8219006,65.5979966,37.2583603,48.8580403,22.3582292,4.4112985,10.220992,7.8911467,31.6447706,15.9836066,0.9967932,0.9967932,15.4784112,10.9119084,22.8938852,20.6361434,36.5188876,66.2139191,37.0299343,48.6230226,22.0647363,4.2116111,10.7099747,7.7267883,31.5386772,16.015625,0.949361,0.9941421,16.1361067,11.5266778,22.6559349,20.8479505,35.8234494,65.6228389,38.0087262,47.5028927,21.9965129,4.0798502,10.9758296,7.7477587,30.7319448,15.8536585 +448,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5835147,0.5692179,10.4490952,7.2255116,65.8310968,10.2480995,30.5010469,67.6896355,31.155192,47.007656,16.4996626,2.9157929,11.2886273,10.0845911,31.7492196,7.1862594,0.6063732,0.5917959,10.8011232,7.5122982,64.4059254,10.4187103,30.6060117,68.1024635,30.5634415,46.8563647,16.3568035,3.0016987,11.3095348,9.8358535,31.4884129,7.1428793,0.6251811,0.6164657,10.6526057,7.3541929,62.6520934,10.4573758,30.7389928,68.0317315,30.6103564,46.8767857,16.5880517,2.9945665,11.2011776,9.8057527,31.2500105,7.1281198,0.5777348,0.5669589,10.6768963,7.2637347,61.4057063,10.8148862,31.5166924,68.0478982,30.6023293,46.7706828,16.8577717,3.1132068,10.9156853,10.0107501,31.7899662,7.3804782,0.562437,0.5491895,10.350107,7.1407745,60.5649685,10.8708386,31.850477,67.8682424,30.7401942,45.869725,17.0022268,3.0125821,10.6333667,9.8358391,31.7919941,7.7004463 +449,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0861612,1.0861612,13.6571473,8.1858652,51.6090624,18.7980101,34.7046306,69.9915931,37.2898276,47.9749877,23.5887803,3.0375799,10.4113463,9.3722165,36.5029929,9.1835298,0.9897812,0.9504023,13.7891511,8.2479099,50.5942783,18.9833864,34.3722154,70.728068,37.1184628,48.93178,24.5639036,3.1605071,10.4669946,9.4221766,36.206763,11.5128474,0.8581454,0.8123109,13.3940515,8.0279209,50.153588,18.7260231,34.5750905,70.5663391,37.2766266,48.5617533,24.5096229,3.2899133,11.8986652,10.449641,36.6329734,11.2900239,0.9217819,0.8748373,13.7333968,8.4933546,49.7066618,18.3679301,35.6599037,70.9853405,38.4252208,48.9515206,25.3566606,3.3230012,11.9777365,10.6502307,35.9229517,11.5128928,0.7172308,0.710442,13.5601822,8.5493196,49.339515,18.3976762,36.3981476,71.5598647,39.2758336,49.0328707,26.0564351,3.1700012,12.2964204,10.2576648,35.7639026,11.6194319 +450,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8619166,0.8859937,12.0341351,6.6353187,57.733618,15.7517446,32.856661,69.4385638,38.082633,44.7563444,22.3693463,3.0896842,9.4868384,7.8769505,32.3229005,8.291449,0.7647242,0.7884734,11.9113177,6.7205262,56.7811566,16.0214308,32.162847,69.0251538,37.683449,44.881213,22.5541721,2.9874165,10.0135832,8.4578871,32.6161345,9.0243814,0.7353395,0.7587331,11.7057537,6.7108442,56.6212447,16.3825391,32.9260152,69.7246164,38.0206726,45.043043,22.5989827,2.9431959,10.4784395,8.67072,32.1259457,7.9081512,0.7454627,0.7892674,11.1244122,6.5447772,56.0105414,16.5867825,33.5694723,69.678646,38.234283,45.0760274,22.4084388,2.8161697,10.3900454,8.6531984,32.6468743,5.4687415,0.7960128,0.8403306,11.1858094,7.1527138,54.8254912,17.1582202,33.9009979,69.9613796,38.9220507,45.0667333,22.8757154,2.8616515,10.6579808,8.5449535,33.0013808,6.1497228 +451,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6256372,0.6379073,11.0945572,7.2698432,60.281456,8.9789549,29.8922406,70.1649814,40.4587087,43.3768782,21.4524116,4.4392527,9.7118362,8.5920395,35.3357853,6.25,0.7126693,0.7198338,11.1544361,7.1105324,59.9195559,8.9795708,29.535689,69.814656,40.3888418,42.9970347,21.3002772,4.3995416,9.9561161,8.629211,36.6961445,6.9312796,0.720519,0.7385578,11.1341268,7.1449212,59.5873768,9.035285,30.0871867,70.0852649,40.558538,42.6757977,21.2732332,4.335122,9.8577423,8.3683174,36.3644694,6.5403431,0.765217,0.7951517,11.0205475,7.0292427,59.3114776,9.0780889,30.389268,70.3873003,40.4846173,42.6177125,21.0213314,4.4185584,9.3802481,8.0033637,35.7907582,6.3329312,0.7500056,0.7848448,10.8873765,6.9201557,58.8866512,8.8885596,30.2802941,70.4254041,40.5178403,42.2771037,20.907462,4.5075039,9.5593778,8.0306489,36.040756,6.1160151 +452,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.8022867,0.8820281,12.8487358,8.1353236,30.1793016,15.961049,35.0694369,68.0211902,43.7859542,50.2361886,24.6096395,3.9805429,13.8520222,12.6526899,35.5756366,8.4028262,0.7587254,0.8467057,12.6215605,8.1686149,30.4430448,16.6587932,35.1339191,67.9433088,43.8420828,50.140459,24.8374775,3.751635,13.5726709,11.9957419,36.4281459,9.0472629,0.7062842,0.8151915,12.5465082,8.5586795,30.6629474,16.599009,34.9194719,67.5564375,43.7345922,49.4014706,25.159878,3.856622,13.7209359,11.6954143,35.9964695,8.7155883,0.6983708,0.8040606,12.3510423,8.1881747,31.1749165,17.3721771,35.3228156,68.0845109,43.3357264,49.2186429,25.3827392,3.9303985,13.06656,11.6776473,34.5936842,10.1941847,0.9419012,1.0465099,12.9585411,8.7585575,30.8019413,17.2968932,34.6976214,67.7668234,42.6141863,48.9775092,25.0774998,3.7829253,12.7116835,11.2000705,34.800926,12.9807817 +453,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8216149,0.8484141,11.2945904,6.4339618,58.6042055,18.7532139,31.6843279,68.9098477,36.6700634,47.0034256,21.6353641,4.0945032,10.2506352,8.6638867,36.1546002,6.4460525,0.7777958,0.7764304,11.2116519,6.2484924,57.5503574,18.9426516,31.5242111,68.475771,37.0668477,47.0747431,21.5422873,4.2211034,10.5146619,9.2463206,36.3433435,6.2724555,0.7446248,0.7344238,10.9567088,6.0586865,57.2089086,18.557854,31.7372007,67.7723928,36.0737419,45.7537013,20.6634026,3.9622565,10.3095046,9.1794178,36.1739194,5.9783302,0.6441859,0.6496788,10.778905,5.9939151,56.1875562,17.7883806,32.8371576,68.1206876,36.3058621,46.1170371,20.9293607,4.051228,9.8033801,8.8085068,35.7794708,6.5299336,0.6869814,0.7126104,10.9798084,6.2240398,55.5542709,17.9173625,33.0819406,69.0608492,36.8120428,46.1508805,21.5211931,4.1401838,9.7250505,8.9608621,35.4677185,7.3585878 +454,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9295988,0.9094736,13.9650717,9.1997392,53.3107181,16.6867323,35.7484452,68.259774,37.0845332,47.2387631,24.1690374,4.6622588,11.50628,10.7052933,44.2145288,5.4112145,0.8864203,0.8658903,13.876627,9.0343791,51.6709648,16.574551,35.8113564,68.3469771,37.2736323,48.2407016,24.3416114,4.6466056,11.4370758,11.3810751,43.4875824,5.2995367,0.9796561,0.9483336,14.234346,9.0249866,51.0544001,16.131077,35.7034505,69.0465617,37.8921613,48.1838288,24.7132445,4.3627756,11.8079626,11.5684529,43.6846755,5.5555529,0.8594817,0.8594817,13.6232052,8.6951571,50.969717,15.4726603,35.9513342,69.0695184,37.7375777,47.3930264,25.2337813,4.5711308,12.1875022,11.4042865,43.2371403,5.1075241,0.8847922,0.8961073,12.590469,8.1380403,50.1946979,15.214088,35.6844911,69.1125997,37.6033204,47.2984732,24.6259561,4.1247363,11.7455951,11.7455858,42.3831787,4.3352601 +455,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8716804,0.8716804,14.4152042,10.3487758,22.4309514,21.741515,37.0726886,65.8838154,37.8770708,49.4365871,22.3484977,4.1423595,9.618488,8.3177907,32.2348215,13.9097744,0.8699422,0.8699422,14.9679902,10.7426497,22.4451534,21.0605143,36.8219006,65.5979966,37.2583603,48.8580403,22.3582292,4.4112985,10.220992,7.8911467,31.6447706,15.9836066,0.9967932,0.9967932,15.4784112,10.9119084,22.8938852,20.6361434,36.5188876,66.2139191,37.0299343,48.6230226,22.0647363,4.2116111,10.7099747,7.7267883,31.5386772,16.015625,0.949361,0.9941421,16.1361067,11.5266778,22.6559349,20.8479505,35.8234494,65.6228389,38.0087262,47.5028927,21.9965129,4.0798502,10.9758296,7.7477587,30.7319448,15.8536585,0.9809262,1.0253388,17.0525211,12.5211907,23.5703511,21.610501,36.0352814,65.5632604,38.2150667,47.9886718,22.2840439,4.1833944,11.0462628,7.737241,30.9583443,13.9999888 +456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0767432,1.1772025,17.3175367,13.5993832,49.9724962,17.1892918,33.5204428,63.5947037,33.9299739,37.9886555,19.3976368,5.9298778,10.8552701,9.3378593,37.9413658,15.4828111,1.1956358,1.2762045,17.7133032,13.9071222,52.105311,16.5770782,33.4458986,62.7073689,33.5550213,37.6360846,19.4729881,5.5015447,10.6397927,10.0970829,38.003641,17.6229192,1.3422049,1.3697418,18.1973847,13.9896873,54.9619611,16.2271972,34.4629822,62.13052,32.9034748,38.4003441,19.7221443,4.983043,11.3196743,10.8160276,39.3024707,17.2216352,1.1726742,1.2002722,17.8064569,13.4590108,58.811255,16.6671782,34.9071562,62.9908357,33.6413056,39.2202602,19.9250451,5.1838104,11.4754158,10.5642986,39.7421119,12.1377971,1.1917723,1.2193015,17.7148948,13.7206934,62.4779461,15.547462,33.6384953,63.3171665,33.0298729,37.9657102,19.0883646,4.6596493,11.7386929,10.5655134,39.9601827,12.9620716 +457,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4089219,1.3407849,21.3703185,17.9842002,35.2693752,18.6119081,30.8999439,64.4087258,34.4185638,45.7627939,20.5004129,2.9150083,13.0716011,12.8599051,37.2089389,16.0674373,1.4846458,1.4305312,22.3372219,18.9162172,34.962164,17.764618,31.1241335,63.7428471,34.7716519,45.6639323,20.5771031,2.7612295,12.3917237,12.2083839,38.0068574,17.3432159,1.5365973,1.5290073,23.5074761,19.8123567,35.1253503,17.1085116,30.9030823,64.3138907,33.9319022,45.1043853,19.8703622,2.6567158,12.7728933,11.7476082,38.1411583,16.5584308,1.5094964,1.5245063,23.9734586,20.0935902,35.348706,17.3607666,31.7047601,64.8057214,34.4472481,45.4671976,20.7740061,3.0121999,12.8616341,10.9526851,37.8865491,17.0807241,1.4295848,1.4952988,24.6648559,20.8379091,36.4964923,16.8168029,32.0081834,64.8947654,34.428697,44.8238345,21.0824003,2.9192611,12.6048729,10.3801784,38.319823,16.5697385 +458,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8363733,0.8339477,11.0999089,6.7500531,65.121267,14.1509461,35.3485203,68.3183016,37.0396947,48.0243265,20.6812107,3.1689587,11.5177889,10.7902057,33.4187008,7.9634987,0.7956298,0.7925355,11.0275236,6.9539533,63.871502,14.6138616,35.1378671,68.2078578,36.9656444,48.2264529,20.7481459,3.3224923,11.5475213,10.6480273,32.8051163,7.7428104,0.8402205,0.8430192,11.3673835,7.1876489,62.7494271,14.8334401,35.0197573,67.9929708,37.2261506,48.4403188,21.0210078,3.3703606,11.8284396,10.8299778,32.6213842,7.5641263,0.7324524,0.7352387,11.3107806,6.9266396,61.2944767,14.8731439,34.9243404,67.9500569,37.5265168,48.8880064,20.9455489,3.4720118,11.93364,10.6214066,32.3991362,6.3591256,0.6920653,0.6901751,11.4877251,6.9987901,59.6601147,14.8863785,34.3908263,67.7753611,36.910469,48.6172611,20.7174797,3.3722593,12.0955916,11.2548481,32.7514833,6.5891714 +459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5795491,0.5448833,9.1379046,6.055777,67.2843102,15.1865259,31.4818205,67.0687682,33.3473378,44.1279549,19.0550692,3.763224,9.7469224,8.6953236,33.3904388,5.1714832,0.5699896,0.5349388,9.1946156,6.1220467,65.7811504,15.1150343,31.6433821,66.9286556,33.1457048,43.7543055,18.7388916,3.6423621,10.3809505,9.1092812,33.4600564,5.6816815,0.5445012,0.5275151,9.2279409,5.980973,64.418623,15.2769369,31.698315,67.1745967,33.3543515,43.2447462,18.8121714,3.6284984,10.7074893,9.3776422,33.5676969,5.587237,0.4263925,0.4546797,8.5795417,5.525153,62.9882117,15.5054739,32.7629825,66.9320212,32.9367826,43.4384015,18.8303631,3.8503909,10.1189265,9.0766846,33.5133823,5.5159684,0.4728685,0.4994014,8.2210744,5.2190256,61.7001796,15.431167,33.1853455,66.6989929,32.7520846,43.0214843,18.688398,3.9717175,10.0460488,8.8617139,33.1472324,4.3996485 +460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7636198,0.7313251,11.9172629,7.2973589,73.6395672,12.4113503,32.8477375,66.1739774,30.5508252,42.6946079,16.4291793,2.7541472,10.4833306,9.1229924,34.1296485,8.2848958,0.7846693,0.7523432,11.1146128,6.958445,72.0144461,12.6173186,32.2494877,67.4520349,31.3965865,43.1450056,16.7057626,2.9317695,10.5042034,9.5001901,35.1960592,8.0736613,0.7445008,0.7017951,10.5146578,6.4859736,70.0762622,12.8240565,31.5795352,67.8632751,32.5225004,43.6669648,17.5632303,2.9682827,10.0364894,8.7601692,34.9979639,8.1944444,0.7292225,0.6840359,10.5080121,6.5451135,68.4675961,12.9042565,31.2473336,68.0013039,33.6088383,43.9351673,18.0227552,3.1451277,10.381948,8.9445834,34.3622134,7.3065903,0.6285162,0.5742435,10.3889208,6.5419554,66.7797133,13.0652661,31.5046559,67.6331247,33.6818212,44.0504481,18.333693,3.265791,10.8377292,9.5636252,34.8670729,7.6149691 +461,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7647242,0.7884734,11.9113177,6.7205262,56.7811566,16.0214308,32.162847,69.0251538,37.683449,44.881213,22.5541721,2.9874165,10.0135832,8.4578871,32.6161345,9.0243814,0.7353395,0.7587331,11.7057537,6.7108442,56.6212447,16.3825391,32.9260152,69.7246164,38.0206726,45.043043,22.5989827,2.9431959,10.4784395,8.67072,32.1259457,7.9081512,0.7454627,0.7892674,11.1244122,6.5447772,56.0105414,16.5867825,33.5694723,69.678646,38.234283,45.0760274,22.4084388,2.8161697,10.3900454,8.6531984,32.6468743,5.4687415,0.7960128,0.8403306,11.1858094,7.1527138,54.8254912,17.1582202,33.9009979,69.9613796,38.9220507,45.0667333,22.8757154,2.8616515,10.6579808,8.5449535,33.0013808,6.1497228,0.8258003,0.8702448,11.1398163,6.9387105,55.0747882,17.181,33.725012,69.0810189,37.7586849,44.6685465,22.5359567,2.8235651,10.5425737,8.9064645,33.1611709,5.2197745 +462,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7353395,0.7587331,11.7057537,6.7108442,56.6212447,16.3825391,32.9260152,69.7246164,38.0206726,45.043043,22.5989827,2.9431959,10.4784395,8.67072,32.1259457,7.9081512,0.7454627,0.7892674,11.1244122,6.5447772,56.0105414,16.5867825,33.5694723,69.678646,38.234283,45.0760274,22.4084388,2.8161697,10.3900454,8.6531984,32.6468743,5.4687415,0.7960128,0.8403306,11.1858094,7.1527138,54.8254912,17.1582202,33.9009979,69.9613796,38.9220507,45.0667333,22.8757154,2.8616515,10.6579808,8.5449535,33.0013808,6.1497228,0.8258003,0.8702448,11.1398163,6.9387105,55.0747882,17.181,33.725012,69.0810189,37.7586849,44.6685465,22.5359567,2.8235651,10.5425737,8.9064645,33.1611709,5.2197745,0.7888438,0.8343722,10.7155457,7.0676981,54.2654152,17.3643179,34.0452353,69.4723506,38.2806851,45.1364098,22.6669145,3.1765919,10.586994,8.7946744,34.0224405,5.1912568 +463,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7956298,0.7925355,11.0275236,6.9539533,63.871502,14.6138616,35.1378671,68.2078578,36.9656444,48.2264529,20.7481459,3.3224923,11.5475213,10.6480273,32.8051163,7.7428104,0.8402205,0.8430192,11.3673835,7.1876489,62.7494271,14.8334401,35.0197573,67.9929708,37.2261506,48.4403188,21.0210078,3.3703606,11.8284396,10.8299778,32.6213842,7.5641263,0.7324524,0.7352387,11.3107806,6.9266396,61.2944767,14.8731439,34.9243404,67.9500569,37.5265168,48.8880064,20.9455489,3.4720118,11.93364,10.6214066,32.3991362,6.3591256,0.6920653,0.6901751,11.4877251,6.9987901,59.6601147,14.8863785,34.3908263,67.7753611,36.910469,48.6172611,20.7174797,3.3722593,12.0955916,11.2548481,32.7514833,6.5891714,0.624376,0.6438692,11.2614778,6.7354753,57.286745,15.1017143,34.6189388,67.4833634,36.9995746,48.6550863,20.4745844,3.5476943,12.0136784,11.15249,32.5022911,5.2000253 +464,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.809839,0.8010976,13.1090593,7.8990198,50.1338495,17.3942006,35.0286833,68.5751339,38.4619583,52.0334824,21.885879,3.2177081,11.4423829,9.8542567,33.3407591,7.4386423,0.7750616,0.7661308,13.5565705,8.100271,47.557835,17.3555097,35.6262974,69.6317855,39.3797992,52.6609271,22.5785305,3.0555731,11.8907189,10.0035736,31.7884222,8.9743169,0.7014353,0.6924591,14.0303437,8.4779691,46.1735883,16.6783899,36.5966418,69.3913065,39.0376255,53.112365,22.5508626,3.2518256,11.8604359,10.4188698,32.4703255,8.4183249,0.8193421,0.8102803,14.0758022,8.5328931,46.1651481,16.3298862,37.3479052,68.5446738,38.8024698,52.5982423,22.6801301,3.5527538,11.381993,9.9506935,32.6799375,8.793924,0.8571017,0.8559955,14.2127201,8.8903102,44.8641585,15.8300678,37.4567494,68.7716288,38.5404318,52.6040694,22.7201438,3.7263873,11.0547866,9.7527842,32.6261374,8.8235341 +465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6429203,0.634997,11.2965377,6.9618656,71.2408345,8.6013385,34.8524964,65.3486391,38.1570536,42.6752568,22.0728792,3.8036263,11.4322025,9.3798658,39.70625,5.6546221,0.6476339,0.6503786,11.1967277,6.8514252,70.4841789,8.4870043,34.7719728,65.5663847,38.1892997,42.640993,22.4778172,3.870042,11.44716,9.4793314,39.9064017,5.9084991,0.6282426,0.6369661,11.1183773,6.7636277,69.6766222,8.7627793,34.7207779,65.5802185,38.1561544,42.8368988,23.0272128,4.0372989,10.8707549,9.0811124,39.3932133,5.0435722,0.5936686,0.6142579,10.8900207,6.720826,68.2576534,9.0911477,34.6300889,65.7310625,38.1248193,43.2009691,23.1306447,4.1536574,10.7092614,9.1429801,39.6027842,4.382715,0.5969902,0.617048,10.7615243,6.6392647,67.7913786,9.4051321,33.871035,65.6956316,38.4930886,43.3943973,23.1439896,4.1068915,10.3881762,8.9701394,39.3005937,5.0776571 +466,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8699422,0.8699422,14.9679902,10.7426497,22.4451534,21.0605143,36.8219006,65.5979966,37.2583603,48.8580403,22.3582292,4.4112985,10.220992,7.8911467,31.6447706,15.9836066,0.9967932,0.9967932,15.4784112,10.9119084,22.8938852,20.6361434,36.5188876,66.2139191,37.0299343,48.6230226,22.0647363,4.2116111,10.7099747,7.7267883,31.5386772,16.015625,0.949361,0.9941421,16.1361067,11.5266778,22.6559349,20.8479505,35.8234494,65.6228389,38.0087262,47.5028927,21.9965129,4.0798502,10.9758296,7.7477587,30.7319448,15.8536585,0.9809262,1.0253388,17.0525211,12.5211907,23.5703511,21.610501,36.0352814,65.5632604,38.2150667,47.9886718,22.2840439,4.1833944,11.0462628,7.737241,30.9583443,13.9999888,0.9871916,1.0445376,17.2147317,12.7227908,25.0001167,20.938925,36.2955463,65.3744738,37.4928759,47.7542069,22.0760534,4.0138252,11.6025211,7.7049693,30.4439921,15.5302913 +467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3243758,0.3091807,7.0304812,4.5394901,82.1942406,19.8257659,29.7124022,66.3524817,28.4226103,41.0218203,11.987424,5.8035592,11.3808659,8.5342814,35.1462794,4.4407749,0.3404017,0.329806,6.9225804,4.4169552,80.6372059,19.9712642,30.2908773,66.8658579,28.5460237,41.3408364,12.3909376,5.735043,11.4698899,9.0543968,34.9319419,3.9556837,0.3353134,0.3248761,6.7502992,4.2407821,78.4637159,20.5205965,29.6785903,66.6613092,29.4875506,40.8815514,12.7147923,5.9356767,11.0276648,8.972783,34.7339996,3.6277545,0.3629778,0.3622842,6.849085,4.2866157,76.241214,20.2291734,29.867063,67.1572626,29.9936373,41.6111984,13.4377488,6.2202934,11.1340847,9.5251745,35.4006226,2.8700863,0.4267129,0.433376,7.0424766,4.1680094,72.5112883,20.5827032,30.3502296,67.7859143,30.4144805,42.3681466,14.1548437,6.1535673,10.5154122,9.601619,35.208374,2.0123777 +468,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6669325,0.6755995,14.1122258,9.282527,67.657171,15.6821458,39.053661,67.9802345,35.7203277,48.206209,21.5113136,2.6694972,10.9658419,9.4284178,34.557637,10.6522081,0.7082089,0.7342777,13.6781965,8.9375437,66.8249645,16.1303993,38.7485742,67.8348601,36.2230433,48.8791117,21.4670966,2.9937603,10.1222184,8.6390248,33.733335,9.7510707,0.6945068,0.7031964,13.4422194,8.8358543,65.9901737,16.5679658,38.5390088,67.9574647,36.3262401,48.5532043,21.2907966,3.0212822,10.6762616,9.4083159,34.0556426,10.2510793,0.7298049,0.7362883,13.1404104,8.7648919,65.0256443,17.0919853,38.4431337,67.525348,37.0917825,49.1976592,21.5512554,3.1390818,10.4221664,9.2612122,33.9077267,10.5603697,0.5502331,0.5835924,12.9922443,8.6106569,63.7773545,17.6281188,38.1841206,67.5694674,37.4543987,49.4948275,21.9618434,3.3258537,10.4663521,9.3534647,33.6082844,9.375026 +469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4843483,0.5553059,10.4067212,7.3401491,78.9818137,12.3779016,29.4652062,67.0063951,28.9611768,43.4252737,12.6122123,5.0295971,11.7319884,11.2190305,31.3378193,8.3587744,0.4958897,0.5608779,10.2122756,7.3749169,77.9606816,12.4513415,29.5047693,66.5249068,28.5231161,43.3136566,12.6635244,4.6356946,11.9245382,11.0349788,31.0910319,7.2756161,0.5319125,0.596769,10.6142505,7.7909545,77.0598269,13.0476258,29.7535162,67.3680708,28.9468119,43.5128057,12.7888924,4.6118705,12.1394181,11.209831,31.6845305,6.9231238,0.5149674,0.579732,10.4738594,7.8366213,76.7203131,12.7693115,29.7170278,67.3231953,29.1294877,43.231776,12.8291226,4.4504935,12.3336953,11.1598599,31.9188866,5.8383618,0.4965346,0.5647806,10.9541035,8.0004135,76.3359893,13.1471201,29.8099263,67.4044396,29.1189859,43.0036559,12.8374139,4.3727265,12.3705613,10.4487491,32.4667187,5.8908418 +470,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6804237,0.7320972,10.0616495,6.4995932,73.5559982,16.0452344,32.5408159,65.6665324,33.4141146,44.0298246,18.3397758,5.5884456,10.0934864,8.5551312,33.4459587,6.3071161,0.6921649,0.722046,10.0108081,6.573221,72.203597,16.8517051,31.9152868,65.7743963,33.9293606,44.5287679,18.9275047,5.6431298,10.4392405,8.8071469,33.622734,5.258287,0.62095,0.6577755,9.8923601,6.2643902,71.2775203,17.4268479,32.21575,65.9880372,34.9413853,45.3315621,19.1467324,5.6131762,10.520957,8.9067018,33.9818658,5.2102203,0.6365161,0.6519064,9.6702145,6.1579527,70.1818951,17.7477713,31.5330212,65.8938007,34.8307378,45.4008084,19.2372274,5.5084583,10.6653084,8.7039174,33.4263085,6.4053358,0.6210244,0.6046365,9.7787903,6.1884336,69.218111,18.3179637,31.5375366,66.2070639,34.8143058,45.3903107,18.919475,5.4632556,10.6856014,8.932677,33.3285191,6.6479401 +471,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7082089,0.7342777,13.6781965,8.9375437,66.8249645,16.1303993,38.7485742,67.8348601,36.2230433,48.8791117,21.4670966,2.9937603,10.1222184,8.6390248,33.733335,9.7510707,0.6945068,0.7031964,13.4422194,8.8358543,65.9901737,16.5679658,38.5390088,67.9574647,36.3262401,48.5532043,21.2907966,3.0212822,10.6762616,9.4083159,34.0556426,10.2510793,0.7298049,0.7362883,13.1404104,8.7648919,65.0256443,17.0919853,38.4431337,67.525348,37.0917825,49.1976592,21.5512554,3.1390818,10.4221664,9.2612122,33.9077267,10.5603697,0.5502331,0.5835924,12.9922443,8.6106569,63.7773545,17.6281188,38.1841206,67.5694674,37.4543987,49.4948275,21.9618434,3.3258537,10.4663521,9.3534647,33.6082844,9.375026,0.6703857,0.7121379,13.0333081,8.5191309,62.7365128,17.4992943,37.0963091,66.8290942,37.1519745,49.4293393,21.4225941,3.0762781,10.3035106,8.9770792,33.6810534,10.5603743 +472,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1134339,1.083591,22.896594,19.3312828,34.9369988,21.0423151,35.2874057,67.563669,34.6321326,48.4255381,21.8903908,3.0895828,10.8641173,9.4464152,29.79506,15.0073293,1.0661065,1.036228,23.5331448,19.6429208,34.9635156,20.6845665,35.3834644,67.5459843,34.3326224,47.9936793,22.0558377,3.169041,11.7291198,9.8116917,30.0305804,11.303998,0.9967259,0.9671331,23.6936341,19.8587843,36.3559377,20.3346508,34.8238338,68.075841,34.6884519,47.8207877,21.5689108,3.7827605,11.0242069,9.3733587,30.4042685,10.3369268,1.1940179,1.1940179,24.9296351,20.7332222,37.5024583,20.5122351,34.9032276,67.3365091,35.557878,47.2093137,21.6049626,4.6640736,11.3608532,10.0600438,30.0046621,11.4705136,1.4140593,1.5055884,26.3758232,22.0022182,38.3165423,19.8747844,35.5880099,67.0497224,34.7868786,47.3064416,21.3543535,4.9974794,11.8856796,9.7380698,30.2457419,12.0387238 +473,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4237388,0.4177864,8.0026965,4.9797534,79.7736329,16.0942031,26.9332317,63.8031203,29.0182153,38.4402217,15.8749038,6.9261211,9.3356006,7.7577851,36.0812243,4.2528745,0.3810828,0.3810828,7.8314816,4.7411478,77.8684282,16.7639624,27.2762378,64.5190374,29.5910508,39.0303464,16.3194469,6.8526609,9.1615673,7.6687142,36.478146,5.2325594,0.3590852,0.3590852,7.8617141,4.5515153,76.422233,16.6283852,27.271552,63.9270031,29.5754591,38.9981829,16.8910204,6.767598,9.2887264,7.7193835,37.004728,5.0000011,0.3832584,0.3832584,7.6933362,4.432761,74.2807636,16.60589,27.8071317,63.5270849,29.9207413,39.9867868,17.3447849,7.0919172,9.3509651,7.8313279,37.5303348,4.4520558,0.3759162,0.3840722,7.329475,4.3041739,71.8169346,16.4181126,28.9331161,63.7557576,30.5578147,40.387217,17.3165482,7.3246682,9.0110478,7.5201234,37.4113576,5.1558765 +474,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.3516683,1.3937595,20.8630259,15.653982,29.2844524,15.9242124,37.4030503,63.0825076,31.8543394,50.571114,24.2372225,4.8691801,15.5095416,11.7524095,33.4812493,15.8448026,1.2453174,1.2453174,20.7346023,16.0739381,30.1506981,15.5864137,36.266464,64.2679731,32.4976514,50.4305867,24.4738474,4.9808997,14.6675462,11.6618163,32.5223903,15.6247396,1.1224037,1.1140742,20.402827,16.0326279,30.8543795,14.8756522,36.3139408,66.7414456,32.8207174,51.0172196,24.9842729,4.8572826,13.9470996,11.6796824,31.4256961,14.6256116,1.0339665,1.0256749,19.8132928,15.468361,31.3447508,15.146437,35.4879109,67.3511125,32.9086282,51.0942632,25.2377283,5.4444556,14.0182958,11.7044218,31.0054542,15.408805,0.913021,0.955606,18.9152123,14.9867242,33.2932547,15.9686386,35.4298357,67.5041789,33.5968472,51.712495,25.8969207,5.8994821,13.0452876,10.7701008,30.9054339,14.7058824 +475,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9677035,0.9003383,19.0142995,15.2981557,28.8557892,19.9705755,36.474197,65.2168374,37.5701498,47.648984,22.0369799,3.2400969,11.3534425,8.9769091,36.4472962,18.4849091,1.1302872,1.0176315,18.5689052,15.2734011,29.3616748,19.9961883,36.2010647,64.2296777,37.3226599,46.4241199,21.2527369,3.0559349,11.9633995,8.7885485,36.0455852,18.263522,1.2166251,1.1110122,19.9876533,16.4207659,30.764096,18.9943171,36.4721759,63.6163671,36.0685287,46.5675726,20.9267246,2.9465241,12.4045999,9.6675123,36.6636985,16.8639253,1.1879024,1.0615438,20.7186585,17.0150145,32.2907554,19.212564,36.8878216,63.6019287,35.1068746,46.549426,20.2385866,3.0511687,12.4714405,9.3803702,37.8134705,16.4739884,1.2308423,1.0972185,20.9431441,16.9327415,33.3397892,19.019239,37.0080857,63.1708363,34.6850644,46.4445536,20.1054883,2.8846085,12.5624253,9.2648107,36.999665,18.209899 +476,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4203266,0.4376715,8.0519773,5.0070098,48.8583373,16.1755496,31.9056316,67.2355784,35.0505767,47.6582594,17.2710455,3.5364218,9.6775465,8.4439239,29.2918095,4.0372746,0.4161409,0.445201,7.8586534,4.8258837,47.4077294,15.7270775,31.725727,67.4056255,35.4348526,48.3719108,17.1971682,3.272583,9.3434789,8.3922585,28.8499207,4.464291,0.4058111,0.4348806,8.2838991,4.9107867,45.232083,16.0761819,32.1793405,67.5157557,36.4881468,49.0334565,18.1573284,3.3444943,8.9775006,8.5699229,27.9427,3.9393987,0.3774611,0.4071757,8.5477964,5.0225465,42.5680153,15.947114,33.287337,67.9473566,36.9585252,48.6646343,18.7577016,3.3422181,9.3539217,8.9936787,27.8704485,3.6184234,0.3871466,0.417509,8.8491014,5.5185901,41.5049322,16.3676745,33.774935,67.6898803,37.1087547,48.1325881,18.6210924,3.6292737,9.0730191,8.7850471,27.304855,3 +477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6063732,0.5917959,10.8011232,7.5122982,64.4059254,10.4187103,30.6060117,68.1024635,30.5634415,46.8563647,16.3568035,3.0016987,11.3095348,9.8358535,31.4884129,7.1428793,0.6251811,0.6164657,10.6526057,7.3541929,62.6520934,10.4573758,30.7389928,68.0317315,30.6103564,46.8767857,16.5880517,2.9945665,11.2011776,9.8057527,31.2500105,7.1281198,0.5777348,0.5669589,10.6768963,7.2637347,61.4057063,10.8148862,31.5166924,68.0478982,30.6023293,46.7706828,16.8577717,3.1132068,10.9156853,10.0107501,31.7899662,7.3804782,0.562437,0.5491895,10.350107,7.1407745,60.5649685,10.8708386,31.850477,67.8682424,30.7401942,45.869725,17.0022268,3.0125821,10.6333667,9.8358391,31.7919941,7.7004463,0.5122302,0.512695,9.968867,6.8559119,58.9737833,11.0737724,31.8229683,67.4984852,30.7524117,46.0419069,17.0009098,3.038298,10.509476,9.9525427,31.8704562,7.4193763 +478,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6921649,0.722046,10.0108081,6.573221,72.203597,16.8517051,31.9152868,65.7743963,33.9293606,44.5287679,18.9275047,5.6431298,10.4392405,8.8071469,33.622734,5.258287,0.62095,0.6577755,9.8923601,6.2643902,71.2775203,17.4268479,32.21575,65.9880372,34.9413853,45.3315621,19.1467324,5.6131762,10.520957,8.9067018,33.9818658,5.2102203,0.6365161,0.6519064,9.6702145,6.1579527,70.1818951,17.7477713,31.5330212,65.8938007,34.8307378,45.4008084,19.2372274,5.5084583,10.6653084,8.7039174,33.4263085,6.4053358,0.6210244,0.6046365,9.7787903,6.1884336,69.218111,18.3179637,31.5375366,66.2070639,34.8143058,45.3903107,18.919475,5.4632556,10.6856014,8.932677,33.3285191,6.6479401,0.6204291,0.6038363,9.6465117,6.0663611,68.1059276,18.530492,31.1083322,66.382062,35.0350909,45.6739645,19.3150676,5.596575,10.8438307,9.2024867,33.5308941,6.952381 +479,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8864203,0.8658903,13.876627,9.0343791,51.6709648,16.574551,35.8113564,68.3469771,37.2736323,48.2407016,24.3416114,4.6466056,11.4370758,11.3810751,43.4875824,5.2995367,0.9796561,0.9483336,14.234346,9.0249866,51.0544001,16.131077,35.7034505,69.0465617,37.8921613,48.1838288,24.7132445,4.3627756,11.8079626,11.5684529,43.6846755,5.5555529,0.8594817,0.8594817,13.6232052,8.6951571,50.969717,15.4726603,35.9513342,69.0695184,37.7375777,47.3930264,25.2337813,4.5711308,12.1875022,11.4042865,43.2371403,5.1075241,0.8847922,0.8961073,12.590469,8.1380403,50.1946979,15.214088,35.6844911,69.1125997,37.6033204,47.2984732,24.6259561,4.1247363,11.7455951,11.7455858,42.3831787,4.3352601,1.026144,1.0280655,13.3460216,8.6863098,49.6268222,15.0653389,35.2223139,69.2449227,37.6407941,46.70674,25.1882092,3.7820914,11.9296635,11.7283911,41.1567883,5.0595208 +480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4958897,0.5608779,10.2122756,7.3749169,77.9606816,12.4513415,29.5047693,66.5249068,28.5231161,43.3136566,12.6635244,4.6356946,11.9245382,11.0349788,31.0910319,7.2756161,0.5319125,0.596769,10.6142505,7.7909545,77.0598269,13.0476258,29.7535162,67.3680708,28.9468119,43.5128057,12.7888924,4.6118705,12.1394181,11.209831,31.6845305,6.9231238,0.5149674,0.579732,10.4738594,7.8366213,76.7203131,12.7693115,29.7170278,67.3231953,29.1294877,43.231776,12.8291226,4.4504935,12.3336953,11.1598599,31.9188866,5.8383618,0.4965346,0.5647806,10.9541035,8.0004135,76.3359893,13.1471201,29.8099263,67.4044396,29.1189859,43.0036559,12.8374139,4.3727265,12.3705613,10.4487491,32.4667187,5.8908418,0.3969853,0.4563875,10.4709308,7.58463,76.1236405,12.7628755,30.0507543,67.119752,28.3487954,41.9871346,12.4557842,4.2330028,12.5107026,10.9195655,32.6022425,4.407339 +481,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6251811,0.6164657,10.6526057,7.3541929,62.6520934,10.4573758,30.7389928,68.0317315,30.6103564,46.8767857,16.5880517,2.9945665,11.2011776,9.8057527,31.2500105,7.1281198,0.5777348,0.5669589,10.6768963,7.2637347,61.4057063,10.8148862,31.5166924,68.0478982,30.6023293,46.7706828,16.8577717,3.1132068,10.9156853,10.0107501,31.7899662,7.3804782,0.562437,0.5491895,10.350107,7.1407745,60.5649685,10.8708386,31.850477,67.8682424,30.7401942,45.869725,17.0022268,3.0125821,10.6333667,9.8358391,31.7919941,7.7004463,0.5122302,0.512695,9.968867,6.8559119,58.9737833,11.0737724,31.8229683,67.4984852,30.7524117,46.0419069,17.0009098,3.038298,10.509476,9.9525427,31.8704562,7.4193763,0.4948802,0.509552,9.7511303,6.6289577,58.0713094,10.9020251,31.4055225,67.5959966,30.7142889,46.121342,16.8586846,3.0030711,10.5270657,9.8700986,31.4362759,7.7367454 +482,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5699896,0.5349388,9.1946156,6.1220467,65.7811504,15.1150343,31.6433821,66.9286556,33.1457048,43.7543055,18.7388916,3.6423621,10.3809505,9.1092812,33.4600564,5.6816815,0.5445012,0.5275151,9.2279409,5.980973,64.418623,15.2769369,31.698315,67.1745967,33.3543515,43.2447462,18.8121714,3.6284984,10.7074893,9.3776422,33.5676969,5.587237,0.4263925,0.4546797,8.5795417,5.525153,62.9882117,15.5054739,32.7629825,66.9320212,32.9367826,43.4384015,18.8303631,3.8503909,10.1189265,9.0766846,33.5133823,5.5159684,0.4728685,0.4994014,8.2210744,5.2190256,61.7001796,15.431167,33.1853455,66.6989929,32.7520846,43.0214843,18.688398,3.9717175,10.0460488,8.8617139,33.1472324,4.3996485,0.5160855,0.564005,8.1545955,5.0913318,59.7840846,15.3448255,33.4934539,66.666939,33.357504,43.7316923,18.613113,3.6874238,10.2140372,8.9433287,33.0335735,4.5130679 +483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7454627,0.7892674,11.1244122,6.5447772,56.0105414,16.5867825,33.5694723,69.678646,38.234283,45.0760274,22.4084388,2.8161697,10.3900454,8.6531984,32.6468743,5.4687415,0.7960128,0.8403306,11.1858094,7.1527138,54.8254912,17.1582202,33.9009979,69.9613796,38.9220507,45.0667333,22.8757154,2.8616515,10.6579808,8.5449535,33.0013808,6.1497228,0.8258003,0.8702448,11.1398163,6.9387105,55.0747882,17.181,33.725012,69.0810189,37.7586849,44.6685465,22.5359567,2.8235651,10.5425737,8.9064645,33.1611709,5.2197745,0.7888438,0.8343722,10.7155457,7.0676981,54.2654152,17.3643179,34.0452353,69.4723506,38.2806851,45.1364098,22.6669145,3.1765919,10.586994,8.7946744,34.0224405,5.1912568,0.8000332,0.8022269,11.0070695,7.2261453,53.680547,16.8215909,34.2428655,70.3830631,39.0133477,45.6993116,22.8225488,3.0899842,10.5795953,9.1450608,33.9048422,5.5851064 +484,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7991004,1.7991004,23.0830671,19.0894569,56.6831683,7.5396825,38.2447665,64.9758454,27.294686,48.0676329,21.0144928,5.2334944,13.117284,10.6811146,35.6697819,13.7168142,1.8611521,1.8611521,25.7886435,22.0031546,56.6935484,7.2429907,38.0537975,66.5348101,28.085443,49.7626582,20.806962,6.25,12.191358,10.6811146,33.8006231,15.4166667,1.5870719,1.5870719,26.6923077,23,55.7936508,7.2629969,37.3839009,66.3312693,28.7151703,48.2198142,20.5108359,6.1145511,11.6459627,9.7826087,33.0721003,16.8103448,1.1995134,1.1995134,27.265745,23.5791091,57.0859873,6.3846154,38.299532,66.3806552,28.6271451,47.6599064,19.1107644,5.5382215,12.5,10.0308642,34.84375,17.2268908,1.2090559,1.2813102,28.2575758,23.4090909,58.1081081,5.5810398,40.0154799,67.5696594,29.1795666,46.3622291,18.0340557,5.1857585,13.0630631,9.7305389,34.3939394,16.015625 +485,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7777958,0.7764304,11.2116519,6.2484924,57.5503574,18.9426516,31.5242111,68.475771,37.0668477,47.0747431,21.5422873,4.2211034,10.5146619,9.2463206,36.3433435,6.2724555,0.7446248,0.7344238,10.9567088,6.0586865,57.2089086,18.557854,31.7372007,67.7723928,36.0737419,45.7537013,20.6634026,3.9622565,10.3095046,9.1794178,36.1739194,5.9783302,0.6441859,0.6496788,10.778905,5.9939151,56.1875562,17.7883806,32.8371576,68.1206876,36.3058621,46.1170371,20.9293607,4.051228,9.8033801,8.8085068,35.7794708,6.5299336,0.6869814,0.7126104,10.9798084,6.2240398,55.5542709,17.9173625,33.0819406,69.0608492,36.8120428,46.1508805,21.5211931,4.1401838,9.7250505,8.9608621,35.4677185,7.3585878,0.5964097,0.6492429,10.890759,6.3452579,54.6244895,18.1320248,33.8583152,69.1841354,36.9816337,45.7322955,21.9305216,4.2407009,9.9161469,9.5969399,35.8532814,8.0392724 +486,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4161409,0.445201,7.8586534,4.8258837,47.4077294,15.7270775,31.725727,67.4056255,35.4348526,48.3719108,17.1971682,3.272583,9.3434789,8.3922585,28.8499207,4.464291,0.4058111,0.4348806,8.2838991,4.9107867,45.232083,16.0761819,32.1793405,67.5157557,36.4881468,49.0334565,18.1573284,3.3444943,8.9775006,8.5699229,27.9427,3.9393987,0.3774611,0.4071757,8.5477964,5.0225465,42.5680153,15.947114,33.287337,67.9473566,36.9585252,48.6646343,18.7577016,3.3422181,9.3539217,8.9936787,27.8704485,3.6184234,0.3871466,0.417509,8.8491014,5.5185901,41.5049322,16.3676745,33.774935,67.6898803,37.1087547,48.1325881,18.6210924,3.6292737,9.0730191,8.7850471,27.304855,3,0.3922854,0.4234665,9.049282,5.8018398,40.6175109,16.0540826,34.9113888,68.2949689,37.0252136,49.1260938,19.3530389,3.9601243,9.6308338,9.2684501,27.0045498,2.464787 +487,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.372254,0.3876363,10.6267746,7.4926174,83.855992,8.7816337,29.3059749,64.5312083,25.7607772,41.238781,11.5467378,3.4292665,11.8907269,11.5466757,33.6133558,6.5444958,0.3846392,0.3846392,10.2911022,7.1786794,83.1789084,9.3578005,29.7652094,65.2316294,26.4185206,41.9738854,11.780993,3.7016479,12.4133622,11.4390443,33.5369014,5.7691674,0.3221656,0.3176313,10.0942694,7.0272262,82.7170838,9.7741293,29.4670239,65.7261837,26.454344,42.4707815,11.6616125,3.5035176,11.9555584,11.4799069,32.415902,6.2498573,0.3450913,0.3405043,9.9897206,6.9707527,82.2194327,10.0308049,29.4836107,65.2839878,26.0757015,42.3236957,11.4457849,3.2529813,11.7516644,11.5040855,30.8356615,5.6755499,0.3121757,0.307561,9.5994449,6.5878686,81.9454057,9.9070669,29.0640646,66.1871795,26.6378085,42.6864506,11.3519132,3.4835332,11.1434714,10.6911465,30.2787988,5.0526955 +488,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5663212,0.5663212,13.7910427,11.3980655,45.0453428,32.4748426,28.2886116,67.4969029,36.4624708,45.147256,20.1150717,4.7892693,16.9690878,11.0390757,34.2523281,5.118211,0.5493819,0.471317,13.6876171,11.0625827,47.4057722,32.1874648,28.0890839,68.2166015,36.4970254,43.376094,19.2994815,4.9044574,16.4083303,11.5285023,34.6861416,5.8140436,0.6602931,0.5829527,12.7937225,9.9506731,48.3352252,32.6543134,27.6101239,67.4844118,36.9184054,42.7046344,19.6856317,4.9685468,15.0633171,9.7715459,33.8876868,5.8594666,0.821647,0.7436734,13.8646658,10.7278636,50.2604661,31.462881,28.7274901,67.1594108,37.7251636,40.9385725,18.3163023,4.9485855,16.9333355,11.8983575,34.9058079,7.2035424,0.6840288,0.6033174,13.86733,10.7422833,50.0669365,31.2256312,30.1723435,68.103426,36.2734312,39.8543877,17.4404517,4.5756003,15.5220326,10.9115997,32.2714549,6.5791205 +489,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6476339,0.6503786,11.1967277,6.8514252,70.4841789,8.4870043,34.7719728,65.5663847,38.1892997,42.640993,22.4778172,3.870042,11.44716,9.4793314,39.9064017,5.9084991,0.6282426,0.6369661,11.1183773,6.7636277,69.6766222,8.7627793,34.7207779,65.5802185,38.1561544,42.8368988,23.0272128,4.0372989,10.8707549,9.0811124,39.3932133,5.0435722,0.5936686,0.6142579,10.8900207,6.720826,68.2576534,9.0911477,34.6300889,65.7310625,38.1248193,43.2009691,23.1306447,4.1536574,10.7092614,9.1429801,39.6027842,4.382715,0.5969902,0.617048,10.7615243,6.6392647,67.7913786,9.4051321,33.871035,65.6956316,38.4930886,43.3943973,23.1439896,4.1068915,10.3881762,8.9701394,39.3005937,5.0776571,0.594703,0.6058734,10.8081818,6.6811602,67.4455787,9.5419853,33.5579586,65.8493424,38.6243876,43.3658269,23.2530101,4.1822007,10.5433009,9.1859625,39.6197353,4.9418593 +490,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6047876,0.6387183,10.5465503,6.8047471,48.001525,13.2084884,31.0615397,68.2045698,37.3928681,48.6189972,18.3050027,5.2799795,10.7413934,9.8696281,30.8355243,4.7036642,0.5356582,0.5781791,10.2631153,6.6229956,46.4012121,13.515162,30.3783895,68.4683751,37.6324517,48.6120909,18.9263462,5.5067822,10.3855075,9.8929288,31.1158084,6.3461376,0.559503,0.6024845,10.6137334,7.1723624,45.4434115,13.0382534,30.3889316,68.4443791,38.1743315,47.8744019,19.3175353,5.6395918,10.9519016,10.8449592,31.9510089,7.5024842,0.5312135,0.5788797,10.6881158,7.0971799,45.2805883,13.278675,30.6372717,68.2338841,38.7404641,48.5474427,19.8049597,5.861489,10.4210546,10.2494407,32.0821091,9.1174135,0.4174974,0.4174974,10.6406984,7.1803087,43.881419,13.1528355,31.0757701,68.5734313,39.3339744,49.0211004,20.3742494,5.9289618,10.569464,10.0718365,32.7360819,8.8098015 +491,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7446248,0.7344238,10.9567088,6.0586865,57.2089086,18.557854,31.7372007,67.7723928,36.0737419,45.7537013,20.6634026,3.9622565,10.3095046,9.1794178,36.1739194,5.9783302,0.6441859,0.6496788,10.778905,5.9939151,56.1875562,17.7883806,32.8371576,68.1206876,36.3058621,46.1170371,20.9293607,4.051228,9.8033801,8.8085068,35.7794708,6.5299336,0.6869814,0.7126104,10.9798084,6.2240398,55.5542709,17.9173625,33.0819406,69.0608492,36.8120428,46.1508805,21.5211931,4.1401838,9.7250505,8.9608621,35.4677185,7.3585878,0.5964097,0.6492429,10.890759,6.3452579,54.6244895,18.1320248,33.8583152,69.1841354,36.9816337,45.7322955,21.9305216,4.2407009,9.9161469,9.5969399,35.8532814,8.0392724,0.5752195,0.6539246,10.801206,6.3061867,54.2026037,17.8197683,33.744089,68.9108316,37.2390832,45.5025123,22.0400634,4.1587481,9.8208006,9.5522813,35.4828866,8.167386 +492,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8402205,0.8430192,11.3673835,7.1876489,62.7494271,14.8334401,35.0197573,67.9929708,37.2261506,48.4403188,21.0210078,3.3703606,11.8284396,10.8299778,32.6213842,7.5641263,0.7324524,0.7352387,11.3107806,6.9266396,61.2944767,14.8731439,34.9243404,67.9500569,37.5265168,48.8880064,20.9455489,3.4720118,11.93364,10.6214066,32.3991362,6.3591256,0.6920653,0.6901751,11.4877251,6.9987901,59.6601147,14.8863785,34.3908263,67.7753611,36.910469,48.6172611,20.7174797,3.3722593,12.0955916,11.2548481,32.7514833,6.5891714,0.624376,0.6438692,11.2614778,6.7354753,57.286745,15.1017143,34.6189388,67.4833634,36.9995746,48.6550863,20.4745844,3.5476943,12.0136784,11.15249,32.5022911,5.2000253,0.6395919,0.6412607,11.3399753,6.8376728,54.8353928,15.0629381,35.83162,67.485662,36.8547713,48.4343275,20.7487222,3.3870758,11.9454531,11.1929177,32.3529587,5.9065643 +493,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1893704,1.1577795,15.6352914,11.3034794,44.4967213,18.2074581,33.2129914,69.952854,36.8814161,47.1577608,26.1540411,2.4435047,11.2617436,10.8030833,40.4917994,15.7416129,1.035557,1.0042663,16.6503159,12.4079953,44.2483177,18.8729005,31.8513717,70.0257198,36.3539445,47.897002,26.0206943,2.1626758,12.2480896,11.1181642,40.6956167,17.8131869,1.0055369,0.9738777,17.911902,13.0464922,44.361574,19.0572462,32.3805962,69.8782006,35.5955375,47.3687133,25.1202085,2.1929415,12.9982704,11.8537548,40.4815729,18.5204696,0.7920958,0.7610267,18.003194,12.7481331,43.8935594,18.6739705,32.1248763,69.938048,35.2943757,47.3935623,24.2649315,2.0220262,12.9658266,12.2363605,41.6471544,18.7270096,1.1110286,1.1713022,19.1291482,13.422752,46.1146517,18.6001658,32.085822,68.315736,34.7273417,46.7416619,23.1623117,1.8245133,13.9888931,12.6648329,41.6802902,18.5471811 +494,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3852777,0.4228527,8.9081546,5.9409102,76.6770091,10.8341751,31.1191953,65.5372648,27.9415475,39.9757568,13.635784,12.627614,10.1100171,9.1969499,36.905053,3.4871252,0.3922986,0.4182509,8.750161,5.8055799,75.5166626,11.0866001,30.9639184,65.0835129,28.2991183,40.4628387,13.9423738,12.7948462,10.2841156,9.1585386,36.9820992,3.8788531,0.4179278,0.4434897,8.865472,5.7357387,74.4140138,10.9710664,30.4508913,65.2034675,28.9186119,40.5237422,14.0856612,12.9804051,10.2082329,8.908398,37.2764545,4.2319758,0.4260747,0.4488227,8.612291,5.389707,73.0861247,10.9847551,29.9515413,65.1652599,29.2432921,41.0598957,14.3079067,12.8044216,10.1713052,8.850938,37.3469328,3.96406,0.4643899,0.4869811,8.6446557,5.3307664,72.475632,11.244515,29.8140856,65.4457044,29.2354129,41.5230254,14.4237893,12.8970683,10.6615071,9.1283923,37.2807044,4.0021349 +495,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6427409,0.6341317,10.5415824,6.7140894,64.7425315,11.3747655,27.1048851,67.2131937,36.7933902,43.8361372,18.9145077,4.0981903,10.6270687,8.8247051,32.9661981,5.5309735,0.7052013,0.6967212,10.4030997,6.477521,63.8917871,11.7162796,26.9283885,67.2977894,37.154498,44.8131888,19.3210451,4.2359451,10.2926956,8.3208868,33.3783156,6.9915254,0.7418751,0.7630967,10.3582419,6.5772614,62.773453,12.1477099,27.3498719,67.2887625,38.0756644,44.8807654,19.5472051,4.3475277,10.0732435,8.1696677,33.586817,6.9037657,0.8182518,0.8396027,10.5872406,6.6935665,61.775489,12.2796219,27.7935761,67.4163217,38.1624972,45.114158,19.6314644,4.4472125,10.0730271,8.2450147,33.1943935,6.3291191,0.7288658,0.753359,10.5869055,6.6696976,61.2729928,12.6517366,28.3306636,67.0131086,37.7371025,44.9398872,19.7341409,4.4180912,10.2018741,8.4454337,33.2077326,6.5502235 +496,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3922986,0.4182509,8.750161,5.8055799,75.5166626,11.0866001,30.9639184,65.0835129,28.2991183,40.4628387,13.9423738,12.7948462,10.2841156,9.1585386,36.9820992,3.8788531,0.4179278,0.4434897,8.865472,5.7357387,74.4140138,10.9710664,30.4508913,65.2034675,28.9186119,40.5237422,14.0856612,12.9804051,10.2082329,8.908398,37.2764545,4.2319758,0.4260747,0.4488227,8.612291,5.389707,73.0861247,10.9847551,29.9515413,65.1652599,29.2432921,41.0598957,14.3079067,12.8044216,10.1713052,8.850938,37.3469328,3.96406,0.4643899,0.4869811,8.6446557,5.3307664,72.475632,11.244515,29.8140856,65.4457044,29.2354129,41.5230254,14.4237893,12.8970683,10.6615071,9.1283923,37.2807044,4.0021349,0.4622846,0.4733088,8.4535197,5.2054285,72.0960111,11.1078011,30.2178611,65.8100638,29.2549362,42.2664889,15.1600891,12.9333149,10.747341,9.1784704,37.3247678,3.6749486 +497,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6945068,0.7031964,13.4422194,8.8358543,65.9901737,16.5679658,38.5390088,67.9574647,36.3262401,48.5532043,21.2907966,3.0212822,10.6762616,9.4083159,34.0556426,10.2510793,0.7298049,0.7362883,13.1404104,8.7648919,65.0256443,17.0919853,38.4431337,67.525348,37.0917825,49.1976592,21.5512554,3.1390818,10.4221664,9.2612122,33.9077267,10.5603697,0.5502331,0.5835924,12.9922443,8.6106569,63.7773545,17.6281188,38.1841206,67.5694674,37.4543987,49.4948275,21.9618434,3.3258537,10.4663521,9.3534647,33.6082844,9.375026,0.6703857,0.7121379,13.0333081,8.5191309,62.7365128,17.4992943,37.0963091,66.8290942,37.1519745,49.4293393,21.4225941,3.0762781,10.3035106,8.9770792,33.6810534,10.5603743,0.6697921,0.7108445,12.6522387,8.2949946,60.5913361,18.2797062,36.1308816,65.8406723,37.7737994,50.2601819,21.5087586,3.2721801,10.4026756,9.3329764,33.2379801,8.723432 +498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9796561,0.9483336,14.234346,9.0249866,51.0544001,16.131077,35.7034505,69.0465617,37.8921613,48.1838288,24.7132445,4.3627756,11.8079626,11.5684529,43.6846755,5.5555529,0.8594817,0.8594817,13.6232052,8.6951571,50.969717,15.4726603,35.9513342,69.0695184,37.7375777,47.3930264,25.2337813,4.5711308,12.1875022,11.4042865,43.2371403,5.1075241,0.8847922,0.8961073,12.590469,8.1380403,50.1946979,15.214088,35.6844911,69.1125997,37.6033204,47.2984732,24.6259561,4.1247363,11.7455951,11.7455858,42.3831787,4.3352601,1.026144,1.0280655,13.3460216,8.6863098,49.6268222,15.0653389,35.2223139,69.2449227,37.6407941,46.70674,25.1882092,3.7820914,11.9296635,11.7283911,41.1567883,5.0595208,1.0471475,1.0585876,12.8360591,8.4098317,49.2946872,14.6129724,34.2344442,68.6637209,37.4067336,46.8276869,25.9335896,4.0446891,12.0570937,10.9960519,40.4477555,6.8627406 +499,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7126693,0.7198338,11.1544361,7.1105324,59.9195559,8.9795708,29.535689,69.814656,40.3888418,42.9970347,21.3002772,4.3995416,9.9561161,8.629211,36.6961445,6.9312796,0.720519,0.7385578,11.1341268,7.1449212,59.5873768,9.035285,30.0871867,70.0852649,40.558538,42.6757977,21.2732332,4.335122,9.8577423,8.3683174,36.3644694,6.5403431,0.765217,0.7951517,11.0205475,7.0292427,59.3114776,9.0780889,30.389268,70.3873003,40.4846173,42.6177125,21.0213314,4.4185584,9.3802481,8.0033637,35.7907582,6.3329312,0.7500056,0.7848448,10.8873765,6.9201557,58.8866512,8.8885596,30.2802941,70.4254041,40.5178403,42.2771037,20.907462,4.5075039,9.5593778,8.0306489,36.040756,6.1160151,0.7684198,0.8034309,10.8465859,7.0012086,58.0342666,8.7548234,29.850824,70.2492991,40.4335192,42.0854964,20.5096095,4.4203039,9.8315647,8.4641589,36.4769704,5.5697823 +500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4058111,0.4348806,8.2838991,4.9107867,45.232083,16.0761819,32.1793405,67.5157557,36.4881468,49.0334565,18.1573284,3.3444943,8.9775006,8.5699229,27.9427,3.9393987,0.3774611,0.4071757,8.5477964,5.0225465,42.5680153,15.947114,33.287337,67.9473566,36.9585252,48.6646343,18.7577016,3.3422181,9.3539217,8.9936787,27.8704485,3.6184234,0.3871466,0.417509,8.8491014,5.5185901,41.5049322,16.3676745,33.774935,67.6898803,37.1087547,48.1325881,18.6210924,3.6292737,9.0730191,8.7850471,27.304855,3,0.3922854,0.4234665,9.049282,5.8018398,40.6175109,16.0540826,34.9113888,68.2949689,37.0252136,49.1260938,19.3530389,3.9601243,9.6308338,9.2684501,27.0045498,2.464787,0.5161822,0.5476803,9.2921659,5.8952404,39.5823043,16.3372671,35.9893169,68.9873683,36.8136848,49.1574468,20.3075768,4.1358192,9.3910497,8.1726117,27.4492307,2.4822677 +501,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5319125,0.596769,10.6142505,7.7909545,77.0598269,13.0476258,29.7535162,67.3680708,28.9468119,43.5128057,12.7888924,4.6118705,12.1394181,11.209831,31.6845305,6.9231238,0.5149674,0.579732,10.4738594,7.8366213,76.7203131,12.7693115,29.7170278,67.3231953,29.1294877,43.231776,12.8291226,4.4504935,12.3336953,11.1598599,31.9188866,5.8383618,0.4965346,0.5647806,10.9541035,8.0004135,76.3359893,13.1471201,29.8099263,67.4044396,29.1189859,43.0036559,12.8374139,4.3727265,12.3705613,10.4487491,32.4667187,5.8908418,0.3969853,0.4563875,10.4709308,7.58463,76.1236405,12.7628755,30.0507543,67.119752,28.3487954,41.9871346,12.4557842,4.2330028,12.5107026,10.9195655,32.6022425,4.407339,0.3993399,0.4406111,9.8420085,7.0989604,75.7345025,12.4360404,29.8093512,67.0066671,28.0381284,41.6928004,12.4327527,3.957421,12.399409,10.7173463,32.4479807,3.5825913 +502,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1302872,1.0176315,18.5689052,15.2734011,29.3616748,19.9961883,36.2010647,64.2296777,37.3226599,46.4241199,21.2527369,3.0559349,11.9633995,8.7885485,36.0455852,18.263522,1.2166251,1.1110122,19.9876533,16.4207659,30.764096,18.9943171,36.4721759,63.6163671,36.0685287,46.5675726,20.9267246,2.9465241,12.4045999,9.6675123,36.6636985,16.8639253,1.1879024,1.0615438,20.7186585,17.0150145,32.2907554,19.212564,36.8878216,63.6019287,35.1068746,46.549426,20.2385866,3.0511687,12.4714405,9.3803702,37.8134705,16.4739884,1.2308423,1.0972185,20.9431441,16.9327415,33.3397892,19.019239,37.0080857,63.1708363,34.6850644,46.4445536,20.1054883,2.8846085,12.5624253,9.2648107,36.999665,18.209899,1.2269619,1.1026377,20.7997344,17.0294666,34.7421242,19.3373148,36.7723007,63.3620224,34.2680648,46.5308133,20.3912866,2.8872672,12.7041229,9.3298029,37.3577636,15.2173913 +503,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7052013,0.6967212,10.4030997,6.477521,63.8917871,11.7162796,26.9283885,67.2977894,37.154498,44.8131888,19.3210451,4.2359451,10.2926956,8.3208868,33.3783156,6.9915254,0.7418751,0.7630967,10.3582419,6.5772614,62.773453,12.1477099,27.3498719,67.2887625,38.0756644,44.8807654,19.5472051,4.3475277,10.0732435,8.1696677,33.586817,6.9037657,0.8182518,0.8396027,10.5872406,6.6935665,61.775489,12.2796219,27.7935761,67.4163217,38.1624972,45.114158,19.6314644,4.4472125,10.0730271,8.2450147,33.1943935,6.3291191,0.7288658,0.753359,10.5869055,6.6696976,61.2729928,12.6517366,28.3306636,67.0131086,37.7371025,44.9398872,19.7341409,4.4180912,10.2018741,8.4454337,33.2077326,6.5502235,0.7732769,0.7981057,10.5852085,6.7769441,60.3407436,12.8595732,29.3822694,67.5839023,38.3301793,45.7893929,20.3107012,4.783163,10.009144,8.1733857,33.5938403,7.5886415 +504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4179278,0.4434897,8.865472,5.7357387,74.4140138,10.9710664,30.4508913,65.2034675,28.9186119,40.5237422,14.0856612,12.9804051,10.2082329,8.908398,37.2764545,4.2319758,0.4260747,0.4488227,8.612291,5.389707,73.0861247,10.9847551,29.9515413,65.1652599,29.2432921,41.0598957,14.3079067,12.8044216,10.1713052,8.850938,37.3469328,3.96406,0.4643899,0.4869811,8.6446557,5.3307664,72.475632,11.244515,29.8140856,65.4457044,29.2354129,41.5230254,14.4237893,12.8970683,10.6615071,9.1283923,37.2807044,4.0021349,0.4622846,0.4733088,8.4535197,5.2054285,72.0960111,11.1078011,30.2178611,65.8100638,29.2549362,42.2664889,15.1600891,12.9333149,10.747341,9.1784704,37.3247678,3.6749486,0.4328827,0.4347191,8.5605223,5.2284006,71.4521266,11.2864814,30.3017528,65.2620834,29.3039192,42.2156732,15.3342162,12.6653018,10.781395,9.6874326,37.309113,3.9690726 +505,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.3815371,0.3815371,8.5981605,5.3536691,76.9074506,12.3807515,25.4438133,60.7995383,32.40395,39.9938717,15.3375952,3.1558279,12.3396962,12.4493787,37.4727351,4.2307757,0.291412,0.291412,7.9253765,4.9497375,76.2204866,12.2275817,25.1430528,61.6222919,32.3022068,39.5586109,15.0643042,3.0608421,11.2664943,11.9985248,36.4403036,3.2601679,0.4192448,0.4341469,8.4409171,5.215596,75.825328,12.5600456,25.5222908,61.9743726,32.0795145,38.5394585,14.8584639,3.1586154,10.9168512,11.4860307,37.3913063,3.8724295,0.4731899,0.4879158,8.5936187,5.5347995,75.0985352,12.4817749,24.9728125,62.7149578,32.3995989,39.2550586,14.6541113,3.2550197,11.2107237,11.1839403,38.2408284,3.8186621,0.4460069,0.4611428,8.7895484,5.8564791,74.0975359,12.3365879,25.3141658,62.9583016,31.5435213,39.3354385,14.2092119,3.4241473,11.8630795,11.7243316,38.1567069,4.849675 +506,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6282426,0.6369661,11.1183773,6.7636277,69.6766222,8.7627793,34.7207779,65.5802185,38.1561544,42.8368988,23.0272128,4.0372989,10.8707549,9.0811124,39.3932133,5.0435722,0.5936686,0.6142579,10.8900207,6.720826,68.2576534,9.0911477,34.6300889,65.7310625,38.1248193,43.2009691,23.1306447,4.1536574,10.7092614,9.1429801,39.6027842,4.382715,0.5969902,0.617048,10.7615243,6.6392647,67.7913786,9.4051321,33.871035,65.6956316,38.4930886,43.3943973,23.1439896,4.1068915,10.3881762,8.9701394,39.3005937,5.0776571,0.594703,0.6058734,10.8081818,6.6811602,67.4455787,9.5419853,33.5579586,65.8493424,38.6243876,43.3658269,23.2530101,4.1822007,10.5433009,9.1859625,39.6197353,4.9418593,0.6053207,0.6177359,10.8435267,6.7730635,67.3787027,9.6895255,33.1936858,65.7520768,38.7283185,43.5852844,23.0092161,4.1745099,10.0434933,8.995839,39.3379055,4.3103438 +507,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9967932,0.9967932,15.4784112,10.9119084,22.8938852,20.6361434,36.5188876,66.2139191,37.0299343,48.6230226,22.0647363,4.2116111,10.7099747,7.7267883,31.5386772,16.015625,0.949361,0.9941421,16.1361067,11.5266778,22.6559349,20.8479505,35.8234494,65.6228389,38.0087262,47.5028927,21.9965129,4.0798502,10.9758296,7.7477587,30.7319448,15.8536585,0.9809262,1.0253388,17.0525211,12.5211907,23.5703511,21.610501,36.0352814,65.5632604,38.2150667,47.9886718,22.2840439,4.1833944,11.0462628,7.737241,30.9583443,13.9999888,0.9871916,1.0445376,17.2147317,12.7227908,25.0001167,20.938925,36.2955463,65.3744738,37.4928759,47.7542069,22.0760534,4.0138252,11.6025211,7.7049693,30.4439921,15.5302913,1.086752,1.1372524,17.1978636,12.6593657,26.2127571,20.8795288,35.849087,66.448894,37.6109464,46.9156795,21.8547455,4.0868798,12.0208357,8.1696852,30.9643049,16.6666543 +508,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2413468,1.2860097,21.6972138,18.4851298,38.8496061,17.0315793,39.4077877,63.6680857,36.9085145,48.8813897,23.0798481,3.425392,12.3427749,11.2617366,32.8405369,17.7417409,1.2481704,1.2915707,22.3184015,19.1255651,40.7305554,16.6246498,39.136103,64.5383225,36.5184266,48.9115631,22.9445048,3.4561696,13.3418881,11.4125456,32.8540843,18.5060849,1.2252368,1.2683391,22.3171096,19.0808553,41.5955476,15.8226053,39.8462935,63.3460947,35.7997726,49.1727493,23.2803458,3.5260101,13.7946717,11.0383604,33.3620312,20.332886,1.3430417,1.357222,22.7712667,19.1518558,42.1674693,16.0022002,39.0604136,64.3962925,35.8506956,48.2120651,22.8771802,3.5438378,13.6200841,10.6550451,33.1558548,22.3921984,1.4429653,1.4573405,22.4659601,18.7368334,42.6920135,16.0196684,38.6959728,63.900552,35.4865734,47.466365,22.20494,3.3645621,13.0574562,10.8013993,33.9942576,22.2556633 +509,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3774611,0.4071757,8.5477964,5.0225465,42.5680153,15.947114,33.287337,67.9473566,36.9585252,48.6646343,18.7577016,3.3422181,9.3539217,8.9936787,27.8704485,3.6184234,0.3871466,0.417509,8.8491014,5.5185901,41.5049322,16.3676745,33.774935,67.6898803,37.1087547,48.1325881,18.6210924,3.6292737,9.0730191,8.7850471,27.304855,3,0.3922854,0.4234665,9.049282,5.8018398,40.6175109,16.0540826,34.9113888,68.2949689,37.0252136,49.1260938,19.3530389,3.9601243,9.6308338,9.2684501,27.0045498,2.464787,0.5161822,0.5476803,9.2921659,5.8952404,39.5823043,16.3372671,35.9893169,68.9873683,36.8136848,49.1574468,20.3075768,4.1358192,9.3910497,8.1726117,27.4492307,2.4822677,0.4870664,0.4902317,9.0301258,5.7722563,37.4596081,16.5541426,35.6600918,69.3458842,37.5653889,49.5667064,21.0051016,3.8286364,9.3716142,8.1328512,27.2086725,3.7162137 +510,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.532851,0.5259923,8.0205541,4.1778374,74.5660881,19.2778993,32.4867491,65.3047703,29.7482332,43.0432862,15.4814488,3.8206714,8.7366694,7.6069079,33.5950413,3.6231884,0.6900978,0.6833447,8.013245,3.9072848,74.2027086,20.1159296,32.3733218,64.8549155,30.3811174,43.763534,15.5695106,4.0909091,8.7810746,7.423756,33.9386602,3.0516432,0.7585423,0.7518408,8.3296703,4.1098901,73.7288136,20.4662104,32.1027634,64.8316062,30.246114,43.7176166,15.4792746,4.2080276,9.0361446,8.159164,34.9636217,3.8812785,0.6980498,0.691407,7.9852045,3.9817232,73.3895374,20.1571793,31.483069,65.2593228,31.0115731,43.9991427,16.0094299,3.8346187,9.16,8.6137821,33.9630225,4.2410714,0.6207723,0.6140653,7.6431718,3.7665198,72.9357798,20.5364807,30.8441558,65.1298701,31.017316,43.7445887,15.7792208,4.1324102,8.8351823,8.452381,33.0286169,3.3632287 +511,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4260747,0.4488227,8.612291,5.389707,73.0861247,10.9847551,29.9515413,65.1652599,29.2432921,41.0598957,14.3079067,12.8044216,10.1713052,8.850938,37.3469328,3.96406,0.4643899,0.4869811,8.6446557,5.3307664,72.475632,11.244515,29.8140856,65.4457044,29.2354129,41.5230254,14.4237893,12.8970683,10.6615071,9.1283923,37.2807044,4.0021349,0.4622846,0.4733088,8.4535197,5.2054285,72.0960111,11.1078011,30.2178611,65.8100638,29.2549362,42.2664889,15.1600891,12.9333149,10.747341,9.1784704,37.3247678,3.6749486,0.4328827,0.4347191,8.5605223,5.2284006,71.4521266,11.2864814,30.3017528,65.2620834,29.3039192,42.2156732,15.3342162,12.6653018,10.781395,9.6874326,37.309113,3.9690726,0.3490002,0.3620065,8.4842193,5.2055308,70.3596147,11.3395245,31.0552553,65.3906991,29.533835,42.192061,15.6584705,12.6643117,11.1098411,10.1766904,36.9630413,4.2857143 +512,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4579721,0.4873632,7.869918,4.7727004,85.578837,6.6713388,26.7214572,62.6768635,28.0352069,37.1853989,13.0505919,5.3297505,10.1193641,8.4262089,37.7650232,3.7969842,0.5014992,0.5285072,7.9437571,4.9063298,85.3360325,6.6514211,26.5993967,62.7605775,28.1187388,37.3540995,13.337348,5.4058429,9.9893123,8.1780151,38.1486097,4.1008277,0.5215758,0.5296212,7.8148215,4.8529573,85.0969583,6.7886089,26.6229971,62.798114,28.3029853,37.7100385,13.3556386,5.4586703,10.4008186,8.3092718,38.5624282,3.8289963,0.530369,0.5391903,7.8840866,4.9146165,85.1050959,6.8366846,26.786944,62.6799636,28.281159,37.8072011,13.5794232,5.3393109,10.2643337,8.380459,38.6409868,3.3433509,0.5360668,0.5449468,8.0663813,5.072451,84.7044576,7.0602308,26.7735022,62.8599274,28.5246831,37.7989703,13.4796914,5.3757126,10.0959504,8.3668608,38.6794121,3.4883721 +513,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5493819,0.471317,13.6876171,11.0625827,47.4057722,32.1874648,28.0890839,68.2166015,36.4970254,43.376094,19.2994815,4.9044574,16.4083303,11.5285023,34.6861416,5.8140436,0.6602931,0.5829527,12.7937225,9.9506731,48.3352252,32.6543134,27.6101239,67.4844118,36.9184054,42.7046344,19.6856317,4.9685468,15.0633171,9.7715459,33.8876868,5.8594666,0.821647,0.7436734,13.8646658,10.7278636,50.2604661,31.462881,28.7274901,67.1594108,37.7251636,40.9385725,18.3163023,4.9485855,16.9333355,11.8983575,34.9058079,7.2035424,0.6840288,0.6033174,13.86733,10.7422833,50.0669365,31.2256312,30.1723435,68.103426,36.2734312,39.8543877,17.4404517,4.5756003,15.5220326,10.9115997,32.2714549,6.5791205,0.594946,0.5134452,13.0066093,10.0000261,50.5367201,32.264512,30.2122345,68.8578038,35.9232816,41.2352521,17.7291006,4.8473548,15.840279,10.6648144,33.933387,5.8559877 +514,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.62095,0.6577755,9.8923601,6.2643902,71.2775203,17.4268479,32.21575,65.9880372,34.9413853,45.3315621,19.1467324,5.6131762,10.520957,8.9067018,33.9818658,5.2102203,0.6365161,0.6519064,9.6702145,6.1579527,70.1818951,17.7477713,31.5330212,65.8938007,34.8307378,45.4008084,19.2372274,5.5084583,10.6653084,8.7039174,33.4263085,6.4053358,0.6210244,0.6046365,9.7787903,6.1884336,69.218111,18.3179637,31.5375366,66.2070639,34.8143058,45.3903107,18.919475,5.4632556,10.6856014,8.932677,33.3285191,6.6479401,0.6204291,0.6038363,9.6465117,6.0663611,68.1059276,18.530492,31.1083322,66.382062,35.0350909,45.6739645,19.3150676,5.596575,10.8438307,9.2024867,33.5308941,6.952381,0.5595618,0.5560108,9.7450568,6.1278588,66.1465926,18.8561935,31.364957,66.3162611,35.1586169,46.4607441,19.3721357,5.7355233,10.7574283,8.9135574,33.9459283,6.9200753 +515,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3810828,0.3810828,7.8314816,4.7411478,77.8684282,16.7639624,27.2762378,64.5190374,29.5910508,39.0303464,16.3194469,6.8526609,9.1615673,7.6687142,36.478146,5.2325594,0.3590852,0.3590852,7.8617141,4.5515153,76.422233,16.6283852,27.271552,63.9270031,29.5754591,38.9981829,16.8910204,6.767598,9.2887264,7.7193835,37.004728,5.0000011,0.3832584,0.3832584,7.6933362,4.432761,74.2807636,16.60589,27.8071317,63.5270849,29.9207413,39.9867868,17.3447849,7.0919172,9.3509651,7.8313279,37.5303348,4.4520558,0.3759162,0.3840722,7.329475,4.3041739,71.8169346,16.4181126,28.9331161,63.7557576,30.5578147,40.387217,17.3165482,7.3246682,9.0110478,7.5201234,37.4113576,5.1558765,0.4015109,0.4162751,7.4978498,4.3273285,70.5124507,16.0005551,29.9134511,64.0843104,30.8626447,39.5449401,17.1552245,7.3283083,9.860252,7.7102828,37.7609689,5.1122207 +516,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7298049,0.7362883,13.1404104,8.7648919,65.0256443,17.0919853,38.4431337,67.525348,37.0917825,49.1976592,21.5512554,3.1390818,10.4221664,9.2612122,33.9077267,10.5603697,0.5502331,0.5835924,12.9922443,8.6106569,63.7773545,17.6281188,38.1841206,67.5694674,37.4543987,49.4948275,21.9618434,3.3258537,10.4663521,9.3534647,33.6082844,9.375026,0.6703857,0.7121379,13.0333081,8.5191309,62.7365128,17.4992943,37.0963091,66.8290942,37.1519745,49.4293393,21.4225941,3.0762781,10.3035106,8.9770792,33.6810534,10.5603743,0.6697921,0.7108445,12.6522387,8.2949946,60.5913361,18.2797062,36.1308816,65.8406723,37.7737994,50.2601819,21.5087586,3.2721801,10.4026756,9.3329764,33.2379801,8.723432,0.7146022,0.7513292,12.2738387,8.0340292,59.2587513,18.9412314,35.3141112,66.3992759,38.387247,49.8640714,21.688877,3.5762873,10.5734704,9.2611406,32.9292788,9.2213001 +517,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2481704,1.2915707,22.3184015,19.1255651,40.7305554,16.6246498,39.136103,64.5383225,36.5184266,48.9115631,22.9445048,3.4561696,13.3418881,11.4125456,32.8540843,18.5060849,1.2252368,1.2683391,22.3171096,19.0808553,41.5955476,15.8226053,39.8462935,63.3460947,35.7997726,49.1727493,23.2803458,3.5260101,13.7946717,11.0383604,33.3620312,20.332886,1.3430417,1.357222,22.7712667,19.1518558,42.1674693,16.0022002,39.0604136,64.3962925,35.8506956,48.2120651,22.8771802,3.5438378,13.6200841,10.6550451,33.1558548,22.3921984,1.4429653,1.4573405,22.4659601,18.7368334,42.6920135,16.0196684,38.6959728,63.900552,35.4865734,47.466365,22.20494,3.3645621,13.0574562,10.8013993,33.9942576,22.2556633,1.4578875,1.4578875,23.0825827,19.4137242,43.173009,16.2177292,39.4890396,64.0961897,35.3168497,48.5076129,22.5514132,3.7108777,12.7891005,10.4921738,33.8274758,21.5234348 +518,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5445012,0.5275151,9.2279409,5.980973,64.418623,15.2769369,31.698315,67.1745967,33.3543515,43.2447462,18.8121714,3.6284984,10.7074893,9.3776422,33.5676969,5.587237,0.4263925,0.4546797,8.5795417,5.525153,62.9882117,15.5054739,32.7629825,66.9320212,32.9367826,43.4384015,18.8303631,3.8503909,10.1189265,9.0766846,33.5133823,5.5159684,0.4728685,0.4994014,8.2210744,5.2190256,61.7001796,15.431167,33.1853455,66.6989929,32.7520846,43.0214843,18.688398,3.9717175,10.0460488,8.8617139,33.1472324,4.3996485,0.5160855,0.564005,8.1545955,5.0913318,59.7840846,15.3448255,33.4934539,66.666939,33.357504,43.7316923,18.613113,3.6874238,10.2140372,8.9433287,33.0335735,4.5130679,0.4873891,0.5496569,7.9942829,4.7823665,58.4595994,15.3778332,33.8163943,66.5632006,33.0425843,43.6191668,18.8667559,3.8021973,10.831467,9.3316041,32.5658255,4.5078559 +519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2453174,1.2453174,20.7346023,16.0739381,30.1506981,15.5864137,36.266464,64.2679731,32.4976514,50.4305867,24.4738474,4.9808997,14.6675462,11.6618163,32.5223903,15.6247396,1.1224037,1.1140742,20.402827,16.0326279,30.8543795,14.8756522,36.3139408,66.7414456,32.8207174,51.0172196,24.9842729,4.8572826,13.9470996,11.6796824,31.4256961,14.6256116,1.0339665,1.0256749,19.8132928,15.468361,31.3447508,15.146437,35.4879109,67.3511125,32.9086282,51.0942632,25.2377283,5.4444556,14.0182958,11.7044218,31.0054542,15.408805,0.913021,0.955606,18.9152123,14.9867242,33.2932547,15.9686386,35.4298357,67.5041789,33.5968472,51.712495,25.8969207,5.8994821,13.0452876,10.7701008,30.9054339,14.7058824,0.8266424,0.892529,19.2589531,15.1711671,33.8172037,15.9508529,35.9928297,67.3665945,33.8538356,51.196127,25.5303374,6.1091403,14.2575159,11.399255,32.4551473,16.7721519 +520,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9897812,0.9504023,13.7891511,8.2479099,50.5942783,18.9833864,34.3722154,70.728068,37.1184628,48.93178,24.5639036,3.1605071,10.4669946,9.4221766,36.206763,11.5128474,0.8581454,0.8123109,13.3940515,8.0279209,50.153588,18.7260231,34.5750905,70.5663391,37.2766266,48.5617533,24.5096229,3.2899133,11.8986652,10.449641,36.6329734,11.2900239,0.9217819,0.8748373,13.7333968,8.4933546,49.7066618,18.3679301,35.6599037,70.9853405,38.4252208,48.9515206,25.3566606,3.3230012,11.9777365,10.6502307,35.9229517,11.5128928,0.7172308,0.710442,13.5601822,8.5493196,49.339515,18.3976762,36.3981476,71.5598647,39.2758336,49.0328707,26.0564351,3.1700012,12.2964204,10.2576648,35.7639026,11.6194319,0.6532737,0.6464259,12.5879574,8.0907155,47.2513258,18.5523454,36.4973744,71.2050222,40.0767869,49.2745605,26.2118505,3.1944313,12.2107406,10.4203951,34.5262356,10.4313845 +521,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5777348,0.5669589,10.6768963,7.2637347,61.4057063,10.8148862,31.5166924,68.0478982,30.6023293,46.7706828,16.8577717,3.1132068,10.9156853,10.0107501,31.7899662,7.3804782,0.562437,0.5491895,10.350107,7.1407745,60.5649685,10.8708386,31.850477,67.8682424,30.7401942,45.869725,17.0022268,3.0125821,10.6333667,9.8358391,31.7919941,7.7004463,0.5122302,0.512695,9.968867,6.8559119,58.9737833,11.0737724,31.8229683,67.4984852,30.7524117,46.0419069,17.0009098,3.038298,10.509476,9.9525427,31.8704562,7.4193763,0.4948802,0.509552,9.7511303,6.6289577,58.0713094,10.9020251,31.4055225,67.5959966,30.7142889,46.121342,16.8586846,3.0030711,10.5270657,9.8700986,31.4362759,7.7367454,0.4803633,0.4844559,9.3885138,6.4760598,56.3904882,10.6522735,31.286192,68.056361,31.3173482,45.4778234,17.3915802,2.8712143,10.6782811,9.7809716,31.3311743,7.5869024 +522,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7324524,0.7352387,11.3107806,6.9266396,61.2944767,14.8731439,34.9243404,67.9500569,37.5265168,48.8880064,20.9455489,3.4720118,11.93364,10.6214066,32.3991362,6.3591256,0.6920653,0.6901751,11.4877251,6.9987901,59.6601147,14.8863785,34.3908263,67.7753611,36.910469,48.6172611,20.7174797,3.3722593,12.0955916,11.2548481,32.7514833,6.5891714,0.624376,0.6438692,11.2614778,6.7354753,57.286745,15.1017143,34.6189388,67.4833634,36.9995746,48.6550863,20.4745844,3.5476943,12.0136784,11.15249,32.5022911,5.2000253,0.6395919,0.6412607,11.3399753,6.8376728,54.8353928,15.0629381,35.83162,67.485662,36.8547713,48.4343275,20.7487222,3.3870758,11.9454531,11.1929177,32.3529587,5.9065643,0.6413183,0.6306301,10.7489693,6.4956093,52.185896,15.0510399,36.4834949,67.636952,37.0610412,48.5328238,20.532233,3.4727664,11.7230051,11.1161639,31.7892074,6.3513175 +523,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1956358,1.2762045,17.7133032,13.9071222,52.105311,16.5770782,33.4458986,62.7073689,33.5550213,37.6360846,19.4729881,5.5015447,10.6397927,10.0970829,38.003641,17.6229192,1.3422049,1.3697418,18.1973847,13.9896873,54.9619611,16.2271972,34.4629822,62.13052,32.9034748,38.4003441,19.7221443,4.983043,11.3196743,10.8160276,39.3024707,17.2216352,1.1726742,1.2002722,17.8064569,13.4590108,58.811255,16.6671782,34.9071562,62.9908357,33.6413056,39.2202602,19.9250451,5.1838104,11.4754158,10.5642986,39.7421119,12.1377971,1.1917723,1.2193015,17.7148948,13.7206934,62.4779461,15.547462,33.6384953,63.3171665,33.0298729,37.9657102,19.0883646,4.6596493,11.7386929,10.5655134,39.9601827,12.9620716,1.2162699,1.1883894,18.0984165,13.970725,66.6165972,15.0676391,33.7983025,63.5659893,34.8174571,38.9310225,18.7562744,4.4401685,12.3147343,10.7097336,42.0859681,14.993699 +524,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5149674,0.579732,10.4738594,7.8366213,76.7203131,12.7693115,29.7170278,67.3231953,29.1294877,43.231776,12.8291226,4.4504935,12.3336953,11.1598599,31.9188866,5.8383618,0.4965346,0.5647806,10.9541035,8.0004135,76.3359893,13.1471201,29.8099263,67.4044396,29.1189859,43.0036559,12.8374139,4.3727265,12.3705613,10.4487491,32.4667187,5.8908418,0.3969853,0.4563875,10.4709308,7.58463,76.1236405,12.7628755,30.0507543,67.119752,28.3487954,41.9871346,12.4557842,4.2330028,12.5107026,10.9195655,32.6022425,4.407339,0.3993399,0.4406111,9.8420085,7.0989604,75.7345025,12.4360404,29.8093512,67.0066671,28.0381284,41.6928004,12.4327527,3.957421,12.399409,10.7173463,32.4479807,3.5825913,0.4382551,0.4713546,9.765375,7.0931904,75.6194255,12.3132309,29.1657331,66.5963601,28.2338336,41.5020852,12.4805973,3.5833328,12.071208,10.2053848,33.018502,3.3019211 +525,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5502331,0.5835924,12.9922443,8.6106569,63.7773545,17.6281188,38.1841206,67.5694674,37.4543987,49.4948275,21.9618434,3.3258537,10.4663521,9.3534647,33.6082844,9.375026,0.6703857,0.7121379,13.0333081,8.5191309,62.7365128,17.4992943,37.0963091,66.8290942,37.1519745,49.4293393,21.4225941,3.0762781,10.3035106,8.9770792,33.6810534,10.5603743,0.6697921,0.7108445,12.6522387,8.2949946,60.5913361,18.2797062,36.1308816,65.8406723,37.7737994,50.2601819,21.5087586,3.2721801,10.4026756,9.3329764,33.2379801,8.723432,0.7146022,0.7513292,12.2738387,8.0340292,59.2587513,18.9412314,35.3141112,66.3992759,38.387247,49.8640714,21.688877,3.5762873,10.5734704,9.2611406,32.9292788,9.2213001,0.6814965,0.7428523,11.7921967,7.7323666,57.5786919,19.5308104,35.679719,66.5545708,38.5598327,50.1885219,22.4091347,3.351284,10.5356906,9.2791061,32.8959753,10.2619953 +526,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5014992,0.5285072,7.9437571,4.9063298,85.3360325,6.6514211,26.5993967,62.7605775,28.1187388,37.3540995,13.337348,5.4058429,9.9893123,8.1780151,38.1486097,4.1008277,0.5215758,0.5296212,7.8148215,4.8529573,85.0969583,6.7886089,26.6229971,62.798114,28.3029853,37.7100385,13.3556386,5.4586703,10.4008186,8.3092718,38.5624282,3.8289963,0.530369,0.5391903,7.8840866,4.9146165,85.1050959,6.8366846,26.786944,62.6799636,28.281159,37.8072011,13.5794232,5.3393109,10.2643337,8.380459,38.6409868,3.3433509,0.5360668,0.5449468,8.0663813,5.072451,84.7044576,7.0602308,26.7735022,62.8599274,28.5246831,37.7989703,13.4796914,5.3757126,10.0959504,8.3668608,38.6794121,3.4883721,0.5291015,0.5337522,8.1078983,5.2109433,84.4310499,7.1231371,26.7173311,62.8470037,28.2971587,38.0342628,13.7031,5.2246446,10.6415949,8.8695915,38.2996148,3.5147392 +527,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2252368,1.2683391,22.3171096,19.0808553,41.5955476,15.8226053,39.8462935,63.3460947,35.7997726,49.1727493,23.2803458,3.5260101,13.7946717,11.0383604,33.3620312,20.332886,1.3430417,1.357222,22.7712667,19.1518558,42.1674693,16.0022002,39.0604136,64.3962925,35.8506956,48.2120651,22.8771802,3.5438378,13.6200841,10.6550451,33.1558548,22.3921984,1.4429653,1.4573405,22.4659601,18.7368334,42.6920135,16.0196684,38.6959728,63.900552,35.4865734,47.466365,22.20494,3.3645621,13.0574562,10.8013993,33.9942576,22.2556633,1.4578875,1.4578875,23.0825827,19.4137242,43.173009,16.2177292,39.4890396,64.0961897,35.3168497,48.5076129,22.5514132,3.7108777,12.7891005,10.4921738,33.8274758,21.5234348,1.4082358,1.4082358,22.9831001,19.3621926,44.5860003,15.8650045,40.0286744,64.7068625,35.1286503,48.8922279,22.8489794,3.5620444,12.6863373,9.9696525,33.6699645,19.7132458 +528,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4965346,0.5647806,10.9541035,8.0004135,76.3359893,13.1471201,29.8099263,67.4044396,29.1189859,43.0036559,12.8374139,4.3727265,12.3705613,10.4487491,32.4667187,5.8908418,0.3969853,0.4563875,10.4709308,7.58463,76.1236405,12.7628755,30.0507543,67.119752,28.3487954,41.9871346,12.4557842,4.2330028,12.5107026,10.9195655,32.6022425,4.407339,0.3993399,0.4406111,9.8420085,7.0989604,75.7345025,12.4360404,29.8093512,67.0066671,28.0381284,41.6928004,12.4327527,3.957421,12.399409,10.7173463,32.4479807,3.5825913,0.4382551,0.4713546,9.765375,7.0931904,75.6194255,12.3132309,29.1657331,66.5963601,28.2338336,41.5020852,12.4805973,3.5833328,12.071208,10.2053848,33.018502,3.3019211,0.5511989,0.5805139,9.9934334,7.1694266,75.1705406,12.2423689,29.5271026,67.133556,28.5409818,41.8533988,12.7633445,3.5970589,12.1833449,10.3514084,33.5244653,2.7778077 +529,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.562437,0.5491895,10.350107,7.1407745,60.5649685,10.8708386,31.850477,67.8682424,30.7401942,45.869725,17.0022268,3.0125821,10.6333667,9.8358391,31.7919941,7.7004463,0.5122302,0.512695,9.968867,6.8559119,58.9737833,11.0737724,31.8229683,67.4984852,30.7524117,46.0419069,17.0009098,3.038298,10.509476,9.9525427,31.8704562,7.4193763,0.4948802,0.509552,9.7511303,6.6289577,58.0713094,10.9020251,31.4055225,67.5959966,30.7142889,46.121342,16.8586846,3.0030711,10.5270657,9.8700986,31.4362759,7.7367454,0.4803633,0.4844559,9.3885138,6.4760598,56.3904882,10.6522735,31.286192,68.056361,31.3173482,45.4778234,17.3915802,2.8712143,10.6782811,9.7809716,31.3311743,7.5869024,0.5135882,0.5225291,9.1531931,6.2480514,55.0690537,10.2004035,31.0234058,68.0188737,32.0592017,45.7775539,17.9484557,2.7860545,10.3572742,9.8572395,30.6057394,7.5061932 +530,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.7587254,0.8467057,12.6215605,8.1686149,30.4430448,16.6587932,35.1339191,67.9433088,43.8420828,50.140459,24.8374775,3.751635,13.5726709,11.9957419,36.4281459,9.0472629,0.7062842,0.8151915,12.5465082,8.5586795,30.6629474,16.599009,34.9194719,67.5564375,43.7345922,49.4014706,25.159878,3.856622,13.7209359,11.6954143,35.9964695,8.7155883,0.6983708,0.8040606,12.3510423,8.1881747,31.1749165,17.3721771,35.3228156,68.0845109,43.3357264,49.2186429,25.3827392,3.9303985,13.06656,11.6776473,34.5936842,10.1941847,0.9419012,1.0465099,12.9585411,8.7585575,30.8019413,17.2968932,34.6976214,67.7668234,42.6141863,48.9775092,25.0774998,3.7829253,12.7116835,11.2000705,34.800926,12.9807817,1.0364018,1.1291762,12.9634869,8.9255918,31.5139532,16.5450414,34.5291908,67.4831996,41.8300812,48.1808557,24.6280084,3.7754654,12.1738178,11.0731219,34.6735032,13.9423077 +531,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6920653,0.6901751,11.4877251,6.9987901,59.6601147,14.8863785,34.3908263,67.7753611,36.910469,48.6172611,20.7174797,3.3722593,12.0955916,11.2548481,32.7514833,6.5891714,0.624376,0.6438692,11.2614778,6.7354753,57.286745,15.1017143,34.6189388,67.4833634,36.9995746,48.6550863,20.4745844,3.5476943,12.0136784,11.15249,32.5022911,5.2000253,0.6395919,0.6412607,11.3399753,6.8376728,54.8353928,15.0629381,35.83162,67.485662,36.8547713,48.4343275,20.7487222,3.3870758,11.9454531,11.1929177,32.3529587,5.9065643,0.6413183,0.6306301,10.7489693,6.4956093,52.185896,15.0510399,36.4834949,67.636952,37.0610412,48.5328238,20.532233,3.4727664,11.7230051,11.1161639,31.7892074,6.3513175,0.6135018,0.5996284,10.4852428,6.1682804,49.0406301,14.672906,36.402017,68.2050289,37.4860266,48.8999917,21.0824298,3.4831846,11.1945055,10.8569038,31.8995231,4.7425165 +532,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3871466,0.417509,8.8491014,5.5185901,41.5049322,16.3676745,33.774935,67.6898803,37.1087547,48.1325881,18.6210924,3.6292737,9.0730191,8.7850471,27.304855,3,0.3922854,0.4234665,9.049282,5.8018398,40.6175109,16.0540826,34.9113888,68.2949689,37.0252136,49.1260938,19.3530389,3.9601243,9.6308338,9.2684501,27.0045498,2.464787,0.5161822,0.5476803,9.2921659,5.8952404,39.5823043,16.3372671,35.9893169,68.9873683,36.8136848,49.1574468,20.3075768,4.1358192,9.3910497,8.1726117,27.4492307,2.4822677,0.4870664,0.4902317,9.0301258,5.7722563,37.4596081,16.5541426,35.6600918,69.3458842,37.5653889,49.5667064,21.0051016,3.8286364,9.3716142,8.1328512,27.2086725,3.7162137,0.59522,0.5676903,9.1509267,5.9734602,35.8024708,16.8190674,35.4901408,69.710759,37.9672781,48.7000352,21.1987565,3.9430618,9.682849,8.5934023,28.201364,3.9285714 +533,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3422049,1.3697418,18.1973847,13.9896873,54.9619611,16.2271972,34.4629822,62.13052,32.9034748,38.4003441,19.7221443,4.983043,11.3196743,10.8160276,39.3024707,17.2216352,1.1726742,1.2002722,17.8064569,13.4590108,58.811255,16.6671782,34.9071562,62.9908357,33.6413056,39.2202602,19.9250451,5.1838104,11.4754158,10.5642986,39.7421119,12.1377971,1.1917723,1.2193015,17.7148948,13.7206934,62.4779461,15.547462,33.6384953,63.3171665,33.0298729,37.9657102,19.0883646,4.6596493,11.7386929,10.5655134,39.9601827,12.9620716,1.2162699,1.1883894,18.0984165,13.970725,66.6165972,15.0676391,33.7983025,63.5659893,34.8174571,38.9310225,18.7562744,4.4401685,12.3147343,10.7097336,42.0859681,14.993699,1.3553663,1.2524556,17.8263571,13.9084616,69.2322568,15.8901599,33.2317039,64.1816473,34.9914049,39.1775258,19.2104979,4.2186256,12.8462267,10.7327929,42.5999647,14.3633766 +534,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5215758,0.5296212,7.8148215,4.8529573,85.0969583,6.7886089,26.6229971,62.798114,28.3029853,37.7100385,13.3556386,5.4586703,10.4008186,8.3092718,38.5624282,3.8289963,0.530369,0.5391903,7.8840866,4.9146165,85.1050959,6.8366846,26.786944,62.6799636,28.281159,37.8072011,13.5794232,5.3393109,10.2643337,8.380459,38.6409868,3.3433509,0.5360668,0.5449468,8.0663813,5.072451,84.7044576,7.0602308,26.7735022,62.8599274,28.5246831,37.7989703,13.4796914,5.3757126,10.0959504,8.3668608,38.6794121,3.4883721,0.5291015,0.5337522,8.1078983,5.2109433,84.4310499,7.1231371,26.7173311,62.8470037,28.2971587,38.0342628,13.7031,5.2246446,10.6415949,8.8695915,38.2996148,3.5147392,0.5790905,0.5859515,8.053118,5.1896271,84.1981777,7.2294386,27.1227669,62.6506151,28.4817643,38.2629893,13.7898226,5.1910107,10.9628038,9.0937782,37.9826208,3.3747091 +535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4263925,0.4546797,8.5795417,5.525153,62.9882117,15.5054739,32.7629825,66.9320212,32.9367826,43.4384015,18.8303631,3.8503909,10.1189265,9.0766846,33.5133823,5.5159684,0.4728685,0.4994014,8.2210744,5.2190256,61.7001796,15.431167,33.1853455,66.6989929,32.7520846,43.0214843,18.688398,3.9717175,10.0460488,8.8617139,33.1472324,4.3996485,0.5160855,0.564005,8.1545955,5.0913318,59.7840846,15.3448255,33.4934539,66.666939,33.357504,43.7316923,18.613113,3.6874238,10.2140372,8.9433287,33.0335735,4.5130679,0.4873891,0.5496569,7.9942829,4.7823665,58.4595994,15.3778332,33.8163943,66.5632006,33.0425843,43.6191668,18.8667559,3.8021973,10.831467,9.3316041,32.5658255,4.5078559,0.4284321,0.4911773,7.8721371,4.6154108,57.3168468,15.0347827,33.4344717,66.4555484,33.3102874,43.867109,18.5001103,3.6964592,10.8984722,9.7926984,32.3116115,3.5139794 +536,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6602931,0.5829527,12.7937225,9.9506731,48.3352252,32.6543134,27.6101239,67.4844118,36.9184054,42.7046344,19.6856317,4.9685468,15.0633171,9.7715459,33.8876868,5.8594666,0.821647,0.7436734,13.8646658,10.7278636,50.2604661,31.462881,28.7274901,67.1594108,37.7251636,40.9385725,18.3163023,4.9485855,16.9333355,11.8983575,34.9058079,7.2035424,0.6840288,0.6033174,13.86733,10.7422833,50.0669365,31.2256312,30.1723435,68.103426,36.2734312,39.8543877,17.4404517,4.5756003,15.5220326,10.9115997,32.2714549,6.5791205,0.594946,0.5134452,13.0066093,10.0000261,50.5367201,32.264512,30.2122345,68.8578038,35.9232816,41.2352521,17.7291006,4.8473548,15.840279,10.6648144,33.933387,5.8559877,0.6536742,0.511569,12.9388885,9.8179035,53.1415611,32.1847025,30.4088587,67.2163016,35.1586041,40.699457,16.8206489,4.9473079,15.3533336,11.580403,33.1061731,5.7018544 +537,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.3969853,0.4563875,10.4709308,7.58463,76.1236405,12.7628755,30.0507543,67.119752,28.3487954,41.9871346,12.4557842,4.2330028,12.5107026,10.9195655,32.6022425,4.407339,0.3993399,0.4406111,9.8420085,7.0989604,75.7345025,12.4360404,29.8093512,67.0066671,28.0381284,41.6928004,12.4327527,3.957421,12.399409,10.7173463,32.4479807,3.5825913,0.4382551,0.4713546,9.765375,7.0931904,75.6194255,12.3132309,29.1657331,66.5963601,28.2338336,41.5020852,12.4805973,3.5833328,12.071208,10.2053848,33.018502,3.3019211,0.5511989,0.5805139,9.9934334,7.1694266,75.1705406,12.2423689,29.5271026,67.133556,28.5409818,41.8533988,12.7633445,3.5970589,12.1833449,10.3514084,33.5244653,2.7778077,0.5553546,0.5640666,9.6827767,6.8655514,74.7192399,11.6468694,30.045279,66.3533502,28.9127831,42.3442307,12.7859479,3.7485967,12.4574477,10.819447,33.582653,2.5951755 +538,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6900978,0.6833447,8.013245,3.9072848,74.2027086,20.1159296,32.3733218,64.8549155,30.3811174,43.763534,15.5695106,4.0909091,8.7810746,7.423756,33.9386602,3.0516432,0.7585423,0.7518408,8.3296703,4.1098901,73.7288136,20.4662104,32.1027634,64.8316062,30.246114,43.7176166,15.4792746,4.2080276,9.0361446,8.159164,34.9636217,3.8812785,0.6980498,0.691407,7.9852045,3.9817232,73.3895374,20.1571793,31.483069,65.2593228,31.0115731,43.9991427,16.0094299,3.8346187,9.16,8.6137821,33.9630225,4.2410714,0.6207723,0.6140653,7.6431718,3.7665198,72.9357798,20.5364807,30.8441558,65.1298701,31.017316,43.7445887,15.7792208,4.1324102,8.8351823,8.452381,33.0286169,3.3632287,0.5930806,0.5460944,7.2149123,3.75,72.1786492,20.330614,30.974026,65.2597403,31.3636364,44.004329,15.9090909,4.0025963,9.1307815,8.92,33.5336538,4.1125541 +539,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2166251,1.1110122,19.9876533,16.4207659,30.764096,18.9943171,36.4721759,63.6163671,36.0685287,46.5675726,20.9267246,2.9465241,12.4045999,9.6675123,36.6636985,16.8639253,1.1879024,1.0615438,20.7186585,17.0150145,32.2907554,19.212564,36.8878216,63.6019287,35.1068746,46.549426,20.2385866,3.0511687,12.4714405,9.3803702,37.8134705,16.4739884,1.2308423,1.0972185,20.9431441,16.9327415,33.3397892,19.019239,37.0080857,63.1708363,34.6850644,46.4445536,20.1054883,2.8846085,12.5624253,9.2648107,36.999665,18.209899,1.2269619,1.1026377,20.7997344,17.0294666,34.7421242,19.3373148,36.7723007,63.3620224,34.2680648,46.5308133,20.3912866,2.8872672,12.7041229,9.3298029,37.3577636,15.2173913,1.1309637,1.0472105,21.3665491,17.6693364,35.5048884,19.1299693,36.7242517,63.4130576,35.2315251,47.7803987,20.776959,3.2851297,13.1495663,9.8659939,37.1025193,14.4969822 +540,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3430417,1.357222,22.7712667,19.1518558,42.1674693,16.0022002,39.0604136,64.3962925,35.8506956,48.2120651,22.8771802,3.5438378,13.6200841,10.6550451,33.1558548,22.3921984,1.4429653,1.4573405,22.4659601,18.7368334,42.6920135,16.0196684,38.6959728,63.900552,35.4865734,47.466365,22.20494,3.3645621,13.0574562,10.8013993,33.9942576,22.2556633,1.4578875,1.4578875,23.0825827,19.4137242,43.173009,16.2177292,39.4890396,64.0961897,35.3168497,48.5076129,22.5514132,3.7108777,12.7891005,10.4921738,33.8274758,21.5234348,1.4082358,1.4082358,22.9831001,19.3621926,44.5860003,15.8650045,40.0286744,64.7068625,35.1286503,48.8922279,22.8489794,3.5620444,12.6863373,9.9696525,33.6699645,19.7132458,1.536493,1.536493,22.6961766,19.0326058,46.2100978,14.9152316,39.6236087,64.1092815,34.3977348,48.0548998,22.6286516,3.4272719,12.9967694,9.9427976,32.4342489,17.3026927 +541,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3590852,0.3590852,7.8617141,4.5515153,76.422233,16.6283852,27.271552,63.9270031,29.5754591,38.9981829,16.8910204,6.767598,9.2887264,7.7193835,37.004728,5.0000011,0.3832584,0.3832584,7.6933362,4.432761,74.2807636,16.60589,27.8071317,63.5270849,29.9207413,39.9867868,17.3447849,7.0919172,9.3509651,7.8313279,37.5303348,4.4520558,0.3759162,0.3840722,7.329475,4.3041739,71.8169346,16.4181126,28.9331161,63.7557576,30.5578147,40.387217,17.3165482,7.3246682,9.0110478,7.5201234,37.4113576,5.1558765,0.4015109,0.4162751,7.4978498,4.3273285,70.5124507,16.0005551,29.9134511,64.0843104,30.8626447,39.5449401,17.1552245,7.3283083,9.860252,7.7102828,37.7609689,5.1122207,0.4293295,0.444612,7.5958645,4.439524,69.4744497,16.0439278,30.6749322,64.8543393,31.8575083,40.5393662,17.7531044,7.6002307,10.1947031,7.4566185,37.8887194,4.9242424 +542,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.291412,0.291412,7.9253765,4.9497375,76.2204866,12.2275817,25.1430528,61.6222919,32.3022068,39.5586109,15.0643042,3.0608421,11.2664943,11.9985248,36.4403036,3.2601679,0.4192448,0.4341469,8.4409171,5.215596,75.825328,12.5600456,25.5222908,61.9743726,32.0795145,38.5394585,14.8584639,3.1586154,10.9168512,11.4860307,37.3913063,3.8724295,0.4731899,0.4879158,8.5936187,5.5347995,75.0985352,12.4817749,24.9728125,62.7149578,32.3995989,39.2550586,14.6541113,3.2550197,11.2107237,11.1839403,38.2408284,3.8186621,0.4460069,0.4611428,8.7895484,5.8564791,74.0975359,12.3365879,25.3141658,62.9583016,31.5435213,39.3354385,14.2092119,3.4241473,11.8630795,11.7243316,38.1567069,4.849675,0.5939033,0.5786788,8.6355918,5.4177129,73.6680706,12.8747563,24.5603136,63.2745928,32.1737795,39.0807467,14.949387,3.4497675,12.3335405,11.692867,37.8677855,4.6418724 +543,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4429653,1.4573405,22.4659601,18.7368334,42.6920135,16.0196684,38.6959728,63.900552,35.4865734,47.466365,22.20494,3.3645621,13.0574562,10.8013993,33.9942576,22.2556633,1.4578875,1.4578875,23.0825827,19.4137242,43.173009,16.2177292,39.4890396,64.0961897,35.3168497,48.5076129,22.5514132,3.7108777,12.7891005,10.4921738,33.8274758,21.5234348,1.4082358,1.4082358,22.9831001,19.3621926,44.5860003,15.8650045,40.0286744,64.7068625,35.1286503,48.8922279,22.8489794,3.5620444,12.6863373,9.9696525,33.6699645,19.7132458,1.536493,1.536493,22.6961766,19.0326058,46.2100978,14.9152316,39.6236087,64.1092815,34.3977348,48.0548998,22.6286516,3.4272719,12.9967694,9.9427976,32.4342489,17.3026927,1.4890342,1.4890342,22.7572619,18.8543143,46.0322058,14.8594169,40.2707201,64.2213446,33.9461474,48.5702308,22.6431099,3.4136912,13.3880778,10.3131921,32.4752779,16.8780929 +544,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6703857,0.7121379,13.0333081,8.5191309,62.7365128,17.4992943,37.0963091,66.8290942,37.1519745,49.4293393,21.4225941,3.0762781,10.3035106,8.9770792,33.6810534,10.5603743,0.6697921,0.7108445,12.6522387,8.2949946,60.5913361,18.2797062,36.1308816,65.8406723,37.7737994,50.2601819,21.5087586,3.2721801,10.4026756,9.3329764,33.2379801,8.723432,0.7146022,0.7513292,12.2738387,8.0340292,59.2587513,18.9412314,35.3141112,66.3992759,38.387247,49.8640714,21.688877,3.5762873,10.5734704,9.2611406,32.9292788,9.2213001,0.6814965,0.7428523,11.7921967,7.7323666,57.5786919,19.5308104,35.679719,66.5545708,38.5598327,50.1885219,22.4091347,3.351284,10.5356906,9.2791061,32.8959753,10.2619953,0.7215895,0.7827615,12.2038792,7.9451612,56.272199,19.9919459,35.6339096,67.0732237,39.1985491,50.6701424,22.8758804,3.2028951,10.6528129,9.2038213,32.7646554,10.0427265 +545,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.3993399,0.4406111,9.8420085,7.0989604,75.7345025,12.4360404,29.8093512,67.0066671,28.0381284,41.6928004,12.4327527,3.957421,12.399409,10.7173463,32.4479807,3.5825913,0.4382551,0.4713546,9.765375,7.0931904,75.6194255,12.3132309,29.1657331,66.5963601,28.2338336,41.5020852,12.4805973,3.5833328,12.071208,10.2053848,33.018502,3.3019211,0.5511989,0.5805139,9.9934334,7.1694266,75.1705406,12.2423689,29.5271026,67.133556,28.5409818,41.8533988,12.7633445,3.5970589,12.1833449,10.3514084,33.5244653,2.7778077,0.5553546,0.5640666,9.6827767,6.8655514,74.7192399,11.6468694,30.045279,66.3533502,28.9127831,42.3442307,12.7859479,3.7485967,12.4574477,10.819447,33.582653,2.5951755,0.5910115,0.610097,9.5316918,6.5716612,73.375273,11.8634602,29.9143968,66.325128,29.2839168,42.7268036,13.56674,3.951827,12.2212883,11.1321049,33.1148286,3.0797347 +546,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.7062842,0.8151915,12.5465082,8.5586795,30.6629474,16.599009,34.9194719,67.5564375,43.7345922,49.4014706,25.159878,3.856622,13.7209359,11.6954143,35.9964695,8.7155883,0.6983708,0.8040606,12.3510423,8.1881747,31.1749165,17.3721771,35.3228156,68.0845109,43.3357264,49.2186429,25.3827392,3.9303985,13.06656,11.6776473,34.5936842,10.1941847,0.9419012,1.0465099,12.9585411,8.7585575,30.8019413,17.2968932,34.6976214,67.7668234,42.6141863,48.9775092,25.0774998,3.7829253,12.7116835,11.2000705,34.800926,12.9807817,1.0364018,1.1291762,12.9634869,8.9255918,31.5139532,16.5450414,34.5291908,67.4831996,41.8300812,48.1808557,24.6280084,3.7754654,12.1738178,11.0731219,34.6735032,13.9423077,0.9843206,1.0297317,12.5659751,8.4175198,30.863616,16.207404,34.3724922,68.1335763,40.8124769,48.5244412,24.5447828,3.8573924,12.1282571,11.0482362,34.3471449,13.6792453 +547,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4846458,1.4305312,22.3372219,18.9162172,34.962164,17.764618,31.1241335,63.7428471,34.7716519,45.6639323,20.5771031,2.7612295,12.3917237,12.2083839,38.0068574,17.3432159,1.5365973,1.5290073,23.5074761,19.8123567,35.1253503,17.1085116,30.9030823,64.3138907,33.9319022,45.1043853,19.8703622,2.6567158,12.7728933,11.7476082,38.1411583,16.5584308,1.5094964,1.5245063,23.9734586,20.0935902,35.348706,17.3607666,31.7047601,64.8057214,34.4472481,45.4671976,20.7740061,3.0121999,12.8616341,10.9526851,37.8865491,17.0807241,1.4295848,1.4952988,24.6648559,20.8379091,36.4964923,16.8168029,32.0081834,64.8947654,34.428697,44.8238345,21.0824003,2.9192611,12.6048729,10.3801784,38.319823,16.5697385,1.4295782,1.5166235,25.0842684,21.007741,36.951185,16.6525574,32.0629066,64.8104036,34.4225072,44.5227693,20.9157985,2.9027268,12.1736073,10.1567084,39.252839,17.0390871 +548,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.1224037,1.1140742,20.402827,16.0326279,30.8543795,14.8756522,36.3139408,66.7414456,32.8207174,51.0172196,24.9842729,4.8572826,13.9470996,11.6796824,31.4256961,14.6256116,1.0339665,1.0256749,19.8132928,15.468361,31.3447508,15.146437,35.4879109,67.3511125,32.9086282,51.0942632,25.2377283,5.4444556,14.0182958,11.7044218,31.0054542,15.408805,0.913021,0.955606,18.9152123,14.9867242,33.2932547,15.9686386,35.4298357,67.5041789,33.5968472,51.712495,25.8969207,5.8994821,13.0452876,10.7701008,30.9054339,14.7058824,0.8266424,0.892529,19.2589531,15.1711671,33.8172037,15.9508529,35.9928297,67.3665945,33.8538356,51.196127,25.5303374,6.1091403,14.2575159,11.399255,32.4551473,16.7721519,0.8665042,0.9326541,20.2659772,15.9550138,34.1059163,16.5612706,35.2678193,67.831577,34.8887286,51.0918127,25.6919118,6.068745,14.5787986,11.5132611,32.1787963,16.2576687 +549,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.949361,0.9941421,16.1361067,11.5266778,22.6559349,20.8479505,35.8234494,65.6228389,38.0087262,47.5028927,21.9965129,4.0798502,10.9758296,7.7477587,30.7319448,15.8536585,0.9809262,1.0253388,17.0525211,12.5211907,23.5703511,21.610501,36.0352814,65.5632604,38.2150667,47.9886718,22.2840439,4.1833944,11.0462628,7.737241,30.9583443,13.9999888,0.9871916,1.0445376,17.2147317,12.7227908,25.0001167,20.938925,36.2955463,65.3744738,37.4928759,47.7542069,22.0760534,4.0138252,11.6025211,7.7049693,30.4439921,15.5302913,1.086752,1.1372524,17.1978636,12.6593657,26.2127571,20.8795288,35.849087,66.448894,37.6109464,46.9156795,21.8547455,4.0868798,12.0208357,8.1696852,30.9643049,16.6666543,1.0498626,1.1113786,17.5074619,13.1613709,27.5576359,20.4739414,35.8346968,66.2319592,37.0753153,46.1529903,22.3560777,4.2105121,12.3104045,8.721702,30.683711,13.6029412 +550,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4643899,0.4869811,8.6446557,5.3307664,72.475632,11.244515,29.8140856,65.4457044,29.2354129,41.5230254,14.4237893,12.8970683,10.6615071,9.1283923,37.2807044,4.0021349,0.4622846,0.4733088,8.4535197,5.2054285,72.0960111,11.1078011,30.2178611,65.8100638,29.2549362,42.2664889,15.1600891,12.9333149,10.747341,9.1784704,37.3247678,3.6749486,0.4328827,0.4347191,8.5605223,5.2284006,71.4521266,11.2864814,30.3017528,65.2620834,29.3039192,42.2156732,15.3342162,12.6653018,10.781395,9.6874326,37.309113,3.9690726,0.3490002,0.3620065,8.4842193,5.2055308,70.3596147,11.3395245,31.0552553,65.3906991,29.533835,42.192061,15.6584705,12.6643117,11.1098411,10.1766904,36.9630413,4.2857143,0.3404351,0.3649671,8.460965,5.2484136,69.6845956,11.6337577,31.0628554,65.9923303,29.1202658,41.5800487,15.5345204,13.0351379,10.9466061,10.2009827,36.7349251,3.9356984 +551,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.5936686,0.6142579,10.8900207,6.720826,68.2576534,9.0911477,34.6300889,65.7310625,38.1248193,43.2009691,23.1306447,4.1536574,10.7092614,9.1429801,39.6027842,4.382715,0.5969902,0.617048,10.7615243,6.6392647,67.7913786,9.4051321,33.871035,65.6956316,38.4930886,43.3943973,23.1439896,4.1068915,10.3881762,8.9701394,39.3005937,5.0776571,0.594703,0.6058734,10.8081818,6.6811602,67.4455787,9.5419853,33.5579586,65.8493424,38.6243876,43.3658269,23.2530101,4.1822007,10.5433009,9.1859625,39.6197353,4.9418593,0.6053207,0.6177359,10.8435267,6.7730635,67.3787027,9.6895255,33.1936858,65.7520768,38.7283185,43.5852844,23.0092161,4.1745099,10.0434933,8.995839,39.3379055,4.3103438,0.5792208,0.5846087,11.027934,6.8848953,66.9086939,9.7925367,33.7093698,66.2163276,39.3917982,44.173639,23.3286826,4.1736297,10.2086194,8.9240828,39.5957417,4.5887935 +552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.624376,0.6438692,11.2614778,6.7354753,57.286745,15.1017143,34.6189388,67.4833634,36.9995746,48.6550863,20.4745844,3.5476943,12.0136784,11.15249,32.5022911,5.2000253,0.6395919,0.6412607,11.3399753,6.8376728,54.8353928,15.0629381,35.83162,67.485662,36.8547713,48.4343275,20.7487222,3.3870758,11.9454531,11.1929177,32.3529587,5.9065643,0.6413183,0.6306301,10.7489693,6.4956093,52.185896,15.0510399,36.4834949,67.636952,37.0610412,48.5328238,20.532233,3.4727664,11.7230051,11.1161639,31.7892074,6.3513175,0.6135018,0.5996284,10.4852428,6.1682804,49.0406301,14.672906,36.402017,68.2050289,37.4860266,48.8999917,21.0824298,3.4831846,11.1945055,10.8569038,31.8995231,4.7425165,0.5919144,0.5716161,10.0891573,5.9643366,46.3376771,14.8056077,36.2892854,68.3754793,37.3744279,49.1010302,20.8697728,3.5390359,11.1162922,10.3078516,31.9843919,4.5579822 +553,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.035557,1.0042663,16.6503159,12.4079953,44.2483177,18.8729005,31.8513717,70.0257198,36.3539445,47.897002,26.0206943,2.1626758,12.2480896,11.1181642,40.6956167,17.8131869,1.0055369,0.9738777,17.911902,13.0464922,44.361574,19.0572462,32.3805962,69.8782006,35.5955375,47.3687133,25.1202085,2.1929415,12.9982704,11.8537548,40.4815729,18.5204696,0.7920958,0.7610267,18.003194,12.7481331,43.8935594,18.6739705,32.1248763,69.938048,35.2943757,47.3935623,24.2649315,2.0220262,12.9658266,12.2363605,41.6471544,18.7270096,1.1110286,1.1713022,19.1291482,13.422752,46.1146517,18.6001658,32.085822,68.315736,34.7273417,46.7416619,23.1623117,1.8245133,13.9888931,12.6648329,41.6802902,18.5471811,1.0760441,1.1344198,20.4976197,14.760756,46.3249006,17.8345762,31.1469409,66.6304782,34.7430878,45.1408845,22.801437,1.9565951,14.4772334,12.5844974,41.6302066,16.8414258 +554,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6983708,0.8040606,12.3510423,8.1881747,31.1749165,17.3721771,35.3228156,68.0845109,43.3357264,49.2186429,25.3827392,3.9303985,13.06656,11.6776473,34.5936842,10.1941847,0.9419012,1.0465099,12.9585411,8.7585575,30.8019413,17.2968932,34.6976214,67.7668234,42.6141863,48.9775092,25.0774998,3.7829253,12.7116835,11.2000705,34.800926,12.9807817,1.0364018,1.1291762,12.9634869,8.9255918,31.5139532,16.5450414,34.5291908,67.4831996,41.8300812,48.1808557,24.6280084,3.7754654,12.1738178,11.0731219,34.6735032,13.9423077,0.9843206,1.0297317,12.5659751,8.4175198,30.863616,16.207404,34.3724922,68.1335763,40.8124769,48.5244412,24.5447828,3.8573924,12.1282571,11.0482362,34.3471449,13.6792453,0.9964134,1.0075836,12.7792804,8.9240804,29.8606026,16.6530812,34.3170053,67.46007,40.7557089,48.5817671,24.9513053,3.7222922,11.6330138,11.4885129,34.3480528,14.3564072 +555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0339665,1.0256749,19.8132928,15.468361,31.3447508,15.146437,35.4879109,67.3511125,32.9086282,51.0942632,25.2377283,5.4444556,14.0182958,11.7044218,31.0054542,15.408805,0.913021,0.955606,18.9152123,14.9867242,33.2932547,15.9686386,35.4298357,67.5041789,33.5968472,51.712495,25.8969207,5.8994821,13.0452876,10.7701008,30.9054339,14.7058824,0.8266424,0.892529,19.2589531,15.1711671,33.8172037,15.9508529,35.9928297,67.3665945,33.8538356,51.196127,25.5303374,6.1091403,14.2575159,11.399255,32.4551473,16.7721519,0.8665042,0.9326541,20.2659772,15.9550138,34.1059163,16.5612706,35.2678193,67.831577,34.8887286,51.0918127,25.6919118,6.068745,14.5787986,11.5132611,32.1787963,16.2576687,0.7936738,0.8593393,20.7030266,16.4734573,34.7557189,15.818553,35.424376,67.9615053,34.9434804,50.0741376,25.4734666,6.1104577,14.4486868,11.470011,33.4162194,15.8682635 +556,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6395919,0.6412607,11.3399753,6.8376728,54.8353928,15.0629381,35.83162,67.485662,36.8547713,48.4343275,20.7487222,3.3870758,11.9454531,11.1929177,32.3529587,5.9065643,0.6413183,0.6306301,10.7489693,6.4956093,52.185896,15.0510399,36.4834949,67.636952,37.0610412,48.5328238,20.532233,3.4727664,11.7230051,11.1161639,31.7892074,6.3513175,0.6135018,0.5996284,10.4852428,6.1682804,49.0406301,14.672906,36.402017,68.2050289,37.4860266,48.8999917,21.0824298,3.4831846,11.1945055,10.8569038,31.8995231,4.7425165,0.5919144,0.5716161,10.0891573,5.9643366,46.3376771,14.8056077,36.2892854,68.3754793,37.3744279,49.1010302,20.8697728,3.5390359,11.1162922,10.3078516,31.9843919,4.5579822,0.6642898,0.6438663,10.1983377,6.2310125,44.0295026,14.5017881,36.2666952,68.4060837,37.5528625,49.0637863,20.7342868,3.3458171,10.8473131,10.1338858,31.961842,5.7746213 +557,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7418751,0.7630967,10.3582419,6.5772614,62.773453,12.1477099,27.3498719,67.2887625,38.0756644,44.8807654,19.5472051,4.3475277,10.0732435,8.1696677,33.586817,6.9037657,0.8182518,0.8396027,10.5872406,6.6935665,61.775489,12.2796219,27.7935761,67.4163217,38.1624972,45.114158,19.6314644,4.4472125,10.0730271,8.2450147,33.1943935,6.3291191,0.7288658,0.753359,10.5869055,6.6696976,61.2729928,12.6517366,28.3306636,67.0131086,37.7371025,44.9398872,19.7341409,4.4180912,10.2018741,8.4454337,33.2077326,6.5502235,0.7732769,0.7981057,10.5852085,6.7769441,60.3407436,12.8595732,29.3822694,67.5839023,38.3301793,45.7893929,20.3107012,4.783163,10.009144,8.1733857,33.5938403,7.5886415,0.8300678,0.8552638,10.7446187,6.6863822,60.2279629,12.5545144,29.626924,67.2396242,37.772328,45.070882,20.0530984,4.8075463,9.6889679,8.4089003,33.9469342,6.5737743 +558,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7960128,0.8403306,11.1858094,7.1527138,54.8254912,17.1582202,33.9009979,69.9613796,38.9220507,45.0667333,22.8757154,2.8616515,10.6579808,8.5449535,33.0013808,6.1497228,0.8258003,0.8702448,11.1398163,6.9387105,55.0747882,17.181,33.725012,69.0810189,37.7586849,44.6685465,22.5359567,2.8235651,10.5425737,8.9064645,33.1611709,5.2197745,0.7888438,0.8343722,10.7155457,7.0676981,54.2654152,17.3643179,34.0452353,69.4723506,38.2806851,45.1364098,22.6669145,3.1765919,10.586994,8.7946744,34.0224405,5.1912568,0.8000332,0.8022269,11.0070695,7.2261453,53.680547,16.8215909,34.2428655,70.3830631,39.0133477,45.6993116,22.8225488,3.0899842,10.5795953,9.1450608,33.9048422,5.5851064,0.7928518,0.7950807,10.1722299,6.6558988,52.1553557,17.1000305,34.2528311,70.5334177,39.7332555,45.9079069,22.9996184,3.1969292,9.6180426,8.8214728,33.9260805,5.8659218 +559,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1879024,1.0615438,20.7186585,17.0150145,32.2907554,19.212564,36.8878216,63.6019287,35.1068746,46.549426,20.2385866,3.0511687,12.4714405,9.3803702,37.8134705,16.4739884,1.2308423,1.0972185,20.9431441,16.9327415,33.3397892,19.019239,37.0080857,63.1708363,34.6850644,46.4445536,20.1054883,2.8846085,12.5624253,9.2648107,36.999665,18.209899,1.2269619,1.1026377,20.7997344,17.0294666,34.7421242,19.3373148,36.7723007,63.3620224,34.2680648,46.5308133,20.3912866,2.8872672,12.7041229,9.3298029,37.3577636,15.2173913,1.1309637,1.0472105,21.3665491,17.6693364,35.5048884,19.1299693,36.7242517,63.4130576,35.2315251,47.7803987,20.776959,3.2851297,13.1495663,9.8659939,37.1025193,14.4969822,1.2587205,1.1746858,21.5175304,17.3324813,36.1907799,19.0995136,37.4945234,63.5566588,35.1236774,47.992411,21.1112704,3.263478,13.4178255,10.0803654,37.0918878,15.0567699 +560,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5122302,0.512695,9.968867,6.8559119,58.9737833,11.0737724,31.8229683,67.4984852,30.7524117,46.0419069,17.0009098,3.038298,10.509476,9.9525427,31.8704562,7.4193763,0.4948802,0.509552,9.7511303,6.6289577,58.0713094,10.9020251,31.4055225,67.5959966,30.7142889,46.121342,16.8586846,3.0030711,10.5270657,9.8700986,31.4362759,7.7367454,0.4803633,0.4844559,9.3885138,6.4760598,56.3904882,10.6522735,31.286192,68.056361,31.3173482,45.4778234,17.3915802,2.8712143,10.6782811,9.7809716,31.3311743,7.5869024,0.5135882,0.5225291,9.1531931,6.2480514,55.0690537,10.2004035,31.0234058,68.0188737,32.0592017,45.7775539,17.9484557,2.7860545,10.3572742,9.8572395,30.6057394,7.5061932,0.6228992,0.6253042,9.1250247,6.2690608,53.9660472,9.8638082,31.0309928,67.951849,33.0020476,45.8931078,18.2806001,2.7143217,10.5330632,9.9393348,30.5577549,7.251746 +561,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4578875,1.4578875,23.0825827,19.4137242,43.173009,16.2177292,39.4890396,64.0961897,35.3168497,48.5076129,22.5514132,3.7108777,12.7891005,10.4921738,33.8274758,21.5234348,1.4082358,1.4082358,22.9831001,19.3621926,44.5860003,15.8650045,40.0286744,64.7068625,35.1286503,48.8922279,22.8489794,3.5620444,12.6863373,9.9696525,33.6699645,19.7132458,1.536493,1.536493,22.6961766,19.0326058,46.2100978,14.9152316,39.6236087,64.1092815,34.3977348,48.0548998,22.6286516,3.4272719,12.9967694,9.9427976,32.4342489,17.3026927,1.4890342,1.4890342,22.7572619,18.8543143,46.0322058,14.8594169,40.2707201,64.2213446,33.9461474,48.5702308,22.6431099,3.4136912,13.3880778,10.3131921,32.4752779,16.8780929,1.3583132,1.3982869,23.4446332,19.5532363,45.6380019,14.5273871,40.715641,65.0049247,34.2998187,48.03381,22.9014398,3.7234305,12.2980601,9.0785717,32.213668,17.7782385 +562,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3970242,0.3890217,10.8121214,7.1723051,61.3473205,18.3035795,32.9672465,67.7972306,36.1769849,46.4806922,19.9834797,2.8926527,12.3384645,11.5847633,36.5801387,3.6666667,0.5698521,0.5464479,11.8221644,7.2846634,60.2044998,19.4112568,33.5933384,68.4208751,36.5499238,46.6772216,20.5653297,3.0213096,12.2107653,11.659292,37.4725914,3.555505,0.5628929,0.5400065,12.6431751,7.7238294,59.4918192,19.3645753,33.2801848,68.3568036,36.0500361,46.5566675,20.6880167,3.0431129,11.933554,12.3692674,38.0561421,4.4725386,0.6175943,0.645172,12.5971791,7.3973625,58.4072865,20.7966512,34.0851099,69.1005097,36.153271,46.9640684,21.3426687,3.5786439,11.7337928,11.6020823,37.3027898,4.2933245,0.6312348,0.6591664,13.2519758,7.6987226,57.6431049,21.1004812,33.6014967,69.3736381,35.9606898,47.693821,21.2399743,3.540847,12.8547239,12.481197,37.3210983,3.8762024 +563,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.821647,0.7436734,13.8646658,10.7278636,50.2604661,31.462881,28.7274901,67.1594108,37.7251636,40.9385725,18.3163023,4.9485855,16.9333355,11.8983575,34.9058079,7.2035424,0.6840288,0.6033174,13.86733,10.7422833,50.0669365,31.2256312,30.1723435,68.103426,36.2734312,39.8543877,17.4404517,4.5756003,15.5220326,10.9115997,32.2714549,6.5791205,0.594946,0.5134452,13.0066093,10.0000261,50.5367201,32.264512,30.2122345,68.8578038,35.9232816,41.2352521,17.7291006,4.8473548,15.840279,10.6648144,33.933387,5.8559877,0.6536742,0.511569,12.9388885,9.8179035,53.1415611,32.1847025,30.4088587,67.2163016,35.1586041,40.699457,16.8206489,4.9473079,15.3533336,11.580403,33.1061731,5.7018544,0.5993419,0.4556617,11.7063211,8.6639488,53.1584515,31.913477,29.4155418,66.0689148,34.9935192,39.3759927,16.1354497,4.5817463,15.0552011,12.3269191,33.472178,6.3727052 +564,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6840288,0.6033174,13.86733,10.7422833,50.0669365,31.2256312,30.1723435,68.103426,36.2734312,39.8543877,17.4404517,4.5756003,15.5220326,10.9115997,32.2714549,6.5791205,0.594946,0.5134452,13.0066093,10.0000261,50.5367201,32.264512,30.2122345,68.8578038,35.9232816,41.2352521,17.7291006,4.8473548,15.840279,10.6648144,33.933387,5.8559877,0.6536742,0.511569,12.9388885,9.8179035,53.1415611,32.1847025,30.4088587,67.2163016,35.1586041,40.699457,16.8206489,4.9473079,15.3533336,11.580403,33.1061731,5.7018544,0.5993419,0.4556617,11.7063211,8.6639488,53.1584515,31.913477,29.4155418,66.0689148,34.9935192,39.3759927,16.1354497,4.5817463,15.0552011,12.3269191,33.472178,6.3727052,0.6219643,0.5612839,11.8984642,8.7775524,52.251556,31.1126032,28.1698168,66.9933816,34.8366447,40.5883614,17.0588074,4.5098688,15.6676521,12.7050916,33.928488,5.3399614 +565,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6697921,0.7108445,12.6522387,8.2949946,60.5913361,18.2797062,36.1308816,65.8406723,37.7737994,50.2601819,21.5087586,3.2721801,10.4026756,9.3329764,33.2379801,8.723432,0.7146022,0.7513292,12.2738387,8.0340292,59.2587513,18.9412314,35.3141112,66.3992759,38.387247,49.8640714,21.688877,3.5762873,10.5734704,9.2611406,32.9292788,9.2213001,0.6814965,0.7428523,11.7921967,7.7323666,57.5786919,19.5308104,35.679719,66.5545708,38.5598327,50.1885219,22.4091347,3.351284,10.5356906,9.2791061,32.8959753,10.2619953,0.7215895,0.7827615,12.2038792,7.9451612,56.272199,19.9919459,35.6339096,67.0732237,39.1985491,50.6701424,22.8758804,3.2028951,10.6528129,9.2038213,32.7646554,10.0427265,0.7531281,0.7834303,12.2468263,7.7369685,55.6617357,19.0430759,35.3509437,67.0158428,38.3704551,50.5849339,22.5924641,3.2236106,11.473285,9.9999671,33.3418423,9.6566524 +566,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8182518,0.8396027,10.5872406,6.6935665,61.775489,12.2796219,27.7935761,67.4163217,38.1624972,45.114158,19.6314644,4.4472125,10.0730271,8.2450147,33.1943935,6.3291191,0.7288658,0.753359,10.5869055,6.6696976,61.2729928,12.6517366,28.3306636,67.0131086,37.7371025,44.9398872,19.7341409,4.4180912,10.2018741,8.4454337,33.2077326,6.5502235,0.7732769,0.7981057,10.5852085,6.7769441,60.3407436,12.8595732,29.3822694,67.5839023,38.3301793,45.7893929,20.3107012,4.783163,10.009144,8.1733857,33.5938403,7.5886415,0.8300678,0.8552638,10.7446187,6.6863822,60.2279629,12.5545144,29.626924,67.2396242,37.772328,45.070882,20.0530984,4.8075463,9.6889679,8.4089003,33.9469342,6.5737743,0.8477648,0.877482,10.5658587,6.7105522,60.1883115,12.5132275,29.1942133,67.6600023,38.2144189,44.4800679,20.3232538,4.7725557,9.4675435,8.6624146,33.748551,5.7208723 +567,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8611521,1.8611521,25.7886435,22.0031546,56.6935484,7.2429907,38.0537975,66.5348101,28.085443,49.7626582,20.806962,6.25,12.191358,10.6811146,33.8006231,15.4166667,1.5870719,1.5870719,26.6923077,23,55.7936508,7.2629969,37.3839009,66.3312693,28.7151703,48.2198142,20.5108359,6.1145511,11.6459627,9.7826087,33.0721003,16.8103448,1.1995134,1.1995134,27.265745,23.5791091,57.0859873,6.3846154,38.299532,66.3806552,28.6271451,47.6599064,19.1107644,5.5382215,12.5,10.0308642,34.84375,17.2268908,1.2090559,1.2813102,28.2575758,23.4090909,58.1081081,5.5810398,40.0154799,67.5696594,29.1795666,46.3622291,18.0340557,5.1857585,13.0630631,9.7305389,34.3939394,16.015625,1.4691715,1.577553,30.2130898,24.7336377,58.8852989,5.6414219,39.9529042,67.8963893,28.6499215,46.0753532,17.9748823,5.2590267,13.5514019,9.4720497,34.6394984,17.0289855 +568,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1726742,1.2002722,17.8064569,13.4590108,58.811255,16.6671782,34.9071562,62.9908357,33.6413056,39.2202602,19.9250451,5.1838104,11.4754158,10.5642986,39.7421119,12.1377971,1.1917723,1.2193015,17.7148948,13.7206934,62.4779461,15.547462,33.6384953,63.3171665,33.0298729,37.9657102,19.0883646,4.6596493,11.7386929,10.5655134,39.9601827,12.9620716,1.2162699,1.1883894,18.0984165,13.970725,66.6165972,15.0676391,33.7983025,63.5659893,34.8174571,38.9310225,18.7562744,4.4401685,12.3147343,10.7097336,42.0859681,14.993699,1.3553663,1.2524556,17.8263571,13.9084616,69.2322568,15.8901599,33.2317039,64.1816473,34.9914049,39.1775258,19.2104979,4.2186256,12.8462267,10.7327929,42.5999647,14.3633766,1.3194833,1.1605359,17.7310668,14.0038679,72.5605787,15.2424437,32.3403532,64.3435039,35.2496622,37.7330471,19.6099659,4.3345341,13.7809707,10.7584712,42.6641173,15.4401365 +569,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4622846,0.4733088,8.4535197,5.2054285,72.0960111,11.1078011,30.2178611,65.8100638,29.2549362,42.2664889,15.1600891,12.9333149,10.747341,9.1784704,37.3247678,3.6749486,0.4328827,0.4347191,8.5605223,5.2284006,71.4521266,11.2864814,30.3017528,65.2620834,29.3039192,42.2156732,15.3342162,12.6653018,10.781395,9.6874326,37.309113,3.9690726,0.3490002,0.3620065,8.4842193,5.2055308,70.3596147,11.3395245,31.0552553,65.3906991,29.533835,42.192061,15.6584705,12.6643117,11.1098411,10.1766904,36.9630413,4.2857143,0.3404351,0.3649671,8.460965,5.2484136,69.6845956,11.6337577,31.0628554,65.9923303,29.1202658,41.5800487,15.5345204,13.0351379,10.9466061,10.2009827,36.7349251,3.9356984,0.3485153,0.361913,8.1236579,5.0638538,68.9924924,11.7248696,31.8677886,66.1126455,28.6816346,41.5516793,15.5230815,13.1648251,11.2861187,10.3845229,36.6363786,3.5382831 +570,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4728685,0.4994014,8.2210744,5.2190256,61.7001796,15.431167,33.1853455,66.6989929,32.7520846,43.0214843,18.688398,3.9717175,10.0460488,8.8617139,33.1472324,4.3996485,0.5160855,0.564005,8.1545955,5.0913318,59.7840846,15.3448255,33.4934539,66.666939,33.357504,43.7316923,18.613113,3.6874238,10.2140372,8.9433287,33.0335735,4.5130679,0.4873891,0.5496569,7.9942829,4.7823665,58.4595994,15.3778332,33.8163943,66.5632006,33.0425843,43.6191668,18.8667559,3.8021973,10.831467,9.3316041,32.5658255,4.5078559,0.4284321,0.4911773,7.8721371,4.6154108,57.3168468,15.0347827,33.4344717,66.4555484,33.3102874,43.867109,18.5001103,3.6964592,10.8984722,9.7926984,32.3116115,3.5139794,0.4800467,0.543302,7.9115038,4.6505747,56.9442936,15.0770375,33.5937496,66.3769539,34.0946677,44.4488821,19.0869223,3.8786843,10.6198936,9.4769176,33.2368159,3.4845062 +571,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3699222,0.444629,7.8803541,4.5561352,78.1424159,19.6261175,30.1285039,62.2268775,27.1256668,38.123849,14.3331108,5.6747449,10.6681632,9.2313664,34.0665146,3.8116592,0.2629524,0.3324695,7.6407714,4.3087078,77.3287005,19.590306,29.8706714,61.9254554,27.7441019,39.5554722,14.9069896,5.3361353,10.3364272,9.2852581,32.8060824,3.6170213,0.3469079,0.3817148,7.764592,4.3903517,77.2938884,19.5298474,29.1601337,62.7088642,27.8306311,39.2665486,15.3685819,5.5281329,10.0141104,8.8834692,33.2745777,4.4117647,0.3814916,0.4234349,8.0657569,4.401223,76.6605939,19.2873319,29.1695764,62.639516,28.4624818,39.7057184,15.3574525,5.2308427,10.1820017,8.5724757,33.2514093,4.7717842,0.3911741,0.4046166,7.823281,4.3420187,76.8280971,19.5042384,28.4988666,63.5083428,27.82372,40.2437329,15.8161812,4.9343495,10.0843856,8.4096181,34.4987754,5.0438596 +572,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7750616,0.7661308,13.5565705,8.100271,47.557835,17.3555097,35.6262974,69.6317855,39.3797992,52.6609271,22.5785305,3.0555731,11.8907189,10.0035736,31.7884222,8.9743169,0.7014353,0.6924591,14.0303437,8.4779691,46.1735883,16.6783899,36.5966418,69.3913065,39.0376255,53.112365,22.5508626,3.2518256,11.8604359,10.4188698,32.4703255,8.4183249,0.8193421,0.8102803,14.0758022,8.5328931,46.1651481,16.3298862,37.3479052,68.5446738,38.8024698,52.5982423,22.6801301,3.5527538,11.381993,9.9506935,32.6799375,8.793924,0.8571017,0.8559955,14.2127201,8.8903102,44.8641585,15.8300678,37.4567494,68.7716288,38.5404318,52.6040694,22.7201438,3.7263873,11.0547866,9.7527842,32.6261374,8.8235341,0.8313577,0.813944,13.9292508,8.9121926,43.7772258,16.3237176,37.1489697,68.9551831,38.5995461,52.3577885,22.781852,3.8118718,11.3190766,9.8413492,32.1915937,10.5405405 +573,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7585423,0.7518408,8.3296703,4.1098901,73.7288136,20.4662104,32.1027634,64.8316062,30.246114,43.7176166,15.4792746,4.2080276,9.0361446,8.159164,34.9636217,3.8812785,0.6980498,0.691407,7.9852045,3.9817232,73.3895374,20.1571793,31.483069,65.2593228,31.0115731,43.9991427,16.0094299,3.8346187,9.16,8.6137821,33.9630225,4.2410714,0.6207723,0.6140653,7.6431718,3.7665198,72.9357798,20.5364807,30.8441558,65.1298701,31.017316,43.7445887,15.7792208,4.1324102,8.8351823,8.452381,33.0286169,3.3632287,0.5930806,0.5460944,7.2149123,3.75,72.1786492,20.330614,30.974026,65.2597403,31.3636364,44.004329,15.9090909,4.0025963,9.1307815,8.92,33.5336538,4.1125541,0.534188,0.506617,6.9469424,4.0242806,71.1624776,19.5181256,31.4088275,65.7824342,30.962996,43.357111,15.4926438,4.3894831,9.1986917,9.1468417,35.2674897,4.3981481 +574,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5870719,1.5870719,26.6923077,23,55.7936508,7.2629969,37.3839009,66.3312693,28.7151703,48.2198142,20.5108359,6.1145511,11.6459627,9.7826087,33.0721003,16.8103448,1.1995134,1.1995134,27.265745,23.5791091,57.0859873,6.3846154,38.299532,66.3806552,28.6271451,47.6599064,19.1107644,5.5382215,12.5,10.0308642,34.84375,17.2268908,1.2090559,1.2813102,28.2575758,23.4090909,58.1081081,5.5810398,40.0154799,67.5696594,29.1795666,46.3622291,18.0340557,5.1857585,13.0630631,9.7305389,34.3939394,16.015625,1.4691715,1.577553,30.2130898,24.7336377,58.8852989,5.6414219,39.9529042,67.8963893,28.6499215,46.0753532,17.9748823,5.2590267,13.5514019,9.4720497,34.6394984,17.0289855,1.6309524,1.7380952,30.6475904,24.7740964,59.2857143,5.7164634,38.0620155,67.5193798,29.6899225,44.4186047,16.6666667,4.5736434,13.2621951,9.5744681,35.4294479,15.248227 +575,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3922854,0.4234665,9.049282,5.8018398,40.6175109,16.0540826,34.9113888,68.2949689,37.0252136,49.1260938,19.3530389,3.9601243,9.6308338,9.2684501,27.0045498,2.464787,0.5161822,0.5476803,9.2921659,5.8952404,39.5823043,16.3372671,35.9893169,68.9873683,36.8136848,49.1574468,20.3075768,4.1358192,9.3910497,8.1726117,27.4492307,2.4822677,0.4870664,0.4902317,9.0301258,5.7722563,37.4596081,16.5541426,35.6600918,69.3458842,37.5653889,49.5667064,21.0051016,3.8286364,9.3716142,8.1328512,27.2086725,3.7162137,0.59522,0.5676903,9.1509267,5.9734602,35.8024708,16.8190674,35.4901408,69.710759,37.9672781,48.7000352,21.1987565,3.9430618,9.682849,8.5934023,28.201364,3.9285714,0.6222017,0.5939162,8.7846556,5.9737991,35.0615641,16.4421349,35.2221557,69.5636373,37.8470956,48.5616995,20.6070839,4.0451094,9.8012643,8.5974748,27.7329359,3.2374077 +576,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5160855,0.564005,8.1545955,5.0913318,59.7840846,15.3448255,33.4934539,66.666939,33.357504,43.7316923,18.613113,3.6874238,10.2140372,8.9433287,33.0335735,4.5130679,0.4873891,0.5496569,7.9942829,4.7823665,58.4595994,15.3778332,33.8163943,66.5632006,33.0425843,43.6191668,18.8667559,3.8021973,10.831467,9.3316041,32.5658255,4.5078559,0.4284321,0.4911773,7.8721371,4.6154108,57.3168468,15.0347827,33.4344717,66.4555484,33.3102874,43.867109,18.5001103,3.6964592,10.8984722,9.7926984,32.3116115,3.5139794,0.4800467,0.543302,7.9115038,4.6505747,56.9442936,15.0770375,33.5937496,66.3769539,34.0946677,44.4488821,19.0869223,3.8786843,10.6198936,9.4769176,33.2368159,3.4845062,0.5004428,0.5751785,7.8534083,4.5945597,55.6465061,15.4828863,34.1262968,66.504505,33.9722408,44.5384453,19.4232622,3.9859137,10.6466245,9.1035631,32.3228092,3.0128482 +577,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.530369,0.5391903,7.8840866,4.9146165,85.1050959,6.8366846,26.786944,62.6799636,28.281159,37.8072011,13.5794232,5.3393109,10.2643337,8.380459,38.6409868,3.3433509,0.5360668,0.5449468,8.0663813,5.072451,84.7044576,7.0602308,26.7735022,62.8599274,28.5246831,37.7989703,13.4796914,5.3757126,10.0959504,8.3668608,38.6794121,3.4883721,0.5291015,0.5337522,8.1078983,5.2109433,84.4310499,7.1231371,26.7173311,62.8470037,28.2971587,38.0342628,13.7031,5.2246446,10.6415949,8.8695915,38.2996148,3.5147392,0.5790905,0.5859515,8.053118,5.1896271,84.1981777,7.2294386,27.1227669,62.6506151,28.4817643,38.2629893,13.7898226,5.1910107,10.9628038,9.0937782,37.9826208,3.3747091,0.5619948,0.5623957,8.009687,5.1582241,84.0298387,7.2260276,27.6996676,62.9006465,28.3891562,38.1773232,13.8840798,5.2168002,10.8047601,9.1401336,37.7632501,2.909232 +578,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6441859,0.6496788,10.778905,5.9939151,56.1875562,17.7883806,32.8371576,68.1206876,36.3058621,46.1170371,20.9293607,4.051228,9.8033801,8.8085068,35.7794708,6.5299336,0.6869814,0.7126104,10.9798084,6.2240398,55.5542709,17.9173625,33.0819406,69.0608492,36.8120428,46.1508805,21.5211931,4.1401838,9.7250505,8.9608621,35.4677185,7.3585878,0.5964097,0.6492429,10.890759,6.3452579,54.6244895,18.1320248,33.8583152,69.1841354,36.9816337,45.7322955,21.9305216,4.2407009,9.9161469,9.5969399,35.8532814,8.0392724,0.5752195,0.6539246,10.801206,6.3061867,54.2026037,17.8197683,33.744089,68.9108316,37.2390832,45.5025123,22.0400634,4.1587481,9.8208006,9.5522813,35.4828866,8.167386,0.5657286,0.6453303,10.6693358,6.0374339,54.1038111,17.3529836,33.6938646,68.1681315,37.1165449,44.7287917,21.8099227,3.8745715,9.5125196,9.5598322,35.6500134,8.686437 +579,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8581454,0.8123109,13.3940515,8.0279209,50.153588,18.7260231,34.5750905,70.5663391,37.2766266,48.5617533,24.5096229,3.2899133,11.8986652,10.449641,36.6329734,11.2900239,0.9217819,0.8748373,13.7333968,8.4933546,49.7066618,18.3679301,35.6599037,70.9853405,38.4252208,48.9515206,25.3566606,3.3230012,11.9777365,10.6502307,35.9229517,11.5128928,0.7172308,0.710442,13.5601822,8.5493196,49.339515,18.3976762,36.3981476,71.5598647,39.2758336,49.0328707,26.0564351,3.1700012,12.2964204,10.2576648,35.7639026,11.6194319,0.6532737,0.6464259,12.5879574,8.0907155,47.2513258,18.5523454,36.4973744,71.2050222,40.0767869,49.2745605,26.2118505,3.1944313,12.2107406,10.4203951,34.5262356,10.4313845,0.6787539,0.6717852,12.3430204,8.2212431,46.3819703,19.1415972,36.845532,71.1888526,40.197285,49.0126499,26.2853599,3.0992114,11.7013277,10.5881995,34.2479158,10.5838103 +580,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9809262,1.0253388,17.0525211,12.5211907,23.5703511,21.610501,36.0352814,65.5632604,38.2150667,47.9886718,22.2840439,4.1833944,11.0462628,7.737241,30.9583443,13.9999888,0.9871916,1.0445376,17.2147317,12.7227908,25.0001167,20.938925,36.2955463,65.3744738,37.4928759,47.7542069,22.0760534,4.0138252,11.6025211,7.7049693,30.4439921,15.5302913,1.086752,1.1372524,17.1978636,12.6593657,26.2127571,20.8795288,35.849087,66.448894,37.6109464,46.9156795,21.8547455,4.0868798,12.0208357,8.1696852,30.9643049,16.6666543,1.0498626,1.1113786,17.5074619,13.1613709,27.5576359,20.4739414,35.8346968,66.2319592,37.0753153,46.1529903,22.3560777,4.2105121,12.3104045,8.721702,30.683711,13.6029412,1.0974998,1.1579262,17.5109303,13.2591438,28.6518971,20.5431586,35.8214447,66.8614009,38.1874868,47.329614,23.3181927,3.7104368,11.9395444,8.9457411,29.702175,14.5161384 +581,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8258003,0.8702448,11.1398163,6.9387105,55.0747882,17.181,33.725012,69.0810189,37.7586849,44.6685465,22.5359567,2.8235651,10.5425737,8.9064645,33.1611709,5.2197745,0.7888438,0.8343722,10.7155457,7.0676981,54.2654152,17.3643179,34.0452353,69.4723506,38.2806851,45.1364098,22.6669145,3.1765919,10.586994,8.7946744,34.0224405,5.1912568,0.8000332,0.8022269,11.0070695,7.2261453,53.680547,16.8215909,34.2428655,70.3830631,39.0133477,45.6993116,22.8225488,3.0899842,10.5795953,9.1450608,33.9048422,5.5851064,0.7928518,0.7950807,10.1722299,6.6558988,52.1553557,17.1000305,34.2528311,70.5334177,39.7332555,45.9079069,22.9996184,3.1969292,9.6180426,8.8214728,33.9260805,5.8659218,0.8216186,0.8297014,10.547992,6.9305107,51.5607855,16.1844516,33.3637928,69.7074824,39.1772938,45.0273945,22.2120483,3.0530156,9.290179,8.9734618,34.2068482,6.1827957 +582,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.9419012,1.0465099,12.9585411,8.7585575,30.8019413,17.2968932,34.6976214,67.7668234,42.6141863,48.9775092,25.0774998,3.7829253,12.7116835,11.2000705,34.800926,12.9807817,1.0364018,1.1291762,12.9634869,8.9255918,31.5139532,16.5450414,34.5291908,67.4831996,41.8300812,48.1808557,24.6280084,3.7754654,12.1738178,11.0731219,34.6735032,13.9423077,0.9843206,1.0297317,12.5659751,8.4175198,30.863616,16.207404,34.3724922,68.1335763,40.8124769,48.5244412,24.5447828,3.8573924,12.1282571,11.0482362,34.3471449,13.6792453,0.9964134,1.0075836,12.7792804,8.9240804,29.8606026,16.6530812,34.3170053,67.46007,40.7557089,48.5817671,24.9513053,3.7222922,11.6330138,11.4885129,34.3480528,14.3564072,1.0356237,1.0179722,13.7191495,9.5447777,29.7703343,16.6455257,34.1448282,67.9847851,40.5837283,48.2003261,25.5790739,4.2355831,11.4819146,11.2445552,34.6510519,11.9047392 +583,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3846392,0.3846392,10.2911022,7.1786794,83.1789084,9.3578005,29.7652094,65.2316294,26.4185206,41.9738854,11.780993,3.7016479,12.4133622,11.4390443,33.5369014,5.7691674,0.3221656,0.3176313,10.0942694,7.0272262,82.7170838,9.7741293,29.4670239,65.7261837,26.454344,42.4707815,11.6616125,3.5035176,11.9555584,11.4799069,32.415902,6.2498573,0.3450913,0.3405043,9.9897206,6.9707527,82.2194327,10.0308049,29.4836107,65.2839878,26.0757015,42.3236957,11.4457849,3.2529813,11.7516644,11.5040855,30.8356615,5.6755499,0.3121757,0.307561,9.5994449,6.5878686,81.9454057,9.9070669,29.0640646,66.1871795,26.6378085,42.6864506,11.3519132,3.4835332,11.1434714,10.6911465,30.2787988,5.0526955,0.3972213,0.3870419,9.7021683,6.5879182,80.4656521,10.5291262,28.8521309,66.3129461,27.2174269,42.9740585,11.6001158,4.0173902,11.3311867,11.7131241,30.9076191,4.6443349 +584,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9217819,0.8748373,13.7333968,8.4933546,49.7066618,18.3679301,35.6599037,70.9853405,38.4252208,48.9515206,25.3566606,3.3230012,11.9777365,10.6502307,35.9229517,11.5128928,0.7172308,0.710442,13.5601822,8.5493196,49.339515,18.3976762,36.3981476,71.5598647,39.2758336,49.0328707,26.0564351,3.1700012,12.2964204,10.2576648,35.7639026,11.6194319,0.6532737,0.6464259,12.5879574,8.0907155,47.2513258,18.5523454,36.4973744,71.2050222,40.0767869,49.2745605,26.2118505,3.1944313,12.2107406,10.4203951,34.5262356,10.4313845,0.6787539,0.6717852,12.3430204,8.2212431,46.3819703,19.1415972,36.845532,71.1888526,40.197285,49.0126499,26.2853599,3.0992114,11.7013277,10.5881995,34.2479158,10.5838103,0.7441796,0.7371429,12.5568002,8.1357466,46.9992018,18.5260992,36.1251989,70.5563824,38.723877,48.189997,25.5914414,2.9002757,12.3805893,10.2445603,35.5704634,9.5069284 +585,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3832584,0.3832584,7.6933362,4.432761,74.2807636,16.60589,27.8071317,63.5270849,29.9207413,39.9867868,17.3447849,7.0919172,9.3509651,7.8313279,37.5303348,4.4520558,0.3759162,0.3840722,7.329475,4.3041739,71.8169346,16.4181126,28.9331161,63.7557576,30.5578147,40.387217,17.3165482,7.3246682,9.0110478,7.5201234,37.4113576,5.1558765,0.4015109,0.4162751,7.4978498,4.3273285,70.5124507,16.0005551,29.9134511,64.0843104,30.8626447,39.5449401,17.1552245,7.3283083,9.860252,7.7102828,37.7609689,5.1122207,0.4293295,0.444612,7.5958645,4.439524,69.4744497,16.0439278,30.6749322,64.8543393,31.8575083,40.5393662,17.7531044,7.6002307,10.1947031,7.4566185,37.8887194,4.9242424,0.3711636,0.3867774,7.1921892,4.219218,67.6347884,16.3617866,30.9195045,64.7032904,31.8595695,40.7608658,17.8172752,7.975914,9.8438399,8.0771403,38.7921401,3.7662347 +586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3221656,0.3176313,10.0942694,7.0272262,82.7170838,9.7741293,29.4670239,65.7261837,26.454344,42.4707815,11.6616125,3.5035176,11.9555584,11.4799069,32.415902,6.2498573,0.3450913,0.3405043,9.9897206,6.9707527,82.2194327,10.0308049,29.4836107,65.2839878,26.0757015,42.3236957,11.4457849,3.2529813,11.7516644,11.5040855,30.8356615,5.6755499,0.3121757,0.307561,9.5994449,6.5878686,81.9454057,9.9070669,29.0640646,66.1871795,26.6378085,42.6864506,11.3519132,3.4835332,11.1434714,10.6911465,30.2787988,5.0526955,0.3972213,0.3870419,9.7021683,6.5879182,80.4656521,10.5291262,28.8521309,66.3129461,27.2174269,42.9740585,11.6001158,4.0173902,11.3311867,11.7131241,30.9076191,4.6443349,0.4805441,0.4703147,9.6033672,6.4999726,79.7682146,10.9973032,28.2540417,66.602472,27.6592572,43.1947185,11.6691605,4.111267,11.7433849,11.7356641,31.3371716,5.6751869 +587,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5161822,0.5476803,9.2921659,5.8952404,39.5823043,16.3372671,35.9893169,68.9873683,36.8136848,49.1574468,20.3075768,4.1358192,9.3910497,8.1726117,27.4492307,2.4822677,0.4870664,0.4902317,9.0301258,5.7722563,37.4596081,16.5541426,35.6600918,69.3458842,37.5653889,49.5667064,21.0051016,3.8286364,9.3716142,8.1328512,27.2086725,3.7162137,0.59522,0.5676903,9.1509267,5.9734602,35.8024708,16.8190674,35.4901408,69.710759,37.9672781,48.7000352,21.1987565,3.9430618,9.682849,8.5934023,28.201364,3.9285714,0.6222017,0.5939162,8.7846556,5.9737991,35.0615641,16.4421349,35.2221557,69.5636373,37.8470956,48.5616995,20.6070839,4.0451094,9.8012643,8.5974748,27.7329359,3.2374077,0.6658885,0.6376801,8.4226133,5.828107,33.9468474,16.778921,34.9999047,69.8385183,37.5030918,49.174318,20.9480196,4.3083926,9.1555322,8.1127888,27.4168561,3.3834561 +588,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3404017,0.329806,6.9225804,4.4169552,80.6372059,19.9712642,30.2908773,66.8658579,28.5460237,41.3408364,12.3909376,5.735043,11.4698899,9.0543968,34.9319419,3.9556837,0.3353134,0.3248761,6.7502992,4.2407821,78.4637159,20.5205965,29.6785903,66.6613092,29.4875506,40.8815514,12.7147923,5.9356767,11.0276648,8.972783,34.7339996,3.6277545,0.3629778,0.3622842,6.849085,4.2866157,76.241214,20.2291734,29.867063,67.1572626,29.9936373,41.6111984,13.4377488,6.2202934,11.1340847,9.5251745,35.4006226,2.8700863,0.4267129,0.433376,7.0424766,4.1680094,72.5112883,20.5827032,30.3502296,67.7859143,30.4144805,42.3681466,14.1548437,6.1535673,10.5154122,9.601619,35.208374,2.0123777,0.4750784,0.4819255,7.4942613,4.5752675,68.9993361,20.7162298,31.0975266,68.6057212,31.2953175,42.6004437,14.8154111,5.9492164,10.588584,9.8355304,34.6833386,2.4115717 +589,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2308423,1.0972185,20.9431441,16.9327415,33.3397892,19.019239,37.0080857,63.1708363,34.6850644,46.4445536,20.1054883,2.8846085,12.5624253,9.2648107,36.999665,18.209899,1.2269619,1.1026377,20.7997344,17.0294666,34.7421242,19.3373148,36.7723007,63.3620224,34.2680648,46.5308133,20.3912866,2.8872672,12.7041229,9.3298029,37.3577636,15.2173913,1.1309637,1.0472105,21.3665491,17.6693364,35.5048884,19.1299693,36.7242517,63.4130576,35.2315251,47.7803987,20.776959,3.2851297,13.1495663,9.8659939,37.1025193,14.4969822,1.2587205,1.1746858,21.5175304,17.3324813,36.1907799,19.0995136,37.4945234,63.5566588,35.1236774,47.992411,21.1112704,3.263478,13.4178255,10.0803654,37.0918878,15.0567699,1.0806006,1.0385656,22.2371169,17.9526364,38.0407278,19.1259543,37.1162131,64.0773551,35.1013197,48.3500154,21.1622208,3.4159985,13.2115874,10.007213,36.9626092,14.8044134 +590,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.913021,0.955606,18.9152123,14.9867242,33.2932547,15.9686386,35.4298357,67.5041789,33.5968472,51.712495,25.8969207,5.8994821,13.0452876,10.7701008,30.9054339,14.7058824,0.8266424,0.892529,19.2589531,15.1711671,33.8172037,15.9508529,35.9928297,67.3665945,33.8538356,51.196127,25.5303374,6.1091403,14.2575159,11.399255,32.4551473,16.7721519,0.8665042,0.9326541,20.2659772,15.9550138,34.1059163,16.5612706,35.2678193,67.831577,34.8887286,51.0918127,25.6919118,6.068745,14.5787986,11.5132611,32.1787963,16.2576687,0.7936738,0.8593393,20.7030266,16.4734573,34.7557189,15.818553,35.424376,67.9615053,34.9434804,50.0741376,25.4734666,6.1104577,14.4486868,11.470011,33.4162194,15.8682635,0.9377279,1.0013854,21.1742301,16.7827198,34.749675,16.2212066,35.8108723,67.9933549,34.9837151,50.611892,25.627249,6.1434363,15.2432494,11.8488127,35.2225836,16.8571429 +591,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3450913,0.3405043,9.9897206,6.9707527,82.2194327,10.0308049,29.4836107,65.2839878,26.0757015,42.3236957,11.4457849,3.2529813,11.7516644,11.5040855,30.8356615,5.6755499,0.3121757,0.307561,9.5994449,6.5878686,81.9454057,9.9070669,29.0640646,66.1871795,26.6378085,42.6864506,11.3519132,3.4835332,11.1434714,10.6911465,30.2787988,5.0526955,0.3972213,0.3870419,9.7021683,6.5879182,80.4656521,10.5291262,28.8521309,66.3129461,27.2174269,42.9740585,11.6001158,4.0173902,11.3311867,11.7131241,30.9076191,4.6443349,0.4805441,0.4703147,9.6033672,6.4999726,79.7682146,10.9973032,28.2540417,66.602472,27.6592572,43.1947185,11.6691605,4.111267,11.7433849,11.7356641,31.3371716,5.6751869,0.5671575,0.5512188,9.7367853,6.7192988,78.9883807,11.5889179,28.1774045,68.3338692,27.7857748,42.7378211,12.1931304,4.1829764,11.5926954,12.0469289,31.5419402,6.6086526 +592,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9871916,1.0445376,17.2147317,12.7227908,25.0001167,20.938925,36.2955463,65.3744738,37.4928759,47.7542069,22.0760534,4.0138252,11.6025211,7.7049693,30.4439921,15.5302913,1.086752,1.1372524,17.1978636,12.6593657,26.2127571,20.8795288,35.849087,66.448894,37.6109464,46.9156795,21.8547455,4.0868798,12.0208357,8.1696852,30.9643049,16.6666543,1.0498626,1.1113786,17.5074619,13.1613709,27.5576359,20.4739414,35.8346968,66.2319592,37.0753153,46.1529903,22.3560777,4.2105121,12.3104045,8.721702,30.683711,13.6029412,1.0974998,1.1579262,17.5109303,13.2591438,28.6518971,20.5431586,35.8214447,66.8614009,38.1874868,47.329614,23.3181927,3.7104368,11.9395444,8.9457411,29.702175,14.5161384,1.0132723,1.0824423,18.4422484,14.1973172,29.6619025,20.8215566,35.8311822,66.2069601,38.2188977,47.1227807,23.366351,3.7591473,12.5983083,9.3516784,30.3536182,16.8639153 +593,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0055369,0.9738777,17.911902,13.0464922,44.361574,19.0572462,32.3805962,69.8782006,35.5955375,47.3687133,25.1202085,2.1929415,12.9982704,11.8537548,40.4815729,18.5204696,0.7920958,0.7610267,18.003194,12.7481331,43.8935594,18.6739705,32.1248763,69.938048,35.2943757,47.3935623,24.2649315,2.0220262,12.9658266,12.2363605,41.6471544,18.7270096,1.1110286,1.1713022,19.1291482,13.422752,46.1146517,18.6001658,32.085822,68.315736,34.7273417,46.7416619,23.1623117,1.8245133,13.9888931,12.6648329,41.6802902,18.5471811,1.0760441,1.1344198,20.4976197,14.760756,46.3249006,17.8345762,31.1469409,66.6304782,34.7430878,45.1408845,22.801437,1.9565951,14.4772334,12.5844974,41.6302066,16.8414258,1.0357074,1.0944123,21.0152519,15.1946314,45.9970482,17.6893372,31.1849935,66.7736952,34.113745,45.0753947,22.8422511,2.3016723,14.466421,12.3451456,41.1720569,16.3136681 +594,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.594946,0.5134452,13.0066093,10.0000261,50.5367201,32.264512,30.2122345,68.8578038,35.9232816,41.2352521,17.7291006,4.8473548,15.840279,10.6648144,33.933387,5.8559877,0.6536742,0.511569,12.9388885,9.8179035,53.1415611,32.1847025,30.4088587,67.2163016,35.1586041,40.699457,16.8206489,4.9473079,15.3533336,11.580403,33.1061731,5.7018544,0.5993419,0.4556617,11.7063211,8.6639488,53.1584515,31.913477,29.4155418,66.0689148,34.9935192,39.3759927,16.1354497,4.5817463,15.0552011,12.3269191,33.472178,6.3727052,0.6219643,0.5612839,11.8984642,8.7775524,52.251556,31.1126032,28.1698168,66.9933816,34.8366447,40.5883614,17.0588074,4.5098688,15.6676521,12.7050916,33.928488,5.3399614,0.6812579,0.6196047,11.8385399,9.1930631,51.8893693,30.3170592,28.1248504,69.2152667,33.0452747,40.7582302,16.5559158,4.8538009,16.1601903,13.4349692,34.6796399,6.132278 +595,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7014353,0.6924591,14.0303437,8.4779691,46.1735883,16.6783899,36.5966418,69.3913065,39.0376255,53.112365,22.5508626,3.2518256,11.8604359,10.4188698,32.4703255,8.4183249,0.8193421,0.8102803,14.0758022,8.5328931,46.1651481,16.3298862,37.3479052,68.5446738,38.8024698,52.5982423,22.6801301,3.5527538,11.381993,9.9506935,32.6799375,8.793924,0.8571017,0.8559955,14.2127201,8.8903102,44.8641585,15.8300678,37.4567494,68.7716288,38.5404318,52.6040694,22.7201438,3.7263873,11.0547866,9.7527842,32.6261374,8.8235341,0.8313577,0.813944,13.9292508,8.9121926,43.7772258,16.3237176,37.1489697,68.9551831,38.5995461,52.3577885,22.781852,3.8118718,11.3190766,9.8413492,32.1915937,10.5405405,0.8687663,0.8621345,14.2583519,9.5462942,43.0593522,16.0505422,36.8357272,68.8394339,38.921152,51.813674,22.3951901,4.1128032,11.3112658,9.9728738,32.5449113,9.3582938 +596,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.086752,1.1372524,17.1978636,12.6593657,26.2127571,20.8795288,35.849087,66.448894,37.6109464,46.9156795,21.8547455,4.0868798,12.0208357,8.1696852,30.9643049,16.6666543,1.0498626,1.1113786,17.5074619,13.1613709,27.5576359,20.4739414,35.8346968,66.2319592,37.0753153,46.1529903,22.3560777,4.2105121,12.3104045,8.721702,30.683711,13.6029412,1.0974998,1.1579262,17.5109303,13.2591438,28.6518971,20.5431586,35.8214447,66.8614009,38.1874868,47.329614,23.3181927,3.7104368,11.9395444,8.9457411,29.702175,14.5161384,1.0132723,1.0824423,18.4422484,14.1973172,29.6619025,20.8215566,35.8311822,66.2069601,38.2188977,47.1227807,23.366351,3.7591473,12.5983083,9.3516784,30.3536182,16.8639153,1.0606385,1.0890902,18.5075336,14.2983466,31.2250024,20.3923798,35.4280757,66.7024267,37.9076173,47.6882785,23.2455869,4.0927143,12.923619,9.6151656,30.9987619,17.0391157 +597,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4870664,0.4902317,9.0301258,5.7722563,37.4596081,16.5541426,35.6600918,69.3458842,37.5653889,49.5667064,21.0051016,3.8286364,9.3716142,8.1328512,27.2086725,3.7162137,0.59522,0.5676903,9.1509267,5.9734602,35.8024708,16.8190674,35.4901408,69.710759,37.9672781,48.7000352,21.1987565,3.9430618,9.682849,8.5934023,28.201364,3.9285714,0.6222017,0.5939162,8.7846556,5.9737991,35.0615641,16.4421349,35.2221557,69.5636373,37.8470956,48.5616995,20.6070839,4.0451094,9.8012643,8.5974748,27.7329359,3.2374077,0.6658885,0.6376801,8.4226133,5.828107,33.9468474,16.778921,34.9999047,69.8385183,37.5030918,49.174318,20.9480196,4.3083926,9.1555322,8.1127888,27.4168561,3.3834561,0.7041549,0.6888505,8.5869591,5.8565552,32.8937155,16.7158934,35.37354,70.5455518,38.1401845,50.4913733,21.5731767,4.3655819,10.0108888,8.5674341,28.3716271,3.4883694 +598,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1995134,1.1995134,27.265745,23.5791091,57.0859873,6.3846154,38.299532,66.3806552,28.6271451,47.6599064,19.1107644,5.5382215,12.5,10.0308642,34.84375,17.2268908,1.2090559,1.2813102,28.2575758,23.4090909,58.1081081,5.5810398,40.0154799,67.5696594,29.1795666,46.3622291,18.0340557,5.1857585,13.0630631,9.7305389,34.3939394,16.015625,1.4691715,1.577553,30.2130898,24.7336377,58.8852989,5.6414219,39.9529042,67.8963893,28.6499215,46.0753532,17.9748823,5.2590267,13.5514019,9.4720497,34.6394984,17.0289855,1.6309524,1.7380952,30.6475904,24.7740964,59.2857143,5.7164634,38.0620155,67.5193798,29.6899225,44.4186047,16.6666667,4.5736434,13.2621951,9.5744681,35.4294479,15.248227,1.579836,1.6883743,33.0534351,27.2519084,60.3035144,6.558642,37.5981162,67.7394035,29.5918367,44.6624804,15.9340659,5.2590267,12.2727273,8.6102719,33.2826748,12.8289474 +599,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6365161,0.6519064,9.6702145,6.1579527,70.1818951,17.7477713,31.5330212,65.8938007,34.8307378,45.4008084,19.2372274,5.5084583,10.6653084,8.7039174,33.4263085,6.4053358,0.6210244,0.6046365,9.7787903,6.1884336,69.218111,18.3179637,31.5375366,66.2070639,34.8143058,45.3903107,18.919475,5.4632556,10.6856014,8.932677,33.3285191,6.6479401,0.6204291,0.6038363,9.6465117,6.0663611,68.1059276,18.530492,31.1083322,66.382062,35.0350909,45.6739645,19.3150676,5.596575,10.8438307,9.2024867,33.5308941,6.952381,0.5595618,0.5560108,9.7450568,6.1278588,66.1465926,18.8561935,31.364957,66.3162611,35.1586169,46.4607441,19.3721357,5.7355233,10.7574283,8.9135574,33.9459283,6.9200753,0.5743548,0.5755474,9.686558,6.1683598,64.7678787,18.8896791,32.4024258,66.0505498,34.4448461,46.5116271,19.7481067,5.5770198,10.3492833,8.7393709,34.5768907,6.4024338 +600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8193421,0.8102803,14.0758022,8.5328931,46.1651481,16.3298862,37.3479052,68.5446738,38.8024698,52.5982423,22.6801301,3.5527538,11.381993,9.9506935,32.6799375,8.793924,0.8571017,0.8559955,14.2127201,8.8903102,44.8641585,15.8300678,37.4567494,68.7716288,38.5404318,52.6040694,22.7201438,3.7263873,11.0547866,9.7527842,32.6261374,8.8235341,0.8313577,0.813944,13.9292508,8.9121926,43.7772258,16.3237176,37.1489697,68.9551831,38.5995461,52.3577885,22.781852,3.8118718,11.3190766,9.8413492,32.1915937,10.5405405,0.8687663,0.8621345,14.2583519,9.5462942,43.0593522,16.0505422,36.8357272,68.8394339,38.921152,51.813674,22.3951901,4.1128032,11.3112658,9.9728738,32.5449113,9.3582938,0.8716127,0.8827943,14.0853244,9.3250922,41.7165221,15.7581784,36.9353905,68.4580797,39.3791868,51.402792,22.7216711,4.1727564,11.7230997,10.0610847,31.8680801,11.2716828 +601,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2269619,1.1026377,20.7997344,17.0294666,34.7421242,19.3373148,36.7723007,63.3620224,34.2680648,46.5308133,20.3912866,2.8872672,12.7041229,9.3298029,37.3577636,15.2173913,1.1309637,1.0472105,21.3665491,17.6693364,35.5048884,19.1299693,36.7242517,63.4130576,35.2315251,47.7803987,20.776959,3.2851297,13.1495663,9.8659939,37.1025193,14.4969822,1.2587205,1.1746858,21.5175304,17.3324813,36.1907799,19.0995136,37.4945234,63.5566588,35.1236774,47.992411,21.1112704,3.263478,13.4178255,10.0803654,37.0918878,15.0567699,1.0806006,1.0385656,22.2371169,17.9526364,38.0407278,19.1259543,37.1162131,64.0773551,35.1013197,48.3500154,21.1622208,3.4159985,13.2115874,10.007213,36.9626092,14.8044134,1.1066832,1.0645087,21.116411,17.1801185,38.8572654,20.1139235,36.7220716,64.6150509,36.5850131,48.2019833,21.6947387,3.388666,13.5034479,10.0219693,36.781047,13.9999349 +602,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4192448,0.4341469,8.4409171,5.215596,75.825328,12.5600456,25.5222908,61.9743726,32.0795145,38.5394585,14.8584639,3.1586154,10.9168512,11.4860307,37.3913063,3.8724295,0.4731899,0.4879158,8.5936187,5.5347995,75.0985352,12.4817749,24.9728125,62.7149578,32.3995989,39.2550586,14.6541113,3.2550197,11.2107237,11.1839403,38.2408284,3.8186621,0.4460069,0.4611428,8.7895484,5.8564791,74.0975359,12.3365879,25.3141658,62.9583016,31.5435213,39.3354385,14.2092119,3.4241473,11.8630795,11.7243316,38.1567069,4.849675,0.5939033,0.5786788,8.6355918,5.4177129,73.6680706,12.8747563,24.5603136,63.2745928,32.1737795,39.0807467,14.949387,3.4497675,12.3335405,11.692867,37.8677855,4.6418724,0.5643565,0.5491895,8.5672782,5.244552,72.6563446,13.1233791,26.6767178,64.0349383,32.7429317,38.6440285,14.8141416,3.0412173,12.1926352,11.6775947,37.5513881,4.1026528 +603,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0498626,1.1113786,17.5074619,13.1613709,27.5576359,20.4739414,35.8346968,66.2319592,37.0753153,46.1529903,22.3560777,4.2105121,12.3104045,8.721702,30.683711,13.6029412,1.0974998,1.1579262,17.5109303,13.2591438,28.6518971,20.5431586,35.8214447,66.8614009,38.1874868,47.329614,23.3181927,3.7104368,11.9395444,8.9457411,29.702175,14.5161384,1.0132723,1.0824423,18.4422484,14.1973172,29.6619025,20.8215566,35.8311822,66.2069601,38.2188977,47.1227807,23.366351,3.7591473,12.5983083,9.3516784,30.3536182,16.8639153,1.0606385,1.0890902,18.5075336,14.2983466,31.2250024,20.3923798,35.4280757,66.7024267,37.9076173,47.6882785,23.2455869,4.0927143,12.923619,9.6151656,30.9987619,17.0391157,1.0247257,1.0526652,18.4006667,14.1124638,32.02766,19.4218968,35.8710544,66.9454463,37.6995036,47.6048866,22.9841281,3.9724037,13.2822417,9.9119693,32.3965926,16.8449288 +604,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7146022,0.7513292,12.2738387,8.0340292,59.2587513,18.9412314,35.3141112,66.3992759,38.387247,49.8640714,21.688877,3.5762873,10.5734704,9.2611406,32.9292788,9.2213001,0.6814965,0.7428523,11.7921967,7.7323666,57.5786919,19.5308104,35.679719,66.5545708,38.5598327,50.1885219,22.4091347,3.351284,10.5356906,9.2791061,32.8959753,10.2619953,0.7215895,0.7827615,12.2038792,7.9451612,56.272199,19.9919459,35.6339096,67.0732237,39.1985491,50.6701424,22.8758804,3.2028951,10.6528129,9.2038213,32.7646554,10.0427265,0.7531281,0.7834303,12.2468263,7.7369685,55.6617357,19.0430759,35.3509437,67.0158428,38.3704551,50.5849339,22.5924641,3.2236106,11.473285,9.9999671,33.3418423,9.6566524,0.855008,0.8541639,11.8181796,7.5033868,53.9434185,19.2024793,35.694798,67.0625792,38.0152363,50.8736635,22.372353,3.3715503,11.6487149,10.4305158,33.4792848,10.7798116 +605,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6869814,0.7126104,10.9798084,6.2240398,55.5542709,17.9173625,33.0819406,69.0608492,36.8120428,46.1508805,21.5211931,4.1401838,9.7250505,8.9608621,35.4677185,7.3585878,0.5964097,0.6492429,10.890759,6.3452579,54.6244895,18.1320248,33.8583152,69.1841354,36.9816337,45.7322955,21.9305216,4.2407009,9.9161469,9.5969399,35.8532814,8.0392724,0.5752195,0.6539246,10.801206,6.3061867,54.2026037,17.8197683,33.744089,68.9108316,37.2390832,45.5025123,22.0400634,4.1587481,9.8208006,9.5522813,35.4828866,8.167386,0.5657286,0.6453303,10.6693358,6.0374339,54.1038111,17.3529836,33.6938646,68.1681315,37.1165449,44.7287917,21.8099227,3.8745715,9.5125196,9.5598322,35.6500134,8.686437,0.5572206,0.6379214,10.2845341,5.948455,54.0861561,17.4613539,34.0340266,68.47169,37.2076921,44.8913498,22.3690957,3.8557682,8.8670366,8.9775877,35.6531341,8.8362793 +606,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.59522,0.5676903,9.1509267,5.9734602,35.8024708,16.8190674,35.4901408,69.710759,37.9672781,48.7000352,21.1987565,3.9430618,9.682849,8.5934023,28.201364,3.9285714,0.6222017,0.5939162,8.7846556,5.9737991,35.0615641,16.4421349,35.2221557,69.5636373,37.8470956,48.5616995,20.6070839,4.0451094,9.8012643,8.5974748,27.7329359,3.2374077,0.6658885,0.6376801,8.4226133,5.828107,33.9468474,16.778921,34.9999047,69.8385183,37.5030918,49.174318,20.9480196,4.3083926,9.1555322,8.1127888,27.4168561,3.3834561,0.7041549,0.6888505,8.5869591,5.8565552,32.8937155,16.7158934,35.37354,70.5455518,38.1401845,50.4913733,21.5731767,4.3655819,10.0108888,8.5674341,28.3716271,3.4883694,0.7679217,0.7525835,8.4280102,5.7652157,31.4351832,17.2007026,34.5047921,70.5657505,38.8535605,50.7869721,21.8042769,4.8376816,9.8211811,8.6304363,28.611491,3.5714286 +607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6222017,0.5939162,8.7846556,5.9737991,35.0615641,16.4421349,35.2221557,69.5636373,37.8470956,48.5616995,20.6070839,4.0451094,9.8012643,8.5974748,27.7329359,3.2374077,0.6658885,0.6376801,8.4226133,5.828107,33.9468474,16.778921,34.9999047,69.8385183,37.5030918,49.174318,20.9480196,4.3083926,9.1555322,8.1127888,27.4168561,3.3834561,0.7041549,0.6888505,8.5869591,5.8565552,32.8937155,16.7158934,35.37354,70.5455518,38.1401845,50.4913733,21.5731767,4.3655819,10.0108888,8.5674341,28.3716271,3.4883694,0.7679217,0.7525835,8.4280102,5.7652157,31.4351832,17.2007026,34.5047921,70.5657505,38.8535605,50.7869721,21.8042769,4.8376816,9.8211811,8.6304363,28.611491,3.5714286,0.7008483,0.6850309,8.6435019,5.9713466,30.4239933,16.5790833,34.0141592,70.2994707,39.3875205,51.0972773,21.5995248,4.9532869,9.3774032,8.7969,27.5373251,3.0172388 +608,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0364018,1.1291762,12.9634869,8.9255918,31.5139532,16.5450414,34.5291908,67.4831996,41.8300812,48.1808557,24.6280084,3.7754654,12.1738178,11.0731219,34.6735032,13.9423077,0.9843206,1.0297317,12.5659751,8.4175198,30.863616,16.207404,34.3724922,68.1335763,40.8124769,48.5244412,24.5447828,3.8573924,12.1282571,11.0482362,34.3471449,13.6792453,0.9964134,1.0075836,12.7792804,8.9240804,29.8606026,16.6530812,34.3170053,67.46007,40.7557089,48.5817671,24.9513053,3.7222922,11.6330138,11.4885129,34.3480528,14.3564072,1.0356237,1.0179722,13.7191495,9.5447777,29.7703343,16.6455257,34.1448282,67.9847851,40.5837283,48.2003261,25.5790739,4.2355831,11.4819146,11.2445552,34.6510519,11.9047392,1.0758448,1.0694073,13.975928,9.6440775,28.6282243,16.8968561,34.4937772,68.182679,40.8183767,48.9835056,25.6800033,4.3146189,11.1157137,10.9909896,35.7461901,10.267848 +609,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3759162,0.3840722,7.329475,4.3041739,71.8169346,16.4181126,28.9331161,63.7557576,30.5578147,40.387217,17.3165482,7.3246682,9.0110478,7.5201234,37.4113576,5.1558765,0.4015109,0.4162751,7.4978498,4.3273285,70.5124507,16.0005551,29.9134511,64.0843104,30.8626447,39.5449401,17.1552245,7.3283083,9.860252,7.7102828,37.7609689,5.1122207,0.4293295,0.444612,7.5958645,4.439524,69.4744497,16.0439278,30.6749322,64.8543393,31.8575083,40.5393662,17.7531044,7.6002307,10.1947031,7.4566185,37.8887194,4.9242424,0.3711636,0.3867774,7.1921892,4.219218,67.6347884,16.3617866,30.9195045,64.7032904,31.8595695,40.7608658,17.8172752,7.975914,9.8438399,8.0771403,38.7921401,3.7662347,0.3112227,0.3330547,7.3410192,4.4420186,66.9612342,15.8871456,30.7140647,64.3423905,31.6295335,40.5096102,17.7754053,8.1934729,9.8833842,7.9286151,38.0575148,2.5606476 +610,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2629524,0.3324695,7.6407714,4.3087078,77.3287005,19.590306,29.8706714,61.9254554,27.7441019,39.5554722,14.9069896,5.3361353,10.3364272,9.2852581,32.8060824,3.6170213,0.3469079,0.3817148,7.764592,4.3903517,77.2938884,19.5298474,29.1601337,62.7088642,27.8306311,39.2665486,15.3685819,5.5281329,10.0141104,8.8834692,33.2745777,4.4117647,0.3814916,0.4234349,8.0657569,4.401223,76.6605939,19.2873319,29.1695764,62.639516,28.4624818,39.7057184,15.3574525,5.2308427,10.1820017,8.5724757,33.2514093,4.7717842,0.3911741,0.4046166,7.823281,4.3420187,76.8280971,19.5042384,28.4988666,63.5083428,27.82372,40.2437329,15.8161812,4.9343495,10.0843856,8.4096181,34.4987754,5.0438596,0.4561223,0.4782829,7.433751,4.0914465,76.296936,20.0109594,28.7399614,63.5357054,27.6153759,40.4760173,15.9917988,4.7431724,10.2177547,8.8380786,33.9804201,5.8695652 +611,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5365973,1.5290073,23.5074761,19.8123567,35.1253503,17.1085116,30.9030823,64.3138907,33.9319022,45.1043853,19.8703622,2.6567158,12.7728933,11.7476082,38.1411583,16.5584308,1.5094964,1.5245063,23.9734586,20.0935902,35.348706,17.3607666,31.7047601,64.8057214,34.4472481,45.4671976,20.7740061,3.0121999,12.8616341,10.9526851,37.8865491,17.0807241,1.4295848,1.4952988,24.6648559,20.8379091,36.4964923,16.8168029,32.0081834,64.8947654,34.428697,44.8238345,21.0824003,2.9192611,12.6048729,10.3801784,38.319823,16.5697385,1.4295782,1.5166235,25.0842684,21.007741,36.951185,16.6525574,32.0629066,64.8104036,34.4225072,44.5227693,20.9157985,2.9027268,12.1736073,10.1567084,39.252839,17.0390871,1.4907838,1.5546513,25.8206984,21.1424955,37.5990527,16.0020085,32.2444034,65.023392,34.5989838,43.8369754,20.415732,2.5626842,13.389904,10.1160116,40.2618391,16.0526147 +612,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.720519,0.7385578,11.1341268,7.1449212,59.5873768,9.035285,30.0871867,70.0852649,40.558538,42.6757977,21.2732332,4.335122,9.8577423,8.3683174,36.3644694,6.5403431,0.765217,0.7951517,11.0205475,7.0292427,59.3114776,9.0780889,30.389268,70.3873003,40.4846173,42.6177125,21.0213314,4.4185584,9.3802481,8.0033637,35.7907582,6.3329312,0.7500056,0.7848448,10.8873765,6.9201557,58.8866512,8.8885596,30.2802941,70.4254041,40.5178403,42.2771037,20.907462,4.5075039,9.5593778,8.0306489,36.040756,6.1160151,0.7684198,0.8034309,10.8465859,7.0012086,58.0342666,8.7548234,29.850824,70.2492991,40.4335192,42.0854964,20.5096095,4.4203039,9.8315647,8.4641589,36.4769704,5.5697823,0.7417489,0.7643831,10.7618935,6.8857678,57.0290028,8.7513805,29.9705228,69.8871709,40.6739148,42.0867983,20.568202,4.4267123,9.9734272,8.5342716,37.0967728,5.1461245 +613,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7288658,0.753359,10.5869055,6.6696976,61.2729928,12.6517366,28.3306636,67.0131086,37.7371025,44.9398872,19.7341409,4.4180912,10.2018741,8.4454337,33.2077326,6.5502235,0.7732769,0.7981057,10.5852085,6.7769441,60.3407436,12.8595732,29.3822694,67.5839023,38.3301793,45.7893929,20.3107012,4.783163,10.009144,8.1733857,33.5938403,7.5886415,0.8300678,0.8552638,10.7446187,6.6863822,60.2279629,12.5545144,29.626924,67.2396242,37.772328,45.070882,20.0530984,4.8075463,9.6889679,8.4089003,33.9469342,6.5737743,0.8477648,0.877482,10.5658587,6.7105522,60.1883115,12.5132275,29.1942133,67.6600023,38.2144189,44.4800679,20.3232538,4.7725557,9.4675435,8.6624146,33.748551,5.7208723,0.7029585,0.7333262,10.3449405,6.7237685,59.6801703,12.7375597,29.7737206,67.6482093,38.3007311,44.0577207,19.7974209,4.8866117,9.5556089,8.5599024,32.1952204,4.025799 +614,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5360668,0.5449468,8.0663813,5.072451,84.7044576,7.0602308,26.7735022,62.8599274,28.5246831,37.7989703,13.4796914,5.3757126,10.0959504,8.3668608,38.6794121,3.4883721,0.5291015,0.5337522,8.1078983,5.2109433,84.4310499,7.1231371,26.7173311,62.8470037,28.2971587,38.0342628,13.7031,5.2246446,10.6415949,8.8695915,38.2996148,3.5147392,0.5790905,0.5859515,8.053118,5.1896271,84.1981777,7.2294386,27.1227669,62.6506151,28.4817643,38.2629893,13.7898226,5.1910107,10.9628038,9.0937782,37.9826208,3.3747091,0.5619948,0.5623957,8.009687,5.1582241,84.0298387,7.2260276,27.6996676,62.9006465,28.3891562,38.1773232,13.8840798,5.2168002,10.8047601,9.1401336,37.7632501,2.909232,0.5510453,0.5584973,8.157621,5.3085749,83.9093312,7.4779601,27.60566,62.6574828,28.3441173,38.0962865,13.8121073,5.2371265,10.9066268,9.3209005,37.6801048,3.0007726 +615,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.8266424,0.892529,19.2589531,15.1711671,33.8172037,15.9508529,35.9928297,67.3665945,33.8538356,51.196127,25.5303374,6.1091403,14.2575159,11.399255,32.4551473,16.7721519,0.8665042,0.9326541,20.2659772,15.9550138,34.1059163,16.5612706,35.2678193,67.831577,34.8887286,51.0918127,25.6919118,6.068745,14.5787986,11.5132611,32.1787963,16.2576687,0.7936738,0.8593393,20.7030266,16.4734573,34.7557189,15.818553,35.424376,67.9615053,34.9434804,50.0741376,25.4734666,6.1104577,14.4486868,11.470011,33.4162194,15.8682635,0.9377279,1.0013854,21.1742301,16.7827198,34.749675,16.2212066,35.8108723,67.9933549,34.9837151,50.611892,25.627249,6.1434363,15.2432494,11.8488127,35.2225836,16.8571429,1.0067117,1.1234575,21.6051994,17.3287199,34.7582227,16.3747668,35.7448181,66.8281947,34.7359145,50.6785035,24.9482547,6.3822018,15.7744984,11.9339924,35.5838445,16.0526316 +616,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3121757,0.307561,9.5994449,6.5878686,81.9454057,9.9070669,29.0640646,66.1871795,26.6378085,42.6864506,11.3519132,3.4835332,11.1434714,10.6911465,30.2787988,5.0526955,0.3972213,0.3870419,9.7021683,6.5879182,80.4656521,10.5291262,28.8521309,66.3129461,27.2174269,42.9740585,11.6001158,4.0173902,11.3311867,11.7131241,30.9076191,4.6443349,0.4805441,0.4703147,9.6033672,6.4999726,79.7682146,10.9973032,28.2540417,66.602472,27.6592572,43.1947185,11.6691605,4.111267,11.7433849,11.7356641,31.3371716,5.6751869,0.5671575,0.5512188,9.7367853,6.7192988,78.9883807,11.5889179,28.1774045,68.3338692,27.7857748,42.7378211,12.1931304,4.1829764,11.5926954,12.0469289,31.5419402,6.6086526,0.6330539,0.6092087,9.7125524,6.9425245,79.1025633,11.4271932,28.1579634,68.0525819,27.8772363,42.7544682,12.2984006,4.3333301,11.929901,12.929773,31.2835511,8.6304021 +617,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5964097,0.6492429,10.890759,6.3452579,54.6244895,18.1320248,33.8583152,69.1841354,36.9816337,45.7322955,21.9305216,4.2407009,9.9161469,9.5969399,35.8532814,8.0392724,0.5752195,0.6539246,10.801206,6.3061867,54.2026037,17.8197683,33.744089,68.9108316,37.2390832,45.5025123,22.0400634,4.1587481,9.8208006,9.5522813,35.4828866,8.167386,0.5657286,0.6453303,10.6693358,6.0374339,54.1038111,17.3529836,33.6938646,68.1681315,37.1165449,44.7287917,21.8099227,3.8745715,9.5125196,9.5598322,35.6500134,8.686437,0.5572206,0.6379214,10.2845341,5.948455,54.0861561,17.4613539,34.0340266,68.47169,37.2076921,44.8913498,22.3690957,3.8557682,8.8670366,8.9775877,35.6531341,8.8362793,0.6354071,0.7001146,9.9105194,6.0059294,53.9524394,17.3606945,33.7741786,68.7588432,38.2270426,44.8788085,22.9195596,3.993811,9.3881103,9.078969,35.9248278,8.1934081 +618,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7172308,0.710442,13.5601822,8.5493196,49.339515,18.3976762,36.3981476,71.5598647,39.2758336,49.0328707,26.0564351,3.1700012,12.2964204,10.2576648,35.7639026,11.6194319,0.6532737,0.6464259,12.5879574,8.0907155,47.2513258,18.5523454,36.4973744,71.2050222,40.0767869,49.2745605,26.2118505,3.1944313,12.2107406,10.4203951,34.5262356,10.4313845,0.6787539,0.6717852,12.3430204,8.2212431,46.3819703,19.1415972,36.845532,71.1888526,40.197285,49.0126499,26.2853599,3.0992114,11.7013277,10.5881995,34.2479158,10.5838103,0.7441796,0.7371429,12.5568002,8.1357466,46.9992018,18.5260992,36.1251989,70.5563824,38.723877,48.189997,25.5914414,2.9002757,12.3805893,10.2445603,35.5704634,9.5069284,0.7690097,0.7899338,12.3870578,8.1001574,47.024504,18.5192388,36.2104476,70.1422814,39.1112168,48.1813777,24.7467867,2.9236093,12.4780683,10.4185387,34.846356,6.9852993 +619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1917723,1.2193015,17.7148948,13.7206934,62.4779461,15.547462,33.6384953,63.3171665,33.0298729,37.9657102,19.0883646,4.6596493,11.7386929,10.5655134,39.9601827,12.9620716,1.2162699,1.1883894,18.0984165,13.970725,66.6165972,15.0676391,33.7983025,63.5659893,34.8174571,38.9310225,18.7562744,4.4401685,12.3147343,10.7097336,42.0859681,14.993699,1.3553663,1.2524556,17.8263571,13.9084616,69.2322568,15.8901599,33.2317039,64.1816473,34.9914049,39.1775258,19.2104979,4.2186256,12.8462267,10.7327929,42.5999647,14.3633766,1.3194833,1.1605359,17.7310668,14.0038679,72.5605787,15.2424437,32.3403532,64.3435039,35.2496622,37.7330471,19.6099659,4.3345341,13.7809707,10.7584712,42.6641173,15.4401365,1.2622398,1.1217627,17.1461788,13.4648032,75.2069454,14.7259202,31.7441078,65.943598,35.6361188,38.0655438,19.4476424,4.2274175,14.0835978,9.9667668,44.2237532,11.8591948 +620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4328827,0.4347191,8.5605223,5.2284006,71.4521266,11.2864814,30.3017528,65.2620834,29.3039192,42.2156732,15.3342162,12.6653018,10.781395,9.6874326,37.309113,3.9690726,0.3490002,0.3620065,8.4842193,5.2055308,70.3596147,11.3395245,31.0552553,65.3906991,29.533835,42.192061,15.6584705,12.6643117,11.1098411,10.1766904,36.9630413,4.2857143,0.3404351,0.3649671,8.460965,5.2484136,69.6845956,11.6337577,31.0628554,65.9923303,29.1202658,41.5800487,15.5345204,13.0351379,10.9466061,10.2009827,36.7349251,3.9356984,0.3485153,0.361913,8.1236579,5.0638538,68.9924924,11.7248696,31.8677886,66.1126455,28.6816346,41.5516793,15.5230815,13.1648251,11.2861187,10.3845229,36.6363786,3.5382831,0.3820991,0.3830683,7.9649985,5.0779278,68.0899025,11.8087009,32.4717402,66.1056789,29.3344305,41.7820396,15.6801734,13.3811744,11.1684272,10.1444058,36.821044,3.5178777 +621,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5752195,0.6539246,10.801206,6.3061867,54.2026037,17.8197683,33.744089,68.9108316,37.2390832,45.5025123,22.0400634,4.1587481,9.8208006,9.5522813,35.4828866,8.167386,0.5657286,0.6453303,10.6693358,6.0374339,54.1038111,17.3529836,33.6938646,68.1681315,37.1165449,44.7287917,21.8099227,3.8745715,9.5125196,9.5598322,35.6500134,8.686437,0.5572206,0.6379214,10.2845341,5.948455,54.0861561,17.4613539,34.0340266,68.47169,37.2076921,44.8913498,22.3690957,3.8557682,8.8670366,8.9775877,35.6531341,8.8362793,0.6354071,0.7001146,9.9105194,6.0059294,53.9524394,17.3606945,33.7741786,68.7588432,38.2270426,44.8788085,22.9195596,3.993811,9.3881103,9.078969,35.9248278,8.1934081,0.7542222,0.8024138,9.8914145,6.0107768,53.5859676,17.6788352,32.8348282,68.5072689,38.0066276,44.9117088,22.826347,4.1793908,10.0627782,9.3831341,36.6049821,6.8586256 +622,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4873891,0.5496569,7.9942829,4.7823665,58.4595994,15.3778332,33.8163943,66.5632006,33.0425843,43.6191668,18.8667559,3.8021973,10.831467,9.3316041,32.5658255,4.5078559,0.4284321,0.4911773,7.8721371,4.6154108,57.3168468,15.0347827,33.4344717,66.4555484,33.3102874,43.867109,18.5001103,3.6964592,10.8984722,9.7926984,32.3116115,3.5139794,0.4800467,0.543302,7.9115038,4.6505747,56.9442936,15.0770375,33.5937496,66.3769539,34.0946677,44.4488821,19.0869223,3.8786843,10.6198936,9.4769176,33.2368159,3.4845062,0.5004428,0.5751785,7.8534083,4.5945597,55.6465061,15.4828863,34.1262968,66.504505,33.9722408,44.5384453,19.4232622,3.9859137,10.6466245,9.1035631,32.3228092,3.0128482,0.4595211,0.507231,7.8761782,4.6048569,55.1842527,15.1277908,34.0211603,67.3890779,34.6099883,44.5112675,19.8398155,3.8592996,10.5002862,9.3483731,33.344333,2.5029361 +623,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2162699,1.1883894,18.0984165,13.970725,66.6165972,15.0676391,33.7983025,63.5659893,34.8174571,38.9310225,18.7562744,4.4401685,12.3147343,10.7097336,42.0859681,14.993699,1.3553663,1.2524556,17.8263571,13.9084616,69.2322568,15.8901599,33.2317039,64.1816473,34.9914049,39.1775258,19.2104979,4.2186256,12.8462267,10.7327929,42.5999647,14.3633766,1.3194833,1.1605359,17.7310668,14.0038679,72.5605787,15.2424437,32.3403532,64.3435039,35.2496622,37.7330471,19.6099659,4.3345341,13.7809707,10.7584712,42.6641173,15.4401365,1.2622398,1.1217627,17.1461788,13.4648032,75.2069454,14.7259202,31.7441078,65.943598,35.6361188,38.0655438,19.4476424,4.2274175,14.0835978,9.9667668,44.2237532,11.8591948,1.0342325,0.980716,16.9064547,13.5330907,76.8164079,15.088798,31.5505158,66.1362469,35.8949992,37.5117103,19.2669698,4.3719633,13.794741,8.8040295,42.8256723,12.6424879 +624,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0974998,1.1579262,17.5109303,13.2591438,28.6518971,20.5431586,35.8214447,66.8614009,38.1874868,47.329614,23.3181927,3.7104368,11.9395444,8.9457411,29.702175,14.5161384,1.0132723,1.0824423,18.4422484,14.1973172,29.6619025,20.8215566,35.8311822,66.2069601,38.2188977,47.1227807,23.366351,3.7591473,12.5983083,9.3516784,30.3536182,16.8639153,1.0606385,1.0890902,18.5075336,14.2983466,31.2250024,20.3923798,35.4280757,66.7024267,37.9076173,47.6882785,23.2455869,4.0927143,12.923619,9.6151656,30.9987619,17.0391157,1.0247257,1.0526652,18.4006667,14.1124638,32.02766,19.4218968,35.8710544,66.9454463,37.6995036,47.6048866,22.9841281,3.9724037,13.2822417,9.9119693,32.3965926,16.8449288,1.0823575,1.0721117,18.3661871,14.2026516,33.0627979,19.2723998,35.8793241,67.1402586,37.5526863,47.9741573,22.6326102,3.9620285,13.2794069,10.5690731,32.3700287,16.5816496 +625,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1309637,1.0472105,21.3665491,17.6693364,35.5048884,19.1299693,36.7242517,63.4130576,35.2315251,47.7803987,20.776959,3.2851297,13.1495663,9.8659939,37.1025193,14.4969822,1.2587205,1.1746858,21.5175304,17.3324813,36.1907799,19.0995136,37.4945234,63.5566588,35.1236774,47.992411,21.1112704,3.263478,13.4178255,10.0803654,37.0918878,15.0567699,1.0806006,1.0385656,22.2371169,17.9526364,38.0407278,19.1259543,37.1162131,64.0773551,35.1013197,48.3500154,21.1622208,3.4159985,13.2115874,10.007213,36.9626092,14.8044134,1.1066832,1.0645087,21.116411,17.1801185,38.8572654,20.1139235,36.7220716,64.6150509,36.5850131,48.2019833,21.6947387,3.388666,13.5034479,10.0219693,36.781047,13.9999349,1.1337246,1.1364907,21.8887861,17.5409793,40.1529165,20.0930444,36.9290392,64.970607,37.5634939,48.190892,21.4183194,3.2790575,13.1134313,10.4138713,35.4361799,16.2856758 +626,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8594817,0.8594817,13.6232052,8.6951571,50.969717,15.4726603,35.9513342,69.0695184,37.7375777,47.3930264,25.2337813,4.5711308,12.1875022,11.4042865,43.2371403,5.1075241,0.8847922,0.8961073,12.590469,8.1380403,50.1946979,15.214088,35.6844911,69.1125997,37.6033204,47.2984732,24.6259561,4.1247363,11.7455951,11.7455858,42.3831787,4.3352601,1.026144,1.0280655,13.3460216,8.6863098,49.6268222,15.0653389,35.2223139,69.2449227,37.6407941,46.70674,25.1882092,3.7820914,11.9296635,11.7283911,41.1567883,5.0595208,1.0471475,1.0585876,12.8360591,8.4098317,49.2946872,14.6129724,34.2344442,68.6637209,37.4067336,46.8276869,25.9335896,4.0446891,12.0570937,10.9960519,40.4477555,6.8627406,0.9890496,1.0004951,12.5493572,8.2023667,47.1934138,15.4294225,34.8553083,68.4746443,38.0890231,48.8072218,26.4794506,4.0024031,11.3139718,10.3584383,39.9017277,8.3333278 +627,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0132723,1.0824423,18.4422484,14.1973172,29.6619025,20.8215566,35.8311822,66.2069601,38.2188977,47.1227807,23.366351,3.7591473,12.5983083,9.3516784,30.3536182,16.8639153,1.0606385,1.0890902,18.5075336,14.2983466,31.2250024,20.3923798,35.4280757,66.7024267,37.9076173,47.6882785,23.2455869,4.0927143,12.923619,9.6151656,30.9987619,17.0391157,1.0247257,1.0526652,18.4006667,14.1124638,32.02766,19.4218968,35.8710544,66.9454463,37.6995036,47.6048866,22.9841281,3.9724037,13.2822417,9.9119693,32.3965926,16.8449288,1.0823575,1.0721117,18.3661871,14.2026516,33.0627979,19.2723998,35.8793241,67.1402586,37.5526863,47.9741573,22.6326102,3.9620285,13.2794069,10.5690731,32.3700287,16.5816496,1.0368787,1.0318056,18.8912296,14.6668897,33.8516214,19.5132073,36.2978529,67.2452987,37.5625514,49.332449,23.2611107,3.8533227,12.7432001,10.3600537,31.8379998,17.2820458 +628,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7888438,0.8343722,10.7155457,7.0676981,54.2654152,17.3643179,34.0452353,69.4723506,38.2806851,45.1364098,22.6669145,3.1765919,10.586994,8.7946744,34.0224405,5.1912568,0.8000332,0.8022269,11.0070695,7.2261453,53.680547,16.8215909,34.2428655,70.3830631,39.0133477,45.6993116,22.8225488,3.0899842,10.5795953,9.1450608,33.9048422,5.5851064,0.7928518,0.7950807,10.1722299,6.6558988,52.1553557,17.1000305,34.2528311,70.5334177,39.7332555,45.9079069,22.9996184,3.1969292,9.6180426,8.8214728,33.9260805,5.8659218,0.8216186,0.8297014,10.547992,6.9305107,51.5607855,16.1844516,33.3637928,69.7074824,39.1772938,45.0273945,22.2120483,3.0530156,9.290179,8.9734618,34.2068482,6.1827957,0.7586836,0.7533373,10.8210268,7.1479958,51.7904098,15.3916281,32.9834231,69.7053275,38.8765926,45.0644434,22.559846,3.1491703,8.8360495,8.5053338,34.1298046,6.0846496 +629,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4284321,0.4911773,7.8721371,4.6154108,57.3168468,15.0347827,33.4344717,66.4555484,33.3102874,43.867109,18.5001103,3.6964592,10.8984722,9.7926984,32.3116115,3.5139794,0.4800467,0.543302,7.9115038,4.6505747,56.9442936,15.0770375,33.5937496,66.3769539,34.0946677,44.4488821,19.0869223,3.8786843,10.6198936,9.4769176,33.2368159,3.4845062,0.5004428,0.5751785,7.8534083,4.5945597,55.6465061,15.4828863,34.1262968,66.504505,33.9722408,44.5384453,19.4232622,3.9859137,10.6466245,9.1035631,32.3228092,3.0128482,0.4595211,0.507231,7.8761782,4.6048569,55.1842527,15.1277908,34.0211603,67.3890779,34.6099883,44.5112675,19.8398155,3.8592996,10.5002862,9.3483731,33.344333,2.5029361,0.4584387,0.4976501,8.0336723,4.8784969,54.6935194,15.1844274,33.5913522,67.2943417,34.4900195,44.7679653,19.3205719,3.7907736,9.9722017,8.9964503,34.2424762,2.5251982 +630,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6210244,0.6046365,9.7787903,6.1884336,69.218111,18.3179637,31.5375366,66.2070639,34.8143058,45.3903107,18.919475,5.4632556,10.6856014,8.932677,33.3285191,6.6479401,0.6204291,0.6038363,9.6465117,6.0663611,68.1059276,18.530492,31.1083322,66.382062,35.0350909,45.6739645,19.3150676,5.596575,10.8438307,9.2024867,33.5308941,6.952381,0.5595618,0.5560108,9.7450568,6.1278588,66.1465926,18.8561935,31.364957,66.3162611,35.1586169,46.4607441,19.3721357,5.7355233,10.7574283,8.9135574,33.9459283,6.9200753,0.5743548,0.5755474,9.686558,6.1683598,64.7678787,18.8896791,32.4024258,66.0505498,34.4448461,46.5116271,19.7481067,5.5770198,10.3492833,8.7393709,34.5768907,6.4024338,0.5684906,0.5733284,9.8971801,6.2061741,64.4327679,18.3829775,33.1318491,66.5386447,33.9638343,45.8577131,19.1984606,5.609579,9.7948286,8.7208787,34.4242838,6.7021234 +631,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5291015,0.5337522,8.1078983,5.2109433,84.4310499,7.1231371,26.7173311,62.8470037,28.2971587,38.0342628,13.7031,5.2246446,10.6415949,8.8695915,38.2996148,3.5147392,0.5790905,0.5859515,8.053118,5.1896271,84.1981777,7.2294386,27.1227669,62.6506151,28.4817643,38.2629893,13.7898226,5.1910107,10.9628038,9.0937782,37.9826208,3.3747091,0.5619948,0.5623957,8.009687,5.1582241,84.0298387,7.2260276,27.6996676,62.9006465,28.3891562,38.1773232,13.8840798,5.2168002,10.8047601,9.1401336,37.7632501,2.909232,0.5510453,0.5584973,8.157621,5.3085749,83.9093312,7.4779601,27.60566,62.6574828,28.3441173,38.0962865,13.8121073,5.2371265,10.9066268,9.3209005,37.6801048,3.0007726,0.5276396,0.5334868,8.204139,5.3684175,83.8027259,7.625481,27.5796219,62.3436389,28.2653147,38.1657677,14.0387333,5.2737577,10.6949615,9.4319052,37.1549229,3.1028995 +632,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4800467,0.543302,7.9115038,4.6505747,56.9442936,15.0770375,33.5937496,66.3769539,34.0946677,44.4488821,19.0869223,3.8786843,10.6198936,9.4769176,33.2368159,3.4845062,0.5004428,0.5751785,7.8534083,4.5945597,55.6465061,15.4828863,34.1262968,66.504505,33.9722408,44.5384453,19.4232622,3.9859137,10.6466245,9.1035631,32.3228092,3.0128482,0.4595211,0.507231,7.8761782,4.6048569,55.1842527,15.1277908,34.0211603,67.3890779,34.6099883,44.5112675,19.8398155,3.8592996,10.5002862,9.3483731,33.344333,2.5029361,0.4584387,0.4976501,8.0336723,4.8784969,54.6935194,15.1844274,33.5913522,67.2943417,34.4900195,44.7679653,19.3205719,3.7907736,9.9722017,8.9964503,34.2424762,2.5251982,0.408717,0.419984,7.8944685,4.7691426,54.3334866,15.4877943,33.3769981,67.6040747,35.0898166,44.798462,19.4330152,4.042396,10.3954257,9.2731339,34.4274536,2.9431293 +633,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3553663,1.2524556,17.8263571,13.9084616,69.2322568,15.8901599,33.2317039,64.1816473,34.9914049,39.1775258,19.2104979,4.2186256,12.8462267,10.7327929,42.5999647,14.3633766,1.3194833,1.1605359,17.7310668,14.0038679,72.5605787,15.2424437,32.3403532,64.3435039,35.2496622,37.7330471,19.6099659,4.3345341,13.7809707,10.7584712,42.6641173,15.4401365,1.2622398,1.1217627,17.1461788,13.4648032,75.2069454,14.7259202,31.7441078,65.943598,35.6361188,38.0655438,19.4476424,4.2274175,14.0835978,9.9667668,44.2237532,11.8591948,1.0342325,0.980716,16.9064547,13.5330907,76.8164079,15.088798,31.5505158,66.1362469,35.8949992,37.5117103,19.2669698,4.3719633,13.794741,8.8040295,42.8256723,12.6424879,1.1796012,1.1259988,17.033946,13.8806309,77.7847393,14.8245423,31.5293598,65.5158096,34.833825,36.5697328,19.3470878,4.4928826,14.1689548,9.1309445,43.9184448,11.7835528 +634,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.765217,0.7951517,11.0205475,7.0292427,59.3114776,9.0780889,30.389268,70.3873003,40.4846173,42.6177125,21.0213314,4.4185584,9.3802481,8.0033637,35.7907582,6.3329312,0.7500056,0.7848448,10.8873765,6.9201557,58.8866512,8.8885596,30.2802941,70.4254041,40.5178403,42.2771037,20.907462,4.5075039,9.5593778,8.0306489,36.040756,6.1160151,0.7684198,0.8034309,10.8465859,7.0012086,58.0342666,8.7548234,29.850824,70.2492991,40.4335192,42.0854964,20.5096095,4.4203039,9.8315647,8.4641589,36.4769704,5.5697823,0.7417489,0.7643831,10.7618935,6.8857678,57.0290028,8.7513805,29.9705228,69.8871709,40.6739148,42.0867983,20.568202,4.4267123,9.9734272,8.5342716,37.0967728,5.1461245,0.7259609,0.7472461,10.6832206,6.8269939,56.8916691,8.8890009,29.725104,69.7251034,40.5238552,42.7126488,20.7520708,4.4450208,9.6421632,8.6060026,37.3420153,4.8324742 +635,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3972213,0.3870419,9.7021683,6.5879182,80.4656521,10.5291262,28.8521309,66.3129461,27.2174269,42.9740585,11.6001158,4.0173902,11.3311867,11.7131241,30.9076191,4.6443349,0.4805441,0.4703147,9.6033672,6.4999726,79.7682146,10.9973032,28.2540417,66.602472,27.6592572,43.1947185,11.6691605,4.111267,11.7433849,11.7356641,31.3371716,5.6751869,0.5671575,0.5512188,9.7367853,6.7192988,78.9883807,11.5889179,28.1774045,68.3338692,27.7857748,42.7378211,12.1931304,4.1829764,11.5926954,12.0469289,31.5419402,6.6086526,0.6330539,0.6092087,9.7125524,6.9425245,79.1025633,11.4271932,28.1579634,68.0525819,27.8772363,42.7544682,12.2984006,4.3333301,11.929901,12.929773,31.2835511,8.6304021,0.6788824,0.6688749,9.7684399,6.7169409,78.6625521,11.5632037,28.7376346,68.0436593,28.8447829,43.6159993,12.5358294,4.5958406,12.6367886,13.4586967,32.1282054,9.176685 +636,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3353134,0.3248761,6.7502992,4.2407821,78.4637159,20.5205965,29.6785903,66.6613092,29.4875506,40.8815514,12.7147923,5.9356767,11.0276648,8.972783,34.7339996,3.6277545,0.3629778,0.3622842,6.849085,4.2866157,76.241214,20.2291734,29.867063,67.1572626,29.9936373,41.6111984,13.4377488,6.2202934,11.1340847,9.5251745,35.4006226,2.8700863,0.4267129,0.433376,7.0424766,4.1680094,72.5112883,20.5827032,30.3502296,67.7859143,30.4144805,42.3681466,14.1548437,6.1535673,10.5154122,9.601619,35.208374,2.0123777,0.4750784,0.4819255,7.4942613,4.5752675,68.9993361,20.7162298,31.0975266,68.6057212,31.2953175,42.6004437,14.8154111,5.9492164,10.588584,9.8355304,34.6833386,2.4115717,0.582505,0.5895027,7.8788898,4.7674776,66.0956661,20.7903268,32.2292862,69.048348,30.5144817,42.4847912,14.3073205,6.2037399,11.0253452,10.2046767,33.4885779,2.5337795 +637,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5356582,0.5781791,10.2631153,6.6229956,46.4012121,13.515162,30.3783895,68.4683751,37.6324517,48.6120909,18.9263462,5.5067822,10.3855075,9.8929288,31.1158084,6.3461376,0.559503,0.6024845,10.6137334,7.1723624,45.4434115,13.0382534,30.3889316,68.4443791,38.1743315,47.8744019,19.3175353,5.6395918,10.9519016,10.8449592,31.9510089,7.5024842,0.5312135,0.5788797,10.6881158,7.0971799,45.2805883,13.278675,30.6372717,68.2338841,38.7404641,48.5474427,19.8049597,5.861489,10.4210546,10.2494407,32.0821091,9.1174135,0.4174974,0.4174974,10.6406984,7.1803087,43.881419,13.1528355,31.0757701,68.5734313,39.3339744,49.0211004,20.3742494,5.9289618,10.569464,10.0718365,32.7360819,8.8098015,0.4985404,0.4904548,10.9036218,7.2976996,42.2137088,13.1180416,30.8250896,68.4062939,39.0979304,48.0983287,20.7429594,6.0539943,10.7590964,9.5943596,33.1679446,9.1175232 +638,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7732769,0.7981057,10.5852085,6.7769441,60.3407436,12.8595732,29.3822694,67.5839023,38.3301793,45.7893929,20.3107012,4.783163,10.009144,8.1733857,33.5938403,7.5886415,0.8300678,0.8552638,10.7446187,6.6863822,60.2279629,12.5545144,29.626924,67.2396242,37.772328,45.070882,20.0530984,4.8075463,9.6889679,8.4089003,33.9469342,6.5737743,0.8477648,0.877482,10.5658587,6.7105522,60.1883115,12.5132275,29.1942133,67.6600023,38.2144189,44.4800679,20.3232538,4.7725557,9.4675435,8.6624146,33.748551,5.7208723,0.7029585,0.7333262,10.3449405,6.7237685,59.6801703,12.7375597,29.7737206,67.6482093,38.3007311,44.0577207,19.7974209,4.8866117,9.5556089,8.5599024,32.1952204,4.025799,0.6718096,0.6748825,10.1768941,6.6489144,59.5843232,12.5808965,29.0723352,67.2331947,37.3350473,43.9255465,19.8783344,4.7785898,10.087948,8.3594328,32.4074919,4.1129458 +639,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6658885,0.6376801,8.4226133,5.828107,33.9468474,16.778921,34.9999047,69.8385183,37.5030918,49.174318,20.9480196,4.3083926,9.1555322,8.1127888,27.4168561,3.3834561,0.7041549,0.6888505,8.5869591,5.8565552,32.8937155,16.7158934,35.37354,70.5455518,38.1401845,50.4913733,21.5731767,4.3655819,10.0108888,8.5674341,28.3716271,3.4883694,0.7679217,0.7525835,8.4280102,5.7652157,31.4351832,17.2007026,34.5047921,70.5657505,38.8535605,50.7869721,21.8042769,4.8376816,9.8211811,8.6304363,28.611491,3.5714286,0.7008483,0.6850309,8.6435019,5.9713466,30.4239933,16.5790833,34.0141592,70.2994707,39.3875205,51.0972773,21.5995248,4.9532869,9.3774032,8.7969,27.5373251,3.0172388,0.7122985,0.706359,8.8934814,6.3273846,28.9811162,16.370141,32.9684717,69.8442897,38.8317222,50.7818135,21.2507419,5.0985831,9.2148305,8.6898011,27.9223279,1.3761443 +640,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6814965,0.7428523,11.7921967,7.7323666,57.5786919,19.5308104,35.679719,66.5545708,38.5598327,50.1885219,22.4091347,3.351284,10.5356906,9.2791061,32.8959753,10.2619953,0.7215895,0.7827615,12.2038792,7.9451612,56.272199,19.9919459,35.6339096,67.0732237,39.1985491,50.6701424,22.8758804,3.2028951,10.6528129,9.2038213,32.7646554,10.0427265,0.7531281,0.7834303,12.2468263,7.7369685,55.6617357,19.0430759,35.3509437,67.0158428,38.3704551,50.5849339,22.5924641,3.2236106,11.473285,9.9999671,33.3418423,9.6566524,0.855008,0.8541639,11.8181796,7.5033868,53.9434185,19.2024793,35.694798,67.0625792,38.0152363,50.8736635,22.372353,3.3715503,11.6487149,10.4305158,33.4792848,10.7798116,0.8233547,0.826808,12.0094697,7.612022,53.0423931,19.4452095,36.1235637,67.677502,38.1917054,50.6847644,22.7361626,3.3398534,11.9819191,10.606042,33.3956826,10.2870764 +641,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4948802,0.509552,9.7511303,6.6289577,58.0713094,10.9020251,31.4055225,67.5959966,30.7142889,46.121342,16.8586846,3.0030711,10.5270657,9.8700986,31.4362759,7.7367454,0.4803633,0.4844559,9.3885138,6.4760598,56.3904882,10.6522735,31.286192,68.056361,31.3173482,45.4778234,17.3915802,2.8712143,10.6782811,9.7809716,31.3311743,7.5869024,0.5135882,0.5225291,9.1531931,6.2480514,55.0690537,10.2004035,31.0234058,68.0188737,32.0592017,45.7775539,17.9484557,2.7860545,10.3572742,9.8572395,30.6057394,7.5061932,0.6228992,0.6253042,9.1250247,6.2690608,53.9660472,9.8638082,31.0309928,67.951849,33.0020476,45.8931078,18.2806001,2.7143217,10.5330632,9.9393348,30.5577549,7.251746,0.6888882,0.6732919,9.1194075,6.4071024,52.9638848,9.8392009,31.5399176,67.9131954,33.3357988,45.8923571,18.4990819,2.8345998,10.668336,9.888907,30.6297357,7.9218989 +642,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4015109,0.4162751,7.4978498,4.3273285,70.5124507,16.0005551,29.9134511,64.0843104,30.8626447,39.5449401,17.1552245,7.3283083,9.860252,7.7102828,37.7609689,5.1122207,0.4293295,0.444612,7.5958645,4.439524,69.4744497,16.0439278,30.6749322,64.8543393,31.8575083,40.5393662,17.7531044,7.6002307,10.1947031,7.4566185,37.8887194,4.9242424,0.3711636,0.3867774,7.1921892,4.219218,67.6347884,16.3617866,30.9195045,64.7032904,31.8595695,40.7608658,17.8172752,7.975914,9.8438399,8.0771403,38.7921401,3.7662347,0.3112227,0.3330547,7.3410192,4.4420186,66.9612342,15.8871456,30.7140647,64.3423905,31.6295335,40.5096102,17.7754053,8.1934729,9.8833842,7.9286151,38.0575148,2.5606476,0.276286,0.2986095,7.0676445,4.3873659,66.1024958,16.1275419,31.1350132,65.1543524,32.1016459,41.050823,17.539754,8.0916775,9.5712578,7.5408857,38.5245911,2.7696801 +643,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8300678,0.8552638,10.7446187,6.6863822,60.2279629,12.5545144,29.626924,67.2396242,37.772328,45.070882,20.0530984,4.8075463,9.6889679,8.4089003,33.9469342,6.5737743,0.8477648,0.877482,10.5658587,6.7105522,60.1883115,12.5132275,29.1942133,67.6600023,38.2144189,44.4800679,20.3232538,4.7725557,9.4675435,8.6624146,33.748551,5.7208723,0.7029585,0.7333262,10.3449405,6.7237685,59.6801703,12.7375597,29.7737206,67.6482093,38.3007311,44.0577207,19.7974209,4.8866117,9.5556089,8.5599024,32.1952204,4.025799,0.6718096,0.6748825,10.1768941,6.6489144,59.5843232,12.5808965,29.0723352,67.2331947,37.3350473,43.9255465,19.8783344,4.7785898,10.087948,8.3594328,32.4074919,4.1129458,0.686355,0.6894317,9.9094023,6.5703495,58.9205629,12.9127068,29.1521032,67.8272584,37.8232315,43.9799119,20.0489037,5.241249,10.7933253,8.5165675,33.6253827,5.0421303 +644,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6532737,0.6464259,12.5879574,8.0907155,47.2513258,18.5523454,36.4973744,71.2050222,40.0767869,49.2745605,26.2118505,3.1944313,12.2107406,10.4203951,34.5262356,10.4313845,0.6787539,0.6717852,12.3430204,8.2212431,46.3819703,19.1415972,36.845532,71.1888526,40.197285,49.0126499,26.2853599,3.0992114,11.7013277,10.5881995,34.2479158,10.5838103,0.7441796,0.7371429,12.5568002,8.1357466,46.9992018,18.5260992,36.1251989,70.5563824,38.723877,48.189997,25.5914414,2.9002757,12.3805893,10.2445603,35.5704634,9.5069284,0.7690097,0.7899338,12.3870578,8.1001574,47.024504,18.5192388,36.2104476,70.1422814,39.1112168,48.1813777,24.7467867,2.9236093,12.4780683,10.4185387,34.846356,6.9852993,0.7412485,0.7695038,11.8569976,7.9881665,46.221486,18.8595873,35.5608302,70.3535609,38.7747428,48.3698305,24.4761331,2.6782108,11.2705882,9.8955119,34.9697707,6.967116 +645,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6787539,0.6717852,12.3430204,8.2212431,46.3819703,19.1415972,36.845532,71.1888526,40.197285,49.0126499,26.2853599,3.0992114,11.7013277,10.5881995,34.2479158,10.5838103,0.7441796,0.7371429,12.5568002,8.1357466,46.9992018,18.5260992,36.1251989,70.5563824,38.723877,48.189997,25.5914414,2.9002757,12.3805893,10.2445603,35.5704634,9.5069284,0.7690097,0.7899338,12.3870578,8.1001574,47.024504,18.5192388,36.2104476,70.1422814,39.1112168,48.1813777,24.7467867,2.9236093,12.4780683,10.4185387,34.846356,6.9852993,0.7412485,0.7695038,11.8569976,7.9881665,46.221486,18.8595873,35.5608302,70.3535609,38.7747428,48.3698305,24.4761331,2.6782108,11.2705882,9.8955119,34.9697707,6.967116,0.7146967,0.7431322,11.2953533,7.5681589,45.5129619,19.5409466,35.1213309,70.594762,38.1677139,47.1183014,23.7817483,2.6008925,11.8187494,10.2733552,35.0452253,6.7998096 +646,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7846693,0.7523432,11.1146128,6.958445,72.0144461,12.6173186,32.2494877,67.4520349,31.3965865,43.1450056,16.7057626,2.9317695,10.5042034,9.5001901,35.1960592,8.0736613,0.7445008,0.7017951,10.5146578,6.4859736,70.0762622,12.8240565,31.5795352,67.8632751,32.5225004,43.6669648,17.5632303,2.9682827,10.0364894,8.7601692,34.9979639,8.1944444,0.7292225,0.6840359,10.5080121,6.5451135,68.4675961,12.9042565,31.2473336,68.0013039,33.6088383,43.9351673,18.0227552,3.1451277,10.381948,8.9445834,34.3622134,7.3065903,0.6285162,0.5742435,10.3889208,6.5419554,66.7797133,13.0652661,31.5046559,67.6331247,33.6818212,44.0504481,18.333693,3.265791,10.8377292,9.5636252,34.8670729,7.6149691,0.6594706,0.6054644,10.4947317,6.5789444,65.6672661,13.0707059,31.7683955,67.7374367,34.1748901,44.7679536,18.8547354,3.3626988,10.8678089,9.7624798,35.0625601,7.7485673 +647,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2587205,1.1746858,21.5175304,17.3324813,36.1907799,19.0995136,37.4945234,63.5566588,35.1236774,47.992411,21.1112704,3.263478,13.4178255,10.0803654,37.0918878,15.0567699,1.0806006,1.0385656,22.2371169,17.9526364,38.0407278,19.1259543,37.1162131,64.0773551,35.1013197,48.3500154,21.1622208,3.4159985,13.2115874,10.007213,36.9626092,14.8044134,1.1066832,1.0645087,21.116411,17.1801185,38.8572654,20.1139235,36.7220716,64.6150509,36.5850131,48.2019833,21.6947387,3.388666,13.5034479,10.0219693,36.781047,13.9999349,1.1337246,1.1364907,21.8887861,17.5409793,40.1529165,20.0930444,36.9290392,64.970607,37.5634939,48.190892,21.4183194,3.2790575,13.1134313,10.4138713,35.4361799,16.2856758,1.2375978,1.2605483,21.376842,17.3938557,40.8920674,20.5010139,37.1848371,66.0536145,37.9817761,47.5173017,21.0431905,3.5698,13.9725142,11.4789437,36.8307227,14.843669 +648,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.5969902,0.617048,10.7615243,6.6392647,67.7913786,9.4051321,33.871035,65.6956316,38.4930886,43.3943973,23.1439896,4.1068915,10.3881762,8.9701394,39.3005937,5.0776571,0.594703,0.6058734,10.8081818,6.6811602,67.4455787,9.5419853,33.5579586,65.8493424,38.6243876,43.3658269,23.2530101,4.1822007,10.5433009,9.1859625,39.6197353,4.9418593,0.6053207,0.6177359,10.8435267,6.7730635,67.3787027,9.6895255,33.1936858,65.7520768,38.7283185,43.5852844,23.0092161,4.1745099,10.0434933,8.995839,39.3379055,4.3103438,0.5792208,0.5846087,11.027934,6.8848953,66.9086939,9.7925367,33.7093698,66.2163276,39.3917982,44.173639,23.3286826,4.1736297,10.2086194,8.9240828,39.5957417,4.5887935,0.5792187,0.5811135,11.0389484,6.9069291,66.2789118,10.1572285,33.6092994,66.0580544,39.842244,44.2984353,23.4969428,4.1072835,10.4911736,8.8319151,39.3606199,4.8619419 +649,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7920958,0.7610267,18.003194,12.7481331,43.8935594,18.6739705,32.1248763,69.938048,35.2943757,47.3935623,24.2649315,2.0220262,12.9658266,12.2363605,41.6471544,18.7270096,1.1110286,1.1713022,19.1291482,13.422752,46.1146517,18.6001658,32.085822,68.315736,34.7273417,46.7416619,23.1623117,1.8245133,13.9888931,12.6648329,41.6802902,18.5471811,1.0760441,1.1344198,20.4976197,14.760756,46.3249006,17.8345762,31.1469409,66.6304782,34.7430878,45.1408845,22.801437,1.9565951,14.4772334,12.5844974,41.6302066,16.8414258,1.0357074,1.0944123,21.0152519,15.1946314,45.9970482,17.6893372,31.1849935,66.7736952,34.113745,45.0753947,22.8422511,2.3016723,14.466421,12.3451456,41.1720569,16.3136681,1.0707899,1.1298105,21.8873101,16.2218048,45.0955316,17.8847533,33.0560692,65.9699511,33.6087469,45.289116,22.3928799,2.2308368,15.2670849,13.1391147,41.832248,15.4165797 +650,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6536742,0.511569,12.9388885,9.8179035,53.1415611,32.1847025,30.4088587,67.2163016,35.1586041,40.699457,16.8206489,4.9473079,15.3533336,11.580403,33.1061731,5.7018544,0.5993419,0.4556617,11.7063211,8.6639488,53.1584515,31.913477,29.4155418,66.0689148,34.9935192,39.3759927,16.1354497,4.5817463,15.0552011,12.3269191,33.472178,6.3727052,0.6219643,0.5612839,11.8984642,8.7775524,52.251556,31.1126032,28.1698168,66.9933816,34.8366447,40.5883614,17.0588074,4.5098688,15.6676521,12.7050916,33.928488,5.3399614,0.6812579,0.6196047,11.8385399,9.1930631,51.8893693,30.3170592,28.1248504,69.2152667,33.0452747,40.7582302,16.5559158,4.8538009,16.1601903,13.4349692,34.6796399,6.132278,0.4557582,0.3940289,11.9078118,9.4078397,51.1487348,31.5059155,28.6568403,70.1460662,31.5822859,41.1570397,17.0877727,5.1197625,14.498649,11.8207412,32.6502146,5.803701 +651,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1110286,1.1713022,19.1291482,13.422752,46.1146517,18.6001658,32.085822,68.315736,34.7273417,46.7416619,23.1623117,1.8245133,13.9888931,12.6648329,41.6802902,18.5471811,1.0760441,1.1344198,20.4976197,14.760756,46.3249006,17.8345762,31.1469409,66.6304782,34.7430878,45.1408845,22.801437,1.9565951,14.4772334,12.5844974,41.6302066,16.8414258,1.0357074,1.0944123,21.0152519,15.1946314,45.9970482,17.6893372,31.1849935,66.7736952,34.113745,45.0753947,22.8422511,2.3016723,14.466421,12.3451456,41.1720569,16.3136681,1.0707899,1.1298105,21.8873101,16.2218048,45.0955316,17.8847533,33.0560692,65.9699511,33.6087469,45.289116,22.3928799,2.2308368,15.2670849,13.1391147,41.832248,15.4165797,1.1358896,1.1911236,22.1448442,16.3176796,45.9084345,17.4263496,34.5899189,65.6466613,32.9580239,43.7862807,21.6159162,2.8906958,15.3355945,13.3030665,41.5268227,12.9120335 +652,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0806006,1.0385656,22.2371169,17.9526364,38.0407278,19.1259543,37.1162131,64.0773551,35.1013197,48.3500154,21.1622208,3.4159985,13.2115874,10.007213,36.9626092,14.8044134,1.1066832,1.0645087,21.116411,17.1801185,38.8572654,20.1139235,36.7220716,64.6150509,36.5850131,48.2019833,21.6947387,3.388666,13.5034479,10.0219693,36.781047,13.9999349,1.1337246,1.1364907,21.8887861,17.5409793,40.1529165,20.0930444,36.9290392,64.970607,37.5634939,48.190892,21.4183194,3.2790575,13.1134313,10.4138713,35.4361799,16.2856758,1.2375978,1.2605483,21.376842,17.3938557,40.8920674,20.5010139,37.1848371,66.0536145,37.9817761,47.5173017,21.0431905,3.5698,13.9725142,11.4789437,36.8307227,14.843669,1.2072496,1.2295591,21.3557084,17.4349143,41.9697679,20.5287218,37.653094,66.7166976,38.2141305,47.5580465,20.0923654,3.4818737,14.340445,11.7872516,36.9880318,16.0286354 +653,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0606385,1.0890902,18.5075336,14.2983466,31.2250024,20.3923798,35.4280757,66.7024267,37.9076173,47.6882785,23.2455869,4.0927143,12.923619,9.6151656,30.9987619,17.0391157,1.0247257,1.0526652,18.4006667,14.1124638,32.02766,19.4218968,35.8710544,66.9454463,37.6995036,47.6048866,22.9841281,3.9724037,13.2822417,9.9119693,32.3965926,16.8449288,1.0823575,1.0721117,18.3661871,14.2026516,33.0627979,19.2723998,35.8793241,67.1402586,37.5526863,47.9741573,22.6326102,3.9620285,13.2794069,10.5690731,32.3700287,16.5816496,1.0368787,1.0318056,18.8912296,14.6668897,33.8516214,19.5132073,36.2978529,67.2452987,37.5625514,49.332449,23.2611107,3.8533227,12.7432001,10.3600537,31.8379998,17.2820458,1.1597402,1.1446582,19.0487718,14.6875737,34.0432407,19.7814881,35.6211044,67.6708719,38.1945401,49.0602323,22.909549,3.7868885,12.6618317,10.1277485,30.7665757,17.3324522 +654,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.594703,0.6058734,10.8081818,6.6811602,67.4455787,9.5419853,33.5579586,65.8493424,38.6243876,43.3658269,23.2530101,4.1822007,10.5433009,9.1859625,39.6197353,4.9418593,0.6053207,0.6177359,10.8435267,6.7730635,67.3787027,9.6895255,33.1936858,65.7520768,38.7283185,43.5852844,23.0092161,4.1745099,10.0434933,8.995839,39.3379055,4.3103438,0.5792208,0.5846087,11.027934,6.8848953,66.9086939,9.7925367,33.7093698,66.2163276,39.3917982,44.173639,23.3286826,4.1736297,10.2086194,8.9240828,39.5957417,4.5887935,0.5792187,0.5811135,11.0389484,6.9069291,66.2789118,10.1572285,33.6092994,66.0580544,39.842244,44.2984353,23.4969428,4.1072835,10.4911736,8.8319151,39.3606199,4.8619419,0.6036753,0.6182527,10.974114,6.8839833,65.6353352,10.2416652,33.6200408,66.1671836,40.2304018,44.4192464,23.5594757,4.1934691,10.6798578,8.992466,39.9982643,5.0815539 +655,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8847922,0.8961073,12.590469,8.1380403,50.1946979,15.214088,35.6844911,69.1125997,37.6033204,47.2984732,24.6259561,4.1247363,11.7455951,11.7455858,42.3831787,4.3352601,1.026144,1.0280655,13.3460216,8.6863098,49.6268222,15.0653389,35.2223139,69.2449227,37.6407941,46.70674,25.1882092,3.7820914,11.9296635,11.7283911,41.1567883,5.0595208,1.0471475,1.0585876,12.8360591,8.4098317,49.2946872,14.6129724,34.2344442,68.6637209,37.4067336,46.8276869,25.9335896,4.0446891,12.0570937,10.9960519,40.4477555,6.8627406,0.9890496,1.0004951,12.5493572,8.2023667,47.1934138,15.4294225,34.8553083,68.4746443,38.0890231,48.8072218,26.4794506,4.0024031,11.3139718,10.3584383,39.9017277,8.3333278,0.9834822,0.9950372,12.3410491,8.0621248,47.577237,15.3691138,35.7720255,69.6065888,38.3862221,49.2263798,26.8623837,4.3481344,11.450938,9.1860883,40.4320127,7.770265 +656,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5094964,1.5245063,23.9734586,20.0935902,35.348706,17.3607666,31.7047601,64.8057214,34.4472481,45.4671976,20.7740061,3.0121999,12.8616341,10.9526851,37.8865491,17.0807241,1.4295848,1.4952988,24.6648559,20.8379091,36.4964923,16.8168029,32.0081834,64.8947654,34.428697,44.8238345,21.0824003,2.9192611,12.6048729,10.3801784,38.319823,16.5697385,1.4295782,1.5166235,25.0842684,21.007741,36.951185,16.6525574,32.0629066,64.8104036,34.4225072,44.5227693,20.9157985,2.9027268,12.1736073,10.1567084,39.252839,17.0390871,1.4907838,1.5546513,25.8206984,21.1424955,37.5990527,16.0020085,32.2444034,65.023392,34.5989838,43.8369754,20.415732,2.5626842,13.389904,10.1160116,40.2618391,16.0526147,1.4611049,1.5482568,25.5699137,20.6927673,38.014943,16.4633721,32.1141241,65.0505429,34.5244268,44.2637472,20.4323785,2.4812182,13.7284649,10.2062266,41.7387899,15.7458303 +657,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7500056,0.7848448,10.8873765,6.9201557,58.8866512,8.8885596,30.2802941,70.4254041,40.5178403,42.2771037,20.907462,4.5075039,9.5593778,8.0306489,36.040756,6.1160151,0.7684198,0.8034309,10.8465859,7.0012086,58.0342666,8.7548234,29.850824,70.2492991,40.4335192,42.0854964,20.5096095,4.4203039,9.8315647,8.4641589,36.4769704,5.5697823,0.7417489,0.7643831,10.7618935,6.8857678,57.0290028,8.7513805,29.9705228,69.8871709,40.6739148,42.0867983,20.568202,4.4267123,9.9734272,8.5342716,37.0967728,5.1461245,0.7259609,0.7472461,10.6832206,6.8269939,56.8916691,8.8890009,29.725104,69.7251034,40.5238552,42.7126488,20.7520708,4.4450208,9.6421632,8.6060026,37.3420153,4.8324742,0.6964773,0.7282001,10.4052594,6.8368413,56.6391855,9.0782239,29.5226633,69.7252999,40.3645239,42.7981954,20.7906764,4.5801119,9.8511164,8.6463988,36.1170512,4.7712418 +658,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4382551,0.4713546,9.765375,7.0931904,75.6194255,12.3132309,29.1657331,66.5963601,28.2338336,41.5020852,12.4805973,3.5833328,12.071208,10.2053848,33.018502,3.3019211,0.5511989,0.5805139,9.9934334,7.1694266,75.1705406,12.2423689,29.5271026,67.133556,28.5409818,41.8533988,12.7633445,3.5970589,12.1833449,10.3514084,33.5244653,2.7778077,0.5553546,0.5640666,9.6827767,6.8655514,74.7192399,11.6468694,30.045279,66.3533502,28.9127831,42.3442307,12.7859479,3.7485967,12.4574477,10.819447,33.582653,2.5951755,0.5910115,0.610097,9.5316918,6.5716612,73.375273,11.8634602,29.9143968,66.325128,29.2839168,42.7268036,13.56674,3.951827,12.2212883,11.1321049,33.1148286,3.0797347,0.6313294,0.6466071,9.015809,6.3008877,72.7453667,11.6958431,30.2991548,65.8112516,29.8158244,42.7732746,13.659364,4.246279,11.8945195,11.5516116,33.0818378,2.6978524 +659,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6413183,0.6306301,10.7489693,6.4956093,52.185896,15.0510399,36.4834949,67.636952,37.0610412,48.5328238,20.532233,3.4727664,11.7230051,11.1161639,31.7892074,6.3513175,0.6135018,0.5996284,10.4852428,6.1682804,49.0406301,14.672906,36.402017,68.2050289,37.4860266,48.8999917,21.0824298,3.4831846,11.1945055,10.8569038,31.8995231,4.7425165,0.5919144,0.5716161,10.0891573,5.9643366,46.3376771,14.8056077,36.2892854,68.3754793,37.3744279,49.1010302,20.8697728,3.5390359,11.1162922,10.3078516,31.9843919,4.5579822,0.6642898,0.6438663,10.1983377,6.2310125,44.0295026,14.5017881,36.2666952,68.4060837,37.5528625,49.0637863,20.7342868,3.3458171,10.8473131,10.1338858,31.961842,5.7746213,0.7093733,0.6938798,9.7617633,5.9311246,41.8028844,14.6379265,36.2588049,68.58338,37.7964524,49.5582783,20.947161,3.4271205,10.3744317,9.3681771,32.1013123,5.4895862 +660,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0661065,1.036228,23.5331448,19.6429208,34.9635156,20.6845665,35.3834644,67.5459843,34.3326224,47.9936793,22.0558377,3.169041,11.7291198,9.8116917,30.0305804,11.303998,0.9967259,0.9671331,23.6936341,19.8587843,36.3559377,20.3346508,34.8238338,68.075841,34.6884519,47.8207877,21.5689108,3.7827605,11.0242069,9.3733587,30.4042685,10.3369268,1.1940179,1.1940179,24.9296351,20.7332222,37.5024583,20.5122351,34.9032276,67.3365091,35.557878,47.2093137,21.6049626,4.6640736,11.3608532,10.0600438,30.0046621,11.4705136,1.4140593,1.5055884,26.3758232,22.0022182,38.3165423,19.8747844,35.5880099,67.0497224,34.7868786,47.3064416,21.3543535,4.9974794,11.8856796,9.7380698,30.2457419,12.0387238,1.3253778,1.3858147,26.9883181,22.3954583,39.0337474,19.9610044,36.3777728,67.1541451,34.6691591,46.3693314,20.7345265,4.9616849,13.679822,11.1697509,31.3506102,10.6768988 +661,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7215895,0.7827615,12.2038792,7.9451612,56.272199,19.9919459,35.6339096,67.0732237,39.1985491,50.6701424,22.8758804,3.2028951,10.6528129,9.2038213,32.7646554,10.0427265,0.7531281,0.7834303,12.2468263,7.7369685,55.6617357,19.0430759,35.3509437,67.0158428,38.3704551,50.5849339,22.5924641,3.2236106,11.473285,9.9999671,33.3418423,9.6566524,0.855008,0.8541639,11.8181796,7.5033868,53.9434185,19.2024793,35.694798,67.0625792,38.0152363,50.8736635,22.372353,3.3715503,11.6487149,10.4305158,33.4792848,10.7798116,0.8233547,0.826808,12.0094697,7.612022,53.0423931,19.4452095,36.1235637,67.677502,38.1917054,50.6847644,22.7361626,3.3398534,11.9819191,10.606042,33.3956826,10.2870764,0.9197999,0.8972543,12.4163895,7.7619832,52.7786116,19.3009486,37.0354929,68.0039689,37.9645008,49.7888727,22.5647418,3.2235321,11.9535653,10.8261116,34.374964,10.3864784 +662,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4082358,1.4082358,22.9831001,19.3621926,44.5860003,15.8650045,40.0286744,64.7068625,35.1286503,48.8922279,22.8489794,3.5620444,12.6863373,9.9696525,33.6699645,19.7132458,1.536493,1.536493,22.6961766,19.0326058,46.2100978,14.9152316,39.6236087,64.1092815,34.3977348,48.0548998,22.6286516,3.4272719,12.9967694,9.9427976,32.4342489,17.3026927,1.4890342,1.4890342,22.7572619,18.8543143,46.0322058,14.8594169,40.2707201,64.2213446,33.9461474,48.5702308,22.6431099,3.4136912,13.3880778,10.3131921,32.4752779,16.8780929,1.3583132,1.3982869,23.4446332,19.5532363,45.6380019,14.5273871,40.715641,65.0049247,34.2998187,48.03381,22.9014398,3.7234305,12.2980601,9.0785717,32.213668,17.7782385,1.248667,1.2883794,24.2026185,20.4161266,45.4994581,14.5522846,42.1099792,64.1408877,34.3344551,48.4685681,23.8662999,3.8208815,12.3459974,9.0787505,31.9956539,16.4736455 +663,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0247257,1.0526652,18.4006667,14.1124638,32.02766,19.4218968,35.8710544,66.9454463,37.6995036,47.6048866,22.9841281,3.9724037,13.2822417,9.9119693,32.3965926,16.8449288,1.0823575,1.0721117,18.3661871,14.2026516,33.0627979,19.2723998,35.8793241,67.1402586,37.5526863,47.9741573,22.6326102,3.9620285,13.2794069,10.5690731,32.3700287,16.5816496,1.0368787,1.0318056,18.8912296,14.6668897,33.8516214,19.5132073,36.2978529,67.2452987,37.5625514,49.332449,23.2611107,3.8533227,12.7432001,10.3600537,31.8379998,17.2820458,1.1597402,1.1446582,19.0487718,14.6875737,34.0432407,19.7814881,35.6211044,67.6708719,38.1945401,49.0602323,22.909549,3.7868885,12.6618317,10.1277485,30.7665757,17.3324522,1.1628494,1.1475224,19.4438592,15.039112,35.2083565,19.7655337,36.0776083,67.6519704,37.9343129,48.4587307,22.341304,4.165883,12.515605,9.9446646,31.6826532,16.8877904 +664,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4293295,0.444612,7.5958645,4.439524,69.4744497,16.0439278,30.6749322,64.8543393,31.8575083,40.5393662,17.7531044,7.6002307,10.1947031,7.4566185,37.8887194,4.9242424,0.3711636,0.3867774,7.1921892,4.219218,67.6347884,16.3617866,30.9195045,64.7032904,31.8595695,40.7608658,17.8172752,7.975914,9.8438399,8.0771403,38.7921401,3.7662347,0.3112227,0.3330547,7.3410192,4.4420186,66.9612342,15.8871456,30.7140647,64.3423905,31.6295335,40.5096102,17.7754053,8.1934729,9.8833842,7.9286151,38.0575148,2.5606476,0.276286,0.2986095,7.0676445,4.3873659,66.1024958,16.1275419,31.1350132,65.1543524,32.1016459,41.050823,17.539754,8.0916775,9.5712578,7.5408857,38.5245911,2.7696801,0.2502597,0.2799447,6.9681389,4.3611216,66.0895805,16.4190657,31.0069,65.4485629,31.5715113,40.3230892,16.5777917,7.7948586,9.542446,8.0060437,39.7761597,3.2208599 +665,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6135018,0.5996284,10.4852428,6.1682804,49.0406301,14.672906,36.402017,68.2050289,37.4860266,48.8999917,21.0824298,3.4831846,11.1945055,10.8569038,31.8995231,4.7425165,0.5919144,0.5716161,10.0891573,5.9643366,46.3376771,14.8056077,36.2892854,68.3754793,37.3744279,49.1010302,20.8697728,3.5390359,11.1162922,10.3078516,31.9843919,4.5579822,0.6642898,0.6438663,10.1983377,6.2310125,44.0295026,14.5017881,36.2666952,68.4060837,37.5528625,49.0637863,20.7342868,3.3458171,10.8473131,10.1338858,31.961842,5.7746213,0.7093733,0.6938798,9.7617633,5.9311246,41.8028844,14.6379265,36.2588049,68.58338,37.7964524,49.5582783,20.947161,3.4271205,10.3744317,9.3681771,32.1013123,5.4895862,0.7483154,0.7102719,9.6606115,5.8828372,40.0249905,15.1085674,35.9801008,69.0468643,37.8896239,49.88571,21.7643187,3.5335412,10.3389389,9.5824389,32.0219763,7.5153067 +666,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7445008,0.7017951,10.5146578,6.4859736,70.0762622,12.8240565,31.5795352,67.8632751,32.5225004,43.6669648,17.5632303,2.9682827,10.0364894,8.7601692,34.9979639,8.1944444,0.7292225,0.6840359,10.5080121,6.5451135,68.4675961,12.9042565,31.2473336,68.0013039,33.6088383,43.9351673,18.0227552,3.1451277,10.381948,8.9445834,34.3622134,7.3065903,0.6285162,0.5742435,10.3889208,6.5419554,66.7797133,13.0652661,31.5046559,67.6331247,33.6818212,44.0504481,18.333693,3.265791,10.8377292,9.5636252,34.8670729,7.6149691,0.6594706,0.6054644,10.4947317,6.5789444,65.6672661,13.0707059,31.7683955,67.7374367,34.1748901,44.7679536,18.8547354,3.3626988,10.8678089,9.7624798,35.0625601,7.7485673,0.624822,0.5905016,10.3634001,6.708216,64.5494155,12.8516969,32.3951248,68.225602,34.7067566,45.8369069,19.1245582,3.3711465,10.7498905,9.6922418,35.0260811,8.2172958 +667,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8477648,0.877482,10.5658587,6.7105522,60.1883115,12.5132275,29.1942133,67.6600023,38.2144189,44.4800679,20.3232538,4.7725557,9.4675435,8.6624146,33.748551,5.7208723,0.7029585,0.7333262,10.3449405,6.7237685,59.6801703,12.7375597,29.7737206,67.6482093,38.3007311,44.0577207,19.7974209,4.8866117,9.5556089,8.5599024,32.1952204,4.025799,0.6718096,0.6748825,10.1768941,6.6489144,59.5843232,12.5808965,29.0723352,67.2331947,37.3350473,43.9255465,19.8783344,4.7785898,10.087948,8.3594328,32.4074919,4.1129458,0.686355,0.6894317,9.9094023,6.5703495,58.9205629,12.9127068,29.1521032,67.8272584,37.8232315,43.9799119,20.0489037,5.241249,10.7933253,8.5165675,33.6253827,5.0421303,0.6803773,0.6843917,9.6487926,6.5769415,58.6335538,12.8988564,29.1876068,68.1802974,38.6127952,44.2175288,20.5353006,5.5562526,10.2688788,9.0527899,33.450555,5.2017793 +668,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.536493,1.536493,22.6961766,19.0326058,46.2100978,14.9152316,39.6236087,64.1092815,34.3977348,48.0548998,22.6286516,3.4272719,12.9967694,9.9427976,32.4342489,17.3026927,1.4890342,1.4890342,22.7572619,18.8543143,46.0322058,14.8594169,40.2707201,64.2213446,33.9461474,48.5702308,22.6431099,3.4136912,13.3880778,10.3131921,32.4752779,16.8780929,1.3583132,1.3982869,23.4446332,19.5532363,45.6380019,14.5273871,40.715641,65.0049247,34.2998187,48.03381,22.9014398,3.7234305,12.2980601,9.0785717,32.213668,17.7782385,1.248667,1.2883794,24.2026185,20.4161266,45.4994581,14.5522846,42.1099792,64.1408877,34.3344551,48.4685681,23.8662999,3.8208815,12.3459974,9.0787505,31.9956539,16.4736455,1.1107375,1.1905957,24.6112608,21.0003859,45.7813992,14.8246262,42.3747722,64.9276758,34.8962825,48.3671328,24.3300079,4.0910093,12.4911207,9.3155039,29.3255229,17.9951236 +669,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4803633,0.4844559,9.3885138,6.4760598,56.3904882,10.6522735,31.286192,68.056361,31.3173482,45.4778234,17.3915802,2.8712143,10.6782811,9.7809716,31.3311743,7.5869024,0.5135882,0.5225291,9.1531931,6.2480514,55.0690537,10.2004035,31.0234058,68.0188737,32.0592017,45.7775539,17.9484557,2.7860545,10.3572742,9.8572395,30.6057394,7.5061932,0.6228992,0.6253042,9.1250247,6.2690608,53.9660472,9.8638082,31.0309928,67.951849,33.0020476,45.8931078,18.2806001,2.7143217,10.5330632,9.9393348,30.5577549,7.251746,0.6888882,0.6732919,9.1194075,6.4071024,52.9638848,9.8392009,31.5399176,67.9131954,33.3357988,45.8923571,18.4990819,2.8345998,10.668336,9.888907,30.6297357,7.9218989,0.7299443,0.7311553,9.0119567,6.2874915,51.3830443,9.8110778,31.8002663,68.0732432,33.8354579,46.6627903,18.9728045,3.0214472,10.9383336,10.1004826,30.7425996,8.2892554 +670,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7441796,0.7371429,12.5568002,8.1357466,46.9992018,18.5260992,36.1251989,70.5563824,38.723877,48.189997,25.5914414,2.9002757,12.3805893,10.2445603,35.5704634,9.5069284,0.7690097,0.7899338,12.3870578,8.1001574,47.024504,18.5192388,36.2104476,70.1422814,39.1112168,48.1813777,24.7467867,2.9236093,12.4780683,10.4185387,34.846356,6.9852993,0.7412485,0.7695038,11.8569976,7.9881665,46.221486,18.8595873,35.5608302,70.3535609,38.7747428,48.3698305,24.4761331,2.6782108,11.2705882,9.8955119,34.9697707,6.967116,0.7146967,0.7431322,11.2953533,7.5681589,45.5129619,19.5409466,35.1213309,70.594762,38.1677139,47.1183014,23.7817483,2.6008925,11.8187494,10.2733552,35.0452253,6.7998096,0.7805275,0.8195058,11.5401464,7.6558664,43.5681834,20.2545124,34.9786253,70.1681058,38.1609327,47.4266555,23.28049,2.737659,11.6489722,9.7635607,35.4116576,6.1979834 +671,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3469079,0.3817148,7.764592,4.3903517,77.2938884,19.5298474,29.1601337,62.7088642,27.8306311,39.2665486,15.3685819,5.5281329,10.0141104,8.8834692,33.2745777,4.4117647,0.3814916,0.4234349,8.0657569,4.401223,76.6605939,19.2873319,29.1695764,62.639516,28.4624818,39.7057184,15.3574525,5.2308427,10.1820017,8.5724757,33.2514093,4.7717842,0.3911741,0.4046166,7.823281,4.3420187,76.8280971,19.5042384,28.4988666,63.5083428,27.82372,40.2437329,15.8161812,4.9343495,10.0843856,8.4096181,34.4987754,5.0438596,0.4561223,0.4782829,7.433751,4.0914465,76.296936,20.0109594,28.7399614,63.5357054,27.6153759,40.4760173,15.9917988,4.7431724,10.2177547,8.8380786,33.9804201,5.8695652,0.5432408,0.5656501,7.3175464,4.0178592,74.3624408,20.0264122,28.7371614,62.4001564,27.5580091,40.3765624,16.0707535,4.8117179,10.0654121,9.0809674,34.4638907,5.3418803 +672,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9967259,0.9671331,23.6936341,19.8587843,36.3559377,20.3346508,34.8238338,68.075841,34.6884519,47.8207877,21.5689108,3.7827605,11.0242069,9.3733587,30.4042685,10.3369268,1.1940179,1.1940179,24.9296351,20.7332222,37.5024583,20.5122351,34.9032276,67.3365091,35.557878,47.2093137,21.6049626,4.6640736,11.3608532,10.0600438,30.0046621,11.4705136,1.4140593,1.5055884,26.3758232,22.0022182,38.3165423,19.8747844,35.5880099,67.0497224,34.7868786,47.3064416,21.3543535,4.9974794,11.8856796,9.7380698,30.2457419,12.0387238,1.3253778,1.3858147,26.9883181,22.3954583,39.0337474,19.9610044,36.3777728,67.1541451,34.6691591,46.3693314,20.7345265,4.9616849,13.679822,11.1697509,31.3506102,10.6768988,1.2285355,1.2877313,27.0324003,22.337205,39.2278267,20.1048367,36.7741748,68.4758298,35.87699,47.0807301,22.2415865,5.0243627,13.8763919,11.8832097,30.4538485,11.9883236 +673,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4295848,1.4952988,24.6648559,20.8379091,36.4964923,16.8168029,32.0081834,64.8947654,34.428697,44.8238345,21.0824003,2.9192611,12.6048729,10.3801784,38.319823,16.5697385,1.4295782,1.5166235,25.0842684,21.007741,36.951185,16.6525574,32.0629066,64.8104036,34.4225072,44.5227693,20.9157985,2.9027268,12.1736073,10.1567084,39.252839,17.0390871,1.4907838,1.5546513,25.8206984,21.1424955,37.5990527,16.0020085,32.2444034,65.023392,34.5989838,43.8369754,20.415732,2.5626842,13.389904,10.1160116,40.2618391,16.0526147,1.4611049,1.5482568,25.5699137,20.6927673,38.014943,16.4633721,32.1141241,65.0505429,34.5244268,44.2637472,20.4323785,2.4812182,13.7284649,10.2062266,41.7387899,15.7458303,1.255898,1.3340991,25.950794,20.9172848,39.7261743,17.1831389,32.731263,65.1430454,35.1951511,44.522864,20.411755,2.7779239,14.1474048,10.5425641,40.4866572,14.4886199 +674,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4805441,0.4703147,9.6033672,6.4999726,79.7682146,10.9973032,28.2540417,66.602472,27.6592572,43.1947185,11.6691605,4.111267,11.7433849,11.7356641,31.3371716,5.6751869,0.5671575,0.5512188,9.7367853,6.7192988,78.9883807,11.5889179,28.1774045,68.3338692,27.7857748,42.7378211,12.1931304,4.1829764,11.5926954,12.0469289,31.5419402,6.6086526,0.6330539,0.6092087,9.7125524,6.9425245,79.1025633,11.4271932,28.1579634,68.0525819,27.8772363,42.7544682,12.2984006,4.3333301,11.929901,12.929773,31.2835511,8.6304021,0.6788824,0.6688749,9.7684399,6.7169409,78.6625521,11.5632037,28.7376346,68.0436593,28.8447829,43.6159993,12.5358294,4.5958406,12.6367886,13.4586967,32.1282054,9.176685,0.7014584,0.6774093,9.5892331,6.5610975,78.264787,11.5318535,28.6145663,68.5506526,28.7208019,44.2062398,12.9164409,4.624374,12.8579345,13.4219421,33.0473446,10.6158426 +675,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3629778,0.3622842,6.849085,4.2866157,76.241214,20.2291734,29.867063,67.1572626,29.9936373,41.6111984,13.4377488,6.2202934,11.1340847,9.5251745,35.4006226,2.8700863,0.4267129,0.433376,7.0424766,4.1680094,72.5112883,20.5827032,30.3502296,67.7859143,30.4144805,42.3681466,14.1548437,6.1535673,10.5154122,9.601619,35.208374,2.0123777,0.4750784,0.4819255,7.4942613,4.5752675,68.9993361,20.7162298,31.0975266,68.6057212,31.2953175,42.6004437,14.8154111,5.9492164,10.588584,9.8355304,34.6833386,2.4115717,0.582505,0.5895027,7.8788898,4.7674776,66.0956661,20.7903268,32.2292862,69.048348,30.5144817,42.4847912,14.3073205,6.2037399,11.0253452,10.2046767,33.4885779,2.5337795,0.5877171,0.6106894,8.0965474,4.8442311,62.6479205,21.0894942,32.0997862,69.2081783,30.6884658,42.18581,14.4750276,5.9035941,10.6848742,9.8792571,33.3440339,2.3297449 +676,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5919144,0.5716161,10.0891573,5.9643366,46.3376771,14.8056077,36.2892854,68.3754793,37.3744279,49.1010302,20.8697728,3.5390359,11.1162922,10.3078516,31.9843919,4.5579822,0.6642898,0.6438663,10.1983377,6.2310125,44.0295026,14.5017881,36.2666952,68.4060837,37.5528625,49.0637863,20.7342868,3.3458171,10.8473131,10.1338858,31.961842,5.7746213,0.7093733,0.6938798,9.7617633,5.9311246,41.8028844,14.6379265,36.2588049,68.58338,37.7964524,49.5582783,20.947161,3.4271205,10.3744317,9.3681771,32.1013123,5.4895862,0.7483154,0.7102719,9.6606115,5.8828372,40.0249905,15.1085674,35.9801008,69.0468643,37.8896239,49.88571,21.7643187,3.5335412,10.3389389,9.5824389,32.0219763,7.5153067,0.6716119,0.6482621,9.5008704,5.9125883,38.922871,15.4816577,35.3708788,68.8206832,38.4646305,49.925059,21.7481415,3.8340018,10.3281386,9.6334839,32.2473797,6.1782106 +677,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7292225,0.6840359,10.5080121,6.5451135,68.4675961,12.9042565,31.2473336,68.0013039,33.6088383,43.9351673,18.0227552,3.1451277,10.381948,8.9445834,34.3622134,7.3065903,0.6285162,0.5742435,10.3889208,6.5419554,66.7797133,13.0652661,31.5046559,67.6331247,33.6818212,44.0504481,18.333693,3.265791,10.8377292,9.5636252,34.8670729,7.6149691,0.6594706,0.6054644,10.4947317,6.5789444,65.6672661,13.0707059,31.7683955,67.7374367,34.1748901,44.7679536,18.8547354,3.3626988,10.8678089,9.7624798,35.0625601,7.7485673,0.624822,0.5905016,10.3634001,6.708216,64.5494155,12.8516969,32.3951248,68.225602,34.7067566,45.8369069,19.1245582,3.3711465,10.7498905,9.6922418,35.0260811,8.2172958,0.5967948,0.6016948,10.2707769,6.7801957,62.8469284,13.0761067,32.2818715,68.9585093,35.7035855,46.0757077,19.4931385,3.3682603,10.091918,8.8235225,34.0899696,8.9181475 +678,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7690097,0.7899338,12.3870578,8.1001574,47.024504,18.5192388,36.2104476,70.1422814,39.1112168,48.1813777,24.7467867,2.9236093,12.4780683,10.4185387,34.846356,6.9852993,0.7412485,0.7695038,11.8569976,7.9881665,46.221486,18.8595873,35.5608302,70.3535609,38.7747428,48.3698305,24.4761331,2.6782108,11.2705882,9.8955119,34.9697707,6.967116,0.7146967,0.7431322,11.2953533,7.5681589,45.5129619,19.5409466,35.1213309,70.594762,38.1677139,47.1183014,23.7817483,2.6008925,11.8187494,10.2733552,35.0452253,6.7998096,0.7805275,0.8195058,11.5401464,7.6558664,43.5681834,20.2545124,34.9786253,70.1681058,38.1609327,47.4266555,23.28049,2.737659,11.6489722,9.7635607,35.4116576,6.1979834,0.715693,0.7560094,11.9349663,8.0273407,43.502759,20.3115813,34.4548678,70.0965192,37.8450395,46.6106273,23.1720948,2.736249,11.5696121,9.5086313,36.4101794,5.7014043 +679,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7412485,0.7695038,11.8569976,7.9881665,46.221486,18.8595873,35.5608302,70.3535609,38.7747428,48.3698305,24.4761331,2.6782108,11.2705882,9.8955119,34.9697707,6.967116,0.7146967,0.7431322,11.2953533,7.5681589,45.5129619,19.5409466,35.1213309,70.594762,38.1677139,47.1183014,23.7817483,2.6008925,11.8187494,10.2733552,35.0452253,6.7998096,0.7805275,0.8195058,11.5401464,7.6558664,43.5681834,20.2545124,34.9786253,70.1681058,38.1609327,47.4266555,23.28049,2.737659,11.6489722,9.7635607,35.4116576,6.1979834,0.715693,0.7560094,11.9349663,8.0273407,43.502759,20.3115813,34.4548678,70.0965192,37.8450395,46.6106273,23.1720948,2.736249,11.5696121,9.5086313,36.4101794,5.7014043,0.646938,0.6891284,11.5573422,7.9103248,42.8682137,20.4359939,34.0870352,70.741658,39.018877,46.7466976,23.6656829,2.8217329,11.2747021,8.9300968,36.9713834,5.1883317 +680,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3490002,0.3620065,8.4842193,5.2055308,70.3596147,11.3395245,31.0552553,65.3906991,29.533835,42.192061,15.6584705,12.6643117,11.1098411,10.1766904,36.9630413,4.2857143,0.3404351,0.3649671,8.460965,5.2484136,69.6845956,11.6337577,31.0628554,65.9923303,29.1202658,41.5800487,15.5345204,13.0351379,10.9466061,10.2009827,36.7349251,3.9356984,0.3485153,0.361913,8.1236579,5.0638538,68.9924924,11.7248696,31.8677886,66.1126455,28.6816346,41.5516793,15.5230815,13.1648251,11.2861187,10.3845229,36.6363786,3.5382831,0.3820991,0.3830683,7.9649985,5.0779278,68.0899025,11.8087009,32.4717402,66.1056789,29.3344305,41.7820396,15.6801734,13.3811744,11.1684272,10.1444058,36.821044,3.5178777,0.3642383,0.3652211,7.6340325,4.9922312,66.7993739,11.6728322,32.7941767,65.8783353,29.5978835,41.5710818,15.8590042,13.4746726,11.0665684,9.7659125,36.868553,3.2467536 +681,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5135882,0.5225291,9.1531931,6.2480514,55.0690537,10.2004035,31.0234058,68.0188737,32.0592017,45.7775539,17.9484557,2.7860545,10.3572742,9.8572395,30.6057394,7.5061932,0.6228992,0.6253042,9.1250247,6.2690608,53.9660472,9.8638082,31.0309928,67.951849,33.0020476,45.8931078,18.2806001,2.7143217,10.5330632,9.9393348,30.5577549,7.251746,0.6888882,0.6732919,9.1194075,6.4071024,52.9638848,9.8392009,31.5399176,67.9131954,33.3357988,45.8923571,18.4990819,2.8345998,10.668336,9.888907,30.6297357,7.9218989,0.7299443,0.7311553,9.0119567,6.2874915,51.3830443,9.8110778,31.8002663,68.0732432,33.8354579,46.6627903,18.9728045,3.0214472,10.9383336,10.1004826,30.7425996,8.2892554,0.76698,0.7535315,9.1030298,6.4287698,50.2668382,9.5391763,31.5827339,68.0344638,34.371868,46.4374864,18.7997464,2.9566343,10.5900826,9.8234821,29.9907139,7.599799 +682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0760441,1.1344198,20.4976197,14.760756,46.3249006,17.8345762,31.1469409,66.6304782,34.7430878,45.1408845,22.801437,1.9565951,14.4772334,12.5844974,41.6302066,16.8414258,1.0357074,1.0944123,21.0152519,15.1946314,45.9970482,17.6893372,31.1849935,66.7736952,34.113745,45.0753947,22.8422511,2.3016723,14.466421,12.3451456,41.1720569,16.3136681,1.0707899,1.1298105,21.8873101,16.2218048,45.0955316,17.8847533,33.0560692,65.9699511,33.6087469,45.289116,22.3928799,2.2308368,15.2670849,13.1391147,41.832248,15.4165797,1.1358896,1.1911236,22.1448442,16.3176796,45.9084345,17.4263496,34.5899189,65.6466613,32.9580239,43.7862807,21.6159162,2.8906958,15.3355945,13.3030665,41.5268227,12.9120335,1.0716409,1.0973966,22.2549284,16.7554049,46.9074525,17.1557835,34.8602355,64.1408142,32.5318709,43.2461964,21.6272986,3.0968758,14.9466791,12.242572,42.8630595,13.1968053 +683,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.026144,1.0280655,13.3460216,8.6863098,49.6268222,15.0653389,35.2223139,69.2449227,37.6407941,46.70674,25.1882092,3.7820914,11.9296635,11.7283911,41.1567883,5.0595208,1.0471475,1.0585876,12.8360591,8.4098317,49.2946872,14.6129724,34.2344442,68.6637209,37.4067336,46.8276869,25.9335896,4.0446891,12.0570937,10.9960519,40.4477555,6.8627406,0.9890496,1.0004951,12.5493572,8.2023667,47.1934138,15.4294225,34.8553083,68.4746443,38.0890231,48.8072218,26.4794506,4.0024031,11.3139718,10.3584383,39.9017277,8.3333278,0.9834822,0.9950372,12.3410491,8.0621248,47.577237,15.3691138,35.7720255,69.6065888,38.3862221,49.2263798,26.8623837,4.3481344,11.450938,9.1860883,40.4320127,7.770265,0.8253023,0.8368517,11.7364237,7.7288609,47.4918235,15.1670369,34.4198693,69.1962177,37.5659157,48.3469686,26.4748012,4.3458151,10.66535,8.7050947,38.5214598,7.6665949 +684,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3814916,0.4234349,8.0657569,4.401223,76.6605939,19.2873319,29.1695764,62.639516,28.4624818,39.7057184,15.3574525,5.2308427,10.1820017,8.5724757,33.2514093,4.7717842,0.3911741,0.4046166,7.823281,4.3420187,76.8280971,19.5042384,28.4988666,63.5083428,27.82372,40.2437329,15.8161812,4.9343495,10.0843856,8.4096181,34.4987754,5.0438596,0.4561223,0.4782829,7.433751,4.0914465,76.296936,20.0109594,28.7399614,63.5357054,27.6153759,40.4760173,15.9917988,4.7431724,10.2177547,8.8380786,33.9804201,5.8695652,0.5432408,0.5656501,7.3175464,4.0178592,74.3624408,20.0264122,28.7371614,62.4001564,27.5580091,40.3765624,16.0707535,4.8117179,10.0654121,9.0809674,34.4638907,5.3418803,0.5157231,0.5381561,7.2596336,4.0288069,73.4253463,19.7687543,28.6722642,62.0564725,27.3368992,40.0419642,15.2041275,5.0934781,10.0654121,9.1672801,34.8540105,4.468087 +685,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0823575,1.0721117,18.3661871,14.2026516,33.0627979,19.2723998,35.8793241,67.1402586,37.5526863,47.9741573,22.6326102,3.9620285,13.2794069,10.5690731,32.3700287,16.5816496,1.0368787,1.0318056,18.8912296,14.6668897,33.8516214,19.5132073,36.2978529,67.2452987,37.5625514,49.332449,23.2611107,3.8533227,12.7432001,10.3600537,31.8379998,17.2820458,1.1597402,1.1446582,19.0487718,14.6875737,34.0432407,19.7814881,35.6211044,67.6708719,38.1945401,49.0602323,22.909549,3.7868885,12.6618317,10.1277485,30.7665757,17.3324522,1.1628494,1.1475224,19.4438592,15.039112,35.2083565,19.7655337,36.0776083,67.6519704,37.9343129,48.4587307,22.341304,4.165883,12.515605,9.9446646,31.6826532,16.8877904,1.2187922,1.1620739,18.7954884,14.6390101,35.369744,19.2955762,36.8866302,68.7490307,38.737463,49.1361843,23.2335827,4.4197062,11.4699645,9.8032207,31.0560617,14.8599685 +686,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4731899,0.4879158,8.5936187,5.5347995,75.0985352,12.4817749,24.9728125,62.7149578,32.3995989,39.2550586,14.6541113,3.2550197,11.2107237,11.1839403,38.2408284,3.8186621,0.4460069,0.4611428,8.7895484,5.8564791,74.0975359,12.3365879,25.3141658,62.9583016,31.5435213,39.3354385,14.2092119,3.4241473,11.8630795,11.7243316,38.1567069,4.849675,0.5939033,0.5786788,8.6355918,5.4177129,73.6680706,12.8747563,24.5603136,63.2745928,32.1737795,39.0807467,14.949387,3.4497675,12.3335405,11.692867,37.8677855,4.6418724,0.5643565,0.5491895,8.5672782,5.244552,72.6563446,13.1233791,26.6767178,64.0349383,32.7429317,38.6440285,14.8141416,3.0412173,12.1926352,11.6775947,37.5513881,4.1026528,0.5249937,0.5093733,8.8821087,5.4223539,72.0875947,13.0677261,27.1776179,65.1913917,32.0919565,37.4375155,14.1357391,3.0699586,11.0811544,9.8285892,37.4209969,4.4652317 +687,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1940179,1.1940179,24.9296351,20.7332222,37.5024583,20.5122351,34.9032276,67.3365091,35.557878,47.2093137,21.6049626,4.6640736,11.3608532,10.0600438,30.0046621,11.4705136,1.4140593,1.5055884,26.3758232,22.0022182,38.3165423,19.8747844,35.5880099,67.0497224,34.7868786,47.3064416,21.3543535,4.9974794,11.8856796,9.7380698,30.2457419,12.0387238,1.3253778,1.3858147,26.9883181,22.3954583,39.0337474,19.9610044,36.3777728,67.1541451,34.6691591,46.3693314,20.7345265,4.9616849,13.679822,11.1697509,31.3506102,10.6768988,1.2285355,1.2877313,27.0324003,22.337205,39.2278267,20.1048367,36.7741748,68.4758298,35.87699,47.0807301,22.2415865,5.0243627,13.8763919,11.8832097,30.4538485,11.9883236,1.1823661,1.2412282,26.997749,22.3787712,39.8235887,19.3692046,37.45321,68.3634475,35.430052,46.7464836,21.7748937,4.8985653,14.3477645,12.2482054,31.8520696,12.784051 +688,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3711636,0.3867774,7.1921892,4.219218,67.6347884,16.3617866,30.9195045,64.7032904,31.8595695,40.7608658,17.8172752,7.975914,9.8438399,8.0771403,38.7921401,3.7662347,0.3112227,0.3330547,7.3410192,4.4420186,66.9612342,15.8871456,30.7140647,64.3423905,31.6295335,40.5096102,17.7754053,8.1934729,9.8833842,7.9286151,38.0575148,2.5606476,0.276286,0.2986095,7.0676445,4.3873659,66.1024958,16.1275419,31.1350132,65.1543524,32.1016459,41.050823,17.539754,8.0916775,9.5712578,7.5408857,38.5245911,2.7696801,0.2502597,0.2799447,6.9681389,4.3611216,66.0895805,16.4190657,31.0069,65.4485629,31.5715113,40.3230892,16.5777917,7.7948586,9.542446,8.0060437,39.7761597,3.2208599,0.3909765,0.4109366,6.9302206,4.4014103,65.5254039,16.6204554,31.4058604,65.5704535,31.5305425,39.4794212,16.6926424,8.1203282,9.5082961,7.872848,38.7298721,2.8273818 +689,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4267129,0.433376,7.0424766,4.1680094,72.5112883,20.5827032,30.3502296,67.7859143,30.4144805,42.3681466,14.1548437,6.1535673,10.5154122,9.601619,35.208374,2.0123777,0.4750784,0.4819255,7.4942613,4.5752675,68.9993361,20.7162298,31.0975266,68.6057212,31.2953175,42.6004437,14.8154111,5.9492164,10.588584,9.8355304,34.6833386,2.4115717,0.582505,0.5895027,7.8788898,4.7674776,66.0956661,20.7903268,32.2292862,69.048348,30.5144817,42.4847912,14.3073205,6.2037399,11.0253452,10.2046767,33.4885779,2.5337795,0.5877171,0.6106894,8.0965474,4.8442311,62.6479205,21.0894942,32.0997862,69.2081783,30.6884658,42.18581,14.4750276,5.9035941,10.6848742,9.8792571,33.3440339,2.3297449,0.5803641,0.5990903,8.3623159,5.0591105,59.7193008,20.8333726,31.8868106,70.0807517,31.7111787,43.0604049,14.3534859,5.9557085,10.4628733,9.052258,32.6244024,1.717554 +690,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5671575,0.5512188,9.7367853,6.7192988,78.9883807,11.5889179,28.1774045,68.3338692,27.7857748,42.7378211,12.1931304,4.1829764,11.5926954,12.0469289,31.5419402,6.6086526,0.6330539,0.6092087,9.7125524,6.9425245,79.1025633,11.4271932,28.1579634,68.0525819,27.8772363,42.7544682,12.2984006,4.3333301,11.929901,12.929773,31.2835511,8.6304021,0.6788824,0.6688749,9.7684399,6.7169409,78.6625521,11.5632037,28.7376346,68.0436593,28.8447829,43.6159993,12.5358294,4.5958406,12.6367886,13.4586967,32.1282054,9.176685,0.7014584,0.6774093,9.5892331,6.5610975,78.264787,11.5318535,28.6145663,68.5506526,28.7208019,44.2062398,12.9164409,4.624374,12.8579345,13.4219421,33.0473446,10.6158426,0.6591225,0.6348147,10.0315148,6.9503088,78.2584158,11.5399766,28.9013115,68.450262,28.8296478,44.5418866,13.6184431,4.4559431,12.3459538,13.0567344,32.1551028,11.7855375 +691,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5511989,0.5805139,9.9934334,7.1694266,75.1705406,12.2423689,29.5271026,67.133556,28.5409818,41.8533988,12.7633445,3.5970589,12.1833449,10.3514084,33.5244653,2.7778077,0.5553546,0.5640666,9.6827767,6.8655514,74.7192399,11.6468694,30.045279,66.3533502,28.9127831,42.3442307,12.7859479,3.7485967,12.4574477,10.819447,33.582653,2.5951755,0.5910115,0.610097,9.5316918,6.5716612,73.375273,11.8634602,29.9143968,66.325128,29.2839168,42.7268036,13.56674,3.951827,12.2212883,11.1321049,33.1148286,3.0797347,0.6313294,0.6466071,9.015809,6.3008877,72.7453667,11.6958431,30.2991548,65.8112516,29.8158244,42.7732746,13.659364,4.246279,11.8945195,11.5516116,33.0818378,2.6978524,0.6420252,0.6572412,9.1857305,6.6061101,71.9876022,11.6123496,30.5733177,66.2745282,30.4819079,43.9812597,14.4929385,4.5112131,11.132104,10.9401295,32.3379458,4.1367085 +692,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7531281,0.7834303,12.2468263,7.7369685,55.6617357,19.0430759,35.3509437,67.0158428,38.3704551,50.5849339,22.5924641,3.2236106,11.473285,9.9999671,33.3418423,9.6566524,0.855008,0.8541639,11.8181796,7.5033868,53.9434185,19.2024793,35.694798,67.0625792,38.0152363,50.8736635,22.372353,3.3715503,11.6487149,10.4305158,33.4792848,10.7798116,0.8233547,0.826808,12.0094697,7.612022,53.0423931,19.4452095,36.1235637,67.677502,38.1917054,50.6847644,22.7361626,3.3398534,11.9819191,10.606042,33.3956826,10.2870764,0.9197999,0.8972543,12.4163895,7.7619832,52.7786116,19.3009486,37.0354929,68.0039689,37.9645008,49.7888727,22.5647418,3.2235321,11.9535653,10.8261116,34.374964,10.3864784,1.0336571,1.015376,12.4336372,8.0978946,52.3101196,19.0294008,37.8267025,67.7414544,37.9971823,49.7017733,22.2584883,3.0539685,12.1930792,11.6348425,34.2205352,8.937211 +693,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0368787,1.0318056,18.8912296,14.6668897,33.8516214,19.5132073,36.2978529,67.2452987,37.5625514,49.332449,23.2611107,3.8533227,12.7432001,10.3600537,31.8379998,17.2820458,1.1597402,1.1446582,19.0487718,14.6875737,34.0432407,19.7814881,35.6211044,67.6708719,38.1945401,49.0602323,22.909549,3.7868885,12.6618317,10.1277485,30.7665757,17.3324522,1.1628494,1.1475224,19.4438592,15.039112,35.2083565,19.7655337,36.0776083,67.6519704,37.9343129,48.4587307,22.341304,4.165883,12.515605,9.9446646,31.6826532,16.8877904,1.2187922,1.1620739,18.7954884,14.6390101,35.369744,19.2955762,36.8866302,68.7490307,38.737463,49.1361843,23.2335827,4.4197062,11.4699645,9.8032207,31.0560617,14.8599685,1.2126174,1.1612934,19.1589815,15.200805,36.2137833,18.9390198,38.4667085,68.4489144,38.5250765,48.3994256,23.2620653,4.2933689,11.6060032,10.0571374,31.5246016,15.0664815 +694,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5004428,0.5751785,7.8534083,4.5945597,55.6465061,15.4828863,34.1262968,66.504505,33.9722408,44.5384453,19.4232622,3.9859137,10.6466245,9.1035631,32.3228092,3.0128482,0.4595211,0.507231,7.8761782,4.6048569,55.1842527,15.1277908,34.0211603,67.3890779,34.6099883,44.5112675,19.8398155,3.8592996,10.5002862,9.3483731,33.344333,2.5029361,0.4584387,0.4976501,8.0336723,4.8784969,54.6935194,15.1844274,33.5913522,67.2943417,34.4900195,44.7679653,19.3205719,3.7907736,9.9722017,8.9964503,34.2424762,2.5251982,0.408717,0.419984,7.8944685,4.7691426,54.3334866,15.4877943,33.3769981,67.6040747,35.0898166,44.798462,19.4330152,4.042396,10.3954257,9.2731339,34.4274536,2.9431293,0.451545,0.470051,8.2556,5.1621795,53.4829046,15.8982211,33.6466513,67.8590278,35.7879039,44.7943846,19.7147706,4.3707149,10.2183394,9.2431284,35.0815807,3.714059 +695,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7041549,0.6888505,8.5869591,5.8565552,32.8937155,16.7158934,35.37354,70.5455518,38.1401845,50.4913733,21.5731767,4.3655819,10.0108888,8.5674341,28.3716271,3.4883694,0.7679217,0.7525835,8.4280102,5.7652157,31.4351832,17.2007026,34.5047921,70.5657505,38.8535605,50.7869721,21.8042769,4.8376816,9.8211811,8.6304363,28.611491,3.5714286,0.7008483,0.6850309,8.6435019,5.9713466,30.4239933,16.5790833,34.0141592,70.2994707,39.3875205,51.0972773,21.5995248,4.9532869,9.3774032,8.7969,27.5373251,3.0172388,0.7122985,0.706359,8.8934814,6.3273846,28.9811162,16.370141,32.9684717,69.8442897,38.8317222,50.7818135,21.2507419,5.0985831,9.2148305,8.6898011,27.9223279,1.3761443,0.6440498,0.636589,8.7660702,5.9635669,27.99667,17.0507773,33.3375198,69.7323541,39.1446404,51.9234889,21.3909489,5.4871261,9.0203763,8.0017347,28.0035258,0.4545446 +696,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5790905,0.5859515,8.053118,5.1896271,84.1981777,7.2294386,27.1227669,62.6506151,28.4817643,38.2629893,13.7898226,5.1910107,10.9628038,9.0937782,37.9826208,3.3747091,0.5619948,0.5623957,8.009687,5.1582241,84.0298387,7.2260276,27.6996676,62.9006465,28.3891562,38.1773232,13.8840798,5.2168002,10.8047601,9.1401336,37.7632501,2.909232,0.5510453,0.5584973,8.157621,5.3085749,83.9093312,7.4779601,27.60566,62.6574828,28.3441173,38.0962865,13.8121073,5.2371265,10.9066268,9.3209005,37.6801048,3.0007726,0.5276396,0.5334868,8.204139,5.3684175,83.8027259,7.625481,27.5796219,62.3436389,28.2653147,38.1657677,14.0387333,5.2737577,10.6949615,9.4319052,37.1549229,3.1028995,0.535871,0.5479874,7.97297,5.2733558,83.4627434,7.6703024,27.1711091,62.3769315,28.171348,37.984024,13.7717414,5.4774183,10.5732841,9.3613856,37.2386251,3.7109291 +697,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3404351,0.3649671,8.460965,5.2484136,69.6845956,11.6337577,31.0628554,65.9923303,29.1202658,41.5800487,15.5345204,13.0351379,10.9466061,10.2009827,36.7349251,3.9356984,0.3485153,0.361913,8.1236579,5.0638538,68.9924924,11.7248696,31.8677886,66.1126455,28.6816346,41.5516793,15.5230815,13.1648251,11.2861187,10.3845229,36.6363786,3.5382831,0.3820991,0.3830683,7.9649985,5.0779278,68.0899025,11.8087009,32.4717402,66.1056789,29.3344305,41.7820396,15.6801734,13.3811744,11.1684272,10.1444058,36.821044,3.5178777,0.3642383,0.3652211,7.6340325,4.9922312,66.7993739,11.6728322,32.7941767,65.8783353,29.5978835,41.5710818,15.8590042,13.4746726,11.0665684,9.7659125,36.868553,3.2467536,0.3585108,0.3716565,7.4721034,4.8153569,65.4637063,11.7435168,32.3681457,65.8295791,30.0092778,40.9024701,15.5115312,13.4177043,11.1345044,9.7612547,36.5600754,2.9878052 +698,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0471475,1.0585876,12.8360591,8.4098317,49.2946872,14.6129724,34.2344442,68.6637209,37.4067336,46.8276869,25.9335896,4.0446891,12.0570937,10.9960519,40.4477555,6.8627406,0.9890496,1.0004951,12.5493572,8.2023667,47.1934138,15.4294225,34.8553083,68.4746443,38.0890231,48.8072218,26.4794506,4.0024031,11.3139718,10.3584383,39.9017277,8.3333278,0.9834822,0.9950372,12.3410491,8.0621248,47.577237,15.3691138,35.7720255,69.6065888,38.3862221,49.2263798,26.8623837,4.3481344,11.450938,9.1860883,40.4320127,7.770265,0.8253023,0.8368517,11.7364237,7.7288609,47.4918235,15.1670369,34.4198693,69.1962177,37.5659157,48.3469686,26.4748012,4.3458151,10.66535,8.7050947,38.5214598,7.6665949,0.789795,0.801361,11.6021389,7.6568891,46.8587533,15.1126409,34.1938565,69.2826589,37.6266467,49.7049646,26.4164506,4.1032634,10.1006507,8.3145396,38.858286,7.9860417 +699,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4890342,1.4890342,22.7572619,18.8543143,46.0322058,14.8594169,40.2707201,64.2213446,33.9461474,48.5702308,22.6431099,3.4136912,13.3880778,10.3131921,32.4752779,16.8780929,1.3583132,1.3982869,23.4446332,19.5532363,45.6380019,14.5273871,40.715641,65.0049247,34.2998187,48.03381,22.9014398,3.7234305,12.2980601,9.0785717,32.213668,17.7782385,1.248667,1.2883794,24.2026185,20.4161266,45.4994581,14.5522846,42.1099792,64.1408877,34.3344551,48.4685681,23.8662999,3.8208815,12.3459974,9.0787505,31.9956539,16.4736455,1.1107375,1.1905957,24.6112608,21.0003859,45.7813992,14.8246262,42.3747722,64.9276758,34.8962825,48.3671328,24.3300079,4.0910093,12.4911207,9.3155039,29.3255229,17.9951236,1.1909336,1.2518661,25.3839997,21.6068541,46.9189818,14.0947926,41.2142795,65.4894284,34.3045559,47.3967178,23.3214463,3.4522795,12.7737358,9.3201722,28.5822747,18.9387118 +700,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.9843206,1.0297317,12.5659751,8.4175198,30.863616,16.207404,34.3724922,68.1335763,40.8124769,48.5244412,24.5447828,3.8573924,12.1282571,11.0482362,34.3471449,13.6792453,0.9964134,1.0075836,12.7792804,8.9240804,29.8606026,16.6530812,34.3170053,67.46007,40.7557089,48.5817671,24.9513053,3.7222922,11.6330138,11.4885129,34.3480528,14.3564072,1.0356237,1.0179722,13.7191495,9.5447777,29.7703343,16.6455257,34.1448282,67.9847851,40.5837283,48.2003261,25.5790739,4.2355831,11.4819146,11.2445552,34.6510519,11.9047392,1.0758448,1.0694073,13.975928,9.6440775,28.6282243,16.8968561,34.4937772,68.182679,40.8183767,48.9835056,25.6800033,4.3146189,11.1157137,10.9909896,35.7461901,10.267848,1.0716416,1.0793508,14.4862501,10.2006472,27.7924601,16.5497156,33.8226422,67.8515326,40.9291548,49.2069002,25.6780881,4.1401758,11.1553293,10.2593175,36.5139725,9.2920272 +701,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6053207,0.6177359,10.8435267,6.7730635,67.3787027,9.6895255,33.1936858,65.7520768,38.7283185,43.5852844,23.0092161,4.1745099,10.0434933,8.995839,39.3379055,4.3103438,0.5792208,0.5846087,11.027934,6.8848953,66.9086939,9.7925367,33.7093698,66.2163276,39.3917982,44.173639,23.3286826,4.1736297,10.2086194,8.9240828,39.5957417,4.5887935,0.5792187,0.5811135,11.0389484,6.9069291,66.2789118,10.1572285,33.6092994,66.0580544,39.842244,44.2984353,23.4969428,4.1072835,10.4911736,8.8319151,39.3606199,4.8619419,0.6036753,0.6182527,10.974114,6.8839833,65.6353352,10.2416652,33.6200408,66.1671836,40.2304018,44.4192464,23.5594757,4.1934691,10.6798578,8.992466,39.9982643,5.0815539,0.636724,0.6478695,11.2491533,6.9899118,65.0908271,10.2612807,33.5532582,66.1097088,40.2548885,44.308019,23.514802,4.1709068,10.972524,8.9870638,39.8827161,5.2597389 +702,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9890496,1.0004951,12.5493572,8.2023667,47.1934138,15.4294225,34.8553083,68.4746443,38.0890231,48.8072218,26.4794506,4.0024031,11.3139718,10.3584383,39.9017277,8.3333278,0.9834822,0.9950372,12.3410491,8.0621248,47.577237,15.3691138,35.7720255,69.6065888,38.3862221,49.2263798,26.8623837,4.3481344,11.450938,9.1860883,40.4320127,7.770265,0.8253023,0.8368517,11.7364237,7.7288609,47.4918235,15.1670369,34.4198693,69.1962177,37.5659157,48.3469686,26.4748012,4.3458151,10.66535,8.7050947,38.5214598,7.6665949,0.789795,0.801361,11.6021389,7.6568891,46.8587533,15.1126409,34.1938565,69.2826589,37.6266467,49.7049646,26.4164506,4.1032634,10.1006507,8.3145396,38.858286,7.9860417,0.8807146,0.8803125,12.0738368,8.1622231,46.4348554,15.4881029,34.129606,69.2165136,37.3233252,49.1338794,25.7934457,4.3034158,10.7421539,8.49888,40.0240869,7.5162745 +703,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6642898,0.6438663,10.1983377,6.2310125,44.0295026,14.5017881,36.2666952,68.4060837,37.5528625,49.0637863,20.7342868,3.3458171,10.8473131,10.1338858,31.961842,5.7746213,0.7093733,0.6938798,9.7617633,5.9311246,41.8028844,14.6379265,36.2588049,68.58338,37.7964524,49.5582783,20.947161,3.4271205,10.3744317,9.3681771,32.1013123,5.4895862,0.7483154,0.7102719,9.6606115,5.8828372,40.0249905,15.1085674,35.9801008,69.0468643,37.8896239,49.88571,21.7643187,3.5335412,10.3389389,9.5824389,32.0219763,7.5153067,0.6716119,0.6482621,9.5008704,5.9125883,38.922871,15.4816577,35.3708788,68.8206832,38.4646305,49.925059,21.7481415,3.8340018,10.3281386,9.6334839,32.2473797,6.1782106,0.6434973,0.6261331,9.7713355,6.2500128,38.0616962,15.646622,35.4340274,69.0346097,38.6234617,49.7952403,22.0279404,3.931439,10.3981061,9.6491486,33.0185389,5.7910063 +704,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3911741,0.4046166,7.823281,4.3420187,76.8280971,19.5042384,28.4988666,63.5083428,27.82372,40.2437329,15.8161812,4.9343495,10.0843856,8.4096181,34.4987754,5.0438596,0.4561223,0.4782829,7.433751,4.0914465,76.296936,20.0109594,28.7399614,63.5357054,27.6153759,40.4760173,15.9917988,4.7431724,10.2177547,8.8380786,33.9804201,5.8695652,0.5432408,0.5656501,7.3175464,4.0178592,74.3624408,20.0264122,28.7371614,62.4001564,27.5580091,40.3765624,16.0707535,4.8117179,10.0654121,9.0809674,34.4638907,5.3418803,0.5157231,0.5381561,7.2596336,4.0288069,73.4253463,19.7687543,28.6722642,62.0564725,27.3368992,40.0419642,15.2041275,5.0934781,10.0654121,9.1672801,34.8540105,4.468087,0.5787568,0.5956399,7.2666436,4.0370242,72.6822525,20.0193308,29.0919755,63.2307105,27.0654704,39.5752064,15.0623558,5.7482446,10.1336348,8.6940337,35.5066999,5.2752318 +705,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7146967,0.7431322,11.2953533,7.5681589,45.5129619,19.5409466,35.1213309,70.594762,38.1677139,47.1183014,23.7817483,2.6008925,11.8187494,10.2733552,35.0452253,6.7998096,0.7805275,0.8195058,11.5401464,7.6558664,43.5681834,20.2545124,34.9786253,70.1681058,38.1609327,47.4266555,23.28049,2.737659,11.6489722,9.7635607,35.4116576,6.1979834,0.715693,0.7560094,11.9349663,8.0273407,43.502759,20.3115813,34.4548678,70.0965192,37.8450395,46.6106273,23.1720948,2.736249,11.5696121,9.5086313,36.4101794,5.7014043,0.646938,0.6891284,11.5573422,7.9103248,42.8682137,20.4359939,34.0870352,70.741658,39.018877,46.7466976,23.6656829,2.8217329,11.2747021,8.9300968,36.9713834,5.1883317,0.5532345,0.5969303,11.0291479,7.8708129,42.0478657,21.0427963,34.952258,71.717105,39.9423255,47.558394,24.7112811,2.5474584,10.2574465,8.3829659,35.8507009,5.1398459 +706,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.855008,0.8541639,11.8181796,7.5033868,53.9434185,19.2024793,35.694798,67.0625792,38.0152363,50.8736635,22.372353,3.3715503,11.6487149,10.4305158,33.4792848,10.7798116,0.8233547,0.826808,12.0094697,7.612022,53.0423931,19.4452095,36.1235637,67.677502,38.1917054,50.6847644,22.7361626,3.3398534,11.9819191,10.606042,33.3956826,10.2870764,0.9197999,0.8972543,12.4163895,7.7619832,52.7786116,19.3009486,37.0354929,68.0039689,37.9645008,49.7888727,22.5647418,3.2235321,11.9535653,10.8261116,34.374964,10.3864784,1.0336571,1.015376,12.4336372,8.0978946,52.3101196,19.0294008,37.8267025,67.7414544,37.9971823,49.7017733,22.2584883,3.0539685,12.1930792,11.6348425,34.2205352,8.937211,1.208609,1.2165349,12.7759717,8.305034,51.3564294,18.7195533,38.243696,68.1948254,39.1061211,49.2526869,22.348358,3.2049348,12.5891099,11.7534073,34.0783175,7.9545563 +707,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5657286,0.6453303,10.6693358,6.0374339,54.1038111,17.3529836,33.6938646,68.1681315,37.1165449,44.7287917,21.8099227,3.8745715,9.5125196,9.5598322,35.6500134,8.686437,0.5572206,0.6379214,10.2845341,5.948455,54.0861561,17.4613539,34.0340266,68.47169,37.2076921,44.8913498,22.3690957,3.8557682,8.8670366,8.9775877,35.6531341,8.8362793,0.6354071,0.7001146,9.9105194,6.0059294,53.9524394,17.3606945,33.7741786,68.7588432,38.2270426,44.8788085,22.9195596,3.993811,9.3881103,9.078969,35.9248278,8.1934081,0.7542222,0.8024138,9.8914145,6.0107768,53.5859676,17.6788352,32.8348282,68.5072689,38.0066276,44.9117088,22.826347,4.1793908,10.0627782,9.3831341,36.6049821,6.8586256,0.704339,0.7489925,9.3025971,5.6641844,53.1062282,17.1392282,32.5071399,67.861307,37.9460719,44.5181354,22.8470034,3.9234186,10.2965103,9.5451853,36.2056097,6.3983226 +708,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0357074,1.0944123,21.0152519,15.1946314,45.9970482,17.6893372,31.1849935,66.7736952,34.113745,45.0753947,22.8422511,2.3016723,14.466421,12.3451456,41.1720569,16.3136681,1.0707899,1.1298105,21.8873101,16.2218048,45.0955316,17.8847533,33.0560692,65.9699511,33.6087469,45.289116,22.3928799,2.2308368,15.2670849,13.1391147,41.832248,15.4165797,1.1358896,1.1911236,22.1448442,16.3176796,45.9084345,17.4263496,34.5899189,65.6466613,32.9580239,43.7862807,21.6159162,2.8906958,15.3355945,13.3030665,41.5268227,12.9120335,1.0716409,1.0973966,22.2549284,16.7554049,46.9074525,17.1557835,34.8602355,64.1408142,32.5318709,43.2461964,21.6272986,3.0968758,14.9466791,12.242572,42.8630595,13.1968053,1.1408928,1.1408928,23.0441801,17.999101,47.8436935,16.9782764,34.4616673,63.442726,31.6379935,42.1160543,20.5411585,3.2239059,14.5372566,11.4399657,42.9122207,12.7001771 +709,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4561223,0.4782829,7.433751,4.0914465,76.296936,20.0109594,28.7399614,63.5357054,27.6153759,40.4760173,15.9917988,4.7431724,10.2177547,8.8380786,33.9804201,5.8695652,0.5432408,0.5656501,7.3175464,4.0178592,74.3624408,20.0264122,28.7371614,62.4001564,27.5580091,40.3765624,16.0707535,4.8117179,10.0654121,9.0809674,34.4638907,5.3418803,0.5157231,0.5381561,7.2596336,4.0288069,73.4253463,19.7687543,28.6722642,62.0564725,27.3368992,40.0419642,15.2041275,5.0934781,10.0654121,9.1672801,34.8540105,4.468087,0.5787568,0.5956399,7.2666436,4.0370242,72.6822525,20.0193308,29.0919755,63.2307105,27.0654704,39.5752064,15.0623558,5.7482446,10.1336348,8.6940337,35.5066999,5.2752318,0.4836305,0.5181923,7.357557,4.1569221,72.1917745,19.7645137,30.1397202,63.2529091,27.5357437,40.2838221,15.6432646,5.6937572,9.7426514,8.4814853,35.4874382,4.2987865 +710,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4750784,0.4819255,7.4942613,4.5752675,68.9993361,20.7162298,31.0975266,68.6057212,31.2953175,42.6004437,14.8154111,5.9492164,10.588584,9.8355304,34.6833386,2.4115717,0.582505,0.5895027,7.8788898,4.7674776,66.0956661,20.7903268,32.2292862,69.048348,30.5144817,42.4847912,14.3073205,6.2037399,11.0253452,10.2046767,33.4885779,2.5337795,0.5877171,0.6106894,8.0965474,4.8442311,62.6479205,21.0894942,32.0997862,69.2081783,30.6884658,42.18581,14.4750276,5.9035941,10.6848742,9.8792571,33.3440339,2.3297449,0.5803641,0.5990903,8.3623159,5.0591105,59.7193008,20.8333726,31.8868106,70.0807517,31.7111787,43.0604049,14.3534859,5.9557085,10.4628733,9.052258,32.6244024,1.717554,0.8296278,0.8566858,8.7587517,5.1573457,57.2122403,20.4834745,32.9012557,70.507774,31.6583786,44.4069287,14.5774344,5.735072,10.5932288,9.2423041,32.3414237,1.7716501 +711,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5553546,0.5640666,9.6827767,6.8655514,74.7192399,11.6468694,30.045279,66.3533502,28.9127831,42.3442307,12.7859479,3.7485967,12.4574477,10.819447,33.582653,2.5951755,0.5910115,0.610097,9.5316918,6.5716612,73.375273,11.8634602,29.9143968,66.325128,29.2839168,42.7268036,13.56674,3.951827,12.2212883,11.1321049,33.1148286,3.0797347,0.6313294,0.6466071,9.015809,6.3008877,72.7453667,11.6958431,30.2991548,65.8112516,29.8158244,42.7732746,13.659364,4.246279,11.8945195,11.5516116,33.0818378,2.6978524,0.6420252,0.6572412,9.1857305,6.6061101,71.9876022,11.6123496,30.5733177,66.2745282,30.4819079,43.9812597,14.4929385,4.5112131,11.132104,10.9401295,32.3379458,4.1367085,0.6696795,0.6937799,9.6405984,6.8603191,71.3704115,11.7372128,30.4442792,66.3328319,30.5823785,44.1873727,14.6524218,4.7997486,11.3323842,11.1421222,32.2461417,5.2158705 +712,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0707899,1.1298105,21.8873101,16.2218048,45.0955316,17.8847533,33.0560692,65.9699511,33.6087469,45.289116,22.3928799,2.2308368,15.2670849,13.1391147,41.832248,15.4165797,1.1358896,1.1911236,22.1448442,16.3176796,45.9084345,17.4263496,34.5899189,65.6466613,32.9580239,43.7862807,21.6159162,2.8906958,15.3355945,13.3030665,41.5268227,12.9120335,1.0716409,1.0973966,22.2549284,16.7554049,46.9074525,17.1557835,34.8602355,64.1408142,32.5318709,43.2461964,21.6272986,3.0968758,14.9466791,12.242572,42.8630595,13.1968053,1.1408928,1.1408928,23.0441801,17.999101,47.8436935,16.9782764,34.4616673,63.442726,31.6379935,42.1160543,20.5411585,3.2239059,14.5372566,11.4399657,42.9122207,12.7001771,0.9720532,0.8993471,22.9825081,18.5456376,48.340714,17.0373325,34.2817716,63.7313849,30.809193,41.1715486,20.281859,3.0095148,12.8952393,10.7659078,42.4847475,12.4216921 +713,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.8665042,0.9326541,20.2659772,15.9550138,34.1059163,16.5612706,35.2678193,67.831577,34.8887286,51.0918127,25.6919118,6.068745,14.5787986,11.5132611,32.1787963,16.2576687,0.7936738,0.8593393,20.7030266,16.4734573,34.7557189,15.818553,35.424376,67.9615053,34.9434804,50.0741376,25.4734666,6.1104577,14.4486868,11.470011,33.4162194,15.8682635,0.9377279,1.0013854,21.1742301,16.7827198,34.749675,16.2212066,35.8108723,67.9933549,34.9837151,50.611892,25.627249,6.1434363,15.2432494,11.8488127,35.2225836,16.8571429,1.0067117,1.1234575,21.6051994,17.3287199,34.7582227,16.3747668,35.7448181,66.8281947,34.7359145,50.6785035,24.9482547,6.3822018,15.7744984,11.9339924,35.5838445,16.0526316,1.0196523,1.1467943,21.9933153,17.5800335,35.0968996,15.4422549,36.7402153,66.7402741,34.8774811,50.563781,25.1226365,6.0049843,16.3524607,12.0169379,36.1953635,14.6037869 +714,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3485153,0.361913,8.1236579,5.0638538,68.9924924,11.7248696,31.8677886,66.1126455,28.6816346,41.5516793,15.5230815,13.1648251,11.2861187,10.3845229,36.6363786,3.5382831,0.3820991,0.3830683,7.9649985,5.0779278,68.0899025,11.8087009,32.4717402,66.1056789,29.3344305,41.7820396,15.6801734,13.3811744,11.1684272,10.1444058,36.821044,3.5178777,0.3642383,0.3652211,7.6340325,4.9922312,66.7993739,11.6728322,32.7941767,65.8783353,29.5978835,41.5710818,15.8590042,13.4746726,11.0665684,9.7659125,36.868553,3.2467536,0.3585108,0.3716565,7.4721034,4.8153569,65.4637063,11.7435168,32.3681457,65.8295791,30.0092778,40.9024701,15.5115312,13.4177043,11.1345044,9.7612547,36.5600754,2.9878052,0.4083464,0.4103915,7.4265413,4.823563,64.1418266,11.8494413,32.2941832,66.2577117,30.4438215,41.1839684,15.7347854,13.6832921,11.1405534,9.3243964,36.7650771,2.5851201 +715,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3820991,0.3830683,7.9649985,5.0779278,68.0899025,11.8087009,32.4717402,66.1056789,29.3344305,41.7820396,15.6801734,13.3811744,11.1684272,10.1444058,36.821044,3.5178777,0.3642383,0.3652211,7.6340325,4.9922312,66.7993739,11.6728322,32.7941767,65.8783353,29.5978835,41.5710818,15.8590042,13.4746726,11.0665684,9.7659125,36.868553,3.2467536,0.3585108,0.3716565,7.4721034,4.8153569,65.4637063,11.7435168,32.3681457,65.8295791,30.0092778,40.9024701,15.5115312,13.4177043,11.1345044,9.7612547,36.5600754,2.9878052,0.4083464,0.4103915,7.4265413,4.823563,64.1418266,11.8494413,32.2941832,66.2577117,30.4438215,41.1839684,15.7347854,13.6832921,11.1405534,9.3243964,36.7650771,2.5851201,0.5217344,0.5113632,7.5714318,4.9047641,63.9765697,11.6899712,32.1025474,65.9934749,30.3753614,41.0784759,15.4018817,13.6066895,10.6606287,9.0519525,37.2120442,2.952262 +716,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6228992,0.6253042,9.1250247,6.2690608,53.9660472,9.8638082,31.0309928,67.951849,33.0020476,45.8931078,18.2806001,2.7143217,10.5330632,9.9393348,30.5577549,7.251746,0.6888882,0.6732919,9.1194075,6.4071024,52.9638848,9.8392009,31.5399176,67.9131954,33.3357988,45.8923571,18.4990819,2.8345998,10.668336,9.888907,30.6297357,7.9218989,0.7299443,0.7311553,9.0119567,6.2874915,51.3830443,9.8110778,31.8002663,68.0732432,33.8354579,46.6627903,18.9728045,3.0214472,10.9383336,10.1004826,30.7425996,8.2892554,0.76698,0.7535315,9.1030298,6.4287698,50.2668382,9.5391763,31.5827339,68.0344638,34.371868,46.4374864,18.7997464,2.9566343,10.5900826,9.8234821,29.9907139,7.599799,0.7430105,0.7293046,8.9360457,6.3193569,48.4715885,9.7324198,31.3209191,68.1277508,34.9674303,46.9446827,18.9545515,3.1199216,10.5994825,9.8472387,30.1104437,6.4984955 +717,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.7936738,0.8593393,20.7030266,16.4734573,34.7557189,15.818553,35.424376,67.9615053,34.9434804,50.0741376,25.4734666,6.1104577,14.4486868,11.470011,33.4162194,15.8682635,0.9377279,1.0013854,21.1742301,16.7827198,34.749675,16.2212066,35.8108723,67.9933549,34.9837151,50.611892,25.627249,6.1434363,15.2432494,11.8488127,35.2225836,16.8571429,1.0067117,1.1234575,21.6051994,17.3287199,34.7582227,16.3747668,35.7448181,66.8281947,34.7359145,50.6785035,24.9482547,6.3822018,15.7744984,11.9339924,35.5838445,16.0526316,1.0196523,1.1467943,21.9933153,17.5800335,35.0968996,15.4422549,36.7402153,66.7402741,34.8774811,50.563781,25.1226365,6.0049843,16.3524607,12.0169379,36.1953635,14.6037869,1.1170146,1.1900228,22.4883582,17.6046645,34.2179959,14.935836,37.0657442,66.4084146,34.389703,50.0235304,24.8124048,5.6573578,16.1304791,12.6262348,36.6111839,14.5931339 +718,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7684198,0.8034309,10.8465859,7.0012086,58.0342666,8.7548234,29.850824,70.2492991,40.4335192,42.0854964,20.5096095,4.4203039,9.8315647,8.4641589,36.4769704,5.5697823,0.7417489,0.7643831,10.7618935,6.8857678,57.0290028,8.7513805,29.9705228,69.8871709,40.6739148,42.0867983,20.568202,4.4267123,9.9734272,8.5342716,37.0967728,5.1461245,0.7259609,0.7472461,10.6832206,6.8269939,56.8916691,8.8890009,29.725104,69.7251034,40.5238552,42.7126488,20.7520708,4.4450208,9.6421632,8.6060026,37.3420153,4.8324742,0.6964773,0.7282001,10.4052594,6.8368413,56.6391855,9.0782239,29.5226633,69.7252999,40.3645239,42.7981954,20.7906764,4.5801119,9.8511164,8.6463988,36.1170512,4.7712418,0.6765922,0.7031996,10.3519736,6.8321969,55.4556142,9.0583068,29.5072452,69.6732517,40.1292236,43.0920298,20.8079344,4.7331362,9.7059916,8.7300044,36.2487739,5.0836544 +719,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3112227,0.3330547,7.3410192,4.4420186,66.9612342,15.8871456,30.7140647,64.3423905,31.6295335,40.5096102,17.7754053,8.1934729,9.8833842,7.9286151,38.0575148,2.5606476,0.276286,0.2986095,7.0676445,4.3873659,66.1024958,16.1275419,31.1350132,65.1543524,32.1016459,41.050823,17.539754,8.0916775,9.5712578,7.5408857,38.5245911,2.7696801,0.2502597,0.2799447,6.9681389,4.3611216,66.0895805,16.4190657,31.0069,65.4485629,31.5715113,40.3230892,16.5777917,7.7948586,9.542446,8.0060437,39.7761597,3.2208599,0.3909765,0.4109366,6.9302206,4.4014103,65.5254039,16.6204554,31.4058604,65.5704535,31.5305425,39.4794212,16.6926424,8.1203282,9.5082961,7.872848,38.7298721,2.8273818,0.3253006,0.3381284,6.9622244,4.4654276,65.267299,16.7947143,31.7586573,65.3102654,30.979109,39.2734664,16.6043025,8.1228606,9.1474272,8.1008926,38.7067875,2.21239 +720,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8233547,0.826808,12.0094697,7.612022,53.0423931,19.4452095,36.1235637,67.677502,38.1917054,50.6847644,22.7361626,3.3398534,11.9819191,10.606042,33.3956826,10.2870764,0.9197999,0.8972543,12.4163895,7.7619832,52.7786116,19.3009486,37.0354929,68.0039689,37.9645008,49.7888727,22.5647418,3.2235321,11.9535653,10.8261116,34.374964,10.3864784,1.0336571,1.015376,12.4336372,8.0978946,52.3101196,19.0294008,37.8267025,67.7414544,37.9971823,49.7017733,22.2584883,3.0539685,12.1930792,11.6348425,34.2205352,8.937211,1.208609,1.2165349,12.7759717,8.305034,51.3564294,18.7195533,38.243696,68.1948254,39.1061211,49.2526869,22.348358,3.2049348,12.5891099,11.7534073,34.0783175,7.9545563,1.1453143,1.1534465,12.0725494,7.6956526,49.7454748,18.3166693,38.1422974,68.4435312,38.7035372,49.3650612,22.4896506,3.3815645,12.4435356,11.0202757,34.5913298,7.9710222 +721,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5432408,0.5656501,7.3175464,4.0178592,74.3624408,20.0264122,28.7371614,62.4001564,27.5580091,40.3765624,16.0707535,4.8117179,10.0654121,9.0809674,34.4638907,5.3418803,0.5157231,0.5381561,7.2596336,4.0288069,73.4253463,19.7687543,28.6722642,62.0564725,27.3368992,40.0419642,15.2041275,5.0934781,10.0654121,9.1672801,34.8540105,4.468087,0.5787568,0.5956399,7.2666436,4.0370242,72.6822525,20.0193308,29.0919755,63.2307105,27.0654704,39.5752064,15.0623558,5.7482446,10.1336348,8.6940337,35.5066999,5.2752318,0.4836305,0.5181923,7.357557,4.1569221,72.1917745,19.7645137,30.1397202,63.2529091,27.5357437,40.2838221,15.6432646,5.6937572,9.7426514,8.4814853,35.4874382,4.2987865,0.4183174,0.4451223,6.7176093,3.8582187,70.7042668,19.9725351,30.6260263,63.6202444,27.4166224,39.9022603,15.5186381,5.8904264,9.4319044,8.3333364,36.1070367,2.9681368 +722,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8000332,0.8022269,11.0070695,7.2261453,53.680547,16.8215909,34.2428655,70.3830631,39.0133477,45.6993116,22.8225488,3.0899842,10.5795953,9.1450608,33.9048422,5.5851064,0.7928518,0.7950807,10.1722299,6.6558988,52.1553557,17.1000305,34.2528311,70.5334177,39.7332555,45.9079069,22.9996184,3.1969292,9.6180426,8.8214728,33.9260805,5.8659218,0.8216186,0.8297014,10.547992,6.9305107,51.5607855,16.1844516,33.3637928,69.7074824,39.1772938,45.0273945,22.2120483,3.0530156,9.290179,8.9734618,34.2068482,6.1827957,0.7586836,0.7533373,10.8210268,7.1479958,51.7904098,15.3916281,32.9834231,69.7053275,38.8765926,45.0644434,22.559846,3.1491703,8.8360495,8.5053338,34.1298046,6.0846496,0.6611948,0.6826062,10.5065967,6.6892558,50.7775248,14.7271448,33.3028815,69.9488349,38.8563949,45.6521549,22.634258,3.0507848,8.3101559,8.3507995,33.7421138,5.3370697 +723,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5993419,0.4556617,11.7063211,8.6639488,53.1584515,31.913477,29.4155418,66.0689148,34.9935192,39.3759927,16.1354497,4.5817463,15.0552011,12.3269191,33.472178,6.3727052,0.6219643,0.5612839,11.8984642,8.7775524,52.251556,31.1126032,28.1698168,66.9933816,34.8366447,40.5883614,17.0588074,4.5098688,15.6676521,12.7050916,33.928488,5.3399614,0.6812579,0.6196047,11.8385399,9.1930631,51.8893693,30.3170592,28.1248504,69.2152667,33.0452747,40.7582302,16.5559158,4.8538009,16.1601903,13.4349692,34.6796399,6.132278,0.4557582,0.3940289,11.9078118,9.4078397,51.1487348,31.5059155,28.6568403,70.1460662,31.5822859,41.1570397,17.0877727,5.1197625,14.498649,11.8207412,32.6502146,5.803701,0.492051,0.4309254,12.044248,9.5703194,52.0134203,31.782327,28.5620428,70.118544,31.859982,41.2270767,16.9524999,6.0027296,13.9188556,11.4865221,33.7432666,6.4656566 +724,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.9377279,1.0013854,21.1742301,16.7827198,34.749675,16.2212066,35.8108723,67.9933549,34.9837151,50.611892,25.627249,6.1434363,15.2432494,11.8488127,35.2225836,16.8571429,1.0067117,1.1234575,21.6051994,17.3287199,34.7582227,16.3747668,35.7448181,66.8281947,34.7359145,50.6785035,24.9482547,6.3822018,15.7744984,11.9339924,35.5838445,16.0526316,1.0196523,1.1467943,21.9933153,17.5800335,35.0968996,15.4422549,36.7402153,66.7402741,34.8774811,50.563781,25.1226365,6.0049843,16.3524607,12.0169379,36.1953635,14.6037869,1.1170146,1.1900228,22.4883582,17.6046645,34.2179959,14.935836,37.0657442,66.4084146,34.389703,50.0235304,24.8124048,5.6573578,16.1304791,12.6262348,36.6111839,14.5931339,1.0741617,1.1265174,22.735992,17.9944353,35.8050956,14.7564107,37.5782518,66.1770274,33.3412806,49.9036501,25.8789838,5.801719,15.5690736,12.2649823,35.3909803,13.2848701 +725,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1066832,1.0645087,21.116411,17.1801185,38.8572654,20.1139235,36.7220716,64.6150509,36.5850131,48.2019833,21.6947387,3.388666,13.5034479,10.0219693,36.781047,13.9999349,1.1337246,1.1364907,21.8887861,17.5409793,40.1529165,20.0930444,36.9290392,64.970607,37.5634939,48.190892,21.4183194,3.2790575,13.1134313,10.4138713,35.4361799,16.2856758,1.2375978,1.2605483,21.376842,17.3938557,40.8920674,20.5010139,37.1848371,66.0536145,37.9817761,47.5173017,21.0431905,3.5698,13.9725142,11.4789437,36.8307227,14.843669,1.2072496,1.2295591,21.3557084,17.4349143,41.9697679,20.5287218,37.653094,66.7166976,38.2141305,47.5580465,20.0923654,3.4818737,14.340445,11.7872516,36.9880318,16.0286354,1.1264147,1.1578489,21.1885131,17.0438112,43.880021,20.0611834,37.934903,66.8423592,37.0883454,46.7262014,19.549253,3.0642778,14.6270055,11.3579494,36.2068742,14.5088969 +726,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3194833,1.1605359,17.7310668,14.0038679,72.5605787,15.2424437,32.3403532,64.3435039,35.2496622,37.7330471,19.6099659,4.3345341,13.7809707,10.7584712,42.6641173,15.4401365,1.2622398,1.1217627,17.1461788,13.4648032,75.2069454,14.7259202,31.7441078,65.943598,35.6361188,38.0655438,19.4476424,4.2274175,14.0835978,9.9667668,44.2237532,11.8591948,1.0342325,0.980716,16.9064547,13.5330907,76.8164079,15.088798,31.5505158,66.1362469,35.8949992,37.5117103,19.2669698,4.3719633,13.794741,8.8040295,42.8256723,12.6424879,1.1796012,1.1259988,17.033946,13.8806309,77.7847393,14.8245423,31.5293598,65.5158096,34.833825,36.5697328,19.3470878,4.4928826,14.1689548,9.1309445,43.9184448,11.7835528,1.2083833,1.155515,16.9929065,13.4632092,78.8822222,15.4029826,32.5314206,65.362693,35.5512564,37.3145885,19.4732073,4.7014016,13.9554021,9.3103987,43.1460816,9.1191866 +727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7093733,0.6938798,9.7617633,5.9311246,41.8028844,14.6379265,36.2588049,68.58338,37.7964524,49.5582783,20.947161,3.4271205,10.3744317,9.3681771,32.1013123,5.4895862,0.7483154,0.7102719,9.6606115,5.8828372,40.0249905,15.1085674,35.9801008,69.0468643,37.8896239,49.88571,21.7643187,3.5335412,10.3389389,9.5824389,32.0219763,7.5153067,0.6716119,0.6482621,9.5008704,5.9125883,38.922871,15.4816577,35.3708788,68.8206832,38.4646305,49.925059,21.7481415,3.8340018,10.3281386,9.6334839,32.2473797,6.1782106,0.6434973,0.6261331,9.7713355,6.2500128,38.0616962,15.646622,35.4340274,69.0346097,38.6234617,49.7952403,22.0279404,3.931439,10.3981061,9.6491486,33.0185389,5.7910063,0.6400757,0.6225797,9.507472,5.9055183,36.8647481,15.9546989,35.9200365,69.1219183,38.9383749,50.0685569,21.9601786,3.9358643,10.606556,9.6914297,32.5217111,6.2121739 +728,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6219643,0.5612839,11.8984642,8.7775524,52.251556,31.1126032,28.1698168,66.9933816,34.8366447,40.5883614,17.0588074,4.5098688,15.6676521,12.7050916,33.928488,5.3399614,0.6812579,0.6196047,11.8385399,9.1930631,51.8893693,30.3170592,28.1248504,69.2152667,33.0452747,40.7582302,16.5559158,4.8538009,16.1601903,13.4349692,34.6796399,6.132278,0.4557582,0.3940289,11.9078118,9.4078397,51.1487348,31.5059155,28.6568403,70.1460662,31.5822859,41.1570397,17.0877727,5.1197625,14.498649,11.8207412,32.6502146,5.803701,0.492051,0.4309254,12.044248,9.5703194,52.0134203,31.782327,28.5620428,70.118544,31.859982,41.2270767,16.9524999,6.0027296,13.9188556,11.4865221,33.7432666,6.4656566,0.4110617,0.3906616,12.8422712,10.6258813,52.3256132,32.8247722,28.0831512,70.7103312,34.2490516,40.6839234,16.6890307,5.2949771,12.2690435,10.9498951,33.2002203,7.6614139 +729,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7928518,0.7950807,10.1722299,6.6558988,52.1553557,17.1000305,34.2528311,70.5334177,39.7332555,45.9079069,22.9996184,3.1969292,9.6180426,8.8214728,33.9260805,5.8659218,0.8216186,0.8297014,10.547992,6.9305107,51.5607855,16.1844516,33.3637928,69.7074824,39.1772938,45.0273945,22.2120483,3.0530156,9.290179,8.9734618,34.2068482,6.1827957,0.7586836,0.7533373,10.8210268,7.1479958,51.7904098,15.3916281,32.9834231,69.7053275,38.8765926,45.0644434,22.559846,3.1491703,8.8360495,8.5053338,34.1298046,6.0846496,0.6611948,0.6826062,10.5065967,6.6892558,50.7775248,14.7271448,33.3028815,69.9488349,38.8563949,45.6521549,22.634258,3.0507848,8.3101559,8.3507995,33.7421138,5.3370697,0.6228987,0.6447032,10.6494838,7.1661725,49.0015377,14.8578799,34.0350184,70.5476813,40.1080231,46.590886,22.9694372,2.9247382,8.0212045,7.8480075,32.9650726,5.1630351 +730,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3642383,0.3652211,7.6340325,4.9922312,66.7993739,11.6728322,32.7941767,65.8783353,29.5978835,41.5710818,15.8590042,13.4746726,11.0665684,9.7659125,36.868553,3.2467536,0.3585108,0.3716565,7.4721034,4.8153569,65.4637063,11.7435168,32.3681457,65.8295791,30.0092778,40.9024701,15.5115312,13.4177043,11.1345044,9.7612547,36.5600754,2.9878052,0.4083464,0.4103915,7.4265413,4.823563,64.1418266,11.8494413,32.2941832,66.2577117,30.4438215,41.1839684,15.7347854,13.6832921,11.1405534,9.3243964,36.7650771,2.5851201,0.5217344,0.5113632,7.5714318,4.9047641,63.9765697,11.6899712,32.1025474,65.9934749,30.3753614,41.0784759,15.4018817,13.6066895,10.6606287,9.0519525,37.2120442,2.952262,0.5205307,0.5039334,7.3659237,4.8133087,63.2032568,11.0909341,32.4414516,65.7747835,30.3853514,41.5645449,15.761169,13.4463502,10.8258125,9.0662242,37.8093257,3.2435748 +731,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9197999,0.8972543,12.4163895,7.7619832,52.7786116,19.3009486,37.0354929,68.0039689,37.9645008,49.7888727,22.5647418,3.2235321,11.9535653,10.8261116,34.374964,10.3864784,1.0336571,1.015376,12.4336372,8.0978946,52.3101196,19.0294008,37.8267025,67.7414544,37.9971823,49.7017733,22.2584883,3.0539685,12.1930792,11.6348425,34.2205352,8.937211,1.208609,1.2165349,12.7759717,8.305034,51.3564294,18.7195533,38.243696,68.1948254,39.1061211,49.2526869,22.348358,3.2049348,12.5891099,11.7534073,34.0783175,7.9545563,1.1453143,1.1534465,12.0725494,7.6956526,49.7454748,18.3166693,38.1422974,68.4435312,38.7035372,49.3650612,22.4896506,3.3815645,12.4435356,11.0202757,34.5913298,7.9710222,1.0796454,1.1146664,11.5341238,7.5696612,48.0837426,19.2161897,38.2937802,68.8761383,38.5865278,49.0928223,22.8123965,3.2630925,11.842819,10.982484,34.2897239,8.1280828 +732,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6204291,0.6038363,9.6465117,6.0663611,68.1059276,18.530492,31.1083322,66.382062,35.0350909,45.6739645,19.3150676,5.596575,10.8438307,9.2024867,33.5308941,6.952381,0.5595618,0.5560108,9.7450568,6.1278588,66.1465926,18.8561935,31.364957,66.3162611,35.1586169,46.4607441,19.3721357,5.7355233,10.7574283,8.9135574,33.9459283,6.9200753,0.5743548,0.5755474,9.686558,6.1683598,64.7678787,18.8896791,32.4024258,66.0505498,34.4448461,46.5116271,19.7481067,5.5770198,10.3492833,8.7393709,34.5768907,6.4024338,0.5684906,0.5733284,9.8971801,6.2061741,64.4327679,18.3829775,33.1318491,66.5386447,33.9638343,45.8577131,19.1984606,5.609579,9.7948286,8.7208787,34.4242838,6.7021234,0.6245425,0.6294858,9.8361602,6.4010545,63.2639216,17.9961233,32.9345404,66.3590983,33.5931205,45.7940677,19.064344,5.9319054,9.7756277,8.6421114,33.5315158,6.5265472 +733,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1597402,1.1446582,19.0487718,14.6875737,34.0432407,19.7814881,35.6211044,67.6708719,38.1945401,49.0602323,22.909549,3.7868885,12.6618317,10.1277485,30.7665757,17.3324522,1.1628494,1.1475224,19.4438592,15.039112,35.2083565,19.7655337,36.0776083,67.6519704,37.9343129,48.4587307,22.341304,4.165883,12.515605,9.9446646,31.6826532,16.8877904,1.2187922,1.1620739,18.7954884,14.6390101,35.369744,19.2955762,36.8866302,68.7490307,38.737463,49.1361843,23.2335827,4.4197062,11.4699645,9.8032207,31.0560617,14.8599685,1.2126174,1.1612934,19.1589815,15.200805,36.2137833,18.9390198,38.4667085,68.4489144,38.5250765,48.3994256,23.2620653,4.2933689,11.6060032,10.0571374,31.5246016,15.0664815,1.2946207,1.2431836,19.4745041,15.3734528,36.5945568,18.7519101,38.4281016,68.5455043,38.2495752,48.0558692,23.3745282,4.510769,11.4900756,9.6237457,30.4928187,15.5935508 +734,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6980498,0.691407,7.9852045,3.9817232,73.3895374,20.1571793,31.483069,65.2593228,31.0115731,43.9991427,16.0094299,3.8346187,9.16,8.6137821,33.9630225,4.2410714,0.6207723,0.6140653,7.6431718,3.7665198,72.9357798,20.5364807,30.8441558,65.1298701,31.017316,43.7445887,15.7792208,4.1324102,8.8351823,8.452381,33.0286169,3.3632287,0.5930806,0.5460944,7.2149123,3.75,72.1786492,20.330614,30.974026,65.2597403,31.3636364,44.004329,15.9090909,4.0025963,9.1307815,8.92,33.5336538,4.1125541,0.534188,0.506617,6.9469424,4.0242806,71.1624776,19.5181256,31.4088275,65.7824342,30.962996,43.357111,15.4926438,4.3894831,9.1986917,9.1468417,35.2674897,4.3981481,0.6649902,0.6230791,7.3542805,4.2577413,70.2511416,18.6208446,32.4660633,65.9049774,31.1538462,43.0090498,15.678733,4.4097693,9.3956954,9.5099668,36.1319967,4.0865385 +735,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7029585,0.7333262,10.3449405,6.7237685,59.6801703,12.7375597,29.7737206,67.6482093,38.3007311,44.0577207,19.7974209,4.8866117,9.5556089,8.5599024,32.1952204,4.025799,0.6718096,0.6748825,10.1768941,6.6489144,59.5843232,12.5808965,29.0723352,67.2331947,37.3350473,43.9255465,19.8783344,4.7785898,10.087948,8.3594328,32.4074919,4.1129458,0.686355,0.6894317,9.9094023,6.5703495,58.9205629,12.9127068,29.1521032,67.8272584,37.8232315,43.9799119,20.0489037,5.241249,10.7933253,8.5165675,33.6253827,5.0421303,0.6803773,0.6843917,9.6487926,6.5769415,58.6335538,12.8988564,29.1876068,68.1802974,38.6127952,44.2175288,20.5353006,5.5562526,10.2688788,9.0527899,33.450555,5.2017793,0.6867091,0.6907601,9.4984088,6.5887434,58.2019696,12.6860538,28.7320496,67.7987296,38.7289837,43.513626,20.2532017,5.1982704,10.5224643,9.2380236,34.1561964,4.9333133 +736,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6330539,0.6092087,9.7125524,6.9425245,79.1025633,11.4271932,28.1579634,68.0525819,27.8772363,42.7544682,12.2984006,4.3333301,11.929901,12.929773,31.2835511,8.6304021,0.6788824,0.6688749,9.7684399,6.7169409,78.6625521,11.5632037,28.7376346,68.0436593,28.8447829,43.6159993,12.5358294,4.5958406,12.6367886,13.4586967,32.1282054,9.176685,0.7014584,0.6774093,9.5892331,6.5610975,78.264787,11.5318535,28.6145663,68.5506526,28.7208019,44.2062398,12.9164409,4.624374,12.8579345,13.4219421,33.0473446,10.6158426,0.6591225,0.6348147,10.0315148,6.9503088,78.2584158,11.5399766,28.9013115,68.450262,28.8296478,44.5418866,13.6184431,4.4559431,12.3459538,13.0567344,32.1551028,11.7855375,0.5904129,0.5716822,9.7925384,6.8038195,79.3083455,10.9426279,29.5080534,68.2651624,28.9332199,45.0611178,13.5596295,4.1127523,11.6348485,12.2107946,31.2839157,11.6194565 +737,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7483154,0.7102719,9.6606115,5.8828372,40.0249905,15.1085674,35.9801008,69.0468643,37.8896239,49.88571,21.7643187,3.5335412,10.3389389,9.5824389,32.0219763,7.5153067,0.6716119,0.6482621,9.5008704,5.9125883,38.922871,15.4816577,35.3708788,68.8206832,38.4646305,49.925059,21.7481415,3.8340018,10.3281386,9.6334839,32.2473797,6.1782106,0.6434973,0.6261331,9.7713355,6.2500128,38.0616962,15.646622,35.4340274,69.0346097,38.6234617,49.7952403,22.0279404,3.931439,10.3981061,9.6491486,33.0185389,5.7910063,0.6400757,0.6225797,9.507472,5.9055183,36.8647481,15.9546989,35.9200365,69.1219183,38.9383749,50.0685569,21.9601786,3.9358643,10.606556,9.6914297,32.5217111,6.2121739,0.6415669,0.6181901,9.4652874,5.8545477,35.7373683,16.1068331,35.9588579,69.1166057,39.5942572,50.1668073,22.277809,4.1710653,11.1348085,10.1280502,32.1545537,6.8038599 +738,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5595618,0.5560108,9.7450568,6.1278588,66.1465926,18.8561935,31.364957,66.3162611,35.1586169,46.4607441,19.3721357,5.7355233,10.7574283,8.9135574,33.9459283,6.9200753,0.5743548,0.5755474,9.686558,6.1683598,64.7678787,18.8896791,32.4024258,66.0505498,34.4448461,46.5116271,19.7481067,5.5770198,10.3492833,8.7393709,34.5768907,6.4024338,0.5684906,0.5733284,9.8971801,6.2061741,64.4327679,18.3829775,33.1318491,66.5386447,33.9638343,45.8577131,19.1984606,5.609579,9.7948286,8.7208787,34.4242838,6.7021234,0.6245425,0.6294858,9.8361602,6.4010545,63.2639216,17.9961233,32.9345404,66.3590983,33.5931205,45.7940677,19.064344,5.9319054,9.7756277,8.6421114,33.5315158,6.5265472,0.546231,0.5699404,9.7914649,6.3111212,62.0741289,17.8104703,33.1624787,66.6261481,33.6018754,45.9595473,19.4718328,6.0568835,9.8352524,8.9950584,33.78895,5.6503186 +739,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4140593,1.5055884,26.3758232,22.0022182,38.3165423,19.8747844,35.5880099,67.0497224,34.7868786,47.3064416,21.3543535,4.9974794,11.8856796,9.7380698,30.2457419,12.0387238,1.3253778,1.3858147,26.9883181,22.3954583,39.0337474,19.9610044,36.3777728,67.1541451,34.6691591,46.3693314,20.7345265,4.9616849,13.679822,11.1697509,31.3506102,10.6768988,1.2285355,1.2877313,27.0324003,22.337205,39.2278267,20.1048367,36.7741748,68.4758298,35.87699,47.0807301,22.2415865,5.0243627,13.8763919,11.8832097,30.4538485,11.9883236,1.1823661,1.2412282,26.997749,22.3787712,39.8235887,19.3692046,37.45321,68.3634475,35.430052,46.7464836,21.7748937,4.8985653,14.3477645,12.2482054,31.8520696,12.784051,1.1497763,1.2075502,27.3811641,22.9247366,41.3888915,19.84739,38.2686999,67.877734,35.2273867,47.2084855,21.8794923,4.6862485,14.2762904,13.4276405,32.3235901,14.4020347 +740,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4595211,0.507231,7.8761782,4.6048569,55.1842527,15.1277908,34.0211603,67.3890779,34.6099883,44.5112675,19.8398155,3.8592996,10.5002862,9.3483731,33.344333,2.5029361,0.4584387,0.4976501,8.0336723,4.8784969,54.6935194,15.1844274,33.5913522,67.2943417,34.4900195,44.7679653,19.3205719,3.7907736,9.9722017,8.9964503,34.2424762,2.5251982,0.408717,0.419984,7.8944685,4.7691426,54.3334866,15.4877943,33.3769981,67.6040747,35.0898166,44.798462,19.4330152,4.042396,10.3954257,9.2731339,34.4274536,2.9431293,0.451545,0.470051,8.2556,5.1621795,53.4829046,15.8982211,33.6466513,67.8590278,35.7879039,44.7943846,19.7147706,4.3707149,10.2183394,9.2431284,35.0815807,3.714059,0.4569045,0.4761135,8.1375055,5.1039844,52.6038474,16.2738099,33.7604871,68.108834,36.0530155,45.2301906,20.4964567,4.6752694,10.2740004,8.6043336,34.8931892,4.563101 +741,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2090559,1.2813102,28.2575758,23.4090909,58.1081081,5.5810398,40.0154799,67.5696594,29.1795666,46.3622291,18.0340557,5.1857585,13.0630631,9.7305389,34.3939394,16.015625,1.4691715,1.577553,30.2130898,24.7336377,58.8852989,5.6414219,39.9529042,67.8963893,28.6499215,46.0753532,17.9748823,5.2590267,13.5514019,9.4720497,34.6394984,17.0289855,1.6309524,1.7380952,30.6475904,24.7740964,59.2857143,5.7164634,38.0620155,67.5193798,29.6899225,44.4186047,16.6666667,4.5736434,13.2621951,9.5744681,35.4294479,15.248227,1.579836,1.6883743,33.0534351,27.2519084,60.3035144,6.558642,37.5981162,67.7394035,29.5918367,44.6624804,15.9340659,5.2590267,12.2727273,8.6102719,33.2826748,12.8289474,1.5540871,1.6642193,32.8438949,26.8160742,61.5823817,7.1205008,36.7038217,66.9585987,28.4235669,43.3917197,15.843949,4.8566879,15.3726708,11.2654321,36.1801242,11.7449664 +742,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6716119,0.6482621,9.5008704,5.9125883,38.922871,15.4816577,35.3708788,68.8206832,38.4646305,49.925059,21.7481415,3.8340018,10.3281386,9.6334839,32.2473797,6.1782106,0.6434973,0.6261331,9.7713355,6.2500128,38.0616962,15.646622,35.4340274,69.0346097,38.6234617,49.7952403,22.0279404,3.931439,10.3981061,9.6491486,33.0185389,5.7910063,0.6400757,0.6225797,9.507472,5.9055183,36.8647481,15.9546989,35.9200365,69.1219183,38.9383749,50.0685569,21.9601786,3.9358643,10.606556,9.6914297,32.5217111,6.2121739,0.6415669,0.6181901,9.4652874,5.8545477,35.7373683,16.1068331,35.9588579,69.1166057,39.5942572,50.1668073,22.277809,4.1710653,11.1348085,10.1280502,32.1545537,6.8038599,0.6894965,0.6736262,9.3705395,5.8733979,34.8219864,16.7844129,35.6828228,69.3950768,39.8440981,50.2932964,22.5756012,4.4454754,11.5974213,10.4500644,32.2574545,5.6818661 +743,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6812579,0.6196047,11.8385399,9.1930631,51.8893693,30.3170592,28.1248504,69.2152667,33.0452747,40.7582302,16.5559158,4.8538009,16.1601903,13.4349692,34.6796399,6.132278,0.4557582,0.3940289,11.9078118,9.4078397,51.1487348,31.5059155,28.6568403,70.1460662,31.5822859,41.1570397,17.0877727,5.1197625,14.498649,11.8207412,32.6502146,5.803701,0.492051,0.4309254,12.044248,9.5703194,52.0134203,31.782327,28.5620428,70.118544,31.859982,41.2270767,16.9524999,6.0027296,13.9188556,11.4865221,33.7432666,6.4656566,0.4110617,0.3906616,12.8422712,10.6258813,52.3256132,32.8247722,28.0831512,70.7103312,34.2490516,40.6839234,16.6890307,5.2949771,12.2690435,10.9498951,33.2002203,7.6614139,0.3481571,0.3887585,12.6132857,10.4140995,52.5135532,31.9443379,27.2059118,70.6548884,34.0238506,40.7086993,15.9759489,5.2808193,11.9622736,11.4247657,34.1034988,7.5398022 +744,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4460069,0.4611428,8.7895484,5.8564791,74.0975359,12.3365879,25.3141658,62.9583016,31.5435213,39.3354385,14.2092119,3.4241473,11.8630795,11.7243316,38.1567069,4.849675,0.5939033,0.5786788,8.6355918,5.4177129,73.6680706,12.8747563,24.5603136,63.2745928,32.1737795,39.0807467,14.949387,3.4497675,12.3335405,11.692867,37.8677855,4.6418724,0.5643565,0.5491895,8.5672782,5.244552,72.6563446,13.1233791,26.6767178,64.0349383,32.7429317,38.6440285,14.8141416,3.0412173,12.1926352,11.6775947,37.5513881,4.1026528,0.5249937,0.5093733,8.8821087,5.4223539,72.0875947,13.0677261,27.1776179,65.1913917,32.0919565,37.4375155,14.1357391,3.0699586,11.0811544,9.8285892,37.4209969,4.4652317,0.6054572,0.5893587,8.9922985,5.4632735,70.7895578,13.7540148,27.4498134,64.009732,32.2889821,37.7005617,14.8392089,3.2168121,12.368102,10.6824508,36.970055,5.6451053 +745,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8216186,0.8297014,10.547992,6.9305107,51.5607855,16.1844516,33.3637928,69.7074824,39.1772938,45.0273945,22.2120483,3.0530156,9.290179,8.9734618,34.2068482,6.1827957,0.7586836,0.7533373,10.8210268,7.1479958,51.7904098,15.3916281,32.9834231,69.7053275,38.8765926,45.0644434,22.559846,3.1491703,8.8360495,8.5053338,34.1298046,6.0846496,0.6611948,0.6826062,10.5065967,6.6892558,50.7775248,14.7271448,33.3028815,69.9488349,38.8563949,45.6521549,22.634258,3.0507848,8.3101559,8.3507995,33.7421138,5.3370697,0.6228987,0.6447032,10.6494838,7.1661725,49.0015377,14.8578799,34.0350184,70.5476813,40.1080231,46.590886,22.9694372,2.9247382,8.0212045,7.8480075,32.9650726,5.1630351,0.4981279,0.5200441,10.269963,7.0229742,48.4888785,14.961066,34.2744823,70.3627486,40.295415,45.9423875,22.4569849,2.7486901,7.7004268,7.5211843,30.7883506,5.7228812 +746,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6788824,0.6688749,9.7684399,6.7169409,78.6625521,11.5632037,28.7376346,68.0436593,28.8447829,43.6159993,12.5358294,4.5958406,12.6367886,13.4586967,32.1282054,9.176685,0.7014584,0.6774093,9.5892331,6.5610975,78.264787,11.5318535,28.6145663,68.5506526,28.7208019,44.2062398,12.9164409,4.624374,12.8579345,13.4219421,33.0473446,10.6158426,0.6591225,0.6348147,10.0315148,6.9503088,78.2584158,11.5399766,28.9013115,68.450262,28.8296478,44.5418866,13.6184431,4.4559431,12.3459538,13.0567344,32.1551028,11.7855375,0.5904129,0.5716822,9.7925384,6.8038195,79.3083455,10.9426279,29.5080534,68.2651624,28.9332199,45.0611178,13.5596295,4.1127523,11.6348485,12.2107946,31.2839157,11.6194565,0.5524039,0.4990177,9.7022899,6.8687457,79.0648554,11.0766389,30.2802401,69.3882036,28.9900411,44.5448093,14.2461801,4.2203838,11.8915376,12.6890308,31.0995819,12.1090723 +747,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6207723,0.6140653,7.6431718,3.7665198,72.9357798,20.5364807,30.8441558,65.1298701,31.017316,43.7445887,15.7792208,4.1324102,8.8351823,8.452381,33.0286169,3.3632287,0.5930806,0.5460944,7.2149123,3.75,72.1786492,20.330614,30.974026,65.2597403,31.3636364,44.004329,15.9090909,4.0025963,9.1307815,8.92,33.5336538,4.1125541,0.534188,0.506617,6.9469424,4.0242806,71.1624776,19.5181256,31.4088275,65.7824342,30.962996,43.357111,15.4926438,4.3894831,9.1986917,9.1468417,35.2674897,4.3981481,0.6649902,0.6230791,7.3542805,4.2577413,70.2511416,18.6208446,32.4660633,65.9049774,31.1538462,43.0090498,15.678733,4.4097693,9.3956954,9.5099668,36.1319967,4.0865385,0.5050722,0.4622089,7.3945294,4.659249,68.4297132,18.4356253,33.2172702,66.2256267,30.7567317,42.1773445,15.90065,4.3871866,9.5670996,9.4347826,37.3140857,4.2288557 +748,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2622398,1.1217627,17.1461788,13.4648032,75.2069454,14.7259202,31.7441078,65.943598,35.6361188,38.0655438,19.4476424,4.2274175,14.0835978,9.9667668,44.2237532,11.8591948,1.0342325,0.980716,16.9064547,13.5330907,76.8164079,15.088798,31.5505158,66.1362469,35.8949992,37.5117103,19.2669698,4.3719633,13.794741,8.8040295,42.8256723,12.6424879,1.1796012,1.1259988,17.033946,13.8806309,77.7847393,14.8245423,31.5293598,65.5158096,34.833825,36.5697328,19.3470878,4.4928826,14.1689548,9.1309445,43.9184448,11.7835528,1.2083833,1.155515,16.9929065,13.4632092,78.8822222,15.4029826,32.5314206,65.362693,35.5512564,37.3145885,19.4732073,4.7014016,13.9554021,9.3103987,43.1460816,9.1191866,1.2051857,1.2315499,16.7607212,13.1855703,79.0062509,15.4336043,32.3215496,65.3998187,34.4875684,36.7083643,19.4270435,4.9893304,13.5570003,9.6164465,41.6998215,10.1108753 +749,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5939033,0.5786788,8.6355918,5.4177129,73.6680706,12.8747563,24.5603136,63.2745928,32.1737795,39.0807467,14.949387,3.4497675,12.3335405,11.692867,37.8677855,4.6418724,0.5643565,0.5491895,8.5672782,5.244552,72.6563446,13.1233791,26.6767178,64.0349383,32.7429317,38.6440285,14.8141416,3.0412173,12.1926352,11.6775947,37.5513881,4.1026528,0.5249937,0.5093733,8.8821087,5.4223539,72.0875947,13.0677261,27.1776179,65.1913917,32.0919565,37.4375155,14.1357391,3.0699586,11.0811544,9.8285892,37.4209969,4.4652317,0.6054572,0.5893587,8.9922985,5.4632735,70.7895578,13.7540148,27.4498134,64.009732,32.2889821,37.7005617,14.8392089,3.2168121,12.368102,10.6824508,36.970055,5.6451053,0.4642803,0.4317481,9.153337,5.9308541,68.7683073,13.4403513,27.4964254,63.5814606,32.6031919,38.1493104,15.3659499,3.4651051,12.9758219,10.7670073,36.2062524,4.7766275 +750,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4295782,1.5166235,25.0842684,21.007741,36.951185,16.6525574,32.0629066,64.8104036,34.4225072,44.5227693,20.9157985,2.9027268,12.1736073,10.1567084,39.252839,17.0390871,1.4907838,1.5546513,25.8206984,21.1424955,37.5990527,16.0020085,32.2444034,65.023392,34.5989838,43.8369754,20.415732,2.5626842,13.389904,10.1160116,40.2618391,16.0526147,1.4611049,1.5482568,25.5699137,20.6927673,38.014943,16.4633721,32.1141241,65.0505429,34.5244268,44.2637472,20.4323785,2.4812182,13.7284649,10.2062266,41.7387899,15.7458303,1.255898,1.3340991,25.950794,20.9172848,39.7261743,17.1831389,32.731263,65.1430454,35.1951511,44.522864,20.411755,2.7779239,14.1474048,10.5425641,40.4866572,14.4886199,1.239836,1.3143417,26.5693016,21.5690395,40.2495064,17.780236,34.6669447,64.8711614,34.944081,44.0472318,20.3013029,3.071748,14.4749655,10.8353973,41.1285594,15.9685613 +751,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0067117,1.1234575,21.6051994,17.3287199,34.7582227,16.3747668,35.7448181,66.8281947,34.7359145,50.6785035,24.9482547,6.3822018,15.7744984,11.9339924,35.5838445,16.0526316,1.0196523,1.1467943,21.9933153,17.5800335,35.0968996,15.4422549,36.7402153,66.7402741,34.8774811,50.563781,25.1226365,6.0049843,16.3524607,12.0169379,36.1953635,14.6037869,1.1170146,1.1900228,22.4883582,17.6046645,34.2179959,14.935836,37.0657442,66.4084146,34.389703,50.0235304,24.8124048,5.6573578,16.1304791,12.6262348,36.6111839,14.5931339,1.0741617,1.1265174,22.735992,17.9944353,35.8050956,14.7564107,37.5782518,66.1770274,33.3412806,49.9036501,25.8789838,5.801719,15.5690736,12.2649823,35.3909803,13.2848701,1.1215801,1.1700604,22.8890657,18.2401411,36.8742439,14.1405762,38.5151011,66.2901324,32.8927277,50,26.2616924,5.5502932,16.1002116,12.5944805,36.4109639,12.9266779 +752,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5698521,0.5464479,11.8221644,7.2846634,60.2044998,19.4112568,33.5933384,68.4208751,36.5499238,46.6772216,20.5653297,3.0213096,12.2107653,11.659292,37.4725914,3.555505,0.5628929,0.5400065,12.6431751,7.7238294,59.4918192,19.3645753,33.2801848,68.3568036,36.0500361,46.5566675,20.6880167,3.0431129,11.933554,12.3692674,38.0561421,4.4725386,0.6175943,0.645172,12.5971791,7.3973625,58.4072865,20.7966512,34.0851099,69.1005097,36.153271,46.9640684,21.3426687,3.5786439,11.7337928,11.6020823,37.3027898,4.2933245,0.6312348,0.6591664,13.2519758,7.6987226,57.6431049,21.1004812,33.6014967,69.3736381,35.9606898,47.693821,21.2399743,3.540847,12.8547239,12.481197,37.3210983,3.8762024,0.6004937,0.6459455,13.3550419,7.6767162,56.0911978,21.252568,33.1107925,69.2123485,34.8975622,48.2032322,21.5795032,3.4002935,13.3614899,12.4703332,37.7225783,3.2798675 +753,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5930806,0.5460944,7.2149123,3.75,72.1786492,20.330614,30.974026,65.2597403,31.3636364,44.004329,15.9090909,4.0025963,9.1307815,8.92,33.5336538,4.1125541,0.534188,0.506617,6.9469424,4.0242806,71.1624776,19.5181256,31.4088275,65.7824342,30.962996,43.357111,15.4926438,4.3894831,9.1986917,9.1468417,35.2674897,4.3981481,0.6649902,0.6230791,7.3542805,4.2577413,70.2511416,18.6208446,32.4660633,65.9049774,31.1538462,43.0090498,15.678733,4.4097693,9.3956954,9.5099668,36.1319967,4.0865385,0.5050722,0.4622089,7.3945294,4.659249,68.4297132,18.4356253,33.2172702,66.2256267,30.7567317,42.1773445,15.90065,4.3871866,9.5670996,9.4347826,37.3140857,4.2288557,0.3831336,0.3831336,7.1230982,4.5873675,67.1736079,18.067034,33.4485938,67.0124481,31.373905,42.208391,16.2978331,4.5873675,9.3133047,8.2256675,36.2651646,3.3333333 +754,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5619948,0.5623957,8.009687,5.1582241,84.0298387,7.2260276,27.6996676,62.9006465,28.3891562,38.1773232,13.8840798,5.2168002,10.8047601,9.1401336,37.7632501,2.909232,0.5510453,0.5584973,8.157621,5.3085749,83.9093312,7.4779601,27.60566,62.6574828,28.3441173,38.0962865,13.8121073,5.2371265,10.9066268,9.3209005,37.6801048,3.0007726,0.5276396,0.5334868,8.204139,5.3684175,83.8027259,7.625481,27.5796219,62.3436389,28.2653147,38.1657677,14.0387333,5.2737577,10.6949615,9.4319052,37.1549229,3.1028995,0.535871,0.5479874,7.97297,5.2733558,83.4627434,7.6703024,27.1711091,62.3769315,28.171348,37.984024,13.7717414,5.4774183,10.5732841,9.3613856,37.2386251,3.7109291,0.603249,0.608559,7.6753004,5.167169,83.3601624,7.6107429,26.8623049,62.488663,28.0965462,37.9760922,14.0196707,5.5335217,10.7122713,9.4397289,37.28818,3.678789 +755,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4691715,1.577553,30.2130898,24.7336377,58.8852989,5.6414219,39.9529042,67.8963893,28.6499215,46.0753532,17.9748823,5.2590267,13.5514019,9.4720497,34.6394984,17.0289855,1.6309524,1.7380952,30.6475904,24.7740964,59.2857143,5.7164634,38.0620155,67.5193798,29.6899225,44.4186047,16.6666667,4.5736434,13.2621951,9.5744681,35.4294479,15.248227,1.579836,1.6883743,33.0534351,27.2519084,60.3035144,6.558642,37.5981162,67.7394035,29.5918367,44.6624804,15.9340659,5.2590267,12.2727273,8.6102719,33.2826748,12.8289474,1.5540871,1.6642193,32.8438949,26.8160742,61.5823817,7.1205008,36.7038217,66.9585987,28.4235669,43.3917197,15.843949,4.8566879,15.3726708,11.2654321,36.1801242,11.7449664,1.7146411,1.8265814,32.725832,26.703645,63.25,7.9073482,35.3658537,66.2601626,27.7235772,42.6829268,15.203252,5.6097561,15.15625,10.7476636,34.84375,12.5 +756,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4907838,1.5546513,25.8206984,21.1424955,37.5990527,16.0020085,32.2444034,65.023392,34.5989838,43.8369754,20.415732,2.5626842,13.389904,10.1160116,40.2618391,16.0526147,1.4611049,1.5482568,25.5699137,20.6927673,38.014943,16.4633721,32.1141241,65.0505429,34.5244268,44.2637472,20.4323785,2.4812182,13.7284649,10.2062266,41.7387899,15.7458303,1.255898,1.3340991,25.950794,20.9172848,39.7261743,17.1831389,32.731263,65.1430454,35.1951511,44.522864,20.411755,2.7779239,14.1474048,10.5425641,40.4866572,14.4886199,1.239836,1.3143417,26.5693016,21.5690395,40.2495064,17.780236,34.6669447,64.8711614,34.944081,44.0472318,20.3013029,3.071748,14.4749655,10.8353973,41.1285594,15.9685613,1.2657878,1.3265533,27.7726544,22.7059411,41.6070573,17.0489299,34.8892366,63.3508726,33.8767096,44.0410806,18.9969344,2.7954549,14.7634279,11.7395572,40.0034198,17.079191 +757,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5510453,0.5584973,8.157621,5.3085749,83.9093312,7.4779601,27.60566,62.6574828,28.3441173,38.0962865,13.8121073,5.2371265,10.9066268,9.3209005,37.6801048,3.0007726,0.5276396,0.5334868,8.204139,5.3684175,83.8027259,7.625481,27.5796219,62.3436389,28.2653147,38.1657677,14.0387333,5.2737577,10.6949615,9.4319052,37.1549229,3.1028995,0.535871,0.5479874,7.97297,5.2733558,83.4627434,7.6703024,27.1711091,62.3769315,28.171348,37.984024,13.7717414,5.4774183,10.5732841,9.3613856,37.2386251,3.7109291,0.603249,0.608559,7.6753004,5.167169,83.3601624,7.6107429,26.8623049,62.488663,28.0965462,37.9760922,14.0196707,5.5335217,10.7122713,9.4397289,37.28818,3.678789,0.6070456,0.6040324,7.5610083,5.0730521,83.4223189,7.7714597,26.7775631,62.7133894,28.3697678,38.0520395,14.0642591,5.6750119,10.6587853,9.2460507,37.5106706,4.1436369 +758,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1358896,1.1911236,22.1448442,16.3176796,45.9084345,17.4263496,34.5899189,65.6466613,32.9580239,43.7862807,21.6159162,2.8906958,15.3355945,13.3030665,41.5268227,12.9120335,1.0716409,1.0973966,22.2549284,16.7554049,46.9074525,17.1557835,34.8602355,64.1408142,32.5318709,43.2461964,21.6272986,3.0968758,14.9466791,12.242572,42.8630595,13.1968053,1.1408928,1.1408928,23.0441801,17.999101,47.8436935,16.9782764,34.4616673,63.442726,31.6379935,42.1160543,20.5411585,3.2239059,14.5372566,11.4399657,42.9122207,12.7001771,0.9720532,0.8993471,22.9825081,18.5456376,48.340714,17.0373325,34.2817716,63.7313849,30.809193,41.1715486,20.281859,3.0095148,12.8952393,10.7659078,42.4847475,12.4216921,1.0271754,0.9558035,23.2718277,18.670746,49.2607303,17.2226818,34.9560156,64.3235111,30.8692875,41.2379537,20.4361487,3.2174925,12.9802866,10.4249167,42.6700734,13.1727432 +759,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.582505,0.5895027,7.8788898,4.7674776,66.0956661,20.7903268,32.2292862,69.048348,30.5144817,42.4847912,14.3073205,6.2037399,11.0253452,10.2046767,33.4885779,2.5337795,0.5877171,0.6106894,8.0965474,4.8442311,62.6479205,21.0894942,32.0997862,69.2081783,30.6884658,42.18581,14.4750276,5.9035941,10.6848742,9.8792571,33.3440339,2.3297449,0.5803641,0.5990903,8.3623159,5.0591105,59.7193008,20.8333726,31.8868106,70.0807517,31.7111787,43.0604049,14.3534859,5.9557085,10.4628733,9.052258,32.6244024,1.717554,0.8296278,0.8566858,8.7587517,5.1573457,57.2122403,20.4834745,32.9012557,70.507774,31.6583786,44.4069287,14.5774344,5.735072,10.5932288,9.2423041,32.3414237,1.7716501,0.8564,0.8730339,8.5658165,5.096568,55.1386456,20.777629,32.8050834,70.2913744,31.8579093,44.1711908,14.7358978,6.101987,10.7024863,8.8704054,31.9880294,2.3504223 +760,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7679217,0.7525835,8.4280102,5.7652157,31.4351832,17.2007026,34.5047921,70.5657505,38.8535605,50.7869721,21.8042769,4.8376816,9.8211811,8.6304363,28.611491,3.5714286,0.7008483,0.6850309,8.6435019,5.9713466,30.4239933,16.5790833,34.0141592,70.2994707,39.3875205,51.0972773,21.5995248,4.9532869,9.3774032,8.7969,27.5373251,3.0172388,0.7122985,0.706359,8.8934814,6.3273846,28.9811162,16.370141,32.9684717,69.8442897,38.8317222,50.7818135,21.2507419,5.0985831,9.2148305,8.6898011,27.9223279,1.3761443,0.6440498,0.636589,8.7660702,5.9635669,27.99667,17.0507773,33.3375198,69.7323541,39.1446404,51.9234889,21.3909489,5.4871261,9.0203763,8.0017347,28.0035258,0.4545446,0.678804,0.6803638,8.7776633,5.794573,27.6272825,17.13065,32.2767023,69.4641123,38.4870027,51.4088356,21.3081657,5.7682479,8.6513837,7.6728141,27.8794032,0.4807683 +761,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3583132,1.3982869,23.4446332,19.5532363,45.6380019,14.5273871,40.715641,65.0049247,34.2998187,48.03381,22.9014398,3.7234305,12.2980601,9.0785717,32.213668,17.7782385,1.248667,1.2883794,24.2026185,20.4161266,45.4994581,14.5522846,42.1099792,64.1408877,34.3344551,48.4685681,23.8662999,3.8208815,12.3459974,9.0787505,31.9956539,16.4736455,1.1107375,1.1905957,24.6112608,21.0003859,45.7813992,14.8246262,42.3747722,64.9276758,34.8962825,48.3671328,24.3300079,4.0910093,12.4911207,9.3155039,29.3255229,17.9951236,1.1909336,1.2518661,25.3839997,21.6068541,46.9189818,14.0947926,41.2142795,65.4894284,34.3045559,47.3967178,23.3214463,3.4522795,12.7737358,9.3201722,28.5822747,18.9387118,1.2285396,1.2698779,25.4616985,21.4087587,48.2262928,13.8223932,41.3281064,65.55875,34.0325901,46.6830405,23.5947958,3.6482535,13.0950884,9.4141288,27.6607599,20.5820741 +762,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5572206,0.6379214,10.2845341,5.948455,54.0861561,17.4613539,34.0340266,68.47169,37.2076921,44.8913498,22.3690957,3.8557682,8.8670366,8.9775877,35.6531341,8.8362793,0.6354071,0.7001146,9.9105194,6.0059294,53.9524394,17.3606945,33.7741786,68.7588432,38.2270426,44.8788085,22.9195596,3.993811,9.3881103,9.078969,35.9248278,8.1934081,0.7542222,0.8024138,9.8914145,6.0107768,53.5859676,17.6788352,32.8348282,68.5072689,38.0066276,44.9117088,22.826347,4.1793908,10.0627782,9.3831341,36.6049821,6.8586256,0.704339,0.7489925,9.3025971,5.6641844,53.1062282,17.1392282,32.5071399,67.861307,37.9460719,44.5181354,22.8470034,3.9234186,10.2965103,9.5451853,36.2056097,6.3983226,0.6813489,0.7096858,9.0533896,5.443342,52.590317,16.9162247,32.6409425,67.8531258,38.5965148,45.0752349,22.8209392,3.9075054,10.338281,9.1430551,34.9749941,6.5855972 +763,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5877171,0.6106894,8.0965474,4.8442311,62.6479205,21.0894942,32.0997862,69.2081783,30.6884658,42.18581,14.4750276,5.9035941,10.6848742,9.8792571,33.3440339,2.3297449,0.5803641,0.5990903,8.3623159,5.0591105,59.7193008,20.8333726,31.8868106,70.0807517,31.7111787,43.0604049,14.3534859,5.9557085,10.4628733,9.052258,32.6244024,1.717554,0.8296278,0.8566858,8.7587517,5.1573457,57.2122403,20.4834745,32.9012557,70.507774,31.6583786,44.4069287,14.5774344,5.735072,10.5932288,9.2423041,32.3414237,1.7716501,0.8564,0.8730339,8.5658165,5.096568,55.1386456,20.777629,32.8050834,70.2913744,31.8579093,44.1711908,14.7358978,6.101987,10.7024863,8.8704054,31.9880294,2.3504223,0.8401842,0.842943,8.5790403,5.3818713,53.9212188,21.4722976,32.916208,70.0579977,32.4084106,44.5230422,15.6148066,6.329332,10.8724762,9.3770461,31.8363424,2.3305085 +764,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5803641,0.5990903,8.3623159,5.0591105,59.7193008,20.8333726,31.8868106,70.0807517,31.7111787,43.0604049,14.3534859,5.9557085,10.4628733,9.052258,32.6244024,1.717554,0.8296278,0.8566858,8.7587517,5.1573457,57.2122403,20.4834745,32.9012557,70.507774,31.6583786,44.4069287,14.5774344,5.735072,10.5932288,9.2423041,32.3414237,1.7716501,0.8564,0.8730339,8.5658165,5.096568,55.1386456,20.777629,32.8050834,70.2913744,31.8579093,44.1711908,14.7358978,6.101987,10.7024863,8.8704054,31.9880294,2.3504223,0.8401842,0.842943,8.5790403,5.3818713,53.9212188,21.4722976,32.916208,70.0579977,32.4084106,44.5230422,15.6148066,6.329332,10.8724762,9.3770461,31.8363424,2.3305085,0.8004182,0.8031826,8.0207074,5.0196409,51.6905613,21.0327475,32.9887383,70.6383323,32.9161958,44.9582872,16.0863176,6.3293332,10.3662941,9.0819464,31.2582942,1.8218587 +765,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6354071,0.7001146,9.9105194,6.0059294,53.9524394,17.3606945,33.7741786,68.7588432,38.2270426,44.8788085,22.9195596,3.993811,9.3881103,9.078969,35.9248278,8.1934081,0.7542222,0.8024138,9.8914145,6.0107768,53.5859676,17.6788352,32.8348282,68.5072689,38.0066276,44.9117088,22.826347,4.1793908,10.0627782,9.3831341,36.6049821,6.8586256,0.704339,0.7489925,9.3025971,5.6641844,53.1062282,17.1392282,32.5071399,67.861307,37.9460719,44.5181354,22.8470034,3.9234186,10.2965103,9.5451853,36.2056097,6.3983226,0.6813489,0.7096858,9.0533896,5.443342,52.590317,16.9162247,32.6409425,67.8531258,38.5965148,45.0752349,22.8209392,3.9075054,10.338281,9.1430551,34.9749941,6.5855972,0.690509,0.6841146,9.1027219,5.5667311,51.4222021,17.5904046,32.6711615,68.4942652,38.4073223,46.1753146,23.1102122,3.9885467,10.0800334,9.4571025,34.5351164,5.750207 +766,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.276286,0.2986095,7.0676445,4.3873659,66.1024958,16.1275419,31.1350132,65.1543524,32.1016459,41.050823,17.539754,8.0916775,9.5712578,7.5408857,38.5245911,2.7696801,0.2502597,0.2799447,6.9681389,4.3611216,66.0895805,16.4190657,31.0069,65.4485629,31.5715113,40.3230892,16.5777917,7.7948586,9.542446,8.0060437,39.7761597,3.2208599,0.3909765,0.4109366,6.9302206,4.4014103,65.5254039,16.6204554,31.4058604,65.5704535,31.5305425,39.4794212,16.6926424,8.1203282,9.5082961,7.872848,38.7298721,2.8273818,0.3253006,0.3381284,6.9622244,4.4654276,65.267299,16.7947143,31.7586573,65.3102654,30.979109,39.2734664,16.6043025,8.1228606,9.1474272,8.1008926,38.7067875,2.21239,0.3274653,0.3404975,6.8531201,4.3016013,64.058018,16.604535,32.0549278,65.2620027,31.076392,39.2203292,16.7771455,8.285989,9.1045695,8.4689592,38.966134,2.2388066 +767,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7805275,0.8195058,11.5401464,7.6558664,43.5681834,20.2545124,34.9786253,70.1681058,38.1609327,47.4266555,23.28049,2.737659,11.6489722,9.7635607,35.4116576,6.1979834,0.715693,0.7560094,11.9349663,8.0273407,43.502759,20.3115813,34.4548678,70.0965192,37.8450395,46.6106273,23.1720948,2.736249,11.5696121,9.5086313,36.4101794,5.7014043,0.646938,0.6891284,11.5573422,7.9103248,42.8682137,20.4359939,34.0870352,70.741658,39.018877,46.7466976,23.6656829,2.8217329,11.2747021,8.9300968,36.9713834,5.1883317,0.5532345,0.5969303,11.0291479,7.8708129,42.0478657,21.0427963,34.952258,71.717105,39.9423255,47.558394,24.7112811,2.5474584,10.2574465,8.3829659,35.8507009,5.1398459,0.6336298,0.6461959,10.8813614,7.9260286,41.3725274,21.1548641,34.5217268,71.8350746,40.3263442,47.1259188,25.1244173,2.4601436,9.792616,7.6325357,35.4689202,7.2810515 +768,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7008483,0.6850309,8.6435019,5.9713466,30.4239933,16.5790833,34.0141592,70.2994707,39.3875205,51.0972773,21.5995248,4.9532869,9.3774032,8.7969,27.5373251,3.0172388,0.7122985,0.706359,8.8934814,6.3273846,28.9811162,16.370141,32.9684717,69.8442897,38.8317222,50.7818135,21.2507419,5.0985831,9.2148305,8.6898011,27.9223279,1.3761443,0.6440498,0.636589,8.7660702,5.9635669,27.99667,17.0507773,33.3375198,69.7323541,39.1446404,51.9234889,21.3909489,5.4871261,9.0203763,8.0017347,28.0035258,0.4545446,0.678804,0.6803638,8.7776633,5.794573,27.6272825,17.13065,32.2767023,69.4641123,38.4870027,51.4088356,21.3081657,5.7682479,8.6513837,7.6728141,27.8794032,0.4807683,0.5855011,0.5871199,9.1079889,6.0126374,26.6068556,16.9831225,32.3269365,69.3705018,38.9740431,52.4157482,21.7059671,5.817231,8.5790583,7.2655768,28.6693155,1.4423049 +769,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0336571,1.015376,12.4336372,8.0978946,52.3101196,19.0294008,37.8267025,67.7414544,37.9971823,49.7017733,22.2584883,3.0539685,12.1930792,11.6348425,34.2205352,8.937211,1.208609,1.2165349,12.7759717,8.305034,51.3564294,18.7195533,38.243696,68.1948254,39.1061211,49.2526869,22.348358,3.2049348,12.5891099,11.7534073,34.0783175,7.9545563,1.1453143,1.1534465,12.0725494,7.6956526,49.7454748,18.3166693,38.1422974,68.4435312,38.7035372,49.3650612,22.4896506,3.3815645,12.4435356,11.0202757,34.5913298,7.9710222,1.0796454,1.1146664,11.5341238,7.5696612,48.0837426,19.2161897,38.2937802,68.8761383,38.5865278,49.0928223,22.8123965,3.2630925,11.842819,10.982484,34.2897239,8.1280828,0.9938276,1.0348779,11.4590148,7.46942,47.835904,19.2672739,38.0363236,69.5619292,39.0197196,49.5977969,23.4058336,3.3224046,11.2434351,11.0046356,34.5300021,7.2500109 +770,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6285162,0.5742435,10.3889208,6.5419554,66.7797133,13.0652661,31.5046559,67.6331247,33.6818212,44.0504481,18.333693,3.265791,10.8377292,9.5636252,34.8670729,7.6149691,0.6594706,0.6054644,10.4947317,6.5789444,65.6672661,13.0707059,31.7683955,67.7374367,34.1748901,44.7679536,18.8547354,3.3626988,10.8678089,9.7624798,35.0625601,7.7485673,0.624822,0.5905016,10.3634001,6.708216,64.5494155,12.8516969,32.3951248,68.225602,34.7067566,45.8369069,19.1245582,3.3711465,10.7498905,9.6922418,35.0260811,8.2172958,0.5967948,0.6016948,10.2707769,6.7801957,62.8469284,13.0761067,32.2818715,68.9585093,35.7035855,46.0757077,19.4931385,3.3682603,10.091918,8.8235225,34.0899696,8.9181475,0.5549321,0.5403577,10.4407096,6.8730335,61.6713057,13.1496231,31.5928871,68.6824779,35.9987177,46.1237046,19.6886021,3.1243352,9.8113875,8.6213792,33.2996814,8.944303 +771,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0716409,1.0973966,22.2549284,16.7554049,46.9074525,17.1557835,34.8602355,64.1408142,32.5318709,43.2461964,21.6272986,3.0968758,14.9466791,12.242572,42.8630595,13.1968053,1.1408928,1.1408928,23.0441801,17.999101,47.8436935,16.9782764,34.4616673,63.442726,31.6379935,42.1160543,20.5411585,3.2239059,14.5372566,11.4399657,42.9122207,12.7001771,0.9720532,0.8993471,22.9825081,18.5456376,48.340714,17.0373325,34.2817716,63.7313849,30.809193,41.1715486,20.281859,3.0095148,12.8952393,10.7659078,42.4847475,12.4216921,1.0271754,0.9558035,23.2718277,18.670746,49.2607303,17.2226818,34.9560156,64.3235111,30.8692875,41.2379537,20.4361487,3.2174925,12.9802866,10.4249167,42.6700734,13.1727432,1.1607459,1.1607459,25.0267604,20.2313718,49.5552741,17.6475641,35.09486,64.1051008,30.9397997,41.4138801,20.5227904,3.2238822,13.2123369,10.4561268,43.5390417,14.1691908 +772,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.534188,0.506617,6.9469424,4.0242806,71.1624776,19.5181256,31.4088275,65.7824342,30.962996,43.357111,15.4926438,4.3894831,9.1986917,9.1468417,35.2674897,4.3981481,0.6649902,0.6230791,7.3542805,4.2577413,70.2511416,18.6208446,32.4660633,65.9049774,31.1538462,43.0090498,15.678733,4.4097693,9.3956954,9.5099668,36.1319967,4.0865385,0.5050722,0.4622089,7.3945294,4.659249,68.4297132,18.4356253,33.2172702,66.2256267,30.7567317,42.1773445,15.90065,4.3871866,9.5670996,9.4347826,37.3140857,4.2288557,0.3831336,0.3831336,7.1230982,4.5873675,67.1736079,18.067034,33.4485938,67.0124481,31.373905,42.208391,16.2978331,4.5873675,9.3133047,8.2256675,36.2651646,3.3333333,0.4094203,0.4094203,7.3632539,4.8387097,65.2929967,18.379262,33.5288597,67.0811825,31.557954,42.1633036,16.4007508,4.4345378,9.4315245,8.0882353,37.1515679,2.9100529 +773,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.5792208,0.5846087,11.027934,6.8848953,66.9086939,9.7925367,33.7093698,66.2163276,39.3917982,44.173639,23.3286826,4.1736297,10.2086194,8.9240828,39.5957417,4.5887935,0.5792187,0.5811135,11.0389484,6.9069291,66.2789118,10.1572285,33.6092994,66.0580544,39.842244,44.2984353,23.4969428,4.1072835,10.4911736,8.8319151,39.3606199,4.8619419,0.6036753,0.6182527,10.974114,6.8839833,65.6353352,10.2416652,33.6200408,66.1671836,40.2304018,44.4192464,23.5594757,4.1934691,10.6798578,8.992466,39.9982643,5.0815539,0.636724,0.6478695,11.2491533,6.9899118,65.0908271,10.2612807,33.5532582,66.1097088,40.2548885,44.308019,23.514802,4.1709068,10.972524,8.9870638,39.8827161,5.2597389,0.6294176,0.6452574,11.0346559,6.9200463,64.0764614,10.1927857,34.1050789,66.2225143,40.1611219,44.3229682,23.7149349,4.2144216,11.1644951,9.2734042,40.7647999,4.7270287 +774,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1628494,1.1475224,19.4438592,15.039112,35.2083565,19.7655337,36.0776083,67.6519704,37.9343129,48.4587307,22.341304,4.165883,12.515605,9.9446646,31.6826532,16.8877904,1.2187922,1.1620739,18.7954884,14.6390101,35.369744,19.2955762,36.8866302,68.7490307,38.737463,49.1361843,23.2335827,4.4197062,11.4699645,9.8032207,31.0560617,14.8599685,1.2126174,1.1612934,19.1589815,15.200805,36.2137833,18.9390198,38.4667085,68.4489144,38.5250765,48.3994256,23.2620653,4.2933689,11.6060032,10.0571374,31.5246016,15.0664815,1.2946207,1.2431836,19.4745041,15.3734528,36.5945568,18.7519101,38.4281016,68.5455043,38.2495752,48.0558692,23.3745282,4.510769,11.4900756,9.6237457,30.4928187,15.5935508,1.1186748,1.093225,19.8829777,15.7913093,36.4102606,18.8802395,38.7034192,68.3740738,38.6627284,47.7501572,24.3265292,4.4870645,11.3731658,8.8834335,30.2192362,15.4964527 +775,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0196523,1.1467943,21.9933153,17.5800335,35.0968996,15.4422549,36.7402153,66.7402741,34.8774811,50.563781,25.1226365,6.0049843,16.3524607,12.0169379,36.1953635,14.6037869,1.1170146,1.1900228,22.4883582,17.6046645,34.2179959,14.935836,37.0657442,66.4084146,34.389703,50.0235304,24.8124048,5.6573578,16.1304791,12.6262348,36.6111839,14.5931339,1.0741617,1.1265174,22.735992,17.9944353,35.8050956,14.7564107,37.5782518,66.1770274,33.3412806,49.9036501,25.8789838,5.801719,15.5690736,12.2649823,35.3909803,13.2848701,1.1215801,1.1700604,22.8890657,18.2401411,36.8742439,14.1405762,38.5151011,66.2901324,32.8927277,50,26.2616924,5.5502932,16.1002116,12.5944805,36.4109639,12.9266779,1.0446021,1.0922308,22.6721033,17.8990998,37.7696619,13.8177225,38.131724,66.6094409,33.3334995,50.2305523,25.7964177,5.4820525,16.132172,12.6558725,35.8052035,13.2220026 +776,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5628929,0.5400065,12.6431751,7.7238294,59.4918192,19.3645753,33.2801848,68.3568036,36.0500361,46.5566675,20.6880167,3.0431129,11.933554,12.3692674,38.0561421,4.4725386,0.6175943,0.645172,12.5971791,7.3973625,58.4072865,20.7966512,34.0851099,69.1005097,36.153271,46.9640684,21.3426687,3.5786439,11.7337928,11.6020823,37.3027898,4.2933245,0.6312348,0.6591664,13.2519758,7.6987226,57.6431049,21.1004812,33.6014967,69.3736381,35.9606898,47.693821,21.2399743,3.540847,12.8547239,12.481197,37.3210983,3.8762024,0.6004937,0.6459455,13.3550419,7.6767162,56.0911978,21.252568,33.1107925,69.2123485,34.8975622,48.2032322,21.5795032,3.4002935,13.3614899,12.4703332,37.7225783,3.2798675,0.7088874,0.7542911,13.5006683,7.8063239,54.9609625,21.5861469,33.7472407,69.3249367,35.611827,48.6163163,22.0897747,3.4720283,13.2783566,12.1615802,37.9100094,3.5579436 +777,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5276396,0.5334868,8.204139,5.3684175,83.8027259,7.625481,27.5796219,62.3436389,28.2653147,38.1657677,14.0387333,5.2737577,10.6949615,9.4319052,37.1549229,3.1028995,0.535871,0.5479874,7.97297,5.2733558,83.4627434,7.6703024,27.1711091,62.3769315,28.171348,37.984024,13.7717414,5.4774183,10.5732841,9.3613856,37.2386251,3.7109291,0.603249,0.608559,7.6753004,5.167169,83.3601624,7.6107429,26.8623049,62.488663,28.0965462,37.9760922,14.0196707,5.5335217,10.7122713,9.4397289,37.28818,3.678789,0.6070456,0.6040324,7.5610083,5.0730521,83.4223189,7.7714597,26.7775631,62.7133894,28.3697678,38.0520395,14.0642591,5.6750119,10.6587853,9.2460507,37.5106706,4.1436369,0.5610541,0.5621352,7.4956957,5.0995472,83.2260259,7.6157575,26.8310269,62.7637726,28.4520088,38.023767,14.4151978,5.4927517,10.0889809,8.7802716,37.6454464,4.2202474 +778,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7417489,0.7643831,10.7618935,6.8857678,57.0290028,8.7513805,29.9705228,69.8871709,40.6739148,42.0867983,20.568202,4.4267123,9.9734272,8.5342716,37.0967728,5.1461245,0.7259609,0.7472461,10.6832206,6.8269939,56.8916691,8.8890009,29.725104,69.7251034,40.5238552,42.7126488,20.7520708,4.4450208,9.6421632,8.6060026,37.3420153,4.8324742,0.6964773,0.7282001,10.4052594,6.8368413,56.6391855,9.0782239,29.5226633,69.7252999,40.3645239,42.7981954,20.7906764,4.5801119,9.8511164,8.6463988,36.1170512,4.7712418,0.6765922,0.7031996,10.3519736,6.8321969,55.4556142,9.0583068,29.5072452,69.6732517,40.1292236,43.0920298,20.8079344,4.7331362,9.7059916,8.7300044,36.2487739,5.0836544,0.6258955,0.6484772,9.8964342,6.6310872,54.7487575,9.1357608,29.1281977,69.2352077,39.9653766,42.3992803,20.850811,4.5373468,9.8314572,8.8126704,36.6184777,5.421686 +779,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4584387,0.4976501,8.0336723,4.8784969,54.6935194,15.1844274,33.5913522,67.2943417,34.4900195,44.7679653,19.3205719,3.7907736,9.9722017,8.9964503,34.2424762,2.5251982,0.408717,0.419984,7.8944685,4.7691426,54.3334866,15.4877943,33.3769981,67.6040747,35.0898166,44.798462,19.4330152,4.042396,10.3954257,9.2731339,34.4274536,2.9431293,0.451545,0.470051,8.2556,5.1621795,53.4829046,15.8982211,33.6466513,67.8590278,35.7879039,44.7943846,19.7147706,4.3707149,10.2183394,9.2431284,35.0815807,3.714059,0.4569045,0.4761135,8.1375055,5.1039844,52.6038474,16.2738099,33.7604871,68.108834,36.0530155,45.2301906,20.4964567,4.6752694,10.2740004,8.6043336,34.8931892,4.563101,0.4502987,0.473325,8.1008672,5.1280553,51.6693602,16.7099433,33.3541244,68.3510552,35.5150094,45.4704104,20.2817732,4.6634473,10.8765104,8.8918879,34.3175214,5.246726 +780,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.1170146,1.1900228,22.4883582,17.6046645,34.2179959,14.935836,37.0657442,66.4084146,34.389703,50.0235304,24.8124048,5.6573578,16.1304791,12.6262348,36.6111839,14.5931339,1.0741617,1.1265174,22.735992,17.9944353,35.8050956,14.7564107,37.5782518,66.1770274,33.3412806,49.9036501,25.8789838,5.801719,15.5690736,12.2649823,35.3909803,13.2848701,1.1215801,1.1700604,22.8890657,18.2401411,36.8742439,14.1405762,38.5151011,66.2901324,32.8927277,50,26.2616924,5.5502932,16.1002116,12.5944805,36.4109639,12.9266779,1.0446021,1.0922308,22.6721033,17.8990998,37.7696619,13.8177225,38.131724,66.6094409,33.3334995,50.2305523,25.7964177,5.4820525,16.132172,12.6558725,35.8052035,13.2220026,1.1293626,1.1313384,23.2302293,18.0472825,39.2783976,13.6431441,38.7176103,66.3524814,33.1094934,49.9205824,25.1207883,5.1964836,15.2340893,12.5929497,33.7654735,10.564269 +781,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.5792187,0.5811135,11.0389484,6.9069291,66.2789118,10.1572285,33.6092994,66.0580544,39.842244,44.2984353,23.4969428,4.1072835,10.4911736,8.8319151,39.3606199,4.8619419,0.6036753,0.6182527,10.974114,6.8839833,65.6353352,10.2416652,33.6200408,66.1671836,40.2304018,44.4192464,23.5594757,4.1934691,10.6798578,8.992466,39.9982643,5.0815539,0.636724,0.6478695,11.2491533,6.9899118,65.0908271,10.2612807,33.5532582,66.1097088,40.2548885,44.308019,23.514802,4.1709068,10.972524,8.9870638,39.8827161,5.2597389,0.6294176,0.6452574,11.0346559,6.9200463,64.0764614,10.1927857,34.1050789,66.2225143,40.1611219,44.3229682,23.7149349,4.2144216,11.1644951,9.2734042,40.7647999,4.7270287,0.6264076,0.6467658,10.774445,6.8626063,63.6098338,10.0232795,33.9142551,66.2710039,40.7685119,44.4271397,23.8631719,4.2215445,11.0673286,9.2038143,40.8295481,5.2666639 +782,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.4557582,0.3940289,11.9078118,9.4078397,51.1487348,31.5059155,28.6568403,70.1460662,31.5822859,41.1570397,17.0877727,5.1197625,14.498649,11.8207412,32.6502146,5.803701,0.492051,0.4309254,12.044248,9.5703194,52.0134203,31.782327,28.5620428,70.118544,31.859982,41.2270767,16.9524999,6.0027296,13.9188556,11.4865221,33.7432666,6.4656566,0.4110617,0.3906616,12.8422712,10.6258813,52.3256132,32.8247722,28.0831512,70.7103312,34.2490516,40.6839234,16.6890307,5.2949771,12.2690435,10.9498951,33.2002203,7.6614139,0.3481571,0.3887585,12.6132857,10.4140995,52.5135532,31.9443379,27.2059118,70.6548884,34.0238506,40.7086993,15.9759489,5.2808193,11.9622736,11.4247657,34.1034988,7.5398022,0.468819,0.5093217,12.7401678,10.9476364,53.1292581,31.5474864,29.5180461,70.3479495,33.400157,41.2985841,16.6667448,5.8233003,12.7747458,11.4011025,33.3796405,7.1970515 +783,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.715693,0.7560094,11.9349663,8.0273407,43.502759,20.3115813,34.4548678,70.0965192,37.8450395,46.6106273,23.1720948,2.736249,11.5696121,9.5086313,36.4101794,5.7014043,0.646938,0.6891284,11.5573422,7.9103248,42.8682137,20.4359939,34.0870352,70.741658,39.018877,46.7466976,23.6656829,2.8217329,11.2747021,8.9300968,36.9713834,5.1883317,0.5532345,0.5969303,11.0291479,7.8708129,42.0478657,21.0427963,34.952258,71.717105,39.9423255,47.558394,24.7112811,2.5474584,10.2574465,8.3829659,35.8507009,5.1398459,0.6336298,0.6461959,10.8813614,7.9260286,41.3725274,21.1548641,34.5217268,71.8350746,40.3263442,47.1259188,25.1244173,2.4601436,9.792616,7.6325357,35.4689202,7.2810515,0.6470363,0.6603943,11.4087291,8.132963,40.2320985,21.258807,35.2024954,72.6069263,41.1925341,47.4166689,26.1007887,2.378312,9.2821854,7.2571869,35.3313183,8.3329003 +784,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4916863,0.4772325,7.3464459,4.7165146,21.5713845,17.4282987,32.5692762,69.2945173,37.8775044,51.4959982,20.8104807,4.5147874,9.7640908,8.9944592,26.7539842,5.4091586,0.5521616,0.5375304,7.5012891,4.8465839,22.0195648,17.7786936,32.090209,68.9204268,36.1971923,51.3627993,20.9180834,4.2687648,9.5444001,9.2925715,27.1044806,5.3564837,0.657678,0.6566624,8.038617,5.1718099,20.4474992,18.3488093,31.6715584,69.8528896,37.1772376,51.8589631,21.4698612,4.5351793,9.3845236,8.9586486,26.6637139,5.2044202,0.5812766,0.5561169,7.6037698,4.7981049,19.383706,19.1380962,32.6044187,70.4142158,38.2374427,53.0750481,21.8558565,4.7051048,9.0724771,8.9947177,25.4535391,5.0146153,0.54596,0.5263066,7.8513032,4.7333699,19.3714707,19.5309264,31.9440159,70.8404717,38.4255758,53.1123558,21.722074,4.856794,8.8531922,8.9440294,25.1701663,4.6737112 +785,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1408928,1.1408928,23.0441801,17.999101,47.8436935,16.9782764,34.4616673,63.442726,31.6379935,42.1160543,20.5411585,3.2239059,14.5372566,11.4399657,42.9122207,12.7001771,0.9720532,0.8993471,22.9825081,18.5456376,48.340714,17.0373325,34.2817716,63.7313849,30.809193,41.1715486,20.281859,3.0095148,12.8952393,10.7659078,42.4847475,12.4216921,1.0271754,0.9558035,23.2718277,18.670746,49.2607303,17.2226818,34.9560156,64.3235111,30.8692875,41.2379537,20.4361487,3.2174925,12.9802866,10.4249167,42.6700734,13.1727432,1.1607459,1.1607459,25.0267604,20.2313718,49.5552741,17.6475641,35.09486,64.1051008,30.9397997,41.4138801,20.5227904,3.2238822,13.2123369,10.4561268,43.5390417,14.1691908,1.3565825,1.3613964,27.0494629,21.5275065,50.116475,17.4567261,35.0133763,63.6428056,30.7594975,41.0377532,20.7218404,3.5089935,13.8023814,10.3276253,43.6435365,17.8934977 +786,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6718096,0.6748825,10.1768941,6.6489144,59.5843232,12.5808965,29.0723352,67.2331947,37.3350473,43.9255465,19.8783344,4.7785898,10.087948,8.3594328,32.4074919,4.1129458,0.686355,0.6894317,9.9094023,6.5703495,58.9205629,12.9127068,29.1521032,67.8272584,37.8232315,43.9799119,20.0489037,5.241249,10.7933253,8.5165675,33.6253827,5.0421303,0.6803773,0.6843917,9.6487926,6.5769415,58.6335538,12.8988564,29.1876068,68.1802974,38.6127952,44.2175288,20.5353006,5.5562526,10.2688788,9.0527899,33.450555,5.2017793,0.6867091,0.6907601,9.4984088,6.5887434,58.2019696,12.6860538,28.7320496,67.7987296,38.7289837,43.513626,20.2532017,5.1982704,10.5224643,9.2380236,34.1561964,4.9333133,0.5967688,0.5897148,9.4067402,6.8667401,57.2044691,12.8022327,29.008031,68.0355487,38.68305,43.5193636,19.9729895,5.2544086,10.6275877,9.3426138,33.8657603,6.2287042 +787,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8296278,0.8566858,8.7587517,5.1573457,57.2122403,20.4834745,32.9012557,70.507774,31.6583786,44.4069287,14.5774344,5.735072,10.5932288,9.2423041,32.3414237,1.7716501,0.8564,0.8730339,8.5658165,5.096568,55.1386456,20.777629,32.8050834,70.2913744,31.8579093,44.1711908,14.7358978,6.101987,10.7024863,8.8704054,31.9880294,2.3504223,0.8401842,0.842943,8.5790403,5.3818713,53.9212188,21.4722976,32.916208,70.0579977,32.4084106,44.5230422,15.6148066,6.329332,10.8724762,9.3770461,31.8363424,2.3305085,0.8004182,0.8031826,8.0207074,5.0196409,51.6905613,21.0327475,32.9887383,70.6383323,32.9161958,44.9582872,16.0863176,6.3293332,10.3662941,9.0819464,31.2582942,1.8218587,0.6584249,0.6611884,8.0506818,5.0517582,49.6877209,20.945741,32.468241,70.7622256,33.4119599,45.5354066,16.6061798,6.4428207,10.3164265,9.5379349,31.6887781,1.7441827 +788,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.492051,0.4309254,12.044248,9.5703194,52.0134203,31.782327,28.5620428,70.118544,31.859982,41.2270767,16.9524999,6.0027296,13.9188556,11.4865221,33.7432666,6.4656566,0.4110617,0.3906616,12.8422712,10.6258813,52.3256132,32.8247722,28.0831512,70.7103312,34.2490516,40.6839234,16.6890307,5.2949771,12.2690435,10.9498951,33.2002203,7.6614139,0.3481571,0.3887585,12.6132857,10.4140995,52.5135532,31.9443379,27.2059118,70.6548884,34.0238506,40.7086993,15.9759489,5.2808193,11.9622736,11.4247657,34.1034988,7.5398022,0.468819,0.5093217,12.7401678,10.9476364,53.1292581,31.5474864,29.5180461,70.3479495,33.400157,41.2985841,16.6667448,5.8233003,12.7747458,11.4011025,33.3796405,7.1970515,0.5416421,0.58142,13.0027168,11.2438952,53.4804441,31.8357839,32.3412541,70.0396038,33.7962375,40.9392742,15.5423763,6.0184818,11.8529186,10.4903622,32.1917621,6.1151739 +789,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5743548,0.5755474,9.686558,6.1683598,64.7678787,18.8896791,32.4024258,66.0505498,34.4448461,46.5116271,19.7481067,5.5770198,10.3492833,8.7393709,34.5768907,6.4024338,0.5684906,0.5733284,9.8971801,6.2061741,64.4327679,18.3829775,33.1318491,66.5386447,33.9638343,45.8577131,19.1984606,5.609579,9.7948286,8.7208787,34.4242838,6.7021234,0.6245425,0.6294858,9.8361602,6.4010545,63.2639216,17.9961233,32.9345404,66.3590983,33.5931205,45.7940677,19.064344,5.9319054,9.7756277,8.6421114,33.5315158,6.5265472,0.546231,0.5699404,9.7914649,6.3111212,62.0741289,17.8104703,33.1624787,66.6261481,33.6018754,45.9595473,19.4718328,6.0568835,9.8352524,8.9950584,33.78895,5.6503186,0.5347036,0.5435647,9.2706826,6.0963461,61.0625326,17.3274783,32.8683353,66.7520721,33.9249942,45.9731342,19.7807851,6.0983402,9.559901,8.5531924,32.8386292,4.5964115 +790,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6888882,0.6732919,9.1194075,6.4071024,52.9638848,9.8392009,31.5399176,67.9131954,33.3357988,45.8923571,18.4990819,2.8345998,10.668336,9.888907,30.6297357,7.9218989,0.7299443,0.7311553,9.0119567,6.2874915,51.3830443,9.8110778,31.8002663,68.0732432,33.8354579,46.6627903,18.9728045,3.0214472,10.9383336,10.1004826,30.7425996,8.2892554,0.76698,0.7535315,9.1030298,6.4287698,50.2668382,9.5391763,31.5827339,68.0344638,34.371868,46.4374864,18.7997464,2.9566343,10.5900826,9.8234821,29.9907139,7.599799,0.7430105,0.7293046,8.9360457,6.3193569,48.4715885,9.7324198,31.3209191,68.1277508,34.9674303,46.9446827,18.9545515,3.1199216,10.5994825,9.8472387,30.1104437,6.4984955,0.7475698,0.7488511,8.8513679,6.0613536,48.1045787,9.864845,31.4564563,67.9929896,35.2102131,47.9395972,19.0273727,3.1781777,10.5120822,9.660519,30.0894976,5.3946842 +791,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1337246,1.1364907,21.8887861,17.5409793,40.1529165,20.0930444,36.9290392,64.970607,37.5634939,48.190892,21.4183194,3.2790575,13.1134313,10.4138713,35.4361799,16.2856758,1.2375978,1.2605483,21.376842,17.3938557,40.8920674,20.5010139,37.1848371,66.0536145,37.9817761,47.5173017,21.0431905,3.5698,13.9725142,11.4789437,36.8307227,14.843669,1.2072496,1.2295591,21.3557084,17.4349143,41.9697679,20.5287218,37.653094,66.7166976,38.2141305,47.5580465,20.0923654,3.4818737,14.340445,11.7872516,36.9880318,16.0286354,1.1264147,1.1578489,21.1885131,17.0438112,43.880021,20.0611834,37.934903,66.8423592,37.0883454,46.7262014,19.549253,3.0642778,14.6270055,11.3579494,36.2068742,14.5088969,1.0626861,1.0896579,21.211635,17.4728874,45.8052828,20.341143,37.9008874,67.3009988,37.6130255,46.7871391,19.7598292,3.2555601,14.2446692,11.2161245,35.3788735,12.3481477 +792,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.4110617,0.3906616,12.8422712,10.6258813,52.3256132,32.8247722,28.0831512,70.7103312,34.2490516,40.6839234,16.6890307,5.2949771,12.2690435,10.9498951,33.2002203,7.6614139,0.3481571,0.3887585,12.6132857,10.4140995,52.5135532,31.9443379,27.2059118,70.6548884,34.0238506,40.7086993,15.9759489,5.2808193,11.9622736,11.4247657,34.1034988,7.5398022,0.468819,0.5093217,12.7401678,10.9476364,53.1292581,31.5474864,29.5180461,70.3479495,33.400157,41.2985841,16.6667448,5.8233003,12.7747458,11.4011025,33.3796405,7.1970515,0.5416421,0.58142,13.0027168,11.2438952,53.4804441,31.8357839,32.3412541,70.0396038,33.7962375,40.9392742,15.5423763,6.0184818,11.8529186,10.4903622,32.1917621,6.1151739,0.5150256,0.5548986,13.1117788,11.1042241,54.3939333,32.8792851,32.3452219,67.1277619,34.0578927,41.304365,15.0856401,6.2581852,11.4012555,11.6758472,31.4403247,5.8621094 +793,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9720532,0.8993471,22.9825081,18.5456376,48.340714,17.0373325,34.2817716,63.7313849,30.809193,41.1715486,20.281859,3.0095148,12.8952393,10.7659078,42.4847475,12.4216921,1.0271754,0.9558035,23.2718277,18.670746,49.2607303,17.2226818,34.9560156,64.3235111,30.8692875,41.2379537,20.4361487,3.2174925,12.9802866,10.4249167,42.6700734,13.1727432,1.1607459,1.1607459,25.0267604,20.2313718,49.5552741,17.6475641,35.09486,64.1051008,30.9397997,41.4138801,20.5227904,3.2238822,13.2123369,10.4561268,43.5390417,14.1691908,1.3565825,1.3613964,27.0494629,21.5275065,50.116475,17.4567261,35.0133763,63.6428056,30.7594975,41.0377532,20.7218404,3.5089935,13.8023814,10.3276253,43.6435365,17.8934977,1.3745066,1.3794385,28.2913021,22.7751365,50.5143309,17.2761302,35.0044061,62.9470471,30.4765252,40.6983794,20.7728462,3.096053,13.9138505,10.390637,44.8161187,21.4404546 +794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.9964134,1.0075836,12.7792804,8.9240804,29.8606026,16.6530812,34.3170053,67.46007,40.7557089,48.5817671,24.9513053,3.7222922,11.6330138,11.4885129,34.3480528,14.3564072,1.0356237,1.0179722,13.7191495,9.5447777,29.7703343,16.6455257,34.1448282,67.9847851,40.5837283,48.2003261,25.5790739,4.2355831,11.4819146,11.2445552,34.6510519,11.9047392,1.0758448,1.0694073,13.975928,9.6440775,28.6282243,16.8968561,34.4937772,68.182679,40.8183767,48.9835056,25.6800033,4.3146189,11.1157137,10.9909896,35.7461901,10.267848,1.0716416,1.0793508,14.4862501,10.2006472,27.7924601,16.5497156,33.8226422,67.8515326,40.9291548,49.2069002,25.6780881,4.1401758,11.1553293,10.2593175,36.5139725,9.2920272,0.7316553,0.739138,14.1027793,10.2467253,27.0572962,17.1096213,34.0860555,68.2405114,41.2877215,49.3622853,25.7017452,4.2360764,10.8765042,10.7322177,37.3679644,6.5788596 +795,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9834822,0.9950372,12.3410491,8.0621248,47.577237,15.3691138,35.7720255,69.6065888,38.3862221,49.2263798,26.8623837,4.3481344,11.450938,9.1860883,40.4320127,7.770265,0.8253023,0.8368517,11.7364237,7.7288609,47.4918235,15.1670369,34.4198693,69.1962177,37.5659157,48.3469686,26.4748012,4.3458151,10.66535,8.7050947,38.5214598,7.6665949,0.789795,0.801361,11.6021389,7.6568891,46.8587533,15.1126409,34.1938565,69.2826589,37.6266467,49.7049646,26.4164506,4.1032634,10.1006507,8.3145396,38.858286,7.9860417,0.8807146,0.8803125,12.0738368,8.1622231,46.4348554,15.4881029,34.129606,69.2165136,37.3233252,49.1338794,25.7934457,4.3034158,10.7421539,8.49888,40.0240869,7.5162745,0.7993485,0.809268,11.7463254,8.2836876,46.0019893,15.4716789,33.7486228,69.8699604,37.4891364,49.5481845,25.4859508,4.3825748,10.2667771,7.7449282,40.5485771,6.907838 +796,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6036753,0.6182527,10.974114,6.8839833,65.6353352,10.2416652,33.6200408,66.1671836,40.2304018,44.4192464,23.5594757,4.1934691,10.6798578,8.992466,39.9982643,5.0815539,0.636724,0.6478695,11.2491533,6.9899118,65.0908271,10.2612807,33.5532582,66.1097088,40.2548885,44.308019,23.514802,4.1709068,10.972524,8.9870638,39.8827161,5.2597389,0.6294176,0.6452574,11.0346559,6.9200463,64.0764614,10.1927857,34.1050789,66.2225143,40.1611219,44.3229682,23.7149349,4.2144216,11.1644951,9.2734042,40.7647999,4.7270287,0.6264076,0.6467658,10.774445,6.8626063,63.6098338,10.0232795,33.9142551,66.2710039,40.7685119,44.4271397,23.8631719,4.2215445,11.0673286,9.2038143,40.8295481,5.2666639,0.5951244,0.6385327,10.7430679,6.8507172,62.4937402,9.8145339,34.0559908,66.1123805,40.9103177,44.572257,24.0471174,4.3207855,11.147414,9.0646094,40.6792993,5.7744542 +797,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3585108,0.3716565,7.4721034,4.8153569,65.4637063,11.7435168,32.3681457,65.8295791,30.0092778,40.9024701,15.5115312,13.4177043,11.1345044,9.7612547,36.5600754,2.9878052,0.4083464,0.4103915,7.4265413,4.823563,64.1418266,11.8494413,32.2941832,66.2577117,30.4438215,41.1839684,15.7347854,13.6832921,11.1405534,9.3243964,36.7650771,2.5851201,0.5217344,0.5113632,7.5714318,4.9047641,63.9765697,11.6899712,32.1025474,65.9934749,30.3753614,41.0784759,15.4018817,13.6066895,10.6606287,9.0519525,37.2120442,2.952262,0.5205307,0.5039334,7.3659237,4.8133087,63.2032568,11.0909341,32.4414516,65.7747835,30.3853514,41.5645449,15.761169,13.4463502,10.8258125,9.0662242,37.8093257,3.2435748,0.5305149,0.5294745,7.3623413,4.9150238,62.5535199,10.9782486,32.3260596,65.4502092,30.6343802,41.3437921,15.7230584,13.5129603,10.7400759,9.0826909,37.714957,3.597561 +798,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.3481571,0.3887585,12.6132857,10.4140995,52.5135532,31.9443379,27.2059118,70.6548884,34.0238506,40.7086993,15.9759489,5.2808193,11.9622736,11.4247657,34.1034988,7.5398022,0.468819,0.5093217,12.7401678,10.9476364,53.1292581,31.5474864,29.5180461,70.3479495,33.400157,41.2985841,16.6667448,5.8233003,12.7747458,11.4011025,33.3796405,7.1970515,0.5416421,0.58142,13.0027168,11.2438952,53.4804441,31.8357839,32.3412541,70.0396038,33.7962375,40.9392742,15.5423763,6.0184818,11.8529186,10.4903622,32.1917621,6.1151739,0.5150256,0.5548986,13.1117788,11.1042241,54.3939333,32.8792851,32.3452219,67.1277619,34.0578927,41.304365,15.0856401,6.2581852,11.4012555,11.6758472,31.4403247,5.8621094,0.6551458,0.6944546,13.9233503,11.5718303,55.2149379,32.0836759,35.1612733,66.6452685,34.7743,42.5162164,15.1613765,6.6451266,12.0596648,11.7885226,33.4699019,5.7047363 +799,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2502597,0.2799447,6.9681389,4.3611216,66.0895805,16.4190657,31.0069,65.4485629,31.5715113,40.3230892,16.5777917,7.7948586,9.542446,8.0060437,39.7761597,3.2208599,0.3909765,0.4109366,6.9302206,4.4014103,65.5254039,16.6204554,31.4058604,65.5704535,31.5305425,39.4794212,16.6926424,8.1203282,9.5082961,7.872848,38.7298721,2.8273818,0.3253006,0.3381284,6.9622244,4.4654276,65.267299,16.7947143,31.7586573,65.3102654,30.979109,39.2734664,16.6043025,8.1228606,9.1474272,8.1008926,38.7067875,2.21239,0.3274653,0.3404975,6.8531201,4.3016013,64.058018,16.604535,32.0549278,65.2620027,31.076392,39.2203292,16.7771455,8.285989,9.1045695,8.4689592,38.966134,2.2388066,0.3378362,0.3509903,7.201983,4.519866,64.0291226,16.1570053,32.0993604,66.2980778,32.1955207,39.2788515,16.8429483,8.4775655,9.3329232,8.4355803,37.6771327,2.279636 +800,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2375978,1.2605483,21.376842,17.3938557,40.8920674,20.5010139,37.1848371,66.0536145,37.9817761,47.5173017,21.0431905,3.5698,13.9725142,11.4789437,36.8307227,14.843669,1.2072496,1.2295591,21.3557084,17.4349143,41.9697679,20.5287218,37.653094,66.7166976,38.2141305,47.5580465,20.0923654,3.4818737,14.340445,11.7872516,36.9880318,16.0286354,1.1264147,1.1578489,21.1885131,17.0438112,43.880021,20.0611834,37.934903,66.8423592,37.0883454,46.7262014,19.549253,3.0642778,14.6270055,11.3579494,36.2068742,14.5088969,1.0626861,1.0896579,21.211635,17.4728874,45.8052828,20.341143,37.9008874,67.3009988,37.6130255,46.7871391,19.7598292,3.2555601,14.2446692,11.2161245,35.3788735,12.3481477,1.1227648,1.1493366,21.2984761,17.3711335,47.0533653,20.6431385,37.9927736,66.980354,37.7910992,46.9343294,20.550726,3.2678704,14.3485201,11.3200118,35.7830815,11.7760118 +801,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0356237,1.0179722,13.7191495,9.5447777,29.7703343,16.6455257,34.1448282,67.9847851,40.5837283,48.2003261,25.5790739,4.2355831,11.4819146,11.2445552,34.6510519,11.9047392,1.0758448,1.0694073,13.975928,9.6440775,28.6282243,16.8968561,34.4937772,68.182679,40.8183767,48.9835056,25.6800033,4.3146189,11.1157137,10.9909896,35.7461901,10.267848,1.0716416,1.0793508,14.4862501,10.2006472,27.7924601,16.5497156,33.8226422,67.8515326,40.9291548,49.2069002,25.6780881,4.1401758,11.1553293,10.2593175,36.5139725,9.2920272,0.7316553,0.739138,14.1027793,10.2467253,27.0572962,17.1096213,34.0860555,68.2405114,41.2877215,49.3622853,25.7017452,4.2360764,10.8765042,10.7322177,37.3679644,6.5788596,0.8088134,0.8360042,14.874811,10.8545972,26.8798154,17.220713,33.6840524,68.123924,41.2197262,49.8696738,26.236999,3.9818331,10.7862816,10.559277,37.8072114,5.9632165 +802,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8564,0.8730339,8.5658165,5.096568,55.1386456,20.777629,32.8050834,70.2913744,31.8579093,44.1711908,14.7358978,6.101987,10.7024863,8.8704054,31.9880294,2.3504223,0.8401842,0.842943,8.5790403,5.3818713,53.9212188,21.4722976,32.916208,70.0579977,32.4084106,44.5230422,15.6148066,6.329332,10.8724762,9.3770461,31.8363424,2.3305085,0.8004182,0.8031826,8.0207074,5.0196409,51.6905613,21.0327475,32.9887383,70.6383323,32.9161958,44.9582872,16.0863176,6.3293332,10.3662941,9.0819464,31.2582942,1.8218587,0.6584249,0.6611884,8.0506818,5.0517582,49.6877209,20.945741,32.468241,70.7622256,33.4119599,45.5354066,16.6061798,6.4428207,10.3164265,9.5379349,31.6887781,1.7441827,0.757965,0.7607572,7.9041989,4.8073374,49.5021949,20.675369,32.2234312,70.1782748,32.9148237,45.3238804,16.3937475,6.6047915,10.7119397,9.4719253,31.6887676,1.6605135 +803,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5684906,0.5733284,9.8971801,6.2061741,64.4327679,18.3829775,33.1318491,66.5386447,33.9638343,45.8577131,19.1984606,5.609579,9.7948286,8.7208787,34.4242838,6.7021234,0.6245425,0.6294858,9.8361602,6.4010545,63.2639216,17.9961233,32.9345404,66.3590983,33.5931205,45.7940677,19.064344,5.9319054,9.7756277,8.6421114,33.5315158,6.5265472,0.546231,0.5699404,9.7914649,6.3111212,62.0741289,17.8104703,33.1624787,66.6261481,33.6018754,45.9595473,19.4718328,6.0568835,9.8352524,8.9950584,33.78895,5.6503186,0.5347036,0.5435647,9.2706826,6.0963461,61.0625326,17.3274783,32.8683353,66.7520721,33.9249942,45.9731342,19.7807851,6.0983402,9.559901,8.5531924,32.8386292,4.5964115,0.5103016,0.5191521,8.8546758,5.9384132,59.2465169,17.3067449,33.0551829,66.6639216,34.3109793,46.0591582,20.1999336,6.0393241,9.0583082,7.8832326,32.0194774,4.1387015 +804,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0758448,1.0694073,13.975928,9.6440775,28.6282243,16.8968561,34.4937772,68.182679,40.8183767,48.9835056,25.6800033,4.3146189,11.1157137,10.9909896,35.7461901,10.267848,1.0716416,1.0793508,14.4862501,10.2006472,27.7924601,16.5497156,33.8226422,67.8515326,40.9291548,49.2069002,25.6780881,4.1401758,11.1553293,10.2593175,36.5139725,9.2920272,0.7316553,0.739138,14.1027793,10.2467253,27.0572962,17.1096213,34.0860555,68.2405114,41.2877215,49.3622853,25.7017452,4.2360764,10.8765042,10.7322177,37.3679644,6.5788596,0.8088134,0.8360042,14.874811,10.8545972,26.8798154,17.220713,33.6840524,68.123924,41.2197262,49.8696738,26.236999,3.9818331,10.7862816,10.559277,37.8072114,5.9632165,0.8069164,0.8337138,15.0790502,11.4184828,27.4136853,16.9744239,33.8228838,67.8373939,41.5283286,49.3188949,26.2452167,3.7675713,11.5069609,10.1395633,38.5408004,5.6520098 +805,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.248667,1.2883794,24.2026185,20.4161266,45.4994581,14.5522846,42.1099792,64.1408877,34.3344551,48.4685681,23.8662999,3.8208815,12.3459974,9.0787505,31.9956539,16.4736455,1.1107375,1.1905957,24.6112608,21.0003859,45.7813992,14.8246262,42.3747722,64.9276758,34.8962825,48.3671328,24.3300079,4.0910093,12.4911207,9.3155039,29.3255229,17.9951236,1.1909336,1.2518661,25.3839997,21.6068541,46.9189818,14.0947926,41.2142795,65.4894284,34.3045559,47.3967178,23.3214463,3.4522795,12.7737358,9.3201722,28.5822747,18.9387118,1.2285396,1.2698779,25.4616985,21.4087587,48.2262928,13.8223932,41.3281064,65.55875,34.0325901,46.6830405,23.5947958,3.6482535,13.0950884,9.4141288,27.6607599,20.5820741,1.1830166,1.2539915,27.1498877,22.5656442,48.6888708,13.9597655,41.8354682,66.2587443,35.0551896,46.9704789,23.6662546,3.2587926,12.8188694,9.1456531,29.0603193,24.2263217 +806,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6245425,0.6294858,9.8361602,6.4010545,63.2639216,17.9961233,32.9345404,66.3590983,33.5931205,45.7940677,19.064344,5.9319054,9.7756277,8.6421114,33.5315158,6.5265472,0.546231,0.5699404,9.7914649,6.3111212,62.0741289,17.8104703,33.1624787,66.6261481,33.6018754,45.9595473,19.4718328,6.0568835,9.8352524,8.9950584,33.78895,5.6503186,0.5347036,0.5435647,9.2706826,6.0963461,61.0625326,17.3274783,32.8683353,66.7520721,33.9249942,45.9731342,19.7807851,6.0983402,9.559901,8.5531924,32.8386292,4.5964115,0.5103016,0.5191521,8.8546758,5.9384132,59.2465169,17.3067449,33.0551829,66.6639216,34.3109793,46.0591582,20.1999336,6.0393241,9.0583082,7.8832326,32.0194774,4.1387015,0.532968,0.5229459,8.6312866,5.7191363,58.5963439,16.837232,32.5453918,66.407664,34.5084296,45.7140569,20.9962392,6.1262882,8.7608115,7.7506143,32.1139516,3.846153 +807,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.559503,0.6024845,10.6137334,7.1723624,45.4434115,13.0382534,30.3889316,68.4443791,38.1743315,47.8744019,19.3175353,5.6395918,10.9519016,10.8449592,31.9510089,7.5024842,0.5312135,0.5788797,10.6881158,7.0971799,45.2805883,13.278675,30.6372717,68.2338841,38.7404641,48.5474427,19.8049597,5.861489,10.4210546,10.2494407,32.0821091,9.1174135,0.4174974,0.4174974,10.6406984,7.1803087,43.881419,13.1528355,31.0757701,68.5734313,39.3339744,49.0211004,20.3742494,5.9289618,10.569464,10.0718365,32.7360819,8.8098015,0.4985404,0.4904548,10.9036218,7.2976996,42.2137088,13.1180416,30.8250896,68.4062939,39.0979304,48.0983287,20.7429594,6.0539943,10.7590964,9.5943596,33.1679446,9.1175232,0.5264114,0.5444624,11.1056797,7.5949641,40.9490455,13.7712984,30.6006185,67.8054277,38.8861889,47.8755242,20.9022013,6.3541931,9.9733473,9.2470015,34.5828258,9.9448657 +808,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8253023,0.8368517,11.7364237,7.7288609,47.4918235,15.1670369,34.4198693,69.1962177,37.5659157,48.3469686,26.4748012,4.3458151,10.66535,8.7050947,38.5214598,7.6665949,0.789795,0.801361,11.6021389,7.6568891,46.8587533,15.1126409,34.1938565,69.2826589,37.6266467,49.7049646,26.4164506,4.1032634,10.1006507,8.3145396,38.858286,7.9860417,0.8807146,0.8803125,12.0738368,8.1622231,46.4348554,15.4881029,34.129606,69.2165136,37.3233252,49.1338794,25.7934457,4.3034158,10.7421539,8.49888,40.0240869,7.5162745,0.7993485,0.809268,11.7463254,8.2836876,46.0019893,15.4716789,33.7486228,69.8699604,37.4891364,49.5481845,25.4859508,4.3825748,10.2667771,7.7449282,40.5485771,6.907838,0.6410175,0.6410175,11.6727343,8.2602854,46.5557113,15.5375611,33.6035033,70.1795328,36.7175549,48.4943363,24.4312174,4.2181321,10.5270873,8.0957,41.4393818,6.3757846 +809,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7259609,0.7472461,10.6832206,6.8269939,56.8916691,8.8890009,29.725104,69.7251034,40.5238552,42.7126488,20.7520708,4.4450208,9.6421632,8.6060026,37.3420153,4.8324742,0.6964773,0.7282001,10.4052594,6.8368413,56.6391855,9.0782239,29.5226633,69.7252999,40.3645239,42.7981954,20.7906764,4.5801119,9.8511164,8.6463988,36.1170512,4.7712418,0.6765922,0.7031996,10.3519736,6.8321969,55.4556142,9.0583068,29.5072452,69.6732517,40.1292236,43.0920298,20.8079344,4.7331362,9.7059916,8.7300044,36.2487739,5.0836544,0.6258955,0.6484772,9.8964342,6.6310872,54.7487575,9.1357608,29.1281977,69.2352077,39.9653766,42.3992803,20.850811,4.5373468,9.8314572,8.8126704,36.6184777,5.421686,0.6346872,0.6585488,10.095083,6.8198599,54.0174331,9.4211144,29.3688258,69.4339436,40.0913665,42.4753182,20.988232,4.6051225,9.8260829,8.6741613,36.6653662,5.5921045 +810,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5157231,0.5381561,7.2596336,4.0288069,73.4253463,19.7687543,28.6722642,62.0564725,27.3368992,40.0419642,15.2041275,5.0934781,10.0654121,9.1672801,34.8540105,4.468087,0.5787568,0.5956399,7.2666436,4.0370242,72.6822525,20.0193308,29.0919755,63.2307105,27.0654704,39.5752064,15.0623558,5.7482446,10.1336348,8.6940337,35.5066999,5.2752318,0.4836305,0.5181923,7.357557,4.1569221,72.1917745,19.7645137,30.1397202,63.2529091,27.5357437,40.2838221,15.6432646,5.6937572,9.7426514,8.4814853,35.4874382,4.2987865,0.4183174,0.4451223,6.7176093,3.8582187,70.7042668,19.9725351,30.6260263,63.6202444,27.4166224,39.9022603,15.5186381,5.8904264,9.4319044,8.3333364,36.1070367,2.9681368,0.3297927,0.3506933,6.5743488,3.960216,69.4846218,20.3860333,30.9605856,63.2351873,28.6468563,40.0197216,15.3922042,5.8627607,9.4594629,8.1985324,34.8161746,3.0233599 +811,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2187922,1.1620739,18.7954884,14.6390101,35.369744,19.2955762,36.8866302,68.7490307,38.737463,49.1361843,23.2335827,4.4197062,11.4699645,9.8032207,31.0560617,14.8599685,1.2126174,1.1612934,19.1589815,15.200805,36.2137833,18.9390198,38.4667085,68.4489144,38.5250765,48.3994256,23.2620653,4.2933689,11.6060032,10.0571374,31.5246016,15.0664815,1.2946207,1.2431836,19.4745041,15.3734528,36.5945568,18.7519101,38.4281016,68.5455043,38.2495752,48.0558692,23.3745282,4.510769,11.4900756,9.6237457,30.4928187,15.5935508,1.1186748,1.093225,19.8829777,15.7913093,36.4102606,18.8802395,38.7034192,68.3740738,38.6627284,47.7501572,24.3265292,4.4870645,11.3731658,8.8834335,30.2192362,15.4964527,1.1807988,1.1551852,20.3911732,16.3161575,36.5042299,18.6999641,38.6076762,67.733078,38.6359031,47.6606349,24.524628,4.5243119,11.6871745,9.0900889,30.8949511,15.1093528 +812,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7299443,0.7311553,9.0119567,6.2874915,51.3830443,9.8110778,31.8002663,68.0732432,33.8354579,46.6627903,18.9728045,3.0214472,10.9383336,10.1004826,30.7425996,8.2892554,0.76698,0.7535315,9.1030298,6.4287698,50.2668382,9.5391763,31.5827339,68.0344638,34.371868,46.4374864,18.7997464,2.9566343,10.5900826,9.8234821,29.9907139,7.599799,0.7430105,0.7293046,8.9360457,6.3193569,48.4715885,9.7324198,31.3209191,68.1277508,34.9674303,46.9446827,18.9545515,3.1199216,10.5994825,9.8472387,30.1104437,6.4984955,0.7475698,0.7488511,8.8513679,6.0613536,48.1045787,9.864845,31.4564563,67.9929896,35.2102131,47.9395972,19.0273727,3.1781777,10.5120822,9.660519,30.0894976,5.3946842,0.7274071,0.737004,8.7550995,6.0546927,47.2543773,10.2000664,31.3214404,68.3321809,35.6511922,48.2074718,19.3020504,3.316589,11.0200687,9.6467694,30.3188071,5.9228099 +813,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4611049,1.5482568,25.5699137,20.6927673,38.014943,16.4633721,32.1141241,65.0505429,34.5244268,44.2637472,20.4323785,2.4812182,13.7284649,10.2062266,41.7387899,15.7458303,1.255898,1.3340991,25.950794,20.9172848,39.7261743,17.1831389,32.731263,65.1430454,35.1951511,44.522864,20.411755,2.7779239,14.1474048,10.5425641,40.4866572,14.4886199,1.239836,1.3143417,26.5693016,21.5690395,40.2495064,17.780236,34.6669447,64.8711614,34.944081,44.0472318,20.3013029,3.071748,14.4749655,10.8353973,41.1285594,15.9685613,1.2657878,1.3265533,27.7726544,22.7059411,41.6070573,17.0489299,34.8892366,63.3508726,33.8767096,44.0410806,18.9969344,2.7954549,14.7634279,11.7395572,40.0034198,17.079191,1.4483347,1.4686966,28.6054319,23.6883588,42.481536,16.9569814,34.4882742,63.3059627,33.2478913,44.4425243,18.8505029,2.7687217,15.0756314,12.2763329,40.9784428,18.2051189 +814,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6649902,0.6230791,7.3542805,4.2577413,70.2511416,18.6208446,32.4660633,65.9049774,31.1538462,43.0090498,15.678733,4.4097693,9.3956954,9.5099668,36.1319967,4.0865385,0.5050722,0.4622089,7.3945294,4.659249,68.4297132,18.4356253,33.2172702,66.2256267,30.7567317,42.1773445,15.90065,4.3871866,9.5670996,9.4347826,37.3140857,4.2288557,0.3831336,0.3831336,7.1230982,4.5873675,67.1736079,18.067034,33.4485938,67.0124481,31.373905,42.208391,16.2978331,4.5873675,9.3133047,8.2256675,36.2651646,3.3333333,0.4094203,0.4094203,7.3632539,4.8387097,65.2929967,18.379262,33.5288597,67.0811825,31.557954,42.1633036,16.4007508,4.4345378,9.4315245,8.0882353,37.1515679,2.9100529,0.5155459,0.5155459,7.4358974,4.965035,63.4257047,18.9397478,33.5915493,67.4413146,31.8075117,42.2300469,17.3474178,4.7183099,9.2869718,7.7433628,37.411032,2.7227723 +815,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.468819,0.5093217,12.7401678,10.9476364,53.1292581,31.5474864,29.5180461,70.3479495,33.400157,41.2985841,16.6667448,5.8233003,12.7747458,11.4011025,33.3796405,7.1970515,0.5416421,0.58142,13.0027168,11.2438952,53.4804441,31.8357839,32.3412541,70.0396038,33.7962375,40.9392742,15.5423763,6.0184818,11.8529186,10.4903622,32.1917621,6.1151739,0.5150256,0.5548986,13.1117788,11.1042241,54.3939333,32.8792851,32.3452219,67.1277619,34.0578927,41.304365,15.0856401,6.2581852,11.4012555,11.6758472,31.4403247,5.8621094,0.6551458,0.6944546,13.9233503,11.5718303,55.2149379,32.0836759,35.1612733,66.6452685,34.7743,42.5162164,15.1613765,6.6451266,12.0596648,11.7885226,33.4699019,5.7047363,0.6528366,0.6920068,14.2593559,11.9136406,54.9285755,31.6286158,34.8464843,65.4093379,34.8466761,42.9028688,15.2814268,6.2020094,12.2422154,11.726614,34.8446282,6.6455907 +816,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3909765,0.4109366,6.9302206,4.4014103,65.5254039,16.6204554,31.4058604,65.5704535,31.5305425,39.4794212,16.6926424,8.1203282,9.5082961,7.872848,38.7298721,2.8273818,0.3253006,0.3381284,6.9622244,4.4654276,65.267299,16.7947143,31.7586573,65.3102654,30.979109,39.2734664,16.6043025,8.1228606,9.1474272,8.1008926,38.7067875,2.21239,0.3274653,0.3404975,6.8531201,4.3016013,64.058018,16.604535,32.0549278,65.2620027,31.076392,39.2203292,16.7771455,8.285989,9.1045695,8.4689592,38.966134,2.2388066,0.3378362,0.3509903,7.201983,4.519866,64.0291226,16.1570053,32.0993604,66.2980778,32.1955207,39.2788515,16.8429483,8.4775655,9.3329232,8.4355803,37.6771327,2.279636,0.3756292,0.3831075,7.0653947,4.320568,62.8946513,16.2017593,31.8675825,66.485506,32.3616672,39.0151529,16.5184425,8.0533614,9.4003726,8.3646591,37.9559664,2.7419373 +817,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8401842,0.842943,8.5790403,5.3818713,53.9212188,21.4722976,32.916208,70.0579977,32.4084106,44.5230422,15.6148066,6.329332,10.8724762,9.3770461,31.8363424,2.3305085,0.8004182,0.8031826,8.0207074,5.0196409,51.6905613,21.0327475,32.9887383,70.6383323,32.9161958,44.9582872,16.0863176,6.3293332,10.3662941,9.0819464,31.2582942,1.8218587,0.6584249,0.6611884,8.0506818,5.0517582,49.6877209,20.945741,32.468241,70.7622256,33.4119599,45.5354066,16.6061798,6.4428207,10.3164265,9.5379349,31.6887781,1.7441827,0.757965,0.7607572,7.9041989,4.8073374,49.5021949,20.675369,32.2234312,70.1782748,32.9148237,45.3238804,16.3937475,6.6047915,10.7119397,9.4719253,31.6887676,1.6605135,0.8835373,0.8863741,7.8033469,4.9159258,48.494399,20.7330547,31.8699393,69.7464608,32.5312348,45.6465646,16.7707413,6.7780906,10.7920944,9.6763381,32.4834562,2.4163479 +818,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5521616,0.5375304,7.5012891,4.8465839,22.0195648,17.7786936,32.090209,68.9204268,36.1971923,51.3627993,20.9180834,4.2687648,9.5444001,9.2925715,27.1044806,5.3564837,0.657678,0.6566624,8.038617,5.1718099,20.4474992,18.3488093,31.6715584,69.8528896,37.1772376,51.8589631,21.4698612,4.5351793,9.3845236,8.9586486,26.6637139,5.2044202,0.5812766,0.5561169,7.6037698,4.7981049,19.383706,19.1380962,32.6044187,70.4142158,38.2374427,53.0750481,21.8558565,4.7051048,9.0724771,8.9947177,25.4535391,5.0146153,0.54596,0.5263066,7.8513032,4.7333699,19.3714707,19.5309264,31.9440159,70.8404717,38.4255758,53.1123558,21.722074,4.856794,8.8531922,8.9440294,25.1701663,4.6737112,0.5992994,0.5895111,8.1156993,4.9662304,19.5408769,19.8205162,31.8225761,71.4543867,38.6134915,53.7113182,22.0606989,5.0905537,8.6509716,8.413401,24.5919327,4.5200712 +819,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.255898,1.3340991,25.950794,20.9172848,39.7261743,17.1831389,32.731263,65.1430454,35.1951511,44.522864,20.411755,2.7779239,14.1474048,10.5425641,40.4866572,14.4886199,1.239836,1.3143417,26.5693016,21.5690395,40.2495064,17.780236,34.6669447,64.8711614,34.944081,44.0472318,20.3013029,3.071748,14.4749655,10.8353973,41.1285594,15.9685613,1.2657878,1.3265533,27.7726544,22.7059411,41.6070573,17.0489299,34.8892366,63.3508726,33.8767096,44.0410806,18.9969344,2.7954549,14.7634279,11.7395572,40.0034198,17.079191,1.4483347,1.4686966,28.6054319,23.6883588,42.481536,16.9569814,34.4882742,63.3059627,33.2478913,44.4425243,18.8505029,2.7687217,15.0756314,12.2763329,40.9784428,18.2051189,1.5712913,1.5780073,29.4918783,24.6725821,44.5045212,16.8953355,34.5643737,63.038755,32.4165073,44.67709,19.3538539,2.9149793,15.9149768,12.4344011,40.8654439,19.0355233 +820,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5910115,0.610097,9.5316918,6.5716612,73.375273,11.8634602,29.9143968,66.325128,29.2839168,42.7268036,13.56674,3.951827,12.2212883,11.1321049,33.1148286,3.0797347,0.6313294,0.6466071,9.015809,6.3008877,72.7453667,11.6958431,30.2991548,65.8112516,29.8158244,42.7732746,13.659364,4.246279,11.8945195,11.5516116,33.0818378,2.6978524,0.6420252,0.6572412,9.1857305,6.6061101,71.9876022,11.6123496,30.5733177,66.2745282,30.4819079,43.9812597,14.4929385,4.5112131,11.132104,10.9401295,32.3379458,4.1367085,0.6696795,0.6937799,9.6405984,6.8603191,71.3704115,11.7372128,30.4442792,66.3328319,30.5823785,44.1873727,14.6524218,4.7997486,11.3323842,11.1421222,32.2461417,5.2158705,0.6559821,0.6782937,9.457214,6.6141783,70.2621909,11.7807541,30.4029427,66.7185627,30.5948916,44.6269855,14.9796722,4.9772409,11.3329319,11.0886144,31.8941632,5.8049054 +821,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0716416,1.0793508,14.4862501,10.2006472,27.7924601,16.5497156,33.8226422,67.8515326,40.9291548,49.2069002,25.6780881,4.1401758,11.1553293,10.2593175,36.5139725,9.2920272,0.7316553,0.739138,14.1027793,10.2467253,27.0572962,17.1096213,34.0860555,68.2405114,41.2877215,49.3622853,25.7017452,4.2360764,10.8765042,10.7322177,37.3679644,6.5788596,0.8088134,0.8360042,14.874811,10.8545972,26.8798154,17.220713,33.6840524,68.123924,41.2197262,49.8696738,26.236999,3.9818331,10.7862816,10.559277,37.8072114,5.9632165,0.8069164,0.8337138,15.0790502,11.4184828,27.4136853,16.9744239,33.8228838,67.8373939,41.5283286,49.3188949,26.2452167,3.7675713,11.5069609,10.1395633,38.5408004,5.6520098,0.7635885,0.7905977,15.5317545,11.6645778,26.6474719,16.4898316,34.7948068,68.0129652,42.0950513,49.6112612,26.3282899,3.8228998,11.7430427,10.2784498,38.7746687,6.4101019 +822,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.408717,0.419984,7.8944685,4.7691426,54.3334866,15.4877943,33.3769981,67.6040747,35.0898166,44.798462,19.4330152,4.042396,10.3954257,9.2731339,34.4274536,2.9431293,0.451545,0.470051,8.2556,5.1621795,53.4829046,15.8982211,33.6466513,67.8590278,35.7879039,44.7943846,19.7147706,4.3707149,10.2183394,9.2431284,35.0815807,3.714059,0.4569045,0.4761135,8.1375055,5.1039844,52.6038474,16.2738099,33.7604871,68.108834,36.0530155,45.2301906,20.4964567,4.6752694,10.2740004,8.6043336,34.8931892,4.563101,0.4502987,0.473325,8.1008672,5.1280553,51.6693602,16.7099433,33.3541244,68.3510552,35.5150094,45.4704104,20.2817732,4.6634473,10.8765104,8.8918879,34.3175214,5.246726,0.4752959,0.4863273,8.2648703,5.3010752,51.0668238,16.66978,32.9485474,68.2770057,35.8591734,45.9463386,19.9109626,4.5537616,10.9506755,8.9614437,34.3890164,4.7198802 +823,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7586836,0.7533373,10.8210268,7.1479958,51.7904098,15.3916281,32.9834231,69.7053275,38.8765926,45.0644434,22.559846,3.1491703,8.8360495,8.5053338,34.1298046,6.0846496,0.6611948,0.6826062,10.5065967,6.6892558,50.7775248,14.7271448,33.3028815,69.9488349,38.8563949,45.6521549,22.634258,3.0507848,8.3101559,8.3507995,33.7421138,5.3370697,0.6228987,0.6447032,10.6494838,7.1661725,49.0015377,14.8578799,34.0350184,70.5476813,40.1080231,46.590886,22.9694372,2.9247382,8.0212045,7.8480075,32.9650726,5.1630351,0.4981279,0.5200441,10.269963,7.0229742,48.4888785,14.961066,34.2744823,70.3627486,40.295415,45.9423875,22.4569849,2.7486901,7.7004268,7.5211843,30.7883506,5.7228812,0.4208975,0.4543315,9.9044425,6.7805924,47.5928915,15.6238335,33.2393812,70.3682836,40.4922907,46.0541147,22.6042785,3.025181,7.4875985,7.5908811,31.0035803,4.7770609 +824,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6594706,0.6054644,10.4947317,6.5789444,65.6672661,13.0707059,31.7683955,67.7374367,34.1748901,44.7679536,18.8547354,3.3626988,10.8678089,9.7624798,35.0625601,7.7485673,0.624822,0.5905016,10.3634001,6.708216,64.5494155,12.8516969,32.3951248,68.225602,34.7067566,45.8369069,19.1245582,3.3711465,10.7498905,9.6922418,35.0260811,8.2172958,0.5967948,0.6016948,10.2707769,6.7801957,62.8469284,13.0761067,32.2818715,68.9585093,35.7035855,46.0757077,19.4931385,3.3682603,10.091918,8.8235225,34.0899696,8.9181475,0.5549321,0.5403577,10.4407096,6.8730335,61.6713057,13.1496231,31.5928871,68.6824779,35.9987177,46.1237046,19.6886021,3.1243352,9.8113875,8.6213792,33.2996814,8.944303,0.5030474,0.522345,10.3948966,6.654827,60.873738,13.5708262,31.6350156,69.2721517,36.1497779,46.2974631,19.7995463,3.2172941,10.1922244,8.9686913,33.2594414,8.3841743 +825,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6434973,0.6261331,9.7713355,6.2500128,38.0616962,15.646622,35.4340274,69.0346097,38.6234617,49.7952403,22.0279404,3.931439,10.3981061,9.6491486,33.0185389,5.7910063,0.6400757,0.6225797,9.507472,5.9055183,36.8647481,15.9546989,35.9200365,69.1219183,38.9383749,50.0685569,21.9601786,3.9358643,10.606556,9.6914297,32.5217111,6.2121739,0.6415669,0.6181901,9.4652874,5.8545477,35.7373683,16.1068331,35.9588579,69.1166057,39.5942572,50.1668073,22.277809,4.1710653,11.1348085,10.1280502,32.1545537,6.8038599,0.6894965,0.6736262,9.3705395,5.8733979,34.8219864,16.7844129,35.6828228,69.3950768,39.8440981,50.2932964,22.5756012,4.4454754,11.5974213,10.4500644,32.2574545,5.6818661,0.6636521,0.6472361,9.3924407,5.8621462,33.9861665,17.0106888,35.4154398,69.4143651,39.9789979,49.9619623,22.7324395,4.4780531,12.0331253,10.772221,32.4672379,5.9122181 +826,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.76698,0.7535315,9.1030298,6.4287698,50.2668382,9.5391763,31.5827339,68.0344638,34.371868,46.4374864,18.7997464,2.9566343,10.5900826,9.8234821,29.9907139,7.599799,0.7430105,0.7293046,8.9360457,6.3193569,48.4715885,9.7324198,31.3209191,68.1277508,34.9674303,46.9446827,18.9545515,3.1199216,10.5994825,9.8472387,30.1104437,6.4984955,0.7475698,0.7488511,8.8513679,6.0613536,48.1045787,9.864845,31.4564563,67.9929896,35.2102131,47.9395972,19.0273727,3.1781777,10.5120822,9.660519,30.0894976,5.3946842,0.7274071,0.737004,8.7550995,6.0546927,47.2543773,10.2000664,31.3214404,68.3321809,35.6511922,48.2074718,19.3020504,3.316589,11.0200687,9.6467694,30.3188071,5.9228099,0.5794119,0.5895901,8.2702026,5.7449512,46.5260886,10.4573311,31.1537003,68.0759382,35.0972099,48.1382929,19.2498223,3.255683,10.7027724,9.2288404,30.2154456,6.39875 +827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.636724,0.6478695,11.2491533,6.9899118,65.0908271,10.2612807,33.5532582,66.1097088,40.2548885,44.308019,23.514802,4.1709068,10.972524,8.9870638,39.8827161,5.2597389,0.6294176,0.6452574,11.0346559,6.9200463,64.0764614,10.1927857,34.1050789,66.2225143,40.1611219,44.3229682,23.7149349,4.2144216,11.1644951,9.2734042,40.7647999,4.7270287,0.6264076,0.6467658,10.774445,6.8626063,63.6098338,10.0232795,33.9142551,66.2710039,40.7685119,44.4271397,23.8631719,4.2215445,11.0673286,9.2038143,40.8295481,5.2666639,0.5951244,0.6385327,10.7430679,6.8507172,62.4937402,9.8145339,34.0559908,66.1123805,40.9103177,44.572257,24.0471174,4.3207855,11.147414,9.0646094,40.6792993,5.7744542,0.6161486,0.6626558,10.6468413,6.6833768,61.8559501,9.5101449,33.7218467,66.142322,40.6342864,44.5254478,23.8857069,4.2809806,11.2521486,9.1552636,41.0445479,5.9973022 +828,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5050722,0.4622089,7.3945294,4.659249,68.4297132,18.4356253,33.2172702,66.2256267,30.7567317,42.1773445,15.90065,4.3871866,9.5670996,9.4347826,37.3140857,4.2288557,0.3831336,0.3831336,7.1230982,4.5873675,67.1736079,18.067034,33.4485938,67.0124481,31.373905,42.208391,16.2978331,4.5873675,9.3133047,8.2256675,36.2651646,3.3333333,0.4094203,0.4094203,7.3632539,4.8387097,65.2929967,18.379262,33.5288597,67.0811825,31.557954,42.1633036,16.4007508,4.4345378,9.4315245,8.0882353,37.1515679,2.9100529,0.5155459,0.5155459,7.4358974,4.965035,63.4257047,18.9397478,33.5915493,67.4413146,31.8075117,42.2300469,17.3474178,4.7183099,9.2869718,7.7433628,37.411032,2.7227723,0.4666293,0.524828,8.1340835,5.8368495,61.3221154,19.3858415,33.9386792,68.1367925,32.9009434,42.995283,17.9481132,4.8820755,9.3777778,7.4487065,36.5143369,1.7857143 +829,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4083464,0.4103915,7.4265413,4.823563,64.1418266,11.8494413,32.2941832,66.2577117,30.4438215,41.1839684,15.7347854,13.6832921,11.1405534,9.3243964,36.7650771,2.5851201,0.5217344,0.5113632,7.5714318,4.9047641,63.9765697,11.6899712,32.1025474,65.9934749,30.3753614,41.0784759,15.4018817,13.6066895,10.6606287,9.0519525,37.2120442,2.952262,0.5205307,0.5039334,7.3659237,4.8133087,63.2032568,11.0909341,32.4414516,65.7747835,30.3853514,41.5645449,15.761169,13.4463502,10.8258125,9.0662242,37.8093257,3.2435748,0.5305149,0.5294745,7.3623413,4.9150238,62.5535199,10.9782486,32.3260596,65.4502092,30.6343802,41.3437921,15.7230584,13.5129603,10.7400759,9.0826909,37.714957,3.597561,0.5260618,0.5229285,7.2755881,4.9392006,62.1013797,10.6792837,31.8194325,65.2260602,29.5520161,40.573038,15.4390553,13.6663455,10.8723961,9.1631911,37.5427053,3.7561576 +830,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.208609,1.2165349,12.7759717,8.305034,51.3564294,18.7195533,38.243696,68.1948254,39.1061211,49.2526869,22.348358,3.2049348,12.5891099,11.7534073,34.0783175,7.9545563,1.1453143,1.1534465,12.0725494,7.6956526,49.7454748,18.3166693,38.1422974,68.4435312,38.7035372,49.3650612,22.4896506,3.3815645,12.4435356,11.0202757,34.5913298,7.9710222,1.0796454,1.1146664,11.5341238,7.5696612,48.0837426,19.2161897,38.2937802,68.8761383,38.5865278,49.0928223,22.8123965,3.2630925,11.842819,10.982484,34.2897239,8.1280828,0.9938276,1.0348779,11.4590148,7.46942,47.835904,19.2672739,38.0363236,69.5619292,39.0197196,49.5977969,23.4058336,3.3224046,11.2434351,11.0046356,34.5300021,7.2500109,0.9394153,0.9764813,11.5766948,7.7810071,47.4167857,18.9257705,38.0917711,69.2021475,38.9849693,49.2856566,23.4445147,3.3789769,11.8031398,11.2343303,34.0857692,6.4766 +831,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.686355,0.6894317,9.9094023,6.5703495,58.9205629,12.9127068,29.1521032,67.8272584,37.8232315,43.9799119,20.0489037,5.241249,10.7933253,8.5165675,33.6253827,5.0421303,0.6803773,0.6843917,9.6487926,6.5769415,58.6335538,12.8988564,29.1876068,68.1802974,38.6127952,44.2175288,20.5353006,5.5562526,10.2688788,9.0527899,33.450555,5.2017793,0.6867091,0.6907601,9.4984088,6.5887434,58.2019696,12.6860538,28.7320496,67.7987296,38.7289837,43.513626,20.2532017,5.1982704,10.5224643,9.2380236,34.1561964,4.9333133,0.5967688,0.5897148,9.4067402,6.8667401,57.2044691,12.8022327,29.008031,68.0355487,38.68305,43.5193636,19.9729895,5.2544086,10.6275877,9.3426138,33.8657603,6.2287042,0.6556915,0.648462,9.4320683,6.8486788,56.2328689,13.1103477,29.358352,67.6989433,39.1100393,44.1336638,20.4435203,5.202932,10.6081678,8.994531,34.1705175,7.194391 +832,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6294176,0.6452574,11.0346559,6.9200463,64.0764614,10.1927857,34.1050789,66.2225143,40.1611219,44.3229682,23.7149349,4.2144216,11.1644951,9.2734042,40.7647999,4.7270287,0.6264076,0.6467658,10.774445,6.8626063,63.6098338,10.0232795,33.9142551,66.2710039,40.7685119,44.4271397,23.8631719,4.2215445,11.0673286,9.2038143,40.8295481,5.2666639,0.5951244,0.6385327,10.7430679,6.8507172,62.4937402,9.8145339,34.0559908,66.1123805,40.9103177,44.572257,24.0471174,4.3207855,11.147414,9.0646094,40.6792993,5.7744542,0.6161486,0.6626558,10.6468413,6.6833768,61.8559501,9.5101449,33.7218467,66.142322,40.6342864,44.5254478,23.8857069,4.2809806,11.2521486,9.1552636,41.0445479,5.9973022,0.6195236,0.6806266,10.749759,6.7906266,61.0512653,9.4896693,33.2985852,66.3629038,40.8451154,44.7780696,23.9394659,4.4255345,10.545805,8.7811665,40.4795615,6.2243477 +833,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7542222,0.8024138,9.8914145,6.0107768,53.5859676,17.6788352,32.8348282,68.5072689,38.0066276,44.9117088,22.826347,4.1793908,10.0627782,9.3831341,36.6049821,6.8586256,0.704339,0.7489925,9.3025971,5.6641844,53.1062282,17.1392282,32.5071399,67.861307,37.9460719,44.5181354,22.8470034,3.9234186,10.2965103,9.5451853,36.2056097,6.3983226,0.6813489,0.7096858,9.0533896,5.443342,52.590317,16.9162247,32.6409425,67.8531258,38.5965148,45.0752349,22.8209392,3.9075054,10.338281,9.1430551,34.9749941,6.5855972,0.690509,0.6841146,9.1027219,5.5667311,51.4222021,17.5904046,32.6711615,68.4942652,38.4073223,46.1753146,23.1102122,3.9885467,10.0800334,9.4571025,34.5351164,5.750207,0.6680977,0.6614103,9.0230199,5.6145735,50.5905463,17.5859026,32.7024974,69.0490826,38.8643602,47.2471121,23.7878422,4.1131156,10.4679734,9.4593961,33.8482124,4.3591353 +834,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5217344,0.5113632,7.5714318,4.9047641,63.9765697,11.6899712,32.1025474,65.9934749,30.3753614,41.0784759,15.4018817,13.6066895,10.6606287,9.0519525,37.2120442,2.952262,0.5205307,0.5039334,7.3659237,4.8133087,63.2032568,11.0909341,32.4414516,65.7747835,30.3853514,41.5645449,15.761169,13.4463502,10.8258125,9.0662242,37.8093257,3.2435748,0.5305149,0.5294745,7.3623413,4.9150238,62.5535199,10.9782486,32.3260596,65.4502092,30.6343802,41.3437921,15.7230584,13.5129603,10.7400759,9.0826909,37.714957,3.597561,0.5260618,0.5229285,7.2755881,4.9392006,62.1013797,10.6792837,31.8194325,65.2260602,29.5520161,40.573038,15.4390553,13.6663455,10.8723961,9.1631911,37.5427053,3.7561576,0.5812707,0.5696485,7.5587884,5.0553278,62.1056365,10.3046615,31.555897,64.912407,30.1098431,40.4268584,15.5241936,13.8973848,10.9078965,9.2212568,37.835333,3.390875 +835,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3831336,0.3831336,7.1230982,4.5873675,67.1736079,18.067034,33.4485938,67.0124481,31.373905,42.208391,16.2978331,4.5873675,9.3133047,8.2256675,36.2651646,3.3333333,0.4094203,0.4094203,7.3632539,4.8387097,65.2929967,18.379262,33.5288597,67.0811825,31.557954,42.1633036,16.4007508,4.4345378,9.4315245,8.0882353,37.1515679,2.9100529,0.5155459,0.5155459,7.4358974,4.965035,63.4257047,18.9397478,33.5915493,67.4413146,31.8075117,42.2300469,17.3474178,4.7183099,9.2869718,7.7433628,37.411032,2.7227723,0.4666293,0.524828,8.1340835,5.8368495,61.3221154,19.3858415,33.9386792,68.1367925,32.9009434,42.995283,17.9481132,4.8820755,9.3777778,7.4487065,36.5143369,1.7857143,0.5317911,0.5754401,8.42723,5.8920188,60.2354637,19.7701689,34.1894439,68.4967012,33.1055608,43.4260132,18.4967012,4.736098,9.500446,7.8194817,36.1310592,1.2135922 +836,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6313294,0.6466071,9.015809,6.3008877,72.7453667,11.6958431,30.2991548,65.8112516,29.8158244,42.7732746,13.659364,4.246279,11.8945195,11.5516116,33.0818378,2.6978524,0.6420252,0.6572412,9.1857305,6.6061101,71.9876022,11.6123496,30.5733177,66.2745282,30.4819079,43.9812597,14.4929385,4.5112131,11.132104,10.9401295,32.3379458,4.1367085,0.6696795,0.6937799,9.6405984,6.8603191,71.3704115,11.7372128,30.4442792,66.3328319,30.5823785,44.1873727,14.6524218,4.7997486,11.3323842,11.1421222,32.2461417,5.2158705,0.6559821,0.6782937,9.457214,6.6141783,70.2621909,11.7807541,30.4029427,66.7185627,30.5948916,44.6269855,14.9796722,4.9772409,11.3329319,11.0886144,31.8941632,5.8049054,0.5336389,0.568694,9.0157575,6.2777323,69.5283785,12.2324162,29.9021614,66.2611878,31.4819679,44.9222332,15.0326572,5.3285156,10.982958,11.2393927,31.2292573,6.0543382 +837,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6175943,0.645172,12.5971791,7.3973625,58.4072865,20.7966512,34.0851099,69.1005097,36.153271,46.9640684,21.3426687,3.5786439,11.7337928,11.6020823,37.3027898,4.2933245,0.6312348,0.6591664,13.2519758,7.6987226,57.6431049,21.1004812,33.6014967,69.3736381,35.9606898,47.693821,21.2399743,3.540847,12.8547239,12.481197,37.3210983,3.8762024,0.6004937,0.6459455,13.3550419,7.6767162,56.0911978,21.252568,33.1107925,69.2123485,34.8975622,48.2032322,21.5795032,3.4002935,13.3614899,12.4703332,37.7225783,3.2798675,0.7088874,0.7542911,13.5006683,7.8063239,54.9609625,21.5861469,33.7472407,69.3249367,35.611827,48.6163163,22.0897747,3.4720283,13.2783566,12.1615802,37.9100094,3.5579436,0.7067022,0.7620992,13.4205613,7.7501236,54.0201437,22.3483322,34.0825376,69.1289082,35.2787963,48.8430268,22.2932003,3.5706526,13.9616957,12.2612883,38.2437072,3.0952818 +838,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0741617,1.1265174,22.735992,17.9944353,35.8050956,14.7564107,37.5782518,66.1770274,33.3412806,49.9036501,25.8789838,5.801719,15.5690736,12.2649823,35.3909803,13.2848701,1.1215801,1.1700604,22.8890657,18.2401411,36.8742439,14.1405762,38.5151011,66.2901324,32.8927277,50,26.2616924,5.5502932,16.1002116,12.5944805,36.4109639,12.9266779,1.0446021,1.0922308,22.6721033,17.8990998,37.7696619,13.8177225,38.131724,66.6094409,33.3334995,50.2305523,25.7964177,5.4820525,16.132172,12.6558725,35.8052035,13.2220026,1.1293626,1.1313384,23.2302293,18.0472825,39.2783976,13.6431441,38.7176103,66.3524814,33.1094934,49.9205824,25.1207883,5.1964836,15.2340893,12.5929497,33.7654735,10.564269,1.0552927,1.0126616,22.9339982,17.7059933,40.1678166,13.1940586,39.4902718,66.7681164,33.5096683,49.8477363,25.9046664,5.1326469,14.8183637,12.1906874,33.5129442,9.8095355 +839,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6312348,0.6591664,13.2519758,7.6987226,57.6431049,21.1004812,33.6014967,69.3736381,35.9606898,47.693821,21.2399743,3.540847,12.8547239,12.481197,37.3210983,3.8762024,0.6004937,0.6459455,13.3550419,7.6767162,56.0911978,21.252568,33.1107925,69.2123485,34.8975622,48.2032322,21.5795032,3.4002935,13.3614899,12.4703332,37.7225783,3.2798675,0.7088874,0.7542911,13.5006683,7.8063239,54.9609625,21.5861469,33.7472407,69.3249367,35.611827,48.6163163,22.0897747,3.4720283,13.2783566,12.1615802,37.9100094,3.5579436,0.7067022,0.7620992,13.4205613,7.7501236,54.0201437,22.3483322,34.0825376,69.1289082,35.2787963,48.8430268,22.2932003,3.5706526,13.9616957,12.2612883,38.2437072,3.0952818,0.6317498,0.6966427,12.5951005,7.6678479,52.8969076,21.7077245,33.8896137,68.8224049,34.7118412,48.1543081,21.37082,3.9387853,13.8739215,12.3025666,39.0107599,4.0540497 +840,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.1215801,1.1700604,22.8890657,18.2401411,36.8742439,14.1405762,38.5151011,66.2901324,32.8927277,50,26.2616924,5.5502932,16.1002116,12.5944805,36.4109639,12.9266779,1.0446021,1.0922308,22.6721033,17.8990998,37.7696619,13.8177225,38.131724,66.6094409,33.3334995,50.2305523,25.7964177,5.4820525,16.132172,12.6558725,35.8052035,13.2220026,1.1293626,1.1313384,23.2302293,18.0472825,39.2783976,13.6431441,38.7176103,66.3524814,33.1094934,49.9205824,25.1207883,5.1964836,15.2340893,12.5929497,33.7654735,10.564269,1.0552927,1.0126616,22.9339982,17.7059933,40.1678166,13.1940586,39.4902718,66.7681164,33.5096683,49.8477363,25.9046664,5.1326469,14.8183637,12.1906874,33.5129442,9.8095355,1.000281,0.9435328,23.5999234,18.8563984,41.1945776,13.3598495,39.3184844,66.5741943,33.6093251,50.089685,25.768832,5.1439446,14.443817,12.2428538,33.3546527,9.3095495 +841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3253006,0.3381284,6.9622244,4.4654276,65.267299,16.7947143,31.7586573,65.3102654,30.979109,39.2734664,16.6043025,8.1228606,9.1474272,8.1008926,38.7067875,2.21239,0.3274653,0.3404975,6.8531201,4.3016013,64.058018,16.604535,32.0549278,65.2620027,31.076392,39.2203292,16.7771455,8.285989,9.1045695,8.4689592,38.966134,2.2388066,0.3378362,0.3509903,7.201983,4.519866,64.0291226,16.1570053,32.0993604,66.2980778,32.1955207,39.2788515,16.8429483,8.4775655,9.3329232,8.4355803,37.6771327,2.279636,0.3756292,0.3831075,7.0653947,4.320568,62.8946513,16.2017593,31.8675825,66.485506,32.3616672,39.0151529,16.5184425,8.0533614,9.4003726,8.3646591,37.9559664,2.7419373,0.3999103,0.4075838,7.2145257,4.342559,61.6792069,16.5885576,31.1884503,66.7402377,32.818346,39.2699527,16.8590833,8.6417676,9.6028624,8.7793709,37.499991,2.4834454 +842,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1453143,1.1534465,12.0725494,7.6956526,49.7454748,18.3166693,38.1422974,68.4435312,38.7035372,49.3650612,22.4896506,3.3815645,12.4435356,11.0202757,34.5913298,7.9710222,1.0796454,1.1146664,11.5341238,7.5696612,48.0837426,19.2161897,38.2937802,68.8761383,38.5865278,49.0928223,22.8123965,3.2630925,11.842819,10.982484,34.2897239,8.1280828,0.9938276,1.0348779,11.4590148,7.46942,47.835904,19.2672739,38.0363236,69.5619292,39.0197196,49.5977969,23.4058336,3.3224046,11.2434351,11.0046356,34.5300021,7.2500109,0.9394153,0.9764813,11.5766948,7.7810071,47.4167857,18.9257705,38.0917711,69.2021475,38.9849693,49.2856566,23.4445147,3.3789769,11.8031398,11.2343303,34.0857692,6.4766,0.8821448,0.9799888,11.3306153,7.7368428,45.5867422,18.8269371,38.1333874,69.2852864,39.1889488,50.1358682,24.2913602,3.603734,11.6930566,11.3597563,33.5889392,7.0679666 +843,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3253778,1.3858147,26.9883181,22.3954583,39.0337474,19.9610044,36.3777728,67.1541451,34.6691591,46.3693314,20.7345265,4.9616849,13.679822,11.1697509,31.3506102,10.6768988,1.2285355,1.2877313,27.0324003,22.337205,39.2278267,20.1048367,36.7741748,68.4758298,35.87699,47.0807301,22.2415865,5.0243627,13.8763919,11.8832097,30.4538485,11.9883236,1.1823661,1.2412282,26.997749,22.3787712,39.8235887,19.3692046,37.45321,68.3634475,35.430052,46.7464836,21.7748937,4.8985653,14.3477645,12.2482054,31.8520696,12.784051,1.1497763,1.2075502,27.3811641,22.9247366,41.3888915,19.84739,38.2686999,67.877734,35.2273867,47.2084855,21.8794923,4.6862485,14.2762904,13.4276405,32.3235901,14.4020347,1.2072856,1.2649548,27.5937243,23.1324923,40.4108048,19.1509282,38.2438191,67.3668076,34.7814157,46.839272,22.228274,4.2353219,14.3771225,14.1477539,33.1710973,15.2775625 +844,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5625472,0.5760555,11.8924205,7.8776111,36.1646343,17.8090776,32.8959835,70.7693079,41.5704716,49.9384966,25.5032284,3.1460146,8.6054485,8.8677318,31.2576309,7.0109232,0.5930172,0.6059678,12.0781004,8.2361942,37.0555069,17.5786565,32.8741907,69.4132312,41.4958193,49.8236157,24.4276181,3.4897234,9.7635111,9.1825873,30.7461892,5.857393,0.5998598,0.6084678,12.1614991,8.3238015,36.4553659,17.4672569,33.6121289,69.210726,41.1582033,49.5677086,24.6251521,3.5426609,10.0002289,9.4221295,31.1922816,7.4576146,0.5576779,0.5911503,11.8650624,7.9729551,36.8192774,17.8251954,34.8587466,70.0774443,41.6807142,49.7224093,25.706794,3.3555583,10.7550399,9.5160427,30.9125622,6.580434,0.5761189,0.6078326,11.6017652,7.8277014,36.7388768,18.278375,34.9005821,70.6669747,41.0451971,48.9757067,25.7086222,3.3351099,11.354496,9.5317387,33.4225564,5.1600932 +845,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4094203,0.4094203,7.3632539,4.8387097,65.2929967,18.379262,33.5288597,67.0811825,31.557954,42.1633036,16.4007508,4.4345378,9.4315245,8.0882353,37.1515679,2.9100529,0.5155459,0.5155459,7.4358974,4.965035,63.4257047,18.9397478,33.5915493,67.4413146,31.8075117,42.2300469,17.3474178,4.7183099,9.2869718,7.7433628,37.411032,2.7227723,0.4666293,0.524828,8.1340835,5.8368495,61.3221154,19.3858415,33.9386792,68.1367925,32.9009434,42.995283,17.9481132,4.8820755,9.3777778,7.4487065,36.5143369,1.7857143,0.5317911,0.5754401,8.42723,5.8920188,60.2354637,19.7701689,34.1894439,68.4967012,33.1055608,43.4260132,18.4967012,4.736098,9.500446,7.8194817,36.1310592,1.2135922,0.5119255,0.5555556,8.1378987,5.65197,59.2193487,19.6771175,32.4470588,69.0117647,32.7294118,43.5058824,18.5176471,4.8235294,10.1687389,7.969724,35.6951872,1.6509434 +846,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6611948,0.6826062,10.5065967,6.6892558,50.7775248,14.7271448,33.3028815,69.9488349,38.8563949,45.6521549,22.634258,3.0507848,8.3101559,8.3507995,33.7421138,5.3370697,0.6228987,0.6447032,10.6494838,7.1661725,49.0015377,14.8578799,34.0350184,70.5476813,40.1080231,46.590886,22.9694372,2.9247382,8.0212045,7.8480075,32.9650726,5.1630351,0.4981279,0.5200441,10.269963,7.0229742,48.4888785,14.961066,34.2744823,70.3627486,40.295415,45.9423875,22.4569849,2.7486901,7.7004268,7.5211843,30.7883506,5.7228812,0.4208975,0.4543315,9.9044425,6.7805924,47.5928915,15.6238335,33.2393812,70.3682836,40.4922907,46.0541147,22.6042785,3.025181,7.4875985,7.5908811,31.0035803,4.7770609,0.4837941,0.5179786,10.1768189,6.8660608,47.4639205,15.179935,33.7514484,69.6835208,39.5793032,45.5229742,22.6360433,2.9525302,7.6671685,7.3411279,31.3416385,4.166656 +847,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.657678,0.6566624,8.038617,5.1718099,20.4474992,18.3488093,31.6715584,69.8528896,37.1772376,51.8589631,21.4698612,4.5351793,9.3845236,8.9586486,26.6637139,5.2044202,0.5812766,0.5561169,7.6037698,4.7981049,19.383706,19.1380962,32.6044187,70.4142158,38.2374427,53.0750481,21.8558565,4.7051048,9.0724771,8.9947177,25.4535391,5.0146153,0.54596,0.5263066,7.8513032,4.7333699,19.3714707,19.5309264,31.9440159,70.8404717,38.4255758,53.1123558,21.722074,4.856794,8.8531922,8.9440294,25.1701663,4.6737112,0.5992994,0.5895111,8.1156993,4.9662304,19.5408769,19.8205162,31.8225761,71.4543867,38.6134915,53.7113182,22.0606989,5.0905537,8.6509716,8.413401,24.5919327,4.5200712,0.6462222,0.6755958,8.118476,4.8486529,19.6421269,20.1694159,32.1728899,70.8833898,38.742253,53.1883236,22.7512868,5.1700793,8.8820103,7.9806768,25.8440345,2.8922799 +848,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5312135,0.5788797,10.6881158,7.0971799,45.2805883,13.278675,30.6372717,68.2338841,38.7404641,48.5474427,19.8049597,5.861489,10.4210546,10.2494407,32.0821091,9.1174135,0.4174974,0.4174974,10.6406984,7.1803087,43.881419,13.1528355,31.0757701,68.5734313,39.3339744,49.0211004,20.3742494,5.9289618,10.569464,10.0718365,32.7360819,8.8098015,0.4985404,0.4904548,10.9036218,7.2976996,42.2137088,13.1180416,30.8250896,68.4062939,39.0979304,48.0983287,20.7429594,6.0539943,10.7590964,9.5943596,33.1679446,9.1175232,0.5264114,0.5444624,11.1056797,7.5949641,40.9490455,13.7712984,30.6006185,67.8054277,38.8861889,47.8755242,20.9022013,6.3541931,9.9733473,9.2470015,34.5828258,9.9448657,0.5361753,0.5546572,11.2122859,7.6940091,41.2505646,13.6054483,30.5737698,67.5051639,38.9770531,47.3377278,20.9436436,6.1009221,10.4239972,9.7537971,34.9677945,8.9610812 +849,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0271754,0.9558035,23.2718277,18.670746,49.2607303,17.2226818,34.9560156,64.3235111,30.8692875,41.2379537,20.4361487,3.2174925,12.9802866,10.4249167,42.6700734,13.1727432,1.1607459,1.1607459,25.0267604,20.2313718,49.5552741,17.6475641,35.09486,64.1051008,30.9397997,41.4138801,20.5227904,3.2238822,13.2123369,10.4561268,43.5390417,14.1691908,1.3565825,1.3613964,27.0494629,21.5275065,50.116475,17.4567261,35.0133763,63.6428056,30.7594975,41.0377532,20.7218404,3.5089935,13.8023814,10.3276253,43.6435365,17.8934977,1.3745066,1.3794385,28.2913021,22.7751365,50.5143309,17.2761302,35.0044061,62.9470471,30.4765252,40.6983794,20.7728462,3.096053,13.9138505,10.390637,44.8161187,21.4404546,1.6061323,1.6337186,29.899388,24.1215256,50.5211814,17.2675307,36.1839792,62.6073187,29.5103869,40.661608,20.3631266,2.9448198,13.4619364,10.1159825,44.3326264,23.4693494 +850,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5643565,0.5491895,8.5672782,5.244552,72.6563446,13.1233791,26.6767178,64.0349383,32.7429317,38.6440285,14.8141416,3.0412173,12.1926352,11.6775947,37.5513881,4.1026528,0.5249937,0.5093733,8.8821087,5.4223539,72.0875947,13.0677261,27.1776179,65.1913917,32.0919565,37.4375155,14.1357391,3.0699586,11.0811544,9.8285892,37.4209969,4.4652317,0.6054572,0.5893587,8.9922985,5.4632735,70.7895578,13.7540148,27.4498134,64.009732,32.2889821,37.7005617,14.8392089,3.2168121,12.368102,10.6824508,36.970055,5.6451053,0.4642803,0.4317481,9.153337,5.9308541,68.7683073,13.4403513,27.4964254,63.5814606,32.6031919,38.1493104,15.3659499,3.4651051,12.9758219,10.7670073,36.2062524,4.7766275,0.5011234,0.468593,9.0734211,5.4885986,67.081138,13.3635192,27.9934827,63.0944697,33.4448871,38.6265812,16.3147621,3.3183127,13.0670224,10.4965682,35.3432365,4.6541501 +851,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6309524,1.7380952,30.6475904,24.7740964,59.2857143,5.7164634,38.0620155,67.5193798,29.6899225,44.4186047,16.6666667,4.5736434,13.2621951,9.5744681,35.4294479,15.248227,1.579836,1.6883743,33.0534351,27.2519084,60.3035144,6.558642,37.5981162,67.7394035,29.5918367,44.6624804,15.9340659,5.2590267,12.2727273,8.6102719,33.2826748,12.8289474,1.5540871,1.6642193,32.8438949,26.8160742,61.5823817,7.1205008,36.7038217,66.9585987,28.4235669,43.3917197,15.843949,4.8566879,15.3726708,11.2654321,36.1801242,11.7449664,1.7146411,1.8265814,32.725832,26.703645,63.25,7.9073482,35.3658537,66.2601626,27.7235772,42.6829268,15.203252,5.6097561,15.15625,10.7476636,34.84375,12.5,1.984944,2.0952381,33.671875,27.734375,61.5702479,7.6619273,36.1958266,64.1252006,26.4044944,40.6902087,15.1685393,5.5377207,16.1949686,11.7554859,35.5799373,13.803681 +852,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5205307,0.5039334,7.3659237,4.8133087,63.2032568,11.0909341,32.4414516,65.7747835,30.3853514,41.5645449,15.761169,13.4463502,10.8258125,9.0662242,37.8093257,3.2435748,0.5305149,0.5294745,7.3623413,4.9150238,62.5535199,10.9782486,32.3260596,65.4502092,30.6343802,41.3437921,15.7230584,13.5129603,10.7400759,9.0826909,37.714957,3.597561,0.5260618,0.5229285,7.2755881,4.9392006,62.1013797,10.6792837,31.8194325,65.2260602,29.5520161,40.573038,15.4390553,13.6663455,10.8723961,9.1631911,37.5427053,3.7561576,0.5812707,0.5696485,7.5587884,5.0553278,62.1056365,10.3046615,31.555897,64.912407,30.1098431,40.4268584,15.5241936,13.8973848,10.9078965,9.2212568,37.835333,3.390875,0.583516,0.5590769,7.5620352,5.0111542,61.695086,10.2459605,31.2613387,65.3062672,29.8241907,40.3167252,15.5783455,14.0853904,10.5840399,9.2289404,37.8266716,3.263546 +853,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6420252,0.6572412,9.1857305,6.6061101,71.9876022,11.6123496,30.5733177,66.2745282,30.4819079,43.9812597,14.4929385,4.5112131,11.132104,10.9401295,32.3379458,4.1367085,0.6696795,0.6937799,9.6405984,6.8603191,71.3704115,11.7372128,30.4442792,66.3328319,30.5823785,44.1873727,14.6524218,4.7997486,11.3323842,11.1421222,32.2461417,5.2158705,0.6559821,0.6782937,9.457214,6.6141783,70.2621909,11.7807541,30.4029427,66.7185627,30.5948916,44.6269855,14.9796722,4.9772409,11.3329319,11.0886144,31.8941632,5.8049054,0.5336389,0.568694,9.0157575,6.2777323,69.5283785,12.2324162,29.9021614,66.2611878,31.4819679,44.9222332,15.0326572,5.3285156,10.982958,11.2393927,31.2292573,6.0543382,0.5390443,0.5755586,9.0101977,6.2852732,68.1434287,12.5388115,29.2895955,66.5577158,31.5878608,44.9856198,15.4218282,5.3408553,11.0189582,11.1027117,30.6972936,7.3409324 +854,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5787568,0.5956399,7.2666436,4.0370242,72.6822525,20.0193308,29.0919755,63.2307105,27.0654704,39.5752064,15.0623558,5.7482446,10.1336348,8.6940337,35.5066999,5.2752318,0.4836305,0.5181923,7.357557,4.1569221,72.1917745,19.7645137,30.1397202,63.2529091,27.5357437,40.2838221,15.6432646,5.6937572,9.7426514,8.4814853,35.4874382,4.2987865,0.4183174,0.4451223,6.7176093,3.8582187,70.7042668,19.9725351,30.6260263,63.6202444,27.4166224,39.9022603,15.5186381,5.8904264,9.4319044,8.3333364,36.1070367,2.9681368,0.3297927,0.3506933,6.5743488,3.960216,69.4846218,20.3860333,30.9605856,63.2351873,28.6468563,40.0197216,15.3922042,5.8627607,9.4594629,8.1985324,34.8161746,3.0233599,0.2871644,0.2810839,6.9041218,4.1981836,68.7883358,19.7893641,30.650755,63.5981392,29.4127396,40.0360664,15.3155432,5.9704636,9.8733271,8.3645943,35.5263216,3.1554532 +855,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8004182,0.8031826,8.0207074,5.0196409,51.6905613,21.0327475,32.9887383,70.6383323,32.9161958,44.9582872,16.0863176,6.3293332,10.3662941,9.0819464,31.2582942,1.8218587,0.6584249,0.6611884,8.0506818,5.0517582,49.6877209,20.945741,32.468241,70.7622256,33.4119599,45.5354066,16.6061798,6.4428207,10.3164265,9.5379349,31.6887781,1.7441827,0.757965,0.7607572,7.9041989,4.8073374,49.5021949,20.675369,32.2234312,70.1782748,32.9148237,45.3238804,16.3937475,6.6047915,10.7119397,9.4719253,31.6887676,1.6605135,0.8835373,0.8863741,7.8033469,4.9159258,48.494399,20.7330547,31.8699393,69.7464608,32.5312348,45.6465646,16.7707413,6.7780906,10.7920944,9.6763381,32.4834562,2.4163479,0.7104459,0.7046176,7.8324406,5.0525816,47.7557769,20.9828231,31.5343838,69.1048777,32.7378789,44.8852588,17.0176782,6.6754281,11.4059457,9.6896418,32.8838411,2.830178 +856,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5305149,0.5294745,7.3623413,4.9150238,62.5535199,10.9782486,32.3260596,65.4502092,30.6343802,41.3437921,15.7230584,13.5129603,10.7400759,9.0826909,37.714957,3.597561,0.5260618,0.5229285,7.2755881,4.9392006,62.1013797,10.6792837,31.8194325,65.2260602,29.5520161,40.573038,15.4390553,13.6663455,10.8723961,9.1631911,37.5427053,3.7561576,0.5812707,0.5696485,7.5587884,5.0553278,62.1056365,10.3046615,31.555897,64.912407,30.1098431,40.4268584,15.5241936,13.8973848,10.9078965,9.2212568,37.835333,3.390875,0.583516,0.5590769,7.5620352,5.0111542,61.695086,10.2459605,31.2613387,65.3062672,29.8241907,40.3167252,15.5783455,14.0853904,10.5840399,9.2289404,37.8266716,3.263546,0.6185864,0.5687092,7.3281478,4.7773461,61.0057902,10.1633546,31.1693016,65.4160683,29.9641294,40.3658517,15.7173581,14.4404599,10.4742523,9.2226411,36.8270084,3.6828955 +857,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6964773,0.7282001,10.4052594,6.8368413,56.6391855,9.0782239,29.5226633,69.7252999,40.3645239,42.7981954,20.7906764,4.5801119,9.8511164,8.6463988,36.1170512,4.7712418,0.6765922,0.7031996,10.3519736,6.8321969,55.4556142,9.0583068,29.5072452,69.6732517,40.1292236,43.0920298,20.8079344,4.7331362,9.7059916,8.7300044,36.2487739,5.0836544,0.6258955,0.6484772,9.8964342,6.6310872,54.7487575,9.1357608,29.1281977,69.2352077,39.9653766,42.3992803,20.850811,4.5373468,9.8314572,8.8126704,36.6184777,5.421686,0.6346872,0.6585488,10.095083,6.8198599,54.0174331,9.4211144,29.3688258,69.4339436,40.0913665,42.4753182,20.988232,4.6051225,9.8260829,8.6741613,36.6653662,5.5921045,0.6249015,0.6384066,10.1770817,6.8297123,53.733538,9.4880763,29.236144,69.6126952,40.2097906,42.5443769,21.2533557,4.5992446,9.9622509,8.5477758,36.9669657,5.403556 +858,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6584249,0.6611884,8.0506818,5.0517582,49.6877209,20.945741,32.468241,70.7622256,33.4119599,45.5354066,16.6061798,6.4428207,10.3164265,9.5379349,31.6887781,1.7441827,0.757965,0.7607572,7.9041989,4.8073374,49.5021949,20.675369,32.2234312,70.1782748,32.9148237,45.3238804,16.3937475,6.6047915,10.7119397,9.4719253,31.6887676,1.6605135,0.8835373,0.8863741,7.8033469,4.9159258,48.494399,20.7330547,31.8699393,69.7464608,32.5312348,45.6465646,16.7707413,6.7780906,10.7920944,9.6763381,32.4834562,2.4163479,0.7104459,0.7046176,7.8324406,5.0525816,47.7557769,20.9828231,31.5343838,69.1048777,32.7378789,44.8852588,17.0176782,6.6754281,11.4059457,9.6896418,32.8838411,2.830178,0.7004521,0.7034077,7.7026375,4.9366031,46.5961309,20.8365088,32.1577984,69.1383679,33.6447002,45.6537913,17.3656202,6.4620553,11.6822346,9.8849677,32.3381422,2.3985151 +859,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.789795,0.801361,11.6021389,7.6568891,46.8587533,15.1126409,34.1938565,69.2826589,37.6266467,49.7049646,26.4164506,4.1032634,10.1006507,8.3145396,38.858286,7.9860417,0.8807146,0.8803125,12.0738368,8.1622231,46.4348554,15.4881029,34.129606,69.2165136,37.3233252,49.1338794,25.7934457,4.3034158,10.7421539,8.49888,40.0240869,7.5162745,0.7993485,0.809268,11.7463254,8.2836876,46.0019893,15.4716789,33.7486228,69.8699604,37.4891364,49.5481845,25.4859508,4.3825748,10.2667771,7.7449282,40.5485771,6.907838,0.6410175,0.6410175,11.6727343,8.2602854,46.5557113,15.5375611,33.6035033,70.1795328,36.7175549,48.4943363,24.4312174,4.2181321,10.5270873,8.0957,41.4393818,6.3757846,0.6666618,0.6666618,11.664757,8.0357175,46.8026724,14.5599452,33.5820936,70.835848,36.2089422,47.9701337,24.0895714,4.149249,10.6096039,9.2352845,41.3690456,5.434722 +860,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2072496,1.2295591,21.3557084,17.4349143,41.9697679,20.5287218,37.653094,66.7166976,38.2141305,47.5580465,20.0923654,3.4818737,14.340445,11.7872516,36.9880318,16.0286354,1.1264147,1.1578489,21.1885131,17.0438112,43.880021,20.0611834,37.934903,66.8423592,37.0883454,46.7262014,19.549253,3.0642778,14.6270055,11.3579494,36.2068742,14.5088969,1.0626861,1.0896579,21.211635,17.4728874,45.8052828,20.341143,37.9008874,67.3009988,37.6130255,46.7871391,19.7598292,3.2555601,14.2446692,11.2161245,35.3788735,12.3481477,1.1227648,1.1493366,21.2984761,17.3711335,47.0533653,20.6431385,37.9927736,66.980354,37.7910992,46.9343294,20.550726,3.2678704,14.3485201,11.3200118,35.7830815,11.7760118,1.139329,1.2021888,21.9395273,18.0266435,47.5453831,20.3980752,38.3335463,67.539646,36.8356752,47.0448185,20.3985777,3.3307678,14.4830096,12.0458051,36.1220601,12.2640986 +861,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6765922,0.7031996,10.3519736,6.8321969,55.4556142,9.0583068,29.5072452,69.6732517,40.1292236,43.0920298,20.8079344,4.7331362,9.7059916,8.7300044,36.2487739,5.0836544,0.6258955,0.6484772,9.8964342,6.6310872,54.7487575,9.1357608,29.1281977,69.2352077,39.9653766,42.3992803,20.850811,4.5373468,9.8314572,8.8126704,36.6184777,5.421686,0.6346872,0.6585488,10.095083,6.8198599,54.0174331,9.4211144,29.3688258,69.4339436,40.0913665,42.4753182,20.988232,4.6051225,9.8260829,8.6741613,36.6653662,5.5921045,0.6249015,0.6384066,10.1770817,6.8297123,53.733538,9.4880763,29.236144,69.6126952,40.2097906,42.5443769,21.2533557,4.5992446,9.9622509,8.5477758,36.9669657,5.403556,0.6163859,0.6404458,10.0925051,6.7933535,53.1899387,9.7749689,28.8384673,70.0632345,39.9434216,42.4062549,21.2391775,4.7204326,9.9251657,8.4532022,36.4330538,5.6834524 +862,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6258955,0.6484772,9.8964342,6.6310872,54.7487575,9.1357608,29.1281977,69.2352077,39.9653766,42.3992803,20.850811,4.5373468,9.8314572,8.8126704,36.6184777,5.421686,0.6346872,0.6585488,10.095083,6.8198599,54.0174331,9.4211144,29.3688258,69.4339436,40.0913665,42.4753182,20.988232,4.6051225,9.8260829,8.6741613,36.6653662,5.5921045,0.6249015,0.6384066,10.1770817,6.8297123,53.733538,9.4880763,29.236144,69.6126952,40.2097906,42.5443769,21.2533557,4.5992446,9.9622509,8.5477758,36.9669657,5.403556,0.6163859,0.6404458,10.0925051,6.7933535,53.1899387,9.7749689,28.8384673,70.0632345,39.9434216,42.4062549,21.2391775,4.7204326,9.9251657,8.4532022,36.4330538,5.6834524,0.6037511,0.6171117,9.9826962,6.7993053,52.1640512,9.9863565,28.7953542,70.079237,40.4513094,42.3805698,21.0668312,4.7025699,10.3742925,8.4725557,36.2636187,6.1940299 +863,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2126174,1.1612934,19.1589815,15.200805,36.2137833,18.9390198,38.4667085,68.4489144,38.5250765,48.3994256,23.2620653,4.2933689,11.6060032,10.0571374,31.5246016,15.0664815,1.2946207,1.2431836,19.4745041,15.3734528,36.5945568,18.7519101,38.4281016,68.5455043,38.2495752,48.0558692,23.3745282,4.510769,11.4900756,9.6237457,30.4928187,15.5935508,1.1186748,1.093225,19.8829777,15.7913093,36.4102606,18.8802395,38.7034192,68.3740738,38.6627284,47.7501572,24.3265292,4.4870645,11.3731658,8.8834335,30.2192362,15.4964527,1.1807988,1.1551852,20.3911732,16.3161575,36.5042299,18.6999641,38.6076762,67.733078,38.6359031,47.6606349,24.524628,4.5243119,11.6871745,9.0900889,30.8949511,15.1093528,1.1421022,1.1246727,21.0457183,17.0131386,37.634229,18.5024402,39.6544637,68.0502723,37.812198,48.1786559,24.8627516,4.3803327,12.4077425,9.1998094,32.0702183,15.7255919 +864,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0342325,0.980716,16.9064547,13.5330907,76.8164079,15.088798,31.5505158,66.1362469,35.8949992,37.5117103,19.2669698,4.3719633,13.794741,8.8040295,42.8256723,12.6424879,1.1796012,1.1259988,17.033946,13.8806309,77.7847393,14.8245423,31.5293598,65.5158096,34.833825,36.5697328,19.3470878,4.4928826,14.1689548,9.1309445,43.9184448,11.7835528,1.2083833,1.155515,16.9929065,13.4632092,78.8822222,15.4029826,32.5314206,65.362693,35.5512564,37.3145885,19.4732073,4.7014016,13.9554021,9.3103987,43.1460816,9.1191866,1.2051857,1.2315499,16.7607212,13.1855703,79.0062509,15.4336043,32.3215496,65.3998187,34.4875684,36.7083643,19.4270435,4.9893304,13.5570003,9.6164465,41.6998215,10.1108753,1.2019646,1.2280679,17.3373975,13.7520077,80.2811905,15.0640807,33.2329535,65.4134051,34.7001107,37.738733,18.6335218,5.0995609,14.5023722,9.4730448,42.6773064,9.7381644 +865,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6346872,0.6585488,10.095083,6.8198599,54.0174331,9.4211144,29.3688258,69.4339436,40.0913665,42.4753182,20.988232,4.6051225,9.8260829,8.6741613,36.6653662,5.5921045,0.6249015,0.6384066,10.1770817,6.8297123,53.733538,9.4880763,29.236144,69.6126952,40.2097906,42.5443769,21.2533557,4.5992446,9.9622509,8.5477758,36.9669657,5.403556,0.6163859,0.6404458,10.0925051,6.7933535,53.1899387,9.7749689,28.8384673,70.0632345,39.9434216,42.4062549,21.2391775,4.7204326,9.9251657,8.4532022,36.4330538,5.6834524,0.6037511,0.6171117,9.9826962,6.7993053,52.1640512,9.9863565,28.7953542,70.079237,40.4513094,42.3805698,21.0668312,4.7025699,10.3742925,8.4725557,36.2636187,6.1940299,0.6239468,0.6106685,9.9188057,6.8771191,51.0190414,10.059629,28.8906212,70.5673299,40.8275122,42.814985,21.3502744,4.7398205,9.9792795,8.2468303,36.4469715,5.6349206 +866,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8807146,0.8803125,12.0738368,8.1622231,46.4348554,15.4881029,34.129606,69.2165136,37.3233252,49.1338794,25.7934457,4.3034158,10.7421539,8.49888,40.0240869,7.5162745,0.7993485,0.809268,11.7463254,8.2836876,46.0019893,15.4716789,33.7486228,69.8699604,37.4891364,49.5481845,25.4859508,4.3825748,10.2667771,7.7449282,40.5485771,6.907838,0.6410175,0.6410175,11.6727343,8.2602854,46.5557113,15.5375611,33.6035033,70.1795328,36.7175549,48.4943363,24.4312174,4.2181321,10.5270873,8.0957,41.4393818,6.3757846,0.6666618,0.6666618,11.664757,8.0357175,46.8026724,14.5599452,33.5820936,70.835848,36.2089422,47.9701337,24.0895714,4.149249,10.6096039,9.2352845,41.3690456,5.434722,0.6942225,0.6942225,12.1813936,8.5654995,46.2287787,14.9449819,33.118077,69.895479,36.0085948,47.1402232,23.2164922,4.0897865,10.2424267,10.0121262,41.2162263,7.1427981 +867,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6400757,0.6225797,9.507472,5.9055183,36.8647481,15.9546989,35.9200365,69.1219183,38.9383749,50.0685569,21.9601786,3.9358643,10.606556,9.6914297,32.5217111,6.2121739,0.6415669,0.6181901,9.4652874,5.8545477,35.7373683,16.1068331,35.9588579,69.1166057,39.5942572,50.1668073,22.277809,4.1710653,11.1348085,10.1280502,32.1545537,6.8038599,0.6894965,0.6736262,9.3705395,5.8733979,34.8219864,16.7844129,35.6828228,69.3950768,39.8440981,50.2932964,22.5756012,4.4454754,11.5974213,10.4500644,32.2574545,5.6818661,0.6636521,0.6472361,9.3924407,5.8621462,33.9861665,17.0106888,35.4154398,69.4143651,39.9789979,49.9619623,22.7324395,4.4780531,12.0331253,10.772221,32.4672379,5.9122181,0.6650366,0.666149,9.1948491,5.7753607,33.199243,17.0214777,35.4119584,69.1455033,40.294916,50.0406847,22.410966,4.5066234,12.0310831,10.3063643,32.0886325,4.6552174 +868,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2946207,1.2431836,19.4745041,15.3734528,36.5945568,18.7519101,38.4281016,68.5455043,38.2495752,48.0558692,23.3745282,4.510769,11.4900756,9.6237457,30.4928187,15.5935508,1.1186748,1.093225,19.8829777,15.7913093,36.4102606,18.8802395,38.7034192,68.3740738,38.6627284,47.7501572,24.3265292,4.4870645,11.3731658,8.8834335,30.2192362,15.4964527,1.1807988,1.1551852,20.3911732,16.3161575,36.5042299,18.6999641,38.6076762,67.733078,38.6359031,47.6606349,24.524628,4.5243119,11.6871745,9.0900889,30.8949511,15.1093528,1.1421022,1.1246727,21.0457183,17.0131386,37.634229,18.5024402,39.6544637,68.0502723,37.812198,48.1786559,24.8627516,4.3803327,12.4077425,9.1998094,32.0702183,15.7255919,1.1169889,1.1076621,20.7191505,16.7289713,37.6114187,18.5435118,39.0081261,67.8513154,37.5599296,47.6481144,24.9915541,4.2527966,12.9228817,9.6706689,31.2655156,14.1077059 +869,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1107375,1.1905957,24.6112608,21.0003859,45.7813992,14.8246262,42.3747722,64.9276758,34.8962825,48.3671328,24.3300079,4.0910093,12.4911207,9.3155039,29.3255229,17.9951236,1.1909336,1.2518661,25.3839997,21.6068541,46.9189818,14.0947926,41.2142795,65.4894284,34.3045559,47.3967178,23.3214463,3.4522795,12.7737358,9.3201722,28.5822747,18.9387118,1.2285396,1.2698779,25.4616985,21.4087587,48.2262928,13.8223932,41.3281064,65.55875,34.0325901,46.6830405,23.5947958,3.6482535,13.0950884,9.4141288,27.6607599,20.5820741,1.1830166,1.2539915,27.1498877,22.5656442,48.6888708,13.9597655,41.8354682,66.2587443,35.0551896,46.9704789,23.6662546,3.2587926,12.8188694,9.1456531,29.0603193,24.2263217,1.2238191,1.4150633,27.6784831,23.0281669,48.6434323,14.8303905,41.2341792,65.0369772,36.0599692,47.1850275,24.0290938,3.5252783,11.2686216,8.6578283,30.2027502,25.2907243 +870,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4174974,0.4174974,10.6406984,7.1803087,43.881419,13.1528355,31.0757701,68.5734313,39.3339744,49.0211004,20.3742494,5.9289618,10.569464,10.0718365,32.7360819,8.8098015,0.4985404,0.4904548,10.9036218,7.2976996,42.2137088,13.1180416,30.8250896,68.4062939,39.0979304,48.0983287,20.7429594,6.0539943,10.7590964,9.5943596,33.1679446,9.1175232,0.5264114,0.5444624,11.1056797,7.5949641,40.9490455,13.7712984,30.6006185,67.8054277,38.8861889,47.8755242,20.9022013,6.3541931,9.9733473,9.2470015,34.5828258,9.9448657,0.5361753,0.5546572,11.2122859,7.6940091,41.2505646,13.6054483,30.5737698,67.5051639,38.9770531,47.3377278,20.9436436,6.1009221,10.4239972,9.7537971,34.9677945,8.9610812,0.6027003,0.6129994,11.1782558,7.7248109,39.9355092,13.0538132,30.9000877,67.3902052,38.9215133,47.4561547,20.7669802,6.2178055,10.4801063,9.9225308,34.0283578,8.6554996 +871,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.579836,1.6883743,33.0534351,27.2519084,60.3035144,6.558642,37.5981162,67.7394035,29.5918367,44.6624804,15.9340659,5.2590267,12.2727273,8.6102719,33.2826748,12.8289474,1.5540871,1.6642193,32.8438949,26.8160742,61.5823817,7.1205008,36.7038217,66.9585987,28.4235669,43.3917197,15.843949,4.8566879,15.3726708,11.2654321,36.1801242,11.7449664,1.7146411,1.8265814,32.725832,26.703645,63.25,7.9073482,35.3658537,66.2601626,27.7235772,42.6829268,15.203252,5.6097561,15.15625,10.7476636,34.84375,12.5,1.984944,2.0952381,33.671875,27.734375,61.5702479,7.6619273,36.1958266,64.1252006,26.4044944,40.6902087,15.1685393,5.5377207,16.1949686,11.7554859,35.5799373,13.803681,2.2756675,2.3117947,34.1257669,28.9110429,61.5322581,7.6036866,35.1246106,64.4080997,26.0903427,40.7320872,16.1214953,5.529595,16.5615142,12.4213836,37.5786164,13.9053254 +872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5249937,0.5093733,8.8821087,5.4223539,72.0875947,13.0677261,27.1776179,65.1913917,32.0919565,37.4375155,14.1357391,3.0699586,11.0811544,9.8285892,37.4209969,4.4652317,0.6054572,0.5893587,8.9922985,5.4632735,70.7895578,13.7540148,27.4498134,64.009732,32.2889821,37.7005617,14.8392089,3.2168121,12.368102,10.6824508,36.970055,5.6451053,0.4642803,0.4317481,9.153337,5.9308541,68.7683073,13.4403513,27.4964254,63.5814606,32.6031919,38.1493104,15.3659499,3.4651051,12.9758219,10.7670073,36.2062524,4.7766275,0.5011234,0.468593,9.0734211,5.4885986,67.081138,13.3635192,27.9934827,63.0944697,33.4448871,38.6265812,16.3147621,3.3183127,13.0670224,10.4965682,35.3432365,4.6541501,0.4625727,0.4304602,8.6750067,4.906751,67.5240244,13.5688612,27.9910213,62.1728695,33.7885176,38.4920165,16.4572201,3.415227,12.8370495,9.7691396,35.0236708,4.4652244 +873,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5155459,0.5155459,7.4358974,4.965035,63.4257047,18.9397478,33.5915493,67.4413146,31.8075117,42.2300469,17.3474178,4.7183099,9.2869718,7.7433628,37.411032,2.7227723,0.4666293,0.524828,8.1340835,5.8368495,61.3221154,19.3858415,33.9386792,68.1367925,32.9009434,42.995283,17.9481132,4.8820755,9.3777778,7.4487065,36.5143369,1.7857143,0.5317911,0.5754401,8.42723,5.8920188,60.2354637,19.7701689,34.1894439,68.4967012,33.1055608,43.4260132,18.4967012,4.736098,9.500446,7.8194817,36.1310592,1.2135922,0.5119255,0.5555556,8.1378987,5.65197,59.2193487,19.6771175,32.4470588,69.0117647,32.7294118,43.5058824,18.5176471,4.8235294,10.1687389,7.969724,35.6951872,1.6509434,0.6415897,0.6855844,8.0690961,5.560814,58.6215178,19.4040357,32.1293673,68.7677054,33.0736544,44.4050992,18.3899906,4.7922568,9.6338274,7.9039301,34.5175439,1.6746411 +874,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5812766,0.5561169,7.6037698,4.7981049,19.383706,19.1380962,32.6044187,70.4142158,38.2374427,53.0750481,21.8558565,4.7051048,9.0724771,8.9947177,25.4535391,5.0146153,0.54596,0.5263066,7.8513032,4.7333699,19.3714707,19.5309264,31.9440159,70.8404717,38.4255758,53.1123558,21.722074,4.856794,8.8531922,8.9440294,25.1701663,4.6737112,0.5992994,0.5895111,8.1156993,4.9662304,19.5408769,19.8205162,31.8225761,71.4543867,38.6134915,53.7113182,22.0606989,5.0905537,8.6509716,8.413401,24.5919327,4.5200712,0.6462222,0.6755958,8.118476,4.8486529,19.6421269,20.1694159,32.1728899,70.8833898,38.742253,53.1883236,22.7512868,5.1700793,8.8820103,7.9806768,25.8440345,2.8922799,0.7537887,0.8105316,8.4443585,5.3013289,18.873783,20.1603726,32.2038476,70.6748122,39.0039942,53.4079287,23.1013091,5.2800961,9.2245171,8.2329682,26.479791,5.371377 +875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6415669,0.6181901,9.4652874,5.8545477,35.7373683,16.1068331,35.9588579,69.1166057,39.5942572,50.1668073,22.277809,4.1710653,11.1348085,10.1280502,32.1545537,6.8038599,0.6894965,0.6736262,9.3705395,5.8733979,34.8219864,16.7844129,35.6828228,69.3950768,39.8440981,50.2932964,22.5756012,4.4454754,11.5974213,10.4500644,32.2574545,5.6818661,0.6636521,0.6472361,9.3924407,5.8621462,33.9861665,17.0106888,35.4154398,69.4143651,39.9789979,49.9619623,22.7324395,4.4780531,12.0331253,10.772221,32.4672379,5.9122181,0.6650366,0.666149,9.1948491,5.7753607,33.199243,17.0214777,35.4119584,69.1455033,40.294916,50.0406847,22.410966,4.5066234,12.0310831,10.3063643,32.0886325,4.6552174,0.7575552,0.7636124,9.2242169,5.626046,32.2709836,17.2301857,35.7264739,69.4852806,40.3211807,50.5531304,22.7504944,4.4565043,12.3334665,10.45527,32.2887176,6.0546851 +876,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6228987,0.6447032,10.6494838,7.1661725,49.0015377,14.8578799,34.0350184,70.5476813,40.1080231,46.590886,22.9694372,2.9247382,8.0212045,7.8480075,32.9650726,5.1630351,0.4981279,0.5200441,10.269963,7.0229742,48.4888785,14.961066,34.2744823,70.3627486,40.295415,45.9423875,22.4569849,2.7486901,7.7004268,7.5211843,30.7883506,5.7228812,0.4208975,0.4543315,9.9044425,6.7805924,47.5928915,15.6238335,33.2393812,70.3682836,40.4922907,46.0541147,22.6042785,3.025181,7.4875985,7.5908811,31.0035803,4.7770609,0.4837941,0.5179786,10.1768189,6.8660608,47.4639205,15.179935,33.7514484,69.6835208,39.5793032,45.5229742,22.6360433,2.9525302,7.6671685,7.3411279,31.3416385,4.166656,0.3786541,0.4074621,9.5559833,6.428568,47.0860266,15.4405928,33.7773423,70.278329,39.5029729,45.8250603,23.0417428,3.1610358,7.8571664,6.8301906,31.525042,3.571417 +877,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6803773,0.6843917,9.6487926,6.5769415,58.6335538,12.8988564,29.1876068,68.1802974,38.6127952,44.2175288,20.5353006,5.5562526,10.2688788,9.0527899,33.450555,5.2017793,0.6867091,0.6907601,9.4984088,6.5887434,58.2019696,12.6860538,28.7320496,67.7987296,38.7289837,43.513626,20.2532017,5.1982704,10.5224643,9.2380236,34.1561964,4.9333133,0.5967688,0.5897148,9.4067402,6.8667401,57.2044691,12.8022327,29.008031,68.0355487,38.68305,43.5193636,19.9729895,5.2544086,10.6275877,9.3426138,33.8657603,6.2287042,0.6556915,0.648462,9.4320683,6.8486788,56.2328689,13.1103477,29.358352,67.6989433,39.1100393,44.1336638,20.4435203,5.202932,10.6081678,8.994531,34.1705175,7.194391,0.6902184,0.682775,9.4522596,6.8166898,54.8704741,13.3226364,28.8024438,67.7572903,39.5485381,44.216888,20.7095945,5.2808638,10.5354922,9.2321609,35.649422,7.4917629 +878,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8571017,0.8559955,14.2127201,8.8903102,44.8641585,15.8300678,37.4567494,68.7716288,38.5404318,52.6040694,22.7201438,3.7263873,11.0547866,9.7527842,32.6261374,8.8235341,0.8313577,0.813944,13.9292508,8.9121926,43.7772258,16.3237176,37.1489697,68.9551831,38.5995461,52.3577885,22.781852,3.8118718,11.3190766,9.8413492,32.1915937,10.5405405,0.8687663,0.8621345,14.2583519,9.5462942,43.0593522,16.0505422,36.8357272,68.8394339,38.921152,51.813674,22.3951901,4.1128032,11.3112658,9.9728738,32.5449113,9.3582938,0.8716127,0.8827943,14.0853244,9.3250922,41.7165221,15.7581784,36.9353905,68.4580797,39.3791868,51.402792,22.7216711,4.1727564,11.7230997,10.0610847,31.8680801,11.2716828,0.8430223,0.854122,13.7354467,9.2331772,41.1407553,15.899292,37.5721021,68.1997356,38.8375935,51.2086228,23.0699628,4.4191748,11.6100734,10.3137104,32.9864198,9.939765 +879,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4985404,0.4904548,10.9036218,7.2976996,42.2137088,13.1180416,30.8250896,68.4062939,39.0979304,48.0983287,20.7429594,6.0539943,10.7590964,9.5943596,33.1679446,9.1175232,0.5264114,0.5444624,11.1056797,7.5949641,40.9490455,13.7712984,30.6006185,67.8054277,38.8861889,47.8755242,20.9022013,6.3541931,9.9733473,9.2470015,34.5828258,9.9448657,0.5361753,0.5546572,11.2122859,7.6940091,41.2505646,13.6054483,30.5737698,67.5051639,38.9770531,47.3377278,20.9436436,6.1009221,10.4239972,9.7537971,34.9677945,8.9610812,0.6027003,0.6129994,11.1782558,7.7248109,39.9355092,13.0538132,30.9000877,67.3902052,38.9215133,47.4561547,20.7669802,6.2178055,10.4801063,9.9225308,34.0283578,8.6554996,0.6125354,0.6277251,11.1934583,7.5191251,38.2246639,13.2753393,31.5775562,67.4568833,39.3720305,47.8588255,21.121931,6.2308664,9.322245,8.739143,33.294855,8.4375053 +880,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.535871,0.5479874,7.97297,5.2733558,83.4627434,7.6703024,27.1711091,62.3769315,28.171348,37.984024,13.7717414,5.4774183,10.5732841,9.3613856,37.2386251,3.7109291,0.603249,0.608559,7.6753004,5.167169,83.3601624,7.6107429,26.8623049,62.488663,28.0965462,37.9760922,14.0196707,5.5335217,10.7122713,9.4397289,37.28818,3.678789,0.6070456,0.6040324,7.5610083,5.0730521,83.4223189,7.7714597,26.7775631,62.7133894,28.3697678,38.0520395,14.0642591,5.6750119,10.6587853,9.2460507,37.5106706,4.1436369,0.5610541,0.5621352,7.4956957,5.0995472,83.2260259,7.6157575,26.8310269,62.7637726,28.4520088,38.023767,14.4151978,5.4927517,10.0889809,8.7802716,37.6454464,4.2202474,0.6024508,0.6064447,7.5691701,5.1662436,82.9336793,7.7095872,26.3942757,62.6116013,28.9121965,38.1514273,14.3778705,5.6183281,10.0168656,8.6396501,37.5423482,5.0286062 +881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1796012,1.1259988,17.033946,13.8806309,77.7847393,14.8245423,31.5293598,65.5158096,34.833825,36.5697328,19.3470878,4.4928826,14.1689548,9.1309445,43.9184448,11.7835528,1.2083833,1.155515,16.9929065,13.4632092,78.8822222,15.4029826,32.5314206,65.362693,35.5512564,37.3145885,19.4732073,4.7014016,13.9554021,9.3103987,43.1460816,9.1191866,1.2051857,1.2315499,16.7607212,13.1855703,79.0062509,15.4336043,32.3215496,65.3998187,34.4875684,36.7083643,19.4270435,4.9893304,13.5570003,9.6164465,41.6998215,10.1108753,1.2019646,1.2280679,17.3373975,13.7520077,80.2811905,15.0640807,33.2329535,65.4134051,34.7001107,37.738733,18.6335218,5.0995609,14.5023722,9.4730448,42.6773064,9.7381644,1.1645846,1.2425282,17.5819143,13.834192,80.9029992,15.0663281,33.7210648,65.8295742,35.0725628,38.779119,17.9732486,5.1443326,14.0092744,9.6321476,41.9920417,9.0219532 +882,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.6054572,0.5893587,8.9922985,5.4632735,70.7895578,13.7540148,27.4498134,64.009732,32.2889821,37.7005617,14.8392089,3.2168121,12.368102,10.6824508,36.970055,5.6451053,0.4642803,0.4317481,9.153337,5.9308541,68.7683073,13.4403513,27.4964254,63.5814606,32.6031919,38.1493104,15.3659499,3.4651051,12.9758219,10.7670073,36.2062524,4.7766275,0.5011234,0.468593,9.0734211,5.4885986,67.081138,13.3635192,27.9934827,63.0944697,33.4448871,38.6265812,16.3147621,3.3183127,13.0670224,10.4965682,35.3432365,4.6541501,0.4625727,0.4304602,8.6750067,4.906751,67.5240244,13.5688612,27.9910213,62.1728695,33.7885176,38.4920165,16.4572201,3.415227,12.8370495,9.7691396,35.0236708,4.4652244,0.3522887,0.3522887,8.5077631,4.8997579,66.1253092,13.6625886,28.5789856,62.7081366,34.4262074,38.4741812,16.2504103,3.5141017,12.8922776,9.9669012,35.5218027,2.8647643 +883,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6894965,0.6736262,9.3705395,5.8733979,34.8219864,16.7844129,35.6828228,69.3950768,39.8440981,50.2932964,22.5756012,4.4454754,11.5974213,10.4500644,32.2574545,5.6818661,0.6636521,0.6472361,9.3924407,5.8621462,33.9861665,17.0106888,35.4154398,69.4143651,39.9789979,49.9619623,22.7324395,4.4780531,12.0331253,10.772221,32.4672379,5.9122181,0.6650366,0.666149,9.1948491,5.7753607,33.199243,17.0214777,35.4119584,69.1455033,40.294916,50.0406847,22.410966,4.5066234,12.0310831,10.3063643,32.0886325,4.6552174,0.7575552,0.7636124,9.2242169,5.626046,32.2709836,17.2301857,35.7264739,69.4852806,40.3211807,50.5531304,22.7504944,4.4565043,12.3334665,10.45527,32.2887176,6.0546851,0.826123,0.8318994,9.3580646,5.4977292,30.8840362,17.2312407,35.3117123,69.7723987,40.5503636,50.8731723,23.2206205,4.2992986,12.3145349,10.3470044,31.9787287,6.5022451 +884,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6636521,0.6472361,9.3924407,5.8621462,33.9861665,17.0106888,35.4154398,69.4143651,39.9789979,49.9619623,22.7324395,4.4780531,12.0331253,10.772221,32.4672379,5.9122181,0.6650366,0.666149,9.1948491,5.7753607,33.199243,17.0214777,35.4119584,69.1455033,40.294916,50.0406847,22.410966,4.5066234,12.0310831,10.3063643,32.0886325,4.6552174,0.7575552,0.7636124,9.2242169,5.626046,32.2709836,17.2301857,35.7264739,69.4852806,40.3211807,50.5531304,22.7504944,4.4565043,12.3334665,10.45527,32.2887176,6.0546851,0.826123,0.8318994,9.3580646,5.4977292,30.8840362,17.2312407,35.3117123,69.7723987,40.5503636,50.8731723,23.2206205,4.2992986,12.3145349,10.3470044,31.9787287,6.5022451,0.7767864,0.7756935,9.170566,5.38552,30.1417724,17.7000731,34.8851185,69.7820754,41.0447238,51.3030345,24.0345975,4.4657748,12.1247094,10.1152027,31.7022402,6.8396259 +885,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4666293,0.524828,8.1340835,5.8368495,61.3221154,19.3858415,33.9386792,68.1367925,32.9009434,42.995283,17.9481132,4.8820755,9.3777778,7.4487065,36.5143369,1.7857143,0.5317911,0.5754401,8.42723,5.8920188,60.2354637,19.7701689,34.1894439,68.4967012,33.1055608,43.4260132,18.4967012,4.736098,9.500446,7.8194817,36.1310592,1.2135922,0.5119255,0.5555556,8.1378987,5.65197,59.2193487,19.6771175,32.4470588,69.0117647,32.7294118,43.5058824,18.5176471,4.8235294,10.1687389,7.969724,35.6951872,1.6509434,0.6415897,0.6855844,8.0690961,5.560814,58.6215178,19.4040357,32.1293673,68.7677054,33.0736544,44.4050992,18.3899906,4.7922568,9.6338274,7.9039301,34.5175439,1.6746411,0.6610759,0.6792082,8.2642613,5.4851292,57.3025335,19.71387,31.8893784,68.2574645,33.3088595,45.0073421,18.9672051,4.7234459,10,8.5568918,33.9069767,1.6666667 +886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7993485,0.809268,11.7463254,8.2836876,46.0019893,15.4716789,33.7486228,69.8699604,37.4891364,49.5481845,25.4859508,4.3825748,10.2667771,7.7449282,40.5485771,6.907838,0.6410175,0.6410175,11.6727343,8.2602854,46.5557113,15.5375611,33.6035033,70.1795328,36.7175549,48.4943363,24.4312174,4.2181321,10.5270873,8.0957,41.4393818,6.3757846,0.6666618,0.6666618,11.664757,8.0357175,46.8026724,14.5599452,33.5820936,70.835848,36.2089422,47.9701337,24.0895714,4.149249,10.6096039,9.2352845,41.3690456,5.434722,0.6942225,0.6942225,12.1813936,8.5654995,46.2287787,14.9449819,33.118077,69.895479,36.0085948,47.1402232,23.2164922,4.0897865,10.2424267,10.0121262,41.2162263,7.1427981,0.8158679,0.7965442,12.2481241,8.5957291,45.6146126,15.7605055,33.8867147,70.0846413,36.6210779,47.2330684,23.6002516,4.5898328,10.9195316,10.408663,43.5650104,6.5384766 +887,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0446021,1.0922308,22.6721033,17.8990998,37.7696619,13.8177225,38.131724,66.6094409,33.3334995,50.2305523,25.7964177,5.4820525,16.132172,12.6558725,35.8052035,13.2220026,1.1293626,1.1313384,23.2302293,18.0472825,39.2783976,13.6431441,38.7176103,66.3524814,33.1094934,49.9205824,25.1207883,5.1964836,15.2340893,12.5929497,33.7654735,10.564269,1.0552927,1.0126616,22.9339982,17.7059933,40.1678166,13.1940586,39.4902718,66.7681164,33.5096683,49.8477363,25.9046664,5.1326469,14.8183637,12.1906874,33.5129442,9.8095355,1.000281,0.9435328,23.5999234,18.8563984,41.1945776,13.3598495,39.3184844,66.5741943,33.6093251,50.089685,25.768832,5.1439446,14.443817,12.2428538,33.3546527,9.3095495,0.9608645,0.9625108,24.2754409,19.6773016,42.3618531,13.1973221,39.1448315,66.7046449,33.9236325,50.5088996,26.1573399,5.0444085,14.978556,11.5874469,33.4540007,7.7550951 +888,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.1293626,1.1313384,23.2302293,18.0472825,39.2783976,13.6431441,38.7176103,66.3524814,33.1094934,49.9205824,25.1207883,5.1964836,15.2340893,12.5929497,33.7654735,10.564269,1.0552927,1.0126616,22.9339982,17.7059933,40.1678166,13.1940586,39.4902718,66.7681164,33.5096683,49.8477363,25.9046664,5.1326469,14.8183637,12.1906874,33.5129442,9.8095355,1.000281,0.9435328,23.5999234,18.8563984,41.1945776,13.3598495,39.3184844,66.5741943,33.6093251,50.089685,25.768832,5.1439446,14.443817,12.2428538,33.3546527,9.3095495,0.9608645,0.9625108,24.2754409,19.6773016,42.3618531,13.1973221,39.1448315,66.7046449,33.9236325,50.5088996,26.1573399,5.0444085,14.978556,11.5874469,33.4540007,7.7550951,1.0577429,1.0593634,23.8397267,19.229097,41.5332672,13.5076797,39.4921538,66.4193173,34.1116815,50.6743008,25.6435873,4.9643261,15.4343882,11.952767,33.8190686,8.5075495 +889,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1264147,1.1578489,21.1885131,17.0438112,43.880021,20.0611834,37.934903,66.8423592,37.0883454,46.7262014,19.549253,3.0642778,14.6270055,11.3579494,36.2068742,14.5088969,1.0626861,1.0896579,21.211635,17.4728874,45.8052828,20.341143,37.9008874,67.3009988,37.6130255,46.7871391,19.7598292,3.2555601,14.2446692,11.2161245,35.3788735,12.3481477,1.1227648,1.1493366,21.2984761,17.3711335,47.0533653,20.6431385,37.9927736,66.980354,37.7910992,46.9343294,20.550726,3.2678704,14.3485201,11.3200118,35.7830815,11.7760118,1.139329,1.2021888,21.9395273,18.0266435,47.5453831,20.3980752,38.3335463,67.539646,36.8356752,47.0448185,20.3985777,3.3307678,14.4830096,12.0458051,36.1220601,12.2640986,1.1531594,1.1954869,21.8120342,18.1071375,48.0076828,20.0724903,37.9722953,67.2282956,35.987322,47.0634025,20.6237328,3.4339713,15.2208778,12.590522,36.6531814,10.3636113 +890,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0796454,1.1146664,11.5341238,7.5696612,48.0837426,19.2161897,38.2937802,68.8761383,38.5865278,49.0928223,22.8123965,3.2630925,11.842819,10.982484,34.2897239,8.1280828,0.9938276,1.0348779,11.4590148,7.46942,47.835904,19.2672739,38.0363236,69.5619292,39.0197196,49.5977969,23.4058336,3.3224046,11.2434351,11.0046356,34.5300021,7.2500109,0.9394153,0.9764813,11.5766948,7.7810071,47.4167857,18.9257705,38.0917711,69.2021475,38.9849693,49.2856566,23.4445147,3.3789769,11.8031398,11.2343303,34.0857692,6.4766,0.8821448,0.9799888,11.3306153,7.7368428,45.5867422,18.8269371,38.1333874,69.2852864,39.1889488,50.1358682,24.2913602,3.603734,11.6930566,11.3597563,33.5889392,7.0679666,0.6913935,0.7908142,11.2864118,7.499233,43.8608818,19.142828,38.0741843,69.5805233,39.0233555,49.9235182,24.2345822,3.658905,11.4600763,10.6798904,33.4564281,8.2445624 +891,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6867091,0.6907601,9.4984088,6.5887434,58.2019696,12.6860538,28.7320496,67.7987296,38.7289837,43.513626,20.2532017,5.1982704,10.5224643,9.2380236,34.1561964,4.9333133,0.5967688,0.5897148,9.4067402,6.8667401,57.2044691,12.8022327,29.008031,68.0355487,38.68305,43.5193636,19.9729895,5.2544086,10.6275877,9.3426138,33.8657603,6.2287042,0.6556915,0.648462,9.4320683,6.8486788,56.2328689,13.1103477,29.358352,67.6989433,39.1100393,44.1336638,20.4435203,5.202932,10.6081678,8.994531,34.1705175,7.194391,0.6902184,0.682775,9.4522596,6.8166898,54.8704741,13.3226364,28.8024438,67.7572903,39.5485381,44.216888,20.7095945,5.2808638,10.5354922,9.2321609,35.649422,7.4917629,0.7254383,0.7177499,9.5741585,6.5895697,53.9794572,13.7538022,28.9981495,67.968478,40.605666,44.5974976,20.7829804,5.441856,10.746517,9.8365571,36.0533209,10.0246063 +892,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1607459,1.1607459,25.0267604,20.2313718,49.5552741,17.6475641,35.09486,64.1051008,30.9397997,41.4138801,20.5227904,3.2238822,13.2123369,10.4561268,43.5390417,14.1691908,1.3565825,1.3613964,27.0494629,21.5275065,50.116475,17.4567261,35.0133763,63.6428056,30.7594975,41.0377532,20.7218404,3.5089935,13.8023814,10.3276253,43.6435365,17.8934977,1.3745066,1.3794385,28.2913021,22.7751365,50.5143309,17.2761302,35.0044061,62.9470471,30.4765252,40.6983794,20.7728462,3.096053,13.9138505,10.390637,44.8161187,21.4404546,1.6061323,1.6337186,29.899388,24.1215256,50.5211814,17.2675307,36.1839792,62.6073187,29.5103869,40.661608,20.3631266,2.9448198,13.4619364,10.1159825,44.3326264,23.4693494,1.8359225,1.8864164,31.1181467,25.1775791,50.2244327,17.4974001,37.5021021,61.6249805,29.8997857,41.6838685,20.84382,3.028426,13.2072036,9.8456865,44.2592277,25.7201223 +893,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2083833,1.155515,16.9929065,13.4632092,78.8822222,15.4029826,32.5314206,65.362693,35.5512564,37.3145885,19.4732073,4.7014016,13.9554021,9.3103987,43.1460816,9.1191866,1.2051857,1.2315499,16.7607212,13.1855703,79.0062509,15.4336043,32.3215496,65.3998187,34.4875684,36.7083643,19.4270435,4.9893304,13.5570003,9.6164465,41.6998215,10.1108753,1.2019646,1.2280679,17.3373975,13.7520077,80.2811905,15.0640807,33.2329535,65.4134051,34.7001107,37.738733,18.6335218,5.0995609,14.5023722,9.4730448,42.6773064,9.7381644,1.1645846,1.2425282,17.5819143,13.834192,80.9029992,15.0663281,33.7210648,65.8295742,35.0725628,38.779119,17.9732486,5.1443326,14.0092744,9.6321476,41.9920417,9.0219532,1.2046126,1.2827934,18.1295595,14.6700499,81.3600124,15.4827293,34.6696499,65.3885797,34.5607278,39.4988072,17.7485922,5.2536792,13.7864429,9.6843984,40.3397748,9.2978234 +894,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5416421,0.58142,13.0027168,11.2438952,53.4804441,31.8357839,32.3412541,70.0396038,33.7962375,40.9392742,15.5423763,6.0184818,11.8529186,10.4903622,32.1917621,6.1151739,0.5150256,0.5548986,13.1117788,11.1042241,54.3939333,32.8792851,32.3452219,67.1277619,34.0578927,41.304365,15.0856401,6.2581852,11.4012555,11.6758472,31.4403247,5.8621094,0.6551458,0.6944546,13.9233503,11.5718303,55.2149379,32.0836759,35.1612733,66.6452685,34.7743,42.5162164,15.1613765,6.6451266,12.0596648,11.7885226,33.4699019,5.7047363,0.6528366,0.6920068,14.2593559,11.9136406,54.9285755,31.6286158,34.8464843,65.4093379,34.8466761,42.9028688,15.2814268,6.2020094,12.2422154,11.726614,34.8446282,6.6455907,0.6734104,0.6734104,13.9668503,11.0331976,54.8875811,30.3362465,35.2748958,63.5472084,33.0499307,43.6518434,15.2488352,6.3481239,13.6855698,12.3304006,33.9236692,6.8179014 +895,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0626861,1.0896579,21.211635,17.4728874,45.8052828,20.341143,37.9008874,67.3009988,37.6130255,46.7871391,19.7598292,3.2555601,14.2446692,11.2161245,35.3788735,12.3481477,1.1227648,1.1493366,21.2984761,17.3711335,47.0533653,20.6431385,37.9927736,66.980354,37.7910992,46.9343294,20.550726,3.2678704,14.3485201,11.3200118,35.7830815,11.7760118,1.139329,1.2021888,21.9395273,18.0266435,47.5453831,20.3980752,38.3335463,67.539646,36.8356752,47.0448185,20.3985777,3.3307678,14.4830096,12.0458051,36.1220601,12.2640986,1.1531594,1.1954869,21.8120342,18.1071375,48.0076828,20.0724903,37.9722953,67.2282956,35.987322,47.0634025,20.6237328,3.4339713,15.2208778,12.590522,36.6531814,10.3636113,1.0956635,1.1533885,22.8487966,18.8601544,48.9864734,19.2434441,37.8978032,67.0954949,35.2036083,47.0500356,20.6222488,3.3082669,14.7360543,11.7197248,36.4053117,10.6884097 +896,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7430105,0.7293046,8.9360457,6.3193569,48.4715885,9.7324198,31.3209191,68.1277508,34.9674303,46.9446827,18.9545515,3.1199216,10.5994825,9.8472387,30.1104437,6.4984955,0.7475698,0.7488511,8.8513679,6.0613536,48.1045787,9.864845,31.4564563,67.9929896,35.2102131,47.9395972,19.0273727,3.1781777,10.5120822,9.660519,30.0894976,5.3946842,0.7274071,0.737004,8.7550995,6.0546927,47.2543773,10.2000664,31.3214404,68.3321809,35.6511922,48.2074718,19.3020504,3.316589,11.0200687,9.6467694,30.3188071,5.9228099,0.5794119,0.5895901,8.2702026,5.7449512,46.5260886,10.4573311,31.1537003,68.0759382,35.0972099,48.1382929,19.2498223,3.255683,10.7027724,9.2288404,30.2154456,6.39875,0.554008,0.5874132,8.1681491,5.62823,45.4516869,10.4001899,30.4529322,68.0239384,35.1984125,48.6723074,19.4004416,3.1341398,10.7382066,9.2351192,29.8881924,5.2049859 +897,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1227648,1.1493366,21.2984761,17.3711335,47.0533653,20.6431385,37.9927736,66.980354,37.7910992,46.9343294,20.550726,3.2678704,14.3485201,11.3200118,35.7830815,11.7760118,1.139329,1.2021888,21.9395273,18.0266435,47.5453831,20.3980752,38.3335463,67.539646,36.8356752,47.0448185,20.3985777,3.3307678,14.4830096,12.0458051,36.1220601,12.2640986,1.1531594,1.1954869,21.8120342,18.1071375,48.0076828,20.0724903,37.9722953,67.2282956,35.987322,47.0634025,20.6237328,3.4339713,15.2208778,12.590522,36.6531814,10.3636113,1.0956635,1.1533885,22.8487966,18.8601544,48.9864734,19.2434441,37.8978032,67.0954949,35.2036083,47.0500356,20.6222488,3.3082669,14.7360543,11.7197248,36.4053117,10.6884097,1.0562786,1.1140663,22.9286886,18.9401398,49.776514,18.4940772,37.9269935,66.5546841,35.7461858,46.8483865,21.3121753,3.1125576,14.8753421,12.1683611,36.5305728,10.7394128 +898,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2285355,1.2877313,27.0324003,22.337205,39.2278267,20.1048367,36.7741748,68.4758298,35.87699,47.0807301,22.2415865,5.0243627,13.8763919,11.8832097,30.4538485,11.9883236,1.1823661,1.2412282,26.997749,22.3787712,39.8235887,19.3692046,37.45321,68.3634475,35.430052,46.7464836,21.7748937,4.8985653,14.3477645,12.2482054,31.8520696,12.784051,1.1497763,1.2075502,27.3811641,22.9247366,41.3888915,19.84739,38.2686999,67.877734,35.2273867,47.2084855,21.8794923,4.6862485,14.2762904,13.4276405,32.3235901,14.4020347,1.2072856,1.2649548,27.5937243,23.1324923,40.4108048,19.1509282,38.2438191,67.3668076,34.7814157,46.839272,22.228274,4.2353219,14.3771225,14.1477539,33.1710973,15.2775625,1.0267775,1.0835013,27.1135141,22.8499218,41.0220979,19.2331077,37.3249704,68.1513618,34.1508834,46.2375178,22.0636141,3.3877731,14.6475864,13.8271089,32.8561842,14.4123848 +899,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.7316553,0.739138,14.1027793,10.2467253,27.0572962,17.1096213,34.0860555,68.2405114,41.2877215,49.3622853,25.7017452,4.2360764,10.8765042,10.7322177,37.3679644,6.5788596,0.8088134,0.8360042,14.874811,10.8545972,26.8798154,17.220713,33.6840524,68.123924,41.2197262,49.8696738,26.236999,3.9818331,10.7862816,10.559277,37.8072114,5.9632165,0.8069164,0.8337138,15.0790502,11.4184828,27.4136853,16.9744239,33.8228838,67.8373939,41.5283286,49.3188949,26.2452167,3.7675713,11.5069609,10.1395633,38.5408004,5.6520098,0.7635885,0.7905977,15.5317545,11.6645778,26.6474719,16.4898316,34.7948068,68.0129652,42.0950513,49.6112612,26.3282899,3.8228998,11.7430427,10.2784498,38.7746687,6.4101019,0.9589761,0.9818878,15.7795608,11.7979984,26.2543868,15.6421139,35.3710591,67.1171127,41.8060896,49.9142085,25.3753731,3.582157,11.6815046,10.8818698,39.6341414,8.8233762 +900,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5967688,0.5897148,9.4067402,6.8667401,57.2044691,12.8022327,29.008031,68.0355487,38.68305,43.5193636,19.9729895,5.2544086,10.6275877,9.3426138,33.8657603,6.2287042,0.6556915,0.648462,9.4320683,6.8486788,56.2328689,13.1103477,29.358352,67.6989433,39.1100393,44.1336638,20.4435203,5.202932,10.6081678,8.994531,34.1705175,7.194391,0.6902184,0.682775,9.4522596,6.8166898,54.8704741,13.3226364,28.8024438,67.7572903,39.5485381,44.216888,20.7095945,5.2808638,10.5354922,9.2321609,35.649422,7.4917629,0.7254383,0.7177499,9.5741585,6.5895697,53.9794572,13.7538022,28.9981495,67.968478,40.605666,44.5974976,20.7829804,5.441856,10.746517,9.8365571,36.0533209,10.0246063,0.6956563,0.6874334,9.2566352,6.441752,53.5008187,13.7896728,28.4805137,67.2558711,39.9398968,44.4986375,20.720246,4.7593253,10.2137625,9.9348885,34.7173815,9.6748148 +901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.8088134,0.8360042,14.874811,10.8545972,26.8798154,17.220713,33.6840524,68.123924,41.2197262,49.8696738,26.236999,3.9818331,10.7862816,10.559277,37.8072114,5.9632165,0.8069164,0.8337138,15.0790502,11.4184828,27.4136853,16.9744239,33.8228838,67.8373939,41.5283286,49.3188949,26.2452167,3.7675713,11.5069609,10.1395633,38.5408004,5.6520098,0.7635885,0.7905977,15.5317545,11.6645778,26.6474719,16.4898316,34.7948068,68.0129652,42.0950513,49.6112612,26.3282899,3.8228998,11.7430427,10.2784498,38.7746687,6.4101019,0.9589761,0.9818878,15.7795608,11.7979984,26.2543868,15.6421139,35.3710591,67.1171127,41.8060896,49.9142085,25.3753731,3.582157,11.6815046,10.8818698,39.6341414,8.8233762,1.0943372,1.1073733,16.2766576,12.4321067,26.5803117,15.321575,35.5398127,67.0736746,41.1953692,48.4361698,23.928884,3.277639,11.8760325,11.2409365,38.9562927,10.6297721 +902,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.757965,0.7607572,7.9041989,4.8073374,49.5021949,20.675369,32.2234312,70.1782748,32.9148237,45.3238804,16.3937475,6.6047915,10.7119397,9.4719253,31.6887676,1.6605135,0.8835373,0.8863741,7.8033469,4.9159258,48.494399,20.7330547,31.8699393,69.7464608,32.5312348,45.6465646,16.7707413,6.7780906,10.7920944,9.6763381,32.4834562,2.4163479,0.7104459,0.7046176,7.8324406,5.0525816,47.7557769,20.9828231,31.5343838,69.1048777,32.7378789,44.8852588,17.0176782,6.6754281,11.4059457,9.6896418,32.8838411,2.830178,0.7004521,0.7034077,7.7026375,4.9366031,46.5961309,20.8365088,32.1577984,69.1383679,33.6447002,45.6537913,17.3656202,6.4620553,11.6822346,9.8849677,32.3381422,2.3985151,0.6487118,0.6579829,7.2899691,4.6647725,44.6556952,20.0907333,31.4880526,69.5436319,33.6706673,45.7340958,17.2817713,6.7261771,11.9499485,9.5219922,32.1564174,2.529173 +903,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.624822,0.5905016,10.3634001,6.708216,64.5494155,12.8516969,32.3951248,68.225602,34.7067566,45.8369069,19.1245582,3.3711465,10.7498905,9.6922418,35.0260811,8.2172958,0.5967948,0.6016948,10.2707769,6.7801957,62.8469284,13.0761067,32.2818715,68.9585093,35.7035855,46.0757077,19.4931385,3.3682603,10.091918,8.8235225,34.0899696,8.9181475,0.5549321,0.5403577,10.4407096,6.8730335,61.6713057,13.1496231,31.5928871,68.6824779,35.9987177,46.1237046,19.6886021,3.1243352,9.8113875,8.6213792,33.2996814,8.944303,0.5030474,0.522345,10.3948966,6.654827,60.873738,13.5708262,31.6350156,69.2721517,36.1497779,46.2974631,19.7995463,3.2172941,10.1922244,8.9686913,33.2594414,8.3841743,0.4776102,0.5271026,10.5107146,6.6700629,59.7805496,13.924173,32.2263596,69.3668426,36.1162721,46.7308055,20.2875724,3.0519292,9.4780168,8.5102123,32.8661528,8.3333611 +904,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5540871,1.6642193,32.8438949,26.8160742,61.5823817,7.1205008,36.7038217,66.9585987,28.4235669,43.3917197,15.843949,4.8566879,15.3726708,11.2654321,36.1801242,11.7449664,1.7146411,1.8265814,32.725832,26.703645,63.25,7.9073482,35.3658537,66.2601626,27.7235772,42.6829268,15.203252,5.6097561,15.15625,10.7476636,34.84375,12.5,1.984944,2.0952381,33.671875,27.734375,61.5702479,7.6619273,36.1958266,64.1252006,26.4044944,40.6902087,15.1685393,5.5377207,16.1949686,11.7554859,35.5799373,13.803681,2.2756675,2.3117947,34.1257669,28.9110429,61.5322581,7.6036866,35.1246106,64.4080997,26.0903427,40.7320872,16.1214953,5.529595,16.5615142,12.4213836,37.5786164,13.9053254,1.953448,1.953448,33.1602374,28.4124629,60.719755,6.8382353,34.6439169,64.0207715,26.9287834,40.727003,16.5430267,5.7121662,16.8128655,12.6822157,37.3546512,12.6470588 +905,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.451545,0.470051,8.2556,5.1621795,53.4829046,15.8982211,33.6466513,67.8590278,35.7879039,44.7943846,19.7147706,4.3707149,10.2183394,9.2431284,35.0815807,3.714059,0.4569045,0.4761135,8.1375055,5.1039844,52.6038474,16.2738099,33.7604871,68.108834,36.0530155,45.2301906,20.4964567,4.6752694,10.2740004,8.6043336,34.8931892,4.563101,0.4502987,0.473325,8.1008672,5.1280553,51.6693602,16.7099433,33.3541244,68.3510552,35.5150094,45.4704104,20.2817732,4.6634473,10.8765104,8.8918879,34.3175214,5.246726,0.4752959,0.4863273,8.2648703,5.3010752,51.0668238,16.66978,32.9485474,68.2770057,35.8591734,45.9463386,19.9109626,4.5537616,10.9506755,8.9614437,34.3890164,4.7198802,0.5243934,0.5426439,8.2900079,5.5545765,50.5039602,17.3459838,32.8721738,68.3416431,35.8926295,45.7519734,19.6241354,4.5312074,10.826599,8.4250601,33.0286067,5.4330698 +906,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7475698,0.7488511,8.8513679,6.0613536,48.1045787,9.864845,31.4564563,67.9929896,35.2102131,47.9395972,19.0273727,3.1781777,10.5120822,9.660519,30.0894976,5.3946842,0.7274071,0.737004,8.7550995,6.0546927,47.2543773,10.2000664,31.3214404,68.3321809,35.6511922,48.2074718,19.3020504,3.316589,11.0200687,9.6467694,30.3188071,5.9228099,0.5794119,0.5895901,8.2702026,5.7449512,46.5260886,10.4573311,31.1537003,68.0759382,35.0972099,48.1382929,19.2498223,3.255683,10.7027724,9.2288404,30.2154456,6.39875,0.554008,0.5874132,8.1681491,5.62823,45.4516869,10.4001899,30.4529322,68.0239384,35.1984125,48.6723074,19.4004416,3.1341398,10.7382066,9.2351192,29.8881924,5.2049859,0.5079457,0.5240135,8.3114778,5.712252,44.5328742,10.327796,29.6638474,67.7292469,35.5501168,48.3403039,19.1139806,3.1058938,10.3920764,8.8660398,29.0026521,4.738531 +907,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3274653,0.3404975,6.8531201,4.3016013,64.058018,16.604535,32.0549278,65.2620027,31.076392,39.2203292,16.7771455,8.285989,9.1045695,8.4689592,38.966134,2.2388066,0.3378362,0.3509903,7.201983,4.519866,64.0291226,16.1570053,32.0993604,66.2980778,32.1955207,39.2788515,16.8429483,8.4775655,9.3329232,8.4355803,37.6771327,2.279636,0.3756292,0.3831075,7.0653947,4.320568,62.8946513,16.2017593,31.8675825,66.485506,32.3616672,39.0151529,16.5184425,8.0533614,9.4003726,8.3646591,37.9559664,2.7419373,0.3999103,0.4075838,7.2145257,4.342559,61.6792069,16.5885576,31.1884503,66.7402377,32.818346,39.2699527,16.8590833,8.6417676,9.6028624,8.7793709,37.499991,2.4834454,0.4053206,0.4053206,6.9082396,4.3020334,59.9681894,16.065865,30.9431962,67.2685768,33.6430682,40.3401096,18.1451622,8.7131857,9.8005474,8.6492041,36.0207554,1.9097235 +908,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54596,0.5263066,7.8513032,4.7333699,19.3714707,19.5309264,31.9440159,70.8404717,38.4255758,53.1123558,21.722074,4.856794,8.8531922,8.9440294,25.1701663,4.6737112,0.5992994,0.5895111,8.1156993,4.9662304,19.5408769,19.8205162,31.8225761,71.4543867,38.6134915,53.7113182,22.0606989,5.0905537,8.6509716,8.413401,24.5919327,4.5200712,0.6462222,0.6755958,8.118476,4.8486529,19.6421269,20.1694159,32.1728899,70.8833898,38.742253,53.1883236,22.7512868,5.1700793,8.8820103,7.9806768,25.8440345,2.8922799,0.7537887,0.8105316,8.4443585,5.3013289,18.873783,20.1603726,32.2038476,70.6748122,39.0039942,53.4079287,23.1013091,5.2800961,9.2245171,8.2329682,26.479791,5.371377,0.8399733,0.8572976,8.5859141,5.1955384,18.884661,20.0274608,32.6473656,70.5892453,40.5552916,52.6091125,23.2174987,5.4717745,9.8239408,8.4234439,26.633034,5.1176347 +909,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4569045,0.4761135,8.1375055,5.1039844,52.6038474,16.2738099,33.7604871,68.108834,36.0530155,45.2301906,20.4964567,4.6752694,10.2740004,8.6043336,34.8931892,4.563101,0.4502987,0.473325,8.1008672,5.1280553,51.6693602,16.7099433,33.3541244,68.3510552,35.5150094,45.4704104,20.2817732,4.6634473,10.8765104,8.8918879,34.3175214,5.246726,0.4752959,0.4863273,8.2648703,5.3010752,51.0668238,16.66978,32.9485474,68.2770057,35.8591734,45.9463386,19.9109626,4.5537616,10.9506755,8.9614437,34.3890164,4.7198802,0.5243934,0.5426439,8.2900079,5.5545765,50.5039602,17.3459838,32.8721738,68.3416431,35.8926295,45.7519734,19.6241354,4.5312074,10.826599,8.4250601,33.0286067,5.4330698,0.5435449,0.573724,8.7091345,5.7703783,50.3021053,17.888291,32.4448997,68.742878,36.4911943,45.4533652,20.2365603,4.8337275,11.6658136,8.7153699,31.1246246,5.2904101 +910,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.704339,0.7489925,9.3025971,5.6641844,53.1062282,17.1392282,32.5071399,67.861307,37.9460719,44.5181354,22.8470034,3.9234186,10.2965103,9.5451853,36.2056097,6.3983226,0.6813489,0.7096858,9.0533896,5.443342,52.590317,16.9162247,32.6409425,67.8531258,38.5965148,45.0752349,22.8209392,3.9075054,10.338281,9.1430551,34.9749941,6.5855972,0.690509,0.6841146,9.1027219,5.5667311,51.4222021,17.5904046,32.6711615,68.4942652,38.4073223,46.1753146,23.1102122,3.9885467,10.0800334,9.4571025,34.5351164,5.750207,0.6680977,0.6614103,9.0230199,5.6145735,50.5905463,17.5859026,32.7024974,69.0490826,38.8643602,47.2471121,23.7878422,4.1131156,10.4679734,9.4593961,33.8482124,4.3591353,0.7979773,0.8008218,9.0835573,5.7109376,49.1737254,17.3612617,32.6785654,68.9771755,39.2692981,48.3601603,24.0746257,4.042122,11.3680562,9.7212875,33.2796139,4.213611 +911,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7274071,0.737004,8.7550995,6.0546927,47.2543773,10.2000664,31.3214404,68.3321809,35.6511922,48.2074718,19.3020504,3.316589,11.0200687,9.6467694,30.3188071,5.9228099,0.5794119,0.5895901,8.2702026,5.7449512,46.5260886,10.4573311,31.1537003,68.0759382,35.0972099,48.1382929,19.2498223,3.255683,10.7027724,9.2288404,30.2154456,6.39875,0.554008,0.5874132,8.1681491,5.62823,45.4516869,10.4001899,30.4529322,68.0239384,35.1984125,48.6723074,19.4004416,3.1341398,10.7382066,9.2351192,29.8881924,5.2049859,0.5079457,0.5240135,8.3114778,5.712252,44.5328742,10.327796,29.6638474,67.7292469,35.5501168,48.3403039,19.1139806,3.1058938,10.3920764,8.8660398,29.0026521,4.738531,0.518304,0.5301945,8.273273,5.6037926,43.7728196,10.617473,29.4988271,68.1984176,35.7251722,49.4138304,19.4562117,3.1023325,10.9581009,9.3550419,29.3675949,5.2542016 +912,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4642803,0.4317481,9.153337,5.9308541,68.7683073,13.4403513,27.4964254,63.5814606,32.6031919,38.1493104,15.3659499,3.4651051,12.9758219,10.7670073,36.2062524,4.7766275,0.5011234,0.468593,9.0734211,5.4885986,67.081138,13.3635192,27.9934827,63.0944697,33.4448871,38.6265812,16.3147621,3.3183127,13.0670224,10.4965682,35.3432365,4.6541501,0.4625727,0.4304602,8.6750067,4.906751,67.5240244,13.5688612,27.9910213,62.1728695,33.7885176,38.4920165,16.4572201,3.415227,12.8370495,9.7691396,35.0236708,4.4652244,0.3522887,0.3522887,8.5077631,4.8997579,66.1253092,13.6625886,28.5789856,62.7081366,34.4262074,38.4741812,16.2504103,3.5141017,12.8922776,9.9669012,35.5218027,2.8647643,0.3578885,0.3578885,8.3597469,4.847171,65.4706456,14.1083357,27.4687005,61.4512367,34.5149488,38.3243466,16.6231779,3.4821674,12.5066568,9.7194715,34.9470073,3.7454992 +913,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.139329,1.2021888,21.9395273,18.0266435,47.5453831,20.3980752,38.3335463,67.539646,36.8356752,47.0448185,20.3985777,3.3307678,14.4830096,12.0458051,36.1220601,12.2640986,1.1531594,1.1954869,21.8120342,18.1071375,48.0076828,20.0724903,37.9722953,67.2282956,35.987322,47.0634025,20.6237328,3.4339713,15.2208778,12.590522,36.6531814,10.3636113,1.0956635,1.1533885,22.8487966,18.8601544,48.9864734,19.2434441,37.8978032,67.0954949,35.2036083,47.0500356,20.6222488,3.3082669,14.7360543,11.7197248,36.4053117,10.6884097,1.0562786,1.1140663,22.9286886,18.9401398,49.776514,18.4940772,37.9269935,66.5546841,35.7461858,46.8483865,21.3121753,3.1125576,14.8753421,12.1683611,36.5305728,10.7394128,1.2529241,1.3077518,23.3891825,19.5326872,50.208439,18.5109134,37.6589654,65.9963493,34.8957394,45.8198276,21.0923906,3.1059907,14.8098635,12.3550469,37.8134428,12.2837455 +914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3378362,0.3509903,7.201983,4.519866,64.0291226,16.1570053,32.0993604,66.2980778,32.1955207,39.2788515,16.8429483,8.4775655,9.3329232,8.4355803,37.6771327,2.279636,0.3756292,0.3831075,7.0653947,4.320568,62.8946513,16.2017593,31.8675825,66.485506,32.3616672,39.0151529,16.5184425,8.0533614,9.4003726,8.3646591,37.9559664,2.7419373,0.3999103,0.4075838,7.2145257,4.342559,61.6792069,16.5885576,31.1884503,66.7402377,32.818346,39.2699527,16.8590833,8.6417676,9.6028624,8.7793709,37.499991,2.4834454,0.4053206,0.4053206,6.9082396,4.3020334,59.9681894,16.065865,30.9431962,67.2685768,33.6430682,40.3401096,18.1451622,8.7131857,9.8005474,8.6492041,36.0207554,1.9097235,0.2382836,0.2382836,6.8764048,4.4649568,59.1598863,16.9144363,30.3381045,66.7952898,33.6089736,41.4002234,17.8059518,8.3976486,9.3522523,8.6496309,37.0329586,2.3722645 +915,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4502987,0.473325,8.1008672,5.1280553,51.6693602,16.7099433,33.3541244,68.3510552,35.5150094,45.4704104,20.2817732,4.6634473,10.8765104,8.8918879,34.3175214,5.246726,0.4752959,0.4863273,8.2648703,5.3010752,51.0668238,16.66978,32.9485474,68.2770057,35.8591734,45.9463386,19.9109626,4.5537616,10.9506755,8.9614437,34.3890164,4.7198802,0.5243934,0.5426439,8.2900079,5.5545765,50.5039602,17.3459838,32.8721738,68.3416431,35.8926295,45.7519734,19.6241354,4.5312074,10.826599,8.4250601,33.0286067,5.4330698,0.5435449,0.573724,8.7091345,5.7703783,50.3021053,17.888291,32.4448997,68.742878,36.4911943,45.4533652,20.2365603,4.8337275,11.6658136,8.7153699,31.1246246,5.2904101,0.5039983,0.5435431,8.2850689,5.5984849,49.6231078,17.8707301,31.8630732,69.0526883,36.6440529,44.9052309,20.255478,4.7478226,10.7559057,8.1612561,31.2979248,4.3806537 +916,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5930172,0.6059678,12.0781004,8.2361942,37.0555069,17.5786565,32.8741907,69.4132312,41.4958193,49.8236157,24.4276181,3.4897234,9.7635111,9.1825873,30.7461892,5.857393,0.5998598,0.6084678,12.1614991,8.3238015,36.4553659,17.4672569,33.6121289,69.210726,41.1582033,49.5677086,24.6251521,3.5426609,10.0002289,9.4221295,31.1922816,7.4576146,0.5576779,0.5911503,11.8650624,7.9729551,36.8192774,17.8251954,34.8587466,70.0774443,41.6807142,49.7224093,25.706794,3.3555583,10.7550399,9.5160427,30.9125622,6.580434,0.5761189,0.6078326,11.6017652,7.8277014,36.7388768,18.278375,34.9005821,70.6669747,41.0451971,48.9757067,25.7086222,3.3351099,11.354496,9.5317387,33.4225564,5.1600932,0.5267112,0.5618816,11.4983715,8.0912724,37.2773794,18.4188283,34.8018363,70.5565553,40.5205696,48.4542878,25.9915139,3.2714561,11.2347256,10.2743392,34.7944583,6.048392 +917,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5260618,0.5229285,7.2755881,4.9392006,62.1013797,10.6792837,31.8194325,65.2260602,29.5520161,40.573038,15.4390553,13.6663455,10.8723961,9.1631911,37.5427053,3.7561576,0.5812707,0.5696485,7.5587884,5.0553278,62.1056365,10.3046615,31.555897,64.912407,30.1098431,40.4268584,15.5241936,13.8973848,10.9078965,9.2212568,37.835333,3.390875,0.583516,0.5590769,7.5620352,5.0111542,61.695086,10.2459605,31.2613387,65.3062672,29.8241907,40.3167252,15.5783455,14.0853904,10.5840399,9.2289404,37.8266716,3.263546,0.6185864,0.5687092,7.3281478,4.7773461,61.0057902,10.1633546,31.1693016,65.4160683,29.9641294,40.3658517,15.7173581,14.4404599,10.4742523,9.2226411,36.8270084,3.6828955,0.5235896,0.4786583,7.0582054,4.627962,59.3970807,10.1741192,30.8764405,65.6208093,29.8479638,40.6841559,16.3735288,14.5252667,10.5568061,9.0460034,36.5954444,3.1417104 +918,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.603249,0.608559,7.6753004,5.167169,83.3601624,7.6107429,26.8623049,62.488663,28.0965462,37.9760922,14.0196707,5.5335217,10.7122713,9.4397289,37.28818,3.678789,0.6070456,0.6040324,7.5610083,5.0730521,83.4223189,7.7714597,26.7775631,62.7133894,28.3697678,38.0520395,14.0642591,5.6750119,10.6587853,9.2460507,37.5106706,4.1436369,0.5610541,0.5621352,7.4956957,5.0995472,83.2260259,7.6157575,26.8310269,62.7637726,28.4520088,38.023767,14.4151978,5.4927517,10.0889809,8.7802716,37.6454464,4.2202474,0.6024508,0.6064447,7.5691701,5.1662436,82.9336793,7.7095872,26.3942757,62.6116013,28.9121965,38.1514273,14.3778705,5.6183281,10.0168656,8.6396501,37.5423482,5.0286062,0.6010686,0.6036818,7.4249307,5.0769591,82.3723391,7.6014857,26.4306139,62.997134,29.0795499,38.4449561,14.6744636,5.6196906,9.8996944,8.4846555,37.1742634,4.7092547 +919,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5264114,0.5444624,11.1056797,7.5949641,40.9490455,13.7712984,30.6006185,67.8054277,38.8861889,47.8755242,20.9022013,6.3541931,9.9733473,9.2470015,34.5828258,9.9448657,0.5361753,0.5546572,11.2122859,7.6940091,41.2505646,13.6054483,30.5737698,67.5051639,38.9770531,47.3377278,20.9436436,6.1009221,10.4239972,9.7537971,34.9677945,8.9610812,0.6027003,0.6129994,11.1782558,7.7248109,39.9355092,13.0538132,30.9000877,67.3902052,38.9215133,47.4561547,20.7669802,6.2178055,10.4801063,9.9225308,34.0283578,8.6554996,0.6125354,0.6277251,11.1934583,7.5191251,38.2246639,13.2753393,31.5775562,67.4568833,39.3720305,47.8588255,21.121931,6.2308664,9.322245,8.739143,33.294855,8.4375053,0.5588727,0.5747668,11.0253106,7.8071118,36.2306463,12.8488544,31.0222132,67.2385381,39.6735607,48.1204728,21.7252104,6.1238448,9.037775,8.9665499,32.9520225,6.9343116 +920,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4752959,0.4863273,8.2648703,5.3010752,51.0668238,16.66978,32.9485474,68.2770057,35.8591734,45.9463386,19.9109626,4.5537616,10.9506755,8.9614437,34.3890164,4.7198802,0.5243934,0.5426439,8.2900079,5.5545765,50.5039602,17.3459838,32.8721738,68.3416431,35.8926295,45.7519734,19.6241354,4.5312074,10.826599,8.4250601,33.0286067,5.4330698,0.5435449,0.573724,8.7091345,5.7703783,50.3021053,17.888291,32.4448997,68.742878,36.4911943,45.4533652,20.2365603,4.8337275,11.6658136,8.7153699,31.1246246,5.2904101,0.5039983,0.5435431,8.2850689,5.5984849,49.6231078,17.8707301,31.8630732,69.0526883,36.6440529,44.9052309,20.255478,4.7478226,10.7559057,8.1612561,31.2979248,4.3806537,0.4647053,0.5223794,7.8699234,5.081487,48.3966921,18.0376644,30.710465,69.0884651,36.3289719,45.4825771,20.054599,4.4745102,10.4882419,8.1233186,30.0545143,4.1155828 +921,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8313577,0.813944,13.9292508,8.9121926,43.7772258,16.3237176,37.1489697,68.9551831,38.5995461,52.3577885,22.781852,3.8118718,11.3190766,9.8413492,32.1915937,10.5405405,0.8687663,0.8621345,14.2583519,9.5462942,43.0593522,16.0505422,36.8357272,68.8394339,38.921152,51.813674,22.3951901,4.1128032,11.3112658,9.9728738,32.5449113,9.3582938,0.8716127,0.8827943,14.0853244,9.3250922,41.7165221,15.7581784,36.9353905,68.4580797,39.3791868,51.402792,22.7216711,4.1727564,11.7230997,10.0610847,31.8680801,11.2716828,0.8430223,0.854122,13.7354467,9.2331772,41.1407553,15.899292,37.5721021,68.1997356,38.8375935,51.2086228,23.0699628,4.4191748,11.6100734,10.3137104,32.9864198,9.939765,0.9897298,1.0008441,13.3905932,9.2137146,40.1504719,15.8522557,37.1535307,67.4522922,38.9555772,50.5759816,23.3356553,4.2281133,12.0677321,10.5069104,33.2775988,11.6766467 +922,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8835373,0.8863741,7.8033469,4.9159258,48.494399,20.7330547,31.8699393,69.7464608,32.5312348,45.6465646,16.7707413,6.7780906,10.7920944,9.6763381,32.4834562,2.4163479,0.7104459,0.7046176,7.8324406,5.0525816,47.7557769,20.9828231,31.5343838,69.1048777,32.7378789,44.8852588,17.0176782,6.6754281,11.4059457,9.6896418,32.8838411,2.830178,0.7004521,0.7034077,7.7026375,4.9366031,46.5961309,20.8365088,32.1577984,69.1383679,33.6447002,45.6537913,17.3656202,6.4620553,11.6822346,9.8849677,32.3381422,2.3985151,0.6487118,0.6579829,7.2899691,4.6647725,44.6556952,20.0907333,31.4880526,69.5436319,33.6706673,45.7340958,17.2817713,6.7261771,11.9499485,9.5219922,32.1564174,2.529173,0.7391215,0.7488504,7.1579211,4.4974548,44.0024983,21.5942528,31.2238566,68.9849566,33.5213654,45.7602028,17.2305959,6.7877858,12.449336,9.3673852,32.7515835,3.2188772 +923,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3756292,0.3831075,7.0653947,4.320568,62.8946513,16.2017593,31.8675825,66.485506,32.3616672,39.0151529,16.5184425,8.0533614,9.4003726,8.3646591,37.9559664,2.7419373,0.3999103,0.4075838,7.2145257,4.342559,61.6792069,16.5885576,31.1884503,66.7402377,32.818346,39.2699527,16.8590833,8.6417676,9.6028624,8.7793709,37.499991,2.4834454,0.4053206,0.4053206,6.9082396,4.3020334,59.9681894,16.065865,30.9431962,67.2685768,33.6430682,40.3401096,18.1451622,8.7131857,9.8005474,8.6492041,36.0207554,1.9097235,0.2382836,0.2382836,6.8764048,4.4649568,59.1598863,16.9144363,30.3381045,66.7952898,33.6089736,41.4002234,17.8059518,8.3976486,9.3522523,8.6496309,37.0329586,2.3722645,0.2987995,0.321788,6.7097014,4.1275447,57.2555862,17.2758141,29.7023971,67.7413142,34.4715788,42.6363971,18.1037733,8.1838989,9.1565301,8.644321,37.729354,2.5096544 +924,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.7014584,0.6774093,9.5892331,6.5610975,78.264787,11.5318535,28.6145663,68.5506526,28.7208019,44.2062398,12.9164409,4.624374,12.8579345,13.4219421,33.0473446,10.6158426,0.6591225,0.6348147,10.0315148,6.9503088,78.2584158,11.5399766,28.9013115,68.450262,28.8296478,44.5418866,13.6184431,4.4559431,12.3459538,13.0567344,32.1551028,11.7855375,0.5904129,0.5716822,9.7925384,6.8038195,79.3083455,10.9426279,29.5080534,68.2651624,28.9332199,45.0611178,13.5596295,4.1127523,11.6348485,12.2107946,31.2839157,11.6194565,0.5524039,0.4990177,9.7022899,6.8687457,79.0648554,11.0766389,30.2802401,69.3882036,28.9900411,44.5448093,14.2461801,4.2203838,11.8915376,12.6890308,31.0995819,12.1090723,0.4237571,0.3875107,9.3202164,6.5295453,78.9403461,10.6465396,30.0441147,68.522655,29.4928841,45.2591088,14.0940546,4.0242246,12.1490504,12.2595268,31.0522191,9.6151479 +925,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.8069164,0.8337138,15.0790502,11.4184828,27.4136853,16.9744239,33.8228838,67.8373939,41.5283286,49.3188949,26.2452167,3.7675713,11.5069609,10.1395633,38.5408004,5.6520098,0.7635885,0.7905977,15.5317545,11.6645778,26.6474719,16.4898316,34.7948068,68.0129652,42.0950513,49.6112612,26.3282899,3.8228998,11.7430427,10.2784498,38.7746687,6.4101019,0.9589761,0.9818878,15.7795608,11.7979984,26.2543868,15.6421139,35.3710591,67.1171127,41.8060896,49.9142085,25.3753731,3.582157,11.6815046,10.8818698,39.6341414,8.8233762,1.0943372,1.1073733,16.2766576,12.4321067,26.5803117,15.321575,35.5398127,67.0736746,41.1953692,48.4361698,23.928884,3.277639,11.8760325,11.2409365,38.9562927,10.6297721,1.1695425,1.1826144,16.7505276,12.8092228,27.5320462,14.2766606,36.4986712,66.9896584,40.5469277,48.6003443,23.3634881,3.2515079,12.1665692,11.9951583,39.829113,11.9563855 +926,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6249015,0.6384066,10.1770817,6.8297123,53.733538,9.4880763,29.236144,69.6126952,40.2097906,42.5443769,21.2533557,4.5992446,9.9622509,8.5477758,36.9669657,5.403556,0.6163859,0.6404458,10.0925051,6.7933535,53.1899387,9.7749689,28.8384673,70.0632345,39.9434216,42.4062549,21.2391775,4.7204326,9.9251657,8.4532022,36.4330538,5.6834524,0.6037511,0.6171117,9.9826962,6.7993053,52.1640512,9.9863565,28.7953542,70.079237,40.4513094,42.3805698,21.0668312,4.7025699,10.3742925,8.4725557,36.2636187,6.1940299,0.6239468,0.6106685,9.9188057,6.8771191,51.0190414,10.059629,28.8906212,70.5673299,40.8275122,42.814985,21.3502744,4.7398205,9.9792795,8.2468303,36.4469715,5.6349206,0.6418322,0.6342002,9.9220544,6.8042408,50.3145943,10.3220532,28.3562094,70.5123312,40.9801683,43.2557811,21.2242553,4.9008378,10.2088428,8.429734,36.5898935,5.4991549 +927,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5794119,0.5895901,8.2702026,5.7449512,46.5260886,10.4573311,31.1537003,68.0759382,35.0972099,48.1382929,19.2498223,3.255683,10.7027724,9.2288404,30.2154456,6.39875,0.554008,0.5874132,8.1681491,5.62823,45.4516869,10.4001899,30.4529322,68.0239384,35.1984125,48.6723074,19.4004416,3.1341398,10.7382066,9.2351192,29.8881924,5.2049859,0.5079457,0.5240135,8.3114778,5.712252,44.5328742,10.327796,29.6638474,67.7292469,35.5501168,48.3403039,19.1139806,3.1058938,10.3920764,8.8660398,29.0026521,4.738531,0.518304,0.5301945,8.273273,5.6037926,43.7728196,10.617473,29.4988271,68.1984176,35.7251722,49.4138304,19.4562117,3.1023325,10.9581009,9.3550419,29.3675949,5.2542016,0.6482835,0.6572811,8.4183103,5.6011156,43.1718035,10.6971367,29.2678472,68.3664322,35.8963704,49.6430414,19.9175064,3.0238603,10.5618349,9.2128542,29.0786057,5.2535927 +928,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3565825,1.3613964,27.0494629,21.5275065,50.116475,17.4567261,35.0133763,63.6428056,30.7594975,41.0377532,20.7218404,3.5089935,13.8023814,10.3276253,43.6435365,17.8934977,1.3745066,1.3794385,28.2913021,22.7751365,50.5143309,17.2761302,35.0044061,62.9470471,30.4765252,40.6983794,20.7728462,3.096053,13.9138505,10.390637,44.8161187,21.4404546,1.6061323,1.6337186,29.899388,24.1215256,50.5211814,17.2675307,36.1839792,62.6073187,29.5103869,40.661608,20.3631266,2.9448198,13.4619364,10.1159825,44.3326264,23.4693494,1.8359225,1.8864164,31.1181467,25.1775791,50.2244327,17.4974001,37.5021021,61.6249805,29.8997857,41.6838685,20.84382,3.028426,13.2072036,9.8456865,44.2592277,25.7201223,1.9757645,2.0578399,33.3462051,27.0201467,50.3687503,17.5751463,37.8496494,60.865148,29.623072,42.8535432,21.6687587,3.1840923,13.3133927,9.6369818,45.1482593,28.0727295 +929,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5967948,0.6016948,10.2707769,6.7801957,62.8469284,13.0761067,32.2818715,68.9585093,35.7035855,46.0757077,19.4931385,3.3682603,10.091918,8.8235225,34.0899696,8.9181475,0.5549321,0.5403577,10.4407096,6.8730335,61.6713057,13.1496231,31.5928871,68.6824779,35.9987177,46.1237046,19.6886021,3.1243352,9.8113875,8.6213792,33.2996814,8.944303,0.5030474,0.522345,10.3948966,6.654827,60.873738,13.5708262,31.6350156,69.2721517,36.1497779,46.2974631,19.7995463,3.2172941,10.1922244,8.9686913,33.2594414,8.3841743,0.4776102,0.5271026,10.5107146,6.6700629,59.7805496,13.924173,32.2263596,69.3668426,36.1162721,46.7308055,20.2875724,3.0519292,9.4780168,8.5102123,32.8661528,8.3333611,0.5294527,0.5968649,10.3695422,6.4721255,58.8508219,13.8562648,32.3222976,69.9652595,36.1008854,46.8852038,19.9243915,2.9309587,8.8590276,8.1318198,32.8161674,8.9124169 +930,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9938276,1.0348779,11.4590148,7.46942,47.835904,19.2672739,38.0363236,69.5619292,39.0197196,49.5977969,23.4058336,3.3224046,11.2434351,11.0046356,34.5300021,7.2500109,0.9394153,0.9764813,11.5766948,7.7810071,47.4167857,18.9257705,38.0917711,69.2021475,38.9849693,49.2856566,23.4445147,3.3789769,11.8031398,11.2343303,34.0857692,6.4766,0.8821448,0.9799888,11.3306153,7.7368428,45.5867422,18.8269371,38.1333874,69.2852864,39.1889488,50.1358682,24.2913602,3.603734,11.6930566,11.3597563,33.5889392,7.0679666,0.6913935,0.7908142,11.2864118,7.499233,43.8608818,19.142828,38.0741843,69.5805233,39.0233555,49.9235182,24.2345822,3.658905,11.4600763,10.6798904,33.4564281,8.2445624,0.6517238,0.681174,11.5917084,7.5584812,42.6948766,19.428907,37.3629029,69.2223345,38.8367095,50.1882137,23.6908489,3.6845353,11.146848,10.6451698,33.9496646,8.707738 +931,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.546231,0.5699404,9.7914649,6.3111212,62.0741289,17.8104703,33.1624787,66.6261481,33.6018754,45.9595473,19.4718328,6.0568835,9.8352524,8.9950584,33.78895,5.6503186,0.5347036,0.5435647,9.2706826,6.0963461,61.0625326,17.3274783,32.8683353,66.7520721,33.9249942,45.9731342,19.7807851,6.0983402,9.559901,8.5531924,32.8386292,4.5964115,0.5103016,0.5191521,8.8546758,5.9384132,59.2465169,17.3067449,33.0551829,66.6639216,34.3109793,46.0591582,20.1999336,6.0393241,9.0583082,7.8832326,32.0194774,4.1387015,0.532968,0.5229459,8.6312866,5.7191363,58.5963439,16.837232,32.5453918,66.407664,34.5084296,45.7140569,20.9962392,6.1262882,8.7608115,7.7506143,32.1139516,3.846153,0.4231275,0.4106245,8.2659673,5.4379232,57.7076112,16.8722588,32.0716095,66.7348016,35.2436254,46.1657964,21.00229,6.3848919,8.8919514,7.9011951,32.1571606,3.7313638 +932,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5347036,0.5435647,9.2706826,6.0963461,61.0625326,17.3274783,32.8683353,66.7520721,33.9249942,45.9731342,19.7807851,6.0983402,9.559901,8.5531924,32.8386292,4.5964115,0.5103016,0.5191521,8.8546758,5.9384132,59.2465169,17.3067449,33.0551829,66.6639216,34.3109793,46.0591582,20.1999336,6.0393241,9.0583082,7.8832326,32.0194774,4.1387015,0.532968,0.5229459,8.6312866,5.7191363,58.5963439,16.837232,32.5453918,66.407664,34.5084296,45.7140569,20.9962392,6.1262882,8.7608115,7.7506143,32.1139516,3.846153,0.4231275,0.4106245,8.2659673,5.4379232,57.7076112,16.8722588,32.0716095,66.7348016,35.2436254,46.1657964,21.00229,6.3848919,8.8919514,7.9011951,32.1571606,3.7313638,0.467183,0.4546575,7.8648666,5.0947488,56.1823055,16.9517736,32.1498744,66.8333891,35.7740261,46.8596249,21.3922602,6.6333215,8.9837772,7.8632741,31.8588153,3.7553847 +933,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3745066,1.3794385,28.2913021,22.7751365,50.5143309,17.2761302,35.0044061,62.9470471,30.4765252,40.6983794,20.7728462,3.096053,13.9138505,10.390637,44.8161187,21.4404546,1.6061323,1.6337186,29.899388,24.1215256,50.5211814,17.2675307,36.1839792,62.6073187,29.5103869,40.661608,20.3631266,2.9448198,13.4619364,10.1159825,44.3326264,23.4693494,1.8359225,1.8864164,31.1181467,25.1775791,50.2244327,17.4974001,37.5021021,61.6249805,29.8997857,41.6838685,20.84382,3.028426,13.2072036,9.8456865,44.2592277,25.7201223,1.9757645,2.0578399,33.3462051,27.0201467,50.3687503,17.5751463,37.8496494,60.865148,29.623072,42.8535432,21.6687587,3.1840923,13.3133927,9.6369818,45.1482593,28.0727295,2.0664614,2.1560648,34.1350858,27.9430589,51.0388785,17.5172825,38.3556216,60.3136302,29.1926202,43.8503685,20.9212358,3.0989647,13.5221792,10.0114218,45.3496673,27.7121877 +934,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2051857,1.2315499,16.7607212,13.1855703,79.0062509,15.4336043,32.3215496,65.3998187,34.4875684,36.7083643,19.4270435,4.9893304,13.5570003,9.6164465,41.6998215,10.1108753,1.2019646,1.2280679,17.3373975,13.7520077,80.2811905,15.0640807,33.2329535,65.4134051,34.7001107,37.738733,18.6335218,5.0995609,14.5023722,9.4730448,42.6773064,9.7381644,1.1645846,1.2425282,17.5819143,13.834192,80.9029992,15.0663281,33.7210648,65.8295742,35.0725628,38.779119,17.9732486,5.1443326,14.0092744,9.6321476,41.9920417,9.0219532,1.2046126,1.2827934,18.1295595,14.6700499,81.3600124,15.4827293,34.6696499,65.3885797,34.5607278,39.4988072,17.7485922,5.2536792,13.7864429,9.6843984,40.3397748,9.2978234,1.1529051,1.2052967,18.5016152,15.0013034,81.8981056,15.4432435,34.6910172,65.1929638,34.4665332,39.4156334,17.9584266,5.3792545,14.4460111,10.0947665,40.2519999,9.8972965 +935,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5011234,0.468593,9.0734211,5.4885986,67.081138,13.3635192,27.9934827,63.0944697,33.4448871,38.6265812,16.3147621,3.3183127,13.0670224,10.4965682,35.3432365,4.6541501,0.4625727,0.4304602,8.6750067,4.906751,67.5240244,13.5688612,27.9910213,62.1728695,33.7885176,38.4920165,16.4572201,3.415227,12.8370495,9.7691396,35.0236708,4.4652244,0.3522887,0.3522887,8.5077631,4.8997579,66.1253092,13.6625886,28.5789856,62.7081366,34.4262074,38.4741812,16.2504103,3.5141017,12.8922776,9.9669012,35.5218027,2.8647643,0.3578885,0.3578885,8.3597469,4.847171,65.4706456,14.1083357,27.4687005,61.4512367,34.5149488,38.3243466,16.6231779,3.4821674,12.5066568,9.7194715,34.9470073,3.7454992,0.4122855,0.4122855,8.3233852,4.9688451,64.7482692,13.9985281,27.5841962,61.1864058,34.0883414,38.4898846,16.8471859,3.4399469,12.6567799,11.1227191,35.274899,3.3486179 +936,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5998598,0.6084678,12.1614991,8.3238015,36.4553659,17.4672569,33.6121289,69.210726,41.1582033,49.5677086,24.6251521,3.5426609,10.0002289,9.4221295,31.1922816,7.4576146,0.5576779,0.5911503,11.8650624,7.9729551,36.8192774,17.8251954,34.8587466,70.0774443,41.6807142,49.7224093,25.706794,3.3555583,10.7550399,9.5160427,30.9125622,6.580434,0.5761189,0.6078326,11.6017652,7.8277014,36.7388768,18.278375,34.9005821,70.6669747,41.0451971,48.9757067,25.7086222,3.3351099,11.354496,9.5317387,33.4225564,5.1600932,0.5267112,0.5618816,11.4983715,8.0912724,37.2773794,18.4188283,34.8018363,70.5565553,40.5205696,48.4542878,25.9915139,3.2714561,11.2347256,10.2743392,34.7944583,6.048392,0.6033224,0.6277257,11.4494587,7.9872751,37.3447462,18.373921,33.9988384,71.1065815,40.7229479,48.3062088,25.5557942,3.1091374,11.2333859,10.6068145,36.3983296,6.8547392 +937,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6163859,0.6404458,10.0925051,6.7933535,53.1899387,9.7749689,28.8384673,70.0632345,39.9434216,42.4062549,21.2391775,4.7204326,9.9251657,8.4532022,36.4330538,5.6834524,0.6037511,0.6171117,9.9826962,6.7993053,52.1640512,9.9863565,28.7953542,70.079237,40.4513094,42.3805698,21.0668312,4.7025699,10.3742925,8.4725557,36.2636187,6.1940299,0.6239468,0.6106685,9.9188057,6.8771191,51.0190414,10.059629,28.8906212,70.5673299,40.8275122,42.814985,21.3502744,4.7398205,9.9792795,8.2468303,36.4469715,5.6349206,0.6418322,0.6342002,9.9220544,6.8042408,50.3145943,10.3220532,28.3562094,70.5123312,40.9801683,43.2557811,21.2242553,4.9008378,10.2088428,8.429734,36.5898935,5.4991549,0.6273955,0.6153607,10.0296383,6.8638008,49.0155404,10.3581745,28.2369272,70.6487135,41.9806308,44.6205859,21.0864941,4.9681604,10.6928847,8.8005248,36.2123157,5.4270463 +938,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3999103,0.4075838,7.2145257,4.342559,61.6792069,16.5885576,31.1884503,66.7402377,32.818346,39.2699527,16.8590833,8.6417676,9.6028624,8.7793709,37.499991,2.4834454,0.4053206,0.4053206,6.9082396,4.3020334,59.9681894,16.065865,30.9431962,67.2685768,33.6430682,40.3401096,18.1451622,8.7131857,9.8005474,8.6492041,36.0207554,1.9097235,0.2382836,0.2382836,6.8764048,4.4649568,59.1598863,16.9144363,30.3381045,66.7952898,33.6089736,41.4002234,17.8059518,8.3976486,9.3522523,8.6496309,37.0329586,2.3722645,0.2987995,0.321788,6.7097014,4.1275447,57.2555862,17.2758141,29.7023971,67.7413142,34.4715788,42.6363971,18.1037733,8.1838989,9.1565301,8.644321,37.729354,2.5096544,0.3457614,0.3694778,6.7350211,4.3224788,55.870689,18.0636451,28.9111575,67.9441751,35.0432398,42.5904053,18.7696511,7.8812891,9.8108699,8.2478242,36.3888846,3.024196 +939,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4836305,0.5181923,7.357557,4.1569221,72.1917745,19.7645137,30.1397202,63.2529091,27.5357437,40.2838221,15.6432646,5.6937572,9.7426514,8.4814853,35.4874382,4.2987865,0.4183174,0.4451223,6.7176093,3.8582187,70.7042668,19.9725351,30.6260263,63.6202444,27.4166224,39.9022603,15.5186381,5.8904264,9.4319044,8.3333364,36.1070367,2.9681368,0.3297927,0.3506933,6.5743488,3.960216,69.4846218,20.3860333,30.9605856,63.2351873,28.6468563,40.0197216,15.3922042,5.8627607,9.4594629,8.1985324,34.8161746,3.0233599,0.2871644,0.2810839,6.9041218,4.1981836,68.7883358,19.7893641,30.650755,63.5981392,29.4127396,40.0360664,15.3155432,5.9704636,9.8733271,8.3645943,35.5263216,3.1554532,0.2282775,0.2221411,6.9333029,3.9992095,68.0437792,19.1439979,31.0252283,63.806914,29.5314849,40.3917236,15.56323,5.5914562,9.6810125,7.8672662,35.1907387,4.2501573 +940,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2019646,1.2280679,17.3373975,13.7520077,80.2811905,15.0640807,33.2329535,65.4134051,34.7001107,37.738733,18.6335218,5.0995609,14.5023722,9.4730448,42.6773064,9.7381644,1.1645846,1.2425282,17.5819143,13.834192,80.9029992,15.0663281,33.7210648,65.8295742,35.0725628,38.779119,17.9732486,5.1443326,14.0092744,9.6321476,41.9920417,9.0219532,1.2046126,1.2827934,18.1295595,14.6700499,81.3600124,15.4827293,34.6696499,65.3885797,34.5607278,39.4988072,17.7485922,5.2536792,13.7864429,9.6843984,40.3397748,9.2978234,1.1529051,1.2052967,18.5016152,15.0013034,81.8981056,15.4432435,34.6910172,65.1929638,34.4665332,39.4156334,17.9584266,5.3792545,14.4460111,10.0947665,40.2519999,9.8972965,1.0949076,1.1473059,19.3735499,15.6497091,82.0328436,15.2266714,35.4234918,65.7894358,34.8557563,40.2763328,17.4415984,5.1101048,14.4357698,10.4950413,38.9767709,10.3862004 +941,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6070456,0.6040324,7.5610083,5.0730521,83.4223189,7.7714597,26.7775631,62.7133894,28.3697678,38.0520395,14.0642591,5.6750119,10.6587853,9.2460507,37.5106706,4.1436369,0.5610541,0.5621352,7.4956957,5.0995472,83.2260259,7.6157575,26.8310269,62.7637726,28.4520088,38.023767,14.4151978,5.4927517,10.0889809,8.7802716,37.6454464,4.2202474,0.6024508,0.6064447,7.5691701,5.1662436,82.9336793,7.7095872,26.3942757,62.6116013,28.9121965,38.1514273,14.3778705,5.6183281,10.0168656,8.6396501,37.5423482,5.0286062,0.6010686,0.6036818,7.4249307,5.0769591,82.3723391,7.6014857,26.4306139,62.997134,29.0795499,38.4449561,14.6744636,5.6196906,9.8996944,8.4846555,37.1742634,4.7092547,0.5889113,0.5929654,7.3705897,4.9695785,81.7660276,7.3625968,26.4814698,63.4623431,29.4792651,38.4334688,14.8224449,5.5979903,10.0241147,8.5440646,37.4359696,4.824936 +942,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6004937,0.6459455,13.3550419,7.6767162,56.0911978,21.252568,33.1107925,69.2123485,34.8975622,48.2032322,21.5795032,3.4002935,13.3614899,12.4703332,37.7225783,3.2798675,0.7088874,0.7542911,13.5006683,7.8063239,54.9609625,21.5861469,33.7472407,69.3249367,35.611827,48.6163163,22.0897747,3.4720283,13.2783566,12.1615802,37.9100094,3.5579436,0.7067022,0.7620992,13.4205613,7.7501236,54.0201437,22.3483322,34.0825376,69.1289082,35.2787963,48.8430268,22.2932003,3.5706526,13.9616957,12.2612883,38.2437072,3.0952818,0.6317498,0.6966427,12.5951005,7.6678479,52.8969076,21.7077245,33.8896137,68.8224049,34.7118412,48.1543081,21.37082,3.9387853,13.8739215,12.3025666,39.0107599,4.0540497,0.5547038,0.6210168,11.433498,7.074889,51.8962527,21.6827284,34.2638702,68.3754822,35.1471204,47.9627654,21.1739075,3.9357405,14.6987644,12.4151562,39.2470197,3.2163724 +943,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1909336,1.2518661,25.3839997,21.6068541,46.9189818,14.0947926,41.2142795,65.4894284,34.3045559,47.3967178,23.3214463,3.4522795,12.7737358,9.3201722,28.5822747,18.9387118,1.2285396,1.2698779,25.4616985,21.4087587,48.2262928,13.8223932,41.3281064,65.55875,34.0325901,46.6830405,23.5947958,3.6482535,13.0950884,9.4141288,27.6607599,20.5820741,1.1830166,1.2539915,27.1498877,22.5656442,48.6888708,13.9597655,41.8354682,66.2587443,35.0551896,46.9704789,23.6662546,3.2587926,12.8188694,9.1456531,29.0603193,24.2263217,1.2238191,1.4150633,27.6784831,23.0281669,48.6434323,14.8303905,41.2341792,65.0369772,36.0599692,47.1850275,24.0290938,3.5252783,11.2686216,8.6578283,30.2027502,25.2907243,1.2072707,1.3597221,27.7231909,22.8288365,50.9699265,15.1604978,40.292536,64.4878869,35.1128522,46.5220991,23.3100621,3.3770104,12.414288,9.6180848,30.0549964,23.5052589 +944,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6264076,0.6467658,10.774445,6.8626063,63.6098338,10.0232795,33.9142551,66.2710039,40.7685119,44.4271397,23.8631719,4.2215445,11.0673286,9.2038143,40.8295481,5.2666639,0.5951244,0.6385327,10.7430679,6.8507172,62.4937402,9.8145339,34.0559908,66.1123805,40.9103177,44.572257,24.0471174,4.3207855,11.147414,9.0646094,40.6792993,5.7744542,0.6161486,0.6626558,10.6468413,6.6833768,61.8559501,9.5101449,33.7218467,66.142322,40.6342864,44.5254478,23.8857069,4.2809806,11.2521486,9.1552636,41.0445479,5.9973022,0.6195236,0.6806266,10.749759,6.7906266,61.0512653,9.4896693,33.2985852,66.3629038,40.8451154,44.7780696,23.9394659,4.4255345,10.545805,8.7811665,40.4795615,6.2243477,0.6042553,0.6642977,10.6872497,6.7761573,60.1453943,9.4556459,33.4017781,66.5582098,41.0030359,45.1141162,24.099623,4.3258726,10.8662833,9.2030551,40.775481,6.2752994 +945,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4053206,0.4053206,6.9082396,4.3020334,59.9681894,16.065865,30.9431962,67.2685768,33.6430682,40.3401096,18.1451622,8.7131857,9.8005474,8.6492041,36.0207554,1.9097235,0.2382836,0.2382836,6.8764048,4.4649568,59.1598863,16.9144363,30.3381045,66.7952898,33.6089736,41.4002234,17.8059518,8.3976486,9.3522523,8.6496309,37.0329586,2.3722645,0.2987995,0.321788,6.7097014,4.1275447,57.2555862,17.2758141,29.7023971,67.7413142,34.4715788,42.6363971,18.1037733,8.1838989,9.1565301,8.644321,37.729354,2.5096544,0.3457614,0.3694778,6.7350211,4.3224788,55.870689,18.0636451,28.9111575,67.9441751,35.0432398,42.5904053,18.7696511,7.8812891,9.8108699,8.2478242,36.3888846,3.024196,0.3451831,0.3822889,6.2238034,3.9606048,53.9017437,19.0563002,28.6972441,67.3699238,34.2687331,42.3801614,19.1929477,7.7222475,10.1503768,7.9079505,36.9107691,3.1779688 +946,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7088874,0.7542911,13.5006683,7.8063239,54.9609625,21.5861469,33.7472407,69.3249367,35.611827,48.6163163,22.0897747,3.4720283,13.2783566,12.1615802,37.9100094,3.5579436,0.7067022,0.7620992,13.4205613,7.7501236,54.0201437,22.3483322,34.0825376,69.1289082,35.2787963,48.8430268,22.2932003,3.5706526,13.9616957,12.2612883,38.2437072,3.0952818,0.6317498,0.6966427,12.5951005,7.6678479,52.8969076,21.7077245,33.8896137,68.8224049,34.7118412,48.1543081,21.37082,3.9387853,13.8739215,12.3025666,39.0107599,4.0540497,0.5547038,0.6210168,11.433498,7.074889,51.8962527,21.6827284,34.2638702,68.3754822,35.1471204,47.9627654,21.1739075,3.9357405,14.6987644,12.4151562,39.2470197,3.2163724,0.6418216,0.6351552,11.6015648,7.2966305,51.4275094,20.5686071,33.9597229,67.3413274,35.3757369,47.5895055,21.4256977,3.8347696,15.4581814,13.1837672,40.6991343,4.6583764 +947,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5549321,0.5403577,10.4407096,6.8730335,61.6713057,13.1496231,31.5928871,68.6824779,35.9987177,46.1237046,19.6886021,3.1243352,9.8113875,8.6213792,33.2996814,8.944303,0.5030474,0.522345,10.3948966,6.654827,60.873738,13.5708262,31.6350156,69.2721517,36.1497779,46.2974631,19.7995463,3.2172941,10.1922244,8.9686913,33.2594414,8.3841743,0.4776102,0.5271026,10.5107146,6.6700629,59.7805496,13.924173,32.2263596,69.3668426,36.1162721,46.7308055,20.2875724,3.0519292,9.4780168,8.5102123,32.8661528,8.3333611,0.5294527,0.5968649,10.3695422,6.4721255,58.8508219,13.8562648,32.3222976,69.9652595,36.1008854,46.8852038,19.9243915,2.9309587,8.8590276,8.1318198,32.8161674,8.9124169,0.4896115,0.55753,10.3276293,6.5221733,57.7314092,13.8046705,31.7882746,69.6505472,35.7553861,46.3412015,19.8663649,2.8057506,8.6417286,8.1395319,32.6777946,9.9112693 +948,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7146411,1.8265814,32.725832,26.703645,63.25,7.9073482,35.3658537,66.2601626,27.7235772,42.6829268,15.203252,5.6097561,15.15625,10.7476636,34.84375,12.5,1.984944,2.0952381,33.671875,27.734375,61.5702479,7.6619273,36.1958266,64.1252006,26.4044944,40.6902087,15.1685393,5.5377207,16.1949686,11.7554859,35.5799373,13.803681,2.2756675,2.3117947,34.1257669,28.9110429,61.5322581,7.6036866,35.1246106,64.4080997,26.0903427,40.7320872,16.1214953,5.529595,16.5615142,12.4213836,37.5786164,13.9053254,1.953448,1.953448,33.1602374,28.4124629,60.719755,6.8382353,34.6439169,64.0207715,26.9287834,40.727003,16.5430267,5.7121662,16.8128655,12.6822157,37.3546512,12.6470588,1.6123407,1.6123407,33.1586826,29.1167665,60.4166667,7.1533923,35.5341246,64.0207715,26.3353116,41.4688427,16.3946588,5.8605341,16.7673716,13.3633634,37.5748503,11.746988 +949,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5103016,0.5191521,8.8546758,5.9384132,59.2465169,17.3067449,33.0551829,66.6639216,34.3109793,46.0591582,20.1999336,6.0393241,9.0583082,7.8832326,32.0194774,4.1387015,0.532968,0.5229459,8.6312866,5.7191363,58.5963439,16.837232,32.5453918,66.407664,34.5084296,45.7140569,20.9962392,6.1262882,8.7608115,7.7506143,32.1139516,3.846153,0.4231275,0.4106245,8.2659673,5.4379232,57.7076112,16.8722588,32.0716095,66.7348016,35.2436254,46.1657964,21.00229,6.3848919,8.8919514,7.9011951,32.1571606,3.7313638,0.467183,0.4546575,7.8648666,5.0947488,56.1823055,16.9517736,32.1498744,66.8333891,35.7740261,46.8596249,21.3922602,6.6333215,8.9837772,7.8632741,31.8588153,3.7553847,0.491626,0.501704,7.7029642,4.9256506,55.0813383,17.3738506,32.6818342,67.4501038,36.5578059,47.0146755,21.878608,6.5561593,9.1429484,7.7936161,32.3630179,3.3769259 +950,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6061323,1.6337186,29.899388,24.1215256,50.5211814,17.2675307,36.1839792,62.6073187,29.5103869,40.661608,20.3631266,2.9448198,13.4619364,10.1159825,44.3326264,23.4693494,1.8359225,1.8864164,31.1181467,25.1775791,50.2244327,17.4974001,37.5021021,61.6249805,29.8997857,41.6838685,20.84382,3.028426,13.2072036,9.8456865,44.2592277,25.7201223,1.9757645,2.0578399,33.3462051,27.0201467,50.3687503,17.5751463,37.8496494,60.865148,29.623072,42.8535432,21.6687587,3.1840923,13.3133927,9.6369818,45.1482593,28.0727295,2.0664614,2.1560648,34.1350858,27.9430589,51.0388785,17.5172825,38.3556216,60.3136302,29.1926202,43.8503685,20.9212358,3.0989647,13.5221792,10.0114218,45.3496673,27.7121877,2.1758223,2.2204105,34.2926461,28.0052783,51.7422761,17.0808603,38.4122011,60.2583885,28.6944972,42.918159,20.5241172,3.2335941,13.2588899,10.1100782,44.9867726,27.6561874 +951,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5610541,0.5621352,7.4956957,5.0995472,83.2260259,7.6157575,26.8310269,62.7637726,28.4520088,38.023767,14.4151978,5.4927517,10.0889809,8.7802716,37.6454464,4.2202474,0.6024508,0.6064447,7.5691701,5.1662436,82.9336793,7.7095872,26.3942757,62.6116013,28.9121965,38.1514273,14.3778705,5.6183281,10.0168656,8.6396501,37.5423482,5.0286062,0.6010686,0.6036818,7.4249307,5.0769591,82.3723391,7.6014857,26.4306139,62.997134,29.0795499,38.4449561,14.6744636,5.6196906,9.8996944,8.4846555,37.1742634,4.7092547,0.5889113,0.5929654,7.3705897,4.9695785,81.7660276,7.3625968,26.4814698,63.4623431,29.4792651,38.4334688,14.8224449,5.5979903,10.0241147,8.5440646,37.4359696,4.824936,0.6189239,0.6146422,7.5661887,5.0534323,80.7782514,7.4366916,26.0470926,63.6081359,29.7789013,38.6986889,15.0488736,5.3649377,10.1481825,8.676956,37.1000834,4.1998232 +952,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6410175,0.6410175,11.6727343,8.2602854,46.5557113,15.5375611,33.6035033,70.1795328,36.7175549,48.4943363,24.4312174,4.2181321,10.5270873,8.0957,41.4393818,6.3757846,0.6666618,0.6666618,11.664757,8.0357175,46.8026724,14.5599452,33.5820936,70.835848,36.2089422,47.9701337,24.0895714,4.149249,10.6096039,9.2352845,41.3690456,5.434722,0.6942225,0.6942225,12.1813936,8.5654995,46.2287787,14.9449819,33.118077,69.895479,36.0085948,47.1402232,23.2164922,4.0897865,10.2424267,10.0121262,41.2162263,7.1427981,0.8158679,0.7965442,12.2481241,8.5957291,45.6146126,15.7605055,33.8867147,70.0846413,36.6210779,47.2330684,23.6002516,4.5898328,10.9195316,10.408663,43.5650104,6.5384766,0.7858362,0.7660772,12.2085579,8.2577779,45.5314871,15.3618305,32.3061536,69.2180287,36.4810929,45.8250475,22.7634117,4.4731502,11.1038903,10.8441369,42.4738236,6.0714416 +953,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5150256,0.5548986,13.1117788,11.1042241,54.3939333,32.8792851,32.3452219,67.1277619,34.0578927,41.304365,15.0856401,6.2581852,11.4012555,11.6758472,31.4403247,5.8621094,0.6551458,0.6944546,13.9233503,11.5718303,55.2149379,32.0836759,35.1612733,66.6452685,34.7743,42.5162164,15.1613765,6.6451266,12.0596648,11.7885226,33.4699019,5.7047363,0.6528366,0.6920068,14.2593559,11.9136406,54.9285755,31.6286158,34.8464843,65.4093379,34.8466761,42.9028688,15.2814268,6.2020094,12.2422154,11.726614,34.8446282,6.6455907,0.6734104,0.6734104,13.9668503,11.0331976,54.8875811,30.3362465,35.2748958,63.5472084,33.0499307,43.6518434,15.2488352,6.3481239,13.6855698,12.3304006,33.9236692,6.8179014,0.8701587,0.8701587,13.9312382,11.0051158,55.1112661,30.2309401,35.557002,64.7021982,33.3550953,44.4949416,15.9975518,6.6709413,14.7519282,11.87969,33.2010561,7.4672563 +954,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4183174,0.4451223,6.7176093,3.8582187,70.7042668,19.9725351,30.6260263,63.6202444,27.4166224,39.9022603,15.5186381,5.8904264,9.4319044,8.3333364,36.1070367,2.9681368,0.3297927,0.3506933,6.5743488,3.960216,69.4846218,20.3860333,30.9605856,63.2351873,28.6468563,40.0197216,15.3922042,5.8627607,9.4594629,8.1985324,34.8161746,3.0233599,0.2871644,0.2810839,6.9041218,4.1981836,68.7883358,19.7893641,30.650755,63.5981392,29.4127396,40.0360664,15.3155432,5.9704636,9.8733271,8.3645943,35.5263216,3.1554532,0.2282775,0.2221411,6.9333029,3.9992095,68.0437792,19.1439979,31.0252283,63.806914,29.5314849,40.3917236,15.56323,5.5914562,9.6810125,7.8672662,35.1907387,4.2501573,0.3340767,0.3353141,7.5384215,4.2643641,67.3888227,19.0983816,31.2548695,63.8301092,29.9957303,40.4753445,16.2266976,5.2599656,9.475659,8.0827098,35.1320887,4.3591398 +955,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.984944,2.0952381,33.671875,27.734375,61.5702479,7.6619273,36.1958266,64.1252006,26.4044944,40.6902087,15.1685393,5.5377207,16.1949686,11.7554859,35.5799373,13.803681,2.2756675,2.3117947,34.1257669,28.9110429,61.5322581,7.6036866,35.1246106,64.4080997,26.0903427,40.7320872,16.1214953,5.529595,16.5615142,12.4213836,37.5786164,13.9053254,1.953448,1.953448,33.1602374,28.4124629,60.719755,6.8382353,34.6439169,64.0207715,26.9287834,40.727003,16.5430267,5.7121662,16.8128655,12.6822157,37.3546512,12.6470588,1.6123407,1.6123407,33.1586826,29.1167665,60.4166667,7.1533923,35.5341246,64.0207715,26.3353116,41.4688427,16.3946588,5.8605341,16.7673716,13.3633634,37.5748503,11.746988,1.7519841,1.7519841,34.0472674,29.9113737,61.7692308,6.3689605,36.3970588,62.2794118,26.6911765,40.8088235,15.8088235,5.6617647,16.9161677,12.9464286,40.2077151,13.4375 +956,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.7635885,0.7905977,15.5317545,11.6645778,26.6474719,16.4898316,34.7948068,68.0129652,42.0950513,49.6112612,26.3282899,3.8228998,11.7430427,10.2784498,38.7746687,6.4101019,0.9589761,0.9818878,15.7795608,11.7979984,26.2543868,15.6421139,35.3710591,67.1171127,41.8060896,49.9142085,25.3753731,3.582157,11.6815046,10.8818698,39.6341414,8.8233762,1.0943372,1.1073733,16.2766576,12.4321067,26.5803117,15.321575,35.5398127,67.0736746,41.1953692,48.4361698,23.928884,3.277639,11.8760325,11.2409365,38.9562927,10.6297721,1.1695425,1.1826144,16.7505276,12.8092228,27.5320462,14.2766606,36.4986712,66.9896584,40.5469277,48.6003443,23.3634881,3.2515079,12.1665692,11.9951583,39.829113,11.9563855,1.2077486,1.2208307,16.6526725,12.6627468,28.4478739,13.5095225,36.3225544,66.0430163,40.580629,48.3225586,23.3333414,3.0752699,12.2619325,11.212357,38.7779118,13.4057441 +957,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8687663,0.8621345,14.2583519,9.5462942,43.0593522,16.0505422,36.8357272,68.8394339,38.921152,51.813674,22.3951901,4.1128032,11.3112658,9.9728738,32.5449113,9.3582938,0.8716127,0.8827943,14.0853244,9.3250922,41.7165221,15.7581784,36.9353905,68.4580797,39.3791868,51.402792,22.7216711,4.1727564,11.7230997,10.0610847,31.8680801,11.2716828,0.8430223,0.854122,13.7354467,9.2331772,41.1407553,15.899292,37.5721021,68.1997356,38.8375935,51.2086228,23.0699628,4.4191748,11.6100734,10.3137104,32.9864198,9.939765,0.9897298,1.0008441,13.3905932,9.2137146,40.1504719,15.8522557,37.1535307,67.4522922,38.9555772,50.5759816,23.3356553,4.2281133,12.0677321,10.5069104,33.2775988,11.6766467,1.0612284,1.072214,13.688085,9.4897189,39.1253184,16.1961655,37.2987857,67.9303991,39.186752,50.5680771,23.7452804,4.1087219,12.8893034,10.944732,32.8994051,12.1875549 +958,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.554008,0.5874132,8.1681491,5.62823,45.4516869,10.4001899,30.4529322,68.0239384,35.1984125,48.6723074,19.4004416,3.1341398,10.7382066,9.2351192,29.8881924,5.2049859,0.5079457,0.5240135,8.3114778,5.712252,44.5328742,10.327796,29.6638474,67.7292469,35.5501168,48.3403039,19.1139806,3.1058938,10.3920764,8.8660398,29.0026521,4.738531,0.518304,0.5301945,8.273273,5.6037926,43.7728196,10.617473,29.4988271,68.1984176,35.7251722,49.4138304,19.4562117,3.1023325,10.9581009,9.3550419,29.3675949,5.2542016,0.6482835,0.6572811,8.4183103,5.6011156,43.1718035,10.6971367,29.2678472,68.3664322,35.8963704,49.6430414,19.9175064,3.0238603,10.5618349,9.2128542,29.0786057,5.2535927,0.6303855,0.6393255,8.4470868,5.5616412,41.7374275,10.7487067,28.5507439,68.3344349,36.1280399,49.3374157,20.3336346,2.9931342,10.4173609,9.3121334,28.8251603,5.2158311 +959,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8716127,0.8827943,14.0853244,9.3250922,41.7165221,15.7581784,36.9353905,68.4580797,39.3791868,51.402792,22.7216711,4.1727564,11.7230997,10.0610847,31.8680801,11.2716828,0.8430223,0.854122,13.7354467,9.2331772,41.1407553,15.899292,37.5721021,68.1997356,38.8375935,51.2086228,23.0699628,4.4191748,11.6100734,10.3137104,32.9864198,9.939765,0.9897298,1.0008441,13.3905932,9.2137146,40.1504719,15.8522557,37.1535307,67.4522922,38.9555772,50.5759816,23.3356553,4.2281133,12.0677321,10.5069104,33.2775988,11.6766467,1.0612284,1.072214,13.688085,9.4897189,39.1253184,16.1961655,37.2987857,67.9303991,39.186752,50.5680771,23.7452804,4.1087219,12.8893034,10.944732,32.8994051,12.1875549,0.9609866,0.9787613,13.527594,9.6076442,38.9434105,16.4159965,37.9192661,68.2898216,39.6123146,50.2698509,24.21229,4.3607911,13.3877867,11.4477867,33.5277871,11.8182281 +960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8430223,0.854122,13.7354467,9.2331772,41.1407553,15.899292,37.5721021,68.1997356,38.8375935,51.2086228,23.0699628,4.4191748,11.6100734,10.3137104,32.9864198,9.939765,0.9897298,1.0008441,13.3905932,9.2137146,40.1504719,15.8522557,37.1535307,67.4522922,38.9555772,50.5759816,23.3356553,4.2281133,12.0677321,10.5069104,33.2775988,11.6766467,1.0612284,1.072214,13.688085,9.4897189,39.1253184,16.1961655,37.2987857,67.9303991,39.186752,50.5680771,23.7452804,4.1087219,12.8893034,10.944732,32.8994051,12.1875549,0.9609866,0.9787613,13.527594,9.6076442,38.9434105,16.4159965,37.9192661,68.2898216,39.6123146,50.2698509,24.21229,4.3607911,13.3877867,11.4477867,33.5277871,11.8182281,1.207607,1.2252761,13.9694854,10.0031303,38.0259241,15.7819126,37.9732972,68.5717952,40.2534169,50.4986561,24.1392129,4.2508718,13.1898898,11.7385954,33.6144484,11.7143295 +961,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6556915,0.648462,9.4320683,6.8486788,56.2328689,13.1103477,29.358352,67.6989433,39.1100393,44.1336638,20.4435203,5.202932,10.6081678,8.994531,34.1705175,7.194391,0.6902184,0.682775,9.4522596,6.8166898,54.8704741,13.3226364,28.8024438,67.7572903,39.5485381,44.216888,20.7095945,5.2808638,10.5354922,9.2321609,35.649422,7.4917629,0.7254383,0.7177499,9.5741585,6.5895697,53.9794572,13.7538022,28.9981495,67.968478,40.605666,44.5974976,20.7829804,5.441856,10.746517,9.8365571,36.0533209,10.0246063,0.6956563,0.6874334,9.2566352,6.441752,53.5008187,13.7896728,28.4805137,67.2558711,39.9398968,44.4986375,20.720246,4.7593253,10.2137625,9.9348885,34.7173815,9.6748148,0.7875247,0.7738978,9.0273954,6.2172721,52.0491045,14.5294713,28.2610533,67.5674696,40.1431616,44.8927169,20.2251274,4.423981,10.7480716,9.2974809,34.8806317,9.094005 +962,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5317911,0.5754401,8.42723,5.8920188,60.2354637,19.7701689,34.1894439,68.4967012,33.1055608,43.4260132,18.4967012,4.736098,9.500446,7.8194817,36.1310592,1.2135922,0.5119255,0.5555556,8.1378987,5.65197,59.2193487,19.6771175,32.4470588,69.0117647,32.7294118,43.5058824,18.5176471,4.8235294,10.1687389,7.969724,35.6951872,1.6509434,0.6415897,0.6855844,8.0690961,5.560814,58.6215178,19.4040357,32.1293673,68.7677054,33.0736544,44.4050992,18.3899906,4.7922568,9.6338274,7.9039301,34.5175439,1.6746411,0.6610759,0.6792082,8.2642613,5.4851292,57.3025335,19.71387,31.8893784,68.2574645,33.3088595,45.0073421,18.9672051,4.7234459,10,8.5568918,33.9069767,1.6666667,0.7041922,0.7073324,7.9746835,5.1392405,57.0292458,19.1729323,31.9078947,68.1933198,33.0718623,45.1163968,18.8512146,5.1366397,10.1735776,8.9458414,33.2521908,2.238806 +963,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5812707,0.5696485,7.5587884,5.0553278,62.1056365,10.3046615,31.555897,64.912407,30.1098431,40.4268584,15.5241936,13.8973848,10.9078965,9.2212568,37.835333,3.390875,0.583516,0.5590769,7.5620352,5.0111542,61.695086,10.2459605,31.2613387,65.3062672,29.8241907,40.3167252,15.5783455,14.0853904,10.5840399,9.2289404,37.8266716,3.263546,0.6185864,0.5687092,7.3281478,4.7773461,61.0057902,10.1633546,31.1693016,65.4160683,29.9641294,40.3658517,15.7173581,14.4404599,10.4742523,9.2226411,36.8270084,3.6828955,0.5235896,0.4786583,7.0582054,4.627962,59.3970807,10.1741192,30.8764405,65.6208093,29.8479638,40.6841559,16.3735288,14.5252667,10.5568061,9.0460034,36.5954444,3.1417104,0.5318751,0.4773187,7.1428565,4.5742815,58.3201387,10.2299212,30.4945123,66.1930937,30.2747226,40.7770838,16.2244901,14.5918385,10.237518,8.7785101,36.2878854,2.7046776 +964,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.583516,0.5590769,7.5620352,5.0111542,61.695086,10.2459605,31.2613387,65.3062672,29.8241907,40.3167252,15.5783455,14.0853904,10.5840399,9.2289404,37.8266716,3.263546,0.6185864,0.5687092,7.3281478,4.7773461,61.0057902,10.1633546,31.1693016,65.4160683,29.9641294,40.3658517,15.7173581,14.4404599,10.4742523,9.2226411,36.8270084,3.6828955,0.5235896,0.4786583,7.0582054,4.627962,59.3970807,10.1741192,30.8764405,65.6208093,29.8479638,40.6841559,16.3735288,14.5252667,10.5568061,9.0460034,36.5954444,3.1417104,0.5318751,0.4773187,7.1428565,4.5742815,58.3201387,10.2299212,30.4945123,66.1930937,30.2747226,40.7770838,16.2244901,14.5918385,10.237518,8.7785101,36.2878854,2.7046776,0.5117592,0.4502303,7.3431785,4.5884504,56.9219307,10.3802571,30.4736203,67.1992756,30.7194347,41.7322218,16.4945895,14.5608007,10.1291723,8.7209315,36.2583385,2.2307689 +965,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5030474,0.522345,10.3948966,6.654827,60.873738,13.5708262,31.6350156,69.2721517,36.1497779,46.2974631,19.7995463,3.2172941,10.1922244,8.9686913,33.2594414,8.3841743,0.4776102,0.5271026,10.5107146,6.6700629,59.7805496,13.924173,32.2263596,69.3668426,36.1162721,46.7308055,20.2875724,3.0519292,9.4780168,8.5102123,32.8661528,8.3333611,0.5294527,0.5968649,10.3695422,6.4721255,58.8508219,13.8562648,32.3222976,69.9652595,36.1008854,46.8852038,19.9243915,2.9309587,8.8590276,8.1318198,32.8161674,8.9124169,0.4896115,0.55753,10.3276293,6.5221733,57.7314092,13.8046705,31.7882746,69.6505472,35.7553861,46.3412015,19.8663649,2.8057506,8.6417286,8.1395319,32.6777946,9.9112693,0.5181386,0.5860827,10.3591628,6.3007192,56.793069,14.3133955,31.6577187,69.5602666,35.8484636,45.9640691,20.5305293,3.0037112,9.2120994,8.1441616,32.8451037,9.2767552 +966,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6902184,0.682775,9.4522596,6.8166898,54.8704741,13.3226364,28.8024438,67.7572903,39.5485381,44.216888,20.7095945,5.2808638,10.5354922,9.2321609,35.649422,7.4917629,0.7254383,0.7177499,9.5741585,6.5895697,53.9794572,13.7538022,28.9981495,67.968478,40.605666,44.5974976,20.7829804,5.441856,10.746517,9.8365571,36.0533209,10.0246063,0.6956563,0.6874334,9.2566352,6.441752,53.5008187,13.7896728,28.4805137,67.2558711,39.9398968,44.4986375,20.720246,4.7593253,10.2137625,9.9348885,34.7173815,9.6748148,0.7875247,0.7738978,9.0273954,6.2172721,52.0491045,14.5294713,28.2610533,67.5674696,40.1431616,44.8927169,20.2251274,4.423981,10.7480716,9.2974809,34.8806317,9.094005,0.748481,0.7343712,8.8365819,5.8739193,50.6605785,14.8536208,27.6125906,67.257026,40.2052055,45.9711145,20.6163512,4.5613869,10.7979651,9.5386987,34.0936981,8.2417784 +967,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0552927,1.0126616,22.9339982,17.7059933,40.1678166,13.1940586,39.4902718,66.7681164,33.5096683,49.8477363,25.9046664,5.1326469,14.8183637,12.1906874,33.5129442,9.8095355,1.000281,0.9435328,23.5999234,18.8563984,41.1945776,13.3598495,39.3184844,66.5741943,33.6093251,50.089685,25.768832,5.1439446,14.443817,12.2428538,33.3546527,9.3095495,0.9608645,0.9625108,24.2754409,19.6773016,42.3618531,13.1973221,39.1448315,66.7046449,33.9236325,50.5088996,26.1573399,5.0444085,14.978556,11.5874469,33.4540007,7.7550951,1.0577429,1.0593634,23.8397267,19.229097,41.5332672,13.5076797,39.4921538,66.4193173,34.1116815,50.6743008,25.6435873,4.9643261,15.4343882,11.952767,33.8190686,8.5075495,0.9455262,0.9598602,24.4201513,19.8403568,41.4908638,13.640238,39.7093362,67.2187687,34.8332472,50.7366012,25.0973561,5.6119904,14.6083044,12.5249966,33.0710313,8.8407747 +968,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6813489,0.7096858,9.0533896,5.443342,52.590317,16.9162247,32.6409425,67.8531258,38.5965148,45.0752349,22.8209392,3.9075054,10.338281,9.1430551,34.9749941,6.5855972,0.690509,0.6841146,9.1027219,5.5667311,51.4222021,17.5904046,32.6711615,68.4942652,38.4073223,46.1753146,23.1102122,3.9885467,10.0800334,9.4571025,34.5351164,5.750207,0.6680977,0.6614103,9.0230199,5.6145735,50.5905463,17.5859026,32.7024974,69.0490826,38.8643602,47.2471121,23.7878422,4.1131156,10.4679734,9.4593961,33.8482124,4.3591353,0.7979773,0.8008218,9.0835573,5.7109376,49.1737254,17.3612617,32.6785654,68.9771755,39.2692981,48.3601603,24.0746257,4.042122,11.3680562,9.7212875,33.2796139,4.213611,0.7022158,0.724926,9.1138125,5.8118801,48.2477777,17.7272489,32.5425671,68.822332,38.8565919,48.7540922,24.1808762,4.0102049,10.8300151,9.5413704,32.7303977,4.6876055 +969,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5361753,0.5546572,11.2122859,7.6940091,41.2505646,13.6054483,30.5737698,67.5051639,38.9770531,47.3377278,20.9436436,6.1009221,10.4239972,9.7537971,34.9677945,8.9610812,0.6027003,0.6129994,11.1782558,7.7248109,39.9355092,13.0538132,30.9000877,67.3902052,38.9215133,47.4561547,20.7669802,6.2178055,10.4801063,9.9225308,34.0283578,8.6554996,0.6125354,0.6277251,11.1934583,7.5191251,38.2246639,13.2753393,31.5775562,67.4568833,39.3720305,47.8588255,21.121931,6.2308664,9.322245,8.739143,33.294855,8.4375053,0.5588727,0.5747668,11.0253106,7.8071118,36.2306463,12.8488544,31.0222132,67.2385381,39.6735607,48.1204728,21.7252104,6.1238448,9.037775,8.9665499,32.9520225,6.9343116,0.6029121,0.6078237,10.9278624,7.8354654,35.3820757,13.1965852,31.73076,67.7600074,39.9454725,48.0730881,21.4849809,6.2447983,8.3750042,8.7156094,32.5396145,6.7857191 +970,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9394153,0.9764813,11.5766948,7.7810071,47.4167857,18.9257705,38.0917711,69.2021475,38.9849693,49.2856566,23.4445147,3.3789769,11.8031398,11.2343303,34.0857692,6.4766,0.8821448,0.9799888,11.3306153,7.7368428,45.5867422,18.8269371,38.1333874,69.2852864,39.1889488,50.1358682,24.2913602,3.603734,11.6930566,11.3597563,33.5889392,7.0679666,0.6913935,0.7908142,11.2864118,7.499233,43.8608818,19.142828,38.0741843,69.5805233,39.0233555,49.9235182,24.2345822,3.658905,11.4600763,10.6798904,33.4564281,8.2445624,0.6517238,0.681174,11.5917084,7.5584812,42.6948766,19.428907,37.3629029,69.2223345,38.8367095,50.1882137,23.6908489,3.6845353,11.146848,10.6451698,33.9496646,8.707738,0.7178262,0.7482361,11.9495291,7.8972251,41.5008173,19.7708716,37.7276232,69.0018931,39.905854,50.5689367,24.2685419,3.7873738,10.8016855,11.2507621,33.2619314,7.6703412 +971,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.000281,0.9435328,23.5999234,18.8563984,41.1945776,13.3598495,39.3184844,66.5741943,33.6093251,50.089685,25.768832,5.1439446,14.443817,12.2428538,33.3546527,9.3095495,0.9608645,0.9625108,24.2754409,19.6773016,42.3618531,13.1973221,39.1448315,66.7046449,33.9236325,50.5088996,26.1573399,5.0444085,14.978556,11.5874469,33.4540007,7.7550951,1.0577429,1.0593634,23.8397267,19.229097,41.5332672,13.5076797,39.4921538,66.4193173,34.1116815,50.6743008,25.6435873,4.9643261,15.4343882,11.952767,33.8190686,8.5075495,0.9455262,0.9598602,24.4201513,19.8403568,41.4908638,13.640238,39.7093362,67.2187687,34.8332472,50.7366012,25.0973561,5.6119904,14.6083044,12.5249966,33.0710313,8.8407747,1.0560992,1.0702892,24.8775975,20.1832622,41.7355315,14.0051566,40.2250615,67.2760607,34.3339228,50.6863748,25.8018506,5.6790622,14.3219427,12.540681,32.8783465,10.6146495 +972,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5243934,0.5426439,8.2900079,5.5545765,50.5039602,17.3459838,32.8721738,68.3416431,35.8926295,45.7519734,19.6241354,4.5312074,10.826599,8.4250601,33.0286067,5.4330698,0.5435449,0.573724,8.7091345,5.7703783,50.3021053,17.888291,32.4448997,68.742878,36.4911943,45.4533652,20.2365603,4.8337275,11.6658136,8.7153699,31.1246246,5.2904101,0.5039983,0.5435431,8.2850689,5.5984849,49.6231078,17.8707301,31.8630732,69.0526883,36.6440529,44.9052309,20.255478,4.7478226,10.7559057,8.1612561,31.2979248,4.3806537,0.4647053,0.5223794,7.8699234,5.081487,48.3966921,18.0376644,30.710465,69.0884651,36.3289719,45.4825771,20.054599,4.4745102,10.4882419,8.1233186,30.0545143,4.1155828,0.5555431,0.6130556,8.0264818,5.3703362,47.119466,18.3958456,30.2688495,69.4920351,36.8802285,45.405032,19.8955943,4.5151222,10.1958882,8.5318593,30.2134278,3.2915498 +973,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6696795,0.6937799,9.6405984,6.8603191,71.3704115,11.7372128,30.4442792,66.3328319,30.5823785,44.1873727,14.6524218,4.7997486,11.3323842,11.1421222,32.2461417,5.2158705,0.6559821,0.6782937,9.457214,6.6141783,70.2621909,11.7807541,30.4029427,66.7185627,30.5948916,44.6269855,14.9796722,4.9772409,11.3329319,11.0886144,31.8941632,5.8049054,0.5336389,0.568694,9.0157575,6.2777323,69.5283785,12.2324162,29.9021614,66.2611878,31.4819679,44.9222332,15.0326572,5.3285156,10.982958,11.2393927,31.2292573,6.0543382,0.5390443,0.5755586,9.0101977,6.2852732,68.1434287,12.5388115,29.2895955,66.5577158,31.5878608,44.9856198,15.4218282,5.3408553,11.0189582,11.1027117,30.6972936,7.3409324,0.5079606,0.5079606,9.1297456,6.5330737,67.6605846,12.6048343,29.2699467,66.8685058,31.3838912,44.9125896,14.7548714,5.4256316,11.4467155,10.8671931,30.9126426,6.9616611 +974,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6650366,0.666149,9.1948491,5.7753607,33.199243,17.0214777,35.4119584,69.1455033,40.294916,50.0406847,22.410966,4.5066234,12.0310831,10.3063643,32.0886325,4.6552174,0.7575552,0.7636124,9.2242169,5.626046,32.2709836,17.2301857,35.7264739,69.4852806,40.3211807,50.5531304,22.7504944,4.4565043,12.3334665,10.45527,32.2887176,6.0546851,0.826123,0.8318994,9.3580646,5.4977292,30.8840362,17.2312407,35.3117123,69.7723987,40.5503636,50.8731723,23.2206205,4.2992986,12.3145349,10.3470044,31.9787287,6.5022451,0.7767864,0.7756935,9.170566,5.38552,30.1417724,17.7000731,34.8851185,69.7820754,41.0447238,51.3030345,24.0345975,4.4657748,12.1247094,10.1152027,31.7022402,6.8396259,0.8071931,0.8136664,9.12088,5.3601959,29.4346884,17.9515643,34.0317547,69.8363833,40.8752289,50.9422564,24.0143925,4.4507862,11.2064743,9.823612,31.4349152,6.127451 +975,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1186748,1.093225,19.8829777,15.7913093,36.4102606,18.8802395,38.7034192,68.3740738,38.6627284,47.7501572,24.3265292,4.4870645,11.3731658,8.8834335,30.2192362,15.4964527,1.1807988,1.1551852,20.3911732,16.3161575,36.5042299,18.6999641,38.6076762,67.733078,38.6359031,47.6606349,24.524628,4.5243119,11.6871745,9.0900889,30.8949511,15.1093528,1.1421022,1.1246727,21.0457183,17.0131386,37.634229,18.5024402,39.6544637,68.0502723,37.812198,48.1786559,24.8627516,4.3803327,12.4077425,9.1998094,32.0702183,15.7255919,1.1169889,1.1076621,20.7191505,16.7289713,37.6114187,18.5435118,39.0081261,67.8513154,37.5599296,47.6481144,24.9915541,4.2527966,12.9228817,9.6706689,31.2655156,14.1077059,1.1582683,1.1696118,21.0855056,16.9559187,37.9300913,18.4771387,38.4375099,67.2285387,37.5680086,47.9366195,24.4750848,4.1483949,13.3012286,9.4216367,30.9968176,15.117553 +976,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6666618,0.6666618,11.664757,8.0357175,46.8026724,14.5599452,33.5820936,70.835848,36.2089422,47.9701337,24.0895714,4.149249,10.6096039,9.2352845,41.3690456,5.434722,0.6942225,0.6942225,12.1813936,8.5654995,46.2287787,14.9449819,33.118077,69.895479,36.0085948,47.1402232,23.2164922,4.0897865,10.2424267,10.0121262,41.2162263,7.1427981,0.8158679,0.7965442,12.2481241,8.5957291,45.6146126,15.7605055,33.8867147,70.0846413,36.6210779,47.2330684,23.6002516,4.5898328,10.9195316,10.408663,43.5650104,6.5384766,0.7858362,0.7660772,12.2085579,8.2577779,45.5314871,15.3618305,32.3061536,69.2180287,36.4810929,45.8250475,22.7634117,4.4731502,11.1038903,10.8441369,42.4738236,6.0714416,0.798581,0.7760308,11.84212,7.6585814,44.7974839,14.9694358,31.7932916,68.9596313,37.2689749,46.3723599,24.05886,4.4147725,11.2990454,11.1637273,41.7006758,5.813967 +977,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.690509,0.6841146,9.1027219,5.5667311,51.4222021,17.5904046,32.6711615,68.4942652,38.4073223,46.1753146,23.1102122,3.9885467,10.0800334,9.4571025,34.5351164,5.750207,0.6680977,0.6614103,9.0230199,5.6145735,50.5905463,17.5859026,32.7024974,69.0490826,38.8643602,47.2471121,23.7878422,4.1131156,10.4679734,9.4593961,33.8482124,4.3591353,0.7979773,0.8008218,9.0835573,5.7109376,49.1737254,17.3612617,32.6785654,68.9771755,39.2692981,48.3601603,24.0746257,4.042122,11.3680562,9.7212875,33.2796139,4.213611,0.7022158,0.724926,9.1138125,5.8118801,48.2477777,17.7272489,32.5425671,68.822332,38.8565919,48.7540922,24.1808762,4.0102049,10.8300151,9.5413704,32.7303977,4.6876055,0.6233687,0.6876163,9.1150088,5.7875345,47.8804256,17.9761519,32.8760522,69.1196364,39.3977317,48.9129726,24.2160132,4.1162039,10.5170231,10.2898178,32.0815808,4.870133 +978,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.9589761,0.9818878,15.7795608,11.7979984,26.2543868,15.6421139,35.3710591,67.1171127,41.8060896,49.9142085,25.3753731,3.582157,11.6815046,10.8818698,39.6341414,8.8233762,1.0943372,1.1073733,16.2766576,12.4321067,26.5803117,15.321575,35.5398127,67.0736746,41.1953692,48.4361698,23.928884,3.277639,11.8760325,11.2409365,38.9562927,10.6297721,1.1695425,1.1826144,16.7505276,12.8092228,27.5320462,14.2766606,36.4986712,66.9896584,40.5469277,48.6003443,23.3634881,3.2515079,12.1665692,11.9951583,39.829113,11.9563855,1.2077486,1.2208307,16.6526725,12.6627468,28.4478739,13.5095225,36.3225544,66.0430163,40.580629,48.3225586,23.3333414,3.0752699,12.2619325,11.212357,38.7779118,13.4057441,1.31773,1.3305995,16.9418064,12.9797701,28.2023223,12.9614316,36.4114216,66.7858744,40.5763452,48.3171892,23.075317,3.0500641,12.9587348,11.7265047,39.3296885,15.4546196 +979,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6185864,0.5687092,7.3281478,4.7773461,61.0057902,10.1633546,31.1693016,65.4160683,29.9641294,40.3658517,15.7173581,14.4404599,10.4742523,9.2226411,36.8270084,3.6828955,0.5235896,0.4786583,7.0582054,4.627962,59.3970807,10.1741192,30.8764405,65.6208093,29.8479638,40.6841559,16.3735288,14.5252667,10.5568061,9.0460034,36.5954444,3.1417104,0.5318751,0.4773187,7.1428565,4.5742815,58.3201387,10.2299212,30.4945123,66.1930937,30.2747226,40.7770838,16.2244901,14.5918385,10.237518,8.7785101,36.2878854,2.7046776,0.5117592,0.4502303,7.3431785,4.5884504,56.9219307,10.3802571,30.4736203,67.1992756,30.7194347,41.7322218,16.4945895,14.5608007,10.1291723,8.7209315,36.2583385,2.2307689,0.4935948,0.4366836,7.3601802,4.4583174,56.2130712,10.8980908,30.5852937,67.3083494,31.9147014,42.2738255,17.2738216,14.511396,9.9205012,8.9722418,36.1435809,2.2022831 +980,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4625727,0.4304602,8.6750067,4.906751,67.5240244,13.5688612,27.9910213,62.1728695,33.7885176,38.4920165,16.4572201,3.415227,12.8370495,9.7691396,35.0236708,4.4652244,0.3522887,0.3522887,8.5077631,4.8997579,66.1253092,13.6625886,28.5789856,62.7081366,34.4262074,38.4741812,16.2504103,3.5141017,12.8922776,9.9669012,35.5218027,2.8647643,0.3578885,0.3578885,8.3597469,4.847171,65.4706456,14.1083357,27.4687005,61.4512367,34.5149488,38.3243466,16.6231779,3.4821674,12.5066568,9.7194715,34.9470073,3.7454992,0.4122855,0.4122855,8.3233852,4.9688451,64.7482692,13.9985281,27.5841962,61.1864058,34.0883414,38.4898846,16.8471859,3.4399469,12.6567799,11.1227191,35.274899,3.3486179,0.2783721,0.2783721,7.9090408,4.6915041,63.7027955,13.6443149,27.0658866,61.4286099,34.8498119,40.2558089,16.3099721,3.3036637,11.7547971,9.9408136,36.2675436,1.8603433 +981,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7104459,0.7046176,7.8324406,5.0525816,47.7557769,20.9828231,31.5343838,69.1048777,32.7378789,44.8852588,17.0176782,6.6754281,11.4059457,9.6896418,32.8838411,2.830178,0.7004521,0.7034077,7.7026375,4.9366031,46.5961309,20.8365088,32.1577984,69.1383679,33.6447002,45.6537913,17.3656202,6.4620553,11.6822346,9.8849677,32.3381422,2.3985151,0.6487118,0.6579829,7.2899691,4.6647725,44.6556952,20.0907333,31.4880526,69.5436319,33.6706673,45.7340958,17.2817713,6.7261771,11.9499485,9.5219922,32.1564174,2.529173,0.7391215,0.7488504,7.1579211,4.4974548,44.0024983,21.5942528,31.2238566,68.9849566,33.5213654,45.7602028,17.2305959,6.7877858,12.449336,9.3673852,32.7515835,3.2188772,0.8321056,0.8423281,7.2916711,4.6321031,43.7915562,22.3070333,31.3048672,68.914772,33.6775548,46.1554904,17.5527256,7.0957649,12.4158461,8.8879378,32.1669356,3.051636 +982,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5119255,0.5555556,8.1378987,5.65197,59.2193487,19.6771175,32.4470588,69.0117647,32.7294118,43.5058824,18.5176471,4.8235294,10.1687389,7.969724,35.6951872,1.6509434,0.6415897,0.6855844,8.0690961,5.560814,58.6215178,19.4040357,32.1293673,68.7677054,33.0736544,44.4050992,18.3899906,4.7922568,9.6338274,7.9039301,34.5175439,1.6746411,0.6610759,0.6792082,8.2642613,5.4851292,57.3025335,19.71387,31.8893784,68.2574645,33.3088595,45.0073421,18.9672051,4.7234459,10,8.5568918,33.9069767,1.6666667,0.7041922,0.7073324,7.9746835,5.1392405,57.0292458,19.1729323,31.9078947,68.1933198,33.0718623,45.1163968,18.8512146,5.1366397,10.1735776,8.9458414,33.2521908,2.238806,0.6773137,0.6805897,7.6086957,4.8515376,56.7502668,18.4635417,31.6412415,67.8853235,33.1667543,44.5817991,18.1746449,4.918464,10.2985075,8.8235294,33.7525151,2.5139665 +983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.3522887,0.3522887,8.5077631,4.8997579,66.1253092,13.6625886,28.5789856,62.7081366,34.4262074,38.4741812,16.2504103,3.5141017,12.8922776,9.9669012,35.5218027,2.8647643,0.3578885,0.3578885,8.3597469,4.847171,65.4706456,14.1083357,27.4687005,61.4512367,34.5149488,38.3243466,16.6231779,3.4821674,12.5066568,9.7194715,34.9470073,3.7454992,0.4122855,0.4122855,8.3233852,4.9688451,64.7482692,13.9985281,27.5841962,61.1864058,34.0883414,38.4898846,16.8471859,3.4399469,12.6567799,11.1227191,35.274899,3.3486179,0.2783721,0.2783721,7.9090408,4.6915041,63.7027955,13.6443149,27.0658866,61.4286099,34.8498119,40.2558089,16.3099721,3.3036637,11.7547971,9.9408136,36.2675436,1.8603433,0.3126106,0.3126106,7.7932854,4.636212,63.8045582,13.1523195,26.7456018,62.5338005,34.8566863,39.9396886,16.3421483,3.1815098,11.3559831,9.7579421,35.7817762,1.8742906 +984,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5576779,0.5911503,11.8650624,7.9729551,36.8192774,17.8251954,34.8587466,70.0774443,41.6807142,49.7224093,25.706794,3.3555583,10.7550399,9.5160427,30.9125622,6.580434,0.5761189,0.6078326,11.6017652,7.8277014,36.7388768,18.278375,34.9005821,70.6669747,41.0451971,48.9757067,25.7086222,3.3351099,11.354496,9.5317387,33.4225564,5.1600932,0.5267112,0.5618816,11.4983715,8.0912724,37.2773794,18.4188283,34.8018363,70.5565553,40.5205696,48.4542878,25.9915139,3.2714561,11.2347256,10.2743392,34.7944583,6.048392,0.6033224,0.6277257,11.4494587,7.9872751,37.3447462,18.373921,33.9988384,71.1065815,40.7229479,48.3062088,25.5557942,3.1091374,11.2333859,10.6068145,36.3983296,6.8547392,0.5627689,0.5990842,11.5580527,8.162879,37.8125667,17.8606145,33.7664537,70.004508,40.0865419,48.343246,24.8977285,2.981591,11.4423091,10.2825609,36.2552537,5.8556659 +985,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1531594,1.1954869,21.8120342,18.1071375,48.0076828,20.0724903,37.9722953,67.2282956,35.987322,47.0634025,20.6237328,3.4339713,15.2208778,12.590522,36.6531814,10.3636113,1.0956635,1.1533885,22.8487966,18.8601544,48.9864734,19.2434441,37.8978032,67.0954949,35.2036083,47.0500356,20.6222488,3.3082669,14.7360543,11.7197248,36.4053117,10.6884097,1.0562786,1.1140663,22.9286886,18.9401398,49.776514,18.4940772,37.9269935,66.5546841,35.7461858,46.8483865,21.3121753,3.1125576,14.8753421,12.1683611,36.5305728,10.7394128,1.2529241,1.3077518,23.3891825,19.5326872,50.208439,18.5109134,37.6589654,65.9963493,34.8957394,45.8198276,21.0923906,3.1059907,14.8098635,12.3550469,37.8134428,12.2837455,1.2284668,1.2871188,23.6223793,19.7547094,50.3345571,18.2303463,38.0065448,65.7482707,34.0058024,45.8809658,20.5836777,2.8764051,15.0618591,12.4166175,38.0986987,13.2978771 +986,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.9608645,0.9625108,24.2754409,19.6773016,42.3618531,13.1973221,39.1448315,66.7046449,33.9236325,50.5088996,26.1573399,5.0444085,14.978556,11.5874469,33.4540007,7.7550951,1.0577429,1.0593634,23.8397267,19.229097,41.5332672,13.5076797,39.4921538,66.4193173,34.1116815,50.6743008,25.6435873,4.9643261,15.4343882,11.952767,33.8190686,8.5075495,0.9455262,0.9598602,24.4201513,19.8403568,41.4908638,13.640238,39.7093362,67.2187687,34.8332472,50.7366012,25.0973561,5.6119904,14.6083044,12.5249966,33.0710313,8.8407747,1.0560992,1.0702892,24.8775975,20.1832622,41.7355315,14.0051566,40.2250615,67.2760607,34.3339228,50.6863748,25.8018506,5.6790622,14.3219427,12.540681,32.8783465,10.6146495,1.0618941,1.101015,24.6236775,20.0341124,42.4575583,14.4770931,40.0468644,66.8671311,34.2692551,50.238538,26.3292164,5.6132104,15.5535104,13.179662,33.971069,11.5580431 +987,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1645846,1.2425282,17.5819143,13.834192,80.9029992,15.0663281,33.7210648,65.8295742,35.0725628,38.779119,17.9732486,5.1443326,14.0092744,9.6321476,41.9920417,9.0219532,1.2046126,1.2827934,18.1295595,14.6700499,81.3600124,15.4827293,34.6696499,65.3885797,34.5607278,39.4988072,17.7485922,5.2536792,13.7864429,9.6843984,40.3397748,9.2978234,1.1529051,1.2052967,18.5016152,15.0013034,81.8981056,15.4432435,34.6910172,65.1929638,34.4665332,39.4156334,17.9584266,5.3792545,14.4460111,10.0947665,40.2519999,9.8972965,1.0949076,1.1473059,19.3735499,15.6497091,82.0328436,15.2266714,35.4234918,65.7894358,34.8557563,40.2763328,17.4415984,5.1101048,14.4357698,10.4950413,38.9767709,10.3862004,1.0236491,1.0757542,19.1438413,15.7544768,81.726993,14.9411345,35.0603294,66.3185859,34.836033,39.9516291,17.1472967,4.8630259,14.5805164,10.400431,38.3868621,12.1789486 +988,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7254383,0.7177499,9.5741585,6.5895697,53.9794572,13.7538022,28.9981495,67.968478,40.605666,44.5974976,20.7829804,5.441856,10.746517,9.8365571,36.0533209,10.0246063,0.6956563,0.6874334,9.2566352,6.441752,53.5008187,13.7896728,28.4805137,67.2558711,39.9398968,44.4986375,20.720246,4.7593253,10.2137625,9.9348885,34.7173815,9.6748148,0.7875247,0.7738978,9.0273954,6.2172721,52.0491045,14.5294713,28.2610533,67.5674696,40.1431616,44.8927169,20.2251274,4.423981,10.7480716,9.2974809,34.8806317,9.094005,0.748481,0.7343712,8.8365819,5.8739193,50.6605785,14.8536208,27.6125906,67.257026,40.2052055,45.9711145,20.6163512,4.5613869,10.7979651,9.5386987,34.0936981,8.2417784,0.6764405,0.7145174,8.5479124,5.5410934,49.7869085,14.7712991,26.6649503,67.7584081,40.8977077,45.6869303,21.4070628,4.2270095,10.6635655,9.624889,33.5181225,7.051722 +989,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.239836,1.3143417,26.5693016,21.5690395,40.2495064,17.780236,34.6669447,64.8711614,34.944081,44.0472318,20.3013029,3.071748,14.4749655,10.8353973,41.1285594,15.9685613,1.2657878,1.3265533,27.7726544,22.7059411,41.6070573,17.0489299,34.8892366,63.3508726,33.8767096,44.0410806,18.9969344,2.7954549,14.7634279,11.7395572,40.0034198,17.079191,1.4483347,1.4686966,28.6054319,23.6883588,42.481536,16.9569814,34.4882742,63.3059627,33.2478913,44.4425243,18.8505029,2.7687217,15.0756314,12.2763329,40.9784428,18.2051189,1.5712913,1.5780073,29.4918783,24.6725821,44.5045212,16.8953355,34.5643737,63.038755,32.4165073,44.67709,19.3538539,2.9149793,15.9149768,12.4344011,40.8654439,19.0355233,1.4981212,1.5251191,29.9351727,25.2597809,45.3036056,16.615064,34.386158,62.9778624,31.4268702,44.4843904,18.7505013,2.9813676,15.9827708,12.9455158,40.8775806,19.7435796 +990,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5079457,0.5240135,8.3114778,5.712252,44.5328742,10.327796,29.6638474,67.7292469,35.5501168,48.3403039,19.1139806,3.1058938,10.3920764,8.8660398,29.0026521,4.738531,0.518304,0.5301945,8.273273,5.6037926,43.7728196,10.617473,29.4988271,68.1984176,35.7251722,49.4138304,19.4562117,3.1023325,10.9581009,9.3550419,29.3675949,5.2542016,0.6482835,0.6572811,8.4183103,5.6011156,43.1718035,10.6971367,29.2678472,68.3664322,35.8963704,49.6430414,19.9175064,3.0238603,10.5618349,9.2128542,29.0786057,5.2535927,0.6303855,0.6393255,8.4470868,5.5616412,41.7374275,10.7487067,28.5507439,68.3344349,36.1280399,49.3374157,20.3336346,2.9931342,10.4173609,9.3121334,28.8251603,5.2158311,0.6916025,0.6731515,8.3458184,5.467207,40.6638183,10.9012559,28.4648556,67.756916,35.784038,49.4280015,20.7794314,3.0979964,10.346241,9.8102095,29.139288,3.8983064 +991,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7575552,0.7636124,9.2242169,5.626046,32.2709836,17.2301857,35.7264739,69.4852806,40.3211807,50.5531304,22.7504944,4.4565043,12.3334665,10.45527,32.2887176,6.0546851,0.826123,0.8318994,9.3580646,5.4977292,30.8840362,17.2312407,35.3117123,69.7723987,40.5503636,50.8731723,23.2206205,4.2992986,12.3145349,10.3470044,31.9787287,6.5022451,0.7767864,0.7756935,9.170566,5.38552,30.1417724,17.7000731,34.8851185,69.7820754,41.0447238,51.3030345,24.0345975,4.4657748,12.1247094,10.1152027,31.7022402,6.8396259,0.8071931,0.8136664,9.12088,5.3601959,29.4346884,17.9515643,34.0317547,69.8363833,40.8752289,50.9422564,24.0143925,4.4507862,11.2064743,9.823612,31.4349152,6.127451,0.7286693,0.723634,8.701554,5.0481366,28.5330879,17.8056651,34.1509581,69.6729471,40.9937072,50.7295644,24.2138381,4.4654118,10.421907,9.4892379,30.9379797,6.3451809 +992,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2285396,1.2698779,25.4616985,21.4087587,48.2262928,13.8223932,41.3281064,65.55875,34.0325901,46.6830405,23.5947958,3.6482535,13.0950884,9.4141288,27.6607599,20.5820741,1.1830166,1.2539915,27.1498877,22.5656442,48.6888708,13.9597655,41.8354682,66.2587443,35.0551896,46.9704789,23.6662546,3.2587926,12.8188694,9.1456531,29.0603193,24.2263217,1.2238191,1.4150633,27.6784831,23.0281669,48.6434323,14.8303905,41.2341792,65.0369772,36.0599692,47.1850275,24.0290938,3.5252783,11.2686216,8.6578283,30.2027502,25.2907243,1.2072707,1.3597221,27.7231909,22.8288365,50.9699265,15.1604978,40.292536,64.4878869,35.1128522,46.5220991,23.3100621,3.3770104,12.414288,9.6180848,30.0549964,23.5052589,1.2936075,1.4530684,27.4700896,22.3717226,51.3605675,15.7378752,39.452612,65.804722,35.3508361,46.6446963,22.9638534,3.2513733,12.1637874,9.1502222,30.4075944,23.7270441 +993,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6551458,0.6944546,13.9233503,11.5718303,55.2149379,32.0836759,35.1612733,66.6452685,34.7743,42.5162164,15.1613765,6.6451266,12.0596648,11.7885226,33.4699019,5.7047363,0.6528366,0.6920068,14.2593559,11.9136406,54.9285755,31.6286158,34.8464843,65.4093379,34.8466761,42.9028688,15.2814268,6.2020094,12.2422154,11.726614,34.8446282,6.6455907,0.6734104,0.6734104,13.9668503,11.0331976,54.8875811,30.3362465,35.2748958,63.5472084,33.0499307,43.6518434,15.2488352,6.3481239,13.6855698,12.3304006,33.9236692,6.8179014,0.8701587,0.8701587,13.9312382,11.0051158,55.1112661,30.2309401,35.557002,64.7021982,33.3550953,44.4949416,15.9975518,6.6709413,14.7519282,11.87969,33.2010561,7.4672563,0.8461547,0.8461547,14.0943304,10.6505321,54.7525948,31.5145894,34.0466802,65.6939779,33.6576998,45.979455,16.277643,5.5123283,13.5442735,10.2529535,32.864485,6.5214691 +994,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.532968,0.5229459,8.6312866,5.7191363,58.5963439,16.837232,32.5453918,66.407664,34.5084296,45.7140569,20.9962392,6.1262882,8.7608115,7.7506143,32.1139516,3.846153,0.4231275,0.4106245,8.2659673,5.4379232,57.7076112,16.8722588,32.0716095,66.7348016,35.2436254,46.1657964,21.00229,6.3848919,8.8919514,7.9011951,32.1571606,3.7313638,0.467183,0.4546575,7.8648666,5.0947488,56.1823055,16.9517736,32.1498744,66.8333891,35.7740261,46.8596249,21.3922602,6.6333215,8.9837772,7.8632741,31.8588153,3.7553847,0.491626,0.501704,7.7029642,4.9256506,55.0813383,17.3738506,32.6818342,67.4501038,36.5578059,47.0146755,21.878608,6.5561593,9.1429484,7.7936161,32.3630179,3.3769259,0.491267,0.5055273,7.482343,4.711104,53.8679762,17.7779626,32.7326532,67.5549881,36.8104903,47.1488988,21.7005088,6.5566829,9.086576,7.5071761,32.1657176,3.1395552 +995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6942225,0.6942225,12.1813936,8.5654995,46.2287787,14.9449819,33.118077,69.895479,36.0085948,47.1402232,23.2164922,4.0897865,10.2424267,10.0121262,41.2162263,7.1427981,0.8158679,0.7965442,12.2481241,8.5957291,45.6146126,15.7605055,33.8867147,70.0846413,36.6210779,47.2330684,23.6002516,4.5898328,10.9195316,10.408663,43.5650104,6.5384766,0.7858362,0.7660772,12.2085579,8.2577779,45.5314871,15.3618305,32.3061536,69.2180287,36.4810929,45.8250475,22.7634117,4.4731502,11.1038903,10.8441369,42.4738236,6.0714416,0.798581,0.7760308,11.84212,7.6585814,44.7974839,14.9694358,31.7932916,68.9596313,37.2689749,46.3723599,24.05886,4.4147725,11.2990454,11.1637273,41.7006758,5.813967,0.9469519,0.9449689,11.7320323,7.8104616,44.7686103,14.3741703,31.8061871,67.5346234,36.8160701,45.1878857,23.829909,4.3177206,12.018587,11.7529959,41.0000007,4.9242499 +996,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5435449,0.573724,8.7091345,5.7703783,50.3021053,17.888291,32.4448997,68.742878,36.4911943,45.4533652,20.2365603,4.8337275,11.6658136,8.7153699,31.1246246,5.2904101,0.5039983,0.5435431,8.2850689,5.5984849,49.6231078,17.8707301,31.8630732,69.0526883,36.6440529,44.9052309,20.255478,4.7478226,10.7559057,8.1612561,31.2979248,4.3806537,0.4647053,0.5223794,7.8699234,5.081487,48.3966921,18.0376644,30.710465,69.0884651,36.3289719,45.4825771,20.054599,4.4745102,10.4882419,8.1233186,30.0545143,4.1155828,0.5555431,0.6130556,8.0264818,5.3703362,47.119466,18.3958456,30.2688495,69.4920351,36.8802285,45.405032,19.8955943,4.5151222,10.1958882,8.5318593,30.2134278,3.2915498,0.5971617,0.6416654,7.9946083,5.3782499,46.8393682,18.3364195,30.8673906,68.922773,36.8529457,45.0071336,20.2588088,4.6711231,9.5361744,8.4449352,30.9621361,2.6148284 +997,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5235896,0.4786583,7.0582054,4.627962,59.3970807,10.1741192,30.8764405,65.6208093,29.8479638,40.6841559,16.3735288,14.5252667,10.5568061,9.0460034,36.5954444,3.1417104,0.5318751,0.4773187,7.1428565,4.5742815,58.3201387,10.2299212,30.4945123,66.1930937,30.2747226,40.7770838,16.2244901,14.5918385,10.237518,8.7785101,36.2878854,2.7046776,0.5117592,0.4502303,7.3431785,4.5884504,56.9219307,10.3802571,30.4736203,67.1992756,30.7194347,41.7322218,16.4945895,14.5608007,10.1291723,8.7209315,36.2583385,2.2307689,0.4935948,0.4366836,7.3601802,4.4583174,56.2130712,10.8980908,30.5852937,67.3083494,31.9147014,42.2738255,17.2738216,14.511396,9.9205012,8.9722418,36.1435809,2.2022831,0.4601971,0.3947368,7.2064524,4.4425882,54.3832386,11.1320085,30.2653097,67.9720099,31.8099145,43.0583323,17.6176586,14.074144,9.4845719,8.7648737,35.2120164,2.9464275 +998,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7004521,0.7034077,7.7026375,4.9366031,46.5961309,20.8365088,32.1577984,69.1383679,33.6447002,45.6537913,17.3656202,6.4620553,11.6822346,9.8849677,32.3381422,2.3985151,0.6487118,0.6579829,7.2899691,4.6647725,44.6556952,20.0907333,31.4880526,69.5436319,33.6706673,45.7340958,17.2817713,6.7261771,11.9499485,9.5219922,32.1564174,2.529173,0.7391215,0.7488504,7.1579211,4.4974548,44.0024983,21.5942528,31.2238566,68.9849566,33.5213654,45.7602028,17.2305959,6.7877858,12.449336,9.3673852,32.7515835,3.2188772,0.8321056,0.8423281,7.2916711,4.6321031,43.7915562,22.3070333,31.3048672,68.914772,33.6775548,46.1554904,17.5527256,7.0957649,12.4158461,8.8879378,32.1669356,3.051636,0.7215456,0.7321048,7.1232299,4.5579592,42.0266401,22.9778914,31.3899759,69.7073921,34.5450892,47.5308133,18.0841338,7.5217003,11.9699877,8.8780762,31.3716701,2.6829203 +999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6591225,0.6348147,10.0315148,6.9503088,78.2584158,11.5399766,28.9013115,68.450262,28.8296478,44.5418866,13.6184431,4.4559431,12.3459538,13.0567344,32.1551028,11.7855375,0.5904129,0.5716822,9.7925384,6.8038195,79.3083455,10.9426279,29.5080534,68.2651624,28.9332199,45.0611178,13.5596295,4.1127523,11.6348485,12.2107946,31.2839157,11.6194565,0.5524039,0.4990177,9.7022899,6.8687457,79.0648554,11.0766389,30.2802401,69.3882036,28.9900411,44.5448093,14.2461801,4.2203838,11.8915376,12.6890308,31.0995819,12.1090723,0.4237571,0.3875107,9.3202164,6.5295453,78.9403461,10.6465396,30.0441147,68.522655,29.4928841,45.2591088,14.0940546,4.0242246,12.1490504,12.2595268,31.0522191,9.6151479,0.3476703,0.3541977,9.4512332,6.5818136,78.4506894,10.2344099,29.7900155,68.8098619,29.4215841,44.9336987,14.4988426,3.4819206,12.2580985,11.7747529,31.6792709,6.5889838 +1000,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6680977,0.6614103,9.0230199,5.6145735,50.5905463,17.5859026,32.7024974,69.0490826,38.8643602,47.2471121,23.7878422,4.1131156,10.4679734,9.4593961,33.8482124,4.3591353,0.7979773,0.8008218,9.0835573,5.7109376,49.1737254,17.3612617,32.6785654,68.9771755,39.2692981,48.3601603,24.0746257,4.042122,11.3680562,9.7212875,33.2796139,4.213611,0.7022158,0.724926,9.1138125,5.8118801,48.2477777,17.7272489,32.5425671,68.822332,38.8565919,48.7540922,24.1808762,4.0102049,10.8300151,9.5413704,32.7303977,4.6876055,0.6233687,0.6876163,9.1150088,5.7875345,47.8804256,17.9761519,32.8760522,69.1196364,39.3977317,48.9129726,24.2160132,4.1162039,10.5170231,10.2898178,32.0815808,4.870133,0.6182022,0.6848014,9.1058641,5.9544859,47.7407726,18.5593891,32.5775699,69.192425,38.9932973,48.7646759,23.8754109,4.111379,10.0373334,10.0446578,31.6366655,6.1290362 +1001,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6956563,0.6874334,9.2566352,6.441752,53.5008187,13.7896728,28.4805137,67.2558711,39.9398968,44.4986375,20.720246,4.7593253,10.2137625,9.9348885,34.7173815,9.6748148,0.7875247,0.7738978,9.0273954,6.2172721,52.0491045,14.5294713,28.2610533,67.5674696,40.1431616,44.8927169,20.2251274,4.423981,10.7480716,9.2974809,34.8806317,9.094005,0.748481,0.7343712,8.8365819,5.8739193,50.6605785,14.8536208,27.6125906,67.257026,40.2052055,45.9711145,20.6163512,4.5613869,10.7979651,9.5386987,34.0936981,8.2417784,0.6764405,0.7145174,8.5479124,5.5410934,49.7869085,14.7712991,26.6649503,67.7584081,40.8977077,45.6869303,21.4070628,4.2270095,10.6635655,9.624889,33.5181225,7.051722,0.6559287,0.6957796,8.4522407,5.5572222,48.8123335,15.189667,26.7295847,67.8845368,41.607279,45.8688293,21.5883251,4.8863816,11.3178096,10.3027402,32.5097642,6.0326558 +1002,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6024508,0.6064447,7.5691701,5.1662436,82.9336793,7.7095872,26.3942757,62.6116013,28.9121965,38.1514273,14.3778705,5.6183281,10.0168656,8.6396501,37.5423482,5.0286062,0.6010686,0.6036818,7.4249307,5.0769591,82.3723391,7.6014857,26.4306139,62.997134,29.0795499,38.4449561,14.6744636,5.6196906,9.8996944,8.4846555,37.1742634,4.7092547,0.5889113,0.5929654,7.3705897,4.9695785,81.7660276,7.3625968,26.4814698,63.4623431,29.4792651,38.4334688,14.8224449,5.5979903,10.0241147,8.5440646,37.4359696,4.824936,0.6189239,0.6146422,7.5661887,5.0534323,80.7782514,7.4366916,26.0470926,63.6081359,29.7789013,38.6986889,15.0488736,5.3649377,10.1481825,8.676956,37.1000834,4.1998232,0.5668017,0.5771639,7.4102689,4.9251925,79.6110657,7.3852059,25.9443042,63.6667623,30.3898615,38.950644,15.2251699,5.2303799,10.1070154,8.7853072,36.5323549,4.5536519 +1003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2046126,1.2827934,18.1295595,14.6700499,81.3600124,15.4827293,34.6696499,65.3885797,34.5607278,39.4988072,17.7485922,5.2536792,13.7864429,9.6843984,40.3397748,9.2978234,1.1529051,1.2052967,18.5016152,15.0013034,81.8981056,15.4432435,34.6910172,65.1929638,34.4665332,39.4156334,17.9584266,5.3792545,14.4460111,10.0947665,40.2519999,9.8972965,1.0949076,1.1473059,19.3735499,15.6497091,82.0328436,15.2266714,35.4234918,65.7894358,34.8557563,40.2763328,17.4415984,5.1101048,14.4357698,10.4950413,38.9767709,10.3862004,1.0236491,1.0757542,19.1438413,15.7544768,81.726993,14.9411345,35.0603294,66.3185859,34.836033,39.9516291,17.1472967,4.8630259,14.5805164,10.400431,38.3868621,12.1789486,0.9144797,0.9408907,19.2833782,15.9732542,82.6937876,14.4562367,35.1127681,66.0473532,34.3712019,39.2986512,16.7693622,4.5008386,15.0381747,10.7977569,39.7764025,11.3418348 +1004,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8158679,0.7965442,12.2481241,8.5957291,45.6146126,15.7605055,33.8867147,70.0846413,36.6210779,47.2330684,23.6002516,4.5898328,10.9195316,10.408663,43.5650104,6.5384766,0.7858362,0.7660772,12.2085579,8.2577779,45.5314871,15.3618305,32.3061536,69.2180287,36.4810929,45.8250475,22.7634117,4.4731502,11.1038903,10.8441369,42.4738236,6.0714416,0.798581,0.7760308,11.84212,7.6585814,44.7974839,14.9694358,31.7932916,68.9596313,37.2689749,46.3723599,24.05886,4.4147725,11.2990454,11.1637273,41.7006758,5.813967,0.9469519,0.9449689,11.7320323,7.8104616,44.7686103,14.3741703,31.8061871,67.5346234,36.8160701,45.1878857,23.829909,4.3177206,12.018587,11.7529959,41.0000007,4.9242499,1.0152725,1.0822941,12.3781652,8.2845966,43.3110292,15.0227154,32.2909939,67.6431997,37.2942667,46.7742028,24.5885434,4.3778679,12.0800936,12.4677164,40.3246728,3.9855072 +1005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6528366,0.6920068,14.2593559,11.9136406,54.9285755,31.6286158,34.8464843,65.4093379,34.8466761,42.9028688,15.2814268,6.2020094,12.2422154,11.726614,34.8446282,6.6455907,0.6734104,0.6734104,13.9668503,11.0331976,54.8875811,30.3362465,35.2748958,63.5472084,33.0499307,43.6518434,15.2488352,6.3481239,13.6855698,12.3304006,33.9236692,6.8179014,0.8701587,0.8701587,13.9312382,11.0051158,55.1112661,30.2309401,35.557002,64.7021982,33.3550953,44.4949416,15.9975518,6.6709413,14.7519282,11.87969,33.2010561,7.4672563,0.8461547,0.8461547,14.0943304,10.6505321,54.7525948,31.5145894,34.0466802,65.6939779,33.6576998,45.979455,16.277643,5.5123283,13.5442735,10.2529535,32.864485,6.5214691,0.6531879,0.6531879,13.9704703,10.0935572,55.6680997,31.0594476,32.7332607,64.8667153,33.2667327,45.533522,16.33343,5.2667193,14.7058147,10.8694485,33.7211075,6.8178793 +1006,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7979773,0.8008218,9.0835573,5.7109376,49.1737254,17.3612617,32.6785654,68.9771755,39.2692981,48.3601603,24.0746257,4.042122,11.3680562,9.7212875,33.2796139,4.213611,0.7022158,0.724926,9.1138125,5.8118801,48.2477777,17.7272489,32.5425671,68.822332,38.8565919,48.7540922,24.1808762,4.0102049,10.8300151,9.5413704,32.7303977,4.6876055,0.6233687,0.6876163,9.1150088,5.7875345,47.8804256,17.9761519,32.8760522,69.1196364,39.3977317,48.9129726,24.2160132,4.1162039,10.5170231,10.2898178,32.0815808,4.870133,0.6182022,0.6848014,9.1058641,5.9544859,47.7407726,18.5593891,32.5775699,69.192425,38.9932973,48.7646759,23.8754109,4.111379,10.0373334,10.0446578,31.6366655,6.1290362,0.7406369,0.7956366,9.0067813,5.9259286,46.8830943,18.1570662,32.2055924,68.5624571,38.5697904,48.3358982,23.6102132,3.968512,10.3409976,10.4891395,32.297909,5.3448404 +1007,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8359225,1.8864164,31.1181467,25.1775791,50.2244327,17.4974001,37.5021021,61.6249805,29.8997857,41.6838685,20.84382,3.028426,13.2072036,9.8456865,44.2592277,25.7201223,1.9757645,2.0578399,33.3462051,27.0201467,50.3687503,17.5751463,37.8496494,60.865148,29.623072,42.8535432,21.6687587,3.1840923,13.3133927,9.6369818,45.1482593,28.0727295,2.0664614,2.1560648,34.1350858,27.9430589,51.0388785,17.5172825,38.3556216,60.3136302,29.1926202,43.8503685,20.9212358,3.0989647,13.5221792,10.0114218,45.3496673,27.7121877,2.1758223,2.2204105,34.2926461,28.0052783,51.7422761,17.0808603,38.4122011,60.2583885,28.6944972,42.918159,20.5241172,3.2335941,13.2588899,10.1100782,44.9867726,27.6561874,2.1783329,2.2097491,33.6077819,27.9593619,53.7652369,16.276817,37.9094832,60.6275453,28.6635169,43.0990604,20.785812,2.7258124,12.2370287,9.8269195,44.7733509,26.2138568 +1008,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4231275,0.4106245,8.2659673,5.4379232,57.7076112,16.8722588,32.0716095,66.7348016,35.2436254,46.1657964,21.00229,6.3848919,8.8919514,7.9011951,32.1571606,3.7313638,0.467183,0.4546575,7.8648666,5.0947488,56.1823055,16.9517736,32.1498744,66.8333891,35.7740261,46.8596249,21.3922602,6.6333215,8.9837772,7.8632741,31.8588153,3.7553847,0.491626,0.501704,7.7029642,4.9256506,55.0813383,17.3738506,32.6818342,67.4501038,36.5578059,47.0146755,21.878608,6.5561593,9.1429484,7.7936161,32.3630179,3.3769259,0.491267,0.5055273,7.482343,4.711104,53.8679762,17.7779626,32.7326532,67.5549881,36.8104903,47.1488988,21.7005088,6.5566829,9.086576,7.5071761,32.1657176,3.1395552,0.558347,0.5895171,7.8064372,4.8559712,52.239748,18.0854804,32.5410827,67.6709635,36.9234837,47.4200383,21.7794672,6.9181826,9.3540903,8.0515606,32.9473056,3.9473876 +1009,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.518304,0.5301945,8.273273,5.6037926,43.7728196,10.617473,29.4988271,68.1984176,35.7251722,49.4138304,19.4562117,3.1023325,10.9581009,9.3550419,29.3675949,5.2542016,0.6482835,0.6572811,8.4183103,5.6011156,43.1718035,10.6971367,29.2678472,68.3664322,35.8963704,49.6430414,19.9175064,3.0238603,10.5618349,9.2128542,29.0786057,5.2535927,0.6303855,0.6393255,8.4470868,5.5616412,41.7374275,10.7487067,28.5507439,68.3344349,36.1280399,49.3374157,20.3336346,2.9931342,10.4173609,9.3121334,28.8251603,5.2158311,0.6916025,0.6731515,8.3458184,5.467207,40.6638183,10.9012559,28.4648556,67.756916,35.784038,49.4280015,20.7794314,3.0979964,10.346241,9.8102095,29.139288,3.8983064,0.7027886,0.6834426,8.5570092,5.3596581,39.3958165,10.5702908,28.6434243,67.8263029,35.890333,49.288057,21.2324417,3.3752823,10.2278359,10.0906716,29.3372354,2.6813889 +1010,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1830166,1.2539915,27.1498877,22.5656442,48.6888708,13.9597655,41.8354682,66.2587443,35.0551896,46.9704789,23.6662546,3.2587926,12.8188694,9.1456531,29.0603193,24.2263217,1.2238191,1.4150633,27.6784831,23.0281669,48.6434323,14.8303905,41.2341792,65.0369772,36.0599692,47.1850275,24.0290938,3.5252783,11.2686216,8.6578283,30.2027502,25.2907243,1.2072707,1.3597221,27.7231909,22.8288365,50.9699265,15.1604978,40.292536,64.4878869,35.1128522,46.5220991,23.3100621,3.3770104,12.414288,9.6180848,30.0549964,23.5052589,1.2936075,1.4530684,27.4700896,22.3717226,51.3605675,15.7378752,39.452612,65.804722,35.3508361,46.6446963,22.9638534,3.2513733,12.1637874,9.1502222,30.4075944,23.7270441,1.2993256,1.4167804,27.1519193,22.0121964,51.1943203,15.0778313,39.4920733,64.1321714,34.1439989,46.0175984,23.0267604,3.1230193,12.1163975,9.7079908,31.0606369,21.8500726 +1011,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0943372,1.1073733,16.2766576,12.4321067,26.5803117,15.321575,35.5398127,67.0736746,41.1953692,48.4361698,23.928884,3.277639,11.8760325,11.2409365,38.9562927,10.6297721,1.1695425,1.1826144,16.7505276,12.8092228,27.5320462,14.2766606,36.4986712,66.9896584,40.5469277,48.6003443,23.3634881,3.2515079,12.1665692,11.9951583,39.829113,11.9563855,1.2077486,1.2208307,16.6526725,12.6627468,28.4478739,13.5095225,36.3225544,66.0430163,40.580629,48.3225586,23.3333414,3.0752699,12.2619325,11.212357,38.7779118,13.4057441,1.31773,1.3305995,16.9418064,12.9797701,28.2023223,12.9614316,36.4114216,66.7858744,40.5763452,48.3171892,23.075317,3.0500641,12.9587348,11.7265047,39.3296885,15.4546196,1.3765926,1.3987501,18.4499451,13.8527162,27.6762713,13.6234923,35.7494829,66.8788598,40.8418848,48.8911512,23.2649074,3.0595504,13.0613825,12.6217127,39.2991267,17.201318 +1012,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4776102,0.5271026,10.5107146,6.6700629,59.7805496,13.924173,32.2263596,69.3668426,36.1162721,46.7308055,20.2875724,3.0519292,9.4780168,8.5102123,32.8661528,8.3333611,0.5294527,0.5968649,10.3695422,6.4721255,58.8508219,13.8562648,32.3222976,69.9652595,36.1008854,46.8852038,19.9243915,2.9309587,8.8590276,8.1318198,32.8161674,8.9124169,0.4896115,0.55753,10.3276293,6.5221733,57.7314092,13.8046705,31.7882746,69.6505472,35.7553861,46.3412015,19.8663649,2.8057506,8.6417286,8.1395319,32.6777946,9.9112693,0.5181386,0.5860827,10.3591628,6.3007192,56.793069,14.3133955,31.6577187,69.5602666,35.8484636,45.9640691,20.5305293,3.0037112,9.2120994,8.1441616,32.8451037,9.2767552,0.5113578,0.5992106,9.963127,5.9901572,56.0484597,14.5021518,31.7289555,68.8139378,35.5919714,45.7402234,20.4531023,2.8502777,9.5611927,8.5616381,33.5430178,9.1362428 +1013,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9757645,2.0578399,33.3462051,27.0201467,50.3687503,17.5751463,37.8496494,60.865148,29.623072,42.8535432,21.6687587,3.1840923,13.3133927,9.6369818,45.1482593,28.0727295,2.0664614,2.1560648,34.1350858,27.9430589,51.0388785,17.5172825,38.3556216,60.3136302,29.1926202,43.8503685,20.9212358,3.0989647,13.5221792,10.0114218,45.3496673,27.7121877,2.1758223,2.2204105,34.2926461,28.0052783,51.7422761,17.0808603,38.4122011,60.2583885,28.6944972,42.918159,20.5241172,3.2335941,13.2588899,10.1100782,44.9867726,27.6561874,2.1783329,2.2097491,33.6077819,27.9593619,53.7652369,16.276817,37.9094832,60.6275453,28.6635169,43.0990604,20.785812,2.7258124,12.2370287,9.8269195,44.7733509,26.2138568,2.4424196,2.4732576,33.9779911,28.6317458,55.3578078,17.1653187,37.5179787,61.2271301,28.7562261,42.2672254,20.6935404,2.6251922,12.3835666,9.7327011,43.5601779,25.5500368 +1014,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6734104,0.6734104,13.9668503,11.0331976,54.8875811,30.3362465,35.2748958,63.5472084,33.0499307,43.6518434,15.2488352,6.3481239,13.6855698,12.3304006,33.9236692,6.8179014,0.8701587,0.8701587,13.9312382,11.0051158,55.1112661,30.2309401,35.557002,64.7021982,33.3550953,44.4949416,15.9975518,6.6709413,14.7519282,11.87969,33.2010561,7.4672563,0.8461547,0.8461547,14.0943304,10.6505321,54.7525948,31.5145894,34.0466802,65.6939779,33.6576998,45.979455,16.277643,5.5123283,13.5442735,10.2529535,32.864485,6.5214691,0.6531879,0.6531879,13.9704703,10.0935572,55.6680997,31.0594476,32.7332607,64.8667153,33.2667327,45.533522,16.33343,5.2667193,14.7058147,10.8694485,33.7211075,6.8178793,0.6289372,0.6289372,13.605843,10.1206849,56.5014394,30.1972456,32.8249059,67.4403491,34.5491958,46.6182311,16.5120562,4.5756484,14.0150759,8.7119787,34.4785557,6.3755248 +1015,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5761189,0.6078326,11.6017652,7.8277014,36.7388768,18.278375,34.9005821,70.6669747,41.0451971,48.9757067,25.7086222,3.3351099,11.354496,9.5317387,33.4225564,5.1600932,0.5267112,0.5618816,11.4983715,8.0912724,37.2773794,18.4188283,34.8018363,70.5565553,40.5205696,48.4542878,25.9915139,3.2714561,11.2347256,10.2743392,34.7944583,6.048392,0.6033224,0.6277257,11.4494587,7.9872751,37.3447462,18.373921,33.9988384,71.1065815,40.7229479,48.3062088,25.5557942,3.1091374,11.2333859,10.6068145,36.3983296,6.8547392,0.5627689,0.5990842,11.5580527,8.162879,37.8125667,17.8606145,33.7664537,70.004508,40.0865419,48.343246,24.8977285,2.981591,11.4423091,10.2825609,36.2552537,5.8556659,0.6727715,0.7080011,11.3552471,7.8834395,37.1763829,18.1087797,33.9486748,70.6296467,39.1184913,48.424229,25.7258956,3.0772407,10.523829,9.5985482,37.5520954,7.3273714 +1016,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2657878,1.3265533,27.7726544,22.7059411,41.6070573,17.0489299,34.8892366,63.3508726,33.8767096,44.0410806,18.9969344,2.7954549,14.7634279,11.7395572,40.0034198,17.079191,1.4483347,1.4686966,28.6054319,23.6883588,42.481536,16.9569814,34.4882742,63.3059627,33.2478913,44.4425243,18.8505029,2.7687217,15.0756314,12.2763329,40.9784428,18.2051189,1.5712913,1.5780073,29.4918783,24.6725821,44.5045212,16.8953355,34.5643737,63.038755,32.4165073,44.67709,19.3538539,2.9149793,15.9149768,12.4344011,40.8654439,19.0355233,1.4981212,1.5251191,29.9351727,25.2597809,45.3036056,16.615064,34.386158,62.9778624,31.4268702,44.4843904,18.7505013,2.9813676,15.9827708,12.9455158,40.8775806,19.7435796,1.5079017,1.4951269,30.9598766,26.0550773,45.8806579,15.7689085,34.7456908,62.0125505,30.6553516,43.8285757,18.5523355,2.9423448,16.441658,13.1862008,41.6269248,19.4954128 +1017,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1807988,1.1551852,20.3911732,16.3161575,36.5042299,18.6999641,38.6076762,67.733078,38.6359031,47.6606349,24.524628,4.5243119,11.6871745,9.0900889,30.8949511,15.1093528,1.1421022,1.1246727,21.0457183,17.0131386,37.634229,18.5024402,39.6544637,68.0502723,37.812198,48.1786559,24.8627516,4.3803327,12.4077425,9.1998094,32.0702183,15.7255919,1.1169889,1.1076621,20.7191505,16.7289713,37.6114187,18.5435118,39.0081261,67.8513154,37.5599296,47.6481144,24.9915541,4.2527966,12.9228817,9.6706689,31.2655156,14.1077059,1.1582683,1.1696118,21.0855056,16.9559187,37.9300913,18.4771387,38.4375099,67.2285387,37.5680086,47.9366195,24.4750848,4.1483949,13.3012286,9.4216367,30.9968176,15.117553,1.2822238,1.287401,21.233538,17.0185782,38.4696077,18.1826817,37.3739966,67.273998,37.5085693,48.11269,24.9010292,4.0635905,13.3021934,9.4500081,30.5403079,16.5461458 +1018,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.3578885,0.3578885,8.3597469,4.847171,65.4706456,14.1083357,27.4687005,61.4512367,34.5149488,38.3243466,16.6231779,3.4821674,12.5066568,9.7194715,34.9470073,3.7454992,0.4122855,0.4122855,8.3233852,4.9688451,64.7482692,13.9985281,27.5841962,61.1864058,34.0883414,38.4898846,16.8471859,3.4399469,12.6567799,11.1227191,35.274899,3.3486179,0.2783721,0.2783721,7.9090408,4.6915041,63.7027955,13.6443149,27.0658866,61.4286099,34.8498119,40.2558089,16.3099721,3.3036637,11.7547971,9.9408136,36.2675436,1.8603433,0.3126106,0.3126106,7.7932854,4.636212,63.8045582,13.1523195,26.7456018,62.5338005,34.8566863,39.9396886,16.3421483,3.1815098,11.3559831,9.7579421,35.7817762,1.8742906,0.2856543,0.2856543,7.9954241,5.0947654,63.9863969,13.1496431,26.6264896,63.1864928,34.0269117,38.9379309,16.3276176,3.1606708,11.127433,9.8758091,35.9738711,1.9785697 +1019,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5992994,0.5895111,8.1156993,4.9662304,19.5408769,19.8205162,31.8225761,71.4543867,38.6134915,53.7113182,22.0606989,5.0905537,8.6509716,8.413401,24.5919327,4.5200712,0.6462222,0.6755958,8.118476,4.8486529,19.6421269,20.1694159,32.1728899,70.8833898,38.742253,53.1883236,22.7512868,5.1700793,8.8820103,7.9806768,25.8440345,2.8922799,0.7537887,0.8105316,8.4443585,5.3013289,18.873783,20.1603726,32.2038476,70.6748122,39.0039942,53.4079287,23.1013091,5.2800961,9.2245171,8.2329682,26.479791,5.371377,0.8399733,0.8572976,8.5859141,5.1955384,18.884661,20.0274608,32.6473656,70.5892453,40.5552916,52.6091125,23.2174987,5.4717745,9.8239408,8.4234439,26.633034,5.1176347,0.7727387,0.7899944,8.5256903,5.3109118,19.6654932,19.1897246,32.5609093,70.6336416,40.0590311,52.1931561,22.8044711,5.2251218,9.7058403,8.7896092,25.3231622,5.1582389 +1020,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.5951244,0.6385327,10.7430679,6.8507172,62.4937402,9.8145339,34.0559908,66.1123805,40.9103177,44.572257,24.0471174,4.3207855,11.147414,9.0646094,40.6792993,5.7744542,0.6161486,0.6626558,10.6468413,6.6833768,61.8559501,9.5101449,33.7218467,66.142322,40.6342864,44.5254478,23.8857069,4.2809806,11.2521486,9.1552636,41.0445479,5.9973022,0.6195236,0.6806266,10.749759,6.7906266,61.0512653,9.4896693,33.2985852,66.3629038,40.8451154,44.7780696,23.9394659,4.4255345,10.545805,8.7811665,40.4795615,6.2243477,0.6042553,0.6642977,10.6872497,6.7761573,60.1453943,9.4556459,33.4017781,66.5582098,41.0030359,45.1141162,24.099623,4.3258726,10.8662833,9.2030551,40.775481,6.2752994,0.6406159,0.6978042,10.4994312,6.7919469,59.8626835,9.4276799,33.5357509,66.7752739,41.1004716,44.8330485,24.1344559,4.2991946,10.4587405,9.161138,40.9572485,6.2091438 +1021,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1421022,1.1246727,21.0457183,17.0131386,37.634229,18.5024402,39.6544637,68.0502723,37.812198,48.1786559,24.8627516,4.3803327,12.4077425,9.1998094,32.0702183,15.7255919,1.1169889,1.1076621,20.7191505,16.7289713,37.6114187,18.5435118,39.0081261,67.8513154,37.5599296,47.6481144,24.9915541,4.2527966,12.9228817,9.6706689,31.2655156,14.1077059,1.1582683,1.1696118,21.0855056,16.9559187,37.9300913,18.4771387,38.4375099,67.2285387,37.5680086,47.9366195,24.4750848,4.1483949,13.3012286,9.4216367,30.9968176,15.117553,1.2822238,1.287401,21.233538,17.0185782,38.4696077,18.1826817,37.3739966,67.273998,37.5085693,48.11269,24.9010292,4.0635905,13.3021934,9.4500081,30.5403079,16.5461458,1.3900203,1.3952041,21.2129761,17.2980295,38.9536689,18.0785641,37.3483187,66.7056093,37.6157038,47.7397922,24.8503606,3.9041253,13.1258729,9.8063449,29.983054,18.689863 +1022,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6037511,0.6171117,9.9826962,6.7993053,52.1640512,9.9863565,28.7953542,70.079237,40.4513094,42.3805698,21.0668312,4.7025699,10.3742925,8.4725557,36.2636187,6.1940299,0.6239468,0.6106685,9.9188057,6.8771191,51.0190414,10.059629,28.8906212,70.5673299,40.8275122,42.814985,21.3502744,4.7398205,9.9792795,8.2468303,36.4469715,5.6349206,0.6418322,0.6342002,9.9220544,6.8042408,50.3145943,10.3220532,28.3562094,70.5123312,40.9801683,43.2557811,21.2242553,4.9008378,10.2088428,8.429734,36.5898935,5.4991549,0.6273955,0.6153607,10.0296383,6.8638008,49.0155404,10.3581745,28.2369272,70.6487135,41.9806308,44.6205859,21.0864941,4.9681604,10.6928847,8.8005248,36.2123157,5.4270463,0.6136677,0.5936626,10.1186285,7.0682101,47.897462,10.4069635,28.0024896,70.7230941,42.4366247,45.2486489,21.436488,4.9383577,10.4224142,8.7082566,35.4241959,5.9659091 +1023,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2238191,1.4150633,27.6784831,23.0281669,48.6434323,14.8303905,41.2341792,65.0369772,36.0599692,47.1850275,24.0290938,3.5252783,11.2686216,8.6578283,30.2027502,25.2907243,1.2072707,1.3597221,27.7231909,22.8288365,50.9699265,15.1604978,40.292536,64.4878869,35.1128522,46.5220991,23.3100621,3.3770104,12.414288,9.6180848,30.0549964,23.5052589,1.2936075,1.4530684,27.4700896,22.3717226,51.3605675,15.7378752,39.452612,65.804722,35.3508361,46.6446963,22.9638534,3.2513733,12.1637874,9.1502222,30.4075944,23.7270441,1.2993256,1.4167804,27.1519193,22.0121964,51.1943203,15.0778313,39.4920733,64.1321714,34.1439989,46.0175984,23.0267604,3.1230193,12.1163975,9.7079908,31.0606369,21.8500726,1.1162458,1.253681,26.0016573,20.9262967,49.7998024,15.1821206,39.9388083,63.9122006,35.4670483,45.9191368,23.5952844,3.3610987,11.9899966,10.1807597,31.3788113,21.9877266 +1024,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.1695425,1.1826144,16.7505276,12.8092228,27.5320462,14.2766606,36.4986712,66.9896584,40.5469277,48.6003443,23.3634881,3.2515079,12.1665692,11.9951583,39.829113,11.9563855,1.2077486,1.2208307,16.6526725,12.6627468,28.4478739,13.5095225,36.3225544,66.0430163,40.580629,48.3225586,23.3333414,3.0752699,12.2619325,11.212357,38.7779118,13.4057441,1.31773,1.3305995,16.9418064,12.9797701,28.2023223,12.9614316,36.4114216,66.7858744,40.5763452,48.3171892,23.075317,3.0500641,12.9587348,11.7265047,39.3296885,15.4546196,1.3765926,1.3987501,18.4499451,13.8527162,27.6762713,13.6234923,35.7494829,66.8788598,40.8418848,48.8911512,23.2649074,3.0595504,13.0613825,12.6217127,39.2991267,17.201318,1.4630794,1.4857888,19.1237251,14.6386797,28.6802932,13.3873063,34.7542921,66.6316771,39.5002054,47.8160292,22.1125763,2.8769449,12.9290623,11.6590204,39.2691868,17.8984012 +1025,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5318751,0.4773187,7.1428565,4.5742815,58.3201387,10.2299212,30.4945123,66.1930937,30.2747226,40.7770838,16.2244901,14.5918385,10.237518,8.7785101,36.2878854,2.7046776,0.5117592,0.4502303,7.3431785,4.5884504,56.9219307,10.3802571,30.4736203,67.1992756,30.7194347,41.7322218,16.4945895,14.5608007,10.1291723,8.7209315,36.2583385,2.2307689,0.4935948,0.4366836,7.3601802,4.4583174,56.2130712,10.8980908,30.5852937,67.3083494,31.9147014,42.2738255,17.2738216,14.511396,9.9205012,8.9722418,36.1435809,2.2022831,0.4601971,0.3947368,7.2064524,4.4425882,54.3832386,11.1320085,30.2653097,67.9720099,31.8099145,43.0583323,17.6176586,14.074144,9.4845719,8.7648737,35.2120164,2.9464275,0.4755447,0.4070097,7.3589246,4.6053893,53.0052062,11.5246897,30.0801372,67.840105,32.5796527,43.9896972,18.3266486,14.3579497,9.6088759,8.7848047,34.7190598,3.1791901 +1026,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6482835,0.6572811,8.4183103,5.6011156,43.1718035,10.6971367,29.2678472,68.3664322,35.8963704,49.6430414,19.9175064,3.0238603,10.5618349,9.2128542,29.0786057,5.2535927,0.6303855,0.6393255,8.4470868,5.5616412,41.7374275,10.7487067,28.5507439,68.3344349,36.1280399,49.3374157,20.3336346,2.9931342,10.4173609,9.3121334,28.8251603,5.2158311,0.6916025,0.6731515,8.3458184,5.467207,40.6638183,10.9012559,28.4648556,67.756916,35.784038,49.4280015,20.7794314,3.0979964,10.346241,9.8102095,29.139288,3.8983064,0.7027886,0.6834426,8.5570092,5.3596581,39.3958165,10.5702908,28.6434243,67.8263029,35.890333,49.288057,21.2324417,3.3752823,10.2278359,10.0906716,29.3372354,2.6813889,0.657742,0.6392787,8.1267598,4.9658121,38.3731655,10.8167348,28.5279939,67.5610478,36.0949379,48.3784707,21.3148522,3.2920342,10.1439543,10.174978,29.4270455,2.5679766 +1027,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5117592,0.4502303,7.3431785,4.5884504,56.9219307,10.3802571,30.4736203,67.1992756,30.7194347,41.7322218,16.4945895,14.5608007,10.1291723,8.7209315,36.2583385,2.2307689,0.4935948,0.4366836,7.3601802,4.4583174,56.2130712,10.8980908,30.5852937,67.3083494,31.9147014,42.2738255,17.2738216,14.511396,9.9205012,8.9722418,36.1435809,2.2022831,0.4601971,0.3947368,7.2064524,4.4425882,54.3832386,11.1320085,30.2653097,67.9720099,31.8099145,43.0583323,17.6176586,14.074144,9.4845719,8.7648737,35.2120164,2.9464275,0.4755447,0.4070097,7.3589246,4.6053893,53.0052062,11.5246897,30.0801372,67.840105,32.5796527,43.9896972,18.3266486,14.3579497,9.6088759,8.7848047,34.7190598,3.1791901,0.4967893,0.4693751,7.5591599,4.781929,52.147908,11.2631605,29.8972011,67.7366176,32.5930876,44.0166783,18.6093824,13.9934085,10.1117103,8.9911475,35.658768,2.9352221 +1028,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9897298,1.0008441,13.3905932,9.2137146,40.1504719,15.8522557,37.1535307,67.4522922,38.9555772,50.5759816,23.3356553,4.2281133,12.0677321,10.5069104,33.2775988,11.6766467,1.0612284,1.072214,13.688085,9.4897189,39.1253184,16.1961655,37.2987857,67.9303991,39.186752,50.5680771,23.7452804,4.1087219,12.8893034,10.944732,32.8994051,12.1875549,0.9609866,0.9787613,13.527594,9.6076442,38.9434105,16.4159965,37.9192661,68.2898216,39.6123146,50.2698509,24.21229,4.3607911,13.3877867,11.4477867,33.5277871,11.8182281,1.207607,1.2252761,13.9694854,10.0031303,38.0259241,15.7819126,37.9732972,68.5717952,40.2534169,50.4986561,24.1392129,4.2508718,13.1898898,11.7385954,33.6144484,11.7143295,1.1565848,1.1632348,13.7906556,9.7501578,36.7274392,15.8879108,37.0667329,68.9004516,39.8053987,50.320241,24.2824717,4.1737828,13.3966795,11.8720783,33.952347,13.1902292 +1029,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4483347,1.4686966,28.6054319,23.6883588,42.481536,16.9569814,34.4882742,63.3059627,33.2478913,44.4425243,18.8505029,2.7687217,15.0756314,12.2763329,40.9784428,18.2051189,1.5712913,1.5780073,29.4918783,24.6725821,44.5045212,16.8953355,34.5643737,63.038755,32.4165073,44.67709,19.3538539,2.9149793,15.9149768,12.4344011,40.8654439,19.0355233,1.4981212,1.5251191,29.9351727,25.2597809,45.3036056,16.615064,34.386158,62.9778624,31.4268702,44.4843904,18.7505013,2.9813676,15.9827708,12.9455158,40.8775806,19.7435796,1.5079017,1.4951269,30.9598766,26.0550773,45.8806579,15.7689085,34.7456908,62.0125505,30.6553516,43.8285757,18.5523355,2.9423448,16.441658,13.1862008,41.6269248,19.4954128,1.6325379,1.6201218,30.1845455,25.6090832,46.8016478,15.238659,34.5714269,61.982762,29.6063585,43.0616537,18.0896224,2.7062228,16.6302888,13.226373,43.4822622,20.9956619 +1030,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6462222,0.6755958,8.118476,4.8486529,19.6421269,20.1694159,32.1728899,70.8833898,38.742253,53.1883236,22.7512868,5.1700793,8.8820103,7.9806768,25.8440345,2.8922799,0.7537887,0.8105316,8.4443585,5.3013289,18.873783,20.1603726,32.2038476,70.6748122,39.0039942,53.4079287,23.1013091,5.2800961,9.2245171,8.2329682,26.479791,5.371377,0.8399733,0.8572976,8.5859141,5.1955384,18.884661,20.0274608,32.6473656,70.5892453,40.5552916,52.6091125,23.2174987,5.4717745,9.8239408,8.4234439,26.633034,5.1176347,0.7727387,0.7899944,8.5256903,5.3109118,19.6654932,19.1897246,32.5609093,70.6336416,40.0590311,52.1931561,22.8044711,5.2251218,9.7058403,8.7896092,25.3231622,5.1582389,0.8787894,0.9333712,9.2039397,5.8100016,20.0699365,18.3449875,32.6697236,69.8903954,39.1624055,51.26355,22.8156513,5.0678172,9.6740067,8.4586647,25.7584524,6.7987164 +1031,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2382836,0.2382836,6.8764048,4.4649568,59.1598863,16.9144363,30.3381045,66.7952898,33.6089736,41.4002234,17.8059518,8.3976486,9.3522523,8.6496309,37.0329586,2.3722645,0.2987995,0.321788,6.7097014,4.1275447,57.2555862,17.2758141,29.7023971,67.7413142,34.4715788,42.6363971,18.1037733,8.1838989,9.1565301,8.644321,37.729354,2.5096544,0.3457614,0.3694778,6.7350211,4.3224788,55.870689,18.0636451,28.9111575,67.9441751,35.0432398,42.5904053,18.7696511,7.8812891,9.8108699,8.2478242,36.3888846,3.024196,0.3451831,0.3822889,6.2238034,3.9606048,53.9017437,19.0563002,28.6972441,67.3699238,34.2687331,42.3801614,19.1929477,7.7222475,10.1503768,7.9079505,36.9107691,3.1779688,0.3877573,0.4618314,6.1016258,3.8942117,53.1044457,19.9072214,29.0012228,67.6422352,34.2406756,42.7138664,19.7503037,7.9615247,9.8130858,7.4341559,36.492279,3.086421 +1032,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0612284,1.072214,13.688085,9.4897189,39.1253184,16.1961655,37.2987857,67.9303991,39.186752,50.5680771,23.7452804,4.1087219,12.8893034,10.944732,32.8994051,12.1875549,0.9609866,0.9787613,13.527594,9.6076442,38.9434105,16.4159965,37.9192661,68.2898216,39.6123146,50.2698509,24.21229,4.3607911,13.3877867,11.4477867,33.5277871,11.8182281,1.207607,1.2252761,13.9694854,10.0031303,38.0259241,15.7819126,37.9732972,68.5717952,40.2534169,50.4986561,24.1392129,4.2508718,13.1898898,11.7385954,33.6144484,11.7143295,1.1565848,1.1632348,13.7906556,9.7501578,36.7274392,15.8879108,37.0667329,68.9004516,39.8053987,50.320241,24.2824717,4.1737828,13.3966795,11.8720783,33.952347,13.1902292,1.0826915,1.0895584,14.0799924,10.0105001,36.3216696,16.0317758,36.3426424,68.6988603,40.1737669,50.8470215,25.2686579,4.3611202,13.7716704,12.0958852,34.6607051,10.1852343 +1033,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3297927,0.3506933,6.5743488,3.960216,69.4846218,20.3860333,30.9605856,63.2351873,28.6468563,40.0197216,15.3922042,5.8627607,9.4594629,8.1985324,34.8161746,3.0233599,0.2871644,0.2810839,6.9041218,4.1981836,68.7883358,19.7893641,30.650755,63.5981392,29.4127396,40.0360664,15.3155432,5.9704636,9.8733271,8.3645943,35.5263216,3.1554532,0.2282775,0.2221411,6.9333029,3.9992095,68.0437792,19.1439979,31.0252283,63.806914,29.5314849,40.3917236,15.56323,5.5914562,9.6810125,7.8672662,35.1907387,4.2501573,0.3340767,0.3353141,7.5384215,4.2643641,67.3888227,19.0983816,31.2548695,63.8301092,29.9957303,40.4753445,16.2266976,5.2599656,9.475659,8.0827098,35.1320887,4.3591398,0.2863911,0.2938622,7.5337102,4.2670631,66.3555337,19.2898222,31.6637321,63.6343949,30.4372477,40.617456,16.6190254,4.885545,9.9325389,8.47139,35.109618,3.1402089 +1034,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6559821,0.6782937,9.457214,6.6141783,70.2621909,11.7807541,30.4029427,66.7185627,30.5948916,44.6269855,14.9796722,4.9772409,11.3329319,11.0886144,31.8941632,5.8049054,0.5336389,0.568694,9.0157575,6.2777323,69.5283785,12.2324162,29.9021614,66.2611878,31.4819679,44.9222332,15.0326572,5.3285156,10.982958,11.2393927,31.2292573,6.0543382,0.5390443,0.5755586,9.0101977,6.2852732,68.1434287,12.5388115,29.2895955,66.5577158,31.5878608,44.9856198,15.4218282,5.3408553,11.0189582,11.1027117,30.6972936,7.3409324,0.5079606,0.5079606,9.1297456,6.5330737,67.6605846,12.6048343,29.2699467,66.8685058,31.3838912,44.9125896,14.7548714,5.4256316,11.4467155,10.8671931,30.9126426,6.9616611,0.519474,0.519474,9.0631498,6.3079143,66.1335103,12.9178132,28.6537592,67.1152503,31.5533184,45.1626773,14.571063,5.4290275,11.5541021,10.3096041,30.5148713,7.8825081 +1035,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5712913,1.5780073,29.4918783,24.6725821,44.5045212,16.8953355,34.5643737,63.038755,32.4165073,44.67709,19.3538539,2.9149793,15.9149768,12.4344011,40.8654439,19.0355233,1.4981212,1.5251191,29.9351727,25.2597809,45.3036056,16.615064,34.386158,62.9778624,31.4268702,44.4843904,18.7505013,2.9813676,15.9827708,12.9455158,40.8775806,19.7435796,1.5079017,1.4951269,30.9598766,26.0550773,45.8806579,15.7689085,34.7456908,62.0125505,30.6553516,43.8285757,18.5523355,2.9423448,16.441658,13.1862008,41.6269248,19.4954128,1.6325379,1.6201218,30.1845455,25.6090832,46.8016478,15.238659,34.5714269,61.982762,29.6063585,43.0616537,18.0896224,2.7062228,16.6302888,13.226373,43.4822622,20.9956619,1.5840848,1.5648811,30.3805086,25.5676639,46.9787178,14.5671919,33.6031652,61.5415355,29.4469425,43.3681653,17.4838811,2.3716719,16.5316862,13.1916095,43.0349309,20.299154 +1036,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8821448,0.9799888,11.3306153,7.7368428,45.5867422,18.8269371,38.1333874,69.2852864,39.1889488,50.1358682,24.2913602,3.603734,11.6930566,11.3597563,33.5889392,7.0679666,0.6913935,0.7908142,11.2864118,7.499233,43.8608818,19.142828,38.0741843,69.5805233,39.0233555,49.9235182,24.2345822,3.658905,11.4600763,10.6798904,33.4564281,8.2445624,0.6517238,0.681174,11.5917084,7.5584812,42.6948766,19.428907,37.3629029,69.2223345,38.8367095,50.1882137,23.6908489,3.6845353,11.146848,10.6451698,33.9496646,8.707738,0.7178262,0.7482361,11.9495291,7.8972251,41.5008173,19.7708716,37.7276232,69.0018931,39.905854,50.5689367,24.2685419,3.7873738,10.8016855,11.2507621,33.2619314,7.6703412,0.8272616,0.8848723,12.6000794,8.2276102,40.5697638,19.6663739,37.4151434,68.9027935,40.5062571,50.9341153,24.3376441,3.9911582,10.4206201,11.0223523,33.0888411,7.1838048 +1037,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5336389,0.568694,9.0157575,6.2777323,69.5283785,12.2324162,29.9021614,66.2611878,31.4819679,44.9222332,15.0326572,5.3285156,10.982958,11.2393927,31.2292573,6.0543382,0.5390443,0.5755586,9.0101977,6.2852732,68.1434287,12.5388115,29.2895955,66.5577158,31.5878608,44.9856198,15.4218282,5.3408553,11.0189582,11.1027117,30.6972936,7.3409324,0.5079606,0.5079606,9.1297456,6.5330737,67.6605846,12.6048343,29.2699467,66.8685058,31.3838912,44.9125896,14.7548714,5.4256316,11.4467155,10.8671931,30.9126426,6.9616611,0.519474,0.519474,9.0631498,6.3079143,66.1335103,12.9178132,28.6537592,67.1152503,31.5533184,45.1626773,14.571063,5.4290275,11.5541021,10.3096041,30.5148713,7.8825081,0.5301398,0.5301398,8.6136092,5.7475536,65.0240572,13.783921,27.8829833,67.4406336,31.7694036,44.5654979,14.1390519,5.5766466,11.9388587,10.3997716,30.3570678,7.07271 +1038,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4981212,1.5251191,29.9351727,25.2597809,45.3036056,16.615064,34.386158,62.9778624,31.4268702,44.4843904,18.7505013,2.9813676,15.9827708,12.9455158,40.8775806,19.7435796,1.5079017,1.4951269,30.9598766,26.0550773,45.8806579,15.7689085,34.7456908,62.0125505,30.6553516,43.8285757,18.5523355,2.9423448,16.441658,13.1862008,41.6269248,19.4954128,1.6325379,1.6201218,30.1845455,25.6090832,46.8016478,15.238659,34.5714269,61.982762,29.6063585,43.0616537,18.0896224,2.7062228,16.6302888,13.226373,43.4822622,20.9956619,1.5840848,1.5648811,30.3805086,25.5676639,46.9787178,14.5671919,33.6031652,61.5415355,29.4469425,43.3681653,17.4838811,2.3716719,16.5316862,13.1916095,43.0349309,20.299154,1.5331563,1.5133067,30.6825644,26.3827698,48.3045789,14.4538358,32.8989292,61.1881896,28.6153816,42.2782794,17.0656239,2.227869,16.303925,13.1332051,44.518177,19.0789557 +1039,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2987995,0.321788,6.7097014,4.1275447,57.2555862,17.2758141,29.7023971,67.7413142,34.4715788,42.6363971,18.1037733,8.1838989,9.1565301,8.644321,37.729354,2.5096544,0.3457614,0.3694778,6.7350211,4.3224788,55.870689,18.0636451,28.9111575,67.9441751,35.0432398,42.5904053,18.7696511,7.8812891,9.8108699,8.2478242,36.3888846,3.024196,0.3451831,0.3822889,6.2238034,3.9606048,53.9017437,19.0563002,28.6972441,67.3699238,34.2687331,42.3801614,19.1929477,7.7222475,10.1503768,7.9079505,36.9107691,3.1779688,0.3877573,0.4618314,6.1016258,3.8942117,53.1044457,19.9072214,29.0012228,67.6422352,34.2406756,42.7138664,19.7503037,7.9615247,9.8130858,7.4341559,36.492279,3.086421,0.4832712,0.5315279,6.5270418,4.0870247,52.5569325,20.2310992,29.5950709,67.1496561,34.0809715,42.854301,19.9086923,7.2449408,10.2868869,6.6091965,36.2168851,2.6639366 +1040,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6913935,0.7908142,11.2864118,7.499233,43.8608818,19.142828,38.0741843,69.5805233,39.0233555,49.9235182,24.2345822,3.658905,11.4600763,10.6798904,33.4564281,8.2445624,0.6517238,0.681174,11.5917084,7.5584812,42.6948766,19.428907,37.3629029,69.2223345,38.8367095,50.1882137,23.6908489,3.6845353,11.146848,10.6451698,33.9496646,8.707738,0.7178262,0.7482361,11.9495291,7.8972251,41.5008173,19.7708716,37.7276232,69.0018931,39.905854,50.5689367,24.2685419,3.7873738,10.8016855,11.2507621,33.2619314,7.6703412,0.8272616,0.8848723,12.6000794,8.2276102,40.5697638,19.6663739,37.4151434,68.9027935,40.5062571,50.9341153,24.3376441,3.9911582,10.4206201,11.0223523,33.0888411,7.1838048,0.8105098,0.8873004,12.7930845,8.4528989,39.4677738,19.5598895,37.9537947,68.9856945,40.6229175,50.3380878,23.7900343,3.7900265,10.3597323,10.5736943,32.2980709,7.5756428 +1041,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.826123,0.8318994,9.3580646,5.4977292,30.8840362,17.2312407,35.3117123,69.7723987,40.5503636,50.8731723,23.2206205,4.2992986,12.3145349,10.3470044,31.9787287,6.5022451,0.7767864,0.7756935,9.170566,5.38552,30.1417724,17.7000731,34.8851185,69.7820754,41.0447238,51.3030345,24.0345975,4.4657748,12.1247094,10.1152027,31.7022402,6.8396259,0.8071931,0.8136664,9.12088,5.3601959,29.4346884,17.9515643,34.0317547,69.8363833,40.8752289,50.9422564,24.0143925,4.4507862,11.2064743,9.823612,31.4349152,6.127451,0.7286693,0.723634,8.701554,5.0481366,28.5330879,17.8056651,34.1509581,69.6729471,40.9937072,50.7295644,24.2138381,4.4654118,10.421907,9.4892379,30.9379797,6.3451809,0.7211805,0.6939315,8.616592,5.1461858,28.7071269,17.7083293,34.1123866,69.0118566,41.0632048,50.5328247,24.4490226,4.541055,10.1061456,9.5089174,30.5326937,5.841116 +1042,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4981279,0.5200441,10.269963,7.0229742,48.4888785,14.961066,34.2744823,70.3627486,40.295415,45.9423875,22.4569849,2.7486901,7.7004268,7.5211843,30.7883506,5.7228812,0.4208975,0.4543315,9.9044425,6.7805924,47.5928915,15.6238335,33.2393812,70.3682836,40.4922907,46.0541147,22.6042785,3.025181,7.4875985,7.5908811,31.0035803,4.7770609,0.4837941,0.5179786,10.1768189,6.8660608,47.4639205,15.179935,33.7514484,69.6835208,39.5793032,45.5229742,22.6360433,2.9525302,7.6671685,7.3411279,31.3416385,4.166656,0.3786541,0.4074621,9.5559833,6.428568,47.0860266,15.4405928,33.7773423,70.278329,39.5029729,45.8250603,23.0417428,3.1610358,7.8571664,6.8301906,31.525042,3.571417,0.4235734,0.4598053,9.6107574,6.4406066,45.6276192,17.6434366,33.877635,70.463003,40.615936,46.2381152,23.2534002,3.6171991,8.2815125,6.9921842,31.4117891,3.741489 +1043,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0664614,2.1560648,34.1350858,27.9430589,51.0388785,17.5172825,38.3556216,60.3136302,29.1926202,43.8503685,20.9212358,3.0989647,13.5221792,10.0114218,45.3496673,27.7121877,2.1758223,2.2204105,34.2926461,28.0052783,51.7422761,17.0808603,38.4122011,60.2583885,28.6944972,42.918159,20.5241172,3.2335941,13.2588899,10.1100782,44.9867726,27.6561874,2.1783329,2.2097491,33.6077819,27.9593619,53.7652369,16.276817,37.9094832,60.6275453,28.6635169,43.0990604,20.785812,2.7258124,12.2370287,9.8269195,44.7733509,26.2138568,2.4424196,2.4732576,33.9779911,28.6317458,55.3578078,17.1653187,37.5179787,61.2271301,28.7562261,42.2672254,20.6935404,2.6251922,12.3835666,9.7327011,43.5601779,25.5500368,2.4973865,2.527521,34.7805119,29.5516269,57.0091011,16.9519367,36.9562377,62.082159,29.6230363,41.3517345,20.7165035,2.6152551,13.0961899,9.9856645,43.1419269,25.5490832 +1044,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6487118,0.6579829,7.2899691,4.6647725,44.6556952,20.0907333,31.4880526,69.5436319,33.6706673,45.7340958,17.2817713,6.7261771,11.9499485,9.5219922,32.1564174,2.529173,0.7391215,0.7488504,7.1579211,4.4974548,44.0024983,21.5942528,31.2238566,68.9849566,33.5213654,45.7602028,17.2305959,6.7877858,12.449336,9.3673852,32.7515835,3.2188772,0.8321056,0.8423281,7.2916711,4.6321031,43.7915562,22.3070333,31.3048672,68.914772,33.6775548,46.1554904,17.5527256,7.0957649,12.4158461,8.8879378,32.1669356,3.051636,0.7215456,0.7321048,7.1232299,4.5579592,42.0266401,22.9778914,31.3899759,69.7073921,34.5450892,47.5308133,18.0841338,7.5217003,11.9699877,8.8780762,31.3716701,2.6829203,0.6200611,0.6311999,7.1878128,4.4772663,40.1309357,23.8311568,30.8489757,69.7298944,34.9493537,46.8644055,17.6797054,7.5011915,11.7897977,8.8625424,30.4657691,2.25 +1045,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5390443,0.5755586,9.0101977,6.2852732,68.1434287,12.5388115,29.2895955,66.5577158,31.5878608,44.9856198,15.4218282,5.3408553,11.0189582,11.1027117,30.6972936,7.3409324,0.5079606,0.5079606,9.1297456,6.5330737,67.6605846,12.6048343,29.2699467,66.8685058,31.3838912,44.9125896,14.7548714,5.4256316,11.4467155,10.8671931,30.9126426,6.9616611,0.519474,0.519474,9.0631498,6.3079143,66.1335103,12.9178132,28.6537592,67.1152503,31.5533184,45.1626773,14.571063,5.4290275,11.5541021,10.3096041,30.5148713,7.8825081,0.5301398,0.5301398,8.6136092,5.7475536,65.0240572,13.783921,27.8829833,67.4406336,31.7694036,44.5654979,14.1390519,5.5766466,11.9388587,10.3997716,30.3570678,7.07271,0.4359439,0.4204351,8.1236194,5.4432624,63.5800018,14.7543406,27.6108235,67.4840561,32.5825309,44.8947567,14.5645264,5.622318,11.9176321,10.6563002,29.640869,5.8969051 +1046,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6415897,0.6855844,8.0690961,5.560814,58.6215178,19.4040357,32.1293673,68.7677054,33.0736544,44.4050992,18.3899906,4.7922568,9.6338274,7.9039301,34.5175439,1.6746411,0.6610759,0.6792082,8.2642613,5.4851292,57.3025335,19.71387,31.8893784,68.2574645,33.3088595,45.0073421,18.9672051,4.7234459,10,8.5568918,33.9069767,1.6666667,0.7041922,0.7073324,7.9746835,5.1392405,57.0292458,19.1729323,31.9078947,68.1933198,33.0718623,45.1163968,18.8512146,5.1366397,10.1735776,8.9458414,33.2521908,2.238806,0.6773137,0.6805897,7.6086957,4.8515376,56.7502668,18.4635417,31.6412415,67.8853235,33.1667543,44.5817991,18.1746449,4.918464,10.2985075,8.8235294,33.7525151,2.5139665,0.6871131,0.6734659,6.8936877,3.9036545,55.0696379,19.0928843,30.9484649,67.2971491,32.6480263,45.2576754,18.558114,5.0164474,9.8150051,8.281893,33.4543568,2.7607362 +1047,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1823661,1.2412282,26.997749,22.3787712,39.8235887,19.3692046,37.45321,68.3634475,35.430052,46.7464836,21.7748937,4.8985653,14.3477645,12.2482054,31.8520696,12.784051,1.1497763,1.2075502,27.3811641,22.9247366,41.3888915,19.84739,38.2686999,67.877734,35.2273867,47.2084855,21.8794923,4.6862485,14.2762904,13.4276405,32.3235901,14.4020347,1.2072856,1.2649548,27.5937243,23.1324923,40.4108048,19.1509282,38.2438191,67.3668076,34.7814157,46.839272,22.228274,4.2353219,14.3771225,14.1477539,33.1710973,15.2775625,1.0267775,1.0835013,27.1135141,22.8499218,41.0220979,19.2331077,37.3249704,68.1513618,34.1508834,46.2375178,22.0636141,3.3877731,14.6475864,13.8271089,32.8561842,14.4123848,1.1647566,1.1694574,27.2235695,22.6517896,41.975643,19.2258024,37.500917,68.1488378,33.8445754,45.4218288,21.7189024,3.1988298,13.9830068,13.6748287,33.4544286,18.8529768 +1048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7858362,0.7660772,12.2085579,8.2577779,45.5314871,15.3618305,32.3061536,69.2180287,36.4810929,45.8250475,22.7634117,4.4731502,11.1038903,10.8441369,42.4738236,6.0714416,0.798581,0.7760308,11.84212,7.6585814,44.7974839,14.9694358,31.7932916,68.9596313,37.2689749,46.3723599,24.05886,4.4147725,11.2990454,11.1637273,41.7006758,5.813967,0.9469519,0.9449689,11.7320323,7.8104616,44.7686103,14.3741703,31.8061871,67.5346234,36.8160701,45.1878857,23.829909,4.3177206,12.018587,11.7529959,41.0000007,4.9242499,1.0152725,1.0822941,12.3781652,8.2845966,43.3110292,15.0227154,32.2909939,67.6431997,37.2942667,46.7742028,24.5885434,4.3778679,12.0800936,12.4677164,40.3246728,3.9855072,1.0758781,1.1677934,12.5923561,8.7130446,42.8342948,14.9938522,31.7724907,66.4047873,36.3607697,46.1030851,24.7328786,4.6825845,12.4211901,12.0581106,39.6333779,5.7432471 +1049,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5904129,0.5716822,9.7925384,6.8038195,79.3083455,10.9426279,29.5080534,68.2651624,28.9332199,45.0611178,13.5596295,4.1127523,11.6348485,12.2107946,31.2839157,11.6194565,0.5524039,0.4990177,9.7022899,6.8687457,79.0648554,11.0766389,30.2802401,69.3882036,28.9900411,44.5448093,14.2461801,4.2203838,11.8915376,12.6890308,31.0995819,12.1090723,0.4237571,0.3875107,9.3202164,6.5295453,78.9403461,10.6465396,30.0441147,68.522655,29.4928841,45.2591088,14.0940546,4.0242246,12.1490504,12.2595268,31.0522191,9.6151479,0.3476703,0.3541977,9.4512332,6.5818136,78.4506894,10.2344099,29.7900155,68.8098619,29.4215841,44.9336987,14.4988426,3.4819206,12.2580985,11.7747529,31.6792709,6.5889838,0.3726542,0.3693778,9.3523926,6.747487,78.2207275,10.3328856,29.4258868,68.7706375,28.7633803,44.1112062,14.5932735,3.3308615,12.1159446,11.7747243,32.4075191,4.044076 +1050,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.2077486,1.2208307,16.6526725,12.6627468,28.4478739,13.5095225,36.3225544,66.0430163,40.580629,48.3225586,23.3333414,3.0752699,12.2619325,11.212357,38.7779118,13.4057441,1.31773,1.3305995,16.9418064,12.9797701,28.2023223,12.9614316,36.4114216,66.7858744,40.5763452,48.3171892,23.075317,3.0500641,12.9587348,11.7265047,39.3296885,15.4546196,1.3765926,1.3987501,18.4499451,13.8527162,27.6762713,13.6234923,35.7494829,66.8788598,40.8418848,48.8911512,23.2649074,3.0595504,13.0613825,12.6217127,39.2991267,17.201318,1.4630794,1.4857888,19.1237251,14.6386797,28.6802932,13.3873063,34.7542921,66.6316771,39.5002054,47.8160292,22.1125763,2.8769449,12.9290623,11.6590204,39.2691868,17.8984012,1.3114747,1.3911273,19.7480432,15.4781917,28.7036748,13.5071184,34.1510995,66.7173427,39.1880312,47.0039023,21.9496436,2.5835897,13.1457201,11.012368,38.8111619,18.700134 +1051,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2756675,2.3117947,34.1257669,28.9110429,61.5322581,7.6036866,35.1246106,64.4080997,26.0903427,40.7320872,16.1214953,5.529595,16.5615142,12.4213836,37.5786164,13.9053254,1.953448,1.953448,33.1602374,28.4124629,60.719755,6.8382353,34.6439169,64.0207715,26.9287834,40.727003,16.5430267,5.7121662,16.8128655,12.6822157,37.3546512,12.6470588,1.6123407,1.6123407,33.1586826,29.1167665,60.4166667,7.1533923,35.5341246,64.0207715,26.3353116,41.4688427,16.3946588,5.8605341,16.7673716,13.3633634,37.5748503,11.746988,1.7519841,1.7519841,34.0472674,29.9113737,61.7692308,6.3689605,36.3970588,62.2794118,26.6911765,40.8088235,15.8088235,5.6617647,16.9161677,12.9464286,40.2077151,13.4375,1.8271222,1.8271222,34.9563953,30.8866279,62.6315789,5.8357349,36.5942029,62.6811594,26.4492754,40.942029,15,5.1449275,16.4156627,11.8618619,40.2694611,14.5833333 +1052,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6517238,0.681174,11.5917084,7.5584812,42.6948766,19.428907,37.3629029,69.2223345,38.8367095,50.1882137,23.6908489,3.6845353,11.146848,10.6451698,33.9496646,8.707738,0.7178262,0.7482361,11.9495291,7.8972251,41.5008173,19.7708716,37.7276232,69.0018931,39.905854,50.5689367,24.2685419,3.7873738,10.8016855,11.2507621,33.2619314,7.6703412,0.8272616,0.8848723,12.6000794,8.2276102,40.5697638,19.6663739,37.4151434,68.9027935,40.5062571,50.9341153,24.3376441,3.9911582,10.4206201,11.0223523,33.0888411,7.1838048,0.8105098,0.8873004,12.7930845,8.4528989,39.4677738,19.5598895,37.9537947,68.9856945,40.6229175,50.3380878,23.7900343,3.7900265,10.3597323,10.5736943,32.2980709,7.5756428,0.8262651,0.8949188,12.4263357,7.787181,37.7569208,20.4780824,38.6872942,69.4276877,41.9035428,51.3274908,24.0276163,3.9079979,9.4197618,10.4226349,31.4295942,6.3253164 +1053,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7022158,0.724926,9.1138125,5.8118801,48.2477777,17.7272489,32.5425671,68.822332,38.8565919,48.7540922,24.1808762,4.0102049,10.8300151,9.5413704,32.7303977,4.6876055,0.6233687,0.6876163,9.1150088,5.7875345,47.8804256,17.9761519,32.8760522,69.1196364,39.3977317,48.9129726,24.2160132,4.1162039,10.5170231,10.2898178,32.0815808,4.870133,0.6182022,0.6848014,9.1058641,5.9544859,47.7407726,18.5593891,32.5775699,69.192425,38.9932973,48.7646759,23.8754109,4.111379,10.0373334,10.0446578,31.6366655,6.1290362,0.7406369,0.7956366,9.0067813,5.9259286,46.8830943,18.1570662,32.2055924,68.5624571,38.5697904,48.3358982,23.6102132,3.968512,10.3409976,10.4891395,32.297909,5.3448404,0.786529,0.8385787,9.0078931,5.8918236,47.3714192,17.9563019,31.8921514,67.601244,38.1149005,47.2325583,23.1368853,4.0339805,10.7553628,10.2517876,32.5473003,5.6202965 +1054,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7875247,0.7738978,9.0273954,6.2172721,52.0491045,14.5294713,28.2610533,67.5674696,40.1431616,44.8927169,20.2251274,4.423981,10.7480716,9.2974809,34.8806317,9.094005,0.748481,0.7343712,8.8365819,5.8739193,50.6605785,14.8536208,27.6125906,67.257026,40.2052055,45.9711145,20.6163512,4.5613869,10.7979651,9.5386987,34.0936981,8.2417784,0.6764405,0.7145174,8.5479124,5.5410934,49.7869085,14.7712991,26.6649503,67.7584081,40.8977077,45.6869303,21.4070628,4.2270095,10.6635655,9.624889,33.5181225,7.051722,0.6559287,0.6957796,8.4522407,5.5572222,48.8123335,15.189667,26.7295847,67.8845368,41.607279,45.8688293,21.5883251,4.8863816,11.3178096,10.3027402,32.5097642,6.0326558,0.6547048,0.6810007,8.5194267,5.4873145,48.9998095,15.1860221,26.9360831,68.4744001,41.1696953,46.0646537,21.5107361,5.001681,11.8306229,9.9497265,32.7406013,8.3389037 +1055,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6610759,0.6792082,8.2642613,5.4851292,57.3025335,19.71387,31.8893784,68.2574645,33.3088595,45.0073421,18.9672051,4.7234459,10,8.5568918,33.9069767,1.6666667,0.7041922,0.7073324,7.9746835,5.1392405,57.0292458,19.1729323,31.9078947,68.1933198,33.0718623,45.1163968,18.8512146,5.1366397,10.1735776,8.9458414,33.2521908,2.238806,0.6773137,0.6805897,7.6086957,4.8515376,56.7502668,18.4635417,31.6412415,67.8853235,33.1667543,44.5817991,18.1746449,4.918464,10.2985075,8.8235294,33.7525151,2.5139665,0.6871131,0.6734659,6.8936877,3.9036545,55.0696379,19.0928843,30.9484649,67.2971491,32.6480263,45.2576754,18.558114,5.0164474,9.8150051,8.281893,33.4543568,2.7607362,0.7276995,0.7132539,6.5114909,3.8597525,53.5,19.5002872,30.887471,66.7923434,32.4535963,45.562645,18.6484919,5.24942,9.5733042,7.8485181,32.7986726,3.0612245 +1056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1529051,1.2052967,18.5016152,15.0013034,81.8981056,15.4432435,34.6910172,65.1929638,34.4665332,39.4156334,17.9584266,5.3792545,14.4460111,10.0947665,40.2519999,9.8972965,1.0949076,1.1473059,19.3735499,15.6497091,82.0328436,15.2266714,35.4234918,65.7894358,34.8557563,40.2763328,17.4415984,5.1101048,14.4357698,10.4950413,38.9767709,10.3862004,1.0236491,1.0757542,19.1438413,15.7544768,81.726993,14.9411345,35.0603294,66.3185859,34.836033,39.9516291,17.1472967,4.8630259,14.5805164,10.400431,38.3868621,12.1789486,0.9144797,0.9408907,19.2833782,15.9732542,82.6937876,14.4562367,35.1127681,66.0473532,34.3712019,39.2986512,16.7693622,4.5008386,15.0381747,10.7977569,39.7764025,11.3418348,1.042731,1.0693823,18.669495,15.269162,82.3329164,14.775733,34.6165871,66.2715578,33.9776876,38.1051329,16.8287803,4.563443,13.8104228,10.8744503,38.9181702,14.7388453 +1057,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6303855,0.6393255,8.4470868,5.5616412,41.7374275,10.7487067,28.5507439,68.3344349,36.1280399,49.3374157,20.3336346,2.9931342,10.4173609,9.3121334,28.8251603,5.2158311,0.6916025,0.6731515,8.3458184,5.467207,40.6638183,10.9012559,28.4648556,67.756916,35.784038,49.4280015,20.7794314,3.0979964,10.346241,9.8102095,29.139288,3.8983064,0.7027886,0.6834426,8.5570092,5.3596581,39.3958165,10.5702908,28.6434243,67.8263029,35.890333,49.288057,21.2324417,3.3752823,10.2278359,10.0906716,29.3372354,2.6813889,0.657742,0.6392787,8.1267598,4.9658121,38.3731655,10.8167348,28.5279939,67.5610478,36.0949379,48.3784707,21.3148522,3.2920342,10.1439543,10.174978,29.4270455,2.5679766,0.6304307,0.6126704,7.9163703,4.8809833,37.1816363,10.8756544,29.0680925,67.636026,35.7550736,48.958071,21.6423483,3.1729235,10.1920418,9.8418141,29.8750679,2.5679766 +1058,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6916025,0.6731515,8.3458184,5.467207,40.6638183,10.9012559,28.4648556,67.756916,35.784038,49.4280015,20.7794314,3.0979964,10.346241,9.8102095,29.139288,3.8983064,0.7027886,0.6834426,8.5570092,5.3596581,39.3958165,10.5702908,28.6434243,67.8263029,35.890333,49.288057,21.2324417,3.3752823,10.2278359,10.0906716,29.3372354,2.6813889,0.657742,0.6392787,8.1267598,4.9658121,38.3731655,10.8167348,28.5279939,67.5610478,36.0949379,48.3784707,21.3148522,3.2920342,10.1439543,10.174978,29.4270455,2.5679766,0.6304307,0.6126704,7.9163703,4.8809833,37.1816363,10.8756544,29.0680925,67.636026,35.7550736,48.958071,21.6423483,3.1729235,10.1920418,9.8418141,29.8750679,2.5679766,0.6670558,0.6374031,7.9309127,4.8729957,36.2756589,10.8652654,28.8815096,67.9045854,36.1269368,48.4019815,21.6905691,3.2594612,9.7977966,9.538306,29.4837032,3.097347 +1059,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4935948,0.4366836,7.3601802,4.4583174,56.2130712,10.8980908,30.5852937,67.3083494,31.9147014,42.2738255,17.2738216,14.511396,9.9205012,8.9722418,36.1435809,2.2022831,0.4601971,0.3947368,7.2064524,4.4425882,54.3832386,11.1320085,30.2653097,67.9720099,31.8099145,43.0583323,17.6176586,14.074144,9.4845719,8.7648737,35.2120164,2.9464275,0.4755447,0.4070097,7.3589246,4.6053893,53.0052062,11.5246897,30.0801372,67.840105,32.5796527,43.9896972,18.3266486,14.3579497,9.6088759,8.7848047,34.7190598,3.1791901,0.4967893,0.4693751,7.5591599,4.781929,52.147908,11.2631605,29.8972011,67.7366176,32.5930876,44.0166783,18.6093824,13.9934085,10.1117103,8.9911475,35.658768,2.9352221,0.5572715,0.521945,7.7720668,4.9752667,52.1934084,11.3420338,29.7713441,67.3941812,32.7380845,43.1311365,18.0555464,14.3329557,10.5351171,9.1601672,36.2495354,2.9467675 +1060,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0949076,1.1473059,19.3735499,15.6497091,82.0328436,15.2266714,35.4234918,65.7894358,34.8557563,40.2763328,17.4415984,5.1101048,14.4357698,10.4950413,38.9767709,10.3862004,1.0236491,1.0757542,19.1438413,15.7544768,81.726993,14.9411345,35.0603294,66.3185859,34.836033,39.9516291,17.1472967,4.8630259,14.5805164,10.400431,38.3868621,12.1789486,0.9144797,0.9408907,19.2833782,15.9732542,82.6937876,14.4562367,35.1127681,66.0473532,34.3712019,39.2986512,16.7693622,4.5008386,15.0381747,10.7977569,39.7764025,11.3418348,1.042731,1.0693823,18.669495,15.269162,82.3329164,14.775733,34.6165871,66.2715578,33.9776876,38.1051329,16.8287803,4.563443,13.8104228,10.8744503,38.9181702,14.7388453,1.0924826,1.0924826,19.0243316,15.7103091,83.1309841,15.3408058,33.741608,66.3315991,33.8574602,37.4370421,17.000696,4.2431396,13.4619623,11.5350833,38.8757372,14.0260761 +1061,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1169889,1.1076621,20.7191505,16.7289713,37.6114187,18.5435118,39.0081261,67.8513154,37.5599296,47.6481144,24.9915541,4.2527966,12.9228817,9.6706689,31.2655156,14.1077059,1.1582683,1.1696118,21.0855056,16.9559187,37.9300913,18.4771387,38.4375099,67.2285387,37.5680086,47.9366195,24.4750848,4.1483949,13.3012286,9.4216367,30.9968176,15.117553,1.2822238,1.287401,21.233538,17.0185782,38.4696077,18.1826817,37.3739966,67.273998,37.5085693,48.11269,24.9010292,4.0635905,13.3021934,9.4500081,30.5403079,16.5461458,1.3900203,1.3952041,21.2129761,17.2980295,38.9536689,18.0785641,37.3483187,66.7056093,37.6157038,47.7397922,24.8503606,3.9041253,13.1258729,9.8063449,29.983054,18.689863,1.4263893,1.4468637,21.2801959,17.3146883,39.608377,17.7479108,37.1191974,65.7328288,36.5512922,47.2286943,23.8893945,3.6638072,12.5100709,10.4328969,29.9771534,18.0132312 +1062,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1758223,2.2204105,34.2926461,28.0052783,51.7422761,17.0808603,38.4122011,60.2583885,28.6944972,42.918159,20.5241172,3.2335941,13.2588899,10.1100782,44.9867726,27.6561874,2.1783329,2.2097491,33.6077819,27.9593619,53.7652369,16.276817,37.9094832,60.6275453,28.6635169,43.0990604,20.785812,2.7258124,12.2370287,9.8269195,44.7733509,26.2138568,2.4424196,2.4732576,33.9779911,28.6317458,55.3578078,17.1653187,37.5179787,61.2271301,28.7562261,42.2672254,20.6935404,2.6251922,12.3835666,9.7327011,43.5601779,25.5500368,2.4973865,2.527521,34.7805119,29.5516269,57.0091011,16.9519367,36.9562377,62.082159,29.6230363,41.3517345,20.7165035,2.6152551,13.0961899,9.9856645,43.1419269,25.5490832,2.5944296,2.6494621,34.8821709,29.7433403,58.87496,16.7791874,36.7879476,62.9349448,29.4228873,41.0967747,20.6465035,2.5408592,14.3455143,10.686502,42.5702091,25.4135926 +1063,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5039983,0.5435431,8.2850689,5.5984849,49.6231078,17.8707301,31.8630732,69.0526883,36.6440529,44.9052309,20.255478,4.7478226,10.7559057,8.1612561,31.2979248,4.3806537,0.4647053,0.5223794,7.8699234,5.081487,48.3966921,18.0376644,30.710465,69.0884651,36.3289719,45.4825771,20.054599,4.4745102,10.4882419,8.1233186,30.0545143,4.1155828,0.5555431,0.6130556,8.0264818,5.3703362,47.119466,18.3958456,30.2688495,69.4920351,36.8802285,45.405032,19.8955943,4.5151222,10.1958882,8.5318593,30.2134278,3.2915498,0.5971617,0.6416654,7.9946083,5.3782499,46.8393682,18.3364195,30.8673906,68.922773,36.8529457,45.0071336,20.2588088,4.6711231,9.5361744,8.4449352,30.9621361,2.6148284,0.6019277,0.6364682,7.6725898,5.2571428,46.1177976,18.5478496,30.2516462,68.5996431,37.0579636,45.2107283,20.6116517,4.5915817,9.3374409,8.6436358,30.940974,3.0039062 +1064,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7027886,0.6834426,8.5570092,5.3596581,39.3958165,10.5702908,28.6434243,67.8263029,35.890333,49.288057,21.2324417,3.3752823,10.2278359,10.0906716,29.3372354,2.6813889,0.657742,0.6392787,8.1267598,4.9658121,38.3731655,10.8167348,28.5279939,67.5610478,36.0949379,48.3784707,21.3148522,3.2920342,10.1439543,10.174978,29.4270455,2.5679766,0.6304307,0.6126704,7.9163703,4.8809833,37.1816363,10.8756544,29.0680925,67.636026,35.7550736,48.958071,21.6423483,3.1729235,10.1920418,9.8418141,29.8750679,2.5679766,0.6670558,0.6374031,7.9309127,4.8729957,36.2756589,10.8652654,28.8815096,67.9045854,36.1269368,48.4019815,21.6905691,3.2594612,9.7977966,9.538306,29.4837032,3.097347,0.6177634,0.5837157,7.8442804,4.9447444,35.3697611,10.7157513,29.2399414,67.7231649,36.4554852,48.0249537,21.0760672,3.2039819,9.9859475,9.8431038,30.4678953,2.7298851 +1065,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.31773,1.3305995,16.9418064,12.9797701,28.2023223,12.9614316,36.4114216,66.7858744,40.5763452,48.3171892,23.075317,3.0500641,12.9587348,11.7265047,39.3296885,15.4546196,1.3765926,1.3987501,18.4499451,13.8527162,27.6762713,13.6234923,35.7494829,66.8788598,40.8418848,48.8911512,23.2649074,3.0595504,13.0613825,12.6217127,39.2991267,17.201318,1.4630794,1.4857888,19.1237251,14.6386797,28.6802932,13.3873063,34.7542921,66.6316771,39.5002054,47.8160292,22.1125763,2.8769449,12.9290623,11.6590204,39.2691868,17.8984012,1.3114747,1.3911273,19.7480432,15.4781917,28.7036748,13.5071184,34.1510995,66.7173427,39.1880312,47.0039023,21.9496436,2.5835897,13.1457201,11.012368,38.8111619,18.700134,1.285187,1.3598333,20.8132518,16.4062069,29.4229819,13.6878352,35.1171159,65.7310395,38.4693252,47.5969295,22.5969346,2.8069502,13.4820074,10.6617632,38.6500876,18.4783886 +1066,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0236491,1.0757542,19.1438413,15.7544768,81.726993,14.9411345,35.0603294,66.3185859,34.836033,39.9516291,17.1472967,4.8630259,14.5805164,10.400431,38.3868621,12.1789486,0.9144797,0.9408907,19.2833782,15.9732542,82.6937876,14.4562367,35.1127681,66.0473532,34.3712019,39.2986512,16.7693622,4.5008386,15.0381747,10.7977569,39.7764025,11.3418348,1.042731,1.0693823,18.669495,15.269162,82.3329164,14.775733,34.6165871,66.2715578,33.9776876,38.1051329,16.8287803,4.563443,13.8104228,10.8744503,38.9181702,14.7388453,1.0924826,1.0924826,19.0243316,15.7103091,83.1309841,15.3408058,33.741608,66.3315991,33.8574602,37.4370421,17.000696,4.2431396,13.4619623,11.5350833,38.8757372,14.0260761,1.0381004,1.0381004,19.4226751,15.9940907,82.8611203,15.7925721,33.6420971,66.540821,34.9608616,37.0300795,17.6055523,4.5113177,14.3937387,12.8598807,39.042456,13.8401588 +1067,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4122855,0.4122855,8.3233852,4.9688451,64.7482692,13.9985281,27.5841962,61.1864058,34.0883414,38.4898846,16.8471859,3.4399469,12.6567799,11.1227191,35.274899,3.3486179,0.2783721,0.2783721,7.9090408,4.6915041,63.7027955,13.6443149,27.0658866,61.4286099,34.8498119,40.2558089,16.3099721,3.3036637,11.7547971,9.9408136,36.2675436,1.8603433,0.3126106,0.3126106,7.7932854,4.636212,63.8045582,13.1523195,26.7456018,62.5338005,34.8566863,39.9396886,16.3421483,3.1815098,11.3559831,9.7579421,35.7817762,1.8742906,0.2856543,0.2856543,7.9954241,5.0947654,63.9863969,13.1496431,26.6264896,63.1864928,34.0269117,38.9379309,16.3276176,3.1606708,11.127433,9.8758091,35.9738711,1.9785697,0.4051585,0.4051585,7.9526844,5.3147286,62.5447234,12.6173499,26.26116,64.8327472,32.8345376,38.4144682,16.1814393,3.3694896,10.1581638,9.9169069,36.7723753,1.2567666 +1068,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0956635,1.1533885,22.8487966,18.8601544,48.9864734,19.2434441,37.8978032,67.0954949,35.2036083,47.0500356,20.6222488,3.3082669,14.7360543,11.7197248,36.4053117,10.6884097,1.0562786,1.1140663,22.9286886,18.9401398,49.776514,18.4940772,37.9269935,66.5546841,35.7461858,46.8483865,21.3121753,3.1125576,14.8753421,12.1683611,36.5305728,10.7394128,1.2529241,1.3077518,23.3891825,19.5326872,50.208439,18.5109134,37.6589654,65.9963493,34.8957394,45.8198276,21.0923906,3.1059907,14.8098635,12.3550469,37.8134428,12.2837455,1.2284668,1.2871188,23.6223793,19.7547094,50.3345571,18.2303463,38.0065448,65.7482707,34.0058024,45.8809658,20.5836777,2.8764051,15.0618591,12.4166175,38.0986987,13.2978771,1.276951,1.3170708,24.0164274,20.2102836,51.2788392,17.7305585,39.1116052,65.9758111,33.7359493,46.8229233,20.529376,2.8097079,15.6376548,12.4788142,37.0276326,13.1119019 +1069,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6027003,0.6129994,11.1782558,7.7248109,39.9355092,13.0538132,30.9000877,67.3902052,38.9215133,47.4561547,20.7669802,6.2178055,10.4801063,9.9225308,34.0283578,8.6554996,0.6125354,0.6277251,11.1934583,7.5191251,38.2246639,13.2753393,31.5775562,67.4568833,39.3720305,47.8588255,21.121931,6.2308664,9.322245,8.739143,33.294855,8.4375053,0.5588727,0.5747668,11.0253106,7.8071118,36.2306463,12.8488544,31.0222132,67.2385381,39.6735607,48.1204728,21.7252104,6.1238448,9.037775,8.9665499,32.9520225,6.9343116,0.6029121,0.6078237,10.9278624,7.8354654,35.3820757,13.1965852,31.73076,67.7600074,39.9454725,48.0730881,21.4849809,6.2447983,8.3750042,8.7156094,32.5396145,6.7857191,0.5591007,0.5642918,10.9411347,7.8785047,35.5159816,13.6352457,32.2492452,68.0183967,39.736039,48.4754158,21.2674314,6.3425448,8.1283079,9.1029264,32.4954475,7.0895575 +1070,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1783329,2.2097491,33.6077819,27.9593619,53.7652369,16.276817,37.9094832,60.6275453,28.6635169,43.0990604,20.785812,2.7258124,12.2370287,9.8269195,44.7733509,26.2138568,2.4424196,2.4732576,33.9779911,28.6317458,55.3578078,17.1653187,37.5179787,61.2271301,28.7562261,42.2672254,20.6935404,2.6251922,12.3835666,9.7327011,43.5601779,25.5500368,2.4973865,2.527521,34.7805119,29.5516269,57.0091011,16.9519367,36.9562377,62.082159,29.6230363,41.3517345,20.7165035,2.6152551,13.0961899,9.9856645,43.1419269,25.5490832,2.5944296,2.6494621,34.8821709,29.7433403,58.87496,16.7791874,36.7879476,62.9349448,29.4228873,41.0967747,20.6465035,2.5408592,14.3455143,10.686502,42.5702091,25.4135926,2.5447682,2.5703039,34.6965364,29.5674564,60.3912634,16.2174845,37.2916734,63.5815159,29.6456495,40.3348643,20.3181085,2.4571335,15.3611338,10.7638894,40.9139115,25.7621351 +1071,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4208975,0.4543315,9.9044425,6.7805924,47.5928915,15.6238335,33.2393812,70.3682836,40.4922907,46.0541147,22.6042785,3.025181,7.4875985,7.5908811,31.0035803,4.7770609,0.4837941,0.5179786,10.1768189,6.8660608,47.4639205,15.179935,33.7514484,69.6835208,39.5793032,45.5229742,22.6360433,2.9525302,7.6671685,7.3411279,31.3416385,4.166656,0.3786541,0.4074621,9.5559833,6.428568,47.0860266,15.4405928,33.7773423,70.278329,39.5029729,45.8250603,23.0417428,3.1610358,7.8571664,6.8301906,31.525042,3.571417,0.4235734,0.4598053,9.6107574,6.4406066,45.6276192,17.6434366,33.877635,70.463003,40.615936,46.2381152,23.2534002,3.6171991,8.2815125,6.9921842,31.4117891,3.741489,0.5427327,0.5492892,10.2407085,6.9467828,45.7512132,18.2968667,33.1820148,69.498485,40.6614566,45.3739697,23.1085107,3.8694354,8.3889941,7.2506334,31.6077702,3.6912702 +1072,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4647053,0.5223794,7.8699234,5.081487,48.3966921,18.0376644,30.710465,69.0884651,36.3289719,45.4825771,20.054599,4.4745102,10.4882419,8.1233186,30.0545143,4.1155828,0.5555431,0.6130556,8.0264818,5.3703362,47.119466,18.3958456,30.2688495,69.4920351,36.8802285,45.405032,19.8955943,4.5151222,10.1958882,8.5318593,30.2134278,3.2915498,0.5971617,0.6416654,7.9946083,5.3782499,46.8393682,18.3364195,30.8673906,68.922773,36.8529457,45.0071336,20.2588088,4.6711231,9.5361744,8.4449352,30.9621361,2.6148284,0.6019277,0.6364682,7.6725898,5.2571428,46.1177976,18.5478496,30.2516462,68.5996431,37.0579636,45.2107283,20.6116517,4.5915817,9.3374409,8.6436358,30.940974,3.0039062,0.5486675,0.5688132,7.8713827,5.1737385,44.6092175,18.4416141,30.1439644,67.9515598,36.2674474,45.2250954,20.4938588,4.7158485,9.8266699,8.6929439,30.85306,2.8535511 +1073,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7178262,0.7482361,11.9495291,7.8972251,41.5008173,19.7708716,37.7276232,69.0018931,39.905854,50.5689367,24.2685419,3.7873738,10.8016855,11.2507621,33.2619314,7.6703412,0.8272616,0.8848723,12.6000794,8.2276102,40.5697638,19.6663739,37.4151434,68.9027935,40.5062571,50.9341153,24.3376441,3.9911582,10.4206201,11.0223523,33.0888411,7.1838048,0.8105098,0.8873004,12.7930845,8.4528989,39.4677738,19.5598895,37.9537947,68.9856945,40.6229175,50.3380878,23.7900343,3.7900265,10.3597323,10.5736943,32.2980709,7.5756428,0.8262651,0.8949188,12.4263357,7.787181,37.7569208,20.4780824,38.6872942,69.4276877,41.9035428,51.3274908,24.0276163,3.9079979,9.4197618,10.4226349,31.4295942,6.3253164,0.7589344,0.7891795,11.8686577,7.4009215,37.068855,21.3922895,38.5206162,70.0787506,42.5443848,50.9860635,23.3332601,3.8855953,9.0170166,9.860778,30.3959458,5.5555701 +1074,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6010686,0.6036818,7.4249307,5.0769591,82.3723391,7.6014857,26.4306139,62.997134,29.0795499,38.4449561,14.6744636,5.6196906,9.8996944,8.4846555,37.1742634,4.7092547,0.5889113,0.5929654,7.3705897,4.9695785,81.7660276,7.3625968,26.4814698,63.4623431,29.4792651,38.4334688,14.8224449,5.5979903,10.0241147,8.5440646,37.4359696,4.824936,0.6189239,0.6146422,7.5661887,5.0534323,80.7782514,7.4366916,26.0470926,63.6081359,29.7789013,38.6986889,15.0488736,5.3649377,10.1481825,8.676956,37.1000834,4.1998232,0.5668017,0.5771639,7.4102689,4.9251925,79.6110657,7.3852059,25.9443042,63.6667623,30.3898615,38.950644,15.2251699,5.2303799,10.1070154,8.7853072,36.5323549,4.5536519,0.5732231,0.5913575,7.3772663,4.9024233,77.8652319,7.5450627,26.2860841,64.2092754,30.9747819,38.8905238,15.498016,5.3598952,9.7099279,8.3891002,35.9427848,4.3457498 +1075,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7067022,0.7620992,13.4205613,7.7501236,54.0201437,22.3483322,34.0825376,69.1289082,35.2787963,48.8430268,22.2932003,3.5706526,13.9616957,12.2612883,38.2437072,3.0952818,0.6317498,0.6966427,12.5951005,7.6678479,52.8969076,21.7077245,33.8896137,68.8224049,34.7118412,48.1543081,21.37082,3.9387853,13.8739215,12.3025666,39.0107599,4.0540497,0.5547038,0.6210168,11.433498,7.074889,51.8962527,21.6827284,34.2638702,68.3754822,35.1471204,47.9627654,21.1739075,3.9357405,14.6987644,12.4151562,39.2470197,3.2163724,0.6418216,0.6351552,11.6015648,7.2966305,51.4275094,20.5686071,33.9597229,67.3413274,35.3757369,47.5895055,21.4256977,3.8347696,15.4581814,13.1837672,40.6991343,4.6583764,0.6464101,0.6396327,11.0897952,7.1352476,50.5421956,19.8562118,34.5882433,67.3938237,35.888138,47.0948998,21.7710803,3.7032824,14.7187767,12.6601854,40.2991383,4.7770579 +1076,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1582683,1.1696118,21.0855056,16.9559187,37.9300913,18.4771387,38.4375099,67.2285387,37.5680086,47.9366195,24.4750848,4.1483949,13.3012286,9.4216367,30.9968176,15.117553,1.2822238,1.287401,21.233538,17.0185782,38.4696077,18.1826817,37.3739966,67.273998,37.5085693,48.11269,24.9010292,4.0635905,13.3021934,9.4500081,30.5403079,16.5461458,1.3900203,1.3952041,21.2129761,17.2980295,38.9536689,18.0785641,37.3483187,66.7056093,37.6157038,47.7397922,24.8503606,3.9041253,13.1258729,9.8063449,29.983054,18.689863,1.4263893,1.4468637,21.2801959,17.3146883,39.608377,17.7479108,37.1191974,65.7328288,36.5512922,47.2286943,23.8893945,3.6638072,12.5100709,10.4328969,29.9771534,18.0132312,1.3348966,1.3551402,21.1677686,17.2729849,40.7397003,17.262316,37.6539806,65.5924578,35.6482132,47.2137821,23.3394435,3.3571144,13.0213491,10.3644904,29.9981101,17.617422 +1077,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5079017,1.4951269,30.9598766,26.0550773,45.8806579,15.7689085,34.7456908,62.0125505,30.6553516,43.8285757,18.5523355,2.9423448,16.441658,13.1862008,41.6269248,19.4954128,1.6325379,1.6201218,30.1845455,25.6090832,46.8016478,15.238659,34.5714269,61.982762,29.6063585,43.0616537,18.0896224,2.7062228,16.6302888,13.226373,43.4822622,20.9956619,1.5840848,1.5648811,30.3805086,25.5676639,46.9787178,14.5671919,33.6031652,61.5415355,29.4469425,43.3681653,17.4838811,2.3716719,16.5316862,13.1916095,43.0349309,20.299154,1.5331563,1.5133067,30.6825644,26.3827698,48.3045789,14.4538358,32.8989292,61.1881896,28.6153816,42.2782794,17.0656239,2.227869,16.303925,13.1332051,44.518177,19.0789557,1.5412975,1.5348161,31.7690629,27.252684,49.3311726,14.0545942,33.6188503,60.1706639,27.9849704,42.753824,16.8768851,2.2234695,16.641461,13.2503166,44.2855522,17.7824268 +1078,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4601971,0.3947368,7.2064524,4.4425882,54.3832386,11.1320085,30.2653097,67.9720099,31.8099145,43.0583323,17.6176586,14.074144,9.4845719,8.7648737,35.2120164,2.9464275,0.4755447,0.4070097,7.3589246,4.6053893,53.0052062,11.5246897,30.0801372,67.840105,32.5796527,43.9896972,18.3266486,14.3579497,9.6088759,8.7848047,34.7190598,3.1791901,0.4967893,0.4693751,7.5591599,4.781929,52.147908,11.2631605,29.8972011,67.7366176,32.5930876,44.0166783,18.6093824,13.9934085,10.1117103,8.9911475,35.658768,2.9352221,0.5572715,0.521945,7.7720668,4.9752667,52.1934084,11.3420338,29.7713441,67.3941812,32.7380845,43.1311365,18.0555464,14.3329557,10.5351171,9.1601672,36.2495354,2.9467675,0.5971135,0.5715907,7.7027491,5.0054304,51.7118929,11.6583564,30.2901878,66.4653948,32.8857174,42.5829082,17.961422,14.8251606,10.467189,8.9693289,36.4403709,3.1645564 +1079,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1497763,1.2075502,27.3811641,22.9247366,41.3888915,19.84739,38.2686999,67.877734,35.2273867,47.2084855,21.8794923,4.6862485,14.2762904,13.4276405,32.3235901,14.4020347,1.2072856,1.2649548,27.5937243,23.1324923,40.4108048,19.1509282,38.2438191,67.3668076,34.7814157,46.839272,22.228274,4.2353219,14.3771225,14.1477539,33.1710973,15.2775625,1.0267775,1.0835013,27.1135141,22.8499218,41.0220979,19.2331077,37.3249704,68.1513618,34.1508834,46.2375178,22.0636141,3.3877731,14.6475864,13.8271089,32.8561842,14.4123848,1.1647566,1.1694574,27.2235695,22.6517896,41.975643,19.2258024,37.500917,68.1488378,33.8445754,45.4218288,21.7189024,3.1988298,13.9830068,13.6748287,33.4544286,18.8529768,1.3362129,1.3689887,27.9367307,23.5429536,42.3280761,19.0977257,37.3046692,67.9024957,34.207941,46.1688714,21.0333307,3.1873072,12.9843996,12.3314394,33.6529842,19.9452462 +1080,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6233687,0.6876163,9.1150088,5.7875345,47.8804256,17.9761519,32.8760522,69.1196364,39.3977317,48.9129726,24.2160132,4.1162039,10.5170231,10.2898178,32.0815808,4.870133,0.6182022,0.6848014,9.1058641,5.9544859,47.7407726,18.5593891,32.5775699,69.192425,38.9932973,48.7646759,23.8754109,4.111379,10.0373334,10.0446578,31.6366655,6.1290362,0.7406369,0.7956366,9.0067813,5.9259286,46.8830943,18.1570662,32.2055924,68.5624571,38.5697904,48.3358982,23.6102132,3.968512,10.3409976,10.4891395,32.297909,5.3448404,0.786529,0.8385787,9.0078931,5.8918236,47.3714192,17.9563019,31.8921514,67.601244,38.1149005,47.2325583,23.1368853,4.0339805,10.7553628,10.2517876,32.5473003,5.6202965,0.7479014,0.7980709,8.9008058,5.6515619,46.8972442,18.5049828,31.8989055,67.0208389,38.5189387,45.9758067,22.804985,4.0592076,10.4429789,10.4430071,32.5639838,5.8001682 +1081,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6161486,0.6626558,10.6468413,6.6833768,61.8559501,9.5101449,33.7218467,66.142322,40.6342864,44.5254478,23.8857069,4.2809806,11.2521486,9.1552636,41.0445479,5.9973022,0.6195236,0.6806266,10.749759,6.7906266,61.0512653,9.4896693,33.2985852,66.3629038,40.8451154,44.7780696,23.9394659,4.4255345,10.545805,8.7811665,40.4795615,6.2243477,0.6042553,0.6642977,10.6872497,6.7761573,60.1453943,9.4556459,33.4017781,66.5582098,41.0030359,45.1141162,24.099623,4.3258726,10.8662833,9.2030551,40.775481,6.2752994,0.6406159,0.6978042,10.4994312,6.7919469,59.8626835,9.4276799,33.5357509,66.7752739,41.1004716,44.8330485,24.1344559,4.2991946,10.4587405,9.161138,40.9572485,6.2091438,0.6194577,0.6658069,10.6545391,6.9029972,59.2053277,9.5851203,33.6089444,66.9521235,41.3133373,44.7701625,23.8902032,4.2530882,10.0475682,8.8751472,40.4389891,6.2499942 +1082,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5889113,0.5929654,7.3705897,4.9695785,81.7660276,7.3625968,26.4814698,63.4623431,29.4792651,38.4334688,14.8224449,5.5979903,10.0241147,8.5440646,37.4359696,4.824936,0.6189239,0.6146422,7.5661887,5.0534323,80.7782514,7.4366916,26.0470926,63.6081359,29.7789013,38.6986889,15.0488736,5.3649377,10.1481825,8.676956,37.1000834,4.1998232,0.5668017,0.5771639,7.4102689,4.9251925,79.6110657,7.3852059,25.9443042,63.6667623,30.3898615,38.950644,15.2251699,5.2303799,10.1070154,8.7853072,36.5323549,4.5536519,0.5732231,0.5913575,7.3772663,4.9024233,77.8652319,7.5450627,26.2860841,64.2092754,30.9747819,38.8905238,15.498016,5.3598952,9.7099279,8.3891002,35.9427848,4.3457498,0.5829311,0.59707,7.4959171,4.9928083,75.4914846,7.8399332,26.1163848,64.7656926,31.5410218,39.7878124,15.8122852,5.6131441,10.0015416,8.5374936,35.6561466,4.6996124 +1083,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6182022,0.6848014,9.1058641,5.9544859,47.7407726,18.5593891,32.5775699,69.192425,38.9932973,48.7646759,23.8754109,4.111379,10.0373334,10.0446578,31.6366655,6.1290362,0.7406369,0.7956366,9.0067813,5.9259286,46.8830943,18.1570662,32.2055924,68.5624571,38.5697904,48.3358982,23.6102132,3.968512,10.3409976,10.4891395,32.297909,5.3448404,0.786529,0.8385787,9.0078931,5.8918236,47.3714192,17.9563019,31.8921514,67.601244,38.1149005,47.2325583,23.1368853,4.0339805,10.7553628,10.2517876,32.5473003,5.6202965,0.7479014,0.7980709,8.9008058,5.6515619,46.8972442,18.5049828,31.8989055,67.0208389,38.5189387,45.9758067,22.804985,4.0592076,10.4429789,10.4430071,32.5639838,5.8001682,0.6697374,0.7065528,9.0169634,5.5629303,46.2736137,18.9676757,31.567392,67.5579937,38.3616634,43.9456862,22.2839918,4.0531418,9.7115518,9.9792768,32.7454546,5.957666 +1084,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.798581,0.7760308,11.84212,7.6585814,44.7974839,14.9694358,31.7932916,68.9596313,37.2689749,46.3723599,24.05886,4.4147725,11.2990454,11.1637273,41.7006758,5.813967,0.9469519,0.9449689,11.7320323,7.8104616,44.7686103,14.3741703,31.8061871,67.5346234,36.8160701,45.1878857,23.829909,4.3177206,12.018587,11.7529959,41.0000007,4.9242499,1.0152725,1.0822941,12.3781652,8.2845966,43.3110292,15.0227154,32.2909939,67.6431997,37.2942667,46.7742028,24.5885434,4.3778679,12.0800936,12.4677164,40.3246728,3.9855072,1.0758781,1.1677934,12.5923561,8.7130446,42.8342948,14.9938522,31.7724907,66.4047873,36.3607697,46.1030851,24.7328786,4.6825845,12.4211901,12.0581106,39.6333779,5.7432471,1.0365982,1.1165691,11.9416236,7.8915926,41.5893707,15.0476794,30.8277799,67.0420066,36.3663935,47.0176499,25.2282533,4.2909262,12.7935647,12.1906233,40.1863255,3.7671259 +1085,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7406369,0.7956366,9.0067813,5.9259286,46.8830943,18.1570662,32.2055924,68.5624571,38.5697904,48.3358982,23.6102132,3.968512,10.3409976,10.4891395,32.297909,5.3448404,0.786529,0.8385787,9.0078931,5.8918236,47.3714192,17.9563019,31.8921514,67.601244,38.1149005,47.2325583,23.1368853,4.0339805,10.7553628,10.2517876,32.5473003,5.6202965,0.7479014,0.7980709,8.9008058,5.6515619,46.8972442,18.5049828,31.8989055,67.0208389,38.5189387,45.9758067,22.804985,4.0592076,10.4429789,10.4430071,32.5639838,5.8001682,0.6697374,0.7065528,9.0169634,5.5629303,46.2736137,18.9676757,31.567392,67.5579937,38.3616634,43.9456862,22.2839918,4.0531418,9.7115518,9.9792768,32.7454546,5.957666,0.6702865,0.7054957,9.2043294,5.5099388,46.0949933,19.0512095,31.6355548,67.6896179,38.6404918,44.1036449,22.15625,4.1291574,10.0591946,9.9932638,32.5448018,6.5525688 +1086,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3457614,0.3694778,6.7350211,4.3224788,55.870689,18.0636451,28.9111575,67.9441751,35.0432398,42.5904053,18.7696511,7.8812891,9.8108699,8.2478242,36.3888846,3.024196,0.3451831,0.3822889,6.2238034,3.9606048,53.9017437,19.0563002,28.6972441,67.3699238,34.2687331,42.3801614,19.1929477,7.7222475,10.1503768,7.9079505,36.9107691,3.1779688,0.3877573,0.4618314,6.1016258,3.8942117,53.1044457,19.9072214,29.0012228,67.6422352,34.2406756,42.7138664,19.7503037,7.9615247,9.8130858,7.4341559,36.492279,3.086421,0.4832712,0.5315279,6.5270418,4.0870247,52.5569325,20.2310992,29.5950709,67.1496561,34.0809715,42.854301,19.9086923,7.2449408,10.2868869,6.6091965,36.2168851,2.6639366,0.4844245,0.5463029,6.6705541,4.0256682,52.2379462,20.6851338,29.4061582,67.0536697,33.7837725,42.1583537,20.1560686,7.4038844,10.5364001,6.9455114,36.9379825,2.3897076 +1087,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6189239,0.6146422,7.5661887,5.0534323,80.7782514,7.4366916,26.0470926,63.6081359,29.7789013,38.6986889,15.0488736,5.3649377,10.1481825,8.676956,37.1000834,4.1998232,0.5668017,0.5771639,7.4102689,4.9251925,79.6110657,7.3852059,25.9443042,63.6667623,30.3898615,38.950644,15.2251699,5.2303799,10.1070154,8.7853072,36.5323549,4.5536519,0.5732231,0.5913575,7.3772663,4.9024233,77.8652319,7.5450627,26.2860841,64.2092754,30.9747819,38.8905238,15.498016,5.3598952,9.7099279,8.3891002,35.9427848,4.3457498,0.5829311,0.59707,7.4959171,4.9928083,75.4914846,7.8399332,26.1163848,64.7656926,31.5410218,39.7878124,15.8122852,5.6131441,10.0015416,8.5374936,35.6561466,4.6996124,0.5539638,0.5679795,7.4845363,5.0036896,73.4110855,7.8415358,25.8357459,65.2637804,32.0862087,40.1721853,16.2233213,5.8067605,9.9909613,8.5473334,35.4732141,4.1792548 +1088,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4755447,0.4070097,7.3589246,4.6053893,53.0052062,11.5246897,30.0801372,67.840105,32.5796527,43.9896972,18.3266486,14.3579497,9.6088759,8.7848047,34.7190598,3.1791901,0.4967893,0.4693751,7.5591599,4.781929,52.147908,11.2631605,29.8972011,67.7366176,32.5930876,44.0166783,18.6093824,13.9934085,10.1117103,8.9911475,35.658768,2.9352221,0.5572715,0.521945,7.7720668,4.9752667,52.1934084,11.3420338,29.7713441,67.3941812,32.7380845,43.1311365,18.0555464,14.3329557,10.5351171,9.1601672,36.2495354,2.9467675,0.5971135,0.5715907,7.7027491,5.0054304,51.7118929,11.6583564,30.2901878,66.4653948,32.8857174,42.5829082,17.961422,14.8251606,10.467189,8.9693289,36.4403709,3.1645564,0.657075,0.6277064,7.6876495,5.041508,51.0525408,11.7360904,29.5391723,66.3013526,32.8529467,41.9313085,17.9409728,14.9723847,10.5977293,9.0893436,36.9595261,3.6091549 +1089,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5294527,0.5968649,10.3695422,6.4721255,58.8508219,13.8562648,32.3222976,69.9652595,36.1008854,46.8852038,19.9243915,2.9309587,8.8590276,8.1318198,32.8161674,8.9124169,0.4896115,0.55753,10.3276293,6.5221733,57.7314092,13.8046705,31.7882746,69.6505472,35.7553861,46.3412015,19.8663649,2.8057506,8.6417286,8.1395319,32.6777946,9.9112693,0.5181386,0.5860827,10.3591628,6.3007192,56.793069,14.3133955,31.6577187,69.5602666,35.8484636,45.9640691,20.5305293,3.0037112,9.2120994,8.1441616,32.8451037,9.2767552,0.5113578,0.5992106,9.963127,5.9901572,56.0484597,14.5021518,31.7289555,68.8139378,35.5919714,45.7402234,20.4531023,2.8502777,9.5611927,8.5616381,33.5430178,9.1362428,0.5071652,0.576543,9.733676,5.831941,55.3293454,14.4391032,32.8441539,69.1828429,36.2436659,46.2732091,20.6819995,3.0299791,9.3271504,8.2492821,33.0828598,9.0460586 +1090,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5524039,0.4990177,9.7022899,6.8687457,79.0648554,11.0766389,30.2802401,69.3882036,28.9900411,44.5448093,14.2461801,4.2203838,11.8915376,12.6890308,31.0995819,12.1090723,0.4237571,0.3875107,9.3202164,6.5295453,78.9403461,10.6465396,30.0441147,68.522655,29.4928841,45.2591088,14.0940546,4.0242246,12.1490504,12.2595268,31.0522191,9.6151479,0.3476703,0.3541977,9.4512332,6.5818136,78.4506894,10.2344099,29.7900155,68.8098619,29.4215841,44.9336987,14.4988426,3.4819206,12.2580985,11.7747529,31.6792709,6.5889838,0.3726542,0.3693778,9.3523926,6.747487,78.2207275,10.3328856,29.4258868,68.7706375,28.7633803,44.1112062,14.5932735,3.3308615,12.1159446,11.7747243,32.4075191,4.044076,0.4050861,0.4166726,9.8273328,6.81486,78.1495863,10.4552151,29.5269096,69.2436452,29.3033229,44.0202131,14.6237089,3.632617,12.3792688,11.896589,32.9981307,3.0821622 +1091,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3451831,0.3822889,6.2238034,3.9606048,53.9017437,19.0563002,28.6972441,67.3699238,34.2687331,42.3801614,19.1929477,7.7222475,10.1503768,7.9079505,36.9107691,3.1779688,0.3877573,0.4618314,6.1016258,3.8942117,53.1044457,19.9072214,29.0012228,67.6422352,34.2406756,42.7138664,19.7503037,7.9615247,9.8130858,7.4341559,36.492279,3.086421,0.4832712,0.5315279,6.5270418,4.0870247,52.5569325,20.2310992,29.5950709,67.1496561,34.0809715,42.854301,19.9086923,7.2449408,10.2868869,6.6091965,36.2168851,2.6639366,0.4844245,0.5463029,6.6705541,4.0256682,52.2379462,20.6851338,29.4061582,67.0536697,33.7837725,42.1583537,20.1560686,7.4038844,10.5364001,6.9455114,36.9379825,2.3897076,0.4690531,0.5336904,7.0198416,4.0621468,51.796295,20.4018785,29.1160133,67.6058861,34.3462176,41.3443783,19.8710895,7.8637227,11.0822865,7.2436871,36.5643747,1.5901071 +1092,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8272616,0.8848723,12.6000794,8.2276102,40.5697638,19.6663739,37.4151434,68.9027935,40.5062571,50.9341153,24.3376441,3.9911582,10.4206201,11.0223523,33.0888411,7.1838048,0.8105098,0.8873004,12.7930845,8.4528989,39.4677738,19.5598895,37.9537947,68.9856945,40.6229175,50.3380878,23.7900343,3.7900265,10.3597323,10.5736943,32.2980709,7.5756428,0.8262651,0.8949188,12.4263357,7.787181,37.7569208,20.4780824,38.6872942,69.4276877,41.9035428,51.3274908,24.0276163,3.9079979,9.4197618,10.4226349,31.4295942,6.3253164,0.7589344,0.7891795,11.8686577,7.4009215,37.068855,21.3922895,38.5206162,70.0787506,42.5443848,50.9860635,23.3332601,3.8855953,9.0170166,9.860778,30.3959458,5.5555701,0.8398832,0.8762087,11.0635484,7.0293341,35.5800594,21.1881134,38.0961421,70.0040489,43.811738,52.1175374,24.0747962,3.8856836,9.0191121,10.0913389,30.29163,4.7101586 +1093,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7041922,0.7073324,7.9746835,5.1392405,57.0292458,19.1729323,31.9078947,68.1933198,33.0718623,45.1163968,18.8512146,5.1366397,10.1735776,8.9458414,33.2521908,2.238806,0.6773137,0.6805897,7.6086957,4.8515376,56.7502668,18.4635417,31.6412415,67.8853235,33.1667543,44.5817991,18.1746449,4.918464,10.2985075,8.8235294,33.7525151,2.5139665,0.6871131,0.6734659,6.8936877,3.9036545,55.0696379,19.0928843,30.9484649,67.2971491,32.6480263,45.2576754,18.558114,5.0164474,9.8150051,8.281893,33.4543568,2.7607362,0.7276995,0.7132539,6.5114909,3.8597525,53.5,19.5002872,30.887471,66.7923434,32.4535963,45.562645,18.6484919,5.24942,9.5733042,7.8485181,32.7986726,3.0612245,0.7121383,0.6971064,6.4189189,4.0233415,51.7083588,19.8626045,30.9753161,66.9175196,33.2028898,46.0264901,18.9945816,5.0872968,8.2946636,7.2759022,31.6686251,1.8939394 +1094,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2072707,1.3597221,27.7231909,22.8288365,50.9699265,15.1604978,40.292536,64.4878869,35.1128522,46.5220991,23.3100621,3.3770104,12.414288,9.6180848,30.0549964,23.5052589,1.2936075,1.4530684,27.4700896,22.3717226,51.3605675,15.7378752,39.452612,65.804722,35.3508361,46.6446963,22.9638534,3.2513733,12.1637874,9.1502222,30.4075944,23.7270441,1.2993256,1.4167804,27.1519193,22.0121964,51.1943203,15.0778313,39.4920733,64.1321714,34.1439989,46.0175984,23.0267604,3.1230193,12.1163975,9.7079908,31.0606369,21.8500726,1.1162458,1.253681,26.0016573,20.9262967,49.7998024,15.1821206,39.9388083,63.9122006,35.4670483,45.9191368,23.5952844,3.3610987,11.9899966,10.1807597,31.3788113,21.9877266,1.2867626,1.5014909,26.1129655,21.322272,48.5707371,16.1909272,40.8428232,64.1034123,37.4547847,47.771952,24.5302813,3.8868795,10.7733246,9.7035398,31.6020205,22.57099 +1095,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5668017,0.5771639,7.4102689,4.9251925,79.6110657,7.3852059,25.9443042,63.6667623,30.3898615,38.950644,15.2251699,5.2303799,10.1070154,8.7853072,36.5323549,4.5536519,0.5732231,0.5913575,7.3772663,4.9024233,77.8652319,7.5450627,26.2860841,64.2092754,30.9747819,38.8905238,15.498016,5.3598952,9.7099279,8.3891002,35.9427848,4.3457498,0.5829311,0.59707,7.4959171,4.9928083,75.4914846,7.8399332,26.1163848,64.7656926,31.5410218,39.7878124,15.8122852,5.6131441,10.0015416,8.5374936,35.6561466,4.6996124,0.5539638,0.5679795,7.4845363,5.0036896,73.4110855,7.8415358,25.8357459,65.2637804,32.0862087,40.1721853,16.2233213,5.8067605,9.9909613,8.5473334,35.4732141,4.1792548,0.5773599,0.5732945,7.5552437,5.0028716,71.1333796,8.2244997,25.6238703,65.7222378,32.8306379,40.5092171,16.3181446,5.8870051,10.1678363,8.7320004,35.0098284,4.5693277 +1096,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.953448,1.953448,33.1602374,28.4124629,60.719755,6.8382353,34.6439169,64.0207715,26.9287834,40.727003,16.5430267,5.7121662,16.8128655,12.6822157,37.3546512,12.6470588,1.6123407,1.6123407,33.1586826,29.1167665,60.4166667,7.1533923,35.5341246,64.0207715,26.3353116,41.4688427,16.3946588,5.8605341,16.7673716,13.3633634,37.5748503,11.746988,1.7519841,1.7519841,34.0472674,29.9113737,61.7692308,6.3689605,36.3970588,62.2794118,26.6911765,40.8088235,15.8088235,5.6617647,16.9161677,12.9464286,40.2077151,13.4375,1.8271222,1.8271222,34.9563953,30.8866279,62.6315789,5.8357349,36.5942029,62.6811594,26.4492754,40.942029,15,5.1449275,16.4156627,11.8618619,40.2694611,14.5833333,1.9870188,1.9870188,35.3151862,30.730659,62.2938531,5.387931,35.6213873,63.2225434,26.2283237,41.2572254,15.2456647,4.6965318,16.3663664,12.1257485,41.641791,14.5833333 +1097,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6123407,1.6123407,33.1586826,29.1167665,60.4166667,7.1533923,35.5341246,64.0207715,26.3353116,41.4688427,16.3946588,5.8605341,16.7673716,13.3633634,37.5748503,11.746988,1.7519841,1.7519841,34.0472674,29.9113737,61.7692308,6.3689605,36.3970588,62.2794118,26.6911765,40.8088235,15.8088235,5.6617647,16.9161677,12.9464286,40.2077151,13.4375,1.8271222,1.8271222,34.9563953,30.8866279,62.6315789,5.8357349,36.5942029,62.6811594,26.4492754,40.942029,15,5.1449275,16.4156627,11.8618619,40.2694611,14.5833333,1.9870188,1.9870188,35.3151862,30.730659,62.2938531,5.387931,35.6213873,63.2225434,26.2283237,41.2572254,15.2456647,4.6965318,16.3663664,12.1257485,41.641791,14.5833333,1.926055,1.926055,34.5545977,29.9568966,63.9183056,5.8357349,33.6482558,64.3168605,26.9622093,41.6424419,15.4796512,5.7412791,15.1651652,11.2275449,39.8507463,14.0718563 +1098,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.467183,0.4546575,7.8648666,5.0947488,56.1823055,16.9517736,32.1498744,66.8333891,35.7740261,46.8596249,21.3922602,6.6333215,8.9837772,7.8632741,31.8588153,3.7553847,0.491626,0.501704,7.7029642,4.9256506,55.0813383,17.3738506,32.6818342,67.4501038,36.5578059,47.0146755,21.878608,6.5561593,9.1429484,7.7936161,32.3630179,3.3769259,0.491267,0.5055273,7.482343,4.711104,53.8679762,17.7779626,32.7326532,67.5549881,36.8104903,47.1488988,21.7005088,6.5566829,9.086576,7.5071761,32.1657176,3.1395552,0.558347,0.5895171,7.8064372,4.8559712,52.239748,18.0854804,32.5410827,67.6709635,36.9234837,47.4200383,21.7794672,6.9181826,9.3540903,8.0515606,32.9473056,3.9473876,0.6488578,0.6812773,8.0273698,4.9406208,51.7584711,18.4272722,32.5229353,67.8990794,36.834865,47.2935792,21.4403661,7.3669715,9.7232025,8.5318921,33.7495732,3.4264161 +1099,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6125354,0.6277251,11.1934583,7.5191251,38.2246639,13.2753393,31.5775562,67.4568833,39.3720305,47.8588255,21.121931,6.2308664,9.322245,8.739143,33.294855,8.4375053,0.5588727,0.5747668,11.0253106,7.8071118,36.2306463,12.8488544,31.0222132,67.2385381,39.6735607,48.1204728,21.7252104,6.1238448,9.037775,8.9665499,32.9520225,6.9343116,0.6029121,0.6078237,10.9278624,7.8354654,35.3820757,13.1965852,31.73076,67.7600074,39.9454725,48.0730881,21.4849809,6.2447983,8.3750042,8.7156094,32.5396145,6.7857191,0.5591007,0.5642918,10.9411347,7.8785047,35.5159816,13.6352457,32.2492452,68.0183967,39.736039,48.4754158,21.2674314,6.3425448,8.1283079,9.1029264,32.4954475,7.0895575,0.5729715,0.5871146,10.3829527,7.2564006,34.7031899,13.3681146,32.6328717,68.8759518,41.3635703,49.3379696,21.6367622,6.253139,8.4646332,8.9271912,31.3059183,5.1181143 +1100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7537887,0.8105316,8.4443585,5.3013289,18.873783,20.1603726,32.2038476,70.6748122,39.0039942,53.4079287,23.1013091,5.2800961,9.2245171,8.2329682,26.479791,5.371377,0.8399733,0.8572976,8.5859141,5.1955384,18.884661,20.0274608,32.6473656,70.5892453,40.5552916,52.6091125,23.2174987,5.4717745,9.8239408,8.4234439,26.633034,5.1176347,0.7727387,0.7899944,8.5256903,5.3109118,19.6654932,19.1897246,32.5609093,70.6336416,40.0590311,52.1931561,22.8044711,5.2251218,9.7058403,8.7896092,25.3231622,5.1582389,0.8787894,0.9333712,9.2039397,5.8100016,20.0699365,18.3449875,32.6697236,69.8903954,39.1624055,51.26355,22.8156513,5.0678172,9.6740067,8.4586647,25.7584524,6.7987164,0.921487,0.9758221,9.1309917,5.8035557,20.383741,17.8815296,32.7408534,68.487877,38.6675965,50.4387022,22.6829569,5.3475705,10.1891447,8.6865917,26.0297686,6.8535509 +1101,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.786529,0.8385787,9.0078931,5.8918236,47.3714192,17.9563019,31.8921514,67.601244,38.1149005,47.2325583,23.1368853,4.0339805,10.7553628,10.2517876,32.5473003,5.6202965,0.7479014,0.7980709,8.9008058,5.6515619,46.8972442,18.5049828,31.8989055,67.0208389,38.5189387,45.9758067,22.804985,4.0592076,10.4429789,10.4430071,32.5639838,5.8001682,0.6697374,0.7065528,9.0169634,5.5629303,46.2736137,18.9676757,31.567392,67.5579937,38.3616634,43.9456862,22.2839918,4.0531418,9.7115518,9.9792768,32.7454546,5.957666,0.6702865,0.7054957,9.2043294,5.5099388,46.0949933,19.0512095,31.6355548,67.6896179,38.6404918,44.1036449,22.15625,4.1291574,10.0591946,9.9932638,32.5448018,6.5525688,0.6479025,0.6535731,8.6425283,4.9924034,46.0184892,19.2013028,32.232739,67.9207856,38.4671854,43.504385,22.4048721,4.0693934,9.8548398,9.0420391,32.9406268,7.2361346 +1102,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6239468,0.6106685,9.9188057,6.8771191,51.0190414,10.059629,28.8906212,70.5673299,40.8275122,42.814985,21.3502744,4.7398205,9.9792795,8.2468303,36.4469715,5.6349206,0.6418322,0.6342002,9.9220544,6.8042408,50.3145943,10.3220532,28.3562094,70.5123312,40.9801683,43.2557811,21.2242553,4.9008378,10.2088428,8.429734,36.5898935,5.4991549,0.6273955,0.6153607,10.0296383,6.8638008,49.0155404,10.3581745,28.2369272,70.6487135,41.9806308,44.6205859,21.0864941,4.9681604,10.6928847,8.8005248,36.2123157,5.4270463,0.6136677,0.5936626,10.1186285,7.0682101,47.897462,10.4069635,28.0024896,70.7230941,42.4366247,45.2486489,21.436488,4.9383577,10.4224142,8.7082566,35.4241959,5.9659091,0.568586,0.5627075,9.7396007,6.9173703,46.9204243,10.9692461,28.2320169,70.5978932,43.2291655,46.1401274,21.8964057,5.1013131,10.0575508,8.4626463,34.9231593,5.9921415 +1103,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8105098,0.8873004,12.7930845,8.4528989,39.4677738,19.5598895,37.9537947,68.9856945,40.6229175,50.3380878,23.7900343,3.7900265,10.3597323,10.5736943,32.2980709,7.5756428,0.8262651,0.8949188,12.4263357,7.787181,37.7569208,20.4780824,38.6872942,69.4276877,41.9035428,51.3274908,24.0276163,3.9079979,9.4197618,10.4226349,31.4295942,6.3253164,0.7589344,0.7891795,11.8686577,7.4009215,37.068855,21.3922895,38.5206162,70.0787506,42.5443848,50.9860635,23.3332601,3.8855953,9.0170166,9.860778,30.3959458,5.5555701,0.8398832,0.8762087,11.0635484,7.0293341,35.5800594,21.1881134,38.0961421,70.0040489,43.811738,52.1175374,24.0747962,3.8856836,9.0191121,10.0913389,30.29163,4.7101586,0.6778696,0.7361998,9.9396184,6.3604977,35.1156042,21.0088802,37.7051786,70.0301681,44.230829,52.8305179,24.6542452,3.8677533,9.5052013,9.9133957,29.8955056,4.0441206 +1104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6195236,0.6806266,10.749759,6.7906266,61.0512653,9.4896693,33.2985852,66.3629038,40.8451154,44.7780696,23.9394659,4.4255345,10.545805,8.7811665,40.4795615,6.2243477,0.6042553,0.6642977,10.6872497,6.7761573,60.1453943,9.4556459,33.4017781,66.5582098,41.0030359,45.1141162,24.099623,4.3258726,10.8662833,9.2030551,40.775481,6.2752994,0.6406159,0.6978042,10.4994312,6.7919469,59.8626835,9.4276799,33.5357509,66.7752739,41.1004716,44.8330485,24.1344559,4.2991946,10.4587405,9.161138,40.9572485,6.2091438,0.6194577,0.6658069,10.6545391,6.9029972,59.2053277,9.5851203,33.6089444,66.9521235,41.3133373,44.7701625,23.8902032,4.2530882,10.0475682,8.8751472,40.4389891,6.2499942,0.7475454,0.8010601,11.0721866,7.0819339,57.9353824,9.7572167,34.0602168,66.9671391,41.2116911,44.9788297,24.0985067,4.306022,10.1670679,9.0433429,40.6142683,6.4666615 +1105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4967893,0.4693751,7.5591599,4.781929,52.147908,11.2631605,29.8972011,67.7366176,32.5930876,44.0166783,18.6093824,13.9934085,10.1117103,8.9911475,35.658768,2.9352221,0.5572715,0.521945,7.7720668,4.9752667,52.1934084,11.3420338,29.7713441,67.3941812,32.7380845,43.1311365,18.0555464,14.3329557,10.5351171,9.1601672,36.2495354,2.9467675,0.5971135,0.5715907,7.7027491,5.0054304,51.7118929,11.6583564,30.2901878,66.4653948,32.8857174,42.5829082,17.961422,14.8251606,10.467189,8.9693289,36.4403709,3.1645564,0.657075,0.6277064,7.6876495,5.041508,51.0525408,11.7360904,29.5391723,66.3013526,32.8529467,41.9313085,17.9409728,14.9723847,10.5977293,9.0893436,36.9595261,3.6091549,0.6036969,0.5600509,8.0029966,5.4047304,49.4524933,11.7389874,29.7245352,66.3689588,33.2136906,42.3121934,17.9883145,15.2003344,10.5166025,8.9765073,36.9337347,3.2627872 +1106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6042553,0.6642977,10.6872497,6.7761573,60.1453943,9.4556459,33.4017781,66.5582098,41.0030359,45.1141162,24.099623,4.3258726,10.8662833,9.2030551,40.775481,6.2752994,0.6406159,0.6978042,10.4994312,6.7919469,59.8626835,9.4276799,33.5357509,66.7752739,41.1004716,44.8330485,24.1344559,4.2991946,10.4587405,9.161138,40.9572485,6.2091438,0.6194577,0.6658069,10.6545391,6.9029972,59.2053277,9.5851203,33.6089444,66.9521235,41.3133373,44.7701625,23.8902032,4.2530882,10.0475682,8.8751472,40.4389891,6.2499942,0.7475454,0.8010601,11.0721866,7.0819339,57.9353824,9.7572167,34.0602168,66.9671391,41.2116911,44.9788297,24.0985067,4.306022,10.1670679,9.0433429,40.6142683,6.4666615,0.7831158,0.8136232,11.0195756,6.9992693,57.4914489,9.9898882,33.8070502,67.1882928,41.1954557,44.7767757,24.2739753,4.3766426,10.0736684,9.4234968,41.2368625,6.4802112 +1107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5555431,0.6130556,8.0264818,5.3703362,47.119466,18.3958456,30.2688495,69.4920351,36.8802285,45.405032,19.8955943,4.5151222,10.1958882,8.5318593,30.2134278,3.2915498,0.5971617,0.6416654,7.9946083,5.3782499,46.8393682,18.3364195,30.8673906,68.922773,36.8529457,45.0071336,20.2588088,4.6711231,9.5361744,8.4449352,30.9621361,2.6148284,0.6019277,0.6364682,7.6725898,5.2571428,46.1177976,18.5478496,30.2516462,68.5996431,37.0579636,45.2107283,20.6116517,4.5915817,9.3374409,8.6436358,30.940974,3.0039062,0.5486675,0.5688132,7.8713827,5.1737385,44.6092175,18.4416141,30.1439644,67.9515598,36.2674474,45.2250954,20.4938588,4.7158485,9.8266699,8.6929439,30.85306,2.8535511,0.5559075,0.5710776,8.0068259,5.2174572,43.5980053,18.3070835,30.6125718,67.9482195,36.0108878,45.3519483,19.9729284,4.9404957,9.8628393,8.9774452,31.7954772,3.2711562 +1108,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7479014,0.7980709,8.9008058,5.6515619,46.8972442,18.5049828,31.8989055,67.0208389,38.5189387,45.9758067,22.804985,4.0592076,10.4429789,10.4430071,32.5639838,5.8001682,0.6697374,0.7065528,9.0169634,5.5629303,46.2736137,18.9676757,31.567392,67.5579937,38.3616634,43.9456862,22.2839918,4.0531418,9.7115518,9.9792768,32.7454546,5.957666,0.6702865,0.7054957,9.2043294,5.5099388,46.0949933,19.0512095,31.6355548,67.6896179,38.6404918,44.1036449,22.15625,4.1291574,10.0591946,9.9932638,32.5448018,6.5525688,0.6479025,0.6535731,8.6425283,4.9924034,46.0184892,19.2013028,32.232739,67.9207856,38.4671854,43.504385,22.4048721,4.0693934,9.8548398,9.0420391,32.9406268,7.2361346,0.7293381,0.728042,8.9615159,5.1480329,45.4562788,19.1780866,31.7171203,68.1627013,38.7719049,43.7557301,22.2606402,4.3380241,9.8894331,8.8431263,32.8489981,7.2607385 +1109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7767864,0.7756935,9.170566,5.38552,30.1417724,17.7000731,34.8851185,69.7820754,41.0447238,51.3030345,24.0345975,4.4657748,12.1247094,10.1152027,31.7022402,6.8396259,0.8071931,0.8136664,9.12088,5.3601959,29.4346884,17.9515643,34.0317547,69.8363833,40.8752289,50.9422564,24.0143925,4.4507862,11.2064743,9.823612,31.4349152,6.127451,0.7286693,0.723634,8.701554,5.0481366,28.5330879,17.8056651,34.1509581,69.6729471,40.9937072,50.7295644,24.2138381,4.4654118,10.421907,9.4892379,30.9379797,6.3451809,0.7211805,0.6939315,8.616592,5.1461858,28.7071269,17.7083293,34.1123866,69.0118566,41.0632048,50.5328247,24.4490226,4.541055,10.1061456,9.5089174,30.5326937,5.841116,0.6792231,0.6482219,8.7273178,5.2991287,28.3012189,17.650368,34.5240979,68.9910993,41.189229,50.1597956,24.4807268,4.4396339,10.353555,10.0321552,30.8599082,7.3008753 +1110,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2822238,1.287401,21.233538,17.0185782,38.4696077,18.1826817,37.3739966,67.273998,37.5085693,48.11269,24.9010292,4.0635905,13.3021934,9.4500081,30.5403079,16.5461458,1.3900203,1.3952041,21.2129761,17.2980295,38.9536689,18.0785641,37.3483187,66.7056093,37.6157038,47.7397922,24.8503606,3.9041253,13.1258729,9.8063449,29.983054,18.689863,1.4263893,1.4468637,21.2801959,17.3146883,39.608377,17.7479108,37.1191974,65.7328288,36.5512922,47.2286943,23.8893945,3.6638072,12.5100709,10.4328969,29.9771534,18.0132312,1.3348966,1.3551402,21.1677686,17.2729849,40.7397003,17.262316,37.6539806,65.5924578,35.6482132,47.2137821,23.3394435,3.3571144,13.0213491,10.3644904,29.9981101,17.617422,1.3350183,1.3476784,20.7274738,16.9069521,40.6272765,16.6407516,37.1807886,64.9945131,35.7258814,47.3490778,23.0931733,3.7359077,12.4358841,9.9626712,29.6424731,18.2593578 +1111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4237571,0.3875107,9.3202164,6.5295453,78.9403461,10.6465396,30.0441147,68.522655,29.4928841,45.2591088,14.0940546,4.0242246,12.1490504,12.2595268,31.0522191,9.6151479,0.3476703,0.3541977,9.4512332,6.5818136,78.4506894,10.2344099,29.7900155,68.8098619,29.4215841,44.9336987,14.4988426,3.4819206,12.2580985,11.7747529,31.6792709,6.5889838,0.3726542,0.3693778,9.3523926,6.747487,78.2207275,10.3328856,29.4258868,68.7706375,28.7633803,44.1112062,14.5932735,3.3308615,12.1159446,11.7747243,32.4075191,4.044076,0.4050861,0.4166726,9.8273328,6.81486,78.1495863,10.4552151,29.5269096,69.2436452,29.3033229,44.0202131,14.6237089,3.632617,12.3792688,11.896589,32.9981307,3.0821622,0.5169653,0.5112083,9.4881437,6.4533904,77.5672908,10.5543185,29.2715347,68.8424319,29.7523042,44.3232643,14.8483657,3.7536721,12.189235,12.1201748,33.8564138,2.3026255 +1112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.2783721,0.2783721,7.9090408,4.6915041,63.7027955,13.6443149,27.0658866,61.4286099,34.8498119,40.2558089,16.3099721,3.3036637,11.7547971,9.9408136,36.2675436,1.8603433,0.3126106,0.3126106,7.7932854,4.636212,63.8045582,13.1523195,26.7456018,62.5338005,34.8566863,39.9396886,16.3421483,3.1815098,11.3559831,9.7579421,35.7817762,1.8742906,0.2856543,0.2856543,7.9954241,5.0947654,63.9863969,13.1496431,26.6264896,63.1864928,34.0269117,38.9379309,16.3276176,3.1606708,11.127433,9.8758091,35.9738711,1.9785697,0.4051585,0.4051585,7.9526844,5.3147286,62.5447234,12.6173499,26.26116,64.8327472,32.8345376,38.4144682,16.1814393,3.3694896,10.1581638,9.9169069,36.7723753,1.2567666,0.3777188,0.3777188,7.602611,5.2445906,61.58704,12.8016488,26.9605488,64.6474015,32.9220685,39.7857409,16.2960044,3.1881278,9.1198134,9.3339439,35.1707724,2.3956004 +1113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5572715,0.521945,7.7720668,4.9752667,52.1934084,11.3420338,29.7713441,67.3941812,32.7380845,43.1311365,18.0555464,14.3329557,10.5351171,9.1601672,36.2495354,2.9467675,0.5971135,0.5715907,7.7027491,5.0054304,51.7118929,11.6583564,30.2901878,66.4653948,32.8857174,42.5829082,17.961422,14.8251606,10.467189,8.9693289,36.4403709,3.1645564,0.657075,0.6277064,7.6876495,5.041508,51.0525408,11.7360904,29.5391723,66.3013526,32.8529467,41.9313085,17.9409728,14.9723847,10.5977293,9.0893436,36.9595261,3.6091549,0.6036969,0.5600509,8.0029966,5.4047304,49.4524933,11.7389874,29.7245352,66.3689588,33.2136906,42.3121934,17.9883145,15.2003344,10.5166025,8.9765073,36.9337347,3.2627872,0.6239311,0.5972492,7.9074491,5.2274882,48.9868586,11.9080778,30.122271,66.0056535,32.8970084,41.7071697,17.6751855,15.6842763,10.2796307,9.1732935,37.2313098,3.0782035 +1114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9469519,0.9449689,11.7320323,7.8104616,44.7686103,14.3741703,31.8061871,67.5346234,36.8160701,45.1878857,23.829909,4.3177206,12.018587,11.7529959,41.0000007,4.9242499,1.0152725,1.0822941,12.3781652,8.2845966,43.3110292,15.0227154,32.2909939,67.6431997,37.2942667,46.7742028,24.5885434,4.3778679,12.0800936,12.4677164,40.3246728,3.9855072,1.0758781,1.1677934,12.5923561,8.7130446,42.8342948,14.9938522,31.7724907,66.4047873,36.3607697,46.1030851,24.7328786,4.6825845,12.4211901,12.0581106,39.6333779,5.7432471,1.0365982,1.1165691,11.9416236,7.8915926,41.5893707,15.0476794,30.8277799,67.0420066,36.3663935,47.0176499,25.2282533,4.2909262,12.7935647,12.1906233,40.1863255,3.7671259,0.8846185,0.9782222,12.6628726,8.4702361,41.380344,14.4362179,31.3845601,67.7428858,36.1547247,47.3822039,24.7527777,3.6940094,12.9739264,12.7672492,38.5577969,4.8701362 +1115,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.748481,0.7343712,8.8365819,5.8739193,50.6605785,14.8536208,27.6125906,67.257026,40.2052055,45.9711145,20.6163512,4.5613869,10.7979651,9.5386987,34.0936981,8.2417784,0.6764405,0.7145174,8.5479124,5.5410934,49.7869085,14.7712991,26.6649503,67.7584081,40.8977077,45.6869303,21.4070628,4.2270095,10.6635655,9.624889,33.5181225,7.051722,0.6559287,0.6957796,8.4522407,5.5572222,48.8123335,15.189667,26.7295847,67.8845368,41.607279,45.8688293,21.5883251,4.8863816,11.3178096,10.3027402,32.5097642,6.0326558,0.6547048,0.6810007,8.5194267,5.4873145,48.9998095,15.1860221,26.9360831,68.4744001,41.1696953,46.0646537,21.5107361,5.001681,11.8306229,9.9497265,32.7406013,8.3389037,0.6574024,0.7021836,8.6378871,5.8952369,48.1606274,14.5519891,26.8582976,68.3426468,41.0126376,46.0253079,21.902176,4.907659,11.2437592,9.9112539,32.7346566,6.7785756 +1116,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5732231,0.5913575,7.3772663,4.9024233,77.8652319,7.5450627,26.2860841,64.2092754,30.9747819,38.8905238,15.498016,5.3598952,9.7099279,8.3891002,35.9427848,4.3457498,0.5829311,0.59707,7.4959171,4.9928083,75.4914846,7.8399332,26.1163848,64.7656926,31.5410218,39.7878124,15.8122852,5.6131441,10.0015416,8.5374936,35.6561466,4.6996124,0.5539638,0.5679795,7.4845363,5.0036896,73.4110855,7.8415358,25.8357459,65.2637804,32.0862087,40.1721853,16.2233213,5.8067605,9.9909613,8.5473334,35.4732141,4.1792548,0.5773599,0.5732945,7.5552437,5.0028716,71.1333796,8.2244997,25.6238703,65.7222378,32.8306379,40.5092171,16.3181446,5.8870051,10.1678363,8.7320004,35.0098284,4.5693277,0.6077662,0.5930191,7.4387969,4.8747325,68.8695372,8.4811346,25.4740936,65.8362674,33.1230894,40.6746981,16.3614194,6.1794713,9.9597018,8.5333327,34.6816327,4.3049793 +1117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9144797,0.9408907,19.2833782,15.9732542,82.6937876,14.4562367,35.1127681,66.0473532,34.3712019,39.2986512,16.7693622,4.5008386,15.0381747,10.7977569,39.7764025,11.3418348,1.042731,1.0693823,18.669495,15.269162,82.3329164,14.775733,34.6165871,66.2715578,33.9776876,38.1051329,16.8287803,4.563443,13.8104228,10.8744503,38.9181702,14.7388453,1.0924826,1.0924826,19.0243316,15.7103091,83.1309841,15.3408058,33.741608,66.3315991,33.8574602,37.4370421,17.000696,4.2431396,13.4619623,11.5350833,38.8757372,14.0260761,1.0381004,1.0381004,19.4226751,15.9940907,82.8611203,15.7925721,33.6420971,66.540821,34.9608616,37.0300795,17.6055523,4.5113177,14.3937387,12.8598807,39.042456,13.8401588,1.2716089,1.2982915,19.050942,15.6541107,82.5618167,15.3418334,33.1424825,66.1120532,35.0020049,37.5632267,17.7137328,4.4527399,14.0945293,13.0077475,40.17773,13.9380994 +1118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9609866,0.9787613,13.527594,9.6076442,38.9434105,16.4159965,37.9192661,68.2898216,39.6123146,50.2698509,24.21229,4.3607911,13.3877867,11.4477867,33.5277871,11.8182281,1.207607,1.2252761,13.9694854,10.0031303,38.0259241,15.7819126,37.9732972,68.5717952,40.2534169,50.4986561,24.1392129,4.2508718,13.1898898,11.7385954,33.6144484,11.7143295,1.1565848,1.1632348,13.7906556,9.7501578,36.7274392,15.8879108,37.0667329,68.9004516,39.8053987,50.320241,24.2824717,4.1737828,13.3966795,11.8720783,33.952347,13.1902292,1.0826915,1.0895584,14.0799924,10.0105001,36.3216696,16.0317758,36.3426424,68.6988603,40.1737669,50.8470215,25.2686579,4.3611202,13.7716704,12.0958852,34.6607051,10.1852343,1.1940549,1.2011812,14.2281639,10.0223183,36.244457,16.3358065,35.3039006,68.7183122,40.6712784,51.0924634,24.7720571,4.3866495,13.867282,12.1551867,34.2706003,10.2941583 +1119,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0562786,1.1140663,22.9286886,18.9401398,49.776514,18.4940772,37.9269935,66.5546841,35.7461858,46.8483865,21.3121753,3.1125576,14.8753421,12.1683611,36.5305728,10.7394128,1.2529241,1.3077518,23.3891825,19.5326872,50.208439,18.5109134,37.6589654,65.9963493,34.8957394,45.8198276,21.0923906,3.1059907,14.8098635,12.3550469,37.8134428,12.2837455,1.2284668,1.2871188,23.6223793,19.7547094,50.3345571,18.2303463,38.0065448,65.7482707,34.0058024,45.8809658,20.5836777,2.8764051,15.0618591,12.4166175,38.0986987,13.2978771,1.276951,1.3170708,24.0164274,20.2102836,51.2788392,17.7305585,39.1116052,65.9758111,33.7359493,46.8229233,20.529376,2.8097079,15.6376548,12.4788142,37.0276326,13.1119019,1.2486357,1.2634711,24.1777269,20.2977189,51.4674326,17.4877226,39.7673997,65.3199453,34.5148498,46.9864079,20.6123497,2.8917075,15.463982,12.3131306,35.9965422,14.403983 +1120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.3126106,0.3126106,7.7932854,4.636212,63.8045582,13.1523195,26.7456018,62.5338005,34.8566863,39.9396886,16.3421483,3.1815098,11.3559831,9.7579421,35.7817762,1.8742906,0.2856543,0.2856543,7.9954241,5.0947654,63.9863969,13.1496431,26.6264896,63.1864928,34.0269117,38.9379309,16.3276176,3.1606708,11.127433,9.8758091,35.9738711,1.9785697,0.4051585,0.4051585,7.9526844,5.3147286,62.5447234,12.6173499,26.26116,64.8327472,32.8345376,38.4144682,16.1814393,3.3694896,10.1581638,9.9169069,36.7723753,1.2567666,0.3777188,0.3777188,7.602611,5.2445906,61.58704,12.8016488,26.9605488,64.6474015,32.9220685,39.7857409,16.2960044,3.1881278,9.1198134,9.3339439,35.1707724,2.3956004,0.3411674,0.3411674,7.3842646,5.274482,60.5012503,12.0431077,26.9369415,66.6687094,33.6589141,41.9949208,15.9935499,3.4930543,9.2401574,9.5986895,34.5451588,1.479867 +1121,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8262651,0.8949188,12.4263357,7.787181,37.7569208,20.4780824,38.6872942,69.4276877,41.9035428,51.3274908,24.0276163,3.9079979,9.4197618,10.4226349,31.4295942,6.3253164,0.7589344,0.7891795,11.8686577,7.4009215,37.068855,21.3922895,38.5206162,70.0787506,42.5443848,50.9860635,23.3332601,3.8855953,9.0170166,9.860778,30.3959458,5.5555701,0.8398832,0.8762087,11.0635484,7.0293341,35.5800594,21.1881134,38.0961421,70.0040489,43.811738,52.1175374,24.0747962,3.8856836,9.0191121,10.0913389,30.29163,4.7101586,0.6778696,0.7361998,9.9396184,6.3604977,35.1156042,21.0088802,37.7051786,70.0301681,44.230829,52.8305179,24.6542452,3.8677533,9.5052013,9.9133957,29.8955056,4.0441206,0.7117075,0.7698065,9.9742694,6.4135741,34.8721038,20.8333055,36.92667,69.7599833,43.6562465,52.7861148,24.2391716,3.8791261,9.8877288,9.5340733,30.4856288,4.1984765 +1122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3476703,0.3541977,9.4512332,6.5818136,78.4506894,10.2344099,29.7900155,68.8098619,29.4215841,44.9336987,14.4988426,3.4819206,12.2580985,11.7747529,31.6792709,6.5889838,0.3726542,0.3693778,9.3523926,6.747487,78.2207275,10.3328856,29.4258868,68.7706375,28.7633803,44.1112062,14.5932735,3.3308615,12.1159446,11.7747243,32.4075191,4.044076,0.4050861,0.4166726,9.8273328,6.81486,78.1495863,10.4552151,29.5269096,69.2436452,29.3033229,44.0202131,14.6237089,3.632617,12.3792688,11.896589,32.9981307,3.0821622,0.5169653,0.5112083,9.4881437,6.4533904,77.5672908,10.5543185,29.2715347,68.8424319,29.7523042,44.3232643,14.8483657,3.7536721,12.189235,12.1201748,33.8564138,2.3026255,0.4509225,0.445089,9.2036686,6.2406857,76.0127398,11.0308352,29.1885174,68.8668742,29.9739007,43.3246435,15.1270989,4.0201659,12.8392724,12.552105,33.9536969,2.9411688 +1123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4837941,0.5179786,10.1768189,6.8660608,47.4639205,15.179935,33.7514484,69.6835208,39.5793032,45.5229742,22.6360433,2.9525302,7.6671685,7.3411279,31.3416385,4.166656,0.3786541,0.4074621,9.5559833,6.428568,47.0860266,15.4405928,33.7773423,70.278329,39.5029729,45.8250603,23.0417428,3.1610358,7.8571664,6.8301906,31.525042,3.571417,0.4235734,0.4598053,9.6107574,6.4406066,45.6276192,17.6434366,33.877635,70.463003,40.615936,46.2381152,23.2534002,3.6171991,8.2815125,6.9921842,31.4117891,3.741489,0.5427327,0.5492892,10.2407085,6.9467828,45.7512132,18.2968667,33.1820148,69.498485,40.6614566,45.3739697,23.1085107,3.8694354,8.3889941,7.2506334,31.6077702,3.6912702,0.4648853,0.4716741,9.9518858,6.6710385,45.3451495,18.6752332,33.3557047,69.6868037,40.8724613,45.1230451,23.0201353,3.8702485,8.0715658,7.493431,32.6144605,4.0441117 +1124,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6764405,0.7145174,8.5479124,5.5410934,49.7869085,14.7712991,26.6649503,67.7584081,40.8977077,45.6869303,21.4070628,4.2270095,10.6635655,9.624889,33.5181225,7.051722,0.6559287,0.6957796,8.4522407,5.5572222,48.8123335,15.189667,26.7295847,67.8845368,41.607279,45.8688293,21.5883251,4.8863816,11.3178096,10.3027402,32.5097642,6.0326558,0.6547048,0.6810007,8.5194267,5.4873145,48.9998095,15.1860221,26.9360831,68.4744001,41.1696953,46.0646537,21.5107361,5.001681,11.8306229,9.9497265,32.7406013,8.3389037,0.6574024,0.7021836,8.6378871,5.8952369,48.1606274,14.5519891,26.8582976,68.3426468,41.0126376,46.0253079,21.902176,4.907659,11.2437592,9.9112539,32.7346566,6.7785756,0.5476564,0.5992293,9.1400345,6.3906006,47.8123867,14.2832434,27.7347595,68.3754857,41.0661049,45.8485702,22.1460445,5.185026,10.9246259,9.6023135,33.0729474,6.2167036 +1125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0577429,1.0593634,23.8397267,19.229097,41.5332672,13.5076797,39.4921538,66.4193173,34.1116815,50.6743008,25.6435873,4.9643261,15.4343882,11.952767,33.8190686,8.5075495,0.9455262,0.9598602,24.4201513,19.8403568,41.4908638,13.640238,39.7093362,67.2187687,34.8332472,50.7366012,25.0973561,5.6119904,14.6083044,12.5249966,33.0710313,8.8407747,1.0560992,1.0702892,24.8775975,20.1832622,41.7355315,14.0051566,40.2250615,67.2760607,34.3339228,50.6863748,25.8018506,5.6790622,14.3219427,12.540681,32.8783465,10.6146495,1.0618941,1.101015,24.6236775,20.0341124,42.4575583,14.4770931,40.0468644,66.8671311,34.2692551,50.238538,26.3292164,5.6132104,15.5535104,13.179662,33.971069,11.5580431,1.3407337,1.3799128,25.2805969,20.2660148,43.6454349,14.5622531,39.712705,65.9816631,33.5674129,49.6473796,25.5818763,5.6058242,15.6427102,13.3078201,35.2701831,14.2550965 +1126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2936075,1.4530684,27.4700896,22.3717226,51.3605675,15.7378752,39.452612,65.804722,35.3508361,46.6446963,22.9638534,3.2513733,12.1637874,9.1502222,30.4075944,23.7270441,1.2993256,1.4167804,27.1519193,22.0121964,51.1943203,15.0778313,39.4920733,64.1321714,34.1439989,46.0175984,23.0267604,3.1230193,12.1163975,9.7079908,31.0606369,21.8500726,1.1162458,1.253681,26.0016573,20.9262967,49.7998024,15.1821206,39.9388083,63.9122006,35.4670483,45.9191368,23.5952844,3.3610987,11.9899966,10.1807597,31.3788113,21.9877266,1.2867626,1.5014909,26.1129655,21.322272,48.5707371,16.1909272,40.8428232,64.1034123,37.4547847,47.771952,24.5302813,3.8868795,10.7733246,9.7035398,31.6020205,22.57099,1.1770957,1.359681,24.3699531,19.8732529,48.0198604,16.2797091,40.5269159,63.4216919,37.0894962,47.3593568,24.6138989,3.9992389,11.3371428,10.287495,32.5670259,19.6026706 +1127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5971617,0.6416654,7.9946083,5.3782499,46.8393682,18.3364195,30.8673906,68.922773,36.8529457,45.0071336,20.2588088,4.6711231,9.5361744,8.4449352,30.9621361,2.6148284,0.6019277,0.6364682,7.6725898,5.2571428,46.1177976,18.5478496,30.2516462,68.5996431,37.0579636,45.2107283,20.6116517,4.5915817,9.3374409,8.6436358,30.940974,3.0039062,0.5486675,0.5688132,7.8713827,5.1737385,44.6092175,18.4416141,30.1439644,67.9515598,36.2674474,45.2250954,20.4938588,4.7158485,9.8266699,8.6929439,30.85306,2.8535511,0.5559075,0.5710776,8.0068259,5.2174572,43.5980053,18.3070835,30.6125718,67.9482195,36.0108878,45.3519483,19.9729284,4.9404957,9.8628393,8.9774452,31.7954772,3.2711562,0.5414514,0.5558893,8.3876107,5.4449655,43.3947839,18.212742,30.4976317,67.6654476,35.4467348,45.2139882,19.9666926,5.0322745,10.4667761,8.7510024,31.1125864,3.6164081 +1128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7391215,0.7488504,7.1579211,4.4974548,44.0024983,21.5942528,31.2238566,68.9849566,33.5213654,45.7602028,17.2305959,6.7877858,12.449336,9.3673852,32.7515835,3.2188772,0.8321056,0.8423281,7.2916711,4.6321031,43.7915562,22.3070333,31.3048672,68.914772,33.6775548,46.1554904,17.5527256,7.0957649,12.4158461,8.8879378,32.1669356,3.051636,0.7215456,0.7321048,7.1232299,4.5579592,42.0266401,22.9778914,31.3899759,69.7073921,34.5450892,47.5308133,18.0841338,7.5217003,11.9699877,8.8780762,31.3716701,2.6829203,0.6200611,0.6311999,7.1878128,4.4772663,40.1309357,23.8311568,30.8489757,69.7298944,34.9493537,46.8644055,17.6797054,7.5011915,11.7897977,8.8625424,30.4657691,2.25,0.5512524,0.5859048,7.2110928,4.4975298,38.0071176,24.9503849,30.2413068,70.0100754,35.6209367,48.1397464,17.9235778,7.6168814,12.0655669,8.8789506,30.6965061,2.2613065 +1129,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6325379,1.6201218,30.1845455,25.6090832,46.8016478,15.238659,34.5714269,61.982762,29.6063585,43.0616537,18.0896224,2.7062228,16.6302888,13.226373,43.4822622,20.9956619,1.5840848,1.5648811,30.3805086,25.5676639,46.9787178,14.5671919,33.6031652,61.5415355,29.4469425,43.3681653,17.4838811,2.3716719,16.5316862,13.1916095,43.0349309,20.299154,1.5331563,1.5133067,30.6825644,26.3827698,48.3045789,14.4538358,32.8989292,61.1881896,28.6153816,42.2782794,17.0656239,2.227869,16.303925,13.1332051,44.518177,19.0789557,1.5412975,1.5348161,31.7690629,27.252684,49.3311726,14.0545942,33.6188503,60.1706639,27.9849704,42.753824,16.8768851,2.2234695,16.641461,13.2503166,44.2855522,17.7824268,1.6585931,1.6906783,33.4949311,28.4286009,49.9201099,14.0869688,33.4709825,58.7909064,28.0507352,42.2583215,16.2174233,1.9982974,17.1790121,12.7979953,44.2798647,21.4 +1130,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6418322,0.6342002,9.9220544,6.8042408,50.3145943,10.3220532,28.3562094,70.5123312,40.9801683,43.2557811,21.2242553,4.9008378,10.2088428,8.429734,36.5898935,5.4991549,0.6273955,0.6153607,10.0296383,6.8638008,49.0155404,10.3581745,28.2369272,70.6487135,41.9806308,44.6205859,21.0864941,4.9681604,10.6928847,8.8005248,36.2123157,5.4270463,0.6136677,0.5936626,10.1186285,7.0682101,47.897462,10.4069635,28.0024896,70.7230941,42.4366247,45.2486489,21.436488,4.9383577,10.4224142,8.7082566,35.4241959,5.9659091,0.568586,0.5627075,9.7396007,6.9173703,46.9204243,10.9692461,28.2320169,70.5978932,43.2291655,46.1401274,21.8964057,5.1013131,10.0575508,8.4626463,34.9231593,5.9921415,0.5942254,0.5754746,9.3961199,6.6642707,46.1972073,10.7192757,27.8020862,70.3627924,43.6829451,46.3509322,22.0567485,5.0465841,9.7550527,8.3285849,34.9468457,5.5772994 +1131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.9455262,0.9598602,24.4201513,19.8403568,41.4908638,13.640238,39.7093362,67.2187687,34.8332472,50.7366012,25.0973561,5.6119904,14.6083044,12.5249966,33.0710313,8.8407747,1.0560992,1.0702892,24.8775975,20.1832622,41.7355315,14.0051566,40.2250615,67.2760607,34.3339228,50.6863748,25.8018506,5.6790622,14.3219427,12.540681,32.8783465,10.6146495,1.0618941,1.101015,24.6236775,20.0341124,42.4575583,14.4770931,40.0468644,66.8671311,34.2692551,50.238538,26.3292164,5.6132104,15.5535104,13.179662,33.971069,11.5580431,1.3407337,1.3799128,25.2805969,20.2660148,43.6454349,14.5622531,39.712705,65.9816631,33.5674129,49.6473796,25.5818763,5.6058242,15.6427102,13.3078201,35.2701831,14.2550965,1.4866705,1.5399419,25.1644312,19.7508707,43.5796797,14.1290455,39.6678527,66.2032372,33.8586655,49.3241702,25.3436079,5.9253757,15.668528,12.9636645,34.4396119,14.2570664 +1132,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5267112,0.5618816,11.4983715,8.0912724,37.2773794,18.4188283,34.8018363,70.5565553,40.5205696,48.4542878,25.9915139,3.2714561,11.2347256,10.2743392,34.7944583,6.048392,0.6033224,0.6277257,11.4494587,7.9872751,37.3447462,18.373921,33.9988384,71.1065815,40.7229479,48.3062088,25.5557942,3.1091374,11.2333859,10.6068145,36.3983296,6.8547392,0.5627689,0.5990842,11.5580527,8.162879,37.8125667,17.8606145,33.7664537,70.004508,40.0865419,48.343246,24.8977285,2.981591,11.4423091,10.2825609,36.2552537,5.8556659,0.6727715,0.7080011,11.3552471,7.8834395,37.1763829,18.1087797,33.9486748,70.6296467,39.1184913,48.424229,25.7258956,3.0772407,10.523829,9.5985482,37.5520954,7.3273714,0.7168445,0.7511436,11.5442826,8.0973803,37.8032708,18.0027485,32.5574335,70.369051,38.2676327,48.0085011,25.0237542,3.1429905,9.7404577,8.8153293,37.0848684,5.4165132 +1133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8321056,0.8423281,7.2916711,4.6321031,43.7915562,22.3070333,31.3048672,68.914772,33.6775548,46.1554904,17.5527256,7.0957649,12.4158461,8.8879378,32.1669356,3.051636,0.7215456,0.7321048,7.1232299,4.5579592,42.0266401,22.9778914,31.3899759,69.7073921,34.5450892,47.5308133,18.0841338,7.5217003,11.9699877,8.8780762,31.3716701,2.6829203,0.6200611,0.6311999,7.1878128,4.4772663,40.1309357,23.8311568,30.8489757,69.7298944,34.9493537,46.8644055,17.6797054,7.5011915,11.7897977,8.8625424,30.4657691,2.25,0.5512524,0.5859048,7.2110928,4.4975298,38.0071176,24.9503849,30.2413068,70.0100754,35.6209367,48.1397464,17.9235778,7.6168814,12.0655669,8.8789506,30.6965061,2.2613065,0.5735749,0.597033,7.7919111,4.7969941,37.3708777,25.0378718,29.9387163,70.4185827,35.2986608,48.5196428,17.3813115,8.0398019,12.5625812,9.5595356,32.0820518,2.4064171 +1134,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3900203,1.3952041,21.2129761,17.2980295,38.9536689,18.0785641,37.3483187,66.7056093,37.6157038,47.7397922,24.8503606,3.9041253,13.1258729,9.8063449,29.983054,18.689863,1.4263893,1.4468637,21.2801959,17.3146883,39.608377,17.7479108,37.1191974,65.7328288,36.5512922,47.2286943,23.8893945,3.6638072,12.5100709,10.4328969,29.9771534,18.0132312,1.3348966,1.3551402,21.1677686,17.2729849,40.7397003,17.262316,37.6539806,65.5924578,35.6482132,47.2137821,23.3394435,3.3571144,13.0213491,10.3644904,29.9981101,17.617422,1.3350183,1.3476784,20.7274738,16.9069521,40.6272765,16.6407516,37.1807886,64.9945131,35.7258814,47.3490778,23.0931733,3.7359077,12.4358841,9.9626712,29.6424731,18.2593578,1.3045505,1.3281386,21.7283756,18.0293442,41.0881583,16.0498177,37.9695939,65.3148988,36.2732008,47.8460144,23.0547096,3.6624087,12.1204077,9.2463368,30.372944,21.4285515 +1135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8399733,0.8572976,8.5859141,5.1955384,18.884661,20.0274608,32.6473656,70.5892453,40.5552916,52.6091125,23.2174987,5.4717745,9.8239408,8.4234439,26.633034,5.1176347,0.7727387,0.7899944,8.5256903,5.3109118,19.6654932,19.1897246,32.5609093,70.6336416,40.0590311,52.1931561,22.8044711,5.2251218,9.7058403,8.7896092,25.3231622,5.1582389,0.8787894,0.9333712,9.2039397,5.8100016,20.0699365,18.3449875,32.6697236,69.8903954,39.1624055,51.26355,22.8156513,5.0678172,9.6740067,8.4586647,25.7584524,6.7987164,0.921487,0.9758221,9.1309917,5.8035557,20.383741,17.8815296,32.7408534,68.487877,38.6675965,50.4387022,22.6829569,5.3475705,10.1891447,8.6865917,26.0297686,6.8535509,0.9357523,0.9431193,8.9994307,5.5400601,19.8040115,18.0179688,32.7516596,67.8710533,38.627576,50.0612376,22.33785,5.187798,10.0932198,9.3962927,25.4460722,6.5879523 +1136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7727387,0.7899944,8.5256903,5.3109118,19.6654932,19.1897246,32.5609093,70.6336416,40.0590311,52.1931561,22.8044711,5.2251218,9.7058403,8.7896092,25.3231622,5.1582389,0.8787894,0.9333712,9.2039397,5.8100016,20.0699365,18.3449875,32.6697236,69.8903954,39.1624055,51.26355,22.8156513,5.0678172,9.6740067,8.4586647,25.7584524,6.7987164,0.921487,0.9758221,9.1309917,5.8035557,20.383741,17.8815296,32.7408534,68.487877,38.6675965,50.4387022,22.6829569,5.3475705,10.1891447,8.6865917,26.0297686,6.8535509,0.9357523,0.9431193,8.9994307,5.5400601,19.8040115,18.0179688,32.7516596,67.8710533,38.627576,50.0612376,22.33785,5.187798,10.0932198,9.3962927,25.4460722,6.5879523,0.9382653,0.9091915,9.1289572,5.6702773,19.4355184,17.3696555,32.6185746,67.5375399,39.2869544,49.9848788,22.5789201,5.0582726,9.5008683,8.9108032,24.9789322,8.605725 +1137,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7589344,0.7891795,11.8686577,7.4009215,37.068855,21.3922895,38.5206162,70.0787506,42.5443848,50.9860635,23.3332601,3.8855953,9.0170166,9.860778,30.3959458,5.5555701,0.8398832,0.8762087,11.0635484,7.0293341,35.5800594,21.1881134,38.0961421,70.0040489,43.811738,52.1175374,24.0747962,3.8856836,9.0191121,10.0913389,30.29163,4.7101586,0.6778696,0.7361998,9.9396184,6.3604977,35.1156042,21.0088802,37.7051786,70.0301681,44.230829,52.8305179,24.6542452,3.8677533,9.5052013,9.9133957,29.8955056,4.0441206,0.7117075,0.7698065,9.9742694,6.4135741,34.8721038,20.8333055,36.92667,69.7599833,43.6562465,52.7861148,24.2391716,3.8791261,9.8877288,9.5340733,30.4856288,4.1984765,0.6241743,0.6634295,9.2942116,6.0525287,34.7527796,20.8873413,37.5564389,69.753616,43.593434,52.7104749,24.6611919,3.5934258,10.2489552,9.5771077,31.2082776,4.1984765 +1138,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4263893,1.4468637,21.2801959,17.3146883,39.608377,17.7479108,37.1191974,65.7328288,36.5512922,47.2286943,23.8893945,3.6638072,12.5100709,10.4328969,29.9771534,18.0132312,1.3348966,1.3551402,21.1677686,17.2729849,40.7397003,17.262316,37.6539806,65.5924578,35.6482132,47.2137821,23.3394435,3.3571144,13.0213491,10.3644904,29.9981101,17.617422,1.3350183,1.3476784,20.7274738,16.9069521,40.6272765,16.6407516,37.1807886,64.9945131,35.7258814,47.3490778,23.0931733,3.7359077,12.4358841,9.9626712,29.6424731,18.2593578,1.3045505,1.3281386,21.7283756,18.0293442,41.0881583,16.0498177,37.9695939,65.3148988,36.2732008,47.8460144,23.0547096,3.6624087,12.1204077,9.2463368,30.372944,21.4285515,1.353437,1.3881445,22.0040261,18.0678787,41.265584,15.9225244,37.9172897,65.2471367,35.5989628,47.364781,22.6223625,3.4167672,11.932232,9.330389,30.3740798,21.7171263 +1139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.042731,1.0693823,18.669495,15.269162,82.3329164,14.775733,34.6165871,66.2715578,33.9776876,38.1051329,16.8287803,4.563443,13.8104228,10.8744503,38.9181702,14.7388453,1.0924826,1.0924826,19.0243316,15.7103091,83.1309841,15.3408058,33.741608,66.3315991,33.8574602,37.4370421,17.000696,4.2431396,13.4619623,11.5350833,38.8757372,14.0260761,1.0381004,1.0381004,19.4226751,15.9940907,82.8611203,15.7925721,33.6420971,66.540821,34.9608616,37.0300795,17.6055523,4.5113177,14.3937387,12.8598807,39.042456,13.8401588,1.2716089,1.2982915,19.050942,15.6541107,82.5618167,15.3418334,33.1424825,66.1120532,35.0020049,37.5632267,17.7137328,4.4527399,14.0945293,13.0077475,40.17773,13.9380994,1.3172285,1.3435155,18.7801092,15.2634621,83.205703,15.4417139,32.2009388,65.6684137,34.492641,37.7082565,18.2606048,4.6177882,14.4902713,12.2654475,39.3404762,13.7984255 +1140,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6033224,0.6277257,11.4494587,7.9872751,37.3447462,18.373921,33.9988384,71.1065815,40.7229479,48.3062088,25.5557942,3.1091374,11.2333859,10.6068145,36.3983296,6.8547392,0.5627689,0.5990842,11.5580527,8.162879,37.8125667,17.8606145,33.7664537,70.004508,40.0865419,48.343246,24.8977285,2.981591,11.4423091,10.2825609,36.2552537,5.8556659,0.6727715,0.7080011,11.3552471,7.8834395,37.1763829,18.1087797,33.9486748,70.6296467,39.1184913,48.424229,25.7258956,3.0772407,10.523829,9.5985482,37.5520954,7.3273714,0.7168445,0.7511436,11.5442826,8.0973803,37.8032708,18.0027485,32.5574335,70.369051,38.2676327,48.0085011,25.0237542,3.1429905,9.7404577,8.8153293,37.0848684,5.4165132,0.8306662,0.8208924,11.7746953,8.3766144,37.856735,18.0245642,31.9532151,69.4348844,37.8890588,48.1331368,24.4376448,3.1354615,9.3902877,9.2651636,39.6919865,5.0386269 +1141,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5829311,0.59707,7.4959171,4.9928083,75.4914846,7.8399332,26.1163848,64.7656926,31.5410218,39.7878124,15.8122852,5.6131441,10.0015416,8.5374936,35.6561466,4.6996124,0.5539638,0.5679795,7.4845363,5.0036896,73.4110855,7.8415358,25.8357459,65.2637804,32.0862087,40.1721853,16.2233213,5.8067605,9.9909613,8.5473334,35.4732141,4.1792548,0.5773599,0.5732945,7.5552437,5.0028716,71.1333796,8.2244997,25.6238703,65.7222378,32.8306379,40.5092171,16.3181446,5.8870051,10.1678363,8.7320004,35.0098284,4.5693277,0.6077662,0.5930191,7.4387969,4.8747325,68.8695372,8.4811346,25.4740936,65.8362674,33.1230894,40.6746981,16.3614194,6.1794713,9.9597018,8.5333327,34.6816327,4.3049793,0.5933403,0.5840627,7.3318052,4.7644491,67.4117329,8.4383245,25.8457467,66.075168,33.3796131,40.8550683,16.5055329,6.4960846,9.8449333,8.2465213,34.1410553,4.8186528 +1142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6406159,0.6978042,10.4994312,6.7919469,59.8626835,9.4276799,33.5357509,66.7752739,41.1004716,44.8330485,24.1344559,4.2991946,10.4587405,9.161138,40.9572485,6.2091438,0.6194577,0.6658069,10.6545391,6.9029972,59.2053277,9.5851203,33.6089444,66.9521235,41.3133373,44.7701625,23.8902032,4.2530882,10.0475682,8.8751472,40.4389891,6.2499942,0.7475454,0.8010601,11.0721866,7.0819339,57.9353824,9.7572167,34.0602168,66.9671391,41.2116911,44.9788297,24.0985067,4.306022,10.1670679,9.0433429,40.6142683,6.4666615,0.7831158,0.8136232,11.0195756,6.9992693,57.4914489,9.9898882,33.8070502,67.1882928,41.1954557,44.7767757,24.2739753,4.3766426,10.0736684,9.4234968,41.2368625,6.4802112,0.7472583,0.772514,11.0146571,7.0573593,56.413487,10.1627986,33.6773704,67.1783039,41.6461357,44.9726923,24.6924699,4.3908849,10.0873426,9.7196537,40.7510149,5.9558806 +1143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.3786541,0.4074621,9.5559833,6.428568,47.0860266,15.4405928,33.7773423,70.278329,39.5029729,45.8250603,23.0417428,3.1610358,7.8571664,6.8301906,31.525042,3.571417,0.4235734,0.4598053,9.6107574,6.4406066,45.6276192,17.6434366,33.877635,70.463003,40.615936,46.2381152,23.2534002,3.6171991,8.2815125,6.9921842,31.4117891,3.741489,0.5427327,0.5492892,10.2407085,6.9467828,45.7512132,18.2968667,33.1820148,69.498485,40.6614566,45.3739697,23.1085107,3.8694354,8.3889941,7.2506334,31.6077702,3.6912702,0.4648853,0.4716741,9.9518858,6.6710385,45.3451495,18.6752332,33.3557047,69.6868037,40.8724613,45.1230451,23.0201353,3.8702485,8.0715658,7.493431,32.6144605,4.0441117,0.4748815,0.4818932,10.1452623,6.8315911,44.6554216,19.1620946,32.6006559,70.0370245,40.930106,45.7889885,23.9472402,3.9102296,7.4660851,7.2207214,34.229738,3.3333284 +1144,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3348966,1.3551402,21.1677686,17.2729849,40.7397003,17.262316,37.6539806,65.5924578,35.6482132,47.2137821,23.3394435,3.3571144,13.0213491,10.3644904,29.9981101,17.617422,1.3350183,1.3476784,20.7274738,16.9069521,40.6272765,16.6407516,37.1807886,64.9945131,35.7258814,47.3490778,23.0931733,3.7359077,12.4358841,9.9626712,29.6424731,18.2593578,1.3045505,1.3281386,21.7283756,18.0293442,41.0881583,16.0498177,37.9695939,65.3148988,36.2732008,47.8460144,23.0547096,3.6624087,12.1204077,9.2463368,30.372944,21.4285515,1.353437,1.3881445,22.0040261,18.0678787,41.265584,15.9225244,37.9172897,65.2471367,35.5989628,47.364781,22.6223625,3.4167672,11.932232,9.330389,30.3740798,21.7171263,1.2910333,1.3253714,22.9372072,18.8734072,41.1276553,16.3656307,38.525069,65.3508341,35.6852243,47.7764548,23.1047461,3.2486373,11.4777062,9.2044162,30.0773994,21.2553574 +1145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5971135,0.5715907,7.7027491,5.0054304,51.7118929,11.6583564,30.2901878,66.4653948,32.8857174,42.5829082,17.961422,14.8251606,10.467189,8.9693289,36.4403709,3.1645564,0.657075,0.6277064,7.6876495,5.041508,51.0525408,11.7360904,29.5391723,66.3013526,32.8529467,41.9313085,17.9409728,14.9723847,10.5977293,9.0893436,36.9595261,3.6091549,0.6036969,0.5600509,8.0029966,5.4047304,49.4524933,11.7389874,29.7245352,66.3689588,33.2136906,42.3121934,17.9883145,15.2003344,10.5166025,8.9765073,36.9337347,3.2627872,0.6239311,0.5972492,7.9074491,5.2274882,48.9868586,11.9080778,30.122271,66.0056535,32.8970084,41.7071697,17.6751855,15.6842763,10.2796307,9.1732935,37.2313098,3.0782035,0.6266632,0.6010152,7.6905831,5.0546676,48.444608,11.9860471,30.4690968,66.1028538,32.7394408,41.4148313,17.4785783,15.3134846,10.2458995,8.9681347,37.0364708,2.6655892 +1146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.3765926,1.3987501,18.4499451,13.8527162,27.6762713,13.6234923,35.7494829,66.8788598,40.8418848,48.8911512,23.2649074,3.0595504,13.0613825,12.6217127,39.2991267,17.201318,1.4630794,1.4857888,19.1237251,14.6386797,28.6802932,13.3873063,34.7542921,66.6316771,39.5002054,47.8160292,22.1125763,2.8769449,12.9290623,11.6590204,39.2691868,17.8984012,1.3114747,1.3911273,19.7480432,15.4781917,28.7036748,13.5071184,34.1510995,66.7173427,39.1880312,47.0039023,21.9496436,2.5835897,13.1457201,11.012368,38.8111619,18.700134,1.285187,1.3598333,20.8132518,16.4062069,29.4229819,13.6878352,35.1171159,65.7310395,38.4693252,47.5969295,22.5969346,2.8069502,13.4820074,10.6617632,38.6500876,18.4783886,1.4720511,1.5123176,21.6599498,17.0331874,29.4805687,14.6133444,35.6094635,65.3310756,37.6411025,47.1218889,22.6674013,3.0285928,13.6845017,10.3846208,38.951413,19.4993755 +1147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7215456,0.7321048,7.1232299,4.5579592,42.0266401,22.9778914,31.3899759,69.7073921,34.5450892,47.5308133,18.0841338,7.5217003,11.9699877,8.8780762,31.3716701,2.6829203,0.6200611,0.6311999,7.1878128,4.4772663,40.1309357,23.8311568,30.8489757,69.7298944,34.9493537,46.8644055,17.6797054,7.5011915,11.7897977,8.8625424,30.4657691,2.25,0.5512524,0.5859048,7.2110928,4.4975298,38.0071176,24.9503849,30.2413068,70.0100754,35.6209367,48.1397464,17.9235778,7.6168814,12.0655669,8.8789506,30.6965061,2.2613065,0.5735749,0.597033,7.7919111,4.7969941,37.3708777,25.0378718,29.9387163,70.4185827,35.2986608,48.5196428,17.3813115,8.0398019,12.5625812,9.5595356,32.0820518,2.4064171,0.5634747,0.6019916,8.0468638,4.808208,37.2963249,24.8137486,29.0054844,69.4877134,34.2793047,47.9407003,17.1521461,8.0612575,12.0605174,9.433017,32.8278062,2.3560148 +1148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4896115,0.55753,10.3276293,6.5221733,57.7314092,13.8046705,31.7882746,69.6505472,35.7553861,46.3412015,19.8663649,2.8057506,8.6417286,8.1395319,32.6777946,9.9112693,0.5181386,0.5860827,10.3591628,6.3007192,56.793069,14.3133955,31.6577187,69.5602666,35.8484636,45.9640691,20.5305293,3.0037112,9.2120994,8.1441616,32.8451037,9.2767552,0.5113578,0.5992106,9.963127,5.9901572,56.0484597,14.5021518,31.7289555,68.8139378,35.5919714,45.7402234,20.4531023,2.8502777,9.5611927,8.5616381,33.5430178,9.1362428,0.5071652,0.576543,9.733676,5.831941,55.3293454,14.4391032,32.8441539,69.1828429,36.2436659,46.2732091,20.6819995,3.0299791,9.3271504,8.2492821,33.0828598,9.0460586,0.5234603,0.5738389,9.5085616,5.9363917,54.4532202,14.623712,33.259335,69.3616321,36.8103876,46.533496,20.9997849,2.8218102,8.8722686,7.7903582,32.3757198,8.7171053 +1149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8071931,0.8136664,9.12088,5.3601959,29.4346884,17.9515643,34.0317547,69.8363833,40.8752289,50.9422564,24.0143925,4.4507862,11.2064743,9.823612,31.4349152,6.127451,0.7286693,0.723634,8.701554,5.0481366,28.5330879,17.8056651,34.1509581,69.6729471,40.9937072,50.7295644,24.2138381,4.4654118,10.421907,9.4892379,30.9379797,6.3451809,0.7211805,0.6939315,8.616592,5.1461858,28.7071269,17.7083293,34.1123866,69.0118566,41.0632048,50.5328247,24.4490226,4.541055,10.1061456,9.5089174,30.5326937,5.841116,0.6792231,0.6482219,8.7273178,5.2991287,28.3012189,17.650368,34.5240979,68.9910993,41.189229,50.1597956,24.4807268,4.4396339,10.353555,10.0321552,30.8599082,7.3008753,0.6081405,0.5737246,8.2521245,5.1377153,27.5865781,17.3454094,34.7633593,68.9107496,40.9012297,49.9351827,24.4326878,4.506166,10.2312596,10.0087388,31.0881895,5.3999914 +1150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2993256,1.4167804,27.1519193,22.0121964,51.1943203,15.0778313,39.4920733,64.1321714,34.1439989,46.0175984,23.0267604,3.1230193,12.1163975,9.7079908,31.0606369,21.8500726,1.1162458,1.253681,26.0016573,20.9262967,49.7998024,15.1821206,39.9388083,63.9122006,35.4670483,45.9191368,23.5952844,3.3610987,11.9899966,10.1807597,31.3788113,21.9877266,1.2867626,1.5014909,26.1129655,21.322272,48.5707371,16.1909272,40.8428232,64.1034123,37.4547847,47.771952,24.5302813,3.8868795,10.7733246,9.7035398,31.6020205,22.57099,1.1770957,1.359681,24.3699531,19.8732529,48.0198604,16.2797091,40.5269159,63.4216919,37.0894962,47.3593568,24.6138989,3.9992389,11.3371428,10.287495,32.5670259,19.6026706,1.3403928,1.4028127,24.3268484,19.7318561,48.8804646,15.2593581,41.9406444,63.9482147,36.6460874,46.9048114,24.4474193,4.0584256,11.7179589,11.0488711,32.1208455,17.8791311 +1151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5079606,0.5079606,9.1297456,6.5330737,67.6605846,12.6048343,29.2699467,66.8685058,31.3838912,44.9125896,14.7548714,5.4256316,11.4467155,10.8671931,30.9126426,6.9616611,0.519474,0.519474,9.0631498,6.3079143,66.1335103,12.9178132,28.6537592,67.1152503,31.5533184,45.1626773,14.571063,5.4290275,11.5541021,10.3096041,30.5148713,7.8825081,0.5301398,0.5301398,8.6136092,5.7475536,65.0240572,13.783921,27.8829833,67.4406336,31.7694036,44.5654979,14.1390519,5.5766466,11.9388587,10.3997716,30.3570678,7.07271,0.4359439,0.4204351,8.1236194,5.4432624,63.5800018,14.7543406,27.6108235,67.4840561,32.5825309,44.8947567,14.5645264,5.622318,11.9176321,10.6563002,29.640869,5.8969051,0.3654733,0.349427,7.9280087,5.2225169,63.3787542,14.9301697,27.1299087,66.6263353,32.4421596,44.7566939,14.0565263,5.7778448,12.5264732,10.9264575,28.5764367,4.4041451 +1152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1162458,1.253681,26.0016573,20.9262967,49.7998024,15.1821206,39.9388083,63.9122006,35.4670483,45.9191368,23.5952844,3.3610987,11.9899966,10.1807597,31.3788113,21.9877266,1.2867626,1.5014909,26.1129655,21.322272,48.5707371,16.1909272,40.8428232,64.1034123,37.4547847,47.771952,24.5302813,3.8868795,10.7733246,9.7035398,31.6020205,22.57099,1.1770957,1.359681,24.3699531,19.8732529,48.0198604,16.2797091,40.5269159,63.4216919,37.0894962,47.3593568,24.6138989,3.9992389,11.3371428,10.287495,32.5670259,19.6026706,1.3403928,1.4028127,24.3268484,19.7318561,48.8804646,15.2593581,41.9406444,63.9482147,36.6460874,46.9048114,24.4474193,4.0584256,11.7179589,11.0488711,32.1208455,17.8791311,1.4027695,1.4853808,24.105699,19.9597205,47.3200906,15.4638243,42.5012002,64.748204,38.5102843,48.1616725,24.7356592,4.0288941,11.0215753,10.7499087,31.1057957,15.8391158 +1153,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3350183,1.3476784,20.7274738,16.9069521,40.6272765,16.6407516,37.1807886,64.9945131,35.7258814,47.3490778,23.0931733,3.7359077,12.4358841,9.9626712,29.6424731,18.2593578,1.3045505,1.3281386,21.7283756,18.0293442,41.0881583,16.0498177,37.9695939,65.3148988,36.2732008,47.8460144,23.0547096,3.6624087,12.1204077,9.2463368,30.372944,21.4285515,1.353437,1.3881445,22.0040261,18.0678787,41.265584,15.9225244,37.9172897,65.2471367,35.5989628,47.364781,22.6223625,3.4167672,11.932232,9.330389,30.3740798,21.7171263,1.2910333,1.3253714,22.9372072,18.8734072,41.1276553,16.3656307,38.525069,65.3508341,35.6852243,47.7764548,23.1047461,3.2486373,11.4777062,9.2044162,30.0773994,21.2553574,1.2258111,1.2605083,22.8306561,18.722813,41.3851561,16.4628664,38.6584936,65.4280483,35.3817977,48.7223499,23.1425172,3.2150821,11.4173895,9.6428171,30.843302,19.6263804 +1154,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8398832,0.8762087,11.0635484,7.0293341,35.5800594,21.1881134,38.0961421,70.0040489,43.811738,52.1175374,24.0747962,3.8856836,9.0191121,10.0913389,30.29163,4.7101586,0.6778696,0.7361998,9.9396184,6.3604977,35.1156042,21.0088802,37.7051786,70.0301681,44.230829,52.8305179,24.6542452,3.8677533,9.5052013,9.9133957,29.8955056,4.0441206,0.7117075,0.7698065,9.9742694,6.4135741,34.8721038,20.8333055,36.92667,69.7599833,43.6562465,52.7861148,24.2391716,3.8791261,9.8877288,9.5340733,30.4856288,4.1984765,0.6241743,0.6634295,9.2942116,6.0525287,34.7527796,20.8873413,37.5564389,69.753616,43.593434,52.7104749,24.6611919,3.5934258,10.2489552,9.5771077,31.2082776,4.1984765,0.6049758,0.6239221,9.5707625,6.3998458,35.5490129,20.7550701,36.6588409,69.3699105,43.0377324,52.4115053,25.145846,3.4422365,10.79277,9.6862745,32.5314959,3.125 +1155,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.519474,0.519474,9.0631498,6.3079143,66.1335103,12.9178132,28.6537592,67.1152503,31.5533184,45.1626773,14.571063,5.4290275,11.5541021,10.3096041,30.5148713,7.8825081,0.5301398,0.5301398,8.6136092,5.7475536,65.0240572,13.783921,27.8829833,67.4406336,31.7694036,44.5654979,14.1390519,5.5766466,11.9388587,10.3997716,30.3570678,7.07271,0.4359439,0.4204351,8.1236194,5.4432624,63.5800018,14.7543406,27.6108235,67.4840561,32.5825309,44.8947567,14.5645264,5.622318,11.9176321,10.6563002,29.640869,5.8969051,0.3654733,0.349427,7.9280087,5.2225169,63.3787542,14.9301697,27.1299087,66.6263353,32.4421596,44.7566939,14.0565263,5.7778448,12.5264732,10.9264575,28.5764367,4.4041451,0.4331162,0.4331162,8.0928754,5.2085645,62.1907271,14.5090575,26.7904036,67.0019233,31.3949192,44.7986613,13.9324355,5.4740739,12.4039445,10.3919074,29.7192356,4.4271341 +1156,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7519841,1.7519841,34.0472674,29.9113737,61.7692308,6.3689605,36.3970588,62.2794118,26.6911765,40.8088235,15.8088235,5.6617647,16.9161677,12.9464286,40.2077151,13.4375,1.8271222,1.8271222,34.9563953,30.8866279,62.6315789,5.8357349,36.5942029,62.6811594,26.4492754,40.942029,15,5.1449275,16.4156627,11.8618619,40.2694611,14.5833333,1.9870188,1.9870188,35.3151862,30.730659,62.2938531,5.387931,35.6213873,63.2225434,26.2283237,41.2572254,15.2456647,4.6965318,16.3663664,12.1257485,41.641791,14.5833333,1.926055,1.926055,34.5545977,29.9568966,63.9183056,5.8357349,33.6482558,64.3168605,26.9622093,41.6424419,15.4796512,5.7412791,15.1651652,11.2275449,39.8507463,14.0718563,1.5489345,1.5489345,34.7283407,30.4698972,65.5145929,6.3970588,33.2095097,62.7786033,26.5230312,40.6389302,14.1901932,5.7206538,14.84375,10.7476636,37.1118012,16.4596273 +1157,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5539638,0.5679795,7.4845363,5.0036896,73.4110855,7.8415358,25.8357459,65.2637804,32.0862087,40.1721853,16.2233213,5.8067605,9.9909613,8.5473334,35.4732141,4.1792548,0.5773599,0.5732945,7.5552437,5.0028716,71.1333796,8.2244997,25.6238703,65.7222378,32.8306379,40.5092171,16.3181446,5.8870051,10.1678363,8.7320004,35.0098284,4.5693277,0.6077662,0.5930191,7.4387969,4.8747325,68.8695372,8.4811346,25.4740936,65.8362674,33.1230894,40.6746981,16.3614194,6.1794713,9.9597018,8.5333327,34.6816327,4.3049793,0.5933403,0.5840627,7.3318052,4.7644491,67.4117329,8.4383245,25.8457467,66.075168,33.3796131,40.8550683,16.5055329,6.4960846,9.8449333,8.2465213,34.1410553,4.8186528,0.583237,0.5657887,7.4754193,4.9091691,66.4294555,8.5721948,25.9692494,66.5690288,33.1992377,41.20556,16.5276151,6.6230469,9.6098774,8.0337122,35.0179206,4.7938144 +1158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8701587,0.8701587,13.9312382,11.0051158,55.1112661,30.2309401,35.557002,64.7021982,33.3550953,44.4949416,15.9975518,6.6709413,14.7519282,11.87969,33.2010561,7.4672563,0.8461547,0.8461547,14.0943304,10.6505321,54.7525948,31.5145894,34.0466802,65.6939779,33.6576998,45.979455,16.277643,5.5123283,13.5442735,10.2529535,32.864485,6.5214691,0.6531879,0.6531879,13.9704703,10.0935572,55.6680997,31.0594476,32.7332607,64.8667153,33.2667327,45.533522,16.33343,5.2667193,14.7058147,10.8694485,33.7211075,6.8178793,0.6289372,0.6289372,13.605843,10.1206849,56.5014394,30.1972456,32.8249059,67.4403491,34.5491958,46.6182311,16.5120562,4.5756484,14.0150759,8.7119787,34.4785557,6.3755248,0.5512369,0.5512369,12.3448003,8.8966315,56.9157165,30.502715,31.3873682,66.8269016,35.6457166,45.5358461,17.1016637,3.7775063,14.0151314,8.4595338,32.6973234,6.7372579 +1159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.4630794,1.4857888,19.1237251,14.6386797,28.6802932,13.3873063,34.7542921,66.6316771,39.5002054,47.8160292,22.1125763,2.8769449,12.9290623,11.6590204,39.2691868,17.8984012,1.3114747,1.3911273,19.7480432,15.4781917,28.7036748,13.5071184,34.1510995,66.7173427,39.1880312,47.0039023,21.9496436,2.5835897,13.1457201,11.012368,38.8111619,18.700134,1.285187,1.3598333,20.8132518,16.4062069,29.4229819,13.6878352,35.1171159,65.7310395,38.4693252,47.5969295,22.5969346,2.8069502,13.4820074,10.6617632,38.6500876,18.4783886,1.4720511,1.5123176,21.6599498,17.0331874,29.4805687,14.6133444,35.6094635,65.3310756,37.6411025,47.1218889,22.6674013,3.0285928,13.6845017,10.3846208,38.951413,19.4993755,1.6496251,1.6891825,22.7391146,17.7998045,30.5325382,14.1352132,35.7577302,65.2421917,36.5026997,46.1297976,22.3900413,2.94432,14.5646226,10.8663843,39.6713184,18.9781393 +1160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6200611,0.6311999,7.1878128,4.4772663,40.1309357,23.8311568,30.8489757,69.7298944,34.9493537,46.8644055,17.6797054,7.5011915,11.7897977,8.8625424,30.4657691,2.25,0.5512524,0.5859048,7.2110928,4.4975298,38.0071176,24.9503849,30.2413068,70.0100754,35.6209367,48.1397464,17.9235778,7.6168814,12.0655669,8.8789506,30.6965061,2.2613065,0.5735749,0.597033,7.7919111,4.7969941,37.3708777,25.0378718,29.9387163,70.4185827,35.2986608,48.5196428,17.3813115,8.0398019,12.5625812,9.5595356,32.0820518,2.4064171,0.5634747,0.6019916,8.0468638,4.808208,37.2963249,24.8137486,29.0054844,69.4877134,34.2793047,47.9407003,17.1521461,8.0612575,12.0605174,9.433017,32.8278062,2.3560148,0.5602755,0.6318676,8.4924371,5.2129558,36.7675941,24.7090515,29.3440789,70.2153935,34.1899065,47.4546807,17.0582059,8.5902873,11.3966691,9.5630789,32.8307894,1.7676723 +1161,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6559287,0.6957796,8.4522407,5.5572222,48.8123335,15.189667,26.7295847,67.8845368,41.607279,45.8688293,21.5883251,4.8863816,11.3178096,10.3027402,32.5097642,6.0326558,0.6547048,0.6810007,8.5194267,5.4873145,48.9998095,15.1860221,26.9360831,68.4744001,41.1696953,46.0646537,21.5107361,5.001681,11.8306229,9.9497265,32.7406013,8.3389037,0.6574024,0.7021836,8.6378871,5.8952369,48.1606274,14.5519891,26.8582976,68.3426468,41.0126376,46.0253079,21.902176,4.907659,11.2437592,9.9112539,32.7346566,6.7785756,0.5476564,0.5992293,9.1400345,6.3906006,47.8123867,14.2832434,27.7347595,68.3754857,41.0661049,45.8485702,22.1460445,5.185026,10.9246259,9.6023135,33.0729474,6.2167036,0.5825273,0.5969893,9.4944884,6.6591403,47.8809302,13.7116639,27.8245461,69.0377792,41.3567641,45.5719355,22.0470436,5.4313318,11.15553,10.2136247,33.830549,8.0110497 +1162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8787894,0.9333712,9.2039397,5.8100016,20.0699365,18.3449875,32.6697236,69.8903954,39.1624055,51.26355,22.8156513,5.0678172,9.6740067,8.4586647,25.7584524,6.7987164,0.921487,0.9758221,9.1309917,5.8035557,20.383741,17.8815296,32.7408534,68.487877,38.6675965,50.4387022,22.6829569,5.3475705,10.1891447,8.6865917,26.0297686,6.8535509,0.9357523,0.9431193,8.9994307,5.5400601,19.8040115,18.0179688,32.7516596,67.8710533,38.627576,50.0612376,22.33785,5.187798,10.0932198,9.3962927,25.4460722,6.5879523,0.9382653,0.9091915,9.1289572,5.6702773,19.4355184,17.3696555,32.6185746,67.5375399,39.2869544,49.9848788,22.5789201,5.0582726,9.5008683,8.9108032,24.9789322,8.605725,0.8366334,0.8010998,8.9894895,5.5826819,19.9064949,17.4660428,32.3571234,67.2234048,39.7705171,49.7943884,22.5250972,5.0501077,8.9875425,9.0001241,24.7765646,6.4388183 +1163,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6273955,0.6153607,10.0296383,6.8638008,49.0155404,10.3581745,28.2369272,70.6487135,41.9806308,44.6205859,21.0864941,4.9681604,10.6928847,8.8005248,36.2123157,5.4270463,0.6136677,0.5936626,10.1186285,7.0682101,47.897462,10.4069635,28.0024896,70.7230941,42.4366247,45.2486489,21.436488,4.9383577,10.4224142,8.7082566,35.4241959,5.9659091,0.568586,0.5627075,9.7396007,6.9173703,46.9204243,10.9692461,28.2320169,70.5978932,43.2291655,46.1401274,21.8964057,5.1013131,10.0575508,8.4626463,34.9231593,5.9921415,0.5942254,0.5754746,9.3961199,6.6642707,46.1972073,10.7192757,27.8020862,70.3627924,43.6829451,46.3509322,22.0567485,5.0465841,9.7550527,8.3285849,34.9468457,5.5772994,0.6615077,0.6340318,9.697774,6.8140902,46.2835517,10.4197518,27.8133503,69.9114452,43.1948212,45.5926442,21.6689385,5.0204362,9.5937387,7.972006,34.6409676,5.3773585 +1164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7218422,0.7995289,9.6929827,6.382632,48.2872299,14.8036565,27.1090296,65.0946768,34.1107249,41.0326551,19.1533006,3.316305,10.8446291,10.5904255,38.8965675,3.363443,0.872553,0.9493264,9.8234943,6.3265708,46.8008354,14.5177049,27.1277305,64.6094753,34.6138946,41.2792859,19.5582938,3.3461261,10.9372577,11.2386441,39.3724787,3.3304611,0.8320583,0.9094116,9.9431281,6.2572955,45.7390622,15.6691796,27.3363929,64.3557122,35.4170178,41.4026958,19.8464596,3.4982367,11.9112729,11.4893049,40.9476022,3.4623178,0.843935,0.9200673,10.0599685,6.509344,45.7483965,15.8048564,27.290812,64.8253855,36.1640354,40.7019307,18.9436081,3.6516288,11.7753481,11.3680165,39.8476327,2.4265319,0.8494382,0.9231747,10.1419618,6.4315607,45.2777986,15.5309196,27.4315657,64.7998636,37.3293299,40.829302,19.2241353,3.3966884,11.1445783,10.3575745,39.1148792,6.9426702 +1165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.657742,0.6392787,8.1267598,4.9658121,38.3731655,10.8167348,28.5279939,67.5610478,36.0949379,48.3784707,21.3148522,3.2920342,10.1439543,10.174978,29.4270455,2.5679766,0.6304307,0.6126704,7.9163703,4.8809833,37.1816363,10.8756544,29.0680925,67.636026,35.7550736,48.958071,21.6423483,3.1729235,10.1920418,9.8418141,29.8750679,2.5679766,0.6670558,0.6374031,7.9309127,4.8729957,36.2756589,10.8652654,28.8815096,67.9045854,36.1269368,48.4019815,21.6905691,3.2594612,9.7977966,9.538306,29.4837032,3.097347,0.6177634,0.5837157,7.8442804,4.9447444,35.3697611,10.7157513,29.2399414,67.7231649,36.4554852,48.0249537,21.0760672,3.2039819,9.9859475,9.8431038,30.4678953,2.7298851,0.63508,0.6066086,7.9371418,5.0368671,35.4238453,10.7095768,29.8233063,67.8310779,36.5634483,48.0304834,21.1745875,3.3000469,10.302171,10.1319686,31.1888765,2.7696793 +1166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2867626,1.5014909,26.1129655,21.322272,48.5707371,16.1909272,40.8428232,64.1034123,37.4547847,47.771952,24.5302813,3.8868795,10.7733246,9.7035398,31.6020205,22.57099,1.1770957,1.359681,24.3699531,19.8732529,48.0198604,16.2797091,40.5269159,63.4216919,37.0894962,47.3593568,24.6138989,3.9992389,11.3371428,10.287495,32.5670259,19.6026706,1.3403928,1.4028127,24.3268484,19.7318561,48.8804646,15.2593581,41.9406444,63.9482147,36.6460874,46.9048114,24.4474193,4.0584256,11.7179589,11.0488711,32.1208455,17.8791311,1.4027695,1.4853808,24.105699,19.9597205,47.3200906,15.4638243,42.5012002,64.748204,38.5102843,48.1616725,24.7356592,4.0288941,11.0215753,10.7499087,31.1057957,15.8391158,1.5983054,1.6810146,24.1315501,20.0907359,47.2412518,15.4934796,42.970979,63.9514927,39.5751037,47.9604599,25.6662148,4.0952281,11.7783922,11.5061347,30.5537547,16.8717317 +1167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0924826,1.0924826,19.0243316,15.7103091,83.1309841,15.3408058,33.741608,66.3315991,33.8574602,37.4370421,17.000696,4.2431396,13.4619623,11.5350833,38.8757372,14.0260761,1.0381004,1.0381004,19.4226751,15.9940907,82.8611203,15.7925721,33.6420971,66.540821,34.9608616,37.0300795,17.6055523,4.5113177,14.3937387,12.8598807,39.042456,13.8401588,1.2716089,1.2982915,19.050942,15.6541107,82.5618167,15.3418334,33.1424825,66.1120532,35.0020049,37.5632267,17.7137328,4.4527399,14.0945293,13.0077475,40.17773,13.9380994,1.3172285,1.3435155,18.7801092,15.2634621,83.205703,15.4417139,32.2009388,65.6684137,34.492641,37.7082565,18.2606048,4.6177882,14.4902713,12.2654475,39.3404762,13.7984255,1.4883986,1.5149594,19.5336517,15.2874884,83.8078366,15.3679971,31.352205,64.9329506,33.5497146,37.0854849,18.1467494,4.7200979,13.7971336,12.153692,39.9450453,12.8234491 +1168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5512524,0.5859048,7.2110928,4.4975298,38.0071176,24.9503849,30.2413068,70.0100754,35.6209367,48.1397464,17.9235778,7.6168814,12.0655669,8.8789506,30.6965061,2.2613065,0.5735749,0.597033,7.7919111,4.7969941,37.3708777,25.0378718,29.9387163,70.4185827,35.2986608,48.5196428,17.3813115,8.0398019,12.5625812,9.5595356,32.0820518,2.4064171,0.5634747,0.6019916,8.0468638,4.808208,37.2963249,24.8137486,29.0054844,69.4877134,34.2793047,47.9407003,17.1521461,8.0612575,12.0605174,9.433017,32.8278062,2.3560148,0.5602755,0.6318676,8.4924371,5.2129558,36.7675941,24.7090515,29.3440789,70.2153935,34.1899065,47.4546807,17.0582059,8.5902873,11.3966691,9.5630789,32.8307894,1.7676723,0.5397502,0.5869398,8.2233706,5.0188571,36.1838737,24.6744603,29.0451438,70.5315507,34.3132616,46.7309123,16.2511771,8.3019521,10.0571638,9.2945352,32.9350714,2.2613009 +1169,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6773137,0.6805897,7.6086957,4.8515376,56.7502668,18.4635417,31.6412415,67.8853235,33.1667543,44.5817991,18.1746449,4.918464,10.2985075,8.8235294,33.7525151,2.5139665,0.6871131,0.6734659,6.8936877,3.9036545,55.0696379,19.0928843,30.9484649,67.2971491,32.6480263,45.2576754,18.558114,5.0164474,9.8150051,8.281893,33.4543568,2.7607362,0.7276995,0.7132539,6.5114909,3.8597525,53.5,19.5002872,30.887471,66.7923434,32.4535963,45.562645,18.6484919,5.24942,9.5733042,7.8485181,32.7986726,3.0612245,0.7121383,0.6971064,6.4189189,4.0233415,51.7083588,19.8626045,30.9753161,66.9175196,33.2028898,46.0264901,18.9945816,5.0872968,8.2946636,7.2759022,31.6686251,1.8939394,0.6979647,0.6826037,6.147541,3.8776797,50.1566416,20.7820197,31.3354037,68.3540373,34.3167702,46.242236,20.0310559,5.7453416,8.5411471,7.8222778,32.3047859,2.8688525 +1170,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2072856,1.2649548,27.5937243,23.1324923,40.4108048,19.1509282,38.2438191,67.3668076,34.7814157,46.839272,22.228274,4.2353219,14.3771225,14.1477539,33.1710973,15.2775625,1.0267775,1.0835013,27.1135141,22.8499218,41.0220979,19.2331077,37.3249704,68.1513618,34.1508834,46.2375178,22.0636141,3.3877731,14.6475864,13.8271089,32.8561842,14.4123848,1.1647566,1.1694574,27.2235695,22.6517896,41.975643,19.2258024,37.500917,68.1488378,33.8445754,45.4218288,21.7189024,3.1988298,13.9830068,13.6748287,33.4544286,18.8529768,1.3362129,1.3689887,27.9367307,23.5429536,42.3280761,19.0977257,37.3046692,67.9024957,34.207941,46.1688714,21.0333307,3.1873072,12.9843996,12.3314394,33.6529842,19.9452462,1.4461326,1.4784544,28.7652913,24.9689952,43.2131562,18.7023151,36.4479585,67.5451502,33.756874,44.9404188,19.8223948,2.9004458,13.2686095,11.763617,34.0552528,19.4443462 +1171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6019277,0.6364682,7.6725898,5.2571428,46.1177976,18.5478496,30.2516462,68.5996431,37.0579636,45.2107283,20.6116517,4.5915817,9.3374409,8.6436358,30.940974,3.0039062,0.5486675,0.5688132,7.8713827,5.1737385,44.6092175,18.4416141,30.1439644,67.9515598,36.2674474,45.2250954,20.4938588,4.7158485,9.8266699,8.6929439,30.85306,2.8535511,0.5559075,0.5710776,8.0068259,5.2174572,43.5980053,18.3070835,30.6125718,67.9482195,36.0108878,45.3519483,19.9729284,4.9404957,9.8628393,8.9774452,31.7954772,3.2711562,0.5414514,0.5558893,8.3876107,5.4449655,43.3947839,18.212742,30.4976317,67.6654476,35.4467348,45.2139882,19.9666926,5.0322745,10.4667761,8.7510024,31.1125864,3.6164081,0.470252,0.4603845,8.4106778,5.5298841,43.5633002,18.7353631,29.712936,67.7833397,35.4286739,44.5198679,20.0764788,4.9393432,10.1691046,8.5673415,31.3657758,3.0247147 +1172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6317498,0.6966427,12.5951005,7.6678479,52.8969076,21.7077245,33.8896137,68.8224049,34.7118412,48.1543081,21.37082,3.9387853,13.8739215,12.3025666,39.0107599,4.0540497,0.5547038,0.6210168,11.433498,7.074889,51.8962527,21.6827284,34.2638702,68.3754822,35.1471204,47.9627654,21.1739075,3.9357405,14.6987644,12.4151562,39.2470197,3.2163724,0.6418216,0.6351552,11.6015648,7.2966305,51.4275094,20.5686071,33.9597229,67.3413274,35.3757369,47.5895055,21.4256977,3.8347696,15.4581814,13.1837672,40.6991343,4.6583764,0.6464101,0.6396327,11.0897952,7.1352476,50.5421956,19.8562118,34.5882433,67.3938237,35.888138,47.0948998,21.7710803,3.7032824,14.7187767,12.6601854,40.2991383,4.7770579,0.8974784,0.8802938,10.7852246,7.0310431,49.7033442,19.8456988,34.4999505,67.4185136,36.2656708,46.89984,21.9199108,3.7515458,14.4106309,13.0742973,39.6646944,5.5920211 +1173,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2529241,1.3077518,23.3891825,19.5326872,50.208439,18.5109134,37.6589654,65.9963493,34.8957394,45.8198276,21.0923906,3.1059907,14.8098635,12.3550469,37.8134428,12.2837455,1.2284668,1.2871188,23.6223793,19.7547094,50.3345571,18.2303463,38.0065448,65.7482707,34.0058024,45.8809658,20.5836777,2.8764051,15.0618591,12.4166175,38.0986987,13.2978771,1.276951,1.3170708,24.0164274,20.2102836,51.2788392,17.7305585,39.1116052,65.9758111,33.7359493,46.8229233,20.529376,2.8097079,15.6376548,12.4788142,37.0276326,13.1119019,1.2486357,1.2634711,24.1777269,20.2977189,51.4674326,17.4877226,39.7673997,65.3199453,34.5148498,46.9864079,20.6123497,2.8917075,15.463982,12.3131306,35.9965422,14.403983,1.1883305,1.2028583,24.7920085,21.1129818,52.2896968,17.4611806,39.7737018,65.1925806,34.3259402,46.8580841,20.8375915,2.5820291,15.1446939,11.6620786,35.4884852,13.5092941 +1174,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.491626,0.501704,7.7029642,4.9256506,55.0813383,17.3738506,32.6818342,67.4501038,36.5578059,47.0146755,21.878608,6.5561593,9.1429484,7.7936161,32.3630179,3.3769259,0.491267,0.5055273,7.482343,4.711104,53.8679762,17.7779626,32.7326532,67.5549881,36.8104903,47.1488988,21.7005088,6.5566829,9.086576,7.5071761,32.1657176,3.1395552,0.558347,0.5895171,7.8064372,4.8559712,52.239748,18.0854804,32.5410827,67.6709635,36.9234837,47.4200383,21.7794672,6.9181826,9.3540903,8.0515606,32.9473056,3.9473876,0.6488578,0.6812773,8.0273698,4.9406208,51.7584711,18.4272722,32.5229353,67.8990794,36.834865,47.2935792,21.4403661,7.3669715,9.7232025,8.5318921,33.7495732,3.4264161,0.6969812,0.7374629,7.907988,5.0746955,50.5550079,18.9641814,32.7231807,68.5493289,37.7349263,47.7584155,21.3880178,7.4686756,10.1998522,9.332586,33.8313275,3.534052 +1175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.921487,0.9758221,9.1309917,5.8035557,20.383741,17.8815296,32.7408534,68.487877,38.6675965,50.4387022,22.6829569,5.3475705,10.1891447,8.6865917,26.0297686,6.8535509,0.9357523,0.9431193,8.9994307,5.5400601,19.8040115,18.0179688,32.7516596,67.8710533,38.627576,50.0612376,22.33785,5.187798,10.0932198,9.3962927,25.4460722,6.5879523,0.9382653,0.9091915,9.1289572,5.6702773,19.4355184,17.3696555,32.6185746,67.5375399,39.2869544,49.9848788,22.5789201,5.0582726,9.5008683,8.9108032,24.9789322,8.605725,0.8366334,0.8010998,8.9894895,5.5826819,19.9064949,17.4660428,32.3571234,67.2234048,39.7705171,49.7943884,22.5250972,5.0501077,8.9875425,9.0001241,24.7765646,6.4388183,0.7911693,0.7565433,8.6869463,5.5143789,19.3716422,17.3063449,32.3506111,67.8029791,38.8700351,50.0614116,21.9876571,5.030317,9.368249,9.3159263,24.6372447,5.5550741 +1176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.657075,0.6277064,7.6876495,5.041508,51.0525408,11.7360904,29.5391723,66.3013526,32.8529467,41.9313085,17.9409728,14.9723847,10.5977293,9.0893436,36.9595261,3.6091549,0.6036969,0.5600509,8.0029966,5.4047304,49.4524933,11.7389874,29.7245352,66.3689588,33.2136906,42.3121934,17.9883145,15.2003344,10.5166025,8.9765073,36.9337347,3.2627872,0.6239311,0.5972492,7.9074491,5.2274882,48.9868586,11.9080778,30.122271,66.0056535,32.8970084,41.7071697,17.6751855,15.6842763,10.2796307,9.1732935,37.2313098,3.0782035,0.6266632,0.6010152,7.6905831,5.0546676,48.444608,11.9860471,30.4690968,66.1028538,32.7394408,41.4148313,17.4785783,15.3134846,10.2458995,8.9681347,37.0364708,2.6655892,0.5670163,0.5408359,7.487294,4.8293411,47.9914565,12.1528267,30.7181414,66.3917789,33.2287292,41.8552126,17.4062218,15.304332,9.715707,8.4604115,36.6933069,2.4447946 +1177,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8271222,1.8271222,34.9563953,30.8866279,62.6315789,5.8357349,36.5942029,62.6811594,26.4492754,40.942029,15,5.1449275,16.4156627,11.8618619,40.2694611,14.5833333,1.9870188,1.9870188,35.3151862,30.730659,62.2938531,5.387931,35.6213873,63.2225434,26.2283237,41.2572254,15.2456647,4.6965318,16.3663664,12.1257485,41.641791,14.5833333,1.926055,1.926055,34.5545977,29.9568966,63.9183056,5.8357349,33.6482558,64.3168605,26.9622093,41.6424419,15.4796512,5.7412791,15.1651652,11.2275449,39.8507463,14.0718563,1.5489345,1.5489345,34.7283407,30.4698972,65.5145929,6.3970588,33.2095097,62.7786033,26.5230312,40.6389302,14.1901932,5.7206538,14.84375,10.7476636,37.1118012,16.4596273,1.544093,1.544093,35.1739788,30.484115,66.6405024,7.7443609,32.7507599,62.2340426,26.2158055,40.3495441,13.6018237,5.6990881,15.7643312,10.9177215,36.984127,17.2077922 +1178,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.491267,0.5055273,7.482343,4.711104,53.8679762,17.7779626,32.7326532,67.5549881,36.8104903,47.1488988,21.7005088,6.5566829,9.086576,7.5071761,32.1657176,3.1395552,0.558347,0.5895171,7.8064372,4.8559712,52.239748,18.0854804,32.5410827,67.6709635,36.9234837,47.4200383,21.7794672,6.9181826,9.3540903,8.0515606,32.9473056,3.9473876,0.6488578,0.6812773,8.0273698,4.9406208,51.7584711,18.4272722,32.5229353,67.8990794,36.834865,47.2935792,21.4403661,7.3669715,9.7232025,8.5318921,33.7495732,3.4264161,0.6969812,0.7374629,7.907988,5.0746955,50.5550079,18.9641814,32.7231807,68.5493289,37.7349263,47.7584155,21.3880178,7.4686756,10.1998522,9.332586,33.8313275,3.534052,0.7366831,0.7781801,7.9796154,5.1706224,49.4404498,19.5235132,32.9049126,68.0564227,38.3385611,47.0950891,21.0135845,7.3040746,10.1493099,9.2577693,33.096891,3.8028126 +1179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8461547,0.8461547,14.0943304,10.6505321,54.7525948,31.5145894,34.0466802,65.6939779,33.6576998,45.979455,16.277643,5.5123283,13.5442735,10.2529535,32.864485,6.5214691,0.6531879,0.6531879,13.9704703,10.0935572,55.6680997,31.0594476,32.7332607,64.8667153,33.2667327,45.533522,16.33343,5.2667193,14.7058147,10.8694485,33.7211075,6.8178793,0.6289372,0.6289372,13.605843,10.1206849,56.5014394,30.1972456,32.8249059,67.4403491,34.5491958,46.6182311,16.5120562,4.5756484,14.0150759,8.7119787,34.4785557,6.3755248,0.5512369,0.5512369,12.3448003,8.8966315,56.9157165,30.502715,31.3873682,66.8269016,35.6457166,45.5358461,17.1016637,3.7775063,14.0151314,8.4595338,32.6973234,6.7372579,0.8420891,0.8420891,12.1865921,8.1477004,58.8607515,31.7428637,30.9257161,65.7081967,34.4320569,45.932855,18.0224518,3.436214,14.0711151,8.8798299,31.2672522,6.2496783 +1180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5486675,0.5688132,7.8713827,5.1737385,44.6092175,18.4416141,30.1439644,67.9515598,36.2674474,45.2250954,20.4938588,4.7158485,9.8266699,8.6929439,30.85306,2.8535511,0.5559075,0.5710776,8.0068259,5.2174572,43.5980053,18.3070835,30.6125718,67.9482195,36.0108878,45.3519483,19.9729284,4.9404957,9.8628393,8.9774452,31.7954772,3.2711562,0.5414514,0.5558893,8.3876107,5.4449655,43.3947839,18.212742,30.4976317,67.6654476,35.4467348,45.2139882,19.9666926,5.0322745,10.4667761,8.7510024,31.1125864,3.6164081,0.470252,0.4603845,8.4106778,5.5298841,43.5633002,18.7353631,29.712936,67.7833397,35.4286739,44.5198679,20.0764788,4.9393432,10.1691046,8.5673415,31.3657758,3.0247147,0.4106641,0.4010445,8.4577804,5.4969562,43.8268561,18.5456541,29.7958128,67.658225,34.4899217,44.3940314,19.7928722,4.6651635,10.1684459,8.8673342,30.9662918,2.916153 +1181,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5588727,0.5747668,11.0253106,7.8071118,36.2306463,12.8488544,31.0222132,67.2385381,39.6735607,48.1204728,21.7252104,6.1238448,9.037775,8.9665499,32.9520225,6.9343116,0.6029121,0.6078237,10.9278624,7.8354654,35.3820757,13.1965852,31.73076,67.7600074,39.9454725,48.0730881,21.4849809,6.2447983,8.3750042,8.7156094,32.5396145,6.7857191,0.5591007,0.5642918,10.9411347,7.8785047,35.5159816,13.6352457,32.2492452,68.0183967,39.736039,48.4754158,21.2674314,6.3425448,8.1283079,9.1029264,32.4954475,7.0895575,0.5729715,0.5871146,10.3829527,7.2564006,34.7031899,13.3681146,32.6328717,68.8759518,41.3635703,49.3379696,21.6367622,6.253139,8.4646332,8.9271912,31.3059183,5.1181143,0.5271897,0.5418758,10.038871,7.1360649,33.824758,13.1542854,32.8836319,68.540798,40.9372065,48.7959889,21.6358725,6.4588521,8.1149331,8.5036724,31.6563886,6.0000048 +1182,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5773599,0.5732945,7.5552437,5.0028716,71.1333796,8.2244997,25.6238703,65.7222378,32.8306379,40.5092171,16.3181446,5.8870051,10.1678363,8.7320004,35.0098284,4.5693277,0.6077662,0.5930191,7.4387969,4.8747325,68.8695372,8.4811346,25.4740936,65.8362674,33.1230894,40.6746981,16.3614194,6.1794713,9.9597018,8.5333327,34.6816327,4.3049793,0.5933403,0.5840627,7.3318052,4.7644491,67.4117329,8.4383245,25.8457467,66.075168,33.3796131,40.8550683,16.5055329,6.4960846,9.8449333,8.2465213,34.1410553,4.8186528,0.583237,0.5657887,7.4754193,4.9091691,66.4294555,8.5721948,25.9692494,66.5690288,33.1992377,41.20556,16.5276151,6.6230469,9.6098774,8.0337122,35.0179206,4.7938144,0.5706192,0.5592598,7.7025862,5.000652,65.212968,8.3950182,25.6465694,66.2312924,33.2022218,41.3417504,16.8424207,6.727113,9.8352285,8.5289989,35.2132509,4.6161322 +1183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0152725,1.0822941,12.3781652,8.2845966,43.3110292,15.0227154,32.2909939,67.6431997,37.2942667,46.7742028,24.5885434,4.3778679,12.0800936,12.4677164,40.3246728,3.9855072,1.0758781,1.1677934,12.5923561,8.7130446,42.8342948,14.9938522,31.7724907,66.4047873,36.3607697,46.1030851,24.7328786,4.6825845,12.4211901,12.0581106,39.6333779,5.7432471,1.0365982,1.1165691,11.9416236,7.8915926,41.5893707,15.0476794,30.8277799,67.0420066,36.3663935,47.0176499,25.2282533,4.2909262,12.7935647,12.1906233,40.1863255,3.7671259,0.8846185,0.9782222,12.6628726,8.4702361,41.380344,14.4362179,31.3845601,67.7428858,36.1547247,47.3822039,24.7527777,3.6940094,12.9739264,12.7672492,38.5577969,4.8701362,0.8907328,0.9810036,12.840773,8.8058753,40.828582,14.3131766,32.6319002,68.4904797,36.6161444,46.773287,24.7194331,3.5634135,14.1618216,13.1365917,38.5464947,5.6666704 +1184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5559075,0.5710776,8.0068259,5.2174572,43.5980053,18.3070835,30.6125718,67.9482195,36.0108878,45.3519483,19.9729284,4.9404957,9.8628393,8.9774452,31.7954772,3.2711562,0.5414514,0.5558893,8.3876107,5.4449655,43.3947839,18.212742,30.4976317,67.6654476,35.4467348,45.2139882,19.9666926,5.0322745,10.4667761,8.7510024,31.1125864,3.6164081,0.470252,0.4603845,8.4106778,5.5298841,43.5633002,18.7353631,29.712936,67.7833397,35.4286739,44.5198679,20.0764788,4.9393432,10.1691046,8.5673415,31.3657758,3.0247147,0.4106641,0.4010445,8.4577804,5.4969562,43.8268561,18.5456541,29.7958128,67.658225,34.4899217,44.3940314,19.7928722,4.6651635,10.1684459,8.8673342,30.9662918,2.916153,0.3816717,0.3732877,8.7674748,5.6419801,43.7709095,18.8688672,29.2332827,67.8558836,34.6773844,44.3076494,19.3461687,4.7023483,10.4771479,8.3906073,30.8849502,2.3547726 +1185,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5840848,1.5648811,30.3805086,25.5676639,46.9787178,14.5671919,33.6031652,61.5415355,29.4469425,43.3681653,17.4838811,2.3716719,16.5316862,13.1916095,43.0349309,20.299154,1.5331563,1.5133067,30.6825644,26.3827698,48.3045789,14.4538358,32.8989292,61.1881896,28.6153816,42.2782794,17.0656239,2.227869,16.303925,13.1332051,44.518177,19.0789557,1.5412975,1.5348161,31.7690629,27.252684,49.3311726,14.0545942,33.6188503,60.1706639,27.9849704,42.753824,16.8768851,2.2234695,16.641461,13.2503166,44.2855522,17.7824268,1.6585931,1.6906783,33.4949311,28.4286009,49.9201099,14.0869688,33.4709825,58.7909064,28.0507352,42.2583215,16.2174233,1.9982974,17.1790121,12.7979953,44.2798647,21.4,1.58481,1.5974446,33.4923699,28.7052334,50.7932353,14.0721332,33.8464448,58.7965032,28.2019059,42.8458454,16.4933532,1.9206809,17.1423024,12.4402641,43.8801368,21.9844529 +1186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9357523,0.9431193,8.9994307,5.5400601,19.8040115,18.0179688,32.7516596,67.8710533,38.627576,50.0612376,22.33785,5.187798,10.0932198,9.3962927,25.4460722,6.5879523,0.9382653,0.9091915,9.1289572,5.6702773,19.4355184,17.3696555,32.6185746,67.5375399,39.2869544,49.9848788,22.5789201,5.0582726,9.5008683,8.9108032,24.9789322,8.605725,0.8366334,0.8010998,8.9894895,5.5826819,19.9064949,17.4660428,32.3571234,67.2234048,39.7705171,49.7943884,22.5250972,5.0501077,8.9875425,9.0001241,24.7765646,6.4388183,0.7911693,0.7565433,8.6869463,5.5143789,19.3716422,17.3063449,32.3506111,67.8029791,38.8700351,50.0614116,21.9876571,5.030317,9.368249,9.3159263,24.6372447,5.5550741,0.9313324,0.8951097,9.3064876,6.0691621,19.250365,17.5725021,32.8961935,67.5419736,38.8556206,49.9846397,22.2003102,5.2685572,9.7333886,9.2557951,25.315658,7.1422396 +1187,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5331563,1.5133067,30.6825644,26.3827698,48.3045789,14.4538358,32.8989292,61.1881896,28.6153816,42.2782794,17.0656239,2.227869,16.303925,13.1332051,44.518177,19.0789557,1.5412975,1.5348161,31.7690629,27.252684,49.3311726,14.0545942,33.6188503,60.1706639,27.9849704,42.753824,16.8768851,2.2234695,16.641461,13.2503166,44.2855522,17.7824268,1.6585931,1.6906783,33.4949311,28.4286009,49.9201099,14.0869688,33.4709825,58.7909064,28.0507352,42.2583215,16.2174233,1.9982974,17.1790121,12.7979953,44.2798647,21.4,1.58481,1.5974446,33.4923699,28.7052334,50.7932353,14.0721332,33.8464448,58.7965032,28.2019059,42.8458454,16.4933532,1.9206809,17.1423024,12.4402641,43.8801368,21.9844529,1.5927845,1.6434188,33.8201021,29.2319376,51.9374469,14.4509856,33.6687938,59.3137799,28.2477642,42.2527997,16.0706234,1.597492,16.6641535,12.2099144,42.9242832,23.5408744 +1188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6304307,0.6126704,7.9163703,4.8809833,37.1816363,10.8756544,29.0680925,67.636026,35.7550736,48.958071,21.6423483,3.1729235,10.1920418,9.8418141,29.8750679,2.5679766,0.6670558,0.6374031,7.9309127,4.8729957,36.2756589,10.8652654,28.8815096,67.9045854,36.1269368,48.4019815,21.6905691,3.2594612,9.7977966,9.538306,29.4837032,3.097347,0.6177634,0.5837157,7.8442804,4.9447444,35.3697611,10.7157513,29.2399414,67.7231649,36.4554852,48.0249537,21.0760672,3.2039819,9.9859475,9.8431038,30.4678953,2.7298851,0.63508,0.6066086,7.9371418,5.0368671,35.4238453,10.7095768,29.8233063,67.8310779,36.5634483,48.0304834,21.1745875,3.3000469,10.302171,10.1319686,31.1888765,2.7696793,0.5690291,0.564866,7.7231847,4.9178645,34.4676074,10.7568836,30.3616284,68.7305352,36.9805107,48.2797947,21.175216,3.2395873,10.2164394,9.7274439,31.0146833,3.1343302 +1189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.872553,0.9493264,9.8234943,6.3265708,46.8008354,14.5177049,27.1277305,64.6094753,34.6138946,41.2792859,19.5582938,3.3461261,10.9372577,11.2386441,39.3724787,3.3304611,0.8320583,0.9094116,9.9431281,6.2572955,45.7390622,15.6691796,27.3363929,64.3557122,35.4170178,41.4026958,19.8464596,3.4982367,11.9112729,11.4893049,40.9476022,3.4623178,0.843935,0.9200673,10.0599685,6.509344,45.7483965,15.8048564,27.290812,64.8253855,36.1640354,40.7019307,18.9436081,3.6516288,11.7753481,11.3680165,39.8476327,2.4265319,0.8494382,0.9231747,10.1419618,6.4315607,45.2777986,15.5309196,27.4315657,64.7998636,37.3293299,40.829302,19.2241353,3.3966884,11.1445783,10.3575745,39.1148792,6.9426702,0.8533715,0.8785568,10.58331,6.7561412,44.8044015,15.4044596,27.1871975,64.0161259,37.5308161,40.5691364,19.1809155,3.2739065,11.7644229,10.0875913,37.8849789,9.1322006 +1190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3726542,0.3693778,9.3523926,6.747487,78.2207275,10.3328856,29.4258868,68.7706375,28.7633803,44.1112062,14.5932735,3.3308615,12.1159446,11.7747243,32.4075191,4.044076,0.4050861,0.4166726,9.8273328,6.81486,78.1495863,10.4552151,29.5269096,69.2436452,29.3033229,44.0202131,14.6237089,3.632617,12.3792688,11.896589,32.9981307,3.0821622,0.5169653,0.5112083,9.4881437,6.4533904,77.5672908,10.5543185,29.2715347,68.8424319,29.7523042,44.3232643,14.8483657,3.7536721,12.189235,12.1201748,33.8564138,2.3026255,0.4509225,0.445089,9.2036686,6.2406857,76.0127398,11.0308352,29.1885174,68.8668742,29.9739007,43.3246435,15.1270989,4.0201659,12.8392724,12.552105,33.9536969,2.9411688,0.4324986,0.461604,9.4015137,6.1506652,75.7076172,10.7024335,29.3624788,68.4004727,30.1454482,43.7546842,14.7836864,3.9708869,12.334132,12.1857013,32.6409647,2.8845876 +1191,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6871131,0.6734659,6.8936877,3.9036545,55.0696379,19.0928843,30.9484649,67.2971491,32.6480263,45.2576754,18.558114,5.0164474,9.8150051,8.281893,33.4543568,2.7607362,0.7276995,0.7132539,6.5114909,3.8597525,53.5,19.5002872,30.887471,66.7923434,32.4535963,45.562645,18.6484919,5.24942,9.5733042,7.8485181,32.7986726,3.0612245,0.7121383,0.6971064,6.4189189,4.0233415,51.7083588,19.8626045,30.9753161,66.9175196,33.2028898,46.0264901,18.9945816,5.0872968,8.2946636,7.2759022,31.6686251,1.8939394,0.6979647,0.6826037,6.147541,3.8776797,50.1566416,20.7820197,31.3354037,68.3540373,34.3167702,46.242236,20.0310559,5.7453416,8.5411471,7.8222778,32.3047859,2.8688525,0.8174224,0.7776452,5.9803922,3.8888889,48.3776768,20.7961783,30.9691913,69.4801027,34.6919127,46.1810013,19.5442875,6.0012837,7.992074,7.2281167,32.3803191,3.0434783 +1192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1770957,1.359681,24.3699531,19.8732529,48.0198604,16.2797091,40.5269159,63.4216919,37.0894962,47.3593568,24.6138989,3.9992389,11.3371428,10.287495,32.5670259,19.6026706,1.3403928,1.4028127,24.3268484,19.7318561,48.8804646,15.2593581,41.9406444,63.9482147,36.6460874,46.9048114,24.4474193,4.0584256,11.7179589,11.0488711,32.1208455,17.8791311,1.4027695,1.4853808,24.105699,19.9597205,47.3200906,15.4638243,42.5012002,64.748204,38.5102843,48.1616725,24.7356592,4.0288941,11.0215753,10.7499087,31.1057957,15.8391158,1.5983054,1.6810146,24.1315501,20.0907359,47.2412518,15.4934796,42.970979,63.9514927,39.5751037,47.9604599,25.6662148,4.0952281,11.7783922,11.5061347,30.5537547,16.8717317,1.8704163,1.9535017,24.8603369,20.6870181,47.9354424,15.8481305,42.7144193,64.7310233,40.4533309,49.6257854,25.5656312,4.5553209,12.3743037,10.7073284,32.3210931,17.4056297 +1193,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6029121,0.6078237,10.9278624,7.8354654,35.3820757,13.1965852,31.73076,67.7600074,39.9454725,48.0730881,21.4849809,6.2447983,8.3750042,8.7156094,32.5396145,6.7857191,0.5591007,0.5642918,10.9411347,7.8785047,35.5159816,13.6352457,32.2492452,68.0183967,39.736039,48.4754158,21.2674314,6.3425448,8.1283079,9.1029264,32.4954475,7.0895575,0.5729715,0.5871146,10.3829527,7.2564006,34.7031899,13.3681146,32.6328717,68.8759518,41.3635703,49.3379696,21.6367622,6.253139,8.4646332,8.9271912,31.3059183,5.1181143,0.5271897,0.5418758,10.038871,7.1360649,33.824758,13.1542854,32.8836319,68.540798,40.9372065,48.7959889,21.6358725,6.4588521,8.1149331,8.5036724,31.6563886,6.0000048,0.465572,0.4690932,9.2398345,6.6718151,32.741331,13.7890164,32.1052476,69.3183152,41.6106926,49.2367053,21.8864909,6.177025,8.7158776,8.7158877,31.7413447,4.4715484 +1194,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6778696,0.7361998,9.9396184,6.3604977,35.1156042,21.0088802,37.7051786,70.0301681,44.230829,52.8305179,24.6542452,3.8677533,9.5052013,9.9133957,29.8955056,4.0441206,0.7117075,0.7698065,9.9742694,6.4135741,34.8721038,20.8333055,36.92667,69.7599833,43.6562465,52.7861148,24.2391716,3.8791261,9.8877288,9.5340733,30.4856288,4.1984765,0.6241743,0.6634295,9.2942116,6.0525287,34.7527796,20.8873413,37.5564389,69.753616,43.593434,52.7104749,24.6611919,3.5934258,10.2489552,9.5771077,31.2082776,4.1984765,0.6049758,0.6239221,9.5707625,6.3998458,35.5490129,20.7550701,36.6588409,69.3699105,43.0377324,52.4115053,25.145846,3.4422365,10.79277,9.6862745,32.5314959,3.125,0.6817745,0.6883474,9.5752431,6.6825336,35.6125909,19.8940409,35.7779051,69.0494053,42.0906256,51.3739247,24.7493372,3.6576264,10.8760159,9.6881998,34.2909921,3.7671207 +1195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2871644,0.2810839,6.9041218,4.1981836,68.7883358,19.7893641,30.650755,63.5981392,29.4127396,40.0360664,15.3155432,5.9704636,9.8733271,8.3645943,35.5263216,3.1554532,0.2282775,0.2221411,6.9333029,3.9992095,68.0437792,19.1439979,31.0252283,63.806914,29.5314849,40.3917236,15.56323,5.5914562,9.6810125,7.8672662,35.1907387,4.2501573,0.3340767,0.3353141,7.5384215,4.2643641,67.3888227,19.0983816,31.2548695,63.8301092,29.9957303,40.4753445,16.2266976,5.2599656,9.475659,8.0827098,35.1320887,4.3591398,0.2863911,0.2938622,7.5337102,4.2670631,66.3555337,19.2898222,31.6637321,63.6343949,30.4372477,40.617456,16.6190254,4.885545,9.9325389,8.47139,35.109618,3.1402089,0.3997496,0.4260654,7.3699388,4.2320383,64.6189046,19.3948022,31.1115586,63.5972074,30.4552989,41.0377341,16.0582509,4.8605446,10.172678,8.6972937,34.1767552,3.1553413 +1196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5301398,0.5301398,8.6136092,5.7475536,65.0240572,13.783921,27.8829833,67.4406336,31.7694036,44.5654979,14.1390519,5.5766466,11.9388587,10.3997716,30.3570678,7.07271,0.4359439,0.4204351,8.1236194,5.4432624,63.5800018,14.7543406,27.6108235,67.4840561,32.5825309,44.8947567,14.5645264,5.622318,11.9176321,10.6563002,29.640869,5.8969051,0.3654733,0.349427,7.9280087,5.2225169,63.3787542,14.9301697,27.1299087,66.6263353,32.4421596,44.7566939,14.0565263,5.7778448,12.5264732,10.9264575,28.5764367,4.4041451,0.4331162,0.4331162,8.0928754,5.2085645,62.1907271,14.5090575,26.7904036,67.0019233,31.3949192,44.7986613,13.9324355,5.4740739,12.4039445,10.3919074,29.7192356,4.4271341,0.4310578,0.4462232,8.0186522,5.3080816,62.3645389,14.6275342,26.8891052,67.2474895,31.7100946,45.1627482,13.8598968,5.7166065,11.785984,9.6848603,29.6112911,3.640835 +1197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0381004,1.0381004,19.4226751,15.9940907,82.8611203,15.7925721,33.6420971,66.540821,34.9608616,37.0300795,17.6055523,4.5113177,14.3937387,12.8598807,39.042456,13.8401588,1.2716089,1.2982915,19.050942,15.6541107,82.5618167,15.3418334,33.1424825,66.1120532,35.0020049,37.5632267,17.7137328,4.4527399,14.0945293,13.0077475,40.17773,13.9380994,1.3172285,1.3435155,18.7801092,15.2634621,83.205703,15.4417139,32.2009388,65.6684137,34.492641,37.7082565,18.2606048,4.6177882,14.4902713,12.2654475,39.3404762,13.7984255,1.4883986,1.5149594,19.5336517,15.2874884,83.8078366,15.3679971,31.352205,64.9329506,33.5497146,37.0854849,18.1467494,4.7200979,13.7971336,12.153692,39.9450453,12.8234491,1.4816503,1.5078639,19.6393788,15.6169509,83.6798902,15.4781265,31.1008005,64.8702339,33.739525,37.5883335,17.4264145,5.0268641,13.8705155,11.3046187,37.0700483,13.5167971 +1198,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7117075,0.7698065,9.9742694,6.4135741,34.8721038,20.8333055,36.92667,69.7599833,43.6562465,52.7861148,24.2391716,3.8791261,9.8877288,9.5340733,30.4856288,4.1984765,0.6241743,0.6634295,9.2942116,6.0525287,34.7527796,20.8873413,37.5564389,69.753616,43.593434,52.7104749,24.6611919,3.5934258,10.2489552,9.5771077,31.2082776,4.1984765,0.6049758,0.6239221,9.5707625,6.3998458,35.5490129,20.7550701,36.6588409,69.3699105,43.0377324,52.4115053,25.145846,3.4422365,10.79277,9.6862745,32.5314959,3.125,0.6817745,0.6883474,9.5752431,6.6825336,35.6125909,19.8940409,35.7779051,69.0494053,42.0906256,51.3739247,24.7493372,3.6576264,10.8760159,9.6881998,34.2909921,3.7671207,0.7369593,0.7432353,9.9475573,7.0454625,35.665699,19.4716515,35.7675645,69.0298625,42.1286765,51.3681645,24.8933893,3.7491079,10.5583363,10.0644749,36.3734142,4.6874971 +1199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4424196,2.4732576,33.9779911,28.6317458,55.3578078,17.1653187,37.5179787,61.2271301,28.7562261,42.2672254,20.6935404,2.6251922,12.3835666,9.7327011,43.5601779,25.5500368,2.4973865,2.527521,34.7805119,29.5516269,57.0091011,16.9519367,36.9562377,62.082159,29.6230363,41.3517345,20.7165035,2.6152551,13.0961899,9.9856645,43.1419269,25.5490832,2.5944296,2.6494621,34.8821709,29.7433403,58.87496,16.7791874,36.7879476,62.9349448,29.4228873,41.0967747,20.6465035,2.5408592,14.3455143,10.686502,42.5702091,25.4135926,2.5447682,2.5703039,34.6965364,29.5674564,60.3912634,16.2174845,37.2916734,63.5815159,29.6456495,40.3348643,20.3181085,2.4571335,15.3611338,10.7638894,40.9139115,25.7621351,2.5298439,2.5473262,35.576646,30.7200392,60.9160315,15.6565022,37.7140645,62.8614687,29.428755,39.4823086,20.3570185,2.3453312,14.8398597,10.1613761,40.3771285,26.4829611 +1200,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0267775,1.0835013,27.1135141,22.8499218,41.0220979,19.2331077,37.3249704,68.1513618,34.1508834,46.2375178,22.0636141,3.3877731,14.6475864,13.8271089,32.8561842,14.4123848,1.1647566,1.1694574,27.2235695,22.6517896,41.975643,19.2258024,37.500917,68.1488378,33.8445754,45.4218288,21.7189024,3.1988298,13.9830068,13.6748287,33.4544286,18.8529768,1.3362129,1.3689887,27.9367307,23.5429536,42.3280761,19.0977257,37.3046692,67.9024957,34.207941,46.1688714,21.0333307,3.1873072,12.9843996,12.3314394,33.6529842,19.9452462,1.4461326,1.4784544,28.7652913,24.9689952,43.2131562,18.7023151,36.4479585,67.5451502,33.756874,44.9404188,19.8223948,2.9004458,13.2686095,11.763617,34.0552528,19.4443462,1.6464655,1.6788951,29.4765901,25.6128651,43.0566793,18.5875735,35.4678642,66.9895167,34.2624624,45.6541724,19.2544623,2.923177,13.4905662,11.9738806,34.0552567,19.1541833 +1201,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6241743,0.6634295,9.2942116,6.0525287,34.7527796,20.8873413,37.5564389,69.753616,43.593434,52.7104749,24.6611919,3.5934258,10.2489552,9.5771077,31.2082776,4.1984765,0.6049758,0.6239221,9.5707625,6.3998458,35.5490129,20.7550701,36.6588409,69.3699105,43.0377324,52.4115053,25.145846,3.4422365,10.79277,9.6862745,32.5314959,3.125,0.6817745,0.6883474,9.5752431,6.6825336,35.6125909,19.8940409,35.7779051,69.0494053,42.0906256,51.3739247,24.7493372,3.6576264,10.8760159,9.6881998,34.2909921,3.7671207,0.7369593,0.7432353,9.9475573,7.0454625,35.665699,19.4716515,35.7675645,69.0298625,42.1286765,51.3681645,24.8933893,3.7491079,10.5583363,10.0644749,36.3734142,4.6874971,0.7101284,0.7278091,10.0498402,6.8272512,35.1365097,19.7701525,35.8206365,69.1201458,41.3367555,50.9813859,24.8223342,3.7055841,10.9511089,9.8860704,35.371585,4.6012213 +1202,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5627689,0.5990842,11.5580527,8.162879,37.8125667,17.8606145,33.7664537,70.004508,40.0865419,48.343246,24.8977285,2.981591,11.4423091,10.2825609,36.2552537,5.8556659,0.6727715,0.7080011,11.3552471,7.8834395,37.1763829,18.1087797,33.9486748,70.6296467,39.1184913,48.424229,25.7258956,3.0772407,10.523829,9.5985482,37.5520954,7.3273714,0.7168445,0.7511436,11.5442826,8.0973803,37.8032708,18.0027485,32.5574335,70.369051,38.2676327,48.0085011,25.0237542,3.1429905,9.7404577,8.8153293,37.0848684,5.4165132,0.8306662,0.8208924,11.7746953,8.3766144,37.856735,18.0245642,31.9532151,69.4348844,37.8890588,48.1331368,24.4376448,3.1354615,9.3902877,9.2651636,39.6919865,5.0386269,0.815702,0.8061798,12.6607384,9.0302402,37.4817258,18.5483608,31.680527,69.6690317,38.0122098,48.8593486,24.2785378,3.2355602,8.6482679,9.1127385,38.9162807,8.711778 +1203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5735749,0.597033,7.7919111,4.7969941,37.3708777,25.0378718,29.9387163,70.4185827,35.2986608,48.5196428,17.3813115,8.0398019,12.5625812,9.5595356,32.0820518,2.4064171,0.5634747,0.6019916,8.0468638,4.808208,37.2963249,24.8137486,29.0054844,69.4877134,34.2793047,47.9407003,17.1521461,8.0612575,12.0605174,9.433017,32.8278062,2.3560148,0.5602755,0.6318676,8.4924371,5.2129558,36.7675941,24.7090515,29.3440789,70.2153935,34.1899065,47.4546807,17.0582059,8.5902873,11.3966691,9.5630789,32.8307894,1.7676723,0.5397502,0.5869398,8.2233706,5.0188571,36.1838737,24.6744603,29.0451438,70.5315507,34.3132616,46.7309123,16.2511771,8.3019521,10.0571638,9.2945352,32.9350714,2.2613009,0.5441661,0.5898966,8.0210136,5.2787946,35.7800422,24.7411311,28.9963524,69.0054487,34.1280322,45.7083943,15.4177914,7.7429328,10.5581468,9.8139635,33.3490333,2.2959067 +1204,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6547048,0.6810007,8.5194267,5.4873145,48.9998095,15.1860221,26.9360831,68.4744001,41.1696953,46.0646537,21.5107361,5.001681,11.8306229,9.9497265,32.7406013,8.3389037,0.6574024,0.7021836,8.6378871,5.8952369,48.1606274,14.5519891,26.8582976,68.3426468,41.0126376,46.0253079,21.902176,4.907659,11.2437592,9.9112539,32.7346566,6.7785756,0.5476564,0.5992293,9.1400345,6.3906006,47.8123867,14.2832434,27.7347595,68.3754857,41.0661049,45.8485702,22.1460445,5.185026,10.9246259,9.6023135,33.0729474,6.2167036,0.5825273,0.5969893,9.4944884,6.6591403,47.8809302,13.7116639,27.8245461,69.0377792,41.3567641,45.5719355,22.0470436,5.4313318,11.15553,10.2136247,33.830549,8.0110497,0.6329042,0.6468116,9.8892046,6.7755903,47.6042684,13.3993043,28.0130314,68.9600394,40.7200287,44.6092255,21.2982756,5.2834349,10.6352165,9.9992024,33.9863954,8.423913 +1205,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9382653,0.9091915,9.1289572,5.6702773,19.4355184,17.3696555,32.6185746,67.5375399,39.2869544,49.9848788,22.5789201,5.0582726,9.5008683,8.9108032,24.9789322,8.605725,0.8366334,0.8010998,8.9894895,5.5826819,19.9064949,17.4660428,32.3571234,67.2234048,39.7705171,49.7943884,22.5250972,5.0501077,8.9875425,9.0001241,24.7765646,6.4388183,0.7911693,0.7565433,8.6869463,5.5143789,19.3716422,17.3063449,32.3506111,67.8029791,38.8700351,50.0614116,21.9876571,5.030317,9.368249,9.3159263,24.6372447,5.5550741,0.9313324,0.8951097,9.3064876,6.0691621,19.250365,17.5725021,32.8961935,67.5419736,38.8556206,49.9846397,22.2003102,5.2685572,9.7333886,9.2557951,25.315658,7.1422396,0.8641711,0.788991,9.2755821,6.2432996,19.5901895,17.2826517,32.6215965,68.24229,38.8384225,49.594826,22.0674211,5.0921754,9.4650466,9.2114153,25.2264643,5.5555597 +1206,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.558347,0.5895171,7.8064372,4.8559712,52.239748,18.0854804,32.5410827,67.6709635,36.9234837,47.4200383,21.7794672,6.9181826,9.3540903,8.0515606,32.9473056,3.9473876,0.6488578,0.6812773,8.0273698,4.9406208,51.7584711,18.4272722,32.5229353,67.8990794,36.834865,47.2935792,21.4403661,7.3669715,9.7232025,8.5318921,33.7495732,3.4264161,0.6969812,0.7374629,7.907988,5.0746955,50.5550079,18.9641814,32.7231807,68.5493289,37.7349263,47.7584155,21.3880178,7.4686756,10.1998522,9.332586,33.8313275,3.534052,0.7366831,0.7781801,7.9796154,5.1706224,49.4404498,19.5235132,32.9049126,68.0564227,38.3385611,47.0950891,21.0135845,7.3040746,10.1493099,9.2577693,33.096891,3.8028126,0.7769197,0.8027202,8.3061244,5.5192705,48.0866475,19.782931,32.6333015,67.7149052,39.0097903,47.2796478,21.2078318,7.3014136,10.2483123,9.2460025,33.6225307,4.154723 +1207,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6574024,0.7021836,8.6378871,5.8952369,48.1606274,14.5519891,26.8582976,68.3426468,41.0126376,46.0253079,21.902176,4.907659,11.2437592,9.9112539,32.7346566,6.7785756,0.5476564,0.5992293,9.1400345,6.3906006,47.8123867,14.2832434,27.7347595,68.3754857,41.0661049,45.8485702,22.1460445,5.185026,10.9246259,9.6023135,33.0729474,6.2167036,0.5825273,0.5969893,9.4944884,6.6591403,47.8809302,13.7116639,27.8245461,69.0377792,41.3567641,45.5719355,22.0470436,5.4313318,11.15553,10.2136247,33.830549,8.0110497,0.6329042,0.6468116,9.8892046,6.7755903,47.6042684,13.3993043,28.0130314,68.9600394,40.7200287,44.6092255,21.2982756,5.2834349,10.6352165,9.9992024,33.9863954,8.423913,0.6301492,0.6327856,9.8300244,6.6792845,46.9312858,13.7106356,28.311664,69.2102846,40.7573153,45.3572689,21.2777968,5.5750235,11.0526074,9.6635787,34.057733,9.1145833 +1208,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5476564,0.5992293,9.1400345,6.3906006,47.8123867,14.2832434,27.7347595,68.3754857,41.0661049,45.8485702,22.1460445,5.185026,10.9246259,9.6023135,33.0729474,6.2167036,0.5825273,0.5969893,9.4944884,6.6591403,47.8809302,13.7116639,27.8245461,69.0377792,41.3567641,45.5719355,22.0470436,5.4313318,11.15553,10.2136247,33.830549,8.0110497,0.6329042,0.6468116,9.8892046,6.7755903,47.6042684,13.3993043,28.0130314,68.9600394,40.7200287,44.6092255,21.2982756,5.2834349,10.6352165,9.9992024,33.9863954,8.423913,0.6301492,0.6327856,9.8300244,6.6792845,46.9312858,13.7106356,28.311664,69.2102846,40.7573153,45.3572689,21.2777968,5.5750235,11.0526074,9.6635787,34.057733,9.1145833,0.6168436,0.6645466,9.8581699,6.4991658,46.4918939,13.1737185,27.4024594,69.2537975,40.6921608,45.1707879,20.1894538,5.0817929,11.3042185,9.4522574,34.9276891,9.9914473 +1209,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9870188,1.9870188,35.3151862,30.730659,62.2938531,5.387931,35.6213873,63.2225434,26.2283237,41.2572254,15.2456647,4.6965318,16.3663664,12.1257485,41.641791,14.5833333,1.926055,1.926055,34.5545977,29.9568966,63.9183056,5.8357349,33.6482558,64.3168605,26.9622093,41.6424419,15.4796512,5.7412791,15.1651652,11.2275449,39.8507463,14.0718563,1.5489345,1.5489345,34.7283407,30.4698972,65.5145929,6.3970588,33.2095097,62.7786033,26.5230312,40.6389302,14.1901932,5.7206538,14.84375,10.7476636,37.1118012,16.4596273,1.544093,1.544093,35.1739788,30.484115,66.6405024,7.7443609,32.7507599,62.2340426,26.2158055,40.3495441,13.6018237,5.6990881,15.7643312,10.9177215,36.984127,17.2077922,1.9652946,1.9652946,36.7824773,31.9486405,66.3249211,7.0241692,32.6952527,61.0260337,26.5696784,39.5865237,13.5528331,6.5084227,17.5806452,12.3794212,37.9032258,19.8113208 +1210,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5591007,0.5642918,10.9411347,7.8785047,35.5159816,13.6352457,32.2492452,68.0183967,39.736039,48.4754158,21.2674314,6.3425448,8.1283079,9.1029264,32.4954475,7.0895575,0.5729715,0.5871146,10.3829527,7.2564006,34.7031899,13.3681146,32.6328717,68.8759518,41.3635703,49.3379696,21.6367622,6.253139,8.4646332,8.9271912,31.3059183,5.1181143,0.5271897,0.5418758,10.038871,7.1360649,33.824758,13.1542854,32.8836319,68.540798,40.9372065,48.7959889,21.6358725,6.4588521,8.1149331,8.5036724,31.6563886,6.0000048,0.465572,0.4690932,9.2398345,6.6718151,32.741331,13.7890164,32.1052476,69.3183152,41.6106926,49.2367053,21.8864909,6.177025,8.7158776,8.7158877,31.7413447,4.4715484,0.5117137,0.4632807,9.1874732,6.675081,32.2973929,13.9955192,31.0483232,69.201066,41.3697901,48.6034804,21.5717355,6.2595455,9.113842,9.0064498,32.6226664,2.8225806 +1211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5634747,0.6019916,8.0468638,4.808208,37.2963249,24.8137486,29.0054844,69.4877134,34.2793047,47.9407003,17.1521461,8.0612575,12.0605174,9.433017,32.8278062,2.3560148,0.5602755,0.6318676,8.4924371,5.2129558,36.7675941,24.7090515,29.3440789,70.2153935,34.1899065,47.4546807,17.0582059,8.5902873,11.3966691,9.5630789,32.8307894,1.7676723,0.5397502,0.5869398,8.2233706,5.0188571,36.1838737,24.6744603,29.0451438,70.5315507,34.3132616,46.7309123,16.2511771,8.3019521,10.0571638,9.2945352,32.9350714,2.2613009,0.5441661,0.5898966,8.0210136,5.2787946,35.7800422,24.7411311,28.9963524,69.0054487,34.1280322,45.7083943,15.4177914,7.7429328,10.5581468,9.8139635,33.3490333,2.2959067,0.5630552,0.6203405,7.8289367,4.9342119,36.189454,24.5157304,29.3515886,68.2549912,33.8337304,45.7571197,15.8616036,8.0286909,10.4860559,9.7659864,34.0436209,2.2499888 +1212,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2716089,1.2982915,19.050942,15.6541107,82.5618167,15.3418334,33.1424825,66.1120532,35.0020049,37.5632267,17.7137328,4.4527399,14.0945293,13.0077475,40.17773,13.9380994,1.3172285,1.3435155,18.7801092,15.2634621,83.205703,15.4417139,32.2009388,65.6684137,34.492641,37.7082565,18.2606048,4.6177882,14.4902713,12.2654475,39.3404762,13.7984255,1.4883986,1.5149594,19.5336517,15.2874884,83.8078366,15.3679971,31.352205,64.9329506,33.5497146,37.0854849,18.1467494,4.7200979,13.7971336,12.153692,39.9450453,12.8234491,1.4816503,1.5078639,19.6393788,15.6169509,83.6798902,15.4781265,31.1008005,64.8702339,33.739525,37.5883335,17.4264145,5.0268641,13.8705155,11.3046187,37.0700483,13.5167971,1.3978867,1.4590233,20.0374525,15.9919665,84.5896333,14.3890107,30.9827548,64.0674381,33.4580447,38.6467212,17.6623767,4.8144041,13.9083403,10.6031929,36.5378659,11.0286714 +1213,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5412975,1.5348161,31.7690629,27.252684,49.3311726,14.0545942,33.6188503,60.1706639,27.9849704,42.753824,16.8768851,2.2234695,16.641461,13.2503166,44.2855522,17.7824268,1.6585931,1.6906783,33.4949311,28.4286009,49.9201099,14.0869688,33.4709825,58.7909064,28.0507352,42.2583215,16.2174233,1.9982974,17.1790121,12.7979953,44.2798647,21.4,1.58481,1.5974446,33.4923699,28.7052334,50.7932353,14.0721332,33.8464448,58.7965032,28.2019059,42.8458454,16.4933532,1.9206809,17.1423024,12.4402641,43.8801368,21.9844529,1.5927845,1.6434188,33.8201021,29.2319376,51.9374469,14.4509856,33.6687938,59.3137799,28.2477642,42.2527997,16.0706234,1.597492,16.6641535,12.2099144,42.9242832,23.5408744,1.70168,1.7328963,34.8608259,30.1321308,52.3725668,14.7383459,33.6915006,59.8522815,28.0706189,42.502188,16.1778767,1.8570094,17.5730181,12.4290306,41.3877345,22.2785697 +1214,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6585931,1.6906783,33.4949311,28.4286009,49.9201099,14.0869688,33.4709825,58.7909064,28.0507352,42.2583215,16.2174233,1.9982974,17.1790121,12.7979953,44.2798647,21.4,1.58481,1.5974446,33.4923699,28.7052334,50.7932353,14.0721332,33.8464448,58.7965032,28.2019059,42.8458454,16.4933532,1.9206809,17.1423024,12.4402641,43.8801368,21.9844529,1.5927845,1.6434188,33.8201021,29.2319376,51.9374469,14.4509856,33.6687938,59.3137799,28.2477642,42.2527997,16.0706234,1.597492,16.6641535,12.2099144,42.9242832,23.5408744,1.70168,1.7328963,34.8608259,30.1321308,52.3725668,14.7383459,33.6915006,59.8522815,28.0706189,42.502188,16.1778767,1.8570094,17.5730181,12.4290306,41.3877345,22.2785697,1.7461787,1.7885258,35.5325839,31.1039737,54.1777953,14.9538089,33.2961297,60.2982378,27.6166935,42.3887884,15.6359409,1.7655449,18.1642159,12.5299006,41.4088101,22.8782007 +1215,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6049758,0.6239221,9.5707625,6.3998458,35.5490129,20.7550701,36.6588409,69.3699105,43.0377324,52.4115053,25.145846,3.4422365,10.79277,9.6862745,32.5314959,3.125,0.6817745,0.6883474,9.5752431,6.6825336,35.6125909,19.8940409,35.7779051,69.0494053,42.0906256,51.3739247,24.7493372,3.6576264,10.8760159,9.6881998,34.2909921,3.7671207,0.7369593,0.7432353,9.9475573,7.0454625,35.665699,19.4716515,35.7675645,69.0298625,42.1286765,51.3681645,24.8933893,3.7491079,10.5583363,10.0644749,36.3734142,4.6874971,0.7101284,0.7278091,10.0498402,6.8272512,35.1365097,19.7701525,35.8206365,69.1201458,41.3367555,50.9813859,24.8223342,3.7055841,10.9511089,9.8860704,35.371585,4.6012213,0.7672123,0.7897547,10.3097705,6.9305448,34.5545409,20.2609218,36.4231003,69.8628111,41.5922564,51.5794581,24.2980231,3.7811116,11.3392349,10.7142984,34.8918362,5.2147239 +1216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.3114747,1.3911273,19.7480432,15.4781917,28.7036748,13.5071184,34.1510995,66.7173427,39.1880312,47.0039023,21.9496436,2.5835897,13.1457201,11.012368,38.8111619,18.700134,1.285187,1.3598333,20.8132518,16.4062069,29.4229819,13.6878352,35.1171159,65.7310395,38.4693252,47.5969295,22.5969346,2.8069502,13.4820074,10.6617632,38.6500876,18.4783886,1.4720511,1.5123176,21.6599498,17.0331874,29.4805687,14.6133444,35.6094635,65.3310756,37.6411025,47.1218889,22.6674013,3.0285928,13.6845017,10.3846208,38.951413,19.4993755,1.6496251,1.6891825,22.7391146,17.7998045,30.5325382,14.1352132,35.7577302,65.2421917,36.5026997,46.1297976,22.3900413,2.94432,14.5646226,10.8663843,39.6713184,18.9781393,1.5152002,1.5146404,23.3993682,18.2194963,31.0413196,14.798129,36.1363886,64.4487623,36.6872345,46.2335013,22.6156254,3.1159671,14.236336,10.9817031,39.2221767,18.4950769 +1217,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3403928,1.4028127,24.3268484,19.7318561,48.8804646,15.2593581,41.9406444,63.9482147,36.6460874,46.9048114,24.4474193,4.0584256,11.7179589,11.0488711,32.1208455,17.8791311,1.4027695,1.4853808,24.105699,19.9597205,47.3200906,15.4638243,42.5012002,64.748204,38.5102843,48.1616725,24.7356592,4.0288941,11.0215753,10.7499087,31.1057957,15.8391158,1.5983054,1.6810146,24.1315501,20.0907359,47.2412518,15.4934796,42.970979,63.9514927,39.5751037,47.9604599,25.6662148,4.0952281,11.7783922,11.5061347,30.5537547,16.8717317,1.8704163,1.9535017,24.8603369,20.6870181,47.9354424,15.8481305,42.7144193,64.7310233,40.4533309,49.6257854,25.5656312,4.5553209,12.3743037,10.7073284,32.3210931,17.4056297,1.8664846,1.9931348,25.455961,21.1278211,48.2729882,15.9692391,42.9727615,64.2733965,39.7899932,50.000186,26.1307421,4.3614201,12.5491391,10.4821205,33.2694938,15.8070826 +1218,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2284668,1.2871188,23.6223793,19.7547094,50.3345571,18.2303463,38.0065448,65.7482707,34.0058024,45.8809658,20.5836777,2.8764051,15.0618591,12.4166175,38.0986987,13.2978771,1.276951,1.3170708,24.0164274,20.2102836,51.2788392,17.7305585,39.1116052,65.9758111,33.7359493,46.8229233,20.529376,2.8097079,15.6376548,12.4788142,37.0276326,13.1119019,1.2486357,1.2634711,24.1777269,20.2977189,51.4674326,17.4877226,39.7673997,65.3199453,34.5148498,46.9864079,20.6123497,2.8917075,15.463982,12.3131306,35.9965422,14.403983,1.1883305,1.2028583,24.7920085,21.1129818,52.2896968,17.4611806,39.7737018,65.1925806,34.3259402,46.8580841,20.8375915,2.5820291,15.1446939,11.6620786,35.4884852,13.5092941,1.2832475,1.2823715,24.7646932,20.8408301,52.8751435,17.1490043,40.0928708,64.732876,35.025617,47.0294695,21.0338511,2.2926581,15.5308619,12.1958256,35.1133432,13.593723 +1219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6670558,0.6374031,7.9309127,4.8729957,36.2756589,10.8652654,28.8815096,67.9045854,36.1269368,48.4019815,21.6905691,3.2594612,9.7977966,9.538306,29.4837032,3.097347,0.6177634,0.5837157,7.8442804,4.9447444,35.3697611,10.7157513,29.2399414,67.7231649,36.4554852,48.0249537,21.0760672,3.2039819,9.9859475,9.8431038,30.4678953,2.7298851,0.63508,0.6066086,7.9371418,5.0368671,35.4238453,10.7095768,29.8233063,67.8310779,36.5634483,48.0304834,21.1745875,3.3000469,10.302171,10.1319686,31.1888765,2.7696793,0.5690291,0.564866,7.7231847,4.9178645,34.4676074,10.7568836,30.3616284,68.7305352,36.9805107,48.2797947,21.175216,3.2395873,10.2164394,9.7274439,31.0146833,3.1343302,0.5932583,0.5738238,7.7591998,5.0878551,34.4534354,10.9803126,30.0738509,69.1003,36.8443482,48.6798212,20.4650997,3.0441657,10.3168253,9.881145,31.3585345,3.2012224 +1220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5414514,0.5558893,8.3876107,5.4449655,43.3947839,18.212742,30.4976317,67.6654476,35.4467348,45.2139882,19.9666926,5.0322745,10.4667761,8.7510024,31.1125864,3.6164081,0.470252,0.4603845,8.4106778,5.5298841,43.5633002,18.7353631,29.712936,67.7833397,35.4286739,44.5198679,20.0764788,4.9393432,10.1691046,8.5673415,31.3657758,3.0247147,0.4106641,0.4010445,8.4577804,5.4969562,43.8268561,18.5456541,29.7958128,67.658225,34.4899217,44.3940314,19.7928722,4.6651635,10.1684459,8.8673342,30.9662918,2.916153,0.3816717,0.3732877,8.7674748,5.6419801,43.7709095,18.8688672,29.2332827,67.8558836,34.6773844,44.3076494,19.3461687,4.7023483,10.4771479,8.3906073,30.8849502,2.3547726,0.3313229,0.3228605,8.9916984,5.8337086,44.0499309,18.8388629,29.3937226,68.5175961,34.4689325,44.362999,19.1025368,4.6899137,10.8166919,8.1393213,30.8257407,1.9341487 +1221,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6531879,0.6531879,13.9704703,10.0935572,55.6680997,31.0594476,32.7332607,64.8667153,33.2667327,45.533522,16.33343,5.2667193,14.7058147,10.8694485,33.7211075,6.8178793,0.6289372,0.6289372,13.605843,10.1206849,56.5014394,30.1972456,32.8249059,67.4403491,34.5491958,46.6182311,16.5120562,4.5756484,14.0150759,8.7119787,34.4785557,6.3755248,0.5512369,0.5512369,12.3448003,8.8966315,56.9157165,30.502715,31.3873682,66.8269016,35.6457166,45.5358461,17.1016637,3.7775063,14.0151314,8.4595338,32.6973234,6.7372579,0.8420891,0.8420891,12.1865921,8.1477004,58.8607515,31.7428637,30.9257161,65.7081967,34.4320569,45.932855,18.0224518,3.436214,14.0711151,8.8798299,31.2672522,6.2496783,0.956363,0.956363,12.4659823,8.5150618,59.8757447,31.7751659,30.563206,67.2389707,34.5467608,45.2610121,18.475315,3.7775088,14.6052469,9.868499,33.0240028,4.9242797 +1222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4973865,2.527521,34.7805119,29.5516269,57.0091011,16.9519367,36.9562377,62.082159,29.6230363,41.3517345,20.7165035,2.6152551,13.0961899,9.9856645,43.1419269,25.5490832,2.5944296,2.6494621,34.8821709,29.7433403,58.87496,16.7791874,36.7879476,62.9349448,29.4228873,41.0967747,20.6465035,2.5408592,14.3455143,10.686502,42.5702091,25.4135926,2.5447682,2.5703039,34.6965364,29.5674564,60.3912634,16.2174845,37.2916734,63.5815159,29.6456495,40.3348643,20.3181085,2.4571335,15.3611338,10.7638894,40.9139115,25.7621351,2.5298439,2.5473262,35.576646,30.7200392,60.9160315,15.6565022,37.7140645,62.8614687,29.428755,39.4823086,20.3570185,2.3453312,14.8398597,10.1613761,40.3771285,26.4829611,2.5737301,2.6419384,36.3306684,31.5338271,62.8041657,15.3625695,37.4578273,62.5171277,29.1099061,39.5400382,20.3123221,2.0736422,16.1384214,10.7874222,41.5704529,27.0017854 +1223,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0560992,1.0702892,24.8775975,20.1832622,41.7355315,14.0051566,40.2250615,67.2760607,34.3339228,50.6863748,25.8018506,5.6790622,14.3219427,12.540681,32.8783465,10.6146495,1.0618941,1.101015,24.6236775,20.0341124,42.4575583,14.4770931,40.0468644,66.8671311,34.2692551,50.238538,26.3292164,5.6132104,15.5535104,13.179662,33.971069,11.5580431,1.3407337,1.3799128,25.2805969,20.2660148,43.6454349,14.5622531,39.712705,65.9816631,33.5674129,49.6473796,25.5818763,5.6058242,15.6427102,13.3078201,35.2701831,14.2550965,1.4866705,1.5399419,25.1644312,19.7508707,43.5796797,14.1290455,39.6678527,66.2032372,33.8586655,49.3241702,25.3436079,5.9253757,15.668528,12.9636645,34.4396119,14.2570664,1.6871373,1.6899847,24.9698249,19.3001674,44.1095044,13.983285,39.644096,66.0705058,33.2093819,49.4695101,24.6962561,6.1357535,14.7651839,12.6391353,33.7839893,16.2018665 +1224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3877573,0.4618314,6.1016258,3.8942117,53.1044457,19.9072214,29.0012228,67.6422352,34.2406756,42.7138664,19.7503037,7.9615247,9.8130858,7.4341559,36.492279,3.086421,0.4832712,0.5315279,6.5270418,4.0870247,52.5569325,20.2310992,29.5950709,67.1496561,34.0809715,42.854301,19.9086923,7.2449408,10.2868869,6.6091965,36.2168851,2.6639366,0.4844245,0.5463029,6.6705541,4.0256682,52.2379462,20.6851338,29.4061582,67.0536697,33.7837725,42.1583537,20.1560686,7.4038844,10.5364001,6.9455114,36.9379825,2.3897076,0.4690531,0.5336904,7.0198416,4.0621468,51.796295,20.4018785,29.1160133,67.6058861,34.3462176,41.3443783,19.8710895,7.8637227,11.0822865,7.2436871,36.5643747,1.5901071,0.4132159,0.4538588,6.7441854,3.9892647,51.4585545,20.3162956,29.0751141,66.3536403,33.929829,40.6272058,20.5705183,7.7073028,10.5432497,7.1479916,36.1171379,1.5151525 +1225,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3045505,1.3281386,21.7283756,18.0293442,41.0881583,16.0498177,37.9695939,65.3148988,36.2732008,47.8460144,23.0547096,3.6624087,12.1204077,9.2463368,30.372944,21.4285515,1.353437,1.3881445,22.0040261,18.0678787,41.265584,15.9225244,37.9172897,65.2471367,35.5989628,47.364781,22.6223625,3.4167672,11.932232,9.330389,30.3740798,21.7171263,1.2910333,1.3253714,22.9372072,18.8734072,41.1276553,16.3656307,38.525069,65.3508341,35.6852243,47.7764548,23.1047461,3.2486373,11.4777062,9.2044162,30.0773994,21.2553574,1.2258111,1.2605083,22.8306561,18.722813,41.3851561,16.4628664,38.6584936,65.4280483,35.3817977,48.7223499,23.1425172,3.2150821,11.4173895,9.6428171,30.843302,19.6263804,1.4098217,1.4289581,23.7824794,19.5025179,41.8039283,16.6680174,38.4937603,66.1116246,36.3222513,49.2452828,23.4073767,3.1782304,12.275995,9.8624046,31.3209658,20.8642593 +1226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.470252,0.4603845,8.4106778,5.5298841,43.5633002,18.7353631,29.712936,67.7833397,35.4286739,44.5198679,20.0764788,4.9393432,10.1691046,8.5673415,31.3657758,3.0247147,0.4106641,0.4010445,8.4577804,5.4969562,43.8268561,18.5456541,29.7958128,67.658225,34.4899217,44.3940314,19.7928722,4.6651635,10.1684459,8.8673342,30.9662918,2.916153,0.3816717,0.3732877,8.7674748,5.6419801,43.7709095,18.8688672,29.2332827,67.8558836,34.6773844,44.3076494,19.3461687,4.7023483,10.4771479,8.3906073,30.8849502,2.3547726,0.3313229,0.3228605,8.9916984,5.8337086,44.0499309,18.8388629,29.3937226,68.5175961,34.4689325,44.362999,19.1025368,4.6899137,10.8166919,8.1393213,30.8257407,1.9341487,0.4376925,0.4294045,9.2864559,6.0774547,43.9383998,19.008852,29.0979665,68.8659144,35.2190779,44.7171648,19.6955008,4.9231527,10.5601571,8.1607485,31.4157367,2.8271662 +1227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6177634,0.5837157,7.8442804,4.9447444,35.3697611,10.7157513,29.2399414,67.7231649,36.4554852,48.0249537,21.0760672,3.2039819,9.9859475,9.8431038,30.4678953,2.7298851,0.63508,0.6066086,7.9371418,5.0368671,35.4238453,10.7095768,29.8233063,67.8310779,36.5634483,48.0304834,21.1745875,3.3000469,10.302171,10.1319686,31.1888765,2.7696793,0.5690291,0.564866,7.7231847,4.9178645,34.4676074,10.7568836,30.3616284,68.7305352,36.9805107,48.2797947,21.175216,3.2395873,10.2164394,9.7274439,31.0146833,3.1343302,0.5932583,0.5738238,7.7591998,5.0878551,34.4534354,10.9803126,30.0738509,69.1003,36.8443482,48.6798212,20.4650997,3.0441657,10.3168253,9.881145,31.3585345,3.2012224,0.613544,0.5942573,8.0205704,5.3848644,33.6138613,10.9949772,29.4710624,69.7424953,36.6716215,49.6785626,20.6627982,3.0283944,10.4323632,9.8486883,30.6894859,3.685901 +1228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4832712,0.5315279,6.5270418,4.0870247,52.5569325,20.2310992,29.5950709,67.1496561,34.0809715,42.854301,19.9086923,7.2449408,10.2868869,6.6091965,36.2168851,2.6639366,0.4844245,0.5463029,6.6705541,4.0256682,52.2379462,20.6851338,29.4061582,67.0536697,33.7837725,42.1583537,20.1560686,7.4038844,10.5364001,6.9455114,36.9379825,2.3897076,0.4690531,0.5336904,7.0198416,4.0621468,51.796295,20.4018785,29.1160133,67.6058861,34.3462176,41.3443783,19.8710895,7.8637227,11.0822865,7.2436871,36.5643747,1.5901071,0.4132159,0.4538588,6.7441854,3.9892647,51.4585545,20.3162956,29.0751141,66.3536403,33.929829,40.6272058,20.5705183,7.7073028,10.5432497,7.1479916,36.1171379,1.5151525,0.3749351,0.4234955,6.7718937,3.8866243,50.8792682,19.8906863,28.0775619,65.615505,33.5413109,40.1854921,19.1736935,7.5379455,10.0337885,7.5798812,36.6825584,1.1146504 +1229,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5944296,2.6494621,34.8821709,29.7433403,58.87496,16.7791874,36.7879476,62.9349448,29.4228873,41.0967747,20.6465035,2.5408592,14.3455143,10.686502,42.5702091,25.4135926,2.5447682,2.5703039,34.6965364,29.5674564,60.3912634,16.2174845,37.2916734,63.5815159,29.6456495,40.3348643,20.3181085,2.4571335,15.3611338,10.7638894,40.9139115,25.7621351,2.5298439,2.5473262,35.576646,30.7200392,60.9160315,15.6565022,37.7140645,62.8614687,29.428755,39.4823086,20.3570185,2.3453312,14.8398597,10.1613761,40.3771285,26.4829611,2.5737301,2.6419384,36.3306684,31.5338271,62.8041657,15.3625695,37.4578273,62.5171277,29.1099061,39.5400382,20.3123221,2.0736422,16.1384214,10.7874222,41.5704529,27.0017854,2.6311465,2.6713971,37.3262005,32.5416067,64.1402365,15.2663567,37.7675574,62.1103152,28.1000374,39.5437351,18.7670918,2.1093862,16.9969304,11.1672211,42.1467386,26.2074005 +1230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3172285,1.3435155,18.7801092,15.2634621,83.205703,15.4417139,32.2009388,65.6684137,34.492641,37.7082565,18.2606048,4.6177882,14.4902713,12.2654475,39.3404762,13.7984255,1.4883986,1.5149594,19.5336517,15.2874884,83.8078366,15.3679971,31.352205,64.9329506,33.5497146,37.0854849,18.1467494,4.7200979,13.7971336,12.153692,39.9450453,12.8234491,1.4816503,1.5078639,19.6393788,15.6169509,83.6798902,15.4781265,31.1008005,64.8702339,33.739525,37.5883335,17.4264145,5.0268641,13.8705155,11.3046187,37.0700483,13.5167971,1.3978867,1.4590233,20.0374525,15.9919665,84.5896333,14.3890107,30.9827548,64.0674381,33.4580447,38.6467212,17.6623767,4.8144041,13.9083403,10.6031929,36.5378659,11.0286714,1.4909896,1.5528732,20.2453023,15.9273397,84.3469693,13.4538666,31.2458189,63.9187912,33.8098157,38.4200886,17.6454284,4.8734201,15.0067458,10.3428887,37.3013679,13.9018788 +1231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7286693,0.723634,8.701554,5.0481366,28.5330879,17.8056651,34.1509581,69.6729471,40.9937072,50.7295644,24.2138381,4.4654118,10.421907,9.4892379,30.9379797,6.3451809,0.7211805,0.6939315,8.616592,5.1461858,28.7071269,17.7083293,34.1123866,69.0118566,41.0632048,50.5328247,24.4490226,4.541055,10.1061456,9.5089174,30.5326937,5.841116,0.6792231,0.6482219,8.7273178,5.2991287,28.3012189,17.650368,34.5240979,68.9910993,41.189229,50.1597956,24.4807268,4.4396339,10.353555,10.0321552,30.8599082,7.3008753,0.6081405,0.5737246,8.2521245,5.1377153,27.5865781,17.3454094,34.7633593,68.9107496,40.9012297,49.9351827,24.4326878,4.506166,10.2312596,10.0087388,31.0881895,5.3999914,0.5826205,0.5651469,7.9714556,4.8552509,27.1745888,17.4146998,35.2061971,68.7113455,40.5051618,49.7835269,24.4226966,4.546398,10.2377177,10.4045237,30.6579899,4.9212502 +1232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5602755,0.6318676,8.4924371,5.2129558,36.7675941,24.7090515,29.3440789,70.2153935,34.1899065,47.4546807,17.0582059,8.5902873,11.3966691,9.5630789,32.8307894,1.7676723,0.5397502,0.5869398,8.2233706,5.0188571,36.1838737,24.6744603,29.0451438,70.5315507,34.3132616,46.7309123,16.2511771,8.3019521,10.0571638,9.2945352,32.9350714,2.2613009,0.5441661,0.5898966,8.0210136,5.2787946,35.7800422,24.7411311,28.9963524,69.0054487,34.1280322,45.7083943,15.4177914,7.7429328,10.5581468,9.8139635,33.3490333,2.2959067,0.5630552,0.6203405,7.8289367,4.9342119,36.189454,24.5157304,29.3515886,68.2549912,33.8337304,45.7571197,15.8616036,8.0286909,10.4860559,9.7659864,34.0436209,2.2499888,0.5407023,0.5825621,7.7842745,4.6789574,36.3464353,24.258051,30.4953895,68.1723299,32.9100349,45.14981,15.5911572,8.4720748,10.4166693,10.3316356,34.3483237,2.2277117 +1233,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6488578,0.6812773,8.0273698,4.9406208,51.7584711,18.4272722,32.5229353,67.8990794,36.834865,47.2935792,21.4403661,7.3669715,9.7232025,8.5318921,33.7495732,3.4264161,0.6969812,0.7374629,7.907988,5.0746955,50.5550079,18.9641814,32.7231807,68.5493289,37.7349263,47.7584155,21.3880178,7.4686756,10.1998522,9.332586,33.8313275,3.534052,0.7366831,0.7781801,7.9796154,5.1706224,49.4404498,19.5235132,32.9049126,68.0564227,38.3385611,47.0950891,21.0135845,7.3040746,10.1493099,9.2577693,33.096891,3.8028126,0.7769197,0.8027202,8.3061244,5.5192705,48.0866475,19.782931,32.6333015,67.7149052,39.0097903,47.2796478,21.2078318,7.3014136,10.2483123,9.2460025,33.6225307,4.154723,0.7660348,0.7615151,8.1574805,5.3210796,46.3243713,19.4463112,31.3692132,67.5181667,39.0213485,46.9005433,20.9695716,7.3683002,10.5181518,9.9113113,32.717985,5.0872049 +1234,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6817745,0.6883474,9.5752431,6.6825336,35.6125909,19.8940409,35.7779051,69.0494053,42.0906256,51.3739247,24.7493372,3.6576264,10.8760159,9.6881998,34.2909921,3.7671207,0.7369593,0.7432353,9.9475573,7.0454625,35.665699,19.4716515,35.7675645,69.0298625,42.1286765,51.3681645,24.8933893,3.7491079,10.5583363,10.0644749,36.3734142,4.6874971,0.7101284,0.7278091,10.0498402,6.8272512,35.1365097,19.7701525,35.8206365,69.1201458,41.3367555,50.9813859,24.8223342,3.7055841,10.9511089,9.8860704,35.371585,4.6012213,0.7672123,0.7897547,10.3097705,6.9305448,34.5545409,20.2609218,36.4231003,69.8628111,41.5922564,51.5794581,24.2980231,3.7811116,11.3392349,10.7142984,34.8918362,5.2147239,0.7691578,0.7336253,10.0306349,6.845335,34.1830147,20.4286137,36.5758151,70.0344712,42.2149453,51.3941137,24.2637796,3.743735,11.4881811,10.9900491,34.0125308,5.0595238 +1235,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58481,1.5974446,33.4923699,28.7052334,50.7932353,14.0721332,33.8464448,58.7965032,28.2019059,42.8458454,16.4933532,1.9206809,17.1423024,12.4402641,43.8801368,21.9844529,1.5927845,1.6434188,33.8201021,29.2319376,51.9374469,14.4509856,33.6687938,59.3137799,28.2477642,42.2527997,16.0706234,1.597492,16.6641535,12.2099144,42.9242832,23.5408744,1.70168,1.7328963,34.8608259,30.1321308,52.3725668,14.7383459,33.6915006,59.8522815,28.0706189,42.502188,16.1778767,1.8570094,17.5730181,12.4290306,41.3877345,22.2785697,1.7461787,1.7885258,35.5325839,31.1039737,54.1777953,14.9538089,33.2961297,60.2982378,27.6166935,42.3887884,15.6359409,1.7655449,18.1642159,12.5299006,41.4088101,22.8782007,1.7966284,1.8760921,35.5978049,31.0804,54.8341253,15.2797469,34.1619022,62.1590323,28.9372843,42.7333985,16.1381972,1.7936526,19.1273583,12.7607322,41.5832438,23.1953756 +1236,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.63508,0.6066086,7.9371418,5.0368671,35.4238453,10.7095768,29.8233063,67.8310779,36.5634483,48.0304834,21.1745875,3.3000469,10.302171,10.1319686,31.1888765,2.7696793,0.5690291,0.564866,7.7231847,4.9178645,34.4676074,10.7568836,30.3616284,68.7305352,36.9805107,48.2797947,21.175216,3.2395873,10.2164394,9.7274439,31.0146833,3.1343302,0.5932583,0.5738238,7.7591998,5.0878551,34.4534354,10.9803126,30.0738509,69.1003,36.8443482,48.6798212,20.4650997,3.0441657,10.3168253,9.881145,31.3585345,3.2012224,0.613544,0.5942573,8.0205704,5.3848644,33.6138613,10.9949772,29.4710624,69.7424953,36.6716215,49.6785626,20.6627982,3.0283944,10.4323632,9.8486883,30.6894859,3.685901,0.5532475,0.5341939,7.8530613,5.3070501,32.5407138,11.4495031,29.0273175,70.3003943,37.3034674,50.3538169,20.7691746,3.1741703,10.6976837,10.2348918,31.0299813,2.707009 +1237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.207607,1.2252761,13.9694854,10.0031303,38.0259241,15.7819126,37.9732972,68.5717952,40.2534169,50.4986561,24.1392129,4.2508718,13.1898898,11.7385954,33.6144484,11.7143295,1.1565848,1.1632348,13.7906556,9.7501578,36.7274392,15.8879108,37.0667329,68.9004516,39.8053987,50.320241,24.2824717,4.1737828,13.3966795,11.8720783,33.952347,13.1902292,1.0826915,1.0895584,14.0799924,10.0105001,36.3216696,16.0317758,36.3426424,68.6988603,40.1737669,50.8470215,25.2686579,4.3611202,13.7716704,12.0958852,34.6607051,10.1852343,1.1940549,1.2011812,14.2281639,10.0223183,36.244457,16.3358065,35.3039006,68.7183122,40.6712784,51.0924634,24.7720571,4.3866495,13.867282,12.1551867,34.2706003,10.2941583,1.1286742,1.1361917,14.2419412,9.8629805,35.8804971,16.2577998,34.9247189,69.4327702,40.5779945,51.3522692,24.2757455,4.6606625,13.7469381,12.5188856,32.7928274,9.1772669 +1238,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5729715,0.5871146,10.3829527,7.2564006,34.7031899,13.3681146,32.6328717,68.8759518,41.3635703,49.3379696,21.6367622,6.253139,8.4646332,8.9271912,31.3059183,5.1181143,0.5271897,0.5418758,10.038871,7.1360649,33.824758,13.1542854,32.8836319,68.540798,40.9372065,48.7959889,21.6358725,6.4588521,8.1149331,8.5036724,31.6563886,6.0000048,0.465572,0.4690932,9.2398345,6.6718151,32.741331,13.7890164,32.1052476,69.3183152,41.6106926,49.2367053,21.8864909,6.177025,8.7158776,8.7158877,31.7413447,4.4715484,0.5117137,0.4632807,9.1874732,6.675081,32.2973929,13.9955192,31.0483232,69.201066,41.3697901,48.6034804,21.5717355,6.2595455,9.113842,9.0064498,32.6226664,2.8225806,0.6932009,0.6461771,8.984583,6.5886942,32.1340773,14.0928155,31.7596556,69.2578217,41.4469136,49.0067822,21.6333969,6.5166686,9.3217613,8.5487344,31.6863236,3.7190083 +1239,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1565848,1.1632348,13.7906556,9.7501578,36.7274392,15.8879108,37.0667329,68.9004516,39.8053987,50.320241,24.2824717,4.1737828,13.3966795,11.8720783,33.952347,13.1902292,1.0826915,1.0895584,14.0799924,10.0105001,36.3216696,16.0317758,36.3426424,68.6988603,40.1737669,50.8470215,25.2686579,4.3611202,13.7716704,12.0958852,34.6607051,10.1852343,1.1940549,1.2011812,14.2281639,10.0223183,36.244457,16.3358065,35.3039006,68.7183122,40.6712784,51.0924634,24.7720571,4.3866495,13.867282,12.1551867,34.2706003,10.2941583,1.1286742,1.1361917,14.2419412,9.8629805,35.8804971,16.2577998,34.9247189,69.4327702,40.5779945,51.3522692,24.2757455,4.6606625,13.7469381,12.5188856,32.7928274,9.1772669,0.9867708,0.9947412,14.0874116,9.6971702,34.8622926,16.1976538,34.3667363,69.701284,40.9231298,51.5864669,23.7504635,4.4323424,13.5387475,12.4670379,32.524975,7.4193501 +1240,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6077662,0.5930191,7.4387969,4.8747325,68.8695372,8.4811346,25.4740936,65.8362674,33.1230894,40.6746981,16.3614194,6.1794713,9.9597018,8.5333327,34.6816327,4.3049793,0.5933403,0.5840627,7.3318052,4.7644491,67.4117329,8.4383245,25.8457467,66.075168,33.3796131,40.8550683,16.5055329,6.4960846,9.8449333,8.2465213,34.1410553,4.8186528,0.583237,0.5657887,7.4754193,4.9091691,66.4294555,8.5721948,25.9692494,66.5690288,33.1992377,41.20556,16.5276151,6.6230469,9.6098774,8.0337122,35.0179206,4.7938144,0.5706192,0.5592598,7.7025862,5.000652,65.212968,8.3950182,25.6465694,66.2312924,33.2022218,41.3417504,16.8424207,6.727113,9.8352285,8.5289989,35.2132509,4.6161322,0.5537568,0.547363,7.624948,4.8928011,64.9190791,8.5992582,25.4698648,66.0110327,32.8885872,40.5029733,16.7790662,6.7396896,9.8302493,8.4323058,35.7762255,4.4373285 +1241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6036969,0.5600509,8.0029966,5.4047304,49.4524933,11.7389874,29.7245352,66.3689588,33.2136906,42.3121934,17.9883145,15.2003344,10.5166025,8.9765073,36.9337347,3.2627872,0.6239311,0.5972492,7.9074491,5.2274882,48.9868586,11.9080778,30.122271,66.0056535,32.8970084,41.7071697,17.6751855,15.6842763,10.2796307,9.1732935,37.2313098,3.0782035,0.6266632,0.6010152,7.6905831,5.0546676,48.444608,11.9860471,30.4690968,66.1028538,32.7394408,41.4148313,17.4785783,15.3134846,10.2458995,8.9681347,37.0364708,2.6655892,0.5670163,0.5408359,7.487294,4.8293411,47.9914565,12.1528267,30.7181414,66.3917789,33.2287292,41.8552126,17.4062218,15.304332,9.715707,8.4604115,36.6933069,2.4447946,0.5407042,0.5191989,7.6101008,4.8701772,47.1303611,12.3434831,30.0720999,66.9574736,33.604907,42.516231,17.7144966,15.4217716,9.4790114,8.4419331,35.9479984,2.7301092 +1242,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5933403,0.5840627,7.3318052,4.7644491,67.4117329,8.4383245,25.8457467,66.075168,33.3796131,40.8550683,16.5055329,6.4960846,9.8449333,8.2465213,34.1410553,4.8186528,0.583237,0.5657887,7.4754193,4.9091691,66.4294555,8.5721948,25.9692494,66.5690288,33.1992377,41.20556,16.5276151,6.6230469,9.6098774,8.0337122,35.0179206,4.7938144,0.5706192,0.5592598,7.7025862,5.000652,65.212968,8.3950182,25.6465694,66.2312924,33.2022218,41.3417504,16.8424207,6.727113,9.8352285,8.5289989,35.2132509,4.6161322,0.5537568,0.547363,7.624948,4.8928011,64.9190791,8.5992582,25.4698648,66.0110327,32.8885872,40.5029733,16.7790662,6.7396896,9.8302493,8.4323058,35.7762255,4.4373285,0.6075158,0.5988684,7.8479249,5.0101934,64.0852225,8.4581433,25.7454279,66.2151836,32.8438488,40.0485528,16.468847,6.5538685,9.7167035,8.2499888,36.2446761,5.0088652 +1243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6289372,0.6289372,13.605843,10.1206849,56.5014394,30.1972456,32.8249059,67.4403491,34.5491958,46.6182311,16.5120562,4.5756484,14.0150759,8.7119787,34.4785557,6.3755248,0.5512369,0.5512369,12.3448003,8.8966315,56.9157165,30.502715,31.3873682,66.8269016,35.6457166,45.5358461,17.1016637,3.7775063,14.0151314,8.4595338,32.6973234,6.7372579,0.8420891,0.8420891,12.1865921,8.1477004,58.8607515,31.7428637,30.9257161,65.7081967,34.4320569,45.932855,18.0224518,3.436214,14.0711151,8.8798299,31.2672522,6.2496783,0.956363,0.956363,12.4659823,8.5150618,59.8757447,31.7751659,30.563206,67.2389707,34.5467608,45.2610121,18.475315,3.7775088,14.6052469,9.868499,33.0240028,4.9242797,1.0336523,1.0336523,13.6493379,9.5474643,60.0720726,31.4789502,31.2500045,66.5947311,33.979915,44.3246956,18.8937109,3.6638273,15.2234303,10.754265,33.1933697,5.7692751 +1244,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6969812,0.7374629,7.907988,5.0746955,50.5550079,18.9641814,32.7231807,68.5493289,37.7349263,47.7584155,21.3880178,7.4686756,10.1998522,9.332586,33.8313275,3.534052,0.7366831,0.7781801,7.9796154,5.1706224,49.4404498,19.5235132,32.9049126,68.0564227,38.3385611,47.0950891,21.0135845,7.3040746,10.1493099,9.2577693,33.096891,3.8028126,0.7769197,0.8027202,8.3061244,5.5192705,48.0866475,19.782931,32.6333015,67.7149052,39.0097903,47.2796478,21.2078318,7.3014136,10.2483123,9.2460025,33.6225307,4.154723,0.7660348,0.7615151,8.1574805,5.3210796,46.3243713,19.4463112,31.3692132,67.5181667,39.0213485,46.9005433,20.9695716,7.3683002,10.5181518,9.9113113,32.717985,5.0872049,0.7910211,0.7755387,8.3862611,5.5869201,45.4944247,19.7894967,30.725013,68.0314396,40.0633477,46.9380508,21.6682292,7.5434054,10.1198598,9.3908612,32.1213604,4.8245586 +1245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4027695,1.4853808,24.105699,19.9597205,47.3200906,15.4638243,42.5012002,64.748204,38.5102843,48.1616725,24.7356592,4.0288941,11.0215753,10.7499087,31.1057957,15.8391158,1.5983054,1.6810146,24.1315501,20.0907359,47.2412518,15.4934796,42.970979,63.9514927,39.5751037,47.9604599,25.6662148,4.0952281,11.7783922,11.5061347,30.5537547,16.8717317,1.8704163,1.9535017,24.8603369,20.6870181,47.9354424,15.8481305,42.7144193,64.7310233,40.4533309,49.6257854,25.5656312,4.5553209,12.3743037,10.7073284,32.3210931,17.4056297,1.8664846,1.9931348,25.455961,21.1278211,48.2729882,15.9692391,42.9727615,64.2733965,39.7899932,50.000186,26.1307421,4.3614201,12.5491391,10.4821205,33.2694938,15.8070826,1.5529652,1.6186272,24.6852364,20.4245299,48.6270517,15.4984804,42.3314191,63.7285823,37.967592,49.439743,24.9466763,3.6950928,13.5867431,11.2571564,33.5889485,13.487556 +1246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5181386,0.5860827,10.3591628,6.3007192,56.793069,14.3133955,31.6577187,69.5602666,35.8484636,45.9640691,20.5305293,3.0037112,9.2120994,8.1441616,32.8451037,9.2767552,0.5113578,0.5992106,9.963127,5.9901572,56.0484597,14.5021518,31.7289555,68.8139378,35.5919714,45.7402234,20.4531023,2.8502777,9.5611927,8.5616381,33.5430178,9.1362428,0.5071652,0.576543,9.733676,5.831941,55.3293454,14.4391032,32.8441539,69.1828429,36.2436659,46.2732091,20.6819995,3.0299791,9.3271504,8.2492821,33.0828598,9.0460586,0.5234603,0.5738389,9.5085616,5.9363917,54.4532202,14.623712,33.259335,69.3616321,36.8103876,46.533496,20.9997849,2.8218102,8.8722686,7.7903582,32.3757198,8.7171053,0.5279284,0.537715,9.35924,6.06092,54.2492863,14.3175407,33.0429939,69.3225605,36.0967583,45.9247367,20.4408658,3.1075256,9.4178816,7.9758391,32.5303881,8.1395349 +1247,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7366831,0.7781801,7.9796154,5.1706224,49.4404498,19.5235132,32.9049126,68.0564227,38.3385611,47.0950891,21.0135845,7.3040746,10.1493099,9.2577693,33.096891,3.8028126,0.7769197,0.8027202,8.3061244,5.5192705,48.0866475,19.782931,32.6333015,67.7149052,39.0097903,47.2796478,21.2078318,7.3014136,10.2483123,9.2460025,33.6225307,4.154723,0.7660348,0.7615151,8.1574805,5.3210796,46.3243713,19.4463112,31.3692132,67.5181667,39.0213485,46.9005433,20.9695716,7.3683002,10.5181518,9.9113113,32.717985,5.0872049,0.7910211,0.7755387,8.3862611,5.5869201,45.4944247,19.7894967,30.725013,68.0314396,40.0633477,46.9380508,21.6682292,7.5434054,10.1198598,9.3908612,32.1213604,4.8245586,0.7245553,0.7092809,8.4436696,5.6794421,45.2748521,19.8928363,30.6473999,67.7803459,39.8728278,47.2485495,21.6300576,7.063583,9.7367081,9.3906267,32.74761,3.9940817 +1248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4844245,0.5463029,6.6705541,4.0256682,52.2379462,20.6851338,29.4061582,67.0536697,33.7837725,42.1583537,20.1560686,7.4038844,10.5364001,6.9455114,36.9379825,2.3897076,0.4690531,0.5336904,7.0198416,4.0621468,51.796295,20.4018785,29.1160133,67.6058861,34.3462176,41.3443783,19.8710895,7.8637227,11.0822865,7.2436871,36.5643747,1.5901071,0.4132159,0.4538588,6.7441854,3.9892647,51.4585545,20.3162956,29.0751141,66.3536403,33.929829,40.6272058,20.5705183,7.7073028,10.5432497,7.1479916,36.1171379,1.5151525,0.3749351,0.4234955,6.7718937,3.8866243,50.8792682,19.8906863,28.0775619,65.615505,33.5413109,40.1854921,19.1736935,7.5379455,10.0337885,7.5798812,36.6825584,1.1146504,0.4335355,0.4749757,7.2998686,4.2486862,50.7039934,19.5610322,27.7015934,66.1606179,33.8067212,40.7280362,18.9193636,7.3294182,9.4541947,7.2780707,35.8496742,1.4195588 +1249,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7369593,0.7432353,9.9475573,7.0454625,35.665699,19.4716515,35.7675645,69.0298625,42.1286765,51.3681645,24.8933893,3.7491079,10.5583363,10.0644749,36.3734142,4.6874971,0.7101284,0.7278091,10.0498402,6.8272512,35.1365097,19.7701525,35.8206365,69.1201458,41.3367555,50.9813859,24.8223342,3.7055841,10.9511089,9.8860704,35.371585,4.6012213,0.7672123,0.7897547,10.3097705,6.9305448,34.5545409,20.2609218,36.4231003,69.8628111,41.5922564,51.5794581,24.2980231,3.7811116,11.3392349,10.7142984,34.8918362,5.2147239,0.7691578,0.7336253,10.0306349,6.845335,34.1830147,20.4286137,36.5758151,70.0344712,42.2149453,51.3941137,24.2637796,3.743735,11.4881811,10.9900491,34.0125308,5.0595238,0.796473,0.7484055,9.9438105,6.7905121,33.3817754,20.8464345,36.365086,70.9558909,42.3114143,51.8382358,23.7691781,3.9482107,11.1573075,10.7097244,34.1172594,4.8571456 +1250,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5927845,1.6434188,33.8201021,29.2319376,51.9374469,14.4509856,33.6687938,59.3137799,28.2477642,42.2527997,16.0706234,1.597492,16.6641535,12.2099144,42.9242832,23.5408744,1.70168,1.7328963,34.8608259,30.1321308,52.3725668,14.7383459,33.6915006,59.8522815,28.0706189,42.502188,16.1778767,1.8570094,17.5730181,12.4290306,41.3877345,22.2785697,1.7461787,1.7885258,35.5325839,31.1039737,54.1777953,14.9538089,33.2961297,60.2982378,27.6166935,42.3887884,15.6359409,1.7655449,18.1642159,12.5299006,41.4088101,22.8782007,1.7966284,1.8760921,35.5978049,31.0804,54.8341253,15.2797469,34.1619022,62.1590323,28.9372843,42.7333985,16.1381972,1.7936526,19.1273583,12.7607322,41.5832438,23.1953756,1.7183463,1.7659996,34.6282572,30.2282822,55.7850728,15.4378443,33.1889727,62.5039452,29.6539736,41.9217258,15.71298,1.7328048,19.2191133,12.4416088,40.3315137,24.9933594 +1251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5983054,1.6810146,24.1315501,20.0907359,47.2412518,15.4934796,42.970979,63.9514927,39.5751037,47.9604599,25.6662148,4.0952281,11.7783922,11.5061347,30.5537547,16.8717317,1.8704163,1.9535017,24.8603369,20.6870181,47.9354424,15.8481305,42.7144193,64.7310233,40.4533309,49.6257854,25.5656312,4.5553209,12.3743037,10.7073284,32.3210931,17.4056297,1.8664846,1.9931348,25.455961,21.1278211,48.2729882,15.9692391,42.9727615,64.2733965,39.7899932,50.000186,26.1307421,4.3614201,12.5491391,10.4821205,33.2694938,15.8070826,1.5529652,1.6186272,24.6852364,20.4245299,48.6270517,15.4984804,42.3314191,63.7285823,37.967592,49.439743,24.9466763,3.6950928,13.5867431,11.2571564,33.5889485,13.487556,1.7169136,1.7626051,24.5991621,20.225047,48.9455686,15.2062336,43.0429389,64.2919889,37.6936034,49.6366922,25.1644903,3.9932389,13.2231054,11.3606216,32.2949206,16.4426229 +1252,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7769197,0.8027202,8.3061244,5.5192705,48.0866475,19.782931,32.6333015,67.7149052,39.0097903,47.2796478,21.2078318,7.3014136,10.2483123,9.2460025,33.6225307,4.154723,0.7660348,0.7615151,8.1574805,5.3210796,46.3243713,19.4463112,31.3692132,67.5181667,39.0213485,46.9005433,20.9695716,7.3683002,10.5181518,9.9113113,32.717985,5.0872049,0.7910211,0.7755387,8.3862611,5.5869201,45.4944247,19.7894967,30.725013,68.0314396,40.0633477,46.9380508,21.6682292,7.5434054,10.1198598,9.3908612,32.1213604,4.8245586,0.7245553,0.7092809,8.4436696,5.6794421,45.2748521,19.8928363,30.6473999,67.7803459,39.8728278,47.2485495,21.6300576,7.063583,9.7367081,9.3906267,32.74761,3.9940817,0.6360005,0.6213483,8.4464715,5.5975958,43.6713106,19.2938322,30.4236938,67.5576773,40.3172085,47.8593548,22.1716963,6.3997307,9.9171617,9.8557644,32.1695287,3.9473673 +1253,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7101284,0.7278091,10.0498402,6.8272512,35.1365097,19.7701525,35.8206365,69.1201458,41.3367555,50.9813859,24.8223342,3.7055841,10.9511089,9.8860704,35.371585,4.6012213,0.7672123,0.7897547,10.3097705,6.9305448,34.5545409,20.2609218,36.4231003,69.8628111,41.5922564,51.5794581,24.2980231,3.7811116,11.3392349,10.7142984,34.8918362,5.2147239,0.7691578,0.7336253,10.0306349,6.845335,34.1830147,20.4286137,36.5758151,70.0344712,42.2149453,51.3941137,24.2637796,3.743735,11.4881811,10.9900491,34.0125308,5.0595238,0.796473,0.7484055,9.9438105,6.7905121,33.3817754,20.8464345,36.365086,70.9558909,42.3114143,51.8382358,23.7691781,3.9482107,11.1573075,10.7097244,34.1172594,4.8571456,0.957484,0.8786665,9.7557115,6.583116,31.7285207,20.9410543,36.4768467,70.9317836,42.817856,51.7794029,23.3096815,3.9631146,10.8274274,10.640369,33.3007813,6.0000034 +1254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4106641,0.4010445,8.4577804,5.4969562,43.8268561,18.5456541,29.7958128,67.658225,34.4899217,44.3940314,19.7928722,4.6651635,10.1684459,8.8673342,30.9662918,2.916153,0.3816717,0.3732877,8.7674748,5.6419801,43.7709095,18.8688672,29.2332827,67.8558836,34.6773844,44.3076494,19.3461687,4.7023483,10.4771479,8.3906073,30.8849502,2.3547726,0.3313229,0.3228605,8.9916984,5.8337086,44.0499309,18.8388629,29.3937226,68.5175961,34.4689325,44.362999,19.1025368,4.6899137,10.8166919,8.1393213,30.8257407,1.9341487,0.4376925,0.4294045,9.2864559,6.0774547,43.9383998,19.008852,29.0979665,68.8659144,35.2190779,44.7171648,19.6955008,4.9231527,10.5601571,8.1607485,31.4157367,2.8271662,0.3976325,0.3931709,8.683338,5.6268179,43.3520906,19.3557628,28.9406693,68.7213009,35.4056436,45.4132427,20.1907589,4.6284265,10.7148351,8.0944932,32.2602094,2.8645453 +1255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5447682,2.5703039,34.6965364,29.5674564,60.3912634,16.2174845,37.2916734,63.5815159,29.6456495,40.3348643,20.3181085,2.4571335,15.3611338,10.7638894,40.9139115,25.7621351,2.5298439,2.5473262,35.576646,30.7200392,60.9160315,15.6565022,37.7140645,62.8614687,29.428755,39.4823086,20.3570185,2.3453312,14.8398597,10.1613761,40.3771285,26.4829611,2.5737301,2.6419384,36.3306684,31.5338271,62.8041657,15.3625695,37.4578273,62.5171277,29.1099061,39.5400382,20.3123221,2.0736422,16.1384214,10.7874222,41.5704529,27.0017854,2.6311465,2.6713971,37.3262005,32.5416067,64.1402365,15.2663567,37.7675574,62.1103152,28.1000374,39.5437351,18.7670918,2.1093862,16.9969304,11.1672211,42.1467386,26.2074005,2.3675073,2.4165212,38.0086059,33.1316064,64.3071179,14.5180994,38.0637221,62.4498454,28.007639,40.3642164,18.8297024,2.3903639,16.7463173,11.0173941,43.1557364,25.1910462 +1256,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5825273,0.5969893,9.4944884,6.6591403,47.8809302,13.7116639,27.8245461,69.0377792,41.3567641,45.5719355,22.0470436,5.4313318,11.15553,10.2136247,33.830549,8.0110497,0.6329042,0.6468116,9.8892046,6.7755903,47.6042684,13.3993043,28.0130314,68.9600394,40.7200287,44.6092255,21.2982756,5.2834349,10.6352165,9.9992024,33.9863954,8.423913,0.6301492,0.6327856,9.8300244,6.6792845,46.9312858,13.7106356,28.311664,69.2102846,40.7573153,45.3572689,21.2777968,5.5750235,11.0526074,9.6635787,34.057733,9.1145833,0.6168436,0.6645466,9.8581699,6.4991658,46.4918939,13.1737185,27.4024594,69.2537975,40.6921608,45.1707879,20.1894538,5.0817929,11.3042185,9.4522574,34.9276891,9.9914473,0.6228991,0.6935981,9.7305251,6.4998172,46.0406779,13.1761182,27.4211101,69.390871,41.0031317,45.0384274,20.6366437,4.9691943,11.0179983,9.7957333,34.6047304,9.1848923 +1257,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.583237,0.5657887,7.4754193,4.9091691,66.4294555,8.5721948,25.9692494,66.5690288,33.1992377,41.20556,16.5276151,6.6230469,9.6098774,8.0337122,35.0179206,4.7938144,0.5706192,0.5592598,7.7025862,5.000652,65.212968,8.3950182,25.6465694,66.2312924,33.2022218,41.3417504,16.8424207,6.727113,9.8352285,8.5289989,35.2132509,4.6161322,0.5537568,0.547363,7.624948,4.8928011,64.9190791,8.5992582,25.4698648,66.0110327,32.8885872,40.5029733,16.7790662,6.7396896,9.8302493,8.4323058,35.7762255,4.4373285,0.6075158,0.5988684,7.8479249,5.0101934,64.0852225,8.4581433,25.7454279,66.2151836,32.8438488,40.0485528,16.468847,6.5538685,9.7167035,8.2499888,36.2446761,5.0088652,0.6209219,0.6245645,7.9724119,5.0815267,63.7939565,8.332579,26.0300882,66.2096177,32.6538564,40.0249004,16.5196039,6.5640083,9.9206371,8.2803557,36.415449,4.9002602 +1258,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5397502,0.5869398,8.2233706,5.0188571,36.1838737,24.6744603,29.0451438,70.5315507,34.3132616,46.7309123,16.2511771,8.3019521,10.0571638,9.2945352,32.9350714,2.2613009,0.5441661,0.5898966,8.0210136,5.2787946,35.7800422,24.7411311,28.9963524,69.0054487,34.1280322,45.7083943,15.4177914,7.7429328,10.5581468,9.8139635,33.3490333,2.2959067,0.5630552,0.6203405,7.8289367,4.9342119,36.189454,24.5157304,29.3515886,68.2549912,33.8337304,45.7571197,15.8616036,8.0286909,10.4860559,9.7659864,34.0436209,2.2499888,0.5407023,0.5825621,7.7842745,4.6789574,36.3464353,24.258051,30.4953895,68.1723299,32.9100349,45.14981,15.5911572,8.4720748,10.4166693,10.3316356,34.3483237,2.2277117,0.4946871,0.5352165,7.0385139,4.3610388,36.3432977,24.6518117,28.7414101,67.9911142,32.4928898,44.1507966,15.7926445,8.3299432,9.3775696,10.1882236,33.4575403,2.1739025 +1259,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5547038,0.6210168,11.433498,7.074889,51.8962527,21.6827284,34.2638702,68.3754822,35.1471204,47.9627654,21.1739075,3.9357405,14.6987644,12.4151562,39.2470197,3.2163724,0.6418216,0.6351552,11.6015648,7.2966305,51.4275094,20.5686071,33.9597229,67.3413274,35.3757369,47.5895055,21.4256977,3.8347696,15.4581814,13.1837672,40.6991343,4.6583764,0.6464101,0.6396327,11.0897952,7.1352476,50.5421956,19.8562118,34.5882433,67.3938237,35.888138,47.0948998,21.7710803,3.7032824,14.7187767,12.6601854,40.2991383,4.7770579,0.8974784,0.8802938,10.7852246,7.0310431,49.7033442,19.8456988,34.4999505,67.4185136,36.2656708,46.89984,21.9199108,3.7515458,14.4106309,13.0742973,39.6646944,5.5920211,0.775513,0.7581345,10.3296808,6.9340052,47.9138091,20.0955572,35.565382,67.8696413,36.6411491,47.5166277,22.3206233,4.1690399,14.6900868,12.9230202,38.3192781,4.7793207 +1260,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7672123,0.7897547,10.3097705,6.9305448,34.5545409,20.2609218,36.4231003,69.8628111,41.5922564,51.5794581,24.2980231,3.7811116,11.3392349,10.7142984,34.8918362,5.2147239,0.7691578,0.7336253,10.0306349,6.845335,34.1830147,20.4286137,36.5758151,70.0344712,42.2149453,51.3941137,24.2637796,3.743735,11.4881811,10.9900491,34.0125308,5.0595238,0.796473,0.7484055,9.9438105,6.7905121,33.3817754,20.8464345,36.365086,70.9558909,42.3114143,51.8382358,23.7691781,3.9482107,11.1573075,10.7097244,34.1172594,4.8571456,0.957484,0.8786665,9.7557115,6.583116,31.7285207,20.9410543,36.4768467,70.9317836,42.817856,51.7794029,23.3096815,3.9631146,10.8274274,10.640369,33.3007813,6.0000034,0.9049189,0.8365287,9.7204802,6.7368054,31.0484732,21.464788,36.5927912,70.8253507,42.276799,53.0347284,23.9403488,3.6127127,11.5834173,10.7467644,33.147919,5.3370817 +1261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5298439,2.5473262,35.576646,30.7200392,60.9160315,15.6565022,37.7140645,62.8614687,29.428755,39.4823086,20.3570185,2.3453312,14.8398597,10.1613761,40.3771285,26.4829611,2.5737301,2.6419384,36.3306684,31.5338271,62.8041657,15.3625695,37.4578273,62.5171277,29.1099061,39.5400382,20.3123221,2.0736422,16.1384214,10.7874222,41.5704529,27.0017854,2.6311465,2.6713971,37.3262005,32.5416067,64.1402365,15.2663567,37.7675574,62.1103152,28.1000374,39.5437351,18.7670918,2.1093862,16.9969304,11.1672211,42.1467386,26.2074005,2.3675073,2.4165212,38.0086059,33.1316064,64.3071179,14.5180994,38.0637221,62.4498454,28.007639,40.3642164,18.8297024,2.3903639,16.7463173,11.0173941,43.1557364,25.1910462,2.4944008,2.5244138,38.6370397,33.4820671,64.5939701,14.3324033,37.4428869,62.0975982,27.215212,40.1079271,18.4072844,2.297168,16.7492929,11.392013,43.7235768,25.8898616 +1262,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.276951,1.3170708,24.0164274,20.2102836,51.2788392,17.7305585,39.1116052,65.9758111,33.7359493,46.8229233,20.529376,2.8097079,15.6376548,12.4788142,37.0276326,13.1119019,1.2486357,1.2634711,24.1777269,20.2977189,51.4674326,17.4877226,39.7673997,65.3199453,34.5148498,46.9864079,20.6123497,2.8917075,15.463982,12.3131306,35.9965422,14.403983,1.1883305,1.2028583,24.7920085,21.1129818,52.2896968,17.4611806,39.7737018,65.1925806,34.3259402,46.8580841,20.8375915,2.5820291,15.1446939,11.6620786,35.4884852,13.5092941,1.2832475,1.2823715,24.7646932,20.8408301,52.8751435,17.1490043,40.0928708,64.732876,35.025617,47.0294695,21.0338511,2.2926581,15.5308619,12.1958256,35.1133432,13.593723,1.5450811,1.5360954,25.5010724,21.4793222,53.3708217,17.2374979,40.100871,64.5249234,34.1289439,47.6074805,20.8119129,2.5494677,15.6478494,11.9947883,34.8915609,14.1304436 +1263,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.353437,1.3881445,22.0040261,18.0678787,41.265584,15.9225244,37.9172897,65.2471367,35.5989628,47.364781,22.6223625,3.4167672,11.932232,9.330389,30.3740798,21.7171263,1.2910333,1.3253714,22.9372072,18.8734072,41.1276553,16.3656307,38.525069,65.3508341,35.6852243,47.7764548,23.1047461,3.2486373,11.4777062,9.2044162,30.0773994,21.2553574,1.2258111,1.2605083,22.8306561,18.722813,41.3851561,16.4628664,38.6584936,65.4280483,35.3817977,48.7223499,23.1425172,3.2150821,11.4173895,9.6428171,30.843302,19.6263804,1.4098217,1.4289581,23.7824794,19.5025179,41.8039283,16.6680174,38.4937603,66.1116246,36.3222513,49.2452828,23.4073767,3.1782304,12.275995,9.8624046,31.3209658,20.8642593,1.3500896,1.3696815,24.3213672,20.081735,41.9904741,16.5109026,38.0462549,66.0019524,35.9996528,48.4331399,23.0417999,3.5393266,12.1670091,9.8530386,30.7550983,22.2446728 +1264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0826915,1.0895584,14.0799924,10.0105001,36.3216696,16.0317758,36.3426424,68.6988603,40.1737669,50.8470215,25.2686579,4.3611202,13.7716704,12.0958852,34.6607051,10.1852343,1.1940549,1.2011812,14.2281639,10.0223183,36.244457,16.3358065,35.3039006,68.7183122,40.6712784,51.0924634,24.7720571,4.3866495,13.867282,12.1551867,34.2706003,10.2941583,1.1286742,1.1361917,14.2419412,9.8629805,35.8804971,16.2577998,34.9247189,69.4327702,40.5779945,51.3522692,24.2757455,4.6606625,13.7469381,12.5188856,32.7928274,9.1772669,0.9867708,0.9947412,14.0874116,9.6971702,34.8622926,16.1976538,34.3667363,69.701284,40.9231298,51.5864669,23.7504635,4.4323424,13.5387475,12.4670379,32.524975,7.4193501,1.0592315,1.0797902,14.1500558,9.7350579,33.8687802,16.2274464,34.4620354,69.3888817,40.7922524,51.5049393,24.1035134,4.2717884,12.9829059,11.4658207,31.2104285,7.0945898 +1265,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5113578,0.5992106,9.963127,5.9901572,56.0484597,14.5021518,31.7289555,68.8139378,35.5919714,45.7402234,20.4531023,2.8502777,9.5611927,8.5616381,33.5430178,9.1362428,0.5071652,0.576543,9.733676,5.831941,55.3293454,14.4391032,32.8441539,69.1828429,36.2436659,46.2732091,20.6819995,3.0299791,9.3271504,8.2492821,33.0828598,9.0460586,0.5234603,0.5738389,9.5085616,5.9363917,54.4532202,14.623712,33.259335,69.3616321,36.8103876,46.533496,20.9997849,2.8218102,8.8722686,7.7903582,32.3757198,8.7171053,0.5279284,0.537715,9.35924,6.06092,54.2492863,14.3175407,33.0429939,69.3225605,36.0967583,45.9247367,20.4408658,3.1075256,9.4178816,7.9758391,32.5303881,8.1395349,0.5400993,0.5302101,9.2596496,6.0140015,53.3633745,14.5592533,32.3038523,68.5413809,36.5734559,46.3264069,20.4269805,3.0017331,9.3291501,7.7488437,31.595629,6.9256396 +1266,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0618941,1.101015,24.6236775,20.0341124,42.4575583,14.4770931,40.0468644,66.8671311,34.2692551,50.238538,26.3292164,5.6132104,15.5535104,13.179662,33.971069,11.5580431,1.3407337,1.3799128,25.2805969,20.2660148,43.6454349,14.5622531,39.712705,65.9816631,33.5674129,49.6473796,25.5818763,5.6058242,15.6427102,13.3078201,35.2701831,14.2550965,1.4866705,1.5399419,25.1644312,19.7508707,43.5796797,14.1290455,39.6678527,66.2032372,33.8586655,49.3241702,25.3436079,5.9253757,15.668528,12.9636645,34.4396119,14.2570664,1.6871373,1.6899847,24.9698249,19.3001674,44.1095044,13.983285,39.644096,66.0705058,33.2093819,49.4695101,24.6962561,6.1357535,14.7651839,12.6391353,33.7839893,16.2018665,1.6908645,1.6937092,26.0101034,20.2956625,44.0536053,13.6603781,39.6960333,67.0442136,33.8783443,49.3073486,24.6161822,6.1612581,14.384442,12.9936207,34.3667577,15.6744539 +1267,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8320583,0.9094116,9.9431281,6.2572955,45.7390622,15.6691796,27.3363929,64.3557122,35.4170178,41.4026958,19.8464596,3.4982367,11.9112729,11.4893049,40.9476022,3.4623178,0.843935,0.9200673,10.0599685,6.509344,45.7483965,15.8048564,27.290812,64.8253855,36.1640354,40.7019307,18.9436081,3.6516288,11.7753481,11.3680165,39.8476327,2.4265319,0.8494382,0.9231747,10.1419618,6.4315607,45.2777986,15.5309196,27.4315657,64.7998636,37.3293299,40.829302,19.2241353,3.3966884,11.1445783,10.3575745,39.1148792,6.9426702,0.8533715,0.8785568,10.58331,6.7561412,44.8044015,15.4044596,27.1871975,64.0161259,37.5308161,40.5691364,19.1809155,3.2739065,11.7644229,10.0875913,37.8849789,9.1322006,0.8535583,0.7913363,11.5649401,7.3256887,44.8951467,15.4803173,26.2474654,64.5781453,36.4876697,40.3618843,18.9654975,3.3727552,12.1980202,11.3186295,39.9222717,8.4135508 +1268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4235734,0.4598053,9.6107574,6.4406066,45.6276192,17.6434366,33.877635,70.463003,40.615936,46.2381152,23.2534002,3.6171991,8.2815125,6.9921842,31.4117891,3.741489,0.5427327,0.5492892,10.2407085,6.9467828,45.7512132,18.2968667,33.1820148,69.498485,40.6614566,45.3739697,23.1085107,3.8694354,8.3889941,7.2506334,31.6077702,3.6912702,0.4648853,0.4716741,9.9518858,6.6710385,45.3451495,18.6752332,33.3557047,69.6868037,40.8724613,45.1230451,23.0201353,3.8702485,8.0715658,7.493431,32.6144605,4.0441117,0.4748815,0.4818932,10.1452623,6.8315911,44.6554216,19.1620946,32.6006559,70.0370245,40.930106,45.7889885,23.9472402,3.9102296,7.4660851,7.2207214,34.229738,3.3333284,0.5230064,0.5391378,9.9007642,6.7816626,44.0616043,19.2417846,32.7611236,69.3181796,40.4013345,45.5270828,23.2833551,3.7959372,7.9327054,7.4806989,34.3507907,3.3582039 +1269,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1647566,1.1694574,27.2235695,22.6517896,41.975643,19.2258024,37.500917,68.1488378,33.8445754,45.4218288,21.7189024,3.1988298,13.9830068,13.6748287,33.4544286,18.8529768,1.3362129,1.3689887,27.9367307,23.5429536,42.3280761,19.0977257,37.3046692,67.9024957,34.207941,46.1688714,21.0333307,3.1873072,12.9843996,12.3314394,33.6529842,19.9452462,1.4461326,1.4784544,28.7652913,24.9689952,43.2131562,18.7023151,36.4479585,67.5451502,33.756874,44.9404188,19.8223948,2.9004458,13.2686095,11.763617,34.0552528,19.4443462,1.6464655,1.6788951,29.4765901,25.6128651,43.0566793,18.5875735,35.4678642,66.9895167,34.2624624,45.6541724,19.2544623,2.923177,13.4905662,11.9738806,34.0552567,19.1541833,1.7440945,1.7488301,29.6616636,25.4630093,42.8089336,17.4013979,34.0968444,66.9960602,34.7732453,44.367433,18.9072688,2.6135354,13.9776307,10.9921133,34.1910821,19.0354968 +1270,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5271897,0.5418758,10.038871,7.1360649,33.824758,13.1542854,32.8836319,68.540798,40.9372065,48.7959889,21.6358725,6.4588521,8.1149331,8.5036724,31.6563886,6.0000048,0.465572,0.4690932,9.2398345,6.6718151,32.741331,13.7890164,32.1052476,69.3183152,41.6106926,49.2367053,21.8864909,6.177025,8.7158776,8.7158877,31.7413447,4.4715484,0.5117137,0.4632807,9.1874732,6.675081,32.2973929,13.9955192,31.0483232,69.201066,41.3697901,48.6034804,21.5717355,6.2595455,9.113842,9.0064498,32.6226664,2.8225806,0.6932009,0.6461771,8.984583,6.5886942,32.1340773,14.0928155,31.7596556,69.2578217,41.4469136,49.0067822,21.6333969,6.5166686,9.3217613,8.5487344,31.6863236,3.7190083,0.6616913,0.6017116,9.2252244,6.7319205,32.3992347,14.238253,30.8596972,68.1352539,41.455661,48.0356001,21.6771721,6.8754842,9.9736962,8.3561332,32.6603005,3.5433071 +1271,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2910333,1.3253714,22.9372072,18.8734072,41.1276553,16.3656307,38.525069,65.3508341,35.6852243,47.7764548,23.1047461,3.2486373,11.4777062,9.2044162,30.0773994,21.2553574,1.2258111,1.2605083,22.8306561,18.722813,41.3851561,16.4628664,38.6584936,65.4280483,35.3817977,48.7223499,23.1425172,3.2150821,11.4173895,9.6428171,30.843302,19.6263804,1.4098217,1.4289581,23.7824794,19.5025179,41.8039283,16.6680174,38.4937603,66.1116246,36.3222513,49.2452828,23.4073767,3.1782304,12.275995,9.8624046,31.3209658,20.8642593,1.3500896,1.3696815,24.3213672,20.081735,41.9904741,16.5109026,38.0462549,66.0019524,35.9996528,48.4331399,23.0417999,3.5393266,12.1670091,9.8530386,30.7550983,22.2446728,1.4111193,1.4418483,25.1628595,20.6088458,42.1184552,16.9051416,38.1148127,66.6948438,36.0571467,47.8403492,22.791462,3.2373321,12.6425939,10.149907,30.186884,20.9952426 +1272,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3362129,1.3689887,27.9367307,23.5429536,42.3280761,19.0977257,37.3046692,67.9024957,34.207941,46.1688714,21.0333307,3.1873072,12.9843996,12.3314394,33.6529842,19.9452462,1.4461326,1.4784544,28.7652913,24.9689952,43.2131562,18.7023151,36.4479585,67.5451502,33.756874,44.9404188,19.8223948,2.9004458,13.2686095,11.763617,34.0552528,19.4443462,1.6464655,1.6788951,29.4765901,25.6128651,43.0566793,18.5875735,35.4678642,66.9895167,34.2624624,45.6541724,19.2544623,2.923177,13.4905662,11.9738806,34.0552567,19.1541833,1.7440945,1.7488301,29.6616636,25.4630093,42.8089336,17.4013979,34.0968444,66.9960602,34.7732453,44.367433,18.9072688,2.6135354,13.9776307,10.9921133,34.1910821,19.0354968,1.8170851,1.8331616,31.2107528,27.2010429,43.818054,18.0232026,34.9230298,67.7864718,34.1844955,44.3400754,18.5522661,2.6155824,15.2483828,10.7922181,33.2715445,17.7184865 +1273,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8366334,0.8010998,8.9894895,5.5826819,19.9064949,17.4660428,32.3571234,67.2234048,39.7705171,49.7943884,22.5250972,5.0501077,8.9875425,9.0001241,24.7765646,6.4388183,0.7911693,0.7565433,8.6869463,5.5143789,19.3716422,17.3063449,32.3506111,67.8029791,38.8700351,50.0614116,21.9876571,5.030317,9.368249,9.3159263,24.6372447,5.5550741,0.9313324,0.8951097,9.3064876,6.0691621,19.250365,17.5725021,32.8961935,67.5419736,38.8556206,49.9846397,22.2003102,5.2685572,9.7333886,9.2557951,25.315658,7.1422396,0.8641711,0.788991,9.2755821,6.2432996,19.5901895,17.2826517,32.6215965,68.24229,38.8384225,49.594826,22.0674211,5.0921754,9.4650466,9.2114153,25.2264643,5.5555597,0.9930611,0.921993,10.0313955,6.8832674,19.3121447,17.50654,34.132735,67.306574,38.1613265,49.0909072,21.2995393,4.7867983,8.8723216,8.7745765,24.6182266,6.0713615 +1274,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.285187,1.3598333,20.8132518,16.4062069,29.4229819,13.6878352,35.1171159,65.7310395,38.4693252,47.5969295,22.5969346,2.8069502,13.4820074,10.6617632,38.6500876,18.4783886,1.4720511,1.5123176,21.6599498,17.0331874,29.4805687,14.6133444,35.6094635,65.3310756,37.6411025,47.1218889,22.6674013,3.0285928,13.6845017,10.3846208,38.951413,19.4993755,1.6496251,1.6891825,22.7391146,17.7998045,30.5325382,14.1352132,35.7577302,65.2421917,36.5026997,46.1297976,22.3900413,2.94432,14.5646226,10.8663843,39.6713184,18.9781393,1.5152002,1.5146404,23.3993682,18.2194963,31.0413196,14.798129,36.1363886,64.4487623,36.6872345,46.2335013,22.6156254,3.1159671,14.236336,10.9817031,39.2221767,18.4950769,1.5716618,1.5627738,23.3986607,18.167325,31.3010533,14.6272888,36.1843327,63.853815,35.6465653,45.8687523,21.7330937,2.9805645,14.2534048,10.3751182,39.4763238,21.6918418 +1275,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7276995,0.7132539,6.5114909,3.8597525,53.5,19.5002872,30.887471,66.7923434,32.4535963,45.562645,18.6484919,5.24942,9.5733042,7.8485181,32.7986726,3.0612245,0.7121383,0.6971064,6.4189189,4.0233415,51.7083588,19.8626045,30.9753161,66.9175196,33.2028898,46.0264901,18.9945816,5.0872968,8.2946636,7.2759022,31.6686251,1.8939394,0.6979647,0.6826037,6.147541,3.8776797,50.1566416,20.7820197,31.3354037,68.3540373,34.3167702,46.242236,20.0310559,5.7453416,8.5411471,7.8222778,32.3047859,2.8688525,0.8174224,0.7776452,5.9803922,3.8888889,48.3776768,20.7961783,30.9691913,69.4801027,34.6919127,46.1810013,19.5442875,6.0012837,7.992074,7.2281167,32.3803191,3.0434783,0.684221,0.6642729,6.0775296,4.2378449,47.2638436,22.2613709,31.4755155,69.2332474,35.3414948,46.681701,19.3621134,5.7667526,7.5033201,6.3249001,31.6666667,2.2522523 +1276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.3407337,1.3799128,25.2805969,20.2660148,43.6454349,14.5622531,39.712705,65.9816631,33.5674129,49.6473796,25.5818763,5.6058242,15.6427102,13.3078201,35.2701831,14.2550965,1.4866705,1.5399419,25.1644312,19.7508707,43.5796797,14.1290455,39.6678527,66.2032372,33.8586655,49.3241702,25.3436079,5.9253757,15.668528,12.9636645,34.4396119,14.2570664,1.6871373,1.6899847,24.9698249,19.3001674,44.1095044,13.983285,39.644096,66.0705058,33.2093819,49.4695101,24.6962561,6.1357535,14.7651839,12.6391353,33.7839893,16.2018665,1.6908645,1.6937092,26.0101034,20.2956625,44.0536053,13.6603781,39.6960333,67.0442136,33.8783443,49.3073486,24.6161822,6.1612581,14.384442,12.9936207,34.3667577,15.6744539,1.7689503,1.8098309,26.4054992,20.248037,45.3120541,13.1873282,38.919512,66.2998724,33.1624747,48.9744813,24.1328746,5.6437097,15.6335596,12.8074891,34.6017064,16.4771229 +1277,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2258111,1.2605083,22.8306561,18.722813,41.3851561,16.4628664,38.6584936,65.4280483,35.3817977,48.7223499,23.1425172,3.2150821,11.4173895,9.6428171,30.843302,19.6263804,1.4098217,1.4289581,23.7824794,19.5025179,41.8039283,16.6680174,38.4937603,66.1116246,36.3222513,49.2452828,23.4073767,3.1782304,12.275995,9.8624046,31.3209658,20.8642593,1.3500896,1.3696815,24.3213672,20.081735,41.9904741,16.5109026,38.0462549,66.0019524,35.9996528,48.4331399,23.0417999,3.5393266,12.1670091,9.8530386,30.7550983,22.2446728,1.4111193,1.4418483,25.1628595,20.6088458,42.1184552,16.9051416,38.1148127,66.6948438,36.0571467,47.8403492,22.791462,3.2373321,12.6425939,10.149907,30.186884,20.9952426,1.6338359,1.6887105,25.3178055,20.7323362,42.3453019,17.2437779,37.8144044,66.6841428,34.7273887,47.0929583,22.0799097,3.4545992,12.9324078,10.7630544,29.6809286,18.897009 +1278,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4883986,1.5149594,19.5336517,15.2874884,83.8078366,15.3679971,31.352205,64.9329506,33.5497146,37.0854849,18.1467494,4.7200979,13.7971336,12.153692,39.9450453,12.8234491,1.4816503,1.5078639,19.6393788,15.6169509,83.6798902,15.4781265,31.1008005,64.8702339,33.739525,37.5883335,17.4264145,5.0268641,13.8705155,11.3046187,37.0700483,13.5167971,1.3978867,1.4590233,20.0374525,15.9919665,84.5896333,14.3890107,30.9827548,64.0674381,33.4580447,38.6467212,17.6623767,4.8144041,13.9083403,10.6031929,36.5378659,11.0286714,1.4909896,1.5528732,20.2453023,15.9273397,84.3469693,13.4538666,31.2458189,63.9187912,33.8098157,38.4200886,17.6454284,4.8734201,15.0067458,10.3428887,37.3013679,13.9018788,1.5149688,1.6025716,20.0161466,15.4629117,84.8099375,12.8646284,30.584701,63.0502916,33.1933856,38.5276856,17.1914829,4.783928,14.5216219,10.1232515,38.262649,14.8046259 +1279,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.4720511,1.5123176,21.6599498,17.0331874,29.4805687,14.6133444,35.6094635,65.3310756,37.6411025,47.1218889,22.6674013,3.0285928,13.6845017,10.3846208,38.951413,19.4993755,1.6496251,1.6891825,22.7391146,17.7998045,30.5325382,14.1352132,35.7577302,65.2421917,36.5026997,46.1297976,22.3900413,2.94432,14.5646226,10.8663843,39.6713184,18.9781393,1.5152002,1.5146404,23.3993682,18.2194963,31.0413196,14.798129,36.1363886,64.4487623,36.6872345,46.2335013,22.6156254,3.1159671,14.236336,10.9817031,39.2221767,18.4950769,1.5716618,1.5627738,23.3986607,18.167325,31.3010533,14.6272888,36.1843327,63.853815,35.6465653,45.8687523,21.7330937,2.9805645,14.2534048,10.3751182,39.4763238,21.6918418,1.6186068,1.6180845,24.2044491,18.9782966,31.8746908,15.2976375,37.0228612,63.3528059,35.2938024,45.8595664,21.9018671,3.1091415,14.1603783,10.8316015,39.718926,20.7481007 +1280,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6697374,0.7065528,9.0169634,5.5629303,46.2736137,18.9676757,31.567392,67.5579937,38.3616634,43.9456862,22.2839918,4.0531418,9.7115518,9.9792768,32.7454546,5.957666,0.6702865,0.7054957,9.2043294,5.5099388,46.0949933,19.0512095,31.6355548,67.6896179,38.6404918,44.1036449,22.15625,4.1291574,10.0591946,9.9932638,32.5448018,6.5525688,0.6479025,0.6535731,8.6425283,4.9924034,46.0184892,19.2013028,32.232739,67.9207856,38.4671854,43.504385,22.4048721,4.0693934,9.8548398,9.0420391,32.9406268,7.2361346,0.7293381,0.728042,8.9615159,5.1480329,45.4562788,19.1780866,31.7171203,68.1627013,38.7719049,43.7557301,22.2606402,4.3380241,9.8894331,8.8431263,32.8489981,7.2607385,0.7369086,0.7356394,8.9171914,5.1549781,45.4670194,19.5399136,31.2225243,69.0714222,38.8624962,43.6526742,22.553641,4.4519935,9.5509154,8.5703278,33.5270585,7.1138415 +1281,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5706192,0.5592598,7.7025862,5.000652,65.212968,8.3950182,25.6465694,66.2312924,33.2022218,41.3417504,16.8424207,6.727113,9.8352285,8.5289989,35.2132509,4.6161322,0.5537568,0.547363,7.624948,4.8928011,64.9190791,8.5992582,25.4698648,66.0110327,32.8885872,40.5029733,16.7790662,6.7396896,9.8302493,8.4323058,35.7762255,4.4373285,0.6075158,0.5988684,7.8479249,5.0101934,64.0852225,8.4581433,25.7454279,66.2151836,32.8438488,40.0485528,16.468847,6.5538685,9.7167035,8.2499888,36.2446761,5.0088652,0.6209219,0.6245645,7.9724119,5.0815267,63.7939565,8.332579,26.0300882,66.2096177,32.6538564,40.0249004,16.5196039,6.5640083,9.9206371,8.2803557,36.415449,4.9002602,0.6922305,0.6957642,8.1945775,5.302445,63.4136498,8.4328595,26.0211149,66.4533638,32.5815482,39.7288372,16.4779957,6.4481232,9.9057427,8.2378804,36.3249489,4.724042 +1282,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7691578,0.7336253,10.0306349,6.845335,34.1830147,20.4286137,36.5758151,70.0344712,42.2149453,51.3941137,24.2637796,3.743735,11.4881811,10.9900491,34.0125308,5.0595238,0.796473,0.7484055,9.9438105,6.7905121,33.3817754,20.8464345,36.365086,70.9558909,42.3114143,51.8382358,23.7691781,3.9482107,11.1573075,10.7097244,34.1172594,4.8571456,0.957484,0.8786665,9.7557115,6.583116,31.7285207,20.9410543,36.4768467,70.9317836,42.817856,51.7794029,23.3096815,3.9631146,10.8274274,10.640369,33.3007813,6.0000034,0.9049189,0.8365287,9.7204802,6.7368054,31.0484732,21.464788,36.5927912,70.8253507,42.276799,53.0347284,23.9403488,3.6127127,11.5834173,10.7467644,33.147919,5.3370817,0.9017128,0.8191912,10.0778772,6.7133864,29.2686431,21.7303605,35.6170664,70.4589123,42.0411205,53.053839,23.6867796,3.5601215,12.4197947,10.3658623,31.8123101,4.3604677 +1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6194577,0.6658069,10.6545391,6.9029972,59.2053277,9.5851203,33.6089444,66.9521235,41.3133373,44.7701625,23.8902032,4.2530882,10.0475682,8.8751472,40.4389891,6.2499942,0.7475454,0.8010601,11.0721866,7.0819339,57.9353824,9.7572167,34.0602168,66.9671391,41.2116911,44.9788297,24.0985067,4.306022,10.1670679,9.0433429,40.6142683,6.4666615,0.7831158,0.8136232,11.0195756,6.9992693,57.4914489,9.9898882,33.8070502,67.1882928,41.1954557,44.7767757,24.2739753,4.3766426,10.0736684,9.4234968,41.2368625,6.4802112,0.7472583,0.772514,11.0146571,7.0573593,56.413487,10.1627986,33.6773704,67.1783039,41.6461357,44.9726923,24.6924699,4.3908849,10.0873426,9.7196537,40.7510149,5.9558806,0.7568552,0.7786256,10.7166659,6.7710599,56.012365,10.2543385,33.3535523,66.8120526,41.7016052,44.6388822,24.5306922,4.3562689,10.513556,10.2399155,41.7162103,5.0884941 +1284,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1940549,1.2011812,14.2281639,10.0223183,36.244457,16.3358065,35.3039006,68.7183122,40.6712784,51.0924634,24.7720571,4.3866495,13.867282,12.1551867,34.2706003,10.2941583,1.1286742,1.1361917,14.2419412,9.8629805,35.8804971,16.2577998,34.9247189,69.4327702,40.5779945,51.3522692,24.2757455,4.6606625,13.7469381,12.5188856,32.7928274,9.1772669,0.9867708,0.9947412,14.0874116,9.6971702,34.8622926,16.1976538,34.3667363,69.701284,40.9231298,51.5864669,23.7504635,4.4323424,13.5387475,12.4670379,32.524975,7.4193501,1.0592315,1.0797902,14.1500558,9.7350579,33.8687802,16.2274464,34.4620354,69.3888817,40.7922524,51.5049393,24.1035134,4.2717884,12.9829059,11.4658207,31.2104285,7.0945898,0.8914298,0.9436251,13.7938572,9.2037081,34.2508433,16.5733809,34.2661127,69.1672098,39.5812371,50.96409,24.4354858,4.256806,12.6540132,10.6534012,30.9273079,4.9242424 +1285,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5537568,0.547363,7.624948,4.8928011,64.9190791,8.5992582,25.4698648,66.0110327,32.8885872,40.5029733,16.7790662,6.7396896,9.8302493,8.4323058,35.7762255,4.4373285,0.6075158,0.5988684,7.8479249,5.0101934,64.0852225,8.4581433,25.7454279,66.2151836,32.8438488,40.0485528,16.468847,6.5538685,9.7167035,8.2499888,36.2446761,5.0088652,0.6209219,0.6245645,7.9724119,5.0815267,63.7939565,8.332579,26.0300882,66.2096177,32.6538564,40.0249004,16.5196039,6.5640083,9.9206371,8.2803557,36.415449,4.9002602,0.6922305,0.6957642,8.1945775,5.302445,63.4136498,8.4328595,26.0211149,66.4533638,32.5815482,39.7288372,16.4779957,6.4481232,9.9057427,8.2378804,36.3249489,4.724042,0.6625561,0.6695143,8.2835367,5.3899628,62.8618616,8.4777525,25.9591112,66.5757191,32.6784811,39.7174227,16.405744,6.1820328,10.0411705,8.2707969,36.4738046,4.4191558 +1286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2282775,0.2221411,6.9333029,3.9992095,68.0437792,19.1439979,31.0252283,63.806914,29.5314849,40.3917236,15.56323,5.5914562,9.6810125,7.8672662,35.1907387,4.2501573,0.3340767,0.3353141,7.5384215,4.2643641,67.3888227,19.0983816,31.2548695,63.8301092,29.9957303,40.4753445,16.2266976,5.2599656,9.475659,8.0827098,35.1320887,4.3591398,0.2863911,0.2938622,7.5337102,4.2670631,66.3555337,19.2898222,31.6637321,63.6343949,30.4372477,40.617456,16.6190254,4.885545,9.9325389,8.47139,35.109618,3.1402089,0.3997496,0.4260654,7.3699388,4.2320383,64.6189046,19.3948022,31.1115586,63.5972074,30.4552989,41.0377341,16.0582509,4.8605446,10.172678,8.6972937,34.1767552,3.1553413,0.368179,0.3957925,7.3038536,4.2262661,64.3700772,20.0555319,30.8639193,63.6501076,31.5550774,41.7926516,16.8250599,5.1619902,10.5325964,8.5657411,33.5862781,3.2663333 +1287,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4461326,1.4784544,28.7652913,24.9689952,43.2131562,18.7023151,36.4479585,67.5451502,33.756874,44.9404188,19.8223948,2.9004458,13.2686095,11.763617,34.0552528,19.4443462,1.6464655,1.6788951,29.4765901,25.6128651,43.0566793,18.5875735,35.4678642,66.9895167,34.2624624,45.6541724,19.2544623,2.923177,13.4905662,11.9738806,34.0552567,19.1541833,1.7440945,1.7488301,29.6616636,25.4630093,42.8089336,17.4013979,34.0968444,66.9960602,34.7732453,44.367433,18.9072688,2.6135354,13.9776307,10.9921133,34.1910821,19.0354968,1.8170851,1.8331616,31.2107528,27.2010429,43.818054,18.0232026,34.9230298,67.7864718,34.1844955,44.3400754,18.5522661,2.6155824,15.2483828,10.7922181,33.2715445,17.7184865,1.964245,1.9801235,32.1080171,27.8112925,43.6504589,17.4496256,35.5639079,67.1023057,33.4457737,44.2817918,18.3119128,2.5121749,15.4073071,10.6496049,33.3135442,18.7203556 +1288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5690291,0.564866,7.7231847,4.9178645,34.4676074,10.7568836,30.3616284,68.7305352,36.9805107,48.2797947,21.175216,3.2395873,10.2164394,9.7274439,31.0146833,3.1343302,0.5932583,0.5738238,7.7591998,5.0878551,34.4534354,10.9803126,30.0738509,69.1003,36.8443482,48.6798212,20.4650997,3.0441657,10.3168253,9.881145,31.3585345,3.2012224,0.613544,0.5942573,8.0205704,5.3848644,33.6138613,10.9949772,29.4710624,69.7424953,36.6716215,49.6785626,20.6627982,3.0283944,10.4323632,9.8486883,30.6894859,3.685901,0.5532475,0.5341939,7.8530613,5.3070501,32.5407138,11.4495031,29.0273175,70.3003943,37.3034674,50.3538169,20.7691746,3.1741703,10.6976837,10.2348918,31.0299813,2.707009,0.496563,0.4938375,7.9396092,5.5085883,31.7942571,11.4989994,29.0315237,70.2943609,37.1918547,50.4615283,20.9596134,3.4326537,10.9816541,10.4404748,32.3633934,1.7241401 +1289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7211805,0.6939315,8.616592,5.1461858,28.7071269,17.7083293,34.1123866,69.0118566,41.0632048,50.5328247,24.4490226,4.541055,10.1061456,9.5089174,30.5326937,5.841116,0.6792231,0.6482219,8.7273178,5.2991287,28.3012189,17.650368,34.5240979,68.9910993,41.189229,50.1597956,24.4807268,4.4396339,10.353555,10.0321552,30.8599082,7.3008753,0.6081405,0.5737246,8.2521245,5.1377153,27.5865781,17.3454094,34.7633593,68.9107496,40.9012297,49.9351827,24.4326878,4.506166,10.2312596,10.0087388,31.0881895,5.3999914,0.5826205,0.5651469,7.9714556,4.8552509,27.1745888,17.4146998,35.2061971,68.7113455,40.5051618,49.7835269,24.4226966,4.546398,10.2377177,10.4045237,30.6579899,4.9212502,0.6516604,0.6411442,8.4125503,5.3707251,26.9215392,17.4167996,35.28207,68.7585447,40.1815385,49.7072235,23.7849104,4.5188381,10.5045497,10.6186106,31.3465062,5.215818 +1290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7475454,0.8010601,11.0721866,7.0819339,57.9353824,9.7572167,34.0602168,66.9671391,41.2116911,44.9788297,24.0985067,4.306022,10.1670679,9.0433429,40.6142683,6.4666615,0.7831158,0.8136232,11.0195756,6.9992693,57.4914489,9.9898882,33.8070502,67.1882928,41.1954557,44.7767757,24.2739753,4.3766426,10.0736684,9.4234968,41.2368625,6.4802112,0.7472583,0.772514,11.0146571,7.0573593,56.413487,10.1627986,33.6773704,67.1783039,41.6461357,44.9726923,24.6924699,4.3908849,10.0873426,9.7196537,40.7510149,5.9558806,0.7568552,0.7786256,10.7166659,6.7710599,56.012365,10.2543385,33.3535523,66.8120526,41.7016052,44.6388822,24.5306922,4.3562689,10.513556,10.2399155,41.7162103,5.0884941,0.7905009,0.8045355,10.8172683,6.8476281,54.9594957,10.3044113,32.941488,66.7805263,41.5575771,44.232734,24.1748619,4.5107552,10.521003,10.2727183,41.1109162,5.0940439 +1291,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.926055,1.926055,34.5545977,29.9568966,63.9183056,5.8357349,33.6482558,64.3168605,26.9622093,41.6424419,15.4796512,5.7412791,15.1651652,11.2275449,39.8507463,14.0718563,1.5489345,1.5489345,34.7283407,30.4698972,65.5145929,6.3970588,33.2095097,62.7786033,26.5230312,40.6389302,14.1901932,5.7206538,14.84375,10.7476636,37.1118012,16.4596273,1.544093,1.544093,35.1739788,30.484115,66.6405024,7.7443609,32.7507599,62.2340426,26.2158055,40.3495441,13.6018237,5.6990881,15.7643312,10.9177215,36.984127,17.2077922,1.9652946,1.9652946,36.7824773,31.9486405,66.3249211,7.0241692,32.6952527,61.0260337,26.5696784,39.5865237,13.5528331,6.5084227,17.5806452,12.3794212,37.9032258,19.8113208,1.9311398,1.9311398,35.947205,31.2888199,66.5322581,7.6625387,30.533752,61.9309262,25.9811617,37.755102,13.1083203,6.6718995,16.8300654,11.5635179,37.2131148,20.0617284 +1292,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.796473,0.7484055,9.9438105,6.7905121,33.3817754,20.8464345,36.365086,70.9558909,42.3114143,51.8382358,23.7691781,3.9482107,11.1573075,10.7097244,34.1172594,4.8571456,0.957484,0.8786665,9.7557115,6.583116,31.7285207,20.9410543,36.4768467,70.9317836,42.817856,51.7794029,23.3096815,3.9631146,10.8274274,10.640369,33.3007813,6.0000034,0.9049189,0.8365287,9.7204802,6.7368054,31.0484732,21.464788,36.5927912,70.8253507,42.276799,53.0347284,23.9403488,3.6127127,11.5834173,10.7467644,33.147919,5.3370817,0.9017128,0.8191912,10.0778772,6.7133864,29.2686431,21.7303605,35.6170664,70.4589123,42.0411205,53.053839,23.6867796,3.5601215,12.4197947,10.3658623,31.8123101,4.3604677,0.8487084,0.7511635,10.4218694,7.1718647,28.291771,22.0315642,35.3099938,71.0811348,42.2734204,53.1796994,23.7043581,3.4817117,12.5081915,10.6139935,32.1593231,4.3103473 +1293,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7121383,0.6971064,6.4189189,4.0233415,51.7083588,19.8626045,30.9753161,66.9175196,33.2028898,46.0264901,18.9945816,5.0872968,8.2946636,7.2759022,31.6686251,1.8939394,0.6979647,0.6826037,6.147541,3.8776797,50.1566416,20.7820197,31.3354037,68.3540373,34.3167702,46.242236,20.0310559,5.7453416,8.5411471,7.8222778,32.3047859,2.8688525,0.8174224,0.7776452,5.9803922,3.8888889,48.3776768,20.7961783,30.9691913,69.4801027,34.6919127,46.1810013,19.5442875,6.0012837,7.992074,7.2281167,32.3803191,3.0434783,0.684221,0.6642729,6.0775296,4.2378449,47.2638436,22.2613709,31.4755155,69.2332474,35.3414948,46.681701,19.3621134,5.7667526,7.5033201,6.3249001,31.6666667,2.2522523,0.6130043,0.5934195,6.6858605,4.8304543,45.7352005,22.6100629,31.6171826,70.1516109,35.660139,47.5363234,19.6146557,6.0960202,7.3472042,6.1848958,31.5686275,2.293578 +1294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6418216,0.6351552,11.6015648,7.2966305,51.4275094,20.5686071,33.9597229,67.3413274,35.3757369,47.5895055,21.4256977,3.8347696,15.4581814,13.1837672,40.6991343,4.6583764,0.6464101,0.6396327,11.0897952,7.1352476,50.5421956,19.8562118,34.5882433,67.3938237,35.888138,47.0948998,21.7710803,3.7032824,14.7187767,12.6601854,40.2991383,4.7770579,0.8974784,0.8802938,10.7852246,7.0310431,49.7033442,19.8456988,34.4999505,67.4185136,36.2656708,46.89984,21.9199108,3.7515458,14.4106309,13.0742973,39.6646944,5.5920211,0.775513,0.7581345,10.3296808,6.9340052,47.9138091,20.0955572,35.565382,67.8696413,36.6411491,47.5166277,22.3206233,4.1690399,14.6900868,12.9230202,38.3192781,4.7793207,0.7978499,0.7692423,10.0824805,7.0049636,46.1254322,19.6157897,35.0258749,67.5716934,37.2586112,47.2329309,22.3784656,4.1503082,14.3735046,12.7553546,37.6127751,6.5890493 +1295,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7911693,0.7565433,8.6869463,5.5143789,19.3716422,17.3063449,32.3506111,67.8029791,38.8700351,50.0614116,21.9876571,5.030317,9.368249,9.3159263,24.6372447,5.5550741,0.9313324,0.8951097,9.3064876,6.0691621,19.250365,17.5725021,32.8961935,67.5419736,38.8556206,49.9846397,22.2003102,5.2685572,9.7333886,9.2557951,25.315658,7.1422396,0.8641711,0.788991,9.2755821,6.2432996,19.5901895,17.2826517,32.6215965,68.24229,38.8384225,49.594826,22.0674211,5.0921754,9.4650466,9.2114153,25.2264643,5.5555597,0.9930611,0.921993,10.0313955,6.8832674,19.3121447,17.50654,34.132735,67.306574,38.1613265,49.0909072,21.2995393,4.7867983,8.8723216,8.7745765,24.6182266,6.0713615,0.9153761,0.8930445,10.2436733,7.0162011,20.2392948,17.0375163,33.7487648,66.9945289,37.3254857,48.4316232,20.9047111,4.815374,9.067103,8.5704926,25.4434894,6.6427572 +1296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7831158,0.8136232,11.0195756,6.9992693,57.4914489,9.9898882,33.8070502,67.1882928,41.1954557,44.7767757,24.2739753,4.3766426,10.0736684,9.4234968,41.2368625,6.4802112,0.7472583,0.772514,11.0146571,7.0573593,56.413487,10.1627986,33.6773704,67.1783039,41.6461357,44.9726923,24.6924699,4.3908849,10.0873426,9.7196537,40.7510149,5.9558806,0.7568552,0.7786256,10.7166659,6.7710599,56.012365,10.2543385,33.3535523,66.8120526,41.7016052,44.6388822,24.5306922,4.3562689,10.513556,10.2399155,41.7162103,5.0884941,0.7905009,0.8045355,10.8172683,6.8476281,54.9594957,10.3044113,32.941488,66.7805263,41.5575771,44.232734,24.1748619,4.5107552,10.521003,10.2727183,41.1109162,5.0940439,0.7885661,0.8016182,10.7838109,6.7778634,53.8169546,10.4017594,32.8018785,66.4347746,41.9118042,44.7556061,24.1351563,4.7212053,10.5396134,10.2455789,40.2751278,4.684839 +1297,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4690531,0.5336904,7.0198416,4.0621468,51.796295,20.4018785,29.1160133,67.6058861,34.3462176,41.3443783,19.8710895,7.8637227,11.0822865,7.2436871,36.5643747,1.5901071,0.4132159,0.4538588,6.7441854,3.9892647,51.4585545,20.3162956,29.0751141,66.3536403,33.929829,40.6272058,20.5705183,7.7073028,10.5432497,7.1479916,36.1171379,1.5151525,0.3749351,0.4234955,6.7718937,3.8866243,50.8792682,19.8906863,28.0775619,65.615505,33.5413109,40.1854921,19.1736935,7.5379455,10.0337885,7.5798812,36.6825584,1.1146504,0.4335355,0.4749757,7.2998686,4.2486862,50.7039934,19.5610322,27.7015934,66.1606179,33.8067212,40.7280362,18.9193636,7.3294182,9.4541947,7.2780707,35.8496742,1.4195588,0.3755286,0.3869107,7.3736403,4.4625706,50.4457165,19.0942985,27.841086,66.2709664,34.2355168,41.6429173,18.5976608,7.5498602,9.7353534,7.3055056,35.7504759,1.3513518 +1298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5737301,2.6419384,36.3306684,31.5338271,62.8041657,15.3625695,37.4578273,62.5171277,29.1099061,39.5400382,20.3123221,2.0736422,16.1384214,10.7874222,41.5704529,27.0017854,2.6311465,2.6713971,37.3262005,32.5416067,64.1402365,15.2663567,37.7675574,62.1103152,28.1000374,39.5437351,18.7670918,2.1093862,16.9969304,11.1672211,42.1467386,26.2074005,2.3675073,2.4165212,38.0086059,33.1316064,64.3071179,14.5180994,38.0637221,62.4498454,28.007639,40.3642164,18.8297024,2.3903639,16.7463173,11.0173941,43.1557364,25.1910462,2.4944008,2.5244138,38.6370397,33.4820671,64.5939701,14.3324033,37.4428869,62.0975982,27.215212,40.1079271,18.4072844,2.297168,16.7492929,11.392013,43.7235768,25.8898616,2.4484381,2.4647638,40.3957169,34.8502382,65.7000896,14.2292083,37.9389479,62.4534691,26.5088901,39.1789327,17.4860376,2.116531,17.1280004,11.6491955,43.0958552,25.914704 +1299,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1286742,1.1361917,14.2419412,9.8629805,35.8804971,16.2577998,34.9247189,69.4327702,40.5779945,51.3522692,24.2757455,4.6606625,13.7469381,12.5188856,32.7928274,9.1772669,0.9867708,0.9947412,14.0874116,9.6971702,34.8622926,16.1976538,34.3667363,69.701284,40.9231298,51.5864669,23.7504635,4.4323424,13.5387475,12.4670379,32.524975,7.4193501,1.0592315,1.0797902,14.1500558,9.7350579,33.8687802,16.2274464,34.4620354,69.3888817,40.7922524,51.5049393,24.1035134,4.2717884,12.9829059,11.4658207,31.2104285,7.0945898,0.8914298,0.9436251,13.7938572,9.2037081,34.2508433,16.5733809,34.2661127,69.1672098,39.5812371,50.96409,24.4354858,4.256806,12.6540132,10.6534012,30.9273079,4.9242424,0.9748012,1.0287597,13.9455616,9.4174645,33.2920792,16.8596392,35.0292128,68.7195442,40.7254057,51.9230689,25.1460639,4.2599794,12.5615715,10.4719691,30.0994787,5.1586508 +1300,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2486357,1.2634711,24.1777269,20.2977189,51.4674326,17.4877226,39.7673997,65.3199453,34.5148498,46.9864079,20.6123497,2.8917075,15.463982,12.3131306,35.9965422,14.403983,1.1883305,1.2028583,24.7920085,21.1129818,52.2896968,17.4611806,39.7737018,65.1925806,34.3259402,46.8580841,20.8375915,2.5820291,15.1446939,11.6620786,35.4884852,13.5092941,1.2832475,1.2823715,24.7646932,20.8408301,52.8751435,17.1490043,40.0928708,64.732876,35.025617,47.0294695,21.0338511,2.2926581,15.5308619,12.1958256,35.1133432,13.593723,1.5450811,1.5360954,25.5010724,21.4793222,53.3708217,17.2374979,40.100871,64.5249234,34.1289439,47.6074805,20.8119129,2.5494677,15.6478494,11.9947883,34.8915609,14.1304436,1.4085732,1.4247337,25.4623298,21.5302205,53.8624042,17.4813532,40.3909804,64.8785759,34.5722836,47.8953453,20.7764405,2.4960396,15.2611358,11.5504826,34.8754104,12.7009325 +1301,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6727715,0.7080011,11.3552471,7.8834395,37.1763829,18.1087797,33.9486748,70.6296467,39.1184913,48.424229,25.7258956,3.0772407,10.523829,9.5985482,37.5520954,7.3273714,0.7168445,0.7511436,11.5442826,8.0973803,37.8032708,18.0027485,32.5574335,70.369051,38.2676327,48.0085011,25.0237542,3.1429905,9.7404577,8.8153293,37.0848684,5.4165132,0.8306662,0.8208924,11.7746953,8.3766144,37.856735,18.0245642,31.9532151,69.4348844,37.8890588,48.1331368,24.4376448,3.1354615,9.3902877,9.2651636,39.6919865,5.0386269,0.815702,0.8061798,12.6607384,9.0302402,37.4817258,18.5483608,31.680527,69.6690317,38.0122098,48.8593486,24.2785378,3.2355602,8.6482679,9.1127385,38.9162807,8.711778,0.8487812,0.8394193,13.099254,9.4341993,37.1944134,18.5545811,31.7245405,69.5101858,38.2661042,49.7483023,24.3595668,3.1793203,8.139261,8.2327833,38.0666061,8.6462785 +1302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.843935,0.9200673,10.0599685,6.509344,45.7483965,15.8048564,27.290812,64.8253855,36.1640354,40.7019307,18.9436081,3.6516288,11.7753481,11.3680165,39.8476327,2.4265319,0.8494382,0.9231747,10.1419618,6.4315607,45.2777986,15.5309196,27.4315657,64.7998636,37.3293299,40.829302,19.2241353,3.3966884,11.1445783,10.3575745,39.1148792,6.9426702,0.8533715,0.8785568,10.58331,6.7561412,44.8044015,15.4044596,27.1871975,64.0161259,37.5308161,40.5691364,19.1809155,3.2739065,11.7644229,10.0875913,37.8849789,9.1322006,0.8535583,0.7913363,11.5649401,7.3256887,44.8951467,15.4803173,26.2474654,64.5781453,36.4876697,40.3618843,18.9654975,3.3727552,12.1980202,11.3186295,39.9222717,8.4135508,0.7883925,0.6644114,11.7934343,7.6747177,45.1332767,14.5298496,25.8479467,63.8225858,35.5657873,40.7153511,18.2463317,3.44378,12.8845038,11.278957,41.062808,9.0452414 +1303,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.70168,1.7328963,34.8608259,30.1321308,52.3725668,14.7383459,33.6915006,59.8522815,28.0706189,42.502188,16.1778767,1.8570094,17.5730181,12.4290306,41.3877345,22.2785697,1.7461787,1.7885258,35.5325839,31.1039737,54.1777953,14.9538089,33.2961297,60.2982378,27.6166935,42.3887884,15.6359409,1.7655449,18.1642159,12.5299006,41.4088101,22.8782007,1.7966284,1.8760921,35.5978049,31.0804,54.8341253,15.2797469,34.1619022,62.1590323,28.9372843,42.7333985,16.1381972,1.7936526,19.1273583,12.7607322,41.5832438,23.1953756,1.7183463,1.7659996,34.6282572,30.2282822,55.7850728,15.4378443,33.1889727,62.5039452,29.6539736,41.9217258,15.71298,1.7328048,19.2191133,12.4416088,40.3315137,24.9933594,1.5571004,1.5675299,33.7764199,29.7625033,56.7211967,15.2500656,33.0386996,63.5073726,30.2013531,42.2353149,16.0124814,1.7793383,18.9006883,12.8453194,38.636673,23.9083173 +1304,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4098217,1.4289581,23.7824794,19.5025179,41.8039283,16.6680174,38.4937603,66.1116246,36.3222513,49.2452828,23.4073767,3.1782304,12.275995,9.8624046,31.3209658,20.8642593,1.3500896,1.3696815,24.3213672,20.081735,41.9904741,16.5109026,38.0462549,66.0019524,35.9996528,48.4331399,23.0417999,3.5393266,12.1670091,9.8530386,30.7550983,22.2446728,1.4111193,1.4418483,25.1628595,20.6088458,42.1184552,16.9051416,38.1148127,66.6948438,36.0571467,47.8403492,22.791462,3.2373321,12.6425939,10.149907,30.186884,20.9952426,1.6338359,1.6887105,25.3178055,20.7323362,42.3453019,17.2437779,37.8144044,66.6841428,34.7273887,47.0929583,22.0799097,3.4545992,12.9324078,10.7630544,29.6809286,18.897009,1.6410242,1.6946629,25.6886395,21.2800226,43.3918106,17.7649785,37.2050081,66.8232786,34.8043164,46.7159853,22.4074433,3.7335418,13.1034326,10.77837,29.6542466,18.7974046 +1305,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4816503,1.5078639,19.6393788,15.6169509,83.6798902,15.4781265,31.1008005,64.8702339,33.739525,37.5883335,17.4264145,5.0268641,13.8705155,11.3046187,37.0700483,13.5167971,1.3978867,1.4590233,20.0374525,15.9919665,84.5896333,14.3890107,30.9827548,64.0674381,33.4580447,38.6467212,17.6623767,4.8144041,13.9083403,10.6031929,36.5378659,11.0286714,1.4909896,1.5528732,20.2453023,15.9273397,84.3469693,13.4538666,31.2458189,63.9187912,33.8098157,38.4200886,17.6454284,4.8734201,15.0067458,10.3428887,37.3013679,13.9018788,1.5149688,1.6025716,20.0161466,15.4629117,84.8099375,12.8646284,30.584701,63.0502916,33.1933856,38.5276856,17.1914829,4.783928,14.5216219,10.1232515,38.262649,14.8046259,1.4700042,1.5139901,20.7197723,16.2007861,85.4472028,12.91888,30.7076292,63.900472,32.7498351,38.0972617,16.8274869,4.4466416,14.9841934,9.5145727,36.9150286,13.2636942 +1306,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6075158,0.5988684,7.8479249,5.0101934,64.0852225,8.4581433,25.7454279,66.2151836,32.8438488,40.0485528,16.468847,6.5538685,9.7167035,8.2499888,36.2446761,5.0088652,0.6209219,0.6245645,7.9724119,5.0815267,63.7939565,8.332579,26.0300882,66.2096177,32.6538564,40.0249004,16.5196039,6.5640083,9.9206371,8.2803557,36.415449,4.9002602,0.6922305,0.6957642,8.1945775,5.302445,63.4136498,8.4328595,26.0211149,66.4533638,32.5815482,39.7288372,16.4779957,6.4481232,9.9057427,8.2378804,36.3249489,4.724042,0.6625561,0.6695143,8.2835367,5.3899628,62.8618616,8.4777525,25.9591112,66.5757191,32.6784811,39.7174227,16.405744,6.1820328,10.0411705,8.2707969,36.4738046,4.4191558,0.6963352,0.698391,8.2886974,5.2760802,62.0722525,8.4692267,26.0593228,66.2851271,32.8091813,39.7086468,16.4250657,6.1092022,10.2823502,8.3483408,36.150894,4.5836464 +1307,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6329042,0.6468116,9.8892046,6.7755903,47.6042684,13.3993043,28.0130314,68.9600394,40.7200287,44.6092255,21.2982756,5.2834349,10.6352165,9.9992024,33.9863954,8.423913,0.6301492,0.6327856,9.8300244,6.6792845,46.9312858,13.7106356,28.311664,69.2102846,40.7573153,45.3572689,21.2777968,5.5750235,11.0526074,9.6635787,34.057733,9.1145833,0.6168436,0.6645466,9.8581699,6.4991658,46.4918939,13.1737185,27.4024594,69.2537975,40.6921608,45.1707879,20.1894538,5.0817929,11.3042185,9.4522574,34.9276891,9.9914473,0.6228991,0.6935981,9.7305251,6.4998172,46.0406779,13.1761182,27.4211101,69.390871,41.0031317,45.0384274,20.6366437,4.9691943,11.0179983,9.7957333,34.6047304,9.1848923,0.6304148,0.7058636,9.7974213,6.5031283,46.416496,13.3955949,27.9011433,69.910328,40.8415618,44.4826124,19.9676893,4.9463787,11.5196005,9.7198094,34.3105127,9.2679412 +1308,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8494382,0.9231747,10.1419618,6.4315607,45.2777986,15.5309196,27.4315657,64.7998636,37.3293299,40.829302,19.2241353,3.3966884,11.1445783,10.3575745,39.1148792,6.9426702,0.8533715,0.8785568,10.58331,6.7561412,44.8044015,15.4044596,27.1871975,64.0161259,37.5308161,40.5691364,19.1809155,3.2739065,11.7644229,10.0875913,37.8849789,9.1322006,0.8535583,0.7913363,11.5649401,7.3256887,44.8951467,15.4803173,26.2474654,64.5781453,36.4876697,40.3618843,18.9654975,3.3727552,12.1980202,11.3186295,39.9222717,8.4135508,0.7883925,0.6644114,11.7934343,7.6747177,45.1332767,14.5298496,25.8479467,63.8225858,35.5657873,40.7153511,18.2463317,3.44378,12.8845038,11.278957,41.062808,9.0452414,0.7097665,0.5218871,11.4927515,7.3619702,44.8425256,14.1421529,25.0161609,63.8533369,35.2352838,41.0422804,17.7478949,3.544804,12.610954,11.0371242,40.9293475,9.1348262 +1309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5512369,0.5512369,12.3448003,8.8966315,56.9157165,30.502715,31.3873682,66.8269016,35.6457166,45.5358461,17.1016637,3.7775063,14.0151314,8.4595338,32.6973234,6.7372579,0.8420891,0.8420891,12.1865921,8.1477004,58.8607515,31.7428637,30.9257161,65.7081967,34.4320569,45.932855,18.0224518,3.436214,14.0711151,8.8798299,31.2672522,6.2496783,0.956363,0.956363,12.4659823,8.5150618,59.8757447,31.7751659,30.563206,67.2389707,34.5467608,45.2610121,18.475315,3.7775088,14.6052469,9.868499,33.0240028,4.9242797,1.0336523,1.0336523,13.6493379,9.5474643,60.0720726,31.4789502,31.2500045,66.5947311,33.979915,44.3246956,18.8937109,3.6638273,15.2234303,10.754265,33.1933697,5.7692751,1.135837,1.135837,15.1450592,11.0870529,61.4767256,31.214455,32.049454,66.4970428,33.6483801,42.5144587,18.3867423,4.578535,15.2173787,12.0290901,33.5757289,6.1983983 +1310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.4866705,1.5399419,25.1644312,19.7508707,43.5796797,14.1290455,39.6678527,66.2032372,33.8586655,49.3241702,25.3436079,5.9253757,15.668528,12.9636645,34.4396119,14.2570664,1.6871373,1.6899847,24.9698249,19.3001674,44.1095044,13.983285,39.644096,66.0705058,33.2093819,49.4695101,24.6962561,6.1357535,14.7651839,12.6391353,33.7839893,16.2018665,1.6908645,1.6937092,26.0101034,20.2956625,44.0536053,13.6603781,39.6960333,67.0442136,33.8783443,49.3073486,24.6161822,6.1612581,14.384442,12.9936207,34.3667577,15.6744539,1.7689503,1.8098309,26.4054992,20.248037,45.3120541,13.1873282,38.919512,66.2998724,33.1624747,48.9744813,24.1328746,5.6437097,15.6335596,12.8074891,34.6017064,16.4771229,1.8458685,1.9092824,26.9589159,20.7785049,46.2082274,12.6427286,39.2255227,65.4561328,32.6459468,48.7618396,23.2310092,5.5370375,16.3184703,13.3087236,35.1499661,15.4616984 +1311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8533715,0.8785568,10.58331,6.7561412,44.8044015,15.4044596,27.1871975,64.0161259,37.5308161,40.5691364,19.1809155,3.2739065,11.7644229,10.0875913,37.8849789,9.1322006,0.8535583,0.7913363,11.5649401,7.3256887,44.8951467,15.4803173,26.2474654,64.5781453,36.4876697,40.3618843,18.9654975,3.3727552,12.1980202,11.3186295,39.9222717,8.4135508,0.7883925,0.6644114,11.7934343,7.6747177,45.1332767,14.5298496,25.8479467,63.8225858,35.5657873,40.7153511,18.2463317,3.44378,12.8845038,11.278957,41.062808,9.0452414,0.7097665,0.5218871,11.4927515,7.3619702,44.8425256,14.1421529,25.0161609,63.8533369,35.2352838,41.0422804,17.7478949,3.544804,12.610954,11.0371242,40.9293475,9.1348262,0.704134,0.5008277,11.6838308,7.3142985,45.2262006,13.7851727,25.5709427,63.372965,35.5043464,40.7930815,17.9490176,3.8712279,12.3652987,10.4615944,40.1908365,8.261042 +1312,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7660348,0.7615151,8.1574805,5.3210796,46.3243713,19.4463112,31.3692132,67.5181667,39.0213485,46.9005433,20.9695716,7.3683002,10.5181518,9.9113113,32.717985,5.0872049,0.7910211,0.7755387,8.3862611,5.5869201,45.4944247,19.7894967,30.725013,68.0314396,40.0633477,46.9380508,21.6682292,7.5434054,10.1198598,9.3908612,32.1213604,4.8245586,0.7245553,0.7092809,8.4436696,5.6794421,45.2748521,19.8928363,30.6473999,67.7803459,39.8728278,47.2485495,21.6300576,7.063583,9.7367081,9.3906267,32.74761,3.9940817,0.6360005,0.6213483,8.4464715,5.5975958,43.6713106,19.2938322,30.4236938,67.5576773,40.3172085,47.8593548,22.1716963,6.3997307,9.9171617,9.8557644,32.1695287,3.9473673,0.5809124,0.5667975,8.531361,5.5769617,43.071447,19.2881143,30.6242,66.670223,40.3174286,47.6246221,22.4009435,6.4017888,9.637275,9.61538,32.3767036,3.9473673 +1313,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5489345,1.5489345,34.7283407,30.4698972,65.5145929,6.3970588,33.2095097,62.7786033,26.5230312,40.6389302,14.1901932,5.7206538,14.84375,10.7476636,37.1118012,16.4596273,1.544093,1.544093,35.1739788,30.484115,66.6405024,7.7443609,32.7507599,62.2340426,26.2158055,40.3495441,13.6018237,5.6990881,15.7643312,10.9177215,36.984127,17.2077922,1.9652946,1.9652946,36.7824773,31.9486405,66.3249211,7.0241692,32.6952527,61.0260337,26.5696784,39.5865237,13.5528331,6.5084227,17.5806452,12.3794212,37.9032258,19.8113208,1.9311398,1.9311398,35.947205,31.2888199,66.5322581,7.6625387,30.533752,61.9309262,25.9811617,37.755102,13.1083203,6.6718995,16.8300654,11.5635179,37.2131148,20.0617284,1.9582899,1.9582899,34.9612403,30.3100775,65.5645161,7.4845679,30.3767661,60.8320251,26.2951334,37.755102,14.3642072,6.8288854,14.6302251,11.0576923,36.2903226,18.0981595 +1314,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6209219,0.6245645,7.9724119,5.0815267,63.7939565,8.332579,26.0300882,66.2096177,32.6538564,40.0249004,16.5196039,6.5640083,9.9206371,8.2803557,36.415449,4.9002602,0.6922305,0.6957642,8.1945775,5.302445,63.4136498,8.4328595,26.0211149,66.4533638,32.5815482,39.7288372,16.4779957,6.4481232,9.9057427,8.2378804,36.3249489,4.724042,0.6625561,0.6695143,8.2835367,5.3899628,62.8618616,8.4777525,25.9591112,66.5757191,32.6784811,39.7174227,16.405744,6.1820328,10.0411705,8.2707969,36.4738046,4.4191558,0.6963352,0.698391,8.2886974,5.2760802,62.0722525,8.4692267,26.0593228,66.2851271,32.8091813,39.7086468,16.4250657,6.1092022,10.2823502,8.3483408,36.150894,4.5836464,0.6860278,0.6806663,8.3873162,5.456122,62.0327978,8.5206685,25.8522677,66.1707218,32.378237,39.5247324,16.100868,6.0204934,10.2857369,8.288321,36.5235999,4.7161441 +1315,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5071652,0.576543,9.733676,5.831941,55.3293454,14.4391032,32.8441539,69.1828429,36.2436659,46.2732091,20.6819995,3.0299791,9.3271504,8.2492821,33.0828598,9.0460586,0.5234603,0.5738389,9.5085616,5.9363917,54.4532202,14.623712,33.259335,69.3616321,36.8103876,46.533496,20.9997849,2.8218102,8.8722686,7.7903582,32.3757198,8.7171053,0.5279284,0.537715,9.35924,6.06092,54.2492863,14.3175407,33.0429939,69.3225605,36.0967583,45.9247367,20.4408658,3.1075256,9.4178816,7.9758391,32.5303881,8.1395349,0.5400993,0.5302101,9.2596496,6.0140015,53.3633745,14.5592533,32.3038523,68.5413809,36.5734559,46.3264069,20.4269805,3.0017331,9.3291501,7.7488437,31.595629,6.9256396,0.5254164,0.5154681,9.1908613,5.9884728,53.3650625,14.5703148,31.9995628,68.5455653,36.5787042,46.1077301,20.9441994,3.1290859,9.9451094,8.0583774,31.4413518,6.2499643 +1316,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6464101,0.6396327,11.0897952,7.1352476,50.5421956,19.8562118,34.5882433,67.3938237,35.888138,47.0948998,21.7710803,3.7032824,14.7187767,12.6601854,40.2991383,4.7770579,0.8974784,0.8802938,10.7852246,7.0310431,49.7033442,19.8456988,34.4999505,67.4185136,36.2656708,46.89984,21.9199108,3.7515458,14.4106309,13.0742973,39.6646944,5.5920211,0.775513,0.7581345,10.3296808,6.9340052,47.9138091,20.0955572,35.565382,67.8696413,36.6411491,47.5166277,22.3206233,4.1690399,14.6900868,12.9230202,38.3192781,4.7793207,0.7978499,0.7692423,10.0824805,7.0049636,46.1254322,19.6157897,35.0258749,67.5716934,37.2586112,47.2329309,22.3784656,4.1503082,14.3735046,12.7553546,37.6127751,6.5890493,0.7851863,0.7742628,10.2580321,6.971762,44.4027505,20.0052445,34.8666456,67.9878828,38.0846759,47.5043138,23.2623532,3.9447758,13.9838735,11.6701423,36.3524924,6.2499792 +1317,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6871373,1.6899847,24.9698249,19.3001674,44.1095044,13.983285,39.644096,66.0705058,33.2093819,49.4695101,24.6962561,6.1357535,14.7651839,12.6391353,33.7839893,16.2018665,1.6908645,1.6937092,26.0101034,20.2956625,44.0536053,13.6603781,39.6960333,67.0442136,33.8783443,49.3073486,24.6161822,6.1612581,14.384442,12.9936207,34.3667577,15.6744539,1.7689503,1.8098309,26.4054992,20.248037,45.3120541,13.1873282,38.919512,66.2998724,33.1624747,48.9744813,24.1328746,5.6437097,15.6335596,12.8074891,34.6017064,16.4771229,1.8458685,1.9092824,26.9589159,20.7785049,46.2082274,12.6427286,39.2255227,65.4561328,32.6459468,48.7618396,23.2310092,5.5370375,16.3184703,13.3087236,35.1499661,15.4616984,1.9124151,2.0453421,27.3415061,21.4511872,45.9015706,11.4806983,38.9656825,65.2435659,32.841555,48.8677049,23.0152474,5.4930152,16.4252864,13.1878386,35.6149721,15.2777778 +1318,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6496251,1.6891825,22.7391146,17.7998045,30.5325382,14.1352132,35.7577302,65.2421917,36.5026997,46.1297976,22.3900413,2.94432,14.5646226,10.8663843,39.6713184,18.9781393,1.5152002,1.5146404,23.3993682,18.2194963,31.0413196,14.798129,36.1363886,64.4487623,36.6872345,46.2335013,22.6156254,3.1159671,14.236336,10.9817031,39.2221767,18.4950769,1.5716618,1.5627738,23.3986607,18.167325,31.3010533,14.6272888,36.1843327,63.853815,35.6465653,45.8687523,21.7330937,2.9805645,14.2534048,10.3751182,39.4763238,21.6918418,1.6186068,1.6180845,24.2044491,18.9782966,31.8746908,15.2976375,37.0228612,63.3528059,35.2938024,45.8595664,21.9018671,3.1091415,14.1603783,10.8316015,39.718926,20.7481007,1.6555815,1.6656481,24.7172041,19.2532339,32.1187318,15.326178,37.6950404,62.9287327,35.5710863,46.2732355,22.3100622,3.1588242,13.7491002,11.0226528,39.7500391,21.9089852 +1319,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6464655,1.6788951,29.4765901,25.6128651,43.0566793,18.5875735,35.4678642,66.9895167,34.2624624,45.6541724,19.2544623,2.923177,13.4905662,11.9738806,34.0552567,19.1541833,1.7440945,1.7488301,29.6616636,25.4630093,42.8089336,17.4013979,34.0968444,66.9960602,34.7732453,44.367433,18.9072688,2.6135354,13.9776307,10.9921133,34.1910821,19.0354968,1.8170851,1.8331616,31.2107528,27.2010429,43.818054,18.0232026,34.9230298,67.7864718,34.1844955,44.3400754,18.5522661,2.6155824,15.2483828,10.7922181,33.2715445,17.7184865,1.964245,1.9801235,32.1080171,27.8112925,43.6504589,17.4496256,35.5639079,67.1023057,33.4457737,44.2817918,18.3119128,2.5121749,15.4073071,10.6496049,33.3135442,18.7203556,1.8468425,1.8392468,33.3451445,29.2032996,43.0384379,17.8167294,35.5941335,66.2518842,34.5517919,44.9112023,18.7934319,2.4219605,16.524878,11.1736309,34.3002988,15.2849625 +1320,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6908645,1.6937092,26.0101034,20.2956625,44.0536053,13.6603781,39.6960333,67.0442136,33.8783443,49.3073486,24.6161822,6.1612581,14.384442,12.9936207,34.3667577,15.6744539,1.7689503,1.8098309,26.4054992,20.248037,45.3120541,13.1873282,38.919512,66.2998724,33.1624747,48.9744813,24.1328746,5.6437097,15.6335596,12.8074891,34.6017064,16.4771229,1.8458685,1.9092824,26.9589159,20.7785049,46.2082274,12.6427286,39.2255227,65.4561328,32.6459468,48.7618396,23.2310092,5.5370375,16.3184703,13.3087236,35.1499661,15.4616984,1.9124151,2.0453421,27.3415061,21.4511872,45.9015706,11.4806983,38.9656825,65.2435659,32.841555,48.8677049,23.0152474,5.4930152,16.4252864,13.1878386,35.6149721,15.2777778,1.8339741,2.026732,27.5603884,21.8001503,44.9983013,12.1005502,38.6941398,66.0707711,33.0212554,49.0971699,23.660996,5.5074253,15.9029576,13.0422839,34.8730366,13.5983264 +1321,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.3816717,0.3732877,8.7674748,5.6419801,43.7709095,18.8688672,29.2332827,67.8558836,34.6773844,44.3076494,19.3461687,4.7023483,10.4771479,8.3906073,30.8849502,2.3547726,0.3313229,0.3228605,8.9916984,5.8337086,44.0499309,18.8388629,29.3937226,68.5175961,34.4689325,44.362999,19.1025368,4.6899137,10.8166919,8.1393213,30.8257407,1.9341487,0.4376925,0.4294045,9.2864559,6.0774547,43.9383998,19.008852,29.0979665,68.8659144,35.2190779,44.7171648,19.6955008,4.9231527,10.5601571,8.1607485,31.4157367,2.8271662,0.3976325,0.3931709,8.683338,5.6268179,43.3520906,19.3557628,28.9406693,68.7213009,35.4056436,45.4132427,20.1907589,4.6284265,10.7148351,8.0944932,32.2602094,2.8645453,0.4459849,0.4526931,8.6609306,5.5077555,42.4523209,19.7424899,28.6726574,68.5884983,35.5524688,45.8577018,20.6213242,4.5130514,10.5448773,8.4165642,32.2882369,2.4307652 +1322,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.465572,0.4690932,9.2398345,6.6718151,32.741331,13.7890164,32.1052476,69.3183152,41.6106926,49.2367053,21.8864909,6.177025,8.7158776,8.7158877,31.7413447,4.4715484,0.5117137,0.4632807,9.1874732,6.675081,32.2973929,13.9955192,31.0483232,69.201066,41.3697901,48.6034804,21.5717355,6.2595455,9.113842,9.0064498,32.6226664,2.8225806,0.6932009,0.6461771,8.984583,6.5886942,32.1340773,14.0928155,31.7596556,69.2578217,41.4469136,49.0067822,21.6333969,6.5166686,9.3217613,8.5487344,31.6863236,3.7190083,0.6616913,0.6017116,9.2252244,6.7319205,32.3992347,14.238253,30.8596972,68.1352539,41.455661,48.0356001,21.6771721,6.8754842,9.9736962,8.3561332,32.6603005,3.5433071,0.6617835,0.6045424,9.0383162,6.6654886,33.121152,13.7606312,30.8716858,68.5650455,41.83125,47.3786053,22.0759609,6.7376162,10.0090056,8.6387405,33.0911347,2.4475524 +1323,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3978867,1.4590233,20.0374525,15.9919665,84.5896333,14.3890107,30.9827548,64.0674381,33.4580447,38.6467212,17.6623767,4.8144041,13.9083403,10.6031929,36.5378659,11.0286714,1.4909896,1.5528732,20.2453023,15.9273397,84.3469693,13.4538666,31.2458189,63.9187912,33.8098157,38.4200886,17.6454284,4.8734201,15.0067458,10.3428887,37.3013679,13.9018788,1.5149688,1.6025716,20.0161466,15.4629117,84.8099375,12.8646284,30.584701,63.0502916,33.1933856,38.5276856,17.1914829,4.783928,14.5216219,10.1232515,38.262649,14.8046259,1.4700042,1.5139901,20.7197723,16.2007861,85.4472028,12.91888,30.7076292,63.900472,32.7498351,38.0972617,16.8274869,4.4466416,14.9841934,9.5145727,36.9150286,13.2636942,1.3836498,1.4280807,20.7788351,16.1387858,84.7462806,12.8823728,31.0787085,63.0197021,32.551753,36.5331164,16.0272779,4.5415504,15.5022806,10.8216221,37.657743,12.9348539 +1324,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6301492,0.6327856,9.8300244,6.6792845,46.9312858,13.7106356,28.311664,69.2102846,40.7573153,45.3572689,21.2777968,5.5750235,11.0526074,9.6635787,34.057733,9.1145833,0.6168436,0.6645466,9.8581699,6.4991658,46.4918939,13.1737185,27.4024594,69.2537975,40.6921608,45.1707879,20.1894538,5.0817929,11.3042185,9.4522574,34.9276891,9.9914473,0.6228991,0.6935981,9.7305251,6.4998172,46.0406779,13.1761182,27.4211101,69.390871,41.0031317,45.0384274,20.6366437,4.9691943,11.0179983,9.7957333,34.6047304,9.1848923,0.6304148,0.7058636,9.7974213,6.5031283,46.416496,13.3955949,27.9011433,69.910328,40.8415618,44.4826124,19.9676893,4.9463787,11.5196005,9.7198094,34.3105127,9.2679412,0.6637554,0.7307528,9.2968999,5.941799,44.808024,13.3687633,27.1899545,70.4247151,41.1115732,44.906337,19.8006113,4.8979521,11.7219923,9.614991,34.1153121,9.0630728 +1325,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1883305,1.2028583,24.7920085,21.1129818,52.2896968,17.4611806,39.7737018,65.1925806,34.3259402,46.8580841,20.8375915,2.5820291,15.1446939,11.6620786,35.4884852,13.5092941,1.2832475,1.2823715,24.7646932,20.8408301,52.8751435,17.1490043,40.0928708,64.732876,35.025617,47.0294695,21.0338511,2.2926581,15.5308619,12.1958256,35.1133432,13.593723,1.5450811,1.5360954,25.5010724,21.4793222,53.3708217,17.2374979,40.100871,64.5249234,34.1289439,47.6074805,20.8119129,2.5494677,15.6478494,11.9947883,34.8915609,14.1304436,1.4085732,1.4247337,25.4623298,21.5302205,53.8624042,17.4813532,40.3909804,64.8785759,34.5722836,47.8953453,20.7764405,2.4960396,15.2611358,11.5504826,34.8754104,12.7009325,1.4391375,1.4552037,25.6396923,21.8157275,53.2442999,17.4631744,40.6763306,64.6699779,34.9799991,47.8139978,20.7392172,2.5176663,15.2569328,11.6058893,34.9862767,12.4999684 +1326,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0758781,1.1677934,12.5923561,8.7130446,42.8342948,14.9938522,31.7724907,66.4047873,36.3607697,46.1030851,24.7328786,4.6825845,12.4211901,12.0581106,39.6333779,5.7432471,1.0365982,1.1165691,11.9416236,7.8915926,41.5893707,15.0476794,30.8277799,67.0420066,36.3663935,47.0176499,25.2282533,4.2909262,12.7935647,12.1906233,40.1863255,3.7671259,0.8846185,0.9782222,12.6628726,8.4702361,41.380344,14.4362179,31.3845601,67.7428858,36.1547247,47.3822039,24.7527777,3.6940094,12.9739264,12.7672492,38.5577969,4.8701362,0.8907328,0.9810036,12.840773,8.8058753,40.828582,14.3131766,32.6319002,68.4904797,36.6161444,46.773287,24.7194331,3.5634135,14.1618216,13.1365917,38.5464947,5.6666704,0.8921669,1.0049974,12.9242685,9.0600365,41.7634306,14.5546018,31.6684834,68.1695619,36.3120773,46.4092712,24.2710646,3.8066981,13.8520717,13.3002281,38.1242942,5.8282244 +1327,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6239311,0.5972492,7.9074491,5.2274882,48.9868586,11.9080778,30.122271,66.0056535,32.8970084,41.7071697,17.6751855,15.6842763,10.2796307,9.1732935,37.2313098,3.0782035,0.6266632,0.6010152,7.6905831,5.0546676,48.444608,11.9860471,30.4690968,66.1028538,32.7394408,41.4148313,17.4785783,15.3134846,10.2458995,8.9681347,37.0364708,2.6655892,0.5670163,0.5408359,7.487294,4.8293411,47.9914565,12.1528267,30.7181414,66.3917789,33.2287292,41.8552126,17.4062218,15.304332,9.715707,8.4604115,36.6933069,2.4447946,0.5407042,0.5191989,7.6101008,4.8701772,47.1303611,12.3434831,30.0720999,66.9574736,33.604907,42.516231,17.7144966,15.4217716,9.4790114,8.4419331,35.9479984,2.7301092,0.5506981,0.5357406,7.7039284,4.9561225,46.6992773,12.7191102,29.684561,67.6964375,33.8373636,42.4613004,17.8338916,15.1425257,9.9071622,8.8098689,35.7812996,3.0232558 +1328,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7461787,1.7885258,35.5325839,31.1039737,54.1777953,14.9538089,33.2961297,60.2982378,27.6166935,42.3887884,15.6359409,1.7655449,18.1642159,12.5299006,41.4088101,22.8782007,1.7966284,1.8760921,35.5978049,31.0804,54.8341253,15.2797469,34.1619022,62.1590323,28.9372843,42.7333985,16.1381972,1.7936526,19.1273583,12.7607322,41.5832438,23.1953756,1.7183463,1.7659996,34.6282572,30.2282822,55.7850728,15.4378443,33.1889727,62.5039452,29.6539736,41.9217258,15.71298,1.7328048,19.2191133,12.4416088,40.3315137,24.9933594,1.5571004,1.5675299,33.7764199,29.7625033,56.7211967,15.2500656,33.0386996,63.5073726,30.2013531,42.2353149,16.0124814,1.7793383,18.9006883,12.8453194,38.636673,23.9083173,1.6093872,1.631909,34.2375417,30.1262519,57.2223766,15.919404,32.4838216,63.2300344,30.9586931,41.9596023,16.1785913,1.779202,18.6300505,12.622956,37.871315,23.8864848 +1329,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3340767,0.3353141,7.5384215,4.2643641,67.3888227,19.0983816,31.2548695,63.8301092,29.9957303,40.4753445,16.2266976,5.2599656,9.475659,8.0827098,35.1320887,4.3591398,0.2863911,0.2938622,7.5337102,4.2670631,66.3555337,19.2898222,31.6637321,63.6343949,30.4372477,40.617456,16.6190254,4.885545,9.9325389,8.47139,35.109618,3.1402089,0.3997496,0.4260654,7.3699388,4.2320383,64.6189046,19.3948022,31.1115586,63.5972074,30.4552989,41.0377341,16.0582509,4.8605446,10.172678,8.6972937,34.1767552,3.1553413,0.368179,0.3957925,7.3038536,4.2262661,64.3700772,20.0555319,30.8639193,63.6501076,31.5550774,41.7926516,16.8250599,5.1619902,10.5325964,8.5657411,33.5862781,3.2663333,0.3893758,0.451954,7.764539,4.6495626,63.3271569,19.8602317,30.4158974,63.0027419,31.3299838,41.7047467,17.0703879,5.2330922,10.9756144,8.8954506,33.8260278,3.8071085 +1330,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8420891,0.8420891,12.1865921,8.1477004,58.8607515,31.7428637,30.9257161,65.7081967,34.4320569,45.932855,18.0224518,3.436214,14.0711151,8.8798299,31.2672522,6.2496783,0.956363,0.956363,12.4659823,8.5150618,59.8757447,31.7751659,30.563206,67.2389707,34.5467608,45.2610121,18.475315,3.7775088,14.6052469,9.868499,33.0240028,4.9242797,1.0336523,1.0336523,13.6493379,9.5474643,60.0720726,31.4789502,31.2500045,66.5947311,33.979915,44.3246956,18.8937109,3.6638273,15.2234303,10.754265,33.1933697,5.7692751,1.135837,1.135837,15.1450592,11.0870529,61.4767256,31.214455,32.049454,66.4970428,33.6483801,42.5144587,18.3867423,4.578535,15.2173787,12.0290901,33.5757289,6.1983983,1.2226479,1.2226479,14.6540647,10.9721389,60.9883015,30.1737431,31.0371086,66.8888668,33.1112813,42.7406547,18.2964391,4.3704222,14.0949326,11.7211726,32.8871984,6.3559861 +1331,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6922305,0.6957642,8.1945775,5.302445,63.4136498,8.4328595,26.0211149,66.4533638,32.5815482,39.7288372,16.4779957,6.4481232,9.9057427,8.2378804,36.3249489,4.724042,0.6625561,0.6695143,8.2835367,5.3899628,62.8618616,8.4777525,25.9591112,66.5757191,32.6784811,39.7174227,16.405744,6.1820328,10.0411705,8.2707969,36.4738046,4.4191558,0.6963352,0.698391,8.2886974,5.2760802,62.0722525,8.4692267,26.0593228,66.2851271,32.8091813,39.7086468,16.4250657,6.1092022,10.2823502,8.3483408,36.150894,4.5836464,0.6860278,0.6806663,8.3873162,5.456122,62.0327978,8.5206685,25.8522677,66.1707218,32.378237,39.5247324,16.100868,6.0204934,10.2857369,8.288321,36.5235999,4.7161441,0.7291568,0.7221313,8.5928154,5.6393883,61.2501404,8.3816329,25.4151486,66.322191,32.138338,39.9317753,16.096939,5.9605638,10.2473079,8.4801821,36.2383937,4.7152887 +1332,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6792231,0.6482219,8.7273178,5.2991287,28.3012189,17.650368,34.5240979,68.9910993,41.189229,50.1597956,24.4807268,4.4396339,10.353555,10.0321552,30.8599082,7.3008753,0.6081405,0.5737246,8.2521245,5.1377153,27.5865781,17.3454094,34.7633593,68.9107496,40.9012297,49.9351827,24.4326878,4.506166,10.2312596,10.0087388,31.0881895,5.3999914,0.5826205,0.5651469,7.9714556,4.8552509,27.1745888,17.4146998,35.2061971,68.7113455,40.5051618,49.7835269,24.4226966,4.546398,10.2377177,10.4045237,30.6579899,4.9212502,0.6516604,0.6411442,8.4125503,5.3707251,26.9215392,17.4167996,35.28207,68.7585447,40.1815385,49.7072235,23.7849104,4.5188381,10.5045497,10.6186106,31.3465062,5.215818,0.5914354,0.5813098,8.2019837,5.1961192,26.2293422,17.102801,35.5273134,69.4444473,40.5178934,50.2730855,23.9454034,4.2843696,10.4655648,10.3820096,31.4518915,5.4006912 +1333,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6702865,0.7054957,9.2043294,5.5099388,46.0949933,19.0512095,31.6355548,67.6896179,38.6404918,44.1036449,22.15625,4.1291574,10.0591946,9.9932638,32.5448018,6.5525688,0.6479025,0.6535731,8.6425283,4.9924034,46.0184892,19.2013028,32.232739,67.9207856,38.4671854,43.504385,22.4048721,4.0693934,9.8548398,9.0420391,32.9406268,7.2361346,0.7293381,0.728042,8.9615159,5.1480329,45.4562788,19.1780866,31.7171203,68.1627013,38.7719049,43.7557301,22.2606402,4.3380241,9.8894331,8.8431263,32.8489981,7.2607385,0.7369086,0.7356394,8.9171914,5.1549781,45.4670194,19.5399136,31.2225243,69.0714222,38.8624962,43.6526742,22.553641,4.4519935,9.5509154,8.5703278,33.5270585,7.1138415,0.6613373,0.6705187,9.0971292,5.3240632,44.2785576,19.7200307,31.291303,70.1723287,39.6698006,43.7732608,22.9411931,4.4046314,9.3765465,8.3086618,33.3033764,7.2314792 +1334,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6081405,0.5737246,8.2521245,5.1377153,27.5865781,17.3454094,34.7633593,68.9107496,40.9012297,49.9351827,24.4326878,4.506166,10.2312596,10.0087388,31.0881895,5.3999914,0.5826205,0.5651469,7.9714556,4.8552509,27.1745888,17.4146998,35.2061971,68.7113455,40.5051618,49.7835269,24.4226966,4.546398,10.2377177,10.4045237,30.6579899,4.9212502,0.6516604,0.6411442,8.4125503,5.3707251,26.9215392,17.4167996,35.28207,68.7585447,40.1815385,49.7072235,23.7849104,4.5188381,10.5045497,10.6186106,31.3465062,5.215818,0.5914354,0.5813098,8.2019837,5.1961192,26.2293422,17.102801,35.5273134,69.4444473,40.5178934,50.2730855,23.9454034,4.2843696,10.4655648,10.3820096,31.4518915,5.4006912,0.5654653,0.5556548,8.4117973,5.3561916,26.0760632,17.2838218,35.8640178,69.476849,40.5486729,50.8658533,23.8516365,4.2927433,10.7655545,10.6222467,31.5993803,4.898642 +1335,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5441661,0.5898966,8.0210136,5.2787946,35.7800422,24.7411311,28.9963524,69.0054487,34.1280322,45.7083943,15.4177914,7.7429328,10.5581468,9.8139635,33.3490333,2.2959067,0.5630552,0.6203405,7.8289367,4.9342119,36.189454,24.5157304,29.3515886,68.2549912,33.8337304,45.7571197,15.8616036,8.0286909,10.4860559,9.7659864,34.0436209,2.2499888,0.5407023,0.5825621,7.7842745,4.6789574,36.3464353,24.258051,30.4953895,68.1723299,32.9100349,45.14981,15.5911572,8.4720748,10.4166693,10.3316356,34.3483237,2.2277117,0.4946871,0.5352165,7.0385139,4.3610388,36.3432977,24.6518117,28.7414101,67.9911142,32.4928898,44.1507966,15.7926445,8.3299432,9.3775696,10.1882236,33.4575403,2.1739025,0.4554344,0.4934019,6.9123272,4.203173,36.5431323,25.7014837,30.335991,68.6758698,33.6560793,44.9604112,15.8695743,8.5177596,10.3238937,9.9919175,33.0475227,3.0092523 +1336,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5117137,0.4632807,9.1874732,6.675081,32.2973929,13.9955192,31.0483232,69.201066,41.3697901,48.6034804,21.5717355,6.2595455,9.113842,9.0064498,32.6226664,2.8225806,0.6932009,0.6461771,8.984583,6.5886942,32.1340773,14.0928155,31.7596556,69.2578217,41.4469136,49.0067822,21.6333969,6.5166686,9.3217613,8.5487344,31.6863236,3.7190083,0.6616913,0.6017116,9.2252244,6.7319205,32.3992347,14.238253,30.8596972,68.1352539,41.455661,48.0356001,21.6771721,6.8754842,9.9736962,8.3561332,32.6603005,3.5433071,0.6617835,0.6045424,9.0383162,6.6654886,33.121152,13.7606312,30.8716858,68.5650455,41.83125,47.3786053,22.0759609,6.7376162,10.0090056,8.6387405,33.0911347,2.4475524,0.6869866,0.6316894,9.3310789,6.9619408,32.6918923,13.5921007,30.9095028,68.7999562,40.8709886,47.3333724,21.9888815,6.5654044,10.2725093,9.0348793,33.70637,4.8387097 +1337,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7168445,0.7511436,11.5442826,8.0973803,37.8032708,18.0027485,32.5574335,70.369051,38.2676327,48.0085011,25.0237542,3.1429905,9.7404577,8.8153293,37.0848684,5.4165132,0.8306662,0.8208924,11.7746953,8.3766144,37.856735,18.0245642,31.9532151,69.4348844,37.8890588,48.1331368,24.4376448,3.1354615,9.3902877,9.2651636,39.6919865,5.0386269,0.815702,0.8061798,12.6607384,9.0302402,37.4817258,18.5483608,31.680527,69.6690317,38.0122098,48.8593486,24.2785378,3.2355602,8.6482679,9.1127385,38.9162807,8.711778,0.8487812,0.8394193,13.099254,9.4341993,37.1944134,18.5545811,31.7245405,69.5101858,38.2661042,49.7483023,24.3595668,3.1793203,8.139261,8.2327833,38.0666061,8.6462785,0.9298353,0.9704602,13.1141668,9.1995161,37.7044836,18.4512368,31.5499059,68.3617521,37.4112129,49.0011473,24.3562359,3.3525858,8.0614989,7.702298,36.3191673,7.4998179 +1338,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6932009,0.6461771,8.984583,6.5886942,32.1340773,14.0928155,31.7596556,69.2578217,41.4469136,49.0067822,21.6333969,6.5166686,9.3217613,8.5487344,31.6863236,3.7190083,0.6616913,0.6017116,9.2252244,6.7319205,32.3992347,14.238253,30.8596972,68.1352539,41.455661,48.0356001,21.6771721,6.8754842,9.9736962,8.3561332,32.6603005,3.5433071,0.6617835,0.6045424,9.0383162,6.6654886,33.121152,13.7606312,30.8716858,68.5650455,41.83125,47.3786053,22.0759609,6.7376162,10.0090056,8.6387405,33.0911347,2.4475524,0.6869866,0.6316894,9.3310789,6.9619408,32.6918923,13.5921007,30.9095028,68.7999562,40.8709886,47.3333724,21.9888815,6.5654044,10.2725093,9.0348793,33.70637,4.8387097,0.7548534,0.7028819,9.742607,7.1364899,32.0384438,14.3155803,30.5689582,68.9617717,41.234965,48.4508062,22.4128551,6.6081642,10.1861182,9.4889911,33.7877168,3.8235294 +1339,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8306662,0.8208924,11.7746953,8.3766144,37.856735,18.0245642,31.9532151,69.4348844,37.8890588,48.1331368,24.4376448,3.1354615,9.3902877,9.2651636,39.6919865,5.0386269,0.815702,0.8061798,12.6607384,9.0302402,37.4817258,18.5483608,31.680527,69.6690317,38.0122098,48.8593486,24.2785378,3.2355602,8.6482679,9.1127385,38.9162807,8.711778,0.8487812,0.8394193,13.099254,9.4341993,37.1944134,18.5545811,31.7245405,69.5101858,38.2661042,49.7483023,24.3595668,3.1793203,8.139261,8.2327833,38.0666061,8.6462785,0.9298353,0.9704602,13.1141668,9.1995161,37.7044836,18.4512368,31.5499059,68.3617521,37.4112129,49.0011473,24.3562359,3.3525858,8.0614989,7.702298,36.3191673,7.4998179,0.989013,1.0287817,13.0146487,9.1081594,37.2893672,19.0671685,32.0061762,69.0820358,38.1417656,49.3257464,24.5648725,3.2854754,8.6561634,7.6291724,36.2251015,7.4192783 +1340,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.3313229,0.3228605,8.9916984,5.8337086,44.0499309,18.8388629,29.3937226,68.5175961,34.4689325,44.362999,19.1025368,4.6899137,10.8166919,8.1393213,30.8257407,1.9341487,0.4376925,0.4294045,9.2864559,6.0774547,43.9383998,19.008852,29.0979665,68.8659144,35.2190779,44.7171648,19.6955008,4.9231527,10.5601571,8.1607485,31.4157367,2.8271662,0.3976325,0.3931709,8.683338,5.6268179,43.3520906,19.3557628,28.9406693,68.7213009,35.4056436,45.4132427,20.1907589,4.6284265,10.7148351,8.0944932,32.2602094,2.8645453,0.4459849,0.4526931,8.6609306,5.5077555,42.4523209,19.7424899,28.6726574,68.5884983,35.5524688,45.8577018,20.6213242,4.5130514,10.5448773,8.4165642,32.2882369,2.4307652,0.5439674,0.5483998,8.6698424,5.5007467,41.5430379,19.6654822,29.4700469,68.1982341,35.354688,46.4973336,20.4709994,4.397625,10.675249,8.5707127,32.1071406,2.4969775 +1341,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.7689503,1.8098309,26.4054992,20.248037,45.3120541,13.1873282,38.919512,66.2998724,33.1624747,48.9744813,24.1328746,5.6437097,15.6335596,12.8074891,34.6017064,16.4771229,1.8458685,1.9092824,26.9589159,20.7785049,46.2082274,12.6427286,39.2255227,65.4561328,32.6459468,48.7618396,23.2310092,5.5370375,16.3184703,13.3087236,35.1499661,15.4616984,1.9124151,2.0453421,27.3415061,21.4511872,45.9015706,11.4806983,38.9656825,65.2435659,32.841555,48.8677049,23.0152474,5.4930152,16.4252864,13.1878386,35.6149721,15.2777778,1.8339741,2.026732,27.5603884,21.8001503,44.9983013,12.1005502,38.6941398,66.0707711,33.0212554,49.0971699,23.660996,5.5074253,15.9029576,13.0422839,34.8730366,13.5983264,2.0458788,2.2007635,28.3955024,22.1907215,46.1699384,12.4988335,38.5474768,65.6773945,32.0548222,48.2652012,22.5802406,5.0257956,16.0400175,13.0965,35.4057622,15.0826446 +1342,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6979647,0.6826037,6.147541,3.8776797,50.1566416,20.7820197,31.3354037,68.3540373,34.3167702,46.242236,20.0310559,5.7453416,8.5411471,7.8222778,32.3047859,2.8688525,0.8174224,0.7776452,5.9803922,3.8888889,48.3776768,20.7961783,30.9691913,69.4801027,34.6919127,46.1810013,19.5442875,6.0012837,7.992074,7.2281167,32.3803191,3.0434783,0.684221,0.6642729,6.0775296,4.2378449,47.2638436,22.2613709,31.4755155,69.2332474,35.3414948,46.681701,19.3621134,5.7667526,7.5033201,6.3249001,31.6666667,2.2522523,0.6130043,0.5934195,6.6858605,4.8304543,45.7352005,22.6100629,31.6171826,70.1516109,35.660139,47.5363234,19.6146557,6.0960202,7.3472042,6.1848958,31.5686275,2.293578,0.601539,0.601539,6.8112401,4.9175321,46.1655508,23.1766124,31.4277072,71.0526316,36.3278887,46.4912281,18.723533,6.2008469,8.0994898,6.9693095,31.7715019,2.2321429 +1343,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7966284,1.8760921,35.5978049,31.0804,54.8341253,15.2797469,34.1619022,62.1590323,28.9372843,42.7333985,16.1381972,1.7936526,19.1273583,12.7607322,41.5832438,23.1953756,1.7183463,1.7659996,34.6282572,30.2282822,55.7850728,15.4378443,33.1889727,62.5039452,29.6539736,41.9217258,15.71298,1.7328048,19.2191133,12.4416088,40.3315137,24.9933594,1.5571004,1.5675299,33.7764199,29.7625033,56.7211967,15.2500656,33.0386996,63.5073726,30.2013531,42.2353149,16.0124814,1.7793383,18.9006883,12.8453194,38.636673,23.9083173,1.6093872,1.631909,34.2375417,30.1262519,57.2223766,15.919404,32.4838216,63.2300344,30.9586931,41.9596023,16.1785913,1.779202,18.6300505,12.622956,37.871315,23.8864848,1.4809255,1.4968563,34.7412295,30.6661633,58.4294797,15.9443704,33.2197848,63.1482162,31.3435759,42.7672904,16.3143692,1.7731002,19.6181154,12.9612492,39.4441694,23.3435429 +1344,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5932583,0.5738238,7.7591998,5.0878551,34.4534354,10.9803126,30.0738509,69.1003,36.8443482,48.6798212,20.4650997,3.0441657,10.3168253,9.881145,31.3585345,3.2012224,0.613544,0.5942573,8.0205704,5.3848644,33.6138613,10.9949772,29.4710624,69.7424953,36.6716215,49.6785626,20.6627982,3.0283944,10.4323632,9.8486883,30.6894859,3.685901,0.5532475,0.5341939,7.8530613,5.3070501,32.5407138,11.4495031,29.0273175,70.3003943,37.3034674,50.3538169,20.7691746,3.1741703,10.6976837,10.2348918,31.0299813,2.707009,0.496563,0.4938375,7.9396092,5.5085883,31.7942571,11.4989994,29.0315237,70.2943609,37.1918547,50.4615283,20.9596134,3.4326537,10.9816541,10.4404748,32.3633934,1.7241401,0.5120558,0.5147151,8.2015015,5.5938458,31.3233153,11.5557343,28.8021225,70.6454863,37.3123584,50.6735134,21.223775,3.6509309,11.0820472,9.9303729,31.2454362,2.689876 +1345,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6266632,0.6010152,7.6905831,5.0546676,48.444608,11.9860471,30.4690968,66.1028538,32.7394408,41.4148313,17.4785783,15.3134846,10.2458995,8.9681347,37.0364708,2.6655892,0.5670163,0.5408359,7.487294,4.8293411,47.9914565,12.1528267,30.7181414,66.3917789,33.2287292,41.8552126,17.4062218,15.304332,9.715707,8.4604115,36.6933069,2.4447946,0.5407042,0.5191989,7.6101008,4.8701772,47.1303611,12.3434831,30.0720999,66.9574736,33.604907,42.516231,17.7144966,15.4217716,9.4790114,8.4419331,35.9479984,2.7301092,0.5506981,0.5357406,7.7039284,4.9561225,46.6992773,12.7191102,29.684561,67.6964375,33.8373636,42.4613004,17.8338916,15.1425257,9.9071622,8.8098689,35.7812996,3.0232558,0.5500197,0.548696,7.5633294,4.8719063,45.906082,13.3100185,29.2663501,67.35538,33.137598,42.5474896,17.9715827,14.7962865,9.5341448,8.786918,34.9064901,2.7429463 +1346,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8704163,1.9535017,24.8603369,20.6870181,47.9354424,15.8481305,42.7144193,64.7310233,40.4533309,49.6257854,25.5656312,4.5553209,12.3743037,10.7073284,32.3210931,17.4056297,1.8664846,1.9931348,25.455961,21.1278211,48.2729882,15.9692391,42.9727615,64.2733965,39.7899932,50.000186,26.1307421,4.3614201,12.5491391,10.4821205,33.2694938,15.8070826,1.5529652,1.6186272,24.6852364,20.4245299,48.6270517,15.4984804,42.3314191,63.7285823,37.967592,49.439743,24.9466763,3.6950928,13.5867431,11.2571564,33.5889485,13.487556,1.7169136,1.7626051,24.5991621,20.225047,48.9455686,15.2062336,43.0429389,64.2919889,37.6936034,49.6366922,25.1644903,3.9932389,13.2231054,11.3606216,32.2949206,16.4426229,1.9059616,1.9529085,24.1080542,20.0110638,48.454671,15.5743686,42.6066867,64.0813038,37.2801319,48.9932229,24.966385,3.8668192,13.0795505,11.1696982,32.4075767,19.3875177 +1347,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4376925,0.4294045,9.2864559,6.0774547,43.9383998,19.008852,29.0979665,68.8659144,35.2190779,44.7171648,19.6955008,4.9231527,10.5601571,8.1607485,31.4157367,2.8271662,0.3976325,0.3931709,8.683338,5.6268179,43.3520906,19.3557628,28.9406693,68.7213009,35.4056436,45.4132427,20.1907589,4.6284265,10.7148351,8.0944932,32.2602094,2.8645453,0.4459849,0.4526931,8.6609306,5.5077555,42.4523209,19.7424899,28.6726574,68.5884983,35.5524688,45.8577018,20.6213242,4.5130514,10.5448773,8.4165642,32.2882369,2.4307652,0.5439674,0.5483998,8.6698424,5.5007467,41.5430379,19.6654822,29.4700469,68.1982341,35.354688,46.4973336,20.4709994,4.397625,10.675249,8.5707127,32.1071406,2.4969775,0.6732287,0.677574,8.4501038,5.4691131,40.8863646,20.1196924,29.3752212,68.3807076,36.1134312,46.5085447,21.0386316,4.668115,10.8899548,8.3333035,32.4548452,3.4841032 +1348,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6311465,2.6713971,37.3262005,32.5416067,64.1402365,15.2663567,37.7675574,62.1103152,28.1000374,39.5437351,18.7670918,2.1093862,16.9969304,11.1672211,42.1467386,26.2074005,2.3675073,2.4165212,38.0086059,33.1316064,64.3071179,14.5180994,38.0637221,62.4498454,28.007639,40.3642164,18.8297024,2.3903639,16.7463173,11.0173941,43.1557364,25.1910462,2.4944008,2.5244138,38.6370397,33.4820671,64.5939701,14.3324033,37.4428869,62.0975982,27.215212,40.1079271,18.4072844,2.297168,16.7492929,11.392013,43.7235768,25.8898616,2.4484381,2.4647638,40.3957169,34.8502382,65.7000896,14.2292083,37.9389479,62.4534691,26.5088901,39.1789327,17.4860376,2.116531,17.1280004,11.6491955,43.0958552,25.914704,2.6716233,2.6875695,40.5638666,35.0636747,67.0135039,13.8104813,36.4720137,62.1831319,25.4787108,38.7316072,17.0666093,2.2180396,17.5054041,12.3919758,44.1578624,25.7562385 +1349,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4359439,0.4204351,8.1236194,5.4432624,63.5800018,14.7543406,27.6108235,67.4840561,32.5825309,44.8947567,14.5645264,5.622318,11.9176321,10.6563002,29.640869,5.8969051,0.3654733,0.349427,7.9280087,5.2225169,63.3787542,14.9301697,27.1299087,66.6263353,32.4421596,44.7566939,14.0565263,5.7778448,12.5264732,10.9264575,28.5764367,4.4041451,0.4331162,0.4331162,8.0928754,5.2085645,62.1907271,14.5090575,26.7904036,67.0019233,31.3949192,44.7986613,13.9324355,5.4740739,12.4039445,10.3919074,29.7192356,4.4271341,0.4310578,0.4462232,8.0186522,5.3080816,62.3645389,14.6275342,26.8891052,67.2474895,31.7100946,45.1627482,13.8598968,5.7166065,11.785984,9.6848603,29.6112911,3.640835,0.4596525,0.5034356,7.5403593,4.9284003,61.9342981,14.7604071,26.7240331,66.8808464,31.7084253,44.5296633,14.1535331,5.4388303,11.308446,9.0087596,29.0231462,3.6232462 +1350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0365982,1.1165691,11.9416236,7.8915926,41.5893707,15.0476794,30.8277799,67.0420066,36.3663935,47.0176499,25.2282533,4.2909262,12.7935647,12.1906233,40.1863255,3.7671259,0.8846185,0.9782222,12.6628726,8.4702361,41.380344,14.4362179,31.3845601,67.7428858,36.1547247,47.3822039,24.7527777,3.6940094,12.9739264,12.7672492,38.5577969,4.8701362,0.8907328,0.9810036,12.840773,8.8058753,40.828582,14.3131766,32.6319002,68.4904797,36.6161444,46.773287,24.7194331,3.5634135,14.1618216,13.1365917,38.5464947,5.6666704,0.8921669,1.0049974,12.9242685,9.0600365,41.7634306,14.5546018,31.6684834,68.1695619,36.3120773,46.4092712,24.2710646,3.8066981,13.8520717,13.3002281,38.1242942,5.8282244,0.9653248,1.0618499,13.1331466,9.060037,41.1259198,15.1329687,32.3131231,68.8244888,37.0801527,47.5893644,24.0790974,3.873237,14.0744546,13.1838147,39.0418387,7.187509 +1351,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6625561,0.6695143,8.2835367,5.3899628,62.8618616,8.4777525,25.9591112,66.5757191,32.6784811,39.7174227,16.405744,6.1820328,10.0411705,8.2707969,36.4738046,4.4191558,0.6963352,0.698391,8.2886974,5.2760802,62.0722525,8.4692267,26.0593228,66.2851271,32.8091813,39.7086468,16.4250657,6.1092022,10.2823502,8.3483408,36.150894,4.5836464,0.6860278,0.6806663,8.3873162,5.456122,62.0327978,8.5206685,25.8522677,66.1707218,32.378237,39.5247324,16.100868,6.0204934,10.2857369,8.288321,36.5235999,4.7161441,0.7291568,0.7221313,8.5928154,5.6393883,61.2501404,8.3816329,25.4151486,66.322191,32.138338,39.9317753,16.096939,5.9605638,10.2473079,8.4801821,36.2383937,4.7152887,0.7133059,0.7013231,8.5580109,5.751599,60.1974734,8.5964341,25.160166,66.5081759,32.4890336,40.4190285,16.6584333,6.1962935,10.3896045,8.76596,36.1537707,4.4549314 +1352,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.815702,0.8061798,12.6607384,9.0302402,37.4817258,18.5483608,31.680527,69.6690317,38.0122098,48.8593486,24.2785378,3.2355602,8.6482679,9.1127385,38.9162807,8.711778,0.8487812,0.8394193,13.099254,9.4341993,37.1944134,18.5545811,31.7245405,69.5101858,38.2661042,49.7483023,24.3595668,3.1793203,8.139261,8.2327833,38.0666061,8.6462785,0.9298353,0.9704602,13.1141668,9.1995161,37.7044836,18.4512368,31.5499059,68.3617521,37.4112129,49.0011473,24.3562359,3.3525858,8.0614989,7.702298,36.3191673,7.4998179,0.989013,1.0287817,13.0146487,9.1081594,37.2893672,19.0671685,32.0061762,69.0820358,38.1417656,49.3257464,24.5648725,3.2854754,8.6561634,7.6291724,36.2251015,7.4192783,0.8507032,0.8903277,13.3203793,9.2120531,37.8646623,19.2988661,31.3807527,68.3146542,37.913729,48.2799415,23.7587481,3.0270157,9.4018746,8.2825619,35.4767261,6.999916 +1353,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5234603,0.5738389,9.5085616,5.9363917,54.4532202,14.623712,33.259335,69.3616321,36.8103876,46.533496,20.9997849,2.8218102,8.8722686,7.7903582,32.3757198,8.7171053,0.5279284,0.537715,9.35924,6.06092,54.2492863,14.3175407,33.0429939,69.3225605,36.0967583,45.9247367,20.4408658,3.1075256,9.4178816,7.9758391,32.5303881,8.1395349,0.5400993,0.5302101,9.2596496,6.0140015,53.3633745,14.5592533,32.3038523,68.5413809,36.5734559,46.3264069,20.4269805,3.0017331,9.3291501,7.7488437,31.595629,6.9256396,0.5254164,0.5154681,9.1908613,5.9884728,53.3650625,14.5703148,31.9995628,68.5455653,36.5787042,46.1077301,20.9441994,3.1290859,9.9451094,8.0583774,31.4413518,6.2499643,0.5233679,0.5183599,8.9804258,6.0550698,52.5316434,14.0405731,31.4644832,68.0546386,35.945345,46.0874393,20.7104047,3.0273199,9.3789357,7.842728,30.9624526,6.2500022 +1354,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5427327,0.5492892,10.2407085,6.9467828,45.7512132,18.2968667,33.1820148,69.498485,40.6614566,45.3739697,23.1085107,3.8694354,8.3889941,7.2506334,31.6077702,3.6912702,0.4648853,0.4716741,9.9518858,6.6710385,45.3451495,18.6752332,33.3557047,69.6868037,40.8724613,45.1230451,23.0201353,3.8702485,8.0715658,7.493431,32.6144605,4.0441117,0.4748815,0.4818932,10.1452623,6.8315911,44.6554216,19.1620946,32.6006559,70.0370245,40.930106,45.7889885,23.9472402,3.9102296,7.4660851,7.2207214,34.229738,3.3333284,0.5230064,0.5391378,9.9007642,6.7816626,44.0616043,19.2417846,32.7611236,69.3181796,40.4013345,45.5270828,23.2833551,3.7959372,7.9327054,7.4806989,34.3507907,3.3582039,0.5293618,0.5462823,10.1842729,6.8974104,43.167882,19.8353423,31.8411703,69.9291836,41.502272,46.2063686,23.4951873,4.0212439,8.4615546,8.1790184,34.1097478,2.7999978 +1355,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8535583,0.7913363,11.5649401,7.3256887,44.8951467,15.4803173,26.2474654,64.5781453,36.4876697,40.3618843,18.9654975,3.3727552,12.1980202,11.3186295,39.9222717,8.4135508,0.7883925,0.6644114,11.7934343,7.6747177,45.1332767,14.5298496,25.8479467,63.8225858,35.5657873,40.7153511,18.2463317,3.44378,12.8845038,11.278957,41.062808,9.0452414,0.7097665,0.5218871,11.4927515,7.3619702,44.8425256,14.1421529,25.0161609,63.8533369,35.2352838,41.0422804,17.7478949,3.544804,12.610954,11.0371242,40.9293475,9.1348262,0.704134,0.5008277,11.6838308,7.3142985,45.2262006,13.7851727,25.5709427,63.372965,35.5043464,40.7930815,17.9490176,3.8712279,12.3652987,10.4615944,40.1908365,8.261042,0.7435354,0.5412017,11.2750765,7.1693418,45.5376362,13.6244908,25.6005152,62.8435533,35.2143466,40.0897617,18.5975076,3.7193718,12.7890534,10.5606954,39.9069335,8.0508679 +1356,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.3654733,0.349427,7.9280087,5.2225169,63.3787542,14.9301697,27.1299087,66.6263353,32.4421596,44.7566939,14.0565263,5.7778448,12.5264732,10.9264575,28.5764367,4.4041451,0.4331162,0.4331162,8.0928754,5.2085645,62.1907271,14.5090575,26.7904036,67.0019233,31.3949192,44.7986613,13.9324355,5.4740739,12.4039445,10.3919074,29.7192356,4.4271341,0.4310578,0.4462232,8.0186522,5.3080816,62.3645389,14.6275342,26.8891052,67.2474895,31.7100946,45.1627482,13.8598968,5.7166065,11.785984,9.6848603,29.6112911,3.640835,0.4596525,0.5034356,7.5403593,4.9284003,61.9342981,14.7604071,26.7240331,66.8808464,31.7084253,44.5296633,14.1535331,5.4388303,11.308446,9.0087596,29.0231462,3.6232462,0.3794374,0.4209888,7.308769,4.8969853,61.3123558,14.4762689,26.9413159,66.9592083,31.6125419,43.9897779,14.7127716,5.2215922,11.2130504,9.3787295,28.9066926,3.2178744 +1357,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7883925,0.6644114,11.7934343,7.6747177,45.1332767,14.5298496,25.8479467,63.8225858,35.5657873,40.7153511,18.2463317,3.44378,12.8845038,11.278957,41.062808,9.0452414,0.7097665,0.5218871,11.4927515,7.3619702,44.8425256,14.1421529,25.0161609,63.8533369,35.2352838,41.0422804,17.7478949,3.544804,12.610954,11.0371242,40.9293475,9.1348262,0.704134,0.5008277,11.6838308,7.3142985,45.2262006,13.7851727,25.5709427,63.372965,35.5043464,40.7930815,17.9490176,3.8712279,12.3652987,10.4615944,40.1908365,8.261042,0.7435354,0.5412017,11.2750765,7.1693418,45.5376362,13.6244908,25.6005152,62.8435533,35.2143466,40.0897617,18.5975076,3.7193718,12.7890534,10.5606954,39.9069335,8.0508679,0.6774168,0.4656703,10.9754273,7.2604229,46.1672859,14.2585185,26.1909395,63.2386963,33.7553443,40.355632,18.3686973,3.9450884,12.8086311,10.5841557,40.9580196,4.1666744 +1358,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6963352,0.698391,8.2886974,5.2760802,62.0722525,8.4692267,26.0593228,66.2851271,32.8091813,39.7086468,16.4250657,6.1092022,10.2823502,8.3483408,36.150894,4.5836464,0.6860278,0.6806663,8.3873162,5.456122,62.0327978,8.5206685,25.8522677,66.1707218,32.378237,39.5247324,16.100868,6.0204934,10.2857369,8.288321,36.5235999,4.7161441,0.7291568,0.7221313,8.5928154,5.6393883,61.2501404,8.3816329,25.4151486,66.322191,32.138338,39.9317753,16.096939,5.9605638,10.2473079,8.4801821,36.2383937,4.7152887,0.7133059,0.7013231,8.5580109,5.751599,60.1974734,8.5964341,25.160166,66.5081759,32.4890336,40.4190285,16.6584333,6.1962935,10.3896045,8.76596,36.1537707,4.4549314,0.7059694,0.6974207,8.5038594,5.7478603,59.3602024,8.6355299,24.8804334,66.859288,32.4809288,40.4524268,16.8501605,6.3079691,10.2233043,8.7374059,36.4049523,4.5764739 +1359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.956363,0.956363,12.4659823,8.5150618,59.8757447,31.7751659,30.563206,67.2389707,34.5467608,45.2610121,18.475315,3.7775088,14.6052469,9.868499,33.0240028,4.9242797,1.0336523,1.0336523,13.6493379,9.5474643,60.0720726,31.4789502,31.2500045,66.5947311,33.979915,44.3246956,18.8937109,3.6638273,15.2234303,10.754265,33.1933697,5.7692751,1.135837,1.135837,15.1450592,11.0870529,61.4767256,31.214455,32.049454,66.4970428,33.6483801,42.5144587,18.3867423,4.578535,15.2173787,12.0290901,33.5757289,6.1983983,1.2226479,1.2226479,14.6540647,10.9721389,60.9883015,30.1737431,31.0371086,66.8888668,33.1112813,42.7406547,18.2964391,4.3704222,14.0949326,11.7211726,32.8871984,6.3559861,1.200001,1.200001,15.4587628,11.316702,60.0449931,30.2651801,31.9549709,66.5414772,31.5039128,41.8796016,19.624221,5.0376546,14.3939624,13.1421528,32.2731185,6.6372562 +1360,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2832475,1.2823715,24.7646932,20.8408301,52.8751435,17.1490043,40.0928708,64.732876,35.025617,47.0294695,21.0338511,2.2926581,15.5308619,12.1958256,35.1133432,13.593723,1.5450811,1.5360954,25.5010724,21.4793222,53.3708217,17.2374979,40.100871,64.5249234,34.1289439,47.6074805,20.8119129,2.5494677,15.6478494,11.9947883,34.8915609,14.1304436,1.4085732,1.4247337,25.4623298,21.5302205,53.8624042,17.4813532,40.3909804,64.8785759,34.5722836,47.8953453,20.7764405,2.4960396,15.2611358,11.5504826,34.8754104,12.7009325,1.4391375,1.4552037,25.6396923,21.8157275,53.2442999,17.4631744,40.6763306,64.6699779,34.9799991,47.8139978,20.7392172,2.5176663,15.2569328,11.6058893,34.9862767,12.4999684,1.4143672,1.460264,25.7675174,21.982037,52.663428,16.6484575,40.1970208,64.5238571,33.5586313,46.7180799,20.0900302,2.3610088,14.9276499,11.5379342,35.3934393,12.8164395 +1361,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6860278,0.6806663,8.3873162,5.456122,62.0327978,8.5206685,25.8522677,66.1707218,32.378237,39.5247324,16.100868,6.0204934,10.2857369,8.288321,36.5235999,4.7161441,0.7291568,0.7221313,8.5928154,5.6393883,61.2501404,8.3816329,25.4151486,66.322191,32.138338,39.9317753,16.096939,5.9605638,10.2473079,8.4801821,36.2383937,4.7152887,0.7133059,0.7013231,8.5580109,5.751599,60.1974734,8.5964341,25.160166,66.5081759,32.4890336,40.4190285,16.6584333,6.1962935,10.3896045,8.76596,36.1537707,4.4549314,0.7059694,0.6974207,8.5038594,5.7478603,59.3602024,8.6355299,24.8804334,66.859288,32.4809288,40.4524268,16.8501605,6.3079691,10.2233043,8.7374059,36.4049523,4.5764739,0.6773613,0.6761588,8.659603,5.8260747,58.9033679,8.5871398,25.0981738,66.952597,32.5739693,40.7535156,16.8894297,6.3814259,10.5110909,8.9362965,36.579179,5.0604985 +1362,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7440945,1.7488301,29.6616636,25.4630093,42.8089336,17.4013979,34.0968444,66.9960602,34.7732453,44.367433,18.9072688,2.6135354,13.9776307,10.9921133,34.1910821,19.0354968,1.8170851,1.8331616,31.2107528,27.2010429,43.818054,18.0232026,34.9230298,67.7864718,34.1844955,44.3400754,18.5522661,2.6155824,15.2483828,10.7922181,33.2715445,17.7184865,1.964245,1.9801235,32.1080171,27.8112925,43.6504589,17.4496256,35.5639079,67.1023057,33.4457737,44.2817918,18.3119128,2.5121749,15.4073071,10.6496049,33.3135442,18.7203556,1.8468425,1.8392468,33.3451445,29.2032996,43.0384379,17.8167294,35.5941335,66.2518842,34.5517919,44.9112023,18.7934319,2.4219605,16.524878,11.1736309,34.3002988,15.2849625,2.0054457,1.9979465,34.5050064,29.9525331,42.822093,17.3599722,35.522007,66.5643865,34.226499,45.3240274,19.6138988,2.5773079,16.6595045,12.0228322,33.4770127,16.0591231 +1363,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7910211,0.7755387,8.3862611,5.5869201,45.4944247,19.7894967,30.725013,68.0314396,40.0633477,46.9380508,21.6682292,7.5434054,10.1198598,9.3908612,32.1213604,4.8245586,0.7245553,0.7092809,8.4436696,5.6794421,45.2748521,19.8928363,30.6473999,67.7803459,39.8728278,47.2485495,21.6300576,7.063583,9.7367081,9.3906267,32.74761,3.9940817,0.6360005,0.6213483,8.4464715,5.5975958,43.6713106,19.2938322,30.4236938,67.5576773,40.3172085,47.8593548,22.1716963,6.3997307,9.9171617,9.8557644,32.1695287,3.9473673,0.5809124,0.5667975,8.531361,5.5769617,43.071447,19.2881143,30.6242,66.670223,40.3174286,47.6246221,22.4009435,6.4017888,9.637275,9.61538,32.3767036,3.9473673,0.6370394,0.6254611,8.5831345,5.4056768,42.0341416,19.3468821,30.3118093,66.70998,39.8261076,47.7413535,22.6164354,6.5660616,9.4404131,9.6572525,32.4329895,3.749999 +1364,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5630552,0.6203405,7.8289367,4.9342119,36.189454,24.5157304,29.3515886,68.2549912,33.8337304,45.7571197,15.8616036,8.0286909,10.4860559,9.7659864,34.0436209,2.2499888,0.5407023,0.5825621,7.7842745,4.6789574,36.3464353,24.258051,30.4953895,68.1723299,32.9100349,45.14981,15.5911572,8.4720748,10.4166693,10.3316356,34.3483237,2.2277117,0.4946871,0.5352165,7.0385139,4.3610388,36.3432977,24.6518117,28.7414101,67.9911142,32.4928898,44.1507966,15.7926445,8.3299432,9.3775696,10.1882236,33.4575403,2.1739025,0.4554344,0.4934019,6.9123272,4.203173,36.5431323,25.7014837,30.335991,68.6758698,33.6560793,44.9604112,15.8695743,8.5177596,10.3238937,9.9919175,33.0475227,3.0092523,0.3688571,0.3791652,6.6705608,4.0492847,35.8013422,25.2012261,29.6461926,68.798582,33.5342076,44.731691,16.5435624,7.9510102,10.7796481,10.453115,33.6678563,3.0952307 +1365,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5362806,0.3886634,10.6992969,7.4260365,45.7939873,14.1132337,27.1153329,61.9533086,33.2947799,40.2621069,17.2126436,3.943578,11.3571713,9.3364064,39.4744544,6.4146479,0.5684308,0.4843686,11.0137453,7.5647518,45.9067869,14.8505204,27.6870209,62.0985374,34.2402911,40.7436291,17.6432935,3.823891,12.2075715,11.234168,39.8741411,5.3412485,0.5531262,0.5578732,11.5134653,7.8280021,46.767739,14.8431535,28.0950086,60.5929887,33.9396786,39.6138959,17.475292,3.9998422,12.4668553,11.3027955,39.9953616,5.506764,0.6454509,0.6744671,11.4541268,8.0821201,46.2529801,14.8948244,28.2282917,61.2006048,33.6278193,40.2128571,17.9804989,3.6383672,11.9887267,11.2426073,39.3978425,5.9527999,0.6689751,0.6981736,12.2307353,8.4564646,45.5184564,14.8610078,28.219893,61.1712278,33.1042236,39.9321776,18.0105449,3.4193251,11.4930194,10.6723726,39.8037076,7.9678784 +1366,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9313324,0.8951097,9.3064876,6.0691621,19.250365,17.5725021,32.8961935,67.5419736,38.8556206,49.9846397,22.2003102,5.2685572,9.7333886,9.2557951,25.315658,7.1422396,0.8641711,0.788991,9.2755821,6.2432996,19.5901895,17.2826517,32.6215965,68.24229,38.8384225,49.594826,22.0674211,5.0921754,9.4650466,9.2114153,25.2264643,5.5555597,0.9930611,0.921993,10.0313955,6.8832674,19.3121447,17.50654,34.132735,67.306574,38.1613265,49.0909072,21.2995393,4.7867983,8.8723216,8.7745765,24.6182266,6.0713615,0.9153761,0.8930445,10.2436733,7.0162011,20.2392948,17.0375163,33.7487648,66.9945289,37.3254857,48.4316232,20.9047111,4.815374,9.067103,8.5704926,25.4434894,6.6427572,0.8857134,0.8638921,10.1743004,7.0953922,20.1830486,16.9587391,34.1921277,66.8170132,36.5667921,48.7370876,20.3276196,5.3111461,9.8556939,8.738251,26.1001838,4.9015302 +1367,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5684308,0.4843686,11.0137453,7.5647518,45.9067869,14.8505204,27.6870209,62.0985374,34.2402911,40.7436291,17.6432935,3.823891,12.2075715,11.234168,39.8741411,5.3412485,0.5531262,0.5578732,11.5134653,7.8280021,46.767739,14.8431535,28.0950086,60.5929887,33.9396786,39.6138959,17.475292,3.9998422,12.4668553,11.3027955,39.9953616,5.506764,0.6454509,0.6744671,11.4541268,8.0821201,46.2529801,14.8948244,28.2282917,61.2006048,33.6278193,40.2128571,17.9804989,3.6383672,11.9887267,11.2426073,39.3978425,5.9527999,0.6689751,0.6981736,12.2307353,8.4564646,45.5184564,14.8610078,28.219893,61.1712278,33.1042236,39.9321776,18.0105449,3.4193251,11.4930194,10.6723726,39.8037076,7.9678784,0.7483566,0.7764252,12.8810793,9.019777,45.980448,14.193111,28.0270062,60.2867989,33.3041109,39.4909847,17.4512388,3.2736307,12.0769959,10.9840567,38.562849,10.0894678 +1368,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5670163,0.5408359,7.487294,4.8293411,47.9914565,12.1528267,30.7181414,66.3917789,33.2287292,41.8552126,17.4062218,15.304332,9.715707,8.4604115,36.6933069,2.4447946,0.5407042,0.5191989,7.6101008,4.8701772,47.1303611,12.3434831,30.0720999,66.9574736,33.604907,42.516231,17.7144966,15.4217716,9.4790114,8.4419331,35.9479984,2.7301092,0.5506981,0.5357406,7.7039284,4.9561225,46.6992773,12.7191102,29.684561,67.6964375,33.8373636,42.4613004,17.8338916,15.1425257,9.9071622,8.8098689,35.7812996,3.0232558,0.5500197,0.548696,7.5633294,4.8719063,45.906082,13.3100185,29.2663501,67.35538,33.137598,42.5474896,17.9715827,14.7962865,9.5341448,8.786918,34.9064901,2.7429463,0.6018856,0.6135906,7.4145034,4.6757486,45.5584243,13.3907302,28.4546515,67.6499898,32.7623004,42.6570946,18.1191367,14.6929163,9.8163837,9.0048092,34.876107,3.0185759 +1369,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4050861,0.4166726,9.8273328,6.81486,78.1495863,10.4552151,29.5269096,69.2436452,29.3033229,44.0202131,14.6237089,3.632617,12.3792688,11.896589,32.9981307,3.0821622,0.5169653,0.5112083,9.4881437,6.4533904,77.5672908,10.5543185,29.2715347,68.8424319,29.7523042,44.3232643,14.8483657,3.7536721,12.189235,12.1201748,33.8564138,2.3026255,0.4509225,0.445089,9.2036686,6.2406857,76.0127398,11.0308352,29.1885174,68.8668742,29.9739007,43.3246435,15.1270989,4.0201659,12.8392724,12.552105,33.9536969,2.9411688,0.4324986,0.461604,9.4015137,6.1506652,75.7076172,10.7024335,29.3624788,68.4004727,30.1454482,43.7546842,14.7836864,3.9708869,12.334132,12.1857013,32.6409647,2.8845876,0.4825693,0.5123395,9.8332662,6.5744395,75.4359822,10.9954791,29.2939886,68.6451237,29.9045256,43.0725778,14.713635,4.2556903,12.4463113,12.4461535,32.4315253,3.0828903 +1370,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8174224,0.7776452,5.9803922,3.8888889,48.3776768,20.7961783,30.9691913,69.4801027,34.6919127,46.1810013,19.5442875,6.0012837,7.992074,7.2281167,32.3803191,3.0434783,0.684221,0.6642729,6.0775296,4.2378449,47.2638436,22.2613709,31.4755155,69.2332474,35.3414948,46.681701,19.3621134,5.7667526,7.5033201,6.3249001,31.6666667,2.2522523,0.6130043,0.5934195,6.6858605,4.8304543,45.7352005,22.6100629,31.6171826,70.1516109,35.660139,47.5363234,19.6146557,6.0960202,7.3472042,6.1848958,31.5686275,2.293578,0.601539,0.601539,6.8112401,4.9175321,46.1655508,23.1766124,31.4277072,71.0526316,36.3278887,46.4912281,18.723533,6.2008469,8.0994898,6.9693095,31.7715019,2.2321429,0.4593607,0.4776256,6.7791593,4.5885139,45.3004164,22.8445748,31.0029499,70.7669617,36.8436578,46.0471976,18.3775811,5.8112094,8.046683,6.7118227,31.4975248,2.2321429 +1371,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5826205,0.5651469,7.9714556,4.8552509,27.1745888,17.4146998,35.2061971,68.7113455,40.5051618,49.7835269,24.4226966,4.546398,10.2377177,10.4045237,30.6579899,4.9212502,0.6516604,0.6411442,8.4125503,5.3707251,26.9215392,17.4167996,35.28207,68.7585447,40.1815385,49.7072235,23.7849104,4.5188381,10.5045497,10.6186106,31.3465062,5.215818,0.5914354,0.5813098,8.2019837,5.1961192,26.2293422,17.102801,35.5273134,69.4444473,40.5178934,50.2730855,23.9454034,4.2843696,10.4655648,10.3820096,31.4518915,5.4006912,0.5654653,0.5556548,8.4117973,5.3561916,26.0760632,17.2838218,35.8640178,69.476849,40.5486729,50.8658533,23.8516365,4.2927433,10.7655545,10.6222467,31.5993803,4.898642,0.5682497,0.575262,8.3776607,5.3634749,25.5790232,17.1061859,35.6986794,70.3680027,40.2896748,50.5101181,23.1280901,4.3268345,10.8213135,10.6733336,31.4800868,5.4999927 +1372,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8170851,1.8331616,31.2107528,27.2010429,43.818054,18.0232026,34.9230298,67.7864718,34.1844955,44.3400754,18.5522661,2.6155824,15.2483828,10.7922181,33.2715445,17.7184865,1.964245,1.9801235,32.1080171,27.8112925,43.6504589,17.4496256,35.5639079,67.1023057,33.4457737,44.2817918,18.3119128,2.5121749,15.4073071,10.6496049,33.3135442,18.7203556,1.8468425,1.8392468,33.3451445,29.2032996,43.0384379,17.8167294,35.5941335,66.2518842,34.5517919,44.9112023,18.7934319,2.4219605,16.524878,11.1736309,34.3002988,15.2849625,2.0054457,1.9979465,34.5050064,29.9525331,42.822093,17.3599722,35.522007,66.5643865,34.226499,45.3240274,19.6138988,2.5773079,16.6595045,12.0228322,33.4770127,16.0591231,2.3256776,2.3294655,35.8961072,30.807471,43.4907106,17.7621526,34.97246,66.8287805,34.0310254,45.67295,19.8176038,3.0329671,15.7145241,12.0181287,33.7267517,17.3698415 +1373,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.5152002,1.5146404,23.3993682,18.2194963,31.0413196,14.798129,36.1363886,64.4487623,36.6872345,46.2335013,22.6156254,3.1159671,14.236336,10.9817031,39.2221767,18.4950769,1.5716618,1.5627738,23.3986607,18.167325,31.3010533,14.6272888,36.1843327,63.853815,35.6465653,45.8687523,21.7330937,2.9805645,14.2534048,10.3751182,39.4763238,21.6918418,1.6186068,1.6180845,24.2044491,18.9782966,31.8746908,15.2976375,37.0228612,63.3528059,35.2938024,45.8595664,21.9018671,3.1091415,14.1603783,10.8316015,39.718926,20.7481007,1.6555815,1.6656481,24.7172041,19.2532339,32.1187318,15.326178,37.6950404,62.9287327,35.5710863,46.2732355,22.3100622,3.1588242,13.7491002,11.0226528,39.7500391,21.9089852,1.7025574,1.7128892,25.4567804,20.0432736,32.9333656,15.5697586,37.1952514,62.5369865,35.446454,45.5897078,21.9269299,3.1513978,13.8128847,11.1997375,40.6979442,21.0413422 +1374,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8664846,1.9931348,25.455961,21.1278211,48.2729882,15.9692391,42.9727615,64.2733965,39.7899932,50.000186,26.1307421,4.3614201,12.5491391,10.4821205,33.2694938,15.8070826,1.5529652,1.6186272,24.6852364,20.4245299,48.6270517,15.4984804,42.3314191,63.7285823,37.967592,49.439743,24.9466763,3.6950928,13.5867431,11.2571564,33.5889485,13.487556,1.7169136,1.7626051,24.5991621,20.225047,48.9455686,15.2062336,43.0429389,64.2919889,37.6936034,49.6366922,25.1644903,3.9932389,13.2231054,11.3606216,32.2949206,16.4426229,1.9059616,1.9529085,24.1080542,20.0110638,48.454671,15.5743686,42.6066867,64.0813038,37.2801319,48.9932229,24.966385,3.8668192,13.0795505,11.1696982,32.4075767,19.3875177,1.945223,1.9689482,24.1721115,19.6487833,49.1836813,15.1369744,42.1634848,64.3215193,37.0433164,47.8956799,24.758522,3.9566788,13.1132561,11.4613312,33.0509766,22.0276948 +1375,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6168436,0.6645466,9.8581699,6.4991658,46.4918939,13.1737185,27.4024594,69.2537975,40.6921608,45.1707879,20.1894538,5.0817929,11.3042185,9.4522574,34.9276891,9.9914473,0.6228991,0.6935981,9.7305251,6.4998172,46.0406779,13.1761182,27.4211101,69.390871,41.0031317,45.0384274,20.6366437,4.9691943,11.0179983,9.7957333,34.6047304,9.1848923,0.6304148,0.7058636,9.7974213,6.5031283,46.416496,13.3955949,27.9011433,69.910328,40.8415618,44.4826124,19.9676893,4.9463787,11.5196005,9.7198094,34.3105127,9.2679412,0.6637554,0.7307528,9.2968999,5.941799,44.808024,13.3687633,27.1899545,70.4247151,41.1115732,44.906337,19.8006113,4.8979521,11.7219923,9.614991,34.1153121,9.0630728,0.6328377,0.7266594,8.9962091,5.565709,44.0562223,13.513692,26.7022549,70.4028518,40.7583225,44.9515668,20.3301419,4.7968297,11.2916595,9.155066,33.0827149,9.0231812 +1376,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8487812,0.8394193,13.099254,9.4341993,37.1944134,18.5545811,31.7245405,69.5101858,38.2661042,49.7483023,24.3595668,3.1793203,8.139261,8.2327833,38.0666061,8.6462785,0.9298353,0.9704602,13.1141668,9.1995161,37.7044836,18.4512368,31.5499059,68.3617521,37.4112129,49.0011473,24.3562359,3.3525858,8.0614989,7.702298,36.3191673,7.4998179,0.989013,1.0287817,13.0146487,9.1081594,37.2893672,19.0671685,32.0061762,69.0820358,38.1417656,49.3257464,24.5648725,3.2854754,8.6561634,7.6291724,36.2251015,7.4192783,0.8507032,0.8903277,13.3203793,9.2120531,37.8646623,19.2988661,31.3807527,68.3146542,37.913729,48.2799415,23.7587481,3.0270157,9.4018746,8.2825619,35.4767261,6.999916,0.8541819,0.9039282,13.6631911,9.6259112,36.9457822,19.6424618,32.2490659,68.6683234,38.9302518,48.3626667,24.388536,3.2095283,10.2396698,8.8839025,36.4850918,9.4155393 +1377,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.8458685,1.9092824,26.9589159,20.7785049,46.2082274,12.6427286,39.2255227,65.4561328,32.6459468,48.7618396,23.2310092,5.5370375,16.3184703,13.3087236,35.1499661,15.4616984,1.9124151,2.0453421,27.3415061,21.4511872,45.9015706,11.4806983,38.9656825,65.2435659,32.841555,48.8677049,23.0152474,5.4930152,16.4252864,13.1878386,35.6149721,15.2777778,1.8339741,2.026732,27.5603884,21.8001503,44.9983013,12.1005502,38.6941398,66.0707711,33.0212554,49.0971699,23.660996,5.5074253,15.9029576,13.0422839,34.8730366,13.5983264,2.0458788,2.2007635,28.3955024,22.1907215,46.1699384,12.4988335,38.5474768,65.6773945,32.0548222,48.2652012,22.5802406,5.0257956,16.0400175,13.0965,35.4057622,15.0826446,2.0927605,2.218415,29.2423211,23.0286969,46.9479516,12.9765785,37.4833339,65.9803748,32.1320485,47.3692503,22.3936733,5.0379218,16.6467356,13.5895253,35.6327936,13.8429752 +1378,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.964245,1.9801235,32.1080171,27.8112925,43.6504589,17.4496256,35.5639079,67.1023057,33.4457737,44.2817918,18.3119128,2.5121749,15.4073071,10.6496049,33.3135442,18.7203556,1.8468425,1.8392468,33.3451445,29.2032996,43.0384379,17.8167294,35.5941335,66.2518842,34.5517919,44.9112023,18.7934319,2.4219605,16.524878,11.1736309,34.3002988,15.2849625,2.0054457,1.9979465,34.5050064,29.9525331,42.822093,17.3599722,35.522007,66.5643865,34.226499,45.3240274,19.6138988,2.5773079,16.6595045,12.0228322,33.4770127,16.0591231,2.3256776,2.3294655,35.8961072,30.807471,43.4907106,17.7621526,34.97246,66.8287805,34.0310254,45.67295,19.8176038,3.0329671,15.7145241,12.0181287,33.7267517,17.3698415,2.3998358,2.4597847,36.6170908,30.8753705,44.7387532,18.6858714,35.2540193,66.282398,33.356889,45.1533481,19.9287719,3.5387738,14.9814709,11.7072883,33.6795965,17.5744701 +1379,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6516604,0.6411442,8.4125503,5.3707251,26.9215392,17.4167996,35.28207,68.7585447,40.1815385,49.7072235,23.7849104,4.5188381,10.5045497,10.6186106,31.3465062,5.215818,0.5914354,0.5813098,8.2019837,5.1961192,26.2293422,17.102801,35.5273134,69.4444473,40.5178934,50.2730855,23.9454034,4.2843696,10.4655648,10.3820096,31.4518915,5.4006912,0.5654653,0.5556548,8.4117973,5.3561916,26.0760632,17.2838218,35.8640178,69.476849,40.5486729,50.8658533,23.8516365,4.2927433,10.7655545,10.6222467,31.5993803,4.898642,0.5682497,0.575262,8.3776607,5.3634749,25.5790232,17.1061859,35.6986794,70.3680027,40.2896748,50.5101181,23.1280901,4.3268345,10.8213135,10.6733336,31.4800868,5.4999927,0.6263052,0.6377226,8.2927361,5.2246949,25.2171573,17.0474649,35.9114757,70.4797799,40.061153,50.9355057,23.0547964,4.2701016,11.1839636,10.7464365,31.4075876,3.6082449 +1380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5914354,0.5813098,8.2019837,5.1961192,26.2293422,17.102801,35.5273134,69.4444473,40.5178934,50.2730855,23.9454034,4.2843696,10.4655648,10.3820096,31.4518915,5.4006912,0.5654653,0.5556548,8.4117973,5.3561916,26.0760632,17.2838218,35.8640178,69.476849,40.5486729,50.8658533,23.8516365,4.2927433,10.7655545,10.6222467,31.5993803,4.898642,0.5682497,0.575262,8.3776607,5.3634749,25.5790232,17.1061859,35.6986794,70.3680027,40.2896748,50.5101181,23.1280901,4.3268345,10.8213135,10.6733336,31.4800868,5.4999927,0.6263052,0.6377226,8.2927361,5.2246949,25.2171573,17.0474649,35.9114757,70.4797799,40.061153,50.9355057,23.0547964,4.2701016,11.1839636,10.7464365,31.4075876,3.6082449,0.6708638,0.6822094,8.4546348,5.1482543,25.1596689,17.0751001,35.0782176,70.1655612,40.2116081,51.122321,23.0818415,4.2226344,10.7843176,10.6718637,31.1569955,4.4642825 +1381,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5450811,1.5360954,25.5010724,21.4793222,53.3708217,17.2374979,40.100871,64.5249234,34.1289439,47.6074805,20.8119129,2.5494677,15.6478494,11.9947883,34.8915609,14.1304436,1.4085732,1.4247337,25.4623298,21.5302205,53.8624042,17.4813532,40.3909804,64.8785759,34.5722836,47.8953453,20.7764405,2.4960396,15.2611358,11.5504826,34.8754104,12.7009325,1.4391375,1.4552037,25.6396923,21.8157275,53.2442999,17.4631744,40.6763306,64.6699779,34.9799991,47.8139978,20.7392172,2.5176663,15.2569328,11.6058893,34.9862767,12.4999684,1.4143672,1.460264,25.7675174,21.982037,52.663428,16.6484575,40.1970208,64.5238571,33.5586313,46.7180799,20.0900302,2.3610088,14.9276499,11.5379342,35.3934393,12.8164395,1.4329515,1.5226628,26.4436963,22.4557111,53.2545787,16.4597214,40.0132344,65.3456216,33.1629564,46.9761519,20.3032059,2.2781678,15.0619064,11.1062858,35.5164415,11.3781978 +1382,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.684221,0.6642729,6.0775296,4.2378449,47.2638436,22.2613709,31.4755155,69.2332474,35.3414948,46.681701,19.3621134,5.7667526,7.5033201,6.3249001,31.6666667,2.2522523,0.6130043,0.5934195,6.6858605,4.8304543,45.7352005,22.6100629,31.6171826,70.1516109,35.660139,47.5363234,19.6146557,6.0960202,7.3472042,6.1848958,31.5686275,2.293578,0.601539,0.601539,6.8112401,4.9175321,46.1655508,23.1766124,31.4277072,71.0526316,36.3278887,46.4912281,18.723533,6.2008469,8.0994898,6.9693095,31.7715019,2.2321429,0.4593607,0.4776256,6.7791593,4.5885139,45.3004164,22.8445748,31.0029499,70.7669617,36.8436578,46.0471976,18.3775811,5.8112094,8.046683,6.7118227,31.4975248,2.2321429,0.418018,0.4900901,7.1262362,4.5084351,45.8259847,23.4564339,31.0936591,69.895288,36.2129145,44.938918,18.4700407,5.6719023,9.6407186,7.3741007,33.1927711,1.3392857 +1383,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.957484,0.8786665,9.7557115,6.583116,31.7285207,20.9410543,36.4768467,70.9317836,42.817856,51.7794029,23.3096815,3.9631146,10.8274274,10.640369,33.3007813,6.0000034,0.9049189,0.8365287,9.7204802,6.7368054,31.0484732,21.464788,36.5927912,70.8253507,42.276799,53.0347284,23.9403488,3.6127127,11.5834173,10.7467644,33.147919,5.3370817,0.9017128,0.8191912,10.0778772,6.7133864,29.2686431,21.7303605,35.6170664,70.4589123,42.0411205,53.053839,23.6867796,3.5601215,12.4197947,10.3658623,31.8123101,4.3604677,0.8487084,0.7511635,10.4218694,7.1718647,28.291771,22.0315642,35.3099938,71.0811348,42.2734204,53.1796994,23.7043581,3.4817117,12.5081915,10.6139935,32.1593231,4.3103473,0.8027625,0.6988758,10.5485794,7.319738,28.0721242,21.8444222,35.0638747,69.952133,42.316262,52.7316632,24.4249786,3.5303424,11.793713,9.697571,32.7917844,3.0386757 +1384,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7245553,0.7092809,8.4436696,5.6794421,45.2748521,19.8928363,30.6473999,67.7803459,39.8728278,47.2485495,21.6300576,7.063583,9.7367081,9.3906267,32.74761,3.9940817,0.6360005,0.6213483,8.4464715,5.5975958,43.6713106,19.2938322,30.4236938,67.5576773,40.3172085,47.8593548,22.1716963,6.3997307,9.9171617,9.8557644,32.1695287,3.9473673,0.5809124,0.5667975,8.531361,5.5769617,43.071447,19.2881143,30.6242,66.670223,40.3174286,47.6246221,22.4009435,6.4017888,9.637275,9.61538,32.3767036,3.9473673,0.6370394,0.6254611,8.5831345,5.4056768,42.0341416,19.3468821,30.3118093,66.70998,39.8261076,47.7413535,22.6164354,6.5660616,9.4404131,9.6572525,32.4329895,3.749999,0.5108954,0.5287708,8.0974397,5.1319115,41.7255585,19.6136308,30.4385585,67.3203309,39.750779,47.4014696,22.8265135,6.5398001,9.3073575,9.6691592,32.1627052,3.9402163 +1385,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5529652,1.6186272,24.6852364,20.4245299,48.6270517,15.4984804,42.3314191,63.7285823,37.967592,49.439743,24.9466763,3.6950928,13.5867431,11.2571564,33.5889485,13.487556,1.7169136,1.7626051,24.5991621,20.225047,48.9455686,15.2062336,43.0429389,64.2919889,37.6936034,49.6366922,25.1644903,3.9932389,13.2231054,11.3606216,32.2949206,16.4426229,1.9059616,1.9529085,24.1080542,20.0110638,48.454671,15.5743686,42.6066867,64.0813038,37.2801319,48.9932229,24.966385,3.8668192,13.0795505,11.1696982,32.4075767,19.3875177,1.945223,1.9689482,24.1721115,19.6487833,49.1836813,15.1369744,42.1634848,64.3215193,37.0433164,47.8956799,24.758522,3.9566788,13.1132561,11.4613312,33.0509766,22.0276948,1.8012481,1.8246066,25.1867561,20.7374229,50.0005535,15.1571997,41.0829405,64.8168685,35.8630629,48.0282983,23.7720959,4.1421914,11.850168,11.5795153,33.4104334,20.7480453 +1386,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9867708,0.9947412,14.0874116,9.6971702,34.8622926,16.1976538,34.3667363,69.701284,40.9231298,51.5864669,23.7504635,4.4323424,13.5387475,12.4670379,32.524975,7.4193501,1.0592315,1.0797902,14.1500558,9.7350579,33.8687802,16.2274464,34.4620354,69.3888817,40.7922524,51.5049393,24.1035134,4.2717884,12.9829059,11.4658207,31.2104285,7.0945898,0.8914298,0.9436251,13.7938572,9.2037081,34.2508433,16.5733809,34.2661127,69.1672098,39.5812371,50.96409,24.4354858,4.256806,12.6540132,10.6534012,30.9273079,4.9242424,0.9748012,1.0287597,13.9455616,9.4174645,33.2920792,16.8596392,35.0292128,68.7195442,40.7254057,51.9230689,25.1460639,4.2599794,12.5615715,10.4719691,30.0994787,5.1586508,1.031656,1.0846846,13.9302369,9.9433848,33.6336956,16.571846,34.889851,69.2767993,39.8706781,50.4070788,23.8266395,3.8553618,11.9902846,10.5797021,29.5298457,8.7499167 +1387,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.544093,1.544093,35.1739788,30.484115,66.6405024,7.7443609,32.7507599,62.2340426,26.2158055,40.3495441,13.6018237,5.6990881,15.7643312,10.9177215,36.984127,17.2077922,1.9652946,1.9652946,36.7824773,31.9486405,66.3249211,7.0241692,32.6952527,61.0260337,26.5696784,39.5865237,13.5528331,6.5084227,17.5806452,12.3794212,37.9032258,19.8113208,1.9311398,1.9311398,35.947205,31.2888199,66.5322581,7.6625387,30.533752,61.9309262,25.9811617,37.755102,13.1083203,6.6718995,16.8300654,11.5635179,37.2131148,20.0617284,1.9582899,1.9582899,34.9612403,30.3100775,65.5645161,7.4845679,30.3767661,60.8320251,26.2951334,37.755102,14.3642072,6.8288854,14.6302251,11.0576923,36.2903226,18.0981595,2.0004518,2.0004518,34.0909091,30.1724138,65.1294498,7.7932099,32.4175824,61.1459969,27.2370487,37.1271586,15.1491366,7.4568289,16.2295082,11.6013072,36.0197368,19.0909091 +1388,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4909896,1.5528732,20.2453023,15.9273397,84.3469693,13.4538666,31.2458189,63.9187912,33.8098157,38.4200886,17.6454284,4.8734201,15.0067458,10.3428887,37.3013679,13.9018788,1.5149688,1.6025716,20.0161466,15.4629117,84.8099375,12.8646284,30.584701,63.0502916,33.1933856,38.5276856,17.1914829,4.783928,14.5216219,10.1232515,38.262649,14.8046259,1.4700042,1.5139901,20.7197723,16.2007861,85.4472028,12.91888,30.7076292,63.900472,32.7498351,38.0972617,16.8274869,4.4466416,14.9841934,9.5145727,36.9150286,13.2636942,1.3836498,1.4280807,20.7788351,16.1387858,84.7462806,12.8823728,31.0787085,63.0197021,32.551753,36.5331164,16.0272779,4.5415504,15.5022806,10.8216221,37.657743,12.9348539,1.2491024,1.3071718,19.8695618,15.5348635,84.3779253,12.6062112,31.6188596,63.5141906,33.3339237,37.1553603,16.5641582,4.7956621,15.0520507,10.9438461,38.0821238,13.3578074 +1389,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9298353,0.9704602,13.1141668,9.1995161,37.7044836,18.4512368,31.5499059,68.3617521,37.4112129,49.0011473,24.3562359,3.3525858,8.0614989,7.702298,36.3191673,7.4998179,0.989013,1.0287817,13.0146487,9.1081594,37.2893672,19.0671685,32.0061762,69.0820358,38.1417656,49.3257464,24.5648725,3.2854754,8.6561634,7.6291724,36.2251015,7.4192783,0.8507032,0.8903277,13.3203793,9.2120531,37.8646623,19.2988661,31.3807527,68.3146542,37.913729,48.2799415,23.7587481,3.0270157,9.4018746,8.2825619,35.4767261,6.999916,0.8541819,0.9039282,13.6631911,9.6259112,36.9457822,19.6424618,32.2490659,68.6683234,38.9302518,48.3626667,24.388536,3.2095283,10.2396698,8.8839025,36.4850918,9.4155393,0.8660544,0.9224178,13.6948808,9.7880889,36.6390543,20.249409,32.7275108,68.8543863,38.7984733,47.7768863,24.7751017,3.2278033,10.1089577,8.7047359,35.5752544,9.8100781 +1390,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.0336523,1.0336523,13.6493379,9.5474643,60.0720726,31.4789502,31.2500045,66.5947311,33.979915,44.3246956,18.8937109,3.6638273,15.2234303,10.754265,33.1933697,5.7692751,1.135837,1.135837,15.1450592,11.0870529,61.4767256,31.214455,32.049454,66.4970428,33.6483801,42.5144587,18.3867423,4.578535,15.2173787,12.0290901,33.5757289,6.1983983,1.2226479,1.2226479,14.6540647,10.9721389,60.9883015,30.1737431,31.0371086,66.8888668,33.1112813,42.7406547,18.2964391,4.3704222,14.0949326,11.7211726,32.8871984,6.3559861,1.200001,1.200001,15.4587628,11.316702,60.0449931,30.2651801,31.9549709,66.5414772,31.5039128,41.8796016,19.624221,5.0376546,14.3939624,13.1421528,32.2731185,6.6372562,1.1549927,1.1549927,15.3556962,11.573505,59.4946489,28.4535163,31.01087,67.3048828,31.0107934,40.9647438,19.2192247,5.4365138,15.2038433,14.2189722,35.0632872,4.700915 +1391,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6130043,0.5934195,6.6858605,4.8304543,45.7352005,22.6100629,31.6171826,70.1516109,35.660139,47.5363234,19.6146557,6.0960202,7.3472042,6.1848958,31.5686275,2.293578,0.601539,0.601539,6.8112401,4.9175321,46.1655508,23.1766124,31.4277072,71.0526316,36.3278887,46.4912281,18.723533,6.2008469,8.0994898,6.9693095,31.7715019,2.2321429,0.4593607,0.4776256,6.7791593,4.5885139,45.3004164,22.8445748,31.0029499,70.7669617,36.8436578,46.0471976,18.3775811,5.8112094,8.046683,6.7118227,31.4975248,2.2321429,0.418018,0.4900901,7.1262362,4.5084351,45.8259847,23.4564339,31.0936591,69.895288,36.2129145,44.938918,18.4700407,5.6719023,9.6407186,7.3741007,33.1927711,1.3392857,0.4881208,0.5417113,7.2701149,4.7413793,45.4782609,23.4943182,30.1146132,69.4269341,35.4441261,44.269341,18.1375358,5.1862464,10.7101947,7.1674312,33.2756632,1.2 +1392,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6360005,0.6213483,8.4464715,5.5975958,43.6713106,19.2938322,30.4236938,67.5576773,40.3172085,47.8593548,22.1716963,6.3997307,9.9171617,9.8557644,32.1695287,3.9473673,0.5809124,0.5667975,8.531361,5.5769617,43.071447,19.2881143,30.6242,66.670223,40.3174286,47.6246221,22.4009435,6.4017888,9.637275,9.61538,32.3767036,3.9473673,0.6370394,0.6254611,8.5831345,5.4056768,42.0341416,19.3468821,30.3118093,66.70998,39.8261076,47.7413535,22.6164354,6.5660616,9.4404131,9.6572525,32.4329895,3.749999,0.5108954,0.5287708,8.0974397,5.1319115,41.7255585,19.6136308,30.4385585,67.3203309,39.750779,47.4014696,22.8265135,6.5398001,9.3073575,9.6691592,32.1627052,3.9402163,0.5023437,0.5194399,8.1247709,5.1987517,41.5729275,19.9216608,30.7414901,68.0380977,39.2843977,47.6054006,22.7163525,6.4996312,9.0210042,8.8709667,33.1883523,3.5156232 +1393,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.989013,1.0287817,13.0146487,9.1081594,37.2893672,19.0671685,32.0061762,69.0820358,38.1417656,49.3257464,24.5648725,3.2854754,8.6561634,7.6291724,36.2251015,7.4192783,0.8507032,0.8903277,13.3203793,9.2120531,37.8646623,19.2988661,31.3807527,68.3146542,37.913729,48.2799415,23.7587481,3.0270157,9.4018746,8.2825619,35.4767261,6.999916,0.8541819,0.9039282,13.6631911,9.6259112,36.9457822,19.6424618,32.2490659,68.6683234,38.9302518,48.3626667,24.388536,3.2095283,10.2396698,8.8839025,36.4850918,9.4155393,0.8660544,0.9224178,13.6948808,9.7880889,36.6390543,20.249409,32.7275108,68.8543863,38.7984733,47.7768863,24.7751017,3.2278033,10.1089577,8.7047359,35.5752544,9.8100781,0.9915361,1.0557495,13.6942001,9.5754261,36.4628762,19.9702295,32.9180886,67.9558498,38.4666356,47.3789471,24.3551052,3.2109282,10.793354,8.9544848,34.9227024,8.4375625 +1394,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4132159,0.4538588,6.7441854,3.9892647,51.4585545,20.3162956,29.0751141,66.3536403,33.929829,40.6272058,20.5705183,7.7073028,10.5432497,7.1479916,36.1171379,1.5151525,0.3749351,0.4234955,6.7718937,3.8866243,50.8792682,19.8906863,28.0775619,65.615505,33.5413109,40.1854921,19.1736935,7.5379455,10.0337885,7.5798812,36.6825584,1.1146504,0.4335355,0.4749757,7.2998686,4.2486862,50.7039934,19.5610322,27.7015934,66.1606179,33.8067212,40.7280362,18.9193636,7.3294182,9.4541947,7.2780707,35.8496742,1.4195588,0.3755286,0.3869107,7.3736403,4.4625706,50.4457165,19.0942985,27.841086,66.2709664,34.2355168,41.6429173,18.5976608,7.5498602,9.7353534,7.3055056,35.7504759,1.3513518,0.2614327,0.2916267,7.2644208,4.5225353,49.7958558,19.261412,27.4047454,66.6302248,34.7439105,41.3959923,18.6602145,7.9169291,9.3827965,7.8437529,35.6606145,2.5297619 +1395,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6136677,0.5936626,10.1186285,7.0682101,47.897462,10.4069635,28.0024896,70.7230941,42.4366247,45.2486489,21.436488,4.9383577,10.4224142,8.7082566,35.4241959,5.9659091,0.568586,0.5627075,9.7396007,6.9173703,46.9204243,10.9692461,28.2320169,70.5978932,43.2291655,46.1401274,21.8964057,5.1013131,10.0575508,8.4626463,34.9231593,5.9921415,0.5942254,0.5754746,9.3961199,6.6642707,46.1972073,10.7192757,27.8020862,70.3627924,43.6829451,46.3509322,22.0567485,5.0465841,9.7550527,8.3285849,34.9468457,5.5772994,0.6615077,0.6340318,9.697774,6.8140902,46.2835517,10.4197518,27.8133503,69.9114452,43.1948212,45.5926442,21.6689385,5.0204362,9.5937387,7.972006,34.6409676,5.3773585,0.6204699,0.6180741,9.7941643,6.9654774,46.2791922,10.7427918,28.1323393,69.413993,42.9718052,44.8903684,21.5022188,4.9399638,9.4272984,8.0653567,34.4904901,6.0688417 +1396,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8641711,0.788991,9.2755821,6.2432996,19.5901895,17.2826517,32.6215965,68.24229,38.8384225,49.594826,22.0674211,5.0921754,9.4650466,9.2114153,25.2264643,5.5555597,0.9930611,0.921993,10.0313955,6.8832674,19.3121447,17.50654,34.132735,67.306574,38.1613265,49.0909072,21.2995393,4.7867983,8.8723216,8.7745765,24.6182266,6.0713615,0.9153761,0.8930445,10.2436733,7.0162011,20.2392948,17.0375163,33.7487648,66.9945289,37.3254857,48.4316232,20.9047111,4.815374,9.067103,8.5704926,25.4434894,6.6427572,0.8857134,0.8638921,10.1743004,7.0953922,20.1830486,16.9587391,34.1921277,66.8170132,36.5667921,48.7370876,20.3276196,5.3111461,9.8556939,8.738251,26.1001838,4.9015302,0.8859893,0.8481548,10.5056791,7.4251351,19.884585,16.3706028,34.2665441,66.4717543,36.4492042,48.8858951,20.735398,5.2318788,10.3419184,8.5539687,26.3469943,4.850259 +1397,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3500896,1.3696815,24.3213672,20.081735,41.9904741,16.5109026,38.0462549,66.0019524,35.9996528,48.4331399,23.0417999,3.5393266,12.1670091,9.8530386,30.7550983,22.2446728,1.4111193,1.4418483,25.1628595,20.6088458,42.1184552,16.9051416,38.1148127,66.6948438,36.0571467,47.8403492,22.791462,3.2373321,12.6425939,10.149907,30.186884,20.9952426,1.6338359,1.6887105,25.3178055,20.7323362,42.3453019,17.2437779,37.8144044,66.6841428,34.7273887,47.0929583,22.0799097,3.4545992,12.9324078,10.7630544,29.6809286,18.897009,1.6410242,1.6946629,25.6886395,21.2800226,43.3918106,17.7649785,37.2050081,66.8232786,34.8043164,46.7159853,22.4074433,3.7335418,13.1034326,10.77837,29.6542466,18.7974046,1.7134795,1.7349423,25.2886115,20.7951718,42.6933358,18.0830151,37.4438028,66.1627483,34.9805434,46.5434584,21.9549724,3.9419542,13.2472951,10.3929173,30.0584831,18.1807364 +1398,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5279284,0.537715,9.35924,6.06092,54.2492863,14.3175407,33.0429939,69.3225605,36.0967583,45.9247367,20.4408658,3.1075256,9.4178816,7.9758391,32.5303881,8.1395349,0.5400993,0.5302101,9.2596496,6.0140015,53.3633745,14.5592533,32.3038523,68.5413809,36.5734559,46.3264069,20.4269805,3.0017331,9.3291501,7.7488437,31.595629,6.9256396,0.5254164,0.5154681,9.1908613,5.9884728,53.3650625,14.5703148,31.9995628,68.5455653,36.5787042,46.1077301,20.9441994,3.1290859,9.9451094,8.0583774,31.4413518,6.2499643,0.5233679,0.5183599,8.9804258,6.0550698,52.5316434,14.0405731,31.4644832,68.0546386,35.945345,46.0874393,20.7104047,3.0273199,9.3789357,7.842728,30.9624526,6.2500022,0.4807231,0.4559314,9.3437032,6.3392312,52.0682059,14.0209927,31.5783704,68.2479324,35.9639547,46.3417479,21.0920732,3.2891849,9.2393598,7.6875367,31.0208683,5.4999963 +1399,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5400993,0.5302101,9.2596496,6.0140015,53.3633745,14.5592533,32.3038523,68.5413809,36.5734559,46.3264069,20.4269805,3.0017331,9.3291501,7.7488437,31.595629,6.9256396,0.5254164,0.5154681,9.1908613,5.9884728,53.3650625,14.5703148,31.9995628,68.5455653,36.5787042,46.1077301,20.9441994,3.1290859,9.9451094,8.0583774,31.4413518,6.2499643,0.5233679,0.5183599,8.9804258,6.0550698,52.5316434,14.0405731,31.4644832,68.0546386,35.945345,46.0874393,20.7104047,3.0273199,9.3789357,7.842728,30.9624526,6.2500022,0.4807231,0.4559314,9.3437032,6.3392312,52.0682059,14.0209927,31.5783704,68.2479324,35.9639547,46.3417479,21.0920732,3.2891849,9.2393598,7.6875367,31.0208683,5.4999963,0.5294169,0.5377187,9.2727296,6.2352977,50.9706607,14.569044,31.3966094,68.2124179,36.2836522,45.9274774,21.5790791,3.355776,9.7024418,7.8361481,31.2421169,5.4770555 +1400,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8507032,0.8903277,13.3203793,9.2120531,37.8646623,19.2988661,31.3807527,68.3146542,37.913729,48.2799415,23.7587481,3.0270157,9.4018746,8.2825619,35.4767261,6.999916,0.8541819,0.9039282,13.6631911,9.6259112,36.9457822,19.6424618,32.2490659,68.6683234,38.9302518,48.3626667,24.388536,3.2095283,10.2396698,8.8839025,36.4850918,9.4155393,0.8660544,0.9224178,13.6948808,9.7880889,36.6390543,20.249409,32.7275108,68.8543863,38.7984733,47.7768863,24.7751017,3.2278033,10.1089577,8.7047359,35.5752544,9.8100781,0.9915361,1.0557495,13.6942001,9.5754261,36.4628762,19.9702295,32.9180886,67.9558498,38.4666356,47.3789471,24.3551052,3.2109282,10.793354,8.9544848,34.9227024,8.4375625,1.1037568,1.1673415,14.1866107,10.1093715,36.6516225,20.4073734,33.1526537,67.8017916,37.7496583,46.24926,23.7420663,3.1438932,11.1902566,9.1175439,35.5397985,8.1325904 +1401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.5716618,1.5627738,23.3986607,18.167325,31.3010533,14.6272888,36.1843327,63.853815,35.6465653,45.8687523,21.7330937,2.9805645,14.2534048,10.3751182,39.4763238,21.6918418,1.6186068,1.6180845,24.2044491,18.9782966,31.8746908,15.2976375,37.0228612,63.3528059,35.2938024,45.8595664,21.9018671,3.1091415,14.1603783,10.8316015,39.718926,20.7481007,1.6555815,1.6656481,24.7172041,19.2532339,32.1187318,15.326178,37.6950404,62.9287327,35.5710863,46.2732355,22.3100622,3.1588242,13.7491002,11.0226528,39.7500391,21.9089852,1.7025574,1.7128892,25.4567804,20.0432736,32.9333656,15.5697586,37.1952514,62.5369865,35.446454,45.5897078,21.9269299,3.1513978,13.8128847,11.1997375,40.6979442,21.0413422,1.6693956,1.6962835,26.6361716,21.0631753,33.5544526,15.5193172,37.0904775,61.963455,36.0082774,46.2025589,21.7435153,2.9257258,13.5863877,11.3838992,40.096427,23.2454142 +1402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7169136,1.7626051,24.5991621,20.225047,48.9455686,15.2062336,43.0429389,64.2919889,37.6936034,49.6366922,25.1644903,3.9932389,13.2231054,11.3606216,32.2949206,16.4426229,1.9059616,1.9529085,24.1080542,20.0110638,48.454671,15.5743686,42.6066867,64.0813038,37.2801319,48.9932229,24.966385,3.8668192,13.0795505,11.1696982,32.4075767,19.3875177,1.945223,1.9689482,24.1721115,19.6487833,49.1836813,15.1369744,42.1634848,64.3215193,37.0433164,47.8956799,24.758522,3.9566788,13.1132561,11.4613312,33.0509766,22.0276948,1.8012481,1.8246066,25.1867561,20.7374229,50.0005535,15.1571997,41.0829405,64.8168685,35.8630629,48.0282983,23.7720959,4.1421914,11.850168,11.5795153,33.4104334,20.7480453,1.6911159,1.7327321,25.0610448,20.3043741,49.7913586,15.0226601,41.5046077,65.1912567,36.3755658,47.6472288,24.1882217,3.5648107,11.377552,12.2038691,32.242735,22.7608883 +1403,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5254164,0.5154681,9.1908613,5.9884728,53.3650625,14.5703148,31.9995628,68.5455653,36.5787042,46.1077301,20.9441994,3.1290859,9.9451094,8.0583774,31.4413518,6.2499643,0.5233679,0.5183599,8.9804258,6.0550698,52.5316434,14.0405731,31.4644832,68.0546386,35.945345,46.0874393,20.7104047,3.0273199,9.3789357,7.842728,30.9624526,6.2500022,0.4807231,0.4559314,9.3437032,6.3392312,52.0682059,14.0209927,31.5783704,68.2479324,35.9639547,46.3417479,21.0920732,3.2891849,9.2393598,7.6875367,31.0208683,5.4999963,0.5294169,0.5377187,9.2727296,6.2352977,50.9706607,14.569044,31.3966094,68.2124179,36.2836522,45.9274774,21.5790791,3.355776,9.7024418,7.8361481,31.2421169,5.4770555,0.5962623,0.5818452,9.5039574,6.2540124,50.6260955,13.9880353,31.2973002,67.8594553,36.2270225,45.7405646,21.2865067,3.621622,9.7361959,8.0496183,31.3978337,5.8333531 +1404,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0592315,1.0797902,14.1500558,9.7350579,33.8687802,16.2274464,34.4620354,69.3888817,40.7922524,51.5049393,24.1035134,4.2717884,12.9829059,11.4658207,31.2104285,7.0945898,0.8914298,0.9436251,13.7938572,9.2037081,34.2508433,16.5733809,34.2661127,69.1672098,39.5812371,50.96409,24.4354858,4.256806,12.6540132,10.6534012,30.9273079,4.9242424,0.9748012,1.0287597,13.9455616,9.4174645,33.2920792,16.8596392,35.0292128,68.7195442,40.7254057,51.9230689,25.1460639,4.2599794,12.5615715,10.4719691,30.0994787,5.1586508,1.031656,1.0846846,13.9302369,9.9433848,33.6336956,16.571846,34.889851,69.2767993,39.8706781,50.4070788,23.8266395,3.8553618,11.9902846,10.5797021,29.5298457,8.7499167,1.1250484,1.1541432,14.6958837,10.5605778,32.9767816,16.0595425,35.2980808,68.6911617,39.3769558,49.3724847,23.0166013,3.877185,11.919641,10.7015951,30.4328094,9.2741204 +1405,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4648853,0.4716741,9.9518858,6.6710385,45.3451495,18.6752332,33.3557047,69.6868037,40.8724613,45.1230451,23.0201353,3.8702485,8.0715658,7.493431,32.6144605,4.0441117,0.4748815,0.4818932,10.1452623,6.8315911,44.6554216,19.1620946,32.6006559,70.0370245,40.930106,45.7889885,23.9472402,3.9102296,7.4660851,7.2207214,34.229738,3.3333284,0.5230064,0.5391378,9.9007642,6.7816626,44.0616043,19.2417846,32.7611236,69.3181796,40.4013345,45.5270828,23.2833551,3.7959372,7.9327054,7.4806989,34.3507907,3.3582039,0.5293618,0.5462823,10.1842729,6.8974104,43.167882,19.8353423,31.8411703,69.9291836,41.502272,46.2063686,23.4951873,4.0212439,8.4615546,8.1790184,34.1097478,2.7999978,0.4915068,0.5086087,10.4428917,6.8696614,40.6652903,20.9026847,32.6952596,69.6528872,42.4961723,46.681986,24.1705029,3.9050532,8.2564163,7.9814686,32.209551,3.4615385 +1406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6186068,1.6180845,24.2044491,18.9782966,31.8746908,15.2976375,37.0228612,63.3528059,35.2938024,45.8595664,21.9018671,3.1091415,14.1603783,10.8316015,39.718926,20.7481007,1.6555815,1.6656481,24.7172041,19.2532339,32.1187318,15.326178,37.6950404,62.9287327,35.5710863,46.2732355,22.3100622,3.1588242,13.7491002,11.0226528,39.7500391,21.9089852,1.7025574,1.7128892,25.4567804,20.0432736,32.9333656,15.5697586,37.1952514,62.5369865,35.446454,45.5897078,21.9269299,3.1513978,13.8128847,11.1997375,40.6979442,21.0413422,1.6693956,1.6962835,26.6361716,21.0631753,33.5544526,15.5193172,37.0904775,61.963455,36.0082774,46.2025589,21.7435153,2.9257258,13.5863877,11.3838992,40.096427,23.2454142,1.6172301,1.6439732,27.6704988,21.747256,33.7190248,16.2541375,38.2276996,61.7373791,35.8549529,46.8114919,21.6862323,3.0182718,12.9258139,11.1867046,39.8534165,23.1788435 +1407,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9049189,0.8365287,9.7204802,6.7368054,31.0484732,21.464788,36.5927912,70.8253507,42.276799,53.0347284,23.9403488,3.6127127,11.5834173,10.7467644,33.147919,5.3370817,0.9017128,0.8191912,10.0778772,6.7133864,29.2686431,21.7303605,35.6170664,70.4589123,42.0411205,53.053839,23.6867796,3.5601215,12.4197947,10.3658623,31.8123101,4.3604677,0.8487084,0.7511635,10.4218694,7.1718647,28.291771,22.0315642,35.3099938,71.0811348,42.2734204,53.1796994,23.7043581,3.4817117,12.5081915,10.6139935,32.1593231,4.3103473,0.8027625,0.6988758,10.5485794,7.319738,28.0721242,21.8444222,35.0638747,69.952133,42.316262,52.7316632,24.4249786,3.5303424,11.793713,9.697571,32.7917844,3.0386757,0.7990583,0.7505106,10.9182916,7.4477746,27.6748131,21.7993218,34.9795867,69.4105321,41.658799,52.6654554,24.0985275,3.4650277,11.6688187,9.7631219,33.9470193,4.1436487 +1408,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4111193,1.4418483,25.1628595,20.6088458,42.1184552,16.9051416,38.1148127,66.6948438,36.0571467,47.8403492,22.791462,3.2373321,12.6425939,10.149907,30.186884,20.9952426,1.6338359,1.6887105,25.3178055,20.7323362,42.3453019,17.2437779,37.8144044,66.6841428,34.7273887,47.0929583,22.0799097,3.4545992,12.9324078,10.7630544,29.6809286,18.897009,1.6410242,1.6946629,25.6886395,21.2800226,43.3918106,17.7649785,37.2050081,66.8232786,34.8043164,46.7159853,22.4074433,3.7335418,13.1034326,10.77837,29.6542466,18.7974046,1.7134795,1.7349423,25.2886115,20.7951718,42.6933358,18.0830151,37.4438028,66.1627483,34.9805434,46.5434584,21.9549724,3.9419542,13.2472951,10.3929173,30.0584831,18.1807364,1.7039192,1.7251355,26.4438064,21.7945221,43.6978241,18.1302877,37.3216234,65.7929067,34.4463462,46.3680046,21.7324983,4.0261542,13.5915382,10.2480239,30.009367,18.8162527 +1409,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4085732,1.4247337,25.4623298,21.5302205,53.8624042,17.4813532,40.3909804,64.8785759,34.5722836,47.8953453,20.7764405,2.4960396,15.2611358,11.5504826,34.8754104,12.7009325,1.4391375,1.4552037,25.6396923,21.8157275,53.2442999,17.4631744,40.6763306,64.6699779,34.9799991,47.8139978,20.7392172,2.5176663,15.2569328,11.6058893,34.9862767,12.4999684,1.4143672,1.460264,25.7675174,21.982037,52.663428,16.6484575,40.1970208,64.5238571,33.5586313,46.7180799,20.0900302,2.3610088,14.9276499,11.5379342,35.3934393,12.8164395,1.4329515,1.5226628,26.4436963,22.4557111,53.2545787,16.4597214,40.0132344,65.3456216,33.1629564,46.9761519,20.3032059,2.2781678,15.0619064,11.1062858,35.5164415,11.3781978,1.6686618,1.759529,25.8324036,21.7067877,53.6349499,16.055451,40.4162979,65.2879578,33.7042115,47.5941196,20.3154287,2.4652382,15.1668429,11.9252508,35.3991844,13.4740172 +1410,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9930611,0.921993,10.0313955,6.8832674,19.3121447,17.50654,34.132735,67.306574,38.1613265,49.0909072,21.2995393,4.7867983,8.8723216,8.7745765,24.6182266,6.0713615,0.9153761,0.8930445,10.2436733,7.0162011,20.2392948,17.0375163,33.7487648,66.9945289,37.3254857,48.4316232,20.9047111,4.815374,9.067103,8.5704926,25.4434894,6.6427572,0.8857134,0.8638921,10.1743004,7.0953922,20.1830486,16.9587391,34.1921277,66.8170132,36.5667921,48.7370876,20.3276196,5.3111461,9.8556939,8.738251,26.1001838,4.9015302,0.8859893,0.8481548,10.5056791,7.4251351,19.884585,16.3706028,34.2665441,66.4717543,36.4492042,48.8858951,20.735398,5.2318788,10.3419184,8.5539687,26.3469943,4.850259,0.7922634,0.7868443,10.940644,7.7854203,20.3829454,16.6401379,34.1873525,65.9398678,36.7280982,48.7884254,20.8702444,5.1519247,9.9861934,8.3386279,26.0467662,5.8587705 +1411,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8846185,0.9782222,12.6628726,8.4702361,41.380344,14.4362179,31.3845601,67.7428858,36.1547247,47.3822039,24.7527777,3.6940094,12.9739264,12.7672492,38.5577969,4.8701362,0.8907328,0.9810036,12.840773,8.8058753,40.828582,14.3131766,32.6319002,68.4904797,36.6161444,46.773287,24.7194331,3.5634135,14.1618216,13.1365917,38.5464947,5.6666704,0.8921669,1.0049974,12.9242685,9.0600365,41.7634306,14.5546018,31.6684834,68.1695619,36.3120773,46.4092712,24.2710646,3.8066981,13.8520717,13.3002281,38.1242942,5.8282244,0.9653248,1.0618499,13.1331466,9.060037,41.1259198,15.1329687,32.3131231,68.8244888,37.0801527,47.5893644,24.0790974,3.873237,14.0744546,13.1838147,39.0418387,7.187509,0.9643844,1.0037441,12.8019035,8.7581002,41.5505915,14.5806905,31.8104153,69.5255502,37.5392687,46.2819243,23.8438115,3.8457742,13.1496782,12.178454,38.7407307,6.7742067 +1412,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8541819,0.9039282,13.6631911,9.6259112,36.9457822,19.6424618,32.2490659,68.6683234,38.9302518,48.3626667,24.388536,3.2095283,10.2396698,8.8839025,36.4850918,9.4155393,0.8660544,0.9224178,13.6948808,9.7880889,36.6390543,20.249409,32.7275108,68.8543863,38.7984733,47.7768863,24.7751017,3.2278033,10.1089577,8.7047359,35.5752544,9.8100781,0.9915361,1.0557495,13.6942001,9.5754261,36.4628762,19.9702295,32.9180886,67.9558498,38.4666356,47.3789471,24.3551052,3.2109282,10.793354,8.9544848,34.9227024,8.4375625,1.1037568,1.1673415,14.1866107,10.1093715,36.6516225,20.4073734,33.1526537,67.8017916,37.7496583,46.24926,23.7420663,3.1438932,11.1902566,9.1175439,35.5397985,8.1325904,0.976024,1.0003925,14.7592138,10.6630483,36.474246,20.2701376,33.8012375,67.7108133,37.4733954,46.2421186,23.5635941,2.9589543,11.5864893,9.5494622,36.1088157,9.8214881 +1413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3675073,2.4165212,38.0086059,33.1316064,64.3071179,14.5180994,38.0637221,62.4498454,28.007639,40.3642164,18.8297024,2.3903639,16.7463173,11.0173941,43.1557364,25.1910462,2.4944008,2.5244138,38.6370397,33.4820671,64.5939701,14.3324033,37.4428869,62.0975982,27.215212,40.1079271,18.4072844,2.297168,16.7492929,11.392013,43.7235768,25.8898616,2.4484381,2.4647638,40.3957169,34.8502382,65.7000896,14.2292083,37.9389479,62.4534691,26.5088901,39.1789327,17.4860376,2.116531,17.1280004,11.6491955,43.0958552,25.914704,2.6716233,2.6875695,40.5638666,35.0636747,67.0135039,13.8104813,36.4720137,62.1831319,25.4787108,38.7316072,17.0666093,2.2180396,17.5054041,12.3919758,44.1578624,25.7562385,2.8085318,2.8213582,40.6916542,35.1132948,68.4535084,14.0365027,35.7145219,62.7121316,25.0635497,38.1213655,17.1530701,2.1026669,18.3416845,13.3286274,44.6526709,27.8909298 +1414,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8660544,0.9224178,13.6948808,9.7880889,36.6390543,20.249409,32.7275108,68.8543863,38.7984733,47.7768863,24.7751017,3.2278033,10.1089577,8.7047359,35.5752544,9.8100781,0.9915361,1.0557495,13.6942001,9.5754261,36.4628762,19.9702295,32.9180886,67.9558498,38.4666356,47.3789471,24.3551052,3.2109282,10.793354,8.9544848,34.9227024,8.4375625,1.1037568,1.1673415,14.1866107,10.1093715,36.6516225,20.4073734,33.1526537,67.8017916,37.7496583,46.24926,23.7420663,3.1438932,11.1902566,9.1175439,35.5397985,8.1325904,0.976024,1.0003925,14.7592138,10.6630483,36.474246,20.2701376,33.8012375,67.7108133,37.4733954,46.2421186,23.5635941,2.9589543,11.5864893,9.5494622,36.1088157,9.8214881,0.9993617,1.0231016,15.5293426,11.4350882,36.7311649,20.5641779,33.5783727,67.0518845,36.6868328,45.5904135,23.7925462,3.1709239,10.8592925,8.9782843,35.9373236,12.7219602 +1415,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4391375,1.4552037,25.6396923,21.8157275,53.2442999,17.4631744,40.6763306,64.6699779,34.9799991,47.8139978,20.7392172,2.5176663,15.2569328,11.6058893,34.9862767,12.4999684,1.4143672,1.460264,25.7675174,21.982037,52.663428,16.6484575,40.1970208,64.5238571,33.5586313,46.7180799,20.0900302,2.3610088,14.9276499,11.5379342,35.3934393,12.8164395,1.4329515,1.5226628,26.4436963,22.4557111,53.2545787,16.4597214,40.0132344,65.3456216,33.1629564,46.9761519,20.3032059,2.2781678,15.0619064,11.1062858,35.5164415,11.3781978,1.6686618,1.759529,25.8324036,21.7067877,53.6349499,16.055451,40.4162979,65.2879578,33.7042115,47.5941196,20.3154287,2.4652382,15.1668429,11.9252508,35.3991844,13.4740172,1.7265214,1.8174871,26.3271393,22.5305535,53.0784726,16.2163918,40.9520426,65.4456734,33.5897525,47.541482,20.6014963,2.5023489,14.5071437,11.2648149,36.1642412,12.5798434 +1416,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5809124,0.5667975,8.531361,5.5769617,43.071447,19.2881143,30.6242,66.670223,40.3174286,47.6246221,22.4009435,6.4017888,9.637275,9.61538,32.3767036,3.9473673,0.6370394,0.6254611,8.5831345,5.4056768,42.0341416,19.3468821,30.3118093,66.70998,39.8261076,47.7413535,22.6164354,6.5660616,9.4404131,9.6572525,32.4329895,3.749999,0.5108954,0.5287708,8.0974397,5.1319115,41.7255585,19.6136308,30.4385585,67.3203309,39.750779,47.4014696,22.8265135,6.5398001,9.3073575,9.6691592,32.1627052,3.9402163,0.5023437,0.5194399,8.1247709,5.1987517,41.5729275,19.9216608,30.7414901,68.0380977,39.2843977,47.6054006,22.7163525,6.4996312,9.0210042,8.8709667,33.1883523,3.5156232,0.5101449,0.534606,8.1856478,5.0622948,41.1769959,19.6329165,31.6528303,68.1352662,38.5573058,47.7220548,22.5940375,6.4188585,9.5454518,9.3670398,34.0600939,3.6989777 +1417,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8914298,0.9436251,13.7938572,9.2037081,34.2508433,16.5733809,34.2661127,69.1672098,39.5812371,50.96409,24.4354858,4.256806,12.6540132,10.6534012,30.9273079,4.9242424,0.9748012,1.0287597,13.9455616,9.4174645,33.2920792,16.8596392,35.0292128,68.7195442,40.7254057,51.9230689,25.1460639,4.2599794,12.5615715,10.4719691,30.0994787,5.1586508,1.031656,1.0846846,13.9302369,9.9433848,33.6336956,16.571846,34.889851,69.2767993,39.8706781,50.4070788,23.8266395,3.8553618,11.9902846,10.5797021,29.5298457,8.7499167,1.1250484,1.1541432,14.6958837,10.5605778,32.9767816,16.0595425,35.2980808,68.6911617,39.3769558,49.3724847,23.0166013,3.877185,11.919641,10.7015951,30.4328094,9.2741204,1.088729,1.1164745,15.4746446,11.2831525,33.5879487,16.0805172,35.7879038,67.9476037,38.9652229,49.3988896,23.3362191,3.6711065,11.437079,10.2118757,31.7480645,12.8675925 +1418,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8974784,0.8802938,10.7852246,7.0310431,49.7033442,19.8456988,34.4999505,67.4185136,36.2656708,46.89984,21.9199108,3.7515458,14.4106309,13.0742973,39.6646944,5.5920211,0.775513,0.7581345,10.3296808,6.9340052,47.9138091,20.0955572,35.565382,67.8696413,36.6411491,47.5166277,22.3206233,4.1690399,14.6900868,12.9230202,38.3192781,4.7793207,0.7978499,0.7692423,10.0824805,7.0049636,46.1254322,19.6157897,35.0258749,67.5716934,37.2586112,47.2329309,22.3784656,4.1503082,14.3735046,12.7553546,37.6127751,6.5890493,0.7851863,0.7742628,10.2580321,6.971762,44.4027505,20.0052445,34.8666456,67.9878828,38.0846759,47.5043138,23.2623532,3.9447758,13.9838735,11.6701423,36.3524924,6.2499792,0.9335768,0.9225263,10.6189483,7.1031084,42.6751805,20.352936,35.1047446,69.1967339,38.5775016,47.3066573,23.5929936,4.1463382,13.9925409,11.5586093,36.9085581,7.7235584 +1419,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3749351,0.4234955,6.7718937,3.8866243,50.8792682,19.8906863,28.0775619,65.615505,33.5413109,40.1854921,19.1736935,7.5379455,10.0337885,7.5798812,36.6825584,1.1146504,0.4335355,0.4749757,7.2998686,4.2486862,50.7039934,19.5610322,27.7015934,66.1606179,33.8067212,40.7280362,18.9193636,7.3294182,9.4541947,7.2780707,35.8496742,1.4195588,0.3755286,0.3869107,7.3736403,4.4625706,50.4457165,19.0942985,27.841086,66.2709664,34.2355168,41.6429173,18.5976608,7.5498602,9.7353534,7.3055056,35.7504759,1.3513518,0.2614327,0.2916267,7.2644208,4.5225353,49.7958558,19.261412,27.4047454,66.6302248,34.7439105,41.3959923,18.6602145,7.9169291,9.3827965,7.8437529,35.6606145,2.5297619,0.2718397,0.2893136,7.5396825,4.7142845,49.1945701,19.5411129,27.4198595,66.8604589,35.0879956,41.4361941,18.6517921,7.8409835,8.7957175,7.548962,35.4522529,3.4743223 +1420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9748012,1.0287597,13.9455616,9.4174645,33.2920792,16.8596392,35.0292128,68.7195442,40.7254057,51.9230689,25.1460639,4.2599794,12.5615715,10.4719691,30.0994787,5.1586508,1.031656,1.0846846,13.9302369,9.9433848,33.6336956,16.571846,34.889851,69.2767993,39.8706781,50.4070788,23.8266395,3.8553618,11.9902846,10.5797021,29.5298457,8.7499167,1.1250484,1.1541432,14.6958837,10.5605778,32.9767816,16.0595425,35.2980808,68.6911617,39.3769558,49.3724847,23.0166013,3.877185,11.919641,10.7015951,30.4328094,9.2741204,1.088729,1.1164745,15.4746446,11.2831525,33.5879487,16.0805172,35.7879038,67.9476037,38.9652229,49.3988896,23.3362191,3.6711065,11.437079,10.2118757,31.7480645,12.8675925,1.2579992,1.2969041,15.8286198,11.7256483,33.2426438,16.3687074,35.1005677,68.4359118,38.799644,49.1651835,23.7625126,3.8819977,11.1678557,9.62701,32.1980513,15.9258754 +1421,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7291568,0.7221313,8.5928154,5.6393883,61.2501404,8.3816329,25.4151486,66.322191,32.138338,39.9317753,16.096939,5.9605638,10.2473079,8.4801821,36.2383937,4.7152887,0.7133059,0.7013231,8.5580109,5.751599,60.1974734,8.5964341,25.160166,66.5081759,32.4890336,40.4190285,16.6584333,6.1962935,10.3896045,8.76596,36.1537707,4.4549314,0.7059694,0.6974207,8.5038594,5.7478603,59.3602024,8.6355299,24.8804334,66.859288,32.4809288,40.4524268,16.8501605,6.3079691,10.2233043,8.7374059,36.4049523,4.5764739,0.6773613,0.6761588,8.659603,5.8260747,58.9033679,8.5871398,25.0981738,66.952597,32.5739693,40.7535156,16.8894297,6.3814259,10.5110909,8.9362965,36.579179,5.0604985,0.7400256,0.7346208,8.8178921,5.9839446,58.476694,8.7665268,25.229896,66.635849,32.5240629,40.8057523,17.1857457,6.6357723,10.5295757,8.9068148,36.7090939,5.0658453 +1422,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2863911,0.2938622,7.5337102,4.2670631,66.3555337,19.2898222,31.6637321,63.6343949,30.4372477,40.617456,16.6190254,4.885545,9.9325389,8.47139,35.109618,3.1402089,0.3997496,0.4260654,7.3699388,4.2320383,64.6189046,19.3948022,31.1115586,63.5972074,30.4552989,41.0377341,16.0582509,4.8605446,10.172678,8.6972937,34.1767552,3.1553413,0.368179,0.3957925,7.3038536,4.2262661,64.3700772,20.0555319,30.8639193,63.6501076,31.5550774,41.7926516,16.8250599,5.1619902,10.5325964,8.5657411,33.5862781,3.2663333,0.3893758,0.451954,7.764539,4.6495626,63.3271569,19.8602317,30.4158974,63.0027419,31.3299838,41.7047467,17.0703879,5.2330922,10.9756144,8.8954506,33.8260278,3.8071085,0.3733448,0.4578756,7.7829043,4.8729768,61.9416981,21.0105126,30.5309676,63.9729844,31.7885415,42.6874608,17.7689828,5.3796017,10.7484807,8.5801424,33.1441164,3.3505172 +1423,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8907328,0.9810036,12.840773,8.8058753,40.828582,14.3131766,32.6319002,68.4904797,36.6161444,46.773287,24.7194331,3.5634135,14.1618216,13.1365917,38.5464947,5.6666704,0.8921669,1.0049974,12.9242685,9.0600365,41.7634306,14.5546018,31.6684834,68.1695619,36.3120773,46.4092712,24.2710646,3.8066981,13.8520717,13.3002281,38.1242942,5.8282244,0.9653248,1.0618499,13.1331466,9.060037,41.1259198,15.1329687,32.3131231,68.8244888,37.0801527,47.5893644,24.0790974,3.873237,14.0744546,13.1838147,39.0418387,7.187509,0.9643844,1.0037441,12.8019035,8.7581002,41.5505915,14.5806905,31.8104153,69.5255502,37.5392687,46.2819243,23.8438115,3.8457742,13.1496782,12.178454,38.7407307,6.7742067,0.8897903,0.9055715,12.941896,9.0552663,42.1525596,14.7541777,32.4426922,70.4453508,38.1990412,46.8770334,24.0114829,3.7576219,12.6832576,11.7032093,40.342973,6.5625041 +1424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5531262,0.5578732,11.5134653,7.8280021,46.767739,14.8431535,28.0950086,60.5929887,33.9396786,39.6138959,17.475292,3.9998422,12.4668553,11.3027955,39.9953616,5.506764,0.6454509,0.6744671,11.4541268,8.0821201,46.2529801,14.8948244,28.2282917,61.2006048,33.6278193,40.2128571,17.9804989,3.6383672,11.9887267,11.2426073,39.3978425,5.9527999,0.6689751,0.6981736,12.2307353,8.4564646,45.5184564,14.8610078,28.219893,61.1712278,33.1042236,39.9321776,18.0105449,3.4193251,11.4930194,10.6723726,39.8037076,7.9678784,0.7483566,0.7764252,12.8810793,9.019777,45.980448,14.193111,28.0270062,60.2867989,33.3041109,39.4909847,17.4512388,3.2736307,12.0769959,10.9840567,38.562849,10.0894678,0.7664179,0.7824237,12.9054024,8.7847944,45.2374603,14.8570123,28.2231149,60.9376759,33.590328,39.370148,18.0440276,3.5741619,12.0988073,11.4211371,37.7032832,9.3985174 +1425,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7472583,0.772514,11.0146571,7.0573593,56.413487,10.1627986,33.6773704,67.1783039,41.6461357,44.9726923,24.6924699,4.3908849,10.0873426,9.7196537,40.7510149,5.9558806,0.7568552,0.7786256,10.7166659,6.7710599,56.012365,10.2543385,33.3535523,66.8120526,41.7016052,44.6388822,24.5306922,4.3562689,10.513556,10.2399155,41.7162103,5.0884941,0.7905009,0.8045355,10.8172683,6.8476281,54.9594957,10.3044113,32.941488,66.7805263,41.5575771,44.232734,24.1748619,4.5107552,10.521003,10.2727183,41.1109162,5.0940439,0.7885661,0.8016182,10.7838109,6.7778634,53.8169546,10.4017594,32.8018785,66.4347746,41.9118042,44.7556061,24.1351563,4.7212053,10.5396134,10.2455789,40.2751278,4.684839,0.876676,0.8893565,10.6317551,6.6113972,52.4030215,10.5253462,32.7299281,66.8577472,42.3279621,45.149432,24.3687084,4.9021333,10.5015116,10.2312916,40.0797934,4.7491048 +1426,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6616913,0.6017116,9.2252244,6.7319205,32.3992347,14.238253,30.8596972,68.1352539,41.455661,48.0356001,21.6771721,6.8754842,9.9736962,8.3561332,32.6603005,3.5433071,0.6617835,0.6045424,9.0383162,6.6654886,33.121152,13.7606312,30.8716858,68.5650455,41.83125,47.3786053,22.0759609,6.7376162,10.0090056,8.6387405,33.0911347,2.4475524,0.6869866,0.6316894,9.3310789,6.9619408,32.6918923,13.5921007,30.9095028,68.7999562,40.8709886,47.3333724,21.9888815,6.5654044,10.2725093,9.0348793,33.70637,4.8387097,0.7548534,0.7028819,9.742607,7.1364899,32.0384438,14.3155803,30.5689582,68.9617717,41.234965,48.4508062,22.4128551,6.6081642,10.1861182,9.4889911,33.7877168,3.8235294,0.8420016,0.8124073,10.4300812,7.6958705,31.216567,14.1755458,31.1837573,69.198076,41.1526455,48.5728886,21.8998181,6.7545037,10.3021065,9.2524769,34.5317873,5.1912568 +1427,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.613544,0.5942573,8.0205704,5.3848644,33.6138613,10.9949772,29.4710624,69.7424953,36.6716215,49.6785626,20.6627982,3.0283944,10.4323632,9.8486883,30.6894859,3.685901,0.5532475,0.5341939,7.8530613,5.3070501,32.5407138,11.4495031,29.0273175,70.3003943,37.3034674,50.3538169,20.7691746,3.1741703,10.6976837,10.2348918,31.0299813,2.707009,0.496563,0.4938375,7.9396092,5.5085883,31.7942571,11.4989994,29.0315237,70.2943609,37.1918547,50.4615283,20.9596134,3.4326537,10.9816541,10.4404748,32.3633934,1.7241401,0.5120558,0.5147151,8.2015015,5.5938458,31.3233153,11.5557343,28.8021225,70.6454863,37.3123584,50.6735134,21.223775,3.6509309,11.0820472,9.9303729,31.2454362,2.689876,0.5416609,0.5312915,8.1324933,5.571923,30.4066448,11.7810247,28.8584694,70.7884703,37.2141706,50.5129178,20.9564548,3.6062178,10.9432138,9.7150496,31.6047137,2.419358 +1428,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5407042,0.5191989,7.6101008,4.8701772,47.1303611,12.3434831,30.0720999,66.9574736,33.604907,42.516231,17.7144966,15.4217716,9.4790114,8.4419331,35.9479984,2.7301092,0.5506981,0.5357406,7.7039284,4.9561225,46.6992773,12.7191102,29.684561,67.6964375,33.8373636,42.4613004,17.8338916,15.1425257,9.9071622,8.8098689,35.7812996,3.0232558,0.5500197,0.548696,7.5633294,4.8719063,45.906082,13.3100185,29.2663501,67.35538,33.137598,42.5474896,17.9715827,14.7962865,9.5341448,8.786918,34.9064901,2.7429463,0.6018856,0.6135906,7.4145034,4.6757486,45.5584243,13.3907302,28.4546515,67.6499898,32.7623004,42.6570946,18.1191367,14.6929163,9.8163837,9.0048092,34.876107,3.0185759,0.5724062,0.5975951,7.3825001,4.8373076,44.7318219,13.6928556,27.8632644,67.9561675,32.8276964,43.0759189,18.1521299,14.4215384,9.948169,8.9429703,35.1825034,3.1013616 +1429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.135837,1.135837,15.1450592,11.0870529,61.4767256,31.214455,32.049454,66.4970428,33.6483801,42.5144587,18.3867423,4.578535,15.2173787,12.0290901,33.5757289,6.1983983,1.2226479,1.2226479,14.6540647,10.9721389,60.9883015,30.1737431,31.0371086,66.8888668,33.1112813,42.7406547,18.2964391,4.3704222,14.0949326,11.7211726,32.8871984,6.3559861,1.200001,1.200001,15.4587628,11.316702,60.0449931,30.2651801,31.9549709,66.5414772,31.5039128,41.8796016,19.624221,5.0376546,14.3939624,13.1421528,32.2731185,6.6372562,1.1549927,1.1549927,15.3556962,11.573505,59.4946489,28.4535163,31.01087,67.3048828,31.0107934,40.9647438,19.2192247,5.4365138,15.2038433,14.2189722,35.0632872,4.700915,0.9112375,0.9112375,15.7123054,11.9970805,58.2818297,27.735549,31.5994037,69.6430069,32.220609,41.2265718,18.5561888,5.8229941,15.6348106,13.7348222,35.5593582,3.8793772 +1430,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.3976325,0.3931709,8.683338,5.6268179,43.3520906,19.3557628,28.9406693,68.7213009,35.4056436,45.4132427,20.1907589,4.6284265,10.7148351,8.0944932,32.2602094,2.8645453,0.4459849,0.4526931,8.6609306,5.5077555,42.4523209,19.7424899,28.6726574,68.5884983,35.5524688,45.8577018,20.6213242,4.5130514,10.5448773,8.4165642,32.2882369,2.4307652,0.5439674,0.5483998,8.6698424,5.5007467,41.5430379,19.6654822,29.4700469,68.1982341,35.354688,46.4973336,20.4709994,4.397625,10.675249,8.5707127,32.1071406,2.4969775,0.6732287,0.677574,8.4501038,5.4691131,40.8863646,20.1196924,29.3752212,68.3807076,36.1134312,46.5085447,21.0386316,4.668115,10.8899548,8.3333035,32.4548452,3.4841032,0.6920586,0.7078695,8.2839488,5.2480222,39.9789878,20.2310405,29.3466095,68.928339,36.1879079,47.2552911,21.099465,4.4230262,10.7412264,8.8083836,32.2928796,3.8501317 +1431,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9915361,1.0557495,13.6942001,9.5754261,36.4628762,19.9702295,32.9180886,67.9558498,38.4666356,47.3789471,24.3551052,3.2109282,10.793354,8.9544848,34.9227024,8.4375625,1.1037568,1.1673415,14.1866107,10.1093715,36.6516225,20.4073734,33.1526537,67.8017916,37.7496583,46.24926,23.7420663,3.1438932,11.1902566,9.1175439,35.5397985,8.1325904,0.976024,1.0003925,14.7592138,10.6630483,36.474246,20.2701376,33.8012375,67.7108133,37.4733954,46.2421186,23.5635941,2.9589543,11.5864893,9.5494622,36.1088157,9.8214881,0.9993617,1.0231016,15.5293426,11.4350882,36.7311649,20.5641779,33.5783727,67.0518845,36.6868328,45.5904135,23.7925462,3.1709239,10.8592925,8.9782843,35.9373236,12.7219602,1.2197162,1.2429533,15.6453026,11.9926711,35.5322768,19.8903082,33.6686188,66.9472402,37.1979341,46.2251601,25.3386447,3.139084,10.8999699,9.0731372,35.4573669,13.0554878 +1432,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7133059,0.7013231,8.5580109,5.751599,60.1974734,8.5964341,25.160166,66.5081759,32.4890336,40.4190285,16.6584333,6.1962935,10.3896045,8.76596,36.1537707,4.4549314,0.7059694,0.6974207,8.5038594,5.7478603,59.3602024,8.6355299,24.8804334,66.859288,32.4809288,40.4524268,16.8501605,6.3079691,10.2233043,8.7374059,36.4049523,4.5764739,0.6773613,0.6761588,8.659603,5.8260747,58.9033679,8.5871398,25.0981738,66.952597,32.5739693,40.7535156,16.8894297,6.3814259,10.5110909,8.9362965,36.579179,5.0604985,0.7400256,0.7346208,8.8178921,5.9839446,58.476694,8.7665268,25.229896,66.635849,32.5240629,40.8057523,17.1857457,6.6357723,10.5295757,8.9068148,36.7090939,5.0658453,0.7535287,0.7615418,9.0940193,6.1440028,58.1161189,8.716962,24.9309354,66.554005,32.3584993,40.4006357,17.1701639,6.7386789,10.5471775,8.8763138,36.7518499,5.5912547 +1433,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6338359,1.6887105,25.3178055,20.7323362,42.3453019,17.2437779,37.8144044,66.6841428,34.7273887,47.0929583,22.0799097,3.4545992,12.9324078,10.7630544,29.6809286,18.897009,1.6410242,1.6946629,25.6886395,21.2800226,43.3918106,17.7649785,37.2050081,66.8232786,34.8043164,46.7159853,22.4074433,3.7335418,13.1034326,10.77837,29.6542466,18.7974046,1.7134795,1.7349423,25.2886115,20.7951718,42.6933358,18.0830151,37.4438028,66.1627483,34.9805434,46.5434584,21.9549724,3.9419542,13.2472951,10.3929173,30.0584831,18.1807364,1.7039192,1.7251355,26.4438064,21.7945221,43.6978241,18.1302877,37.3216234,65.7929067,34.4463462,46.3680046,21.7324983,4.0261542,13.5915382,10.2480239,30.009367,18.8162527,1.5738856,1.6114681,26.4225759,21.8744594,43.6570317,18.0202956,37.597057,65.7509988,33.8676141,45.7856497,21.6367754,4.2322987,13.1534739,10.0078928,30.2018066,17.0326434 +1434,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9017128,0.8191912,10.0778772,6.7133864,29.2686431,21.7303605,35.6170664,70.4589123,42.0411205,53.053839,23.6867796,3.5601215,12.4197947,10.3658623,31.8123101,4.3604677,0.8487084,0.7511635,10.4218694,7.1718647,28.291771,22.0315642,35.3099938,71.0811348,42.2734204,53.1796994,23.7043581,3.4817117,12.5081915,10.6139935,32.1593231,4.3103473,0.8027625,0.6988758,10.5485794,7.319738,28.0721242,21.8444222,35.0638747,69.952133,42.316262,52.7316632,24.4249786,3.5303424,11.793713,9.697571,32.7917844,3.0386757,0.7990583,0.7505106,10.9182916,7.4477746,27.6748131,21.7993218,34.9795867,69.4105321,41.658799,52.6654554,24.0985275,3.4650277,11.6688187,9.7631219,33.9470193,4.1436487,0.8604921,0.8135841,11.2615195,7.6316495,27.5899,21.6612138,35.1643054,68.7310387,41.7376432,52.6932842,24.4522764,3.5757707,11.8316048,10.1783547,33.5709752,5.4597701 +1435,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6410242,1.6946629,25.6886395,21.2800226,43.3918106,17.7649785,37.2050081,66.8232786,34.8043164,46.7159853,22.4074433,3.7335418,13.1034326,10.77837,29.6542466,18.7974046,1.7134795,1.7349423,25.2886115,20.7951718,42.6933358,18.0830151,37.4438028,66.1627483,34.9805434,46.5434584,21.9549724,3.9419542,13.2472951,10.3929173,30.0584831,18.1807364,1.7039192,1.7251355,26.4438064,21.7945221,43.6978241,18.1302877,37.3216234,65.7929067,34.4463462,46.3680046,21.7324983,4.0261542,13.5915382,10.2480239,30.009367,18.8162527,1.5738856,1.6114681,26.4225759,21.8744594,43.6570317,18.0202956,37.597057,65.7509988,33.8676141,45.7856497,21.6367754,4.2322987,13.1534739,10.0078928,30.2018066,17.0326434,1.6762784,1.7200103,27.1104563,22.4812364,43.2902149,18.6311806,37.8877536,66.0754365,35.30195,46.8127988,22.5509839,3.9810653,12.8483188,10.1120318,30.3508156,15.2481676 +1436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7568552,0.7786256,10.7166659,6.7710599,56.012365,10.2543385,33.3535523,66.8120526,41.7016052,44.6388822,24.5306922,4.3562689,10.513556,10.2399155,41.7162103,5.0884941,0.7905009,0.8045355,10.8172683,6.8476281,54.9594957,10.3044113,32.941488,66.7805263,41.5575771,44.232734,24.1748619,4.5107552,10.521003,10.2727183,41.1109162,5.0940439,0.7885661,0.8016182,10.7838109,6.7778634,53.8169546,10.4017594,32.8018785,66.4347746,41.9118042,44.7556061,24.1351563,4.7212053,10.5396134,10.2455789,40.2751278,4.684839,0.876676,0.8893565,10.6317551,6.6113972,52.4030215,10.5253462,32.7299281,66.8577472,42.3279621,45.149432,24.3687084,4.9021333,10.5015116,10.2312916,40.0797934,4.7491048,0.8034702,0.8177218,9.9687296,6.0274459,50.9600413,10.653137,32.2729979,66.7316439,42.589073,45.4942546,24.4989618,4.7949083,10.4323111,10.0616023,39.3293983,4.7851553 +1437,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9153761,0.8930445,10.2436733,7.0162011,20.2392948,17.0375163,33.7487648,66.9945289,37.3254857,48.4316232,20.9047111,4.815374,9.067103,8.5704926,25.4434894,6.6427572,0.8857134,0.8638921,10.1743004,7.0953922,20.1830486,16.9587391,34.1921277,66.8170132,36.5667921,48.7370876,20.3276196,5.3111461,9.8556939,8.738251,26.1001838,4.9015302,0.8859893,0.8481548,10.5056791,7.4251351,19.884585,16.3706028,34.2665441,66.4717543,36.4492042,48.8858951,20.735398,5.2318788,10.3419184,8.5539687,26.3469943,4.850259,0.7922634,0.7868443,10.940644,7.7854203,20.3829454,16.6401379,34.1873525,65.9398678,36.7280982,48.7884254,20.8702444,5.1519247,9.9861934,8.3386279,26.0467662,5.8587705,0.703244,0.6981369,10.5154916,7.3097521,20.7262117,16.9217484,34.6627409,65.784572,36.7522262,48.8770496,21.3270348,5.0388245,10.4172854,8.6677581,26.4411347,4.0436992 +1438,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5149688,1.6025716,20.0161466,15.4629117,84.8099375,12.8646284,30.584701,63.0502916,33.1933856,38.5276856,17.1914829,4.783928,14.5216219,10.1232515,38.262649,14.8046259,1.4700042,1.5139901,20.7197723,16.2007861,85.4472028,12.91888,30.7076292,63.900472,32.7498351,38.0972617,16.8274869,4.4466416,14.9841934,9.5145727,36.9150286,13.2636942,1.3836498,1.4280807,20.7788351,16.1387858,84.7462806,12.8823728,31.0787085,63.0197021,32.551753,36.5331164,16.0272779,4.5415504,15.5022806,10.8216221,37.657743,12.9348539,1.2491024,1.3071718,19.8695618,15.5348635,84.3779253,12.6062112,31.6188596,63.5141906,33.3339237,37.1553603,16.5641582,4.7956621,15.0520507,10.9438461,38.0821238,13.3578074,1.3889316,1.4472188,20.5315375,16.001452,83.9304162,12.4355733,32.6542267,63.0583957,33.6645476,37.49327,17.0524229,4.3889599,14.7116368,11.6069958,40.0225256,12.3862281 +1439,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4335355,0.4749757,7.2998686,4.2486862,50.7039934,19.5610322,27.7015934,66.1606179,33.8067212,40.7280362,18.9193636,7.3294182,9.4541947,7.2780707,35.8496742,1.4195588,0.3755286,0.3869107,7.3736403,4.4625706,50.4457165,19.0942985,27.841086,66.2709664,34.2355168,41.6429173,18.5976608,7.5498602,9.7353534,7.3055056,35.7504759,1.3513518,0.2614327,0.2916267,7.2644208,4.5225353,49.7958558,19.261412,27.4047454,66.6302248,34.7439105,41.3959923,18.6602145,7.9169291,9.3827965,7.8437529,35.6606145,2.5297619,0.2718397,0.2893136,7.5396825,4.7142845,49.1945701,19.5411129,27.4198595,66.8604589,35.0879956,41.4361941,18.6517921,7.8409835,8.7957175,7.548962,35.4522529,3.4743223,0.2856107,0.2988983,7.0106638,4.3757823,48.0269318,19.7025476,26.8677725,66.7239763,34.4013757,42.3726096,18.8340097,7.3616776,8.8564308,7.5653774,35.5451704,4.5741354 +1440,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8468425,1.8392468,33.3451445,29.2032996,43.0384379,17.8167294,35.5941335,66.2518842,34.5517919,44.9112023,18.7934319,2.4219605,16.524878,11.1736309,34.3002988,15.2849625,2.0054457,1.9979465,34.5050064,29.9525331,42.822093,17.3599722,35.522007,66.5643865,34.226499,45.3240274,19.6138988,2.5773079,16.6595045,12.0228322,33.4770127,16.0591231,2.3256776,2.3294655,35.8961072,30.807471,43.4907106,17.7621526,34.97246,66.8287805,34.0310254,45.67295,19.8176038,3.0329671,15.7145241,12.0181287,33.7267517,17.3698415,2.3998358,2.4597847,36.6170908,30.8753705,44.7387532,18.6858714,35.2540193,66.282398,33.356889,45.1533481,19.9287719,3.5387738,14.9814709,11.7072883,33.6795965,17.5744701,2.569231,2.6568766,37.1951118,31.5917032,45.3758928,18.8526803,35.4725642,66.0023582,32.9107504,45.3705314,19.9153355,3.475947,16.1102514,12.8129378,33.3482064,17.4924911 +1441,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8921669,1.0049974,12.9242685,9.0600365,41.7634306,14.5546018,31.6684834,68.1695619,36.3120773,46.4092712,24.2710646,3.8066981,13.8520717,13.3002281,38.1242942,5.8282244,0.9653248,1.0618499,13.1331466,9.060037,41.1259198,15.1329687,32.3131231,68.8244888,37.0801527,47.5893644,24.0790974,3.873237,14.0744546,13.1838147,39.0418387,7.187509,0.9643844,1.0037441,12.8019035,8.7581002,41.5505915,14.5806905,31.8104153,69.5255502,37.5392687,46.2819243,23.8438115,3.8457742,13.1496782,12.178454,38.7407307,6.7742067,0.8897903,0.9055715,12.941896,9.0552663,42.1525596,14.7541777,32.4426922,70.4453508,38.1990412,46.8770334,24.0114829,3.7576219,12.6832576,11.7032093,40.342973,6.5625041,0.9116685,0.934697,14.1691844,9.8298558,42.9488766,14.9600088,33.1425973,70.8768117,38.1806708,46.8078855,24.4449677,3.7785577,13.3274833,12.3972894,40.6487573,7.1839122 +1442,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.2226479,1.2226479,14.6540647,10.9721389,60.9883015,30.1737431,31.0371086,66.8888668,33.1112813,42.7406547,18.2964391,4.3704222,14.0949326,11.7211726,32.8871984,6.3559861,1.200001,1.200001,15.4587628,11.316702,60.0449931,30.2651801,31.9549709,66.5414772,31.5039128,41.8796016,19.624221,5.0376546,14.3939624,13.1421528,32.2731185,6.6372562,1.1549927,1.1549927,15.3556962,11.573505,59.4946489,28.4535163,31.01087,67.3048828,31.0107934,40.9647438,19.2192247,5.4365138,15.2038433,14.2189722,35.0632872,4.700915,0.9112375,0.9112375,15.7123054,11.9970805,58.2818297,27.735549,31.5994037,69.6430069,32.220609,41.2265718,18.5561888,5.8229941,15.6348106,13.7348222,35.5593582,3.8793772,0.7792006,0.7792006,14.5901355,11.2777804,56.995387,28.3825786,33.3068888,68.9189017,31.875944,41.2560613,17.7268319,5.3259193,15.4725899,12.8249043,35.7846301,3.9474377 +1443,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9653248,1.0618499,13.1331466,9.060037,41.1259198,15.1329687,32.3131231,68.8244888,37.0801527,47.5893644,24.0790974,3.873237,14.0744546,13.1838147,39.0418387,7.187509,0.9643844,1.0037441,12.8019035,8.7581002,41.5505915,14.5806905,31.8104153,69.5255502,37.5392687,46.2819243,23.8438115,3.8457742,13.1496782,12.178454,38.7407307,6.7742067,0.8897903,0.9055715,12.941896,9.0552663,42.1525596,14.7541777,32.4426922,70.4453508,38.1990412,46.8770334,24.0114829,3.7576219,12.6832576,11.7032093,40.342973,6.5625041,0.9116685,0.934697,14.1691844,9.8298558,42.9488766,14.9600088,33.1425973,70.8768117,38.1806708,46.8078855,24.4449677,3.7785577,13.3274833,12.3972894,40.6487573,7.1839122,1.0466976,1.0543281,13.881692,9.6344137,42.207609,15.1328428,32.584042,71.1947683,39.6134239,47.8558963,24.9849072,4.1004766,13.3406803,12.4125583,40.2954244,6.7251462 +1444,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6479025,0.6535731,8.6425283,4.9924034,46.0184892,19.2013028,32.232739,67.9207856,38.4671854,43.504385,22.4048721,4.0693934,9.8548398,9.0420391,32.9406268,7.2361346,0.7293381,0.728042,8.9615159,5.1480329,45.4562788,19.1780866,31.7171203,68.1627013,38.7719049,43.7557301,22.2606402,4.3380241,9.8894331,8.8431263,32.8489981,7.2607385,0.7369086,0.7356394,8.9171914,5.1549781,45.4670194,19.5399136,31.2225243,69.0714222,38.8624962,43.6526742,22.553641,4.4519935,9.5509154,8.5703278,33.5270585,7.1138415,0.6613373,0.6705187,9.0971292,5.3240632,44.2785576,19.7200307,31.291303,70.1723287,39.6698006,43.7732608,22.9411931,4.4046314,9.3765465,8.3086618,33.3033764,7.2314792,0.6705265,0.6770817,8.9602963,5.3649681,43.9278188,19.6302418,31.3823963,70.936052,39.1956095,44.4047102,22.9393537,4.4505206,9.2525143,7.5508231,33.0096579,6.9621556 +1445,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.6454509,0.6744671,11.4541268,8.0821201,46.2529801,14.8948244,28.2282917,61.2006048,33.6278193,40.2128571,17.9804989,3.6383672,11.9887267,11.2426073,39.3978425,5.9527999,0.6689751,0.6981736,12.2307353,8.4564646,45.5184564,14.8610078,28.219893,61.1712278,33.1042236,39.9321776,18.0105449,3.4193251,11.4930194,10.6723726,39.8037076,7.9678784,0.7483566,0.7764252,12.8810793,9.019777,45.980448,14.193111,28.0270062,60.2867989,33.3041109,39.4909847,17.4512388,3.2736307,12.0769959,10.9840567,38.562849,10.0894678,0.7664179,0.7824237,12.9054024,8.7847944,45.2374603,14.8570123,28.2231149,60.9376759,33.590328,39.370148,18.0440276,3.5741619,12.0988073,11.4211371,37.7032832,9.3985174,0.7543604,0.7159307,12.9241499,8.449236,45.3246814,14.00051,28.1412011,60.7415101,33.2684639,38.29221,17.9838319,3.277527,12.5872512,11.3192813,37.6935648,7.5396825 +1446,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7059694,0.6974207,8.5038594,5.7478603,59.3602024,8.6355299,24.8804334,66.859288,32.4809288,40.4524268,16.8501605,6.3079691,10.2233043,8.7374059,36.4049523,4.5764739,0.6773613,0.6761588,8.659603,5.8260747,58.9033679,8.5871398,25.0981738,66.952597,32.5739693,40.7535156,16.8894297,6.3814259,10.5110909,8.9362965,36.579179,5.0604985,0.7400256,0.7346208,8.8178921,5.9839446,58.476694,8.7665268,25.229896,66.635849,32.5240629,40.8057523,17.1857457,6.6357723,10.5295757,8.9068148,36.7090939,5.0658453,0.7535287,0.7615418,9.0940193,6.1440028,58.1161189,8.716962,24.9309354,66.554005,32.3584993,40.4006357,17.1701639,6.7386789,10.5471775,8.8763138,36.7518499,5.5912547,0.774521,0.7851342,9.123328,6.0953594,57.6698733,8.739451,25.2624061,66.7333968,32.7575446,40.388641,17.3611621,6.7460703,10.3586399,8.6202591,36.543645,6.0128666 +1447,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.200001,1.200001,15.4587628,11.316702,60.0449931,30.2651801,31.9549709,66.5414772,31.5039128,41.8796016,19.624221,5.0376546,14.3939624,13.1421528,32.2731185,6.6372562,1.1549927,1.1549927,15.3556962,11.573505,59.4946489,28.4535163,31.01087,67.3048828,31.0107934,40.9647438,19.2192247,5.4365138,15.2038433,14.2189722,35.0632872,4.700915,0.9112375,0.9112375,15.7123054,11.9970805,58.2818297,27.735549,31.5994037,69.6430069,32.220609,41.2265718,18.5561888,5.8229941,15.6348106,13.7348222,35.5593582,3.8793772,0.7792006,0.7792006,14.5901355,11.2777804,56.995387,28.3825786,33.3068888,68.9189017,31.875944,41.2560613,17.7268319,5.3259193,15.4725899,12.8249043,35.7846301,3.9474377,0.5053302,0.5053302,13.4586099,10.3590512,57.0599179,28.0290473,33.305948,68.3388145,31.0031982,41.0362497,16.3653873,4.8519673,15.7097248,11.2796512,36.6556868,3.0974 +1448,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.031656,1.0846846,13.9302369,9.9433848,33.6336956,16.571846,34.889851,69.2767993,39.8706781,50.4070788,23.8266395,3.8553618,11.9902846,10.5797021,29.5298457,8.7499167,1.1250484,1.1541432,14.6958837,10.5605778,32.9767816,16.0595425,35.2980808,68.6911617,39.3769558,49.3724847,23.0166013,3.877185,11.919641,10.7015951,30.4328094,9.2741204,1.088729,1.1164745,15.4746446,11.2831525,33.5879487,16.0805172,35.7879038,67.9476037,38.9652229,49.3988896,23.3362191,3.6711065,11.437079,10.2118757,31.7480645,12.8675925,1.2579992,1.2969041,15.8286198,11.7256483,33.2426438,16.3687074,35.1005677,68.4359118,38.799644,49.1651835,23.7625126,3.8819977,11.1678557,9.62701,32.1980513,15.9258754,1.397761,1.416788,16.4962176,12.395891,33.4183547,16.356658,34.8374091,68.0455035,38.9930847,48.2656184,23.0665866,3.789909,11.2589051,10.1592521,33.5491806,16.442908 +1449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4944008,2.5244138,38.6370397,33.4820671,64.5939701,14.3324033,37.4428869,62.0975982,27.215212,40.1079271,18.4072844,2.297168,16.7492929,11.392013,43.7235768,25.8898616,2.4484381,2.4647638,40.3957169,34.8502382,65.7000896,14.2292083,37.9389479,62.4534691,26.5088901,39.1789327,17.4860376,2.116531,17.1280004,11.6491955,43.0958552,25.914704,2.6716233,2.6875695,40.5638666,35.0636747,67.0135039,13.8104813,36.4720137,62.1831319,25.4787108,38.7316072,17.0666093,2.2180396,17.5054041,12.3919758,44.1578624,25.7562385,2.8085318,2.8213582,40.6916542,35.1132948,68.4535084,14.0365027,35.7145219,62.7121316,25.0635497,38.1213655,17.1530701,2.1026669,18.3416845,13.3286274,44.6526709,27.8909298,2.7666024,2.7337905,40.6887506,35.0782229,68.2457086,13.8801639,35.3517972,63.0007955,25.0969823,38.4028341,16.9384744,2.2530293,18.1575979,12.8190973,43.7871927,28.3772933 +1450,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7134795,1.7349423,25.2886115,20.7951718,42.6933358,18.0830151,37.4438028,66.1627483,34.9805434,46.5434584,21.9549724,3.9419542,13.2472951,10.3929173,30.0584831,18.1807364,1.7039192,1.7251355,26.4438064,21.7945221,43.6978241,18.1302877,37.3216234,65.7929067,34.4463462,46.3680046,21.7324983,4.0261542,13.5915382,10.2480239,30.009367,18.8162527,1.5738856,1.6114681,26.4225759,21.8744594,43.6570317,18.0202956,37.597057,65.7509988,33.8676141,45.7856497,21.6367754,4.2322987,13.1534739,10.0078928,30.2018066,17.0326434,1.6762784,1.7200103,27.1104563,22.4812364,43.2902149,18.6311806,37.8877536,66.0754365,35.30195,46.8127988,22.5509839,3.9810653,12.8483188,10.1120318,30.3508156,15.2481676,1.685832,1.71927,27.5733217,23.0128164,43.0510702,18.8868497,37.8193561,65.0362441,35.5561343,47.1815103,22.3632931,3.8818155,12.3852811,10.2561995,31.2683257,16.0279792 +1451,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.568586,0.5627075,9.7396007,6.9173703,46.9204243,10.9692461,28.2320169,70.5978932,43.2291655,46.1401274,21.8964057,5.1013131,10.0575508,8.4626463,34.9231593,5.9921415,0.5942254,0.5754746,9.3961199,6.6642707,46.1972073,10.7192757,27.8020862,70.3627924,43.6829451,46.3509322,22.0567485,5.0465841,9.7550527,8.3285849,34.9468457,5.5772994,0.6615077,0.6340318,9.697774,6.8140902,46.2835517,10.4197518,27.8133503,69.9114452,43.1948212,45.5926442,21.6689385,5.0204362,9.5937387,7.972006,34.6409676,5.3773585,0.6204699,0.6180741,9.7941643,6.9654774,46.2791922,10.7427918,28.1323393,69.413993,42.9718052,44.8903684,21.5022188,4.9399638,9.4272984,8.0653567,34.4904901,6.0688417,0.6304007,0.6273694,9.533691,6.8690352,46.1263176,10.6998661,28.2430902,69.8612313,43.0367944,44.3749235,21.7259322,4.8507003,9.4253134,8.0341644,34.7058773,6.3368056 +1452,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5532475,0.5341939,7.8530613,5.3070501,32.5407138,11.4495031,29.0273175,70.3003943,37.3034674,50.3538169,20.7691746,3.1741703,10.6976837,10.2348918,31.0299813,2.707009,0.496563,0.4938375,7.9396092,5.5085883,31.7942571,11.4989994,29.0315237,70.2943609,37.1918547,50.4615283,20.9596134,3.4326537,10.9816541,10.4404748,32.3633934,1.7241401,0.5120558,0.5147151,8.2015015,5.5938458,31.3233153,11.5557343,28.8021225,70.6454863,37.3123584,50.6735134,21.223775,3.6509309,11.0820472,9.9303729,31.2454362,2.689876,0.5416609,0.5312915,8.1324933,5.571923,30.4066448,11.7810247,28.8584694,70.7884703,37.2141706,50.5129178,20.9564548,3.6062178,10.9432138,9.7150496,31.6047137,2.419358,0.5675011,0.542084,8.3469291,5.626148,29.840532,11.7595855,28.6383391,69.9636049,37.4032704,50.460726,20.7940523,3.6753363,10.9080155,9.8518129,32.1209883,2.3364501 +1453,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.6689751,0.6981736,12.2307353,8.4564646,45.5184564,14.8610078,28.219893,61.1712278,33.1042236,39.9321776,18.0105449,3.4193251,11.4930194,10.6723726,39.8037076,7.9678784,0.7483566,0.7764252,12.8810793,9.019777,45.980448,14.193111,28.0270062,60.2867989,33.3041109,39.4909847,17.4512388,3.2736307,12.0769959,10.9840567,38.562849,10.0894678,0.7664179,0.7824237,12.9054024,8.7847944,45.2374603,14.8570123,28.2231149,60.9376759,33.590328,39.370148,18.0440276,3.5741619,12.0988073,11.4211371,37.7032832,9.3985174,0.7543604,0.7159307,12.9241499,8.449236,45.3246814,14.00051,28.1412011,60.7415101,33.2684639,38.29221,17.9838319,3.277527,12.5872512,11.3192813,37.6935648,7.5396825,0.8401261,0.800588,12.8452886,8.734758,46.3656804,13.5006605,29.2283301,60.9344339,33.3712861,38.0681467,18.1325794,3.7493471,12.4871515,10.773927,36.7963713,9.6638655 +1454,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4143672,1.460264,25.7675174,21.982037,52.663428,16.6484575,40.1970208,64.5238571,33.5586313,46.7180799,20.0900302,2.3610088,14.9276499,11.5379342,35.3934393,12.8164395,1.4329515,1.5226628,26.4436963,22.4557111,53.2545787,16.4597214,40.0132344,65.3456216,33.1629564,46.9761519,20.3032059,2.2781678,15.0619064,11.1062858,35.5164415,11.3781978,1.6686618,1.759529,25.8324036,21.7067877,53.6349499,16.055451,40.4162979,65.2879578,33.7042115,47.5941196,20.3154287,2.4652382,15.1668429,11.9252508,35.3991844,13.4740172,1.7265214,1.8174871,26.3271393,22.5305535,53.0784726,16.2163918,40.9520426,65.4456734,33.5897525,47.541482,20.6014963,2.5023489,14.5071437,11.2648149,36.1642412,12.5798434,1.647428,1.7379164,26.9355442,23.1172946,53.2915322,15.4121845,40.5288678,65.6452371,33.5389109,46.7031251,20.4104197,2.2093386,14.3471282,11.3053489,36.5671138,11.343908 +1455,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6228991,0.6935981,9.7305251,6.4998172,46.0406779,13.1761182,27.4211101,69.390871,41.0031317,45.0384274,20.6366437,4.9691943,11.0179983,9.7957333,34.6047304,9.1848923,0.6304148,0.7058636,9.7974213,6.5031283,46.416496,13.3955949,27.9011433,69.910328,40.8415618,44.4826124,19.9676893,4.9463787,11.5196005,9.7198094,34.3105127,9.2679412,0.6637554,0.7307528,9.2968999,5.941799,44.808024,13.3687633,27.1899545,70.4247151,41.1115732,44.906337,19.8006113,4.8979521,11.7219923,9.614991,34.1153121,9.0630728,0.6328377,0.7266594,8.9962091,5.565709,44.0562223,13.513692,26.7022549,70.4028518,40.7583225,44.9515668,20.3301419,4.7968297,11.2916595,9.155066,33.0827149,9.0231812,0.6383813,0.73732,8.663129,5.5837286,43.4709331,13.8745532,26.8643806,70.5313542,40.8358841,44.6642278,20.7589894,4.8764659,11.8279897,9.3446837,32.9878542,10.4355116 +1456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7483566,0.7764252,12.8810793,9.019777,45.980448,14.193111,28.0270062,60.2867989,33.3041109,39.4909847,17.4512388,3.2736307,12.0769959,10.9840567,38.562849,10.0894678,0.7664179,0.7824237,12.9054024,8.7847944,45.2374603,14.8570123,28.2231149,60.9376759,33.590328,39.370148,18.0440276,3.5741619,12.0988073,11.4211371,37.7032832,9.3985174,0.7543604,0.7159307,12.9241499,8.449236,45.3246814,14.00051,28.1412011,60.7415101,33.2684639,38.29221,17.9838319,3.277527,12.5872512,11.3192813,37.6935648,7.5396825,0.8401261,0.800588,12.8452886,8.734758,46.3656804,13.5006605,29.2283301,60.9344339,33.3712861,38.0681467,18.1325794,3.7493471,12.4871515,10.773927,36.7963713,9.6638655,0.9425519,0.8740026,13.6421752,9.4304521,47.0845225,14.0455821,30.6581056,61.41688,33.3509304,37.9482849,18.098917,3.7064608,13.2909662,11.1043701,37.3759677,11.5740848 +1457,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.9124151,2.0453421,27.3415061,21.4511872,45.9015706,11.4806983,38.9656825,65.2435659,32.841555,48.8677049,23.0152474,5.4930152,16.4252864,13.1878386,35.6149721,15.2777778,1.8339741,2.026732,27.5603884,21.8001503,44.9983013,12.1005502,38.6941398,66.0707711,33.0212554,49.0971699,23.660996,5.5074253,15.9029576,13.0422839,34.8730366,13.5983264,2.0458788,2.2007635,28.3955024,22.1907215,46.1699384,12.4988335,38.5474768,65.6773945,32.0548222,48.2652012,22.5802406,5.0257956,16.0400175,13.0965,35.4057622,15.0826446,2.0927605,2.218415,29.2423211,23.0286969,46.9479516,12.9765785,37.4833339,65.9803748,32.1320485,47.3692503,22.3936733,5.0379218,16.6467356,13.5895253,35.6327936,13.8429752,2.2597176,2.339899,29.360361,22.716365,47.8722302,13.2065551,36.6974235,65.4552833,32.0410417,47.5004435,22.5847343,4.8721584,16.9299849,12.6033265,35.0864254,14.3152101 +1458,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4459849,0.4526931,8.6609306,5.5077555,42.4523209,19.7424899,28.6726574,68.5884983,35.5524688,45.8577018,20.6213242,4.5130514,10.5448773,8.4165642,32.2882369,2.4307652,0.5439674,0.5483998,8.6698424,5.5007467,41.5430379,19.6654822,29.4700469,68.1982341,35.354688,46.4973336,20.4709994,4.397625,10.675249,8.5707127,32.1071406,2.4969775,0.6732287,0.677574,8.4501038,5.4691131,40.8863646,20.1196924,29.3752212,68.3807076,36.1134312,46.5085447,21.0386316,4.668115,10.8899548,8.3333035,32.4548452,3.4841032,0.6920586,0.7078695,8.2839488,5.2480222,39.9789878,20.2310405,29.3466095,68.928339,36.1879079,47.2552911,21.099465,4.4230262,10.7412264,8.8083836,32.2928796,3.8501317,0.7359626,0.7628836,8.4095477,5.249521,39.1777291,19.9703916,29.5310489,68.3502774,36.3668744,46.7461615,21.0576753,4.4806832,10.499064,9.0959581,32.3245607,5.5573926 +1459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3997496,0.4260654,7.3699388,4.2320383,64.6189046,19.3948022,31.1115586,63.5972074,30.4552989,41.0377341,16.0582509,4.8605446,10.172678,8.6972937,34.1767552,3.1553413,0.368179,0.3957925,7.3038536,4.2262661,64.3700772,20.0555319,30.8639193,63.6501076,31.5550774,41.7926516,16.8250599,5.1619902,10.5325964,8.5657411,33.5862781,3.2663333,0.3893758,0.451954,7.764539,4.6495626,63.3271569,19.8602317,30.4158974,63.0027419,31.3299838,41.7047467,17.0703879,5.2330922,10.9756144,8.8954506,33.8260278,3.8071085,0.3733448,0.4578756,7.7829043,4.8729768,61.9416981,21.0105126,30.5309676,63.9729844,31.7885415,42.6874608,17.7689828,5.3796017,10.7484807,8.5801424,33.1441164,3.3505172,0.3808047,0.4695359,7.5219028,4.9415752,61.1877729,22.3684126,30.4400916,64.3765271,31.6625958,42.7628257,17.9706632,5.7457238,10.9015669,8.6175139,31.9649535,2.57143 +1460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.1549927,1.1549927,15.3556962,11.573505,59.4946489,28.4535163,31.01087,67.3048828,31.0107934,40.9647438,19.2192247,5.4365138,15.2038433,14.2189722,35.0632872,4.700915,0.9112375,0.9112375,15.7123054,11.9970805,58.2818297,27.735549,31.5994037,69.6430069,32.220609,41.2265718,18.5561888,5.8229941,15.6348106,13.7348222,35.5593582,3.8793772,0.7792006,0.7792006,14.5901355,11.2777804,56.995387,28.3825786,33.3068888,68.9189017,31.875944,41.2560613,17.7268319,5.3259193,15.4725899,12.8249043,35.7846301,3.9474377,0.5053302,0.5053302,13.4586099,10.3590512,57.0599179,28.0290473,33.305948,68.3388145,31.0031982,41.0362497,16.3653873,4.8519673,15.7097248,11.2796512,36.6556868,3.0974,0.359153,0.359153,12.293912,8.9935329,56.5990853,26.3980059,33.2496359,67.9229939,31.909332,42.1274842,16.666904,4.9413601,16.0779942,10.3874885,38.6926647,4.9550442 +1461,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1037568,1.1673415,14.1866107,10.1093715,36.6516225,20.4073734,33.1526537,67.8017916,37.7496583,46.24926,23.7420663,3.1438932,11.1902566,9.1175439,35.5397985,8.1325904,0.976024,1.0003925,14.7592138,10.6630483,36.474246,20.2701376,33.8012375,67.7108133,37.4733954,46.2421186,23.5635941,2.9589543,11.5864893,9.5494622,36.1088157,9.8214881,0.9993617,1.0231016,15.5293426,11.4350882,36.7311649,20.5641779,33.5783727,67.0518845,36.6868328,45.5904135,23.7925462,3.1709239,10.8592925,8.9782843,35.9373236,12.7219602,1.2197162,1.2429533,15.6453026,11.9926711,35.5322768,19.8903082,33.6686188,66.9472402,37.1979341,46.2251601,25.3386447,3.139084,10.8999699,9.0731372,35.4573669,13.0554878,1.2034487,1.2174557,15.8100743,12.1915993,36.6393508,19.2582285,33.4652063,66.9922847,36.3320022,45.8042779,24.2005155,2.9289504,11.2017547,9.2290534,35.4575648,12.4316933 +1462,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8857134,0.8638921,10.1743004,7.0953922,20.1830486,16.9587391,34.1921277,66.8170132,36.5667921,48.7370876,20.3276196,5.3111461,9.8556939,8.738251,26.1001838,4.9015302,0.8859893,0.8481548,10.5056791,7.4251351,19.884585,16.3706028,34.2665441,66.4717543,36.4492042,48.8858951,20.735398,5.2318788,10.3419184,8.5539687,26.3469943,4.850259,0.7922634,0.7868443,10.940644,7.7854203,20.3829454,16.6401379,34.1873525,65.9398678,36.7280982,48.7884254,20.8702444,5.1519247,9.9861934,8.3386279,26.0467662,5.8587705,0.703244,0.6981369,10.5154916,7.3097521,20.7262117,16.9217484,34.6627409,65.784572,36.7522262,48.8770496,21.3270348,5.0388245,10.4172854,8.6677581,26.4411347,4.0436992,0.7484118,0.7376291,10.4062707,7.1607283,20.3750672,16.9442721,34.88467,65.0360197,37.0505742,48.5394116,20.9314088,5.3162558,10.8027655,8.9174595,26.9016928,3.9564324 +1463,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5233679,0.5183599,8.9804258,6.0550698,52.5316434,14.0405731,31.4644832,68.0546386,35.945345,46.0874393,20.7104047,3.0273199,9.3789357,7.842728,30.9624526,6.2500022,0.4807231,0.4559314,9.3437032,6.3392312,52.0682059,14.0209927,31.5783704,68.2479324,35.9639547,46.3417479,21.0920732,3.2891849,9.2393598,7.6875367,31.0208683,5.4999963,0.5294169,0.5377187,9.2727296,6.2352977,50.9706607,14.569044,31.3966094,68.2124179,36.2836522,45.9274774,21.5790791,3.355776,9.7024418,7.8361481,31.2421169,5.4770555,0.5962623,0.5818452,9.5039574,6.2540124,50.6260955,13.9880353,31.2973002,67.8594553,36.2270225,45.7405646,21.2865067,3.621622,9.7361959,8.0496183,31.3978337,5.8333531,0.6115749,0.6036432,9.1116944,5.7805386,49.6431033,14.2004923,31.1441112,67.7997756,36.8866894,46.1496307,21.1771422,3.4873488,10.0593087,8.4360489,31.4854676,5.8719071 +1464,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9643844,1.0037441,12.8019035,8.7581002,41.5505915,14.5806905,31.8104153,69.5255502,37.5392687,46.2819243,23.8438115,3.8457742,13.1496782,12.178454,38.7407307,6.7742067,0.8897903,0.9055715,12.941896,9.0552663,42.1525596,14.7541777,32.4426922,70.4453508,38.1990412,46.8770334,24.0114829,3.7576219,12.6832576,11.7032093,40.342973,6.5625041,0.9116685,0.934697,14.1691844,9.8298558,42.9488766,14.9600088,33.1425973,70.8768117,38.1806708,46.8078855,24.4449677,3.7785577,13.3274833,12.3972894,40.6487573,7.1839122,1.0466976,1.0543281,13.881692,9.6344137,42.207609,15.1328428,32.584042,71.1947683,39.6134239,47.8558963,24.9849072,4.1004766,13.3406803,12.4125583,40.2954244,6.7251462,1.1333189,1.1522995,14.4516941,10.0630657,41.9252431,15.8220302,31.7303598,71.2615308,39.5658088,48.7062579,25.7053793,4.1704867,12.8932106,12.461985,40.6566931,6.3253012 +1465,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6304148,0.7058636,9.7974213,6.5031283,46.416496,13.3955949,27.9011433,69.910328,40.8415618,44.4826124,19.9676893,4.9463787,11.5196005,9.7198094,34.3105127,9.2679412,0.6637554,0.7307528,9.2968999,5.941799,44.808024,13.3687633,27.1899545,70.4247151,41.1115732,44.906337,19.8006113,4.8979521,11.7219923,9.614991,34.1153121,9.0630728,0.6328377,0.7266594,8.9962091,5.565709,44.0562223,13.513692,26.7022549,70.4028518,40.7583225,44.9515668,20.3301419,4.7968297,11.2916595,9.155066,33.0827149,9.0231812,0.6383813,0.73732,8.663129,5.5837286,43.4709331,13.8745532,26.8643806,70.5313542,40.8358841,44.6642278,20.7589894,4.8764659,11.8279897,9.3446837,32.9878542,10.4355116,0.6804435,0.7616785,8.8317264,5.7954656,43.6582669,14.2451276,26.250904,69.8267132,40.5085977,44.0067817,20.5258671,4.943312,11.2184659,9.1497137,32.9134497,10.7838019 +1466,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6637554,0.7307528,9.2968999,5.941799,44.808024,13.3687633,27.1899545,70.4247151,41.1115732,44.906337,19.8006113,4.8979521,11.7219923,9.614991,34.1153121,9.0630728,0.6328377,0.7266594,8.9962091,5.565709,44.0562223,13.513692,26.7022549,70.4028518,40.7583225,44.9515668,20.3301419,4.7968297,11.2916595,9.155066,33.0827149,9.0231812,0.6383813,0.73732,8.663129,5.5837286,43.4709331,13.8745532,26.8643806,70.5313542,40.8358841,44.6642278,20.7589894,4.8764659,11.8279897,9.3446837,32.9878542,10.4355116,0.6804435,0.7616785,8.8317264,5.7954656,43.6582669,14.2451276,26.250904,69.8267132,40.5085977,44.0067817,20.5258671,4.943312,11.2184659,9.1497137,32.9134497,10.7838019,0.7536477,0.7931088,8.6886567,5.7377921,43.1921029,14.4542772,26.975937,70.0311113,40.5316819,44.1636993,21.8267927,5.1907581,10.6854394,9.214446,32.1172706,10.9813084 +1467,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.976024,1.0003925,14.7592138,10.6630483,36.474246,20.2701376,33.8012375,67.7108133,37.4733954,46.2421186,23.5635941,2.9589543,11.5864893,9.5494622,36.1088157,9.8214881,0.9993617,1.0231016,15.5293426,11.4350882,36.7311649,20.5641779,33.5783727,67.0518845,36.6868328,45.5904135,23.7925462,3.1709239,10.8592925,8.9782843,35.9373236,12.7219602,1.2197162,1.2429533,15.6453026,11.9926711,35.5322768,19.8903082,33.6686188,66.9472402,37.1979341,46.2251601,25.3386447,3.139084,10.8999699,9.0731372,35.4573669,13.0554878,1.2034487,1.2174557,15.8100743,12.1915993,36.6393508,19.2582285,33.4652063,66.9922847,36.3320022,45.8042779,24.2005155,2.9289504,11.2017547,9.2290534,35.4575648,12.4316933,1.2169952,1.223529,16.9408015,12.9745096,36.8920198,18.7344631,33.5830414,67.0582977,35.5900579,45.7093439,23.249765,3.0529339,11.3495555,9.0588039,35.0472755,12.5738947 +1468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8859893,0.8481548,10.5056791,7.4251351,19.884585,16.3706028,34.2665441,66.4717543,36.4492042,48.8858951,20.735398,5.2318788,10.3419184,8.5539687,26.3469943,4.850259,0.7922634,0.7868443,10.940644,7.7854203,20.3829454,16.6401379,34.1873525,65.9398678,36.7280982,48.7884254,20.8702444,5.1519247,9.9861934,8.3386279,26.0467662,5.8587705,0.703244,0.6981369,10.5154916,7.3097521,20.7262117,16.9217484,34.6627409,65.784572,36.7522262,48.8770496,21.3270348,5.0388245,10.4172854,8.6677581,26.4411347,4.0436992,0.7484118,0.7376291,10.4062707,7.1607283,20.3750672,16.9442721,34.88467,65.0360197,37.0505742,48.5394116,20.9314088,5.3162558,10.8027655,8.9174595,26.9016928,3.9564324,0.7107772,0.6693165,10.5654202,7.3585293,20.7564438,16.4753741,34.091007,65.4343829,37.7944273,49.2332103,21.5220637,5.3111682,11.2363798,9.2772075,27.2772072,3.8458392 +1469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.9112375,0.9112375,15.7123054,11.9970805,58.2818297,27.735549,31.5994037,69.6430069,32.220609,41.2265718,18.5561888,5.8229941,15.6348106,13.7348222,35.5593582,3.8793772,0.7792006,0.7792006,14.5901355,11.2777804,56.995387,28.3825786,33.3068888,68.9189017,31.875944,41.2560613,17.7268319,5.3259193,15.4725899,12.8249043,35.7846301,3.9474377,0.5053302,0.5053302,13.4586099,10.3590512,57.0599179,28.0290473,33.305948,68.3388145,31.0031982,41.0362497,16.3653873,4.8519673,15.7097248,11.2796512,36.6556868,3.0974,0.359153,0.359153,12.293912,8.9935329,56.5990853,26.3980059,33.2496359,67.9229939,31.909332,42.1274842,16.666904,4.9413601,16.0779942,10.3874885,38.6926647,4.9550442,0.4272206,0.4272206,13.708584,10.3804885,56.896689,28.3545384,35.251296,67.6662482,32.9818968,42.7067472,17.7474082,5.2674145,17.0178424,9.6155527,38.4212004,4.4000704 +1470,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6617835,0.6045424,9.0383162,6.6654886,33.121152,13.7606312,30.8716858,68.5650455,41.83125,47.3786053,22.0759609,6.7376162,10.0090056,8.6387405,33.0911347,2.4475524,0.6869866,0.6316894,9.3310789,6.9619408,32.6918923,13.5921007,30.9095028,68.7999562,40.8709886,47.3333724,21.9888815,6.5654044,10.2725093,9.0348793,33.70637,4.8387097,0.7548534,0.7028819,9.742607,7.1364899,32.0384438,14.3155803,30.5689582,68.9617717,41.234965,48.4508062,22.4128551,6.6081642,10.1861182,9.4889911,33.7877168,3.8235294,0.8420016,0.8124073,10.4300812,7.6958705,31.216567,14.1755458,31.1837573,69.198076,41.1526455,48.5728886,21.8998181,6.7545037,10.3021065,9.2524769,34.5317873,5.1912568,0.805789,0.8115986,10.7877671,7.8831894,30.377746,13.8188447,32.1930388,69.2673603,41.2085274,48.8769456,21.7547253,6.7905145,10.6927672,9.1776618,33.3699602,6.8306011 +1471,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5439674,0.5483998,8.6698424,5.5007467,41.5430379,19.6654822,29.4700469,68.1982341,35.354688,46.4973336,20.4709994,4.397625,10.675249,8.5707127,32.1071406,2.4969775,0.6732287,0.677574,8.4501038,5.4691131,40.8863646,20.1196924,29.3752212,68.3807076,36.1134312,46.5085447,21.0386316,4.668115,10.8899548,8.3333035,32.4548452,3.4841032,0.6920586,0.7078695,8.2839488,5.2480222,39.9789878,20.2310405,29.3466095,68.928339,36.1879079,47.2552911,21.099465,4.4230262,10.7412264,8.8083836,32.2928796,3.8501317,0.7359626,0.7628836,8.4095477,5.249521,39.1777291,19.9703916,29.5310489,68.3502774,36.3668744,46.7461615,21.0576753,4.4806832,10.499064,9.0959581,32.3245607,5.5573926,0.7115001,0.738493,8.2896561,5.0613136,39.6050713,20.0433856,29.8463481,67.9756142,36.304832,46.3196305,20.7326061,4.443418,10.7358237,9.6060161,32.0848737,4.7034596 +1472,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6370394,0.6254611,8.5831345,5.4056768,42.0341416,19.3468821,30.3118093,66.70998,39.8261076,47.7413535,22.6164354,6.5660616,9.4404131,9.6572525,32.4329895,3.749999,0.5108954,0.5287708,8.0974397,5.1319115,41.7255585,19.6136308,30.4385585,67.3203309,39.750779,47.4014696,22.8265135,6.5398001,9.3073575,9.6691592,32.1627052,3.9402163,0.5023437,0.5194399,8.1247709,5.1987517,41.5729275,19.9216608,30.7414901,68.0380977,39.2843977,47.6054006,22.7163525,6.4996312,9.0210042,8.8709667,33.1883523,3.5156232,0.5101449,0.534606,8.1856478,5.0622948,41.1769959,19.6329165,31.6528303,68.1352662,38.5573058,47.7220548,22.5940375,6.4188585,9.5454518,9.3670398,34.0600939,3.6989777,0.5801485,0.6200902,8.0592656,4.9246344,40.8157924,19.6407295,32.2360362,68.2305164,38.8888895,47.8399814,22.7665496,6.782442,10.3429823,9.2744778,33.9395076,4.9492119 +1473,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7039192,1.7251355,26.4438064,21.7945221,43.6978241,18.1302877,37.3216234,65.7929067,34.4463462,46.3680046,21.7324983,4.0261542,13.5915382,10.2480239,30.009367,18.8162527,1.5738856,1.6114681,26.4225759,21.8744594,43.6570317,18.0202956,37.597057,65.7509988,33.8676141,45.7856497,21.6367754,4.2322987,13.1534739,10.0078928,30.2018066,17.0326434,1.6762784,1.7200103,27.1104563,22.4812364,43.2902149,18.6311806,37.8877536,66.0754365,35.30195,46.8127988,22.5509839,3.9810653,12.8483188,10.1120318,30.3508156,15.2481676,1.685832,1.71927,27.5733217,23.0128164,43.0510702,18.8868497,37.8193561,65.0362441,35.5561343,47.1815103,22.3632931,3.8818155,12.3852811,10.2561995,31.2683257,16.0279792,1.6183229,1.5978359,28.2608615,23.2391703,43.1524416,19.3254393,38.1875342,64.2997705,35.942751,48.3028726,22.6326594,3.7297541,11.9185693,10.0082571,31.2113948,15.8891658 +1474,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4484381,2.4647638,40.3957169,34.8502382,65.7000896,14.2292083,37.9389479,62.4534691,26.5088901,39.1789327,17.4860376,2.116531,17.1280004,11.6491955,43.0958552,25.914704,2.6716233,2.6875695,40.5638666,35.0636747,67.0135039,13.8104813,36.4720137,62.1831319,25.4787108,38.7316072,17.0666093,2.2180396,17.5054041,12.3919758,44.1578624,25.7562385,2.8085318,2.8213582,40.6916542,35.1132948,68.4535084,14.0365027,35.7145219,62.7121316,25.0635497,38.1213655,17.1530701,2.1026669,18.3416845,13.3286274,44.6526709,27.8909298,2.7666024,2.7337905,40.6887506,35.0782229,68.2457086,13.8801639,35.3517972,63.0007955,25.0969823,38.4028341,16.9384744,2.2530293,18.1575979,12.8190973,43.7871927,28.3772933,3.0261565,3.0341768,41.2520485,35.8054589,68.8866078,14.3261763,35.3592631,63.24461,25.5870898,37.6680203,17.5626643,2.3130607,18.067708,13.3584476,42.7536432,29.6882109 +1475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6555815,1.6656481,24.7172041,19.2532339,32.1187318,15.326178,37.6950404,62.9287327,35.5710863,46.2732355,22.3100622,3.1588242,13.7491002,11.0226528,39.7500391,21.9089852,1.7025574,1.7128892,25.4567804,20.0432736,32.9333656,15.5697586,37.1952514,62.5369865,35.446454,45.5897078,21.9269299,3.1513978,13.8128847,11.1997375,40.6979442,21.0413422,1.6693956,1.6962835,26.6361716,21.0631753,33.5544526,15.5193172,37.0904775,61.963455,36.0082774,46.2025589,21.7435153,2.9257258,13.5863877,11.3838992,40.096427,23.2454142,1.6172301,1.6439732,27.6704988,21.747256,33.7190248,16.2541375,38.2276996,61.7373791,35.8549529,46.8114919,21.6862323,3.0182718,12.9258139,11.1867046,39.8534165,23.1788435,1.7286679,1.7930759,29.13783,23.2657501,35.6661457,15.8998436,37.1418619,61.1086963,34.6207323,45.9588791,21.0453321,2.6415972,13.5934819,11.1130259,40.5211613,23.1855026 +1476,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9993617,1.0231016,15.5293426,11.4350882,36.7311649,20.5641779,33.5783727,67.0518845,36.6868328,45.5904135,23.7925462,3.1709239,10.8592925,8.9782843,35.9373236,12.7219602,1.2197162,1.2429533,15.6453026,11.9926711,35.5322768,19.8903082,33.6686188,66.9472402,37.1979341,46.2251601,25.3386447,3.139084,10.8999699,9.0731372,35.4573669,13.0554878,1.2034487,1.2174557,15.8100743,12.1915993,36.6393508,19.2582285,33.4652063,66.9922847,36.3320022,45.8042779,24.2005155,2.9289504,11.2017547,9.2290534,35.4575648,12.4316933,1.2169952,1.223529,16.9408015,12.9745096,36.8920198,18.7344631,33.5830414,67.0582977,35.5900579,45.7093439,23.249765,3.0529339,11.3495555,9.0588039,35.0472755,12.5738947,1.1718554,1.133893,18.1939125,14.3978459,38.281759,18.1411488,34.4719982,67.401471,34.5889364,45.396403,23.1178576,3.0237959,11.5640458,9.1061801,36.6400114,12.3571078 +1477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6716233,2.6875695,40.5638666,35.0636747,67.0135039,13.8104813,36.4720137,62.1831319,25.4787108,38.7316072,17.0666093,2.2180396,17.5054041,12.3919758,44.1578624,25.7562385,2.8085318,2.8213582,40.6916542,35.1132948,68.4535084,14.0365027,35.7145219,62.7121316,25.0635497,38.1213655,17.1530701,2.1026669,18.3416845,13.3286274,44.6526709,27.8909298,2.7666024,2.7337905,40.6887506,35.0782229,68.2457086,13.8801639,35.3517972,63.0007955,25.0969823,38.4028341,16.9384744,2.2530293,18.1575979,12.8190973,43.7871927,28.3772933,3.0261565,3.0341768,41.2520485,35.8054589,68.8866078,14.3261763,35.3592631,63.24461,25.5870898,37.6680203,17.5626643,2.3130607,18.067708,13.3584476,42.7536432,29.6882109,3.1395144,3.147406,42.1323159,36.734787,69.6590163,13.7568769,35.7013996,62.5353391,25.5908127,37.4393098,17.6491034,2.1316992,18.3520586,13.486931,43.2631319,30.3046359 +1478,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4700042,1.5139901,20.7197723,16.2007861,85.4472028,12.91888,30.7076292,63.900472,32.7498351,38.0972617,16.8274869,4.4466416,14.9841934,9.5145727,36.9150286,13.2636942,1.3836498,1.4280807,20.7788351,16.1387858,84.7462806,12.8823728,31.0787085,63.0197021,32.551753,36.5331164,16.0272779,4.5415504,15.5022806,10.8216221,37.657743,12.9348539,1.2491024,1.3071718,19.8695618,15.5348635,84.3779253,12.6062112,31.6188596,63.5141906,33.3339237,37.1553603,16.5641582,4.7956621,15.0520507,10.9438461,38.0821238,13.3578074,1.3889316,1.4472188,20.5315375,16.001452,83.9304162,12.4355733,32.6542267,63.0583957,33.6645476,37.49327,17.0524229,4.3889599,14.7116368,11.6069958,40.0225256,12.3862281,1.3407002,1.3629977,20.617754,15.8133555,83.551606,12.8028196,32.8899819,63.2595686,33.4234526,36.0457974,16.696222,4.4006604,14.8951625,12.6875855,41.2833905,14.260667 +1479,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7922634,0.7868443,10.940644,7.7854203,20.3829454,16.6401379,34.1873525,65.9398678,36.7280982,48.7884254,20.8702444,5.1519247,9.9861934,8.3386279,26.0467662,5.8587705,0.703244,0.6981369,10.5154916,7.3097521,20.7262117,16.9217484,34.6627409,65.784572,36.7522262,48.8770496,21.3270348,5.0388245,10.4172854,8.6677581,26.4411347,4.0436992,0.7484118,0.7376291,10.4062707,7.1607283,20.3750672,16.9442721,34.88467,65.0360197,37.0505742,48.5394116,20.9314088,5.3162558,10.8027655,8.9174595,26.9016928,3.9564324,0.7107772,0.6693165,10.5654202,7.3585293,20.7564438,16.4753741,34.091007,65.4343829,37.7944273,49.2332103,21.5220637,5.3111682,11.2363798,9.2772075,27.2772072,3.8458392,0.8608693,0.8118991,11.3770827,7.9290816,21.029767,16.1406939,34.9258802,65.693154,37.2489705,49.1131924,21.3325771,5.0442846,11.2754347,9.3376082,27.4002622,4.4827555 +1480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8897903,0.9055715,12.941896,9.0552663,42.1525596,14.7541777,32.4426922,70.4453508,38.1990412,46.8770334,24.0114829,3.7576219,12.6832576,11.7032093,40.342973,6.5625041,0.9116685,0.934697,14.1691844,9.8298558,42.9488766,14.9600088,33.1425973,70.8768117,38.1806708,46.8078855,24.4449677,3.7785577,13.3274833,12.3972894,40.6487573,7.1839122,1.0466976,1.0543281,13.881692,9.6344137,42.207609,15.1328428,32.584042,71.1947683,39.6134239,47.8558963,24.9849072,4.1004766,13.3406803,12.4125583,40.2954244,6.7251462,1.1333189,1.1522995,14.4516941,10.0630657,41.9252431,15.8220302,31.7303598,71.2615308,39.5658088,48.7062579,25.7053793,4.1704867,12.8932106,12.461985,40.6566931,6.3253012,1.2910256,1.3096749,14.8883386,10.398483,41.4325831,15.4768535,33.5636842,71.2283627,39.6916526,48.8993286,25.5831005,3.9607679,12.964217,12.1638879,40.4822108,8.1325301 +1481,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7905009,0.8045355,10.8172683,6.8476281,54.9594957,10.3044113,32.941488,66.7805263,41.5575771,44.232734,24.1748619,4.5107552,10.521003,10.2727183,41.1109162,5.0940439,0.7885661,0.8016182,10.7838109,6.7778634,53.8169546,10.4017594,32.8018785,66.4347746,41.9118042,44.7556061,24.1351563,4.7212053,10.5396134,10.2455789,40.2751278,4.684839,0.876676,0.8893565,10.6317551,6.6113972,52.4030215,10.5253462,32.7299281,66.8577472,42.3279621,45.149432,24.3687084,4.9021333,10.5015116,10.2312916,40.0797934,4.7491048,0.8034702,0.8177218,9.9687296,6.0274459,50.9600413,10.653137,32.2729979,66.7316439,42.589073,45.4942546,24.4989618,4.7949083,10.4323111,10.0616023,39.3293983,4.7851553,0.7612831,0.8003838,10.2637741,6.3210247,49.5713297,11.0221019,32.2023315,66.5347865,43.0266232,46.0796652,24.3893736,4.6974667,10.7242576,9.8326139,37.7153294,4.7861507 +1482,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5738856,1.6114681,26.4225759,21.8744594,43.6570317,18.0202956,37.597057,65.7509988,33.8676141,45.7856497,21.6367754,4.2322987,13.1534739,10.0078928,30.2018066,17.0326434,1.6762784,1.7200103,27.1104563,22.4812364,43.2902149,18.6311806,37.8877536,66.0754365,35.30195,46.8127988,22.5509839,3.9810653,12.8483188,10.1120318,30.3508156,15.2481676,1.685832,1.71927,27.5733217,23.0128164,43.0510702,18.8868497,37.8193561,65.0362441,35.5561343,47.1815103,22.3632931,3.8818155,12.3852811,10.2561995,31.2683257,16.0279792,1.6183229,1.5978359,28.2608615,23.2391703,43.1524416,19.3254393,38.1875342,64.2997705,35.942751,48.3028726,22.6326594,3.7297541,11.9185693,10.0082571,31.2113948,15.8891658,1.6162285,1.5957676,28.3789755,23.5995984,42.7328168,18.8690446,40.1347006,64.3037326,36.5648799,48.8992956,22.7920577,3.4773579,11.8190937,10.1955174,31.7643025,15.6029487 +1483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5506981,0.5357406,7.7039284,4.9561225,46.6992773,12.7191102,29.684561,67.6964375,33.8373636,42.4613004,17.8338916,15.1425257,9.9071622,8.8098689,35.7812996,3.0232558,0.5500197,0.548696,7.5633294,4.8719063,45.906082,13.3100185,29.2663501,67.35538,33.137598,42.5474896,17.9715827,14.7962865,9.5341448,8.786918,34.9064901,2.7429463,0.6018856,0.6135906,7.4145034,4.6757486,45.5584243,13.3907302,28.4546515,67.6499898,32.7623004,42.6570946,18.1191367,14.6929163,9.8163837,9.0048092,34.876107,3.0185759,0.5724062,0.5975951,7.3825001,4.8373076,44.7318219,13.6928556,27.8632644,67.9561675,32.8276964,43.0759189,18.1521299,14.4215384,9.948169,8.9429703,35.1825034,3.1013616,0.5511195,0.588299,7.3900881,4.9057898,44.7077933,14.0066265,27.7645288,68.1237724,33.1672743,43.1448227,18.1939393,14.559358,9.9415998,8.8038928,34.9537655,3.1960241 +1484,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5942254,0.5754746,9.3961199,6.6642707,46.1972073,10.7192757,27.8020862,70.3627924,43.6829451,46.3509322,22.0567485,5.0465841,9.7550527,8.3285849,34.9468457,5.5772994,0.6615077,0.6340318,9.697774,6.8140902,46.2835517,10.4197518,27.8133503,69.9114452,43.1948212,45.5926442,21.6689385,5.0204362,9.5937387,7.972006,34.6409676,5.3773585,0.6204699,0.6180741,9.7941643,6.9654774,46.2791922,10.7427918,28.1323393,69.413993,42.9718052,44.8903684,21.5022188,4.9399638,9.4272984,8.0653567,34.4904901,6.0688417,0.6304007,0.6273694,9.533691,6.8690352,46.1263176,10.6998661,28.2430902,69.8612313,43.0367944,44.3749235,21.7259322,4.8507003,9.4253134,8.0341644,34.7058773,6.3368056,0.6385266,0.6394396,9.9589365,7.1204304,46.6541385,10.7437546,28.6626054,69.7506551,42.5137178,43.3249872,21.7907428,4.8258174,9.4645795,8.1320999,34.6448146,6.8881708 +1485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7664179,0.7824237,12.9054024,8.7847944,45.2374603,14.8570123,28.2231149,60.9376759,33.590328,39.370148,18.0440276,3.5741619,12.0988073,11.4211371,37.7032832,9.3985174,0.7543604,0.7159307,12.9241499,8.449236,45.3246814,14.00051,28.1412011,60.7415101,33.2684639,38.29221,17.9838319,3.277527,12.5872512,11.3192813,37.6935648,7.5396825,0.8401261,0.800588,12.8452886,8.734758,46.3656804,13.5006605,29.2283301,60.9344339,33.3712861,38.0681467,18.1325794,3.7493471,12.4871515,10.773927,36.7963713,9.6638655,0.9425519,0.8740026,13.6421752,9.4304521,47.0845225,14.0455821,30.6581056,61.41688,33.3509304,37.9482849,18.098917,3.7064608,13.2909662,11.1043701,37.3759677,11.5740848,0.9695318,0.9552374,14.3054345,9.6868583,48.3145595,13.0154435,30.7617885,60.5355481,32.9805182,37.0731843,17.6493102,3.8796116,13.5939872,10.7423337,37.9128897,14.830521 +1486,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6869866,0.6316894,9.3310789,6.9619408,32.6918923,13.5921007,30.9095028,68.7999562,40.8709886,47.3333724,21.9888815,6.5654044,10.2725093,9.0348793,33.70637,4.8387097,0.7548534,0.7028819,9.742607,7.1364899,32.0384438,14.3155803,30.5689582,68.9617717,41.234965,48.4508062,22.4128551,6.6081642,10.1861182,9.4889911,33.7877168,3.8235294,0.8420016,0.8124073,10.4300812,7.6958705,31.216567,14.1755458,31.1837573,69.198076,41.1526455,48.5728886,21.8998181,6.7545037,10.3021065,9.2524769,34.5317873,5.1912568,0.805789,0.8115986,10.7877671,7.8831894,30.377746,13.8188447,32.1930388,69.2673603,41.2085274,48.8769456,21.7547253,6.7905145,10.6927672,9.1776618,33.3699602,6.8306011,0.8128677,0.852824,10.5397423,7.6463003,31.0239684,14.0298694,32.1566687,69.9310865,40.5015471,47.8579317,21.2482905,6.863494,11.4578002,9.2107376,34.324103,6.7164179 +1487,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4331162,0.4331162,8.0928754,5.2085645,62.1907271,14.5090575,26.7904036,67.0019233,31.3949192,44.7986613,13.9324355,5.4740739,12.4039445,10.3919074,29.7192356,4.4271341,0.4310578,0.4462232,8.0186522,5.3080816,62.3645389,14.6275342,26.8891052,67.2474895,31.7100946,45.1627482,13.8598968,5.7166065,11.785984,9.6848603,29.6112911,3.640835,0.4596525,0.5034356,7.5403593,4.9284003,61.9342981,14.7604071,26.7240331,66.8808464,31.7084253,44.5296633,14.1535331,5.4388303,11.308446,9.0087596,29.0231462,3.6232462,0.3794374,0.4209888,7.308769,4.8969853,61.3123558,14.4762689,26.9413159,66.9592083,31.6125419,43.9897779,14.7127716,5.2215922,11.2130504,9.3787295,28.9066926,3.2178744,0.4060205,0.4192132,7.2912638,5.1277168,60.9543016,14.5155761,27.0726055,66.0278014,31.5019054,43.909604,14.2105459,4.8125419,11.6753244,9.8394002,30.4209583,3.7281241 +1488,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.601539,0.601539,6.8112401,4.9175321,46.1655508,23.1766124,31.4277072,71.0526316,36.3278887,46.4912281,18.723533,6.2008469,8.0994898,6.9693095,31.7715019,2.2321429,0.4593607,0.4776256,6.7791593,4.5885139,45.3004164,22.8445748,31.0029499,70.7669617,36.8436578,46.0471976,18.3775811,5.8112094,8.046683,6.7118227,31.4975248,2.2321429,0.418018,0.4900901,7.1262362,4.5084351,45.8259847,23.4564339,31.0936591,69.895288,36.2129145,44.938918,18.4700407,5.6719023,9.6407186,7.3741007,33.1927711,1.3392857,0.4881208,0.5417113,7.2701149,4.7413793,45.4782609,23.4943182,30.1146132,69.4269341,35.4441261,44.269341,18.1375358,5.1862464,10.7101947,7.1674312,33.2756632,1.2,0.4194631,0.4710893,7.2139303,4.8369265,45.8146067,23.7925357,30.1714602,69.0542035,36.034292,44.7732301,18.7776549,5.1161504,10.3165939,7.0414847,33.6083608,2.5362319 +1489,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7543604,0.7159307,12.9241499,8.449236,45.3246814,14.00051,28.1412011,60.7415101,33.2684639,38.29221,17.9838319,3.277527,12.5872512,11.3192813,37.6935648,7.5396825,0.8401261,0.800588,12.8452886,8.734758,46.3656804,13.5006605,29.2283301,60.9344339,33.3712861,38.0681467,18.1325794,3.7493471,12.4871515,10.773927,36.7963713,9.6638655,0.9425519,0.8740026,13.6421752,9.4304521,47.0845225,14.0455821,30.6581056,61.41688,33.3509304,37.9482849,18.098917,3.7064608,13.2909662,11.1043701,37.3759677,11.5740848,0.9695318,0.9552374,14.3054345,9.6868583,48.3145595,13.0154435,30.7617885,60.5355481,32.9805182,37.0731843,17.6493102,3.8796116,13.5939872,10.7423337,37.9128897,14.830521,1.0515317,1.0373883,14.661387,9.8435946,49.6160457,12.7744885,30.9662267,59.8984303,33.3030489,37.8007105,16.8662458,4.016363,13.8195506,10.931145,36.9688125,14.4736969 +1490,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8085318,2.8213582,40.6916542,35.1132948,68.4535084,14.0365027,35.7145219,62.7121316,25.0635497,38.1213655,17.1530701,2.1026669,18.3416845,13.3286274,44.6526709,27.8909298,2.7666024,2.7337905,40.6887506,35.0782229,68.2457086,13.8801639,35.3517972,63.0007955,25.0969823,38.4028341,16.9384744,2.2530293,18.1575979,12.8190973,43.7871927,28.3772933,3.0261565,3.0341768,41.2520485,35.8054589,68.8866078,14.3261763,35.3592631,63.24461,25.5870898,37.6680203,17.5626643,2.3130607,18.067708,13.3584476,42.7536432,29.6882109,3.1395144,3.147406,42.1323159,36.734787,69.6590163,13.7568769,35.7013996,62.5353391,25.5908127,37.4393098,17.6491034,2.1316992,18.3520586,13.486931,43.2631319,30.3046359,2.9494733,2.9922837,41.8436136,36.7286019,70.4278192,13.498893,35.8673771,61.8932162,24.9103127,37.6442042,17.7333893,2.0175547,18.4170908,14.0934632,42.4208559,29.237035 +1491,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5169653,0.5112083,9.4881437,6.4533904,77.5672908,10.5543185,29.2715347,68.8424319,29.7523042,44.3232643,14.8483657,3.7536721,12.189235,12.1201748,33.8564138,2.3026255,0.4509225,0.445089,9.2036686,6.2406857,76.0127398,11.0308352,29.1885174,68.8668742,29.9739007,43.3246435,15.1270989,4.0201659,12.8392724,12.552105,33.9536969,2.9411688,0.4324986,0.461604,9.4015137,6.1506652,75.7076172,10.7024335,29.3624788,68.4004727,30.1454482,43.7546842,14.7836864,3.9708869,12.334132,12.1857013,32.6409647,2.8845876,0.4825693,0.5123395,9.8332662,6.5744395,75.4359822,10.9954791,29.2939886,68.6451237,29.9045256,43.0725778,14.713635,4.2556903,12.4463113,12.4461535,32.4315253,3.0828903,0.4140948,0.420256,9.7766463,6.4459074,75.2300982,11.7267505,29.2408911,68.8613267,29.7943425,43.2385124,14.689498,4.4088217,11.7800829,12.4722476,31.9600332,3.9014174 +1492,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.775513,0.7581345,10.3296808,6.9340052,47.9138091,20.0955572,35.565382,67.8696413,36.6411491,47.5166277,22.3206233,4.1690399,14.6900868,12.9230202,38.3192781,4.7793207,0.7978499,0.7692423,10.0824805,7.0049636,46.1254322,19.6157897,35.0258749,67.5716934,37.2586112,47.2329309,22.3784656,4.1503082,14.3735046,12.7553546,37.6127751,6.5890493,0.7851863,0.7742628,10.2580321,6.971762,44.4027505,20.0052445,34.8666456,67.9878828,38.0846759,47.5043138,23.2623532,3.9447758,13.9838735,11.6701423,36.3524924,6.2499792,0.9335768,0.9225263,10.6189483,7.1031084,42.6751805,20.352936,35.1047446,69.1967339,38.5775016,47.3066573,23.5929936,4.1463382,13.9925409,11.5586093,36.9085581,7.7235584,0.9525568,0.9641639,10.871075,7.3723895,41.0575662,20.8317992,34.6921034,69.7627455,38.6482814,47.6199137,23.6621708,3.7466615,13.5075932,11.1997058,36.4625662,7.0247702 +1493,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8487084,0.7511635,10.4218694,7.1718647,28.291771,22.0315642,35.3099938,71.0811348,42.2734204,53.1796994,23.7043581,3.4817117,12.5081915,10.6139935,32.1593231,4.3103473,0.8027625,0.6988758,10.5485794,7.319738,28.0721242,21.8444222,35.0638747,69.952133,42.316262,52.7316632,24.4249786,3.5303424,11.793713,9.697571,32.7917844,3.0386757,0.7990583,0.7505106,10.9182916,7.4477746,27.6748131,21.7993218,34.9795867,69.4105321,41.658799,52.6654554,24.0985275,3.4650277,11.6688187,9.7631219,33.9470193,4.1436487,0.8604921,0.8135841,11.2615195,7.6316495,27.5899,21.6612138,35.1643054,68.7310387,41.7376432,52.6932842,24.4522764,3.5757707,11.8316048,10.1783547,33.5709752,5.4597701,0.8460694,0.8277895,11.296403,7.5551078,27.3288829,21.9365375,35.1483671,68.7685629,41.2017828,52.9228518,24.851621,3.8130576,12.1492622,10.6160331,34.6084168,5.3370787 +1494,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.7792006,0.7792006,14.5901355,11.2777804,56.995387,28.3825786,33.3068888,68.9189017,31.875944,41.2560613,17.7268319,5.3259193,15.4725899,12.8249043,35.7846301,3.9474377,0.5053302,0.5053302,13.4586099,10.3590512,57.0599179,28.0290473,33.305948,68.3388145,31.0031982,41.0362497,16.3653873,4.8519673,15.7097248,11.2796512,36.6556868,3.0974,0.359153,0.359153,12.293912,8.9935329,56.5990853,26.3980059,33.2496359,67.9229939,31.909332,42.1274842,16.666904,4.9413601,16.0779942,10.3874885,38.6926647,4.9550442,0.4272206,0.4272206,13.708584,10.3804885,56.896689,28.3545384,35.251296,67.6662482,32.9818968,42.7067472,17.7474082,5.2674145,17.0178424,9.6155527,38.4212004,4.4000704,0.534575,0.534575,13.0896118,10.0001382,57.3008269,29.1664999,34.2454247,66.086172,34.7425295,42.5373326,16.0035423,5.3897111,18.7039808,9.4445844,41.0112886,5.158812 +1495,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9652946,1.9652946,36.7824773,31.9486405,66.3249211,7.0241692,32.6952527,61.0260337,26.5696784,39.5865237,13.5528331,6.5084227,17.5806452,12.3794212,37.9032258,19.8113208,1.9311398,1.9311398,35.947205,31.2888199,66.5322581,7.6625387,30.533752,61.9309262,25.9811617,37.755102,13.1083203,6.6718995,16.8300654,11.5635179,37.2131148,20.0617284,1.9582899,1.9582899,34.9612403,30.3100775,65.5645161,7.4845679,30.3767661,60.8320251,26.2951334,37.755102,14.3642072,6.8288854,14.6302251,11.0576923,36.2903226,18.0981595,2.0004518,2.0004518,34.0909091,30.1724138,65.1294498,7.7932099,32.4175824,61.1459969,27.2370487,37.1271586,15.1491366,7.4568289,16.2295082,11.6013072,36.0197368,19.0909091,1.8720509,1.8720509,34.070122,30.2591463,65.3426791,7.7095808,33.3080425,62.5948407,27.5417299,37.8603945,15.2503794,6.6009105,16.4576803,11.09375,36.6352201,18.4848485 +1496,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4593607,0.4776256,6.7791593,4.5885139,45.3004164,22.8445748,31.0029499,70.7669617,36.8436578,46.0471976,18.3775811,5.8112094,8.046683,6.7118227,31.4975248,2.2321429,0.418018,0.4900901,7.1262362,4.5084351,45.8259847,23.4564339,31.0936591,69.895288,36.2129145,44.938918,18.4700407,5.6719023,9.6407186,7.3741007,33.1927711,1.3392857,0.4881208,0.5417113,7.2701149,4.7413793,45.4782609,23.4943182,30.1146132,69.4269341,35.4441261,44.269341,18.1375358,5.1862464,10.7101947,7.1674312,33.2756632,1.2,0.4194631,0.4710893,7.2139303,4.8369265,45.8146067,23.7925357,30.1714602,69.0542035,36.034292,44.7732301,18.7776549,5.1161504,10.3165939,7.0414847,33.6083608,2.5362319,0.4322638,0.4808783,7.0015617,4.6069755,45.782815,24.1103662,29.0818988,70.0312989,36.4893062,44.5748565,18.7532603,5.5555556,10.1987448,7.165272,34.0549102,2.3972603 +1497,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0054457,1.9979465,34.5050064,29.9525331,42.822093,17.3599722,35.522007,66.5643865,34.226499,45.3240274,19.6138988,2.5773079,16.6595045,12.0228322,33.4770127,16.0591231,2.3256776,2.3294655,35.8961072,30.807471,43.4907106,17.7621526,34.97246,66.8287805,34.0310254,45.67295,19.8176038,3.0329671,15.7145241,12.0181287,33.7267517,17.3698415,2.3998358,2.4597847,36.6170908,30.8753705,44.7387532,18.6858714,35.2540193,66.282398,33.356889,45.1533481,19.9287719,3.5387738,14.9814709,11.7072883,33.6795965,17.5744701,2.569231,2.6568766,37.1951118,31.5917032,45.3758928,18.8526803,35.4725642,66.0023582,32.9107504,45.3705314,19.9153355,3.475947,16.1102514,12.8129378,33.3482064,17.4924911,2.7019199,2.8053379,36.8028358,31.0009085,45.8508991,19.2201412,34.5884995,65.124481,33.3757607,45.8342162,20.1752333,3.347506,14.7382962,12.6992398,33.4762531,20.1114622 +1498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9059616,1.9529085,24.1080542,20.0110638,48.454671,15.5743686,42.6066867,64.0813038,37.2801319,48.9932229,24.966385,3.8668192,13.0795505,11.1696982,32.4075767,19.3875177,1.945223,1.9689482,24.1721115,19.6487833,49.1836813,15.1369744,42.1634848,64.3215193,37.0433164,47.8956799,24.758522,3.9566788,13.1132561,11.4613312,33.0509766,22.0276948,1.8012481,1.8246066,25.1867561,20.7374229,50.0005535,15.1571997,41.0829405,64.8168685,35.8630629,48.0282983,23.7720959,4.1421914,11.850168,11.5795153,33.4104334,20.7480453,1.6911159,1.7327321,25.0610448,20.3043741,49.7913586,15.0226601,41.5046077,65.1912567,36.3755658,47.6472288,24.1882217,3.5648107,11.377552,12.2038691,32.242735,22.7608883,1.7615388,1.7733792,24.9084011,20.0764684,50.2204423,15.3423816,41.4521347,65.2179532,37.2560004,47.8816536,24.1129768,4.0887121,10.8761347,11.1978255,31.2210462,24.6425403 +1499,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6773613,0.6761588,8.659603,5.8260747,58.9033679,8.5871398,25.0981738,66.952597,32.5739693,40.7535156,16.8894297,6.3814259,10.5110909,8.9362965,36.579179,5.0604985,0.7400256,0.7346208,8.8178921,5.9839446,58.476694,8.7665268,25.229896,66.635849,32.5240629,40.8057523,17.1857457,6.6357723,10.5295757,8.9068148,36.7090939,5.0658453,0.7535287,0.7615418,9.0940193,6.1440028,58.1161189,8.716962,24.9309354,66.554005,32.3584993,40.4006357,17.1701639,6.7386789,10.5471775,8.8763138,36.7518499,5.5912547,0.774521,0.7851342,9.123328,6.0953594,57.6698733,8.739451,25.2624061,66.7333968,32.7575446,40.388641,17.3611621,6.7460703,10.3586399,8.6202591,36.543645,6.0128666,0.8032501,0.816877,9.3718242,6.2873216,57.4992504,8.7613661,25.6789483,66.4568339,33.2480735,40.2151868,17.4843757,6.8282838,10.6326272,8.9289707,36.514587,6.1445783 +1500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5654653,0.5556548,8.4117973,5.3561916,26.0760632,17.2838218,35.8640178,69.476849,40.5486729,50.8658533,23.8516365,4.2927433,10.7655545,10.6222467,31.5993803,4.898642,0.5682497,0.575262,8.3776607,5.3634749,25.5790232,17.1061859,35.6986794,70.3680027,40.2896748,50.5101181,23.1280901,4.3268345,10.8213135,10.6733336,31.4800868,5.4999927,0.6263052,0.6377226,8.2927361,5.2246949,25.2171573,17.0474649,35.9114757,70.4797799,40.061153,50.9355057,23.0547964,4.2701016,11.1839636,10.7464365,31.4075876,3.6082449,0.6708638,0.6822094,8.4546348,5.1482543,25.1596689,17.0751001,35.0782176,70.1655612,40.2116081,51.122321,23.0818415,4.2226344,10.7843176,10.6718637,31.1569955,4.4642825,0.6966906,0.6797069,8.5547677,5.5565603,24.7564692,16.9139641,34.3446585,70.1649648,40.6141385,51.1915314,22.8322245,4.2071541,10.4739508,10.2615294,31.2613929,4.4963996 +1501,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7025574,1.7128892,25.4567804,20.0432736,32.9333656,15.5697586,37.1952514,62.5369865,35.446454,45.5897078,21.9269299,3.1513978,13.8128847,11.1997375,40.6979442,21.0413422,1.6693956,1.6962835,26.6361716,21.0631753,33.5544526,15.5193172,37.0904775,61.963455,36.0082774,46.2025589,21.7435153,2.9257258,13.5863877,11.3838992,40.096427,23.2454142,1.6172301,1.6439732,27.6704988,21.747256,33.7190248,16.2541375,38.2276996,61.7373791,35.8549529,46.8114919,21.6862323,3.0182718,12.9258139,11.1867046,39.8534165,23.1788435,1.7286679,1.7930759,29.13783,23.2657501,35.6661457,15.8998436,37.1418619,61.1086963,34.6207323,45.9588791,21.0453321,2.6415972,13.5934819,11.1130259,40.5211613,23.1855026,1.8108739,1.8752404,30.0082642,24.4930283,37.6478234,15.4592095,37.4438145,60.3588245,34.1981478,45.1519229,21.6070806,2.7030615,13.5036091,11.2654166,40.4799415,21.5356128 +1502,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5682497,0.575262,8.3776607,5.3634749,25.5790232,17.1061859,35.6986794,70.3680027,40.2896748,50.5101181,23.1280901,4.3268345,10.8213135,10.6733336,31.4800868,5.4999927,0.6263052,0.6377226,8.2927361,5.2246949,25.2171573,17.0474649,35.9114757,70.4797799,40.061153,50.9355057,23.0547964,4.2701016,11.1839636,10.7464365,31.4075876,3.6082449,0.6708638,0.6822094,8.4546348,5.1482543,25.1596689,17.0751001,35.0782176,70.1655612,40.2116081,51.122321,23.0818415,4.2226344,10.7843176,10.6718637,31.1569955,4.4642825,0.6966906,0.6797069,8.5547677,5.5565603,24.7564692,16.9139641,34.3446585,70.1649648,40.6141385,51.1915314,22.8322245,4.2071541,10.4739508,10.2615294,31.2613929,4.4963996,0.7008715,0.6817154,8.8235383,5.7145447,24.4771438,16.3929402,33.67386,69.6709195,40.0922328,50.2169236,22.4642535,4.2578238,10.534755,10.5762304,31.1354742,5.2158198 +1503,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3755286,0.3869107,7.3736403,4.4625706,50.4457165,19.0942985,27.841086,66.2709664,34.2355168,41.6429173,18.5976608,7.5498602,9.7353534,7.3055056,35.7504759,1.3513518,0.2614327,0.2916267,7.2644208,4.5225353,49.7958558,19.261412,27.4047454,66.6302248,34.7439105,41.3959923,18.6602145,7.9169291,9.3827965,7.8437529,35.6606145,2.5297619,0.2718397,0.2893136,7.5396825,4.7142845,49.1945701,19.5411129,27.4198595,66.8604589,35.0879956,41.4361941,18.6517921,7.8409835,8.7957175,7.548962,35.4522529,3.4743223,0.2856107,0.2988983,7.0106638,4.3757823,48.0269318,19.7025476,26.8677725,66.7239763,34.4013757,42.3726096,18.8340097,7.3616776,8.8564308,7.5653774,35.5451704,4.5741354,0.2985928,0.3117867,7.024401,4.4274041,47.7777772,19.8623914,26.2838488,67.1490872,34.375974,42.9660731,18.8764391,7.6097129,9.3272144,7.4969367,36.5113439,5.2215239 +1504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4807231,0.4559314,9.3437032,6.3392312,52.0682059,14.0209927,31.5783704,68.2479324,35.9639547,46.3417479,21.0920732,3.2891849,9.2393598,7.6875367,31.0208683,5.4999963,0.5294169,0.5377187,9.2727296,6.2352977,50.9706607,14.569044,31.3966094,68.2124179,36.2836522,45.9274774,21.5790791,3.355776,9.7024418,7.8361481,31.2421169,5.4770555,0.5962623,0.5818452,9.5039574,6.2540124,50.6260955,13.9880353,31.2973002,67.8594553,36.2270225,45.7405646,21.2865067,3.621622,9.7361959,8.0496183,31.3978337,5.8333531,0.6115749,0.6036432,9.1116944,5.7805386,49.6431033,14.2004923,31.1441112,67.7997756,36.8866894,46.1496307,21.1771422,3.4873488,10.0593087,8.4360489,31.4854676,5.8719071,0.585724,0.577488,9.2358116,6.0479298,49.1554812,14.239098,31.0143879,68.3230541,36.8403095,45.9790008,21.7386531,3.7582819,10.1052234,8.5645134,31.4962563,7.0881446 +1505,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3256776,2.3294655,35.8961072,30.807471,43.4907106,17.7621526,34.97246,66.8287805,34.0310254,45.67295,19.8176038,3.0329671,15.7145241,12.0181287,33.7267517,17.3698415,2.3998358,2.4597847,36.6170908,30.8753705,44.7387532,18.6858714,35.2540193,66.282398,33.356889,45.1533481,19.9287719,3.5387738,14.9814709,11.7072883,33.6795965,17.5744701,2.569231,2.6568766,37.1951118,31.5917032,45.3758928,18.8526803,35.4725642,66.0023582,32.9107504,45.3705314,19.9153355,3.475947,16.1102514,12.8129378,33.3482064,17.4924911,2.7019199,2.8053379,36.8028358,31.0009085,45.8508991,19.2201412,34.5884995,65.124481,33.3757607,45.8342162,20.1752333,3.347506,14.7382962,12.6992398,33.4762531,20.1114622,2.7428176,2.847326,37.0492938,31.3028678,46.4594159,19.4992119,34.836491,65.5057757,33.5450483,45.7178307,20.2406959,3.7066568,15.0425945,11.914096,33.3498948,20.1088397 +1506,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4310578,0.4462232,8.0186522,5.3080816,62.3645389,14.6275342,26.8891052,67.2474895,31.7100946,45.1627482,13.8598968,5.7166065,11.785984,9.6848603,29.6112911,3.640835,0.4596525,0.5034356,7.5403593,4.9284003,61.9342981,14.7604071,26.7240331,66.8808464,31.7084253,44.5296633,14.1535331,5.4388303,11.308446,9.0087596,29.0231462,3.6232462,0.3794374,0.4209888,7.308769,4.8969853,61.3123558,14.4762689,26.9413159,66.9592083,31.6125419,43.9897779,14.7127716,5.2215922,11.2130504,9.3787295,28.9066926,3.2178744,0.4060205,0.4192132,7.2912638,5.1277168,60.9543016,14.5155761,27.0726055,66.0278014,31.5019054,43.909604,14.2105459,4.8125419,11.6753244,9.8394002,30.4209583,3.7281241,0.4275712,0.4402552,7.2792314,5.1532712,60.063869,14.3836562,26.7364937,66.4804501,32.1573919,43.8435604,14.042438,4.6172102,11.8293659,9.3080055,30.6634333,5.0661529 +1507,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.703244,0.6981369,10.5154916,7.3097521,20.7262117,16.9217484,34.6627409,65.784572,36.7522262,48.8770496,21.3270348,5.0388245,10.4172854,8.6677581,26.4411347,4.0436992,0.7484118,0.7376291,10.4062707,7.1607283,20.3750672,16.9442721,34.88467,65.0360197,37.0505742,48.5394116,20.9314088,5.3162558,10.8027655,8.9174595,26.9016928,3.9564324,0.7107772,0.6693165,10.5654202,7.3585293,20.7564438,16.4753741,34.091007,65.4343829,37.7944273,49.2332103,21.5220637,5.3111682,11.2363798,9.2772075,27.2772072,3.8458392,0.8608693,0.8118991,11.3770827,7.9290816,21.029767,16.1406939,34.9258802,65.693154,37.2489705,49.1131924,21.3325771,5.0442846,11.2754347,9.3376082,27.4002622,4.4827555,0.8322521,0.7897919,12.5429391,8.4972427,22.3254246,16.5625961,34.6537849,65.3624566,37.0820342,48.7098787,21.548804,4.5551195,11.7593742,9.6411923,27.5694029,3.6666642 +1508,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7885661,0.8016182,10.7838109,6.7778634,53.8169546,10.4017594,32.8018785,66.4347746,41.9118042,44.7556061,24.1351563,4.7212053,10.5396134,10.2455789,40.2751278,4.684839,0.876676,0.8893565,10.6317551,6.6113972,52.4030215,10.5253462,32.7299281,66.8577472,42.3279621,45.149432,24.3687084,4.9021333,10.5015116,10.2312916,40.0797934,4.7491048,0.8034702,0.8177218,9.9687296,6.0274459,50.9600413,10.653137,32.2729979,66.7316439,42.589073,45.4942546,24.4989618,4.7949083,10.4323111,10.0616023,39.3293983,4.7851553,0.7612831,0.8003838,10.2637741,6.3210247,49.5713297,11.0221019,32.2023315,66.5347865,43.0266232,46.0796652,24.3893736,4.6974667,10.7242576,9.8326139,37.7153294,4.7861507,0.7852682,0.8286503,10.4225026,6.5482798,49.5577688,11.1012757,32.151771,66.8076672,42.8620792,45.9142711,24.3687311,4.8210227,10.3002323,9.2309609,37.5491272,5.2480866 +1509,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6615077,0.6340318,9.697774,6.8140902,46.2835517,10.4197518,27.8133503,69.9114452,43.1948212,45.5926442,21.6689385,5.0204362,9.5937387,7.972006,34.6409676,5.3773585,0.6204699,0.6180741,9.7941643,6.9654774,46.2791922,10.7427918,28.1323393,69.413993,42.9718052,44.8903684,21.5022188,4.9399638,9.4272984,8.0653567,34.4904901,6.0688417,0.6304007,0.6273694,9.533691,6.8690352,46.1263176,10.6998661,28.2430902,69.8612313,43.0367944,44.3749235,21.7259322,4.8507003,9.4253134,8.0341644,34.7058773,6.3368056,0.6385266,0.6394396,9.9589365,7.1204304,46.6541385,10.7437546,28.6626054,69.7506551,42.5137178,43.3249872,21.7907428,4.8258174,9.4645795,8.1320999,34.6448146,6.8881708,0.6485514,0.6467994,9.7599201,6.8603619,46.6086815,10.618614,28.7904832,69.6014212,42.0686866,42.8842173,21.6689625,4.9908097,9.3486655,7.8420191,35.0241485,6.4589685 +1510,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.8339741,2.026732,27.5603884,21.8001503,44.9983013,12.1005502,38.6941398,66.0707711,33.0212554,49.0971699,23.660996,5.5074253,15.9029576,13.0422839,34.8730366,13.5983264,2.0458788,2.2007635,28.3955024,22.1907215,46.1699384,12.4988335,38.5474768,65.6773945,32.0548222,48.2652012,22.5802406,5.0257956,16.0400175,13.0965,35.4057622,15.0826446,2.0927605,2.218415,29.2423211,23.0286969,46.9479516,12.9765785,37.4833339,65.9803748,32.1320485,47.3692503,22.3936733,5.0379218,16.6467356,13.5895253,35.6327936,13.8429752,2.2597176,2.339899,29.360361,22.716365,47.8722302,13.2065551,36.6974235,65.4552833,32.0410417,47.5004435,22.5847343,4.8721584,16.9299849,12.6033265,35.0864254,14.3152101,2.3770887,2.4095417,29.2337159,22.9090731,47.7089712,13.4543818,37.4768016,64.8408876,32.0344228,47.5227768,23.6733148,5.3184563,15.8287891,11.8836773,34.6388659,14.4350015 +1511,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4596525,0.5034356,7.5403593,4.9284003,61.9342981,14.7604071,26.7240331,66.8808464,31.7084253,44.5296633,14.1535331,5.4388303,11.308446,9.0087596,29.0231462,3.6232462,0.3794374,0.4209888,7.308769,4.8969853,61.3123558,14.4762689,26.9413159,66.9592083,31.6125419,43.9897779,14.7127716,5.2215922,11.2130504,9.3787295,28.9066926,3.2178744,0.4060205,0.4192132,7.2912638,5.1277168,60.9543016,14.5155761,27.0726055,66.0278014,31.5019054,43.909604,14.2105459,4.8125419,11.6753244,9.8394002,30.4209583,3.7281241,0.4275712,0.4402552,7.2792314,5.1532712,60.063869,14.3836562,26.7364937,66.4804501,32.1573919,43.8435604,14.042438,4.6172102,11.8293659,9.3080055,30.6634333,5.0661529,0.451164,0.4598749,7.3722791,5.299186,58.8730105,14.0179728,26.5958835,67.3075883,32.6660405,43.8905113,14.4818387,4.5133154,11.2165529,9.0559977,31.2240988,5.7204456 +1512,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6693956,1.6962835,26.6361716,21.0631753,33.5544526,15.5193172,37.0904775,61.963455,36.0082774,46.2025589,21.7435153,2.9257258,13.5863877,11.3838992,40.096427,23.2454142,1.6172301,1.6439732,27.6704988,21.747256,33.7190248,16.2541375,38.2276996,61.7373791,35.8549529,46.8114919,21.6862323,3.0182718,12.9258139,11.1867046,39.8534165,23.1788435,1.7286679,1.7930759,29.13783,23.2657501,35.6661457,15.8998436,37.1418619,61.1086963,34.6207323,45.9588791,21.0453321,2.6415972,13.5934819,11.1130259,40.5211613,23.1855026,1.8108739,1.8752404,30.0082642,24.4930283,37.6478234,15.4592095,37.4438145,60.3588245,34.1981478,45.1519229,21.6070806,2.7030615,13.5036091,11.2654166,40.4799415,21.5356128,1.7652799,1.8216005,30.2704257,24.8893682,39.3091219,15.4011101,37.0731007,61.4963831,35.0474613,45.6212515,22.6613486,2.9482411,13.9973437,11.2243775,40.0148362,23.4767446 +1513,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1250484,1.1541432,14.6958837,10.5605778,32.9767816,16.0595425,35.2980808,68.6911617,39.3769558,49.3724847,23.0166013,3.877185,11.919641,10.7015951,30.4328094,9.2741204,1.088729,1.1164745,15.4746446,11.2831525,33.5879487,16.0805172,35.7879038,67.9476037,38.9652229,49.3988896,23.3362191,3.6711065,11.437079,10.2118757,31.7480645,12.8675925,1.2579992,1.2969041,15.8286198,11.7256483,33.2426438,16.3687074,35.1005677,68.4359118,38.799644,49.1651835,23.7625126,3.8819977,11.1678557,9.62701,32.1980513,15.9258754,1.397761,1.416788,16.4962176,12.395891,33.4183547,16.356658,34.8374091,68.0455035,38.9930847,48.2656184,23.0665866,3.789909,11.2589051,10.1592521,33.5491806,16.442908,1.2862234,1.2807192,16.2656275,12.5268047,32.8166943,15.777344,34.2905434,67.99425,39.6161238,47.5477133,22.8178725,3.985084,11.5350974,9.7929383,33.8459838,16.871125 +1514,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.418018,0.4900901,7.1262362,4.5084351,45.8259847,23.4564339,31.0936591,69.895288,36.2129145,44.938918,18.4700407,5.6719023,9.6407186,7.3741007,33.1927711,1.3392857,0.4881208,0.5417113,7.2701149,4.7413793,45.4782609,23.4943182,30.1146132,69.4269341,35.4441261,44.269341,18.1375358,5.1862464,10.7101947,7.1674312,33.2756632,1.2,0.4194631,0.4710893,7.2139303,4.8369265,45.8146067,23.7925357,30.1714602,69.0542035,36.034292,44.7732301,18.7776549,5.1161504,10.3165939,7.0414847,33.6083608,2.5362319,0.4322638,0.4808783,7.0015617,4.6069755,45.782815,24.1103662,29.0818988,70.0312989,36.4893062,44.5748565,18.7532603,5.5555556,10.1987448,7.165272,34.0549102,2.3972603,0.4350785,0.4831092,6.9701646,4.5010288,45.4997384,23.8863287,28.9596273,70.1086957,36.7753623,45.315735,18.9182195,5.615942,10.3033473,7.6963351,34.1605069,2.4305556 +1515,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6762784,1.7200103,27.1104563,22.4812364,43.2902149,18.6311806,37.8877536,66.0754365,35.30195,46.8127988,22.5509839,3.9810653,12.8483188,10.1120318,30.3508156,15.2481676,1.685832,1.71927,27.5733217,23.0128164,43.0510702,18.8868497,37.8193561,65.0362441,35.5561343,47.1815103,22.3632931,3.8818155,12.3852811,10.2561995,31.2683257,16.0279792,1.6183229,1.5978359,28.2608615,23.2391703,43.1524416,19.3254393,38.1875342,64.2997705,35.942751,48.3028726,22.6326594,3.7297541,11.9185693,10.0082571,31.2113948,15.8891658,1.6162285,1.5957676,28.3789755,23.5995984,42.7328168,18.8690446,40.1347006,64.3037326,36.5648799,48.8992956,22.7920577,3.4773579,11.8190937,10.1955174,31.7643025,15.6029487,1.6846888,1.6640422,28.9223887,24.1562348,43.79056,18.1878012,40.764665,64.2764944,35.7206706,49.1020918,22.5844406,3.6450084,11.5796188,10.1604146,31.9519681,15.6409178 +1516,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7548534,0.7028819,9.742607,7.1364899,32.0384438,14.3155803,30.5689582,68.9617717,41.234965,48.4508062,22.4128551,6.6081642,10.1861182,9.4889911,33.7877168,3.8235294,0.8420016,0.8124073,10.4300812,7.6958705,31.216567,14.1755458,31.1837573,69.198076,41.1526455,48.5728886,21.8998181,6.7545037,10.3021065,9.2524769,34.5317873,5.1912568,0.805789,0.8115986,10.7877671,7.8831894,30.377746,13.8188447,32.1930388,69.2673603,41.2085274,48.8769456,21.7547253,6.7905145,10.6927672,9.1776618,33.3699602,6.8306011,0.8128677,0.852824,10.5397423,7.6463003,31.0239684,14.0298694,32.1566687,69.9310865,40.5015471,47.8579317,21.2482905,6.863494,11.4578002,9.2107376,34.324103,6.7164179,0.8854313,0.9311584,10.2679975,7.2714703,29.7202162,13.4909866,31.7156284,70.6675865,40.1796175,48.8999753,21.3815868,6.9076814,11.4554782,9.6716166,33.6941989,7.4519231 +1517,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.945223,1.9689482,24.1721115,19.6487833,49.1836813,15.1369744,42.1634848,64.3215193,37.0433164,47.8956799,24.758522,3.9566788,13.1132561,11.4613312,33.0509766,22.0276948,1.8012481,1.8246066,25.1867561,20.7374229,50.0005535,15.1571997,41.0829405,64.8168685,35.8630629,48.0282983,23.7720959,4.1421914,11.850168,11.5795153,33.4104334,20.7480453,1.6911159,1.7327321,25.0610448,20.3043741,49.7913586,15.0226601,41.5046077,65.1912567,36.3755658,47.6472288,24.1882217,3.5648107,11.377552,12.2038691,32.242735,22.7608883,1.7615388,1.7733792,24.9084011,20.0764684,50.2204423,15.3423816,41.4521347,65.2179532,37.2560004,47.8816536,24.1129768,4.0887121,10.8761347,11.1978255,31.2210462,24.6425403,1.874142,1.8861887,25.830989,20.5247006,50.0302657,16.2784956,41.3059111,65.6943535,38.2108267,46.8083169,24.9723243,4.6071285,11.3048842,11.1439943,31.4932266,24.8091603 +1518,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8027625,0.6988758,10.5485794,7.319738,28.0721242,21.8444222,35.0638747,69.952133,42.316262,52.7316632,24.4249786,3.5303424,11.793713,9.697571,32.7917844,3.0386757,0.7990583,0.7505106,10.9182916,7.4477746,27.6748131,21.7993218,34.9795867,69.4105321,41.658799,52.6654554,24.0985275,3.4650277,11.6688187,9.7631219,33.9470193,4.1436487,0.8604921,0.8135841,11.2615195,7.6316495,27.5899,21.6612138,35.1643054,68.7310387,41.7376432,52.6932842,24.4522764,3.5757707,11.8316048,10.1783547,33.5709752,5.4597701,0.8460694,0.8277895,11.296403,7.5551078,27.3288829,21.9365375,35.1483671,68.7685629,41.2017828,52.9228518,24.851621,3.8130576,12.1492622,10.6160331,34.6084168,5.3370787,0.9363475,0.917977,11.5834133,7.8147908,27.1775164,21.6691442,35.9886685,69.0440925,41.4085854,52.2483654,24.5830727,3.8564632,11.4856706,10.4303565,33.724398,6.176467 +1519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7978499,0.7692423,10.0824805,7.0049636,46.1254322,19.6157897,35.0258749,67.5716934,37.2586112,47.2329309,22.3784656,4.1503082,14.3735046,12.7553546,37.6127751,6.5890493,0.7851863,0.7742628,10.2580321,6.971762,44.4027505,20.0052445,34.8666456,67.9878828,38.0846759,47.5043138,23.2623532,3.9447758,13.9838735,11.6701423,36.3524924,6.2499792,0.9335768,0.9225263,10.6189483,7.1031084,42.6751805,20.352936,35.1047446,69.1967339,38.5775016,47.3066573,23.5929936,4.1463382,13.9925409,11.5586093,36.9085581,7.7235584,0.9525568,0.9641639,10.871075,7.3723895,41.0575662,20.8317992,34.6921034,69.7627455,38.6482814,47.6199137,23.6621708,3.7466615,13.5075932,11.1997058,36.4625662,7.0247702,0.9581392,0.9699583,10.910684,7.3666118,39.2466035,21.7488429,34.8344552,69.8471415,38.608136,48.2231001,23.4687641,4.1837358,13.3947312,11.0979027,37.6237963,7.5892654 +1520,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7183463,1.7659996,34.6282572,30.2282822,55.7850728,15.4378443,33.1889727,62.5039452,29.6539736,41.9217258,15.71298,1.7328048,19.2191133,12.4416088,40.3315137,24.9933594,1.5571004,1.5675299,33.7764199,29.7625033,56.7211967,15.2500656,33.0386996,63.5073726,30.2013531,42.2353149,16.0124814,1.7793383,18.9006883,12.8453194,38.636673,23.9083173,1.6093872,1.631909,34.2375417,30.1262519,57.2223766,15.919404,32.4838216,63.2300344,30.9586931,41.9596023,16.1785913,1.779202,18.6300505,12.622956,37.871315,23.8864848,1.4809255,1.4968563,34.7412295,30.6661633,58.4294797,15.9443704,33.2197848,63.1482162,31.3435759,42.7672904,16.3143692,1.7731002,19.6181154,12.9612492,39.4441694,23.3435429,1.3881583,1.4645125,34.77946,30.8522674,59.2192819,15.682094,33.4890013,62.6686449,32.3358975,42.7298745,16.3181163,1.5912654,18.5288551,12.9493014,40.2673354,23.225526 +1521,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6263052,0.6377226,8.2927361,5.2246949,25.2171573,17.0474649,35.9114757,70.4797799,40.061153,50.9355057,23.0547964,4.2701016,11.1839636,10.7464365,31.4075876,3.6082449,0.6708638,0.6822094,8.4546348,5.1482543,25.1596689,17.0751001,35.0782176,70.1655612,40.2116081,51.122321,23.0818415,4.2226344,10.7843176,10.6718637,31.1569955,4.4642825,0.6966906,0.6797069,8.5547677,5.5565603,24.7564692,16.9139641,34.3446585,70.1649648,40.6141385,51.1915314,22.8322245,4.2071541,10.4739508,10.2615294,31.2613929,4.4963996,0.7008715,0.6817154,8.8235383,5.7145447,24.4771438,16.3929402,33.67386,69.6709195,40.0922328,50.2169236,22.4642535,4.2578238,10.534755,10.5762304,31.1354742,5.2158198,0.6917989,0.6748406,8.9174831,5.8788049,24.5523645,16.1692293,33.795753,69.3673599,39.8215459,50.3003719,22.1858652,4.3028847,10.7802189,10.8916043,31.7335044,4.1218549 +1522,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.368179,0.3957925,7.3038536,4.2262661,64.3700772,20.0555319,30.8639193,63.6501076,31.5550774,41.7926516,16.8250599,5.1619902,10.5325964,8.5657411,33.5862781,3.2663333,0.3893758,0.451954,7.764539,4.6495626,63.3271569,19.8602317,30.4158974,63.0027419,31.3299838,41.7047467,17.0703879,5.2330922,10.9756144,8.8954506,33.8260278,3.8071085,0.3733448,0.4578756,7.7829043,4.8729768,61.9416981,21.0105126,30.5309676,63.9729844,31.7885415,42.6874608,17.7689828,5.3796017,10.7484807,8.5801424,33.1441164,3.3505172,0.3808047,0.4695359,7.5219028,4.9415752,61.1877729,22.3684126,30.4400916,64.3765271,31.6625958,42.7628257,17.9706632,5.7457238,10.9015669,8.6175139,31.9649535,2.57143,0.3072372,0.3815811,7.705821,4.9949767,59.6406861,22.5196432,30.9919379,65.030206,31.7975877,44.2849832,18.4038273,6.0674741,10.90298,8.1406567,31.3583875,2.6162791 +1523,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6732287,0.677574,8.4501038,5.4691131,40.8863646,20.1196924,29.3752212,68.3807076,36.1134312,46.5085447,21.0386316,4.668115,10.8899548,8.3333035,32.4548452,3.4841032,0.6920586,0.7078695,8.2839488,5.2480222,39.9789878,20.2310405,29.3466095,68.928339,36.1879079,47.2552911,21.099465,4.4230262,10.7412264,8.8083836,32.2928796,3.8501317,0.7359626,0.7628836,8.4095477,5.249521,39.1777291,19.9703916,29.5310489,68.3502774,36.3668744,46.7461615,21.0576753,4.4806832,10.499064,9.0959581,32.3245607,5.5573926,0.7115001,0.738493,8.2896561,5.0613136,39.6050713,20.0433856,29.8463481,67.9756142,36.304832,46.3196305,20.7326061,4.443418,10.7358237,9.6060161,32.0848737,4.7034596,0.7619666,0.7884443,8.5589698,5.4201068,39.038372,19.7565772,30.5548449,68.1431463,36.115946,45.9312336,20.7873147,4.4634729,10.5098925,9.618645,30.8997587,4.738778 +1524,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5108954,0.5287708,8.0974397,5.1319115,41.7255585,19.6136308,30.4385585,67.3203309,39.750779,47.4014696,22.8265135,6.5398001,9.3073575,9.6691592,32.1627052,3.9402163,0.5023437,0.5194399,8.1247709,5.1987517,41.5729275,19.9216608,30.7414901,68.0380977,39.2843977,47.6054006,22.7163525,6.4996312,9.0210042,8.8709667,33.1883523,3.5156232,0.5101449,0.534606,8.1856478,5.0622948,41.1769959,19.6329165,31.6528303,68.1352662,38.5573058,47.7220548,22.5940375,6.4188585,9.5454518,9.3670398,34.0600939,3.6989777,0.5801485,0.6200902,8.0592656,4.9246344,40.8157924,19.6407295,32.2360362,68.2305164,38.8888895,47.8399814,22.7665496,6.782442,10.3429823,9.2744778,33.9395076,4.9492119,0.5557646,0.6188729,7.9695247,4.8365034,40.8563409,20.0187803,32.6034177,68.1755228,38.6619366,48.0958953,22.4078285,6.9845945,10.3652086,9.1478693,34.0122576,5.1767424 +1525,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3893758,0.451954,7.764539,4.6495626,63.3271569,19.8602317,30.4158974,63.0027419,31.3299838,41.7047467,17.0703879,5.2330922,10.9756144,8.8954506,33.8260278,3.8071085,0.3733448,0.4578756,7.7829043,4.8729768,61.9416981,21.0105126,30.5309676,63.9729844,31.7885415,42.6874608,17.7689828,5.3796017,10.7484807,8.5801424,33.1441164,3.3505172,0.3808047,0.4695359,7.5219028,4.9415752,61.1877729,22.3684126,30.4400916,64.3765271,31.6625958,42.7628257,17.9706632,5.7457238,10.9015669,8.6175139,31.9649535,2.57143,0.3072372,0.3815811,7.705821,4.9949767,59.6406861,22.5196432,30.9919379,65.030206,31.7975877,44.2849832,18.4038273,6.0674741,10.90298,8.1406567,31.3583875,2.6162791,0.3206662,0.3982595,7.3498669,4.8735659,59.1726124,21.8542107,30.3994819,65.1867903,32.3963423,44.6927505,18.260715,6.1744864,10.4806508,8.0513423,31.5710785,4.9342105 +1526,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3998358,2.4597847,36.6170908,30.8753705,44.7387532,18.6858714,35.2540193,66.282398,33.356889,45.1533481,19.9287719,3.5387738,14.9814709,11.7072883,33.6795965,17.5744701,2.569231,2.6568766,37.1951118,31.5917032,45.3758928,18.8526803,35.4725642,66.0023582,32.9107504,45.3705314,19.9153355,3.475947,16.1102514,12.8129378,33.3482064,17.4924911,2.7019199,2.8053379,36.8028358,31.0009085,45.8508991,19.2201412,34.5884995,65.124481,33.3757607,45.8342162,20.1752333,3.347506,14.7382962,12.6992398,33.4762531,20.1114622,2.7428176,2.847326,37.0492938,31.3028678,46.4594159,19.4992119,34.836491,65.5057757,33.5450483,45.7178307,20.2406959,3.7066568,15.0425945,11.914096,33.3498948,20.1088397,2.6415112,2.7452973,36.3194031,31.0418542,46.9659373,19.0077608,35.3407322,66.1066901,32.1546904,45.810172,20.1234505,3.6284033,14.2855019,11.1683272,31.8713733,22.3114886 +1527,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7400256,0.7346208,8.8178921,5.9839446,58.476694,8.7665268,25.229896,66.635849,32.5240629,40.8057523,17.1857457,6.6357723,10.5295757,8.9068148,36.7090939,5.0658453,0.7535287,0.7615418,9.0940193,6.1440028,58.1161189,8.716962,24.9309354,66.554005,32.3584993,40.4006357,17.1701639,6.7386789,10.5471775,8.8763138,36.7518499,5.5912547,0.774521,0.7851342,9.123328,6.0953594,57.6698733,8.739451,25.2624061,66.7333968,32.7575446,40.388641,17.3611621,6.7460703,10.3586399,8.6202591,36.543645,6.0128666,0.8032501,0.816877,9.3718242,6.2873216,57.4992504,8.7613661,25.6789483,66.4568339,33.2480735,40.2151868,17.4843757,6.8282838,10.6326272,8.9289707,36.514587,6.1445783,0.8030935,0.8149697,9.6802307,6.4666089,57.7352077,8.6926717,25.9335105,66.102852,32.660122,40.1741636,17.1363081,6.6102177,10.6891477,8.9676022,36.3883095,6.4858491 +1528,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6172301,1.6439732,27.6704988,21.747256,33.7190248,16.2541375,38.2276996,61.7373791,35.8549529,46.8114919,21.6862323,3.0182718,12.9258139,11.1867046,39.8534165,23.1788435,1.7286679,1.7930759,29.13783,23.2657501,35.6661457,15.8998436,37.1418619,61.1086963,34.6207323,45.9588791,21.0453321,2.6415972,13.5934819,11.1130259,40.5211613,23.1855026,1.8108739,1.8752404,30.0082642,24.4930283,37.6478234,15.4592095,37.4438145,60.3588245,34.1981478,45.1519229,21.6070806,2.7030615,13.5036091,11.2654166,40.4799415,21.5356128,1.7652799,1.8216005,30.2704257,24.8893682,39.3091219,15.4011101,37.0731007,61.4963831,35.0474613,45.6212515,22.6613486,2.9482411,13.9973437,11.2243775,40.0148362,23.4767446,1.8168545,1.8273261,30.2946557,25.0014354,41.1671775,15.3233789,36.7411373,62.2691257,34.9645191,45.5121235,22.200501,2.9521024,14.5775092,11.0916224,40.3450079,22.3510195 +1529,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6204699,0.6180741,9.7941643,6.9654774,46.2791922,10.7427918,28.1323393,69.413993,42.9718052,44.8903684,21.5022188,4.9399638,9.4272984,8.0653567,34.4904901,6.0688417,0.6304007,0.6273694,9.533691,6.8690352,46.1263176,10.6998661,28.2430902,69.8612313,43.0367944,44.3749235,21.7259322,4.8507003,9.4253134,8.0341644,34.7058773,6.3368056,0.6385266,0.6394396,9.9589365,7.1204304,46.6541385,10.7437546,28.6626054,69.7506551,42.5137178,43.3249872,21.7907428,4.8258174,9.4645795,8.1320999,34.6448146,6.8881708,0.6485514,0.6467994,9.7599201,6.8603619,46.6086815,10.618614,28.7904832,69.6014212,42.0686866,42.8842173,21.6689625,4.9908097,9.3486655,7.8420191,35.0241485,6.4589685,0.6906939,0.6788255,9.9517862,7.0251221,46.4559377,10.509866,28.7305947,69.406871,41.8902385,42.6773838,21.6241669,4.9833691,9.1458043,7.6509313,34.8535236,6.7507438 +1530,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7484118,0.7376291,10.4062707,7.1607283,20.3750672,16.9442721,34.88467,65.0360197,37.0505742,48.5394116,20.9314088,5.3162558,10.8027655,8.9174595,26.9016928,3.9564324,0.7107772,0.6693165,10.5654202,7.3585293,20.7564438,16.4753741,34.091007,65.4343829,37.7944273,49.2332103,21.5220637,5.3111682,11.2363798,9.2772075,27.2772072,3.8458392,0.8608693,0.8118991,11.3770827,7.9290816,21.029767,16.1406939,34.9258802,65.693154,37.2489705,49.1131924,21.3325771,5.0442846,11.2754347,9.3376082,27.4002622,4.4827555,0.8322521,0.7897919,12.5429391,8.4972427,22.3254246,16.5625961,34.6537849,65.3624566,37.0820342,48.7098787,21.548804,4.5551195,11.7593742,9.6411923,27.5694029,3.6666642,0.8152707,0.7884164,12.5709133,8.5579485,22.9392738,16.6921741,34.9933695,64.2342494,36.2518173,47.8498638,21.5360876,4.5508356,11.4245204,9.2565379,27.0297727,4.0123407 +1531,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.496563,0.4938375,7.9396092,5.5085883,31.7942571,11.4989994,29.0315237,70.2943609,37.1918547,50.4615283,20.9596134,3.4326537,10.9816541,10.4404748,32.3633934,1.7241401,0.5120558,0.5147151,8.2015015,5.5938458,31.3233153,11.5557343,28.8021225,70.6454863,37.3123584,50.6735134,21.223775,3.6509309,11.0820472,9.9303729,31.2454362,2.689876,0.5416609,0.5312915,8.1324933,5.571923,30.4066448,11.7810247,28.8584694,70.7884703,37.2141706,50.5129178,20.9564548,3.6062178,10.9432138,9.7150496,31.6047137,2.419358,0.5675011,0.542084,8.3469291,5.626148,29.840532,11.7595855,28.6383391,69.9636049,37.4032704,50.460726,20.7940523,3.6753363,10.9080155,9.8518129,32.1209883,2.3364501,0.5848168,0.5749771,8.4165356,5.5978764,29.2245002,11.6362781,28.5860742,70.0616294,37.9214872,50.3264151,21.1908761,3.6815632,10.5485566,9.3216225,31.5323151,3.0351447 +1532,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.876676,0.8893565,10.6317551,6.6113972,52.4030215,10.5253462,32.7299281,66.8577472,42.3279621,45.149432,24.3687084,4.9021333,10.5015116,10.2312916,40.0797934,4.7491048,0.8034702,0.8177218,9.9687296,6.0274459,50.9600413,10.653137,32.2729979,66.7316439,42.589073,45.4942546,24.4989618,4.7949083,10.4323111,10.0616023,39.3293983,4.7851553,0.7612831,0.8003838,10.2637741,6.3210247,49.5713297,11.0221019,32.2023315,66.5347865,43.0266232,46.0796652,24.3893736,4.6974667,10.7242576,9.8326139,37.7153294,4.7861507,0.7852682,0.8286503,10.4225026,6.5482798,49.5577688,11.1012757,32.151771,66.8076672,42.8620792,45.9142711,24.3687311,4.8210227,10.3002323,9.2309609,37.5491272,5.2480866,0.7819383,0.8097686,10.7749665,6.7369033,48.6853459,11.0735596,32.4282414,67.2078823,42.332552,45.4992731,24.3430564,4.776975,10.0700824,9.0064436,37.1969461,5.491321 +1533,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7293381,0.728042,8.9615159,5.1480329,45.4562788,19.1780866,31.7171203,68.1627013,38.7719049,43.7557301,22.2606402,4.3380241,9.8894331,8.8431263,32.8489981,7.2607385,0.7369086,0.7356394,8.9171914,5.1549781,45.4670194,19.5399136,31.2225243,69.0714222,38.8624962,43.6526742,22.553641,4.4519935,9.5509154,8.5703278,33.5270585,7.1138415,0.6613373,0.6705187,9.0971292,5.3240632,44.2785576,19.7200307,31.291303,70.1723287,39.6698006,43.7732608,22.9411931,4.4046314,9.3765465,8.3086618,33.3033764,7.2314792,0.6705265,0.6770817,8.9602963,5.3649681,43.9278188,19.6302418,31.3823963,70.936052,39.1956095,44.4047102,22.9393537,4.4505206,9.2525143,7.5508231,33.0096579,6.9621556,0.68023,0.6880019,9.2740623,5.7701648,44.1119577,19.2772513,31.0861119,71.2515903,38.8966932,45.7953061,23.0188317,4.4042499,9.9825981,7.9067593,33.4391368,7.415394 +1534,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5500197,0.548696,7.5633294,4.8719063,45.906082,13.3100185,29.2663501,67.35538,33.137598,42.5474896,17.9715827,14.7962865,9.5341448,8.786918,34.9064901,2.7429463,0.6018856,0.6135906,7.4145034,4.6757486,45.5584243,13.3907302,28.4546515,67.6499898,32.7623004,42.6570946,18.1191367,14.6929163,9.8163837,9.0048092,34.876107,3.0185759,0.5724062,0.5975951,7.3825001,4.8373076,44.7318219,13.6928556,27.8632644,67.9561675,32.8276964,43.0759189,18.1521299,14.4215384,9.948169,8.9429703,35.1825034,3.1013616,0.5511195,0.588299,7.3900881,4.9057898,44.7077933,14.0066265,27.7645288,68.1237724,33.1672743,43.1448227,18.1939393,14.559358,9.9415998,8.8038928,34.9537655,3.1960241,0.5575885,0.5954386,7.4986255,5.0562548,44.7108686,14.2866837,27.254553,67.8640342,32.7978494,42.4917259,18.0846684,14.554604,10.2637289,9.0946157,35.5302839,3.5318574 +1535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4748815,0.4818932,10.1452623,6.8315911,44.6554216,19.1620946,32.6006559,70.0370245,40.930106,45.7889885,23.9472402,3.9102296,7.4660851,7.2207214,34.229738,3.3333284,0.5230064,0.5391378,9.9007642,6.7816626,44.0616043,19.2417846,32.7611236,69.3181796,40.4013345,45.5270828,23.2833551,3.7959372,7.9327054,7.4806989,34.3507907,3.3582039,0.5293618,0.5462823,10.1842729,6.8974104,43.167882,19.8353423,31.8411703,69.9291836,41.502272,46.2063686,23.4951873,4.0212439,8.4615546,8.1790184,34.1097478,2.7999978,0.4915068,0.5086087,10.4428917,6.8696614,40.6652903,20.9026847,32.6952596,69.6528872,42.4961723,46.681986,24.1705029,3.9050532,8.2564163,7.9814686,32.209551,3.4615385,0.5201346,0.5420037,9.9416641,6.4414271,39.4606593,20.4204967,32.7214947,69.3832625,42.1683842,47.503679,24.7919861,3.5976545,7.9819321,8.4088762,32.5380614,4.1666635 +1536,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8420016,0.8124073,10.4300812,7.6958705,31.216567,14.1755458,31.1837573,69.198076,41.1526455,48.5728886,21.8998181,6.7545037,10.3021065,9.2524769,34.5317873,5.1912568,0.805789,0.8115986,10.7877671,7.8831894,30.377746,13.8188447,32.1930388,69.2673603,41.2085274,48.8769456,21.7547253,6.7905145,10.6927672,9.1776618,33.3699602,6.8306011,0.8128677,0.852824,10.5397423,7.6463003,31.0239684,14.0298694,32.1566687,69.9310865,40.5015471,47.8579317,21.2482905,6.863494,11.4578002,9.2107376,34.324103,6.7164179,0.8854313,0.9311584,10.2679975,7.2714703,29.7202162,13.4909866,31.7156284,70.6675865,40.1796175,48.8999753,21.3815868,6.9076814,11.4554782,9.6716166,33.6941989,7.4519231,0.828979,0.8653465,10.5115833,7.3765364,27.9836258,13.8646191,30.7017676,70.3475907,40.2422067,49.7102131,21.2686458,6.9212376,11.4236122,9.5396853,32.4141173,7.9487179 +1537,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9116685,0.934697,14.1691844,9.8298558,42.9488766,14.9600088,33.1425973,70.8768117,38.1806708,46.8078855,24.4449677,3.7785577,13.3274833,12.3972894,40.6487573,7.1839122,1.0466976,1.0543281,13.881692,9.6344137,42.207609,15.1328428,32.584042,71.1947683,39.6134239,47.8558963,24.9849072,4.1004766,13.3406803,12.4125583,40.2954244,6.7251462,1.1333189,1.1522995,14.4516941,10.0630657,41.9252431,15.8220302,31.7303598,71.2615308,39.5658088,48.7062579,25.7053793,4.1704867,12.8932106,12.461985,40.6566931,6.3253012,1.2910256,1.3096749,14.8883386,10.398483,41.4325831,15.4768535,33.5636842,71.2283627,39.6916526,48.8993286,25.5831005,3.9607679,12.964217,12.1638879,40.4822108,8.1325301,1.1819213,1.2001544,15.0288209,10.7014829,40.8452505,15.4559318,33.6216393,71.5659662,39.3326395,49.051757,25.7237483,4.3800542,12.2761346,12.2532473,40.9407143,7.3369485 +1538,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9311398,1.9311398,35.947205,31.2888199,66.5322581,7.6625387,30.533752,61.9309262,25.9811617,37.755102,13.1083203,6.6718995,16.8300654,11.5635179,37.2131148,20.0617284,1.9582899,1.9582899,34.9612403,30.3100775,65.5645161,7.4845679,30.3767661,60.8320251,26.2951334,37.755102,14.3642072,6.8288854,14.6302251,11.0576923,36.2903226,18.0981595,2.0004518,2.0004518,34.0909091,30.1724138,65.1294498,7.7932099,32.4175824,61.1459969,27.2370487,37.1271586,15.1491366,7.4568289,16.2295082,11.6013072,36.0197368,19.0909091,1.8720509,1.8720509,34.070122,30.2591463,65.3426791,7.7095808,33.3080425,62.5948407,27.5417299,37.8603945,15.2503794,6.6009105,16.4576803,11.09375,36.6352201,18.4848485,1.9330927,1.9330927,34.563253,30.496988,65.1001541,7.1851852,34.2578711,63.0434783,28.7106447,38.155922,15.6671664,6.6716642,17.0623145,11.9822485,36.7559524,17.3529412 +1539,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4329515,1.5226628,26.4436963,22.4557111,53.2545787,16.4597214,40.0132344,65.3456216,33.1629564,46.9761519,20.3032059,2.2781678,15.0619064,11.1062858,35.5164415,11.3781978,1.6686618,1.759529,25.8324036,21.7067877,53.6349499,16.055451,40.4162979,65.2879578,33.7042115,47.5941196,20.3154287,2.4652382,15.1668429,11.9252508,35.3991844,13.4740172,1.7265214,1.8174871,26.3271393,22.5305535,53.0784726,16.2163918,40.9520426,65.4456734,33.5897525,47.541482,20.6014963,2.5023489,14.5071437,11.2648149,36.1642412,12.5798434,1.647428,1.7379164,26.9355442,23.1172946,53.2915322,15.4121845,40.5288678,65.6452371,33.5389109,46.7031251,20.4104197,2.2093386,14.3471282,11.3053489,36.5671138,11.343908,1.764756,1.8226731,27.8217567,23.8817516,53.6877739,14.577189,40.1427503,65.4203377,33.8924784,47.0880198,20.847086,2.2846097,14.9696862,11.9956883,35.9899739,10.992652 +1540,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7535287,0.7615418,9.0940193,6.1440028,58.1161189,8.716962,24.9309354,66.554005,32.3584993,40.4006357,17.1701639,6.7386789,10.5471775,8.8763138,36.7518499,5.5912547,0.774521,0.7851342,9.123328,6.0953594,57.6698733,8.739451,25.2624061,66.7333968,32.7575446,40.388641,17.3611621,6.7460703,10.3586399,8.6202591,36.543645,6.0128666,0.8032501,0.816877,9.3718242,6.2873216,57.4992504,8.7613661,25.6789483,66.4568339,33.2480735,40.2151868,17.4843757,6.8282838,10.6326272,8.9289707,36.514587,6.1445783,0.8030935,0.8149697,9.6802307,6.4666089,57.7352077,8.6926717,25.9335105,66.102852,32.660122,40.1741636,17.1363081,6.6102177,10.6891477,8.9676022,36.3883095,6.4858491,0.7899386,0.8079257,9.9714306,6.730628,57.824641,8.7732474,26.1605111,65.5411376,32.8284527,40.2818239,16.9682399,6.4977579,10.5581816,8.8527976,36.8240528,6.5301391 +1541,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5023437,0.5194399,8.1247709,5.1987517,41.5729275,19.9216608,30.7414901,68.0380977,39.2843977,47.6054006,22.7163525,6.4996312,9.0210042,8.8709667,33.1883523,3.5156232,0.5101449,0.534606,8.1856478,5.0622948,41.1769959,19.6329165,31.6528303,68.1352662,38.5573058,47.7220548,22.5940375,6.4188585,9.5454518,9.3670398,34.0600939,3.6989777,0.5801485,0.6200902,8.0592656,4.9246344,40.8157924,19.6407295,32.2360362,68.2305164,38.8888895,47.8399814,22.7665496,6.782442,10.3429823,9.2744778,33.9395076,4.9492119,0.5557646,0.6188729,7.9695247,4.8365034,40.8563409,20.0187803,32.6034177,68.1755228,38.6619366,48.0958953,22.4078285,6.9845945,10.3652086,9.1478693,34.0122576,5.1767424,0.6387253,0.7081246,8.3062999,5.0623225,40.7221959,20.5546046,32.3896038,68.8051941,37.8614739,47.8701323,21.5324677,6.9004307,10.3713051,8.6964278,33.9138298,4.974463 +1542,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0466976,1.0543281,13.881692,9.6344137,42.207609,15.1328428,32.584042,71.1947683,39.6134239,47.8558963,24.9849072,4.1004766,13.3406803,12.4125583,40.2954244,6.7251462,1.1333189,1.1522995,14.4516941,10.0630657,41.9252431,15.8220302,31.7303598,71.2615308,39.5658088,48.7062579,25.7053793,4.1704867,12.8932106,12.461985,40.6566931,6.3253012,1.2910256,1.3096749,14.8883386,10.398483,41.4325831,15.4768535,33.5636842,71.2283627,39.6916526,48.8993286,25.5831005,3.9607679,12.964217,12.1638879,40.4822108,8.1325301,1.1819213,1.2001544,15.0288209,10.7014829,40.8452505,15.4559318,33.6216393,71.5659662,39.3326395,49.051757,25.7237483,4.3800542,12.2761346,12.2532473,40.9407143,7.3369485,1.221237,1.2502351,15.780808,11.2182529,40.8803484,15.6572807,34.3123291,70.6064973,39.2788919,48.7822275,25.3342993,4.5606506,12.661151,12.5459559,41.1409926,9.0206093 +1543,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4509225,0.445089,9.2036686,6.2406857,76.0127398,11.0308352,29.1885174,68.8668742,29.9739007,43.3246435,15.1270989,4.0201659,12.8392724,12.552105,33.9536969,2.9411688,0.4324986,0.461604,9.4015137,6.1506652,75.7076172,10.7024335,29.3624788,68.4004727,30.1454482,43.7546842,14.7836864,3.9708869,12.334132,12.1857013,32.6409647,2.8845876,0.4825693,0.5123395,9.8332662,6.5744395,75.4359822,10.9954791,29.2939886,68.6451237,29.9045256,43.0725778,14.713635,4.2556903,12.4463113,12.4461535,32.4315253,3.0828903,0.4140948,0.420256,9.7766463,6.4459074,75.2300982,11.7267505,29.2408911,68.8613267,29.7943425,43.2385124,14.689498,4.4088217,11.7800829,12.4722476,31.9600332,3.9014174,0.4157451,0.4222122,9.2122666,6.0936603,74.663422,11.4198865,29.3225948,69.0151513,30.6941157,43.4954762,15.1911138,4.3848303,11.9012113,12.2441098,31.3733921,4.231508 +1544,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7851863,0.7742628,10.2580321,6.971762,44.4027505,20.0052445,34.8666456,67.9878828,38.0846759,47.5043138,23.2623532,3.9447758,13.9838735,11.6701423,36.3524924,6.2499792,0.9335768,0.9225263,10.6189483,7.1031084,42.6751805,20.352936,35.1047446,69.1967339,38.5775016,47.3066573,23.5929936,4.1463382,13.9925409,11.5586093,36.9085581,7.7235584,0.9525568,0.9641639,10.871075,7.3723895,41.0575662,20.8317992,34.6921034,69.7627455,38.6482814,47.6199137,23.6621708,3.7466615,13.5075932,11.1997058,36.4625662,7.0247702,0.9581392,0.9699583,10.910684,7.3666118,39.2466035,21.7488429,34.8344552,69.8471415,38.608136,48.2231001,23.4687641,4.1837358,13.3947312,11.0979027,37.6237963,7.5892654,0.83659,0.8491388,10.8513421,7.2610232,36.7000634,21.9967035,34.6932892,70.0750968,39.7133957,48.3000127,23.6309266,4.5149371,13.1106095,10.4063285,37.5560743,7.4258195 +1545,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4324986,0.461604,9.4015137,6.1506652,75.7076172,10.7024335,29.3624788,68.4004727,30.1454482,43.7546842,14.7836864,3.9708869,12.334132,12.1857013,32.6409647,2.8845876,0.4825693,0.5123395,9.8332662,6.5744395,75.4359822,10.9954791,29.2939886,68.6451237,29.9045256,43.0725778,14.713635,4.2556903,12.4463113,12.4461535,32.4315253,3.0828903,0.4140948,0.420256,9.7766463,6.4459074,75.2300982,11.7267505,29.2408911,68.8613267,29.7943425,43.2385124,14.689498,4.4088217,11.7800829,12.4722476,31.9600332,3.9014174,0.4157451,0.4222122,9.2122666,6.0936603,74.663422,11.4198865,29.3225948,69.0151513,30.6941157,43.4954762,15.1911138,4.3848303,11.9012113,12.2441098,31.3733921,4.231508,0.3738862,0.3807106,8.7625695,6.1229969,73.5069652,11.7890726,29.2710475,68.1381228,31.1154554,43.9394343,15.2611431,4.5454078,11.4680131,11.496595,30.3855981,3.6893264 +1546,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.569231,2.6568766,37.1951118,31.5917032,45.3758928,18.8526803,35.4725642,66.0023582,32.9107504,45.3705314,19.9153355,3.475947,16.1102514,12.8129378,33.3482064,17.4924911,2.7019199,2.8053379,36.8028358,31.0009085,45.8508991,19.2201412,34.5884995,65.124481,33.3757607,45.8342162,20.1752333,3.347506,14.7382962,12.6992398,33.4762531,20.1114622,2.7428176,2.847326,37.0492938,31.3028678,46.4594159,19.4992119,34.836491,65.5057757,33.5450483,45.7178307,20.2406959,3.7066568,15.0425945,11.914096,33.3498948,20.1088397,2.6415112,2.7452973,36.3194031,31.0418542,46.9659373,19.0077608,35.3407322,66.1066901,32.1546904,45.810172,20.1234505,3.6284033,14.2855019,11.1683272,31.8713733,22.3114886,2.2865569,2.3918239,36.2216647,31.2339675,48.7199173,19.2764361,35.3188667,66.6166444,32.0082093,45.2553231,20.5789165,3.5911614,14.1998592,11.2027101,33.0462865,23.7980998 +1547,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6328377,0.7266594,8.9962091,5.565709,44.0562223,13.513692,26.7022549,70.4028518,40.7583225,44.9515668,20.3301419,4.7968297,11.2916595,9.155066,33.0827149,9.0231812,0.6383813,0.73732,8.663129,5.5837286,43.4709331,13.8745532,26.8643806,70.5313542,40.8358841,44.6642278,20.7589894,4.8764659,11.8279897,9.3446837,32.9878542,10.4355116,0.6804435,0.7616785,8.8317264,5.7954656,43.6582669,14.2451276,26.250904,69.8267132,40.5085977,44.0067817,20.5258671,4.943312,11.2184659,9.1497137,32.9134497,10.7838019,0.7536477,0.7931088,8.6886567,5.7377921,43.1921029,14.4542772,26.975937,70.0311113,40.5316819,44.1636993,21.8267927,5.1907581,10.6854394,9.214446,32.1172706,10.9813084,0.8112693,0.8158324,8.9788046,6.0866504,43.5668537,14.6768952,27.1126698,69.7078128,40.0809467,43.95454,20.9037742,5.2698886,10.7861755,9.1857397,32.0417104,12.7802691 +1548,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5101449,0.534606,8.1856478,5.0622948,41.1769959,19.6329165,31.6528303,68.1352662,38.5573058,47.7220548,22.5940375,6.4188585,9.5454518,9.3670398,34.0600939,3.6989777,0.5801485,0.6200902,8.0592656,4.9246344,40.8157924,19.6407295,32.2360362,68.2305164,38.8888895,47.8399814,22.7665496,6.782442,10.3429823,9.2744778,33.9395076,4.9492119,0.5557646,0.6188729,7.9695247,4.8365034,40.8563409,20.0187803,32.6034177,68.1755228,38.6619366,48.0958953,22.4078285,6.9845945,10.3652086,9.1478693,34.0122576,5.1767424,0.6387253,0.7081246,8.3062999,5.0623225,40.7221959,20.5546046,32.3896038,68.8051941,37.8614739,47.8701323,21.5324677,6.9004307,10.3713051,8.6964278,33.9138298,4.974463,0.6671866,0.7599988,8.5075623,5.3459142,40.6544539,20.0220856,31.80172,69.681033,37.7672424,48.5775892,21.8362074,6.6810308,10.4407231,8.6309523,34.7222287,4.9492119 +1549,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6708638,0.6822094,8.4546348,5.1482543,25.1596689,17.0751001,35.0782176,70.1655612,40.2116081,51.122321,23.0818415,4.2226344,10.7843176,10.6718637,31.1569955,4.4642825,0.6966906,0.6797069,8.5547677,5.5565603,24.7564692,16.9139641,34.3446585,70.1649648,40.6141385,51.1915314,22.8322245,4.2071541,10.4739508,10.2615294,31.2613929,4.4963996,0.7008715,0.6817154,8.8235383,5.7145447,24.4771438,16.3929402,33.67386,69.6709195,40.0922328,50.2169236,22.4642535,4.2578238,10.534755,10.5762304,31.1354742,5.2158198,0.6917989,0.6748406,8.9174831,5.8788049,24.5523645,16.1692293,33.795753,69.3673599,39.8215459,50.3003719,22.1858652,4.3028847,10.7802189,10.8916043,31.7335044,4.1218549,0.7000552,0.6833251,9.1753393,6.0231813,24.2767917,16.2247686,33.6446337,69.4274552,39.7364462,50.122147,22.5257109,4.3724971,10.4587494,10.7351379,31.4616751,4.6874919 +1550,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6920586,0.7078695,8.2839488,5.2480222,39.9789878,20.2310405,29.3466095,68.928339,36.1879079,47.2552911,21.099465,4.4230262,10.7412264,8.8083836,32.2928796,3.8501317,0.7359626,0.7628836,8.4095477,5.249521,39.1777291,19.9703916,29.5310489,68.3502774,36.3668744,46.7461615,21.0576753,4.4806832,10.499064,9.0959581,32.3245607,5.5573926,0.7115001,0.738493,8.2896561,5.0613136,39.6050713,20.0433856,29.8463481,67.9756142,36.304832,46.3196305,20.7326061,4.443418,10.7358237,9.6060161,32.0848737,4.7034596,0.7619666,0.7884443,8.5589698,5.4201068,39.038372,19.7565772,30.5548449,68.1431463,36.115946,45.9312336,20.7873147,4.4634729,10.5098925,9.618645,30.8997587,4.738778,0.7404136,0.7562743,8.8416938,5.6568962,39.1649479,19.1417966,30.9340409,68.0199171,35.6399864,45.2587331,19.9265967,4.4623779,10.0781799,9.2774118,31.8294658,5.1702526 +1551,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1333189,1.1522995,14.4516941,10.0630657,41.9252431,15.8220302,31.7303598,71.2615308,39.5658088,48.7062579,25.7053793,4.1704867,12.8932106,12.461985,40.6566931,6.3253012,1.2910256,1.3096749,14.8883386,10.398483,41.4325831,15.4768535,33.5636842,71.2283627,39.6916526,48.8993286,25.5831005,3.9607679,12.964217,12.1638879,40.4822108,8.1325301,1.1819213,1.2001544,15.0288209,10.7014829,40.8452505,15.4559318,33.6216393,71.5659662,39.3326395,49.051757,25.7237483,4.3800542,12.2761346,12.2532473,40.9407143,7.3369485,1.221237,1.2502351,15.780808,11.2182529,40.8803484,15.6572807,34.3123291,70.6064973,39.2788919,48.7822275,25.3342993,4.5606506,12.661151,12.5459559,41.1409926,9.0206093,1.2481921,1.2767432,15.6685241,10.9795765,39.9091391,15.6568036,33.5136501,70.1552268,39.2521183,48.3772244,25.0470485,4.492005,12.5337028,12.5112119,40.5148998,8.9743544 +1552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6966906,0.6797069,8.5547677,5.5565603,24.7564692,16.9139641,34.3446585,70.1649648,40.6141385,51.1915314,22.8322245,4.2071541,10.4739508,10.2615294,31.2613929,4.4963996,0.7008715,0.6817154,8.8235383,5.7145447,24.4771438,16.3929402,33.67386,69.6709195,40.0922328,50.2169236,22.4642535,4.2578238,10.534755,10.5762304,31.1354742,5.2158198,0.6917989,0.6748406,8.9174831,5.8788049,24.5523645,16.1692293,33.795753,69.3673599,39.8215459,50.3003719,22.1858652,4.3028847,10.7802189,10.8916043,31.7335044,4.1218549,0.7000552,0.6833251,9.1753393,6.0231813,24.2767917,16.2247686,33.6446337,69.4274552,39.7364462,50.122147,22.5257109,4.3724971,10.4587494,10.7351379,31.4616751,4.6874919,0.7373418,0.7206873,9.4084771,6.2128257,24.5288056,16.119838,33.6899982,68.5368718,39.5181187,49.9390762,22.7296131,4.3232459,10.1053002,10.6473537,31.6684024,5.2364812 +1553,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4881208,0.5417113,7.2701149,4.7413793,45.4782609,23.4943182,30.1146132,69.4269341,35.4441261,44.269341,18.1375358,5.1862464,10.7101947,7.1674312,33.2756632,1.2,0.4194631,0.4710893,7.2139303,4.8369265,45.8146067,23.7925357,30.1714602,69.0542035,36.034292,44.7732301,18.7776549,5.1161504,10.3165939,7.0414847,33.6083608,2.5362319,0.4322638,0.4808783,7.0015617,4.6069755,45.782815,24.1103662,29.0818988,70.0312989,36.4893062,44.5748565,18.7532603,5.5555556,10.1987448,7.165272,34.0549102,2.3972603,0.4350785,0.4831092,6.9701646,4.5010288,45.4997384,23.8863287,28.9596273,70.1086957,36.7753623,45.315735,18.9182195,5.615942,10.3033473,7.6963351,34.1605069,2.4305556,0.3889157,0.4210907,7.0098293,4.3714434,45.933893,22.6178279,28.5751295,68.9896373,35.6217617,44.7927461,19.1450777,5.5181347,10.8604407,7.7287066,34.9416755,3.7931034 +1554,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7019199,2.8053379,36.8028358,31.0009085,45.8508991,19.2201412,34.5884995,65.124481,33.3757607,45.8342162,20.1752333,3.347506,14.7382962,12.6992398,33.4762531,20.1114622,2.7428176,2.847326,37.0492938,31.3028678,46.4594159,19.4992119,34.836491,65.5057757,33.5450483,45.7178307,20.2406959,3.7066568,15.0425945,11.914096,33.3498948,20.1088397,2.6415112,2.7452973,36.3194031,31.0418542,46.9659373,19.0077608,35.3407322,66.1066901,32.1546904,45.810172,20.1234505,3.6284033,14.2855019,11.1683272,31.8713733,22.3114886,2.2865569,2.3918239,36.2216647,31.2339675,48.7199173,19.2764361,35.3188667,66.6166444,32.0082093,45.2553231,20.5789165,3.5911614,14.1998592,11.2027101,33.0462865,23.7980998,1.9570534,2.0517775,35.5637169,30.8136681,49.3543587,19.3299767,35.7432171,66.6579865,32.5191997,45.1670047,20.6365463,3.2550764,16.1327754,11.735448,33.0409749,24.3961836 +1555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7666024,2.7337905,40.6887506,35.0782229,68.2457086,13.8801639,35.3517972,63.0007955,25.0969823,38.4028341,16.9384744,2.2530293,18.1575979,12.8190973,43.7871927,28.3772933,3.0261565,3.0341768,41.2520485,35.8054589,68.8866078,14.3261763,35.3592631,63.24461,25.5870898,37.6680203,17.5626643,2.3130607,18.067708,13.3584476,42.7536432,29.6882109,3.1395144,3.147406,42.1323159,36.734787,69.6590163,13.7568769,35.7013996,62.5353391,25.5908127,37.4393098,17.6491034,2.1316992,18.3520586,13.486931,43.2631319,30.3046359,2.9494733,2.9922837,41.8436136,36.7286019,70.4278192,13.498893,35.8673771,61.8932162,24.9103127,37.6442042,17.7333893,2.0175547,18.4170908,14.0934632,42.4208559,29.237035,2.8445954,2.8791323,40.9080369,35.9720549,70.8493616,12.9879744,35.4167482,61.2383617,25.274017,38.0334517,18.3897264,2.0599805,17.6744207,14.1696739,43.6552955,29.7449377 +1556,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5801485,0.6200902,8.0592656,4.9246344,40.8157924,19.6407295,32.2360362,68.2305164,38.8888895,47.8399814,22.7665496,6.782442,10.3429823,9.2744778,33.9395076,4.9492119,0.5557646,0.6188729,7.9695247,4.8365034,40.8563409,20.0187803,32.6034177,68.1755228,38.6619366,48.0958953,22.4078285,6.9845945,10.3652086,9.1478693,34.0122576,5.1767424,0.6387253,0.7081246,8.3062999,5.0623225,40.7221959,20.5546046,32.3896038,68.8051941,37.8614739,47.8701323,21.5324677,6.9004307,10.3713051,8.6964278,33.9138298,4.974463,0.6671866,0.7599988,8.5075623,5.3459142,40.6544539,20.0220856,31.80172,69.681033,37.7672424,48.5775892,21.8362074,6.6810308,10.4407231,8.6309523,34.7222287,4.9492119,0.7209318,0.7807701,8.8469847,5.5407882,39.827179,20.2017645,31.7190606,69.582484,37.9563883,48.9773507,21.6446919,6.5162221,10.7033176,8.4928195,34.2322222,4.8871918 +1557,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9582899,1.9582899,34.9612403,30.3100775,65.5645161,7.4845679,30.3767661,60.8320251,26.2951334,37.755102,14.3642072,6.8288854,14.6302251,11.0576923,36.2903226,18.0981595,2.0004518,2.0004518,34.0909091,30.1724138,65.1294498,7.7932099,32.4175824,61.1459969,27.2370487,37.1271586,15.1491366,7.4568289,16.2295082,11.6013072,36.0197368,19.0909091,1.8720509,1.8720509,34.070122,30.2591463,65.3426791,7.7095808,33.3080425,62.5948407,27.5417299,37.8603945,15.2503794,6.6009105,16.4576803,11.09375,36.6352201,18.4848485,1.9330927,1.9330927,34.563253,30.496988,65.1001541,7.1851852,34.2578711,63.0434783,28.7106447,38.155922,15.6671664,6.6716642,17.0623145,11.9822485,36.7559524,17.3529412,1.8222627,1.8222627,34.5982143,30.5803571,66.0741886,6.2776957,35.3073463,64.0929535,28.1109445,38.155922,15.6671664,6.5217391,17.1130952,12.6488095,36.8656716,16.8571429 +1558,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2614327,0.2916267,7.2644208,4.5225353,49.7958558,19.261412,27.4047454,66.6302248,34.7439105,41.3959923,18.6602145,7.9169291,9.3827965,7.8437529,35.6606145,2.5297619,0.2718397,0.2893136,7.5396825,4.7142845,49.1945701,19.5411129,27.4198595,66.8604589,35.0879956,41.4361941,18.6517921,7.8409835,8.7957175,7.548962,35.4522529,3.4743223,0.2856107,0.2988983,7.0106638,4.3757823,48.0269318,19.7025476,26.8677725,66.7239763,34.4013757,42.3726096,18.8340097,7.3616776,8.8564308,7.5653774,35.5451704,4.5741354,0.2985928,0.3117867,7.024401,4.4274041,47.7777772,19.8623914,26.2838488,67.1490872,34.375974,42.9660731,18.8764391,7.6097129,9.3272144,7.4969367,36.5113439,5.2215239,0.305781,0.3098791,7.1155635,4.4412554,47.669969,20.8799792,26.9255149,67.2741756,34.215527,43.8510232,19.6354965,8.0348681,8.7429964,6.8718869,36.2812574,5.2013475 +1559,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3733448,0.4578756,7.7829043,4.8729768,61.9416981,21.0105126,30.5309676,63.9729844,31.7885415,42.6874608,17.7689828,5.3796017,10.7484807,8.5801424,33.1441164,3.3505172,0.3808047,0.4695359,7.5219028,4.9415752,61.1877729,22.3684126,30.4400916,64.3765271,31.6625958,42.7628257,17.9706632,5.7457238,10.9015669,8.6175139,31.9649535,2.57143,0.3072372,0.3815811,7.705821,4.9949767,59.6406861,22.5196432,30.9919379,65.030206,31.7975877,44.2849832,18.4038273,6.0674741,10.90298,8.1406567,31.3583875,2.6162791,0.3206662,0.3982595,7.3498669,4.8735659,59.1726124,21.8542107,30.3994819,65.1867903,32.3963423,44.6927505,18.260715,6.1744864,10.4806508,8.0513423,31.5710785,4.9342105,0.2126416,0.2445798,7.214516,4.5961203,57.8074662,22.2618518,30.6895887,65.0507068,33.4362318,44.4228151,19.871162,6.3621351,10.0329761,8.4066618,32.7645732,4.8148148 +1560,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6383813,0.73732,8.663129,5.5837286,43.4709331,13.8745532,26.8643806,70.5313542,40.8358841,44.6642278,20.7589894,4.8764659,11.8279897,9.3446837,32.9878542,10.4355116,0.6804435,0.7616785,8.8317264,5.7954656,43.6582669,14.2451276,26.250904,69.8267132,40.5085977,44.0067817,20.5258671,4.943312,11.2184659,9.1497137,32.9134497,10.7838019,0.7536477,0.7931088,8.6886567,5.7377921,43.1921029,14.4542772,26.975937,70.0311113,40.5316819,44.1636993,21.8267927,5.1907581,10.6854394,9.214446,32.1172706,10.9813084,0.8112693,0.8158324,8.9788046,6.0866504,43.5668537,14.6768952,27.1126698,69.7078128,40.0809467,43.95454,20.9037742,5.2698886,10.7861755,9.1857397,32.0417104,12.7802691,0.7908179,0.7852407,8.8987634,5.9443271,43.0721142,14.5800992,27.0147993,68.8952938,40.3256521,44.7843641,21.4987628,5.298967,10.0624054,8.7462153,32.0612062,12.2844828 +1561,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.685832,1.71927,27.5733217,23.0128164,43.0510702,18.8868497,37.8193561,65.0362441,35.5561343,47.1815103,22.3632931,3.8818155,12.3852811,10.2561995,31.2683257,16.0279792,1.6183229,1.5978359,28.2608615,23.2391703,43.1524416,19.3254393,38.1875342,64.2997705,35.942751,48.3028726,22.6326594,3.7297541,11.9185693,10.0082571,31.2113948,15.8891658,1.6162285,1.5957676,28.3789755,23.5995984,42.7328168,18.8690446,40.1347006,64.3037326,36.5648799,48.8992956,22.7920577,3.4773579,11.8190937,10.1955174,31.7643025,15.6029487,1.6846888,1.6640422,28.9223887,24.1562348,43.79056,18.1878012,40.764665,64.2764944,35.7206706,49.1020918,22.5844406,3.6450084,11.5796188,10.1604146,31.9519681,15.6409178,1.6709346,1.6665015,28.8839298,24.0258614,42.702101,18.3934936,41.4107687,65.0544517,37.1688536,48.7608806,23.4551098,3.5361014,11.2349774,9.709289,32.3705365,13.8476997 +1562,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7428176,2.847326,37.0492938,31.3028678,46.4594159,19.4992119,34.836491,65.5057757,33.5450483,45.7178307,20.2406959,3.7066568,15.0425945,11.914096,33.3498948,20.1088397,2.6415112,2.7452973,36.3194031,31.0418542,46.9659373,19.0077608,35.3407322,66.1066901,32.1546904,45.810172,20.1234505,3.6284033,14.2855019,11.1683272,31.8713733,22.3114886,2.2865569,2.3918239,36.2216647,31.2339675,48.7199173,19.2764361,35.3188667,66.6166444,32.0082093,45.2553231,20.5789165,3.5911614,14.1998592,11.2027101,33.0462865,23.7980998,1.9570534,2.0517775,35.5637169,30.8136681,49.3543587,19.3299767,35.7432171,66.6579865,32.5191997,45.1670047,20.6365463,3.2550764,16.1327754,11.735448,33.0409749,24.3961836,1.8462632,1.892056,36.4046888,32.212446,49.1621307,18.4716946,36.1581766,67.1831561,32.2481951,45.3683558,20.5212136,2.7424663,17.2356723,11.8633001,32.6646492,24.5049879 +1563,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5557646,0.6188729,7.9695247,4.8365034,40.8563409,20.0187803,32.6034177,68.1755228,38.6619366,48.0958953,22.4078285,6.9845945,10.3652086,9.1478693,34.0122576,5.1767424,0.6387253,0.7081246,8.3062999,5.0623225,40.7221959,20.5546046,32.3896038,68.8051941,37.8614739,47.8701323,21.5324677,6.9004307,10.3713051,8.6964278,33.9138298,4.974463,0.6671866,0.7599988,8.5075623,5.3459142,40.6544539,20.0220856,31.80172,69.681033,37.7672424,48.5775892,21.8362074,6.6810308,10.4407231,8.6309523,34.7222287,4.9492119,0.7209318,0.7807701,8.8469847,5.5407882,39.827179,20.2017645,31.7190606,69.582484,37.9563883,48.9773507,21.6446919,6.5162221,10.7033176,8.4928195,34.2322222,4.8871918,0.7090738,0.7660561,8.9612548,5.498764,39.3452434,20.4620734,31.6800905,68.5380934,37.8902298,49.2027545,21.6599522,6.6549126,10.3863146,8.6078055,34.3515353,4.3859398 +1564,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5571004,1.5675299,33.7764199,29.7625033,56.7211967,15.2500656,33.0386996,63.5073726,30.2013531,42.2353149,16.0124814,1.7793383,18.9006883,12.8453194,38.636673,23.9083173,1.6093872,1.631909,34.2375417,30.1262519,57.2223766,15.919404,32.4838216,63.2300344,30.9586931,41.9596023,16.1785913,1.779202,18.6300505,12.622956,37.871315,23.8864848,1.4809255,1.4968563,34.7412295,30.6661633,58.4294797,15.9443704,33.2197848,63.1482162,31.3435759,42.7672904,16.3143692,1.7731002,19.6181154,12.9612492,39.4441694,23.3435429,1.3881583,1.4645125,34.77946,30.8522674,59.2192819,15.682094,33.4890013,62.6686449,32.3358975,42.7298745,16.3181163,1.5912654,18.5288551,12.9493014,40.2673354,23.225526,1.4898739,1.5628894,34.9911473,30.9581778,59.8498246,15.7834772,34.2572832,62.3075604,32.853673,43.0297451,17.4928073,1.9720135,17.7983527,14.0071416,40.0519477,20.8171764 +1565,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.774521,0.7851342,9.123328,6.0953594,57.6698733,8.739451,25.2624061,66.7333968,32.7575446,40.388641,17.3611621,6.7460703,10.3586399,8.6202591,36.543645,6.0128666,0.8032501,0.816877,9.3718242,6.2873216,57.4992504,8.7613661,25.6789483,66.4568339,33.2480735,40.2151868,17.4843757,6.8282838,10.6326272,8.9289707,36.514587,6.1445783,0.8030935,0.8149697,9.6802307,6.4666089,57.7352077,8.6926717,25.9335105,66.102852,32.660122,40.1741636,17.1363081,6.6102177,10.6891477,8.9676022,36.3883095,6.4858491,0.7899386,0.8079257,9.9714306,6.730628,57.824641,8.7732474,26.1605111,65.5411376,32.8284527,40.2818239,16.9682399,6.4977579,10.5581816,8.8527976,36.8240528,6.5301391,0.8139656,0.8435384,10.1319645,6.9294931,57.5222738,8.6382646,26.0439922,65.1703895,32.7834006,40.0670155,17.0787839,6.336456,10.254469,8.8755754,36.8330555,7.1380922 +1566,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6387253,0.7081246,8.3062999,5.0623225,40.7221959,20.5546046,32.3896038,68.8051941,37.8614739,47.8701323,21.5324677,6.9004307,10.3713051,8.6964278,33.9138298,4.974463,0.6671866,0.7599988,8.5075623,5.3459142,40.6544539,20.0220856,31.80172,69.681033,37.7672424,48.5775892,21.8362074,6.6810308,10.4407231,8.6309523,34.7222287,4.9492119,0.7209318,0.7807701,8.8469847,5.5407882,39.827179,20.2017645,31.7190606,69.582484,37.9563883,48.9773507,21.6446919,6.5162221,10.7033176,8.4928195,34.2322222,4.8871918,0.7090738,0.7660561,8.9612548,5.498764,39.3452434,20.4620734,31.6800905,68.5380934,37.8902298,49.2027545,21.6599522,6.6549126,10.3863146,8.6078055,34.3515353,4.3859398,0.6889038,0.7551038,8.9852031,5.7489032,38.8564332,20.5714753,31.2489711,68.2072821,37.971659,49.4397801,21.4120986,6.5002427,9.9771434,8.398816,33.53639,5.1898481 +1567,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6686618,1.759529,25.8324036,21.7067877,53.6349499,16.055451,40.4162979,65.2879578,33.7042115,47.5941196,20.3154287,2.4652382,15.1668429,11.9252508,35.3991844,13.4740172,1.7265214,1.8174871,26.3271393,22.5305535,53.0784726,16.2163918,40.9520426,65.4456734,33.5897525,47.541482,20.6014963,2.5023489,14.5071437,11.2648149,36.1642412,12.5798434,1.647428,1.7379164,26.9355442,23.1172946,53.2915322,15.4121845,40.5288678,65.6452371,33.5389109,46.7031251,20.4104197,2.2093386,14.3471282,11.3053489,36.5671138,11.343908,1.764756,1.8226731,27.8217567,23.8817516,53.6877739,14.577189,40.1427503,65.4203377,33.8924784,47.0880198,20.847086,2.2846097,14.9696862,11.9956883,35.9899739,10.992652,1.8596572,1.9356585,28.6268515,24.2805275,55.1672286,13.8608758,40.5444364,65.1975181,33.9583091,47.4025218,21.3594094,2.3317028,15.8727385,12.1272673,36.3328291,12.850565 +1568,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2197162,1.2429533,15.6453026,11.9926711,35.5322768,19.8903082,33.6686188,66.9472402,37.1979341,46.2251601,25.3386447,3.139084,10.8999699,9.0731372,35.4573669,13.0554878,1.2034487,1.2174557,15.8100743,12.1915993,36.6393508,19.2582285,33.4652063,66.9922847,36.3320022,45.8042779,24.2005155,2.9289504,11.2017547,9.2290534,35.4575648,12.4316933,1.2169952,1.223529,16.9408015,12.9745096,36.8920198,18.7344631,33.5830414,67.0582977,35.5900579,45.7093439,23.249765,3.0529339,11.3495555,9.0588039,35.0472755,12.5738947,1.1718554,1.133893,18.1939125,14.3978459,38.281759,18.1411488,34.4719982,67.401471,34.5889364,45.396403,23.1178576,3.0237959,11.5640458,9.1061801,36.6400114,12.3571078,1.2849736,1.2494329,19.551034,15.2780686,38.1647083,17.0942359,35.1693257,66.6483405,33.8244297,45.0928082,22.7012086,3.0352342,11.3652178,8.9299226,36.2020317,15.0996319 +1569,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2718397,0.2893136,7.5396825,4.7142845,49.1945701,19.5411129,27.4198595,66.8604589,35.0879956,41.4361941,18.6517921,7.8409835,8.7957175,7.548962,35.4522529,3.4743223,0.2856107,0.2988983,7.0106638,4.3757823,48.0269318,19.7025476,26.8677725,66.7239763,34.4013757,42.3726096,18.8340097,7.3616776,8.8564308,7.5653774,35.5451704,4.5741354,0.2985928,0.3117867,7.024401,4.4274041,47.7777772,19.8623914,26.2838488,67.1490872,34.375974,42.9660731,18.8764391,7.6097129,9.3272144,7.4969367,36.5113439,5.2215239,0.305781,0.3098791,7.1155635,4.4412554,47.669969,20.8799792,26.9255149,67.2741756,34.215527,43.8510232,19.6354965,8.0348681,8.7429964,6.8718869,36.2812574,5.2013475,0.2592356,0.2592356,6.7996188,4.3184623,47.8743398,21.106374,27.2882377,67.3440999,34.2382866,43.3912466,19.7486788,8.2997236,8.9383687,7.2910281,36.9858845,4.9679535 +1570,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5294169,0.5377187,9.2727296,6.2352977,50.9706607,14.569044,31.3966094,68.2124179,36.2836522,45.9274774,21.5790791,3.355776,9.7024418,7.8361481,31.2421169,5.4770555,0.5962623,0.5818452,9.5039574,6.2540124,50.6260955,13.9880353,31.2973002,67.8594553,36.2270225,45.7405646,21.2865067,3.621622,9.7361959,8.0496183,31.3978337,5.8333531,0.6115749,0.6036432,9.1116944,5.7805386,49.6431033,14.2004923,31.1441112,67.7997756,36.8866894,46.1496307,21.1771422,3.4873488,10.0593087,8.4360489,31.4854676,5.8719071,0.585724,0.577488,9.2358116,6.0479298,49.1554812,14.239098,31.0143879,68.3230541,36.8403095,45.9790008,21.7386531,3.7582819,10.1052234,8.5645134,31.4962563,7.0881446,0.6006298,0.5921079,8.7897972,5.79354,47.6457956,14.7462863,31.3621202,68.3781894,37.8305039,46.4707425,21.3763145,3.812561,9.5987361,8.3066419,31.5607868,6.1023848 +1571,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7286679,1.7930759,29.13783,23.2657501,35.6661457,15.8998436,37.1418619,61.1086963,34.6207323,45.9588791,21.0453321,2.6415972,13.5934819,11.1130259,40.5211613,23.1855026,1.8108739,1.8752404,30.0082642,24.4930283,37.6478234,15.4592095,37.4438145,60.3588245,34.1981478,45.1519229,21.6070806,2.7030615,13.5036091,11.2654166,40.4799415,21.5356128,1.7652799,1.8216005,30.2704257,24.8893682,39.3091219,15.4011101,37.0731007,61.4963831,35.0474613,45.6212515,22.6613486,2.9482411,13.9973437,11.2243775,40.0148362,23.4767446,1.8168545,1.8273261,30.2946557,25.0014354,41.1671775,15.3233789,36.7411373,62.2691257,34.9645191,45.5121235,22.200501,2.9521024,14.5775092,11.0916224,40.3450079,22.3510195,1.7812885,1.7993584,30.3370869,25.1510179,42.0838266,15.0303532,36.4701176,62.8542121,35.8938928,45.4900358,22.9551941,2.820839,14.9765525,11.3882289,39.6522611,22.6984242 +1572,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2856107,0.2988983,7.0106638,4.3757823,48.0269318,19.7025476,26.8677725,66.7239763,34.4013757,42.3726096,18.8340097,7.3616776,8.8564308,7.5653774,35.5451704,4.5741354,0.2985928,0.3117867,7.024401,4.4274041,47.7777772,19.8623914,26.2838488,67.1490872,34.375974,42.9660731,18.8764391,7.6097129,9.3272144,7.4969367,36.5113439,5.2215239,0.305781,0.3098791,7.1155635,4.4412554,47.669969,20.8799792,26.9255149,67.2741756,34.215527,43.8510232,19.6354965,8.0348681,8.7429964,6.8718869,36.2812574,5.2013475,0.2592356,0.2592356,6.7996188,4.3184623,47.8743398,21.106374,27.2882377,67.3440999,34.2382866,43.3912466,19.7486788,8.2997236,8.9383687,7.2910281,36.9858845,4.9679535,0.2865524,0.2865524,6.8329677,4.2609186,48.0940695,21.6341847,27.3184816,67.5869497,34.6095185,43.0292836,19.9359347,8.6485663,8.2936895,7.2278376,36.6327785,5.3054714 +1573,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8032501,0.816877,9.3718242,6.2873216,57.4992504,8.7613661,25.6789483,66.4568339,33.2480735,40.2151868,17.4843757,6.8282838,10.6326272,8.9289707,36.514587,6.1445783,0.8030935,0.8149697,9.6802307,6.4666089,57.7352077,8.6926717,25.9335105,66.102852,32.660122,40.1741636,17.1363081,6.6102177,10.6891477,8.9676022,36.3883095,6.4858491,0.7899386,0.8079257,9.9714306,6.730628,57.824641,8.7732474,26.1605111,65.5411376,32.8284527,40.2818239,16.9682399,6.4977579,10.5581816,8.8527976,36.8240528,6.5301391,0.8139656,0.8435384,10.1319645,6.9294931,57.5222738,8.6382646,26.0439922,65.1703895,32.7834006,40.0670155,17.0787839,6.336456,10.254469,8.8755754,36.8330555,7.1380922,0.7988636,0.8255633,10.4484898,7.3020701,57.7130931,8.6016899,25.8970158,65.1553025,32.6704148,39.8810972,16.9088855,6.359306,10.3355103,9.0341206,37.0249191,7.5640064 +1574,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3808047,0.4695359,7.5219028,4.9415752,61.1877729,22.3684126,30.4400916,64.3765271,31.6625958,42.7628257,17.9706632,5.7457238,10.9015669,8.6175139,31.9649535,2.57143,0.3072372,0.3815811,7.705821,4.9949767,59.6406861,22.5196432,30.9919379,65.030206,31.7975877,44.2849832,18.4038273,6.0674741,10.90298,8.1406567,31.3583875,2.6162791,0.3206662,0.3982595,7.3498669,4.8735659,59.1726124,21.8542107,30.3994819,65.1867903,32.3963423,44.6927505,18.260715,6.1744864,10.4806508,8.0513423,31.5710785,4.9342105,0.2126416,0.2445798,7.214516,4.5961203,57.8074662,22.2618518,30.6895887,65.0507068,33.4362318,44.4228151,19.871162,6.3621351,10.0329761,8.4066618,32.7645732,4.8148148,0.2766298,0.3151225,7.3958023,4.7687199,55.8335696,23.0275053,30.8993322,65.9510143,33.6484741,44.7596355,20.1318208,5.9278619,9.9772803,8.0572119,31.4075807,5.952381 +1575,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5053302,0.5053302,13.4586099,10.3590512,57.0599179,28.0290473,33.305948,68.3388145,31.0031982,41.0362497,16.3653873,4.8519673,15.7097248,11.2796512,36.6556868,3.0974,0.359153,0.359153,12.293912,8.9935329,56.5990853,26.3980059,33.2496359,67.9229939,31.909332,42.1274842,16.666904,4.9413601,16.0779942,10.3874885,38.6926647,4.9550442,0.4272206,0.4272206,13.708584,10.3804885,56.896689,28.3545384,35.251296,67.6662482,32.9818968,42.7067472,17.7474082,5.2674145,17.0178424,9.6155527,38.4212004,4.4000704,0.534575,0.534575,13.0896118,10.0001382,57.3008269,29.1664999,34.2454247,66.086172,34.7425295,42.5373326,16.0035423,5.3897111,18.7039808,9.4445844,41.0112886,5.158812,0.6342118,0.6342118,13.5553708,10.4709152,56.868015,31.3104377,34.400534,65.1066024,34.5644114,43.9243865,16.5025977,5.3366054,17.9349776,8.5145853,37.0438362,5.4622767 +1576,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.805789,0.8115986,10.7877671,7.8831894,30.377746,13.8188447,32.1930388,69.2673603,41.2085274,48.8769456,21.7547253,6.7905145,10.6927672,9.1776618,33.3699602,6.8306011,0.8128677,0.852824,10.5397423,7.6463003,31.0239684,14.0298694,32.1566687,69.9310865,40.5015471,47.8579317,21.2482905,6.863494,11.4578002,9.2107376,34.324103,6.7164179,0.8854313,0.9311584,10.2679975,7.2714703,29.7202162,13.4909866,31.7156284,70.6675865,40.1796175,48.8999753,21.3815868,6.9076814,11.4554782,9.6716166,33.6941989,7.4519231,0.828979,0.8653465,10.5115833,7.3765364,27.9836258,13.8646191,30.7017676,70.3475907,40.2422067,49.7102131,21.2686458,6.9212376,11.4236122,9.5396853,32.4141173,7.9487179,0.8279856,0.8806077,10.6805109,7.4039675,27.3690613,13.973914,30.6466195,70.2512415,40.5561838,50.0347448,21.5977512,7.127787,11.1551955,9.5394467,31.7085224,6.684492 +1577,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5120558,0.5147151,8.2015015,5.5938458,31.3233153,11.5557343,28.8021225,70.6454863,37.3123584,50.6735134,21.223775,3.6509309,11.0820472,9.9303729,31.2454362,2.689876,0.5416609,0.5312915,8.1324933,5.571923,30.4066448,11.7810247,28.8584694,70.7884703,37.2141706,50.5129178,20.9564548,3.6062178,10.9432138,9.7150496,31.6047137,2.419358,0.5675011,0.542084,8.3469291,5.626148,29.840532,11.7595855,28.6383391,69.9636049,37.4032704,50.460726,20.7940523,3.6753363,10.9080155,9.8518129,32.1209883,2.3364501,0.5848168,0.5749771,8.4165356,5.5978764,29.2245002,11.6362781,28.5860742,70.0616294,37.9214872,50.3264151,21.1908761,3.6815632,10.5485566,9.3216225,31.5323151,3.0351447,0.6081751,0.6131153,8.4076711,5.4722359,28.8219709,11.5286055,29.2556024,69.4849762,38.0059361,50.0719868,21.3497788,3.6738502,10.3713158,9.335552,31.9608922,2.9595016 +1578,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8034702,0.8177218,9.9687296,6.0274459,50.9600413,10.653137,32.2729979,66.7316439,42.589073,45.4942546,24.4989618,4.7949083,10.4323111,10.0616023,39.3293983,4.7851553,0.7612831,0.8003838,10.2637741,6.3210247,49.5713297,11.0221019,32.2023315,66.5347865,43.0266232,46.0796652,24.3893736,4.6974667,10.7242576,9.8326139,37.7153294,4.7861507,0.7852682,0.8286503,10.4225026,6.5482798,49.5577688,11.1012757,32.151771,66.8076672,42.8620792,45.9142711,24.3687311,4.8210227,10.3002323,9.2309609,37.5491272,5.2480866,0.7819383,0.8097686,10.7749665,6.7369033,48.6853459,11.0735596,32.4282414,67.2078823,42.332552,45.4992731,24.3430564,4.776975,10.0700824,9.0064436,37.1969461,5.491321,0.80299,0.8238361,10.7263749,6.7357704,49.0901329,11.0240157,32.774245,67.2645582,42.5786625,45.2596911,24.3944792,4.6690741,9.7557594,8.361134,37.4642896,5.3345312 +1579,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6018856,0.6135906,7.4145034,4.6757486,45.5584243,13.3907302,28.4546515,67.6499898,32.7623004,42.6570946,18.1191367,14.6929163,9.8163837,9.0048092,34.876107,3.0185759,0.5724062,0.5975951,7.3825001,4.8373076,44.7318219,13.6928556,27.8632644,67.9561675,32.8276964,43.0759189,18.1521299,14.4215384,9.948169,8.9429703,35.1825034,3.1013616,0.5511195,0.588299,7.3900881,4.9057898,44.7077933,14.0066265,27.7645288,68.1237724,33.1672743,43.1448227,18.1939393,14.559358,9.9415998,8.8038928,34.9537655,3.1960241,0.5575885,0.5954386,7.4986255,5.0562548,44.7108686,14.2866837,27.254553,67.8640342,32.7978494,42.4917259,18.0846684,14.554604,10.2637289,9.0946157,35.5302839,3.5318574,0.6040561,0.6563946,7.5259283,5.0423028,44.7423113,14.3639311,27.5433033,67.8237498,32.5611773,42.1295005,18.071216,14.5105854,10.1395741,9.0199851,35.9487016,3.4122572 +1580,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.088729,1.1164745,15.4746446,11.2831525,33.5879487,16.0805172,35.7879038,67.9476037,38.9652229,49.3988896,23.3362191,3.6711065,11.437079,10.2118757,31.7480645,12.8675925,1.2579992,1.2969041,15.8286198,11.7256483,33.2426438,16.3687074,35.1005677,68.4359118,38.799644,49.1651835,23.7625126,3.8819977,11.1678557,9.62701,32.1980513,15.9258754,1.397761,1.416788,16.4962176,12.395891,33.4183547,16.356658,34.8374091,68.0455035,38.9930847,48.2656184,23.0665866,3.789909,11.2589051,10.1592521,33.5491806,16.442908,1.2862234,1.2807192,16.2656275,12.5268047,32.8166943,15.777344,34.2905434,67.99425,39.6161238,47.5477133,22.8178725,3.985084,11.5350974,9.7929383,33.8459838,16.871125,1.255135,1.2498339,16.3134826,12.7107084,33.2927943,15.840565,34.4111287,67.803228,39.226131,47.1903264,22.4954495,3.6197547,11.3076895,9.9647775,33.6225432,16.3793292 +1581,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6671866,0.7599988,8.5075623,5.3459142,40.6544539,20.0220856,31.80172,69.681033,37.7672424,48.5775892,21.8362074,6.6810308,10.4407231,8.6309523,34.7222287,4.9492119,0.7209318,0.7807701,8.8469847,5.5407882,39.827179,20.2017645,31.7190606,69.582484,37.9563883,48.9773507,21.6446919,6.5162221,10.7033176,8.4928195,34.2322222,4.8871918,0.7090738,0.7660561,8.9612548,5.498764,39.3452434,20.4620734,31.6800905,68.5380934,37.8902298,49.2027545,21.6599522,6.6549126,10.3863146,8.6078055,34.3515353,4.3859398,0.6889038,0.7551038,8.9852031,5.7489032,38.8564332,20.5714753,31.2489711,68.2072821,37.971659,49.4397801,21.4120986,6.5002427,9.9771434,8.398816,33.53639,5.1898481,0.632349,0.6899751,9.0625061,5.8734005,38.4824095,20.5278389,30.671115,68.1426713,37.7559355,48.8219111,21.457593,6.4754609,9.5473431,8.4158434,33.1886896,4.2997532 +1582,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7209318,0.7807701,8.8469847,5.5407882,39.827179,20.2017645,31.7190606,69.582484,37.9563883,48.9773507,21.6446919,6.5162221,10.7033176,8.4928195,34.2322222,4.8871918,0.7090738,0.7660561,8.9612548,5.498764,39.3452434,20.4620734,31.6800905,68.5380934,37.8902298,49.2027545,21.6599522,6.6549126,10.3863146,8.6078055,34.3515353,4.3859398,0.6889038,0.7551038,8.9852031,5.7489032,38.8564332,20.5714753,31.2489711,68.2072821,37.971659,49.4397801,21.4120986,6.5002427,9.9771434,8.398816,33.53639,5.1898481,0.632349,0.6899751,9.0625061,5.8734005,38.4824095,20.5278389,30.671115,68.1426713,37.7559355,48.8219111,21.457593,6.4754609,9.5473431,8.4158434,33.1886896,4.2997532,0.6306561,0.6608749,9.3608077,6.180482,38.2490344,20.4570491,30.5887111,68.3929995,38.130476,48.7589549,21.5194954,6.5791541,9.1036829,7.7704796,33.4645679,3.734938 +1583,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.0458788,2.2007635,28.3955024,22.1907215,46.1699384,12.4988335,38.5474768,65.6773945,32.0548222,48.2652012,22.5802406,5.0257956,16.0400175,13.0965,35.4057622,15.0826446,2.0927605,2.218415,29.2423211,23.0286969,46.9479516,12.9765785,37.4833339,65.9803748,32.1320485,47.3692503,22.3936733,5.0379218,16.6467356,13.5895253,35.6327936,13.8429752,2.2597176,2.339899,29.360361,22.716365,47.8722302,13.2065551,36.6974235,65.4552833,32.0410417,47.5004435,22.5847343,4.8721584,16.9299849,12.6033265,35.0864254,14.3152101,2.3770887,2.4095417,29.2337159,22.9090731,47.7089712,13.4543818,37.4768016,64.8408876,32.0344228,47.5227768,23.6733148,5.3184563,15.8287891,11.8836773,34.6388659,14.4350015,2.4202807,2.4299551,29.387114,22.7335064,47.5786431,13.8123712,37.1709488,65.1047011,33.5056443,47.2278723,24.4420332,5.2747245,15.7356011,11.6934877,33.8614593,14.37233 +1584,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6804435,0.7616785,8.8317264,5.7954656,43.6582669,14.2451276,26.250904,69.8267132,40.5085977,44.0067817,20.5258671,4.943312,11.2184659,9.1497137,32.9134497,10.7838019,0.7536477,0.7931088,8.6886567,5.7377921,43.1921029,14.4542772,26.975937,70.0311113,40.5316819,44.1636993,21.8267927,5.1907581,10.6854394,9.214446,32.1172706,10.9813084,0.8112693,0.8158324,8.9788046,6.0866504,43.5668537,14.6768952,27.1126698,69.7078128,40.0809467,43.95454,20.9037742,5.2698886,10.7861755,9.1857397,32.0417104,12.7802691,0.7908179,0.7852407,8.8987634,5.9443271,43.0721142,14.5800992,27.0147993,68.8952938,40.3256521,44.7843641,21.4987628,5.298967,10.0624054,8.7462153,32.0612062,12.2844828,0.912394,0.9067723,9.4101503,6.3941742,43.8155754,15.4411915,26.987842,68.4389969,40.765727,44.4146998,21.465375,5.3829888,9.7986853,8.5318117,32.3404537,13.7860082 +1585,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.0261565,3.0341768,41.2520485,35.8054589,68.8866078,14.3261763,35.3592631,63.24461,25.5870898,37.6680203,17.5626643,2.3130607,18.067708,13.3584476,42.7536432,29.6882109,3.1395144,3.147406,42.1323159,36.734787,69.6590163,13.7568769,35.7013996,62.5353391,25.5908127,37.4393098,17.6491034,2.1316992,18.3520586,13.486931,43.2631319,30.3046359,2.9494733,2.9922837,41.8436136,36.7286019,70.4278192,13.498893,35.8673771,61.8932162,24.9103127,37.6442042,17.7333893,2.0175547,18.4170908,14.0934632,42.4208559,29.237035,2.8445954,2.8791323,40.9080369,35.9720549,70.8493616,12.9879744,35.4167482,61.2383617,25.274017,38.0334517,18.3897264,2.0599805,17.6744207,14.1696739,43.6552955,29.7449377,2.8035113,2.8040892,41.468916,36.5646413,71.0960638,12.9747203,35.9232231,61.2303201,25.64985,38.124855,18.1862492,2.0578625,17.0008284,13.7744694,43.4338747,29.2083083 +1586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8401261,0.800588,12.8452886,8.734758,46.3656804,13.5006605,29.2283301,60.9344339,33.3712861,38.0681467,18.1325794,3.7493471,12.4871515,10.773927,36.7963713,9.6638655,0.9425519,0.8740026,13.6421752,9.4304521,47.0845225,14.0455821,30.6581056,61.41688,33.3509304,37.9482849,18.098917,3.7064608,13.2909662,11.1043701,37.3759677,11.5740848,0.9695318,0.9552374,14.3054345,9.6868583,48.3145595,13.0154435,30.7617885,60.5355481,32.9805182,37.0731843,17.6493102,3.8796116,13.5939872,10.7423337,37.9128897,14.830521,1.0515317,1.0373883,14.661387,9.8435946,49.6160457,12.7744885,30.9662267,59.8984303,33.3030489,37.8007105,16.8662458,4.016363,13.8195506,10.931145,36.9688125,14.4736969,1.1448033,1.0756716,15.3332177,9.8971067,50.0564934,12.9946867,31.1274081,60.4735208,33.7377812,37.4308817,17.7919474,4.1009156,13.8477188,10.950942,37.7711731,14.3441216 +1587,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5407023,0.5825621,7.7842745,4.6789574,36.3464353,24.258051,30.4953895,68.1723299,32.9100349,45.14981,15.5911572,8.4720748,10.4166693,10.3316356,34.3483237,2.2277117,0.4946871,0.5352165,7.0385139,4.3610388,36.3432977,24.6518117,28.7414101,67.9911142,32.4928898,44.1507966,15.7926445,8.3299432,9.3775696,10.1882236,33.4575403,2.1739025,0.4554344,0.4934019,6.9123272,4.203173,36.5431323,25.7014837,30.335991,68.6758698,33.6560793,44.9604112,15.8695743,8.5177596,10.3238937,9.9919175,33.0475227,3.0092523,0.3688571,0.3791652,6.6705608,4.0492847,35.8013422,25.2012261,29.6461926,68.798582,33.5342076,44.731691,16.5435624,7.9510102,10.7796481,10.453115,33.6678563,3.0952307,0.3973244,0.4075544,6.9266555,4.2879176,36.010243,25.1907365,29.6446168,68.2309595,34.0479056,45.3649622,16.9370469,7.782923,11.5263648,10.7311419,33.743126,2.4999943 +1588,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4946871,0.5352165,7.0385139,4.3610388,36.3432977,24.6518117,28.7414101,67.9911142,32.4928898,44.1507966,15.7926445,8.3299432,9.3775696,10.1882236,33.4575403,2.1739025,0.4554344,0.4934019,6.9123272,4.203173,36.5431323,25.7014837,30.335991,68.6758698,33.6560793,44.9604112,15.8695743,8.5177596,10.3238937,9.9919175,33.0475227,3.0092523,0.3688571,0.3791652,6.6705608,4.0492847,35.8013422,25.2012261,29.6461926,68.798582,33.5342076,44.731691,16.5435624,7.9510102,10.7796481,10.453115,33.6678563,3.0952307,0.3973244,0.4075544,6.9266555,4.2879176,36.010243,25.1907365,29.6446168,68.2309595,34.0479056,45.3649622,16.9370469,7.782923,11.5263648,10.7311419,33.743126,2.4999943,0.4096747,0.4314361,7.4476182,4.4380834,35.6457219,24.9906917,29.8594935,69.267293,34.3014719,45.8427874,17.4069996,7.6119972,11.5237101,10.6732731,33.9630286,3.2608625 +1589,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2034487,1.2174557,15.8100743,12.1915993,36.6393508,19.2582285,33.4652063,66.9922847,36.3320022,45.8042779,24.2005155,2.9289504,11.2017547,9.2290534,35.4575648,12.4316933,1.2169952,1.223529,16.9408015,12.9745096,36.8920198,18.7344631,33.5830414,67.0582977,35.5900579,45.7093439,23.249765,3.0529339,11.3495555,9.0588039,35.0472755,12.5738947,1.1718554,1.133893,18.1939125,14.3978459,38.281759,18.1411488,34.4719982,67.401471,34.5889364,45.396403,23.1178576,3.0237959,11.5640458,9.1061801,36.6400114,12.3571078,1.2849736,1.2494329,19.551034,15.2780686,38.1647083,17.0942359,35.1693257,66.6483405,33.8244297,45.0928082,22.7012086,3.0352342,11.3652178,8.9299226,36.2020317,15.0996319,1.3668974,1.3323041,19.7233527,15.6280701,38.9862861,16.9130174,35.4065023,66.9811537,33.8385691,44.9929307,22.8618894,3.0113155,11.4578618,8.6391891,36.9928617,16.4291469 +1590,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8030935,0.8149697,9.6802307,6.4666089,57.7352077,8.6926717,25.9335105,66.102852,32.660122,40.1741636,17.1363081,6.6102177,10.6891477,8.9676022,36.3883095,6.4858491,0.7899386,0.8079257,9.9714306,6.730628,57.824641,8.7732474,26.1605111,65.5411376,32.8284527,40.2818239,16.9682399,6.4977579,10.5581816,8.8527976,36.8240528,6.5301391,0.8139656,0.8435384,10.1319645,6.9294931,57.5222738,8.6382646,26.0439922,65.1703895,32.7834006,40.0670155,17.0787839,6.336456,10.254469,8.8755754,36.8330555,7.1380922,0.7988636,0.8255633,10.4484898,7.3020701,57.7130931,8.6016899,25.8970158,65.1553025,32.6704148,39.8810972,16.9088855,6.359306,10.3355103,9.0341206,37.0249191,7.5640064,0.7820923,0.7941029,10.6579978,7.6752314,57.6459871,8.8632905,26.1273701,65.0808857,32.5947715,39.8759654,17.0472552,6.3524675,10.3715107,9.2112502,37.0274443,6.6794929 +1591,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.359153,0.359153,12.293912,8.9935329,56.5990853,26.3980059,33.2496359,67.9229939,31.909332,42.1274842,16.666904,4.9413601,16.0779942,10.3874885,38.6926647,4.9550442,0.4272206,0.4272206,13.708584,10.3804885,56.896689,28.3545384,35.251296,67.6662482,32.9818968,42.7067472,17.7474082,5.2674145,17.0178424,9.6155527,38.4212004,4.4000704,0.534575,0.534575,13.0896118,10.0001382,57.3008269,29.1664999,34.2454247,66.086172,34.7425295,42.5373326,16.0035423,5.3897111,18.7039808,9.4445844,41.0112886,5.158812,0.6342118,0.6342118,13.5553708,10.4709152,56.868015,31.3104377,34.400534,65.1066024,34.5644114,43.9243865,16.5025977,5.3366054,17.9349776,8.5145853,37.0438362,5.4622767,0.6612612,0.7115381,14.1129478,10.5646098,56.7229613,31.0874529,34.50818,64.5082046,33.032347,43.6885087,15.9836687,4.8361092,17.3078133,7.8671879,36.7958577,4.8246037 +1592,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.1395144,3.147406,42.1323159,36.734787,69.6590163,13.7568769,35.7013996,62.5353391,25.5908127,37.4393098,17.6491034,2.1316992,18.3520586,13.486931,43.2631319,30.3046359,2.9494733,2.9922837,41.8436136,36.7286019,70.4278192,13.498893,35.8673771,61.8932162,24.9103127,37.6442042,17.7333893,2.0175547,18.4170908,14.0934632,42.4208559,29.237035,2.8445954,2.8791323,40.9080369,35.9720549,70.8493616,12.9879744,35.4167482,61.2383617,25.274017,38.0334517,18.3897264,2.0599805,17.6744207,14.1696739,43.6552955,29.7449377,2.8035113,2.8040892,41.468916,36.5646413,71.0960638,12.9747203,35.9232231,61.2303201,25.64985,38.124855,18.1862492,2.0578625,17.0008284,13.7744694,43.4338747,29.2083083,2.6133668,2.6168449,40.4285411,35.5450045,71.4514093,12.7081181,36.1420761,61.45135,25.8103705,38.2293407,17.6239968,2.0997872,16.7919007,13.0087301,43.503812,27.2146445 +1593,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2579992,1.2969041,15.8286198,11.7256483,33.2426438,16.3687074,35.1005677,68.4359118,38.799644,49.1651835,23.7625126,3.8819977,11.1678557,9.62701,32.1980513,15.9258754,1.397761,1.416788,16.4962176,12.395891,33.4183547,16.356658,34.8374091,68.0455035,38.9930847,48.2656184,23.0665866,3.789909,11.2589051,10.1592521,33.5491806,16.442908,1.2862234,1.2807192,16.2656275,12.5268047,32.8166943,15.777344,34.2905434,67.99425,39.6161238,47.5477133,22.8178725,3.985084,11.5350974,9.7929383,33.8459838,16.871125,1.255135,1.2498339,16.3134826,12.7107084,33.2927943,15.840565,34.4111287,67.803228,39.226131,47.1903264,22.4954495,3.6197547,11.3076895,9.9647775,33.6225432,16.3793292,1.3562954,1.3512018,16.8177927,13.2312885,33.046117,15.8917122,34.8076118,67.5780801,39.5508656,47.8734698,22.8339639,3.7645884,11.5638036,9.8173351,34.0430018,16.0526485 +1594,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5416609,0.5312915,8.1324933,5.571923,30.4066448,11.7810247,28.8584694,70.7884703,37.2141706,50.5129178,20.9564548,3.6062178,10.9432138,9.7150496,31.6047137,2.419358,0.5675011,0.542084,8.3469291,5.626148,29.840532,11.7595855,28.6383391,69.9636049,37.4032704,50.460726,20.7940523,3.6753363,10.9080155,9.8518129,32.1209883,2.3364501,0.5848168,0.5749771,8.4165356,5.5978764,29.2245002,11.6362781,28.5860742,70.0616294,37.9214872,50.3264151,21.1908761,3.6815632,10.5485566,9.3216225,31.5323151,3.0351447,0.6081751,0.6131153,8.4076711,5.4722359,28.8219709,11.5286055,29.2556024,69.4849762,38.0059361,50.0719868,21.3497788,3.6738502,10.3713158,9.335552,31.9608922,2.9595016,0.7106461,0.7155659,8.5838298,5.5485835,28.6327345,11.1450836,29.9761353,68.8331433,37.5951143,49.3256647,20.9442102,3.7063056,10.0994942,9.1375171,31.3928345,3.2915371 +1595,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7536477,0.7931088,8.6886567,5.7377921,43.1921029,14.4542772,26.975937,70.0311113,40.5316819,44.1636993,21.8267927,5.1907581,10.6854394,9.214446,32.1172706,10.9813084,0.8112693,0.8158324,8.9788046,6.0866504,43.5668537,14.6768952,27.1126698,69.7078128,40.0809467,43.95454,20.9037742,5.2698886,10.7861755,9.1857397,32.0417104,12.7802691,0.7908179,0.7852407,8.8987634,5.9443271,43.0721142,14.5800992,27.0147993,68.8952938,40.3256521,44.7843641,21.4987628,5.298967,10.0624054,8.7462153,32.0612062,12.2844828,0.912394,0.9067723,9.4101503,6.3941742,43.8155754,15.4411915,26.987842,68.4389969,40.765727,44.4146998,21.465375,5.3829888,9.7986853,8.5318117,32.3404537,13.7860082,0.8347727,0.8291277,9.3736627,6.5197222,42.7863543,15.6976,27.1268606,67.9188449,40.9853048,43.7100046,21.1858191,5.2223414,10.0469539,8.367648,32.2161479,12.7615063 +1596,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4554344,0.4934019,6.9123272,4.203173,36.5431323,25.7014837,30.335991,68.6758698,33.6560793,44.9604112,15.8695743,8.5177596,10.3238937,9.9919175,33.0475227,3.0092523,0.3688571,0.3791652,6.6705608,4.0492847,35.8013422,25.2012261,29.6461926,68.798582,33.5342076,44.731691,16.5435624,7.9510102,10.7796481,10.453115,33.6678563,3.0952307,0.3973244,0.4075544,6.9266555,4.2879176,36.010243,25.1907365,29.6446168,68.2309595,34.0479056,45.3649622,16.9370469,7.782923,11.5263648,10.7311419,33.743126,2.4999943,0.4096747,0.4314361,7.4476182,4.4380834,35.6457219,24.9906917,29.8594935,69.267293,34.3014719,45.8427874,17.4069996,7.6119972,11.5237101,10.6732731,33.9630286,3.2608625,0.4847416,0.4859822,7.3595514,4.5880038,34.8116259,25.1944276,29.4789817,70.6334618,34.9513082,46.2705856,17.9722797,7.440032,11.5441465,10.6453769,34.1928606,3.2894665 +1597,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5230064,0.5391378,9.9007642,6.7816626,44.0616043,19.2417846,32.7611236,69.3181796,40.4013345,45.5270828,23.2833551,3.7959372,7.9327054,7.4806989,34.3507907,3.3582039,0.5293618,0.5462823,10.1842729,6.8974104,43.167882,19.8353423,31.8411703,69.9291836,41.502272,46.2063686,23.4951873,4.0212439,8.4615546,8.1790184,34.1097478,2.7999978,0.4915068,0.5086087,10.4428917,6.8696614,40.6652903,20.9026847,32.6952596,69.6528872,42.4961723,46.681986,24.1705029,3.9050532,8.2564163,7.9814686,32.209551,3.4615385,0.5201346,0.5420037,9.9416641,6.4414271,39.4606593,20.4204967,32.7214947,69.3832625,42.1683842,47.503679,24.7919861,3.5976545,7.9819321,8.4088762,32.5380614,4.1666635,0.4550412,0.4762421,9.4957619,6.1498687,38.5783017,20.4929593,32.9122977,69.9952317,42.3975353,48.1649296,25.2383411,3.5510037,8.0059057,8.3251347,33.0525077,4.7445221 +1598,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3072372,0.3815811,7.705821,4.9949767,59.6406861,22.5196432,30.9919379,65.030206,31.7975877,44.2849832,18.4038273,6.0674741,10.90298,8.1406567,31.3583875,2.6162791,0.3206662,0.3982595,7.3498669,4.8735659,59.1726124,21.8542107,30.3994819,65.1867903,32.3963423,44.6927505,18.260715,6.1744864,10.4806508,8.0513423,31.5710785,4.9342105,0.2126416,0.2445798,7.214516,4.5961203,57.8074662,22.2618518,30.6895887,65.0507068,33.4362318,44.4228151,19.871162,6.3621351,10.0329761,8.4066618,32.7645732,4.8148148,0.2766298,0.3151225,7.3958023,4.7687199,55.8335696,23.0275053,30.8993322,65.9510143,33.6484741,44.7596355,20.1318208,5.9278619,9.9772803,8.0572119,31.4075807,5.952381,0.3684648,0.3656245,7.4252127,4.6019357,55.9788006,22.9685771,31.1156506,67.1860008,33.5505257,45.7249863,20.130329,5.8041033,10.3584308,8.0157634,30.9553093,4.4715447 +1599,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5675011,0.542084,8.3469291,5.626148,29.840532,11.7595855,28.6383391,69.9636049,37.4032704,50.460726,20.7940523,3.6753363,10.9080155,9.8518129,32.1209883,2.3364501,0.5848168,0.5749771,8.4165356,5.5978764,29.2245002,11.6362781,28.5860742,70.0616294,37.9214872,50.3264151,21.1908761,3.6815632,10.5485566,9.3216225,31.5323151,3.0351447,0.6081751,0.6131153,8.4076711,5.4722359,28.8219709,11.5286055,29.2556024,69.4849762,38.0059361,50.0719868,21.3497788,3.6738502,10.3713158,9.335552,31.9608922,2.9595016,0.7106461,0.7155659,8.5838298,5.5485835,28.6327345,11.1450836,29.9761353,68.8331433,37.5951143,49.3256647,20.9442102,3.7063056,10.0994942,9.1375171,31.3928345,3.2915371,0.7308406,0.7269341,8.7706307,5.6077959,28.4686409,11.0980304,30.496378,68.5758713,37.7887536,49.182918,20.6897521,3.5753271,10.4815261,9.3478641,30.9950097,3.7337662 +1600,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7090738,0.7660561,8.9612548,5.498764,39.3452434,20.4620734,31.6800905,68.5380934,37.8902298,49.2027545,21.6599522,6.6549126,10.3863146,8.6078055,34.3515353,4.3859398,0.6889038,0.7551038,8.9852031,5.7489032,38.8564332,20.5714753,31.2489711,68.2072821,37.971659,49.4397801,21.4120986,6.5002427,9.9771434,8.398816,33.53639,5.1898481,0.632349,0.6899751,9.0625061,5.8734005,38.4824095,20.5278389,30.671115,68.1426713,37.7559355,48.8219111,21.457593,6.4754609,9.5473431,8.4158434,33.1886896,4.2997532,0.6306561,0.6608749,9.3608077,6.180482,38.2490344,20.4570491,30.5887111,68.3929995,38.130476,48.7589549,21.5194954,6.5791541,9.1036829,7.7704796,33.4645679,3.734938,0.5895281,0.6133682,8.9871345,5.9531137,37.4999992,20.5350317,30.1970216,68.1585479,38.6984205,49.2786232,22.5798966,6.756126,8.9242383,7.7797989,33.399571,3.6214945 +1601,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6093872,1.631909,34.2375417,30.1262519,57.2223766,15.919404,32.4838216,63.2300344,30.9586931,41.9596023,16.1785913,1.779202,18.6300505,12.622956,37.871315,23.8864848,1.4809255,1.4968563,34.7412295,30.6661633,58.4294797,15.9443704,33.2197848,63.1482162,31.3435759,42.7672904,16.3143692,1.7731002,19.6181154,12.9612492,39.4441694,23.3435429,1.3881583,1.4645125,34.77946,30.8522674,59.2192819,15.682094,33.4890013,62.6686449,32.3358975,42.7298745,16.3181163,1.5912654,18.5288551,12.9493014,40.2673354,23.225526,1.4898739,1.5628894,34.9911473,30.9581778,59.8498246,15.7834772,34.2572832,62.3075604,32.853673,43.0297451,17.4928073,1.9720135,17.7983527,14.0071416,40.0519477,20.8171764,1.6563898,1.6894554,35.3557138,31.0187526,59.9728299,15.6064329,34.3762022,60.9730496,33.1396176,42.9755585,17.8731454,2.1589721,17.8447777,13.6978724,39.2997197,20.8973971 +1602,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2985928,0.3117867,7.024401,4.4274041,47.7777772,19.8623914,26.2838488,67.1490872,34.375974,42.9660731,18.8764391,7.6097129,9.3272144,7.4969367,36.5113439,5.2215239,0.305781,0.3098791,7.1155635,4.4412554,47.669969,20.8799792,26.9255149,67.2741756,34.215527,43.8510232,19.6354965,8.0348681,8.7429964,6.8718869,36.2812574,5.2013475,0.2592356,0.2592356,6.7996188,4.3184623,47.8743398,21.106374,27.2882377,67.3440999,34.2382866,43.3912466,19.7486788,8.2997236,8.9383687,7.2910281,36.9858845,4.9679535,0.2865524,0.2865524,6.8329677,4.2609186,48.0940695,21.6341847,27.3184816,67.5869497,34.6095185,43.0292836,19.9359347,8.6485663,8.2936895,7.2278376,36.6327785,5.3054714,0.3834501,0.3834501,6.8736444,4.1859698,48.2542139,21.5695085,27.6327718,67.0865009,34.0364191,43.4142616,19.7116824,8.6949925,8.6176388,7.1596906,37.3297846,4.1795704 +1603,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.4272206,0.4272206,13.708584,10.3804885,56.896689,28.3545384,35.251296,67.6662482,32.9818968,42.7067472,17.7474082,5.2674145,17.0178424,9.6155527,38.4212004,4.4000704,0.534575,0.534575,13.0896118,10.0001382,57.3008269,29.1664999,34.2454247,66.086172,34.7425295,42.5373326,16.0035423,5.3897111,18.7039808,9.4445844,41.0112886,5.158812,0.6342118,0.6342118,13.5553708,10.4709152,56.868015,31.3104377,34.400534,65.1066024,34.5644114,43.9243865,16.5025977,5.3366054,17.9349776,8.5145853,37.0438362,5.4622767,0.6612612,0.7115381,14.1129478,10.5646098,56.7229613,31.0874529,34.50818,64.5082046,33.032347,43.6885087,15.9836687,4.8361092,17.3078133,7.8671879,36.7958577,4.8246037,0.6563125,0.7062132,14.343018,10.8174204,55.1981993,30.959842,33.7926575,65.8833521,33.4680187,43.1926754,16.2884212,4.7812497,17.3402425,8.2492416,36.9046283,6.1475914 +1604,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7990583,0.7505106,10.9182916,7.4477746,27.6748131,21.7993218,34.9795867,69.4105321,41.658799,52.6654554,24.0985275,3.4650277,11.6688187,9.7631219,33.9470193,4.1436487,0.8604921,0.8135841,11.2615195,7.6316495,27.5899,21.6612138,35.1643054,68.7310387,41.7376432,52.6932842,24.4522764,3.5757707,11.8316048,10.1783547,33.5709752,5.4597701,0.8460694,0.8277895,11.296403,7.5551078,27.3288829,21.9365375,35.1483671,68.7685629,41.2017828,52.9228518,24.851621,3.8130576,12.1492622,10.6160331,34.6084168,5.3370787,0.9363475,0.917977,11.5834133,7.8147908,27.1775164,21.6691442,35.9886685,69.0440925,41.4085854,52.2483654,24.5830727,3.8564632,11.4856706,10.4303565,33.724398,6.176467,0.9440043,0.9582375,11.6045504,8.0518434,27.5060554,21.5214298,37.3581993,69.1492636,41.417923,52.2238886,24.9701358,4.0447774,11.1401835,10.6413861,34.7863907,6.3252974 +1605,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2169952,1.223529,16.9408015,12.9745096,36.8920198,18.7344631,33.5830414,67.0582977,35.5900579,45.7093439,23.249765,3.0529339,11.3495555,9.0588039,35.0472755,12.5738947,1.1718554,1.133893,18.1939125,14.3978459,38.281759,18.1411488,34.4719982,67.401471,34.5889364,45.396403,23.1178576,3.0237959,11.5640458,9.1061801,36.6400114,12.3571078,1.2849736,1.2494329,19.551034,15.2780686,38.1647083,17.0942359,35.1693257,66.6483405,33.8244297,45.0928082,22.7012086,3.0352342,11.3652178,8.9299226,36.2020317,15.0996319,1.3668974,1.3323041,19.7233527,15.6280701,38.9862861,16.9130174,35.4065023,66.9811537,33.8385691,44.9929307,22.8618894,3.0113155,11.4578618,8.6391891,36.9928617,16.4291469,1.4010689,1.3669629,20.293419,15.9756337,39.2100416,16.2738176,34.8324435,67.1427032,33.4923277,44.3208556,22.0988196,2.8042065,11.7380324,8.8538709,36.9823455,15.5508252 +1606,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5962623,0.5818452,9.5039574,6.2540124,50.6260955,13.9880353,31.2973002,67.8594553,36.2270225,45.7405646,21.2865067,3.621622,9.7361959,8.0496183,31.3978337,5.8333531,0.6115749,0.6036432,9.1116944,5.7805386,49.6431033,14.2004923,31.1441112,67.7997756,36.8866894,46.1496307,21.1771422,3.4873488,10.0593087,8.4360489,31.4854676,5.8719071,0.585724,0.577488,9.2358116,6.0479298,49.1554812,14.239098,31.0143879,68.3230541,36.8403095,45.9790008,21.7386531,3.7582819,10.1052234,8.5645134,31.4962563,7.0881446,0.6006298,0.5921079,8.7897972,5.79354,47.6457956,14.7462863,31.3621202,68.3781894,37.8305039,46.4707425,21.3763145,3.812561,9.5987361,8.3066419,31.5607868,6.1023848,0.6093692,0.5947655,8.9027703,5.743324,47.2256966,15.291682,31.3674377,68.583094,38.5138419,46.0559033,21.2537183,3.7957463,10.029012,8.5111596,31.8936285,5.3999849 +1607,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6889038,0.7551038,8.9852031,5.7489032,38.8564332,20.5714753,31.2489711,68.2072821,37.971659,49.4397801,21.4120986,6.5002427,9.9771434,8.398816,33.53639,5.1898481,0.632349,0.6899751,9.0625061,5.8734005,38.4824095,20.5278389,30.671115,68.1426713,37.7559355,48.8219111,21.457593,6.4754609,9.5473431,8.4158434,33.1886896,4.2997532,0.6306561,0.6608749,9.3608077,6.180482,38.2490344,20.4570491,30.5887111,68.3929995,38.130476,48.7589549,21.5194954,6.5791541,9.1036829,7.7704796,33.4645679,3.734938,0.5895281,0.6133682,8.9871345,5.9531137,37.4999992,20.5350317,30.1970216,68.1585479,38.6984205,49.2786232,22.5798966,6.756126,8.9242383,7.7797989,33.399571,3.6214945,0.6105687,0.6158105,8.950765,5.9748456,37.3939701,21.0441867,30.7936725,67.7336815,38.5909156,48.7908821,22.5003854,6.7508892,9.1033821,7.8577968,33.0717103,3.4855752 +1608,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7265214,1.8174871,26.3271393,22.5305535,53.0784726,16.2163918,40.9520426,65.4456734,33.5897525,47.541482,20.6014963,2.5023489,14.5071437,11.2648149,36.1642412,12.5798434,1.647428,1.7379164,26.9355442,23.1172946,53.2915322,15.4121845,40.5288678,65.6452371,33.5389109,46.7031251,20.4104197,2.2093386,14.3471282,11.3053489,36.5671138,11.343908,1.764756,1.8226731,27.8217567,23.8817516,53.6877739,14.577189,40.1427503,65.4203377,33.8924784,47.0880198,20.847086,2.2846097,14.9696862,11.9956883,35.9899739,10.992652,1.8596572,1.9356585,28.6268515,24.2805275,55.1672286,13.8608758,40.5444364,65.1975181,33.9583091,47.4025218,21.3594094,2.3317028,15.8727385,12.1272673,36.3328291,12.850565,1.9259559,2.0037785,28.7689825,24.327659,55.963369,14.7888178,40.5527075,65.5238357,35.4721106,47.7001573,21.7331623,2.6810023,15.5493097,11.9136977,36.235491,13.2836161 +1609,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1718554,1.133893,18.1939125,14.3978459,38.281759,18.1411488,34.4719982,67.401471,34.5889364,45.396403,23.1178576,3.0237959,11.5640458,9.1061801,36.6400114,12.3571078,1.2849736,1.2494329,19.551034,15.2780686,38.1647083,17.0942359,35.1693257,66.6483405,33.8244297,45.0928082,22.7012086,3.0352342,11.3652178,8.9299226,36.2020317,15.0996319,1.3668974,1.3323041,19.7233527,15.6280701,38.9862861,16.9130174,35.4065023,66.9811537,33.8385691,44.9929307,22.8618894,3.0113155,11.4578618,8.6391891,36.9928617,16.4291469,1.4010689,1.3669629,20.293419,15.9756337,39.2100416,16.2738176,34.8324435,67.1427032,33.4923277,44.3208556,22.0988196,2.8042065,11.7380324,8.8538709,36.9823455,15.5508252,1.2572005,1.2234153,21.6459423,16.9232134,40.5934808,16.1573585,35.4765753,67.887155,33.3395221,44.7264208,21.1106616,2.7505073,11.6238278,8.6405977,36.6908596,17.5805781 +1610,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3688571,0.3791652,6.6705608,4.0492847,35.8013422,25.2012261,29.6461926,68.798582,33.5342076,44.731691,16.5435624,7.9510102,10.7796481,10.453115,33.6678563,3.0952307,0.3973244,0.4075544,6.9266555,4.2879176,36.010243,25.1907365,29.6446168,68.2309595,34.0479056,45.3649622,16.9370469,7.782923,11.5263648,10.7311419,33.743126,2.4999943,0.4096747,0.4314361,7.4476182,4.4380834,35.6457219,24.9906917,29.8594935,69.267293,34.3014719,45.8427874,17.4069996,7.6119972,11.5237101,10.6732731,33.9630286,3.2608625,0.4847416,0.4859822,7.3595514,4.5880038,34.8116259,25.1944276,29.4789817,70.6334618,34.9513082,46.2705856,17.9722797,7.440032,11.5441465,10.6453769,34.1928606,3.2894665,0.5610912,0.5566029,7.5175475,4.8208233,33.41458,25.4006364,29.116013,70.9208562,35.267086,46.3903947,18.213643,7.3112361,10.7664037,9.6856548,32.4871367,2.6748916 +1611,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.3794374,0.4209888,7.308769,4.8969853,61.3123558,14.4762689,26.9413159,66.9592083,31.6125419,43.9897779,14.7127716,5.2215922,11.2130504,9.3787295,28.9066926,3.2178744,0.4060205,0.4192132,7.2912638,5.1277168,60.9543016,14.5155761,27.0726055,66.0278014,31.5019054,43.909604,14.2105459,4.8125419,11.6753244,9.8394002,30.4209583,3.7281241,0.4275712,0.4402552,7.2792314,5.1532712,60.063869,14.3836562,26.7364937,66.4804501,32.1573919,43.8435604,14.042438,4.6172102,11.8293659,9.3080055,30.6634333,5.0661529,0.451164,0.4598749,7.3722791,5.299186,58.8730105,14.0179728,26.5958835,67.3075883,32.6660405,43.8905113,14.4818387,4.5133154,11.2165529,9.0559977,31.2240988,5.7204456,0.4331783,0.4415798,7.0858404,5.0683916,58.4063443,14.0159176,27.0621769,67.5227223,32.7807845,44.4963699,14.3344028,4.5419289,11.634217,9.581965,31.2029554,6.5218242 +1612,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.534575,0.534575,13.0896118,10.0001382,57.3008269,29.1664999,34.2454247,66.086172,34.7425295,42.5373326,16.0035423,5.3897111,18.7039808,9.4445844,41.0112886,5.158812,0.6342118,0.6342118,13.5553708,10.4709152,56.868015,31.3104377,34.400534,65.1066024,34.5644114,43.9243865,16.5025977,5.3366054,17.9349776,8.5145853,37.0438362,5.4622767,0.6612612,0.7115381,14.1129478,10.5646098,56.7229613,31.0874529,34.50818,64.5082046,33.032347,43.6885087,15.9836687,4.8361092,17.3078133,7.8671879,36.7958577,4.8246037,0.6563125,0.7062132,14.343018,10.8174204,55.1981993,30.959842,33.7926575,65.8833521,33.4680187,43.1926754,16.2884212,4.7812497,17.3402425,8.2492416,36.9046283,6.1475914,0.8025365,0.8222898,14.4779293,10.9969572,56.5748312,30.9824356,33.3067145,67.1749923,33.6272639,43.258271,16.4525926,5.0562366,15.1668436,8.1667619,35.5216307,6.1983983 +1613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6342118,0.6342118,13.5553708,10.4709152,56.868015,31.3104377,34.400534,65.1066024,34.5644114,43.9243865,16.5025977,5.3366054,17.9349776,8.5145853,37.0438362,5.4622767,0.6612612,0.7115381,14.1129478,10.5646098,56.7229613,31.0874529,34.50818,64.5082046,33.032347,43.6885087,15.9836687,4.8361092,17.3078133,7.8671879,36.7958577,4.8246037,0.6563125,0.7062132,14.343018,10.8174204,55.1981993,30.959842,33.7926575,65.8833521,33.4680187,43.1926754,16.2884212,4.7812497,17.3402425,8.2492416,36.9046283,6.1475914,0.8025365,0.8222898,14.4779293,10.9969572,56.5748312,30.9824356,33.3067145,67.1749923,33.6272639,43.258271,16.4525926,5.0562366,15.1668436,8.1667619,35.5216307,6.1983983,1.0344931,1.0540437,15.2107084,11.778609,55.385841,31.0640039,33.8353467,67.1156947,33.5179895,43.9777018,16.0855319,4.6751744,16.5034837,8.6602439,35.8085585,6.0976353 +1614,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5724062,0.5975951,7.3825001,4.8373076,44.7318219,13.6928556,27.8632644,67.9561675,32.8276964,43.0759189,18.1521299,14.4215384,9.948169,8.9429703,35.1825034,3.1013616,0.5511195,0.588299,7.3900881,4.9057898,44.7077933,14.0066265,27.7645288,68.1237724,33.1672743,43.1448227,18.1939393,14.559358,9.9415998,8.8038928,34.9537655,3.1960241,0.5575885,0.5954386,7.4986255,5.0562548,44.7108686,14.2866837,27.254553,67.8640342,32.7978494,42.4917259,18.0846684,14.554604,10.2637289,9.0946157,35.5302839,3.5318574,0.6040561,0.6563946,7.5259283,5.0423028,44.7423113,14.3639311,27.5433033,67.8237498,32.5611773,42.1295005,18.071216,14.5105854,10.1395741,9.0199851,35.9487016,3.4122572,0.5753436,0.6161333,7.4956839,4.8798283,44.5984326,13.9662227,27.4013944,67.5811604,32.4859164,42.7354446,18.3726897,14.3480013,9.9706362,8.8031004,36.0446325,3.3052049 +1615,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3973244,0.4075544,6.9266555,4.2879176,36.010243,25.1907365,29.6446168,68.2309595,34.0479056,45.3649622,16.9370469,7.782923,11.5263648,10.7311419,33.743126,2.4999943,0.4096747,0.4314361,7.4476182,4.4380834,35.6457219,24.9906917,29.8594935,69.267293,34.3014719,45.8427874,17.4069996,7.6119972,11.5237101,10.6732731,33.9630286,3.2608625,0.4847416,0.4859822,7.3595514,4.5880038,34.8116259,25.1944276,29.4789817,70.6334618,34.9513082,46.2705856,17.9722797,7.440032,11.5441465,10.6453769,34.1928606,3.2894665,0.5610912,0.5566029,7.5175475,4.8208233,33.41458,25.4006364,29.116013,70.9208562,35.267086,46.3903947,18.213643,7.3112361,10.7664037,9.6856548,32.4871367,2.6748916,0.5678464,0.5634325,8.0997427,4.9326412,32.2049916,24.5952333,29.833138,70.0580666,35.1288244,46.0464025,18.1538284,7.163581,11.5905559,9.3995476,32.0043017,3.3073866 +1616,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8108739,1.8752404,30.0082642,24.4930283,37.6478234,15.4592095,37.4438145,60.3588245,34.1981478,45.1519229,21.6070806,2.7030615,13.5036091,11.2654166,40.4799415,21.5356128,1.7652799,1.8216005,30.2704257,24.8893682,39.3091219,15.4011101,37.0731007,61.4963831,35.0474613,45.6212515,22.6613486,2.9482411,13.9973437,11.2243775,40.0148362,23.4767446,1.8168545,1.8273261,30.2946557,25.0014354,41.1671775,15.3233789,36.7411373,62.2691257,34.9645191,45.5121235,22.200501,2.9521024,14.5775092,11.0916224,40.3450079,22.3510195,1.7812885,1.7993584,30.3370869,25.1510179,42.0838266,15.0303532,36.4701176,62.8542121,35.8938928,45.4900358,22.9551941,2.820839,14.9765525,11.3882289,39.6522611,22.6984242,1.7179778,1.7051182,29.8290716,25.0924992,42.7270668,14.8108159,36.8070057,63.8680543,36.2665545,44.7839648,23.0052764,2.8441047,15.5556635,11.4258925,39.442589,20.8333475 +1617,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6304007,0.6273694,9.533691,6.8690352,46.1263176,10.6998661,28.2430902,69.8612313,43.0367944,44.3749235,21.7259322,4.8507003,9.4253134,8.0341644,34.7058773,6.3368056,0.6385266,0.6394396,9.9589365,7.1204304,46.6541385,10.7437546,28.6626054,69.7506551,42.5137178,43.3249872,21.7907428,4.8258174,9.4645795,8.1320999,34.6448146,6.8881708,0.6485514,0.6467994,9.7599201,6.8603619,46.6086815,10.618614,28.7904832,69.6014212,42.0686866,42.8842173,21.6689625,4.9908097,9.3486655,7.8420191,35.0241485,6.4589685,0.6906939,0.6788255,9.9517862,7.0251221,46.4559377,10.509866,28.7305947,69.406871,41.8902385,42.6773838,21.6241669,4.9833691,9.1458043,7.6509313,34.8535236,6.7507438,0.6645853,0.6454607,10.2322808,7.2930481,46.4222691,10.776414,29.2233193,70.0804945,41.8416144,42.9185262,21.5109296,4.933099,9.3756757,7.9163963,34.927757,8.1140375 +1618,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0004518,2.0004518,34.0909091,30.1724138,65.1294498,7.7932099,32.4175824,61.1459969,27.2370487,37.1271586,15.1491366,7.4568289,16.2295082,11.6013072,36.0197368,19.0909091,1.8720509,1.8720509,34.070122,30.2591463,65.3426791,7.7095808,33.3080425,62.5948407,27.5417299,37.8603945,15.2503794,6.6009105,16.4576803,11.09375,36.6352201,18.4848485,1.9330927,1.9330927,34.563253,30.496988,65.1001541,7.1851852,34.2578711,63.0434783,28.7106447,38.155922,15.6671664,6.6716642,17.0623145,11.9822485,36.7559524,17.3529412,1.8222627,1.8222627,34.5982143,30.5803571,66.0741886,6.2776957,35.3073463,64.0929535,28.1109445,38.155922,15.6671664,6.5217391,17.1130952,12.6488095,36.8656716,16.8571429,2.0020013,2.0020013,33.8541667,29.985119,65.9754224,6.2592047,36.002994,64.8952096,27.3203593,39.2964072,16.5419162,6.0628743,16.4723032,10.3498542,36.6959064,14.8255814 +1619,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7899386,0.8079257,9.9714306,6.730628,57.824641,8.7732474,26.1605111,65.5411376,32.8284527,40.2818239,16.9682399,6.4977579,10.5581816,8.8527976,36.8240528,6.5301391,0.8139656,0.8435384,10.1319645,6.9294931,57.5222738,8.6382646,26.0439922,65.1703895,32.7834006,40.0670155,17.0787839,6.336456,10.254469,8.8755754,36.8330555,7.1380922,0.7988636,0.8255633,10.4484898,7.3020701,57.7130931,8.6016899,25.8970158,65.1553025,32.6704148,39.8810972,16.9088855,6.359306,10.3355103,9.0341206,37.0249191,7.5640064,0.7820923,0.7941029,10.6579978,7.6752314,57.6459871,8.8632905,26.1273701,65.0808857,32.5947715,39.8759654,17.0472552,6.3524675,10.3715107,9.2112502,37.0274443,6.6794929,0.7868977,0.8101811,10.9481934,7.9204667,57.7216979,8.8758621,25.9452138,65.0570923,32.6966636,39.9149291,17.0184072,6.3258719,10.6505045,9.3083669,37.1219074,6.5990868 +1620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5848168,0.5749771,8.4165356,5.5978764,29.2245002,11.6362781,28.5860742,70.0616294,37.9214872,50.3264151,21.1908761,3.6815632,10.5485566,9.3216225,31.5323151,3.0351447,0.6081751,0.6131153,8.4076711,5.4722359,28.8219709,11.5286055,29.2556024,69.4849762,38.0059361,50.0719868,21.3497788,3.6738502,10.3713158,9.335552,31.9608922,2.9595016,0.7106461,0.7155659,8.5838298,5.5485835,28.6327345,11.1450836,29.9761353,68.8331433,37.5951143,49.3256647,20.9442102,3.7063056,10.0994942,9.1375171,31.3928345,3.2915371,0.7308406,0.7269341,8.7706307,5.6077959,28.4686409,11.0980304,30.496378,68.5758713,37.7887536,49.182918,20.6897521,3.5753271,10.4815261,9.3478641,30.9950097,3.7337662,0.6820194,0.675675,8.3604951,5.3859974,28.5079164,10.9888483,30.6740721,68.3980345,37.5589211,48.8448439,20.5829805,3.3715574,10.3610865,9.6936235,31.0261878,2.8428113 +1621,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4096747,0.4314361,7.4476182,4.4380834,35.6457219,24.9906917,29.8594935,69.267293,34.3014719,45.8427874,17.4069996,7.6119972,11.5237101,10.6732731,33.9630286,3.2608625,0.4847416,0.4859822,7.3595514,4.5880038,34.8116259,25.1944276,29.4789817,70.6334618,34.9513082,46.2705856,17.9722797,7.440032,11.5441465,10.6453769,34.1928606,3.2894665,0.5610912,0.5566029,7.5175475,4.8208233,33.41458,25.4006364,29.116013,70.9208562,35.267086,46.3903947,18.213643,7.3112361,10.7664037,9.6856548,32.4871367,2.6748916,0.5678464,0.5634325,8.0997427,4.9326412,32.2049916,24.5952333,29.833138,70.0580666,35.1288244,46.0464025,18.1538284,7.163581,11.5905559,9.3995476,32.0043017,3.3073866,0.7395005,0.7253318,8.3791696,5.3355208,31.0157674,24.1724695,29.5595884,69.8165418,35.1743436,46.1100749,18.1468124,6.6972476,10.84464,9.2831308,33.4656916,2.2448934 +1622,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8112693,0.8158324,8.9788046,6.0866504,43.5668537,14.6768952,27.1126698,69.7078128,40.0809467,43.95454,20.9037742,5.2698886,10.7861755,9.1857397,32.0417104,12.7802691,0.7908179,0.7852407,8.8987634,5.9443271,43.0721142,14.5800992,27.0147993,68.8952938,40.3256521,44.7843641,21.4987628,5.298967,10.0624054,8.7462153,32.0612062,12.2844828,0.912394,0.9067723,9.4101503,6.3941742,43.8155754,15.4411915,26.987842,68.4389969,40.765727,44.4146998,21.465375,5.3829888,9.7986853,8.5318117,32.3404537,13.7860082,0.8347727,0.8291277,9.3736627,6.5197222,42.7863543,15.6976,27.1268606,67.9188449,40.9853048,43.7100046,21.1858191,5.2223414,10.0469539,8.367648,32.2161479,12.7615063,0.8574418,0.8039053,9.8448682,6.7243496,42.2848739,16.0851951,26.9195789,67.6597872,41.6337919,43.9571867,21.5379359,5.2050078,9.7873693,7.8376982,31.0802739,10.8695652 +1623,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6612612,0.7115381,14.1129478,10.5646098,56.7229613,31.0874529,34.50818,64.5082046,33.032347,43.6885087,15.9836687,4.8361092,17.3078133,7.8671879,36.7958577,4.8246037,0.6563125,0.7062132,14.343018,10.8174204,55.1981993,30.959842,33.7926575,65.8833521,33.4680187,43.1926754,16.2884212,4.7812497,17.3402425,8.2492416,36.9046283,6.1475914,0.8025365,0.8222898,14.4779293,10.9969572,56.5748312,30.9824356,33.3067145,67.1749923,33.6272639,43.258271,16.4525926,5.0562366,15.1668436,8.1667619,35.5216307,6.1983983,1.0344931,1.0540437,15.2107084,11.778609,55.385841,31.0640039,33.8353467,67.1156947,33.5179895,43.9777018,16.0855319,4.6751744,16.5034837,8.6602439,35.8085585,6.0976353,1.1832368,1.203378,15.1686295,11.9584008,55.163875,30.0481176,33.4678779,66.8547871,32.6611752,42.6612075,15.7257421,4.5968261,15.8334917,9.500095,36.7795266,7.5222237 +1624,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6183229,1.5978359,28.2608615,23.2391703,43.1524416,19.3254393,38.1875342,64.2997705,35.942751,48.3028726,22.6326594,3.7297541,11.9185693,10.0082571,31.2113948,15.8891658,1.6162285,1.5957676,28.3789755,23.5995984,42.7328168,18.8690446,40.1347006,64.3037326,36.5648799,48.8992956,22.7920577,3.4773579,11.8190937,10.1955174,31.7643025,15.6029487,1.6846888,1.6640422,28.9223887,24.1562348,43.79056,18.1878012,40.764665,64.2764944,35.7206706,49.1020918,22.5844406,3.6450084,11.5796188,10.1604146,31.9519681,15.6409178,1.6709346,1.6665015,28.8839298,24.0258614,42.702101,18.3934936,41.4107687,65.0544517,37.1688536,48.7608806,23.4551098,3.5361014,11.2349774,9.709289,32.3705365,13.8476997,1.8980596,1.8516336,29.0687391,24.0610214,42.7071329,18.4318892,41.6975003,65.7649252,37.5285693,48.9665757,24.3101491,3.5305951,11.2455901,9.5506468,31.7924616,16.3821137 +1625,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3836498,1.4280807,20.7788351,16.1387858,84.7462806,12.8823728,31.0787085,63.0197021,32.551753,36.5331164,16.0272779,4.5415504,15.5022806,10.8216221,37.657743,12.9348539,1.2491024,1.3071718,19.8695618,15.5348635,84.3779253,12.6062112,31.6188596,63.5141906,33.3339237,37.1553603,16.5641582,4.7956621,15.0520507,10.9438461,38.0821238,13.3578074,1.3889316,1.4472188,20.5315375,16.001452,83.9304162,12.4355733,32.6542267,63.0583957,33.6645476,37.49327,17.0524229,4.3889599,14.7116368,11.6069958,40.0225256,12.3862281,1.3407002,1.3629977,20.617754,15.8133555,83.551606,12.8028196,32.8899819,63.2595686,33.4234526,36.0457974,16.696222,4.4006604,14.8951625,12.6875855,41.2833905,14.260667,1.3975905,1.4192287,20.3601437,15.7653063,83.1808187,13.533712,33.2407136,63.5376077,33.5878049,36.7464797,16.9497339,4.8234551,13.8816326,11.8754177,40.2588113,13.5173143 +1626,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6563125,0.7062132,14.343018,10.8174204,55.1981993,30.959842,33.7926575,65.8833521,33.4680187,43.1926754,16.2884212,4.7812497,17.3402425,8.2492416,36.9046283,6.1475914,0.8025365,0.8222898,14.4779293,10.9969572,56.5748312,30.9824356,33.3067145,67.1749923,33.6272639,43.258271,16.4525926,5.0562366,15.1668436,8.1667619,35.5216307,6.1983983,1.0344931,1.0540437,15.2107084,11.778609,55.385841,31.0640039,33.8353467,67.1156947,33.5179895,43.9777018,16.0855319,4.6751744,16.5034837,8.6602439,35.8085585,6.0976353,1.1832368,1.203378,15.1686295,11.9584008,55.163875,30.0481176,33.4678779,66.8547871,32.6611752,42.6612075,15.7257421,4.5968261,15.8334917,9.500095,36.7795266,7.5222237,1.033286,1.0537991,14.934108,11.9638543,55.0494502,28.5130594,35.1152647,68.1742523,32.8126028,42.3520375,16.529576,3.7007066,14.8693606,8.3334695,34.9333598,7.9440366 +1627,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5511195,0.588299,7.3900881,4.9057898,44.7077933,14.0066265,27.7645288,68.1237724,33.1672743,43.1448227,18.1939393,14.559358,9.9415998,8.8038928,34.9537655,3.1960241,0.5575885,0.5954386,7.4986255,5.0562548,44.7108686,14.2866837,27.254553,67.8640342,32.7978494,42.4917259,18.0846684,14.554604,10.2637289,9.0946157,35.5302839,3.5318574,0.6040561,0.6563946,7.5259283,5.0423028,44.7423113,14.3639311,27.5433033,67.8237498,32.5611773,42.1295005,18.071216,14.5105854,10.1395741,9.0199851,35.9487016,3.4122572,0.5753436,0.6161333,7.4956839,4.8798283,44.5984326,13.9662227,27.4013944,67.5811604,32.4859164,42.7354446,18.3726897,14.3480013,9.9706362,8.8031004,36.0446325,3.3052049,0.5752485,0.6259996,7.7080579,4.9603684,44.8051096,13.6119125,27.9282276,67.6293992,33.1843694,42.2025122,18.4298368,14.5077384,10.228177,8.7493362,36.4767202,3.1163448 +1628,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8139656,0.8435384,10.1319645,6.9294931,57.5222738,8.6382646,26.0439922,65.1703895,32.7834006,40.0670155,17.0787839,6.336456,10.254469,8.8755754,36.8330555,7.1380922,0.7988636,0.8255633,10.4484898,7.3020701,57.7130931,8.6016899,25.8970158,65.1553025,32.6704148,39.8810972,16.9088855,6.359306,10.3355103,9.0341206,37.0249191,7.5640064,0.7820923,0.7941029,10.6579978,7.6752314,57.6459871,8.8632905,26.1273701,65.0808857,32.5947715,39.8759654,17.0472552,6.3524675,10.3715107,9.2112502,37.0274443,6.6794929,0.7868977,0.8101811,10.9481934,7.9204667,57.7216979,8.8758621,25.9452138,65.0570923,32.6966636,39.9149291,17.0184072,6.3258719,10.6505045,9.3083669,37.1219074,6.5990868,0.7820767,0.80551,11.0724633,8.064372,57.8462023,8.9291032,26.091963,65.3066366,32.6643556,39.7965321,16.8251545,6.3389571,10.2965936,8.9099431,37.3396389,6.9098151 +1629,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4060205,0.4192132,7.2912638,5.1277168,60.9543016,14.5155761,27.0726055,66.0278014,31.5019054,43.909604,14.2105459,4.8125419,11.6753244,9.8394002,30.4209583,3.7281241,0.4275712,0.4402552,7.2792314,5.1532712,60.063869,14.3836562,26.7364937,66.4804501,32.1573919,43.8435604,14.042438,4.6172102,11.8293659,9.3080055,30.6634333,5.0661529,0.451164,0.4598749,7.3722791,5.299186,58.8730105,14.0179728,26.5958835,67.3075883,32.6660405,43.8905113,14.4818387,4.5133154,11.2165529,9.0559977,31.2240988,5.7204456,0.4331783,0.4415798,7.0858404,5.0683916,58.4063443,14.0159176,27.0621769,67.5227223,32.7807845,44.4963699,14.3344028,4.5419289,11.634217,9.581965,31.2029554,6.5218242,0.4498066,0.4412103,7.1142132,5.0136756,56.9237156,14.2802778,26.4549086,67.5227306,32.7048619,44.6229203,14.688668,4.6178353,11.8302897,9.9405865,31.5433903,6.5737628 +1630,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5575885,0.5954386,7.4986255,5.0562548,44.7108686,14.2866837,27.254553,67.8640342,32.7978494,42.4917259,18.0846684,14.554604,10.2637289,9.0946157,35.5302839,3.5318574,0.6040561,0.6563946,7.5259283,5.0423028,44.7423113,14.3639311,27.5433033,67.8237498,32.5611773,42.1295005,18.071216,14.5105854,10.1395741,9.0199851,35.9487016,3.4122572,0.5753436,0.6161333,7.4956839,4.8798283,44.5984326,13.9662227,27.4013944,67.5811604,32.4859164,42.7354446,18.3726897,14.3480013,9.9706362,8.8031004,36.0446325,3.3052049,0.5752485,0.6259996,7.7080579,4.9603684,44.8051096,13.6119125,27.9282276,67.6293992,33.1843694,42.2025122,18.4298368,14.5077384,10.228177,8.7493362,36.4767202,3.1163448,0.5536536,0.6046407,7.6704175,4.9569811,44.7300606,13.8143138,28.9530352,67.9921927,33.4746382,42.3159765,18.2007871,14.4866125,10.2021854,8.5063936,36.7114063,3.2413802 +1631,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.305781,0.3098791,7.1155635,4.4412554,47.669969,20.8799792,26.9255149,67.2741756,34.215527,43.8510232,19.6354965,8.0348681,8.7429964,6.8718869,36.2812574,5.2013475,0.2592356,0.2592356,6.7996188,4.3184623,47.8743398,21.106374,27.2882377,67.3440999,34.2382866,43.3912466,19.7486788,8.2997236,8.9383687,7.2910281,36.9858845,4.9679535,0.2865524,0.2865524,6.8329677,4.2609186,48.0940695,21.6341847,27.3184816,67.5869497,34.6095185,43.0292836,19.9359347,8.6485663,8.2936895,7.2278376,36.6327785,5.3054714,0.3834501,0.3834501,6.8736444,4.1859698,48.2542139,21.5695085,27.6327718,67.0865009,34.0364191,43.4142616,19.7116824,8.6949925,8.6176388,7.1596906,37.3297846,4.1795704,0.4045892,0.4045892,7.5572512,4.4427464,47.9570227,21.7140308,28.0341515,67.0212857,33.9976029,43.0776121,19.1639176,9.4546003,8.7404264,7.0584723,37.7599518,4.2319762 +1632,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6415112,2.7452973,36.3194031,31.0418542,46.9659373,19.0077608,35.3407322,66.1066901,32.1546904,45.810172,20.1234505,3.6284033,14.2855019,11.1683272,31.8713733,22.3114886,2.2865569,2.3918239,36.2216647,31.2339675,48.7199173,19.2764361,35.3188667,66.6166444,32.0082093,45.2553231,20.5789165,3.5911614,14.1998592,11.2027101,33.0462865,23.7980998,1.9570534,2.0517775,35.5637169,30.8136681,49.3543587,19.3299767,35.7432171,66.6579865,32.5191997,45.1670047,20.6365463,3.2550764,16.1327754,11.735448,33.0409749,24.3961836,1.8462632,1.892056,36.4046888,32.212446,49.1621307,18.4716946,36.1581766,67.1831561,32.2481951,45.3683558,20.5212136,2.7424663,17.2356723,11.8633001,32.6646492,24.5049879,1.6504924,1.6953711,37.4992101,32.9812371,49.147463,18.8714895,37.0610282,67.6825081,31.6385967,46.4262068,20.3635245,2.8033665,14.720962,10.0942716,33.3564795,24.7727615 +1633,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8128677,0.852824,10.5397423,7.6463003,31.0239684,14.0298694,32.1566687,69.9310865,40.5015471,47.8579317,21.2482905,6.863494,11.4578002,9.2107376,34.324103,6.7164179,0.8854313,0.9311584,10.2679975,7.2714703,29.7202162,13.4909866,31.7156284,70.6675865,40.1796175,48.8999753,21.3815868,6.9076814,11.4554782,9.6716166,33.6941989,7.4519231,0.828979,0.8653465,10.5115833,7.3765364,27.9836258,13.8646191,30.7017676,70.3475907,40.2422067,49.7102131,21.2686458,6.9212376,11.4236122,9.5396853,32.4141173,7.9487179,0.8279856,0.8806077,10.6805109,7.4039675,27.3690613,13.973914,30.6466195,70.2512415,40.5561838,50.0347448,21.5977512,7.127787,11.1551955,9.5394467,31.7085224,6.684492,0.88067,0.9417422,10.6424601,7.3452636,27.3415566,13.8883744,30.3197221,70.5417815,40.6005628,50.2689705,21.1894531,7.1713443,11.6503907,8.93258,31.4444395,7.4585635 +1634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4847416,0.4859822,7.3595514,4.5880038,34.8116259,25.1944276,29.4789817,70.6334618,34.9513082,46.2705856,17.9722797,7.440032,11.5441465,10.6453769,34.1928606,3.2894665,0.5610912,0.5566029,7.5175475,4.8208233,33.41458,25.4006364,29.116013,70.9208562,35.267086,46.3903947,18.213643,7.3112361,10.7664037,9.6856548,32.4871367,2.6748916,0.5678464,0.5634325,8.0997427,4.9326412,32.2049916,24.5952333,29.833138,70.0580666,35.1288244,46.0464025,18.1538284,7.163581,11.5905559,9.3995476,32.0043017,3.3073866,0.7395005,0.7253318,8.3791696,5.3355208,31.0157674,24.1724695,29.5595884,69.8165418,35.1743436,46.1100749,18.1468124,6.6972476,10.84464,9.2831308,33.4656916,2.2448934,0.858802,0.8532607,8.7495499,5.3359569,31.3118471,24.3248506,30.1219552,69.3398151,35.468264,46.842455,18.101928,7.5170245,10.772888,8.8134219,33.1836905,2.529178 +1635,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4825693,0.5123395,9.8332662,6.5744395,75.4359822,10.9954791,29.2939886,68.6451237,29.9045256,43.0725778,14.713635,4.2556903,12.4463113,12.4461535,32.4315253,3.0828903,0.4140948,0.420256,9.7766463,6.4459074,75.2300982,11.7267505,29.2408911,68.8613267,29.7943425,43.2385124,14.689498,4.4088217,11.7800829,12.4722476,31.9600332,3.9014174,0.4157451,0.4222122,9.2122666,6.0936603,74.663422,11.4198865,29.3225948,69.0151513,30.6941157,43.4954762,15.1911138,4.3848303,11.9012113,12.2441098,31.3733921,4.231508,0.3738862,0.3807106,8.7625695,6.1229969,73.5069652,11.7890726,29.2710475,68.1381228,31.1154554,43.9394343,15.2611431,4.5454078,11.4680131,11.496595,30.3855981,3.6893264,0.2528711,0.2963303,8.8384876,6.3132539,72.5316671,12.0230679,29.4515229,69.1075871,30.9854665,43.8633702,14.8534243,5.0441238,12.2784347,12.1225265,29.9112207,4.5462396 +1636,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2865569,2.3918239,36.2216647,31.2339675,48.7199173,19.2764361,35.3188667,66.6166444,32.0082093,45.2553231,20.5789165,3.5911614,14.1998592,11.2027101,33.0462865,23.7980998,1.9570534,2.0517775,35.5637169,30.8136681,49.3543587,19.3299767,35.7432171,66.6579865,32.5191997,45.1670047,20.6365463,3.2550764,16.1327754,11.735448,33.0409749,24.3961836,1.8462632,1.892056,36.4046888,32.212446,49.1621307,18.4716946,36.1581766,67.1831561,32.2481951,45.3683558,20.5212136,2.7424663,17.2356723,11.8633001,32.6646492,24.5049879,1.6504924,1.6953711,37.4992101,32.9812371,49.147463,18.8714895,37.0610282,67.6825081,31.6385967,46.4262068,20.3635245,2.8033665,14.720962,10.0942716,33.3564795,24.7727615,1.7803289,1.7728825,37.7634316,33.2447976,49.4154883,18.5124072,36.8843696,67.1964934,32.0221213,46.1277931,20.0178,2.9110479,15.1912667,10.5626808,33.7404027,25.8547325 +1637,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4194631,0.4710893,7.2139303,4.8369265,45.8146067,23.7925357,30.1714602,69.0542035,36.034292,44.7732301,18.7776549,5.1161504,10.3165939,7.0414847,33.6083608,2.5362319,0.4322638,0.4808783,7.0015617,4.6069755,45.782815,24.1103662,29.0818988,70.0312989,36.4893062,44.5748565,18.7532603,5.5555556,10.1987448,7.165272,34.0549102,2.3972603,0.4350785,0.4831092,6.9701646,4.5010288,45.4997384,23.8863287,28.9596273,70.1086957,36.7753623,45.315735,18.9182195,5.615942,10.3033473,7.6963351,34.1605069,2.4305556,0.3889157,0.4210907,7.0098293,4.3714434,45.933893,22.6178279,28.5751295,68.9896373,35.6217617,44.7927461,19.1450777,5.5181347,10.8604407,7.7287066,34.9416755,3.7931034,0.3551203,0.3865817,6.9374369,4.3642785,45.7397959,22.6410384,28.8714575,68.1933198,35.5516194,45.3188259,19.5091093,5.6427126,11.5934627,8.7423313,34.7938144,4.4217687 +1638,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6081751,0.6131153,8.4076711,5.4722359,28.8219709,11.5286055,29.2556024,69.4849762,38.0059361,50.0719868,21.3497788,3.6738502,10.3713158,9.335552,31.9608922,2.9595016,0.7106461,0.7155659,8.5838298,5.5485835,28.6327345,11.1450836,29.9761353,68.8331433,37.5951143,49.3256647,20.9442102,3.7063056,10.0994942,9.1375171,31.3928345,3.2915371,0.7308406,0.7269341,8.7706307,5.6077959,28.4686409,11.0980304,30.496378,68.5758713,37.7887536,49.182918,20.6897521,3.5753271,10.4815261,9.3478641,30.9950097,3.7337662,0.6820194,0.675675,8.3604951,5.3859974,28.5079164,10.9888483,30.6740721,68.3980345,37.5589211,48.8448439,20.5829805,3.3715574,10.3610865,9.6936235,31.0261878,2.8428113,0.6706078,0.6667509,8.3142748,5.3932526,28.5724266,10.5323479,30.3265697,67.8457377,37.2019938,48.4750236,20.354485,3.3524198,10.266741,9.8018148,30.7864589,3.0645181 +1639,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8604921,0.8135841,11.2615195,7.6316495,27.5899,21.6612138,35.1643054,68.7310387,41.7376432,52.6932842,24.4522764,3.5757707,11.8316048,10.1783547,33.5709752,5.4597701,0.8460694,0.8277895,11.296403,7.5551078,27.3288829,21.9365375,35.1483671,68.7685629,41.2017828,52.9228518,24.851621,3.8130576,12.1492622,10.6160331,34.6084168,5.3370787,0.9363475,0.917977,11.5834133,7.8147908,27.1775164,21.6691442,35.9886685,69.0440925,41.4085854,52.2483654,24.5830727,3.8564632,11.4856706,10.4303565,33.724398,6.176467,0.9440043,0.9582375,11.6045504,8.0518434,27.5060554,21.5214298,37.3581993,69.1492636,41.417923,52.2238886,24.9701358,4.0447774,11.1401835,10.6413861,34.7863907,6.3252974,0.978987,1.0039507,11.806165,8.1535865,27.6874218,21.3203248,37.3747651,68.2528055,40.9693633,51.163827,24.6169609,3.9923382,10.8806738,10.4558219,35.0741789,7.7586648 +1640,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.0927605,2.218415,29.2423211,23.0286969,46.9479516,12.9765785,37.4833339,65.9803748,32.1320485,47.3692503,22.3936733,5.0379218,16.6467356,13.5895253,35.6327936,13.8429752,2.2597176,2.339899,29.360361,22.716365,47.8722302,13.2065551,36.6974235,65.4552833,32.0410417,47.5004435,22.5847343,4.8721584,16.9299849,12.6033265,35.0864254,14.3152101,2.3770887,2.4095417,29.2337159,22.9090731,47.7089712,13.4543818,37.4768016,64.8408876,32.0344228,47.5227768,23.6733148,5.3184563,15.8287891,11.8836773,34.6388659,14.4350015,2.4202807,2.4299551,29.387114,22.7335064,47.5786431,13.8123712,37.1709488,65.1047011,33.5056443,47.2278723,24.4420332,5.2747245,15.7356011,11.6934877,33.8614593,14.37233,2.1982122,2.1592473,29.9995177,23.0263722,48.1861514,14.6752818,37.1271326,65.2016215,32.910642,47.1988902,24.9247891,5.431372,14.9312279,11.5267667,33.4132893,14.0814947 +1641,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4140948,0.420256,9.7766463,6.4459074,75.2300982,11.7267505,29.2408911,68.8613267,29.7943425,43.2385124,14.689498,4.4088217,11.7800829,12.4722476,31.9600332,3.9014174,0.4157451,0.4222122,9.2122666,6.0936603,74.663422,11.4198865,29.3225948,69.0151513,30.6941157,43.4954762,15.1911138,4.3848303,11.9012113,12.2441098,31.3733921,4.231508,0.3738862,0.3807106,8.7625695,6.1229969,73.5069652,11.7890726,29.2710475,68.1381228,31.1154554,43.9394343,15.2611431,4.5454078,11.4680131,11.496595,30.3855981,3.6893264,0.2528711,0.2963303,8.8384876,6.3132539,72.5316671,12.0230679,29.4515229,69.1075871,30.9854665,43.8633702,14.8534243,5.0441238,12.2784347,12.1225265,29.9112207,4.5462396,0.3882065,0.4339572,9.2782623,6.6619978,72.8426698,11.8032058,28.2950868,68.8144613,30.7936255,44.9534961,14.4290948,5.022016,11.5495156,10.8095063,31.2501401,3.880185 +1642,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9425519,0.8740026,13.6421752,9.4304521,47.0845225,14.0455821,30.6581056,61.41688,33.3509304,37.9482849,18.098917,3.7064608,13.2909662,11.1043701,37.3759677,11.5740848,0.9695318,0.9552374,14.3054345,9.6868583,48.3145595,13.0154435,30.7617885,60.5355481,32.9805182,37.0731843,17.6493102,3.8796116,13.5939872,10.7423337,37.9128897,14.830521,1.0515317,1.0373883,14.661387,9.8435946,49.6160457,12.7744885,30.9662267,59.8984303,33.3030489,37.8007105,16.8662458,4.016363,13.8195506,10.931145,36.9688125,14.4736969,1.1448033,1.0756716,15.3332177,9.8971067,50.0564934,12.9946867,31.1274081,60.4735208,33.7377812,37.4308817,17.7919474,4.1009156,13.8477188,10.950942,37.7711731,14.3441216,1.136759,1.0789552,15.5240108,9.969267,51.9803186,12.8707789,30.8823959,61.5252931,33.2362882,38.3119064,17.4544653,4.07718,13.8507079,10.7959631,38.531806,12.2850539 +1643,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8854313,0.9311584,10.2679975,7.2714703,29.7202162,13.4909866,31.7156284,70.6675865,40.1796175,48.8999753,21.3815868,6.9076814,11.4554782,9.6716166,33.6941989,7.4519231,0.828979,0.8653465,10.5115833,7.3765364,27.9836258,13.8646191,30.7017676,70.3475907,40.2422067,49.7102131,21.2686458,6.9212376,11.4236122,9.5396853,32.4141173,7.9487179,0.8279856,0.8806077,10.6805109,7.4039675,27.3690613,13.973914,30.6466195,70.2512415,40.5561838,50.0347448,21.5977512,7.127787,11.1551955,9.5394467,31.7085224,6.684492,0.88067,0.9417422,10.6424601,7.3452636,27.3415566,13.8883744,30.3197221,70.5417815,40.6005628,50.2689705,21.1894531,7.1713443,11.6503907,8.93258,31.4444395,7.4585635,0.7703122,0.8195434,10.6831834,7.2191915,27.1454185,14.2990137,30.1066772,69.9993819,40.4790636,50.1764596,21.7865877,7.4152913,10.9463622,8.8298299,31.0318857,6.0344828 +1644,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8012481,1.8246066,25.1867561,20.7374229,50.0005535,15.1571997,41.0829405,64.8168685,35.8630629,48.0282983,23.7720959,4.1421914,11.850168,11.5795153,33.4104334,20.7480453,1.6911159,1.7327321,25.0610448,20.3043741,49.7913586,15.0226601,41.5046077,65.1912567,36.3755658,47.6472288,24.1882217,3.5648107,11.377552,12.2038691,32.242735,22.7608883,1.7615388,1.7733792,24.9084011,20.0764684,50.2204423,15.3423816,41.4521347,65.2179532,37.2560004,47.8816536,24.1129768,4.0887121,10.8761347,11.1978255,31.2210462,24.6425403,1.874142,1.8861887,25.830989,20.5247006,50.0302657,16.2784956,41.3059111,65.6943535,38.2108267,46.8083169,24.9723243,4.6071285,11.3048842,11.1439943,31.4932266,24.8091603,1.8724977,1.9081088,26.7867292,21.7301318,49.8511338,17.4424739,41.7097296,66.3632375,38.3534752,47.7430246,25.6841412,4.6158699,11.0806368,11.0802701,33.2846726,23.7223334 +1645,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9335768,0.9225263,10.6189483,7.1031084,42.6751805,20.352936,35.1047446,69.1967339,38.5775016,47.3066573,23.5929936,4.1463382,13.9925409,11.5586093,36.9085581,7.7235584,0.9525568,0.9641639,10.871075,7.3723895,41.0575662,20.8317992,34.6921034,69.7627455,38.6482814,47.6199137,23.6621708,3.7466615,13.5075932,11.1997058,36.4625662,7.0247702,0.9581392,0.9699583,10.910684,7.3666118,39.2466035,21.7488429,34.8344552,69.8471415,38.608136,48.2231001,23.4687641,4.1837358,13.3947312,11.0979027,37.6237963,7.5892654,0.83659,0.8491388,10.8513421,7.2610232,36.7000634,21.9967035,34.6932892,70.0750968,39.7133957,48.3000127,23.6309266,4.5149371,13.1106095,10.4063285,37.5560743,7.4258195,0.9375292,0.9507461,10.784396,7.0480718,35.1083641,21.0043486,33.8428496,70.1948544,39.7382718,47.0704565,22.6698945,4.1607687,12.4716536,10.880865,38.7842869,8.0190263 +1646,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5293618,0.5462823,10.1842729,6.8974104,43.167882,19.8353423,31.8411703,69.9291836,41.502272,46.2063686,23.4951873,4.0212439,8.4615546,8.1790184,34.1097478,2.7999978,0.4915068,0.5086087,10.4428917,6.8696614,40.6652903,20.9026847,32.6952596,69.6528872,42.4961723,46.681986,24.1705029,3.9050532,8.2564163,7.9814686,32.209551,3.4615385,0.5201346,0.5420037,9.9416641,6.4414271,39.4606593,20.4204967,32.7214947,69.3832625,42.1683842,47.503679,24.7919861,3.5976545,7.9819321,8.4088762,32.5380614,4.1666635,0.4550412,0.4762421,9.4957619,6.1498687,38.5783017,20.4929593,32.9122977,69.9952317,42.3975353,48.1649296,25.2383411,3.5510037,8.0059057,8.3251347,33.0525077,4.7445221,0.4988918,0.519071,9.4352322,6.1183411,37.9349722,20.6395291,32.3729498,69.8502701,41.8103617,47.9809428,25.340314,3.7885682,9.1296241,8.7761034,32.4904363,3.8194391 +1647,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.9494733,2.9922837,41.8436136,36.7286019,70.4278192,13.498893,35.8673771,61.8932162,24.9103127,37.6442042,17.7333893,2.0175547,18.4170908,14.0934632,42.4208559,29.237035,2.8445954,2.8791323,40.9080369,35.9720549,70.8493616,12.9879744,35.4167482,61.2383617,25.274017,38.0334517,18.3897264,2.0599805,17.6744207,14.1696739,43.6552955,29.7449377,2.8035113,2.8040892,41.468916,36.5646413,71.0960638,12.9747203,35.9232231,61.2303201,25.64985,38.124855,18.1862492,2.0578625,17.0008284,13.7744694,43.4338747,29.2083083,2.6133668,2.6168449,40.4285411,35.5450045,71.4514093,12.7081181,36.1420761,61.45135,25.8103705,38.2293407,17.6239968,2.0997872,16.7919007,13.0087301,43.503812,27.2146445,2.6173159,2.6322961,40.9480383,36.0180417,73.1119916,12.2053496,35.927119,60.6931338,25.5122638,37.4192204,17.4093911,1.815776,16.0960993,13.1087809,43.1228148,26.2946067 +1648,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6911159,1.7327321,25.0610448,20.3043741,49.7913586,15.0226601,41.5046077,65.1912567,36.3755658,47.6472288,24.1882217,3.5648107,11.377552,12.2038691,32.242735,22.7608883,1.7615388,1.7733792,24.9084011,20.0764684,50.2204423,15.3423816,41.4521347,65.2179532,37.2560004,47.8816536,24.1129768,4.0887121,10.8761347,11.1978255,31.2210462,24.6425403,1.874142,1.8861887,25.830989,20.5247006,50.0302657,16.2784956,41.3059111,65.6943535,38.2108267,46.8083169,24.9723243,4.6071285,11.3048842,11.1439943,31.4932266,24.8091603,1.8724977,1.9081088,26.7867292,21.7301318,49.8511338,17.4424739,41.7097296,66.3632375,38.3534752,47.7430246,25.6841412,4.6158699,11.0806368,11.0802701,33.2846726,23.7223334,1.6688192,1.6571579,26.6614354,21.177487,50.2743267,17.6193351,41.3140933,66.9666661,39.0490649,48.7125583,26.2221522,4.9406714,11.3085098,10.5173987,32.5387063,22.5923081 +1649,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.632349,0.6899751,9.0625061,5.8734005,38.4824095,20.5278389,30.671115,68.1426713,37.7559355,48.8219111,21.457593,6.4754609,9.5473431,8.4158434,33.1886896,4.2997532,0.6306561,0.6608749,9.3608077,6.180482,38.2490344,20.4570491,30.5887111,68.3929995,38.130476,48.7589549,21.5194954,6.5791541,9.1036829,7.7704796,33.4645679,3.734938,0.5895281,0.6133682,8.9871345,5.9531137,37.4999992,20.5350317,30.1970216,68.1585479,38.6984205,49.2786232,22.5798966,6.756126,8.9242383,7.7797989,33.399571,3.6214945,0.6105687,0.6158105,8.950765,5.9748456,37.3939701,21.0441867,30.7936725,67.7336815,38.5909156,48.7908821,22.5003854,6.7508892,9.1033821,7.8577968,33.0717103,3.4855752,0.6215122,0.641219,9.1480475,6.1530135,37.4960305,21.0432824,30.7674233,67.4001587,38.5043093,48.4025013,22.4823776,6.9616284,8.88239,7.6887557,32.9556028,3.0562332 +1650,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7652799,1.8216005,30.2704257,24.8893682,39.3091219,15.4011101,37.0731007,61.4963831,35.0474613,45.6212515,22.6613486,2.9482411,13.9973437,11.2243775,40.0148362,23.4767446,1.8168545,1.8273261,30.2946557,25.0014354,41.1671775,15.3233789,36.7411373,62.2691257,34.9645191,45.5121235,22.200501,2.9521024,14.5775092,11.0916224,40.3450079,22.3510195,1.7812885,1.7993584,30.3370869,25.1510179,42.0838266,15.0303532,36.4701176,62.8542121,35.8938928,45.4900358,22.9551941,2.820839,14.9765525,11.3882289,39.6522611,22.6984242,1.7179778,1.7051182,29.8290716,25.0924992,42.7270668,14.8108159,36.8070057,63.8680543,36.2665545,44.7839648,23.0052764,2.8441047,15.5556635,11.4258925,39.442589,20.8333475,1.6979523,1.6853302,29.4830574,25.3762303,43.4437605,14.9802111,36.5135976,64.0833007,37.2389597,44.3151028,23.4210443,2.8594491,16.0520863,11.4005481,38.9494259,19.8571483 +1651,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2592356,0.2592356,6.7996188,4.3184623,47.8743398,21.106374,27.2882377,67.3440999,34.2382866,43.3912466,19.7486788,8.2997236,8.9383687,7.2910281,36.9858845,4.9679535,0.2865524,0.2865524,6.8329677,4.2609186,48.0940695,21.6341847,27.3184816,67.5869497,34.6095185,43.0292836,19.9359347,8.6485663,8.2936895,7.2278376,36.6327785,5.3054714,0.3834501,0.3834501,6.8736444,4.1859698,48.2542139,21.5695085,27.6327718,67.0865009,34.0364191,43.4142616,19.7116824,8.6949925,8.6176388,7.1596906,37.3297846,4.1795704,0.4045892,0.4045892,7.5572512,4.4427464,47.9570227,21.7140308,28.0341515,67.0212857,33.9976029,43.0776121,19.1639176,9.4546003,8.7404264,7.0584723,37.7599518,4.2319762,0.4002648,0.4002648,7.6651296,4.5622102,48.3171645,21.489927,28.6592566,67.621483,34.5980798,42.9963999,19.9610054,9.6730656,8.5553543,6.8586715,37.8370312,3.7764362 +1652,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8025365,0.8222898,14.4779293,10.9969572,56.5748312,30.9824356,33.3067145,67.1749923,33.6272639,43.258271,16.4525926,5.0562366,15.1668436,8.1667619,35.5216307,6.1983983,1.0344931,1.0540437,15.2107084,11.778609,55.385841,31.0640039,33.8353467,67.1156947,33.5179895,43.9777018,16.0855319,4.6751744,16.5034837,8.6602439,35.8085585,6.0976353,1.1832368,1.203378,15.1686295,11.9584008,55.163875,30.0481176,33.4678779,66.8547871,32.6611752,42.6612075,15.7257421,4.5968261,15.8334917,9.500095,36.7795266,7.5222237,1.033286,1.0537991,14.934108,11.9638543,55.0494502,28.5130594,35.1152647,68.1742523,32.8126028,42.3520375,16.529576,3.7007066,14.8693606,8.3334695,34.9333598,7.9440366,1.0744813,1.0949001,15.2778958,12.3367626,57.6030407,28.4440709,35.6559594,68.1146638,32.0492728,40.5738928,16.1475888,3.8525095,15.1960248,9.3137295,35.264384,7.0248805 +1653,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.397761,1.416788,16.4962176,12.395891,33.4183547,16.356658,34.8374091,68.0455035,38.9930847,48.2656184,23.0665866,3.789909,11.2589051,10.1592521,33.5491806,16.442908,1.2862234,1.2807192,16.2656275,12.5268047,32.8166943,15.777344,34.2905434,67.99425,39.6161238,47.5477133,22.8178725,3.985084,11.5350974,9.7929383,33.8459838,16.871125,1.255135,1.2498339,16.3134826,12.7107084,33.2927943,15.840565,34.4111287,67.803228,39.226131,47.1903264,22.4954495,3.6197547,11.3076895,9.9647775,33.6225432,16.3793292,1.3562954,1.3512018,16.8177927,13.2312885,33.046117,15.8917122,34.8076118,67.5780801,39.5508656,47.8734698,22.8339639,3.7645884,11.5638036,9.8173351,34.0430018,16.0526485,1.2520293,1.2773565,17.0408027,13.4499361,33.2822993,16.0403127,34.6971507,68.0857116,39.9943743,47.5463487,23.0017836,3.8919867,11.5794159,9.363976,33.7499925,15.9898639 +1654,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2910256,1.3096749,14.8883386,10.398483,41.4325831,15.4768535,33.5636842,71.2283627,39.6916526,48.8993286,25.5831005,3.9607679,12.964217,12.1638879,40.4822108,8.1325301,1.1819213,1.2001544,15.0288209,10.7014829,40.8452505,15.4559318,33.6216393,71.5659662,39.3326395,49.051757,25.7237483,4.3800542,12.2761346,12.2532473,40.9407143,7.3369485,1.221237,1.2502351,15.780808,11.2182529,40.8803484,15.6572807,34.3123291,70.6064973,39.2788919,48.7822275,25.3342993,4.5606506,12.661151,12.5459559,41.1409926,9.0206093,1.2481921,1.2767432,15.6685241,10.9795765,39.9091391,15.6568036,33.5136501,70.1552268,39.2521183,48.3772244,25.0470485,4.492005,12.5337028,12.5112119,40.5148998,8.9743544,1.3043008,1.332987,15.5083945,11.2173534,39.3596628,15.393576,33.1202825,69.6732977,38.849441,47.4668389,24.5501952,4.5217861,11.1672988,11.1672896,39.7685222,8.7064633 +1655,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9695318,0.9552374,14.3054345,9.6868583,48.3145595,13.0154435,30.7617885,60.5355481,32.9805182,37.0731843,17.6493102,3.8796116,13.5939872,10.7423337,37.9128897,14.830521,1.0515317,1.0373883,14.661387,9.8435946,49.6160457,12.7744885,30.9662267,59.8984303,33.3030489,37.8007105,16.8662458,4.016363,13.8195506,10.931145,36.9688125,14.4736969,1.1448033,1.0756716,15.3332177,9.8971067,50.0564934,12.9946867,31.1274081,60.4735208,33.7377812,37.4308817,17.7919474,4.1009156,13.8477188,10.950942,37.7711731,14.3441216,1.136759,1.0789552,15.5240108,9.969267,51.9803186,12.8707789,30.8823959,61.5252931,33.2362882,38.3119064,17.4544653,4.07718,13.8507079,10.7959631,38.531806,12.2850539,1.1160189,1.1129378,15.6673614,10.8693645,53.6655191,13.7012723,30.2671106,62.0705217,34.066434,39.3016295,17.1972125,4.2909193,13.4160863,10.1984879,39.4191033,13.6673087 +1656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7106461,0.7155659,8.5838298,5.5485835,28.6327345,11.1450836,29.9761353,68.8331433,37.5951143,49.3256647,20.9442102,3.7063056,10.0994942,9.1375171,31.3928345,3.2915371,0.7308406,0.7269341,8.7706307,5.6077959,28.4686409,11.0980304,30.496378,68.5758713,37.7887536,49.182918,20.6897521,3.5753271,10.4815261,9.3478641,30.9950097,3.7337662,0.6820194,0.675675,8.3604951,5.3859974,28.5079164,10.9888483,30.6740721,68.3980345,37.5589211,48.8448439,20.5829805,3.3715574,10.3610865,9.6936235,31.0261878,2.8428113,0.6706078,0.6667509,8.3142748,5.3932526,28.5724266,10.5323479,30.3265697,67.8457377,37.2019938,48.4750236,20.354485,3.3524198,10.266741,9.8018148,30.7864589,3.0645181,0.7010367,0.6942774,8.5516099,5.7340745,28.7529395,10.4738964,29.9921536,67.8026253,36.9178615,48.0513677,20.5511769,3.3152129,10.4453158,9.6769385,30.5188947,3.1147592 +1657,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7369086,0.7356394,8.9171914,5.1549781,45.4670194,19.5399136,31.2225243,69.0714222,38.8624962,43.6526742,22.553641,4.4519935,9.5509154,8.5703278,33.5270585,7.1138415,0.6613373,0.6705187,9.0971292,5.3240632,44.2785576,19.7200307,31.291303,70.1723287,39.6698006,43.7732608,22.9411931,4.4046314,9.3765465,8.3086618,33.3033764,7.2314792,0.6705265,0.6770817,8.9602963,5.3649681,43.9278188,19.6302418,31.3823963,70.936052,39.1956095,44.4047102,22.9393537,4.4505206,9.2525143,7.5508231,33.0096579,6.9621556,0.68023,0.6880019,9.2740623,5.7701648,44.1119577,19.2772513,31.0861119,71.2515903,38.8966932,45.7953061,23.0188317,4.4042499,9.9825981,7.9067593,33.4391368,7.415394,0.7229131,0.7135159,9.638591,6.1361151,43.3593286,19.2393075,31.0593738,71.3418902,38.9123078,45.6355555,23.3756759,4.5056437,9.9207168,7.933287,34.2879106,7.1722691 +1658,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5610912,0.5566029,7.5175475,4.8208233,33.41458,25.4006364,29.116013,70.9208562,35.267086,46.3903947,18.213643,7.3112361,10.7664037,9.6856548,32.4871367,2.6748916,0.5678464,0.5634325,8.0997427,4.9326412,32.2049916,24.5952333,29.833138,70.0580666,35.1288244,46.0464025,18.1538284,7.163581,11.5905559,9.3995476,32.0043017,3.3073866,0.7395005,0.7253318,8.3791696,5.3355208,31.0157674,24.1724695,29.5595884,69.8165418,35.1743436,46.1100749,18.1468124,6.6972476,10.84464,9.2831308,33.4656916,2.2448934,0.858802,0.8532607,8.7495499,5.3359569,31.3118471,24.3248506,30.1219552,69.3398151,35.468264,46.842455,18.101928,7.5170245,10.772888,8.8134219,33.1836905,2.529178,0.8710658,0.8820542,8.4730525,5.1551835,30.438741,24.6486391,30.5437091,69.3141448,35.7320438,45.6112018,18.2835851,7.8713435,10.3671136,7.9413975,32.1993261,2.9880359 +1659,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2865524,0.2865524,6.8329677,4.2609186,48.0940695,21.6341847,27.3184816,67.5869497,34.6095185,43.0292836,19.9359347,8.6485663,8.2936895,7.2278376,36.6327785,5.3054714,0.3834501,0.3834501,6.8736444,4.1859698,48.2542139,21.5695085,27.6327718,67.0865009,34.0364191,43.4142616,19.7116824,8.6949925,8.6176388,7.1596906,37.3297846,4.1795704,0.4045892,0.4045892,7.5572512,4.4427464,47.9570227,21.7140308,28.0341515,67.0212857,33.9976029,43.0776121,19.1639176,9.4546003,8.7404264,7.0584723,37.7599518,4.2319762,0.4002648,0.4002648,7.6651296,4.5622102,48.3171645,21.489927,28.6592566,67.621483,34.5980798,42.9963999,19.9610054,9.6730656,8.5553543,6.8586715,37.8370312,3.7764362,0.4419852,0.4145352,8.0227925,4.7890374,47.9179326,21.4796038,29.4126405,67.7861479,34.7439733,42.2138548,19.5331318,9.6837346,8.3985516,6.4876302,36.2667467,3.9823009 +1660,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7615388,1.7733792,24.9084011,20.0764684,50.2204423,15.3423816,41.4521347,65.2179532,37.2560004,47.8816536,24.1129768,4.0887121,10.8761347,11.1978255,31.2210462,24.6425403,1.874142,1.8861887,25.830989,20.5247006,50.0302657,16.2784956,41.3059111,65.6943535,38.2108267,46.8083169,24.9723243,4.6071285,11.3048842,11.1439943,31.4932266,24.8091603,1.8724977,1.9081088,26.7867292,21.7301318,49.8511338,17.4424739,41.7097296,66.3632375,38.3534752,47.7430246,25.6841412,4.6158699,11.0806368,11.0802701,33.2846726,23.7223334,1.6688192,1.6571579,26.6614354,21.177487,50.2743267,17.6193351,41.3140933,66.9666661,39.0490649,48.7125583,26.2221522,4.9406714,11.3085098,10.5173987,32.5387063,22.5923081,1.8039239,1.7202025,26.7014273,21.6160385,50.5587056,17.7273727,41.60776,66.3268004,38.720965,49.0203266,26.8679606,5.0284852,11.2614036,10.9322499,33.114148,22.7603278 +1661,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1819213,1.2001544,15.0288209,10.7014829,40.8452505,15.4559318,33.6216393,71.5659662,39.3326395,49.051757,25.7237483,4.3800542,12.2761346,12.2532473,40.9407143,7.3369485,1.221237,1.2502351,15.780808,11.2182529,40.8803484,15.6572807,34.3123291,70.6064973,39.2788919,48.7822275,25.3342993,4.5606506,12.661151,12.5459559,41.1409926,9.0206093,1.2481921,1.2767432,15.6685241,10.9795765,39.9091391,15.6568036,33.5136501,70.1552268,39.2521183,48.3772244,25.0470485,4.492005,12.5337028,12.5112119,40.5148998,8.9743544,1.3043008,1.332987,15.5083945,11.2173534,39.3596628,15.393576,33.1202825,69.6732977,38.849441,47.4668389,24.5501952,4.5217861,11.1672988,11.1672896,39.7685222,8.7064633,1.4622669,1.5046178,16.3114793,11.7433456,39.7346005,15.7687931,32.9115817,68.9159427,37.0157058,45.7835932,24.9831603,4.5471876,10.9602067,10.1371534,40.1880816,12.3831718 +1662,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7908179,0.7852407,8.8987634,5.9443271,43.0721142,14.5800992,27.0147993,68.8952938,40.3256521,44.7843641,21.4987628,5.298967,10.0624054,8.7462153,32.0612062,12.2844828,0.912394,0.9067723,9.4101503,6.3941742,43.8155754,15.4411915,26.987842,68.4389969,40.765727,44.4146998,21.465375,5.3829888,9.7986853,8.5318117,32.3404537,13.7860082,0.8347727,0.8291277,9.3736627,6.5197222,42.7863543,15.6976,27.1268606,67.9188449,40.9853048,43.7100046,21.1858191,5.2223414,10.0469539,8.367648,32.2161479,12.7615063,0.8574418,0.8039053,9.8448682,6.7243496,42.2848739,16.0851951,26.9195789,67.6597872,41.6337919,43.9571867,21.5379359,5.2050078,9.7873693,7.8376982,31.0802739,10.8695652,0.7942412,0.7345973,9.7747071,6.6067966,41.7377051,15.7147417,27.1740423,67.3523041,40.9720102,44.0438846,21.4969232,5.204292,10.2655594,8.1999102,31.4957859,10.3238866 +1663,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8460694,0.8277895,11.296403,7.5551078,27.3288829,21.9365375,35.1483671,68.7685629,41.2017828,52.9228518,24.851621,3.8130576,12.1492622,10.6160331,34.6084168,5.3370787,0.9363475,0.917977,11.5834133,7.8147908,27.1775164,21.6691442,35.9886685,69.0440925,41.4085854,52.2483654,24.5830727,3.8564632,11.4856706,10.4303565,33.724398,6.176467,0.9440043,0.9582375,11.6045504,8.0518434,27.5060554,21.5214298,37.3581993,69.1492636,41.417923,52.2238886,24.9701358,4.0447774,11.1401835,10.6413861,34.7863907,6.3252974,0.978987,1.0039507,11.806165,8.1535865,27.6874218,21.3203248,37.3747651,68.2528055,40.9693633,51.163827,24.6169609,3.9923382,10.8806738,10.4558219,35.0741789,7.7586648,1.0963711,1.1211258,12.0724235,8.3951066,27.4347961,21.2608797,37.1081018,68.8397379,40.6240872,50.6153134,24.2748338,4.028719,10.6640345,10.3672145,35.2259764,10.1745053 +1664,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5678464,0.5634325,8.0997427,4.9326412,32.2049916,24.5952333,29.833138,70.0580666,35.1288244,46.0464025,18.1538284,7.163581,11.5905559,9.3995476,32.0043017,3.3073866,0.7395005,0.7253318,8.3791696,5.3355208,31.0157674,24.1724695,29.5595884,69.8165418,35.1743436,46.1100749,18.1468124,6.6972476,10.84464,9.2831308,33.4656916,2.2448934,0.858802,0.8532607,8.7495499,5.3359569,31.3118471,24.3248506,30.1219552,69.3398151,35.468264,46.842455,18.101928,7.5170245,10.772888,8.8134219,33.1836905,2.529178,0.8710658,0.8820542,8.4730525,5.1551835,30.438741,24.6486391,30.5437091,69.3141448,35.7320438,45.6112018,18.2835851,7.8713435,10.3671136,7.9413975,32.1993261,2.9880359,0.909854,0.9426022,8.4959085,5.0904504,31.2252658,24.5807137,30.8870222,68.3737853,35.3220717,46.0225086,18.6378027,8.2541199,10.2434173,7.7001513,31.7281795,2.2357678 +1665,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.828979,0.8653465,10.5115833,7.3765364,27.9836258,13.8646191,30.7017676,70.3475907,40.2422067,49.7102131,21.2686458,6.9212376,11.4236122,9.5396853,32.4141173,7.9487179,0.8279856,0.8806077,10.6805109,7.4039675,27.3690613,13.973914,30.6466195,70.2512415,40.5561838,50.0347448,21.5977512,7.127787,11.1551955,9.5394467,31.7085224,6.684492,0.88067,0.9417422,10.6424601,7.3452636,27.3415566,13.8883744,30.3197221,70.5417815,40.6005628,50.2689705,21.1894531,7.1713443,11.6503907,8.93258,31.4444395,7.4585635,0.7703122,0.8195434,10.6831834,7.2191915,27.1454185,14.2990137,30.1066772,69.9993819,40.4790636,50.1764596,21.7865877,7.4152913,10.9463622,8.8298299,31.0318857,6.0344828,0.8383,0.8873697,10.3579964,7.0036393,27.1685613,14.6963142,29.5743834,70.1087759,41.0820531,49.7008818,21.6922633,7.6171714,10.7387084,9.0015544,32.279587,5.3977273 +1666,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6115749,0.6036432,9.1116944,5.7805386,49.6431033,14.2004923,31.1441112,67.7997756,36.8866894,46.1496307,21.1771422,3.4873488,10.0593087,8.4360489,31.4854676,5.8719071,0.585724,0.577488,9.2358116,6.0479298,49.1554812,14.239098,31.0143879,68.3230541,36.8403095,45.9790008,21.7386531,3.7582819,10.1052234,8.5645134,31.4962563,7.0881446,0.6006298,0.5921079,8.7897972,5.79354,47.6457956,14.7462863,31.3621202,68.3781894,37.8305039,46.4707425,21.3763145,3.812561,9.5987361,8.3066419,31.5607868,6.1023848,0.6093692,0.5947655,8.9027703,5.743324,47.2256966,15.291682,31.3674377,68.583094,38.5138419,46.0559033,21.2537183,3.7957463,10.029012,8.5111596,31.8936285,5.3999849,0.6520813,0.636512,8.5792662,5.4714046,46.5113222,15.4434694,30.9661188,68.4037876,38.448405,46.3245079,20.4647008,3.7148882,10.1355032,8.6513303,30.5044743,6.0267776 +1667,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7395005,0.7253318,8.3791696,5.3355208,31.0157674,24.1724695,29.5595884,69.8165418,35.1743436,46.1100749,18.1468124,6.6972476,10.84464,9.2831308,33.4656916,2.2448934,0.858802,0.8532607,8.7495499,5.3359569,31.3118471,24.3248506,30.1219552,69.3398151,35.468264,46.842455,18.101928,7.5170245,10.772888,8.8134219,33.1836905,2.529178,0.8710658,0.8820542,8.4730525,5.1551835,30.438741,24.6486391,30.5437091,69.3141448,35.7320438,45.6112018,18.2835851,7.8713435,10.3671136,7.9413975,32.1993261,2.9880359,0.909854,0.9426022,8.4959085,5.0904504,31.2252658,24.5807137,30.8870222,68.3737853,35.3220717,46.0225086,18.6378027,8.2541199,10.2434173,7.7001513,31.7281795,2.2357678,0.8075077,0.847964,8.6781389,5.1017083,31.7728949,24.9309914,31.1609426,67.0663818,34.6715701,44.786231,17.9875301,8.2551242,10.1802431,8.1325391,31.2753542,1.8749961 +1668,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6385266,0.6394396,9.9589365,7.1204304,46.6541385,10.7437546,28.6626054,69.7506551,42.5137178,43.3249872,21.7907428,4.8258174,9.4645795,8.1320999,34.6448146,6.8881708,0.6485514,0.6467994,9.7599201,6.8603619,46.6086815,10.618614,28.7904832,69.6014212,42.0686866,42.8842173,21.6689625,4.9908097,9.3486655,7.8420191,35.0241485,6.4589685,0.6906939,0.6788255,9.9517862,7.0251221,46.4559377,10.509866,28.7305947,69.406871,41.8902385,42.6773838,21.6241669,4.9833691,9.1458043,7.6509313,34.8535236,6.7507438,0.6645853,0.6454607,10.2322808,7.2930481,46.4222691,10.776414,29.2233193,70.0804945,41.8416144,42.9185262,21.5109296,4.933099,9.3756757,7.9163963,34.927757,8.1140375,0.6659165,0.6556161,10.224399,7.3204291,45.8848885,10.999351,29.1181246,70.4572679,41.6058761,43.0103431,21.7365243,4.9918322,9.3071225,8.0837677,34.9594396,8.0572313 +1669,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7612831,0.8003838,10.2637741,6.3210247,49.5713297,11.0221019,32.2023315,66.5347865,43.0266232,46.0796652,24.3893736,4.6974667,10.7242576,9.8326139,37.7153294,4.7861507,0.7852682,0.8286503,10.4225026,6.5482798,49.5577688,11.1012757,32.151771,66.8076672,42.8620792,45.9142711,24.3687311,4.8210227,10.3002323,9.2309609,37.5491272,5.2480866,0.7819383,0.8097686,10.7749665,6.7369033,48.6853459,11.0735596,32.4282414,67.2078823,42.332552,45.4992731,24.3430564,4.776975,10.0700824,9.0064436,37.1969461,5.491321,0.80299,0.8238361,10.7263749,6.7357704,49.0901329,11.0240157,32.774245,67.2645582,42.5786625,45.2596911,24.3944792,4.6690741,9.7557594,8.361134,37.4642896,5.3345312,0.7718421,0.7887523,10.8289104,6.6116571,49.3549087,10.7914582,32.9103421,67.6248757,42.5002597,44.7631918,24.5191289,4.666523,9.9382678,8.3959625,38.3975794,5.9563688 +1670,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.585724,0.577488,9.2358116,6.0479298,49.1554812,14.239098,31.0143879,68.3230541,36.8403095,45.9790008,21.7386531,3.7582819,10.1052234,8.5645134,31.4962563,7.0881446,0.6006298,0.5921079,8.7897972,5.79354,47.6457956,14.7462863,31.3621202,68.3781894,37.8305039,46.4707425,21.3763145,3.812561,9.5987361,8.3066419,31.5607868,6.1023848,0.6093692,0.5947655,8.9027703,5.743324,47.2256966,15.291682,31.3674377,68.583094,38.5138419,46.0559033,21.2537183,3.7957463,10.029012,8.5111596,31.8936285,5.3999849,0.6520813,0.636512,8.5792662,5.4714046,46.5113222,15.4434694,30.9661188,68.4037876,38.448405,46.3245079,20.4647008,3.7148882,10.1355032,8.6513303,30.5044743,6.0267776,0.6120856,0.585516,8.3907428,5.3596064,45.6059398,15.2493905,29.8756761,68.1906084,37.8038666,46.3397828,19.4337074,3.6878484,9.3169535,8.2420579,29.4878983,5.630623 +1671,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4809255,1.4968563,34.7412295,30.6661633,58.4294797,15.9443704,33.2197848,63.1482162,31.3435759,42.7672904,16.3143692,1.7731002,19.6181154,12.9612492,39.4441694,23.3435429,1.3881583,1.4645125,34.77946,30.8522674,59.2192819,15.682094,33.4890013,62.6686449,32.3358975,42.7298745,16.3181163,1.5912654,18.5288551,12.9493014,40.2673354,23.225526,1.4898739,1.5628894,34.9911473,30.9581778,59.8498246,15.7834772,34.2572832,62.3075604,32.853673,43.0297451,17.4928073,1.9720135,17.7983527,14.0071416,40.0519477,20.8171764,1.6563898,1.6894554,35.3557138,31.0187526,59.9728299,15.6064329,34.3762022,60.9730496,33.1396176,42.9755585,17.8731454,2.1589721,17.8447777,13.6978724,39.2997197,20.8973971,1.6801771,1.7296419,34.9007174,30.7564069,60.2694881,15.882322,35.2217364,60.9800715,32.9758153,42.4570414,18.0011012,2.2249344,17.8117527,13.464,40.9964132,19.3714018 +1672,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6040561,0.6563946,7.5259283,5.0423028,44.7423113,14.3639311,27.5433033,67.8237498,32.5611773,42.1295005,18.071216,14.5105854,10.1395741,9.0199851,35.9487016,3.4122572,0.5753436,0.6161333,7.4956839,4.8798283,44.5984326,13.9662227,27.4013944,67.5811604,32.4859164,42.7354446,18.3726897,14.3480013,9.9706362,8.8031004,36.0446325,3.3052049,0.5752485,0.6259996,7.7080579,4.9603684,44.8051096,13.6119125,27.9282276,67.6293992,33.1843694,42.2025122,18.4298368,14.5077384,10.228177,8.7493362,36.4767202,3.1163448,0.5536536,0.6046407,7.6704175,4.9569811,44.7300606,13.8143138,28.9530352,67.9921927,33.4746382,42.3159765,18.2007871,14.4866125,10.2021854,8.5063936,36.7114063,3.2413802,0.5262734,0.5644352,7.8967898,5.0370457,44.5980265,14.0228859,29.5976269,68.2387833,33.8720374,42.552774,18.5554139,14.5316644,9.8680843,8.4563619,36.4645923,3.2324631 +1673,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3881583,1.4645125,34.77946,30.8522674,59.2192819,15.682094,33.4890013,62.6686449,32.3358975,42.7298745,16.3181163,1.5912654,18.5288551,12.9493014,40.2673354,23.225526,1.4898739,1.5628894,34.9911473,30.9581778,59.8498246,15.7834772,34.2572832,62.3075604,32.853673,43.0297451,17.4928073,1.9720135,17.7983527,14.0071416,40.0519477,20.8171764,1.6563898,1.6894554,35.3557138,31.0187526,59.9728299,15.6064329,34.3762022,60.9730496,33.1396176,42.9755585,17.8731454,2.1589721,17.8447777,13.6978724,39.2997197,20.8973971,1.6801771,1.7296419,34.9007174,30.7564069,60.2694881,15.882322,35.2217364,60.9800715,32.9758153,42.4570414,18.0011012,2.2249344,17.8117527,13.464,40.9964132,19.3714018,1.646109,1.695873,34.8933401,30.8342265,61.7038976,15.6727017,35.4978658,61.5524071,32.9139571,42.5571465,17.9581753,2.3471124,16.8199124,13.1455585,42.2367123,17.580986 +1674,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.221237,1.2502351,15.780808,11.2182529,40.8803484,15.6572807,34.3123291,70.6064973,39.2788919,48.7822275,25.3342993,4.5606506,12.661151,12.5459559,41.1409926,9.0206093,1.2481921,1.2767432,15.6685241,10.9795765,39.9091391,15.6568036,33.5136501,70.1552268,39.2521183,48.3772244,25.0470485,4.492005,12.5337028,12.5112119,40.5148998,8.9743544,1.3043008,1.332987,15.5083945,11.2173534,39.3596628,15.393576,33.1202825,69.6732977,38.849441,47.4668389,24.5501952,4.5217861,11.1672988,11.1672896,39.7685222,8.7064633,1.4622669,1.5046178,16.3114793,11.7433456,39.7346005,15.7687931,32.9115817,68.9159427,37.0157058,45.7835932,24.9831603,4.5471876,10.9602067,10.1371534,40.1880816,12.3831718,1.503141,1.5342326,16.4020573,12.0251705,39.7948592,15.5641419,33.6669482,69.0415323,37.1449196,46.0686412,24.7432174,4.7364463,10.6277782,9.8246558,40.0749262,11.8534483 +1675,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4898739,1.5628894,34.9911473,30.9581778,59.8498246,15.7834772,34.2572832,62.3075604,32.853673,43.0297451,17.4928073,1.9720135,17.7983527,14.0071416,40.0519477,20.8171764,1.6563898,1.6894554,35.3557138,31.0187526,59.9728299,15.6064329,34.3762022,60.9730496,33.1396176,42.9755585,17.8731454,2.1589721,17.8447777,13.6978724,39.2997197,20.8973971,1.6801771,1.7296419,34.9007174,30.7564069,60.2694881,15.882322,35.2217364,60.9800715,32.9758153,42.4570414,18.0011012,2.2249344,17.8117527,13.464,40.9964132,19.3714018,1.646109,1.695873,34.8933401,30.8342265,61.7038976,15.6727017,35.4978658,61.5524071,32.9139571,42.5571465,17.9581753,2.3471124,16.8199124,13.1455585,42.2367123,17.580986,1.6539699,1.692521,34.4405808,30.5770611,63.4819713,14.8027215,35.4134246,61.5804851,31.9749763,41.8190826,17.172886,2.2981594,17.4392665,14.1917882,43.474356,16.5403414 +1676,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7107772,0.6693165,10.5654202,7.3585293,20.7564438,16.4753741,34.091007,65.4343829,37.7944273,49.2332103,21.5220637,5.3111682,11.2363798,9.2772075,27.2772072,3.8458392,0.8608693,0.8118991,11.3770827,7.9290816,21.029767,16.1406939,34.9258802,65.693154,37.2489705,49.1131924,21.3325771,5.0442846,11.2754347,9.3376082,27.4002622,4.4827555,0.8322521,0.7897919,12.5429391,8.4972427,22.3254246,16.5625961,34.6537849,65.3624566,37.0820342,48.7098787,21.548804,4.5551195,11.7593742,9.6411923,27.5694029,3.6666642,0.8152707,0.7884164,12.5709133,8.5579485,22.9392738,16.6921741,34.9933695,64.2342494,36.2518173,47.8498638,21.5360876,4.5508356,11.4245204,9.2565379,27.0297727,4.0123407,0.8506907,0.8242427,12.7473881,8.7779399,22.8706655,16.4081903,35.4384922,64.5239286,35.7618783,47.3763658,21.7236241,4.7068541,11.3622269,8.9258005,27.1354202,4.4910126 +1677,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.874142,1.8861887,25.830989,20.5247006,50.0302657,16.2784956,41.3059111,65.6943535,38.2108267,46.8083169,24.9723243,4.6071285,11.3048842,11.1439943,31.4932266,24.8091603,1.8724977,1.9081088,26.7867292,21.7301318,49.8511338,17.4424739,41.7097296,66.3632375,38.3534752,47.7430246,25.6841412,4.6158699,11.0806368,11.0802701,33.2846726,23.7223334,1.6688192,1.6571579,26.6614354,21.177487,50.2743267,17.6193351,41.3140933,66.9666661,39.0490649,48.7125583,26.2221522,4.9406714,11.3085098,10.5173987,32.5387063,22.5923081,1.8039239,1.7202025,26.7014273,21.6160385,50.5587056,17.7273727,41.60776,66.3268004,38.720965,49.0203266,26.8679606,5.0284852,11.2614036,10.9322499,33.114148,22.7603278,1.7653662,1.6801714,25.3203338,20.1604496,50.5680358,17.6283204,42.7768204,65.3700447,39.3653596,49.7578121,27.8701032,4.7950167,12.2034957,11.2072385,33.8403097,21.4258489 +1678,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4157451,0.4222122,9.2122666,6.0936603,74.663422,11.4198865,29.3225948,69.0151513,30.6941157,43.4954762,15.1911138,4.3848303,11.9012113,12.2441098,31.3733921,4.231508,0.3738862,0.3807106,8.7625695,6.1229969,73.5069652,11.7890726,29.2710475,68.1381228,31.1154554,43.9394343,15.2611431,4.5454078,11.4680131,11.496595,30.3855981,3.6893264,0.2528711,0.2963303,8.8384876,6.3132539,72.5316671,12.0230679,29.4515229,69.1075871,30.9854665,43.8633702,14.8534243,5.0441238,12.2784347,12.1225265,29.9112207,4.5462396,0.3882065,0.4339572,9.2782623,6.6619978,72.8426698,11.8032058,28.2950868,68.8144613,30.7936255,44.9534961,14.4290948,5.022016,11.5495156,10.8095063,31.2501401,3.880185,0.5634137,0.5634137,9.181296,6.5872138,72.559432,11.8315211,27.2334185,68.427888,30.7045275,44.3340187,14.982126,4.9259482,11.5346523,10.1686498,33.5160226,4.0187998 +1679,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.912394,0.9067723,9.4101503,6.3941742,43.8155754,15.4411915,26.987842,68.4389969,40.765727,44.4146998,21.465375,5.3829888,9.7986853,8.5318117,32.3404537,13.7860082,0.8347727,0.8291277,9.3736627,6.5197222,42.7863543,15.6976,27.1268606,67.9188449,40.9853048,43.7100046,21.1858191,5.2223414,10.0469539,8.367648,32.2161479,12.7615063,0.8574418,0.8039053,9.8448682,6.7243496,42.2848739,16.0851951,26.9195789,67.6597872,41.6337919,43.9571867,21.5379359,5.2050078,9.7873693,7.8376982,31.0802739,10.8695652,0.7942412,0.7345973,9.7747071,6.6067966,41.7377051,15.7147417,27.1740423,67.3523041,40.9720102,44.0438846,21.4969232,5.204292,10.2655594,8.1999102,31.4957859,10.3238866,0.7536819,0.6771033,9.9310961,6.8752752,41.699183,15.8172248,26.9822798,67.1378354,40.5551336,43.989044,20.8718974,5.1508656,9.9477789,8.1780965,31.5369439,9.6837945 +1680,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3206662,0.3982595,7.3498669,4.8735659,59.1726124,21.8542107,30.3994819,65.1867903,32.3963423,44.6927505,18.260715,6.1744864,10.4806508,8.0513423,31.5710785,4.9342105,0.2126416,0.2445798,7.214516,4.5961203,57.8074662,22.2618518,30.6895887,65.0507068,33.4362318,44.4228151,19.871162,6.3621351,10.0329761,8.4066618,32.7645732,4.8148148,0.2766298,0.3151225,7.3958023,4.7687199,55.8335696,23.0275053,30.8993322,65.9510143,33.6484741,44.7596355,20.1318208,5.9278619,9.9772803,8.0572119,31.4075807,5.952381,0.3684648,0.3656245,7.4252127,4.6019357,55.9788006,22.9685771,31.1156506,67.1860008,33.5505257,45.7249863,20.130329,5.8041033,10.3584308,8.0157634,30.9553093,4.4715447,0.3798744,0.3896701,6.7763787,3.9877432,56.2711323,22.6503529,31.0068082,65.879012,32.6753141,44.2437811,19.3827347,5.3670987,9.9016151,7.2757725,30.4612673,3.7815126 +1681,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4322638,0.4808783,7.0015617,4.6069755,45.782815,24.1103662,29.0818988,70.0312989,36.4893062,44.5748565,18.7532603,5.5555556,10.1987448,7.165272,34.0549102,2.3972603,0.4350785,0.4831092,6.9701646,4.5010288,45.4997384,23.8863287,28.9596273,70.1086957,36.7753623,45.315735,18.9182195,5.615942,10.3033473,7.6963351,34.1605069,2.4305556,0.3889157,0.4210907,7.0098293,4.3714434,45.933893,22.6178279,28.5751295,68.9896373,35.6217617,44.7927461,19.1450777,5.5181347,10.8604407,7.7287066,34.9416755,3.7931034,0.3551203,0.3865817,6.9374369,4.3642785,45.7397959,22.6410384,28.8714575,68.1933198,35.5516194,45.3188259,19.5091093,5.6427126,11.5934627,8.7423313,34.7938144,4.4217687,0.3846056,0.3693988,7.0034163,4.6120059,44.982613,22.3275024,28.2512315,67.8571429,35.6403941,45.6896552,18.8916256,5.591133,10.2602603,7.8657315,33.8220425,4.1666667 +1682,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4350785,0.4831092,6.9701646,4.5010288,45.4997384,23.8863287,28.9596273,70.1086957,36.7753623,45.315735,18.9182195,5.615942,10.3033473,7.6963351,34.1605069,2.4305556,0.3889157,0.4210907,7.0098293,4.3714434,45.933893,22.6178279,28.5751295,68.9896373,35.6217617,44.7927461,19.1450777,5.5181347,10.8604407,7.7287066,34.9416755,3.7931034,0.3551203,0.3865817,6.9374369,4.3642785,45.7397959,22.6410384,28.8714575,68.1933198,35.5516194,45.3188259,19.5091093,5.6427126,11.5934627,8.7423313,34.7938144,4.4217687,0.3846056,0.3693988,7.0034163,4.6120059,44.982613,22.3275024,28.2512315,67.8571429,35.6403941,45.6896552,18.8916256,5.591133,10.2602603,7.8657315,33.8220425,4.1666667,0.2578036,0.2578036,7.0095694,4.3779904,45.031661,21.9761905,28.4507722,67.6399614,35.5453668,46.21139,18.6534749,6.1052124,9.4554455,8.3746283,33.65,3.5947712 +1683,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6162285,1.5957676,28.3789755,23.5995984,42.7328168,18.8690446,40.1347006,64.3037326,36.5648799,48.8992956,22.7920577,3.4773579,11.8190937,10.1955174,31.7643025,15.6029487,1.6846888,1.6640422,28.9223887,24.1562348,43.79056,18.1878012,40.764665,64.2764944,35.7206706,49.1020918,22.5844406,3.6450084,11.5796188,10.1604146,31.9519681,15.6409178,1.6709346,1.6665015,28.8839298,24.0258614,42.702101,18.3934936,41.4107687,65.0544517,37.1688536,48.7608806,23.4551098,3.5361014,11.2349774,9.709289,32.3705365,13.8476997,1.8980596,1.8516336,29.0687391,24.0610214,42.7071329,18.4318892,41.6975003,65.7649252,37.5285693,48.9665757,24.3101491,3.5305951,11.2455901,9.5506468,31.7924616,16.3821137,2.0057094,1.9450993,28.6780608,23.7562838,42.4841594,18.4893105,41.8070939,65.0928113,37.5017796,48.6287016,24.125601,3.7521636,12.2234007,9.5658396,32.3022196,19.2818591 +1684,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.2597176,2.339899,29.360361,22.716365,47.8722302,13.2065551,36.6974235,65.4552833,32.0410417,47.5004435,22.5847343,4.8721584,16.9299849,12.6033265,35.0864254,14.3152101,2.3770887,2.4095417,29.2337159,22.9090731,47.7089712,13.4543818,37.4768016,64.8408876,32.0344228,47.5227768,23.6733148,5.3184563,15.8287891,11.8836773,34.6388659,14.4350015,2.4202807,2.4299551,29.387114,22.7335064,47.5786431,13.8123712,37.1709488,65.1047011,33.5056443,47.2278723,24.4420332,5.2747245,15.7356011,11.6934877,33.8614593,14.37233,2.1982122,2.1592473,29.9995177,23.0263722,48.1861514,14.6752818,37.1271326,65.2016215,32.910642,47.1988902,24.9247891,5.431372,14.9312279,11.5267667,33.4132893,14.0814947,2.1138071,2.0144865,30.2735469,23.0348791,48.778915,14.1645714,37.9167804,64.8774286,33.7988191,47.6717082,24.5340828,5.2205391,14.7172228,11.8523011,32.9304495,14.1998637 +1685,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4275712,0.4402552,7.2792314,5.1532712,60.063869,14.3836562,26.7364937,66.4804501,32.1573919,43.8435604,14.042438,4.6172102,11.8293659,9.3080055,30.6634333,5.0661529,0.451164,0.4598749,7.3722791,5.299186,58.8730105,14.0179728,26.5958835,67.3075883,32.6660405,43.8905113,14.4818387,4.5133154,11.2165529,9.0559977,31.2240988,5.7204456,0.4331783,0.4415798,7.0858404,5.0683916,58.4063443,14.0159176,27.0621769,67.5227223,32.7807845,44.4963699,14.3344028,4.5419289,11.634217,9.581965,31.2029554,6.5218242,0.4498066,0.4412103,7.1142132,5.0136756,56.9237156,14.2802778,26.4549086,67.5227306,32.7048619,44.6229203,14.688668,4.6178353,11.8302897,9.9405865,31.5433903,6.5737628,0.4356538,0.4329537,7.2742436,5.1354602,55.1782215,14.4261444,26.9811142,68.3144539,32.4653648,45.3962027,14.6288611,4.8175596,11.9575147,10.2760699,32.0327609,7.0076634 +1686,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.0515317,1.0373883,14.661387,9.8435946,49.6160457,12.7744885,30.9662267,59.8984303,33.3030489,37.8007105,16.8662458,4.016363,13.8195506,10.931145,36.9688125,14.4736969,1.1448033,1.0756716,15.3332177,9.8971067,50.0564934,12.9946867,31.1274081,60.4735208,33.7377812,37.4308817,17.7919474,4.1009156,13.8477188,10.950942,37.7711731,14.3441216,1.136759,1.0789552,15.5240108,9.969267,51.9803186,12.8707789,30.8823959,61.5252931,33.2362882,38.3119064,17.4544653,4.07718,13.8507079,10.7959631,38.531806,12.2850539,1.1160189,1.1129378,15.6673614,10.8693645,53.6655191,13.7012723,30.2671106,62.0705217,34.066434,39.3016295,17.1972125,4.2909193,13.4160863,10.1984879,39.4191033,13.6673087,0.9979836,0.9949632,15.9461248,11.1244717,54.3825457,14.2109141,29.8300269,62.0328251,34.4776309,39.4984008,17.5419019,3.9714443,13.7329576,10.088436,39.7633041,12.5859454 +1687,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6006298,0.5921079,8.7897972,5.79354,47.6457956,14.7462863,31.3621202,68.3781894,37.8305039,46.4707425,21.3763145,3.812561,9.5987361,8.3066419,31.5607868,6.1023848,0.6093692,0.5947655,8.9027703,5.743324,47.2256966,15.291682,31.3674377,68.583094,38.5138419,46.0559033,21.2537183,3.7957463,10.029012,8.5111596,31.8936285,5.3999849,0.6520813,0.636512,8.5792662,5.4714046,46.5113222,15.4434694,30.9661188,68.4037876,38.448405,46.3245079,20.4647008,3.7148882,10.1355032,8.6513303,30.5044743,6.0267776,0.6120856,0.585516,8.3907428,5.3596064,45.6059398,15.2493905,29.8756761,68.1906084,37.8038666,46.3397828,19.4337074,3.6878484,9.3169535,8.2420579,29.4878983,5.630623,0.4968433,0.49952,8.0351993,5.3519947,44.8240503,15.7616527,29.3648336,68.0829572,37.3984938,46.8532455,19.4460629,3.4367759,9.6521826,8.729691,30.1925522,4.702968 +1688,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8168545,1.8273261,30.2946557,25.0014354,41.1671775,15.3233789,36.7411373,62.2691257,34.9645191,45.5121235,22.200501,2.9521024,14.5775092,11.0916224,40.3450079,22.3510195,1.7812885,1.7993584,30.3370869,25.1510179,42.0838266,15.0303532,36.4701176,62.8542121,35.8938928,45.4900358,22.9551941,2.820839,14.9765525,11.3882289,39.6522611,22.6984242,1.7179778,1.7051182,29.8290716,25.0924992,42.7270668,14.8108159,36.8070057,63.8680543,36.2665545,44.7839648,23.0052764,2.8441047,15.5556635,11.4258925,39.442589,20.8333475,1.6979523,1.6853302,29.4830574,25.3762303,43.4437605,14.9802111,36.5135976,64.0833007,37.2389597,44.3151028,23.4210443,2.8594491,16.0520863,11.4005481,38.9494259,19.8571483,1.6499715,1.6230423,28.9531891,25.063252,44.171896,14.9542998,36.964161,64.4753573,37.7958924,44.8656462,23.1765762,2.8630801,16.3688468,11.5409055,38.3407839,19.4370018 +1689,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2849736,1.2494329,19.551034,15.2780686,38.1647083,17.0942359,35.1693257,66.6483405,33.8244297,45.0928082,22.7012086,3.0352342,11.3652178,8.9299226,36.2020317,15.0996319,1.3668974,1.3323041,19.7233527,15.6280701,38.9862861,16.9130174,35.4065023,66.9811537,33.8385691,44.9929307,22.8618894,3.0113155,11.4578618,8.6391891,36.9928617,16.4291469,1.4010689,1.3669629,20.293419,15.9756337,39.2100416,16.2738176,34.8324435,67.1427032,33.4923277,44.3208556,22.0988196,2.8042065,11.7380324,8.8538709,36.9823455,15.5508252,1.2572005,1.2234153,21.6459423,16.9232134,40.5934808,16.1573585,35.4765753,67.887155,33.3395221,44.7264208,21.1106616,2.7505073,11.6238278,8.6405977,36.6908596,17.5805781,1.3601795,1.3283331,22.6037745,17.7635771,40.9738504,16.448975,35.9384464,67.3989876,32.7001634,44.3323174,21.3647288,2.8254865,11.872037,8.7279808,37.1722045,19.3749919 +1690,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9525568,0.9641639,10.871075,7.3723895,41.0575662,20.8317992,34.6921034,69.7627455,38.6482814,47.6199137,23.6621708,3.7466615,13.5075932,11.1997058,36.4625662,7.0247702,0.9581392,0.9699583,10.910684,7.3666118,39.2466035,21.7488429,34.8344552,69.8471415,38.608136,48.2231001,23.4687641,4.1837358,13.3947312,11.0979027,37.6237963,7.5892654,0.83659,0.8491388,10.8513421,7.2610232,36.7000634,21.9967035,34.6932892,70.0750968,39.7133957,48.3000127,23.6309266,4.5149371,13.1106095,10.4063285,37.5560743,7.4258195,0.9375292,0.9507461,10.784396,7.0480718,35.1083641,21.0043486,33.8428496,70.1948544,39.7382718,47.0704565,22.6698945,4.1607687,12.4716536,10.880865,38.7842869,8.0190263,0.8751356,0.8887527,11.0700872,6.9224541,34.6865341,20.3416596,34.1082233,70.3570507,39.3872994,47.7563248,23.108794,4.0949009,12.5814464,10.9171841,40.6489164,6.132241 +1691,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6846888,1.6640422,28.9223887,24.1562348,43.79056,18.1878012,40.764665,64.2764944,35.7206706,49.1020918,22.5844406,3.6450084,11.5796188,10.1604146,31.9519681,15.6409178,1.6709346,1.6665015,28.8839298,24.0258614,42.702101,18.3934936,41.4107687,65.0544517,37.1688536,48.7608806,23.4551098,3.5361014,11.2349774,9.709289,32.3705365,13.8476997,1.8980596,1.8516336,29.0687391,24.0610214,42.7071329,18.4318892,41.6975003,65.7649252,37.5285693,48.9665757,24.3101491,3.5305951,11.2455901,9.5506468,31.7924616,16.3821137,2.0057094,1.9450993,28.6780608,23.7562838,42.4841594,18.4893105,41.8070939,65.0928113,37.5017796,48.6287016,24.125601,3.7521636,12.2234007,9.5658396,32.3022196,19.2818591,2.0019993,1.9413286,28.5486828,23.9506751,42.6712479,18.0383667,42.8478381,65.8033335,37.4337475,48.573405,24.6132482,3.6849913,12.2862029,9.0681995,32.1577071,20.0976964 +1692,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5753436,0.6161333,7.4956839,4.8798283,44.5984326,13.9662227,27.4013944,67.5811604,32.4859164,42.7354446,18.3726897,14.3480013,9.9706362,8.8031004,36.0446325,3.3052049,0.5752485,0.6259996,7.7080579,4.9603684,44.8051096,13.6119125,27.9282276,67.6293992,33.1843694,42.2025122,18.4298368,14.5077384,10.228177,8.7493362,36.4767202,3.1163448,0.5536536,0.6046407,7.6704175,4.9569811,44.7300606,13.8143138,28.9530352,67.9921927,33.4746382,42.3159765,18.2007871,14.4866125,10.2021854,8.5063936,36.7114063,3.2413802,0.5262734,0.5644352,7.8967898,5.0370457,44.5980265,14.0228859,29.5976269,68.2387833,33.8720374,42.552774,18.5554139,14.5316644,9.8680843,8.4563619,36.4645923,3.2324631,0.6161669,0.6213071,8.3110822,5.1735639,44.0189115,13.6648039,29.2724088,68.1087978,33.3085903,42.514849,18.5137715,14.666579,9.7769068,8.4231312,37.1129951,3.4256565 +1693,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3889157,0.4210907,7.0098293,4.3714434,45.933893,22.6178279,28.5751295,68.9896373,35.6217617,44.7927461,19.1450777,5.5181347,10.8604407,7.7287066,34.9416755,3.7931034,0.3551203,0.3865817,6.9374369,4.3642785,45.7397959,22.6410384,28.8714575,68.1933198,35.5516194,45.3188259,19.5091093,5.6427126,11.5934627,8.7423313,34.7938144,4.4217687,0.3846056,0.3693988,7.0034163,4.6120059,44.982613,22.3275024,28.2512315,67.8571429,35.6403941,45.6896552,18.8916256,5.591133,10.2602603,7.8657315,33.8220425,4.1666667,0.2578036,0.2578036,7.0095694,4.3779904,45.031661,21.9761905,28.4507722,67.6399614,35.5453668,46.21139,18.6534749,6.1052124,9.4554455,8.3746283,33.65,3.5947712,0.2810861,0.2810861,6.8009479,4.2417062,44.36721,22.3344293,28.3500238,67.7873152,35.2169766,46.3757749,18.0495947,6.1278016,9.6449136,8.5014409,33.9980545,2.3972603 +1694,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3738862,0.3807106,8.7625695,6.1229969,73.5069652,11.7890726,29.2710475,68.1381228,31.1154554,43.9394343,15.2611431,4.5454078,11.4680131,11.496595,30.3855981,3.6893264,0.2528711,0.2963303,8.8384876,6.3132539,72.5316671,12.0230679,29.4515229,69.1075871,30.9854665,43.8633702,14.8534243,5.0441238,12.2784347,12.1225265,29.9112207,4.5462396,0.3882065,0.4339572,9.2782623,6.6619978,72.8426698,11.8032058,28.2950868,68.8144613,30.7936255,44.9534961,14.4290948,5.022016,11.5495156,10.8095063,31.2501401,3.880185,0.5634137,0.5634137,9.181296,6.5872138,72.559432,11.8315211,27.2334185,68.427888,30.7045275,44.3340187,14.982126,4.9259482,11.5346523,10.1686498,33.5160226,4.0187998,0.5422784,0.5256343,9.0548156,6.6119214,72.7540253,11.3361928,26.9889453,68.1527964,30.5126532,44.6077251,15.3497029,4.9920161,11.3471467,9.8029015,33.4552087,4.8245614 +1695,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3834501,0.3834501,6.8736444,4.1859698,48.2542139,21.5695085,27.6327718,67.0865009,34.0364191,43.4142616,19.7116824,8.6949925,8.6176388,7.1596906,37.3297846,4.1795704,0.4045892,0.4045892,7.5572512,4.4427464,47.9570227,21.7140308,28.0341515,67.0212857,33.9976029,43.0776121,19.1639176,9.4546003,8.7404264,7.0584723,37.7599518,4.2319762,0.4002648,0.4002648,7.6651296,4.5622102,48.3171645,21.489927,28.6592566,67.621483,34.5980798,42.9963999,19.9610054,9.6730656,8.5553543,6.8586715,37.8370312,3.7764362,0.4419852,0.4145352,8.0227925,4.7890374,47.9179326,21.4796038,29.4126405,67.7861479,34.7439733,42.2138548,19.5331318,9.6837346,8.3985516,6.4876302,36.2667467,3.9823009,0.5011155,0.4742482,7.8605938,4.8430914,47.2692143,20.8818384,29.6301625,68.256532,35.6765479,41.9870865,19.5333154,9.5832104,8.6994689,6.7821507,37.3218497,4.7142871 +1696,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9570534,2.0517775,35.5637169,30.8136681,49.3543587,19.3299767,35.7432171,66.6579865,32.5191997,45.1670047,20.6365463,3.2550764,16.1327754,11.735448,33.0409749,24.3961836,1.8462632,1.892056,36.4046888,32.212446,49.1621307,18.4716946,36.1581766,67.1831561,32.2481951,45.3683558,20.5212136,2.7424663,17.2356723,11.8633001,32.6646492,24.5049879,1.6504924,1.6953711,37.4992101,32.9812371,49.147463,18.8714895,37.0610282,67.6825081,31.6385967,46.4262068,20.3635245,2.8033665,14.720962,10.0942716,33.3564795,24.7727615,1.7803289,1.7728825,37.7634316,33.2447976,49.4154883,18.5124072,36.8843696,67.1964934,32.0221213,46.1277931,20.0178,2.9110479,15.1912667,10.5626808,33.7404027,25.8547325,2.0060725,1.9440232,38.5340254,33.8789754,49.5178222,18.210267,36.5473204,66.617825,32.03351,46.2774496,20.1347258,2.9600409,14.8778453,12.1960181,34.9350848,28.6008407 +1697,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.451164,0.4598749,7.3722791,5.299186,58.8730105,14.0179728,26.5958835,67.3075883,32.6660405,43.8905113,14.4818387,4.5133154,11.2165529,9.0559977,31.2240988,5.7204456,0.4331783,0.4415798,7.0858404,5.0683916,58.4063443,14.0159176,27.0621769,67.5227223,32.7807845,44.4963699,14.3344028,4.5419289,11.634217,9.581965,31.2029554,6.5218242,0.4498066,0.4412103,7.1142132,5.0136756,56.9237156,14.2802778,26.4549086,67.5227306,32.7048619,44.6229203,14.688668,4.6178353,11.8302897,9.9405865,31.5433903,6.5737628,0.4356538,0.4329537,7.2742436,5.1354602,55.1782215,14.4261444,26.9811142,68.3144539,32.4653648,45.3962027,14.6288611,4.8175596,11.9575147,10.2760699,32.0327609,7.0076634,0.579461,0.5748251,7.5692821,5.2650355,53.4447634,14.7022443,26.5420716,68.7688056,32.409732,46.1007741,14.6313461,4.9272586,12.0224619,10.303558,32.2572642,7.5092483 +1698,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2862234,1.2807192,16.2656275,12.5268047,32.8166943,15.777344,34.2905434,67.99425,39.6161238,47.5477133,22.8178725,3.985084,11.5350974,9.7929383,33.8459838,16.871125,1.255135,1.2498339,16.3134826,12.7107084,33.2927943,15.840565,34.4111287,67.803228,39.226131,47.1903264,22.4954495,3.6197547,11.3076895,9.9647775,33.6225432,16.3793292,1.3562954,1.3512018,16.8177927,13.2312885,33.046117,15.8917122,34.8076118,67.5780801,39.5508656,47.8734698,22.8339639,3.7645884,11.5638036,9.8173351,34.0430018,16.0526485,1.2520293,1.2773565,17.0408027,13.4499361,33.2822993,16.0403127,34.6971507,68.0857116,39.9943743,47.5463487,23.0017836,3.8919867,11.5794159,9.363976,33.7499925,15.9898639,1.2557034,1.2848348,17.5795045,13.9348257,32.8886209,16.382768,34.1233264,68.2952678,39.9137943,47.0083384,23.3483349,3.9541495,11.8611309,9.5079851,33.9654632,14.950946 +1699,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3668974,1.3323041,19.7233527,15.6280701,38.9862861,16.9130174,35.4065023,66.9811537,33.8385691,44.9929307,22.8618894,3.0113155,11.4578618,8.6391891,36.9928617,16.4291469,1.4010689,1.3669629,20.293419,15.9756337,39.2100416,16.2738176,34.8324435,67.1427032,33.4923277,44.3208556,22.0988196,2.8042065,11.7380324,8.8538709,36.9823455,15.5508252,1.2572005,1.2234153,21.6459423,16.9232134,40.5934808,16.1573585,35.4765753,67.887155,33.3395221,44.7264208,21.1106616,2.7505073,11.6238278,8.6405977,36.6908596,17.5805781,1.3601795,1.3283331,22.6037745,17.7635771,40.9738504,16.448975,35.9384464,67.3989876,32.7001634,44.3323174,21.3647288,2.8254865,11.872037,8.7279808,37.1722045,19.3749919,1.426348,1.3961855,22.9068652,18.188516,41.3351065,16.4492004,36.3106311,66.6087802,32.9199454,44.5365846,21.3970022,2.8728946,12.8609288,9.2477368,38.473645,20.8646381 +1700,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2126416,0.2445798,7.214516,4.5961203,57.8074662,22.2618518,30.6895887,65.0507068,33.4362318,44.4228151,19.871162,6.3621351,10.0329761,8.4066618,32.7645732,4.8148148,0.2766298,0.3151225,7.3958023,4.7687199,55.8335696,23.0275053,30.8993322,65.9510143,33.6484741,44.7596355,20.1318208,5.9278619,9.9772803,8.0572119,31.4075807,5.952381,0.3684648,0.3656245,7.4252127,4.6019357,55.9788006,22.9685771,31.1156506,67.1860008,33.5505257,45.7249863,20.130329,5.8041033,10.3584308,8.0157634,30.9553093,4.4715447,0.3798744,0.3896701,6.7763787,3.9877432,56.2711323,22.6503529,31.0068082,65.879012,32.6753141,44.2437811,19.3827347,5.3670987,9.9016151,7.2757725,30.4612673,3.7815126,0.3320694,0.3414628,7.5798101,4.2819232,55.5111799,22.2952483,30.3410952,66.3028594,33.6975029,44.5659675,19.3660932,4.928098,10.148862,7.71283,31.4303363,3.4883721 +1701,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8720509,1.8720509,34.070122,30.2591463,65.3426791,7.7095808,33.3080425,62.5948407,27.5417299,37.8603945,15.2503794,6.6009105,16.4576803,11.09375,36.6352201,18.4848485,1.9330927,1.9330927,34.563253,30.496988,65.1001541,7.1851852,34.2578711,63.0434783,28.7106447,38.155922,15.6671664,6.6716642,17.0623145,11.9822485,36.7559524,17.3529412,1.8222627,1.8222627,34.5982143,30.5803571,66.0741886,6.2776957,35.3073463,64.0929535,28.1109445,38.155922,15.6671664,6.5217391,17.1130952,12.6488095,36.8656716,16.8571429,2.0020013,2.0020013,33.8541667,29.985119,65.9754224,6.2592047,36.002994,64.8952096,27.3203593,39.2964072,16.5419162,6.0628743,16.4723032,10.3498542,36.6959064,14.8255814,2.0544413,2.0544413,34.4544096,29.9701046,65.4503106,6.0089021,38.5951662,64.7280967,27.265861,40.407855,16.9939577,6.7220544,16.3716814,11.6519174,35.0591716,15.0306748 +1702,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7308406,0.7269341,8.7706307,5.6077959,28.4686409,11.0980304,30.496378,68.5758713,37.7887536,49.182918,20.6897521,3.5753271,10.4815261,9.3478641,30.9950097,3.7337662,0.6820194,0.675675,8.3604951,5.3859974,28.5079164,10.9888483,30.6740721,68.3980345,37.5589211,48.8448439,20.5829805,3.3715574,10.3610865,9.6936235,31.0261878,2.8428113,0.6706078,0.6667509,8.3142748,5.3932526,28.5724266,10.5323479,30.3265697,67.8457377,37.2019938,48.4750236,20.354485,3.3524198,10.266741,9.8018148,30.7864589,3.0645181,0.7010367,0.6942774,8.5516099,5.7340745,28.7529395,10.4738964,29.9921536,67.8026253,36.9178615,48.0513677,20.5511769,3.3152129,10.4453158,9.6769385,30.5188947,3.1147592,0.7174007,0.7056034,8.506949,5.6838808,28.5252535,10.7360656,30.1581157,67.2014158,36.9588527,47.7509832,20.6708509,3.4924817,10.5271074,9.697954,30.5308451,2.6315814 +1703,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.255135,1.2498339,16.3134826,12.7107084,33.2927943,15.840565,34.4111287,67.803228,39.226131,47.1903264,22.4954495,3.6197547,11.3076895,9.9647775,33.6225432,16.3793292,1.3562954,1.3512018,16.8177927,13.2312885,33.046117,15.8917122,34.8076118,67.5780801,39.5508656,47.8734698,22.8339639,3.7645884,11.5638036,9.8173351,34.0430018,16.0526485,1.2520293,1.2773565,17.0408027,13.4499361,33.2822993,16.0403127,34.6971507,68.0857116,39.9943743,47.5463487,23.0017836,3.8919867,11.5794159,9.363976,33.7499925,15.9898639,1.2557034,1.2848348,17.5795045,13.9348257,32.8886209,16.382768,34.1233264,68.2952678,39.9137943,47.0083384,23.3483349,3.9541495,11.8611309,9.5079851,33.9654632,14.950946,1.23619,1.2549438,17.4660608,13.7858065,33.2020788,16.2865543,34.1728447,67.6568016,39.1821917,46.5240829,23.569657,3.7189003,11.6689365,9.7859518,33.8341071,16.2100148 +1704,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6820194,0.675675,8.3604951,5.3859974,28.5079164,10.9888483,30.6740721,68.3980345,37.5589211,48.8448439,20.5829805,3.3715574,10.3610865,9.6936235,31.0261878,2.8428113,0.6706078,0.6667509,8.3142748,5.3932526,28.5724266,10.5323479,30.3265697,67.8457377,37.2019938,48.4750236,20.354485,3.3524198,10.266741,9.8018148,30.7864589,3.0645181,0.7010367,0.6942774,8.5516099,5.7340745,28.7529395,10.4738964,29.9921536,67.8026253,36.9178615,48.0513677,20.5511769,3.3152129,10.4453158,9.6769385,30.5188947,3.1147592,0.7174007,0.7056034,8.506949,5.6838808,28.5252535,10.7360656,30.1581157,67.2014158,36.9588527,47.7509832,20.6708509,3.4924817,10.5271074,9.697954,30.5308451,2.6315814,0.6877153,0.6622786,8.368852,5.6502594,28.8798611,10.60967,30.020932,67.2723218,36.9148964,47.4427783,20.4501092,3.7012137,10.785724,9.6797176,29.9056032,3.1437154 +1705,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4331783,0.4415798,7.0858404,5.0683916,58.4063443,14.0159176,27.0621769,67.5227223,32.7807845,44.4963699,14.3344028,4.5419289,11.634217,9.581965,31.2029554,6.5218242,0.4498066,0.4412103,7.1142132,5.0136756,56.9237156,14.2802778,26.4549086,67.5227306,32.7048619,44.6229203,14.688668,4.6178353,11.8302897,9.9405865,31.5433903,6.5737628,0.4356538,0.4329537,7.2742436,5.1354602,55.1782215,14.4261444,26.9811142,68.3144539,32.4653648,45.3962027,14.6288611,4.8175596,11.9575147,10.2760699,32.0327609,7.0076634,0.579461,0.5748251,7.5692821,5.2650355,53.4447634,14.7022443,26.5420716,68.7688056,32.409732,46.1007741,14.6313461,4.9272586,12.0224619,10.303558,32.2572642,7.5092483,0.522054,0.5405153,7.6483087,5.3623312,51.4554697,14.1792952,26.0113176,69.7706037,32.4494612,46.6822905,15.1578521,4.9703771,11.8704267,10.6664154,31.3494016,6.8774078 +1706,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9363475,0.917977,11.5834133,7.8147908,27.1775164,21.6691442,35.9886685,69.0440925,41.4085854,52.2483654,24.5830727,3.8564632,11.4856706,10.4303565,33.724398,6.176467,0.9440043,0.9582375,11.6045504,8.0518434,27.5060554,21.5214298,37.3581993,69.1492636,41.417923,52.2238886,24.9701358,4.0447774,11.1401835,10.6413861,34.7863907,6.3252974,0.978987,1.0039507,11.806165,8.1535865,27.6874218,21.3203248,37.3747651,68.2528055,40.9693633,51.163827,24.6169609,3.9923382,10.8806738,10.4558219,35.0741789,7.7586648,1.0963711,1.1211258,12.0724235,8.3951066,27.4347961,21.2608797,37.1081018,68.8397379,40.6240872,50.6153134,24.2748338,4.028719,10.6640345,10.3672145,35.2259764,10.1745053,1.0825378,1.111566,11.8987194,8.4748299,26.7133198,21.3136,37.075223,69.0531632,40.8510134,50.6680335,24.6151599,4.0517008,10.5540078,10.0445047,34.5469529,9.7059715 +1707,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7812885,1.7993584,30.3370869,25.1510179,42.0838266,15.0303532,36.4701176,62.8542121,35.8938928,45.4900358,22.9551941,2.820839,14.9765525,11.3882289,39.6522611,22.6984242,1.7179778,1.7051182,29.8290716,25.0924992,42.7270668,14.8108159,36.8070057,63.8680543,36.2665545,44.7839648,23.0052764,2.8441047,15.5556635,11.4258925,39.442589,20.8333475,1.6979523,1.6853302,29.4830574,25.3762303,43.4437605,14.9802111,36.5135976,64.0833007,37.2389597,44.3151028,23.4210443,2.8594491,16.0520863,11.4005481,38.9494259,19.8571483,1.6499715,1.6230423,28.9531891,25.063252,44.171896,14.9542998,36.964161,64.4753573,37.7958924,44.8656462,23.1765762,2.8630801,16.3688468,11.5409055,38.3407839,19.4370018,1.7190093,1.6853306,29.0580274,25.2417839,44.8579891,14.86846,36.8024698,65.4021886,38.5032376,44.8968322,22.6610046,2.6613655,16.8499312,11.6331667,38.7442748,19.7643821 +1708,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.2528711,0.2963303,8.8384876,6.3132539,72.5316671,12.0230679,29.4515229,69.1075871,30.9854665,43.8633702,14.8534243,5.0441238,12.2784347,12.1225265,29.9112207,4.5462396,0.3882065,0.4339572,9.2782623,6.6619978,72.8426698,11.8032058,28.2950868,68.8144613,30.7936255,44.9534961,14.4290948,5.022016,11.5495156,10.8095063,31.2501401,3.880185,0.5634137,0.5634137,9.181296,6.5872138,72.559432,11.8315211,27.2334185,68.427888,30.7045275,44.3340187,14.982126,4.9259482,11.5346523,10.1686498,33.5160226,4.0187998,0.5422784,0.5256343,9.0548156,6.6119214,72.7540253,11.3361928,26.9889453,68.1527964,30.5126532,44.6077251,15.3497029,4.9920161,11.3471467,9.8029015,33.4552087,4.8245614,0.5281409,0.4941768,8.365085,6.2535703,71.7303714,11.5775683,26.1778507,68.0835496,31.4293784,45.1815165,15.3492161,5.2788421,11.7864158,9.3551372,34.5581059,4.0539737 +1709,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.1448033,1.0756716,15.3332177,9.8971067,50.0564934,12.9946867,31.1274081,60.4735208,33.7377812,37.4308817,17.7919474,4.1009156,13.8477188,10.950942,37.7711731,14.3441216,1.136759,1.0789552,15.5240108,9.969267,51.9803186,12.8707789,30.8823959,61.5252931,33.2362882,38.3119064,17.4544653,4.07718,13.8507079,10.7959631,38.531806,12.2850539,1.1160189,1.1129378,15.6673614,10.8693645,53.6655191,13.7012723,30.2671106,62.0705217,34.066434,39.3016295,17.1972125,4.2909193,13.4160863,10.1984879,39.4191033,13.6673087,0.9979836,0.9949632,15.9461248,11.1244717,54.3825457,14.2109141,29.8300269,62.0328251,34.4776309,39.4984008,17.5419019,3.9714443,13.7329576,10.088436,39.7633041,12.5859454,1.0574451,1.0544639,15.7984179,10.7912107,55.9678469,13.9050473,29.3752148,62.3530385,33.6823004,39.4369726,17.3825644,3.9455115,13.417824,10.1771195,39.6559432,11.1940329 +1710,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7988636,0.8255633,10.4484898,7.3020701,57.7130931,8.6016899,25.8970158,65.1553025,32.6704148,39.8810972,16.9088855,6.359306,10.3355103,9.0341206,37.0249191,7.5640064,0.7820923,0.7941029,10.6579978,7.6752314,57.6459871,8.8632905,26.1273701,65.0808857,32.5947715,39.8759654,17.0472552,6.3524675,10.3715107,9.2112502,37.0274443,6.6794929,0.7868977,0.8101811,10.9481934,7.9204667,57.7216979,8.8758621,25.9452138,65.0570923,32.6966636,39.9149291,17.0184072,6.3258719,10.6505045,9.3083669,37.1219074,6.5990868,0.7820767,0.80551,11.0724633,8.064372,57.8462023,8.9291032,26.091963,65.3066366,32.6643556,39.7965321,16.8251545,6.3389571,10.2965936,8.9099431,37.3396389,6.9098151,0.811997,0.8425954,11.0773433,8.0675945,58.1462224,8.8616119,26.2257509,65.2067029,32.6748626,39.3021346,16.749195,6.3187109,10.2016486,8.7900234,37.1917187,6.4533158 +1711,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6706078,0.6667509,8.3142748,5.3932526,28.5724266,10.5323479,30.3265697,67.8457377,37.2019938,48.4750236,20.354485,3.3524198,10.266741,9.8018148,30.7864589,3.0645181,0.7010367,0.6942774,8.5516099,5.7340745,28.7529395,10.4738964,29.9921536,67.8026253,36.9178615,48.0513677,20.5511769,3.3152129,10.4453158,9.6769385,30.5188947,3.1147592,0.7174007,0.7056034,8.506949,5.6838808,28.5252535,10.7360656,30.1581157,67.2014158,36.9588527,47.7509832,20.6708509,3.4924817,10.5271074,9.697954,30.5308451,2.6315814,0.6877153,0.6622786,8.368852,5.6502594,28.8798611,10.60967,30.020932,67.2723218,36.9148964,47.4427783,20.4501092,3.7012137,10.785724,9.6797176,29.9056032,3.1437154,0.6579599,0.6387548,8.5738329,5.748971,29.1673558,10.5950529,29.6758576,67.3774844,37.2130812,47.3247309,20.789373,3.6367902,10.8008388,9.926029,30.3608413,3.3762069 +1712,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6709346,1.6665015,28.8839298,24.0258614,42.702101,18.3934936,41.4107687,65.0544517,37.1688536,48.7608806,23.4551098,3.5361014,11.2349774,9.709289,32.3705365,13.8476997,1.8980596,1.8516336,29.0687391,24.0610214,42.7071329,18.4318892,41.6975003,65.7649252,37.5285693,48.9665757,24.3101491,3.5305951,11.2455901,9.5506468,31.7924616,16.3821137,2.0057094,1.9450993,28.6780608,23.7562838,42.4841594,18.4893105,41.8070939,65.0928113,37.5017796,48.6287016,24.125601,3.7521636,12.2234007,9.5658396,32.3022196,19.2818591,2.0019993,1.9413286,28.5486828,23.9506751,42.6712479,18.0383667,42.8478381,65.8033335,37.4337475,48.573405,24.6132482,3.6849913,12.2862029,9.0681995,32.1577071,20.0976964,1.8822465,1.8320577,28.2025469,23.955157,42.7655357,17.6065691,42.9314262,66.2305335,37.5624333,48.2613927,25.2858263,3.6689146,12.4468911,9.3084307,32.8674155,20.2180639 +1713,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3551203,0.3865817,6.9374369,4.3642785,45.7397959,22.6410384,28.8714575,68.1933198,35.5516194,45.3188259,19.5091093,5.6427126,11.5934627,8.7423313,34.7938144,4.4217687,0.3846056,0.3693988,7.0034163,4.6120059,44.982613,22.3275024,28.2512315,67.8571429,35.6403941,45.6896552,18.8916256,5.591133,10.2602603,7.8657315,33.8220425,4.1666667,0.2578036,0.2578036,7.0095694,4.3779904,45.031661,21.9761905,28.4507722,67.6399614,35.5453668,46.21139,18.6534749,6.1052124,9.4554455,8.3746283,33.65,3.5947712,0.2810861,0.2810861,6.8009479,4.2417062,44.36721,22.3344293,28.3500238,67.7873152,35.2169766,46.3757749,18.0495947,6.1278016,9.6449136,8.5014409,33.9980545,2.3972603,0.2781513,0.3005628,6.6328992,4.1244573,44.2251462,22.0181298,28.2094595,67.253861,34.8696911,47.0801158,18.5569498,6.0569498,9.2967245,8.7270974,33.8062622,3.1914894 +1714,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.136759,1.0789552,15.5240108,9.969267,51.9803186,12.8707789,30.8823959,61.5252931,33.2362882,38.3119064,17.4544653,4.07718,13.8507079,10.7959631,38.531806,12.2850539,1.1160189,1.1129378,15.6673614,10.8693645,53.6655191,13.7012723,30.2671106,62.0705217,34.066434,39.3016295,17.1972125,4.2909193,13.4160863,10.1984879,39.4191033,13.6673087,0.9979836,0.9949632,15.9461248,11.1244717,54.3825457,14.2109141,29.8300269,62.0328251,34.4776309,39.4984008,17.5419019,3.9714443,13.7329576,10.088436,39.7633041,12.5859454,1.0574451,1.0544639,15.7984179,10.7912107,55.9678469,13.9050473,29.3752148,62.3530385,33.6823004,39.4369726,17.3825644,3.9455115,13.417824,10.1771195,39.6559432,11.1940329,0.9810203,0.9273823,15.9583138,11.3741853,57.2212727,14.0096613,29.8201653,63.4610782,34.0637815,40.1018035,17.542131,3.654899,13.6103271,11.3003532,37.7366113,8.3108128 +1715,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2491024,1.3071718,19.8695618,15.5348635,84.3779253,12.6062112,31.6188596,63.5141906,33.3339237,37.1553603,16.5641582,4.7956621,15.0520507,10.9438461,38.0821238,13.3578074,1.3889316,1.4472188,20.5315375,16.001452,83.9304162,12.4355733,32.6542267,63.0583957,33.6645476,37.49327,17.0524229,4.3889599,14.7116368,11.6069958,40.0225256,12.3862281,1.3407002,1.3629977,20.617754,15.8133555,83.551606,12.8028196,32.8899819,63.2595686,33.4234526,36.0457974,16.696222,4.4006604,14.8951625,12.6875855,41.2833905,14.260667,1.3975905,1.4192287,20.3601437,15.7653063,83.1808187,13.533712,33.2407136,63.5376077,33.5878049,36.7464797,16.9497339,4.8234551,13.8816326,11.8754177,40.2588113,13.5173143,1.4519298,1.4474985,20.7703527,16.0886442,83.4900251,13.4273251,32.9503952,63.6406218,33.3047374,36.1889446,16.9273548,4.8743103,13.8218013,10.9488528,38.5232432,16.9893321 +1716,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3562954,1.3512018,16.8177927,13.2312885,33.046117,15.8917122,34.8076118,67.5780801,39.5508656,47.8734698,22.8339639,3.7645884,11.5638036,9.8173351,34.0430018,16.0526485,1.2520293,1.2773565,17.0408027,13.4499361,33.2822993,16.0403127,34.6971507,68.0857116,39.9943743,47.5463487,23.0017836,3.8919867,11.5794159,9.363976,33.7499925,15.9898639,1.2557034,1.2848348,17.5795045,13.9348257,32.8886209,16.382768,34.1233264,68.2952678,39.9137943,47.0083384,23.3483349,3.9541495,11.8611309,9.5079851,33.9654632,14.950946,1.23619,1.2549438,17.4660608,13.7858065,33.2020788,16.2865543,34.1728447,67.6568016,39.1821917,46.5240829,23.569657,3.7189003,11.6689365,9.7859518,33.8341071,16.2100148,1.1592442,1.1995016,17.9750262,14.1156811,33.515164,16.1680504,32.8290728,67.5933411,38.4421494,47.2127285,23.6433708,3.7069595,11.69683,10.1698188,33.5023333,16.7391015 +1717,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8445954,2.8791323,40.9080369,35.9720549,70.8493616,12.9879744,35.4167482,61.2383617,25.274017,38.0334517,18.3897264,2.0599805,17.6744207,14.1696739,43.6552955,29.7449377,2.8035113,2.8040892,41.468916,36.5646413,71.0960638,12.9747203,35.9232231,61.2303201,25.64985,38.124855,18.1862492,2.0578625,17.0008284,13.7744694,43.4338747,29.2083083,2.6133668,2.6168449,40.4285411,35.5450045,71.4514093,12.7081181,36.1420761,61.45135,25.8103705,38.2293407,17.6239968,2.0997872,16.7919007,13.0087301,43.503812,27.2146445,2.6173159,2.6322961,40.9480383,36.0180417,73.1119916,12.2053496,35.927119,60.6931338,25.5122638,37.4192204,17.4093911,1.815776,16.0960993,13.1087809,43.1228148,26.2946067,2.4052728,2.4407979,40.4312728,35.3032204,73.4019004,11.6328867,35.5748252,60.4012328,25.1545013,37.3154009,17.1347192,1.9491083,16.6709771,12.5608545,44.1118782,27.0798924 +1718,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7820923,0.7941029,10.6579978,7.6752314,57.6459871,8.8632905,26.1273701,65.0808857,32.5947715,39.8759654,17.0472552,6.3524675,10.3715107,9.2112502,37.0274443,6.6794929,0.7868977,0.8101811,10.9481934,7.9204667,57.7216979,8.8758621,25.9452138,65.0570923,32.6966636,39.9149291,17.0184072,6.3258719,10.6505045,9.3083669,37.1219074,6.5990868,0.7820767,0.80551,11.0724633,8.064372,57.8462023,8.9291032,26.091963,65.3066366,32.6643556,39.7965321,16.8251545,6.3389571,10.2965936,8.9099431,37.3396389,6.9098151,0.811997,0.8425954,11.0773433,8.0675945,58.1462224,8.8616119,26.2257509,65.2067029,32.6748626,39.3021346,16.749195,6.3187109,10.2016486,8.7900234,37.1917187,6.4533158,0.8393782,0.8620115,11.3435547,8.2797181,58.6644289,8.7534569,26.3213111,64.9712922,32.1939425,38.8048513,16.579745,6.2779595,10.3550237,8.868832,36.8064985,6.7964113 +1719,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2766298,0.3151225,7.3958023,4.7687199,55.8335696,23.0275053,30.8993322,65.9510143,33.6484741,44.7596355,20.1318208,5.9278619,9.9772803,8.0572119,31.4075807,5.952381,0.3684648,0.3656245,7.4252127,4.6019357,55.9788006,22.9685771,31.1156506,67.1860008,33.5505257,45.7249863,20.130329,5.8041033,10.3584308,8.0157634,30.9553093,4.4715447,0.3798744,0.3896701,6.7763787,3.9877432,56.2711323,22.6503529,31.0068082,65.879012,32.6753141,44.2437811,19.3827347,5.3670987,9.9016151,7.2757725,30.4612673,3.7815126,0.3320694,0.3414628,7.5798101,4.2819232,55.5111799,22.2952483,30.3410952,66.3028594,33.6975029,44.5659675,19.3660932,4.928098,10.148862,7.71283,31.4303363,3.4883721,0.3847733,0.401912,6.7172172,3.8944133,56.3223573,22.3569601,29.6810755,65.8736751,33.4990628,42.5995312,18.9069806,5.2562937,9.9273175,7.6563138,31.9184823,3.8194444 +1720,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6093692,0.5947655,8.9027703,5.743324,47.2256966,15.291682,31.3674377,68.583094,38.5138419,46.0559033,21.2537183,3.7957463,10.029012,8.5111596,31.8936285,5.3999849,0.6520813,0.636512,8.5792662,5.4714046,46.5113222,15.4434694,30.9661188,68.4037876,38.448405,46.3245079,20.4647008,3.7148882,10.1355032,8.6513303,30.5044743,6.0267776,0.6120856,0.585516,8.3907428,5.3596064,45.6059398,15.2493905,29.8756761,68.1906084,37.8038666,46.3397828,19.4337074,3.6878484,9.3169535,8.2420579,29.4878983,5.630623,0.4968433,0.49952,8.0351993,5.3519947,44.8240503,15.7616527,29.3648336,68.0829572,37.3984938,46.8532455,19.4460629,3.4367759,9.6521826,8.729691,30.1925522,4.702968,0.4551691,0.4716662,8.144727,5.4347862,44.5331331,16.0982035,28.8587517,68.6978656,37.7383799,46.7073883,19.9791413,3.3820022,9.0608161,8.644576,30.1812941,4.1666646 +1721,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6613373,0.6705187,9.0971292,5.3240632,44.2785576,19.7200307,31.291303,70.1723287,39.6698006,43.7732608,22.9411931,4.4046314,9.3765465,8.3086618,33.3033764,7.2314792,0.6705265,0.6770817,8.9602963,5.3649681,43.9278188,19.6302418,31.3823963,70.936052,39.1956095,44.4047102,22.9393537,4.4505206,9.2525143,7.5508231,33.0096579,6.9621556,0.68023,0.6880019,9.2740623,5.7701648,44.1119577,19.2772513,31.0861119,71.2515903,38.8966932,45.7953061,23.0188317,4.4042499,9.9825981,7.9067593,33.4391368,7.415394,0.7229131,0.7135159,9.638591,6.1361151,43.3593286,19.2393075,31.0593738,71.3418902,38.9123078,45.6355555,23.3756759,4.5056437,9.9207168,7.933287,34.2879106,7.1722691,0.8341785,0.8184227,10.1757042,6.7151231,43.7160235,19.0680753,30.9396259,71.345986,38.8683626,46.0072807,23.3492221,4.3876921,9.9328693,8.3100006,34.1496765,6.8750529 +1722,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6306561,0.6608749,9.3608077,6.180482,38.2490344,20.4570491,30.5887111,68.3929995,38.130476,48.7589549,21.5194954,6.5791541,9.1036829,7.7704796,33.4645679,3.734938,0.5895281,0.6133682,8.9871345,5.9531137,37.4999992,20.5350317,30.1970216,68.1585479,38.6984205,49.2786232,22.5798966,6.756126,8.9242383,7.7797989,33.399571,3.6214945,0.6105687,0.6158105,8.950765,5.9748456,37.3939701,21.0441867,30.7936725,67.7336815,38.5909156,48.7908821,22.5003854,6.7508892,9.1033821,7.8577968,33.0717103,3.4855752,0.6215122,0.641219,9.1480475,6.1530135,37.4960305,21.0432824,30.7674233,67.4001587,38.5043093,48.4025013,22.4823776,6.9616284,8.88239,7.6887557,32.9556028,3.0562332,0.6406236,0.6672712,9.401911,6.5113821,37.4214368,20.8709658,30.9512649,67.3572377,38.4931733,47.6489674,22.4161939,6.7116695,9.4687919,7.855216,33.167127,3.7439586 +1723,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4498066,0.4412103,7.1142132,5.0136756,56.9237156,14.2802778,26.4549086,67.5227306,32.7048619,44.6229203,14.688668,4.6178353,11.8302897,9.9405865,31.5433903,6.5737628,0.4356538,0.4329537,7.2742436,5.1354602,55.1782215,14.4261444,26.9811142,68.3144539,32.4653648,45.3962027,14.6288611,4.8175596,11.9575147,10.2760699,32.0327609,7.0076634,0.579461,0.5748251,7.5692821,5.2650355,53.4447634,14.7022443,26.5420716,68.7688056,32.409732,46.1007741,14.6313461,4.9272586,12.0224619,10.303558,32.2572642,7.5092483,0.522054,0.5405153,7.6483087,5.3623312,51.4554697,14.1792952,26.0113176,69.7706037,32.4494612,46.6822905,15.1578521,4.9703771,11.8704267,10.6664154,31.3494016,6.8774078,0.5115614,0.5223013,7.9490158,5.4975746,50.5375026,14.1795971,26.7166705,69.5914613,32.156109,46.6527534,15.1488531,5.0578145,11.404361,10.6244419,31.1861464,5.2920558 +1724,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7852682,0.8286503,10.4225026,6.5482798,49.5577688,11.1012757,32.151771,66.8076672,42.8620792,45.9142711,24.3687311,4.8210227,10.3002323,9.2309609,37.5491272,5.2480866,0.7819383,0.8097686,10.7749665,6.7369033,48.6853459,11.0735596,32.4282414,67.2078823,42.332552,45.4992731,24.3430564,4.776975,10.0700824,9.0064436,37.1969461,5.491321,0.80299,0.8238361,10.7263749,6.7357704,49.0901329,11.0240157,32.774245,67.2645582,42.5786625,45.2596911,24.3944792,4.6690741,9.7557594,8.361134,37.4642896,5.3345312,0.7718421,0.7887523,10.8289104,6.6116571,49.3549087,10.7914582,32.9103421,67.6248757,42.5002597,44.7631918,24.5191289,4.666523,9.9382678,8.3959625,38.3975794,5.9563688,0.766597,0.7774113,10.9675781,6.6330892,49.2378317,10.603526,32.845577,66.6860904,42.0155641,44.2731553,24.4086884,4.6373596,10.2584886,8.7882805,38.2701394,6.2403621 +1725,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4045892,0.4045892,7.5572512,4.4427464,47.9570227,21.7140308,28.0341515,67.0212857,33.9976029,43.0776121,19.1639176,9.4546003,8.7404264,7.0584723,37.7599518,4.2319762,0.4002648,0.4002648,7.6651296,4.5622102,48.3171645,21.489927,28.6592566,67.621483,34.5980798,42.9963999,19.9610054,9.6730656,8.5553543,6.8586715,37.8370312,3.7764362,0.4419852,0.4145352,8.0227925,4.7890374,47.9179326,21.4796038,29.4126405,67.7861479,34.7439733,42.2138548,19.5331318,9.6837346,8.3985516,6.4876302,36.2667467,3.9823009,0.5011155,0.4742482,7.8605938,4.8430914,47.2692143,20.8818384,29.6301625,68.256532,35.6765479,41.9870865,19.5333154,9.5832104,8.6994689,6.7821507,37.3218497,4.7142871,0.5149114,0.4880369,8.0712812,4.9266262,46.6795071,20.56686,30.0761726,68.1658398,35.7017293,42.5871662,19.93847,9.6542627,8.500002,6.5781726,37.7014956,4.8611125 +1726,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5752485,0.6259996,7.7080579,4.9603684,44.8051096,13.6119125,27.9282276,67.6293992,33.1843694,42.2025122,18.4298368,14.5077384,10.228177,8.7493362,36.4767202,3.1163448,0.5536536,0.6046407,7.6704175,4.9569811,44.7300606,13.8143138,28.9530352,67.9921927,33.4746382,42.3159765,18.2007871,14.4866125,10.2021854,8.5063936,36.7114063,3.2413802,0.5262734,0.5644352,7.8967898,5.0370457,44.5980265,14.0228859,29.5976269,68.2387833,33.8720374,42.552774,18.5554139,14.5316644,9.8680843,8.4563619,36.4645923,3.2324631,0.6161669,0.6213071,8.3110822,5.1735639,44.0189115,13.6648039,29.2724088,68.1087978,33.3085903,42.514849,18.5137715,14.666579,9.7769068,8.4231312,37.1129951,3.4256565,0.6678039,0.6729258,8.3477688,5.2564948,43.7371533,13.7470079,29.7211762,68.4334574,33.7351837,42.9216039,18.5681583,14.6349712,9.626025,8.1926163,37.1417187,3.1069364 +1727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3684648,0.3656245,7.4252127,4.6019357,55.9788006,22.9685771,31.1156506,67.1860008,33.5505257,45.7249863,20.130329,5.8041033,10.3584308,8.0157634,30.9553093,4.4715447,0.3798744,0.3896701,6.7763787,3.9877432,56.2711323,22.6503529,31.0068082,65.879012,32.6753141,44.2437811,19.3827347,5.3670987,9.9016151,7.2757725,30.4612673,3.7815126,0.3320694,0.3414628,7.5798101,4.2819232,55.5111799,22.2952483,30.3410952,66.3028594,33.6975029,44.5659675,19.3660932,4.928098,10.148862,7.71283,31.4303363,3.4883721,0.3847733,0.401912,6.7172172,3.8944133,56.3223573,22.3569601,29.6810755,65.8736751,33.4990628,42.5995312,18.9069806,5.2562937,9.9273175,7.6563138,31.9184823,3.8194444,0.4319761,0.4661987,6.6584704,3.759206,55.8502712,23.1986249,28.5256417,66.1489067,32.7169408,42.5295842,19.0088762,5.6459547,9.8831616,7.7636772,31.1209426,1.6666667 +1728,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2520293,1.2773565,17.0408027,13.4499361,33.2822993,16.0403127,34.6971507,68.0857116,39.9943743,47.5463487,23.0017836,3.8919867,11.5794159,9.363976,33.7499925,15.9898639,1.2557034,1.2848348,17.5795045,13.9348257,32.8886209,16.382768,34.1233264,68.2952678,39.9137943,47.0083384,23.3483349,3.9541495,11.8611309,9.5079851,33.9654632,14.950946,1.23619,1.2549438,17.4660608,13.7858065,33.2020788,16.2865543,34.1728447,67.6568016,39.1821917,46.5240829,23.569657,3.7189003,11.6689365,9.7859518,33.8341071,16.2100148,1.1592442,1.1995016,17.9750262,14.1156811,33.515164,16.1680504,32.8290728,67.5933411,38.4421494,47.2127285,23.6433708,3.7069595,11.69683,10.1698188,33.5023333,16.7391015,1.263346,1.3183718,19.060023,14.7052483,33.0294042,17.4109541,33.638519,67.5428918,38.1860109,48.4576468,24.1248558,4.0919031,11.9801326,10.898735,34.1201586,17.7082917 +1729,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7010367,0.6942774,8.5516099,5.7340745,28.7529395,10.4738964,29.9921536,67.8026253,36.9178615,48.0513677,20.5511769,3.3152129,10.4453158,9.6769385,30.5188947,3.1147592,0.7174007,0.7056034,8.506949,5.6838808,28.5252535,10.7360656,30.1581157,67.2014158,36.9588527,47.7509832,20.6708509,3.4924817,10.5271074,9.697954,30.5308451,2.6315814,0.6877153,0.6622786,8.368852,5.6502594,28.8798611,10.60967,30.020932,67.2723218,36.9148964,47.4427783,20.4501092,3.7012137,10.785724,9.6797176,29.9056032,3.1437154,0.6579599,0.6387548,8.5738329,5.748971,29.1673558,10.5950529,29.6758576,67.3774844,37.2130812,47.3247309,20.789373,3.6367902,10.8008388,9.926029,30.3608413,3.3762069,0.6293949,0.6214668,8.4036998,5.6157393,29.03201,10.4868598,29.5417639,67.1713096,36.9251882,47.4983515,21.1220665,3.4893165,10.4147971,9.3825211,29.8675895,3.4768223 +1730,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6705265,0.6770817,8.9602963,5.3649681,43.9278188,19.6302418,31.3823963,70.936052,39.1956095,44.4047102,22.9393537,4.4505206,9.2525143,7.5508231,33.0096579,6.9621556,0.68023,0.6880019,9.2740623,5.7701648,44.1119577,19.2772513,31.0861119,71.2515903,38.8966932,45.7953061,23.0188317,4.4042499,9.9825981,7.9067593,33.4391368,7.415394,0.7229131,0.7135159,9.638591,6.1361151,43.3593286,19.2393075,31.0593738,71.3418902,38.9123078,45.6355555,23.3756759,4.5056437,9.9207168,7.933287,34.2879106,7.1722691,0.8341785,0.8184227,10.1757042,6.7151231,43.7160235,19.0680753,30.9396259,71.345986,38.8683626,46.0072807,23.3492221,4.3876921,9.9328693,8.3100006,34.1496765,6.8750529,0.7641453,0.7486156,10.0975846,6.7633499,43.3062216,19.0962905,31.379933,71.7512919,38.8888078,45.9544858,23.7599736,4.3917925,10.1990868,8.6560176,35.3087629,6.2771597 +1731,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.3770887,2.4095417,29.2337159,22.9090731,47.7089712,13.4543818,37.4768016,64.8408876,32.0344228,47.5227768,23.6733148,5.3184563,15.8287891,11.8836773,34.6388659,14.4350015,2.4202807,2.4299551,29.387114,22.7335064,47.5786431,13.8123712,37.1709488,65.1047011,33.5056443,47.2278723,24.4420332,5.2747245,15.7356011,11.6934877,33.8614593,14.37233,2.1982122,2.1592473,29.9995177,23.0263722,48.1861514,14.6752818,37.1271326,65.2016215,32.910642,47.1988902,24.9247891,5.431372,14.9312279,11.5267667,33.4132893,14.0814947,2.1138071,2.0144865,30.2735469,23.0348791,48.778915,14.1645714,37.9167804,64.8774286,33.7988191,47.6717082,24.5340828,5.2205391,14.7172228,11.8523011,32.9304495,14.1998637,1.9229434,1.8693499,29.5663724,22.778774,47.8007789,14.5107672,38.9170525,65.4114116,34.2012134,48.3966438,25.2562516,5.5678696,15.0364802,11.8551961,33.799816,14.4382051 +1732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8035113,2.8040892,41.468916,36.5646413,71.0960638,12.9747203,35.9232231,61.2303201,25.64985,38.124855,18.1862492,2.0578625,17.0008284,13.7744694,43.4338747,29.2083083,2.6133668,2.6168449,40.4285411,35.5450045,71.4514093,12.7081181,36.1420761,61.45135,25.8103705,38.2293407,17.6239968,2.0997872,16.7919007,13.0087301,43.503812,27.2146445,2.6173159,2.6322961,40.9480383,36.0180417,73.1119916,12.2053496,35.927119,60.6931338,25.5122638,37.4192204,17.4093911,1.815776,16.0960993,13.1087809,43.1228148,26.2946067,2.4052728,2.4407979,40.4312728,35.3032204,73.4019004,11.6328867,35.5748252,60.4012328,25.1545013,37.3154009,17.1347192,1.9491083,16.6709771,12.5608545,44.1118782,27.0798924,2.5868637,2.6344906,39.3893355,34.0899417,74.5321639,11.4866307,34.5465533,59.8700017,24.1885933,36.8634485,16.5062425,1.9663764,17.2127922,13.1331951,43.8707369,26.7912205 +1733,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6520813,0.636512,8.5792662,5.4714046,46.5113222,15.4434694,30.9661188,68.4037876,38.448405,46.3245079,20.4647008,3.7148882,10.1355032,8.6513303,30.5044743,6.0267776,0.6120856,0.585516,8.3907428,5.3596064,45.6059398,15.2493905,29.8756761,68.1906084,37.8038666,46.3397828,19.4337074,3.6878484,9.3169535,8.2420579,29.4878983,5.630623,0.4968433,0.49952,8.0351993,5.3519947,44.8240503,15.7616527,29.3648336,68.0829572,37.3984938,46.8532455,19.4460629,3.4367759,9.6521826,8.729691,30.1925522,4.702968,0.4551691,0.4716662,8.144727,5.4347862,44.5331331,16.0982035,28.8587517,68.6978656,37.7383799,46.7073883,19.9791413,3.3820022,9.0608161,8.644576,30.1812941,4.1666646,0.4897334,0.4788933,7.54468,4.8784097,44.1947067,16.1051453,29.5060099,68.5533746,37.8565102,46.3834114,19.5383633,3.3666594,9.6188348,8.6555653,31.074655,2.5943396 +1734,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.0344931,1.0540437,15.2107084,11.778609,55.385841,31.0640039,33.8353467,67.1156947,33.5179895,43.9777018,16.0855319,4.6751744,16.5034837,8.6602439,35.8085585,6.0976353,1.1832368,1.203378,15.1686295,11.9584008,55.163875,30.0481176,33.4678779,66.8547871,32.6611752,42.6612075,15.7257421,4.5968261,15.8334917,9.500095,36.7795266,7.5222237,1.033286,1.0537991,14.934108,11.9638543,55.0494502,28.5130594,35.1152647,68.1742523,32.8126028,42.3520375,16.529576,3.7007066,14.8693606,8.3334695,34.9333598,7.9440366,1.0744813,1.0949001,15.2778958,12.3367626,57.6030407,28.4440709,35.6559594,68.1146638,32.0492728,40.5738928,16.1475888,3.8525095,15.1960248,9.3137295,35.264384,7.0248805,0.9691247,0.9377764,13.5752139,11.3829433,57.009892,27.7777317,35.3189847,68.2045496,33.3054527,39.6812879,17.7013972,4.2785773,14.5484281,10.2006893,34.0672453,8.0509498 +1735,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9440043,0.9582375,11.6045504,8.0518434,27.5060554,21.5214298,37.3581993,69.1492636,41.417923,52.2238886,24.9701358,4.0447774,11.1401835,10.6413861,34.7863907,6.3252974,0.978987,1.0039507,11.806165,8.1535865,27.6874218,21.3203248,37.3747651,68.2528055,40.9693633,51.163827,24.6169609,3.9923382,10.8806738,10.4558219,35.0741789,7.7586648,1.0963711,1.1211258,12.0724235,8.3951066,27.4347961,21.2608797,37.1081018,68.8397379,40.6240872,50.6153134,24.2748338,4.028719,10.6640345,10.3672145,35.2259764,10.1745053,1.0825378,1.111566,11.8987194,8.4748299,26.7133198,21.3136,37.075223,69.0531632,40.8510134,50.6680335,24.6151599,4.0517008,10.5540078,10.0445047,34.5469529,9.7059715,0.9233063,0.9619888,12.2303374,8.8680438,26.6321733,21.0190233,36.7900231,68.4882516,41.1503319,49.5553845,24.8278916,4.0304064,10.8012972,10.2612829,35.1005842,8.9674756 +1736,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.1832368,1.203378,15.1686295,11.9584008,55.163875,30.0481176,33.4678779,66.8547871,32.6611752,42.6612075,15.7257421,4.5968261,15.8334917,9.500095,36.7795266,7.5222237,1.033286,1.0537991,14.934108,11.9638543,55.0494502,28.5130594,35.1152647,68.1742523,32.8126028,42.3520375,16.529576,3.7007066,14.8693606,8.3334695,34.9333598,7.9440366,1.0744813,1.0949001,15.2778958,12.3367626,57.6030407,28.4440709,35.6559594,68.1146638,32.0492728,40.5738928,16.1475888,3.8525095,15.1960248,9.3137295,35.264384,7.0248805,0.9691247,0.9377764,13.5752139,11.3829433,57.009892,27.7777317,35.3189847,68.2045496,33.3054527,39.6812879,17.7013972,4.2785773,14.5484281,10.2006893,34.0672453,8.0509498,1.3524255,1.3212725,14.177863,11.828924,59.0829885,27.0866664,34.7933778,68.0163242,33.3059225,40.0826952,18.4298,4.8760895,12.6261172,8.5858203,33.1629226,7.0830347 +1737,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9581392,0.9699583,10.910684,7.3666118,39.2466035,21.7488429,34.8344552,69.8471415,38.608136,48.2231001,23.4687641,4.1837358,13.3947312,11.0979027,37.6237963,7.5892654,0.83659,0.8491388,10.8513421,7.2610232,36.7000634,21.9967035,34.6932892,70.0750968,39.7133957,48.3000127,23.6309266,4.5149371,13.1106095,10.4063285,37.5560743,7.4258195,0.9375292,0.9507461,10.784396,7.0480718,35.1083641,21.0043486,33.8428496,70.1948544,39.7382718,47.0704565,22.6698945,4.1607687,12.4716536,10.880865,38.7842869,8.0190263,0.8751356,0.8887527,11.0700872,6.9224541,34.6865341,20.3416596,34.1082233,70.3570507,39.3872994,47.7563248,23.108794,4.0949009,12.5814464,10.9171841,40.6489164,6.132241,1.0041855,1.0041855,10.9576199,7.1728094,33.6598791,20.3692894,33.966861,69.8672856,41.1949296,48.7144968,23.1534756,4.3812675,12.8508831,11.9318504,39.8452078,5.2381755 +1738,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.83659,0.8491388,10.8513421,7.2610232,36.7000634,21.9967035,34.6932892,70.0750968,39.7133957,48.3000127,23.6309266,4.5149371,13.1106095,10.4063285,37.5560743,7.4258195,0.9375292,0.9507461,10.784396,7.0480718,35.1083641,21.0043486,33.8428496,70.1948544,39.7382718,47.0704565,22.6698945,4.1607687,12.4716536,10.880865,38.7842869,8.0190263,0.8751356,0.8887527,11.0700872,6.9224541,34.6865341,20.3416596,34.1082233,70.3570507,39.3872994,47.7563248,23.108794,4.0949009,12.5814464,10.9171841,40.6489164,6.132241,1.0041855,1.0041855,10.9576199,7.1728094,33.6598791,20.3692894,33.966861,69.8672856,41.1949296,48.7144968,23.1534756,4.3812675,12.8508831,11.9318504,39.8452078,5.2381755,0.8165462,0.8165462,10.4310467,6.9859282,31.2535072,20.3429085,33.7901744,68.9690116,41.997235,50.010149,23.4949658,4.2328214,12.5614261,12.1270732,38.7818893,4.3270151 +1739,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9330927,1.9330927,34.563253,30.496988,65.1001541,7.1851852,34.2578711,63.0434783,28.7106447,38.155922,15.6671664,6.6716642,17.0623145,11.9822485,36.7559524,17.3529412,1.8222627,1.8222627,34.5982143,30.5803571,66.0741886,6.2776957,35.3073463,64.0929535,28.1109445,38.155922,15.6671664,6.5217391,17.1130952,12.6488095,36.8656716,16.8571429,2.0020013,2.0020013,33.8541667,29.985119,65.9754224,6.2592047,36.002994,64.8952096,27.3203593,39.2964072,16.5419162,6.0628743,16.4723032,10.3498542,36.6959064,14.8255814,2.0544413,2.0544413,34.4544096,29.9701046,65.4503106,6.0089021,38.5951662,64.7280967,27.265861,40.407855,16.9939577,6.7220544,16.3716814,11.6519174,35.0591716,15.0306748,1.9287136,1.9287136,34.2022117,29.3048973,66.0862355,6.0629921,39.9839744,65.4647436,27.8044872,41.1057692,17.0673077,6.9711538,18.2539683,12.2222222,35.3035144,16.0377358 +1740,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8793336,0.8793336,10.4706721,6.7859864,30.6958554,18.6650456,32.9634749,68.3610175,42.1592708,48.0619577,22.7729941,4.2563468,11.3262767,10.842057,36.3887244,4.205697,0.6913861,0.6913861,10.4273614,6.9035092,31.0630899,19.1149587,34.8787446,68.3863029,41.9335029,48.9300826,24.0337275,4.617325,11.9637967,11.8443299,39.039761,4.5455297,0.6761669,0.6761669,10.524766,7.0994511,30.4765261,19.6249612,34.5327243,68.9806605,41.336389,48.8094803,24.7729688,4.6393054,12.5966846,11.3754918,37.6995144,4.2970294,0.6525085,0.6691382,10.4005582,6.7485192,29.9992625,20.2544752,34.6498774,68.8198431,40.739754,47.4770782,23.7087552,4.5913017,11.9208811,10.6375668,36.5994529,5.5972071,0.5524807,0.5685647,10.1820719,6.7115571,29.109648,20.5430489,34.7245701,69.0903945,40.079209,47.6181571,23.5463805,4.3249866,11.9031265,10.1403908,37.589352,5.5972071 +1741,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.858802,0.8532607,8.7495499,5.3359569,31.3118471,24.3248506,30.1219552,69.3398151,35.468264,46.842455,18.101928,7.5170245,10.772888,8.8134219,33.1836905,2.529178,0.8710658,0.8820542,8.4730525,5.1551835,30.438741,24.6486391,30.5437091,69.3141448,35.7320438,45.6112018,18.2835851,7.8713435,10.3671136,7.9413975,32.1993261,2.9880359,0.909854,0.9426022,8.4959085,5.0904504,31.2252658,24.5807137,30.8870222,68.3737853,35.3220717,46.0225086,18.6378027,8.2541199,10.2434173,7.7001513,31.7281795,2.2357678,0.8075077,0.847964,8.6781389,5.1017083,31.7728949,24.9309914,31.1609426,67.0663818,34.6715701,44.786231,17.9875301,8.2551242,10.1802431,8.1325391,31.2753542,1.8749961,0.7966609,0.8395214,8.633729,4.9948756,33.0254626,24.2644802,30.970271,67.1848069,34.8992332,44.806982,17.8169202,8.2166015,10.8240653,8.3551823,32.0436877,1.9067756 +1742,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5895281,0.6133682,8.9871345,5.9531137,37.4999992,20.5350317,30.1970216,68.1585479,38.6984205,49.2786232,22.5798966,6.756126,8.9242383,7.7797989,33.399571,3.6214945,0.6105687,0.6158105,8.950765,5.9748456,37.3939701,21.0441867,30.7936725,67.7336815,38.5909156,48.7908821,22.5003854,6.7508892,9.1033821,7.8577968,33.0717103,3.4855752,0.6215122,0.641219,9.1480475,6.1530135,37.4960305,21.0432824,30.7674233,67.4001587,38.5043093,48.4025013,22.4823776,6.9616284,8.88239,7.6887557,32.9556028,3.0562332,0.6406236,0.6672712,9.401911,6.5113821,37.4214368,20.8709658,30.9512649,67.3572377,38.4931733,47.6489674,22.4161939,6.7116695,9.4687919,7.855216,33.167127,3.7439586,0.655647,0.6692242,9.5380608,6.4840418,37.1813108,21.0796342,31.3072393,67.1557263,38.6663566,47.1277654,22.3179498,6.66822,9.6376653,7.7094531,33.1190201,3.6470336 +1743,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7868977,0.8101811,10.9481934,7.9204667,57.7216979,8.8758621,25.9452138,65.0570923,32.6966636,39.9149291,17.0184072,6.3258719,10.6505045,9.3083669,37.1219074,6.5990868,0.7820767,0.80551,11.0724633,8.064372,57.8462023,8.9291032,26.091963,65.3066366,32.6643556,39.7965321,16.8251545,6.3389571,10.2965936,8.9099431,37.3396389,6.9098151,0.811997,0.8425954,11.0773433,8.0675945,58.1462224,8.8616119,26.2257509,65.2067029,32.6748626,39.3021346,16.749195,6.3187109,10.2016486,8.7900234,37.1917187,6.4533158,0.8393782,0.8620115,11.3435547,8.2797181,58.6644289,8.7534569,26.3213111,64.9712922,32.1939425,38.8048513,16.579745,6.2779595,10.3550237,8.868832,36.8064985,6.7964113,0.8046391,0.8139355,11.8465342,8.7229302,59.8824241,8.8664151,27.0066556,64.06026,31.5568289,38.7205631,16.3542366,6.2666313,10.4476052,8.555346,36.7195461,6.2089356 +1744,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8724977,1.9081088,26.7867292,21.7301318,49.8511338,17.4424739,41.7097296,66.3632375,38.3534752,47.7430246,25.6841412,4.6158699,11.0806368,11.0802701,33.2846726,23.7223334,1.6688192,1.6571579,26.6614354,21.177487,50.2743267,17.6193351,41.3140933,66.9666661,39.0490649,48.7125583,26.2221522,4.9406714,11.3085098,10.5173987,32.5387063,22.5923081,1.8039239,1.7202025,26.7014273,21.6160385,50.5587056,17.7273727,41.60776,66.3268004,38.720965,49.0203266,26.8679606,5.0284852,11.2614036,10.9322499,33.114148,22.7603278,1.7653662,1.6801714,25.3203338,20.1604496,50.5680358,17.6283204,42.7768204,65.3700447,39.3653596,49.7578121,27.8701032,4.7950167,12.2034957,11.2072385,33.8403097,21.4258489,1.6529182,1.5492683,24.7590814,19.2745534,50.1759357,17.2693032,44.0599994,66.8574906,40.2686119,50.6851073,27.8875136,5.1653102,12.106246,11.1262675,35.0468395,18.9630289 +1745,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.1160189,1.1129378,15.6673614,10.8693645,53.6655191,13.7012723,30.2671106,62.0705217,34.066434,39.3016295,17.1972125,4.2909193,13.4160863,10.1984879,39.4191033,13.6673087,0.9979836,0.9949632,15.9461248,11.1244717,54.3825457,14.2109141,29.8300269,62.0328251,34.4776309,39.4984008,17.5419019,3.9714443,13.7329576,10.088436,39.7633041,12.5859454,1.0574451,1.0544639,15.7984179,10.7912107,55.9678469,13.9050473,29.3752148,62.3530385,33.6823004,39.4369726,17.3825644,3.9455115,13.417824,10.1771195,39.6559432,11.1940329,0.9810203,0.9273823,15.9583138,11.3741853,57.2212727,14.0096613,29.8201653,63.4610782,34.0637815,40.1018035,17.542131,3.654899,13.6103271,11.3003532,37.7366113,8.3108128,0.9601798,0.8817892,16.6076422,12.182624,58.1618913,14.8373493,29.4710239,63.4616534,34.1344139,39.7243481,18.6416968,3.7368739,13.9126276,12.0785131,37.8404405,6.9946648 +1746,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6485514,0.6467994,9.7599201,6.8603619,46.6086815,10.618614,28.7904832,69.6014212,42.0686866,42.8842173,21.6689625,4.9908097,9.3486655,7.8420191,35.0241485,6.4589685,0.6906939,0.6788255,9.9517862,7.0251221,46.4559377,10.509866,28.7305947,69.406871,41.8902385,42.6773838,21.6241669,4.9833691,9.1458043,7.6509313,34.8535236,6.7507438,0.6645853,0.6454607,10.2322808,7.2930481,46.4222691,10.776414,29.2233193,70.0804945,41.8416144,42.9185262,21.5109296,4.933099,9.3756757,7.9163963,34.927757,8.1140375,0.6659165,0.6556161,10.224399,7.3204291,45.8848885,10.999351,29.1181246,70.4572679,41.6058761,43.0103431,21.7365243,4.9918322,9.3071225,8.0837677,34.9594396,8.0572313,0.666735,0.6603697,10.3620411,7.268241,45.5833683,10.8242975,28.7862335,70.9966359,41.6730015,43.4317669,21.9682958,4.9777414,9.6742862,8.4626996,34.9401524,8.4077393 +1747,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6906939,0.6788255,9.9517862,7.0251221,46.4559377,10.509866,28.7305947,69.406871,41.8902385,42.6773838,21.6241669,4.9833691,9.1458043,7.6509313,34.8535236,6.7507438,0.6645853,0.6454607,10.2322808,7.2930481,46.4222691,10.776414,29.2233193,70.0804945,41.8416144,42.9185262,21.5109296,4.933099,9.3756757,7.9163963,34.927757,8.1140375,0.6659165,0.6556161,10.224399,7.3204291,45.8848885,10.999351,29.1181246,70.4572679,41.6058761,43.0103431,21.7365243,4.9918322,9.3071225,8.0837677,34.9594396,8.0572313,0.666735,0.6603697,10.3620411,7.268241,45.5833683,10.8242975,28.7862335,70.9966359,41.6730015,43.4317669,21.9682958,4.9777414,9.6742862,8.4626996,34.9401524,8.4077393,0.6929537,0.6862671,10.6817937,7.5139774,45.2079632,10.7441081,28.7085246,70.8794216,41.1461747,43.5968359,21.9746227,5.0368657,9.6729049,8.5126989,34.8123223,8.2844587 +1748,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4356538,0.4329537,7.2742436,5.1354602,55.1782215,14.4261444,26.9811142,68.3144539,32.4653648,45.3962027,14.6288611,4.8175596,11.9575147,10.2760699,32.0327609,7.0076634,0.579461,0.5748251,7.5692821,5.2650355,53.4447634,14.7022443,26.5420716,68.7688056,32.409732,46.1007741,14.6313461,4.9272586,12.0224619,10.303558,32.2572642,7.5092483,0.522054,0.5405153,7.6483087,5.3623312,51.4554697,14.1792952,26.0113176,69.7706037,32.4494612,46.6822905,15.1578521,4.9703771,11.8704267,10.6664154,31.3494016,6.8774078,0.5115614,0.5223013,7.9490158,5.4975746,50.5375026,14.1795971,26.7166705,69.5914613,32.156109,46.6527534,15.1488531,5.0578145,11.404361,10.6244419,31.1861464,5.2920558,0.5162179,0.530088,8.0339957,5.4956945,49.3077853,14.1806714,27.1519567,68.9222627,32.418988,47.0983837,15.1548432,5.157255,11.4813536,10.9540213,31.6258264,5.1419041 +1749,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8980596,1.8516336,29.0687391,24.0610214,42.7071329,18.4318892,41.6975003,65.7649252,37.5285693,48.9665757,24.3101491,3.5305951,11.2455901,9.5506468,31.7924616,16.3821137,2.0057094,1.9450993,28.6780608,23.7562838,42.4841594,18.4893105,41.8070939,65.0928113,37.5017796,48.6287016,24.125601,3.7521636,12.2234007,9.5658396,32.3022196,19.2818591,2.0019993,1.9413286,28.5486828,23.9506751,42.6712479,18.0383667,42.8478381,65.8033335,37.4337475,48.573405,24.6132482,3.6849913,12.2862029,9.0681995,32.1577071,20.0976964,1.8822465,1.8320577,28.2025469,23.955157,42.7655357,17.6065691,42.9314262,66.2305335,37.5624333,48.2613927,25.2858263,3.6689146,12.4468911,9.3084307,32.8674155,20.2180639,1.8888304,1.8378731,28.0492749,23.841006,43.0284348,18.2052048,42.299923,66.3849819,36.3816158,48.0754812,25.1935857,3.9778623,12.619179,8.6019654,32.7810214,20.0358811 +1750,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6133668,2.6168449,40.4285411,35.5450045,71.4514093,12.7081181,36.1420761,61.45135,25.8103705,38.2293407,17.6239968,2.0997872,16.7919007,13.0087301,43.503812,27.2146445,2.6173159,2.6322961,40.9480383,36.0180417,73.1119916,12.2053496,35.927119,60.6931338,25.5122638,37.4192204,17.4093911,1.815776,16.0960993,13.1087809,43.1228148,26.2946067,2.4052728,2.4407979,40.4312728,35.3032204,73.4019004,11.6328867,35.5748252,60.4012328,25.1545013,37.3154009,17.1347192,1.9491083,16.6709771,12.5608545,44.1118782,27.0798924,2.5868637,2.6344906,39.3893355,34.0899417,74.5321639,11.4866307,34.5465533,59.8700017,24.1885933,36.8634485,16.5062425,1.9663764,17.2127922,13.1331951,43.8707369,26.7912205,2.4555661,2.5152513,38.7605794,33.4325227,75.7811164,11.5887237,34.9396595,60.1683688,24.0651051,37.0253465,16.2003159,1.9708899,17.1204773,12.9554537,45.5223781,26.4349461 +1751,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6645853,0.6454607,10.2322808,7.2930481,46.4222691,10.776414,29.2233193,70.0804945,41.8416144,42.9185262,21.5109296,4.933099,9.3756757,7.9163963,34.927757,8.1140375,0.6659165,0.6556161,10.224399,7.3204291,45.8848885,10.999351,29.1181246,70.4572679,41.6058761,43.0103431,21.7365243,4.9918322,9.3071225,8.0837677,34.9594396,8.0572313,0.666735,0.6603697,10.3620411,7.268241,45.5833683,10.8242975,28.7862335,70.9966359,41.6730015,43.4317669,21.9682958,4.9777414,9.6742862,8.4626996,34.9401524,8.4077393,0.6929537,0.6862671,10.6817937,7.5139774,45.2079632,10.7441081,28.7085246,70.8794216,41.1461747,43.5968359,21.9746227,5.0368657,9.6729049,8.5126989,34.8123223,8.2844587,0.7401653,0.7330566,10.5094864,7.3550151,44.4486848,10.8275827,28.1421395,71.0300002,40.8827024,44.2586809,21.906243,4.9940839,9.5303861,8.0658868,35.0942984,8.3333333 +1752,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6563898,1.6894554,35.3557138,31.0187526,59.9728299,15.6064329,34.3762022,60.9730496,33.1396176,42.9755585,17.8731454,2.1589721,17.8447777,13.6978724,39.2997197,20.8973971,1.6801771,1.7296419,34.9007174,30.7564069,60.2694881,15.882322,35.2217364,60.9800715,32.9758153,42.4570414,18.0011012,2.2249344,17.8117527,13.464,40.9964132,19.3714018,1.646109,1.695873,34.8933401,30.8342265,61.7038976,15.6727017,35.4978658,61.5524071,32.9139571,42.5571465,17.9581753,2.3471124,16.8199124,13.1455585,42.2367123,17.580986,1.6539699,1.692521,34.4405808,30.5770611,63.4819713,14.8027215,35.4134246,61.5804851,31.9749763,41.8190826,17.172886,2.2981594,17.4392665,14.1917882,43.474356,16.5403414,1.676332,1.7213371,33.626508,29.8328642,63.6940884,14.462174,34.2038368,61.7548277,31.7066916,41.1802289,17.019295,2.5886968,16.6744282,14.313733,43.0849775,16.191677 +1753,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7359626,0.7628836,8.4095477,5.249521,39.1777291,19.9703916,29.5310489,68.3502774,36.3668744,46.7461615,21.0576753,4.4806832,10.499064,9.0959581,32.3245607,5.5573926,0.7115001,0.738493,8.2896561,5.0613136,39.6050713,20.0433856,29.8463481,67.9756142,36.304832,46.3196305,20.7326061,4.443418,10.7358237,9.6060161,32.0848737,4.7034596,0.7619666,0.7884443,8.5589698,5.4201068,39.038372,19.7565772,30.5548449,68.1431463,36.115946,45.9312336,20.7873147,4.4634729,10.5098925,9.618645,30.8997587,4.738778,0.7404136,0.7562743,8.8416938,5.6568962,39.1649479,19.1417966,30.9340409,68.0199171,35.6399864,45.2587331,19.9265967,4.4623779,10.0781799,9.2774118,31.8294658,5.1702526,0.7803585,0.8135959,9.2800108,5.8397529,38.8394383,18.4899124,30.4875103,68.2522221,35.8753261,44.8622888,19.9610953,4.6561551,10.2107766,9.1538796,32.4024886,4.8741473 +1754,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3798744,0.3896701,6.7763787,3.9877432,56.2711323,22.6503529,31.0068082,65.879012,32.6753141,44.2437811,19.3827347,5.3670987,9.9016151,7.2757725,30.4612673,3.7815126,0.3320694,0.3414628,7.5798101,4.2819232,55.5111799,22.2952483,30.3410952,66.3028594,33.6975029,44.5659675,19.3660932,4.928098,10.148862,7.71283,31.4303363,3.4883721,0.3847733,0.401912,6.7172172,3.8944133,56.3223573,22.3569601,29.6810755,65.8736751,33.4990628,42.5995312,18.9069806,5.2562937,9.9273175,7.6563138,31.9184823,3.8194444,0.4319761,0.4661987,6.6584704,3.759206,55.8502712,23.1986249,28.5256417,66.1489067,32.7169408,42.5295842,19.0088762,5.6459547,9.8831616,7.7636772,31.1209426,1.6666667,0.4193244,0.4956622,6.6650791,3.8187779,55.6532025,23.7727834,28.0747389,65.6338626,31.9536244,42.076633,17.999053,5.6054851,9.8492044,7.0415919,31.1904815,2.2435897 +1755,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4002648,0.4002648,7.6651296,4.5622102,48.3171645,21.489927,28.6592566,67.621483,34.5980798,42.9963999,19.9610054,9.6730656,8.5553543,6.8586715,37.8370312,3.7764362,0.4419852,0.4145352,8.0227925,4.7890374,47.9179326,21.4796038,29.4126405,67.7861479,34.7439733,42.2138548,19.5331318,9.6837346,8.3985516,6.4876302,36.2667467,3.9823009,0.5011155,0.4742482,7.8605938,4.8430914,47.2692143,20.8818384,29.6301625,68.256532,35.6765479,41.9870865,19.5333154,9.5832104,8.6994689,6.7821507,37.3218497,4.7142871,0.5149114,0.4880369,8.0712812,4.9266262,46.6795071,20.56686,30.0761726,68.1658398,35.7017293,42.5871662,19.93847,9.6542627,8.500002,6.5781726,37.7014956,4.8611125,0.5044581,0.4774894,8.0137829,4.9880181,46.024414,20.0671355,30.2267297,67.9475896,35.2915189,42.3586584,19.6260294,9.2608974,8.8166394,6.8021217,37.6557894,4.8611125 +1756,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4915068,0.5086087,10.4428917,6.8696614,40.6652903,20.9026847,32.6952596,69.6528872,42.4961723,46.681986,24.1705029,3.9050532,8.2564163,7.9814686,32.209551,3.4615385,0.5201346,0.5420037,9.9416641,6.4414271,39.4606593,20.4204967,32.7214947,69.3832625,42.1683842,47.503679,24.7919861,3.5976545,7.9819321,8.4088762,32.5380614,4.1666635,0.4550412,0.4762421,9.4957619,6.1498687,38.5783017,20.4929593,32.9122977,69.9952317,42.3975353,48.1649296,25.2383411,3.5510037,8.0059057,8.3251347,33.0525077,4.7445221,0.4988918,0.519071,9.4352322,6.1183411,37.9349722,20.6395291,32.3729498,69.8502701,41.8103617,47.9809428,25.340314,3.7885682,9.1296241,8.7761034,32.4904363,3.8194391,0.5303331,0.5297592,9.831466,6.114965,37.7930046,20.2807774,32.3477901,69.5794974,41.5024231,47.3718851,24.6824641,3.3508565,9.786655,9.3488413,31.8480245,4.3333276 +1757,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6801771,1.7296419,34.9007174,30.7564069,60.2694881,15.882322,35.2217364,60.9800715,32.9758153,42.4570414,18.0011012,2.2249344,17.8117527,13.464,40.9964132,19.3714018,1.646109,1.695873,34.8933401,30.8342265,61.7038976,15.6727017,35.4978658,61.5524071,32.9139571,42.5571465,17.9581753,2.3471124,16.8199124,13.1455585,42.2367123,17.580986,1.6539699,1.692521,34.4405808,30.5770611,63.4819713,14.8027215,35.4134246,61.5804851,31.9749763,41.8190826,17.172886,2.2981594,17.4392665,14.1917882,43.474356,16.5403414,1.676332,1.7213371,33.626508,29.8328642,63.6940884,14.462174,34.2038368,61.7548277,31.7066916,41.1802289,17.019295,2.5886968,16.6744282,14.313733,43.0849775,16.191677,1.6331452,1.5969796,33.5398335,29.8230213,64.1333208,14.3119163,34.8996988,62.1181377,31.33492,41.3374646,17.0406539,2.5279112,16.5110508,13.5710317,43.1355727,15.8097171 +1758,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.646109,1.695873,34.8933401,30.8342265,61.7038976,15.6727017,35.4978658,61.5524071,32.9139571,42.5571465,17.9581753,2.3471124,16.8199124,13.1455585,42.2367123,17.580986,1.6539699,1.692521,34.4405808,30.5770611,63.4819713,14.8027215,35.4134246,61.5804851,31.9749763,41.8190826,17.172886,2.2981594,17.4392665,14.1917882,43.474356,16.5403414,1.676332,1.7213371,33.626508,29.8328642,63.6940884,14.462174,34.2038368,61.7548277,31.7066916,41.1802289,17.019295,2.5886968,16.6744282,14.313733,43.0849775,16.191677,1.6331452,1.5969796,33.5398335,29.8230213,64.1333208,14.3119163,34.8996988,62.1181377,31.33492,41.3374646,17.0406539,2.5279112,16.5110508,13.5710317,43.1355727,15.8097171,1.5108595,1.4658959,32.743876,29.0877485,65.4122141,14.0490961,34.626313,62.0669009,30.8341588,40.7011254,16.5123892,2.3378724,16.9627665,12.3824108,43.8385923,17.546114 +1759,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.68023,0.6880019,9.2740623,5.7701648,44.1119577,19.2772513,31.0861119,71.2515903,38.8966932,45.7953061,23.0188317,4.4042499,9.9825981,7.9067593,33.4391368,7.415394,0.7229131,0.7135159,9.638591,6.1361151,43.3593286,19.2393075,31.0593738,71.3418902,38.9123078,45.6355555,23.3756759,4.5056437,9.9207168,7.933287,34.2879106,7.1722691,0.8341785,0.8184227,10.1757042,6.7151231,43.7160235,19.0680753,30.9396259,71.345986,38.8683626,46.0072807,23.3492221,4.3876921,9.9328693,8.3100006,34.1496765,6.8750529,0.7641453,0.7486156,10.0975846,6.7633499,43.3062216,19.0962905,31.379933,71.7512919,38.8888078,45.9544858,23.7599736,4.3917925,10.1990868,8.6560176,35.3087629,6.2771597,0.8380641,0.8310332,10.3923017,7.0037837,43.5501916,18.8944783,30.868765,71.2827456,38.3306705,45.983079,23.5430454,4.452606,10.5560245,8.4271,35.298874,7.83912 +1760,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6913861,0.6913861,10.4273614,6.9035092,31.0630899,19.1149587,34.8787446,68.3863029,41.9335029,48.9300826,24.0337275,4.617325,11.9637967,11.8443299,39.039761,4.5455297,0.6761669,0.6761669,10.524766,7.0994511,30.4765261,19.6249612,34.5327243,68.9806605,41.336389,48.8094803,24.7729688,4.6393054,12.5966846,11.3754918,37.6995144,4.2970294,0.6525085,0.6691382,10.4005582,6.7485192,29.9992625,20.2544752,34.6498774,68.8198431,40.739754,47.4770782,23.7087552,4.5913017,11.9208811,10.6375668,36.5994529,5.5972071,0.5524807,0.5685647,10.1820719,6.7115571,29.109648,20.5430489,34.7245701,69.0903945,40.079209,47.6181571,23.5463805,4.3249866,11.9031265,10.1403908,37.589352,5.5972071,0.6905362,0.682889,10.9025173,7.2764673,29.7860571,20.4678303,34.4910533,69.2836187,38.8397335,47.3901459,23.4699483,4.1606571,12.5703682,10.8591845,38.4345277,6.4396037 +1761,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8710658,0.8820542,8.4730525,5.1551835,30.438741,24.6486391,30.5437091,69.3141448,35.7320438,45.6112018,18.2835851,7.8713435,10.3671136,7.9413975,32.1993261,2.9880359,0.909854,0.9426022,8.4959085,5.0904504,31.2252658,24.5807137,30.8870222,68.3737853,35.3220717,46.0225086,18.6378027,8.2541199,10.2434173,7.7001513,31.7281795,2.2357678,0.8075077,0.847964,8.6781389,5.1017083,31.7728949,24.9309914,31.1609426,67.0663818,34.6715701,44.786231,17.9875301,8.2551242,10.1802431,8.1325391,31.2753542,1.8749961,0.7966609,0.8395214,8.633729,4.9948756,33.0254626,24.2644802,30.970271,67.1848069,34.8992332,44.806982,17.8169202,8.2166015,10.8240653,8.3551823,32.0436877,1.9067756,0.8905796,0.9332497,8.7201513,5.1706711,33.3046041,24.8238172,31.6333151,67.621126,35.1236654,45.6624729,17.6042081,8.1836627,11.0788653,8.5760508,32.9086072,1.5217358 +1762,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.4202807,2.4299551,29.387114,22.7335064,47.5786431,13.8123712,37.1709488,65.1047011,33.5056443,47.2278723,24.4420332,5.2747245,15.7356011,11.6934877,33.8614593,14.37233,2.1982122,2.1592473,29.9995177,23.0263722,48.1861514,14.6752818,37.1271326,65.2016215,32.910642,47.1988902,24.9247891,5.431372,14.9312279,11.5267667,33.4132893,14.0814947,2.1138071,2.0144865,30.2735469,23.0348791,48.778915,14.1645714,37.9167804,64.8774286,33.7988191,47.6717082,24.5340828,5.2205391,14.7172228,11.8523011,32.9304495,14.1998637,1.9229434,1.8693499,29.5663724,22.778774,47.8007789,14.5107672,38.9170525,65.4114116,34.2012134,48.3966438,25.2562516,5.5678696,15.0364802,11.8551961,33.799816,14.4382051,1.8834169,1.8599515,29.4822755,22.6107466,47.8889806,14.2494735,39.7715767,65.357028,34.1563575,47.8279101,25.9044818,5.2505549,14.7431773,11.8912928,33.5131911,15.261915 +1763,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.579461,0.5748251,7.5692821,5.2650355,53.4447634,14.7022443,26.5420716,68.7688056,32.409732,46.1007741,14.6313461,4.9272586,12.0224619,10.303558,32.2572642,7.5092483,0.522054,0.5405153,7.6483087,5.3623312,51.4554697,14.1792952,26.0113176,69.7706037,32.4494612,46.6822905,15.1578521,4.9703771,11.8704267,10.6664154,31.3494016,6.8774078,0.5115614,0.5223013,7.9490158,5.4975746,50.5375026,14.1795971,26.7166705,69.5914613,32.156109,46.6527534,15.1488531,5.0578145,11.404361,10.6244419,31.1861464,5.2920558,0.5162179,0.530088,8.0339957,5.4956945,49.3077853,14.1806714,27.1519567,68.9222627,32.418988,47.0983837,15.1548432,5.157255,11.4813536,10.9540213,31.6258264,5.1419041,0.6120153,0.5976193,8.5357062,6.107149,48.3969564,14.1407497,26.376121,68.8919481,32.6292448,46.1251546,15.5118541,5.1786834,11.1557009,10.8777553,31.0222654,4.166715 +1764,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4010689,1.3669629,20.293419,15.9756337,39.2100416,16.2738176,34.8324435,67.1427032,33.4923277,44.3208556,22.0988196,2.8042065,11.7380324,8.8538709,36.9823455,15.5508252,1.2572005,1.2234153,21.6459423,16.9232134,40.5934808,16.1573585,35.4765753,67.887155,33.3395221,44.7264208,21.1106616,2.7505073,11.6238278,8.6405977,36.6908596,17.5805781,1.3601795,1.3283331,22.6037745,17.7635771,40.9738504,16.448975,35.9384464,67.3989876,32.7001634,44.3323174,21.3647288,2.8254865,11.872037,8.7279808,37.1722045,19.3749919,1.426348,1.3961855,22.9068652,18.188516,41.3351065,16.4492004,36.3106311,66.6087802,32.9199454,44.5365846,21.3970022,2.8728946,12.8609288,9.2477368,38.473645,20.8646381,1.5286575,1.5286575,23.6773683,18.9199452,41.247332,16.6450474,35.8661623,66.5534699,33.284947,44.7076668,21.4422842,2.9526182,12.6951341,9.4126046,37.8409934,22.2825845 +1765,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7820767,0.80551,11.0724633,8.064372,57.8462023,8.9291032,26.091963,65.3066366,32.6643556,39.7965321,16.8251545,6.3389571,10.2965936,8.9099431,37.3396389,6.9098151,0.811997,0.8425954,11.0773433,8.0675945,58.1462224,8.8616119,26.2257509,65.2067029,32.6748626,39.3021346,16.749195,6.3187109,10.2016486,8.7900234,37.1917187,6.4533158,0.8393782,0.8620115,11.3435547,8.2797181,58.6644289,8.7534569,26.3213111,64.9712922,32.1939425,38.8048513,16.579745,6.2779595,10.3550237,8.868832,36.8064985,6.7964113,0.8046391,0.8139355,11.8465342,8.7229302,59.8824241,8.8664151,27.0066556,64.06026,31.5568289,38.7205631,16.3542366,6.2666313,10.4476052,8.555346,36.7195461,6.2089356,0.844518,0.8641032,12.3238227,8.9927332,60.7162596,8.7956876,27.6531398,63.4079218,31.0545804,38.5655451,16.1827613,6.1820857,10.3731098,8.3874079,36.407766,6.1363632 +1766,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5201346,0.5420037,9.9416641,6.4414271,39.4606593,20.4204967,32.7214947,69.3832625,42.1683842,47.503679,24.7919861,3.5976545,7.9819321,8.4088762,32.5380614,4.1666635,0.4550412,0.4762421,9.4957619,6.1498687,38.5783017,20.4929593,32.9122977,69.9952317,42.3975353,48.1649296,25.2383411,3.5510037,8.0059057,8.3251347,33.0525077,4.7445221,0.4988918,0.519071,9.4352322,6.1183411,37.9349722,20.6395291,32.3729498,69.8502701,41.8103617,47.9809428,25.340314,3.7885682,9.1296241,8.7761034,32.4904363,3.8194391,0.5303331,0.5297592,9.831466,6.114965,37.7930046,20.2807774,32.3477901,69.5794974,41.5024231,47.3718851,24.6824641,3.3508565,9.786655,9.3488413,31.8480245,4.3333276,0.534458,0.5454175,9.6581539,5.7866626,37.1192844,20.2931484,32.4884828,70.1927212,41.7469745,47.570174,24.821988,3.288648,9.5510584,8.7665225,30.0267046,4.391886 +1767,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.909854,0.9426022,8.4959085,5.0904504,31.2252658,24.5807137,30.8870222,68.3737853,35.3220717,46.0225086,18.6378027,8.2541199,10.2434173,7.7001513,31.7281795,2.2357678,0.8075077,0.847964,8.6781389,5.1017083,31.7728949,24.9309914,31.1609426,67.0663818,34.6715701,44.786231,17.9875301,8.2551242,10.1802431,8.1325391,31.2753542,1.8749961,0.7966609,0.8395214,8.633729,4.9948756,33.0254626,24.2644802,30.970271,67.1848069,34.8992332,44.806982,17.8169202,8.2166015,10.8240653,8.3551823,32.0436877,1.9067756,0.8905796,0.9332497,8.7201513,5.1706711,33.3046041,24.8238172,31.6333151,67.621126,35.1236654,45.6624729,17.6042081,8.1836627,11.0788653,8.5760508,32.9086072,1.5217358,0.7319771,0.7729638,8.747563,5.2485509,33.8459478,24.4534298,31.5217162,67.5372898,35.4152992,45.6034818,17.8942326,8.4198543,11.3272146,8.9363023,32.0362016,1.7786526 +1768,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6120856,0.585516,8.3907428,5.3596064,45.6059398,15.2493905,29.8756761,68.1906084,37.8038666,46.3397828,19.4337074,3.6878484,9.3169535,8.2420579,29.4878983,5.630623,0.4968433,0.49952,8.0351993,5.3519947,44.8240503,15.7616527,29.3648336,68.0829572,37.3984938,46.8532455,19.4460629,3.4367759,9.6521826,8.729691,30.1925522,4.702968,0.4551691,0.4716662,8.144727,5.4347862,44.5331331,16.0982035,28.8587517,68.6978656,37.7383799,46.7073883,19.9791413,3.3820022,9.0608161,8.644576,30.1812941,4.1666646,0.4897334,0.4788933,7.54468,4.8784097,44.1947067,16.1051453,29.5060099,68.5533746,37.8565102,46.3834114,19.5383633,3.3666594,9.6188348,8.6555653,31.074655,2.5943396,0.4996296,0.4633414,8.2212823,5.2521035,44.0898601,16.0774059,29.4690615,68.9494602,38.1107079,46.7805581,20.347362,3.4877175,9.3911552,8.7593294,31.2464036,4.5064378 +1769,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.647428,1.7379164,26.9355442,23.1172946,53.2915322,15.4121845,40.5288678,65.6452371,33.5389109,46.7031251,20.4104197,2.2093386,14.3471282,11.3053489,36.5671138,11.343908,1.764756,1.8226731,27.8217567,23.8817516,53.6877739,14.577189,40.1427503,65.4203377,33.8924784,47.0880198,20.847086,2.2846097,14.9696862,11.9956883,35.9899739,10.992652,1.8596572,1.9356585,28.6268515,24.2805275,55.1672286,13.8608758,40.5444364,65.1975181,33.9583091,47.4025218,21.3594094,2.3317028,15.8727385,12.1272673,36.3328291,12.850565,1.9259559,2.0037785,28.7689825,24.327659,55.963369,14.7888178,40.5527075,65.5238357,35.4721106,47.7001573,21.7331623,2.6810023,15.5493097,11.9136977,36.235491,13.2836161,1.9262248,1.9461346,28.7951051,24.328257,56.6874968,15.0265676,40.5187572,64.3833992,35.4972366,46.5874326,21.3107606,3.0326079,15.446678,12.4817023,36.5476369,15.8003086 +1770,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6539699,1.692521,34.4405808,30.5770611,63.4819713,14.8027215,35.4134246,61.5804851,31.9749763,41.8190826,17.172886,2.2981594,17.4392665,14.1917882,43.474356,16.5403414,1.676332,1.7213371,33.626508,29.8328642,63.6940884,14.462174,34.2038368,61.7548277,31.7066916,41.1802289,17.019295,2.5886968,16.6744282,14.313733,43.0849775,16.191677,1.6331452,1.5969796,33.5398335,29.8230213,64.1333208,14.3119163,34.8996988,62.1181377,31.33492,41.3374646,17.0406539,2.5279112,16.5110508,13.5710317,43.1355727,15.8097171,1.5108595,1.4658959,32.743876,29.0877485,65.4122141,14.0490961,34.626313,62.0669009,30.8341588,40.7011254,16.5123892,2.3378724,16.9627665,12.3824108,43.8385923,17.546114,1.483146,1.4435224,31.967951,28.6428541,66.4983699,13.9394534,34.6886689,62.7758434,29.7147186,40.6942814,16.414034,2.3027514,17.7651281,13.8514,44.2387016,17.4930599 +1771,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7819383,0.8097686,10.7749665,6.7369033,48.6853459,11.0735596,32.4282414,67.2078823,42.332552,45.4992731,24.3430564,4.776975,10.0700824,9.0064436,37.1969461,5.491321,0.80299,0.8238361,10.7263749,6.7357704,49.0901329,11.0240157,32.774245,67.2645582,42.5786625,45.2596911,24.3944792,4.6690741,9.7557594,8.361134,37.4642896,5.3345312,0.7718421,0.7887523,10.8289104,6.6116571,49.3549087,10.7914582,32.9103421,67.6248757,42.5002597,44.7631918,24.5191289,4.666523,9.9382678,8.3959625,38.3975794,5.9563688,0.766597,0.7774113,10.9675781,6.6330892,49.2378317,10.603526,32.845577,66.6860904,42.0155641,44.2731553,24.4086884,4.6373596,10.2584886,8.7882805,38.2701394,6.2403621,0.7904422,0.7988485,11.3860959,7.0383935,49.9253539,10.6542199,32.7740569,66.5331397,41.4559162,43.7933432,23.7916349,4.6581537,10.3118016,8.6213678,38.684888,5.66714 +1772,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.522054,0.5405153,7.6483087,5.3623312,51.4554697,14.1792952,26.0113176,69.7706037,32.4494612,46.6822905,15.1578521,4.9703771,11.8704267,10.6664154,31.3494016,6.8774078,0.5115614,0.5223013,7.9490158,5.4975746,50.5375026,14.1795971,26.7166705,69.5914613,32.156109,46.6527534,15.1488531,5.0578145,11.404361,10.6244419,31.1861464,5.2920558,0.5162179,0.530088,8.0339957,5.4956945,49.3077853,14.1806714,27.1519567,68.9222627,32.418988,47.0983837,15.1548432,5.157255,11.4813536,10.9540213,31.6258264,5.1419041,0.6120153,0.5976193,8.5357062,6.107149,48.3969564,14.1407497,26.376121,68.8919481,32.6292448,46.1251546,15.5118541,5.1786834,11.1557009,10.8777553,31.0222654,4.166715,0.5311851,0.521899,8.7350151,6.3132055,48.0429678,14.2940188,26.616559,69.1124313,33.3214936,46.1585076,15.5452405,5.0942842,11.2073593,10.838016,31.4641736,4.2125036 +1773,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2557034,1.2848348,17.5795045,13.9348257,32.8886209,16.382768,34.1233264,68.2952678,39.9137943,47.0083384,23.3483349,3.9541495,11.8611309,9.5079851,33.9654632,14.950946,1.23619,1.2549438,17.4660608,13.7858065,33.2020788,16.2865543,34.1728447,67.6568016,39.1821917,46.5240829,23.569657,3.7189003,11.6689365,9.7859518,33.8341071,16.2100148,1.1592442,1.1995016,17.9750262,14.1156811,33.515164,16.1680504,32.8290728,67.5933411,38.4421494,47.2127285,23.6433708,3.7069595,11.69683,10.1698188,33.5023333,16.7391015,1.263346,1.3183718,19.060023,14.7052483,33.0294042,17.4109541,33.638519,67.5428918,38.1860109,48.4576468,24.1248558,4.0919031,11.9801326,10.898735,34.1201586,17.7082917,1.2827378,1.3406709,20.1407237,15.612287,32.394514,16.7883435,33.7193333,67.2072948,37.89522,48.6331746,23.743498,4.0716226,12.6034513,11.2622409,35.0728065,17.8300505 +1774,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3320694,0.3414628,7.5798101,4.2819232,55.5111799,22.2952483,30.3410952,66.3028594,33.6975029,44.5659675,19.3660932,4.928098,10.148862,7.71283,31.4303363,3.4883721,0.3847733,0.401912,6.7172172,3.8944133,56.3223573,22.3569601,29.6810755,65.8736751,33.4990628,42.5995312,18.9069806,5.2562937,9.9273175,7.6563138,31.9184823,3.8194444,0.4319761,0.4661987,6.6584704,3.759206,55.8502712,23.1986249,28.5256417,66.1489067,32.7169408,42.5295842,19.0088762,5.6459547,9.8831616,7.7636772,31.1209426,1.6666667,0.4193244,0.4956622,6.6650791,3.8187779,55.6532025,23.7727834,28.0747389,65.6338626,31.9536244,42.076633,17.999053,5.6054851,9.8492044,7.0415919,31.1904815,2.2435897,0.3928474,0.4552809,6.6439885,3.6961418,56.0317508,22.041805,27.8478173,65.038263,31.2246623,41.8054856,17.7622666,5.6956301,9.5859629,7.5293091,31.8636389,2.0588235 +1775,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5115614,0.5223013,7.9490158,5.4975746,50.5375026,14.1795971,26.7166705,69.5914613,32.156109,46.6527534,15.1488531,5.0578145,11.404361,10.6244419,31.1861464,5.2920558,0.5162179,0.530088,8.0339957,5.4956945,49.3077853,14.1806714,27.1519567,68.9222627,32.418988,47.0983837,15.1548432,5.157255,11.4813536,10.9540213,31.6258264,5.1419041,0.6120153,0.5976193,8.5357062,6.107149,48.3969564,14.1407497,26.376121,68.8919481,32.6292448,46.1251546,15.5118541,5.1786834,11.1557009,10.8777553,31.0222654,4.166715,0.5311851,0.521899,8.7350151,6.3132055,48.0429678,14.2940188,26.616559,69.1124313,33.3214936,46.1585076,15.5452405,5.0942842,11.2073593,10.838016,31.4641736,4.2125036,0.6109374,0.5963046,8.9446997,6.4915723,47.2565048,14.1515082,25.9497722,68.7265464,34.3691984,46.3767037,16.2640949,4.9836159,11.5859832,11.1797011,31.6598607,4.30715 +1776,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.978987,1.0039507,11.806165,8.1535865,27.6874218,21.3203248,37.3747651,68.2528055,40.9693633,51.163827,24.6169609,3.9923382,10.8806738,10.4558219,35.0741789,7.7586648,1.0963711,1.1211258,12.0724235,8.3951066,27.4347961,21.2608797,37.1081018,68.8397379,40.6240872,50.6153134,24.2748338,4.028719,10.6640345,10.3672145,35.2259764,10.1745053,1.0825378,1.111566,11.8987194,8.4748299,26.7133198,21.3136,37.075223,69.0531632,40.8510134,50.6680335,24.6151599,4.0517008,10.5540078,10.0445047,34.5469529,9.7059715,0.9233063,0.9619888,12.2303374,8.8680438,26.6321733,21.0190233,36.7900231,68.4882516,41.1503319,49.5553845,24.8278916,4.0304064,10.8012972,10.2612829,35.1005842,8.9674756,0.9708725,1.0091188,12.5726373,9.1424773,26.6401583,20.5442752,36.7140949,68.1507985,41.7781121,48.9189488,24.2247631,3.7126601,10.9066721,10.0107198,34.3783382,9.4086894 +1777,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3882065,0.4339572,9.2782623,6.6619978,72.8426698,11.8032058,28.2950868,68.8144613,30.7936255,44.9534961,14.4290948,5.022016,11.5495156,10.8095063,31.2501401,3.880185,0.5634137,0.5634137,9.181296,6.5872138,72.559432,11.8315211,27.2334185,68.427888,30.7045275,44.3340187,14.982126,4.9259482,11.5346523,10.1686498,33.5160226,4.0187998,0.5422784,0.5256343,9.0548156,6.6119214,72.7540253,11.3361928,26.9889453,68.1527964,30.5126532,44.6077251,15.3497029,4.9920161,11.3471467,9.8029015,33.4552087,4.8245614,0.5281409,0.4941768,8.365085,6.2535703,71.7303714,11.5775683,26.1778507,68.0835496,31.4293784,45.1815165,15.3492161,5.2788421,11.7864158,9.3551372,34.5581059,4.0539737,0.5052364,0.4730118,8.6544426,6.4972931,70.7917467,12.226659,25.9632256,67.5142118,31.2018487,44.4018111,14.3554334,5.315885,11.0389037,9.2499519,33.4848847,3.9129312 +1778,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.80299,0.8238361,10.7263749,6.7357704,49.0901329,11.0240157,32.774245,67.2645582,42.5786625,45.2596911,24.3944792,4.6690741,9.7557594,8.361134,37.4642896,5.3345312,0.7718421,0.7887523,10.8289104,6.6116571,49.3549087,10.7914582,32.9103421,67.6248757,42.5002597,44.7631918,24.5191289,4.666523,9.9382678,8.3959625,38.3975794,5.9563688,0.766597,0.7774113,10.9675781,6.6330892,49.2378317,10.603526,32.845577,66.6860904,42.0155641,44.2731553,24.4086884,4.6373596,10.2584886,8.7882805,38.2701394,6.2403621,0.7904422,0.7988485,11.3860959,7.0383935,49.9253539,10.6542199,32.7740569,66.5331397,41.4559162,43.7933432,23.7916349,4.6581537,10.3118016,8.6213678,38.684888,5.66714,0.7833402,0.7796799,11.2000251,6.7920186,49.9824517,10.2784063,32.9665646,66.2811921,41.276464,43.5788513,23.6714491,4.6957434,10.5072787,8.5859899,39.6946666,5.9023018 +1779,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8222627,1.8222627,34.5982143,30.5803571,66.0741886,6.2776957,35.3073463,64.0929535,28.1109445,38.155922,15.6671664,6.5217391,17.1130952,12.6488095,36.8656716,16.8571429,2.0020013,2.0020013,33.8541667,29.985119,65.9754224,6.2592047,36.002994,64.8952096,27.3203593,39.2964072,16.5419162,6.0628743,16.4723032,10.3498542,36.6959064,14.8255814,2.0544413,2.0544413,34.4544096,29.9701046,65.4503106,6.0089021,38.5951662,64.7280967,27.265861,40.407855,16.9939577,6.7220544,16.3716814,11.6519174,35.0591716,15.0306748,1.9287136,1.9287136,34.2022117,29.3048973,66.0862355,6.0629921,39.9839744,65.4647436,27.8044872,41.1057692,17.0673077,6.9711538,18.2539683,12.2222222,35.3035144,16.0377358,1.8425566,1.8425566,34.3014129,29.4348509,66.8039539,4.9528302,39.28,64.72,27.12,42.96,16.72,6.32,16.0550459,11.1620795,33.4876543,14.3312102 +1780,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6105687,0.6158105,8.950765,5.9748456,37.3939701,21.0441867,30.7936725,67.7336815,38.5909156,48.7908821,22.5003854,6.7508892,9.1033821,7.8577968,33.0717103,3.4855752,0.6215122,0.641219,9.1480475,6.1530135,37.4960305,21.0432824,30.7674233,67.4001587,38.5043093,48.4025013,22.4823776,6.9616284,8.88239,7.6887557,32.9556028,3.0562332,0.6406236,0.6672712,9.401911,6.5113821,37.4214368,20.8709658,30.9512649,67.3572377,38.4931733,47.6489674,22.4161939,6.7116695,9.4687919,7.855216,33.167127,3.7439586,0.655647,0.6692242,9.5380608,6.4840418,37.1813108,21.0796342,31.3072393,67.1557263,38.6663566,47.1277654,22.3179498,6.66822,9.6376653,7.7094531,33.1190201,3.6470336,0.6849753,0.6913312,9.6145063,6.7157375,36.7071912,21.1095975,31.66179,67.1863057,38.6499768,47.20472,22.4619739,6.5658109,9.6986574,7.6010576,32.9652532,4.7126185 +1781,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8347727,0.8291277,9.3736627,6.5197222,42.7863543,15.6976,27.1268606,67.9188449,40.9853048,43.7100046,21.1858191,5.2223414,10.0469539,8.367648,32.2161479,12.7615063,0.8574418,0.8039053,9.8448682,6.7243496,42.2848739,16.0851951,26.9195789,67.6597872,41.6337919,43.9571867,21.5379359,5.2050078,9.7873693,7.8376982,31.0802739,10.8695652,0.7942412,0.7345973,9.7747071,6.6067966,41.7377051,15.7147417,27.1740423,67.3523041,40.9720102,44.0438846,21.4969232,5.204292,10.2655594,8.1999102,31.4957859,10.3238866,0.7536819,0.6771033,9.9310961,6.8752752,41.699183,15.8172248,26.9822798,67.1378354,40.5551336,43.989044,20.8718974,5.1508656,9.9477789,8.1780965,31.5369439,9.6837945,0.7253632,0.6694919,9.7174681,6.4082193,41.4270416,15.3281763,26.7833013,67.0789177,40.5279219,43.9680601,21.5780077,5.3788602,9.6147653,8.3613106,31.520218,8.1932773 +1782,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.1982122,2.1592473,29.9995177,23.0263722,48.1861514,14.6752818,37.1271326,65.2016215,32.910642,47.1988902,24.9247891,5.431372,14.9312279,11.5267667,33.4132893,14.0814947,2.1138071,2.0144865,30.2735469,23.0348791,48.778915,14.1645714,37.9167804,64.8774286,33.7988191,47.6717082,24.5340828,5.2205391,14.7172228,11.8523011,32.9304495,14.1998637,1.9229434,1.8693499,29.5663724,22.778774,47.8007789,14.5107672,38.9170525,65.4114116,34.2012134,48.3966438,25.2562516,5.5678696,15.0364802,11.8551961,33.799816,14.4382051,1.8834169,1.8599515,29.4822755,22.6107466,47.8889806,14.2494735,39.7715767,65.357028,34.1563575,47.8279101,25.9044818,5.2505549,14.7431773,11.8912928,33.5131911,15.261915,1.7387803,1.7614614,29.7773775,23.2601368,47.7530878,14.0502466,39.9761019,65.188614,34.3619688,47.3942191,25.8407618,5.4902815,14.5528268,12.2529158,33.3827758,15.8687088 +1783,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0057094,1.9450993,28.6780608,23.7562838,42.4841594,18.4893105,41.8070939,65.0928113,37.5017796,48.6287016,24.125601,3.7521636,12.2234007,9.5658396,32.3022196,19.2818591,2.0019993,1.9413286,28.5486828,23.9506751,42.6712479,18.0383667,42.8478381,65.8033335,37.4337475,48.573405,24.6132482,3.6849913,12.2862029,9.0681995,32.1577071,20.0976964,1.8822465,1.8320577,28.2025469,23.955157,42.7655357,17.6065691,42.9314262,66.2305335,37.5624333,48.2613927,25.2858263,3.6689146,12.4468911,9.3084307,32.8674155,20.2180639,1.8888304,1.8378731,28.0492749,23.841006,43.0284348,18.2052048,42.299923,66.3849819,36.3816158,48.0754812,25.1935857,3.9778623,12.619179,8.6019654,32.7810214,20.0358811,1.9630776,1.9743894,28.0281436,24.0012543,43.2102943,18.5510138,41.7030022,66.939572,36.6215171,48.2017184,25.6558848,3.903628,13.3749563,8.9418206,33.1014541,22.5384744 +1784,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23619,1.2549438,17.4660608,13.7858065,33.2020788,16.2865543,34.1728447,67.6568016,39.1821917,46.5240829,23.569657,3.7189003,11.6689365,9.7859518,33.8341071,16.2100148,1.1592442,1.1995016,17.9750262,14.1156811,33.515164,16.1680504,32.8290728,67.5933411,38.4421494,47.2127285,23.6433708,3.7069595,11.69683,10.1698188,33.5023333,16.7391015,1.263346,1.3183718,19.060023,14.7052483,33.0294042,17.4109541,33.638519,67.5428918,38.1860109,48.4576468,24.1248558,4.0919031,11.9801326,10.898735,34.1201586,17.7082917,1.2827378,1.3406709,20.1407237,15.612287,32.394514,16.7883435,33.7193333,67.2072948,37.89522,48.6331746,23.743498,4.0716226,12.6034513,11.2622409,35.0728065,17.8300505,1.1337399,1.21413,20.1376524,15.3738071,32.304665,17.0851407,33.4626298,67.2948137,37.8937769,48.2511084,23.2241507,3.8533344,12.5693465,10.9169846,35.1242012,17.2938922 +1785,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.676332,1.7213371,33.626508,29.8328642,63.6940884,14.462174,34.2038368,61.7548277,31.7066916,41.1802289,17.019295,2.5886968,16.6744282,14.313733,43.0849775,16.191677,1.6331452,1.5969796,33.5398335,29.8230213,64.1333208,14.3119163,34.8996988,62.1181377,31.33492,41.3374646,17.0406539,2.5279112,16.5110508,13.5710317,43.1355727,15.8097171,1.5108595,1.4658959,32.743876,29.0877485,65.4122141,14.0490961,34.626313,62.0669009,30.8341588,40.7011254,16.5123892,2.3378724,16.9627665,12.3824108,43.8385923,17.546114,1.483146,1.4435224,31.967951,28.6428541,66.4983699,13.9394534,34.6886689,62.7758434,29.7147186,40.6942814,16.414034,2.3027514,17.7651281,13.8514,44.2387016,17.4930599,1.5448979,1.5391802,32.910467,29.3209046,67.3681043,13.5205186,34.598231,62.7686427,29.0320726,40.621807,16.0813998,2.4354462,17.5334264,13.8789863,41.7540232,17.9886227 +1786,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6173159,2.6322961,40.9480383,36.0180417,73.1119916,12.2053496,35.927119,60.6931338,25.5122638,37.4192204,17.4093911,1.815776,16.0960993,13.1087809,43.1228148,26.2946067,2.4052728,2.4407979,40.4312728,35.3032204,73.4019004,11.6328867,35.5748252,60.4012328,25.1545013,37.3154009,17.1347192,1.9491083,16.6709771,12.5608545,44.1118782,27.0798924,2.5868637,2.6344906,39.3893355,34.0899417,74.5321639,11.4866307,34.5465533,59.8700017,24.1885933,36.8634485,16.5062425,1.9663764,17.2127922,13.1331951,43.8707369,26.7912205,2.4555661,2.5152513,38.7605794,33.4325227,75.7811164,11.5887237,34.9396595,60.1683688,24.0651051,37.0253465,16.2003159,1.9708899,17.1204773,12.9554537,45.5223781,26.4349461,2.5939605,2.6550445,38.9949762,33.7012449,75.7640795,11.93455,34.3571718,60.9006755,23.884606,36.5683581,15.8500852,2.1092514,16.9500811,12.952961,43.7325389,24.8832465 +1787,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1592442,1.1995016,17.9750262,14.1156811,33.515164,16.1680504,32.8290728,67.5933411,38.4421494,47.2127285,23.6433708,3.7069595,11.69683,10.1698188,33.5023333,16.7391015,1.263346,1.3183718,19.060023,14.7052483,33.0294042,17.4109541,33.638519,67.5428918,38.1860109,48.4576468,24.1248558,4.0919031,11.9801326,10.898735,34.1201586,17.7082917,1.2827378,1.3406709,20.1407237,15.612287,32.394514,16.7883435,33.7193333,67.2072948,37.89522,48.6331746,23.743498,4.0716226,12.6034513,11.2622409,35.0728065,17.8300505,1.1337399,1.21413,20.1376524,15.3738071,32.304665,17.0851407,33.4626298,67.2948137,37.8937769,48.2511084,23.2241507,3.8533344,12.5693465,10.9169846,35.1242012,17.2938922,1.1516353,1.2252864,20.6962997,16.0033092,32.0597223,17.0488327,33.3704765,66.6689963,37.8179733,49.3411713,23.4358911,3.5666423,12.7404432,10.9167338,35.3569338,17.060931 +1788,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4550412,0.4762421,9.4957619,6.1498687,38.5783017,20.4929593,32.9122977,69.9952317,42.3975353,48.1649296,25.2383411,3.5510037,8.0059057,8.3251347,33.0525077,4.7445221,0.4988918,0.519071,9.4352322,6.1183411,37.9349722,20.6395291,32.3729498,69.8502701,41.8103617,47.9809428,25.340314,3.7885682,9.1296241,8.7761034,32.4904363,3.8194391,0.5303331,0.5297592,9.831466,6.114965,37.7930046,20.2807774,32.3477901,69.5794974,41.5024231,47.3718851,24.6824641,3.3508565,9.786655,9.3488413,31.8480245,4.3333276,0.534458,0.5454175,9.6581539,5.7866626,37.1192844,20.2931484,32.4884828,70.1927212,41.7469745,47.570174,24.821988,3.288648,9.5510584,8.7665225,30.0267046,4.391886,0.4709877,0.4904966,9.4767428,5.8333393,37.5604878,20.0353226,32.5020013,69.5331325,41.32084,47.306465,24.2019451,3.092579,9.4696922,8.5654049,29.3542926,5.4838639 +1789,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.764756,1.8226731,27.8217567,23.8817516,53.6877739,14.577189,40.1427503,65.4203377,33.8924784,47.0880198,20.847086,2.2846097,14.9696862,11.9956883,35.9899739,10.992652,1.8596572,1.9356585,28.6268515,24.2805275,55.1672286,13.8608758,40.5444364,65.1975181,33.9583091,47.4025218,21.3594094,2.3317028,15.8727385,12.1272673,36.3328291,12.850565,1.9259559,2.0037785,28.7689825,24.327659,55.963369,14.7888178,40.5527075,65.5238357,35.4721106,47.7001573,21.7331623,2.6810023,15.5493097,11.9136977,36.235491,13.2836161,1.9262248,1.9461346,28.7951051,24.328257,56.6874968,15.0265676,40.5187572,64.3833992,35.4972366,46.5874326,21.3107606,3.0326079,15.446678,12.4817023,36.5476369,15.8003086,1.8866753,1.9190777,29.0255802,24.3554393,56.4451577,15.6886739,40.0515929,64.3566382,35.8895451,46.1215613,21.0851729,2.8905307,14.7832076,11.6690982,36.7305326,15.0181394 +1790,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0963711,1.1211258,12.0724235,8.3951066,27.4347961,21.2608797,37.1081018,68.8397379,40.6240872,50.6153134,24.2748338,4.028719,10.6640345,10.3672145,35.2259764,10.1745053,1.0825378,1.111566,11.8987194,8.4748299,26.7133198,21.3136,37.075223,69.0531632,40.8510134,50.6680335,24.6151599,4.0517008,10.5540078,10.0445047,34.5469529,9.7059715,0.9233063,0.9619888,12.2303374,8.8680438,26.6321733,21.0190233,36.7900231,68.4882516,41.1503319,49.5553845,24.8278916,4.0304064,10.8012972,10.2612829,35.1005842,8.9674756,0.9708725,1.0091188,12.5726373,9.1424773,26.6401583,20.5442752,36.7140949,68.1507985,41.7781121,48.9189488,24.2247631,3.7126601,10.9066721,10.0107198,34.3783382,9.4086894,0.9024246,0.9654579,12.6185988,8.9590654,25.8133669,20.6491487,36.4357955,68.016177,42.1953101,48.7896405,23.9983166,3.6866947,10.782288,10.4759164,35.1315888,10.7143838 +1791,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7718421,0.7887523,10.8289104,6.6116571,49.3549087,10.7914582,32.9103421,67.6248757,42.5002597,44.7631918,24.5191289,4.666523,9.9382678,8.3959625,38.3975794,5.9563688,0.766597,0.7774113,10.9675781,6.6330892,49.2378317,10.603526,32.845577,66.6860904,42.0155641,44.2731553,24.4086884,4.6373596,10.2584886,8.7882805,38.2701394,6.2403621,0.7904422,0.7988485,11.3860959,7.0383935,49.9253539,10.6542199,32.7740569,66.5331397,41.4559162,43.7933432,23.7916349,4.6581537,10.3118016,8.6213678,38.684888,5.66714,0.7833402,0.7796799,11.2000251,6.7920186,49.9824517,10.2784063,32.9665646,66.2811921,41.276464,43.5788513,23.6714491,4.6957434,10.5072787,8.5859899,39.6946666,5.9023018,0.7863161,0.7748286,10.9129587,6.6470722,49.5235327,10.46487,33.1708631,66.5450604,41.6056234,43.6178993,23.797725,4.8325327,10.6610287,8.7581842,39.3459015,6.3019356 +1792,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0020013,2.0020013,33.8541667,29.985119,65.9754224,6.2592047,36.002994,64.8952096,27.3203593,39.2964072,16.5419162,6.0628743,16.4723032,10.3498542,36.6959064,14.8255814,2.0544413,2.0544413,34.4544096,29.9701046,65.4503106,6.0089021,38.5951662,64.7280967,27.265861,40.407855,16.9939577,6.7220544,16.3716814,11.6519174,35.0591716,15.0306748,1.9287136,1.9287136,34.2022117,29.3048973,66.0862355,6.0629921,39.9839744,65.4647436,27.8044872,41.1057692,17.0673077,6.9711538,18.2539683,12.2222222,35.3035144,16.0377358,1.8425566,1.8425566,34.3014129,29.4348509,66.8039539,4.9528302,39.28,64.72,27.12,42.96,16.72,6.32,16.0550459,11.1620795,33.4876543,14.3312102,1.9770086,2.1258181,33.6234177,28.8765823,68.616145,4.4811321,40.1442308,62.900641,26.5224359,43.6698718,15.9455128,5.6891026,16.6158537,13.2621951,33.7962963,12.654321 +1793,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4988918,0.519071,9.4352322,6.1183411,37.9349722,20.6395291,32.3729498,69.8502701,41.8103617,47.9809428,25.340314,3.7885682,9.1296241,8.7761034,32.4904363,3.8194391,0.5303331,0.5297592,9.831466,6.114965,37.7930046,20.2807774,32.3477901,69.5794974,41.5024231,47.3718851,24.6824641,3.3508565,9.786655,9.3488413,31.8480245,4.3333276,0.534458,0.5454175,9.6581539,5.7866626,37.1192844,20.2931484,32.4884828,70.1927212,41.7469745,47.570174,24.821988,3.288648,9.5510584,8.7665225,30.0267046,4.391886,0.4709877,0.4904966,9.4767428,5.8333393,37.5604878,20.0353226,32.5020013,69.5331325,41.32084,47.306465,24.2019451,3.092579,9.4696922,8.5654049,29.3542926,5.4838639,0.4762224,0.4833947,9.4385792,5.9344374,38.6900216,19.4698769,31.6085259,69.6317832,40.7170576,46.8798513,24.2829579,3.0426411,9.9666489,9.5655826,30.7983154,4.2763102 +1794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8608693,0.8118991,11.3770827,7.9290816,21.029767,16.1406939,34.9258802,65.693154,37.2489705,49.1131924,21.3325771,5.0442846,11.2754347,9.3376082,27.4002622,4.4827555,0.8322521,0.7897919,12.5429391,8.4972427,22.3254246,16.5625961,34.6537849,65.3624566,37.0820342,48.7098787,21.548804,4.5551195,11.7593742,9.6411923,27.5694029,3.6666642,0.8152707,0.7884164,12.5709133,8.5579485,22.9392738,16.6921741,34.9933695,64.2342494,36.2518173,47.8498638,21.5360876,4.5508356,11.4245204,9.2565379,27.0297727,4.0123407,0.8506907,0.8242427,12.7473881,8.7779399,22.8706655,16.4081903,35.4384922,64.5239286,35.7618783,47.3763658,21.7236241,4.7068541,11.3622269,8.9258005,27.1354202,4.4910126,0.807462,0.7813778,12.8432931,8.7761667,23.6196957,16.1253461,34.7473139,64.9638038,35.2242724,47.0561523,21.102446,4.5319786,11.3570654,8.8231989,27.1965874,4.9418576 +1795,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8322521,0.7897919,12.5429391,8.4972427,22.3254246,16.5625961,34.6537849,65.3624566,37.0820342,48.7098787,21.548804,4.5551195,11.7593742,9.6411923,27.5694029,3.6666642,0.8152707,0.7884164,12.5709133,8.5579485,22.9392738,16.6921741,34.9933695,64.2342494,36.2518173,47.8498638,21.5360876,4.5508356,11.4245204,9.2565379,27.0297727,4.0123407,0.8506907,0.8242427,12.7473881,8.7779399,22.8706655,16.4081903,35.4384922,64.5239286,35.7618783,47.3763658,21.7236241,4.7068541,11.3622269,8.9258005,27.1354202,4.4910126,0.807462,0.7813778,12.8432931,8.7761667,23.6196957,16.1253461,34.7473139,64.9638038,35.2242724,47.0561523,21.102446,4.5319786,11.3570654,8.8231989,27.1965874,4.9418576,0.7011359,0.6813089,13.0073393,9.0668352,24.5578999,16.1409422,34.772931,65.6013592,35.0552891,47.1862807,21.4166185,4.0067662,11.6196398,9.0324882,27.10181,6.149726 +1796,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5162179,0.530088,8.0339957,5.4956945,49.3077853,14.1806714,27.1519567,68.9222627,32.418988,47.0983837,15.1548432,5.157255,11.4813536,10.9540213,31.6258264,5.1419041,0.6120153,0.5976193,8.5357062,6.107149,48.3969564,14.1407497,26.376121,68.8919481,32.6292448,46.1251546,15.5118541,5.1786834,11.1557009,10.8777553,31.0222654,4.166715,0.5311851,0.521899,8.7350151,6.3132055,48.0429678,14.2940188,26.616559,69.1124313,33.3214936,46.1585076,15.5452405,5.0942842,11.2073593,10.838016,31.4641736,4.2125036,0.6109374,0.5963046,8.9446997,6.4915723,47.2565048,14.1515082,25.9497722,68.7265464,34.3691984,46.3767037,16.2640949,4.9836159,11.5859832,11.1797011,31.6598607,4.30715,0.4796013,0.4722429,8.8474409,6.4355497,46.6435834,13.9303383,26.2157626,69.0155457,34.9976877,46.258362,16.5604887,5.0401643,11.6743227,10.9553949,31.5752825,5.1724534 +1797,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6761669,0.6761669,10.524766,7.0994511,30.4765261,19.6249612,34.5327243,68.9806605,41.336389,48.8094803,24.7729688,4.6393054,12.5966846,11.3754918,37.6995144,4.2970294,0.6525085,0.6691382,10.4005582,6.7485192,29.9992625,20.2544752,34.6498774,68.8198431,40.739754,47.4770782,23.7087552,4.5913017,11.9208811,10.6375668,36.5994529,5.5972071,0.5524807,0.5685647,10.1820719,6.7115571,29.109648,20.5430489,34.7245701,69.0903945,40.079209,47.6181571,23.5463805,4.3249866,11.9031265,10.1403908,37.589352,5.5972071,0.6905362,0.682889,10.9025173,7.2764673,29.7860571,20.4678303,34.4910533,69.2836187,38.8397335,47.3901459,23.4699483,4.1606571,12.5703682,10.8591845,38.4345277,6.4396037,0.6089066,0.59257,10.7983196,7.22246,29.0368958,20.5225913,34.1239895,68.6860913,38.0226742,47.0728744,23.6300533,3.8599481,13.7503396,12.0747024,39.5465821,6.1596078 +1798,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3847733,0.401912,6.7172172,3.8944133,56.3223573,22.3569601,29.6810755,65.8736751,33.4990628,42.5995312,18.9069806,5.2562937,9.9273175,7.6563138,31.9184823,3.8194444,0.4319761,0.4661987,6.6584704,3.759206,55.8502712,23.1986249,28.5256417,66.1489067,32.7169408,42.5295842,19.0088762,5.6459547,9.8831616,7.7636772,31.1209426,1.6666667,0.4193244,0.4956622,6.6650791,3.8187779,55.6532025,23.7727834,28.0747389,65.6338626,31.9536244,42.076633,17.999053,5.6054851,9.8492044,7.0415919,31.1904815,2.2435897,0.3928474,0.4552809,6.6439885,3.6961418,56.0317508,22.041805,27.8478173,65.038263,31.2246623,41.8054856,17.7622666,5.6956301,9.5859629,7.5293091,31.8636389,2.0588235,0.3114145,0.3721619,6.712145,3.6751725,55.3215116,22.3547153,28.0921051,64.4517479,31.776308,41.2938548,18.1798214,5.7675412,8.826168,7.3225543,31.9909499,2.1472393 +1799,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7174007,0.7056034,8.506949,5.6838808,28.5252535,10.7360656,30.1581157,67.2014158,36.9588527,47.7509832,20.6708509,3.4924817,10.5271074,9.697954,30.5308451,2.6315814,0.6877153,0.6622786,8.368852,5.6502594,28.8798611,10.60967,30.020932,67.2723218,36.9148964,47.4427783,20.4501092,3.7012137,10.785724,9.6797176,29.9056032,3.1437154,0.6579599,0.6387548,8.5738329,5.748971,29.1673558,10.5950529,29.6758576,67.3774844,37.2130812,47.3247309,20.789373,3.6367902,10.8008388,9.926029,30.3608413,3.3762069,0.6293949,0.6214668,8.4036998,5.6157393,29.03201,10.4868598,29.5417639,67.1713096,36.9251882,47.4983515,21.1220665,3.4893165,10.4147971,9.3825211,29.8675895,3.4768223,0.6564141,0.6421825,8.6512001,5.80531,28.5884861,10.4439331,30.3125091,66.7306528,36.2102414,47.3281513,21.3042049,3.6880098,10.4270601,9.060794,29.9501528,5.140159 +1800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7008715,0.6817154,8.8235383,5.7145447,24.4771438,16.3929402,33.67386,69.6709195,40.0922328,50.2169236,22.4642535,4.2578238,10.534755,10.5762304,31.1354742,5.2158198,0.6917989,0.6748406,8.9174831,5.8788049,24.5523645,16.1692293,33.795753,69.3673599,39.8215459,50.3003719,22.1858652,4.3028847,10.7802189,10.8916043,31.7335044,4.1218549,0.7000552,0.6833251,9.1753393,6.0231813,24.2767917,16.2247686,33.6446337,69.4274552,39.7364462,50.122147,22.5257109,4.3724971,10.4587494,10.7351379,31.4616751,4.6874919,0.7373418,0.7206873,9.4084771,6.2128257,24.5288056,16.119838,33.6899982,68.5368718,39.5181187,49.9390762,22.7296131,4.3232459,10.1053002,10.6473537,31.6684024,5.2364812,0.7032214,0.6861803,9.6428666,6.3870495,24.0364421,16.0043504,33.4607627,68.5949766,39.746868,49.4478317,23.250095,4.3747847,9.9174948,10.763888,31.8683311,5.5932165 +1801,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6120153,0.5976193,8.5357062,6.107149,48.3969564,14.1407497,26.376121,68.8919481,32.6292448,46.1251546,15.5118541,5.1786834,11.1557009,10.8777553,31.0222654,4.166715,0.5311851,0.521899,8.7350151,6.3132055,48.0429678,14.2940188,26.616559,69.1124313,33.3214936,46.1585076,15.5452405,5.0942842,11.2073593,10.838016,31.4641736,4.2125036,0.6109374,0.5963046,8.9446997,6.4915723,47.2565048,14.1515082,25.9497722,68.7265464,34.3691984,46.3767037,16.2640949,4.9836159,11.5859832,11.1797011,31.6598607,4.30715,0.4796013,0.4722429,8.8474409,6.4355497,46.6435834,13.9303383,26.2157626,69.0155457,34.9976877,46.258362,16.5604887,5.0401643,11.6743227,10.9553949,31.5752825,5.1724534,0.5240459,0.5277195,9.3192842,6.610303,45.9746667,14.0139158,26.7869357,68.6364161,35.0908653,45.8953274,16.643087,5.3904593,11.9331373,10.5733535,31.5922044,5.6201986 +1802,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7115001,0.738493,8.2896561,5.0613136,39.6050713,20.0433856,29.8463481,67.9756142,36.304832,46.3196305,20.7326061,4.443418,10.7358237,9.6060161,32.0848737,4.7034596,0.7619666,0.7884443,8.5589698,5.4201068,39.038372,19.7565772,30.5548449,68.1431463,36.115946,45.9312336,20.7873147,4.4634729,10.5098925,9.618645,30.8997587,4.738778,0.7404136,0.7562743,8.8416938,5.6568962,39.1649479,19.1417966,30.9340409,68.0199171,35.6399864,45.2587331,19.9265967,4.4623779,10.0781799,9.2774118,31.8294658,5.1702526,0.7803585,0.8135959,9.2800108,5.8397529,38.8394383,18.4899124,30.4875103,68.2522221,35.8753261,44.8622888,19.9610953,4.6561551,10.2107766,9.1538796,32.4024886,4.8741473,0.6892175,0.7226213,9.5219251,5.9468145,39.347915,18.0436868,30.8122508,68.0884343,35.4875243,44.3848015,19.5120171,4.8132588,9.6923639,9.0156497,32.4775343,4.7162488 +1803,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8279856,0.8806077,10.6805109,7.4039675,27.3690613,13.973914,30.6466195,70.2512415,40.5561838,50.0347448,21.5977512,7.127787,11.1551955,9.5394467,31.7085224,6.684492,0.88067,0.9417422,10.6424601,7.3452636,27.3415566,13.8883744,30.3197221,70.5417815,40.6005628,50.2689705,21.1894531,7.1713443,11.6503907,8.93258,31.4444395,7.4585635,0.7703122,0.8195434,10.6831834,7.2191915,27.1454185,14.2990137,30.1066772,69.9993819,40.4790636,50.1764596,21.7865877,7.4152913,10.9463622,8.8298299,31.0318857,6.0344828,0.8383,0.8873697,10.3579964,7.0036393,27.1685613,14.6963142,29.5743834,70.1087759,41.0820531,49.7008818,21.6922633,7.6171714,10.7387084,9.0015544,32.279587,5.3977273,0.7023897,0.7185981,10.8096881,7.280673,25.8053881,14.4123959,29.5847778,69.4725451,41.6519525,49.5302916,22.0539545,7.0600914,9.9136146,9.003045,31.6489488,4.1906441 +1804,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2572005,1.2234153,21.6459423,16.9232134,40.5934808,16.1573585,35.4765753,67.887155,33.3395221,44.7264208,21.1106616,2.7505073,11.6238278,8.6405977,36.6908596,17.5805781,1.3601795,1.3283331,22.6037745,17.7635771,40.9738504,16.448975,35.9384464,67.3989876,32.7001634,44.3323174,21.3647288,2.8254865,11.872037,8.7279808,37.1722045,19.3749919,1.426348,1.3961855,22.9068652,18.188516,41.3351065,16.4492004,36.3106311,66.6087802,32.9199454,44.5365846,21.3970022,2.8728946,12.8609288,9.2477368,38.473645,20.8646381,1.5286575,1.5286575,23.6773683,18.9199452,41.247332,16.6450474,35.8661623,66.5534699,33.284947,44.7076668,21.4422842,2.9526182,12.6951341,9.4126046,37.8409934,22.2825845,1.4073717,1.4073717,24.7495197,20.16448,42.4299255,17.1650651,35.8480274,66.5938737,33.3724001,45.0483423,21.5287738,2.9274698,13.2015811,10.0091864,38.160692,21.9465183 +1805,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7179778,1.7051182,29.8290716,25.0924992,42.7270668,14.8108159,36.8070057,63.8680543,36.2665545,44.7839648,23.0052764,2.8441047,15.5556635,11.4258925,39.442589,20.8333475,1.6979523,1.6853302,29.4830574,25.3762303,43.4437605,14.9802111,36.5135976,64.0833007,37.2389597,44.3151028,23.4210443,2.8594491,16.0520863,11.4005481,38.9494259,19.8571483,1.6499715,1.6230423,28.9531891,25.063252,44.171896,14.9542998,36.964161,64.4753573,37.7958924,44.8656462,23.1765762,2.8630801,16.3688468,11.5409055,38.3407839,19.4370018,1.7190093,1.6853306,29.0580274,25.2417839,44.8579891,14.86846,36.8024698,65.4021886,38.5032376,44.8968322,22.6610046,2.6613655,16.8499312,11.6331667,38.7442748,19.7643821,1.7736339,1.7688965,29.4102824,25.3896455,45.3819574,14.4723678,37.1461636,64.9338634,38.3569597,44.3177534,21.7475129,2.4681298,17.2686834,12.2144454,39.101311,19.4162281 +1806,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6215122,0.641219,9.1480475,6.1530135,37.4960305,21.0432824,30.7674233,67.4001587,38.5043093,48.4025013,22.4823776,6.9616284,8.88239,7.6887557,32.9556028,3.0562332,0.6406236,0.6672712,9.401911,6.5113821,37.4214368,20.8709658,30.9512649,67.3572377,38.4931733,47.6489674,22.4161939,6.7116695,9.4687919,7.855216,33.167127,3.7439586,0.655647,0.6692242,9.5380608,6.4840418,37.1813108,21.0796342,31.3072393,67.1557263,38.6663566,47.1277654,22.3179498,6.66822,9.6376653,7.7094531,33.1190201,3.6470336,0.6849753,0.6913312,9.6145063,6.7157375,36.7071912,21.1095975,31.66179,67.1863057,38.6499768,47.20472,22.4619739,6.5658109,9.6986574,7.6010576,32.9652532,4.7126185,0.6729588,0.6840682,9.4645758,6.551227,36.727411,21.0081374,31.9412334,67.0553991,38.3800392,46.4872025,22.490988,6.4931833,10.1637897,7.8692865,32.6118962,5.5555329 +1807,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3601795,1.3283331,22.6037745,17.7635771,40.9738504,16.448975,35.9384464,67.3989876,32.7001634,44.3323174,21.3647288,2.8254865,11.872037,8.7279808,37.1722045,19.3749919,1.426348,1.3961855,22.9068652,18.188516,41.3351065,16.4492004,36.3106311,66.6087802,32.9199454,44.5365846,21.3970022,2.8728946,12.8609288,9.2477368,38.473645,20.8646381,1.5286575,1.5286575,23.6773683,18.9199452,41.247332,16.6450474,35.8661623,66.5534699,33.284947,44.7076668,21.4422842,2.9526182,12.6951341,9.4126046,37.8409934,22.2825845,1.4073717,1.4073717,24.7495197,20.16448,42.4299255,17.1650651,35.8480274,66.5938737,33.3724001,45.0483423,21.5287738,2.9274698,13.2015811,10.0091864,38.160692,21.9465183,1.4510721,1.4510721,26.3298034,21.6149523,43.3739924,17.3557599,36.8376983,65.9591118,32.6915937,45.3273005,20.7139386,2.8464109,13.7214193,10.5436015,38.2699357,23.888843 +1808,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8152707,0.7884164,12.5709133,8.5579485,22.9392738,16.6921741,34.9933695,64.2342494,36.2518173,47.8498638,21.5360876,4.5508356,11.4245204,9.2565379,27.0297727,4.0123407,0.8506907,0.8242427,12.7473881,8.7779399,22.8706655,16.4081903,35.4384922,64.5239286,35.7618783,47.3763658,21.7236241,4.7068541,11.3622269,8.9258005,27.1354202,4.4910126,0.807462,0.7813778,12.8432931,8.7761667,23.6196957,16.1253461,34.7473139,64.9638038,35.2242724,47.0561523,21.102446,4.5319786,11.3570654,8.8231989,27.1965874,4.9418576,0.7011359,0.6813089,13.0073393,9.0668352,24.5578999,16.1409422,34.772931,65.6013592,35.0552891,47.1862807,21.4166185,4.0067662,11.6196398,9.0324882,27.10181,6.149726,0.6832925,0.6927462,13.4636055,9.5605122,25.6488072,16.5197632,34.7824039,65.8396627,34.2517631,47.1486932,21.0129159,4.314314,11.5506995,9.1515587,27.5777546,6.8657439 +1809,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6979523,1.6853302,29.4830574,25.3762303,43.4437605,14.9802111,36.5135976,64.0833007,37.2389597,44.3151028,23.4210443,2.8594491,16.0520863,11.4005481,38.9494259,19.8571483,1.6499715,1.6230423,28.9531891,25.063252,44.171896,14.9542998,36.964161,64.4753573,37.7958924,44.8656462,23.1765762,2.8630801,16.3688468,11.5409055,38.3407839,19.4370018,1.7190093,1.6853306,29.0580274,25.2417839,44.8579891,14.86846,36.8024698,65.4021886,38.5032376,44.8968322,22.6610046,2.6613655,16.8499312,11.6331667,38.7442748,19.7643821,1.7736339,1.7688965,29.4102824,25.3896455,45.3819574,14.4723678,37.1461636,64.9338634,38.3569597,44.3177534,21.7475129,2.4681298,17.2686834,12.2144454,39.101311,19.4162281,1.6756001,1.6993682,29.7412688,25.9187087,45.9851167,14.3024701,37.1000967,64.6982885,37.8442578,44.2007645,21.7825473,2.5890943,17.2929866,12.7788235,38.8389947,20.5097087 +1810,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.263346,1.3183718,19.060023,14.7052483,33.0294042,17.4109541,33.638519,67.5428918,38.1860109,48.4576468,24.1248558,4.0919031,11.9801326,10.898735,34.1201586,17.7082917,1.2827378,1.3406709,20.1407237,15.612287,32.394514,16.7883435,33.7193333,67.2072948,37.89522,48.6331746,23.743498,4.0716226,12.6034513,11.2622409,35.0728065,17.8300505,1.1337399,1.21413,20.1376524,15.3738071,32.304665,17.0851407,33.4626298,67.2948137,37.8937769,48.2511084,23.2241507,3.8533344,12.5693465,10.9169846,35.1242012,17.2938922,1.1516353,1.2252864,20.6962997,16.0033092,32.0597223,17.0488327,33.3704765,66.6689963,37.8179733,49.3411713,23.4358911,3.5666423,12.7404432,10.9167338,35.3569338,17.060931,1.1918645,1.2425528,20.4799648,15.986563,32.2037189,16.9911086,33.1603572,66.8133565,37.8875095,49.3116511,23.5372567,3.3624608,12.4649203,10.3651268,34.741761,16.6037842 +1811,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.426348,1.3961855,22.9068652,18.188516,41.3351065,16.4492004,36.3106311,66.6087802,32.9199454,44.5365846,21.3970022,2.8728946,12.8609288,9.2477368,38.473645,20.8646381,1.5286575,1.5286575,23.6773683,18.9199452,41.247332,16.6450474,35.8661623,66.5534699,33.284947,44.7076668,21.4422842,2.9526182,12.6951341,9.4126046,37.8409934,22.2825845,1.4073717,1.4073717,24.7495197,20.16448,42.4299255,17.1650651,35.8480274,66.5938737,33.3724001,45.0483423,21.5287738,2.9274698,13.2015811,10.0091864,38.160692,21.9465183,1.4510721,1.4510721,26.3298034,21.6149523,43.3739924,17.3557599,36.8376983,65.9591118,32.6915937,45.3273005,20.7139386,2.8464109,13.7214193,10.5436015,38.2699357,23.888843,1.5733325,1.58791,27.7132696,23.1649833,44.1870646,17.652175,37.4026986,65.5233127,32.6236032,45.7575714,21.1476774,2.8121157,13.4905511,10.4000327,38.7115657,24.3859282 +1812,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6331452,1.5969796,33.5398335,29.8230213,64.1333208,14.3119163,34.8996988,62.1181377,31.33492,41.3374646,17.0406539,2.5279112,16.5110508,13.5710317,43.1355727,15.8097171,1.5108595,1.4658959,32.743876,29.0877485,65.4122141,14.0490961,34.626313,62.0669009,30.8341588,40.7011254,16.5123892,2.3378724,16.9627665,12.3824108,43.8385923,17.546114,1.483146,1.4435224,31.967951,28.6428541,66.4983699,13.9394534,34.6886689,62.7758434,29.7147186,40.6942814,16.414034,2.3027514,17.7651281,13.8514,44.2387016,17.4930599,1.5448979,1.5391802,32.910467,29.3209046,67.3681043,13.5205186,34.598231,62.7686427,29.0320726,40.621807,16.0813998,2.4354462,17.5334264,13.8789863,41.7540232,17.9886227,1.6021678,1.5965154,32.3235064,28.6730376,66.1299311,13.7526825,35.1060606,62.9482741,29.0300989,40.6859604,16.530946,2.4779046,17.5112211,14.0943958,41.3099722,18.5753723 +1813,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4419852,0.4145352,8.0227925,4.7890374,47.9179326,21.4796038,29.4126405,67.7861479,34.7439733,42.2138548,19.5331318,9.6837346,8.3985516,6.4876302,36.2667467,3.9823009,0.5011155,0.4742482,7.8605938,4.8430914,47.2692143,20.8818384,29.6301625,68.256532,35.6765479,41.9870865,19.5333154,9.5832104,8.6994689,6.7821507,37.3218497,4.7142871,0.5149114,0.4880369,8.0712812,4.9266262,46.6795071,20.56686,30.0761726,68.1658398,35.7017293,42.5871662,19.93847,9.6542627,8.500002,6.5781726,37.7014956,4.8611125,0.5044581,0.4774894,8.0137829,4.9880181,46.024414,20.0671355,30.2267297,67.9475896,35.2915189,42.3586584,19.6260294,9.2608974,8.8166394,6.8021217,37.6557894,4.8611125,0.441213,0.4188871,7.895507,4.8890848,45.439974,19.6204337,30.360222,68.1123972,35.1729093,42.6368884,19.4956742,9.0057634,8.5787114,6.5699677,37.055114,5.1388903 +1814,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6688192,1.6571579,26.6614354,21.177487,50.2743267,17.6193351,41.3140933,66.9666661,39.0490649,48.7125583,26.2221522,4.9406714,11.3085098,10.5173987,32.5387063,22.5923081,1.8039239,1.7202025,26.7014273,21.6160385,50.5587056,17.7273727,41.60776,66.3268004,38.720965,49.0203266,26.8679606,5.0284852,11.2614036,10.9322499,33.114148,22.7603278,1.7653662,1.6801714,25.3203338,20.1604496,50.5680358,17.6283204,42.7768204,65.3700447,39.3653596,49.7578121,27.8701032,4.7950167,12.2034957,11.2072385,33.8403097,21.4258489,1.6529182,1.5492683,24.7590814,19.2745534,50.1759357,17.2693032,44.0599994,66.8574906,40.2686119,50.6851073,27.8875136,5.1653102,12.106246,11.1262675,35.0468395,18.9630289,1.7661502,1.6429451,24.8894845,19.5134833,49.0792637,17.4470845,42.7141467,67.4427122,40.3961339,51.7270454,28.2749602,4.9041692,12.3046497,12.1221016,34.9581059,20.0702095 +1815,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.033286,1.0537991,14.934108,11.9638543,55.0494502,28.5130594,35.1152647,68.1742523,32.8126028,42.3520375,16.529576,3.7007066,14.8693606,8.3334695,34.9333598,7.9440366,1.0744813,1.0949001,15.2778958,12.3367626,57.6030407,28.4440709,35.6559594,68.1146638,32.0492728,40.5738928,16.1475888,3.8525095,15.1960248,9.3137295,35.264384,7.0248805,0.9691247,0.9377764,13.5752139,11.3829433,57.009892,27.7777317,35.3189847,68.2045496,33.3054527,39.6812879,17.7013972,4.2785773,14.5484281,10.2006893,34.0672453,8.0509498,1.3524255,1.3212725,14.177863,11.828924,59.0829885,27.0866664,34.7933778,68.0163242,33.3059225,40.0826952,18.4298,4.8760895,12.6261172,8.5858203,33.1629226,7.0830347,1.2258994,1.2258994,14.1247814,11.6984955,57.375303,27.3568039,35.7992903,67.2617129,33.9286914,40.9013875,20.3231838,5.0170623,13.8331844,9.49996,35.6416979,7.2646541 +1816,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6525085,0.6691382,10.4005582,6.7485192,29.9992625,20.2544752,34.6498774,68.8198431,40.739754,47.4770782,23.7087552,4.5913017,11.9208811,10.6375668,36.5994529,5.5972071,0.5524807,0.5685647,10.1820719,6.7115571,29.109648,20.5430489,34.7245701,69.0903945,40.079209,47.6181571,23.5463805,4.3249866,11.9031265,10.1403908,37.589352,5.5972071,0.6905362,0.682889,10.9025173,7.2764673,29.7860571,20.4678303,34.4910533,69.2836187,38.8397335,47.3901459,23.4699483,4.1606571,12.5703682,10.8591845,38.4345277,6.4396037,0.6089066,0.59257,10.7983196,7.22246,29.0368958,20.5225913,34.1239895,68.6860913,38.0226742,47.0728744,23.6300533,3.8599481,13.7503396,12.0747024,39.5465821,6.1596078,0.5488636,0.5414765,10.4977604,7.1629596,27.691582,21.1582574,33.9836151,69.3997401,38.0217488,47.6371142,23.7917478,3.9030223,13.3554265,11.7045559,37.5584492,5.9057118 +1817,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5311851,0.521899,8.7350151,6.3132055,48.0429678,14.2940188,26.616559,69.1124313,33.3214936,46.1585076,15.5452405,5.0942842,11.2073593,10.838016,31.4641736,4.2125036,0.6109374,0.5963046,8.9446997,6.4915723,47.2565048,14.1515082,25.9497722,68.7265464,34.3691984,46.3767037,16.2640949,4.9836159,11.5859832,11.1797011,31.6598607,4.30715,0.4796013,0.4722429,8.8474409,6.4355497,46.6435834,13.9303383,26.2157626,69.0155457,34.9976877,46.258362,16.5604887,5.0401643,11.6743227,10.9553949,31.5752825,5.1724534,0.5240459,0.5277195,9.3192842,6.610303,45.9746667,14.0139158,26.7869357,68.6364161,35.0908653,45.8953274,16.643087,5.3904593,11.9331373,10.5733535,31.5922044,5.6201986,0.5058748,0.5435931,9.5469523,6.8515748,45.5150647,13.713118,26.5138927,68.9960513,34.7340774,45.7402968,16.7050318,5.3074279,11.7920493,10.6160937,31.5472737,6.7568089 +1818,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0825378,1.111566,11.8987194,8.4748299,26.7133198,21.3136,37.075223,69.0531632,40.8510134,50.6680335,24.6151599,4.0517008,10.5540078,10.0445047,34.5469529,9.7059715,0.9233063,0.9619888,12.2303374,8.8680438,26.6321733,21.0190233,36.7900231,68.4882516,41.1503319,49.5553845,24.8278916,4.0304064,10.8012972,10.2612829,35.1005842,8.9674756,0.9708725,1.0091188,12.5726373,9.1424773,26.6401583,20.5442752,36.7140949,68.1507985,41.7781121,48.9189488,24.2247631,3.7126601,10.9066721,10.0107198,34.3783382,9.4086894,0.9024246,0.9654579,12.6185988,8.9590654,25.8133669,20.6491487,36.4357955,68.016177,42.1953101,48.7896405,23.9983166,3.6866947,10.782288,10.4759164,35.1315888,10.7143838,0.8580418,0.9048255,12.4337176,8.9729253,25.7019867,20.4113262,36.0246535,67.6336517,42.0548489,48.3137952,23.8782439,3.6438983,10.3803453,9.9574903,34.5092357,12.78419 +1819,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8574418,0.8039053,9.8448682,6.7243496,42.2848739,16.0851951,26.9195789,67.6597872,41.6337919,43.9571867,21.5379359,5.2050078,9.7873693,7.8376982,31.0802739,10.8695652,0.7942412,0.7345973,9.7747071,6.6067966,41.7377051,15.7147417,27.1740423,67.3523041,40.9720102,44.0438846,21.4969232,5.204292,10.2655594,8.1999102,31.4957859,10.3238866,0.7536819,0.6771033,9.9310961,6.8752752,41.699183,15.8172248,26.9822798,67.1378354,40.5551336,43.989044,20.8718974,5.1508656,9.9477789,8.1780965,31.5369439,9.6837945,0.7253632,0.6694919,9.7174681,6.4082193,41.4270416,15.3281763,26.7833013,67.0789177,40.5279219,43.9680601,21.5780077,5.3788602,9.6147653,8.3613106,31.520218,8.1932773,0.7177152,0.6536166,9.8441374,6.7883053,41.4070183,15.6141269,26.612698,66.9136748,40.166495,43.8463617,21.4509231,5.2466849,10.1981819,9.2291961,31.3295243,7.7083333 +1820,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3889316,1.4472188,20.5315375,16.001452,83.9304162,12.4355733,32.6542267,63.0583957,33.6645476,37.49327,17.0524229,4.3889599,14.7116368,11.6069958,40.0225256,12.3862281,1.3407002,1.3629977,20.617754,15.8133555,83.551606,12.8028196,32.8899819,63.2595686,33.4234526,36.0457974,16.696222,4.4006604,14.8951625,12.6875855,41.2833905,14.260667,1.3975905,1.4192287,20.3601437,15.7653063,83.1808187,13.533712,33.2407136,63.5376077,33.5878049,36.7464797,16.9497339,4.8234551,13.8816326,11.8754177,40.2588113,13.5173143,1.4519298,1.4474985,20.7703527,16.0886442,83.4900251,13.4273251,32.9503952,63.6406218,33.3047374,36.1889446,16.9273548,4.8743103,13.8218013,10.9488528,38.5232432,16.9893321,1.4152569,1.4287159,20.7527611,15.9557034,82.9286915,14.1028871,33.3686865,63.7081266,34.0805722,36.5753779,17.3168018,5.8312763,13.2166295,11.270658,37.6220734,18.1386755 +1821,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7619666,0.7884443,8.5589698,5.4201068,39.038372,19.7565772,30.5548449,68.1431463,36.115946,45.9312336,20.7873147,4.4634729,10.5098925,9.618645,30.8997587,4.738778,0.7404136,0.7562743,8.8416938,5.6568962,39.1649479,19.1417966,30.9340409,68.0199171,35.6399864,45.2587331,19.9265967,4.4623779,10.0781799,9.2774118,31.8294658,5.1702526,0.7803585,0.8135959,9.2800108,5.8397529,38.8394383,18.4899124,30.4875103,68.2522221,35.8753261,44.8622888,19.9610953,4.6561551,10.2107766,9.1538796,32.4024886,4.8741473,0.6892175,0.7226213,9.5219251,5.9468145,39.347915,18.0436868,30.8122508,68.0884343,35.4875243,44.3848015,19.5120171,4.8132588,9.6923639,9.0156497,32.4775343,4.7162488,0.6597291,0.6756393,9.5661812,6.0794085,39.0674294,18.0354477,31.52342,67.9287215,35.8052628,44.314605,20.0815401,4.9464488,9.3444468,8.7159655,32.324191,5.4139835 +1822,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4968433,0.49952,8.0351993,5.3519947,44.8240503,15.7616527,29.3648336,68.0829572,37.3984938,46.8532455,19.4460629,3.4367759,9.6521826,8.729691,30.1925522,4.702968,0.4551691,0.4716662,8.144727,5.4347862,44.5331331,16.0982035,28.8587517,68.6978656,37.7383799,46.7073883,19.9791413,3.3820022,9.0608161,8.644576,30.1812941,4.1666646,0.4897334,0.4788933,7.54468,4.8784097,44.1947067,16.1051453,29.5060099,68.5533746,37.8565102,46.3834114,19.5383633,3.3666594,9.6188348,8.6555653,31.074655,2.5943396,0.4996296,0.4633414,8.2212823,5.2521035,44.0898601,16.0774059,29.4690615,68.9494602,38.1107079,46.7805581,20.347362,3.4877175,9.3911552,8.7593294,31.2464036,4.5064378,0.538822,0.5045922,8.4873249,5.2930341,42.6743864,16.3177305,29.7107177,69.7585,38.4687053,47.545116,20.3158281,3.3837642,9.3733497,9.3152854,30.5659405,4.9356223 +1823,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6109374,0.5963046,8.9446997,6.4915723,47.2565048,14.1515082,25.9497722,68.7265464,34.3691984,46.3767037,16.2640949,4.9836159,11.5859832,11.1797011,31.6598607,4.30715,0.4796013,0.4722429,8.8474409,6.4355497,46.6435834,13.9303383,26.2157626,69.0155457,34.9976877,46.258362,16.5604887,5.0401643,11.6743227,10.9553949,31.5752825,5.1724534,0.5240459,0.5277195,9.3192842,6.610303,45.9746667,14.0139158,26.7869357,68.6364161,35.0908653,45.8953274,16.643087,5.3904593,11.9331373,10.5733535,31.5922044,5.6201986,0.5058748,0.5435931,9.5469523,6.8515748,45.5150647,13.713118,26.5138927,68.9960513,34.7340774,45.7402968,16.7050318,5.3074279,11.7920493,10.6160937,31.5472737,6.7568089,0.4733179,0.5105943,9.9842256,7.1155327,44.522767,14.3421889,26.2050304,69.7476032,34.4816383,45.3501525,16.6098032,5.5593889,11.9016433,10.4356611,30.498353,7.3123108 +1824,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3846056,0.3693988,7.0034163,4.6120059,44.982613,22.3275024,28.2512315,67.8571429,35.6403941,45.6896552,18.8916256,5.591133,10.2602603,7.8657315,33.8220425,4.1666667,0.2578036,0.2578036,7.0095694,4.3779904,45.031661,21.9761905,28.4507722,67.6399614,35.5453668,46.21139,18.6534749,6.1052124,9.4554455,8.3746283,33.65,3.5947712,0.2810861,0.2810861,6.8009479,4.2417062,44.36721,22.3344293,28.3500238,67.7873152,35.2169766,46.3757749,18.0495947,6.1278016,9.6449136,8.5014409,33.9980545,2.3972603,0.2781513,0.3005628,6.6328992,4.1244573,44.2251462,22.0181298,28.2094595,67.253861,34.8696911,47.0801158,18.5569498,6.0569498,9.2967245,8.7270974,33.8062622,3.1914894,0.3093575,0.3316491,6.6970715,4.1526644,43.5046049,22.8741093,27.4495677,67.0268972,35.0864553,46.8539866,18.8520653,5.8357349,9.6264368,8.78119,33.6734694,2.9220779 +1825,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6406236,0.6672712,9.401911,6.5113821,37.4214368,20.8709658,30.9512649,67.3572377,38.4931733,47.6489674,22.4161939,6.7116695,9.4687919,7.855216,33.167127,3.7439586,0.655647,0.6692242,9.5380608,6.4840418,37.1813108,21.0796342,31.3072393,67.1557263,38.6663566,47.1277654,22.3179498,6.66822,9.6376653,7.7094531,33.1190201,3.6470336,0.6849753,0.6913312,9.6145063,6.7157375,36.7071912,21.1095975,31.66179,67.1863057,38.6499768,47.20472,22.4619739,6.5658109,9.6986574,7.6010576,32.9652532,4.7126185,0.6729588,0.6840682,9.4645758,6.551227,36.727411,21.0081374,31.9412334,67.0553991,38.3800392,46.4872025,22.490988,6.4931833,10.1637897,7.8692865,32.6118962,5.5555329,0.6616899,0.6727335,9.8803357,6.7913123,36.7595479,20.7447717,32.5510238,66.8335534,38.2310843,45.7129227,22.1446512,6.057553,10.1121988,7.8043861,32.1894024,6.418895 +1826,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2827378,1.3406709,20.1407237,15.612287,32.394514,16.7883435,33.7193333,67.2072948,37.89522,48.6331746,23.743498,4.0716226,12.6034513,11.2622409,35.0728065,17.8300505,1.1337399,1.21413,20.1376524,15.3738071,32.304665,17.0851407,33.4626298,67.2948137,37.8937769,48.2511084,23.2241507,3.8533344,12.5693465,10.9169846,35.1242012,17.2938922,1.1516353,1.2252864,20.6962997,16.0033092,32.0597223,17.0488327,33.3704765,66.6689963,37.8179733,49.3411713,23.4358911,3.5666423,12.7404432,10.9167338,35.3569338,17.060931,1.1918645,1.2425528,20.4799648,15.986563,32.2037189,16.9911086,33.1603572,66.8133565,37.8875095,49.3116511,23.5372567,3.3624608,12.4649203,10.3651268,34.741761,16.6037842,1.089328,1.1418656,21.2462089,16.680774,32.3261388,16.8817792,33.5332549,66.80332,38.301934,49.6693361,23.6077478,3.3408462,12.6375953,10.4200745,34.5468243,15.431958 +1827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4796013,0.4722429,8.8474409,6.4355497,46.6435834,13.9303383,26.2157626,69.0155457,34.9976877,46.258362,16.5604887,5.0401643,11.6743227,10.9553949,31.5752825,5.1724534,0.5240459,0.5277195,9.3192842,6.610303,45.9746667,14.0139158,26.7869357,68.6364161,35.0908653,45.8953274,16.643087,5.3904593,11.9331373,10.5733535,31.5922044,5.6201986,0.5058748,0.5435931,9.5469523,6.8515748,45.5150647,13.713118,26.5138927,68.9960513,34.7340774,45.7402968,16.7050318,5.3074279,11.7920493,10.6160937,31.5472737,6.7568089,0.4733179,0.5105943,9.9842256,7.1155327,44.522767,14.3421889,26.2050304,69.7476032,34.4816383,45.3501525,16.6098032,5.5593889,11.9016433,10.4356611,30.498353,7.3123108,0.4142121,0.4563743,9.7227682,6.8402628,43.7428788,14.7696117,26.9342976,69.6468127,35.053967,45.4453066,16.8353285,5.9042255,11.3171223,9.9231522,30.5399657,7.8000312 +1828,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5286575,1.5286575,23.6773683,18.9199452,41.247332,16.6450474,35.8661623,66.5534699,33.284947,44.7076668,21.4422842,2.9526182,12.6951341,9.4126046,37.8409934,22.2825845,1.4073717,1.4073717,24.7495197,20.16448,42.4299255,17.1650651,35.8480274,66.5938737,33.3724001,45.0483423,21.5287738,2.9274698,13.2015811,10.0091864,38.160692,21.9465183,1.4510721,1.4510721,26.3298034,21.6149523,43.3739924,17.3557599,36.8376983,65.9591118,32.6915937,45.3273005,20.7139386,2.8464109,13.7214193,10.5436015,38.2699357,23.888843,1.5733325,1.58791,27.7132696,23.1649833,44.1870646,17.652175,37.4026986,65.5233127,32.6236032,45.7575714,21.1476774,2.8121157,13.4905511,10.4000327,38.7115657,24.3859282,1.6798152,1.6941283,28.6306879,24.3445751,44.6852468,17.7348753,37.0696889,64.7481314,32.2545279,44.7548755,21.0301778,2.7903529,13.565608,10.9799426,39.4694094,25.3446098 +1829,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2578036,0.2578036,7.0095694,4.3779904,45.031661,21.9761905,28.4507722,67.6399614,35.5453668,46.21139,18.6534749,6.1052124,9.4554455,8.3746283,33.65,3.5947712,0.2810861,0.2810861,6.8009479,4.2417062,44.36721,22.3344293,28.3500238,67.7873152,35.2169766,46.3757749,18.0495947,6.1278016,9.6449136,8.5014409,33.9980545,2.3972603,0.2781513,0.3005628,6.6328992,4.1244573,44.2251462,22.0181298,28.2094595,67.253861,34.8696911,47.0801158,18.5569498,6.0569498,9.2967245,8.7270974,33.8062622,3.1914894,0.3093575,0.3316491,6.6970715,4.1526644,43.5046049,22.8741093,27.4495677,67.0268972,35.0864553,46.8539866,18.8520653,5.8357349,9.6264368,8.78119,33.6734694,2.9220779,0.3290088,0.3511229,6.5889629,4.0675547,42.1421663,23.089701,28.1369732,67.2653257,35.8955939,46.7193487,18.75,5.8668582,9.8771267,9.6972564,34.1170825,2.2727273 +1830,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.811997,0.8425954,11.0773433,8.0675945,58.1462224,8.8616119,26.2257509,65.2067029,32.6748626,39.3021346,16.749195,6.3187109,10.2016486,8.7900234,37.1917187,6.4533158,0.8393782,0.8620115,11.3435547,8.2797181,58.6644289,8.7534569,26.3213111,64.9712922,32.1939425,38.8048513,16.579745,6.2779595,10.3550237,8.868832,36.8064985,6.7964113,0.8046391,0.8139355,11.8465342,8.7229302,59.8824241,8.8664151,27.0066556,64.06026,31.5568289,38.7205631,16.3542366,6.2666313,10.4476052,8.555346,36.7195461,6.2089356,0.844518,0.8641032,12.3238227,8.9927332,60.7162596,8.7956876,27.6531398,63.4079218,31.0545804,38.5655451,16.1827613,6.1820857,10.3731098,8.3874079,36.407766,6.1363632,0.9261648,0.9512549,12.6574902,9.16118,61.6708608,8.5043953,27.9695238,62.9735524,30.705477,38.3795307,15.9452023,6.2009997,10.3360646,8.1508887,36.7255416,6.6560505 +1831,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2481921,1.2767432,15.6685241,10.9795765,39.9091391,15.6568036,33.5136501,70.1552268,39.2521183,48.3772244,25.0470485,4.492005,12.5337028,12.5112119,40.5148998,8.9743544,1.3043008,1.332987,15.5083945,11.2173534,39.3596628,15.393576,33.1202825,69.6732977,38.849441,47.4668389,24.5501952,4.5217861,11.1672988,11.1672896,39.7685222,8.7064633,1.4622669,1.5046178,16.3114793,11.7433456,39.7346005,15.7687931,32.9115817,68.9159427,37.0157058,45.7835932,24.9831603,4.5471876,10.9602067,10.1371534,40.1880816,12.3831718,1.503141,1.5342326,16.4020573,12.0251705,39.7948592,15.5641419,33.6669482,69.0415323,37.1449196,46.0686412,24.7432174,4.7364463,10.6277782,9.8246558,40.0749262,11.8534483,1.3561915,1.3663244,16.8711405,12.4603837,39.430355,15.5777851,32.7030759,68.7862487,37.0564091,45.8527942,24.579871,4.7796758,10.4757428,9.4148904,40.9148056,12.3949632 +1832,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4073717,1.4073717,24.7495197,20.16448,42.4299255,17.1650651,35.8480274,66.5938737,33.3724001,45.0483423,21.5287738,2.9274698,13.2015811,10.0091864,38.160692,21.9465183,1.4510721,1.4510721,26.3298034,21.6149523,43.3739924,17.3557599,36.8376983,65.9591118,32.6915937,45.3273005,20.7139386,2.8464109,13.7214193,10.5436015,38.2699357,23.888843,1.5733325,1.58791,27.7132696,23.1649833,44.1870646,17.652175,37.4026986,65.5233127,32.6236032,45.7575714,21.1476774,2.8121157,13.4905511,10.4000327,38.7115657,24.3859282,1.6798152,1.6941283,28.6306879,24.3445751,44.6852468,17.7348753,37.0696889,64.7481314,32.2545279,44.7548755,21.0301778,2.7903529,13.565608,10.9799426,39.4694094,25.3446098,1.6469379,1.6674015,29.7892052,25.6708896,45.72082,17.7768286,36.9562334,64.9372239,32.3188336,45.6627642,21.4040527,2.8866011,13.6052626,11.3128522,39.1516663,25.3223775 +1833,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9233063,0.9619888,12.2303374,8.8680438,26.6321733,21.0190233,36.7900231,68.4882516,41.1503319,49.5553845,24.8278916,4.0304064,10.8012972,10.2612829,35.1005842,8.9674756,0.9708725,1.0091188,12.5726373,9.1424773,26.6401583,20.5442752,36.7140949,68.1507985,41.7781121,48.9189488,24.2247631,3.7126601,10.9066721,10.0107198,34.3783382,9.4086894,0.9024246,0.9654579,12.6185988,8.9590654,25.8133669,20.6491487,36.4357955,68.016177,42.1953101,48.7896405,23.9983166,3.6866947,10.782288,10.4759164,35.1315888,10.7143838,0.8580418,0.9048255,12.4337176,8.9729253,25.7019867,20.4113262,36.0246535,67.6336517,42.0548489,48.3137952,23.8782439,3.6438983,10.3803453,9.9574903,34.5092357,12.78419,0.8844636,0.9222378,12.4781585,8.8963296,26.2368026,20.442375,35.9063243,67.557519,42.0274544,48.6861655,23.7533564,3.5980923,10.1681103,9.9563367,34.7244528,12.2024405 +1834,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8393782,0.8620115,11.3435547,8.2797181,58.6644289,8.7534569,26.3213111,64.9712922,32.1939425,38.8048513,16.579745,6.2779595,10.3550237,8.868832,36.8064985,6.7964113,0.8046391,0.8139355,11.8465342,8.7229302,59.8824241,8.8664151,27.0066556,64.06026,31.5568289,38.7205631,16.3542366,6.2666313,10.4476052,8.555346,36.7195461,6.2089356,0.844518,0.8641032,12.3238227,8.9927332,60.7162596,8.7956876,27.6531398,63.4079218,31.0545804,38.5655451,16.1827613,6.1820857,10.3731098,8.3874079,36.407766,6.1363632,0.9261648,0.9512549,12.6574902,9.16118,61.6708608,8.5043953,27.9695238,62.9735524,30.705477,38.3795307,15.9452023,6.2009997,10.3360646,8.1508887,36.7255416,6.6560505,0.9293416,0.9426723,13.0005322,9.4839203,62.3395717,8.4357765,27.894967,62.7668115,30.2919994,38.3444898,15.746743,6.1040734,10.059453,8.03879,36.6699862,6.8690091 +1835,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5011155,0.4742482,7.8605938,4.8430914,47.2692143,20.8818384,29.6301625,68.256532,35.6765479,41.9870865,19.5333154,9.5832104,8.6994689,6.7821507,37.3218497,4.7142871,0.5149114,0.4880369,8.0712812,4.9266262,46.6795071,20.56686,30.0761726,68.1658398,35.7017293,42.5871662,19.93847,9.6542627,8.500002,6.5781726,37.7014956,4.8611125,0.5044581,0.4774894,8.0137829,4.9880181,46.024414,20.0671355,30.2267297,67.9475896,35.2915189,42.3586584,19.6260294,9.2608974,8.8166394,6.8021217,37.6557894,4.8611125,0.441213,0.4188871,7.895507,4.8890848,45.439974,19.6204337,30.360222,68.1123972,35.1729093,42.6368884,19.4956742,9.0057634,8.5787114,6.5699677,37.055114,5.1388903,0.4438008,0.4272285,7.2564633,4.6435685,45.1333698,19.5470957,30.0392459,67.6619057,35.3378204,42.9352377,20.5074294,8.312304,8.3602178,6.2264174,35.5163124,4.1333344 +1836,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8506907,0.8242427,12.7473881,8.7779399,22.8706655,16.4081903,35.4384922,64.5239286,35.7618783,47.3763658,21.7236241,4.7068541,11.3622269,8.9258005,27.1354202,4.4910126,0.807462,0.7813778,12.8432931,8.7761667,23.6196957,16.1253461,34.7473139,64.9638038,35.2242724,47.0561523,21.102446,4.5319786,11.3570654,8.8231989,27.1965874,4.9418576,0.7011359,0.6813089,13.0073393,9.0668352,24.5578999,16.1409422,34.772931,65.6013592,35.0552891,47.1862807,21.4166185,4.0067662,11.6196398,9.0324882,27.10181,6.149726,0.6832925,0.6927462,13.4636055,9.5605122,25.6488072,16.5197632,34.7824039,65.8396627,34.2517631,47.1486932,21.0129159,4.314314,11.5506995,9.1515587,27.5777546,6.8657439,0.6105298,0.6162673,12.9610373,9.5070391,26.7654386,16.5435778,34.4721474,66.0781748,35.1142206,47.0589057,20.9652209,4.547896,12.4902657,9.5319346,27.7520664,6.8855824 +1837,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6877153,0.6622786,8.368852,5.6502594,28.8798611,10.60967,30.020932,67.2723218,36.9148964,47.4427783,20.4501092,3.7012137,10.785724,9.6797176,29.9056032,3.1437154,0.6579599,0.6387548,8.5738329,5.748971,29.1673558,10.5950529,29.6758576,67.3774844,37.2130812,47.3247309,20.789373,3.6367902,10.8008388,9.926029,30.3608413,3.3762069,0.6293949,0.6214668,8.4036998,5.6157393,29.03201,10.4868598,29.5417639,67.1713096,36.9251882,47.4983515,21.1220665,3.4893165,10.4147971,9.3825211,29.8675895,3.4768223,0.6564141,0.6421825,8.6512001,5.80531,28.5884861,10.4439331,30.3125091,66.7306528,36.2102414,47.3281513,21.3042049,3.6880098,10.4270601,9.060794,29.9501528,5.140159,0.6065117,0.5838064,9.1007412,6.0647503,28.8930791,10.5173611,30.7945749,66.2674597,35.7299231,47.4073254,21.0266691,3.6794856,11.226839,9.1411301,30.2134936,5.5223615 +1838,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.0744813,1.0949001,15.2778958,12.3367626,57.6030407,28.4440709,35.6559594,68.1146638,32.0492728,40.5738928,16.1475888,3.8525095,15.1960248,9.3137295,35.264384,7.0248805,0.9691247,0.9377764,13.5752139,11.3829433,57.009892,27.7777317,35.3189847,68.2045496,33.3054527,39.6812879,17.7013972,4.2785773,14.5484281,10.2006893,34.0672453,8.0509498,1.3524255,1.3212725,14.177863,11.828924,59.0829885,27.0866664,34.7933778,68.0163242,33.3059225,40.0826952,18.4298,4.8760895,12.6261172,8.5858203,33.1629226,7.0830347,1.2258994,1.2258994,14.1247814,11.6984955,57.375303,27.3568039,35.7992903,67.2617129,33.9286914,40.9013875,20.3231838,5.0170623,13.8331844,9.49996,35.6416979,7.2646541,1.0026421,1.0026421,13.2091831,10.9042827,57.1301986,28.2422446,35.0861086,67.6721934,34.5690347,39.5689097,21.4655484,4.5690088,12.8244756,10.5862598,32.7299283,6.5213894 +1839,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6499715,1.6230423,28.9531891,25.063252,44.171896,14.9542998,36.964161,64.4753573,37.7958924,44.8656462,23.1765762,2.8630801,16.3688468,11.5409055,38.3407839,19.4370018,1.7190093,1.6853306,29.0580274,25.2417839,44.8579891,14.86846,36.8024698,65.4021886,38.5032376,44.8968322,22.6610046,2.6613655,16.8499312,11.6331667,38.7442748,19.7643821,1.7736339,1.7688965,29.4102824,25.3896455,45.3819574,14.4723678,37.1461636,64.9338634,38.3569597,44.3177534,21.7475129,2.4681298,17.2686834,12.2144454,39.101311,19.4162281,1.6756001,1.6993682,29.7412688,25.9187087,45.9851167,14.3024701,37.1000967,64.6982885,37.8442578,44.2007645,21.7825473,2.5890943,17.2929866,12.7788235,38.8389947,20.5097087,1.7732977,1.789827,29.9132504,25.880576,47.282032,13.6089046,36.9638888,64.9466832,36.9330727,44.3597741,21.2168739,2.542321,17.2858947,12.641857,39.6759578,21.8899387 +1840,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3407002,1.3629977,20.617754,15.8133555,83.551606,12.8028196,32.8899819,63.2595686,33.4234526,36.0457974,16.696222,4.4006604,14.8951625,12.6875855,41.2833905,14.260667,1.3975905,1.4192287,20.3601437,15.7653063,83.1808187,13.533712,33.2407136,63.5376077,33.5878049,36.7464797,16.9497339,4.8234551,13.8816326,11.8754177,40.2588113,13.5173143,1.4519298,1.4474985,20.7703527,16.0886442,83.4900251,13.4273251,32.9503952,63.6406218,33.3047374,36.1889446,16.9273548,4.8743103,13.8218013,10.9488528,38.5232432,16.9893321,1.4152569,1.4287159,20.7527611,15.9557034,82.9286915,14.1028871,33.3686865,63.7081266,34.0805722,36.5753779,17.3168018,5.8312763,13.2166295,11.270658,37.6220734,18.1386755,1.247849,1.2613738,21.0333758,16.6663391,83.0553821,13.5597103,33.1946771,64.8618919,34.6658346,37.5183588,17.9596769,5.5023859,12.2043126,10.6115811,36.3077663,18.5171276 +1841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.1138071,2.0144865,30.2735469,23.0348791,48.778915,14.1645714,37.9167804,64.8774286,33.7988191,47.6717082,24.5340828,5.2205391,14.7172228,11.8523011,32.9304495,14.1998637,1.9229434,1.8693499,29.5663724,22.778774,47.8007789,14.5107672,38.9170525,65.4114116,34.2012134,48.3966438,25.2562516,5.5678696,15.0364802,11.8551961,33.799816,14.4382051,1.8834169,1.8599515,29.4822755,22.6107466,47.8889806,14.2494735,39.7715767,65.357028,34.1563575,47.8279101,25.9044818,5.2505549,14.7431773,11.8912928,33.5131911,15.261915,1.7387803,1.7614614,29.7773775,23.2601368,47.7530878,14.0502466,39.9761019,65.188614,34.3619688,47.3942191,25.8407618,5.4902815,14.5528268,12.2529158,33.3827758,15.8687088,1.6846283,1.7628632,29.8878518,23.4713399,47.4143207,13.8633696,39.9169194,65.2019547,34.5514702,47.0699775,25.9079036,5.0438837,14.7057283,12.1315756,33.2821543,14.9001806 +1842,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8596572,1.9356585,28.6268515,24.2805275,55.1672286,13.8608758,40.5444364,65.1975181,33.9583091,47.4025218,21.3594094,2.3317028,15.8727385,12.1272673,36.3328291,12.850565,1.9259559,2.0037785,28.7689825,24.327659,55.963369,14.7888178,40.5527075,65.5238357,35.4721106,47.7001573,21.7331623,2.6810023,15.5493097,11.9136977,36.235491,13.2836161,1.9262248,1.9461346,28.7951051,24.328257,56.6874968,15.0265676,40.5187572,64.3833992,35.4972366,46.5874326,21.3107606,3.0326079,15.446678,12.4817023,36.5476369,15.8003086,1.8866753,1.9190777,29.0255802,24.3554393,56.4451577,15.6886739,40.0515929,64.3566382,35.8895451,46.1215613,21.0851729,2.8905307,14.7832076,11.6690982,36.7305326,15.0181394,1.6777474,1.7106552,28.5471706,23.590811,57.363338,15.5583998,39.1729071,64.5950429,35.5666811,45.2033487,20.3530248,3.0936941,14.7602832,12.0406294,36.2970878,16.2065857 +1843,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7190093,1.6853306,29.0580274,25.2417839,44.8579891,14.86846,36.8024698,65.4021886,38.5032376,44.8968322,22.6610046,2.6613655,16.8499312,11.6331667,38.7442748,19.7643821,1.7736339,1.7688965,29.4102824,25.3896455,45.3819574,14.4723678,37.1461636,64.9338634,38.3569597,44.3177534,21.7475129,2.4681298,17.2686834,12.2144454,39.101311,19.4162281,1.6756001,1.6993682,29.7412688,25.9187087,45.9851167,14.3024701,37.1000967,64.6982885,37.8442578,44.2007645,21.7825473,2.5890943,17.2929866,12.7788235,38.8389947,20.5097087,1.7732977,1.789827,29.9132504,25.880576,47.282032,13.6089046,36.9638888,64.9466832,36.9330727,44.3597741,21.2168739,2.542321,17.2858947,12.641857,39.6759578,21.8899387,1.8053842,1.848941,30.268938,26.1489367,48.6798733,13.754403,37.3232798,65.0440382,37.2034226,44.6950586,21.5009685,2.532167,17.6670829,12.60062,39.2678256,22.079421 +1844,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4319761,0.4661987,6.6584704,3.759206,55.8502712,23.1986249,28.5256417,66.1489067,32.7169408,42.5295842,19.0088762,5.6459547,9.8831616,7.7636772,31.1209426,1.6666667,0.4193244,0.4956622,6.6650791,3.8187779,55.6532025,23.7727834,28.0747389,65.6338626,31.9536244,42.076633,17.999053,5.6054851,9.8492044,7.0415919,31.1904815,2.2435897,0.3928474,0.4552809,6.6439885,3.6961418,56.0317508,22.041805,27.8478173,65.038263,31.2246623,41.8054856,17.7622666,5.6956301,9.5859629,7.5293091,31.8636389,2.0588235,0.3114145,0.3721619,6.712145,3.6751725,55.3215116,22.3547153,28.0921051,64.4517479,31.776308,41.2938548,18.1798214,5.7675412,8.826168,7.3225543,31.9909499,2.1472393,0.2966637,0.3471108,6.9772497,3.9588765,54.39561,21.7943119,27.9328377,64.8713427,31.6397684,41.5830724,18.1639734,5.9965083,9.1269865,8.0159454,32.3975102,2.6946108 +1845,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6917989,0.6748406,8.9174831,5.8788049,24.5523645,16.1692293,33.795753,69.3673599,39.8215459,50.3003719,22.1858652,4.3028847,10.7802189,10.8916043,31.7335044,4.1218549,0.7000552,0.6833251,9.1753393,6.0231813,24.2767917,16.2247686,33.6446337,69.4274552,39.7364462,50.122147,22.5257109,4.3724971,10.4587494,10.7351379,31.4616751,4.6874919,0.7373418,0.7206873,9.4084771,6.2128257,24.5288056,16.119838,33.6899982,68.5368718,39.5181187,49.9390762,22.7296131,4.3232459,10.1053002,10.6473537,31.6684024,5.2364812,0.7032214,0.6861803,9.6428666,6.3870495,24.0364421,16.0043504,33.4607627,68.5949766,39.746868,49.4478317,23.250095,4.3747847,9.9174948,10.763888,31.8683311,5.5932165,0.7250444,0.7078626,9.822486,6.6069395,23.5742982,15.9264149,33.6682309,68.9077916,39.5414982,49.1585065,23.0036104,4.2503833,10.0934217,10.6343851,32.5396833,6.4999978 +1846,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9979836,0.9949632,15.9461248,11.1244717,54.3825457,14.2109141,29.8300269,62.0328251,34.4776309,39.4984008,17.5419019,3.9714443,13.7329576,10.088436,39.7633041,12.5859454,1.0574451,1.0544639,15.7984179,10.7912107,55.9678469,13.9050473,29.3752148,62.3530385,33.6823004,39.4369726,17.3825644,3.9455115,13.417824,10.1771195,39.6559432,11.1940329,0.9810203,0.9273823,15.9583138,11.3741853,57.2212727,14.0096613,29.8201653,63.4610782,34.0637815,40.1018035,17.542131,3.654899,13.6103271,11.3003532,37.7366113,8.3108128,0.9601798,0.8817892,16.6076422,12.182624,58.1618913,14.8373493,29.4710239,63.4616534,34.1344139,39.7243481,18.6416968,3.7368739,13.9126276,12.0785131,37.8404405,6.9946648,0.9297888,0.9212655,15.9173613,12.2041758,60.0791764,14.8169776,30.2138479,62.9808645,33.5674072,39.8149344,18.4147984,3.766677,14.4346148,12.1773585,37.7188924,6.7893821 +1847,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2810861,0.2810861,6.8009479,4.2417062,44.36721,22.3344293,28.3500238,67.7873152,35.2169766,46.3757749,18.0495947,6.1278016,9.6449136,8.5014409,33.9980545,2.3972603,0.2781513,0.3005628,6.6328992,4.1244573,44.2251462,22.0181298,28.2094595,67.253861,34.8696911,47.0801158,18.5569498,6.0569498,9.2967245,8.7270974,33.8062622,3.1914894,0.3093575,0.3316491,6.6970715,4.1526644,43.5046049,22.8741093,27.4495677,67.0268972,35.0864553,46.8539866,18.8520653,5.8357349,9.6264368,8.78119,33.6734694,2.9220779,0.3290088,0.3511229,6.5889629,4.0675547,42.1421663,23.089701,28.1369732,67.2653257,35.8955939,46.7193487,18.75,5.8668582,9.8771267,9.6972564,34.1170825,2.2727273,0.3463557,0.3686374,6.6331418,4.1427203,41.9268293,23.1929153,28.1625782,67.8932179,35.7142857,46.007696,18.3020683,5.9403559,9.2857143,9.5714286,34.4476744,1.6778523 +1848,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8039239,1.7202025,26.7014273,21.6160385,50.5587056,17.7273727,41.60776,66.3268004,38.720965,49.0203266,26.8679606,5.0284852,11.2614036,10.9322499,33.114148,22.7603278,1.7653662,1.6801714,25.3203338,20.1604496,50.5680358,17.6283204,42.7768204,65.3700447,39.3653596,49.7578121,27.8701032,4.7950167,12.2034957,11.2072385,33.8403097,21.4258489,1.6529182,1.5492683,24.7590814,19.2745534,50.1759357,17.2693032,44.0599994,66.8574906,40.2686119,50.6851073,27.8875136,5.1653102,12.106246,11.1262675,35.0468395,18.9630289,1.7661502,1.6429451,24.8894845,19.5134833,49.0792637,17.4470845,42.7141467,67.4427122,40.3961339,51.7270454,28.2749602,4.9041692,12.3046497,12.1221016,34.9581059,20.0702095,1.81662,1.7039015,23.8417046,18.8787167,48.4632351,17.48377,42.3006886,67.0674673,40.8581499,52.6859782,28.8780608,4.4323354,11.7384822,11.7191531,33.2560402,21.9394541 +1849,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5303331,0.5297592,9.831466,6.114965,37.7930046,20.2807774,32.3477901,69.5794974,41.5024231,47.3718851,24.6824641,3.3508565,9.786655,9.3488413,31.8480245,4.3333276,0.534458,0.5454175,9.6581539,5.7866626,37.1192844,20.2931484,32.4884828,70.1927212,41.7469745,47.570174,24.821988,3.288648,9.5510584,8.7665225,30.0267046,4.391886,0.4709877,0.4904966,9.4767428,5.8333393,37.5604878,20.0353226,32.5020013,69.5331325,41.32084,47.306465,24.2019451,3.092579,9.4696922,8.5654049,29.3542926,5.4838639,0.4762224,0.4833947,9.4385792,5.9344374,38.6900216,19.4698769,31.6085259,69.6317832,40.7170576,46.8798513,24.2829579,3.0426411,9.9666489,9.5655826,30.7983154,4.2763102,0.4884561,0.5209373,9.5604808,6.1795631,39.3225228,19.0394298,31.5471629,69.8168345,40.1987582,46.2782588,23.558073,3.0982089,9.7107539,9.3956891,29.2672828,4.4520517 +1850,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5240459,0.5277195,9.3192842,6.610303,45.9746667,14.0139158,26.7869357,68.6364161,35.0908653,45.8953274,16.643087,5.3904593,11.9331373,10.5733535,31.5922044,5.6201986,0.5058748,0.5435931,9.5469523,6.8515748,45.5150647,13.713118,26.5138927,68.9960513,34.7340774,45.7402968,16.7050318,5.3074279,11.7920493,10.6160937,31.5472737,6.7568089,0.4733179,0.5105943,9.9842256,7.1155327,44.522767,14.3421889,26.2050304,69.7476032,34.4816383,45.3501525,16.6098032,5.5593889,11.9016433,10.4356611,30.498353,7.3123108,0.4142121,0.4563743,9.7227682,6.8402628,43.7428788,14.7696117,26.9342976,69.6468127,35.053967,45.4453066,16.8353285,5.9042255,11.3171223,9.9231522,30.5399657,7.8000312,0.4569901,0.4985909,9.643853,6.6075707,42.9139187,14.2746512,27.3120484,69.3085939,34.7376712,45.3646114,16.9741987,5.5914088,11.2842752,9.7169956,29.7617924,8.3657913 +1851,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7000552,0.6833251,9.1753393,6.0231813,24.2767917,16.2247686,33.6446337,69.4274552,39.7364462,50.122147,22.5257109,4.3724971,10.4587494,10.7351379,31.4616751,4.6874919,0.7373418,0.7206873,9.4084771,6.2128257,24.5288056,16.119838,33.6899982,68.5368718,39.5181187,49.9390762,22.7296131,4.3232459,10.1053002,10.6473537,31.6684024,5.2364812,0.7032214,0.6861803,9.6428666,6.3870495,24.0364421,16.0043504,33.4607627,68.5949766,39.746868,49.4478317,23.250095,4.3747847,9.9174948,10.763888,31.8683311,5.5932165,0.7250444,0.7078626,9.822486,6.6069395,23.5742982,15.9264149,33.6682309,68.9077916,39.5414982,49.1585065,23.0036104,4.2503833,10.0934217,10.6343851,32.5396833,6.4999978,0.7607962,0.7626652,9.9816933,6.5018366,23.2547902,16.0300685,34.077323,68.4539121,39.0713359,48.8199023,22.9604967,4.2842459,10.1982499,10.5678733,32.6027981,6.7213137 +1852,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5536536,0.6046407,7.6704175,4.9569811,44.7300606,13.8143138,28.9530352,67.9921927,33.4746382,42.3159765,18.2007871,14.4866125,10.2021854,8.5063936,36.7114063,3.2413802,0.5262734,0.5644352,7.8967898,5.0370457,44.5980265,14.0228859,29.5976269,68.2387833,33.8720374,42.552774,18.5554139,14.5316644,9.8680843,8.4563619,36.4645923,3.2324631,0.6161669,0.6213071,8.3110822,5.1735639,44.0189115,13.6648039,29.2724088,68.1087978,33.3085903,42.514849,18.5137715,14.666579,9.7769068,8.4231312,37.1129951,3.4256565,0.6678039,0.6729258,8.3477688,5.2564948,43.7371533,13.7470079,29.7211762,68.4334574,33.7351837,42.9216039,18.5681583,14.6349712,9.626025,8.1926163,37.1417187,3.1069364,0.6541501,0.6409837,8.1596298,5.1649067,43.3076713,13.6226369,29.6284042,68.1021889,33.6230918,43.1254145,18.5600523,14.618449,9.6031582,8.3248379,37.1827759,3.7390029 +1853,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.88067,0.9417422,10.6424601,7.3452636,27.3415566,13.8883744,30.3197221,70.5417815,40.6005628,50.2689705,21.1894531,7.1713443,11.6503907,8.93258,31.4444395,7.4585635,0.7703122,0.8195434,10.6831834,7.2191915,27.1454185,14.2990137,30.1066772,69.9993819,40.4790636,50.1764596,21.7865877,7.4152913,10.9463622,8.8298299,31.0318857,6.0344828,0.8383,0.8873697,10.3579964,7.0036393,27.1685613,14.6963142,29.5743834,70.1087759,41.0820531,49.7008818,21.6922633,7.6171714,10.7387084,9.0015544,32.279587,5.3977273,0.7023897,0.7185981,10.8096881,7.280673,25.8053881,14.4123959,29.5847778,69.4725451,41.6519525,49.5302916,22.0539545,7.0600914,9.9136146,9.003045,31.6489488,4.1906441,0.6470209,0.6630887,11.3333657,7.5272069,26.2045361,14.3184015,30.0170323,68.8398445,41.853924,49.6376787,22.439727,6.6256963,9.3879842,8.536115,31.6600658,3.6938093 +1854,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.766597,0.7774113,10.9675781,6.6330892,49.2378317,10.603526,32.845577,66.6860904,42.0155641,44.2731553,24.4086884,4.6373596,10.2584886,8.7882805,38.2701394,6.2403621,0.7904422,0.7988485,11.3860959,7.0383935,49.9253539,10.6542199,32.7740569,66.5331397,41.4559162,43.7933432,23.7916349,4.6581537,10.3118016,8.6213678,38.684888,5.66714,0.7833402,0.7796799,11.2000251,6.7920186,49.9824517,10.2784063,32.9665646,66.2811921,41.276464,43.5788513,23.6714491,4.6957434,10.5072787,8.5859899,39.6946666,5.9023018,0.7863161,0.7748286,10.9129587,6.6470722,49.5235327,10.46487,33.1708631,66.5450604,41.6056234,43.6178993,23.797725,4.8325327,10.6610287,8.7581842,39.3459015,6.3019356,0.7935846,0.784552,10.9104985,6.7521191,49.4424776,10.9527844,32.9369188,66.5733117,42.193216,44.0072336,23.8459799,4.8563202,11.0356489,8.9894336,38.9591234,6.9877874 +1855,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4052728,2.4407979,40.4312728,35.3032204,73.4019004,11.6328867,35.5748252,60.4012328,25.1545013,37.3154009,17.1347192,1.9491083,16.6709771,12.5608545,44.1118782,27.0798924,2.5868637,2.6344906,39.3893355,34.0899417,74.5321639,11.4866307,34.5465533,59.8700017,24.1885933,36.8634485,16.5062425,1.9663764,17.2127922,13.1331951,43.8707369,26.7912205,2.4555661,2.5152513,38.7605794,33.4325227,75.7811164,11.5887237,34.9396595,60.1683688,24.0651051,37.0253465,16.2003159,1.9708899,17.1204773,12.9554537,45.5223781,26.4349461,2.5939605,2.6550445,38.9949762,33.7012449,75.7640795,11.93455,34.3571718,60.9006755,23.884606,36.5683581,15.8500852,2.1092514,16.9500811,12.952961,43.7325389,24.8832465,2.4793856,2.5908413,38.3383963,33.2861623,76.3155776,12.6181273,35.3164168,61.5817675,23.5849927,36.5305245,15.6165019,2.0644638,16.9993632,12.6445749,43.6681932,24.8268407 +1856,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4551691,0.4716662,8.144727,5.4347862,44.5331331,16.0982035,28.8587517,68.6978656,37.7383799,46.7073883,19.9791413,3.3820022,9.0608161,8.644576,30.1812941,4.1666646,0.4897334,0.4788933,7.54468,4.8784097,44.1947067,16.1051453,29.5060099,68.5533746,37.8565102,46.3834114,19.5383633,3.3666594,9.6188348,8.6555653,31.074655,2.5943396,0.4996296,0.4633414,8.2212823,5.2521035,44.0898601,16.0774059,29.4690615,68.9494602,38.1107079,46.7805581,20.347362,3.4877175,9.3911552,8.7593294,31.2464036,4.5064378,0.538822,0.5045922,8.4873249,5.2930341,42.6743864,16.3177305,29.7107177,69.7585,38.4687053,47.545116,20.3158281,3.3837642,9.3733497,9.3152854,30.5659405,4.9356223,0.6251994,0.5929265,8.9450118,5.7601392,42.3310496,16.1477743,30.5485963,69.8772624,38.4644412,47.1568107,20.8792765,3.5445925,8.9205495,9.4750041,31.6649835,4.2168658 +1857,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6579599,0.6387548,8.5738329,5.748971,29.1673558,10.5950529,29.6758576,67.3774844,37.2130812,47.3247309,20.789373,3.6367902,10.8008388,9.926029,30.3608413,3.3762069,0.6293949,0.6214668,8.4036998,5.6157393,29.03201,10.4868598,29.5417639,67.1713096,36.9251882,47.4983515,21.1220665,3.4893165,10.4147971,9.3825211,29.8675895,3.4768223,0.6564141,0.6421825,8.6512001,5.80531,28.5884861,10.4439331,30.3125091,66.7306528,36.2102414,47.3281513,21.3042049,3.6880098,10.4270601,9.060794,29.9501528,5.140159,0.6065117,0.5838064,9.1007412,6.0647503,28.8930791,10.5173611,30.7945749,66.2674597,35.7299231,47.4073254,21.0266691,3.6794856,11.226839,9.1411301,30.2134936,5.5223615,0.6280522,0.6084975,9.1881175,5.9577552,29.1465746,10.3635133,31.2534842,65.9253321,35.3410987,47.0421248,20.4014707,3.7492679,10.9016108,8.9708838,29.8764915,6.3235294 +1858,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5108595,1.4658959,32.743876,29.0877485,65.4122141,14.0490961,34.626313,62.0669009,30.8341588,40.7011254,16.5123892,2.3378724,16.9627665,12.3824108,43.8385923,17.546114,1.483146,1.4435224,31.967951,28.6428541,66.4983699,13.9394534,34.6886689,62.7758434,29.7147186,40.6942814,16.414034,2.3027514,17.7651281,13.8514,44.2387016,17.4930599,1.5448979,1.5391802,32.910467,29.3209046,67.3681043,13.5205186,34.598231,62.7686427,29.0320726,40.621807,16.0813998,2.4354462,17.5334264,13.8789863,41.7540232,17.9886227,1.6021678,1.5965154,32.3235064,28.6730376,66.1299311,13.7526825,35.1060606,62.9482741,29.0300989,40.6859604,16.530946,2.4779046,17.5112211,14.0943958,41.3099722,18.5753723,1.8692805,1.861944,32.5890317,28.421711,65.9138941,13.8727689,36.1765437,63.5293921,28.8437991,40.5801127,16.8376636,2.480826,17.4522655,14.0450985,40.9581802,18.9750167 +1859,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3043008,1.332987,15.5083945,11.2173534,39.3596628,15.393576,33.1202825,69.6732977,38.849441,47.4668389,24.5501952,4.5217861,11.1672988,11.1672896,39.7685222,8.7064633,1.4622669,1.5046178,16.3114793,11.7433456,39.7346005,15.7687931,32.9115817,68.9159427,37.0157058,45.7835932,24.9831603,4.5471876,10.9602067,10.1371534,40.1880816,12.3831718,1.503141,1.5342326,16.4020573,12.0251705,39.7948592,15.5641419,33.6669482,69.0415323,37.1449196,46.0686412,24.7432174,4.7364463,10.6277782,9.8246558,40.0749262,11.8534483,1.3561915,1.3663244,16.8711405,12.4603837,39.430355,15.5777851,32.7030759,68.7862487,37.0564091,45.8527942,24.579871,4.7796758,10.4757428,9.4148904,40.9148056,12.3949632,1.4147499,1.424757,18.2896079,13.7008163,39.7466676,15.2816066,32.5322058,68.8080575,36.6615173,45.9413932,24.5399466,4.5067362,10.3773191,8.9209792,40.3858415,13.3474689 +1860,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5524807,0.5685647,10.1820719,6.7115571,29.109648,20.5430489,34.7245701,69.0903945,40.079209,47.6181571,23.5463805,4.3249866,11.9031265,10.1403908,37.589352,5.5972071,0.6905362,0.682889,10.9025173,7.2764673,29.7860571,20.4678303,34.4910533,69.2836187,38.8397335,47.3901459,23.4699483,4.1606571,12.5703682,10.8591845,38.4345277,6.4396037,0.6089066,0.59257,10.7983196,7.22246,29.0368958,20.5225913,34.1239895,68.6860913,38.0226742,47.0728744,23.6300533,3.8599481,13.7503396,12.0747024,39.5465821,6.1596078,0.5488636,0.5414765,10.4977604,7.1629596,27.691582,21.1582574,33.9836151,69.3997401,38.0217488,47.6371142,23.7917478,3.9030223,13.3554265,11.7045559,37.5584492,5.9057118,0.6584382,0.6509939,10.5512862,7.279214,27.0635875,21.4968472,32.7834463,69.3294621,37.5712307,46.7600512,22.530736,3.7328126,13.0192945,11.0538334,35.3425413,6.1985776 +1861,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6905362,0.682889,10.9025173,7.2764673,29.7860571,20.4678303,34.4910533,69.2836187,38.8397335,47.3901459,23.4699483,4.1606571,12.5703682,10.8591845,38.4345277,6.4396037,0.6089066,0.59257,10.7983196,7.22246,29.0368958,20.5225913,34.1239895,68.6860913,38.0226742,47.0728744,23.6300533,3.8599481,13.7503396,12.0747024,39.5465821,6.1596078,0.5488636,0.5414765,10.4977604,7.1629596,27.691582,21.1582574,33.9836151,69.3997401,38.0217488,47.6371142,23.7917478,3.9030223,13.3554265,11.7045559,37.5584492,5.9057118,0.6584382,0.6509939,10.5512862,7.279214,27.0635875,21.4968472,32.7834463,69.3294621,37.5712307,46.7600512,22.530736,3.7328126,13.0192945,11.0538334,35.3425413,6.1985776,0.6503117,0.6355792,10.9132304,7.4397764,26.3373852,21.90165,33.016469,68.4085784,37.4173257,48.039705,22.8889812,3.5129242,12.4827022,10.9159813,36.2637977,5.8558506 +1862,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8075077,0.847964,8.6781389,5.1017083,31.7728949,24.9309914,31.1609426,67.0663818,34.6715701,44.786231,17.9875301,8.2551242,10.1802431,8.1325391,31.2753542,1.8749961,0.7966609,0.8395214,8.633729,4.9948756,33.0254626,24.2644802,30.970271,67.1848069,34.8992332,44.806982,17.8169202,8.2166015,10.8240653,8.3551823,32.0436877,1.9067756,0.8905796,0.9332497,8.7201513,5.1706711,33.3046041,24.8238172,31.6333151,67.621126,35.1236654,45.6624729,17.6042081,8.1836627,11.0788653,8.5760508,32.9086072,1.5217358,0.7319771,0.7729638,8.747563,5.2485509,33.8459478,24.4534298,31.5217162,67.5372898,35.4152992,45.6034818,17.8942326,8.4198543,11.3272146,8.9363023,32.0362016,1.7786526,0.6120276,0.6512675,8.7034134,5.4295159,33.0195417,24.8634607,30.940012,67.3743687,35.510518,45.0729066,18.1037265,7.9578549,11.3834254,8.980731,31.5116344,2.123548 +1863,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8462632,1.892056,36.4046888,32.212446,49.1621307,18.4716946,36.1581766,67.1831561,32.2481951,45.3683558,20.5212136,2.7424663,17.2356723,11.8633001,32.6646492,24.5049879,1.6504924,1.6953711,37.4992101,32.9812371,49.147463,18.8714895,37.0610282,67.6825081,31.6385967,46.4262068,20.3635245,2.8033665,14.720962,10.0942716,33.3564795,24.7727615,1.7803289,1.7728825,37.7634316,33.2447976,49.4154883,18.5124072,36.8843696,67.1964934,32.0221213,46.1277931,20.0178,2.9110479,15.1912667,10.5626808,33.7404027,25.8547325,2.0060725,1.9440232,38.5340254,33.8789754,49.5178222,18.210267,36.5473204,66.617825,32.03351,46.2774496,20.1347258,2.9600409,14.8778453,12.1960181,34.9350848,28.6008407,2.1218924,2.0474348,39.3479824,34.3012553,49.3236408,17.7106069,36.2133418,67.0758839,32.5049392,45.7828587,20.3045716,3.1397897,15.6514866,13.2603971,35.5581185,28.0434852 +1864,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5058748,0.5435931,9.5469523,6.8515748,45.5150647,13.713118,26.5138927,68.9960513,34.7340774,45.7402968,16.7050318,5.3074279,11.7920493,10.6160937,31.5472737,6.7568089,0.4733179,0.5105943,9.9842256,7.1155327,44.522767,14.3421889,26.2050304,69.7476032,34.4816383,45.3501525,16.6098032,5.5593889,11.9016433,10.4356611,30.498353,7.3123108,0.4142121,0.4563743,9.7227682,6.8402628,43.7428788,14.7696117,26.9342976,69.6468127,35.053967,45.4453066,16.8353285,5.9042255,11.3171223,9.9231522,30.5399657,7.8000312,0.4569901,0.4985909,9.643853,6.6075707,42.9139187,14.2746512,27.3120484,69.3085939,34.7376712,45.3646114,16.9741987,5.5914088,11.2842752,9.7169956,29.7617924,8.3657913,0.4301381,0.4711755,9.9673861,6.8071921,42.7434387,14.3404023,27.2556341,69.0031181,34.1879699,44.8393284,16.7363451,5.6228335,10.827888,9.1298815,29.2246405,7.6779314 +1865,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5149114,0.4880369,8.0712812,4.9266262,46.6795071,20.56686,30.0761726,68.1658398,35.7017293,42.5871662,19.93847,9.6542627,8.500002,6.5781726,37.7014956,4.8611125,0.5044581,0.4774894,8.0137829,4.9880181,46.024414,20.0671355,30.2267297,67.9475896,35.2915189,42.3586584,19.6260294,9.2608974,8.8166394,6.8021217,37.6557894,4.8611125,0.441213,0.4188871,7.895507,4.8890848,45.439974,19.6204337,30.360222,68.1123972,35.1729093,42.6368884,19.4956742,9.0057634,8.5787114,6.5699677,37.055114,5.1388903,0.4438008,0.4272285,7.2564633,4.6435685,45.1333698,19.5470957,30.0392459,67.6619057,35.3378204,42.9352377,20.5074294,8.312304,8.3602178,6.2264174,35.5163124,4.1333344,0.4471881,0.4311386,7.4048753,4.7221479,44.8470676,19.776221,29.8395837,67.1968481,35.5492132,42.6998302,20.3235444,8.224576,9.0652327,6.5172574,35.3627023,3.7396132 +1866,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.534458,0.5454175,9.6581539,5.7866626,37.1192844,20.2931484,32.4884828,70.1927212,41.7469745,47.570174,24.821988,3.288648,9.5510584,8.7665225,30.0267046,4.391886,0.4709877,0.4904966,9.4767428,5.8333393,37.5604878,20.0353226,32.5020013,69.5331325,41.32084,47.306465,24.2019451,3.092579,9.4696922,8.5654049,29.3542926,5.4838639,0.4762224,0.4833947,9.4385792,5.9344374,38.6900216,19.4698769,31.6085259,69.6317832,40.7170576,46.8798513,24.2829579,3.0426411,9.9666489,9.5655826,30.7983154,4.2763102,0.4884561,0.5209373,9.5604808,6.1795631,39.3225228,19.0394298,31.5471629,69.8168345,40.1987582,46.2782588,23.558073,3.0982089,9.7107539,9.3956891,29.2672828,4.4520517,0.4894453,0.5220768,9.494154,6.3231443,39.3055791,19.183605,31.349996,69.8595467,39.5825153,45.5910991,22.9223501,3.218886,10.0000114,9.5257517,28.9777515,4.8148112 +1867,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3975905,1.4192287,20.3601437,15.7653063,83.1808187,13.533712,33.2407136,63.5376077,33.5878049,36.7464797,16.9497339,4.8234551,13.8816326,11.8754177,40.2588113,13.5173143,1.4519298,1.4474985,20.7703527,16.0886442,83.4900251,13.4273251,32.9503952,63.6406218,33.3047374,36.1889446,16.9273548,4.8743103,13.8218013,10.9488528,38.5232432,16.9893321,1.4152569,1.4287159,20.7527611,15.9557034,82.9286915,14.1028871,33.3686865,63.7081266,34.0805722,36.5753779,17.3168018,5.8312763,13.2166295,11.270658,37.6220734,18.1386755,1.247849,1.2613738,21.0333758,16.6663391,83.0553821,13.5597103,33.1946771,64.8618919,34.6658346,37.5183588,17.9596769,5.5023859,12.2043126,10.6115811,36.3077663,18.5171276,1.2551537,1.2551537,22.0870126,17.4382435,83.0639379,14.8759126,33.3102725,64.4486966,34.8969757,38.1632008,18.1056417,5.5659559,12.7023531,10.6354791,35.3332126,20.6764436 +1868,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0544413,2.0544413,34.4544096,29.9701046,65.4503106,6.0089021,38.5951662,64.7280967,27.265861,40.407855,16.9939577,6.7220544,16.3716814,11.6519174,35.0591716,15.0306748,1.9287136,1.9287136,34.2022117,29.3048973,66.0862355,6.0629921,39.9839744,65.4647436,27.8044872,41.1057692,17.0673077,6.9711538,18.2539683,12.2222222,35.3035144,16.0377358,1.8425566,1.8425566,34.3014129,29.4348509,66.8039539,4.9528302,39.28,64.72,27.12,42.96,16.72,6.32,16.0550459,11.1620795,33.4876543,14.3312102,1.9770086,2.1258181,33.6234177,28.8765823,68.616145,4.4811321,40.1442308,62.900641,26.5224359,43.6698718,15.9455128,5.6891026,16.6158537,13.2621951,33.7962963,12.654321,1.9797583,2.1326635,32.9268293,27.8861789,68.6655405,4.7734628,39.4563427,62.5205931,24.6293245,44.7281713,16.3920923,5.8484349,16.2460568,12.7760252,34.6645367,13.8709677 +1869,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7404136,0.7562743,8.8416938,5.6568962,39.1649479,19.1417966,30.9340409,68.0199171,35.6399864,45.2587331,19.9265967,4.4623779,10.0781799,9.2774118,31.8294658,5.1702526,0.7803585,0.8135959,9.2800108,5.8397529,38.8394383,18.4899124,30.4875103,68.2522221,35.8753261,44.8622888,19.9610953,4.6561551,10.2107766,9.1538796,32.4024886,4.8741473,0.6892175,0.7226213,9.5219251,5.9468145,39.347915,18.0436868,30.8122508,68.0884343,35.4875243,44.3848015,19.5120171,4.8132588,9.6923639,9.0156497,32.4775343,4.7162488,0.6597291,0.6756393,9.5661812,6.0794085,39.0674294,18.0354477,31.52342,67.9287215,35.8052628,44.314605,20.0815401,4.9464488,9.3444468,8.7159655,32.324191,5.4139835,0.6099612,0.5983816,9.3973603,6.1636968,39.0500575,17.9970065,31.2035505,67.7755479,35.6163628,43.8703676,20.2330037,4.8806361,9.950882,8.791515,32.7261992,3.9659231 +1870,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4193244,0.4956622,6.6650791,3.8187779,55.6532025,23.7727834,28.0747389,65.6338626,31.9536244,42.076633,17.999053,5.6054851,9.8492044,7.0415919,31.1904815,2.2435897,0.3928474,0.4552809,6.6439885,3.6961418,56.0317508,22.041805,27.8478173,65.038263,31.2246623,41.8054856,17.7622666,5.6956301,9.5859629,7.5293091,31.8636389,2.0588235,0.3114145,0.3721619,6.712145,3.6751725,55.3215116,22.3547153,28.0921051,64.4517479,31.776308,41.2938548,18.1798214,5.7675412,8.826168,7.3225543,31.9909499,2.1472393,0.2966637,0.3471108,6.9772497,3.9588765,54.39561,21.7943119,27.9328377,64.8713427,31.6397684,41.5830724,18.1639734,5.9965083,9.1269865,8.0159454,32.3975102,2.6946108,0.2858158,0.3360413,6.32884,3.6320147,54.5593467,21.7882974,28.3953274,64.8572616,31.0337364,41.1980946,18.447228,6.4230077,9.1579877,7.8832766,31.5950948,2.6785714 +1871,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4733179,0.5105943,9.9842256,7.1155327,44.522767,14.3421889,26.2050304,69.7476032,34.4816383,45.3501525,16.6098032,5.5593889,11.9016433,10.4356611,30.498353,7.3123108,0.4142121,0.4563743,9.7227682,6.8402628,43.7428788,14.7696117,26.9342976,69.6468127,35.053967,45.4453066,16.8353285,5.9042255,11.3171223,9.9231522,30.5399657,7.8000312,0.4569901,0.4985909,9.643853,6.6075707,42.9139187,14.2746512,27.3120484,69.3085939,34.7376712,45.3646114,16.9741987,5.5914088,11.2842752,9.7169956,29.7617924,8.3657913,0.4301381,0.4711755,9.9673861,6.8071921,42.7434387,14.3404023,27.2556341,69.0031181,34.1879699,44.8393284,16.7363451,5.6228335,10.827888,9.1298815,29.2246405,7.6779314,0.4698225,0.5009795,10.2805042,7.0485045,43.2008591,14.4093108,27.4692457,67.882566,33.9466532,44.7277279,16.3223435,5.6703378,10.1108338,8.9271794,28.6594591,5.8052674 +1872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6293949,0.6214668,8.4036998,5.6157393,29.03201,10.4868598,29.5417639,67.1713096,36.9251882,47.4983515,21.1220665,3.4893165,10.4147971,9.3825211,29.8675895,3.4768223,0.6564141,0.6421825,8.6512001,5.80531,28.5884861,10.4439331,30.3125091,66.7306528,36.2102414,47.3281513,21.3042049,3.6880098,10.4270601,9.060794,29.9501528,5.140159,0.6065117,0.5838064,9.1007412,6.0647503,28.8930791,10.5173611,30.7945749,66.2674597,35.7299231,47.4073254,21.0266691,3.6794856,11.226839,9.1411301,30.2134936,5.5223615,0.6280522,0.6084975,9.1881175,5.9577552,29.1465746,10.3635133,31.2534842,65.9253321,35.3410987,47.0421248,20.4014707,3.7492679,10.9016108,8.9708838,29.8764915,6.3235294,0.5650104,0.5435037,9.3373501,6.1234355,29.4138886,9.8557238,30.9508919,65.8114211,34.4341583,46.7768043,20.1112082,3.7360767,11.2414782,9.2331692,30.2186872,6.4564623 +1873,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4897334,0.4788933,7.54468,4.8784097,44.1947067,16.1051453,29.5060099,68.5533746,37.8565102,46.3834114,19.5383633,3.3666594,9.6188348,8.6555653,31.074655,2.5943396,0.4996296,0.4633414,8.2212823,5.2521035,44.0898601,16.0774059,29.4690615,68.9494602,38.1107079,46.7805581,20.347362,3.4877175,9.3911552,8.7593294,31.2464036,4.5064378,0.538822,0.5045922,8.4873249,5.2930341,42.6743864,16.3177305,29.7107177,69.7585,38.4687053,47.545116,20.3158281,3.3837642,9.3733497,9.3152854,30.5659405,4.9356223,0.6251994,0.5929265,8.9450118,5.7601392,42.3310496,16.1477743,30.5485963,69.8772624,38.4644412,47.1568107,20.8792765,3.5445925,8.9205495,9.4750041,31.6649835,4.2168658,0.6198767,0.5828972,9.0659397,5.7692294,41.8720931,16.1424874,30.5824115,70.0217636,38.5089522,46.7254781,21.616747,3.467859,9.2296585,9.8786424,32.5927646,5.2734375 +1874,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7229131,0.7135159,9.638591,6.1361151,43.3593286,19.2393075,31.0593738,71.3418902,38.9123078,45.6355555,23.3756759,4.5056437,9.9207168,7.933287,34.2879106,7.1722691,0.8341785,0.8184227,10.1757042,6.7151231,43.7160235,19.0680753,30.9396259,71.345986,38.8683626,46.0072807,23.3492221,4.3876921,9.9328693,8.3100006,34.1496765,6.8750529,0.7641453,0.7486156,10.0975846,6.7633499,43.3062216,19.0962905,31.379933,71.7512919,38.8888078,45.9544858,23.7599736,4.3917925,10.1990868,8.6560176,35.3087629,6.2771597,0.8380641,0.8310332,10.3923017,7.0037837,43.5501916,18.8944783,30.868765,71.2827456,38.3306705,45.983079,23.5430454,4.452606,10.5560245,8.4271,35.298874,7.83912,0.8163805,0.7897297,10.3490126,7.0975834,44.9241085,18.8982131,31.2652955,70.1134856,37.6723926,45.809674,22.965658,4.3660235,10.858054,8.7272826,36.5136315,7.056508 +1875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6089066,0.59257,10.7983196,7.22246,29.0368958,20.5225913,34.1239895,68.6860913,38.0226742,47.0728744,23.6300533,3.8599481,13.7503396,12.0747024,39.5465821,6.1596078,0.5488636,0.5414765,10.4977604,7.1629596,27.691582,21.1582574,33.9836151,69.3997401,38.0217488,47.6371142,23.7917478,3.9030223,13.3554265,11.7045559,37.5584492,5.9057118,0.6584382,0.6509939,10.5512862,7.279214,27.0635875,21.4968472,32.7834463,69.3294621,37.5712307,46.7600512,22.530736,3.7328126,13.0192945,11.0538334,35.3425413,6.1985776,0.6503117,0.6355792,10.9132304,7.4397764,26.3373852,21.90165,33.016469,68.4085784,37.4173257,48.039705,22.8889812,3.5129242,12.4827022,10.9159813,36.2637977,5.8558506,0.784256,0.7554318,10.9610942,7.8689143,25.7760495,21.981087,32.3904879,68.7374789,37.8748529,48.6985666,23.695856,3.7687515,13.3013375,11.2696101,36.0187639,4.7008467 +1876,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4709877,0.4904966,9.4767428,5.8333393,37.5604878,20.0353226,32.5020013,69.5331325,41.32084,47.306465,24.2019451,3.092579,9.4696922,8.5654049,29.3542926,5.4838639,0.4762224,0.4833947,9.4385792,5.9344374,38.6900216,19.4698769,31.6085259,69.6317832,40.7170576,46.8798513,24.2829579,3.0426411,9.9666489,9.5655826,30.7983154,4.2763102,0.4884561,0.5209373,9.5604808,6.1795631,39.3225228,19.0394298,31.5471629,69.8168345,40.1987582,46.2782588,23.558073,3.0982089,9.7107539,9.3956891,29.2672828,4.4520517,0.4894453,0.5220768,9.494154,6.3231443,39.3055791,19.183605,31.349996,69.8595467,39.5825153,45.5910991,22.9223501,3.218886,10.0000114,9.5257517,28.9777515,4.8148112,0.4851125,0.5282687,9.2824693,6.2452579,38.6573413,19.3629472,31.0757979,70.4947076,39.6348616,46.4271657,23.0270753,3.2783684,9.7590452,9.364945,28.8898006,4.887218 +1877,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7653662,1.6801714,25.3203338,20.1604496,50.5680358,17.6283204,42.7768204,65.3700447,39.3653596,49.7578121,27.8701032,4.7950167,12.2034957,11.2072385,33.8403097,21.4258489,1.6529182,1.5492683,24.7590814,19.2745534,50.1759357,17.2693032,44.0599994,66.8574906,40.2686119,50.6851073,27.8875136,5.1653102,12.106246,11.1262675,35.0468395,18.9630289,1.7661502,1.6429451,24.8894845,19.5134833,49.0792637,17.4470845,42.7141467,67.4427122,40.3961339,51.7270454,28.2749602,4.9041692,12.3046497,12.1221016,34.9581059,20.0702095,1.81662,1.7039015,23.8417046,18.8787167,48.4632351,17.48377,42.3006886,67.0674673,40.8581499,52.6859782,28.8780608,4.4323354,11.7384822,11.7191531,33.2560402,21.9394541,1.6702177,1.5488101,23.3072411,18.0526975,48.4626691,16.5135643,42.8228213,66.4459126,41.0999118,53.4763573,29.1635369,4.3388215,12.2762365,11.5386969,31.970909,21.0713719 +1878,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4142121,0.4563743,9.7227682,6.8402628,43.7428788,14.7696117,26.9342976,69.6468127,35.053967,45.4453066,16.8353285,5.9042255,11.3171223,9.9231522,30.5399657,7.8000312,0.4569901,0.4985909,9.643853,6.6075707,42.9139187,14.2746512,27.3120484,69.3085939,34.7376712,45.3646114,16.9741987,5.5914088,11.2842752,9.7169956,29.7617924,8.3657913,0.4301381,0.4711755,9.9673861,6.8071921,42.7434387,14.3404023,27.2556341,69.0031181,34.1879699,44.8393284,16.7363451,5.6228335,10.827888,9.1298815,29.2246405,7.6779314,0.4698225,0.5009795,10.2805042,7.0485045,43.2008591,14.4093108,27.4692457,67.882566,33.9466532,44.7277279,16.3223435,5.6703378,10.1108338,8.9271794,28.6594591,5.8052674,0.4469496,0.468652,10.124374,7.0880963,42.8202483,14.4500545,27.3198659,68.0402764,34.2134568,44.7303841,16.294763,5.4021288,10.1202718,8.8848998,28.6261049,5.4924471 +1879,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.807462,0.7813778,12.8432931,8.7761667,23.6196957,16.1253461,34.7473139,64.9638038,35.2242724,47.0561523,21.102446,4.5319786,11.3570654,8.8231989,27.1965874,4.9418576,0.7011359,0.6813089,13.0073393,9.0668352,24.5578999,16.1409422,34.772931,65.6013592,35.0552891,47.1862807,21.4166185,4.0067662,11.6196398,9.0324882,27.10181,6.149726,0.6832925,0.6927462,13.4636055,9.5605122,25.6488072,16.5197632,34.7824039,65.8396627,34.2517631,47.1486932,21.0129159,4.314314,11.5506995,9.1515587,27.5777546,6.8657439,0.6105298,0.6162673,12.9610373,9.5070391,26.7654386,16.5435778,34.4721474,66.0781748,35.1142206,47.0589057,20.9652209,4.547896,12.4902657,9.5319346,27.7520664,6.8855824,0.6719893,0.6670497,12.3403607,9.4439693,27.8422679,16.6259742,34.6097926,66.4784398,35.274917,46.6545989,20.929696,4.5850253,11.9245919,9.2330608,27.3730002,7.4335357 +1880,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.655647,0.6692242,9.5380608,6.4840418,37.1813108,21.0796342,31.3072393,67.1557263,38.6663566,47.1277654,22.3179498,6.66822,9.6376653,7.7094531,33.1190201,3.6470336,0.6849753,0.6913312,9.6145063,6.7157375,36.7071912,21.1095975,31.66179,67.1863057,38.6499768,47.20472,22.4619739,6.5658109,9.6986574,7.6010576,32.9652532,4.7126185,0.6729588,0.6840682,9.4645758,6.551227,36.727411,21.0081374,31.9412334,67.0553991,38.3800392,46.4872025,22.490988,6.4931833,10.1637897,7.8692865,32.6118962,5.5555329,0.6616899,0.6727335,9.8803357,6.7913123,36.7595479,20.7447717,32.5510238,66.8335534,38.2310843,45.7129227,22.1446512,6.057553,10.1121988,7.8043861,32.1894024,6.418895,0.7023884,0.7316838,10.0620317,6.8977793,37.0972709,20.8322898,32.338531,66.390116,38.4123684,45.0703403,22.2996974,6.1564521,10.0362326,7.9602187,32.5419329,6.9937146 +1881,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6849753,0.6913312,9.6145063,6.7157375,36.7071912,21.1095975,31.66179,67.1863057,38.6499768,47.20472,22.4619739,6.5658109,9.6986574,7.6010576,32.9652532,4.7126185,0.6729588,0.6840682,9.4645758,6.551227,36.727411,21.0081374,31.9412334,67.0553991,38.3800392,46.4872025,22.490988,6.4931833,10.1637897,7.8692865,32.6118962,5.5555329,0.6616899,0.6727335,9.8803357,6.7913123,36.7595479,20.7447717,32.5510238,66.8335534,38.2310843,45.7129227,22.1446512,6.057553,10.1121988,7.8043861,32.1894024,6.418895,0.7023884,0.7316838,10.0620317,6.8977793,37.0972709,20.8322898,32.338531,66.390116,38.4123684,45.0703403,22.2996974,6.1564521,10.0362326,7.9602187,32.5419329,6.9937146,0.7407645,0.7746517,10.0029859,6.8851742,37.0661522,20.7196087,32.5117027,66.329449,37.9827334,45.0927607,22.3417581,6.0973309,10.1735248,8.1763128,33.2997302,7.314387 +1882,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6529182,1.5492683,24.7590814,19.2745534,50.1759357,17.2693032,44.0599994,66.8574906,40.2686119,50.6851073,27.8875136,5.1653102,12.106246,11.1262675,35.0468395,18.9630289,1.7661502,1.6429451,24.8894845,19.5134833,49.0792637,17.4470845,42.7141467,67.4427122,40.3961339,51.7270454,28.2749602,4.9041692,12.3046497,12.1221016,34.9581059,20.0702095,1.81662,1.7039015,23.8417046,18.8787167,48.4632351,17.48377,42.3006886,67.0674673,40.8581499,52.6859782,28.8780608,4.4323354,11.7384822,11.7191531,33.2560402,21.9394541,1.6702177,1.5488101,23.3072411,18.0526975,48.4626691,16.5135643,42.8228213,66.4459126,41.0999118,53.4763573,29.1635369,4.3388215,12.2762365,11.5386969,31.970909,21.0713719,1.6404052,1.5721104,23.2199825,18.3658248,47.8690969,15.8268263,43.4152916,66.0551143,41.541466,52.6456817,28.3941956,3.4592002,12.1922921,11.9867663,31.62478,21.0288795 +1883,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.9691247,0.9377764,13.5752139,11.3829433,57.009892,27.7777317,35.3189847,68.2045496,33.3054527,39.6812879,17.7013972,4.2785773,14.5484281,10.2006893,34.0672453,8.0509498,1.3524255,1.3212725,14.177863,11.828924,59.0829885,27.0866664,34.7933778,68.0163242,33.3059225,40.0826952,18.4298,4.8760895,12.6261172,8.5858203,33.1629226,7.0830347,1.2258994,1.2258994,14.1247814,11.6984955,57.375303,27.3568039,35.7992903,67.2617129,33.9286914,40.9013875,20.3231838,5.0170623,13.8331844,9.49996,35.6416979,7.2646541,1.0026421,1.0026421,13.2091831,10.9042827,57.1301986,28.2422446,35.0861086,67.6721934,34.5690347,39.5689097,21.4655484,4.5690088,12.8244756,10.5862598,32.7299283,6.5213894,1.0709696,1.0709696,12.611752,10.1073445,54.5853138,28.3619686,35.6391912,69.4393121,36.865209,41.5937092,22.1541344,5.3415529,12.1751384,9.6090672,32.5160582,6.8803699 +1884,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9259559,2.0037785,28.7689825,24.327659,55.963369,14.7888178,40.5527075,65.5238357,35.4721106,47.7001573,21.7331623,2.6810023,15.5493097,11.9136977,36.235491,13.2836161,1.9262248,1.9461346,28.7951051,24.328257,56.6874968,15.0265676,40.5187572,64.3833992,35.4972366,46.5874326,21.3107606,3.0326079,15.446678,12.4817023,36.5476369,15.8003086,1.8866753,1.9190777,29.0255802,24.3554393,56.4451577,15.6886739,40.0515929,64.3566382,35.8895451,46.1215613,21.0851729,2.8905307,14.7832076,11.6690982,36.7305326,15.0181394,1.6777474,1.7106552,28.5471706,23.590811,57.363338,15.5583998,39.1729071,64.5950429,35.5666811,45.2033487,20.3530248,3.0936941,14.7602832,12.0406294,36.2970878,16.2065857,1.6482599,1.6913309,27.9271216,23.0164544,57.398022,16.2669928,39.2261481,64.3946742,36.3114398,45.7296483,20.8505039,3.5190344,14.9564148,12.619889,35.1380168,17.3343245 +1885,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4569901,0.4985909,9.643853,6.6075707,42.9139187,14.2746512,27.3120484,69.3085939,34.7376712,45.3646114,16.9741987,5.5914088,11.2842752,9.7169956,29.7617924,8.3657913,0.4301381,0.4711755,9.9673861,6.8071921,42.7434387,14.3404023,27.2556341,69.0031181,34.1879699,44.8393284,16.7363451,5.6228335,10.827888,9.1298815,29.2246405,7.6779314,0.4698225,0.5009795,10.2805042,7.0485045,43.2008591,14.4093108,27.4692457,67.882566,33.9466532,44.7277279,16.3223435,5.6703378,10.1108338,8.9271794,28.6594591,5.8052674,0.4469496,0.468652,10.124374,7.0880963,42.8202483,14.4500545,27.3198659,68.0402764,34.2134568,44.7303841,16.294763,5.4021288,10.1202718,8.8848998,28.6261049,5.4924471,0.4540363,0.4551137,10.1680494,7.1914362,42.8287138,14.2189594,27.5564052,66.9622978,34.3275136,44.3458969,16.2022545,5.5619607,10.5555915,8.9580138,28.6512643,4.9019608 +1886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5868637,2.6344906,39.3893355,34.0899417,74.5321639,11.4866307,34.5465533,59.8700017,24.1885933,36.8634485,16.5062425,1.9663764,17.2127922,13.1331951,43.8707369,26.7912205,2.4555661,2.5152513,38.7605794,33.4325227,75.7811164,11.5887237,34.9396595,60.1683688,24.0651051,37.0253465,16.2003159,1.9708899,17.1204773,12.9554537,45.5223781,26.4349461,2.5939605,2.6550445,38.9949762,33.7012449,75.7640795,11.93455,34.3571718,60.9006755,23.884606,36.5683581,15.8500852,2.1092514,16.9500811,12.952961,43.7325389,24.8832465,2.4793856,2.5908413,38.3383963,33.2861623,76.3155776,12.6181273,35.3164168,61.5817675,23.5849927,36.5305245,15.6165019,2.0644638,16.9993632,12.6445749,43.6681932,24.8268407,2.5919635,2.7065826,38.1931238,32.8926875,76.4644594,13.0421951,34.8681422,62.1439718,23.0549991,36.636344,15.1685418,1.9045234,16.8026117,13.4423705,43.4202578,24.7971941 +1887,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7661502,1.6429451,24.8894845,19.5134833,49.0792637,17.4470845,42.7141467,67.4427122,40.3961339,51.7270454,28.2749602,4.9041692,12.3046497,12.1221016,34.9581059,20.0702095,1.81662,1.7039015,23.8417046,18.8787167,48.4632351,17.48377,42.3006886,67.0674673,40.8581499,52.6859782,28.8780608,4.4323354,11.7384822,11.7191531,33.2560402,21.9394541,1.6702177,1.5488101,23.3072411,18.0526975,48.4626691,16.5135643,42.8228213,66.4459126,41.0999118,53.4763573,29.1635369,4.3388215,12.2762365,11.5386969,31.970909,21.0713719,1.6404052,1.5721104,23.2199825,18.3658248,47.8690969,15.8268263,43.4152916,66.0551143,41.541466,52.6456817,28.3941956,3.4592002,12.1922921,11.9867663,31.62478,21.0288795,1.3865766,1.476937,23.4037162,18.5977829,46.5825654,15.2302312,44.5719589,66.5964705,41.443551,52.7926917,28.0685285,3.5144655,12.0661332,10.7943101,30.8970971,17.8814028 +1888,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6504924,1.6953711,37.4992101,32.9812371,49.147463,18.8714895,37.0610282,67.6825081,31.6385967,46.4262068,20.3635245,2.8033665,14.720962,10.0942716,33.3564795,24.7727615,1.7803289,1.7728825,37.7634316,33.2447976,49.4154883,18.5124072,36.8843696,67.1964934,32.0221213,46.1277931,20.0178,2.9110479,15.1912667,10.5626808,33.7404027,25.8547325,2.0060725,1.9440232,38.5340254,33.8789754,49.5178222,18.210267,36.5473204,66.617825,32.03351,46.2774496,20.1347258,2.9600409,14.8778453,12.1960181,34.9350848,28.6008407,2.1218924,2.0474348,39.3479824,34.3012553,49.3236408,17.7106069,36.2133418,67.0758839,32.5049392,45.7828587,20.3045716,3.1397897,15.6514866,13.2603971,35.5581185,28.0434852,2.3567031,2.2809765,39.9218465,34.5990911,48.6155431,18.1068646,36.5601556,66.7993543,32.4059494,46.0288791,19.9446807,3.3901865,15.7640514,12.5980812,34.72096,26.3485979 +1889,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2781513,0.3005628,6.6328992,4.1244573,44.2251462,22.0181298,28.2094595,67.253861,34.8696911,47.0801158,18.5569498,6.0569498,9.2967245,8.7270974,33.8062622,3.1914894,0.3093575,0.3316491,6.6970715,4.1526644,43.5046049,22.8741093,27.4495677,67.0268972,35.0864553,46.8539866,18.8520653,5.8357349,9.6264368,8.78119,33.6734694,2.9220779,0.3290088,0.3511229,6.5889629,4.0675547,42.1421663,23.089701,28.1369732,67.2653257,35.8955939,46.7193487,18.75,5.8668582,9.8771267,9.6972564,34.1170825,2.2727273,0.3463557,0.3686374,6.6331418,4.1427203,41.9268293,23.1929153,28.1625782,67.8932179,35.7142857,46.007696,18.3020683,5.9403559,9.2857143,9.5714286,34.4476744,1.6778523,0.3819133,0.4043348,6.4680233,3.997093,42.0371275,23.7397984,29.3053546,68.9097926,36.0588519,46.1890979,18.6444766,6.6811384,9.5615672,9.7572362,34.1706161,1.8248175 +1890,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4510721,1.4510721,26.3298034,21.6149523,43.3739924,17.3557599,36.8376983,65.9591118,32.6915937,45.3273005,20.7139386,2.8464109,13.7214193,10.5436015,38.2699357,23.888843,1.5733325,1.58791,27.7132696,23.1649833,44.1870646,17.652175,37.4026986,65.5233127,32.6236032,45.7575714,21.1476774,2.8121157,13.4905511,10.4000327,38.7115657,24.3859282,1.6798152,1.6941283,28.6306879,24.3445751,44.6852468,17.7348753,37.0696889,64.7481314,32.2545279,44.7548755,21.0301778,2.7903529,13.565608,10.9799426,39.4694094,25.3446098,1.6469379,1.6674015,29.7892052,25.6708896,45.72082,17.7768286,36.9562334,64.9372239,32.3188336,45.6627642,21.4040527,2.8866011,13.6052626,11.3128522,39.1516663,25.3223775,1.6733874,1.7118996,30.6019524,26.6474879,47.6532452,17.5453817,36.1565957,64.9467586,31.9909484,44.6711042,21.2100729,2.8944171,13.2230505,11.0651401,38.5029378,25.6755 +1891,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5262734,0.5644352,7.8967898,5.0370457,44.5980265,14.0228859,29.5976269,68.2387833,33.8720374,42.552774,18.5554139,14.5316644,9.8680843,8.4563619,36.4645923,3.2324631,0.6161669,0.6213071,8.3110822,5.1735639,44.0189115,13.6648039,29.2724088,68.1087978,33.3085903,42.514849,18.5137715,14.666579,9.7769068,8.4231312,37.1129951,3.4256565,0.6678039,0.6729258,8.3477688,5.2564948,43.7371533,13.7470079,29.7211762,68.4334574,33.7351837,42.9216039,18.5681583,14.6349712,9.626025,8.1926163,37.1417187,3.1069364,0.6541501,0.6409837,8.1596298,5.1649067,43.3076713,13.6226369,29.6284042,68.1021889,33.6230918,43.1254145,18.5600523,14.618449,9.6031582,8.3248379,37.1827759,3.7390029,0.6655942,0.6625767,8.3366141,5.4112567,42.8542685,13.8697061,29.6240329,68.022874,33.4100166,42.6646487,18.660442,14.6772715,9.6617791,8.3104942,37.1926756,3.4156977 +1892,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4762224,0.4833947,9.4385792,5.9344374,38.6900216,19.4698769,31.6085259,69.6317832,40.7170576,46.8798513,24.2829579,3.0426411,9.9666489,9.5655826,30.7983154,4.2763102,0.4884561,0.5209373,9.5604808,6.1795631,39.3225228,19.0394298,31.5471629,69.8168345,40.1987582,46.2782588,23.558073,3.0982089,9.7107539,9.3956891,29.2672828,4.4520517,0.4894453,0.5220768,9.494154,6.3231443,39.3055791,19.183605,31.349996,69.8595467,39.5825153,45.5910991,22.9223501,3.218886,10.0000114,9.5257517,28.9777515,4.8148112,0.4851125,0.5282687,9.2824693,6.2452579,38.6573413,19.3629472,31.0757979,70.4947076,39.6348616,46.4271657,23.0270753,3.2783684,9.7590452,9.364945,28.8898006,4.887218,0.4929315,0.5541885,8.7362064,5.9573655,37.891584,19.4251586,30.5806296,70.9494007,39.6430006,47.0184289,22.8913138,3.7858035,9.5333866,9.1532177,29.0178637,4.0740741 +1893,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7966609,0.8395214,8.633729,4.9948756,33.0254626,24.2644802,30.970271,67.1848069,34.8992332,44.806982,17.8169202,8.2166015,10.8240653,8.3551823,32.0436877,1.9067756,0.8905796,0.9332497,8.7201513,5.1706711,33.3046041,24.8238172,31.6333151,67.621126,35.1236654,45.6624729,17.6042081,8.1836627,11.0788653,8.5760508,32.9086072,1.5217358,0.7319771,0.7729638,8.747563,5.2485509,33.8459478,24.4534298,31.5217162,67.5372898,35.4152992,45.6034818,17.8942326,8.4198543,11.3272146,8.9363023,32.0362016,1.7786526,0.6120276,0.6512675,8.7034134,5.4295159,33.0195417,24.8634607,30.940012,67.3743687,35.510518,45.0729066,18.1037265,7.9578549,11.3834254,8.980731,31.5116344,2.123548,0.5451122,0.608626,8.9348853,5.4058589,33.4910545,24.3480296,30.3616909,67.1734783,34.7471157,45.1184256,17.9097361,7.7304712,11.9353079,9.8776426,32.0356161,2.398524 +1894,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.81662,1.7039015,23.8417046,18.8787167,48.4632351,17.48377,42.3006886,67.0674673,40.8581499,52.6859782,28.8780608,4.4323354,11.7384822,11.7191531,33.2560402,21.9394541,1.6702177,1.5488101,23.3072411,18.0526975,48.4626691,16.5135643,42.8228213,66.4459126,41.0999118,53.4763573,29.1635369,4.3388215,12.2762365,11.5386969,31.970909,21.0713719,1.6404052,1.5721104,23.2199825,18.3658248,47.8690969,15.8268263,43.4152916,66.0551143,41.541466,52.6456817,28.3941956,3.4592002,12.1922921,11.9867663,31.62478,21.0288795,1.3865766,1.476937,23.4037162,18.5977829,46.5825654,15.2302312,44.5719589,66.5964705,41.443551,52.7926917,28.0685285,3.5144655,12.0661332,10.7943101,30.8970971,17.8814028,1.5356911,1.6275004,23.6641412,18.5829795,45.3773263,15.1607029,43.6537114,67.4570434,41.1597181,52.1099575,27.7145887,4.0954394,11.1326515,9.8214955,30.2255563,18.0142085 +1895,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7803289,1.7728825,37.7634316,33.2447976,49.4154883,18.5124072,36.8843696,67.1964934,32.0221213,46.1277931,20.0178,2.9110479,15.1912667,10.5626808,33.7404027,25.8547325,2.0060725,1.9440232,38.5340254,33.8789754,49.5178222,18.210267,36.5473204,66.617825,32.03351,46.2774496,20.1347258,2.9600409,14.8778453,12.1960181,34.9350848,28.6008407,2.1218924,2.0474348,39.3479824,34.3012553,49.3236408,17.7106069,36.2133418,67.0758839,32.5049392,45.7828587,20.3045716,3.1397897,15.6514866,13.2603971,35.5581185,28.0434852,2.3567031,2.2809765,39.9218465,34.5990911,48.6155431,18.1068646,36.5601556,66.7993543,32.4059494,46.0288791,19.9446807,3.3901865,15.7640514,12.5980812,34.72096,26.3485979,2.4712328,2.3951692,40.1590297,34.8206455,47.9096848,18.0177681,37.3346067,67.0269351,32.9174577,46.4139817,20.4584492,3.6498976,15.4168334,13.055147,34.152491,26.6807031 +1896,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4301381,0.4711755,9.9673861,6.8071921,42.7434387,14.3404023,27.2556341,69.0031181,34.1879699,44.8393284,16.7363451,5.6228335,10.827888,9.1298815,29.2246405,7.6779314,0.4698225,0.5009795,10.2805042,7.0485045,43.2008591,14.4093108,27.4692457,67.882566,33.9466532,44.7277279,16.3223435,5.6703378,10.1108338,8.9271794,28.6594591,5.8052674,0.4469496,0.468652,10.124374,7.0880963,42.8202483,14.4500545,27.3198659,68.0402764,34.2134568,44.7303841,16.294763,5.4021288,10.1202718,8.8848998,28.6261049,5.4924471,0.4540363,0.4551137,10.1680494,7.1914362,42.8287138,14.2189594,27.5564052,66.9622978,34.3275136,44.3458969,16.2022545,5.5619607,10.5555915,8.9580138,28.6512643,4.9019608,0.4884517,0.4945817,10.6485686,7.7080583,43.6362548,13.7008764,28.8452331,65.9180838,33.0521143,44.401802,16.3343295,5.1818646,11.1091728,9.1948393,29.4750679,7.1687422 +1897,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4996296,0.4633414,8.2212823,5.2521035,44.0898601,16.0774059,29.4690615,68.9494602,38.1107079,46.7805581,20.347362,3.4877175,9.3911552,8.7593294,31.2464036,4.5064378,0.538822,0.5045922,8.4873249,5.2930341,42.6743864,16.3177305,29.7107177,69.7585,38.4687053,47.545116,20.3158281,3.3837642,9.3733497,9.3152854,30.5659405,4.9356223,0.6251994,0.5929265,8.9450118,5.7601392,42.3310496,16.1477743,30.5485963,69.8772624,38.4644412,47.1568107,20.8792765,3.5445925,8.9205495,9.4750041,31.6649835,4.2168658,0.6198767,0.5828972,9.0659397,5.7692294,41.8720931,16.1424874,30.5824115,70.0217636,38.5089522,46.7254781,21.616747,3.467859,9.2296585,9.8786424,32.5927646,5.2734375,0.6141676,0.5842043,9.007061,5.7959428,41.5540427,16.1176764,30.3921575,70.3229604,38.9042759,46.6089997,21.7185861,3.5178779,9.0846395,9.5161315,31.7338792,5.5956679 +1898,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4555661,2.5152513,38.7605794,33.4325227,75.7811164,11.5887237,34.9396595,60.1683688,24.0651051,37.0253465,16.2003159,1.9708899,17.1204773,12.9554537,45.5223781,26.4349461,2.5939605,2.6550445,38.9949762,33.7012449,75.7640795,11.93455,34.3571718,60.9006755,23.884606,36.5683581,15.8500852,2.1092514,16.9500811,12.952961,43.7325389,24.8832465,2.4793856,2.5908413,38.3383963,33.2861623,76.3155776,12.6181273,35.3164168,61.5817675,23.5849927,36.5305245,15.6165019,2.0644638,16.9993632,12.6445749,43.6681932,24.8268407,2.5919635,2.7065826,38.1931238,32.8926875,76.4644594,13.0421951,34.8681422,62.1439718,23.0549991,36.636344,15.1685418,1.9045234,16.8026117,13.4423705,43.4202578,24.7971941,2.4426724,2.545026,36.3506252,31.5211833,75.2430046,13.2891296,34.7804171,61.6604901,22.2293388,36.3788855,14.6593527,1.8362935,17.2212002,13.0756217,42.4993858,24.799135 +1899,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0019993,1.9413286,28.5486828,23.9506751,42.6712479,18.0383667,42.8478381,65.8033335,37.4337475,48.573405,24.6132482,3.6849913,12.2862029,9.0681995,32.1577071,20.0976964,1.8822465,1.8320577,28.2025469,23.955157,42.7655357,17.6065691,42.9314262,66.2305335,37.5624333,48.2613927,25.2858263,3.6689146,12.4468911,9.3084307,32.8674155,20.2180639,1.8888304,1.8378731,28.0492749,23.841006,43.0284348,18.2052048,42.299923,66.3849819,36.3816158,48.0754812,25.1935857,3.9778623,12.619179,8.6019654,32.7810214,20.0358811,1.9630776,1.9743894,28.0281436,24.0012543,43.2102943,18.5510138,41.7030022,66.939572,36.6215171,48.2017184,25.6558848,3.903628,13.3749563,8.9418206,33.1014541,22.5384744,2.1197044,2.1140809,28.9039738,24.9195444,43.3137067,18.2928888,42.2547768,66.3348548,35.3980816,48.7158055,24.9967912,3.9895588,13.650957,9.5368894,32.099834,24.5447693 +1900,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7703122,0.8195434,10.6831834,7.2191915,27.1454185,14.2990137,30.1066772,69.9993819,40.4790636,50.1764596,21.7865877,7.4152913,10.9463622,8.8298299,31.0318857,6.0344828,0.8383,0.8873697,10.3579964,7.0036393,27.1685613,14.6963142,29.5743834,70.1087759,41.0820531,49.7008818,21.6922633,7.6171714,10.7387084,9.0015544,32.279587,5.3977273,0.7023897,0.7185981,10.8096881,7.280673,25.8053881,14.4123959,29.5847778,69.4725451,41.6519525,49.5302916,22.0539545,7.0600914,9.9136146,9.003045,31.6489488,4.1906441,0.6470209,0.6630887,11.3333657,7.5272069,26.2045361,14.3184015,30.0170323,68.8398445,41.853924,49.6376787,22.439727,6.6256963,9.3879842,8.536115,31.6600658,3.6938093,0.8224932,0.8333304,11.1143362,7.3694197,26.156438,14.160975,30.0519954,69.1105244,41.6229242,48.9382454,22.3870379,6.7067167,10.068194,8.5999499,32.8032209,3.6938093 +1901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5634137,0.5634137,9.181296,6.5872138,72.559432,11.8315211,27.2334185,68.427888,30.7045275,44.3340187,14.982126,4.9259482,11.5346523,10.1686498,33.5160226,4.0187998,0.5422784,0.5256343,9.0548156,6.6119214,72.7540253,11.3361928,26.9889453,68.1527964,30.5126532,44.6077251,15.3497029,4.9920161,11.3471467,9.8029015,33.4552087,4.8245614,0.5281409,0.4941768,8.365085,6.2535703,71.7303714,11.5775683,26.1778507,68.0835496,31.4293784,45.1815165,15.3492161,5.2788421,11.7864158,9.3551372,34.5581059,4.0539737,0.5052364,0.4730118,8.6544426,6.4972931,70.7917467,12.226659,25.9632256,67.5142118,31.2018487,44.4018111,14.3554334,5.315885,11.0389037,9.2499519,33.4848847,3.9129312,0.4803902,0.4497503,8.7519208,6.6066414,70.1868207,12.6146234,25.1215282,67.6942121,31.1408552,44.1992052,14.0534928,4.6845364,11.6938656,9.7877901,33.5116721,3.6884248 +1902,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7373418,0.7206873,9.4084771,6.2128257,24.5288056,16.119838,33.6899982,68.5368718,39.5181187,49.9390762,22.7296131,4.3232459,10.1053002,10.6473537,31.6684024,5.2364812,0.7032214,0.6861803,9.6428666,6.3870495,24.0364421,16.0043504,33.4607627,68.5949766,39.746868,49.4478317,23.250095,4.3747847,9.9174948,10.763888,31.8683311,5.5932165,0.7250444,0.7078626,9.822486,6.6069395,23.5742982,15.9264149,33.6682309,68.9077916,39.5414982,49.1585065,23.0036104,4.2503833,10.0934217,10.6343851,32.5396833,6.4999978,0.7607962,0.7626652,9.9816933,6.5018366,23.2547902,16.0300685,34.077323,68.4539121,39.0713359,48.8199023,22.9604967,4.2842459,10.1982499,10.5678733,32.6027981,6.7213137,0.7882901,0.7955777,9.9650473,6.501837,23.0519985,16.4405512,34.4954697,68.6397232,39.3095892,49.1947871,23.4281326,4.1373972,9.8158524,10.2602097,33.5274741,6.1461835 +1903,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3093575,0.3316491,6.6970715,4.1526644,43.5046049,22.8741093,27.4495677,67.0268972,35.0864553,46.8539866,18.8520653,5.8357349,9.6264368,8.78119,33.6734694,2.9220779,0.3290088,0.3511229,6.5889629,4.0675547,42.1421663,23.089701,28.1369732,67.2653257,35.8955939,46.7193487,18.75,5.8668582,9.8771267,9.6972564,34.1170825,2.2727273,0.3463557,0.3686374,6.6331418,4.1427203,41.9268293,23.1929153,28.1625782,67.8932179,35.7142857,46.007696,18.3020683,5.9403559,9.2857143,9.5714286,34.4476744,1.6778523,0.3819133,0.4043348,6.4680233,3.997093,42.0371275,23.7397984,29.3053546,68.9097926,36.0588519,46.1890979,18.6444766,6.6811384,9.5615672,9.7572362,34.1706161,1.8248175,0.3822967,0.4264079,6.8041726,4.1488857,41.5662651,23.4249171,29.547619,69.2619048,35.6428571,45.547619,18.1666667,6.1190476,9.2694064,9.1948765,33.287037,1.8656716 +1904,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8383,0.8873697,10.3579964,7.0036393,27.1685613,14.6963142,29.5743834,70.1087759,41.0820531,49.7008818,21.6922633,7.6171714,10.7387084,9.0015544,32.279587,5.3977273,0.7023897,0.7185981,10.8096881,7.280673,25.8053881,14.4123959,29.5847778,69.4725451,41.6519525,49.5302916,22.0539545,7.0600914,9.9136146,9.003045,31.6489488,4.1906441,0.6470209,0.6630887,11.3333657,7.5272069,26.2045361,14.3184015,30.0170323,68.8398445,41.853924,49.6376787,22.439727,6.6256963,9.3879842,8.536115,31.6600658,3.6938093,0.8224932,0.8333304,11.1143362,7.3694197,26.156438,14.160975,30.0519954,69.1105244,41.6229242,48.9382454,22.3870379,6.7067167,10.068194,8.5999499,32.8032209,3.6938093,0.7083335,0.7191497,10.7977302,7.1583739,26.2308641,14.3827547,30.2572681,68.5607025,40.9658997,48.7153872,21.8809029,6.7252282,10.0071303,8.5977851,34.4038029,3.125531 +1905,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7942412,0.7345973,9.7747071,6.6067966,41.7377051,15.7147417,27.1740423,67.3523041,40.9720102,44.0438846,21.4969232,5.204292,10.2655594,8.1999102,31.4957859,10.3238866,0.7536819,0.6771033,9.9310961,6.8752752,41.699183,15.8172248,26.9822798,67.1378354,40.5551336,43.989044,20.8718974,5.1508656,9.9477789,8.1780965,31.5369439,9.6837945,0.7253632,0.6694919,9.7174681,6.4082193,41.4270416,15.3281763,26.7833013,67.0789177,40.5279219,43.9680601,21.5780077,5.3788602,9.6147653,8.3613106,31.520218,8.1932773,0.7177152,0.6536166,9.8441374,6.7883053,41.4070183,15.6141269,26.612698,66.9136748,40.166495,43.8463617,21.4509231,5.2466849,10.1981819,9.2291961,31.3295243,7.7083333,0.5940338,0.5224672,9.5221783,6.5960725,41.6488919,14.9078402,26.5273244,67.0917812,39.2911919,43.2214191,21.3921347,5.4855243,10.2822137,9.4593585,30.8375301,6.2770563 +1906,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8341785,0.8184227,10.1757042,6.7151231,43.7160235,19.0680753,30.9396259,71.345986,38.8683626,46.0072807,23.3492221,4.3876921,9.9328693,8.3100006,34.1496765,6.8750529,0.7641453,0.7486156,10.0975846,6.7633499,43.3062216,19.0962905,31.379933,71.7512919,38.8888078,45.9544858,23.7599736,4.3917925,10.1990868,8.6560176,35.3087629,6.2771597,0.8380641,0.8310332,10.3923017,7.0037837,43.5501916,18.8944783,30.868765,71.2827456,38.3306705,45.983079,23.5430454,4.452606,10.5560245,8.4271,35.298874,7.83912,0.8163805,0.7897297,10.3490126,7.0975834,44.9241085,18.8982131,31.2652955,70.1134856,37.6723926,45.809674,22.965658,4.3660235,10.858054,8.7272826,36.5136315,7.056508,0.8248733,0.814583,10.5256975,7.1783817,44.903114,19.0757125,31.0729143,70.1845845,38.028472,45.9737787,23.3414029,4.2669737,10.8087933,9.2858262,37.5666666,7.0610737 +1907,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7803585,0.8135959,9.2800108,5.8397529,38.8394383,18.4899124,30.4875103,68.2522221,35.8753261,44.8622888,19.9610953,4.6561551,10.2107766,9.1538796,32.4024886,4.8741473,0.6892175,0.7226213,9.5219251,5.9468145,39.347915,18.0436868,30.8122508,68.0884343,35.4875243,44.3848015,19.5120171,4.8132588,9.6923639,9.0156497,32.4775343,4.7162488,0.6597291,0.6756393,9.5661812,6.0794085,39.0674294,18.0354477,31.52342,67.9287215,35.8052628,44.314605,20.0815401,4.9464488,9.3444468,8.7159655,32.324191,5.4139835,0.6099612,0.5983816,9.3973603,6.1636968,39.0500575,17.9970065,31.2035505,67.7755479,35.6163628,43.8703676,20.2330037,4.8806361,9.950882,8.791515,32.7261992,3.9659231,0.6678169,0.6565762,9.2038404,6.2673454,38.4589868,17.9374046,30.8467064,67.8267693,35.5603932,44.0436936,20.377025,4.7885448,9.8237065,8.6900771,32.2347711,5.3992938 +1908,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7032214,0.6861803,9.6428666,6.3870495,24.0364421,16.0043504,33.4607627,68.5949766,39.746868,49.4478317,23.250095,4.3747847,9.9174948,10.763888,31.8683311,5.5932165,0.7250444,0.7078626,9.822486,6.6069395,23.5742982,15.9264149,33.6682309,68.9077916,39.5414982,49.1585065,23.0036104,4.2503833,10.0934217,10.6343851,32.5396833,6.4999978,0.7607962,0.7626652,9.9816933,6.5018366,23.2547902,16.0300685,34.077323,68.4539121,39.0713359,48.8199023,22.9604967,4.2842459,10.1982499,10.5678733,32.6027981,6.7213137,0.7882901,0.7955777,9.9650473,6.501837,23.0519985,16.4405512,34.4954697,68.6397232,39.3095892,49.1947871,23.4281326,4.1373972,9.8158524,10.2602097,33.5274741,6.1461835,0.7984538,0.8039609,10.2042578,6.6174041,22.8001299,16.8579956,34.2747476,68.2337957,39.3430184,48.7286729,23.4727012,4.1211586,10.0455848,9.9934793,33.1963181,6.610174 +1909,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7536819,0.6771033,9.9310961,6.8752752,41.699183,15.8172248,26.9822798,67.1378354,40.5551336,43.989044,20.8718974,5.1508656,9.9477789,8.1780965,31.5369439,9.6837945,0.7253632,0.6694919,9.7174681,6.4082193,41.4270416,15.3281763,26.7833013,67.0789177,40.5279219,43.9680601,21.5780077,5.3788602,9.6147653,8.3613106,31.520218,8.1932773,0.7177152,0.6536166,9.8441374,6.7883053,41.4070183,15.6141269,26.612698,66.9136748,40.166495,43.8463617,21.4509231,5.2466849,10.1981819,9.2291961,31.3295243,7.7083333,0.5940338,0.5224672,9.5221783,6.5960725,41.6488919,14.9078402,26.5273244,67.0917812,39.2911919,43.2214191,21.3921347,5.4855243,10.2822137,9.4593585,30.8375301,6.2770563,0.6568799,0.5870441,9.6771842,6.7932852,42.5284653,14.8818739,26.9429201,67.1274467,38.831628,43.6452249,21.5114897,5.552679,10.293206,9.5032132,31.3029111,7.5431034 +1910,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7641453,0.7486156,10.0975846,6.7633499,43.3062216,19.0962905,31.379933,71.7512919,38.8888078,45.9544858,23.7599736,4.3917925,10.1990868,8.6560176,35.3087629,6.2771597,0.8380641,0.8310332,10.3923017,7.0037837,43.5501916,18.8944783,30.868765,71.2827456,38.3306705,45.983079,23.5430454,4.452606,10.5560245,8.4271,35.298874,7.83912,0.8163805,0.7897297,10.3490126,7.0975834,44.9241085,18.8982131,31.2652955,70.1134856,37.6723926,45.809674,22.965658,4.3660235,10.858054,8.7272826,36.5136315,7.056508,0.8248733,0.814583,10.5256975,7.1783817,44.903114,19.0757125,31.0729143,70.1845845,38.028472,45.9737787,23.3414029,4.2669737,10.8087933,9.2858262,37.5666666,7.0610737,0.8345231,0.8283644,10.6359058,7.198285,45.022819,19.3274246,31.3030176,69.4899809,38.0682704,45.4677228,23.0048231,4.2943879,10.799113,9.7832935,38.1116252,7.3308336 +1911,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5488636,0.5414765,10.4977604,7.1629596,27.691582,21.1582574,33.9836151,69.3997401,38.0217488,47.6371142,23.7917478,3.9030223,13.3554265,11.7045559,37.5584492,5.9057118,0.6584382,0.6509939,10.5512862,7.279214,27.0635875,21.4968472,32.7834463,69.3294621,37.5712307,46.7600512,22.530736,3.7328126,13.0192945,11.0538334,35.3425413,6.1985776,0.6503117,0.6355792,10.9132304,7.4397764,26.3373852,21.90165,33.016469,68.4085784,37.4173257,48.039705,22.8889812,3.5129242,12.4827022,10.9159813,36.2637977,5.8558506,0.784256,0.7554318,10.9610942,7.8689143,25.7760495,21.981087,32.3904879,68.7374789,37.8748529,48.6985666,23.695856,3.7687515,13.3013375,11.2696101,36.0187639,4.7008467,0.8479295,0.8195071,11.1164636,7.6011983,25.9964907,21.437318,31.8162998,68.2767369,36.3911398,48.123707,22.9662417,3.4034857,13.2496926,11.8039569,36.6897423,4.867248 +1912,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8822465,1.8320577,28.2025469,23.955157,42.7655357,17.6065691,42.9314262,66.2305335,37.5624333,48.2613927,25.2858263,3.6689146,12.4468911,9.3084307,32.8674155,20.2180639,1.8888304,1.8378731,28.0492749,23.841006,43.0284348,18.2052048,42.299923,66.3849819,36.3816158,48.0754812,25.1935857,3.9778623,12.619179,8.6019654,32.7810214,20.0358811,1.9630776,1.9743894,28.0281436,24.0012543,43.2102943,18.5510138,41.7030022,66.939572,36.6215171,48.2017184,25.6558848,3.903628,13.3749563,8.9418206,33.1014541,22.5384744,2.1197044,2.1140809,28.9039738,24.9195444,43.3137067,18.2928888,42.2547768,66.3348548,35.3980816,48.7158055,24.9967912,3.9895588,13.650957,9.5368894,32.099834,24.5447693,1.8730069,1.8926762,28.8832186,24.9738116,43.4215379,18.7461079,42.8433915,66.1495986,35.9631285,49.9436776,24.7060189,3.9880404,13.7532527,9.9210921,32.8784088,22.2732167 +1913,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8046391,0.8139355,11.8465342,8.7229302,59.8824241,8.8664151,27.0066556,64.06026,31.5568289,38.7205631,16.3542366,6.2666313,10.4476052,8.555346,36.7195461,6.2089356,0.844518,0.8641032,12.3238227,8.9927332,60.7162596,8.7956876,27.6531398,63.4079218,31.0545804,38.5655451,16.1827613,6.1820857,10.3731098,8.3874079,36.407766,6.1363632,0.9261648,0.9512549,12.6574902,9.16118,61.6708608,8.5043953,27.9695238,62.9735524,30.705477,38.3795307,15.9452023,6.2009997,10.3360646,8.1508887,36.7255416,6.6560505,0.9293416,0.9426723,13.0005322,9.4839203,62.3395717,8.4357765,27.894967,62.7668115,30.2919994,38.3444898,15.746743,6.1040734,10.059453,8.03879,36.6699862,6.8690091,0.9431863,0.9539535,13.2385693,9.6774944,63.096123,8.4240107,27.702244,62.2006672,29.9306223,37.9409722,15.4576541,5.9655511,10.4486496,8.2542836,36.5530534,7.1992106 +1914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7736339,1.7688965,29.4102824,25.3896455,45.3819574,14.4723678,37.1461636,64.9338634,38.3569597,44.3177534,21.7475129,2.4681298,17.2686834,12.2144454,39.101311,19.4162281,1.6756001,1.6993682,29.7412688,25.9187087,45.9851167,14.3024701,37.1000967,64.6982885,37.8442578,44.2007645,21.7825473,2.5890943,17.2929866,12.7788235,38.8389947,20.5097087,1.7732977,1.789827,29.9132504,25.880576,47.282032,13.6089046,36.9638888,64.9466832,36.9330727,44.3597741,21.2168739,2.542321,17.2858947,12.641857,39.6759578,21.8899387,1.8053842,1.848941,30.268938,26.1489367,48.6798733,13.754403,37.3232798,65.0440382,37.2034226,44.6950586,21.5009685,2.532167,17.6670829,12.60062,39.2678256,22.079421,1.7796504,1.8502506,31.0924423,26.8614072,49.7107181,13.1193181,36.9235778,64.9485818,37.280193,45.6307282,21.5300909,2.5705315,17.5982804,12.6228486,39.956439,22.8009081 +1915,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5939605,2.6550445,38.9949762,33.7012449,75.7640795,11.93455,34.3571718,60.9006755,23.884606,36.5683581,15.8500852,2.1092514,16.9500811,12.952961,43.7325389,24.8832465,2.4793856,2.5908413,38.3383963,33.2861623,76.3155776,12.6181273,35.3164168,61.5817675,23.5849927,36.5305245,15.6165019,2.0644638,16.9993632,12.6445749,43.6681932,24.8268407,2.5919635,2.7065826,38.1931238,32.8926875,76.4644594,13.0421951,34.8681422,62.1439718,23.0549991,36.636344,15.1685418,1.9045234,16.8026117,13.4423705,43.4202578,24.7971941,2.4426724,2.545026,36.3506252,31.5211833,75.2430046,13.2891296,34.7804171,61.6604901,22.2293388,36.3788855,14.6593527,1.8362935,17.2212002,13.0756217,42.4993858,24.799135,2.2758463,2.3434995,35.9814628,31.1527958,75.1076631,13.5342038,34.5576371,62.615397,22.6512489,36.7829244,15.1531425,1.8295102,17.2843897,12.7347043,42.6425025,21.7856798 +1916,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4884561,0.5209373,9.5604808,6.1795631,39.3225228,19.0394298,31.5471629,69.8168345,40.1987582,46.2782588,23.558073,3.0982089,9.7107539,9.3956891,29.2672828,4.4520517,0.4894453,0.5220768,9.494154,6.3231443,39.3055791,19.183605,31.349996,69.8595467,39.5825153,45.5910991,22.9223501,3.218886,10.0000114,9.5257517,28.9777515,4.8148112,0.4851125,0.5282687,9.2824693,6.2452579,38.6573413,19.3629472,31.0757979,70.4947076,39.6348616,46.4271657,23.0270753,3.2783684,9.7590452,9.364945,28.8898006,4.887218,0.4929315,0.5541885,8.7362064,5.9573655,37.891584,19.4251586,30.5806296,70.9494007,39.6430006,47.0184289,22.8913138,3.7858035,9.5333866,9.1532177,29.0178637,4.0740741,0.5345584,0.5596686,8.9719334,6.2025799,38.9956173,19.5426598,30.0272907,70.7131726,38.5229876,46.7848615,22.6227312,3.6827805,9.4807351,9.431724,30.8088751,5.2816901 +1917,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8888304,1.8378731,28.0492749,23.841006,43.0284348,18.2052048,42.299923,66.3849819,36.3816158,48.0754812,25.1935857,3.9778623,12.619179,8.6019654,32.7810214,20.0358811,1.9630776,1.9743894,28.0281436,24.0012543,43.2102943,18.5510138,41.7030022,66.939572,36.6215171,48.2017184,25.6558848,3.903628,13.3749563,8.9418206,33.1014541,22.5384744,2.1197044,2.1140809,28.9039738,24.9195444,43.3137067,18.2928888,42.2547768,66.3348548,35.3980816,48.7158055,24.9967912,3.9895588,13.650957,9.5368894,32.099834,24.5447693,1.8730069,1.8926762,28.8832186,24.9738116,43.4215379,18.7461079,42.8433915,66.1495986,35.9631285,49.9436776,24.7060189,3.9880404,13.7532527,9.9210921,32.8784088,22.2732167,1.7307073,1.7682767,28.8914612,24.8247962,44.0940103,18.6686138,42.6038563,66.2745495,35.4900582,49.4574129,24.3612219,3.9893082,12.6600483,10.0018063,32.214038,20.6489585 +1918,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6756001,1.6993682,29.7412688,25.9187087,45.9851167,14.3024701,37.1000967,64.6982885,37.8442578,44.2007645,21.7825473,2.5890943,17.2929866,12.7788235,38.8389947,20.5097087,1.7732977,1.789827,29.9132504,25.880576,47.282032,13.6089046,36.9638888,64.9466832,36.9330727,44.3597741,21.2168739,2.542321,17.2858947,12.641857,39.6759578,21.8899387,1.8053842,1.848941,30.268938,26.1489367,48.6798733,13.754403,37.3232798,65.0440382,37.2034226,44.6950586,21.5009685,2.532167,17.6670829,12.60062,39.2678256,22.079421,1.7796504,1.8502506,31.0924423,26.8614072,49.7107181,13.1193181,36.9235778,64.9485818,37.280193,45.6307282,21.5300909,2.5705315,17.5982804,12.6228486,39.956439,22.8009081,1.7493515,1.8339167,31.1834405,26.8229642,50.092594,12.8871443,37.0026498,65.8057737,37.1520319,44.9499302,21.8251432,2.793497,17.0754314,12.7222724,39.7952853,23.4669756 +1919,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.9229434,1.8693499,29.5663724,22.778774,47.8007789,14.5107672,38.9170525,65.4114116,34.2012134,48.3966438,25.2562516,5.5678696,15.0364802,11.8551961,33.799816,14.4382051,1.8834169,1.8599515,29.4822755,22.6107466,47.8889806,14.2494735,39.7715767,65.357028,34.1563575,47.8279101,25.9044818,5.2505549,14.7431773,11.8912928,33.5131911,15.261915,1.7387803,1.7614614,29.7773775,23.2601368,47.7530878,14.0502466,39.9761019,65.188614,34.3619688,47.3942191,25.8407618,5.4902815,14.5528268,12.2529158,33.3827758,15.8687088,1.6846283,1.7628632,29.8878518,23.4713399,47.4143207,13.8633696,39.9169194,65.2019547,34.5514702,47.0699775,25.9079036,5.0438837,14.7057283,12.1315756,33.2821543,14.9001806,1.5824728,1.6602721,29.4809728,23.4918395,47.9495489,13.3627475,39.9468357,65.6519818,33.2600814,47.3262686,26.0289948,5.1279449,14.6359061,11.758808,32.6797775,16.0029746 +1920,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9708725,1.0091188,12.5726373,9.1424773,26.6401583,20.5442752,36.7140949,68.1507985,41.7781121,48.9189488,24.2247631,3.7126601,10.9066721,10.0107198,34.3783382,9.4086894,0.9024246,0.9654579,12.6185988,8.9590654,25.8133669,20.6491487,36.4357955,68.016177,42.1953101,48.7896405,23.9983166,3.6866947,10.782288,10.4759164,35.1315888,10.7143838,0.8580418,0.9048255,12.4337176,8.9729253,25.7019867,20.4113262,36.0246535,67.6336517,42.0548489,48.3137952,23.8782439,3.6438983,10.3803453,9.9574903,34.5092357,12.78419,0.8844636,0.9222378,12.4781585,8.8963296,26.2368026,20.442375,35.9063243,67.557519,42.0274544,48.6861655,23.7533564,3.5980923,10.1681103,9.9563367,34.7244528,12.2024405,0.7233629,0.7721015,12.8314724,9.1298209,26.2316207,19.686685,36.9437462,66.6338338,40.549284,48.6056237,23.2253494,3.3098564,10.7006575,10.1104518,34.3959201,12.2023955 +1921,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7732977,1.789827,29.9132504,25.880576,47.282032,13.6089046,36.9638888,64.9466832,36.9330727,44.3597741,21.2168739,2.542321,17.2858947,12.641857,39.6759578,21.8899387,1.8053842,1.848941,30.268938,26.1489367,48.6798733,13.754403,37.3232798,65.0440382,37.2034226,44.6950586,21.5009685,2.532167,17.6670829,12.60062,39.2678256,22.079421,1.7796504,1.8502506,31.0924423,26.8614072,49.7107181,13.1193181,36.9235778,64.9485818,37.280193,45.6307282,21.5300909,2.5705315,17.5982804,12.6228486,39.956439,22.8009081,1.7493515,1.8339167,31.1834405,26.8229642,50.092594,12.8871443,37.0026498,65.8057737,37.1520319,44.9499302,21.8251432,2.793497,17.0754314,12.7222724,39.7952853,23.4669756,1.7328827,1.8222421,31.5472431,26.9083709,50.4751597,12.764388,37.0032799,65.7454282,37.4215592,44.6220507,22.273677,3.0325684,16.7799949,13.1416375,39.4176591,22.9603837 +1922,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.8834169,1.8599515,29.4822755,22.6107466,47.8889806,14.2494735,39.7715767,65.357028,34.1563575,47.8279101,25.9044818,5.2505549,14.7431773,11.8912928,33.5131911,15.261915,1.7387803,1.7614614,29.7773775,23.2601368,47.7530878,14.0502466,39.9761019,65.188614,34.3619688,47.3942191,25.8407618,5.4902815,14.5528268,12.2529158,33.3827758,15.8687088,1.6846283,1.7628632,29.8878518,23.4713399,47.4143207,13.8633696,39.9169194,65.2019547,34.5514702,47.0699775,25.9079036,5.0438837,14.7057283,12.1315756,33.2821543,14.9001806,1.5824728,1.6602721,29.4809728,23.4918395,47.9495489,13.3627475,39.9468357,65.6519818,33.2600814,47.3262686,26.0289948,5.1279449,14.6359061,11.758808,32.6797775,16.0029746,1.7048176,1.7810805,28.8358287,23.1937986,47.7769683,13.0072875,40.3508073,66.4899799,33.9676511,47.9999042,26.2171186,5.5994457,14.540274,11.5220487,32.1308827,17.8951554 +1923,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9262248,1.9461346,28.7951051,24.328257,56.6874968,15.0265676,40.5187572,64.3833992,35.4972366,46.5874326,21.3107606,3.0326079,15.446678,12.4817023,36.5476369,15.8003086,1.8866753,1.9190777,29.0255802,24.3554393,56.4451577,15.6886739,40.0515929,64.3566382,35.8895451,46.1215613,21.0851729,2.8905307,14.7832076,11.6690982,36.7305326,15.0181394,1.6777474,1.7106552,28.5471706,23.590811,57.363338,15.5583998,39.1729071,64.5950429,35.5666811,45.2033487,20.3530248,3.0936941,14.7602832,12.0406294,36.2970878,16.2065857,1.6482599,1.6913309,27.9271216,23.0164544,57.398022,16.2669928,39.2261481,64.3946742,36.3114398,45.7296483,20.8505039,3.5190344,14.9564148,12.619889,35.1380168,17.3343245,1.7014569,1.7475225,27.4858561,22.7053014,57.3921194,16.7698989,38.9781111,64.214459,35.6978705,45.3329092,20.6483904,3.5147819,14.5259884,12.4051928,34.598863,20.7555002 +1924,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6564141,0.6421825,8.6512001,5.80531,28.5884861,10.4439331,30.3125091,66.7306528,36.2102414,47.3281513,21.3042049,3.6880098,10.4270601,9.060794,29.9501528,5.140159,0.6065117,0.5838064,9.1007412,6.0647503,28.8930791,10.5173611,30.7945749,66.2674597,35.7299231,47.4073254,21.0266691,3.6794856,11.226839,9.1411301,30.2134936,5.5223615,0.6280522,0.6084975,9.1881175,5.9577552,29.1465746,10.3635133,31.2534842,65.9253321,35.3410987,47.0421248,20.4014707,3.7492679,10.9016108,8.9708838,29.8764915,6.3235294,0.5650104,0.5435037,9.3373501,6.1234355,29.4138886,9.8557238,30.9508919,65.8114211,34.4341583,46.7768043,20.1112082,3.7360767,11.2414782,9.2331692,30.2186872,6.4564623,0.6030308,0.5768748,9.9842423,6.530084,29.6511978,9.7841491,31.0481205,65.4330749,34.1014402,46.5467272,19.8675993,3.5984117,11.0389023,8.9767054,30.2960086,7.0093523 +1925,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8905796,0.9332497,8.7201513,5.1706711,33.3046041,24.8238172,31.6333151,67.621126,35.1236654,45.6624729,17.6042081,8.1836627,11.0788653,8.5760508,32.9086072,1.5217358,0.7319771,0.7729638,8.747563,5.2485509,33.8459478,24.4534298,31.5217162,67.5372898,35.4152992,45.6034818,17.8942326,8.4198543,11.3272146,8.9363023,32.0362016,1.7786526,0.6120276,0.6512675,8.7034134,5.4295159,33.0195417,24.8634607,30.940012,67.3743687,35.510518,45.0729066,18.1037265,7.9578549,11.3834254,8.980731,31.5116344,2.123548,0.5451122,0.608626,8.9348853,5.4058589,33.4910545,24.3480296,30.3616909,67.1734783,34.7471157,45.1184256,17.9097361,7.7304712,11.9353079,9.8776426,32.0356161,2.398524,0.5516566,0.5866074,8.6790733,5.3269393,32.8876109,24.414838,30.4658626,67.5707137,34.858566,44.7753682,18.0865363,7.7703838,11.9736343,9.7860043,31.5972687,2.9069767 +1926,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5733325,1.58791,27.7132696,23.1649833,44.1870646,17.652175,37.4026986,65.5233127,32.6236032,45.7575714,21.1476774,2.8121157,13.4905511,10.4000327,38.7115657,24.3859282,1.6798152,1.6941283,28.6306879,24.3445751,44.6852468,17.7348753,37.0696889,64.7481314,32.2545279,44.7548755,21.0301778,2.7903529,13.565608,10.9799426,39.4694094,25.3446098,1.6469379,1.6674015,29.7892052,25.6708896,45.72082,17.7768286,36.9562334,64.9372239,32.3188336,45.6627642,21.4040527,2.8866011,13.6052626,11.3128522,39.1516663,25.3223775,1.6733874,1.7118996,30.6019524,26.6474879,47.6532452,17.5453817,36.1565957,64.9467586,31.9909484,44.6711042,21.2100729,2.8944171,13.2230505,11.0651401,38.5029378,25.6755,1.7425645,1.7602211,31.2125267,27.3389209,48.9818545,17.6208181,36.1217161,64.6713428,31.8557073,44.3482669,21.069692,2.544273,13.5769303,11.0278242,38.8461213,27.0465927 +1927,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5422784,0.5256343,9.0548156,6.6119214,72.7540253,11.3361928,26.9889453,68.1527964,30.5126532,44.6077251,15.3497029,4.9920161,11.3471467,9.8029015,33.4552087,4.8245614,0.5281409,0.4941768,8.365085,6.2535703,71.7303714,11.5775683,26.1778507,68.0835496,31.4293784,45.1815165,15.3492161,5.2788421,11.7864158,9.3551372,34.5581059,4.0539737,0.5052364,0.4730118,8.6544426,6.4972931,70.7917467,12.226659,25.9632256,67.5142118,31.2018487,44.4018111,14.3554334,5.315885,11.0389037,9.2499519,33.4848847,3.9129312,0.4803902,0.4497503,8.7519208,6.6066414,70.1868207,12.6146234,25.1215282,67.6942121,31.1408552,44.1992052,14.0534928,4.6845364,11.6938656,9.7877901,33.5116721,3.6884248,0.6739196,0.630307,8.3989675,6.3166202,69.9577063,13.8114504,24.9192952,67.2286771,31.2934329,43.8107821,14.064832,4.36501,11.8806675,9.4208847,34.090911,2.083276 +1928,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8866753,1.9190777,29.0255802,24.3554393,56.4451577,15.6886739,40.0515929,64.3566382,35.8895451,46.1215613,21.0851729,2.8905307,14.7832076,11.6690982,36.7305326,15.0181394,1.6777474,1.7106552,28.5471706,23.590811,57.363338,15.5583998,39.1729071,64.5950429,35.5666811,45.2033487,20.3530248,3.0936941,14.7602832,12.0406294,36.2970878,16.2065857,1.6482599,1.6913309,27.9271216,23.0164544,57.398022,16.2669928,39.2261481,64.3946742,36.3114398,45.7296483,20.8505039,3.5190344,14.9564148,12.619889,35.1380168,17.3343245,1.7014569,1.7475225,27.4858561,22.7053014,57.3921194,16.7698989,38.9781111,64.214459,35.6978705,45.3329092,20.6483904,3.5147819,14.5259884,12.4051928,34.598863,20.7555002,1.7106542,1.711956,27.1520593,22.519478,57.1484097,17.0126904,38.4534675,64.2482543,34.6921033,44.5034561,20.5247654,3.2750958,12.8777065,12.2967327,34.4510562,20.2959639 +1929,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6892175,0.7226213,9.5219251,5.9468145,39.347915,18.0436868,30.8122508,68.0884343,35.4875243,44.3848015,19.5120171,4.8132588,9.6923639,9.0156497,32.4775343,4.7162488,0.6597291,0.6756393,9.5661812,6.0794085,39.0674294,18.0354477,31.52342,67.9287215,35.8052628,44.314605,20.0815401,4.9464488,9.3444468,8.7159655,32.324191,5.4139835,0.6099612,0.5983816,9.3973603,6.1636968,39.0500575,17.9970065,31.2035505,67.7755479,35.6163628,43.8703676,20.2330037,4.8806361,9.950882,8.791515,32.7261992,3.9659231,0.6678169,0.6565762,9.2038404,6.2673454,38.4589868,17.9374046,30.8467064,67.8267693,35.5603932,44.0436936,20.377025,4.7885448,9.8237065,8.6900771,32.2347711,5.3992938,0.6658385,0.6490063,9.6516948,6.5514934,38.9497294,17.6717875,30.3967051,67.8692653,35.5882822,43.5115946,20.1631292,4.610637,9.4540305,8.4798379,32.1330324,5.5178954 +1930,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.3524255,1.3212725,14.177863,11.828924,59.0829885,27.0866664,34.7933778,68.0163242,33.3059225,40.0826952,18.4298,4.8760895,12.6261172,8.5858203,33.1629226,7.0830347,1.2258994,1.2258994,14.1247814,11.6984955,57.375303,27.3568039,35.7992903,67.2617129,33.9286914,40.9013875,20.3231838,5.0170623,13.8331844,9.49996,35.6416979,7.2646541,1.0026421,1.0026421,13.2091831,10.9042827,57.1301986,28.2422446,35.0861086,67.6721934,34.5690347,39.5689097,21.4655484,4.5690088,12.8244756,10.5862598,32.7299283,6.5213894,1.0709696,1.0709696,12.611752,10.1073445,54.5853138,28.3619686,35.6391912,69.4393121,36.865209,41.5937092,22.1541344,5.3415529,12.1751384,9.6090672,32.5160582,6.8803699,1.1267295,1.1267295,12.5450591,9.6570366,54.5534741,29.9824911,34.1917475,68.8276372,34.547079,40.5861148,22.1136759,6.3055566,11.9280581,10.3278065,32.2950718,5.7518463 +1931,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4519298,1.4474985,20.7703527,16.0886442,83.4900251,13.4273251,32.9503952,63.6406218,33.3047374,36.1889446,16.9273548,4.8743103,13.8218013,10.9488528,38.5232432,16.9893321,1.4152569,1.4287159,20.7527611,15.9557034,82.9286915,14.1028871,33.3686865,63.7081266,34.0805722,36.5753779,17.3168018,5.8312763,13.2166295,11.270658,37.6220734,18.1386755,1.247849,1.2613738,21.0333758,16.6663391,83.0553821,13.5597103,33.1946771,64.8618919,34.6658346,37.5183588,17.9596769,5.5023859,12.2043126,10.6115811,36.3077663,18.5171276,1.2551537,1.2551537,22.0870126,17.4382435,83.0639379,14.8759126,33.3102725,64.4486966,34.8969757,38.1632008,18.1056417,5.5659559,12.7023531,10.6354791,35.3332126,20.6764436,1.425375,1.425375,22.3482474,17.0461207,83.3196447,15.1941569,32.7440843,64.9425038,34.989557,37.6932533,18.2459476,5.8433755,12.04284,10.1967673,34.1364905,21.2494169 +1932,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6161669,0.6213071,8.3110822,5.1735639,44.0189115,13.6648039,29.2724088,68.1087978,33.3085903,42.514849,18.5137715,14.666579,9.7769068,8.4231312,37.1129951,3.4256565,0.6678039,0.6729258,8.3477688,5.2564948,43.7371533,13.7470079,29.7211762,68.4334574,33.7351837,42.9216039,18.5681583,14.6349712,9.626025,8.1926163,37.1417187,3.1069364,0.6541501,0.6409837,8.1596298,5.1649067,43.3076713,13.6226369,29.6284042,68.1021889,33.6230918,43.1254145,18.5600523,14.618449,9.6031582,8.3248379,37.1827759,3.7390029,0.6655942,0.6625767,8.3366141,5.4112567,42.8542685,13.8697061,29.6240329,68.022874,33.4100166,42.6646487,18.660442,14.6772715,9.6617791,8.3104942,37.1926756,3.4156977,0.6863956,0.6814798,8.3868075,5.6147338,42.5753541,14.1846218,29.6579705,68.2203942,33.5154922,43.5193487,18.7025813,14.6264624,9.6051412,8.3859278,37.0573922,4.1727672 +1933,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.538822,0.5045922,8.4873249,5.2930341,42.6743864,16.3177305,29.7107177,69.7585,38.4687053,47.545116,20.3158281,3.3837642,9.3733497,9.3152854,30.5659405,4.9356223,0.6251994,0.5929265,8.9450118,5.7601392,42.3310496,16.1477743,30.5485963,69.8772624,38.4644412,47.1568107,20.8792765,3.5445925,8.9205495,9.4750041,31.6649835,4.2168658,0.6198767,0.5828972,9.0659397,5.7692294,41.8720931,16.1424874,30.5824115,70.0217636,38.5089522,46.7254781,21.616747,3.467859,9.2296585,9.8786424,32.5927646,5.2734375,0.6141676,0.5842043,9.007061,5.7959428,41.5540427,16.1176764,30.3921575,70.3229604,38.9042759,46.6089997,21.7185861,3.5178779,9.0846395,9.5161315,31.7338792,5.5956679,0.6917059,0.6560208,9.3244475,5.9575814,41.608689,15.7728434,30.412139,69.7208212,38.0567341,46.1887981,21.1943421,3.5342358,8.9929637,8.8766519,31.6710737,5.496452 +1934,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4152569,1.4287159,20.7527611,15.9557034,82.9286915,14.1028871,33.3686865,63.7081266,34.0805722,36.5753779,17.3168018,5.8312763,13.2166295,11.270658,37.6220734,18.1386755,1.247849,1.2613738,21.0333758,16.6663391,83.0553821,13.5597103,33.1946771,64.8618919,34.6658346,37.5183588,17.9596769,5.5023859,12.2043126,10.6115811,36.3077663,18.5171276,1.2551537,1.2551537,22.0870126,17.4382435,83.0639379,14.8759126,33.3102725,64.4486966,34.8969757,38.1632008,18.1056417,5.5659559,12.7023531,10.6354791,35.3332126,20.6764436,1.425375,1.425375,22.3482474,17.0461207,83.3196447,15.1941569,32.7440843,64.9425038,34.989557,37.6932533,18.2459476,5.8433755,12.04284,10.1967673,34.1364905,21.2494169,1.4777544,1.5328371,22.9118015,17.7531349,83.1283471,15.1866743,33.6682429,65.0587408,36.5396403,38.9228295,18.9122743,6.1014409,12.3559978,10.9773288,33.0899081,18.7457525 +1935,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4698225,0.5009795,10.2805042,7.0485045,43.2008591,14.4093108,27.4692457,67.882566,33.9466532,44.7277279,16.3223435,5.6703378,10.1108338,8.9271794,28.6594591,5.8052674,0.4469496,0.468652,10.124374,7.0880963,42.8202483,14.4500545,27.3198659,68.0402764,34.2134568,44.7303841,16.294763,5.4021288,10.1202718,8.8848998,28.6261049,5.4924471,0.4540363,0.4551137,10.1680494,7.1914362,42.8287138,14.2189594,27.5564052,66.9622978,34.3275136,44.3458969,16.2022545,5.5619607,10.5555915,8.9580138,28.6512643,4.9019608,0.4884517,0.4945817,10.6485686,7.7080583,43.6362548,13.7008764,28.8452331,65.9180838,33.0521143,44.401802,16.3343295,5.1818646,11.1091728,9.1948393,29.4750679,7.1687422,0.5331927,0.5391629,11.1589488,8.1299496,43.4577181,13.0626032,28.7044427,65.29981,31.895083,44.3790234,15.9849828,5.0856589,11.525549,9.47961,29.9492217,6.9488315 +1936,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6659165,0.6556161,10.224399,7.3204291,45.8848885,10.999351,29.1181246,70.4572679,41.6058761,43.0103431,21.7365243,4.9918322,9.3071225,8.0837677,34.9594396,8.0572313,0.666735,0.6603697,10.3620411,7.268241,45.5833683,10.8242975,28.7862335,70.9966359,41.6730015,43.4317669,21.9682958,4.9777414,9.6742862,8.4626996,34.9401524,8.4077393,0.6929537,0.6862671,10.6817937,7.5139774,45.2079632,10.7441081,28.7085246,70.8794216,41.1461747,43.5968359,21.9746227,5.0368657,9.6729049,8.5126989,34.8123223,8.2844587,0.7401653,0.7330566,10.5094864,7.3550151,44.4486848,10.8275827,28.1421395,71.0300002,40.8827024,44.2586809,21.906243,4.9940839,9.5303861,8.0658868,35.0942984,8.3333333,0.770834,0.75883,10.6418568,7.4056111,44.1422367,10.8466145,27.8468168,71.1676536,40.6373865,44.3438693,22.1156915,4.900909,9.5091367,8.3900463,35.3778619,7.7988338 +1937,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6065117,0.5838064,9.1007412,6.0647503,28.8930791,10.5173611,30.7945749,66.2674597,35.7299231,47.4073254,21.0266691,3.6794856,11.226839,9.1411301,30.2134936,5.5223615,0.6280522,0.6084975,9.1881175,5.9577552,29.1465746,10.3635133,31.2534842,65.9253321,35.3410987,47.0421248,20.4014707,3.7492679,10.9016108,8.9708838,29.8764915,6.3235294,0.5650104,0.5435037,9.3373501,6.1234355,29.4138886,9.8557238,30.9508919,65.8114211,34.4341583,46.7768043,20.1112082,3.7360767,11.2414782,9.2331692,30.2186872,6.4564623,0.6030308,0.5768748,9.9842423,6.530084,29.6511978,9.7841491,31.0481205,65.4330749,34.1014402,46.5467272,19.8675993,3.5984117,11.0389023,8.9767054,30.2960086,7.0093523,0.6319054,0.6100144,10.4023113,6.941745,29.7928756,9.7593287,31.0109143,65.1097538,33.5876934,46.2188004,19.6400161,3.4798895,10.9911983,8.789554,30.6950791,7.2485271 +1938,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6777474,1.7106552,28.5471706,23.590811,57.363338,15.5583998,39.1729071,64.5950429,35.5666811,45.2033487,20.3530248,3.0936941,14.7602832,12.0406294,36.2970878,16.2065857,1.6482599,1.6913309,27.9271216,23.0164544,57.398022,16.2669928,39.2261481,64.3946742,36.3114398,45.7296483,20.8505039,3.5190344,14.9564148,12.619889,35.1380168,17.3343245,1.7014569,1.7475225,27.4858561,22.7053014,57.3921194,16.7698989,38.9781111,64.214459,35.6978705,45.3329092,20.6483904,3.5147819,14.5259884,12.4051928,34.598863,20.7555002,1.7106542,1.711956,27.1520593,22.519478,57.1484097,17.0126904,38.4534675,64.2482543,34.6921033,44.5034561,20.5247654,3.2750958,12.8777065,12.2967327,34.4510562,20.2959639,1.7795535,1.7678156,27.3952012,22.5005596,56.7927943,17.0962748,38.5036456,63.0170324,33.7215326,44.3069029,21.1024605,3.2790618,12.290239,12.0554757,34.2495203,20.1649916 +1939,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6702177,1.5488101,23.3072411,18.0526975,48.4626691,16.5135643,42.8228213,66.4459126,41.0999118,53.4763573,29.1635369,4.3388215,12.2762365,11.5386969,31.970909,21.0713719,1.6404052,1.5721104,23.2199825,18.3658248,47.8690969,15.8268263,43.4152916,66.0551143,41.541466,52.6456817,28.3941956,3.4592002,12.1922921,11.9867663,31.62478,21.0288795,1.3865766,1.476937,23.4037162,18.5977829,46.5825654,15.2302312,44.5719589,66.5964705,41.443551,52.7926917,28.0685285,3.5144655,12.0661332,10.7943101,30.8970971,17.8814028,1.5356911,1.6275004,23.6641412,18.5829795,45.3773263,15.1607029,43.6537114,67.4570434,41.1597181,52.1099575,27.7145887,4.0954394,11.1326515,9.8214955,30.2255563,18.0142085,1.7959714,1.8894286,23.5290938,18.7091103,45.544399,16.3215976,42.733315,66.9455264,39.8340559,51.8024162,28.5641463,4.0939206,10.8345471,9.3165713,28.5942745,23.6424945 +1940,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6729588,0.6840682,9.4645758,6.551227,36.727411,21.0081374,31.9412334,67.0553991,38.3800392,46.4872025,22.490988,6.4931833,10.1637897,7.8692865,32.6118962,5.5555329,0.6616899,0.6727335,9.8803357,6.7913123,36.7595479,20.7447717,32.5510238,66.8335534,38.2310843,45.7129227,22.1446512,6.057553,10.1121988,7.8043861,32.1894024,6.418895,0.7023884,0.7316838,10.0620317,6.8977793,37.0972709,20.8322898,32.338531,66.390116,38.4123684,45.0703403,22.2996974,6.1564521,10.0362326,7.9602187,32.5419329,6.9937146,0.7407645,0.7746517,10.0029859,6.8851742,37.0661522,20.7196087,32.5117027,66.329449,37.9827334,45.0927607,22.3417581,6.0973309,10.1735248,8.1763128,33.2997302,7.314387,0.740222,0.7693184,10.4069803,7.1473483,37.1531428,20.6873871,32.5734354,66.6212545,37.987158,45.4802068,22.5187224,6.2116866,10.0350921,8.1569108,32.8265706,7.3695918 +1941,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.666735,0.6603697,10.3620411,7.268241,45.5833683,10.8242975,28.7862335,70.9966359,41.6730015,43.4317669,21.9682958,4.9777414,9.6742862,8.4626996,34.9401524,8.4077393,0.6929537,0.6862671,10.6817937,7.5139774,45.2079632,10.7441081,28.7085246,70.8794216,41.1461747,43.5968359,21.9746227,5.0368657,9.6729049,8.5126989,34.8123223,8.2844587,0.7401653,0.7330566,10.5094864,7.3550151,44.4486848,10.8275827,28.1421395,71.0300002,40.8827024,44.2586809,21.906243,4.9940839,9.5303861,8.0658868,35.0942984,8.3333333,0.770834,0.75883,10.6418568,7.4056111,44.1422367,10.8466145,27.8468168,71.1676536,40.6373865,44.3438693,22.1156915,4.900909,9.5091367,8.3900463,35.3778619,7.7988338,0.7770737,0.7811303,10.9897731,7.6337112,44.4414554,10.6386295,27.9798533,71.108167,39.8568433,44.1410389,22.0519601,4.7773048,9.7204698,8.5506933,35.0370333,7.6868829 +1942,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6280522,0.6084975,9.1881175,5.9577552,29.1465746,10.3635133,31.2534842,65.9253321,35.3410987,47.0421248,20.4014707,3.7492679,10.9016108,8.9708838,29.8764915,6.3235294,0.5650104,0.5435037,9.3373501,6.1234355,29.4138886,9.8557238,30.9508919,65.8114211,34.4341583,46.7768043,20.1112082,3.7360767,11.2414782,9.2331692,30.2186872,6.4564623,0.6030308,0.5768748,9.9842423,6.530084,29.6511978,9.7841491,31.0481205,65.4330749,34.1014402,46.5467272,19.8675993,3.5984117,11.0389023,8.9767054,30.2960086,7.0093523,0.6319054,0.6100144,10.4023113,6.941745,29.7928756,9.7593287,31.0109143,65.1097538,33.5876934,46.2188004,19.6400161,3.4798895,10.9911983,8.789554,30.6950791,7.2485271,0.6606359,0.6374554,10.5978968,7.1846867,29.9761728,9.5938842,30.9467278,65.0071808,33.0621688,45.6099024,19.3771,3.4443789,10.8414263,8.7476438,30.5693067,7.7868916 +1943,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9024246,0.9654579,12.6185988,8.9590654,25.8133669,20.6491487,36.4357955,68.016177,42.1953101,48.7896405,23.9983166,3.6866947,10.782288,10.4759164,35.1315888,10.7143838,0.8580418,0.9048255,12.4337176,8.9729253,25.7019867,20.4113262,36.0246535,67.6336517,42.0548489,48.3137952,23.8782439,3.6438983,10.3803453,9.9574903,34.5092357,12.78419,0.8844636,0.9222378,12.4781585,8.8963296,26.2368026,20.442375,35.9063243,67.557519,42.0274544,48.6861655,23.7533564,3.5980923,10.1681103,9.9563367,34.7244528,12.2024405,0.7233629,0.7721015,12.8314724,9.1298209,26.2316207,19.686685,36.9437462,66.6338338,40.549284,48.6056237,23.2253494,3.3098564,10.7006575,10.1104518,34.3959201,12.2023955,0.719681,0.7600928,13.2321643,9.4326997,27.1197772,19.4965721,37.1286215,66.0588618,39.7757491,48.3656911,22.5688608,3.2279803,11.2434755,10.3621055,33.7624636,11.7142991 +1944,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7250444,0.7078626,9.822486,6.6069395,23.5742982,15.9264149,33.6682309,68.9077916,39.5414982,49.1585065,23.0036104,4.2503833,10.0934217,10.6343851,32.5396833,6.4999978,0.7607962,0.7626652,9.9816933,6.5018366,23.2547902,16.0300685,34.077323,68.4539121,39.0713359,48.8199023,22.9604967,4.2842459,10.1982499,10.5678733,32.6027981,6.7213137,0.7882901,0.7955777,9.9650473,6.501837,23.0519985,16.4405512,34.4954697,68.6397232,39.3095892,49.1947871,23.4281326,4.1373972,9.8158524,10.2602097,33.5274741,6.1461835,0.7984538,0.8039609,10.2042578,6.6174041,22.8001299,16.8579956,34.2747476,68.2337957,39.3430184,48.7286729,23.4727012,4.1211586,10.0455848,9.9934793,33.1963181,6.610174,0.8744602,0.8682688,10.3310629,6.678087,22.5021368,16.3949234,34.529424,68.4621878,39.5546379,48.7815183,23.3865581,3.974786,10.6881114,9.8661152,33.3922894,6.7241402 +1945,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4622669,1.5046178,16.3114793,11.7433456,39.7346005,15.7687931,32.9115817,68.9159427,37.0157058,45.7835932,24.9831603,4.5471876,10.9602067,10.1371534,40.1880816,12.3831718,1.503141,1.5342326,16.4020573,12.0251705,39.7948592,15.5641419,33.6669482,69.0415323,37.1449196,46.0686412,24.7432174,4.7364463,10.6277782,9.8246558,40.0749262,11.8534483,1.3561915,1.3663244,16.8711405,12.4603837,39.430355,15.5777851,32.7030759,68.7862487,37.0564091,45.8527942,24.579871,4.7796758,10.4757428,9.4148904,40.9148056,12.3949632,1.4147499,1.424757,18.2896079,13.7008163,39.7466676,15.2816066,32.5322058,68.8080575,36.6615173,45.9413932,24.5399466,4.5067362,10.3773191,8.9209792,40.3858415,13.3474689,1.5145756,1.5016267,19.2814758,14.6997379,39.6747587,15.4060789,31.5061291,69.105517,36.1629259,46.5976292,24.3053042,4.2471829,10.3072457,9.0629154,40.4754241,14.2570396 +1946,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.503141,1.5342326,16.4020573,12.0251705,39.7948592,15.5641419,33.6669482,69.0415323,37.1449196,46.0686412,24.7432174,4.7364463,10.6277782,9.8246558,40.0749262,11.8534483,1.3561915,1.3663244,16.8711405,12.4603837,39.430355,15.5777851,32.7030759,68.7862487,37.0564091,45.8527942,24.579871,4.7796758,10.4757428,9.4148904,40.9148056,12.3949632,1.4147499,1.424757,18.2896079,13.7008163,39.7466676,15.2816066,32.5322058,68.8080575,36.6615173,45.9413932,24.5399466,4.5067362,10.3773191,8.9209792,40.3858415,13.3474689,1.5145756,1.5016267,19.2814758,14.6997379,39.6747587,15.4060789,31.5061291,69.105517,36.1629259,46.5976292,24.3053042,4.2471829,10.3072457,9.0629154,40.4754241,14.2570396,1.8030694,1.8154646,20.6594456,16.0369191,40.3733246,15.568756,31.2397845,68.6027171,36.0701323,45.7308318,24.180023,4.4381438,10.7070143,8.9699598,40.0979547,18.1648076 +1947,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6251994,0.5929265,8.9450118,5.7601392,42.3310496,16.1477743,30.5485963,69.8772624,38.4644412,47.1568107,20.8792765,3.5445925,8.9205495,9.4750041,31.6649835,4.2168658,0.6198767,0.5828972,9.0659397,5.7692294,41.8720931,16.1424874,30.5824115,70.0217636,38.5089522,46.7254781,21.616747,3.467859,9.2296585,9.8786424,32.5927646,5.2734375,0.6141676,0.5842043,9.007061,5.7959428,41.5540427,16.1176764,30.3921575,70.3229604,38.9042759,46.6089997,21.7185861,3.5178779,9.0846395,9.5161315,31.7338792,5.5956679,0.6917059,0.6560208,9.3244475,5.9575814,41.608689,15.7728434,30.412139,69.7208212,38.0567341,46.1887981,21.1943421,3.5342358,8.9929637,8.8766519,31.6710737,5.496452,0.6257176,0.632391,9.6417869,6.1668759,41.9358174,15.9679147,30.3000661,70.2435448,37.4755523,46.1730868,20.6892975,3.5986074,8.7229399,8.8248009,30.8816884,5.9139721 +1948,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8580418,0.9048255,12.4337176,8.9729253,25.7019867,20.4113262,36.0246535,67.6336517,42.0548489,48.3137952,23.8782439,3.6438983,10.3803453,9.9574903,34.5092357,12.78419,0.8844636,0.9222378,12.4781585,8.8963296,26.2368026,20.442375,35.9063243,67.557519,42.0274544,48.6861655,23.7533564,3.5980923,10.1681103,9.9563367,34.7244528,12.2024405,0.7233629,0.7721015,12.8314724,9.1298209,26.2316207,19.686685,36.9437462,66.6338338,40.549284,48.6056237,23.2253494,3.3098564,10.7006575,10.1104518,34.3959201,12.2023955,0.719681,0.7600928,13.2321643,9.4326997,27.1197772,19.4965721,37.1286215,66.0588618,39.7757491,48.3656911,22.5688608,3.2279803,11.2434755,10.3621055,33.7624636,11.7142991,0.9011011,0.9322176,13.6976992,9.8861693,27.3825555,19.2223529,37.0114873,65.8930501,38.7757884,48.6834775,21.8376348,3.1623164,11.3092446,10.2113977,33.6923579,12.7219161 +1949,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6616899,0.6727335,9.8803357,6.7913123,36.7595479,20.7447717,32.5510238,66.8335534,38.2310843,45.7129227,22.1446512,6.057553,10.1121988,7.8043861,32.1894024,6.418895,0.7023884,0.7316838,10.0620317,6.8977793,37.0972709,20.8322898,32.338531,66.390116,38.4123684,45.0703403,22.2996974,6.1564521,10.0362326,7.9602187,32.5419329,6.9937146,0.7407645,0.7746517,10.0029859,6.8851742,37.0661522,20.7196087,32.5117027,66.329449,37.9827334,45.0927607,22.3417581,6.0973309,10.1735248,8.1763128,33.2997302,7.314387,0.740222,0.7693184,10.4069803,7.1473483,37.1531428,20.6873871,32.5734354,66.6212545,37.987158,45.4802068,22.5187224,6.2116866,10.0350921,8.1569108,32.8265706,7.3695918,0.7376665,0.7617191,10.7674196,7.4867823,37.5368827,20.1844529,33.0257411,65.8455161,36.8551035,45.1709143,22.3147998,6.4921749,10.2063888,8.2143291,33.0172025,8.1521721 +1950,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6929537,0.6862671,10.6817937,7.5139774,45.2079632,10.7441081,28.7085246,70.8794216,41.1461747,43.5968359,21.9746227,5.0368657,9.6729049,8.5126989,34.8123223,8.2844587,0.7401653,0.7330566,10.5094864,7.3550151,44.4486848,10.8275827,28.1421395,71.0300002,40.8827024,44.2586809,21.906243,4.9940839,9.5303861,8.0658868,35.0942984,8.3333333,0.770834,0.75883,10.6418568,7.4056111,44.1422367,10.8466145,27.8468168,71.1676536,40.6373865,44.3438693,22.1156915,4.900909,9.5091367,8.3900463,35.3778619,7.7988338,0.7770737,0.7811303,10.9897731,7.6337112,44.4414554,10.6386295,27.9798533,71.108167,39.8568433,44.1410389,22.0519601,4.7773048,9.7204698,8.5506933,35.0370333,7.6868829,0.7893435,0.8115314,11.0873162,7.6195923,44.57532,10.5762322,27.8795152,70.049945,39.3767581,43.6114847,21.8655712,4.7081455,9.7389349,8.0085694,35.2681247,7.5172424 +1951,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.2258994,1.2258994,14.1247814,11.6984955,57.375303,27.3568039,35.7992903,67.2617129,33.9286914,40.9013875,20.3231838,5.0170623,13.8331844,9.49996,35.6416979,7.2646541,1.0026421,1.0026421,13.2091831,10.9042827,57.1301986,28.2422446,35.0861086,67.6721934,34.5690347,39.5689097,21.4655484,4.5690088,12.8244756,10.5862598,32.7299283,6.5213894,1.0709696,1.0709696,12.611752,10.1073445,54.5853138,28.3619686,35.6391912,69.4393121,36.865209,41.5937092,22.1541344,5.3415529,12.1751384,9.6090672,32.5160582,6.8803699,1.1267295,1.1267295,12.5450591,9.6570366,54.5534741,29.9824911,34.1917475,68.8276372,34.547079,40.5861148,22.1136759,6.3055566,11.9280581,10.3278065,32.2950718,5.7518463,1.0691043,1.0691043,11.8028378,8.8289171,51.0146321,29.5661436,32.9378606,69.6168206,34.0330369,42.2446231,22.5365606,6.6606569,10.7144133,9.0444766,34.4178783,6.8804015 +1952,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6678039,0.6729258,8.3477688,5.2564948,43.7371533,13.7470079,29.7211762,68.4334574,33.7351837,42.9216039,18.5681583,14.6349712,9.626025,8.1926163,37.1417187,3.1069364,0.6541501,0.6409837,8.1596298,5.1649067,43.3076713,13.6226369,29.6284042,68.1021889,33.6230918,43.1254145,18.5600523,14.618449,9.6031582,8.3248379,37.1827759,3.7390029,0.6655942,0.6625767,8.3366141,5.4112567,42.8542685,13.8697061,29.6240329,68.022874,33.4100166,42.6646487,18.660442,14.6772715,9.6617791,8.3104942,37.1926756,3.4156977,0.6863956,0.6814798,8.3868075,5.6147338,42.5753541,14.1846218,29.6579705,68.2203942,33.5154922,43.5193487,18.7025813,14.6264624,9.6051412,8.3859278,37.0573922,4.1727672,0.7300985,0.7250406,8.6930685,5.9471955,42.5020132,13.9779964,29.2617055,67.7323686,33.045481,42.9334207,18.9518767,14.4693472,9.6111253,8.2778193,37.5185963,3.961136 +1953,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3290088,0.3511229,6.5889629,4.0675547,42.1421663,23.089701,28.1369732,67.2653257,35.8955939,46.7193487,18.75,5.8668582,9.8771267,9.6972564,34.1170825,2.2727273,0.3463557,0.3686374,6.6331418,4.1427203,41.9268293,23.1929153,28.1625782,67.8932179,35.7142857,46.007696,18.3020683,5.9403559,9.2857143,9.5714286,34.4476744,1.6778523,0.3819133,0.4043348,6.4680233,3.997093,42.0371275,23.7397984,29.3053546,68.9097926,36.0588519,46.1890979,18.6444766,6.6811384,9.5615672,9.7572362,34.1706161,1.8248175,0.3822967,0.4264079,6.8041726,4.1488857,41.5662651,23.4249171,29.547619,69.2619048,35.6428571,45.547619,18.1666667,6.1190476,9.2694064,9.1948765,33.287037,1.8656716,0.4650152,0.522961,7.2994403,4.454291,41.6627191,22.1006055,29.7708138,68.5921422,34.6819457,44.9719364,17.9840973,5.9167446,9.6083789,9.543379,32.4287029,1.7482517 +1954,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8844636,0.9222378,12.4781585,8.8963296,26.2368026,20.442375,35.9063243,67.557519,42.0274544,48.6861655,23.7533564,3.5980923,10.1681103,9.9563367,34.7244528,12.2024405,0.7233629,0.7721015,12.8314724,9.1298209,26.2316207,19.686685,36.9437462,66.6338338,40.549284,48.6056237,23.2253494,3.3098564,10.7006575,10.1104518,34.3959201,12.2023955,0.719681,0.7600928,13.2321643,9.4326997,27.1197772,19.4965721,37.1286215,66.0588618,39.7757491,48.3656911,22.5688608,3.2279803,11.2434755,10.3621055,33.7624636,11.7142991,0.9011011,0.9322176,13.6976992,9.8861693,27.3825555,19.2223529,37.0114873,65.8930501,38.7757884,48.6834775,21.8376348,3.1623164,11.3092446,10.2113977,33.6923579,12.7219161,0.845709,0.8846766,13.9550465,10.1360698,27.9522023,19.2328796,37.2022142,65.5555599,37.7376186,48.9290199,22.3426607,3.0923597,11.2695621,10.1375824,33.6898753,14.6875184 +1955,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4469496,0.468652,10.124374,7.0880963,42.8202483,14.4500545,27.3198659,68.0402764,34.2134568,44.7303841,16.294763,5.4021288,10.1202718,8.8848998,28.6261049,5.4924471,0.4540363,0.4551137,10.1680494,7.1914362,42.8287138,14.2189594,27.5564052,66.9622978,34.3275136,44.3458969,16.2022545,5.5619607,10.5555915,8.9580138,28.6512643,4.9019608,0.4884517,0.4945817,10.6485686,7.7080583,43.6362548,13.7008764,28.8452331,65.9180838,33.0521143,44.401802,16.3343295,5.1818646,11.1091728,9.1948393,29.4750679,7.1687422,0.5331927,0.5391629,11.1589488,8.1299496,43.4577181,13.0626032,28.7044427,65.29981,31.895083,44.3790234,15.9849828,5.0856589,11.525549,9.47961,29.9492217,6.9488315,0.4871232,0.4930603,11.601261,8.4782565,43.5867331,13.1775673,28.719076,65.0788499,31.319208,44.5332577,15.6755557,5.2536274,11.3370762,9.5308423,29.4377664,5.8525395 +1956,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5650104,0.5435037,9.3373501,6.1234355,29.4138886,9.8557238,30.9508919,65.8114211,34.4341583,46.7768043,20.1112082,3.7360767,11.2414782,9.2331692,30.2186872,6.4564623,0.6030308,0.5768748,9.9842423,6.530084,29.6511978,9.7841491,31.0481205,65.4330749,34.1014402,46.5467272,19.8675993,3.5984117,11.0389023,8.9767054,30.2960086,7.0093523,0.6319054,0.6100144,10.4023113,6.941745,29.7928756,9.7593287,31.0109143,65.1097538,33.5876934,46.2188004,19.6400161,3.4798895,10.9911983,8.789554,30.6950791,7.2485271,0.6606359,0.6374554,10.5978968,7.1846867,29.9761728,9.5938842,30.9467278,65.0071808,33.0621688,45.6099024,19.3771,3.4443789,10.8414263,8.7476438,30.5693067,7.7868916,0.6363037,0.6289161,10.8634131,7.3828376,30.5007176,9.7191572,30.4807475,64.8625267,33.0269234,45.4450494,19.0971245,3.2475361,11.069954,8.8712335,30.8446275,7.333362 +1957,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6404052,1.5721104,23.2199825,18.3658248,47.8690969,15.8268263,43.4152916,66.0551143,41.541466,52.6456817,28.3941956,3.4592002,12.1922921,11.9867663,31.62478,21.0288795,1.3865766,1.476937,23.4037162,18.5977829,46.5825654,15.2302312,44.5719589,66.5964705,41.443551,52.7926917,28.0685285,3.5144655,12.0661332,10.7943101,30.8970971,17.8814028,1.5356911,1.6275004,23.6641412,18.5829795,45.3773263,15.1607029,43.6537114,67.4570434,41.1597181,52.1099575,27.7145887,4.0954394,11.1326515,9.8214955,30.2255563,18.0142085,1.7959714,1.8894286,23.5290938,18.7091103,45.544399,16.3215976,42.733315,66.9455264,39.8340559,51.8024162,28.5641463,4.0939206,10.8345471,9.3165713,28.5942745,23.6424945,1.7750215,1.8721383,23.234705,18.2386964,46.2949538,16.2613083,43.3079,66.592443,38.6393147,50.458877,27.5468642,3.8042188,10.8664233,8.8879457,30.7521163,21.7549115 +1958,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4894453,0.5220768,9.494154,6.3231443,39.3055791,19.183605,31.349996,69.8595467,39.5825153,45.5910991,22.9223501,3.218886,10.0000114,9.5257517,28.9777515,4.8148112,0.4851125,0.5282687,9.2824693,6.2452579,38.6573413,19.3629472,31.0757979,70.4947076,39.6348616,46.4271657,23.0270753,3.2783684,9.7590452,9.364945,28.8898006,4.887218,0.4929315,0.5541885,8.7362064,5.9573655,37.891584,19.4251586,30.5806296,70.9494007,39.6430006,47.0184289,22.8913138,3.7858035,9.5333866,9.1532177,29.0178637,4.0740741,0.5345584,0.5596686,8.9719334,6.2025799,38.9956173,19.5426598,30.0272907,70.7131726,38.5229876,46.7848615,22.6227312,3.6827805,9.4807351,9.431724,30.8088751,5.2816901,0.5952105,0.6111714,8.9426394,6.2429706,38.2899053,20.0037945,30.2768257,71.1841579,38.5813048,46.9242459,22.8950144,3.633224,9.0182842,9.4965639,31.2739941,3.7671233 +1959,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4540363,0.4551137,10.1680494,7.1914362,42.8287138,14.2189594,27.5564052,66.9622978,34.3275136,44.3458969,16.2022545,5.5619607,10.5555915,8.9580138,28.6512643,4.9019608,0.4884517,0.4945817,10.6485686,7.7080583,43.6362548,13.7008764,28.8452331,65.9180838,33.0521143,44.401802,16.3343295,5.1818646,11.1091728,9.1948393,29.4750679,7.1687422,0.5331927,0.5391629,11.1589488,8.1299496,43.4577181,13.0626032,28.7044427,65.29981,31.895083,44.3790234,15.9849828,5.0856589,11.525549,9.47961,29.9492217,6.9488315,0.4871232,0.4930603,11.601261,8.4782565,43.5867331,13.1775673,28.719076,65.0788499,31.319208,44.5332577,15.6755557,5.2536274,11.3370762,9.5308423,29.4377664,5.8525395,0.5185992,0.5278055,12.1195849,8.9099419,44.0617533,13.1953069,28.6334012,64.618163,30.8122941,44.0555066,15.1787045,5.3628178,11.3622437,9.8281751,29.2968624,7.0717727 +1960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.0026421,1.0026421,13.2091831,10.9042827,57.1301986,28.2422446,35.0861086,67.6721934,34.5690347,39.5689097,21.4655484,4.5690088,12.8244756,10.5862598,32.7299283,6.5213894,1.0709696,1.0709696,12.611752,10.1073445,54.5853138,28.3619686,35.6391912,69.4393121,36.865209,41.5937092,22.1541344,5.3415529,12.1751384,9.6090672,32.5160582,6.8803699,1.1267295,1.1267295,12.5450591,9.6570366,54.5534741,29.9824911,34.1917475,68.8276372,34.547079,40.5861148,22.1136759,6.3055566,11.9280581,10.3278065,32.2950718,5.7518463,1.0691043,1.0691043,11.8028378,8.8289171,51.0146321,29.5661436,32.9378606,69.6168206,34.0330369,42.2446231,22.5365606,6.6606569,10.7144133,9.0444766,34.4178783,6.8804015,1.0654392,1.0654392,11.7913973,9.0492183,50.8240032,30.2515743,33.3029941,69.0563846,35.4812452,43.648144,22.9583887,5.8984469,11.5918359,8.5070478,36.538559,5.8555373 +1961,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6482599,1.6913309,27.9271216,23.0164544,57.398022,16.2669928,39.2261481,64.3946742,36.3114398,45.7296483,20.8505039,3.5190344,14.9564148,12.619889,35.1380168,17.3343245,1.7014569,1.7475225,27.4858561,22.7053014,57.3921194,16.7698989,38.9781111,64.214459,35.6978705,45.3329092,20.6483904,3.5147819,14.5259884,12.4051928,34.598863,20.7555002,1.7106542,1.711956,27.1520593,22.519478,57.1484097,17.0126904,38.4534675,64.2482543,34.6921033,44.5034561,20.5247654,3.2750958,12.8777065,12.2967327,34.4510562,20.2959639,1.7795535,1.7678156,27.3952012,22.5005596,56.7927943,17.0962748,38.5036456,63.0170324,33.7215326,44.3069029,21.1024605,3.2790618,12.290239,12.0554757,34.2495203,20.1649916,1.7084711,1.6966314,27.2288874,22.4984777,56.2770504,17.3399852,38.1771578,63.0167813,33.9966252,44.7505113,21.1474767,2.9665405,12.540288,11.8666404,34.3070973,17.8721866 +1962,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7607962,0.7626652,9.9816933,6.5018366,23.2547902,16.0300685,34.077323,68.4539121,39.0713359,48.8199023,22.9604967,4.2842459,10.1982499,10.5678733,32.6027981,6.7213137,0.7882901,0.7955777,9.9650473,6.501837,23.0519985,16.4405512,34.4954697,68.6397232,39.3095892,49.1947871,23.4281326,4.1373972,9.8158524,10.2602097,33.5274741,6.1461835,0.7984538,0.8039609,10.2042578,6.6174041,22.8001299,16.8579956,34.2747476,68.2337957,39.3430184,48.7286729,23.4727012,4.1211586,10.0455848,9.9934793,33.1963181,6.610174,0.8744602,0.8682688,10.3310629,6.678087,22.5021368,16.3949234,34.529424,68.4621878,39.5546379,48.7815183,23.3865581,3.974786,10.6881114,9.8661152,33.3922894,6.7241402,0.8588817,0.8528079,10.2960174,6.5680086,21.920927,16.8298063,34.6590928,68.8817497,40.1268181,49.5635708,23.7895183,4.0760859,11.0991645,9.6679931,32.9770861,5.8718882 +1963,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9287136,1.9287136,34.2022117,29.3048973,66.0862355,6.0629921,39.9839744,65.4647436,27.8044872,41.1057692,17.0673077,6.9711538,18.2539683,12.2222222,35.3035144,16.0377358,1.8425566,1.8425566,34.3014129,29.4348509,66.8039539,4.9528302,39.28,64.72,27.12,42.96,16.72,6.32,16.0550459,11.1620795,33.4876543,14.3312102,1.9770086,2.1258181,33.6234177,28.8765823,68.616145,4.4811321,40.1442308,62.900641,26.5224359,43.6698718,15.9455128,5.6891026,16.6158537,13.2621951,33.7962963,12.654321,1.9797583,2.1326635,32.9268293,27.8861789,68.6655405,4.7734628,39.4563427,62.5205931,24.6293245,44.7281713,16.3920923,5.8484349,16.2460568,12.7760252,34.6645367,13.8709677,2.2035411,2.3534661,34.16,28.72,69.0713101,5.0159236,38.5298869,61.9547658,25.2827141,45.638126,15.4281099,5.5735057,15.3731343,11.7910448,35.1963746,13.1097561 +1964,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7319771,0.7729638,8.747563,5.2485509,33.8459478,24.4534298,31.5217162,67.5372898,35.4152992,45.6034818,17.8942326,8.4198543,11.3272146,8.9363023,32.0362016,1.7786526,0.6120276,0.6512675,8.7034134,5.4295159,33.0195417,24.8634607,30.940012,67.3743687,35.510518,45.0729066,18.1037265,7.9578549,11.3834254,8.980731,31.5116344,2.123548,0.5451122,0.608626,8.9348853,5.4058589,33.4910545,24.3480296,30.3616909,67.1734783,34.7471157,45.1184256,17.9097361,7.7304712,11.9353079,9.8776426,32.0356161,2.398524,0.5516566,0.5866074,8.6790733,5.3269393,32.8876109,24.414838,30.4658626,67.5707137,34.858566,44.7753682,18.0865363,7.7703838,11.9736343,9.7860043,31.5972687,2.9069767,0.5199035,0.5664998,8.9059662,5.623921,32.9422308,23.901267,30.9106289,67.8522085,35.3779572,45.6528862,18.8831258,7.8178546,12.3160913,9.4030567,31.996163,2.9069767 +1965,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8380641,0.8310332,10.3923017,7.0037837,43.5501916,18.8944783,30.868765,71.2827456,38.3306705,45.983079,23.5430454,4.452606,10.5560245,8.4271,35.298874,7.83912,0.8163805,0.7897297,10.3490126,7.0975834,44.9241085,18.8982131,31.2652955,70.1134856,37.6723926,45.809674,22.965658,4.3660235,10.858054,8.7272826,36.5136315,7.056508,0.8248733,0.814583,10.5256975,7.1783817,44.903114,19.0757125,31.0729143,70.1845845,38.028472,45.9737787,23.3414029,4.2669737,10.8087933,9.2858262,37.5666666,7.0610737,0.8345231,0.8283644,10.6359058,7.198285,45.022819,19.3274246,31.3030176,69.4899809,38.0682704,45.4677228,23.0048231,4.2943879,10.799113,9.7832935,38.1116252,7.3308336,0.7682054,0.7810401,10.3861334,7.0398912,45.2444183,19.8531608,31.9124568,69.2681648,37.8935643,45.0550415,22.8096639,4.3678246,10.4019657,9.5978714,38.2582023,6.782949 +1966,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.0574451,1.0544639,15.7984179,10.7912107,55.9678469,13.9050473,29.3752148,62.3530385,33.6823004,39.4369726,17.3825644,3.9455115,13.417824,10.1771195,39.6559432,11.1940329,0.9810203,0.9273823,15.9583138,11.3741853,57.2212727,14.0096613,29.8201653,63.4610782,34.0637815,40.1018035,17.542131,3.654899,13.6103271,11.3003532,37.7366113,8.3108128,0.9601798,0.8817892,16.6076422,12.182624,58.1618913,14.8373493,29.4710239,63.4616534,34.1344139,39.7243481,18.6416968,3.7368739,13.9126276,12.0785131,37.8404405,6.9946648,0.9297888,0.9212655,15.9173613,12.2041758,60.0791764,14.8169776,30.2138479,62.9808645,33.5674072,39.8149344,18.4147984,3.766677,14.4346148,12.1773585,37.7188924,6.7893821,1.130314,1.1219467,17.2046677,13.6080152,61.1202206,14.3369004,30.4579977,62.1877172,33.4790489,39.1663797,18.1943591,3.6885617,15.1492403,12.3599097,36.6667513,9.9787284 +1967,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3561915,1.3663244,16.8711405,12.4603837,39.430355,15.5777851,32.7030759,68.7862487,37.0564091,45.8527942,24.579871,4.7796758,10.4757428,9.4148904,40.9148056,12.3949632,1.4147499,1.424757,18.2896079,13.7008163,39.7466676,15.2816066,32.5322058,68.8080575,36.6615173,45.9413932,24.5399466,4.5067362,10.3773191,8.9209792,40.3858415,13.3474689,1.5145756,1.5016267,19.2814758,14.6997379,39.6747587,15.4060789,31.5061291,69.105517,36.1629259,46.5976292,24.3053042,4.2471829,10.3072457,9.0629154,40.4754241,14.2570396,1.8030694,1.8154646,20.6594456,16.0369191,40.3733246,15.568756,31.2397845,68.6027171,36.0701323,45.7308318,24.180023,4.4381438,10.7070143,8.9699598,40.0979547,18.1648076,1.8823619,1.8871942,21.5031801,16.7641833,40.8928349,14.8144371,31.4089203,67.9531681,35.9265244,45.3247835,24.1887894,4.3361008,11.2762857,9.3376263,40.8750421,19.2307833 +1968,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7023897,0.7185981,10.8096881,7.280673,25.8053881,14.4123959,29.5847778,69.4725451,41.6519525,49.5302916,22.0539545,7.0600914,9.9136146,9.003045,31.6489488,4.1906441,0.6470209,0.6630887,11.3333657,7.5272069,26.2045361,14.3184015,30.0170323,68.8398445,41.853924,49.6376787,22.439727,6.6256963,9.3879842,8.536115,31.6600658,3.6938093,0.8224932,0.8333304,11.1143362,7.3694197,26.156438,14.160975,30.0519954,69.1105244,41.6229242,48.9382454,22.3870379,6.7067167,10.068194,8.5999499,32.8032209,3.6938093,0.7083335,0.7191497,10.7977302,7.1583739,26.2308641,14.3827547,30.2572681,68.5607025,40.9658997,48.7153872,21.8809029,6.7252282,10.0071303,8.5977851,34.4038029,3.125531,0.6453125,0.670413,11.0891266,7.3194905,25.6115244,14.1773421,30.5024005,68.1596877,40.665521,48.3890455,21.6447692,6.9854165,10.0073804,8.6504583,34.1604771,3.5917555 +1969,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6541501,0.6409837,8.1596298,5.1649067,43.3076713,13.6226369,29.6284042,68.1021889,33.6230918,43.1254145,18.5600523,14.618449,9.6031582,8.3248379,37.1827759,3.7390029,0.6655942,0.6625767,8.3366141,5.4112567,42.8542685,13.8697061,29.6240329,68.022874,33.4100166,42.6646487,18.660442,14.6772715,9.6617791,8.3104942,37.1926756,3.4156977,0.6863956,0.6814798,8.3868075,5.6147338,42.5753541,14.1846218,29.6579705,68.2203942,33.5154922,43.5193487,18.7025813,14.6264624,9.6051412,8.3859278,37.0573922,4.1727672,0.7300985,0.7250406,8.6930685,5.9471955,42.5020132,13.9779964,29.2617055,67.7323686,33.045481,42.9334207,18.9518767,14.4693472,9.6111253,8.2778193,37.5185963,3.961136,0.7792917,0.7803425,9.0115457,6.1932906,42.7519922,13.4974723,28.8313705,67.4471303,33.0060378,42.6462483,18.9988982,14.3161219,10.3854943,8.3036606,37.5447177,3.5266458 +1970,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6198767,0.5828972,9.0659397,5.7692294,41.8720931,16.1424874,30.5824115,70.0217636,38.5089522,46.7254781,21.616747,3.467859,9.2296585,9.8786424,32.5927646,5.2734375,0.6141676,0.5842043,9.007061,5.7959428,41.5540427,16.1176764,30.3921575,70.3229604,38.9042759,46.6089997,21.7185861,3.5178779,9.0846395,9.5161315,31.7338792,5.5956679,0.6917059,0.6560208,9.3244475,5.9575814,41.608689,15.7728434,30.412139,69.7208212,38.0567341,46.1887981,21.1943421,3.5342358,8.9929637,8.8766519,31.6710737,5.496452,0.6257176,0.632391,9.6417869,6.1668759,41.9358174,15.9679147,30.3000661,70.2435448,37.4755523,46.1730868,20.6892975,3.5986074,8.7229399,8.8248009,30.8816884,5.9139721,0.676364,0.7080053,9.4846069,6.2339575,42.0402174,16.1094486,30.3308853,70.101653,36.7106532,45.5774395,20.1881602,3.6007776,8.8970239,8.5708132,30.7809,5.3819407 +1971,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7014569,1.7475225,27.4858561,22.7053014,57.3921194,16.7698989,38.9781111,64.214459,35.6978705,45.3329092,20.6483904,3.5147819,14.5259884,12.4051928,34.598863,20.7555002,1.7106542,1.711956,27.1520593,22.519478,57.1484097,17.0126904,38.4534675,64.2482543,34.6921033,44.5034561,20.5247654,3.2750958,12.8777065,12.2967327,34.4510562,20.2959639,1.7795535,1.7678156,27.3952012,22.5005596,56.7927943,17.0962748,38.5036456,63.0170324,33.7215326,44.3069029,21.1024605,3.2790618,12.290239,12.0554757,34.2495203,20.1649916,1.7084711,1.6966314,27.2288874,22.4984777,56.2770504,17.3399852,38.1771578,63.0167813,33.9966252,44.7505113,21.1474767,2.9665405,12.540288,11.8666404,34.3070973,17.8721866,1.5825761,1.5574828,27.3906133,22.4867138,56.5960806,17.7909806,38.9541666,63.566146,34.1675825,44.8495282,21.3022807,3.1412225,12.909208,11.683983,33.8536074,18.1705212 +1972,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6470209,0.6630887,11.3333657,7.5272069,26.2045361,14.3184015,30.0170323,68.8398445,41.853924,49.6376787,22.439727,6.6256963,9.3879842,8.536115,31.6600658,3.6938093,0.8224932,0.8333304,11.1143362,7.3694197,26.156438,14.160975,30.0519954,69.1105244,41.6229242,48.9382454,22.3870379,6.7067167,10.068194,8.5999499,32.8032209,3.6938093,0.7083335,0.7191497,10.7977302,7.1583739,26.2308641,14.3827547,30.2572681,68.5607025,40.9658997,48.7153872,21.8809029,6.7252282,10.0071303,8.5977851,34.4038029,3.125531,0.6453125,0.670413,11.0891266,7.3194905,25.6115244,14.1773421,30.5024005,68.1596877,40.665521,48.3890455,21.6447692,6.9854165,10.0073804,8.6504583,34.1604771,3.5917555,0.7577905,0.783134,11.0390344,7.2280548,25.4053987,13.802703,30.1947642,68.2442734,40.9143584,48.2334945,21.8707093,6.6774204,9.9327918,8.7301489,33.6623642,4.6455703 +1973,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6120276,0.6512675,8.7034134,5.4295159,33.0195417,24.8634607,30.940012,67.3743687,35.510518,45.0729066,18.1037265,7.9578549,11.3834254,8.980731,31.5116344,2.123548,0.5451122,0.608626,8.9348853,5.4058589,33.4910545,24.3480296,30.3616909,67.1734783,34.7471157,45.1184256,17.9097361,7.7304712,11.9353079,9.8776426,32.0356161,2.398524,0.5516566,0.5866074,8.6790733,5.3269393,32.8876109,24.414838,30.4658626,67.5707137,34.858566,44.7753682,18.0865363,7.7703838,11.9736343,9.7860043,31.5972687,2.9069767,0.5199035,0.5664998,8.9059662,5.623921,32.9422308,23.901267,30.9106289,67.8522085,35.3779572,45.6528862,18.8831258,7.8178546,12.3160913,9.4030567,31.996163,2.9069767,0.528059,0.5693649,9.326999,6.0927682,32.7312808,23.3955991,31.0576011,66.2901121,33.6770949,45.1702125,18.3529436,7.3837445,13.061849,9.436624,31.7901835,3.4050179 +1974,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8163805,0.7897297,10.3490126,7.0975834,44.9241085,18.8982131,31.2652955,70.1134856,37.6723926,45.809674,22.965658,4.3660235,10.858054,8.7272826,36.5136315,7.056508,0.8248733,0.814583,10.5256975,7.1783817,44.903114,19.0757125,31.0729143,70.1845845,38.028472,45.9737787,23.3414029,4.2669737,10.8087933,9.2858262,37.5666666,7.0610737,0.8345231,0.8283644,10.6359058,7.198285,45.022819,19.3274246,31.3030176,69.4899809,38.0682704,45.4677228,23.0048231,4.2943879,10.799113,9.7832935,38.1116252,7.3308336,0.7682054,0.7810401,10.3861334,7.0398912,45.2444183,19.8531608,31.9124568,69.2681648,37.8935643,45.0550415,22.8096639,4.3678246,10.4019657,9.5978714,38.2582023,6.782949,0.6738755,0.6946315,10.7096314,7.3154063,44.6759926,19.445078,31.4797014,68.5986165,37.4187483,44.8423792,22.9098119,4.4933953,10.8849339,10.0906284,37.7221013,7.3585378 +1975,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4884517,0.4945817,10.6485686,7.7080583,43.6362548,13.7008764,28.8452331,65.9180838,33.0521143,44.401802,16.3343295,5.1818646,11.1091728,9.1948393,29.4750679,7.1687422,0.5331927,0.5391629,11.1589488,8.1299496,43.4577181,13.0626032,28.7044427,65.29981,31.895083,44.3790234,15.9849828,5.0856589,11.525549,9.47961,29.9492217,6.9488315,0.4871232,0.4930603,11.601261,8.4782565,43.5867331,13.1775673,28.719076,65.0788499,31.319208,44.5332577,15.6755557,5.2536274,11.3370762,9.5308423,29.4377664,5.8525395,0.5185992,0.5278055,12.1195849,8.9099419,44.0617533,13.1953069,28.6334012,64.618163,30.8122941,44.0555066,15.1787045,5.3628178,11.3622437,9.8281751,29.2968624,7.0717727,0.6227834,0.6505886,12.7383755,9.6082196,44.2056356,12.6325642,27.9953715,64.5293935,30.0378052,43.7672298,15.1926234,5.2958832,12.1646091,10.090828,30.1301243,9.2182209 +1976,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4793856,2.5908413,38.3383963,33.2861623,76.3155776,12.6181273,35.3164168,61.5817675,23.5849927,36.5305245,15.6165019,2.0644638,16.9993632,12.6445749,43.6681932,24.8268407,2.5919635,2.7065826,38.1931238,32.8926875,76.4644594,13.0421951,34.8681422,62.1439718,23.0549991,36.636344,15.1685418,1.9045234,16.8026117,13.4423705,43.4202578,24.7971941,2.4426724,2.545026,36.3506252,31.5211833,75.2430046,13.2891296,34.7804171,61.6604901,22.2293388,36.3788855,14.6593527,1.8362935,17.2212002,13.0756217,42.4993858,24.799135,2.2758463,2.3434995,35.9814628,31.1527958,75.1076631,13.5342038,34.5576371,62.615397,22.6512489,36.7829244,15.1531425,1.8295102,17.2843897,12.7347043,42.6425025,21.7856798,2.0493021,2.0945143,35.006085,30.4189728,74.9763675,13.4572328,35.4391262,63.7895495,23.045247,37.0574912,14.8081511,1.8737686,16.5411629,11.6646445,41.6447608,22.1250776 +1977,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1337399,1.21413,20.1376524,15.3738071,32.304665,17.0851407,33.4626298,67.2948137,37.8937769,48.2511084,23.2241507,3.8533344,12.5693465,10.9169846,35.1242012,17.2938922,1.1516353,1.2252864,20.6962997,16.0033092,32.0597223,17.0488327,33.3704765,66.6689963,37.8179733,49.3411713,23.4358911,3.5666423,12.7404432,10.9167338,35.3569338,17.060931,1.1918645,1.2425528,20.4799648,15.986563,32.2037189,16.9911086,33.1603572,66.8133565,37.8875095,49.3116511,23.5372567,3.3624608,12.4649203,10.3651268,34.741761,16.6037842,1.089328,1.1418656,21.2462089,16.680774,32.3261388,16.8817792,33.5332549,66.80332,38.301934,49.6693361,23.6077478,3.3408462,12.6375953,10.4200745,34.5468243,15.431958,1.0635077,1.1018869,21.5597626,16.9981314,32.2519533,17.1647384,34.7592416,66.6738329,38.0580716,48.7239744,23.2415592,3.3398539,12.8210373,9.8064345,34.2243399,16.8039303 +1978,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0060725,1.9440232,38.5340254,33.8789754,49.5178222,18.210267,36.5473204,66.617825,32.03351,46.2774496,20.1347258,2.9600409,14.8778453,12.1960181,34.9350848,28.6008407,2.1218924,2.0474348,39.3479824,34.3012553,49.3236408,17.7106069,36.2133418,67.0758839,32.5049392,45.7828587,20.3045716,3.1397897,15.6514866,13.2603971,35.5581185,28.0434852,2.3567031,2.2809765,39.9218465,34.5990911,48.6155431,18.1068646,36.5601556,66.7993543,32.4059494,46.0288791,19.9446807,3.3901865,15.7640514,12.5980812,34.72096,26.3485979,2.4712328,2.3951692,40.1590297,34.8206455,47.9096848,18.0177681,37.3346067,67.0269351,32.9174577,46.4139817,20.4584492,3.6498976,15.4168334,13.055147,34.152491,26.6807031,2.2854141,2.2138643,39.1467665,33.8155398,48.1408829,17.6759846,37.6034069,66.6437251,32.0143569,47.1615583,20.7368395,3.583659,14.8626871,13.0454394,34.4362364,27.0998348 +1979,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.247849,1.2613738,21.0333758,16.6663391,83.0553821,13.5597103,33.1946771,64.8618919,34.6658346,37.5183588,17.9596769,5.5023859,12.2043126,10.6115811,36.3077663,18.5171276,1.2551537,1.2551537,22.0870126,17.4382435,83.0639379,14.8759126,33.3102725,64.4486966,34.8969757,38.1632008,18.1056417,5.5659559,12.7023531,10.6354791,35.3332126,20.6764436,1.425375,1.425375,22.3482474,17.0461207,83.3196447,15.1941569,32.7440843,64.9425038,34.989557,37.6932533,18.2459476,5.8433755,12.04284,10.1967673,34.1364905,21.2494169,1.4777544,1.5328371,22.9118015,17.7531349,83.1283471,15.1866743,33.6682429,65.0587408,36.5396403,38.9228295,18.9122743,6.1014409,12.3559978,10.9773288,33.0899081,18.7457525,1.2764765,1.3534804,22.8886215,17.4833704,83.2463041,15.3141678,33.9543487,65.2797277,36.8884184,39.9969251,19.2371799,5.434167,12.0985819,11.5684105,32.994275,16.6902813 +1980,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8248733,0.814583,10.5256975,7.1783817,44.903114,19.0757125,31.0729143,70.1845845,38.028472,45.9737787,23.3414029,4.2669737,10.8087933,9.2858262,37.5666666,7.0610737,0.8345231,0.8283644,10.6359058,7.198285,45.022819,19.3274246,31.3030176,69.4899809,38.0682704,45.4677228,23.0048231,4.2943879,10.799113,9.7832935,38.1116252,7.3308336,0.7682054,0.7810401,10.3861334,7.0398912,45.2444183,19.8531608,31.9124568,69.2681648,37.8935643,45.0550415,22.8096639,4.3678246,10.4019657,9.5978714,38.2582023,6.782949,0.6738755,0.6946315,10.7096314,7.3154063,44.6759926,19.445078,31.4797014,68.5986165,37.4187483,44.8423792,22.9098119,4.4933953,10.8849339,10.0906284,37.7221013,7.3585378,0.7367649,0.7516067,10.871744,7.4154272,44.9532275,19.6221314,31.7563768,67.7980964,37.129868,44.3905421,22.3462134,4.364392,11.0863584,9.7470415,37.4375788,8.0357085 +1981,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7233629,0.7721015,12.8314724,9.1298209,26.2316207,19.686685,36.9437462,66.6338338,40.549284,48.6056237,23.2253494,3.3098564,10.7006575,10.1104518,34.3959201,12.2023955,0.719681,0.7600928,13.2321643,9.4326997,27.1197772,19.4965721,37.1286215,66.0588618,39.7757491,48.3656911,22.5688608,3.2279803,11.2434755,10.3621055,33.7624636,11.7142991,0.9011011,0.9322176,13.6976992,9.8861693,27.3825555,19.2223529,37.0114873,65.8930501,38.7757884,48.6834775,21.8376348,3.1623164,11.3092446,10.2113977,33.6923579,12.7219161,0.845709,0.8846766,13.9550465,10.1360698,27.9522023,19.2328796,37.2022142,65.5555599,37.7376186,48.9290199,22.3426607,3.0923597,11.2695621,10.1375824,33.6898753,14.6875184,1.0650564,1.091401,15.0077992,10.9230145,28.5693515,18.8844622,37.2982449,65.083334,36.7425564,48.703364,22.1090008,3.2415987,11.4738326,9.8231383,33.1732426,14.8876321 +1982,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3865766,1.476937,23.4037162,18.5977829,46.5825654,15.2302312,44.5719589,66.5964705,41.443551,52.7926917,28.0685285,3.5144655,12.0661332,10.7943101,30.8970971,17.8814028,1.5356911,1.6275004,23.6641412,18.5829795,45.3773263,15.1607029,43.6537114,67.4570434,41.1597181,52.1099575,27.7145887,4.0954394,11.1326515,9.8214955,30.2255563,18.0142085,1.7959714,1.8894286,23.5290938,18.7091103,45.544399,16.3215976,42.733315,66.9455264,39.8340559,51.8024162,28.5641463,4.0939206,10.8345471,9.3165713,28.5942745,23.6424945,1.7750215,1.8721383,23.234705,18.2386964,46.2949538,16.2613083,43.3079,66.592443,38.6393147,50.458877,27.5468642,3.8042188,10.8664233,8.8879457,30.7521163,21.7549115,1.8587238,1.9625446,24.7687533,19.7500331,46.8861483,15.5751083,43.6088992,66.0000209,36.9917126,49.8603966,25.8892394,4.0582293,10.932197,8.3378878,33.1563526,21.5446437 +1983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6030308,0.5768748,9.9842423,6.530084,29.6511978,9.7841491,31.0481205,65.4330749,34.1014402,46.5467272,19.8675993,3.5984117,11.0389023,8.9767054,30.2960086,7.0093523,0.6319054,0.6100144,10.4023113,6.941745,29.7928756,9.7593287,31.0109143,65.1097538,33.5876934,46.2188004,19.6400161,3.4798895,10.9911983,8.789554,30.6950791,7.2485271,0.6606359,0.6374554,10.5978968,7.1846867,29.9761728,9.5938842,30.9467278,65.0071808,33.0621688,45.6099024,19.3771,3.4443789,10.8414263,8.7476438,30.5693067,7.7868916,0.6363037,0.6289161,10.8634131,7.3828376,30.5007176,9.7191572,30.4807475,64.8625267,33.0269234,45.4450494,19.0971245,3.2475361,11.069954,8.8712335,30.8446275,7.333362,0.7585496,0.7640873,11.1102851,7.7835158,30.9655029,9.8723478,30.0759715,64.8124862,33.19727,45.2532106,19.3512696,3.4865233,10.7771558,8.691748,30.9592689,7.464819 +1984,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4147499,1.424757,18.2896079,13.7008163,39.7466676,15.2816066,32.5322058,68.8080575,36.6615173,45.9413932,24.5399466,4.5067362,10.3773191,8.9209792,40.3858415,13.3474689,1.5145756,1.5016267,19.2814758,14.6997379,39.6747587,15.4060789,31.5061291,69.105517,36.1629259,46.5976292,24.3053042,4.2471829,10.3072457,9.0629154,40.4754241,14.2570396,1.8030694,1.8154646,20.6594456,16.0369191,40.3733246,15.568756,31.2397845,68.6027171,36.0701323,45.7308318,24.180023,4.4381438,10.7070143,8.9699598,40.0979547,18.1648076,1.8823619,1.8871942,21.5031801,16.7641833,40.8928349,14.8144371,31.4089203,67.9531681,35.9265244,45.3247835,24.1887894,4.3361008,11.2762857,9.3376263,40.8750421,19.2307833,1.9069793,1.911903,22.5100506,17.7710877,41.090994,14.4865382,31.5020619,67.098752,35.4938217,45.1234618,22.9835254,4.3827148,11.431865,9.830363,42.0622539,18.7258904 +1985,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1218924,2.0474348,39.3479824,34.3012553,49.3236408,17.7106069,36.2133418,67.0758839,32.5049392,45.7828587,20.3045716,3.1397897,15.6514866,13.2603971,35.5581185,28.0434852,2.3567031,2.2809765,39.9218465,34.5990911,48.6155431,18.1068646,36.5601556,66.7993543,32.4059494,46.0288791,19.9446807,3.3901865,15.7640514,12.5980812,34.72096,26.3485979,2.4712328,2.3951692,40.1590297,34.8206455,47.9096848,18.0177681,37.3346067,67.0269351,32.9174577,46.4139817,20.4584492,3.6498976,15.4168334,13.055147,34.152491,26.6807031,2.2854141,2.2138643,39.1467665,33.8155398,48.1408829,17.6759846,37.6034069,66.6437251,32.0143569,47.1615583,20.7368395,3.583659,14.8626871,13.0454394,34.4362364,27.0998348,2.5373439,2.4665639,39.5230343,34.3048505,48.7593106,17.9225064,38.2839392,66.8863272,33.3617081,47.0712825,21.4795704,4.0293076,14.6256024,13.6128908,32.9756483,26.9537421 +1986,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2551537,1.2551537,22.0870126,17.4382435,83.0639379,14.8759126,33.3102725,64.4486966,34.8969757,38.1632008,18.1056417,5.5659559,12.7023531,10.6354791,35.3332126,20.6764436,1.425375,1.425375,22.3482474,17.0461207,83.3196447,15.1941569,32.7440843,64.9425038,34.989557,37.6932533,18.2459476,5.8433755,12.04284,10.1967673,34.1364905,21.2494169,1.4777544,1.5328371,22.9118015,17.7531349,83.1283471,15.1866743,33.6682429,65.0587408,36.5396403,38.9228295,18.9122743,6.1014409,12.3559978,10.9773288,33.0899081,18.7457525,1.2764765,1.3534804,22.8886215,17.4833704,83.2463041,15.3141678,33.9543487,65.2797277,36.8884184,39.9969251,19.2371799,5.434167,12.0985819,11.5684105,32.994275,16.6902813,1.3430491,1.4484453,22.6303412,17.2715377,82.5524798,15.7994436,34.3429264,65.4512828,36.7679862,40.0462618,18.9561287,5.0979396,12.4597597,11.9397474,34.5992673,14.1164613 +1987,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.7387803,1.7614614,29.7773775,23.2601368,47.7530878,14.0502466,39.9761019,65.188614,34.3619688,47.3942191,25.8407618,5.4902815,14.5528268,12.2529158,33.3827758,15.8687088,1.6846283,1.7628632,29.8878518,23.4713399,47.4143207,13.8633696,39.9169194,65.2019547,34.5514702,47.0699775,25.9079036,5.0438837,14.7057283,12.1315756,33.2821543,14.9001806,1.5824728,1.6602721,29.4809728,23.4918395,47.9495489,13.3627475,39.9468357,65.6519818,33.2600814,47.3262686,26.0289948,5.1279449,14.6359061,11.758808,32.6797775,16.0029746,1.7048176,1.7810805,28.8358287,23.1937986,47.7769683,13.0072875,40.3508073,66.4899799,33.9676511,47.9999042,26.2171186,5.5994457,14.540274,11.5220487,32.1308827,17.8951554,1.8094189,1.8873685,28.571953,23.1812933,48.4863385,12.9238561,39.8609303,66.6932962,33.5684701,47.7647885,27.0165056,6.1119709,15.9927199,11.7340312,33.4196712,18.071232 +1988,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5145756,1.5016267,19.2814758,14.6997379,39.6747587,15.4060789,31.5061291,69.105517,36.1629259,46.5976292,24.3053042,4.2471829,10.3072457,9.0629154,40.4754241,14.2570396,1.8030694,1.8154646,20.6594456,16.0369191,40.3733246,15.568756,31.2397845,68.6027171,36.0701323,45.7308318,24.180023,4.4381438,10.7070143,8.9699598,40.0979547,18.1648076,1.8823619,1.8871942,21.5031801,16.7641833,40.8928349,14.8144371,31.4089203,67.9531681,35.9265244,45.3247835,24.1887894,4.3361008,11.2762857,9.3376263,40.8750421,19.2307833,1.9069793,1.911903,22.5100506,17.7710877,41.090994,14.4865382,31.5020619,67.098752,35.4938217,45.1234618,22.9835254,4.3827148,11.431865,9.830363,42.0622539,18.7258904,1.9637731,1.9888808,23.4446822,18.5390727,41.1444767,14.2223144,32.108949,66.131647,34.9574859,44.9692805,23.5214102,4.1680878,11.5793397,9.2606618,42.151614,20.3488451 +1989,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8224932,0.8333304,11.1143362,7.3694197,26.156438,14.160975,30.0519954,69.1105244,41.6229242,48.9382454,22.3870379,6.7067167,10.068194,8.5999499,32.8032209,3.6938093,0.7083335,0.7191497,10.7977302,7.1583739,26.2308641,14.3827547,30.2572681,68.5607025,40.9658997,48.7153872,21.8809029,6.7252282,10.0071303,8.5977851,34.4038029,3.125531,0.6453125,0.670413,11.0891266,7.3194905,25.6115244,14.1773421,30.5024005,68.1596877,40.665521,48.3890455,21.6447692,6.9854165,10.0073804,8.6504583,34.1604771,3.5917555,0.7577905,0.783134,11.0390344,7.2280548,25.4053987,13.802703,30.1947642,68.2442734,40.9143584,48.2334945,21.8707093,6.6774204,9.9327918,8.7301489,33.6623642,4.6455703,0.758616,0.7836196,11.560045,7.66687,25.1640608,13.7684267,30.2579461,67.7144786,40.3968467,48.1634807,21.5988249,6.7528567,9.9735154,8.7882307,33.9062178,4.6710472 +1990,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3567031,2.2809765,39.9218465,34.5990911,48.6155431,18.1068646,36.5601556,66.7993543,32.4059494,46.0288791,19.9446807,3.3901865,15.7640514,12.5980812,34.72096,26.3485979,2.4712328,2.3951692,40.1590297,34.8206455,47.9096848,18.0177681,37.3346067,67.0269351,32.9174577,46.4139817,20.4584492,3.6498976,15.4168334,13.055147,34.152491,26.6807031,2.2854141,2.2138643,39.1467665,33.8155398,48.1408829,17.6759846,37.6034069,66.6437251,32.0143569,47.1615583,20.7368395,3.583659,14.8626871,13.0454394,34.4362364,27.0998348,2.5373439,2.4665639,39.5230343,34.3048505,48.7593106,17.9225064,38.2839392,66.8863272,33.3617081,47.0712825,21.4795704,4.0293076,14.6256024,13.6128908,32.9756483,26.9537421,2.4579812,2.415414,40.2475452,34.9448517,49.6304309,17.6652134,38.57349,65.9964419,32.1892569,46.4009354,21.0812148,4.0342402,14.7438707,13.705188,32.0671167,25.399125 +1991,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6798152,1.6941283,28.6306879,24.3445751,44.6852468,17.7348753,37.0696889,64.7481314,32.2545279,44.7548755,21.0301778,2.7903529,13.565608,10.9799426,39.4694094,25.3446098,1.6469379,1.6674015,29.7892052,25.6708896,45.72082,17.7768286,36.9562334,64.9372239,32.3188336,45.6627642,21.4040527,2.8866011,13.6052626,11.3128522,39.1516663,25.3223775,1.6733874,1.7118996,30.6019524,26.6474879,47.6532452,17.5453817,36.1565957,64.9467586,31.9909484,44.6711042,21.2100729,2.8944171,13.2230505,11.0651401,38.5029378,25.6755,1.7425645,1.7602211,31.2125267,27.3389209,48.9818545,17.6208181,36.1217161,64.6713428,31.8557073,44.3482669,21.069692,2.544273,13.5769303,11.0278242,38.8461213,27.0465927,1.9065799,1.9241207,31.3126669,27.4483664,50.1105394,17.0516644,36.2640789,65.3050722,31.7100141,44.2856495,20.9741737,2.4578717,13.2647356,11.0012739,39.8893163,27.9492608 +1992,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8053842,1.848941,30.268938,26.1489367,48.6798733,13.754403,37.3232798,65.0440382,37.2034226,44.6950586,21.5009685,2.532167,17.6670829,12.60062,39.2678256,22.079421,1.7796504,1.8502506,31.0924423,26.8614072,49.7107181,13.1193181,36.9235778,64.9485818,37.280193,45.6307282,21.5300909,2.5705315,17.5982804,12.6228486,39.956439,22.8009081,1.7493515,1.8339167,31.1834405,26.8229642,50.092594,12.8871443,37.0026498,65.8057737,37.1520319,44.9499302,21.8251432,2.793497,17.0754314,12.7222724,39.7952853,23.4669756,1.7328827,1.8222421,31.5472431,26.9083709,50.4751597,12.764388,37.0032799,65.7454282,37.4215592,44.6220507,22.273677,3.0325684,16.7799949,13.1416375,39.4176591,22.9603837,1.8350483,1.8690517,31.6420859,27.0742214,51.2691534,12.6899531,36.6023221,65.1623408,36.3098797,44.2786608,21.8672701,2.8676011,16.1873029,13.0741269,40.3035974,23.0337234 +1993,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7904422,0.7988485,11.3860959,7.0383935,49.9253539,10.6542199,32.7740569,66.5331397,41.4559162,43.7933432,23.7916349,4.6581537,10.3118016,8.6213678,38.684888,5.66714,0.7833402,0.7796799,11.2000251,6.7920186,49.9824517,10.2784063,32.9665646,66.2811921,41.276464,43.5788513,23.6714491,4.6957434,10.5072787,8.5859899,39.6946666,5.9023018,0.7863161,0.7748286,10.9129587,6.6470722,49.5235327,10.46487,33.1708631,66.5450604,41.6056234,43.6178993,23.797725,4.8325327,10.6610287,8.7581842,39.3459015,6.3019356,0.7935846,0.784552,10.9104985,6.7521191,49.4424776,10.9527844,32.9369188,66.5733117,42.193216,44.0072336,23.8459799,4.8563202,11.0356489,8.9894336,38.9591234,6.9877874,0.7714766,0.7624388,11.1599627,6.9247927,49.3325944,10.9222328,32.6983334,66.780665,41.9367726,44.1038752,23.8845066,4.77488,11.030319,9.4250572,39.169446,8.1249977 +1994,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7253632,0.6694919,9.7174681,6.4082193,41.4270416,15.3281763,26.7833013,67.0789177,40.5279219,43.9680601,21.5780077,5.3788602,9.6147653,8.3613106,31.520218,8.1932773,0.7177152,0.6536166,9.8441374,6.7883053,41.4070183,15.6141269,26.612698,66.9136748,40.166495,43.8463617,21.4509231,5.2466849,10.1981819,9.2291961,31.3295243,7.7083333,0.5940338,0.5224672,9.5221783,6.5960725,41.6488919,14.9078402,26.5273244,67.0917812,39.2911919,43.2214191,21.3921347,5.4855243,10.2822137,9.4593585,30.8375301,6.2770563,0.6568799,0.5870441,9.6771842,6.7932852,42.5284653,14.8818739,26.9429201,67.1274467,38.831628,43.6452249,21.5114897,5.552679,10.293206,9.5032132,31.3029111,7.5431034,0.595288,0.5625733,9.9644523,7.3236909,43.0224413,14.7030032,27.3147797,67.0488144,38.3067911,43.9233781,21.2305354,5.586983,10.6018915,9.8046202,31.8578395,7.2093023 +1995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.425375,1.425375,22.3482474,17.0461207,83.3196447,15.1941569,32.7440843,64.9425038,34.989557,37.6932533,18.2459476,5.8433755,12.04284,10.1967673,34.1364905,21.2494169,1.4777544,1.5328371,22.9118015,17.7531349,83.1283471,15.1866743,33.6682429,65.0587408,36.5396403,38.9228295,18.9122743,6.1014409,12.3559978,10.9773288,33.0899081,18.7457525,1.2764765,1.3534804,22.8886215,17.4833704,83.2463041,15.3141678,33.9543487,65.2797277,36.8884184,39.9969251,19.2371799,5.434167,12.0985819,11.5684105,32.994275,16.6902813,1.3430491,1.4484453,22.6303412,17.2715377,82.5524798,15.7994436,34.3429264,65.4512828,36.7679862,40.0462618,18.9561287,5.0979396,12.4597597,11.9397474,34.5992673,14.1164613,1.2778191,1.3844887,22.2092874,16.9452772,82.4050571,16.019519,34.4993109,66.0008773,36.8883934,40.2287516,18.6171106,4.8784208,12.2403736,12.2256896,36.1618601,13.4922705 +1996,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6584382,0.6509939,10.5512862,7.279214,27.0635875,21.4968472,32.7834463,69.3294621,37.5712307,46.7600512,22.530736,3.7328126,13.0192945,11.0538334,35.3425413,6.1985776,0.6503117,0.6355792,10.9132304,7.4397764,26.3373852,21.90165,33.016469,68.4085784,37.4173257,48.039705,22.8889812,3.5129242,12.4827022,10.9159813,36.2637977,5.8558506,0.784256,0.7554318,10.9610942,7.8689143,25.7760495,21.981087,32.3904879,68.7374789,37.8748529,48.6985666,23.695856,3.7687515,13.3013375,11.2696101,36.0187639,4.7008467,0.8479295,0.8195071,11.1164636,7.6011983,25.9964907,21.437318,31.8162998,68.2767369,36.3911398,48.123707,22.9662417,3.4034857,13.2496926,11.8039569,36.6897423,4.867248,0.6892981,0.6823166,10.3512066,7.0586667,25.8390804,21.1505887,31.1027335,68.2124085,36.6448493,48.1506442,23.28061,3.7527403,12.5486677,10.8935877,35.6402776,4.399993 +1997,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7177152,0.6536166,9.8441374,6.7883053,41.4070183,15.6141269,26.612698,66.9136748,40.166495,43.8463617,21.4509231,5.2466849,10.1981819,9.2291961,31.3295243,7.7083333,0.5940338,0.5224672,9.5221783,6.5960725,41.6488919,14.9078402,26.5273244,67.0917812,39.2911919,43.2214191,21.3921347,5.4855243,10.2822137,9.4593585,30.8375301,6.2770563,0.6568799,0.5870441,9.6771842,6.7932852,42.5284653,14.8818739,26.9429201,67.1274467,38.831628,43.6452249,21.5114897,5.552679,10.293206,9.5032132,31.3029111,7.5431034,0.595288,0.5625733,9.9644523,7.3236909,43.0224413,14.7030032,27.3147797,67.0488144,38.3067911,43.9233781,21.2305354,5.586983,10.6018915,9.8046202,31.8578395,7.2093023,0.6589146,0.6318308,10.526764,7.5581384,42.77275,14.7131202,27.7217105,67.7508186,38.7618855,43.4439028,21.1285923,5.4972252,10.3166889,9.5571132,31.4204747,8.6202051 +1998,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6141676,0.5842043,9.007061,5.7959428,41.5540427,16.1176764,30.3921575,70.3229604,38.9042759,46.6089997,21.7185861,3.5178779,9.0846395,9.5161315,31.7338792,5.5956679,0.6917059,0.6560208,9.3244475,5.9575814,41.608689,15.7728434,30.412139,69.7208212,38.0567341,46.1887981,21.1943421,3.5342358,8.9929637,8.8766519,31.6710737,5.496452,0.6257176,0.632391,9.6417869,6.1668759,41.9358174,15.9679147,30.3000661,70.2435448,37.4755523,46.1730868,20.6892975,3.5986074,8.7229399,8.8248009,30.8816884,5.9139721,0.676364,0.7080053,9.4846069,6.2339575,42.0402174,16.1094486,30.3308853,70.101653,36.7106532,45.5774395,20.1881602,3.6007776,8.8970239,8.5708132,30.7809,5.3819407,0.6533384,0.6857108,9.3163009,6.2363449,42.4511123,16.1336166,29.7619095,69.6818184,35.8589285,45.0044659,20.4161254,3.5046704,8.9293692,8.2769595,31.286811,5.2721071 +1999,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4712328,2.3951692,40.1590297,34.8206455,47.9096848,18.0177681,37.3346067,67.0269351,32.9174577,46.4139817,20.4584492,3.6498976,15.4168334,13.055147,34.152491,26.6807031,2.2854141,2.2138643,39.1467665,33.8155398,48.1408829,17.6759846,37.6034069,66.6437251,32.0143569,47.1615583,20.7368395,3.583659,14.8626871,13.0454394,34.4362364,27.0998348,2.5373439,2.4665639,39.5230343,34.3048505,48.7593106,17.9225064,38.2839392,66.8863272,33.3617081,47.0712825,21.4795704,4.0293076,14.6256024,13.6128908,32.9756483,26.9537421,2.4579812,2.415414,40.2475452,34.9448517,49.6304309,17.6652134,38.57349,65.9964419,32.1892569,46.4009354,21.0812148,4.0342402,14.7438707,13.705188,32.0671167,25.399125,2.3436376,2.3582582,39.5410839,34.425188,50.3930257,17.7787984,38.8416887,66.5593943,32.6331131,46.6637229,21.3027164,3.8476221,13.8857598,12.7177038,31.6753114,23.416887 +2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6597291,0.6756393,9.5661812,6.0794085,39.0674294,18.0354477,31.52342,67.9287215,35.8052628,44.314605,20.0815401,4.9464488,9.3444468,8.7159655,32.324191,5.4139835,0.6099612,0.5983816,9.3973603,6.1636968,39.0500575,17.9970065,31.2035505,67.7755479,35.6163628,43.8703676,20.2330037,4.8806361,9.950882,8.791515,32.7261992,3.9659231,0.6678169,0.6565762,9.2038404,6.2673454,38.4589868,17.9374046,30.8467064,67.8267693,35.5603932,44.0436936,20.377025,4.7885448,9.8237065,8.6900771,32.2347711,5.3992938,0.6658385,0.6490063,9.6516948,6.5514934,38.9497294,17.6717875,30.3967051,67.8692653,35.5882822,43.5115946,20.1631292,4.610637,9.4540305,8.4798379,32.1330324,5.5178954,0.6528082,0.6353663,9.5360708,6.4967462,39.309705,17.5998761,30.5908279,68.1885778,35.9071925,44.0392836,20.7050538,4.5904039,10.1558641,9.0572781,31.5882579,5.8806566 +2001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6319054,0.6100144,10.4023113,6.941745,29.7928756,9.7593287,31.0109143,65.1097538,33.5876934,46.2188004,19.6400161,3.4798895,10.9911983,8.789554,30.6950791,7.2485271,0.6606359,0.6374554,10.5978968,7.1846867,29.9761728,9.5938842,30.9467278,65.0071808,33.0621688,45.6099024,19.3771,3.4443789,10.8414263,8.7476438,30.5693067,7.7868916,0.6363037,0.6289161,10.8634131,7.3828376,30.5007176,9.7191572,30.4807475,64.8625267,33.0269234,45.4450494,19.0971245,3.2475361,11.069954,8.8712335,30.8446275,7.333362,0.7585496,0.7640873,11.1102851,7.7835158,30.9655029,9.8723478,30.0759715,64.8124862,33.19727,45.2532106,19.3512696,3.4865233,10.7771558,8.691748,30.9592689,7.464819,0.7137426,0.7193279,11.4109341,8.0960249,31.7215562,9.9589367,29.765644,64.4738776,32.7180743,45.3247668,19.2139927,3.4230571,11.2178526,8.9398628,30.8893172,8.1896505 +2002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5281409,0.4941768,8.365085,6.2535703,71.7303714,11.5775683,26.1778507,68.0835496,31.4293784,45.1815165,15.3492161,5.2788421,11.7864158,9.3551372,34.5581059,4.0539737,0.5052364,0.4730118,8.6544426,6.4972931,70.7917467,12.226659,25.9632256,67.5142118,31.2018487,44.4018111,14.3554334,5.315885,11.0389037,9.2499519,33.4848847,3.9129312,0.4803902,0.4497503,8.7519208,6.6066414,70.1868207,12.6146234,25.1215282,67.6942121,31.1408552,44.1992052,14.0534928,4.6845364,11.6938656,9.7877901,33.5116721,3.6884248,0.6739196,0.630307,8.3989675,6.3166202,69.9577063,13.8114504,24.9192952,67.2286771,31.2934329,43.8107821,14.064832,4.36501,11.8806675,9.4208847,34.090911,2.083276,0.5760822,0.5342939,8.1566649,6.1672971,69.5407119,13.4313649,25.4647469,67.942512,31.4382016,43.208139,14.048877,4.3585136,12.3352908,9.9647886,33.318652,2.940524 +2003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5451122,0.608626,8.9348853,5.4058589,33.4910545,24.3480296,30.3616909,67.1734783,34.7471157,45.1184256,17.9097361,7.7304712,11.9353079,9.8776426,32.0356161,2.398524,0.5516566,0.5866074,8.6790733,5.3269393,32.8876109,24.414838,30.4658626,67.5707137,34.858566,44.7753682,18.0865363,7.7703838,11.9736343,9.7860043,31.5972687,2.9069767,0.5199035,0.5664998,8.9059662,5.623921,32.9422308,23.901267,30.9106289,67.8522085,35.3779572,45.6528862,18.8831258,7.8178546,12.3160913,9.4030567,31.996163,2.9069767,0.528059,0.5693649,9.326999,6.0927682,32.7312808,23.3955991,31.0576011,66.2901121,33.6770949,45.1702125,18.3529436,7.3837445,13.061849,9.436624,31.7901835,3.4050179,0.4788751,0.5186078,9.5530194,6.3739256,33.0763916,23.0634994,31.0230595,65.7246569,33.4859065,44.0952976,18.1085887,7.5939243,13.0958727,10.0154789,31.8740771,4.0780142 +2004,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.844518,0.8641032,12.3238227,8.9927332,60.7162596,8.7956876,27.6531398,63.4079218,31.0545804,38.5655451,16.1827613,6.1820857,10.3731098,8.3874079,36.407766,6.1363632,0.9261648,0.9512549,12.6574902,9.16118,61.6708608,8.5043953,27.9695238,62.9735524,30.705477,38.3795307,15.9452023,6.2009997,10.3360646,8.1508887,36.7255416,6.6560505,0.9293416,0.9426723,13.0005322,9.4839203,62.3395717,8.4357765,27.894967,62.7668115,30.2919994,38.3444898,15.746743,6.1040734,10.059453,8.03879,36.6699862,6.8690091,0.9431863,0.9539535,13.2385693,9.6774944,63.096123,8.4240107,27.702244,62.2006672,29.9306223,37.9409722,15.4576541,5.9655511,10.4486496,8.2542836,36.5530534,7.1992106,0.9231513,0.9200413,13.6764871,10.0751045,63.7379063,8.5504672,27.8176585,61.6715611,29.8229953,37.8502939,15.4780239,5.9436417,10.6065725,8.3115498,36.9353798,7.6559541 +2005,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5940338,0.5224672,9.5221783,6.5960725,41.6488919,14.9078402,26.5273244,67.0917812,39.2911919,43.2214191,21.3921347,5.4855243,10.2822137,9.4593585,30.8375301,6.2770563,0.6568799,0.5870441,9.6771842,6.7932852,42.5284653,14.8818739,26.9429201,67.1274467,38.831628,43.6452249,21.5114897,5.552679,10.293206,9.5032132,31.3029111,7.5431034,0.595288,0.5625733,9.9644523,7.3236909,43.0224413,14.7030032,27.3147797,67.0488144,38.3067911,43.9233781,21.2305354,5.586983,10.6018915,9.8046202,31.8578395,7.2093023,0.6589146,0.6318308,10.526764,7.5581384,42.77275,14.7131202,27.7217105,67.7508186,38.7618855,43.4439028,21.1285923,5.4972252,10.3166889,9.5571132,31.4204747,8.6202051,0.7079072,0.7079072,11.1791952,8.0517639,43.8555168,14.5179292,27.6768447,66.7965898,37.6857695,42.4478893,20.3259845,5.1805973,11.4088449,9.9143935,32.0780836,10.4710639 +2006,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5919635,2.7065826,38.1931238,32.8926875,76.4644594,13.0421951,34.8681422,62.1439718,23.0549991,36.636344,15.1685418,1.9045234,16.8026117,13.4423705,43.4202578,24.7971941,2.4426724,2.545026,36.3506252,31.5211833,75.2430046,13.2891296,34.7804171,61.6604901,22.2293388,36.3788855,14.6593527,1.8362935,17.2212002,13.0756217,42.4993858,24.799135,2.2758463,2.3434995,35.9814628,31.1527958,75.1076631,13.5342038,34.5576371,62.615397,22.6512489,36.7829244,15.1531425,1.8295102,17.2843897,12.7347043,42.6425025,21.7856798,2.0493021,2.0945143,35.006085,30.4189728,74.9763675,13.4572328,35.4391262,63.7895495,23.045247,37.0574912,14.8081511,1.8737686,16.5411629,11.6646445,41.6447608,22.1250776,2.3221043,2.3328078,33.8397199,29.402235,74.0052787,13.257449,34.6006845,65.1509153,23.7260078,36.8859997,15.1229733,1.8175571,15.8152942,10.8547375,38.9573018,23.4495063 +2007,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4851125,0.5282687,9.2824693,6.2452579,38.6573413,19.3629472,31.0757979,70.4947076,39.6348616,46.4271657,23.0270753,3.2783684,9.7590452,9.364945,28.8898006,4.887218,0.4929315,0.5541885,8.7362064,5.9573655,37.891584,19.4251586,30.5806296,70.9494007,39.6430006,47.0184289,22.8913138,3.7858035,9.5333866,9.1532177,29.0178637,4.0740741,0.5345584,0.5596686,8.9719334,6.2025799,38.9956173,19.5426598,30.0272907,70.7131726,38.5229876,46.7848615,22.6227312,3.6827805,9.4807351,9.431724,30.8088751,5.2816901,0.5952105,0.6111714,8.9426394,6.2429706,38.2899053,20.0037945,30.2768257,71.1841579,38.5813048,46.9242459,22.8950144,3.633224,9.0182842,9.4965639,31.2739941,3.7671233,0.6343045,0.6618637,9.2184061,6.376216,37.5000186,20.1247104,31.018001,71.8905662,39.1312573,47.0531742,22.2923723,3.8844258,8.6090288,9.0874798,31.7562632,5.208337 +2008,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6655942,0.6625767,8.3366141,5.4112567,42.8542685,13.8697061,29.6240329,68.022874,33.4100166,42.6646487,18.660442,14.6772715,9.6617791,8.3104942,37.1926756,3.4156977,0.6863956,0.6814798,8.3868075,5.6147338,42.5753541,14.1846218,29.6579705,68.2203942,33.5154922,43.5193487,18.7025813,14.6264624,9.6051412,8.3859278,37.0573922,4.1727672,0.7300985,0.7250406,8.6930685,5.9471955,42.5020132,13.9779964,29.2617055,67.7323686,33.045481,42.9334207,18.9518767,14.4693472,9.6111253,8.2778193,37.5185963,3.961136,0.7792917,0.7803425,9.0115457,6.1932906,42.7519922,13.4974723,28.8313705,67.4471303,33.0060378,42.6462483,18.9988982,14.3161219,10.3854943,8.3036606,37.5447177,3.5266458,0.7425537,0.7642989,9.1055728,6.1628797,43.6437243,13.5412599,29.7113678,66.7292294,32.5588874,42.5511278,18.8260406,14.1405636,10.6385312,8.3205106,37.7198794,3.171091 +2009,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6469379,1.6674015,29.7892052,25.6708896,45.72082,17.7768286,36.9562334,64.9372239,32.3188336,45.6627642,21.4040527,2.8866011,13.6052626,11.3128522,39.1516663,25.3223775,1.6733874,1.7118996,30.6019524,26.6474879,47.6532452,17.5453817,36.1565957,64.9467586,31.9909484,44.6711042,21.2100729,2.8944171,13.2230505,11.0651401,38.5029378,25.6755,1.7425645,1.7602211,31.2125267,27.3389209,48.9818545,17.6208181,36.1217161,64.6713428,31.8557073,44.3482669,21.069692,2.544273,13.5769303,11.0278242,38.8461213,27.0465927,1.9065799,1.9241207,31.3126669,27.4483664,50.1105394,17.0516644,36.2640789,65.3050722,31.7100141,44.2856495,20.9741737,2.4578717,13.2647356,11.0012739,39.8893163,27.9492608,2.0932479,2.1372867,31.7056168,27.845066,51.516967,16.7795643,35.3926153,65.2864105,32.2083029,44.0009889,21.4476134,2.4322816,13.1591811,10.5957034,39.568256,27.072611 +2010,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6099612,0.5983816,9.3973603,6.1636968,39.0500575,17.9970065,31.2035505,67.7755479,35.6163628,43.8703676,20.2330037,4.8806361,9.950882,8.791515,32.7261992,3.9659231,0.6678169,0.6565762,9.2038404,6.2673454,38.4589868,17.9374046,30.8467064,67.8267693,35.5603932,44.0436936,20.377025,4.7885448,9.8237065,8.6900771,32.2347711,5.3992938,0.6658385,0.6490063,9.6516948,6.5514934,38.9497294,17.6717875,30.3967051,67.8692653,35.5882822,43.5115946,20.1631292,4.610637,9.4540305,8.4798379,32.1330324,5.5178954,0.6528082,0.6353663,9.5360708,6.4967462,39.309705,17.5998761,30.5908279,68.1885778,35.9071925,44.0392836,20.7050538,4.5904039,10.1558641,9.0572781,31.5882579,5.8806566,0.5836476,0.5471774,9.9225517,6.9851668,39.5851239,18.0854478,31.3029612,67.4293177,35.1555205,44.3142799,20.70443,4.4196365,10.224745,9.3325259,31.5090243,6.1135493 +2011,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7796504,1.8502506,31.0924423,26.8614072,49.7107181,13.1193181,36.9235778,64.9485818,37.280193,45.6307282,21.5300909,2.5705315,17.5982804,12.6228486,39.956439,22.8009081,1.7493515,1.8339167,31.1834405,26.8229642,50.092594,12.8871443,37.0026498,65.8057737,37.1520319,44.9499302,21.8251432,2.793497,17.0754314,12.7222724,39.7952853,23.4669756,1.7328827,1.8222421,31.5472431,26.9083709,50.4751597,12.764388,37.0032799,65.7454282,37.4215592,44.6220507,22.273677,3.0325684,16.7799949,13.1416375,39.4176591,22.9603837,1.8350483,1.8690517,31.6420859,27.0742214,51.2691534,12.6899531,36.6023221,65.1623408,36.3098797,44.2786608,21.8672701,2.8676011,16.1873029,13.0741269,40.3035974,23.0337234,1.9185712,1.9163707,32.5299973,28.014123,51.4861788,12.8541099,37.4132692,65.2847137,36.6112525,44.330491,22.0002108,2.9132751,16.1552576,12.3720921,39.6289415,22.3595606 +2012,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.483146,1.4435224,31.967951,28.6428541,66.4983699,13.9394534,34.6886689,62.7758434,29.7147186,40.6942814,16.414034,2.3027514,17.7651281,13.8514,44.2387016,17.4930599,1.5448979,1.5391802,32.910467,29.3209046,67.3681043,13.5205186,34.598231,62.7686427,29.0320726,40.621807,16.0813998,2.4354462,17.5334264,13.8789863,41.7540232,17.9886227,1.6021678,1.5965154,32.3235064,28.6730376,66.1299311,13.7526825,35.1060606,62.9482741,29.0300989,40.6859604,16.530946,2.4779046,17.5112211,14.0943958,41.3099722,18.5753723,1.8692805,1.861944,32.5890317,28.421711,65.9138941,13.8727689,36.1765437,63.5293921,28.8437991,40.5801127,16.8376636,2.480826,17.4522655,14.0450985,40.9581802,18.9750167,2.1059951,2.0984959,32.6946744,28.4381089,66.0437422,13.6883846,36.619675,63.7576941,28.7126234,40.2384892,17.1011181,2.4342256,17.7400953,14.4701718,40.4966115,19.5223835 +2013,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1516353,1.2252864,20.6962997,16.0033092,32.0597223,17.0488327,33.3704765,66.6689963,37.8179733,49.3411713,23.4358911,3.5666423,12.7404432,10.9167338,35.3569338,17.060931,1.1918645,1.2425528,20.4799648,15.986563,32.2037189,16.9911086,33.1603572,66.8133565,37.8875095,49.3116511,23.5372567,3.3624608,12.4649203,10.3651268,34.741761,16.6037842,1.089328,1.1418656,21.2462089,16.680774,32.3261388,16.8817792,33.5332549,66.80332,38.301934,49.6693361,23.6077478,3.3408462,12.6375953,10.4200745,34.5468243,15.431958,1.0635077,1.1018869,21.5597626,16.9981314,32.2519533,17.1647384,34.7592416,66.6738329,38.0580716,48.7239744,23.2415592,3.3398539,12.8210373,9.8064345,34.2243399,16.8039303,0.9611184,0.9988821,21.6522481,17.4511541,32.5966765,16.5911757,35.1717075,67.2153396,38.4764568,48.038313,23.0640912,2.9117874,12.5260837,9.656273,33.2371568,15.6149471 +2014,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6863956,0.6814798,8.3868075,5.6147338,42.5753541,14.1846218,29.6579705,68.2203942,33.5154922,43.5193487,18.7025813,14.6264624,9.6051412,8.3859278,37.0573922,4.1727672,0.7300985,0.7250406,8.6930685,5.9471955,42.5020132,13.9779964,29.2617055,67.7323686,33.045481,42.9334207,18.9518767,14.4693472,9.6111253,8.2778193,37.5185963,3.961136,0.7792917,0.7803425,9.0115457,6.1932906,42.7519922,13.4974723,28.8313705,67.4471303,33.0060378,42.6462483,18.9988982,14.3161219,10.3854943,8.3036606,37.5447177,3.5266458,0.7425537,0.7642989,9.1055728,6.1628797,43.6437243,13.5412599,29.7113678,66.7292294,32.5588874,42.5511278,18.8260406,14.1405636,10.6385312,8.3205106,37.7198794,3.171091,0.7583378,0.7696795,9.5258646,6.3402879,44.3232518,13.1412632,30.003714,65.3698728,31.8221192,42.4233101,18.7592785,14.4173667,10.3749509,8.3119194,37.4087231,4.0772526 +2015,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5331927,0.5391629,11.1589488,8.1299496,43.4577181,13.0626032,28.7044427,65.29981,31.895083,44.3790234,15.9849828,5.0856589,11.525549,9.47961,29.9492217,6.9488315,0.4871232,0.4930603,11.601261,8.4782565,43.5867331,13.1775673,28.719076,65.0788499,31.319208,44.5332577,15.6755557,5.2536274,11.3370762,9.5308423,29.4377664,5.8525395,0.5185992,0.5278055,12.1195849,8.9099419,44.0617533,13.1953069,28.6334012,64.618163,30.8122941,44.0555066,15.1787045,5.3628178,11.3622437,9.8281751,29.2968624,7.0717727,0.6227834,0.6505886,12.7383755,9.6082196,44.2056356,12.6325642,27.9953715,64.5293935,30.0378052,43.7672298,15.1926234,5.2958832,12.1646091,10.090828,30.1301243,9.2182209,0.7303328,0.7569321,13.2624395,9.9443619,45.0283457,12.5356056,28.3367126,64.163328,29.4252979,43.5586247,15.0906855,5.3528555,12.2879028,9.8694102,30.763764,10.7571242 +2016,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1918645,1.2425528,20.4799648,15.986563,32.2037189,16.9911086,33.1603572,66.8133565,37.8875095,49.3116511,23.5372567,3.3624608,12.4649203,10.3651268,34.741761,16.6037842,1.089328,1.1418656,21.2462089,16.680774,32.3261388,16.8817792,33.5332549,66.80332,38.301934,49.6693361,23.6077478,3.3408462,12.6375953,10.4200745,34.5468243,15.431958,1.0635077,1.1018869,21.5597626,16.9981314,32.2519533,17.1647384,34.7592416,66.6738329,38.0580716,48.7239744,23.2415592,3.3398539,12.8210373,9.8064345,34.2243399,16.8039303,0.9611184,0.9988821,21.6522481,17.4511541,32.5966765,16.5911757,35.1717075,67.2153396,38.4764568,48.038313,23.0640912,2.9117874,12.5260837,9.656273,33.2371568,15.6149471,1.0395732,1.0731047,21.5098106,17.1630994,33.0887695,16.5910395,35.3585613,67.1235096,38.2707544,47.6730934,22.6454376,3.084611,12.5516997,9.4460157,33.5152101,18.2595711 +2017,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5052364,0.4730118,8.6544426,6.4972931,70.7917467,12.226659,25.9632256,67.5142118,31.2018487,44.4018111,14.3554334,5.315885,11.0389037,9.2499519,33.4848847,3.9129312,0.4803902,0.4497503,8.7519208,6.6066414,70.1868207,12.6146234,25.1215282,67.6942121,31.1408552,44.1992052,14.0534928,4.6845364,11.6938656,9.7877901,33.5116721,3.6884248,0.6739196,0.630307,8.3989675,6.3166202,69.9577063,13.8114504,24.9192952,67.2286771,31.2934329,43.8107821,14.064832,4.36501,11.8806675,9.4208847,34.090911,2.083276,0.5760822,0.5342939,8.1566649,6.1672971,69.5407119,13.4313649,25.4647469,67.942512,31.4382016,43.208139,14.048877,4.3585136,12.3352908,9.9647886,33.318652,2.940524,0.4599274,0.4599274,7.9993065,6.0997924,69.1925594,13.4080891,25.6384664,68.1490343,31.3405492,43.936278,13.6383957,4.7873297,13.2340816,10.3490985,33.2048228,2.1545207 +2018,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6846283,1.7628632,29.8878518,23.4713399,47.4143207,13.8633696,39.9169194,65.2019547,34.5514702,47.0699775,25.9079036,5.0438837,14.7057283,12.1315756,33.2821543,14.9001806,1.5824728,1.6602721,29.4809728,23.4918395,47.9495489,13.3627475,39.9468357,65.6519818,33.2600814,47.3262686,26.0289948,5.1279449,14.6359061,11.758808,32.6797775,16.0029746,1.7048176,1.7810805,28.8358287,23.1937986,47.7769683,13.0072875,40.3508073,66.4899799,33.9676511,47.9999042,26.2171186,5.5994457,14.540274,11.5220487,32.1308827,17.8951554,1.8094189,1.8873685,28.571953,23.1812933,48.4863385,12.9238561,39.8609303,66.6932962,33.5684701,47.7647885,27.0165056,6.1119709,15.9927199,11.7340312,33.4196712,18.071232,1.697947,1.7581825,29.2773478,23.7928295,49.8328038,11.753783,39.6224175,66.2924898,33.4884542,48.055812,27.3550167,5.9967904,16.1798294,12.1884523,32.6253632,17.9132166 +2019,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7882901,0.7955777,9.9650473,6.501837,23.0519985,16.4405512,34.4954697,68.6397232,39.3095892,49.1947871,23.4281326,4.1373972,9.8158524,10.2602097,33.5274741,6.1461835,0.7984538,0.8039609,10.2042578,6.6174041,22.8001299,16.8579956,34.2747476,68.2337957,39.3430184,48.7286729,23.4727012,4.1211586,10.0455848,9.9934793,33.1963181,6.610174,0.8744602,0.8682688,10.3310629,6.678087,22.5021368,16.3949234,34.529424,68.4621878,39.5546379,48.7815183,23.3865581,3.974786,10.6881114,9.8661152,33.3922894,6.7241402,0.8588817,0.8528079,10.2960174,6.5680086,21.920927,16.8298063,34.6590928,68.8817497,40.1268181,49.5635708,23.7895183,4.0760859,11.0991645,9.6679931,32.9770861,5.8718882,0.9201266,0.9148539,10.3730258,6.7698453,22.0104206,16.8583743,34.8626036,69.1118726,40.5544783,49.8609896,23.8223706,4.1625788,10.7056985,9.5159253,32.9748764,5.8098592 +2020,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.719681,0.7600928,13.2321643,9.4326997,27.1197772,19.4965721,37.1286215,66.0588618,39.7757491,48.3656911,22.5688608,3.2279803,11.2434755,10.3621055,33.7624636,11.7142991,0.9011011,0.9322176,13.6976992,9.8861693,27.3825555,19.2223529,37.0114873,65.8930501,38.7757884,48.6834775,21.8376348,3.1623164,11.3092446,10.2113977,33.6923579,12.7219161,0.845709,0.8846766,13.9550465,10.1360698,27.9522023,19.2328796,37.2022142,65.5555599,37.7376186,48.9290199,22.3426607,3.0923597,11.2695621,10.1375824,33.6898753,14.6875184,1.0650564,1.091401,15.0077992,10.9230145,28.5693515,18.8844622,37.2982449,65.083334,36.7425564,48.703364,22.1090008,3.2415987,11.4738326,9.8231383,33.1732426,14.8876321,1.0513313,1.092793,15.2887872,11.0193039,28.7375555,18.6565733,37.4209179,64.6545056,36.3832302,48.304228,21.7033501,2.8979938,12.033704,10.202233,33.3032215,14.6276285 +2021,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8030694,1.8154646,20.6594456,16.0369191,40.3733246,15.568756,31.2397845,68.6027171,36.0701323,45.7308318,24.180023,4.4381438,10.7070143,8.9699598,40.0979547,18.1648076,1.8823619,1.8871942,21.5031801,16.7641833,40.8928349,14.8144371,31.4089203,67.9531681,35.9265244,45.3247835,24.1887894,4.3361008,11.2762857,9.3376263,40.8750421,19.2307833,1.9069793,1.911903,22.5100506,17.7710877,41.090994,14.4865382,31.5020619,67.098752,35.4938217,45.1234618,22.9835254,4.3827148,11.431865,9.830363,42.0622539,18.7258904,1.9637731,1.9888808,23.4446822,18.5390727,41.1444767,14.2223144,32.108949,66.131647,34.9574859,44.9692805,23.5214102,4.1680878,11.5793397,9.2606618,42.151614,20.3488451,1.8938774,1.8824978,25.7024672,20.5879105,41.054651,14.4821311,33.9167485,65.9698656,33.8033701,44.7625433,23.8267366,4.1380317,12.8437455,10.0753296,41.508833,20.3020134 +2022,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9011011,0.9322176,13.6976992,9.8861693,27.3825555,19.2223529,37.0114873,65.8930501,38.7757884,48.6834775,21.8376348,3.1623164,11.3092446,10.2113977,33.6923579,12.7219161,0.845709,0.8846766,13.9550465,10.1360698,27.9522023,19.2328796,37.2022142,65.5555599,37.7376186,48.9290199,22.3426607,3.0923597,11.2695621,10.1375824,33.6898753,14.6875184,1.0650564,1.091401,15.0077992,10.9230145,28.5693515,18.8844622,37.2982449,65.083334,36.7425564,48.703364,22.1090008,3.2415987,11.4738326,9.8231383,33.1732426,14.8876321,1.0513313,1.092793,15.2887872,11.0193039,28.7375555,18.6565733,37.4209179,64.6545056,36.3832302,48.304228,21.7033501,2.8979938,12.033704,10.202233,33.3032215,14.6276285,1.0494792,1.0889933,15.2912453,11.2120314,28.8778131,18.2341889,38.1141727,64.0534639,36.0910831,47.8925885,21.5438181,3.022633,11.8870336,10.1259274,33.0101795,13.7305415 +2023,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7493515,1.8339167,31.1834405,26.8229642,50.092594,12.8871443,37.0026498,65.8057737,37.1520319,44.9499302,21.8251432,2.793497,17.0754314,12.7222724,39.7952853,23.4669756,1.7328827,1.8222421,31.5472431,26.9083709,50.4751597,12.764388,37.0032799,65.7454282,37.4215592,44.6220507,22.273677,3.0325684,16.7799949,13.1416375,39.4176591,22.9603837,1.8350483,1.8690517,31.6420859,27.0742214,51.2691534,12.6899531,36.6023221,65.1623408,36.3098797,44.2786608,21.8672701,2.8676011,16.1873029,13.0741269,40.3035974,23.0337234,1.9185712,1.9163707,32.5299973,28.014123,51.4861788,12.8541099,37.4132692,65.2847137,36.6112525,44.330491,22.0002108,2.9132751,16.1552576,12.3720921,39.6289415,22.3595606,1.8041626,1.8283293,32.9357855,28.5182989,51.7984219,13.1725944,38.1892586,65.1564082,37.0756501,44.3944659,21.7468568,2.9310407,16.1879323,12.1257739,39.3398012,21.0239743 +2024,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4777544,1.5328371,22.9118015,17.7531349,83.1283471,15.1866743,33.6682429,65.0587408,36.5396403,38.9228295,18.9122743,6.1014409,12.3559978,10.9773288,33.0899081,18.7457525,1.2764765,1.3534804,22.8886215,17.4833704,83.2463041,15.3141678,33.9543487,65.2797277,36.8884184,39.9969251,19.2371799,5.434167,12.0985819,11.5684105,32.994275,16.6902813,1.3430491,1.4484453,22.6303412,17.2715377,82.5524798,15.7994436,34.3429264,65.4512828,36.7679862,40.0462618,18.9561287,5.0979396,12.4597597,11.9397474,34.5992673,14.1164613,1.2778191,1.3844887,22.2092874,16.9452772,82.4050571,16.019519,34.4993109,66.0008773,36.8883934,40.2287516,18.6171106,4.8784208,12.2403736,12.2256896,36.1618601,13.4922705,1.434663,1.5420813,21.8586922,16.305801,82.7321175,16.3179111,35.7099156,64.6669721,37.4154048,41.0922912,18.9767635,4.9695636,13.8094071,13.3068688,37.5509425,13.7501994 +2025,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4871232,0.4930603,11.601261,8.4782565,43.5867331,13.1775673,28.719076,65.0788499,31.319208,44.5332577,15.6755557,5.2536274,11.3370762,9.5308423,29.4377664,5.8525395,0.5185992,0.5278055,12.1195849,8.9099419,44.0617533,13.1953069,28.6334012,64.618163,30.8122941,44.0555066,15.1787045,5.3628178,11.3622437,9.8281751,29.2968624,7.0717727,0.6227834,0.6505886,12.7383755,9.6082196,44.2056356,12.6325642,27.9953715,64.5293935,30.0378052,43.7672298,15.1926234,5.2958832,12.1646091,10.090828,30.1301243,9.2182209,0.7303328,0.7569321,13.2624395,9.9443619,45.0283457,12.5356056,28.3367126,64.163328,29.4252979,43.5586247,15.0906855,5.3528555,12.2879028,9.8694102,30.763764,10.7571242,0.7774313,0.8018711,13.6191367,10.174144,45.4118623,12.8371339,28.2712825,63.6703553,29.3840236,43.1601154,14.9942326,5.3626353,12.347817,10.1251253,30.9194919,11.4403053 +2026,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7401653,0.7330566,10.5094864,7.3550151,44.4486848,10.8275827,28.1421395,71.0300002,40.8827024,44.2586809,21.906243,4.9940839,9.5303861,8.0658868,35.0942984,8.3333333,0.770834,0.75883,10.6418568,7.4056111,44.1422367,10.8466145,27.8468168,71.1676536,40.6373865,44.3438693,22.1156915,4.900909,9.5091367,8.3900463,35.3778619,7.7988338,0.7770737,0.7811303,10.9897731,7.6337112,44.4414554,10.6386295,27.9798533,71.108167,39.8568433,44.1410389,22.0519601,4.7773048,9.7204698,8.5506933,35.0370333,7.6868829,0.7893435,0.8115314,11.0873162,7.6195923,44.57532,10.5762322,27.8795152,70.049945,39.3767581,43.6114847,21.8655712,4.7081455,9.7389349,8.0085694,35.2681247,7.5172424,0.7737886,0.7967381,11.1596999,7.5066861,44.5938897,10.471916,28.0067514,69.6410337,39.4099013,43.3064012,22.0443864,4.6686424,9.7621895,7.8899994,35.960138,9.0731082 +2027,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.5824728,1.6602721,29.4809728,23.4918395,47.9495489,13.3627475,39.9468357,65.6519818,33.2600814,47.3262686,26.0289948,5.1279449,14.6359061,11.758808,32.6797775,16.0029746,1.7048176,1.7810805,28.8358287,23.1937986,47.7769683,13.0072875,40.3508073,66.4899799,33.9676511,47.9999042,26.2171186,5.5994457,14.540274,11.5220487,32.1308827,17.8951554,1.8094189,1.8873685,28.571953,23.1812933,48.4863385,12.9238561,39.8609303,66.6932962,33.5684701,47.7647885,27.0165056,6.1119709,15.9927199,11.7340312,33.4196712,18.071232,1.697947,1.7581825,29.2773478,23.7928295,49.8328038,11.753783,39.6224175,66.2924898,33.4884542,48.055812,27.3550167,5.9967904,16.1798294,12.1884523,32.6253632,17.9132166,1.6352341,1.6976939,30.0201591,24.9469375,49.6241429,11.1948772,40.1312113,65.7282014,33.5893487,49.3459912,27.6167177,6.399384,16.5928528,11.5127305,34.1723445,16.5981974 +2028,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2854141,2.2138643,39.1467665,33.8155398,48.1408829,17.6759846,37.6034069,66.6437251,32.0143569,47.1615583,20.7368395,3.583659,14.8626871,13.0454394,34.4362364,27.0998348,2.5373439,2.4665639,39.5230343,34.3048505,48.7593106,17.9225064,38.2839392,66.8863272,33.3617081,47.0712825,21.4795704,4.0293076,14.6256024,13.6128908,32.9756483,26.9537421,2.4579812,2.415414,40.2475452,34.9448517,49.6304309,17.6652134,38.57349,65.9964419,32.1892569,46.4009354,21.0812148,4.0342402,14.7438707,13.705188,32.0671167,25.399125,2.3436376,2.3582582,39.5410839,34.425188,50.3930257,17.7787984,38.8416887,66.5593943,32.6331131,46.6637229,21.3027164,3.8476221,13.8857598,12.7177038,31.6753114,23.416887,2.5241821,2.538991,39.1959779,34.0138441,51.0857409,18.9434279,38.1485013,65.4681261,32.1752114,46.5798572,21.3297724,4.0249677,13.4828937,13.0580801,33.2014784,24.7839171 +2029,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7984538,0.8039609,10.2042578,6.6174041,22.8001299,16.8579956,34.2747476,68.2337957,39.3430184,48.7286729,23.4727012,4.1211586,10.0455848,9.9934793,33.1963181,6.610174,0.8744602,0.8682688,10.3310629,6.678087,22.5021368,16.3949234,34.529424,68.4621878,39.5546379,48.7815183,23.3865581,3.974786,10.6881114,9.8661152,33.3922894,6.7241402,0.8588817,0.8528079,10.2960174,6.5680086,21.920927,16.8298063,34.6590928,68.8817497,40.1268181,49.5635708,23.7895183,4.0760859,11.0991645,9.6679931,32.9770861,5.8718882,0.9201266,0.9148539,10.3730258,6.7698453,22.0104206,16.8583743,34.8626036,69.1118726,40.5544783,49.8609896,23.8223706,4.1625788,10.7056985,9.5159253,32.9748764,5.8098592,0.8866873,0.8962814,10.6176252,7.0861927,21.7746068,16.8359935,35.0023656,68.9071971,40.7386884,50.032079,24.3470714,4.1259446,10.996815,9.6142652,32.7531234,4.9319761 +2030,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3928474,0.4552809,6.6439885,3.6961418,56.0317508,22.041805,27.8478173,65.038263,31.2246623,41.8054856,17.7622666,5.6956301,9.5859629,7.5293091,31.8636389,2.0588235,0.3114145,0.3721619,6.712145,3.6751725,55.3215116,22.3547153,28.0921051,64.4517479,31.776308,41.2938548,18.1798214,5.7675412,8.826168,7.3225543,31.9909499,2.1472393,0.2966637,0.3471108,6.9772497,3.9588765,54.39561,21.7943119,27.9328377,64.8713427,31.6397684,41.5830724,18.1639734,5.9965083,9.1269865,8.0159454,32.3975102,2.6946108,0.2858158,0.3360413,6.32884,3.6320147,54.5593467,21.7882974,28.3953274,64.8572616,31.0337364,41.1980946,18.447228,6.4230077,9.1579877,7.8832766,31.5950948,2.6785714,0.2137475,0.2633194,6.5198825,3.7836695,53.3261394,21.8868668,28.6538517,65.2777702,30.4914506,41.8162408,18.098284,5.7906003,9.7174674,8.1974263,31.190687,2.7777795 +2031,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3114145,0.3721619,6.712145,3.6751725,55.3215116,22.3547153,28.0921051,64.4517479,31.776308,41.2938548,18.1798214,5.7675412,8.826168,7.3225543,31.9909499,2.1472393,0.2966637,0.3471108,6.9772497,3.9588765,54.39561,21.7943119,27.9328377,64.8713427,31.6397684,41.5830724,18.1639734,5.9965083,9.1269865,8.0159454,32.3975102,2.6946108,0.2858158,0.3360413,6.32884,3.6320147,54.5593467,21.7882974,28.3953274,64.8572616,31.0337364,41.1980946,18.447228,6.4230077,9.1579877,7.8832766,31.5950948,2.6785714,0.2137475,0.2633194,6.5198825,3.7836695,53.3261394,21.8868668,28.6538517,65.2777702,30.4914506,41.8162408,18.098284,5.7906003,9.7174674,8.1974263,31.190687,2.7777795,0.3333773,0.3277374,7.2131871,4.3878438,53.6316525,22.2761796,29.1488484,64.991441,30.7313937,41.9375557,18.3703982,5.71001,9.4687248,8.2761592,31.9672186,3.2738115 +2032,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6568799,0.5870441,9.6771842,6.7932852,42.5284653,14.8818739,26.9429201,67.1274467,38.831628,43.6452249,21.5114897,5.552679,10.293206,9.5032132,31.3029111,7.5431034,0.595288,0.5625733,9.9644523,7.3236909,43.0224413,14.7030032,27.3147797,67.0488144,38.3067911,43.9233781,21.2305354,5.586983,10.6018915,9.8046202,31.8578395,7.2093023,0.6589146,0.6318308,10.526764,7.5581384,42.77275,14.7131202,27.7217105,67.7508186,38.7618855,43.4439028,21.1285923,5.4972252,10.3166889,9.5571132,31.4204747,8.6202051,0.7079072,0.7079072,11.1791952,8.0517639,43.8555168,14.5179292,27.6768447,66.7965898,37.6857695,42.4478893,20.3259845,5.1805973,11.4088449,9.9143935,32.0780836,10.4710639,0.7809797,0.793157,11.9091305,8.8629141,43.4890062,14.5065864,27.9922593,66.1398065,37.2440406,41.6777923,19.74291,4.8601966,10.9924427,9.445281,32.8382016,10.8633859 +2033,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6999551,0.6999551,13.9595562,9.3909742,50.5256623,30.1008612,33.8791728,64.0515799,30.086113,41.293049,19.2240085,5.7759268,13.2247335,11.8182678,38.4188487,3.3018868,0.7832649,0.7832649,15.0247211,9.7701451,50.9419617,31.2293492,34.974837,65.3587226,30.6343057,41.1519491,19.4490424,6.0935553,13.3681484,11.3241207,39.0455056,3.8135755,0.8012916,0.8012916,14.4550914,9.2417513,50.8157101,31.2106423,33.6799772,67.1197917,30.000176,40.0799689,19.2799759,5.5200618,14.0139621,11.2848202,37.147334,3.543335,0.7727151,0.7727151,14.2089413,9.4470512,51.8081553,30.7401287,33.6671582,66.3325336,29.8152677,39.522152,17.6424091,4.5455036,15.7980628,12.5816799,38.2935921,4.7794469,0.7360024,0.7360024,15.3077386,10.6923706,51.8779172,30.3462994,34.1294654,66.0243886,29.5071434,40.7548167,18.1046916,5.4700212,14.2140935,11.538468,36.2538252,7.0371152 +2034,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5373439,2.4665639,39.5230343,34.3048505,48.7593106,17.9225064,38.2839392,66.8863272,33.3617081,47.0712825,21.4795704,4.0293076,14.6256024,13.6128908,32.9756483,26.9537421,2.4579812,2.415414,40.2475452,34.9448517,49.6304309,17.6652134,38.57349,65.9964419,32.1892569,46.4009354,21.0812148,4.0342402,14.7438707,13.705188,32.0671167,25.399125,2.3436376,2.3582582,39.5410839,34.425188,50.3930257,17.7787984,38.8416887,66.5593943,32.6331131,46.6637229,21.3027164,3.8476221,13.8857598,12.7177038,31.6753114,23.416887,2.5241821,2.538991,39.1959779,34.0138441,51.0857409,18.9434279,38.1485013,65.4681261,32.1752114,46.5798572,21.3297724,4.0249677,13.4828937,13.0580801,33.2014784,24.7839171,2.5928214,2.6370547,38.2189836,33.193973,51.7717762,19.156849,37.775913,65.1709693,32.4075189,46.5299009,21.002616,3.7469851,14.6267677,13.8494156,33.7169041,24.4688934 +2035,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2966637,0.3471108,6.9772497,3.9588765,54.39561,21.7943119,27.9328377,64.8713427,31.6397684,41.5830724,18.1639734,5.9965083,9.1269865,8.0159454,32.3975102,2.6946108,0.2858158,0.3360413,6.32884,3.6320147,54.5593467,21.7882974,28.3953274,64.8572616,31.0337364,41.1980946,18.447228,6.4230077,9.1579877,7.8832766,31.5950948,2.6785714,0.2137475,0.2633194,6.5198825,3.7836695,53.3261394,21.8868668,28.6538517,65.2777702,30.4914506,41.8162408,18.098284,5.7906003,9.7174674,8.1974263,31.190687,2.7777795,0.3333773,0.3277374,7.2131871,4.3878438,53.6316525,22.2761796,29.1488484,64.991441,30.7313937,41.9375557,18.3703982,5.71001,9.4687248,8.2761592,31.9672186,3.2738115,0.4000265,0.3548364,7.3238857,4.4888332,53.8677691,22.0743496,29.6955406,65.7161175,31.6680927,42.9459692,18.7607175,6.0248732,9.110537,8.2541069,31.3802138,3.2163761 +2036,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.595288,0.5625733,9.9644523,7.3236909,43.0224413,14.7030032,27.3147797,67.0488144,38.3067911,43.9233781,21.2305354,5.586983,10.6018915,9.8046202,31.8578395,7.2093023,0.6589146,0.6318308,10.526764,7.5581384,42.77275,14.7131202,27.7217105,67.7508186,38.7618855,43.4439028,21.1285923,5.4972252,10.3166889,9.5571132,31.4204747,8.6202051,0.7079072,0.7079072,11.1791952,8.0517639,43.8555168,14.5179292,27.6768447,66.7965898,37.6857695,42.4478893,20.3259845,5.1805973,11.4088449,9.9143935,32.0780836,10.4710639,0.7809797,0.793157,11.9091305,8.8629141,43.4890062,14.5065864,27.9922593,66.1398065,37.2440406,41.6777923,19.74291,4.8601966,10.9924427,9.445281,32.8382016,10.8633859,0.8336949,0.8457441,12.3839882,9.0053555,43.5022957,13.8983107,28.515079,66.5826683,36.8482973,41.4097234,19.8502129,4.7508402,10.8524928,8.992137,33.3317314,12.4589562 +2037,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6606359,0.6374554,10.5978968,7.1846867,29.9761728,9.5938842,30.9467278,65.0071808,33.0621688,45.6099024,19.3771,3.4443789,10.8414263,8.7476438,30.5693067,7.7868916,0.6363037,0.6289161,10.8634131,7.3828376,30.5007176,9.7191572,30.4807475,64.8625267,33.0269234,45.4450494,19.0971245,3.2475361,11.069954,8.8712335,30.8446275,7.333362,0.7585496,0.7640873,11.1102851,7.7835158,30.9655029,9.8723478,30.0759715,64.8124862,33.19727,45.2532106,19.3512696,3.4865233,10.7771558,8.691748,30.9592689,7.464819,0.7137426,0.7193279,11.4109341,8.0960249,31.7215562,9.9589367,29.765644,64.4738776,32.7180743,45.3247668,19.2139927,3.4230571,11.2178526,8.9398628,30.8893172,8.1896505,0.7741261,0.7930247,11.8731184,8.4404355,32.0801076,10.357994,30.1797172,64.1163879,33.1392577,45.4811585,19.4754986,3.3836069,11.0288367,8.6038115,30.5789614,8.4285618 +2038,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5185992,0.5278055,12.1195849,8.9099419,44.0617533,13.1953069,28.6334012,64.618163,30.8122941,44.0555066,15.1787045,5.3628178,11.3622437,9.8281751,29.2968624,7.0717727,0.6227834,0.6505886,12.7383755,9.6082196,44.2056356,12.6325642,27.9953715,64.5293935,30.0378052,43.7672298,15.1926234,5.2958832,12.1646091,10.090828,30.1301243,9.2182209,0.7303328,0.7569321,13.2624395,9.9443619,45.0283457,12.5356056,28.3367126,64.163328,29.4252979,43.5586247,15.0906855,5.3528555,12.2879028,9.8694102,30.763764,10.7571242,0.7774313,0.8018711,13.6191367,10.174144,45.4118623,12.8371339,28.2712825,63.6703553,29.3840236,43.1601154,14.9942326,5.3626353,12.347817,10.1251253,30.9194919,11.4403053,0.8627342,0.8880853,13.7846679,10.2871886,45.1269838,13.0151462,27.6167039,63.7636645,29.9800897,43.1877729,15.0248673,5.5312884,12.2683371,10.0863105,31.0627387,9.7666311 +2039,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6227834,0.6505886,12.7383755,9.6082196,44.2056356,12.6325642,27.9953715,64.5293935,30.0378052,43.7672298,15.1926234,5.2958832,12.1646091,10.090828,30.1301243,9.2182209,0.7303328,0.7569321,13.2624395,9.9443619,45.0283457,12.5356056,28.3367126,64.163328,29.4252979,43.5586247,15.0906855,5.3528555,12.2879028,9.8694102,30.763764,10.7571242,0.7774313,0.8018711,13.6191367,10.174144,45.4118623,12.8371339,28.2712825,63.6703553,29.3840236,43.1601154,14.9942326,5.3626353,12.347817,10.1251253,30.9194919,11.4403053,0.8627342,0.8880853,13.7846679,10.2871886,45.1269838,13.0151462,27.6167039,63.7636645,29.9800897,43.1877729,15.0248673,5.5312884,12.2683371,10.0863105,31.0627387,9.7666311,0.8986059,0.9403439,14.8210624,11.1432685,45.9673866,12.9761812,27.9525405,63.3218448,29.8193492,43.0905707,15.0061301,5.2252495,12.6986177,10.1076154,31.2500069,10.9327992 +2040,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6733874,1.7118996,30.6019524,26.6474879,47.6532452,17.5453817,36.1565957,64.9467586,31.9909484,44.6711042,21.2100729,2.8944171,13.2230505,11.0651401,38.5029378,25.6755,1.7425645,1.7602211,31.2125267,27.3389209,48.9818545,17.6208181,36.1217161,64.6713428,31.8557073,44.3482669,21.069692,2.544273,13.5769303,11.0278242,38.8461213,27.0465927,1.9065799,1.9241207,31.3126669,27.4483664,50.1105394,17.0516644,36.2640789,65.3050722,31.7100141,44.2856495,20.9741737,2.4578717,13.2647356,11.0012739,39.8893163,27.9492608,2.0932479,2.1372867,31.7056168,27.845066,51.516967,16.7795643,35.3926153,65.2864105,32.2083029,44.0009889,21.4476134,2.4322816,13.1591811,10.5957034,39.568256,27.072611,2.1541165,2.1839017,32.2975014,28.2480212,53.3731586,16.5586007,35.2414941,65.9642705,32.7167409,44.0479693,20.9838796,2.4527529,13.9137901,10.9836994,39.7574185,27.631437 +2041,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7083335,0.7191497,10.7977302,7.1583739,26.2308641,14.3827547,30.2572681,68.5607025,40.9658997,48.7153872,21.8809029,6.7252282,10.0071303,8.5977851,34.4038029,3.125531,0.6453125,0.670413,11.0891266,7.3194905,25.6115244,14.1773421,30.5024005,68.1596877,40.665521,48.3890455,21.6447692,6.9854165,10.0073804,8.6504583,34.1604771,3.5917555,0.7577905,0.783134,11.0390344,7.2280548,25.4053987,13.802703,30.1947642,68.2442734,40.9143584,48.2334945,21.8707093,6.6774204,9.9327918,8.7301489,33.6623642,4.6455703,0.758616,0.7836196,11.560045,7.66687,25.1640608,13.7684267,30.2579461,67.7144786,40.3968467,48.1634807,21.5988249,6.7528567,9.9735154,8.7882307,33.9062178,4.6710472,0.7630632,0.7878999,11.5786449,7.4900961,25.5478037,14.109359,30.157993,67.8929449,40.6269073,48.4614767,21.2286284,7.3727158,10.2371786,9.2863682,34.313715,8.0110122 +2042,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.770834,0.75883,10.6418568,7.4056111,44.1422367,10.8466145,27.8468168,71.1676536,40.6373865,44.3438693,22.1156915,4.900909,9.5091367,8.3900463,35.3778619,7.7988338,0.7770737,0.7811303,10.9897731,7.6337112,44.4414554,10.6386295,27.9798533,71.108167,39.8568433,44.1410389,22.0519601,4.7773048,9.7204698,8.5506933,35.0370333,7.6868829,0.7893435,0.8115314,11.0873162,7.6195923,44.57532,10.5762322,27.8795152,70.049945,39.3767581,43.6114847,21.8655712,4.7081455,9.7389349,8.0085694,35.2681247,7.5172424,0.7737886,0.7967381,11.1596999,7.5066861,44.5938897,10.471916,28.0067514,69.6410337,39.4099013,43.3064012,22.0443864,4.6686424,9.7621895,7.8899994,35.960138,9.0731082,0.8245391,0.8449723,11.4992904,7.8291966,44.4461434,10.3146314,27.792276,69.1169122,39.3728058,43.1058695,21.8715544,4.611137,9.4541508,7.5403067,36.398729,8.2911403 +2043,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.7303328,0.7569321,13.2624395,9.9443619,45.0283457,12.5356056,28.3367126,64.163328,29.4252979,43.5586247,15.0906855,5.3528555,12.2879028,9.8694102,30.763764,10.7571242,0.7774313,0.8018711,13.6191367,10.174144,45.4118623,12.8371339,28.2712825,63.6703553,29.3840236,43.1601154,14.9942326,5.3626353,12.347817,10.1251253,30.9194919,11.4403053,0.8627342,0.8880853,13.7846679,10.2871886,45.1269838,13.0151462,27.6167039,63.7636645,29.9800897,43.1877729,15.0248673,5.5312884,12.2683371,10.0863105,31.0627387,9.7666311,0.8986059,0.9403439,14.8210624,11.1432685,45.9673866,12.9761812,27.9525405,63.3218448,29.8193492,43.0905707,15.0061301,5.2252495,12.6986177,10.1076154,31.2500069,10.9327992,1.0122125,1.0538006,15.7941197,11.9326495,47.9435947,12.6102278,28.2090369,63.139306,29.4016482,42.2377675,14.5037893,5.0636836,13.1599623,10.2608361,31.9408245,11.2901457 +2044,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6363037,0.6289161,10.8634131,7.3828376,30.5007176,9.7191572,30.4807475,64.8625267,33.0269234,45.4450494,19.0971245,3.2475361,11.069954,8.8712335,30.8446275,7.333362,0.7585496,0.7640873,11.1102851,7.7835158,30.9655029,9.8723478,30.0759715,64.8124862,33.19727,45.2532106,19.3512696,3.4865233,10.7771558,8.691748,30.9592689,7.464819,0.7137426,0.7193279,11.4109341,8.0960249,31.7215562,9.9589367,29.765644,64.4738776,32.7180743,45.3247668,19.2139927,3.4230571,11.2178526,8.9398628,30.8893172,8.1896505,0.7741261,0.7930247,11.8731184,8.4404355,32.0801076,10.357994,30.1797172,64.1163879,33.1392577,45.4811585,19.4754986,3.3836069,11.0288367,8.6038115,30.5789614,8.4285618,0.7703731,0.7934783,12.1888022,8.7202705,32.534693,10.4470076,30.1755161,63.8794786,32.8271332,44.8601732,19.0119302,3.3290483,11.1674274,8.6110327,30.6543485,7.3726462 +2045,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6589146,0.6318308,10.526764,7.5581384,42.77275,14.7131202,27.7217105,67.7508186,38.7618855,43.4439028,21.1285923,5.4972252,10.3166889,9.5571132,31.4204747,8.6202051,0.7079072,0.7079072,11.1791952,8.0517639,43.8555168,14.5179292,27.6768447,66.7965898,37.6857695,42.4478893,20.3259845,5.1805973,11.4088449,9.9143935,32.0780836,10.4710639,0.7809797,0.793157,11.9091305,8.8629141,43.4890062,14.5065864,27.9922593,66.1398065,37.2440406,41.6777923,19.74291,4.8601966,10.9924427,9.445281,32.8382016,10.8633859,0.8336949,0.8457441,12.3839882,9.0053555,43.5022957,13.8983107,28.515079,66.5826683,36.8482973,41.4097234,19.8502129,4.7508402,10.8524928,8.992137,33.3317314,12.4589562,0.8649115,0.8847424,13.0349756,9.4391203,44.1939254,13.8664949,28.9587394,65.6787911,35.950996,40.9438734,19.0881203,4.357307,11.5644864,8.9410923,34.0617382,13.0647363 +2046,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2858158,0.3360413,6.32884,3.6320147,54.5593467,21.7882974,28.3953274,64.8572616,31.0337364,41.1980946,18.447228,6.4230077,9.1579877,7.8832766,31.5950948,2.6785714,0.2137475,0.2633194,6.5198825,3.7836695,53.3261394,21.8868668,28.6538517,65.2777702,30.4914506,41.8162408,18.098284,5.7906003,9.7174674,8.1974263,31.190687,2.7777795,0.3333773,0.3277374,7.2131871,4.3878438,53.6316525,22.2761796,29.1488484,64.991441,30.7313937,41.9375557,18.3703982,5.71001,9.4687248,8.2761592,31.9672186,3.2738115,0.4000265,0.3548364,7.3238857,4.4888332,53.8677691,22.0743496,29.6955406,65.7161175,31.6680927,42.9459692,18.7607175,6.0248732,9.110537,8.2541069,31.3802138,3.2163761,0.5101118,0.471292,7.4019432,4.6604828,53.0072098,23.4964667,30.3368452,66.2947367,32.5263113,43.0526353,18.7578934,6.3368403,9.0870699,8.1641314,31.3933752,3.4375021 +2047,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7328827,1.8222421,31.5472431,26.9083709,50.4751597,12.764388,37.0032799,65.7454282,37.4215592,44.6220507,22.273677,3.0325684,16.7799949,13.1416375,39.4176591,22.9603837,1.8350483,1.8690517,31.6420859,27.0742214,51.2691534,12.6899531,36.6023221,65.1623408,36.3098797,44.2786608,21.8672701,2.8676011,16.1873029,13.0741269,40.3035974,23.0337234,1.9185712,1.9163707,32.5299973,28.014123,51.4861788,12.8541099,37.4132692,65.2847137,36.6112525,44.330491,22.0002108,2.9132751,16.1552576,12.3720921,39.6289415,22.3595606,1.8041626,1.8283293,32.9357855,28.5182989,51.7984219,13.1725944,38.1892586,65.1564082,37.0756501,44.3944659,21.7468568,2.9310407,16.1879323,12.1257739,39.3398012,21.0239743,1.7964936,1.8208869,33.5776434,29.0422602,52.7331019,12.7821508,37.7219117,64.2591061,35.8507674,43.8876045,21.2128061,2.8667673,16.3992925,12.6893318,40.2180455,20.5696457 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.7048176,1.7810805,28.8358287,23.1937986,47.7769683,13.0072875,40.3508073,66.4899799,33.9676511,47.9999042,26.2171186,5.5994457,14.540274,11.5220487,32.1308827,17.8951554,1.8094189,1.8873685,28.571953,23.1812933,48.4863385,12.9238561,39.8609303,66.6932962,33.5684701,47.7647885,27.0165056,6.1119709,15.9927199,11.7340312,33.4196712,18.071232,1.697947,1.7581825,29.2773478,23.7928295,49.8328038,11.753783,39.6224175,66.2924898,33.4884542,48.055812,27.3550167,5.9967904,16.1798294,12.1884523,32.6253632,17.9132166,1.6352341,1.6976939,30.0201591,24.9469375,49.6241429,11.1948772,40.1312113,65.7282014,33.5893487,49.3459912,27.6167177,6.399384,16.5928528,11.5127305,34.1723445,16.5981974,1.5133536,1.5765746,30.0740567,24.6262965,50.2867519,11.2789196,40.4603103,65.5779918,32.7514749,49.9085221,27.2209763,6.3659727,16.4039269,12.2323486,34.2588323,16.3828114 +2049,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6678169,0.6565762,9.2038404,6.2673454,38.4589868,17.9374046,30.8467064,67.8267693,35.5603932,44.0436936,20.377025,4.7885448,9.8237065,8.6900771,32.2347711,5.3992938,0.6658385,0.6490063,9.6516948,6.5514934,38.9497294,17.6717875,30.3967051,67.8692653,35.5882822,43.5115946,20.1631292,4.610637,9.4540305,8.4798379,32.1330324,5.5178954,0.6528082,0.6353663,9.5360708,6.4967462,39.309705,17.5998761,30.5908279,68.1885778,35.9071925,44.0392836,20.7050538,4.5904039,10.1558641,9.0572781,31.5882579,5.8806566,0.5836476,0.5471774,9.9225517,6.9851668,39.5851239,18.0854478,31.3029612,67.4293177,35.1555205,44.3142799,20.70443,4.4196365,10.224745,9.3325259,31.5090243,6.1135493,0.535074,0.4971339,10.1465417,7.1570121,39.4372018,18.0524034,31.4519852,66.8149888,34.8867765,44.5265494,20.3797987,4.2327301,10.7514192,9.0294446,31.9891448,5.5827456 +2050,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7011359,0.6813089,13.0073393,9.0668352,24.5578999,16.1409422,34.772931,65.6013592,35.0552891,47.1862807,21.4166185,4.0067662,11.6196398,9.0324882,27.10181,6.149726,0.6832925,0.6927462,13.4636055,9.5605122,25.6488072,16.5197632,34.7824039,65.8396627,34.2517631,47.1486932,21.0129159,4.314314,11.5506995,9.1515587,27.5777546,6.8657439,0.6105298,0.6162673,12.9610373,9.5070391,26.7654386,16.5435778,34.4721474,66.0781748,35.1142206,47.0589057,20.9652209,4.547896,12.4902657,9.5319346,27.7520664,6.8855824,0.6719893,0.6670497,12.3403607,9.4439693,27.8422679,16.6259742,34.6097926,66.4784398,35.274917,46.6545989,20.929696,4.5850253,11.9245919,9.2330608,27.3730002,7.4335357,0.6365764,0.6317721,12.4676071,9.4836758,28.7192315,17.0267392,34.5925521,67.9944138,36.416692,47.6881674,21.4706748,4.6644237,11.7659178,9.8980976,28.2671767,6.9800399 +2051,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3463557,0.3686374,6.6331418,4.1427203,41.9268293,23.1929153,28.1625782,67.8932179,35.7142857,46.007696,18.3020683,5.9403559,9.2857143,9.5714286,34.4476744,1.6778523,0.3819133,0.4043348,6.4680233,3.997093,42.0371275,23.7397984,29.3053546,68.9097926,36.0588519,46.1890979,18.6444766,6.6811384,9.5615672,9.7572362,34.1706161,1.8248175,0.3822967,0.4264079,6.8041726,4.1488857,41.5662651,23.4249171,29.547619,69.2619048,35.6428571,45.547619,18.1666667,6.1190476,9.2694064,9.1948765,33.287037,1.8656716,0.4650152,0.522961,7.2994403,4.454291,41.6627191,22.1006055,29.7708138,68.5921422,34.6819457,44.9719364,17.9840973,5.9167446,9.6083789,9.543379,32.4287029,1.7482517,0.5027933,0.5171179,7.4389682,4.6752649,40.5678085,22.2555351,30.0139276,69.0575673,34.6564531,45.1485608,17.8505107,5.8263695,10.1611459,9.8294434,32.5969342,0.974026 +2052,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8425566,1.8425566,34.3014129,29.4348509,66.8039539,4.9528302,39.28,64.72,27.12,42.96,16.72,6.32,16.0550459,11.1620795,33.4876543,14.3312102,1.9770086,2.1258181,33.6234177,28.8765823,68.616145,4.4811321,40.1442308,62.900641,26.5224359,43.6698718,15.9455128,5.6891026,16.6158537,13.2621951,33.7962963,12.654321,1.9797583,2.1326635,32.9268293,27.8861789,68.6655405,4.7734628,39.4563427,62.5205931,24.6293245,44.7281713,16.3920923,5.8484349,16.2460568,12.7760252,34.6645367,13.8709677,2.2035411,2.3534661,34.16,28.72,69.0713101,5.0159236,38.5298869,61.9547658,25.2827141,45.638126,15.4281099,5.5735057,15.3731343,11.7910448,35.1963746,13.1097561,2.1156966,2.1156966,34.414557,28.7183544,69.5901639,5.2590267,38.2352941,62.2416534,25.3577107,45.5484897,15.6597774,5.6438792,14.516129,11.8768328,34.9702381,12.8571429 +2053,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.089328,1.1418656,21.2462089,16.680774,32.3261388,16.8817792,33.5332549,66.80332,38.301934,49.6693361,23.6077478,3.3408462,12.6375953,10.4200745,34.5468243,15.431958,1.0635077,1.1018869,21.5597626,16.9981314,32.2519533,17.1647384,34.7592416,66.6738329,38.0580716,48.7239744,23.2415592,3.3398539,12.8210373,9.8064345,34.2243399,16.8039303,0.9611184,0.9988821,21.6522481,17.4511541,32.5966765,16.5911757,35.1717075,67.2153396,38.4764568,48.038313,23.0640912,2.9117874,12.5260837,9.656273,33.2371568,15.6149471,1.0395732,1.0731047,21.5098106,17.1630994,33.0887695,16.5910395,35.3585613,67.1235096,38.2707544,47.6730934,22.6454376,3.084611,12.5516997,9.4460157,33.5152101,18.2595711,1.1253672,1.1371648,22.3021898,18.0329879,33.2550244,16.2544872,35.1002977,66.5657432,37.8143585,47.07616,22.2975465,3.0737944,12.9224073,9.6814333,33.6687087,18.1280615 +2054,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9630776,1.9743894,28.0281436,24.0012543,43.2102943,18.5510138,41.7030022,66.939572,36.6215171,48.2017184,25.6558848,3.903628,13.3749563,8.9418206,33.1014541,22.5384744,2.1197044,2.1140809,28.9039738,24.9195444,43.3137067,18.2928888,42.2547768,66.3348548,35.3980816,48.7158055,24.9967912,3.9895588,13.650957,9.5368894,32.099834,24.5447693,1.8730069,1.8926762,28.8832186,24.9738116,43.4215379,18.7461079,42.8433915,66.1495986,35.9631285,49.9436776,24.7060189,3.9880404,13.7532527,9.9210921,32.8784088,22.2732167,1.7307073,1.7682767,28.8914612,24.8247962,44.0940103,18.6686138,42.6038563,66.2745495,35.4900582,49.4574129,24.3612219,3.9893082,12.6600483,10.0018063,32.214038,20.6489585,1.8498499,1.8878405,28.6030918,24.4144738,44.9990107,18.831897,41.1897284,65.8009859,35.1539921,48.7865694,24.3626807,4.0833102,12.7642173,10.9089584,33.3364863,20.8645994 +2055,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7106542,1.711956,27.1520593,22.519478,57.1484097,17.0126904,38.4534675,64.2482543,34.6921033,44.5034561,20.5247654,3.2750958,12.8777065,12.2967327,34.4510562,20.2959639,1.7795535,1.7678156,27.3952012,22.5005596,56.7927943,17.0962748,38.5036456,63.0170324,33.7215326,44.3069029,21.1024605,3.2790618,12.290239,12.0554757,34.2495203,20.1649916,1.7084711,1.6966314,27.2288874,22.4984777,56.2770504,17.3399852,38.1771578,63.0167813,33.9966252,44.7505113,21.1474767,2.9665405,12.540288,11.8666404,34.3070973,17.8721866,1.5825761,1.5574828,27.3906133,22.4867138,56.5960806,17.7909806,38.9541666,63.566146,34.1675825,44.8495282,21.3022807,3.1412225,12.909208,11.683983,33.8536074,18.1705212,1.7297044,1.7045023,27.0609179,22.3930724,56.4251321,17.9014408,39.6093232,63.410495,34.0896545,45.2990372,21.4534707,3.2988817,13.5679662,11.8986958,34.1803022,17.4266931 +2056,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7079072,0.7079072,11.1791952,8.0517639,43.8555168,14.5179292,27.6768447,66.7965898,37.6857695,42.4478893,20.3259845,5.1805973,11.4088449,9.9143935,32.0780836,10.4710639,0.7809797,0.793157,11.9091305,8.8629141,43.4890062,14.5065864,27.9922593,66.1398065,37.2440406,41.6777923,19.74291,4.8601966,10.9924427,9.445281,32.8382016,10.8633859,0.8336949,0.8457441,12.3839882,9.0053555,43.5022957,13.8983107,28.515079,66.5826683,36.8482973,41.4097234,19.8502129,4.7508402,10.8524928,8.992137,33.3317314,12.4589562,0.8649115,0.8847424,13.0349756,9.4391203,44.1939254,13.8664949,28.9587394,65.6787911,35.950996,40.9438734,19.0881203,4.357307,11.5644864,8.9410923,34.0617382,13.0647363,0.9470169,0.9668644,13.627549,9.6972662,44.6111723,13.6490496,28.8459371,65.2382241,35.5770856,40.5037499,18.0150086,4.3971679,11.7334356,8.6785796,34.0167801,12.6664444 +2057,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6832925,0.6927462,13.4636055,9.5605122,25.6488072,16.5197632,34.7824039,65.8396627,34.2517631,47.1486932,21.0129159,4.314314,11.5506995,9.1515587,27.5777546,6.8657439,0.6105298,0.6162673,12.9610373,9.5070391,26.7654386,16.5435778,34.4721474,66.0781748,35.1142206,47.0589057,20.9652209,4.547896,12.4902657,9.5319346,27.7520664,6.8855824,0.6719893,0.6670497,12.3403607,9.4439693,27.8422679,16.6259742,34.6097926,66.4784398,35.274917,46.6545989,20.929696,4.5850253,11.9245919,9.2330608,27.3730002,7.4335357,0.6365764,0.6317721,12.4676071,9.4836758,28.7192315,17.0267392,34.5925521,67.9944138,36.416692,47.6881674,21.4706748,4.6644237,11.7659178,9.8980976,28.2671767,6.9800399,0.6172929,0.6125678,12.8053445,9.7709678,30.6234138,17.1722428,34.3008506,68.0975951,37.1053709,47.6575793,21.6135013,4.4087929,12.6565641,10.5874121,28.9098573,5.6489438 +2058,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2137475,0.2633194,6.5198825,3.7836695,53.3261394,21.8868668,28.6538517,65.2777702,30.4914506,41.8162408,18.098284,5.7906003,9.7174674,8.1974263,31.190687,2.7777795,0.3333773,0.3277374,7.2131871,4.3878438,53.6316525,22.2761796,29.1488484,64.991441,30.7313937,41.9375557,18.3703982,5.71001,9.4687248,8.2761592,31.9672186,3.2738115,0.4000265,0.3548364,7.3238857,4.4888332,53.8677691,22.0743496,29.6955406,65.7161175,31.6680927,42.9459692,18.7607175,6.0248732,9.110537,8.2541069,31.3802138,3.2163761,0.5101118,0.471292,7.4019432,4.6604828,53.0072098,23.4964667,30.3368452,66.2947367,32.5263113,43.0526353,18.7578934,6.3368403,9.0870699,8.1641314,31.3933752,3.4375021,0.6361725,0.5977109,7.4205723,4.6195675,52.6480558,23.5594517,30.1202389,67.1019944,32.3175783,42.9726458,18.3872314,6.2396341,9.8700284,8.5772393,32.4180379,4.5731735 +2059,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3333773,0.3277374,7.2131871,4.3878438,53.6316525,22.2761796,29.1488484,64.991441,30.7313937,41.9375557,18.3703982,5.71001,9.4687248,8.2761592,31.9672186,3.2738115,0.4000265,0.3548364,7.3238857,4.4888332,53.8677691,22.0743496,29.6955406,65.7161175,31.6680927,42.9459692,18.7607175,6.0248732,9.110537,8.2541069,31.3802138,3.2163761,0.5101118,0.471292,7.4019432,4.6604828,53.0072098,23.4964667,30.3368452,66.2947367,32.5263113,43.0526353,18.7578934,6.3368403,9.0870699,8.1641314,31.3933752,3.4375021,0.6361725,0.5977109,7.4205723,4.6195675,52.6480558,23.5594517,30.1202389,67.1019944,32.3175783,42.9726458,18.3872314,6.2396341,9.8700284,8.5772393,32.4180379,4.5731735,0.7396769,0.7017262,7.5164782,4.7981902,52.348594,24.38383,30.8180029,67.3824175,33.190184,43.8241401,18.8343569,6.3599172,9.7099153,8.2594715,31.4784774,5.722895 +2060,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7809797,0.793157,11.9091305,8.8629141,43.4890062,14.5065864,27.9922593,66.1398065,37.2440406,41.6777923,19.74291,4.8601966,10.9924427,9.445281,32.8382016,10.8633859,0.8336949,0.8457441,12.3839882,9.0053555,43.5022957,13.8983107,28.515079,66.5826683,36.8482973,41.4097234,19.8502129,4.7508402,10.8524928,8.992137,33.3317314,12.4589562,0.8649115,0.8847424,13.0349756,9.4391203,44.1939254,13.8664949,28.9587394,65.6787911,35.950996,40.9438734,19.0881203,4.357307,11.5644864,8.9410923,34.0617382,13.0647363,0.9470169,0.9668644,13.627549,9.6972662,44.6111723,13.6490496,28.8459371,65.2382241,35.5770856,40.5037499,18.0150086,4.3971679,11.7334356,8.6785796,34.0167801,12.6664444,0.8904746,0.9094802,13.9018477,9.8456057,44.9408189,13.2122344,28.780957,65.0599428,34.7135822,39.2671308,17.4630026,4.1959411,11.607941,8.6427252,34.2680712,13.0521914 +2061,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7023884,0.7316838,10.0620317,6.8977793,37.0972709,20.8322898,32.338531,66.390116,38.4123684,45.0703403,22.2996974,6.1564521,10.0362326,7.9602187,32.5419329,6.9937146,0.7407645,0.7746517,10.0029859,6.8851742,37.0661522,20.7196087,32.5117027,66.329449,37.9827334,45.0927607,22.3417581,6.0973309,10.1735248,8.1763128,33.2997302,7.314387,0.740222,0.7693184,10.4069803,7.1473483,37.1531428,20.6873871,32.5734354,66.6212545,37.987158,45.4802068,22.5187224,6.2116866,10.0350921,8.1569108,32.8265706,7.3695918,0.7376665,0.7617191,10.7674196,7.4867823,37.5368827,20.1844529,33.0257411,65.8455161,36.8551035,45.1709143,22.3147998,6.4921749,10.2063888,8.2143291,33.0172025,8.1521721,0.7065716,0.7296756,11.3592893,7.7729089,38.308691,20.2106099,33.0380396,64.6625993,36.5385032,45.5617624,21.817963,6.1593258,10.0303025,8.0428191,33.0709648,8.0612228 +2062,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2764765,1.3534804,22.8886215,17.4833704,83.2463041,15.3141678,33.9543487,65.2797277,36.8884184,39.9969251,19.2371799,5.434167,12.0985819,11.5684105,32.994275,16.6902813,1.3430491,1.4484453,22.6303412,17.2715377,82.5524798,15.7994436,34.3429264,65.4512828,36.7679862,40.0462618,18.9561287,5.0979396,12.4597597,11.9397474,34.5992673,14.1164613,1.2778191,1.3844887,22.2092874,16.9452772,82.4050571,16.019519,34.4993109,66.0008773,36.8883934,40.2287516,18.6171106,4.8784208,12.2403736,12.2256896,36.1618601,13.4922705,1.434663,1.5420813,21.8586922,16.305801,82.7321175,16.3179111,35.7099156,64.6669721,37.4154048,41.0922912,18.9767635,4.9695636,13.8094071,13.3068688,37.5509425,13.7501994,1.6703993,1.7757715,21.244547,16.2968589,83.0697305,15.8132669,35.7815826,64.0309074,37.0300117,40.7183145,19.5302912,4.7183953,13.9639192,13.7200018,37.4398387,10.7894737 +2063,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9810203,0.9273823,15.9583138,11.3741853,57.2212727,14.0096613,29.8201653,63.4610782,34.0637815,40.1018035,17.542131,3.654899,13.6103271,11.3003532,37.7366113,8.3108128,0.9601798,0.8817892,16.6076422,12.182624,58.1618913,14.8373493,29.4710239,63.4616534,34.1344139,39.7243481,18.6416968,3.7368739,13.9126276,12.0785131,37.8404405,6.9946648,0.9297888,0.9212655,15.9173613,12.2041758,60.0791764,14.8169776,30.2138479,62.9808645,33.5674072,39.8149344,18.4147984,3.766677,14.4346148,12.1773585,37.7188924,6.7893821,1.130314,1.1219467,17.2046677,13.6080152,61.1202206,14.3369004,30.4579977,62.1877172,33.4790489,39.1663797,18.1943591,3.6885617,15.1492403,12.3599097,36.6667513,9.9787284,1.2274163,1.2191369,16.9605038,13.138727,61.8467896,13.9909999,30.6623504,62.4258971,32.6388961,39.1846375,17.9735039,3.6016941,15.1938653,12.2522174,35.4109656,8.6396043 +2064,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8336949,0.8457441,12.3839882,9.0053555,43.5022957,13.8983107,28.515079,66.5826683,36.8482973,41.4097234,19.8502129,4.7508402,10.8524928,8.992137,33.3317314,12.4589562,0.8649115,0.8847424,13.0349756,9.4391203,44.1939254,13.8664949,28.9587394,65.6787911,35.950996,40.9438734,19.0881203,4.357307,11.5644864,8.9410923,34.0617382,13.0647363,0.9470169,0.9668644,13.627549,9.6972662,44.6111723,13.6490496,28.8459371,65.2382241,35.5770856,40.5037499,18.0150086,4.3971679,11.7334356,8.6785796,34.0167801,12.6664444,0.8904746,0.9094802,13.9018477,9.8456057,44.9408189,13.2122344,28.780957,65.0599428,34.7135822,39.2671308,17.4630026,4.1959411,11.607941,8.6427252,34.2680712,13.0521914,0.9618257,0.9667336,14.5349248,10.6589448,45.9074458,13.3621857,28.781995,64.5595858,34.4061575,39.6295407,17.8890566,3.9943454,11.7219895,8.8248135,34.2851309,11.4704863 +2065,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.845709,0.8846766,13.9550465,10.1360698,27.9522023,19.2328796,37.2022142,65.5555599,37.7376186,48.9290199,22.3426607,3.0923597,11.2695621,10.1375824,33.6898753,14.6875184,1.0650564,1.091401,15.0077992,10.9230145,28.5693515,18.8844622,37.2982449,65.083334,36.7425564,48.703364,22.1090008,3.2415987,11.4738326,9.8231383,33.1732426,14.8876321,1.0513313,1.092793,15.2887872,11.0193039,28.7375555,18.6565733,37.4209179,64.6545056,36.3832302,48.304228,21.7033501,2.8979938,12.033704,10.202233,33.3032215,14.6276285,1.0494792,1.0889933,15.2912453,11.2120314,28.8778131,18.2341889,38.1141727,64.0534639,36.0910831,47.8925885,21.5438181,3.022633,11.8870336,10.1259274,33.0101795,13.7305415,1.2113447,1.2291148,15.3967235,11.4661815,29.1946398,18.5625485,37.8829145,63.5993018,36.2031095,47.9372583,21.6526479,3.0014756,11.6030668,10.0457343,32.5880044,14.3228868 +2066,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7833402,0.7796799,11.2000251,6.7920186,49.9824517,10.2784063,32.9665646,66.2811921,41.276464,43.5788513,23.6714491,4.6957434,10.5072787,8.5859899,39.6946666,5.9023018,0.7863161,0.7748286,10.9129587,6.6470722,49.5235327,10.46487,33.1708631,66.5450604,41.6056234,43.6178993,23.797725,4.8325327,10.6610287,8.7581842,39.3459015,6.3019356,0.7935846,0.784552,10.9104985,6.7521191,49.4424776,10.9527844,32.9369188,66.5733117,42.193216,44.0072336,23.8459799,4.8563202,11.0356489,8.9894336,38.9591234,6.9877874,0.7714766,0.7624388,11.1599627,6.9247927,49.3325944,10.9222328,32.6983334,66.780665,41.9367726,44.1038752,23.8845066,4.77488,11.030319,9.4250572,39.169446,8.1249977,0.7996202,0.8015818,11.1653681,7.1164415,48.6023269,10.9804523,32.5674126,66.9081852,41.841291,44.9566605,24.1052789,4.7553045,11.1306697,9.6472085,39.3837751,8.6137117 +2067,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7585496,0.7640873,11.1102851,7.7835158,30.9655029,9.8723478,30.0759715,64.8124862,33.19727,45.2532106,19.3512696,3.4865233,10.7771558,8.691748,30.9592689,7.464819,0.7137426,0.7193279,11.4109341,8.0960249,31.7215562,9.9589367,29.765644,64.4738776,32.7180743,45.3247668,19.2139927,3.4230571,11.2178526,8.9398628,30.8893172,8.1896505,0.7741261,0.7930247,11.8731184,8.4404355,32.0801076,10.357994,30.1797172,64.1163879,33.1392577,45.4811585,19.4754986,3.3836069,11.0288367,8.6038115,30.5789614,8.4285618,0.7703731,0.7934783,12.1888022,8.7202705,32.534693,10.4470076,30.1755161,63.8794786,32.8271332,44.8601732,19.0119302,3.3290483,11.1674274,8.6110327,30.6543485,7.3726462,0.7493315,0.7667606,12.0030339,8.6507703,33.1269712,10.5360119,30.1692866,64.3623047,32.7906285,44.7990468,18.6116597,3.5306457,11.1713899,8.9920846,30.1032276,7.3934763 +2068,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.7774313,0.8018711,13.6191367,10.174144,45.4118623,12.8371339,28.2712825,63.6703553,29.3840236,43.1601154,14.9942326,5.3626353,12.347817,10.1251253,30.9194919,11.4403053,0.8627342,0.8880853,13.7846679,10.2871886,45.1269838,13.0151462,27.6167039,63.7636645,29.9800897,43.1877729,15.0248673,5.5312884,12.2683371,10.0863105,31.0627387,9.7666311,0.8986059,0.9403439,14.8210624,11.1432685,45.9673866,12.9761812,27.9525405,63.3218448,29.8193492,43.0905707,15.0061301,5.2252495,12.6986177,10.1076154,31.2500069,10.9327992,1.0122125,1.0538006,15.7941197,11.9326495,47.9435947,12.6102278,28.2090369,63.139306,29.4016482,42.2377675,14.5037893,5.0636836,13.1599623,10.2608361,31.9408245,11.2901457,0.9655971,1.0038107,16.1982245,12.2599668,49.3312179,12.160735,28.6102813,62.6082657,29.1943532,42.1853191,14.5720445,4.9244758,13.479378,10.5044487,32.63497,9.9719717 +2069,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6658385,0.6490063,9.6516948,6.5514934,38.9497294,17.6717875,30.3967051,67.8692653,35.5882822,43.5115946,20.1631292,4.610637,9.4540305,8.4798379,32.1330324,5.5178954,0.6528082,0.6353663,9.5360708,6.4967462,39.309705,17.5998761,30.5908279,68.1885778,35.9071925,44.0392836,20.7050538,4.5904039,10.1558641,9.0572781,31.5882579,5.8806566,0.5836476,0.5471774,9.9225517,6.9851668,39.5851239,18.0854478,31.3029612,67.4293177,35.1555205,44.3142799,20.70443,4.4196365,10.224745,9.3325259,31.5090243,6.1135493,0.535074,0.4971339,10.1465417,7.1570121,39.4372018,18.0524034,31.4519852,66.8149888,34.8867765,44.5265494,20.3797987,4.2327301,10.7514192,9.0294446,31.9891448,5.5827456,0.579843,0.5892721,10.5962543,7.4618004,40.0734852,17.7091755,31.187174,66.3305597,34.3148156,44.1234227,19.7389344,4.2737877,11.0352026,8.9231465,32.4054268,5.9470979 +2070,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6528082,0.6353663,9.5360708,6.4967462,39.309705,17.5998761,30.5908279,68.1885778,35.9071925,44.0392836,20.7050538,4.5904039,10.1558641,9.0572781,31.5882579,5.8806566,0.5836476,0.5471774,9.9225517,6.9851668,39.5851239,18.0854478,31.3029612,67.4293177,35.1555205,44.3142799,20.70443,4.4196365,10.224745,9.3325259,31.5090243,6.1135493,0.535074,0.4971339,10.1465417,7.1570121,39.4372018,18.0524034,31.4519852,66.8149888,34.8867765,44.5265494,20.3797987,4.2327301,10.7514192,9.0294446,31.9891448,5.5827456,0.579843,0.5892721,10.5962543,7.4618004,40.0734852,17.7091755,31.187174,66.3305597,34.3148156,44.1234227,19.7389344,4.2737877,11.0352026,8.9231465,32.4054268,5.9470979,0.6388873,0.6734167,11.4114168,7.755712,40.1734146,17.4081936,31.069423,65.9055528,33.982804,44.0412192,19.7854091,4.3070014,10.6849696,8.9887345,32.8001447,9.0188422 +2071,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0635077,1.1018869,21.5597626,16.9981314,32.2519533,17.1647384,34.7592416,66.6738329,38.0580716,48.7239744,23.2415592,3.3398539,12.8210373,9.8064345,34.2243399,16.8039303,0.9611184,0.9988821,21.6522481,17.4511541,32.5966765,16.5911757,35.1717075,67.2153396,38.4764568,48.038313,23.0640912,2.9117874,12.5260837,9.656273,33.2371568,15.6149471,1.0395732,1.0731047,21.5098106,17.1630994,33.0887695,16.5910395,35.3585613,67.1235096,38.2707544,47.6730934,22.6454376,3.084611,12.5516997,9.4460157,33.5152101,18.2595711,1.1253672,1.1371648,22.3021898,18.0329879,33.2550244,16.2544872,35.1002977,66.5657432,37.8143585,47.07616,22.2975465,3.0737944,12.9224073,9.6814333,33.6687087,18.1280615,1.1974556,1.2415913,22.2065491,17.9583793,34.3698889,16.6447744,35.111255,66.0755345,37.3015382,45.8122684,21.6750009,3.3069675,12.7341791,9.6048083,33.2257826,21.2431371 +2072,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0650564,1.091401,15.0077992,10.9230145,28.5693515,18.8844622,37.2982449,65.083334,36.7425564,48.703364,22.1090008,3.2415987,11.4738326,9.8231383,33.1732426,14.8876321,1.0513313,1.092793,15.2887872,11.0193039,28.7375555,18.6565733,37.4209179,64.6545056,36.3832302,48.304228,21.7033501,2.8979938,12.033704,10.202233,33.3032215,14.6276285,1.0494792,1.0889933,15.2912453,11.2120314,28.8778131,18.2341889,38.1141727,64.0534639,36.0910831,47.8925885,21.5438181,3.022633,11.8870336,10.1259274,33.0101795,13.7305415,1.2113447,1.2291148,15.3967235,11.4661815,29.1946398,18.5625485,37.8829145,63.5993018,36.2031095,47.9372583,21.6526479,3.0014756,11.6030668,10.0457343,32.5880044,14.3228868,1.2295605,1.2478494,15.6958505,11.638104,29.8209931,18.2252041,38.0208796,63.325753,35.8359474,47.3704759,21.3795741,3.0106709,11.4200785,10.0492767,33.1521926,16.6666239 +2073,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0513313,1.092793,15.2887872,11.0193039,28.7375555,18.6565733,37.4209179,64.6545056,36.3832302,48.304228,21.7033501,2.8979938,12.033704,10.202233,33.3032215,14.6276285,1.0494792,1.0889933,15.2912453,11.2120314,28.8778131,18.2341889,38.1141727,64.0534639,36.0910831,47.8925885,21.5438181,3.022633,11.8870336,10.1259274,33.0101795,13.7305415,1.2113447,1.2291148,15.3967235,11.4661815,29.1946398,18.5625485,37.8829145,63.5993018,36.2031095,47.9372583,21.6526479,3.0014756,11.6030668,10.0457343,32.5880044,14.3228868,1.2295605,1.2478494,15.6958505,11.638104,29.8209931,18.2252041,38.0208796,63.325753,35.8359474,47.3704759,21.3795741,3.0106709,11.4200785,10.0492767,33.1521926,16.6666239,1.1534869,1.1837617,15.8043708,11.7092315,29.9395429,18.261416,39.2046846,62.8147794,35.4151334,46.8835727,21.2540663,3.0042433,11.9031932,9.8939304,32.9643248,15.9090507 +2074,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6503117,0.6355792,10.9132304,7.4397764,26.3373852,21.90165,33.016469,68.4085784,37.4173257,48.039705,22.8889812,3.5129242,12.4827022,10.9159813,36.2637977,5.8558506,0.784256,0.7554318,10.9610942,7.8689143,25.7760495,21.981087,32.3904879,68.7374789,37.8748529,48.6985666,23.695856,3.7687515,13.3013375,11.2696101,36.0187639,4.7008467,0.8479295,0.8195071,11.1164636,7.6011983,25.9964907,21.437318,31.8162998,68.2767369,36.3911398,48.123707,22.9662417,3.4034857,13.2496926,11.8039569,36.6897423,4.867248,0.6892981,0.6823166,10.3512066,7.0586667,25.8390804,21.1505887,31.1027335,68.2124085,36.6448493,48.1506442,23.28061,3.7527403,12.5486677,10.8935877,35.6402776,4.399993,0.8974492,0.8906382,11.1008161,7.3740933,25.9329242,21.5043349,31.8174131,68.65837,37.4422284,48.3906782,23.7921051,4.1783413,12.076389,10.486906,35.7336124,7.8357521 +2075,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8649115,0.8847424,13.0349756,9.4391203,44.1939254,13.8664949,28.9587394,65.6787911,35.950996,40.9438734,19.0881203,4.357307,11.5644864,8.9410923,34.0617382,13.0647363,0.9470169,0.9668644,13.627549,9.6972662,44.6111723,13.6490496,28.8459371,65.2382241,35.5770856,40.5037499,18.0150086,4.3971679,11.7334356,8.6785796,34.0167801,12.6664444,0.8904746,0.9094802,13.9018477,9.8456057,44.9408189,13.2122344,28.780957,65.0599428,34.7135822,39.2671308,17.4630026,4.1959411,11.607941,8.6427252,34.2680712,13.0521914,0.9618257,0.9667336,14.5349248,10.6589448,45.9074458,13.3621857,28.781995,64.5595858,34.4061575,39.6295407,17.8890566,3.9943454,11.7219895,8.8248135,34.2851309,11.4704863,0.9715782,0.9578635,14.7469365,10.7836213,45.6697268,13.1609868,29.7251563,64.8029594,34.6259162,39.8896607,18.3191249,4.131306,11.2913246,8.3231351,34.5699799,11.1371717 +2076,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.8094189,1.8873685,28.571953,23.1812933,48.4863385,12.9238561,39.8609303,66.6932962,33.5684701,47.7647885,27.0165056,6.1119709,15.9927199,11.7340312,33.4196712,18.071232,1.697947,1.7581825,29.2773478,23.7928295,49.8328038,11.753783,39.6224175,66.2924898,33.4884542,48.055812,27.3550167,5.9967904,16.1798294,12.1884523,32.6253632,17.9132166,1.6352341,1.6976939,30.0201591,24.9469375,49.6241429,11.1948772,40.1312113,65.7282014,33.5893487,49.3459912,27.6167177,6.399384,16.5928528,11.5127305,34.1723445,16.5981974,1.5133536,1.5765746,30.0740567,24.6262965,50.2867519,11.2789196,40.4603103,65.5779918,32.7514749,49.9085221,27.2209763,6.3659727,16.4039269,12.2323486,34.2588323,16.3828114,1.4600671,1.5092979,30.0406859,24.4366583,51.4439949,11.4667426,39.4600064,65.4850023,32.3482392,49.1734213,26.2847487,6.6814577,16.5250632,13.1640797,35.0737707,19.3327147 +2077,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4803902,0.4497503,8.7519208,6.6066414,70.1868207,12.6146234,25.1215282,67.6942121,31.1408552,44.1992052,14.0534928,4.6845364,11.6938656,9.7877901,33.5116721,3.6884248,0.6739196,0.630307,8.3989675,6.3166202,69.9577063,13.8114504,24.9192952,67.2286771,31.2934329,43.8107821,14.064832,4.36501,11.8806675,9.4208847,34.090911,2.083276,0.5760822,0.5342939,8.1566649,6.1672971,69.5407119,13.4313649,25.4647469,67.942512,31.4382016,43.208139,14.048877,4.3585136,12.3352908,9.9647886,33.318652,2.940524,0.4599274,0.4599274,7.9993065,6.0997924,69.1925594,13.4080891,25.6384664,68.1490343,31.3405492,43.936278,13.6383957,4.7873297,13.2340816,10.3490985,33.2048228,2.1545207,0.6619209,0.6619209,8.4018962,6.3264246,66.8372937,13.3975358,26.2321386,68.7429913,31.6593924,44.5240578,13.8498183,4.6031935,13.0905839,10.4565831,33.0783187,5.9992672 +2078,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4000265,0.3548364,7.3238857,4.4888332,53.8677691,22.0743496,29.6955406,65.7161175,31.6680927,42.9459692,18.7607175,6.0248732,9.110537,8.2541069,31.3802138,3.2163761,0.5101118,0.471292,7.4019432,4.6604828,53.0072098,23.4964667,30.3368452,66.2947367,32.5263113,43.0526353,18.7578934,6.3368403,9.0870699,8.1641314,31.3933752,3.4375021,0.6361725,0.5977109,7.4205723,4.6195675,52.6480558,23.5594517,30.1202389,67.1019944,32.3175783,42.9726458,18.3872314,6.2396341,9.8700284,8.5772393,32.4180379,4.5731735,0.7396769,0.7017262,7.5164782,4.7981902,52.348594,24.38383,30.8180029,67.3824175,33.190184,43.8241401,18.8343569,6.3599172,9.7099153,8.2594715,31.4784774,5.722895,0.7362856,0.7362856,7.7470473,5.103695,51.2230051,24.5498087,30.6085232,67.1196865,32.7180538,43.7931103,18.0730237,5.9837719,9.8127084,9.0057094,32.6622922,6.6037777 +2079,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7300985,0.7250406,8.6930685,5.9471955,42.5020132,13.9779964,29.2617055,67.7323686,33.045481,42.9334207,18.9518767,14.4693472,9.6111253,8.2778193,37.5185963,3.961136,0.7792917,0.7803425,9.0115457,6.1932906,42.7519922,13.4974723,28.8313705,67.4471303,33.0060378,42.6462483,18.9988982,14.3161219,10.3854943,8.3036606,37.5447177,3.5266458,0.7425537,0.7642989,9.1055728,6.1628797,43.6437243,13.5412599,29.7113678,66.7292294,32.5588874,42.5511278,18.8260406,14.1405636,10.6385312,8.3205106,37.7198794,3.171091,0.7583378,0.7696795,9.5258646,6.3402879,44.3232518,13.1412632,30.003714,65.3698728,31.8221192,42.4233101,18.7592785,14.4173667,10.3749509,8.3119194,37.4087231,4.0772526,0.7972681,0.8480754,9.9852503,6.6056284,44.8732704,13.1931508,30.4114197,65.1037875,31.6839671,42.1979321,18.7237485,14.3254246,10.5078637,8.0722196,37.7263138,3.8951836 +2080,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9770086,2.1258181,33.6234177,28.8765823,68.616145,4.4811321,40.1442308,62.900641,26.5224359,43.6698718,15.9455128,5.6891026,16.6158537,13.2621951,33.7962963,12.654321,1.9797583,2.1326635,32.9268293,27.8861789,68.6655405,4.7734628,39.4563427,62.5205931,24.6293245,44.7281713,16.3920923,5.8484349,16.2460568,12.7760252,34.6645367,13.8709677,2.2035411,2.3534661,34.16,28.72,69.0713101,5.0159236,38.5298869,61.9547658,25.2827141,45.638126,15.4281099,5.5735057,15.3731343,11.7910448,35.1963746,13.1097561,2.1156966,2.1156966,34.414557,28.7183544,69.5901639,5.2590267,38.2352941,62.2416534,25.3577107,45.5484897,15.6597774,5.6438792,14.516129,11.8768328,34.9702381,12.8571429,2.1839382,2.1839382,34.4583987,28.9638932,67.7235772,5.6942278,38.5895404,63.6291601,26.8621236,46.1965135,16.5610143,4.8335975,14.5209581,10.9281437,35.3030303,12.8571429 +2081,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5356911,1.6275004,23.6641412,18.5829795,45.3773263,15.1607029,43.6537114,67.4570434,41.1597181,52.1099575,27.7145887,4.0954394,11.1326515,9.8214955,30.2255563,18.0142085,1.7959714,1.8894286,23.5290938,18.7091103,45.544399,16.3215976,42.733315,66.9455264,39.8340559,51.8024162,28.5641463,4.0939206,10.8345471,9.3165713,28.5942745,23.6424945,1.7750215,1.8721383,23.234705,18.2386964,46.2949538,16.2613083,43.3079,66.592443,38.6393147,50.458877,27.5468642,3.8042188,10.8664233,8.8879457,30.7521163,21.7549115,1.8587238,1.9625446,24.7687533,19.7500331,46.8861483,15.5751083,43.6088992,66.0000209,36.9917126,49.8603966,25.8892394,4.0582293,10.932197,8.3378878,33.1563526,21.5446437,1.8898852,2.0076487,23.9326713,19.3138726,46.332203,15.7145359,42.4837558,66.9230624,37.8742165,49.0014467,26.6501386,3.8467422,9.4715685,7.37789,31.6259075,22.5408435 +2082,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8350483,1.8690517,31.6420859,27.0742214,51.2691534,12.6899531,36.6023221,65.1623408,36.3098797,44.2786608,21.8672701,2.8676011,16.1873029,13.0741269,40.3035974,23.0337234,1.9185712,1.9163707,32.5299973,28.014123,51.4861788,12.8541099,37.4132692,65.2847137,36.6112525,44.330491,22.0002108,2.9132751,16.1552576,12.3720921,39.6289415,22.3595606,1.8041626,1.8283293,32.9357855,28.5182989,51.7984219,13.1725944,38.1892586,65.1564082,37.0756501,44.3944659,21.7468568,2.9310407,16.1879323,12.1257739,39.3398012,21.0239743,1.7964936,1.8208869,33.5776434,29.0422602,52.7331019,12.7821508,37.7219117,64.2591061,35.8507674,43.8876045,21.2128061,2.8667673,16.3992925,12.6893318,40.2180455,20.5696457,1.9342164,1.9187542,33.7574413,29.1306503,53.4098056,12.8037895,38.008547,64.0203008,35.3701127,42.95736,20.6013358,2.8052991,16.7411533,12.5708318,39.6927236,20.184455 +2083,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6105298,0.6162673,12.9610373,9.5070391,26.7654386,16.5435778,34.4721474,66.0781748,35.1142206,47.0589057,20.9652209,4.547896,12.4902657,9.5319346,27.7520664,6.8855824,0.6719893,0.6670497,12.3403607,9.4439693,27.8422679,16.6259742,34.6097926,66.4784398,35.274917,46.6545989,20.929696,4.5850253,11.9245919,9.2330608,27.3730002,7.4335357,0.6365764,0.6317721,12.4676071,9.4836758,28.7192315,17.0267392,34.5925521,67.9944138,36.416692,47.6881674,21.4706748,4.6644237,11.7659178,9.8980976,28.2671767,6.9800399,0.6172929,0.6125678,12.8053445,9.7709678,30.6234138,17.1722428,34.3008506,68.0975951,37.1053709,47.6575793,21.6135013,4.4087929,12.6565641,10.5874121,28.9098573,5.6489438,0.65937,0.6746355,12.9950157,10.2373711,31.5428811,17.1594682,34.1999952,66.937525,37.3886709,47.4084458,21.6797408,4.5117411,12.5782311,10.8061195,29.0710835,5.5105958 +2084,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7959714,1.8894286,23.5290938,18.7091103,45.544399,16.3215976,42.733315,66.9455264,39.8340559,51.8024162,28.5641463,4.0939206,10.8345471,9.3165713,28.5942745,23.6424945,1.7750215,1.8721383,23.234705,18.2386964,46.2949538,16.2613083,43.3079,66.592443,38.6393147,50.458877,27.5468642,3.8042188,10.8664233,8.8879457,30.7521163,21.7549115,1.8587238,1.9625446,24.7687533,19.7500331,46.8861483,15.5751083,43.6088992,66.0000209,36.9917126,49.8603966,25.8892394,4.0582293,10.932197,8.3378878,33.1563526,21.5446437,1.8898852,2.0076487,23.9326713,19.3138726,46.332203,15.7145359,42.4837558,66.9230624,37.8742165,49.0014467,26.6501386,3.8467422,9.4715685,7.37789,31.6259075,22.5408435,1.9813446,2.1454507,25.2482314,20.2249219,45.996266,15.7936105,41.9443924,67.1742315,38.1270356,49.0156788,26.7657101,4.2369146,9.4546382,7.5196914,33.2355317,21.1999354 +2085,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7425645,1.7602211,31.2125267,27.3389209,48.9818545,17.6208181,36.1217161,64.6713428,31.8557073,44.3482669,21.069692,2.544273,13.5769303,11.0278242,38.8461213,27.0465927,1.9065799,1.9241207,31.3126669,27.4483664,50.1105394,17.0516644,36.2640789,65.3050722,31.7100141,44.2856495,20.9741737,2.4578717,13.2647356,11.0012739,39.8893163,27.9492608,2.0932479,2.1372867,31.7056168,27.845066,51.516967,16.7795643,35.3926153,65.2864105,32.2083029,44.0009889,21.4476134,2.4322816,13.1591811,10.5957034,39.568256,27.072611,2.1541165,2.1839017,32.2975014,28.2480212,53.3731586,16.5586007,35.2414941,65.9642705,32.7167409,44.0479693,20.9838796,2.4527529,13.9137901,10.9836994,39.7574185,27.631437,2.2545383,2.2905236,32.4667841,28.2954819,54.7527018,16.6900377,35.6253105,66.254174,33.0344247,44.1362002,21.0503181,2.4622266,14.3958389,10.6776357,39.8330418,25.8620733 +2086,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1197044,2.1140809,28.9039738,24.9195444,43.3137067,18.2928888,42.2547768,66.3348548,35.3980816,48.7158055,24.9967912,3.9895588,13.650957,9.5368894,32.099834,24.5447693,1.8730069,1.8926762,28.8832186,24.9738116,43.4215379,18.7461079,42.8433915,66.1495986,35.9631285,49.9436776,24.7060189,3.9880404,13.7532527,9.9210921,32.8784088,22.2732167,1.7307073,1.7682767,28.8914612,24.8247962,44.0940103,18.6686138,42.6038563,66.2745495,35.4900582,49.4574129,24.3612219,3.9893082,12.6600483,10.0018063,32.214038,20.6489585,1.8498499,1.8878405,28.6030918,24.4144738,44.9990107,18.831897,41.1897284,65.8009859,35.1539921,48.7865694,24.3626807,4.0833102,12.7642173,10.9089584,33.3364863,20.8645994,1.9388923,1.9948276,28.861191,24.6461199,44.3501225,19.1848085,41.511531,66.827661,35.7019717,49.007702,24.568647,4.2644034,12.587796,10.4660928,32.3432341,21.1145613 +2087,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9797583,2.1326635,32.9268293,27.8861789,68.6655405,4.7734628,39.4563427,62.5205931,24.6293245,44.7281713,16.3920923,5.8484349,16.2460568,12.7760252,34.6645367,13.8709677,2.2035411,2.3534661,34.16,28.72,69.0713101,5.0159236,38.5298869,61.9547658,25.2827141,45.638126,15.4281099,5.5735057,15.3731343,11.7910448,35.1963746,13.1097561,2.1156966,2.1156966,34.414557,28.7183544,69.5901639,5.2590267,38.2352941,62.2416534,25.3577107,45.5484897,15.6597774,5.6438792,14.516129,11.8768328,34.9702381,12.8571429,2.1839382,2.1839382,34.4583987,28.9638932,67.7235772,5.6942278,38.5895404,63.6291601,26.8621236,46.1965135,16.5610143,4.8335975,14.5209581,10.9281437,35.3030303,12.8571429,2.2666601,2.2666601,34.3888071,29.9705449,67.0933735,5.9210526,38.239645,65.7544379,27.1449704,46.0798817,16.4940828,4.9556213,12.9427793,9.6730245,33.6538462,12.5730994 +2088,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5836476,0.5471774,9.9225517,6.9851668,39.5851239,18.0854478,31.3029612,67.4293177,35.1555205,44.3142799,20.70443,4.4196365,10.224745,9.3325259,31.5090243,6.1135493,0.535074,0.4971339,10.1465417,7.1570121,39.4372018,18.0524034,31.4519852,66.8149888,34.8867765,44.5265494,20.3797987,4.2327301,10.7514192,9.0294446,31.9891448,5.5827456,0.579843,0.5892721,10.5962543,7.4618004,40.0734852,17.7091755,31.187174,66.3305597,34.3148156,44.1234227,19.7389344,4.2737877,11.0352026,8.9231465,32.4054268,5.9470979,0.6388873,0.6734167,11.4114168,7.755712,40.1734146,17.4081936,31.069423,65.9055528,33.982804,44.0412192,19.7854091,4.3070014,10.6849696,8.9887345,32.8001447,9.0188422,0.6302584,0.6650806,11.9772553,8.0923329,40.652113,17.5056337,31.2183405,65.1014142,33.4045178,43.8213449,19.1105273,4.2480058,10.909648,8.531669,33.1326859,7.7193666 +2089,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8627342,0.8880853,13.7846679,10.2871886,45.1269838,13.0151462,27.6167039,63.7636645,29.9800897,43.1877729,15.0248673,5.5312884,12.2683371,10.0863105,31.0627387,9.7666311,0.8986059,0.9403439,14.8210624,11.1432685,45.9673866,12.9761812,27.9525405,63.3218448,29.8193492,43.0905707,15.0061301,5.2252495,12.6986177,10.1076154,31.2500069,10.9327992,1.0122125,1.0538006,15.7941197,11.9326495,47.9435947,12.6102278,28.2090369,63.139306,29.4016482,42.2377675,14.5037893,5.0636836,13.1599623,10.2608361,31.9408245,11.2901457,0.9655971,1.0038107,16.1982245,12.2599668,49.3312179,12.160735,28.6102813,62.6082657,29.1943532,42.1853191,14.5720445,4.9244758,13.479378,10.5044487,32.63497,9.9719717,0.9585652,0.9828433,16.3640608,12.3552808,50.1169722,12.6726776,29.1835769,63.1989879,29.1430621,41.9671674,14.5968786,4.7913315,13.3136581,10.5310892,31.9459462,9.8288388 +2090,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9470169,0.9668644,13.627549,9.6972662,44.6111723,13.6490496,28.8459371,65.2382241,35.5770856,40.5037499,18.0150086,4.3971679,11.7334356,8.6785796,34.0167801,12.6664444,0.8904746,0.9094802,13.9018477,9.8456057,44.9408189,13.2122344,28.780957,65.0599428,34.7135822,39.2671308,17.4630026,4.1959411,11.607941,8.6427252,34.2680712,13.0521914,0.9618257,0.9667336,14.5349248,10.6589448,45.9074458,13.3621857,28.781995,64.5595858,34.4061575,39.6295407,17.8890566,3.9943454,11.7219895,8.8248135,34.2851309,11.4704863,0.9715782,0.9578635,14.7469365,10.7836213,45.6697268,13.1609868,29.7251563,64.8029594,34.6259162,39.8896607,18.3191249,4.131306,11.2913246,8.3231351,34.5699799,11.1371717,0.93178,0.921178,15.1817549,11.1465715,47.1871573,12.9687664,30.4756129,65.1887871,33.8758259,40.3212129,18.1311297,3.9857188,12.120308,8.4338725,34.1746481,11.0508035 +2091,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6917059,0.6560208,9.3244475,5.9575814,41.608689,15.7728434,30.412139,69.7208212,38.0567341,46.1887981,21.1943421,3.5342358,8.9929637,8.8766519,31.6710737,5.496452,0.6257176,0.632391,9.6417869,6.1668759,41.9358174,15.9679147,30.3000661,70.2435448,37.4755523,46.1730868,20.6892975,3.5986074,8.7229399,8.8248009,30.8816884,5.9139721,0.676364,0.7080053,9.4846069,6.2339575,42.0402174,16.1094486,30.3308853,70.101653,36.7106532,45.5774395,20.1881602,3.6007776,8.8970239,8.5708132,30.7809,5.3819407,0.6533384,0.6857108,9.3163009,6.2363449,42.4511123,16.1336166,29.7619095,69.6818184,35.8589285,45.0044659,20.4161254,3.5046704,8.9293692,8.2769595,31.286811,5.2721071,0.6356678,0.6782891,9.0382527,5.9781379,41.8559972,16.3276427,28.5444158,69.5415367,35.2882436,45.1035172,20.4206705,3.4609355,9.4411748,8.5591735,32.2822264,5.9931425 +2092,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5044581,0.4774894,8.0137829,4.9880181,46.024414,20.0671355,30.2267297,67.9475896,35.2915189,42.3586584,19.6260294,9.2608974,8.8166394,6.8021217,37.6557894,4.8611125,0.441213,0.4188871,7.895507,4.8890848,45.439974,19.6204337,30.360222,68.1123972,35.1729093,42.6368884,19.4956742,9.0057634,8.5787114,6.5699677,37.055114,5.1388903,0.4438008,0.4272285,7.2564633,4.6435685,45.1333698,19.5470957,30.0392459,67.6619057,35.3378204,42.9352377,20.5074294,8.312304,8.3602178,6.2264174,35.5163124,4.1333344,0.4471881,0.4311386,7.4048753,4.7221479,44.8470676,19.776221,29.8395837,67.1968481,35.5492132,42.6998302,20.3235444,8.224576,9.0652327,6.5172574,35.3627023,3.7396132,0.4500202,0.4590148,7.2791022,4.6423579,45.022563,19.622172,29.4158501,67.2183628,35.6745535,42.6008288,20.1251733,7.9972159,8.94161,6.7207096,35.954769,3.0701763 +2093,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.784256,0.7554318,10.9610942,7.8689143,25.7760495,21.981087,32.3904879,68.7374789,37.8748529,48.6985666,23.695856,3.7687515,13.3013375,11.2696101,36.0187639,4.7008467,0.8479295,0.8195071,11.1164636,7.6011983,25.9964907,21.437318,31.8162998,68.2767369,36.3911398,48.123707,22.9662417,3.4034857,13.2496926,11.8039569,36.6897423,4.867248,0.6892981,0.6823166,10.3512066,7.0586667,25.8390804,21.1505887,31.1027335,68.2124085,36.6448493,48.1506442,23.28061,3.7527403,12.5486677,10.8935877,35.6402776,4.399993,0.8974492,0.8906382,11.1008161,7.3740933,25.9329242,21.5043349,31.8174131,68.65837,37.4422284,48.3906782,23.7921051,4.1783413,12.076389,10.486906,35.7336124,7.8357521,0.8425621,0.8360318,11.6747397,7.6878857,25.5761313,21.5508068,31.6862673,68.6279255,37.8304839,48.6395808,24.1402903,3.8249518,12.5861547,10.8756693,37.1201658,7.2915972 +2094,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7770737,0.7811303,10.9897731,7.6337112,44.4414554,10.6386295,27.9798533,71.108167,39.8568433,44.1410389,22.0519601,4.7773048,9.7204698,8.5506933,35.0370333,7.6868829,0.7893435,0.8115314,11.0873162,7.6195923,44.57532,10.5762322,27.8795152,70.049945,39.3767581,43.6114847,21.8655712,4.7081455,9.7389349,8.0085694,35.2681247,7.5172424,0.7737886,0.7967381,11.1596999,7.5066861,44.5938897,10.471916,28.0067514,69.6410337,39.4099013,43.3064012,22.0443864,4.6686424,9.7621895,7.8899994,35.960138,9.0731082,0.8245391,0.8449723,11.4992904,7.8291966,44.4461434,10.3146314,27.792276,69.1169122,39.3728058,43.1058695,21.8715544,4.611137,9.4541508,7.5403067,36.398729,8.2911403,0.7824565,0.7952573,11.7566986,8.0780057,44.424551,10.4780303,27.8783348,69.2257446,39.8642554,43.0115616,21.6943248,4.4595254,9.7429317,7.4150462,36.3627314,8.7863464 +2095,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7795535,1.7678156,27.3952012,22.5005596,56.7927943,17.0962748,38.5036456,63.0170324,33.7215326,44.3069029,21.1024605,3.2790618,12.290239,12.0554757,34.2495203,20.1649916,1.7084711,1.6966314,27.2288874,22.4984777,56.2770504,17.3399852,38.1771578,63.0167813,33.9966252,44.7505113,21.1474767,2.9665405,12.540288,11.8666404,34.3070973,17.8721866,1.5825761,1.5574828,27.3906133,22.4867138,56.5960806,17.7909806,38.9541666,63.566146,34.1675825,44.8495282,21.3022807,3.1412225,12.909208,11.683983,33.8536074,18.1705212,1.7297044,1.7045023,27.0609179,22.3930724,56.4251321,17.9014408,39.6093232,63.410495,34.0896545,45.2990372,21.4534707,3.2988817,13.5679662,11.8986958,34.1803022,17.4266931,1.6374534,1.6124996,27.6674383,22.8521031,56.6527533,18.2949515,39.9463266,63.4635374,33.7681662,45.0994761,21.5383917,3.1317011,12.8286991,10.7270619,34.2550524,17.637529 +2096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9601798,0.8817892,16.6076422,12.182624,58.1618913,14.8373493,29.4710239,63.4616534,34.1344139,39.7243481,18.6416968,3.7368739,13.9126276,12.0785131,37.8404405,6.9946648,0.9297888,0.9212655,15.9173613,12.2041758,60.0791764,14.8169776,30.2138479,62.9808645,33.5674072,39.8149344,18.4147984,3.766677,14.4346148,12.1773585,37.7188924,6.7893821,1.130314,1.1219467,17.2046677,13.6080152,61.1202206,14.3369004,30.4579977,62.1877172,33.4790489,39.1663797,18.1943591,3.6885617,15.1492403,12.3599097,36.6667513,9.9787284,1.2274163,1.2191369,16.9605038,13.138727,61.8467896,13.9909999,30.6623504,62.4258971,32.6388961,39.1846375,17.9735039,3.6016941,15.1938653,12.2522174,35.4109656,8.6396043,1.4590426,1.4508434,17.9156793,13.759345,62.6079159,13.8918978,30.4119631,62.2893727,31.793258,38.9811265,17.4374393,3.5262134,14.5401984,12.0407482,35.4980639,8.620305 +2097,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9065799,1.9241207,31.3126669,27.4483664,50.1105394,17.0516644,36.2640789,65.3050722,31.7100141,44.2856495,20.9741737,2.4578717,13.2647356,11.0012739,39.8893163,27.9492608,2.0932479,2.1372867,31.7056168,27.845066,51.516967,16.7795643,35.3926153,65.2864105,32.2083029,44.0009889,21.4476134,2.4322816,13.1591811,10.5957034,39.568256,27.072611,2.1541165,2.1839017,32.2975014,28.2480212,53.3731586,16.5586007,35.2414941,65.9642705,32.7167409,44.0479693,20.9838796,2.4527529,13.9137901,10.9836994,39.7574185,27.631437,2.2545383,2.2905236,32.4667841,28.2954819,54.7527018,16.6900377,35.6253105,66.254174,33.0344247,44.1362002,21.0503181,2.4622266,14.3958389,10.6776357,39.8330418,25.8620733,2.2988089,2.3283018,33.6187309,29.3299224,55.9641984,16.5984339,35.8458748,66.4114725,33.7280895,43.3410426,20.8274623,2.4100854,14.2500904,10.424878,39.7793369,25.1676759 +2098,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0494792,1.0889933,15.2912453,11.2120314,28.8778131,18.2341889,38.1141727,64.0534639,36.0910831,47.8925885,21.5438181,3.022633,11.8870336,10.1259274,33.0101795,13.7305415,1.2113447,1.2291148,15.3967235,11.4661815,29.1946398,18.5625485,37.8829145,63.5993018,36.2031095,47.9372583,21.6526479,3.0014756,11.6030668,10.0457343,32.5880044,14.3228868,1.2295605,1.2478494,15.6958505,11.638104,29.8209931,18.2252041,38.0208796,63.325753,35.8359474,47.3704759,21.3795741,3.0106709,11.4200785,10.0492767,33.1521926,16.6666239,1.1534869,1.1837617,15.8043708,11.7092315,29.9395429,18.261416,39.2046846,62.8147794,35.4151334,46.8835727,21.2540663,3.0042433,11.9031932,9.8939304,32.9643248,15.9090507,1.1359111,1.1583258,16.8820035,12.8839539,30.6071685,18.0334139,38.2345759,61.7160686,34.8765686,46.5555631,21.0987817,3.0740813,11.9757619,9.5991162,32.7349475,15.9313335 +2099,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8345231,0.8283644,10.6359058,7.198285,45.022819,19.3274246,31.3030176,69.4899809,38.0682704,45.4677228,23.0048231,4.2943879,10.799113,9.7832935,38.1116252,7.3308336,0.7682054,0.7810401,10.3861334,7.0398912,45.2444183,19.8531608,31.9124568,69.2681648,37.8935643,45.0550415,22.8096639,4.3678246,10.4019657,9.5978714,38.2582023,6.782949,0.6738755,0.6946315,10.7096314,7.3154063,44.6759926,19.445078,31.4797014,68.5986165,37.4187483,44.8423792,22.9098119,4.4933953,10.8849339,10.0906284,37.7221013,7.3585378,0.7367649,0.7516067,10.871744,7.4154272,44.9532275,19.6221314,31.7563768,67.7980964,37.129868,44.3905421,22.3462134,4.364392,11.0863584,9.7470415,37.4375788,8.0357085,0.5991742,0.6059932,10.752749,7.4382287,44.8262414,19.3842132,32.4001198,67.4683754,36.9216366,44.1770627,22.2530018,4.3507241,10.8631285,10.186572,36.715968,7.3378764 +2100,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3819133,0.4043348,6.4680233,3.997093,42.0371275,23.7397984,29.3053546,68.9097926,36.0588519,46.1890979,18.6444766,6.6811384,9.5615672,9.7572362,34.1706161,1.8248175,0.3822967,0.4264079,6.8041726,4.1488857,41.5662651,23.4249171,29.547619,69.2619048,35.6428571,45.547619,18.1666667,6.1190476,9.2694064,9.1948765,33.287037,1.8656716,0.4650152,0.522961,7.2994403,4.454291,41.6627191,22.1006055,29.7708138,68.5921422,34.6819457,44.9719364,17.9840973,5.9167446,9.6083789,9.543379,32.4287029,1.7482517,0.5027933,0.5171179,7.4389682,4.6752649,40.5678085,22.2555351,30.0139276,69.0575673,34.6564531,45.1485608,17.8505107,5.8263695,10.1611459,9.8294434,32.5969342,0.974026,0.5122717,0.5265411,7.0607176,4.5308188,41.2108462,21.353211,30.5041628,69.079556,34.1581869,44.7502313,17.1369103,5.7123034,10.2484472,9.8222222,32.2162645,1.048951 +2101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7750215,1.8721383,23.234705,18.2386964,46.2949538,16.2613083,43.3079,66.592443,38.6393147,50.458877,27.5468642,3.8042188,10.8664233,8.8879457,30.7521163,21.7549115,1.8587238,1.9625446,24.7687533,19.7500331,46.8861483,15.5751083,43.6088992,66.0000209,36.9917126,49.8603966,25.8892394,4.0582293,10.932197,8.3378878,33.1563526,21.5446437,1.8898852,2.0076487,23.9326713,19.3138726,46.332203,15.7145359,42.4837558,66.9230624,37.8742165,49.0014467,26.6501386,3.8467422,9.4715685,7.37789,31.6259075,22.5408435,1.9813446,2.1454507,25.2482314,20.2249219,45.996266,15.7936105,41.9443924,67.1742315,38.1270356,49.0156788,26.7657101,4.2369146,9.4546382,7.5196914,33.2355317,21.1999354,2.0825671,2.2111598,24.9247374,19.7734279,45.4090509,16.6528139,42.5957673,66.2824679,38.9431444,49.8927691,26.8975552,3.8998335,9.3889266,7.9284419,33.9382873,24.5596942 +2102,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5448979,1.5391802,32.910467,29.3209046,67.3681043,13.5205186,34.598231,62.7686427,29.0320726,40.621807,16.0813998,2.4354462,17.5334264,13.8789863,41.7540232,17.9886227,1.6021678,1.5965154,32.3235064,28.6730376,66.1299311,13.7526825,35.1060606,62.9482741,29.0300989,40.6859604,16.530946,2.4779046,17.5112211,14.0943958,41.3099722,18.5753723,1.8692805,1.861944,32.5890317,28.421711,65.9138941,13.8727689,36.1765437,63.5293921,28.8437991,40.5801127,16.8376636,2.480826,17.4522655,14.0450985,40.9581802,18.9750167,2.1059951,2.0984959,32.6946744,28.4381089,66.0437422,13.6883846,36.619675,63.7576941,28.7126234,40.2384892,17.1011181,2.4342256,17.7400953,14.4701718,40.4966115,19.5223835,2.0593697,2.1280053,32.1689225,27.8436996,66.922398,13.3272624,35.8555828,62.6582098,28.0396244,39.8382905,16.8379714,2.3235012,18.4013195,14.9953534,41.0389875,20.2996837 +2103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6739196,0.630307,8.3989675,6.3166202,69.9577063,13.8114504,24.9192952,67.2286771,31.2934329,43.8107821,14.064832,4.36501,11.8806675,9.4208847,34.090911,2.083276,0.5760822,0.5342939,8.1566649,6.1672971,69.5407119,13.4313649,25.4647469,67.942512,31.4382016,43.208139,14.048877,4.3585136,12.3352908,9.9647886,33.318652,2.940524,0.4599274,0.4599274,7.9993065,6.0997924,69.1925594,13.4080891,25.6384664,68.1490343,31.3405492,43.936278,13.6383957,4.7873297,13.2340816,10.3490985,33.2048228,2.1545207,0.6619209,0.6619209,8.4018962,6.3264246,66.8372937,13.3975358,26.2321386,68.7429913,31.6593924,44.5240578,13.8498183,4.6031935,13.0905839,10.4565831,33.0783187,5.9992672,0.6762225,0.6762225,8.5310657,6.3742829,65.4096004,13.4360729,26.4514785,68.6582567,31.458454,44.8102152,13.9536113,4.6383256,13.4438518,11.2951362,32.2594482,6.5378024 +2104,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8904746,0.9094802,13.9018477,9.8456057,44.9408189,13.2122344,28.780957,65.0599428,34.7135822,39.2671308,17.4630026,4.1959411,11.607941,8.6427252,34.2680712,13.0521914,0.9618257,0.9667336,14.5349248,10.6589448,45.9074458,13.3621857,28.781995,64.5595858,34.4061575,39.6295407,17.8890566,3.9943454,11.7219895,8.8248135,34.2851309,11.4704863,0.9715782,0.9578635,14.7469365,10.7836213,45.6697268,13.1609868,29.7251563,64.8029594,34.6259162,39.8896607,18.3191249,4.131306,11.2913246,8.3231351,34.5699799,11.1371717,0.93178,0.921178,15.1817549,11.1465715,47.1871573,12.9687664,30.4756129,65.1887871,33.8758259,40.3212129,18.1311297,3.9857188,12.120308,8.4338725,34.1746481,11.0508035,0.8773271,0.8668322,15.1981053,11.1353681,48.1753814,13.2546355,30.5073906,64.4144704,33.4002852,39.9716877,17.6329813,4.1637965,12.1994653,8.5127911,33.8627792,11.1784852 +2105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.9185712,1.9163707,32.5299973,28.014123,51.4861788,12.8541099,37.4132692,65.2847137,36.6112525,44.330491,22.0002108,2.9132751,16.1552576,12.3720921,39.6289415,22.3595606,1.8041626,1.8283293,32.9357855,28.5182989,51.7984219,13.1725944,38.1892586,65.1564082,37.0756501,44.3944659,21.7468568,2.9310407,16.1879323,12.1257739,39.3398012,21.0239743,1.7964936,1.8208869,33.5776434,29.0422602,52.7331019,12.7821508,37.7219117,64.2591061,35.8507674,43.8876045,21.2128061,2.8667673,16.3992925,12.6893318,40.2180455,20.5696457,1.9342164,1.9187542,33.7574413,29.1306503,53.4098056,12.8037895,38.008547,64.0203008,35.3701127,42.95736,20.6013358,2.8052991,16.7411533,12.5708318,39.6927236,20.184455,1.9780673,1.9560472,35.0561485,30.3201922,54.2904625,12.7019339,38.7564551,63.6480688,34.8320217,42.9478316,20.3475225,2.51197,17.1903268,12.4979873,39.1462542,19.4223224 +2106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6257176,0.632391,9.6417869,6.1668759,41.9358174,15.9679147,30.3000661,70.2435448,37.4755523,46.1730868,20.6892975,3.5986074,8.7229399,8.8248009,30.8816884,5.9139721,0.676364,0.7080053,9.4846069,6.2339575,42.0402174,16.1094486,30.3308853,70.101653,36.7106532,45.5774395,20.1881602,3.6007776,8.8970239,8.5708132,30.7809,5.3819407,0.6533384,0.6857108,9.3163009,6.2363449,42.4511123,16.1336166,29.7619095,69.6818184,35.8589285,45.0044659,20.4161254,3.5046704,8.9293692,8.2769595,31.286811,5.2721071,0.6356678,0.6782891,9.0382527,5.9781379,41.8559972,16.3276427,28.5444158,69.5415367,35.2882436,45.1035172,20.4206705,3.4609355,9.4411748,8.5591735,32.2822264,5.9931425,0.689922,0.7215254,9.2240285,6.3595544,41.9542512,16.4493351,28.4083589,69.4390328,35.170704,45.2381129,20.0587231,3.5986032,9.5248381,8.3624508,31.921921,6.187312 +2107,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7893435,0.8115314,11.0873162,7.6195923,44.57532,10.5762322,27.8795152,70.049945,39.3767581,43.6114847,21.8655712,4.7081455,9.7389349,8.0085694,35.2681247,7.5172424,0.7737886,0.7967381,11.1596999,7.5066861,44.5938897,10.471916,28.0067514,69.6410337,39.4099013,43.3064012,22.0443864,4.6686424,9.7621895,7.8899994,35.960138,9.0731082,0.8245391,0.8449723,11.4992904,7.8291966,44.4461434,10.3146314,27.792276,69.1169122,39.3728058,43.1058695,21.8715544,4.611137,9.4541508,7.5403067,36.398729,8.2911403,0.7824565,0.7952573,11.7566986,8.0780057,44.424551,10.4780303,27.8783348,69.2257446,39.8642554,43.0115616,21.6943248,4.4595254,9.7429317,7.4150462,36.3627314,8.7863464,0.8261264,0.8304792,12.2329184,8.451196,44.633025,10.2463852,28.6566446,69.0576461,39.8045123,42.7418516,21.4887258,4.5162887,9.7596678,7.6629477,36.5615704,9.5084088 +2108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5101118,0.471292,7.4019432,4.6604828,53.0072098,23.4964667,30.3368452,66.2947367,32.5263113,43.0526353,18.7578934,6.3368403,9.0870699,8.1641314,31.3933752,3.4375021,0.6361725,0.5977109,7.4205723,4.6195675,52.6480558,23.5594517,30.1202389,67.1019944,32.3175783,42.9726458,18.3872314,6.2396341,9.8700284,8.5772393,32.4180379,4.5731735,0.7396769,0.7017262,7.5164782,4.7981902,52.348594,24.38383,30.8180029,67.3824175,33.190184,43.8241401,18.8343569,6.3599172,9.7099153,8.2594715,31.4784774,5.722895,0.7362856,0.7362856,7.7470473,5.103695,51.2230051,24.5498087,30.6085232,67.1196865,32.7180538,43.7931103,18.0730237,5.9837719,9.8127084,9.0057094,32.6622922,6.6037777,0.8927313,0.9052017,8.0801899,5.3665395,51.3420197,24.2031749,30.4444511,66.9697092,33.3535354,43.6969707,18.7272778,6.4444435,9.7649959,8.9618852,33.1285885,6.8181862 +2109,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7737886,0.7967381,11.1596999,7.5066861,44.5938897,10.471916,28.0067514,69.6410337,39.4099013,43.3064012,22.0443864,4.6686424,9.7621895,7.8899994,35.960138,9.0731082,0.8245391,0.8449723,11.4992904,7.8291966,44.4461434,10.3146314,27.792276,69.1169122,39.3728058,43.1058695,21.8715544,4.611137,9.4541508,7.5403067,36.398729,8.2911403,0.7824565,0.7952573,11.7566986,8.0780057,44.424551,10.4780303,27.8783348,69.2257446,39.8642554,43.0115616,21.6943248,4.4595254,9.7429317,7.4150462,36.3627314,8.7863464,0.8261264,0.8304792,12.2329184,8.451196,44.633025,10.2463852,28.6566446,69.0576461,39.8045123,42.7418516,21.4887258,4.5162887,9.7596678,7.6629477,36.5615704,9.5084088,0.814492,0.8301306,12.7633119,9.0470967,44.5236627,10.2482316,28.5096904,68.7580741,39.6671666,42.5186251,21.0680622,4.535517,9.8221079,7.3070293,36.3066519,10.6622517 +2110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8986059,0.9403439,14.8210624,11.1432685,45.9673866,12.9761812,27.9525405,63.3218448,29.8193492,43.0905707,15.0061301,5.2252495,12.6986177,10.1076154,31.2500069,10.9327992,1.0122125,1.0538006,15.7941197,11.9326495,47.9435947,12.6102278,28.2090369,63.139306,29.4016482,42.2377675,14.5037893,5.0636836,13.1599623,10.2608361,31.9408245,11.2901457,0.9655971,1.0038107,16.1982245,12.2599668,49.3312179,12.160735,28.6102813,62.6082657,29.1943532,42.1853191,14.5720445,4.9244758,13.479378,10.5044487,32.63497,9.9719717,0.9585652,0.9828433,16.3640608,12.3552808,50.1169722,12.6726776,29.1835769,63.1989879,29.1430621,41.9671674,14.5968786,4.7913315,13.3136581,10.5310892,31.9459462,9.8288388,0.8471505,0.8899901,16.3937916,12.6082937,51.4804695,12.9633021,28.8600683,63.379655,29.4029651,42.3502016,14.7266154,4.6743145,13.2361137,10.8941392,31.5867159,9.1527599 +2111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8041626,1.8283293,32.9357855,28.5182989,51.7984219,13.1725944,38.1892586,65.1564082,37.0756501,44.3944659,21.7468568,2.9310407,16.1879323,12.1257739,39.3398012,21.0239743,1.7964936,1.8208869,33.5776434,29.0422602,52.7331019,12.7821508,37.7219117,64.2591061,35.8507674,43.8876045,21.2128061,2.8667673,16.3992925,12.6893318,40.2180455,20.5696457,1.9342164,1.9187542,33.7574413,29.1306503,53.4098056,12.8037895,38.008547,64.0203008,35.3701127,42.95736,20.6013358,2.8052991,16.7411533,12.5708318,39.6927236,20.184455,1.9780673,1.9560472,35.0561485,30.3201922,54.2904625,12.7019339,38.7564551,63.6480688,34.8320217,42.9478316,20.3475225,2.51197,17.1903268,12.4979873,39.1462542,19.4223224,1.8218296,1.8087287,35.0201489,30.4421911,54.512795,12.8433669,39.3254717,63.8216164,34.5035761,43.3334519,20.5084436,2.4294027,17.3873348,11.9552853,39.5916391,19.1848784 +2112,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9261648,0.9512549,12.6574902,9.16118,61.6708608,8.5043953,27.9695238,62.9735524,30.705477,38.3795307,15.9452023,6.2009997,10.3360646,8.1508887,36.7255416,6.6560505,0.9293416,0.9426723,13.0005322,9.4839203,62.3395717,8.4357765,27.894967,62.7668115,30.2919994,38.3444898,15.746743,6.1040734,10.059453,8.03879,36.6699862,6.8690091,0.9431863,0.9539535,13.2385693,9.6774944,63.096123,8.4240107,27.702244,62.2006672,29.9306223,37.9409722,15.4576541,5.9655511,10.4486496,8.2542836,36.5530534,7.1992106,0.9231513,0.9200413,13.6764871,10.0751045,63.7379063,8.5504672,27.8176585,61.6715611,29.8229953,37.8502939,15.4780239,5.9436417,10.6065725,8.3115498,36.9353798,7.6559541,0.947596,0.9576261,13.9807724,10.2757738,63.8556793,8.5090194,28.0508191,61.5758899,29.5855154,37.7373747,15.4224762,5.9414809,10.7242079,8.3263406,37.0748417,7.6320367 +2113,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4579812,2.415414,40.2475452,34.9448517,49.6304309,17.6652134,38.57349,65.9964419,32.1892569,46.4009354,21.0812148,4.0342402,14.7438707,13.705188,32.0671167,25.399125,2.3436376,2.3582582,39.5410839,34.425188,50.3930257,17.7787984,38.8416887,66.5593943,32.6331131,46.6637229,21.3027164,3.8476221,13.8857598,12.7177038,31.6753114,23.416887,2.5241821,2.538991,39.1959779,34.0138441,51.0857409,18.9434279,38.1485013,65.4681261,32.1752114,46.5798572,21.3297724,4.0249677,13.4828937,13.0580801,33.2014784,24.7839171,2.5928214,2.6370547,38.2189836,33.193973,51.7717762,19.156849,37.775913,65.1709693,32.4075189,46.5299009,21.002616,3.7469851,14.6267677,13.8494156,33.7169041,24.4688934,2.5479232,2.5928444,37.9713941,32.7541195,52.6075968,18.8216988,37.7286491,64.30504,31.7437011,46.9737172,20.3173265,3.4341645,14.7871687,13.5969185,34.0253553,23.3105782 +2114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4426724,2.545026,36.3506252,31.5211833,75.2430046,13.2891296,34.7804171,61.6604901,22.2293388,36.3788855,14.6593527,1.8362935,17.2212002,13.0756217,42.4993858,24.799135,2.2758463,2.3434995,35.9814628,31.1527958,75.1076631,13.5342038,34.5576371,62.615397,22.6512489,36.7829244,15.1531425,1.8295102,17.2843897,12.7347043,42.6425025,21.7856798,2.0493021,2.0945143,35.006085,30.4189728,74.9763675,13.4572328,35.4391262,63.7895495,23.045247,37.0574912,14.8081511,1.8737686,16.5411629,11.6646445,41.6447608,22.1250776,2.3221043,2.3328078,33.8397199,29.402235,74.0052787,13.257449,34.6006845,65.1509153,23.7260078,36.8859997,15.1229733,1.8175571,15.8152942,10.8547375,38.9573018,23.4495063,2.1378824,2.1485136,32.845721,28.5722594,73.8646343,12.85834,34.7162693,65.2256885,23.7366694,37.1825394,15.1339392,1.9874126,16.7528132,11.4916187,39.7575781,24.6749361 +2115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7863161,0.7748286,10.9129587,6.6470722,49.5235327,10.46487,33.1708631,66.5450604,41.6056234,43.6178993,23.797725,4.8325327,10.6610287,8.7581842,39.3459015,6.3019356,0.7935846,0.784552,10.9104985,6.7521191,49.4424776,10.9527844,32.9369188,66.5733117,42.193216,44.0072336,23.8459799,4.8563202,11.0356489,8.9894336,38.9591234,6.9877874,0.7714766,0.7624388,11.1599627,6.9247927,49.3325944,10.9222328,32.6983334,66.780665,41.9367726,44.1038752,23.8845066,4.77488,11.030319,9.4250572,39.169446,8.1249977,0.7996202,0.8015818,11.1653681,7.1164415,48.6023269,10.9804523,32.5674126,66.9081852,41.841291,44.9566605,24.1052789,4.7553045,11.1306697,9.6472085,39.3837751,8.6137117,0.7856073,0.7956954,11.3069106,7.3204647,48.2708364,11.2876786,31.9262385,67.5081399,42.1995306,45.4697962,24.0279595,4.8282676,10.8826606,9.4899497,39.5614679,9.225618 +2116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.697947,1.7581825,29.2773478,23.7928295,49.8328038,11.753783,39.6224175,66.2924898,33.4884542,48.055812,27.3550167,5.9967904,16.1798294,12.1884523,32.6253632,17.9132166,1.6352341,1.6976939,30.0201591,24.9469375,49.6241429,11.1948772,40.1312113,65.7282014,33.5893487,49.3459912,27.6167177,6.399384,16.5928528,11.5127305,34.1723445,16.5981974,1.5133536,1.5765746,30.0740567,24.6262965,50.2867519,11.2789196,40.4603103,65.5779918,32.7514749,49.9085221,27.2209763,6.3659727,16.4039269,12.2323486,34.2588323,16.3828114,1.4600671,1.5092979,30.0406859,24.4366583,51.4439949,11.4667426,39.4600064,65.4850023,32.3482392,49.1734213,26.2847487,6.6814577,16.5250632,13.1640797,35.0737707,19.3327147,1.3781187,1.4147876,30.6575198,24.7290873,50.5975578,11.6391223,39.2769298,65.9174477,32.8260059,49.7861878,26.4842423,6.6134023,17.4328292,14.3239131,35.8751286,16.375031 +2117,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2113447,1.2291148,15.3967235,11.4661815,29.1946398,18.5625485,37.8829145,63.5993018,36.2031095,47.9372583,21.6526479,3.0014756,11.6030668,10.0457343,32.5880044,14.3228868,1.2295605,1.2478494,15.6958505,11.638104,29.8209931,18.2252041,38.0208796,63.325753,35.8359474,47.3704759,21.3795741,3.0106709,11.4200785,10.0492767,33.1521926,16.6666239,1.1534869,1.1837617,15.8043708,11.7092315,29.9395429,18.261416,39.2046846,62.8147794,35.4151334,46.8835727,21.2540663,3.0042433,11.9031932,9.8939304,32.9643248,15.9090507,1.1359111,1.1583258,16.8820035,12.8839539,30.6071685,18.0334139,38.2345759,61.7160686,34.8765686,46.5555631,21.0987817,3.0740813,11.9757619,9.5991162,32.7349475,15.9313335,0.961633,0.9803468,16.6748062,12.9611505,31.6400998,18.3025537,38.0049657,62.0198422,35.0062167,46.4312373,21.1772205,3.0855049,12.2503866,9.8656789,33.3492419,13.9810294 +2118,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7682054,0.7810401,10.3861334,7.0398912,45.2444183,19.8531608,31.9124568,69.2681648,37.8935643,45.0550415,22.8096639,4.3678246,10.4019657,9.5978714,38.2582023,6.782949,0.6738755,0.6946315,10.7096314,7.3154063,44.6759926,19.445078,31.4797014,68.5986165,37.4187483,44.8423792,22.9098119,4.4933953,10.8849339,10.0906284,37.7221013,7.3585378,0.7367649,0.7516067,10.871744,7.4154272,44.9532275,19.6221314,31.7563768,67.7980964,37.129868,44.3905421,22.3462134,4.364392,11.0863584,9.7470415,37.4375788,8.0357085,0.5991742,0.6059932,10.752749,7.4382287,44.8262414,19.3842132,32.4001198,67.4683754,36.9216366,44.1770627,22.2530018,4.3507241,10.8631285,10.186572,36.715968,7.3378764,0.7099394,0.7263167,11.1952979,7.6734182,43.9353771,19.2306599,32.3830664,67.8270565,37.1650082,43.6808977,22.5040301,4.3746729,10.2681576,9.6877013,36.4191634,8.3038869 +2119,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6738755,0.6946315,10.7096314,7.3154063,44.6759926,19.445078,31.4797014,68.5986165,37.4187483,44.8423792,22.9098119,4.4933953,10.8849339,10.0906284,37.7221013,7.3585378,0.7367649,0.7516067,10.871744,7.4154272,44.9532275,19.6221314,31.7563768,67.7980964,37.129868,44.3905421,22.3462134,4.364392,11.0863584,9.7470415,37.4375788,8.0357085,0.5991742,0.6059932,10.752749,7.4382287,44.8262414,19.3842132,32.4001198,67.4683754,36.9216366,44.1770627,22.2530018,4.3507241,10.8631285,10.186572,36.715968,7.3378764,0.7099394,0.7263167,11.1952979,7.6734182,43.9353771,19.2306599,32.3830664,67.8270565,37.1650082,43.6808977,22.5040301,4.3746729,10.2681576,9.6877013,36.4191634,8.3038869,0.7733529,0.7762797,11.8453238,8.3961942,44.3789379,19.1010954,32.5044145,67.8303839,37.5546585,43.4035547,22.1978694,4.5220323,10.3504153,9.2654454,35.4890884,9.1695438 +2120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5516566,0.5866074,8.6790733,5.3269393,32.8876109,24.414838,30.4658626,67.5707137,34.858566,44.7753682,18.0865363,7.7703838,11.9736343,9.7860043,31.5972687,2.9069767,0.5199035,0.5664998,8.9059662,5.623921,32.9422308,23.901267,30.9106289,67.8522085,35.3779572,45.6528862,18.8831258,7.8178546,12.3160913,9.4030567,31.996163,2.9069767,0.528059,0.5693649,9.326999,6.0927682,32.7312808,23.3955991,31.0576011,66.2901121,33.6770949,45.1702125,18.3529436,7.3837445,13.061849,9.436624,31.7901835,3.4050179,0.4788751,0.5186078,9.5530194,6.3739256,33.0763916,23.0634994,31.0230595,65.7246569,33.4859065,44.0952976,18.1085887,7.5939243,13.0958727,10.0154789,31.8740771,4.0780142,0.5073943,0.5542976,9.6981852,6.3030345,33.0088812,23.0928945,30.865167,64.9984196,32.7596529,43.2743123,17.3823424,7.3413163,13.0187919,9.8658304,31.7127796,3.8745387 +2121,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3822967,0.4264079,6.8041726,4.1488857,41.5662651,23.4249171,29.547619,69.2619048,35.6428571,45.547619,18.1666667,6.1190476,9.2694064,9.1948765,33.287037,1.8656716,0.4650152,0.522961,7.2994403,4.454291,41.6627191,22.1006055,29.7708138,68.5921422,34.6819457,44.9719364,17.9840973,5.9167446,9.6083789,9.543379,32.4287029,1.7482517,0.5027933,0.5171179,7.4389682,4.6752649,40.5678085,22.2555351,30.0139276,69.0575673,34.6564531,45.1485608,17.8505107,5.8263695,10.1611459,9.8294434,32.5969342,0.974026,0.5122717,0.5265411,7.0607176,4.5308188,41.2108462,21.353211,30.5041628,69.079556,34.1581869,44.7502313,17.1369103,5.7123034,10.2484472,9.8222222,32.2162645,1.048951,0.5485498,0.5625613,7.4819168,4.7694394,41.6056725,21.1340206,30.0587173,68.2249322,33.5365854,45.234869,16.5085818,5.8943089,10.2508651,9.5753899,31.6041848,0.3448276 +2122,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6453125,0.670413,11.0891266,7.3194905,25.6115244,14.1773421,30.5024005,68.1596877,40.665521,48.3890455,21.6447692,6.9854165,10.0073804,8.6504583,34.1604771,3.5917555,0.7577905,0.783134,11.0390344,7.2280548,25.4053987,13.802703,30.1947642,68.2442734,40.9143584,48.2334945,21.8707093,6.6774204,9.9327918,8.7301489,33.6623642,4.6455703,0.758616,0.7836196,11.560045,7.66687,25.1640608,13.7684267,30.2579461,67.7144786,40.3968467,48.1634807,21.5988249,6.7528567,9.9735154,8.7882307,33.9062178,4.6710472,0.7630632,0.7878999,11.5786449,7.4900961,25.5478037,14.109359,30.157993,67.8929449,40.6269073,48.4614767,21.2286284,7.3727158,10.2371786,9.2863682,34.313715,8.0110122,0.8371178,0.8691402,11.5237097,7.6661307,25.1354075,14.6242462,30.1684233,67.9565108,40.2189796,47.2208628,20.9553801,7.7891837,10.6023731,9.497927,34.9761768,9.2178418 +2123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.535074,0.4971339,10.1465417,7.1570121,39.4372018,18.0524034,31.4519852,66.8149888,34.8867765,44.5265494,20.3797987,4.2327301,10.7514192,9.0294446,31.9891448,5.5827456,0.579843,0.5892721,10.5962543,7.4618004,40.0734852,17.7091755,31.187174,66.3305597,34.3148156,44.1234227,19.7389344,4.2737877,11.0352026,8.9231465,32.4054268,5.9470979,0.6388873,0.6734167,11.4114168,7.755712,40.1734146,17.4081936,31.069423,65.9055528,33.982804,44.0412192,19.7854091,4.3070014,10.6849696,8.9887345,32.8001447,9.0188422,0.6302584,0.6650806,11.9772553,8.0923329,40.652113,17.5056337,31.2183405,65.1014142,33.4045178,43.8213449,19.1105273,4.2480058,10.909648,8.531669,33.1326859,7.7193666,0.6439136,0.7040463,11.8442766,7.7071341,40.9460418,17.5209097,31.531516,64.5834367,32.9412732,43.4903968,18.7764937,4.3814191,10.7107331,8.3313138,33.2226301,8.5064209 +2124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.441213,0.4188871,7.895507,4.8890848,45.439974,19.6204337,30.360222,68.1123972,35.1729093,42.6368884,19.4956742,9.0057634,8.5787114,6.5699677,37.055114,5.1388903,0.4438008,0.4272285,7.2564633,4.6435685,45.1333698,19.5470957,30.0392459,67.6619057,35.3378204,42.9352377,20.5074294,8.312304,8.3602178,6.2264174,35.5163124,4.1333344,0.4471881,0.4311386,7.4048753,4.7221479,44.8470676,19.776221,29.8395837,67.1968481,35.5492132,42.6998302,20.3235444,8.224576,9.0652327,6.5172574,35.3627023,3.7396132,0.4500202,0.4590148,7.2791022,4.6423579,45.022563,19.622172,29.4158501,67.2183628,35.6745535,42.6008288,20.1251733,7.9972159,8.94161,6.7207096,35.954769,3.0701763,0.4203898,0.4297138,7.5507241,4.6231899,45.3893469,19.6658056,28.9739849,67.066479,35.2745739,42.5577992,19.869941,7.7601127,9.2174413,6.8337714,35.2272808,2.5757584 +2125,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6021678,1.5965154,32.3235064,28.6730376,66.1299311,13.7526825,35.1060606,62.9482741,29.0300989,40.6859604,16.530946,2.4779046,17.5112211,14.0943958,41.3099722,18.5753723,1.8692805,1.861944,32.5890317,28.421711,65.9138941,13.8727689,36.1765437,63.5293921,28.8437991,40.5801127,16.8376636,2.480826,17.4522655,14.0450985,40.9581802,18.9750167,2.1059951,2.0984959,32.6946744,28.4381089,66.0437422,13.6883846,36.619675,63.7576941,28.7126234,40.2384892,17.1011181,2.4342256,17.7400953,14.4701718,40.4966115,19.5223835,2.0593697,2.1280053,32.1689225,27.8436996,66.922398,13.3272624,35.8555828,62.6582098,28.0396244,39.8382905,16.8379714,2.3235012,18.4013195,14.9953534,41.0389875,20.2996837,2.1096699,2.2132695,31.9655604,27.6474555,66.1054133,13.3027677,36.2554462,62.4045619,28.1511211,39.9680578,16.8096907,2.5496454,18.0538692,15.1254037,40.4310038,19.5889922 +2126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7137426,0.7193279,11.4109341,8.0960249,31.7215562,9.9589367,29.765644,64.4738776,32.7180743,45.3247668,19.2139927,3.4230571,11.2178526,8.9398628,30.8893172,8.1896505,0.7741261,0.7930247,11.8731184,8.4404355,32.0801076,10.357994,30.1797172,64.1163879,33.1392577,45.4811585,19.4754986,3.3836069,11.0288367,8.6038115,30.5789614,8.4285618,0.7703731,0.7934783,12.1888022,8.7202705,32.534693,10.4470076,30.1755161,63.8794786,32.8271332,44.8601732,19.0119302,3.3290483,11.1674274,8.6110327,30.6543485,7.3726462,0.7493315,0.7667606,12.0030339,8.6507703,33.1269712,10.5360119,30.1692866,64.3623047,32.7906285,44.7990468,18.6116597,3.5306457,11.1713899,8.9920846,30.1032276,7.3934763,0.7479821,0.7718692,11.826712,8.4791397,34.0656908,10.9404048,30.271279,64.6682516,33.3075635,45.3823458,18.5760514,3.6196207,11.3844637,9.0132698,30.2942581,6.850955 +2127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.676364,0.7080053,9.4846069,6.2339575,42.0402174,16.1094486,30.3308853,70.101653,36.7106532,45.5774395,20.1881602,3.6007776,8.8970239,8.5708132,30.7809,5.3819407,0.6533384,0.6857108,9.3163009,6.2363449,42.4511123,16.1336166,29.7619095,69.6818184,35.8589285,45.0044659,20.4161254,3.5046704,8.9293692,8.2769595,31.286811,5.2721071,0.6356678,0.6782891,9.0382527,5.9781379,41.8559972,16.3276427,28.5444158,69.5415367,35.2882436,45.1035172,20.4206705,3.4609355,9.4411748,8.5591735,32.2822264,5.9931425,0.689922,0.7215254,9.2240285,6.3595544,41.9542512,16.4493351,28.4083589,69.4390328,35.170704,45.2381129,20.0587231,3.5986032,9.5248381,8.3624508,31.921921,6.187312,0.7531646,0.7854907,9.4568095,6.3808892,41.3532756,16.5862729,28.0449939,69.6393114,35.0144873,45.123602,19.9844311,3.6851405,9.6621577,8.7201501,31.8305639,7.4913058 +2128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.7832649,0.7832649,15.0247211,9.7701451,50.9419617,31.2293492,34.974837,65.3587226,30.6343057,41.1519491,19.4490424,6.0935553,13.3681484,11.3241207,39.0455056,3.8135755,0.8012916,0.8012916,14.4550914,9.2417513,50.8157101,31.2106423,33.6799772,67.1197917,30.000176,40.0799689,19.2799759,5.5200618,14.0139621,11.2848202,37.147334,3.543335,0.7727151,0.7727151,14.2089413,9.4470512,51.8081553,30.7401287,33.6671582,66.3325336,29.8152677,39.522152,17.6424091,4.5455036,15.7980628,12.5816799,38.2935921,4.7794469,0.7360024,0.7360024,15.3077386,10.6923706,51.8779172,30.3462994,34.1294654,66.0243886,29.5071434,40.7548167,18.1046916,5.4700212,14.2140935,11.538468,36.2538252,7.0371152,0.5970242,0.7462803,14.366919,10.1461627,49.7540539,31.1023306,36.5323851,67.6610628,31.6937665,43.3061932,19.4352015,5.7258896,14.6383064,11.6394284,35.1849451,7.2519914 +2129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.579843,0.5892721,10.5962543,7.4618004,40.0734852,17.7091755,31.187174,66.3305597,34.3148156,44.1234227,19.7389344,4.2737877,11.0352026,8.9231465,32.4054268,5.9470979,0.6388873,0.6734167,11.4114168,7.755712,40.1734146,17.4081936,31.069423,65.9055528,33.982804,44.0412192,19.7854091,4.3070014,10.6849696,8.9887345,32.8001447,9.0188422,0.6302584,0.6650806,11.9772553,8.0923329,40.652113,17.5056337,31.2183405,65.1014142,33.4045178,43.8213449,19.1105273,4.2480058,10.909648,8.531669,33.1326859,7.7193666,0.6439136,0.7040463,11.8442766,7.7071341,40.9460418,17.5209097,31.531516,64.5834367,32.9412732,43.4903968,18.7764937,4.3814191,10.7107331,8.3313138,33.2226301,8.5064209,0.6796955,0.7369176,12.127306,7.9419497,40.7323527,17.7980003,32.0915238,64.2526368,32.7396696,43.2836516,18.4653474,4.5430022,10.6470615,8.0659467,33.6144632,8.604281 +2130,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8245391,0.8449723,11.4992904,7.8291966,44.4461434,10.3146314,27.792276,69.1169122,39.3728058,43.1058695,21.8715544,4.611137,9.4541508,7.5403067,36.398729,8.2911403,0.7824565,0.7952573,11.7566986,8.0780057,44.424551,10.4780303,27.8783348,69.2257446,39.8642554,43.0115616,21.6943248,4.4595254,9.7429317,7.4150462,36.3627314,8.7863464,0.8261264,0.8304792,12.2329184,8.451196,44.633025,10.2463852,28.6566446,69.0576461,39.8045123,42.7418516,21.4887258,4.5162887,9.7596678,7.6629477,36.5615704,9.5084088,0.814492,0.8301306,12.7633119,9.0470967,44.5236627,10.2482316,28.5096904,68.7580741,39.6671666,42.5186251,21.0680622,4.535517,9.8221079,7.3070293,36.3066519,10.6622517,0.8340283,0.8699327,13.0334749,9.3333973,44.0612809,10.2786101,28.6699962,68.3255077,39.8169922,42.2147159,20.6253717,4.6829107,10.078311,7.4775955,36.9078961,11.3316261 +2131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0122125,1.0538006,15.7941197,11.9326495,47.9435947,12.6102278,28.2090369,63.139306,29.4016482,42.2377675,14.5037893,5.0636836,13.1599623,10.2608361,31.9408245,11.2901457,0.9655971,1.0038107,16.1982245,12.2599668,49.3312179,12.160735,28.6102813,62.6082657,29.1943532,42.1853191,14.5720445,4.9244758,13.479378,10.5044487,32.63497,9.9719717,0.9585652,0.9828433,16.3640608,12.3552808,50.1169722,12.6726776,29.1835769,63.1989879,29.1430621,41.9671674,14.5968786,4.7913315,13.3136581,10.5310892,31.9459462,9.8288388,0.8471505,0.8899901,16.3937916,12.6082937,51.4804695,12.9633021,28.8600683,63.379655,29.4029651,42.3502016,14.7266154,4.6743145,13.2361137,10.8941392,31.5867159,9.1527599,0.8540186,0.8958175,16.502319,12.8372879,52.7666745,12.8995709,28.9214009,64.2440771,28.9214271,42.9536389,14.7883376,4.6270461,13.1854345,10.9738517,31.52756,8.1114333 +2132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4929315,0.5541885,8.7362064,5.9573655,37.891584,19.4251586,30.5806296,70.9494007,39.6430006,47.0184289,22.8913138,3.7858035,9.5333866,9.1532177,29.0178637,4.0740741,0.5345584,0.5596686,8.9719334,6.2025799,38.9956173,19.5426598,30.0272907,70.7131726,38.5229876,46.7848615,22.6227312,3.6827805,9.4807351,9.431724,30.8088751,5.2816901,0.5952105,0.6111714,8.9426394,6.2429706,38.2899053,20.0037945,30.2768257,71.1841579,38.5813048,46.9242459,22.8950144,3.633224,9.0182842,9.4965639,31.2739941,3.7671233,0.6343045,0.6618637,9.2184061,6.376216,37.5000186,20.1247104,31.018001,71.8905662,39.1312573,47.0531742,22.2923723,3.8844258,8.6090288,9.0874798,31.7562632,5.208337,0.6497418,0.6421752,9.6464906,6.6002264,36.687689,20.3386513,30.4121843,72.0531804,39.3104657,47.1686975,22.2842685,3.6402177,8.7396924,9.1422197,33.7244663,6.462585 +2133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6533384,0.6857108,9.3163009,6.2363449,42.4511123,16.1336166,29.7619095,69.6818184,35.8589285,45.0044659,20.4161254,3.5046704,8.9293692,8.2769595,31.286811,5.2721071,0.6356678,0.6782891,9.0382527,5.9781379,41.8559972,16.3276427,28.5444158,69.5415367,35.2882436,45.1035172,20.4206705,3.4609355,9.4411748,8.5591735,32.2822264,5.9931425,0.689922,0.7215254,9.2240285,6.3595544,41.9542512,16.4493351,28.4083589,69.4390328,35.170704,45.2381129,20.0587231,3.5986032,9.5248381,8.3624508,31.921921,6.187312,0.7531646,0.7854907,9.4568095,6.3808892,41.3532756,16.5862729,28.0449939,69.6393114,35.0144873,45.123602,19.9844311,3.6851405,9.6621577,8.7201501,31.8305639,7.4913058,0.6906752,0.7224435,9.4220018,6.4997836,40.4930116,16.7746769,28.1537584,69.6780816,35.7972099,45.7840774,20.7293211,3.7341131,9.7284046,8.9715131,32.802727,8.0204955 +2134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6719893,0.6670497,12.3403607,9.4439693,27.8422679,16.6259742,34.6097926,66.4784398,35.274917,46.6545989,20.929696,4.5850253,11.9245919,9.2330608,27.3730002,7.4335357,0.6365764,0.6317721,12.4676071,9.4836758,28.7192315,17.0267392,34.5925521,67.9944138,36.416692,47.6881674,21.4706748,4.6644237,11.7659178,9.8980976,28.2671767,6.9800399,0.6172929,0.6125678,12.8053445,9.7709678,30.6234138,17.1722428,34.3008506,68.0975951,37.1053709,47.6575793,21.6135013,4.4087929,12.6565641,10.5874121,28.9098573,5.6489438,0.65937,0.6746355,12.9950157,10.2373711,31.5428811,17.1594682,34.1999952,66.937525,37.3886709,47.4084458,21.6797408,4.5117411,12.5782311,10.8061195,29.0710835,5.5105958,0.7082276,0.7232345,13.3020085,10.413398,32.749942,17.552153,34.1460991,67.0833048,37.7168859,48.1461339,21.4346238,4.9219741,12.2752416,10.5455342,28.3528763,4.3213062 +2135,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2035411,2.3534661,34.16,28.72,69.0713101,5.0159236,38.5298869,61.9547658,25.2827141,45.638126,15.4281099,5.5735057,15.3731343,11.7910448,35.1963746,13.1097561,2.1156966,2.1156966,34.414557,28.7183544,69.5901639,5.2590267,38.2352941,62.2416534,25.3577107,45.5484897,15.6597774,5.6438792,14.516129,11.8768328,34.9702381,12.8571429,2.1839382,2.1839382,34.4583987,28.9638932,67.7235772,5.6942278,38.5895404,63.6291601,26.8621236,46.1965135,16.5610143,4.8335975,14.5209581,10.9281437,35.3030303,12.8571429,2.2666601,2.2666601,34.3888071,29.9705449,67.0933735,5.9210526,38.239645,65.7544379,27.1449704,46.0798817,16.4940828,4.9556213,12.9427793,9.6730245,33.6538462,12.5730994,2.1973865,2.2890876,34.2415317,29.6759941,66.9440242,6.7883212,38.535503,66.9378698,26.9970414,45.6360947,16.6420118,4.8076923,13.6103152,9.8853868,33.8616715,10.6321839 +2136,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7407645,0.7746517,10.0029859,6.8851742,37.0661522,20.7196087,32.5117027,66.329449,37.9827334,45.0927607,22.3417581,6.0973309,10.1735248,8.1763128,33.2997302,7.314387,0.740222,0.7693184,10.4069803,7.1473483,37.1531428,20.6873871,32.5734354,66.6212545,37.987158,45.4802068,22.5187224,6.2116866,10.0350921,8.1569108,32.8265706,7.3695918,0.7376665,0.7617191,10.7674196,7.4867823,37.5368827,20.1844529,33.0257411,65.8455161,36.8551035,45.1709143,22.3147998,6.4921749,10.2063888,8.2143291,33.0172025,8.1521721,0.7065716,0.7296756,11.3592893,7.7729089,38.308691,20.2106099,33.0380396,64.6625993,36.5385032,45.5617624,21.817963,6.1593258,10.0303025,8.0428191,33.0709648,8.0612228,0.7233643,0.7559574,11.4048411,7.903294,38.8399547,20.2393862,33.0057637,63.7675032,36.203812,45.4967644,21.6763957,6.0447237,9.5858405,7.914506,32.9631226,8.5215588 +2137,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1156966,2.1156966,34.414557,28.7183544,69.5901639,5.2590267,38.2352941,62.2416534,25.3577107,45.5484897,15.6597774,5.6438792,14.516129,11.8768328,34.9702381,12.8571429,2.1839382,2.1839382,34.4583987,28.9638932,67.7235772,5.6942278,38.5895404,63.6291601,26.8621236,46.1965135,16.5610143,4.8335975,14.5209581,10.9281437,35.3030303,12.8571429,2.2666601,2.2666601,34.3888071,29.9705449,67.0933735,5.9210526,38.239645,65.7544379,27.1449704,46.0798817,16.4940828,4.9556213,12.9427793,9.6730245,33.6538462,12.5730994,2.1973865,2.2890876,34.2415317,29.6759941,66.9440242,6.7883212,38.535503,66.9378698,26.9970414,45.6360947,16.6420118,4.8076923,13.6103152,9.8853868,33.8616715,10.6321839,2.229664,2.183109,34.947839,30.4769001,66.3312693,7.2280179,38.0484115,68.1543116,27.4583964,45.1588502,17.473525,5.8245083,14.8093842,8.6764706,33.480826,13.5542169 +2138,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.740222,0.7693184,10.4069803,7.1473483,37.1531428,20.6873871,32.5734354,66.6212545,37.987158,45.4802068,22.5187224,6.2116866,10.0350921,8.1569108,32.8265706,7.3695918,0.7376665,0.7617191,10.7674196,7.4867823,37.5368827,20.1844529,33.0257411,65.8455161,36.8551035,45.1709143,22.3147998,6.4921749,10.2063888,8.2143291,33.0172025,8.1521721,0.7065716,0.7296756,11.3592893,7.7729089,38.308691,20.2106099,33.0380396,64.6625993,36.5385032,45.5617624,21.817963,6.1593258,10.0303025,8.0428191,33.0709648,8.0612228,0.7233643,0.7559574,11.4048411,7.903294,38.8399547,20.2393862,33.0057637,63.7675032,36.203812,45.4967644,21.6763957,6.0447237,9.5858405,7.914506,32.9631226,8.5215588,0.7912906,0.8235259,11.8766352,8.252542,39.4890475,20.024632,32.6516478,63.6126783,35.7364096,45.5849651,21.5720279,6.4312802,10.1129001,8.1095031,33.3086753,10.0586113 +2139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8823619,1.8871942,21.5031801,16.7641833,40.8928349,14.8144371,31.4089203,67.9531681,35.9265244,45.3247835,24.1887894,4.3361008,11.2762857,9.3376263,40.8750421,19.2307833,1.9069793,1.911903,22.5100506,17.7710877,41.090994,14.4865382,31.5020619,67.098752,35.4938217,45.1234618,22.9835254,4.3827148,11.431865,9.830363,42.0622539,18.7258904,1.9637731,1.9888808,23.4446822,18.5390727,41.1444767,14.2223144,32.108949,66.131647,34.9574859,44.9692805,23.5214102,4.1680878,11.5793397,9.2606618,42.151614,20.3488451,1.8938774,1.8824978,25.7024672,20.5879105,41.054651,14.4821311,33.9167485,65.9698656,33.8033701,44.7625433,23.8267366,4.1380317,12.8437455,10.0753296,41.508833,20.3020134,1.9535832,2.0253659,26.8083779,21.8012723,42.9189942,14.4376388,34.3507364,65.5088204,33.9645789,44.5378306,23.4329203,3.9844753,13.3725719,9.5179227,41.9895227,22.2397476 +2140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7792917,0.7803425,9.0115457,6.1932906,42.7519922,13.4974723,28.8313705,67.4471303,33.0060378,42.6462483,18.9988982,14.3161219,10.3854943,8.3036606,37.5447177,3.5266458,0.7425537,0.7642989,9.1055728,6.1628797,43.6437243,13.5412599,29.7113678,66.7292294,32.5588874,42.5511278,18.8260406,14.1405636,10.6385312,8.3205106,37.7198794,3.171091,0.7583378,0.7696795,9.5258646,6.3402879,44.3232518,13.1412632,30.003714,65.3698728,31.8221192,42.4233101,18.7592785,14.4173667,10.3749509,8.3119194,37.4087231,4.0772526,0.7972681,0.8480754,9.9852503,6.6056284,44.8732704,13.1931508,30.4114197,65.1037875,31.6839671,42.1979321,18.7237485,14.3254246,10.5078637,8.0722196,37.7263138,3.8951836,0.7778755,0.8322498,10.0428363,6.7013462,45.1751013,13.3890952,30.3408838,64.736651,31.903768,42.376333,18.5515691,14.4166868,10.685557,8.3287212,37.9199502,4.06562 +2141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6365764,0.6317721,12.4676071,9.4836758,28.7192315,17.0267392,34.5925521,67.9944138,36.416692,47.6881674,21.4706748,4.6644237,11.7659178,9.8980976,28.2671767,6.9800399,0.6172929,0.6125678,12.8053445,9.7709678,30.6234138,17.1722428,34.3008506,68.0975951,37.1053709,47.6575793,21.6135013,4.4087929,12.6565641,10.5874121,28.9098573,5.6489438,0.65937,0.6746355,12.9950157,10.2373711,31.5428811,17.1594682,34.1999952,66.937525,37.3886709,47.4084458,21.6797408,4.5117411,12.5782311,10.8061195,29.0710835,5.5105958,0.7082276,0.7232345,13.3020085,10.413398,32.749942,17.552153,34.1460991,67.0833048,37.7168859,48.1461339,21.4346238,4.9219741,12.2752416,10.5455342,28.3528763,4.3213062,0.8450832,0.8596572,13.19446,10.1527349,34.273874,17.7932619,34.6472357,67.4425124,37.8222403,48.0208834,21.714446,4.9228647,12.6640804,10.6516768,27.5821589,4.7543124 +2142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6361725,0.5977109,7.4205723,4.6195675,52.6480558,23.5594517,30.1202389,67.1019944,32.3175783,42.9726458,18.3872314,6.2396341,9.8700284,8.5772393,32.4180379,4.5731735,0.7396769,0.7017262,7.5164782,4.7981902,52.348594,24.38383,30.8180029,67.3824175,33.190184,43.8241401,18.8343569,6.3599172,9.7099153,8.2594715,31.4784774,5.722895,0.7362856,0.7362856,7.7470473,5.103695,51.2230051,24.5498087,30.6085232,67.1196865,32.7180538,43.7931103,18.0730237,5.9837719,9.8127084,9.0057094,32.6622922,6.6037777,0.8927313,0.9052017,8.0801899,5.3665395,51.3420197,24.2031749,30.4444511,66.9697092,33.3535354,43.6969707,18.7272778,6.4444435,9.7649959,8.9618852,33.1285885,6.8181862,0.741641,0.7914853,7.6596561,4.8706491,50.3868202,23.5235318,30.9822192,67.481822,33.2457531,43.8763125,18.4923218,6.2853671,10.2098516,8.918487,32.3983735,7.0945994 +2143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6388873,0.6734167,11.4114168,7.755712,40.1734146,17.4081936,31.069423,65.9055528,33.982804,44.0412192,19.7854091,4.3070014,10.6849696,8.9887345,32.8001447,9.0188422,0.6302584,0.6650806,11.9772553,8.0923329,40.652113,17.5056337,31.2183405,65.1014142,33.4045178,43.8213449,19.1105273,4.2480058,10.909648,8.531669,33.1326859,7.7193666,0.6439136,0.7040463,11.8442766,7.7071341,40.9460418,17.5209097,31.531516,64.5834367,32.9412732,43.4903968,18.7764937,4.3814191,10.7107331,8.3313138,33.2226301,8.5064209,0.6796955,0.7369176,12.127306,7.9419497,40.7323527,17.7980003,32.0915238,64.2526368,32.7396696,43.2836516,18.4653474,4.5430022,10.6470615,8.0659467,33.6144632,8.604281,0.7198115,0.7564692,12.0086277,7.8996373,41.7334611,17.4331066,32.3913803,63.9201342,32.5048564,42.6974791,18.1588242,4.7173098,10.833246,7.896478,33.4000206,9.0756159 +2144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7396769,0.7017262,7.5164782,4.7981902,52.348594,24.38383,30.8180029,67.3824175,33.190184,43.8241401,18.8343569,6.3599172,9.7099153,8.2594715,31.4784774,5.722895,0.7362856,0.7362856,7.7470473,5.103695,51.2230051,24.5498087,30.6085232,67.1196865,32.7180538,43.7931103,18.0730237,5.9837719,9.8127084,9.0057094,32.6622922,6.6037777,0.8927313,0.9052017,8.0801899,5.3665395,51.3420197,24.2031749,30.4444511,66.9697092,33.3535354,43.6969707,18.7272778,6.4444435,9.7649959,8.9618852,33.1285885,6.8181862,0.741641,0.7914853,7.6596561,4.8706491,50.3868202,23.5235318,30.9822192,67.481822,33.2457531,43.8763125,18.4923218,6.2853671,10.2098516,8.918487,32.3983735,7.0945994,0.6466572,0.6954615,7.969299,4.9389947,49.9401536,23.4709693,30.1302353,66.831109,33.0505129,43.3898982,18.3701666,6.136542,10.3032707,9.1368627,31.4655164,6.5517287 +2145,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9618257,0.9667336,14.5349248,10.6589448,45.9074458,13.3621857,28.781995,64.5595858,34.4061575,39.6295407,17.8890566,3.9943454,11.7219895,8.8248135,34.2851309,11.4704863,0.9715782,0.9578635,14.7469365,10.7836213,45.6697268,13.1609868,29.7251563,64.8029594,34.6259162,39.8896607,18.3191249,4.131306,11.2913246,8.3231351,34.5699799,11.1371717,0.93178,0.921178,15.1817549,11.1465715,47.1871573,12.9687664,30.4756129,65.1887871,33.8758259,40.3212129,18.1311297,3.9857188,12.120308,8.4338725,34.1746481,11.0508035,0.8773271,0.8668322,15.1981053,11.1353681,48.1753814,13.2546355,30.5073906,64.4144704,33.4002852,39.9716877,17.6329813,4.1637965,12.1994653,8.5127911,33.8627792,11.1784852,0.9202237,0.9136331,15.6190123,11.6499457,48.8472124,13.0967204,30.1680268,64.1591972,33.6657723,40.7994125,17.8766816,4.288531,11.6691275,8.5068798,33.4114436,11.6013782 +2146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8012916,0.8012916,14.4550914,9.2417513,50.8157101,31.2106423,33.6799772,67.1197917,30.000176,40.0799689,19.2799759,5.5200618,14.0139621,11.2848202,37.147334,3.543335,0.7727151,0.7727151,14.2089413,9.4470512,51.8081553,30.7401287,33.6671582,66.3325336,29.8152677,39.522152,17.6424091,4.5455036,15.7980628,12.5816799,38.2935921,4.7794469,0.7360024,0.7360024,15.3077386,10.6923706,51.8779172,30.3462994,34.1294654,66.0243886,29.5071434,40.7548167,18.1046916,5.4700212,14.2140935,11.538468,36.2538252,7.0371152,0.5970242,0.7462803,14.366919,10.1461627,49.7540539,31.1023306,36.5323851,67.6610628,31.6937665,43.3061932,19.4352015,5.7258896,14.6383064,11.6394284,35.1849451,7.2519914,0.849491,0.9985245,14.4843959,10.7201076,50.0813122,30.5686811,34.2697567,68.7798861,32.3436454,42.7766212,18.860144,6.0193486,13.6655589,9.7755242,35.1304848,7.3644267 +2147,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2295605,1.2478494,15.6958505,11.638104,29.8209931,18.2252041,38.0208796,63.325753,35.8359474,47.3704759,21.3795741,3.0106709,11.4200785,10.0492767,33.1521926,16.6666239,1.1534869,1.1837617,15.8043708,11.7092315,29.9395429,18.261416,39.2046846,62.8147794,35.4151334,46.8835727,21.2540663,3.0042433,11.9031932,9.8939304,32.9643248,15.9090507,1.1359111,1.1583258,16.8820035,12.8839539,30.6071685,18.0334139,38.2345759,61.7160686,34.8765686,46.5555631,21.0987817,3.0740813,11.9757619,9.5991162,32.7349475,15.9313335,0.961633,0.9803468,16.6748062,12.9611505,31.6400998,18.3025537,38.0049657,62.0198422,35.0062167,46.4312373,21.1772205,3.0855049,12.2503866,9.8656789,33.3492419,13.9810294,0.9729765,0.9756262,17.2942845,13.4806293,32.7274627,18.3122007,38.0770967,61.7510198,35.3266928,46.1320978,21.2549066,3.2785618,12.6919069,9.7331826,33.6226464,12.2767912 +2148,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9293416,0.9426723,13.0005322,9.4839203,62.3395717,8.4357765,27.894967,62.7668115,30.2919994,38.3444898,15.746743,6.1040734,10.059453,8.03879,36.6699862,6.8690091,0.9431863,0.9539535,13.2385693,9.6774944,63.096123,8.4240107,27.702244,62.2006672,29.9306223,37.9409722,15.4576541,5.9655511,10.4486496,8.2542836,36.5530534,7.1992106,0.9231513,0.9200413,13.6764871,10.0751045,63.7379063,8.5504672,27.8176585,61.6715611,29.8229953,37.8502939,15.4780239,5.9436417,10.6065725,8.3115498,36.9353798,7.6559541,0.947596,0.9576261,13.9807724,10.2757738,63.8556793,8.5090194,28.0508191,61.5758899,29.5855154,37.7373747,15.4224762,5.9414809,10.7242079,8.3263406,37.0748417,7.6320367,0.9918297,1.0084076,14.036166,10.4187356,64.5044205,8.3904706,27.6572308,61.389852,29.203275,37.3962562,15.1562317,5.8093147,11.074734,8.4730107,37.2596835,8.4319377 +2149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6302584,0.6650806,11.9772553,8.0923329,40.652113,17.5056337,31.2183405,65.1014142,33.4045178,43.8213449,19.1105273,4.2480058,10.909648,8.531669,33.1326859,7.7193666,0.6439136,0.7040463,11.8442766,7.7071341,40.9460418,17.5209097,31.531516,64.5834367,32.9412732,43.4903968,18.7764937,4.3814191,10.7107331,8.3313138,33.2226301,8.5064209,0.6796955,0.7369176,12.127306,7.9419497,40.7323527,17.7980003,32.0915238,64.2526368,32.7396696,43.2836516,18.4653474,4.5430022,10.6470615,8.0659467,33.6144632,8.604281,0.7198115,0.7564692,12.0086277,7.8996373,41.7334611,17.4331066,32.3913803,63.9201342,32.5048564,42.6974791,18.1588242,4.7173098,10.833246,7.896478,33.4000206,9.0756159,0.7535448,0.7940021,12.3307146,8.2509531,42.3497039,17.5091615,32.5606476,63.0702926,31.4664294,42.2331577,17.8789618,4.7432403,10.5469162,7.8879315,33.1800994,9.8363977 +2150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7741261,0.7930247,11.8731184,8.4404355,32.0801076,10.357994,30.1797172,64.1163879,33.1392577,45.4811585,19.4754986,3.3836069,11.0288367,8.6038115,30.5789614,8.4285618,0.7703731,0.7934783,12.1888022,8.7202705,32.534693,10.4470076,30.1755161,63.8794786,32.8271332,44.8601732,19.0119302,3.3290483,11.1674274,8.6110327,30.6543485,7.3726462,0.7493315,0.7667606,12.0030339,8.6507703,33.1269712,10.5360119,30.1692866,64.3623047,32.7906285,44.7990468,18.6116597,3.5306457,11.1713899,8.9920846,30.1032276,7.3934763,0.7479821,0.7718692,11.826712,8.4791397,34.0656908,10.9404048,30.271279,64.6682516,33.3075635,45.3823458,18.5760514,3.6196207,11.3844637,9.0132698,30.2942581,6.850955,0.7956602,0.8131466,12.078079,8.6609357,35.0956505,10.8904517,29.8586432,64.6431058,33.2226242,45.5053066,18.7349962,3.5971727,11.1982416,8.9711187,30.01892,7.6642261 +2151,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9431863,0.9539535,13.2385693,9.6774944,63.096123,8.4240107,27.702244,62.2006672,29.9306223,37.9409722,15.4576541,5.9655511,10.4486496,8.2542836,36.5530534,7.1992106,0.9231513,0.9200413,13.6764871,10.0751045,63.7379063,8.5504672,27.8176585,61.6715611,29.8229953,37.8502939,15.4780239,5.9436417,10.6065725,8.3115498,36.9353798,7.6559541,0.947596,0.9576261,13.9807724,10.2757738,63.8556793,8.5090194,28.0508191,61.5758899,29.5855154,37.7373747,15.4224762,5.9414809,10.7242079,8.3263406,37.0748417,7.6320367,0.9918297,1.0084076,14.036166,10.4187356,64.5044205,8.3904706,27.6572308,61.389852,29.203275,37.3962562,15.1562317,5.8093147,11.074734,8.4730107,37.2596835,8.4319377,1.0012432,1.0142614,14.2770849,10.6011883,65.1921304,8.2442805,27.7303103,61.0710904,28.9935719,37.2739574,14.8359396,5.8188466,11.4792042,8.663549,37.7921904,8.6606993 +2152,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1839382,2.1839382,34.4583987,28.9638932,67.7235772,5.6942278,38.5895404,63.6291601,26.8621236,46.1965135,16.5610143,4.8335975,14.5209581,10.9281437,35.3030303,12.8571429,2.2666601,2.2666601,34.3888071,29.9705449,67.0933735,5.9210526,38.239645,65.7544379,27.1449704,46.0798817,16.4940828,4.9556213,12.9427793,9.6730245,33.6538462,12.5730994,2.1973865,2.2890876,34.2415317,29.6759941,66.9440242,6.7883212,38.535503,66.9378698,26.9970414,45.6360947,16.6420118,4.8076923,13.6103152,9.8853868,33.8616715,10.6321839,2.229664,2.183109,34.947839,30.4769001,66.3312693,7.2280179,38.0484115,68.1543116,27.4583964,45.1588502,17.473525,5.8245083,14.8093842,8.6764706,33.480826,13.5542169,2.4950684,2.3103962,35.6720827,31.3884786,66.2826421,6.9852941,38.3982036,67.8892216,28.8173653,45.2844311,16.8413174,6.0628743,13.5174419,8.0174927,33.1871345,13.0813953 +2153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6352341,1.6976939,30.0201591,24.9469375,49.6241429,11.1948772,40.1312113,65.7282014,33.5893487,49.3459912,27.6167177,6.399384,16.5928528,11.5127305,34.1723445,16.5981974,1.5133536,1.5765746,30.0740567,24.6262965,50.2867519,11.2789196,40.4603103,65.5779918,32.7514749,49.9085221,27.2209763,6.3659727,16.4039269,12.2323486,34.2588323,16.3828114,1.4600671,1.5092979,30.0406859,24.4366583,51.4439949,11.4667426,39.4600064,65.4850023,32.3482392,49.1734213,26.2847487,6.6814577,16.5250632,13.1640797,35.0737707,19.3327147,1.3781187,1.4147876,30.6575198,24.7290873,50.5975578,11.6391223,39.2769298,65.9174477,32.8260059,49.7861878,26.4842423,6.6134023,17.4328292,14.3239131,35.8751286,16.375031,1.2054661,1.2418883,31.3966728,25.2841559,50.9231881,11.5547889,39.2038061,65.390821,33.131864,48.8057718,25.975083,6.2342606,18.0082262,14.591011,36.3421969,15.5597011 +2154,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9231513,0.9200413,13.6764871,10.0751045,63.7379063,8.5504672,27.8176585,61.6715611,29.8229953,37.8502939,15.4780239,5.9436417,10.6065725,8.3115498,36.9353798,7.6559541,0.947596,0.9576261,13.9807724,10.2757738,63.8556793,8.5090194,28.0508191,61.5758899,29.5855154,37.7373747,15.4224762,5.9414809,10.7242079,8.3263406,37.0748417,7.6320367,0.9918297,1.0084076,14.036166,10.4187356,64.5044205,8.3904706,27.6572308,61.389852,29.203275,37.3962562,15.1562317,5.8093147,11.074734,8.4730107,37.2596835,8.4319377,1.0012432,1.0142614,14.2770849,10.6011883,65.1921304,8.2442805,27.7303103,61.0710904,28.9935719,37.2739574,14.8359396,5.8188466,11.4792042,8.663549,37.7921904,8.6606993,0.9421797,0.9563828,14.7603001,11.0590307,65.954608,8.3333618,27.7455619,60.5730803,28.5846521,37.0328799,14.6056627,5.6335412,11.8924738,8.9187628,37.6097815,8.7662188 +2155,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3436376,2.3582582,39.5410839,34.425188,50.3930257,17.7787984,38.8416887,66.5593943,32.6331131,46.6637229,21.3027164,3.8476221,13.8857598,12.7177038,31.6753114,23.416887,2.5241821,2.538991,39.1959779,34.0138441,51.0857409,18.9434279,38.1485013,65.4681261,32.1752114,46.5798572,21.3297724,4.0249677,13.4828937,13.0580801,33.2014784,24.7839171,2.5928214,2.6370547,38.2189836,33.193973,51.7717762,19.156849,37.775913,65.1709693,32.4075189,46.5299009,21.002616,3.7469851,14.6267677,13.8494156,33.7169041,24.4688934,2.5479232,2.5928444,37.9713941,32.7541195,52.6075968,18.8216988,37.7286491,64.30504,31.7437011,46.9737172,20.3173265,3.4341645,14.7871687,13.5969185,34.0253553,23.3105782,2.5202949,2.5705423,38.4873753,33.0896482,54.2587402,19.413492,37.5994648,64.0456755,32.2982186,45.812552,20.7235736,3.5237739,16.3004853,14.017176,34.3570993,23.7502749 +2156,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9297888,0.9212655,15.9173613,12.2041758,60.0791764,14.8169776,30.2138479,62.9808645,33.5674072,39.8149344,18.4147984,3.766677,14.4346148,12.1773585,37.7188924,6.7893821,1.130314,1.1219467,17.2046677,13.6080152,61.1202206,14.3369004,30.4579977,62.1877172,33.4790489,39.1663797,18.1943591,3.6885617,15.1492403,12.3599097,36.6667513,9.9787284,1.2274163,1.2191369,16.9605038,13.138727,61.8467896,13.9909999,30.6623504,62.4258971,32.6388961,39.1846375,17.9735039,3.6016941,15.1938653,12.2522174,35.4109656,8.6396043,1.4590426,1.4508434,17.9156793,13.759345,62.6079159,13.8918978,30.4119631,62.2893727,31.793258,38.9811265,17.4374393,3.5262134,14.5401984,12.0407482,35.4980639,8.620305,1.4372737,1.4291458,18.383208,14.5243216,62.7702857,13.8940039,29.8961937,62.2991712,31.9558741,39.6494701,17.6437944,3.2659921,15.5167396,12.7168614,35.5829238,9.9463951 +2157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7362856,0.7362856,7.7470473,5.103695,51.2230051,24.5498087,30.6085232,67.1196865,32.7180538,43.7931103,18.0730237,5.9837719,9.8127084,9.0057094,32.6622922,6.6037777,0.8927313,0.9052017,8.0801899,5.3665395,51.3420197,24.2031749,30.4444511,66.9697092,33.3535354,43.6969707,18.7272778,6.4444435,9.7649959,8.9618852,33.1285885,6.8181862,0.741641,0.7914853,7.6596561,4.8706491,50.3868202,23.5235318,30.9822192,67.481822,33.2457531,43.8763125,18.4923218,6.2853671,10.2098516,8.918487,32.3983735,7.0945994,0.6466572,0.6954615,7.969299,4.9389947,49.9401536,23.4709693,30.1302353,66.831109,33.0505129,43.3898982,18.3701666,6.136542,10.3032707,9.1368627,31.4655164,6.5517287,0.58708,0.6720521,7.8803235,4.868981,48.9840694,22.6088609,29.8152543,66.3718631,32.8812891,43.5731129,18.2586464,5.8765744,10.6867317,9.4594624,32.3872496,6.1290362 +2158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2758463,2.3434995,35.9814628,31.1527958,75.1076631,13.5342038,34.5576371,62.615397,22.6512489,36.7829244,15.1531425,1.8295102,17.2843897,12.7347043,42.6425025,21.7856798,2.0493021,2.0945143,35.006085,30.4189728,74.9763675,13.4572328,35.4391262,63.7895495,23.045247,37.0574912,14.8081511,1.8737686,16.5411629,11.6646445,41.6447608,22.1250776,2.3221043,2.3328078,33.8397199,29.402235,74.0052787,13.257449,34.6006845,65.1509153,23.7260078,36.8859997,15.1229733,1.8175571,15.8152942,10.8547375,38.9573018,23.4495063,2.1378824,2.1485136,32.845721,28.5722594,73.8646343,12.85834,34.7162693,65.2256885,23.7366694,37.1825394,15.1339392,1.9874126,16.7528132,11.4916187,39.7575781,24.6749361,1.9918216,1.9918216,31.7078877,27.335663,72.9737888,12.510417,34.244538,64.3370429,23.8378224,36.5808397,14.5500665,1.7241752,16.8780483,12.3476783,40.5064017,24.5903786 +2159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9611184,0.9988821,21.6522481,17.4511541,32.5966765,16.5911757,35.1717075,67.2153396,38.4764568,48.038313,23.0640912,2.9117874,12.5260837,9.656273,33.2371568,15.6149471,1.0395732,1.0731047,21.5098106,17.1630994,33.0887695,16.5910395,35.3585613,67.1235096,38.2707544,47.6730934,22.6454376,3.084611,12.5516997,9.4460157,33.5152101,18.2595711,1.1253672,1.1371648,22.3021898,18.0329879,33.2550244,16.2544872,35.1002977,66.5657432,37.8143585,47.07616,22.2975465,3.0737944,12.9224073,9.6814333,33.6687087,18.1280615,1.1974556,1.2415913,22.2065491,17.9583793,34.3698889,16.6447744,35.111255,66.0755345,37.3015382,45.8122684,21.6750009,3.3069675,12.7341791,9.6048083,33.2257826,21.2431371,1.1206258,1.1806064,22.752503,18.4760445,34.3069318,16.4541641,34.9985845,65.9945627,37.7451723,45.8907629,21.293744,3.2244647,13.1588907,9.8672876,33.5206244,22.2719951 +2160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7703731,0.7934783,12.1888022,8.7202705,32.534693,10.4470076,30.1755161,63.8794786,32.8271332,44.8601732,19.0119302,3.3290483,11.1674274,8.6110327,30.6543485,7.3726462,0.7493315,0.7667606,12.0030339,8.6507703,33.1269712,10.5360119,30.1692866,64.3623047,32.7906285,44.7990468,18.6116597,3.5306457,11.1713899,8.9920846,30.1032276,7.3934763,0.7479821,0.7718692,11.826712,8.4791397,34.0656908,10.9404048,30.271279,64.6682516,33.3075635,45.3823458,18.5760514,3.6196207,11.3844637,9.0132698,30.2942581,6.850955,0.7956602,0.8131466,12.078079,8.6609357,35.0956505,10.8904517,29.8586432,64.6431058,33.2226242,45.5053066,18.7349962,3.5971727,11.1982416,8.9711187,30.01892,7.6642261,0.7095612,0.7268929,11.9980854,8.5464902,35.6259047,10.9914083,30.1202201,64.9307936,33.3776159,45.5403373,18.3489556,3.3342657,11.0002237,8.8726076,29.3965383,8.6805455 +2161,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7367649,0.7516067,10.871744,7.4154272,44.9532275,19.6221314,31.7563768,67.7980964,37.129868,44.3905421,22.3462134,4.364392,11.0863584,9.7470415,37.4375788,8.0357085,0.5991742,0.6059932,10.752749,7.4382287,44.8262414,19.3842132,32.4001198,67.4683754,36.9216366,44.1770627,22.2530018,4.3507241,10.8631285,10.186572,36.715968,7.3378764,0.7099394,0.7263167,11.1952979,7.6734182,43.9353771,19.2306599,32.3830664,67.8270565,37.1650082,43.6808977,22.5040301,4.3746729,10.2681576,9.6877013,36.4191634,8.3038869,0.7733529,0.7762797,11.8453238,8.3961942,44.3789379,19.1010954,32.5044145,67.8303839,37.5546585,43.4035547,22.1978694,4.5220323,10.3504153,9.2654454,35.4890884,9.1695438,0.6989246,0.7094442,12.1886975,8.6886261,44.3258429,18.8057099,32.1769174,67.999457,37.3233011,42.9488327,22.363671,4.629178,10.0182222,9.0013472,34.9097458,8.3904883 +2162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.7727151,0.7727151,14.2089413,9.4470512,51.8081553,30.7401287,33.6671582,66.3325336,29.8152677,39.522152,17.6424091,4.5455036,15.7980628,12.5816799,38.2935921,4.7794469,0.7360024,0.7360024,15.3077386,10.6923706,51.8779172,30.3462994,34.1294654,66.0243886,29.5071434,40.7548167,18.1046916,5.4700212,14.2140935,11.538468,36.2538252,7.0371152,0.5970242,0.7462803,14.366919,10.1461627,49.7540539,31.1023306,36.5323851,67.6610628,31.6937665,43.3061932,19.4352015,5.7258896,14.6383064,11.6394284,35.1849451,7.2519914,0.849491,0.9985245,14.4843959,10.7201076,50.0813122,30.5686811,34.2697567,68.7798861,32.3436454,42.7766212,18.860144,6.0193486,13.6655589,9.7755242,35.1304848,7.3644267,0.9436977,1.095907,13.9165906,10.7499677,51.0832237,29.6925845,33.6347906,69.3254505,32.3192284,43.0095182,18.9964983,5.6744261,12.7060481,10.0326158,35.4024501,6.9672988 +2163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0395732,1.0731047,21.5098106,17.1630994,33.0887695,16.5910395,35.3585613,67.1235096,38.2707544,47.6730934,22.6454376,3.084611,12.5516997,9.4460157,33.5152101,18.2595711,1.1253672,1.1371648,22.3021898,18.0329879,33.2550244,16.2544872,35.1002977,66.5657432,37.8143585,47.07616,22.2975465,3.0737944,12.9224073,9.6814333,33.6687087,18.1280615,1.1974556,1.2415913,22.2065491,17.9583793,34.3698889,16.6447744,35.111255,66.0755345,37.3015382,45.8122684,21.6750009,3.3069675,12.7341791,9.6048083,33.2257826,21.2431371,1.1206258,1.1806064,22.752503,18.4760445,34.3069318,16.4541641,34.9985845,65.9945627,37.7451723,45.8907629,21.293744,3.2244647,13.1588907,9.8672876,33.5206244,22.2719951,1.2214447,1.2782858,22.87962,18.6646583,34.6240759,16.6529676,34.4873473,65.898253,37.5585764,46.0075637,20.8079323,3.3624739,13.6822663,9.9856111,34.1905985,21.3511328 +2164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5760822,0.5342939,8.1566649,6.1672971,69.5407119,13.4313649,25.4647469,67.942512,31.4382016,43.208139,14.048877,4.3585136,12.3352908,9.9647886,33.318652,2.940524,0.4599274,0.4599274,7.9993065,6.0997924,69.1925594,13.4080891,25.6384664,68.1490343,31.3405492,43.936278,13.6383957,4.7873297,13.2340816,10.3490985,33.2048228,2.1545207,0.6619209,0.6619209,8.4018962,6.3264246,66.8372937,13.3975358,26.2321386,68.7429913,31.6593924,44.5240578,13.8498183,4.6031935,13.0905839,10.4565831,33.0783187,5.9992672,0.6762225,0.6762225,8.5310657,6.3742829,65.4096004,13.4360729,26.4514785,68.6582567,31.458454,44.8102152,13.9536113,4.6383256,13.4438518,11.2951362,32.2594482,6.5378024,0.6919716,0.6874746,8.9183712,6.3322838,63.4374974,13.4800986,26.627815,69.9934888,31.8113788,45.7490587,15.0706364,4.5116757,13.4312505,11.4746421,32.7404933,6.6428114 +2165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.9655971,1.0038107,16.1982245,12.2599668,49.3312179,12.160735,28.6102813,62.6082657,29.1943532,42.1853191,14.5720445,4.9244758,13.479378,10.5044487,32.63497,9.9719717,0.9585652,0.9828433,16.3640608,12.3552808,50.1169722,12.6726776,29.1835769,63.1989879,29.1430621,41.9671674,14.5968786,4.7913315,13.3136581,10.5310892,31.9459462,9.8288388,0.8471505,0.8899901,16.3937916,12.6082937,51.4804695,12.9633021,28.8600683,63.379655,29.4029651,42.3502016,14.7266154,4.6743145,13.2361137,10.8941392,31.5867159,9.1527599,0.8540186,0.8958175,16.502319,12.8372879,52.7666745,12.8995709,28.9214009,64.2440771,28.9214271,42.9536389,14.7883376,4.6270461,13.1854345,10.9738517,31.52756,8.1114333,0.8153142,0.8571052,16.9424641,13.3548576,54.3359909,12.9336216,28.5642684,64.9023109,29.1894229,42.6799818,14.6703331,4.6279589,13.2212426,11.0662104,31.2536469,7.089298 +2166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.7360024,0.7360024,15.3077386,10.6923706,51.8779172,30.3462994,34.1294654,66.0243886,29.5071434,40.7548167,18.1046916,5.4700212,14.2140935,11.538468,36.2538252,7.0371152,0.5970242,0.7462803,14.366919,10.1461627,49.7540539,31.1023306,36.5323851,67.6610628,31.6937665,43.3061932,19.4352015,5.7258896,14.6383064,11.6394284,35.1849451,7.2519914,0.849491,0.9985245,14.4843959,10.7201076,50.0813122,30.5686811,34.2697567,68.7798861,32.3436454,42.7766212,18.860144,6.0193486,13.6655589,9.7755242,35.1304848,7.3644267,0.9436977,1.095907,13.9165906,10.7499677,51.0832237,29.6925845,33.6347906,69.3254505,32.3192284,43.0095182,18.9964983,5.6744261,12.7060481,10.0326158,35.4024501,6.9672988,0.9008434,1.0566088,13.1669287,10.4131113,50.3394783,29.0562864,34.3169337,70.9104599,33.1367313,44.9406104,20.1515536,6.1552316,12.3308243,9.2589413,33.3902409,9.1305142 +2167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7964936,1.8208869,33.5776434,29.0422602,52.7331019,12.7821508,37.7219117,64.2591061,35.8507674,43.8876045,21.2128061,2.8667673,16.3992925,12.6893318,40.2180455,20.5696457,1.9342164,1.9187542,33.7574413,29.1306503,53.4098056,12.8037895,38.008547,64.0203008,35.3701127,42.95736,20.6013358,2.8052991,16.7411533,12.5708318,39.6927236,20.184455,1.9780673,1.9560472,35.0561485,30.3201922,54.2904625,12.7019339,38.7564551,63.6480688,34.8320217,42.9478316,20.3475225,2.51197,17.1903268,12.4979873,39.1462542,19.4223224,1.8218296,1.8087287,35.0201489,30.4421911,54.512795,12.8433669,39.3254717,63.8216164,34.5035761,43.3334519,20.5084436,2.4294027,17.3873348,11.9552853,39.5916391,19.1848784,1.7958179,1.8195425,35.2783342,30.7217247,55.0589988,12.7978427,39.7881319,63.6797674,34.6406842,43.4384204,20.8717883,2.4758704,18.0477674,11.1649819,38.6584532,19.1908546 +2168,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7376665,0.7617191,10.7674196,7.4867823,37.5368827,20.1844529,33.0257411,65.8455161,36.8551035,45.1709143,22.3147998,6.4921749,10.2063888,8.2143291,33.0172025,8.1521721,0.7065716,0.7296756,11.3592893,7.7729089,38.308691,20.2106099,33.0380396,64.6625993,36.5385032,45.5617624,21.817963,6.1593258,10.0303025,8.0428191,33.0709648,8.0612228,0.7233643,0.7559574,11.4048411,7.903294,38.8399547,20.2393862,33.0057637,63.7675032,36.203812,45.4967644,21.6763957,6.0447237,9.5858405,7.914506,32.9631226,8.5215588,0.7912906,0.8235259,11.8766352,8.252542,39.4890475,20.024632,32.6516478,63.6126783,35.7364096,45.5849651,21.5720279,6.4312802,10.1129001,8.1095031,33.3086753,10.0586113,0.7135095,0.7254639,12.2085755,8.4531655,39.1646944,19.8809066,32.7191778,63.2006228,35.3875473,45.9762788,21.0292264,6.4308913,10.0220668,7.6181825,33.0076457,9.0822388 +2169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8927313,0.9052017,8.0801899,5.3665395,51.3420197,24.2031749,30.4444511,66.9697092,33.3535354,43.6969707,18.7272778,6.4444435,9.7649959,8.9618852,33.1285885,6.8181862,0.741641,0.7914853,7.6596561,4.8706491,50.3868202,23.5235318,30.9822192,67.481822,33.2457531,43.8763125,18.4923218,6.2853671,10.2098516,8.918487,32.3983735,7.0945994,0.6466572,0.6954615,7.969299,4.9389947,49.9401536,23.4709693,30.1302353,66.831109,33.0505129,43.3898982,18.3701666,6.136542,10.3032707,9.1368627,31.4655164,6.5517287,0.58708,0.6720521,7.8803235,4.868981,48.9840694,22.6088609,29.8152543,66.3718631,32.8812891,43.5731129,18.2586464,5.8765744,10.6867317,9.4594624,32.3872496,6.1290362,0.5398506,0.6231542,7.9209764,5.0057474,49.3544599,22.3518139,30.3094771,66.2862707,32.3597638,44.0812327,18.0464181,5.7059975,10.4135362,9.3750021,31.1555886,5.0000029 +2170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1253672,1.1371648,22.3021898,18.0329879,33.2550244,16.2544872,35.1002977,66.5657432,37.8143585,47.07616,22.2975465,3.0737944,12.9224073,9.6814333,33.6687087,18.1280615,1.1974556,1.2415913,22.2065491,17.9583793,34.3698889,16.6447744,35.111255,66.0755345,37.3015382,45.8122684,21.6750009,3.3069675,12.7341791,9.6048083,33.2257826,21.2431371,1.1206258,1.1806064,22.752503,18.4760445,34.3069318,16.4541641,34.9985845,65.9945627,37.7451723,45.8907629,21.293744,3.2244647,13.1588907,9.8672876,33.5206244,22.2719951,1.2214447,1.2782858,22.87962,18.6646583,34.6240759,16.6529676,34.4873473,65.898253,37.5585764,46.0075637,20.8079323,3.3624739,13.6822663,9.9856111,34.1905985,21.3511328,1.2268401,1.2796573,22.7691844,18.7322262,35.0678252,16.6307867,33.9162117,65.8196244,37.9253531,46.3789829,21.1422119,3.3324041,14.1582102,10.4561398,34.9177021,21.6106357 +2171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4438008,0.4272285,7.2564633,4.6435685,45.1333698,19.5470957,30.0392459,67.6619057,35.3378204,42.9352377,20.5074294,8.312304,8.3602178,6.2264174,35.5163124,4.1333344,0.4471881,0.4311386,7.4048753,4.7221479,44.8470676,19.776221,29.8395837,67.1968481,35.5492132,42.6998302,20.3235444,8.224576,9.0652327,6.5172574,35.3627023,3.7396132,0.4500202,0.4590148,7.2791022,4.6423579,45.022563,19.622172,29.4158501,67.2183628,35.6745535,42.6008288,20.1251733,7.9972159,8.94161,6.7207096,35.954769,3.0701763,0.4203898,0.4297138,7.5507241,4.6231899,45.3893469,19.6658056,28.9739849,67.066479,35.2745739,42.5577992,19.869941,7.7601127,9.2174413,6.8337714,35.2272808,2.5757584,0.4469094,0.4557379,7.8099149,4.8622581,45.2759263,20.029913,29.1050831,66.4340448,34.8248583,41.7214019,19.1981414,7.6491493,10.0911167,6.8577974,35.0616729,3.2012205 +2172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.5133536,1.5765746,30.0740567,24.6262965,50.2867519,11.2789196,40.4603103,65.5779918,32.7514749,49.9085221,27.2209763,6.3659727,16.4039269,12.2323486,34.2588323,16.3828114,1.4600671,1.5092979,30.0406859,24.4366583,51.4439949,11.4667426,39.4600064,65.4850023,32.3482392,49.1734213,26.2847487,6.6814577,16.5250632,13.1640797,35.0737707,19.3327147,1.3781187,1.4147876,30.6575198,24.7290873,50.5975578,11.6391223,39.2769298,65.9174477,32.8260059,49.7861878,26.4842423,6.6134023,17.4328292,14.3239131,35.8751286,16.375031,1.2054661,1.2418883,31.3966728,25.2841559,50.9231881,11.5547889,39.2038061,65.390821,33.131864,48.8057718,25.975083,6.2342606,18.0082262,14.591011,36.3421969,15.5597011,0.9300769,0.9668587,30.8045369,24.904672,50.3534086,11.7157056,39.1836326,65.2772933,33.4108682,48.9443114,25.7590601,5.7558524,17.6286382,14.2898853,34.8733277,16.6659916 +2173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7425537,0.7642989,9.1055728,6.1628797,43.6437243,13.5412599,29.7113678,66.7292294,32.5588874,42.5511278,18.8260406,14.1405636,10.6385312,8.3205106,37.7198794,3.171091,0.7583378,0.7696795,9.5258646,6.3402879,44.3232518,13.1412632,30.003714,65.3698728,31.8221192,42.4233101,18.7592785,14.4173667,10.3749509,8.3119194,37.4087231,4.0772526,0.7972681,0.8480754,9.9852503,6.6056284,44.8732704,13.1931508,30.4114197,65.1037875,31.6839671,42.1979321,18.7237485,14.3254246,10.5078637,8.0722196,37.7263138,3.8951836,0.7778755,0.8322498,10.0428363,6.7013462,45.1751013,13.3890952,30.3408838,64.736651,31.903768,42.376333,18.5515691,14.4166868,10.685557,8.3287212,37.9199502,4.06562,0.7090994,0.7484076,9.8812988,6.5039158,45.5997462,13.4075098,30.1449787,64.0189234,31.1401917,41.5345944,18.39907,14.6762497,10.7995725,8.2648293,37.9570407,3.2142848 +2174,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.947596,0.9576261,13.9807724,10.2757738,63.8556793,8.5090194,28.0508191,61.5758899,29.5855154,37.7373747,15.4224762,5.9414809,10.7242079,8.3263406,37.0748417,7.6320367,0.9918297,1.0084076,14.036166,10.4187356,64.5044205,8.3904706,27.6572308,61.389852,29.203275,37.3962562,15.1562317,5.8093147,11.074734,8.4730107,37.2596835,8.4319377,1.0012432,1.0142614,14.2770849,10.6011883,65.1921304,8.2442805,27.7303103,61.0710904,28.9935719,37.2739574,14.8359396,5.8188466,11.4792042,8.663549,37.7921904,8.6606993,0.9421797,0.9563828,14.7603001,11.0590307,65.954608,8.3333618,27.7455619,60.5730803,28.5846521,37.0328799,14.6056627,5.6335412,11.8924738,8.9187628,37.6097815,8.7662188,0.9407645,0.9653159,15.2289428,11.5320956,67.1065598,8.1227512,27.9868065,59.73709,28.0290309,36.6242035,14.4833691,5.50855,12.3284143,9.1621768,37.811922,9.1202191 +2175,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9715782,0.9578635,14.7469365,10.7836213,45.6697268,13.1609868,29.7251563,64.8029594,34.6259162,39.8896607,18.3191249,4.131306,11.2913246,8.3231351,34.5699799,11.1371717,0.93178,0.921178,15.1817549,11.1465715,47.1871573,12.9687664,30.4756129,65.1887871,33.8758259,40.3212129,18.1311297,3.9857188,12.120308,8.4338725,34.1746481,11.0508035,0.8773271,0.8668322,15.1981053,11.1353681,48.1753814,13.2546355,30.5073906,64.4144704,33.4002852,39.9716877,17.6329813,4.1637965,12.1994653,8.5127911,33.8627792,11.1784852,0.9202237,0.9136331,15.6190123,11.6499457,48.8472124,13.0967204,30.1680268,64.1591972,33.6657723,40.7994125,17.8766816,4.288531,11.6691275,8.5068798,33.4114436,11.6013782,0.8649763,0.864064,15.9144737,11.9996834,49.5665804,13.1020419,30.8774508,63.9924037,33.2743495,40.8289988,18.5028792,4.3553639,11.8485818,8.971756,33.8829474,12.5 +2176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8744602,0.8682688,10.3310629,6.678087,22.5021368,16.3949234,34.529424,68.4621878,39.5546379,48.7815183,23.3865581,3.974786,10.6881114,9.8661152,33.3922894,6.7241402,0.8588817,0.8528079,10.2960174,6.5680086,21.920927,16.8298063,34.6590928,68.8817497,40.1268181,49.5635708,23.7895183,4.0760859,11.0991645,9.6679931,32.9770861,5.8718882,0.9201266,0.9148539,10.3730258,6.7698453,22.0104206,16.8583743,34.8626036,69.1118726,40.5544783,49.8609896,23.8223706,4.1625788,10.7056985,9.5159253,32.9748764,5.8098592,0.8866873,0.8962814,10.6176252,7.0861927,21.7746068,16.8359935,35.0023656,68.9071971,40.7386884,50.032079,24.3470714,4.1259446,10.996815,9.6142652,32.7531234,4.9319761,0.8158736,0.8227188,10.7871615,7.3333403,21.920738,16.6885016,34.8131194,69.0723896,40.8317053,50.2893866,24.2973016,4.1584008,10.9018075,9.6912976,32.9892788,5.1418476 +2177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1974556,1.2415913,22.2065491,17.9583793,34.3698889,16.6447744,35.111255,66.0755345,37.3015382,45.8122684,21.6750009,3.3069675,12.7341791,9.6048083,33.2257826,21.2431371,1.1206258,1.1806064,22.752503,18.4760445,34.3069318,16.4541641,34.9985845,65.9945627,37.7451723,45.8907629,21.293744,3.2244647,13.1588907,9.8672876,33.5206244,22.2719951,1.2214447,1.2782858,22.87962,18.6646583,34.6240759,16.6529676,34.4873473,65.898253,37.5585764,46.0075637,20.8079323,3.3624739,13.6822663,9.9856111,34.1905985,21.3511328,1.2268401,1.2796573,22.7691844,18.7322262,35.0678252,16.6307867,33.9162117,65.8196244,37.9253531,46.3789829,21.1422119,3.3324041,14.1582102,10.4561398,34.9177021,21.6106357,1.2590511,1.3390538,23.0264903,19.0532287,35.5478087,16.1744502,33.0449371,65.0661624,37.3467216,46.0741425,20.6228777,3.3250755,14.5596353,10.249468,34.9602996,23.3934742 +2178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5970242,0.7462803,14.366919,10.1461627,49.7540539,31.1023306,36.5323851,67.6610628,31.6937665,43.3061932,19.4352015,5.7258896,14.6383064,11.6394284,35.1849451,7.2519914,0.849491,0.9985245,14.4843959,10.7201076,50.0813122,30.5686811,34.2697567,68.7798861,32.3436454,42.7766212,18.860144,6.0193486,13.6655589,9.7755242,35.1304848,7.3644267,0.9436977,1.095907,13.9165906,10.7499677,51.0832237,29.6925845,33.6347906,69.3254505,32.3192284,43.0095182,18.9964983,5.6744261,12.7060481,10.0326158,35.4024501,6.9672988,0.9008434,1.0566088,13.1669287,10.4131113,50.3394783,29.0562864,34.3169337,70.9104599,33.1367313,44.9406104,20.1515536,6.1552316,12.3308243,9.2589413,33.3902409,9.1305142,0.8596311,1.0173616,13.7304176,10.7943844,50.7785122,27.963265,35.5687589,70.7130645,35.3990625,45.7552976,19.4395349,6.5364953,11.1292916,10.0990417,33.6147016,9.5454979 +2179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6356678,0.6782891,9.0382527,5.9781379,41.8559972,16.3276427,28.5444158,69.5415367,35.2882436,45.1035172,20.4206705,3.4609355,9.4411748,8.5591735,32.2822264,5.9931425,0.689922,0.7215254,9.2240285,6.3595544,41.9542512,16.4493351,28.4083589,69.4390328,35.170704,45.2381129,20.0587231,3.5986032,9.5248381,8.3624508,31.921921,6.187312,0.7531646,0.7854907,9.4568095,6.3808892,41.3532756,16.5862729,28.0449939,69.6393114,35.0144873,45.123602,19.9844311,3.6851405,9.6621577,8.7201501,31.8305639,7.4913058,0.6906752,0.7224435,9.4220018,6.4997836,40.4930116,16.7746769,28.1537584,69.6780816,35.7972099,45.7840774,20.7293211,3.7341131,9.7284046,8.9715131,32.802727,8.0204955,0.7875888,0.8024403,9.7263513,6.7564725,39.5509164,16.8976528,28.2669937,68.5525913,36.1207315,46.029875,21.4084947,3.6023291,9.8730322,9.1765343,33.8553352,8.4717743 +2180,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1534869,1.1837617,15.8043708,11.7092315,29.9395429,18.261416,39.2046846,62.8147794,35.4151334,46.8835727,21.2540663,3.0042433,11.9031932,9.8939304,32.9643248,15.9090507,1.1359111,1.1583258,16.8820035,12.8839539,30.6071685,18.0334139,38.2345759,61.7160686,34.8765686,46.5555631,21.0987817,3.0740813,11.9757619,9.5991162,32.7349475,15.9313335,0.961633,0.9803468,16.6748062,12.9611505,31.6400998,18.3025537,38.0049657,62.0198422,35.0062167,46.4312373,21.1772205,3.0855049,12.2503866,9.8656789,33.3492419,13.9810294,0.9729765,0.9756262,17.2942845,13.4806293,32.7274627,18.3122007,38.0770967,61.7510198,35.3266928,46.1320978,21.2549066,3.2785618,12.6919069,9.7331826,33.6226464,12.2767912,1.0065557,1.013712,17.8546328,13.8842948,33.4736702,18.7021643,38.393061,62.9724833,36.0766296,46.830004,21.7142055,3.4260651,12.9679344,9.7415612,34.0601403,14.4308654 +2181,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8730069,1.8926762,28.8832186,24.9738116,43.4215379,18.7461079,42.8433915,66.1495986,35.9631285,49.9436776,24.7060189,3.9880404,13.7532527,9.9210921,32.8784088,22.2732167,1.7307073,1.7682767,28.8914612,24.8247962,44.0940103,18.6686138,42.6038563,66.2745495,35.4900582,49.4574129,24.3612219,3.9893082,12.6600483,10.0018063,32.214038,20.6489585,1.8498499,1.8878405,28.6030918,24.4144738,44.9990107,18.831897,41.1897284,65.8009859,35.1539921,48.7865694,24.3626807,4.0833102,12.7642173,10.9089584,33.3364863,20.8645994,1.9388923,1.9948276,28.861191,24.6461199,44.3501225,19.1848085,41.511531,66.827661,35.7019717,49.007702,24.568647,4.2644034,12.587796,10.4660928,32.3432341,21.1145613,1.896312,1.9911545,29.1852798,24.6504752,43.7437665,18.5352572,41.5655698,66.8899203,36.3418955,49.0215405,24.4604614,4.2088992,12.5310133,10.8634085,32.750877,22.7795647 +2182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3430491,1.4484453,22.6303412,17.2715377,82.5524798,15.7994436,34.3429264,65.4512828,36.7679862,40.0462618,18.9561287,5.0979396,12.4597597,11.9397474,34.5992673,14.1164613,1.2778191,1.3844887,22.2092874,16.9452772,82.4050571,16.019519,34.4993109,66.0008773,36.8883934,40.2287516,18.6171106,4.8784208,12.2403736,12.2256896,36.1618601,13.4922705,1.434663,1.5420813,21.8586922,16.305801,82.7321175,16.3179111,35.7099156,64.6669721,37.4154048,41.0922912,18.9767635,4.9695636,13.8094071,13.3068688,37.5509425,13.7501994,1.6703993,1.7757715,21.244547,16.2968589,83.0697305,15.8132669,35.7815826,64.0309074,37.0300117,40.7183145,19.5302912,4.7183953,13.9639192,13.7200018,37.4398387,10.7894737,1.5871576,1.6936937,20.3592202,16.2185068,83.2385745,15.3388408,36.0296997,64.0963557,37.1605414,41.5039477,20.0430548,5.1287081,13.9472138,13.3540784,37.1949496,9.7373392 +2183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7935846,0.784552,10.9104985,6.7521191,49.4424776,10.9527844,32.9369188,66.5733117,42.193216,44.0072336,23.8459799,4.8563202,11.0356489,8.9894336,38.9591234,6.9877874,0.7714766,0.7624388,11.1599627,6.9247927,49.3325944,10.9222328,32.6983334,66.780665,41.9367726,44.1038752,23.8845066,4.77488,11.030319,9.4250572,39.169446,8.1249977,0.7996202,0.8015818,11.1653681,7.1164415,48.6023269,10.9804523,32.5674126,66.9081852,41.841291,44.9566605,24.1052789,4.7553045,11.1306697,9.6472085,39.3837751,8.6137117,0.7856073,0.7956954,11.3069106,7.3204647,48.2708364,11.2876786,31.9262385,67.5081399,42.1995306,45.4697962,24.0279595,4.8282676,10.8826606,9.4899497,39.5614679,9.225618,0.7609313,0.765004,11.0479566,7.2270102,47.1935686,11.7404248,31.5224839,67.6962573,42.8297959,45.8622837,24.5628983,4.9290764,10.7570779,9.4831856,39.1256951,9.6129846 +2184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5345584,0.5596686,8.9719334,6.2025799,38.9956173,19.5426598,30.0272907,70.7131726,38.5229876,46.7848615,22.6227312,3.6827805,9.4807351,9.431724,30.8088751,5.2816901,0.5952105,0.6111714,8.9426394,6.2429706,38.2899053,20.0037945,30.2768257,71.1841579,38.5813048,46.9242459,22.8950144,3.633224,9.0182842,9.4965639,31.2739941,3.7671233,0.6343045,0.6618637,9.2184061,6.376216,37.5000186,20.1247104,31.018001,71.8905662,39.1312573,47.0531742,22.2923723,3.8844258,8.6090288,9.0874798,31.7562632,5.208337,0.6497418,0.6421752,9.6464906,6.6002264,36.687689,20.3386513,30.4121843,72.0531804,39.3104657,47.1686975,22.2842685,3.6402177,8.7396924,9.1422197,33.7244663,6.462585,0.6391,0.6432008,9.695756,6.3966294,36.288471,19.9962792,30.2259932,71.6572795,40.3578101,47.8530928,22.7306917,3.4839917,8.4553453,8.6940585,33.6410759,7.2327044 +2185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.9342164,1.9187542,33.7574413,29.1306503,53.4098056,12.8037895,38.008547,64.0203008,35.3701127,42.95736,20.6013358,2.8052991,16.7411533,12.5708318,39.6927236,20.184455,1.9780673,1.9560472,35.0561485,30.3201922,54.2904625,12.7019339,38.7564551,63.6480688,34.8320217,42.9478316,20.3475225,2.51197,17.1903268,12.4979873,39.1462542,19.4223224,1.8218296,1.8087287,35.0201489,30.4421911,54.512795,12.8433669,39.3254717,63.8216164,34.5035761,43.3334519,20.5084436,2.4294027,17.3873348,11.9552853,39.5916391,19.1848784,1.7958179,1.8195425,35.2783342,30.7217247,55.0589988,12.7978427,39.7881319,63.6797674,34.6406842,43.4384204,20.8717883,2.4758704,18.0477674,11.1649819,38.6584532,19.1908546,1.8213405,1.8539677,35.5329097,31.0185344,56.2780482,12.257315,39.2425432,63.8362227,34.2353646,42.7957719,20.5750794,2.489019,18.8570005,12.1739635,39.8859589,18.553442 +2186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7714766,0.7624388,11.1599627,6.9247927,49.3325944,10.9222328,32.6983334,66.780665,41.9367726,44.1038752,23.8845066,4.77488,11.030319,9.4250572,39.169446,8.1249977,0.7996202,0.8015818,11.1653681,7.1164415,48.6023269,10.9804523,32.5674126,66.9081852,41.841291,44.9566605,24.1052789,4.7553045,11.1306697,9.6472085,39.3837751,8.6137117,0.7856073,0.7956954,11.3069106,7.3204647,48.2708364,11.2876786,31.9262385,67.5081399,42.1995306,45.4697962,24.0279595,4.8282676,10.8826606,9.4899497,39.5614679,9.225618,0.7609313,0.765004,11.0479566,7.2270102,47.1935686,11.7404248,31.5224839,67.6962573,42.8297959,45.8622837,24.5628983,4.9290764,10.7570779,9.4831856,39.1256951,9.6129846,0.7929145,0.8017278,11.237754,7.4091016,46.4617397,12.0404581,30.9568203,67.7606982,43.1601349,45.938745,24.798768,4.8702323,10.507563,9.3248623,39.039329,10.4428561 +2187,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5952105,0.6111714,8.9426394,6.2429706,38.2899053,20.0037945,30.2768257,71.1841579,38.5813048,46.9242459,22.8950144,3.633224,9.0182842,9.4965639,31.2739941,3.7671233,0.6343045,0.6618637,9.2184061,6.376216,37.5000186,20.1247104,31.018001,71.8905662,39.1312573,47.0531742,22.2923723,3.8844258,8.6090288,9.0874798,31.7562632,5.208337,0.6497418,0.6421752,9.6464906,6.6002264,36.687689,20.3386513,30.4121843,72.0531804,39.3104657,47.1686975,22.2842685,3.6402177,8.7396924,9.1422197,33.7244663,6.462585,0.6391,0.6432008,9.695756,6.3966294,36.288471,19.9962792,30.2259932,71.6572795,40.3578101,47.8530928,22.7306917,3.4839917,8.4553453,8.6940585,33.6410759,7.2327044,0.6651563,0.6594505,10.0109453,6.5463183,36.8773987,19.7519356,30.0225381,71.5922155,40.5369852,47.4089286,22.4746505,3.3233187,7.6839044,8.3576648,33.860304,6.8047337 +2188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8479295,0.8195071,11.1164636,7.6011983,25.9964907,21.437318,31.8162998,68.2767369,36.3911398,48.123707,22.9662417,3.4034857,13.2496926,11.8039569,36.6897423,4.867248,0.6892981,0.6823166,10.3512066,7.0586667,25.8390804,21.1505887,31.1027335,68.2124085,36.6448493,48.1506442,23.28061,3.7527403,12.5486677,10.8935877,35.6402776,4.399993,0.8974492,0.8906382,11.1008161,7.3740933,25.9329242,21.5043349,31.8174131,68.65837,37.4422284,48.3906782,23.7921051,4.1783413,12.076389,10.486906,35.7336124,7.8357521,0.8425621,0.8360318,11.6747397,7.6878857,25.5761313,21.5508068,31.6862673,68.6279255,37.8304839,48.6395808,24.1402903,3.8249518,12.5861547,10.8756693,37.1201658,7.2915972,0.8232445,0.816926,12.3485875,8.0595978,25.1534543,21.2065413,32.045339,68.1764,37.6633902,48.8273263,25.0290253,3.5918455,12.5551313,11.0079872,37.4413997,7.8766277 +2189,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7065716,0.7296756,11.3592893,7.7729089,38.308691,20.2106099,33.0380396,64.6625993,36.5385032,45.5617624,21.817963,6.1593258,10.0303025,8.0428191,33.0709648,8.0612228,0.7233643,0.7559574,11.4048411,7.903294,38.8399547,20.2393862,33.0057637,63.7675032,36.203812,45.4967644,21.6763957,6.0447237,9.5858405,7.914506,32.9631226,8.5215588,0.7912906,0.8235259,11.8766352,8.252542,39.4890475,20.024632,32.6516478,63.6126783,35.7364096,45.5849651,21.5720279,6.4312802,10.1129001,8.1095031,33.3086753,10.0586113,0.7135095,0.7254639,12.2085755,8.4531655,39.1646944,19.8809066,32.7191778,63.2006228,35.3875473,45.9762788,21.0292264,6.4308913,10.0220668,7.6181825,33.0076457,9.0822388,0.6610772,0.6693907,12.3413076,8.51931,39.7836448,19.5613336,32.6239639,62.9847338,35.1236314,45.6357224,20.8417811,6.4248071,10.0321467,7.737191,33.1087405,8.9350393 +2190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1206258,1.1806064,22.752503,18.4760445,34.3069318,16.4541641,34.9985845,65.9945627,37.7451723,45.8907629,21.293744,3.2244647,13.1588907,9.8672876,33.5206244,22.2719951,1.2214447,1.2782858,22.87962,18.6646583,34.6240759,16.6529676,34.4873473,65.898253,37.5585764,46.0075637,20.8079323,3.3624739,13.6822663,9.9856111,34.1905985,21.3511328,1.2268401,1.2796573,22.7691844,18.7322262,35.0678252,16.6307867,33.9162117,65.8196244,37.9253531,46.3789829,21.1422119,3.3324041,14.1582102,10.4561398,34.9177021,21.6106357,1.2590511,1.3390538,23.0264903,19.0532287,35.5478087,16.1744502,33.0449371,65.0661624,37.3467216,46.0741425,20.6228777,3.3250755,14.5596353,10.249468,34.9602996,23.3934742,1.2356756,1.3106419,24.4719048,20.5463735,36.494061,16.7264264,33.5085185,64.6188207,36.9221594,45.9477658,20.4794037,3.372689,14.4856683,10.3664322,34.2642645,21.2538551 +2191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5199035,0.5664998,8.9059662,5.623921,32.9422308,23.901267,30.9106289,67.8522085,35.3779572,45.6528862,18.8831258,7.8178546,12.3160913,9.4030567,31.996163,2.9069767,0.528059,0.5693649,9.326999,6.0927682,32.7312808,23.3955991,31.0576011,66.2901121,33.6770949,45.1702125,18.3529436,7.3837445,13.061849,9.436624,31.7901835,3.4050179,0.4788751,0.5186078,9.5530194,6.3739256,33.0763916,23.0634994,31.0230595,65.7246569,33.4859065,44.0952976,18.1085887,7.5939243,13.0958727,10.0154789,31.8740771,4.0780142,0.5073943,0.5542976,9.6981852,6.3030345,33.0088812,23.0928945,30.865167,64.9984196,32.7596529,43.2743123,17.3823424,7.3413163,13.0187919,9.8658304,31.7127796,3.8745387,0.5486138,0.5891165,9.580726,6.2888072,34.2805707,22.1610431,31.011464,64.2414001,31.9732523,42.8326781,16.8010831,7.1517076,12.9897552,10.5028419,32.6574064,3.9622642 +2192,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2666601,2.2666601,34.3888071,29.9705449,67.0933735,5.9210526,38.239645,65.7544379,27.1449704,46.0798817,16.4940828,4.9556213,12.9427793,9.6730245,33.6538462,12.5730994,2.1973865,2.2890876,34.2415317,29.6759941,66.9440242,6.7883212,38.535503,66.9378698,26.9970414,45.6360947,16.6420118,4.8076923,13.6103152,9.8853868,33.8616715,10.6321839,2.229664,2.183109,34.947839,30.4769001,66.3312693,7.2280179,38.0484115,68.1543116,27.4583964,45.1588502,17.473525,5.8245083,14.8093842,8.6764706,33.480826,13.5542169,2.4950684,2.3103962,35.6720827,31.3884786,66.2826421,6.9852941,38.3982036,67.8892216,28.8173653,45.2844311,16.8413174,6.0628743,13.5174419,8.0174927,33.1871345,13.0813953,2.6231506,2.4324019,34.222561,30.8689024,66.6401274,7.2078907,38.9318885,66.3312693,27.0123839,44.0402477,16.9504644,6.1145511,12.9969419,9.0490798,33.0769231,13.9751553 +2193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4471881,0.4311386,7.4048753,4.7221479,44.8470676,19.776221,29.8395837,67.1968481,35.5492132,42.6998302,20.3235444,8.224576,9.0652327,6.5172574,35.3627023,3.7396132,0.4500202,0.4590148,7.2791022,4.6423579,45.022563,19.622172,29.4158501,67.2183628,35.6745535,42.6008288,20.1251733,7.9972159,8.94161,6.7207096,35.954769,3.0701763,0.4203898,0.4297138,7.5507241,4.6231899,45.3893469,19.6658056,28.9739849,67.066479,35.2745739,42.5577992,19.869941,7.7601127,9.2174413,6.8337714,35.2272808,2.5757584,0.4469094,0.4557379,7.8099149,4.8622581,45.2759263,20.029913,29.1050831,66.4340448,34.8248583,41.7214019,19.1981414,7.6491493,10.0911167,6.8577974,35.0616729,3.2012205,0.4517166,0.4600798,8.4841285,5.2320974,45.8909584,19.9715206,28.9917028,65.1503372,34.175746,40.9668221,18.7791633,7.4002054,10.4523242,7.327586,35.562368,3.1626525 +2194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.528059,0.5693649,9.326999,6.0927682,32.7312808,23.3955991,31.0576011,66.2901121,33.6770949,45.1702125,18.3529436,7.3837445,13.061849,9.436624,31.7901835,3.4050179,0.4788751,0.5186078,9.5530194,6.3739256,33.0763916,23.0634994,31.0230595,65.7246569,33.4859065,44.0952976,18.1085887,7.5939243,13.0958727,10.0154789,31.8740771,4.0780142,0.5073943,0.5542976,9.6981852,6.3030345,33.0088812,23.0928945,30.865167,64.9984196,32.7596529,43.2743123,17.3823424,7.3413163,13.0187919,9.8658304,31.7127796,3.8745387,0.5486138,0.5891165,9.580726,6.2888072,34.2805707,22.1610431,31.011464,64.2414001,31.9732523,42.8326781,16.8010831,7.1517076,12.9897552,10.5028419,32.6574064,3.9622642,0.6095583,0.6538361,9.5561349,6.4462395,33.8052433,22.0529312,31.2537796,64.2835567,31.3751667,43.275578,16.6211193,7.331494,12.2266329,9.9911976,33.1362977,4.1970803 +2195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9069793,1.911903,22.5100506,17.7710877,41.090994,14.4865382,31.5020619,67.098752,35.4938217,45.1234618,22.9835254,4.3827148,11.431865,9.830363,42.0622539,18.7258904,1.9637731,1.9888808,23.4446822,18.5390727,41.1444767,14.2223144,32.108949,66.131647,34.9574859,44.9692805,23.5214102,4.1680878,11.5793397,9.2606618,42.151614,20.3488451,1.8938774,1.8824978,25.7024672,20.5879105,41.054651,14.4821311,33.9167485,65.9698656,33.8033701,44.7625433,23.8267366,4.1380317,12.8437455,10.0753296,41.508833,20.3020134,1.9535832,2.0253659,26.8083779,21.8012723,42.9189942,14.4376388,34.3507364,65.5088204,33.9645789,44.5378306,23.4329203,3.9844753,13.3725719,9.5179227,41.9895227,22.2397476,2.084068,2.1633145,27.744153,22.7936556,43.780603,14.1960267,34.6092831,64.9770446,33.658764,44.2968327,22.9653543,4.0567054,13.2811346,8.9073731,42.7662403,23.5015847 +2196,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4650152,0.522961,7.2994403,4.454291,41.6627191,22.1006055,29.7708138,68.5921422,34.6819457,44.9719364,17.9840973,5.9167446,9.6083789,9.543379,32.4287029,1.7482517,0.5027933,0.5171179,7.4389682,4.6752649,40.5678085,22.2555351,30.0139276,69.0575673,34.6564531,45.1485608,17.8505107,5.8263695,10.1611459,9.8294434,32.5969342,0.974026,0.5122717,0.5265411,7.0607176,4.5308188,41.2108462,21.353211,30.5041628,69.079556,34.1581869,44.7502313,17.1369103,5.7123034,10.2484472,9.8222222,32.2162645,1.048951,0.5485498,0.5625613,7.4819168,4.7694394,41.6056725,21.1340206,30.0587173,68.2249322,33.5365854,45.234869,16.5085818,5.8943089,10.2508651,9.5753899,31.6041848,0.3448276,0.6441387,0.6576285,7.9956427,5.1198257,42.1716055,21.3884083,29.8908297,69.0174672,33.9519651,45.5240175,16.3537118,6.3537118,10.7531381,9.2779177,32.1940928,1.5625 +2197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6892981,0.6823166,10.3512066,7.0586667,25.8390804,21.1505887,31.1027335,68.2124085,36.6448493,48.1506442,23.28061,3.7527403,12.5486677,10.8935877,35.6402776,4.399993,0.8974492,0.8906382,11.1008161,7.3740933,25.9329242,21.5043349,31.8174131,68.65837,37.4422284,48.3906782,23.7921051,4.1783413,12.076389,10.486906,35.7336124,7.8357521,0.8425621,0.8360318,11.6747397,7.6878857,25.5761313,21.5508068,31.6862673,68.6279255,37.8304839,48.6395808,24.1402903,3.8249518,12.5861547,10.8756693,37.1201658,7.2915972,0.8232445,0.816926,12.3485875,8.0595978,25.1534543,21.2065413,32.045339,68.1764,37.6633902,48.8273263,25.0290253,3.5918455,12.5551313,11.0079872,37.4413997,7.8766277,0.8951291,0.8951291,12.6721975,8.2636298,25.6387965,20.6739892,31.5403417,67.9432078,37.5570045,47.2731508,24.7454913,3.4869167,12.2935176,11.3213944,37.1445584,8.8234352 +2198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7493315,0.7667606,12.0030339,8.6507703,33.1269712,10.5360119,30.1692866,64.3623047,32.7906285,44.7990468,18.6116597,3.5306457,11.1713899,8.9920846,30.1032276,7.3934763,0.7479821,0.7718692,11.826712,8.4791397,34.0656908,10.9404048,30.271279,64.6682516,33.3075635,45.3823458,18.5760514,3.6196207,11.3844637,9.0132698,30.2942581,6.850955,0.7956602,0.8131466,12.078079,8.6609357,35.0956505,10.8904517,29.8586432,64.6431058,33.2226242,45.5053066,18.7349962,3.5971727,11.1982416,8.9711187,30.01892,7.6642261,0.7095612,0.7268929,11.9980854,8.5464902,35.6259047,10.9914083,30.1202201,64.9307936,33.3776159,45.5403373,18.3489556,3.3342657,11.0002237,8.8726076,29.3965383,8.6805455,0.727103,0.7628817,11.9260447,8.5758121,35.9015168,11.1872327,30.5064729,65.6775436,34.1593916,45.9328645,19.0181845,3.2387255,11.0161297,8.9954128,29.8743686,8.0219727 +2199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.741641,0.7914853,7.6596561,4.8706491,50.3868202,23.5235318,30.9822192,67.481822,33.2457531,43.8763125,18.4923218,6.2853671,10.2098516,8.918487,32.3983735,7.0945994,0.6466572,0.6954615,7.969299,4.9389947,49.9401536,23.4709693,30.1302353,66.831109,33.0505129,43.3898982,18.3701666,6.136542,10.3032707,9.1368627,31.4655164,6.5517287,0.58708,0.6720521,7.8803235,4.868981,48.9840694,22.6088609,29.8152543,66.3718631,32.8812891,43.5731129,18.2586464,5.8765744,10.6867317,9.4594624,32.3872496,6.1290362,0.5398506,0.6231542,7.9209764,5.0057474,49.3544599,22.3518139,30.3094771,66.2862707,32.3597638,44.0812327,18.0464181,5.7059975,10.4135362,9.3750021,31.1555886,5.0000029,0.4588761,0.5412097,8.1364278,4.9733171,49.2482631,22.7358475,29.5723561,65.4639236,31.8633037,43.5853343,17.6975916,5.7464697,10.088694,9.3634366,31.3659981,3.1073464 +2200,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5991742,0.6059932,10.752749,7.4382287,44.8262414,19.3842132,32.4001198,67.4683754,36.9216366,44.1770627,22.2530018,4.3507241,10.8631285,10.186572,36.715968,7.3378764,0.7099394,0.7263167,11.1952979,7.6734182,43.9353771,19.2306599,32.3830664,67.8270565,37.1650082,43.6808977,22.5040301,4.3746729,10.2681576,9.6877013,36.4191634,8.3038869,0.7733529,0.7762797,11.8453238,8.3961942,44.3789379,19.1010954,32.5044145,67.8303839,37.5546585,43.4035547,22.1978694,4.5220323,10.3504153,9.2654454,35.4890884,9.1695438,0.6989246,0.7094442,12.1886975,8.6886261,44.3258429,18.8057099,32.1769174,67.999457,37.3233011,42.9488327,22.363671,4.629178,10.0182222,9.0013472,34.9097458,8.3904883,0.7248541,0.7326734,12.9213729,9.2475425,45.120057,18.2477092,32.0945602,67.8274481,36.9884703,43.0733399,22.0738995,4.5442942,10.4855712,9.2288757,35.1901169,8.7744034 +2201,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8974492,0.8906382,11.1008161,7.3740933,25.9329242,21.5043349,31.8174131,68.65837,37.4422284,48.3906782,23.7921051,4.1783413,12.076389,10.486906,35.7336124,7.8357521,0.8425621,0.8360318,11.6747397,7.6878857,25.5761313,21.5508068,31.6862673,68.6279255,37.8304839,48.6395808,24.1402903,3.8249518,12.5861547,10.8756693,37.1201658,7.2915972,0.8232445,0.816926,12.3485875,8.0595978,25.1534543,21.2065413,32.045339,68.1764,37.6633902,48.8273263,25.0290253,3.5918455,12.5551313,11.0079872,37.4413997,7.8766277,0.8951291,0.8951291,12.6721975,8.2636298,25.6387965,20.6739892,31.5403417,67.9432078,37.5570045,47.2731508,24.7454913,3.4869167,12.2935176,11.3213944,37.1445584,8.8234352,0.920995,0.9304797,12.6110358,8.0867484,25.5405647,20.9818274,32.4736295,67.434266,37.4665937,47.0727357,24.6244375,3.2594962,11.9269201,11.5059587,38.0076575,9.5277584 +2202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4500202,0.4590148,7.2791022,4.6423579,45.022563,19.622172,29.4158501,67.2183628,35.6745535,42.6008288,20.1251733,7.9972159,8.94161,6.7207096,35.954769,3.0701763,0.4203898,0.4297138,7.5507241,4.6231899,45.3893469,19.6658056,28.9739849,67.066479,35.2745739,42.5577992,19.869941,7.7601127,9.2174413,6.8337714,35.2272808,2.5757584,0.4469094,0.4557379,7.8099149,4.8622581,45.2759263,20.029913,29.1050831,66.4340448,34.8248583,41.7214019,19.1981414,7.6491493,10.0911167,6.8577974,35.0616729,3.2012205,0.4517166,0.4600798,8.4841285,5.2320974,45.8909584,19.9715206,28.9917028,65.1503372,34.175746,40.9668221,18.7791633,7.4002054,10.4523242,7.327586,35.562368,3.1626525,0.4637957,0.4685295,8.7841318,5.5015727,46.3684883,20.0650185,29.2174119,65.1334561,33.3894869,39.8678419,18.7743,7.3982906,10.4793961,7.5618481,36.0756883,2.9141122 +2203,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5027933,0.5171179,7.4389682,4.6752649,40.5678085,22.2555351,30.0139276,69.0575673,34.6564531,45.1485608,17.8505107,5.8263695,10.1611459,9.8294434,32.5969342,0.974026,0.5122717,0.5265411,7.0607176,4.5308188,41.2108462,21.353211,30.5041628,69.079556,34.1581869,44.7502313,17.1369103,5.7123034,10.2484472,9.8222222,32.2162645,1.048951,0.5485498,0.5625613,7.4819168,4.7694394,41.6056725,21.1340206,30.0587173,68.2249322,33.5365854,45.234869,16.5085818,5.8943089,10.2508651,9.5753899,31.6041848,0.3448276,0.6441387,0.6576285,7.9956427,5.1198257,42.1716055,21.3884083,29.8908297,69.0174672,33.9519651,45.5240175,16.3537118,6.3537118,10.7531381,9.2779177,32.1940928,1.5625,0.5708143,0.5846858,7.9616414,5.0624442,41.8302145,21.09375,29.590459,68.2943294,33.8658866,45.3870387,15.7740774,5.9630963,10.8355091,9.6338274,33.5237258,1.5243902 +2204,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1359111,1.1583258,16.8820035,12.8839539,30.6071685,18.0334139,38.2345759,61.7160686,34.8765686,46.5555631,21.0987817,3.0740813,11.9757619,9.5991162,32.7349475,15.9313335,0.961633,0.9803468,16.6748062,12.9611505,31.6400998,18.3025537,38.0049657,62.0198422,35.0062167,46.4312373,21.1772205,3.0855049,12.2503866,9.8656789,33.3492419,13.9810294,0.9729765,0.9756262,17.2942845,13.4806293,32.7274627,18.3122007,38.0770967,61.7510198,35.3266928,46.1320978,21.2549066,3.2785618,12.6919069,9.7331826,33.6226464,12.2767912,1.0065557,1.013712,17.8546328,13.8842948,33.4736702,18.7021643,38.393061,62.9724833,36.0766296,46.830004,21.7142055,3.4260651,12.9679344,9.7415612,34.0601403,14.4308654,0.9603849,0.9785047,18.3743197,14.2807589,34.7863695,18.4930438,38.7000126,63.6701347,35.9229706,46.5285772,21.7979307,3.4594932,13.8235054,10.0174028,34.4725612,13.1294746 +2205,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9918297,1.0084076,14.036166,10.4187356,64.5044205,8.3904706,27.6572308,61.389852,29.203275,37.3962562,15.1562317,5.8093147,11.074734,8.4730107,37.2596835,8.4319377,1.0012432,1.0142614,14.2770849,10.6011883,65.1921304,8.2442805,27.7303103,61.0710904,28.9935719,37.2739574,14.8359396,5.8188466,11.4792042,8.663549,37.7921904,8.6606993,0.9421797,0.9563828,14.7603001,11.0590307,65.954608,8.3333618,27.7455619,60.5730803,28.5846521,37.0328799,14.6056627,5.6335412,11.8924738,8.9187628,37.6097815,8.7662188,0.9407645,0.9653159,15.2289428,11.5320956,67.1065598,8.1227512,27.9868065,59.73709,28.0290309,36.6242035,14.4833691,5.50855,12.3284143,9.1621768,37.811922,9.1202191,0.9028335,0.9254876,15.5930067,11.8883824,67.8373209,8.2593636,27.95333,59.4232159,27.9065942,36.6749769,14.6278666,5.5384328,12.3707641,9.2806417,37.8831561,8.8069637 +2206,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8692805,1.861944,32.5890317,28.421711,65.9138941,13.8727689,36.1765437,63.5293921,28.8437991,40.5801127,16.8376636,2.480826,17.4522655,14.0450985,40.9581802,18.9750167,2.1059951,2.0984959,32.6946744,28.4381089,66.0437422,13.6883846,36.619675,63.7576941,28.7126234,40.2384892,17.1011181,2.4342256,17.7400953,14.4701718,40.4966115,19.5223835,2.0593697,2.1280053,32.1689225,27.8436996,66.922398,13.3272624,35.8555828,62.6582098,28.0396244,39.8382905,16.8379714,2.3235012,18.4013195,14.9953534,41.0389875,20.2996837,2.1096699,2.2132695,31.9655604,27.6474555,66.1054133,13.3027677,36.2554462,62.4045619,28.1511211,39.9680578,16.8096907,2.5496454,18.0538692,15.1254037,40.4310038,19.5889922,1.9858451,2.1297275,31.8648722,27.4324547,66.6188356,13.0676826,35.8561812,61.8365116,27.643656,39.7755209,16.0276769,2.3285641,17.5841489,14.2955062,41.110322,20.4053563 +2207,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7084711,1.6966314,27.2288874,22.4984777,56.2770504,17.3399852,38.1771578,63.0167813,33.9966252,44.7505113,21.1474767,2.9665405,12.540288,11.8666404,34.3070973,17.8721866,1.5825761,1.5574828,27.3906133,22.4867138,56.5960806,17.7909806,38.9541666,63.566146,34.1675825,44.8495282,21.3022807,3.1412225,12.909208,11.683983,33.8536074,18.1705212,1.7297044,1.7045023,27.0609179,22.3930724,56.4251321,17.9014408,39.6093232,63.410495,34.0896545,45.2990372,21.4534707,3.2988817,13.5679662,11.8986958,34.1803022,17.4266931,1.6374534,1.6124996,27.6674383,22.8521031,56.6527533,18.2949515,39.9463266,63.4635374,33.7681662,45.0994761,21.5383917,3.1317011,12.8286991,10.7270619,34.2550524,17.637529,1.4620222,1.437176,27.5458594,22.8272578,57.2025788,17.8408743,39.9889731,63.7458305,33.9218955,45.1626919,21.7439976,3.03356,13.0233604,10.9737712,34.1453608,16.2974735 +2208,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7824565,0.7952573,11.7566986,8.0780057,44.424551,10.4780303,27.8783348,69.2257446,39.8642554,43.0115616,21.6943248,4.4595254,9.7429317,7.4150462,36.3627314,8.7863464,0.8261264,0.8304792,12.2329184,8.451196,44.633025,10.2463852,28.6566446,69.0576461,39.8045123,42.7418516,21.4887258,4.5162887,9.7596678,7.6629477,36.5615704,9.5084088,0.814492,0.8301306,12.7633119,9.0470967,44.5236627,10.2482316,28.5096904,68.7580741,39.6671666,42.5186251,21.0680622,4.535517,9.8221079,7.3070293,36.3066519,10.6622517,0.8340283,0.8699327,13.0334749,9.3333973,44.0612809,10.2786101,28.6699962,68.3255077,39.8169922,42.2147159,20.6253717,4.6829107,10.078311,7.4775955,36.9078961,11.3316261,0.920225,0.9453907,13.8092491,9.9961397,44.0377367,10.0973931,28.5969675,68.3785915,39.7381434,41.8639468,20.702487,4.7395874,9.8886008,7.9000363,36.9813798,11.6379296 +2209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6172929,0.6125678,12.8053445,9.7709678,30.6234138,17.1722428,34.3008506,68.0975951,37.1053709,47.6575793,21.6135013,4.4087929,12.6565641,10.5874121,28.9098573,5.6489438,0.65937,0.6746355,12.9950157,10.2373711,31.5428811,17.1594682,34.1999952,66.937525,37.3886709,47.4084458,21.6797408,4.5117411,12.5782311,10.8061195,29.0710835,5.5105958,0.7082276,0.7232345,13.3020085,10.413398,32.749942,17.552153,34.1460991,67.0833048,37.7168859,48.1461339,21.4346238,4.9219741,12.2752416,10.5455342,28.3528763,4.3213062,0.8450832,0.8596572,13.19446,10.1527349,34.273874,17.7932619,34.6472357,67.4425124,37.8222403,48.0208834,21.714446,4.9228647,12.6640804,10.6516768,27.5821589,4.7543124,0.8164,0.8310257,13.3188812,10.18037,35.5137142,18.5526923,34.5747002,67.1750391,37.7458132,48.2384925,21.4645406,4.8498856,12.0708113,10.5133632,26.9340773,4.0086587 +2210,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0012432,1.0142614,14.2770849,10.6011883,65.1921304,8.2442805,27.7303103,61.0710904,28.9935719,37.2739574,14.8359396,5.8188466,11.4792042,8.663549,37.7921904,8.6606993,0.9421797,0.9563828,14.7603001,11.0590307,65.954608,8.3333618,27.7455619,60.5730803,28.5846521,37.0328799,14.6056627,5.6335412,11.8924738,8.9187628,37.6097815,8.7662188,0.9407645,0.9653159,15.2289428,11.5320956,67.1065598,8.1227512,27.9868065,59.73709,28.0290309,36.6242035,14.4833691,5.50855,12.3284143,9.1621768,37.811922,9.1202191,0.9028335,0.9254876,15.5930067,11.8883824,67.8373209,8.2593636,27.95333,59.4232159,27.9065942,36.6749769,14.6278666,5.5384328,12.3707641,9.2806417,37.8831561,8.8069637,0.8836037,0.9281469,15.6988521,12.0148605,68.6704794,8.1513343,27.7465397,60.06182,27.648026,36.7182584,14.4438983,5.4897474,12.4914176,9.352276,37.9002308,8.3465695 +2211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2778191,1.3844887,22.2092874,16.9452772,82.4050571,16.019519,34.4993109,66.0008773,36.8883934,40.2287516,18.6171106,4.8784208,12.2403736,12.2256896,36.1618601,13.4922705,1.434663,1.5420813,21.8586922,16.305801,82.7321175,16.3179111,35.7099156,64.6669721,37.4154048,41.0922912,18.9767635,4.9695636,13.8094071,13.3068688,37.5509425,13.7501994,1.6703993,1.7757715,21.244547,16.2968589,83.0697305,15.8132669,35.7815826,64.0309074,37.0300117,40.7183145,19.5302912,4.7183953,13.9639192,13.7200018,37.4398387,10.7894737,1.5871576,1.6936937,20.3592202,16.2185068,83.2385745,15.3388408,36.0296997,64.0963557,37.1605414,41.5039477,20.0430548,5.1287081,13.9472138,13.3540784,37.1949496,9.7373392,1.6381379,1.6871616,19.9191657,15.9162711,83.570508,15.3533695,34.511583,63.8359792,36.6093395,41.6358808,19.8786965,5.1847821,13.9382771,12.578562,38.678469,12.1475584 +2212,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.93178,0.921178,15.1817549,11.1465715,47.1871573,12.9687664,30.4756129,65.1887871,33.8758259,40.3212129,18.1311297,3.9857188,12.120308,8.4338725,34.1746481,11.0508035,0.8773271,0.8668322,15.1981053,11.1353681,48.1753814,13.2546355,30.5073906,64.4144704,33.4002852,39.9716877,17.6329813,4.1637965,12.1994653,8.5127911,33.8627792,11.1784852,0.9202237,0.9136331,15.6190123,11.6499457,48.8472124,13.0967204,30.1680268,64.1591972,33.6657723,40.7994125,17.8766816,4.288531,11.6691275,8.5068798,33.4114436,11.6013782,0.8649763,0.864064,15.9144737,11.9996834,49.5665804,13.1020419,30.8774508,63.9924037,33.2743495,40.8289988,18.5028792,4.3553639,11.8485818,8.971756,33.8829474,12.5,0.9625009,0.9705324,15.9042494,11.8951782,50.3714872,12.9512771,30.7057555,64.6000571,34.1975855,41.4930663,19.0015447,4.4517905,11.7222873,9.088249,33.8295733,13.0952381 +2213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8588817,0.8528079,10.2960174,6.5680086,21.920927,16.8298063,34.6590928,68.8817497,40.1268181,49.5635708,23.7895183,4.0760859,11.0991645,9.6679931,32.9770861,5.8718882,0.9201266,0.9148539,10.3730258,6.7698453,22.0104206,16.8583743,34.8626036,69.1118726,40.5544783,49.8609896,23.8223706,4.1625788,10.7056985,9.5159253,32.9748764,5.8098592,0.8866873,0.8962814,10.6176252,7.0861927,21.7746068,16.8359935,35.0023656,68.9071971,40.7386884,50.032079,24.3470714,4.1259446,10.996815,9.6142652,32.7531234,4.9319761,0.8158736,0.8227188,10.7871615,7.3333403,21.920738,16.6885016,34.8131194,69.0723896,40.8317053,50.2893866,24.2973016,4.1584008,10.9018075,9.6912976,32.9892788,5.1418476,0.8195207,0.8234739,10.8572007,7.3581182,21.6085484,16.4626766,34.9656622,68.756398,40.9863126,50.0257676,24.0566187,4.2624376,11.4324982,9.8990113,32.2486545,5.7835886 +2214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2214447,1.2782858,22.87962,18.6646583,34.6240759,16.6529676,34.4873473,65.898253,37.5585764,46.0075637,20.8079323,3.3624739,13.6822663,9.9856111,34.1905985,21.3511328,1.2268401,1.2796573,22.7691844,18.7322262,35.0678252,16.6307867,33.9162117,65.8196244,37.9253531,46.3789829,21.1422119,3.3324041,14.1582102,10.4561398,34.9177021,21.6106357,1.2590511,1.3390538,23.0264903,19.0532287,35.5478087,16.1744502,33.0449371,65.0661624,37.3467216,46.0741425,20.6228777,3.3250755,14.5596353,10.249468,34.9602996,23.3934742,1.2356756,1.3106419,24.4719048,20.5463735,36.494061,16.7264264,33.5085185,64.6188207,36.9221594,45.9477658,20.4794037,3.372689,14.4856683,10.3664322,34.2642645,21.2538551,1.1555448,1.2381241,25.1557976,21.0170271,37.9008224,16.2189512,34.1924168,64.6833497,36.2715005,45.9444697,20.363809,3.3838488,13.646968,10.0816064,35.1189143,21.0755952 +2215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4788751,0.5186078,9.5530194,6.3739256,33.0763916,23.0634994,31.0230595,65.7246569,33.4859065,44.0952976,18.1085887,7.5939243,13.0958727,10.0154789,31.8740771,4.0780142,0.5073943,0.5542976,9.6981852,6.3030345,33.0088812,23.0928945,30.865167,64.9984196,32.7596529,43.2743123,17.3823424,7.3413163,13.0187919,9.8658304,31.7127796,3.8745387,0.5486138,0.5891165,9.580726,6.2888072,34.2805707,22.1610431,31.011464,64.2414001,31.9732523,42.8326781,16.8010831,7.1517076,12.9897552,10.5028419,32.6574064,3.9622642,0.6095583,0.6538361,9.5561349,6.4462395,33.8052433,22.0529312,31.2537796,64.2835567,31.3751667,43.275578,16.6211193,7.331494,12.2266329,9.9911976,33.1362977,4.1970803,0.5176187,0.5466706,9.9710305,6.7583037,33.5827473,22.0923238,31.0790971,63.772559,31.3408329,42.7427972,16.1867255,7.1407764,12.0139517,9.7233883,33.777754,3.9249147 +2216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4203898,0.4297138,7.5507241,4.6231899,45.3893469,19.6658056,28.9739849,67.066479,35.2745739,42.5577992,19.869941,7.7601127,9.2174413,6.8337714,35.2272808,2.5757584,0.4469094,0.4557379,7.8099149,4.8622581,45.2759263,20.029913,29.1050831,66.4340448,34.8248583,41.7214019,19.1981414,7.6491493,10.0911167,6.8577974,35.0616729,3.2012205,0.4517166,0.4600798,8.4841285,5.2320974,45.8909584,19.9715206,28.9917028,65.1503372,34.175746,40.9668221,18.7791633,7.4002054,10.4523242,7.327586,35.562368,3.1626525,0.4637957,0.4685295,8.7841318,5.5015727,46.3684883,20.0650185,29.2174119,65.1334561,33.3894869,39.8678419,18.7743,7.3982906,10.4793961,7.5618481,36.0756883,2.9141122,0.4245225,0.4324798,8.7893138,5.590798,46.9959363,20.2709815,28.8381214,64.9216771,32.754575,39.986952,17.4804238,6.9843377,10.4727116,7.5416792,36.1648507,3.376208 +2217,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.9585652,0.9828433,16.3640608,12.3552808,50.1169722,12.6726776,29.1835769,63.1989879,29.1430621,41.9671674,14.5968786,4.7913315,13.3136581,10.5310892,31.9459462,9.8288388,0.8471505,0.8899901,16.3937916,12.6082937,51.4804695,12.9633021,28.8600683,63.379655,29.4029651,42.3502016,14.7266154,4.6743145,13.2361137,10.8941392,31.5867159,9.1527599,0.8540186,0.8958175,16.502319,12.8372879,52.7666745,12.8995709,28.9214009,64.2440771,28.9214271,42.9536389,14.7883376,4.6270461,13.1854345,10.9738517,31.52756,8.1114333,0.8153142,0.8571052,16.9424641,13.3548576,54.3359909,12.9336216,28.5642684,64.9023109,29.1894229,42.6799818,14.6703331,4.6279589,13.2212426,11.0662104,31.2536469,7.089298,0.7937958,0.8243267,16.5654903,13.1448668,55.4929981,12.7538398,27.7523002,65.7859023,29.6669976,42.4312078,14.3897394,4.6370248,13.063605,11.1448516,30.3559252,8.5953982 +2218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.849491,0.9985245,14.4843959,10.7201076,50.0813122,30.5686811,34.2697567,68.7798861,32.3436454,42.7766212,18.860144,6.0193486,13.6655589,9.7755242,35.1304848,7.3644267,0.9436977,1.095907,13.9165906,10.7499677,51.0832237,29.6925845,33.6347906,69.3254505,32.3192284,43.0095182,18.9964983,5.6744261,12.7060481,10.0326158,35.4024501,6.9672988,0.9008434,1.0566088,13.1669287,10.4131113,50.3394783,29.0562864,34.3169337,70.9104599,33.1367313,44.9406104,20.1515536,6.1552316,12.3308243,9.2589413,33.3902409,9.1305142,0.8596311,1.0173616,13.7304176,10.7943844,50.7785122,27.963265,35.5687589,70.7130645,35.3990625,45.7552976,19.4395349,6.5364953,11.1292916,10.0990417,33.6147016,9.5454979,1.2173335,1.380734,14.831202,11.1011544,49.9103037,29.2027806,37.2358462,71.3909326,38.1161388,47.6231221,21.21461,6.602106,7.7584096,7.4135761,32.9268803,10.1942242 +2219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7583378,0.7696795,9.5258646,6.3402879,44.3232518,13.1412632,30.003714,65.3698728,31.8221192,42.4233101,18.7592785,14.4173667,10.3749509,8.3119194,37.4087231,4.0772526,0.7972681,0.8480754,9.9852503,6.6056284,44.8732704,13.1931508,30.4114197,65.1037875,31.6839671,42.1979321,18.7237485,14.3254246,10.5078637,8.0722196,37.7263138,3.8951836,0.7778755,0.8322498,10.0428363,6.7013462,45.1751013,13.3890952,30.3408838,64.736651,31.903768,42.376333,18.5515691,14.4166868,10.685557,8.3287212,37.9199502,4.06562,0.7090994,0.7484076,9.8812988,6.5039158,45.5997462,13.4075098,30.1449787,64.0189234,31.1401917,41.5345944,18.39907,14.6762497,10.7995725,8.2648293,37.9570407,3.2142848,0.6272277,0.6609659,9.9349662,6.4162118,45.8368881,13.3305818,30.3190844,63.7999302,31.1459178,41.6501772,18.0913048,14.7956212,10.7799646,8.4839917,37.5721067,3.9202195 +2220,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9421797,0.9563828,14.7603001,11.0590307,65.954608,8.3333618,27.7455619,60.5730803,28.5846521,37.0328799,14.6056627,5.6335412,11.8924738,8.9187628,37.6097815,8.7662188,0.9407645,0.9653159,15.2289428,11.5320956,67.1065598,8.1227512,27.9868065,59.73709,28.0290309,36.6242035,14.4833691,5.50855,12.3284143,9.1621768,37.811922,9.1202191,0.9028335,0.9254876,15.5930067,11.8883824,67.8373209,8.2593636,27.95333,59.4232159,27.9065942,36.6749769,14.6278666,5.5384328,12.3707641,9.2806417,37.8831561,8.8069637,0.8836037,0.9281469,15.6988521,12.0148605,68.6704794,8.1513343,27.7465397,60.06182,27.648026,36.7182584,14.4438983,5.4897474,12.4914176,9.352276,37.9002308,8.3465695,0.8364918,0.8659114,15.9270073,12.3916875,69.7211603,8.0741908,27.2547953,60.4450926,27.6833401,36.5393371,14.282147,5.3734675,12.6981766,9.4628997,37.6256277,8.3246767 +2221,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.4600671,1.5092979,30.0406859,24.4366583,51.4439949,11.4667426,39.4600064,65.4850023,32.3482392,49.1734213,26.2847487,6.6814577,16.5250632,13.1640797,35.0737707,19.3327147,1.3781187,1.4147876,30.6575198,24.7290873,50.5975578,11.6391223,39.2769298,65.9174477,32.8260059,49.7861878,26.4842423,6.6134023,17.4328292,14.3239131,35.8751286,16.375031,1.2054661,1.2418883,31.3966728,25.2841559,50.9231881,11.5547889,39.2038061,65.390821,33.131864,48.8057718,25.975083,6.2342606,18.0082262,14.591011,36.3421969,15.5597011,0.9300769,0.9668587,30.8045369,24.904672,50.3534086,11.7157056,39.1836326,65.2772933,33.4108682,48.9443114,25.7590601,5.7558524,17.6286382,14.2898853,34.8733277,16.6659916,0.862507,0.8987676,30.2799959,24.2275113,49.8686261,12.5315551,38.8891641,65.142393,32.9157869,49.080255,25.5686816,5.8973539,16.7981882,13.4604194,35.1526341,16.056284 +2222,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1059951,2.0984959,32.6946744,28.4381089,66.0437422,13.6883846,36.619675,63.7576941,28.7126234,40.2384892,17.1011181,2.4342256,17.7400953,14.4701718,40.4966115,19.5223835,2.0593697,2.1280053,32.1689225,27.8436996,66.922398,13.3272624,35.8555828,62.6582098,28.0396244,39.8382905,16.8379714,2.3235012,18.4013195,14.9953534,41.0389875,20.2996837,2.1096699,2.2132695,31.9655604,27.6474555,66.1054133,13.3027677,36.2554462,62.4045619,28.1511211,39.9680578,16.8096907,2.5496454,18.0538692,15.1254037,40.4310038,19.5889922,1.9858451,2.1297275,31.8648722,27.4324547,66.6188356,13.0676826,35.8561812,61.8365116,27.643656,39.7755209,16.0276769,2.3285641,17.5841489,14.2955062,41.110322,20.4053563,2.0037091,2.1127292,30.7973826,26.5774383,66.4686407,12.9370136,35.7866024,61.9415781,28.3628778,39.9008033,16.5865884,2.1772516,17.8828163,14.6093732,42.6067662,21.0164055 +2223,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.130314,1.1219467,17.2046677,13.6080152,61.1202206,14.3369004,30.4579977,62.1877172,33.4790489,39.1663797,18.1943591,3.6885617,15.1492403,12.3599097,36.6667513,9.9787284,1.2274163,1.2191369,16.9605038,13.138727,61.8467896,13.9909999,30.6623504,62.4258971,32.6388961,39.1846375,17.9735039,3.6016941,15.1938653,12.2522174,35.4109656,8.6396043,1.4590426,1.4508434,17.9156793,13.759345,62.6079159,13.8918978,30.4119631,62.2893727,31.793258,38.9811265,17.4374393,3.5262134,14.5401984,12.0407482,35.4980639,8.620305,1.4372737,1.4291458,18.383208,14.5243216,62.7702857,13.8940039,29.8961937,62.2991712,31.9558741,39.6494701,17.6437944,3.2659921,15.5167396,12.7168614,35.5829238,9.9463951,1.5221594,1.5691246,18.6298824,14.6717122,62.8540301,13.7907646,29.6220047,61.4713156,31.4526179,39.0371955,17.2413019,3.3228458,15.2942067,12.1936964,36.6161649,10.2846191 +2224,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0932479,2.1372867,31.7056168,27.845066,51.516967,16.7795643,35.3926153,65.2864105,32.2083029,44.0009889,21.4476134,2.4322816,13.1591811,10.5957034,39.568256,27.072611,2.1541165,2.1839017,32.2975014,28.2480212,53.3731586,16.5586007,35.2414941,65.9642705,32.7167409,44.0479693,20.9838796,2.4527529,13.9137901,10.9836994,39.7574185,27.631437,2.2545383,2.2905236,32.4667841,28.2954819,54.7527018,16.6900377,35.6253105,66.254174,33.0344247,44.1362002,21.0503181,2.4622266,14.3958389,10.6776357,39.8330418,25.8620733,2.2988089,2.3283018,33.6187309,29.3299224,55.9641984,16.5984339,35.8458748,66.4114725,33.7280895,43.3410426,20.8274623,2.4100854,14.2500904,10.424878,39.7793369,25.1676759,2.2418539,2.2764811,34.4948699,29.9867295,57.1653228,16.1180358,36.0752339,66.3236103,33.6768497,43.4116786,20.7815519,2.130312,14.832946,10.7871497,39.4662672,24.8328484 +2225,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6439136,0.7040463,11.8442766,7.7071341,40.9460418,17.5209097,31.531516,64.5834367,32.9412732,43.4903968,18.7764937,4.3814191,10.7107331,8.3313138,33.2226301,8.5064209,0.6796955,0.7369176,12.127306,7.9419497,40.7323527,17.7980003,32.0915238,64.2526368,32.7396696,43.2836516,18.4653474,4.5430022,10.6470615,8.0659467,33.6144632,8.604281,0.7198115,0.7564692,12.0086277,7.8996373,41.7334611,17.4331066,32.3913803,63.9201342,32.5048564,42.6974791,18.1588242,4.7173098,10.833246,7.896478,33.4000206,9.0756159,0.7535448,0.7940021,12.3307146,8.2509531,42.3497039,17.5091615,32.5606476,63.0702926,31.4664294,42.2331577,17.8789618,4.7432403,10.5469162,7.8879315,33.1800994,9.8363977,0.7173651,0.7218189,12.3548938,8.2810209,43.2578573,17.4289577,33.0228,62.4048744,30.8647477,41.8112308,18.0916718,4.510762,10.5401518,7.9173455,32.6928621,9.9432613 +2226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6796955,0.7369176,12.127306,7.9419497,40.7323527,17.7980003,32.0915238,64.2526368,32.7396696,43.2836516,18.4653474,4.5430022,10.6470615,8.0659467,33.6144632,8.604281,0.7198115,0.7564692,12.0086277,7.8996373,41.7334611,17.4331066,32.3913803,63.9201342,32.5048564,42.6974791,18.1588242,4.7173098,10.833246,7.896478,33.4000206,9.0756159,0.7535448,0.7940021,12.3307146,8.2509531,42.3497039,17.5091615,32.5606476,63.0702926,31.4664294,42.2331577,17.8789618,4.7432403,10.5469162,7.8879315,33.1800994,9.8363977,0.7173651,0.7218189,12.3548938,8.2810209,43.2578573,17.4289577,33.0228,62.4048744,30.8647477,41.8112308,18.0916718,4.510762,10.5401518,7.9173455,32.6928621,9.9432613,0.6923255,0.7126081,12.3951259,8.5356299,44.7064459,17.9231045,32.9756951,62.3346343,30.4455109,41.9613895,17.7853722,4.4041709,10.6775937,7.8207198,31.9412636,7.5787036 +2227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.2274163,1.2191369,16.9605038,13.138727,61.8467896,13.9909999,30.6623504,62.4258971,32.6388961,39.1846375,17.9735039,3.6016941,15.1938653,12.2522174,35.4109656,8.6396043,1.4590426,1.4508434,17.9156793,13.759345,62.6079159,13.8918978,30.4119631,62.2893727,31.793258,38.9811265,17.4374393,3.5262134,14.5401984,12.0407482,35.4980639,8.620305,1.4372737,1.4291458,18.383208,14.5243216,62.7702857,13.8940039,29.8961937,62.2991712,31.9558741,39.6494701,17.6437944,3.2659921,15.5167396,12.7168614,35.5829238,9.9463951,1.5221594,1.5691246,18.6298824,14.6717122,62.8540301,13.7907646,29.6220047,61.4713156,31.4526179,39.0371955,17.2413019,3.3228458,15.2942067,12.1936964,36.6161649,10.2846191,1.4429417,1.5148698,18.6306782,14.5356804,63.9286383,12.8751992,29.9558209,61.8424098,30.8178279,38.8681573,16.1793072,3.1412434,16.5203231,12.4141809,38.4150512,11.0823674 +2228,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8261264,0.8304792,12.2329184,8.451196,44.633025,10.2463852,28.6566446,69.0576461,39.8045123,42.7418516,21.4887258,4.5162887,9.7596678,7.6629477,36.5615704,9.5084088,0.814492,0.8301306,12.7633119,9.0470967,44.5236627,10.2482316,28.5096904,68.7580741,39.6671666,42.5186251,21.0680622,4.535517,9.8221079,7.3070293,36.3066519,10.6622517,0.8340283,0.8699327,13.0334749,9.3333973,44.0612809,10.2786101,28.6699962,68.3255077,39.8169922,42.2147159,20.6253717,4.6829107,10.078311,7.4775955,36.9078961,11.3316261,0.920225,0.9453907,13.8092491,9.9961397,44.0377367,10.0973931,28.5969675,68.3785915,39.7381434,41.8639468,20.702487,4.7395874,9.8886008,7.9000363,36.9813798,11.6379296,0.9754783,1.0188096,14.5164353,10.7464247,44.0822047,10.1351988,28.6493943,68.3039123,39.8965482,42.2598702,20.6862221,4.8168177,9.9177183,8.0254649,36.6040833,11.7111636 +2229,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1973865,2.2890876,34.2415317,29.6759941,66.9440242,6.7883212,38.535503,66.9378698,26.9970414,45.6360947,16.6420118,4.8076923,13.6103152,9.8853868,33.8616715,10.6321839,2.229664,2.183109,34.947839,30.4769001,66.3312693,7.2280179,38.0484115,68.1543116,27.4583964,45.1588502,17.473525,5.8245083,14.8093842,8.6764706,33.480826,13.5542169,2.4950684,2.3103962,35.6720827,31.3884786,66.2826421,6.9852941,38.3982036,67.8892216,28.8173653,45.2844311,16.8413174,6.0628743,13.5174419,8.0174927,33.1871345,13.0813953,2.6231506,2.4324019,34.222561,30.8689024,66.6401274,7.2078907,38.9318885,66.3312693,27.0123839,44.0402477,16.9504644,6.1145511,12.9969419,9.0490798,33.0769231,13.9751553,2.2391775,2.1894262,34.4745223,30.9713376,66.8060201,7.5757576,39.233279,66.3132137,27.8140294,44.2903752,16.8841762,5.7911909,12.5,8.6319218,33.496732,14.9305556 +2230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4590426,1.4508434,17.9156793,13.759345,62.6079159,13.8918978,30.4119631,62.2893727,31.793258,38.9811265,17.4374393,3.5262134,14.5401984,12.0407482,35.4980639,8.620305,1.4372737,1.4291458,18.383208,14.5243216,62.7702857,13.8940039,29.8961937,62.2991712,31.9558741,39.6494701,17.6437944,3.2659921,15.5167396,12.7168614,35.5829238,9.9463951,1.5221594,1.5691246,18.6298824,14.6717122,62.8540301,13.7907646,29.6220047,61.4713156,31.4526179,39.0371955,17.2413019,3.3228458,15.2942067,12.1936964,36.6161649,10.2846191,1.4429417,1.5148698,18.6306782,14.5356804,63.9286383,12.8751992,29.9558209,61.8424098,30.8178279,38.8681573,16.1793072,3.1412434,16.5203231,12.4141809,38.4150512,11.0823674,1.5094305,1.5818116,18.9813773,14.535352,64.2670297,12.6532526,29.482635,61.5238632,30.46588,38.4008175,16.0587456,2.9130395,16.7106511,12.6056778,39.6940848,10.3494056 +2231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.9780673,1.9560472,35.0561485,30.3201922,54.2904625,12.7019339,38.7564551,63.6480688,34.8320217,42.9478316,20.3475225,2.51197,17.1903268,12.4979873,39.1462542,19.4223224,1.8218296,1.8087287,35.0201489,30.4421911,54.512795,12.8433669,39.3254717,63.8216164,34.5035761,43.3334519,20.5084436,2.4294027,17.3873348,11.9552853,39.5916391,19.1848784,1.7958179,1.8195425,35.2783342,30.7217247,55.0589988,12.7978427,39.7881319,63.6797674,34.6406842,43.4384204,20.8717883,2.4758704,18.0477674,11.1649819,38.6584532,19.1908546,1.8213405,1.8539677,35.5329097,31.0185344,56.2780482,12.257315,39.2425432,63.8362227,34.2353646,42.7957719,20.5750794,2.489019,18.8570005,12.1739635,39.8859589,18.553442,1.9420985,1.9614678,36.1750692,31.5054734,57.0237608,12.0804332,39.2111323,63.6722484,33.9265753,42.4827837,20.8979243,2.4962864,18.2763859,12.365698,39.9334127,18.1528662 +2232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4372737,1.4291458,18.383208,14.5243216,62.7702857,13.8940039,29.8961937,62.2991712,31.9558741,39.6494701,17.6437944,3.2659921,15.5167396,12.7168614,35.5829238,9.9463951,1.5221594,1.5691246,18.6298824,14.6717122,62.8540301,13.7907646,29.6220047,61.4713156,31.4526179,39.0371955,17.2413019,3.3228458,15.2942067,12.1936964,36.6161649,10.2846191,1.4429417,1.5148698,18.6306782,14.5356804,63.9286383,12.8751992,29.9558209,61.8424098,30.8178279,38.8681573,16.1793072,3.1412434,16.5203231,12.4141809,38.4150512,11.0823674,1.5094305,1.5818116,18.9813773,14.535352,64.2670297,12.6532526,29.482635,61.5238632,30.46588,38.4008175,16.0587456,2.9130395,16.7106511,12.6056778,39.6940848,10.3494056,1.4795211,1.5516114,18.4503614,14.0602227,64.7989483,12.7592798,29.3144206,61.6724345,30.3613416,37.8740089,16.1721783,2.8451473,16.274287,12.5839297,39.2927473,8.7243673 +2233,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7233643,0.7559574,11.4048411,7.903294,38.8399547,20.2393862,33.0057637,63.7675032,36.203812,45.4967644,21.6763957,6.0447237,9.5858405,7.914506,32.9631226,8.5215588,0.7912906,0.8235259,11.8766352,8.252542,39.4890475,20.024632,32.6516478,63.6126783,35.7364096,45.5849651,21.5720279,6.4312802,10.1129001,8.1095031,33.3086753,10.0586113,0.7135095,0.7254639,12.2085755,8.4531655,39.1646944,19.8809066,32.7191778,63.2006228,35.3875473,45.9762788,21.0292264,6.4308913,10.0220668,7.6181825,33.0076457,9.0822388,0.6610772,0.6693907,12.3413076,8.51931,39.7836448,19.5613336,32.6239639,62.9847338,35.1236314,45.6357224,20.8417811,6.4248071,10.0321467,7.737191,33.1087405,8.9350393,0.7107979,0.7197042,12.3937358,8.5908431,40.0362288,19.7187148,32.8216339,62.4645035,34.7481683,45.3183907,20.3377309,6.3896553,9.9178293,7.5712104,33.1453551,9.0361649 +2234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7996202,0.8015818,11.1653681,7.1164415,48.6023269,10.9804523,32.5674126,66.9081852,41.841291,44.9566605,24.1052789,4.7553045,11.1306697,9.6472085,39.3837751,8.6137117,0.7856073,0.7956954,11.3069106,7.3204647,48.2708364,11.2876786,31.9262385,67.5081399,42.1995306,45.4697962,24.0279595,4.8282676,10.8826606,9.4899497,39.5614679,9.225618,0.7609313,0.765004,11.0479566,7.2270102,47.1935686,11.7404248,31.5224839,67.6962573,42.8297959,45.8622837,24.5628983,4.9290764,10.7570779,9.4831856,39.1256951,9.6129846,0.7929145,0.8017278,11.237754,7.4091016,46.4617397,12.0404581,30.9568203,67.7606982,43.1601349,45.938745,24.798768,4.8702323,10.507563,9.3248623,39.039329,10.4428561,0.7706937,0.8073357,11.4732113,7.6965773,46.1656569,11.9467039,30.6216321,67.154174,42.8386675,45.6671892,24.745944,4.6596376,10.5352087,9.2772973,39.918423,10.2029506 +2235,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.961633,0.9803468,16.6748062,12.9611505,31.6400998,18.3025537,38.0049657,62.0198422,35.0062167,46.4312373,21.1772205,3.0855049,12.2503866,9.8656789,33.3492419,13.9810294,0.9729765,0.9756262,17.2942845,13.4806293,32.7274627,18.3122007,38.0770967,61.7510198,35.3266928,46.1320978,21.2549066,3.2785618,12.6919069,9.7331826,33.6226464,12.2767912,1.0065557,1.013712,17.8546328,13.8842948,33.4736702,18.7021643,38.393061,62.9724833,36.0766296,46.830004,21.7142055,3.4260651,12.9679344,9.7415612,34.0601403,14.4308654,0.9603849,0.9785047,18.3743197,14.2807589,34.7863695,18.4930438,38.7000126,63.6701347,35.9229706,46.5285772,21.7979307,3.4594932,13.8235054,10.0174028,34.4725612,13.1294746,0.9440777,0.9673111,18.6870201,14.6311169,35.5600693,19.1032176,38.554671,64.6180916,36.3455101,46.4982437,22.2208868,3.3490679,13.7541449,9.735645,34.6039112,11.5517056 +2236,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0593697,2.1280053,32.1689225,27.8436996,66.922398,13.3272624,35.8555828,62.6582098,28.0396244,39.8382905,16.8379714,2.3235012,18.4013195,14.9953534,41.0389875,20.2996837,2.1096699,2.2132695,31.9655604,27.6474555,66.1054133,13.3027677,36.2554462,62.4045619,28.1511211,39.9680578,16.8096907,2.5496454,18.0538692,15.1254037,40.4310038,19.5889922,1.9858451,2.1297275,31.8648722,27.4324547,66.6188356,13.0676826,35.8561812,61.8365116,27.643656,39.7755209,16.0276769,2.3285641,17.5841489,14.2955062,41.110322,20.4053563,2.0037091,2.1127292,30.7973826,26.5774383,66.4686407,12.9370136,35.7866024,61.9415781,28.3628778,39.9008033,16.5865884,2.1772516,17.8828163,14.6093732,42.6067662,21.0164055,2.0195296,2.1298462,30.4808792,26.2720812,66.7030225,13.0719372,35.3807808,61.1870843,27.8798781,38.5416548,15.7063759,2.248331,18.3581394,14.3483547,43.0697299,20.7520161 +2237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7972681,0.8480754,9.9852503,6.6056284,44.8732704,13.1931508,30.4114197,65.1037875,31.6839671,42.1979321,18.7237485,14.3254246,10.5078637,8.0722196,37.7263138,3.8951836,0.7778755,0.8322498,10.0428363,6.7013462,45.1751013,13.3890952,30.3408838,64.736651,31.903768,42.376333,18.5515691,14.4166868,10.685557,8.3287212,37.9199502,4.06562,0.7090994,0.7484076,9.8812988,6.5039158,45.5997462,13.4075098,30.1449787,64.0189234,31.1401917,41.5345944,18.39907,14.6762497,10.7995725,8.2648293,37.9570407,3.2142848,0.6272277,0.6609659,9.9349662,6.4162118,45.8368881,13.3305818,30.3190844,63.7999302,31.1459178,41.6501772,18.0913048,14.7956212,10.7799646,8.4839917,37.5721067,3.9202195,0.6058501,0.6381864,9.4648169,6.1171686,45.6727997,13.436942,30.5770055,63.4212271,30.7424998,41.3559245,17.8342939,14.778243,10.5995373,8.5405661,37.5925287,3.8050729 +2238,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8587238,1.9625446,24.7687533,19.7500331,46.8861483,15.5751083,43.6088992,66.0000209,36.9917126,49.8603966,25.8892394,4.0582293,10.932197,8.3378878,33.1563526,21.5446437,1.8898852,2.0076487,23.9326713,19.3138726,46.332203,15.7145359,42.4837558,66.9230624,37.8742165,49.0014467,26.6501386,3.8467422,9.4715685,7.37789,31.6259075,22.5408435,1.9813446,2.1454507,25.2482314,20.2249219,45.996266,15.7936105,41.9443924,67.1742315,38.1270356,49.0156788,26.7657101,4.2369146,9.4546382,7.5196914,33.2355317,21.1999354,2.0825671,2.2111598,24.9247374,19.7734279,45.4090509,16.6528139,42.5957673,66.2824679,38.9431444,49.8927691,26.8975552,3.8998335,9.3889266,7.9284419,33.9382873,24.5596942,2.0471432,2.1815508,24.3398063,19.1771398,45.986095,16.890546,42.4226243,66.0247446,39.3294504,49.4238745,26.6466582,3.5572107,10.3720062,8.1881283,33.5925965,25.7080013 +2240,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5241821,2.538991,39.1959779,34.0138441,51.0857409,18.9434279,38.1485013,65.4681261,32.1752114,46.5798572,21.3297724,4.0249677,13.4828937,13.0580801,33.2014784,24.7839171,2.5928214,2.6370547,38.2189836,33.193973,51.7717762,19.156849,37.775913,65.1709693,32.4075189,46.5299009,21.002616,3.7469851,14.6267677,13.8494156,33.7169041,24.4688934,2.5479232,2.5928444,37.9713941,32.7541195,52.6075968,18.8216988,37.7286491,64.30504,31.7437011,46.9737172,20.3173265,3.4341645,14.7871687,13.5969185,34.0253553,23.3105782,2.5202949,2.5705423,38.4873753,33.0896482,54.2587402,19.413492,37.5994648,64.0456755,32.2982186,45.812552,20.7235736,3.5237739,16.3004853,14.017176,34.3570993,23.7502749,2.4318863,2.4844491,36.3024499,31.1647581,53.5650082,19.240548,36.8692176,63.9048336,31.6658115,44.8453966,20.3103707,3.0750982,17.2180406,14.2893829,34.5923961,25.4456982 +2241,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8773271,0.8668322,15.1981053,11.1353681,48.1753814,13.2546355,30.5073906,64.4144704,33.4002852,39.9716877,17.6329813,4.1637965,12.1994653,8.5127911,33.8627792,11.1784852,0.9202237,0.9136331,15.6190123,11.6499457,48.8472124,13.0967204,30.1680268,64.1591972,33.6657723,40.7994125,17.8766816,4.288531,11.6691275,8.5068798,33.4114436,11.6013782,0.8649763,0.864064,15.9144737,11.9996834,49.5665804,13.1020419,30.8774508,63.9924037,33.2743495,40.8289988,18.5028792,4.3553639,11.8485818,8.971756,33.8829474,12.5,0.9625009,0.9705324,15.9042494,11.8951782,50.3714872,12.9512771,30.7057555,64.6000571,34.1975855,41.4930663,19.0015447,4.4517905,11.7222873,9.088249,33.8295733,13.0952381,0.8911072,0.912481,16.2538131,12.2231536,51.2330832,12.5077402,30.9504175,64.5115082,33.9152584,41.6110526,18.4000962,4.537174,11.9066956,8.9595563,34.0392073,13.3223684 +2242,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7912906,0.8235259,11.8766352,8.252542,39.4890475,20.024632,32.6516478,63.6126783,35.7364096,45.5849651,21.5720279,6.4312802,10.1129001,8.1095031,33.3086753,10.0586113,0.7135095,0.7254639,12.2085755,8.4531655,39.1646944,19.8809066,32.7191778,63.2006228,35.3875473,45.9762788,21.0292264,6.4308913,10.0220668,7.6181825,33.0076457,9.0822388,0.6610772,0.6693907,12.3413076,8.51931,39.7836448,19.5613336,32.6239639,62.9847338,35.1236314,45.6357224,20.8417811,6.4248071,10.0321467,7.737191,33.1087405,8.9350393,0.7107979,0.7197042,12.3937358,8.5908431,40.0362288,19.7187148,32.8216339,62.4645035,34.7481683,45.3183907,20.3377309,6.3896553,9.9178293,7.5712104,33.1453551,9.0361649,0.716408,0.7255198,12.4953723,8.5883349,40.6283027,19.8145368,32.5429211,62.4784772,35.2094098,45.5995017,20.2744741,6.3903655,9.8185771,7.7121092,33.4476324,8.5884679 +2243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7856073,0.7956954,11.3069106,7.3204647,48.2708364,11.2876786,31.9262385,67.5081399,42.1995306,45.4697962,24.0279595,4.8282676,10.8826606,9.4899497,39.5614679,9.225618,0.7609313,0.765004,11.0479566,7.2270102,47.1935686,11.7404248,31.5224839,67.6962573,42.8297959,45.8622837,24.5628983,4.9290764,10.7570779,9.4831856,39.1256951,9.6129846,0.7929145,0.8017278,11.237754,7.4091016,46.4617397,12.0404581,30.9568203,67.7606982,43.1601349,45.938745,24.798768,4.8702323,10.507563,9.3248623,39.039329,10.4428561,0.7706937,0.8073357,11.4732113,7.6965773,46.1656569,11.9467039,30.6216321,67.154174,42.8386675,45.6671892,24.745944,4.6596376,10.5352087,9.2772973,39.918423,10.2029506,0.7809548,0.8116452,11.6534506,7.7477375,46.038007,11.5826618,30.6490578,66.9292714,42.1544388,45.5256371,24.7100878,4.5717931,10.3998981,9.2041041,40.5232386,9.688596 +2244,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1096699,2.2132695,31.9655604,27.6474555,66.1054133,13.3027677,36.2554462,62.4045619,28.1511211,39.9680578,16.8096907,2.5496454,18.0538692,15.1254037,40.4310038,19.5889922,1.9858451,2.1297275,31.8648722,27.4324547,66.6188356,13.0676826,35.8561812,61.8365116,27.643656,39.7755209,16.0276769,2.3285641,17.5841489,14.2955062,41.110322,20.4053563,2.0037091,2.1127292,30.7973826,26.5774383,66.4686407,12.9370136,35.7866024,61.9415781,28.3628778,39.9008033,16.5865884,2.1772516,17.8828163,14.6093732,42.6067662,21.0164055,2.0195296,2.1298462,30.4808792,26.2720812,66.7030225,13.0719372,35.3807808,61.1870843,27.8798781,38.5416548,15.7063759,2.248331,18.3581394,14.3483547,43.0697299,20.7520161,1.741521,1.8667636,29.8505911,25.891729,66.8818447,13.2297231,34.9164675,60.8105436,27.9700073,38.727797,15.7865275,2.4158906,18.2583857,14.6224928,43.7574785,21.5277043 +2245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.434663,1.5420813,21.8586922,16.305801,82.7321175,16.3179111,35.7099156,64.6669721,37.4154048,41.0922912,18.9767635,4.9695636,13.8094071,13.3068688,37.5509425,13.7501994,1.6703993,1.7757715,21.244547,16.2968589,83.0697305,15.8132669,35.7815826,64.0309074,37.0300117,40.7183145,19.5302912,4.7183953,13.9639192,13.7200018,37.4398387,10.7894737,1.5871576,1.6936937,20.3592202,16.2185068,83.2385745,15.3388408,36.0296997,64.0963557,37.1605414,41.5039477,20.0430548,5.1287081,13.9472138,13.3540784,37.1949496,9.7373392,1.6381379,1.6871616,19.9191657,15.9162711,83.570508,15.3533695,34.511583,63.8359792,36.6093395,41.6358808,19.8786965,5.1847821,13.9382771,12.578562,38.678469,12.1475584,1.6214964,1.6508933,20.1221768,16.1928068,83.5830416,14.4080792,33.9208146,63.0115623,36.9244954,41.4012679,19.852499,5.658901,14.5497445,12.7703679,39.3718461,12.9841212 +2246,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5122717,0.5265411,7.0607176,4.5308188,41.2108462,21.353211,30.5041628,69.079556,34.1581869,44.7502313,17.1369103,5.7123034,10.2484472,9.8222222,32.2162645,1.048951,0.5485498,0.5625613,7.4819168,4.7694394,41.6056725,21.1340206,30.0587173,68.2249322,33.5365854,45.234869,16.5085818,5.8943089,10.2508651,9.5753899,31.6041848,0.3448276,0.6441387,0.6576285,7.9956427,5.1198257,42.1716055,21.3884083,29.8908297,69.0174672,33.9519651,45.5240175,16.3537118,6.3537118,10.7531381,9.2779177,32.1940928,1.5625,0.5708143,0.5846858,7.9616414,5.0624442,41.8302145,21.09375,29.590459,68.2943294,33.8658866,45.3870387,15.7740774,5.9630963,10.8355091,9.6338274,33.5237258,1.5243902,0.6527658,0.6456005,8.0526073,5.2376557,41.5532614,21.6743119,28.8319483,67.4284395,34.0027701,45.7294552,15.4893813,6.0710988,11.1830743,9.2048401,33.6094159,1.5337423 +2247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7479821,0.7718692,11.826712,8.4791397,34.0656908,10.9404048,30.271279,64.6682516,33.3075635,45.3823458,18.5760514,3.6196207,11.3844637,9.0132698,30.2942581,6.850955,0.7956602,0.8131466,12.078079,8.6609357,35.0956505,10.8904517,29.8586432,64.6431058,33.2226242,45.5053066,18.7349962,3.5971727,11.1982416,8.9711187,30.01892,7.6642261,0.7095612,0.7268929,11.9980854,8.5464902,35.6259047,10.9914083,30.1202201,64.9307936,33.3776159,45.5403373,18.3489556,3.3342657,11.0002237,8.8726076,29.3965383,8.6805455,0.727103,0.7628817,11.9260447,8.5758121,35.9015168,11.1872327,30.5064729,65.6775436,34.1593916,45.9328645,19.0181845,3.2387255,11.0161297,8.9954128,29.8743686,8.0219727,0.7682719,0.809046,11.6316173,8.5384506,36.4476193,11.1030989,30.5053505,66.4012017,34.5200962,46.1959402,18.9350558,3.3105065,11.1930184,9.2404987,29.4724885,8.6999965 +2248,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7307073,1.7682767,28.8914612,24.8247962,44.0940103,18.6686138,42.6038563,66.2745495,35.4900582,49.4574129,24.3612219,3.9893082,12.6600483,10.0018063,32.214038,20.6489585,1.8498499,1.8878405,28.6030918,24.4144738,44.9990107,18.831897,41.1897284,65.8009859,35.1539921,48.7865694,24.3626807,4.0833102,12.7642173,10.9089584,33.3364863,20.8645994,1.9388923,1.9948276,28.861191,24.6461199,44.3501225,19.1848085,41.511531,66.827661,35.7019717,49.007702,24.568647,4.2644034,12.587796,10.4660928,32.3432341,21.1145613,1.896312,1.9911545,29.1852798,24.6504752,43.7437665,18.5352572,41.5655698,66.8899203,36.3418955,49.0215405,24.4604614,4.2088992,12.5310133,10.8634085,32.750877,22.7795647,1.7936376,1.860854,29.4980775,25.0564837,43.5763086,18.2141655,41.7047852,66.7942887,36.8664046,48.9696263,24.3942773,4.1095828,12.1738447,10.6571034,32.6154301,25.0065074 +2249,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7198115,0.7564692,12.0086277,7.8996373,41.7334611,17.4331066,32.3913803,63.9201342,32.5048564,42.6974791,18.1588242,4.7173098,10.833246,7.896478,33.4000206,9.0756159,0.7535448,0.7940021,12.3307146,8.2509531,42.3497039,17.5091615,32.5606476,63.0702926,31.4664294,42.2331577,17.8789618,4.7432403,10.5469162,7.8879315,33.1800994,9.8363977,0.7173651,0.7218189,12.3548938,8.2810209,43.2578573,17.4289577,33.0228,62.4048744,30.8647477,41.8112308,18.0916718,4.510762,10.5401518,7.9173455,32.6928621,9.9432613,0.6923255,0.7126081,12.3951259,8.5356299,44.7064459,17.9231045,32.9756951,62.3346343,30.4455109,41.9613895,17.7853722,4.4041709,10.6775937,7.8207198,31.9412636,7.5787036,0.6793633,0.6951837,12.7505333,8.9425273,45.8756311,17.5995786,33.3773103,62.586156,30.6963885,41.7474864,17.9488234,4.3693375,10.7193735,8.0924789,32.2705722,8.0273662 +2250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.3781187,1.4147876,30.6575198,24.7290873,50.5975578,11.6391223,39.2769298,65.9174477,32.8260059,49.7861878,26.4842423,6.6134023,17.4328292,14.3239131,35.8751286,16.375031,1.2054661,1.2418883,31.3966728,25.2841559,50.9231881,11.5547889,39.2038061,65.390821,33.131864,48.8057718,25.975083,6.2342606,18.0082262,14.591011,36.3421969,15.5597011,0.9300769,0.9668587,30.8045369,24.904672,50.3534086,11.7157056,39.1836326,65.2772933,33.4108682,48.9443114,25.7590601,5.7558524,17.6286382,14.2898853,34.8733277,16.6659916,0.862507,0.8987676,30.2799959,24.2275113,49.8686261,12.5315551,38.8891641,65.142393,32.9157869,49.080255,25.5686816,5.8973539,16.7981882,13.4604194,35.1526341,16.056284,0.837548,0.873554,29.0151039,22.5955975,49.6586302,12.6396812,39.5296126,65.3225313,33.2122506,49.1111754,25.2865939,6.0643237,17.2358377,13.7626026,34.4429873,16.8009664 +2251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.9201266,0.9148539,10.3730258,6.7698453,22.0104206,16.8583743,34.8626036,69.1118726,40.5544783,49.8609896,23.8223706,4.1625788,10.7056985,9.5159253,32.9748764,5.8098592,0.8866873,0.8962814,10.6176252,7.0861927,21.7746068,16.8359935,35.0023656,68.9071971,40.7386884,50.032079,24.3470714,4.1259446,10.996815,9.6142652,32.7531234,4.9319761,0.8158736,0.8227188,10.7871615,7.3333403,21.920738,16.6885016,34.8131194,69.0723896,40.8317053,50.2893866,24.2973016,4.1584008,10.9018075,9.6912976,32.9892788,5.1418476,0.8195207,0.8234739,10.8572007,7.3581182,21.6085484,16.4626766,34.9656622,68.756398,40.9863126,50.0257676,24.0566187,4.2624376,11.4324982,9.8990113,32.2486545,5.7835886,0.8958421,0.8995695,11.5123421,7.7828814,21.6907088,16.2461502,36.3687612,68.4231454,40.6265462,50.3885656,24.0327029,4.330584,11.5928479,9.8555688,32.5215776,7.8397616 +2252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.689922,0.7215254,9.2240285,6.3595544,41.9542512,16.4493351,28.4083589,69.4390328,35.170704,45.2381129,20.0587231,3.5986032,9.5248381,8.3624508,31.921921,6.187312,0.7531646,0.7854907,9.4568095,6.3808892,41.3532756,16.5862729,28.0449939,69.6393114,35.0144873,45.123602,19.9844311,3.6851405,9.6621577,8.7201501,31.8305639,7.4913058,0.6906752,0.7224435,9.4220018,6.4997836,40.4930116,16.7746769,28.1537584,69.6780816,35.7972099,45.7840774,20.7293211,3.7341131,9.7284046,8.9715131,32.802727,8.0204955,0.7875888,0.8024403,9.7263513,6.7564725,39.5509164,16.8976528,28.2669937,68.5525913,36.1207315,46.029875,21.4084947,3.6023291,9.8730322,9.1765343,33.8553352,8.4717743,0.7762094,0.7860461,9.9894741,6.7263132,38.853698,17.2057897,28.582215,68.8106141,36.5330745,45.927614,21.5147736,3.5013926,9.8371327,8.5904137,33.4987314,9.4178167 +2253,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9858451,2.1297275,31.8648722,27.4324547,66.6188356,13.0676826,35.8561812,61.8365116,27.643656,39.7755209,16.0276769,2.3285641,17.5841489,14.2955062,41.110322,20.4053563,2.0037091,2.1127292,30.7973826,26.5774383,66.4686407,12.9370136,35.7866024,61.9415781,28.3628778,39.9008033,16.5865884,2.1772516,17.8828163,14.6093732,42.6067662,21.0164055,2.0195296,2.1298462,30.4808792,26.2720812,66.7030225,13.0719372,35.3807808,61.1870843,27.8798781,38.5416548,15.7063759,2.248331,18.3581394,14.3483547,43.0697299,20.7520161,1.741521,1.8667636,29.8505911,25.891729,66.8818447,13.2297231,34.9164675,60.8105436,27.9700073,38.727797,15.7865275,2.4158906,18.2583857,14.6224928,43.7574785,21.5277043,1.5497758,1.6736734,30.4450895,26.3991515,67.5004017,13.1529306,35.0242921,60.8040544,28.0634362,39.0478694,16.2519731,2.574032,18.9278958,14.646496,44.4048406,22.0144858 +2254,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5825761,1.5574828,27.3906133,22.4867138,56.5960806,17.7909806,38.9541666,63.566146,34.1675825,44.8495282,21.3022807,3.1412225,12.909208,11.683983,33.8536074,18.1705212,1.7297044,1.7045023,27.0609179,22.3930724,56.4251321,17.9014408,39.6093232,63.410495,34.0896545,45.2990372,21.4534707,3.2988817,13.5679662,11.8986958,34.1803022,17.4266931,1.6374534,1.6124996,27.6674383,22.8521031,56.6527533,18.2949515,39.9463266,63.4635374,33.7681662,45.0994761,21.5383917,3.1317011,12.8286991,10.7270619,34.2550524,17.637529,1.4620222,1.437176,27.5458594,22.8272578,57.2025788,17.8408743,39.9889731,63.7458305,33.9218955,45.1626919,21.7439976,3.03356,13.0233604,10.9737712,34.1453608,16.2974735,1.3191541,1.3191541,27.3743989,22.7733048,56.1767766,18.342534,39.8588071,64.4570806,35.3270972,46.2870818,21.9033098,3.4311616,13.0828775,10.4058409,32.8508568,14.0822874 +2255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8425621,0.8360318,11.6747397,7.6878857,25.5761313,21.5508068,31.6862673,68.6279255,37.8304839,48.6395808,24.1402903,3.8249518,12.5861547,10.8756693,37.1201658,7.2915972,0.8232445,0.816926,12.3485875,8.0595978,25.1534543,21.2065413,32.045339,68.1764,37.6633902,48.8273263,25.0290253,3.5918455,12.5551313,11.0079872,37.4413997,7.8766277,0.8951291,0.8951291,12.6721975,8.2636298,25.6387965,20.6739892,31.5403417,67.9432078,37.5570045,47.2731508,24.7454913,3.4869167,12.2935176,11.3213944,37.1445584,8.8234352,0.920995,0.9304797,12.6110358,8.0867484,25.5405647,20.9818274,32.4736295,67.434266,37.4665937,47.0727357,24.6244375,3.2594962,11.9269201,11.5059587,38.0076575,9.5277584,0.8124505,0.8217993,13.063919,8.8572966,25.4361625,21.1396703,33.5232686,67.7267731,38.2623171,47.7868778,25.6648721,3.7056525,12.0389817,11.4618322,38.0139903,10.0851452 +2256,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6703993,1.7757715,21.244547,16.2968589,83.0697305,15.8132669,35.7815826,64.0309074,37.0300117,40.7183145,19.5302912,4.7183953,13.9639192,13.7200018,37.4398387,10.7894737,1.5871576,1.6936937,20.3592202,16.2185068,83.2385745,15.3388408,36.0296997,64.0963557,37.1605414,41.5039477,20.0430548,5.1287081,13.9472138,13.3540784,37.1949496,9.7373392,1.6381379,1.6871616,19.9191657,15.9162711,83.570508,15.3533695,34.511583,63.8359792,36.6093395,41.6358808,19.8786965,5.1847821,13.9382771,12.578562,38.678469,12.1475584,1.6214964,1.6508933,20.1221768,16.1928068,83.5830416,14.4080792,33.9208146,63.0115623,36.9244954,41.4012679,19.852499,5.658901,14.5497445,12.7703679,39.3718461,12.9841212,1.5813813,1.5813813,19.7413035,15.5587003,83.9783647,14.587074,34.0678764,62.8742579,38.0818271,41.4607971,20.3631886,6.0870744,14.6957259,13.4401003,38.8812227,11.6861989 +2257,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.814492,0.8301306,12.7633119,9.0470967,44.5236627,10.2482316,28.5096904,68.7580741,39.6671666,42.5186251,21.0680622,4.535517,9.8221079,7.3070293,36.3066519,10.6622517,0.8340283,0.8699327,13.0334749,9.3333973,44.0612809,10.2786101,28.6699962,68.3255077,39.8169922,42.2147159,20.6253717,4.6829107,10.078311,7.4775955,36.9078961,11.3316261,0.920225,0.9453907,13.8092491,9.9961397,44.0377367,10.0973931,28.5969675,68.3785915,39.7381434,41.8639468,20.702487,4.7395874,9.8886008,7.9000363,36.9813798,11.6379296,0.9754783,1.0188096,14.5164353,10.7464247,44.0822047,10.1351988,28.6493943,68.3039123,39.8965482,42.2598702,20.6862221,4.8168177,9.9177183,8.0254649,36.6040833,11.7111636,0.9836092,1.0267511,15.024151,11.1415577,44.1204402,10.2659679,28.7674404,68.1441866,40.1069779,41.9953499,20.8139568,4.8232557,10.2338109,8.1905612,36.7176488,13.5087688 +2258,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9637731,1.9888808,23.4446822,18.5390727,41.1444767,14.2223144,32.108949,66.131647,34.9574859,44.9692805,23.5214102,4.1680878,11.5793397,9.2606618,42.151614,20.3488451,1.8938774,1.8824978,25.7024672,20.5879105,41.054651,14.4821311,33.9167485,65.9698656,33.8033701,44.7625433,23.8267366,4.1380317,12.8437455,10.0753296,41.508833,20.3020134,1.9535832,2.0253659,26.8083779,21.8012723,42.9189942,14.4376388,34.3507364,65.5088204,33.9645789,44.5378306,23.4329203,3.9844753,13.3725719,9.5179227,41.9895227,22.2397476,2.084068,2.1633145,27.744153,22.7936556,43.780603,14.1960267,34.6092831,64.9770446,33.658764,44.2968327,22.9653543,4.0567054,13.2811346,8.9073731,42.7662403,23.5015847,1.97785,2.0355593,28.2636825,22.9595781,44.3669776,13.6045002,34.3985899,65.0596822,33.0087398,44.5037349,23.1474892,3.8220663,13.3358096,8.6413037,43.7327004,21.5408873 +2259,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2054661,1.2418883,31.3966728,25.2841559,50.9231881,11.5547889,39.2038061,65.390821,33.131864,48.8057718,25.975083,6.2342606,18.0082262,14.591011,36.3421969,15.5597011,0.9300769,0.9668587,30.8045369,24.904672,50.3534086,11.7157056,39.1836326,65.2772933,33.4108682,48.9443114,25.7590601,5.7558524,17.6286382,14.2898853,34.8733277,16.6659916,0.862507,0.8987676,30.2799959,24.2275113,49.8686261,12.5315551,38.8891641,65.142393,32.9157869,49.080255,25.5686816,5.8973539,16.7981882,13.4604194,35.1526341,16.056284,0.837548,0.873554,29.0151039,22.5955975,49.6586302,12.6396812,39.5296126,65.3225313,33.2122506,49.1111754,25.2865939,6.0643237,17.2358377,13.7626026,34.4429873,16.8009664,0.9685566,1.0571749,27.938317,21.8899041,49.5540489,12.295996,38.9087135,66.3193015,33.4619281,48.8738762,25.0606907,5.8247943,16.6402093,13.6060662,34.4996177,18.2355488 +2260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4469094,0.4557379,7.8099149,4.8622581,45.2759263,20.029913,29.1050831,66.4340448,34.8248583,41.7214019,19.1981414,7.6491493,10.0911167,6.8577974,35.0616729,3.2012205,0.4517166,0.4600798,8.4841285,5.2320974,45.8909584,19.9715206,28.9917028,65.1503372,34.175746,40.9668221,18.7791633,7.4002054,10.4523242,7.327586,35.562368,3.1626525,0.4637957,0.4685295,8.7841318,5.5015727,46.3684883,20.0650185,29.2174119,65.1334561,33.3894869,39.8678419,18.7743,7.3982906,10.4793961,7.5618481,36.0756883,2.9141122,0.4245225,0.4324798,8.7893138,5.590798,46.9959363,20.2709815,28.8381214,64.9216771,32.754575,39.986952,17.4804238,6.9843377,10.4727116,7.5416792,36.1648507,3.376208,0.3993725,0.4073034,9.1426239,6.0730326,47.3976552,20.4186421,29.2705136,64.3951243,32.4117406,39.4730111,17.1209824,6.9444481,10.1930918,7.5609761,36.3210921,3.4023689 +2261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6343045,0.6618637,9.2184061,6.376216,37.5000186,20.1247104,31.018001,71.8905662,39.1312573,47.0531742,22.2923723,3.8844258,8.6090288,9.0874798,31.7562632,5.208337,0.6497418,0.6421752,9.6464906,6.6002264,36.687689,20.3386513,30.4121843,72.0531804,39.3104657,47.1686975,22.2842685,3.6402177,8.7396924,9.1422197,33.7244663,6.462585,0.6391,0.6432008,9.695756,6.3966294,36.288471,19.9962792,30.2259932,71.6572795,40.3578101,47.8530928,22.7306917,3.4839917,8.4553453,8.6940585,33.6410759,7.2327044,0.6651563,0.6594505,10.0109453,6.5463183,36.8773987,19.7519356,30.0225381,71.5922155,40.5369852,47.4089286,22.4746505,3.3233187,7.6839044,8.3576648,33.860304,6.8047337,0.6506263,0.6449477,10.3016071,6.6315426,37.4664752,19.5660238,30.2592118,71.1307541,39.9887213,46.3748994,22.1074443,2.9864719,8.178566,9.1201808,35.0504424,7.3529412 +2262,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65937,0.6746355,12.9950157,10.2373711,31.5428811,17.1594682,34.1999952,66.937525,37.3886709,47.4084458,21.6797408,4.5117411,12.5782311,10.8061195,29.0710835,5.5105958,0.7082276,0.7232345,13.3020085,10.413398,32.749942,17.552153,34.1460991,67.0833048,37.7168859,48.1461339,21.4346238,4.9219741,12.2752416,10.5455342,28.3528763,4.3213062,0.8450832,0.8596572,13.19446,10.1527349,34.273874,17.7932619,34.6472357,67.4425124,37.8222403,48.0208834,21.714446,4.9228647,12.6640804,10.6516768,27.5821589,4.7543124,0.8164,0.8310257,13.3188812,10.18037,35.5137142,18.5526923,34.5747002,67.1750391,37.7458132,48.2384925,21.4645406,4.8498856,12.0708113,10.5133632,26.9340773,4.0086587,0.7251734,0.7542166,13.5298726,10.3433979,36.3178722,18.866154,34.4104395,67.0264833,37.5001757,48.5518865,20.9535637,4.8890643,12.1679895,10.559153,27.347156,4.7379576 +2263,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8938774,1.8824978,25.7024672,20.5879105,41.054651,14.4821311,33.9167485,65.9698656,33.8033701,44.7625433,23.8267366,4.1380317,12.8437455,10.0753296,41.508833,20.3020134,1.9535832,2.0253659,26.8083779,21.8012723,42.9189942,14.4376388,34.3507364,65.5088204,33.9645789,44.5378306,23.4329203,3.9844753,13.3725719,9.5179227,41.9895227,22.2397476,2.084068,2.1633145,27.744153,22.7936556,43.780603,14.1960267,34.6092831,64.9770446,33.658764,44.2968327,22.9653543,4.0567054,13.2811346,8.9073731,42.7662403,23.5015847,1.97785,2.0355593,28.2636825,22.9595781,44.3669776,13.6045002,34.3985899,65.0596822,33.0087398,44.5037349,23.1474892,3.8220663,13.3358096,8.6413037,43.7327004,21.5408873,1.9694695,2.0314607,28.9117207,23.751142,45.3895965,14.0758704,35.0471285,64.7473786,32.7246319,44.8329169,22.8862873,3.9192152,12.8390681,8.5316523,43.0741628,21.0769296 +2264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5073943,0.5542976,9.6981852,6.3030345,33.0088812,23.0928945,30.865167,64.9984196,32.7596529,43.2743123,17.3823424,7.3413163,13.0187919,9.8658304,31.7127796,3.8745387,0.5486138,0.5891165,9.580726,6.2888072,34.2805707,22.1610431,31.011464,64.2414001,31.9732523,42.8326781,16.8010831,7.1517076,12.9897552,10.5028419,32.6574064,3.9622642,0.6095583,0.6538361,9.5561349,6.4462395,33.8052433,22.0529312,31.2537796,64.2835567,31.3751667,43.275578,16.6211193,7.331494,12.2266329,9.9911976,33.1362977,4.1970803,0.5176187,0.5466706,9.9710305,6.7583037,33.5827473,22.0923238,31.0790971,63.772559,31.3408329,42.7427972,16.1867255,7.1407764,12.0139517,9.7233883,33.777754,3.9249147,0.5330527,0.5607374,10.3014081,6.9275241,33.4635124,22.2175317,31.334423,63.4546725,30.9208316,42.7487714,15.7843948,7.1546683,11.6221871,9.2222159,32.9954866,5.2884531 +2265,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9407645,0.9653159,15.2289428,11.5320956,67.1065598,8.1227512,27.9868065,59.73709,28.0290309,36.6242035,14.4833691,5.50855,12.3284143,9.1621768,37.811922,9.1202191,0.9028335,0.9254876,15.5930067,11.8883824,67.8373209,8.2593636,27.95333,59.4232159,27.9065942,36.6749769,14.6278666,5.5384328,12.3707641,9.2806417,37.8831561,8.8069637,0.8836037,0.9281469,15.6988521,12.0148605,68.6704794,8.1513343,27.7465397,60.06182,27.648026,36.7182584,14.4438983,5.4897474,12.4914176,9.352276,37.9002308,8.3465695,0.8364918,0.8659114,15.9270073,12.3916875,69.7211603,8.0741908,27.2547953,60.4450926,27.6833401,36.5393371,14.282147,5.3734675,12.6981766,9.4628997,37.6256277,8.3246767,0.8415451,0.8765885,16.2634635,12.6546477,70.4070393,8.1909147,26.8353852,60.8632058,27.9396535,36.4132334,14.3345043,5.5007189,12.7781155,9.5535487,37.4271302,8.4005936 +2266,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7535448,0.7940021,12.3307146,8.2509531,42.3497039,17.5091615,32.5606476,63.0702926,31.4664294,42.2331577,17.8789618,4.7432403,10.5469162,7.8879315,33.1800994,9.8363977,0.7173651,0.7218189,12.3548938,8.2810209,43.2578573,17.4289577,33.0228,62.4048744,30.8647477,41.8112308,18.0916718,4.510762,10.5401518,7.9173455,32.6928621,9.9432613,0.6923255,0.7126081,12.3951259,8.5356299,44.7064459,17.9231045,32.9756951,62.3346343,30.4455109,41.9613895,17.7853722,4.4041709,10.6775937,7.8207198,31.9412636,7.5787036,0.6793633,0.6951837,12.7505333,8.9425273,45.8756311,17.5995786,33.3773103,62.586156,30.6963885,41.7474864,17.9488234,4.3693375,10.7193735,8.0924789,32.2705722,8.0273662,0.6887594,0.6861527,13.8762742,10.2600761,47.4871222,17.6154187,33.2134933,62.8912024,30.8728625,41.581702,18.0992868,4.5390078,11.0666469,8.4282268,32.385743,7.6343226 +2267,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0493021,2.0945143,35.006085,30.4189728,74.9763675,13.4572328,35.4391262,63.7895495,23.045247,37.0574912,14.8081511,1.8737686,16.5411629,11.6646445,41.6447608,22.1250776,2.3221043,2.3328078,33.8397199,29.402235,74.0052787,13.257449,34.6006845,65.1509153,23.7260078,36.8859997,15.1229733,1.8175571,15.8152942,10.8547375,38.9573018,23.4495063,2.1378824,2.1485136,32.845721,28.5722594,73.8646343,12.85834,34.7162693,65.2256885,23.7366694,37.1825394,15.1339392,1.9874126,16.7528132,11.4916187,39.7575781,24.6749361,1.9918216,1.9918216,31.7078877,27.335663,72.9737888,12.510417,34.244538,64.3370429,23.8378224,36.5808397,14.5500665,1.7241752,16.8780483,12.3476783,40.5064017,24.5903786,1.9917787,2.012696,32.0478952,27.7059088,73.0644274,12.7855353,33.6473714,64.1113659,24.3188228,37.0091817,15.0304028,1.8379808,16.8663079,11.899882,39.8244612,24.2801085 +2268,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1541165,2.1839017,32.2975014,28.2480212,53.3731586,16.5586007,35.2414941,65.9642705,32.7167409,44.0479693,20.9838796,2.4527529,13.9137901,10.9836994,39.7574185,27.631437,2.2545383,2.2905236,32.4667841,28.2954819,54.7527018,16.6900377,35.6253105,66.254174,33.0344247,44.1362002,21.0503181,2.4622266,14.3958389,10.6776357,39.8330418,25.8620733,2.2988089,2.3283018,33.6187309,29.3299224,55.9641984,16.5984339,35.8458748,66.4114725,33.7280895,43.3410426,20.8274623,2.4100854,14.2500904,10.424878,39.7793369,25.1676759,2.2418539,2.2764811,34.4948699,29.9867295,57.1653228,16.1180358,36.0752339,66.3236103,33.6768497,43.4116786,20.7815519,2.130312,14.832946,10.7871497,39.4662672,24.8328484,2.2839785,2.3448628,35.6764488,30.8304662,58.7695146,15.773253,36.091463,66.0084595,32.8040605,42.5555139,20.4005347,2.1408359,15.9659121,11.1940737,40.777075,24.4833565 +2269,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.229664,2.183109,34.947839,30.4769001,66.3312693,7.2280179,38.0484115,68.1543116,27.4583964,45.1588502,17.473525,5.8245083,14.8093842,8.6764706,33.480826,13.5542169,2.4950684,2.3103962,35.6720827,31.3884786,66.2826421,6.9852941,38.3982036,67.8892216,28.8173653,45.2844311,16.8413174,6.0628743,13.5174419,8.0174927,33.1871345,13.0813953,2.6231506,2.4324019,34.222561,30.8689024,66.6401274,7.2078907,38.9318885,66.3312693,27.0123839,44.0402477,16.9504644,6.1145511,12.9969419,9.0490798,33.0769231,13.9751553,2.2391775,2.1894262,34.4745223,30.9713376,66.8060201,7.5757576,39.233279,66.3132137,27.8140294,44.2903752,16.8841762,5.7911909,12.5,8.6319218,33.496732,14.9305556,1.9881755,1.9390837,34.4637224,31.6246057,68.5970636,7.0982839,37.6386688,66.0063391,27.496038,43.18542,17.3534073,6.1014263,13.5093168,8.8785047,34.84375,14.8026316 +2270,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7778755,0.8322498,10.0428363,6.7013462,45.1751013,13.3890952,30.3408838,64.736651,31.903768,42.376333,18.5515691,14.4166868,10.685557,8.3287212,37.9199502,4.06562,0.7090994,0.7484076,9.8812988,6.5039158,45.5997462,13.4075098,30.1449787,64.0189234,31.1401917,41.5345944,18.39907,14.6762497,10.7995725,8.2648293,37.9570407,3.2142848,0.6272277,0.6609659,9.9349662,6.4162118,45.8368881,13.3305818,30.3190844,63.7999302,31.1459178,41.6501772,18.0913048,14.7956212,10.7799646,8.4839917,37.5721067,3.9202195,0.6058501,0.6381864,9.4648169,6.1171686,45.6727997,13.436942,30.5770055,63.4212271,30.7424998,41.3559245,17.8342939,14.778243,10.5995373,8.5405661,37.5925287,3.8050729,0.5709185,0.615467,9.5100379,6.30033,45.7753199,13.5408287,30.1068522,63.7319554,30.9594234,41.3265999,17.6821712,15.044901,10.5250385,8.3551112,37.3539842,4.0689655 +2271,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8340283,0.8699327,13.0334749,9.3333973,44.0612809,10.2786101,28.6699962,68.3255077,39.8169922,42.2147159,20.6253717,4.6829107,10.078311,7.4775955,36.9078961,11.3316261,0.920225,0.9453907,13.8092491,9.9961397,44.0377367,10.0973931,28.5969675,68.3785915,39.7381434,41.8639468,20.702487,4.7395874,9.8886008,7.9000363,36.9813798,11.6379296,0.9754783,1.0188096,14.5164353,10.7464247,44.0822047,10.1351988,28.6493943,68.3039123,39.8965482,42.2598702,20.6862221,4.8168177,9.9177183,8.0254649,36.6040833,11.7111636,0.9836092,1.0267511,15.024151,11.1415577,44.1204402,10.2659679,28.7674404,68.1441866,40.1069779,41.9953499,20.8139568,4.8232557,10.2338109,8.1905612,36.7176488,13.5087688,1.0350195,1.0785399,15.7389214,11.7003224,44.3920913,10.2971082,29.1260812,67.7464021,39.5630401,41.8505935,20.7443487,4.9280671,9.8484833,8.0690956,36.9900957,14.4039719 +2272,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6466572,0.6954615,7.969299,4.9389947,49.9401536,23.4709693,30.1302353,66.831109,33.0505129,43.3898982,18.3701666,6.136542,10.3032707,9.1368627,31.4655164,6.5517287,0.58708,0.6720521,7.8803235,4.868981,48.9840694,22.6088609,29.8152543,66.3718631,32.8812891,43.5731129,18.2586464,5.8765744,10.6867317,9.4594624,32.3872496,6.1290362,0.5398506,0.6231542,7.9209764,5.0057474,49.3544599,22.3518139,30.3094771,66.2862707,32.3597638,44.0812327,18.0464181,5.7059975,10.4135362,9.3750021,31.1555886,5.0000029,0.4588761,0.5412097,8.1364278,4.9733171,49.2482631,22.7358475,29.5723561,65.4639236,31.8633037,43.5853343,17.6975916,5.7464697,10.088694,9.3634366,31.3659981,3.1073464,0.5133828,0.5599866,8.2199571,5.045353,49.2928152,23.3520623,29.417329,65.3234982,32.2928387,43.5679117,17.915245,6.0348105,10.5653733,9.2291392,31.6370103,2.4324337 +2273,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.9300769,0.9668587,30.8045369,24.904672,50.3534086,11.7157056,39.1836326,65.2772933,33.4108682,48.9443114,25.7590601,5.7558524,17.6286382,14.2898853,34.8733277,16.6659916,0.862507,0.8987676,30.2799959,24.2275113,49.8686261,12.5315551,38.8891641,65.142393,32.9157869,49.080255,25.5686816,5.8973539,16.7981882,13.4604194,35.1526341,16.056284,0.837548,0.873554,29.0151039,22.5955975,49.6586302,12.6396812,39.5296126,65.3225313,33.2122506,49.1111754,25.2865939,6.0643237,17.2358377,13.7626026,34.4429873,16.8009664,0.9685566,1.0571749,27.938317,21.8899041,49.5540489,12.295996,38.9087135,66.3193015,33.4619281,48.8738762,25.0606907,5.8247943,16.6402093,13.6060662,34.4996177,18.2355488,0.9850651,0.9672181,27.2355243,21.1443261,47.6030454,12.406079,39.269637,66.9876265,34.474145,50.1459807,25.2931981,5.7034387,15.9274762,13.010356,34.2504815,16.7999589 +2274,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7135095,0.7254639,12.2085755,8.4531655,39.1646944,19.8809066,32.7191778,63.2006228,35.3875473,45.9762788,21.0292264,6.4308913,10.0220668,7.6181825,33.0076457,9.0822388,0.6610772,0.6693907,12.3413076,8.51931,39.7836448,19.5613336,32.6239639,62.9847338,35.1236314,45.6357224,20.8417811,6.4248071,10.0321467,7.737191,33.1087405,8.9350393,0.7107979,0.7197042,12.3937358,8.5908431,40.0362288,19.7187148,32.8216339,62.4645035,34.7481683,45.3183907,20.3377309,6.3896553,9.9178293,7.5712104,33.1453551,9.0361649,0.716408,0.7255198,12.4953723,8.5883349,40.6283027,19.8145368,32.5429211,62.4784772,35.2094098,45.5995017,20.2744741,6.3903655,9.8185771,7.7121092,33.4476324,8.5884679,0.7379181,0.7473734,12.6488351,8.7317428,41.4902872,19.6690074,32.9776101,61.9663823,34.4861716,44.7334908,20.2432137,6.6797849,10.0224186,7.5712813,34.080676,8.8182316 +2275,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58708,0.6720521,7.8803235,4.868981,48.9840694,22.6088609,29.8152543,66.3718631,32.8812891,43.5731129,18.2586464,5.8765744,10.6867317,9.4594624,32.3872496,6.1290362,0.5398506,0.6231542,7.9209764,5.0057474,49.3544599,22.3518139,30.3094771,66.2862707,32.3597638,44.0812327,18.0464181,5.7059975,10.4135362,9.3750021,31.1555886,5.0000029,0.4588761,0.5412097,8.1364278,4.9733171,49.2482631,22.7358475,29.5723561,65.4639236,31.8633037,43.5853343,17.6975916,5.7464697,10.088694,9.3634366,31.3659981,3.1073464,0.5133828,0.5599866,8.2199571,5.045353,49.2928152,23.3520623,29.417329,65.3234982,32.2928387,43.5679117,17.915245,6.0348105,10.5653733,9.2291392,31.6370103,2.4324337,0.428499,0.4626754,8.0125856,4.8667668,49.2745627,23.3650005,29.3782121,64.99264,32.100803,43.3222959,17.2001479,6.0154541,10.7989204,9.2605187,31.4840066,2.8205128 +2276,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9729765,0.9756262,17.2942845,13.4806293,32.7274627,18.3122007,38.0770967,61.7510198,35.3266928,46.1320978,21.2549066,3.2785618,12.6919069,9.7331826,33.6226464,12.2767912,1.0065557,1.013712,17.8546328,13.8842948,33.4736702,18.7021643,38.393061,62.9724833,36.0766296,46.830004,21.7142055,3.4260651,12.9679344,9.7415612,34.0601403,14.4308654,0.9603849,0.9785047,18.3743197,14.2807589,34.7863695,18.4930438,38.7000126,63.6701347,35.9229706,46.5285772,21.7979307,3.4594932,13.8235054,10.0174028,34.4725612,13.1294746,0.9440777,0.9673111,18.6870201,14.6311169,35.5600693,19.1032176,38.554671,64.6180916,36.3455101,46.4982437,22.2208868,3.3490679,13.7541449,9.735645,34.6039112,11.5517056,0.9377595,0.9546849,18.9498976,15.0034361,36.3820662,19.4265492,38.0201095,65.4628502,36.851416,47.4170596,22.5221611,3.4946847,13.377959,9.804289,35.0243689,11.8728882 +2277,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0037091,2.1127292,30.7973826,26.5774383,66.4686407,12.9370136,35.7866024,61.9415781,28.3628778,39.9008033,16.5865884,2.1772516,17.8828163,14.6093732,42.6067662,21.0164055,2.0195296,2.1298462,30.4808792,26.2720812,66.7030225,13.0719372,35.3807808,61.1870843,27.8798781,38.5416548,15.7063759,2.248331,18.3581394,14.3483547,43.0697299,20.7520161,1.741521,1.8667636,29.8505911,25.891729,66.8818447,13.2297231,34.9164675,60.8105436,27.9700073,38.727797,15.7865275,2.4158906,18.2583857,14.6224928,43.7574785,21.5277043,1.5497758,1.6736734,30.4450895,26.3991515,67.5004017,13.1529306,35.0242921,60.8040544,28.0634362,39.0478694,16.2519731,2.574032,18.9278958,14.646496,44.4048406,22.0144858,1.6161529,1.7057295,31.0803781,26.7271397,67.4165677,13.2039397,35.1397968,61.3688898,28.1697119,39.4564317,16.6015094,2.7632085,18.2658594,14.780005,44.0247705,20.8393494 +2278,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5486138,0.5891165,9.580726,6.2888072,34.2805707,22.1610431,31.011464,64.2414001,31.9732523,42.8326781,16.8010831,7.1517076,12.9897552,10.5028419,32.6574064,3.9622642,0.6095583,0.6538361,9.5561349,6.4462395,33.8052433,22.0529312,31.2537796,64.2835567,31.3751667,43.275578,16.6211193,7.331494,12.2266329,9.9911976,33.1362977,4.1970803,0.5176187,0.5466706,9.9710305,6.7583037,33.5827473,22.0923238,31.0790971,63.772559,31.3408329,42.7427972,16.1867255,7.1407764,12.0139517,9.7233883,33.777754,3.9249147,0.5330527,0.5607374,10.3014081,6.9275241,33.4635124,22.2175317,31.334423,63.4546725,30.9208316,42.7487714,15.7843948,7.1546683,11.6221871,9.2222159,32.9954866,5.2884531,0.5062624,0.5346419,10.1385388,6.7731661,33.9280135,22.4856297,31.5008489,63.6659552,31.1899256,43.2023247,16.2379795,7.475966,11.0256698,9.3500935,33.4984808,4.9152459 +2279,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4599274,0.4599274,7.9993065,6.0997924,69.1925594,13.4080891,25.6384664,68.1490343,31.3405492,43.936278,13.6383957,4.7873297,13.2340816,10.3490985,33.2048228,2.1545207,0.6619209,0.6619209,8.4018962,6.3264246,66.8372937,13.3975358,26.2321386,68.7429913,31.6593924,44.5240578,13.8498183,4.6031935,13.0905839,10.4565831,33.0783187,5.9992672,0.6762225,0.6762225,8.5310657,6.3742829,65.4096004,13.4360729,26.4514785,68.6582567,31.458454,44.8102152,13.9536113,4.6383256,13.4438518,11.2951362,32.2594482,6.5378024,0.6919716,0.6874746,8.9183712,6.3322838,63.4374974,13.4800986,26.627815,69.9934888,31.8113788,45.7490587,15.0706364,4.5116757,13.4312505,11.4746421,32.7404933,6.6428114,0.6995213,0.6949753,8.7084582,6.1820977,61.5445513,13.1601555,27.2523117,70.4913297,31.6485202,45.4204715,14.9976154,4.6102138,12.757174,11.5207787,32.9381418,8.1554047 +2280,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2545383,2.2905236,32.4667841,28.2954819,54.7527018,16.6900377,35.6253105,66.254174,33.0344247,44.1362002,21.0503181,2.4622266,14.3958389,10.6776357,39.8330418,25.8620733,2.2988089,2.3283018,33.6187309,29.3299224,55.9641984,16.5984339,35.8458748,66.4114725,33.7280895,43.3410426,20.8274623,2.4100854,14.2500904,10.424878,39.7793369,25.1676759,2.2418539,2.2764811,34.4948699,29.9867295,57.1653228,16.1180358,36.0752339,66.3236103,33.6768497,43.4116786,20.7815519,2.130312,14.832946,10.7871497,39.4662672,24.8328484,2.2839785,2.3448628,35.6764488,30.8304662,58.7695146,15.773253,36.091463,66.0084595,32.8040605,42.5555139,20.4005347,2.1408359,15.9659121,11.1940737,40.777075,24.4833565,2.2173393,2.3053928,36.104809,31.3950511,59.8329477,15.7567802,35.9717945,65.4529937,32.4511654,41.8035004,19.9544068,2.0827317,16.9019177,11.1923756,39.8298217,23.2942547 +2281,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8471505,0.8899901,16.3937916,12.6082937,51.4804695,12.9633021,28.8600683,63.379655,29.4029651,42.3502016,14.7266154,4.6743145,13.2361137,10.8941392,31.5867159,9.1527599,0.8540186,0.8958175,16.502319,12.8372879,52.7666745,12.8995709,28.9214009,64.2440771,28.9214271,42.9536389,14.7883376,4.6270461,13.1854345,10.9738517,31.52756,8.1114333,0.8153142,0.8571052,16.9424641,13.3548576,54.3359909,12.9336216,28.5642684,64.9023109,29.1894229,42.6799818,14.6703331,4.6279589,13.2212426,11.0662104,31.2536469,7.089298,0.7937958,0.8243267,16.5654903,13.1448668,55.4929981,12.7538398,27.7523002,65.7859023,29.6669976,42.4312078,14.3897394,4.6370248,13.063605,11.1448516,30.3559252,8.5953982,0.7235847,0.7536904,16.4127141,13.2130427,55.5922512,13.159893,27.3844644,66.2635809,30.1967007,42.6057251,14.7591592,4.827938,13.3554145,12.111036,30.6626183,8.8562774 +2282,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6497418,0.6421752,9.6464906,6.6002264,36.687689,20.3386513,30.4121843,72.0531804,39.3104657,47.1686975,22.2842685,3.6402177,8.7396924,9.1422197,33.7244663,6.462585,0.6391,0.6432008,9.695756,6.3966294,36.288471,19.9962792,30.2259932,71.6572795,40.3578101,47.8530928,22.7306917,3.4839917,8.4553453,8.6940585,33.6410759,7.2327044,0.6651563,0.6594505,10.0109453,6.5463183,36.8773987,19.7519356,30.0225381,71.5922155,40.5369852,47.4089286,22.4746505,3.3233187,7.6839044,8.3576648,33.860304,6.8047337,0.6506263,0.6449477,10.3016071,6.6315426,37.4664752,19.5660238,30.2592118,71.1307541,39.9887213,46.3748994,22.1074443,2.9864719,8.178566,9.1201808,35.0504424,7.3529412,0.6684395,0.6991898,11.0654328,7.0968898,36.0671227,19.1508765,30.5350628,71.457593,41.162364,46.8450255,22.3800889,3.15498,8.1696962,9.1578992,34.5473831,7.1022727 +2283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8540186,0.8958175,16.502319,12.8372879,52.7666745,12.8995709,28.9214009,64.2440771,28.9214271,42.9536389,14.7883376,4.6270461,13.1854345,10.9738517,31.52756,8.1114333,0.8153142,0.8571052,16.9424641,13.3548576,54.3359909,12.9336216,28.5642684,64.9023109,29.1894229,42.6799818,14.6703331,4.6279589,13.2212426,11.0662104,31.2536469,7.089298,0.7937958,0.8243267,16.5654903,13.1448668,55.4929981,12.7538398,27.7523002,65.7859023,29.6669976,42.4312078,14.3897394,4.6370248,13.063605,11.1448516,30.3559252,8.5953982,0.7235847,0.7536904,16.4127141,13.2130427,55.5922512,13.159893,27.3844644,66.2635809,30.1967007,42.6057251,14.7591592,4.827938,13.3554145,12.111036,30.6626183,8.8562774,0.7089892,0.7473369,16.4506729,13.3538456,56.6692193,12.8991953,26.7863838,66.6635542,30.0903134,42.5374533,14.6274,4.8117702,13.5499057,11.8304862,29.763098,8.7919682 +2284,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6095583,0.6538361,9.5561349,6.4462395,33.8052433,22.0529312,31.2537796,64.2835567,31.3751667,43.275578,16.6211193,7.331494,12.2266329,9.9911976,33.1362977,4.1970803,0.5176187,0.5466706,9.9710305,6.7583037,33.5827473,22.0923238,31.0790971,63.772559,31.3408329,42.7427972,16.1867255,7.1407764,12.0139517,9.7233883,33.777754,3.9249147,0.5330527,0.5607374,10.3014081,6.9275241,33.4635124,22.2175317,31.334423,63.4546725,30.9208316,42.7487714,15.7843948,7.1546683,11.6221871,9.2222159,32.9954866,5.2884531,0.5062624,0.5346419,10.1385388,6.7731661,33.9280135,22.4856297,31.5008489,63.6659552,31.1899256,43.2023247,16.2379795,7.475966,11.0256698,9.3500935,33.4984808,4.9152459,0.4746233,0.5037678,10.194283,6.6560112,35.0816004,22.5154895,31.3024465,63.2561937,30.2026087,43.6323836,16.1939207,7.4529607,10.973708,8.6740762,33.7859493,5.3819258 +2285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7531646,0.7854907,9.4568095,6.3808892,41.3532756,16.5862729,28.0449939,69.6393114,35.0144873,45.123602,19.9844311,3.6851405,9.6621577,8.7201501,31.8305639,7.4913058,0.6906752,0.7224435,9.4220018,6.4997836,40.4930116,16.7746769,28.1537584,69.6780816,35.7972099,45.7840774,20.7293211,3.7341131,9.7284046,8.9715131,32.802727,8.0204955,0.7875888,0.8024403,9.7263513,6.7564725,39.5509164,16.8976528,28.2669937,68.5525913,36.1207315,46.029875,21.4084947,3.6023291,9.8730322,9.1765343,33.8553352,8.4717743,0.7762094,0.7860461,9.9894741,6.7263132,38.853698,17.2057897,28.582215,68.8106141,36.5330745,45.927614,21.5147736,3.5013926,9.8371327,8.5904137,33.4987314,9.4178167,0.788343,0.8101782,10.1884042,6.8707703,38.9760308,16.8352671,29.2563307,69.1978286,37.5287147,46.6367273,21.2346002,3.8332929,9.5842048,8.6278613,33.8419906,10.304053 +2286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7173651,0.7218189,12.3548938,8.2810209,43.2578573,17.4289577,33.0228,62.4048744,30.8647477,41.8112308,18.0916718,4.510762,10.5401518,7.9173455,32.6928621,9.9432613,0.6923255,0.7126081,12.3951259,8.5356299,44.7064459,17.9231045,32.9756951,62.3346343,30.4455109,41.9613895,17.7853722,4.4041709,10.6775937,7.8207198,31.9412636,7.5787036,0.6793633,0.6951837,12.7505333,8.9425273,45.8756311,17.5995786,33.3773103,62.586156,30.6963885,41.7474864,17.9488234,4.3693375,10.7193735,8.0924789,32.2705722,8.0273662,0.6887594,0.6861527,13.8762742,10.2600761,47.4871222,17.6154187,33.2134933,62.8912024,30.8728625,41.581702,18.0992868,4.5390078,11.0666469,8.4282268,32.385743,7.6343226,0.6657058,0.6631333,13.9276805,10.545975,49.0084007,17.6874729,32.4854392,63.1933274,30.6571564,41.2033021,18.1615731,4.3360372,10.6940796,8.3612196,31.639131,7.9752482 +2287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2268401,1.2796573,22.7691844,18.7322262,35.0678252,16.6307867,33.9162117,65.8196244,37.9253531,46.3789829,21.1422119,3.3324041,14.1582102,10.4561398,34.9177021,21.6106357,1.2590511,1.3390538,23.0264903,19.0532287,35.5478087,16.1744502,33.0449371,65.0661624,37.3467216,46.0741425,20.6228777,3.3250755,14.5596353,10.249468,34.9602996,23.3934742,1.2356756,1.3106419,24.4719048,20.5463735,36.494061,16.7264264,33.5085185,64.6188207,36.9221594,45.9477658,20.4794037,3.372689,14.4856683,10.3664322,34.2642645,21.2538551,1.1555448,1.2381241,25.1557976,21.0170271,37.9008224,16.2189512,34.1924168,64.6833497,36.2715005,45.9444697,20.363809,3.3838488,13.646968,10.0816064,35.1189143,21.0755952,1.2788469,1.3427731,25.4200292,21.2453731,37.5805887,15.759839,34.0404562,64.2436261,35.6358048,46.3476125,20.213497,3.2973829,13.7730653,10.0302502,35.8523798,21.5278017 +2288,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9028335,0.9254876,15.5930067,11.8883824,67.8373209,8.2593636,27.95333,59.4232159,27.9065942,36.6749769,14.6278666,5.5384328,12.3707641,9.2806417,37.8831561,8.8069637,0.8836037,0.9281469,15.6988521,12.0148605,68.6704794,8.1513343,27.7465397,60.06182,27.648026,36.7182584,14.4438983,5.4897474,12.4914176,9.352276,37.9002308,8.3465695,0.8364918,0.8659114,15.9270073,12.3916875,69.7211603,8.0741908,27.2547953,60.4450926,27.6833401,36.5393371,14.282147,5.3734675,12.6981766,9.4628997,37.6256277,8.3246767,0.8415451,0.8765885,16.2634635,12.6546477,70.4070393,8.1909147,26.8353852,60.8632058,27.9396535,36.4132334,14.3345043,5.5007189,12.7781155,9.5535487,37.4271302,8.4005936,0.8197285,0.8482156,16.4957085,13.0229736,70.9619716,8.3382589,26.3523375,61.3582817,28.08362,36.2263602,14.3548985,5.3754583,12.9761836,9.6368966,37.2282982,8.2367038 +2289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5398506,0.6231542,7.9209764,5.0057474,49.3544599,22.3518139,30.3094771,66.2862707,32.3597638,44.0812327,18.0464181,5.7059975,10.4135362,9.3750021,31.1555886,5.0000029,0.4588761,0.5412097,8.1364278,4.9733171,49.2482631,22.7358475,29.5723561,65.4639236,31.8633037,43.5853343,17.6975916,5.7464697,10.088694,9.3634366,31.3659981,3.1073464,0.5133828,0.5599866,8.2199571,5.045353,49.2928152,23.3520623,29.417329,65.3234982,32.2928387,43.5679117,17.915245,6.0348105,10.5653733,9.2291392,31.6370103,2.4324337,0.428499,0.4626754,8.0125856,4.8667668,49.2745627,23.3650005,29.3782121,64.99264,32.100803,43.3222959,17.2001479,6.0154541,10.7989204,9.2605187,31.4840066,2.8205128,0.4711272,0.5065255,7.8322503,4.9980864,48.6749787,24.2270669,29.4596701,64.4543435,32.008453,42.8488355,17.0217324,6.181076,10.5756459,9.0056115,31.8564168,2.3560209 +2290,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0065557,1.013712,17.8546328,13.8842948,33.4736702,18.7021643,38.393061,62.9724833,36.0766296,46.830004,21.7142055,3.4260651,12.9679344,9.7415612,34.0601403,14.4308654,0.9603849,0.9785047,18.3743197,14.2807589,34.7863695,18.4930438,38.7000126,63.6701347,35.9229706,46.5285772,21.7979307,3.4594932,13.8235054,10.0174028,34.4725612,13.1294746,0.9440777,0.9673111,18.6870201,14.6311169,35.5600693,19.1032176,38.554671,64.6180916,36.3455101,46.4982437,22.2208868,3.3490679,13.7541449,9.735645,34.6039112,11.5517056,0.9377595,0.9546849,18.9498976,15.0034361,36.3820662,19.4265492,38.0201095,65.4628502,36.851416,47.4170596,22.5221611,3.4946847,13.377959,9.804289,35.0243689,11.8728882,0.9157158,0.9395093,18.2905256,14.2905373,36.9462344,20.4521313,38.8773688,66.5398934,38.231992,47.7524503,22.4411773,3.6077107,13.2028415,9.878453,35.2343541,9.5911756 +2291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3221043,2.3328078,33.8397199,29.402235,74.0052787,13.257449,34.6006845,65.1509153,23.7260078,36.8859997,15.1229733,1.8175571,15.8152942,10.8547375,38.9573018,23.4495063,2.1378824,2.1485136,32.845721,28.5722594,73.8646343,12.85834,34.7162693,65.2256885,23.7366694,37.1825394,15.1339392,1.9874126,16.7528132,11.4916187,39.7575781,24.6749361,1.9918216,1.9918216,31.7078877,27.335663,72.9737888,12.510417,34.244538,64.3370429,23.8378224,36.5808397,14.5500665,1.7241752,16.8780483,12.3476783,40.5064017,24.5903786,1.9917787,2.012696,32.0478952,27.7059088,73.0644274,12.7855353,33.6473714,64.1113659,24.3188228,37.0091817,15.0304028,1.8379808,16.8663079,11.899882,39.8244612,24.2801085,2.1161079,2.1376377,31.9158211,27.5393035,72.56685,13.4490645,33.5115352,65.503363,26.2432272,38.3664102,16.0595015,1.9414179,16.7254991,12.2118638,40.1000968,23.8704868 +2292,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2590511,1.3390538,23.0264903,19.0532287,35.5478087,16.1744502,33.0449371,65.0661624,37.3467216,46.0741425,20.6228777,3.3250755,14.5596353,10.249468,34.9602996,23.3934742,1.2356756,1.3106419,24.4719048,20.5463735,36.494061,16.7264264,33.5085185,64.6188207,36.9221594,45.9477658,20.4794037,3.372689,14.4856683,10.3664322,34.2642645,21.2538551,1.1555448,1.2381241,25.1557976,21.0170271,37.9008224,16.2189512,34.1924168,64.6833497,36.2715005,45.9444697,20.363809,3.3838488,13.646968,10.0816064,35.1189143,21.0755952,1.2788469,1.3427731,25.4200292,21.2453731,37.5805887,15.759839,34.0404562,64.2436261,35.6358048,46.3476125,20.213497,3.2973829,13.7730653,10.0302502,35.8523798,21.5278017,1.3548732,1.418104,25.8603124,21.7141662,38.0243878,15.5143499,34.0190668,63.774047,34.7715193,45.7171125,19.916323,3.3861102,13.8790625,9.9177262,35.9240801,21.0145064 +2293,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.862507,0.8987676,30.2799959,24.2275113,49.8686261,12.5315551,38.8891641,65.142393,32.9157869,49.080255,25.5686816,5.8973539,16.7981882,13.4604194,35.1526341,16.056284,0.837548,0.873554,29.0151039,22.5955975,49.6586302,12.6396812,39.5296126,65.3225313,33.2122506,49.1111754,25.2865939,6.0643237,17.2358377,13.7626026,34.4429873,16.8009664,0.9685566,1.0571749,27.938317,21.8899041,49.5540489,12.295996,38.9087135,66.3193015,33.4619281,48.8738762,25.0606907,5.8247943,16.6402093,13.6060662,34.4996177,18.2355488,0.9850651,0.9672181,27.2355243,21.1443261,47.6030454,12.406079,39.269637,66.9876265,34.474145,50.1459807,25.2931981,5.7034387,15.9274762,13.010356,34.2504815,16.7999589,1.0953769,1.1089927,26.9087021,20.8898924,48.8717289,12.6149492,39.3388191,65.93386,34.0659994,49.7654728,25.2791381,5.947762,15.099627,12.1762643,34.3746993,19.3595353 +2294,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7099394,0.7263167,11.1952979,7.6734182,43.9353771,19.2306599,32.3830664,67.8270565,37.1650082,43.6808977,22.5040301,4.3746729,10.2681576,9.6877013,36.4191634,8.3038869,0.7733529,0.7762797,11.8453238,8.3961942,44.3789379,19.1010954,32.5044145,67.8303839,37.5546585,43.4035547,22.1978694,4.5220323,10.3504153,9.2654454,35.4890884,9.1695438,0.6989246,0.7094442,12.1886975,8.6886261,44.3258429,18.8057099,32.1769174,67.999457,37.3233011,42.9488327,22.363671,4.629178,10.0182222,9.0013472,34.9097458,8.3904883,0.7248541,0.7326734,12.9213729,9.2475425,45.120057,18.2477092,32.0945602,67.8274481,36.9884703,43.0733399,22.0738995,4.5442942,10.4855712,9.2288757,35.1901169,8.7744034,0.7787902,0.7787902,12.8852286,9.2074773,45.1063878,18.6690474,32.686853,67.927708,37.4462751,43.1949579,21.8045483,4.6123133,10.8423673,9.1191448,36.0546316,8.4478203 +2295,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2356756,1.3106419,24.4719048,20.5463735,36.494061,16.7264264,33.5085185,64.6188207,36.9221594,45.9477658,20.4794037,3.372689,14.4856683,10.3664322,34.2642645,21.2538551,1.1555448,1.2381241,25.1557976,21.0170271,37.9008224,16.2189512,34.1924168,64.6833497,36.2715005,45.9444697,20.363809,3.3838488,13.646968,10.0816064,35.1189143,21.0755952,1.2788469,1.3427731,25.4200292,21.2453731,37.5805887,15.759839,34.0404562,64.2436261,35.6358048,46.3476125,20.213497,3.2973829,13.7730653,10.0302502,35.8523798,21.5278017,1.3548732,1.418104,25.8603124,21.7141662,38.0243878,15.5143499,34.0190668,63.774047,34.7715193,45.7171125,19.916323,3.3861102,13.8790625,9.9177262,35.9240801,21.0145064,1.3654145,1.4369518,26.7351174,22.843847,39.0123694,15.0076428,34.0411851,63.3560872,34.182849,45.327943,19.8354467,3.3357727,13.9462168,10.0553992,35.9915856,20.4871243 +2296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5176187,0.5466706,9.9710305,6.7583037,33.5827473,22.0923238,31.0790971,63.772559,31.3408329,42.7427972,16.1867255,7.1407764,12.0139517,9.7233883,33.777754,3.9249147,0.5330527,0.5607374,10.3014081,6.9275241,33.4635124,22.2175317,31.334423,63.4546725,30.9208316,42.7487714,15.7843948,7.1546683,11.6221871,9.2222159,32.9954866,5.2884531,0.5062624,0.5346419,10.1385388,6.7731661,33.9280135,22.4856297,31.5008489,63.6659552,31.1899256,43.2023247,16.2379795,7.475966,11.0256698,9.3500935,33.4984808,4.9152459,0.4746233,0.5037678,10.194283,6.6560112,35.0816004,22.5154895,31.3024465,63.2561937,30.2026087,43.6323836,16.1939207,7.4529607,10.973708,8.6740762,33.7859493,5.3819258,0.4483604,0.4708346,9.9591442,6.605406,36.3705285,22.4383752,31.1011044,62.9430989,29.1255279,42.8675064,16.2260372,7.5392184,11.2095117,8.6187241,34.1201206,6.1258075 +2297,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0195296,2.1298462,30.4808792,26.2720812,66.7030225,13.0719372,35.3807808,61.1870843,27.8798781,38.5416548,15.7063759,2.248331,18.3581394,14.3483547,43.0697299,20.7520161,1.741521,1.8667636,29.8505911,25.891729,66.8818447,13.2297231,34.9164675,60.8105436,27.9700073,38.727797,15.7865275,2.4158906,18.2583857,14.6224928,43.7574785,21.5277043,1.5497758,1.6736734,30.4450895,26.3991515,67.5004017,13.1529306,35.0242921,60.8040544,28.0634362,39.0478694,16.2519731,2.574032,18.9278958,14.646496,44.4048406,22.0144858,1.6161529,1.7057295,31.0803781,26.7271397,67.4165677,13.2039397,35.1397968,61.3688898,28.1697119,39.4564317,16.6015094,2.7632085,18.2658594,14.780005,44.0247705,20.8393494,1.5624091,1.6167411,31.9582293,27.6561614,68.1008799,12.8653251,34.3076143,61.7497197,27.9372099,39.1289888,16.2724028,2.4489784,18.2455122,14.9075462,43.2522572,21.5101514 +2298,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8498499,1.8878405,28.6030918,24.4144738,44.9990107,18.831897,41.1897284,65.8009859,35.1539921,48.7865694,24.3626807,4.0833102,12.7642173,10.9089584,33.3364863,20.8645994,1.9388923,1.9948276,28.861191,24.6461199,44.3501225,19.1848085,41.511531,66.827661,35.7019717,49.007702,24.568647,4.2644034,12.587796,10.4660928,32.3432341,21.1145613,1.896312,1.9911545,29.1852798,24.6504752,43.7437665,18.5352572,41.5655698,66.8899203,36.3418955,49.0215405,24.4604614,4.2088992,12.5310133,10.8634085,32.750877,22.7795647,1.7936376,1.860854,29.4980775,25.0564837,43.5763086,18.2141655,41.7047852,66.7942887,36.8664046,48.9696263,24.3942773,4.1095828,12.1738447,10.6571034,32.6154301,25.0065074,1.6295019,1.7229796,28.6996975,24.1705564,43.9177008,18.4356424,40.5026391,66.7708821,37.9854601,48.7853749,24.3844745,3.9593012,12.2698908,10.3345224,33.0460246,25.9264375 +2299,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1378824,2.1485136,32.845721,28.5722594,73.8646343,12.85834,34.7162693,65.2256885,23.7366694,37.1825394,15.1339392,1.9874126,16.7528132,11.4916187,39.7575781,24.6749361,1.9918216,1.9918216,31.7078877,27.335663,72.9737888,12.510417,34.244538,64.3370429,23.8378224,36.5808397,14.5500665,1.7241752,16.8780483,12.3476783,40.5064017,24.5903786,1.9917787,2.012696,32.0478952,27.7059088,73.0644274,12.7855353,33.6473714,64.1113659,24.3188228,37.0091817,15.0304028,1.8379808,16.8663079,11.899882,39.8244612,24.2801085,2.1161079,2.1376377,31.9158211,27.5393035,72.56685,13.4490645,33.5115352,65.503363,26.2432272,38.3664102,16.0595015,1.9414179,16.7254991,12.2118638,40.1000968,23.8704868,2.1058162,2.1113123,30.8019325,26.2127666,72.8625916,13.0835856,34.0433908,64.4283683,25.9398745,38.6634641,15.5307109,1.543163,15.7641543,12.833391,40.0403696,25.1714659 +2300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4588761,0.5412097,8.1364278,4.9733171,49.2482631,22.7358475,29.5723561,65.4639236,31.8633037,43.5853343,17.6975916,5.7464697,10.088694,9.3634366,31.3659981,3.1073464,0.5133828,0.5599866,8.2199571,5.045353,49.2928152,23.3520623,29.417329,65.3234982,32.2928387,43.5679117,17.915245,6.0348105,10.5653733,9.2291392,31.6370103,2.4324337,0.428499,0.4626754,8.0125856,4.8667668,49.2745627,23.3650005,29.3782121,64.99264,32.100803,43.3222959,17.2001479,6.0154541,10.7989204,9.2605187,31.4840066,2.8205128,0.4711272,0.5065255,7.8322503,4.9980864,48.6749787,24.2270669,29.4596701,64.4543435,32.008453,42.8488355,17.0217324,6.181076,10.5756459,9.0056115,31.8564168,2.3560209,0.513824,0.526079,7.7919515,5.0817075,48.0070323,24.0574165,29.6286921,64.3704994,31.4055315,42.5383302,16.758833,6.020548,10.9748138,8.7553217,32.5673626,2.3076923 +2301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7082276,0.7232345,13.3020085,10.413398,32.749942,17.552153,34.1460991,67.0833048,37.7168859,48.1461339,21.4346238,4.9219741,12.2752416,10.5455342,28.3528763,4.3213062,0.8450832,0.8596572,13.19446,10.1527349,34.273874,17.7932619,34.6472357,67.4425124,37.8222403,48.0208834,21.714446,4.9228647,12.6640804,10.6516768,27.5821589,4.7543124,0.8164,0.8310257,13.3188812,10.18037,35.5137142,18.5526923,34.5747002,67.1750391,37.7458132,48.2384925,21.4645406,4.8498856,12.0708113,10.5133632,26.9340773,4.0086587,0.7251734,0.7542166,13.5298726,10.3433979,36.3178722,18.866154,34.4104395,67.0264833,37.5001757,48.5518865,20.9535637,4.8890643,12.1679895,10.559153,27.347156,4.7379576,0.8214107,0.8506152,13.8773959,10.6265045,36.6087707,19.0530211,34.2525498,67.0557138,36.8336226,48.3192123,20.7596427,5.145195,12.6876586,10.7736851,26.2968692,5.4208541 +2302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6619209,0.6619209,8.4018962,6.3264246,66.8372937,13.3975358,26.2321386,68.7429913,31.6593924,44.5240578,13.8498183,4.6031935,13.0905839,10.4565831,33.0783187,5.9992672,0.6762225,0.6762225,8.5310657,6.3742829,65.4096004,13.4360729,26.4514785,68.6582567,31.458454,44.8102152,13.9536113,4.6383256,13.4438518,11.2951362,32.2594482,6.5378024,0.6919716,0.6874746,8.9183712,6.3322838,63.4374974,13.4800986,26.627815,69.9934888,31.8113788,45.7490587,15.0706364,4.5116757,13.4312505,11.4746421,32.7404933,6.6428114,0.6995213,0.6949753,8.7084582,6.1820977,61.5445513,13.1601555,27.2523117,70.4913297,31.6485202,45.4204715,14.9976154,4.6102138,12.757174,11.5207787,32.9381418,8.1554047,0.6732158,0.6685923,9.2218995,6.6203685,58.2468587,12.6799596,26.9170877,70.6666398,31.3140488,45.6143343,15.6273784,4.8526287,12.6558735,11.4695321,32.9812793,9.1234301 +2303,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5928214,2.6370547,38.2189836,33.193973,51.7717762,19.156849,37.775913,65.1709693,32.4075189,46.5299009,21.002616,3.7469851,14.6267677,13.8494156,33.7169041,24.4688934,2.5479232,2.5928444,37.9713941,32.7541195,52.6075968,18.8216988,37.7286491,64.30504,31.7437011,46.9737172,20.3173265,3.4341645,14.7871687,13.5969185,34.0253553,23.3105782,2.5202949,2.5705423,38.4873753,33.0896482,54.2587402,19.413492,37.5994648,64.0456755,32.2982186,45.812552,20.7235736,3.5237739,16.3004853,14.017176,34.3570993,23.7502749,2.4318863,2.4844491,36.3024499,31.1647581,53.5650082,19.240548,36.8692176,63.9048336,31.6658115,44.8453966,20.3103707,3.0750982,17.2180406,14.2893829,34.5923961,25.4456982,2.2987321,2.352584,35.7211606,30.4425884,53.3590465,19.5627202,36.7750866,65.4052422,33.0325288,45.5103765,20.8312659,3.015331,17.3396013,13.9777142,36.2442241,25.8368194 +2304,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6610772,0.6693907,12.3413076,8.51931,39.7836448,19.5613336,32.6239639,62.9847338,35.1236314,45.6357224,20.8417811,6.4248071,10.0321467,7.737191,33.1087405,8.9350393,0.7107979,0.7197042,12.3937358,8.5908431,40.0362288,19.7187148,32.8216339,62.4645035,34.7481683,45.3183907,20.3377309,6.3896553,9.9178293,7.5712104,33.1453551,9.0361649,0.716408,0.7255198,12.4953723,8.5883349,40.6283027,19.8145368,32.5429211,62.4784772,35.2094098,45.5995017,20.2744741,6.3903655,9.8185771,7.7121092,33.4476324,8.5884679,0.7379181,0.7473734,12.6488351,8.7317428,41.4902872,19.6690074,32.9776101,61.9663823,34.4861716,44.7334908,20.2432137,6.6797849,10.0224186,7.5712813,34.080676,8.8182316,0.804491,0.8138859,13.2722831,9.2440679,42.0852688,19.7338795,33.2094576,61.8618218,33.7090563,44.5785859,19.9229765,6.7445115,10.4667325,7.8359246,34.2298086,9.0827812 +2305,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6906752,0.7224435,9.4220018,6.4997836,40.4930116,16.7746769,28.1537584,69.6780816,35.7972099,45.7840774,20.7293211,3.7341131,9.7284046,8.9715131,32.802727,8.0204955,0.7875888,0.8024403,9.7263513,6.7564725,39.5509164,16.8976528,28.2669937,68.5525913,36.1207315,46.029875,21.4084947,3.6023291,9.8730322,9.1765343,33.8553352,8.4717743,0.7762094,0.7860461,9.9894741,6.7263132,38.853698,17.2057897,28.582215,68.8106141,36.5330745,45.927614,21.5147736,3.5013926,9.8371327,8.5904137,33.4987314,9.4178167,0.788343,0.8101782,10.1884042,6.8707703,38.9760308,16.8352671,29.2563307,69.1978286,37.5287147,46.6367273,21.2346002,3.8332929,9.5842048,8.6278613,33.8419906,10.304053,0.7804455,0.7831635,10.1202555,6.8589445,38.7692398,16.4370925,29.1874494,69.3162867,37.6662363,46.4775602,20.9372408,3.9172876,9.8296079,8.2120591,33.0058742,10.6271866 +2306,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9603849,0.9785047,18.3743197,14.2807589,34.7863695,18.4930438,38.7000126,63.6701347,35.9229706,46.5285772,21.7979307,3.4594932,13.8235054,10.0174028,34.4725612,13.1294746,0.9440777,0.9673111,18.6870201,14.6311169,35.5600693,19.1032176,38.554671,64.6180916,36.3455101,46.4982437,22.2208868,3.3490679,13.7541449,9.735645,34.6039112,11.5517056,0.9377595,0.9546849,18.9498976,15.0034361,36.3820662,19.4265492,38.0201095,65.4628502,36.851416,47.4170596,22.5221611,3.4946847,13.377959,9.804289,35.0243689,11.8728882,0.9157158,0.9395093,18.2905256,14.2905373,36.9462344,20.4521313,38.8773688,66.5398934,38.231992,47.7524503,22.4411773,3.6077107,13.2028415,9.878453,35.2343541,9.5911756,0.9278902,0.9442669,18.3864112,14.259088,37.4797345,20.0291288,39.0451202,66.8972187,38.8410631,47.6185115,22.5560791,3.7083778,13.0919538,9.589945,34.5906661,10.8562452 +2307,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2988089,2.3283018,33.6187309,29.3299224,55.9641984,16.5984339,35.8458748,66.4114725,33.7280895,43.3410426,20.8274623,2.4100854,14.2500904,10.424878,39.7793369,25.1676759,2.2418539,2.2764811,34.4948699,29.9867295,57.1653228,16.1180358,36.0752339,66.3236103,33.6768497,43.4116786,20.7815519,2.130312,14.832946,10.7871497,39.4662672,24.8328484,2.2839785,2.3448628,35.6764488,30.8304662,58.7695146,15.773253,36.091463,66.0084595,32.8040605,42.5555139,20.4005347,2.1408359,15.9659121,11.1940737,40.777075,24.4833565,2.2173393,2.3053928,36.104809,31.3950511,59.8329477,15.7567802,35.9717945,65.4529937,32.4511654,41.8035004,19.9544068,2.0827317,16.9019177,11.1923756,39.8298217,23.2942547,2.2358409,2.2753044,36.8972131,32.1513928,59.6979142,15.4702761,36.1758096,65.6393164,32.0391164,41.459876,19.2821704,2.0682745,17.5691245,12.1350626,39.928959,24.1477017 +2308,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9388923,1.9948276,28.861191,24.6461199,44.3501225,19.1848085,41.511531,66.827661,35.7019717,49.007702,24.568647,4.2644034,12.587796,10.4660928,32.3432341,21.1145613,1.896312,1.9911545,29.1852798,24.6504752,43.7437665,18.5352572,41.5655698,66.8899203,36.3418955,49.0215405,24.4604614,4.2088992,12.5310133,10.8634085,32.750877,22.7795647,1.7936376,1.860854,29.4980775,25.0564837,43.5763086,18.2141655,41.7047852,66.7942887,36.8664046,48.9696263,24.3942773,4.1095828,12.1738447,10.6571034,32.6154301,25.0065074,1.6295019,1.7229796,28.6996975,24.1705564,43.9177008,18.4356424,40.5026391,66.7708821,37.9854601,48.7853749,24.3844745,3.9593012,12.2698908,10.3345224,33.0460246,25.9264375,1.624459,1.7174519,28.7174748,24.372012,44.1652648,17.9194487,39.839485,66.325865,36.7355071,47.8466907,24.3764959,3.6843678,11.7850156,9.5248301,32.2519597,27.9727868 +2309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8232445,0.816926,12.3485875,8.0595978,25.1534543,21.2065413,32.045339,68.1764,37.6633902,48.8273263,25.0290253,3.5918455,12.5551313,11.0079872,37.4413997,7.8766277,0.8951291,0.8951291,12.6721975,8.2636298,25.6387965,20.6739892,31.5403417,67.9432078,37.5570045,47.2731508,24.7454913,3.4869167,12.2935176,11.3213944,37.1445584,8.8234352,0.920995,0.9304797,12.6110358,8.0867484,25.5405647,20.9818274,32.4736295,67.434266,37.4665937,47.0727357,24.6244375,3.2594962,11.9269201,11.5059587,38.0076575,9.5277584,0.8124505,0.8217993,13.063919,8.8572966,25.4361625,21.1396703,33.5232686,67.7267731,38.2623171,47.7868778,25.6648721,3.7056525,12.0389817,11.4618322,38.0139903,10.0851452,0.8439412,0.853225,13.5819527,9.2931971,24.9688888,21.1920275,34.3632993,67.568401,38.8902184,47.7351492,25.3008101,3.485905,11.5676473,11.469698,39.6810329,8.9587054 +2310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4517166,0.4600798,8.4841285,5.2320974,45.8909584,19.9715206,28.9917028,65.1503372,34.175746,40.9668221,18.7791633,7.4002054,10.4523242,7.327586,35.562368,3.1626525,0.4637957,0.4685295,8.7841318,5.5015727,46.3684883,20.0650185,29.2174119,65.1334561,33.3894869,39.8678419,18.7743,7.3982906,10.4793961,7.5618481,36.0756883,2.9141122,0.4245225,0.4324798,8.7893138,5.590798,46.9959363,20.2709815,28.8381214,64.9216771,32.754575,39.986952,17.4804238,6.9843377,10.4727116,7.5416792,36.1648507,3.376208,0.3993725,0.4073034,9.1426239,6.0730326,47.3976552,20.4186421,29.2705136,64.3951243,32.4117406,39.4730111,17.1209824,6.9444481,10.1930918,7.5609761,36.3210921,3.4023689,0.3406489,0.3482942,9.2771661,6.2484069,47.7426841,20.7741151,29.8453529,63.6941949,31.8159201,39.3988598,16.824648,7.0217047,10.3382132,7.5608039,36.3939482,3.4954429 +2311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8450832,0.8596572,13.19446,10.1527349,34.273874,17.7932619,34.6472357,67.4425124,37.8222403,48.0208834,21.714446,4.9228647,12.6640804,10.6516768,27.5821589,4.7543124,0.8164,0.8310257,13.3188812,10.18037,35.5137142,18.5526923,34.5747002,67.1750391,37.7458132,48.2384925,21.4645406,4.8498856,12.0708113,10.5133632,26.9340773,4.0086587,0.7251734,0.7542166,13.5298726,10.3433979,36.3178722,18.866154,34.4104395,67.0264833,37.5001757,48.5518865,20.9535637,4.8890643,12.1679895,10.559153,27.347156,4.7379576,0.8214107,0.8506152,13.8773959,10.6265045,36.6087707,19.0530211,34.2525498,67.0557138,36.8336226,48.3192123,20.7596427,5.145195,12.6876586,10.7736851,26.2968692,5.4208541,0.8524198,0.8562544,14.2374631,11.0586945,37.6420287,19.0123155,33.9944562,66.9111612,36.0748012,48.6337028,20.5072567,5.3213057,12.3253533,11.1080247,25.8271533,6.2711163 +2312,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.741521,1.8667636,29.8505911,25.891729,66.8818447,13.2297231,34.9164675,60.8105436,27.9700073,38.727797,15.7865275,2.4158906,18.2583857,14.6224928,43.7574785,21.5277043,1.5497758,1.6736734,30.4450895,26.3991515,67.5004017,13.1529306,35.0242921,60.8040544,28.0634362,39.0478694,16.2519731,2.574032,18.9278958,14.646496,44.4048406,22.0144858,1.6161529,1.7057295,31.0803781,26.7271397,67.4165677,13.2039397,35.1397968,61.3688898,28.1697119,39.4564317,16.6015094,2.7632085,18.2658594,14.780005,44.0247705,20.8393494,1.5624091,1.6167411,31.9582293,27.6561614,68.1008799,12.8653251,34.3076143,61.7497197,27.9372099,39.1289888,16.2724028,2.4489784,18.2455122,14.9075462,43.2522572,21.5101514,1.6008589,1.6133195,32.343411,28.0213431,67.3063165,12.8179901,34.53247,62.6183434,29.2022671,39.3783991,16.9148312,2.8283221,17.7629179,14.7981573,42.4024299,19.2897433 +2313,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1555448,1.2381241,25.1557976,21.0170271,37.9008224,16.2189512,34.1924168,64.6833497,36.2715005,45.9444697,20.363809,3.3838488,13.646968,10.0816064,35.1189143,21.0755952,1.2788469,1.3427731,25.4200292,21.2453731,37.5805887,15.759839,34.0404562,64.2436261,35.6358048,46.3476125,20.213497,3.2973829,13.7730653,10.0302502,35.8523798,21.5278017,1.3548732,1.418104,25.8603124,21.7141662,38.0243878,15.5143499,34.0190668,63.774047,34.7715193,45.7171125,19.916323,3.3861102,13.8790625,9.9177262,35.9240801,21.0145064,1.3654145,1.4369518,26.7351174,22.843847,39.0123694,15.0076428,34.0411851,63.3560872,34.182849,45.327943,19.8354467,3.3357727,13.9462168,10.0553992,35.9915856,20.4871243,1.3173801,1.3857586,27.223223,23.3262211,39.6778012,14.9203228,34.5287781,62.9585958,32.9946989,44.9132752,18.9047422,3.1679193,13.6482835,9.795464,36.0287536,19.1057002 +2314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4637957,0.4685295,8.7841318,5.5015727,46.3684883,20.0650185,29.2174119,65.1334561,33.3894869,39.8678419,18.7743,7.3982906,10.4793961,7.5618481,36.0756883,2.9141122,0.4245225,0.4324798,8.7893138,5.590798,46.9959363,20.2709815,28.8381214,64.9216771,32.754575,39.986952,17.4804238,6.9843377,10.4727116,7.5416792,36.1648507,3.376208,0.3993725,0.4073034,9.1426239,6.0730326,47.3976552,20.4186421,29.2705136,64.3951243,32.4117406,39.4730111,17.1209824,6.9444481,10.1930918,7.5609761,36.3210921,3.4023689,0.3406489,0.3482942,9.2771661,6.2484069,47.7426841,20.7741151,29.8453529,63.6941949,31.8159201,39.3988598,16.824648,7.0217047,10.3382132,7.5608039,36.3939482,3.4954429,0.4434924,0.4563299,9.6431162,6.5631856,47.5873285,21.0429937,30.4457266,63.5633884,31.6199424,39.7675599,17.4095395,6.9853835,10.0735039,7.5168926,35.6830285,3.9358612 +2315,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5871576,1.6936937,20.3592202,16.2185068,83.2385745,15.3388408,36.0296997,64.0963557,37.1605414,41.5039477,20.0430548,5.1287081,13.9472138,13.3540784,37.1949496,9.7373392,1.6381379,1.6871616,19.9191657,15.9162711,83.570508,15.3533695,34.511583,63.8359792,36.6093395,41.6358808,19.8786965,5.1847821,13.9382771,12.578562,38.678469,12.1475584,1.6214964,1.6508933,20.1221768,16.1928068,83.5830416,14.4080792,33.9208146,63.0115623,36.9244954,41.4012679,19.852499,5.658901,14.5497445,12.7703679,39.3718461,12.9841212,1.5813813,1.5813813,19.7413035,15.5587003,83.9783647,14.587074,34.0678764,62.8742579,38.0818271,41.4607971,20.3631886,6.0870744,14.6957259,13.4401003,38.8812227,11.6861989,1.6190379,1.6190379,19.6125041,15.5694009,84.6616109,13.1116274,33.9001488,61.7958321,36.6671279,40.6522136,19.6993561,5.5595772,14.1493355,13.0298988,38.2570145,12.7732872 +2316,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5485498,0.5625613,7.4819168,4.7694394,41.6056725,21.1340206,30.0587173,68.2249322,33.5365854,45.234869,16.5085818,5.8943089,10.2508651,9.5753899,31.6041848,0.3448276,0.6441387,0.6576285,7.9956427,5.1198257,42.1716055,21.3884083,29.8908297,69.0174672,33.9519651,45.5240175,16.3537118,6.3537118,10.7531381,9.2779177,32.1940928,1.5625,0.5708143,0.5846858,7.9616414,5.0624442,41.8302145,21.09375,29.590459,68.2943294,33.8658866,45.3870387,15.7740774,5.9630963,10.8355091,9.6338274,33.5237258,1.5243902,0.6527658,0.6456005,8.0526073,5.2376557,41.5532614,21.6743119,28.8319483,67.4284395,34.0027701,45.7294552,15.4893813,6.0710988,11.1830743,9.2048401,33.6094159,1.5337423,0.5667214,0.5462127,8.09797,5.2294793,41.6968326,22.2099691,30.1058668,67.4239082,34.03176,45.2359947,15.9902955,6.3299515,11.0060514,9.0667678,34.5392232,3.2934132 +2317,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5497758,1.6736734,30.4450895,26.3991515,67.5004017,13.1529306,35.0242921,60.8040544,28.0634362,39.0478694,16.2519731,2.574032,18.9278958,14.646496,44.4048406,22.0144858,1.6161529,1.7057295,31.0803781,26.7271397,67.4165677,13.2039397,35.1397968,61.3688898,28.1697119,39.4564317,16.6015094,2.7632085,18.2658594,14.780005,44.0247705,20.8393494,1.5624091,1.6167411,31.9582293,27.6561614,68.1008799,12.8653251,34.3076143,61.7497197,27.9372099,39.1289888,16.2724028,2.4489784,18.2455122,14.9075462,43.2522572,21.5101514,1.6008589,1.6133195,32.343411,28.0213431,67.3063165,12.8179901,34.53247,62.6183434,29.2022671,39.3783991,16.9148312,2.8283221,17.7629179,14.7981573,42.4024299,19.2897433,1.5326431,1.5451943,32.2682984,27.9178316,66.5627773,12.7901724,35.2666842,64.1996515,29.5629456,40.0323323,17.0136997,2.9748048,16.8698863,13.9966889,41.5378946,19.183274 +2318,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8164,0.8310257,13.3188812,10.18037,35.5137142,18.5526923,34.5747002,67.1750391,37.7458132,48.2384925,21.4645406,4.8498856,12.0708113,10.5133632,26.9340773,4.0086587,0.7251734,0.7542166,13.5298726,10.3433979,36.3178722,18.866154,34.4104395,67.0264833,37.5001757,48.5518865,20.9535637,4.8890643,12.1679895,10.559153,27.347156,4.7379576,0.8214107,0.8506152,13.8773959,10.6265045,36.6087707,19.0530211,34.2525498,67.0557138,36.8336226,48.3192123,20.7596427,5.145195,12.6876586,10.7736851,26.2968692,5.4208541,0.8524198,0.8562544,14.2374631,11.0586945,37.6420287,19.0123155,33.9944562,66.9111612,36.0748012,48.6337028,20.5072567,5.3213057,12.3253533,11.1080247,25.8271533,6.2711163,0.904835,0.8894822,14.7150097,11.1273826,38.4085834,19.3014446,34.2185113,67.6270734,35.5368489,49.1082909,20.4011177,5.3430739,12.2202483,10.7883065,25.6426607,6.9131077 +2319,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7251734,0.7542166,13.5298726,10.3433979,36.3178722,18.866154,34.4104395,67.0264833,37.5001757,48.5518865,20.9535637,4.8890643,12.1679895,10.559153,27.347156,4.7379576,0.8214107,0.8506152,13.8773959,10.6265045,36.6087707,19.0530211,34.2525498,67.0557138,36.8336226,48.3192123,20.7596427,5.145195,12.6876586,10.7736851,26.2968692,5.4208541,0.8524198,0.8562544,14.2374631,11.0586945,37.6420287,19.0123155,33.9944562,66.9111612,36.0748012,48.6337028,20.5072567,5.3213057,12.3253533,11.1080247,25.8271533,6.2711163,0.904835,0.8894822,14.7150097,11.1273826,38.4085834,19.3014446,34.2185113,67.6270734,35.5368489,49.1082909,20.4011177,5.3430739,12.2202483,10.7883065,25.6426607,6.9131077,1.0580302,1.0683579,15.1504724,11.3663437,39.1446872,19.4390801,33.8475038,67.0705931,35.1789241,48.7230232,20.5263044,5.1480902,12.4033437,10.6568158,26.170339,7.5152637 +2320,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5133828,0.5599866,8.2199571,5.045353,49.2928152,23.3520623,29.417329,65.3234982,32.2928387,43.5679117,17.915245,6.0348105,10.5653733,9.2291392,31.6370103,2.4324337,0.428499,0.4626754,8.0125856,4.8667668,49.2745627,23.3650005,29.3782121,64.99264,32.100803,43.3222959,17.2001479,6.0154541,10.7989204,9.2605187,31.4840066,2.8205128,0.4711272,0.5065255,7.8322503,4.9980864,48.6749787,24.2270669,29.4596701,64.4543435,32.008453,42.8488355,17.0217324,6.181076,10.5756459,9.0056115,31.8564168,2.3560209,0.513824,0.526079,7.7919515,5.0817075,48.0070323,24.0574165,29.6286921,64.3704994,31.4055315,42.5383302,16.758833,6.020548,10.9748138,8.7553217,32.5673626,2.3076923,0.4797179,0.4562106,8.3492584,5.25411,49.1710363,24.0994274,30.0682653,63.6935978,30.068543,42.5065016,16.8695816,5.8767778,10.8709811,8.0919798,32.1227061,2.5943396 +2321,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.896312,1.9911545,29.1852798,24.6504752,43.7437665,18.5352572,41.5655698,66.8899203,36.3418955,49.0215405,24.4604614,4.2088992,12.5310133,10.8634085,32.750877,22.7795647,1.7936376,1.860854,29.4980775,25.0564837,43.5763086,18.2141655,41.7047852,66.7942887,36.8664046,48.9696263,24.3942773,4.1095828,12.1738447,10.6571034,32.6154301,25.0065074,1.6295019,1.7229796,28.6996975,24.1705564,43.9177008,18.4356424,40.5026391,66.7708821,37.9854601,48.7853749,24.3844745,3.9593012,12.2698908,10.3345224,33.0460246,25.9264375,1.624459,1.7174519,28.7174748,24.372012,44.1652648,17.9194487,39.839485,66.325865,36.7355071,47.8466907,24.3764959,3.6843678,11.7850156,9.5248301,32.2519597,27.9727868,1.8038515,1.8883243,28.6297926,24.4198913,43.894995,17.3642029,40.153428,66.8487803,37.1783195,48.4111178,25.0910931,3.7654026,12.0703406,9.5240671,32.2386914,28.2808653 +2322,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6161529,1.7057295,31.0803781,26.7271397,67.4165677,13.2039397,35.1397968,61.3688898,28.1697119,39.4564317,16.6015094,2.7632085,18.2658594,14.780005,44.0247705,20.8393494,1.5624091,1.6167411,31.9582293,27.6561614,68.1008799,12.8653251,34.3076143,61.7497197,27.9372099,39.1289888,16.2724028,2.4489784,18.2455122,14.9075462,43.2522572,21.5101514,1.6008589,1.6133195,32.343411,28.0213431,67.3063165,12.8179901,34.53247,62.6183434,29.2022671,39.3783991,16.9148312,2.8283221,17.7629179,14.7981573,42.4024299,19.2897433,1.5326431,1.5451943,32.2682984,27.9178316,66.5627773,12.7901724,35.2666842,64.1996515,29.5629456,40.0323323,17.0136997,2.9748048,16.8698863,13.9966889,41.5378946,19.183274,1.5262645,1.5007661,32.2540834,27.9731205,67.0483731,12.2642569,34.7026281,64.8797611,29.2770297,39.9642738,17.1770904,2.7753874,17.0193098,14.5824398,40.9607725,19.7277909 +2323,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.5221594,1.5691246,18.6298824,14.6717122,62.8540301,13.7907646,29.6220047,61.4713156,31.4526179,39.0371955,17.2413019,3.3228458,15.2942067,12.1936964,36.6161649,10.2846191,1.4429417,1.5148698,18.6306782,14.5356804,63.9286383,12.8751992,29.9558209,61.8424098,30.8178279,38.8681573,16.1793072,3.1412434,16.5203231,12.4141809,38.4150512,11.0823674,1.5094305,1.5818116,18.9813773,14.535352,64.2670297,12.6532526,29.482635,61.5238632,30.46588,38.4008175,16.0587456,2.9130395,16.7106511,12.6056778,39.6940848,10.3494056,1.4795211,1.5516114,18.4503614,14.0602227,64.7989483,12.7592798,29.3144206,61.6724345,30.3613416,37.8740089,16.1721783,2.8451473,16.274287,12.5839297,39.2927473,8.7243673,1.5191867,1.5995598,19.7202087,14.9080333,66.0077868,12.4570403,29.7242516,61.1833204,29.3409128,37.0041903,16.2553782,3.008664,17.1723092,13.7743394,40.7294534,10.1092806 +2324,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7090994,0.7484076,9.8812988,6.5039158,45.5997462,13.4075098,30.1449787,64.0189234,31.1401917,41.5345944,18.39907,14.6762497,10.7995725,8.2648293,37.9570407,3.2142848,0.6272277,0.6609659,9.9349662,6.4162118,45.8368881,13.3305818,30.3190844,63.7999302,31.1459178,41.6501772,18.0913048,14.7956212,10.7799646,8.4839917,37.5721067,3.9202195,0.6058501,0.6381864,9.4648169,6.1171686,45.6727997,13.436942,30.5770055,63.4212271,30.7424998,41.3559245,17.8342939,14.778243,10.5995373,8.5405661,37.5925287,3.8050729,0.5709185,0.615467,9.5100379,6.30033,45.7753199,13.5408287,30.1068522,63.7319554,30.9594234,41.3265999,17.6821712,15.044901,10.5250385,8.3551112,37.3539842,4.0689655,0.512667,0.5679703,9.6190155,6.4696885,45.5678159,13.856438,30.077892,63.6079301,30.7152128,40.8651081,17.3551317,14.6996324,11.3950041,8.6699915,37.4031303,3.490029 +2325,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9202237,0.9136331,15.6190123,11.6499457,48.8472124,13.0967204,30.1680268,64.1591972,33.6657723,40.7994125,17.8766816,4.288531,11.6691275,8.5068798,33.4114436,11.6013782,0.8649763,0.864064,15.9144737,11.9996834,49.5665804,13.1020419,30.8774508,63.9924037,33.2743495,40.8289988,18.5028792,4.3553639,11.8485818,8.971756,33.8829474,12.5,0.9625009,0.9705324,15.9042494,11.8951782,50.3714872,12.9512771,30.7057555,64.6000571,34.1975855,41.4930663,19.0015447,4.4517905,11.7222873,9.088249,33.8295733,13.0952381,0.8911072,0.912481,16.2538131,12.2231536,51.2330832,12.5077402,30.9504175,64.5115082,33.9152584,41.6110526,18.4000962,4.537174,11.9066956,8.9595563,34.0392073,13.3223684,0.923018,0.9606328,16.446858,12.4854643,52.7270882,12.3433379,30.5571655,64.7973197,33.9975548,41.4955741,18.3830611,4.4561396,12.6409977,9.814529,33.6122684,14.3518519 +2326,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8214107,0.8506152,13.8773959,10.6265045,36.6087707,19.0530211,34.2525498,67.0557138,36.8336226,48.3192123,20.7596427,5.145195,12.6876586,10.7736851,26.2968692,5.4208541,0.8524198,0.8562544,14.2374631,11.0586945,37.6420287,19.0123155,33.9944562,66.9111612,36.0748012,48.6337028,20.5072567,5.3213057,12.3253533,11.1080247,25.8271533,6.2711163,0.904835,0.8894822,14.7150097,11.1273826,38.4085834,19.3014446,34.2185113,67.6270734,35.5368489,49.1082909,20.4011177,5.3430739,12.2202483,10.7883065,25.6426607,6.9131077,1.0580302,1.0683579,15.1504724,11.3663437,39.1446872,19.4390801,33.8475038,67.0705931,35.1789241,48.7230232,20.5263044,5.1480902,12.4033437,10.6568158,26.170339,7.5152637,0.8712978,0.8892993,15.2593398,11.4411369,38.9145539,19.6866258,32.9827172,67.2175108,35.5180394,48.5627592,20.2759932,4.9446338,12.158489,10.2779775,26.2450533,7.3898627 +2327,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.837548,0.873554,29.0151039,22.5955975,49.6586302,12.6396812,39.5296126,65.3225313,33.2122506,49.1111754,25.2865939,6.0643237,17.2358377,13.7626026,34.4429873,16.8009664,0.9685566,1.0571749,27.938317,21.8899041,49.5540489,12.295996,38.9087135,66.3193015,33.4619281,48.8738762,25.0606907,5.8247943,16.6402093,13.6060662,34.4996177,18.2355488,0.9850651,0.9672181,27.2355243,21.1443261,47.6030454,12.406079,39.269637,66.9876265,34.474145,50.1459807,25.2931981,5.7034387,15.9274762,13.010356,34.2504815,16.7999589,1.0953769,1.1089927,26.9087021,20.8898924,48.8717289,12.6149492,39.3388191,65.93386,34.0659994,49.7654728,25.2791381,5.947762,15.099627,12.1762643,34.3746993,19.3595353,1.081062,1.095118,26.4219291,20.5621358,47.4258762,12.7956378,39.0525807,66.4341577,34.1667682,49.9686772,26.9293853,5.8803737,14.4147491,11.7751917,33.9583444,18.7203327 +2328,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8836037,0.9281469,15.6988521,12.0148605,68.6704794,8.1513343,27.7465397,60.06182,27.648026,36.7182584,14.4438983,5.4897474,12.4914176,9.352276,37.9002308,8.3465695,0.8364918,0.8659114,15.9270073,12.3916875,69.7211603,8.0741908,27.2547953,60.4450926,27.6833401,36.5393371,14.282147,5.3734675,12.6981766,9.4628997,37.6256277,8.3246767,0.8415451,0.8765885,16.2634635,12.6546477,70.4070393,8.1909147,26.8353852,60.8632058,27.9396535,36.4132334,14.3345043,5.5007189,12.7781155,9.5535487,37.4271302,8.4005936,0.8197285,0.8482156,16.4957085,13.0229736,70.9619716,8.3382589,26.3523375,61.3582817,28.08362,36.2263602,14.3548985,5.3754583,12.9761836,9.6368966,37.2282982,8.2367038,0.8566044,0.9012002,16.6777256,13.2508113,71.6319622,8.369719,26.11371,62.1670081,28.6108337,36.6987703,14.4944129,5.3435878,13.0684223,9.6969111,37.1636114,8.3445689 +2329,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7936376,1.860854,29.4980775,25.0564837,43.5763086,18.2141655,41.7047852,66.7942887,36.8664046,48.9696263,24.3942773,4.1095828,12.1738447,10.6571034,32.6154301,25.0065074,1.6295019,1.7229796,28.6996975,24.1705564,43.9177008,18.4356424,40.5026391,66.7708821,37.9854601,48.7853749,24.3844745,3.9593012,12.2698908,10.3345224,33.0460246,25.9264375,1.624459,1.7174519,28.7174748,24.372012,44.1652648,17.9194487,39.839485,66.325865,36.7355071,47.8466907,24.3764959,3.6843678,11.7850156,9.5248301,32.2519597,27.9727868,1.8038515,1.8883243,28.6297926,24.4198913,43.894995,17.3642029,40.153428,66.8487803,37.1783195,48.4111178,25.0910931,3.7654026,12.0703406,9.5240671,32.2386914,28.2808653,1.6271361,1.7122231,28.1112217,24.1324414,43.5664818,17.2818709,40.2292307,67.2449019,36.5863595,48.2223264,25.2056282,3.7356374,11.9114728,9.3681112,30.0985858,28.8454618 +2330,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4950684,2.3103962,35.6720827,31.3884786,66.2826421,6.9852941,38.3982036,67.8892216,28.8173653,45.2844311,16.8413174,6.0628743,13.5174419,8.0174927,33.1871345,13.0813953,2.6231506,2.4324019,34.222561,30.8689024,66.6401274,7.2078907,38.9318885,66.3312693,27.0123839,44.0402477,16.9504644,6.1145511,12.9969419,9.0490798,33.0769231,13.9751553,2.2391775,2.1894262,34.4745223,30.9713376,66.8060201,7.5757576,39.233279,66.3132137,27.8140294,44.2903752,16.8841762,5.7911909,12.5,8.6319218,33.496732,14.9305556,1.9881755,1.9390837,34.4637224,31.6246057,68.5970636,7.0982839,37.6386688,66.0063391,27.496038,43.18542,17.3534073,6.1014263,13.5093168,8.8785047,34.84375,14.8026316,2.2095522,2.1590472,35.9706362,32.3817292,68.4433164,7.8225806,38.7070376,65.3846154,28.0687398,44.1080196,17.594108,6.4648118,14.1666667,8.8628763,35.4026846,16.9871795 +2331,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7609313,0.765004,11.0479566,7.2270102,47.1935686,11.7404248,31.5224839,67.6962573,42.8297959,45.8622837,24.5628983,4.9290764,10.7570779,9.4831856,39.1256951,9.6129846,0.7929145,0.8017278,11.237754,7.4091016,46.4617397,12.0404581,30.9568203,67.7606982,43.1601349,45.938745,24.798768,4.8702323,10.507563,9.3248623,39.039329,10.4428561,0.7706937,0.8073357,11.4732113,7.6965773,46.1656569,11.9467039,30.6216321,67.154174,42.8386675,45.6671892,24.745944,4.6596376,10.5352087,9.2772973,39.918423,10.2029506,0.7809548,0.8116452,11.6534506,7.7477375,46.038007,11.5826618,30.6490578,66.9292714,42.1544388,45.5256371,24.7100878,4.5717931,10.3998981,9.2041041,40.5232386,9.688596,0.7813449,0.8129507,11.6029261,7.826549,45.5814109,11.9411946,30.7281764,66.7481607,42.2533944,45.7003386,24.8162719,4.6072203,10.6005154,9.1423896,40.4849729,9.4253817 +2332,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6272277,0.6609659,9.9349662,6.4162118,45.8368881,13.3305818,30.3190844,63.7999302,31.1459178,41.6501772,18.0913048,14.7956212,10.7799646,8.4839917,37.5721067,3.9202195,0.6058501,0.6381864,9.4648169,6.1171686,45.6727997,13.436942,30.5770055,63.4212271,30.7424998,41.3559245,17.8342939,14.778243,10.5995373,8.5405661,37.5925287,3.8050729,0.5709185,0.615467,9.5100379,6.30033,45.7753199,13.5408287,30.1068522,63.7319554,30.9594234,41.3265999,17.6821712,15.044901,10.5250385,8.3551112,37.3539842,4.0689655,0.512667,0.5679703,9.6190155,6.4696885,45.5678159,13.856438,30.077892,63.6079301,30.7152128,40.8651081,17.3551317,14.6996324,11.3950041,8.6699915,37.4031303,3.490029,0.5236104,0.5410163,9.7803112,6.5848229,45.9039718,13.9667855,30.0610211,63.2730886,30.2722686,40.7874706,17.104802,14.4877363,11.5553809,8.8122914,37.1926261,3.7219106 +2333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8951291,0.8951291,12.6721975,8.2636298,25.6387965,20.6739892,31.5403417,67.9432078,37.5570045,47.2731508,24.7454913,3.4869167,12.2935176,11.3213944,37.1445584,8.8234352,0.920995,0.9304797,12.6110358,8.0867484,25.5405647,20.9818274,32.4736295,67.434266,37.4665937,47.0727357,24.6244375,3.2594962,11.9269201,11.5059587,38.0076575,9.5277584,0.8124505,0.8217993,13.063919,8.8572966,25.4361625,21.1396703,33.5232686,67.7267731,38.2623171,47.7868778,25.6648721,3.7056525,12.0389817,11.4618322,38.0139903,10.0851452,0.8439412,0.853225,13.5819527,9.2931971,24.9688888,21.1920275,34.3632993,67.568401,38.8902184,47.7351492,25.3008101,3.485905,11.5676473,11.469698,39.6810329,8.9587054,0.7904585,0.8368563,13.4979154,9.4112064,24.6033307,20.706753,34.448421,67.4885388,38.5149641,48.1325793,24.8960961,3.4047432,11.5344061,10.9534387,39.9833658,7.9775685 +2334,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7929145,0.8017278,11.237754,7.4091016,46.4617397,12.0404581,30.9568203,67.7606982,43.1601349,45.938745,24.798768,4.8702323,10.507563,9.3248623,39.039329,10.4428561,0.7706937,0.8073357,11.4732113,7.6965773,46.1656569,11.9467039,30.6216321,67.154174,42.8386675,45.6671892,24.745944,4.6596376,10.5352087,9.2772973,39.918423,10.2029506,0.7809548,0.8116452,11.6534506,7.7477375,46.038007,11.5826618,30.6490578,66.9292714,42.1544388,45.5256371,24.7100878,4.5717931,10.3998981,9.2041041,40.5232386,9.688596,0.7813449,0.8129507,11.6029261,7.826549,45.5814109,11.9411946,30.7281764,66.7481607,42.2533944,45.7003386,24.8162719,4.6072203,10.6005154,9.1423896,40.4849729,9.4253817,0.8509674,0.8796999,11.7566668,7.9899026,45.3707848,12.1102366,30.6545791,66.6807982,42.418811,45.4394537,24.8833983,4.5696359,10.6115556,8.7361165,40.2376108,8.9236729 +2335,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.428499,0.4626754,8.0125856,4.8667668,49.2745627,23.3650005,29.3782121,64.99264,32.100803,43.3222959,17.2001479,6.0154541,10.7989204,9.2605187,31.4840066,2.8205128,0.4711272,0.5065255,7.8322503,4.9980864,48.6749787,24.2270669,29.4596701,64.4543435,32.008453,42.8488355,17.0217324,6.181076,10.5756459,9.0056115,31.8564168,2.3560209,0.513824,0.526079,7.7919515,5.0817075,48.0070323,24.0574165,29.6286921,64.3704994,31.4055315,42.5383302,16.758833,6.020548,10.9748138,8.7553217,32.5673626,2.3076923,0.4797179,0.4562106,8.3492584,5.25411,49.1710363,24.0994274,30.0682653,63.6935978,30.068543,42.5065016,16.8695816,5.8767778,10.8709811,8.0919798,32.1227061,2.5943396,0.4022077,0.3880112,8.3486961,5.1787718,48.4886854,23.8716322,30.2967242,62.7750976,30.5535982,42.1002846,17.2837721,6.396648,10.3757653,7.5334852,32.2760486,3.5211268 +2336,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7107979,0.7197042,12.3937358,8.5908431,40.0362288,19.7187148,32.8216339,62.4645035,34.7481683,45.3183907,20.3377309,6.3896553,9.9178293,7.5712104,33.1453551,9.0361649,0.716408,0.7255198,12.4953723,8.5883349,40.6283027,19.8145368,32.5429211,62.4784772,35.2094098,45.5995017,20.2744741,6.3903655,9.8185771,7.7121092,33.4476324,8.5884679,0.7379181,0.7473734,12.6488351,8.7317428,41.4902872,19.6690074,32.9776101,61.9663823,34.4861716,44.7334908,20.2432137,6.6797849,10.0224186,7.5712813,34.080676,8.8182316,0.804491,0.8138859,13.2722831,9.2440679,42.0852688,19.7338795,33.2094576,61.8618218,33.7090563,44.5785859,19.9229765,6.7445115,10.4667325,7.8359246,34.2298086,9.0827812,0.8433817,0.8558055,13.4717978,9.5387021,42.8620808,19.6157476,33.4830007,61.1787394,33.4159448,44.4674113,19.8832576,6.6590471,10.6644741,7.9636648,33.9897737,7.9235308 +2337,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5624091,1.6167411,31.9582293,27.6561614,68.1008799,12.8653251,34.3076143,61.7497197,27.9372099,39.1289888,16.2724028,2.4489784,18.2455122,14.9075462,43.2522572,21.5101514,1.6008589,1.6133195,32.343411,28.0213431,67.3063165,12.8179901,34.53247,62.6183434,29.2022671,39.3783991,16.9148312,2.8283221,17.7629179,14.7981573,42.4024299,19.2897433,1.5326431,1.5451943,32.2682984,27.9178316,66.5627773,12.7901724,35.2666842,64.1996515,29.5629456,40.0323323,17.0136997,2.9748048,16.8698863,13.9966889,41.5378946,19.183274,1.5262645,1.5007661,32.2540834,27.9731205,67.0483731,12.2642569,34.7026281,64.8797611,29.2770297,39.9642738,17.1770904,2.7753874,17.0193098,14.5824398,40.9607725,19.7277909,1.5080247,1.4698354,32.2927696,28.2900469,66.9480795,12.1311987,33.6733956,64.5727296,29.581596,39.1874988,17.6853623,2.7765585,17.09633,13.847351,39.4166033,18.5397598 +2338,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7706937,0.8073357,11.4732113,7.6965773,46.1656569,11.9467039,30.6216321,67.154174,42.8386675,45.6671892,24.745944,4.6596376,10.5352087,9.2772973,39.918423,10.2029506,0.7809548,0.8116452,11.6534506,7.7477375,46.038007,11.5826618,30.6490578,66.9292714,42.1544388,45.5256371,24.7100878,4.5717931,10.3998981,9.2041041,40.5232386,9.688596,0.7813449,0.8129507,11.6029261,7.826549,45.5814109,11.9411946,30.7281764,66.7481607,42.2533944,45.7003386,24.8162719,4.6072203,10.6005154,9.1423896,40.4849729,9.4253817,0.8509674,0.8796999,11.7566668,7.9899026,45.3707848,12.1102366,30.6545791,66.6807982,42.418811,45.4394537,24.8833983,4.5696359,10.6115556,8.7361165,40.2376108,8.9236729,0.8731067,0.906828,11.8688722,8.1217957,45.1149318,11.975685,30.9116158,66.4724409,42.2172456,44.8321141,25.0280588,4.5424511,10.6023604,8.5349935,40.2833654,8.1646115 +2339,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7297044,1.7045023,27.0609179,22.3930724,56.4251321,17.9014408,39.6093232,63.410495,34.0896545,45.2990372,21.4534707,3.2988817,13.5679662,11.8986958,34.1803022,17.4266931,1.6374534,1.6124996,27.6674383,22.8521031,56.6527533,18.2949515,39.9463266,63.4635374,33.7681662,45.0994761,21.5383917,3.1317011,12.8286991,10.7270619,34.2550524,17.637529,1.4620222,1.437176,27.5458594,22.8272578,57.2025788,17.8408743,39.9889731,63.7458305,33.9218955,45.1626919,21.7439976,3.03356,13.0233604,10.9737712,34.1453608,16.2974735,1.3191541,1.3191541,27.3743989,22.7733048,56.1767766,18.342534,39.8588071,64.4570806,35.3270972,46.2870818,21.9033098,3.4311616,13.0828775,10.4058409,32.8508568,14.0822874,1.1638171,1.1638171,26.6001343,22.4192028,56.2799088,17.6765224,39.9258436,65.1650741,36.1505707,46.5081592,21.2250168,3.0948558,13.4351005,10.4693913,32.9066152,15.4952225 +2340,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6762225,0.6762225,8.5310657,6.3742829,65.4096004,13.4360729,26.4514785,68.6582567,31.458454,44.8102152,13.9536113,4.6383256,13.4438518,11.2951362,32.2594482,6.5378024,0.6919716,0.6874746,8.9183712,6.3322838,63.4374974,13.4800986,26.627815,69.9934888,31.8113788,45.7490587,15.0706364,4.5116757,13.4312505,11.4746421,32.7404933,6.6428114,0.6995213,0.6949753,8.7084582,6.1820977,61.5445513,13.1601555,27.2523117,70.4913297,31.6485202,45.4204715,14.9976154,4.6102138,12.757174,11.5207787,32.9381418,8.1554047,0.6732158,0.6685923,9.2218995,6.6203685,58.2468587,12.6799596,26.9170877,70.6666398,31.3140488,45.6143343,15.6273784,4.8526287,12.6558735,11.4695321,32.9812793,9.1234301,0.7354042,0.7308348,8.9237283,6.237008,54.4083269,13.0637334,26.5354271,70.7189142,31.2814818,46.6967113,16.0624279,4.8834921,12.5484021,11.389849,32.2066641,9.3281563 +2341,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6231506,2.4324019,34.222561,30.8689024,66.6401274,7.2078907,38.9318885,66.3312693,27.0123839,44.0402477,16.9504644,6.1145511,12.9969419,9.0490798,33.0769231,13.9751553,2.2391775,2.1894262,34.4745223,30.9713376,66.8060201,7.5757576,39.233279,66.3132137,27.8140294,44.2903752,16.8841762,5.7911909,12.5,8.6319218,33.496732,14.9305556,1.9881755,1.9390837,34.4637224,31.6246057,68.5970636,7.0982839,37.6386688,66.0063391,27.496038,43.18542,17.3534073,6.1014263,13.5093168,8.8785047,34.84375,14.8026316,2.2095522,2.1590472,35.9706362,32.3817292,68.4433164,7.8225806,38.7070376,65.3846154,28.0687398,44.1080196,17.594108,6.4648118,14.1666667,8.8628763,35.4026846,16.9871795,2.2922862,2.1325418,36.2778731,32.3327616,67.9328622,7.3979592,39.5008606,64.9741824,28.141136,43.4595525,17.6419966,6.7986231,16.440678,10.3741497,36.4726027,18.9655172 +2342,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.9685566,1.0571749,27.938317,21.8899041,49.5540489,12.295996,38.9087135,66.3193015,33.4619281,48.8738762,25.0606907,5.8247943,16.6402093,13.6060662,34.4996177,18.2355488,0.9850651,0.9672181,27.2355243,21.1443261,47.6030454,12.406079,39.269637,66.9876265,34.474145,50.1459807,25.2931981,5.7034387,15.9274762,13.010356,34.2504815,16.7999589,1.0953769,1.1089927,26.9087021,20.8898924,48.8717289,12.6149492,39.3388191,65.93386,34.0659994,49.7654728,25.2791381,5.947762,15.099627,12.1762643,34.3746993,19.3595353,1.081062,1.095118,26.4219291,20.5621358,47.4258762,12.7956378,39.0525807,66.4341577,34.1667682,49.9686772,26.9293853,5.8803737,14.4147491,11.7751917,33.9583444,18.7203327,1.2155267,1.229645,27.3151329,21.2041893,47.1230708,12.425878,38.9788869,66.6956391,34.0873117,49.3645775,26.478871,5.7063305,14.4496509,12.0312993,34.0408655,18.0346363 +2343,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8153142,0.8571052,16.9424641,13.3548576,54.3359909,12.9336216,28.5642684,64.9023109,29.1894229,42.6799818,14.6703331,4.6279589,13.2212426,11.0662104,31.2536469,7.089298,0.7937958,0.8243267,16.5654903,13.1448668,55.4929981,12.7538398,27.7523002,65.7859023,29.6669976,42.4312078,14.3897394,4.6370248,13.063605,11.1448516,30.3559252,8.5953982,0.7235847,0.7536904,16.4127141,13.2130427,55.5922512,13.159893,27.3844644,66.2635809,30.1967007,42.6057251,14.7591592,4.827938,13.3554145,12.111036,30.6626183,8.8562774,0.7089892,0.7473369,16.4506729,13.3538456,56.6692193,12.8991953,26.7863838,66.6635542,30.0903134,42.5374533,14.6274,4.8117702,13.5499057,11.8304862,29.763098,8.7919682,0.6621526,0.7082841,16.8887858,13.7649676,57.3777957,13.4078107,26.5445422,66.3756298,30.1690455,42.5821592,14.2629318,4.9107925,13.9078372,12.1101804,30.8676018,7.7436081 +2344,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7577905,0.783134,11.0390344,7.2280548,25.4053987,13.802703,30.1947642,68.2442734,40.9143584,48.2334945,21.8707093,6.6774204,9.9327918,8.7301489,33.6623642,4.6455703,0.758616,0.7836196,11.560045,7.66687,25.1640608,13.7684267,30.2579461,67.7144786,40.3968467,48.1634807,21.5988249,6.7528567,9.9735154,8.7882307,33.9062178,4.6710472,0.7630632,0.7878999,11.5786449,7.4900961,25.5478037,14.109359,30.157993,67.8929449,40.6269073,48.4614767,21.2286284,7.3727158,10.2371786,9.2863682,34.313715,8.0110122,0.8371178,0.8691402,11.5237097,7.6661307,25.1354075,14.6242462,30.1684233,67.9565108,40.2189796,47.2208628,20.9553801,7.7891837,10.6023731,9.497927,34.9761768,9.2178418,0.7096643,0.7636085,12.245038,8.2218997,25.4741104,14.3986518,30.516739,67.3256467,40.1290754,47.3202729,20.7755515,8.1565839,10.4438075,9.7464655,33.3217389,9.0205856 +2345,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.7937958,0.8243267,16.5654903,13.1448668,55.4929981,12.7538398,27.7523002,65.7859023,29.6669976,42.4312078,14.3897394,4.6370248,13.063605,11.1448516,30.3559252,8.5953982,0.7235847,0.7536904,16.4127141,13.2130427,55.5922512,13.159893,27.3844644,66.2635809,30.1967007,42.6057251,14.7591592,4.827938,13.3554145,12.111036,30.6626183,8.8562774,0.7089892,0.7473369,16.4506729,13.3538456,56.6692193,12.8991953,26.7863838,66.6635542,30.0903134,42.5374533,14.6274,4.8117702,13.5499057,11.8304862,29.763098,8.7919682,0.6621526,0.7082841,16.8887858,13.7649676,57.3777957,13.4078107,26.5445422,66.3756298,30.1690455,42.5821592,14.2629318,4.9107925,13.9078372,12.1101804,30.8676018,7.7436081,0.8144658,0.8376017,17.2594398,14.0953757,58.1099109,13.3410626,26.9343425,66.0448167,29.8565602,42.0418611,13.8485486,4.8244523,14.0763706,11.7635667,30.6186848,8.3481464 +2346,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8364918,0.8659114,15.9270073,12.3916875,69.7211603,8.0741908,27.2547953,60.4450926,27.6833401,36.5393371,14.282147,5.3734675,12.6981766,9.4628997,37.6256277,8.3246767,0.8415451,0.8765885,16.2634635,12.6546477,70.4070393,8.1909147,26.8353852,60.8632058,27.9396535,36.4132334,14.3345043,5.5007189,12.7781155,9.5535487,37.4271302,8.4005936,0.8197285,0.8482156,16.4957085,13.0229736,70.9619716,8.3382589,26.3523375,61.3582817,28.08362,36.2263602,14.3548985,5.3754583,12.9761836,9.6368966,37.2282982,8.2367038,0.8566044,0.9012002,16.6777256,13.2508113,71.6319622,8.369719,26.11371,62.1670081,28.6108337,36.6987703,14.4944129,5.3435878,13.0684223,9.6969111,37.1636114,8.3445689,0.9112865,0.949727,16.5894783,13.1876202,72.1530243,8.7168867,26.1585371,62.9326569,29.1963652,36.8558868,14.520584,5.4190667,13.2834522,9.5195763,36.3736988,8.2339423 +2347,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8415451,0.8765885,16.2634635,12.6546477,70.4070393,8.1909147,26.8353852,60.8632058,27.9396535,36.4132334,14.3345043,5.5007189,12.7781155,9.5535487,37.4271302,8.4005936,0.8197285,0.8482156,16.4957085,13.0229736,70.9619716,8.3382589,26.3523375,61.3582817,28.08362,36.2263602,14.3548985,5.3754583,12.9761836,9.6368966,37.2282982,8.2367038,0.8566044,0.9012002,16.6777256,13.2508113,71.6319622,8.369719,26.11371,62.1670081,28.6108337,36.6987703,14.4944129,5.3435878,13.0684223,9.6969111,37.1636114,8.3445689,0.9112865,0.949727,16.5894783,13.1876202,72.1530243,8.7168867,26.1585371,62.9326569,29.1963652,36.8558868,14.520584,5.4190667,13.2834522,9.5195763,36.3736988,8.2339423,0.9020129,0.9490671,16.7669691,13.3552937,73.0124086,8.2761801,26.3518336,63.2010449,28.7398095,36.7960664,14.4688225,5.2695254,13.4268182,9.3142466,36.2596726,8.4866083 +2348,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2418539,2.2764811,34.4948699,29.9867295,57.1653228,16.1180358,36.0752339,66.3236103,33.6768497,43.4116786,20.7815519,2.130312,14.832946,10.7871497,39.4662672,24.8328484,2.2839785,2.3448628,35.6764488,30.8304662,58.7695146,15.773253,36.091463,66.0084595,32.8040605,42.5555139,20.4005347,2.1408359,15.9659121,11.1940737,40.777075,24.4833565,2.2173393,2.3053928,36.104809,31.3950511,59.8329477,15.7567802,35.9717945,65.4529937,32.4511654,41.8035004,19.9544068,2.0827317,16.9019177,11.1923756,39.8298217,23.2942547,2.2358409,2.2753044,36.8972131,32.1513928,59.6979142,15.4702761,36.1758096,65.6393164,32.0391164,41.459876,19.2821704,2.0682745,17.5691245,12.1350626,39.928959,24.1477017,2.1306753,2.1579041,37.0516377,32.364273,60.1915989,15.5877427,35.739202,65.0029569,31.7135489,40.8501506,19.2665099,2.0789092,17.1558239,12.06057,39.4324488,24.1153552 +2349,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6919716,0.6874746,8.9183712,6.3322838,63.4374974,13.4800986,26.627815,69.9934888,31.8113788,45.7490587,15.0706364,4.5116757,13.4312505,11.4746421,32.7404933,6.6428114,0.6995213,0.6949753,8.7084582,6.1820977,61.5445513,13.1601555,27.2523117,70.4913297,31.6485202,45.4204715,14.9976154,4.6102138,12.757174,11.5207787,32.9381418,8.1554047,0.6732158,0.6685923,9.2218995,6.6203685,58.2468587,12.6799596,26.9170877,70.6666398,31.3140488,45.6143343,15.6273784,4.8526287,12.6558735,11.4695321,32.9812793,9.1234301,0.7354042,0.7308348,8.9237283,6.237008,54.4083269,13.0637334,26.5354271,70.7189142,31.2814818,46.6967113,16.0624279,4.8834921,12.5484021,11.389849,32.2066641,9.3281563,0.7565076,0.7426624,9.0487263,6.2076049,50.9743578,13.4168638,26.0592725,70.5616677,31.7042347,46.2942509,16.0808201,4.7904862,11.7715681,11.3829774,31.4163314,8.9925923 +2350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4711272,0.5065255,7.8322503,4.9980864,48.6749787,24.2270669,29.4596701,64.4543435,32.008453,42.8488355,17.0217324,6.181076,10.5756459,9.0056115,31.8564168,2.3560209,0.513824,0.526079,7.7919515,5.0817075,48.0070323,24.0574165,29.6286921,64.3704994,31.4055315,42.5383302,16.758833,6.020548,10.9748138,8.7553217,32.5673626,2.3076923,0.4797179,0.4562106,8.3492584,5.25411,49.1710363,24.0994274,30.0682653,63.6935978,30.068543,42.5065016,16.8695816,5.8767778,10.8709811,8.0919798,32.1227061,2.5943396,0.4022077,0.3880112,8.3486961,5.1787718,48.4886854,23.8716322,30.2967242,62.7750976,30.5535982,42.1002846,17.2837721,6.396648,10.3757653,7.5334852,32.2760486,3.5211268,0.411158,0.3968934,8.0966481,5.1457057,48.2777025,23.0356496,30.4498185,63.0211931,30.5238652,41.7740899,17.6503598,6.3998732,10.870831,7.5594915,32.4195906,3.6407767 +2351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8524198,0.8562544,14.2374631,11.0586945,37.6420287,19.0123155,33.9944562,66.9111612,36.0748012,48.6337028,20.5072567,5.3213057,12.3253533,11.1080247,25.8271533,6.2711163,0.904835,0.8894822,14.7150097,11.1273826,38.4085834,19.3014446,34.2185113,67.6270734,35.5368489,49.1082909,20.4011177,5.3430739,12.2202483,10.7883065,25.6426607,6.9131077,1.0580302,1.0683579,15.1504724,11.3663437,39.1446872,19.4390801,33.8475038,67.0705931,35.1789241,48.7230232,20.5263044,5.1480902,12.4033437,10.6568158,26.170339,7.5152637,0.8712978,0.8892993,15.2593398,11.4411369,38.9145539,19.6866258,32.9827172,67.2175108,35.5180394,48.5627592,20.2759932,4.9446338,12.158489,10.2779775,26.2450533,7.3898627,0.8478289,0.8655526,16.0645719,12.2288219,38.9978424,19.3226415,33.426028,67.4376383,36.1447715,48.7885464,20.8013403,4.9806012,12.5424847,9.9449224,26.7758322,8.0190848 +2352,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7733529,0.7762797,11.8453238,8.3961942,44.3789379,19.1010954,32.5044145,67.8303839,37.5546585,43.4035547,22.1978694,4.5220323,10.3504153,9.2654454,35.4890884,9.1695438,0.6989246,0.7094442,12.1886975,8.6886261,44.3258429,18.8057099,32.1769174,67.999457,37.3233011,42.9488327,22.363671,4.629178,10.0182222,9.0013472,34.9097458,8.3904883,0.7248541,0.7326734,12.9213729,9.2475425,45.120057,18.2477092,32.0945602,67.8274481,36.9884703,43.0733399,22.0738995,4.5442942,10.4855712,9.2288757,35.1901169,8.7744034,0.7787902,0.7787902,12.8852286,9.2074773,45.1063878,18.6690474,32.686853,67.927708,37.4462751,43.1949579,21.8045483,4.6123133,10.8423673,9.1191448,36.0546316,8.4478203,0.7255724,0.753369,13.3802497,9.7517479,44.6817527,18.3139352,32.9589913,67.0899858,36.3129969,43.5139704,21.1957989,4.3280017,10.3567383,9.2120515,35.7525372,8.4713221 +2353,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6441387,0.6576285,7.9956427,5.1198257,42.1716055,21.3884083,29.8908297,69.0174672,33.9519651,45.5240175,16.3537118,6.3537118,10.7531381,9.2779177,32.1940928,1.5625,0.5708143,0.5846858,7.9616414,5.0624442,41.8302145,21.09375,29.590459,68.2943294,33.8658866,45.3870387,15.7740774,5.9630963,10.8355091,9.6338274,33.5237258,1.5243902,0.6527658,0.6456005,8.0526073,5.2376557,41.5532614,21.6743119,28.8319483,67.4284395,34.0027701,45.7294552,15.4893813,6.0710988,11.1830743,9.2048401,33.6094159,1.5337423,0.5667214,0.5462127,8.09797,5.2294793,41.6968326,22.2099691,30.1058668,67.4239082,34.03176,45.2359947,15.9902955,6.3299515,11.0060514,9.0667678,34.5392232,3.2934132,0.4804339,0.4804339,8.3818636,5.4700499,43.2858377,21.4766512,31.0121288,65.9347553,32.93601,44.8138854,15.6629026,6.252614,10.6518817,8.0121704,34.7899729,3.1609195 +2354,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7956602,0.8131466,12.078079,8.6609357,35.0956505,10.8904517,29.8586432,64.6431058,33.2226242,45.5053066,18.7349962,3.5971727,11.1982416,8.9711187,30.01892,7.6642261,0.7095612,0.7268929,11.9980854,8.5464902,35.6259047,10.9914083,30.1202201,64.9307936,33.3776159,45.5403373,18.3489556,3.3342657,11.0002237,8.8726076,29.3965383,8.6805455,0.727103,0.7628817,11.9260447,8.5758121,35.9015168,11.1872327,30.5064729,65.6775436,34.1593916,45.9328645,19.0181845,3.2387255,11.0161297,8.9954128,29.8743686,8.0219727,0.7682719,0.809046,11.6316173,8.5384506,36.4476193,11.1030989,30.5053505,66.4012017,34.5200962,46.1959402,18.9350558,3.3105065,11.1930184,9.2404987,29.4724885,8.6999965,0.7635369,0.8036341,11.4746415,8.5759217,37.1416234,11.2127015,30.5673255,66.5047152,34.661123,47.0851823,19.2705827,3.2063637,11.4536425,9.5956495,29.7603303,9.772296 +2355,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6008589,1.6133195,32.343411,28.0213431,67.3063165,12.8179901,34.53247,62.6183434,29.2022671,39.3783991,16.9148312,2.8283221,17.7629179,14.7981573,42.4024299,19.2897433,1.5326431,1.5451943,32.2682984,27.9178316,66.5627773,12.7901724,35.2666842,64.1996515,29.5629456,40.0323323,17.0136997,2.9748048,16.8698863,13.9966889,41.5378946,19.183274,1.5262645,1.5007661,32.2540834,27.9731205,67.0483731,12.2642569,34.7026281,64.8797611,29.2770297,39.9642738,17.1770904,2.7753874,17.0193098,14.5824398,40.9607725,19.7277909,1.5080247,1.4698354,32.2927696,28.2900469,66.9480795,12.1311987,33.6733956,64.5727296,29.581596,39.1874988,17.6853623,2.7765585,17.09633,13.847351,39.4166033,18.5397598,1.664161,1.5905027,31.2316382,27.1754396,66.3700734,12.6236732,33.4092842,64.6165086,29.4194679,39.5858142,17.2853359,2.456892,16.8104751,14.0671197,39.4114961,16.8656663 +2356,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5330527,0.5607374,10.3014081,6.9275241,33.4635124,22.2175317,31.334423,63.4546725,30.9208316,42.7487714,15.7843948,7.1546683,11.6221871,9.2222159,32.9954866,5.2884531,0.5062624,0.5346419,10.1385388,6.7731661,33.9280135,22.4856297,31.5008489,63.6659552,31.1899256,43.2023247,16.2379795,7.475966,11.0256698,9.3500935,33.4984808,4.9152459,0.4746233,0.5037678,10.194283,6.6560112,35.0816004,22.5154895,31.3024465,63.2561937,30.2026087,43.6323836,16.1939207,7.4529607,10.973708,8.6740762,33.7859493,5.3819258,0.4483604,0.4708346,9.9591442,6.605406,36.3705285,22.4383752,31.1011044,62.9430989,29.1255279,42.8675064,16.2260372,7.5392184,11.2095117,8.6187241,34.1201206,6.1258075,0.5308456,0.5657667,10.6167252,6.9162949,37.5423893,22.9762428,30.8987128,62.895242,29.1422912,43.2523284,16.0567979,7.625875,10.9872357,8.2103523,33.6323746,5.8729972 +2357,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.9850651,0.9672181,27.2355243,21.1443261,47.6030454,12.406079,39.269637,66.9876265,34.474145,50.1459807,25.2931981,5.7034387,15.9274762,13.010356,34.2504815,16.7999589,1.0953769,1.1089927,26.9087021,20.8898924,48.8717289,12.6149492,39.3388191,65.93386,34.0659994,49.7654728,25.2791381,5.947762,15.099627,12.1762643,34.3746993,19.3595353,1.081062,1.095118,26.4219291,20.5621358,47.4258762,12.7956378,39.0525807,66.4341577,34.1667682,49.9686772,26.9293853,5.8803737,14.4147491,11.7751917,33.9583444,18.7203327,1.2155267,1.229645,27.3151329,21.2041893,47.1230708,12.425878,38.9788869,66.6956391,34.0873117,49.3645775,26.478871,5.7063305,14.4496509,12.0312993,34.0408655,18.0346363,1.554371,1.5461611,27.2719357,21.2166244,47.8129178,13.0551476,38.8552798,66.8924993,34.5872166,48.931695,25.5180446,5.7200089,15.0468657,12.2509538,33.6264739,20.3247767 +2358,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8866873,0.8962814,10.6176252,7.0861927,21.7746068,16.8359935,35.0023656,68.9071971,40.7386884,50.032079,24.3470714,4.1259446,10.996815,9.6142652,32.7531234,4.9319761,0.8158736,0.8227188,10.7871615,7.3333403,21.920738,16.6885016,34.8131194,69.0723896,40.8317053,50.2893866,24.2973016,4.1584008,10.9018075,9.6912976,32.9892788,5.1418476,0.8195207,0.8234739,10.8572007,7.3581182,21.6085484,16.4626766,34.9656622,68.756398,40.9863126,50.0257676,24.0566187,4.2624376,11.4324982,9.8990113,32.2486545,5.7835886,0.8958421,0.8995695,11.5123421,7.7828814,21.6907088,16.2461502,36.3687612,68.4231454,40.6265462,50.3885656,24.0327029,4.330584,11.5928479,9.8555688,32.5215776,7.8397616,0.7886894,0.8029466,11.6118883,7.9457744,22.1749218,16.3923038,36.2870741,67.8074747,40.3198907,49.837819,23.5089778,4.1949984,11.4814906,9.975994,32.9762241,8.3051299 +2359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.920995,0.9304797,12.6110358,8.0867484,25.5405647,20.9818274,32.4736295,67.434266,37.4665937,47.0727357,24.6244375,3.2594962,11.9269201,11.5059587,38.0076575,9.5277584,0.8124505,0.8217993,13.063919,8.8572966,25.4361625,21.1396703,33.5232686,67.7267731,38.2623171,47.7868778,25.6648721,3.7056525,12.0389817,11.4618322,38.0139903,10.0851452,0.8439412,0.853225,13.5819527,9.2931971,24.9688888,21.1920275,34.3632993,67.568401,38.8902184,47.7351492,25.3008101,3.485905,11.5676473,11.469698,39.6810329,8.9587054,0.7904585,0.8368563,13.4979154,9.4112064,24.6033307,20.706753,34.448421,67.4885388,38.5149641,48.1325793,24.8960961,3.4047432,11.5344061,10.9534387,39.9833658,7.9775685,0.8785503,0.9261342,13.1239055,9.3857061,25.0393003,20.4239832,35.2007208,67.4933133,38.5637554,47.8763522,24.1006268,3.4819223,12.0394309,11.3055631,39.3597003,8.4013004 +2360,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6374534,1.6124996,27.6674383,22.8521031,56.6527533,18.2949515,39.9463266,63.4635374,33.7681662,45.0994761,21.5383917,3.1317011,12.8286991,10.7270619,34.2550524,17.637529,1.4620222,1.437176,27.5458594,22.8272578,57.2025788,17.8408743,39.9889731,63.7458305,33.9218955,45.1626919,21.7439976,3.03356,13.0233604,10.9737712,34.1453608,16.2974735,1.3191541,1.3191541,27.3743989,22.7733048,56.1767766,18.342534,39.8588071,64.4570806,35.3270972,46.2870818,21.9033098,3.4311616,13.0828775,10.4058409,32.8508568,14.0822874,1.1638171,1.1638171,26.6001343,22.4192028,56.2799088,17.6765224,39.9258436,65.1650741,36.1505707,46.5081592,21.2250168,3.0948558,13.4351005,10.4693913,32.9066152,15.4952225,1.1908486,1.1908486,26.7423365,22.4824984,56.5996624,17.4090941,39.728238,66.4064015,36.5713217,46.7979664,21.4536909,3.0012934,13.0412221,9.9378876,31.9831332,16.2295295 +2361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.904835,0.8894822,14.7150097,11.1273826,38.4085834,19.3014446,34.2185113,67.6270734,35.5368489,49.1082909,20.4011177,5.3430739,12.2202483,10.7883065,25.6426607,6.9131077,1.0580302,1.0683579,15.1504724,11.3663437,39.1446872,19.4390801,33.8475038,67.0705931,35.1789241,48.7230232,20.5263044,5.1480902,12.4033437,10.6568158,26.170339,7.5152637,0.8712978,0.8892993,15.2593398,11.4411369,38.9145539,19.6866258,32.9827172,67.2175108,35.5180394,48.5627592,20.2759932,4.9446338,12.158489,10.2779775,26.2450533,7.3898627,0.8478289,0.8655526,16.0645719,12.2288219,38.9978424,19.3226415,33.426028,67.4376383,36.1447715,48.7885464,20.8013403,4.9806012,12.5424847,9.9449224,26.7758322,8.0190848,0.9716789,0.979133,16.2500263,12.2323255,39.2245399,18.7751493,33.0900376,67.7290574,36.5763414,48.6596998,21.1947606,4.9916184,13.1767212,10.3849981,26.5974399,8.6753115 +2362,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7875888,0.8024403,9.7263513,6.7564725,39.5509164,16.8976528,28.2669937,68.5525913,36.1207315,46.029875,21.4084947,3.6023291,9.8730322,9.1765343,33.8553352,8.4717743,0.7762094,0.7860461,9.9894741,6.7263132,38.853698,17.2057897,28.582215,68.8106141,36.5330745,45.927614,21.5147736,3.5013926,9.8371327,8.5904137,33.4987314,9.4178167,0.788343,0.8101782,10.1884042,6.8707703,38.9760308,16.8352671,29.2563307,69.1978286,37.5287147,46.6367273,21.2346002,3.8332929,9.5842048,8.6278613,33.8419906,10.304053,0.7804455,0.7831635,10.1202555,6.8589445,38.7692398,16.4370925,29.1874494,69.3162867,37.6662363,46.4775602,20.9372408,3.9172876,9.8296079,8.2120591,33.0058742,10.6271866,0.7268726,0.7391338,10.1321059,6.8394235,38.056543,16.6015616,30.1121138,69.7425885,38.2291688,46.8029847,21.1438643,3.7471464,9.5842086,7.9308902,33.4100445,10.5172232 +2363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8158736,0.8227188,10.7871615,7.3333403,21.920738,16.6885016,34.8131194,69.0723896,40.8317053,50.2893866,24.2973016,4.1584008,10.9018075,9.6912976,32.9892788,5.1418476,0.8195207,0.8234739,10.8572007,7.3581182,21.6085484,16.4626766,34.9656622,68.756398,40.9863126,50.0257676,24.0566187,4.2624376,11.4324982,9.8990113,32.2486545,5.7835886,0.8958421,0.8995695,11.5123421,7.7828814,21.6907088,16.2461502,36.3687612,68.4231454,40.6265462,50.3885656,24.0327029,4.330584,11.5928479,9.8555688,32.5215776,7.8397616,0.7886894,0.8029466,11.6118883,7.9457744,22.1749218,16.3923038,36.2870741,67.8074747,40.3198907,49.837819,23.5089778,4.1949984,11.4814906,9.975994,32.9762241,8.3051299,0.776111,0.8062273,11.9087167,8.2630363,22.4154838,16.4498829,36.2065997,67.1553371,39.5379392,49.3629432,23.0043273,4.1065427,11.5216506,10.4489816,33.1826087,9.3750514 +2364,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6058501,0.6381864,9.4648169,6.1171686,45.6727997,13.436942,30.5770055,63.4212271,30.7424998,41.3559245,17.8342939,14.778243,10.5995373,8.5405661,37.5925287,3.8050729,0.5709185,0.615467,9.5100379,6.30033,45.7753199,13.5408287,30.1068522,63.7319554,30.9594234,41.3265999,17.6821712,15.044901,10.5250385,8.3551112,37.3539842,4.0689655,0.512667,0.5679703,9.6190155,6.4696885,45.5678159,13.856438,30.077892,63.6079301,30.7152128,40.8651081,17.3551317,14.6996324,11.3950041,8.6699915,37.4031303,3.490029,0.5236104,0.5410163,9.7803112,6.5848229,45.9039718,13.9667855,30.0610211,63.2730886,30.2722686,40.7874706,17.104802,14.4877363,11.5553809,8.8122914,37.1926261,3.7219106,0.5553371,0.5583771,10.0457977,6.5934717,46.5935834,13.5635123,29.7596706,62.5615495,29.6776085,40.427905,16.9929652,14.3669397,11.4784825,8.5299045,36.9666542,4.0745862 +2365,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6391,0.6432008,9.695756,6.3966294,36.288471,19.9962792,30.2259932,71.6572795,40.3578101,47.8530928,22.7306917,3.4839917,8.4553453,8.6940585,33.6410759,7.2327044,0.6651563,0.6594505,10.0109453,6.5463183,36.8773987,19.7519356,30.0225381,71.5922155,40.5369852,47.4089286,22.4746505,3.3233187,7.6839044,8.3576648,33.860304,6.8047337,0.6506263,0.6449477,10.3016071,6.6315426,37.4664752,19.5660238,30.2592118,71.1307541,39.9887213,46.3748994,22.1074443,2.9864719,8.178566,9.1201808,35.0504424,7.3529412,0.6684395,0.6991898,11.0654328,7.0968898,36.0671227,19.1508765,30.5350628,71.457593,41.162364,46.8450255,22.3800889,3.15498,8.1696962,9.1578992,34.5473831,7.1022727,0.7672914,0.7645429,11.8695003,7.7777845,35.4760974,19.036527,30.2355173,71.5036449,41.1413052,47.3369542,22.2282822,3.1340564,8.649197,9.331959,34.1319326,10.1156589 +2366,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7809548,0.8116452,11.6534506,7.7477375,46.038007,11.5826618,30.6490578,66.9292714,42.1544388,45.5256371,24.7100878,4.5717931,10.3998981,9.2041041,40.5232386,9.688596,0.7813449,0.8129507,11.6029261,7.826549,45.5814109,11.9411946,30.7281764,66.7481607,42.2533944,45.7003386,24.8162719,4.6072203,10.6005154,9.1423896,40.4849729,9.4253817,0.8509674,0.8796999,11.7566668,7.9899026,45.3707848,12.1102366,30.6545791,66.6807982,42.418811,45.4394537,24.8833983,4.5696359,10.6115556,8.7361165,40.2376108,8.9236729,0.8731067,0.906828,11.8688722,8.1217957,45.1149318,11.975685,30.9116158,66.4724409,42.2172456,44.8321141,25.0280588,4.5424511,10.6023604,8.5349935,40.2833654,8.1646115,0.8720695,0.908706,12.3884035,8.4412161,45.3891718,11.5556388,30.9821716,66.2440431,41.7385771,44.2626856,24.5761243,4.4316428,10.5151527,8.516749,40.7156973,8.3218364 +2367,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8898852,2.0076487,23.9326713,19.3138726,46.332203,15.7145359,42.4837558,66.9230624,37.8742165,49.0014467,26.6501386,3.8467422,9.4715685,7.37789,31.6259075,22.5408435,1.9813446,2.1454507,25.2482314,20.2249219,45.996266,15.7936105,41.9443924,67.1742315,38.1270356,49.0156788,26.7657101,4.2369146,9.4546382,7.5196914,33.2355317,21.1999354,2.0825671,2.2111598,24.9247374,19.7734279,45.4090509,16.6528139,42.5957673,66.2824679,38.9431444,49.8927691,26.8975552,3.8998335,9.3889266,7.9284419,33.9382873,24.5596942,2.0471432,2.1815508,24.3398063,19.1771398,45.986095,16.890546,42.4226243,66.0247446,39.3294504,49.4238745,26.6466582,3.5572107,10.3720062,8.1881283,33.5925965,25.7080013,1.7547272,1.9191318,24.6870518,19.7392953,46.0845158,16.2250812,41.4037437,66.1077871,40.4373255,48.8123979,26.0424476,3.7060029,9.5299352,7.7357471,33.599251,19.3460082 +2368,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8124505,0.8217993,13.063919,8.8572966,25.4361625,21.1396703,33.5232686,67.7267731,38.2623171,47.7868778,25.6648721,3.7056525,12.0389817,11.4618322,38.0139903,10.0851452,0.8439412,0.853225,13.5819527,9.2931971,24.9688888,21.1920275,34.3632993,67.568401,38.8902184,47.7351492,25.3008101,3.485905,11.5676473,11.469698,39.6810329,8.9587054,0.7904585,0.8368563,13.4979154,9.4112064,24.6033307,20.706753,34.448421,67.4885388,38.5149641,48.1325793,24.8960961,3.4047432,11.5344061,10.9534387,39.9833658,7.9775685,0.8785503,0.9261342,13.1239055,9.3857061,25.0393003,20.4239832,35.2007208,67.4933133,38.5637554,47.8763522,24.1006268,3.4819223,12.0394309,11.3055631,39.3597003,8.4013004,0.8461324,0.9495687,13.2471977,9.7119739,25.355192,20.0843048,35.2876821,67.5516502,39.2006918,47.7949069,23.1457545,3.2125811,12.6405953,12.0013511,38.9564159,7.3232547 +2369,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5479232,2.5928444,37.9713941,32.7541195,52.6075968,18.8216988,37.7286491,64.30504,31.7437011,46.9737172,20.3173265,3.4341645,14.7871687,13.5969185,34.0253553,23.3105782,2.5202949,2.5705423,38.4873753,33.0896482,54.2587402,19.413492,37.5994648,64.0456755,32.2982186,45.812552,20.7235736,3.5237739,16.3004853,14.017176,34.3570993,23.7502749,2.4318863,2.4844491,36.3024499,31.1647581,53.5650082,19.240548,36.8692176,63.9048336,31.6658115,44.8453966,20.3103707,3.0750982,17.2180406,14.2893829,34.5923961,25.4456982,2.2987321,2.352584,35.7211606,30.4425884,53.3590465,19.5627202,36.7750866,65.4052422,33.0325288,45.5103765,20.8312659,3.015331,17.3396013,13.9777142,36.2442241,25.8368194,2.5375759,2.5397463,35.6706067,30.0610828,52.3451021,19.5277269,36.4398991,64.8756047,32.8344516,45.1681732,20.0241231,3.061495,17.8786244,13.393846,36.0938527,26.9868007 +2370,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7762094,0.7860461,9.9894741,6.7263132,38.853698,17.2057897,28.582215,68.8106141,36.5330745,45.927614,21.5147736,3.5013926,9.8371327,8.5904137,33.4987314,9.4178167,0.788343,0.8101782,10.1884042,6.8707703,38.9760308,16.8352671,29.2563307,69.1978286,37.5287147,46.6367273,21.2346002,3.8332929,9.5842048,8.6278613,33.8419906,10.304053,0.7804455,0.7831635,10.1202555,6.8589445,38.7692398,16.4370925,29.1874494,69.3162867,37.6662363,46.4775602,20.9372408,3.9172876,9.8296079,8.2120591,33.0058742,10.6271866,0.7268726,0.7391338,10.1321059,6.8394235,38.056543,16.6015616,30.1121138,69.7425885,38.2291688,46.8029847,21.1438643,3.7471464,9.5842086,7.9308902,33.4100445,10.5172232,0.6802212,0.687499,9.9940609,6.8109857,38.3168963,16.3906602,30.2238929,69.8769621,37.6058739,46.5005996,21.571196,3.9834628,9.3341415,7.534794,33.3399694,9.5317534 +2371,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6651563,0.6594505,10.0109453,6.5463183,36.8773987,19.7519356,30.0225381,71.5922155,40.5369852,47.4089286,22.4746505,3.3233187,7.6839044,8.3576648,33.860304,6.8047337,0.6506263,0.6449477,10.3016071,6.6315426,37.4664752,19.5660238,30.2592118,71.1307541,39.9887213,46.3748994,22.1074443,2.9864719,8.178566,9.1201808,35.0504424,7.3529412,0.6684395,0.6991898,11.0654328,7.0968898,36.0671227,19.1508765,30.5350628,71.457593,41.162364,46.8450255,22.3800889,3.15498,8.1696962,9.1578992,34.5473831,7.1022727,0.7672914,0.7645429,11.8695003,7.7777845,35.4760974,19.036527,30.2355173,71.5036449,41.1413052,47.3369542,22.2282822,3.1340564,8.649197,9.331959,34.1319326,10.1156589,0.8219289,0.7949602,12.2834431,8.0214916,35.3529741,18.8576331,30.2064847,70.8971279,40.6016365,47.8640028,22.2677287,2.901383,9.2506516,9.3108035,33.9022733,9.7765867 +2372,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.7235847,0.7536904,16.4127141,13.2130427,55.5922512,13.159893,27.3844644,66.2635809,30.1967007,42.6057251,14.7591592,4.827938,13.3554145,12.111036,30.6626183,8.8562774,0.7089892,0.7473369,16.4506729,13.3538456,56.6692193,12.8991953,26.7863838,66.6635542,30.0903134,42.5374533,14.6274,4.8117702,13.5499057,11.8304862,29.763098,8.7919682,0.6621526,0.7082841,16.8887858,13.7649676,57.3777957,13.4078107,26.5445422,66.3756298,30.1690455,42.5821592,14.2629318,4.9107925,13.9078372,12.1101804,30.8676018,7.7436081,0.8144658,0.8376017,17.2594398,14.0953757,58.1099109,13.3410626,26.9343425,66.0448167,29.8565602,42.0418611,13.8485486,4.8244523,14.0763706,11.7635667,30.6186848,8.3481464,0.8184939,0.8552641,17.6034073,14.4360231,59.0481206,13.4674931,27.2344769,66.2584984,30.1304241,41.9467225,13.9166999,4.7640105,14.2367372,11.1931991,30.1486761,8.3046687 +2373,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9440777,0.9673111,18.6870201,14.6311169,35.5600693,19.1032176,38.554671,64.6180916,36.3455101,46.4982437,22.2208868,3.3490679,13.7541449,9.735645,34.6039112,11.5517056,0.9377595,0.9546849,18.9498976,15.0034361,36.3820662,19.4265492,38.0201095,65.4628502,36.851416,47.4170596,22.5221611,3.4946847,13.377959,9.804289,35.0243689,11.8728882,0.9157158,0.9395093,18.2905256,14.2905373,36.9462344,20.4521313,38.8773688,66.5398934,38.231992,47.7524503,22.4411773,3.6077107,13.2028415,9.878453,35.2343541,9.5911756,0.9278902,0.9442669,18.3864112,14.259088,37.4797345,20.0291288,39.0451202,66.8972187,38.8410631,47.6185115,22.5560791,3.7083778,13.0919538,9.589945,34.5906661,10.8562452,0.9687951,1.0102472,18.8130077,14.8207452,38.8451619,20.0544952,39.2533149,67.3719386,38.4777838,48.0500811,22.7231901,3.7558054,12.2306926,9.9056461,34.6031983,12.7142644 +2374,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9535832,2.0253659,26.8083779,21.8012723,42.9189942,14.4376388,34.3507364,65.5088204,33.9645789,44.5378306,23.4329203,3.9844753,13.3725719,9.5179227,41.9895227,22.2397476,2.084068,2.1633145,27.744153,22.7936556,43.780603,14.1960267,34.6092831,64.9770446,33.658764,44.2968327,22.9653543,4.0567054,13.2811346,8.9073731,42.7662403,23.5015847,1.97785,2.0355593,28.2636825,22.9595781,44.3669776,13.6045002,34.3985899,65.0596822,33.0087398,44.5037349,23.1474892,3.8220663,13.3358096,8.6413037,43.7327004,21.5408873,1.9694695,2.0314607,28.9117207,23.751142,45.3895965,14.0758704,35.0471285,64.7473786,32.7246319,44.8329169,22.8862873,3.9192152,12.8390681,8.5316523,43.0741628,21.0769296,1.9927726,2.0590924,30.0156142,24.9483509,46.3562359,14.2130939,35.6448852,64.7618221,32.4519234,44.2501047,22.9028578,3.6256635,13.4487863,8.7308119,43.1731577,21.2963076 +2375,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5326431,1.5451943,32.2682984,27.9178316,66.5627773,12.7901724,35.2666842,64.1996515,29.5629456,40.0323323,17.0136997,2.9748048,16.8698863,13.9966889,41.5378946,19.183274,1.5262645,1.5007661,32.2540834,27.9731205,67.0483731,12.2642569,34.7026281,64.8797611,29.2770297,39.9642738,17.1770904,2.7753874,17.0193098,14.5824398,40.9607725,19.7277909,1.5080247,1.4698354,32.2927696,28.2900469,66.9480795,12.1311987,33.6733956,64.5727296,29.581596,39.1874988,17.6853623,2.7765585,17.09633,13.847351,39.4166033,18.5397598,1.664161,1.5905027,31.2316382,27.1754396,66.3700734,12.6236732,33.4092842,64.6165086,29.4194679,39.5858142,17.2853359,2.456892,16.8104751,14.0671197,39.4114961,16.8656663,1.6780107,1.6040982,30.7157254,26.5266903,65.6163938,13.0242047,32.2563556,64.4944753,28.9652887,38.8834924,17.2389859,2.5104869,16.7678223,13.4759264,38.7741502,17.164133 +2376,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.788343,0.8101782,10.1884042,6.8707703,38.9760308,16.8352671,29.2563307,69.1978286,37.5287147,46.6367273,21.2346002,3.8332929,9.5842048,8.6278613,33.8419906,10.304053,0.7804455,0.7831635,10.1202555,6.8589445,38.7692398,16.4370925,29.1874494,69.3162867,37.6662363,46.4775602,20.9372408,3.9172876,9.8296079,8.2120591,33.0058742,10.6271866,0.7268726,0.7391338,10.1321059,6.8394235,38.056543,16.6015616,30.1121138,69.7425885,38.2291688,46.8029847,21.1438643,3.7471464,9.5842086,7.9308902,33.4100445,10.5172232,0.6802212,0.687499,9.9940609,6.8109857,38.3168963,16.3906602,30.2238929,69.8769621,37.6058739,46.5005996,21.571196,3.9834628,9.3341415,7.534794,33.3399694,9.5317534,0.6795521,0.6893425,10.0116886,6.7361968,38.3197606,16.2020551,30.6210223,69.8981579,37.7096467,46.9348922,21.2360247,3.9836304,9.5728262,8.0802163,33.4955154,10.8695696 +2377,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0953769,1.1089927,26.9087021,20.8898924,48.8717289,12.6149492,39.3388191,65.93386,34.0659994,49.7654728,25.2791381,5.947762,15.099627,12.1762643,34.3746993,19.3595353,1.081062,1.095118,26.4219291,20.5621358,47.4258762,12.7956378,39.0525807,66.4341577,34.1667682,49.9686772,26.9293853,5.8803737,14.4147491,11.7751917,33.9583444,18.7203327,1.2155267,1.229645,27.3151329,21.2041893,47.1230708,12.425878,38.9788869,66.6956391,34.0873117,49.3645775,26.478871,5.7063305,14.4496509,12.0312993,34.0408655,18.0346363,1.554371,1.5461611,27.2719357,21.2166244,47.8129178,13.0551476,38.8552798,66.8924993,34.5872166,48.931695,25.5180446,5.7200089,15.0468657,12.2509538,33.6264739,20.3247767,1.5221876,1.5134898,26.9534936,21.1741025,47.5437626,13.3314163,37.7640748,67.4019049,34.7747883,48.2241865,24.5635845,5.3858662,14.3468472,12.1639291,33.9240011,20.452008 +2378,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5202949,2.5705423,38.4873753,33.0896482,54.2587402,19.413492,37.5994648,64.0456755,32.2982186,45.812552,20.7235736,3.5237739,16.3004853,14.017176,34.3570993,23.7502749,2.4318863,2.4844491,36.3024499,31.1647581,53.5650082,19.240548,36.8692176,63.9048336,31.6658115,44.8453966,20.3103707,3.0750982,17.2180406,14.2893829,34.5923961,25.4456982,2.2987321,2.352584,35.7211606,30.4425884,53.3590465,19.5627202,36.7750866,65.4052422,33.0325288,45.5103765,20.8312659,3.015331,17.3396013,13.9777142,36.2442241,25.8368194,2.5375759,2.5397463,35.6706067,30.0610828,52.3451021,19.5277269,36.4398991,64.8756047,32.8344516,45.1681732,20.0241231,3.061495,17.8786244,13.393846,36.0938527,26.9868007,2.3464148,2.3485858,34.9411304,29.3343964,51.6536986,19.6563548,36.7469758,64.5861659,33.7784614,45.8161926,20.4211834,2.987522,17.1985942,12.31932,34.2213838,25.0025129 +2379,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9377595,0.9546849,18.9498976,15.0034361,36.3820662,19.4265492,38.0201095,65.4628502,36.851416,47.4170596,22.5221611,3.4946847,13.377959,9.804289,35.0243689,11.8728882,0.9157158,0.9395093,18.2905256,14.2905373,36.9462344,20.4521313,38.8773688,66.5398934,38.231992,47.7524503,22.4411773,3.6077107,13.2028415,9.878453,35.2343541,9.5911756,0.9278902,0.9442669,18.3864112,14.259088,37.4797345,20.0291288,39.0451202,66.8972187,38.8410631,47.6185115,22.5560791,3.7083778,13.0919538,9.589945,34.5906661,10.8562452,0.9687951,1.0102472,18.8130077,14.8207452,38.8451619,20.0544952,39.2533149,67.3719386,38.4777838,48.0500811,22.7231901,3.7558054,12.2306926,9.9056461,34.6031983,12.7142644,1.1146513,1.1829539,19.5500261,15.409777,39.7953433,20.0193094,38.7824472,66.815416,38.0636665,47.9307465,22.4460422,3.5177439,12.759835,10.8628232,34.1555223,12.2589565 +2380,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.716408,0.7255198,12.4953723,8.5883349,40.6283027,19.8145368,32.5429211,62.4784772,35.2094098,45.5995017,20.2744741,6.3903655,9.8185771,7.7121092,33.4476324,8.5884679,0.7379181,0.7473734,12.6488351,8.7317428,41.4902872,19.6690074,32.9776101,61.9663823,34.4861716,44.7334908,20.2432137,6.6797849,10.0224186,7.5712813,34.080676,8.8182316,0.804491,0.8138859,13.2722831,9.2440679,42.0852688,19.7338795,33.2094576,61.8618218,33.7090563,44.5785859,19.9229765,6.7445115,10.4667325,7.8359246,34.2298086,9.0827812,0.8433817,0.8558055,13.4717978,9.5387021,42.8620808,19.6157476,33.4830007,61.1787394,33.4159448,44.4674113,19.8832576,6.6590471,10.6644741,7.9636648,33.9897737,7.9235308,0.8446798,0.8601692,13.6093726,9.7455101,44.5476326,19.1179907,33.7019632,61.0818786,32.7097552,44.1739107,19.8913347,6.6304458,10.7805336,8.2359605,34.2114489,8.6998437 +2381,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5310847,1.4861483,22.7679667,18.4479435,46.0244814,16.5126361,40.7886712,68.917733,39.9095514,49.3252049,30.6042595,3.055632,12.7387055,10.7904473,33.8719202,22.1756063,1.5870647,1.5432702,23.5820665,18.9284242,46.4773199,15.559661,40.0728985,68.3595952,39.5940676,50.2911445,30.4234876,3.3587224,11.868206,10.0562662,34.6986481,19.5289801,1.6267323,1.6475937,23.7298791,18.8455896,46.0996235,15.8975095,40.9419155,68.3569051,40.0982898,50.829267,29.8864455,3.9098772,10.8866128,9.1164319,33.5452299,18.9860698,1.420627,1.4406045,23.7376341,19.0414917,44.2245349,15.1928434,40.6443905,67.3945037,39.3209355,50.2787817,29.6340902,3.5697681,10.7283986,9.3768041,34.1015976,22.3732293,1.3723853,1.4111652,24.4463993,19.5419144,45.4021924,15.0996206,41.3051822,67.6994426,39.1972855,50.2663608,29.9307209,4.0266489,11.4667465,9.0270295,33.9128459,25.8824995 +2382,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.7089892,0.7473369,16.4506729,13.3538456,56.6692193,12.8991953,26.7863838,66.6635542,30.0903134,42.5374533,14.6274,4.8117702,13.5499057,11.8304862,29.763098,8.7919682,0.6621526,0.7082841,16.8887858,13.7649676,57.3777957,13.4078107,26.5445422,66.3756298,30.1690455,42.5821592,14.2629318,4.9107925,13.9078372,12.1101804,30.8676018,7.7436081,0.8144658,0.8376017,17.2594398,14.0953757,58.1099109,13.3410626,26.9343425,66.0448167,29.8565602,42.0418611,13.8485486,4.8244523,14.0763706,11.7635667,30.6186848,8.3481464,0.8184939,0.8552641,17.6034073,14.4360231,59.0481206,13.4674931,27.2344769,66.2584984,30.1304241,41.9467225,13.9166999,4.7640105,14.2367372,11.1931991,30.1486761,8.3046687,0.8792837,0.9353223,17.6334856,14.3256121,59.7468867,13.5303043,27.2402347,66.3389537,29.537068,41.6652201,13.8072223,5.037409,14.0581973,10.6543523,30.510585,9.8184073 +2383,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4620222,1.437176,27.5458594,22.8272578,57.2025788,17.8408743,39.9889731,63.7458305,33.9218955,45.1626919,21.7439976,3.03356,13.0233604,10.9737712,34.1453608,16.2974735,1.3191541,1.3191541,27.3743989,22.7733048,56.1767766,18.342534,39.8588071,64.4570806,35.3270972,46.2870818,21.9033098,3.4311616,13.0828775,10.4058409,32.8508568,14.0822874,1.1638171,1.1638171,26.6001343,22.4192028,56.2799088,17.6765224,39.9258436,65.1650741,36.1505707,46.5081592,21.2250168,3.0948558,13.4351005,10.4693913,32.9066152,15.4952225,1.1908486,1.1908486,26.7423365,22.4824984,56.5996624,17.4090941,39.728238,66.4064015,36.5713217,46.7979664,21.4536909,3.0012934,13.0412221,9.9378876,31.9831332,16.2295295,1.2033511,1.2033511,26.3725397,22.6082056,56.2853813,16.9957129,38.9821377,66.2171634,36.1537012,46.7831537,21.7378406,2.9424816,13.2467586,11.0068258,32.6273928,16.3230353 +2384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0580302,1.0683579,15.1504724,11.3663437,39.1446872,19.4390801,33.8475038,67.0705931,35.1789241,48.7230232,20.5263044,5.1480902,12.4033437,10.6568158,26.170339,7.5152637,0.8712978,0.8892993,15.2593398,11.4411369,38.9145539,19.6866258,32.9827172,67.2175108,35.5180394,48.5627592,20.2759932,4.9446338,12.158489,10.2779775,26.2450533,7.3898627,0.8478289,0.8655526,16.0645719,12.2288219,38.9978424,19.3226415,33.426028,67.4376383,36.1447715,48.7885464,20.8013403,4.9806012,12.5424847,9.9449224,26.7758322,8.0190848,0.9716789,0.979133,16.2500263,12.2323255,39.2245399,18.7751493,33.0900376,67.7290574,36.5763414,48.6596998,21.1947606,4.9916184,13.1767212,10.3849981,26.5974399,8.6753115,0.8690233,0.891718,16.0864851,12.1364151,39.9409046,18.6707263,32.5713288,67.1775969,36.5830956,48.7530604,20.53383,4.5636065,13.753425,10.3781634,27.7515642,8.0794678 +2385,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8218296,1.8087287,35.0201489,30.4421911,54.512795,12.8433669,39.3254717,63.8216164,34.5035761,43.3334519,20.5084436,2.4294027,17.3873348,11.9552853,39.5916391,19.1848784,1.7958179,1.8195425,35.2783342,30.7217247,55.0589988,12.7978427,39.7881319,63.6797674,34.6406842,43.4384204,20.8717883,2.4758704,18.0477674,11.1649819,38.6584532,19.1908546,1.8213405,1.8539677,35.5329097,31.0185344,56.2780482,12.257315,39.2425432,63.8362227,34.2353646,42.7957719,20.5750794,2.489019,18.8570005,12.1739635,39.8859589,18.553442,1.9420985,1.9614678,36.1750692,31.5054734,57.0237608,12.0804332,39.2111323,63.6722484,33.9265753,42.4827837,20.8979243,2.4962864,18.2763859,12.365698,39.9334127,18.1528662,2.0947635,2.1115115,36.5211735,31.6721103,56.7508254,11.8480565,39.075968,64.5378396,34.2955186,42.6629,21.028621,2.7458974,18.0909715,12.0437996,39.9522463,18.4599062 +2386,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4318863,2.4844491,36.3024499,31.1647581,53.5650082,19.240548,36.8692176,63.9048336,31.6658115,44.8453966,20.3103707,3.0750982,17.2180406,14.2893829,34.5923961,25.4456982,2.2987321,2.352584,35.7211606,30.4425884,53.3590465,19.5627202,36.7750866,65.4052422,33.0325288,45.5103765,20.8312659,3.015331,17.3396013,13.9777142,36.2442241,25.8368194,2.5375759,2.5397463,35.6706067,30.0610828,52.3451021,19.5277269,36.4398991,64.8756047,32.8344516,45.1681732,20.0241231,3.061495,17.8786244,13.393846,36.0938527,26.9868007,2.3464148,2.3485858,34.9411304,29.3343964,51.6536986,19.6563548,36.7469758,64.5861659,33.7784614,45.8161926,20.4211834,2.987522,17.1985942,12.31932,34.2213838,25.0025129,2.0659309,2.0358231,34.9565954,29.5471597,51.7663466,19.527095,36.9783306,64.9884066,34.1064073,45.6892028,20.4493777,3.4487729,15.4266454,12.4098846,33.9247993,25.7677078 +2387,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6506263,0.6449477,10.3016071,6.6315426,37.4664752,19.5660238,30.2592118,71.1307541,39.9887213,46.3748994,22.1074443,2.9864719,8.178566,9.1201808,35.0504424,7.3529412,0.6684395,0.6991898,11.0654328,7.0968898,36.0671227,19.1508765,30.5350628,71.457593,41.162364,46.8450255,22.3800889,3.15498,8.1696962,9.1578992,34.5473831,7.1022727,0.7672914,0.7645429,11.8695003,7.7777845,35.4760974,19.036527,30.2355173,71.5036449,41.1413052,47.3369542,22.2282822,3.1340564,8.649197,9.331959,34.1319326,10.1156589,0.8219289,0.7949602,12.2834431,8.0214916,35.3529741,18.8576331,30.2064847,70.8971279,40.6016365,47.8640028,22.2677287,2.901383,9.2506516,9.3108035,33.9022733,9.7765867,0.8930242,0.8669581,12.3239492,8.0985998,35.5489205,19.1081572,30.1579113,70.8376322,40.4565627,47.4596514,22.6742325,3.1410863,9.6619773,9.1634744,33.4082092,10.4839247 +2388,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6684395,0.6991898,11.0654328,7.0968898,36.0671227,19.1508765,30.5350628,71.457593,41.162364,46.8450255,22.3800889,3.15498,8.1696962,9.1578992,34.5473831,7.1022727,0.7672914,0.7645429,11.8695003,7.7777845,35.4760974,19.036527,30.2355173,71.5036449,41.1413052,47.3369542,22.2282822,3.1340564,8.649197,9.331959,34.1319326,10.1156589,0.8219289,0.7949602,12.2834431,8.0214916,35.3529741,18.8576331,30.2064847,70.8971279,40.6016365,47.8640028,22.2677287,2.901383,9.2506516,9.3108035,33.9022733,9.7765867,0.8930242,0.8669581,12.3239492,8.0985998,35.5489205,19.1081572,30.1579113,70.8376322,40.4565627,47.4596514,22.6742325,3.1410863,9.6619773,9.1634744,33.4082092,10.4839247,0.9564009,0.9435765,13.0370147,8.4765416,35.7093552,19.2551615,29.9797092,70.4937467,39.9222084,46.6181829,22.1001102,3.2296224,10.1689548,9.3730411,33.3018805,9.5628962 +2389,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8197285,0.8482156,16.4957085,13.0229736,70.9619716,8.3382589,26.3523375,61.3582817,28.08362,36.2263602,14.3548985,5.3754583,12.9761836,9.6368966,37.2282982,8.2367038,0.8566044,0.9012002,16.6777256,13.2508113,71.6319622,8.369719,26.11371,62.1670081,28.6108337,36.6987703,14.4944129,5.3435878,13.0684223,9.6969111,37.1636114,8.3445689,0.9112865,0.949727,16.5894783,13.1876202,72.1530243,8.7168867,26.1585371,62.9326569,29.1963652,36.8558868,14.520584,5.4190667,13.2834522,9.5195763,36.3736988,8.2339423,0.9020129,0.9490671,16.7669691,13.3552937,73.0124086,8.2761801,26.3518336,63.2010449,28.7398095,36.7960664,14.4688225,5.2695254,13.4268182,9.3142466,36.2596726,8.4866083,0.932504,0.9736277,17.2126998,13.8734261,73.6544011,8.3161692,26.4384026,63.0914946,28.7072398,36.8279796,14.5961883,5.2890627,13.7069168,9.3563641,36.0103931,8.6652396 +2390,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7672914,0.7645429,11.8695003,7.7777845,35.4760974,19.036527,30.2355173,71.5036449,41.1413052,47.3369542,22.2282822,3.1340564,8.649197,9.331959,34.1319326,10.1156589,0.8219289,0.7949602,12.2834431,8.0214916,35.3529741,18.8576331,30.2064847,70.8971279,40.6016365,47.8640028,22.2677287,2.901383,9.2506516,9.3108035,33.9022733,9.7765867,0.8930242,0.8669581,12.3239492,8.0985998,35.5489205,19.1081572,30.1579113,70.8376322,40.4565627,47.4596514,22.6742325,3.1410863,9.6619773,9.1634744,33.4082092,10.4839247,0.9564009,0.9435765,13.0370147,8.4765416,35.7093552,19.2551615,29.9797092,70.4937467,39.9222084,46.6181829,22.1001102,3.2296224,10.1689548,9.3730411,33.3018805,9.5628962,0.974609,0.9670767,12.989326,8.6865139,35.6222376,19.0249383,30.1062859,70.2922758,40.4350565,46.0146076,22.2351489,3.2049164,10.4923055,9.2729501,33.5083322,10.7143407 +2391,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5870647,1.5432702,23.5820665,18.9284242,46.4773199,15.559661,40.0728985,68.3595952,39.5940676,50.2911445,30.4234876,3.3587224,11.868206,10.0562662,34.6986481,19.5289801,1.6267323,1.6475937,23.7298791,18.8455896,46.0996235,15.8975095,40.9419155,68.3569051,40.0982898,50.829267,29.8864455,3.9098772,10.8866128,9.1164319,33.5452299,18.9860698,1.420627,1.4406045,23.7376341,19.0414917,44.2245349,15.1928434,40.6443905,67.3945037,39.3209355,50.2787817,29.6340902,3.5697681,10.7283986,9.3768041,34.1015976,22.3732293,1.3723853,1.4111652,24.4463993,19.5419144,45.4021924,15.0996206,41.3051822,67.6994426,39.1972855,50.2663608,29.9307209,4.0266489,11.4667465,9.0270295,33.9128459,25.8824995,1.5618189,1.6009566,24.2150614,19.010358,45.7986336,15.8370069,41.1465001,67.5090001,39.1909718,50.1820188,30.0122189,4.0601172,11.5656475,9.4337033,34.6464079,22.1784455 +2392,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2839785,2.3448628,35.6764488,30.8304662,58.7695146,15.773253,36.091463,66.0084595,32.8040605,42.5555139,20.4005347,2.1408359,15.9659121,11.1940737,40.777075,24.4833565,2.2173393,2.3053928,36.104809,31.3950511,59.8329477,15.7567802,35.9717945,65.4529937,32.4511654,41.8035004,19.9544068,2.0827317,16.9019177,11.1923756,39.8298217,23.2942547,2.2358409,2.2753044,36.8972131,32.1513928,59.6979142,15.4702761,36.1758096,65.6393164,32.0391164,41.459876,19.2821704,2.0682745,17.5691245,12.1350626,39.928959,24.1477017,2.1306753,2.1579041,37.0516377,32.364273,60.1915989,15.5877427,35.739202,65.0029569,31.7135489,40.8501506,19.2665099,2.0789092,17.1558239,12.06057,39.4324488,24.1153552,2.080796,2.1018367,37.9052291,33.3713752,61.125643,15.1208884,35.2183079,64.3382388,30.8829241,40.4152137,18.8430264,1.971786,17.2167329,11.91602,38.6166632,25.1830326 +2393,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9157158,0.9395093,18.2905256,14.2905373,36.9462344,20.4521313,38.8773688,66.5398934,38.231992,47.7524503,22.4411773,3.6077107,13.2028415,9.878453,35.2343541,9.5911756,0.9278902,0.9442669,18.3864112,14.259088,37.4797345,20.0291288,39.0451202,66.8972187,38.8410631,47.6185115,22.5560791,3.7083778,13.0919538,9.589945,34.5906661,10.8562452,0.9687951,1.0102472,18.8130077,14.8207452,38.8451619,20.0544952,39.2533149,67.3719386,38.4777838,48.0500811,22.7231901,3.7558054,12.2306926,9.9056461,34.6031983,12.7142644,1.1146513,1.1829539,19.5500261,15.409777,39.7953433,20.0193094,38.7824472,66.815416,38.0636665,47.9307465,22.4460422,3.5177439,12.759835,10.8628232,34.1555223,12.2589565,1.076897,1.145186,20.1709543,15.9699949,40.0636869,19.8997945,39.0873911,66.6193881,38.564648,47.7347117,22.4460439,3.6048677,12.5055509,10.9999908,33.8313627,11.6573001 +2394,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8195207,0.8234739,10.8572007,7.3581182,21.6085484,16.4626766,34.9656622,68.756398,40.9863126,50.0257676,24.0566187,4.2624376,11.4324982,9.8990113,32.2486545,5.7835886,0.8958421,0.8995695,11.5123421,7.7828814,21.6907088,16.2461502,36.3687612,68.4231454,40.6265462,50.3885656,24.0327029,4.330584,11.5928479,9.8555688,32.5215776,7.8397616,0.7886894,0.8029466,11.6118883,7.9457744,22.1749218,16.3923038,36.2870741,67.8074747,40.3198907,49.837819,23.5089778,4.1949984,11.4814906,9.975994,32.9762241,8.3051299,0.776111,0.8062273,11.9087167,8.2630363,22.4154838,16.4498829,36.2065997,67.1553371,39.5379392,49.3629432,23.0043273,4.1065427,11.5216506,10.4489816,33.1826087,9.3750514,0.7812206,0.8067357,12.0511742,8.3244607,22.6261893,16.6484704,35.6702739,66.2844187,38.6255352,49.2766134,22.7105072,3.9787635,11.7931029,10.535243,33.1263254,8.8509765 +2395,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5709185,0.615467,9.5100379,6.30033,45.7753199,13.5408287,30.1068522,63.7319554,30.9594234,41.3265999,17.6821712,15.044901,10.5250385,8.3551112,37.3539842,4.0689655,0.512667,0.5679703,9.6190155,6.4696885,45.5678159,13.856438,30.077892,63.6079301,30.7152128,40.8651081,17.3551317,14.6996324,11.3950041,8.6699915,37.4031303,3.490029,0.5236104,0.5410163,9.7803112,6.5848229,45.9039718,13.9667855,30.0610211,63.2730886,30.2722686,40.7874706,17.104802,14.4877363,11.5553809,8.8122914,37.1926261,3.7219106,0.5553371,0.5583771,10.0457977,6.5934717,46.5935834,13.5635123,29.7596706,62.5615495,29.6776085,40.427905,16.9929652,14.3669397,11.4784825,8.5299045,36.9666542,4.0745862,0.5746796,0.5777174,10.6411626,6.9790579,46.9758557,13.2210124,29.63981,62.5248507,29.8736996,40.1415086,16.974623,13.7820153,11.6895877,8.5747148,37.1197272,4.9472296 +2396,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.512667,0.5679703,9.6190155,6.4696885,45.5678159,13.856438,30.077892,63.6079301,30.7152128,40.8651081,17.3551317,14.6996324,11.3950041,8.6699915,37.4031303,3.490029,0.5236104,0.5410163,9.7803112,6.5848229,45.9039718,13.9667855,30.0610211,63.2730886,30.2722686,40.7874706,17.104802,14.4877363,11.5553809,8.8122914,37.1926261,3.7219106,0.5553371,0.5583771,10.0457977,6.5934717,46.5935834,13.5635123,29.7596706,62.5615495,29.6776085,40.427905,16.9929652,14.3669397,11.4784825,8.5299045,36.9666542,4.0745862,0.5746796,0.5777174,10.6411626,6.9790579,46.9758557,13.2210124,29.63981,62.5248507,29.8736996,40.1415086,16.974623,13.7820153,11.6895877,8.5747148,37.1197272,4.9472296,0.6313117,0.6378859,10.7300378,7.1552933,47.8411985,13.5396874,29.5311769,62.8839006,29.7754777,39.8732013,16.6530929,13.8727325,12.2745112,8.831482,37.126929,4.9251864 +2397,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8439412,0.853225,13.5819527,9.2931971,24.9688888,21.1920275,34.3632993,67.568401,38.8902184,47.7351492,25.3008101,3.485905,11.5676473,11.469698,39.6810329,8.9587054,0.7904585,0.8368563,13.4979154,9.4112064,24.6033307,20.706753,34.448421,67.4885388,38.5149641,48.1325793,24.8960961,3.4047432,11.5344061,10.9534387,39.9833658,7.9775685,0.8785503,0.9261342,13.1239055,9.3857061,25.0393003,20.4239832,35.2007208,67.4933133,38.5637554,47.8763522,24.1006268,3.4819223,12.0394309,11.3055631,39.3597003,8.4013004,0.8461324,0.9495687,13.2471977,9.7119739,25.355192,20.0843048,35.2876821,67.5516502,39.2006918,47.7949069,23.1457545,3.2125811,12.6405953,12.0013511,38.9564159,7.3232547,0.8399183,0.9793636,13.5836843,10.271563,25.7721512,20.0865722,35.6892012,67.4436019,39.6689466,48.1021325,23.0178101,3.3399013,13.5999896,12.4280874,38.851308,7.3664155 +2398,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.513824,0.526079,7.7919515,5.0817075,48.0070323,24.0574165,29.6286921,64.3704994,31.4055315,42.5383302,16.758833,6.020548,10.9748138,8.7553217,32.5673626,2.3076923,0.4797179,0.4562106,8.3492584,5.25411,49.1710363,24.0994274,30.0682653,63.6935978,30.068543,42.5065016,16.8695816,5.8767778,10.8709811,8.0919798,32.1227061,2.5943396,0.4022077,0.3880112,8.3486961,5.1787718,48.4886854,23.8716322,30.2967242,62.7750976,30.5535982,42.1002846,17.2837721,6.396648,10.3757653,7.5334852,32.2760486,3.5211268,0.411158,0.3968934,8.0966481,5.1457057,48.2777025,23.0356496,30.4498185,63.0211931,30.5238652,41.7740899,17.6503598,6.3998732,10.870831,7.5594915,32.4195906,3.6407767,0.3512935,0.3504959,8.7074601,5.376542,48.733588,22.7256821,30.0106165,62.0225048,29.5061988,41.4742441,17.2134553,6.398723,10.4155986,6.9661427,31.5410637,5.3738318 +2399,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2391775,2.1894262,34.4745223,30.9713376,66.8060201,7.5757576,39.233279,66.3132137,27.8140294,44.2903752,16.8841762,5.7911909,12.5,8.6319218,33.496732,14.9305556,1.9881755,1.9390837,34.4637224,31.6246057,68.5970636,7.0982839,37.6386688,66.0063391,27.496038,43.18542,17.3534073,6.1014263,13.5093168,8.8785047,34.84375,14.8026316,2.2095522,2.1590472,35.9706362,32.3817292,68.4433164,7.8225806,38.7070376,65.3846154,28.0687398,44.1080196,17.594108,6.4648118,14.1666667,8.8628763,35.4026846,16.9871795,2.2922862,2.1325418,36.2778731,32.3327616,67.9328622,7.3979592,39.5008606,64.9741824,28.141136,43.4595525,17.6419966,6.7986231,16.440678,10.3741497,36.4726027,18.9655172,2.1752098,2.0159741,35.7385399,30.9847199,67.6265271,7.6988156,38.7563884,65.3321976,27.8534923,43.5264055,17.6320273,6.2180579,14.548495,11.5384615,35.5218855,18.3453237 +2400,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2987321,2.352584,35.7211606,30.4425884,53.3590465,19.5627202,36.7750866,65.4052422,33.0325288,45.5103765,20.8312659,3.015331,17.3396013,13.9777142,36.2442241,25.8368194,2.5375759,2.5397463,35.6706067,30.0610828,52.3451021,19.5277269,36.4398991,64.8756047,32.8344516,45.1681732,20.0241231,3.061495,17.8786244,13.393846,36.0938527,26.9868007,2.3464148,2.3485858,34.9411304,29.3343964,51.6536986,19.6563548,36.7469758,64.5861659,33.7784614,45.8161926,20.4211834,2.987522,17.1985942,12.31932,34.2213838,25.0025129,2.0659309,2.0358231,34.9565954,29.5471597,51.7663466,19.527095,36.9783306,64.9884066,34.1064073,45.6892028,20.4493777,3.4487729,15.4266454,12.4098846,33.9247993,25.7677078,1.9731446,1.9417153,35.1650661,29.9633514,51.5387628,19.1812117,38.0351919,64.8764643,34.1843042,46.1384306,20.7274666,3.5093983,14.5723659,12.3196374,34.0357576,28.1566596 +2401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6995213,0.6949753,8.7084582,6.1820977,61.5445513,13.1601555,27.2523117,70.4913297,31.6485202,45.4204715,14.9976154,4.6102138,12.757174,11.5207787,32.9381418,8.1554047,0.6732158,0.6685923,9.2218995,6.6203685,58.2468587,12.6799596,26.9170877,70.6666398,31.3140488,45.6143343,15.6273784,4.8526287,12.6558735,11.4695321,32.9812793,9.1234301,0.7354042,0.7308348,8.9237283,6.237008,54.4083269,13.0637334,26.5354271,70.7189142,31.2814818,46.6967113,16.0624279,4.8834921,12.5484021,11.389849,32.2066641,9.3281563,0.7565076,0.7426624,9.0487263,6.2076049,50.9743578,13.4168638,26.0592725,70.5616677,31.7042347,46.2942509,16.0808201,4.7904862,11.7715681,11.3829774,31.4163314,8.9925923,0.5462209,0.5323246,8.3966036,5.4490534,48.7878269,13.7122037,25.0254877,70.1150172,32.0111143,46.2999926,15.9758185,4.7828791,12.2758356,11.6523015,31.5643629,4.9241566 +2402,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9278902,0.9442669,18.3864112,14.259088,37.4797345,20.0291288,39.0451202,66.8972187,38.8410631,47.6185115,22.5560791,3.7083778,13.0919538,9.589945,34.5906661,10.8562452,0.9687951,1.0102472,18.8130077,14.8207452,38.8451619,20.0544952,39.2533149,67.3719386,38.4777838,48.0500811,22.7231901,3.7558054,12.2306926,9.9056461,34.6031983,12.7142644,1.1146513,1.1829539,19.5500261,15.409777,39.7953433,20.0193094,38.7824472,66.815416,38.0636665,47.9307465,22.4460422,3.5177439,12.759835,10.8628232,34.1555223,12.2589565,1.076897,1.145186,20.1709543,15.9699949,40.0636869,19.8997945,39.0873911,66.6193881,38.564648,47.7347117,22.4460439,3.6048677,12.5055509,10.9999908,33.8313627,11.6573001,1.1579484,1.2108248,20.9090615,16.729342,41.215522,19.1892944,39.3126515,66.0309866,38.1707424,47.6082515,22.6136324,3.8676938,13.2186212,11.045743,33.8941908,11.6621953 +2403,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9687951,1.0102472,18.8130077,14.8207452,38.8451619,20.0544952,39.2533149,67.3719386,38.4777838,48.0500811,22.7231901,3.7558054,12.2306926,9.9056461,34.6031983,12.7142644,1.1146513,1.1829539,19.5500261,15.409777,39.7953433,20.0193094,38.7824472,66.815416,38.0636665,47.9307465,22.4460422,3.5177439,12.759835,10.8628232,34.1555223,12.2589565,1.076897,1.145186,20.1709543,15.9699949,40.0636869,19.8997945,39.0873911,66.6193881,38.564648,47.7347117,22.4460439,3.6048677,12.5055509,10.9999908,33.8313627,11.6573001,1.1579484,1.2108248,20.9090615,16.729342,41.215522,19.1892944,39.3126515,66.0309866,38.1707424,47.6082515,22.6136324,3.8676938,13.2186212,11.045743,33.8941908,11.6621953,1.184062,1.231298,20.9687197,16.7934899,42.0536791,19.1225493,38.7155308,65.6793467,38.6093887,47.314184,22.3885268,3.5987214,13.9489583,11.9212431,34.2664885,11.8925831 +2404,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7813449,0.8129507,11.6029261,7.826549,45.5814109,11.9411946,30.7281764,66.7481607,42.2533944,45.7003386,24.8162719,4.6072203,10.6005154,9.1423896,40.4849729,9.4253817,0.8509674,0.8796999,11.7566668,7.9899026,45.3707848,12.1102366,30.6545791,66.6807982,42.418811,45.4394537,24.8833983,4.5696359,10.6115556,8.7361165,40.2376108,8.9236729,0.8731067,0.906828,11.8688722,8.1217957,45.1149318,11.975685,30.9116158,66.4724409,42.2172456,44.8321141,25.0280588,4.5424511,10.6023604,8.5349935,40.2833654,8.1646115,0.8720695,0.908706,12.3884035,8.4412161,45.3891718,11.5556388,30.9821716,66.2440431,41.7385771,44.2626856,24.5761243,4.4316428,10.5151527,8.516749,40.7156973,8.3218364,0.9342685,0.9570535,12.7770831,8.8478534,45.4793716,11.681092,31.162233,66.3372127,41.1413581,43.9938346,24.1405899,4.507782,10.3231269,8.7772023,40.9618321,7.9091833 +2405,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8649763,0.864064,15.9144737,11.9996834,49.5665804,13.1020419,30.8774508,63.9924037,33.2743495,40.8289988,18.5028792,4.3553639,11.8485818,8.971756,33.8829474,12.5,0.9625009,0.9705324,15.9042494,11.8951782,50.3714872,12.9512771,30.7057555,64.6000571,34.1975855,41.4930663,19.0015447,4.4517905,11.7222873,9.088249,33.8295733,13.0952381,0.8911072,0.912481,16.2538131,12.2231536,51.2330832,12.5077402,30.9504175,64.5115082,33.9152584,41.6110526,18.4000962,4.537174,11.9066956,8.9595563,34.0392073,13.3223684,0.923018,0.9606328,16.446858,12.4854643,52.7270882,12.3433379,30.5571655,64.7973197,33.9975548,41.4955741,18.3830611,4.4561396,12.6409977,9.814529,33.6122684,14.3518519,0.9981503,1.0249177,16.4726986,12.3750124,53.2324782,12.2991627,30.080189,64.6906579,34.841556,41.2458358,18.7258886,4.5664265,12.5172864,10.396628,33.7409373,14.6969697 +2406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4797179,0.4562106,8.3492584,5.25411,49.1710363,24.0994274,30.0682653,63.6935978,30.068543,42.5065016,16.8695816,5.8767778,10.8709811,8.0919798,32.1227061,2.5943396,0.4022077,0.3880112,8.3486961,5.1787718,48.4886854,23.8716322,30.2967242,62.7750976,30.5535982,42.1002846,17.2837721,6.396648,10.3757653,7.5334852,32.2760486,3.5211268,0.411158,0.3968934,8.0966481,5.1457057,48.2777025,23.0356496,30.4498185,63.0211931,30.5238652,41.7740899,17.6503598,6.3998732,10.870831,7.5594915,32.4195906,3.6407767,0.3512935,0.3504959,8.7074601,5.376542,48.733588,22.7256821,30.0106165,62.0225048,29.5061988,41.4742441,17.2134553,6.398723,10.4155986,6.9661427,31.5410637,5.3738318,0.3371767,0.3363886,9.2877609,5.5655005,49.1269195,22.7997721,30.594153,61.4215684,29.0906538,41.6217531,17.1321592,6.6774288,10.2025305,6.6544211,31.6381009,4.8837209 +2407,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4245225,0.4324798,8.7893138,5.590798,46.9959363,20.2709815,28.8381214,64.9216771,32.754575,39.986952,17.4804238,6.9843377,10.4727116,7.5416792,36.1648507,3.376208,0.3993725,0.4073034,9.1426239,6.0730326,47.3976552,20.4186421,29.2705136,64.3951243,32.4117406,39.4730111,17.1209824,6.9444481,10.1930918,7.5609761,36.3210921,3.4023689,0.3406489,0.3482942,9.2771661,6.2484069,47.7426841,20.7741151,29.8453529,63.6941949,31.8159201,39.3988598,16.824648,7.0217047,10.3382132,7.5608039,36.3939482,3.4954429,0.4434924,0.4563299,9.6431162,6.5631856,47.5873285,21.0429937,30.4457266,63.5633884,31.6199424,39.7675599,17.4095395,6.9853835,10.0735039,7.5168926,35.6830285,3.9358612,0.3942102,0.4028672,9.8416276,6.5987933,47.6258014,21.1113899,30.6622398,63.4785871,31.7208297,39.9433791,17.5898556,6.8808476,9.522982,7.6014112,35.3323823,3.868196 +2408,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3191541,1.3191541,27.3743989,22.7733048,56.1767766,18.342534,39.8588071,64.4570806,35.3270972,46.2870818,21.9033098,3.4311616,13.0828775,10.4058409,32.8508568,14.0822874,1.1638171,1.1638171,26.6001343,22.4192028,56.2799088,17.6765224,39.9258436,65.1650741,36.1505707,46.5081592,21.2250168,3.0948558,13.4351005,10.4693913,32.9066152,15.4952225,1.1908486,1.1908486,26.7423365,22.4824984,56.5996624,17.4090941,39.728238,66.4064015,36.5713217,46.7979664,21.4536909,3.0012934,13.0412221,9.9378876,31.9831332,16.2295295,1.2033511,1.2033511,26.3725397,22.6082056,56.2853813,16.9957129,38.9821377,66.2171634,36.1537012,46.7831537,21.7378406,2.9424816,13.2467586,11.0068258,32.6273928,16.3230353,1.2067723,1.2140469,26.5391511,22.7248747,56.4090211,16.8759238,38.4192818,65.8717288,36.3909966,47.0040953,21.8629014,2.8537367,12.9968765,11.228893,32.3520553,16.7266368 +2409,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2173393,2.3053928,36.104809,31.3950511,59.8329477,15.7567802,35.9717945,65.4529937,32.4511654,41.8035004,19.9544068,2.0827317,16.9019177,11.1923756,39.8298217,23.2942547,2.2358409,2.2753044,36.8972131,32.1513928,59.6979142,15.4702761,36.1758096,65.6393164,32.0391164,41.459876,19.2821704,2.0682745,17.5691245,12.1350626,39.928959,24.1477017,2.1306753,2.1579041,37.0516377,32.364273,60.1915989,15.5877427,35.739202,65.0029569,31.7135489,40.8501506,19.2665099,2.0789092,17.1558239,12.06057,39.4324488,24.1153552,2.080796,2.1018367,37.9052291,33.3713752,61.125643,15.1208884,35.2183079,64.3382388,30.8829241,40.4152137,18.8430264,1.971786,17.2167329,11.91602,38.6166632,25.1830326,2.1591749,2.183643,37.5507987,32.9126166,62.0318609,15.0206661,34.856279,64.5681961,30.3795231,40.379326,18.5471354,1.8193654,17.4641121,11.7036836,38.285766,26.2339443 +2410,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9881755,1.9390837,34.4637224,31.6246057,68.5970636,7.0982839,37.6386688,66.0063391,27.496038,43.18542,17.3534073,6.1014263,13.5093168,8.8785047,34.84375,14.8026316,2.2095522,2.1590472,35.9706362,32.3817292,68.4433164,7.8225806,38.7070376,65.3846154,28.0687398,44.1080196,17.594108,6.4648118,14.1666667,8.8628763,35.4026846,16.9871795,2.2922862,2.1325418,36.2778731,32.3327616,67.9328622,7.3979592,39.5008606,64.9741824,28.141136,43.4595525,17.6419966,6.7986231,16.440678,10.3741497,36.4726027,18.9655172,2.1752098,2.0159741,35.7385399,30.9847199,67.6265271,7.6988156,38.7563884,65.3321976,27.8534923,43.5264055,17.6320273,6.2180579,14.548495,11.5384615,35.5218855,18.3453237,1.8538436,1.8538436,35.4419411,30.9358752,68.4448463,7.9545455,38.712522,65.696649,27.6014109,43.8271605,18.7830688,6.4373898,15.5821918,11.8150685,36.7241379,17.0289855 +2411,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8712978,0.8892993,15.2593398,11.4411369,38.9145539,19.6866258,32.9827172,67.2175108,35.5180394,48.5627592,20.2759932,4.9446338,12.158489,10.2779775,26.2450533,7.3898627,0.8478289,0.8655526,16.0645719,12.2288219,38.9978424,19.3226415,33.426028,67.4376383,36.1447715,48.7885464,20.8013403,4.9806012,12.5424847,9.9449224,26.7758322,8.0190848,0.9716789,0.979133,16.2500263,12.2323255,39.2245399,18.7751493,33.0900376,67.7290574,36.5763414,48.6596998,21.1947606,4.9916184,13.1767212,10.3849981,26.5974399,8.6753115,0.8690233,0.891718,16.0864851,12.1364151,39.9409046,18.6707263,32.5713288,67.1775969,36.5830956,48.7530604,20.53383,4.5636065,13.753425,10.3781634,27.7515642,8.0794678,0.990758,1.0398668,16.1161739,12.2280556,40.0536236,18.9134218,32.8824649,67.4901352,37.3928175,48.6979809,20.7060279,4.6105786,13.7706408,9.8238222,27.9461499,8.2554466 +2412,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2095522,2.1590472,35.9706362,32.3817292,68.4433164,7.8225806,38.7070376,65.3846154,28.0687398,44.1080196,17.594108,6.4648118,14.1666667,8.8628763,35.4026846,16.9871795,2.2922862,2.1325418,36.2778731,32.3327616,67.9328622,7.3979592,39.5008606,64.9741824,28.141136,43.4595525,17.6419966,6.7986231,16.440678,10.3741497,36.4726027,18.9655172,2.1752098,2.0159741,35.7385399,30.9847199,67.6265271,7.6988156,38.7563884,65.3321976,27.8534923,43.5264055,17.6320273,6.2180579,14.548495,11.5384615,35.5218855,18.3453237,1.8538436,1.8538436,35.4419411,30.9358752,68.4448463,7.9545455,38.712522,65.696649,27.6014109,43.8271605,18.7830688,6.4373898,15.5821918,11.8150685,36.7241379,17.0289855,1.6648024,1.6648024,34.9557522,30.3539823,65.9554731,8.1834532,37.9528986,66.2137681,29.2572464,45.3804348,20.7427536,7.8804348,15.2877698,11.3309353,37.1376812,18.1481481 +2413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6381379,1.6871616,19.9191657,15.9162711,83.570508,15.3533695,34.511583,63.8359792,36.6093395,41.6358808,19.8786965,5.1847821,13.9382771,12.578562,38.678469,12.1475584,1.6214964,1.6508933,20.1221768,16.1928068,83.5830416,14.4080792,33.9208146,63.0115623,36.9244954,41.4012679,19.852499,5.658901,14.5497445,12.7703679,39.3718461,12.9841212,1.5813813,1.5813813,19.7413035,15.5587003,83.9783647,14.587074,34.0678764,62.8742579,38.0818271,41.4607971,20.3631886,6.0870744,14.6957259,13.4401003,38.8812227,11.6861989,1.6190379,1.6190379,19.6125041,15.5694009,84.6616109,13.1116274,33.9001488,61.7958321,36.6671279,40.6522136,19.6993561,5.5595772,14.1493355,13.0298988,38.2570145,12.7732872,1.7845498,1.7845498,19.5546477,15.6367182,85.4743046,13.3274519,32.7570053,63.0797052,36.7294007,39.46241,19.1614574,5.6933761,12.5008885,11.6146203,37.9281524,13.3539647 +2414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5062624,0.5346419,10.1385388,6.7731661,33.9280135,22.4856297,31.5008489,63.6659552,31.1899256,43.2023247,16.2379795,7.475966,11.0256698,9.3500935,33.4984808,4.9152459,0.4746233,0.5037678,10.194283,6.6560112,35.0816004,22.5154895,31.3024465,63.2561937,30.2026087,43.6323836,16.1939207,7.4529607,10.973708,8.6740762,33.7859493,5.3819258,0.4483604,0.4708346,9.9591442,6.605406,36.3705285,22.4383752,31.1011044,62.9430989,29.1255279,42.8675064,16.2260372,7.5392184,11.2095117,8.6187241,34.1201206,6.1258075,0.5308456,0.5657667,10.6167252,6.9162949,37.5423893,22.9762428,30.8987128,62.895242,29.1422912,43.2523284,16.0567979,7.625875,10.9872357,8.2103523,33.6323746,5.8729972,0.5364199,0.5441742,11.0074109,7.1555682,38.7212036,23.1855682,30.9158149,62.319103,29.2319336,42.348583,15.9084161,7.2230427,11.0671339,8.0418463,32.9116197,5.9815767 +2415,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6989246,0.7094442,12.1886975,8.6886261,44.3258429,18.8057099,32.1769174,67.999457,37.3233011,42.9488327,22.363671,4.629178,10.0182222,9.0013472,34.9097458,8.3904883,0.7248541,0.7326734,12.9213729,9.2475425,45.120057,18.2477092,32.0945602,67.8274481,36.9884703,43.0733399,22.0738995,4.5442942,10.4855712,9.2288757,35.1901169,8.7744034,0.7787902,0.7787902,12.8852286,9.2074773,45.1063878,18.6690474,32.686853,67.927708,37.4462751,43.1949579,21.8045483,4.6123133,10.8423673,9.1191448,36.0546316,8.4478203,0.7255724,0.753369,13.3802497,9.7517479,44.6817527,18.3139352,32.9589913,67.0899858,36.3129969,43.5139704,21.1957989,4.3280017,10.3567383,9.2120515,35.7525372,8.4713221,0.8783554,0.8940492,14.0553773,10.2682559,45.0405496,18.5452789,33.3446877,66.2396283,35.6994061,43.3171368,20.9716795,4.2590223,10.4523307,9.3921175,36.8700424,9.5775052 +2416,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7248541,0.7326734,12.9213729,9.2475425,45.120057,18.2477092,32.0945602,67.8274481,36.9884703,43.0733399,22.0738995,4.5442942,10.4855712,9.2288757,35.1901169,8.7744034,0.7787902,0.7787902,12.8852286,9.2074773,45.1063878,18.6690474,32.686853,67.927708,37.4462751,43.1949579,21.8045483,4.6123133,10.8423673,9.1191448,36.0546316,8.4478203,0.7255724,0.753369,13.3802497,9.7517479,44.6817527,18.3139352,32.9589913,67.0899858,36.3129969,43.5139704,21.1957989,4.3280017,10.3567383,9.2120515,35.7525372,8.4713221,0.8783554,0.8940492,14.0553773,10.2682559,45.0405496,18.5452789,33.3446877,66.2396283,35.6994061,43.3171368,20.9716795,4.2590223,10.4523307,9.3921175,36.8700424,9.5775052,0.8932547,0.9085579,14.4759664,10.733184,45.961586,18.4743986,33.2693802,65.6054524,34.8446286,43.1930553,20.7582232,4.489272,10.4567885,9.2617998,36.3243313,10.5179139 +2417,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8958421,0.8995695,11.5123421,7.7828814,21.6907088,16.2461502,36.3687612,68.4231454,40.6265462,50.3885656,24.0327029,4.330584,11.5928479,9.8555688,32.5215776,7.8397616,0.7886894,0.8029466,11.6118883,7.9457744,22.1749218,16.3923038,36.2870741,67.8074747,40.3198907,49.837819,23.5089778,4.1949984,11.4814906,9.975994,32.9762241,8.3051299,0.776111,0.8062273,11.9087167,8.2630363,22.4154838,16.4498829,36.2065997,67.1553371,39.5379392,49.3629432,23.0043273,4.1065427,11.5216506,10.4489816,33.1826087,9.3750514,0.7812206,0.8067357,12.0511742,8.3244607,22.6261893,16.6484704,35.6702739,66.2844187,38.6255352,49.2766134,22.7105072,3.9787635,11.7931029,10.535243,33.1263254,8.8509765,0.7831021,0.8135569,12.0284049,8.2709182,22.7491063,16.3907561,36.1068698,66.0551233,37.7816735,48.9418491,21.6885043,3.966203,11.4172534,10.3042844,32.7259285,9.2532882 +2418,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8219289,0.7949602,12.2834431,8.0214916,35.3529741,18.8576331,30.2064847,70.8971279,40.6016365,47.8640028,22.2677287,2.901383,9.2506516,9.3108035,33.9022733,9.7765867,0.8930242,0.8669581,12.3239492,8.0985998,35.5489205,19.1081572,30.1579113,70.8376322,40.4565627,47.4596514,22.6742325,3.1410863,9.6619773,9.1634744,33.4082092,10.4839247,0.9564009,0.9435765,13.0370147,8.4765416,35.7093552,19.2551615,29.9797092,70.4937467,39.9222084,46.6181829,22.1001102,3.2296224,10.1689548,9.3730411,33.3018805,9.5628962,0.974609,0.9670767,12.989326,8.6865139,35.6222376,19.0249383,30.1062859,70.2922758,40.4350565,46.0146076,22.2351489,3.2049164,10.4923055,9.2729501,33.5083322,10.7143407,1.0432437,1.0457984,13.3825915,9.1789843,35.4611057,19.230749,29.7675301,70.0303339,40.8524126,46.0747917,22.2877366,3.2850385,10.2812485,8.7867351,32.8633963,11.9680915 +2419,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4746233,0.5037678,10.194283,6.6560112,35.0816004,22.5154895,31.3024465,63.2561937,30.2026087,43.6323836,16.1939207,7.4529607,10.973708,8.6740762,33.7859493,5.3819258,0.4483604,0.4708346,9.9591442,6.605406,36.3705285,22.4383752,31.1011044,62.9430989,29.1255279,42.8675064,16.2260372,7.5392184,11.2095117,8.6187241,34.1201206,6.1258075,0.5308456,0.5657667,10.6167252,6.9162949,37.5423893,22.9762428,30.8987128,62.895242,29.1422912,43.2523284,16.0567979,7.625875,10.9872357,8.2103523,33.6323746,5.8729972,0.5364199,0.5441742,11.0074109,7.1555682,38.7212036,23.1855682,30.9158149,62.319103,29.2319336,42.348583,15.9084161,7.2230427,11.0671339,8.0418463,32.9116197,5.9815767,0.5403665,0.5616016,10.7121965,7.1365894,39.8803866,23.7361867,30.6938042,63.5099987,28.9373822,42.2862863,15.3834872,7.5965886,11.2695439,8.4088419,32.5967948,5.425204 +2420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6267323,1.6475937,23.7298791,18.8455896,46.0996235,15.8975095,40.9419155,68.3569051,40.0982898,50.829267,29.8864455,3.9098772,10.8866128,9.1164319,33.5452299,18.9860698,1.420627,1.4406045,23.7376341,19.0414917,44.2245349,15.1928434,40.6443905,67.3945037,39.3209355,50.2787817,29.6340902,3.5697681,10.7283986,9.3768041,34.1015976,22.3732293,1.3723853,1.4111652,24.4463993,19.5419144,45.4021924,15.0996206,41.3051822,67.6994426,39.1972855,50.2663608,29.9307209,4.0266489,11.4667465,9.0270295,33.9128459,25.8824995,1.5618189,1.6009566,24.2150614,19.010358,45.7986336,15.8370069,41.1465001,67.5090001,39.1909718,50.1820188,30.0122189,4.0601172,11.5656475,9.4337033,34.6464079,22.1784455,1.4326034,1.4709855,23.5585273,18.8486131,46.7169131,15.5408555,40.9924894,67.6564562,39.5681103,50.8353029,30.5702588,4.144263,11.7142091,9.8067824,34.6646404,23.9542771 +2421,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7904585,0.8368563,13.4979154,9.4112064,24.6033307,20.706753,34.448421,67.4885388,38.5149641,48.1325793,24.8960961,3.4047432,11.5344061,10.9534387,39.9833658,7.9775685,0.8785503,0.9261342,13.1239055,9.3857061,25.0393003,20.4239832,35.2007208,67.4933133,38.5637554,47.8763522,24.1006268,3.4819223,12.0394309,11.3055631,39.3597003,8.4013004,0.8461324,0.9495687,13.2471977,9.7119739,25.355192,20.0843048,35.2876821,67.5516502,39.2006918,47.7949069,23.1457545,3.2125811,12.6405953,12.0013511,38.9564159,7.3232547,0.8399183,0.9793636,13.5836843,10.271563,25.7721512,20.0865722,35.6892012,67.4436019,39.6689466,48.1021325,23.0178101,3.3399013,13.5999896,12.4280874,38.851308,7.3664155,0.7710512,0.8916014,14.0028945,10.667877,25.8053701,19.7730312,35.0363114,68.0171815,39.6981313,47.9212291,23.0996257,3.3213102,13.4880718,11.7623372,38.8653025,7.5757998 +2422,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7886894,0.8029466,11.6118883,7.9457744,22.1749218,16.3923038,36.2870741,67.8074747,40.3198907,49.837819,23.5089778,4.1949984,11.4814906,9.975994,32.9762241,8.3051299,0.776111,0.8062273,11.9087167,8.2630363,22.4154838,16.4498829,36.2065997,67.1553371,39.5379392,49.3629432,23.0043273,4.1065427,11.5216506,10.4489816,33.1826087,9.3750514,0.7812206,0.8067357,12.0511742,8.3244607,22.6261893,16.6484704,35.6702739,66.2844187,38.6255352,49.2766134,22.7105072,3.9787635,11.7931029,10.535243,33.1263254,8.8509765,0.7831021,0.8135569,12.0284049,8.2709182,22.7491063,16.3907561,36.1068698,66.0551233,37.7816735,48.9418491,21.6885043,3.966203,11.4172534,10.3042844,32.7259285,9.2532882,0.8437412,0.8675702,12.4626843,8.2729338,23.1677899,16.5710275,36.0649697,65.2491012,36.989172,48.4404453,21.5523589,3.8772596,11.4618763,10.1284993,32.7354937,9.7597927 +2423,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8509674,0.8796999,11.7566668,7.9899026,45.3707848,12.1102366,30.6545791,66.6807982,42.418811,45.4394537,24.8833983,4.5696359,10.6115556,8.7361165,40.2376108,8.9236729,0.8731067,0.906828,11.8688722,8.1217957,45.1149318,11.975685,30.9116158,66.4724409,42.2172456,44.8321141,25.0280588,4.5424511,10.6023604,8.5349935,40.2833654,8.1646115,0.8720695,0.908706,12.3884035,8.4412161,45.3891718,11.5556388,30.9821716,66.2440431,41.7385771,44.2626856,24.5761243,4.4316428,10.5151527,8.516749,40.7156973,8.3218364,0.9342685,0.9570535,12.7770831,8.8478534,45.4793716,11.681092,31.162233,66.3372127,41.1413581,43.9938346,24.1405899,4.507782,10.3231269,8.7772023,40.9618321,7.9091833,0.9889426,0.9934449,13.1591631,9.1296089,45.6549551,11.6704386,31.2287806,66.0499191,40.7768142,43.9970936,23.6863907,4.4679962,10.2830006,8.7565286,40.3504869,8.4189918 +2424,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1638171,1.1638171,26.6001343,22.4192028,56.2799088,17.6765224,39.9258436,65.1650741,36.1505707,46.5081592,21.2250168,3.0948558,13.4351005,10.4693913,32.9066152,15.4952225,1.1908486,1.1908486,26.7423365,22.4824984,56.5996624,17.4090941,39.728238,66.4064015,36.5713217,46.7979664,21.4536909,3.0012934,13.0412221,9.9378876,31.9831332,16.2295295,1.2033511,1.2033511,26.3725397,22.6082056,56.2853813,16.9957129,38.9821377,66.2171634,36.1537012,46.7831537,21.7378406,2.9424816,13.2467586,11.0068258,32.6273928,16.3230353,1.2067723,1.2140469,26.5391511,22.7248747,56.4090211,16.8759238,38.4192818,65.8717288,36.3909966,47.0040953,21.8629014,2.8537367,12.9968765,11.228893,32.3520553,16.7266368,1.2203229,1.2277433,25.6918001,21.609281,56.0112801,16.1387175,38.2009099,65.5386575,35.8987722,47.2175928,21.8462176,2.6138842,12.6973332,11.6632631,32.4733311,14.6840367 +2425,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7958179,1.8195425,35.2783342,30.7217247,55.0589988,12.7978427,39.7881319,63.6797674,34.6406842,43.4384204,20.8717883,2.4758704,18.0477674,11.1649819,38.6584532,19.1908546,1.8213405,1.8539677,35.5329097,31.0185344,56.2780482,12.257315,39.2425432,63.8362227,34.2353646,42.7957719,20.5750794,2.489019,18.8570005,12.1739635,39.8859589,18.553442,1.9420985,1.9614678,36.1750692,31.5054734,57.0237608,12.0804332,39.2111323,63.6722484,33.9265753,42.4827837,20.8979243,2.4962864,18.2763859,12.365698,39.9334127,18.1528662,2.0947635,2.1115115,36.5211735,31.6721103,56.7508254,11.8480565,39.075968,64.5378396,34.2955186,42.6629,21.028621,2.7458974,18.0909715,12.0437996,39.9522463,18.4599062,2.0547528,2.1026486,36.3161642,31.3683704,56.6004952,11.5298335,39.4224362,64.3917776,34.3012586,43.0324374,21.2314864,2.8554544,18.152441,12.4816225,40.1116478,18.5622183 +2426,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4022077,0.3880112,8.3486961,5.1787718,48.4886854,23.8716322,30.2967242,62.7750976,30.5535982,42.1002846,17.2837721,6.396648,10.3757653,7.5334852,32.2760486,3.5211268,0.411158,0.3968934,8.0966481,5.1457057,48.2777025,23.0356496,30.4498185,63.0211931,30.5238652,41.7740899,17.6503598,6.3998732,10.870831,7.5594915,32.4195906,3.6407767,0.3512935,0.3504959,8.7074601,5.376542,48.733588,22.7256821,30.0106165,62.0225048,29.5061988,41.4742441,17.2134553,6.398723,10.4155986,6.9661427,31.5410637,5.3738318,0.3371767,0.3363886,9.2877609,5.5655005,49.1269195,22.7997721,30.594153,61.4215684,29.0906538,41.6217531,17.1321592,6.6774288,10.2025305,6.6544211,31.6381009,4.8837209,0.3383378,0.3375836,9.8251045,5.8127602,49.3378808,21.6277457,30.7388234,60.6701,29.1924343,41.3573821,17.164947,6.5120308,10.3321931,6.5131282,32.4742313,5.5555556 +2427,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4429417,1.5148698,18.6306782,14.5356804,63.9286383,12.8751992,29.9558209,61.8424098,30.8178279,38.8681573,16.1793072,3.1412434,16.5203231,12.4141809,38.4150512,11.0823674,1.5094305,1.5818116,18.9813773,14.535352,64.2670297,12.6532526,29.482635,61.5238632,30.46588,38.4008175,16.0587456,2.9130395,16.7106511,12.6056778,39.6940848,10.3494056,1.4795211,1.5516114,18.4503614,14.0602227,64.7989483,12.7592798,29.3144206,61.6724345,30.3613416,37.8740089,16.1721783,2.8451473,16.274287,12.5839297,39.2927473,8.7243673,1.5191867,1.5995598,19.7202087,14.9080333,66.0077868,12.4570403,29.7242516,61.1833204,29.3409128,37.0041903,16.2553782,3.008664,17.1723092,13.7743394,40.7294534,10.1092806,1.5143346,1.5939163,19.4741536,15.0346609,66.8971736,11.7422613,30.1843337,61.007371,29.4515378,37.5071259,16.5475983,2.8364529,16.8155672,13.4491091,40.8730937,10.2863604 +2428,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8785503,0.9261342,13.1239055,9.3857061,25.0393003,20.4239832,35.2007208,67.4933133,38.5637554,47.8763522,24.1006268,3.4819223,12.0394309,11.3055631,39.3597003,8.4013004,0.8461324,0.9495687,13.2471977,9.7119739,25.355192,20.0843048,35.2876821,67.5516502,39.2006918,47.7949069,23.1457545,3.2125811,12.6405953,12.0013511,38.9564159,7.3232547,0.8399183,0.9793636,13.5836843,10.271563,25.7721512,20.0865722,35.6892012,67.4436019,39.6689466,48.1021325,23.0178101,3.3399013,13.5999896,12.4280874,38.851308,7.3664155,0.7710512,0.8916014,14.0028945,10.667877,25.8053701,19.7730312,35.0363114,68.0171815,39.6981313,47.9212291,23.0996257,3.3213102,13.4880718,11.7623372,38.8653025,7.5757998,0.8521769,0.9778609,14.0173715,10.5077663,25.7037808,20.0301314,34.1548049,67.5983978,39.2507985,46.9613943,22.2653651,3.1661542,13.8446867,11.499874,37.8844988,8.3851397 +2429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9918216,1.9918216,31.7078877,27.335663,72.9737888,12.510417,34.244538,64.3370429,23.8378224,36.5808397,14.5500665,1.7241752,16.8780483,12.3476783,40.5064017,24.5903786,1.9917787,2.012696,32.0478952,27.7059088,73.0644274,12.7855353,33.6473714,64.1113659,24.3188228,37.0091817,15.0304028,1.8379808,16.8663079,11.899882,39.8244612,24.2801085,2.1161079,2.1376377,31.9158211,27.5393035,72.56685,13.4490645,33.5115352,65.503363,26.2432272,38.3664102,16.0595015,1.9414179,16.7254991,12.2118638,40.1000968,23.8704868,2.1058162,2.1113123,30.8019325,26.2127666,72.8625916,13.0835856,34.0433908,64.4283683,25.9398745,38.6634641,15.5307109,1.543163,15.7641543,12.833391,40.0403696,25.1714659,2.029597,2.0352054,30.7974684,25.79885,71.3142677,13.6107293,33.5671482,64.3069144,26.8228667,39.2171788,16.3704991,1.4714647,16.4971554,13.4062772,40.745072,25.7007872 +2430,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7787902,0.7787902,12.8852286,9.2074773,45.1063878,18.6690474,32.686853,67.927708,37.4462751,43.1949579,21.8045483,4.6123133,10.8423673,9.1191448,36.0546316,8.4478203,0.7255724,0.753369,13.3802497,9.7517479,44.6817527,18.3139352,32.9589913,67.0899858,36.3129969,43.5139704,21.1957989,4.3280017,10.3567383,9.2120515,35.7525372,8.4713221,0.8783554,0.8940492,14.0553773,10.2682559,45.0405496,18.5452789,33.3446877,66.2396283,35.6994061,43.3171368,20.9716795,4.2590223,10.4523307,9.3921175,36.8700424,9.5775052,0.8932547,0.9085579,14.4759664,10.733184,45.961586,18.4743986,33.2693802,65.6054524,34.8446286,43.1930553,20.7582232,4.489272,10.4567885,9.2617998,36.3243313,10.5179139,0.9940409,0.9889729,15.0251351,11.0417886,45.9854168,18.1847357,33.0613703,65.1732716,34.2904209,43.1173903,20.5697877,4.4804779,10.1163265,9.2351202,36.0246427,12.0987823 +2431,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5708143,0.5846858,7.9616414,5.0624442,41.8302145,21.09375,29.590459,68.2943294,33.8658866,45.3870387,15.7740774,5.9630963,10.8355091,9.6338274,33.5237258,1.5243902,0.6527658,0.6456005,8.0526073,5.2376557,41.5532614,21.6743119,28.8319483,67.4284395,34.0027701,45.7294552,15.4893813,6.0710988,11.1830743,9.2048401,33.6094159,1.5337423,0.5667214,0.5462127,8.09797,5.2294793,41.6968326,22.2099691,30.1058668,67.4239082,34.03176,45.2359947,15.9902955,6.3299515,11.0060514,9.0667678,34.5392232,3.2934132,0.4804339,0.4804339,8.3818636,5.4700499,43.2858377,21.4766512,31.0121288,65.9347553,32.93601,44.8138854,15.6629026,6.252614,10.6518817,8.0121704,34.7899729,3.1609195,0.593813,0.593813,8.8318513,5.6790622,43.3910473,22.1331689,31.2576065,64.8478702,32.5557809,44.3610548,15.7200811,6.3083164,10.2443609,7.3501577,35.3889943,4.0322581 +2432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.5094305,1.5818116,18.9813773,14.535352,64.2670297,12.6532526,29.482635,61.5238632,30.46588,38.4008175,16.0587456,2.9130395,16.7106511,12.6056778,39.6940848,10.3494056,1.4795211,1.5516114,18.4503614,14.0602227,64.7989483,12.7592798,29.3144206,61.6724345,30.3613416,37.8740089,16.1721783,2.8451473,16.274287,12.5839297,39.2927473,8.7243673,1.5191867,1.5995598,19.7202087,14.9080333,66.0077868,12.4570403,29.7242516,61.1833204,29.3409128,37.0041903,16.2553782,3.008664,17.1723092,13.7743394,40.7294534,10.1092806,1.5143346,1.5939163,19.4741536,15.0346609,66.8971736,11.7422613,30.1843337,61.007371,29.4515378,37.5071259,16.5475983,2.8364529,16.8155672,13.4491091,40.8730937,10.2863604,1.4617016,1.5246013,20.1004041,15.6163388,68.6216498,11.2310662,31.1817153,60.9321802,29.6750971,37.1150031,16.5333567,3.331862,15.7329906,12.7576864,40.8886037,10.146697 +2433,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6732158,0.6685923,9.2218995,6.6203685,58.2468587,12.6799596,26.9170877,70.6666398,31.3140488,45.6143343,15.6273784,4.8526287,12.6558735,11.4695321,32.9812793,9.1234301,0.7354042,0.7308348,8.9237283,6.237008,54.4083269,13.0637334,26.5354271,70.7189142,31.2814818,46.6967113,16.0624279,4.8834921,12.5484021,11.389849,32.2066641,9.3281563,0.7565076,0.7426624,9.0487263,6.2076049,50.9743578,13.4168638,26.0592725,70.5616677,31.7042347,46.2942509,16.0808201,4.7904862,11.7715681,11.3829774,31.4163314,8.9925923,0.5462209,0.5323246,8.3966036,5.4490534,48.7878269,13.7122037,25.0254877,70.1150172,32.0111143,46.2999926,15.9758185,4.7828791,12.2758356,11.6523015,31.5643629,4.9241566,0.5155956,0.5294513,8.338397,5.2572231,47.1393897,13.5759389,25.4305394,69.5730096,31.9114468,45.5059639,16.024889,4.5248903,11.4901309,10.6191489,30.6387317,4.1352637 +2434,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.411158,0.3968934,8.0966481,5.1457057,48.2777025,23.0356496,30.4498185,63.0211931,30.5238652,41.7740899,17.6503598,6.3998732,10.870831,7.5594915,32.4195906,3.6407767,0.3512935,0.3504959,8.7074601,5.376542,48.733588,22.7256821,30.0106165,62.0225048,29.5061988,41.4742441,17.2134553,6.398723,10.4155986,6.9661427,31.5410637,5.3738318,0.3371767,0.3363886,9.2877609,5.5655005,49.1269195,22.7997721,30.594153,61.4215684,29.0906538,41.6217531,17.1321592,6.6774288,10.2025305,6.6544211,31.6381009,4.8837209,0.3383378,0.3375836,9.8251045,5.8127602,49.3378808,21.6277457,30.7388234,60.6701,29.1924343,41.3573821,17.164947,6.5120308,10.3321931,6.5131282,32.4742313,5.5555556,0.3391277,0.358721,9.6160233,5.9086428,49.5506531,21.940147,31.3845589,60.8313923,28.8671709,40.7585191,17.0420699,6.4756578,10.6507499,6.5320699,32.1512519,6.7099567 +2435,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2922862,2.1325418,36.2778731,32.3327616,67.9328622,7.3979592,39.5008606,64.9741824,28.141136,43.4595525,17.6419966,6.7986231,16.440678,10.3741497,36.4726027,18.9655172,2.1752098,2.0159741,35.7385399,30.9847199,67.6265271,7.6988156,38.7563884,65.3321976,27.8534923,43.5264055,17.6320273,6.2180579,14.548495,11.5384615,35.5218855,18.3453237,1.8538436,1.8538436,35.4419411,30.9358752,68.4448463,7.9545455,38.712522,65.696649,27.6014109,43.8271605,18.7830688,6.4373898,15.5821918,11.8150685,36.7241379,17.0289855,1.6648024,1.6648024,34.9557522,30.3539823,65.9554731,8.1834532,37.9528986,66.2137681,29.2572464,45.3804348,20.7427536,7.8804348,15.2877698,11.3309353,37.1376812,18.1481481,2.0299517,2.0299517,34.5238095,30.6776557,65.9351145,8.4259259,36.4564007,65.3988868,29.9628942,45.1762523,20.5009276,7.8849722,16.3003663,11.9047619,36.2132353,18.8461538 +2436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7095612,0.7268929,11.9980854,8.5464902,35.6259047,10.9914083,30.1202201,64.9307936,33.3776159,45.5403373,18.3489556,3.3342657,11.0002237,8.8726076,29.3965383,8.6805455,0.727103,0.7628817,11.9260447,8.5758121,35.9015168,11.1872327,30.5064729,65.6775436,34.1593916,45.9328645,19.0181845,3.2387255,11.0161297,8.9954128,29.8743686,8.0219727,0.7682719,0.809046,11.6316173,8.5384506,36.4476193,11.1030989,30.5053505,66.4012017,34.5200962,46.1959402,18.9350558,3.3105065,11.1930184,9.2404987,29.4724885,8.6999965,0.7635369,0.8036341,11.4746415,8.5759217,37.1416234,11.2127015,30.5673255,66.5047152,34.661123,47.0851823,19.2705827,3.2063637,11.4536425,9.5956495,29.7603303,9.772296,0.7372494,0.7607564,11.4647278,8.5970048,37.8440038,11.0535795,30.4382471,66.5803384,34.8849496,47.4545905,19.6879243,3.0255074,11.6751454,9.4037415,29.4733102,9.3466459 +2437,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1908486,1.1908486,26.7423365,22.4824984,56.5996624,17.4090941,39.728238,66.4064015,36.5713217,46.7979664,21.4536909,3.0012934,13.0412221,9.9378876,31.9831332,16.2295295,1.2033511,1.2033511,26.3725397,22.6082056,56.2853813,16.9957129,38.9821377,66.2171634,36.1537012,46.7831537,21.7378406,2.9424816,13.2467586,11.0068258,32.6273928,16.3230353,1.2067723,1.2140469,26.5391511,22.7248747,56.4090211,16.8759238,38.4192818,65.8717288,36.3909966,47.0040953,21.8629014,2.8537367,12.9968765,11.228893,32.3520553,16.7266368,1.2203229,1.2277433,25.6918001,21.609281,56.0112801,16.1387175,38.2009099,65.5386575,35.8987722,47.2175928,21.8462176,2.6138842,12.6973332,11.6632631,32.4733311,14.6840367,1.4141366,1.4215932,25.3186372,21.0781011,54.3836944,16.5553649,39.1555509,65.5162437,37.0832801,47.9263847,21.9511946,3.2047361,12.7645749,11.190857,32.9282685,14.716287 +2438,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4795211,1.5516114,18.4503614,14.0602227,64.7989483,12.7592798,29.3144206,61.6724345,30.3613416,37.8740089,16.1721783,2.8451473,16.274287,12.5839297,39.2927473,8.7243673,1.5191867,1.5995598,19.7202087,14.9080333,66.0077868,12.4570403,29.7242516,61.1833204,29.3409128,37.0041903,16.2553782,3.008664,17.1723092,13.7743394,40.7294534,10.1092806,1.5143346,1.5939163,19.4741536,15.0346609,66.8971736,11.7422613,30.1843337,61.007371,29.4515378,37.5071259,16.5475983,2.8364529,16.8155672,13.4491091,40.8730937,10.2863604,1.4617016,1.5246013,20.1004041,15.6163388,68.6216498,11.2310662,31.1817153,60.9321802,29.6750971,37.1150031,16.5333567,3.331862,15.7329906,12.7576864,40.8886037,10.146697,1.4020597,1.4122732,20.4703293,15.9062166,70.9834977,11.5931858,31.2251491,60.8971288,29.8402714,37.2382299,16.3659332,3.1248089,15.7534674,12.4923283,40.7657017,10.3176241 +2439,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6527658,0.6456005,8.0526073,5.2376557,41.5532614,21.6743119,28.8319483,67.4284395,34.0027701,45.7294552,15.4893813,6.0710988,11.1830743,9.2048401,33.6094159,1.5337423,0.5667214,0.5462127,8.09797,5.2294793,41.6968326,22.2099691,30.1058668,67.4239082,34.03176,45.2359947,15.9902955,6.3299515,11.0060514,9.0667678,34.5392232,3.2934132,0.4804339,0.4804339,8.3818636,5.4700499,43.2858377,21.4766512,31.0121288,65.9347553,32.93601,44.8138854,15.6629026,6.252614,10.6518817,8.0121704,34.7899729,3.1609195,0.593813,0.593813,8.8318513,5.6790622,43.3910473,22.1331689,31.2576065,64.8478702,32.5557809,44.3610548,15.7200811,6.3083164,10.2443609,7.3501577,35.3889943,4.0322581,0.5590306,0.5590306,8.5674157,5.5176565,43.2460954,22.6713172,30.7521229,65.8511929,32.5313385,44.298423,16.5183987,6.0857258,9.7188995,6.7209162,35.2923448,5.3846154 +2440,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6214964,1.6508933,20.1221768,16.1928068,83.5830416,14.4080792,33.9208146,63.0115623,36.9244954,41.4012679,19.852499,5.658901,14.5497445,12.7703679,39.3718461,12.9841212,1.5813813,1.5813813,19.7413035,15.5587003,83.9783647,14.587074,34.0678764,62.8742579,38.0818271,41.4607971,20.3631886,6.0870744,14.6957259,13.4401003,38.8812227,11.6861989,1.6190379,1.6190379,19.6125041,15.5694009,84.6616109,13.1116274,33.9001488,61.7958321,36.6671279,40.6522136,19.6993561,5.5595772,14.1493355,13.0298988,38.2570145,12.7732872,1.7845498,1.7845498,19.5546477,15.6367182,85.4743046,13.3274519,32.7570053,63.0797052,36.7294007,39.46241,19.1614574,5.6933761,12.5008885,11.6146203,37.9281524,13.3539647,1.4223981,1.4846702,18.7595774,15.0805165,85.3984554,12.5256455,32.3495077,64.3312504,36.9604226,39.8741724,19.2760281,6.0642563,13.3116131,11.586066,37.8573785,13.4310274 +2441,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2788469,1.3427731,25.4200292,21.2453731,37.5805887,15.759839,34.0404562,64.2436261,35.6358048,46.3476125,20.213497,3.2973829,13.7730653,10.0302502,35.8523798,21.5278017,1.3548732,1.418104,25.8603124,21.7141662,38.0243878,15.5143499,34.0190668,63.774047,34.7715193,45.7171125,19.916323,3.3861102,13.8790625,9.9177262,35.9240801,21.0145064,1.3654145,1.4369518,26.7351174,22.843847,39.0123694,15.0076428,34.0411851,63.3560872,34.182849,45.327943,19.8354467,3.3357727,13.9462168,10.0553992,35.9915856,20.4871243,1.3173801,1.3857586,27.223223,23.3262211,39.6778012,14.9203228,34.5287781,62.9585958,32.9946989,44.9132752,18.9047422,3.1679193,13.6482835,9.795464,36.0287536,19.1057002,1.4499624,1.4848306,27.6668199,23.5799977,39.9640052,15.0675769,34.9013253,63.09455,33.2158414,44.8974209,18.8803705,3.2060516,13.5478582,9.7932216,36.173515,19.2408206 +2442,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8213405,1.8539677,35.5329097,31.0185344,56.2780482,12.257315,39.2425432,63.8362227,34.2353646,42.7957719,20.5750794,2.489019,18.8570005,12.1739635,39.8859589,18.553442,1.9420985,1.9614678,36.1750692,31.5054734,57.0237608,12.0804332,39.2111323,63.6722484,33.9265753,42.4827837,20.8979243,2.4962864,18.2763859,12.365698,39.9334127,18.1528662,2.0947635,2.1115115,36.5211735,31.6721103,56.7508254,11.8480565,39.075968,64.5378396,34.2955186,42.6629,21.028621,2.7458974,18.0909715,12.0437996,39.9522463,18.4599062,2.0547528,2.1026486,36.3161642,31.3683704,56.6004952,11.5298335,39.4224362,64.3917776,34.3012586,43.0324374,21.2314864,2.8554544,18.152441,12.4816225,40.1116478,18.5622183,2.0591245,2.1001416,35.5158961,30.8063451,56.20733,11.2424207,39.091192,63.9676141,34.8903926,43.4000584,21.3253812,3.017907,18.2232722,12.653362,40.839216,19.8422682 +2443,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5262645,1.5007661,32.2540834,27.9731205,67.0483731,12.2642569,34.7026281,64.8797611,29.2770297,39.9642738,17.1770904,2.7753874,17.0193098,14.5824398,40.9607725,19.7277909,1.5080247,1.4698354,32.2927696,28.2900469,66.9480795,12.1311987,33.6733956,64.5727296,29.581596,39.1874988,17.6853623,2.7765585,17.09633,13.847351,39.4166033,18.5397598,1.664161,1.5905027,31.2316382,27.1754396,66.3700734,12.6236732,33.4092842,64.6165086,29.4194679,39.5858142,17.2853359,2.456892,16.8104751,14.0671197,39.4114961,16.8656663,1.6780107,1.6040982,30.7157254,26.5266903,65.6163938,13.0242047,32.2563556,64.4944753,28.9652887,38.8834924,17.2389859,2.5104869,16.7678223,13.4759264,38.7741502,17.164133,1.784678,1.7109277,29.3790066,25.2911346,64.5462042,13.4456402,32.8197224,64.9427286,30.0340103,39.8266979,17.7502686,2.5960443,16.7542231,13.1371288,39.726895,15.4411401 +2444,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1752098,2.0159741,35.7385399,30.9847199,67.6265271,7.6988156,38.7563884,65.3321976,27.8534923,43.5264055,17.6320273,6.2180579,14.548495,11.5384615,35.5218855,18.3453237,1.8538436,1.8538436,35.4419411,30.9358752,68.4448463,7.9545455,38.712522,65.696649,27.6014109,43.8271605,18.7830688,6.4373898,15.5821918,11.8150685,36.7241379,17.0289855,1.6648024,1.6648024,34.9557522,30.3539823,65.9554731,8.1834532,37.9528986,66.2137681,29.2572464,45.3804348,20.7427536,7.8804348,15.2877698,11.3309353,37.1376812,18.1481481,2.0299517,2.0299517,34.5238095,30.6776557,65.9351145,8.4259259,36.4564007,65.3988868,29.9628942,45.1762523,20.5009276,7.8849722,16.3003663,11.9047619,36.2132353,18.8461538,2.4280576,2.4280576,33.5538752,29.2060491,66.2324649,8.07393,36.4257812,64.3554687,29.1992188,44.8242188,19.6289062,7.3242187,16.4092664,12.9343629,36.627907,16.9291339 +2445,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2033511,1.2033511,26.3725397,22.6082056,56.2853813,16.9957129,38.9821377,66.2171634,36.1537012,46.7831537,21.7378406,2.9424816,13.2467586,11.0068258,32.6273928,16.3230353,1.2067723,1.2140469,26.5391511,22.7248747,56.4090211,16.8759238,38.4192818,65.8717288,36.3909966,47.0040953,21.8629014,2.8537367,12.9968765,11.228893,32.3520553,16.7266368,1.2203229,1.2277433,25.6918001,21.609281,56.0112801,16.1387175,38.2009099,65.5386575,35.8987722,47.2175928,21.8462176,2.6138842,12.6973332,11.6632631,32.4733311,14.6840367,1.4141366,1.4215932,25.3186372,21.0781011,54.3836944,16.5553649,39.1555509,65.5162437,37.0832801,47.9263847,21.9511946,3.2047361,12.7645749,11.190857,32.9282685,14.716287,1.5569127,1.5645933,25.0696214,20.5622086,55.3483908,15.5263374,39.4610086,65.4485076,36.4846706,46.9017941,22.1487579,2.9515254,13.0715762,11.5575622,34.1867747,16.9708029 +2446,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.084068,2.1633145,27.744153,22.7936556,43.780603,14.1960267,34.6092831,64.9770446,33.658764,44.2968327,22.9653543,4.0567054,13.2811346,8.9073731,42.7662403,23.5015847,1.97785,2.0355593,28.2636825,22.9595781,44.3669776,13.6045002,34.3985899,65.0596822,33.0087398,44.5037349,23.1474892,3.8220663,13.3358096,8.6413037,43.7327004,21.5408873,1.9694695,2.0314607,28.9117207,23.751142,45.3895965,14.0758704,35.0471285,64.7473786,32.7246319,44.8329169,22.8862873,3.9192152,12.8390681,8.5316523,43.0741628,21.0769296,1.9927726,2.0590924,30.0156142,24.9483509,46.3562359,14.2130939,35.6448852,64.7618221,32.4519234,44.2501047,22.9028578,3.6256635,13.4487863,8.7308119,43.1731577,21.2963076,1.9179713,1.9417618,31.4209245,26.1779056,46.9023943,14.0961191,35.8897921,64.6686582,31.7360856,43.6956663,22.262212,3.5135872,13.7944995,9.2834409,43.2589667,20.2770883 +2447,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.776111,0.8062273,11.9087167,8.2630363,22.4154838,16.4498829,36.2065997,67.1553371,39.5379392,49.3629432,23.0043273,4.1065427,11.5216506,10.4489816,33.1826087,9.3750514,0.7812206,0.8067357,12.0511742,8.3244607,22.6261893,16.6484704,35.6702739,66.2844187,38.6255352,49.2766134,22.7105072,3.9787635,11.7931029,10.535243,33.1263254,8.8509765,0.7831021,0.8135569,12.0284049,8.2709182,22.7491063,16.3907561,36.1068698,66.0551233,37.7816735,48.9418491,21.6885043,3.966203,11.4172534,10.3042844,32.7259285,9.2532882,0.8437412,0.8675702,12.4626843,8.2729338,23.1677899,16.5710275,36.0649697,65.2491012,36.989172,48.4404453,21.5523589,3.8772596,11.4618763,10.1284993,32.7354937,9.7597927,0.8710019,0.8999081,12.8258207,8.5258974,23.941136,16.6433638,35.8719403,65.1700037,36.7493807,48.7181369,21.4902764,3.73595,11.4534701,9.9018432,33.1166536,9.5833584 +2448,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.7354042,0.7308348,8.9237283,6.237008,54.4083269,13.0637334,26.5354271,70.7189142,31.2814818,46.6967113,16.0624279,4.8834921,12.5484021,11.389849,32.2066641,9.3281563,0.7565076,0.7426624,9.0487263,6.2076049,50.9743578,13.4168638,26.0592725,70.5616677,31.7042347,46.2942509,16.0808201,4.7904862,11.7715681,11.3829774,31.4163314,8.9925923,0.5462209,0.5323246,8.3966036,5.4490534,48.7878269,13.7122037,25.0254877,70.1150172,32.0111143,46.2999926,15.9758185,4.7828791,12.2758356,11.6523015,31.5643629,4.9241566,0.5155956,0.5294513,8.338397,5.2572231,47.1393897,13.5759389,25.4305394,69.5730096,31.9114468,45.5059639,16.024889,4.5248903,11.4901309,10.6191489,30.6387317,4.1352637,0.5580181,0.5766977,7.7737745,4.929224,44.7186668,13.4104,24.9668289,68.6593522,31.6031341,44.7961794,15.0919602,4.7774208,12.1566005,11.4112822,31.0776383,4.2306879 +2449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.9420985,1.9614678,36.1750692,31.5054734,57.0237608,12.0804332,39.2111323,63.6722484,33.9265753,42.4827837,20.8979243,2.4962864,18.2763859,12.365698,39.9334127,18.1528662,2.0947635,2.1115115,36.5211735,31.6721103,56.7508254,11.8480565,39.075968,64.5378396,34.2955186,42.6629,21.028621,2.7458974,18.0909715,12.0437996,39.9522463,18.4599062,2.0547528,2.1026486,36.3161642,31.3683704,56.6004952,11.5298335,39.4224362,64.3917776,34.3012586,43.0324374,21.2314864,2.8554544,18.152441,12.4816225,40.1116478,18.5622183,2.0591245,2.1001416,35.5158961,30.8063451,56.20733,11.2424207,39.091192,63.9676141,34.8903926,43.4000584,21.3253812,3.017907,18.2232722,12.653362,40.839216,19.8422682,2.2075038,2.2366109,36.0056791,31.0311256,56.5651879,10.6719523,39.1890868,63.5549266,34.6816171,43.4066109,20.6505449,2.8730106,18.2875364,13.4225146,40.2461474,20.2735719 +2450,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2067723,1.2140469,26.5391511,22.7248747,56.4090211,16.8759238,38.4192818,65.8717288,36.3909966,47.0040953,21.8629014,2.8537367,12.9968765,11.228893,32.3520553,16.7266368,1.2203229,1.2277433,25.6918001,21.609281,56.0112801,16.1387175,38.2009099,65.5386575,35.8987722,47.2175928,21.8462176,2.6138842,12.6973332,11.6632631,32.4733311,14.6840367,1.4141366,1.4215932,25.3186372,21.0781011,54.3836944,16.5553649,39.1555509,65.5162437,37.0832801,47.9263847,21.9511946,3.2047361,12.7645749,11.190857,32.9282685,14.716287,1.5569127,1.5645933,25.0696214,20.5622086,55.3483908,15.5263374,39.4610086,65.4485076,36.4846706,46.9017941,22.1487579,2.9515254,13.0715762,11.5575622,34.1867747,16.9708029,1.6225794,1.6303353,25.4002769,20.7133119,54.6800787,15.797081,39.358142,65.3912731,36.9562861,46.7021305,22.5124845,3.2736074,13.1376144,11.7272357,33.7500076,16.0516546 +2451,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5375759,2.5397463,35.6706067,30.0610828,52.3451021,19.5277269,36.4398991,64.8756047,32.8344516,45.1681732,20.0241231,3.061495,17.8786244,13.393846,36.0938527,26.9868007,2.3464148,2.3485858,34.9411304,29.3343964,51.6536986,19.6563548,36.7469758,64.5861659,33.7784614,45.8161926,20.4211834,2.987522,17.1985942,12.31932,34.2213838,25.0025129,2.0659309,2.0358231,34.9565954,29.5471597,51.7663466,19.527095,36.9783306,64.9884066,34.1064073,45.6892028,20.4493777,3.4487729,15.4266454,12.4098846,33.9247993,25.7677078,1.9731446,1.9417153,35.1650661,29.9633514,51.5387628,19.1812117,38.0351919,64.8764643,34.1843042,46.1384306,20.7274666,3.5093983,14.5723659,12.3196374,34.0357576,28.1566596,2.0655007,2.0116889,34.1457297,29.089749,49.0765619,19.8635756,38.1798905,66.468056,35.4865064,47.2236038,20.6551187,3.7987772,13.1304366,12.09726,33.671219,27.1492831 +2452,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1146513,1.1829539,19.5500261,15.409777,39.7953433,20.0193094,38.7824472,66.815416,38.0636665,47.9307465,22.4460422,3.5177439,12.759835,10.8628232,34.1555223,12.2589565,1.076897,1.145186,20.1709543,15.9699949,40.0636869,19.8997945,39.0873911,66.6193881,38.564648,47.7347117,22.4460439,3.6048677,12.5055509,10.9999908,33.8313627,11.6573001,1.1579484,1.2108248,20.9090615,16.729342,41.215522,19.1892944,39.3126515,66.0309866,38.1707424,47.6082515,22.6136324,3.8676938,13.2186212,11.045743,33.8941908,11.6621953,1.184062,1.231298,20.9687197,16.7934899,42.0536791,19.1225493,38.7155308,65.6793467,38.6093887,47.314184,22.3885268,3.5987214,13.9489583,11.9212431,34.2664885,11.8925831,1.1214199,1.1619819,21.7119923,17.7848155,42.3777012,18.3882957,38.823185,66.1419219,38.2527357,46.7462157,22.5966488,3.7713856,14.5654013,12.327876,34.6369847,13.2575691 +2453,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5080247,1.4698354,32.2927696,28.2900469,66.9480795,12.1311987,33.6733956,64.5727296,29.581596,39.1874988,17.6853623,2.7765585,17.09633,13.847351,39.4166033,18.5397598,1.664161,1.5905027,31.2316382,27.1754396,66.3700734,12.6236732,33.4092842,64.6165086,29.4194679,39.5858142,17.2853359,2.456892,16.8104751,14.0671197,39.4114961,16.8656663,1.6780107,1.6040982,30.7157254,26.5266903,65.6163938,13.0242047,32.2563556,64.4944753,28.9652887,38.8834924,17.2389859,2.5104869,16.7678223,13.4759264,38.7741502,17.164133,1.784678,1.7109277,29.3790066,25.2911346,64.5462042,13.4456402,32.8197224,64.9427286,30.0340103,39.8266979,17.7502686,2.5960443,16.7542231,13.1371288,39.726895,15.4411401,1.7696561,1.6644804,28.859638,24.5565542,64.4266799,13.5600625,32.5339366,64.4560868,29.948443,39.9942909,17.8673549,2.5221887,16.1007157,12.3376244,39.023173,16.7177811 +2454,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.5191867,1.5995598,19.7202087,14.9080333,66.0077868,12.4570403,29.7242516,61.1833204,29.3409128,37.0041903,16.2553782,3.008664,17.1723092,13.7743394,40.7294534,10.1092806,1.5143346,1.5939163,19.4741536,15.0346609,66.8971736,11.7422613,30.1843337,61.007371,29.4515378,37.5071259,16.5475983,2.8364529,16.8155672,13.4491091,40.8730937,10.2863604,1.4617016,1.5246013,20.1004041,15.6163388,68.6216498,11.2310662,31.1817153,60.9321802,29.6750971,37.1150031,16.5333567,3.331862,15.7329906,12.7576864,40.8886037,10.146697,1.4020597,1.4122732,20.4703293,15.9062166,70.9834977,11.5931858,31.2251491,60.8971288,29.8402714,37.2382299,16.3659332,3.1248089,15.7534674,12.4923283,40.7657017,10.3176241,1.4137558,1.4236764,20.737958,16.2898053,73.010245,11.3780422,31.9118466,60.749693,30.0626052,37.2162816,16.5817905,3.3213708,14.8357741,11.8558812,39.8963214,10.4143022 +2455,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.97785,2.0355593,28.2636825,22.9595781,44.3669776,13.6045002,34.3985899,65.0596822,33.0087398,44.5037349,23.1474892,3.8220663,13.3358096,8.6413037,43.7327004,21.5408873,1.9694695,2.0314607,28.9117207,23.751142,45.3895965,14.0758704,35.0471285,64.7473786,32.7246319,44.8329169,22.8862873,3.9192152,12.8390681,8.5316523,43.0741628,21.0769296,1.9927726,2.0590924,30.0156142,24.9483509,46.3562359,14.2130939,35.6448852,64.7618221,32.4519234,44.2501047,22.9028578,3.6256635,13.4487863,8.7308119,43.1731577,21.2963076,1.9179713,1.9417618,31.4209245,26.1779056,46.9023943,14.0961191,35.8897921,64.6686582,31.7360856,43.6956663,22.262212,3.5135872,13.7944995,9.2834409,43.2589667,20.2770883,2.0703164,2.1467027,32.496331,27.3972619,49.1931232,13.9015758,35.8084339,64.0355313,31.4504201,43.8960744,21.223592,3.2394677,13.4794298,8.8072332,43.894698,22.3192187 +2456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.0947635,2.1115115,36.5211735,31.6721103,56.7508254,11.8480565,39.075968,64.5378396,34.2955186,42.6629,21.028621,2.7458974,18.0909715,12.0437996,39.9522463,18.4599062,2.0547528,2.1026486,36.3161642,31.3683704,56.6004952,11.5298335,39.4224362,64.3917776,34.3012586,43.0324374,21.2314864,2.8554544,18.152441,12.4816225,40.1116478,18.5622183,2.0591245,2.1001416,35.5158961,30.8063451,56.20733,11.2424207,39.091192,63.9676141,34.8903926,43.4000584,21.3253812,3.017907,18.2232722,12.653362,40.839216,19.8422682,2.2075038,2.2366109,36.0056791,31.0311256,56.5651879,10.6719523,39.1890868,63.5549266,34.6816171,43.4066109,20.6505449,2.8730106,18.2875364,13.4225146,40.2461474,20.2735719,2.2290376,2.2608529,35.9271186,30.9634242,57.4792336,10.1302024,38.5248336,63.3369688,34.706437,43.23985,20.2027975,2.8092457,17.9706927,14.1426558,40.511076,19.7345813 +2457,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5667214,0.5462127,8.09797,5.2294793,41.6968326,22.2099691,30.1058668,67.4239082,34.03176,45.2359947,15.9902955,6.3299515,11.0060514,9.0667678,34.5392232,3.2934132,0.4804339,0.4804339,8.3818636,5.4700499,43.2858377,21.4766512,31.0121288,65.9347553,32.93601,44.8138854,15.6629026,6.252614,10.6518817,8.0121704,34.7899729,3.1609195,0.593813,0.593813,8.8318513,5.6790622,43.3910473,22.1331689,31.2576065,64.8478702,32.5557809,44.3610548,15.7200811,6.3083164,10.2443609,7.3501577,35.3889943,4.0322581,0.5590306,0.5590306,8.5674157,5.5176565,43.2460954,22.6713172,30.7521229,65.8511929,32.5313385,44.298423,16.5183987,6.0857258,9.7188995,6.7209162,35.2923448,5.3846154,0.5308147,0.4934873,8.3802251,5.5667203,43.3305192,22.5256674,30.2498992,64.9536477,31.5397017,43.7525191,16.2636034,5.2599758,9.4951234,6.7958357,35.7101617,5.4404145 +2458,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4804339,0.4804339,8.3818636,5.4700499,43.2858377,21.4766512,31.0121288,65.9347553,32.93601,44.8138854,15.6629026,6.252614,10.6518817,8.0121704,34.7899729,3.1609195,0.593813,0.593813,8.8318513,5.6790622,43.3910473,22.1331689,31.2576065,64.8478702,32.5557809,44.3610548,15.7200811,6.3083164,10.2443609,7.3501577,35.3889943,4.0322581,0.5590306,0.5590306,8.5674157,5.5176565,43.2460954,22.6713172,30.7521229,65.8511929,32.5313385,44.298423,16.5183987,6.0857258,9.7188995,6.7209162,35.2923448,5.3846154,0.5308147,0.4934873,8.3802251,5.5667203,43.3305192,22.5256674,30.2498992,64.9536477,31.5397017,43.7525191,16.2636034,5.2599758,9.4951234,6.7958357,35.7101617,5.4404145,0.7298258,0.7119559,9.0195327,5.9555726,43.6867665,22.9330709,30.7915058,65.3088803,30.6370656,43.6872587,16.6216216,5.03861,9.6590909,6.908793,35.1902174,5.0970874 +2459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6923255,0.7126081,12.3951259,8.5356299,44.7064459,17.9231045,32.9756951,62.3346343,30.4455109,41.9613895,17.7853722,4.4041709,10.6775937,7.8207198,31.9412636,7.5787036,0.6793633,0.6951837,12.7505333,8.9425273,45.8756311,17.5995786,33.3773103,62.586156,30.6963885,41.7474864,17.9488234,4.3693375,10.7193735,8.0924789,32.2705722,8.0273662,0.6887594,0.6861527,13.8762742,10.2600761,47.4871222,17.6154187,33.2134933,62.8912024,30.8728625,41.581702,18.0992868,4.5390078,11.0666469,8.4282268,32.385743,7.6343226,0.6657058,0.6631333,13.9276805,10.545975,49.0084007,17.6874729,32.4854392,63.1933274,30.6571564,41.2033021,18.1615731,4.3360372,10.6940796,8.3612196,31.639131,7.9752482,0.6334656,0.6507214,13.8185091,10.4170357,49.8723833,17.3804841,32.5363314,64.1062804,30.6290008,41.3091013,18.1111559,4.2523394,10.6512608,8.4360563,31.7871445,8.3135354 +2460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8930242,0.8669581,12.3239492,8.0985998,35.5489205,19.1081572,30.1579113,70.8376322,40.4565627,47.4596514,22.6742325,3.1410863,9.6619773,9.1634744,33.4082092,10.4839247,0.9564009,0.9435765,13.0370147,8.4765416,35.7093552,19.2551615,29.9797092,70.4937467,39.9222084,46.6181829,22.1001102,3.2296224,10.1689548,9.3730411,33.3018805,9.5628962,0.974609,0.9670767,12.989326,8.6865139,35.6222376,19.0249383,30.1062859,70.2922758,40.4350565,46.0146076,22.2351489,3.2049164,10.4923055,9.2729501,33.5083322,10.7143407,1.0432437,1.0457984,13.3825915,9.1789843,35.4611057,19.230749,29.7675301,70.0303339,40.8524126,46.0747917,22.2877366,3.2850385,10.2812485,8.7867351,32.8633963,11.9680915,1.1041043,1.0883065,13.1899752,9.3972268,36.0588782,19.4949957,29.9132039,69.1840326,40.0867868,45.5381875,22.204863,3.3506897,10.5513325,8.375793,33.1317612,13.6627986 +2461,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7379181,0.7473734,12.6488351,8.7317428,41.4902872,19.6690074,32.9776101,61.9663823,34.4861716,44.7334908,20.2432137,6.6797849,10.0224186,7.5712813,34.080676,8.8182316,0.804491,0.8138859,13.2722831,9.2440679,42.0852688,19.7338795,33.2094576,61.8618218,33.7090563,44.5785859,19.9229765,6.7445115,10.4667325,7.8359246,34.2298086,9.0827812,0.8433817,0.8558055,13.4717978,9.5387021,42.8620808,19.6157476,33.4830007,61.1787394,33.4159448,44.4674113,19.8832576,6.6590471,10.6644741,7.9636648,33.9897737,7.9235308,0.8446798,0.8601692,13.6093726,9.7455101,44.5476326,19.1179907,33.7019632,61.0818786,32.7097552,44.1739107,19.8913347,6.6304458,10.7805336,8.2359605,34.2114489,8.6998437,0.8251938,0.858366,13.6054746,9.85649,45.0239106,19.6097436,33.5745903,61.7284547,32.8309657,44.6378415,19.9412359,6.620987,10.9050555,8.1211559,33.8007125,8.6995018 +2462,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.758616,0.7836196,11.560045,7.66687,25.1640608,13.7684267,30.2579461,67.7144786,40.3968467,48.1634807,21.5988249,6.7528567,9.9735154,8.7882307,33.9062178,4.6710472,0.7630632,0.7878999,11.5786449,7.4900961,25.5478037,14.109359,30.157993,67.8929449,40.6269073,48.4614767,21.2286284,7.3727158,10.2371786,9.2863682,34.313715,8.0110122,0.8371178,0.8691402,11.5237097,7.6661307,25.1354075,14.6242462,30.1684233,67.9565108,40.2189796,47.2208628,20.9553801,7.7891837,10.6023731,9.497927,34.9761768,9.2178418,0.7096643,0.7636085,12.245038,8.2218997,25.4741104,14.3986518,30.516739,67.3256467,40.1290754,47.3202729,20.7755515,8.1565839,10.4438075,9.7464655,33.3217389,9.0205856,0.8014133,0.8411834,12.6790247,8.5349308,25.4167575,14.0459657,30.3868089,67.4060084,40.4460007,47.5609001,20.6656862,8.3364557,11.1080412,9.459818,32.734073,9.6353847 +2463,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8731067,0.906828,11.8688722,8.1217957,45.1149318,11.975685,30.9116158,66.4724409,42.2172456,44.8321141,25.0280588,4.5424511,10.6023604,8.5349935,40.2833654,8.1646115,0.8720695,0.908706,12.3884035,8.4412161,45.3891718,11.5556388,30.9821716,66.2440431,41.7385771,44.2626856,24.5761243,4.4316428,10.5151527,8.516749,40.7156973,8.3218364,0.9342685,0.9570535,12.7770831,8.8478534,45.4793716,11.681092,31.162233,66.3372127,41.1413581,43.9938346,24.1405899,4.507782,10.3231269,8.7772023,40.9618321,7.9091833,0.9889426,0.9934449,13.1591631,9.1296089,45.6549551,11.6704386,31.2287806,66.0499191,40.7768142,43.9970936,23.6863907,4.4679962,10.2830006,8.7565286,40.3504869,8.4189918,0.9580962,0.9773962,13.32997,9.362669,45.9522677,11.6578777,31.1045843,66.0133483,40.9554006,43.7817921,23.4778595,4.5269151,10.1053757,8.5988182,40.0973656,9.3556259 +2464,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8538436,1.8538436,35.4419411,30.9358752,68.4448463,7.9545455,38.712522,65.696649,27.6014109,43.8271605,18.7830688,6.4373898,15.5821918,11.8150685,36.7241379,17.0289855,1.6648024,1.6648024,34.9557522,30.3539823,65.9554731,8.1834532,37.9528986,66.2137681,29.2572464,45.3804348,20.7427536,7.8804348,15.2877698,11.3309353,37.1376812,18.1481481,2.0299517,2.0299517,34.5238095,30.6776557,65.9351145,8.4259259,36.4564007,65.3988868,29.9628942,45.1762523,20.5009276,7.8849722,16.3003663,11.9047619,36.2132353,18.8461538,2.4280576,2.4280576,33.5538752,29.2060491,66.2324649,8.07393,36.4257812,64.3554687,29.1992188,44.8242188,19.6289062,7.3242187,16.4092664,12.9343629,36.627907,16.9291339,3.1269398,3.1269398,32.5831703,28.2778865,67.7385892,7.3293173,35.5983773,63.1845842,28.7018256,43.9148073,18.7626775,7.8093306,16.9201521,15.0190114,38.740458,16.4 +2465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.0547528,2.1026486,36.3161642,31.3683704,56.6004952,11.5298335,39.4224362,64.3917776,34.3012586,43.0324374,21.2314864,2.8554544,18.152441,12.4816225,40.1116478,18.5622183,2.0591245,2.1001416,35.5158961,30.8063451,56.20733,11.2424207,39.091192,63.9676141,34.8903926,43.4000584,21.3253812,3.017907,18.2232722,12.653362,40.839216,19.8422682,2.2075038,2.2366109,36.0056791,31.0311256,56.5651879,10.6719523,39.1890868,63.5549266,34.6816171,43.4066109,20.6505449,2.8730106,18.2875364,13.4225146,40.2461474,20.2735719,2.2290376,2.2608529,35.9271186,30.9634242,57.4792336,10.1302024,38.5248336,63.3369688,34.706437,43.23985,20.2027975,2.8092457,17.9706927,14.1426558,40.511076,19.7345813,2.205053,2.2416714,35.4679876,30.2801616,57.232213,10.0786523,38.9271081,62.3503555,34.7487364,43.389726,19.9697048,2.4586994,18.0851298,14.028134,39.2228411,18.6738216 +2466,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2203229,1.2277433,25.6918001,21.609281,56.0112801,16.1387175,38.2009099,65.5386575,35.8987722,47.2175928,21.8462176,2.6138842,12.6973332,11.6632631,32.4733311,14.6840367,1.4141366,1.4215932,25.3186372,21.0781011,54.3836944,16.5553649,39.1555509,65.5162437,37.0832801,47.9263847,21.9511946,3.2047361,12.7645749,11.190857,32.9282685,14.716287,1.5569127,1.5645933,25.0696214,20.5622086,55.3483908,15.5263374,39.4610086,65.4485076,36.4846706,46.9017941,22.1487579,2.9515254,13.0715762,11.5575622,34.1867747,16.9708029,1.6225794,1.6303353,25.4002769,20.7133119,54.6800787,15.797081,39.358142,65.3912731,36.9562861,46.7021305,22.5124845,3.2736074,13.1376144,11.7272357,33.7500076,16.0516546,1.7465911,1.7698904,25.1196861,20.3327703,54.7655917,15.9662595,39.2468459,64.6067437,36.7940959,46.6981325,22.0344071,3.5770006,13.5319424,11.8216118,34.8693522,17.1480021 +2467,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7255724,0.753369,13.3802497,9.7517479,44.6817527,18.3139352,32.9589913,67.0899858,36.3129969,43.5139704,21.1957989,4.3280017,10.3567383,9.2120515,35.7525372,8.4713221,0.8783554,0.8940492,14.0553773,10.2682559,45.0405496,18.5452789,33.3446877,66.2396283,35.6994061,43.3171368,20.9716795,4.2590223,10.4523307,9.3921175,36.8700424,9.5775052,0.8932547,0.9085579,14.4759664,10.733184,45.961586,18.4743986,33.2693802,65.6054524,34.8446286,43.1930553,20.7582232,4.489272,10.4567885,9.2617998,36.3243313,10.5179139,0.9940409,0.9889729,15.0251351,11.0417886,45.9854168,18.1847357,33.0613703,65.1732716,34.2904209,43.1173903,20.5697877,4.4804779,10.1163265,9.2351202,36.0246427,12.0987823,1.0725516,1.0892451,16.0393156,12.0159396,46.4280563,17.9339396,33.7203696,64.5100779,34.0963795,43.8068064,20.9577824,4.4791118,10.3697767,8.8950058,36.5738169,13.1211462 +2468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9694695,2.0314607,28.9117207,23.751142,45.3895965,14.0758704,35.0471285,64.7473786,32.7246319,44.8329169,22.8862873,3.9192152,12.8390681,8.5316523,43.0741628,21.0769296,1.9927726,2.0590924,30.0156142,24.9483509,46.3562359,14.2130939,35.6448852,64.7618221,32.4519234,44.2501047,22.9028578,3.6256635,13.4487863,8.7308119,43.1731577,21.2963076,1.9179713,1.9417618,31.4209245,26.1779056,46.9023943,14.0961191,35.8897921,64.6686582,31.7360856,43.6956663,22.262212,3.5135872,13.7944995,9.2834409,43.2589667,20.2770883,2.0703164,2.1467027,32.496331,27.3972619,49.1931232,13.9015758,35.8084339,64.0355313,31.4504201,43.8960744,21.223592,3.2394677,13.4794298,8.8072332,43.894698,22.3192187,2.1603275,2.1824279,33.194136,28.0341031,50.3410083,14.3460678,35.6196842,62.9498754,30.3558542,42.8703528,20.6857382,3.4451626,13.8900062,9.8247629,44.4145451,22.2906377 +2469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8478289,0.8655526,16.0645719,12.2288219,38.9978424,19.3226415,33.426028,67.4376383,36.1447715,48.7885464,20.8013403,4.9806012,12.5424847,9.9449224,26.7758322,8.0190848,0.9716789,0.979133,16.2500263,12.2323255,39.2245399,18.7751493,33.0900376,67.7290574,36.5763414,48.6596998,21.1947606,4.9916184,13.1767212,10.3849981,26.5974399,8.6753115,0.8690233,0.891718,16.0864851,12.1364151,39.9409046,18.6707263,32.5713288,67.1775969,36.5830956,48.7530604,20.53383,4.5636065,13.753425,10.3781634,27.7515642,8.0794678,0.990758,1.0398668,16.1161739,12.2280556,40.0536236,18.9134218,32.8824649,67.4901352,37.3928175,48.6979809,20.7060279,4.6105786,13.7706408,9.8238222,27.9461499,8.2554466,0.9365836,0.986046,16.1394615,12.4417311,40.5413712,18.709568,32.3825892,66.7030551,37.4059943,48.2049732,20.3652299,4.4941218,13.9012069,9.9776984,27.7907738,10.0293907 +2470,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8566044,0.9012002,16.6777256,13.2508113,71.6319622,8.369719,26.11371,62.1670081,28.6108337,36.6987703,14.4944129,5.3435878,13.0684223,9.6969111,37.1636114,8.3445689,0.9112865,0.949727,16.5894783,13.1876202,72.1530243,8.7168867,26.1585371,62.9326569,29.1963652,36.8558868,14.520584,5.4190667,13.2834522,9.5195763,36.3736988,8.2339423,0.9020129,0.9490671,16.7669691,13.3552937,73.0124086,8.2761801,26.3518336,63.2010449,28.7398095,36.7960664,14.4688225,5.2695254,13.4268182,9.3142466,36.2596726,8.4866083,0.932504,0.9736277,17.2126998,13.8734261,73.6544011,8.3161692,26.4384026,63.0914946,28.7072398,36.8279796,14.5961883,5.2890627,13.7069168,9.3563641,36.0103931,8.6652396,0.9506713,1.0003499,17.4397133,14.1255482,74.1756725,8.4610872,27.0749885,63.2466862,28.698646,37.233118,14.6303388,5.4328214,13.728934,9.5588521,36.4041896,9.0507999 +2471,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5813813,1.5813813,19.7413035,15.5587003,83.9783647,14.587074,34.0678764,62.8742579,38.0818271,41.4607971,20.3631886,6.0870744,14.6957259,13.4401003,38.8812227,11.6861989,1.6190379,1.6190379,19.6125041,15.5694009,84.6616109,13.1116274,33.9001488,61.7958321,36.6671279,40.6522136,19.6993561,5.5595772,14.1493355,13.0298988,38.2570145,12.7732872,1.7845498,1.7845498,19.5546477,15.6367182,85.4743046,13.3274519,32.7570053,63.0797052,36.7294007,39.46241,19.1614574,5.6933761,12.5008885,11.6146203,37.9281524,13.3539647,1.4223981,1.4846702,18.7595774,15.0805165,85.3984554,12.5256455,32.3495077,64.3312504,36.9604226,39.8741724,19.2760281,6.0642563,13.3116131,11.586066,37.8573785,13.4310274,1.2966052,1.3584922,19.5119611,15.3894062,85.2256079,12.6416686,32.2859609,63.6659083,36.5405492,38.901996,18.9951603,5.702315,13.7064424,11.6723025,37.5175744,14.4989546 +2472,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3464148,2.3485858,34.9411304,29.3343964,51.6536986,19.6563548,36.7469758,64.5861659,33.7784614,45.8161926,20.4211834,2.987522,17.1985942,12.31932,34.2213838,25.0025129,2.0659309,2.0358231,34.9565954,29.5471597,51.7663466,19.527095,36.9783306,64.9884066,34.1064073,45.6892028,20.4493777,3.4487729,15.4266454,12.4098846,33.9247993,25.7677078,1.9731446,1.9417153,35.1650661,29.9633514,51.5387628,19.1812117,38.0351919,64.8764643,34.1843042,46.1384306,20.7274666,3.5093983,14.5723659,12.3196374,34.0357576,28.1566596,2.0655007,2.0116889,34.1457297,29.089749,49.0765619,19.8635756,38.1798905,66.468056,35.4865064,47.2236038,20.6551187,3.7987772,13.1304366,12.09726,33.671219,27.1492831,1.9154936,1.8613906,34.6222649,29.4877612,50.0838704,19.362473,38.0281204,66.8546232,34.8893139,47.758139,20.5123299,3.9577753,12.8776152,11.6795354,33.7693369,24.2336476 +2473,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2358409,2.2753044,36.8972131,32.1513928,59.6979142,15.4702761,36.1758096,65.6393164,32.0391164,41.459876,19.2821704,2.0682745,17.5691245,12.1350626,39.928959,24.1477017,2.1306753,2.1579041,37.0516377,32.364273,60.1915989,15.5877427,35.739202,65.0029569,31.7135489,40.8501506,19.2665099,2.0789092,17.1558239,12.06057,39.4324488,24.1153552,2.080796,2.1018367,37.9052291,33.3713752,61.125643,15.1208884,35.2183079,64.3382388,30.8829241,40.4152137,18.8430264,1.971786,17.2167329,11.91602,38.6166632,25.1830326,2.1591749,2.183643,37.5507987,32.9126166,62.0318609,15.0206661,34.856279,64.5681961,30.3795231,40.379326,18.5471354,1.8193654,17.4641121,11.7036836,38.285766,26.2339443,2.2958423,2.3095237,37.8180178,32.9052312,62.4309599,14.791019,34.7568339,64.3513601,29.5307735,40.0839004,18.085647,1.7970808,17.7704093,12.4224159,39.2949772,25.9291379 +2474,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9625009,0.9705324,15.9042494,11.8951782,50.3714872,12.9512771,30.7057555,64.6000571,34.1975855,41.4930663,19.0015447,4.4517905,11.7222873,9.088249,33.8295733,13.0952381,0.8911072,0.912481,16.2538131,12.2231536,51.2330832,12.5077402,30.9504175,64.5115082,33.9152584,41.6110526,18.4000962,4.537174,11.9066956,8.9595563,34.0392073,13.3223684,0.923018,0.9606328,16.446858,12.4854643,52.7270882,12.3433379,30.5571655,64.7973197,33.9975548,41.4955741,18.3830611,4.4561396,12.6409977,9.814529,33.6122684,14.3518519,0.9981503,1.0249177,16.4726986,12.3750124,53.2324782,12.2991627,30.080189,64.6906579,34.841556,41.2458358,18.7258886,4.5664265,12.5172864,10.396628,33.7409373,14.6969697,0.9772143,1.025331,17.0493289,13.193895,53.5712107,12.6433292,30.2913418,65.6515632,35.6341406,41.4174965,18.4989817,4.3897693,12.8646133,10.8214683,33.8584789,13.9254221 +2475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3993725,0.4073034,9.1426239,6.0730326,47.3976552,20.4186421,29.2705136,64.3951243,32.4117406,39.4730111,17.1209824,6.9444481,10.1930918,7.5609761,36.3210921,3.4023689,0.3406489,0.3482942,9.2771661,6.2484069,47.7426841,20.7741151,29.8453529,63.6941949,31.8159201,39.3988598,16.824648,7.0217047,10.3382132,7.5608039,36.3939482,3.4954429,0.4434924,0.4563299,9.6431162,6.5631856,47.5873285,21.0429937,30.4457266,63.5633884,31.6199424,39.7675599,17.4095395,6.9853835,10.0735039,7.5168926,35.6830285,3.9358612,0.3942102,0.4028672,9.8416276,6.5987933,47.6258014,21.1113899,30.6622398,63.4785871,31.7208297,39.9433791,17.5898556,6.8808476,9.522982,7.6014112,35.3323823,3.868196,0.4563416,0.4789378,10.2361194,6.8889491,48.0273744,21.4210951,30.5030666,63.5980648,31.0393283,39.9004096,17.4795679,7.0863129,9.5936401,7.4704403,35.0535615,4.3661972 +2476,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1306753,2.1579041,37.0516377,32.364273,60.1915989,15.5877427,35.739202,65.0029569,31.7135489,40.8501506,19.2665099,2.0789092,17.1558239,12.06057,39.4324488,24.1153552,2.080796,2.1018367,37.9052291,33.3713752,61.125643,15.1208884,35.2183079,64.3382388,30.8829241,40.4152137,18.8430264,1.971786,17.2167329,11.91602,38.6166632,25.1830326,2.1591749,2.183643,37.5507987,32.9126166,62.0318609,15.0206661,34.856279,64.5681961,30.3795231,40.379326,18.5471354,1.8193654,17.4641121,11.7036836,38.285766,26.2339443,2.2958423,2.3095237,37.8180178,32.9052312,62.4309599,14.791019,34.7568339,64.3513601,29.5307735,40.0839004,18.085647,1.7970808,17.7704093,12.4224159,39.2949772,25.9291379,2.2881062,2.2959292,37.3275916,32.6969667,62.4998138,14.7395834,34.6505228,64.4913545,30.0301417,40.5072677,17.9121883,1.7546133,17.9404574,12.8534183,38.2473037,26.0138727 +2477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8720695,0.908706,12.3884035,8.4412161,45.3891718,11.5556388,30.9821716,66.2440431,41.7385771,44.2626856,24.5761243,4.4316428,10.5151527,8.516749,40.7156973,8.3218364,0.9342685,0.9570535,12.7770831,8.8478534,45.4793716,11.681092,31.162233,66.3372127,41.1413581,43.9938346,24.1405899,4.507782,10.3231269,8.7772023,40.9618321,7.9091833,0.9889426,0.9934449,13.1591631,9.1296089,45.6549551,11.6704386,31.2287806,66.0499191,40.7768142,43.9970936,23.6863907,4.4679962,10.2830006,8.7565286,40.3504869,8.4189918,0.9580962,0.9773962,13.32997,9.362669,45.9522677,11.6578777,31.1045843,66.0133483,40.9554006,43.7817921,23.4778595,4.5269151,10.1053757,8.5988182,40.0973656,9.3556259,1.0020319,1.0154868,13.8964381,9.7839884,45.9265148,11.6722741,31.0732873,65.6894178,40.7668974,43.5481792,23.3311577,4.5823559,10.2806257,8.7553034,39.9127757,9.3091198 +2478,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5236104,0.5410163,9.7803112,6.5848229,45.9039718,13.9667855,30.0610211,63.2730886,30.2722686,40.7874706,17.104802,14.4877363,11.5553809,8.8122914,37.1926261,3.7219106,0.5553371,0.5583771,10.0457977,6.5934717,46.5935834,13.5635123,29.7596706,62.5615495,29.6776085,40.427905,16.9929652,14.3669397,11.4784825,8.5299045,36.9666542,4.0745862,0.5746796,0.5777174,10.6411626,6.9790579,46.9758557,13.2210124,29.63981,62.5248507,29.8736996,40.1415086,16.974623,13.7820153,11.6895877,8.5747148,37.1197272,4.9472296,0.6313117,0.6378859,10.7300378,7.1552933,47.8411985,13.5396874,29.5311769,62.8839006,29.7754777,39.8732013,16.6530929,13.8727325,12.2745112,8.831482,37.126929,4.9251864,0.6298789,0.6467967,11.1816065,7.4097788,49.1489356,13.5594229,28.7905282,63.278517,29.9451829,39.6955941,16.2642855,13.908328,12.6041498,9.0224965,37.2525017,5.7159347 +2479,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3548732,1.418104,25.8603124,21.7141662,38.0243878,15.5143499,34.0190668,63.774047,34.7715193,45.7171125,19.916323,3.3861102,13.8790625,9.9177262,35.9240801,21.0145064,1.3654145,1.4369518,26.7351174,22.843847,39.0123694,15.0076428,34.0411851,63.3560872,34.182849,45.327943,19.8354467,3.3357727,13.9462168,10.0553992,35.9915856,20.4871243,1.3173801,1.3857586,27.223223,23.3262211,39.6778012,14.9203228,34.5287781,62.9585958,32.9946989,44.9132752,18.9047422,3.1679193,13.6482835,9.795464,36.0287536,19.1057002,1.4499624,1.4848306,27.6668199,23.5799977,39.9640052,15.0675769,34.9013253,63.09455,33.2158414,44.8974209,18.8803705,3.2060516,13.5478582,9.7932216,36.173515,19.2408206,1.5389159,1.5725505,27.1279809,23.0432476,41.1699074,14.8566101,34.9405145,62.928795,32.7825577,44.6118568,18.7756681,3.1903909,13.7201263,10.1813226,37.1358693,19.3409668 +2480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9917787,2.012696,32.0478952,27.7059088,73.0644274,12.7855353,33.6473714,64.1113659,24.3188228,37.0091817,15.0304028,1.8379808,16.8663079,11.899882,39.8244612,24.2801085,2.1161079,2.1376377,31.9158211,27.5393035,72.56685,13.4490645,33.5115352,65.503363,26.2432272,38.3664102,16.0595015,1.9414179,16.7254991,12.2118638,40.1000968,23.8704868,2.1058162,2.1113123,30.8019325,26.2127666,72.8625916,13.0835856,34.0433908,64.4283683,25.9398745,38.6634641,15.5307109,1.543163,15.7641543,12.833391,40.0403696,25.1714659,2.029597,2.0352054,30.7974684,25.79885,71.3142677,13.6107293,33.5671482,64.3069144,26.8228667,39.2171788,16.3704991,1.4714647,16.4971554,13.4062772,40.745072,25.7007872,1.847353,1.8429965,31.2709952,26.2789691,71.344087,14.0998621,33.1756198,63.6720157,26.9903219,39.0038079,16.3243622,1.773484,16.845778,13.7565527,42.2709697,23.8473202 +2481,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9927726,2.0590924,30.0156142,24.9483509,46.3562359,14.2130939,35.6448852,64.7618221,32.4519234,44.2501047,22.9028578,3.6256635,13.4487863,8.7308119,43.1731577,21.2963076,1.9179713,1.9417618,31.4209245,26.1779056,46.9023943,14.0961191,35.8897921,64.6686582,31.7360856,43.6956663,22.262212,3.5135872,13.7944995,9.2834409,43.2589667,20.2770883,2.0703164,2.1467027,32.496331,27.3972619,49.1931232,13.9015758,35.8084339,64.0355313,31.4504201,43.8960744,21.223592,3.2394677,13.4794298,8.8072332,43.894698,22.3192187,2.1603275,2.1824279,33.194136,28.0341031,50.3410083,14.3460678,35.6196842,62.9498754,30.3558542,42.8703528,20.6857382,3.4451626,13.8900062,9.8247629,44.4145451,22.2906377,2.3641026,2.3860472,34.7425138,29.4987239,52.4881714,13.9108298,36.265094,62.0004507,29.143966,42.4191839,20.1179644,3.3847462,14.2162382,9.7469231,44.8390758,23.3634244 +2482,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6295019,1.7229796,28.6996975,24.1705564,43.9177008,18.4356424,40.5026391,66.7708821,37.9854601,48.7853749,24.3844745,3.9593012,12.2698908,10.3345224,33.0460246,25.9264375,1.624459,1.7174519,28.7174748,24.372012,44.1652648,17.9194487,39.839485,66.325865,36.7355071,47.8466907,24.3764959,3.6843678,11.7850156,9.5248301,32.2519597,27.9727868,1.8038515,1.8883243,28.6297926,24.4198913,43.894995,17.3642029,40.153428,66.8487803,37.1783195,48.4111178,25.0910931,3.7654026,12.0703406,9.5240671,32.2386914,28.2808653,1.6271361,1.7122231,28.1112217,24.1324414,43.5664818,17.2818709,40.2292307,67.2449019,36.5863595,48.2223264,25.2056282,3.7356374,11.9114728,9.3681112,30.0985858,28.8454618,1.6361009,1.7514714,27.3969919,23.4283117,44.0227184,17.3817291,39.833366,65.7853514,35.9556386,48.0211588,24.8548714,3.557537,11.979023,9.5746519,30.9487679,29.815664 +2483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8461324,0.9495687,13.2471977,9.7119739,25.355192,20.0843048,35.2876821,67.5516502,39.2006918,47.7949069,23.1457545,3.2125811,12.6405953,12.0013511,38.9564159,7.3232547,0.8399183,0.9793636,13.5836843,10.271563,25.7721512,20.0865722,35.6892012,67.4436019,39.6689466,48.1021325,23.0178101,3.3399013,13.5999896,12.4280874,38.851308,7.3664155,0.7710512,0.8916014,14.0028945,10.667877,25.8053701,19.7730312,35.0363114,68.0171815,39.6981313,47.9212291,23.0996257,3.3213102,13.4880718,11.7623372,38.8653025,7.5757998,0.8521769,0.9778609,14.0173715,10.5077663,25.7037808,20.0301314,34.1548049,67.5983978,39.2507985,46.9613943,22.2653651,3.1661542,13.8446867,11.499874,37.8844988,8.3851397,0.8411963,0.9588668,15.2621497,11.4220799,26.5760877,19.6859809,34.4383596,66.0718287,37.4915183,46.2095998,21.8507692,3.2341722,14.1675884,11.342638,36.8012187,9.6491587 +2484,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.624459,1.7174519,28.7174748,24.372012,44.1652648,17.9194487,39.839485,66.325865,36.7355071,47.8466907,24.3764959,3.6843678,11.7850156,9.5248301,32.2519597,27.9727868,1.8038515,1.8883243,28.6297926,24.4198913,43.894995,17.3642029,40.153428,66.8487803,37.1783195,48.4111178,25.0910931,3.7654026,12.0703406,9.5240671,32.2386914,28.2808653,1.6271361,1.7122231,28.1112217,24.1324414,43.5664818,17.2818709,40.2292307,67.2449019,36.5863595,48.2223264,25.2056282,3.7356374,11.9114728,9.3681112,30.0985858,28.8454618,1.6361009,1.7514714,27.3969919,23.4283117,44.0227184,17.3817291,39.833366,65.7853514,35.9556386,48.0211588,24.8548714,3.557537,11.979023,9.5746519,30.9487679,29.815664,1.7397315,1.8194445,27.068009,23.3913166,44.1182905,17.7301686,39.7722111,66.1183706,36.0755154,48.1286568,25.0222938,3.8003391,12.1191263,10.1538861,30.3539613,28.9214895 +2485,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.080796,2.1018367,37.9052291,33.3713752,61.125643,15.1208884,35.2183079,64.3382388,30.8829241,40.4152137,18.8430264,1.971786,17.2167329,11.91602,38.6166632,25.1830326,2.1591749,2.183643,37.5507987,32.9126166,62.0318609,15.0206661,34.856279,64.5681961,30.3795231,40.379326,18.5471354,1.8193654,17.4641121,11.7036836,38.285766,26.2339443,2.2958423,2.3095237,37.8180178,32.9052312,62.4309599,14.791019,34.7568339,64.3513601,29.5307735,40.0839004,18.085647,1.7970808,17.7704093,12.4224159,39.2949772,25.9291379,2.2881062,2.2959292,37.3275916,32.6969667,62.4998138,14.7395834,34.6505228,64.4913545,30.0301417,40.5072677,17.9121883,1.7546133,17.9404574,12.8534183,38.2473037,26.0138727,2.3224622,2.3028945,37.5397731,32.570313,63.1557184,14.7308548,33.9404275,63.9754336,30.2735717,40.5446583,17.641929,1.8207375,18.1657154,13.3315454,38.5496583,27.2156148 +2486,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.920225,0.9453907,13.8092491,9.9961397,44.0377367,10.0973931,28.5969675,68.3785915,39.7381434,41.8639468,20.702487,4.7395874,9.8886008,7.9000363,36.9813798,11.6379296,0.9754783,1.0188096,14.5164353,10.7464247,44.0822047,10.1351988,28.6493943,68.3039123,39.8965482,42.2598702,20.6862221,4.8168177,9.9177183,8.0254649,36.6040833,11.7111636,0.9836092,1.0267511,15.024151,11.1415577,44.1204402,10.2659679,28.7674404,68.1441866,40.1069779,41.9953499,20.8139568,4.8232557,10.2338109,8.1905612,36.7176488,13.5087688,1.0350195,1.0785399,15.7389214,11.7003224,44.3920913,10.2971082,29.1260812,67.7464021,39.5630401,41.8505935,20.7443487,4.9280671,9.8484833,8.0690956,36.9900957,14.4039719,1.1472795,1.2039612,16.4975091,12.4376994,44.6708716,10.420778,28.4904269,67.5904938,39.3949005,41.4360898,20.4254762,5.0122463,10.0454702,8.1265876,37.1494142,14.1440486 +2487,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.664161,1.5905027,31.2316382,27.1754396,66.3700734,12.6236732,33.4092842,64.6165086,29.4194679,39.5858142,17.2853359,2.456892,16.8104751,14.0671197,39.4114961,16.8656663,1.6780107,1.6040982,30.7157254,26.5266903,65.6163938,13.0242047,32.2563556,64.4944753,28.9652887,38.8834924,17.2389859,2.5104869,16.7678223,13.4759264,38.7741502,17.164133,1.784678,1.7109277,29.3790066,25.2911346,64.5462042,13.4456402,32.8197224,64.9427286,30.0340103,39.8266979,17.7502686,2.5960443,16.7542231,13.1371288,39.726895,15.4411401,1.7696561,1.6644804,28.859638,24.5565542,64.4266799,13.5600625,32.5339366,64.4560868,29.948443,39.9942909,17.8673549,2.5221887,16.1007157,12.3376244,39.023173,16.7177811,1.8002537,1.7036724,28.7552185,24.4053355,64.8534533,14.2823476,31.782079,63.7599439,29.4249325,39.6684703,18.3664985,2.3359854,17.0329061,13.336153,40.5135783,15.3225783 +2488,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3512935,0.3504959,8.7074601,5.376542,48.733588,22.7256821,30.0106165,62.0225048,29.5061988,41.4742441,17.2134553,6.398723,10.4155986,6.9661427,31.5410637,5.3738318,0.3371767,0.3363886,9.2877609,5.5655005,49.1269195,22.7997721,30.594153,61.4215684,29.0906538,41.6217531,17.1321592,6.6774288,10.2025305,6.6544211,31.6381009,4.8837209,0.3383378,0.3375836,9.8251045,5.8127602,49.3378808,21.6277457,30.7388234,60.6701,29.1924343,41.3573821,17.164947,6.5120308,10.3321931,6.5131282,32.4742313,5.5555556,0.3391277,0.358721,9.6160233,5.9086428,49.5506531,21.940147,31.3845589,60.8313923,28.8671709,40.7585191,17.0420699,6.4756578,10.6507499,6.5320699,32.1512519,6.7099567,0.3474496,0.3467138,9.7278416,6.3004187,49.6860008,22.6809902,31.5992755,61.3082709,29.8260952,40.8331474,17.4808087,6.6744932,10.6285949,6.7298623,32.249644,6.8075117 +2489,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4141366,1.4215932,25.3186372,21.0781011,54.3836944,16.5553649,39.1555509,65.5162437,37.0832801,47.9263847,21.9511946,3.2047361,12.7645749,11.190857,32.9282685,14.716287,1.5569127,1.5645933,25.0696214,20.5622086,55.3483908,15.5263374,39.4610086,65.4485076,36.4846706,46.9017941,22.1487579,2.9515254,13.0715762,11.5575622,34.1867747,16.9708029,1.6225794,1.6303353,25.4002769,20.7133119,54.6800787,15.797081,39.358142,65.3912731,36.9562861,46.7021305,22.5124845,3.2736074,13.1376144,11.7272357,33.7500076,16.0516546,1.7465911,1.7698904,25.1196861,20.3327703,54.7655917,15.9662595,39.2468459,64.6067437,36.7940959,46.6981325,22.0344071,3.5770006,13.5319424,11.8216118,34.8693522,17.1480021,1.7284565,1.7400791,25.3377664,20.4283242,54.4908804,15.9583464,39.5866055,64.8216664,36.9811699,46.3943274,22.3569258,3.6306565,13.2970056,10.7690722,34.3966343,17.5471698 +2490,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.7565076,0.7426624,9.0487263,6.2076049,50.9743578,13.4168638,26.0592725,70.5616677,31.7042347,46.2942509,16.0808201,4.7904862,11.7715681,11.3829774,31.4163314,8.9925923,0.5462209,0.5323246,8.3966036,5.4490534,48.7878269,13.7122037,25.0254877,70.1150172,32.0111143,46.2999926,15.9758185,4.7828791,12.2758356,11.6523015,31.5643629,4.9241566,0.5155956,0.5294513,8.338397,5.2572231,47.1393897,13.5759389,25.4305394,69.5730096,31.9114468,45.5059639,16.024889,4.5248903,11.4901309,10.6191489,30.6387317,4.1352637,0.5580181,0.5766977,7.7737745,4.929224,44.7186668,13.4104,24.9668289,68.6593522,31.6031341,44.7961794,15.0919602,4.7774208,12.1566005,11.4112822,31.0776383,4.2306879,0.5896881,0.6080248,8.1263994,5.1151824,43.4613257,13.1278953,24.663381,68.1386945,31.6481714,44.7155834,15.2060325,4.8070348,12.2455969,11.5324401,31.6180643,4.7100937 +2491,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1591749,2.183643,37.5507987,32.9126166,62.0318609,15.0206661,34.856279,64.5681961,30.3795231,40.379326,18.5471354,1.8193654,17.4641121,11.7036836,38.285766,26.2339443,2.2958423,2.3095237,37.8180178,32.9052312,62.4309599,14.791019,34.7568339,64.3513601,29.5307735,40.0839004,18.085647,1.7970808,17.7704093,12.4224159,39.2949772,25.9291379,2.2881062,2.2959292,37.3275916,32.6969667,62.4998138,14.7395834,34.6505228,64.4913545,30.0301417,40.5072677,17.9121883,1.7546133,17.9404574,12.8534183,38.2473037,26.0138727,2.3224622,2.3028945,37.5397731,32.570313,63.1557184,14.7308548,33.9404275,63.9754336,30.2735717,40.5446583,17.641929,1.8207375,18.1657154,13.3315454,38.5496583,27.2156148,2.2690616,2.2494666,37.9272626,32.9849654,64.4635844,14.8743784,33.1111345,63.4131619,29.6095199,39.8109298,17.367823,1.8514314,17.6575446,12.9056,38.4084034,27.3288053 +2492,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9112865,0.949727,16.5894783,13.1876202,72.1530243,8.7168867,26.1585371,62.9326569,29.1963652,36.8558868,14.520584,5.4190667,13.2834522,9.5195763,36.3736988,8.2339423,0.9020129,0.9490671,16.7669691,13.3552937,73.0124086,8.2761801,26.3518336,63.2010449,28.7398095,36.7960664,14.4688225,5.2695254,13.4268182,9.3142466,36.2596726,8.4866083,0.932504,0.9736277,17.2126998,13.8734261,73.6544011,8.3161692,26.4384026,63.0914946,28.7072398,36.8279796,14.5961883,5.2890627,13.7069168,9.3563641,36.0103931,8.6652396,0.9506713,1.0003499,17.4397133,14.1255482,74.1756725,8.4610872,27.0749885,63.2466862,28.698646,37.233118,14.6303388,5.4328214,13.728934,9.5588521,36.4041896,9.0507999,0.9368441,0.9827643,17.5633616,14.2773336,74.6140095,8.4196277,27.5684526,63.434021,28.6024417,37.3336127,14.6310425,5.383548,13.7602921,9.6233333,36.4449122,9.0590835 +2493,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.804491,0.8138859,13.2722831,9.2440679,42.0852688,19.7338795,33.2094576,61.8618218,33.7090563,44.5785859,19.9229765,6.7445115,10.4667325,7.8359246,34.2298086,9.0827812,0.8433817,0.8558055,13.4717978,9.5387021,42.8620808,19.6157476,33.4830007,61.1787394,33.4159448,44.4674113,19.8832576,6.6590471,10.6644741,7.9636648,33.9897737,7.9235308,0.8446798,0.8601692,13.6093726,9.7455101,44.5476326,19.1179907,33.7019632,61.0818786,32.7097552,44.1739107,19.8913347,6.6304458,10.7805336,8.2359605,34.2114489,8.6998437,0.8251938,0.858366,13.6054746,9.85649,45.0239106,19.6097436,33.5745903,61.7284547,32.8309657,44.6378415,19.9412359,6.620987,10.9050555,8.1211559,33.8007125,8.6995018,0.8970814,0.9330311,14.0448791,10.3782116,46.019557,19.3656857,33.2706471,62.1384991,33.0112878,44.3327731,19.8871729,6.5944767,11.1523859,8.3333346,33.7186112,8.6325054 +2494,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.081062,1.095118,26.4219291,20.5621358,47.4258762,12.7956378,39.0525807,66.4341577,34.1667682,49.9686772,26.9293853,5.8803737,14.4147491,11.7751917,33.9583444,18.7203327,1.2155267,1.229645,27.3151329,21.2041893,47.1230708,12.425878,38.9788869,66.6956391,34.0873117,49.3645775,26.478871,5.7063305,14.4496509,12.0312993,34.0408655,18.0346363,1.554371,1.5461611,27.2719357,21.2166244,47.8129178,13.0551476,38.8552798,66.8924993,34.5872166,48.931695,25.5180446,5.7200089,15.0468657,12.2509538,33.6264739,20.3247767,1.5221876,1.5134898,26.9534936,21.1741025,47.5437626,13.3314163,37.7640748,67.4019049,34.7747883,48.2241865,24.5635845,5.3858662,14.3468472,12.1639291,33.9240011,20.452008,1.4928467,1.4126088,26.741526,20.9720527,46.9307973,13.4181069,38.9076262,65.9812925,35.4748504,48.4793308,25.2099053,5.4844472,14.8541009,12.1993797,33.5211892,18.7463017 +2495,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1161079,2.1376377,31.9158211,27.5393035,72.56685,13.4490645,33.5115352,65.503363,26.2432272,38.3664102,16.0595015,1.9414179,16.7254991,12.2118638,40.1000968,23.8704868,2.1058162,2.1113123,30.8019325,26.2127666,72.8625916,13.0835856,34.0433908,64.4283683,25.9398745,38.6634641,15.5307109,1.543163,15.7641543,12.833391,40.0403696,25.1714659,2.029597,2.0352054,30.7974684,25.79885,71.3142677,13.6107293,33.5671482,64.3069144,26.8228667,39.2171788,16.3704991,1.4714647,16.4971554,13.4062772,40.745072,25.7007872,1.847353,1.8429965,31.2709952,26.2789691,71.344087,14.0998621,33.1756198,63.6720157,26.9903219,39.0038079,16.3243622,1.773484,16.845778,13.7565527,42.2709697,23.8473202,1.9056347,1.9012565,30.7366391,25.4174092,71.3196634,14.9857231,33.8702221,63.9136188,27.446974,39.5358138,16.9745174,1.584272,17.0929805,13.0599931,41.9252976,21.865222 +2496,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9716789,0.979133,16.2500263,12.2323255,39.2245399,18.7751493,33.0900376,67.7290574,36.5763414,48.6596998,21.1947606,4.9916184,13.1767212,10.3849981,26.5974399,8.6753115,0.8690233,0.891718,16.0864851,12.1364151,39.9409046,18.6707263,32.5713288,67.1775969,36.5830956,48.7530604,20.53383,4.5636065,13.753425,10.3781634,27.7515642,8.0794678,0.990758,1.0398668,16.1161739,12.2280556,40.0536236,18.9134218,32.8824649,67.4901352,37.3928175,48.6979809,20.7060279,4.6105786,13.7706408,9.8238222,27.9461499,8.2554466,0.9365836,0.986046,16.1394615,12.4417311,40.5413712,18.709568,32.3825892,66.7030551,37.4059943,48.2049732,20.3652299,4.4941218,13.9012069,9.9776984,27.7907738,10.0293907,0.7577073,0.7872262,15.715352,12.2263791,40.6900104,18.5317616,32.4148336,66.4470814,37.5393476,48.2837038,20.4000069,4.7106603,13.8462398,9.8785849,27.2342464,9.8055706 +2497,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7804455,0.7831635,10.1202555,6.8589445,38.7692398,16.4370925,29.1874494,69.3162867,37.6662363,46.4775602,20.9372408,3.9172876,9.8296079,8.2120591,33.0058742,10.6271866,0.7268726,0.7391338,10.1321059,6.8394235,38.056543,16.6015616,30.1121138,69.7425885,38.2291688,46.8029847,21.1438643,3.7471464,9.5842086,7.9308902,33.4100445,10.5172232,0.6802212,0.687499,9.9940609,6.8109857,38.3168963,16.3906602,30.2238929,69.8769621,37.6058739,46.5005996,21.571196,3.9834628,9.3341415,7.534794,33.3399694,9.5317534,0.6795521,0.6893425,10.0116886,6.7361968,38.3197606,16.2020551,30.6210223,69.8981579,37.7096467,46.9348922,21.2360247,3.9836304,9.5728262,8.0802163,33.4955154,10.8695696,0.6523959,0.654979,10.0636716,6.8409777,38.3540986,16.2983959,31.066158,70.2764121,38.2329508,46.8213166,21.0167879,3.9782871,9.3738143,7.6908274,33.224817,11.6242098 +2498,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5569127,1.5645933,25.0696214,20.5622086,55.3483908,15.5263374,39.4610086,65.4485076,36.4846706,46.9017941,22.1487579,2.9515254,13.0715762,11.5575622,34.1867747,16.9708029,1.6225794,1.6303353,25.4002769,20.7133119,54.6800787,15.797081,39.358142,65.3912731,36.9562861,46.7021305,22.5124845,3.2736074,13.1376144,11.7272357,33.7500076,16.0516546,1.7465911,1.7698904,25.1196861,20.3327703,54.7655917,15.9662595,39.2468459,64.6067437,36.7940959,46.6981325,22.0344071,3.5770006,13.5319424,11.8216118,34.8693522,17.1480021,1.7284565,1.7400791,25.3377664,20.4283242,54.4908804,15.9583464,39.5866055,64.8216664,36.9811699,46.3943274,22.3569258,3.6306565,13.2970056,10.7690722,34.3966343,17.5471698,1.6567518,1.6375682,24.9976182,19.9233889,54.0892221,15.9311757,40.843496,64.9322252,37.15849,46.5154234,23.0696125,3.6587477,13.4584239,11.1397609,34.6271972,17.0329546 +2499,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6793633,0.6951837,12.7505333,8.9425273,45.8756311,17.5995786,33.3773103,62.586156,30.6963885,41.7474864,17.9488234,4.3693375,10.7193735,8.0924789,32.2705722,8.0273662,0.6887594,0.6861527,13.8762742,10.2600761,47.4871222,17.6154187,33.2134933,62.8912024,30.8728625,41.581702,18.0992868,4.5390078,11.0666469,8.4282268,32.385743,7.6343226,0.6657058,0.6631333,13.9276805,10.545975,49.0084007,17.6874729,32.4854392,63.1933274,30.6571564,41.2033021,18.1615731,4.3360372,10.6940796,8.3612196,31.639131,7.9752482,0.6334656,0.6507214,13.8185091,10.4170357,49.8723833,17.3804841,32.5363314,64.1062804,30.6290008,41.3091013,18.1111559,4.2523394,10.6512608,8.4360563,31.7871445,8.3135354,0.7268376,0.7473512,14.3184371,10.7485981,50.7252365,17.5797432,32.2893335,65.4332362,31.4711227,41.6770174,18.4497354,4.1766208,11.5337649,9.1309533,31.914514,7.941252 +2500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2155267,1.229645,27.3151329,21.2041893,47.1230708,12.425878,38.9788869,66.6956391,34.0873117,49.3645775,26.478871,5.7063305,14.4496509,12.0312993,34.0408655,18.0346363,1.554371,1.5461611,27.2719357,21.2166244,47.8129178,13.0551476,38.8552798,66.8924993,34.5872166,48.931695,25.5180446,5.7200089,15.0468657,12.2509538,33.6264739,20.3247767,1.5221876,1.5134898,26.9534936,21.1741025,47.5437626,13.3314163,37.7640748,67.4019049,34.7747883,48.2241865,24.5635845,5.3858662,14.3468472,12.1639291,33.9240011,20.452008,1.4928467,1.4126088,26.741526,20.9720527,46.9307973,13.4181069,38.9076262,65.9812925,35.4748504,48.4793308,25.2099053,5.4844472,14.8541009,12.1993797,33.5211892,18.7463017,1.7405061,1.7248456,27.5126639,21.6198015,48.1631717,13.1736427,38.7100357,65.4909754,35.0718717,48.4064147,25.5049352,5.4750446,15.612498,12.7049638,34.1957375,18.9116819 +2501,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6225794,1.6303353,25.4002769,20.7133119,54.6800787,15.797081,39.358142,65.3912731,36.9562861,46.7021305,22.5124845,3.2736074,13.1376144,11.7272357,33.7500076,16.0516546,1.7465911,1.7698904,25.1196861,20.3327703,54.7655917,15.9662595,39.2468459,64.6067437,36.7940959,46.6981325,22.0344071,3.5770006,13.5319424,11.8216118,34.8693522,17.1480021,1.7284565,1.7400791,25.3377664,20.4283242,54.4908804,15.9583464,39.5866055,64.8216664,36.9811699,46.3943274,22.3569258,3.6306565,13.2970056,10.7690722,34.3966343,17.5471698,1.6567518,1.6375682,24.9976182,19.9233889,54.0892221,15.9311757,40.843496,64.9322252,37.15849,46.5154234,23.0696125,3.6587477,13.4584239,11.1397609,34.6271972,17.0329546,1.6994976,1.6446769,24.9351749,20.0001214,54.563895,15.8537303,42.0608732,66.2145193,37.5649571,46.0942739,22.8030776,3.9597317,13.7953117,10.7296928,34.5889639,17.8571227 +2502,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6621526,0.7082841,16.8887858,13.7649676,57.3777957,13.4078107,26.5445422,66.3756298,30.1690455,42.5821592,14.2629318,4.9107925,13.9078372,12.1101804,30.8676018,7.7436081,0.8144658,0.8376017,17.2594398,14.0953757,58.1099109,13.3410626,26.9343425,66.0448167,29.8565602,42.0418611,13.8485486,4.8244523,14.0763706,11.7635667,30.6186848,8.3481464,0.8184939,0.8552641,17.6034073,14.4360231,59.0481206,13.4674931,27.2344769,66.2584984,30.1304241,41.9467225,13.9166999,4.7640105,14.2367372,11.1931991,30.1486761,8.3046687,0.8792837,0.9353223,17.6334856,14.3256121,59.7468867,13.5303043,27.2402347,66.3389537,29.537068,41.6652201,13.8072223,5.037409,14.0581973,10.6543523,30.510585,9.8184073,0.8571643,0.9052268,18.2125253,14.8395037,60.4831175,13.9754177,27.6310692,65.7271673,29.4702856,41.0677854,14.0242103,5.1004784,14.2196338,10.8502423,31.7195447,9.0689404 +2503,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9020129,0.9490671,16.7669691,13.3552937,73.0124086,8.2761801,26.3518336,63.2010449,28.7398095,36.7960664,14.4688225,5.2695254,13.4268182,9.3142466,36.2596726,8.4866083,0.932504,0.9736277,17.2126998,13.8734261,73.6544011,8.3161692,26.4384026,63.0914946,28.7072398,36.8279796,14.5961883,5.2890627,13.7069168,9.3563641,36.0103931,8.6652396,0.9506713,1.0003499,17.4397133,14.1255482,74.1756725,8.4610872,27.0749885,63.2466862,28.698646,37.233118,14.6303388,5.4328214,13.728934,9.5588521,36.4041896,9.0507999,0.9368441,0.9827643,17.5633616,14.2773336,74.6140095,8.4196277,27.5684526,63.434021,28.6024417,37.3336127,14.6310425,5.383548,13.7602921,9.6233333,36.4449122,9.0590835,0.9763652,1.0175991,17.7098592,14.4405076,75.1719018,8.3925269,27.9766888,63.508164,28.1419007,37.5452243,14.7975288,5.4430059,14.0305599,9.5904857,36.2782102,9.3176778 +2504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5553371,0.5583771,10.0457977,6.5934717,46.5935834,13.5635123,29.7596706,62.5615495,29.6776085,40.427905,16.9929652,14.3669397,11.4784825,8.5299045,36.9666542,4.0745862,0.5746796,0.5777174,10.6411626,6.9790579,46.9758557,13.2210124,29.63981,62.5248507,29.8736996,40.1415086,16.974623,13.7820153,11.6895877,8.5747148,37.1197272,4.9472296,0.6313117,0.6378859,10.7300378,7.1552933,47.8411985,13.5396874,29.5311769,62.8839006,29.7754777,39.8732013,16.6530929,13.8727325,12.2745112,8.831482,37.126929,4.9251864,0.6298789,0.6467967,11.1816065,7.4097788,49.1489356,13.5594229,28.7905282,63.278517,29.9451829,39.6955941,16.2642855,13.908328,12.6041498,9.0224965,37.2525017,5.7159347,0.6930434,0.6983676,11.6415323,7.8944315,49.8313056,13.3423309,29.4687412,63.6063084,29.9211191,39.8851669,16.3612079,13.7049071,13.0247126,9.5429672,37.5275821,5.8011043 +2505,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.420627,1.4406045,23.7376341,19.0414917,44.2245349,15.1928434,40.6443905,67.3945037,39.3209355,50.2787817,29.6340902,3.5697681,10.7283986,9.3768041,34.1015976,22.3732293,1.3723853,1.4111652,24.4463993,19.5419144,45.4021924,15.0996206,41.3051822,67.6994426,39.1972855,50.2663608,29.9307209,4.0266489,11.4667465,9.0270295,33.9128459,25.8824995,1.5618189,1.6009566,24.2150614,19.010358,45.7986336,15.8370069,41.1465001,67.5090001,39.1909718,50.1820188,30.0122189,4.0601172,11.5656475,9.4337033,34.6464079,22.1784455,1.4326034,1.4709855,23.5585273,18.8486131,46.7169131,15.5408555,40.9924894,67.6564562,39.5681103,50.8353029,30.5702588,4.144263,11.7142091,9.8067824,34.6646404,23.9542771,1.4315768,1.4503626,23.416286,19.0668969,46.1209916,15.0344144,41.3936224,67.2362167,39.1973578,51.2631056,30.1543147,4.4554841,12.0960499,10.5063122,34.834503,22.9214558 +2506,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1058162,2.1113123,30.8019325,26.2127666,72.8625916,13.0835856,34.0433908,64.4283683,25.9398745,38.6634641,15.5307109,1.543163,15.7641543,12.833391,40.0403696,25.1714659,2.029597,2.0352054,30.7974684,25.79885,71.3142677,13.6107293,33.5671482,64.3069144,26.8228667,39.2171788,16.3704991,1.4714647,16.4971554,13.4062772,40.745072,25.7007872,1.847353,1.8429965,31.2709952,26.2789691,71.344087,14.0998621,33.1756198,63.6720157,26.9903219,39.0038079,16.3243622,1.773484,16.845778,13.7565527,42.2709697,23.8473202,1.9056347,1.9012565,30.7366391,25.4174092,71.3196634,14.9857231,33.8702221,63.9136188,27.446974,39.5358138,16.9745174,1.584272,17.0929805,13.0599931,41.9252976,21.865222,2.0464636,2.0421003,30.7323026,25.4085853,71.2173544,15.4307746,33.8424876,64.1234911,27.734481,40.706861,17.4527248,1.8829479,17.4372157,12.2683386,42.016642,21.3858629 +2507,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0659309,2.0358231,34.9565954,29.5471597,51.7663466,19.527095,36.9783306,64.9884066,34.1064073,45.6892028,20.4493777,3.4487729,15.4266454,12.4098846,33.9247993,25.7677078,1.9731446,1.9417153,35.1650661,29.9633514,51.5387628,19.1812117,38.0351919,64.8764643,34.1843042,46.1384306,20.7274666,3.5093983,14.5723659,12.3196374,34.0357576,28.1566596,2.0655007,2.0116889,34.1457297,29.089749,49.0765619,19.8635756,38.1798905,66.468056,35.4865064,47.2236038,20.6551187,3.7987772,13.1304366,12.09726,33.671219,27.1492831,1.9154936,1.8613906,34.6222649,29.4877612,50.0838704,19.362473,38.0281204,66.8546232,34.8893139,47.758139,20.5123299,3.9577753,12.8776152,11.6795354,33.7693369,24.2336476,1.8476081,1.7937986,34.6857621,29.6542716,48.8544584,18.8346157,38.9188626,67.6005749,35.2187329,48.4557533,20.9862683,3.7932318,12.190335,12.1377949,32.6579908,26.5127723 +2508,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3406489,0.3482942,9.2771661,6.2484069,47.7426841,20.7741151,29.8453529,63.6941949,31.8159201,39.3988598,16.824648,7.0217047,10.3382132,7.5608039,36.3939482,3.4954429,0.4434924,0.4563299,9.6431162,6.5631856,47.5873285,21.0429937,30.4457266,63.5633884,31.6199424,39.7675599,17.4095395,6.9853835,10.0735039,7.5168926,35.6830285,3.9358612,0.3942102,0.4028672,9.8416276,6.5987933,47.6258014,21.1113899,30.6622398,63.4785871,31.7208297,39.9433791,17.5898556,6.8808476,9.522982,7.6014112,35.3323823,3.868196,0.4563416,0.4789378,10.2361194,6.8889491,48.0273744,21.4210951,30.5030666,63.5980648,31.0393283,39.9004096,17.4795679,7.0863129,9.5936401,7.4704403,35.0535615,4.3661972,0.5417096,0.5828728,10.4741087,6.9183227,48.6605941,21.4248377,30.5147081,62.3859051,30.6414856,39.8199832,17.1019238,7.1374243,9.9630417,7.8615312,34.5672689,4.7813947 +2509,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8690233,0.891718,16.0864851,12.1364151,39.9409046,18.6707263,32.5713288,67.1775969,36.5830956,48.7530604,20.53383,4.5636065,13.753425,10.3781634,27.7515642,8.0794678,0.990758,1.0398668,16.1161739,12.2280556,40.0536236,18.9134218,32.8824649,67.4901352,37.3928175,48.6979809,20.7060279,4.6105786,13.7706408,9.8238222,27.9461499,8.2554466,0.9365836,0.986046,16.1394615,12.4417311,40.5413712,18.709568,32.3825892,66.7030551,37.4059943,48.2049732,20.3652299,4.4941218,13.9012069,9.9776984,27.7907738,10.0293907,0.7577073,0.7872262,15.715352,12.2263791,40.6900104,18.5317616,32.4148336,66.4470814,37.5393476,48.2837038,20.4000069,4.7106603,13.8462398,9.8785849,27.2342464,9.8055706,0.8439673,0.8439673,15.9184602,12.7051381,41.718435,18.0288264,32.8609095,65.6621924,36.8266879,48.4041781,20.4748651,4.5758102,13.9049241,10.0531849,28.0441647,11.1268558 +2510,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.076897,1.145186,20.1709543,15.9699949,40.0636869,19.8997945,39.0873911,66.6193881,38.564648,47.7347117,22.4460439,3.6048677,12.5055509,10.9999908,33.8313627,11.6573001,1.1579484,1.2108248,20.9090615,16.729342,41.215522,19.1892944,39.3126515,66.0309866,38.1707424,47.6082515,22.6136324,3.8676938,13.2186212,11.045743,33.8941908,11.6621953,1.184062,1.231298,20.9687197,16.7934899,42.0536791,19.1225493,38.7155308,65.6793467,38.6093887,47.314184,22.3885268,3.5987214,13.9489583,11.9212431,34.2664885,11.8925831,1.1214199,1.1619819,21.7119923,17.7848155,42.3777012,18.3882957,38.823185,66.1419219,38.2527357,46.7462157,22.5966488,3.7713856,14.5654013,12.327876,34.6369847,13.2575691,1.1479008,1.1884238,22.3595362,18.5188914,43.1395073,18.6866628,39.0349536,65.9903138,38.0887895,47.6135258,22.9920074,3.5849384,14.307422,12.2231845,34.2128127,13.1009375 +2511,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3723853,1.4111652,24.4463993,19.5419144,45.4021924,15.0996206,41.3051822,67.6994426,39.1972855,50.2663608,29.9307209,4.0266489,11.4667465,9.0270295,33.9128459,25.8824995,1.5618189,1.6009566,24.2150614,19.010358,45.7986336,15.8370069,41.1465001,67.5090001,39.1909718,50.1820188,30.0122189,4.0601172,11.5656475,9.4337033,34.6464079,22.1784455,1.4326034,1.4709855,23.5585273,18.8486131,46.7169131,15.5408555,40.9924894,67.6564562,39.5681103,50.8353029,30.5702588,4.144263,11.7142091,9.8067824,34.6646404,23.9542771,1.4315768,1.4503626,23.416286,19.0668969,46.1209916,15.0344144,41.3936224,67.2362167,39.1973578,51.2631056,30.1543147,4.4554841,12.0960499,10.5063122,34.834503,22.9214558,1.7951625,1.8633956,22.9846725,18.3894857,45.4954636,15.5469292,41.1436242,66.7214185,39.4104729,51.6428009,31.2946466,4.1891698,12.1240827,10.5135751,34.9158904,23.7005593 +2512,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.990758,1.0398668,16.1161739,12.2280556,40.0536236,18.9134218,32.8824649,67.4901352,37.3928175,48.6979809,20.7060279,4.6105786,13.7706408,9.8238222,27.9461499,8.2554466,0.9365836,0.986046,16.1394615,12.4417311,40.5413712,18.709568,32.3825892,66.7030551,37.4059943,48.2049732,20.3652299,4.4941218,13.9012069,9.9776984,27.7907738,10.0293907,0.7577073,0.7872262,15.715352,12.2263791,40.6900104,18.5317616,32.4148336,66.4470814,37.5393476,48.2837038,20.4000069,4.7106603,13.8462398,9.8785849,27.2342464,9.8055706,0.8439673,0.8439673,15.9184602,12.7051381,41.718435,18.0288264,32.8609095,65.6621924,36.8266879,48.4041781,20.4748651,4.5758102,13.9049241,10.0531849,28.0441647,11.1268558,0.9651216,0.9651216,15.4921364,12.3095061,42.757786,17.9893675,32.672091,65.573287,35.8306131,48.3019141,20.6477835,4.8397719,14.1046411,10.6758981,27.7257432,10.9926584 +2513,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8433817,0.8558055,13.4717978,9.5387021,42.8620808,19.6157476,33.4830007,61.1787394,33.4159448,44.4674113,19.8832576,6.6590471,10.6644741,7.9636648,33.9897737,7.9235308,0.8446798,0.8601692,13.6093726,9.7455101,44.5476326,19.1179907,33.7019632,61.0818786,32.7097552,44.1739107,19.8913347,6.6304458,10.7805336,8.2359605,34.2114489,8.6998437,0.8251938,0.858366,13.6054746,9.85649,45.0239106,19.6097436,33.5745903,61.7284547,32.8309657,44.6378415,19.9412359,6.620987,10.9050555,8.1211559,33.8007125,8.6995018,0.8970814,0.9330311,14.0448791,10.3782116,46.019557,19.3656857,33.2706471,62.1384991,33.0112878,44.3327731,19.8871729,6.5944767,11.1523859,8.3333346,33.7186112,8.6325054,0.9683807,0.9923242,14.1622976,10.6169235,46.8961337,19.5623591,32.7042755,62.9766486,33.1841807,44.0012972,19.9286625,6.2581081,11.0786939,8.1785462,33.4690456,8.7209439 +2514,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9754783,1.0188096,14.5164353,10.7464247,44.0822047,10.1351988,28.6493943,68.3039123,39.8965482,42.2598702,20.6862221,4.8168177,9.9177183,8.0254649,36.6040833,11.7111636,0.9836092,1.0267511,15.024151,11.1415577,44.1204402,10.2659679,28.7674404,68.1441866,40.1069779,41.9953499,20.8139568,4.8232557,10.2338109,8.1905612,36.7176488,13.5087688,1.0350195,1.0785399,15.7389214,11.7003224,44.3920913,10.2971082,29.1260812,67.7464021,39.5630401,41.8505935,20.7443487,4.9280671,9.8484833,8.0690956,36.9900957,14.4039719,1.1472795,1.2039612,16.4975091,12.4376994,44.6708716,10.420778,28.4904269,67.5904938,39.3949005,41.4360898,20.4254762,5.0122463,10.0454702,8.1265876,37.1494142,14.1440486,1.1645911,1.2259466,17.0247391,12.8301706,44.8556699,10.4408241,28.8665031,67.448014,39.5794649,41.3897184,20.5764972,4.9990709,10.1327194,8.1839941,37.1244607,14.4859798 +2515,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8911072,0.912481,16.2538131,12.2231536,51.2330832,12.5077402,30.9504175,64.5115082,33.9152584,41.6110526,18.4000962,4.537174,11.9066956,8.9595563,34.0392073,13.3223684,0.923018,0.9606328,16.446858,12.4854643,52.7270882,12.3433379,30.5571655,64.7973197,33.9975548,41.4955741,18.3830611,4.4561396,12.6409977,9.814529,33.6122684,14.3518519,0.9981503,1.0249177,16.4726986,12.3750124,53.2324782,12.2991627,30.080189,64.6906579,34.841556,41.2458358,18.7258886,4.5664265,12.5172864,10.396628,33.7409373,14.6969697,0.9772143,1.025331,17.0493289,13.193895,53.5712107,12.6433292,30.2913418,65.6515632,35.6341406,41.4174965,18.4989817,4.3897693,12.8646133,10.8214683,33.8584789,13.9254221,1.0648986,1.1406124,17.4706873,13.469593,53.9028153,12.2531473,30.6873099,66.3382676,35.6206945,40.6869949,18.4703007,4.3173948,13.3364309,11.6137819,34.4160612,14.3529937 +2516,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.593813,0.593813,8.8318513,5.6790622,43.3910473,22.1331689,31.2576065,64.8478702,32.5557809,44.3610548,15.7200811,6.3083164,10.2443609,7.3501577,35.3889943,4.0322581,0.5590306,0.5590306,8.5674157,5.5176565,43.2460954,22.6713172,30.7521229,65.8511929,32.5313385,44.298423,16.5183987,6.0857258,9.7188995,6.7209162,35.2923448,5.3846154,0.5308147,0.4934873,8.3802251,5.5667203,43.3305192,22.5256674,30.2498992,64.9536477,31.5397017,43.7525191,16.2636034,5.2599758,9.4951234,6.7958357,35.7101617,5.4404145,0.7298258,0.7119559,9.0195327,5.9555726,43.6867665,22.9330709,30.7915058,65.3088803,30.6370656,43.6872587,16.6216216,5.03861,9.6590909,6.908793,35.1902174,5.0970874,0.6604565,0.6431554,8.9140104,5.948851,44.372549,22.190367,31.3648294,65.8230221,29.9025122,43.7007874,17.0041245,5.0431196,9.8492723,7.435628,36.1474124,6.5533981 +2517,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.923018,0.9606328,16.446858,12.4854643,52.7270882,12.3433379,30.5571655,64.7973197,33.9975548,41.4955741,18.3830611,4.4561396,12.6409977,9.814529,33.6122684,14.3518519,0.9981503,1.0249177,16.4726986,12.3750124,53.2324782,12.2991627,30.080189,64.6906579,34.841556,41.2458358,18.7258886,4.5664265,12.5172864,10.396628,33.7409373,14.6969697,0.9772143,1.025331,17.0493289,13.193895,53.5712107,12.6433292,30.2913418,65.6515632,35.6341406,41.4174965,18.4989817,4.3897693,12.8646133,10.8214683,33.8584789,13.9254221,1.0648986,1.1406124,17.4706873,13.469593,53.9028153,12.2531473,30.6873099,66.3382676,35.6206945,40.6869949,18.4703007,4.3173948,13.3364309,11.6137819,34.4160612,14.3529937,1.1002983,1.1947341,17.8071478,13.8149183,54.5770151,12.3999589,30.8094222,66.4254012,35.8088273,40.3636142,18.4063678,4.2811023,13.1290512,11.3855476,34.2295184,13.7588059 +2518,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5618189,1.6009566,24.2150614,19.010358,45.7986336,15.8370069,41.1465001,67.5090001,39.1909718,50.1820188,30.0122189,4.0601172,11.5656475,9.4337033,34.6464079,22.1784455,1.4326034,1.4709855,23.5585273,18.8486131,46.7169131,15.5408555,40.9924894,67.6564562,39.5681103,50.8353029,30.5702588,4.144263,11.7142091,9.8067824,34.6646404,23.9542771,1.4315768,1.4503626,23.416286,19.0668969,46.1209916,15.0344144,41.3936224,67.2362167,39.1973578,51.2631056,30.1543147,4.4554841,12.0960499,10.5063122,34.834503,22.9214558,1.7951625,1.8633956,22.9846725,18.3894857,45.4954636,15.5469292,41.1436242,66.7214185,39.4104729,51.6428009,31.2946466,4.1891698,12.1240827,10.5135751,34.9158904,23.7005593,1.6378724,1.6315152,23.1926731,18.3824584,45.6506034,15.2512871,41.4305301,65.9903436,38.6859266,50.9381473,31.1939188,3.9898232,12.8037565,10.477903,35.022618,23.245453 +2519,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9836092,1.0267511,15.024151,11.1415577,44.1204402,10.2659679,28.7674404,68.1441866,40.1069779,41.9953499,20.8139568,4.8232557,10.2338109,8.1905612,36.7176488,13.5087688,1.0350195,1.0785399,15.7389214,11.7003224,44.3920913,10.2971082,29.1260812,67.7464021,39.5630401,41.8505935,20.7443487,4.9280671,9.8484833,8.0690956,36.9900957,14.4039719,1.1472795,1.2039612,16.4975091,12.4376994,44.6708716,10.420778,28.4904269,67.5904938,39.3949005,41.4360898,20.4254762,5.0122463,10.0454702,8.1265876,37.1494142,14.1440486,1.1645911,1.2259466,17.0247391,12.8301706,44.8556699,10.4408241,28.8665031,67.448014,39.5794649,41.3897184,20.5764972,4.9990709,10.1327194,8.1839941,37.1244607,14.4859798,1.2664749,1.296593,18.5383923,14.1492124,45.0040319,10.3345164,29.6481319,67.3197229,39.3614243,41.6116451,20.3605571,4.8523017,10.0828518,8.0467491,37.1997576,15.4030614 +2520,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.9342685,0.9570535,12.7770831,8.8478534,45.4793716,11.681092,31.162233,66.3372127,41.1413581,43.9938346,24.1405899,4.507782,10.3231269,8.7772023,40.9618321,7.9091833,0.9889426,0.9934449,13.1591631,9.1296089,45.6549551,11.6704386,31.2287806,66.0499191,40.7768142,43.9970936,23.6863907,4.4679962,10.2830006,8.7565286,40.3504869,8.4189918,0.9580962,0.9773962,13.32997,9.362669,45.9522677,11.6578777,31.1045843,66.0133483,40.9554006,43.7817921,23.4778595,4.5269151,10.1053757,8.5988182,40.0973656,9.3556259,1.0020319,1.0154868,13.8964381,9.7839884,45.9265148,11.6722741,31.0732873,65.6894178,40.7668974,43.5481792,23.3311577,4.5823559,10.2806257,8.7553034,39.9127757,9.3091198,0.947497,0.9707941,14.2737329,10.0742678,46.1080431,11.7697001,30.9425786,65.1655995,40.1633336,42.5733581,22.9536296,4.6103842,10.1978723,9.0856258,40.2308277,9.9004504 +2521,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7465911,1.7698904,25.1196861,20.3327703,54.7655917,15.9662595,39.2468459,64.6067437,36.7940959,46.6981325,22.0344071,3.5770006,13.5319424,11.8216118,34.8693522,17.1480021,1.7284565,1.7400791,25.3377664,20.4283242,54.4908804,15.9583464,39.5866055,64.8216664,36.9811699,46.3943274,22.3569258,3.6306565,13.2970056,10.7690722,34.3966343,17.5471698,1.6567518,1.6375682,24.9976182,19.9233889,54.0892221,15.9311757,40.843496,64.9322252,37.15849,46.5154234,23.0696125,3.6587477,13.4584239,11.1397609,34.6271972,17.0329546,1.6994976,1.6446769,24.9351749,20.0001214,54.563895,15.8537303,42.0608732,66.2145193,37.5649571,46.0942739,22.8030776,3.9597317,13.7953117,10.7296928,34.5889639,17.8571227,1.6874936,1.663398,25.0462995,19.9801529,55.3780065,15.8256356,42.0410658,66.4483735,36.8534316,45.4970579,23.0744311,3.8518973,13.1817202,10.7464351,34.9587338,18.3071437 +2522,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9179713,1.9417618,31.4209245,26.1779056,46.9023943,14.0961191,35.8897921,64.6686582,31.7360856,43.6956663,22.262212,3.5135872,13.7944995,9.2834409,43.2589667,20.2770883,2.0703164,2.1467027,32.496331,27.3972619,49.1931232,13.9015758,35.8084339,64.0355313,31.4504201,43.8960744,21.223592,3.2394677,13.4794298,8.8072332,43.894698,22.3192187,2.1603275,2.1824279,33.194136,28.0341031,50.3410083,14.3460678,35.6196842,62.9498754,30.3558542,42.8703528,20.6857382,3.4451626,13.8900062,9.8247629,44.4145451,22.2906377,2.3641026,2.3860472,34.7425138,29.4987239,52.4881714,13.9108298,36.265094,62.0004507,29.143966,42.4191839,20.1179644,3.3847462,14.2162382,9.7469231,44.8390758,23.3634244,2.3333136,2.3549898,36.8658077,31.8238469,53.821329,14.2605159,37.0840858,61.324897,28.7487271,41.8967906,19.6350248,3.2942778,14.4076489,10.1558246,44.1258068,23.4716093 +2523,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9365836,0.986046,16.1394615,12.4417311,40.5413712,18.709568,32.3825892,66.7030551,37.4059943,48.2049732,20.3652299,4.4941218,13.9012069,9.9776984,27.7907738,10.0293907,0.7577073,0.7872262,15.715352,12.2263791,40.6900104,18.5317616,32.4148336,66.4470814,37.5393476,48.2837038,20.4000069,4.7106603,13.8462398,9.8785849,27.2342464,9.8055706,0.8439673,0.8439673,15.9184602,12.7051381,41.718435,18.0288264,32.8609095,65.6621924,36.8266879,48.4041781,20.4748651,4.5758102,13.9049241,10.0531849,28.0441647,11.1268558,0.9651216,0.9651216,15.4921364,12.3095061,42.757786,17.9893675,32.672091,65.573287,35.8306131,48.3019141,20.6477835,4.8397719,14.1046411,10.6758981,27.7257432,10.9926584,0.9107055,0.9237553,15.5850469,12.5159151,43.8924257,18.2001253,32.8037389,65.3837314,35.2002005,48.0742972,20.3196459,4.8708012,13.5294187,10.5009567,26.9272467,11.0258648 +2524,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2958423,2.3095237,37.8180178,32.9052312,62.4309599,14.791019,34.7568339,64.3513601,29.5307735,40.0839004,18.085647,1.7970808,17.7704093,12.4224159,39.2949772,25.9291379,2.2881062,2.2959292,37.3275916,32.6969667,62.4998138,14.7395834,34.6505228,64.4913545,30.0301417,40.5072677,17.9121883,1.7546133,17.9404574,12.8534183,38.2473037,26.0138727,2.3224622,2.3028945,37.5397731,32.570313,63.1557184,14.7308548,33.9404275,63.9754336,30.2735717,40.5446583,17.641929,1.8207375,18.1657154,13.3315454,38.5496583,27.2156148,2.2690616,2.2494666,37.9272626,32.9849654,64.4635844,14.8743784,33.1111345,63.4131619,29.6095199,39.8109298,17.367823,1.8514314,17.6575446,12.9056,38.4084034,27.3288053,2.2646236,2.2905893,38.1902724,33.2560884,64.7857415,14.3440291,33.7796796,63.2914915,28.9234755,39.6619825,16.9837458,1.8398082,18.6929283,13.4839433,38.7753836,26.9290099 +2525,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.029597,2.0352054,30.7974684,25.79885,71.3142677,13.6107293,33.5671482,64.3069144,26.8228667,39.2171788,16.3704991,1.4714647,16.4971554,13.4062772,40.745072,25.7007872,1.847353,1.8429965,31.2709952,26.2789691,71.344087,14.0998621,33.1756198,63.6720157,26.9903219,39.0038079,16.3243622,1.773484,16.845778,13.7565527,42.2709697,23.8473202,1.9056347,1.9012565,30.7366391,25.4174092,71.3196634,14.9857231,33.8702221,63.9136188,27.446974,39.5358138,16.9745174,1.584272,17.0929805,13.0599931,41.9252976,21.865222,2.0464636,2.0421003,30.7323026,25.4085853,71.2173544,15.4307746,33.8424876,64.1234911,27.734481,40.706861,17.4527248,1.8829479,17.4372157,12.2683386,42.016642,21.3858629,1.9285225,1.90017,29.4429987,24.1189237,69.9584491,15.0203058,35.2002646,64.9394549,28.7316722,40.8763022,17.8821645,2.0863152,17.2162973,12.2154717,42.5155858,21.73659 +2526,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.5143346,1.5939163,19.4741536,15.0346609,66.8971736,11.7422613,30.1843337,61.007371,29.4515378,37.5071259,16.5475983,2.8364529,16.8155672,13.4491091,40.8730937,10.2863604,1.4617016,1.5246013,20.1004041,15.6163388,68.6216498,11.2310662,31.1817153,60.9321802,29.6750971,37.1150031,16.5333567,3.331862,15.7329906,12.7576864,40.8886037,10.146697,1.4020597,1.4122732,20.4703293,15.9062166,70.9834977,11.5931858,31.2251491,60.8971288,29.8402714,37.2382299,16.3659332,3.1248089,15.7534674,12.4923283,40.7657017,10.3176241,1.4137558,1.4236764,20.737958,16.2898053,73.010245,11.3780422,31.9118466,60.749693,30.0626052,37.2162816,16.5817905,3.3213708,14.8357741,11.8558812,39.8963214,10.4143022,1.4071126,1.4012576,21.3599367,17.0558296,75.1516447,11.3988495,32.2276567,61.2031587,29.5952968,37.8839906,16.2721164,3.297237,14.4633451,11.6383378,39.2043519,10.1882025 +2527,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6887594,0.6861527,13.8762742,10.2600761,47.4871222,17.6154187,33.2134933,62.8912024,30.8728625,41.581702,18.0992868,4.5390078,11.0666469,8.4282268,32.385743,7.6343226,0.6657058,0.6631333,13.9276805,10.545975,49.0084007,17.6874729,32.4854392,63.1933274,30.6571564,41.2033021,18.1615731,4.3360372,10.6940796,8.3612196,31.639131,7.9752482,0.6334656,0.6507214,13.8185091,10.4170357,49.8723833,17.3804841,32.5363314,64.1062804,30.6290008,41.3091013,18.1111559,4.2523394,10.6512608,8.4360563,31.7871445,8.3135354,0.7268376,0.7473512,14.3184371,10.7485981,50.7252365,17.5797432,32.2893335,65.4332362,31.4711227,41.6770174,18.4497354,4.1766208,11.5337649,9.1309533,31.914514,7.941252,0.6833994,0.7044598,14.4821838,10.9785243,51.6266348,17.7894486,31.8315767,66.187818,31.7356005,41.6426284,18.2397514,4.2163923,11.6286451,9.5511255,31.7174929,8.310188 +2528,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7812206,0.8067357,12.0511742,8.3244607,22.6261893,16.6484704,35.6702739,66.2844187,38.6255352,49.2766134,22.7105072,3.9787635,11.7931029,10.535243,33.1263254,8.8509765,0.7831021,0.8135569,12.0284049,8.2709182,22.7491063,16.3907561,36.1068698,66.0551233,37.7816735,48.9418491,21.6885043,3.966203,11.4172534,10.3042844,32.7259285,9.2532882,0.8437412,0.8675702,12.4626843,8.2729338,23.1677899,16.5710275,36.0649697,65.2491012,36.989172,48.4404453,21.5523589,3.8772596,11.4618763,10.1284993,32.7354937,9.7597927,0.8710019,0.8999081,12.8258207,8.5258974,23.941136,16.6433638,35.8719403,65.1700037,36.7493807,48.7181369,21.4902764,3.73595,11.4534701,9.9018432,33.1166536,9.5833584,0.8402576,0.8831387,12.7094813,8.4983668,24.1844464,16.5062968,35.3260699,64.9421317,36.1730619,48.2001846,21.3791812,3.6490719,11.3143118,10.0985342,33.3497441,8.739255 +2529,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2881062,2.2959292,37.3275916,32.6969667,62.4998138,14.7395834,34.6505228,64.4913545,30.0301417,40.5072677,17.9121883,1.7546133,17.9404574,12.8534183,38.2473037,26.0138727,2.3224622,2.3028945,37.5397731,32.570313,63.1557184,14.7308548,33.9404275,63.9754336,30.2735717,40.5446583,17.641929,1.8207375,18.1657154,13.3315454,38.5496583,27.2156148,2.2690616,2.2494666,37.9272626,32.9849654,64.4635844,14.8743784,33.1111345,63.4131619,29.6095199,39.8109298,17.367823,1.8514314,17.6575446,12.9056,38.4084034,27.3288053,2.2646236,2.2905893,38.1902724,33.2560884,64.7857415,14.3440291,33.7796796,63.2914915,28.9234755,39.6619825,16.9837458,1.8398082,18.6929283,13.4839433,38.7753836,26.9290099,2.3670836,2.4242403,38.3279198,33.0454223,65.5009241,14.0578677,33.9639389,63.6556292,28.9524008,39.8523195,16.4998161,1.8917616,18.737514,13.5579373,39.9337591,25.9919165 +2530,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.847353,1.8429965,31.2709952,26.2789691,71.344087,14.0998621,33.1756198,63.6720157,26.9903219,39.0038079,16.3243622,1.773484,16.845778,13.7565527,42.2709697,23.8473202,1.9056347,1.9012565,30.7366391,25.4174092,71.3196634,14.9857231,33.8702221,63.9136188,27.446974,39.5358138,16.9745174,1.584272,17.0929805,13.0599931,41.9252976,21.865222,2.0464636,2.0421003,30.7323026,25.4085853,71.2173544,15.4307746,33.8424876,64.1234911,27.734481,40.706861,17.4527248,1.8829479,17.4372157,12.2683386,42.016642,21.3858629,1.9285225,1.90017,29.4429987,24.1189237,69.9584491,15.0203058,35.2002646,64.9394549,28.7316722,40.8763022,17.8821645,2.0863152,17.2162973,12.2154717,42.5155858,21.73659,1.777638,1.7493287,29.1423294,23.6827236,70.3073686,14.428784,35.3846925,65.4338144,27.8983897,40.0493872,17.6025628,2.3403001,17.4997566,11.9434062,44.594622,21.40869 +2531,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0703164,2.1467027,32.496331,27.3972619,49.1931232,13.9015758,35.8084339,64.0355313,31.4504201,43.8960744,21.223592,3.2394677,13.4794298,8.8072332,43.894698,22.3192187,2.1603275,2.1824279,33.194136,28.0341031,50.3410083,14.3460678,35.6196842,62.9498754,30.3558542,42.8703528,20.6857382,3.4451626,13.8900062,9.8247629,44.4145451,22.2906377,2.3641026,2.3860472,34.7425138,29.4987239,52.4881714,13.9108298,36.265094,62.0004507,29.143966,42.4191839,20.1179644,3.3847462,14.2162382,9.7469231,44.8390758,23.3634244,2.3333136,2.3549898,36.8658077,31.8238469,53.821329,14.2605159,37.0840858,61.324897,28.7487271,41.8967906,19.6350248,3.2942778,14.4076489,10.1558246,44.1258068,23.4716093,2.4251937,2.4464119,37.5761701,32.3970941,54.7891404,14.2148596,36.6638258,61.7536599,28.5176232,41.4091412,19.8466761,3.1433409,15.0273751,10.2564135,44.9543055,24.8958281 +2532,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5590306,0.5590306,8.5674157,5.5176565,43.2460954,22.6713172,30.7521229,65.8511929,32.5313385,44.298423,16.5183987,6.0857258,9.7188995,6.7209162,35.2923448,5.3846154,0.5308147,0.4934873,8.3802251,5.5667203,43.3305192,22.5256674,30.2498992,64.9536477,31.5397017,43.7525191,16.2636034,5.2599758,9.4951234,6.7958357,35.7101617,5.4404145,0.7298258,0.7119559,9.0195327,5.9555726,43.6867665,22.9330709,30.7915058,65.3088803,30.6370656,43.6872587,16.6216216,5.03861,9.6590909,6.908793,35.1902174,5.0970874,0.6604565,0.6431554,8.9140104,5.948851,44.372549,22.190367,31.3648294,65.8230221,29.9025122,43.7007874,17.0041245,5.0431196,9.8492723,7.435628,36.1474124,6.5533981,0.7197357,0.7018402,9.0160796,5.9915773,45.147594,22.3601261,29.8915149,65.381635,29.4653235,43.4134057,16.7183262,4.668733,10.5161999,7.6859046,36.3611264,6.4903846 +2533,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1603275,2.1824279,33.194136,28.0341031,50.3410083,14.3460678,35.6196842,62.9498754,30.3558542,42.8703528,20.6857382,3.4451626,13.8900062,9.8247629,44.4145451,22.2906377,2.3641026,2.3860472,34.7425138,29.4987239,52.4881714,13.9108298,36.265094,62.0004507,29.143966,42.4191839,20.1179644,3.3847462,14.2162382,9.7469231,44.8390758,23.3634244,2.3333136,2.3549898,36.8658077,31.8238469,53.821329,14.2605159,37.0840858,61.324897,28.7487271,41.8967906,19.6350248,3.2942778,14.4076489,10.1558246,44.1258068,23.4716093,2.4251937,2.4464119,37.5761701,32.3970941,54.7891404,14.2148596,36.6638258,61.7536599,28.5176232,41.4091412,19.8466761,3.1433409,15.0273751,10.2564135,44.9543055,24.8958281,2.5041393,2.5262977,37.8217492,32.804446,56.7337663,14.2123307,36.2081884,62.1740475,28.5624554,41.8452993,18.9391976,3.3264368,14.7015983,10.31629,44.4726544,24.5951364 +2534,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5746796,0.5777174,10.6411626,6.9790579,46.9758557,13.2210124,29.63981,62.5248507,29.8736996,40.1415086,16.974623,13.7820153,11.6895877,8.5747148,37.1197272,4.9472296,0.6313117,0.6378859,10.7300378,7.1552933,47.8411985,13.5396874,29.5311769,62.8839006,29.7754777,39.8732013,16.6530929,13.8727325,12.2745112,8.831482,37.126929,4.9251864,0.6298789,0.6467967,11.1816065,7.4097788,49.1489356,13.5594229,28.7905282,63.278517,29.9451829,39.6955941,16.2642855,13.908328,12.6041498,9.0224965,37.2525017,5.7159347,0.6930434,0.6983676,11.6415323,7.8944315,49.8313056,13.3423309,29.4687412,63.6063084,29.9211191,39.8851669,16.3612079,13.7049071,13.0247126,9.5429672,37.5275821,5.8011043,0.6555507,0.66084,11.5194382,7.9192528,50.658992,13.2766382,28.9233774,64.4299549,30.3773343,40.047315,16.2416311,13.8645297,12.9052814,9.569775,37.4177677,6.0622305 +2535,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1579484,1.2108248,20.9090615,16.729342,41.215522,19.1892944,39.3126515,66.0309866,38.1707424,47.6082515,22.6136324,3.8676938,13.2186212,11.045743,33.8941908,11.6621953,1.184062,1.231298,20.9687197,16.7934899,42.0536791,19.1225493,38.7155308,65.6793467,38.6093887,47.314184,22.3885268,3.5987214,13.9489583,11.9212431,34.2664885,11.8925831,1.1214199,1.1619819,21.7119923,17.7848155,42.3777012,18.3882957,38.823185,66.1419219,38.2527357,46.7462157,22.5966488,3.7713856,14.5654013,12.327876,34.6369847,13.2575691,1.1479008,1.1884238,22.3595362,18.5188914,43.1395073,18.6866628,39.0349536,65.9903138,38.0887895,47.6135258,22.9920074,3.5849384,14.307422,12.2231845,34.2128127,13.1009375,1.1946921,1.224272,23.1095887,18.9869503,43.5927734,18.8273625,39.2217588,66.2793362,38.6460702,47.579962,23.0810344,3.3582041,14.8123809,11.8891744,33.1504959,11.2047979 +2536,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7577073,0.7872262,15.715352,12.2263791,40.6900104,18.5317616,32.4148336,66.4470814,37.5393476,48.2837038,20.4000069,4.7106603,13.8462398,9.8785849,27.2342464,9.8055706,0.8439673,0.8439673,15.9184602,12.7051381,41.718435,18.0288264,32.8609095,65.6621924,36.8266879,48.4041781,20.4748651,4.5758102,13.9049241,10.0531849,28.0441647,11.1268558,0.9651216,0.9651216,15.4921364,12.3095061,42.757786,17.9893675,32.672091,65.573287,35.8306131,48.3019141,20.6477835,4.8397719,14.1046411,10.6758981,27.7257432,10.9926584,0.9107055,0.9237553,15.5850469,12.5159151,43.8924257,18.2001253,32.8037389,65.3837314,35.2002005,48.0742972,20.3196459,4.8708012,13.5294187,10.5009567,26.9272467,11.0258648,0.9025059,0.909059,15.7503933,12.8588862,45.0454013,17.7865433,33.1036415,65.3323073,35.0838719,47.4688181,20.0874325,4.9468325,13.0316293,10.3717161,26.9445419,12.4984724 +2537,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.9889426,0.9934449,13.1591631,9.1296089,45.6549551,11.6704386,31.2287806,66.0499191,40.7768142,43.9970936,23.6863907,4.4679962,10.2830006,8.7565286,40.3504869,8.4189918,0.9580962,0.9773962,13.32997,9.362669,45.9522677,11.6578777,31.1045843,66.0133483,40.9554006,43.7817921,23.4778595,4.5269151,10.1053757,8.5988182,40.0973656,9.3556259,1.0020319,1.0154868,13.8964381,9.7839884,45.9265148,11.6722741,31.0732873,65.6894178,40.7668974,43.5481792,23.3311577,4.5823559,10.2806257,8.7553034,39.9127757,9.3091198,0.947497,0.9707941,14.2737329,10.0742678,46.1080431,11.7697001,30.9425786,65.1655995,40.1633336,42.5733581,22.9536296,4.6103842,10.1978723,9.0856258,40.2308277,9.9004504,0.9965754,1.0125267,14.7532138,10.5289745,46.2850307,11.8775826,30.7921457,64.9647224,39.897939,42.4346135,22.3971658,4.4931297,10.1195329,8.882586,40.012577,10.3932681 +2538,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3224622,2.3028945,37.5397731,32.570313,63.1557184,14.7308548,33.9404275,63.9754336,30.2735717,40.5446583,17.641929,1.8207375,18.1657154,13.3315454,38.5496583,27.2156148,2.2690616,2.2494666,37.9272626,32.9849654,64.4635844,14.8743784,33.1111345,63.4131619,29.6095199,39.8109298,17.367823,1.8514314,17.6575446,12.9056,38.4084034,27.3288053,2.2646236,2.2905893,38.1902724,33.2560884,64.7857415,14.3440291,33.7796796,63.2914915,28.9234755,39.6619825,16.9837458,1.8398082,18.6929283,13.4839433,38.7753836,26.9290099,2.3670836,2.4242403,38.3279198,33.0454223,65.5009241,14.0578677,33.9639389,63.6556292,28.9524008,39.8523195,16.4998161,1.8917616,18.737514,13.5579373,39.9337591,25.9919165,2.4856141,2.5637916,38.8383704,33.5230889,66.2587261,13.1650145,34.3525673,62.3533659,28.3876836,38.8697608,15.8348834,1.734478,18.4332739,13.4058088,40.9791597,26.1694444 +2539,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4434924,0.4563299,9.6431162,6.5631856,47.5873285,21.0429937,30.4457266,63.5633884,31.6199424,39.7675599,17.4095395,6.9853835,10.0735039,7.5168926,35.6830285,3.9358612,0.3942102,0.4028672,9.8416276,6.5987933,47.6258014,21.1113899,30.6622398,63.4785871,31.7208297,39.9433791,17.5898556,6.8808476,9.522982,7.6014112,35.3323823,3.868196,0.4563416,0.4789378,10.2361194,6.8889491,48.0273744,21.4210951,30.5030666,63.5980648,31.0393283,39.9004096,17.4795679,7.0863129,9.5936401,7.4704403,35.0535615,4.3661972,0.5417096,0.5828728,10.4741087,6.9183227,48.6605941,21.4248377,30.5147081,62.3859051,30.6414856,39.8199832,17.1019238,7.1374243,9.9630417,7.8615312,34.5672689,4.7813947,0.6026025,0.6409893,10.690791,7.0217613,49.6307081,21.069588,30.5272317,61.7881047,30.5769706,39.1817962,17.3712927,7.5478717,10.2624963,7.829585,35.1141362,5.4089474 +2540,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.932504,0.9736277,17.2126998,13.8734261,73.6544011,8.3161692,26.4384026,63.0914946,28.7072398,36.8279796,14.5961883,5.2890627,13.7069168,9.3563641,36.0103931,8.6652396,0.9506713,1.0003499,17.4397133,14.1255482,74.1756725,8.4610872,27.0749885,63.2466862,28.698646,37.233118,14.6303388,5.4328214,13.728934,9.5588521,36.4041896,9.0507999,0.9368441,0.9827643,17.5633616,14.2773336,74.6140095,8.4196277,27.5684526,63.434021,28.6024417,37.3336127,14.6310425,5.383548,13.7602921,9.6233333,36.4449122,9.0590835,0.9763652,1.0175991,17.7098592,14.4405076,75.1719018,8.3925269,27.9766888,63.508164,28.1419007,37.5452243,14.7975288,5.4430059,14.0305599,9.5904857,36.2782102,9.3176778,0.9400678,0.9628661,17.7274343,14.3988416,75.6506894,8.4069443,28.0319008,63.5043565,28.0368012,37.1041256,14.6391878,5.5454142,14.0746186,9.4779647,36.2992813,9.2795364 +2541,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3942102,0.4028672,9.8416276,6.5987933,47.6258014,21.1113899,30.6622398,63.4785871,31.7208297,39.9433791,17.5898556,6.8808476,9.522982,7.6014112,35.3323823,3.868196,0.4563416,0.4789378,10.2361194,6.8889491,48.0273744,21.4210951,30.5030666,63.5980648,31.0393283,39.9004096,17.4795679,7.0863129,9.5936401,7.4704403,35.0535615,4.3661972,0.5417096,0.5828728,10.4741087,6.9183227,48.6605941,21.4248377,30.5147081,62.3859051,30.6414856,39.8199832,17.1019238,7.1374243,9.9630417,7.8615312,34.5672689,4.7813947,0.6026025,0.6409893,10.690791,7.0217613,49.6307081,21.069588,30.5272317,61.7881047,30.5769706,39.1817962,17.3712927,7.5478717,10.2624963,7.829585,35.1141362,5.4089474,0.6598208,0.7059125,10.8029367,6.9022262,50.3168829,20.8075302,30.1922098,61.6450265,30.1672497,39.2036982,17.1367883,7.6510211,10.2784109,7.7796078,34.8312811,5.8423689 +2542,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3371767,0.3363886,9.2877609,5.5655005,49.1269195,22.7997721,30.594153,61.4215684,29.0906538,41.6217531,17.1321592,6.6774288,10.2025305,6.6544211,31.6381009,4.8837209,0.3383378,0.3375836,9.8251045,5.8127602,49.3378808,21.6277457,30.7388234,60.6701,29.1924343,41.3573821,17.164947,6.5120308,10.3321931,6.5131282,32.4742313,5.5555556,0.3391277,0.358721,9.6160233,5.9086428,49.5506531,21.940147,31.3845589,60.8313923,28.8671709,40.7585191,17.0420699,6.4756578,10.6507499,6.5320699,32.1512519,6.7099567,0.3474496,0.3467138,9.7278416,6.3004187,49.6860008,22.6809902,31.5992755,61.3082709,29.8260952,40.8331474,17.4808087,6.6744932,10.6285949,6.7298623,32.249644,6.8075117,0.4622796,0.4535092,10.2165773,6.9682333,51.0246649,23.0564883,31.6789394,61.1809163,28.7531065,40.6653696,17.0150202,6.4611836,10.8980603,7.0447033,32.9835223,6.4903877 +2543,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5308147,0.4934873,8.3802251,5.5667203,43.3305192,22.5256674,30.2498992,64.9536477,31.5397017,43.7525191,16.2636034,5.2599758,9.4951234,6.7958357,35.7101617,5.4404145,0.7298258,0.7119559,9.0195327,5.9555726,43.6867665,22.9330709,30.7915058,65.3088803,30.6370656,43.6872587,16.6216216,5.03861,9.6590909,6.908793,35.1902174,5.0970874,0.6604565,0.6431554,8.9140104,5.948851,44.372549,22.190367,31.3648294,65.8230221,29.9025122,43.7007874,17.0041245,5.0431196,9.8492723,7.435628,36.1474124,6.5533981,0.7197357,0.7018402,9.0160796,5.9915773,45.147594,22.3601261,29.8915149,65.381635,29.4653235,43.4134057,16.7183262,4.668733,10.5161999,7.6859046,36.3611264,6.4903846,0.8435966,0.8250092,9.3362655,6.177529,44.4280908,22.602459,30.0402414,65.8551308,29.8390342,42.6760563,17.0422535,4.4064386,10.7541899,7.9199549,35.7862339,8.0097087 +2544,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7298258,0.7119559,9.0195327,5.9555726,43.6867665,22.9330709,30.7915058,65.3088803,30.6370656,43.6872587,16.6216216,5.03861,9.6590909,6.908793,35.1902174,5.0970874,0.6604565,0.6431554,8.9140104,5.948851,44.372549,22.190367,31.3648294,65.8230221,29.9025122,43.7007874,17.0041245,5.0431196,9.8492723,7.435628,36.1474124,6.5533981,0.7197357,0.7018402,9.0160796,5.9915773,45.147594,22.3601261,29.8915149,65.381635,29.4653235,43.4134057,16.7183262,4.668733,10.5161999,7.6859046,36.3611264,6.4903846,0.8435966,0.8250092,9.3362655,6.177529,44.4280908,22.602459,30.0402414,65.8551308,29.8390342,42.6760563,17.0422535,4.4064386,10.7541899,7.9199549,35.7862339,8.0097087,0.7484308,0.7609012,10.2507076,6.9753336,45.3676158,22.3902237,30.5150041,65.7137064,29.5823195,42.5587997,16.7680454,4.3187348,10.9036797,8.1693989,35.7954545,7.3232323 +2545,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6780107,1.6040982,30.7157254,26.5266903,65.6163938,13.0242047,32.2563556,64.4944753,28.9652887,38.8834924,17.2389859,2.5104869,16.7678223,13.4759264,38.7741502,17.164133,1.784678,1.7109277,29.3790066,25.2911346,64.5462042,13.4456402,32.8197224,64.9427286,30.0340103,39.8266979,17.7502686,2.5960443,16.7542231,13.1371288,39.726895,15.4411401,1.7696561,1.6644804,28.859638,24.5565542,64.4266799,13.5600625,32.5339366,64.4560868,29.948443,39.9942909,17.8673549,2.5221887,16.1007157,12.3376244,39.023173,16.7177811,1.8002537,1.7036724,28.7552185,24.4053355,64.8534533,14.2823476,31.782079,63.7599439,29.4249325,39.6684703,18.3664985,2.3359854,17.0329061,13.336153,40.5135783,15.3225783,1.74326,1.6953216,29.0941213,24.1993413,64.1507988,14.2338555,32.4508451,63.1624135,30.1713196,40.1063044,18.8597843,2.2149981,16.7729329,12.8419913,39.5096498,14.8692894 +2546,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.727103,0.7628817,11.9260447,8.5758121,35.9015168,11.1872327,30.5064729,65.6775436,34.1593916,45.9328645,19.0181845,3.2387255,11.0161297,8.9954128,29.8743686,8.0219727,0.7682719,0.809046,11.6316173,8.5384506,36.4476193,11.1030989,30.5053505,66.4012017,34.5200962,46.1959402,18.9350558,3.3105065,11.1930184,9.2404987,29.4724885,8.6999965,0.7635369,0.8036341,11.4746415,8.5759217,37.1416234,11.2127015,30.5673255,66.5047152,34.661123,47.0851823,19.2705827,3.2063637,11.4536425,9.5956495,29.7603303,9.772296,0.7372494,0.7607564,11.4647278,8.5970048,37.8440038,11.0535795,30.4382471,66.5803384,34.8849496,47.4545905,19.6879243,3.0255074,11.6751454,9.4037415,29.4733102,9.3466459,0.7289335,0.7425419,12.3111383,9.3978207,38.6374531,10.8734938,30.5636398,66.5050773,34.991661,47.0060906,19.7319545,2.9752015,11.7906865,9.7235464,29.6057669,10.0700543 +2547,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.184062,1.231298,20.9687197,16.7934899,42.0536791,19.1225493,38.7155308,65.6793467,38.6093887,47.314184,22.3885268,3.5987214,13.9489583,11.9212431,34.2664885,11.8925831,1.1214199,1.1619819,21.7119923,17.7848155,42.3777012,18.3882957,38.823185,66.1419219,38.2527357,46.7462157,22.5966488,3.7713856,14.5654013,12.327876,34.6369847,13.2575691,1.1479008,1.1884238,22.3595362,18.5188914,43.1395073,18.6866628,39.0349536,65.9903138,38.0887895,47.6135258,22.9920074,3.5849384,14.307422,12.2231845,34.2128127,13.1009375,1.1946921,1.224272,23.1095887,18.9869503,43.5927734,18.8273625,39.2217588,66.2793362,38.6460702,47.579962,23.0810344,3.3582041,14.8123809,11.8891744,33.1504959,11.2047979,1.1451215,1.1474145,23.4826485,19.4570592,43.9675317,18.467811,39.679352,66.3304489,38.1503547,47.2605603,22.8817244,3.4295998,14.820469,11.0551547,33.4581321,10.7888424 +2548,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5462209,0.5323246,8.3966036,5.4490534,48.7878269,13.7122037,25.0254877,70.1150172,32.0111143,46.2999926,15.9758185,4.7828791,12.2758356,11.6523015,31.5643629,4.9241566,0.5155956,0.5294513,8.338397,5.2572231,47.1393897,13.5759389,25.4305394,69.5730096,31.9114468,45.5059639,16.024889,4.5248903,11.4901309,10.6191489,30.6387317,4.1352637,0.5580181,0.5766977,7.7737745,4.929224,44.7186668,13.4104,24.9668289,68.6593522,31.6031341,44.7961794,15.0919602,4.7774208,12.1566005,11.4112822,31.0776383,4.2306879,0.5896881,0.6080248,8.1263994,5.1151824,43.4613257,13.1278953,24.663381,68.1386945,31.6481714,44.7155834,15.2060325,4.8070348,12.2455969,11.5324401,31.6180643,4.7100937,0.4565768,0.4747797,8.056648,5.0185977,41.8800103,12.7887074,25.2897984,68.5224436,31.8123076,44.8965239,15.134718,4.9407327,12.1036285,11.7079644,31.5360851,4.7444736 +2549,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6190379,1.6190379,19.6125041,15.5694009,84.6616109,13.1116274,33.9001488,61.7958321,36.6671279,40.6522136,19.6993561,5.5595772,14.1493355,13.0298988,38.2570145,12.7732872,1.7845498,1.7845498,19.5546477,15.6367182,85.4743046,13.3274519,32.7570053,63.0797052,36.7294007,39.46241,19.1614574,5.6933761,12.5008885,11.6146203,37.9281524,13.3539647,1.4223981,1.4846702,18.7595774,15.0805165,85.3984554,12.5256455,32.3495077,64.3312504,36.9604226,39.8741724,19.2760281,6.0642563,13.3116131,11.586066,37.8573785,13.4310274,1.2966052,1.3584922,19.5119611,15.3894062,85.2256079,12.6416686,32.2859609,63.6659083,36.5405492,38.901996,18.9951603,5.702315,13.7064424,11.6723025,37.5175744,14.4989546,1.1536573,1.215014,19.4899138,15.5318366,84.6424823,12.7779655,32.9593179,64.6174275,36.2558787,38.2045859,18.9190312,5.1417607,13.5522088,11.3125897,35.9182102,12.2040009 +2550,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9056347,1.9012565,30.7366391,25.4174092,71.3196634,14.9857231,33.8702221,63.9136188,27.446974,39.5358138,16.9745174,1.584272,17.0929805,13.0599931,41.9252976,21.865222,2.0464636,2.0421003,30.7323026,25.4085853,71.2173544,15.4307746,33.8424876,64.1234911,27.734481,40.706861,17.4527248,1.8829479,17.4372157,12.2683386,42.016642,21.3858629,1.9285225,1.90017,29.4429987,24.1189237,69.9584491,15.0203058,35.2002646,64.9394549,28.7316722,40.8763022,17.8821645,2.0863152,17.2162973,12.2154717,42.5155858,21.73659,1.777638,1.7493287,29.1423294,23.6827236,70.3073686,14.428784,35.3846925,65.4338144,27.8983897,40.0493872,17.6025628,2.3403001,17.4997566,11.9434062,44.594622,21.40869,1.7733777,1.7618099,29.0600207,23.9451667,69.6522726,14.4834148,34.8917287,66.7539722,28.5611454,40.0830651,18.2550892,2.5030911,16.9418471,10.7476616,43.0258885,20.9208599 +2551,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.9580962,0.9773962,13.32997,9.362669,45.9522677,11.6578777,31.1045843,66.0133483,40.9554006,43.7817921,23.4778595,4.5269151,10.1053757,8.5988182,40.0973656,9.3556259,1.0020319,1.0154868,13.8964381,9.7839884,45.9265148,11.6722741,31.0732873,65.6894178,40.7668974,43.5481792,23.3311577,4.5823559,10.2806257,8.7553034,39.9127757,9.3091198,0.947497,0.9707941,14.2737329,10.0742678,46.1080431,11.7697001,30.9425786,65.1655995,40.1633336,42.5733581,22.9536296,4.6103842,10.1978723,9.0856258,40.2308277,9.9004504,0.9965754,1.0125267,14.7532138,10.5289745,46.2850307,11.8775826,30.7921457,64.9647224,39.897939,42.4346135,22.3971658,4.4931297,10.1195329,8.882586,40.012577,10.3932681,0.9736286,0.9939667,15.0005459,10.9592699,46.3564836,11.851655,31.0040155,64.4639888,39.7233896,42.314371,22.4694162,4.4799618,10.1177141,8.8813684,40.0471092,10.4820735 +2552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4326034,1.4709855,23.5585273,18.8486131,46.7169131,15.5408555,40.9924894,67.6564562,39.5681103,50.8353029,30.5702588,4.144263,11.7142091,9.8067824,34.6646404,23.9542771,1.4315768,1.4503626,23.416286,19.0668969,46.1209916,15.0344144,41.3936224,67.2362167,39.1973578,51.2631056,30.1543147,4.4554841,12.0960499,10.5063122,34.834503,22.9214558,1.7951625,1.8633956,22.9846725,18.3894857,45.4954636,15.5469292,41.1436242,66.7214185,39.4104729,51.6428009,31.2946466,4.1891698,12.1240827,10.5135751,34.9158904,23.7005593,1.6378724,1.6315152,23.1926731,18.3824584,45.6506034,15.2512871,41.4305301,65.9903436,38.6859266,50.9381473,31.1939188,3.9898232,12.8037565,10.477903,35.022618,23.245453,1.6527549,1.6559724,23.1638525,18.1248704,46.3853773,15.700623,41.9494373,66.819473,39.0873082,50.4933944,31.1683007,4.5395452,12.8678336,10.119058,34.2553481,16.1621625 +2553,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3654145,1.4369518,26.7351174,22.843847,39.0123694,15.0076428,34.0411851,63.3560872,34.182849,45.327943,19.8354467,3.3357727,13.9462168,10.0553992,35.9915856,20.4871243,1.3173801,1.3857586,27.223223,23.3262211,39.6778012,14.9203228,34.5287781,62.9585958,32.9946989,44.9132752,18.9047422,3.1679193,13.6482835,9.795464,36.0287536,19.1057002,1.4499624,1.4848306,27.6668199,23.5799977,39.9640052,15.0675769,34.9013253,63.09455,33.2158414,44.8974209,18.8803705,3.2060516,13.5478582,9.7932216,36.173515,19.2408206,1.5389159,1.5725505,27.1279809,23.0432476,41.1699074,14.8566101,34.9405145,62.928795,32.7825577,44.6118568,18.7756681,3.1903909,13.7201263,10.1813226,37.1358693,19.3409668,1.6840654,1.7157536,27.5543068,23.5155297,41.7453256,15.2401672,34.8977575,61.7179848,32.5833091,44.8045539,18.5637618,3.1192453,14.1355617,10.1405631,36.3786596,20.7352253 +2554,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8439673,0.8439673,15.9184602,12.7051381,41.718435,18.0288264,32.8609095,65.6621924,36.8266879,48.4041781,20.4748651,4.5758102,13.9049241,10.0531849,28.0441647,11.1268558,0.9651216,0.9651216,15.4921364,12.3095061,42.757786,17.9893675,32.672091,65.573287,35.8306131,48.3019141,20.6477835,4.8397719,14.1046411,10.6758981,27.7257432,10.9926584,0.9107055,0.9237553,15.5850469,12.5159151,43.8924257,18.2001253,32.8037389,65.3837314,35.2002005,48.0742972,20.3196459,4.8708012,13.5294187,10.5009567,26.9272467,11.0258648,0.9025059,0.909059,15.7503933,12.8588862,45.0454013,17.7865433,33.1036415,65.3323073,35.0838719,47.4688181,20.0874325,4.9468325,13.0316293,10.3717161,26.9445419,12.4984724,0.8035985,0.8101081,15.7114085,12.5774736,44.8757888,17.4051727,33.2144081,64.6970545,34.7409882,47.0965894,20.3535168,4.780815,12.7551489,10.6308586,27.1865073,12.498548 +2555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.0591245,2.1001416,35.5158961,30.8063451,56.20733,11.2424207,39.091192,63.9676141,34.8903926,43.4000584,21.3253812,3.017907,18.2232722,12.653362,40.839216,19.8422682,2.2075038,2.2366109,36.0056791,31.0311256,56.5651879,10.6719523,39.1890868,63.5549266,34.6816171,43.4066109,20.6505449,2.8730106,18.2875364,13.4225146,40.2461474,20.2735719,2.2290376,2.2608529,35.9271186,30.9634242,57.4792336,10.1302024,38.5248336,63.3369688,34.706437,43.23985,20.2027975,2.8092457,17.9706927,14.1426558,40.511076,19.7345813,2.205053,2.2416714,35.4679876,30.2801616,57.232213,10.0786523,38.9271081,62.3503555,34.7487364,43.389726,19.9697048,2.4586994,18.0851298,14.028134,39.2228411,18.6738216,2.1056372,2.1097168,35.5411837,30.2030806,57.016586,9.9419737,38.8099048,62.1723746,34.368253,43.5326829,19.6392684,2.5159997,18.5156894,14.2964424,39.3236544,18.9245635 +2556,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9506713,1.0003499,17.4397133,14.1255482,74.1756725,8.4610872,27.0749885,63.2466862,28.698646,37.233118,14.6303388,5.4328214,13.728934,9.5588521,36.4041896,9.0507999,0.9368441,0.9827643,17.5633616,14.2773336,74.6140095,8.4196277,27.5684526,63.434021,28.6024417,37.3336127,14.6310425,5.383548,13.7602921,9.6233333,36.4449122,9.0590835,0.9763652,1.0175991,17.7098592,14.4405076,75.1719018,8.3925269,27.9766888,63.508164,28.1419007,37.5452243,14.7975288,5.4430059,14.0305599,9.5904857,36.2782102,9.3176778,0.9400678,0.9628661,17.7274343,14.3988416,75.6506894,8.4069443,28.0319008,63.5043565,28.0368012,37.1041256,14.6391878,5.5454142,14.0746186,9.4779647,36.2992813,9.2795364,0.9422958,0.9645676,18.1567494,14.7158142,76.2262776,8.1174687,28.0391001,63.5716463,27.948738,37.1036659,14.7042012,5.491194,14.3561876,9.8443005,37.063479,9.6648081 +2557,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9731446,1.9417153,35.1650661,29.9633514,51.5387628,19.1812117,38.0351919,64.8764643,34.1843042,46.1384306,20.7274666,3.5093983,14.5723659,12.3196374,34.0357576,28.1566596,2.0655007,2.0116889,34.1457297,29.089749,49.0765619,19.8635756,38.1798905,66.468056,35.4865064,47.2236038,20.6551187,3.7987772,13.1304366,12.09726,33.671219,27.1492831,1.9154936,1.8613906,34.6222649,29.4877612,50.0838704,19.362473,38.0281204,66.8546232,34.8893139,47.758139,20.5123299,3.9577753,12.8776152,11.6795354,33.7693369,24.2336476,1.8476081,1.7937986,34.6857621,29.6542716,48.8544584,18.8346157,38.9188626,67.6005749,35.2187329,48.4557533,20.9862683,3.7932318,12.190335,12.1377949,32.6579908,26.5127723,1.4458578,1.4458578,33.9489748,29.2383929,49.0854068,19.0102416,39.222007,68.1858207,36.1116527,49.3703606,22.3331154,4.0375439,10.7823699,12.0152097,31.8130417,24.7372916 +2558,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7682719,0.809046,11.6316173,8.5384506,36.4476193,11.1030989,30.5053505,66.4012017,34.5200962,46.1959402,18.9350558,3.3105065,11.1930184,9.2404987,29.4724885,8.6999965,0.7635369,0.8036341,11.4746415,8.5759217,37.1416234,11.2127015,30.5673255,66.5047152,34.661123,47.0851823,19.2705827,3.2063637,11.4536425,9.5956495,29.7603303,9.772296,0.7372494,0.7607564,11.4647278,8.5970048,37.8440038,11.0535795,30.4382471,66.5803384,34.8849496,47.4545905,19.6879243,3.0255074,11.6751454,9.4037415,29.4733102,9.3466459,0.7289335,0.7425419,12.3111383,9.3978207,38.6374531,10.8734938,30.5636398,66.5050773,34.991661,47.0060906,19.7319545,2.9752015,11.7906865,9.7235464,29.6057669,10.0700543,0.7446169,0.7579469,12.5181958,9.748464,39.0421697,10.84491,30.7385049,66.7383119,34.984448,47.0093969,19.3291458,2.97229,12.2410298,10.0442784,29.3471791,9.0983621 +2559,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8446798,0.8601692,13.6093726,9.7455101,44.5476326,19.1179907,33.7019632,61.0818786,32.7097552,44.1739107,19.8913347,6.6304458,10.7805336,8.2359605,34.2114489,8.6998437,0.8251938,0.858366,13.6054746,9.85649,45.0239106,19.6097436,33.5745903,61.7284547,32.8309657,44.6378415,19.9412359,6.620987,10.9050555,8.1211559,33.8007125,8.6995018,0.8970814,0.9330311,14.0448791,10.3782116,46.019557,19.3656857,33.2706471,62.1384991,33.0112878,44.3327731,19.8871729,6.5944767,11.1523859,8.3333346,33.7186112,8.6325054,0.9683807,0.9923242,14.1622976,10.6169235,46.8961337,19.5623591,32.7042755,62.9766486,33.1841807,44.0012972,19.9286625,6.2581081,11.0786939,8.1785462,33.4690456,8.7209439,0.9617202,0.9853162,14.2812279,10.6245305,47.5511012,19.2922515,32.617337,64.4075376,33.5278357,44.1972358,19.7294171,6.0720704,11.1923872,8.8063629,32.8600181,8.7732919 +2560,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1214199,1.1619819,21.7119923,17.7848155,42.3777012,18.3882957,38.823185,66.1419219,38.2527357,46.7462157,22.5966488,3.7713856,14.5654013,12.327876,34.6369847,13.2575691,1.1479008,1.1884238,22.3595362,18.5188914,43.1395073,18.6866628,39.0349536,65.9903138,38.0887895,47.6135258,22.9920074,3.5849384,14.307422,12.2231845,34.2128127,13.1009375,1.1946921,1.224272,23.1095887,18.9869503,43.5927734,18.8273625,39.2217588,66.2793362,38.6460702,47.579962,23.0810344,3.3582041,14.8123809,11.8891744,33.1504959,11.2047979,1.1451215,1.1474145,23.4826485,19.4570592,43.9675317,18.467811,39.679352,66.3304489,38.1503547,47.2605603,22.8817244,3.4295998,14.820469,11.0551547,33.4581321,10.7888424,1.1714999,1.1639628,23.8169308,19.7073499,44.616522,18.3159003,39.5005407,66.1317889,37.5026554,47.0881944,22.6248719,3.3687567,14.9322051,11.2106522,33.6047345,11.047798 +2561,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9651216,0.9651216,15.4921364,12.3095061,42.757786,17.9893675,32.672091,65.573287,35.8306131,48.3019141,20.6477835,4.8397719,14.1046411,10.6758981,27.7257432,10.9926584,0.9107055,0.9237553,15.5850469,12.5159151,43.8924257,18.2001253,32.8037389,65.3837314,35.2002005,48.0742972,20.3196459,4.8708012,13.5294187,10.5009567,26.9272467,11.0258648,0.9025059,0.909059,15.7503933,12.8588862,45.0454013,17.7865433,33.1036415,65.3323073,35.0838719,47.4688181,20.0874325,4.9468325,13.0316293,10.3717161,26.9445419,12.4984724,0.8035985,0.8101081,15.7114085,12.5774736,44.8757888,17.4051727,33.2144081,64.6970545,34.7409882,47.0965894,20.3535168,4.780815,12.7551489,10.6308586,27.1865073,12.498548,0.9007856,0.907333,15.8281542,12.709333,46.0004882,16.7075836,34.216201,64.8179789,34.7586838,47.0950754,20.7465453,5.0335251,13.179764,11.1778689,27.6145346,10.9681918 +2562,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0464636,2.0421003,30.7323026,25.4085853,71.2173544,15.4307746,33.8424876,64.1234911,27.734481,40.706861,17.4527248,1.8829479,17.4372157,12.2683386,42.016642,21.3858629,1.9285225,1.90017,29.4429987,24.1189237,69.9584491,15.0203058,35.2002646,64.9394549,28.7316722,40.8763022,17.8821645,2.0863152,17.2162973,12.2154717,42.5155858,21.73659,1.777638,1.7493287,29.1423294,23.6827236,70.3073686,14.428784,35.3846925,65.4338144,27.8983897,40.0493872,17.6025628,2.3403001,17.4997566,11.9434062,44.594622,21.40869,1.7733777,1.7618099,29.0600207,23.9451667,69.6522726,14.4834148,34.8917287,66.7539722,28.5611454,40.0830651,18.2550892,2.5030911,16.9418471,10.7476616,43.0258885,20.9208599,1.7124921,1.700971,28.2762642,23.7375606,70.5987902,14.7060461,35.185466,67.4054343,29.1825133,40.1881335,18.1654858,2.6835542,15.5286845,9.8835413,42.1556617,18.7551332 +2563,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7831021,0.8135569,12.0284049,8.2709182,22.7491063,16.3907561,36.1068698,66.0551233,37.7816735,48.9418491,21.6885043,3.966203,11.4172534,10.3042844,32.7259285,9.2532882,0.8437412,0.8675702,12.4626843,8.2729338,23.1677899,16.5710275,36.0649697,65.2491012,36.989172,48.4404453,21.5523589,3.8772596,11.4618763,10.1284993,32.7354937,9.7597927,0.8710019,0.8999081,12.8258207,8.5258974,23.941136,16.6433638,35.8719403,65.1700037,36.7493807,48.7181369,21.4902764,3.73595,11.4534701,9.9018432,33.1166536,9.5833584,0.8402576,0.8831387,12.7094813,8.4983668,24.1844464,16.5062968,35.3260699,64.9421317,36.1730619,48.2001846,21.3791812,3.6490719,11.3143118,10.0985342,33.3497441,8.739255,0.856898,0.9106611,12.9527747,8.4499568,24.4588248,16.4018896,35.3921467,64.3580942,34.9955707,47.7452882,21.2911352,3.7676287,11.7465138,10.3396342,33.7981484,8.83233 +2564,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8399183,0.9793636,13.5836843,10.271563,25.7721512,20.0865722,35.6892012,67.4436019,39.6689466,48.1021325,23.0178101,3.3399013,13.5999896,12.4280874,38.851308,7.3664155,0.7710512,0.8916014,14.0028945,10.667877,25.8053701,19.7730312,35.0363114,68.0171815,39.6981313,47.9212291,23.0996257,3.3213102,13.4880718,11.7623372,38.8653025,7.5757998,0.8521769,0.9778609,14.0173715,10.5077663,25.7037808,20.0301314,34.1548049,67.5983978,39.2507985,46.9613943,22.2653651,3.1661542,13.8446867,11.499874,37.8844988,8.3851397,0.8411963,0.9588668,15.2621497,11.4220799,26.5760877,19.6859809,34.4383596,66.0718287,37.4915183,46.2095998,21.8507692,3.2341722,14.1675884,11.342638,36.8012187,9.6491587,0.8038456,0.88081,15.8394979,12.1943125,27.4156481,20.0301455,34.0327074,65.455358,36.7654949,44.5404546,21.0494737,2.9830023,14.3380817,11.7953844,36.30713,8.4795173 +2565,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7268726,0.7391338,10.1321059,6.8394235,38.056543,16.6015616,30.1121138,69.7425885,38.2291688,46.8029847,21.1438643,3.7471464,9.5842086,7.9308902,33.4100445,10.5172232,0.6802212,0.687499,9.9940609,6.8109857,38.3168963,16.3906602,30.2238929,69.8769621,37.6058739,46.5005996,21.571196,3.9834628,9.3341415,7.534794,33.3399694,9.5317534,0.6795521,0.6893425,10.0116886,6.7361968,38.3197606,16.2020551,30.6210223,69.8981579,37.7096467,46.9348922,21.2360247,3.9836304,9.5728262,8.0802163,33.4955154,10.8695696,0.6523959,0.654979,10.0636716,6.8409777,38.3540986,16.2983959,31.066158,70.2764121,38.2329508,46.8213166,21.0167879,3.9782871,9.3738143,7.6908274,33.224817,11.6242098,0.6497783,0.6567813,9.9447972,6.9185326,38.6359207,15.8386312,30.4750082,70.0506285,38.1837479,47.0994723,21.2867439,3.980928,9.1335343,8.0444563,33.9305699,10.5345746 +2566,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5155956,0.5294513,8.338397,5.2572231,47.1393897,13.5759389,25.4305394,69.5730096,31.9114468,45.5059639,16.024889,4.5248903,11.4901309,10.6191489,30.6387317,4.1352637,0.5580181,0.5766977,7.7737745,4.929224,44.7186668,13.4104,24.9668289,68.6593522,31.6031341,44.7961794,15.0919602,4.7774208,12.1566005,11.4112822,31.0776383,4.2306879,0.5896881,0.6080248,8.1263994,5.1151824,43.4613257,13.1278953,24.663381,68.1386945,31.6481714,44.7155834,15.2060325,4.8070348,12.2455969,11.5324401,31.6180643,4.7100937,0.4565768,0.4747797,8.056648,5.0185977,41.8800103,12.7887074,25.2897984,68.5224436,31.8123076,44.8965239,15.134718,4.9407327,12.1036285,11.7079644,31.5360851,4.7444736,0.4887805,0.5010901,8.3778773,5.2533106,40.7326742,12.5972906,25.5620506,68.3925383,32.6216993,44.3615432,15.0119652,4.6998593,11.8400404,11.9860979,31.1380662,4.0145546 +2567,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6604565,0.6431554,8.9140104,5.948851,44.372549,22.190367,31.3648294,65.8230221,29.9025122,43.7007874,17.0041245,5.0431196,9.8492723,7.435628,36.1474124,6.5533981,0.7197357,0.7018402,9.0160796,5.9915773,45.147594,22.3601261,29.8915149,65.381635,29.4653235,43.4134057,16.7183262,4.668733,10.5161999,7.6859046,36.3611264,6.4903846,0.8435966,0.8250092,9.3362655,6.177529,44.4280908,22.602459,30.0402414,65.8551308,29.8390342,42.6760563,17.0422535,4.4064386,10.7541899,7.9199549,35.7862339,8.0097087,0.7484308,0.7609012,10.2507076,6.9753336,45.3676158,22.3902237,30.5150041,65.7137064,29.5823195,42.5587997,16.7680454,4.3187348,10.9036797,8.1693989,35.7954545,7.3232323,0.746611,0.771184,11.3437002,7.6355662,46.8527067,22.8145425,30.6908946,65.1158147,29.293131,42.3921725,16.6333866,3.9337061,10.7124682,8.0976864,35.4961832,6.8527919 +2568,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3173801,1.3857586,27.223223,23.3262211,39.6778012,14.9203228,34.5287781,62.9585958,32.9946989,44.9132752,18.9047422,3.1679193,13.6482835,9.795464,36.0287536,19.1057002,1.4499624,1.4848306,27.6668199,23.5799977,39.9640052,15.0675769,34.9013253,63.09455,33.2158414,44.8974209,18.8803705,3.2060516,13.5478582,9.7932216,36.173515,19.2408206,1.5389159,1.5725505,27.1279809,23.0432476,41.1699074,14.8566101,34.9405145,62.928795,32.7825577,44.6118568,18.7756681,3.1903909,13.7201263,10.1813226,37.1358693,19.3409668,1.6840654,1.7157536,27.5543068,23.5155297,41.7453256,15.2401672,34.8977575,61.7179848,32.5833091,44.8045539,18.5637618,3.1192453,14.1355617,10.1405631,36.3786596,20.7352253,1.4826655,1.5107886,28.1537097,24.2541981,43.7350109,15.292235,35.7834773,62.1572705,32.0409682,44.7933052,18.6018826,2.9346266,14.2225723,10.3847342,36.015574,17.7468339 +2569,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4315768,1.4503626,23.416286,19.0668969,46.1209916,15.0344144,41.3936224,67.2362167,39.1973578,51.2631056,30.1543147,4.4554841,12.0960499,10.5063122,34.834503,22.9214558,1.7951625,1.8633956,22.9846725,18.3894857,45.4954636,15.5469292,41.1436242,66.7214185,39.4104729,51.6428009,31.2946466,4.1891698,12.1240827,10.5135751,34.9158904,23.7005593,1.6378724,1.6315152,23.1926731,18.3824584,45.6506034,15.2512871,41.4305301,65.9903436,38.6859266,50.9381473,31.1939188,3.9898232,12.8037565,10.477903,35.022618,23.245453,1.6527549,1.6559724,23.1638525,18.1248704,46.3853773,15.700623,41.9494373,66.819473,39.0873082,50.4933944,31.1683007,4.5395452,12.8678336,10.119058,34.2553481,16.1621625,1.6608824,1.7225805,23.9492049,19.334097,45.0005549,16.2779007,42.444164,66.9368708,39.7978614,51.17426,30.8589712,4.4241419,11.673904,9.0136045,32.3592572,15.5979303 +2570,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7630632,0.7878999,11.5786449,7.4900961,25.5478037,14.109359,30.157993,67.8929449,40.6269073,48.4614767,21.2286284,7.3727158,10.2371786,9.2863682,34.313715,8.0110122,0.8371178,0.8691402,11.5237097,7.6661307,25.1354075,14.6242462,30.1684233,67.9565108,40.2189796,47.2208628,20.9553801,7.7891837,10.6023731,9.497927,34.9761768,9.2178418,0.7096643,0.7636085,12.245038,8.2218997,25.4741104,14.3986518,30.516739,67.3256467,40.1290754,47.3202729,20.7755515,8.1565839,10.4438075,9.7464655,33.3217389,9.0205856,0.8014133,0.8411834,12.6790247,8.5349308,25.4167575,14.0459657,30.3868089,67.4060084,40.4460007,47.5609001,20.6656862,8.3364557,11.1080412,9.459818,32.734073,9.6353847,0.8312468,0.8500403,12.7484533,8.6966526,25.9147032,13.9861975,30.4994024,67.2391995,40.2341446,46.6625919,20.8730406,8.2206365,10.6715182,9.7012128,33.9189163,10.8938171 +2571,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3383378,0.3375836,9.8251045,5.8127602,49.3378808,21.6277457,30.7388234,60.6701,29.1924343,41.3573821,17.164947,6.5120308,10.3321931,6.5131282,32.4742313,5.5555556,0.3391277,0.358721,9.6160233,5.9086428,49.5506531,21.940147,31.3845589,60.8313923,28.8671709,40.7585191,17.0420699,6.4756578,10.6507499,6.5320699,32.1512519,6.7099567,0.3474496,0.3467138,9.7278416,6.3004187,49.6860008,22.6809902,31.5992755,61.3082709,29.8260952,40.8331474,17.4808087,6.6744932,10.6285949,6.7298623,32.249644,6.8075117,0.4622796,0.4535092,10.2165773,6.9682333,51.0246649,23.0564883,31.6789394,61.1809163,28.7531065,40.6653696,17.0150202,6.4611836,10.8980603,7.0447033,32.9835223,6.4903877,0.5156285,0.5069056,10.4979298,7.1553114,52.2081788,24.3603871,32.10206,60.1631673,28.4946849,40.704227,16.5626532,6.3649175,11.2064945,7.223559,33.9637047,6.8720412 +2572,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9981503,1.0249177,16.4726986,12.3750124,53.2324782,12.2991627,30.080189,64.6906579,34.841556,41.2458358,18.7258886,4.5664265,12.5172864,10.396628,33.7409373,14.6969697,0.9772143,1.025331,17.0493289,13.193895,53.5712107,12.6433292,30.2913418,65.6515632,35.6341406,41.4174965,18.4989817,4.3897693,12.8646133,10.8214683,33.8584789,13.9254221,1.0648986,1.1406124,17.4706873,13.469593,53.9028153,12.2531473,30.6873099,66.3382676,35.6206945,40.6869949,18.4703007,4.3173948,13.3364309,11.6137819,34.4160612,14.3529937,1.1002983,1.1947341,17.8071478,13.8149183,54.5770151,12.3999589,30.8094222,66.4254012,35.8088273,40.3636142,18.4063678,4.2811023,13.1290512,11.3855476,34.2295184,13.7588059,1.1531021,1.2429776,18.0163168,13.8938448,55.8837076,12.0791427,31.573215,66.2408594,35.1273576,40.3520241,18.0104311,4.3056942,13.4406817,11.1802983,34.4927061,13.3831076 +2573,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8437412,0.8675702,12.4626843,8.2729338,23.1677899,16.5710275,36.0649697,65.2491012,36.989172,48.4404453,21.5523589,3.8772596,11.4618763,10.1284993,32.7354937,9.7597927,0.8710019,0.8999081,12.8258207,8.5258974,23.941136,16.6433638,35.8719403,65.1700037,36.7493807,48.7181369,21.4902764,3.73595,11.4534701,9.9018432,33.1166536,9.5833584,0.8402576,0.8831387,12.7094813,8.4983668,24.1844464,16.5062968,35.3260699,64.9421317,36.1730619,48.2001846,21.3791812,3.6490719,11.3143118,10.0985342,33.3497441,8.739255,0.856898,0.9106611,12.9527747,8.4499568,24.4588248,16.4018896,35.3921467,64.3580942,34.9955707,47.7452882,21.2911352,3.7676287,11.7465138,10.3396342,33.7981484,8.83233,0.8435173,0.8950856,13.2728509,8.7462168,25.348308,16.1033495,35.3775566,64.3023519,34.7083004,47.6284189,21.409864,3.7028964,11.9449781,9.982809,33.7745201,8.5507147 +2574,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3391277,0.358721,9.6160233,5.9086428,49.5506531,21.940147,31.3845589,60.8313923,28.8671709,40.7585191,17.0420699,6.4756578,10.6507499,6.5320699,32.1512519,6.7099567,0.3474496,0.3467138,9.7278416,6.3004187,49.6860008,22.6809902,31.5992755,61.3082709,29.8260952,40.8331474,17.4808087,6.6744932,10.6285949,6.7298623,32.249644,6.8075117,0.4622796,0.4535092,10.2165773,6.9682333,51.0246649,23.0564883,31.6789394,61.1809163,28.7531065,40.6653696,17.0150202,6.4611836,10.8980603,7.0447033,32.9835223,6.4903877,0.5156285,0.5069056,10.4979298,7.1553114,52.2081788,24.3603871,32.10206,60.1631673,28.4946849,40.704227,16.5626532,6.3649175,11.2064945,7.223559,33.9637047,6.8720412,0.6870327,0.6977337,11.1637124,7.8689315,54.3159088,23.5727584,32.4197806,60.1083872,28.1948966,40.1362679,16.567779,6.1627289,11.3768422,7.1558665,34.6033684,9.3181861 +2575,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9368441,0.9827643,17.5633616,14.2773336,74.6140095,8.4196277,27.5684526,63.434021,28.6024417,37.3336127,14.6310425,5.383548,13.7602921,9.6233333,36.4449122,9.0590835,0.9763652,1.0175991,17.7098592,14.4405076,75.1719018,8.3925269,27.9766888,63.508164,28.1419007,37.5452243,14.7975288,5.4430059,14.0305599,9.5904857,36.2782102,9.3176778,0.9400678,0.9628661,17.7274343,14.3988416,75.6506894,8.4069443,28.0319008,63.5043565,28.0368012,37.1041256,14.6391878,5.5454142,14.0746186,9.4779647,36.2992813,9.2795364,0.9422958,0.9645676,18.1567494,14.7158142,76.2262776,8.1174687,28.0391001,63.5716463,27.948738,37.1036659,14.7042012,5.491194,14.3561876,9.8443005,37.063479,9.6648081,0.9783996,0.9898469,18.2803015,14.9361121,76.7667212,8.2630038,28.1649363,63.7852163,28.2592481,37.3104815,14.519936,5.7159467,14.4850662,9.9553866,37.0573558,9.4718153 +2576,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8251938,0.858366,13.6054746,9.85649,45.0239106,19.6097436,33.5745903,61.7284547,32.8309657,44.6378415,19.9412359,6.620987,10.9050555,8.1211559,33.8007125,8.6995018,0.8970814,0.9330311,14.0448791,10.3782116,46.019557,19.3656857,33.2706471,62.1384991,33.0112878,44.3327731,19.8871729,6.5944767,11.1523859,8.3333346,33.7186112,8.6325054,0.9683807,0.9923242,14.1622976,10.6169235,46.8961337,19.5623591,32.7042755,62.9766486,33.1841807,44.0012972,19.9286625,6.2581081,11.0786939,8.1785462,33.4690456,8.7209439,0.9617202,0.9853162,14.2812279,10.6245305,47.5511012,19.2922515,32.617337,64.4075376,33.5278357,44.1972358,19.7294171,6.0720704,11.1923872,8.8063629,32.8600181,8.7732919,0.9652315,0.9886599,14.2156875,10.6912401,48.9158655,19.6200922,32.2011395,64.9525585,34.2251823,43.6875467,19.614167,6.2555349,11.3919922,8.9125218,33.1902187,8.2481752 +2577,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6648024,1.6648024,34.9557522,30.3539823,65.9554731,8.1834532,37.9528986,66.2137681,29.2572464,45.3804348,20.7427536,7.8804348,15.2877698,11.3309353,37.1376812,18.1481481,2.0299517,2.0299517,34.5238095,30.6776557,65.9351145,8.4259259,36.4564007,65.3988868,29.9628942,45.1762523,20.5009276,7.8849722,16.3003663,11.9047619,36.2132353,18.8461538,2.4280576,2.4280576,33.5538752,29.2060491,66.2324649,8.07393,36.4257812,64.3554687,29.1992188,44.8242188,19.6289062,7.3242187,16.4092664,12.9343629,36.627907,16.9291339,3.1269398,3.1269398,32.5831703,28.2778865,67.7385892,7.3293173,35.5983773,63.1845842,28.7018256,43.9148073,18.7626775,7.8093306,16.9201521,15.0190114,38.740458,16.4,3.0616943,3.0616943,33.8178295,30.1356589,69.2386831,7.6693227,36.3179074,63.6820926,29.2756539,45.3722334,17.806841,7.7464789,13.8257576,13.8257576,39.7338403,17.0833333 +2578,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8371178,0.8691402,11.5237097,7.6661307,25.1354075,14.6242462,30.1684233,67.9565108,40.2189796,47.2208628,20.9553801,7.7891837,10.6023731,9.497927,34.9761768,9.2178418,0.7096643,0.7636085,12.245038,8.2218997,25.4741104,14.3986518,30.516739,67.3256467,40.1290754,47.3202729,20.7755515,8.1565839,10.4438075,9.7464655,33.3217389,9.0205856,0.8014133,0.8411834,12.6790247,8.5349308,25.4167575,14.0459657,30.3868089,67.4060084,40.4460007,47.5609001,20.6656862,8.3364557,11.1080412,9.459818,32.734073,9.6353847,0.8312468,0.8500403,12.7484533,8.6966526,25.9147032,13.9861975,30.4994024,67.2391995,40.2341446,46.6625919,20.8730406,8.2206365,10.6715182,9.7012128,33.9189163,10.8938171,0.8371631,0.8546972,13.1276545,8.8945835,26.3786772,13.8982216,31.6557215,65.8835424,38.5155794,46.149027,20.7545628,8.1044985,10.8412545,9.3031272,33.7463916,9.7499695 +2579,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6657058,0.6631333,13.9276805,10.545975,49.0084007,17.6874729,32.4854392,63.1933274,30.6571564,41.2033021,18.1615731,4.3360372,10.6940796,8.3612196,31.639131,7.9752482,0.6334656,0.6507214,13.8185091,10.4170357,49.8723833,17.3804841,32.5363314,64.1062804,30.6290008,41.3091013,18.1111559,4.2523394,10.6512608,8.4360563,31.7871445,8.3135354,0.7268376,0.7473512,14.3184371,10.7485981,50.7252365,17.5797432,32.2893335,65.4332362,31.4711227,41.6770174,18.4497354,4.1766208,11.5337649,9.1309533,31.914514,7.941252,0.6833994,0.7044598,14.4821838,10.9785243,51.6266348,17.7894486,31.8315767,66.187818,31.7356005,41.6426284,18.2397514,4.2163923,11.6286451,9.5511255,31.7174929,8.310188,0.6954471,0.6932804,14.3817833,11.0501831,52.0109718,18.0763021,32.1692913,66.6749472,32.1961339,41.7084787,18.5020431,4.1571083,11.7629849,9.5090792,31.7318026,8.1771241 +2580,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4499624,1.4848306,27.6668199,23.5799977,39.9640052,15.0675769,34.9013253,63.09455,33.2158414,44.8974209,18.8803705,3.2060516,13.5478582,9.7932216,36.173515,19.2408206,1.5389159,1.5725505,27.1279809,23.0432476,41.1699074,14.8566101,34.9405145,62.928795,32.7825577,44.6118568,18.7756681,3.1903909,13.7201263,10.1813226,37.1358693,19.3409668,1.6840654,1.7157536,27.5543068,23.5155297,41.7453256,15.2401672,34.8977575,61.7179848,32.5833091,44.8045539,18.5637618,3.1192453,14.1355617,10.1405631,36.3786596,20.7352253,1.4826655,1.5107886,28.1537097,24.2541981,43.7350109,15.292235,35.7834773,62.1572705,32.0409682,44.7933052,18.6018826,2.9346266,14.2225723,10.3847342,36.015574,17.7468339,1.4672963,1.5092001,29.5243414,25.2272618,45.7246478,15.3814424,35.9230555,61.5298603,31.4673408,44.8626607,18.5065627,2.9502669,13.9606784,10.524292,35.7905024,19.0961447 +2581,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6313117,0.6378859,10.7300378,7.1552933,47.8411985,13.5396874,29.5311769,62.8839006,29.7754777,39.8732013,16.6530929,13.8727325,12.2745112,8.831482,37.126929,4.9251864,0.6298789,0.6467967,11.1816065,7.4097788,49.1489356,13.5594229,28.7905282,63.278517,29.9451829,39.6955941,16.2642855,13.908328,12.6041498,9.0224965,37.2525017,5.7159347,0.6930434,0.6983676,11.6415323,7.8944315,49.8313056,13.3423309,29.4687412,63.6063084,29.9211191,39.8851669,16.3612079,13.7049071,13.0247126,9.5429672,37.5275821,5.8011043,0.6555507,0.66084,11.5194382,7.9192528,50.658992,13.2766382,28.9233774,64.4299549,30.3773343,40.047315,16.2416311,13.8645297,12.9052814,9.569775,37.4177677,6.0622305,0.6351283,0.6351283,11.5145691,8.0359141,51.2453702,13.4524315,28.578727,64.8711537,30.5880311,40.1464443,16.352592,14.048134,13.0610246,10.0059394,37.6062512,5.1810855 +2582,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7845498,1.7845498,19.5546477,15.6367182,85.4743046,13.3274519,32.7570053,63.0797052,36.7294007,39.46241,19.1614574,5.6933761,12.5008885,11.6146203,37.9281524,13.3539647,1.4223981,1.4846702,18.7595774,15.0805165,85.3984554,12.5256455,32.3495077,64.3312504,36.9604226,39.8741724,19.2760281,6.0642563,13.3116131,11.586066,37.8573785,13.4310274,1.2966052,1.3584922,19.5119611,15.3894062,85.2256079,12.6416686,32.2859609,63.6659083,36.5405492,38.901996,18.9951603,5.702315,13.7064424,11.6723025,37.5175744,14.4989546,1.1536573,1.215014,19.4899138,15.5318366,84.6424823,12.7779655,32.9593179,64.6174275,36.2558787,38.2045859,18.9190312,5.1417607,13.5522088,11.3125897,35.9182102,12.2040009,1.2156684,1.2777901,19.4971043,15.4832207,84.4636124,12.9818767,32.975739,65.9977769,36.1760547,38.1453873,19.3293146,5.1979209,13.8155617,11.5709247,36.7994519,13.1160582 +2583,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4483604,0.4708346,9.9591442,6.605406,36.3705285,22.4383752,31.1011044,62.9430989,29.1255279,42.8675064,16.2260372,7.5392184,11.2095117,8.6187241,34.1201206,6.1258075,0.5308456,0.5657667,10.6167252,6.9162949,37.5423893,22.9762428,30.8987128,62.895242,29.1422912,43.2523284,16.0567979,7.625875,10.9872357,8.2103523,33.6323746,5.8729972,0.5364199,0.5441742,11.0074109,7.1555682,38.7212036,23.1855682,30.9158149,62.319103,29.2319336,42.348583,15.9084161,7.2230427,11.0671339,8.0418463,32.9116197,5.9815767,0.5403665,0.5616016,10.7121965,7.1365894,39.8803866,23.7361867,30.6938042,63.5099987,28.9373822,42.2862863,15.3834872,7.5965886,11.2695439,8.4088419,32.5967948,5.425204,0.5829931,0.5950776,10.5911405,6.9110552,41.0811516,23.7426431,30.0785621,64.5082068,28.9435528,41.6035677,15.2357227,7.3486463,11.7803173,8.9843789,33.231084,5.477505 +2584,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7951625,1.8633956,22.9846725,18.3894857,45.4954636,15.5469292,41.1436242,66.7214185,39.4104729,51.6428009,31.2946466,4.1891698,12.1240827,10.5135751,34.9158904,23.7005593,1.6378724,1.6315152,23.1926731,18.3824584,45.6506034,15.2512871,41.4305301,65.9903436,38.6859266,50.9381473,31.1939188,3.9898232,12.8037565,10.477903,35.022618,23.245453,1.6527549,1.6559724,23.1638525,18.1248704,46.3853773,15.700623,41.9494373,66.819473,39.0873082,50.4933944,31.1683007,4.5395452,12.8678336,10.119058,34.2553481,16.1621625,1.6608824,1.7225805,23.9492049,19.334097,45.0005549,16.2779007,42.444164,66.9368708,39.7978614,51.17426,30.8589712,4.4241419,11.673904,9.0136045,32.3592572,15.5979303,1.8723496,1.9345341,23.9012285,19.5854182,44.5476548,14.9997609,41.7154583,66.8785729,40.7478299,52.3716474,31.2390705,4.3694639,11.8453746,8.1103958,30.618664,18.2324431 +2585,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7284565,1.7400791,25.3377664,20.4283242,54.4908804,15.9583464,39.5866055,64.8216664,36.9811699,46.3943274,22.3569258,3.6306565,13.2970056,10.7690722,34.3966343,17.5471698,1.6567518,1.6375682,24.9976182,19.9233889,54.0892221,15.9311757,40.843496,64.9322252,37.15849,46.5154234,23.0696125,3.6587477,13.4584239,11.1397609,34.6271972,17.0329546,1.6994976,1.6446769,24.9351749,20.0001214,54.563895,15.8537303,42.0608732,66.2145193,37.5649571,46.0942739,22.8030776,3.9597317,13.7953117,10.7296928,34.5889639,17.8571227,1.6874936,1.663398,25.0462995,19.9801529,55.3780065,15.8256356,42.0410658,66.4483735,36.8534316,45.4970579,23.0744311,3.8518973,13.1817202,10.7464351,34.9587338,18.3071437,1.7001876,1.6761154,25.2546172,20.2898138,53.9846197,16.6679138,41.5800722,65.1908894,35.9648633,45.1462322,22.8470414,4.1725143,12.2128582,10.1428421,34.6006864,17.1487875 +2586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6334656,0.6507214,13.8185091,10.4170357,49.8723833,17.3804841,32.5363314,64.1062804,30.6290008,41.3091013,18.1111559,4.2523394,10.6512608,8.4360563,31.7871445,8.3135354,0.7268376,0.7473512,14.3184371,10.7485981,50.7252365,17.5797432,32.2893335,65.4332362,31.4711227,41.6770174,18.4497354,4.1766208,11.5337649,9.1309533,31.914514,7.941252,0.6833994,0.7044598,14.4821838,10.9785243,51.6266348,17.7894486,31.8315767,66.187818,31.7356005,41.6426284,18.2397514,4.2163923,11.6286451,9.5511255,31.7174929,8.310188,0.6954471,0.6932804,14.3817833,11.0501831,52.0109718,18.0763021,32.1692913,66.6749472,32.1961339,41.7084787,18.5020431,4.1571083,11.7629849,9.5090792,31.7318026,8.1771241,0.7102743,0.7240316,14.5616417,11.1175833,52.9058154,17.842008,31.7333285,66.9642023,31.8637288,41.5639747,18.7579293,4.1010579,11.7455548,9.2002811,31.2324546,7.465515 +2587,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.784678,1.7109277,29.3790066,25.2911346,64.5462042,13.4456402,32.8197224,64.9427286,30.0340103,39.8266979,17.7502686,2.5960443,16.7542231,13.1371288,39.726895,15.4411401,1.7696561,1.6644804,28.859638,24.5565542,64.4266799,13.5600625,32.5339366,64.4560868,29.948443,39.9942909,17.8673549,2.5221887,16.1007157,12.3376244,39.023173,16.7177811,1.8002537,1.7036724,28.7552185,24.4053355,64.8534533,14.2823476,31.782079,63.7599439,29.4249325,39.6684703,18.3664985,2.3359854,17.0329061,13.336153,40.5135783,15.3225783,1.74326,1.6953216,29.0941213,24.1993413,64.1507988,14.2338555,32.4508451,63.1624135,30.1713196,40.1063044,18.8597843,2.2149981,16.7729329,12.8419913,39.5096498,14.8692894,1.8140517,1.7710103,29.5470185,24.1158537,63.9799541,14.1527623,33.1627057,63.0702848,30.068706,40.9431552,18.6203078,2.3518079,16.3745291,12.3567147,41.1394071,13.8796135 +2588,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.554371,1.5461611,27.2719357,21.2166244,47.8129178,13.0551476,38.8552798,66.8924993,34.5872166,48.931695,25.5180446,5.7200089,15.0468657,12.2509538,33.6264739,20.3247767,1.5221876,1.5134898,26.9534936,21.1741025,47.5437626,13.3314163,37.7640748,67.4019049,34.7747883,48.2241865,24.5635845,5.3858662,14.3468472,12.1639291,33.9240011,20.452008,1.4928467,1.4126088,26.741526,20.9720527,46.9307973,13.4181069,38.9076262,65.9812925,35.4748504,48.4793308,25.2099053,5.4844472,14.8541009,12.1993797,33.5211892,18.7463017,1.7405061,1.7248456,27.5126639,21.6198015,48.1631717,13.1736427,38.7100357,65.4909754,35.0718717,48.4064147,25.5049352,5.4750446,15.612498,12.7049638,34.1957375,18.9116819,1.6134522,1.5780904,26.6648253,20.8780642,46.5453958,12.4603311,38.474031,66.0076712,35.3149948,48.7418235,25.429565,5.1979699,16.2831834,13.3289135,36.031666,18.9116819 +2589,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8144658,0.8376017,17.2594398,14.0953757,58.1099109,13.3410626,26.9343425,66.0448167,29.8565602,42.0418611,13.8485486,4.8244523,14.0763706,11.7635667,30.6186848,8.3481464,0.8184939,0.8552641,17.6034073,14.4360231,59.0481206,13.4674931,27.2344769,66.2584984,30.1304241,41.9467225,13.9166999,4.7640105,14.2367372,11.1931991,30.1486761,8.3046687,0.8792837,0.9353223,17.6334856,14.3256121,59.7468867,13.5303043,27.2402347,66.3389537,29.537068,41.6652201,13.8072223,5.037409,14.0581973,10.6543523,30.510585,9.8184073,0.8571643,0.9052268,18.2125253,14.8395037,60.4831175,13.9754177,27.6310692,65.7271673,29.4702856,41.0677854,14.0242103,5.1004784,14.2196338,10.8502423,31.7195447,9.0689404,0.8776239,0.9248742,18.0570304,14.794566,61.1536804,13.9033887,27.5363332,65.4103808,29.1074295,41.1248303,13.881023,5.055974,14.3558033,10.4899104,31.2903441,9.0693229 +2590,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5389159,1.5725505,27.1279809,23.0432476,41.1699074,14.8566101,34.9405145,62.928795,32.7825577,44.6118568,18.7756681,3.1903909,13.7201263,10.1813226,37.1358693,19.3409668,1.6840654,1.7157536,27.5543068,23.5155297,41.7453256,15.2401672,34.8977575,61.7179848,32.5833091,44.8045539,18.5637618,3.1192453,14.1355617,10.1405631,36.3786596,20.7352253,1.4826655,1.5107886,28.1537097,24.2541981,43.7350109,15.292235,35.7834773,62.1572705,32.0409682,44.7933052,18.6018826,2.9346266,14.2225723,10.3847342,36.015574,17.7468339,1.4672963,1.5092001,29.5243414,25.2272618,45.7246478,15.3814424,35.9230555,61.5298603,31.4673408,44.8626607,18.5065627,2.9502669,13.9606784,10.524292,35.7905024,19.0961447,1.5591412,1.5848058,29.8736793,25.2658371,46.7360156,15.8283157,36.5023755,61.770542,31.5049172,44.4134105,18.7953282,2.9407104,14.1291843,10.6735668,36.0827399,20.2548729 +2591,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3641026,2.3860472,34.7425138,29.4987239,52.4881714,13.9108298,36.265094,62.0004507,29.143966,42.4191839,20.1179644,3.3847462,14.2162382,9.7469231,44.8390758,23.3634244,2.3333136,2.3549898,36.8658077,31.8238469,53.821329,14.2605159,37.0840858,61.324897,28.7487271,41.8967906,19.6350248,3.2942778,14.4076489,10.1558246,44.1258068,23.4716093,2.4251937,2.4464119,37.5761701,32.3970941,54.7891404,14.2148596,36.6638258,61.7536599,28.5176232,41.4091412,19.8466761,3.1433409,15.0273751,10.2564135,44.9543055,24.8958281,2.5041393,2.5262977,37.8217492,32.804446,56.7337663,14.2123307,36.2081884,62.1740475,28.5624554,41.8452993,18.9391976,3.3264368,14.7015983,10.31629,44.4726544,24.5951364,2.5459352,2.5905474,38.3842088,33.5945992,58.5671998,14.45348,35.3610408,62.0761099,29.0280011,41.7336439,18.6590519,3.1614642,14.715095,9.9868625,43.9103721,25.7281415 +2592,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.0020319,1.0154868,13.8964381,9.7839884,45.9265148,11.6722741,31.0732873,65.6894178,40.7668974,43.5481792,23.3311577,4.5823559,10.2806257,8.7553034,39.9127757,9.3091198,0.947497,0.9707941,14.2737329,10.0742678,46.1080431,11.7697001,30.9425786,65.1655995,40.1633336,42.5733581,22.9536296,4.6103842,10.1978723,9.0856258,40.2308277,9.9004504,0.9965754,1.0125267,14.7532138,10.5289745,46.2850307,11.8775826,30.7921457,64.9647224,39.897939,42.4346135,22.3971658,4.4931297,10.1195329,8.882586,40.012577,10.3932681,0.9736286,0.9939667,15.0005459,10.9592699,46.3564836,11.851655,31.0040155,64.4639888,39.7233896,42.314371,22.4694162,4.4799618,10.1177141,8.8813684,40.0471092,10.4820735,0.9671638,1.007116,15.7731311,11.7111859,46.8505119,11.604015,31.920069,63.6890605,38.867116,42.1645539,22.0534446,4.3857263,10.4180907,8.8683953,40.1463836,12.0143116 +2593,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6378724,1.6315152,23.1926731,18.3824584,45.6506034,15.2512871,41.4305301,65.9903436,38.6859266,50.9381473,31.1939188,3.9898232,12.8037565,10.477903,35.022618,23.245453,1.6527549,1.6559724,23.1638525,18.1248704,46.3853773,15.700623,41.9494373,66.819473,39.0873082,50.4933944,31.1683007,4.5395452,12.8678336,10.119058,34.2553481,16.1621625,1.6608824,1.7225805,23.9492049,19.334097,45.0005549,16.2779007,42.444164,66.9368708,39.7978614,51.17426,30.8589712,4.4241419,11.673904,9.0136045,32.3592572,15.5979303,1.8723496,1.9345341,23.9012285,19.5854182,44.5476548,14.9997609,41.7154583,66.8785729,40.7478299,52.3716474,31.2390705,4.3694639,11.8453746,8.1103958,30.618664,18.2324431,1.8449033,1.9067627,24.9397098,20.1442606,45.1616156,15.4346003,41.7106921,65.9182605,40.4088396,51.8997015,30.4328992,4.3512807,11.9539362,8.2395958,31.8772668,18.096341 +2594,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6567518,1.6375682,24.9976182,19.9233889,54.0892221,15.9311757,40.843496,64.9322252,37.15849,46.5154234,23.0696125,3.6587477,13.4584239,11.1397609,34.6271972,17.0329546,1.6994976,1.6446769,24.9351749,20.0001214,54.563895,15.8537303,42.0608732,66.2145193,37.5649571,46.0942739,22.8030776,3.9597317,13.7953117,10.7296928,34.5889639,17.8571227,1.6874936,1.663398,25.0462995,19.9801529,55.3780065,15.8256356,42.0410658,66.4483735,36.8534316,45.4970579,23.0744311,3.8518973,13.1817202,10.7464351,34.9587338,18.3071437,1.7001876,1.6761154,25.2546172,20.2898138,53.9846197,16.6679138,41.5800722,65.1908894,35.9648633,45.1462322,22.8470414,4.1725143,12.2128582,10.1428421,34.6006864,17.1487875,1.7590737,1.7284651,24.657776,19.883662,54.4357775,16.3742794,41.6094511,65.5218004,35.1089468,45.2814958,22.8898109,3.9604582,12.9830094,10.7850412,34.8742477,15.4618813 +2595,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6527549,1.6559724,23.1638525,18.1248704,46.3853773,15.700623,41.9494373,66.819473,39.0873082,50.4933944,31.1683007,4.5395452,12.8678336,10.119058,34.2553481,16.1621625,1.6608824,1.7225805,23.9492049,19.334097,45.0005549,16.2779007,42.444164,66.9368708,39.7978614,51.17426,30.8589712,4.4241419,11.673904,9.0136045,32.3592572,15.5979303,1.8723496,1.9345341,23.9012285,19.5854182,44.5476548,14.9997609,41.7154583,66.8785729,40.7478299,52.3716474,31.2390705,4.3694639,11.8453746,8.1103958,30.618664,18.2324431,1.8449033,1.9067627,24.9397098,20.1442606,45.1616156,15.4346003,41.7106921,65.9182605,40.4088396,51.8997015,30.4328992,4.3512807,11.9539362,8.2395958,31.8772668,18.096341,1.9005907,1.9652301,25.6432754,20.5399924,44.7606314,14.8880567,41.1780714,66.1478614,42.2883011,51.5354686,31.0961818,4.3594371,10.7271174,6.5527571,30.1790694,18.3979793 +2596,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6298789,0.6467967,11.1816065,7.4097788,49.1489356,13.5594229,28.7905282,63.278517,29.9451829,39.6955941,16.2642855,13.908328,12.6041498,9.0224965,37.2525017,5.7159347,0.6930434,0.6983676,11.6415323,7.8944315,49.8313056,13.3423309,29.4687412,63.6063084,29.9211191,39.8851669,16.3612079,13.7049071,13.0247126,9.5429672,37.5275821,5.8011043,0.6555507,0.66084,11.5194382,7.9192528,50.658992,13.2766382,28.9233774,64.4299549,30.3773343,40.047315,16.2416311,13.8645297,12.9052814,9.569775,37.4177677,6.0622305,0.6351283,0.6351283,11.5145691,8.0359141,51.2453702,13.4524315,28.578727,64.8711537,30.5880311,40.1464443,16.352592,14.048134,13.0610246,10.0059394,37.6062512,5.1810855,0.5632093,0.5750105,11.5006,8.2959613,51.6441137,13.5374706,29.1170637,65.7793173,31.0791449,40.0738576,16.5399015,13.7951957,13.0430166,10.3348991,36.7760594,5.0329252 +2597,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4617016,1.5246013,20.1004041,15.6163388,68.6216498,11.2310662,31.1817153,60.9321802,29.6750971,37.1150031,16.5333567,3.331862,15.7329906,12.7576864,40.8886037,10.146697,1.4020597,1.4122732,20.4703293,15.9062166,70.9834977,11.5931858,31.2251491,60.8971288,29.8402714,37.2382299,16.3659332,3.1248089,15.7534674,12.4923283,40.7657017,10.3176241,1.4137558,1.4236764,20.737958,16.2898053,73.010245,11.3780422,31.9118466,60.749693,30.0626052,37.2162816,16.5817905,3.3213708,14.8357741,11.8558812,39.8963214,10.4143022,1.4071126,1.4012576,21.3599367,17.0558296,75.1516447,11.3988495,32.2276567,61.2031587,29.5952968,37.8839906,16.2721164,3.297237,14.4633451,11.6383378,39.2043519,10.1882025,1.2680963,1.2622575,22.3940729,18.0422366,77.4050493,11.537342,32.9269159,61.795854,29.8069457,38.912088,16.2679442,3.4379036,14.2379189,11.1871936,40.2697673,10.1923006 +2598,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9763652,1.0175991,17.7098592,14.4405076,75.1719018,8.3925269,27.9766888,63.508164,28.1419007,37.5452243,14.7975288,5.4430059,14.0305599,9.5904857,36.2782102,9.3176778,0.9400678,0.9628661,17.7274343,14.3988416,75.6506894,8.4069443,28.0319008,63.5043565,28.0368012,37.1041256,14.6391878,5.5454142,14.0746186,9.4779647,36.2992813,9.2795364,0.9422958,0.9645676,18.1567494,14.7158142,76.2262776,8.1174687,28.0391001,63.5716463,27.948738,37.1036659,14.7042012,5.491194,14.3561876,9.8443005,37.063479,9.6648081,0.9783996,0.9898469,18.2803015,14.9361121,76.7667212,8.2630038,28.1649363,63.7852163,28.2592481,37.3104815,14.519936,5.7159467,14.4850662,9.9553866,37.0573558,9.4718153,0.9797999,0.9978858,18.213374,14.8092666,77.0585084,8.0685856,28.4540546,63.707739,28.086473,37.1357374,14.2255976,5.7301134,14.6405538,9.9226458,36.9817583,9.9164657 +2599,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7096643,0.7636085,12.245038,8.2218997,25.4741104,14.3986518,30.516739,67.3256467,40.1290754,47.3202729,20.7755515,8.1565839,10.4438075,9.7464655,33.3217389,9.0205856,0.8014133,0.8411834,12.6790247,8.5349308,25.4167575,14.0459657,30.3868089,67.4060084,40.4460007,47.5609001,20.6656862,8.3364557,11.1080412,9.459818,32.734073,9.6353847,0.8312468,0.8500403,12.7484533,8.6966526,25.9147032,13.9861975,30.4994024,67.2391995,40.2341446,46.6625919,20.8730406,8.2206365,10.6715182,9.7012128,33.9189163,10.8938171,0.8371631,0.8546972,13.1276545,8.8945835,26.3786772,13.8982216,31.6557215,65.8835424,38.5155794,46.149027,20.7545628,8.1044985,10.8412545,9.3031272,33.7463916,9.7499695,0.7769544,0.8032662,13.684103,9.3697717,26.8092903,13.6982958,32.1047762,65.9204749,37.96288,46.3769018,20.8854433,7.6297624,11.0703675,8.9454312,33.6386307,9.1584294 +2600,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0350195,1.0785399,15.7389214,11.7003224,44.3920913,10.2971082,29.1260812,67.7464021,39.5630401,41.8505935,20.7443487,4.9280671,9.8484833,8.0690956,36.9900957,14.4039719,1.1472795,1.2039612,16.4975091,12.4376994,44.6708716,10.420778,28.4904269,67.5904938,39.3949005,41.4360898,20.4254762,5.0122463,10.0454702,8.1265876,37.1494142,14.1440486,1.1645911,1.2259466,17.0247391,12.8301706,44.8556699,10.4408241,28.8665031,67.448014,39.5794649,41.3897184,20.5764972,4.9990709,10.1327194,8.1839941,37.1244607,14.4859798,1.2664749,1.296593,18.5383923,14.1492124,45.0040319,10.3345164,29.6481319,67.3197229,39.3614243,41.6116451,20.3605571,4.8523017,10.0828518,8.0467491,37.1997576,15.4030614,1.3312598,1.3671187,19.3541734,15.0596443,45.2742821,10.5507211,30.1324507,66.6625798,38.529148,41.4806672,19.9370477,4.9096552,10.3931114,7.8703108,36.913415,16.207805 +2601,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9285225,1.90017,29.4429987,24.1189237,69.9584491,15.0203058,35.2002646,64.9394549,28.7316722,40.8763022,17.8821645,2.0863152,17.2162973,12.2154717,42.5155858,21.73659,1.777638,1.7493287,29.1423294,23.6827236,70.3073686,14.428784,35.3846925,65.4338144,27.8983897,40.0493872,17.6025628,2.3403001,17.4997566,11.9434062,44.594622,21.40869,1.7733777,1.7618099,29.0600207,23.9451667,69.6522726,14.4834148,34.8917287,66.7539722,28.5611454,40.0830651,18.2550892,2.5030911,16.9418471,10.7476616,43.0258885,20.9208599,1.7124921,1.700971,28.2762642,23.7375606,70.5987902,14.7060461,35.185466,67.4054343,29.1825133,40.1881335,18.1654858,2.6835542,15.5286845,9.8835413,42.1556617,18.7551332,1.6608324,1.6706658,27.4393998,22.9586099,70.2640974,14.3772149,35.9869337,67.5361737,28.9843398,40.4453833,18.4922818,2.4503327,15.7598611,9.8891204,41.9726847,18.460174 +2602,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9107055,0.9237553,15.5850469,12.5159151,43.8924257,18.2001253,32.8037389,65.3837314,35.2002005,48.0742972,20.3196459,4.8708012,13.5294187,10.5009567,26.9272467,11.0258648,0.9025059,0.909059,15.7503933,12.8588862,45.0454013,17.7865433,33.1036415,65.3323073,35.0838719,47.4688181,20.0874325,4.9468325,13.0316293,10.3717161,26.9445419,12.4984724,0.8035985,0.8101081,15.7114085,12.5774736,44.8757888,17.4051727,33.2144081,64.6970545,34.7409882,47.0965894,20.3535168,4.780815,12.7551489,10.6308586,27.1865073,12.498548,0.9007856,0.907333,15.8281542,12.709333,46.0004882,16.7075836,34.216201,64.8179789,34.7586838,47.0950754,20.7465453,5.0335251,13.179764,11.1778689,27.6145346,10.9681918,0.932398,0.932398,16.4703868,13.2626638,47.0915399,16.3673519,34.9832239,65.2128517,34.8440519,46.7562496,20.8704159,4.8995878,13.9055606,11.8406693,27.7936657,11.0366488 +2603,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5308456,0.5657667,10.6167252,6.9162949,37.5423893,22.9762428,30.8987128,62.895242,29.1422912,43.2523284,16.0567979,7.625875,10.9872357,8.2103523,33.6323746,5.8729972,0.5364199,0.5441742,11.0074109,7.1555682,38.7212036,23.1855682,30.9158149,62.319103,29.2319336,42.348583,15.9084161,7.2230427,11.0671339,8.0418463,32.9116197,5.9815767,0.5403665,0.5616016,10.7121965,7.1365894,39.8803866,23.7361867,30.6938042,63.5099987,28.9373822,42.2862863,15.3834872,7.5965886,11.2695439,8.4088419,32.5967948,5.425204,0.5829931,0.5950776,10.5911405,6.9110552,41.0811516,23.7426431,30.0785621,64.5082068,28.9435528,41.6035677,15.2357227,7.3486463,11.7803173,8.9843789,33.231084,5.477505,0.5687121,0.5808069,10.8519402,7.3167382,42.9888074,23.4661419,30.0929772,64.9375451,29.6280113,41.1362609,14.8939169,7.396094,12.1100579,8.9978314,33.4129178,5.8265346 +2604,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4563416,0.4789378,10.2361194,6.8889491,48.0273744,21.4210951,30.5030666,63.5980648,31.0393283,39.9004096,17.4795679,7.0863129,9.5936401,7.4704403,35.0535615,4.3661972,0.5417096,0.5828728,10.4741087,6.9183227,48.6605941,21.4248377,30.5147081,62.3859051,30.6414856,39.8199832,17.1019238,7.1374243,9.9630417,7.8615312,34.5672689,4.7813947,0.6026025,0.6409893,10.690791,7.0217613,49.6307081,21.069588,30.5272317,61.7881047,30.5769706,39.1817962,17.3712927,7.5478717,10.2624963,7.829585,35.1141362,5.4089474,0.6598208,0.7059125,10.8029367,6.9022262,50.3168829,20.8075302,30.1922098,61.6450265,30.1672497,39.2036982,17.1367883,7.6510211,10.2784109,7.7796078,34.8312811,5.8423689,0.7634891,0.8015394,10.8988752,6.978774,50.7938641,20.8301561,29.7433996,61.8924181,30.1875152,39.2918853,17.0120854,7.9570665,10.4655099,8.1434917,34.9395608,5.528235 +2605,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6802212,0.687499,9.9940609,6.8109857,38.3168963,16.3906602,30.2238929,69.8769621,37.6058739,46.5005996,21.571196,3.9834628,9.3341415,7.534794,33.3399694,9.5317534,0.6795521,0.6893425,10.0116886,6.7361968,38.3197606,16.2020551,30.6210223,69.8981579,37.7096467,46.9348922,21.2360247,3.9836304,9.5728262,8.0802163,33.4955154,10.8695696,0.6523959,0.654979,10.0636716,6.8409777,38.3540986,16.2983959,31.066158,70.2764121,38.2329508,46.8213166,21.0167879,3.9782871,9.3738143,7.6908274,33.224817,11.6242098,0.6497783,0.6567813,9.9447972,6.9185326,38.6359207,15.8386312,30.4750082,70.0506285,38.1837479,47.0994723,21.2867439,3.980928,9.1335343,8.0444563,33.9305699,10.5345746,0.6949748,0.6993896,10.1033816,6.9454884,38.8965182,15.6625359,30.3255131,69.2122554,37.5673937,46.5042347,21.1575477,3.8617093,9.1521125,7.7639686,33.8278147,10.0318312 +2606,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6795521,0.6893425,10.0116886,6.7361968,38.3197606,16.2020551,30.6210223,69.8981579,37.7096467,46.9348922,21.2360247,3.9836304,9.5728262,8.0802163,33.4955154,10.8695696,0.6523959,0.654979,10.0636716,6.8409777,38.3540986,16.2983959,31.066158,70.2764121,38.2329508,46.8213166,21.0167879,3.9782871,9.3738143,7.6908274,33.224817,11.6242098,0.6497783,0.6567813,9.9447972,6.9185326,38.6359207,15.8386312,30.4750082,70.0506285,38.1837479,47.0994723,21.2867439,3.980928,9.1335343,8.0444563,33.9305699,10.5345746,0.6949748,0.6993896,10.1033816,6.9454884,38.8965182,15.6625359,30.3255131,69.2122554,37.5673937,46.5042347,21.1575477,3.8617093,9.1521125,7.7639686,33.8278147,10.0318312,0.6673783,0.6845577,10.8803097,7.3847023,39.5440027,15.7235569,30.5971624,68.5417515,37.7854579,46.4339044,21.6304723,3.6971165,8.8853819,7.8965845,33.7389411,9.3846009 +2607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6523959,0.654979,10.0636716,6.8409777,38.3540986,16.2983959,31.066158,70.2764121,38.2329508,46.8213166,21.0167879,3.9782871,9.3738143,7.6908274,33.224817,11.6242098,0.6497783,0.6567813,9.9447972,6.9185326,38.6359207,15.8386312,30.4750082,70.0506285,38.1837479,47.0994723,21.2867439,3.980928,9.1335343,8.0444563,33.9305699,10.5345746,0.6949748,0.6993896,10.1033816,6.9454884,38.8965182,15.6625359,30.3255131,69.2122554,37.5673937,46.5042347,21.1575477,3.8617093,9.1521125,7.7639686,33.8278147,10.0318312,0.6673783,0.6845577,10.8803097,7.3847023,39.5440027,15.7235569,30.5971624,68.5417515,37.7854579,46.4339044,21.6304723,3.6971165,8.8853819,7.8965845,33.7389411,9.3846009,0.717325,0.7350087,11.1875615,7.7191368,40.1712127,15.4736798,30.5619926,68.3758112,37.3020349,46.4368418,21.4465039,3.9107745,9.4356615,8.1261282,33.7974351,9.6721153 +2608,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4223981,1.4846702,18.7595774,15.0805165,85.3984554,12.5256455,32.3495077,64.3312504,36.9604226,39.8741724,19.2760281,6.0642563,13.3116131,11.586066,37.8573785,13.4310274,1.2966052,1.3584922,19.5119611,15.3894062,85.2256079,12.6416686,32.2859609,63.6659083,36.5405492,38.901996,18.9951603,5.702315,13.7064424,11.6723025,37.5175744,14.4989546,1.1536573,1.215014,19.4899138,15.5318366,84.6424823,12.7779655,32.9593179,64.6174275,36.2558787,38.2045859,18.9190312,5.1417607,13.5522088,11.3125897,35.9182102,12.2040009,1.2156684,1.2777901,19.4971043,15.4832207,84.4636124,12.9818767,32.975739,65.9977769,36.1760547,38.1453873,19.3293146,5.1979209,13.8155617,11.5709247,36.7994519,13.1160582,1.2195861,1.283302,20.1525768,16.0694173,83.7750265,12.4409249,33.1341151,66.1108658,36.6271981,38.2308546,19.3421673,4.9148079,12.9383987,10.3521005,36.164635,13.6108118 +2609,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3333136,2.3549898,36.8658077,31.8238469,53.821329,14.2605159,37.0840858,61.324897,28.7487271,41.8967906,19.6350248,3.2942778,14.4076489,10.1558246,44.1258068,23.4716093,2.4251937,2.4464119,37.5761701,32.3970941,54.7891404,14.2148596,36.6638258,61.7536599,28.5176232,41.4091412,19.8466761,3.1433409,15.0273751,10.2564135,44.9543055,24.8958281,2.5041393,2.5262977,37.8217492,32.804446,56.7337663,14.2123307,36.2081884,62.1740475,28.5624554,41.8452993,18.9391976,3.3264368,14.7015983,10.31629,44.4726544,24.5951364,2.5459352,2.5905474,38.3842088,33.5945992,58.5671998,14.45348,35.3610408,62.0761099,29.0280011,41.7336439,18.6590519,3.1614642,14.715095,9.9868625,43.9103721,25.7281415,2.6607714,2.6905373,38.4319073,33.549121,60.696609,14.080126,35.2966407,62.7706036,28.8832246,41.311758,18.3255702,3.2426924,14.8446794,10.0392072,43.3761948,25.1872613 +2610,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8038515,1.8883243,28.6297926,24.4198913,43.894995,17.3642029,40.153428,66.8487803,37.1783195,48.4111178,25.0910931,3.7654026,12.0703406,9.5240671,32.2386914,28.2808653,1.6271361,1.7122231,28.1112217,24.1324414,43.5664818,17.2818709,40.2292307,67.2449019,36.5863595,48.2223264,25.2056282,3.7356374,11.9114728,9.3681112,30.0985858,28.8454618,1.6361009,1.7514714,27.3969919,23.4283117,44.0227184,17.3817291,39.833366,65.7853514,35.9556386,48.0211588,24.8548714,3.557537,11.979023,9.5746519,30.9487679,29.815664,1.7397315,1.8194445,27.068009,23.3913166,44.1182905,17.7301686,39.7722111,66.1183706,36.0755154,48.1286568,25.0222938,3.8003391,12.1191263,10.1538861,30.3539613,28.9214895,1.6170708,1.7039089,26.661641,22.8182944,43.4829529,18.1564074,39.5209006,66.2734704,36.3240778,48.1823334,25.3191981,3.6053755,12.3340307,10.6045591,29.9126661,25.3225084 +2611,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.9564009,0.9435765,13.0370147,8.4765416,35.7093552,19.2551615,29.9797092,70.4937467,39.9222084,46.6181829,22.1001102,3.2296224,10.1689548,9.3730411,33.3018805,9.5628962,0.974609,0.9670767,12.989326,8.6865139,35.6222376,19.0249383,30.1062859,70.2922758,40.4350565,46.0146076,22.2351489,3.2049164,10.4923055,9.2729501,33.5083322,10.7143407,1.0432437,1.0457984,13.3825915,9.1789843,35.4611057,19.230749,29.7675301,70.0303339,40.8524126,46.0747917,22.2877366,3.2850385,10.2812485,8.7867351,32.8633963,11.9680915,1.1041043,1.0883065,13.1899752,9.3972268,36.0588782,19.4949957,29.9132039,69.1840326,40.0867868,45.5381875,22.204863,3.3506897,10.5513325,8.375793,33.1317612,13.6627986,1.0767341,1.0747249,13.6922111,9.7478248,36.2192515,19.0042801,30.7807503,68.5880538,39.6511536,45.4651256,22.2093104,3.3056437,9.5596629,7.7117257,34.1100634,12.6343684 +2612,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0655007,2.0116889,34.1457297,29.089749,49.0765619,19.8635756,38.1798905,66.468056,35.4865064,47.2236038,20.6551187,3.7987772,13.1304366,12.09726,33.671219,27.1492831,1.9154936,1.8613906,34.6222649,29.4877612,50.0838704,19.362473,38.0281204,66.8546232,34.8893139,47.758139,20.5123299,3.9577753,12.8776152,11.6795354,33.7693369,24.2336476,1.8476081,1.7937986,34.6857621,29.6542716,48.8544584,18.8346157,38.9188626,67.6005749,35.2187329,48.4557533,20.9862683,3.7932318,12.190335,12.1377949,32.6579908,26.5127723,1.4458578,1.4458578,33.9489748,29.2383929,49.0854068,19.0102416,39.222007,68.1858207,36.1116527,49.3703606,22.3331154,4.0375439,10.7823699,12.0152097,31.8130417,24.7372916,1.3182535,1.3532987,34.0765465,29.5079547,49.6832026,18.1475266,38.9245006,69.2570262,36.0044664,49.6166243,21.531563,3.782622,11.2818154,11.6506314,31.4155587,25.2580476 +2613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5364199,0.5441742,11.0074109,7.1555682,38.7212036,23.1855682,30.9158149,62.319103,29.2319336,42.348583,15.9084161,7.2230427,11.0671339,8.0418463,32.9116197,5.9815767,0.5403665,0.5616016,10.7121965,7.1365894,39.8803866,23.7361867,30.6938042,63.5099987,28.9373822,42.2862863,15.3834872,7.5965886,11.2695439,8.4088419,32.5967948,5.425204,0.5829931,0.5950776,10.5911405,6.9110552,41.0811516,23.7426431,30.0785621,64.5082068,28.9435528,41.6035677,15.2357227,7.3486463,11.7803173,8.9843789,33.231084,5.477505,0.5687121,0.5808069,10.8519402,7.3167382,42.9888074,23.4661419,30.0929772,64.9375451,29.6280113,41.1362609,14.8939169,7.396094,12.1100579,8.9978314,33.4129178,5.8265346,0.6722542,0.6844109,10.730938,7.382079,44.2208728,23.9735026,29.7007691,65.5471126,30.6688225,40.4663705,14.8870521,7.5241874,12.0599495,9.1364612,33.0071365,6.3801834 +2614,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5580181,0.5766977,7.7737745,4.929224,44.7186668,13.4104,24.9668289,68.6593522,31.6031341,44.7961794,15.0919602,4.7774208,12.1566005,11.4112822,31.0776383,4.2306879,0.5896881,0.6080248,8.1263994,5.1151824,43.4613257,13.1278953,24.663381,68.1386945,31.6481714,44.7155834,15.2060325,4.8070348,12.2455969,11.5324401,31.6180643,4.7100937,0.4565768,0.4747797,8.056648,5.0185977,41.8800103,12.7887074,25.2897984,68.5224436,31.8123076,44.8965239,15.134718,4.9407327,12.1036285,11.7079644,31.5360851,4.7444736,0.4887805,0.5010901,8.3778773,5.2533106,40.7326742,12.5972906,25.5620506,68.3925383,32.6216993,44.3615432,15.0119652,4.6998593,11.8400404,11.9860979,31.1380662,4.0145546,0.4855065,0.5070525,8.3865324,5.4446321,40.2906966,12.6186175,25.2769369,68.2570519,32.807762,44.5869099,14.6177635,5.0784873,11.908322,11.7405015,31.588979,3.9285097 +2615,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7268376,0.7473512,14.3184371,10.7485981,50.7252365,17.5797432,32.2893335,65.4332362,31.4711227,41.6770174,18.4497354,4.1766208,11.5337649,9.1309533,31.914514,7.941252,0.6833994,0.7044598,14.4821838,10.9785243,51.6266348,17.7894486,31.8315767,66.187818,31.7356005,41.6426284,18.2397514,4.2163923,11.6286451,9.5511255,31.7174929,8.310188,0.6954471,0.6932804,14.3817833,11.0501831,52.0109718,18.0763021,32.1692913,66.6749472,32.1961339,41.7084787,18.5020431,4.1571083,11.7629849,9.5090792,31.7318026,8.1771241,0.7102743,0.7240316,14.5616417,11.1175833,52.9058154,17.842008,31.7333285,66.9642023,31.8637288,41.5639747,18.7579293,4.1010579,11.7455548,9.2002811,31.2324546,7.465515,0.6557869,0.6700901,14.3128492,10.8830534,53.6328023,18.3920395,32.0097957,66.6768566,31.9128609,42.1337758,18.8001219,3.8787749,11.8581916,9.1275922,30.7006016,7.5618364 +2616,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1479008,1.1884238,22.3595362,18.5188914,43.1395073,18.6866628,39.0349536,65.9903138,38.0887895,47.6135258,22.9920074,3.5849384,14.307422,12.2231845,34.2128127,13.1009375,1.1946921,1.224272,23.1095887,18.9869503,43.5927734,18.8273625,39.2217588,66.2793362,38.6460702,47.579962,23.0810344,3.3582041,14.8123809,11.8891744,33.1504959,11.2047979,1.1451215,1.1474145,23.4826485,19.4570592,43.9675317,18.467811,39.679352,66.3304489,38.1503547,47.2605603,22.8817244,3.4295998,14.820469,11.0551547,33.4581321,10.7888424,1.1714999,1.1639628,23.8169308,19.7073499,44.616522,18.3159003,39.5005407,66.1317889,37.5026554,47.0881944,22.6248719,3.3687567,14.9322051,11.2106522,33.6047345,11.047798,1.1961154,1.1638425,24.4027615,20.1068797,45.160201,18.5002054,39.4286407,66.3492532,37.4384718,47.0896567,22.5872038,3.1564282,14.6475671,11.4317074,33.0444207,12.3059505 +2617,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7635369,0.8036341,11.4746415,8.5759217,37.1416234,11.2127015,30.5673255,66.5047152,34.661123,47.0851823,19.2705827,3.2063637,11.4536425,9.5956495,29.7603303,9.772296,0.7372494,0.7607564,11.4647278,8.5970048,37.8440038,11.0535795,30.4382471,66.5803384,34.8849496,47.4545905,19.6879243,3.0255074,11.6751454,9.4037415,29.4733102,9.3466459,0.7289335,0.7425419,12.3111383,9.3978207,38.6374531,10.8734938,30.5636398,66.5050773,34.991661,47.0060906,19.7319545,2.9752015,11.7906865,9.7235464,29.6057669,10.0700543,0.7446169,0.7579469,12.5181958,9.748464,39.0421697,10.84491,30.7385049,66.7383119,34.984448,47.0093969,19.3291458,2.97229,12.2410298,10.0442784,29.3471791,9.0983621,0.825505,0.8433299,12.735582,9.9401577,39.3349566,10.8218956,30.758436,66.8033278,34.972873,46.9555672,19.3395359,3.0078219,12.2907515,10.1500082,29.5433767,8.7955626 +2618,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5403665,0.5616016,10.7121965,7.1365894,39.8803866,23.7361867,30.6938042,63.5099987,28.9373822,42.2862863,15.3834872,7.5965886,11.2695439,8.4088419,32.5967948,5.425204,0.5829931,0.5950776,10.5911405,6.9110552,41.0811516,23.7426431,30.0785621,64.5082068,28.9435528,41.6035677,15.2357227,7.3486463,11.7803173,8.9843789,33.231084,5.477505,0.5687121,0.5808069,10.8519402,7.3167382,42.9888074,23.4661419,30.0929772,64.9375451,29.6280113,41.1362609,14.8939169,7.396094,12.1100579,8.9978314,33.4129178,5.8265346,0.6722542,0.6844109,10.730938,7.382079,44.2208728,23.9735026,29.7007691,65.5471126,30.6688225,40.4663705,14.8870521,7.5241874,12.0599495,9.1364612,33.0071365,6.3801834,0.7758143,0.7878247,11.2945111,7.7640785,44.6629324,25.0505551,29.6644178,66.6329574,31.5736127,41.6401095,14.8828307,7.4486398,12.0779521,9.1927176,33.2549287,6.3749761 +2619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7372494,0.7607564,11.4647278,8.5970048,37.8440038,11.0535795,30.4382471,66.5803384,34.8849496,47.4545905,19.6879243,3.0255074,11.6751454,9.4037415,29.4733102,9.3466459,0.7289335,0.7425419,12.3111383,9.3978207,38.6374531,10.8734938,30.5636398,66.5050773,34.991661,47.0060906,19.7319545,2.9752015,11.7906865,9.7235464,29.6057669,10.0700543,0.7446169,0.7579469,12.5181958,9.748464,39.0421697,10.84491,30.7385049,66.7383119,34.984448,47.0093969,19.3291458,2.97229,12.2410298,10.0442784,29.3471791,9.0983621,0.825505,0.8433299,12.735582,9.9401577,39.3349566,10.8218956,30.758436,66.8033278,34.972873,46.9555672,19.3395359,3.0078219,12.2907515,10.1500082,29.5433767,8.7955626,0.8405834,0.8298432,13.2052917,10.3907923,40.1280051,10.7140028,30.2031317,66.7635674,34.6352464,46.4469195,18.763089,2.9775749,11.9764812,9.6560368,29.3832846,9.1121524 +2620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8710019,0.8999081,12.8258207,8.5258974,23.941136,16.6433638,35.8719403,65.1700037,36.7493807,48.7181369,21.4902764,3.73595,11.4534701,9.9018432,33.1166536,9.5833584,0.8402576,0.8831387,12.7094813,8.4983668,24.1844464,16.5062968,35.3260699,64.9421317,36.1730619,48.2001846,21.3791812,3.6490719,11.3143118,10.0985342,33.3497441,8.739255,0.856898,0.9106611,12.9527747,8.4499568,24.4588248,16.4018896,35.3921467,64.3580942,34.9955707,47.7452882,21.2911352,3.7676287,11.7465138,10.3396342,33.7981484,8.83233,0.8435173,0.8950856,13.2728509,8.7462168,25.348308,16.1033495,35.3775566,64.3023519,34.7083004,47.6284189,21.409864,3.7028964,11.9449781,9.982809,33.7745201,8.5507147,0.7817873,0.8500594,13.6791167,9.117073,26.0906104,15.7008412,35.4041231,63.922342,34.3006787,46.8974146,21.1307043,3.6471774,12.0813186,9.9566785,33.4921709,9.3390697 +2621,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1472795,1.2039612,16.4975091,12.4376994,44.6708716,10.420778,28.4904269,67.5904938,39.3949005,41.4360898,20.4254762,5.0122463,10.0454702,8.1265876,37.1494142,14.1440486,1.1645911,1.2259466,17.0247391,12.8301706,44.8556699,10.4408241,28.8665031,67.448014,39.5794649,41.3897184,20.5764972,4.9990709,10.1327194,8.1839941,37.1244607,14.4859798,1.2664749,1.296593,18.5383923,14.1492124,45.0040319,10.3345164,29.6481319,67.3197229,39.3614243,41.6116451,20.3605571,4.8523017,10.0828518,8.0467491,37.1997576,15.4030614,1.3312598,1.3671187,19.3541734,15.0596443,45.2742821,10.5507211,30.1324507,66.6625798,38.529148,41.4806672,19.9370477,4.9096552,10.3931114,7.8703108,36.913415,16.207805,1.3879515,1.4027738,20.2483607,15.7842173,45.6514492,10.3866455,30.3257832,66.1382619,37.9221316,40.893922,19.296783,4.7794989,10.6901664,7.9342461,37.2823804,16.709612 +2622,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.777638,1.7493287,29.1423294,23.6827236,70.3073686,14.428784,35.3846925,65.4338144,27.8983897,40.0493872,17.6025628,2.3403001,17.4997566,11.9434062,44.594622,21.40869,1.7733777,1.7618099,29.0600207,23.9451667,69.6522726,14.4834148,34.8917287,66.7539722,28.5611454,40.0830651,18.2550892,2.5030911,16.9418471,10.7476616,43.0258885,20.9208599,1.7124921,1.700971,28.2762642,23.7375606,70.5987902,14.7060461,35.185466,67.4054343,29.1825133,40.1881335,18.1654858,2.6835542,15.5286845,9.8835413,42.1556617,18.7551332,1.6608324,1.6706658,27.4393998,22.9586099,70.2640974,14.3772149,35.9869337,67.5361737,28.9843398,40.4453833,18.4922818,2.4503327,15.7598611,9.8891204,41.9726847,18.460174,1.6324511,1.6424314,26.8215492,22.1071066,69.7956235,14.1411345,36.0528659,67.5835462,29.0688171,40.5501318,18.3512262,2.7064356,15.5222176,9.6302768,41.9817406,18.9820158 +2623,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7289335,0.7425419,12.3111383,9.3978207,38.6374531,10.8734938,30.5636398,66.5050773,34.991661,47.0060906,19.7319545,2.9752015,11.7906865,9.7235464,29.6057669,10.0700543,0.7446169,0.7579469,12.5181958,9.748464,39.0421697,10.84491,30.7385049,66.7383119,34.984448,47.0093969,19.3291458,2.97229,12.2410298,10.0442784,29.3471791,9.0983621,0.825505,0.8433299,12.735582,9.9401577,39.3349566,10.8218956,30.758436,66.8033278,34.972873,46.9555672,19.3395359,3.0078219,12.2907515,10.1500082,29.5433767,8.7955626,0.8405834,0.8298432,13.2052917,10.3907923,40.1280051,10.7140028,30.2031317,66.7635674,34.6352464,46.4469195,18.763089,2.9775749,11.9764812,9.6560368,29.3832846,9.1121524,0.7793939,0.7629632,13.9227507,10.8479062,40.8343076,10.7311984,30.1476675,66.8269602,34.1479502,46.1371143,18.5085328,3.0191178,12.5408366,10.0553341,30.0074309,8.4234996 +2624,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8970814,0.9330311,14.0448791,10.3782116,46.019557,19.3656857,33.2706471,62.1384991,33.0112878,44.3327731,19.8871729,6.5944767,11.1523859,8.3333346,33.7186112,8.6325054,0.9683807,0.9923242,14.1622976,10.6169235,46.8961337,19.5623591,32.7042755,62.9766486,33.1841807,44.0012972,19.9286625,6.2581081,11.0786939,8.1785462,33.4690456,8.7209439,0.9617202,0.9853162,14.2812279,10.6245305,47.5511012,19.2922515,32.617337,64.4075376,33.5278357,44.1972358,19.7294171,6.0720704,11.1923872,8.8063629,32.8600181,8.7732919,0.9652315,0.9886599,14.2156875,10.6912401,48.9158655,19.6200922,32.2011395,64.9525585,34.2251823,43.6875467,19.614167,6.2555349,11.3919922,8.9125218,33.1902187,8.2481752,0.9526125,0.978372,14.0810324,10.6803501,49.993418,20.2508043,31.8132143,65.6623133,34.6347184,43.6572178,19.3996471,6.00863,10.8922706,8.7728834,33.3694989,8.698538 +2625,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.2075038,2.2366109,36.0056791,31.0311256,56.5651879,10.6719523,39.1890868,63.5549266,34.6816171,43.4066109,20.6505449,2.8730106,18.2875364,13.4225146,40.2461474,20.2735719,2.2290376,2.2608529,35.9271186,30.9634242,57.4792336,10.1302024,38.5248336,63.3369688,34.706437,43.23985,20.2027975,2.8092457,17.9706927,14.1426558,40.511076,19.7345813,2.205053,2.2416714,35.4679876,30.2801616,57.232213,10.0786523,38.9271081,62.3503555,34.7487364,43.389726,19.9697048,2.4586994,18.0851298,14.028134,39.2228411,18.6738216,2.1056372,2.1097168,35.5411837,30.2030806,57.016586,9.9419737,38.8099048,62.1723746,34.368253,43.5326829,19.6392684,2.5159997,18.5156894,14.2964424,39.3236544,18.9245635,2.0073545,1.9811462,35.6375956,30.5200864,57.0483552,9.7940003,38.7839743,61.8706449,34.1445262,42.5695456,19.2884874,2.3498151,18.1820439,14.1827879,39.7424026,19.7934791 +2626,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2690616,2.2494666,37.9272626,32.9849654,64.4635844,14.8743784,33.1111345,63.4131619,29.6095199,39.8109298,17.367823,1.8514314,17.6575446,12.9056,38.4084034,27.3288053,2.2646236,2.2905893,38.1902724,33.2560884,64.7857415,14.3440291,33.7796796,63.2914915,28.9234755,39.6619825,16.9837458,1.8398082,18.6929283,13.4839433,38.7753836,26.9290099,2.3670836,2.4242403,38.3279198,33.0454223,65.5009241,14.0578677,33.9639389,63.6556292,28.9524008,39.8523195,16.4998161,1.8917616,18.737514,13.5579373,39.9337591,25.9919165,2.4856141,2.5637916,38.8383704,33.5230889,66.2587261,13.1650145,34.3525673,62.3533659,28.3876836,38.8697608,15.8348834,1.734478,18.4332739,13.4058088,40.9791597,26.1694444,2.5187758,2.5916753,39.0475915,34.1255699,66.6711113,13.4149772,34.9111533,62.7039274,29.1362936,39.8571165,16.5830319,1.9457855,17.6213851,13.0286976,40.2453054,26.7873991 +2627,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8783554,0.8940492,14.0553773,10.2682559,45.0405496,18.5452789,33.3446877,66.2396283,35.6994061,43.3171368,20.9716795,4.2590223,10.4523307,9.3921175,36.8700424,9.5775052,0.8932547,0.9085579,14.4759664,10.733184,45.961586,18.4743986,33.2693802,65.6054524,34.8446286,43.1930553,20.7582232,4.489272,10.4567885,9.2617998,36.3243313,10.5179139,0.9940409,0.9889729,15.0251351,11.0417886,45.9854168,18.1847357,33.0613703,65.1732716,34.2904209,43.1173903,20.5697877,4.4804779,10.1163265,9.2351202,36.0246427,12.0987823,1.0725516,1.0892451,16.0393156,12.0159396,46.4280563,17.9339396,33.7203696,64.5100779,34.0963795,43.8068064,20.9577824,4.4791118,10.3697767,8.8950058,36.5738169,13.1211462,1.1688389,1.1784011,16.2605739,12.5232069,46.0681072,17.9809799,33.6404011,64.2842801,33.8945167,44.2292701,21.039867,4.5002267,10.3287769,8.7003353,36.3345147,15.2892795 +2628,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6497783,0.6567813,9.9447972,6.9185326,38.6359207,15.8386312,30.4750082,70.0506285,38.1837479,47.0994723,21.2867439,3.980928,9.1335343,8.0444563,33.9305699,10.5345746,0.6949748,0.6993896,10.1033816,6.9454884,38.8965182,15.6625359,30.3255131,69.2122554,37.5673937,46.5042347,21.1575477,3.8617093,9.1521125,7.7639686,33.8278147,10.0318312,0.6673783,0.6845577,10.8803097,7.3847023,39.5440027,15.7235569,30.5971624,68.5417515,37.7854579,46.4339044,21.6304723,3.6971165,8.8853819,7.8965845,33.7389411,9.3846009,0.717325,0.7350087,11.1875615,7.7191368,40.1712127,15.4736798,30.5619926,68.3758112,37.3020349,46.4368418,21.4465039,3.9107745,9.4356615,8.1261282,33.7974351,9.6721153,0.8249406,0.843179,11.8992129,8.2214513,40.1642829,15.7702137,30.8067696,67.9183277,37.6195076,46.4840535,21.3047744,3.615539,9.8381801,8.1704161,34.561257,9.7269833 +2629,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8184939,0.8552641,17.6034073,14.4360231,59.0481206,13.4674931,27.2344769,66.2584984,30.1304241,41.9467225,13.9166999,4.7640105,14.2367372,11.1931991,30.1486761,8.3046687,0.8792837,0.9353223,17.6334856,14.3256121,59.7468867,13.5303043,27.2402347,66.3389537,29.537068,41.6652201,13.8072223,5.037409,14.0581973,10.6543523,30.510585,9.8184073,0.8571643,0.9052268,18.2125253,14.8395037,60.4831175,13.9754177,27.6310692,65.7271673,29.4702856,41.0677854,14.0242103,5.1004784,14.2196338,10.8502423,31.7195447,9.0689404,0.8776239,0.9248742,18.0570304,14.794566,61.1536804,13.9033887,27.5363332,65.4103808,29.1074295,41.1248303,13.881023,5.055974,14.3558033,10.4899104,31.2903441,9.0693229,0.9042173,0.9438384,18.3144485,15.1165275,61.705658,14.4539989,27.8838115,65.9552056,29.3068581,41.0932713,13.9712572,5.248605,14.3077643,10.6299464,32.0764733,9.2248865 +2630,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5896881,0.6080248,8.1263994,5.1151824,43.4613257,13.1278953,24.663381,68.1386945,31.6481714,44.7155834,15.2060325,4.8070348,12.2455969,11.5324401,31.6180643,4.7100937,0.4565768,0.4747797,8.056648,5.0185977,41.8800103,12.7887074,25.2897984,68.5224436,31.8123076,44.8965239,15.134718,4.9407327,12.1036285,11.7079644,31.5360851,4.7444736,0.4887805,0.5010901,8.3778773,5.2533106,40.7326742,12.5972906,25.5620506,68.3925383,32.6216993,44.3615432,15.0119652,4.6998593,11.8400404,11.9860979,31.1380662,4.0145546,0.4855065,0.5070525,8.3865324,5.4446321,40.2906966,12.6186175,25.2769369,68.2570519,32.807762,44.5869099,14.6177635,5.0784873,11.908322,11.7405015,31.588979,3.9285097,0.5299748,0.5513293,8.7415135,6.0110657,39.2776498,12.5202232,25.3659528,67.9902831,32.0096631,43.6077981,14.5359801,5.3572889,12.0549198,11.8889959,31.8149936,5.86198 +2631,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0299517,2.0299517,34.5238095,30.6776557,65.9351145,8.4259259,36.4564007,65.3988868,29.9628942,45.1762523,20.5009276,7.8849722,16.3003663,11.9047619,36.2132353,18.8461538,2.4280576,2.4280576,33.5538752,29.2060491,66.2324649,8.07393,36.4257812,64.3554687,29.1992188,44.8242188,19.6289062,7.3242187,16.4092664,12.9343629,36.627907,16.9291339,3.1269398,3.1269398,32.5831703,28.2778865,67.7385892,7.3293173,35.5983773,63.1845842,28.7018256,43.9148073,18.7626775,7.8093306,16.9201521,15.0190114,38.740458,16.4,3.0616943,3.0616943,33.8178295,30.1356589,69.2386831,7.6693227,36.3179074,63.6820926,29.2756539,45.3722334,17.806841,7.7464789,13.8257576,13.8257576,39.7338403,17.0833333,3.2019736,3.2019736,35.177453,32.2546973,68.1015453,7.9281184,37.7419355,62.688172,30.2150538,45.483871,18.8172043,8.4946237,14.375,12.7083333,39.7058824,15.9836066 +2632,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7733777,1.7618099,29.0600207,23.9451667,69.6522726,14.4834148,34.8917287,66.7539722,28.5611454,40.0830651,18.2550892,2.5030911,16.9418471,10.7476616,43.0258885,20.9208599,1.7124921,1.700971,28.2762642,23.7375606,70.5987902,14.7060461,35.185466,67.4054343,29.1825133,40.1881335,18.1654858,2.6835542,15.5286845,9.8835413,42.1556617,18.7551332,1.6608324,1.6706658,27.4393998,22.9586099,70.2640974,14.3772149,35.9869337,67.5361737,28.9843398,40.4453833,18.4922818,2.4503327,15.7598611,9.8891204,41.9726847,18.460174,1.6324511,1.6424314,26.8215492,22.1071066,69.7956235,14.1411345,36.0528659,67.5835462,29.0688171,40.5501318,18.3512262,2.7064356,15.5222176,9.6302768,41.9817406,18.9820158,1.4686237,1.478914,26.0093253,20.9961763,69.3573171,13.3931389,35.9270233,67.4641235,29.3238796,40.3837351,18.9930184,2.7841387,15.1449603,9.8696465,40.6620572,19.3492879 +2633,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4020597,1.4122732,20.4703293,15.9062166,70.9834977,11.5931858,31.2251491,60.8971288,29.8402714,37.2382299,16.3659332,3.1248089,15.7534674,12.4923283,40.7657017,10.3176241,1.4137558,1.4236764,20.737958,16.2898053,73.010245,11.3780422,31.9118466,60.749693,30.0626052,37.2162816,16.5817905,3.3213708,14.8357741,11.8558812,39.8963214,10.4143022,1.4071126,1.4012576,21.3599367,17.0558296,75.1516447,11.3988495,32.2276567,61.2031587,29.5952968,37.8839906,16.2721164,3.297237,14.4633451,11.6383378,39.2043519,10.1882025,1.2680963,1.2622575,22.3940729,18.0422366,77.4050493,11.537342,32.9269159,61.795854,29.8069457,38.912088,16.2679442,3.4379036,14.2379189,11.1871936,40.2697673,10.1923006,1.1720551,1.16233,21.8429382,17.9019305,78.4685133,11.7682889,33.0472518,61.6739417,30.4255374,39.1084988,16.2220651,3.2501401,13.9924628,11.5458799,39.6113337,8.8014936 +2634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7710512,0.8916014,14.0028945,10.667877,25.8053701,19.7730312,35.0363114,68.0171815,39.6981313,47.9212291,23.0996257,3.3213102,13.4880718,11.7623372,38.8653025,7.5757998,0.8521769,0.9778609,14.0173715,10.5077663,25.7037808,20.0301314,34.1548049,67.5983978,39.2507985,46.9613943,22.2653651,3.1661542,13.8446867,11.499874,37.8844988,8.3851397,0.8411963,0.9588668,15.2621497,11.4220799,26.5760877,19.6859809,34.4383596,66.0718287,37.4915183,46.2095998,21.8507692,3.2341722,14.1675884,11.342638,36.8012187,9.6491587,0.8038456,0.88081,15.8394979,12.1943125,27.4156481,20.0301455,34.0327074,65.455358,36.7654949,44.5404546,21.0494737,2.9830023,14.3380817,11.7953844,36.30713,8.4795173,0.8099415,0.8844855,16.7075028,12.8366791,27.5627085,20.3371202,33.5873607,65.2879792,36.042013,44.5886659,21.5850976,3.4392895,14.2338445,11.0550786,36.4044442,9.7058595 +2635,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2966052,1.3584922,19.5119611,15.3894062,85.2256079,12.6416686,32.2859609,63.6659083,36.5405492,38.901996,18.9951603,5.702315,13.7064424,11.6723025,37.5175744,14.4989546,1.1536573,1.215014,19.4899138,15.5318366,84.6424823,12.7779655,32.9593179,64.6174275,36.2558787,38.2045859,18.9190312,5.1417607,13.5522088,11.3125897,35.9182102,12.2040009,1.2156684,1.2777901,19.4971043,15.4832207,84.4636124,12.9818767,32.975739,65.9977769,36.1760547,38.1453873,19.3293146,5.1979209,13.8155617,11.5709247,36.7994519,13.1160582,1.2195861,1.283302,20.1525768,16.0694173,83.7750265,12.4409249,33.1341151,66.1108658,36.6271981,38.2308546,19.3421673,4.9148079,12.9383987,10.3521005,36.164635,13.6108118,1.1669668,1.2637247,20.3226677,16.3122431,82.8123787,13.102513,33.3525093,66.1834949,37.9554382,39.3708896,20.0571091,5.0593533,13.2208086,10.5352143,36.3546298,12.5121499 +2636,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6608824,1.7225805,23.9492049,19.334097,45.0005549,16.2779007,42.444164,66.9368708,39.7978614,51.17426,30.8589712,4.4241419,11.673904,9.0136045,32.3592572,15.5979303,1.8723496,1.9345341,23.9012285,19.5854182,44.5476548,14.9997609,41.7154583,66.8785729,40.7478299,52.3716474,31.2390705,4.3694639,11.8453746,8.1103958,30.618664,18.2324431,1.8449033,1.9067627,24.9397098,20.1442606,45.1616156,15.4346003,41.7106921,65.9182605,40.4088396,51.8997015,30.4328992,4.3512807,11.9539362,8.2395958,31.8772668,18.096341,1.9005907,1.9652301,25.6432754,20.5399924,44.7606314,14.8880567,41.1780714,66.1478614,42.2883011,51.5354686,31.0961818,4.3594371,10.7271174,6.5527571,30.1790694,18.3979793,1.6303891,1.6407106,26.203067,21.3736414,45.6055219,14.1761503,42.0105293,66.0005796,41.2963979,50.8059293,28.9380485,4.667235,9.8394744,6.7268894,30.198196,19.7493167 +2637,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9683807,0.9923242,14.1622976,10.6169235,46.8961337,19.5623591,32.7042755,62.9766486,33.1841807,44.0012972,19.9286625,6.2581081,11.0786939,8.1785462,33.4690456,8.7209439,0.9617202,0.9853162,14.2812279,10.6245305,47.5511012,19.2922515,32.617337,64.4075376,33.5278357,44.1972358,19.7294171,6.0720704,11.1923872,8.8063629,32.8600181,8.7732919,0.9652315,0.9886599,14.2156875,10.6912401,48.9158655,19.6200922,32.2011395,64.9525585,34.2251823,43.6875467,19.614167,6.2555349,11.3919922,8.9125218,33.1902187,8.2481752,0.9526125,0.978372,14.0810324,10.6803501,49.993418,20.2508043,31.8132143,65.6623133,34.6347184,43.6572178,19.3996471,6.00863,10.8922706,8.7728834,33.3694989,8.698538,1.0101614,1.030556,14.5272927,11.0761552,50.6071343,20.6781173,31.8088416,65.9930976,35.0938542,43.6065372,19.4735158,5.9904386,11.0827269,8.7550541,33.353829,8.6352636 +2638,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5829931,0.5950776,10.5911405,6.9110552,41.0811516,23.7426431,30.0785621,64.5082068,28.9435528,41.6035677,15.2357227,7.3486463,11.7803173,8.9843789,33.231084,5.477505,0.5687121,0.5808069,10.8519402,7.3167382,42.9888074,23.4661419,30.0929772,64.9375451,29.6280113,41.1362609,14.8939169,7.396094,12.1100579,8.9978314,33.4129178,5.8265346,0.6722542,0.6844109,10.730938,7.382079,44.2208728,23.9735026,29.7007691,65.5471126,30.6688225,40.4663705,14.8870521,7.5241874,12.0599495,9.1364612,33.0071365,6.3801834,0.7758143,0.7878247,11.2945111,7.7640785,44.6629324,25.0505551,29.6644178,66.6329574,31.5736127,41.6401095,14.8828307,7.4486398,12.0779521,9.1927176,33.2549287,6.3749761,0.7353211,0.6906754,11.1561093,7.7771571,44.3217923,24.3572609,29.9320522,67.3790343,32.451167,41.4236796,15.1004654,7.345018,12.7677631,9.6674019,33.5702099,6.3095013 +2639,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6994976,1.6446769,24.9351749,20.0001214,54.563895,15.8537303,42.0608732,66.2145193,37.5649571,46.0942739,22.8030776,3.9597317,13.7953117,10.7296928,34.5889639,17.8571227,1.6874936,1.663398,25.0462995,19.9801529,55.3780065,15.8256356,42.0410658,66.4483735,36.8534316,45.4970579,23.0744311,3.8518973,13.1817202,10.7464351,34.9587338,18.3071437,1.7001876,1.6761154,25.2546172,20.2898138,53.9846197,16.6679138,41.5800722,65.1908894,35.9648633,45.1462322,22.8470414,4.1725143,12.2128582,10.1428421,34.6006864,17.1487875,1.7590737,1.7284651,24.657776,19.883662,54.4357775,16.3742794,41.6094511,65.5218004,35.1089468,45.2814958,22.8898109,3.9604582,12.9830094,10.7850412,34.8742477,15.4618813,1.7486129,1.7004254,24.3156713,19.4683394,53.0600873,16.4001928,42.2724563,66.0244054,35.2770074,45.8530984,24.3229075,3.716229,12.900963,11.2954883,34.8226542,14.0756664 +2640,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6840654,1.7157536,27.5543068,23.5155297,41.7453256,15.2401672,34.8977575,61.7179848,32.5833091,44.8045539,18.5637618,3.1192453,14.1355617,10.1405631,36.3786596,20.7352253,1.4826655,1.5107886,28.1537097,24.2541981,43.7350109,15.292235,35.7834773,62.1572705,32.0409682,44.7933052,18.6018826,2.9346266,14.2225723,10.3847342,36.015574,17.7468339,1.4672963,1.5092001,29.5243414,25.2272618,45.7246478,15.3814424,35.9230555,61.5298603,31.4673408,44.8626607,18.5065627,2.9502669,13.9606784,10.524292,35.7905024,19.0961447,1.5591412,1.5848058,29.8736793,25.2658371,46.7360156,15.8283157,36.5023755,61.770542,31.5049172,44.4134105,18.7953282,2.9407104,14.1291843,10.6735668,36.0827399,20.2548729,1.6450265,1.6707403,29.8213404,25.2823572,47.3011291,15.9833299,36.2296325,62.0023042,32.660913,45.0686972,19.3178437,3.1403981,14.4768105,10.9276026,35.856789,20.2478352 +2641,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7124921,1.700971,28.2762642,23.7375606,70.5987902,14.7060461,35.185466,67.4054343,29.1825133,40.1881335,18.1654858,2.6835542,15.5286845,9.8835413,42.1556617,18.7551332,1.6608324,1.6706658,27.4393998,22.9586099,70.2640974,14.3772149,35.9869337,67.5361737,28.9843398,40.4453833,18.4922818,2.4503327,15.7598611,9.8891204,41.9726847,18.460174,1.6324511,1.6424314,26.8215492,22.1071066,69.7956235,14.1411345,36.0528659,67.5835462,29.0688171,40.5501318,18.3512262,2.7064356,15.5222176,9.6302768,41.9817406,18.9820158,1.4686237,1.478914,26.0093253,20.9961763,69.3573171,13.3931389,35.9270233,67.4641235,29.3238796,40.3837351,18.9930184,2.7841387,15.1449603,9.8696465,40.6620572,19.3492879,1.4750788,1.4873947,26.0596581,21.0723723,69.7365998,13.3848314,35.5093361,66.4642206,28.6682569,40.2880607,19.2018648,2.7788296,15.1544589,9.6406634,40.9012313,18.0399321 +2642,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6271361,1.7122231,28.1112217,24.1324414,43.5664818,17.2818709,40.2292307,67.2449019,36.5863595,48.2223264,25.2056282,3.7356374,11.9114728,9.3681112,30.0985858,28.8454618,1.6361009,1.7514714,27.3969919,23.4283117,44.0227184,17.3817291,39.833366,65.7853514,35.9556386,48.0211588,24.8548714,3.557537,11.979023,9.5746519,30.9487679,29.815664,1.7397315,1.8194445,27.068009,23.3913166,44.1182905,17.7301686,39.7722111,66.1183706,36.0755154,48.1286568,25.0222938,3.8003391,12.1191263,10.1538861,30.3539613,28.9214895,1.6170708,1.7039089,26.661641,22.8182944,43.4829529,18.1564074,39.5209006,66.2734704,36.3240778,48.1823334,25.3191981,3.6053755,12.3340307,10.6045591,29.9126661,25.3225084,1.5972206,1.6569772,25.9305924,22.1177779,42.8860561,17.6745693,39.5655067,67.1762044,36.9394301,48.6898746,27.4575185,3.5690086,12.2506711,10.8740879,30.2608752,23.2727216 +2643,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9772143,1.025331,17.0493289,13.193895,53.5712107,12.6433292,30.2913418,65.6515632,35.6341406,41.4174965,18.4989817,4.3897693,12.8646133,10.8214683,33.8584789,13.9254221,1.0648986,1.1406124,17.4706873,13.469593,53.9028153,12.2531473,30.6873099,66.3382676,35.6206945,40.6869949,18.4703007,4.3173948,13.3364309,11.6137819,34.4160612,14.3529937,1.1002983,1.1947341,17.8071478,13.8149183,54.5770151,12.3999589,30.8094222,66.4254012,35.8088273,40.3636142,18.4063678,4.2811023,13.1290512,11.3855476,34.2295184,13.7588059,1.1531021,1.2429776,18.0163168,13.8938448,55.8837076,12.0791427,31.573215,66.2408594,35.1273576,40.3520241,18.0104311,4.3056942,13.4406817,11.1802983,34.4927061,13.3831076,1.1919549,1.2818408,17.80445,13.6897426,56.3545717,11.9701172,32.0478148,66.3274565,35.3008988,39.8872795,18.2679412,4.3648356,13.6180859,11.568318,34.9019253,12.3963342 +2644,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9025059,0.909059,15.7503933,12.8588862,45.0454013,17.7865433,33.1036415,65.3323073,35.0838719,47.4688181,20.0874325,4.9468325,13.0316293,10.3717161,26.9445419,12.4984724,0.8035985,0.8101081,15.7114085,12.5774736,44.8757888,17.4051727,33.2144081,64.6970545,34.7409882,47.0965894,20.3535168,4.780815,12.7551489,10.6308586,27.1865073,12.498548,0.9007856,0.907333,15.8281542,12.709333,46.0004882,16.7075836,34.216201,64.8179789,34.7586838,47.0950754,20.7465453,5.0335251,13.179764,11.1778689,27.6145346,10.9681918,0.932398,0.932398,16.4703868,13.2626638,47.0915399,16.3673519,34.9832239,65.2128517,34.8440519,46.7562496,20.8704159,4.8995878,13.9055606,11.8406693,27.7936657,11.0366488,0.8859989,0.9083033,16.5362495,13.125043,47.1616225,15.9986952,34.9076733,65.3492076,34.5666635,46.6247249,21.0091238,5.0971817,13.6960261,11.2972374,26.4639606,10.2489457 +2645,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8402576,0.8831387,12.7094813,8.4983668,24.1844464,16.5062968,35.3260699,64.9421317,36.1730619,48.2001846,21.3791812,3.6490719,11.3143118,10.0985342,33.3497441,8.739255,0.856898,0.9106611,12.9527747,8.4499568,24.4588248,16.4018896,35.3921467,64.3580942,34.9955707,47.7452882,21.2911352,3.7676287,11.7465138,10.3396342,33.7981484,8.83233,0.8435173,0.8950856,13.2728509,8.7462168,25.348308,16.1033495,35.3775566,64.3023519,34.7083004,47.6284189,21.409864,3.7028964,11.9449781,9.982809,33.7745201,8.5507147,0.7817873,0.8500594,13.6791167,9.117073,26.0906104,15.7008412,35.4041231,63.922342,34.3006787,46.8974146,21.1307043,3.6471774,12.0813186,9.9566785,33.4921709,9.3390697,0.7373015,0.7957448,14.0577127,9.4577665,26.9335072,16.1933152,35.1487224,63.7747966,34.4263616,46.8484627,21.5793329,3.6756355,12.2572951,9.9671171,33.2878148,9.3575314 +2646,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8932547,0.9085579,14.4759664,10.733184,45.961586,18.4743986,33.2693802,65.6054524,34.8446286,43.1930553,20.7582232,4.489272,10.4567885,9.2617998,36.3243313,10.5179139,0.9940409,0.9889729,15.0251351,11.0417886,45.9854168,18.1847357,33.0613703,65.1732716,34.2904209,43.1173903,20.5697877,4.4804779,10.1163265,9.2351202,36.0246427,12.0987823,1.0725516,1.0892451,16.0393156,12.0159396,46.4280563,17.9339396,33.7203696,64.5100779,34.0963795,43.8068064,20.9577824,4.4791118,10.3697767,8.8950058,36.5738169,13.1211462,1.1688389,1.1784011,16.2605739,12.5232069,46.0681072,17.9809799,33.6404011,64.2842801,33.8945167,44.2292701,21.039867,4.5002267,10.3287769,8.7003353,36.3345147,15.2892795,1.2576409,1.2666941,17.0934435,13.1645788,46.8299808,17.8002826,33.8719378,63.6994334,33.0891448,44.0086036,20.8050076,4.3656823,10.1664438,8.5134116,36.4318689,14.8101735 +2647,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.947497,0.9707941,14.2737329,10.0742678,46.1080431,11.7697001,30.9425786,65.1655995,40.1633336,42.5733581,22.9536296,4.6103842,10.1978723,9.0856258,40.2308277,9.9004504,0.9965754,1.0125267,14.7532138,10.5289745,46.2850307,11.8775826,30.7921457,64.9647224,39.897939,42.4346135,22.3971658,4.4931297,10.1195329,8.882586,40.012577,10.3932681,0.9736286,0.9939667,15.0005459,10.9592699,46.3564836,11.851655,31.0040155,64.4639888,39.7233896,42.314371,22.4694162,4.4799618,10.1177141,8.8813684,40.0471092,10.4820735,0.9671638,1.007116,15.7731311,11.7111859,46.8505119,11.604015,31.920069,63.6890605,38.867116,42.1645539,22.0534446,4.3857263,10.4180907,8.8683953,40.1463836,12.0143116,1.0045728,1.0487466,16.7132687,12.3354799,46.7807535,11.4585833,32.1517071,63.1202626,38.000665,41.8861954,21.5922039,4.2270821,10.5758633,8.84363,40.6542816,12.9441581 +2648,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0648986,1.1406124,17.4706873,13.469593,53.9028153,12.2531473,30.6873099,66.3382676,35.6206945,40.6869949,18.4703007,4.3173948,13.3364309,11.6137819,34.4160612,14.3529937,1.1002983,1.1947341,17.8071478,13.8149183,54.5770151,12.3999589,30.8094222,66.4254012,35.8088273,40.3636142,18.4063678,4.2811023,13.1290512,11.3855476,34.2295184,13.7588059,1.1531021,1.2429776,18.0163168,13.8938448,55.8837076,12.0791427,31.573215,66.2408594,35.1273576,40.3520241,18.0104311,4.3056942,13.4406817,11.1802983,34.4927061,13.3831076,1.1919549,1.2818408,17.80445,13.6897426,56.3545717,11.9701172,32.0478148,66.3274565,35.3008988,39.8872795,18.2679412,4.3648356,13.6180859,11.568318,34.9019253,12.3963342,1.1934957,1.3118415,18.1987806,14.0083441,56.5514696,12.000489,32.4426578,66.3323349,34.3205055,39.8483992,17.7789777,4.2954969,13.2304183,11.1042916,34.5293069,10.5623412 +2649,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7197357,0.7018402,9.0160796,5.9915773,45.147594,22.3601261,29.8915149,65.381635,29.4653235,43.4134057,16.7183262,4.668733,10.5161999,7.6859046,36.3611264,6.4903846,0.8435966,0.8250092,9.3362655,6.177529,44.4280908,22.602459,30.0402414,65.8551308,29.8390342,42.6760563,17.0422535,4.4064386,10.7541899,7.9199549,35.7862339,8.0097087,0.7484308,0.7609012,10.2507076,6.9753336,45.3676158,22.3902237,30.5150041,65.7137064,29.5823195,42.5587997,16.7680454,4.3187348,10.9036797,8.1693989,35.7954545,7.3232323,0.746611,0.771184,11.3437002,7.6355662,46.8527067,22.8145425,30.6908946,65.1158147,29.293131,42.3921725,16.6333866,3.9337061,10.7124682,8.0976864,35.4961832,6.8527919,0.7966989,0.8389694,11.7406542,8.0412773,48.4656301,23.4318817,31.0176125,64.9902153,29.334638,43.3855186,17.0841487,4.3639922,10.7232546,7.6825558,34.7640562,6.712963 +2650,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4826655,1.5107886,28.1537097,24.2541981,43.7350109,15.292235,35.7834773,62.1572705,32.0409682,44.7933052,18.6018826,2.9346266,14.2225723,10.3847342,36.015574,17.7468339,1.4672963,1.5092001,29.5243414,25.2272618,45.7246478,15.3814424,35.9230555,61.5298603,31.4673408,44.8626607,18.5065627,2.9502669,13.9606784,10.524292,35.7905024,19.0961447,1.5591412,1.5848058,29.8736793,25.2658371,46.7360156,15.8283157,36.5023755,61.770542,31.5049172,44.4134105,18.7953282,2.9407104,14.1291843,10.6735668,36.0827399,20.2548729,1.6450265,1.6707403,29.8213404,25.2823572,47.3011291,15.9833299,36.2296325,62.0023042,32.660913,45.0686972,19.3178437,3.1403981,14.4768105,10.9276026,35.856789,20.2478352,1.6631371,1.6890126,29.3705457,25.0015976,49.0387766,16.4777609,36.1916809,61.5116311,32.079392,44.8269278,19.3667426,3.2377828,14.7067195,11.3750645,35.9739766,19.4623617 +2651,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.974609,0.9670767,12.989326,8.6865139,35.6222376,19.0249383,30.1062859,70.2922758,40.4350565,46.0146076,22.2351489,3.2049164,10.4923055,9.2729501,33.5083322,10.7143407,1.0432437,1.0457984,13.3825915,9.1789843,35.4611057,19.230749,29.7675301,70.0303339,40.8524126,46.0747917,22.2877366,3.2850385,10.2812485,8.7867351,32.8633963,11.9680915,1.1041043,1.0883065,13.1899752,9.3972268,36.0588782,19.4949957,29.9132039,69.1840326,40.0867868,45.5381875,22.204863,3.3506897,10.5513325,8.375793,33.1317612,13.6627986,1.0767341,1.0747249,13.6922111,9.7478248,36.2192515,19.0042801,30.7807503,68.5880538,39.6511536,45.4651256,22.2093104,3.3056437,9.5596629,7.7117257,34.1100634,12.6343684,1.0991725,1.1189334,14.0538139,10.1577066,36.0711837,19.0664423,30.478179,67.7802534,39.3445193,44.5693646,21.2634662,3.3723911,9.7935786,8.0718619,35.6313279,12.6942619 +2652,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.0432437,1.0457984,13.3825915,9.1789843,35.4611057,19.230749,29.7675301,70.0303339,40.8524126,46.0747917,22.2877366,3.2850385,10.2812485,8.7867351,32.8633963,11.9680915,1.1041043,1.0883065,13.1899752,9.3972268,36.0588782,19.4949957,29.9132039,69.1840326,40.0867868,45.5381875,22.204863,3.3506897,10.5513325,8.375793,33.1317612,13.6627986,1.0767341,1.0747249,13.6922111,9.7478248,36.2192515,19.0042801,30.7807503,68.5880538,39.6511536,45.4651256,22.2093104,3.3056437,9.5596629,7.7117257,34.1100634,12.6343684,1.0991725,1.1189334,14.0538139,10.1577066,36.0711837,19.0664423,30.478179,67.7802534,39.3445193,44.5693646,21.2634662,3.3723911,9.7935786,8.0718619,35.6313279,12.6942619,1.1465771,1.1661289,14.4539728,10.4466283,36.2556787,18.4011221,30.8357222,67.1536401,39.0983387,44.2193092,20.5623738,3.1888185,10.0435886,8.1955237,36.0436982,12.8787944 +2653,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8435966,0.8250092,9.3362655,6.177529,44.4280908,22.602459,30.0402414,65.8551308,29.8390342,42.6760563,17.0422535,4.4064386,10.7541899,7.9199549,35.7862339,8.0097087,0.7484308,0.7609012,10.2507076,6.9753336,45.3676158,22.3902237,30.5150041,65.7137064,29.5823195,42.5587997,16.7680454,4.3187348,10.9036797,8.1693989,35.7954545,7.3232323,0.746611,0.771184,11.3437002,7.6355662,46.8527067,22.8145425,30.6908946,65.1158147,29.293131,42.3921725,16.6333866,3.9337061,10.7124682,8.0976864,35.4961832,6.8527919,0.7966989,0.8389694,11.7406542,8.0412773,48.4656301,23.4318817,31.0176125,64.9902153,29.334638,43.3855186,17.0841487,4.3639922,10.7232546,7.6825558,34.7640562,6.712963,0.6033505,0.627177,11.3058552,7.9545455,49.98,22.4326435,30.3036126,65.5457341,29.8039969,42.7555726,16.7371253,4.3620292,11.4657814,8.114374,35.2022529,7.5342466 +2654,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6608324,1.6706658,27.4393998,22.9586099,70.2640974,14.3772149,35.9869337,67.5361737,28.9843398,40.4453833,18.4922818,2.4503327,15.7598611,9.8891204,41.9726847,18.460174,1.6324511,1.6424314,26.8215492,22.1071066,69.7956235,14.1411345,36.0528659,67.5835462,29.0688171,40.5501318,18.3512262,2.7064356,15.5222176,9.6302768,41.9817406,18.9820158,1.4686237,1.478914,26.0093253,20.9961763,69.3573171,13.3931389,35.9270233,67.4641235,29.3238796,40.3837351,18.9930184,2.7841387,15.1449603,9.8696465,40.6620572,19.3492879,1.4750788,1.4873947,26.0596581,21.0723723,69.7365998,13.3848314,35.5093361,66.4642206,28.6682569,40.2880607,19.2018648,2.7788296,15.1544589,9.6406634,40.9012313,18.0399321,1.4588643,1.4964178,25.1810462,20.1594936,68.6891612,13.9403433,37.3610579,66.8033006,29.3555383,41.2674195,19.2755944,2.9164375,14.9226341,9.5444899,39.4010197,17.3214011 +2655,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.2290376,2.2608529,35.9271186,30.9634242,57.4792336,10.1302024,38.5248336,63.3369688,34.706437,43.23985,20.2027975,2.8092457,17.9706927,14.1426558,40.511076,19.7345813,2.205053,2.2416714,35.4679876,30.2801616,57.232213,10.0786523,38.9271081,62.3503555,34.7487364,43.389726,19.9697048,2.4586994,18.0851298,14.028134,39.2228411,18.6738216,2.1056372,2.1097168,35.5411837,30.2030806,57.016586,9.9419737,38.8099048,62.1723746,34.368253,43.5326829,19.6392684,2.5159997,18.5156894,14.2964424,39.3236544,18.9245635,2.0073545,1.9811462,35.6375956,30.5200864,57.0483552,9.7940003,38.7839743,61.8706449,34.1445262,42.5695456,19.2884874,2.3498151,18.1820439,14.1827879,39.7424026,19.7934791,1.9752713,1.9719622,35.8808669,30.8612659,57.0795697,9.7869237,37.8380227,62.0458658,33.6278577,42.1900002,18.7400813,2.1639596,19.0649342,14.9660877,40.6841826,20.240426 +2656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6949748,0.6993896,10.1033816,6.9454884,38.8965182,15.6625359,30.3255131,69.2122554,37.5673937,46.5042347,21.1575477,3.8617093,9.1521125,7.7639686,33.8278147,10.0318312,0.6673783,0.6845577,10.8803097,7.3847023,39.5440027,15.7235569,30.5971624,68.5417515,37.7854579,46.4339044,21.6304723,3.6971165,8.8853819,7.8965845,33.7389411,9.3846009,0.717325,0.7350087,11.1875615,7.7191368,40.1712127,15.4736798,30.5619926,68.3758112,37.3020349,46.4368418,21.4465039,3.9107745,9.4356615,8.1261282,33.7974351,9.6721153,0.8249406,0.843179,11.8992129,8.2214513,40.1642829,15.7702137,30.8067696,67.9183277,37.6195076,46.4840535,21.3047744,3.615539,9.8381801,8.1704161,34.561257,9.7269833,0.9092151,0.9362347,12.8397276,9.0312606,40.2106781,15.9347819,31.2629588,67.8133854,36.7860475,45.9849208,20.9519265,3.496699,10.1926261,8.0910815,33.9100704,9.5161198 +2657,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8521769,0.9778609,14.0173715,10.5077663,25.7037808,20.0301314,34.1548049,67.5983978,39.2507985,46.9613943,22.2653651,3.1661542,13.8446867,11.499874,37.8844988,8.3851397,0.8411963,0.9588668,15.2621497,11.4220799,26.5760877,19.6859809,34.4383596,66.0718287,37.4915183,46.2095998,21.8507692,3.2341722,14.1675884,11.342638,36.8012187,9.6491587,0.8038456,0.88081,15.8394979,12.1943125,27.4156481,20.0301455,34.0327074,65.455358,36.7654949,44.5404546,21.0494737,2.9830023,14.3380817,11.7953844,36.30713,8.4795173,0.8099415,0.8844855,16.7075028,12.8366791,27.5627085,20.3371202,33.5873607,65.2879792,36.042013,44.5886659,21.5850976,3.4392895,14.2338445,11.0550786,36.4044442,9.7058595,0.8557831,0.8875209,17.3645389,13.2766247,27.8282899,20.461285,33.1313023,64.7928908,35.2594123,44.9118235,21.2631004,3.4583917,13.9310285,10.873573,36.9103534,12.9517838 +2658,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8014133,0.8411834,12.6790247,8.5349308,25.4167575,14.0459657,30.3868089,67.4060084,40.4460007,47.5609001,20.6656862,8.3364557,11.1080412,9.459818,32.734073,9.6353847,0.8312468,0.8500403,12.7484533,8.6966526,25.9147032,13.9861975,30.4994024,67.2391995,40.2341446,46.6625919,20.8730406,8.2206365,10.6715182,9.7012128,33.9189163,10.8938171,0.8371631,0.8546972,13.1276545,8.8945835,26.3786772,13.8982216,31.6557215,65.8835424,38.5155794,46.149027,20.7545628,8.1044985,10.8412545,9.3031272,33.7463916,9.7499695,0.7769544,0.8032662,13.684103,9.3697717,26.8092903,13.6982958,32.1047762,65.9204749,37.96288,46.3769018,20.8854433,7.6297624,11.0703675,8.9454312,33.6386307,9.1584294,0.8355664,0.8619769,13.8903113,9.5379232,26.850639,13.2064236,31.8020561,64.9183341,37.0598219,46.2110833,20.6098751,6.9421349,11.2874324,9.1537259,33.2622482,6.783923 +2659,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8035985,0.8101081,15.7114085,12.5774736,44.8757888,17.4051727,33.2144081,64.6970545,34.7409882,47.0965894,20.3535168,4.780815,12.7551489,10.6308586,27.1865073,12.498548,0.9007856,0.907333,15.8281542,12.709333,46.0004882,16.7075836,34.216201,64.8179789,34.7586838,47.0950754,20.7465453,5.0335251,13.179764,11.1778689,27.6145346,10.9681918,0.932398,0.932398,16.4703868,13.2626638,47.0915399,16.3673519,34.9832239,65.2128517,34.8440519,46.7562496,20.8704159,4.8995878,13.9055606,11.8406693,27.7936657,11.0366488,0.8859989,0.9083033,16.5362495,13.125043,47.1616225,15.9986952,34.9076733,65.3492076,34.5666635,46.6247249,21.0091238,5.0971817,13.6960261,11.2972374,26.4639606,10.2489457,0.8049486,0.8274952,16.3108284,13.0115346,46.8541828,15.8190671,34.7739447,65.5434771,34.4601088,47.0185616,21.1436871,4.8188529,13.4969846,11.1843232,27.0938075,9.5596625 +2660,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9007856,0.907333,15.8281542,12.709333,46.0004882,16.7075836,34.216201,64.8179789,34.7586838,47.0950754,20.7465453,5.0335251,13.179764,11.1778689,27.6145346,10.9681918,0.932398,0.932398,16.4703868,13.2626638,47.0915399,16.3673519,34.9832239,65.2128517,34.8440519,46.7562496,20.8704159,4.8995878,13.9055606,11.8406693,27.7936657,11.0366488,0.8859989,0.9083033,16.5362495,13.125043,47.1616225,15.9986952,34.9076733,65.3492076,34.5666635,46.6247249,21.0091238,5.0971817,13.6960261,11.2972374,26.4639606,10.2489457,0.8049486,0.8274952,16.3108284,13.0115346,46.8541828,15.8190671,34.7739447,65.5434771,34.4601088,47.0185616,21.1436871,4.8188529,13.4969846,11.1843232,27.0938075,9.5596625,0.8691302,0.8847695,16.4035023,12.9395425,46.4183364,15.3967547,35.7610097,65.469395,34.7348939,47.4217191,21.8422331,4.6832297,13.1245319,10.8202843,27.6712838,9.6495547 +2661,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9154936,1.8613906,34.6222649,29.4877612,50.0838704,19.362473,38.0281204,66.8546232,34.8893139,47.758139,20.5123299,3.9577753,12.8776152,11.6795354,33.7693369,24.2336476,1.8476081,1.7937986,34.6857621,29.6542716,48.8544584,18.8346157,38.9188626,67.6005749,35.2187329,48.4557533,20.9862683,3.7932318,12.190335,12.1377949,32.6579908,26.5127723,1.4458578,1.4458578,33.9489748,29.2383929,49.0854068,19.0102416,39.222007,68.1858207,36.1116527,49.3703606,22.3331154,4.0375439,10.7823699,12.0152097,31.8130417,24.7372916,1.3182535,1.3532987,34.0765465,29.5079547,49.6832026,18.1475266,38.9245006,69.2570262,36.0044664,49.6166243,21.531563,3.782622,11.2818154,11.6506314,31.4155587,25.2580476,1.6662571,1.7751781,33.840293,29.0029911,48.998996,18.072249,38.7361267,69.1273712,35.6309332,49.9240668,21.2429162,3.6898103,11.5628991,10.306276,31.4149271,24.2990983 +2662,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8411963,0.9588668,15.2621497,11.4220799,26.5760877,19.6859809,34.4383596,66.0718287,37.4915183,46.2095998,21.8507692,3.2341722,14.1675884,11.342638,36.8012187,9.6491587,0.8038456,0.88081,15.8394979,12.1943125,27.4156481,20.0301455,34.0327074,65.455358,36.7654949,44.5404546,21.0494737,2.9830023,14.3380817,11.7953844,36.30713,8.4795173,0.8099415,0.8844855,16.7075028,12.8366791,27.5627085,20.3371202,33.5873607,65.2879792,36.042013,44.5886659,21.5850976,3.4392895,14.2338445,11.0550786,36.4044442,9.7058595,0.8557831,0.8875209,17.3645389,13.2766247,27.8282899,20.461285,33.1313023,64.7928908,35.2594123,44.9118235,21.2631004,3.4583917,13.9310285,10.873573,36.9103534,12.9517838,0.9792551,0.976399,18.1470779,13.9609034,27.750494,21.1719965,33.3078632,64.7520906,34.626954,44.6904565,21.2036768,3.3062654,13.983171,10.7927188,37.5115584,13.6871203 +2663,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9400678,0.9628661,17.7274343,14.3988416,75.6506894,8.4069443,28.0319008,63.5043565,28.0368012,37.1041256,14.6391878,5.5454142,14.0746186,9.4779647,36.2992813,9.2795364,0.9422958,0.9645676,18.1567494,14.7158142,76.2262776,8.1174687,28.0391001,63.5716463,27.948738,37.1036659,14.7042012,5.491194,14.3561876,9.8443005,37.063479,9.6648081,0.9783996,0.9898469,18.2803015,14.9361121,76.7667212,8.2630038,28.1649363,63.7852163,28.2592481,37.3104815,14.519936,5.7159467,14.4850662,9.9553866,37.0573558,9.4718153,0.9797999,0.9978858,18.213374,14.8092666,77.0585084,8.0685856,28.4540546,63.707739,28.086473,37.1357374,14.2255976,5.7301134,14.6405538,9.9226458,36.9817583,9.9164657,0.9961764,1.0150422,18.2071173,14.7024224,77.4151929,7.9152977,28.157223,63.4373856,28.1055283,36.949006,13.9656487,5.5438349,14.7382346,9.7307661,36.8833954,9.5727572 +2664,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7446169,0.7579469,12.5181958,9.748464,39.0421697,10.84491,30.7385049,66.7383119,34.984448,47.0093969,19.3291458,2.97229,12.2410298,10.0442784,29.3471791,9.0983621,0.825505,0.8433299,12.735582,9.9401577,39.3349566,10.8218956,30.758436,66.8033278,34.972873,46.9555672,19.3395359,3.0078219,12.2907515,10.1500082,29.5433767,8.7955626,0.8405834,0.8298432,13.2052917,10.3907923,40.1280051,10.7140028,30.2031317,66.7635674,34.6352464,46.4469195,18.763089,2.9775749,11.9764812,9.6560368,29.3832846,9.1121524,0.7793939,0.7629632,13.9227507,10.8479062,40.8343076,10.7311984,30.1476675,66.8269602,34.1479502,46.1371143,18.5085328,3.0191178,12.5408366,10.0553341,30.0074309,8.4234996,0.782203,0.7656823,14.0297236,10.9243754,41.4182019,10.687252,30.1630906,67.1535301,34.1879458,45.8244531,18.5516478,3.12851,12.3730017,10.0913148,29.5590874,8.9116761 +2665,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6673783,0.6845577,10.8803097,7.3847023,39.5440027,15.7235569,30.5971624,68.5417515,37.7854579,46.4339044,21.6304723,3.6971165,8.8853819,7.8965845,33.7389411,9.3846009,0.717325,0.7350087,11.1875615,7.7191368,40.1712127,15.4736798,30.5619926,68.3758112,37.3020349,46.4368418,21.4465039,3.9107745,9.4356615,8.1261282,33.7974351,9.6721153,0.8249406,0.843179,11.8992129,8.2214513,40.1642829,15.7702137,30.8067696,67.9183277,37.6195076,46.4840535,21.3047744,3.615539,9.8381801,8.1704161,34.561257,9.7269833,0.9092151,0.9362347,12.8397276,9.0312606,40.2106781,15.9347819,31.2629588,67.8133854,36.7860475,45.9849208,20.9519265,3.496699,10.1926261,8.0910815,33.9100704,9.5161198,0.856117,0.8730154,13.0855162,9.2721748,40.6250191,15.2988224,30.7439593,67.4982283,36.0706671,45.800783,20.6942326,3.4002095,10.1014408,7.9178426,33.3569549,9.2532702 +2666,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.717325,0.7350087,11.1875615,7.7191368,40.1712127,15.4736798,30.5619926,68.3758112,37.3020349,46.4368418,21.4465039,3.9107745,9.4356615,8.1261282,33.7974351,9.6721153,0.8249406,0.843179,11.8992129,8.2214513,40.1642829,15.7702137,30.8067696,67.9183277,37.6195076,46.4840535,21.3047744,3.615539,9.8381801,8.1704161,34.561257,9.7269833,0.9092151,0.9362347,12.8397276,9.0312606,40.2106781,15.9347819,31.2629588,67.8133854,36.7860475,45.9849208,20.9519265,3.496699,10.1926261,8.0910815,33.9100704,9.5161198,0.856117,0.8730154,13.0855162,9.2721748,40.6250191,15.2988224,30.7439593,67.4982283,36.0706671,45.800783,20.6942326,3.4002095,10.1014408,7.9178426,33.3569549,9.2532702,0.8985756,0.9206935,13.7226361,9.548058,40.7674225,15.1480015,31.1609433,66.7282321,35.417764,45.0043981,20.0615542,3.2981497,10.5128915,7.8826364,33.5535191,10.3279209 +2667,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7696561,1.6644804,28.859638,24.5565542,64.4266799,13.5600625,32.5339366,64.4560868,29.948443,39.9942909,17.8673549,2.5221887,16.1007157,12.3376244,39.023173,16.7177811,1.8002537,1.7036724,28.7552185,24.4053355,64.8534533,14.2823476,31.782079,63.7599439,29.4249325,39.6684703,18.3664985,2.3359854,17.0329061,13.336153,40.5135783,15.3225783,1.74326,1.6953216,29.0941213,24.1993413,64.1507988,14.2338555,32.4508451,63.1624135,30.1713196,40.1063044,18.8597843,2.2149981,16.7729329,12.8419913,39.5096498,14.8692894,1.8140517,1.7710103,29.5470185,24.1158537,63.9799541,14.1527623,33.1627057,63.0702848,30.068706,40.9431552,18.6203078,2.3518079,16.3745291,12.3567147,41.1394071,13.8796135,1.7287773,1.7217866,29.2072829,23.8680968,64.3915156,13.8903073,33.9215999,62.4599982,30.3733889,40.5740563,18.6205966,2.4402406,15.8588578,11.0498993,40.7809105,13.8596599 +2668,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9940409,0.9889729,15.0251351,11.0417886,45.9854168,18.1847357,33.0613703,65.1732716,34.2904209,43.1173903,20.5697877,4.4804779,10.1163265,9.2351202,36.0246427,12.0987823,1.0725516,1.0892451,16.0393156,12.0159396,46.4280563,17.9339396,33.7203696,64.5100779,34.0963795,43.8068064,20.9577824,4.4791118,10.3697767,8.8950058,36.5738169,13.1211462,1.1688389,1.1784011,16.2605739,12.5232069,46.0681072,17.9809799,33.6404011,64.2842801,33.8945167,44.2292701,21.039867,4.5002267,10.3287769,8.7003353,36.3345147,15.2892795,1.2576409,1.2666941,17.0934435,13.1645788,46.8299808,17.8002826,33.8719378,63.6994334,33.0891448,44.0086036,20.8050076,4.3656823,10.1664438,8.5134116,36.4318689,14.8101735,1.2570566,1.2524036,18.1589335,14.034207,47.793051,17.8078177,33.9745299,63.8243911,33.7070859,43.4377262,21.2817134,4.4126354,10.708,8.5702407,36.6030289,13.9162986 +2669,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8002537,1.7036724,28.7552185,24.4053355,64.8534533,14.2823476,31.782079,63.7599439,29.4249325,39.6684703,18.3664985,2.3359854,17.0329061,13.336153,40.5135783,15.3225783,1.74326,1.6953216,29.0941213,24.1993413,64.1507988,14.2338555,32.4508451,63.1624135,30.1713196,40.1063044,18.8597843,2.2149981,16.7729329,12.8419913,39.5096498,14.8692894,1.8140517,1.7710103,29.5470185,24.1158537,63.9799541,14.1527623,33.1627057,63.0702848,30.068706,40.9431552,18.6203078,2.3518079,16.3745291,12.3567147,41.1394071,13.8796135,1.7287773,1.7217866,29.2072829,23.8680968,64.3915156,13.8903073,33.9215999,62.4599982,30.3733889,40.5740563,18.6205966,2.4402406,15.8588578,11.0498993,40.7809105,13.8596599,1.6972137,1.7506822,28.3395833,23.089998,64.4061665,14.2814708,34.4654664,62.8958795,31.2748495,41.0566747,19.4688649,2.3807619,16.6661842,11.8948151,41.4909165,14.0071482 +2670,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5687121,0.5808069,10.8519402,7.3167382,42.9888074,23.4661419,30.0929772,64.9375451,29.6280113,41.1362609,14.8939169,7.396094,12.1100579,8.9978314,33.4129178,5.8265346,0.6722542,0.6844109,10.730938,7.382079,44.2208728,23.9735026,29.7007691,65.5471126,30.6688225,40.4663705,14.8870521,7.5241874,12.0599495,9.1364612,33.0071365,6.3801834,0.7758143,0.7878247,11.2945111,7.7640785,44.6629324,25.0505551,29.6644178,66.6329574,31.5736127,41.6401095,14.8828307,7.4486398,12.0779521,9.1927176,33.2549287,6.3749761,0.7353211,0.6906754,11.1561093,7.7771571,44.3217923,24.3572609,29.9320522,67.3790343,32.451167,41.4236796,15.1004654,7.345018,12.7677631,9.6674019,33.5702099,6.3095013,0.6858407,0.654356,11.2548612,7.8603075,45.6447645,24.2940941,29.2145669,67.3632804,32.66477,41.500656,15.4978636,7.6156923,13.7980543,10.0114572,34.3840641,5.5282352 +2671,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4672963,1.5092001,29.5243414,25.2272618,45.7246478,15.3814424,35.9230555,61.5298603,31.4673408,44.8626607,18.5065627,2.9502669,13.9606784,10.524292,35.7905024,19.0961447,1.5591412,1.5848058,29.8736793,25.2658371,46.7360156,15.8283157,36.5023755,61.770542,31.5049172,44.4134105,18.7953282,2.9407104,14.1291843,10.6735668,36.0827399,20.2548729,1.6450265,1.6707403,29.8213404,25.2823572,47.3011291,15.9833299,36.2296325,62.0023042,32.660913,45.0686972,19.3178437,3.1403981,14.4768105,10.9276026,35.856789,20.2478352,1.6631371,1.6890126,29.3705457,25.0015976,49.0387766,16.4777609,36.1916809,61.5116311,32.079392,44.8269278,19.3667426,3.2377828,14.7067195,11.3750645,35.9739766,19.4623617,1.6115726,1.6112123,29.5231634,25.326582,50.857844,16.1460953,35.756289,61.8528529,32.1216016,44.4320497,19.2564923,3.058142,14.31871,10.9116734,35.4076008,18.8734489 +2672,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9422958,0.9645676,18.1567494,14.7158142,76.2262776,8.1174687,28.0391001,63.5716463,27.948738,37.1036659,14.7042012,5.491194,14.3561876,9.8443005,37.063479,9.6648081,0.9783996,0.9898469,18.2803015,14.9361121,76.7667212,8.2630038,28.1649363,63.7852163,28.2592481,37.3104815,14.519936,5.7159467,14.4850662,9.9553866,37.0573558,9.4718153,0.9797999,0.9978858,18.213374,14.8092666,77.0585084,8.0685856,28.4540546,63.707739,28.086473,37.1357374,14.2255976,5.7301134,14.6405538,9.9226458,36.9817583,9.9164657,0.9961764,1.0150422,18.2071173,14.7024224,77.4151929,7.9152977,28.157223,63.4373856,28.1055283,36.949006,13.9656487,5.5438349,14.7382346,9.7307661,36.8833954,9.5727572,1.0539836,1.0684388,18.6349036,15.033556,77.7818187,7.8229659,27.9809317,63.5828237,28.0479648,36.7841253,13.8688237,5.4649213,14.8989885,9.8703113,36.9294971,9.639956 +2673,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6874936,1.663398,25.0462995,19.9801529,55.3780065,15.8256356,42.0410658,66.4483735,36.8534316,45.4970579,23.0744311,3.8518973,13.1817202,10.7464351,34.9587338,18.3071437,1.7001876,1.6761154,25.2546172,20.2898138,53.9846197,16.6679138,41.5800722,65.1908894,35.9648633,45.1462322,22.8470414,4.1725143,12.2128582,10.1428421,34.6006864,17.1487875,1.7590737,1.7284651,24.657776,19.883662,54.4357775,16.3742794,41.6094511,65.5218004,35.1089468,45.2814958,22.8898109,3.9604582,12.9830094,10.7850412,34.8742477,15.4618813,1.7486129,1.7004254,24.3156713,19.4683394,53.0600873,16.4001928,42.2724563,66.0244054,35.2770074,45.8530984,24.3229075,3.716229,12.900963,11.2954883,34.8226542,14.0756664,1.6466416,1.6356321,24.0346406,19.3619811,52.6723705,16.3242234,42.5483099,66.3656731,35.3425933,46.5653264,24.9465649,3.9345083,13.0906794,11.5912949,35.6083028,12.1795299 +2674,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8476081,1.7937986,34.6857621,29.6542716,48.8544584,18.8346157,38.9188626,67.6005749,35.2187329,48.4557533,20.9862683,3.7932318,12.190335,12.1377949,32.6579908,26.5127723,1.4458578,1.4458578,33.9489748,29.2383929,49.0854068,19.0102416,39.222007,68.1858207,36.1116527,49.3703606,22.3331154,4.0375439,10.7823699,12.0152097,31.8130417,24.7372916,1.3182535,1.3532987,34.0765465,29.5079547,49.6832026,18.1475266,38.9245006,69.2570262,36.0044664,49.6166243,21.531563,3.782622,11.2818154,11.6506314,31.4155587,25.2580476,1.6662571,1.7751781,33.840293,29.0029911,48.998996,18.072249,38.7361267,69.1273712,35.6309332,49.9240668,21.2429162,3.6898103,11.5628991,10.306276,31.4149271,24.2990983,1.5670995,1.6744657,32.7446593,27.7918038,47.9476628,18.1082006,37.7999773,70.0430809,35.6534248,49.387662,21.825468,3.7972665,11.5275942,10.5632266,30.8706309,23.8221589 +2675,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1536573,1.215014,19.4899138,15.5318366,84.6424823,12.7779655,32.9593179,64.6174275,36.2558787,38.2045859,18.9190312,5.1417607,13.5522088,11.3125897,35.9182102,12.2040009,1.2156684,1.2777901,19.4971043,15.4832207,84.4636124,12.9818767,32.975739,65.9977769,36.1760547,38.1453873,19.3293146,5.1979209,13.8155617,11.5709247,36.7994519,13.1160582,1.2195861,1.283302,20.1525768,16.0694173,83.7750265,12.4409249,33.1341151,66.1108658,36.6271981,38.2308546,19.3421673,4.9148079,12.9383987,10.3521005,36.164635,13.6108118,1.1669668,1.2637247,20.3226677,16.3122431,82.8123787,13.102513,33.3525093,66.1834949,37.9554382,39.3708896,20.0571091,5.0593533,13.2208086,10.5352143,36.3546298,12.5121499,0.9096312,1.0419079,20.0755138,16.1010303,81.4108751,13.68152,33.6596543,66.2236861,37.8138497,41.0349615,20.067369,5.8314911,13.8571708,10.7609204,36.3359494,10.0360557 +2676,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6722542,0.6844109,10.730938,7.382079,44.2208728,23.9735026,29.7007691,65.5471126,30.6688225,40.4663705,14.8870521,7.5241874,12.0599495,9.1364612,33.0071365,6.3801834,0.7758143,0.7878247,11.2945111,7.7640785,44.6629324,25.0505551,29.6644178,66.6329574,31.5736127,41.6401095,14.8828307,7.4486398,12.0779521,9.1927176,33.2549287,6.3749761,0.7353211,0.6906754,11.1561093,7.7771571,44.3217923,24.3572609,29.9320522,67.3790343,32.451167,41.4236796,15.1004654,7.345018,12.7677631,9.6674019,33.5702099,6.3095013,0.6858407,0.654356,11.2548612,7.8603075,45.6447645,24.2940941,29.2145669,67.3632804,32.66477,41.500656,15.4978636,7.6156923,13.7980543,10.0114572,34.3840641,5.5282352,0.7968108,0.7744624,11.8859047,8.1741088,46.7733043,24.3906637,29.1723726,66.7717454,32.9816397,41.8333443,15.9358609,7.4129716,13.6464715,9.9722028,34.8179149,6.9086408 +2677,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6833994,0.7044598,14.4821838,10.9785243,51.6266348,17.7894486,31.8315767,66.187818,31.7356005,41.6426284,18.2397514,4.2163923,11.6286451,9.5511255,31.7174929,8.310188,0.6954471,0.6932804,14.3817833,11.0501831,52.0109718,18.0763021,32.1692913,66.6749472,32.1961339,41.7084787,18.5020431,4.1571083,11.7629849,9.5090792,31.7318026,8.1771241,0.7102743,0.7240316,14.5616417,11.1175833,52.9058154,17.842008,31.7333285,66.9642023,31.8637288,41.5639747,18.7579293,4.1010579,11.7455548,9.2002811,31.2324546,7.465515,0.6557869,0.6700901,14.3128492,10.8830534,53.6328023,18.3920395,32.0097957,66.6768566,31.9128609,42.1337758,18.8001219,3.8787749,11.8581916,9.1275922,30.7006016,7.5618364,0.7798426,0.8020755,15.2175422,11.6238472,55.0071919,18.4977082,33.0006874,66.2156248,31.7826106,42.3976095,18.7605596,3.7457525,12.9024374,9.5381241,31.3370242,8.4235115 +2678,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7484308,0.7609012,10.2507076,6.9753336,45.3676158,22.3902237,30.5150041,65.7137064,29.5823195,42.5587997,16.7680454,4.3187348,10.9036797,8.1693989,35.7954545,7.3232323,0.746611,0.771184,11.3437002,7.6355662,46.8527067,22.8145425,30.6908946,65.1158147,29.293131,42.3921725,16.6333866,3.9337061,10.7124682,8.0976864,35.4961832,6.8527919,0.7966989,0.8389694,11.7406542,8.0412773,48.4656301,23.4318817,31.0176125,64.9902153,29.334638,43.3855186,17.0841487,4.3639922,10.7232546,7.6825558,34.7640562,6.712963,0.6033505,0.627177,11.3058552,7.9545455,49.98,22.4326435,30.3036126,65.5457341,29.8039969,42.7555726,16.7371253,4.3620292,11.4657814,8.114374,35.2022529,7.5342466,0.5478651,0.6007193,11.354127,7.8927349,51.4740566,23.5147566,30.0756144,65.3875236,30.2646503,42.3251418,16.2003781,3.9886578,11.3732768,8.0395299,34.3168527,6.5400844 +2679,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1946921,1.224272,23.1095887,18.9869503,43.5927734,18.8273625,39.2217588,66.2793362,38.6460702,47.579962,23.0810344,3.3582041,14.8123809,11.8891744,33.1504959,11.2047979,1.1451215,1.1474145,23.4826485,19.4570592,43.9675317,18.467811,39.679352,66.3304489,38.1503547,47.2605603,22.8817244,3.4295998,14.820469,11.0551547,33.4581321,10.7888424,1.1714999,1.1639628,23.8169308,19.7073499,44.616522,18.3159003,39.5005407,66.1317889,37.5026554,47.0881944,22.6248719,3.3687567,14.9322051,11.2106522,33.6047345,11.047798,1.1961154,1.1638425,24.4027615,20.1068797,45.160201,18.5002054,39.4286407,66.3492532,37.4384718,47.0896567,22.5872038,3.1564282,14.6475671,11.4317074,33.0444207,12.3059505,1.2350341,1.2127288,25.6477242,21.239042,46.172997,17.9710395,39.6224432,66.0942832,36.87073,46.6616741,22.4082751,3.2103225,13.8398503,10.4390774,32.7608445,12.9629222 +2680,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9617202,0.9853162,14.2812279,10.6245305,47.5511012,19.2922515,32.617337,64.4075376,33.5278357,44.1972358,19.7294171,6.0720704,11.1923872,8.8063629,32.8600181,8.7732919,0.9652315,0.9886599,14.2156875,10.6912401,48.9158655,19.6200922,32.2011395,64.9525585,34.2251823,43.6875467,19.614167,6.2555349,11.3919922,8.9125218,33.1902187,8.2481752,0.9526125,0.978372,14.0810324,10.6803501,49.993418,20.2508043,31.8132143,65.6623133,34.6347184,43.6572178,19.3996471,6.00863,10.8922706,8.7728834,33.3694989,8.698538,1.0101614,1.030556,14.5272927,11.0761552,50.6071343,20.6781173,31.8088416,65.9930976,35.0938542,43.6065372,19.4735158,5.9904386,11.0827269,8.7550541,33.353829,8.6352636,1.0280993,1.0399204,14.997221,11.5158916,52.219085,20.5061403,32.1394974,65.710502,34.9659936,43.1203572,19.2376378,5.9736322,11.1788895,8.4170559,33.0642989,8.6931145 +2681,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9783996,0.9898469,18.2803015,14.9361121,76.7667212,8.2630038,28.1649363,63.7852163,28.2592481,37.3104815,14.519936,5.7159467,14.4850662,9.9553866,37.0573558,9.4718153,0.9797999,0.9978858,18.213374,14.8092666,77.0585084,8.0685856,28.4540546,63.707739,28.086473,37.1357374,14.2255976,5.7301134,14.6405538,9.9226458,36.9817583,9.9164657,0.9961764,1.0150422,18.2071173,14.7024224,77.4151929,7.9152977,28.157223,63.4373856,28.1055283,36.949006,13.9656487,5.5438349,14.7382346,9.7307661,36.8833954,9.5727572,1.0539836,1.0684388,18.6349036,15.033556,77.7818187,7.8229659,27.9809317,63.5828237,28.0479648,36.7841253,13.8688237,5.4649213,14.8989885,9.8703113,36.9294971,9.639956,1.0141947,1.0383756,18.7359669,15.0839764,78.1466887,7.7184995,27.7576089,63.2895589,28.3409566,36.7588231,13.6311186,5.4152961,14.7255312,9.9302304,36.9109151,9.6707495 +2682,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.74326,1.6953216,29.0941213,24.1993413,64.1507988,14.2338555,32.4508451,63.1624135,30.1713196,40.1063044,18.8597843,2.2149981,16.7729329,12.8419913,39.5096498,14.8692894,1.8140517,1.7710103,29.5470185,24.1158537,63.9799541,14.1527623,33.1627057,63.0702848,30.068706,40.9431552,18.6203078,2.3518079,16.3745291,12.3567147,41.1394071,13.8796135,1.7287773,1.7217866,29.2072829,23.8680968,64.3915156,13.8903073,33.9215999,62.4599982,30.3733889,40.5740563,18.6205966,2.4402406,15.8588578,11.0498993,40.7809105,13.8596599,1.6972137,1.7506822,28.3395833,23.089998,64.4061665,14.2814708,34.4654664,62.8958795,31.2748495,41.0566747,19.4688649,2.3807619,16.6661842,11.8948151,41.4909165,14.0071482,1.5627028,1.617447,27.9200691,22.2618791,64.8006363,13.9349579,34.0690398,62.7685372,30.8415112,41.2849691,19.829244,2.395942,16.6176795,12.5569687,41.5952281,14.982 +2683,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8792837,0.9353223,17.6334856,14.3256121,59.7468867,13.5303043,27.2402347,66.3389537,29.537068,41.6652201,13.8072223,5.037409,14.0581973,10.6543523,30.510585,9.8184073,0.8571643,0.9052268,18.2125253,14.8395037,60.4831175,13.9754177,27.6310692,65.7271673,29.4702856,41.0677854,14.0242103,5.1004784,14.2196338,10.8502423,31.7195447,9.0689404,0.8776239,0.9248742,18.0570304,14.794566,61.1536804,13.9033887,27.5363332,65.4103808,29.1074295,41.1248303,13.881023,5.055974,14.3558033,10.4899104,31.2903441,9.0693229,0.9042173,0.9438384,18.3144485,15.1165275,61.705658,14.4539989,27.8838115,65.9552056,29.3068581,41.0932713,13.9712572,5.248605,14.3077643,10.6299464,32.0764733,9.2248865,0.9624227,1.0112969,18.647339,15.3504282,62.7913485,14.0942543,28.0873835,66.2903011,29.4229288,41.3438045,14.2540044,5.3174058,14.6642041,10.9632613,32.1537174,9.365114 +2684,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1041043,1.0883065,13.1899752,9.3972268,36.0588782,19.4949957,29.9132039,69.1840326,40.0867868,45.5381875,22.204863,3.3506897,10.5513325,8.375793,33.1317612,13.6627986,1.0767341,1.0747249,13.6922111,9.7478248,36.2192515,19.0042801,30.7807503,68.5880538,39.6511536,45.4651256,22.2093104,3.3056437,9.5596629,7.7117257,34.1100634,12.6343684,1.0991725,1.1189334,14.0538139,10.1577066,36.0711837,19.0664423,30.478179,67.7802534,39.3445193,44.5693646,21.2634662,3.3723911,9.7935786,8.0718619,35.6313279,12.6942619,1.1465771,1.1661289,14.4539728,10.4466283,36.2556787,18.4011221,30.8357222,67.1536401,39.0983387,44.2193092,20.5623738,3.1888185,10.0435886,8.1955237,36.0436982,12.8787944,1.0862793,1.1128321,14.2531257,10.7544922,36.4627148,18.2922836,31.2871271,67.2446131,38.5973109,44.6579322,20.5404642,3.1396468,9.7125796,8.1389864,36.3192267,13.5467914 +2685,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4137558,1.4236764,20.737958,16.2898053,73.010245,11.3780422,31.9118466,60.749693,30.0626052,37.2162816,16.5817905,3.3213708,14.8357741,11.8558812,39.8963214,10.4143022,1.4071126,1.4012576,21.3599367,17.0558296,75.1516447,11.3988495,32.2276567,61.2031587,29.5952968,37.8839906,16.2721164,3.297237,14.4633451,11.6383378,39.2043519,10.1882025,1.2680963,1.2622575,22.3940729,18.0422366,77.4050493,11.537342,32.9269159,61.795854,29.8069457,38.912088,16.2679442,3.4379036,14.2379189,11.1871936,40.2697673,10.1923006,1.1720551,1.16233,21.8429382,17.9019305,78.4685133,11.7682889,33.0472518,61.6739417,30.4255374,39.1084988,16.2220651,3.2501401,13.9924628,11.5458799,39.6113337,8.8014936,1.012701,1.0470232,22.2783904,18.3266412,80.1735968,11.5308658,32.5574778,61.3873563,29.723322,38.2594605,15.3710151,3.3609247,14.1940142,11.8862826,39.0739549,9.3406535 +2686,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2646236,2.2905893,38.1902724,33.2560884,64.7857415,14.3440291,33.7796796,63.2914915,28.9234755,39.6619825,16.9837458,1.8398082,18.6929283,13.4839433,38.7753836,26.9290099,2.3670836,2.4242403,38.3279198,33.0454223,65.5009241,14.0578677,33.9639389,63.6556292,28.9524008,39.8523195,16.4998161,1.8917616,18.737514,13.5579373,39.9337591,25.9919165,2.4856141,2.5637916,38.8383704,33.5230889,66.2587261,13.1650145,34.3525673,62.3533659,28.3876836,38.8697608,15.8348834,1.734478,18.4332739,13.4058088,40.9791597,26.1694444,2.5187758,2.5916753,39.0475915,34.1255699,66.6711113,13.4149772,34.9111533,62.7039274,29.1362936,39.8571165,16.5830319,1.9457855,17.6213851,13.0286976,40.2453054,26.7873991,2.6273872,2.6755901,39.441909,34.4918684,67.8462055,13.1449255,35.4351734,62.0080408,28.0897264,38.8445454,16.1318837,2.2687709,16.9619769,12.5323472,40.5001029,25.3086655 +2687,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5591412,1.5848058,29.8736793,25.2658371,46.7360156,15.8283157,36.5023755,61.770542,31.5049172,44.4134105,18.7953282,2.9407104,14.1291843,10.6735668,36.0827399,20.2548729,1.6450265,1.6707403,29.8213404,25.2823572,47.3011291,15.9833299,36.2296325,62.0023042,32.660913,45.0686972,19.3178437,3.1403981,14.4768105,10.9276026,35.856789,20.2478352,1.6631371,1.6890126,29.3705457,25.0015976,49.0387766,16.4777609,36.1916809,61.5116311,32.079392,44.8269278,19.3667426,3.2377828,14.7067195,11.3750645,35.9739766,19.4623617,1.6115726,1.6112123,29.5231634,25.326582,50.857844,16.1460953,35.756289,61.8528529,32.1216016,44.4320497,19.2564923,3.058142,14.31871,10.9116734,35.4076008,18.8734489,1.4886874,1.4811877,28.774845,24.7816248,51.9439793,16.2625464,35.2321743,62.8077309,32.1392669,44.2461542,19.2301952,3.1296606,13.9967868,11.1184323,35.3627074,18.8282198 +2688,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8723496,1.9345341,23.9012285,19.5854182,44.5476548,14.9997609,41.7154583,66.8785729,40.7478299,52.3716474,31.2390705,4.3694639,11.8453746,8.1103958,30.618664,18.2324431,1.8449033,1.9067627,24.9397098,20.1442606,45.1616156,15.4346003,41.7106921,65.9182605,40.4088396,51.8997015,30.4328992,4.3512807,11.9539362,8.2395958,31.8772668,18.096341,1.9005907,1.9652301,25.6432754,20.5399924,44.7606314,14.8880567,41.1780714,66.1478614,42.2883011,51.5354686,31.0961818,4.3594371,10.7271174,6.5527571,30.1790694,18.3979793,1.6303891,1.6407106,26.203067,21.3736414,45.6055219,14.1761503,42.0105293,66.0005796,41.2963979,50.8059293,28.9380485,4.667235,9.8394744,6.7268894,30.198196,19.7493167,1.9523187,2.002437,27.2262689,22.2128866,46.039426,14.0214927,41.6339982,66.5385617,41.6311542,51.5954713,29.1712341,4.7686025,10.3318628,7.5468174,31.5371531,19.1514391 +2689,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8571643,0.9052268,18.2125253,14.8395037,60.4831175,13.9754177,27.6310692,65.7271673,29.4702856,41.0677854,14.0242103,5.1004784,14.2196338,10.8502423,31.7195447,9.0689404,0.8776239,0.9248742,18.0570304,14.794566,61.1536804,13.9033887,27.5363332,65.4103808,29.1074295,41.1248303,13.881023,5.055974,14.3558033,10.4899104,31.2903441,9.0693229,0.9042173,0.9438384,18.3144485,15.1165275,61.705658,14.4539989,27.8838115,65.9552056,29.3068581,41.0932713,13.9712572,5.248605,14.3077643,10.6299464,32.0764733,9.2248865,0.9624227,1.0112969,18.647339,15.3504282,62.7913485,14.0942543,28.0873835,66.2903011,29.4229288,41.3438045,14.2540044,5.3174058,14.6642041,10.9632613,32.1537174,9.365114,0.8328044,0.8861369,18.8132645,15.6253444,63.8306636,13.8273721,28.3561057,66.6695635,29.4268509,41.3029557,13.9599057,5.3945254,14.4851948,10.9636631,31.7076385,8.98772 +2690,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6954471,0.6932804,14.3817833,11.0501831,52.0109718,18.0763021,32.1692913,66.6749472,32.1961339,41.7084787,18.5020431,4.1571083,11.7629849,9.5090792,31.7318026,8.1771241,0.7102743,0.7240316,14.5616417,11.1175833,52.9058154,17.842008,31.7333285,66.9642023,31.8637288,41.5639747,18.7579293,4.1010579,11.7455548,9.2002811,31.2324546,7.465515,0.6557869,0.6700901,14.3128492,10.8830534,53.6328023,18.3920395,32.0097957,66.6768566,31.9128609,42.1337758,18.8001219,3.8787749,11.8581916,9.1275922,30.7006016,7.5618364,0.7798426,0.8020755,15.2175422,11.6238472,55.0071919,18.4977082,33.0006874,66.2156248,31.7826106,42.3976095,18.7605596,3.7457525,12.9024374,9.5381241,31.3370242,8.4235115,0.7655268,0.7884725,15.8402616,12.1423361,56.4132617,19.1534658,32.6866733,65.9456588,31.6992483,42.2746916,18.4655022,3.6237835,13.0087374,9.8571052,31.347696,8.3570209 +2691,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2156684,1.2777901,19.4971043,15.4832207,84.4636124,12.9818767,32.975739,65.9977769,36.1760547,38.1453873,19.3293146,5.1979209,13.8155617,11.5709247,36.7994519,13.1160582,1.2195861,1.283302,20.1525768,16.0694173,83.7750265,12.4409249,33.1341151,66.1108658,36.6271981,38.2308546,19.3421673,4.9148079,12.9383987,10.3521005,36.164635,13.6108118,1.1669668,1.2637247,20.3226677,16.3122431,82.8123787,13.102513,33.3525093,66.1834949,37.9554382,39.3708896,20.0571091,5.0593533,13.2208086,10.5352143,36.3546298,12.5121499,0.9096312,1.0419079,20.0755138,16.1010303,81.4108751,13.68152,33.6596543,66.2236861,37.8138497,41.0349615,20.067369,5.8314911,13.8571708,10.7609204,36.3359494,10.0360557,1.1297048,1.198219,20.6448702,16.2450896,82.0148983,13.5255997,33.8104601,65.3418918,37.527423,39.9308866,19.2525861,5.3507225,12.7226702,9.5874354,36.8115606,10.3365638 +2692,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3670836,2.4242403,38.3279198,33.0454223,65.5009241,14.0578677,33.9639389,63.6556292,28.9524008,39.8523195,16.4998161,1.8917616,18.737514,13.5579373,39.9337591,25.9919165,2.4856141,2.5637916,38.8383704,33.5230889,66.2587261,13.1650145,34.3525673,62.3533659,28.3876836,38.8697608,15.8348834,1.734478,18.4332739,13.4058088,40.9791597,26.1694444,2.5187758,2.5916753,39.0475915,34.1255699,66.6711113,13.4149772,34.9111533,62.7039274,29.1362936,39.8571165,16.5830319,1.9457855,17.6213851,13.0286976,40.2453054,26.7873991,2.6273872,2.6755901,39.441909,34.4918684,67.8462055,13.1449255,35.4351734,62.0080408,28.0897264,38.8445454,16.1318837,2.2687709,16.9619769,12.5323472,40.5001029,25.3086655,2.5942801,2.650486,39.9633982,34.9695211,67.7964978,12.9779891,35.6043348,62.6516126,27.6920767,38.7136682,16.1399529,2.3129257,17.2585568,12.6172818,40.1526002,24.9995733 +2693,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.205053,2.2416714,35.4679876,30.2801616,57.232213,10.0786523,38.9271081,62.3503555,34.7487364,43.389726,19.9697048,2.4586994,18.0851298,14.028134,39.2228411,18.6738216,2.1056372,2.1097168,35.5411837,30.2030806,57.016586,9.9419737,38.8099048,62.1723746,34.368253,43.5326829,19.6392684,2.5159997,18.5156894,14.2964424,39.3236544,18.9245635,2.0073545,1.9811462,35.6375956,30.5200864,57.0483552,9.7940003,38.7839743,61.8706449,34.1445262,42.5695456,19.2884874,2.3498151,18.1820439,14.1827879,39.7424026,19.7934791,1.9752713,1.9719622,35.8808669,30.8612659,57.0795697,9.7869237,37.8380227,62.0458658,33.6278577,42.1900002,18.7400813,2.1639596,19.0649342,14.9660877,40.6841826,20.240426,1.9290523,1.9259316,35.364422,30.3545441,56.8861008,9.6398622,37.8602321,62.4353005,33.3295777,42.6797455,18.398518,2.0908443,19.4429537,15.676377,41.0942877,18.3375336 +2694,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5417096,0.5828728,10.4741087,6.9183227,48.6605941,21.4248377,30.5147081,62.3859051,30.6414856,39.8199832,17.1019238,7.1374243,9.9630417,7.8615312,34.5672689,4.7813947,0.6026025,0.6409893,10.690791,7.0217613,49.6307081,21.069588,30.5272317,61.7881047,30.5769706,39.1817962,17.3712927,7.5478717,10.2624963,7.829585,35.1141362,5.4089474,0.6598208,0.7059125,10.8029367,6.9022262,50.3168829,20.8075302,30.1922098,61.6450265,30.1672497,39.2036982,17.1367883,7.6510211,10.2784109,7.7796078,34.8312811,5.8423689,0.7634891,0.8015394,10.8988752,6.978774,50.7938641,20.8301561,29.7433996,61.8924181,30.1875152,39.2918853,17.0120854,7.9570665,10.4655099,8.1434917,34.9395608,5.528235,0.6669827,0.6944613,10.5036842,6.7444692,51.9597906,20.5545871,29.3325238,62.0995075,30.1577668,38.7985487,16.5169882,8.0218448,10.9781516,8.2805933,35.4608749,5.5687006 +2695,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1451215,1.1474145,23.4826485,19.4570592,43.9675317,18.467811,39.679352,66.3304489,38.1503547,47.2605603,22.8817244,3.4295998,14.820469,11.0551547,33.4581321,10.7888424,1.1714999,1.1639628,23.8169308,19.7073499,44.616522,18.3159003,39.5005407,66.1317889,37.5026554,47.0881944,22.6248719,3.3687567,14.9322051,11.2106522,33.6047345,11.047798,1.1961154,1.1638425,24.4027615,20.1068797,45.160201,18.5002054,39.4286407,66.3492532,37.4384718,47.0896567,22.5872038,3.1564282,14.6475671,11.4317074,33.0444207,12.3059505,1.2350341,1.2127288,25.6477242,21.239042,46.172997,17.9710395,39.6224432,66.0942832,36.87073,46.6616741,22.4082751,3.2103225,13.8398503,10.4390774,32.7608445,12.9629222,1.4174469,1.4014165,26.3555906,21.6163633,47.3440316,17.5031159,39.2092784,65.8150963,37.0468269,46.7776371,21.9524987,2.7241874,14.658436,11.0993082,33.1549102,13.437482 +2696,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6930434,0.6983676,11.6415323,7.8944315,49.8313056,13.3423309,29.4687412,63.6063084,29.9211191,39.8851669,16.3612079,13.7049071,13.0247126,9.5429672,37.5275821,5.8011043,0.6555507,0.66084,11.5194382,7.9192528,50.658992,13.2766382,28.9233774,64.4299549,30.3773343,40.047315,16.2416311,13.8645297,12.9052814,9.569775,37.4177677,6.0622305,0.6351283,0.6351283,11.5145691,8.0359141,51.2453702,13.4524315,28.578727,64.8711537,30.5880311,40.1464443,16.352592,14.048134,13.0610246,10.0059394,37.6062512,5.1810855,0.5632093,0.5750105,11.5006,8.2959613,51.6441137,13.5374706,29.1170637,65.7793173,31.0791449,40.0738576,16.5399015,13.7951957,13.0430166,10.3348991,36.7760594,5.0329252,0.6052973,0.6089202,11.1355338,8.1331724,52.4866432,13.8049781,28.9844911,66.1264272,31.2998068,40.3995273,16.7833274,14.0587989,13.1290314,10.4928964,36.6702818,5.0401427 +2697,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8140517,1.7710103,29.5470185,24.1158537,63.9799541,14.1527623,33.1627057,63.0702848,30.068706,40.9431552,18.6203078,2.3518079,16.3745291,12.3567147,41.1394071,13.8796135,1.7287773,1.7217866,29.2072829,23.8680968,64.3915156,13.8903073,33.9215999,62.4599982,30.3733889,40.5740563,18.6205966,2.4402406,15.8588578,11.0498993,40.7809105,13.8596599,1.6972137,1.7506822,28.3395833,23.089998,64.4061665,14.2814708,34.4654664,62.8958795,31.2748495,41.0566747,19.4688649,2.3807619,16.6661842,11.8948151,41.4909165,14.0071482,1.5627028,1.617447,27.9200691,22.2618791,64.8006363,13.9349579,34.0690398,62.7685372,30.8415112,41.2849691,19.829244,2.395942,16.6176795,12.5569687,41.5952281,14.982,1.4770888,1.566401,27.5714928,21.8742538,63.9699563,14.5354342,34.3460999,63.4562703,30.829009,41.8289079,20.5977136,2.391852,16.9408963,12.8882747,42.4524509,13.6182563 +2698,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.825505,0.8433299,12.735582,9.9401577,39.3349566,10.8218956,30.758436,66.8033278,34.972873,46.9555672,19.3395359,3.0078219,12.2907515,10.1500082,29.5433767,8.7955626,0.8405834,0.8298432,13.2052917,10.3907923,40.1280051,10.7140028,30.2031317,66.7635674,34.6352464,46.4469195,18.763089,2.9775749,11.9764812,9.6560368,29.3832846,9.1121524,0.7793939,0.7629632,13.9227507,10.8479062,40.8343076,10.7311984,30.1476675,66.8269602,34.1479502,46.1371143,18.5085328,3.0191178,12.5408366,10.0553341,30.0074309,8.4234996,0.782203,0.7656823,14.0297236,10.9243754,41.4182019,10.687252,30.1630906,67.1535301,34.1879458,45.8244531,18.5516478,3.12851,12.3730017,10.0913148,29.5590874,8.9116761,0.8299673,0.8250775,14.4248987,11.1891045,41.7412312,10.9930133,30.4510712,67.4771769,33.9753328,45.8375353,18.4372598,3.0886657,12.6211437,10.0969392,29.6688018,9.5125846 +2699,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2195861,1.283302,20.1525768,16.0694173,83.7750265,12.4409249,33.1341151,66.1108658,36.6271981,38.2308546,19.3421673,4.9148079,12.9383987,10.3521005,36.164635,13.6108118,1.1669668,1.2637247,20.3226677,16.3122431,82.8123787,13.102513,33.3525093,66.1834949,37.9554382,39.3708896,20.0571091,5.0593533,13.2208086,10.5352143,36.3546298,12.5121499,0.9096312,1.0419079,20.0755138,16.1010303,81.4108751,13.68152,33.6596543,66.2236861,37.8138497,41.0349615,20.067369,5.8314911,13.8571708,10.7609204,36.3359494,10.0360557,1.1297048,1.198219,20.6448702,16.2450896,82.0148983,13.5255997,33.8104601,65.3418918,37.527423,39.9308866,19.2525861,5.3507225,12.7226702,9.5874354,36.8115606,10.3365638,1.0587989,1.1395153,20.2991024,15.8281579,81.4819937,13.5282167,33.8038541,66.3745382,38.4931756,41.2905285,19.2252675,5.3262406,13.1578646,9.6181139,37.7441952,11.0694227 From 26fdefa6bf3d9aac6a4c55b9510519805cd7099e Mon Sep 17 00:00:00 2001 From: kk Date: Sat, 24 Sep 2022 18:03:37 +0800 Subject: [PATCH 03/36] 1 --- ...346\264\252\351\222\246\346\225\217.ipynb" | 1 + .../config.py" | 12 + .../covid.test.csv" | 1079 +++++++ .../covid.train.csv" | 2700 +++++++++++++++++ .../main.py" | 16 + .../model.py" | 21 + .../utility.py" | 55 + 7 files changed, 3884 insertions(+) create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/HW1-\346\264\252\351\222\246\346\225\217.ipynb" create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/covid.test.csv" create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/covid.train.csv" create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/main.py" create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/utility.py" diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/HW1-\346\264\252\351\222\246\346\225\217.ipynb" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/HW1-\346\264\252\351\222\246\346\225\217.ipynb" new file mode 100644 index 00000000..5b7a8aa6 --- /dev/null +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/HW1-\346\264\252\351\222\246\346\225\217.ipynb" @@ -0,0 +1 @@ +{"cells":[{"cell_type":"markdown","metadata":{"id":"guE34D3Fj2R9"},"source":["# **Homework 1: COVID-19 Cases Prediction (Regression)**"]},{"cell_type":"markdown","source":["# 一些思考项\n","* 如何筛选有用的数据(feature) \n"," 每行为一个地区的一批人 数据大多以百分比形式展示 \n"," 数据一共划分为5个大区块 1+37+16*5=118 \n"," 1 为id \n"," 2-38 为States的ont-hot编码 \n"," 后续是5天的数据 \n"," 每天数据包含了 \n"," covid-like illness 新冠症状 1-4 \n"," behavior indicators 个人行为 5-12 \n"," mental health 心理健康 13-15 \n"," tested_positive 检测阳性 \n","\n","* 如何选定模型有几层,中间层的维度有几个,激活函数怎么选?sigmod or relu or other?\n","* 如何优化,LR如何选择,BATCH数量是否有影响"],"metadata":{"id":"tH0z0rfKm1WF"}},{"cell_type":"markdown","source":["# 学习结果\n","* v1 无任何优化 \n","Epoch [1483/3000]: Train loss: 1.7857, Valid loss: 1.6509 \n","Saving model with loss 1.651...\n","* v2 修改了Feature个数 \n","考虑到虽然不同州的法律不同,限制不同\n","但是这些因素在行为里面已经有充分展示-例如戴口罩比例 \n","是否乘坐交通工具,是否有大事件等 所以直接删除州的feature \n","只考虑后面的因素 \n","Epoch [1443/3000]: Train loss: 1.0971, Valid loss: 1.0070 \n","Saving model with loss 1.007...\n","* v3 V2基础上 反悔了 还是继续考虑州 \n","因为第一列ID 根本没用 删掉再试试 果然结果更好 \n","Epoch [1369/3000]: Train loss: 1.0856, Valid loss: 0.9820 \n","Saving model with loss 0.982... \n","* v4 v3的Feature选择基础上 更改激活函数为sigmoid \n","第一次尝试的结果epoch选择3000 跑完没收敛完 并且收敛速度慢 结果差 \n","第二次尝试的结果 修改lr为1e-4 结果跑了600次就没有优化Loss 结果为5 更差 \n","第三次尝试的结果 lr=1e-5 epoch=5000 没收敛 后续改10000 \n","Epoch [5221/10000]: Train loss: 1.2713, Valid loss: 1.2518 \n","Saving model with loss 1.252... \n","好吧 后面忘记改配置了 被relu修改batch=100给覆盖了 \n","Epoch [1945/3000]: Train loss: 1.0990, Valid loss: 1.1068 \n","Saving model with loss 1.107... \n","* v5 v3的feature选择基础上 模型复杂化 117-32-16-1 \n","Epoch [1069/3000]: Train loss: 1.0996, Valid loss: 0.9925 \n","Saving model with loss 0.992... \n","* v6 修改了幸运种子 \n","Epoch [2233/3000]: Train loss: 1.1151, Valid loss: 0.8652 \n","Saving model with loss 0.865... \n","* v7 v6基础上修改激活函数 感觉没啥变化啊 很机车 \n","Epoch [2233/3000]: Train loss: 1.1144, Valid loss: 0.8618 \n","Saving model with loss 0.862... \n","* v8 修改优化函数 \n","Epoch [2233/3000]: Train loss: 1.1155, Valid loss: 0.8664 \n","Saving model with loss 0.866... \n","* v9 修改幸运种子,修改模型还是4层 \n","Epoch [1222/3000]: Train loss: 1.1733, Valid loss: 0.8240 \n","Saving model with loss 0.824... \n"],"metadata":{"id":"_DIaYgdKBlpM"}},{"cell_type":"markdown","source":["# 下载训练数据和测试数据\n","* 方式1: gdown\n","* 方式2: 直接挂载云盘\n"],"metadata":{"id":"2BtXg7FhEH1a"}},{"cell_type":"code","source":["# 方式1 gdown\n","# !gdown --id '1kLSW_-cW2Huj7bh84YTdimGBOJaODiOS' --output covid.train.csv\n","# !gdown --id '1iiI5qROrAhZn-o4FPqsE97bMzDEFvIdg' --output covid.test.csv\n","# 方式2 cloud\n","from google.colab import drive\n","drive.mount('/content/drive')\n","%cd /content/drive/MyDrive/ML2022/HW1\n","# 已经下载到云盘 没必要再执行一次\n","# !gdown --id '1kLSW_-cW2Huj7bh84YTdimGBOJaODiOS' --output covid.train.csv\n","# !gdown --id '1iiI5qROrAhZn-o4FPqsE97bMzDEFvIdg' --output covid.test.csv"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"2Ia30hWPEmFd","executionInfo":{"status":"ok","timestamp":1663919901283,"user_tz":-480,"elapsed":28254,"user":{"displayName":"jon","userId":"02515558245111120108"}},"outputId":"73d3974c-336e-43bd-a29e-758ea479641c"},"execution_count":1,"outputs":[{"output_type":"stream","name":"stdout","text":["Mounted at /content/drive\n","/content/drive/MyDrive/ML2022/HW1\n"]}]},{"cell_type":"markdown","source":["# 导入包\n","* 数据处理 numpy pandas\n","* 深度学习 pytorch\n","* 进度条 tqdm\n","* random_split 数据切分\n","* Dataset, DataLoader 数据载入"],"metadata":{"id":"wkX9LNhTbcuv"}},{"cell_type":"code","source":["# Numerical Operations\n","import math\n","import numpy as np\n","\n","# Reading/Writing Data\n","import pandas as pd\n","import os\n","import csv\n","\n","# For Progress Bar\n","from tqdm import tqdm\n","\n","# Pytorch\n","import torch \n","import torch.nn as nn\n","from torch.utils.data import Dataset, DataLoader, random_split\n","# random_split随机将一个数据集分割成给定长度的不重叠的新数据集。可选择固定生成器以获得可复现的结果\n","\n","# For plotting learning curve\n","from torch.utils.tensorboard import SummaryWriter"],"metadata":{"id":"Jwp1ID7ub0cA","executionInfo":{"status":"ok","timestamp":1663919907615,"user_tz":-480,"elapsed":2727,"user":{"displayName":"jon","userId":"02515558245111120108"}}},"execution_count":2,"outputs":[]},{"cell_type":"code","source":["# 一些状态检查\n","print('has cuda GPU?: ',torch.cuda.is_available())\n","!nvidia-smi\n","!pwd"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"ybjSCUUocTsI","executionInfo":{"status":"ok","timestamp":1663739200986,"user_tz":-480,"elapsed":397,"user":{"displayName":"jon","userId":"02515558245111120108"}},"outputId":"8262eb80-42ad-4bcb-ba47-38843e5d99d9"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["has cuda GPU?: False\n","NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.\n","\n","/content/drive/MyDrive/ML2022/HW1\n"]}]},{"cell_type":"markdown","source":["# 配置项与一些功能性函数\n","`config` contains hyper-parameters for training and the path to save your model. \n","`functions`\n","You do not need to modify this part."],"metadata":{"id":"khdPtuWqnrQW"}},{"cell_type":"code","source":["device = 'cuda' if torch.cuda.is_available() else 'cpu'\n","config = {\n"," 'seed': 220418, # Your seed number, you can pick your lucky number. :)\n"," 'select_all': False, # Whether to use all features.\n"," 'valid_ratio': 0.2, # validation_size = train_size * valid_ratio\n"," 'n_epochs': 3000, # Number of epochs. \n"," 'batch_size': 256, \n"," 'learning_rate': 1e-5, \n"," 'weight_decay': 1e-4, \n"," 'early_stop': 500, # If model has not improved for this many consecutive epochs, stop training. \n"," 'save_path': './models/model-v10.ckpt', # Your model will be saved here.\n"," 'pred_path': 'pred-v11.csv' # Your model will be saved here.\n","}\n","\n","# 设置相同的随机种子\n","# 参考阅读 https://pytorch.org/docs/stable/notes/randomness.html\n","def same_seed(seed): \n"," '''Fixes random number generator seeds for reproducibility.'''\n"," torch.backends.cudnn.deterministic = True\n"," '''cuDNN to deterministically select an algorithm, possibly at the cost of reduced performance'''\n"," torch.backends.cudnn.benchmark = False\n"," np.random.seed(seed)\n"," torch.manual_seed(seed)\n"," if torch.cuda.is_available():\n"," # Sets the seed for generating random numbers on all GPUs. It’s safe to call this function if CUDA is not available; in that case, it is silently ignored.\n"," torch.cuda.manual_seed_all(seed)\n","\n","def train_valid_split(data_set, valid_ratio, seed):\n"," '''Split provided training data into training set and validation set'''\n"," valid_set_size = int(valid_ratio * len(data_set)) \n"," train_set_size = len(data_set) - valid_set_size\n"," train_set, valid_set = random_split(data_set, [train_set_size, valid_set_size], generator=torch.Generator().manual_seed(seed))\n"," return np.array(train_set), np.array(valid_set)\n","\n","def predict(test_loader, model, device):\n"," model.eval() # Set your model to evaluation mode.\n"," preds = []\n"," for x in tqdm(test_loader):\n"," x = x.to(device) \n"," with torch.no_grad(): \n"," pred = model(x) \n"," preds.append(pred.detach().cpu()) \n"," preds = torch.cat(preds, dim=0).numpy() \n"," return preds"],"metadata":{"id":"sZ4xJC60nwOD","executionInfo":{"status":"ok","timestamp":1663925567988,"user_tz":-480,"elapsed":348,"user":{"displayName":"jon","userId":"02515558245111120108"}}},"execution_count":52,"outputs":[]},{"cell_type":"markdown","source":["# 导入数据并进行预处理\n","* 导入数据并且进行切换 训练数据切为训练数据+验证数据\n","* 定义feature选择函数Feature Selection\n"],"metadata":{"id":"9JHxpHlWigWf"}},{"cell_type":"code","source":["# 检查分析数据\n","train_csv = pd.read_csv('./covid.train.csv')\n","column_list = []\n","print(len(train_csv.columns),)\n","for i,column in enumerate(train_csv.columns):\n"," if column.startswith('cli') :\n"," print(len(column_list),column_list)\n"," column_list = []\n"," column_list.append(column)\n"," if i==len(train_csv.columns)-1:\n"," print(len(column_list),column_list)\n","\n","cor = train_csv.corr()\n","# print(cor)\n","# print(cor.iloc[-1])\n","feature_idx = []\n","for i,item in enumerate(cor.iloc[-1]):\n"," if abs(item)>0.5 and not 1==item:\n"," feature_idx.append(i)\n"," print(i,item)\n","print(len(feature_idx),feature_idx)\n"],"metadata":{"id":"Z5erE9LQ0k4m","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1663923766534,"user_tz":-480,"elapsed":647,"user":{"displayName":"jon","userId":"02515558245111120108"}},"outputId":"a32e20e2-63e7-4ab3-f9e2-e66d1239133b"},"execution_count":33,"outputs":[{"output_type":"stream","name":"stdout","text":["118\n","38 ['id', 'AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'FL', 'GA', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'NE', 'NV', 'NJ', 'NM', 'NY', 'NC', 'OH', 'OK', 'OR', 'RI', 'SC', 'TX', 'UT', 'VA', 'WA']\n","16 ['cli', 'ili', 'hh_cmnty_cli', 'nohh_cmnty_cli', 'wearing_mask', 'travel_outside_state', 'work_outside_home', 'shop', 'restaurant', 'spent_time', 'large_event', 'public_transit', 'anxious', 'depressed', 'worried_finances', 'tested_positive']\n","16 ['cli.1', 'ili.1', 'hh_cmnty_cli.1', 'nohh_cmnty_cli.1', 'wearing_mask.1', 'travel_outside_state.1', 'work_outside_home.1', 'shop.1', 'restaurant.1', 'spent_time.1', 'large_event.1', 'public_transit.1', 'anxious.1', 'depressed.1', 'worried_finances.1', 'tested_positive.1']\n","16 ['cli.2', 'ili.2', 'hh_cmnty_cli.2', 'nohh_cmnty_cli.2', 'wearing_mask.2', 'travel_outside_state.2', 'work_outside_home.2', 'shop.2', 'restaurant.2', 'spent_time.2', 'large_event.2', 'public_transit.2', 'anxious.2', 'depressed.2', 'worried_finances.2', 'tested_positive.2']\n","16 ['cli.3', 'ili.3', 'hh_cmnty_cli.3', 'nohh_cmnty_cli.3', 'wearing_mask.3', 'travel_outside_state.3', 'work_outside_home.3', 'shop.3', 'restaurant.3', 'spent_time.3', 'large_event.3', 'public_transit.3', 'anxious.3', 'depressed.3', 'worried_finances.3', 'tested_positive.3']\n","16 ['cli.4', 'ili.4', 'hh_cmnty_cli.4', 'nohh_cmnty_cli.4', 'wearing_mask.4', 'travel_outside_state.4', 'work_outside_home.4', 'shop.4', 'restaurant.4', 'spent_time.4', 'large_event.4', 'public_transit.4', 'anxious.4', 'depressed.4', 'worried_finances.4', 'tested_positive.4']\n","38 0.8527660436572426\n","39 0.8529337233839103\n","40 0.8807771527994981\n","41 0.8737503963391973\n","44 0.5726626435849136\n","50 0.6120317799793138\n","53 0.9353881937492188\n","54 0.8553205300296827\n","55 0.8557742334440945\n","56 0.8861224621021346\n","57 0.8791618580308304\n","60 0.5825747229844043\n","66 0.6175093871166315\n","69 0.9533331989512744\n","70 0.8565189953962328\n","71 0.8571813072436573\n","72 0.8908015063170087\n","73 0.8839264439226101\n","76 0.590628206515631\n","82 0.6210182805112958\n","85 0.9695932562431359\n","86 0.8596172211459052\n","87 0.8601411114157022\n","88 0.8949356631064201\n","89 0.8879852840661054\n","92 0.5977710189331574\n","98 0.6255526192480557\n","101 0.985356749806574\n","102 0.8625840290775398\n","103 0.8628207789330068\n","104 0.8984370377908398\n","105 0.8912879466250279\n","108 0.6037204377323714\n","114 0.6314441548996362\n","34 [38, 39, 40, 41, 44, 50, 53, 54, 55, 56, 57, 60, 66, 69, 70, 71, 72, 73, 76, 82, 85, 86, 87, 88, 89, 92, 98, 101, 102, 103, 104, 105, 108, 114]\n"]}]},{"cell_type":"code","source":["from sklearn.feature_selection import SelectKBest\n","from sklearn.feature_selection import f_regression\n","\n","features = pd.read_csv('./covid.train.csv')\n","x_data, y_data = features.iloc[:, 0:117], features.iloc[:, 117]\n","\n","#try choose your k best features\n","k = 24\n","selector = SelectKBest(score_func=f_regression, k=k)\n","result = selector.fit(x_data, y_data)\n","\n","#result.scores_ inclues scores for each features\n","#np.argsort sort scores in ascending order by index, we reverse it to make it descending.\n","idx = np.argsort(result.scores_)[::-1]\n","print(f'Top {k} Best feature score ')\n","print(result.scores_[idx[:k]])\n","\n","print(f'\\nTop {k} Best feature index ')\n","print(idx[:k])\n","\n","print(f'\\nTop {k} Best feature name')\n","print(x_data.columns[idx[:k]])\n","\n","selected_idx = list(np.sort(idx[:k]))\n","print(selected_idx)\n","print(x_data.columns[selected_idx])"],"metadata":{"id":"QwMqVVaCwVeV"},"execution_count":null,"outputs":[]},{"cell_type":"code","execution_count":4,"metadata":{"id":"2kuSZfWf2h08","executionInfo":{"status":"ok","timestamp":1663919917916,"user_tz":-480,"elapsed":353,"user":{"displayName":"jon","userId":"02515558245111120108"}}},"outputs":[],"source":["class COVID19Dataset(Dataset):\n"," '''\n"," x: Features.\n"," y: Targets, if none, do prediction.\n"," '''\n"," def __init__(self, x, y=None):\n"," if y is None:\n"," self.y = y\n"," else:\n"," self.y = torch.FloatTensor(y)\n"," self.x = torch.FloatTensor(x)\n","\n"," def __getitem__(self, idx):\n"," if self.y is None:\n"," return self.x[idx]\n"," else:\n"," return self.x[idx], self.y[idx]\n","\n"," def __len__(self):\n"," return len(self.x)"]},{"cell_type":"code","source":["# Set seed for reproducibility\n","same_seed(config['seed'])\n","\n","# train_data size: 2699 x 118 (id + 37 states + 16 features x 5 days) \n","# test_data size: 1078 x 117 (without last day's positive rate)\n","train_data, test_data = pd.read_csv('./covid.train.csv').values, pd.read_csv('./covid.test.csv').values\n","train_data, valid_data = train_valid_split(train_data, config['valid_ratio'], config['seed'])\n","\n","# Print out the data size.\n","print(f\"\"\"train_data size: {train_data.shape} \n","valid_data size: {valid_data.shape} \n","test_data size: {test_data.shape}\"\"\")\n","\n","# Choose features you deem useful by modifying the function below.\n","def select_feat(train_data, valid_data, test_data, select_all=True,feature_idx=None):\n"," '''Selects useful features to perform regression'''\n"," y_train, y_valid = train_data[:,-1], valid_data[:,-1]\n"," raw_x_train, raw_x_valid, raw_x_test = train_data[:,:-1], valid_data[:,:-1], test_data\n","\n"," if select_all:\n"," feat_idx = list(range(raw_x_train.shape[1]))\n"," else:\n"," # feat_idx = list(range(raw_x_train.shape[1]))[1:] # TODO: Select suitable feature columns.\n"," feat_idx = feature_idx\n"," # print(feat_idx)\n"," \n"," return raw_x_train[:,feat_idx], raw_x_valid[:,feat_idx], raw_x_test[:,feat_idx], y_train, y_valid\n","\n","# Select features\n","x_train, x_valid, x_test, y_train, y_valid = select_feat(train_data, valid_data, test_data, config['select_all'],feature_idx)\n","\n","# Print out the number of features.\n","print(f'number of features: {x_train.shape[1]}')\n","\n","# init dataset\n","train_dataset = COVID19Dataset(x_train, y_train)\n","valid_dataset = COVID19Dataset(x_valid, y_valid)\n","test_dataset = COVID19Dataset(x_test)\n","\n","# Pytorch data loader loads pytorch dataset into batches.\n","train_loader = DataLoader(train_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True)\n","valid_loader = DataLoader(valid_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True)\n","test_loader = DataLoader(test_dataset, batch_size=config['batch_size'], shuffle=False, pin_memory=True)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"iHkhlzQakJVd","executionInfo":{"status":"ok","timestamp":1663924961048,"user_tz":-480,"elapsed":533,"user":{"displayName":"jon","userId":"02515558245111120108"}},"outputId":"9eeb1fe5-4511-44a4-bc01-7d67f259e525"},"execution_count":42,"outputs":[{"output_type":"stream","name":"stdout","text":["train_data size: (2160, 118) \n","valid_data size: (539, 118) \n","test_data size: (1078, 117)\n","number of features: 34\n"]}]},{"cell_type":"markdown","source":["# 定义DNN模型\n"],"metadata":{"id":"Iafe6DNpvsux"}},{"cell_type":"code","source":["class My_Model(nn.Module):\n"," def __init__(self, input_dim):\n"," super(My_Model, self).__init__()\n"," # TODO: modify model's structure, be aware of dimensions. \n"," self.layers = nn.Sequential(\n"," nn.Linear(input_dim, 32),\n"," # nn.ReLU(),\n"," nn.LeakyReLU(0.2),\n"," nn.Linear(32, 16),\n"," # nn.ReLU(),\n"," nn.LeakyReLU(0.2),\n"," nn.Linear(16, 1)\n"," )\n","\n"," def forward(self, x):\n"," x = self.layers(x)\n"," x = x.squeeze(1) # (B, 1) -> (B)\n"," return x"],"metadata":{"id":"F024w1Vkvzhg","executionInfo":{"status":"ok","timestamp":1663925434191,"user_tz":-480,"elapsed":383,"user":{"displayName":"jon","userId":"02515558245111120108"}}},"execution_count":48,"outputs":[]},{"cell_type":"markdown","source":["# 训练循环"],"metadata":{"id":"RqvA2xU0C5zG"}},{"cell_type":"code","execution_count":44,"metadata":{"id":"-l1nYALVDBqZ","executionInfo":{"status":"ok","timestamp":1663925003698,"user_tz":-480,"elapsed":628,"user":{"displayName":"jon","userId":"02515558245111120108"}}},"outputs":[],"source":["def trainer(train_loader, valid_loader, model, config, device):\n","\n"," criterion = nn.MSELoss(reduction='mean') # Define your loss function, do not modify this.\n","\n"," # Define your optimization algorithm. \n"," # TODO: Please check https://pytorch.org/docs/stable/optim.html to get more available algorithms.\n"," # TODO: L2 regularization (optimizer(weight decay...) or implement by your self).\n"," # optimizer = torch.optim.SGD(model.parameters(), lr=config['learning_rate'], momentum=0.9) \n"," # optimizer = torch.optim.ASGD(model.parameters(), lr=config['learning_rate']) \n"," # optimizer = torch.optim.SGD(model.parameters(), lr=config['learning_rate'], momentum=0.9, weight_decay=config['weight_decay']) \n"," optimizer = torch.optim.Adam(model.parameters(),betas=[0.9,0.999],lr=config['learning_rate'],eps=1e-6,weight_decay=config['weight_decay'])\n","\n"," writer = SummaryWriter() # Writer of tensoboard.\n","\n"," if not os.path.isdir('./models'):\n"," os.mkdir('./models') # Create directory of saving models.\n","\n"," n_epochs, best_loss, step, early_stop_count = config['n_epochs'], math.inf, 0, 0\n","\n"," for epoch in range(n_epochs):\n"," model.train() # Set your model to train mode.\n"," loss_record = []\n","\n"," # tqdm is a package to visualize your training progress.\n"," train_pbar = tqdm(train_loader, position=0, leave=True)\n","\n"," for x, y in train_pbar:\n"," optimizer.zero_grad() # Set gradient to zero.\n"," x, y = x.to(device), y.to(device) # Move your data to device. \n"," pred = model(x) \n"," loss = criterion(pred, y)\n"," loss.backward() # Compute gradient(backpropagation).\n"," optimizer.step() # Update parameters.\n"," step += 1\n"," loss_record.append(loss.detach().item())\n"," \n"," # Display current epoch number and loss on tqdm progress bar.\n"," train_pbar.set_description(f'Epoch [{epoch+1}/{n_epochs}]')\n"," train_pbar.set_postfix({'loss': loss.detach().item()})\n","\n"," mean_train_loss = sum(loss_record)/len(loss_record)\n"," writer.add_scalar('Loss/train', mean_train_loss, step)\n","\n"," model.eval() # Set your model to evaluation mode.\n"," loss_record = []\n"," for x, y in valid_loader:\n"," x, y = x.to(device), y.to(device)\n"," # 验证的时候无需计算梯度下降\n"," with torch.no_grad():\n"," pred = model(x)\n"," loss = criterion(pred, y)\n","\n"," loss_record.append(loss.item())\n"," \n"," mean_valid_loss = sum(loss_record)/len(loss_record)\n"," print(f'Epoch [{epoch+1}/{n_epochs}]: Train loss: {mean_train_loss:.4f}, Valid loss: {mean_valid_loss:.4f}')\n"," writer.add_scalar('Loss/valid', mean_valid_loss, step)\n","\n"," if mean_valid_loss < best_loss:\n"," best_loss = mean_valid_loss\n"," torch.save(model.state_dict(), config['save_path']) # Save your best model\n"," print('Saving model with loss {:.3f}...'.format(best_loss))\n"," early_stop_count = 0\n"," else: \n"," early_stop_count += 1\n","\n"," # 训练一定次数后没有更好的loss 则退出训练\n"," if early_stop_count >= config['early_stop']:\n"," print('\\nModel is not improving, so we halt the training session.')\n"," return"]},{"cell_type":"markdown","source":["# 开始训练"],"metadata":{"id":"yYnSqKD-DNxj"}},{"cell_type":"code","source":["model = My_Model(input_dim=x_train.shape[1]).to(device) # put your model and data on the same computation device.\n","trainer(train_loader, valid_loader, model, config, device)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"-185Jwa42QMb","executionInfo":{"status":"ok","timestamp":1663925299038,"user_tz":-480,"elapsed":58683,"user":{"displayName":"jon","userId":"02515558245111120108"}},"outputId":"205a91ec-06e5-43cc-9f43-17a8bdceff30"},"execution_count":45,"outputs":[{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.35it/s, loss=68.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1/3000]: Train loss: 102.3300, Valid loss: 90.7502\n","Saving model with loss 90.750...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [2/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.70it/s, loss=83.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [2/3000]: Train loss: 94.3550, Valid loss: 92.1067\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [3/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.49it/s, loss=89.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [3/3000]: Train loss: 86.7297, Valid loss: 85.9884\n","Saving model with loss 85.988...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [4/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.09it/s, loss=97.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [4/3000]: Train loss: 79.5711, Valid loss: 86.5213\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [5/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.00it/s, loss=62.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [5/3000]: Train loss: 70.3092, Valid loss: 59.4489\n","Saving model with loss 59.449...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [6/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.30it/s, loss=60.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [6/3000]: Train loss: 63.4977, Valid loss: 49.9502\n","Saving model with loss 49.950...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [7/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.24it/s, loss=38.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [7/3000]: Train loss: 56.0024, Valid loss: 55.5791\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [8/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.36it/s, loss=43.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [8/3000]: Train loss: 50.4700, Valid loss: 43.9627\n","Saving model with loss 43.963...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [9/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.57it/s, loss=44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [9/3000]: Train loss: 45.3076, Valid loss: 47.6587\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [10/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.97it/s, loss=37.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [10/3000]: Train loss: 40.1765, Valid loss: 31.0763\n","Saving model with loss 31.076...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [11/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.14it/s, loss=33.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [11/3000]: Train loss: 35.7168, Valid loss: 27.1647\n","Saving model with loss 27.165...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [12/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.46it/s, loss=29.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [12/3000]: Train loss: 31.7978, Valid loss: 30.4352\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [13/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.42it/s, loss=28.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [13/3000]: Train loss: 28.4811, Valid loss: 27.1349\n","Saving model with loss 27.135...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [14/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.74it/s, loss=22.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [14/3000]: Train loss: 25.5459, Valid loss: 19.8595\n","Saving model with loss 19.860...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [15/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.13it/s, loss=23.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [15/3000]: Train loss: 23.3783, Valid loss: 21.7151\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [16/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.69it/s, loss=26.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [16/3000]: Train loss: 21.8134, Valid loss: 18.7749\n","Saving model with loss 18.775...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [17/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.80it/s, loss=14.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [17/3000]: Train loss: 19.7269, Valid loss: 19.4817\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [18/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.47it/s, loss=16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [18/3000]: Train loss: 18.7107, Valid loss: 22.9882\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [19/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.62it/s, loss=17.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [19/3000]: Train loss: 17.9697, Valid loss: 16.6041\n","Saving model with loss 16.604...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [20/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.36it/s, loss=17.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [20/3000]: Train loss: 17.3193, Valid loss: 16.3062\n","Saving model with loss 16.306...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [21/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.88it/s, loss=16.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [21/3000]: Train loss: 16.7789, Valid loss: 15.7777\n","Saving model with loss 15.778...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [22/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.59it/s, loss=15.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [22/3000]: Train loss: 16.3000, Valid loss: 15.2237\n","Saving model with loss 15.224...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [23/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.55it/s, loss=15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [23/3000]: Train loss: 15.9067, Valid loss: 13.6420\n","Saving model with loss 13.642...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [24/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.28it/s, loss=15.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [24/3000]: Train loss: 15.6262, Valid loss: 16.8376\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [25/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.66it/s, loss=13.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [25/3000]: Train loss: 15.2388, Valid loss: 13.7909\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [26/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.57it/s, loss=13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [26/3000]: Train loss: 14.9277, Valid loss: 14.4791\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [27/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.48it/s, loss=19.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [27/3000]: Train loss: 15.0536, Valid loss: 14.3722\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [28/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.48it/s, loss=15.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [28/3000]: Train loss: 14.5936, Valid loss: 12.8515\n","Saving model with loss 12.852...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [29/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.63it/s, loss=10.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [29/3000]: Train loss: 14.0511, Valid loss: 12.5402\n","Saving model with loss 12.540...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [30/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.15it/s, loss=18.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [30/3000]: Train loss: 14.2695, Valid loss: 11.9850\n","Saving model with loss 11.985...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [31/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.73it/s, loss=12.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [31/3000]: Train loss: 13.6687, Valid loss: 11.1174\n","Saving model with loss 11.117...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [32/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.59it/s, loss=12.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [32/3000]: Train loss: 13.4559, Valid loss: 11.4826\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [33/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.97it/s, loss=13.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [33/3000]: Train loss: 13.2483, Valid loss: 12.2617\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [34/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.75it/s, loss=10.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [34/3000]: Train loss: 12.8664, Valid loss: 11.3347\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [35/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.96it/s, loss=12.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [35/3000]: Train loss: 12.7248, Valid loss: 11.6268\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [36/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.64it/s, loss=9.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [36/3000]: Train loss: 12.3120, Valid loss: 12.0783\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [37/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.59it/s, loss=13.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [37/3000]: Train loss: 12.3597, Valid loss: 10.1467\n","Saving model with loss 10.147...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [38/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.54it/s, loss=13.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [38/3000]: Train loss: 12.1078, Valid loss: 10.7343\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [39/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.84it/s, loss=13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [39/3000]: Train loss: 11.8846, Valid loss: 11.4296\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [40/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.79it/s, loss=13.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [40/3000]: Train loss: 11.6876, Valid loss: 11.9738\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [41/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.52it/s, loss=12.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [41/3000]: Train loss: 11.4443, Valid loss: 11.0933\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [42/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.33it/s, loss=12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [42/3000]: Train loss: 11.1770, Valid loss: 9.6613\n","Saving model with loss 9.661...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [43/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.66it/s, loss=10.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [43/3000]: Train loss: 10.8587, Valid loss: 11.0814\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [44/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.83it/s, loss=10.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [44/3000]: Train loss: 10.6604, Valid loss: 11.2116\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [45/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.87it/s, loss=8.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [45/3000]: Train loss: 10.3338, Valid loss: 11.2753\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [46/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.20it/s, loss=9.94]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [46/3000]: Train loss: 10.2360, Valid loss: 8.7506\n","Saving model with loss 8.751...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [47/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.49it/s, loss=8.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [47/3000]: Train loss: 9.9558, Valid loss: 11.2605\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [48/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.06it/s, loss=10.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [48/3000]: Train loss: 9.8766, Valid loss: 10.5831\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [49/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.72it/s, loss=10.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [49/3000]: Train loss: 9.6900, Valid loss: 8.5747\n","Saving model with loss 8.575...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [50/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.23it/s, loss=7.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [50/3000]: Train loss: 9.3093, Valid loss: 7.8541\n","Saving model with loss 7.854...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [51/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.92it/s, loss=7.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [51/3000]: Train loss: 9.1242, Valid loss: 9.5229\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [52/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.61it/s, loss=9.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [52/3000]: Train loss: 9.0886, Valid loss: 8.6211\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [53/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.64it/s, loss=9.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [53/3000]: Train loss: 8.9033, Valid loss: 7.5151\n","Saving model with loss 7.515...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [54/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.23it/s, loss=9.96]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [54/3000]: Train loss: 8.7798, Valid loss: 7.5234\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [55/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.85it/s, loss=7.68]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [55/3000]: Train loss: 8.4708, Valid loss: 6.9850\n","Saving model with loss 6.985...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [56/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.23it/s, loss=6.72]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [56/3000]: Train loss: 8.2524, Valid loss: 7.1387\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [57/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.84it/s, loss=7.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [57/3000]: Train loss: 8.1350, Valid loss: 7.9483\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [58/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.14it/s, loss=9.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [58/3000]: Train loss: 8.0980, Valid loss: 7.3092\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [59/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.95it/s, loss=8.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [59/3000]: Train loss: 7.8802, Valid loss: 7.9239\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [60/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.00it/s, loss=8.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [60/3000]: Train loss: 7.7470, Valid loss: 8.7651\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [61/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.49it/s, loss=7.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [61/3000]: Train loss: 7.5607, Valid loss: 6.6855\n","Saving model with loss 6.686...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [62/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.88it/s, loss=5.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [62/3000]: Train loss: 7.3082, Valid loss: 5.9255\n","Saving model with loss 5.926...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [63/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.57it/s, loss=6.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [63/3000]: Train loss: 7.2498, Valid loss: 6.5306\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [64/3000]: 100%|██████████| 9/9 [00:00<00:00, 46.77it/s, loss=8.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [64/3000]: Train loss: 7.2452, Valid loss: 7.0303\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [65/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.17it/s, loss=8.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [65/3000]: Train loss: 7.1339, Valid loss: 6.5065\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [66/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.07it/s, loss=7.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [66/3000]: Train loss: 6.9423, Valid loss: 6.2619\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [67/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.83it/s, loss=7.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [67/3000]: Train loss: 6.8281, Valid loss: 6.5414\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [68/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.42it/s, loss=5.98]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [68/3000]: Train loss: 6.6449, Valid loss: 6.8527\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [69/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.51it/s, loss=6.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [69/3000]: Train loss: 6.5888, Valid loss: 5.9687\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [70/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.21it/s, loss=5.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [70/3000]: Train loss: 6.4228, Valid loss: 5.3358\n","Saving model with loss 5.336...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [71/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.77it/s, loss=6.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [71/3000]: Train loss: 6.4019, Valid loss: 6.3896\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [72/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.90it/s, loss=6.83]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [72/3000]: Train loss: 6.3158, Valid loss: 6.0776\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [73/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.12it/s, loss=6.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [73/3000]: Train loss: 6.1795, Valid loss: 5.7771\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [74/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.41it/s, loss=4.86]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [74/3000]: Train loss: 6.0048, Valid loss: 5.4154\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [75/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.12it/s, loss=6.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [75/3000]: Train loss: 6.0155, Valid loss: 6.3635\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [76/3000]: 100%|██████████| 9/9 [00:00<00:00, 40.74it/s, loss=6.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [76/3000]: Train loss: 5.9185, Valid loss: 4.9914\n","Saving model with loss 4.991...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [77/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.09it/s, loss=5.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [77/3000]: Train loss: 5.7404, Valid loss: 5.6749\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [78/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.29it/s, loss=5.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [78/3000]: Train loss: 5.6428, Valid loss: 4.6682\n","Saving model with loss 4.668...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [79/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.87it/s, loss=5.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [79/3000]: Train loss: 5.5777, Valid loss: 5.6831\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [80/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.06it/s, loss=6.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [80/3000]: Train loss: 5.5845, Valid loss: 5.1140\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [81/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.25it/s, loss=6.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [81/3000]: Train loss: 5.5159, Valid loss: 5.3771\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [82/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.88it/s, loss=7.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [82/3000]: Train loss: 5.5211, Valid loss: 6.2207\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [83/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.33it/s, loss=5.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [83/3000]: Train loss: 5.3695, Valid loss: 4.9399\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [84/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.01it/s, loss=6.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [84/3000]: Train loss: 5.3879, Valid loss: 4.0910\n","Saving model with loss 4.091...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [85/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.86it/s, loss=6.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [85/3000]: Train loss: 5.3349, Valid loss: 4.1465\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [86/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.40it/s, loss=4.93]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [86/3000]: Train loss: 5.2198, Valid loss: 4.8424\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [87/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.48it/s, loss=5.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [87/3000]: Train loss: 5.2306, Valid loss: 4.3672\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [88/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.18it/s, loss=5.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [88/3000]: Train loss: 5.2162, Valid loss: 4.6519\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [89/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.65it/s, loss=5.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [89/3000]: Train loss: 5.1378, Valid loss: 5.6692\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [90/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.39it/s, loss=4.88]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [90/3000]: Train loss: 5.0979, Valid loss: 5.0911\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [91/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.75it/s, loss=4.65]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [91/3000]: Train loss: 5.0588, Valid loss: 4.2286\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [92/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.16it/s, loss=5.43]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [92/3000]: Train loss: 5.0823, Valid loss: 4.2534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [93/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.32it/s, loss=5.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [93/3000]: Train loss: 5.0531, Valid loss: 5.4466\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [94/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.02it/s, loss=5.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [94/3000]: Train loss: 5.0057, Valid loss: 4.6564\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [95/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.71it/s, loss=5.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [95/3000]: Train loss: 4.9991, Valid loss: 4.7245\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [96/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.58it/s, loss=5.89]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [96/3000]: Train loss: 5.0146, Valid loss: 5.4145\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [97/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.30it/s, loss=5.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [97/3000]: Train loss: 4.9873, Valid loss: 5.3756\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [98/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.36it/s, loss=3.82]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [98/3000]: Train loss: 4.8405, Valid loss: 4.4113\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [99/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.29it/s, loss=5.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [99/3000]: Train loss: 4.9135, Valid loss: 3.9061\n","Saving model with loss 3.906...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [100/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.74it/s, loss=4.72]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [100/3000]: Train loss: 4.8534, Valid loss: 5.3158\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [101/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.99it/s, loss=4.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [101/3000]: Train loss: 4.7946, Valid loss: 4.7518\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [102/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.83it/s, loss=3.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [102/3000]: Train loss: 4.7430, Valid loss: 4.0827\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [103/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.48it/s, loss=4.94]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [103/3000]: Train loss: 4.8042, Valid loss: 4.2330\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [104/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.97it/s, loss=5.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [104/3000]: Train loss: 4.8051, Valid loss: 3.9607\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [105/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.43it/s, loss=3.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [105/3000]: Train loss: 4.6761, Valid loss: 4.7101\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [106/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.04it/s, loss=3.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [106/3000]: Train loss: 4.6516, Valid loss: 4.5679\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [107/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.07it/s, loss=4.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [107/3000]: Train loss: 4.7117, Valid loss: 4.9997\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [108/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.12it/s, loss=4.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [108/3000]: Train loss: 4.6875, Valid loss: 5.2498\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [109/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.76it/s, loss=4.99]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [109/3000]: Train loss: 4.6871, Valid loss: 4.3954\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [110/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.37it/s, loss=4.51]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [110/3000]: Train loss: 4.6360, Valid loss: 4.9618\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [111/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.38it/s, loss=4.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [111/3000]: Train loss: 4.5908, Valid loss: 3.7747\n","Saving model with loss 3.775...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [112/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.45it/s, loss=3.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [112/3000]: Train loss: 4.5416, Valid loss: 4.0824\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [113/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.98it/s, loss=3.95]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [113/3000]: Train loss: 4.5419, Valid loss: 6.2941\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [114/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.74it/s, loss=3.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [114/3000]: Train loss: 4.5055, Valid loss: 3.7965\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [115/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.77it/s, loss=4.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [115/3000]: Train loss: 4.5292, Valid loss: 4.4478\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [116/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.08it/s, loss=5.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [116/3000]: Train loss: 4.5724, Valid loss: 4.1618\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [117/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.48it/s, loss=5.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [117/3000]: Train loss: 4.5493, Valid loss: 5.0178\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [118/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.18it/s, loss=4.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [118/3000]: Train loss: 4.4480, Valid loss: 3.9176\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [119/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.73it/s, loss=4.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [119/3000]: Train loss: 4.4438, Valid loss: 4.4856\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [120/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.61it/s, loss=5.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [120/3000]: Train loss: 4.5147, Valid loss: 3.7673\n","Saving model with loss 3.767...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [121/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.72it/s, loss=4.72]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [121/3000]: Train loss: 4.4266, Valid loss: 4.2565\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [122/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.00it/s, loss=4.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [122/3000]: Train loss: 4.3774, Valid loss: 4.5458\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [123/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.53it/s, loss=4.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [123/3000]: Train loss: 4.3756, Valid loss: 4.2537\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [124/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.88it/s, loss=4.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [124/3000]: Train loss: 4.3367, Valid loss: 4.2312\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [125/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.49it/s, loss=4.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [125/3000]: Train loss: 4.3250, Valid loss: 3.7762\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [126/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.59it/s, loss=4.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [126/3000]: Train loss: 4.2758, Valid loss: 3.7347\n","Saving model with loss 3.735...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [127/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.70it/s, loss=4.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [127/3000]: Train loss: 4.2836, Valid loss: 4.0785\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [128/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.48it/s, loss=4.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [128/3000]: Train loss: 4.2568, Valid loss: 3.4148\n","Saving model with loss 3.415...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [129/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.24it/s, loss=4.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [129/3000]: Train loss: 4.2198, Valid loss: 3.8468\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [130/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.61it/s, loss=4.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [130/3000]: Train loss: 4.2155, Valid loss: 4.8297\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [131/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.70it/s, loss=4.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [131/3000]: Train loss: 4.1644, Valid loss: 3.7268\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [132/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.16it/s, loss=4.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [132/3000]: Train loss: 4.1597, Valid loss: 4.8462\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [133/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.68it/s, loss=4.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [133/3000]: Train loss: 4.1594, Valid loss: 4.0144\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [134/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.80it/s, loss=3.97]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [134/3000]: Train loss: 4.0917, Valid loss: 3.3114\n","Saving model with loss 3.311...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [135/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.53it/s, loss=3.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [135/3000]: Train loss: 4.0589, Valid loss: 3.6059\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [136/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.51it/s, loss=4.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [136/3000]: Train loss: 4.0510, Valid loss: 3.9385\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [137/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.48it/s, loss=4.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [137/3000]: Train loss: 4.0578, Valid loss: 3.9826\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [138/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.04it/s, loss=5.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [138/3000]: Train loss: 4.0854, Valid loss: 4.2640\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [139/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.45it/s, loss=3.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [139/3000]: Train loss: 3.9248, Valid loss: 4.3259\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [140/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.68it/s, loss=3.79]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [140/3000]: Train loss: 3.9425, Valid loss: 3.6833\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [141/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.00it/s, loss=2.43]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [141/3000]: Train loss: 3.8340, Valid loss: 3.6717\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [142/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.01it/s, loss=4.74]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [142/3000]: Train loss: 3.9550, Valid loss: 4.2052\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [143/3000]: 100%|██████████| 9/9 [00:00<00:00, 41.34it/s, loss=3.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [143/3000]: Train loss: 3.8806, Valid loss: 3.9680\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [144/3000]: 100%|██████████| 9/9 [00:00<00:00, 43.21it/s, loss=4.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [144/3000]: Train loss: 3.8752, Valid loss: 4.1676\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [145/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.92it/s, loss=3.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [145/3000]: Train loss: 3.8207, Valid loss: 4.6534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [146/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.03it/s, loss=3.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [146/3000]: Train loss: 3.7736, Valid loss: 3.4446\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [147/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.67it/s, loss=3.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [147/3000]: Train loss: 3.7890, Valid loss: 3.7053\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [148/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.04it/s, loss=4.53]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [148/3000]: Train loss: 3.8157, Valid loss: 3.2888\n","Saving model with loss 3.289...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [149/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.31it/s, loss=4.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [149/3000]: Train loss: 3.7716, Valid loss: 3.4744\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [150/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.83it/s, loss=3.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [150/3000]: Train loss: 3.7171, Valid loss: 3.7196\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [151/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.73it/s, loss=4.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [151/3000]: Train loss: 3.7596, Valid loss: 3.7900\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [152/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.98it/s, loss=3.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [152/3000]: Train loss: 3.6639, Valid loss: 3.1129\n","Saving model with loss 3.113...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [153/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.19it/s, loss=3.43]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [153/3000]: Train loss: 3.6467, Valid loss: 3.2851\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [154/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.72it/s, loss=4.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [154/3000]: Train loss: 3.6885, Valid loss: 3.3179\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [155/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.74it/s, loss=2.98]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [155/3000]: Train loss: 3.5798, Valid loss: 4.3759\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [156/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.27it/s, loss=3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [156/3000]: Train loss: 3.5620, Valid loss: 4.3854\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [157/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.38it/s, loss=3.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [157/3000]: Train loss: 3.5678, Valid loss: 3.7499\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [158/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.70it/s, loss=4.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [158/3000]: Train loss: 3.5900, Valid loss: 2.9090\n","Saving model with loss 2.909...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [159/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.30it/s, loss=4.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [159/3000]: Train loss: 3.5726, Valid loss: 2.9426\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [160/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.09it/s, loss=4.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [160/3000]: Train loss: 3.5658, Valid loss: 3.1990\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [161/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.79it/s, loss=2.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [161/3000]: Train loss: 3.4343, Valid loss: 3.0783\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [162/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.55it/s, loss=3.46]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [162/3000]: Train loss: 3.4781, Valid loss: 3.2201\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [163/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.60it/s, loss=4.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [163/3000]: Train loss: 3.5141, Valid loss: 3.6085\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [164/3000]: 100%|██████████| 9/9 [00:00<00:00, 37.41it/s, loss=3.84]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [164/3000]: Train loss: 3.4679, Valid loss: 3.1304\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [165/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.43it/s, loss=2.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [165/3000]: Train loss: 3.3760, Valid loss: 3.0491\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [166/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.43it/s, loss=3.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [166/3000]: Train loss: 3.3980, Valid loss: 3.8072\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [167/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.86it/s, loss=3.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [167/3000]: Train loss: 3.3730, Valid loss: 3.0305\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [168/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.63it/s, loss=3.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [168/3000]: Train loss: 3.3427, Valid loss: 3.5726\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [169/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.83it/s, loss=2.91]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [169/3000]: Train loss: 3.3151, Valid loss: 3.8707\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [170/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.93it/s, loss=2.88]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [170/3000]: Train loss: 3.2947, Valid loss: 3.1752\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [171/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.47it/s, loss=4.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [171/3000]: Train loss: 3.3670, Valid loss: 3.3711\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [172/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.56it/s, loss=3.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [172/3000]: Train loss: 3.2964, Valid loss: 3.4758\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [173/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.03it/s, loss=3.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [173/3000]: Train loss: 3.2771, Valid loss: 3.9031\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [174/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.28it/s, loss=3.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [174/3000]: Train loss: 3.2729, Valid loss: 3.4066\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [175/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.17it/s, loss=4.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [175/3000]: Train loss: 3.2797, Valid loss: 2.8044\n","Saving model with loss 2.804...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [176/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.49it/s, loss=2.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [176/3000]: Train loss: 3.1798, Valid loss: 3.6221\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [177/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.26it/s, loss=2.79]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [177/3000]: Train loss: 3.1644, Valid loss: 2.5880\n","Saving model with loss 2.588...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [178/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.28it/s, loss=3.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [178/3000]: Train loss: 3.1807, Valid loss: 2.9561\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [179/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.51it/s, loss=3.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [179/3000]: Train loss: 3.1524, Valid loss: 2.8925\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [180/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.88it/s, loss=3.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [180/3000]: Train loss: 3.1341, Valid loss: 2.6106\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [181/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.51it/s, loss=4.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [181/3000]: Train loss: 3.1681, Valid loss: 3.1881\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [182/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.38it/s, loss=2.77]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [182/3000]: Train loss: 3.0679, Valid loss: 2.9289\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [183/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.37it/s, loss=3.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [183/3000]: Train loss: 3.1029, Valid loss: 2.5139\n","Saving model with loss 2.514...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [184/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.51it/s, loss=2.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [184/3000]: Train loss: 2.9993, Valid loss: 2.4737\n","Saving model with loss 2.474...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [185/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.32it/s, loss=3.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [185/3000]: Train loss: 3.0269, Valid loss: 2.6258\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [186/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.81it/s, loss=3.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [186/3000]: Train loss: 3.0160, Valid loss: 2.6190\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [187/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.93it/s, loss=3.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [187/3000]: Train loss: 2.9936, Valid loss: 2.3858\n","Saving model with loss 2.386...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [188/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.57it/s, loss=3.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [188/3000]: Train loss: 2.9641, Valid loss: 3.4272\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [189/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.54it/s, loss=2.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [189/3000]: Train loss: 2.8582, Valid loss: 2.4968\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [190/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.36it/s, loss=2.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [190/3000]: Train loss: 2.8383, Valid loss: 3.4671\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [191/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.09it/s, loss=3.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [191/3000]: Train loss: 2.9007, Valid loss: 2.3069\n","Saving model with loss 2.307...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [192/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.65it/s, loss=2.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [192/3000]: Train loss: 2.7613, Valid loss: 2.5347\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [193/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.43it/s, loss=2.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [193/3000]: Train loss: 2.7461, Valid loss: 2.4413\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [194/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.80it/s, loss=2.96]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [194/3000]: Train loss: 2.7600, Valid loss: 2.5830\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [195/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.32it/s, loss=2.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [195/3000]: Train loss: 2.7051, Valid loss: 3.2773\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [196/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.66it/s, loss=3.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [196/3000]: Train loss: 2.7644, Valid loss: 2.4200\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [197/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.44it/s, loss=2.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [197/3000]: Train loss: 2.6708, Valid loss: 2.3952\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [198/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.11it/s, loss=3.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [198/3000]: Train loss: 2.7139, Valid loss: 2.6107\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [199/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.36it/s, loss=3.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [199/3000]: Train loss: 2.6888, Valid loss: 2.6592\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [200/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.04it/s, loss=2.78]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [200/3000]: Train loss: 2.6312, Valid loss: 2.2689\n","Saving model with loss 2.269...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [201/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.43it/s, loss=2.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [201/3000]: Train loss: 2.6008, Valid loss: 2.2690\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [202/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.92it/s, loss=3.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [202/3000]: Train loss: 2.6457, Valid loss: 2.4910\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [203/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.21it/s, loss=2.68]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [203/3000]: Train loss: 2.5746, Valid loss: 2.8441\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [204/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.81it/s, loss=2.88]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [204/3000]: Train loss: 2.5724, Valid loss: 2.2727\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [205/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.01it/s, loss=2.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [205/3000]: Train loss: 2.5307, Valid loss: 2.2369\n","Saving model with loss 2.237...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [206/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.94it/s, loss=2.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [206/3000]: Train loss: 2.4913, Valid loss: 2.0869\n","Saving model with loss 2.087...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [207/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.01it/s, loss=2.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [207/3000]: Train loss: 2.4937, Valid loss: 2.2477\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [208/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.72it/s, loss=2.71]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [208/3000]: Train loss: 2.4966, Valid loss: 2.4314\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [209/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.74it/s, loss=2.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [209/3000]: Train loss: 2.4672, Valid loss: 2.0021\n","Saving model with loss 2.002...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [210/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.59it/s, loss=2.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [210/3000]: Train loss: 2.4721, Valid loss: 2.1981\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [211/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.36it/s, loss=2.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [211/3000]: Train loss: 2.4446, Valid loss: 2.0383\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [212/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.62it/s, loss=2.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [212/3000]: Train loss: 2.4474, Valid loss: 1.9384\n","Saving model with loss 1.938...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [213/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.32it/s, loss=2.65]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [213/3000]: Train loss: 2.4225, Valid loss: 2.2203\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [214/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.50it/s, loss=1.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [214/3000]: Train loss: 2.3637, Valid loss: 2.3671\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [215/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.76it/s, loss=2.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [215/3000]: Train loss: 2.3628, Valid loss: 2.1691\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [216/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.55it/s, loss=2.63]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [216/3000]: Train loss: 2.3817, Valid loss: 2.2756\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [217/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.10it/s, loss=2.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [217/3000]: Train loss: 2.3302, Valid loss: 2.4765\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [218/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.28it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [218/3000]: Train loss: 2.3016, Valid loss: 2.1533\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [219/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.10it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [219/3000]: Train loss: 2.2870, Valid loss: 2.2743\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [220/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.94it/s, loss=3.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [220/3000]: Train loss: 2.3623, Valid loss: 2.2594\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [221/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.34it/s, loss=1.87]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [221/3000]: Train loss: 2.2750, Valid loss: 2.0041\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [222/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.63it/s, loss=2.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [222/3000]: Train loss: 2.3201, Valid loss: 2.1146\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [223/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.84it/s, loss=2.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [223/3000]: Train loss: 2.2861, Valid loss: 2.4085\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [224/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.55it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [224/3000]: Train loss: 2.2184, Valid loss: 2.9590\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [225/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.60it/s, loss=2.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [225/3000]: Train loss: 2.2432, Valid loss: 2.0328\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [226/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.79it/s, loss=1.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [226/3000]: Train loss: 2.2250, Valid loss: 2.1913\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [227/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.12it/s, loss=1.84]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [227/3000]: Train loss: 2.2089, Valid loss: 2.1578\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [228/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.62it/s, loss=2.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [228/3000]: Train loss: 2.2326, Valid loss: 2.1649\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [229/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.46it/s, loss=2.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [229/3000]: Train loss: 2.2237, Valid loss: 1.8149\n","Saving model with loss 1.815...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [230/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.11it/s, loss=2.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [230/3000]: Train loss: 2.2071, Valid loss: 1.9766\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [231/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.60it/s, loss=1.99]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [231/3000]: Train loss: 2.1808, Valid loss: 2.1959\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [232/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.78it/s, loss=1.95]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [232/3000]: Train loss: 2.1685, Valid loss: 2.1950\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [233/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.87it/s, loss=2.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [233/3000]: Train loss: 2.1705, Valid loss: 1.8119\n","Saving model with loss 1.812...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [234/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.00it/s, loss=2.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [234/3000]: Train loss: 2.1827, Valid loss: 1.7546\n","Saving model with loss 1.755...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [235/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.24it/s, loss=2.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [235/3000]: Train loss: 2.1488, Valid loss: 2.2591\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [236/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.55it/s, loss=1.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [236/3000]: Train loss: 2.1360, Valid loss: 2.7075\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [237/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.66it/s, loss=2.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [237/3000]: Train loss: 2.1341, Valid loss: 2.1344\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [238/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.85it/s, loss=2.78]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [238/3000]: Train loss: 2.1721, Valid loss: 1.7024\n","Saving model with loss 1.702...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [239/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.35it/s, loss=2.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [239/3000]: Train loss: 2.1209, Valid loss: 2.0241\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [240/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.50it/s, loss=2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [240/3000]: Train loss: 2.1077, Valid loss: 1.7369\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [241/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.39it/s, loss=2.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [241/3000]: Train loss: 2.1090, Valid loss: 2.5490\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [242/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.78it/s, loss=2.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [242/3000]: Train loss: 2.0988, Valid loss: 1.7098\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [243/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.94it/s, loss=2.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [243/3000]: Train loss: 2.1102, Valid loss: 2.3951\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [244/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.81it/s, loss=2.68]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [244/3000]: Train loss: 2.1241, Valid loss: 1.8229\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [245/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.44it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [245/3000]: Train loss: 2.0565, Valid loss: 1.8056\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [246/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.57it/s, loss=1.87]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [246/3000]: Train loss: 2.0658, Valid loss: 2.0239\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [247/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.26it/s, loss=1.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [247/3000]: Train loss: 2.0547, Valid loss: 1.8720\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [248/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.47it/s, loss=1.97]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [248/3000]: Train loss: 2.0600, Valid loss: 2.1331\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [249/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.75it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [249/3000]: Train loss: 2.0324, Valid loss: 2.0340\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [250/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.46it/s, loss=2.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [250/3000]: Train loss: 2.0577, Valid loss: 1.8715\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [251/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.33it/s, loss=2.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [251/3000]: Train loss: 2.0711, Valid loss: 1.7533\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [252/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.54it/s, loss=2.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [252/3000]: Train loss: 2.0696, Valid loss: 1.7833\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [253/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.21it/s, loss=2.53]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [253/3000]: Train loss: 2.0596, Valid loss: 2.0861\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [254/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.58it/s, loss=1.74]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [254/3000]: Train loss: 2.0056, Valid loss: 2.0254\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [255/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.69it/s, loss=2.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [255/3000]: Train loss: 2.0400, Valid loss: 1.8268\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [256/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.88it/s, loss=2.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [256/3000]: Train loss: 2.0178, Valid loss: 2.0083\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [257/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.58it/s, loss=2.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [257/3000]: Train loss: 2.0251, Valid loss: 1.9133\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [258/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.01it/s, loss=2.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [258/3000]: Train loss: 2.0225, Valid loss: 1.7619\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [259/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.84it/s, loss=2.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [259/3000]: Train loss: 2.0092, Valid loss: 1.9053\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [260/3000]: 100%|██████████| 9/9 [00:00<00:00, 121.77it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [260/3000]: Train loss: 1.9779, Valid loss: 1.7524\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [261/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.36it/s, loss=2.59]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [261/3000]: Train loss: 2.0280, Valid loss: 1.6776\n","Saving model with loss 1.678...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [262/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.20it/s, loss=2.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [262/3000]: Train loss: 2.0142, Valid loss: 1.5059\n","Saving model with loss 1.506...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [263/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.31it/s, loss=2.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [263/3000]: Train loss: 2.0054, Valid loss: 1.8798\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [264/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.85it/s, loss=1.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [264/3000]: Train loss: 1.9513, Valid loss: 1.5369\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [265/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.71it/s, loss=1.84]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [265/3000]: Train loss: 1.9627, Valid loss: 1.8709\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [266/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.54it/s, loss=1.87]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [266/3000]: Train loss: 1.9596, Valid loss: 2.1541\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [267/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.76it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [267/3000]: Train loss: 1.9286, Valid loss: 1.9529\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [268/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.42it/s, loss=1.63]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [268/3000]: Train loss: 1.9366, Valid loss: 1.6802\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [269/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.77it/s, loss=2.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [269/3000]: Train loss: 1.9595, Valid loss: 1.7121\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [270/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.55it/s, loss=2.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [270/3000]: Train loss: 1.9747, Valid loss: 1.5838\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [271/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.74it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [271/3000]: Train loss: 1.9329, Valid loss: 2.1791\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [272/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.40it/s, loss=2.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [272/3000]: Train loss: 1.9511, Valid loss: 1.8556\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [273/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.97it/s, loss=1.64]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [273/3000]: Train loss: 1.9256, Valid loss: 2.0335\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [274/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.20it/s, loss=2.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [274/3000]: Train loss: 1.9556, Valid loss: 1.9792\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [275/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.27it/s, loss=2.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [275/3000]: Train loss: 1.9546, Valid loss: 1.6934\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [276/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.46it/s, loss=2.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [276/3000]: Train loss: 1.9356, Valid loss: 2.0433\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [277/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.21it/s, loss=1.98]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [277/3000]: Train loss: 1.9285, Valid loss: 1.5199\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [278/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.06it/s, loss=2.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [278/3000]: Train loss: 1.9503, Valid loss: 2.1107\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [279/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.50it/s, loss=2.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [279/3000]: Train loss: 1.9634, Valid loss: 1.7593\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [280/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.18it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [280/3000]: Train loss: 1.9055, Valid loss: 1.6384\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [281/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.12it/s, loss=1.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [281/3000]: Train loss: 1.9057, Valid loss: 2.1245\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [282/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.69it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [282/3000]: Train loss: 1.8892, Valid loss: 1.9556\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [283/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.71it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [283/3000]: Train loss: 1.8726, Valid loss: 1.6907\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [284/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.86it/s, loss=1.95]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [284/3000]: Train loss: 1.9020, Valid loss: 1.9060\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [285/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.63it/s, loss=2.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [285/3000]: Train loss: 1.9089, Valid loss: 1.7064\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [286/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.91it/s, loss=1.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [286/3000]: Train loss: 1.8969, Valid loss: 1.8052\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [287/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.81it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [287/3000]: Train loss: 1.8514, Valid loss: 1.8590\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [288/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.99it/s, loss=2.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [288/3000]: Train loss: 1.9154, Valid loss: 1.8100\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [289/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.27it/s, loss=2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [289/3000]: Train loss: 1.8925, Valid loss: 1.9285\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [290/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.57it/s, loss=2.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [290/3000]: Train loss: 1.9074, Valid loss: 1.6389\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [291/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.06it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [291/3000]: Train loss: 1.8469, Valid loss: 1.5133\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [292/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.36it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [292/3000]: Train loss: 1.8535, Valid loss: 2.0724\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [293/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.85it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [293/3000]: Train loss: 1.8705, Valid loss: 1.7549\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [294/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.28it/s, loss=1.77]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [294/3000]: Train loss: 1.8674, Valid loss: 1.5701\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [295/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.56it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [295/3000]: Train loss: 1.8483, Valid loss: 1.9619\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [296/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.91it/s, loss=2.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [296/3000]: Train loss: 1.8996, Valid loss: 1.8342\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [297/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.59it/s, loss=1.93]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [297/3000]: Train loss: 1.8700, Valid loss: 1.6277\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [298/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.88it/s, loss=2.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [298/3000]: Train loss: 1.8692, Valid loss: 1.8859\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [299/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.72it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [299/3000]: Train loss: 1.8520, Valid loss: 1.6131\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [300/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.22it/s, loss=1.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [300/3000]: Train loss: 1.8388, Valid loss: 1.6019\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [301/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.53it/s, loss=2.66]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [301/3000]: Train loss: 1.9022, Valid loss: 1.7899\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [302/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.89it/s, loss=1.88]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [302/3000]: Train loss: 1.8546, Valid loss: 1.7025\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [303/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.13it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [303/3000]: Train loss: 1.8272, Valid loss: 1.9653\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [304/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.87it/s, loss=1.51]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [304/3000]: Train loss: 1.8215, Valid loss: 1.9267\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [305/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.23it/s, loss=2.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [305/3000]: Train loss: 1.8746, Valid loss: 1.5204\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [306/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.42it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [306/3000]: Train loss: 1.8126, Valid loss: 1.6623\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [307/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.36it/s, loss=2.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [307/3000]: Train loss: 1.8604, Valid loss: 1.8252\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [308/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.08it/s, loss=1.97]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [308/3000]: Train loss: 1.8409, Valid loss: 1.5465\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [309/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.35it/s, loss=1.96]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [309/3000]: Train loss: 1.8396, Valid loss: 1.9116\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [310/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.42it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [310/3000]: Train loss: 1.8187, Valid loss: 1.6488\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [311/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.80it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [311/3000]: Train loss: 1.8019, Valid loss: 1.8243\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [312/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.97it/s, loss=1.63]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [312/3000]: Train loss: 1.8098, Valid loss: 1.6476\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [313/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.82it/s, loss=1.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [313/3000]: Train loss: 1.8193, Valid loss: 1.5330\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [314/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.93it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [314/3000]: Train loss: 1.7926, Valid loss: 1.5089\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [315/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.60it/s, loss=2.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [315/3000]: Train loss: 1.8314, Valid loss: 1.4625\n","Saving model with loss 1.462...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [316/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.07it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [316/3000]: Train loss: 1.8041, Valid loss: 1.7297\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [317/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.14it/s, loss=2.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [317/3000]: Train loss: 1.8367, Valid loss: 1.6204\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [318/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.95it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [318/3000]: Train loss: 1.7902, Valid loss: 1.5821\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [319/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.15it/s, loss=1.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [319/3000]: Train loss: 1.8056, Valid loss: 1.4934\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [320/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.43it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [320/3000]: Train loss: 1.7671, Valid loss: 1.6936\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [321/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.73it/s, loss=1.89]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [321/3000]: Train loss: 1.8041, Valid loss: 1.5574\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [322/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.39it/s, loss=1.78]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [322/3000]: Train loss: 1.7951, Valid loss: 1.3734\n","Saving model with loss 1.373...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [323/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.37it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [323/3000]: Train loss: 1.7824, Valid loss: 1.4009\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [324/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.00it/s, loss=2.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [324/3000]: Train loss: 1.8356, Valid loss: 1.5775\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [325/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.96it/s, loss=1.97]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [325/3000]: Train loss: 1.7997, Valid loss: 1.4159\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [326/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.26it/s, loss=1.64]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [326/3000]: Train loss: 1.7792, Valid loss: 1.6963\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [327/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.39it/s, loss=2.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [327/3000]: Train loss: 1.8284, Valid loss: 1.7070\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [328/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.51it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [328/3000]: Train loss: 1.7779, Valid loss: 1.5623\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [329/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.13it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [329/3000]: Train loss: 1.7464, Valid loss: 1.3942\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [330/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.91it/s, loss=1.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [330/3000]: Train loss: 1.7627, Valid loss: 1.7383\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [331/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.26it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [331/3000]: Train loss: 1.7692, Valid loss: 1.7182\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [332/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.34it/s, loss=1.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [332/3000]: Train loss: 1.7800, Valid loss: 1.7148\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [333/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.22it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [333/3000]: Train loss: 1.7631, Valid loss: 1.6517\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [334/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.42it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [334/3000]: Train loss: 1.7677, Valid loss: 1.5271\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [335/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.62it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [335/3000]: Train loss: 1.7517, Valid loss: 1.5672\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [336/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.60it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [336/3000]: Train loss: 1.7555, Valid loss: 1.7828\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [337/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.32it/s, loss=1.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [337/3000]: Train loss: 1.7668, Valid loss: 1.8456\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [338/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.44it/s, loss=2.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [338/3000]: Train loss: 1.7825, Valid loss: 1.5792\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [339/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.98it/s, loss=1.74]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [339/3000]: Train loss: 1.7549, Valid loss: 1.8324\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [340/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.91it/s, loss=1.51]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [340/3000]: Train loss: 1.7443, Valid loss: 1.6375\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [341/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.14it/s, loss=1.79]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [341/3000]: Train loss: 1.7572, Valid loss: 1.7923\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [342/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.88it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [342/3000]: Train loss: 1.7467, Valid loss: 1.4935\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [343/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.70it/s, loss=2.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [343/3000]: Train loss: 1.7731, Valid loss: 1.6459\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [344/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.51it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [344/3000]: Train loss: 1.7275, Valid loss: 1.7927\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [345/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.52it/s, loss=1.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [345/3000]: Train loss: 1.7171, Valid loss: 1.4003\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [346/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.42it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [346/3000]: Train loss: 1.7398, Valid loss: 1.4322\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [347/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.97it/s, loss=1.97]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [347/3000]: Train loss: 1.7500, Valid loss: 1.5548\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [348/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.11it/s, loss=1.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [348/3000]: Train loss: 1.7273, Valid loss: 1.6667\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [349/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.16it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [349/3000]: Train loss: 1.7143, Valid loss: 1.6987\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [350/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.89it/s, loss=1.83]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [350/3000]: Train loss: 1.7375, Valid loss: 1.6837\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [351/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.42it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [351/3000]: Train loss: 1.7236, Valid loss: 1.4310\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [352/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.34it/s, loss=1.86]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [352/3000]: Train loss: 1.7329, Valid loss: 1.6573\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [353/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.76it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [353/3000]: Train loss: 1.6999, Valid loss: 1.3473\n","Saving model with loss 1.347...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [354/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.06it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [354/3000]: Train loss: 1.7217, Valid loss: 1.4837\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [355/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.25it/s, loss=1.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [355/3000]: Train loss: 1.7315, Valid loss: 1.3767\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [356/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.79it/s, loss=1.87]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [356/3000]: Train loss: 1.7306, Valid loss: 1.4161\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [357/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.94it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [357/3000]: Train loss: 1.6884, Valid loss: 1.6740\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [358/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.85it/s, loss=2.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [358/3000]: Train loss: 1.7294, Valid loss: 1.7281\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [359/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.56it/s, loss=2.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [359/3000]: Train loss: 1.7424, Valid loss: 1.3971\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [360/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.41it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [360/3000]: Train loss: 1.6724, Valid loss: 1.8572\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [361/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.52it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [361/3000]: Train loss: 1.6857, Valid loss: 1.8471\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [362/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.58it/s, loss=1.86]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [362/3000]: Train loss: 1.7197, Valid loss: 1.4068\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [363/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.73it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [363/3000]: Train loss: 1.7222, Valid loss: 1.4832\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [364/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.01it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [364/3000]: Train loss: 1.7126, Valid loss: 1.4542\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [365/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.76it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [365/3000]: Train loss: 1.7022, Valid loss: 1.6559\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [366/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.51it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [366/3000]: Train loss: 1.6799, Valid loss: 1.3032\n","Saving model with loss 1.303...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [367/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.02it/s, loss=2.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [367/3000]: Train loss: 1.7316, Valid loss: 1.4619\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [368/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.21it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [368/3000]: Train loss: 1.6824, Valid loss: 1.5022\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [369/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.25it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [369/3000]: Train loss: 1.6616, Valid loss: 1.7001\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [370/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.71it/s, loss=2.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [370/3000]: Train loss: 1.7359, Valid loss: 1.5377\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [371/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.88it/s, loss=1.95]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [371/3000]: Train loss: 1.6981, Valid loss: 1.2799\n","Saving model with loss 1.280...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [372/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.52it/s, loss=2.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [372/3000]: Train loss: 1.7122, Valid loss: 1.4119\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [373/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.63it/s, loss=1.66]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [373/3000]: Train loss: 1.6746, Valid loss: 1.2976\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [374/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.47it/s, loss=1.86]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [374/3000]: Train loss: 1.6850, Valid loss: 1.3491\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [375/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.14it/s, loss=1.59]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [375/3000]: Train loss: 1.6701, Valid loss: 1.6931\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [376/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.74it/s, loss=1.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [376/3000]: Train loss: 1.6855, Valid loss: 1.4953\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [377/3000]: 100%|██████████| 9/9 [00:00<00:00, 35.85it/s, loss=1.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [377/3000]: Train loss: 1.6600, Valid loss: 1.7917\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [378/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.12it/s, loss=1.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [378/3000]: Train loss: 1.6522, Valid loss: 1.2332\n","Saving model with loss 1.233...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [379/3000]: 100%|██████████| 9/9 [00:00<00:00, 53.86it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [379/3000]: Train loss: 1.6526, Valid loss: 1.6291\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [380/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.34it/s, loss=1.66]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [380/3000]: Train loss: 1.6617, Valid loss: 1.2662\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [381/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.82it/s, loss=1.59]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [381/3000]: Train loss: 1.6546, Valid loss: 1.5321\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [382/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.33it/s, loss=1.82]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [382/3000]: Train loss: 1.6677, Valid loss: 1.3574\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [383/3000]: 100%|██████████| 9/9 [00:00<00:00, 41.47it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [383/3000]: Train loss: 1.6378, Valid loss: 1.4439\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [384/3000]: 100%|██████████| 9/9 [00:00<00:00, 26.62it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [384/3000]: Train loss: 1.6372, Valid loss: 1.5505\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [385/3000]: 100%|██████████| 9/9 [00:00<00:00, 36.98it/s, loss=1.77]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [385/3000]: Train loss: 1.6574, Valid loss: 1.5875\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [386/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.74it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [386/3000]: Train loss: 1.6395, Valid loss: 1.2796\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [387/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.07it/s, loss=1.83]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [387/3000]: Train loss: 1.6577, Valid loss: 1.3824\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [388/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.27it/s, loss=2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [388/3000]: Train loss: 1.6657, Valid loss: 1.6007\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [389/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.06it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [389/3000]: Train loss: 1.6245, Valid loss: 1.9032\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [390/3000]: 100%|██████████| 9/9 [00:00<00:00, 31.64it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [390/3000]: Train loss: 1.6301, Valid loss: 1.5113\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [391/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.39it/s, loss=1.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [391/3000]: Train loss: 1.6351, Valid loss: 1.4514\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [392/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.97it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [392/3000]: Train loss: 1.6155, Valid loss: 1.3156\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [393/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.76it/s, loss=2.53]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [393/3000]: Train loss: 1.6888, Valid loss: 1.4435\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [394/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.00it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [394/3000]: Train loss: 1.6138, Valid loss: 1.6768\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [395/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.64it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [395/3000]: Train loss: 1.6324, Valid loss: 1.5139\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [396/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.51it/s, loss=1.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [396/3000]: Train loss: 1.6482, Valid loss: 1.2509\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [397/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.59it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [397/3000]: Train loss: 1.6032, Valid loss: 1.5841\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [398/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.38it/s, loss=1.74]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [398/3000]: Train loss: 1.6288, Valid loss: 1.4757\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [399/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.19it/s, loss=1.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [399/3000]: Train loss: 1.6394, Valid loss: 1.5212\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [400/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.27it/s, loss=1.93]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [400/3000]: Train loss: 1.6377, Valid loss: 1.3181\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [401/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.09it/s, loss=1.65]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [401/3000]: Train loss: 1.6192, Valid loss: 1.8579\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [402/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.11it/s, loss=1.84]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [402/3000]: Train loss: 1.6288, Valid loss: 1.4036\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [403/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.12it/s, loss=1.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [403/3000]: Train loss: 1.6014, Valid loss: 1.4778\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [404/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.02it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [404/3000]: Train loss: 1.6163, Valid loss: 1.3152\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [405/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.83it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [405/3000]: Train loss: 1.5927, Valid loss: 1.6644\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [406/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.79it/s, loss=1.96]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [406/3000]: Train loss: 1.6286, Valid loss: 1.2764\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [407/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.11it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [407/3000]: Train loss: 1.5827, Valid loss: 1.4491\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [408/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.91it/s, loss=1.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [408/3000]: Train loss: 1.5997, Valid loss: 1.2987\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [409/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.92it/s, loss=2.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [409/3000]: Train loss: 1.6408, Valid loss: 1.2948\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [410/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.40it/s, loss=2.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [410/3000]: Train loss: 1.6271, Valid loss: 1.5785\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [411/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.55it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [411/3000]: Train loss: 1.5861, Valid loss: 1.6633\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [412/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.06it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [412/3000]: Train loss: 1.5820, Valid loss: 1.3160\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [413/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.04it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [413/3000]: Train loss: 1.5761, Valid loss: 1.5272\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [414/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.11it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [414/3000]: Train loss: 1.5828, Valid loss: 1.5463\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [415/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.61it/s, loss=2.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [415/3000]: Train loss: 1.6432, Valid loss: 1.3586\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [416/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.82it/s, loss=1.91]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [416/3000]: Train loss: 1.6052, Valid loss: 1.7427\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [417/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.02it/s, loss=1.84]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [417/3000]: Train loss: 1.5990, Valid loss: 1.4532\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [418/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.02it/s, loss=1.64]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [418/3000]: Train loss: 1.5858, Valid loss: 1.3630\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [419/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.95it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [419/3000]: Train loss: 1.5629, Valid loss: 1.4345\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [420/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.75it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [420/3000]: Train loss: 1.5617, Valid loss: 1.2184\n","Saving model with loss 1.218...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [421/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.09it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [421/3000]: Train loss: 1.5724, Valid loss: 1.2252\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [422/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.80it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [422/3000]: Train loss: 1.5603, Valid loss: 1.5043\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [423/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.63it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [423/3000]: Train loss: 1.5668, Valid loss: 1.4716\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [424/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.19it/s, loss=2.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [424/3000]: Train loss: 1.6065, Valid loss: 1.4235\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [425/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.19it/s, loss=1.63]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [425/3000]: Train loss: 1.5722, Valid loss: 1.2347\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [426/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.70it/s, loss=2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [426/3000]: Train loss: 1.5932, Valid loss: 1.3587\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [427/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.31it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [427/3000]: Train loss: 1.5465, Valid loss: 1.4908\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [428/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.94it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [428/3000]: Train loss: 1.5510, Valid loss: 1.3754\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [429/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.13it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [429/3000]: Train loss: 1.5391, Valid loss: 1.4613\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [430/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.28it/s, loss=1.46]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [430/3000]: Train loss: 1.5498, Valid loss: 1.4674\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [431/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.74it/s, loss=1.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [431/3000]: Train loss: 1.5591, Valid loss: 1.4344\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [432/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.52it/s, loss=2.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [432/3000]: Train loss: 1.5938, Valid loss: 1.3671\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [433/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.84it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [433/3000]: Train loss: 1.5337, Valid loss: 1.3050\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [434/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.17it/s, loss=1.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [434/3000]: Train loss: 1.5665, Valid loss: 1.7183\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [435/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.10it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [435/3000]: Train loss: 1.5469, Valid loss: 1.4337\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [436/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.43it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [436/3000]: Train loss: 1.5317, Valid loss: 1.4001\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [437/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.31it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [437/3000]: Train loss: 1.5374, Valid loss: 1.3455\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [438/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.13it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [438/3000]: Train loss: 1.5335, Valid loss: 1.2348\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [439/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.65it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [439/3000]: Train loss: 1.5542, Valid loss: 1.3887\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [440/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.35it/s, loss=0.813]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [440/3000]: Train loss: 1.4939, Valid loss: 1.3201\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [441/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.01it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [441/3000]: Train loss: 1.5246, Valid loss: 1.6163\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [442/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.34it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [442/3000]: Train loss: 1.5187, Valid loss: 1.1969\n","Saving model with loss 1.197...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [443/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.93it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [443/3000]: Train loss: 1.5173, Valid loss: 1.5699\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [444/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.11it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [444/3000]: Train loss: 1.5397, Valid loss: 1.4589\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [445/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.34it/s, loss=1.79]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [445/3000]: Train loss: 1.5492, Valid loss: 1.5020\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [446/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.74it/s, loss=1.71]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [446/3000]: Train loss: 1.5356, Valid loss: 1.3496\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [447/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.55it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [447/3000]: Train loss: 1.5263, Valid loss: 1.6037\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [448/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.83it/s, loss=1.65]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [448/3000]: Train loss: 1.5330, Valid loss: 1.7810\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [449/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.85it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [449/3000]: Train loss: 1.5145, Valid loss: 1.2239\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [450/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.09it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [450/3000]: Train loss: 1.5321, Valid loss: 1.4046\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [451/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.75it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [451/3000]: Train loss: 1.5317, Valid loss: 1.6209\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [452/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.51it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [452/3000]: Train loss: 1.5410, Valid loss: 1.1476\n","Saving model with loss 1.148...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [453/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.43it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [453/3000]: Train loss: 1.5249, Valid loss: 1.3955\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [454/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.75it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [454/3000]: Train loss: 1.4973, Valid loss: 1.1792\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [455/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.94it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [455/3000]: Train loss: 1.4968, Valid loss: 1.3506\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [456/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.27it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [456/3000]: Train loss: 1.5236, Valid loss: 1.1709\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [457/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.46it/s, loss=1.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [457/3000]: Train loss: 1.5138, Valid loss: 1.2123\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [458/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.96it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [458/3000]: Train loss: 1.5154, Valid loss: 1.1269\n","Saving model with loss 1.127...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [459/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.98it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [459/3000]: Train loss: 1.5064, Valid loss: 1.2338\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [460/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.88it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [460/3000]: Train loss: 1.4802, Valid loss: 1.5514\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [461/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.60it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [461/3000]: Train loss: 1.5104, Valid loss: 1.2088\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [462/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.03it/s, loss=1.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [462/3000]: Train loss: 1.5038, Valid loss: 1.4272\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [463/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.65it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [463/3000]: Train loss: 1.5032, Valid loss: 1.3670\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [464/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.33it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [464/3000]: Train loss: 1.4796, Valid loss: 1.4763\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [465/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.39it/s, loss=1.53]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [465/3000]: Train loss: 1.4940, Valid loss: 1.7818\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [466/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.38it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [466/3000]: Train loss: 1.4789, Valid loss: 1.6051\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [467/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.53it/s, loss=1.66]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [467/3000]: Train loss: 1.5007, Valid loss: 1.6533\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [468/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.75it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [468/3000]: Train loss: 1.4791, Valid loss: 1.5292\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [469/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.88it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [469/3000]: Train loss: 1.4745, Valid loss: 1.1039\n","Saving model with loss 1.104...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [470/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.65it/s, loss=1.66]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [470/3000]: Train loss: 1.4959, Valid loss: 1.3389\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [471/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.34it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [471/3000]: Train loss: 1.4768, Valid loss: 1.2958\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [472/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.59it/s, loss=1.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [472/3000]: Train loss: 1.4847, Valid loss: 1.1467\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [473/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.32it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [473/3000]: Train loss: 1.4729, Valid loss: 1.6342\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [474/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.03it/s, loss=1.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [474/3000]: Train loss: 1.4749, Valid loss: 1.5426\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [475/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.71it/s, loss=1.86]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [475/3000]: Train loss: 1.5032, Valid loss: 1.4020\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [476/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.52it/s, loss=1.89]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [476/3000]: Train loss: 1.5023, Valid loss: 1.5297\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [477/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.41it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [477/3000]: Train loss: 1.4689, Valid loss: 1.1289\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [478/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.88it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [478/3000]: Train loss: 1.4642, Valid loss: 1.2445\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [479/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.87it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [479/3000]: Train loss: 1.4454, Valid loss: 1.3608\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [480/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.47it/s, loss=1.72]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [480/3000]: Train loss: 1.4815, Valid loss: 1.2788\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [481/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.16it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [481/3000]: Train loss: 1.4529, Valid loss: 1.3623\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [482/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.23it/s, loss=1.51]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [482/3000]: Train loss: 1.4679, Valid loss: 1.4591\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [483/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.77it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [483/3000]: Train loss: 1.4704, Valid loss: 1.2434\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [484/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.38it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [484/3000]: Train loss: 1.4782, Valid loss: 1.2663\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [485/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.11it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [485/3000]: Train loss: 1.4546, Valid loss: 1.3623\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [486/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.53it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [486/3000]: Train loss: 1.4339, Valid loss: 1.5560\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [487/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.79it/s, loss=2.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [487/3000]: Train loss: 1.5238, Valid loss: 1.6056\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [488/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.71it/s, loss=0.798]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [488/3000]: Train loss: 1.4123, Valid loss: 1.4357\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [489/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.79it/s, loss=1.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [489/3000]: Train loss: 1.4748, Valid loss: 1.2171\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [490/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.25it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [490/3000]: Train loss: 1.4348, Valid loss: 1.2066\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [491/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.54it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [491/3000]: Train loss: 1.4252, Valid loss: 1.4430\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [492/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.47it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [492/3000]: Train loss: 1.4402, Valid loss: 1.3268\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [493/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.02it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [493/3000]: Train loss: 1.4426, Valid loss: 1.2280\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [494/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.91it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [494/3000]: Train loss: 1.4384, Valid loss: 1.2238\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [495/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.00it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [495/3000]: Train loss: 1.4393, Valid loss: 1.1492\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [496/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.63it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [496/3000]: Train loss: 1.4229, Valid loss: 1.1658\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [497/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.04it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [497/3000]: Train loss: 1.4252, Valid loss: 1.1641\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [498/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.37it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [498/3000]: Train loss: 1.4315, Valid loss: 1.2977\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [499/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.17it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [499/3000]: Train loss: 1.4257, Valid loss: 1.4406\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [500/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.40it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [500/3000]: Train loss: 1.4493, Valid loss: 1.2903\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [501/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.10it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [501/3000]: Train loss: 1.4255, Valid loss: 1.1247\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [502/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.95it/s, loss=1.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [502/3000]: Train loss: 1.4280, Valid loss: 1.2377\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [503/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.75it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [503/3000]: Train loss: 1.4453, Valid loss: 1.2582\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [504/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.54it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [504/3000]: Train loss: 1.4207, Valid loss: 1.1991\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [505/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.14it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [505/3000]: Train loss: 1.4159, Valid loss: 1.0664\n","Saving model with loss 1.066...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [506/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.70it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [506/3000]: Train loss: 1.4269, Valid loss: 1.2994\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [507/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.48it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [507/3000]: Train loss: 1.4173, Valid loss: 1.2729\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [508/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.03it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [508/3000]: Train loss: 1.4226, Valid loss: 1.0468\n","Saving model with loss 1.047...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [509/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.78it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [509/3000]: Train loss: 1.4244, Valid loss: 1.1022\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [510/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.45it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [510/3000]: Train loss: 1.3972, Valid loss: 1.3111\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [511/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.52it/s, loss=1.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [511/3000]: Train loss: 1.3939, Valid loss: 1.4402\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [512/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.34it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [512/3000]: Train loss: 1.4210, Valid loss: 1.1781\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [513/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.85it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [513/3000]: Train loss: 1.4250, Valid loss: 1.2369\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [514/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.48it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [514/3000]: Train loss: 1.4160, Valid loss: 1.0918\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [515/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.93it/s, loss=1.96]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [515/3000]: Train loss: 1.4538, Valid loss: 1.4507\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [516/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.51it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [516/3000]: Train loss: 1.4112, Valid loss: 1.7685\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [517/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.08it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [517/3000]: Train loss: 1.4017, Valid loss: 1.4805\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [518/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.45it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [518/3000]: Train loss: 1.4163, Valid loss: 1.2311\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [519/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.17it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [519/3000]: Train loss: 1.4186, Valid loss: 1.4156\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [520/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.05it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [520/3000]: Train loss: 1.3894, Valid loss: 1.1618\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [521/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.71it/s, loss=0.923]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [521/3000]: Train loss: 1.3731, Valid loss: 1.3050\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [522/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.04it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [522/3000]: Train loss: 1.3962, Valid loss: 1.1158\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [523/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.52it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [523/3000]: Train loss: 1.3896, Valid loss: 1.4363\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [524/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.92it/s, loss=1.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [524/3000]: Train loss: 1.4107, Valid loss: 1.5277\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [525/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.96it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [525/3000]: Train loss: 1.4080, Valid loss: 1.0786\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [526/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.50it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [526/3000]: Train loss: 1.3798, Valid loss: 1.0782\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [527/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.61it/s, loss=0.984]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [527/3000]: Train loss: 1.3690, Valid loss: 1.1500\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [528/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.30it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [528/3000]: Train loss: 1.3893, Valid loss: 1.1002\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [529/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.27it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [529/3000]: Train loss: 1.3734, Valid loss: 1.2109\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [530/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.56it/s, loss=1.46]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [530/3000]: Train loss: 1.3937, Valid loss: 1.0512\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [531/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.90it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [531/3000]: Train loss: 1.3927, Valid loss: 1.4759\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [532/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.31it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [532/3000]: Train loss: 1.3875, Valid loss: 1.2825\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [533/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.69it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [533/3000]: Train loss: 1.3901, Valid loss: 1.1640\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [534/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.51it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [534/3000]: Train loss: 1.4057, Valid loss: 0.9851\n","Saving model with loss 0.985...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [535/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.18it/s, loss=1.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [535/3000]: Train loss: 1.4180, Valid loss: 1.0500\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [536/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.71it/s, loss=1.77]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [536/3000]: Train loss: 1.4088, Valid loss: 1.3282\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [537/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.24it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [537/3000]: Train loss: 1.3910, Valid loss: 1.3713\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [538/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.52it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [538/3000]: Train loss: 1.3709, Valid loss: 1.2475\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [539/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.79it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [539/3000]: Train loss: 1.3665, Valid loss: 1.1727\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [540/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.56it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [540/3000]: Train loss: 1.3998, Valid loss: 1.2965\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [541/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.38it/s, loss=1.64]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [541/3000]: Train loss: 1.4031, Valid loss: 1.0456\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [542/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.10it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [542/3000]: Train loss: 1.4025, Valid loss: 1.3915\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [543/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.75it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [543/3000]: Train loss: 1.3890, Valid loss: 1.3249\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [544/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.42it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [544/3000]: Train loss: 1.3874, Valid loss: 1.3103\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [545/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.10it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [545/3000]: Train loss: 1.3582, Valid loss: 1.4439\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [546/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.52it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [546/3000]: Train loss: 1.3873, Valid loss: 1.1816\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [547/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.35it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [547/3000]: Train loss: 1.3743, Valid loss: 1.2358\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [548/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.36it/s, loss=2.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [548/3000]: Train loss: 1.4170, Valid loss: 1.2482\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [549/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.46it/s, loss=1.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [549/3000]: Train loss: 1.3753, Valid loss: 1.0476\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [550/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.83it/s, loss=1.97]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [550/3000]: Train loss: 1.4017, Valid loss: 1.2200\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [551/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.67it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [551/3000]: Train loss: 1.3425, Valid loss: 1.2013\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [552/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.60it/s, loss=1.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [552/3000]: Train loss: 1.3754, Valid loss: 1.0870\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [553/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.50it/s, loss=0.837]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [553/3000]: Train loss: 1.3277, Valid loss: 1.0599\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [554/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.69it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [554/3000]: Train loss: 1.3646, Valid loss: 1.2212\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [555/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.63it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [555/3000]: Train loss: 1.3440, Valid loss: 1.2064\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [556/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.99it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [556/3000]: Train loss: 1.3618, Valid loss: 1.1661\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [557/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.99it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [557/3000]: Train loss: 1.3413, Valid loss: 1.4354\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [558/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.77it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [558/3000]: Train loss: 1.3655, Valid loss: 1.2814\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [559/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.40it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [559/3000]: Train loss: 1.3444, Valid loss: 1.2398\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [560/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.23it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [560/3000]: Train loss: 1.3421, Valid loss: 1.2426\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [561/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.11it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [561/3000]: Train loss: 1.3662, Valid loss: 1.1741\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [562/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.47it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [562/3000]: Train loss: 1.3612, Valid loss: 1.3226\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [563/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.79it/s, loss=1.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [563/3000]: Train loss: 1.3670, Valid loss: 1.1413\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [564/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.00it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [564/3000]: Train loss: 1.3550, Valid loss: 1.0400\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [565/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.86it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [565/3000]: Train loss: 1.3267, Valid loss: 1.2294\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [566/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.84it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [566/3000]: Train loss: 1.3390, Valid loss: 1.5528\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [567/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.20it/s, loss=1.68]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [567/3000]: Train loss: 1.3656, Valid loss: 1.0883\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [568/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.05it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [568/3000]: Train loss: 1.3532, Valid loss: 1.1869\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [569/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.11it/s, loss=1.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [569/3000]: Train loss: 1.3604, Valid loss: 1.1430\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [570/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.68it/s, loss=0.939]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [570/3000]: Train loss: 1.3199, Valid loss: 1.1211\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [571/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.73it/s, loss=1.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [571/3000]: Train loss: 1.3536, Valid loss: 1.2297\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [572/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.24it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [572/3000]: Train loss: 1.3196, Valid loss: 1.0923\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [573/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.72it/s, loss=1.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [573/3000]: Train loss: 1.3528, Valid loss: 1.1358\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [574/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.31it/s, loss=0.992]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [574/3000]: Train loss: 1.3136, Valid loss: 1.2407\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [575/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.63it/s, loss=1.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [575/3000]: Train loss: 1.3373, Valid loss: 1.2849\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [576/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.56it/s, loss=1.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [576/3000]: Train loss: 1.3467, Valid loss: 1.2280\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [577/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.36it/s, loss=1.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [577/3000]: Train loss: 1.3685, Valid loss: 1.6080\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [578/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.05it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [578/3000]: Train loss: 1.3327, Valid loss: 1.0858\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [579/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.12it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [579/3000]: Train loss: 1.3336, Valid loss: 1.1457\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [580/3000]: 100%|██████████| 9/9 [00:00<00:00, 120.69it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [580/3000]: Train loss: 1.3365, Valid loss: 1.2165\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [581/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.26it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [581/3000]: Train loss: 1.3283, Valid loss: 1.6431\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [582/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.60it/s, loss=1.68]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [582/3000]: Train loss: 1.3509, Valid loss: 1.3183\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [583/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.05it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [583/3000]: Train loss: 1.3219, Valid loss: 1.1271\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [584/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.59it/s, loss=0.83]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [584/3000]: Train loss: 1.2958, Valid loss: 1.2281\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [585/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.34it/s, loss=0.988]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [585/3000]: Train loss: 1.3031, Valid loss: 1.3489\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [586/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.24it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [586/3000]: Train loss: 1.3067, Valid loss: 1.2259\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [587/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.45it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [587/3000]: Train loss: 1.3132, Valid loss: 1.1473\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [588/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.25it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [588/3000]: Train loss: 1.3387, Valid loss: 1.2899\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [589/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.44it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [589/3000]: Train loss: 1.3167, Valid loss: 1.1012\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [590/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.58it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [590/3000]: Train loss: 1.3187, Valid loss: 1.1820\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [591/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.86it/s, loss=1.66]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [591/3000]: Train loss: 1.3385, Valid loss: 1.3214\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [592/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.29it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [592/3000]: Train loss: 1.3274, Valid loss: 1.0740\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [593/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.99it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [593/3000]: Train loss: 1.3148, Valid loss: 1.1434\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [594/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.86it/s, loss=0.826]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [594/3000]: Train loss: 1.2939, Valid loss: 1.1845\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [595/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.69it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [595/3000]: Train loss: 1.3166, Valid loss: 1.1836\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [596/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.02it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [596/3000]: Train loss: 1.3204, Valid loss: 1.0008\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [597/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.21it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [597/3000]: Train loss: 1.3178, Valid loss: 1.0950\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [598/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.19it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [598/3000]: Train loss: 1.3085, Valid loss: 1.3837\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [599/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.75it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [599/3000]: Train loss: 1.3230, Valid loss: 0.9921\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [600/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.72it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [600/3000]: Train loss: 1.3004, Valid loss: 1.1791\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [601/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.35it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [601/3000]: Train loss: 1.2985, Valid loss: 1.1616\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [602/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.30it/s, loss=1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [602/3000]: Train loss: 1.2866, Valid loss: 1.2326\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [603/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.75it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [603/3000]: Train loss: 1.2918, Valid loss: 1.2868\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [604/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.52it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [604/3000]: Train loss: 1.3092, Valid loss: 1.0215\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [605/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.68it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [605/3000]: Train loss: 1.2915, Valid loss: 1.2462\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [606/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.36it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [606/3000]: Train loss: 1.2914, Valid loss: 1.0083\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [607/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.76it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [607/3000]: Train loss: 1.3055, Valid loss: 1.2235\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [608/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.83it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [608/3000]: Train loss: 1.2833, Valid loss: 1.1957\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [609/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.78it/s, loss=1.85]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [609/3000]: Train loss: 1.3320, Valid loss: 1.1822\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [610/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.23it/s, loss=0.998]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [610/3000]: Train loss: 1.2801, Valid loss: 1.3656\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [611/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.35it/s, loss=1.46]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [611/3000]: Train loss: 1.3061, Valid loss: 1.3814\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [612/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.54it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [612/3000]: Train loss: 1.2919, Valid loss: 0.9598\n","Saving model with loss 0.960...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [613/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.01it/s, loss=0.787]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [613/3000]: Train loss: 1.2682, Valid loss: 0.9439\n","Saving model with loss 0.944...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [614/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.98it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [614/3000]: Train loss: 1.3095, Valid loss: 1.1438\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [615/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.03it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [615/3000]: Train loss: 1.2907, Valid loss: 1.0603\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [616/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.35it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [616/3000]: Train loss: 1.2762, Valid loss: 1.2782\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [617/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.00it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [617/3000]: Train loss: 1.2938, Valid loss: 1.0560\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [618/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.55it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [618/3000]: Train loss: 1.3212, Valid loss: 1.1229\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [619/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.50it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [619/3000]: Train loss: 1.3131, Valid loss: 1.1532\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [620/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.09it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [620/3000]: Train loss: 1.2954, Valid loss: 1.0045\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [621/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.56it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [621/3000]: Train loss: 1.2814, Valid loss: 0.9920\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [622/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.14it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [622/3000]: Train loss: 1.2928, Valid loss: 1.0734\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [623/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.32it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [623/3000]: Train loss: 1.2863, Valid loss: 1.1098\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [624/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.59it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [624/3000]: Train loss: 1.2804, Valid loss: 1.1534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [625/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.48it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [625/3000]: Train loss: 1.3174, Valid loss: 1.4720\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [626/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.25it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [626/3000]: Train loss: 1.3091, Valid loss: 1.1547\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [627/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.34it/s, loss=1.68]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [627/3000]: Train loss: 1.3158, Valid loss: 1.0639\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [628/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.48it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [628/3000]: Train loss: 1.2735, Valid loss: 1.0489\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [629/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.01it/s, loss=1.74]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [629/3000]: Train loss: 1.3135, Valid loss: 1.0835\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [630/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.74it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [630/3000]: Train loss: 1.3046, Valid loss: 1.3417\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [631/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.44it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [631/3000]: Train loss: 1.2969, Valid loss: 0.9411\n","Saving model with loss 0.941...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [632/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.67it/s, loss=1.43]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [632/3000]: Train loss: 1.2869, Valid loss: 1.0059\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [633/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.57it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [633/3000]: Train loss: 1.2730, Valid loss: 1.2826\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [634/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.14it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [634/3000]: Train loss: 1.2630, Valid loss: 1.0997\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [635/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.06it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [635/3000]: Train loss: 1.3044, Valid loss: 1.3230\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [636/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.64it/s, loss=0.882]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [636/3000]: Train loss: 1.2501, Valid loss: 1.0643\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [637/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.35it/s, loss=0.88]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [637/3000]: Train loss: 1.2504, Valid loss: 1.0289\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [638/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.73it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [638/3000]: Train loss: 1.2688, Valid loss: 1.3076\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [639/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.53it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [639/3000]: Train loss: 1.2971, Valid loss: 1.7491\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [640/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.94it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [640/3000]: Train loss: 1.2706, Valid loss: 1.0962\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [641/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.44it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [641/3000]: Train loss: 1.2639, Valid loss: 1.0423\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [642/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.81it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [642/3000]: Train loss: 1.2664, Valid loss: 1.2110\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [643/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.12it/s, loss=0.959]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [643/3000]: Train loss: 1.2503, Valid loss: 0.9723\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [644/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.89it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [644/3000]: Train loss: 1.2614, Valid loss: 1.0256\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [645/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.57it/s, loss=1.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [645/3000]: Train loss: 1.2752, Valid loss: 1.1229\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [646/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.36it/s, loss=1.43]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [646/3000]: Train loss: 1.2787, Valid loss: 1.2156\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [647/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.56it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [647/3000]: Train loss: 1.2560, Valid loss: 1.0003\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [648/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.01it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [648/3000]: Train loss: 1.2763, Valid loss: 1.0011\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [649/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.07it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [649/3000]: Train loss: 1.2774, Valid loss: 1.0135\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [650/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.48it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [650/3000]: Train loss: 1.2696, Valid loss: 1.1040\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [651/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.98it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [651/3000]: Train loss: 1.2650, Valid loss: 1.3627\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [652/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.21it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [652/3000]: Train loss: 1.2807, Valid loss: 1.1586\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [653/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.08it/s, loss=2.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [653/3000]: Train loss: 1.3261, Valid loss: 1.3106\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [654/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.31it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [654/3000]: Train loss: 1.2572, Valid loss: 1.1035\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [655/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.99it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [655/3000]: Train loss: 1.2664, Valid loss: 0.9888\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [656/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.41it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [656/3000]: Train loss: 1.2677, Valid loss: 1.1246\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [657/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.05it/s, loss=0.947]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [657/3000]: Train loss: 1.2432, Valid loss: 1.3285\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [658/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.52it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [658/3000]: Train loss: 1.2691, Valid loss: 1.1330\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [659/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.65it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [659/3000]: Train loss: 1.2588, Valid loss: 1.0580\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [660/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.82it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [660/3000]: Train loss: 1.2650, Valid loss: 1.3768\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [661/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.21it/s, loss=0.878]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [661/3000]: Train loss: 1.2312, Valid loss: 1.1908\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [662/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.29it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [662/3000]: Train loss: 1.2510, Valid loss: 1.1246\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [663/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.94it/s, loss=1.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [663/3000]: Train loss: 1.2398, Valid loss: 1.2094\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [664/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.50it/s, loss=1.78]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [664/3000]: Train loss: 1.2896, Valid loss: 1.1665\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [665/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.53it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [665/3000]: Train loss: 1.2570, Valid loss: 1.0673\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [666/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.11it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [666/3000]: Train loss: 1.2602, Valid loss: 1.2130\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [667/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.89it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [667/3000]: Train loss: 1.2685, Valid loss: 1.1139\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [668/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.58it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [668/3000]: Train loss: 1.2548, Valid loss: 1.2016\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [669/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.62it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [669/3000]: Train loss: 1.2478, Valid loss: 1.0814\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [670/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.56it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [670/3000]: Train loss: 1.2725, Valid loss: 1.0938\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [671/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.56it/s, loss=0.937]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [671/3000]: Train loss: 1.2333, Valid loss: 1.2244\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [672/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.49it/s, loss=1.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [672/3000]: Train loss: 1.2697, Valid loss: 1.1959\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [673/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.45it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [673/3000]: Train loss: 1.2402, Valid loss: 1.3501\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [674/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.17it/s, loss=2.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [674/3000]: Train loss: 1.2958, Valid loss: 1.0961\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [675/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.99it/s, loss=0.986]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [675/3000]: Train loss: 1.2387, Valid loss: 1.0754\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [676/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.57it/s, loss=0.809]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [676/3000]: Train loss: 1.2225, Valid loss: 1.0907\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [677/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.90it/s, loss=0.924]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [677/3000]: Train loss: 1.2294, Valid loss: 1.2167\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [678/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.04it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [678/3000]: Train loss: 1.2475, Valid loss: 1.4257\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [679/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.23it/s, loss=0.852]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [679/3000]: Train loss: 1.2262, Valid loss: 1.0014\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [680/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.57it/s, loss=0.953]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [680/3000]: Train loss: 1.2295, Valid loss: 1.0132\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [681/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.60it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [681/3000]: Train loss: 1.2508, Valid loss: 1.1898\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [682/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.51it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [682/3000]: Train loss: 1.2468, Valid loss: 1.1162\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [683/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.07it/s, loss=1.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [683/3000]: Train loss: 1.2682, Valid loss: 1.0199\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [684/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.72it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [684/3000]: Train loss: 1.2589, Valid loss: 1.0691\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [685/3000]: 100%|██████████| 9/9 [00:00<00:00, 33.70it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [685/3000]: Train loss: 1.2398, Valid loss: 1.3248\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [686/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.97it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [686/3000]: Train loss: 1.2402, Valid loss: 1.3579\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [687/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.27it/s, loss=0.986]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [687/3000]: Train loss: 1.2295, Valid loss: 1.2738\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [688/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.62it/s, loss=1.51]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [688/3000]: Train loss: 1.2586, Valid loss: 1.0881\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [689/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.49it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [689/3000]: Train loss: 1.2304, Valid loss: 1.3232\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [690/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.51it/s, loss=0.906]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [690/3000]: Train loss: 1.2199, Valid loss: 1.2411\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [691/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.59it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [691/3000]: Train loss: 1.2319, Valid loss: 1.2189\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [692/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.76it/s, loss=0.996]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [692/3000]: Train loss: 1.2251, Valid loss: 1.2201\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [693/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.12it/s, loss=0.915]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [693/3000]: Train loss: 1.2196, Valid loss: 1.0748\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [694/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.07it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [694/3000]: Train loss: 1.2461, Valid loss: 1.0973\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [695/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.38it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [695/3000]: Train loss: 1.2530, Valid loss: 1.0038\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [696/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.33it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [696/3000]: Train loss: 1.2307, Valid loss: 1.2439\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [697/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.95it/s, loss=1.78]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [697/3000]: Train loss: 1.2749, Valid loss: 1.0976\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [698/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.03it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [698/3000]: Train loss: 1.2295, Valid loss: 1.2019\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [699/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.35it/s, loss=0.787]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [699/3000]: Train loss: 1.2114, Valid loss: 0.9502\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [700/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.55it/s, loss=1.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [700/3000]: Train loss: 1.2580, Valid loss: 1.1959\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [701/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.40it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [701/3000]: Train loss: 1.2387, Valid loss: 1.2799\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [702/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.03it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [702/3000]: Train loss: 1.2429, Valid loss: 1.3158\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [703/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.78it/s, loss=1.63]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [703/3000]: Train loss: 1.2641, Valid loss: 1.2043\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [704/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.03it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [704/3000]: Train loss: 1.2556, Valid loss: 1.1396\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [705/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.14it/s, loss=0.851]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [705/3000]: Train loss: 1.2169, Valid loss: 1.2407\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [706/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.88it/s, loss=1.46]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [706/3000]: Train loss: 1.2527, Valid loss: 1.3540\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [707/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.68it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [707/3000]: Train loss: 1.2471, Valid loss: 1.0218\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [708/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.77it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [708/3000]: Train loss: 1.2422, Valid loss: 1.0801\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [709/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.39it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [709/3000]: Train loss: 1.2284, Valid loss: 1.0472\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [710/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.46it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [710/3000]: Train loss: 1.2343, Valid loss: 1.2944\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [711/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.96it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [711/3000]: Train loss: 1.2438, Valid loss: 1.0067\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [712/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.95it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [712/3000]: Train loss: 1.2496, Valid loss: 1.0459\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [713/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.83it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [713/3000]: Train loss: 1.2168, Valid loss: 1.2189\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [714/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.99it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [714/3000]: Train loss: 1.2612, Valid loss: 1.0434\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [715/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.75it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [715/3000]: Train loss: 1.2271, Valid loss: 1.1077\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [716/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.71it/s, loss=0.988]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [716/3000]: Train loss: 1.2157, Valid loss: 1.1794\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [717/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.63it/s, loss=0.905]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [717/3000]: Train loss: 1.2150, Valid loss: 1.3901\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [718/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.11it/s, loss=1.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [718/3000]: Train loss: 1.2525, Valid loss: 1.0664\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [719/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.61it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [719/3000]: Train loss: 1.2465, Valid loss: 1.0859\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [720/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.24it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [720/3000]: Train loss: 1.2168, Valid loss: 1.0653\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [721/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.54it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [721/3000]: Train loss: 1.2329, Valid loss: 1.0002\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [722/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.77it/s, loss=0.892]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [722/3000]: Train loss: 1.2079, Valid loss: 1.1703\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [723/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.23it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [723/3000]: Train loss: 1.2134, Valid loss: 1.2517\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [724/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.54it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [724/3000]: Train loss: 1.2208, Valid loss: 1.0003\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [725/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.88it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [725/3000]: Train loss: 1.2293, Valid loss: 1.1252\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [726/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.67it/s, loss=0.699]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [726/3000]: Train loss: 1.1962, Valid loss: 1.1126\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [727/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.53it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [727/3000]: Train loss: 1.2169, Valid loss: 1.2687\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [728/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.27it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [728/3000]: Train loss: 1.2287, Valid loss: 1.1470\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [729/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.28it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [729/3000]: Train loss: 1.2433, Valid loss: 1.1166\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [730/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.57it/s, loss=1.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [730/3000]: Train loss: 1.2601, Valid loss: 1.0800\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [731/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.23it/s, loss=1.93]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [731/3000]: Train loss: 1.2727, Valid loss: 1.1782\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [732/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.12it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [732/3000]: Train loss: 1.2257, Valid loss: 1.1472\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [733/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.32it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [733/3000]: Train loss: 1.2276, Valid loss: 1.2227\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [734/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.82it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [734/3000]: Train loss: 1.2250, Valid loss: 1.0232\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [735/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.67it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [735/3000]: Train loss: 1.2316, Valid loss: 1.0454\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [736/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.96it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [736/3000]: Train loss: 1.2155, Valid loss: 1.0782\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [737/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.83it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [737/3000]: Train loss: 1.2291, Valid loss: 1.2367\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [738/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.33it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [738/3000]: Train loss: 1.2234, Valid loss: 0.9991\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [739/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.31it/s, loss=0.868]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [739/3000]: Train loss: 1.2072, Valid loss: 1.1879\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [740/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.98it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [740/3000]: Train loss: 1.2273, Valid loss: 1.0485\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [741/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.96it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [741/3000]: Train loss: 1.2367, Valid loss: 0.9940\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [742/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.40it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [742/3000]: Train loss: 1.2347, Valid loss: 1.0413\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [743/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.37it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [743/3000]: Train loss: 1.2420, Valid loss: 1.0366\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [744/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.10it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [744/3000]: Train loss: 1.2398, Valid loss: 1.0177\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [745/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.42it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [745/3000]: Train loss: 1.2309, Valid loss: 1.4567\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [746/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.45it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [746/3000]: Train loss: 1.2267, Valid loss: 1.2311\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [747/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.58it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [747/3000]: Train loss: 1.2069, Valid loss: 1.4562\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [748/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.30it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [748/3000]: Train loss: 1.2280, Valid loss: 1.0077\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [749/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.14it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [749/3000]: Train loss: 1.2244, Valid loss: 1.0100\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [750/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.90it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [750/3000]: Train loss: 1.2123, Valid loss: 1.3640\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [751/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.88it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [751/3000]: Train loss: 1.2328, Valid loss: 1.1903\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [752/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.06it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [752/3000]: Train loss: 1.2366, Valid loss: 0.9894\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [753/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.13it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [753/3000]: Train loss: 1.2230, Valid loss: 1.2219\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [754/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.44it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [754/3000]: Train loss: 1.2198, Valid loss: 1.1271\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [755/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.67it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [755/3000]: Train loss: 1.2347, Valid loss: 1.0720\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [756/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.57it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [756/3000]: Train loss: 1.2170, Valid loss: 1.0587\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [757/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.52it/s, loss=0.995]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [757/3000]: Train loss: 1.2015, Valid loss: 1.2412\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [758/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.30it/s, loss=1.95]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [758/3000]: Train loss: 1.2596, Valid loss: 1.2009\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [759/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.08it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [759/3000]: Train loss: 1.2420, Valid loss: 1.4040\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [760/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.15it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [760/3000]: Train loss: 1.2187, Valid loss: 1.5993\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [761/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.94it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [761/3000]: Train loss: 1.2197, Valid loss: 1.3633\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [762/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.88it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [762/3000]: Train loss: 1.2260, Valid loss: 1.0207\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [763/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.13it/s, loss=0.876]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [763/3000]: Train loss: 1.2040, Valid loss: 1.3403\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [764/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.42it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [764/3000]: Train loss: 1.2136, Valid loss: 1.0550\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [765/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.94it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [765/3000]: Train loss: 1.2176, Valid loss: 1.1405\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [766/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.25it/s, loss=0.915]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [766/3000]: Train loss: 1.1921, Valid loss: 1.4272\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [767/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.65it/s, loss=1.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [767/3000]: Train loss: 1.1992, Valid loss: 1.0651\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [768/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.89it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [768/3000]: Train loss: 1.2029, Valid loss: 1.1973\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [769/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.63it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [769/3000]: Train loss: 1.2203, Valid loss: 0.9463\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [770/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.98it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [770/3000]: Train loss: 1.2380, Valid loss: 0.9634\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [771/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.17it/s, loss=0.788]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [771/3000]: Train loss: 1.1824, Valid loss: 1.1515\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [772/3000]: 100%|██████████| 9/9 [00:00<00:00, 26.57it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [772/3000]: Train loss: 1.2124, Valid loss: 1.3297\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [773/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.84it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [773/3000]: Train loss: 1.2037, Valid loss: 1.2990\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [774/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.89it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [774/3000]: Train loss: 1.2012, Valid loss: 1.0287\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [775/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.58it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [775/3000]: Train loss: 1.2189, Valid loss: 1.2615\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [776/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.81it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [776/3000]: Train loss: 1.2075, Valid loss: 1.0148\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [777/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.21it/s, loss=0.816]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [777/3000]: Train loss: 1.1873, Valid loss: 1.1404\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [778/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.65it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [778/3000]: Train loss: 1.2027, Valid loss: 1.0903\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [779/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.14it/s, loss=1.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [779/3000]: Train loss: 1.1956, Valid loss: 1.1113\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [780/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.72it/s, loss=0.883]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [780/3000]: Train loss: 1.1940, Valid loss: 1.1167\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [781/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.95it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [781/3000]: Train loss: 1.2097, Valid loss: 1.0233\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [782/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.08it/s, loss=0.949]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [782/3000]: Train loss: 1.1964, Valid loss: 1.0548\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [783/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.13it/s, loss=0.823]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [783/3000]: Train loss: 1.1966, Valid loss: 1.3692\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [784/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.95it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [784/3000]: Train loss: 1.2138, Valid loss: 1.1736\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [785/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.07it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [785/3000]: Train loss: 1.1968, Valid loss: 1.1268\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [786/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.11it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [786/3000]: Train loss: 1.1982, Valid loss: 1.0543\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [787/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.21it/s, loss=0.963]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [787/3000]: Train loss: 1.1908, Valid loss: 0.9906\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [788/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.19it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [788/3000]: Train loss: 1.2155, Valid loss: 1.1788\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [789/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.33it/s, loss=1.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [789/3000]: Train loss: 1.1951, Valid loss: 1.1256\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [790/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.96it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [790/3000]: Train loss: 1.1957, Valid loss: 1.1359\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [791/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.55it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [791/3000]: Train loss: 1.2075, Valid loss: 0.9159\n","Saving model with loss 0.916...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [792/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.02it/s, loss=0.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [792/3000]: Train loss: 1.1854, Valid loss: 1.1425\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [793/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.29it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [793/3000]: Train loss: 1.2076, Valid loss: 1.2287\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [794/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.39it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [794/3000]: Train loss: 1.2129, Valid loss: 1.1581\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [795/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.56it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [795/3000]: Train loss: 1.2142, Valid loss: 1.0919\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [796/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.24it/s, loss=1.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [796/3000]: Train loss: 1.1973, Valid loss: 1.0040\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [797/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.06it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [797/3000]: Train loss: 1.2347, Valid loss: 1.0883\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [798/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.23it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [798/3000]: Train loss: 1.2013, Valid loss: 1.0534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [799/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.79it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [799/3000]: Train loss: 1.2009, Valid loss: 1.0817\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [800/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.29it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [800/3000]: Train loss: 1.2016, Valid loss: 1.0226\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [801/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.73it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [801/3000]: Train loss: 1.2144, Valid loss: 1.1192\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [802/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.46it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [802/3000]: Train loss: 1.1968, Valid loss: 1.2360\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [803/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.95it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [803/3000]: Train loss: 1.2005, Valid loss: 1.1838\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [804/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.43it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [804/3000]: Train loss: 1.2080, Valid loss: 1.2426\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [805/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.12it/s, loss=1.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [805/3000]: Train loss: 1.2269, Valid loss: 1.0930\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [806/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.62it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [806/3000]: Train loss: 1.2066, Valid loss: 1.4689\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [807/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.31it/s, loss=1.64]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [807/3000]: Train loss: 1.2401, Valid loss: 1.4066\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [808/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.70it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [808/3000]: Train loss: 1.1980, Valid loss: 0.9656\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [809/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.01it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [809/3000]: Train loss: 1.2043, Valid loss: 0.9947\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [810/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.61it/s, loss=0.924]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [810/3000]: Train loss: 1.1814, Valid loss: 1.0704\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [811/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.79it/s, loss=0.978]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [811/3000]: Train loss: 1.1867, Valid loss: 0.9625\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [812/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.47it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [812/3000]: Train loss: 1.2201, Valid loss: 0.9411\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [813/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.84it/s, loss=0.889]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [813/3000]: Train loss: 1.1872, Valid loss: 1.0798\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [814/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.81it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [814/3000]: Train loss: 1.1978, Valid loss: 1.0215\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [815/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.15it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [815/3000]: Train loss: 1.2137, Valid loss: 1.0792\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [816/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.61it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [816/3000]: Train loss: 1.1966, Valid loss: 1.0846\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [817/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.01it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [817/3000]: Train loss: 1.2198, Valid loss: 1.0018\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [818/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.15it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [818/3000]: Train loss: 1.2117, Valid loss: 1.1181\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [819/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.10it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [819/3000]: Train loss: 1.2099, Valid loss: 0.8999\n","Saving model with loss 0.900...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [820/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.09it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [820/3000]: Train loss: 1.1969, Valid loss: 1.0407\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [821/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.33it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [821/3000]: Train loss: 1.2102, Valid loss: 1.0402\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [822/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.67it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [822/3000]: Train loss: 1.1851, Valid loss: 1.0024\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [823/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.88it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [823/3000]: Train loss: 1.1889, Valid loss: 1.0127\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [824/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.59it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [824/3000]: Train loss: 1.2035, Valid loss: 1.0833\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [825/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.93it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [825/3000]: Train loss: 1.1898, Valid loss: 1.0485\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [826/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.09it/s, loss=1.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [826/3000]: Train loss: 1.1819, Valid loss: 0.9462\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [827/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.74it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [827/3000]: Train loss: 1.2090, Valid loss: 1.2904\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [828/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.59it/s, loss=0.871]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [828/3000]: Train loss: 1.1759, Valid loss: 1.1773\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [829/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.19it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [829/3000]: Train loss: 1.2004, Valid loss: 1.2761\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [830/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.19it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [830/3000]: Train loss: 1.1872, Valid loss: 1.2846\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [831/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.00it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [831/3000]: Train loss: 1.1906, Valid loss: 1.0063\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [832/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.15it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [832/3000]: Train loss: 1.2013, Valid loss: 1.1320\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [833/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.55it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [833/3000]: Train loss: 1.1961, Valid loss: 1.0530\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [834/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.22it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [834/3000]: Train loss: 1.1942, Valid loss: 0.9209\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [835/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.53it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [835/3000]: Train loss: 1.1999, Valid loss: 0.8993\n","Saving model with loss 0.899...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [836/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.60it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [836/3000]: Train loss: 1.1899, Valid loss: 1.0450\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [837/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.96it/s, loss=0.861]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [837/3000]: Train loss: 1.1673, Valid loss: 1.1470\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [838/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.40it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [838/3000]: Train loss: 1.1830, Valid loss: 0.8520\n","Saving model with loss 0.852...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [839/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.37it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [839/3000]: Train loss: 1.1917, Valid loss: 1.1480\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [840/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.27it/s, loss=0.878]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [840/3000]: Train loss: 1.1700, Valid loss: 1.1691\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [841/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.68it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [841/3000]: Train loss: 1.1887, Valid loss: 1.1604\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [842/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.20it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [842/3000]: Train loss: 1.2037, Valid loss: 0.9927\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [843/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.70it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [843/3000]: Train loss: 1.1973, Valid loss: 0.9580\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [844/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.64it/s, loss=0.944]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [844/3000]: Train loss: 1.1763, Valid loss: 1.2632\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [845/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.59it/s, loss=0.984]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [845/3000]: Train loss: 1.1815, Valid loss: 1.3452\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [846/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.71it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [846/3000]: Train loss: 1.2024, Valid loss: 1.3770\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [847/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.90it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [847/3000]: Train loss: 1.2114, Valid loss: 1.0374\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [848/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.65it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [848/3000]: Train loss: 1.1841, Valid loss: 1.3501\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [849/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.19it/s, loss=0.687]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [849/3000]: Train loss: 1.1556, Valid loss: 1.0730\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [850/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.62it/s, loss=0.955]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [850/3000]: Train loss: 1.1740, Valid loss: 1.5151\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [851/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.02it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [851/3000]: Train loss: 1.2023, Valid loss: 1.0576\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [852/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.44it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [852/3000]: Train loss: 1.1855, Valid loss: 1.2897\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [853/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.49it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [853/3000]: Train loss: 1.1772, Valid loss: 1.1698\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [854/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.40it/s, loss=0.835]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [854/3000]: Train loss: 1.1640, Valid loss: 0.9871\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [855/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.97it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [855/3000]: Train loss: 1.1877, Valid loss: 1.1528\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [856/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.50it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [856/3000]: Train loss: 1.2225, Valid loss: 0.8347\n","Saving model with loss 0.835...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [857/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.47it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [857/3000]: Train loss: 1.2015, Valid loss: 0.9527\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [858/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.49it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [858/3000]: Train loss: 1.2089, Valid loss: 1.0143\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [859/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.79it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [859/3000]: Train loss: 1.1902, Valid loss: 1.0776\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [860/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.08it/s, loss=0.984]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [860/3000]: Train loss: 1.1707, Valid loss: 0.9908\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [861/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.89it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [861/3000]: Train loss: 1.2071, Valid loss: 1.1542\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [862/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.75it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [862/3000]: Train loss: 1.1989, Valid loss: 1.2500\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [863/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.12it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [863/3000]: Train loss: 1.1974, Valid loss: 1.2104\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [864/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.66it/s, loss=0.926]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [864/3000]: Train loss: 1.1759, Valid loss: 1.1305\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [865/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.54it/s, loss=0.797]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [865/3000]: Train loss: 1.1610, Valid loss: 1.5059\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [866/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.28it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [866/3000]: Train loss: 1.1862, Valid loss: 1.0740\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [867/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.11it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [867/3000]: Train loss: 1.2034, Valid loss: 1.0825\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [868/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.47it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [868/3000]: Train loss: 1.1817, Valid loss: 0.9536\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [869/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.28it/s, loss=0.869]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [869/3000]: Train loss: 1.1655, Valid loss: 1.1465\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [870/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.60it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [870/3000]: Train loss: 1.1766, Valid loss: 1.0534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [871/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.47it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [871/3000]: Train loss: 1.2036, Valid loss: 1.3305\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [872/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.91it/s, loss=0.838]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [872/3000]: Train loss: 1.1709, Valid loss: 1.0143\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [873/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.30it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [873/3000]: Train loss: 1.1879, Valid loss: 1.2861\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [874/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.05it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [874/3000]: Train loss: 1.1773, Valid loss: 0.9498\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [875/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.05it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [875/3000]: Train loss: 1.1840, Valid loss: 1.2499\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [876/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.64it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [876/3000]: Train loss: 1.1772, Valid loss: 1.2560\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [877/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.56it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [877/3000]: Train loss: 1.2046, Valid loss: 0.9689\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [878/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.51it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [878/3000]: Train loss: 1.1774, Valid loss: 0.9244\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [879/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.05it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [879/3000]: Train loss: 1.1956, Valid loss: 1.0801\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [880/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.01it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [880/3000]: Train loss: 1.1978, Valid loss: 1.0360\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [881/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.73it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [881/3000]: Train loss: 1.1845, Valid loss: 1.0203\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [882/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.19it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [882/3000]: Train loss: 1.1753, Valid loss: 1.1703\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [883/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.85it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [883/3000]: Train loss: 1.1776, Valid loss: 1.1288\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [884/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.96it/s, loss=0.918]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [884/3000]: Train loss: 1.1666, Valid loss: 0.9817\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [885/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.23it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [885/3000]: Train loss: 1.1860, Valid loss: 1.2093\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [886/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.71it/s, loss=1.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [886/3000]: Train loss: 1.2064, Valid loss: 1.0984\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [887/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.13it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [887/3000]: Train loss: 1.1772, Valid loss: 0.9506\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [888/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.95it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [888/3000]: Train loss: 1.1965, Valid loss: 0.9632\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [889/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.24it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [889/3000]: Train loss: 1.1940, Valid loss: 1.1273\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [890/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.84it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [890/3000]: Train loss: 1.1771, Valid loss: 1.1648\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [891/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.01it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [891/3000]: Train loss: 1.1949, Valid loss: 1.0643\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [892/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.75it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [892/3000]: Train loss: 1.1780, Valid loss: 1.0920\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [893/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.83it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [893/3000]: Train loss: 1.1788, Valid loss: 1.2398\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [894/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.62it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [894/3000]: Train loss: 1.2006, Valid loss: 0.9964\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [895/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.26it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [895/3000]: Train loss: 1.2074, Valid loss: 1.0266\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [896/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.02it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [896/3000]: Train loss: 1.1897, Valid loss: 1.0043\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [897/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.69it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [897/3000]: Train loss: 1.1938, Valid loss: 1.1403\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [898/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.28it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [898/3000]: Train loss: 1.1929, Valid loss: 1.1004\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [899/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.99it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [899/3000]: Train loss: 1.1954, Valid loss: 1.0668\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [900/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.47it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [900/3000]: Train loss: 1.1832, Valid loss: 1.0973\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [901/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.79it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [901/3000]: Train loss: 1.1754, Valid loss: 1.1721\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [902/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.32it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [902/3000]: Train loss: 1.1737, Valid loss: 0.9098\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [903/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.74it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [903/3000]: Train loss: 1.1714, Valid loss: 1.5008\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [904/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.44it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [904/3000]: Train loss: 1.1789, Valid loss: 1.1971\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [905/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.19it/s, loss=0.884]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [905/3000]: Train loss: 1.1591, Valid loss: 0.9658\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [906/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.50it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [906/3000]: Train loss: 1.1793, Valid loss: 1.1093\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [907/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.23it/s, loss=0.883]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [907/3000]: Train loss: 1.1574, Valid loss: 1.1254\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [908/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.56it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [908/3000]: Train loss: 1.1731, Valid loss: 1.3191\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [909/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.67it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [909/3000]: Train loss: 1.1991, Valid loss: 1.0326\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [910/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.85it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [910/3000]: Train loss: 1.1764, Valid loss: 1.0701\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [911/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.07it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [911/3000]: Train loss: 1.1693, Valid loss: 0.9919\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [912/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.22it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [912/3000]: Train loss: 1.1678, Valid loss: 1.0374\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [913/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.05it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [913/3000]: Train loss: 1.1901, Valid loss: 1.0530\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [914/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.34it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [914/3000]: Train loss: 1.1867, Valid loss: 1.0883\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [915/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.28it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [915/3000]: Train loss: 1.1759, Valid loss: 1.0396\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [916/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.60it/s, loss=0.971]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [916/3000]: Train loss: 1.1619, Valid loss: 1.0273\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [917/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.32it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [917/3000]: Train loss: 1.1750, Valid loss: 1.2843\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [918/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.50it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [918/3000]: Train loss: 1.1752, Valid loss: 1.0907\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [919/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.99it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [919/3000]: Train loss: 1.2051, Valid loss: 1.1173\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [920/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.34it/s, loss=1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [920/3000]: Train loss: 1.1649, Valid loss: 1.0676\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [921/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.73it/s, loss=0.949]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [921/3000]: Train loss: 1.1620, Valid loss: 0.9941\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [922/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.80it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [922/3000]: Train loss: 1.1724, Valid loss: 1.0745\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [923/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.32it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [923/3000]: Train loss: 1.1789, Valid loss: 1.0597\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [924/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.30it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [924/3000]: Train loss: 1.1947, Valid loss: 1.3838\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [925/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.46it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [925/3000]: Train loss: 1.1748, Valid loss: 1.0909\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [926/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.56it/s, loss=0.818]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [926/3000]: Train loss: 1.1552, Valid loss: 1.0254\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [927/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.18it/s, loss=0.999]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [927/3000]: Train loss: 1.1622, Valid loss: 1.0408\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [928/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.74it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [928/3000]: Train loss: 1.1634, Valid loss: 1.0885\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [929/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.88it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [929/3000]: Train loss: 1.1745, Valid loss: 1.0897\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [930/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.62it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [930/3000]: Train loss: 1.1805, Valid loss: 0.9985\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [931/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.67it/s, loss=1.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [931/3000]: Train loss: 1.2094, Valid loss: 0.8949\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [932/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.14it/s, loss=0.934]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [932/3000]: Train loss: 1.1772, Valid loss: 1.2122\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [933/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.53it/s, loss=0.986]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [933/3000]: Train loss: 1.1688, Valid loss: 1.2760\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [934/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.32it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [934/3000]: Train loss: 1.1765, Valid loss: 1.0312\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [935/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.80it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [935/3000]: Train loss: 1.1842, Valid loss: 0.9231\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [936/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.46it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [936/3000]: Train loss: 1.1692, Valid loss: 1.0831\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [937/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.37it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [937/3000]: Train loss: 1.1699, Valid loss: 1.0712\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [938/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.03it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [938/3000]: Train loss: 1.1810, Valid loss: 1.1510\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [939/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.38it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [939/3000]: Train loss: 1.1717, Valid loss: 1.1394\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [940/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.85it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [940/3000]: Train loss: 1.1696, Valid loss: 1.0332\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [941/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.70it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [941/3000]: Train loss: 1.1828, Valid loss: 1.0466\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [942/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.31it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [942/3000]: Train loss: 1.1726, Valid loss: 1.1583\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [943/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.56it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [943/3000]: Train loss: 1.1642, Valid loss: 1.0147\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [944/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.45it/s, loss=1.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [944/3000]: Train loss: 1.1880, Valid loss: 1.0705\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [945/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.33it/s, loss=0.965]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [945/3000]: Train loss: 1.1671, Valid loss: 1.0721\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [946/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.57it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [946/3000]: Train loss: 1.1749, Valid loss: 0.9840\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [947/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.15it/s, loss=1.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [947/3000]: Train loss: 1.2046, Valid loss: 1.1416\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [948/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.51it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [948/3000]: Train loss: 1.1799, Valid loss: 1.1056\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [949/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.70it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [949/3000]: Train loss: 1.1846, Valid loss: 1.2076\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [950/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.15it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [950/3000]: Train loss: 1.1792, Valid loss: 1.2290\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [951/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.54it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [951/3000]: Train loss: 1.1775, Valid loss: 1.0692\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [952/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.90it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [952/3000]: Train loss: 1.1753, Valid loss: 1.1678\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [953/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.85it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [953/3000]: Train loss: 1.1805, Valid loss: 0.9269\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [954/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.18it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [954/3000]: Train loss: 1.1832, Valid loss: 1.5008\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [955/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.01it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [955/3000]: Train loss: 1.1752, Valid loss: 0.9158\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [956/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.80it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [956/3000]: Train loss: 1.1734, Valid loss: 1.1634\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [957/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.52it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [957/3000]: Train loss: 1.1715, Valid loss: 1.0144\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [958/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.39it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [958/3000]: Train loss: 1.1739, Valid loss: 1.2029\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [959/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.25it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [959/3000]: Train loss: 1.1748, Valid loss: 1.4277\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [960/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.80it/s, loss=1.93]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [960/3000]: Train loss: 1.2154, Valid loss: 0.9450\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [961/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.37it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [961/3000]: Train loss: 1.1666, Valid loss: 1.0625\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [962/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.01it/s, loss=1.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [962/3000]: Train loss: 1.1585, Valid loss: 0.9229\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [963/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.53it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [963/3000]: Train loss: 1.1822, Valid loss: 1.4355\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [964/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.32it/s, loss=0.889]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [964/3000]: Train loss: 1.1555, Valid loss: 0.9912\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [965/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.96it/s, loss=0.852]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [965/3000]: Train loss: 1.1562, Valid loss: 1.0286\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [966/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.80it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [966/3000]: Train loss: 1.1640, Valid loss: 0.9592\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [967/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.82it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [967/3000]: Train loss: 1.1756, Valid loss: 1.1809\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [968/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.80it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [968/3000]: Train loss: 1.1945, Valid loss: 0.9663\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [969/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.92it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [969/3000]: Train loss: 1.1581, Valid loss: 0.9376\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [970/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.74it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [970/3000]: Train loss: 1.1664, Valid loss: 0.9588\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [971/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.57it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [971/3000]: Train loss: 1.1922, Valid loss: 1.0769\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [972/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.20it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [972/3000]: Train loss: 1.1714, Valid loss: 1.0375\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [973/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.54it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [973/3000]: Train loss: 1.1853, Valid loss: 1.5292\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [974/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.36it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [974/3000]: Train loss: 1.1765, Valid loss: 1.3429\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [975/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.74it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [975/3000]: Train loss: 1.1776, Valid loss: 1.0415\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [976/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.49it/s, loss=0.931]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [976/3000]: Train loss: 1.1559, Valid loss: 0.9425\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [977/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.63it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [977/3000]: Train loss: 1.1686, Valid loss: 1.5640\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [978/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.11it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [978/3000]: Train loss: 1.1975, Valid loss: 1.2018\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [979/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.57it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [979/3000]: Train loss: 1.1908, Valid loss: 1.0964\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [980/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.76it/s, loss=0.864]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [980/3000]: Train loss: 1.1591, Valid loss: 1.1848\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [981/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.99it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [981/3000]: Train loss: 1.1786, Valid loss: 1.0534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [982/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.60it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [982/3000]: Train loss: 1.2001, Valid loss: 1.2452\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [983/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.27it/s, loss=0.807]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [983/3000]: Train loss: 1.1508, Valid loss: 1.5370\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [984/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.86it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [984/3000]: Train loss: 1.1745, Valid loss: 1.0330\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [985/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.73it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [985/3000]: Train loss: 1.1744, Valid loss: 0.9686\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [986/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.15it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [986/3000]: Train loss: 1.1580, Valid loss: 1.0783\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [987/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.47it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [987/3000]: Train loss: 1.1754, Valid loss: 1.0218\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [988/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.38it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [988/3000]: Train loss: 1.1793, Valid loss: 0.9934\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [989/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.50it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [989/3000]: Train loss: 1.1628, Valid loss: 1.0301\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [990/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.40it/s, loss=0.98]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [990/3000]: Train loss: 1.1545, Valid loss: 0.9962\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [991/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.75it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [991/3000]: Train loss: 1.1673, Valid loss: 0.9948\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [992/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.99it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [992/3000]: Train loss: 1.1706, Valid loss: 0.9373\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [993/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.20it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [993/3000]: Train loss: 1.1703, Valid loss: 1.0785\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [994/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.10it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [994/3000]: Train loss: 1.1789, Valid loss: 1.1320\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [995/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.76it/s, loss=0.936]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [995/3000]: Train loss: 1.1499, Valid loss: 1.1614\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [996/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.12it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [996/3000]: Train loss: 1.1708, Valid loss: 1.0017\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [997/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.95it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [997/3000]: Train loss: 1.1650, Valid loss: 0.9878\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [998/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.77it/s, loss=1.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [998/3000]: Train loss: 1.1583, Valid loss: 1.3733\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [999/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.45it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [999/3000]: Train loss: 1.1822, Valid loss: 1.0614\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1000/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.56it/s, loss=0.944]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1000/3000]: Train loss: 1.1495, Valid loss: 0.9133\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1001/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.91it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1001/3000]: Train loss: 1.1672, Valid loss: 0.9683\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1002/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.12it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1002/3000]: Train loss: 1.1739, Valid loss: 0.9352\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1003/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.56it/s, loss=0.855]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1003/3000]: Train loss: 1.1512, Valid loss: 1.1690\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1004/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.28it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1004/3000]: Train loss: 1.1778, Valid loss: 1.1502\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1005/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.03it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1005/3000]: Train loss: 1.1897, Valid loss: 0.8996\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1006/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.67it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1006/3000]: Train loss: 1.1769, Valid loss: 0.9698\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1007/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.95it/s, loss=0.869]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1007/3000]: Train loss: 1.1477, Valid loss: 0.9363\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1008/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.59it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1008/3000]: Train loss: 1.1736, Valid loss: 1.0049\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1009/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.29it/s, loss=1.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1009/3000]: Train loss: 1.1917, Valid loss: 1.4070\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1010/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.57it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1010/3000]: Train loss: 1.1617, Valid loss: 0.9823\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1011/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.93it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1011/3000]: Train loss: 1.1727, Valid loss: 0.9203\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1012/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.25it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1012/3000]: Train loss: 1.1705, Valid loss: 1.2079\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1013/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.07it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1013/3000]: Train loss: 1.1659, Valid loss: 1.0052\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1014/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.26it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1014/3000]: Train loss: 1.1708, Valid loss: 1.0585\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1015/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.43it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1015/3000]: Train loss: 1.1666, Valid loss: 1.1291\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1016/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.86it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1016/3000]: Train loss: 1.1646, Valid loss: 0.9270\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1017/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.04it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1017/3000]: Train loss: 1.1590, Valid loss: 1.1084\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1018/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.03it/s, loss=1.77]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1018/3000]: Train loss: 1.2025, Valid loss: 0.9276\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1019/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.39it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1019/3000]: Train loss: 1.1689, Valid loss: 1.0878\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1020/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.42it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1020/3000]: Train loss: 1.1657, Valid loss: 1.0388\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1021/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.14it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1021/3000]: Train loss: 1.1715, Valid loss: 1.3755\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1022/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.99it/s, loss=0.874]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1022/3000]: Train loss: 1.1516, Valid loss: 1.0015\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1023/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.02it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1023/3000]: Train loss: 1.1627, Valid loss: 0.9256\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1024/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.62it/s, loss=0.875]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1024/3000]: Train loss: 1.1436, Valid loss: 0.9615\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1025/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.45it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1025/3000]: Train loss: 1.1765, Valid loss: 0.9305\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1026/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.91it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1026/3000]: Train loss: 1.1644, Valid loss: 1.1322\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1027/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.80it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1027/3000]: Train loss: 1.1538, Valid loss: 1.0254\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1028/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.12it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1028/3000]: Train loss: 1.1670, Valid loss: 1.1042\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1029/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.55it/s, loss=1.74]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1029/3000]: Train loss: 1.1987, Valid loss: 1.0882\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1030/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.68it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1030/3000]: Train loss: 1.1636, Valid loss: 1.1303\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1031/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.01it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1031/3000]: Train loss: 1.1690, Valid loss: 0.9605\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1032/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.20it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1032/3000]: Train loss: 1.1597, Valid loss: 1.1895\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1033/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.43it/s, loss=0.899]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1033/3000]: Train loss: 1.1481, Valid loss: 1.0899\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1034/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.92it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1034/3000]: Train loss: 1.1712, Valid loss: 1.2752\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1035/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.88it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1035/3000]: Train loss: 1.1684, Valid loss: 1.0874\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1036/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.13it/s, loss=0.984]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1036/3000]: Train loss: 1.1492, Valid loss: 1.1569\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1037/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.85it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1037/3000]: Train loss: 1.1644, Valid loss: 0.9231\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1038/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.54it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1038/3000]: Train loss: 1.1760, Valid loss: 0.9926\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1039/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.63it/s, loss=0.811]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1039/3000]: Train loss: 1.1449, Valid loss: 0.9394\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1040/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.94it/s, loss=1.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1040/3000]: Train loss: 1.1505, Valid loss: 1.0835\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1041/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.71it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1041/3000]: Train loss: 1.1531, Valid loss: 1.1110\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1042/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.41it/s, loss=0.925]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1042/3000]: Train loss: 1.1464, Valid loss: 1.0605\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1043/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.29it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1043/3000]: Train loss: 1.1623, Valid loss: 0.8507\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1044/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.03it/s, loss=0.974]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1044/3000]: Train loss: 1.1468, Valid loss: 1.0351\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1045/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.37it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1045/3000]: Train loss: 1.1659, Valid loss: 1.1522\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1046/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.02it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1046/3000]: Train loss: 1.1801, Valid loss: 0.9734\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1047/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.05it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1047/3000]: Train loss: 1.1699, Valid loss: 1.1370\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1048/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.81it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1048/3000]: Train loss: 1.1529, Valid loss: 1.2201\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1049/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.57it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1049/3000]: Train loss: 1.1709, Valid loss: 1.0139\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1050/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.28it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1050/3000]: Train loss: 1.1570, Valid loss: 0.9970\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1051/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.59it/s, loss=1.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1051/3000]: Train loss: 1.1745, Valid loss: 0.9772\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1052/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.52it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1052/3000]: Train loss: 1.1663, Valid loss: 0.9522\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1053/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.37it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1053/3000]: Train loss: 1.1832, Valid loss: 1.0616\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1054/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.73it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1054/3000]: Train loss: 1.1815, Valid loss: 1.0818\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1055/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.34it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1055/3000]: Train loss: 1.1561, Valid loss: 0.9957\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1056/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.92it/s, loss=0.732]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1056/3000]: Train loss: 1.1317, Valid loss: 0.9376\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1057/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.61it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1057/3000]: Train loss: 1.1630, Valid loss: 1.2833\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1058/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.95it/s, loss=0.974]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1058/3000]: Train loss: 1.1441, Valid loss: 1.1771\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1059/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.85it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1059/3000]: Train loss: 1.1624, Valid loss: 0.9771\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1060/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.01it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1060/3000]: Train loss: 1.1656, Valid loss: 0.8986\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1061/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.96it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1061/3000]: Train loss: 1.1842, Valid loss: 1.1943\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1062/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.62it/s, loss=1.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1062/3000]: Train loss: 1.1856, Valid loss: 0.9250\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1063/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.50it/s, loss=0.976]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1063/3000]: Train loss: 1.1504, Valid loss: 1.1975\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1064/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.18it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1064/3000]: Train loss: 1.1709, Valid loss: 1.1485\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1065/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.49it/s, loss=0.843]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1065/3000]: Train loss: 1.1538, Valid loss: 1.1657\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1066/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.48it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1066/3000]: Train loss: 1.1823, Valid loss: 0.9497\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1067/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.49it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1067/3000]: Train loss: 1.1757, Valid loss: 1.3488\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1068/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.45it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1068/3000]: Train loss: 1.1640, Valid loss: 0.9018\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1069/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.90it/s, loss=0.736]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1069/3000]: Train loss: 1.1306, Valid loss: 1.0774\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1070/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.04it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1070/3000]: Train loss: 1.1559, Valid loss: 0.9930\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1071/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.18it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1071/3000]: Train loss: 1.1543, Valid loss: 1.0157\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1072/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.25it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1072/3000]: Train loss: 1.1668, Valid loss: 1.0238\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1073/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.42it/s, loss=1.51]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1073/3000]: Train loss: 1.1812, Valid loss: 0.9644\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1074/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.28it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1074/3000]: Train loss: 1.1771, Valid loss: 1.1563\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1075/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.19it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1075/3000]: Train loss: 1.1534, Valid loss: 1.1524\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1076/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.94it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1076/3000]: Train loss: 1.1619, Valid loss: 1.1223\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1077/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.59it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1077/3000]: Train loss: 1.1506, Valid loss: 1.4990\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1078/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.31it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1078/3000]: Train loss: 1.1602, Valid loss: 0.9167\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1079/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.50it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1079/3000]: Train loss: 1.1574, Valid loss: 0.9832\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1080/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.53it/s, loss=0.87]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1080/3000]: Train loss: 1.1380, Valid loss: 1.1275\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1081/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.57it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1081/3000]: Train loss: 1.1663, Valid loss: 1.1052\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1082/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.74it/s, loss=1.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1082/3000]: Train loss: 1.1819, Valid loss: 1.1299\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1083/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.54it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1083/3000]: Train loss: 1.1478, Valid loss: 0.9625\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1084/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.38it/s, loss=0.89]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1084/3000]: Train loss: 1.1400, Valid loss: 1.0373\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1085/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.44it/s, loss=0.912]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1085/3000]: Train loss: 1.1436, Valid loss: 0.8575\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1086/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.91it/s, loss=0.891]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1086/3000]: Train loss: 1.1377, Valid loss: 1.1123\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1087/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.54it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1087/3000]: Train loss: 1.1496, Valid loss: 1.1308\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1088/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.66it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1088/3000]: Train loss: 1.1561, Valid loss: 1.0171\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1089/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.36it/s, loss=0.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1089/3000]: Train loss: 1.1402, Valid loss: 0.9219\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1090/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.17it/s, loss=0.867]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1090/3000]: Train loss: 1.1345, Valid loss: 0.9517\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1091/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.88it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1091/3000]: Train loss: 1.1593, Valid loss: 1.0570\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1092/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.76it/s, loss=0.906]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1092/3000]: Train loss: 1.1390, Valid loss: 0.8534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1093/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.21it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1093/3000]: Train loss: 1.1698, Valid loss: 0.9225\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1094/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.66it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1094/3000]: Train loss: 1.1623, Valid loss: 0.9688\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1095/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.23it/s, loss=0.851]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1095/3000]: Train loss: 1.1335, Valid loss: 0.9501\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1096/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.93it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1096/3000]: Train loss: 1.1642, Valid loss: 1.4272\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1097/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.42it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1097/3000]: Train loss: 1.1571, Valid loss: 0.9971\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1098/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.22it/s, loss=1.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1098/3000]: Train loss: 1.1769, Valid loss: 1.0271\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1099/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.49it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1099/3000]: Train loss: 1.1703, Valid loss: 1.1544\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1100/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.17it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1100/3000]: Train loss: 1.1679, Valid loss: 1.0769\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1101/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.96it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1101/3000]: Train loss: 1.1677, Valid loss: 0.8616\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1102/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.81it/s, loss=0.781]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1102/3000]: Train loss: 1.1314, Valid loss: 1.1113\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1103/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.12it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1103/3000]: Train loss: 1.1453, Valid loss: 1.0341\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1104/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.29it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1104/3000]: Train loss: 1.1578, Valid loss: 0.9803\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1105/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.58it/s, loss=0.784]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1105/3000]: Train loss: 1.1300, Valid loss: 1.4212\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1106/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.74it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1106/3000]: Train loss: 1.1486, Valid loss: 1.3953\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1107/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.91it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1107/3000]: Train loss: 1.1692, Valid loss: 1.0191\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1108/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.02it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1108/3000]: Train loss: 1.1499, Valid loss: 0.9598\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1109/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.29it/s, loss=1.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1109/3000]: Train loss: 1.1535, Valid loss: 0.9287\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1110/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.26it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1110/3000]: Train loss: 1.1514, Valid loss: 1.1017\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1111/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.30it/s, loss=1.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1111/3000]: Train loss: 1.1500, Valid loss: 1.1279\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1112/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.68it/s, loss=1.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1112/3000]: Train loss: 1.1540, Valid loss: 1.0756\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1113/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.76it/s, loss=1.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1113/3000]: Train loss: 1.1677, Valid loss: 1.1796\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1114/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.98it/s, loss=0.965]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1114/3000]: Train loss: 1.1397, Valid loss: 1.1363\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1115/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.73it/s, loss=1.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1115/3000]: Train loss: 1.1456, Valid loss: 1.1358\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1116/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.77it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1116/3000]: Train loss: 1.1629, Valid loss: 0.8908\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1117/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.26it/s, loss=0.844]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1117/3000]: Train loss: 1.1362, Valid loss: 1.0750\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1118/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.17it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1118/3000]: Train loss: 1.1544, Valid loss: 1.4007\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1119/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.26it/s, loss=1.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1119/3000]: Train loss: 1.1533, Valid loss: 0.9434\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1120/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.96it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1120/3000]: Train loss: 1.1468, Valid loss: 1.0439\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1121/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.41it/s, loss=1.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1121/3000]: Train loss: 1.1477, Valid loss: 0.8863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1122/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.44it/s, loss=1.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1122/3000]: Train loss: 1.1540, Valid loss: 1.0167\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1123/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.52it/s, loss=1.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1123/3000]: Train loss: 1.1675, Valid loss: 0.9350\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1124/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.19it/s, loss=1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1124/3000]: Train loss: 1.1405, Valid loss: 0.9972\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1125/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.27it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1125/3000]: Train loss: 1.1515, Valid loss: 0.8629\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1126/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.18it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1126/3000]: Train loss: 1.1642, Valid loss: 1.0158\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1127/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.14it/s, loss=1.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1127/3000]: Train loss: 1.1553, Valid loss: 1.0727\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1128/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.99it/s, loss=0.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1128/3000]: Train loss: 1.1321, Valid loss: 1.1363\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1129/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.36it/s, loss=0.967]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1129/3000]: Train loss: 1.1378, Valid loss: 0.9811\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1130/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.07it/s, loss=1.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1130/3000]: Train loss: 1.1611, Valid loss: 1.1401\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1131/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.75it/s, loss=1.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1131/3000]: Train loss: 1.1596, Valid loss: 1.0750\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1132/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.56it/s, loss=1.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1132/3000]: Train loss: 1.1462, Valid loss: 0.8962\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1133/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.40it/s, loss=0.989]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1133/3000]: Train loss: 1.1367, Valid loss: 1.0669\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1134/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.21it/s, loss=1.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1134/3000]: Train loss: 1.1454, Valid loss: 0.9654\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1135/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.41it/s, loss=1.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1135/3000]: Train loss: 1.1408, Valid loss: 1.0786\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1136/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.61it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1136/3000]: Train loss: 1.1571, Valid loss: 0.9623\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1137/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.79it/s, loss=0.951]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1137/3000]: Train loss: 1.1385, Valid loss: 1.0087\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1138/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.80it/s, loss=1.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1138/3000]: Train loss: 1.1436, Valid loss: 1.1630\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1139/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.70it/s, loss=1.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1139/3000]: Train loss: 1.1590, Valid loss: 1.2307\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1140/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.70it/s, loss=1.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1140/3000]: Train loss: 1.1426, Valid loss: 1.0144\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1141/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.02it/s, loss=0.712]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1141/3000]: Train loss: 1.1197, Valid loss: 0.8797\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1142/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.97it/s, loss=0.793]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1142/3000]: Train loss: 1.1278, Valid loss: 1.3405\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1143/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.46it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1143/3000]: Train loss: 1.1797, Valid loss: 0.9175\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1144/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.79it/s, loss=0.863]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1144/3000]: Train loss: 1.1323, Valid loss: 1.0893\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1145/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.17it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1145/3000]: Train loss: 1.1813, Valid loss: 1.0363\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1146/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.53it/s, loss=0.949]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1146/3000]: Train loss: 1.1488, Valid loss: 1.0278\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1147/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.27it/s, loss=1.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1147/3000]: Train loss: 1.1482, Valid loss: 1.0883\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1148/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.72it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1148/3000]: Train loss: 1.1665, Valid loss: 1.0023\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1149/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.57it/s, loss=1.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1149/3000]: Train loss: 1.1561, Valid loss: 1.0780\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1150/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.67it/s, loss=1.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1150/3000]: Train loss: 1.1607, Valid loss: 0.9633\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1151/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.07it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1151/3000]: Train loss: 1.1504, Valid loss: 0.9150\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1152/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.23it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1152/3000]: Train loss: 1.1791, Valid loss: 0.9866\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1153/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.88it/s, loss=1.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1153/3000]: Train loss: 1.1453, Valid loss: 0.9652\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1154/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.95it/s, loss=0.873]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1154/3000]: Train loss: 1.1289, Valid loss: 0.9842\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1155/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.10it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1155/3000]: Train loss: 1.1689, Valid loss: 1.1004\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1156/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.65it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1156/3000]: Train loss: 1.1591, Valid loss: 1.0548\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1157/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.25it/s, loss=1.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1157/3000]: Train loss: 1.1702, Valid loss: 1.0239\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1158/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.78it/s, loss=0.919]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1158/3000]: Train loss: 1.1343, Valid loss: 0.8938\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1159/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.66it/s, loss=0.995]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1159/3000]: Train loss: 1.1402, Valid loss: 1.0093\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1160/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.57it/s, loss=0.914]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1160/3000]: Train loss: 1.1419, Valid loss: 1.0837\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1161/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.56it/s, loss=1.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1161/3000]: Train loss: 1.1471, Valid loss: 1.1840\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1162/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.07it/s, loss=1.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1162/3000]: Train loss: 1.1587, Valid loss: 1.0308\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1163/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.86it/s, loss=0.913]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1163/3000]: Train loss: 1.1335, Valid loss: 0.9363\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1164/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.47it/s, loss=0.997]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1164/3000]: Train loss: 1.1412, Valid loss: 1.1017\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1165/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.16it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1165/3000]: Train loss: 1.1494, Valid loss: 1.2449\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1166/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.73it/s, loss=1.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1166/3000]: Train loss: 1.1588, Valid loss: 0.9028\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1167/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.70it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1167/3000]: Train loss: 1.1542, Valid loss: 1.2127\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1168/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.39it/s, loss=1.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1168/3000]: Train loss: 1.1489, Valid loss: 0.8953\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1169/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.03it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1169/3000]: Train loss: 1.1600, Valid loss: 1.1813\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1170/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.76it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1170/3000]: Train loss: 1.1479, Valid loss: 0.9819\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1171/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.08it/s, loss=0.957]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1171/3000]: Train loss: 1.1354, Valid loss: 0.9750\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1172/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.96it/s, loss=1.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1172/3000]: Train loss: 1.1385, Valid loss: 0.9696\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1173/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.67it/s, loss=1.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1173/3000]: Train loss: 1.1502, Valid loss: 1.2385\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1174/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.17it/s, loss=0.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1174/3000]: Train loss: 1.1233, Valid loss: 0.9737\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1175/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.38it/s, loss=0.901]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1175/3000]: Train loss: 1.1292, Valid loss: 1.2514\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1176/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.09it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1176/3000]: Train loss: 1.1693, Valid loss: 1.1752\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1177/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.77it/s, loss=1.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1177/3000]: Train loss: 1.1443, Valid loss: 1.0288\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1178/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.55it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1178/3000]: Train loss: 1.1640, Valid loss: 1.0209\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1179/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.18it/s, loss=0.946]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1179/3000]: Train loss: 1.1302, Valid loss: 1.1544\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1180/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.43it/s, loss=0.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1180/3000]: Train loss: 1.1398, Valid loss: 1.1075\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1181/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.59it/s, loss=1.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1181/3000]: Train loss: 1.1572, Valid loss: 0.9402\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1182/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.92it/s, loss=0.951]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1182/3000]: Train loss: 1.1306, Valid loss: 0.9438\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1183/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.32it/s, loss=0.871]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1183/3000]: Train loss: 1.1314, Valid loss: 0.9438\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1184/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.79it/s, loss=0.844]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1184/3000]: Train loss: 1.1358, Valid loss: 0.9468\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1185/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.90it/s, loss=0.948]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1185/3000]: Train loss: 1.1393, Valid loss: 1.3387\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1186/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.62it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1186/3000]: Train loss: 1.1490, Valid loss: 1.3172\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1187/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.02it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1187/3000]: Train loss: 1.1480, Valid loss: 1.1386\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1188/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.74it/s, loss=1.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1188/3000]: Train loss: 1.1379, Valid loss: 0.9586\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1189/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.97it/s, loss=0.964]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1189/3000]: Train loss: 1.1315, Valid loss: 1.0126\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1190/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.94it/s, loss=0.904]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1190/3000]: Train loss: 1.1326, Valid loss: 1.0234\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1191/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.95it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1191/3000]: Train loss: 1.1757, Valid loss: 0.9469\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1192/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.59it/s, loss=1.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1192/3000]: Train loss: 1.1473, Valid loss: 1.0296\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1193/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.84it/s, loss=0.983]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1193/3000]: Train loss: 1.1360, Valid loss: 0.9755\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1194/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.40it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1194/3000]: Train loss: 1.1497, Valid loss: 1.1011\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1195/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.95it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1195/3000]: Train loss: 1.1598, Valid loss: 1.2821\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1196/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.71it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1196/3000]: Train loss: 1.1486, Valid loss: 1.2703\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1197/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.84it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1197/3000]: Train loss: 1.1497, Valid loss: 1.1015\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1198/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.89it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1198/3000]: Train loss: 1.1491, Valid loss: 1.0278\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1199/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.98it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1199/3000]: Train loss: 1.1638, Valid loss: 1.0407\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1200/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.24it/s, loss=1.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1200/3000]: Train loss: 1.1539, Valid loss: 0.9334\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1201/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.67it/s, loss=1.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1201/3000]: Train loss: 1.1571, Valid loss: 1.1358\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1202/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.62it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1202/3000]: Train loss: 1.1488, Valid loss: 0.9855\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1203/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.58it/s, loss=1.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1203/3000]: Train loss: 1.1607, Valid loss: 0.8960\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1204/3000]: 100%|██████████| 9/9 [00:00<00:00, 31.57it/s, loss=1.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1204/3000]: Train loss: 1.1395, Valid loss: 1.0432\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1205/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.64it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1205/3000]: Train loss: 1.1468, Valid loss: 1.0427\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1206/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.60it/s, loss=0.956]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1206/3000]: Train loss: 1.1307, Valid loss: 0.9914\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1207/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.09it/s, loss=0.852]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1207/3000]: Train loss: 1.1221, Valid loss: 0.9224\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1208/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.05it/s, loss=1.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1208/3000]: Train loss: 1.1538, Valid loss: 1.1003\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1209/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.45it/s, loss=1.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1209/3000]: Train loss: 1.1427, Valid loss: 1.1206\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1210/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.71it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1210/3000]: Train loss: 1.1715, Valid loss: 1.0672\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1211/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.20it/s, loss=0.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1211/3000]: Train loss: 1.1304, Valid loss: 1.2072\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1212/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.73it/s, loss=0.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1212/3000]: Train loss: 1.1222, Valid loss: 1.4677\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1213/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.70it/s, loss=0.877]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1213/3000]: Train loss: 1.1234, Valid loss: 1.2427\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1214/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.16it/s, loss=1.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1214/3000]: Train loss: 1.1358, Valid loss: 1.1989\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1215/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.46it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1215/3000]: Train loss: 1.1364, Valid loss: 1.0408\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1216/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.94it/s, loss=0.958]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1216/3000]: Train loss: 1.1293, Valid loss: 1.0390\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1217/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.48it/s, loss=1.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1217/3000]: Train loss: 1.1458, Valid loss: 1.4511\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1218/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.09it/s, loss=0.963]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1218/3000]: Train loss: 1.1349, Valid loss: 1.0146\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1219/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.29it/s, loss=0.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1219/3000]: Train loss: 1.1309, Valid loss: 1.0908\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1220/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.36it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1220/3000]: Train loss: 1.1733, Valid loss: 0.8574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1221/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.89it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1221/3000]: Train loss: 1.1643, Valid loss: 1.0699\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1222/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.19it/s, loss=1.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1222/3000]: Train loss: 1.1415, Valid loss: 0.9842\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1223/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.85it/s, loss=1.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1223/3000]: Train loss: 1.1511, Valid loss: 1.2986\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1224/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.56it/s, loss=0.832]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1224/3000]: Train loss: 1.1202, Valid loss: 0.9844\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1225/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.25it/s, loss=1.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1225/3000]: Train loss: 1.1386, Valid loss: 1.0721\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1226/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.05it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1226/3000]: Train loss: 1.1356, Valid loss: 1.0095\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1227/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.11it/s, loss=0.908]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1227/3000]: Train loss: 1.1273, Valid loss: 1.1359\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1228/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.48it/s, loss=1.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1228/3000]: Train loss: 1.1344, Valid loss: 1.1878\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1229/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.08it/s, loss=1.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1229/3000]: Train loss: 1.1381, Valid loss: 0.9811\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1230/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.93it/s, loss=0.953]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1230/3000]: Train loss: 1.1298, Valid loss: 1.2105\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1231/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.79it/s, loss=1.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1231/3000]: Train loss: 1.1615, Valid loss: 1.2165\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1232/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.42it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1232/3000]: Train loss: 1.1449, Valid loss: 1.0531\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1233/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.32it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1233/3000]: Train loss: 1.1530, Valid loss: 0.9709\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1234/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.75it/s, loss=1.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1234/3000]: Train loss: 1.1326, Valid loss: 1.0008\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1235/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.12it/s, loss=1.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1235/3000]: Train loss: 1.1412, Valid loss: 1.0531\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1236/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.79it/s, loss=0.789]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1236/3000]: Train loss: 1.1156, Valid loss: 0.9719\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1237/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.01it/s, loss=0.825]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1237/3000]: Train loss: 1.1195, Valid loss: 1.1755\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1238/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.84it/s, loss=1.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1238/3000]: Train loss: 1.1418, Valid loss: 0.9253\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1239/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.14it/s, loss=1.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1239/3000]: Train loss: 1.1457, Valid loss: 1.1528\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1240/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.95it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1240/3000]: Train loss: 1.1333, Valid loss: 0.9638\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1241/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.17it/s, loss=1.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1241/3000]: Train loss: 1.1398, Valid loss: 0.9491\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1242/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.86it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1242/3000]: Train loss: 1.1443, Valid loss: 1.0919\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1243/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.41it/s, loss=1.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1243/3000]: Train loss: 1.1508, Valid loss: 0.9756\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1244/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.31it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1244/3000]: Train loss: 1.1640, Valid loss: 1.4103\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1245/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.65it/s, loss=1.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1245/3000]: Train loss: 1.1551, Valid loss: 0.9386\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1246/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.01it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1246/3000]: Train loss: 1.1473, Valid loss: 1.1923\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1247/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.20it/s, loss=1.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1247/3000]: Train loss: 1.1505, Valid loss: 1.0373\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1248/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.38it/s, loss=1.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1248/3000]: Train loss: 1.1461, Valid loss: 0.9789\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1249/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.65it/s, loss=0.857]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1249/3000]: Train loss: 1.1205, Valid loss: 1.2842\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1250/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.36it/s, loss=1.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1250/3000]: Train loss: 1.1516, Valid loss: 1.1078\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1251/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.14it/s, loss=1.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1251/3000]: Train loss: 1.1499, Valid loss: 1.0562\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1252/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.21it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1252/3000]: Train loss: 1.1408, Valid loss: 1.0457\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1253/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.65it/s, loss=1.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1253/3000]: Train loss: 1.1456, Valid loss: 1.0877\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1254/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.27it/s, loss=0.813]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1254/3000]: Train loss: 1.1199, Valid loss: 1.1994\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1255/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.11it/s, loss=1.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1255/3000]: Train loss: 1.1333, Valid loss: 0.9746\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1256/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.60it/s, loss=0.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1256/3000]: Train loss: 1.1299, Valid loss: 1.2158\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1257/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.71it/s, loss=0.984]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1257/3000]: Train loss: 1.1310, Valid loss: 0.9585\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1258/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.54it/s, loss=1.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1258/3000]: Train loss: 1.1466, Valid loss: 0.9822\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1259/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.04it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1259/3000]: Train loss: 1.1430, Valid loss: 0.9205\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1260/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.09it/s, loss=0.993]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1260/3000]: Train loss: 1.1301, Valid loss: 1.1749\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1261/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.31it/s, loss=0.939]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1261/3000]: Train loss: 1.1261, Valid loss: 0.9624\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1262/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.61it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1262/3000]: Train loss: 1.1389, Valid loss: 0.9594\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1263/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.74it/s, loss=0.737]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1263/3000]: Train loss: 1.1149, Valid loss: 1.4297\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1264/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.83it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1264/3000]: Train loss: 1.1571, Valid loss: 1.1985\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1265/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.46it/s, loss=1.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1265/3000]: Train loss: 1.1391, Valid loss: 1.0026\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1266/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.18it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1266/3000]: Train loss: 1.1843, Valid loss: 1.0137\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1267/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.58it/s, loss=1.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1267/3000]: Train loss: 1.1565, Valid loss: 1.1974\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1268/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.96it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1268/3000]: Train loss: 1.1870, Valid loss: 0.9258\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1269/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.13it/s, loss=1.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1269/3000]: Train loss: 1.1472, Valid loss: 1.0589\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1270/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.24it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1270/3000]: Train loss: 1.1498, Valid loss: 1.1676\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1271/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.28it/s, loss=1.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1271/3000]: Train loss: 1.1333, Valid loss: 1.0882\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1272/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.75it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1272/3000]: Train loss: 1.1404, Valid loss: 1.1445\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1273/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.42it/s, loss=0.973]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1273/3000]: Train loss: 1.1286, Valid loss: 1.1444\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1274/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.94it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1274/3000]: Train loss: 1.1907, Valid loss: 0.9071\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1275/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.27it/s, loss=1.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1275/3000]: Train loss: 1.1709, Valid loss: 1.1175\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1276/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.00it/s, loss=1.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1276/3000]: Train loss: 1.1612, Valid loss: 1.0905\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1277/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.59it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1277/3000]: Train loss: 1.1759, Valid loss: 1.0951\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1278/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.89it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1278/3000]: Train loss: 1.1553, Valid loss: 1.0591\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1279/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.11it/s, loss=0.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1279/3000]: Train loss: 1.1409, Valid loss: 1.0857\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1280/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.73it/s, loss=1.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1280/3000]: Train loss: 1.1448, Valid loss: 0.8764\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1281/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.89it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1281/3000]: Train loss: 1.1364, Valid loss: 1.2895\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1282/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.33it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1282/3000]: Train loss: 1.1630, Valid loss: 0.9469\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1283/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.29it/s, loss=1.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1283/3000]: Train loss: 1.1571, Valid loss: 0.9696\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1284/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.16it/s, loss=1.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1284/3000]: Train loss: 1.1466, Valid loss: 0.9475\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1285/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.21it/s, loss=0.956]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1285/3000]: Train loss: 1.1265, Valid loss: 0.9790\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1286/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.40it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1286/3000]: Train loss: 1.1648, Valid loss: 1.0140\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1287/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.20it/s, loss=0.868]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1287/3000]: Train loss: 1.1237, Valid loss: 1.0575\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1288/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.02it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1288/3000]: Train loss: 1.1614, Valid loss: 1.1124\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1289/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.18it/s, loss=1.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1289/3000]: Train loss: 1.1372, Valid loss: 1.1503\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1290/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.01it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1290/3000]: Train loss: 1.1343, Valid loss: 0.9464\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1291/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.30it/s, loss=1.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1291/3000]: Train loss: 1.1367, Valid loss: 1.1283\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1292/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.98it/s, loss=1.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1292/3000]: Train loss: 1.1390, Valid loss: 1.3286\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1293/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.88it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1293/3000]: Train loss: 1.1386, Valid loss: 1.0154\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1294/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.58it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1294/3000]: Train loss: 1.1441, Valid loss: 0.9585\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1295/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.83it/s, loss=1.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1295/3000]: Train loss: 1.1372, Valid loss: 1.0840\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1296/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.76it/s, loss=1.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1296/3000]: Train loss: 1.1629, Valid loss: 1.0520\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1297/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.84it/s, loss=0.917]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1297/3000]: Train loss: 1.1262, Valid loss: 0.8638\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1298/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.47it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1298/3000]: Train loss: 1.1466, Valid loss: 1.0312\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1299/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.57it/s, loss=1.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1299/3000]: Train loss: 1.1270, Valid loss: 0.9168\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1300/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.99it/s, loss=0.864]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1300/3000]: Train loss: 1.1184, Valid loss: 0.9795\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1301/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.65it/s, loss=1.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1301/3000]: Train loss: 1.1524, Valid loss: 1.2099\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1302/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.90it/s, loss=0.822]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1302/3000]: Train loss: 1.1152, Valid loss: 0.8696\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1303/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.85it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1303/3000]: Train loss: 1.1294, Valid loss: 1.2702\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1304/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.88it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1304/3000]: Train loss: 1.1566, Valid loss: 0.9394\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1305/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.14it/s, loss=1.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1305/3000]: Train loss: 1.1298, Valid loss: 1.1371\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1306/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.78it/s, loss=1.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1306/3000]: Train loss: 1.1308, Valid loss: 0.8759\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1307/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.29it/s, loss=0.906]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1307/3000]: Train loss: 1.1210, Valid loss: 0.8953\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1308/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.65it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1308/3000]: Train loss: 1.1742, Valid loss: 1.0650\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1309/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.80it/s, loss=0.766]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1309/3000]: Train loss: 1.1140, Valid loss: 1.2162\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1310/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.51it/s, loss=1.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1310/3000]: Train loss: 1.1373, Valid loss: 0.9129\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1311/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.08it/s, loss=0.944]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1311/3000]: Train loss: 1.1216, Valid loss: 0.9195\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1312/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.12it/s, loss=1.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1312/3000]: Train loss: 1.1467, Valid loss: 1.1872\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1313/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.73it/s, loss=0.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1313/3000]: Train loss: 1.1250, Valid loss: 0.9553\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1314/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.79it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1314/3000]: Train loss: 1.1362, Valid loss: 0.9336\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1315/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.01it/s, loss=0.973]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1315/3000]: Train loss: 1.1234, Valid loss: 1.1268\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1316/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.20it/s, loss=0.576]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1316/3000]: Train loss: 1.1022, Valid loss: 1.0063\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1317/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.62it/s, loss=1.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1317/3000]: Train loss: 1.1321, Valid loss: 1.1093\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1318/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.06it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1318/3000]: Train loss: 1.1497, Valid loss: 1.3225\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1319/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.88it/s, loss=1.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1319/3000]: Train loss: 1.1292, Valid loss: 0.8753\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1320/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.41it/s, loss=1.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1320/3000]: Train loss: 1.1344, Valid loss: 0.9711\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1321/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.24it/s, loss=1.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1321/3000]: Train loss: 1.1300, Valid loss: 0.8943\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1322/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.67it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1322/3000]: Train loss: 1.1860, Valid loss: 0.9357\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1323/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.76it/s, loss=1.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1323/3000]: Train loss: 1.1616, Valid loss: 1.0379\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1324/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.77it/s, loss=0.914]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1324/3000]: Train loss: 1.1400, Valid loss: 0.9673\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1325/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.91it/s, loss=0.974]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1325/3000]: Train loss: 1.1477, Valid loss: 1.0153\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1326/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.96it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1326/3000]: Train loss: 1.1382, Valid loss: 1.1180\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1327/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.36it/s, loss=1.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1327/3000]: Train loss: 1.1543, Valid loss: 1.0474\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1328/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.02it/s, loss=1.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1328/3000]: Train loss: 1.1489, Valid loss: 0.9716\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1329/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.89it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1329/3000]: Train loss: 1.1355, Valid loss: 0.9863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1330/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.99it/s, loss=1.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1330/3000]: Train loss: 1.1680, Valid loss: 1.0220\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1331/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.88it/s, loss=1.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1331/3000]: Train loss: 1.1366, Valid loss: 0.8628\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1332/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.85it/s, loss=1.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1332/3000]: Train loss: 1.1385, Valid loss: 0.9490\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1333/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.44it/s, loss=0.978]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1333/3000]: Train loss: 1.1345, Valid loss: 1.1450\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1334/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.75it/s, loss=0.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1334/3000]: Train loss: 1.1231, Valid loss: 1.0863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1335/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.07it/s, loss=0.881]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1335/3000]: Train loss: 1.1245, Valid loss: 0.9549\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1336/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.85it/s, loss=1.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1336/3000]: Train loss: 1.1327, Valid loss: 1.4862\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1337/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.89it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1337/3000]: Train loss: 1.1435, Valid loss: 1.3628\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1338/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.06it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1338/3000]: Train loss: 1.1413, Valid loss: 1.2779\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1339/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.75it/s, loss=0.999]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1339/3000]: Train loss: 1.1238, Valid loss: 0.9742\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1340/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.73it/s, loss=0.897]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1340/3000]: Train loss: 1.1208, Valid loss: 1.1041\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1341/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.28it/s, loss=1.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1341/3000]: Train loss: 1.1492, Valid loss: 1.1431\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1342/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.84it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1342/3000]: Train loss: 1.1519, Valid loss: 1.0766\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1343/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.80it/s, loss=1.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1343/3000]: Train loss: 1.1523, Valid loss: 1.0480\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1344/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.15it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1344/3000]: Train loss: 1.1520, Valid loss: 1.0429\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1345/3000]: 100%|██████████| 9/9 [00:00<00:00, 121.03it/s, loss=1.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1345/3000]: Train loss: 1.1413, Valid loss: 1.0531\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1346/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.47it/s, loss=1.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1346/3000]: Train loss: 1.1237, Valid loss: 1.0341\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1347/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.39it/s, loss=1.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1347/3000]: Train loss: 1.1281, Valid loss: 1.0292\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1348/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.76it/s, loss=1.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1348/3000]: Train loss: 1.1410, Valid loss: 1.0575\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1349/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.15it/s, loss=1.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1349/3000]: Train loss: 1.1388, Valid loss: 1.3954\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1350/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.35it/s, loss=1.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1350/3000]: Train loss: 1.1458, Valid loss: 1.3832\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1351/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.19it/s, loss=1.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1351/3000]: Train loss: 1.1551, Valid loss: 1.0420\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1352/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.10it/s, loss=1.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1352/3000]: Train loss: 1.1388, Valid loss: 1.0565\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1353/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.19it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1353/3000]: Train loss: 1.1499, Valid loss: 1.0780\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1354/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.21it/s, loss=1.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1354/3000]: Train loss: 1.1345, Valid loss: 1.3517\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1355/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.49it/s, loss=1.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1355/3000]: Train loss: 1.1554, Valid loss: 1.1956\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1356/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.09it/s, loss=0.804]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1356/3000]: Train loss: 1.1139, Valid loss: 1.1297\n","\n","Model is not improving, so we halt the training session.\n"]}]},{"cell_type":"markdown","source":["# 测试结果"],"metadata":{"id":"vCkj-S90AgBp"}},{"cell_type":"code","source":["def save_pred(preds, file):\n"," ''' Save predictions to specified file '''\n"," with open(file, 'w') as fp:\n"," writer = csv.writer(fp)\n"," writer.writerow(['id', 'tested_positive'])\n"," for i, p in enumerate(preds):\n"," writer.writerow([i, p])\n","\n","model = My_Model(input_dim=x_train.shape[1]).to(device)\n","model.load_state_dict(torch.load(config['save_path']))\n","preds = predict(test_loader, model, device) \n","save_pred(preds, config['pred_path']) "],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"vjrXToa1AoHg","executionInfo":{"status":"ok","timestamp":1663925573531,"user_tz":-480,"elapsed":360,"user":{"displayName":"jon","userId":"02515558245111120108"}},"outputId":"885effda-8f22-48c8-df8a-9fff8f9a45a3"},"execution_count":53,"outputs":[{"output_type":"stream","name":"stderr","text":["100%|██████████| 5/5 [00:00<00:00, 727.75it/s]\n"]}]},{"cell_type":"markdown","source":["Objectives:\n","* Solve a regression problem with deep neural networks (DNN).\n","* Understand basic DNN training tips.\n","* Familiarize yourself with PyTorch.\n","\n","If you have any questions, please contact the TAs via TA hours, NTU COOL, or email to mlta-2022-spring@googlegroups.com"],"metadata":{"id":"V57zhcTp1Xxb"}},{"cell_type":"markdown","metadata":{"id":"Tm2aXcb-j9Fc"},"source":["# Download data\n","If the Google Drive links below do not work, you can download data from [Kaggle](https://www.kaggle.com/t/a3ebd5b5542f0f55e828d4f00de8e59a), and upload data manually to the workspace."]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"YPmfl-awlKZA","outputId":"71e77d1b-5543-4b3e-dc70-604bd7952f2b"},"outputs":[{"output_type":"stream","name":"stdout","text":["Downloading...\n","From: https://drive.google.com/uc?id=1kLSW_-cW2Huj7bh84YTdimGBOJaODiOS\n","To: /content/covid.train.csv\n","100% 2.49M/2.49M [00:00<00:00, 195MB/s]\n","Downloading...\n","From: https://drive.google.com/uc?id=1iiI5qROrAhZn-o4FPqsE97bMzDEFvIdg\n","To: /content/covid.test.csv\n","100% 993k/993k [00:00<00:00, 118MB/s]\n"]}],"source":["!gdown --id '1kLSW_-cW2Huj7bh84YTdimGBOJaODiOS' --output covid.train.csv\n","!gdown --id '1iiI5qROrAhZn-o4FPqsE97bMzDEFvIdg' --output covid.test.csv"]},{"cell_type":"markdown","metadata":{"id":"igqIMEgu64-F"},"source":["# Import packages"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"xybQNYCXYu13"},"outputs":[],"source":["# Numerical Operations\n","import math\n","import numpy as np\n","\n","# Reading/Writing Data\n","import pandas as pd\n","import os\n","import csv\n","\n","# For Progress Bar\n","from tqdm import tqdm\n","\n","# Pytorch\n","import torch \n","import torch.nn as nn\n","from torch.utils.data import Dataset, DataLoader, random_split\n","\n","# For plotting learning curve\n","from torch.utils.tensorboard import SummaryWriter"]},{"cell_type":"markdown","source":["# Some Utility Functions\n","\n","You do not need to modify this part."],"metadata":{"id":"fTAVqRfc2KK3"}},{"cell_type":"code","source":["def same_seed(seed): \n"," '''Fixes random number generator seeds for reproducibility.'''\n"," torch.backends.cudnn.deterministic = True\n"," torch.backends.cudnn.benchmark = False\n"," np.random.seed(seed)\n"," torch.manual_seed(seed)\n"," if torch.cuda.is_available():\n"," torch.cuda.manual_seed_all(seed)\n","\n","def train_valid_split(data_set, valid_ratio, seed):\n"," '''Split provided training data into training set and validation set'''\n"," valid_set_size = int(valid_ratio * len(data_set)) \n"," train_set_size = len(data_set) - valid_set_size\n"," train_set, valid_set = random_split(data_set, [train_set_size, valid_set_size], generator=torch.Generator().manual_seed(seed))\n"," return np.array(train_set), np.array(valid_set)\n","\n","def predict(test_loader, model, device):\n"," model.eval() # Set your model to evaluation mode.\n"," preds = []\n"," for x in tqdm(test_loader):\n"," x = x.to(device) \n"," with torch.no_grad(): \n"," pred = model(x) \n"," preds.append(pred.detach().cpu()) \n"," preds = torch.cat(preds, dim=0).numpy() \n"," return preds"],"metadata":{"id":"RbrcpfYN2I-H"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"IqO3lTm78nNO"},"source":["# Dataset"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"-mjaJM0wprMs"},"outputs":[],"source":["class COVID19Dataset(Dataset):\n"," '''\n"," x: Features.\n"," y: Targets, if none, do prediction.\n"," '''\n"," def __init__(self, x, y=None):\n"," if y is None:\n"," self.y = y\n"," else:\n"," self.y = torch.FloatTensor(y)\n"," self.x = torch.FloatTensor(x)\n","\n"," def __getitem__(self, idx):\n"," if self.y is None:\n"," return self.x[idx]\n"," else:\n"," return self.x[idx], self.y[idx]\n","\n"," def __len__(self):\n"," return len(self.x)"]},{"cell_type":"markdown","source":["# Neural Network Model\n","Try out different model architectures by modifying the class below."],"metadata":{"id":"m73ooU75CL_j"}},{"cell_type":"code","execution_count":null,"metadata":{"id":"Qn97_WvvrEkG"},"outputs":[],"source":["class My_Model(nn.Module):\n"," def __init__(self, input_dim):\n"," super(My_Model, self).__init__()\n"," # TODO: modify model's structure, be aware of dimensions. \n"," self.layers = nn.Sequential(\n"," nn.Linear(input_dim, 16),\n"," nn.ReLU(),\n"," nn.Linear(16, 8),\n"," nn.ReLU(),\n"," nn.Linear(8, 1)\n"," )\n","\n"," def forward(self, x):\n"," x = self.layers(x)\n"," x = x.squeeze(1) # (B, 1) -> (B)\n"," return x"]},{"cell_type":"markdown","metadata":{"id":"x5-LKF6R8xeq"},"source":["# Feature Selection\n","Choose features you deem useful by modifying the function below."]},{"cell_type":"code","source":["def select_feat(train_data, valid_data, test_data, select_all=True):\n"," '''Selects useful features to perform regression'''\n"," y_train, y_valid = train_data[:,-1], valid_data[:,-1]\n"," raw_x_train, raw_x_valid, raw_x_test = train_data[:,:-1], valid_data[:,:-1], test_data\n","\n"," if select_all:\n"," feat_idx = list(range(raw_x_train.shape[1]))\n"," else:\n"," feat_idx = [0,1,2,3,4] # TODO: Select suitable feature columns.\n"," \n"," return raw_x_train[:,feat_idx], raw_x_valid[:,feat_idx], raw_x_test[:,feat_idx], y_train, y_valid"],"metadata":{"id":"0FEnKRaIIeKp"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["# Training Loop"],"metadata":{"id":"kADIPNQ2Ih5X"}},{"cell_type":"code","execution_count":null,"metadata":{"id":"k4Rq8_TztAhq"},"outputs":[],"source":["def trainer(train_loader, valid_loader, model, config, device):\n","\n"," criterion = nn.MSELoss(reduction='mean') # Define your loss function, do not modify this.\n","\n"," # Define your optimization algorithm. \n"," # TODO: Please check https://pytorch.org/docs/stable/optim.html to get more available algorithms.\n"," # TODO: L2 regularization (optimizer(weight decay...) or implement by your self).\n"," optimizer = torch.optim.SGD(model.parameters(), lr=config['learning_rate'], momentum=0.9) \n","\n"," writer = SummaryWriter() # Writer of tensoboard.\n","\n"," if not os.path.isdir('./models'):\n"," os.mkdir('./models') # Create directory of saving models.\n","\n"," n_epochs, best_loss, step, early_stop_count = config['n_epochs'], math.inf, 0, 0\n","\n"," for epoch in range(n_epochs):\n"," model.train() # Set your model to train mode.\n"," loss_record = []\n","\n"," # tqdm is a package to visualize your training progress.\n"," train_pbar = tqdm(train_loader, position=0, leave=True)\n","\n"," for x, y in train_pbar:\n"," optimizer.zero_grad() # Set gradient to zero.\n"," x, y = x.to(device), y.to(device) # Move your data to device. \n"," pred = model(x) \n"," loss = criterion(pred, y)\n"," loss.backward() # Compute gradient(backpropagation).\n"," optimizer.step() # Update parameters.\n"," step += 1\n"," loss_record.append(loss.detach().item())\n"," \n"," # Display current epoch number and loss on tqdm progress bar.\n"," train_pbar.set_description(f'Epoch [{epoch+1}/{n_epochs}]')\n"," train_pbar.set_postfix({'loss': loss.detach().item()})\n","\n"," mean_train_loss = sum(loss_record)/len(loss_record)\n"," writer.add_scalar('Loss/train', mean_train_loss, step)\n","\n"," model.eval() # Set your model to evaluation mode.\n"," loss_record = []\n"," for x, y in valid_loader:\n"," x, y = x.to(device), y.to(device)\n"," with torch.no_grad():\n"," pred = model(x)\n"," loss = criterion(pred, y)\n","\n"," loss_record.append(loss.item())\n"," \n"," mean_valid_loss = sum(loss_record)/len(loss_record)\n"," print(f'Epoch [{epoch+1}/{n_epochs}]: Train loss: {mean_train_loss:.4f}, Valid loss: {mean_valid_loss:.4f}')\n"," writer.add_scalar('Loss/valid', mean_valid_loss, step)\n","\n"," if mean_valid_loss < best_loss:\n"," best_loss = mean_valid_loss\n"," torch.save(model.state_dict(), config['save_path']) # Save your best model\n"," print('Saving model with loss {:.3f}...'.format(best_loss))\n"," early_stop_count = 0\n"," else: \n"," early_stop_count += 1\n","\n"," if early_stop_count >= config['early_stop']:\n"," print('\\nModel is not improving, so we halt the training session.')\n"," return"]},{"cell_type":"markdown","metadata":{"id":"0pgkOh2e9UjE"},"source":["# Configurations\n","`config` contains hyper-parameters for training and the path to save your model."]},{"cell_type":"code","execution_count":null,"metadata":{"id":"QoWPUahCtoT6"},"outputs":[],"source":["device = 'cuda' if torch.cuda.is_available() else 'cpu'\n","config = {\n"," 'seed': 5201314, # Your seed number, you can pick your lucky number. :)\n"," 'select_all': True, # Whether to use all features.\n"," 'valid_ratio': 0.2, # validation_size = train_size * valid_ratio\n"," 'n_epochs': 3000, # Number of epochs. \n"," 'batch_size': 256, \n"," 'learning_rate': 1e-5, \n"," 'early_stop': 400, # If model has not improved for this many consecutive epochs, stop training. \n"," 'save_path': './models/model.ckpt' # Your model will be saved here.\n","}"]},{"cell_type":"markdown","metadata":{"id":"lrS-aJJh9XkW"},"source":["# Dataloader\n","Read data from files and set up training, validation, and testing sets. You do not need to modify this part."]},{"cell_type":"code","execution_count":null,"metadata":{"id":"2jc7ZfDot2t9","colab":{"base_uri":"https://localhost:8080/"},"outputId":"62d291db-61c8-424d-ec87-2cfce6dd330d"},"outputs":[{"output_type":"stream","name":"stdout","text":["train_data size: (2160, 118) \n","valid_data size: (539, 118) \n","test_data size: (1078, 117)\n","number of features: 117\n"]}],"source":["# Set seed for reproducibility\n","same_seed(config['seed'])\n","\n","\n","# train_data size: 2699 x 118 (id + 37 states + 16 features x 5 days) \n","# test_data size: 1078 x 117 (without last day's positive rate)\n","train_data, test_data = pd.read_csv('./covid.train.csv').values, pd.read_csv('./covid.test.csv').values\n","train_data, valid_data = train_valid_split(train_data, config['valid_ratio'], config['seed'])\n","\n","# Print out the data size.\n","print(f\"\"\"train_data size: {train_data.shape} \n","valid_data size: {valid_data.shape} \n","test_data size: {test_data.shape}\"\"\")\n","\n","# Select features\n","x_train, x_valid, x_test, y_train, y_valid = select_feat(train_data, valid_data, test_data, config['select_all'])\n","\n","# Print out the number of features.\n","print(f'number of features: {x_train.shape[1]}')\n","\n","train_dataset, valid_dataset, test_dataset = COVID19Dataset(x_train, y_train), \\\n"," COVID19Dataset(x_valid, y_valid), \\\n"," COVID19Dataset(x_test)\n","\n","# Pytorch data loader loads pytorch dataset into batches.\n","train_loader = DataLoader(train_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True)\n","valid_loader = DataLoader(valid_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True)\n","test_loader = DataLoader(test_dataset, batch_size=config['batch_size'], shuffle=False, pin_memory=True)"]},{"cell_type":"markdown","metadata":{"id":"0OBYgjCA-YwD"},"source":["# Start training!"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"YdttVRkAfu2t","outputId":"864a1214-e69e-4197-dda0-ce2f6fe07d3c"},"outputs":[{"output_type":"stream","name":"stderr","text":["Epoch [1/3000]: 100%|██████████| 9/9 [00:02<00:00, 3.51it/s, loss=60.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1/3000]: Train loss: 134.2442, Valid loss: 107.2154\n","Saving model with loss 107.215...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [2/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.73it/s, loss=65.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [2/3000]: Train loss: 69.8928, Valid loss: 50.8182\n","Saving model with loss 50.818...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [3/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.78it/s, loss=61.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [3/3000]: Train loss: 48.5299, Valid loss: 39.1162\n","Saving model with loss 39.116...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [4/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.48it/s, loss=42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [4/3000]: Train loss: 39.2690, Valid loss: 39.9758\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [5/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.07it/s, loss=37.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [5/3000]: Train loss: 34.3680, Valid loss: 34.5855\n","Saving model with loss 34.586...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [6/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.92it/s, loss=35.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [6/3000]: Train loss: 32.7019, Valid loss: 34.4896\n","Saving model with loss 34.490...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [7/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.79it/s, loss=30.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [7/3000]: Train loss: 31.6557, Valid loss: 32.7823\n","Saving model with loss 32.782...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [8/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.05it/s, loss=31.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [8/3000]: Train loss: 31.0152, Valid loss: 28.5507\n","Saving model with loss 28.551...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [9/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.43it/s, loss=28.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [9/3000]: Train loss: 30.0828, Valid loss: 29.0465\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [10/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.52it/s, loss=30]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [10/3000]: Train loss: 29.1485, Valid loss: 29.9683\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [11/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.94it/s, loss=30.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [11/3000]: Train loss: 27.2044, Valid loss: 34.4240\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [12/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.10it/s, loss=28.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [12/3000]: Train loss: 30.4587, Valid loss: 30.5449\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [13/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.05it/s, loss=26.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [13/3000]: Train loss: 28.8501, Valid loss: 38.8159\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [14/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.25it/s, loss=25.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [14/3000]: Train loss: 30.4944, Valid loss: 23.6367\n","Saving model with loss 23.637...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [15/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.22it/s, loss=20]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [15/3000]: Train loss: 22.0876, Valid loss: 21.6634\n","Saving model with loss 21.663...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [16/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.33it/s, loss=27.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [16/3000]: Train loss: 21.9709, Valid loss: 21.4196\n","Saving model with loss 21.420...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [17/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.51it/s, loss=18.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [17/3000]: Train loss: 18.8819, Valid loss: 17.4513\n","Saving model with loss 17.451...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [18/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.76it/s, loss=16.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [18/3000]: Train loss: 19.4507, Valid loss: 16.2923\n","Saving model with loss 16.292...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [19/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.55it/s, loss=18.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [19/3000]: Train loss: 17.1157, Valid loss: 12.4208\n","Saving model with loss 12.421...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [20/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.15it/s, loss=16.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [20/3000]: Train loss: 14.4298, Valid loss: 12.4150\n","Saving model with loss 12.415...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [21/3000]: 100%|██████████| 9/9 [00:00<00:00, 56.46it/s, loss=11.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [21/3000]: Train loss: 12.4320, Valid loss: 10.2074\n","Saving model with loss 10.207...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [22/3000]: 100%|██████████| 9/9 [00:00<00:00, 53.86it/s, loss=8.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [22/3000]: Train loss: 9.8818, Valid loss: 8.9815\n","Saving model with loss 8.982...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [23/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.82it/s, loss=9.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [23/3000]: Train loss: 9.4202, Valid loss: 8.1944\n","Saving model with loss 8.194...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [24/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.29it/s, loss=5.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [24/3000]: Train loss: 9.9787, Valid loss: 11.8254\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [25/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.85it/s, loss=11.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [25/3000]: Train loss: 13.3498, Valid loss: 18.9990\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [26/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.09it/s, loss=33.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [26/3000]: Train loss: 32.1958, Valid loss: 16.0473\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [27/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.65it/s, loss=12.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [27/3000]: Train loss: 22.0563, Valid loss: 33.8580\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [28/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.02it/s, loss=12.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [28/3000]: Train loss: 24.0252, Valid loss: 16.7239\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [29/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.78it/s, loss=14.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [29/3000]: Train loss: 16.1765, Valid loss: 16.0472\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [30/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.62it/s, loss=10.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [30/3000]: Train loss: 13.3738, Valid loss: 12.4264\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [31/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.53it/s, loss=9.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [31/3000]: Train loss: 10.5927, Valid loss: 8.4381\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [32/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.14it/s, loss=5.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [32/3000]: Train loss: 8.7088, Valid loss: 7.7009\n","Saving model with loss 7.701...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [33/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.19it/s, loss=7.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [33/3000]: Train loss: 7.5685, Valid loss: 9.8440\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [34/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.50it/s, loss=6.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [34/3000]: Train loss: 6.5751, Valid loss: 6.4251\n","Saving model with loss 6.425...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [35/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.68it/s, loss=5.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [35/3000]: Train loss: 6.4591, Valid loss: 7.3667\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [36/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.18it/s, loss=10.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [36/3000]: Train loss: 8.9118, Valid loss: 5.4373\n","Saving model with loss 5.437...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [37/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.66it/s, loss=12.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [37/3000]: Train loss: 11.4654, Valid loss: 11.2931\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [38/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.60it/s, loss=15.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [38/3000]: Train loss: 10.1454, Valid loss: 10.1152\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [39/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.95it/s, loss=8.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [39/3000]: Train loss: 7.9754, Valid loss: 5.3838\n","Saving model with loss 5.384...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [40/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.97it/s, loss=5.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [40/3000]: Train loss: 5.9771, Valid loss: 7.2963\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [41/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.22it/s, loss=6.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [41/3000]: Train loss: 9.5937, Valid loss: 5.5865\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [42/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.19it/s, loss=6.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [42/3000]: Train loss: 6.1208, Valid loss: 5.6068\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [43/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.79it/s, loss=8.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [43/3000]: Train loss: 6.5059, Valid loss: 5.4390\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [44/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.68it/s, loss=6.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [44/3000]: Train loss: 8.7822, Valid loss: 6.1507\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [45/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.89it/s, loss=5.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [45/3000]: Train loss: 5.7645, Valid loss: 5.8273\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [46/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.09it/s, loss=6.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [46/3000]: Train loss: 6.5125, Valid loss: 5.7721\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [47/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.44it/s, loss=10.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [47/3000]: Train loss: 7.8976, Valid loss: 10.6389\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [48/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.76it/s, loss=5.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [48/3000]: Train loss: 6.8367, Valid loss: 5.6704\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [49/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.62it/s, loss=5.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [49/3000]: Train loss: 5.7062, Valid loss: 5.0708\n","Saving model with loss 5.071...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [50/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.23it/s, loss=5.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [50/3000]: Train loss: 5.2814, Valid loss: 5.3736\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [51/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.16it/s, loss=7.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [51/3000]: Train loss: 7.2379, Valid loss: 5.4500\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [52/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.25it/s, loss=9.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [52/3000]: Train loss: 6.0749, Valid loss: 5.2415\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [53/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.91it/s, loss=7.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [53/3000]: Train loss: 5.5730, Valid loss: 5.9925\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [54/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.17it/s, loss=6.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [54/3000]: Train loss: 6.3573, Valid loss: 6.8643\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [55/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.36it/s, loss=6.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [55/3000]: Train loss: 5.5011, Valid loss: 5.3129\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [56/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.00it/s, loss=5.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [56/3000]: Train loss: 5.5338, Valid loss: 4.9076\n","Saving model with loss 4.908...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [57/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.47it/s, loss=5.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [57/3000]: Train loss: 5.2906, Valid loss: 7.1043\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [58/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.70it/s, loss=9.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [58/3000]: Train loss: 8.1648, Valid loss: 6.4059\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [59/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.50it/s, loss=7.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [59/3000]: Train loss: 6.8555, Valid loss: 8.4045\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [60/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.47it/s, loss=3.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [60/3000]: Train loss: 5.8161, Valid loss: 5.4324\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [61/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.92it/s, loss=7.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [61/3000]: Train loss: 6.1007, Valid loss: 5.6772\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [62/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.78it/s, loss=6.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [62/3000]: Train loss: 6.2688, Valid loss: 11.8861\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [63/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.84it/s, loss=16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [63/3000]: Train loss: 9.3666, Valid loss: 5.2015\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [64/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.71it/s, loss=15.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [64/3000]: Train loss: 9.7231, Valid loss: 9.9735\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [65/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.73it/s, loss=20]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [65/3000]: Train loss: 16.2965, Valid loss: 9.9444\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [66/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.92it/s, loss=10]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [66/3000]: Train loss: 11.0266, Valid loss: 9.3559\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [67/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.45it/s, loss=11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [67/3000]: Train loss: 9.7844, Valid loss: 7.1001\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [68/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.27it/s, loss=8.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [68/3000]: Train loss: 7.4477, Valid loss: 7.6549\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [69/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.92it/s, loss=6.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [69/3000]: Train loss: 6.2854, Valid loss: 6.9688\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [70/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.71it/s, loss=4.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [70/3000]: Train loss: 5.5861, Valid loss: 4.4508\n","Saving model with loss 4.451...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [71/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.76it/s, loss=8.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [71/3000]: Train loss: 5.8853, Valid loss: 4.8953\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [72/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.10it/s, loss=6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [72/3000]: Train loss: 5.3305, Valid loss: 6.5556\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [73/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.83it/s, loss=7.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [73/3000]: Train loss: 5.5661, Valid loss: 6.9747\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [74/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.91it/s, loss=4.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [74/3000]: Train loss: 5.2628, Valid loss: 4.5224\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [75/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.90it/s, loss=4.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [75/3000]: Train loss: 5.0282, Valid loss: 4.4667\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [76/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.36it/s, loss=5.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [76/3000]: Train loss: 5.2533, Valid loss: 5.5808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [77/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.42it/s, loss=4.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [77/3000]: Train loss: 8.2466, Valid loss: 10.7261\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [78/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.95it/s, loss=3.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [78/3000]: Train loss: 7.2868, Valid loss: 8.4281\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [79/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.58it/s, loss=5.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [79/3000]: Train loss: 6.9504, Valid loss: 5.3363\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [80/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.66it/s, loss=6.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [80/3000]: Train loss: 5.2380, Valid loss: 5.6747\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [81/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.48it/s, loss=6.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [81/3000]: Train loss: 5.5891, Valid loss: 5.6174\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [82/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.62it/s, loss=6.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [82/3000]: Train loss: 5.4303, Valid loss: 5.1562\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [83/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.79it/s, loss=4.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [83/3000]: Train loss: 4.9677, Valid loss: 6.0496\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [84/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.99it/s, loss=5.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [84/3000]: Train loss: 5.7508, Valid loss: 6.0604\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [85/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.02it/s, loss=5.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [85/3000]: Train loss: 5.2115, Valid loss: 4.5274\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [86/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.71it/s, loss=5.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [86/3000]: Train loss: 5.0080, Valid loss: 4.9097\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [87/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.67it/s, loss=7.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [87/3000]: Train loss: 5.0228, Valid loss: 4.6723\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [88/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.62it/s, loss=3.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [88/3000]: Train loss: 5.2372, Valid loss: 7.8722\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [89/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.84it/s, loss=7.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [89/3000]: Train loss: 6.7827, Valid loss: 5.7613\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [90/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.93it/s, loss=6.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [90/3000]: Train loss: 6.0041, Valid loss: 4.9902\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [91/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.06it/s, loss=8.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [91/3000]: Train loss: 6.8558, Valid loss: 5.1602\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [92/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.00it/s, loss=6.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [92/3000]: Train loss: 6.2335, Valid loss: 5.1861\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [93/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.46it/s, loss=5.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [93/3000]: Train loss: 6.4318, Valid loss: 4.8951\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [94/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.74it/s, loss=4.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [94/3000]: Train loss: 4.6933, Valid loss: 4.9935\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [95/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.68it/s, loss=5.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [95/3000]: Train loss: 4.9823, Valid loss: 4.8480\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [96/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.71it/s, loss=4.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [96/3000]: Train loss: 4.9856, Valid loss: 5.4775\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [97/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.41it/s, loss=6.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [97/3000]: Train loss: 5.0282, Valid loss: 7.7357\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [98/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.02it/s, loss=9.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [98/3000]: Train loss: 6.3964, Valid loss: 12.3827\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [99/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.92it/s, loss=9.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [99/3000]: Train loss: 7.8921, Valid loss: 8.9927\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [100/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.72it/s, loss=5.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [100/3000]: Train loss: 6.4389, Valid loss: 4.3409\n","Saving model with loss 4.341...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [101/3000]: 100%|██████████| 9/9 [00:00<00:00, 36.45it/s, loss=5.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [101/3000]: Train loss: 5.6297, Valid loss: 5.6269\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [102/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.79it/s, loss=5.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [102/3000]: Train loss: 5.0151, Valid loss: 5.7860\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [103/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.62it/s, loss=9.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [103/3000]: Train loss: 5.8818, Valid loss: 5.3487\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [104/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.28it/s, loss=5.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [104/3000]: Train loss: 8.1942, Valid loss: 9.5055\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [105/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.39it/s, loss=5.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [105/3000]: Train loss: 5.7229, Valid loss: 6.1507\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [106/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.74it/s, loss=6.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [106/3000]: Train loss: 4.7533, Valid loss: 8.4970\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [107/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.22it/s, loss=11.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [107/3000]: Train loss: 8.5811, Valid loss: 13.7362\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [108/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.86it/s, loss=7.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [108/3000]: Train loss: 10.3410, Valid loss: 9.2626\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [109/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.38it/s, loss=6.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [109/3000]: Train loss: 9.2514, Valid loss: 16.0276\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [110/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.22it/s, loss=15.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [110/3000]: Train loss: 10.0316, Valid loss: 4.5253\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [111/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.53it/s, loss=9.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [111/3000]: Train loss: 8.9933, Valid loss: 5.1573\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [112/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.76it/s, loss=3.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [112/3000]: Train loss: 5.0132, Valid loss: 6.8230\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [113/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.89it/s, loss=4.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [113/3000]: Train loss: 4.7149, Valid loss: 5.0164\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [114/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.68it/s, loss=8.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [114/3000]: Train loss: 5.5852, Valid loss: 5.0920\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [115/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.54it/s, loss=5.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [115/3000]: Train loss: 5.0552, Valid loss: 4.2040\n","Saving model with loss 4.204...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [116/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.79it/s, loss=5.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [116/3000]: Train loss: 4.7343, Valid loss: 6.2218\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [117/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.19it/s, loss=6.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [117/3000]: Train loss: 5.6630, Valid loss: 5.0344\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [118/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.08it/s, loss=11.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [118/3000]: Train loss: 7.4919, Valid loss: 8.8715\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [119/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.22it/s, loss=9.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [119/3000]: Train loss: 7.9488, Valid loss: 8.0967\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [120/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.15it/s, loss=7.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [120/3000]: Train loss: 7.1190, Valid loss: 7.2470\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [121/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.88it/s, loss=4.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [121/3000]: Train loss: 6.2364, Valid loss: 4.7989\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [122/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.83it/s, loss=3.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [122/3000]: Train loss: 4.7021, Valid loss: 4.3818\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [123/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.56it/s, loss=6.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [123/3000]: Train loss: 4.8892, Valid loss: 4.0485\n","Saving model with loss 4.048...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [124/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.38it/s, loss=3.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [124/3000]: Train loss: 4.7228, Valid loss: 5.2480\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [125/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.83it/s, loss=5.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [125/3000]: Train loss: 4.7390, Valid loss: 5.5564\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [126/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.43it/s, loss=6.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [126/3000]: Train loss: 5.5245, Valid loss: 4.2328\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [127/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.37it/s, loss=6.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [127/3000]: Train loss: 5.1780, Valid loss: 4.1613\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [128/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.82it/s, loss=4.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [128/3000]: Train loss: 5.0525, Valid loss: 8.7827\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [129/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.39it/s, loss=3.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [129/3000]: Train loss: 6.6621, Valid loss: 4.4047\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [130/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.37it/s, loss=5.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [130/3000]: Train loss: 5.3509, Valid loss: 6.7665\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [131/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.72it/s, loss=6.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [131/3000]: Train loss: 6.1347, Valid loss: 5.3160\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [132/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.96it/s, loss=4.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [132/3000]: Train loss: 4.7012, Valid loss: 4.3805\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [133/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.56it/s, loss=5.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [133/3000]: Train loss: 4.7215, Valid loss: 4.4664\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [134/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.91it/s, loss=6.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [134/3000]: Train loss: 4.9867, Valid loss: 4.1537\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [135/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.76it/s, loss=5.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [135/3000]: Train loss: 4.7668, Valid loss: 4.8251\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [136/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.98it/s, loss=4.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [136/3000]: Train loss: 4.3274, Valid loss: 5.3113\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [137/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.42it/s, loss=3.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [137/3000]: Train loss: 4.1863, Valid loss: 3.9598\n","Saving model with loss 3.960...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [138/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.34it/s, loss=4.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [138/3000]: Train loss: 4.5788, Valid loss: 4.3185\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [139/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.43it/s, loss=5.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [139/3000]: Train loss: 4.4785, Valid loss: 4.2048\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [140/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.01it/s, loss=4.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [140/3000]: Train loss: 4.8288, Valid loss: 4.2352\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [141/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.65it/s, loss=4.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [141/3000]: Train loss: 4.3181, Valid loss: 4.0168\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [142/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.01it/s, loss=4.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [142/3000]: Train loss: 4.7471, Valid loss: 4.9416\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [143/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.48it/s, loss=4.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [143/3000]: Train loss: 4.9457, Valid loss: 4.4161\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [144/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.84it/s, loss=8.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [144/3000]: Train loss: 4.8698, Valid loss: 4.8862\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [145/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.72it/s, loss=5.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [145/3000]: Train loss: 5.0283, Valid loss: 6.0260\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [146/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.84it/s, loss=6.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [146/3000]: Train loss: 4.9807, Valid loss: 6.3077\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [147/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.21it/s, loss=5.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [147/3000]: Train loss: 5.4250, Valid loss: 6.9116\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [148/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.57it/s, loss=5.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [148/3000]: Train loss: 6.6490, Valid loss: 5.8872\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [149/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.99it/s, loss=5.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [149/3000]: Train loss: 4.7447, Valid loss: 4.0451\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [150/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.15it/s, loss=4.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [150/3000]: Train loss: 4.1997, Valid loss: 4.3530\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [151/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.87it/s, loss=3.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [151/3000]: Train loss: 4.1187, Valid loss: 3.9976\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [152/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.53it/s, loss=3.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [152/3000]: Train loss: 4.5858, Valid loss: 5.1132\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [153/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.20it/s, loss=5.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [153/3000]: Train loss: 4.7696, Valid loss: 4.2695\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [154/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.57it/s, loss=5.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [154/3000]: Train loss: 4.4546, Valid loss: 4.9587\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [155/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.45it/s, loss=4.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [155/3000]: Train loss: 4.4625, Valid loss: 4.0940\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [156/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.91it/s, loss=3.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [156/3000]: Train loss: 4.5735, Valid loss: 3.9244\n","Saving model with loss 3.924...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [157/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.69it/s, loss=4.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [157/3000]: Train loss: 4.6392, Valid loss: 3.9679\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [158/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.69it/s, loss=4.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [158/3000]: Train loss: 4.2545, Valid loss: 3.8743\n","Saving model with loss 3.874...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [159/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.85it/s, loss=2.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [159/3000]: Train loss: 4.0276, Valid loss: 4.2865\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [160/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.12it/s, loss=3.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [160/3000]: Train loss: 4.6547, Valid loss: 4.5539\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [161/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.48it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [161/3000]: Train loss: 4.4779, Valid loss: 6.3560\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [162/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.76it/s, loss=4.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [162/3000]: Train loss: 5.1291, Valid loss: 3.7049\n","Saving model with loss 3.705...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [163/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.54it/s, loss=5.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [163/3000]: Train loss: 4.6142, Valid loss: 4.3763\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [164/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.74it/s, loss=3.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [164/3000]: Train loss: 4.1758, Valid loss: 3.8802\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [165/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.18it/s, loss=2.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [165/3000]: Train loss: 5.1900, Valid loss: 6.8408\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [166/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.46it/s, loss=6.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [166/3000]: Train loss: 4.9200, Valid loss: 4.0806\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [167/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.83it/s, loss=7.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [167/3000]: Train loss: 5.0129, Valid loss: 3.6053\n","Saving model with loss 3.605...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [168/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.21it/s, loss=3.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [168/3000]: Train loss: 5.2935, Valid loss: 6.0032\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [169/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.07it/s, loss=5.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [169/3000]: Train loss: 5.1583, Valid loss: 3.4403\n","Saving model with loss 3.440...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [170/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.96it/s, loss=3.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [170/3000]: Train loss: 5.0289, Valid loss: 4.1749\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [171/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.15it/s, loss=4.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [171/3000]: Train loss: 3.9826, Valid loss: 6.5205\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [172/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.09it/s, loss=4.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [172/3000]: Train loss: 4.3278, Valid loss: 4.3774\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [173/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.51it/s, loss=4.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [173/3000]: Train loss: 4.0427, Valid loss: 4.1318\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [174/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.77it/s, loss=4.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [174/3000]: Train loss: 4.4056, Valid loss: 4.5461\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [175/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.42it/s, loss=3.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [175/3000]: Train loss: 4.3563, Valid loss: 3.5622\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [176/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.96it/s, loss=3.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [176/3000]: Train loss: 3.9047, Valid loss: 3.8109\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [177/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.03it/s, loss=5.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [177/3000]: Train loss: 4.0716, Valid loss: 4.5546\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [178/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.47it/s, loss=3.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [178/3000]: Train loss: 3.8638, Valid loss: 3.9721\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [179/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.42it/s, loss=5.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [179/3000]: Train loss: 4.3446, Valid loss: 4.0761\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [180/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.13it/s, loss=4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [180/3000]: Train loss: 4.1985, Valid loss: 6.3824\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [181/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.97it/s, loss=8.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [181/3000]: Train loss: 6.1550, Valid loss: 3.9348\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [182/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.01it/s, loss=8.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [182/3000]: Train loss: 5.9717, Valid loss: 3.9886\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [183/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.58it/s, loss=3.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [183/3000]: Train loss: 4.8822, Valid loss: 5.6737\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [184/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.58it/s, loss=4.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [184/3000]: Train loss: 3.9290, Valid loss: 5.9611\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [185/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.71it/s, loss=4.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [185/3000]: Train loss: 4.8483, Valid loss: 3.7475\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [186/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.85it/s, loss=3.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [186/3000]: Train loss: 4.4228, Valid loss: 4.6504\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [187/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.02it/s, loss=4.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [187/3000]: Train loss: 3.9548, Valid loss: 3.6585\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [188/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.94it/s, loss=4.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [188/3000]: Train loss: 3.8721, Valid loss: 3.9798\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [189/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.94it/s, loss=4.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [189/3000]: Train loss: 4.0171, Valid loss: 3.4131\n","Saving model with loss 3.413...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [190/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.30it/s, loss=3.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [190/3000]: Train loss: 3.6938, Valid loss: 4.1580\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [191/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.11it/s, loss=4.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [191/3000]: Train loss: 3.9996, Valid loss: 3.4940\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [192/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.16it/s, loss=3.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [192/3000]: Train loss: 4.1949, Valid loss: 4.6346\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [193/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.30it/s, loss=3.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [193/3000]: Train loss: 4.9444, Valid loss: 8.2765\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [194/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.44it/s, loss=5.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [194/3000]: Train loss: 5.9377, Valid loss: 7.4225\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [195/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.46it/s, loss=7.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [195/3000]: Train loss: 6.5531, Valid loss: 7.2571\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [196/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.62it/s, loss=4.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [196/3000]: Train loss: 6.5491, Valid loss: 7.2811\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [197/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.34it/s, loss=11.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [197/3000]: Train loss: 8.1468, Valid loss: 8.3875\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [198/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.00it/s, loss=6.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [198/3000]: Train loss: 6.5703, Valid loss: 7.1935\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [199/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.93it/s, loss=4.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [199/3000]: Train loss: 4.4460, Valid loss: 3.4754\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [200/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.38it/s, loss=3.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [200/3000]: Train loss: 3.6791, Valid loss: 3.6701\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [201/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.69it/s, loss=3.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [201/3000]: Train loss: 3.7644, Valid loss: 3.9912\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [202/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.69it/s, loss=5.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [202/3000]: Train loss: 3.9099, Valid loss: 4.2044\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [203/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.70it/s, loss=4.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [203/3000]: Train loss: 3.6676, Valid loss: 5.5986\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [204/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.10it/s, loss=3.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [204/3000]: Train loss: 4.9000, Valid loss: 3.5194\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [205/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.27it/s, loss=4.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [205/3000]: Train loss: 3.6632, Valid loss: 3.3738\n","Saving model with loss 3.374...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [206/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.04it/s, loss=2.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [206/3000]: Train loss: 3.5304, Valid loss: 5.9122\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [207/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.52it/s, loss=5.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [207/3000]: Train loss: 5.4523, Valid loss: 3.5001\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [208/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.20it/s, loss=4.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [208/3000]: Train loss: 4.6917, Valid loss: 4.8013\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [209/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.44it/s, loss=4.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [209/3000]: Train loss: 4.3004, Valid loss: 3.5578\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [210/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.66it/s, loss=3.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [210/3000]: Train loss: 3.5338, Valid loss: 3.5734\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [211/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.31it/s, loss=4.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [211/3000]: Train loss: 3.7495, Valid loss: 3.3519\n","Saving model with loss 3.352...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [212/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.66it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [212/3000]: Train loss: 3.6416, Valid loss: 4.0881\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [213/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.45it/s, loss=3.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [213/3000]: Train loss: 3.5650, Valid loss: 3.7518\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [214/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.32it/s, loss=3.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [214/3000]: Train loss: 3.4926, Valid loss: 4.2678\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [215/3000]: 100%|██████████| 9/9 [00:00<00:00, 39.99it/s, loss=4.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [215/3000]: Train loss: 3.8258, Valid loss: 4.2703\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [216/3000]: 100%|██████████| 9/9 [00:00<00:00, 47.28it/s, loss=4.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [216/3000]: Train loss: 3.6890, Valid loss: 4.3295\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [217/3000]: 100%|██████████| 9/9 [00:00<00:00, 47.02it/s, loss=4.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [217/3000]: Train loss: 3.8726, Valid loss: 3.7328\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [218/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.71it/s, loss=5.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [218/3000]: Train loss: 4.1992, Valid loss: 3.3399\n","Saving model with loss 3.340...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [219/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.00it/s, loss=3.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [219/3000]: Train loss: 4.4095, Valid loss: 5.0709\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [220/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.03it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [220/3000]: Train loss: 4.1126, Valid loss: 3.9341\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [221/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.06it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [221/3000]: Train loss: 3.4783, Valid loss: 3.4383\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [222/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.55it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [222/3000]: Train loss: 3.5582, Valid loss: 3.0444\n","Saving model with loss 3.044...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [223/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.34it/s, loss=3.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [223/3000]: Train loss: 3.4898, Valid loss: 3.8371\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [224/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.19it/s, loss=3.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [224/3000]: Train loss: 4.0799, Valid loss: 4.1598\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [225/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.91it/s, loss=4.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [225/3000]: Train loss: 3.6707, Valid loss: 4.0218\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [226/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.22it/s, loss=4.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [226/3000]: Train loss: 4.8209, Valid loss: 6.3212\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [227/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.42it/s, loss=4.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [227/3000]: Train loss: 5.1429, Valid loss: 2.9458\n","Saving model with loss 2.946...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [228/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.04it/s, loss=7.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [228/3000]: Train loss: 4.6438, Valid loss: 5.4586\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [229/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.50it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [229/3000]: Train loss: 4.6738, Valid loss: 5.0494\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [230/3000]: 100%|██████████| 9/9 [00:00<00:00, 60.22it/s, loss=3.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [230/3000]: Train loss: 4.0212, Valid loss: 4.3414\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [231/3000]: 100%|██████████| 9/9 [00:00<00:00, 39.97it/s, loss=3.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [231/3000]: Train loss: 4.1219, Valid loss: 3.3806\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [232/3000]: 100%|██████████| 9/9 [00:00<00:00, 54.45it/s, loss=4.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [232/3000]: Train loss: 4.5933, Valid loss: 4.8276\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [233/3000]: 100%|██████████| 9/9 [00:00<00:00, 49.07it/s, loss=3.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [233/3000]: Train loss: 3.7843, Valid loss: 2.9574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [234/3000]: 100%|██████████| 9/9 [00:00<00:00, 56.39it/s, loss=4.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [234/3000]: Train loss: 3.4174, Valid loss: 3.9382\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [235/3000]: 100%|██████████| 9/9 [00:00<00:00, 46.62it/s, loss=3.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [235/3000]: Train loss: 4.3026, Valid loss: 6.3384\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [236/3000]: 100%|██████████| 9/9 [00:00<00:00, 52.46it/s, loss=4.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [236/3000]: Train loss: 4.3730, Valid loss: 4.6402\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [237/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.20it/s, loss=3.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [237/3000]: Train loss: 3.6237, Valid loss: 2.8956\n","Saving model with loss 2.896...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [238/3000]: 100%|██████████| 9/9 [00:00<00:00, 57.56it/s, loss=4.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [238/3000]: Train loss: 3.8093, Valid loss: 4.0464\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [239/3000]: 100%|██████████| 9/9 [00:00<00:00, 42.56it/s, loss=4.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [239/3000]: Train loss: 4.1029, Valid loss: 3.7426\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [240/3000]: 100%|██████████| 9/9 [00:00<00:00, 53.41it/s, loss=3.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [240/3000]: Train loss: 5.0146, Valid loss: 9.4341\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [241/3000]: 100%|██████████| 9/9 [00:00<00:00, 42.03it/s, loss=3.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [241/3000]: Train loss: 4.9201, Valid loss: 3.0731\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [242/3000]: 100%|██████████| 9/9 [00:00<00:00, 61.58it/s, loss=3.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [242/3000]: Train loss: 3.4346, Valid loss: 3.6923\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [243/3000]: 100%|██████████| 9/9 [00:00<00:00, 45.81it/s, loss=3.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [243/3000]: Train loss: 3.5190, Valid loss: 3.2713\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [244/3000]: 100%|██████████| 9/9 [00:00<00:00, 37.23it/s, loss=3.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [244/3000]: Train loss: 3.3508, Valid loss: 3.1727\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [245/3000]: 100%|██████████| 9/9 [00:00<00:00, 48.68it/s, loss=3.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [245/3000]: Train loss: 3.3315, Valid loss: 3.6895\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [246/3000]: 100%|██████████| 9/9 [00:00<00:00, 53.66it/s, loss=4.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [246/3000]: Train loss: 3.3921, Valid loss: 4.2456\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [247/3000]: 100%|██████████| 9/9 [00:00<00:00, 40.07it/s, loss=3.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [247/3000]: Train loss: 4.2760, Valid loss: 6.1583\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [248/3000]: 100%|██████████| 9/9 [00:00<00:00, 56.22it/s, loss=4.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [248/3000]: Train loss: 4.9837, Valid loss: 3.3405\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [249/3000]: 100%|██████████| 9/9 [00:00<00:00, 60.56it/s, loss=3.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [249/3000]: Train loss: 4.7788, Valid loss: 4.9403\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [250/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.86it/s, loss=3.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [250/3000]: Train loss: 3.6472, Valid loss: 3.8557\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [251/3000]: 100%|██████████| 9/9 [00:00<00:00, 61.47it/s, loss=3.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [251/3000]: Train loss: 3.3906, Valid loss: 3.0172\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [252/3000]: 100%|██████████| 9/9 [00:00<00:00, 48.02it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [252/3000]: Train loss: 3.2192, Valid loss: 3.5355\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [253/3000]: 100%|██████████| 9/9 [00:00<00:00, 62.48it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [253/3000]: Train loss: 3.4683, Valid loss: 4.1498\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [254/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.70it/s, loss=3.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [254/3000]: Train loss: 3.6597, Valid loss: 3.3394\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [255/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.74it/s, loss=3.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [255/3000]: Train loss: 3.3103, Valid loss: 3.5301\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [256/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.83it/s, loss=3.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [256/3000]: Train loss: 3.4361, Valid loss: 3.0123\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [257/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.95it/s, loss=3.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [257/3000]: Train loss: 3.4800, Valid loss: 3.8175\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [258/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.40it/s, loss=3.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [258/3000]: Train loss: 3.8395, Valid loss: 2.5276\n","Saving model with loss 2.528...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [259/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.10it/s, loss=3.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [259/3000]: Train loss: 4.3030, Valid loss: 3.0591\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [260/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.55it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [260/3000]: Train loss: 3.4950, Valid loss: 4.2664\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [261/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.29it/s, loss=3.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [261/3000]: Train loss: 3.9587, Valid loss: 3.4317\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [262/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.93it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [262/3000]: Train loss: 3.2323, Valid loss: 4.4916\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [263/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.62it/s, loss=2.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [263/3000]: Train loss: 3.4952, Valid loss: 3.2968\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [264/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.32it/s, loss=3.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [264/3000]: Train loss: 3.3283, Valid loss: 3.4397\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [265/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.29it/s, loss=3.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [265/3000]: Train loss: 4.5021, Valid loss: 4.9784\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [266/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.83it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [266/3000]: Train loss: 3.7076, Valid loss: 3.7710\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [267/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.47it/s, loss=3.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [267/3000]: Train loss: 3.4497, Valid loss: 2.8816\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [268/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.26it/s, loss=5.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [268/3000]: Train loss: 3.5112, Valid loss: 8.4790\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [269/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.92it/s, loss=5.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [269/3000]: Train loss: 4.1863, Valid loss: 3.1717\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [270/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.99it/s, loss=5.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [270/3000]: Train loss: 4.0492, Valid loss: 4.3236\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [271/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.42it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [271/3000]: Train loss: 3.7381, Valid loss: 4.1159\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [272/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.83it/s, loss=5.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [272/3000]: Train loss: 3.7223, Valid loss: 3.6569\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [273/3000]: 100%|██████████| 9/9 [00:00<00:00, 50.84it/s, loss=2.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [273/3000]: Train loss: 3.1746, Valid loss: 2.7714\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [274/3000]: 100%|██████████| 9/9 [00:00<00:00, 42.52it/s, loss=3.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [274/3000]: Train loss: 3.4894, Valid loss: 2.7665\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [275/3000]: 100%|██████████| 9/9 [00:00<00:00, 46.02it/s, loss=3.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [275/3000]: Train loss: 3.2404, Valid loss: 3.3999\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [276/3000]: 100%|██████████| 9/9 [00:00<00:00, 40.83it/s, loss=4.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [276/3000]: Train loss: 4.5767, Valid loss: 3.9863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [277/3000]: 100%|██████████| 9/9 [00:00<00:00, 42.10it/s, loss=3.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [277/3000]: Train loss: 3.4395, Valid loss: 3.6469\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [278/3000]: 100%|██████████| 9/9 [00:00<00:00, 58.94it/s, loss=2.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [278/3000]: Train loss: 3.5752, Valid loss: 2.9786\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [279/3000]: 100%|██████████| 9/9 [00:00<00:00, 57.29it/s, loss=4.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [279/3000]: Train loss: 3.2304, Valid loss: 3.0359\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [280/3000]: 100%|██████████| 9/9 [00:00<00:00, 40.36it/s, loss=3.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [280/3000]: Train loss: 3.8118, Valid loss: 5.9162\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [281/3000]: 100%|██████████| 9/9 [00:00<00:00, 39.93it/s, loss=6.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [281/3000]: Train loss: 5.5708, Valid loss: 6.5362\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [282/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.38it/s, loss=5.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [282/3000]: Train loss: 6.4286, Valid loss: 7.8136\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [283/3000]: 100%|██████████| 9/9 [00:00<00:00, 40.07it/s, loss=4.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [283/3000]: Train loss: 4.8939, Valid loss: 3.3537\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [284/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.86it/s, loss=11.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [284/3000]: Train loss: 5.8876, Valid loss: 2.9153\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [285/3000]: 100%|██████████| 9/9 [00:00<00:00, 51.43it/s, loss=3.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [285/3000]: Train loss: 5.0978, Valid loss: 4.6149\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [286/3000]: 100%|██████████| 9/9 [00:00<00:00, 50.02it/s, loss=3.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [286/3000]: Train loss: 3.9952, Valid loss: 3.8707\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [287/3000]: 100%|██████████| 9/9 [00:00<00:00, 43.43it/s, loss=2.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [287/3000]: Train loss: 3.4296, Valid loss: 3.3218\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [288/3000]: 100%|██████████| 9/9 [00:00<00:00, 48.90it/s, loss=3.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [288/3000]: Train loss: 3.4757, Valid loss: 3.5550\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [289/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.57it/s, loss=3.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [289/3000]: Train loss: 3.1907, Valid loss: 5.4147\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [290/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.55it/s, loss=5.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [290/3000]: Train loss: 4.1561, Valid loss: 5.1818\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [291/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.54it/s, loss=2.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [291/3000]: Train loss: 3.7913, Valid loss: 3.6906\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [292/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.15it/s, loss=4.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [292/3000]: Train loss: 4.0492, Valid loss: 4.1079\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [293/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.29it/s, loss=5.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [293/3000]: Train loss: 3.9136, Valid loss: 3.4841\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [294/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.73it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [294/3000]: Train loss: 3.2029, Valid loss: 3.7437\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [295/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.85it/s, loss=4.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [295/3000]: Train loss: 4.0350, Valid loss: 3.2916\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [296/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.62it/s, loss=2.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [296/3000]: Train loss: 3.3533, Valid loss: 2.6893\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [297/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.09it/s, loss=4.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [297/3000]: Train loss: 3.4227, Valid loss: 3.9507\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [298/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.00it/s, loss=2.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [298/3000]: Train loss: 3.6680, Valid loss: 2.9965\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [299/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.12it/s, loss=3.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [299/3000]: Train loss: 2.9809, Valid loss: 3.4871\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [300/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.82it/s, loss=3.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [300/3000]: Train loss: 3.3157, Valid loss: 2.6141\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [301/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.34it/s, loss=2.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [301/3000]: Train loss: 3.1305, Valid loss: 3.2472\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [302/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.06it/s, loss=2.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [302/3000]: Train loss: 3.0435, Valid loss: 3.5501\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [303/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.38it/s, loss=2.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [303/3000]: Train loss: 3.1173, Valid loss: 3.2593\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [304/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.42it/s, loss=3.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [304/3000]: Train loss: 3.1487, Valid loss: 3.2269\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [305/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.91it/s, loss=3.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [305/3000]: Train loss: 3.1107, Valid loss: 4.1307\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [306/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.55it/s, loss=5.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [306/3000]: Train loss: 3.8624, Valid loss: 7.0359\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [307/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.13it/s, loss=4.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [307/3000]: Train loss: 4.0011, Valid loss: 3.4742\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [308/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.09it/s, loss=2.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [308/3000]: Train loss: 3.2856, Valid loss: 4.5149\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [309/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.15it/s, loss=3.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [309/3000]: Train loss: 4.3294, Valid loss: 2.7490\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [310/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.25it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [310/3000]: Train loss: 3.6393, Valid loss: 7.6842\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [311/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.90it/s, loss=8.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [311/3000]: Train loss: 5.5008, Valid loss: 4.4912\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [312/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.73it/s, loss=3.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [312/3000]: Train loss: 3.7752, Valid loss: 3.5605\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [313/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.64it/s, loss=3.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [313/3000]: Train loss: 3.1032, Valid loss: 2.7339\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [314/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.07it/s, loss=4.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [314/3000]: Train loss: 4.0669, Valid loss: 4.9895\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [315/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.55it/s, loss=3.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [315/3000]: Train loss: 3.3604, Valid loss: 2.6040\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [316/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.79it/s, loss=4.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [316/3000]: Train loss: 3.1595, Valid loss: 4.4552\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [317/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.01it/s, loss=3.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [317/3000]: Train loss: 3.7944, Valid loss: 5.0003\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [318/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.91it/s, loss=3.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [318/3000]: Train loss: 3.3974, Valid loss: 2.9101\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [319/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.47it/s, loss=4.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [319/3000]: Train loss: 3.1737, Valid loss: 2.8386\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [320/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.81it/s, loss=4.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [320/3000]: Train loss: 3.1526, Valid loss: 2.4730\n","Saving model with loss 2.473...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [321/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.42it/s, loss=4.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [321/3000]: Train loss: 3.4378, Valid loss: 3.7026\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [322/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.44it/s, loss=3.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [322/3000]: Train loss: 3.3329, Valid loss: 2.4137\n","Saving model with loss 2.414...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [323/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.33it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [323/3000]: Train loss: 2.8110, Valid loss: 2.6225\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [324/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.10it/s, loss=3.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [324/3000]: Train loss: 2.8820, Valid loss: 3.2172\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [325/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.29it/s, loss=3.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [325/3000]: Train loss: 3.8495, Valid loss: 5.0202\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [326/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.79it/s, loss=10.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [326/3000]: Train loss: 4.8967, Valid loss: 5.8372\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [327/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.14it/s, loss=6.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [327/3000]: Train loss: 4.9654, Valid loss: 3.6057\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [328/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.86it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [328/3000]: Train loss: 4.2714, Valid loss: 3.4472\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [329/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.90it/s, loss=4.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [329/3000]: Train loss: 3.4928, Valid loss: 4.1994\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [330/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.62it/s, loss=2.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [330/3000]: Train loss: 3.3419, Valid loss: 3.0758\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [331/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.05it/s, loss=3.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [331/3000]: Train loss: 3.3467, Valid loss: 4.1721\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [332/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.30it/s, loss=6.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [332/3000]: Train loss: 3.7445, Valid loss: 2.7762\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [333/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.09it/s, loss=2.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [333/3000]: Train loss: 3.1968, Valid loss: 3.2574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [334/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.77it/s, loss=2.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [334/3000]: Train loss: 3.0888, Valid loss: 3.8165\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [335/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.22it/s, loss=2.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [335/3000]: Train loss: 2.7953, Valid loss: 3.2832\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [336/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.54it/s, loss=2.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [336/3000]: Train loss: 2.8403, Valid loss: 2.9455\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [337/3000]: 100%|██████████| 9/9 [00:00<00:00, 61.13it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [337/3000]: Train loss: 3.2623, Valid loss: 3.9293\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [338/3000]: 100%|██████████| 9/9 [00:00<00:00, 35.14it/s, loss=3.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [338/3000]: Train loss: 3.2274, Valid loss: 3.1271\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [339/3000]: 100%|██████████| 9/9 [00:00<00:00, 60.84it/s, loss=3.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [339/3000]: Train loss: 3.0637, Valid loss: 3.2921\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [340/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.18it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [340/3000]: Train loss: 3.4228, Valid loss: 3.1396\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [341/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.79it/s, loss=2.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [341/3000]: Train loss: 3.2492, Valid loss: 3.3540\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [342/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.61it/s, loss=2.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [342/3000]: Train loss: 3.3362, Valid loss: 7.7144\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [343/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.96it/s, loss=4.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [343/3000]: Train loss: 3.6798, Valid loss: 4.2511\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [344/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.86it/s, loss=4.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [344/3000]: Train loss: 3.2202, Valid loss: 4.3694\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [345/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.19it/s, loss=5.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [345/3000]: Train loss: 4.0447, Valid loss: 3.4016\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [346/3000]: 100%|██████████| 9/9 [00:00<00:00, 29.64it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [346/3000]: Train loss: 3.4655, Valid loss: 2.7713\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [347/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.63it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [347/3000]: Train loss: 2.7256, Valid loss: 2.6298\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [348/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.45it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [348/3000]: Train loss: 3.0849, Valid loss: 4.6719\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [349/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.52it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [349/3000]: Train loss: 3.8688, Valid loss: 4.5862\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [350/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.47it/s, loss=3.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [350/3000]: Train loss: 3.3804, Valid loss: 4.1999\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [351/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.82it/s, loss=4.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [351/3000]: Train loss: 3.3918, Valid loss: 3.7226\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [352/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.22it/s, loss=6.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [352/3000]: Train loss: 5.9444, Valid loss: 4.5500\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [353/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.33it/s, loss=5.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [353/3000]: Train loss: 6.8269, Valid loss: 5.4659\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [354/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.01it/s, loss=3.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [354/3000]: Train loss: 4.2422, Valid loss: 6.6832\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [355/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.60it/s, loss=6.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [355/3000]: Train loss: 6.9264, Valid loss: 7.0664\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [356/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.27it/s, loss=3.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [356/3000]: Train loss: 4.7819, Valid loss: 4.4121\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [357/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.21it/s, loss=3.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [357/3000]: Train loss: 3.3615, Valid loss: 2.7007\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [358/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.92it/s, loss=3.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [358/3000]: Train loss: 2.9294, Valid loss: 4.5442\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [359/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.56it/s, loss=2.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [359/3000]: Train loss: 3.2014, Valid loss: 5.9390\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [360/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.66it/s, loss=3.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [360/3000]: Train loss: 4.2830, Valid loss: 4.8864\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [361/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.76it/s, loss=3.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [361/3000]: Train loss: 3.8395, Valid loss: 3.5155\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [362/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.45it/s, loss=2.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [362/3000]: Train loss: 3.2829, Valid loss: 3.3866\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [363/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.50it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [363/3000]: Train loss: 2.8841, Valid loss: 2.7371\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [364/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.16it/s, loss=2.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [364/3000]: Train loss: 2.7143, Valid loss: 4.2909\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [365/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.90it/s, loss=4.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [365/3000]: Train loss: 3.3546, Valid loss: 4.3713\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [366/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.68it/s, loss=3.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [366/3000]: Train loss: 3.4113, Valid loss: 2.8656\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [367/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.10it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [367/3000]: Train loss: 3.1073, Valid loss: 2.4400\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [368/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.47it/s, loss=3.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [368/3000]: Train loss: 2.6780, Valid loss: 2.9070\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [369/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.81it/s, loss=4.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [369/3000]: Train loss: 3.1987, Valid loss: 3.8945\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [370/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.12it/s, loss=3.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [370/3000]: Train loss: 3.5759, Valid loss: 2.8903\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [371/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.43it/s, loss=2.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [371/3000]: Train loss: 2.8186, Valid loss: 2.8779\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [372/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.59it/s, loss=2.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [372/3000]: Train loss: 2.7295, Valid loss: 2.7854\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [373/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.60it/s, loss=3.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [373/3000]: Train loss: 2.9153, Valid loss: 2.5482\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [374/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.57it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [374/3000]: Train loss: 2.6961, Valid loss: 2.7216\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [375/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.62it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [375/3000]: Train loss: 2.6552, Valid loss: 2.7595\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [376/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.11it/s, loss=3.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [376/3000]: Train loss: 2.7381, Valid loss: 3.4166\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [377/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.09it/s, loss=2.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [377/3000]: Train loss: 2.8744, Valid loss: 3.2158\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [378/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.00it/s, loss=3.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [378/3000]: Train loss: 3.1821, Valid loss: 2.6680\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [379/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.23it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [379/3000]: Train loss: 2.7821, Valid loss: 2.9126\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [380/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.19it/s, loss=3.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [380/3000]: Train loss: 3.3442, Valid loss: 3.5432\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [381/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.42it/s, loss=3.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [381/3000]: Train loss: 2.9719, Valid loss: 3.9551\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [382/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.25it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [382/3000]: Train loss: 3.0767, Valid loss: 2.7709\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [383/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.20it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [383/3000]: Train loss: 2.9274, Valid loss: 3.1822\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [384/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.92it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [384/3000]: Train loss: 2.7626, Valid loss: 3.3786\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [385/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.32it/s, loss=2.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [385/3000]: Train loss: 2.7007, Valid loss: 2.7628\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [386/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.40it/s, loss=2.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [386/3000]: Train loss: 2.6443, Valid loss: 3.0541\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [387/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.29it/s, loss=3.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [387/3000]: Train loss: 2.8822, Valid loss: 3.1246\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [388/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.02it/s, loss=4.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [388/3000]: Train loss: 3.4384, Valid loss: 2.6751\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [389/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.43it/s, loss=3.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [389/3000]: Train loss: 3.3321, Valid loss: 5.4000\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [390/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.44it/s, loss=3.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [390/3000]: Train loss: 3.6552, Valid loss: 5.4030\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [391/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.06it/s, loss=8.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [391/3000]: Train loss: 4.8898, Valid loss: 8.8884\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [392/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.10it/s, loss=4.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [392/3000]: Train loss: 5.4056, Valid loss: 3.9562\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [393/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.02it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [393/3000]: Train loss: 2.9389, Valid loss: 2.5429\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [394/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.13it/s, loss=2.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [394/3000]: Train loss: 3.1959, Valid loss: 3.1855\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [395/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.47it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [395/3000]: Train loss: 2.6716, Valid loss: 2.3349\n","Saving model with loss 2.335...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [396/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.58it/s, loss=3.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [396/3000]: Train loss: 2.6878, Valid loss: 3.9064\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [397/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.95it/s, loss=3.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [397/3000]: Train loss: 2.8313, Valid loss: 4.8819\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [398/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.36it/s, loss=5.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [398/3000]: Train loss: 3.4957, Valid loss: 8.7173\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [399/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.63it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [399/3000]: Train loss: 4.0952, Valid loss: 2.7853\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [400/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.29it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [400/3000]: Train loss: 2.8081, Valid loss: 3.6416\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [401/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.05it/s, loss=4.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [401/3000]: Train loss: 4.3881, Valid loss: 3.0769\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [402/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.22it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [402/3000]: Train loss: 3.0619, Valid loss: 3.2772\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [403/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.51it/s, loss=2.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [403/3000]: Train loss: 2.9258, Valid loss: 3.0334\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [404/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.97it/s, loss=7.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [404/3000]: Train loss: 3.9431, Valid loss: 4.3994\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [405/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.31it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [405/3000]: Train loss: 3.1195, Valid loss: 2.4389\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [406/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.80it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [406/3000]: Train loss: 2.5934, Valid loss: 3.3173\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [407/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.75it/s, loss=3.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [407/3000]: Train loss: 3.0450, Valid loss: 5.0986\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [408/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.02it/s, loss=3.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [408/3000]: Train loss: 3.0803, Valid loss: 3.1451\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [409/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.86it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [409/3000]: Train loss: 2.6895, Valid loss: 2.3550\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [410/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.06it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [410/3000]: Train loss: 2.8075, Valid loss: 2.8771\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [411/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.64it/s, loss=2.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [411/3000]: Train loss: 2.8620, Valid loss: 5.5950\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [412/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.45it/s, loss=2.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [412/3000]: Train loss: 3.2575, Valid loss: 2.7236\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [413/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.83it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [413/3000]: Train loss: 2.8629, Valid loss: 3.3850\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [414/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.74it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [414/3000]: Train loss: 3.0126, Valid loss: 3.8483\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [415/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.42it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [415/3000]: Train loss: 3.0565, Valid loss: 2.8977\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [416/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.25it/s, loss=2.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [416/3000]: Train loss: 3.5367, Valid loss: 6.4985\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [417/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.91it/s, loss=3.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [417/3000]: Train loss: 4.7057, Valid loss: 4.5070\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [418/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.77it/s, loss=2.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [418/3000]: Train loss: 3.1368, Valid loss: 2.5385\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [419/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.47it/s, loss=5.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [419/3000]: Train loss: 3.5836, Valid loss: 4.1490\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [420/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.13it/s, loss=6.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [420/3000]: Train loss: 7.2945, Valid loss: 7.9461\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [421/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.42it/s, loss=7.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [421/3000]: Train loss: 9.7838, Valid loss: 9.0926\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [422/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.20it/s, loss=4.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [422/3000]: Train loss: 8.6534, Valid loss: 13.6624\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [423/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.07it/s, loss=6.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [423/3000]: Train loss: 6.4982, Valid loss: 3.4814\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [424/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.87it/s, loss=4.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [424/3000]: Train loss: 4.1262, Valid loss: 5.7505\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [425/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.61it/s, loss=3.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [425/3000]: Train loss: 3.6347, Valid loss: 3.4201\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [426/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.78it/s, loss=3.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [426/3000]: Train loss: 3.0578, Valid loss: 2.5210\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [427/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.81it/s, loss=2.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [427/3000]: Train loss: 3.1902, Valid loss: 4.4117\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [428/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.98it/s, loss=3.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [428/3000]: Train loss: 3.3554, Valid loss: 3.0155\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [429/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.84it/s, loss=4.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [429/3000]: Train loss: 3.3362, Valid loss: 2.8366\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [430/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.42it/s, loss=3.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [430/3000]: Train loss: 3.0886, Valid loss: 2.8634\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [431/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.99it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [431/3000]: Train loss: 2.9112, Valid loss: 5.7716\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [432/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.09it/s, loss=4.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [432/3000]: Train loss: 3.7315, Valid loss: 3.2584\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [433/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.79it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [433/3000]: Train loss: 3.4225, Valid loss: 2.9989\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [434/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.99it/s, loss=3.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [434/3000]: Train loss: 2.9445, Valid loss: 3.1980\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [435/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.21it/s, loss=3.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [435/3000]: Train loss: 4.7376, Valid loss: 4.0600\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [436/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.12it/s, loss=3.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [436/3000]: Train loss: 3.1405, Valid loss: 6.3339\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [437/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.56it/s, loss=7.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [437/3000]: Train loss: 6.8387, Valid loss: 3.9810\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [438/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.42it/s, loss=6.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [438/3000]: Train loss: 4.4463, Valid loss: 2.9052\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [439/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.85it/s, loss=2.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [439/3000]: Train loss: 3.5113, Valid loss: 3.4428\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [440/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.79it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [440/3000]: Train loss: 2.7461, Valid loss: 2.4012\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [441/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.33it/s, loss=4.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [441/3000]: Train loss: 2.8547, Valid loss: 4.0141\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [442/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.72it/s, loss=2.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [442/3000]: Train loss: 2.8760, Valid loss: 2.5630\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [443/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.60it/s, loss=3.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [443/3000]: Train loss: 2.6121, Valid loss: 3.4837\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [444/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.81it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [444/3000]: Train loss: 2.6857, Valid loss: 3.5205\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [445/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.81it/s, loss=3.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [445/3000]: Train loss: 3.2338, Valid loss: 2.3839\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [446/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.92it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [446/3000]: Train loss: 2.6223, Valid loss: 2.4910\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [447/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.96it/s, loss=2.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [447/3000]: Train loss: 2.5500, Valid loss: 2.7873\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [448/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.93it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [448/3000]: Train loss: 2.5641, Valid loss: 2.8546\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [449/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.99it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [449/3000]: Train loss: 3.1814, Valid loss: 2.5863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [450/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.76it/s, loss=2.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [450/3000]: Train loss: 2.8768, Valid loss: 3.8085\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [451/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.12it/s, loss=3.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [451/3000]: Train loss: 3.3718, Valid loss: 2.2657\n","Saving model with loss 2.266...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [452/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.27it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [452/3000]: Train loss: 2.5533, Valid loss: 2.4994\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [453/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.70it/s, loss=3.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [453/3000]: Train loss: 2.6841, Valid loss: 4.6000\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [454/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.36it/s, loss=2.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [454/3000]: Train loss: 3.0783, Valid loss: 2.2682\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [455/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.83it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [455/3000]: Train loss: 2.6196, Valid loss: 2.9087\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [456/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.75it/s, loss=3.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [456/3000]: Train loss: 2.5872, Valid loss: 2.5078\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [457/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.46it/s, loss=3.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [457/3000]: Train loss: 3.0023, Valid loss: 3.0531\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [458/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.23it/s, loss=3.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [458/3000]: Train loss: 3.9407, Valid loss: 5.0663\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [459/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.80it/s, loss=2.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [459/3000]: Train loss: 2.6574, Valid loss: 2.3974\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [460/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.33it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [460/3000]: Train loss: 2.4463, Valid loss: 3.1808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [461/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.19it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [461/3000]: Train loss: 2.9044, Valid loss: 2.9009\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [462/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.00it/s, loss=2.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [462/3000]: Train loss: 2.6820, Valid loss: 2.3554\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [463/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.51it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [463/3000]: Train loss: 2.5131, Valid loss: 2.6812\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [464/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.43it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [464/3000]: Train loss: 2.5665, Valid loss: 3.6920\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [465/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.98it/s, loss=4.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [465/3000]: Train loss: 3.3191, Valid loss: 4.3673\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [466/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.39it/s, loss=3.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [466/3000]: Train loss: 3.0353, Valid loss: 2.6042\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [467/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.13it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [467/3000]: Train loss: 3.1104, Valid loss: 5.4196\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [468/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.74it/s, loss=3.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [468/3000]: Train loss: 3.4903, Valid loss: 3.1843\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [469/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.88it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [469/3000]: Train loss: 2.9087, Valid loss: 2.2026\n","Saving model with loss 2.203...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [470/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.19it/s, loss=2.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [470/3000]: Train loss: 2.4449, Valid loss: 3.1258\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [471/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.98it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [471/3000]: Train loss: 3.0016, Valid loss: 2.4402\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [472/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.50it/s, loss=3.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [472/3000]: Train loss: 2.6275, Valid loss: 2.8707\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [473/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.61it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [473/3000]: Train loss: 2.4667, Valid loss: 4.3807\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [474/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.75it/s, loss=3.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [474/3000]: Train loss: 2.6445, Valid loss: 3.5018\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [475/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.88it/s, loss=3.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [475/3000]: Train loss: 3.4930, Valid loss: 3.2811\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [476/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.44it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [476/3000]: Train loss: 2.6079, Valid loss: 2.6721\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [477/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.69it/s, loss=3.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [477/3000]: Train loss: 2.9418, Valid loss: 2.8649\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [478/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.33it/s, loss=2.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [478/3000]: Train loss: 2.5319, Valid loss: 2.9696\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [479/3000]: 100%|██████████| 9/9 [00:00<00:00, 57.98it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [479/3000]: Train loss: 2.3926, Valid loss: 2.2828\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [480/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.73it/s, loss=2.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [480/3000]: Train loss: 2.4849, Valid loss: 3.1369\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [481/3000]: 100%|██████████| 9/9 [00:00<00:00, 26.66it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [481/3000]: Train loss: 3.1436, Valid loss: 4.4983\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [482/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.22it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [482/3000]: Train loss: 2.8134, Valid loss: 2.6143\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [483/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.59it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [483/3000]: Train loss: 2.7179, Valid loss: 3.0479\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [484/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.88it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [484/3000]: Train loss: 2.5529, Valid loss: 2.7505\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [485/3000]: 100%|██████████| 9/9 [00:00<00:00, 25.54it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [485/3000]: Train loss: 2.4631, Valid loss: 2.5675\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [486/3000]: 100%|██████████| 9/9 [00:00<00:00, 26.99it/s, loss=2.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [486/3000]: Train loss: 2.5650, Valid loss: 2.6683\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [487/3000]: 100%|██████████| 9/9 [00:00<00:00, 43.12it/s, loss=7.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [487/3000]: Train loss: 3.5135, Valid loss: 12.7937\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [488/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.77it/s, loss=4.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [488/3000]: Train loss: 5.8556, Valid loss: 2.8951\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [489/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.72it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [489/3000]: Train loss: 2.7042, Valid loss: 3.1004\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [490/3000]: 100%|██████████| 9/9 [00:00<00:00, 38.87it/s, loss=2.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [490/3000]: Train loss: 2.7922, Valid loss: 2.5991\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [491/3000]: 100%|██████████| 9/9 [00:00<00:00, 25.71it/s, loss=4.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [491/3000]: Train loss: 3.4452, Valid loss: 2.1881\n","Saving model with loss 2.188...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [492/3000]: 100%|██████████| 9/9 [00:00<00:00, 43.96it/s, loss=3.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [492/3000]: Train loss: 3.7142, Valid loss: 2.7302\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [493/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.31it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [493/3000]: Train loss: 2.4222, Valid loss: 3.7926\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [494/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.56it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [494/3000]: Train loss: 2.6205, Valid loss: 2.4950\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [495/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.63it/s, loss=3.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [495/3000]: Train loss: 2.9130, Valid loss: 2.6595\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [496/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.38it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [496/3000]: Train loss: 2.8835, Valid loss: 3.7974\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [497/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.95it/s, loss=2.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [497/3000]: Train loss: 2.9608, Valid loss: 3.0914\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [498/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.30it/s, loss=2.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [498/3000]: Train loss: 3.5106, Valid loss: 3.0821\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [499/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.83it/s, loss=1.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [499/3000]: Train loss: 2.6130, Valid loss: 2.3542\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [500/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.83it/s, loss=3.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [500/3000]: Train loss: 2.5831, Valid loss: 3.0960\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [501/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.91it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [501/3000]: Train loss: 2.7657, Valid loss: 2.0236\n","Saving model with loss 2.024...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [502/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.58it/s, loss=4.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [502/3000]: Train loss: 3.8087, Valid loss: 5.7615\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [503/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.96it/s, loss=4.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [503/3000]: Train loss: 3.6371, Valid loss: 3.7004\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [504/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.39it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [504/3000]: Train loss: 2.7272, Valid loss: 2.2424\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [505/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.25it/s, loss=2.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [505/3000]: Train loss: 2.3132, Valid loss: 5.1341\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [506/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.54it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [506/3000]: Train loss: 2.8177, Valid loss: 4.3139\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [507/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.64it/s, loss=3.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [507/3000]: Train loss: 2.8701, Valid loss: 3.0193\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [508/3000]: 100%|██████████| 9/9 [00:00<00:00, 31.25it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [508/3000]: Train loss: 2.5912, Valid loss: 2.6018\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [509/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.84it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [509/3000]: Train loss: 2.5063, Valid loss: 2.4309\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [510/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.03it/s, loss=2.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [510/3000]: Train loss: 2.3569, Valid loss: 3.1123\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [511/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.45it/s, loss=2.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [511/3000]: Train loss: 2.7835, Valid loss: 4.1474\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [512/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.02it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [512/3000]: Train loss: 2.5744, Valid loss: 2.4015\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [513/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.39it/s, loss=3.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [513/3000]: Train loss: 2.8057, Valid loss: 4.1827\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [514/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.02it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [514/3000]: Train loss: 3.5565, Valid loss: 3.7459\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [515/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.96it/s, loss=4.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [515/3000]: Train loss: 3.6713, Valid loss: 3.0093\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [516/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.20it/s, loss=4.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [516/3000]: Train loss: 3.8464, Valid loss: 2.5236\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [517/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.32it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [517/3000]: Train loss: 2.8090, Valid loss: 2.5821\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [518/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.00it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [518/3000]: Train loss: 3.1136, Valid loss: 2.4577\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [519/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.16it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [519/3000]: Train loss: 2.3502, Valid loss: 2.3480\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [520/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.09it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [520/3000]: Train loss: 2.6203, Valid loss: 3.1046\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [521/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.98it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [521/3000]: Train loss: 2.5967, Valid loss: 3.2642\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [522/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.06it/s, loss=3.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [522/3000]: Train loss: 2.7627, Valid loss: 4.5831\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [523/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.19it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [523/3000]: Train loss: 3.1940, Valid loss: 2.1843\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [524/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.91it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [524/3000]: Train loss: 2.3771, Valid loss: 6.0662\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [525/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.13it/s, loss=8.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [525/3000]: Train loss: 7.5726, Valid loss: 8.6743\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [526/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.49it/s, loss=7.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [526/3000]: Train loss: 6.0032, Valid loss: 5.8777\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [527/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.55it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [527/3000]: Train loss: 4.7861, Valid loss: 6.0426\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [528/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.31it/s, loss=3.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [528/3000]: Train loss: 3.8823, Valid loss: 4.5145\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [529/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.28it/s, loss=4.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [529/3000]: Train loss: 3.2913, Valid loss: 3.4748\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [530/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.79it/s, loss=2.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [530/3000]: Train loss: 3.1092, Valid loss: 3.0008\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [531/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.98it/s, loss=3.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [531/3000]: Train loss: 2.8346, Valid loss: 5.2005\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [532/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.08it/s, loss=2.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [532/3000]: Train loss: 3.5591, Valid loss: 2.2378\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [533/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.92it/s, loss=3.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [533/3000]: Train loss: 3.2358, Valid loss: 6.6763\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [534/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.38it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [534/3000]: Train loss: 3.2221, Valid loss: 3.3324\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [535/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.01it/s, loss=3.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [535/3000]: Train loss: 3.8104, Valid loss: 3.3713\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [536/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.84it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [536/3000]: Train loss: 2.6213, Valid loss: 3.4646\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [537/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.16it/s, loss=2.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [537/3000]: Train loss: 2.5302, Valid loss: 2.1455\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [538/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.15it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [538/3000]: Train loss: 2.5025, Valid loss: 2.1652\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [539/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.12it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [539/3000]: Train loss: 2.2519, Valid loss: 2.5045\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [540/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.00it/s, loss=2.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [540/3000]: Train loss: 2.5393, Valid loss: 2.7191\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [541/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.51it/s, loss=5.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [541/3000]: Train loss: 3.3325, Valid loss: 2.5974\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [542/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.38it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [542/3000]: Train loss: 3.1489, Valid loss: 3.1521\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [543/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.52it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [543/3000]: Train loss: 2.5822, Valid loss: 2.6455\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [544/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.99it/s, loss=3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [544/3000]: Train loss: 2.6063, Valid loss: 2.1542\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [545/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.28it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [545/3000]: Train loss: 2.4566, Valid loss: 2.9115\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [546/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.83it/s, loss=7.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [546/3000]: Train loss: 3.5478, Valid loss: 5.3384\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [547/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.13it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [547/3000]: Train loss: 4.8739, Valid loss: 4.2502\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [548/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.38it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [548/3000]: Train loss: 2.7967, Valid loss: 2.4756\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [549/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.83it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [549/3000]: Train loss: 2.5234, Valid loss: 2.5773\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [550/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.15it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [550/3000]: Train loss: 2.2962, Valid loss: 2.4551\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [551/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.09it/s, loss=2.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [551/3000]: Train loss: 2.8768, Valid loss: 2.4721\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [552/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.64it/s, loss=2.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [552/3000]: Train loss: 3.2098, Valid loss: 6.1867\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [553/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.77it/s, loss=2.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [553/3000]: Train loss: 3.4704, Valid loss: 2.2285\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [554/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.60it/s, loss=2.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [554/3000]: Train loss: 2.3139, Valid loss: 2.7732\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [555/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.03it/s, loss=3.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [555/3000]: Train loss: 2.7826, Valid loss: 2.7185\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [556/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.32it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [556/3000]: Train loss: 2.6312, Valid loss: 2.6677\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [557/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.85it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [557/3000]: Train loss: 2.4949, Valid loss: 2.6363\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [558/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.53it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [558/3000]: Train loss: 2.3865, Valid loss: 2.6815\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [559/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.03it/s, loss=3.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [559/3000]: Train loss: 2.6617, Valid loss: 5.8324\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [560/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.46it/s, loss=3.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [560/3000]: Train loss: 3.6686, Valid loss: 2.7987\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [561/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.62it/s, loss=2.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [561/3000]: Train loss: 2.6060, Valid loss: 3.6764\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [562/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.93it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [562/3000]: Train loss: 2.5196, Valid loss: 2.4097\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [563/3000]: 100%|██████████| 9/9 [00:00<00:00, 49.71it/s, loss=3.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [563/3000]: Train loss: 2.5637, Valid loss: 2.4547\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [564/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.56it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [564/3000]: Train loss: 2.3403, Valid loss: 2.4729\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [565/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.12it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [565/3000]: Train loss: 2.2940, Valid loss: 2.4682\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [566/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.95it/s, loss=4.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [566/3000]: Train loss: 3.3562, Valid loss: 2.4907\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [567/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.66it/s, loss=3.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [567/3000]: Train loss: 3.3504, Valid loss: 3.0001\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [568/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.66it/s, loss=3.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [568/3000]: Train loss: 2.8974, Valid loss: 6.3127\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [569/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.43it/s, loss=3.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [569/3000]: Train loss: 3.2235, Valid loss: 2.5907\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [570/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.92it/s, loss=3.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [570/3000]: Train loss: 3.5432, Valid loss: 5.4796\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [571/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.86it/s, loss=5.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [571/3000]: Train loss: 4.5984, Valid loss: 4.9210\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [572/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.31it/s, loss=4.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [572/3000]: Train loss: 3.9686, Valid loss: 2.6539\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [573/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.01it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [573/3000]: Train loss: 2.8949, Valid loss: 4.3502\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [574/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.17it/s, loss=2.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [574/3000]: Train loss: 3.1320, Valid loss: 3.3334\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [575/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.80it/s, loss=4.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [575/3000]: Train loss: 2.9265, Valid loss: 2.5418\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [576/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.31it/s, loss=3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [576/3000]: Train loss: 2.9213, Valid loss: 2.6308\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [577/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.53it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [577/3000]: Train loss: 2.6463, Valid loss: 2.3805\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [578/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.12it/s, loss=2.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [578/3000]: Train loss: 2.3612, Valid loss: 3.9643\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [579/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.85it/s, loss=3.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [579/3000]: Train loss: 3.3746, Valid loss: 3.3926\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [580/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.20it/s, loss=3.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [580/3000]: Train loss: 2.9425, Valid loss: 2.4442\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [581/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.42it/s, loss=2.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [581/3000]: Train loss: 2.5113, Valid loss: 3.1970\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [582/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.96it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [582/3000]: Train loss: 2.5468, Valid loss: 2.5142\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [583/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.49it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [583/3000]: Train loss: 2.2659, Valid loss: 2.1117\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [584/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.77it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [584/3000]: Train loss: 2.4385, Valid loss: 6.9489\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [585/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.17it/s, loss=4.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [585/3000]: Train loss: 4.5328, Valid loss: 2.9510\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [586/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.17it/s, loss=3.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [586/3000]: Train loss: 4.0889, Valid loss: 3.8582\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [587/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.42it/s, loss=5.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [587/3000]: Train loss: 3.7466, Valid loss: 3.5808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [588/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.04it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [588/3000]: Train loss: 2.6502, Valid loss: 2.6529\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [589/3000]: 100%|██████████| 9/9 [00:00<00:00, 27.16it/s, loss=2.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [589/3000]: Train loss: 2.4570, Valid loss: 2.4066\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [590/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.55it/s, loss=2.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [590/3000]: Train loss: 2.5934, Valid loss: 2.2669\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [591/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.74it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [591/3000]: Train loss: 2.3520, Valid loss: 2.8885\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [592/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.04it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [592/3000]: Train loss: 2.2327, Valid loss: 2.4426\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [593/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.68it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [593/3000]: Train loss: 2.3127, Valid loss: 2.0617\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [594/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.27it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [594/3000]: Train loss: 2.1726, Valid loss: 2.6183\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [595/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.47it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [595/3000]: Train loss: 2.2187, Valid loss: 2.1861\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [596/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.95it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [596/3000]: Train loss: 2.5373, Valid loss: 3.1444\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [597/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.71it/s, loss=4.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [597/3000]: Train loss: 3.9493, Valid loss: 3.1783\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [598/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.56it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [598/3000]: Train loss: 4.6627, Valid loss: 4.4816\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [599/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.84it/s, loss=6.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [599/3000]: Train loss: 3.5566, Valid loss: 3.4652\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [600/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.86it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [600/3000]: Train loss: 2.8590, Valid loss: 3.9248\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [601/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.95it/s, loss=3.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [601/3000]: Train loss: 3.5480, Valid loss: 3.7100\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [602/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.32it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [602/3000]: Train loss: 2.5348, Valid loss: 3.0981\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [603/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.43it/s, loss=3.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [603/3000]: Train loss: 2.4395, Valid loss: 2.5912\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [604/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.07it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [604/3000]: Train loss: 2.4718, Valid loss: 2.1511\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [605/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.03it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [605/3000]: Train loss: 2.9767, Valid loss: 2.4476\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [606/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.07it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [606/3000]: Train loss: 2.2655, Valid loss: 2.9852\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [607/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.24it/s, loss=2.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [607/3000]: Train loss: 2.1491, Valid loss: 2.3984\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [608/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.65it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [608/3000]: Train loss: 2.2377, Valid loss: 2.1177\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [609/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.49it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [609/3000]: Train loss: 2.3383, Valid loss: 2.7523\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [610/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.39it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [610/3000]: Train loss: 2.5915, Valid loss: 2.5009\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [611/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.16it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [611/3000]: Train loss: 2.2108, Valid loss: 2.9372\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [612/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.82it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [612/3000]: Train loss: 2.4580, Valid loss: 2.4541\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [613/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.51it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [613/3000]: Train loss: 2.8888, Valid loss: 7.5345\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [614/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.86it/s, loss=3.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [614/3000]: Train loss: 4.1837, Valid loss: 3.5008\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [615/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.42it/s, loss=2.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [615/3000]: Train loss: 3.3763, Valid loss: 5.1557\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [616/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.06it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [616/3000]: Train loss: 2.6360, Valid loss: 2.5353\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [617/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.44it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [617/3000]: Train loss: 2.3854, Valid loss: 2.4468\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [618/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.65it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [618/3000]: Train loss: 2.1955, Valid loss: 2.1048\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [619/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.59it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [619/3000]: Train loss: 2.3510, Valid loss: 4.2053\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [620/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.11it/s, loss=3.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [620/3000]: Train loss: 2.9306, Valid loss: 2.8500\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [621/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.58it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [621/3000]: Train loss: 2.4428, Valid loss: 2.7754\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [622/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.80it/s, loss=3.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [622/3000]: Train loss: 2.4533, Valid loss: 2.2321\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [623/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.58it/s, loss=2.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [623/3000]: Train loss: 2.4791, Valid loss: 2.3249\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [624/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.71it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [624/3000]: Train loss: 2.4776, Valid loss: 3.2686\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [625/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.37it/s, loss=3.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [625/3000]: Train loss: 3.4760, Valid loss: 3.8594\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [626/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.01it/s, loss=2.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [626/3000]: Train loss: 3.1287, Valid loss: 5.7027\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [627/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.88it/s, loss=6.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [627/3000]: Train loss: 4.5345, Valid loss: 4.9285\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [628/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.94it/s, loss=5.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [628/3000]: Train loss: 4.9189, Valid loss: 2.6321\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [629/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.63it/s, loss=6.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [629/3000]: Train loss: 4.2030, Valid loss: 3.6118\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [630/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.72it/s, loss=2.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [630/3000]: Train loss: 3.3485, Valid loss: 2.2453\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [631/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.23it/s, loss=3.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [631/3000]: Train loss: 3.2558, Valid loss: 4.0259\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [632/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.07it/s, loss=2.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [632/3000]: Train loss: 2.9990, Valid loss: 2.9340\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [633/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.05it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [633/3000]: Train loss: 2.9245, Valid loss: 2.4144\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [634/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.51it/s, loss=3.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [634/3000]: Train loss: 2.4658, Valid loss: 2.7822\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [635/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.74it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [635/3000]: Train loss: 2.5455, Valid loss: 3.9560\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [636/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.46it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [636/3000]: Train loss: 2.7745, Valid loss: 2.8479\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [637/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.33it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [637/3000]: Train loss: 2.3338, Valid loss: 2.8540\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [638/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.46it/s, loss=3.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [638/3000]: Train loss: 2.3138, Valid loss: 2.2989\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [639/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.98it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [639/3000]: Train loss: 2.4318, Valid loss: 2.7092\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [640/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.97it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [640/3000]: Train loss: 2.6786, Valid loss: 2.5801\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [641/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.49it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [641/3000]: Train loss: 2.4858, Valid loss: 3.2657\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [642/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.89it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [642/3000]: Train loss: 2.8626, Valid loss: 3.5528\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [643/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.58it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [643/3000]: Train loss: 2.4289, Valid loss: 2.4374\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [644/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.19it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [644/3000]: Train loss: 2.2349, Valid loss: 2.0281\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [645/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.61it/s, loss=3.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [645/3000]: Train loss: 2.3572, Valid loss: 2.1921\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [646/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.65it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [646/3000]: Train loss: 2.2329, Valid loss: 3.0051\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [647/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.91it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [647/3000]: Train loss: 2.2845, Valid loss: 3.1970\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [648/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.90it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [648/3000]: Train loss: 2.3422, Valid loss: 2.3759\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [649/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.49it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [649/3000]: Train loss: 2.1459, Valid loss: 3.2756\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [650/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.93it/s, loss=3.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [650/3000]: Train loss: 2.6184, Valid loss: 4.9956\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [651/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.84it/s, loss=2.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [651/3000]: Train loss: 3.4151, Valid loss: 2.5844\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [652/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.40it/s, loss=3.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [652/3000]: Train loss: 3.0992, Valid loss: 3.8989\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [653/3000]: 100%|██████████| 9/9 [00:00<00:00, 43.80it/s, loss=4.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [653/3000]: Train loss: 3.5218, Valid loss: 3.3696\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [654/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.36it/s, loss=3.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [654/3000]: Train loss: 3.6657, Valid loss: 5.3648\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [655/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.27it/s, loss=1.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [655/3000]: Train loss: 3.7884, Valid loss: 3.8208\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [656/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.02it/s, loss=3.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [656/3000]: Train loss: 3.1191, Valid loss: 2.4265\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [657/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.24it/s, loss=3.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [657/3000]: Train loss: 3.4353, Valid loss: 4.2409\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [658/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.03it/s, loss=3.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [658/3000]: Train loss: 3.1164, Valid loss: 2.8399\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [659/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.63it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [659/3000]: Train loss: 2.4971, Valid loss: 3.5639\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [660/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.29it/s, loss=2.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [660/3000]: Train loss: 2.6930, Valid loss: 3.1295\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [661/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.18it/s, loss=2.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [661/3000]: Train loss: 2.7106, Valid loss: 3.9444\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [662/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.26it/s, loss=3.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [662/3000]: Train loss: 2.8945, Valid loss: 2.2209\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [663/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.39it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [663/3000]: Train loss: 2.4954, Valid loss: 2.6484\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [664/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.78it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [664/3000]: Train loss: 2.5066, Valid loss: 2.1231\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [665/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.85it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [665/3000]: Train loss: 2.8528, Valid loss: 3.0324\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [666/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.99it/s, loss=2.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [666/3000]: Train loss: 2.3831, Valid loss: 2.5688\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [667/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.59it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [667/3000]: Train loss: 2.2332, Valid loss: 2.6069\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [668/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.69it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [668/3000]: Train loss: 2.3604, Valid loss: 2.9896\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [669/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.63it/s, loss=2.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [669/3000]: Train loss: 2.4338, Valid loss: 3.2115\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [670/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.14it/s, loss=2.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [670/3000]: Train loss: 2.1930, Valid loss: 2.4128\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [671/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.77it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [671/3000]: Train loss: 2.1332, Valid loss: 2.3929\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [672/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.52it/s, loss=2.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [672/3000]: Train loss: 2.1169, Valid loss: 2.2621\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [673/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.11it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [673/3000]: Train loss: 2.3060, Valid loss: 3.5425\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [674/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.42it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [674/3000]: Train loss: 2.2514, Valid loss: 2.7882\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [675/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.82it/s, loss=2.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [675/3000]: Train loss: 2.4386, Valid loss: 2.0191\n","Saving model with loss 2.019...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [676/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.88it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [676/3000]: Train loss: 2.0688, Valid loss: 2.2273\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [677/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.86it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [677/3000]: Train loss: 2.1311, Valid loss: 2.0712\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [678/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.17it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [678/3000]: Train loss: 2.1467, Valid loss: 2.2294\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [679/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.28it/s, loss=3.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [679/3000]: Train loss: 2.6385, Valid loss: 2.4866\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [680/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.40it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [680/3000]: Train loss: 2.8597, Valid loss: 2.4719\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [681/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.77it/s, loss=3.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [681/3000]: Train loss: 2.6514, Valid loss: 2.4151\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [682/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.87it/s, loss=4.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [682/3000]: Train loss: 2.3955, Valid loss: 7.8327\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [683/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.71it/s, loss=2.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [683/3000]: Train loss: 6.1089, Valid loss: 7.4767\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [684/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.48it/s, loss=2.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [684/3000]: Train loss: 4.2867, Valid loss: 5.8076\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [685/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.02it/s, loss=4.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [685/3000]: Train loss: 4.0257, Valid loss: 2.5738\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [686/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.13it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [686/3000]: Train loss: 2.5146, Valid loss: 2.6760\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [687/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.51it/s, loss=3.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [687/3000]: Train loss: 2.6958, Valid loss: 2.2343\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [688/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.47it/s, loss=2.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [688/3000]: Train loss: 3.4447, Valid loss: 5.9020\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [689/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.18it/s, loss=3.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [689/3000]: Train loss: 3.6762, Valid loss: 2.5242\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [690/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.71it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [690/3000]: Train loss: 2.5212, Valid loss: 2.4753\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [691/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.56it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [691/3000]: Train loss: 2.4130, Valid loss: 2.8838\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [692/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.28it/s, loss=2.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [692/3000]: Train loss: 2.2380, Valid loss: 2.2883\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [693/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.55it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [693/3000]: Train loss: 2.0583, Valid loss: 2.6045\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [694/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.44it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [694/3000]: Train loss: 2.1053, Valid loss: 2.6360\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [695/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.75it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [695/3000]: Train loss: 2.2185, Valid loss: 2.8083\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [696/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.46it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [696/3000]: Train loss: 2.6080, Valid loss: 2.9089\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [697/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.72it/s, loss=2.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [697/3000]: Train loss: 2.3129, Valid loss: 3.2569\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [698/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.14it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [698/3000]: Train loss: 2.3242, Valid loss: 2.6769\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [699/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.60it/s, loss=3.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [699/3000]: Train loss: 2.4686, Valid loss: 2.5527\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [700/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.75it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [700/3000]: Train loss: 2.5123, Valid loss: 4.3454\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [701/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.71it/s, loss=2.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [701/3000]: Train loss: 2.8854, Valid loss: 2.8889\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [702/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.85it/s, loss=3.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [702/3000]: Train loss: 2.9625, Valid loss: 2.9299\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [703/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.05it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [703/3000]: Train loss: 2.6883, Valid loss: 2.8693\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [704/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.85it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [704/3000]: Train loss: 2.3183, Valid loss: 3.3897\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [705/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.88it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [705/3000]: Train loss: 2.4742, Valid loss: 3.4635\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [706/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.96it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [706/3000]: Train loss: 3.2832, Valid loss: 3.5180\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [707/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.49it/s, loss=7.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [707/3000]: Train loss: 3.3976, Valid loss: 5.3223\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [708/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.75it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [708/3000]: Train loss: 3.5228, Valid loss: 3.0592\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [709/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.96it/s, loss=2.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [709/3000]: Train loss: 2.4990, Valid loss: 2.9356\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [710/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.67it/s, loss=3.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [710/3000]: Train loss: 3.0601, Valid loss: 4.0160\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [711/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.15it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [711/3000]: Train loss: 2.8290, Valid loss: 5.0934\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [712/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.14it/s, loss=5.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [712/3000]: Train loss: 4.4952, Valid loss: 2.9255\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [713/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.87it/s, loss=7.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [713/3000]: Train loss: 4.6889, Valid loss: 3.4537\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [714/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.98it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [714/3000]: Train loss: 2.8917, Valid loss: 2.3618\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [715/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.62it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [715/3000]: Train loss: 2.1407, Valid loss: 2.9220\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [716/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.52it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [716/3000]: Train loss: 2.3841, Valid loss: 2.5192\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [717/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.59it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [717/3000]: Train loss: 2.6739, Valid loss: 2.1183\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [718/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.42it/s, loss=2.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [718/3000]: Train loss: 2.4462, Valid loss: 3.0077\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [719/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.51it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [719/3000]: Train loss: 2.5019, Valid loss: 2.9567\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [720/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.94it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [720/3000]: Train loss: 2.2752, Valid loss: 2.2882\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [721/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.11it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [721/3000]: Train loss: 2.4381, Valid loss: 2.3435\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [722/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.47it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [722/3000]: Train loss: 2.3125, Valid loss: 3.2713\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [723/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.11it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [723/3000]: Train loss: 2.4214, Valid loss: 2.4491\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [724/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.38it/s, loss=3.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [724/3000]: Train loss: 3.2532, Valid loss: 3.8454\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [725/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.90it/s, loss=3.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [725/3000]: Train loss: 2.9803, Valid loss: 3.4384\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [726/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.72it/s, loss=3.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [726/3000]: Train loss: 2.8173, Valid loss: 2.4218\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [727/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.18it/s, loss=5.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [727/3000]: Train loss: 3.1136, Valid loss: 7.2313\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [728/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.98it/s, loss=4.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [728/3000]: Train loss: 4.7185, Valid loss: 2.8864\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [729/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.24it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [729/3000]: Train loss: 2.7232, Valid loss: 3.0081\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [730/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.75it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [730/3000]: Train loss: 2.5186, Valid loss: 4.2936\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [731/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.97it/s, loss=5.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [731/3000]: Train loss: 3.4209, Valid loss: 3.2657\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [732/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.95it/s, loss=2.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [732/3000]: Train loss: 3.3279, Valid loss: 2.1338\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [733/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.23it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [733/3000]: Train loss: 2.5016, Valid loss: 3.2329\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [734/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.23it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [734/3000]: Train loss: 2.1969, Valid loss: 3.1147\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [735/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.11it/s, loss=5.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [735/3000]: Train loss: 3.4103, Valid loss: 2.4432\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [736/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.85it/s, loss=3.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [736/3000]: Train loss: 2.6897, Valid loss: 3.3306\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [737/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.55it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [737/3000]: Train loss: 2.2550, Valid loss: 2.2783\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [738/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.18it/s, loss=2.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [738/3000]: Train loss: 2.2040, Valid loss: 2.0431\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [739/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.17it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [739/3000]: Train loss: 2.1500, Valid loss: 3.1045\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [740/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.07it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [740/3000]: Train loss: 2.4574, Valid loss: 2.7667\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [741/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.72it/s, loss=2.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [741/3000]: Train loss: 2.7564, Valid loss: 4.1795\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [742/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.03it/s, loss=3.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [742/3000]: Train loss: 2.8109, Valid loss: 4.3256\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [743/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.35it/s, loss=3.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [743/3000]: Train loss: 2.8118, Valid loss: 2.2945\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [744/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.13it/s, loss=1.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [744/3000]: Train loss: 2.0774, Valid loss: 2.8815\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [745/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.62it/s, loss=2.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [745/3000]: Train loss: 2.6405, Valid loss: 2.5757\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [746/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.20it/s, loss=2.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [746/3000]: Train loss: 2.6401, Valid loss: 4.1651\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [747/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.74it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [747/3000]: Train loss: 2.5667, Valid loss: 2.2661\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [748/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.40it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [748/3000]: Train loss: 2.0754, Valid loss: 2.2789\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [749/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.14it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [749/3000]: Train loss: 2.0704, Valid loss: 2.1094\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [750/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.80it/s, loss=2.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [750/3000]: Train loss: 2.1733, Valid loss: 2.2499\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [751/3000]: 100%|██████████| 9/9 [00:00<00:00, 28.69it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [751/3000]: Train loss: 2.3863, Valid loss: 2.7968\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [752/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.19it/s, loss=2.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [752/3000]: Train loss: 2.2728, Valid loss: 2.6953\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [753/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.21it/s, loss=2.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [753/3000]: Train loss: 2.2409, Valid loss: 2.3074\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [754/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.28it/s, loss=2.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [754/3000]: Train loss: 2.2006, Valid loss: 2.4795\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [755/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.38it/s, loss=2.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [755/3000]: Train loss: 2.1878, Valid loss: 4.3938\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [756/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.99it/s, loss=3.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [756/3000]: Train loss: 2.9412, Valid loss: 2.2368\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [757/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.55it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [757/3000]: Train loss: 3.0926, Valid loss: 2.0056\n","Saving model with loss 2.006...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [758/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.58it/s, loss=2.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [758/3000]: Train loss: 2.5417, Valid loss: 4.1278\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [759/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.55it/s, loss=3.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [759/3000]: Train loss: 2.8302, Valid loss: 3.1804\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [760/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.29it/s, loss=4.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [760/3000]: Train loss: 3.5235, Valid loss: 3.1352\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [761/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.55it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [761/3000]: Train loss: 2.6848, Valid loss: 2.8343\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [762/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.52it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [762/3000]: Train loss: 2.1252, Valid loss: 2.5088\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [763/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.46it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [763/3000]: Train loss: 2.2089, Valid loss: 3.5312\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [764/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.73it/s, loss=3.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [764/3000]: Train loss: 2.6971, Valid loss: 2.9652\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [765/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.31it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [765/3000]: Train loss: 2.4587, Valid loss: 2.3187\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [766/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.92it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [766/3000]: Train loss: 2.0723, Valid loss: 2.0449\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [767/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.24it/s, loss=2.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [767/3000]: Train loss: 2.2693, Valid loss: 2.3833\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [768/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.13it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [768/3000]: Train loss: 2.2991, Valid loss: 4.3948\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [769/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.56it/s, loss=4.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [769/3000]: Train loss: 3.0139, Valid loss: 2.3133\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [770/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.72it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [770/3000]: Train loss: 2.6722, Valid loss: 4.0894\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [771/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.27it/s, loss=3.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [771/3000]: Train loss: 2.9648, Valid loss: 2.3354\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [772/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.57it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [772/3000]: Train loss: 2.2789, Valid loss: 2.5318\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [773/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.50it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [773/3000]: Train loss: 2.1787, Valid loss: 2.2302\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [774/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.16it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [774/3000]: Train loss: 2.1616, Valid loss: 2.8262\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [775/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.79it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [775/3000]: Train loss: 2.2408, Valid loss: 2.9589\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [776/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.55it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [776/3000]: Train loss: 2.1131, Valid loss: 2.0886\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [777/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.00it/s, loss=2.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [777/3000]: Train loss: 2.0725, Valid loss: 2.0656\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [778/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.38it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [778/3000]: Train loss: 2.1800, Valid loss: 2.1977\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [779/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.25it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [779/3000]: Train loss: 2.3609, Valid loss: 2.5520\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [780/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.98it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [780/3000]: Train loss: 2.2054, Valid loss: 2.2317\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [781/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.76it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [781/3000]: Train loss: 2.4600, Valid loss: 3.5421\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [782/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.59it/s, loss=3.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [782/3000]: Train loss: 4.2549, Valid loss: 2.2227\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [783/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.41it/s, loss=2.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [783/3000]: Train loss: 2.9930, Valid loss: 5.8177\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [784/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.79it/s, loss=4.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [784/3000]: Train loss: 4.1692, Valid loss: 2.2403\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [785/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.59it/s, loss=4.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [785/3000]: Train loss: 3.1116, Valid loss: 3.3281\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [786/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.26it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [786/3000]: Train loss: 3.4126, Valid loss: 4.7294\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [787/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.84it/s, loss=3.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [787/3000]: Train loss: 2.9617, Valid loss: 2.7887\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [788/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.79it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [788/3000]: Train loss: 2.5833, Valid loss: 2.3164\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [789/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.86it/s, loss=1.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [789/3000]: Train loss: 2.5098, Valid loss: 3.2451\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [790/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.61it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [790/3000]: Train loss: 2.3870, Valid loss: 2.3456\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [791/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.86it/s, loss=3.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [791/3000]: Train loss: 2.7319, Valid loss: 5.5246\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [792/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.51it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [792/3000]: Train loss: 3.8125, Valid loss: 3.5039\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [793/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.34it/s, loss=2.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [793/3000]: Train loss: 2.6162, Valid loss: 2.4483\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [794/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.93it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [794/3000]: Train loss: 2.2050, Valid loss: 2.8519\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [795/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.77it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [795/3000]: Train loss: 2.3792, Valid loss: 2.4993\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [796/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.81it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [796/3000]: Train loss: 2.3069, Valid loss: 2.5252\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [797/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.61it/s, loss=1.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [797/3000]: Train loss: 2.1116, Valid loss: 2.5650\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [798/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.47it/s, loss=2.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [798/3000]: Train loss: 2.1347, Valid loss: 2.3246\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [799/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.24it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [799/3000]: Train loss: 2.1265, Valid loss: 1.9271\n","Saving model with loss 1.927...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [800/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.78it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [800/3000]: Train loss: 2.0805, Valid loss: 2.5318\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [801/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.64it/s, loss=2.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [801/3000]: Train loss: 2.3856, Valid loss: 2.4075\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [802/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.39it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [802/3000]: Train loss: 2.7554, Valid loss: 4.9569\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [803/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.24it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [803/3000]: Train loss: 2.7603, Valid loss: 2.5180\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [804/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.59it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [804/3000]: Train loss: 2.2372, Valid loss: 2.3064\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [805/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.90it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [805/3000]: Train loss: 2.1144, Valid loss: 2.1779\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [806/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.35it/s, loss=3.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [806/3000]: Train loss: 2.3426, Valid loss: 2.6774\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [807/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.42it/s, loss=1.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [807/3000]: Train loss: 2.9800, Valid loss: 3.2533\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [808/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.05it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [808/3000]: Train loss: 2.2229, Valid loss: 1.9915\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [809/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.56it/s, loss=1.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [809/3000]: Train loss: 2.2037, Valid loss: 2.2927\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [810/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.66it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [810/3000]: Train loss: 2.1896, Valid loss: 2.3471\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [811/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.28it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [811/3000]: Train loss: 2.0300, Valid loss: 2.4161\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [812/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.22it/s, loss=2.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [812/3000]: Train loss: 2.1873, Valid loss: 2.7962\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [813/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.24it/s, loss=2.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [813/3000]: Train loss: 2.5141, Valid loss: 2.4116\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [814/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.85it/s, loss=2.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [814/3000]: Train loss: 3.2306, Valid loss: 3.1286\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [815/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.43it/s, loss=2.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [815/3000]: Train loss: 2.7566, Valid loss: 3.7469\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [816/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.54it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [816/3000]: Train loss: 2.2489, Valid loss: 2.3342\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [817/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.54it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [817/3000]: Train loss: 2.1012, Valid loss: 2.0867\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [818/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.01it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [818/3000]: Train loss: 1.9881, Valid loss: 2.5827\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [819/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.03it/s, loss=2.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [819/3000]: Train loss: 2.0257, Valid loss: 3.3691\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [820/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.93it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [820/3000]: Train loss: 2.3318, Valid loss: 2.3723\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [821/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.21it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [821/3000]: Train loss: 2.2691, Valid loss: 2.5148\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [822/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.20it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [822/3000]: Train loss: 2.1552, Valid loss: 2.7301\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [823/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.78it/s, loss=3.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [823/3000]: Train loss: 2.5324, Valid loss: 3.6366\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [824/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.54it/s, loss=2.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [824/3000]: Train loss: 2.3406, Valid loss: 2.1745\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [825/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.83it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [825/3000]: Train loss: 2.2964, Valid loss: 2.3780\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [826/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.79it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [826/3000]: Train loss: 1.9988, Valid loss: 2.5302\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [827/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.02it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [827/3000]: Train loss: 2.0729, Valid loss: 2.2791\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [828/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.91it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [828/3000]: Train loss: 2.2773, Valid loss: 3.5011\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [829/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.86it/s, loss=3.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [829/3000]: Train loss: 3.0928, Valid loss: 6.6994\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [830/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.37it/s, loss=3.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [830/3000]: Train loss: 3.3702, Valid loss: 3.3844\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [831/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.98it/s, loss=2.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [831/3000]: Train loss: 2.5378, Valid loss: 2.4294\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [832/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.09it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [832/3000]: Train loss: 2.1700, Valid loss: 2.3347\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [833/3000]: 100%|██████████| 9/9 [00:00<00:00, 27.59it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [833/3000]: Train loss: 2.1401, Valid loss: 3.3164\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [834/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.28it/s, loss=3.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [834/3000]: Train loss: 3.0614, Valid loss: 2.4845\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [835/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.43it/s, loss=1.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [835/3000]: Train loss: 2.7310, Valid loss: 3.0333\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [836/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.94it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [836/3000]: Train loss: 2.1159, Valid loss: 2.9415\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [837/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.04it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [837/3000]: Train loss: 2.1596, Valid loss: 2.1337\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [838/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.44it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [838/3000]: Train loss: 2.1362, Valid loss: 2.5503\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [839/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.58it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [839/3000]: Train loss: 1.9749, Valid loss: 1.9835\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [840/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.12it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [840/3000]: Train loss: 2.4268, Valid loss: 3.6997\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [841/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.10it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [841/3000]: Train loss: 2.4254, Valid loss: 3.8676\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [842/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.83it/s, loss=3.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [842/3000]: Train loss: 3.4052, Valid loss: 3.4764\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [843/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.79it/s, loss=2.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [843/3000]: Train loss: 2.4428, Valid loss: 2.2842\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [844/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.39it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [844/3000]: Train loss: 2.3357, Valid loss: 2.7472\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [845/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.20it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [845/3000]: Train loss: 2.1522, Valid loss: 2.7681\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [846/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.94it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [846/3000]: Train loss: 2.4198, Valid loss: 2.4574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [847/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.41it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [847/3000]: Train loss: 2.1592, Valid loss: 2.9632\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [848/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.71it/s, loss=3.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [848/3000]: Train loss: 2.7779, Valid loss: 6.5302\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [849/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.79it/s, loss=4.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [849/3000]: Train loss: 4.2970, Valid loss: 5.5490\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [850/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.24it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [850/3000]: Train loss: 3.1741, Valid loss: 2.8981\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [851/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.47it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [851/3000]: Train loss: 2.3556, Valid loss: 4.6231\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [852/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.13it/s, loss=2.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [852/3000]: Train loss: 3.4664, Valid loss: 3.2766\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [853/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.41it/s, loss=3.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [853/3000]: Train loss: 3.1204, Valid loss: 3.0106\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [854/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.84it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [854/3000]: Train loss: 2.5248, Valid loss: 2.6808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [855/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.49it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [855/3000]: Train loss: 2.6559, Valid loss: 3.2108\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [856/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.79it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [856/3000]: Train loss: 2.4069, Valid loss: 2.4954\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [857/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.72it/s, loss=1.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [857/3000]: Train loss: 2.0790, Valid loss: 2.0174\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [858/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.08it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [858/3000]: Train loss: 2.1023, Valid loss: 2.4891\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [859/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.44it/s, loss=4.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [859/3000]: Train loss: 2.6051, Valid loss: 2.5995\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [860/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.32it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [860/3000]: Train loss: 2.4962, Valid loss: 1.9409\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [861/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.50it/s, loss=1.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [861/3000]: Train loss: 1.9669, Valid loss: 2.6938\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [862/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.15it/s, loss=3.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [862/3000]: Train loss: 2.5273, Valid loss: 2.5854\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [863/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.00it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [863/3000]: Train loss: 2.6167, Valid loss: 3.0765\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [864/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.45it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [864/3000]: Train loss: 2.6654, Valid loss: 2.4279\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [865/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.44it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [865/3000]: Train loss: 2.1728, Valid loss: 2.4906\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [866/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.32it/s, loss=2.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [866/3000]: Train loss: 2.1836, Valid loss: 2.5089\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [867/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.14it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [867/3000]: Train loss: 2.2711, Valid loss: 2.5775\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [868/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.84it/s, loss=3.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [868/3000]: Train loss: 2.4872, Valid loss: 3.2266\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [869/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.33it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [869/3000]: Train loss: 2.5476, Valid loss: 3.0413\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [870/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.01it/s, loss=3.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [870/3000]: Train loss: 2.8294, Valid loss: 2.4574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [871/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.66it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [871/3000]: Train loss: 2.7648, Valid loss: 3.7627\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [872/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.39it/s, loss=2.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [872/3000]: Train loss: 2.6523, Valid loss: 2.1148\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [873/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.61it/s, loss=2.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [873/3000]: Train loss: 2.3125, Valid loss: 4.1013\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [874/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.72it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [874/3000]: Train loss: 2.7305, Valid loss: 2.1188\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [875/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.50it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [875/3000]: Train loss: 2.0141, Valid loss: 2.0757\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [876/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.99it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [876/3000]: Train loss: 2.1243, Valid loss: 2.1909\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [877/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.34it/s, loss=1.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [877/3000]: Train loss: 1.9596, Valid loss: 2.6916\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [878/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.82it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [878/3000]: Train loss: 2.0430, Valid loss: 2.7461\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [879/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.71it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [879/3000]: Train loss: 2.1890, Valid loss: 2.3214\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [880/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.66it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [880/3000]: Train loss: 2.2604, Valid loss: 2.2821\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [881/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.81it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [881/3000]: Train loss: 1.9983, Valid loss: 2.4321\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [882/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.99it/s, loss=2.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [882/3000]: Train loss: 2.2390, Valid loss: 1.8994\n","Saving model with loss 1.899...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [883/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.27it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [883/3000]: Train loss: 2.0119, Valid loss: 3.3893\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [884/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.08it/s, loss=4.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [884/3000]: Train loss: 3.2144, Valid loss: 2.5633\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [885/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.42it/s, loss=3.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [885/3000]: Train loss: 2.7645, Valid loss: 2.9300\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [886/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.85it/s, loss=1.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [886/3000]: Train loss: 2.5876, Valid loss: 2.6069\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [887/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.47it/s, loss=2.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [887/3000]: Train loss: 2.2316, Valid loss: 2.2555\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [888/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.21it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [888/3000]: Train loss: 2.3320, Valid loss: 3.9101\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [889/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.97it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [889/3000]: Train loss: 2.9474, Valid loss: 4.0524\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [890/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.96it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [890/3000]: Train loss: 2.6510, Valid loss: 1.8655\n","Saving model with loss 1.866...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [891/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.60it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [891/3000]: Train loss: 2.1388, Valid loss: 2.7709\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [892/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.43it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [892/3000]: Train loss: 2.3449, Valid loss: 2.3431\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [893/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.22it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [893/3000]: Train loss: 2.0594, Valid loss: 2.2145\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [894/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.51it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [894/3000]: Train loss: 2.2061, Valid loss: 3.6788\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [895/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.50it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [895/3000]: Train loss: 2.3682, Valid loss: 3.0259\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [896/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.11it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [896/3000]: Train loss: 2.3997, Valid loss: 2.1155\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [897/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.37it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [897/3000]: Train loss: 2.4067, Valid loss: 2.3754\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [898/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.87it/s, loss=2.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [898/3000]: Train loss: 2.2324, Valid loss: 2.5542\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [899/3000]: 100%|██████████| 9/9 [00:00<00:00, 62.56it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [899/3000]: Train loss: 2.3801, Valid loss: 2.6868\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [900/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.00it/s, loss=2.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [900/3000]: Train loss: 2.2491, Valid loss: 2.3987\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [901/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.00it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [901/3000]: Train loss: 2.0699, Valid loss: 2.2695\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [902/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.38it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [902/3000]: Train loss: 2.0134, Valid loss: 2.2696\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [903/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.83it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [903/3000]: Train loss: 2.0136, Valid loss: 2.0623\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [904/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.63it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [904/3000]: Train loss: 2.1568, Valid loss: 2.1390\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [905/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.56it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [905/3000]: Train loss: 2.1386, Valid loss: 3.1726\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [906/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.29it/s, loss=2.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [906/3000]: Train loss: 2.0941, Valid loss: 2.9118\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [907/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.77it/s, loss=3.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [907/3000]: Train loss: 2.2723, Valid loss: 3.0735\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [908/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.03it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [908/3000]: Train loss: 2.3947, Valid loss: 2.3762\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [909/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.07it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [909/3000]: Train loss: 2.1071, Valid loss: 2.2922\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [910/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.39it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [910/3000]: Train loss: 2.4909, Valid loss: 3.4064\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [911/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.47it/s, loss=2.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [911/3000]: Train loss: 2.6505, Valid loss: 2.3406\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [912/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.45it/s, loss=4.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [912/3000]: Train loss: 2.9082, Valid loss: 3.0724\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [913/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.44it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [913/3000]: Train loss: 2.9384, Valid loss: 3.7632\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [914/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.27it/s, loss=4.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [914/3000]: Train loss: 3.5041, Valid loss: 3.3147\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [915/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.49it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [915/3000]: Train loss: 2.6498, Valid loss: 5.4848\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [916/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.67it/s, loss=3.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [916/3000]: Train loss: 3.5499, Valid loss: 2.6835\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [917/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.52it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [917/3000]: Train loss: 3.0441, Valid loss: 3.2629\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [918/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.69it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [918/3000]: Train loss: 2.0758, Valid loss: 1.9692\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [919/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.23it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [919/3000]: Train loss: 2.2139, Valid loss: 2.9148\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [920/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.65it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [920/3000]: Train loss: 2.3617, Valid loss: 2.1199\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [921/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.90it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [921/3000]: Train loss: 2.0094, Valid loss: 2.2146\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [922/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.45it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [922/3000]: Train loss: 2.0271, Valid loss: 2.0514\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [923/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.21it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [923/3000]: Train loss: 2.7538, Valid loss: 4.1808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [924/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.20it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [924/3000]: Train loss: 2.4229, Valid loss: 2.4929\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [925/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.22it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [925/3000]: Train loss: 2.0871, Valid loss: 2.0863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [926/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.46it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [926/3000]: Train loss: 1.9263, Valid loss: 3.3704\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [927/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.48it/s, loss=4.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [927/3000]: Train loss: 3.2195, Valid loss: 2.1934\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [928/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.23it/s, loss=2.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [928/3000]: Train loss: 2.9524, Valid loss: 4.7998\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [929/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.02it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [929/3000]: Train loss: 3.8852, Valid loss: 7.2963\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [930/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.74it/s, loss=2.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [930/3000]: Train loss: 4.8194, Valid loss: 7.3358\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [931/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.32it/s, loss=4.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [931/3000]: Train loss: 4.0961, Valid loss: 2.4450\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [932/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.91it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [932/3000]: Train loss: 2.4766, Valid loss: 3.7648\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [933/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.18it/s, loss=2.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [933/3000]: Train loss: 2.0832, Valid loss: 2.5129\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [934/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.38it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [934/3000]: Train loss: 2.1965, Valid loss: 2.3045\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [935/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.77it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [935/3000]: Train loss: 2.1194, Valid loss: 2.1405\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [936/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.18it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [936/3000]: Train loss: 2.3978, Valid loss: 5.8812\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [937/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.39it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [937/3000]: Train loss: 2.8761, Valid loss: 4.3951\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [938/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.15it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [938/3000]: Train loss: 2.4705, Valid loss: 3.1398\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [939/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.28it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [939/3000]: Train loss: 2.0387, Valid loss: 2.1034\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [940/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.03it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [940/3000]: Train loss: 2.2453, Valid loss: 3.7693\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [941/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.39it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [941/3000]: Train loss: 2.6891, Valid loss: 2.3142\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [942/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.77it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [942/3000]: Train loss: 2.2676, Valid loss: 2.7103\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [943/3000]: 100%|██████████| 9/9 [00:00<00:00, 62.36it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [943/3000]: Train loss: 2.1749, Valid loss: 3.1823\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [944/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.70it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [944/3000]: Train loss: 2.1452, Valid loss: 2.8646\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [945/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.84it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [945/3000]: Train loss: 2.0509, Valid loss: 2.0713\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [946/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.94it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [946/3000]: Train loss: 2.1428, Valid loss: 2.5889\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [947/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.86it/s, loss=2.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [947/3000]: Train loss: 2.3680, Valid loss: 3.1993\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [948/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.76it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [948/3000]: Train loss: 2.6478, Valid loss: 3.4362\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [949/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.46it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [949/3000]: Train loss: 2.5017, Valid loss: 2.8125\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [950/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.31it/s, loss=4.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [950/3000]: Train loss: 2.8402, Valid loss: 4.4943\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [951/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.67it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [951/3000]: Train loss: 2.6335, Valid loss: 1.9808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [952/3000]: 100%|██████████| 9/9 [00:00<00:00, 33.72it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [952/3000]: Train loss: 2.2013, Valid loss: 3.2791\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [953/3000]: 100%|██████████| 9/9 [00:00<00:00, 49.52it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [953/3000]: Train loss: 2.0537, Valid loss: 2.2033\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [954/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.54it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [954/3000]: Train loss: 2.0524, Valid loss: 3.0260\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [955/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.85it/s, loss=3.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [955/3000]: Train loss: 2.4825, Valid loss: 2.7987\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [956/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.46it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [956/3000]: Train loss: 2.2088, Valid loss: 2.4564\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [957/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.04it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [957/3000]: Train loss: 2.0674, Valid loss: 2.3736\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [958/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.22it/s, loss=2.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [958/3000]: Train loss: 2.1774, Valid loss: 2.8542\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [959/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.07it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [959/3000]: Train loss: 2.7230, Valid loss: 3.0924\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [960/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.84it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [960/3000]: Train loss: 2.5025, Valid loss: 2.1126\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [961/3000]: 100%|██████████| 9/9 [00:00<00:00, 40.39it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [961/3000]: Train loss: 2.0010, Valid loss: 2.2725\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [962/3000]: 100%|██████████| 9/9 [00:00<00:00, 41.28it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [962/3000]: Train loss: 1.9543, Valid loss: 2.4129\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [963/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.71it/s, loss=2.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [963/3000]: Train loss: 2.2461, Valid loss: 2.9050\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [964/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.48it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [964/3000]: Train loss: 2.4138, Valid loss: 3.7543\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [965/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.15it/s, loss=4.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [965/3000]: Train loss: 4.0723, Valid loss: 2.5305\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [966/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.41it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [966/3000]: Train loss: 2.5014, Valid loss: 1.8658\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [967/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.85it/s, loss=1.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [967/3000]: Train loss: 2.3448, Valid loss: 2.0422\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [968/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.20it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [968/3000]: Train loss: 1.9152, Valid loss: 3.0478\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [969/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.80it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [969/3000]: Train loss: 2.2145, Valid loss: 3.5928\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [970/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.75it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [970/3000]: Train loss: 2.7094, Valid loss: 3.1508\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [971/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.97it/s, loss=3.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [971/3000]: Train loss: 2.5107, Valid loss: 4.0072\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [972/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.79it/s, loss=2.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [972/3000]: Train loss: 2.4170, Valid loss: 2.0086\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [973/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.76it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [973/3000]: Train loss: 2.1308, Valid loss: 2.4113\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [974/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.18it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [974/3000]: Train loss: 2.1108, Valid loss: 1.9834\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [975/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.26it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [975/3000]: Train loss: 1.9826, Valid loss: 2.3178\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [976/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.63it/s, loss=2.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [976/3000]: Train loss: 2.3080, Valid loss: 2.5055\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [977/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.87it/s, loss=2.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [977/3000]: Train loss: 2.1176, Valid loss: 2.4202\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [978/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.25it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [978/3000]: Train loss: 2.1344, Valid loss: 2.2198\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [979/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.97it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [979/3000]: Train loss: 1.9718, Valid loss: 1.9694\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [980/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.51it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [980/3000]: Train loss: 1.9883, Valid loss: 2.4143\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [981/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.64it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [981/3000]: Train loss: 1.9652, Valid loss: 4.2776\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [982/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.24it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [982/3000]: Train loss: 2.3692, Valid loss: 1.9951\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [983/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.13it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [983/3000]: Train loss: 2.2706, Valid loss: 2.3390\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [984/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.17it/s, loss=2.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [984/3000]: Train loss: 2.8773, Valid loss: 3.3431\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [985/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.23it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [985/3000]: Train loss: 2.0221, Valid loss: 2.1252\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [986/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.39it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [986/3000]: Train loss: 1.9778, Valid loss: 2.0505\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [987/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.75it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [987/3000]: Train loss: 1.9789, Valid loss: 2.5463\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [988/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.90it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [988/3000]: Train loss: 1.9331, Valid loss: 2.0761\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [989/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.85it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [989/3000]: Train loss: 1.9568, Valid loss: 2.0866\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [990/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.83it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [990/3000]: Train loss: 2.0339, Valid loss: 2.0961\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [991/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.26it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [991/3000]: Train loss: 1.9088, Valid loss: 2.0609\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [992/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.96it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [992/3000]: Train loss: 1.9831, Valid loss: 2.3941\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [993/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.30it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [993/3000]: Train loss: 2.0154, Valid loss: 2.4396\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [994/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.60it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [994/3000]: Train loss: 2.1410, Valid loss: 2.2497\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [995/3000]: 100%|██████████| 9/9 [00:00<00:00, 28.45it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [995/3000]: Train loss: 1.9522, Valid loss: 2.3503\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [996/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.98it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [996/3000]: Train loss: 2.0230, Valid loss: 3.1901\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [997/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.99it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [997/3000]: Train loss: 2.3264, Valid loss: 2.7104\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [998/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.13it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [998/3000]: Train loss: 1.9885, Valid loss: 2.2395\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [999/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.13it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [999/3000]: Train loss: 2.0250, Valid loss: 2.3162\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1000/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.50it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1000/3000]: Train loss: 1.9987, Valid loss: 3.0802\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1001/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.44it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1001/3000]: Train loss: 2.4063, Valid loss: 3.8003\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1002/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.35it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1002/3000]: Train loss: 2.3583, Valid loss: 2.1770\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1003/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.44it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1003/3000]: Train loss: 2.2540, Valid loss: 2.0715\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1004/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.17it/s, loss=2.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1004/3000]: Train loss: 2.1473, Valid loss: 2.9766\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1005/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.23it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1005/3000]: Train loss: 2.4543, Valid loss: 2.4079\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1006/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.82it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1006/3000]: Train loss: 2.0063, Valid loss: 2.6190\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1007/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.33it/s, loss=2.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1007/3000]: Train loss: 2.1568, Valid loss: 2.8640\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1008/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.38it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1008/3000]: Train loss: 2.1419, Valid loss: 2.5436\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1009/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.06it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1009/3000]: Train loss: 2.1312, Valid loss: 2.1208\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1010/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.22it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1010/3000]: Train loss: 2.0151, Valid loss: 2.6966\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1011/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.89it/s, loss=1.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1011/3000]: Train loss: 2.0970, Valid loss: 2.1983\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1012/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.92it/s, loss=2.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1012/3000]: Train loss: 2.5448, Valid loss: 3.7331\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1013/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.06it/s, loss=3.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1013/3000]: Train loss: 2.7780, Valid loss: 1.9809\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1014/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.09it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1014/3000]: Train loss: 2.0813, Valid loss: 1.9204\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1015/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.58it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1015/3000]: Train loss: 1.9272, Valid loss: 4.0480\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1016/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.84it/s, loss=3.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1016/3000]: Train loss: 2.7544, Valid loss: 2.2074\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1017/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.28it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1017/3000]: Train loss: 2.0908, Valid loss: 2.0794\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1018/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.13it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1018/3000]: Train loss: 2.1453, Valid loss: 2.1348\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1019/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.56it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1019/3000]: Train loss: 2.1382, Valid loss: 3.5728\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1020/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.86it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1020/3000]: Train loss: 2.3271, Valid loss: 2.0523\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1021/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.28it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1021/3000]: Train loss: 1.9671, Valid loss: 2.3647\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1022/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.79it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1022/3000]: Train loss: 2.2733, Valid loss: 2.3128\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1023/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.95it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1023/3000]: Train loss: 2.0178, Valid loss: 2.1516\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1024/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.93it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1024/3000]: Train loss: 2.1405, Valid loss: 2.7382\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1025/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.83it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1025/3000]: Train loss: 2.1489, Valid loss: 2.2944\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1026/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.22it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1026/3000]: Train loss: 1.9950, Valid loss: 2.2836\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1027/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.05it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1027/3000]: Train loss: 1.8271, Valid loss: 2.5746\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1028/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.84it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1028/3000]: Train loss: 1.9128, Valid loss: 1.8517\n","Saving model with loss 1.852...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1029/3000]: 100%|██████████| 9/9 [00:00<00:00, 61.22it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1029/3000]: Train loss: 1.9766, Valid loss: 2.7722\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1030/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.25it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1030/3000]: Train loss: 1.9679, Valid loss: 1.7509\n","Saving model with loss 1.751...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1031/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.07it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1031/3000]: Train loss: 1.9113, Valid loss: 2.0578\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1032/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.59it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1032/3000]: Train loss: 2.0085, Valid loss: 1.9539\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1033/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.87it/s, loss=1.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1033/3000]: Train loss: 2.0172, Valid loss: 2.1456\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1034/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.17it/s, loss=1.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1034/3000]: Train loss: 1.9396, Valid loss: 2.2702\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1035/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.55it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1035/3000]: Train loss: 2.3108, Valid loss: 2.0772\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1036/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.74it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1036/3000]: Train loss: 2.1021, Valid loss: 2.9708\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1037/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.39it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1037/3000]: Train loss: 1.9938, Valid loss: 2.7187\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1038/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.29it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1038/3000]: Train loss: 2.0077, Valid loss: 2.0984\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1039/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.90it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1039/3000]: Train loss: 2.1290, Valid loss: 2.5362\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1040/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.87it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1040/3000]: Train loss: 2.1271, Valid loss: 1.9845\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1041/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.03it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1041/3000]: Train loss: 2.0463, Valid loss: 2.7205\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1042/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.08it/s, loss=2.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1042/3000]: Train loss: 1.9061, Valid loss: 2.5048\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1043/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.74it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1043/3000]: Train loss: 1.9163, Valid loss: 2.0038\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1044/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.27it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1044/3000]: Train loss: 1.9794, Valid loss: 2.2592\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1045/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.36it/s, loss=2.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1045/3000]: Train loss: 2.1429, Valid loss: 2.2464\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1046/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.32it/s, loss=2.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1046/3000]: Train loss: 2.2355, Valid loss: 3.4972\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1047/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.82it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1047/3000]: Train loss: 2.4169, Valid loss: 3.3791\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1048/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.83it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1048/3000]: Train loss: 2.5443, Valid loss: 4.4864\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1049/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.00it/s, loss=3.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1049/3000]: Train loss: 3.1802, Valid loss: 2.4339\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1050/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.92it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1050/3000]: Train loss: 2.2613, Valid loss: 2.3549\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1051/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.08it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1051/3000]: Train loss: 2.0711, Valid loss: 2.2711\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1052/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.87it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1052/3000]: Train loss: 2.0508, Valid loss: 2.6453\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1053/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.90it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1053/3000]: Train loss: 2.1760, Valid loss: 2.3368\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1054/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.09it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1054/3000]: Train loss: 2.0077, Valid loss: 3.1555\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1055/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.29it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1055/3000]: Train loss: 2.4477, Valid loss: 2.1474\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1056/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.63it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1056/3000]: Train loss: 2.0822, Valid loss: 2.4020\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1057/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.07it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1057/3000]: Train loss: 2.0071, Valid loss: 1.9189\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1058/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.00it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1058/3000]: Train loss: 2.0672, Valid loss: 4.3809\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1059/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.41it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1059/3000]: Train loss: 2.5570, Valid loss: 1.9087\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1060/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.76it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1060/3000]: Train loss: 2.0920, Valid loss: 2.3944\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1061/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.60it/s, loss=2.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1061/3000]: Train loss: 1.9437, Valid loss: 2.3908\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1062/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.23it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1062/3000]: Train loss: 1.9694, Valid loss: 2.4869\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1063/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.03it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1063/3000]: Train loss: 2.0162, Valid loss: 2.0955\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1064/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.11it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1064/3000]: Train loss: 1.9003, Valid loss: 2.1930\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1065/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.80it/s, loss=1.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1065/3000]: Train loss: 1.9511, Valid loss: 1.8596\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1066/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.96it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1066/3000]: Train loss: 1.9929, Valid loss: 2.8524\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1067/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.53it/s, loss=2.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1067/3000]: Train loss: 2.4080, Valid loss: 2.3072\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1068/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.57it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1068/3000]: Train loss: 2.5970, Valid loss: 2.5849\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1069/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.14it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1069/3000]: Train loss: 2.0325, Valid loss: 2.0238\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1070/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.16it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1070/3000]: Train loss: 1.8491, Valid loss: 2.2624\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1071/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.17it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1071/3000]: Train loss: 2.0713, Valid loss: 2.5419\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1072/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.17it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1072/3000]: Train loss: 1.8962, Valid loss: 2.7000\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1073/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.99it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1073/3000]: Train loss: 1.9237, Valid loss: 2.0890\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1074/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.13it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1074/3000]: Train loss: 2.1816, Valid loss: 2.7366\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1075/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.61it/s, loss=4.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1075/3000]: Train loss: 2.6934, Valid loss: 2.4267\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1076/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.75it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1076/3000]: Train loss: 2.6330, Valid loss: 3.6394\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1077/3000]: 100%|██████████| 9/9 [00:00<00:00, 28.23it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1077/3000]: Train loss: 1.9593, Valid loss: 2.5836\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1078/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.91it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1078/3000]: Train loss: 1.9938, Valid loss: 2.9714\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1079/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.90it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1079/3000]: Train loss: 2.3804, Valid loss: 2.6557\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1080/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.57it/s, loss=2.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1080/3000]: Train loss: 1.9837, Valid loss: 2.0860\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1081/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.13it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1081/3000]: Train loss: 2.3044, Valid loss: 2.2433\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1082/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.73it/s, loss=2.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1082/3000]: Train loss: 2.0181, Valid loss: 1.9862\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1083/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.49it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1083/3000]: Train loss: 2.1116, Valid loss: 2.4781\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1084/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.86it/s, loss=2.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1084/3000]: Train loss: 2.3535, Valid loss: 2.0009\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1085/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.03it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1085/3000]: Train loss: 1.9274, Valid loss: 2.2875\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1086/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.41it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1086/3000]: Train loss: 2.1093, Valid loss: 2.6882\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1087/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.92it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1087/3000]: Train loss: 2.1457, Valid loss: 1.9789\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1088/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.28it/s, loss=2.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1088/3000]: Train loss: 2.6227, Valid loss: 3.1312\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1089/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.66it/s, loss=2.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1089/3000]: Train loss: 2.3895, Valid loss: 2.2035\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1090/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.21it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1090/3000]: Train loss: 1.8721, Valid loss: 2.2064\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1091/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.11it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1091/3000]: Train loss: 2.0833, Valid loss: 2.3651\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1092/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.55it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1092/3000]: Train loss: 2.1667, Valid loss: 2.8872\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1093/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.59it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1093/3000]: Train loss: 2.2811, Valid loss: 2.6080\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1094/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.99it/s, loss=2.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1094/3000]: Train loss: 2.3756, Valid loss: 2.1886\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1095/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.15it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1095/3000]: Train loss: 1.8605, Valid loss: 2.0873\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1096/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.03it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1096/3000]: Train loss: 2.1586, Valid loss: 3.8380\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1097/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.11it/s, loss=3.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1097/3000]: Train loss: 2.4100, Valid loss: 2.2934\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1098/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.04it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1098/3000]: Train loss: 2.3831, Valid loss: 2.6685\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1099/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.92it/s, loss=3.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1099/3000]: Train loss: 2.1075, Valid loss: 3.6833\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1100/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.28it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1100/3000]: Train loss: 2.0696, Valid loss: 2.5014\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1101/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.05it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1101/3000]: Train loss: 2.0567, Valid loss: 2.2606\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1102/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.42it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1102/3000]: Train loss: 2.9652, Valid loss: 2.9685\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1103/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.62it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1103/3000]: Train loss: 2.3145, Valid loss: 3.0782\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1104/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.96it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1104/3000]: Train loss: 2.3954, Valid loss: 2.5675\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1105/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.24it/s, loss=2.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1105/3000]: Train loss: 2.3433, Valid loss: 3.9837\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1106/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.69it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1106/3000]: Train loss: 3.1436, Valid loss: 2.8343\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1107/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.48it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1107/3000]: Train loss: 2.5390, Valid loss: 2.4612\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1108/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.10it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1108/3000]: Train loss: 2.3416, Valid loss: 2.6487\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1109/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.35it/s, loss=3.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1109/3000]: Train loss: 2.5371, Valid loss: 2.8291\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1110/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.64it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1110/3000]: Train loss: 2.3055, Valid loss: 2.6299\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1111/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.71it/s, loss=1.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1111/3000]: Train loss: 2.0525, Valid loss: 2.5327\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1112/3000]: 100%|██████████| 9/9 [00:00<00:00, 62.49it/s, loss=1.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1112/3000]: Train loss: 1.9484, Valid loss: 1.9999\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1113/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.06it/s, loss=2.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1113/3000]: Train loss: 2.2078, Valid loss: 2.1697\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1114/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.84it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1114/3000]: Train loss: 1.8237, Valid loss: 2.1764\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1115/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.12it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1115/3000]: Train loss: 1.9018, Valid loss: 2.3617\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1116/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.18it/s, loss=3.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1116/3000]: Train loss: 2.3502, Valid loss: 1.9826\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1117/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.18it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1117/3000]: Train loss: 2.1696, Valid loss: 4.0485\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1118/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.86it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1118/3000]: Train loss: 2.8980, Valid loss: 1.9033\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1119/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.95it/s, loss=2.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1119/3000]: Train loss: 1.9501, Valid loss: 2.5217\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1120/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.56it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1120/3000]: Train loss: 1.8634, Valid loss: 1.9648\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1121/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.14it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1121/3000]: Train loss: 2.8252, Valid loss: 4.2061\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1122/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.33it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1122/3000]: Train loss: 2.9342, Valid loss: 2.2338\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1123/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.31it/s, loss=3.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1123/3000]: Train loss: 2.2951, Valid loss: 1.9772\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1124/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.14it/s, loss=1.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1124/3000]: Train loss: 2.0058, Valid loss: 2.0332\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1125/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.43it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1125/3000]: Train loss: 1.9803, Valid loss: 2.9488\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1126/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.39it/s, loss=2.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1126/3000]: Train loss: 2.5142, Valid loss: 1.9238\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1127/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.40it/s, loss=3.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1127/3000]: Train loss: 2.2414, Valid loss: 2.2980\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1128/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.40it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1128/3000]: Train loss: 2.5137, Valid loss: 3.6682\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1129/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.74it/s, loss=2.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1129/3000]: Train loss: 2.2769, Valid loss: 2.4254\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1130/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.46it/s, loss=3.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1130/3000]: Train loss: 2.2070, Valid loss: 3.9353\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1131/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.34it/s, loss=1.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1131/3000]: Train loss: 2.3788, Valid loss: 3.2254\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1132/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.75it/s, loss=3.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1132/3000]: Train loss: 2.6656, Valid loss: 2.2448\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1133/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.59it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1133/3000]: Train loss: 2.2866, Valid loss: 2.7894\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1134/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.51it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1134/3000]: Train loss: 1.8792, Valid loss: 2.4911\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1135/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.90it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1135/3000]: Train loss: 1.9388, Valid loss: 2.0538\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1136/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.40it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1136/3000]: Train loss: 1.9475, Valid loss: 2.7204\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1137/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.38it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1137/3000]: Train loss: 2.2473, Valid loss: 2.8188\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1138/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.53it/s, loss=2.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1138/3000]: Train loss: 2.4517, Valid loss: 1.9688\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1139/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.03it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1139/3000]: Train loss: 2.0236, Valid loss: 2.5063\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1140/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.30it/s, loss=3.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1140/3000]: Train loss: 2.7519, Valid loss: 2.0792\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1141/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.54it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1141/3000]: Train loss: 2.0821, Valid loss: 2.8341\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1142/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.22it/s, loss=2.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1142/3000]: Train loss: 2.2124, Valid loss: 2.0844\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1143/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.40it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1143/3000]: Train loss: 3.2358, Valid loss: 4.4010\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1144/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.86it/s, loss=4.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1144/3000]: Train loss: 3.8953, Valid loss: 2.3026\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1145/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.21it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1145/3000]: Train loss: 2.5971, Valid loss: 2.2103\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1146/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.56it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1146/3000]: Train loss: 1.9871, Valid loss: 2.3856\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1147/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.78it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1147/3000]: Train loss: 1.9988, Valid loss: 2.2844\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1148/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.64it/s, loss=1.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1148/3000]: Train loss: 1.8713, Valid loss: 1.9611\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1149/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.91it/s, loss=3.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1149/3000]: Train loss: 2.3000, Valid loss: 2.7089\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1150/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.20it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1150/3000]: Train loss: 2.3951, Valid loss: 2.2000\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1151/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.23it/s, loss=2.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1151/3000]: Train loss: 1.9803, Valid loss: 1.9529\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1152/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.92it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1152/3000]: Train loss: 1.9688, Valid loss: 2.6047\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1153/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.71it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1153/3000]: Train loss: 2.0592, Valid loss: 2.1032\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1154/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.03it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1154/3000]: Train loss: 1.8383, Valid loss: 2.1383\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1155/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.44it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1155/3000]: Train loss: 1.9011, Valid loss: 2.2195\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1156/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.74it/s, loss=2.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1156/3000]: Train loss: 2.0752, Valid loss: 2.1364\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1157/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.57it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1157/3000]: Train loss: 1.9201, Valid loss: 2.1416\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1158/3000]: 100%|██████████| 9/9 [00:00<00:00, 31.75it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1158/3000]: Train loss: 1.9943, Valid loss: 2.2130\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1159/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.66it/s, loss=2.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1159/3000]: Train loss: 2.0453, Valid loss: 2.5141\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1160/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.92it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1160/3000]: Train loss: 1.9659, Valid loss: 2.1075\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1161/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.09it/s, loss=2.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1161/3000]: Train loss: 2.0213, Valid loss: 2.4682\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1162/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.22it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1162/3000]: Train loss: 1.8583, Valid loss: 2.1070\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1163/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.86it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1163/3000]: Train loss: 1.9329, Valid loss: 2.3202\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1164/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.79it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1164/3000]: Train loss: 2.1029, Valid loss: 2.1605\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1165/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.25it/s, loss=1.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1165/3000]: Train loss: 1.9616, Valid loss: 2.2039\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1166/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.80it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1166/3000]: Train loss: 2.1028, Valid loss: 1.9874\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1167/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.52it/s, loss=1.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1167/3000]: Train loss: 1.7964, Valid loss: 2.2850\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1168/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.99it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1168/3000]: Train loss: 1.8563, Valid loss: 1.9638\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1169/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.85it/s, loss=3.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1169/3000]: Train loss: 2.2847, Valid loss: 2.6403\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1170/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.41it/s, loss=3.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1170/3000]: Train loss: 2.3050, Valid loss: 5.4251\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1171/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.07it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1171/3000]: Train loss: 2.5465, Valid loss: 2.7616\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1172/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.58it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1172/3000]: Train loss: 2.1887, Valid loss: 2.2944\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1173/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.20it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1173/3000]: Train loss: 1.9096, Valid loss: 2.3593\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1174/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.73it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1174/3000]: Train loss: 2.0845, Valid loss: 2.2816\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1175/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.19it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1175/3000]: Train loss: 1.9583, Valid loss: 2.1214\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1176/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.65it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1176/3000]: Train loss: 1.8225, Valid loss: 2.5981\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1177/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.40it/s, loss=2.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1177/3000]: Train loss: 1.9235, Valid loss: 2.2526\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1178/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.08it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1178/3000]: Train loss: 1.8690, Valid loss: 2.2732\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1179/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.84it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1179/3000]: Train loss: 2.2242, Valid loss: 3.9317\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1180/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.34it/s, loss=1.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1180/3000]: Train loss: 2.2291, Valid loss: 2.1254\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1181/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.91it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1181/3000]: Train loss: 1.8548, Valid loss: 1.9572\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1182/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.70it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1182/3000]: Train loss: 1.8788, Valid loss: 2.2625\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1183/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.92it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1183/3000]: Train loss: 1.9098, Valid loss: 2.0689\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1184/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.37it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1184/3000]: Train loss: 1.8043, Valid loss: 2.0779\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1185/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.88it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1185/3000]: Train loss: 1.8573, Valid loss: 2.7872\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1186/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.70it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1186/3000]: Train loss: 1.9684, Valid loss: 2.1622\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1187/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.10it/s, loss=2.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1187/3000]: Train loss: 2.0812, Valid loss: 2.2868\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1188/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.04it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1188/3000]: Train loss: 2.5542, Valid loss: 4.6282\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1189/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.72it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1189/3000]: Train loss: 2.7085, Valid loss: 2.1380\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1190/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.39it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1190/3000]: Train loss: 1.9866, Valid loss: 2.2532\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1191/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.50it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1191/3000]: Train loss: 1.9345, Valid loss: 2.0031\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1192/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.84it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1192/3000]: Train loss: 2.0621, Valid loss: 2.0691\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1193/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.55it/s, loss=1.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1193/3000]: Train loss: 1.9261, Valid loss: 2.2144\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1194/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.79it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1194/3000]: Train loss: 2.0104, Valid loss: 2.2442\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1195/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.51it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1195/3000]: Train loss: 1.8602, Valid loss: 2.3614\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1196/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.97it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1196/3000]: Train loss: 1.9366, Valid loss: 3.1045\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1197/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.00it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1197/3000]: Train loss: 2.0542, Valid loss: 2.3801\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1198/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.31it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1198/3000]: Train loss: 1.9477, Valid loss: 2.2343\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1199/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.46it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1199/3000]: Train loss: 2.2733, Valid loss: 1.9407\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1200/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.06it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1200/3000]: Train loss: 2.1662, Valid loss: 2.6009\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1201/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.00it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1201/3000]: Train loss: 2.0794, Valid loss: 2.3342\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1202/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.09it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1202/3000]: Train loss: 2.3831, Valid loss: 2.1581\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1203/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.33it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1203/3000]: Train loss: 2.0663, Valid loss: 2.8825\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1204/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.87it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1204/3000]: Train loss: 2.3224, Valid loss: 2.7017\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1205/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.35it/s, loss=3.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1205/3000]: Train loss: 3.7256, Valid loss: 2.0855\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1206/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.32it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1206/3000]: Train loss: 2.3870, Valid loss: 3.5931\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1207/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.86it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1207/3000]: Train loss: 2.0620, Valid loss: 1.9196\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1208/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.24it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1208/3000]: Train loss: 1.8243, Valid loss: 1.8160\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1209/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.02it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1209/3000]: Train loss: 1.8883, Valid loss: 2.3435\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1210/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.62it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1210/3000]: Train loss: 1.8966, Valid loss: 2.3393\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1211/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.56it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1211/3000]: Train loss: 1.8879, Valid loss: 2.1984\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1212/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.97it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1212/3000]: Train loss: 1.9123, Valid loss: 2.5267\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1213/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.68it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1213/3000]: Train loss: 2.2859, Valid loss: 1.8460\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1214/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.85it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1214/3000]: Train loss: 1.8310, Valid loss: 2.3911\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1215/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.45it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1215/3000]: Train loss: 2.0682, Valid loss: 2.4759\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1216/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.43it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1216/3000]: Train loss: 2.4854, Valid loss: 2.9661\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1217/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.75it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1217/3000]: Train loss: 2.2207, Valid loss: 3.7046\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1218/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.45it/s, loss=3.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1218/3000]: Train loss: 2.5550, Valid loss: 2.7515\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1219/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.59it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1219/3000]: Train loss: 2.1415, Valid loss: 2.4944\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1220/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.62it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1220/3000]: Train loss: 1.9623, Valid loss: 2.6244\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1221/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.72it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1221/3000]: Train loss: 2.3773, Valid loss: 1.9502\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1222/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.80it/s, loss=1.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1222/3000]: Train loss: 1.8900, Valid loss: 2.3294\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1223/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.15it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1223/3000]: Train loss: 1.7990, Valid loss: 2.0697\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1224/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.52it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1224/3000]: Train loss: 1.8246, Valid loss: 2.3110\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1225/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.16it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1225/3000]: Train loss: 2.0779, Valid loss: 2.2507\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1226/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.21it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1226/3000]: Train loss: 1.8400, Valid loss: 2.2618\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1227/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.07it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1227/3000]: Train loss: 1.8467, Valid loss: 2.1562\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1228/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.99it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1228/3000]: Train loss: 1.7839, Valid loss: 2.4594\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1229/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.26it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1229/3000]: Train loss: 1.8158, Valid loss: 2.1246\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1230/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.67it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1230/3000]: Train loss: 2.0574, Valid loss: 2.7417\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1231/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.31it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1231/3000]: Train loss: 2.2102, Valid loss: 2.9289\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1232/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.67it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1232/3000]: Train loss: 2.5712, Valid loss: 2.6468\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1233/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.12it/s, loss=2.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1233/3000]: Train loss: 3.1132, Valid loss: 2.4617\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1234/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.40it/s, loss=2.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1234/3000]: Train loss: 2.7885, Valid loss: 4.1456\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1235/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.25it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1235/3000]: Train loss: 2.7299, Valid loss: 4.3823\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1236/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.23it/s, loss=3.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1236/3000]: Train loss: 4.1314, Valid loss: 4.7505\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1237/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.58it/s, loss=4.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1237/3000]: Train loss: 3.7124, Valid loss: 2.3139\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1238/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.26it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1238/3000]: Train loss: 2.6598, Valid loss: 3.6276\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1239/3000]: 100%|██████████| 9/9 [00:00<00:00, 31.79it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1239/3000]: Train loss: 2.7750, Valid loss: 2.4462\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1240/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.60it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1240/3000]: Train loss: 2.4425, Valid loss: 2.3192\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1241/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.58it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1241/3000]: Train loss: 1.9740, Valid loss: 2.7929\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1242/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.85it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1242/3000]: Train loss: 1.9085, Valid loss: 2.0244\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1243/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.64it/s, loss=3.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1243/3000]: Train loss: 2.3867, Valid loss: 2.2837\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1244/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.13it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1244/3000]: Train loss: 2.5179, Valid loss: 3.6851\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1245/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.93it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1245/3000]: Train loss: 2.5121, Valid loss: 4.8987\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1246/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.74it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1246/3000]: Train loss: 2.8869, Valid loss: 2.7063\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1247/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.64it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1247/3000]: Train loss: 2.0031, Valid loss: 1.9598\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1248/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.90it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1248/3000]: Train loss: 1.8688, Valid loss: 2.1348\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1249/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.19it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1249/3000]: Train loss: 1.8422, Valid loss: 2.5784\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1250/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.02it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1250/3000]: Train loss: 1.9888, Valid loss: 1.9596\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1251/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.49it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1251/3000]: Train loss: 2.6063, Valid loss: 3.0439\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1252/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.65it/s, loss=3.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1252/3000]: Train loss: 2.7248, Valid loss: 2.0823\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1253/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.18it/s, loss=3.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1253/3000]: Train loss: 2.3228, Valid loss: 2.4062\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1254/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.89it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1254/3000]: Train loss: 1.9401, Valid loss: 2.6471\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1255/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.84it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1255/3000]: Train loss: 1.9852, Valid loss: 2.1369\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1256/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.59it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1256/3000]: Train loss: 2.0642, Valid loss: 2.1673\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1257/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.87it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1257/3000]: Train loss: 1.9721, Valid loss: 3.6357\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1258/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.23it/s, loss=3.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1258/3000]: Train loss: 2.1563, Valid loss: 3.6856\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1259/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.45it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1259/3000]: Train loss: 2.6050, Valid loss: 2.1975\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1260/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.67it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1260/3000]: Train loss: 1.8530, Valid loss: 1.7362\n","Saving model with loss 1.736...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1261/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.70it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1261/3000]: Train loss: 1.8973, Valid loss: 2.1759\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1262/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.07it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1262/3000]: Train loss: 1.8839, Valid loss: 4.2732\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1263/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.14it/s, loss=3.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1263/3000]: Train loss: 3.2782, Valid loss: 2.9567\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1264/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.51it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1264/3000]: Train loss: 4.2108, Valid loss: 3.7755\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1265/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.02it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1265/3000]: Train loss: 2.2654, Valid loss: 1.8475\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1266/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.71it/s, loss=2.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1266/3000]: Train loss: 2.1598, Valid loss: 2.5086\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1267/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.86it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1267/3000]: Train loss: 2.1793, Valid loss: 2.5825\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1268/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.31it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1268/3000]: Train loss: 2.2587, Valid loss: 2.1215\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1269/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.32it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1269/3000]: Train loss: 1.8921, Valid loss: 2.0007\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1270/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.29it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1270/3000]: Train loss: 1.8511, Valid loss: 4.5397\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1271/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.68it/s, loss=4.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1271/3000]: Train loss: 3.3434, Valid loss: 3.1190\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1272/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.69it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1272/3000]: Train loss: 2.7672, Valid loss: 3.5366\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1273/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.85it/s, loss=2.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1273/3000]: Train loss: 2.5447, Valid loss: 4.3256\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1274/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.62it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1274/3000]: Train loss: 2.3203, Valid loss: 2.0023\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1275/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.80it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1275/3000]: Train loss: 2.1983, Valid loss: 2.3470\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1276/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.31it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1276/3000]: Train loss: 1.9180, Valid loss: 3.7519\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1277/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.47it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1277/3000]: Train loss: 2.6164, Valid loss: 2.2126\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1278/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.70it/s, loss=4.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1278/3000]: Train loss: 2.5767, Valid loss: 1.9839\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1279/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.71it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1279/3000]: Train loss: 2.4382, Valid loss: 2.6399\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1280/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.83it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1280/3000]: Train loss: 1.9640, Valid loss: 2.4538\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1281/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.00it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1281/3000]: Train loss: 2.0926, Valid loss: 2.4732\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1282/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.92it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1282/3000]: Train loss: 1.9960, Valid loss: 2.1156\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1283/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.44it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1283/3000]: Train loss: 1.8931, Valid loss: 1.8286\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1284/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.70it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1284/3000]: Train loss: 1.8287, Valid loss: 1.9704\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1285/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.26it/s, loss=2.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1285/3000]: Train loss: 1.9435, Valid loss: 2.3558\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1286/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.45it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1286/3000]: Train loss: 2.0547, Valid loss: 2.0594\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1287/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.19it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1287/3000]: Train loss: 1.8113, Valid loss: 2.0230\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1288/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.17it/s, loss=2.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1288/3000]: Train loss: 1.9696, Valid loss: 1.8164\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1289/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.73it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1289/3000]: Train loss: 1.9363, Valid loss: 2.0558\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1290/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.59it/s, loss=1.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1290/3000]: Train loss: 1.7923, Valid loss: 2.4245\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1291/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.87it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1291/3000]: Train loss: 2.0768, Valid loss: 4.2036\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1292/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.68it/s, loss=2.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1292/3000]: Train loss: 2.4143, Valid loss: 3.0121\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1293/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.05it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1293/3000]: Train loss: 1.9543, Valid loss: 1.8978\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1294/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.14it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1294/3000]: Train loss: 1.8953, Valid loss: 2.8367\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1295/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.92it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1295/3000]: Train loss: 2.1560, Valid loss: 1.8522\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1296/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.38it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1296/3000]: Train loss: 2.3118, Valid loss: 3.7393\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1297/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.10it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1297/3000]: Train loss: 2.2986, Valid loss: 2.3459\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1298/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.98it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1298/3000]: Train loss: 1.8954, Valid loss: 2.5559\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1299/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.03it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1299/3000]: Train loss: 1.9465, Valid loss: 2.7344\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1300/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.02it/s, loss=3.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1300/3000]: Train loss: 2.4285, Valid loss: 2.5994\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1301/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.16it/s, loss=1.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1301/3000]: Train loss: 2.3315, Valid loss: 2.8238\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1302/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.62it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1302/3000]: Train loss: 2.1927, Valid loss: 2.2212\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1303/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.81it/s, loss=1.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1303/3000]: Train loss: 1.9803, Valid loss: 1.8520\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1304/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.86it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1304/3000]: Train loss: 1.7986, Valid loss: 3.1522\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1305/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.56it/s, loss=2.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1305/3000]: Train loss: 2.3877, Valid loss: 2.3430\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1306/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.42it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1306/3000]: Train loss: 1.8328, Valid loss: 2.5362\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1307/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.23it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1307/3000]: Train loss: 1.8112, Valid loss: 1.9414\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1308/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.15it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1308/3000]: Train loss: 1.8589, Valid loss: 2.5385\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1309/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.17it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1309/3000]: Train loss: 1.9906, Valid loss: 3.2339\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1310/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.01it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1310/3000]: Train loss: 2.0841, Valid loss: 2.1166\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1311/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.48it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1311/3000]: Train loss: 1.9462, Valid loss: 2.4488\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1312/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.49it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1312/3000]: Train loss: 1.7556, Valid loss: 2.1443\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1313/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.02it/s, loss=1.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1313/3000]: Train loss: 1.7558, Valid loss: 2.3627\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1314/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.89it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1314/3000]: Train loss: 2.0889, Valid loss: 2.3009\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1315/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.87it/s, loss=2.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1315/3000]: Train loss: 2.1838, Valid loss: 2.0505\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1316/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.25it/s, loss=2.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1316/3000]: Train loss: 2.8137, Valid loss: 3.2737\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1317/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.06it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1317/3000]: Train loss: 2.0036, Valid loss: 2.4079\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1318/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.99it/s, loss=2.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1318/3000]: Train loss: 1.9670, Valid loss: 3.6020\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1319/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.07it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1319/3000]: Train loss: 2.4781, Valid loss: 2.0852\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1320/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.03it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1320/3000]: Train loss: 1.9163, Valid loss: 2.0916\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1321/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.33it/s, loss=4.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1321/3000]: Train loss: 3.0958, Valid loss: 2.4634\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1322/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.01it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1322/3000]: Train loss: 2.6015, Valid loss: 3.3587\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1323/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.13it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1323/3000]: Train loss: 2.0273, Valid loss: 2.1224\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1324/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.39it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1324/3000]: Train loss: 2.4289, Valid loss: 2.7442\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1325/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.30it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1325/3000]: Train loss: 3.1296, Valid loss: 3.8595\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1326/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.91it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1326/3000]: Train loss: 2.0219, Valid loss: 2.3978\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1327/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.72it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1327/3000]: Train loss: 1.9016, Valid loss: 2.6393\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1328/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.70it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1328/3000]: Train loss: 2.1447, Valid loss: 2.2200\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1329/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.92it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1329/3000]: Train loss: 2.0263, Valid loss: 3.2150\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1330/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.44it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1330/3000]: Train loss: 2.2545, Valid loss: 2.5257\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1331/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.87it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1331/3000]: Train loss: 2.0045, Valid loss: 1.7488\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1332/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.70it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1332/3000]: Train loss: 1.7991, Valid loss: 2.7746\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1333/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.57it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1333/3000]: Train loss: 1.9179, Valid loss: 2.3753\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1334/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.05it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1334/3000]: Train loss: 1.9511, Valid loss: 1.9336\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1335/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.84it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1335/3000]: Train loss: 1.9577, Valid loss: 2.4569\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1336/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.32it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1336/3000]: Train loss: 1.9301, Valid loss: 1.9938\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1337/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.72it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1337/3000]: Train loss: 1.8962, Valid loss: 2.3140\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1338/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.62it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1338/3000]: Train loss: 1.8386, Valid loss: 2.4749\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1339/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.60it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1339/3000]: Train loss: 1.8444, Valid loss: 1.8335\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1340/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.41it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1340/3000]: Train loss: 1.9915, Valid loss: 1.8877\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1341/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.59it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1341/3000]: Train loss: 1.9775, Valid loss: 2.2939\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1342/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.93it/s, loss=3.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1342/3000]: Train loss: 1.9485, Valid loss: 2.4297\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1343/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.49it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1343/3000]: Train loss: 1.9662, Valid loss: 2.2087\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1344/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.41it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1344/3000]: Train loss: 2.5213, Valid loss: 4.6405\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1345/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.20it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1345/3000]: Train loss: 2.9292, Valid loss: 4.6132\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1346/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.31it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1346/3000]: Train loss: 3.2568, Valid loss: 4.6461\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1347/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.07it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1347/3000]: Train loss: 2.7344, Valid loss: 2.4054\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1348/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.77it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1348/3000]: Train loss: 2.2766, Valid loss: 1.9032\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1349/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.29it/s, loss=1.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1349/3000]: Train loss: 2.0206, Valid loss: 2.5092\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1350/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.36it/s, loss=2.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1350/3000]: Train loss: 2.2752, Valid loss: 2.3688\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1351/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.14it/s, loss=3.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1351/3000]: Train loss: 3.4274, Valid loss: 4.1532\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1352/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.91it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1352/3000]: Train loss: 2.7761, Valid loss: 2.4912\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1353/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.35it/s, loss=1.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1353/3000]: Train loss: 1.8889, Valid loss: 1.9074\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1354/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.91it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1354/3000]: Train loss: 1.7873, Valid loss: 2.4347\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1355/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.49it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1355/3000]: Train loss: 1.8979, Valid loss: 2.5905\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1356/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.35it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1356/3000]: Train loss: 1.9119, Valid loss: 1.9211\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1357/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.33it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1357/3000]: Train loss: 1.7931, Valid loss: 2.1575\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1358/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.91it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1358/3000]: Train loss: 1.8209, Valid loss: 2.0722\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1359/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.29it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1359/3000]: Train loss: 1.8943, Valid loss: 2.0560\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1360/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.76it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1360/3000]: Train loss: 1.8628, Valid loss: 2.3596\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1361/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.21it/s, loss=1.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1361/3000]: Train loss: 1.8714, Valid loss: 2.6313\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1362/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.99it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1362/3000]: Train loss: 1.9207, Valid loss: 3.0034\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1363/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.57it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1363/3000]: Train loss: 2.0354, Valid loss: 2.3995\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1364/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.36it/s, loss=3.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1364/3000]: Train loss: 2.3516, Valid loss: 1.9039\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1365/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.69it/s, loss=2.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1365/3000]: Train loss: 2.0923, Valid loss: 1.7311\n","Saving model with loss 1.731...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1366/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.68it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1366/3000]: Train loss: 1.9977, Valid loss: 2.0161\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1367/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.33it/s, loss=1.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1367/3000]: Train loss: 1.9289, Valid loss: 2.4847\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1368/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.84it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1368/3000]: Train loss: 1.9327, Valid loss: 2.0236\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1369/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.87it/s, loss=2.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1369/3000]: Train loss: 1.8254, Valid loss: 2.0020\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1370/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.24it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1370/3000]: Train loss: 1.8673, Valid loss: 1.9408\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1371/3000]: 100%|██████████| 9/9 [00:00<00:00, 60.64it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1371/3000]: Train loss: 1.7763, Valid loss: 1.7744\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1372/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.23it/s, loss=2.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1372/3000]: Train loss: 2.0149, Valid loss: 2.8773\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1373/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.53it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1373/3000]: Train loss: 1.9737, Valid loss: 1.8288\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1374/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.69it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1374/3000]: Train loss: 2.0295, Valid loss: 2.1504\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1375/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.49it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1375/3000]: Train loss: 2.0928, Valid loss: 2.1458\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1376/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.79it/s, loss=1.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1376/3000]: Train loss: 1.8823, Valid loss: 2.1014\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1377/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.00it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1377/3000]: Train loss: 1.8496, Valid loss: 3.1399\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1378/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.64it/s, loss=2.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1378/3000]: Train loss: 2.1048, Valid loss: 3.1076\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1379/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.60it/s, loss=3.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1379/3000]: Train loss: 2.6317, Valid loss: 2.0500\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1380/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.25it/s, loss=2.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1380/3000]: Train loss: 2.4284, Valid loss: 2.5539\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1381/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.36it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1381/3000]: Train loss: 2.6359, Valid loss: 3.7967\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1382/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.77it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1382/3000]: Train loss: 2.3463, Valid loss: 2.0455\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1383/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.82it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1383/3000]: Train loss: 1.8732, Valid loss: 1.8775\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1384/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.91it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1384/3000]: Train loss: 1.7724, Valid loss: 2.1091\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1385/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.09it/s, loss=2.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1385/3000]: Train loss: 2.2274, Valid loss: 2.5945\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1386/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.94it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1386/3000]: Train loss: 1.9993, Valid loss: 3.2317\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1387/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.87it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1387/3000]: Train loss: 2.2212, Valid loss: 2.0591\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1388/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.67it/s, loss=2.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1388/3000]: Train loss: 2.2146, Valid loss: 2.3368\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1389/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.70it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1389/3000]: Train loss: 1.9401, Valid loss: 2.3631\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1390/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.67it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1390/3000]: Train loss: 1.8121, Valid loss: 2.1690\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1391/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.55it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1391/3000]: Train loss: 1.8418, Valid loss: 1.9014\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1392/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.77it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1392/3000]: Train loss: 1.9081, Valid loss: 1.9295\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1393/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.81it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1393/3000]: Train loss: 1.8962, Valid loss: 1.9879\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1394/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.82it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1394/3000]: Train loss: 1.9454, Valid loss: 2.7752\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1395/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.98it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1395/3000]: Train loss: 2.4390, Valid loss: 3.4716\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1396/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.12it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1396/3000]: Train loss: 2.5263, Valid loss: 2.1547\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1397/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.99it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1397/3000]: Train loss: 1.9365, Valid loss: 2.2199\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1398/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.63it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1398/3000]: Train loss: 1.8186, Valid loss: 1.7843\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1399/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.35it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1399/3000]: Train loss: 1.7860, Valid loss: 2.2128\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1400/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.18it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1400/3000]: Train loss: 1.9752, Valid loss: 2.4944\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1401/3000]: 100%|██████████| 9/9 [00:00<00:00, 28.01it/s, loss=1.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1401/3000]: Train loss: 2.0287, Valid loss: 3.6195\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1402/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.18it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1402/3000]: Train loss: 2.3356, Valid loss: 1.9141\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1403/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.78it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1403/3000]: Train loss: 1.8555, Valid loss: 2.4301\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1404/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.03it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1404/3000]: Train loss: 1.8404, Valid loss: 2.1546\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1405/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.48it/s, loss=2.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1405/3000]: Train loss: 2.0327, Valid loss: 2.4043\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1406/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.15it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1406/3000]: Train loss: 2.4050, Valid loss: 2.3792\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1407/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.41it/s, loss=3.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1407/3000]: Train loss: 2.0130, Valid loss: 2.3751\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1408/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.65it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1408/3000]: Train loss: 2.2792, Valid loss: 2.9841\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1409/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.76it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1409/3000]: Train loss: 2.1873, Valid loss: 2.7055\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1410/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.83it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1410/3000]: Train loss: 2.1205, Valid loss: 2.3454\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1411/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.24it/s, loss=1.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1411/3000]: Train loss: 1.7741, Valid loss: 2.4808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1412/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.45it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1412/3000]: Train loss: 1.7725, Valid loss: 2.7569\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1413/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.58it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1413/3000]: Train loss: 1.9248, Valid loss: 2.5408\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1414/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.11it/s, loss=1.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1414/3000]: Train loss: 2.0068, Valid loss: 2.8860\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1415/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.77it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1415/3000]: Train loss: 2.1569, Valid loss: 1.8836\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1416/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.09it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1416/3000]: Train loss: 1.9867, Valid loss: 2.3142\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1417/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.13it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1417/3000]: Train loss: 2.2071, Valid loss: 2.2050\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1418/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.98it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1418/3000]: Train loss: 1.9090, Valid loss: 2.1755\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1419/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.50it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1419/3000]: Train loss: 1.7691, Valid loss: 2.5342\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1420/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.80it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1420/3000]: Train loss: 2.2600, Valid loss: 2.4200\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1421/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.10it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1421/3000]: Train loss: 1.9235, Valid loss: 1.9654\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1422/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.91it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1422/3000]: Train loss: 1.8147, Valid loss: 2.5551\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1423/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.80it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1423/3000]: Train loss: 1.9827, Valid loss: 1.8963\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1424/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.03it/s, loss=4.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1424/3000]: Train loss: 3.5479, Valid loss: 3.4359\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1425/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.06it/s, loss=4.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1425/3000]: Train loss: 3.1021, Valid loss: 3.3884\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1426/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.42it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1426/3000]: Train loss: 2.7190, Valid loss: 2.6595\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1427/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.49it/s, loss=2.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1427/3000]: Train loss: 2.0869, Valid loss: 2.2874\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1428/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.19it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1428/3000]: Train loss: 1.7653, Valid loss: 2.1425\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1429/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.43it/s, loss=1.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1429/3000]: Train loss: 1.8219, Valid loss: 1.9474\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1430/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.41it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1430/3000]: Train loss: 1.7269, Valid loss: 1.9433\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1431/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.95it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1431/3000]: Train loss: 2.0206, Valid loss: 2.1486\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1432/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.15it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1432/3000]: Train loss: 1.7150, Valid loss: 1.9320\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1433/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.38it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1433/3000]: Train loss: 1.8913, Valid loss: 2.2670\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1434/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.32it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1434/3000]: Train loss: 1.8180, Valid loss: 2.2770\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1435/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.45it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1435/3000]: Train loss: 2.1051, Valid loss: 2.1933\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1436/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.81it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1436/3000]: Train loss: 2.0719, Valid loss: 2.6506\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1437/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.07it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1437/3000]: Train loss: 2.1872, Valid loss: 2.9334\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1438/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.73it/s, loss=2.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1438/3000]: Train loss: 2.3918, Valid loss: 1.7930\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1439/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.90it/s, loss=1.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1439/3000]: Train loss: 2.1583, Valid loss: 2.0172\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1440/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.43it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1440/3000]: Train loss: 1.8992, Valid loss: 3.3030\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1441/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.30it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1441/3000]: Train loss: 2.4890, Valid loss: 3.6599\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1442/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.25it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1442/3000]: Train loss: 2.3387, Valid loss: 2.3542\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1443/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.95it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1443/3000]: Train loss: 1.8001, Valid loss: 1.9318\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1444/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.69it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1444/3000]: Train loss: 1.8024, Valid loss: 2.1405\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1445/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.91it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1445/3000]: Train loss: 1.7688, Valid loss: 2.0754\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1446/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.58it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1446/3000]: Train loss: 1.9955, Valid loss: 1.9249\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1447/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.30it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1447/3000]: Train loss: 1.8522, Valid loss: 2.4840\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1448/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.63it/s, loss=1.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1448/3000]: Train loss: 1.8268, Valid loss: 2.5599\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1449/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.59it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1449/3000]: Train loss: 1.8528, Valid loss: 2.1618\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1450/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.55it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1450/3000]: Train loss: 1.7801, Valid loss: 1.8956\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1451/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.02it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1451/3000]: Train loss: 1.7491, Valid loss: 1.8454\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1452/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.19it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1452/3000]: Train loss: 1.9060, Valid loss: 1.9412\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1453/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.45it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1453/3000]: Train loss: 2.0327, Valid loss: 2.2147\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1454/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.87it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1454/3000]: Train loss: 1.9480, Valid loss: 2.3384\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1455/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.70it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1455/3000]: Train loss: 1.7843, Valid loss: 1.9855\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1456/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.83it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1456/3000]: Train loss: 1.8847, Valid loss: 2.8371\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1457/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.85it/s, loss=1.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1457/3000]: Train loss: 1.9195, Valid loss: 2.5639\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1458/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.19it/s, loss=3.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1458/3000]: Train loss: 2.2985, Valid loss: 2.1127\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1459/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.95it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1459/3000]: Train loss: 2.2937, Valid loss: 1.8889\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1460/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.04it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1460/3000]: Train loss: 1.7483, Valid loss: 2.3353\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1461/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.91it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1461/3000]: Train loss: 1.8145, Valid loss: 1.9952\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1462/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.74it/s, loss=1.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1462/3000]: Train loss: 1.7501, Valid loss: 1.9806\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1463/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.08it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1463/3000]: Train loss: 1.8422, Valid loss: 2.0184\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1464/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.24it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1464/3000]: Train loss: 1.7667, Valid loss: 2.4219\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1465/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.75it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1465/3000]: Train loss: 2.3921, Valid loss: 1.8370\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1466/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.90it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1466/3000]: Train loss: 2.6680, Valid loss: 3.5953\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1467/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.27it/s, loss=1.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1467/3000]: Train loss: 2.2072, Valid loss: 2.6788\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1468/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.60it/s, loss=2.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1468/3000]: Train loss: 2.1990, Valid loss: 2.4254\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1469/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.64it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1469/3000]: Train loss: 1.8788, Valid loss: 2.8391\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1470/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.09it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1470/3000]: Train loss: 2.4526, Valid loss: 2.0502\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1471/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.77it/s, loss=3.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1471/3000]: Train loss: 3.0386, Valid loss: 2.0070\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1472/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.57it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1472/3000]: Train loss: 2.4544, Valid loss: 2.1758\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1473/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.12it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1473/3000]: Train loss: 1.9687, Valid loss: 2.6396\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1474/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.39it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1474/3000]: Train loss: 2.0513, Valid loss: 3.0415\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1475/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.27it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1475/3000]: Train loss: 2.2353, Valid loss: 1.7483\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1476/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.11it/s, loss=1.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1476/3000]: Train loss: 2.1715, Valid loss: 2.3501\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1477/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.20it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1477/3000]: Train loss: 1.9536, Valid loss: 1.8922\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1478/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.14it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1478/3000]: Train loss: 1.8216, Valid loss: 2.0559\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1479/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.13it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1479/3000]: Train loss: 1.8174, Valid loss: 1.9946\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1480/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.44it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1480/3000]: Train loss: 1.7599, Valid loss: 2.2487\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1481/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.93it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1481/3000]: Train loss: 1.8062, Valid loss: 1.7218\n","Saving model with loss 1.722...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1482/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.93it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1482/3000]: Train loss: 1.7246, Valid loss: 2.3966\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1483/3000]: 100%|██████████| 9/9 [00:00<00:00, 29.70it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1483/3000]: Train loss: 1.7363, Valid loss: 1.6272\n","Saving model with loss 1.627...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1484/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.56it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1484/3000]: Train loss: 1.7284, Valid loss: 1.9830\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1485/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.46it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1485/3000]: Train loss: 1.8361, Valid loss: 3.7253\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1486/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.20it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1486/3000]: Train loss: 2.3987, Valid loss: 2.5974\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1487/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.63it/s, loss=2.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1487/3000]: Train loss: 2.3695, Valid loss: 2.3688\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1488/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.12it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1488/3000]: Train loss: 1.8377, Valid loss: 2.6417\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1489/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.83it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1489/3000]: Train loss: 1.8688, Valid loss: 2.2295\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1490/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.16it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1490/3000]: Train loss: 1.7608, Valid loss: 2.1687\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1491/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.58it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1491/3000]: Train loss: 1.8530, Valid loss: 1.8633\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1492/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.53it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1492/3000]: Train loss: 1.7641, Valid loss: 2.1231\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1493/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.63it/s, loss=2.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1493/3000]: Train loss: 1.8125, Valid loss: 2.4234\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1494/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.32it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1494/3000]: Train loss: 1.9852, Valid loss: 2.2969\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1495/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.21it/s, loss=2.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1495/3000]: Train loss: 1.9719, Valid loss: 2.7215\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1496/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.00it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1496/3000]: Train loss: 2.2357, Valid loss: 1.8807\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1497/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.63it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1497/3000]: Train loss: 1.8821, Valid loss: 1.9447\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1498/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.00it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1498/3000]: Train loss: 2.1692, Valid loss: 3.0157\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1499/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.77it/s, loss=3.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1499/3000]: Train loss: 2.3044, Valid loss: 2.7877\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1500/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.89it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1500/3000]: Train loss: 2.2162, Valid loss: 1.9155\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1501/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.57it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1501/3000]: Train loss: 1.9173, Valid loss: 1.9047\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1502/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.34it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1502/3000]: Train loss: 2.1816, Valid loss: 2.6362\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1503/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.64it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1503/3000]: Train loss: 1.9845, Valid loss: 3.0660\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1504/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.18it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1504/3000]: Train loss: 2.1090, Valid loss: 2.3136\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1505/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.54it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1505/3000]: Train loss: 2.2183, Valid loss: 1.7646\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1506/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.11it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1506/3000]: Train loss: 2.0376, Valid loss: 2.1503\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1507/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.64it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1507/3000]: Train loss: 2.3879, Valid loss: 2.1784\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1508/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.77it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1508/3000]: Train loss: 1.9978, Valid loss: 2.3620\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1509/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.62it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1509/3000]: Train loss: 2.2572, Valid loss: 2.4431\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1510/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.09it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1510/3000]: Train loss: 2.1530, Valid loss: 2.8780\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1511/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.09it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1511/3000]: Train loss: 2.2510, Valid loss: 1.9548\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1512/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.86it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1512/3000]: Train loss: 1.7976, Valid loss: 1.8802\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1513/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.55it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1513/3000]: Train loss: 1.8211, Valid loss: 3.8803\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1514/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.79it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1514/3000]: Train loss: 2.2717, Valid loss: 2.0853\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1515/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.36it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1515/3000]: Train loss: 2.1635, Valid loss: 1.8125\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1516/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.95it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1516/3000]: Train loss: 1.7962, Valid loss: 2.6561\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1517/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.38it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1517/3000]: Train loss: 1.7501, Valid loss: 2.4163\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1518/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.99it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1518/3000]: Train loss: 1.7524, Valid loss: 2.3366\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1519/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.69it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1519/3000]: Train loss: 1.8708, Valid loss: 1.8383\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1520/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.26it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1520/3000]: Train loss: 1.9890, Valid loss: 2.1681\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1521/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.35it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1521/3000]: Train loss: 1.8540, Valid loss: 1.7917\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1522/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.32it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1522/3000]: Train loss: 1.7683, Valid loss: 2.0206\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1523/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.09it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1523/3000]: Train loss: 1.9465, Valid loss: 3.9866\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1524/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.81it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1524/3000]: Train loss: 2.1115, Valid loss: 2.8652\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1525/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.56it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1525/3000]: Train loss: 2.3415, Valid loss: 1.9781\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1526/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.73it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1526/3000]: Train loss: 2.2108, Valid loss: 2.1657\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1527/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.21it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1527/3000]: Train loss: 1.7750, Valid loss: 1.8818\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1528/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.04it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1528/3000]: Train loss: 1.7652, Valid loss: 1.9014\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1529/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.08it/s, loss=1.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1529/3000]: Train loss: 1.7300, Valid loss: 1.9630\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1530/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.89it/s, loss=1.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1530/3000]: Train loss: 1.7132, Valid loss: 2.3060\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1531/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.72it/s, loss=2.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1531/3000]: Train loss: 1.9987, Valid loss: 3.0986\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1532/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.20it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1532/3000]: Train loss: 2.0343, Valid loss: 2.3279\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1533/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.20it/s, loss=2.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1533/3000]: Train loss: 2.2248, Valid loss: 1.8651\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1534/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.19it/s, loss=2.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1534/3000]: Train loss: 1.8794, Valid loss: 2.7338\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1535/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.76it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1535/3000]: Train loss: 2.0740, Valid loss: 1.8327\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1536/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.25it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1536/3000]: Train loss: 1.9346, Valid loss: 2.6537\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1537/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.36it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1537/3000]: Train loss: 1.9563, Valid loss: 1.8528\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1538/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.92it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1538/3000]: Train loss: 1.8982, Valid loss: 2.0864\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1539/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.30it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1539/3000]: Train loss: 2.1492, Valid loss: 2.2820\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1540/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.35it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1540/3000]: Train loss: 2.0066, Valid loss: 1.6735\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1541/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.56it/s, loss=1.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1541/3000]: Train loss: 2.1635, Valid loss: 2.3534\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1542/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.47it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1542/3000]: Train loss: 1.8724, Valid loss: 2.0537\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1543/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.79it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1543/3000]: Train loss: 1.7637, Valid loss: 2.0338\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1544/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.82it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1544/3000]: Train loss: 1.8288, Valid loss: 1.8406\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1545/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.26it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1545/3000]: Train loss: 1.9593, Valid loss: 2.5093\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1546/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.41it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1546/3000]: Train loss: 1.9364, Valid loss: 2.4834\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1547/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.40it/s, loss=2.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1547/3000]: Train loss: 2.0358, Valid loss: 2.0220\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1548/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.90it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1548/3000]: Train loss: 1.9036, Valid loss: 2.1722\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1549/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.38it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1549/3000]: Train loss: 1.8329, Valid loss: 2.1125\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1550/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.27it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1550/3000]: Train loss: 1.8219, Valid loss: 1.8065\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1551/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.43it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1551/3000]: Train loss: 2.0332, Valid loss: 2.9656\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1552/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.25it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1552/3000]: Train loss: 1.9771, Valid loss: 1.8458\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1553/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.12it/s, loss=3.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1553/3000]: Train loss: 2.5656, Valid loss: 2.5655\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1554/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.96it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1554/3000]: Train loss: 2.7799, Valid loss: 4.0161\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1555/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.26it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1555/3000]: Train loss: 2.4229, Valid loss: 2.1327\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1556/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.08it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1556/3000]: Train loss: 1.9472, Valid loss: 2.2191\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1557/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.01it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1557/3000]: Train loss: 1.8403, Valid loss: 2.5795\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1558/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.57it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1558/3000]: Train loss: 1.9398, Valid loss: 2.1768\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1559/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.06it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1559/3000]: Train loss: 2.0185, Valid loss: 1.7636\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1560/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.71it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1560/3000]: Train loss: 1.8461, Valid loss: 1.9448\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1561/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.79it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1561/3000]: Train loss: 1.8879, Valid loss: 2.1162\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1562/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.38it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1562/3000]: Train loss: 1.7549, Valid loss: 2.1846\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1563/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.96it/s, loss=1.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1563/3000]: Train loss: 1.8194, Valid loss: 2.2550\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1564/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.59it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1564/3000]: Train loss: 1.7346, Valid loss: 1.8574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1565/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.04it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1565/3000]: Train loss: 1.7957, Valid loss: 1.9794\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1566/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.23it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1566/3000]: Train loss: 1.9295, Valid loss: 2.3496\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1567/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.39it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1567/3000]: Train loss: 2.1192, Valid loss: 1.9833\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1568/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.21it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1568/3000]: Train loss: 1.8913, Valid loss: 1.9422\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1569/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.52it/s, loss=1.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1569/3000]: Train loss: 1.8018, Valid loss: 2.0185\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1570/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.13it/s, loss=1.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1570/3000]: Train loss: 1.7381, Valid loss: 2.0727\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1571/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.55it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1571/3000]: Train loss: 1.7250, Valid loss: 1.9851\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1572/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.11it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1572/3000]: Train loss: 1.8357, Valid loss: 1.7438\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1573/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.16it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1573/3000]: Train loss: 1.7708, Valid loss: 2.3798\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1574/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.14it/s, loss=2.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1574/3000]: Train loss: 1.7969, Valid loss: 1.9211\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1575/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.62it/s, loss=1.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1575/3000]: Train loss: 1.7100, Valid loss: 2.0950\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1576/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.69it/s, loss=1.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1576/3000]: Train loss: 1.6914, Valid loss: 2.1936\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1577/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.78it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1577/3000]: Train loss: 1.7132, Valid loss: 2.0272\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1578/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.86it/s, loss=3.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1578/3000]: Train loss: 1.9260, Valid loss: 3.0740\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1579/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.86it/s, loss=1.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1579/3000]: Train loss: 1.9132, Valid loss: 2.1365\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1580/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.80it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1580/3000]: Train loss: 1.8984, Valid loss: 2.8558\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1581/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.15it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1581/3000]: Train loss: 2.0790, Valid loss: 2.6107\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1582/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.08it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1582/3000]: Train loss: 1.9615, Valid loss: 2.1489\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1583/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.32it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1583/3000]: Train loss: 2.0527, Valid loss: 2.1188\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1584/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.46it/s, loss=2.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1584/3000]: Train loss: 2.0446, Valid loss: 4.9272\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1585/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.85it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1585/3000]: Train loss: 2.6878, Valid loss: 2.9764\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1586/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.25it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1586/3000]: Train loss: 2.5982, Valid loss: 2.0423\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1587/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.19it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1587/3000]: Train loss: 2.0522, Valid loss: 3.0381\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1588/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.99it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1588/3000]: Train loss: 2.0564, Valid loss: 1.9870\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1589/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.09it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1589/3000]: Train loss: 2.3165, Valid loss: 2.5813\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1590/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.90it/s, loss=1.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1590/3000]: Train loss: 1.8799, Valid loss: 1.9735\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1591/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.19it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1591/3000]: Train loss: 2.0912, Valid loss: 3.0172\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1592/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.69it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1592/3000]: Train loss: 2.1556, Valid loss: 2.1342\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1593/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.31it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1593/3000]: Train loss: 1.7593, Valid loss: 2.4390\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1594/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.27it/s, loss=1.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1594/3000]: Train loss: 1.7450, Valid loss: 2.1496\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1595/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.79it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1595/3000]: Train loss: 1.8884, Valid loss: 1.9343\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1596/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.33it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1596/3000]: Train loss: 1.8357, Valid loss: 1.9313\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1597/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.97it/s, loss=3.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1597/3000]: Train loss: 2.3687, Valid loss: 2.9185\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1598/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.55it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1598/3000]: Train loss: 2.0960, Valid loss: 2.3433\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1599/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.76it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1599/3000]: Train loss: 1.8314, Valid loss: 2.3063\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1600/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.71it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1600/3000]: Train loss: 1.8864, Valid loss: 1.7534\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1601/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.80it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1601/3000]: Train loss: 1.7619, Valid loss: 2.6291\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1602/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.82it/s, loss=1.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1602/3000]: Train loss: 1.8781, Valid loss: 2.8574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1603/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.90it/s, loss=2.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1603/3000]: Train loss: 2.1514, Valid loss: 2.5264\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1604/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.66it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1604/3000]: Train loss: 1.9262, Valid loss: 2.6980\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1605/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.86it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1605/3000]: Train loss: 1.8310, Valid loss: 1.7798\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1606/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.29it/s, loss=1.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1606/3000]: Train loss: 1.6877, Valid loss: 2.6763\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1607/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.16it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1607/3000]: Train loss: 1.9398, Valid loss: 2.6095\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1608/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.40it/s, loss=1.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1608/3000]: Train loss: 1.7391, Valid loss: 2.0340\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1609/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.55it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1609/3000]: Train loss: 1.7663, Valid loss: 2.2467\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1610/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.14it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1610/3000]: Train loss: 1.7392, Valid loss: 1.8085\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1611/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.78it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1611/3000]: Train loss: 1.7519, Valid loss: 1.8575\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1612/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.33it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1612/3000]: Train loss: 1.7263, Valid loss: 1.9273\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1613/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.15it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1613/3000]: Train loss: 1.7219, Valid loss: 1.8950\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1614/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.90it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1614/3000]: Train loss: 1.7936, Valid loss: 2.1623\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1615/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.88it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1615/3000]: Train loss: 1.9070, Valid loss: 1.8244\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1616/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.98it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1616/3000]: Train loss: 1.9844, Valid loss: 3.1008\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1617/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.70it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1617/3000]: Train loss: 2.2552, Valid loss: 2.1426\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1618/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.81it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1618/3000]: Train loss: 1.7289, Valid loss: 1.8277\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1619/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.03it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1619/3000]: Train loss: 1.7639, Valid loss: 1.8436\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1620/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.37it/s, loss=1.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1620/3000]: Train loss: 1.6780, Valid loss: 2.6639\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1621/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.32it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1621/3000]: Train loss: 2.0410, Valid loss: 3.2088\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1622/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.63it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1622/3000]: Train loss: 2.4499, Valid loss: 2.9460\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1623/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.44it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1623/3000]: Train loss: 2.3300, Valid loss: 2.1197\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1624/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.04it/s, loss=6.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1624/3000]: Train loss: 3.4310, Valid loss: 2.0968\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1625/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.30it/s, loss=5.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1625/3000]: Train loss: 3.0238, Valid loss: 3.2104\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1626/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.52it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1626/3000]: Train loss: 2.1462, Valid loss: 2.0146\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1627/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.63it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1627/3000]: Train loss: 1.7639, Valid loss: 2.2317\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1628/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.20it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1628/3000]: Train loss: 1.8892, Valid loss: 2.0399\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1629/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.64it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1629/3000]: Train loss: 1.8549, Valid loss: 2.0776\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1630/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.35it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1630/3000]: Train loss: 1.9299, Valid loss: 1.8902\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1631/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.59it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1631/3000]: Train loss: 1.8967, Valid loss: 3.0401\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1632/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.85it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1632/3000]: Train loss: 1.8832, Valid loss: 2.6950\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1633/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.65it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1633/3000]: Train loss: 1.8925, Valid loss: 1.7759\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1634/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.79it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1634/3000]: Train loss: 1.7327, Valid loss: 1.8744\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1635/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.04it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1635/3000]: Train loss: 1.9268, Valid loss: 2.2321\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1636/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.26it/s, loss=1.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1636/3000]: Train loss: 1.6946, Valid loss: 2.0889\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1637/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.43it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1637/3000]: Train loss: 1.7495, Valid loss: 2.0030\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1638/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.30it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1638/3000]: Train loss: 1.7474, Valid loss: 2.2508\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1639/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.36it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1639/3000]: Train loss: 1.9296, Valid loss: 1.8268\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1640/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.27it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1640/3000]: Train loss: 1.7877, Valid loss: 1.9096\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1641/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.13it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1641/3000]: Train loss: 1.7398, Valid loss: 1.7449\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1642/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.24it/s, loss=2.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1642/3000]: Train loss: 1.7944, Valid loss: 2.2653\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1643/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.44it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1643/3000]: Train loss: 2.0673, Valid loss: 3.4761\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1644/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.93it/s, loss=3.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1644/3000]: Train loss: 2.9611, Valid loss: 2.1480\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1645/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.60it/s, loss=3.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1645/3000]: Train loss: 2.7090, Valid loss: 4.4880\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1646/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.49it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1646/3000]: Train loss: 2.6806, Valid loss: 3.3580\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1647/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.73it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1647/3000]: Train loss: 2.1119, Valid loss: 3.1748\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1648/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.95it/s, loss=3.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1648/3000]: Train loss: 2.3044, Valid loss: 1.9723\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1649/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.81it/s, loss=1.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1649/3000]: Train loss: 1.9358, Valid loss: 2.8132\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1650/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.72it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1650/3000]: Train loss: 2.2356, Valid loss: 2.2442\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1651/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.62it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1651/3000]: Train loss: 2.0699, Valid loss: 4.2553\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1652/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.13it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1652/3000]: Train loss: 2.5399, Valid loss: 3.0780\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1653/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.17it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1653/3000]: Train loss: 2.0160, Valid loss: 2.3221\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1654/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.29it/s, loss=1.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1654/3000]: Train loss: 1.6827, Valid loss: 2.1306\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1655/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.20it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1655/3000]: Train loss: 1.8714, Valid loss: 2.1838\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1656/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.21it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1656/3000]: Train loss: 2.0907, Valid loss: 2.8705\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1657/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.81it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1657/3000]: Train loss: 2.0486, Valid loss: 1.8291\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1658/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.20it/s, loss=1.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1658/3000]: Train loss: 1.7994, Valid loss: 2.4245\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1659/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.57it/s, loss=1.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1659/3000]: Train loss: 2.2423, Valid loss: 2.5959\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1660/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.93it/s, loss=3.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1660/3000]: Train loss: 2.3558, Valid loss: 2.7119\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1661/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.49it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1661/3000]: Train loss: 2.1885, Valid loss: 2.1148\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1662/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.73it/s, loss=2.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1662/3000]: Train loss: 1.9448, Valid loss: 2.1179\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1663/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.37it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1663/3000]: Train loss: 2.0372, Valid loss: 2.2402\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1664/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.63it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1664/3000]: Train loss: 1.9926, Valid loss: 2.5258\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1665/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.84it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1665/3000]: Train loss: 1.9374, Valid loss: 1.6642\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1666/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.84it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1666/3000]: Train loss: 1.8902, Valid loss: 1.8506\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1667/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.47it/s, loss=3.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1667/3000]: Train loss: 2.2511, Valid loss: 1.9798\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1668/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.32it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1668/3000]: Train loss: 2.3744, Valid loss: 2.6453\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1669/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.30it/s, loss=3.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1669/3000]: Train loss: 2.1774, Valid loss: 2.5122\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1670/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.52it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1670/3000]: Train loss: 2.0043, Valid loss: 2.7789\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1671/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.18it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1671/3000]: Train loss: 2.0392, Valid loss: 3.4357\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1672/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.21it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1672/3000]: Train loss: 2.6071, Valid loss: 3.6096\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1673/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.35it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1673/3000]: Train loss: 2.4582, Valid loss: 2.4661\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1674/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.32it/s, loss=1.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1674/3000]: Train loss: 1.7309, Valid loss: 2.3366\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1675/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.84it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1675/3000]: Train loss: 1.7207, Valid loss: 1.6644\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1676/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.70it/s, loss=1.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1676/3000]: Train loss: 1.7637, Valid loss: 1.8561\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1677/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.00it/s, loss=1.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1677/3000]: Train loss: 1.6980, Valid loss: 2.7669\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1678/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.84it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1678/3000]: Train loss: 1.8595, Valid loss: 2.4080\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1679/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.31it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1679/3000]: Train loss: 2.0525, Valid loss: 1.9530\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1680/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.23it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1680/3000]: Train loss: 1.9737, Valid loss: 2.4009\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1681/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.05it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1681/3000]: Train loss: 1.7976, Valid loss: 2.0465\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1682/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.11it/s, loss=1.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1682/3000]: Train loss: 1.6768, Valid loss: 1.9138\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1683/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.83it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1683/3000]: Train loss: 1.7005, Valid loss: 1.8962\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1684/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.22it/s, loss=1.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1684/3000]: Train loss: 1.7045, Valid loss: 2.0998\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1685/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.91it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1685/3000]: Train loss: 1.7592, Valid loss: 2.9235\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1686/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.61it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1686/3000]: Train loss: 1.9402, Valid loss: 2.3819\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1687/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.21it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1687/3000]: Train loss: 1.7632, Valid loss: 2.0958\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1688/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.55it/s, loss=2.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1688/3000]: Train loss: 2.0000, Valid loss: 2.2178\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1689/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.65it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1689/3000]: Train loss: 1.7478, Valid loss: 1.7998\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1690/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.52it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1690/3000]: Train loss: 1.6917, Valid loss: 2.0285\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1691/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.89it/s, loss=1.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1691/3000]: Train loss: 2.2122, Valid loss: 2.7103\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1692/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.83it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1692/3000]: Train loss: 1.9003, Valid loss: 1.9837\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1693/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.15it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1693/3000]: Train loss: 1.7658, Valid loss: 1.7776\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1694/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.83it/s, loss=1.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1694/3000]: Train loss: 1.6877, Valid loss: 2.6313\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1695/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.62it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1695/3000]: Train loss: 1.7620, Valid loss: 2.4440\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1696/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.99it/s, loss=1.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1696/3000]: Train loss: 1.7977, Valid loss: 2.4217\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1697/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.09it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1697/3000]: Train loss: 1.9647, Valid loss: 2.2475\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1698/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.55it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1698/3000]: Train loss: 1.8713, Valid loss: 2.0203\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1699/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.47it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1699/3000]: Train loss: 1.7949, Valid loss: 2.2472\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1700/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.66it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1700/3000]: Train loss: 2.0216, Valid loss: 2.5277\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1701/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.75it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1701/3000]: Train loss: 2.0366, Valid loss: 2.2055\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1702/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.70it/s, loss=1.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1702/3000]: Train loss: 2.0060, Valid loss: 2.4934\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1703/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.23it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1703/3000]: Train loss: 1.8290, Valid loss: 1.9927\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1704/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.92it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1704/3000]: Train loss: 1.7384, Valid loss: 2.0010\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1705/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.46it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1705/3000]: Train loss: 1.7150, Valid loss: 2.1442\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1706/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.93it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1706/3000]: Train loss: 1.8154, Valid loss: 2.4872\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1707/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.39it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1707/3000]: Train loss: 1.9110, Valid loss: 2.6682\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1708/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.45it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1708/3000]: Train loss: 1.9878, Valid loss: 3.8404\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1709/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.94it/s, loss=2.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1709/3000]: Train loss: 2.7374, Valid loss: 1.9552\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1710/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.93it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1710/3000]: Train loss: 1.9759, Valid loss: 2.0928\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1711/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.43it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1711/3000]: Train loss: 1.6954, Valid loss: 1.8356\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1712/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.56it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1712/3000]: Train loss: 1.7444, Valid loss: 1.9170\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1713/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.81it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1713/3000]: Train loss: 1.7655, Valid loss: 1.8095\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1714/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.73it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1714/3000]: Train loss: 1.8353, Valid loss: 2.2284\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1715/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.63it/s, loss=3.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1715/3000]: Train loss: 2.1043, Valid loss: 1.9145\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1716/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.22it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1716/3000]: Train loss: 2.2323, Valid loss: 3.2942\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1717/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.98it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1717/3000]: Train loss: 2.3050, Valid loss: 2.0118\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1718/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.12it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1718/3000]: Train loss: 2.2949, Valid loss: 3.0459\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1719/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.06it/s, loss=2.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1719/3000]: Train loss: 2.3781, Valid loss: 2.7773\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1720/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.42it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1720/3000]: Train loss: 1.8444, Valid loss: 1.8263\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1721/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.20it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1721/3000]: Train loss: 1.7224, Valid loss: 2.0255\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1722/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.59it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1722/3000]: Train loss: 1.7631, Valid loss: 2.1803\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1723/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.37it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1723/3000]: Train loss: 1.7723, Valid loss: 2.3386\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1724/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.32it/s, loss=1.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1724/3000]: Train loss: 1.6919, Valid loss: 1.7835\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1725/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.66it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1725/3000]: Train loss: 2.0366, Valid loss: 1.9427\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1726/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.58it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1726/3000]: Train loss: 1.7071, Valid loss: 2.1373\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1727/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.21it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1727/3000]: Train loss: 1.7061, Valid loss: 1.9154\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1728/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.68it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1728/3000]: Train loss: 1.7984, Valid loss: 2.6073\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1729/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.57it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1729/3000]: Train loss: 2.2537, Valid loss: 2.3603\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1730/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.29it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1730/3000]: Train loss: 1.7604, Valid loss: 1.7280\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1731/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.81it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1731/3000]: Train loss: 1.9340, Valid loss: 2.5522\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1732/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.42it/s, loss=3.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1732/3000]: Train loss: 2.7051, Valid loss: 1.9549\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1733/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.64it/s, loss=3.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1733/3000]: Train loss: 2.2780, Valid loss: 3.2502\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1734/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.04it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1734/3000]: Train loss: 2.2852, Valid loss: 3.0276\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1735/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.42it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1735/3000]: Train loss: 2.1141, Valid loss: 2.2074\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1736/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.25it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1736/3000]: Train loss: 1.9206, Valid loss: 3.6417\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1737/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.67it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1737/3000]: Train loss: 2.0212, Valid loss: 1.9345\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1738/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.32it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1738/3000]: Train loss: 1.8832, Valid loss: 3.7284\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1739/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.15it/s, loss=3.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1739/3000]: Train loss: 2.6505, Valid loss: 1.7948\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1740/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.80it/s, loss=3.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1740/3000]: Train loss: 2.1527, Valid loss: 3.2843\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1741/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.19it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1741/3000]: Train loss: 2.3662, Valid loss: 2.0382\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1742/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.79it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1742/3000]: Train loss: 1.8375, Valid loss: 3.8907\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1743/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.66it/s, loss=5.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1743/3000]: Train loss: 3.1187, Valid loss: 4.1624\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1744/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.99it/s, loss=3.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1744/3000]: Train loss: 2.6998, Valid loss: 4.1647\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1745/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.09it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1745/3000]: Train loss: 2.6232, Valid loss: 2.4282\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1746/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.70it/s, loss=5.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1746/3000]: Train loss: 3.0686, Valid loss: 3.4069\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1747/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.57it/s, loss=4.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1747/3000]: Train loss: 3.0461, Valid loss: 3.2609\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1748/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.40it/s, loss=4.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1748/3000]: Train loss: 3.0288, Valid loss: 4.1358\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1749/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.36it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1749/3000]: Train loss: 2.7410, Valid loss: 2.1218\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1750/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.46it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1750/3000]: Train loss: 1.7423, Valid loss: 2.6285\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1751/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.08it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1751/3000]: Train loss: 1.6878, Valid loss: 2.2599\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1752/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.34it/s, loss=1.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1752/3000]: Train loss: 1.7352, Valid loss: 2.0077\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1753/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.48it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1753/3000]: Train loss: 1.8228, Valid loss: 2.2391\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1754/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.00it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1754/3000]: Train loss: 2.0538, Valid loss: 2.1892\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1755/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.70it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1755/3000]: Train loss: 1.9220, Valid loss: 2.1247\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1756/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.16it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1756/3000]: Train loss: 1.8473, Valid loss: 2.2840\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1757/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.17it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1757/3000]: Train loss: 1.9791, Valid loss: 1.7479\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1758/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.64it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1758/3000]: Train loss: 1.7929, Valid loss: 1.9353\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1759/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.32it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1759/3000]: Train loss: 1.8190, Valid loss: 2.2017\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1760/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.98it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1760/3000]: Train loss: 1.8138, Valid loss: 2.7741\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1761/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.29it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1761/3000]: Train loss: 1.9952, Valid loss: 2.5063\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1762/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.51it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1762/3000]: Train loss: 2.0931, Valid loss: 2.1551\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1763/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.02it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1763/3000]: Train loss: 1.7443, Valid loss: 2.2235\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1764/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.93it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1764/3000]: Train loss: 1.7343, Valid loss: 1.9766\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1765/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.96it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1765/3000]: Train loss: 1.6638, Valid loss: 2.4393\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1766/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.70it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1766/3000]: Train loss: 1.8689, Valid loss: 1.9970\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1767/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.86it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1767/3000]: Train loss: 1.7343, Valid loss: 2.1709\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1768/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.68it/s, loss=1.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1768/3000]: Train loss: 1.8019, Valid loss: 2.3670\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1769/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.72it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1769/3000]: Train loss: 1.6761, Valid loss: 1.8411\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1770/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.11it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1770/3000]: Train loss: 1.7435, Valid loss: 2.4475\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1771/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.56it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1771/3000]: Train loss: 1.7288, Valid loss: 2.1937\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1772/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.95it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1772/3000]: Train loss: 1.8008, Valid loss: 2.2449\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1773/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.23it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1773/3000]: Train loss: 1.7580, Valid loss: 2.0296\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1774/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.03it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1774/3000]: Train loss: 1.6561, Valid loss: 2.1574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1775/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.74it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1775/3000]: Train loss: 1.7334, Valid loss: 1.8307\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1776/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.97it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1776/3000]: Train loss: 1.6830, Valid loss: 2.3805\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1777/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.36it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1777/3000]: Train loss: 1.7520, Valid loss: 2.1814\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1778/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.45it/s, loss=1.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1778/3000]: Train loss: 1.7674, Valid loss: 2.3177\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1779/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.20it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1779/3000]: Train loss: 1.7544, Valid loss: 1.9649\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1780/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.68it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1780/3000]: Train loss: 1.8256, Valid loss: 2.4297\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1781/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.17it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1781/3000]: Train loss: 1.8847, Valid loss: 2.0022\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1782/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.72it/s, loss=1.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1782/3000]: Train loss: 1.6836, Valid loss: 1.8618\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1783/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.02it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1783/3000]: Train loss: 1.8254, Valid loss: 2.4461\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1784/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.41it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1784/3000]: Train loss: 1.9225, Valid loss: 2.5845\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1785/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.76it/s, loss=1.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1785/3000]: Train loss: 2.0960, Valid loss: 3.3690\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1786/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.99it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1786/3000]: Train loss: 2.3632, Valid loss: 1.8645\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1787/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.69it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1787/3000]: Train loss: 1.9469, Valid loss: 2.1255\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1788/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.72it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1788/3000]: Train loss: 2.1595, Valid loss: 2.5406\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1789/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.23it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1789/3000]: Train loss: 1.9184, Valid loss: 1.8546\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1790/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.96it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1790/3000]: Train loss: 1.7629, Valid loss: 1.6514\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1791/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.51it/s, loss=1.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1791/3000]: Train loss: 1.8265, Valid loss: 2.4558\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1792/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.28it/s, loss=1.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1792/3000]: Train loss: 1.9503, Valid loss: 2.4979\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1793/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.99it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1793/3000]: Train loss: 1.8439, Valid loss: 1.9599\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1794/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.49it/s, loss=1.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1794/3000]: Train loss: 1.6456, Valid loss: 2.0389\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1795/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.43it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1795/3000]: Train loss: 1.7603, Valid loss: 1.8843\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1796/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.60it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1796/3000]: Train loss: 1.7093, Valid loss: 2.2557\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1797/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.28it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1797/3000]: Train loss: 1.8242, Valid loss: 2.1518\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1798/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.82it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1798/3000]: Train loss: 1.7888, Valid loss: 2.2248\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1799/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.24it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1799/3000]: Train loss: 1.6570, Valid loss: 1.7649\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1800/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.03it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1800/3000]: Train loss: 1.7421, Valid loss: 1.8562\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1801/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.95it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1801/3000]: Train loss: 1.7413, Valid loss: 2.1200\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1802/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.07it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1802/3000]: Train loss: 1.7034, Valid loss: 2.1952\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1803/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.59it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1803/3000]: Train loss: 1.8857, Valid loss: 2.0429\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1804/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.49it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1804/3000]: Train loss: 1.6822, Valid loss: 1.7286\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1805/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.36it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1805/3000]: Train loss: 1.7285, Valid loss: 1.8921\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1806/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.04it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1806/3000]: Train loss: 1.8009, Valid loss: 2.0744\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1807/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.13it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1807/3000]: Train loss: 2.3723, Valid loss: 3.0493\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1808/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.79it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1808/3000]: Train loss: 2.0647, Valid loss: 2.3484\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1809/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.83it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1809/3000]: Train loss: 2.0300, Valid loss: 1.9964\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1810/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.06it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1810/3000]: Train loss: 1.6737, Valid loss: 1.7465\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1811/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.67it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1811/3000]: Train loss: 1.7229, Valid loss: 1.9634\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1812/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.29it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1812/3000]: Train loss: 1.6911, Valid loss: 3.1975\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1813/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.16it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1813/3000]: Train loss: 1.8734, Valid loss: 2.1753\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1814/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.00it/s, loss=1.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1814/3000]: Train loss: 1.6724, Valid loss: 1.9079\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1815/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.52it/s, loss=2.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1815/3000]: Train loss: 1.8036, Valid loss: 3.8255\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1816/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.73it/s, loss=1.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1816/3000]: Train loss: 2.2216, Valid loss: 2.4159\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1817/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.88it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1817/3000]: Train loss: 2.3274, Valid loss: 1.9261\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1818/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.19it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1818/3000]: Train loss: 2.1238, Valid loss: 1.9688\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1819/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.89it/s, loss=1.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1819/3000]: Train loss: 1.6448, Valid loss: 1.9294\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1820/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.86it/s, loss=2.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1820/3000]: Train loss: 1.8035, Valid loss: 2.3348\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1821/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.68it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1821/3000]: Train loss: 1.7817, Valid loss: 2.5863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1822/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.98it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1822/3000]: Train loss: 1.7762, Valid loss: 2.1959\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1823/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.81it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1823/3000]: Train loss: 1.7301, Valid loss: 1.6369\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1824/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.65it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1824/3000]: Train loss: 1.6675, Valid loss: 1.8072\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1825/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.58it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1825/3000]: Train loss: 1.7322, Valid loss: 2.7034\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1826/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.71it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1826/3000]: Train loss: 2.0585, Valid loss: 3.9792\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1827/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.74it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1827/3000]: Train loss: 2.6774, Valid loss: 2.2500\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1828/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.58it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1828/3000]: Train loss: 2.3133, Valid loss: 3.4827\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1829/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.04it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1829/3000]: Train loss: 2.1390, Valid loss: 2.2475\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1830/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.63it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1830/3000]: Train loss: 1.9427, Valid loss: 1.9202\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1831/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.70it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1831/3000]: Train loss: 1.8411, Valid loss: 2.8178\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1832/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.24it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1832/3000]: Train loss: 2.3032, Valid loss: 1.9464\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1833/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.81it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1833/3000]: Train loss: 1.9076, Valid loss: 2.4799\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1834/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.57it/s, loss=1.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1834/3000]: Train loss: 1.7986, Valid loss: 1.8563\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1835/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.16it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1835/3000]: Train loss: 1.8218, Valid loss: 2.5300\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1836/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.30it/s, loss=1.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1836/3000]: Train loss: 1.8577, Valid loss: 2.5342\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1837/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.90it/s, loss=1.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1837/3000]: Train loss: 1.7576, Valid loss: 1.8998\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1838/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.18it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1838/3000]: Train loss: 1.7605, Valid loss: 2.2139\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1839/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.96it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1839/3000]: Train loss: 2.0826, Valid loss: 2.9585\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1840/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.22it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1840/3000]: Train loss: 2.0511, Valid loss: 2.1386\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1841/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.59it/s, loss=2.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1841/3000]: Train loss: 2.2079, Valid loss: 2.3381\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1842/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.91it/s, loss=3.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1842/3000]: Train loss: 2.2406, Valid loss: 2.0421\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1843/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.83it/s, loss=1.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1843/3000]: Train loss: 1.7971, Valid loss: 1.8073\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1844/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.02it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1844/3000]: Train loss: 1.6827, Valid loss: 2.1621\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1845/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.22it/s, loss=2.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1845/3000]: Train loss: 2.0108, Valid loss: 2.2008\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1846/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.25it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1846/3000]: Train loss: 1.7609, Valid loss: 2.8731\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1847/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.00it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1847/3000]: Train loss: 2.3906, Valid loss: 2.7436\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1848/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.23it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1848/3000]: Train loss: 2.4560, Valid loss: 1.7991\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1849/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.17it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1849/3000]: Train loss: 1.8570, Valid loss: 1.9329\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1850/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.71it/s, loss=3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1850/3000]: Train loss: 1.8630, Valid loss: 1.8623\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1851/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.02it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1851/3000]: Train loss: 2.0719, Valid loss: 2.1294\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1852/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.00it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1852/3000]: Train loss: 2.0159, Valid loss: 2.4490\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1853/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.10it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1853/3000]: Train loss: 1.9266, Valid loss: 2.0831\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1854/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.89it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1854/3000]: Train loss: 1.7136, Valid loss: 2.1380\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1855/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.17it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1855/3000]: Train loss: 1.7171, Valid loss: 1.9395\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1856/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.93it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1856/3000]: Train loss: 1.7994, Valid loss: 2.1777\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1857/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.64it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1857/3000]: Train loss: 1.7475, Valid loss: 1.8626\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1858/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.18it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1858/3000]: Train loss: 1.6456, Valid loss: 1.9568\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1859/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.52it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1859/3000]: Train loss: 1.7254, Valid loss: 1.9918\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1860/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.94it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1860/3000]: Train loss: 1.7861, Valid loss: 1.8181\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1861/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.49it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1861/3000]: Train loss: 1.6892, Valid loss: 1.8816\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1862/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.27it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1862/3000]: Train loss: 1.6252, Valid loss: 1.9818\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1863/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.89it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1863/3000]: Train loss: 1.6723, Valid loss: 2.3293\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1864/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.11it/s, loss=1.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1864/3000]: Train loss: 1.6585, Valid loss: 2.5187\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1865/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.11it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1865/3000]: Train loss: 1.6926, Valid loss: 2.0945\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1866/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.56it/s, loss=2.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1866/3000]: Train loss: 1.8650, Valid loss: 3.2989\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1867/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.67it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1867/3000]: Train loss: 1.9180, Valid loss: 2.0471\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1868/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.81it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1868/3000]: Train loss: 1.8552, Valid loss: 2.2137\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1869/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.22it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1869/3000]: Train loss: 1.6767, Valid loss: 1.8809\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1870/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.78it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1870/3000]: Train loss: 1.7033, Valid loss: 2.7594\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1871/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.26it/s, loss=1.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1871/3000]: Train loss: 1.7522, Valid loss: 1.9301\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1872/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.07it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1872/3000]: Train loss: 1.6861, Valid loss: 3.1541\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1873/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.36it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1873/3000]: Train loss: 2.1815, Valid loss: 1.8528\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1874/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.38it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1874/3000]: Train loss: 1.8303, Valid loss: 2.0746\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1875/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.52it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1875/3000]: Train loss: 1.8559, Valid loss: 2.4715\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1876/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.76it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1876/3000]: Train loss: 1.9996, Valid loss: 2.1386\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1877/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.46it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1877/3000]: Train loss: 2.5319, Valid loss: 2.2137\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1878/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.66it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1878/3000]: Train loss: 1.8005, Valid loss: 2.2831\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1879/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.50it/s, loss=2.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1879/3000]: Train loss: 1.8971, Valid loss: 2.2999\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1880/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.99it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1880/3000]: Train loss: 1.6671, Valid loss: 1.9465\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1881/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.42it/s, loss=2.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1881/3000]: Train loss: 1.8515, Valid loss: 2.3277\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1882/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.39it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1882/3000]: Train loss: 1.8015, Valid loss: 2.1103\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1883/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.04it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1883/3000]: Train loss: 1.7741, Valid loss: 2.4238\n","\n","Model is not improving, so we halt the training session.\n"]}],"source":["model = My_Model(input_dim=x_train.shape[1]).to(device) # put your model and data on the same computation device.\n","trainer(train_loader, valid_loader, model, config, device)"]},{"cell_type":"markdown","metadata":{"id":"Ik09KPqU-di-"},"source":["# Plot learning curves with `tensorboard` (optional)\n","\n","`tensorboard` is a tool that allows you to visualize your training progress.\n","\n","If this block does not display your learning curve, please wait for few minutes, and re-run this block. It might take some time to load your logging information. "]},{"cell_type":"code","execution_count":49,"metadata":{"id":"loA4nKmLGQ-n","colab":{"resources":{"https://localhost:6006/?tensorboardColab=true":{"data":"PCFkb2N0eXBlIGh0bWw+PG1ldGEgbmFtZT0idGItcmVsYXRpdmUtcm9vdCIgY29udGVudD0iLi8iPjwhZG9jdHlwZSBodG1sPjwhLS0KQGxpY2Vuc2UKQ29weXJpZ2h0IDIwMTkgVGhlIFRlbnNvckZsb3cgQXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KCkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwp5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQpkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLApXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZApsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLS0+PGh0bWw+PGhlYWQ+PG1ldGEgY2hhcnNldD0idXRmLTgiPgo8dGl0bGU+VGVuc29yQm9hcmQ8L3RpdGxlPgo8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTVFBQUFERUNBWUFBQURBcG81ckFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUFBbHdTRmx6QUFCYWJnQUFXbTRCeFdzak9BQUFBQmwwUlZoMFUyOW1kSGRoY21VQWQzZDNMbWx1YTNOallYQmxMbTl5WjV2dVBCb0FBQmwwU1VSQlZIaWM3WjE1ZUZUVjNjYy92NXNGQ1ZSeHFWdHB0VlcyVmx4ZjYxcXRpcTBMOUdsOU5YVUJGRXBGUlRJaGhCQURDVGRBTUFFa0NZc0s3cUI5K2tENzJxZkJXaXZxVzdWYTY3NGlyZTlyYXhYMWJaVldaVEhML040LzVnNEdTR0R1ekwxejc1MDVuMzg0ek13NTU4dk0vWEsyM3prSERJR2ppemhQRjNGZTBEb01JRUVMeUdkMFBvT3dhQUF1Y1Y1YWgwVzVWUEI2a0xyeUdXT0lBRkNiL3ZTakVxZ0crdXp3S3dnZHdDMTBVQ2ZWL0RzWWhmbUxNVVFXVVJ1TEVrWUQ4eEVPMnY3R2pvWndQc3hIV014aElFdWxsSzVzNnN4bmpDR3loQzdnSkpSVzRDU2daeFAwbkg0Smk1aVU4N2pmR2czR0VMNmpUUXdFNWdHamtXN2ZkK3FHU0xLV0lzcGtNbS83SU5QZ1lBemhFMnBUUWgrcXNLZ0MrZ0x1VGJCcmVpdXdtSFlhWkRxZmVpcllBQmhEZUk0cVFpTVhBd3NRRHZQQUJEMmxOeUxVczRuYnhTYWV1V3BERW1NSUQ5RWJPUUZvUlRodCs0ditHQ0w1NTdOQXVjUjRLaTNCaGwwd2h2QUFiZUFRTEd4Z0FtRDVhb0x1NmNTZml2QUxsRXFKOFk1TDZZYWRNSWJJQUxVcHBvaHJFV1lqN0wzOWpld2FJcG5lakxLUXZXbVVjV3hMNlI5ZzJBVmppRFRSdVl6Q29nWDRCcEE5RTNSUDkveiszNEdaVXNiS1hxUWJkb014aEV1MGdhTVJtbEhPOXZBQi82T1RPdGtEUXlUU3lpTW81UkxqdFo3K0hZYWVzWUlXRUJYVVpqK2RTeXZ3UE1yWkhoVzdFV0VpbjNFYVV6a1ZvUlQ0bXljbEMrZGc4Ykl1WmFYZXdvR2VsSmtIbUJaaUQ2aE5JVVdNUjJrQUR2Q29WZGlLc0pqNHJ1c0p1cHdTUHFNS3FFS2M5WXZleWttOXprMUFFd2ZTTEtXMFkrZ1ZZNGpkb1BXY2cwVUx3bEhiWDh6Y0VHc1J5bVRhN2xlY3RZbUJGRGtyM095d3hwMk9JWkxwRFFoVDVUb2UyRjNkK1l3eFJBL29IQVpCdDdCc2IxcUZGeW1nWENyZHhTVHBJczRFV2hDTzNhWE05TFdzbzRDWVhNTWJiclRrQThZUTNWQ2IvZ2lWeUU1aDJaa1o0aU9FT1J5ZWZ0U3EybGdNWURUS2ZPQWdqM1Ixb054Q0lYVXkwWVNaSnpHR3dIbmdMT2VCNnlrc083MEhML0hBaVhmN0duUVovV252d2JEcGF3U2NNUFA5VEpnNUdFT2dzMU1JeTNiL3NLMGpUa3hxL09tU2FDdURVQnFRN1R2dHZPald2WWhRTHRma2Q1aDUzaHBDYlJkaDJhay9WQnRRS3FTRzMzZ3F0aGUwbFhPQUZ1QW9EOWRFMWxKQW1mdzBQOFBNODg0UWFsTUN6clJtcW1IWmUzNlFOaUUwOFRuTlltZDNXbE50Q3RtWDhZZ3pMZHk3UmpmcFJKaDVFUTN5ay93S004OGJReWdJZFZ5TXhRTFVaVmgyNys5M290eUpNRk5xK0lmWG10MmdpOWlQUW1ZQjF5RVVibjhqTTNPOGgxTERSRmFKb0o0S0RpbDVZUWl0NVFRa2c3RHNubDk3Rkl0eXFlWlZUOFZtaUM1aEtFb3o0aHhyNDAxWDZsbVVtRnpEMHg1S0RTVTViUWl0NFJDS3NORU13N0ozZk8wdGxCcVp5UnFQNVhxS0xtWVVRZ3ZpQkI5Q3B1WlE0RjQ2cUpKSmZPQ3AyQkNSazRaUW0ySTZQUXpMVHZ5WkNLL2VoeHVsak04OWx1d0xhbFBNL3M3M0FIdDcxRnBzUmxoSVlXNkdtZWVjSVhTRzUySFpjWVQ3RUtiSkRENzBWbTEyME9VY1FnYzI0clNVNE1YMzhoWkNqVXdJZDB2cGxwd3hoTjdBVUFwb0JzN3pjQXJ5R1pTWTFQR01oMUlEUTI5MnRyZ3FwM24ySFZrOFNwd3A4bE5lOFZCcVlFVGVFR3F6SHgzTVFyZ09uTm1Wekgvc2Q0RVoxT2JlN0lvcXdpM09JUWh3R09ERjk5V0pPTE50NDRPZGJjdVV5QnBDYlFycFlEeDRHcGE5QlZqQWwyaVNDclo2S0RkMDZISks2S1FLU1NITVBOVzB4U2JpTkxGM2RNUE1JMmtJclhGV2FMMEx5MWJnRnhRd1RXWjZ0RUVuSXVqaUZNTE0zYVlUWWVZVk1pNDdLL1plRWlsRDZFd0dFZmM4TFBzNUxNcWxqajk0cHpSNjZNMmM2VXhHN0JwbTdqYjl4V3ZyS0tSTXhyTGVPNlgrRWdsRHFPMUVlU3JWQ0gyMnY1R1pJVFlDOVdBTyswcWlOaFlITzRjeGR3OHpoMHpXYlJKUnZ4M1JDRE1QdFNIVXhtSXJvN0djSHdpOGFCWGFnVnNwWWFZNURySm5kQm45c2FqRWNzTE1JUk5ESkVtRW1mY05kNWg1YUEyaE4zUUx5L1p1R25VdFFreHMvdGREcVRtTDNzb2d4T21pWm02SVpQb0ZsSElaeHhOZWF2V0swQmxDcXhpSTFXMlFCMTYwQ2kraGxNc2NmdStwMkR4QlZ6RENpWTlLVEdKa1pvaGtlaTF4SnNzNC91cWwxa3dKalNIVXBvUXR6alFnOVBXb1ZVaHMzMXpQVWxrVDNtWTZDcWhOSVY5eFRoOFJKOHdjTWpFRUpLYTVsOUNYdVZMS1o5NHFUby9BRGFFZ1RPTml4RmtvY3YrbDlwUk9YRXZWVHAwMGhYOGdGeVgwZHZaRG1RVk1BZ295TkVReS9SNUNEYU9EWHdnTjFCQTZsUk93ZWduTFR0OFE2eERLWlk2NXVOQlA5RGFHQVl1UWJyZW5adjdiL1FtTG1JemVmcEpoMWduRUVGcnVoR1h2N3JSczkxL3FCdUpNbFhubXpLRnNvcmN6Q3B4Z1NtOWFkMFdjTVBOeDJROHp6Nm9obk83Uk5KUmFoUDQ5cW5EL3BYNE0xRlBFeldMVDZhMWlReXJvWGV4Rm5BcmdCcUMvUitPL1Q3Q1lReEdMc3hrR2t2VVdRaXM0emprTjc0d2VWYVJ1aUVSWWRoR1ZZdk4vZm1nMXVFT1hjd2lGUG9XWlg1R2RNUFBBeGhCYXlTaUVWdURycmcyaFBJb3dSZWJsUnNoeHJxRjNjd0pkenRqUXV6V2tSMUhLWmJTL1czYURIVlRiRkxPWmF4SG1BRi9hUVZIUFg4eGJXTlJJUTI1dFNzbEZWQkh1OWlITUhPNmtpSmxTNmsrWWVlRFRyZ0JheGFIQUxHQUMwbU5UbTlpMldFeWoyTG0zYlRHWDBlV1VVSnppYWVhcHB6ZWgxSE1veStRc2I4ZU5vVEJFRXEzaVA1eHUxS21Pc3NURzlpNnFaRUh1Ym16UEIvUTJCbExNUE5URE1ITjRFNHNLdVpRSHZkSVpLa09BTXhNMW5URUlGMk5oeXp4ZUNGcVR3VHYwTHI3cmhKa2ZzLzNGek0xeFAzRXE1WXJNWTlSQ1p3aEQ3cU0yRm9jN1llYVNRWmo1anVrT0xHNmhnMW9aelNmcGFqT0dNQVNHcnFZL1c3dWRaZzZadHhiQyt5ZzJGbmVrRTJadURHRUlITDJQUVhTbEVXYSt1elE4ajBXNWxQS2tHeTNHRUliUW9QZHdQc0lpaEtGQXBvYUF4S1gyRStUSDNKbXFCdGUza0dvNUU3U2NIN3JOWnpEc0NibVNCOW5LMGNCRTRKOWVGQWtjNmlhRCsydDVsU05SN3RjWTYvUjZ4OGtHZzBmSVJEcGtEQ3Zvd3hCZ01XUjNIMHM2aGloeVV1ZFF3Q3NhbzFXdjZ4YW9aekI0Z0pUeXNZd21ScHpod0crelZhOTdRMWpiRFFGUUJKUlJ4SHFOTWRZelZRYURnNHhsdll6bWZJUWZnUDk3NFROcElib3pFTGhIeTNqWWRLTU1maUNYMDBZUnc0QnlTSCtkWVUrNE53UTlHaUtCTUlJQ1h0WXBOS3JOWHVuTE1oaDJSVXBwbHl0b1JSZ0cvcHlsNWEwaEVoU2pUT2Rmdks0eFJxWWp5bURZSFhJWkc4R2Z2ZGQrR0NMSk54RGFkQXB0V3NuWDA2akhZTWc2WG8waGRzZEl1bmhkSzdCTk44b1FkaktkWlVxVnZpaXorSVRYdEpJTDA4aHZNR1NGYkxRUTNUbUNPR3UxZ2pZdDUvQU15akVZZk1IUE1jVHVHRWtCYjJpbDZVWVp3a1ZRaG9Ca04rcFRYdFZwWE9CUm1RWkRSZ1JwaUNSSG9qeWdVMm5UYXRPTk1nUkx0c2NRdlNPTXBKUFh0UXBiSjNlN0ZNVmd5Q0x1RFNFK0dTSkJDY29zK3ZDYVR1dDJacWpCa0NYQzBHWGFGZUZJNEVHdG9rMm5PbWY2R0F4WklKeUcrSUxFYkpUcFJobXlSTmdOQVZBQ3pLS0VWM1U2Mzg5eTNZWThJd3FHU0RJSStLMVcwNmJUK1ZwQUdndzVUcFFNa1VBWmliQmVxN0hWcGpoUUxZYWNJM3FHU0pEb1JtM2pWYTNtZTBHTE1lUU9VVFZFa3NFSUQra050T2tNdmhxMEdFUDBpYm9oa293a3pucXRNZDBvUTJia2lpRUErZ0d6YU9jVnJlSGNvTVVZb29rclEyamk0S2RDbjdSNHhSRGdkenJEZEtNTTduSFhRbHdkZWpOMFp5U3dYbWVhYmxSZUUzZDNHSUhiTGxOWXUwdTkwUTlsRmwyOHJETVpFYlFZUTFiWmpGTFBOaGE1eWVUT0VQdEd6aEFKbEtIQTczUW1LN1dHZzRLV1kvQVZCVmJSd1NDNURGdkd1YnVDelowaE9pTnFpQVFDaktHQURUcVRtTnFSNnY0WlVrSDVFeGFueWFXTWxURzhuMDRSN2d6UkZXbERKTmtIb1lVdW50TmFUZ3Rhak1FVDNrVzRra3M1V1VwNU9wT0MzQm5DcjgxQndYQU13aE5hWjdwUmtVWFpBdFJUd0dDNWxKVWltUjllNXM0UThad3lCQ1M3VVlXOHFYWEU5QklLZ2haa1NCRmhGVVVNbHN1d3BaU3QzaFhyQXIyZW9SU3czbFdwMFVxL2hEQkpiSjdDa0plNGF5R0tjcTZGMkpsamdTZlZacVhhSEJpMEdFUDJ5ZWN4Uk0rbzA0MkNEVnBQVEZlYmJsUStZUXpST3dOUVdsalBzenFiVTRJV1k4Z091YjVTN1FYSG9meEI2MW1wOC9oeTBHSU0vbUphaU5SSWRLTTYyYUJ6VERjcWwzRm5DTW43SUxsOVVWcll3SjkwTGljSExjYmdQYWJMbEE3SzhTaFA2UnpUamNvMVRKY3BmUkxkcUM3VGpjb2xUQXVST2ZzaXRQQVhudEhabkJTMEdFTm11RE5FZXJjSDVRZktDVmc4cFhOWnFUWUhCQzNIa0I2bWhmQVdDMkVNUld6UUJtSnFwN1ZuUFZSb013T0MxcEFKdXBxRDNYemU3USsyNXowRXJxS2pjcGI5Z0JhS2VWSWJPU1pvTWVtZ1N6aFVsN0tjWXVZRXJTVWRkQlZEOUdjOFFBZFQzZVJ6TzZoMk4rMXF6SEVLU2xuUUl0eWdOc1c2aEJnV2J5SmNUWG9uc3dTRzNzZStlaCtOV0x3QzdtK21jcmRyVENsSyt5SGZNZDltNERHZ2pTNmVvSWpIMEJ6ZGt4Q25QV2dKcWFMTEdJWFNDdEc3VjF4dExJNWdOTEFBMGcvTWRMdU5NcE14eE5zb0R3TnIyWWVIeFA3aVFkRktLb0Q3TWlnN3ZBZ2RRVXZZRTdxTVk0blRnbkptMEZyU1FlL2pMT0swSUJ5ZGFWbnVER0ZSNUdKUFVoZUovUVZyRWRya0pwN3Y3WU95a0o5cEpaZEREdDVoTGVGdElYUXArd04xeEprRTBWdEgwWlY4RFl1NUtHTzg2cDY3N3pMdG5zMkkweFVxNU5leWdBOWNLTG1lTHI1TDRnUyszRUhEMTBMb2NvcG81enJpMUNQc0U3UWV0K2hLK2lGTUE2YWo3T1hsV05XTEx0UGJDQThqdTNhRjNDQ04vRldyYUVDWmwzZ2huVkpDU01nTW9Zc1p3ZWUwQU44S1dvdGJWQkh1WlF4S0U3aWJUazJWZEF6eFJWY29UcHNzN3IwcjVKb1NGckNaVWhJNzEzSURLeHlHMEtVTXBvdEZLQmRHOFQ4YnZZc1RXVVVyK0xzM3haMGh1cmliSXVaTE14LzdJVVpzT3JXUzZ4Q2VwUHQwWDIvN29LTkJvR01JYldZQVFqVmRUSUhvUlN2clBYd0Z1QkVZVFJaK2ZWZUdrS1c4NlplUTdYVXM1R21keG5MZ1dyL3J5Z29CZFpuVXhtSkE1dE9RUWFHcjZjdFd5b0Fad0pleVZXODRGMTIyVVkzdzNoNC9GNFhXSW9CWkpyMkpzOWlIRjRCN2lLSVo3bUlVVzNnRHBaRXNtZ0ZDYWdoWndpZEFoYnRNL21qSm1DeTJFSG9UWDlWbVZtTHhLRVF2WkVUdjVIaTlpOGNSZmcwY0hvU0cwSjV2S2syczFtbU1SaGpsUHJNUGd0SWxDNGJRQmZURFlockNkR0F2dit2ekdyMkgvZW1pRGdsK1BTUzBoZ0RBNG5xVXM0RCthWmNSdkRsODZ6S3BJaXppWW9TRkVMMnJpblU1UlJSekhWM2hXUThKWlpjcGlUVHhEa0s5ZHdWNlZsTHErRFR0cWdzNWtVVThDYXdtaW1hNGt4RVU4UkpLQzRURERKQmxRNmhOb2JwOUxQdlNBcnpvdVpqc21HTVR5cXRlRnFoTkhLb0xXWTd3UitCVUw4dk9Cbm9IUS9SMkhuRGkycjRadEo2ZDhkMFFPcGsrT29VUldrRXJuL0F1VTdqS1RYNng2VVM1bXNTQ29ELzRZUTdsQXl6T2tocmU4S3pJaFZ4RUFYK0c2SVZsQStqdGpBZGVROXlIWldjTFg3NVVuVUpmbmNJb25jSktDdmtRZUJnb0F3NUNhTllxQnJvcFQrYnpISEN6SDFwM3JjeVRVdDZtZ085SU5TOTdVdG9YSEVPMFk3MkdFZkp4cTJmaXRKd0JLT2NpakVMNUVkQy9sNGRySDdxNEJWek9IaWt6RUg0RTdzeVVFZW1aNHpVSytiNU1aNlBIYWd4WklLTVdRaWV4djhZWXF6SGFVRDRrTWNBYnc1NW5oVVpxQlQ5MlU1Zk01MU1rOUx2UEhxZUEwNDBab290clEraGtCbW9aVjJ1TU5ncDVuOFJxNkVqY3hza0lTN1hTM1NxcU5ISS95cTljMWVNVmUyNHQxbExDZVZMTnY3T2d4dUFUN2k1dUwrY2lMTjVCV0U3Q0JKbnNvRHVBT00ydWN5bVRJT0NIYm1kektQZnlaUzZTQ3U5dXNqRUVnOXNydGZyaDVaeU1jTGxPNVlldXNzeG5JOG9zenpSa2lzVVN1cmhTSm9ZanpOdVFHY0ZQM1FrM2F6WDd1c3JUbHlYQUgvMFJsRElLMU1zTXlzUW1IckFXZzBjRWJ3ZzRoRTZhM0dRUW16Z1dFeUd3LzVXN1VLNlJXdXlBNmpmNFJCZ01BVEJCcC9FOU54bGtIcThBUzN6U3N6dmFFUzZUT2xZRVVMZkJaOEppQ0NIT2NyVmRCdkgxb1JaNDJ4OUpQYklaWVpUTVpFMFc2elJra2JBWUFvVEQyY3hjVjFsc3RqZ2h3OW5nWXl4R1NDMi95MUo5aGdBSWp5RVNUTmJwbk80bWc4empRZUFYUHVsSjhnN0NxVEl6OElHOHdXZkNaZ2lMT0xlcjdYS1RTeWVUZ1gvNUk0bjFGSEM2MUxMQnAvSU5JU0pzaGdBWXdtWnEzV1J3RGtTYjZZT1c1eWppVEpuSjM5TXRRQnM0eWt0QkJuOEpveUVBcXJTYUUxemxLT1lXNENrUE5UekdYcHd0TmZ3ajNRTDBScVlqVkhxb3llQXpZVFZFSVhIdTBLdFREdzBSbXpnRlhJTTNheE8vQWk2UTZYeWFiZ0hhd0d6bjFBaERoQWlySVFDT1lRQlZiakxJSEY1RjBvaVAycEc3Z1V2RVpsczZtVlVSYmFBRmNkZnRNNFNETUJzQ29GYW51enlEZEFzMjhEOXAxU1kwaWMwNHNlbE1KN3V1cG9CNTNBN0UwcXJmRURoaE4wUWY0QTY5SlBXalNhU1pyVTVFYk9vSWlsSXBOdFZ1QlNiUjFSVHdaKzRDeHFkYmhpRjR3bTRJVUU3aTYweDJrMFhtOFJEQ3oxUDhlQmN3UVdaemszdHhDZFNtbUQrekJtRk11bVVZd2tINERRRWdOR2cxUjdyS0U2Y2MyTFNIVDMxT1lyeHdaN3JTMUthRVF0cUFINlZiaGlFOFJNTVFVSUp5bTVzamJHUWVIOEp1dTBEL3dtS0V6T2IrZEVYcEF2bzVabkFWbUdnSUwxRXhCTUIzcWVhbnJuSTBjQnZ3WkEvdkpJNklzWHQ4THlYVVpnRGJXQWVjblc0Wmh2QVJKVU9Bc2tCbjhOVlVQeTZKVFR3VFNIU05raVNPaUxGNUtXMFpOZ2RTd0g4REo2ZGJoaUdjUk1zUXNEZGQzT29tZzh4bEE3RFErZXZyeFBtTzJMeVZyZ0MxT1pnQ0hpR0NwMnNiOWt6VURBRndnVlp6aGFzY2hjeEZ1WnNDVHBlR0ZPNmQ2QVdkeTJGWVBBRW1QaWxYQ2ZVcGFydWhWV3RZNXd5Yzk0aXo2and1a3dyVlpqQngxa0hxWFRaRDlJaGlDd0d3UDhyaWJGV21jeGlHeFdNWU0rUThVVFVFS0tWNkF4ZjVYbzNOOGNSNUhEalU3N29Nd1JOZFF5UllwamI3K1ZXNHp1WkVoSWVCQS95cXd4QXVvbTZJZzltV2ZzakY3dERabklueUNQaG5PRVA0aUxvaFFMaEtxem5QeXlLMW52T0o4eUJadmdIVEVEelJOd1NBc0Z5cnZIbDQxZVlIS1BjRGZiMG96eEF0Y3NNUThEVUt1VEhUUXJTT3k0QmZrZ2c3TitRaHVXSUlnR3QxQm1la20xbHRya2E0bCtpdXpSZzhJSmNNWWFIY3BsUGNkM1cwamtuQXJlVFc5MkZJZzF4N0FBWlQ0dTRBWXExak9zSlNOQVEzV2hzQ0o5Y01BY3BVcmVYRWxENDZpM293SjJQa01HK2cvTkpOQm5lRzZPSnhKUFJubXhZUTV3NjFlNy9pUzBGMEZxMG9kZGtVWnNnYW00QnFDamxPUnJzN2Z0VFZBRktXOFRmZyt6cUZFY1JwQVpjblltU1A0YlJ6QTFDLzh4dHFZOUhKQ3BTZkJLREw0Qzl4NEQ2S21DcWw2UjB3bDFhWFNacFp4MWFPUXlrbjZQdmVla09vMFZxR2QzOUpMNkdBVHU1RWpCbHlEdUZSTEk2VEt4aWJyaGtnZ3pHRXJLQkRGdE5LSjBjQWkwbWNYaEVtaW9semo5cUpWbEJ0aWhuS2FvUXJneFptOEpTM0VFcmxDczZSeTNrbDA4SXlIbFRMTWo2U1ZtSUl3NEdITWkzUFk0NmpnM0tkVEI4NldRUCtSOGNhc3NabW9KNU9oc3NWM2wxZzQ5a2lsTFN3SGpoUFkxeUNNQjg0M0t1eU0wS1l6VDVjQkp3U3RCU0RKeWh3TDUxVXlUZys4THB3ejZkZHBaVTFER0FJUWpud2lkZmxwMEZmakJseWhXZFJUcE94alBYRERPRFRPb1RZdEVzenJSUXhERmdCNXRwYVEwYThoM0lsWXpoSnJ1UnBQeXZ5ZFdGTzVyTlJtcGtJbkFUOHdjKzZERG5KVnFDSnZneVZxMWdwZ3ZwZFlWWUMyYVNaNXhTK1F3VVhBd3VBdzdKUnJ5SFNyRVdaTEZmeDEyeFdtclhRRFFHVlJhemhNNzZKVUUvQy9RYkR6cnlBY29aY3hTZ1psMTB6UUFDeFRMS0NMYklRbXdJR0E2dkEvMmJRRUFrK0FzcnB4N2RsSEU4RUpTS3c0RDZaejd0eUUyT0JVeEJ6M1cwZTB3RXNwcDBqWkJ5dFVocnNBbS9nMGE2eWtHZm94Mm5PQ25KS0I0OFpjb1oxd0xFeW5waE1ERWNJVU9DR2dNU0ZpYktBbFNoSE9PT0x6L2VZeVJCbE5tQnhvWXpuWEJuUEcwR0w2VTRvREpGRUZySlo1bU5Ud0ZHSWQ4dnhodER3TWNway9zNVJNbzdmQkMybUowSzVmMWdhZVFzbzFXck9kc0xNaCs4cGp5SDh5SVRNRDRMd20xQzFFRHNqalR4S0NjY2pUSVQwUTNvTmhsUUp0U0VBeEtaVEdsbUJNQVNsQ1dnUFdwTWhkd205SVpKSUk1dGtQdFhFT1JyQzJmODBSSi9JR0NLSnpHZUROSEloY0M2RWE0YkNFSDBpWjRnazBzZzZQdUpZSjh3OEZIUFlodWdUV1VPQXM0MTFIcTNBRWM0RkttSGJ4bXFJR0pFMlJCSzVrWS9rUm1MRU9SRjRQR2c5aHVpU0U0WklJbzI4S1BNNEUvZ0I4SGJRZWd6Ukk2Y01rVVFhYUdNTDMwS3BCajROV284aE91U2tJUUNrbWEweWp5WUtHWXFhYmF5RzFNaFpReVFSbTQzU3dFU1VreENlQ2xwUHhQZ3Y0dHN2dmM4TGN0NFFTYVNCNTVqTjZRaWx3RHRCNndrNWJ3TG55eVQrVXlibjExZ3Nid3dCempiVzJheWhnR0Vrem4zZEZyU21rUEV4U2puL1pMaE00cmRCaXdtQ3ZESkVFckhaSXJPeHNSZ0VyQ0lMcHptRW5FNWdCVVVNa2NtMGlrMW4wSUtDSWk4TmtVUnMzcFhaaktXTHM0Q1hndFlUQ01vanhEbE9Kak5SSnZMUG9PVUVUVjRiSW9uTTRmY0lKK1RaTnRhL0lKUktHU01reG10Qml3a0x4aEFPWWhNWG01WEFrWkRUMjFnL1E2a0hoc3Rrc3l0eFo0d2hka0pzUGhNYm13S0dRMDQ5TUhGZ0ZjcVJFc09Xc3B3MWZFYUVjZ3RwR0pCYS9nS1VhajNuQU0xRWV4dnJNeWd4S2VlWm9JV0VIZE5DN0FHWnhTTW94ME1rdDdHK0MxeEpqRk9NR1ZMREdDSUZ4S1pUNmxoQm5LRWtia3NLKzdUa0ZxQ2VPSU9sUER1SEJPY0t4aEF1RUp1UHBZNFlCUXhIZVRCb1BUMmd3QnE2K0taTXdaWUtjMzZ1Vzh3WUlnMmtoamVCQzNRT0kwaTBHTU1DbGdUQzgwQk1wcGhyQnpMQnRCQVpJTFdzNDhzY0UvQnRyTzhqVE9UZmZOdVlJWE9NSVRKRUp0SWh0YlJpY1FTUzFXMnM3Y0JpaWhncVUxZ2h0Z2x2OXdKakNJK1FHajZTR21MQXQ4SDM0OXpYWWpGTXBoS1RzbERjNDVjem1ER0V4OGdNWGdETzBMbU13cUxWNCtMZlJEaGJwdktZeCtVYURQNmpOaVhheUJsQjZ6Q2t6djhEUWQ3UXJNYkxSMUFBQUFBQVNVVk9SSzVDWUlJPSI+CjxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgaHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNUUFBQURFQ0FZQUFBREFwbzVyQUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBQUFsd1NGbHpBQUJhYmdBQVdtNEJ4V3NqT0FBQUFCbDBSVmgwVTI5bWRIZGhjbVVBZDNkM0xtbHVhM05qWVhCbExtOXlaNXZ1UEJvQUFCbDBTVVJCVkhpYzdaMTVlRlRWM2NjL3Y1c0ZDVlJ4cVZ0cHRWVzJWbHhmNjFxdGlxMEw5R2w5TlhVQkZFcEZSVEloaEJBRENUZEFNQUVrQ1lzSzdxQjkra0Q3MnFmQldpdnFXN1ZhNjc0aXJlOXJheFgxYlpWV1pUSEwvTjQvNWc0R1NHRHV6TDF6NzUwNW4zODR6TXc1NTh2TS9YSzIzemtIRElHaml6aFBGM0ZlMERvTUlFRUx5R2QwUG9Pd2FBQXVjVjVhaDBXNVZQQjZrTHJ5R1dPSUFGQ2IvdlNqRXFnRyt1endLd2dkd0MxMFVDZlYvRHNZaGZtTE1VUVdVUnVMRWtZRDh4RU8ydjdHam9ad1BzeEhXTXhoSUV1bGxLNXM2c3huakNHeWhDN2dKSlJXNENTZ1p4UDBuSDRKaTVpVTg3amZHZzNHRUw2alRRd0U1Z0dqa1c3ZmQrcUdTTEtXSXNwa01tLzdJTlBnWUF6aEUycFRRaCtxc0tnQytnTHVUYkJyZWl1d21IWWFaRHFmZWlyWUFCaERlSTRxUWlNWEF3c1FEdlBBQkQybE55TFVzNG5ieFNhZXVXcERFbU1JRDlFYk9RRm9SVGh0KzR2K0dDTDU1N05BdWNSNEtpM0JobDB3aHZBQWJlQVFMR3hnQW1ENWFvTHU2Y1NmaXZBTGxFcUo4WTVMNllhZE1JYklBTFVwcG9ockVXWWo3TDM5amV3YUlwbmVqTEtRdldtVWNXeEw2UjlnMkFWamlEVFJ1WXpDb2dYNEJwQTlFM1JQOS96KzM0R1pVc2JLWHFRYmRvTXhoRXUwZ2FNUm1sSE85dkFCLzZPVE90a0RReVRTeWlNbzVSTGp0WjcrSFlhZXNZSVdFQlhVWmorZFN5dndQTXJaSGhXN0VXRWluM0VhVXprVm9SVDRteWNsQytkZzhiSXVaYVhld29HZWxKa0htQlppRDZoTklVV01SMmtBRHZDb1ZkaUtzSmo0cnVzSnVwd1NQcU1LcUVLYzlZdmV5a205emsxQUV3ZlNMS1cwWStnVlk0amRvUFdjZzBVTHdsSGJYOHpjRUdzUnltVGE3bGVjdFltQkZEa3IzT3l3eHAyT0laTHBEUWhUNVRvZTJGM2QrWXd4UkEvb0hBWkJ0N0JzYjFxRkZ5bWdYQ3JkeFNUcElzNEVXaENPM2FYTTlMV3NvNENZWE1NYmJyVGtBOFlRM1ZDYi9naVZ5RTVoMlprWjRpT0VPUnllZnRTcTJsZ01ZRFRLZk9BZ2ozUjFvTnhDSVhVeTBZU1pKekdHd0huZ0xPZUI2eWtzTzcwSEwvSEFpWGY3R25RWi9XbnZ3YkRwYXdTY01QUDlUSmc1R0VPZ3MxTUl5M2Ivc0swalRreHEvT21TYUN1RFVCcVE3VHZ0dk9qV3ZZaFFMdGZrZDVoNTNocENiUmRoMmFrL1ZCdFFLcVNHMzNncXRoZTBsWE9BRnVBb0Q5ZEUxbEpBbWZ3MFA4UE04ODRRYWxNQ3pyUm1xbUhaZTM2UU5pRTA4VG5OWW1kM1dsTnRDdG1YOFlnekxkeTdSamZwUkpoNUVRM3lrL3dLTTg4YlF5Z0lkVnlNeFFMVVpWaDI3Kzkzb3R5Sk1GTnErSWZYbXQyZ2k5aVBRbVlCMXlFVWJuOGpNM084aDFMRFJGYUpvSjRLRGlsNVlRaXQ1UVFrZzdEc25sOTdGSXR5cWVaVlQ4Vm1pQzVoS0VvejRoeHI0MDFYNmxtVW1GekQweDVLRFNVNWJRaXQ0UkNLc05FTXc3SjNmTzB0bEJxWnlScVA1WHFLTG1ZVVFndmlCQjlDcHVaUTRGNDZxSkpKZk9DcDJCQ1JrNFpRbTJJNlBRekxUdnlaQ0svZWh4dWxqTTg5bHV3TGFsUE0vczczQUh0NzFGcHNSbGhJWVc2R21lZWNJWFNHNTJIWmNZVDdFS2JKREQ3MFZtMTIwT1VjUWdjMjRyU1U0TVgzOGhaQ2pVd0lkMHZwbHB3eGhON0FVQXBvQnM3emNBcnlHWlNZMVBHTWgxSURRMjkydHJncXAzbjJIVms4U3B3cDhsTmU4VkJxWUVUZUVHcXpIeDNNUXJnT25ObVZ6SC9zZDRFWjFPYmU3SW9xd2kzT0lRaHdHT0RGOTlXSk9MTnQ0NE9kYmN1VXlCcENiUXJwWUR4NEdwYTlCVmpBbDJpU0NyWjZLRGQwNkhKSzZLUUtTU0hNUE5XMHhTYmlOTEYzZE1QTUkya0lyWEZXYUwwTHkxYmdGeFF3VFdaNnRFRW5JdWppRk1MTTNhWVRZZVlWTWk0N0svWmVFaWxENkV3R0VmYzhMUHM1TE1xbGpqOTRwelI2Nk0yYzZVeEc3QnBtN2piOXhXdnJLS1JNeHJMZU82WCtFZ2xEcU8xRWVTclZDSDIydjVHWklUWUM5V0FPKzBxaU5oWUhPNGN4ZHc4emgweldiUkpSdngzUkNETVB0U0hVeG1Jcm83R2NId2k4YUJYYWdWc3BZYVk1RHJKbmRCbjlzYWpFY3NMTUlSTkRKRW1FbWZjTmQ1aDVhQTJoTjNRTHkvWnVHblV0UWt4cy90ZERxVG1MM3NvZ3hPbWlabTZJWlBvRmxISVp4eE5lYXZXSzBCbENxeGlJMVcyUUIxNjBDaStobE1zY2Z1K3AyRHhCVnpEQ2lZOUtUR0prWm9oa2VpMXhKc3M0L3VxbDFrd0pqU0hVcG9RdHpqUWc5UFdvVlVoczMxelBVbGtUM21ZNkNxaE5JVjl4VGg4Uko4d2NNakVFSkthNWw5Q1h1VkxLWjk0cVRvL0FEYUVnVE9OaXhGa29jditsOXBST1hFdlZUcDAwaFg4Z0Z5WDBkdlpEbVFWTUFnb3lORVF5L1I1Q0RhT0RYd2dOMUJBNmxST3dlZ25MVHQ4UTZ4REtaWTY1dU5CUDlEYUdBWXVRYnJlblp2N2IvUW1MbUl6ZWZwSmgxZ25FRUZydWhHWHY3clJzOTEvcUJ1Sk1sWG5tektGc29yY3pDcHhnU205YWQwV2NNUE54MlE4eno2b2huTzdSTkpSYWhQNDlxbkQvcFg0TTFGUEV6V0xUNmExaVF5cm9YZXhGbkFyZ0JxQy9SK08vVDdDWVF4R0xzeGtHa3ZVV1FpczR6amtONzR3ZVZhUnVpRVJZZGhHVll2Ti9mbWcxdUVPWGN3aUZQb1daWDVHZE1QUEF4aEJheVNpRVZ1RHJyZzJoUElvd1JlYmxSc2h4cnFGM2N3SmR6dGpRdXpXa1IxSEtaYlMvVzNhREhWVGJGTE9aYXhIbUFGL2FRVkhQWDh4YldOUklRMjV0U3NsRlZCSHU5aUhNSE82a2lKbFM2aytZZWVEVHJnQmF4YUhBTEdBQzBtTlRtOWkyV0V5ajJMbTNiVEdYMGVXVVVKemlhZWFwcHplaDFITW95K1FzYjhlTm9UQkVFcTNpUDV4dTFLbU9zc1RHOWk2cVpFSHVibXpQQi9RMkJsTE1QTlRETUhONEU0c0t1WlFIdmRJWktrT0FNeE0xblRFSUYyTmh5enhlQ0ZxVHdUdjBMcjdyaEprZnMvM0Z6TTF4UDNFcTVZck1ZOVJDWndoRDdxTTJGb2M3WWVhU1FaajVqdWtPTEc2aGcxb1p6U2ZwYWpPR01BU0dycVkvVzd1ZFpnNlp0eGJDK3lnMkZuZWtFMlp1REdFSUhMMlBRWFNsRVdhK3V6UThqMFc1bFBLa0d5M0dFSWJRb1Bkd1BzSWloS0ZBcG9hQXhLWDJFK1RIM0ptcUJ0ZTNrR281RTdTY0g3ck5aekRzQ2JtU0I5bkswY0JFNEo5ZUZBa2M2aWFEKzJ0NWxTTlI3dGNZNi9SNng4a0dnMGZJUkRwa0RDdm93eEJnTVdSM0gwczZoaWh5VXVkUXdDc2FvMVd2Nnhhb1p6QjRnSlR5c1l3bVJwemh3Ryt6VmE5N1ExamJEUUZRQkpSUnhIcU5NZFl6VlFhRGc0eGx2WXptZklRZmdQOTc0VE5wSWJvekVMaEh5M2pZZEtNTWZpQ1gwMFlSdzRCeVNIK2RZVSs0TndROUdpS0JNSUlDWHRZcE5Lck5YdW5MTWhoMlJVcHBseXRvUlJnRy9weWw1YTBoRWhTalRPZGZ2SzR4UnFZanltRFlIWElaRzhHZnZkZCtHQ0xKTnhEYWRBcHRXc25YMDZqSFlNZzZYbzBoZHNkSXVuaGRLN0JOTjhvUWRqS2RaVXFWdmlpeitJVFh0SklMMDhodk1HU0ZiTFFRM1RtQ09HdTFnall0NS9BTXlqRVlmTUhQTWNUdUdFa0JiMmlsNlVZWndrVlFob0JrTitwVFh0VnBYT0JSbVFaRFJnUnBpQ1JIb2p5Z1UyblRhdE9OTWdSTHRzY1F2U09NcEpQWHRRcGJKM2U3Rk1WZ3lDTHVEU0UrR1NKQkNjb3MrdkNhVHV0MlpxakJrQ1hDMEdYYUZlRkk0RUd0b2sybk9tZjZHQXhaSUp5RytJTEViSlRwUmhteVJOZ05BVkFDektLRVYzVTYzODl5M1lZOEl3cUdTRElJK0sxVzA2YlQrVnBBR2d3NVRwUU1rVUFaaWJCZXE3SFZwamhRTFlhY0kzcUdTSkRvUm0zalZhM21lMEdMTWVRT1VUVkVrc0VJRCtrTnRPa012aHEwR0VQMGlib2hrb3drem5xdE1kMG9RMmJraWlFQStnR3phT2NWcmVIY29NVVlvb2tyUTJqaTRLZENuN1I0eFJEZ2R6ckRkS01NN25IWFFsd2Rlak4wWnlTd1htZWFibFJlRTNkM0dJSGJMbE5ZdTB1OTBROWxGbDI4ckRNWkViUVlRMWJaakZMUE5oYTV5ZVRPRVB0R3poQUpsS0hBNzNRbUs3V0dnNEtXWS9BVkJWYlJ3U0M1REZ2R3VidUN6WjBoT2lOcWlBUUNqS0dBRFRxVG1OcVI2djRaVWtINUV4YW55YVdNbFRHOG4wNFI3Z3pSRldsREpOa0hvWVV1bnROYVRndGFqTUVUM2tXNGtrczVXVXA1T3BPQzNCbkNyODFCd1hBTXdoTmFaN3BSa1VYWkF0UlR3R0M1bEpVaW1SOWU1czRROFp3eUJDUzdVWVc4cVhYRTlCSUtnaFprU0JGaEZVVU1sc3V3cFpTdDNoWHJBcjJlb1JTdzNsV3AwVXEvaERCSmJKN0NrSmU0YXlHS2NxNkYySmxqZ1NmVlpxWGFIQmkwR0VQMnllY3hSTStvMDQyQ0RWcFBURmViYmxRK1lRelJPd05RV2xqUHN6cWJVNElXWThnT3ViNVM3UVhIb2Z4QjYxbXA4L2h5MEdJTS9tSmFpTlJJZEtNNjJhQnpURGNxbDNGbkNNbjdJTGw5VVZyWXdKOTBMaWNITGNiZ1BhYkxsQTdLOFNoUDZSelRqY28xVEpjcGZSTGRxQzdUamNvbFRBdVJPZnNpdFBBWG50SFpuQlMwR0VObXVETkVlcmNINVFmS0NWZzhwWE5acVRZSEJDM0hrQjZtaGZBV0MyRU1SV3pRQm1KcXA3Vm5QVlJvTXdPQzFwQUp1cHFEM1h6ZTdRKzI1ejBFcnFLamNwYjlnQmFLZVZJYk9TWm9NZW1nU3poVWw3S2NZdVlFclNVZGRCVkQ5R2M4UUFkVDNlUnpPNmgyTisxcXpIRUtTbG5RSXR5Z05zVzZoQmdXYnlKY1RYb25zd1NHM3NlK2VoK05XTHdDN20rbWNyZHJUQ2xLK3lIZk1kOW00REdnalM2ZW9JakgwQnpka3hDblBXZ0pxYUxMR0lYU0N0RzdWMXh0TEk1Z05MQUEwZy9NZEx1Tk1wTXh4TnNvRHdOcjJZZUh4UDdpUWRGS0tvRDdNaWc3dkFnZFFVdllFN3FNWTRuVGduSm0wRnJTUWUvakxPSzBJQnlkYVZudURHRlI1R0pQVWhlSi9RVnJFZHJrSnA3djdZT3lrSjlwSlpkRER0NWhMZUZ0SVhRcCt3TjF4SmtFMFZ0SDBaVjhEWXU1S0dPODZwNjc3ekx0bnMySTB4VXE1TmV5Z0E5Y0tMbWVMcjVMNGdTKzNFSEQxMExvY29wbzV6cmkxQ1BzRTdRZXQraEsraUZNQTZhajdPWGxXTldMTHRQYkNBOGp1M2FGM0NDTi9GV3JhRUNabDNnaG5WSkNTTWdNb1lzWndlZTBBTjhLV290YlZCSHVaUXhLRTdpYlRrMlZkQXp4UlZjb1Rwc3M3cjByNUpvU0ZyQ1pVaEk3MTNJREt4eUcwS1VNcG90RktCZEc4VDhidllzVFdVVXIrTHMzeFowaHVyaWJJdVpMTXgvN0lVWnNPcldTNnhDZXBQdDBYMi83b0tOQm9HTUliV1lBUWpWZFRJSG9SU3ZyUFh3RnVCRVlUUlorZlZlR2tLVzg2WmVRN1hVczVHbWR4bkxnV3Ivcnlnb0JkWm5VeG1KQTV0T1FRYUdyNmN0V3lvQVp3SmV5Vlc4NEYxMjJVWTN3M2g0L0Y0WFdJb0JaSnIySnM5aUhGNEI3aUtJWjdtSVVXM2dEcFpFc21nRkNhZ2had2lkQWhidE0vbWpKbUN5MkVIb1RYOVZtVm1MeEtFUXZaRVR2NUhpOWk4Y1JmZzBjSG9TRzBKNXZLazJzMW1tTVJoamxQck1QZ3RJbEM0YlFCZlREWWhyQ2RHQXZ2K3Z6R3IySC9lbWlEZ2wrUFNTMGhnREE0bnFVczREK2FaY1J2RGw4NnpLcElpemlZb1NGRUwycmluVTVSUlJ6SFYzaFdROEpaWmNwaVRUeERrSzlkd1Y2VmxMcStEVHRxZ3M1a1VVOENhd21pbWE0a3hFVThSSktDNFREREpCbFE2aE5vYnA5TFB2U0Fyem91WmpzbUdNVHlxdGVGcWhOSEtvTFdZN3dSK0JVTDh2T0Jub0hRL1IySG5EaTJyNFp0SjZkOGQwUU9waytPb1VSV2tFcm4vQXVVN2pLVFg2eDZVUzVtc1NDb0QvNFlRN2xBeXpPa2hyZThLekloVnhFQVgrRzZJVmxBK2p0akFkZVE5eUhaV2NMWDc1VW5VSmZuY0lvbmNKS0N2a1FlQmdvQXc1Q2FOWXFCcm9wVCtiekhIQ3pIMXAzcmN5VFV0Nm1nTzlJTlM5N1V0b1hIRU8wWTcyR0VmSnhxMmZpdEp3QktPY2lqRUw1RWRDL2w0ZHJIN3E0QlZ6T0hpa3pFSDRFN3N5VUVlbVo0elVLK2I1TVo2UEhhZ3haSUtNV1FpZXh2OFlZcXpIYVVENGtNY0FidzU1bmhVWnFCVDkyVTVmTTUxTWs5THZQSHFlQTA0MFpvb3RyUStoa0Jtb1pWMnVNTmdwNW44UnE2RWpjeHNrSVM3WFMzU3FxTkhJL3lxOWMxZU1WZTI0dDFsTENlVkxOdjdPZ3h1QVQ3aTV1TCtjaUxONUJXRTdDQkpuc29EdUFPTTJ1Y3ltVElPQ0hibWR6S1BmeVpTNlNDdTl1c2pFRWc5c3J0ZnJoNVp5TWNMbE81WWV1c3N4bkk4b3N6elJraXNVU3VyaFNKb1lqek51UUdjRlAzUWszYXpYN3VzclRseVhBSC8wUmxESUsxTXNNeXNRbUhyQVdnMGNFYndnNGhFNmEzR1FRbXpnV0V5R3cvNVc3VUs2Uld1eUE2amY0UkJnTUFUQkJwL0U5Tnhsa0hxOEFTM3pTc3p2YUVTNlRPbFlFVUxmQlo4SmlDQ0hPY3JWZEJ2SDFvUlo0Mng5SlBiSVpZWlRNWkUwVzZ6UmtrYkFZQW9URDJjeGNWMWxzdGpnaHc5bmdZeXhHU0MyL3kxSjloZ0FJanlFU1ROYnBuTzRtZzh6alFlQVhQdWxKOGc3Q3FUSXo4SUc4d1dmQ1pnaUxPTGVyN1hLVFN5ZVRnWC81STRuMUZIQzYxTExCcC9JTklTSnNoZ0FZd21acTNXUndEa1NiNllPVzV5amlUSm5KMzlNdFFCczR5a3RCQm44Sm95RUFxclNhRTF6bEtPWVc0Q2tQTlR6R1hwd3ROZndqM1FMMFJxWWpWSHFveWVBellUVkVJWEh1MEt0VER3MFJtemdGWElNM2F4Ty9BaTZRNlh5YWJnSGF3R3puMUFoRGhBaXJJUUNPWVFCVmJqTElIRjVGMG9pUDJwRzdnVXZFWmxzNm1WVVJiYUFGY2RmdE00U0RNQnNDb0ZhbnV6eURkQXMyOEQ5cDFTWTBpYzA0c2VsTUo3dXVwb0I1M0E3RTBxcmZFRGhoTjBRZjRBNjlKUFdqU2FTWnJVNUViT29JaWxJcE50VnVCU2JSMVJUd1orNEN4cWRiaGlGNHdtNElVRTdpNjB4MmswWG04UkRDejFQOGVCY3dRV1p6azN0eENkU21tRCt6Qm1GTXVtVVl3a0g0RFFFZ05HZzFSN3JLRTZjYzJMU0hUMzFPWXJ4d1o3clMxS2FFUXRxQUg2VmJoaUU4Uk1NUVVJSnltNXNqYkdRZUg4SnV1MEQvd21LRXpPYitkRVhwQXZvNVpuQVZtR2dJTDFFeEJNQjNxZWFucm5JMGNCdndaQS92Skk2SXNYdDhMeVhVWmdEYldBZWNuVzRaaHZBUkpVT0Fza0JuOE5WVVB5NkpUVHdUU0hTTmtpU09pTEY1S1cwWk5nZFN3SDhESjZkYmhpR2NSTXNRc0RkZDNPb21nOHhsQTdEUStldnJ4UG1PMkx5VnJnQzFPWmdDSGlHQ3Ayc2I5a3pVREFGd2dWWnpoYXNjaGN4RnVac0NUcGVHRk82ZDZBV2R5MkZZUEFFbVBpbFhDZlVwYXJ1aFZXdFk1d3ljOTRpejZqd3Vrd3JWWmpCeDFrSHFYVFpEOUloaUN3R3dQOHJpYkZXbWN4aUd4V01ZTStROFVUVUVLS1Y2QXhmNVhvM044Y1I1SERqVTc3b013Uk5kUXlSWXBqYjcrVlc0enVaRWhJZUJBL3lxd3hBdW9tNklnOW1XZnNqRjd0RFpuSW55Q1Bobk9FUDRpTG9oUUxoS3F6blB5eUsxbnZPSjh5Qlp2Z0hURUR6Uk53U0FzRnlydkhsNDFlWUhLUGNEZmIwb3p4QXRjc01ROERVS3VUSFRRclNPeTRCZmtnZzdOK1FodVdJSWdHdDFCbWVrbTFsdHJrYTRsK2l1elJnOElKY01ZYUhjcGxQY2QzVzBqa25BcmVUVzkyRklnMXg3QUFaVDR1NEFZcTFqT3NKU05BUTNXaHNDSjljTUFjcFVyZVhFbEQ0Nmkzb3dKMlBrTUcrZy9OSk5CbmVHNk9KeEpQUm5teFlRNXc2MWU3L2lTMEYwRnEwb2Rka1Vac2dhbTRCcUNqbE9ScnM3ZnRUVkFGS1c4VGZnK3pxRkVjUnBBWmNuWW1TUDRiUnpBMUMvOHh0cVk5SEpDcFNmQktETDRDOXg0RDZLbUNxbDZSMHdsMWFYU1pwWngxYU9ReWtuNlB2ZWVrT28wVnFHZDM5Skw2R0FUdTVFakJseUR1RlJMSTZUS3hpYnJoa2dnekdFcktCREZ0TktKMGNBaTBtY1hoRW1pb2x6ajlxSlZsQnRpaG5LYW9Rcmd4Wm04SlMzRUVybENzNlJ5M2tsMDhJeUhsVExNajZTVm1JSXc0R0hNaTNQWTQ2amczS2RUQjg2V1FQK1I4Y2Fzc1ptb0o1T2hzc1YzbDFnNDlraWxMU3dIamhQWTF5Q01CODQzS3V5TTBLWXpUNWNCSndTdEJTREp5aHdMNTFVeVRnKzhMcHd6NmRkcFpVMURHQUlRam53aWRmbHAwRmZqQmx5aFdkUlRwT3hqUFhERE9EVE9vVFl0RXN6clJReERGZ0I1dHBhUTBhOGgzSWxZemhKcnVScFB5dnlkV0ZPNXJOUm1wa0luQVQ4d2MrNkREbkpWcUNKdmd5VnExZ3BndnBkWVZZQzJhU1o1eFMrUXdVWEF3dUF3N0pScnlIU3JFV1pMRmZ4MTJ4V21yWFFEUUdWUmF6aE03NkpVRS9DL1FiRHpyeUFjb1pjeFNnWmwxMHpRQUN4VExLQ0xiSVFtd0lHQTZ2QS8yYlFFQWsrQXNycHg3ZGxIRThFSlNLdzRENlp6N3R5RTJPQlV4QnozVzBlMHdFc3BwMGpaQnl0VWhyc0FtL2cwYTZ5a0dmb3gybk9DbkpLQjQ4WmNvWjF3TEV5bnBoTURFY0lVT0NHZ01TRmliS0FsU2hIT09PTHovZVl5UkJsTm1CeG9Zem5YQm5QRzBHTDZVNG9ESkZFRnJKWjVtTlR3RkdJZDh2eGh0RHdNY3BrL3M1Uk1vN2ZCQzJtSjBLNWYxZ2FlUXNvMVdyT2RzTE1oKzhwanlIOHlJVE1ENEx3bTFDMUVEc2pqVHhLQ2NjalRJVDBRM29OaGxRSnRTRUF4S1pUR2xtQk1BU2xDV2dQV3BNaGR3bTlJWkpJSTV0a1B0WEVPUnJDMmY4MFJKL0lHQ0tKekdlRE5ISWhjQzZFYTRiQ0VIMGlaNGdrMHNnNlB1SllKOHc4RkhQWWh1Z1RXVU9BczQxMUhxM0FFYzRGS21IYnhtcUlHSkUyUkJLNWtZL2tSbUxFT1JGNFBHZzlodWlTRTRaSUlvMjhLUE00RS9nQjhIYlFlZ3pSSTZjTWtVUWFhR01MMzBLcEJqNE5XbzhoT3VTa0lRQ2ttYTB5anlZS0dZcWFiYXlHMU1oWlF5UVJtNDNTd0VTVWt4Q2VDbHBQeFBndjR0c3Z2YzhMY3Q0UVNhU0I1NWpONlFpbHdEdEI2d2s1YndMbnl5VCtVeWJuMTFnc2J3d0J6amJXMmF5aGdHRWt6bjNkRnJTbWtQRXhTam4vWkxoTTRyZEJpd21DdkRKRUVySFpJck94c1JnRXJDSUxwem1FbkU1Z0JVVU1rY20waWsxbjBJS0NJaThOa1VSczNwWFpqS1dMczRDWGd0WVRDTW9qeERsT0pqTlJKdkxQb09VRVRWNGJJb25NNGZjSUorVFpOdGEvSUpSS0dTTWt4bXRCaXdrTHhoQU9ZaE1YbTVYQWtaRFQyMWcvUTZrSGhzdGtzeXR4WjR3aGRrSnNQaE1ibXdLR1EwNDlNSEZnRmNxUkVzT1dzcHcxZkVhRWNndHBHSkJhL2dLVWFqM25BTTFFZXh2ck15Z3hLZWVab0lXRUhkTkM3QUdaeFNNb3gwTWt0N0crQzF4SmpGT01HVkxER0NJRnhLWlQ2bGhCbktFa2Jrc0srN1RrRnFDZU9JT2xQRHVIQk9jS3hoQXVFSnVQcFk0WUJReEhlVEJvUFQyZ3dCcTYrS1pNd1pZS2MzNnVXOHdZSWcya2hqZUJDM1FPSTBpMEdNTUNsZ1RDODBCTXBwaHJCekxCdEJBWklMV3M0OHNjRS9CdHJPOGpUT1RmZk51WUlYT01JVEpFSnRJaHRiUmljUVNTMVcyczdjQmlpaGdxVTFnaHRnbHY5d0pqQ0krUUdqNlNHbUxBdDhIMzQ5elhZakZNcGhLVHNsRGM0NWN6bURHRXg4Z01YZ0RPMExtTXdxTFY0K0xmUkRoYnB2S1l4K1VhRFA2ak5pWGF5QmxCNnpDa3p2OERRZDdRck1iTFIxQUFBQUFBU1VWT1JLNUNZSUk9Ij4KCjxzdHlsZT4KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90bycpLCBsb2NhbCgnUm9ib3RvLVJlZ3VsYXInKSwgdXJsKC9mb250LXJvYm90by91WUVDTUtvSGNPOXgxd2RtYnlISW0zLV9rZjZCeVlPNkNMWWRCNEhRRS1ZLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vc1RkYUE2ajBQc2I5MjBWanYtbXJ6SC1fa2Y2QnlZTzZDTFlkQjRIUUUtWS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL19WWUZ4LXM4MjRrWHFfVWwyQkhxWUgtX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL3RuajRTQjZETmJkYVFuc004Q0ZxQlgtX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL29NTWdmWk1RdGhPcnlRbzluMjJkY3V2dkRpbjFwSzhhS3RlTHBlWjVjMEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL0tzX2NWeGlDaXdVV1ZzRldGQTNCam4tX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vTko0dnhsZ1d3V2JFc3YxOGRBaHFubi1fa2Y2QnlZTzZDTFlkQjRIUUUtWS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9pc1otd2JDWE5LQWJuam82X1R3SFRvWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by83N0ZYRmpSYkd6TjRhQ3JTRmhsaDNvWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9qU04yQ0dWRGJjVnlDbmZKZmpTZGZJWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkJyksIGxvY2FsKCdSb2JvdG8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL1VYNmk0SnhRRG0zZlZUYzFDUHV3cW9YMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vZC02SVlwbE9Gb2NDYWNLenh3WFNPSkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by85N3VhaHhpcVpSb25jQmFDRUkzYVc0WDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMUUwMC0xRUZGLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQ0YsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vUHdaYy1ZYklMNDE0d0I5ckIxSUFQWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1Cb2xkSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdDZOZDRjZlBSaFpQNDRRNVFBamNDMTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tQm9sZEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL3Q2TmQ0Y2ZQUmhaUDQ0UTVRQWpjQ19acmFSMlRnOHcybHptN2tMTkwwLXcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0N3dF9SbTY5MUxUZWJLZlkyWmtLU21JLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0MxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0M0Z3A5UThnYllyaHFHbFJhdl9JWGZrLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMjEyLCBVKzIyMTU7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0M2RThrTTR4V1IxXzFiWVVSUm9qUkdjLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMUUwMC0xRUZGLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQ0YsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tQm9sZEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL3Q2TmQ0Y2ZQUmhaUDQ0UTVRQWpjQzlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09wWFVxVG8wVWdRUWhHal9TRmRMV0JrQXo0clluNDdaeTJydmlnV1FmNncud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9XeHJYSmEwQzNLZHRDN2xNYWZHNGRSa0F6NHJZbjQ3WnkycnZpZ1dRZjZ3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vY0RLaFJhWG5RVE9WYmFveHdkT3I5eGtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vMWhaZjAyUE9BTmgzMmsyVmtnRW9VQmtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdlBjeW5TTDBxSHFfNmRYN2xLVkJ5WFloamJTcHZjNDdlZTZ4Ul84MEhudy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdlN6dWxmS1NLMExMampmZWF4Y1JFaGtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9LMjNjeFdWVHJJRkQ2REpzRVZpMDdSa0F6NHJZbjQ3WnkycnZpZ1dRZjZ3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCcpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0JyksIHVybCgvZm9udC1yb2JvdG8vRmw0eTBRZE94eXlUSEVHTVhYOGtjWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0JyksIGxvY2FsKCdSb2JvdG8tTGlnaHQnKSwgdXJsKC9mb250LXJvYm90by8wZUM2ZmwwNmx1WEVZV3BCU0p2WENJWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL0kzUzF3c2dTZzlZQ3VyVjZQVWtUT1lYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0JyksIGxvY2FsKCdSb2JvdG8tTGlnaHQnKSwgdXJsKC9mb250LXJvYm90by8tTDE0SmswNm02cFVIQi01bVhRUW5ZWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCcpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0JyksIHVybCgvZm9udC1yb2JvdG8vSGdvMTNrLXRmU3BuMHFpMVNGZFVmWkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL1BydTMzcWpTaHBaU21HM3o2Vll3bllYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL05ZRFdCZEQ0Z0lxMjZHNVhZYkhzRklYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0MTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0X1pyYVIyVGc4dzJsem03a0xOTDAtdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0d3RfUm02OTFMVGViS2ZZMlprS1NtSS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTGlnaHRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by83bThsN1RsRk8tUzNWa2hIdVIwYXQxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1MaWdodEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvLzdtOGw3VGxGTy1TM1ZraEh1UjBhdDRncDlROGdiWXJocUdsUmF2X0lYZmsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0NkU4a000eFdSMV8xYllVUlJvalJHYy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1MaWdodEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvLzdtOGw3VGxGTy1TM1ZraEh1UjBhdDlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bScpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bScpLCB1cmwoL2ZvbnQtcm9ib3RvL29IaTMwa3dRV3ZwQ1dxQWh6SGNDU0lYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJsKC9mb250LXJvYm90by9aTHFLZWVsWWJBVEc2MEVwWkJTRHk0WDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vbXg5VWNrNnVCNjNWSUtGWW5FTVhyWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vckd2SGRKbnIybDc1cWIwWU5EOU55SVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vUnhaSmRuemVvM1I1elNleGdlOFVVWkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vb09lRndaTmxyVGVmekxZbWxWVjFVSVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJsKC9mb250LXJvYm90by9tYm1ocHJNSDY5Wmk2ZUVQQllWRmhZWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vT0xmZkdCVGFGMFhGT1cxZ251SEYwVjRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9PTGZmR0JUYUYwWEZPVzFnbnVIRjBmWnJhUjJUZzh3Mmx6bTdrTE5MMC13LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMFF0X1JtNjkxTFRlYktmWTJaa0tTbUkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9PTGZmR0JUYUYwWEZPVzFnbnVIRjBWQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vT0xmZkdCVGFGMFhGT1cxZ251SEYwWWdwOVE4Z2JZcmhxR2xSYXZfSVhmay53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMGFFOGtNNHhXUjFfMWJZVVJSb2pSR2Mud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMGREaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZMTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZX1pyYVIyVGc4dzJsem03a0xOTDAtdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZd3RfUm02OTFMVGViS2ZZMlprS1NtSS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vJyksIGxvY2FsKCdSb2JvdG9Nb25vLVJlZ3VsYXInKSwgdXJsKC9mb250LXJvYm90by9oTXFQTkxzdV9keXdNYTRDX0RFcFkxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8nKSwgbG9jYWwoJ1JvYm90b01vbm8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL2hNcVBOTHN1X2R5d01hNENfREVwWTRncDlROGdiWXJocUdsUmF2X0lYZmsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZNkU4a000eFdSMV8xYllVUlJvalJHYy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8nKSwgbG9jYWwoJ1JvYm90b01vbm8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL2hNcVBOTHN1X2R5d01hNENfREVwWTlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubyBCb2xkJyksIGxvY2FsKCdSb2JvdG9Nb25vLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9ONGR1VmM5QzU4dXdQaVk4XzU5RnoxeC1NMUkxdzVPTWlxblZGOHhCTGhVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vIEJvbGQnKSwgbG9jYWwoJ1JvYm90b01vbm8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL040ZHVWYzlDNTh1d1BpWThfNTlGendYYUFYdXA1bVpsZks2eFJMcmhzY28ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6d242V3F4by14d3hpbERYUFU4Y2hWVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vIEJvbGQnKSwgbG9jYWwoJ1JvYm90b01vbm8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL040ZHVWYzlDNTh1d1BpWThfNTlGejFUN2FKTEs2bktwbjM2SU13VGNNTWMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubyBCb2xkJyksIGxvY2FsKCdSb2JvdG9Nb25vLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9ONGR1VmM5QzU4dXdQaVk4XzU5RnpfNzlfWnVVeENpZ00yRGVzcFRuRmF3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMjEyLCBVKzIyMTU7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6NGdkOU9FUFVDTjNBZFlXMGU4dGF0NC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6OGJJUVNZWm5XTGFXQzlRTkNwVEtfVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Cjwvc3R5bGU+CgoKCjxzdHlsZT4ubWF0LWJhZGdlLWNvbnRlbnR7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsIC5tYXQtYmFkZ2UtY29udGVudHtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2UgLm1hdC1iYWRnZS1jb250ZW50e2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDEsLm1hdC1oZWFkbGluZSwubWF0LXR5cG9ncmFwaHkgaDF7Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDIsLm1hdC10aXRsZSwubWF0LXR5cG9ncmFwaHkgaDJ7Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDMsLm1hdC1zdWJoZWFkaW5nLTIsLm1hdC10eXBvZ3JhcGh5IGgze2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0LC5tYXQtc3ViaGVhZGluZy0xLC5tYXQtdHlwb2dyYXBoeSBoNHtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNSwubWF0LXR5cG9ncmFwaHkgaDV7Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDYsLm1hdC10eXBvZ3JhcGh5IGg2e2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nLC5tYXQtYm9keS0ye2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keSwubWF0LWJvZHktMSwubWF0LXR5cG9ncmFwaHl7Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5IHAsLm1hdC1ib2R5LTEgcCwubWF0LXR5cG9ncmFwaHkgcHttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbCwubWF0LWNhcHRpb257Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTQsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS00e2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktMywubWF0LXR5cG9ncmFwaHkgLm1hdC1kaXNwbGF5LTN7Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMiwubWF0LXR5cG9ncmFwaHkgLm1hdC1kaXNwbGF5LTJ7Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTEsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0xe2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJ7Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b24sLm1hdC1yYWlzZWQtYnV0dG9uLC5tYXQtaWNvbi1idXR0b24sLm1hdC1zdHJva2VkLWJ1dHRvbiwubWF0LWZsYXQtYnV0dG9uLC5tYXQtZmFiLC5tYXQtbWluaS1mYWJ7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGV7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxle2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyIC5tYXQtY2FyZC10aXRsZXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGUsLm1hdC1jYXJkLWNvbnRlbnR7Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXQgLm1hdC1jaGVja2JveC1sYWJlbHtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uLC5tYXQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29ue2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGV7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGx7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbCwubWF0LWZvb3Rlci1jZWxse2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwsLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9ue2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlciB0aHtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGV7Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudHtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGR7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJ7cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29ue2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiwubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b257aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb24sLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24tYnV0dG9uIC5tYXQtaWNvbntoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cysubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJ7dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVse3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcntmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtd3JhcHBlcntwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1pbmZpeHtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cysubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtbGFiZWx7dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJ7bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC1pbmZpeHtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1pbmZpeHtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXIsLm1hdC1ncmlkLXRpbGUtZm9vdGVye2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlciAubWF0LWxpbmUsLm1hdC1ncmlkLXRpbGUtZm9vdGVyIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyIC5tYXQtbGluZTpudGgtY2hpbGQobisyKSwubWF0LWdyaWQtdGlsZS1mb290ZXIgLm1hdC1saW5lOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50e21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVte2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3IsLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIC5tYXQtc2VsZWN0LXRyaWdnZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9ue2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcntoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50e2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsLC5tYXQtc3RlcHBlci1ob3Jpem9udGFse2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWx7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3J7Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcntmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWR7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3Vwe2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1saW5re2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyLC5tYXQtdG9vbGJhciBoMSwubWF0LXRvb2xiYXIgaDIsLm1hdC10b29sYmFyIGgzLC5tYXQtdG9vbGJhciBoNCwubWF0LXRvb2xiYXIgaDUsLm1hdC10b29sYmFyIGg2e2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldHtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVte2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9ue2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbSAubWF0LWxpbmV7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9ue2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1vcHRpb24gLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZSAubWF0LXN1YmhlYWRlcntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3QtaXRlbXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LWl0ZW0gLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LWl0ZW0gLm1hdC1saW5lOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3Qtb3B0aW9ue2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1vcHRpb24gLm1hdC1saW5lOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LXN1YmhlYWRlcntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9ue2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVse2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFye2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb257bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWV7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlLC5tYXQtbmVzdGVkLXRyZWUtbm9kZXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGV7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVke292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtcmlwcGxlLWVsZW1lbnR7ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVue2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lciwuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJ7cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJ7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3B7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmd7b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmd7b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AsLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmd7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94e3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2t7cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemV7cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ3twYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94e3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0ey8qISovfUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5key8qISovfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcntwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3J7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjEpfS5tYXQtb3B0aW9ue2NvbG9yOiMyMTIxMjF9Lm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSwubWF0LW9wdGlvbjpmb2N1czpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1vcHRpb24ubWF0LWFjdGl2ZXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA0KTtjb2xvcjojMjEyMTIxfS5tYXQtb3B0aW9uLm1hdC1vcHRpb24tZGlzYWJsZWR7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcHJpbWFyeSAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjojZjU3YzAwfS5tYXQtYWNjZW50IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiNmZjk4MDB9Lm1hdC13YXJuIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiNmNDQzMzZ9Lm1hdC1vcHRncm91cC1sYWJlbHtjb2xvcjojNjE2MTYxfS5tYXQtb3B0Z3JvdXAtZGlzYWJsZWQgLm1hdC1vcHRncm91cC1sYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1wc2V1ZG8tY2hlY2tib3h7Y29sb3I6IzYxNjE2MX0ubWF0LXBzZXVkby1jaGVja2JveDo6YWZ0ZXJ7Y29sb3I6I2ZmZn0ubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZHtjb2xvcjojYjBiMGIwfS5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRle2JhY2tncm91bmQ6I2Y1N2MwMH0ubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRle2JhY2tncm91bmQ6I2ZmOTgwMH0ubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kOiNmNDQzMzZ9Lm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZC5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkLC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZHtiYWNrZ3JvdW5kOiNiMGIwYjB9Lm1hdC1hcHAtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIxMjEyMX0ubWF0LWVsZXZhdGlvbi16MHtib3gtc2hhZG93OjBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejF7Ym94LXNoYWRvdzowcHggMnB4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMXB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16Mntib3gtc2hhZG93OjBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoze2JveC1zaGFkb3c6MHB4IDNweCAzcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDNweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejR7Ym94LXNoYWRvdzowcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejV7Ym94LXNoYWRvdzowcHggM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNXB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDE0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejZ7Ym94LXNoYWRvdzowcHggM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNnB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXo3e2JveC1zaGFkb3c6MHB4IDRweCA1cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDdweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAycHggMTZweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16OHtib3gtc2hhZG93OjBweCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejl7Ym94LXNoYWRvdzowcHggNXB4IDZweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggOXB4IDEycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDNweCAxNnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxMHtib3gtc2hhZG93OjBweCA2cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxMHB4IDE0cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDRweCAxOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxMXtib3gtc2hhZG93OjBweCA2cHggN3B4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxMXB4IDE1cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDRweCAyMHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxMntib3gtc2hhZG93OjBweCA3cHggOHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxMnB4IDE3cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDVweCAyMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxM3tib3gtc2hhZG93OjBweCA3cHggOHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxM3B4IDE5cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDVweCAyNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxNHtib3gtc2hhZG93OjBweCA3cHggOXB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxNHB4IDIxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDVweCAyNnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxNXtib3gtc2hhZG93OjBweCA4cHggOXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxNXB4IDIycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDZweCAyOHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxNntib3gtc2hhZG93OjBweCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MTd7Ym94LXNoYWRvdzowcHggOHB4IDExcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE3cHggMjZweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNnB4IDMycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejE4e2JveC1zaGFkb3c6MHB4IDlweCAxMXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxOHB4IDI4cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDdweCAzNHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxOXtib3gtc2hhZG93OjBweCA5cHggMTJweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTlweCAyOXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA3cHggMzZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MjB7Ym94LXNoYWRvdzowcHggMTBweCAxM3B4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAyMHB4IDMxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDhweCAzOHB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoyMXtib3gtc2hhZG93OjBweCAxMHB4IDEzcHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDIxcHggMzNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOHB4IDQwcHggN3B4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejIye2JveC1zaGFkb3c6MHB4IDEwcHggMTRweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjJweCAzNXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA4cHggNDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MjN7Ym94LXNoYWRvdzowcHggMTFweCAxNHB4IC03cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAyM3B4IDM2cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDlweCA0NHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoyNHtib3gtc2hhZG93OjBweCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC10aGVtZS1sb2FkZWQtbWFya2Vye2Rpc3BsYXk6bm9uZX0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbHtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzIxMjEyMX0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA0cHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LWFjdGl2ZSk6bm90KDpob3Zlcik6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjojMjEyMTIxfS5tYXQtYmFkZ2V7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1iYWRnZS1oaWRkZW4gLm1hdC1iYWRnZS1jb250ZW50e2Rpc3BsYXk6bm9uZX0ubWF0LWJhZGdlLWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKDAuNik7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm5nLWFuaW1hdGUtZGlzYWJsZWQgLm1hdC1iYWRnZS1jb250ZW50LC5tYXQtYmFkZ2UtY29udGVudC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZXt0cmFuc2l0aW9uOm5vbmV9Lm1hdC1iYWRnZS1jb250ZW50Lm1hdC1iYWRnZS1hY3RpdmV7dHJhbnNmb3JtOm5vbmV9Lm1hdC1iYWRnZS1zbWFsbCAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtsaW5lLWhlaWdodDoxNnB4fS5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWFib3ZlIC5tYXQtYmFkZ2UtY29udGVudHt0b3A6LThweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1iZWxvdyAubWF0LWJhZGdlLWNvbnRlbnR7Ym90dG9tOi04cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi0xNnB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotMTZweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6LTE2cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LTE2cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi04cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi04cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi04cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LThweH0ubWF0LWJhZGdlLW1lZGl1bSAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtsaW5lLWhlaWdodDoyMnB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1hYm92ZSAubWF0LWJhZGdlLWNvbnRlbnR7dG9wOi0xMXB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWxvdyAubWF0LWJhZGdlLWNvbnRlbnR7Ym90dG9tOi0xMXB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTIycHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotMjJweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi0yMnB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMjJweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi0xMXB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0OmF1dG87cmlnaHQ6LTExcHh9Lm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMTFweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LTExcHh9Lm1hdC1iYWRnZS1sYXJnZSAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoyOHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWFib3ZlIC5tYXQtYmFkZ2UtY29udGVudHt0b3A6LTE0cHh9Lm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYmVsb3cgLm1hdC1iYWRnZS1jb250ZW50e2JvdHRvbTotMTRweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTI4cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi0yOHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMjhweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMjhweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTE0cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi0xNHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMTRweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMTRweH0ubWF0LWJhZGdlLWNvbnRlbnR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiNmNTdjMDB9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJhZGdlLWNvbnRlbnR7b3V0bGluZTpzb2xpZCAxcHg7Ym9yZGVyLXJhZGl1czowfS5tYXQtYmFkZ2UtYWNjZW50IC5tYXQtYmFkZ2UtY29udGVudHtiYWNrZ3JvdW5kOiNmZjk4MDA7Y29sb3I6I2ZmZn0ubWF0LWJhZGdlLXdhcm4gLm1hdC1iYWRnZS1jb250ZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZDojZjQ0MzM2fS5tYXQtYmFkZ2UtZGlzYWJsZWQgLm1hdC1iYWRnZS1jb250ZW50e2JhY2tncm91bmQ6I2JkYmRiZDtjb2xvcjojNzU3NTc1fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcntib3gtc2hhZG93OjBweCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzIxMjEyMX0ubWF0LWJ1dHRvbiwubWF0LWljb24tYnV0dG9uLC5tYXQtc3Ryb2tlZC1idXR0b257Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5tYXQtYnV0dG9uLm1hdC1wcmltYXJ5LC5tYXQtaWNvbi1idXR0b24ubWF0LXByaW1hcnksLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeXtjb2xvcjojZjU3YzAwfS5tYXQtYnV0dG9uLm1hdC1hY2NlbnQsLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWFjY2VudHtjb2xvcjojZmY5ODAwfS5tYXQtYnV0dG9uLm1hdC13YXJuLC5tYXQtaWNvbi1idXR0b24ubWF0LXdhcm4sLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fS5tYXQtYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtaWNvbi1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWljb24tYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWljb24tYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1pY29uLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMH0ubWF0LWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwfS5tYXQtYnV0dG9uLm1hdC13YXJuIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm1hdC1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWljb24tYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50e29wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9Lm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kOiMwMDB9Lm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpe2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1mbGF0LWJ1dHRvbiwubWF0LXJhaXNlZC1idXR0b24sLm1hdC1mYWIsLm1hdC1taW5pLWZhYntjb2xvcjojMjEyMTIxO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeSwubWF0LWZhYi5tYXQtcHJpbWFyeSwubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5e2NvbG9yOiNmZmZ9Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtZmFiLm1hdC1hY2NlbnQsLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50e2NvbG9yOiNmZmZ9Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybiwubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4sLm1hdC1mYWIubWF0LXdhcm4sLm1hdC1taW5pLWZhYi5tYXQtd2Fybntjb2xvcjojZmZmfS5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZsYXQtYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXJhaXNlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmFiLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mYWIubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmFiLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtbWluaS1mYWIubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LW1pbmktZmFiLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LW1pbmktZmFiLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1taW5pLWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWR7Y29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnksLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5LC5tYXQtZmFiLm1hdC1wcmltYXJ5LC5tYXQtbWluaS1mYWIubWF0LXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjojZjU3YzAwfS5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCwubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudCwubWF0LWZhYi5tYXQtYWNjZW50LC5tYXQtbWluaS1mYWIubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDB9Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybiwubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4sLm1hdC1mYWIubWF0LXdhcm4sLm1hdC1taW5pLWZhYi5tYXQtd2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZsYXQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mYWIubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZhYi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mYWIubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtbWluaS1mYWIubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtbWluaS1mYWIubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LW1pbmktZmFiLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1mYWIubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWZsYXQtYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtZmFiLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LW1pbmktZmFiLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWZhYi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtbWluaS1mYWIubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtc3Ryb2tlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksLm1hdC1mbGF0LWJ1dHRvbjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1yYWlzZWQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6YWN0aXZlOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LXJhaXNlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1mYWI6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksLm1hdC1taW5pLWZhYjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA2cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1mYWI6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmU6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksLm1hdC1taW5pLWZhYjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmFjdGl2ZTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCA3cHggOHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxMnB4IDE3cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDVweCAyMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZmFiLm1hdC1idXR0b24tZGlzYWJsZWQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksLm1hdC1taW5pLWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZSwubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXB7Ym94LXNoYWRvdzowcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJke2JveC1zaGFkb3c6bm9uZX0ubWF0LWJ1dHRvbi10b2dnbGV7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtYnV0dG9uLXRvZ2dsZSAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZHtjb2xvcjojMjEyMTIxO2JhY2tncm91bmQ6I2ZmZn0ubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlKy5tYXQtYnV0dG9uLXRvZ2dsZXtib3JkZXItbGVmdDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfVtkaXI9cnRsXSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUrLm1hdC1idXR0b24tdG9nZ2xle2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWJ1dHRvbi10b2dnbGUtdmVydGljYWwgLm1hdC1idXR0b24tdG9nZ2xlKy5tYXQtYnV0dG9uLXRvZ2dsZXtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodDpub25lO2JvcmRlci10b3A6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Y29sb3I6IzYxNjE2MX0ubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJke2NvbG9yOiMyMTIxMjF9Lm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVke2NvbG9yOnJnYmEoMCwwLDAsLjI2KTtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9Lm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7YmFja2dyb3VuZDojZmZmfS5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZC5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6I2JkYmRiZH0ubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJke2JvcmRlcjpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZS1sYWJlbC1jb250ZW50e2xpbmUtaGVpZ2h0OjQ4cHh9Lm1hdC1jYXJke2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMjEyMTIxfS5tYXQtY2FyZDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAycHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtY2FyZC5tYXQtY2FyZC1mbGF0Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWNhcmQtc3VidGl0bGV7Y29sb3I6IzYxNjE2MX0ubWF0LWNoZWNrYm94LWZyYW1le2JvcmRlci1jb2xvcjojNjE2MTYxfS5tYXQtY2hlY2tib3gtY2hlY2ttYXJre2ZpbGw6I2ZmZn0ubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe3N0cm9rZTojZmZmICFpbXBvcnRhbnR9Lm1hdC1jaGVja2JveC1taXhlZG1hcmt7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtcHJpbWFyeSAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1wcmltYXJ5IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9Lm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDB9Lm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC13YXJuIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCwubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXdhcm4gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LWNoZWNrYm94LWRpc2FibGVkLm1hdC1jaGVja2JveC1jaGVja2VkIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCwubWF0LWNoZWNrYm94LWRpc2FibGVkLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNiMGIwYjB9Lm1hdC1jaGVja2JveC1kaXNhYmxlZDpub3QoLm1hdC1jaGVja2JveC1jaGVja2VkKSAubWF0LWNoZWNrYm94LWZyYW1le2JvcmRlci1jb2xvcjojYjBiMGIwfS5tYXQtY2hlY2tib3gtZGlzYWJsZWQgLm1hdC1jaGVja2JveC1sYWJlbHtjb2xvcjojNjE2MTYxfS5tYXQtY2hlY2tib3ggLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1hdC1jaGVja2JveC1jaGVja2VkOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6I2Y1N2MwMH0ubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWNoZWNrYm94OmFjdGl2ZTpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6I2ZmOTgwMH0ubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1jaGVja2JveDphY3RpdmU6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDojZjQ0MzM2fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcHtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Y29sb3I6IzIxMjEyMX0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAgLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojMjEyMTIxO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpOmFjdGl2ZXtib3gtc2hhZG93OjBweCAzcHggM3B4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAzcHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcDpub3QoLm1hdC1jaGlwLWRpc2FibGVkKSAubWF0LWNoaXAtcmVtb3ZlOmhvdmVye29wYWNpdHk6LjU0fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1kaXNhYmxlZHtvcGFjaXR5Oi40fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcDo6YWZ0ZXJ7YmFja2dyb3VuZDojMDAwfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDA7Y29sb3I6I2ZmZn0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXByaW1hcnkgLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXdhcm57YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2O2NvbG9yOiNmZmZ9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC13YXJuIC5tYXQtY2hpcC1yZW1vdmV7Y29sb3I6I2ZmZjtvcGFjaXR5Oi40fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwO2NvbG9yOiNmZmZ9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnQgLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtdGFibGV7YmFja2dyb3VuZDojZmZmfS5tYXQtdGFibGUgdGhlYWQsLm1hdC10YWJsZSB0Ym9keSwubWF0LXRhYmxlIHRmb290LG1hdC1oZWFkZXItcm93LG1hdC1yb3csbWF0LWZvb3Rlci1yb3csW21hdC1oZWFkZXItcm93XSxbbWF0LXJvd10sW21hdC1mb290ZXItcm93XSwubWF0LXRhYmxlLXN0aWNreXtiYWNrZ3JvdW5kOmluaGVyaXR9bWF0LXJvdyxtYXQtaGVhZGVyLXJvdyxtYXQtZm9vdGVyLXJvdyx0aC5tYXQtaGVhZGVyLWNlbGwsdGQubWF0LWNlbGwsdGQubWF0LWZvb3Rlci1jZWxse2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtaGVhZGVyLWNlbGx7Y29sb3I6IzYxNjE2MX0ubWF0LWNlbGwsLm1hdC1mb290ZXItY2VsbHtjb2xvcjojMjEyMTIxfS5tYXQtY2FsZW5kYXItYXJyb3d7ZmlsbDpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1kYXRlcGlja2VyLXRvZ2dsZSwubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9ue2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcntjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcjo6YWZ0ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVse2NvbG9yOiM2MTYxNjF9Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCwubWF0LWRhdGUtcmFuZ2UtaW5wdXQtc2VwYXJhdG9ye2NvbG9yOiMyMTIxMjE7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpe2NvbG9yOiM3NTc1NzV9Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3J7Y29sb3I6Izc1NzU3NX0ubWF0LWNhbGVuZGFyLWJvZHktaW4tcHJldmlld3tjb2xvcjpyZ2JhKDAsMCwwLC4yNCl9Lm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpe2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS10b2RheTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMTgpfS5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNDUsMTI0LDAsLjIpfS5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCwubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNDksMTcxLDAsLjIpfS5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlLFtkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjQ1LCAxMjQsIDAsIDAuMikgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSl9Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLFtkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDI0NSwgMTI0LCAwLCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfS5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZT4ubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVye2JhY2tncm91bmQ6I2E4ZGFiNX0ubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQsLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQ6IzQ2YTM1ZX0ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojZjU3YzAwO2NvbG9yOiNmZmZ9Lm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ1LDEyNCwwLC40KX0ubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZn0ubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3Zlcj4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCksLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDUsMTI0LDAsLjMpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50e2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMjEyMTIxfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjpiZWZvcmV7YmFja2dyb3VuZDpyZ2JhKDI1NSwxNTIsMCwuMil9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNDksMTcxLDAsLjIpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmUsLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMTUyLCAwLCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgW2Rpcj1ydGxdIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMjU1LCAxNTIsIDAsIDAuMikgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSl9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVye2JhY2tncm91bmQ6I2E4ZGFiNX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kOiM0NmEzNWV9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwO2NvbG9yOiNmZmZ9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQ+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMTUyLDAsLjQpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3Zlcj4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDE1MiwwLC4zKX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ0LDY3LDU0LC4yKX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ5LDE3MSwwLC4yKX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI0NCwgNjcsIDU0LCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgyNDQsIDY3LCA1NCwgMC4yKSA1MCUsIHJnYmEoMjQ5LCAxNzEsIDAsIDAuMikgNTAlKX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjphZnRlcntiYWNrZ3JvdW5kOiNhOGRhYjV9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kOiM0NmEzNWV9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNjtjb2xvcjojZmZmfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuNCl9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXI+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ0LDY3LDU0LC4zKX0ubWF0LWRhdGVwaWNrZXItY29udGVudC10b3VjaHtib3gtc2hhZG93OjBweCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmV7Y29sb3I6I2Y1N2MwMH0ubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZS5tYXQtYWNjZW50e2NvbG9yOiNmZjk4MDB9Lm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmUubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn0ubWF0LWRhdGUtcmFuZ2UtaW5wdXQtaW5uZXJbZGlzYWJsZWRde2NvbG9yOiM3NTc1NzV9Lm1hdC1kaWFsb2ctY29udGFpbmVye2JveC1zaGFkb3c6MHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzIxMjEyMX0ubWF0LWRpdmlkZXJ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1kaXZpZGVyLXZlcnRpY2Fse2JvcmRlci1yaWdodC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1leHBhbnNpb24tcGFuZWx7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyMTIxMjF9Lm1hdC1leHBhbnNpb24tcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWFjdGlvbi1yb3d7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1leHBhbnNpb24tcGFuZWwgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSksLm1hdC1leHBhbnNpb24tcGFuZWwgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSwubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCl9QG1lZGlhKGhvdmVyOiBub25lKXsubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCk6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDojZmZmfX0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGV7Y29sb3I6IzIxMjEyMX0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24sLm1hdC1leHBhbnNpb24taW5kaWNhdG9yOjphZnRlcntjb2xvcjojNjE2MTYxfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlclthcmlhLWRpc2FibGVkPXRydWVde2NvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUsLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9ue2NvbG9yOmluaGVyaXR9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye2hlaWdodDo0OHB4fS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5tYXQtZXhwYW5kZWR7aGVpZ2h0OjY0cHh9Lm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOnJnYmEoOTcsOTcsOTcsLjYpfS5tYXQtaGludHtjb2xvcjpyZ2JhKDk3LDk3LDk3LC42KX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiNmNTdjMDB9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtYWNjZW50e2NvbG9yOiNmZjk4MDB9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fS5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2Vye2NvbG9yOiNmZjk4MDB9Lm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDB9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LXdhcm57YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb2N1c2VkOm5vdCgubWF0LWZvcm0tZmllbGQtaW52YWxpZCkgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZjU3YzAwfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb2N1c2VkOm5vdCgubWF0LWZvcm0tZmllbGQtaW52YWxpZCkubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOiNmZjk4MDB9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvY3VzZWQ6bm90KC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkKS5tYXQtd2FybiAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLm1hdC1hY2NlbnQsLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIC5tYXQtZm9ybS1maWVsZC1yZXF1aXJlZC1tYXJrZXJ7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1lcnJvcntjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6IzYxNjE2MX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1oaW50e2NvbG9yOiM2MTYxNjF9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC40MikgMCUsIHJnYmEoMCwgMCwgMCwgMC40MikgMzMlLCB0cmFuc3BhcmVudCAwJSk7YmFja2dyb3VuZC1zaXplOjRweCAxMDAlO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjQyKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjQyKSAzMyUsIHRyYW5zcGFyZW50IDAlKTtiYWNrZ3JvdW5kLXNpemU6NHB4IDEwMCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtZmxleHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA0KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1mbGV4e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDIpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiM3NTc1NzV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2NvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmNTdjMDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZC5tYXQtYWNjZW50IC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmZjk4MDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZC5tYXQtd2FybiAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtaW52YWxpZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6Izc1NzU3NX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2NvbG9yOnJnYmEoMCwwLDAsLjA2KX0ubWF0LWljb24ubWF0LXByaW1hcnl7Y29sb3I6I2Y1N2MwMH0ubWF0LWljb24ubWF0LWFjY2VudHtjb2xvcjojZmY5ODAwfS5tYXQtaWNvbi5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6IzYxNjE2MX0ubWF0LWlucHV0LWVsZW1lbnQ6ZGlzYWJsZWQsLm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojNzU3NTc1fS5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjojZjU3YzAwfS5tYXQtaW5wdXQtZWxlbWVudDo6cGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSg5Nyw5Nyw5NywuNDIpfS5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDk3LDk3LDk3LC40Mil9Lm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoOTcsOTcsOTcsLjQyKX0ubWF0LWlucHV0LWVsZW1lbnQ6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoOTcsOTcsOTcsLjQyKX0ubWF0LWZvcm0tZmllbGQubWF0LWFjY2VudCAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6I2ZmOTgwMH0ubWF0LWZvcm0tZmllbGQubWF0LXdhcm4gLm1hdC1pbnB1dC1lbGVtZW50LC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZjQ0MzM2fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVte2NvbG9yOiMyMTIxMjF9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbntjb2xvcjojMjEyMTIxfS5tYXQtbGlzdC1iYXNlIC5tYXQtc3ViaGVhZGVye2NvbG9yOiM2MTYxNjF9Lm1hdC1saXN0LWl0ZW0tZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5tYXQtbGlzdC1vcHRpb246aG92ZXIsLm1hdC1saXN0LW9wdGlvbjpmb2N1cywubWF0LW5hdi1saXN0IC5tYXQtbGlzdC1pdGVtOmhvdmVyLC5tYXQtbmF2LWxpc3QgLm1hdC1saXN0LWl0ZW06Zm9jdXMsLm1hdC1hY3Rpb24tbGlzdCAubWF0LWxpc3QtaXRlbTpob3ZlciwubWF0LWFjdGlvbi1saXN0IC5tYXQtbGlzdC1pdGVtOmZvY3Vze2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uLC5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uOmhvdmVyLC5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uOmZvY3Vze2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTIpfS5tYXQtbWVudS1wYW5lbHtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1tZW51LXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtbWVudS1pdGVte2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzIxMjEyMX0ubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF0sLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdIC5tYXQtbWVudS1zdWJtZW51LWljb24sLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdIC5tYXQtaWNvbi1uby1jb2xvcntjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLW5vLWNvbG9yLC5tYXQtbWVudS1zdWJtZW51LWljb257Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwubWF0LW1lbnUtaXRlbS5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSwubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2Rpc2FibGVkXSksLm1hdC1tZW51LWl0ZW0taGlnaGxpZ2h0ZWQ6bm90KFtkaXNhYmxlZF0pe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtcGFnaW5hdG9ye2JhY2tncm91bmQ6I2ZmZn0ubWF0LXBhZ2luYXRvciwubWF0LXBhZ2luYXRvci1wYWdlLXNpemUgLm1hdC1zZWxlY3QtdHJpZ2dlcntjb2xvcjojNjE2MTYxfS5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCwubWF0LXBhZ2luYXRvci1pbmNyZW1lbnR7Ym9yZGVyLXRvcDoycHggc29saWQgcmdiYSgwLDAsMCwuNTQpO2JvcmRlci1yaWdodDoycHggc29saWQgcmdiYSgwLDAsMCwuNTQpfS5tYXQtcGFnaW5hdG9yLWZpcnN0LC5tYXQtcGFnaW5hdG9yLWxhc3R7Ym9yZGVyLXRvcDoycHggc29saWQgcmdiYSgwLDAsMCwuNTQpfS5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCwubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnQsLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItZmlyc3QsLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItbGFzdHtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcGFnaW5hdG9yLWNvbnRhaW5lcnttaW4taGVpZ2h0OjU2cHh9Lm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZHtmaWxsOiNmZGRlYmZ9Lm1hdC1wcm9ncmVzcy1iYXItYnVmZmVye2JhY2tncm91bmQtY29sb3I6I2ZkZGViZn0ubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5ke2ZpbGw6I2ZmZTViZn0ubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmU1YmZ9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDB9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZHtmaWxsOiNmY2QwY2R9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVye2JhY2tncm91bmQtY29sb3I6I2ZjZDBjZH0ubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZSwubWF0LXNwaW5uZXIgY2lyY2xle3N0cm9rZTojZjU3YzAwfS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtYWNjZW50IGNpcmNsZSwubWF0LXNwaW5uZXIubWF0LWFjY2VudCBjaXJjbGV7c3Ryb2tlOiNmZjk4MDB9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC13YXJuIGNpcmNsZSwubWF0LXNwaW5uZXIubWF0LXdhcm4gY2lyY2xle3N0cm9rZTojZjQ0MzM2fS5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjojNjE2MTYxfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjojZjU3YzAwfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUpLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnk6YWN0aXZlIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojZjU3YzAwfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOiNmZjk4MDB9Lm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudCAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUpLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50OmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMH0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2Fybi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6I2Y0NDMzNn0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2FybiAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2FybiAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2Fybi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuOmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8taW5uZXItY2lyY2xle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCAubWF0LXJhZGlvLWxhYmVsLWNvbnRlbnR7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcmFkaW8tYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5tYXQtc2VsZWN0LXZhbHVle2NvbG9yOiMyMTIxMjF9Lm1hdC1zZWxlY3QtcGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSg5Nyw5Nyw5NywuNDIpfS5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LXZhbHVle2NvbG9yOiM3NTc1NzV9Lm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6IzYxNjE2MX0ubWF0LXNlbGVjdC1wYW5lbHtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1zZWxlY3QtcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkLm1hdC1wcmltYXJ5IC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiNmNTdjMDB9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkLm1hdC1hY2NlbnQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6I2ZmOTgwMH0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQubWF0LXdhcm4gLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1pbnZhbGlkIC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkIC5tYXQtc2VsZWN0Lm1hdC1zZWxlY3QtZGlzYWJsZWQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6Izc1NzU3NX0ubWF0LWRyYXdlci1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMyMTIxMjF9Lm1hdC1kcmF3ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMyMTIxMjF9Lm1hdC1kcmF3ZXIubWF0LWRyYXdlci1wdXNoe2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LWRyYXdlcjpub3QoLm1hdC1kcmF3ZXItc2lkZSl7Ym94LXNoYWRvdzowcHggOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1kcmF3ZXItc2lkZXtib3JkZXItcmlnaHQ6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWRyYXdlci1zaWRlLm1hdC1kcmF3ZXItZW5ke2JvcmRlci1sZWZ0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLXJpZ2h0Om5vbmV9W2Rpcj1ydGxdIC5tYXQtZHJhd2VyLXNpZGV7Ym9yZGVyLWxlZnQ6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKTtib3JkZXItcmlnaHQ6bm9uZX1bZGlyPXJ0bF0gLm1hdC1kcmF3ZXItc2lkZS5tYXQtZHJhd2VyLWVuZHtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZHJhd2VyLWJhY2tkcm9wLm1hdC1kcmF3ZXItc2hvd257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDB9Lm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMTUyLDAsLjU0KX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMH0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtcHJpbWFyeS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXByaW1hcnkubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDUsMTI0LDAsLjU0KX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtcHJpbWFyeS5tYXQtY2hlY2tlZCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMH0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtd2Fybi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXdhcm4ubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDQsNjcsNTQsLjU0KX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtd2Fybi5tYXQtY2hlY2tlZCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXNsaWRlLXRvZ2dsZTpub3QoLm1hdC1jaGVja2VkKSAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6IzAwMH0ubWF0LXNsaWRlLXRvZ2dsZS10aHVtYntib3gtc2hhZG93OjBweCAycHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX0ubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdHJhY2stZmlsbCwubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1wcmltYXJ5IC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMH0ubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtjb2xvcjojZmZmfS5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci1mb2N1cy1yaW5ne2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDUsMTI0LDAsLjIpfS5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsLm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwfS5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Y29sb3I6I2ZmZn0ubWF0LWFjY2VudCAubWF0LXNsaWRlci1mb2N1cy1yaW5ne2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMTUyLDAsLjIpfS5tYXQtd2FybiAubWF0LXNsaWRlci10cmFjay1maWxsLC5tYXQtd2FybiAubWF0LXNsaWRlci10aHVtYiwubWF0LXdhcm4gLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtd2FybiAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e2NvbG9yOiNmZmZ9Lm1hdC13YXJuIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuMil9Lm1hdC1zbGlkZXI6aG92ZXIgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCwubWF0LXNsaWRlci5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdHJhY2stZmlsbCwubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LXNsaWRlci1kaXNhYmxlZDpob3ZlciAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtc2xpZGVyLW1pbi12YWx1ZSAubWF0LXNsaWRlci1mb2N1cy1yaW5ne2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtc2xpZGVyLW1pbi12YWx1ZS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyLW1pbi12YWx1ZS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKSAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMjYpO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKTpob3ZlciAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1ie2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKTpob3Zlci5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZykuY2RrLWZvY3VzZWQubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtc2xpZGVyLWhhcy10aWNrcyAubWF0LXNsaWRlci13cmFwcGVyOjphZnRlcntib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNyl9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10aWNrc3tiYWNrZ3JvdW5kLWltYWdlOnJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC43KSwgcmdiYSgwLCAwLCAwLCAwLjcpIDJweCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LW1vei1yZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDAuMDAwMWRlZywgcmdiYSgwLCAwLCAwLCAwLjcpLCByZ2JhKDAsIDAsIDAsIDAuNykgMnB4LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCl9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3N7YmFja2dyb3VuZC1pbWFnZTpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjcpLCByZ2JhKDAsIDAsIDAsIDAuNykgMnB4LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCl9Lm1hdC1zdGVwLWhlYWRlci5jZGsta2V5Ym9hcmQtZm9jdXNlZCwubWF0LXN0ZXAtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQsLm1hdC1zdGVwLWhlYWRlcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWRdKSwubWF0LXN0ZXAtaGVhZGVyOmhvdmVyW2FyaWEtZGlzYWJsZWQ9ZmFsc2Vde2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDQpfS5tYXQtc3RlcC1oZWFkZXI6aG92ZXJbYXJpYS1kaXNhYmxlZD10cnVlXXtjdXJzb3I6ZGVmYXVsdH1AbWVkaWEoaG92ZXI6IG5vbmUpey5tYXQtc3RlcC1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDpub25lfX0ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1sYWJlbCwubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1vcHRpb25hbHtjb2xvcjojNjE2MTYxfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb257YmFja2dyb3VuZC1jb2xvcjojNjE2MTYxO2NvbG9yOiNmZmZ9Lm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCwubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsLm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0e2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMDtjb2xvcjojZmZmfS5tYXQtc3RlcC1oZWFkZXIubWF0LWFjY2VudCAubWF0LXN0ZXAtaWNvbntjb2xvcjojZmZmfS5tYXQtc3RlcC1oZWFkZXIubWF0LWFjY2VudCAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCwubWF0LXN0ZXAtaGVhZGVyLm1hdC1hY2NlbnQgLm1hdC1zdGVwLWljb24tc3RhdGUtZG9uZSwubWF0LXN0ZXAtaGVhZGVyLm1hdC1hY2NlbnQgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDA7Y29sb3I6I2ZmZn0ubWF0LXN0ZXAtaGVhZGVyLm1hdC13YXJuIC5tYXQtc3RlcC1pY29ue2NvbG9yOiNmZmZ9Lm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCwubWF0LXN0ZXAtaGVhZGVyLm1hdC13YXJuIC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsLm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0e2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNjtjb2xvcjojZmZmfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc3RhdGUtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjojZjQ0MzM2fS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWFjdGl2ZXtjb2xvcjojMjEyMTIxfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWVycm9ye2NvbG9yOiNmNDQzMzZ9Lm1hdC1zdGVwcGVyLWhvcml6b250YWwsLm1hdC1zdGVwcGVyLXZlcnRpY2Fse2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LXN0ZXBwZXItdmVydGljYWwtbGluZTo6YmVmb3Jle2JvcmRlci1sZWZ0LWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmJlZm9yZSwubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmFmdGVyLC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmV7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVye2hlaWdodDo3MnB4fS5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyLC5tYXQtdmVydGljYWwtc3RlcHBlci1oZWFkZXJ7cGFkZGluZzoyNHB4IDI0cHh9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsLWxpbmU6OmJlZm9yZXt0b3A6LTE2cHg7Ym90dG9tOi0xNnB4fS5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjphZnRlciwubWF0LXN0ZXBwZXItbGFiZWwtcG9zaXRpb24tYm90dG9tIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcjo6YmVmb3Jle3RvcDozNnB4fS5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1zdGVwcGVyLWhvcml6b250YWwtbGluZXt0b3A6MzZweH0ubWF0LXNvcnQtaGVhZGVyLWFycm93e2NvbG9yOiM2MTYxNjF9Lm1hdC10YWItbmF2LWJhciwubWF0LXRhYi1oZWFkZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpfS5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciAubWF0LXRhYi1uYXYtYmFyLC5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciAubWF0LXRhYi1oZWFkZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpO2JvcmRlci1ib3R0b206bm9uZX0ubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1saW5re2NvbG9yOiMyMTIxMjF9Lm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y29sb3I6Izc1NzU3NX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjojMjEyMTIxfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOiM3NTc1NzV9Lm1hdC10YWItZ3JvdXBbY2xhc3MqPW1hdC1iYWNrZ3JvdW5kLV0gLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXJbY2xhc3MqPW1hdC1iYWNrZ3JvdW5kLV17Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci10b3A6bm9uZX0ubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwxNjcsMzgsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9Lm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5Lm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyMjQsMTc4LC4zKX0ubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMH0ubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50Lm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LWluay1iYXIsLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50Lm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIwNSwyMTAsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC10YWItZ3JvdXAubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwxNjcsMzgsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZC1jb2xvcjojZjU3YzAwfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluaywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5re2NvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3Jle2JvcmRlci1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIyNCwxNzgsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmssLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmt7Y29sb3I6I2ZmZn0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmV7Ym9yZGVyLWNvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIwNSwyMTAsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluaywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5re2NvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3Jle2JvcmRlci1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX0ubWF0LXRvb2xiYXJ7YmFja2dyb3VuZDojZjU3YzAwO2NvbG9yOiMyMTIxMjF9Lm1hdC10b29sYmFyLm1hdC1wcmltYXJ5e2JhY2tncm91bmQ6I2Y1N2MwMDtjb2xvcjojZmZmfS5tYXQtdG9vbGJhci5tYXQtYWNjZW50e2JhY2tncm91bmQ6I2ZmOTgwMDtjb2xvcjojZmZmfS5tYXQtdG9vbGJhci5tYXQtd2FybntiYWNrZ3JvdW5kOiNmNDQzMzY7Y29sb3I6I2ZmZn0ubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSwubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LXRvb2xiYXIgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9Lm1hdC10b29sYmFyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LXRvb2xiYXIgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LXRvb2xiYXIgLm1hdC1zZWxlY3QtdmFsdWUsLm1hdC10b29sYmFyIC5tYXQtc2VsZWN0LWFycm93LC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6aW5oZXJpdH0ubWF0LXRvb2xiYXIgLm1hdC1pbnB1dC1lbGVtZW50e2NhcmV0LWNvbG9yOmN1cnJlbnRDb2xvcn0ubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93c3ttaW4taGVpZ2h0OjY0cHh9Lm1hdC10b29sYmFyLXJvdywubWF0LXRvb2xiYXItc2luZ2xlLXJvd3toZWlnaHQ6NjRweH1AbWVkaWEobWF4LXdpZHRoOiA1OTlweCl7Lm1hdC10b29sYmFyLW11bHRpcGxlLXJvd3N7bWluLWhlaWdodDo1NnB4fS5tYXQtdG9vbGJhci1yb3csLm1hdC10b29sYmFyLXNpbmdsZS1yb3d7aGVpZ2h0OjU2cHh9fS5tYXQtdG9vbHRpcHtiYWNrZ3JvdW5kOnJnYmEoOTcsOTcsOTcsLjkpfS5tYXQtdHJlZXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC10cmVlLW5vZGUsLm1hdC1uZXN0ZWQtdHJlZS1ub2Rle2NvbG9yOiMyMTIxMjF9Lm1hdC10cmVlLW5vZGV7bWluLWhlaWdodDo0OHB4fS5tYXQtc25hY2stYmFyLWNvbnRhaW5lcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtiYWNrZ3JvdW5kOiMzMjMyMzI7Ym94LXNoYWRvdzowcHggM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNnB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbntjb2xvcjojZmY5ODAwfWJvZHl7b3ZlcmZsb3c6aGlkZGVufS5jZGstb3ZlcmxheS1jb250YWluZXJ7Y29udGFpbjpzdHJpY3R9YTpub3QoLm1hdC1idXR0b24sLm1hdC1pY29uLWJ1dHRvbil7Y29sb3I6IzE5NzZkMn1hOm5vdCgubWF0LWJ1dHRvbiwubWF0LWljb24tYnV0dG9uKTp2aXNpdGVke2NvbG9yOiM3YjFmYTJ9Ym9keS5kYXJrLW1vZGV7YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwfWJvZHkuZGFyay1tb2RlIGE6bm90KC5tYXQtYnV0dG9uLC5tYXQtaWNvbi1idXR0b24pe2NvbG9yOiM0MmE1ZjV9Ym9keS5kYXJrLW1vZGUgYTpub3QoLm1hdC1idXR0b24sLm1hdC1pY29uLWJ1dHRvbik6dmlzaXRlZHtjb2xvcjojYmE2OGM4fWJvZHkuZGFyay1tb2RlIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX1ib2R5LmRhcmstbW9kZSAubWF0LW9wdGlvbntjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC1vcHRpb246Zm9jdXM6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjA0KX1ib2R5LmRhcmstbW9kZSAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKTpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDQpfWJvZHkuZGFyay1tb2RlIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmV7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCk7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LW9wdGlvbi5tYXQtb3B0aW9uLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJpbWFyeSAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtYWNjZW50IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1vcHRncm91cC1sYWJlbHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LW9wdGdyb3VwLWRpc2FibGVkIC5tYXQtb3B0Z3JvdXAtbGFiZWx7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1wc2V1ZG8tY2hlY2tib3h7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1wc2V1ZG8tY2hlY2tib3g6OmFmdGVye2NvbG9yOiMzMDMwMzB9Ym9keS5kYXJrLW1vZGUgLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWR7Y29sb3I6IzY4Njg2OH1ib2R5LmRhcmstbW9kZSAubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxib2R5LmRhcmstbW9kZSAubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxib2R5LmRhcmstbW9kZSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlLGJvZHkuZGFyay1tb2RlIC5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsYm9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGV7YmFja2dyb3VuZDojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWR7YmFja2dyb3VuZDojNjg2ODY4fWJvZHkuZGFyay1tb2RlIC5tYXQtYXBwLWJhY2tncm91bmQsYm9keS5kYXJrLW1vZGUubWF0LWFwcC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6IzMwMzAzMDtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXowe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16MXtib3gtc2hhZG93OjBweCAycHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXoye2JveC1zaGFkb3c6MHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejN7Ym94LXNoYWRvdzowcHggM3B4IDNweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggM3B4IDRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16NHtib3gtc2hhZG93OjBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA0cHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16NXtib3gtc2hhZG93OjBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA1cHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMTRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16Nntib3gtc2hhZG93OjBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA2cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejd7Ym94LXNoYWRvdzowcHggNHB4IDVweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggN3B4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDJweCAxNnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXo4e2JveC1zaGFkb3c6MHB4IDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16OXtib3gtc2hhZG93OjBweCA1cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA5cHggMTJweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggM3B4IDE2cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejEwe2JveC1zaGFkb3c6MHB4IDZweCA2cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDEwcHggMTRweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNHB4IDE4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejExe2JveC1zaGFkb3c6MHB4IDZweCA3cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDExcHggMTVweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNHB4IDIwcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejEye2JveC1zaGFkb3c6MHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDEycHggMTdweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNXB4IDIycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejEze2JveC1zaGFkb3c6MHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDEzcHggMTlweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNXB4IDI0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejE0e2JveC1zaGFkb3c6MHB4IDdweCA5cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE0cHggMjFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNXB4IDI2cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejE1e2JveC1zaGFkb3c6MHB4IDhweCA5cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE1cHggMjJweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNnB4IDI4cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejE2e2JveC1zaGFkb3c6MHB4IDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXoxN3tib3gtc2hhZG93OjBweCA4cHggMTFweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTdweCAyNnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA2cHggMzJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16MTh7Ym94LXNoYWRvdzowcHggOXB4IDExcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE4cHggMjhweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggN3B4IDM0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejE5e2JveC1zaGFkb3c6MHB4IDlweCAxMnB4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxOXB4IDI5cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDdweCAzNnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXoyMHtib3gtc2hhZG93OjBweCAxMHB4IDEzcHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDIwcHggMzFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOHB4IDM4cHggN3B4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejIxe2JveC1zaGFkb3c6MHB4IDEwcHggMTNweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjFweCAzM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA4cHggNDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16MjJ7Ym94LXNoYWRvdzowcHggMTBweCAxNHB4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAyMnB4IDM1cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDhweCA0MnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXoyM3tib3gtc2hhZG93OjBweCAxMXB4IDE0cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDIzcHggMzZweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOXB4IDQ0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejI0e2JveC1zaGFkb3c6MHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LXRoZW1lLWxvYWRlZC1tYXJrZXJ7ZGlzcGxheTpub25lfWJvZHkuZGFyay1tb2RlIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVse2JhY2tncm91bmQ6IzQyNDI0Mjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1hY3RpdmUpOm5vdCg6aG92ZXIpe2JhY2tncm91bmQ6IzQyNDI0Mn1ib2R5LmRhcmstbW9kZSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKTpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1iYWRnZS1jb250ZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZDojZWY2YzAwfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgYm9keS5kYXJrLW1vZGUgLm1hdC1iYWRnZS1jb250ZW50e291dGxpbmU6c29saWQgMXB4O2JvcmRlci1yYWRpdXM6MH1ib2R5LmRhcmstbW9kZSAubWF0LWJhZGdlLWFjY2VudCAubWF0LWJhZGdlLWNvbnRlbnR7YmFja2dyb3VuZDojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1iYWRnZS13YXJuIC5tYXQtYmFkZ2UtY29udGVudHtjb2xvcjojZmZmO2JhY2tncm91bmQ6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWJhZGdlLWRpc2FibGVkIC5tYXQtYmFkZ2UtY29udGVudHtiYWNrZ3JvdW5kOiM2ZTZlNmU7Y29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZSAubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJ7Ym94LXNoYWRvdzowcHggOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7YmFja2dyb3VuZDojNDI0MjQyO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24sYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbixib2R5LmRhcmstbW9kZSAubWF0LXN0cm9rZWQtYnV0dG9ue2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtcHJpbWFyeSxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5LGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXByaW1hcnl7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b24ubWF0LWFjY2VudCxib2R5LmRhcmstbW9kZSAubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1hY2NlbnR7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtd2Fybixib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uLm1hdC13YXJuLGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksYm9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksYm9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLm1hdC13YXJuIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LGJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50e29wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpe2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbixib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24sYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mn1ib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5LGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeSxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtcHJpbWFyeSxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5e2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1hY2NlbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50e2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2Fybixib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4sYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LXdhcm4sYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtd2Fybntjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeSxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnksYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LXByaW1hcnksYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1hY2NlbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50e2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2Fybixib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtd2Fybixib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC13YXJue2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfWJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmU6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWZhYjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDZweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWZhYjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmFjdGl2ZTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6YWN0aXZlOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDEycHggMTdweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNXB4IDIycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC1idXR0b24tZGlzYWJsZWQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLGJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cHtib3gtc2hhZG93OjBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsYm9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmR7Ym94LXNoYWRvdzpub25lfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZSsubWF0LWJ1dHRvbi10b2dnbGV7Ym9yZGVyLWxlZnQ6c29saWQgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSBbZGlyPXJ0bF0gLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlKy5tYXQtYnV0dG9uLXRvZ2dsZXtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodDpzb2xpZCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkLm1hdC1idXR0b24tdG9nZ2xlLXZlcnRpY2FsIC5tYXQtYnV0dG9uLXRvZ2dsZSsubWF0LWJ1dHRvbi10b2dnbGV7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItcmlnaHQ6bm9uZTtib3JkZXItdG9wOnNvbGlkIDFweCByZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjojMjEyMTIxO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyk7YmFja2dyb3VuZC1jb2xvcjojMDAwfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJke2JhY2tncm91bmQ6IzQyNDI0Mn1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCxib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZHtib3JkZXI6c29saWQgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWNhcmR7YmFja2dyb3VuZDojNDI0MjQyO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYXJkOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYXJkLm1hdC1jYXJkLWZsYXQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FyZC1zdWJ0aXRsZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWZyYW1le2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWNoZWNrbWFya3tmaWxsOiMzMDMwMzB9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2U6IzMwMzAzMCAhaW1wb3J0YW50fWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2JhY2tncm91bmQtY29sb3I6IzMwMzAzMH1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LXByaW1hcnkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLGJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtcHJpbWFyeSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCxib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtd2FybiAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsYm9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC13YXJuIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1kaXNhYmxlZC5tYXQtY2hlY2tib3gtY2hlY2tlZCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsYm9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1kaXNhYmxlZC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojNjg2ODY4fWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtZGlzYWJsZWQ6bm90KC5tYXQtY2hlY2tib3gtY2hlY2tlZCkgLm1hdC1jaGVja2JveC1mcmFtZXtib3JkZXItY29sb3I6IzY4Njg2OH1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWRpc2FibGVkIC5tYXQtY2hlY2tib3gtbGFiZWx7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveDphY3RpdmU6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtY2hlY2tlZDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtY2hlY2tlZDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94OmFjdGl2ZTpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwe2JhY2tncm91bmQtY29sb3I6IzYxNjE2MTtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOiNmZmY7b3BhY2l0eTouNH1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXA6bm90KC5tYXQtY2hpcC1kaXNhYmxlZCk6YWN0aXZle2JveC1zaGFkb3c6MHB4IDNweCAzcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDNweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpIC5tYXQtY2hpcC1yZW1vdmU6aG92ZXJ7b3BhY2l0eTouNTR9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLWRpc2FibGVke29wYWNpdHk6LjR9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOjphZnRlcntiYWNrZ3JvdW5kOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6I2VmNmMwMDtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtcHJpbWFyeSAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOiNmZmY7b3BhY2l0eTouNH1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtd2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXdhcm4gLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDA7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudCAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOiNmZmY7b3BhY2l0eTouNH1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWJsZXtiYWNrZ3JvdW5kOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWJsZSB0aGVhZCxib2R5LmRhcmstbW9kZSAubWF0LXRhYmxlIHRib2R5LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFibGUgdGZvb3QsYm9keS5kYXJrLW1vZGUgbWF0LWhlYWRlci1yb3csYm9keS5kYXJrLW1vZGUgbWF0LXJvdyxib2R5LmRhcmstbW9kZSBtYXQtZm9vdGVyLXJvdyxib2R5LmRhcmstbW9kZSBbbWF0LWhlYWRlci1yb3ddLGJvZHkuZGFyay1tb2RlIFttYXQtcm93XSxib2R5LmRhcmstbW9kZSBbbWF0LWZvb3Rlci1yb3ddLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFibGUtc3RpY2t5e2JhY2tncm91bmQ6aW5oZXJpdH1ib2R5LmRhcmstbW9kZSBtYXQtcm93LGJvZHkuZGFyay1tb2RlIG1hdC1oZWFkZXItcm93LGJvZHkuZGFyay1tb2RlIG1hdC1mb290ZXItcm93LGJvZHkuZGFyay1tb2RlIHRoLm1hdC1oZWFkZXItY2VsbCxib2R5LmRhcmstbW9kZSB0ZC5tYXQtY2VsbCxib2R5LmRhcmstbW9kZSB0ZC5tYXQtZm9vdGVyLWNlbGx7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1oZWFkZXItY2VsbHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWNlbGwsYm9keS5kYXJrLW1vZGUgLm1hdC1mb290ZXItY2VsbHtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYXJyb3d7ZmlsbDojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUsYm9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbixib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbntjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXI6OmFmdGVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1sYWJlbHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3J7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCl7Y29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvcntjb2xvcjojNjE2MTYxfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1pbi1wcmV2aWV3e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI0KX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCl7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCl7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyMzksMTA4LDAsLjIpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNDksMTcxLDAsLjIpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIFtkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjM5LCAxMDgsIDAsIDAuMikgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIFtkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDIzOSwgMTA4LCAwLCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZT4ubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsYm9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVye2JhY2tncm91bmQ6I2E4ZGFiNX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQ6IzQ2YTM1ZX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjM5LDEwOCwwLC40KX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3Zlcj4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLGJvZHkuZGFyay1tb2RlIC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCksYm9keS5kYXJrLW1vZGUgLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyMzksMTA4LDAsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50e2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjpiZWZvcmV7YmFja2dyb3VuZDpyZ2JhKDIzOSwxMDgsMCwuMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsYm9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNDksMTcxLDAsLjIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmUsYm9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDIzOSwgMTA4LCAwLCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgW2Rpcj1ydGxdIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMjM5LCAxMDgsIDAsIDAuMikgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVye2JhY2tncm91bmQ6I2E4ZGFiNX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kOiM0NmEzNWV9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQ+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgyMzksMTA4LDAsLjQpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3Zlcj4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjM5LDEwOCwwLC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ0LDY3LDU0LC4yKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsYm9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ5LDE3MSwwLC4yKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI0NCwgNjcsIDU0LCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgyNDQsIDY3LCA1NCwgMC4yKSA1MCUsIHJnYmEoMjQ5LCAxNzEsIDAsIDAuMikgNTAlKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjphZnRlcntiYWNrZ3JvdW5kOiNhOGRhYjV9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kOiM0NmEzNWV9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXI+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ0LDY3LDU0LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC10b3VjaHtib3gtc2hhZG93OjBweCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmV7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZS5tYXQtYWNjZW50e2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmUubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGUtcmFuZ2UtaW5wdXQtaW5uZXJbZGlzYWJsZWRde2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgLm1hdC1kaWFsb2ctY29udGFpbmVye2JveC1zaGFkb3c6MHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtiYWNrZ3JvdW5kOiM0MjQyNDI7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWRpdmlkZXJ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1kaXZpZGVyLXZlcnRpY2Fse2JvcmRlci1yaWdodC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWx7YmFja2dyb3VuZDojNDI0MjQyO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWFjdGlvbi1yb3d7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWwgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSksYm9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWwgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSxib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSl7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCl9QG1lZGlhKGhvdmVyOiBub25lKXtib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCk6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDojNDI0MjQyfX1ib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGV7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24sYm9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24taW5kaWNhdG9yOjphZnRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUsYm9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9ue2NvbG9yOmluaGVyaXR9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtaGludHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtYWNjZW50e2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2Vye2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC13YXJue2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpLm1hdC1hY2NlbnQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb2N1c2VkOm5vdCgubWF0LWZvcm0tZmllbGQtaW52YWxpZCkubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2Vye2NvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSxib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZXJyb3J7Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWhpbnR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgMzMlLCB0cmFuc3BhcmVudCAwJSk7YmFja2dyb3VuZC1zaXplOjRweCAxMDAlO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAzMyUsIHRyYW5zcGFyZW50IDAlKTtiYWNrZ3JvdW5kLXNpemU6NHB4IDEwMCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtZmxleHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXh7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4wNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjojNjE2MTYxfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWludmFsaWQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1pY29uLm1hdC1wcmltYXJ5e2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1pY29uLm1hdC1hY2NlbnR7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWljb24ubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtaW5wdXQtZWxlbWVudDpkaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgLm1hdC1pbnB1dC1lbGVtZW50e2NhcmV0LWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1pbnB1dC1lbGVtZW50OjpwbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LWlucHV0LWVsZW1lbnQ6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtaW5wdXQtZWxlbWVudDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1pbnB1dC1lbGVtZW50IG9wdGlvbntjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1pbnB1dC1lbGVtZW50IG9wdGlvbjpkaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1hY2NlbnQgLm1hdC1pbnB1dC1lbGVtZW50e2NhcmV0LWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC13YXJuIC5tYXQtaW5wdXQtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbXtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1vcHRpb257Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWxpc3QtYmFzZSAubWF0LXN1YmhlYWRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWxpc3QtaXRlbS1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1saXN0LW9wdGlvbjpob3Zlcixib2R5LmRhcmstbW9kZSAubWF0LWxpc3Qtb3B0aW9uOmZvY3VzLGJvZHkuZGFyay1tb2RlIC5tYXQtbmF2LWxpc3QgLm1hdC1saXN0LWl0ZW06aG92ZXIsYm9keS5kYXJrLW1vZGUgLm1hdC1uYXYtbGlzdCAubWF0LWxpc3QtaXRlbTpmb2N1cyxib2R5LmRhcmstbW9kZSAubWF0LWFjdGlvbi1saXN0IC5tYXQtbGlzdC1pdGVtOmhvdmVyLGJvZHkuZGFyay1tb2RlIC5tYXQtYWN0aW9uLWxpc3QgLm1hdC1saXN0LWl0ZW06Zm9jdXN7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1saXN0LXNpbmdsZS1zZWxlY3RlZC1vcHRpb24sYm9keS5kYXJrLW1vZGUgLm1hdC1saXN0LXNpbmdsZS1zZWxlY3RlZC1vcHRpb246aG92ZXIsYm9keS5kYXJrLW1vZGUgLm1hdC1saXN0LXNpbmdsZS1zZWxlY3RlZC1vcHRpb246Zm9jdXN7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1tZW51LXBhbmVse2JhY2tncm91bmQ6IzQyNDI0Mn1ib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1tZW51LWl0ZW17YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXSxib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF0gLm1hdC1tZW51LXN1Ym1lbnUtaWNvbixib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF0gLm1hdC1pY29uLW5vLWNvbG9ye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbi1uby1jb2xvcixib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtc3VibWVudS1pY29ue2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLGJvZHkuZGFyay1tb2RlIC5tYXQtbWVudS1pdGVtLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KFtkaXNhYmxlZF0pLGJvZHkuZGFyay1tb2RlIC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSxib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtaXRlbS1oaWdobGlnaHRlZDpub3QoW2Rpc2FibGVkXSl7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1wYWdpbmF0b3J7YmFja2dyb3VuZDojNDI0MjQyfWJvZHkuZGFyay1tb2RlIC5tYXQtcGFnaW5hdG9yLGJvZHkuZGFyay1tb2RlIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2Vye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnR7Ym9yZGVyLXRvcDoycHggc29saWQgI2ZmZjtib3JkZXItcmlnaHQ6MnB4IHNvbGlkICNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1wYWdpbmF0b3ItZmlyc3QsYm9keS5kYXJrLW1vZGUgLm1hdC1wYWdpbmF0b3ItbGFzdHtib3JkZXItdG9wOjJweCBzb2xpZCAjZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItZmlyc3QsYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItbGFzdHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZHtmaWxsOiM2MDNmMjR9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVye2JhY2tncm91bmQtY29sb3I6IzYwM2YyNH1ib2R5LmRhcmstbW9kZSAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5ke2ZpbGw6IzYwM2YyNH1ib2R5LmRhcmstbW9kZSAubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2MDNmMjR9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZHtmaWxsOiM2MTM1MzJ9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVye2JhY2tncm91bmQtY29sb3I6IzYxMzUzMn1ib2R5LmRhcmstbW9kZSAubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZSxib2R5LmRhcmstbW9kZSAubWF0LXNwaW5uZXIgY2lyY2xle3N0cm9rZTojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtYWNjZW50IGNpcmNsZSxib2R5LmRhcmstbW9kZSAubWF0LXNwaW5uZXIubWF0LWFjY2VudCBjaXJjbGV7c3Ryb2tlOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC13YXJuIGNpcmNsZSxib2R5LmRhcmstbW9kZSAubWF0LXNwaW5uZXIubWF0LXdhcm4gY2lyY2xle3N0cm9rZTojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSxib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSxib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5OmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudCAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSxib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudDphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4ubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4gLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4gLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSksYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4ubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSxib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2FybjphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8taW5uZXItY2lyY2xle2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXNlbGVjdC12YWx1ZXtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtc2VsZWN0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LXZhbHVle2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zZWxlY3QtcGFuZWx7YmFja2dyb3VuZDojNDI0MjQyfWJvZHkuZGFyay1tb2RlIC5tYXQtc2VsZWN0LXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpe2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZC5tYXQtcHJpbWFyeSAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZC5tYXQtYWNjZW50IC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkLm1hdC13YXJuIC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkIC5tYXQtc2VsZWN0Lm1hdC1zZWxlY3QtaW52YWxpZCAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZCAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgLm1hdC1kcmF3ZXItY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6IzMwMzAzMDtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZHJhd2Vye2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZHJhd2VyLm1hdC1kcmF3ZXItcHVzaHtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC1kcmF3ZXI6bm90KC5tYXQtZHJhd2VyLXNpZGUpe2JveC1zaGFkb3c6MHB4IDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZHJhd2VyLXNpZGV7Ym9yZGVyLXJpZ2h0OnNvbGlkIDFweCByZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1kcmF3ZXItc2lkZS5tYXQtZHJhd2VyLWVuZHtib3JkZXItbGVmdDpzb2xpZCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuMTIpO2JvcmRlci1yaWdodDpub25lfWJvZHkuZGFyay1tb2RlIFtkaXI9cnRsXSAubWF0LWRyYXdlci1zaWRle2JvcmRlci1sZWZ0OnNvbGlkIDFweCByZ2JhKDI1NSwyNTUsMjU1LC4xMik7Ym9yZGVyLXJpZ2h0Om5vbmV9Ym9keS5kYXJrLW1vZGUgW2Rpcj1ydGxdIC5tYXQtZHJhd2VyLXNpZGUubWF0LWRyYXdlci1lbmR7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItcmlnaHQ6c29saWQgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWRyYXdlci1iYWNrZHJvcC5tYXQtZHJhd2VyLXNob3due2JhY2tncm91bmQtY29sb3I6cmdiYSgxODksMTg5LDE4OSwuNil9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjM5LDEwOCwwLC41NCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUubWF0LXByaW1hcnkubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1wcmltYXJ5Lm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjM5LDEwOCwwLC41NCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUubWF0LXByaW1hcnkubWF0LWNoZWNrZWQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUubWF0LXdhcm4ubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC13YXJuLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ0LDY3LDU0LC41NCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUubWF0LXdhcm4ubWF0LWNoZWNrZWQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGU6bm90KC5tYXQtY2hlY2tlZCkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7Ym94LXNoYWRvdzowcHggMnB4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMXB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtiYWNrZ3JvdW5kLWNvbG9yOiNiZGJkYmR9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10cmFjay1maWxsLGJvZHkuZGFyay1tb2RlIC5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10aHVtYixib2R5LmRhcmstbW9kZSAubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcmltYXJ5IC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIzOSwxMDgsMCwuMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdHJhY2stZmlsbCxib2R5LmRhcmstbW9kZSAubWF0LWFjY2VudCAubWF0LXNsaWRlci10aHVtYixib2R5LmRhcmstbW9kZSAubWF0LWFjY2VudCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIzOSwxMDgsMCwuMil9Ym9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsYm9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtc2xpZGVyLXRodW1iLGJvZHkuZGFyay1tb2RlIC5tYXQtd2FybiAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXdhcm4gLm1hdC1zbGlkZXItZm9jdXMtcmluZ3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ0LDY3LDU0LC4yKX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlcjpob3ZlciAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kLGJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kLGJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsYm9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1kaXNhYmxlZDpob3ZlciAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItbWluLXZhbHVlIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyAubWF0LXNsaWRlci10aHVtYixib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2JhY2tncm91bmQtY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLGJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLW1pbi12YWx1ZS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpIC5tYXQtc2xpZGVyLXRodW1ie2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyk6aG92ZXIgLm1hdC1zbGlkZXItdGh1bWIsYm9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKS5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKTpob3Zlci5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iLGJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZykuY2RrLWZvY3VzZWQubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVye2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tze2JhY2tncm91bmQtaW1hZ2U6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgMnB4LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotbW96LXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMC4wMDAxZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAycHgsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50KX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aWNrc3tiYWNrZ3JvdW5kLWltYWdlOnJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAycHgsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50KX1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIuY2RrLXByb2dyYW0tZm9jdXNlZCxib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZF0pLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXI6aG92ZXJbYXJpYS1kaXNhYmxlZD1mYWxzZV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4wNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlcjpob3ZlclthcmlhLWRpc2FibGVkPXRydWVde2N1cnNvcjpkZWZhdWx0fUBtZWRpYShob3Zlcjogbm9uZSl7Ym9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOm5vbmV9fWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLW9wdGlvbmFse2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdHtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDA7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyLm1hdC1hY2NlbnQgLm1hdC1zdGVwLWljb257Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyLm1hdC1hY2NlbnQgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlci5tYXQtYWNjZW50IC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsYm9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlci5tYXQtYWNjZW50IC5tYXQtc3RlcC1pY29uLXN0YXRlLWVkaXR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbntjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIubWF0LXdhcm4gLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIubWF0LXdhcm4gLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVycm9ye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1sYWJlbC5tYXQtc3RlcC1sYWJlbC1hY3RpdmV7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1sYWJlbC5tYXQtc3RlcC1sYWJlbC1lcnJvcntjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcHBlci12ZXJ0aWNhbHtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zdGVwcGVyLXZlcnRpY2FsLWxpbmU6OmJlZm9yZXtib3JkZXItbGVmdC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjpiZWZvcmUsYm9keS5kYXJrLW1vZGUgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjphZnRlcixib2R5LmRhcmstbW9kZSAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbC1saW5le2JvcmRlci10b3AtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtc29ydC1oZWFkZXItYXJyb3d7Y29sb3I6I2M2YzZjNn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWhlYWRlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIC5tYXQtdGFiLW5hdi1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIC5tYXQtdGFiLWhlYWRlcntib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xMik7Ym9yZGVyLWJvdHRvbTpub25lfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWxhYmVsLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWxpbmt7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjojNjE2MTYxfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cFtjbGFzcyo9bWF0LWJhY2tncm91bmQtXSAubWF0LXRhYi1oZWFkZXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhcltjbGFzcyo9bWF0LWJhY2tncm91bmQtXXtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLXRvcDpub25lfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjUxLDE0MCwwLC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LWluay1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5Lm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtaW5rLWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeS5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtaW5rLWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5Lm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtaW5rLWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5Lm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTEsMTQwLDAsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQgLm1hdC1pbmstYmFyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LWluay1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtaW5rLWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjA1LDIxMCwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC1pbmstYmFyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtd2Fybi5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LWluay1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtd2Fybi5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LWluay1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtd2Fybi5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjUxLDE0MCwwLC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9ue2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmssYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGlua3tjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZXtib3JkZXItY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1MSwxNDAsMCwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbntiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluayxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGlua3tjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZXtib3JkZXItY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjA1LDIxMCwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmt7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmV7Ym9yZGVyLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOiNlZjZjMDA7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRvb2xiYXIubWF0LXByaW1hcnl7YmFja2dyb3VuZDojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10b29sYmFyLm1hdC1hY2NlbnR7YmFja2dyb3VuZDojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10b29sYmFyLm1hdC13YXJue2JhY2tncm91bmQ6I2Y0NDMzNjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lLGJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQtcmlwcGxlLGJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn1ib2R5LmRhcmstbW9kZSAubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLGJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLGJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LXNlbGVjdC12YWx1ZSxib2R5LmRhcmstbW9kZSAubWF0LXRvb2xiYXIgLm1hdC1zZWxlY3QtYXJyb3csYm9keS5kYXJrLW1vZGUgLm1hdC10b29sYmFyIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjppbmhlcml0fWJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6Y3VycmVudENvbG9yfWJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbHRpcHtiYWNrZ3JvdW5kOnJnYmEoOTcsOTcsOTcsLjkpfWJvZHkuZGFyay1tb2RlIC5tYXQtdHJlZXtiYWNrZ3JvdW5kOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC10cmVlLW5vZGUsYm9keS5kYXJrLW1vZGUgLm1hdC1uZXN0ZWQtdHJlZS1ub2Rle2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbmFjay1iYXItY29udGFpbmVye2NvbG9yOnJnYmEoMCwwLDAsLjg3KTtiYWNrZ3JvdW5kOiNmYWZhZmE7Ym94LXNoYWRvdzowcHggM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNnB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbntjb2xvcjppbmhlcml0fQo8L3N0eWxlPgoKPHN0eWxlPgogIGh0bWwsCiAgYm9keSB7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwogICAgaGVpZ2h0OiAxMDAlOwogICAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpOwoKICAgIC8qIExlZ2FjeSBtZWNoYW5pc20gdG8gYXZvaWQgaXNzdWVzIHdpdGggc3VicGl4ZWwgYW50aS1hbGlhc2luZyBvbiBtYWNPUy4KICAgICAqCiAgICAgKiBJbiB0aGUgcGFzdCBbMV0sIG1hY09TIHN1YnBpeGVsIEFBIGNhdXNlZCBleGNlc3NpdmUgYm9sZGluZyBmb3IgbGlnaHQtb24tZGFyayB0ZXh0OyB0aGlzIHJ1bGUKICAgICAqIGF2b2lkcyB0aGF0IGJ5IHJlcXVlc3Rpbmcgbm9uLXN1YnBpeGVsIEFBIGFsd2F5cywgcmF0aGVyIHRoYW4gdGhlIGRlZmF1bHQgYmVoYXZpb3IsIHdoaWNoIGlzCiAgICAgKiB0byB1c2Ugc3VicGl4ZWwgQUEgd2hlbiBhdmFpbGFibGUuIFRoZSBvcmlnaW5hbCBpc3N1ZSB3YXMgImZpeGVkIiBieSByZW1vdmluZyBzdWJwaXhlbCBBQSBpbgogICAgICogbWFjT1MgMTQgKE1vamF2ZSksIGJ1dCBmb3IgbGVnYWN5IHJlYXNvbnMgdGhleSBwcmVzZXJ2ZWQgdGhlIGJvbGRpbmcgZWZmZWN0IGFzIGFuIG9wdGlvbi4KICAgICAqIENocm9tZSB0aGVuIGluIHR1cm4gdXBkYXRlZCBpdHMgZm9udCByZW5kZXJpbmcgdG8gYXBwbHkgdGhhdCBib2xkaW5nIGVmZmVjdCBbMl0sIHdoaWNoIG1lYW5zCiAgICAgKiB0aGF0IGV2ZW4gdGhvdWdoIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgZG9jcyBbM10gc3VnZ2VzdCB0aGF0IHNldHRpbmcgYGFudGlhbGlhc2VkYAogICAgICogd291bGQgaGF2ZSBubyBlZmZlY3QgZm9yIHJlY2VudCB2ZXJzaW9ucyBvZiBtYWNPUywgaXQgc3RpbGwgaXMgbmVlZGVkIHRvIGF2b2lkIHRoZSBib2xkaW5nLgogICAgICoKICAgICAqIFsxXTogaHR0cDovL3d3dy5saWdodGVycmEuY29tL2FydGljbGVzL21hY29zeHRleHRhYWJ1Zy8KICAgICAqIFsyXTogaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9ODU4ODYxCiAgICAgKiBbM106IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9mb250LXNtb290aAogICAgICoKICAgICAqLwoKICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogIH0KICBub3NjcmlwdCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICAgIHBhZGRpbmc6IDEwcHg7CiAgfQo8L3N0eWxlPgoKPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4KICAgIDxoMT5UZW5zb3JCb2FyZCByZXF1aXJlcyBKYXZhU2NyaXB0PC9oMT4KICAgIDxwPlBsZWFzZSBlbmFibGUgSmF2YVNjcmlwdCBhbmQgcmVsb2FkIHRoaXMgcGFnZS48L3A+CiAgPC9ub3NjcmlwdD48dGItd2ViYXBwPjwvdGItd2ViYXBwPjxzY3JpcHQgc3JjPSJpbmRleC5qcz9fZmlsZV9oYXNoPTRhMzY2Y2JlIj48L3NjcmlwdD48L2JvZHk+PC9odG1sPg==","ok":true,"headers":[["content-type","text/html; charset=utf-8"]],"status":200,"status_text":""},"https://localhost:6006/font-roboto/oMMgfZMQthOryQo9n22dcuvvDin1pK8aKteLpeZ5c0A.woff2":{"data":"d09GMgABAAAAACn8AA4AAAAAUjgAACmjAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmQbmUAcg0oGYACGTBEMCu1810YLg14AATYCJAOHNgQgBYJ0ByAbL0RFB2LYOGCA7DduwB2DjQOQz3hJ9n+ZwI0hWB/YxYSYMBRSFENBsWqrAkWbJBHpUKamYBECLd7YUy2OVYvlKX1dMf05+T/7LtU4wMKUW3v6cz1MLF0FGyHJLEG01r/VMHufgpZJIoGKBHQMKsYkFpgU4tsDmtv9xsaIGoiNiIJRtJKSElLSIdGjQuiRIypl0JtBlKISJSqZZnH/Oq0ZWaYZyYoPCFpukb7+N+xuwk6iBRZMI8WdlLQH1F3R7l157zoCyXjA9AD36nWBrP07PZhwgBLSeMnLEQ4VqJsqlv8siGuabsED3LeKFnxrugO3hMah9NJJ/ipRkvNo0bWSH6xvN8TX2qedvrqte1s1/yDEW6dCUB4tkIxQEeoDTSYMiiaAuBEGJLK/dSEgoaIi0Ua4CGXj/7vX2aa3YewLW7L1Fw6EC+fgxB/7NWWpMKZaUyFMhaxEyArLmA7J/62Zdje5MjlgYyvcOTf7ZycwswkX9oD2CklKoSNIzN4VWFXVET5/gKgKaO9USZgKCaxcreurQxDS1KS6SqUxAJqz+B+OtbQOoul9mcsgjITAKKN32318dn4Bhdn5t38EFHq8pCEUmUMECIAIFw4RKRIiRgxEnDiIBEkQpSqgdDmAQKCAVcCaECAgAiDACvyk0ex3gJounDg3gOACJy4k2DnDicusvN3gBBrAILTCpecT3AAH9C0NYpDo+7rNUJuyf/BUQ/cM42KIV0v11FyNhkyiUDj0XDKjjuX1lEnr9K7FjMnEPpZVifqZhCWKr4SbqzTQwLYaKjSBrueqpWpPjRbN9WixjymuFFH/CwqFBhYDRux4XXDRJZfdwE+IMBGibhEnQYq021SoUqPpHm069BkyZsKMhXQZsmTrQkH1yGNPPNWtR68+/Z4b8cJLr0x66515C1atWbdh05Z9BxC3mkNDHAcJeFI4TeKEYI8bP9Y44ePEm77r41+ewEGxRUrtUWZUuIsOetH6bTJql3HbzKjlpPZkximHvICSPiqPeMwTngZTLZpmhlleMxe8ac9b3jHPAmuss8EmW8F2u3bYZS/Yb9vBNIRJvask5+7FELPwimHcaoZ46yTaJ9WCSTY0DsjmwGD82Y7DoWmOfu1MGuY6fi64i8JTF1OyuErRYMJBFtuDaaussAMsMLJnmS0vuQHreu+JDYwyxjgTDXPAYsWQxpkTT6ltykCFu+glcU3S4tKxymCyyA7etO0t75hnoWEGSu1TRoW76JHEG97yjnkWzo2mioUhQSbYYOmYZg2ss8EmWw1jsBYFTyY55CV9Yp999tlnP46GGajhpolWtE5hDEphgsHaYdbBBptsWWTntaOdq59hH5i0BI2pTbJ9tW44FNXel24XIjwwjRl9q3SNYW6MMqPqdvrNMVySVP2Trj0U3CvhlYipV1w9cpuCyIgMoYoJ6uAoNADzvug45Zj7yoBXfrjWup4FNpUP90w83Gjmo+puO/m8JAbcN3D4dUpCw6N96EFl/RgLIB76ETisxR/w6aPfR7D+NjfOfbeHOYYeHrwM6cPqaG0C4EDa+qeN8E9UN/umlSM27Cex9S8bW/9cmENaN4plychcK2z/rnfLbrbSThvtiLBzSrZHuO7Wmpvu9U1ldbZfCTb4hlrtIxcAHO5g65ppXrrnhMPC1kvnK5fWHKkuAKxYS2ygcV0rlvjEtGOxglUm6USA2od7bZ7ZA0zgcMNXu6Vq96DjVnaFuUnt8GvYm+2/bLjrmx9odH8OHtYJcBgN/b8kxzn07RsPkp7oNsv+PxY7vLXhbI0B2O6kbBr78YIaGQ9mNpD/ZDn01If3Bh8OOu7XP4HYqD7kLYGVOfcyTk47aKYl0X7mMjiMDjPg7M42er6j3/abnabFTbZeexnmm/4ZPQMO37lXsuKw1GmniQNWEawkgpUo+P+g8bqExlXC6NwiDU+RkuNUiKeoeU+7RxcXffIw9p5jytx58d4L0uW4KO/t67osuGHVFr1lzLkJFBG7OIqjOKlO+kwUPh53gWwuEnGJGNdJ7wYZ8JOTEBHC5HCLTMRIT5wnSPAYSbKSIiNpslAk1h3SUiqP+NULp2hOtdHQAdF0S1ofe7ErOh/EMyMdczKLF9olnjsqE3JyqeeOygFPyuNJXV4ExVMo3X9j06MfxnOvIEZNoDdJXkZT5mC98R7x1gKc1fs01mxBk9dJBzawOQ5sKDkp7MUhWOFQrjBRrvMoIaKIEOVmyUxYL3rQ4QjYwQIGsIZUnapA3GVBSAIaNA5ND0QYkJFRiSHMgAOcYxIJoiQSJek+IlUaTgrBBg6wgcNx6IRwArCCIg8o0IFB0e4sQGgD2sfstj0Yi/vtsrpEq52XqxUx7wXavU9R5AbVfbV1p6EDtGWnJA/XVOMRsvo8RlPdHad9NxBpoVtpYHLL0QrVHnveFe6uwPf/7jyBq5c52luBaALJx8pX+LgSQAvlHBSU/jQISHSdPDXyK0T8EDNBpjzkeaygcCLzJqgiKV9QtldXCkW9eOkpVFBLmWjZoyokvMYGYuM3q7LDGjTAj7sPXGsYBaVQYdkTHmY1/zyKJHrVqlSqUatOvQaNHgpOvOwmgbx4I2vWolWbdigIDqeB6phIgQHjoSEEYoO3GfWG+xmO9H2b14EtgH09CwceqakEMmDjtbHwH1ywyEvghjwO6F0GGbeagAYru65f6TdFf8NxEZpQA3bCjcYxgDMmoUrc/1DdhozZ9MEhMsFlbnKRv254PFwOt8PD8DLMhvlhdVifRh0CAEy4lSj1fMkew8Zt+fiWtyg/Gs6H67an546+N+CsD3294PDnwOcHM058+/z/7Vt/15TJ8MUb+x/6/XXxtmRzAC4jjHlHw5q/XvcP1+XZL9e/HyHSqDHjJkyKEm3KtBmzXpsTI/YX7U0Txdm2Y9eeffEOMAIAZPHeNcAFkH5MT6DhJhQar4QOSmnAxmukk4d0404Pg1C8IcIZ7jem0m8c6GKCWZ7xmjkieMMCoyyyRBTLbDDlbRLDFh94430klk98Z5Uf/ITIL/6x7f0n3jtUBxqZCCT4yEItBRI1aiOQrFEfAiSN+hJI8bmP1LFAqs99ri4F0n3ua3UrkKW5HwRyNfeLQJ7PPVUzgXzNPRco1NwrgSLNvRYo1jyHQ6BkqJuBg+pwqVfwfijyRYUwvQnHv6TWp0PyKigaNh96H4GBhmyOegPVB40f59xGEvqhc+sAD9WxCKjVXrZAVDdIs68AhHKCotyajCaMMM33GHhE96JFqxBPQEEEoqpC8iJOGGL05OS/t6P7dswwoetDgYYOgzlyg98MT+zFf0ajcoEikxZ3w24atFBdBAG0lP/g72LZuroeHO2D0lGazKLkzmMauyiDCdhr2a5txrOVjSChgd2ova0t77MhhbcusVxATqdNzYG/FtlUbXRQPRO4OeZ3jE2LIpfa374QSXm/jXcJ1RlLGxZ+dBY1t4Brn0S4YIb5A885pd4Nm4nTxHTsncPU/uJFsrvfCo55+xh0RpRwlNVFmRZ5JT0a8vqz7YKjXITu0NETuTeLgWx0wlG1ZKwnE8zEIEPVAl29KW8grf5KvdJSAaHPwFwMFyKZcNGCzUM5o39uRYwWpCG2syOpPpQYJcOaFn+YiakAyoJBWW1PdQ3gky5Lyrv1Qu08YS8gSdFMp6Xw8V//1cwtjV/OeuogqHw10Ysw1TOlp8shZnahTTWfy4ZZH3Bv01/rq0FPiwuORTUH3Rr39SnJaRmeqQkMhbRqn4TlQFNuBzh2XJgnuDqHspyu0HjUXsMzfPUKBo4oQFl/59ra8oQdbCz13uBAOQ+7IIF6czUJA1lU66Bw5NYfWV31oNN7ypngGeWsuTqsEsrhFQEqG1WQZkIcz5vH8rsZjFklUsoKdqUiEv68IaVRHWA1ltQdWoR4IBbvBaMNWXDw7xohT2WjEINN7BucggQF7qiNneY8xhDhaJpbjN+TprJdqRJ68eUpZ5QTOoqiy71R/rGSuGKW/zv5f6bK+V+XqNf9bxu3tMVwufyHCz+PSnKjrh9+fWXoqLsUjumye4LFDWIi7dtumjw+brjklOBI+ScdTjXMTJQ4+jRhyjVAOkeCkt30cx/S2Z8qaXHhEDOrpWN7sCJd6FjeIVEmfARcWahxPLsI1sVRRvQyvF1z0BOqq/mw7dXZ5YiDWzSTRl1gQmV52yFfjGnz20KQxu571VcjSo6/lSSUtDza2mZJtR3ssJefgx5bpVWyM8HDYK/wkP5JPnL6UqVarauNUmfRkTOho3FTlGoP6PIFDRtZeBq6BcMRkGuIiNY4MYmDV0ujHNQz+aSb3NheHTbPCEeU8Mg3wvEIObtW60VLwLt7tL9LwT6HZUmRTfWEN7twFXImIwjFDI64QVhZ3NhBFt8eBbxHMZ8CaIe7H1C8xvXMdyxLPb6VIsSjjQ5Tu6SCqgAr05exOiWSIOmZeqYl2yAKsJ4IfFNStZo5LrDOMVUi2QHIrmqZ8dR/Sd8CWKfN1Wr8Mskb5eGEuUnILSj6pq4YSmagxspkGt6pTX8GqCojM8mUjwKb6kdQiWqQsEttHrQP39bBMb/jp+WMbYfEKRvFj3/DjHhrj/gV5E+5wKkhbQbvSCZBg9oF+S042qt+KCNAGgjS24pSDB1vg0HdlcYmpwORmpccTd0pV+zgEtazSNPfQ0pIHnElz5rKRywGsg04LtCsfnVCrglVCXW2UwSoJrdok1FMXuGCi+3BkEsTB73xIylxRo9pfLYQYxLuUC1A6WAXzk0miNkeiw1OG6sUC1JVAcxx+9QSh5gpb4ljMlXlQ8qQQ3dgkoicYMp93+rZewvB1cgE6qFuCI/w2OaxiJkb+/Jx6REGfgqeugr5MzGoCXlAhbvvgpRRatUGSqa0aT40UTVEIniStK2KkQNSWnadTS44MC0ZcShqn/tNbjSpzhJPWqmVtdIahqMy4JIurfISwFqdDknlN/ZkJWaJOfPmu0hCIViLEiCXeDo1fx31S8zs39RXB2funyM/h/4qJvzk1FE1AlLSBoRckNzDUC2Vie0A3dVydpP2+nlQlXWLmsM6kpxf2qNAnzxXE9I8zbaSdNBbUmBp9qN4v7SdxKEPSQw7OPKYqmGDHU1G25UrXOzQT8UESQ8gg7ZI7KplJNU1l8Ei8eqUd9TGu/Hq7MDh3qFLtVYpmTYB1RVu8jGGn+HIKixbp7pl08klbTB60qEpikY9sjLo9EaglvU96Bz3EvfEcLRjtkf+1rba2RopIJY4orU7uObY3Y9SlGnOR8UZRdWYYRWrEpkS6FgkfdvN4lxqew4RQe5mP6W+wnEkhvXYbXxIZd2qOGV+DxkBE9TT6D3p7Zq2VzJUAseOmluQLiocOOkAKDVWaXR015dYYhhgYrCcD6ml8QGDF/GOWXf4pN3DFIOvh2olo92vyup7stXa0MvaZcUB90LXMpfiqT0HdGwvKlR7KYetkJMa2zJ/eArTc+pPLwuQVoRD7jxII8nWDhElbFkfTa6MUhEyZ1g5yvyhBBlM5pzxUDZLT/37WD/EMrpTwTbt4IhlG7ZotGO0+OI4aZ8Go5MwWJcz21FJpnoSIFY/ccFOPVCPGOEsSkbF/PQIj5jGOrVbVnfwRTqNq6nNasQEQSYH7oLXLiW31UgXpk8J44vqKc0GKe+BUadt3wUGAkJHB7zFtQeGQxccdSieReslSPWf21E+PxPTi3gAyczhLgUOemFaBT28Nb0szb2eFfH0QV74/FTUWTUSxGVUnmvtGSxEF+eUJztVfeYpr5KlNEbYbqQ/w8UBwJAH0HamgKFli1D0/cDgt1aKRsyIiBkajPOqYfpIH2OmzjUXl2DjQBcnYNPzP23nDgeJTLHZjvA3F6eZS+qL+hBHp2CFSjh9r5hEHI5LWf8yYeu+fiXuj2dEpxTy4BSscCAS7mcaFpIjOC3TN15a8XSiiv1d5nw1J3XvVVdSdCXBLyTQ7X6UP791na9WoVPtyKsOfHdGN4V1cnOIkpCaGROZGQLYjJzIqtrI6Io6olJUVVV4RG1VQhxWw8BWVUnfSk9FQ88uQ89O+1zrjciqGmx1dYKSoDTFEzCaH0DKetZ6qpr6NipKhta6Pz/vyl71JjjIgm2Mo3dThbeljyxJqar/UU1W/8NoQ8MMt3tOGvIR8uHF1YdJ9djPRUuCiuyQgv0MsjKrmh7gbl1DWxUY4ZuThDq3YelD8tGWvyGgLy1vY6imbeEGLDOpHO7hsJgJURqr/sUfdMIUeQNS3akvcKdANyLxpG6ttwWvR5SKf+OeDogqLHnnfDSKVObzyPWhfkSuc08aOBScttLk84hUfq/nmw8c5a+vGV3LuuaOM8ilM73oei1b0HiQOciMcqb1WLAxXFpjymrKekl9Wf4AqqVC9FkHJbMIdHx1e6qd9XNg5NrO3gaSJT+J0MR/vZGQBOTgYj7stSKQKXNVXJDY31kSRgv+kF24ebC3cBUl1sW4FzlLSg6fQRYu7hOXE+KiplBr8IY64U2sYRs6DULU6B833EN1i/QIcale8TkFiZTnqB9vXuxNN79muxhd9Q6O2QgmRCCZ0QQ4jJKJnpTGv+v9oztv+iwCmx2v+PFGND0YOBw/gIUOqldmXGhMUkLkg/zYNCQBblntjGSPaFO1s10v9n8avPBleHDEAF69UZnZrVe/kugkTRzewS6vfEa97f0yw/q4iTWYFOobntaUn1ZEjgpQEKYF4W/NhTyv0Yd/jpcJkcNPVxmmV74yjU6gZf4ppenXaNNMkCyKPbn0FNpK3wWEJHdmZqV0gZyeMm+7ch9v5jGOnDmQHhB2JdRa3fDkj3rk9+T/0vjk3+XHvmFPPPktb7jXunTtve7t2X9N52URmJf7Oyv7Z1pSZER6MpvtCdeYGG/3KOJiemfEJYDQapiYQomOZSg1yG6ZmOa28yKIOPdT7qhorWaMNs35ggvr6G+bbL/MCjzP6ah2FK4FBKZTczOTe4A20vPvgNDZoDTV5MABkCq/LlcqJyNXIgcCLfEZqKciVoFpdFmDesA2F/EViFPTiYjRMXd1dPV1vB/kbEJBSleHOp5MjjQ3lda6OCtr5fRIdt1PHpfS7wyfXh9tfyRcLaIbr62anLqFf8lc4Y96mu5478FlTWmhS/jNdM+EJUwrPupOtsbzm0OtfvTfGH6QXPh6JozbrrScJ8y+FHD8bb/cUsVwggG/0BH0/sMvm6XGSpkVD6YkrWxDSTe7c+a4a9+DZXxyDkByItiaGDTEM0iu4ZkhD7Yc//CjBmoBQ54/eN/fc9+rwOayDzexK2zg39L2rRpGqZi8+EBartu5PKFZIS7+CS6kU6AePnpik+v3e5Sop2jiixQhuoqm7aMozvXeY41V+Vld4yx/kg4Gj7aU1KWcbDU7WvOfnqsuEoFnZqNFInyV/QiTCN5nZPE7+yH+3MbPICCNKvWjWSgsBAw5vWhq2g8k+yJtInsAQ44pGvpsA+o93SqOOAdyC3tVlhAy8kBF0JFz/cg210yPCDdP7xAzQPhtibvbpfSGstK9AlbQCoPe0sXS0v49hEVCL/h99hL428m9tBO/9ybefFp41hNCTIjwS8uEGDhR0dy1v7/a8ZixbckIvvJrm+BY0FLoZabrhRNHyKcHKnr6S5R8k83m9Hp++unpHLzlzRK4Kve1aWvrXsVreu2rvX03aKXVzpKkaavJDXQ1abeQV46TqbL0dQ1N9DUkmZmnCHqM41HHOAfqm/OfSS4K9QUz6i84iIkjPTGOf2D+8nwat/5Dv8AorzwlLqI8PxllC1r42qlofn899IsIf8EvSmxaRteT6WtFppluQF5yPm0H5ff4GW+Z9FRNX92p9/Tqd9zSLDHteYSAniPjaOrOBVJNenBsCSkb+ECP+P3O8mhOA355PmvXK+xFQG9UdVZuclGwu1FWoJPdy0Drcvdm9umtLDQhcfhBb1RfTnlOadBspjeo+OCnAYPvBgx+qug+qFaSF+EVYN6xnP1wEkFWlp++LWp8WFre0Fj0DuL/n6Bpnjw7SK47206egNWRk90XG/Don2Vs6T8vNHH1M59b7+U8Qm7CD/ByunG6sXvzNnHWWfcvykeYXlt9MTG7sG530/7m2uuFlxMrYDsd9PbtGZvUMz1npmGdh1sFsoXnUwTWI9iKfiQBd/t2N2CJ3TkBQNsVAKhoMpkPe40M8E5YoCEH5vQGfmL1womKR09WGi7PPrg0Ww9iYdkZ2RlwuuJtMcK7BBcPd0eHRbeWvGxLqAXqTpuelRfB0ybaRol6j5A1YOD7aIqKLv+cyWvA+jXRIN+IR2kxVXfYwMsK5FBsP9eu9rxyT8EF1wEWKFLu8fHLl9BdNE9SX8V1atZO69a2Rae/AqkIm3Q/WqMmGlOf6gEbtwUaPjhT5PVtLjaj4+Mb2sYmWofkGMekvJGec49yn4M576+9691P3cKFKYCFOpyXW+zQ432hn13YruyxGLJW4SftnAZi9gSosc+zc3/mKQ38O58cPrVzBK2+gC5uGYi3jtUUlPUwiB3He414ZJexpXEx0ybG5sFWfT2p3v0h5UmdzDJd5raIsZWDNWGLtFUPFrz/di73Drkl4PxquSd/fvrZZ8lGXN/CzTetITYrO97M7UHP010ByufOzPHYpntF73Xz6mKzJ4BDpzMwa9AAFfGC8hK8HdzdjWMteNXRFMACBfQo4pRhrmuuLiHGQS7OwNEm3nnrpJRAxg9haRk5nUd4rqtuIqKZvwlQvnr5B2uUXmrtq2WzUtE/4/MG9JI3MrBXiNP4+SaMrN1rFFFvsPC1xfjPUEa8HQkh9rGB9Paj1MH9rQ65PE6KOLC3iWNig/KfOSOIf67GfMXB/xbjSAusAv+Zivx/LyekzbMK/KXg2qreJCZVzg+31MwnxlW/AdlVth8r13oHPYLpKIB5W4vz80h43r/Ki+1Cd+ZPEWt0MjDa6fXRBZNgznu4PjDY4xZG61IHmLcUGnc/6sA2/98uWmrBVHSlfireILkspnAaLnllZAl0yOQBRbwNFWycUi36BPjPnrnroX1MokJHw0srermzqWv9SQZVLczV2s7TQEneUZ5Dql5P298gdeshJWLYxKPCkkJjGu9CcAzVhWM+MtgR0kixrIiMLHdQljK7YnBIZnzxIGkQC4Jhzs6hE41tz2Cgh/Lo+7NpxUJ2ijgZPv5e6b/95JiCeNKxKPEnoFBy6JYEhb1NPIvVS5gVLZzFXiHexaRzmaX/ciZ8f/ghfs6K04Vn9lfGr4zXLjxWnLNwwMzSf2XopPCKLdM8jwJjFru5w92zthddj52/PgJiWQHZJkReneNqucKR4OdKFmhZfzz8ZTp1+vM40vFwuUWQlzAud2JkrcqwymhjFIV/JQvyTJmAfZoJ+N8jMli6+a02nbZ7Oy9OjMvxEsgCzcvQNflhOnX6y8jjtpWHAqDxha6IOhen/EC4Jl3l3GUNHSfzEqSk81WCWsLtppJfvWrmXhZQW18D0xx9jJlqUfd4qETYpvvTGjZhQgafkY7vUHZbzg6fnD83/fwUmXuVspTJ2T2FyWx/XN5I63GlfZcnZbwABbhCdX+BCMQCRztfWViCQw9/PXj2dGGquds5NMjdMTw3BIe+XQgKHz2KIifGisKjY8Nj4hPt80dG3cvSssJj0zIL/foHivwzsiOJWbmuZS8G7IqSSZGx4qigIMJUf8Bqf6DHZNCww4C/h2e/370LcLb1uFDWjNsYJkShUiFYQa5XTjpYulI6hJZG+RykMR2lHn1G/U4FpdSmJxRdBX6lWNsa9NC6x7ObirfiPV5RkIjWrAJipbelUZLDuFT7jW430zx3aruBLP+dWNsq+uHFbfTKK0pIdV5CcgnBWvGmZowMl2aNkoelWBhXndFR1ROaeFVbxTsimlGyJ++R1dl1bBUN410Aq2cyj4Fgrmu8HNb/FBQ/6+U2lBQVPp7scCM/ncwvqS/PTLMx1zUxd44L8vR3jjM3NdWx+x/ZUHweXynDVll8vqGu8Cy+qrSEvaLoHKF2hGqkOhSmMkQ1GhlsNVAdHxpUHW03AMeeZr27emF+4UH27lV+DS7CscGKGiJCJQz29eFx0bnJMZJWx7VMAq8YXKAme2iDobSQOUis+FFx0aW3wWgO0UEYcqC8klL2moKzDfUF3Ozpp1v3V+2kexy5NREhQQ9kAgQgV0ofw5o6ReFmsSCgmx4UKCEGsqIq6pK28SC4wVlCKgHc+R6HjHwnh7Q8R6e0TAfHzMz/R0RV7oiJq6iK3lTVcFFVgYvp+i7ZLkXVReHZ4YXVHBxf5HPkoS7PwOXKcRc7RYG/knfv3BUrJFSl43JD3RycnHQ0mlJIwJpxX1dVSZL/2s4dMVXBS4XWZYHBcfn+DjcVjWWPZVwkOdUGE6MqQ5yLrmlIyN9RlhDyzEcMgX0Ilhl4M+GIsHgAlN3P9x6WyuamilfjCKYxdelayjMUwLyFGJzuJu7f7Azd/00mwJAhbe73yGi98ZCQDKdbc06kWRV7kLBOmvpCN67+ssKdiYb3eYVGr2+FWXvjgbbCpuhRX17+o54q1WJqr/CT3soyjK2lp66OOcFOw8bSU+eehStiCXerwfFiqIVPZw+9NYerF8HVNtjDhIKULL/oHJh51tpY/NDFQ1Y9rUcyfuzXrqbD6OMBXsyWwi8tV29iyJ05reyzGtnKR/C9emz+z7jmwVBZRVNJwzdQWUN5mq+koaJpVdXq8iy6yqyPuGeZl0zafNLtoDNDavVsevD9iqSi/0QqwislY/PVKvGcPNHOrWoRVqaAFlPHzQgeHU/j2wGzsc9NTgyZ92j6Owff3tA+2s01vBgVMGTKY54jycVZ/kHFWbEAz1AMxkd3qW0DLcUhD0YUhVTNH5H0YtWKR5o77rVdMbmcxxJzRcTZw0xbWMXicZp+3D2j+FFdc3snw7e8oLHMgYltldFbMUuqftSQXbjauLCk5+wa6OCY4HqvE0/61PbIq0lbQFtao1HfcXILdrzmsE2NTzMz/O++vx1b6H/bI0u5UOXIwbo3kuCqo+5oKoIW9sqoY40/cSYqOg2EFI/8pM01K/L++5oUE/suzH8pJt19ezQ8vNzf80ZfYuKbdGXr7ohI4w7+W0XvRR7GPw5TtsFGMh1ljFc2TS19Wp1Y1R8WkrPSBXKThptdmxZiMZHcSEhC/WAVfhwwcr7SgX+X40luZpeU04PtXvblyhQF/Vsipjjo8ahkBNuMvMzoEu2zdNNvX1KOr35j19ah76bT5CCXUPWWAnKE0fTiaUsooh6RfbKHelRxKnikgFYzB6HsX2YCM9SJNMSz/ssqC65lv/Nj4Uuu0I9mQUnmpKcdU7ILs0tj7zoyKjbVtwuWfCX+/94Sk+OeeUvayNj1EzzGdv7teY9ia8sHYh77OauEECO/xb50l7aRsh7yiJmnvfG/C9dZ/Dohrnh2tKNkLj62dEZufNYms+xIHPOJEGIm8Nu+p8/NrM2ozWX8xuIBPD5hBkHeJqaBPg2BAV2BAap6N+TkBfjlZa3lFAQEZRVBaGPeJTDa9FKrpVTDqUtFAkFYZ/8Es3NeFmJnz1y5JX8NWDfZHZVMQ1FpxC7v+5bDQJfB6aBkGo4ipXRGgI3lECSecFA2DkWl+lJs7ayfQ+JVByVjIiqHQqlwsZ6cv50bQmqFs+U44MppDNzcTU08Xcx4DVxdzc3c3AzhNC+SmMQXyc4XlQTMXu2zkGVMRpKQZChztf9XC2d/bUXwp8PQfa0Tld52Z9mL/U77/zx1HsPQEtwS1xLSQoc5xfXFKYaLvdSFx62CPIJ59CAkLC4MpFsS5LPlYWTu2FLT9tHnTzzqJLnygwU8/RycnM0XSAv1Ko2WUQhjE8Su9mzSeT5JKQc+HL7Q0N3ZbHdZEjBzlLlngRRjHMHL0cV8kbT46iml1KdRxEuEMJrPJpQ6HKgfYi0ferUX0wUKZdmNSQn59VCcXJ7XmJCUXY8UFGB74qPRra19CVHoNsCNDMfvAs3LzhHOtYW1fhg7f0xp0M7SWQZwjxBIXYwyO7JVVStzSjUsmRgQXJwSE1AVgrF9mM76elklVQVpdTVVlTrguZFrzMYI54dKhxF8Y1L8vItyoxKqKrOFflz46uUOuVPolSssPMdp696WUtcIvnMXKp40pVaZpg1GBBC/j6+vaLz42KnYn7Uv2klOxfL31Tv42mf5hISqKoiDwupi0rdVxYRF7oqF4k2b8OHmOv/1LY/vTvvDtz33k7HzTYwLDSgrDo/Lr0Cl7/5RIvvag6xIq8BC80t3JHU0NCUl7urIy6qow/BDX2R/8eCH/sKLD/7dvqB0/Tw9bdbyF/8BbA7/B8ACfv5RXi4s/FISFuuq3TPy/xld+aEw/7/MKFgNXAXhBB65quZ3mSNchXEMzjWjNmffEVy77YdFatbn0cri6o3s6doSBL/VEMh8d5R8AGqv7OXj7Ca4f4GMTaYvg+n0kAfMWAUnGXGbq5WubLETFC6/WIYgF1AL8uFFVasHdK2u0/W6QTfiIbHA5gvygmuF4A/RnOkT3Way54spBkO81cmv3dOk0ApZXJgOiMn5By5dK/gTcmD6RLyZLGPEyQCumQpztelDxEyeZUacZg8r6CL+WCHfqB23tFDzijCT7c2n2ArJAFtxcrcVQzi4EqKJ6RNUM9nAiJOvVkoJxLqiODYDRAJrtvBsknxFNpJyCU2M1VykPk3yDYNVohi3tQoHgVZp6OZCZDnjOkFDskq4nijcegh9PuvE5JKvQ50g+jd1bdeqZ1sdixjTOjCv6diLvkJ1nJdYR4410sawNoJ+zUjOShINpFgzFZyEmXM6HtqB8mpjAeduDMj/r/PZkuf+D7hl/haureDS0u+otzR8X3bZVuu5csq/2umBcedopEW8gHvF349HyjOhk4pHKvnj+bNyaIF8NLGTbM6MmQDumb/1qAmimZ+PBplWJmXh6LqSU9bIxFQDfVc/Ooi7qETTFD9xKpmamfyj8OaZZEJ1OAXGegvRs0KesdMf8OOk8lvar+fGgFrQByzkYE7awz8Q118VeWAeDX/e4QBmRp+xoE2+m7GMlofvvD/oaG9B4fka2H8Se6HrFqJLTH+wgH5KKNfdqN0JIDb2+w0mUSZMl/ar/dZgRnxZN8SfnmUeAnHhOHQfyB3h9xrb8lTF+40BiaA+G/tMsBstPAFki2qMQUS/5tcNCQScSy8XOQVfxRiEALnJ2ldCUowtWCR/bx1fBoCnf+puD8A7of3bP+v8X7X5l3kBy6EAAiwuW1oFsPzgUpZe2gHEfVPfVyJbQ+Pfi3eaa0BJkhD7gF+HchvzHPsXu7Bjn49F5zN8RXCq42hEmtMpgjdPSik1+KfGC9Rhhjki5BGFOh7P2jY+iolml5qNctvK6etiatjdxQ1O45ZT/UftEOE3bqvtRDIu1wZeAkdbRF7T2U5EBo1LadSY/qpN8LQwvoPx7dm69oGa7qbVQwQGv8Rx1KnFcVKDBsR6FEuP0M8z0krZRXo2dGVIpgrQZACxNubaIRKbn2lHsmgpZjlM0jyXZTtIjE+SYmfuBjMu9EnBAg0J7SSxU5jouEQW2Q64r7UQXTsi1rKzExqu1A+X6jlOatkw28nEF02OfXiKPKIS2pJjVzEZbbh3ISyxJ723GZchu0mFSaVLr173282DSdX1rOok5z8RfYdVfiCXH0hnhKAmyqsd8skpPf7wplGBVT7cT4/7Y57eJEJrEuNezyksAufPrcCIunfeVFXdJ2HqpdFkoZ1KqYlMukBm/Ja/KOWwUGBVA2qzUUANCRoyyqbbUiKXJc7FH9nO5zSHfEcye4+oFvHDWEbe54KHMapyEvmBaIey6DQ17eZMJ5Ccps8yPphAoIU0opigjziaqITS2h0IHAZOJg0ztFwK+wTcwrzSCwDrvIzxyBPmHfMMp0JDJH6JwCfgTFgBHAL+5BPz43dD42VNaMz8iDuhIZIjIvBGKEtHgB+QcNKFyZXG6iChNoVd1bfMfWhI0wE4A1wvQzAyX4bCzEmN3qWmgWUYfPyXYZ1S1F1muqjkufMQgMCRPQfeuAniJ9At5KbEXeAZLuxWVeHGxnWjrMG7WLQ1mFfOaLe47BD4atnWdUN2Z13y3lDgbc+HC6sgr7+IwIsjc7PHX98u5CYJ6wVv6hZ2bQUWvb15EHej0/q5rrPikXjbcGDnOhsJmr8hO7LRvBu4V/sNalTIU6RBh6Jrts38i4GTzfts3QMAAAA=","ok":true,"headers":[["content-type","font/woff2"]],"status":200,"status_text":""},"https://localhost:6006/index.js?_file_hash=4a366cbe":{"data":"dmFyIENMT1NVUkVfTk9fREVQUyA9IHRydWU7CndpbmRvdy5wb2x5bWVyU2tpcExvYWRpbmdGb250Um9ib3RvID0gdHJ1ZTsKLyoqIHZpbTogZXQ6dHM9NDpzdz00OnN0cz00CiAqIEBsaWNlbnNlIFJlcXVpcmVKUyAyLjMuNiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycy4KICogUmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UsIGh0dHBzOi8vZ2l0aHViLmNvbS9yZXF1aXJlanMvcmVxdWlyZWpzL2Jsb2IvbWFzdGVyL0xJQ0VOU0UKICovCi8vTm90IHVzaW5nIHN0cmljdDogdW5ldmVuIHN0cmljdCBzdXBwb3J0IGluIGJyb3dzZXJzLCAjMzkyLCBhbmQgY2F1c2VzCi8vcHJvYmxlbXMgd2l0aCByZXF1aXJlanMuZXhlYygpL3RyYW5zcGlsZXIgcGx1Z2lucyB0aGF0IG1heSBub3QgYmUgc3RyaWN0LgovKmpzbGludCByZWdleHA6IHRydWUsIG5vbWVuOiB0cnVlLCBzbG9wcHk6IHRydWUgKi8KLypnbG9iYWwgd2luZG93LCBuYXZpZ2F0b3IsIGRvY3VtZW50LCBpbXBvcnRTY3JpcHRzLCBzZXRUaW1lb3V0LCBvcGVyYSAqLwoKdmFyIHJlcXVpcmVqcywgcmVxdWlyZSwgZGVmaW5lOwooZnVuY3Rpb24gKGdsb2JhbCwgc2V0VGltZW91dCkgewogICAgdmFyIHJlcSwgcywgaGVhZCwgYmFzZUVsZW1lbnQsIGRhdGFNYWluLCBzcmMsCiAgICAgICAgaW50ZXJhY3RpdmVTY3JpcHQsIGN1cnJlbnRseUFkZGluZ1NjcmlwdCwgbWFpblNjcmlwdCwgc3ViUGF0aCwKICAgICAgICB2ZXJzaW9uID0gJzIuMy42JywKICAgICAgICBjb21tZW50UmVnRXhwID0gL1wvXCpbXHNcU10qP1wqXC98KFteOiInPV18XilcL1wvLiokL21nLAogICAgICAgIGNqc1JlcXVpcmVSZWdFeHAgPSAvW14uXVxzKnJlcXVpcmVccypcKFxzKlsiJ10oW14nIlxzXSspWyInXVxzKlwpL2csCiAgICAgICAganNTdWZmaXhSZWdFeHAgPSAvXC5qcyQvLAogICAgICAgIGN1cnJEaXJSZWdFeHAgPSAvXlwuXC8vLAogICAgICAgIG9wID0gT2JqZWN0LnByb3RvdHlwZSwKICAgICAgICBvc3RyaW5nID0gb3AudG9TdHJpbmcsCiAgICAgICAgaGFzT3duID0gb3AuaGFzT3duUHJvcGVydHksCiAgICAgICAgaXNCcm93c2VyID0gISEodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmRvY3VtZW50KSwKICAgICAgICBpc1dlYldvcmtlciA9ICFpc0Jyb3dzZXIgJiYgdHlwZW9mIGltcG9ydFNjcmlwdHMgIT09ICd1bmRlZmluZWQnLAogICAgICAgIC8vUFMzIGluZGljYXRlcyBsb2FkZWQgYW5kIGNvbXBsZXRlLCBidXQgbmVlZCB0byB3YWl0IGZvciBjb21wbGV0ZQogICAgICAgIC8vc3BlY2lmaWNhbGx5LiBTZXF1ZW5jZSBpcyAnbG9hZGluZycsICdsb2FkZWQnLCBleGVjdXRpb24sCiAgICAgICAgLy8gdGhlbiAnY29tcGxldGUnLiBUaGUgVUEgY2hlY2sgaXMgdW5mb3J0dW5hdGUsIGJ1dCBub3Qgc3VyZSBob3cKICAgICAgICAvL3RvIGZlYXR1cmUgdGVzdCB3L28gY2F1c2luZyBwZXJmIGlzc3Vlcy4KICAgICAgICByZWFkeVJlZ0V4cCA9IGlzQnJvd3NlciAmJiBuYXZpZ2F0b3IucGxhdGZvcm0gPT09ICdQTEFZU1RBVElPTiAzJyA/CiAgICAgICAgICAgICAgICAgICAgICAvXmNvbXBsZXRlJC8gOiAvXihjb21wbGV0ZXxsb2FkZWQpJC8sCiAgICAgICAgZGVmQ29udGV4dE5hbWUgPSAnXycsCiAgICAgICAgLy9PaCB0aGUgdHJhZ2VkeSwgZGV0ZWN0aW5nIG9wZXJhLiBTZWUgdGhlIHVzYWdlIG9mIGlzT3BlcmEgZm9yIHJlYXNvbi4KICAgICAgICBpc09wZXJhID0gdHlwZW9mIG9wZXJhICE9PSAndW5kZWZpbmVkJyAmJiBvcGVyYS50b1N0cmluZygpID09PSAnW29iamVjdCBPcGVyYV0nLAogICAgICAgIGNvbnRleHRzID0ge30sCiAgICAgICAgY2ZnID0ge30sCiAgICAgICAgZ2xvYmFsRGVmUXVldWUgPSBbXSwKICAgICAgICB1c2VJbnRlcmFjdGl2ZSA9IGZhbHNlOwoKICAgIC8vQ291bGQgbWF0Y2ggc29tZXRoaW5nIGxpa2UgJykvL2NvbW1lbnQnLCBkbyBub3QgbG9zZSB0aGUgcHJlZml4IHRvIGNvbW1lbnQuCiAgICBmdW5jdGlvbiBjb21tZW50UmVwbGFjZShtYXRjaCwgc2luZ2xlUHJlZml4KSB7CiAgICAgICAgcmV0dXJuIHNpbmdsZVByZWZpeCB8fCAnJzsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0Z1bmN0aW9uKGl0KSB7CiAgICAgICAgcmV0dXJuIG9zdHJpbmcuY2FsbChpdCkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7CiAgICB9CgogICAgZnVuY3Rpb24gaXNBcnJheShpdCkgewogICAgICAgIHJldHVybiBvc3RyaW5nLmNhbGwoaXQpID09PSAnW29iamVjdCBBcnJheV0nOwogICAgfQoKICAgIC8qKgogICAgICogSGVscGVyIGZ1bmN0aW9uIGZvciBpdGVyYXRpbmcgb3ZlciBhbiBhcnJheS4gSWYgdGhlIGZ1bmMgcmV0dXJucwogICAgICogYSB0cnVlIHZhbHVlLCBpdCB3aWxsIGJyZWFrIG91dCBvZiB0aGUgbG9vcC4KICAgICAqLwogICAgZnVuY3Rpb24gZWFjaChhcnksIGZ1bmMpIHsKICAgICAgICBpZiAoYXJ5KSB7CiAgICAgICAgICAgIHZhciBpOwogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJ5Lmxlbmd0aDsgaSArPSAxKSB7CiAgICAgICAgICAgICAgICBpZiAoYXJ5W2ldICYmIGZ1bmMoYXJ5W2ldLCBpLCBhcnkpKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIGl0ZXJhdGluZyBvdmVyIGFuIGFycmF5IGJhY2t3YXJkcy4gSWYgdGhlIGZ1bmMKICAgICAqIHJldHVybnMgYSB0cnVlIHZhbHVlLCBpdCB3aWxsIGJyZWFrIG91dCBvZiB0aGUgbG9vcC4KICAgICAqLwogICAgZnVuY3Rpb24gZWFjaFJldmVyc2UoYXJ5LCBmdW5jKSB7CiAgICAgICAgaWYgKGFyeSkgewogICAgICAgICAgICB2YXIgaTsKICAgICAgICAgICAgZm9yIChpID0gYXJ5Lmxlbmd0aCAtIDE7IGkgPiAtMTsgaSAtPSAxKSB7CiAgICAgICAgICAgICAgICBpZiAoYXJ5W2ldICYmIGZ1bmMoYXJ5W2ldLCBpLCBhcnkpKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gaGFzUHJvcChvYmosIHByb3ApIHsKICAgICAgICByZXR1cm4gaGFzT3duLmNhbGwob2JqLCBwcm9wKTsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRPd24ob2JqLCBwcm9wKSB7CiAgICAgICAgcmV0dXJuIGhhc1Byb3Aob2JqLCBwcm9wKSAmJiBvYmpbcHJvcF07CiAgICB9CgogICAgLyoqCiAgICAgKiBDeWNsZXMgb3ZlciBwcm9wZXJ0aWVzIGluIGFuIG9iamVjdCBhbmQgY2FsbHMgYSBmdW5jdGlvbiBmb3IgZWFjaAogICAgICogcHJvcGVydHkgdmFsdWUuIElmIHRoZSBmdW5jdGlvbiByZXR1cm5zIGEgdHJ1dGh5IHZhbHVlLCB0aGVuIHRoZQogICAgICogaXRlcmF0aW9uIGlzIHN0b3BwZWQuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGVhY2hQcm9wKG9iaiwgZnVuYykgewogICAgICAgIHZhciBwcm9wOwogICAgICAgIGZvciAocHJvcCBpbiBvYmopIHsKICAgICAgICAgICAgaWYgKGhhc1Byb3Aob2JqLCBwcm9wKSkgewogICAgICAgICAgICAgICAgaWYgKGZ1bmMob2JqW3Byb3BdLCBwcm9wKSkgewogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogU2ltcGxlIGZ1bmN0aW9uIHRvIG1peCBpbiBwcm9wZXJ0aWVzIGZyb20gc291cmNlIGludG8gdGFyZ2V0LAogICAgICogYnV0IG9ubHkgaWYgdGFyZ2V0IGRvZXMgbm90IGFscmVhZHkgaGF2ZSBhIHByb3BlcnR5IG9mIHRoZSBzYW1lIG5hbWUuCiAgICAgKi8KICAgIGZ1bmN0aW9uIG1peGluKHRhcmdldCwgc291cmNlLCBmb3JjZSwgZGVlcFN0cmluZ01peGluKSB7CiAgICAgICAgaWYgKHNvdXJjZSkgewogICAgICAgICAgICBlYWNoUHJvcChzb3VyY2UsIGZ1bmN0aW9uICh2YWx1ZSwgcHJvcCkgewogICAgICAgICAgICAgICAgaWYgKGZvcmNlIHx8ICFoYXNQcm9wKHRhcmdldCwgcHJvcCkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoZGVlcFN0cmluZ01peGluICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYKICAgICAgICAgICAgICAgICAgICAgICAgIWlzQXJyYXkodmFsdWUpICYmICFpc0Z1bmN0aW9uKHZhbHVlKSAmJgogICAgICAgICAgICAgICAgICAgICAgICAhKHZhbHVlIGluc3RhbmNlb2YgUmVnRXhwKSkgewoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0YXJnZXRbcHJvcF0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldFtwcm9wXSA9IHt9OwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIG1peGluKHRhcmdldFtwcm9wXSwgdmFsdWUsIGZvcmNlLCBkZWVwU3RyaW5nTWl4aW4pOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldFtwcm9wXSA9IHZhbHVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0YXJnZXQ7CiAgICB9CgogICAgLy9TaW1pbGFyIHRvIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCBidXQgdGhlICd0aGlzJyBvYmplY3QgaXMgc3BlY2lmaWVkCiAgICAvL2ZpcnN0LCBzaW5jZSBpdCBpcyBlYXNpZXIgdG8gcmVhZC9maWd1cmUgb3V0IHdoYXQgJ3RoaXMnIHdpbGwgYmUuCiAgICBmdW5jdGlvbiBiaW5kKG9iaiwgZm4pIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gZm4uYXBwbHkob2JqLCBhcmd1bWVudHMpOwogICAgICAgIH07CiAgICB9CgogICAgZnVuY3Rpb24gc2NyaXB0cygpIHsKICAgICAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpOwogICAgfQoKICAgIGZ1bmN0aW9uIGRlZmF1bHRPbkVycm9yKGVycikgewogICAgICAgIHRocm93IGVycjsKICAgIH0KCiAgICAvL0FsbG93IGdldHRpbmcgYSBnbG9iYWwgdGhhdCBpcyBleHByZXNzZWQgaW4KICAgIC8vZG90IG5vdGF0aW9uLCBsaWtlICdhLmIuYycuCiAgICBmdW5jdGlvbiBnZXRHbG9iYWwodmFsdWUpIHsKICAgICAgICBpZiAoIXZhbHVlKSB7CiAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgICB9CiAgICAgICAgdmFyIGcgPSBnbG9iYWw7CiAgICAgICAgZWFjaCh2YWx1ZS5zcGxpdCgnLicpLCBmdW5jdGlvbiAocGFydCkgewogICAgICAgICAgICBnID0gZ1twYXJ0XTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gZzsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnN0cnVjdHMgYW4gZXJyb3Igd2l0aCBhIHBvaW50ZXIgdG8gYW4gVVJMIHdpdGggbW9yZSBpbmZvcm1hdGlvbi4KICAgICAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZXJyb3IgSUQgdGhhdCBtYXBzIHRvIGFuIElEIG9uIGEgd2ViIHBhZ2UuCiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbWVzc2FnZSBodW1hbiByZWFkYWJsZSBlcnJvci4KICAgICAqIEBwYXJhbSB7RXJyb3J9IFtlcnJdIHRoZSBvcmlnaW5hbCBlcnJvciwgaWYgdGhlcmUgaXMgb25lLgogICAgICoKICAgICAqIEByZXR1cm5zIHtFcnJvcn0KICAgICAqLwogICAgZnVuY3Rpb24gbWFrZUVycm9yKGlkLCBtc2csIGVyciwgcmVxdWlyZU1vZHVsZXMpIHsKICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtc2cgKyAnXG5odHRwczovL3JlcXVpcmVqcy5vcmcvZG9jcy9lcnJvcnMuaHRtbCMnICsgaWQpOwogICAgICAgIGUucmVxdWlyZVR5cGUgPSBpZDsKICAgICAgICBlLnJlcXVpcmVNb2R1bGVzID0gcmVxdWlyZU1vZHVsZXM7CiAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICBlLm9yaWdpbmFsRXJyb3IgPSBlcnI7CiAgICAgICAgfQogICAgICAgIHJldHVybiBlOwogICAgfQoKICAgIGlmICh0eXBlb2YgZGVmaW5lICE9PSAndW5kZWZpbmVkJykgewogICAgICAgIC8vSWYgYSBkZWZpbmUgaXMgYWxyZWFkeSBpbiBwbGF5IHZpYSBhbm90aGVyIEFNRCBsb2FkZXIsCiAgICAgICAgLy9kbyBub3Qgb3ZlcndyaXRlLgogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiAodHlwZW9mIHJlcXVpcmVqcyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICBpZiAoaXNGdW5jdGlvbihyZXF1aXJlanMpKSB7CiAgICAgICAgICAgIC8vRG8gbm90IG92ZXJ3cml0ZSBhbiBleGlzdGluZyByZXF1aXJlanMgaW5zdGFuY2UuCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgY2ZnID0gcmVxdWlyZWpzOwogICAgICAgIHJlcXVpcmVqcyA9IHVuZGVmaW5lZDsKICAgIH0KCiAgICAvL0FsbG93IGZvciBhIHJlcXVpcmUgY29uZmlnIG9iamVjdAogICAgaWYgKHR5cGVvZiByZXF1aXJlICE9PSAndW5kZWZpbmVkJyAmJiAhaXNGdW5jdGlvbihyZXF1aXJlKSkgewogICAgICAgIC8vYXNzdW1lIGl0IGlzIGEgY29uZmlnIG9iamVjdC4KICAgICAgICBjZmcgPSByZXF1aXJlOwogICAgICAgIHJlcXVpcmUgPSB1bmRlZmluZWQ7CiAgICB9CgogICAgZnVuY3Rpb24gbmV3Q29udGV4dChjb250ZXh0TmFtZSkgewogICAgICAgIHZhciBpbkNoZWNrTG9hZGVkLCBNb2R1bGUsIGNvbnRleHQsIGhhbmRsZXJzLAogICAgICAgICAgICBjaGVja0xvYWRlZFRpbWVvdXRJZCwKICAgICAgICAgICAgY29uZmlnID0gewogICAgICAgICAgICAgICAgLy9EZWZhdWx0cy4gRG8gbm90IHNldCBhIGRlZmF1bHQgZm9yIG1hcAogICAgICAgICAgICAgICAgLy9jb25maWcgdG8gc3BlZWQgdXAgbm9ybWFsaXplKCksIHdoaWNoCiAgICAgICAgICAgICAgICAvL3dpbGwgcnVuIGZhc3RlciBpZiB0aGVyZSBpcyBubyBkZWZhdWx0LgogICAgICAgICAgICAgICAgd2FpdFNlY29uZHM6IDcsCiAgICAgICAgICAgICAgICBiYXNlVXJsOiAnLi8nLAogICAgICAgICAgICAgICAgcGF0aHM6IHt9LAogICAgICAgICAgICAgICAgYnVuZGxlczoge30sCiAgICAgICAgICAgICAgICBwa2dzOiB7fSwKICAgICAgICAgICAgICAgIHNoaW06IHt9LAogICAgICAgICAgICAgICAgY29uZmlnOiB7fQogICAgICAgICAgICB9LAogICAgICAgICAgICByZWdpc3RyeSA9IHt9LAogICAgICAgICAgICAvL3JlZ2lzdHJ5IG9mIGp1c3QgZW5hYmxlZCBtb2R1bGVzLCB0byBzcGVlZAogICAgICAgICAgICAvL2N5Y2xlIGJyZWFraW5nIGNvZGUgd2hlbiBsb3RzIG9mIG1vZHVsZXMKICAgICAgICAgICAgLy9hcmUgcmVnaXN0ZXJlZCwgYnV0IG5vdCBhY3RpdmF0ZWQuCiAgICAgICAgICAgIGVuYWJsZWRSZWdpc3RyeSA9IHt9LAogICAgICAgICAgICB1bmRlZkV2ZW50cyA9IHt9LAogICAgICAgICAgICBkZWZRdWV1ZSA9IFtdLAogICAgICAgICAgICBkZWZpbmVkID0ge30sCiAgICAgICAgICAgIHVybEZldGNoZWQgPSB7fSwKICAgICAgICAgICAgYnVuZGxlc01hcCA9IHt9LAogICAgICAgICAgICByZXF1aXJlQ291bnRlciA9IDEsCiAgICAgICAgICAgIHVubm9ybWFsaXplZENvdW50ZXIgPSAxOwoKICAgICAgICAvKioKICAgICAgICAgKiBUcmltcyB0aGUgLiBhbmQgLi4gZnJvbSBhbiBhcnJheSBvZiBwYXRoIHNlZ21lbnRzLgogICAgICAgICAqIEl0IHdpbGwga2VlcCBhIGxlYWRpbmcgcGF0aCBzZWdtZW50IGlmIGEgLi4gd2lsbCBiZWNvbWUKICAgICAgICAgKiB0aGUgZmlyc3QgcGF0aCBzZWdtZW50LCB0byBoZWxwIHdpdGggbW9kdWxlIG5hbWUgbG9va3VwcywKICAgICAgICAgKiB3aGljaCBhY3QgbGlrZSBwYXRocywgYnV0IGNhbiBiZSByZW1hcHBlZC4gQnV0IHRoZSBlbmQgcmVzdWx0LAogICAgICAgICAqIGFsbCBwYXRocyB0aGF0IHVzZSB0aGlzIGZ1bmN0aW9uIHNob3VsZCBsb29rIG5vcm1hbGl6ZWQuCiAgICAgICAgICogTk9URTogdGhpcyBtZXRob2QgTU9ESUZJRVMgdGhlIGlucHV0IGFycmF5LgogICAgICAgICAqIEBwYXJhbSB7QXJyYXl9IGFyeSB0aGUgYXJyYXkgb2YgcGF0aCBzZWdtZW50cy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiB0cmltRG90cyhhcnkpIHsKICAgICAgICAgICAgdmFyIGksIHBhcnQ7CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhcnkubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIHBhcnQgPSBhcnlbaV07CiAgICAgICAgICAgICAgICBpZiAocGFydCA9PT0gJy4nKSB7CiAgICAgICAgICAgICAgICAgICAgYXJ5LnNwbGljZShpLCAxKTsKICAgICAgICAgICAgICAgICAgICBpIC09IDE7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhcnQgPT09ICcuLicpIHsKICAgICAgICAgICAgICAgICAgICAvLyBJZiBhdCB0aGUgc3RhcnQsIG9yIHByZXZpb3VzIHZhbHVlIGlzIHN0aWxsIC4uLAogICAgICAgICAgICAgICAgICAgIC8vIGtlZXAgdGhlbSBzbyB0aGF0IHdoZW4gY29udmVydGVkIHRvIGEgcGF0aCBpdCBtYXkKICAgICAgICAgICAgICAgICAgICAvLyBzdGlsbCB3b3JrIHdoZW4gY29udmVydGVkIHRvIGEgcGF0aCwgZXZlbiB0aG91Z2gKICAgICAgICAgICAgICAgICAgICAvLyBhcyBhbiBJRCBpdCBpcyBsZXNzIHRoYW4gaWRlYWwuIEluIGxhcmdlciBwb2ludAogICAgICAgICAgICAgICAgICAgIC8vIHJlbGVhc2VzLCBtYXkgYmUgYmV0dGVyIHRvIGp1c3Qga2ljayBvdXQgYW4gZXJyb3IuCiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IDAgfHwgKGkgPT09IDEgJiYgYXJ5WzJdID09PSAnLi4nKSB8fCBhcnlbaSAtIDFdID09PSAnLi4nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaSA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgYXJ5LnNwbGljZShpIC0gMSwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgIGkgLT0gMjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEdpdmVuIGEgcmVsYXRpdmUgbW9kdWxlIG5hbWUsIGxpa2UgLi9zb21ldGhpbmcsIG5vcm1hbGl6ZSBpdCB0bwogICAgICAgICAqIGEgcmVhbCBuYW1lIHRoYXQgY2FuIGJlIG1hcHBlZCB0byBhIHBhdGguCiAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgdGhlIHJlbGF0aXZlIG5hbWUKICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30gYmFzZU5hbWUgYSByZWFsIG5hbWUgdGhhdCB0aGUgbmFtZSBhcmcgaXMgcmVsYXRpdmUKICAgICAgICAgKiB0by4KICAgICAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IGFwcGx5TWFwIGFwcGx5IHRoZSBtYXAgY29uZmlnIHRvIHRoZSB2YWx1ZS4gU2hvdWxkCiAgICAgICAgICogb25seSBiZSBkb25lIGlmIHRoaXMgbm9ybWFsaXphdGlvbiBpcyBmb3IgYSBkZXBlbmRlbmN5IElELgogICAgICAgICAqIEByZXR1cm5zIHtTdHJpbmd9IG5vcm1hbGl6ZWQgbmFtZQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIG5vcm1hbGl6ZShuYW1lLCBiYXNlTmFtZSwgYXBwbHlNYXApIHsKICAgICAgICAgICAgdmFyIHBrZ01haW4sIG1hcFZhbHVlLCBuYW1lUGFydHMsIGksIGosIG5hbWVTZWdtZW50LCBsYXN0SW5kZXgsCiAgICAgICAgICAgICAgICBmb3VuZE1hcCwgZm91bmRJLCBmb3VuZFN0YXJNYXAsIHN0YXJJLCBub3JtYWxpemVkQmFzZVBhcnRzLAogICAgICAgICAgICAgICAgYmFzZVBhcnRzID0gKGJhc2VOYW1lICYmIGJhc2VOYW1lLnNwbGl0KCcvJykpLAogICAgICAgICAgICAgICAgbWFwID0gY29uZmlnLm1hcCwKICAgICAgICAgICAgICAgIHN0YXJNYXAgPSBtYXAgJiYgbWFwWycqJ107CgogICAgICAgICAgICAvL0FkanVzdCBhbnkgcmVsYXRpdmUgcGF0aHMuCiAgICAgICAgICAgIGlmIChuYW1lKSB7CiAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5zcGxpdCgnLycpOwogICAgICAgICAgICAgICAgbGFzdEluZGV4ID0gbmFtZS5sZW5ndGggLSAxOwoKICAgICAgICAgICAgICAgIC8vIElmIHdhbnRpbmcgbm9kZSBJRCBjb21wYXRpYmlsaXR5LCBzdHJpcCAuanMgZnJvbSBlbmQKICAgICAgICAgICAgICAgIC8vIG9mIElEcy4gSGF2ZSB0byBkbyB0aGlzIGhlcmUsIGFuZCBub3QgaW4gbmFtZVRvVXJsCiAgICAgICAgICAgICAgICAvLyBiZWNhdXNlIG5vZGUgYWxsb3dzIGVpdGhlciAuanMgb3Igbm9uIC5qcyB0byBtYXAKICAgICAgICAgICAgICAgIC8vIHRvIHNhbWUgZmlsZS4KICAgICAgICAgICAgICAgIGlmIChjb25maWcubm9kZUlkQ29tcGF0ICYmIGpzU3VmZml4UmVnRXhwLnRlc3QobmFtZVtsYXN0SW5kZXhdKSkgewogICAgICAgICAgICAgICAgICAgIG5hbWVbbGFzdEluZGV4XSA9IG5hbWVbbGFzdEluZGV4XS5yZXBsYWNlKGpzU3VmZml4UmVnRXhwLCAnJyk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gU3RhcnRzIHdpdGggYSAnLicgc28gbmVlZCB0aGUgYmFzZU5hbWUKICAgICAgICAgICAgICAgIGlmIChuYW1lWzBdLmNoYXJBdCgwKSA9PT0gJy4nICYmIGJhc2VQYXJ0cykgewogICAgICAgICAgICAgICAgICAgIC8vQ29udmVydCBiYXNlTmFtZSB0byBhcnJheSwgYW5kIGxvcCBvZmYgdGhlIGxhc3QgcGFydCwKICAgICAgICAgICAgICAgICAgICAvL3NvIHRoYXQgLiBtYXRjaGVzIHRoYXQgJ2RpcmVjdG9yeScgYW5kIG5vdCBuYW1lIG9mIHRoZSBiYXNlTmFtZSdzCiAgICAgICAgICAgICAgICAgICAgLy9tb2R1bGUuIEZvciBpbnN0YW5jZSwgYmFzZU5hbWUgb2YgJ29uZS90d28vdGhyZWUnLCBtYXBzIHRvCiAgICAgICAgICAgICAgICAgICAgLy8nb25lL3R3by90aHJlZS5qcycsIGJ1dCB3ZSB3YW50IHRoZSBkaXJlY3RvcnksICdvbmUvdHdvJyBmb3IKICAgICAgICAgICAgICAgICAgICAvL3RoaXMgbm9ybWFsaXphdGlvbi4KICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkQmFzZVBhcnRzID0gYmFzZVBhcnRzLnNsaWNlKDAsIGJhc2VQYXJ0cy5sZW5ndGggLSAxKTsKICAgICAgICAgICAgICAgICAgICBuYW1lID0gbm9ybWFsaXplZEJhc2VQYXJ0cy5jb25jYXQobmFtZSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdHJpbURvdHMobmFtZSk7CiAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5qb2luKCcvJyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vQXBwbHkgbWFwIGNvbmZpZyBpZiBhdmFpbGFibGUuCiAgICAgICAgICAgIGlmIChhcHBseU1hcCAmJiBtYXAgJiYgKGJhc2VQYXJ0cyB8fCBzdGFyTWFwKSkgewogICAgICAgICAgICAgICAgbmFtZVBhcnRzID0gbmFtZS5zcGxpdCgnLycpOwoKICAgICAgICAgICAgICAgIG91dGVyTG9vcDogZm9yIChpID0gbmFtZVBhcnRzLmxlbmd0aDsgaSA+IDA7IGkgLT0gMSkgewogICAgICAgICAgICAgICAgICAgIG5hbWVTZWdtZW50ID0gbmFtZVBhcnRzLnNsaWNlKDAsIGkpLmpvaW4oJy8nKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGJhc2VQYXJ0cykgewogICAgICAgICAgICAgICAgICAgICAgICAvL0ZpbmQgdGhlIGxvbmdlc3QgYmFzZU5hbWUgc2VnbWVudCBtYXRjaCBpbiB0aGUgY29uZmlnLgogICAgICAgICAgICAgICAgICAgICAgICAvL1NvLCBkbyBqb2lucyBvbiB0aGUgYmlnZ2VzdCB0byBzbWFsbGVzdCBsZW5ndGhzIG9mIGJhc2VQYXJ0cy4KICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChqID0gYmFzZVBhcnRzLmxlbmd0aDsgaiA+IDA7IGogLT0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwVmFsdWUgPSBnZXRPd24obWFwLCBiYXNlUGFydHMuc2xpY2UoMCwgaikuam9pbignLycpKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2Jhc2VOYW1lIHNlZ21lbnQgaGFzIGNvbmZpZywgZmluZCBpZiBpdCBoYXMgb25lIGZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy90aGlzIG5hbWUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWFwVmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBWYWx1ZSA9IGdldE93bihtYXBWYWx1ZSwgbmFtZVNlZ21lbnQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXBWYWx1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL01hdGNoLCB1cGRhdGUgbmFtZSB0byB0aGUgbmV3IHZhbHVlLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZE1hcCA9IG1hcFZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZEkgPSBpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhayBvdXRlckxvb3A7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAvL0NoZWNrIGZvciBhIHN0YXIgbWFwIG1hdGNoLCBidXQganVzdCBob2xkIG9uIHRvIGl0LAogICAgICAgICAgICAgICAgICAgIC8vaWYgdGhlcmUgaXMgYSBzaG9ydGVyIHNlZ21lbnQgbWF0Y2ggbGF0ZXIgaW4gYSBtYXRjaGluZwogICAgICAgICAgICAgICAgICAgIC8vY29uZmlnLCB0aGVuIGZhdm9yIG92ZXIgdGhpcyBzdGFyIG1hcC4KICAgICAgICAgICAgICAgICAgICBpZiAoIWZvdW5kU3Rhck1hcCAmJiBzdGFyTWFwICYmIGdldE93bihzdGFyTWFwLCBuYW1lU2VnbWVudCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRTdGFyTWFwID0gZ2V0T3duKHN0YXJNYXAsIG5hbWVTZWdtZW50KTsKICAgICAgICAgICAgICAgICAgICAgICAgc3RhckkgPSBpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIWZvdW5kTWFwICYmIGZvdW5kU3Rhck1hcCkgewogICAgICAgICAgICAgICAgICAgIGZvdW5kTWFwID0gZm91bmRTdGFyTWFwOwogICAgICAgICAgICAgICAgICAgIGZvdW5kSSA9IHN0YXJJOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChmb3VuZE1hcCkgewogICAgICAgICAgICAgICAgICAgIG5hbWVQYXJ0cy5zcGxpY2UoMCwgZm91bmRJLCBmb3VuZE1hcCk7CiAgICAgICAgICAgICAgICAgICAgbmFtZSA9IG5hbWVQYXJ0cy5qb2luKCcvJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIElmIHRoZSBuYW1lIHBvaW50cyB0byBhIHBhY2thZ2UncyBuYW1lLCB1c2UKICAgICAgICAgICAgLy8gdGhlIHBhY2thZ2UgbWFpbiBpbnN0ZWFkLgogICAgICAgICAgICBwa2dNYWluID0gZ2V0T3duKGNvbmZpZy5wa2dzLCBuYW1lKTsKCiAgICAgICAgICAgIHJldHVybiBwa2dNYWluID8gcGtnTWFpbiA6IG5hbWU7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiByZW1vdmVTY3JpcHQobmFtZSkgewogICAgICAgICAgICBpZiAoaXNCcm93c2VyKSB7CiAgICAgICAgICAgICAgICBlYWNoKHNjcmlwdHMoKSwgZnVuY3Rpb24gKHNjcmlwdE5vZGUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc2NyaXB0Tm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtcmVxdWlyZW1vZHVsZScpID09PSBuYW1lICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHROb2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1yZXF1aXJlY29udGV4dCcpID09PSBjb250ZXh0LmNvbnRleHROYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdE5vZGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzY3JpcHROb2RlKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhc1BhdGhGYWxsYmFjayhpZCkgewogICAgICAgICAgICB2YXIgcGF0aENvbmZpZyA9IGdldE93bihjb25maWcucGF0aHMsIGlkKTsKICAgICAgICAgICAgaWYgKHBhdGhDb25maWcgJiYgaXNBcnJheShwYXRoQ29uZmlnKSAmJiBwYXRoQ29uZmlnLmxlbmd0aCA+IDEpIHsKICAgICAgICAgICAgICAgIC8vUG9wIG9mZiB0aGUgZmlyc3QgYXJyYXkgdmFsdWUsIHNpbmNlIGl0IGZhaWxlZCwgYW5kCiAgICAgICAgICAgICAgICAvL3JldHJ5CiAgICAgICAgICAgICAgICBwYXRoQ29uZmlnLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICBjb250ZXh0LnJlcXVpcmUudW5kZWYoaWQpOwoKICAgICAgICAgICAgICAgIC8vQ3VzdG9tIHJlcXVpcmUgdGhhdCBkb2VzIG5vdCBkbyBtYXAgdHJhbnNsYXRpb24sIHNpbmNlCiAgICAgICAgICAgICAgICAvL0lEIGlzICJhYnNvbHV0ZSIsIGFscmVhZHkgbWFwcGVkL3Jlc29sdmVkLgogICAgICAgICAgICAgICAgY29udGV4dC5tYWtlUmVxdWlyZShudWxsLCB7CiAgICAgICAgICAgICAgICAgICAgc2tpcE1hcDogdHJ1ZQogICAgICAgICAgICAgICAgfSkoW2lkXSk7CgogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vVHVybnMgYSBwbHVnaW4hcmVzb3VyY2UgdG8gW3BsdWdpbiwgcmVzb3VyY2VdCiAgICAgICAgLy93aXRoIHRoZSBwbHVnaW4gYmVpbmcgdW5kZWZpbmVkIGlmIHRoZSBuYW1lCiAgICAgICAgLy9kaWQgbm90IGhhdmUgYSBwbHVnaW4gcHJlZml4LgogICAgICAgIGZ1bmN0aW9uIHNwbGl0UHJlZml4KG5hbWUpIHsKICAgICAgICAgICAgdmFyIHByZWZpeCwKICAgICAgICAgICAgICAgIGluZGV4ID0gbmFtZSA/IG5hbWUuaW5kZXhPZignIScpIDogLTE7CiAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7CiAgICAgICAgICAgICAgICBwcmVmaXggPSBuYW1lLnN1YnN0cmluZygwLCBpbmRleCk7CiAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5zdWJzdHJpbmcoaW5kZXggKyAxLCBuYW1lLmxlbmd0aCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXgsIG5hbWVdOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogQ3JlYXRlcyBhIG1vZHVsZSBtYXBwaW5nIHRoYXQgaW5jbHVkZXMgcGx1Z2luIHByZWZpeCwgbW9kdWxlCiAgICAgICAgICogbmFtZSwgYW5kIHBhdGguIElmIHBhcmVudE1vZHVsZU1hcCBpcyBwcm92aWRlZCBpdCB3aWxsCiAgICAgICAgICogYWxzbyBub3JtYWxpemUgdGhlIG5hbWUgdmlhIHJlcXVpcmUubm9ybWFsaXplKCkKICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIHRoZSBtb2R1bGUgbmFtZQogICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBbcGFyZW50TW9kdWxlTWFwXSBwYXJlbnQgbW9kdWxlIG1hcAogICAgICAgICAqIGZvciB0aGUgbW9kdWxlIG5hbWUsIHVzZWQgdG8gcmVzb2x2ZSByZWxhdGl2ZSBuYW1lcy4KICAgICAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IGlzTm9ybWFsaXplZDogaXMgdGhlIElEIGFscmVhZHkgbm9ybWFsaXplZC4KICAgICAgICAgKiBUaGlzIGlzIHRydWUgaWYgdGhpcyBjYWxsIGlzIGRvbmUgZm9yIGEgZGVmaW5lKCkgbW9kdWxlIElELgogICAgICAgICAqIEBwYXJhbSB7Qm9vbGVhbn0gYXBwbHlNYXA6IGFwcGx5IHRoZSBtYXAgY29uZmlnIHRvIHRoZSBJRC4KICAgICAgICAgKiBTaG91bGQgb25seSBiZSB0cnVlIGlmIHRoaXMgbWFwIGlzIGZvciBhIGRlcGVuZGVuY3kuCiAgICAgICAgICoKICAgICAgICAgKiBAcmV0dXJucyB7T2JqZWN0fQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIG1ha2VNb2R1bGVNYXAobmFtZSwgcGFyZW50TW9kdWxlTWFwLCBpc05vcm1hbGl6ZWQsIGFwcGx5TWFwKSB7CiAgICAgICAgICAgIHZhciB1cmwsIHBsdWdpbk1vZHVsZSwgc3VmZml4LCBuYW1lUGFydHMsCiAgICAgICAgICAgICAgICBwcmVmaXggPSBudWxsLAogICAgICAgICAgICAgICAgcGFyZW50TmFtZSA9IHBhcmVudE1vZHVsZU1hcCA/IHBhcmVudE1vZHVsZU1hcC5uYW1lIDogbnVsbCwKICAgICAgICAgICAgICAgIG9yaWdpbmFsTmFtZSA9IG5hbWUsCiAgICAgICAgICAgICAgICBpc0RlZmluZSA9IHRydWUsCiAgICAgICAgICAgICAgICBub3JtYWxpemVkTmFtZSA9ICcnOwoKICAgICAgICAgICAgLy9JZiBubyBuYW1lLCB0aGVuIGl0IG1lYW5zIGl0IGlzIGEgcmVxdWlyZSBjYWxsLCBnZW5lcmF0ZSBhbgogICAgICAgICAgICAvL2ludGVybmFsIG5hbWUuCiAgICAgICAgICAgIGlmICghbmFtZSkgewogICAgICAgICAgICAgICAgaXNEZWZpbmUgPSBmYWxzZTsKICAgICAgICAgICAgICAgIG5hbWUgPSAnX0ByJyArIChyZXF1aXJlQ291bnRlciArPSAxKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbmFtZVBhcnRzID0gc3BsaXRQcmVmaXgobmFtZSk7CiAgICAgICAgICAgIHByZWZpeCA9IG5hbWVQYXJ0c1swXTsKICAgICAgICAgICAgbmFtZSA9IG5hbWVQYXJ0c1sxXTsKCiAgICAgICAgICAgIGlmIChwcmVmaXgpIHsKICAgICAgICAgICAgICAgIHByZWZpeCA9IG5vcm1hbGl6ZShwcmVmaXgsIHBhcmVudE5hbWUsIGFwcGx5TWFwKTsKICAgICAgICAgICAgICAgIHBsdWdpbk1vZHVsZSA9IGdldE93bihkZWZpbmVkLCBwcmVmaXgpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvL0FjY291bnQgZm9yIHJlbGF0aXZlIHBhdGhzIGlmIHRoZXJlIGlzIGEgYmFzZSBuYW1lLgogICAgICAgICAgICBpZiAobmFtZSkgewogICAgICAgICAgICAgICAgaWYgKHByZWZpeCkgewogICAgICAgICAgICAgICAgICAgIGlmIChpc05vcm1hbGl6ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZE5hbWUgPSBuYW1lOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGx1Z2luTW9kdWxlICYmIHBsdWdpbk1vZHVsZS5ub3JtYWxpemUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy9QbHVnaW4gaXMgbG9hZGVkLCB1c2UgaXRzIG5vcm1hbGl6ZSBtZXRob2QuCiAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWROYW1lID0gcGx1Z2luTW9kdWxlLm5vcm1hbGl6ZShuYW1lLCBmdW5jdGlvbiAobmFtZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZShuYW1lLCBwYXJlbnROYW1lLCBhcHBseU1hcCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIG5lc3RlZCBwbHVnaW4gcmVmZXJlbmNlcywgdGhlbiBkbyBub3QgdHJ5IHRvCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSwgYXMgaXQgd2lsbCBub3Qgbm9ybWFsaXplIGNvcnJlY3RseS4gVGhpcwogICAgICAgICAgICAgICAgICAgICAgICAvLyBwbGFjZXMgYSByZXN0cmljdGlvbiBvbiByZXNvdXJjZUlkcywgYW5kIHRoZSBsb25nZXIKICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGVybSBzb2x1dGlvbiBpcyBub3QgdG8gbm9ybWFsaXplIHVudGlsIHBsdWdpbnMgYXJlCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvYWRlZCBhbmQgYWxsIG5vcm1hbGl6YXRpb25zIHRvIGFsbG93IGZvciBhc3luYwogICAgICAgICAgICAgICAgICAgICAgICAvLyBsb2FkaW5nIG9mIGEgbG9hZGVyIHBsdWdpbi4gQnV0IGZvciBub3csIGZpeGVzIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvLyBjb21tb24gdXNlcy4gRGV0YWlscyBpbiAjMTEzMQogICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkTmFtZSA9IG5hbWUuaW5kZXhPZignIScpID09PSAtMSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplKG5hbWUsIHBhcmVudE5hbWUsIGFwcGx5TWFwKSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vQSByZWd1bGFyIG1vZHVsZS4KICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZShuYW1lLCBwYXJlbnROYW1lLCBhcHBseU1hcCk7CgogICAgICAgICAgICAgICAgICAgIC8vTm9ybWFsaXplZCBuYW1lIG1heSBiZSBhIHBsdWdpbiBJRCBkdWUgdG8gbWFwIGNvbmZpZwogICAgICAgICAgICAgICAgICAgIC8vYXBwbGljYXRpb24gaW4gbm9ybWFsaXplLiBUaGUgbWFwIGNvbmZpZyB2YWx1ZXMgbXVzdAogICAgICAgICAgICAgICAgICAgIC8vYWxyZWFkeSBiZSBub3JtYWxpemVkLCBzbyBkbyBub3QgbmVlZCB0byByZWRvIHRoYXQgcGFydC4KICAgICAgICAgICAgICAgICAgICBuYW1lUGFydHMgPSBzcGxpdFByZWZpeChub3JtYWxpemVkTmFtZSk7CiAgICAgICAgICAgICAgICAgICAgcHJlZml4ID0gbmFtZVBhcnRzWzBdOwogICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWROYW1lID0gbmFtZVBhcnRzWzFdOwogICAgICAgICAgICAgICAgICAgIGlzTm9ybWFsaXplZCA9IHRydWU7CgogICAgICAgICAgICAgICAgICAgIHVybCA9IGNvbnRleHQubmFtZVRvVXJsKG5vcm1hbGl6ZWROYW1lKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy9JZiB0aGUgaWQgaXMgYSBwbHVnaW4gaWQgdGhhdCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCBpZiBpdCBuZWVkcwogICAgICAgICAgICAvL25vcm1hbGl6YXRpb24sIHN0YW1wIGl0IHdpdGggYSB1bmlxdWUgSUQgc28gdHdvIG1hdGNoaW5nIHJlbGF0aXZlCiAgICAgICAgICAgIC8vaWRzIHRoYXQgbWF5IGNvbmZsaWN0IGNhbiBiZSBzZXBhcmF0ZS4KICAgICAgICAgICAgc3VmZml4ID0gcHJlZml4ICYmICFwbHVnaW5Nb2R1bGUgJiYgIWlzTm9ybWFsaXplZCA/CiAgICAgICAgICAgICAgICAgICAgICdfdW5ub3JtYWxpemVkJyArICh1bm5vcm1hbGl6ZWRDb3VudGVyICs9IDEpIDoKICAgICAgICAgICAgICAgICAgICAgJyc7CgogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgcHJlZml4OiBwcmVmaXgsCiAgICAgICAgICAgICAgICBuYW1lOiBub3JtYWxpemVkTmFtZSwKICAgICAgICAgICAgICAgIHBhcmVudE1hcDogcGFyZW50TW9kdWxlTWFwLAogICAgICAgICAgICAgICAgdW5ub3JtYWxpemVkOiAhIXN1ZmZpeCwKICAgICAgICAgICAgICAgIHVybDogdXJsLAogICAgICAgICAgICAgICAgb3JpZ2luYWxOYW1lOiBvcmlnaW5hbE5hbWUsCiAgICAgICAgICAgICAgICBpc0RlZmluZTogaXNEZWZpbmUsCiAgICAgICAgICAgICAgICBpZDogKHByZWZpeCA/CiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCArICchJyArIG5vcm1hbGl6ZWROYW1lIDoKICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZE5hbWUpICsgc3VmZml4CiAgICAgICAgICAgIH07CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBnZXRNb2R1bGUoZGVwTWFwKSB7CiAgICAgICAgICAgIHZhciBpZCA9IGRlcE1hcC5pZCwKICAgICAgICAgICAgICAgIG1vZCA9IGdldE93bihyZWdpc3RyeSwgaWQpOwoKICAgICAgICAgICAgaWYgKCFtb2QpIHsKICAgICAgICAgICAgICAgIG1vZCA9IHJlZ2lzdHJ5W2lkXSA9IG5ldyBjb250ZXh0Lk1vZHVsZShkZXBNYXApOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gbW9kOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gb24oZGVwTWFwLCBuYW1lLCBmbikgewogICAgICAgICAgICB2YXIgaWQgPSBkZXBNYXAuaWQsCiAgICAgICAgICAgICAgICBtb2QgPSBnZXRPd24ocmVnaXN0cnksIGlkKTsKCiAgICAgICAgICAgIGlmIChoYXNQcm9wKGRlZmluZWQsIGlkKSAmJgogICAgICAgICAgICAgICAgICAgICghbW9kIHx8IG1vZC5kZWZpbmVFbWl0Q29tcGxldGUpKSB7CiAgICAgICAgICAgICAgICBpZiAobmFtZSA9PT0gJ2RlZmluZWQnKSB7CiAgICAgICAgICAgICAgICAgICAgZm4oZGVmaW5lZFtpZF0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbW9kID0gZ2V0TW9kdWxlKGRlcE1hcCk7CiAgICAgICAgICAgICAgICBpZiAobW9kLmVycm9yICYmIG5hbWUgPT09ICdlcnJvcicpIHsKICAgICAgICAgICAgICAgICAgICBmbihtb2QuZXJyb3IpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBtb2Qub24obmFtZSwgZm4pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvbkVycm9yKGVyciwgZXJyYmFjaykgewogICAgICAgICAgICB2YXIgaWRzID0gZXJyLnJlcXVpcmVNb2R1bGVzLAogICAgICAgICAgICAgICAgbm90aWZpZWQgPSBmYWxzZTsKCiAgICAgICAgICAgIGlmIChlcnJiYWNrKSB7CiAgICAgICAgICAgICAgICBlcnJiYWNrKGVycik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlYWNoKGlkcywgZnVuY3Rpb24gKGlkKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG1vZCA9IGdldE93bihyZWdpc3RyeSwgaWQpOwogICAgICAgICAgICAgICAgICAgIGlmIChtb2QpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy9TZXQgZXJyb3Igb24gbW9kdWxlLCBzbyBpdCBza2lwcyB0aW1lb3V0IGNoZWNrcy4KICAgICAgICAgICAgICAgICAgICAgICAgbW9kLmVycm9yID0gZXJyOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kLmV2ZW50cy5lcnJvcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kLmVtaXQoJ2Vycm9yJywgZXJyKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIGlmICghbm90aWZpZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXEub25FcnJvcihlcnIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBJbnRlcm5hbCBtZXRob2QgdG8gdHJhbnNmZXIgZ2xvYmFsUXVldWUgaXRlbXMgdG8gdGhpcyBjb250ZXh0J3MKICAgICAgICAgKiBkZWZRdWV1ZS4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiB0YWtlR2xvYmFsUXVldWUoKSB7CiAgICAgICAgICAgIC8vUHVzaCBhbGwgdGhlIGdsb2JhbERlZlF1ZXVlIGl0ZW1zIGludG8gdGhlIGNvbnRleHQncyBkZWZRdWV1ZQogICAgICAgICAgICBpZiAoZ2xvYmFsRGVmUXVldWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBlYWNoKGdsb2JhbERlZlF1ZXVlLCBmdW5jdGlvbihxdWV1ZUl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaWQgPSBxdWV1ZUl0ZW1bMF07CiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBpZCA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5kZWZRdWV1ZU1hcFtpZF0gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBkZWZRdWV1ZS5wdXNoKHF1ZXVlSXRlbSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGdsb2JhbERlZlF1ZXVlID0gW107CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGhhbmRsZXJzID0gewogICAgICAgICAgICAncmVxdWlyZSc6IGZ1bmN0aW9uIChtb2QpIHsKICAgICAgICAgICAgICAgIGlmIChtb2QucmVxdWlyZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBtb2QucmVxdWlyZTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChtb2QucmVxdWlyZSA9IGNvbnRleHQubWFrZVJlcXVpcmUobW9kLm1hcCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAnZXhwb3J0cyc6IGZ1bmN0aW9uIChtb2QpIHsKICAgICAgICAgICAgICAgIG1vZC51c2luZ0V4cG9ydHMgPSB0cnVlOwogICAgICAgICAgICAgICAgaWYgKG1vZC5tYXAuaXNEZWZpbmUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAobW9kLmV4cG9ydHMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChkZWZpbmVkW21vZC5tYXAuaWRdID0gbW9kLmV4cG9ydHMpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAobW9kLmV4cG9ydHMgPSBkZWZpbmVkW21vZC5tYXAuaWRdID0ge30pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgJ21vZHVsZSc6IGZ1bmN0aW9uIChtb2QpIHsKICAgICAgICAgICAgICAgIGlmIChtb2QubW9kdWxlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vZC5tb2R1bGU7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAobW9kLm1vZHVsZSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IG1vZC5tYXAuaWQsCiAgICAgICAgICAgICAgICAgICAgICAgIHVyaTogbW9kLm1hcC51cmwsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZzogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldE93bihjb25maWcuY29uZmlnLCBtb2QubWFwLmlkKSB8fCB7fTsKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0czogbW9kLmV4cG9ydHMgfHwgKG1vZC5leHBvcnRzID0ge30pCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBmdW5jdGlvbiBjbGVhblJlZ2lzdHJ5KGlkKSB7CiAgICAgICAgICAgIC8vQ2xlYW4gdXAgbWFjaGluZXJ5IHVzZWQgZm9yIHdhaXRpbmcgbW9kdWxlcy4KICAgICAgICAgICAgZGVsZXRlIHJlZ2lzdHJ5W2lkXTsKICAgICAgICAgICAgZGVsZXRlIGVuYWJsZWRSZWdpc3RyeVtpZF07CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBicmVha0N5Y2xlKG1vZCwgdHJhY2VkLCBwcm9jZXNzZWQpIHsKICAgICAgICAgICAgdmFyIGlkID0gbW9kLm1hcC5pZDsKCiAgICAgICAgICAgIGlmIChtb2QuZXJyb3IpIHsKICAgICAgICAgICAgICAgIG1vZC5lbWl0KCdlcnJvcicsIG1vZC5lcnJvcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0cmFjZWRbaWRdID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGVhY2gobW9kLmRlcE1hcHMsIGZ1bmN0aW9uIChkZXBNYXAsIGkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZGVwSWQgPSBkZXBNYXAuaWQsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlcCA9IGdldE93bihyZWdpc3RyeSwgZGVwSWQpOwoKICAgICAgICAgICAgICAgICAgICAvL09ubHkgZm9yY2UgdGhpbmdzIHRoYXQgaGF2ZSBub3QgY29tcGxldGVkCiAgICAgICAgICAgICAgICAgICAgLy9iZWluZyBkZWZpbmVkLCBzbyBzdGlsbCBpbiB0aGUgcmVnaXN0cnksCiAgICAgICAgICAgICAgICAgICAgLy9hbmQgb25seSBpZiBpdCBoYXMgbm90IGJlZW4gbWF0Y2hlZCB1cAogICAgICAgICAgICAgICAgICAgIC8vaW4gdGhlIG1vZHVsZSBhbHJlYWR5LgogICAgICAgICAgICAgICAgICAgIGlmIChkZXAgJiYgIW1vZC5kZXBNYXRjaGVkW2ldICYmICFwcm9jZXNzZWRbZGVwSWRdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRPd24odHJhY2VkLCBkZXBJZCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZC5kZWZpbmVEZXAoaSwgZGVmaW5lZFtkZXBJZF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kLmNoZWNrKCk7IC8vcGFzcyBmYWxzZT8KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrQ3ljbGUoZGVwLCB0cmFjZWQsIHByb2Nlc3NlZCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHByb2Nlc3NlZFtpZF0gPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjaGVja0xvYWRlZCgpIHsKICAgICAgICAgICAgdmFyIGVyciwgdXNpbmdQYXRoRmFsbGJhY2ssCiAgICAgICAgICAgICAgICB3YWl0SW50ZXJ2YWwgPSBjb25maWcud2FpdFNlY29uZHMgKiAxMDAwLAogICAgICAgICAgICAgICAgLy9JdCBpcyBwb3NzaWJsZSB0byBkaXNhYmxlIHRoZSB3YWl0IGludGVydmFsIGJ5IHVzaW5nIHdhaXRTZWNvbmRzIG9mIDAuCiAgICAgICAgICAgICAgICBleHBpcmVkID0gd2FpdEludGVydmFsICYmIChjb250ZXh0LnN0YXJ0VGltZSArIHdhaXRJbnRlcnZhbCkgPCBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAgICAgICAgIG5vTG9hZHMgPSBbXSwKICAgICAgICAgICAgICAgIHJlcUNhbGxzID0gW10sCiAgICAgICAgICAgICAgICBzdGlsbExvYWRpbmcgPSBmYWxzZSwKICAgICAgICAgICAgICAgIG5lZWRDeWNsZUNoZWNrID0gdHJ1ZTsKCiAgICAgICAgICAgIC8vRG8gbm90IGJvdGhlciBpZiB0aGlzIGNhbGwgd2FzIGEgcmVzdWx0IG9mIGEgY3ljbGUgYnJlYWsuCiAgICAgICAgICAgIGlmIChpbkNoZWNrTG9hZGVkKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGluQ2hlY2tMb2FkZWQgPSB0cnVlOwoKICAgICAgICAgICAgLy9GaWd1cmUgb3V0IHRoZSBzdGF0ZSBvZiBhbGwgdGhlIG1vZHVsZXMuCiAgICAgICAgICAgIGVhY2hQcm9wKGVuYWJsZWRSZWdpc3RyeSwgZnVuY3Rpb24gKG1vZCkgewogICAgICAgICAgICAgICAgdmFyIG1hcCA9IG1vZC5tYXAsCiAgICAgICAgICAgICAgICAgICAgbW9kSWQgPSBtYXAuaWQ7CgogICAgICAgICAgICAgICAgLy9Ta2lwIHRoaW5ncyB0aGF0IGFyZSBub3QgZW5hYmxlZCBvciBpbiBlcnJvciBzdGF0ZS4KICAgICAgICAgICAgICAgIGlmICghbW9kLmVuYWJsZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCFtYXAuaXNEZWZpbmUpIHsKICAgICAgICAgICAgICAgICAgICByZXFDYWxscy5wdXNoKG1vZCk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCFtb2QuZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICAvL0lmIHRoZSBtb2R1bGUgc2hvdWxkIGJlIGV4ZWN1dGVkLCBhbmQgaXQgaGFzIG5vdAogICAgICAgICAgICAgICAgICAgIC8vYmVlbiBpbml0ZWQgYW5kIHRpbWUgaXMgdXAsIHJlbWVtYmVyIGl0LgogICAgICAgICAgICAgICAgICAgIGlmICghbW9kLmluaXRlZCAmJiBleHBpcmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNQYXRoRmFsbGJhY2sobW9kSWQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2luZ1BhdGhGYWxsYmFjayA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGlsbExvYWRpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9Mb2Fkcy5wdXNoKG1vZElkKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZVNjcmlwdChtb2RJZCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFtb2QuaW5pdGVkICYmIG1vZC5mZXRjaGVkICYmIG1hcC5pc0RlZmluZSkgewogICAgICAgICAgICAgICAgICAgICAgICBzdGlsbExvYWRpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1hcC5wcmVmaXgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vTm8gcmVhc29uIHRvIGtlZXAgbG9va2luZyBmb3IgdW5maW5pc2hlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9sb2FkaW5nLiBJZiB0aGUgb25seSBzdGlsbExvYWRpbmcgaXMgYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9wbHVnaW4gcmVzb3VyY2UgdGhvdWdoLCBrZWVwIGdvaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9iZWNhdXNlIGl0IG1heSBiZSB0aGF0IGEgcGx1Z2luIHJlc291cmNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2lzIHdhaXRpbmcgb24gYSBub24tcGx1Z2luIGN5Y2xlLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChuZWVkQ3ljbGVDaGVjayA9IGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBpZiAoZXhwaXJlZCAmJiBub0xvYWRzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgLy9JZiB3YWl0IHRpbWUgZXhwaXJlZCwgdGhyb3cgZXJyb3Igb2YgdW5sb2FkZWQgbW9kdWxlcy4KICAgICAgICAgICAgICAgIGVyciA9IG1ha2VFcnJvcigndGltZW91dCcsICdMb2FkIHRpbWVvdXQgZm9yIG1vZHVsZXM6ICcgKyBub0xvYWRzLCBudWxsLCBub0xvYWRzKTsKICAgICAgICAgICAgICAgIGVyci5jb250ZXh0TmFtZSA9IGNvbnRleHQuY29udGV4dE5hbWU7CiAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihlcnIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvL05vdCBleHBpcmVkLCBjaGVjayBmb3IgYSBjeWNsZS4KICAgICAgICAgICAgaWYgKG5lZWRDeWNsZUNoZWNrKSB7CiAgICAgICAgICAgICAgICBlYWNoKHJlcUNhbGxzLCBmdW5jdGlvbiAobW9kKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWtDeWNsZShtb2QsIHt9LCB7fSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy9JZiBzdGlsbCB3YWl0aW5nIG9uIGxvYWRzLCBhbmQgdGhlIHdhaXRpbmcgbG9hZCBpcyBzb21ldGhpbmcKICAgICAgICAgICAgLy9vdGhlciB0aGFuIGEgcGx1Z2luIHJlc291cmNlLCBvciB0aGVyZSBhcmUgc3RpbGwgb3V0c3RhbmRpbmcKICAgICAgICAgICAgLy9zY3JpcHRzLCB0aGVuIGp1c3QgdHJ5IGJhY2sgbGF0ZXIuCiAgICAgICAgICAgIGlmICgoIWV4cGlyZWQgfHwgdXNpbmdQYXRoRmFsbGJhY2spICYmIHN0aWxsTG9hZGluZykgewogICAgICAgICAgICAgICAgLy9Tb21ldGhpbmcgaXMgc3RpbGwgd2FpdGluZyB0byBsb2FkLiBXYWl0IGZvciBpdCwgYnV0IG9ubHkKICAgICAgICAgICAgICAgIC8vaWYgYSB0aW1lb3V0IGlzIG5vdCBhbHJlYWR5IGluIGVmZmVjdC4KICAgICAgICAgICAgICAgIGlmICgoaXNCcm93c2VyIHx8IGlzV2ViV29ya2VyKSAmJiAhY2hlY2tMb2FkZWRUaW1lb3V0SWQpIHsKICAgICAgICAgICAgICAgICAgICBjaGVja0xvYWRlZFRpbWVvdXRJZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBjaGVja0xvYWRlZFRpbWVvdXRJZCA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrTG9hZGVkKCk7CiAgICAgICAgICAgICAgICAgICAgfSwgNTApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBpbkNoZWNrTG9hZGVkID0gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBNb2R1bGUgPSBmdW5jdGlvbiAobWFwKSB7CiAgICAgICAgICAgIHRoaXMuZXZlbnRzID0gZ2V0T3duKHVuZGVmRXZlbnRzLCBtYXAuaWQpIHx8IHt9OwogICAgICAgICAgICB0aGlzLm1hcCA9IG1hcDsKICAgICAgICAgICAgdGhpcy5zaGltID0gZ2V0T3duKGNvbmZpZy5zaGltLCBtYXAuaWQpOwogICAgICAgICAgICB0aGlzLmRlcEV4cG9ydHMgPSBbXTsKICAgICAgICAgICAgdGhpcy5kZXBNYXBzID0gW107CiAgICAgICAgICAgIHRoaXMuZGVwTWF0Y2hlZCA9IFtdOwogICAgICAgICAgICB0aGlzLnBsdWdpbk1hcHMgPSB7fTsKICAgICAgICAgICAgdGhpcy5kZXBDb3VudCA9IDA7CgogICAgICAgICAgICAvKiB0aGlzLmV4cG9ydHMgdGhpcy5mYWN0b3J5CiAgICAgICAgICAgICAgIHRoaXMuZGVwTWFwcyA9IFtdLAogICAgICAgICAgICAgICB0aGlzLmVuYWJsZWQsIHRoaXMuZmV0Y2hlZAogICAgICAgICAgICAqLwogICAgICAgIH07CgogICAgICAgIE1vZHVsZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgIGluaXQ6IGZ1bmN0aW9uIChkZXBNYXBzLCBmYWN0b3J5LCBlcnJiYWNrLCBvcHRpb25zKSB7CiAgICAgICAgICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsKCiAgICAgICAgICAgICAgICAvL0RvIG5vdCBkbyBtb3JlIGluaXRzIGlmIGFscmVhZHkgZG9uZS4gQ2FuIGhhcHBlbiBpZiB0aGVyZQogICAgICAgICAgICAgICAgLy9hcmUgbXVsdGlwbGUgZGVmaW5lIGNhbGxzIGZvciB0aGUgc2FtZSBtb2R1bGUuIFRoYXQgaXMgbm90CiAgICAgICAgICAgICAgICAvL2Egbm9ybWFsLCBjb21tb24gY2FzZSwgYnV0IGl0IGlzIGFsc28gbm90IHVuZXhwZWN0ZWQuCiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbml0ZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdGhpcy5mYWN0b3J5ID0gZmFjdG9yeTsKCiAgICAgICAgICAgICAgICBpZiAoZXJyYmFjaykgewogICAgICAgICAgICAgICAgICAgIC8vUmVnaXN0ZXIgZm9yIGVycm9ycyBvbiB0aGlzIG1vZHVsZS4KICAgICAgICAgICAgICAgICAgICB0aGlzLm9uKCdlcnJvcicsIGVycmJhY2spOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmV2ZW50cy5lcnJvcikgewogICAgICAgICAgICAgICAgICAgIC8vSWYgbm8gZXJyYmFjayBhbHJlYWR5LCBidXQgdGhlcmUgYXJlIGVycm9yIGxpc3RlbmVycwogICAgICAgICAgICAgICAgICAgIC8vb24gdGhpcyBtb2R1bGUsIHNldCB1cCBhbiBlcnJiYWNrIHRvIHBhc3MgdG8gdGhlIGRlcHMuCiAgICAgICAgICAgICAgICAgICAgZXJyYmFjayA9IGJpbmQodGhpcywgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ2Vycm9yJywgZXJyKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvL0RvIGEgY29weSBvZiB0aGUgZGVwZW5kZW5jeSBhcnJheSwgc28gdGhhdAogICAgICAgICAgICAgICAgLy9zb3VyY2UgaW5wdXRzIGFyZSBub3QgbW9kaWZpZWQuIEZvciBleGFtcGxlCiAgICAgICAgICAgICAgICAvLyJzaGltIiBkZXBzIGFyZSBwYXNzZWQgaW4gaGVyZSBkaXJlY3RseSwgYW5kCiAgICAgICAgICAgICAgICAvL2RvaW5nIGEgZGlyZWN0IG1vZGlmaWNhdGlvbiBvZiB0aGUgZGVwTWFwcyBhcnJheQogICAgICAgICAgICAgICAgLy93b3VsZCBhZmZlY3QgdGhhdCBjb25maWcuCiAgICAgICAgICAgICAgICB0aGlzLmRlcE1hcHMgPSBkZXBNYXBzICYmIGRlcE1hcHMuc2xpY2UoMCk7CgogICAgICAgICAgICAgICAgdGhpcy5lcnJiYWNrID0gZXJyYmFjazsKCiAgICAgICAgICAgICAgICAvL0luZGljYXRlIHRoaXMgbW9kdWxlIGhhcyBiZSBpbml0aWFsaXplZAogICAgICAgICAgICAgICAgdGhpcy5pbml0ZWQgPSB0cnVlOwoKICAgICAgICAgICAgICAgIHRoaXMuaWdub3JlID0gb3B0aW9ucy5pZ25vcmU7CgogICAgICAgICAgICAgICAgLy9Db3VsZCBoYXZlIG9wdGlvbiB0byBpbml0IHRoaXMgbW9kdWxlIGluIGVuYWJsZWQgbW9kZSwKICAgICAgICAgICAgICAgIC8vb3IgY291bGQgaGF2ZSBiZWVuIHByZXZpb3VzbHkgbWFya2VkIGFzIGVuYWJsZWQuIEhvd2V2ZXIsCiAgICAgICAgICAgICAgICAvL3RoZSBkZXBlbmRlbmNpZXMgYXJlIG5vdCBrbm93biB1bnRpbCBpbml0IGlzIGNhbGxlZC4gU28KICAgICAgICAgICAgICAgIC8vaWYgZW5hYmxlZCBwcmV2aW91c2x5LCBub3cgdHJpZ2dlciBkZXBlbmRlbmNpZXMgYXMgZW5hYmxlZC4KICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmVuYWJsZWQgfHwgdGhpcy5lbmFibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgLy9FbmFibGUgdGhpcyBtb2R1bGUgYW5kIGRlcGVuZGVuY2llcy4KICAgICAgICAgICAgICAgICAgICAvL1dpbGwgY2FsbCB0aGlzLmNoZWNrKCkKICAgICAgICAgICAgICAgICAgICB0aGlzLmVuYWJsZSgpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBkZWZpbmVEZXA6IGZ1bmN0aW9uIChpLCBkZXBFeHBvcnRzKSB7CiAgICAgICAgICAgICAgICAvL0JlY2F1c2Ugb2YgY3ljbGVzLCBkZWZpbmVkIGNhbGxiYWNrIGZvciBhIGdpdmVuCiAgICAgICAgICAgICAgICAvL2V4cG9ydCBjYW4gYmUgY2FsbGVkIG1vcmUgdGhhbiBvbmNlLgogICAgICAgICAgICAgICAgaWYgKCF0aGlzLmRlcE1hdGNoZWRbaV0pIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcE1hdGNoZWRbaV0gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIHRoaXMuZGVwQ291bnQgLT0gMTsKICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcEV4cG9ydHNbaV0gPSBkZXBFeHBvcnRzOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAoKICAgICAgICAgICAgZmV0Y2g6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLmZldGNoZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB0aGlzLmZldGNoZWQgPSB0cnVlOwoKICAgICAgICAgICAgICAgIGNvbnRleHQuc3RhcnRUaW1lID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTsKCiAgICAgICAgICAgICAgICB2YXIgbWFwID0gdGhpcy5tYXA7CgogICAgICAgICAgICAgICAgLy9JZiB0aGUgbWFuYWdlciBpcyBmb3IgYSBwbHVnaW4gbWFuYWdlZCByZXNvdXJjZSwKICAgICAgICAgICAgICAgIC8vYXNrIHRoZSBwbHVnaW4gdG8gbG9hZCBpdCBub3cuCiAgICAgICAgICAgICAgICBpZiAodGhpcy5zaGltKSB7CiAgICAgICAgICAgICAgICAgICAgY29udGV4dC5tYWtlUmVxdWlyZSh0aGlzLm1hcCwgewogICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVCdWlsZENhbGxiYWNrOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgfSkodGhpcy5zaGltLmRlcHMgfHwgW10sIGJpbmQodGhpcywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFwLnByZWZpeCA/IHRoaXMuY2FsbFBsdWdpbigpIDogdGhpcy5sb2FkKCk7CiAgICAgICAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvL1JlZ3VsYXIgZGVwZW5kZW5jeS4KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFwLnByZWZpeCA/IHRoaXMuY2FsbFBsdWdpbigpIDogdGhpcy5sb2FkKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YXIgdXJsID0gdGhpcy5tYXAudXJsOwoKICAgICAgICAgICAgICAgIC8vUmVndWxhciBkZXBlbmRlbmN5LgogICAgICAgICAgICAgICAgaWYgKCF1cmxGZXRjaGVkW3VybF0pIHsKICAgICAgICAgICAgICAgICAgICB1cmxGZXRjaGVkW3VybF0gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIGNvbnRleHQubG9hZCh0aGlzLm1hcC5pZCwgdXJsKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDaGVja3MgaWYgdGhlIG1vZHVsZSBpcyByZWFkeSB0byBkZWZpbmUgaXRzZWxmLCBhbmQgaWYgc28sCiAgICAgICAgICAgICAqIGRlZmluZSBpdC4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGNoZWNrOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZW5hYmxlZCB8fCB0aGlzLmVuYWJsaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBlcnIsIGNqc01vZHVsZSwKICAgICAgICAgICAgICAgICAgICBpZCA9IHRoaXMubWFwLmlkLAogICAgICAgICAgICAgICAgICAgIGRlcEV4cG9ydHMgPSB0aGlzLmRlcEV4cG9ydHMsCiAgICAgICAgICAgICAgICAgICAgZXhwb3J0cyA9IHRoaXMuZXhwb3J0cywKICAgICAgICAgICAgICAgICAgICBmYWN0b3J5ID0gdGhpcy5mYWN0b3J5OwoKICAgICAgICAgICAgICAgIGlmICghdGhpcy5pbml0ZWQpIHsKICAgICAgICAgICAgICAgICAgICAvLyBPbmx5IGZldGNoIGlmIG5vdCBhbHJlYWR5IGluIHRoZSBkZWZRdWV1ZS4KICAgICAgICAgICAgICAgICAgICBpZiAoIWhhc1Byb3AoY29udGV4dC5kZWZRdWV1ZU1hcCwgaWQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmV0Y2goKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ2Vycm9yJywgdGhpcy5lcnJvcik7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmRlZmluaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgLy9UaGUgZmFjdG9yeSBjb3VsZCB0cmlnZ2VyIGFub3RoZXIgcmVxdWlyZSBjYWxsCiAgICAgICAgICAgICAgICAgICAgLy90aGF0IHdvdWxkIHJlc3VsdCBpbiBjaGVja2luZyB0aGlzIG1vZHVsZSB0bwogICAgICAgICAgICAgICAgICAgIC8vZGVmaW5lIGl0c2VsZiBhZ2Fpbi4gSWYgYWxyZWFkeSBpbiB0aGUgcHJvY2VzcwogICAgICAgICAgICAgICAgICAgIC8vb2YgZG9pbmcgdGhhdCwgc2tpcCB0aGlzIHdvcmsuCiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWZpbmluZyA9IHRydWU7CgogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlcENvdW50IDwgMSAmJiAhdGhpcy5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKGZhY3RvcnkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0lmIHRoZXJlIGlzIGFuIGVycm9yIGxpc3RlbmVyLCBmYXZvciBwYXNzaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3RvIHRoYXQgaW5zdGVhZCBvZiB0aHJvd2luZyBhbiBlcnJvci4gSG93ZXZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vb25seSBkbyBpdCBmb3IgZGVmaW5lKCknZCAgbW9kdWxlcy4gcmVxdWlyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9lcnJiYWNrcyBzaG91bGQgbm90IGJlIGNhbGxlZCBmb3IgZmFpbHVyZXMgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vdGhlaXIgY2FsbGJhY2tzICgjNjk5KS4gSG93ZXZlciBpZiBhIGdsb2JhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9vbkVycm9yIGlzIHNldCwgdXNlIHRoYXQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHRoaXMuZXZlbnRzLmVycm9yICYmIHRoaXMubWFwLmlzRGVmaW5lKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5vbkVycm9yICE9PSBkZWZhdWx0T25FcnJvcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9ydHMgPSBjb250ZXh0LmV4ZWNDYihpZCwgZmFjdG9yeSwgZGVwRXhwb3J0cywgZXhwb3J0cyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnIgPSBlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0cyA9IGNvbnRleHQuZXhlY0NiKGlkLCBmYWN0b3J5LCBkZXBFeHBvcnRzLCBleHBvcnRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGYXZvciByZXR1cm4gdmFsdWUgb3ZlciBleHBvcnRzLiBJZiBub2RlL2NqcyBpbiBwbGF5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlbiB3aWxsIG5vdCBoYXZlIGEgcmV0dXJuIHZhbHVlIGFueXdheS4gRmF2b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1vZHVsZS5leHBvcnRzIGFzc2lnbm1lbnQgb3ZlciBleHBvcnRzIG9iamVjdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1hcC5pc0RlZmluZSAmJiBleHBvcnRzID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjanNNb2R1bGUgPSB0aGlzLm1vZHVsZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2pzTW9kdWxlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9ydHMgPSBjanNNb2R1bGUuZXhwb3J0czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudXNpbmdFeHBvcnRzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZXhwb3J0cyBhbHJlYWR5IHNldCB0aGUgZGVmaW5lZCB2YWx1ZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0cyA9IHRoaXMuZXhwb3J0czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyci5yZXF1aXJlTWFwID0gdGhpcy5tYXA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyLnJlcXVpcmVNb2R1bGVzID0gdGhpcy5tYXAuaXNEZWZpbmUgPyBbdGhpcy5tYXAuaWRdIDogbnVsbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnIucmVxdWlyZVR5cGUgPSB0aGlzLm1hcC5pc0RlZmluZSA/ICdkZWZpbmUnIDogJ3JlcXVpcmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvbkVycm9yKCh0aGlzLmVycm9yID0gZXJyKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9KdXN0IGEgbGl0ZXJhbCB2YWx1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0cyA9IGZhY3Rvcnk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwb3J0cyA9IGV4cG9ydHM7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXAuaXNEZWZpbmUgJiYgIXRoaXMuaWdub3JlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVkW2lkXSA9IGV4cG9ydHM7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcS5vblJlc291cmNlTG9hZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXNMb2FkTWFwcyA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhY2godGhpcy5kZXBNYXBzLCBmdW5jdGlvbiAoZGVwTWFwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc0xvYWRNYXBzLnB1c2goZGVwTWFwLm5vcm1hbGl6ZWRNYXAgfHwgZGVwTWFwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEub25SZXNvdXJjZUxvYWQoY29udGV4dCwgdGhpcy5tYXAsIHJlc0xvYWRNYXBzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgLy9DbGVhbiB1cAogICAgICAgICAgICAgICAgICAgICAgICBjbGVhblJlZ2lzdHJ5KGlkKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAvL0ZpbmlzaGVkIHRoZSBkZWZpbmUgc3RhZ2UuIEFsbG93IGNhbGxpbmcgY2hlY2sgYWdhaW4KICAgICAgICAgICAgICAgICAgICAvL3RvIGFsbG93IGRlZmluZSBub3RpZmljYXRpb25zIGJlbG93IGluIHRoZSBjYXNlIG9mIGEKICAgICAgICAgICAgICAgICAgICAvL2N5Y2xlLgogICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5pbmcgPSBmYWxzZTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmaW5lZCAmJiAhdGhpcy5kZWZpbmVFbWl0dGVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lRW1pdHRlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdCgnZGVmaW5lZCcsIHRoaXMuZXhwb3J0cyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lRW1pdENvbXBsZXRlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAoKICAgICAgICAgICAgY2FsbFBsdWdpbjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgdmFyIG1hcCA9IHRoaXMubWFwLAogICAgICAgICAgICAgICAgICAgIGlkID0gbWFwLmlkLAogICAgICAgICAgICAgICAgICAgIC8vTWFwIGFscmVhZHkgbm9ybWFsaXplZCB0aGUgcHJlZml4LgogICAgICAgICAgICAgICAgICAgIHBsdWdpbk1hcCA9IG1ha2VNb2R1bGVNYXAobWFwLnByZWZpeCk7CgogICAgICAgICAgICAgICAgLy9NYXJrIHRoaXMgYXMgYSBkZXBlbmRlbmN5IGZvciB0aGlzIHBsdWdpbiwgc28gaXQKICAgICAgICAgICAgICAgIC8vY2FuIGJlIHRyYWNlZCBmb3IgY3ljbGVzLgogICAgICAgICAgICAgICAgdGhpcy5kZXBNYXBzLnB1c2gocGx1Z2luTWFwKTsKCiAgICAgICAgICAgICAgICBvbihwbHVnaW5NYXAsICdkZWZpbmVkJywgYmluZCh0aGlzLCBmdW5jdGlvbiAocGx1Z2luKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGxvYWQsIG5vcm1hbGl6ZWRNYXAsIG5vcm1hbGl6ZWRNb2QsCiAgICAgICAgICAgICAgICAgICAgICAgIGJ1bmRsZUlkID0gZ2V0T3duKGJ1bmRsZXNNYXAsIHRoaXMubWFwLmlkKSwKICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHRoaXMubWFwLm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudE5hbWUgPSB0aGlzLm1hcC5wYXJlbnRNYXAgPyB0aGlzLm1hcC5wYXJlbnRNYXAubmFtZSA6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsUmVxdWlyZSA9IGNvbnRleHQubWFrZVJlcXVpcmUobWFwLnBhcmVudE1hcCwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlQnVpbGRDYWxsYmFjazogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgLy9JZiBjdXJyZW50IG1hcCBpcyBub3Qgbm9ybWFsaXplZCwgd2FpdCBmb3IgdGhhdAogICAgICAgICAgICAgICAgICAgIC8vbm9ybWFsaXplZCBuYW1lIHRvIGxvYWQgaW5zdGVhZCBvZiBjb250aW51aW5nLgogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1hcC51bm5vcm1hbGl6ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy9Ob3JtYWxpemUgdGhlIElEIGlmIHRoZSBwbHVnaW4gYWxsb3dzIGl0LgogICAgICAgICAgICAgICAgICAgICAgICBpZiAocGx1Z2luLm5vcm1hbGl6ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHBsdWdpbi5ub3JtYWxpemUobmFtZSwgZnVuY3Rpb24gKG5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9ybWFsaXplKG5hbWUsIHBhcmVudE5hbWUsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIC8vcHJlZml4IGFuZCBuYW1lIHNob3VsZCBhbHJlYWR5IGJlIG5vcm1hbGl6ZWQsIG5vIG5lZWQKICAgICAgICAgICAgICAgICAgICAgICAgLy9mb3IgYXBwbHlpbmcgbWFwIGNvbmZpZyBhZ2FpbiBlaXRoZXIuCiAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRNYXAgPSBtYWtlTW9kdWxlTWFwKG1hcC5wcmVmaXggKyAnIScgKyBuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcC5wYXJlbnRNYXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICBvbihub3JtYWxpemVkTWFwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlZmluZWQnLCBiaW5kKHRoaXMsIGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWFwLm5vcm1hbGl6ZWRNYXAgPSBub3JtYWxpemVkTWFwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdChbXSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdmFsdWU7IH0sIG51bGwsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7CgogICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkTW9kID0gZ2V0T3duKHJlZ2lzdHJ5LCBub3JtYWxpemVkTWFwLmlkKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vcm1hbGl6ZWRNb2QpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vTWFyayB0aGlzIGFzIGEgZGVwZW5kZW5jeSBmb3IgdGhpcyBwbHVnaW4sIHNvIGl0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2NhbiBiZSB0cmFjZWQgZm9yIGN5Y2xlcy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVwTWFwcy5wdXNoKG5vcm1hbGl6ZWRNYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmV2ZW50cy5lcnJvcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRNb2Qub24oJ2Vycm9yJywgYmluZCh0aGlzLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdCgnZXJyb3InLCBlcnIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRNb2QuZW5hYmxlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIC8vSWYgYSBwYXRocyBjb25maWcsIHRoZW4ganVzdCBsb2FkIHRoYXQgZmlsZSBpbnN0ZWFkIHRvCiAgICAgICAgICAgICAgICAgICAgLy9yZXNvbHZlIHRoZSBwbHVnaW4sIGFzIGl0IGlzIGJ1aWx0IGludG8gdGhhdCBwYXRocyBsYXllci4KICAgICAgICAgICAgICAgICAgICBpZiAoYnVuZGxlSWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXAudXJsID0gY29udGV4dC5uYW1lVG9VcmwoYnVuZGxlSWQpOwogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgbG9hZCA9IGJpbmQodGhpcywgZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdChbXSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdmFsdWU7IH0sIG51bGwsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgIGxvYWQuZXJyb3IgPSBiaW5kKHRoaXMsIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0ZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yID0gZXJyOwogICAgICAgICAgICAgICAgICAgICAgICBlcnIucmVxdWlyZU1vZHVsZXMgPSBbaWRdOwoKICAgICAgICAgICAgICAgICAgICAgICAgLy9SZW1vdmUgdGVtcCB1bm5vcm1hbGl6ZWQgbW9kdWxlcyBmb3IgdGhpcyBtb2R1bGUsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vc2luY2UgdGhleSB3aWxsIG5ldmVyIGJlIHJlc29sdmVkIG90aGVyd2lzZSBub3cuCiAgICAgICAgICAgICAgICAgICAgICAgIGVhY2hQcm9wKHJlZ2lzdHJ5LCBmdW5jdGlvbiAobW9kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kLm1hcC5pZC5pbmRleE9mKGlkICsgJ191bm5vcm1hbGl6ZWQnKSA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFuUmVnaXN0cnkobW9kLm1hcC5pZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgb25FcnJvcihlcnIpOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAvL0FsbG93IHBsdWdpbnMgdG8gbG9hZCBvdGhlciBjb2RlIHdpdGhvdXQgaGF2aW5nIHRvIGtub3cgdGhlCiAgICAgICAgICAgICAgICAgICAgLy9jb250ZXh0IG9yIGhvdyB0byAnY29tcGxldGUnIHRoZSBsb2FkLgogICAgICAgICAgICAgICAgICAgIGxvYWQuZnJvbVRleHQgPSBiaW5kKHRoaXMsIGZ1bmN0aW9uICh0ZXh0LCB0ZXh0QWx0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8qanNsaW50IGV2aWw6IHRydWUgKi8KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1vZHVsZU5hbWUgPSBtYXAubmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZU1hcCA9IG1ha2VNb2R1bGVNYXAobW9kdWxlTmFtZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNJbnRlcmFjdGl2ZSA9IHVzZUludGVyYWN0aXZlOwoKICAgICAgICAgICAgICAgICAgICAgICAgLy9BcyBvZiAyLjEuMCwgc3VwcG9ydCBqdXN0IHBhc3NpbmcgdGhlIHRleHQsIHRvIHJlaW5mb3JjZQogICAgICAgICAgICAgICAgICAgICAgICAvL2Zyb21UZXh0IG9ubHkgYmVpbmcgY2FsbGVkIG9uY2UgcGVyIHJlc291cmNlLiBTdGlsbAogICAgICAgICAgICAgICAgICAgICAgICAvL3N1cHBvcnQgb2xkIHN0eWxlIG9mIHBhc3NpbmcgbW9kdWxlTmFtZSBidXQgZGlzY2FyZAogICAgICAgICAgICAgICAgICAgICAgICAvL3RoYXQgbW9kdWxlTmFtZSBpbiBmYXZvciBvZiB0aGUgaW50ZXJuYWwgcmVmLgogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGV4dEFsdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA9IHRleHRBbHQ7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIC8vVHVybiBvZmYgaW50ZXJhY3RpdmUgc2NyaXB0IG1hdGNoaW5nIGZvciBJRSBmb3IgYW55IGRlZmluZQogICAgICAgICAgICAgICAgICAgICAgICAvL2NhbGxzIGluIHRoZSB0ZXh0LCB0aGVuIHR1cm4gaXQgYmFjayBvbiBhdCB0aGUgZW5kLgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzSW50ZXJhY3RpdmUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZUludGVyYWN0aXZlID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIC8vUHJpbWUgdGhlIHN5c3RlbSBieSBjcmVhdGluZyBhIG1vZHVsZSBpbnN0YW5jZSBmb3IKICAgICAgICAgICAgICAgICAgICAgICAgLy9pdC4KICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TW9kdWxlKG1vZHVsZU1hcCk7CgogICAgICAgICAgICAgICAgICAgICAgICAvL1RyYW5zZmVyIGFueSBjb25maWcgdG8gdGhpcyBvdGhlciBtb2R1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNQcm9wKGNvbmZpZy5jb25maWcsIGlkKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLmNvbmZpZ1ttb2R1bGVOYW1lXSA9IGNvbmZpZy5jb25maWdbaWRdOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLmV4ZWModGV4dCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvbkVycm9yKG1ha2VFcnJvcignZnJvbXRleHRldmFsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zyb21UZXh0IGV2YWwgZm9yICcgKyBpZCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBmYWlsZWQ6ICcgKyBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNJbnRlcmFjdGl2ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlSW50ZXJhY3RpdmUgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAvL01hcmsgdGhpcyBhcyBhIGRlcGVuZGVuY3kgZm9yIHRoZSBwbHVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgLy9yZXNvdXJjZQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcE1hcHMucHVzaChtb2R1bGVNYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgLy9TdXBwb3J0IGFub255bW91cyBtb2R1bGVzLgogICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmNvbXBsZXRlTG9hZChtb2R1bGVOYW1lKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIC8vQmluZCB0aGUgdmFsdWUgb2YgdGhhdCBtb2R1bGUgdG8gdGhlIHZhbHVlIGZvciB0aGlzCiAgICAgICAgICAgICAgICAgICAgICAgIC8vcmVzb3VyY2UgSUQuCiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsUmVxdWlyZShbbW9kdWxlTmFtZV0sIGxvYWQpOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAvL1VzZSBwYXJlbnROYW1lIGhlcmUgc2luY2UgdGhlIHBsdWdpbidzIG5hbWUgaXMgbm90IHJlbGlhYmxlLAogICAgICAgICAgICAgICAgICAgIC8vY291bGQgYmUgc29tZSB3ZWlyZCBzdHJpbmcgd2l0aCBubyBwYXRoIHRoYXQgYWN0dWFsbHkgd2FudHMgdG8KICAgICAgICAgICAgICAgICAgICAvL3JlZmVyZW5jZSB0aGUgcGFyZW50TmFtZSdzIHBhdGguCiAgICAgICAgICAgICAgICAgICAgcGx1Z2luLmxvYWQobWFwLm5hbWUsIGxvY2FsUmVxdWlyZSwgbG9hZCwgY29uZmlnKTsKICAgICAgICAgICAgICAgIH0pKTsKCiAgICAgICAgICAgICAgICBjb250ZXh0LmVuYWJsZShwbHVnaW5NYXAsIHRoaXMpOwogICAgICAgICAgICAgICAgdGhpcy5wbHVnaW5NYXBzW3BsdWdpbk1hcC5pZF0gPSBwbHVnaW5NYXA7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBlbmFibGU6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGVuYWJsZWRSZWdpc3RyeVt0aGlzLm1hcC5pZF0gPSB0aGlzOwogICAgICAgICAgICAgICAgdGhpcy5lbmFibGVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICAvL1NldCBmbGFnIG1lbnRpb25pbmcgdGhhdCB0aGUgbW9kdWxlIGlzIGVuYWJsaW5nLAogICAgICAgICAgICAgICAgLy9zbyB0aGF0IGltbWVkaWF0ZSBjYWxscyB0byB0aGUgZGVmaW5lZCBjYWxsYmFja3MKICAgICAgICAgICAgICAgIC8vZm9yIGRlcGVuZGVuY2llcyBkbyBub3QgdHJpZ2dlciBpbmFkdmVydGVudCBsb2FkCiAgICAgICAgICAgICAgICAvL3dpdGggdGhlIGRlcENvdW50IHN0aWxsIGJlaW5nIHplcm8uCiAgICAgICAgICAgICAgICB0aGlzLmVuYWJsaW5nID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICAvL0VuYWJsZSBlYWNoIGRlcGVuZGVuY3kKICAgICAgICAgICAgICAgIGVhY2godGhpcy5kZXBNYXBzLCBiaW5kKHRoaXMsIGZ1bmN0aW9uIChkZXBNYXAsIGkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaWQsIG1vZCwgaGFuZGxlcjsKCiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBkZXBNYXAgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vRGVwZW5kZW5jeSBuZWVkcyB0byBiZSBjb252ZXJ0ZWQgdG8gYSBkZXBNYXAKICAgICAgICAgICAgICAgICAgICAgICAgLy9hbmQgd2lyZWQgdXAgdG8gdGhpcyBtb2R1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIGRlcE1hcCA9IG1ha2VNb2R1bGVNYXAoZGVwTWFwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLm1hcC5pc0RlZmluZSA/IHRoaXMubWFwIDogdGhpcy5tYXAucGFyZW50TWFwKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5za2lwTWFwKTsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXBNYXBzW2ldID0gZGVwTWFwOwoKICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlciA9IGdldE93bihoYW5kbGVycywgZGVwTWFwLmlkKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYW5kbGVyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcEV4cG9ydHNbaV0gPSBoYW5kbGVyKHRoaXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcENvdW50ICs9IDE7CgogICAgICAgICAgICAgICAgICAgICAgICBvbihkZXBNYXAsICdkZWZpbmVkJywgYmluZCh0aGlzLCBmdW5jdGlvbiAoZGVwRXhwb3J0cykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudW5kZWZlZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lRGVwKGksIGRlcEV4cG9ydHMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVjaygpOwogICAgICAgICAgICAgICAgICAgICAgICB9KSk7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5lcnJiYWNrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbihkZXBNYXAsICdlcnJvcicsIGJpbmQodGhpcywgdGhpcy5lcnJiYWNrKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5ldmVudHMuZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vIGRpcmVjdCBlcnJiYWNrIG9uIHRoaXMgbW9kdWxlLCBidXQgc29tZXRoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlbHNlIGlzIGxpc3RlbmluZyBmb3IgZXJyb3JzLCBzbyBiZSBzdXJlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwcm9wYWdhdGUgdGhlIGVycm9yIGNvcnJlY3RseS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uKGRlcE1hcCwgJ2Vycm9yJywgYmluZCh0aGlzLCBmdW5jdGlvbihlcnIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ2Vycm9yJywgZXJyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWQgPSBkZXBNYXAuaWQ7CiAgICAgICAgICAgICAgICAgICAgbW9kID0gcmVnaXN0cnlbaWRdOwoKICAgICAgICAgICAgICAgICAgICAvL1NraXAgc3BlY2lhbCBtb2R1bGVzIGxpa2UgJ3JlcXVpcmUnLCAnZXhwb3J0cycsICdtb2R1bGUnCiAgICAgICAgICAgICAgICAgICAgLy9BbHNvLCBkb24ndCBjYWxsIGVuYWJsZSBpZiBpdCBpcyBhbHJlYWR5IGVuYWJsZWQsCiAgICAgICAgICAgICAgICAgICAgLy9pbXBvcnRhbnQgaW4gY2lyY3VsYXIgZGVwZW5kZW5jeSBjYXNlcy4KICAgICAgICAgICAgICAgICAgICBpZiAoIWhhc1Byb3AoaGFuZGxlcnMsIGlkKSAmJiBtb2QgJiYgIW1vZC5lbmFibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuZW5hYmxlKGRlcE1hcCwgdGhpcyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkpOwoKICAgICAgICAgICAgICAgIC8vRW5hYmxlIGVhY2ggcGx1Z2luIHRoYXQgaXMgdXNlZCBpbgogICAgICAgICAgICAgICAgLy9hIGRlcGVuZGVuY3kKICAgICAgICAgICAgICAgIGVhY2hQcm9wKHRoaXMucGx1Z2luTWFwcywgYmluZCh0aGlzLCBmdW5jdGlvbiAocGx1Z2luTWFwKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG1vZCA9IGdldE93bihyZWdpc3RyeSwgcGx1Z2luTWFwLmlkKTsKICAgICAgICAgICAgICAgICAgICBpZiAobW9kICYmICFtb2QuZW5hYmxlZCkgewogICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmVuYWJsZShwbHVnaW5NYXAsIHRoaXMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pKTsKCiAgICAgICAgICAgICAgICB0aGlzLmVuYWJsaW5nID0gZmFsc2U7CgogICAgICAgICAgICAgICAgdGhpcy5jaGVjaygpOwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgb246IGZ1bmN0aW9uIChuYW1lLCBjYikgewogICAgICAgICAgICAgICAgdmFyIGNicyA9IHRoaXMuZXZlbnRzW25hbWVdOwogICAgICAgICAgICAgICAgaWYgKCFjYnMpIHsKICAgICAgICAgICAgICAgICAgICBjYnMgPSB0aGlzLmV2ZW50c1tuYW1lXSA9IFtdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY2JzLnB1c2goY2IpOwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgZW1pdDogZnVuY3Rpb24gKG5hbWUsIGV2dCkgewogICAgICAgICAgICAgICAgZWFjaCh0aGlzLmV2ZW50c1tuYW1lXSwgZnVuY3Rpb24gKGNiKSB7CiAgICAgICAgICAgICAgICAgICAgY2IoZXZ0KTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgaWYgKG5hbWUgPT09ICdlcnJvcicpIHsKICAgICAgICAgICAgICAgICAgICAvL05vdyB0aGF0IHRoZSBlcnJvciBoYW5kbGVyIHdhcyB0cmlnZ2VyZWQsIHJlbW92ZQogICAgICAgICAgICAgICAgICAgIC8vdGhlIGxpc3RlbmVycywgc2luY2UgdGhpcyBicm9rZW4gTW9kdWxlIGluc3RhbmNlCiAgICAgICAgICAgICAgICAgICAgLy9jYW4gc3RheSBhcm91bmQgZm9yIGEgd2hpbGUgaW4gdGhlIHJlZ2lzdHJ5LgogICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmV2ZW50c1tuYW1lXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIGZ1bmN0aW9uIGNhbGxHZXRNb2R1bGUoYXJncykgewogICAgICAgICAgICAvL1NraXAgbW9kdWxlcyBhbHJlYWR5IGRlZmluZWQuCiAgICAgICAgICAgIGlmICghaGFzUHJvcChkZWZpbmVkLCBhcmdzWzBdKSkgewogICAgICAgICAgICAgICAgZ2V0TW9kdWxlKG1ha2VNb2R1bGVNYXAoYXJnc1swXSwgbnVsbCwgdHJ1ZSkpLmluaXQoYXJnc1sxXSwgYXJnc1syXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHJlbW92ZUxpc3RlbmVyKG5vZGUsIGZ1bmMsIG5hbWUsIGllTmFtZSkgewogICAgICAgICAgICAvL0Zhdm9yIGRldGFjaEV2ZW50IGJlY2F1c2Ugb2YgSUU5CiAgICAgICAgICAgIC8vaXNzdWUsIHNlZSBhdHRhY2hFdmVudC9hZGRFdmVudExpc3RlbmVyIGNvbW1lbnQgZWxzZXdoZXJlCiAgICAgICAgICAgIC8vaW4gdGhpcyBmaWxlLgogICAgICAgICAgICBpZiAobm9kZS5kZXRhY2hFdmVudCAmJiAhaXNPcGVyYSkgewogICAgICAgICAgICAgICAgLy9Qcm9iYWJseSBJRS4gSWYgbm90IGl0IHdpbGwgdGhyb3cgYW4gZXJyb3IsIHdoaWNoIHdpbGwgYmUKICAgICAgICAgICAgICAgIC8vdXNlZnVsIHRvIGtub3cuCiAgICAgICAgICAgICAgICBpZiAoaWVOYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgbm9kZS5kZXRhY2hFdmVudChpZU5hbWUsIGZ1bmMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKG5hbWUsIGZ1bmMsIGZhbHNlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogR2l2ZW4gYW4gZXZlbnQgZnJvbSBhIHNjcmlwdCBub2RlLCBnZXQgdGhlIHJlcXVpcmVqcyBpbmZvIGZyb20gaXQsCiAgICAgICAgICogYW5kIHRoZW4gcmVtb3ZlcyB0aGUgZXZlbnQgbGlzdGVuZXJzIG9uIHRoZSBub2RlLgogICAgICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2dAogICAgICAgICAqIEByZXR1cm5zIHtPYmplY3R9CiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0U2NyaXB0RGF0YShldnQpIHsKICAgICAgICAgICAgLy9Vc2luZyBjdXJyZW50VGFyZ2V0IGluc3RlYWQgb2YgdGFyZ2V0IGZvciBGaXJlZm94IDIuMCdzIHNha2UuIE5vdAogICAgICAgICAgICAvL2FsbCBvbGQgYnJvd3NlcnMgd2lsbCBiZSBzdXBwb3J0ZWQsIGJ1dCB0aGlzIG9uZSB3YXMgZWFzeSBlbm91Z2gKICAgICAgICAgICAgLy90byBzdXBwb3J0IGFuZCBzdGlsbCBtYWtlcyBzZW5zZS4KICAgICAgICAgICAgdmFyIG5vZGUgPSBldnQuY3VycmVudFRhcmdldCB8fCBldnQuc3JjRWxlbWVudDsKCiAgICAgICAgICAgIC8vUmVtb3ZlIHRoZSBsaXN0ZW5lcnMgb25jZSBoZXJlLgogICAgICAgICAgICByZW1vdmVMaXN0ZW5lcihub2RlLCBjb250ZXh0Lm9uU2NyaXB0TG9hZCwgJ2xvYWQnLCAnb25yZWFkeXN0YXRlY2hhbmdlJyk7CiAgICAgICAgICAgIHJlbW92ZUxpc3RlbmVyKG5vZGUsIGNvbnRleHQub25TY3JpcHRFcnJvciwgJ2Vycm9yJyk7CgogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgbm9kZTogbm9kZSwKICAgICAgICAgICAgICAgIGlkOiBub2RlICYmIG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLXJlcXVpcmVtb2R1bGUnKQogICAgICAgICAgICB9OwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gaW50YWtlRGVmaW5lcygpIHsKICAgICAgICAgICAgdmFyIGFyZ3M7CgogICAgICAgICAgICAvL0FueSBkZWZpbmVkIG1vZHVsZXMgaW4gdGhlIGdsb2JhbCBxdWV1ZSwgaW50YWtlIHRoZW0gbm93LgogICAgICAgICAgICB0YWtlR2xvYmFsUXVldWUoKTsKCiAgICAgICAgICAgIC8vTWFrZSBzdXJlIGFueSByZW1haW5pbmcgZGVmUXVldWUgaXRlbXMgZ2V0IHByb3Blcmx5IHByb2Nlc3NlZC4KICAgICAgICAgICAgd2hpbGUgKGRlZlF1ZXVlLmxlbmd0aCkgewogICAgICAgICAgICAgICAgYXJncyA9IGRlZlF1ZXVlLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICBpZiAoYXJnc1swXSA9PT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBvbkVycm9yKG1ha2VFcnJvcignbWlzbWF0Y2gnLCAnTWlzbWF0Y2hlZCBhbm9ueW1vdXMgZGVmaW5lKCkgbW9kdWxlOiAnICsKICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1thcmdzLmxlbmd0aCAtIDFdKSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vYXJncyBhcmUgaWQsIGRlcHMsIGZhY3RvcnkuIFNob3VsZCBiZSBub3JtYWxpemVkIGJ5IHRoZQogICAgICAgICAgICAgICAgICAgIC8vZGVmaW5lKCkgZnVuY3Rpb24uCiAgICAgICAgICAgICAgICAgICAgY2FsbEdldE1vZHVsZShhcmdzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBjb250ZXh0LmRlZlF1ZXVlTWFwID0ge307CiAgICAgICAgfQoKICAgICAgICBjb250ZXh0ID0gewogICAgICAgICAgICBjb25maWc6IGNvbmZpZywKICAgICAgICAgICAgY29udGV4dE5hbWU6IGNvbnRleHROYW1lLAogICAgICAgICAgICByZWdpc3RyeTogcmVnaXN0cnksCiAgICAgICAgICAgIGRlZmluZWQ6IGRlZmluZWQsCiAgICAgICAgICAgIHVybEZldGNoZWQ6IHVybEZldGNoZWQsCiAgICAgICAgICAgIGRlZlF1ZXVlOiBkZWZRdWV1ZSwKICAgICAgICAgICAgZGVmUXVldWVNYXA6IHt9LAogICAgICAgICAgICBNb2R1bGU6IE1vZHVsZSwKICAgICAgICAgICAgbWFrZU1vZHVsZU1hcDogbWFrZU1vZHVsZU1hcCwKICAgICAgICAgICAgbmV4dFRpY2s6IHJlcS5uZXh0VGljaywKICAgICAgICAgICAgb25FcnJvcjogb25FcnJvciwKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBTZXQgYSBjb25maWd1cmF0aW9uIGZvciB0aGUgY29udGV4dC4KICAgICAgICAgICAgICogQHBhcmFtIHtPYmplY3R9IGNmZyBjb25maWcgb2JqZWN0IHRvIGludGVncmF0ZS4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGNvbmZpZ3VyZTogZnVuY3Rpb24gKGNmZykgewogICAgICAgICAgICAgICAgLy9NYWtlIHN1cmUgdGhlIGJhc2VVcmwgZW5kcyBpbiBhIHNsYXNoLgogICAgICAgICAgICAgICAgaWYgKGNmZy5iYXNlVXJsKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGNmZy5iYXNlVXJsLmNoYXJBdChjZmcuYmFzZVVybC5sZW5ndGggLSAxKSAhPT0gJy8nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNmZy5iYXNlVXJsICs9ICcvJzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gQ29udmVydCBvbGQgc3R5bGUgdXJsQXJncyBzdHJpbmcgdG8gYSBmdW5jdGlvbi4KICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2ZnLnVybEFyZ3MgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHVybEFyZ3MgPSBjZmcudXJsQXJnczsKICAgICAgICAgICAgICAgICAgICBjZmcudXJsQXJncyA9IGZ1bmN0aW9uKGlkLCB1cmwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh1cmwuaW5kZXhPZignPycpID09PSAtMSA/ICc/JyA6ICcmJykgKyB1cmxBcmdzOwogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy9TYXZlIG9mZiB0aGUgcGF0aHMgc2luY2UgdGhleSByZXF1aXJlIHNwZWNpYWwgcHJvY2Vzc2luZywKICAgICAgICAgICAgICAgIC8vdGhleSBhcmUgYWRkaXRpdmUuCiAgICAgICAgICAgICAgICB2YXIgc2hpbSA9IGNvbmZpZy5zaGltLAogICAgICAgICAgICAgICAgICAgIG9ianMgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhzOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICBidW5kbGVzOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICBjb25maWc6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcDogdHJ1ZQogICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgZWFjaFByb3AoY2ZnLCBmdW5jdGlvbiAodmFsdWUsIHByb3ApIHsKICAgICAgICAgICAgICAgICAgICBpZiAob2Jqc1twcm9wXSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmZpZ1twcm9wXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnW3Byb3BdID0ge307CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgbWl4aW4oY29uZmlnW3Byb3BdLCB2YWx1ZSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnW3Byb3BdID0gdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgLy9SZXZlcnNlIG1hcCB0aGUgYnVuZGxlcwogICAgICAgICAgICAgICAgaWYgKGNmZy5idW5kbGVzKSB7CiAgICAgICAgICAgICAgICAgICAgZWFjaFByb3AoY2ZnLmJ1bmRsZXMsIGZ1bmN0aW9uICh2YWx1ZSwgcHJvcCkgewogICAgICAgICAgICAgICAgICAgICAgICBlYWNoKHZhbHVlLCBmdW5jdGlvbiAodikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYgIT09IHByb3ApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidW5kbGVzTWFwW3ZdID0gcHJvcDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy9NZXJnZSBzaGltCiAgICAgICAgICAgICAgICBpZiAoY2ZnLnNoaW0pIHsKICAgICAgICAgICAgICAgICAgICBlYWNoUHJvcChjZmcuc2hpbSwgZnVuY3Rpb24gKHZhbHVlLCBpZCkgewogICAgICAgICAgICAgICAgICAgICAgICAvL05vcm1hbGl6ZSB0aGUgc3RydWN0dXJlCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwczogdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCh2YWx1ZS5leHBvcnRzIHx8IHZhbHVlLmluaXQpICYmICF2YWx1ZS5leHBvcnRzRm4pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmV4cG9ydHNGbiA9IGNvbnRleHQubWFrZVNoaW1FeHBvcnRzKHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBzaGltW2lkXSA9IHZhbHVlOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIGNvbmZpZy5zaGltID0gc2hpbTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvL0FkanVzdCBwYWNrYWdlcyBpZiBuZWNlc3NhcnkuCiAgICAgICAgICAgICAgICBpZiAoY2ZnLnBhY2thZ2VzKSB7CiAgICAgICAgICAgICAgICAgICAgZWFjaChjZmcucGFja2FnZXMsIGZ1bmN0aW9uIChwa2dPYmopIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxvY2F0aW9uLCBuYW1lOwoKICAgICAgICAgICAgICAgICAgICAgICAgcGtnT2JqID0gdHlwZW9mIHBrZ09iaiA9PT0gJ3N0cmluZycgPyB7bmFtZTogcGtnT2JqfSA6IHBrZ09iajsKCiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBwa2dPYmoubmFtZTsKICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24gPSBwa2dPYmoubG9jYXRpb247CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvbikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLnBhdGhzW25hbWVdID0gcGtnT2JqLmxvY2F0aW9uOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAvL1NhdmUgcG9pbnRlciB0byBtYWluIG1vZHVsZSBJRCBmb3IgcGtnIG5hbWUuCiAgICAgICAgICAgICAgICAgICAgICAgIC8vUmVtb3ZlIGxlYWRpbmcgZG90IGluIG1haW4sIHNvIG1haW4gcGF0aHMgYXJlIG5vcm1hbGl6ZWQsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vYW5kIHJlbW92ZSBhbnkgdHJhaWxpbmcgLmpzLCBzaW5jZSBkaWZmZXJlbnQgcGFja2FnZQogICAgICAgICAgICAgICAgICAgICAgICAvL2VudnMgaGF2ZSBkaWZmZXJlbnQgY29udmVudGlvbnM6IHNvbWUgdXNlIGEgbW9kdWxlIG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vc29tZSB1c2UgYSBmaWxlIG5hbWUuCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5wa2dzW25hbWVdID0gcGtnT2JqLm5hbWUgKyAnLycgKyAocGtnT2JqLm1haW4gfHwgJ21haW4nKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoY3VyckRpclJlZ0V4cCwgJycpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZShqc1N1ZmZpeFJlZ0V4cCwgJycpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vSWYgdGhlcmUgYXJlIGFueSAid2FpdGluZyB0byBleGVjdXRlIiBtb2R1bGVzIGluIHRoZSByZWdpc3RyeSwKICAgICAgICAgICAgICAgIC8vdXBkYXRlIHRoZSBtYXBzIGZvciB0aGVtLCBzaW5jZSB0aGVpciBpbmZvLCBsaWtlIFVSTHMgdG8gbG9hZCwKICAgICAgICAgICAgICAgIC8vbWF5IGhhdmUgY2hhbmdlZC4KICAgICAgICAgICAgICAgIGVhY2hQcm9wKHJlZ2lzdHJ5LCBmdW5jdGlvbiAobW9kLCBpZCkgewogICAgICAgICAgICAgICAgICAgIC8vSWYgbW9kdWxlIGFscmVhZHkgaGFzIGluaXQgY2FsbGVkLCBzaW5jZSBpdCBpcyB0b28KICAgICAgICAgICAgICAgICAgICAvL2xhdGUgdG8gbW9kaWZ5IHRoZW0sIGFuZCBpZ25vcmUgdW5ub3JtYWxpemVkIG9uZXMKICAgICAgICAgICAgICAgICAgICAvL3NpbmNlIHRoZXkgYXJlIHRyYW5zaWVudC4KICAgICAgICAgICAgICAgICAgICBpZiAoIW1vZC5pbml0ZWQgJiYgIW1vZC5tYXAudW5ub3JtYWxpemVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1vZC5tYXAgPSBtYWtlTW9kdWxlTWFwKGlkLCBudWxsLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAvL0lmIGEgZGVwcyBhcnJheSBvciBhIGNvbmZpZyBjYWxsYmFjayBpcyBzcGVjaWZpZWQsIHRoZW4gY2FsbAogICAgICAgICAgICAgICAgLy9yZXF1aXJlIHdpdGggdGhvc2UgYXJncy4gVGhpcyBpcyB1c2VmdWwgd2hlbiByZXF1aXJlIGlzIGRlZmluZWQgYXMgYQogICAgICAgICAgICAgICAgLy9jb25maWcgb2JqZWN0IGJlZm9yZSByZXF1aXJlLmpzIGlzIGxvYWRlZC4KICAgICAgICAgICAgICAgIGlmIChjZmcuZGVwcyB8fCBjZmcuY2FsbGJhY2spIHsKICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnJlcXVpcmUoY2ZnLmRlcHMgfHwgW10sIGNmZy5jYWxsYmFjayk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBtYWtlU2hpbUV4cG9ydHM6IGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgICAgICAgICAgZnVuY3Rpb24gZm4oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHJldDsKICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUuaW5pdCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXQgPSB2YWx1ZS5pbml0LmFwcGx5KGdsb2JhbCwgYXJndW1lbnRzKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldCB8fCAodmFsdWUuZXhwb3J0cyAmJiBnZXRHbG9iYWwodmFsdWUuZXhwb3J0cykpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGZuOwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgbWFrZVJlcXVpcmU6IGZ1bmN0aW9uIChyZWxNYXAsIG9wdGlvbnMpIHsKICAgICAgICAgICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGxvY2FsUmVxdWlyZShkZXBzLCBjYWxsYmFjaywgZXJyYmFjaykgewogICAgICAgICAgICAgICAgICAgIHZhciBpZCwgbWFwLCByZXF1aXJlTW9kOwoKICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5lbmFibGVCdWlsZENhbGxiYWNrICYmIGNhbGxiYWNrICYmIGlzRnVuY3Rpb24oY2FsbGJhY2spKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrLl9fcmVxdWlyZUpzQnVpbGQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBkZXBzID09PSAnc3RyaW5nJykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNGdW5jdGlvbihjYWxsYmFjaykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vSW52YWxpZCBjYWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihtYWtlRXJyb3IoJ3JlcXVpcmVhcmdzJywgJ0ludmFsaWQgcmVxdWlyZSBjYWxsJyksIGVycmJhY2spOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAvL0lmIHJlcXVpcmV8ZXhwb3J0c3xtb2R1bGUgYXJlIHJlcXVlc3RlZCwgZ2V0IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvL3ZhbHVlIGZvciB0aGVtIGZyb20gdGhlIHNwZWNpYWwgaGFuZGxlcnMuIENhdmVhdDoKICAgICAgICAgICAgICAgICAgICAgICAgLy90aGlzIG9ubHkgd29ya3Mgd2hpbGUgbW9kdWxlIGlzIGJlaW5nIGRlZmluZWQuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZWxNYXAgJiYgaGFzUHJvcChoYW5kbGVycywgZGVwcykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBoYW5kbGVyc1tkZXBzXShyZWdpc3RyeVtyZWxNYXAuaWRdKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgLy9TeW5jaHJvbm91cyBhY2Nlc3MgdG8gb25lIG1vZHVsZS4gSWYgcmVxdWlyZS5nZXQgaXMKICAgICAgICAgICAgICAgICAgICAgICAgLy9hdmFpbGFibGUgKGFzIGluIHRoZSBOb2RlIGFkYXB0ZXIpLCBwcmVmZXIgdGhhdC4KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcS5nZXQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXEuZ2V0KGNvbnRleHQsIGRlcHMsIHJlbE1hcCwgbG9jYWxSZXF1aXJlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgLy9Ob3JtYWxpemUgbW9kdWxlIG5hbWUsIGlmIGl0IGNvbnRhaW5zIC4gb3IgLi4KICAgICAgICAgICAgICAgICAgICAgICAgbWFwID0gbWFrZU1vZHVsZU1hcChkZXBzLCByZWxNYXAsIGZhbHNlLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWQgPSBtYXAuaWQ7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWhhc1Byb3AoZGVmaW5lZCwgaWQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihtYWtlRXJyb3IoJ25vdGxvYWRlZCcsICdNb2R1bGUgbmFtZSAiJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldCBmb3IgY29udGV4dDogJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0TmFtZSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVsTWFwID8gJycgOiAnLiBVc2UgcmVxdWlyZShbXSknKSkpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkZWZpbmVkW2lkXTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIC8vR3JhYiBkZWZpbmVzIHdhaXRpbmcgaW4gdGhlIGdsb2JhbCBxdWV1ZS4KICAgICAgICAgICAgICAgICAgICBpbnRha2VEZWZpbmVzKCk7CgogICAgICAgICAgICAgICAgICAgIC8vTWFyayBhbGwgdGhlIGRlcGVuZGVuY2llcyBhcyBuZWVkaW5nIHRvIGJlIGxvYWRlZC4KICAgICAgICAgICAgICAgICAgICBjb250ZXh0Lm5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy9Tb21lIGRlZmluZXMgY291bGQgaGF2ZSBiZWVuIGFkZGVkIHNpbmNlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvL3JlcXVpcmUgY2FsbCwgY29sbGVjdCB0aGVtLgogICAgICAgICAgICAgICAgICAgICAgICBpbnRha2VEZWZpbmVzKCk7CgogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlTW9kID0gZ2V0TW9kdWxlKG1ha2VNb2R1bGVNYXAobnVsbCwgcmVsTWFwKSk7CgogICAgICAgICAgICAgICAgICAgICAgICAvL1N0b3JlIGlmIG1hcCBjb25maWcgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdGhpcyByZXF1aXJlCiAgICAgICAgICAgICAgICAgICAgICAgIC8vY2FsbCBmb3IgZGVwZW5kZW5jaWVzLgogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlTW9kLnNraXBNYXAgPSBvcHRpb25zLnNraXBNYXA7CgogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlTW9kLmluaXQoZGVwcywgY2FsbGJhY2ssIGVycmJhY2ssIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICBjaGVja0xvYWRlZCgpOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxSZXF1aXJlOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIG1peGluKGxvY2FsUmVxdWlyZSwgewogICAgICAgICAgICAgICAgICAgIGlzQnJvd3NlcjogaXNCcm93c2VyLAoKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBDb252ZXJ0cyBhIG1vZHVsZSBuYW1lICsgLmV4dGVuc2lvbiBpbnRvIGFuIFVSTCBwYXRoLgogICAgICAgICAgICAgICAgICAgICAqICpSZXF1aXJlcyogdGhlIHVzZSBvZiBhIG1vZHVsZSBuYW1lLiBJdCBkb2VzIG5vdCBzdXBwb3J0IHVzaW5nCiAgICAgICAgICAgICAgICAgICAgICogcGxhaW4gVVJMcyBsaWtlIG5hbWVUb1VybC4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICB0b1VybDogZnVuY3Rpb24gKG1vZHVsZU5hbWVQbHVzRXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCA9IG1vZHVsZU5hbWVQbHVzRXh0Lmxhc3RJbmRleE9mKCcuJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50ID0gbW9kdWxlTmFtZVBsdXNFeHQuc3BsaXQoJy8nKVswXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVsYXRpdmUgPSBzZWdtZW50ID09PSAnLicgfHwgc2VnbWVudCA9PT0gJy4uJzsKCiAgICAgICAgICAgICAgICAgICAgICAgIC8vSGF2ZSBhIGZpbGUgZXh0ZW5zaW9uIGFsaWFzLCBhbmQgaXQgaXMgbm90IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvL2RvdHMgZnJvbSBhIHJlbGF0aXZlIHBhdGguCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEgJiYgKCFpc1JlbGF0aXZlIHx8IGluZGV4ID4gMSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dCA9IG1vZHVsZU5hbWVQbHVzRXh0LnN1YnN0cmluZyhpbmRleCwgbW9kdWxlTmFtZVBsdXNFeHQubGVuZ3RoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZU5hbWVQbHVzRXh0ID0gbW9kdWxlTmFtZVBsdXNFeHQuc3Vic3RyaW5nKDAsIGluZGV4KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQubmFtZVRvVXJsKG5vcm1hbGl6ZShtb2R1bGVOYW1lUGx1c0V4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsTWFwICYmIHJlbE1hcC5pZCwgdHJ1ZSksIGV4dCwgIHRydWUpOwogICAgICAgICAgICAgICAgICAgIH0sCgogICAgICAgICAgICAgICAgICAgIGRlZmluZWQ6IGZ1bmN0aW9uIChpZCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGFzUHJvcChkZWZpbmVkLCBtYWtlTW9kdWxlTWFwKGlkLCByZWxNYXAsIGZhbHNlLCB0cnVlKS5pZCk7CiAgICAgICAgICAgICAgICAgICAgfSwKCiAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVkOiBmdW5jdGlvbiAoaWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQgPSBtYWtlTW9kdWxlTWFwKGlkLCByZWxNYXAsIGZhbHNlLCB0cnVlKS5pZDsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhhc1Byb3AoZGVmaW5lZCwgaWQpIHx8IGhhc1Byb3AocmVnaXN0cnksIGlkKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAvL09ubHkgYWxsb3cgdW5kZWYgb24gdG9wIGxldmVsIHJlcXVpcmUgY2FsbHMKICAgICAgICAgICAgICAgIGlmICghcmVsTWFwKSB7CiAgICAgICAgICAgICAgICAgICAgbG9jYWxSZXF1aXJlLnVuZGVmID0gZnVuY3Rpb24gKGlkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vQmluZCBhbnkgd2FpdGluZyBkZWZpbmUoKSBjYWxscyB0byB0aGlzIGNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vZml4IGZvciAjNDA4CiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VHbG9iYWxRdWV1ZSgpOwoKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1hcCA9IG1ha2VNb2R1bGVNYXAoaWQsIHJlbE1hcCwgdHJ1ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2QgPSBnZXRPd24ocmVnaXN0cnksIGlkKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIG1vZC51bmRlZmVkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlU2NyaXB0KGlkKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBkZWZpbmVkW2lkXTsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHVybEZldGNoZWRbbWFwLnVybF07CiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB1bmRlZkV2ZW50c1tpZF07CgogICAgICAgICAgICAgICAgICAgICAgICAvL0NsZWFuIHF1ZXVlZCBkZWZpbmVzIHRvby4gR28gYmFja3dhcmRzCiAgICAgICAgICAgICAgICAgICAgICAgIC8vaW4gYXJyYXkgc28gdGhhdCB0aGUgc3BsaWNlcyBkbyBub3QKICAgICAgICAgICAgICAgICAgICAgICAgLy9tZXNzIHVwIHRoZSBpdGVyYXRpb24uCiAgICAgICAgICAgICAgICAgICAgICAgIGVhY2hSZXZlcnNlKGRlZlF1ZXVlLCBmdW5jdGlvbihhcmdzLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJnc1swXSA9PT0gaWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZRdWV1ZS5zcGxpY2UoaSwgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgY29udGV4dC5kZWZRdWV1ZU1hcFtpZF07CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0hvbGQgb24gdG8gbGlzdGVuZXJzIGluIGNhc2UgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL21vZHVsZSB3aWxsIGJlIGF0dGVtcHRlZCB0byBiZSByZWxvYWRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy91c2luZyBhIGRpZmZlcmVudCBjb25maWcuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kLmV2ZW50cy5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZFdmVudHNbaWRdID0gbW9kLmV2ZW50czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhblJlZ2lzdHJ5KGlkKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgcmV0dXJuIGxvY2FsUmVxdWlyZTsKICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDYWxsZWQgdG8gZW5hYmxlIGEgbW9kdWxlIGlmIGl0IGlzIHN0aWxsIGluIHRoZSByZWdpc3RyeQogICAgICAgICAgICAgKiBhd2FpdGluZyBlbmFibGVtZW50LiBBIHNlY29uZCBhcmcsIHBhcmVudCwgdGhlIHBhcmVudCBtb2R1bGUsCiAgICAgICAgICAgICAqIGlzIHBhc3NlZCBpbiBmb3IgY29udGV4dCwgd2hlbiB0aGlzIG1ldGhvZCBpcyBvdmVycmlkZGVuIGJ5CiAgICAgICAgICAgICAqIHRoZSBvcHRpbWl6ZXIuIE5vdCBzaG93biBoZXJlIHRvIGtlZXAgY29kZSBjb21wYWN0LgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZW5hYmxlOiBmdW5jdGlvbiAoZGVwTWFwKSB7CiAgICAgICAgICAgICAgICB2YXIgbW9kID0gZ2V0T3duKHJlZ2lzdHJ5LCBkZXBNYXAuaWQpOwogICAgICAgICAgICAgICAgaWYgKG1vZCkgewogICAgICAgICAgICAgICAgICAgIGdldE1vZHVsZShkZXBNYXApLmVuYWJsZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAoKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIEludGVybmFsIG1ldGhvZCB1c2VkIGJ5IGVudmlyb25tZW50IGFkYXB0ZXJzIHRvIGNvbXBsZXRlIGEgbG9hZCBldmVudC4KICAgICAgICAgICAgICogQSBsb2FkIGV2ZW50IGNvdWxkIGJlIGEgc2NyaXB0IGxvYWQgb3IganVzdCBhIGxvYWQgcGFzcyBmcm9tIGEgc3luY2hyb25vdXMKICAgICAgICAgICAgICogbG9hZCBjYWxsLgogICAgICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30gbW9kdWxlTmFtZSB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRvIHBvdGVudGlhbGx5IGNvbXBsZXRlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgY29tcGxldGVMb2FkOiBmdW5jdGlvbiAobW9kdWxlTmFtZSkgewogICAgICAgICAgICAgICAgdmFyIGZvdW5kLCBhcmdzLCBtb2QsCiAgICAgICAgICAgICAgICAgICAgc2hpbSA9IGdldE93bihjb25maWcuc2hpbSwgbW9kdWxlTmFtZSkgfHwge30sCiAgICAgICAgICAgICAgICAgICAgc2hFeHBvcnRzID0gc2hpbS5leHBvcnRzOwoKICAgICAgICAgICAgICAgIHRha2VHbG9iYWxRdWV1ZSgpOwoKICAgICAgICAgICAgICAgIHdoaWxlIChkZWZRdWV1ZS5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICBhcmdzID0gZGVmUXVldWUuc2hpZnQoKTsKICAgICAgICAgICAgICAgICAgICBpZiAoYXJnc1swXSA9PT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgICAgICBhcmdzWzBdID0gbW9kdWxlTmFtZTsKICAgICAgICAgICAgICAgICAgICAgICAgLy9JZiBhbHJlYWR5IGZvdW5kIGFuIGFub255bW91cyBtb2R1bGUgYW5kIGJvdW5kIGl0CiAgICAgICAgICAgICAgICAgICAgICAgIC8vdG8gdGhpcyBuYW1lLCB0aGVuIHRoaXMgaXMgc29tZSBvdGhlciBhbm9uIG1vZHVsZQogICAgICAgICAgICAgICAgICAgICAgICAvL3dhaXRpbmcgZm9yIGl0cyBjb21wbGV0ZUxvYWQgdG8gZmlyZS4KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvdW5kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChhcmdzWzBdID09PSBtb2R1bGVOYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vRm91bmQgbWF0Y2hpbmcgZGVmaW5lIGNhbGwgZm9yIHRoaXMgc2NyaXB0IQogICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBjYWxsR2V0TW9kdWxlKGFyZ3MpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY29udGV4dC5kZWZRdWV1ZU1hcCA9IHt9OwoKICAgICAgICAgICAgICAgIC8vRG8gdGhpcyBhZnRlciB0aGUgY3ljbGUgb2YgY2FsbEdldE1vZHVsZSBpbiBjYXNlIHRoZSByZXN1bHQKICAgICAgICAgICAgICAgIC8vb2YgdGhvc2UgY2FsbHMvaW5pdCBjYWxscyBjaGFuZ2VzIHRoZSByZWdpc3RyeS4KICAgICAgICAgICAgICAgIG1vZCA9IGdldE93bihyZWdpc3RyeSwgbW9kdWxlTmFtZSk7CgogICAgICAgICAgICAgICAgaWYgKCFmb3VuZCAmJiAhaGFzUHJvcChkZWZpbmVkLCBtb2R1bGVOYW1lKSAmJiBtb2QgJiYgIW1vZC5pbml0ZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLmVuZm9yY2VEZWZpbmUgJiYgKCFzaEV4cG9ydHMgfHwgIWdldEdsb2JhbChzaEV4cG9ydHMpKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzUGF0aEZhbGxiYWNrKG1vZHVsZU5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihtYWtlRXJyb3IoJ25vZGVmaW5lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05vIGRlZmluZSBjYWxsIGZvciAnICsgbW9kdWxlTmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZHVsZU5hbWVdKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAvL0Egc2NyaXB0IHRoYXQgZG9lcyBub3QgY2FsbCBkZWZpbmUoKSwgc28ganVzdCBzaW11bGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAvL3RoZSBjYWxsIGZvciBpdC4KICAgICAgICAgICAgICAgICAgICAgICAgY2FsbEdldE1vZHVsZShbbW9kdWxlTmFtZSwgKHNoaW0uZGVwcyB8fCBbXSksIHNoaW0uZXhwb3J0c0ZuXSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGNoZWNrTG9hZGVkKCk7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29udmVydHMgYSBtb2R1bGUgbmFtZSB0byBhIGZpbGUgcGF0aC4gU3VwcG9ydHMgY2FzZXMgd2hlcmUKICAgICAgICAgICAgICogbW9kdWxlTmFtZSBtYXkgYWN0dWFsbHkgYmUganVzdCBhbiBVUkwuCiAgICAgICAgICAgICAqIE5vdGUgdGhhdCBpdCAqKmRvZXMgbm90KiogY2FsbCBub3JtYWxpemUgb24gdGhlIG1vZHVsZU5hbWUsCiAgICAgICAgICAgICAqIGl0IGlzIGFzc3VtZWQgdG8gaGF2ZSBhbHJlYWR5IGJlZW4gbm9ybWFsaXplZC4gVGhpcyBpcyBhbgogICAgICAgICAgICAgKiBpbnRlcm5hbCBBUEksIG5vdCBhIHB1YmxpYyBvbmUuIFVzZSB0b1VybCBmb3IgdGhlIHB1YmxpYyBBUEkuCiAgICAgICAgICAgICAqLwogICAgICAgICAgICBuYW1lVG9Vcmw6IGZ1bmN0aW9uIChtb2R1bGVOYW1lLCBleHQsIHNraXBFeHQpIHsKICAgICAgICAgICAgICAgIHZhciBwYXRocywgc3ltcywgaSwgcGFyZW50TW9kdWxlLCB1cmwsCiAgICAgICAgICAgICAgICAgICAgcGFyZW50UGF0aCwgYnVuZGxlSWQsCiAgICAgICAgICAgICAgICAgICAgcGtnTWFpbiA9IGdldE93bihjb25maWcucGtncywgbW9kdWxlTmFtZSk7CgogICAgICAgICAgICAgICAgaWYgKHBrZ01haW4pIHsKICAgICAgICAgICAgICAgICAgICBtb2R1bGVOYW1lID0gcGtnTWFpbjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBidW5kbGVJZCA9IGdldE93bihidW5kbGVzTWFwLCBtb2R1bGVOYW1lKTsKCiAgICAgICAgICAgICAgICBpZiAoYnVuZGxlSWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5uYW1lVG9VcmwoYnVuZGxlSWQsIGV4dCwgc2tpcEV4dCk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy9JZiBhIGNvbG9uIGlzIGluIHRoZSBVUkwsIGl0IGluZGljYXRlcyBhIHByb3RvY29sIGlzIHVzZWQgYW5kIGl0IGlzIGp1c3QKICAgICAgICAgICAgICAgIC8vYW4gVVJMIHRvIGEgZmlsZSwgb3IgaWYgaXQgc3RhcnRzIHdpdGggYSBzbGFzaCwgY29udGFpbnMgYSBxdWVyeSBhcmcgKGkuZS4gPykKICAgICAgICAgICAgICAgIC8vb3IgZW5kcyB3aXRoIC5qcywgdGhlbiBhc3N1bWUgdGhlIHVzZXIgbWVhbnQgdG8gdXNlIGFuIHVybCBhbmQgbm90IGEgbW9kdWxlIGlkLgogICAgICAgICAgICAgICAgLy9UaGUgc2xhc2ggaXMgaW1wb3J0YW50IGZvciBwcm90b2NvbC1sZXNzIFVSTHMgYXMgd2VsbCBhcyBmdWxsIHBhdGhzLgogICAgICAgICAgICAgICAgaWYgKHJlcS5qc0V4dFJlZ0V4cC50ZXN0KG1vZHVsZU5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgLy9KdXN0IGEgcGxhaW4gcGF0aCwgbm90IG1vZHVsZSBuYW1lIGxvb2t1cCwgc28ganVzdCByZXR1cm4gaXQuCiAgICAgICAgICAgICAgICAgICAgLy9BZGQgZXh0ZW5zaW9uIGlmIGl0IGlzIGluY2x1ZGVkLiBUaGlzIGlzIGEgYml0IHdvbmt5LCBvbmx5IG5vbi0uanMgdGhpbmdzIHBhc3MKICAgICAgICAgICAgICAgICAgICAvL2FuIGV4dGVuc2lvbiwgdGhpcyBtZXRob2QgcHJvYmFibHkgbmVlZHMgdG8gYmUgcmV3b3JrZWQuCiAgICAgICAgICAgICAgICAgICAgdXJsID0gbW9kdWxlTmFtZSArIChleHQgfHwgJycpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvL0EgbW9kdWxlIHRoYXQgbmVlZHMgdG8gYmUgY29udmVydGVkIHRvIGEgcGF0aC4KICAgICAgICAgICAgICAgICAgICBwYXRocyA9IGNvbmZpZy5wYXRoczsKCiAgICAgICAgICAgICAgICAgICAgc3ltcyA9IG1vZHVsZU5hbWUuc3BsaXQoJy8nKTsKICAgICAgICAgICAgICAgICAgICAvL0ZvciBlYWNoIG1vZHVsZSBuYW1lIHNlZ21lbnQsIHNlZSBpZiB0aGVyZSBpcyBhIHBhdGgKICAgICAgICAgICAgICAgICAgICAvL3JlZ2lzdGVyZWQgZm9yIGl0LiBTdGFydCB3aXRoIG1vc3Qgc3BlY2lmaWMgbmFtZQogICAgICAgICAgICAgICAgICAgIC8vYW5kIHdvcmsgdXAgZnJvbSBpdC4KICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSBzeW1zLmxlbmd0aDsgaSA+IDA7IGkgLT0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRNb2R1bGUgPSBzeW1zLnNsaWNlKDAsIGkpLmpvaW4oJy8nKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFBhdGggPSBnZXRPd24ocGF0aHMsIHBhcmVudE1vZHVsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnRQYXRoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0lmIGFuIGFycmF5LCBpdCBtZWFucyB0aGVyZSBhcmUgYSBmZXcgY2hvaWNlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vQ2hvb3NlIHRoZSBvbmUgdGhhdCBpcyBkZXNpcmVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNBcnJheShwYXJlbnRQYXRoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFBhdGggPSBwYXJlbnRQYXRoWzBdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ltcy5zcGxpY2UoMCwgaSwgcGFyZW50UGF0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgLy9Kb2luIHRoZSBwYXRoIHBhcnRzIHRvZ2V0aGVyLCB0aGVuIGZpZ3VyZSBvdXQgaWYgYmFzZVVybCBpcyBuZWVkZWQuCiAgICAgICAgICAgICAgICAgICAgdXJsID0gc3ltcy5qb2luKCcvJyk7CiAgICAgICAgICAgICAgICAgICAgdXJsICs9IChleHQgfHwgKC9eZGF0YVw6fF5ibG9iXDp8XD8vLnRlc3QodXJsKSB8fCBza2lwRXh0ID8gJycgOiAnLmpzJykpOwogICAgICAgICAgICAgICAgICAgIHVybCA9ICh1cmwuY2hhckF0KDApID09PSAnLycgfHwgdXJsLm1hdGNoKC9eW1x3XCtcLlwtXSs6LykgPyAnJyA6IGNvbmZpZy5iYXNlVXJsKSArIHVybDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY29uZmlnLnVybEFyZ3MgJiYgIS9eYmxvYlw6Ly50ZXN0KHVybCkgPwogICAgICAgICAgICAgICAgICAgICAgIHVybCArIGNvbmZpZy51cmxBcmdzKG1vZHVsZU5hbWUsIHVybCkgOiB1cmw7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvL0RlbGVnYXRlcyB0byByZXEubG9hZC4gQnJva2VuIG91dCBhcyBhIHNlcGFyYXRlIGZ1bmN0aW9uIHRvCiAgICAgICAgICAgIC8vYWxsb3cgb3ZlcnJpZGluZyBpbiB0aGUgb3B0aW1pemVyLgogICAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoaWQsIHVybCkgewogICAgICAgICAgICAgICAgcmVxLmxvYWQoY29udGV4dCwgaWQsIHVybCk7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogRXhlY3V0ZXMgYSBtb2R1bGUgY2FsbGJhY2sgZnVuY3Rpb24uIEJyb2tlbiBvdXQgYXMgYSBzZXBhcmF0ZSBmdW5jdGlvbgogICAgICAgICAgICAgKiBzb2xlbHkgdG8gYWxsb3cgdGhlIGJ1aWxkIHN5c3RlbSB0byBzZXF1ZW5jZSB0aGUgZmlsZXMgaW4gdGhlIGJ1aWx0CiAgICAgICAgICAgICAqIGxheWVyIGluIHRoZSByaWdodCBzZXF1ZW5jZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHByaXZhdGUKICAgICAgICAgICAgICovCiAgICAgICAgICAgIGV4ZWNDYjogZnVuY3Rpb24gKG5hbWUsIGNhbGxiYWNrLCBhcmdzLCBleHBvcnRzKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2suYXBwbHkoZXhwb3J0cywgYXJncyk7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogY2FsbGJhY2sgZm9yIHNjcmlwdCBsb2FkcywgdXNlZCB0byBjaGVjayBzdGF0dXMgb2YgbG9hZGluZy4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtFdmVudH0gZXZ0IHRoZSBldmVudCBmcm9tIHRoZSBicm93c2VyIGZvciB0aGUgc2NyaXB0CiAgICAgICAgICAgICAqIHRoYXQgd2FzIGxvYWRlZC4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIG9uU2NyaXB0TG9hZDogZnVuY3Rpb24gKGV2dCkgewogICAgICAgICAgICAgICAgLy9Vc2luZyBjdXJyZW50VGFyZ2V0IGluc3RlYWQgb2YgdGFyZ2V0IGZvciBGaXJlZm94IDIuMCdzIHNha2UuIE5vdAogICAgICAgICAgICAgICAgLy9hbGwgb2xkIGJyb3dzZXJzIHdpbGwgYmUgc3VwcG9ydGVkLCBidXQgdGhpcyBvbmUgd2FzIGVhc3kgZW5vdWdoCiAgICAgICAgICAgICAgICAvL3RvIHN1cHBvcnQgYW5kIHN0aWxsIG1ha2VzIHNlbnNlLgogICAgICAgICAgICAgICAgaWYgKGV2dC50eXBlID09PSAnbG9hZCcgfHwKICAgICAgICAgICAgICAgICAgICAgICAgKHJlYWR5UmVnRXhwLnRlc3QoKGV2dC5jdXJyZW50VGFyZ2V0IHx8IGV2dC5zcmNFbGVtZW50KS5yZWFkeVN0YXRlKSkpIHsKICAgICAgICAgICAgICAgICAgICAvL1Jlc2V0IGludGVyYWN0aXZlIHNjcmlwdCBzbyBhIHNjcmlwdCBub2RlIGlzIG5vdCBoZWxkIG9udG8gZm9yCiAgICAgICAgICAgICAgICAgICAgLy90byBsb25nLgogICAgICAgICAgICAgICAgICAgIGludGVyYWN0aXZlU2NyaXB0ID0gbnVsbDsKCiAgICAgICAgICAgICAgICAgICAgLy9QdWxsIG91dCB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIGFuZCB0aGUgY29udGV4dC4KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IGdldFNjcmlwdERhdGEoZXZ0KTsKICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmNvbXBsZXRlTG9hZChkYXRhLmlkKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDYWxsYmFjayBmb3Igc2NyaXB0IGVycm9ycy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIG9uU2NyaXB0RXJyb3I6IGZ1bmN0aW9uIChldnQpIHsKICAgICAgICAgICAgICAgIHZhciBkYXRhID0gZ2V0U2NyaXB0RGF0YShldnQpOwogICAgICAgICAgICAgICAgaWYgKCFoYXNQYXRoRmFsbGJhY2soZGF0YS5pZCkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50cyA9IFtdOwogICAgICAgICAgICAgICAgICAgIGVhY2hQcm9wKHJlZ2lzdHJ5LCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXkuaW5kZXhPZignX0ByJykgIT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhY2godmFsdWUuZGVwTWFwcywgZnVuY3Rpb24oZGVwTWFwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlcE1hcC5pZCA9PT0gZGF0YS5pZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRzLnB1c2goa2V5KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihtYWtlRXJyb3IoJ3NjcmlwdGVycm9yJywgJ1NjcmlwdCBlcnJvciBmb3IgIicgKyBkYXRhLmlkICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhcmVudHMubGVuZ3RoID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyIsIG5lZWRlZCBieTogJyArIHBhcmVudHMuam9pbignLCAnKSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICciJyksIGV2dCwgW2RhdGEuaWRdKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBjb250ZXh0LnJlcXVpcmUgPSBjb250ZXh0Lm1ha2VSZXF1aXJlKCk7CiAgICAgICAgcmV0dXJuIGNvbnRleHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBNYWluIGVudHJ5IHBvaW50LgogICAgICoKICAgICAqIElmIHRoZSBvbmx5IGFyZ3VtZW50IHRvIHJlcXVpcmUgaXMgYSBzdHJpbmcsIHRoZW4gdGhlIG1vZHVsZSB0aGF0CiAgICAgKiBpcyByZXByZXNlbnRlZCBieSB0aGF0IHN0cmluZyBpcyBmZXRjaGVkIGZvciB0aGUgYXBwcm9wcmlhdGUgY29udGV4dC4KICAgICAqCiAgICAgKiBJZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgYW4gYXJyYXksIHRoZW4gaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGFuIGFycmF5CiAgICAgKiBvZiBkZXBlbmRlbmN5IHN0cmluZyBuYW1lcyB0byBmZXRjaC4gQW4gb3B0aW9uYWwgZnVuY3Rpb24gY2FsbGJhY2sgY2FuCiAgICAgKiBiZSBzcGVjaWZpZWQgdG8gZXhlY3V0ZSB3aGVuIGFsbCBvZiB0aG9zZSBkZXBlbmRlbmNpZXMgYXJlIGF2YWlsYWJsZS4KICAgICAqCiAgICAgKiBNYWtlIGEgbG9jYWwgcmVxIHZhcmlhYmxlIHRvIGhlbHAgQ2FqYSBjb21wbGlhbmNlIChpdCBhc3N1bWVzIHRoaW5ncwogICAgICogb24gYSByZXF1aXJlIHRoYXQgYXJlIG5vdCBzdGFuZGFyZGl6ZWQpLCBhbmQgdG8gZ2l2ZSBhIHNob3J0CiAgICAgKiBuYW1lIGZvciBtaW5pZmljYXRpb24vbG9jYWwgc2NvcGUgdXNlLgogICAgICovCiAgICByZXEgPSByZXF1aXJlanMgPSBmdW5jdGlvbiAoZGVwcywgY2FsbGJhY2ssIGVycmJhY2ssIG9wdGlvbmFsKSB7CgogICAgICAgIC8vRmluZCB0aGUgcmlnaHQgY29udGV4dCwgdXNlIGRlZmF1bHQKICAgICAgICB2YXIgY29udGV4dCwgY29uZmlnLAogICAgICAgICAgICBjb250ZXh0TmFtZSA9IGRlZkNvbnRleHROYW1lOwoKICAgICAgICAvLyBEZXRlcm1pbmUgaWYgaGF2ZSBjb25maWcgb2JqZWN0IGluIHRoZSBjYWxsLgogICAgICAgIGlmICghaXNBcnJheShkZXBzKSAmJiB0eXBlb2YgZGVwcyAhPT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgLy8gZGVwcyBpcyBhIGNvbmZpZyBvYmplY3QKICAgICAgICAgICAgY29uZmlnID0gZGVwczsKICAgICAgICAgICAgaWYgKGlzQXJyYXkoY2FsbGJhY2spKSB7CiAgICAgICAgICAgICAgICAvLyBBZGp1c3QgYXJncyBpZiB0aGVyZSBhcmUgZGVwZW5kZW5jaWVzCiAgICAgICAgICAgICAgICBkZXBzID0gY2FsbGJhY2s7CiAgICAgICAgICAgICAgICBjYWxsYmFjayA9IGVycmJhY2s7CiAgICAgICAgICAgICAgICBlcnJiYWNrID0gb3B0aW9uYWw7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkZXBzID0gW107CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLmNvbnRleHQpIHsKICAgICAgICAgICAgY29udGV4dE5hbWUgPSBjb25maWcuY29udGV4dDsKICAgICAgICB9CgogICAgICAgIGNvbnRleHQgPSBnZXRPd24oY29udGV4dHMsIGNvbnRleHROYW1lKTsKICAgICAgICBpZiAoIWNvbnRleHQpIHsKICAgICAgICAgICAgY29udGV4dCA9IGNvbnRleHRzW2NvbnRleHROYW1lXSA9IHJlcS5zLm5ld0NvbnRleHQoY29udGV4dE5hbWUpOwogICAgICAgIH0KCiAgICAgICAgaWYgKGNvbmZpZykgewogICAgICAgICAgICBjb250ZXh0LmNvbmZpZ3VyZShjb25maWcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGNvbnRleHQucmVxdWlyZShkZXBzLCBjYWxsYmFjaywgZXJyYmFjayk7CiAgICB9OwoKICAgIC8qKgogICAgICogU3VwcG9ydCByZXF1aXJlLmNvbmZpZygpIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGNvb3BlcmF0ZSB3aXRoIG90aGVyCiAgICAgKiBBTUQgbG9hZGVycyBvbiBnbG9iYWxseSBhZ3JlZWQgbmFtZXMuCiAgICAgKi8KICAgIHJlcS5jb25maWcgPSBmdW5jdGlvbiAoY29uZmlnKSB7CiAgICAgICAgcmV0dXJuIHJlcShjb25maWcpOwogICAgfTsKCiAgICAvKioKICAgICAqIEV4ZWN1dGUgc29tZXRoaW5nIGFmdGVyIHRoZSBjdXJyZW50IHRpY2sKICAgICAqIG9mIHRoZSBldmVudCBsb29wLiBPdmVycmlkZSBmb3Igb3RoZXIgZW52cwogICAgICogdGhhdCBoYXZlIGEgYmV0dGVyIHNvbHV0aW9uIHRoYW4gc2V0VGltZW91dC4KICAgICAqIEBwYXJhbSAge0Z1bmN0aW9ufSBmbiBmdW5jdGlvbiB0byBleGVjdXRlIGxhdGVyLgogICAgICovCiAgICByZXEubmV4dFRpY2sgPSB0eXBlb2Ygc2V0VGltZW91dCAhPT0gJ3VuZGVmaW5lZCcgPyBmdW5jdGlvbiAoZm4pIHsKICAgICAgICBzZXRUaW1lb3V0KGZuLCA0KTsKICAgIH0gOiBmdW5jdGlvbiAoZm4pIHsgZm4oKTsgfTsKCiAgICAvKioKICAgICAqIEV4cG9ydCByZXF1aXJlIGFzIGEgZ2xvYmFsLCBidXQgb25seSBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LgogICAgICovCiAgICBpZiAoIXJlcXVpcmUpIHsKICAgICAgICByZXF1aXJlID0gcmVxOwogICAgfQoKICAgIHJlcS52ZXJzaW9uID0gdmVyc2lvbjsKCiAgICAvL1VzZWQgdG8gZmlsdGVyIG91dCBkZXBlbmRlbmNpZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXRocy4KICAgIHJlcS5qc0V4dFJlZ0V4cCA9IC9eXC98OnxcP3xcLmpzJC87CiAgICByZXEuaXNCcm93c2VyID0gaXNCcm93c2VyOwogICAgcyA9IHJlcS5zID0gewogICAgICAgIGNvbnRleHRzOiBjb250ZXh0cywKICAgICAgICBuZXdDb250ZXh0OiBuZXdDb250ZXh0CiAgICB9OwoKICAgIC8vQ3JlYXRlIGRlZmF1bHQgY29udGV4dC4KICAgIHJlcSh7fSk7CgogICAgLy9FeHBvcnRzIHNvbWUgY29udGV4dC1zZW5zaXRpdmUgbWV0aG9kcyBvbiBnbG9iYWwgcmVxdWlyZS4KICAgIGVhY2goWwogICAgICAgICd0b1VybCcsCiAgICAgICAgJ3VuZGVmJywKICAgICAgICAnZGVmaW5lZCcsCiAgICAgICAgJ3NwZWNpZmllZCcKICAgIF0sIGZ1bmN0aW9uIChwcm9wKSB7CiAgICAgICAgLy9SZWZlcmVuY2UgZnJvbSBjb250ZXh0cyBpbnN0ZWFkIG9mIGVhcmx5IGJpbmRpbmcgdG8gZGVmYXVsdCBjb250ZXh0LAogICAgICAgIC8vc28gdGhhdCBkdXJpbmcgYnVpbGRzLCB0aGUgbGF0ZXN0IGluc3RhbmNlIG9mIHRoZSBkZWZhdWx0IGNvbnRleHQKICAgICAgICAvL3dpdGggaXRzIGNvbmZpZyBnZXRzIHVzZWQuCiAgICAgICAgcmVxW3Byb3BdID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgY3R4ID0gY29udGV4dHNbZGVmQ29udGV4dE5hbWVdOwogICAgICAgICAgICByZXR1cm4gY3R4LnJlcXVpcmVbcHJvcF0uYXBwbHkoY3R4LCBhcmd1bWVudHMpOwogICAgICAgIH07CiAgICB9KTsKCiAgICBpZiAoaXNCcm93c2VyKSB7CiAgICAgICAgaGVhZCA9IHMuaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07CiAgICAgICAgLy9JZiBCQVNFIHRhZyBpcyBpbiBwbGF5LCB1c2luZyBhcHBlbmRDaGlsZCBpcyBhIHByb2JsZW0gZm9yIElFNi4KICAgICAgICAvL1doZW4gdGhhdCBicm93c2VyIGRpZXMsIHRoaXMgY2FuIGJlIHJlbW92ZWQuIERldGFpbHMgaW4gdGhpcyBqUXVlcnkgYnVnOgogICAgICAgIC8vaHR0cDovL2Rldi5qcXVlcnkuY29tL3RpY2tldC8yNzA5CiAgICAgICAgYmFzZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYmFzZScpWzBdOwogICAgICAgIGlmIChiYXNlRWxlbWVudCkgewogICAgICAgICAgICBoZWFkID0gcy5oZWFkID0gYmFzZUVsZW1lbnQucGFyZW50Tm9kZTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBBbnkgZXJyb3JzIHRoYXQgcmVxdWlyZSBleHBsaWNpdGx5IGdlbmVyYXRlcyB3aWxsIGJlIHBhc3NlZCB0byB0aGlzCiAgICAgKiBmdW5jdGlvbi4gSW50ZXJjZXB0L292ZXJyaWRlIGl0IGlmIHlvdSB3YW50IGN1c3RvbSBlcnJvciBoYW5kbGluZy4KICAgICAqIEBwYXJhbSB7RXJyb3J9IGVyciB0aGUgZXJyb3Igb2JqZWN0LgogICAgICovCiAgICByZXEub25FcnJvciA9IGRlZmF1bHRPbkVycm9yOwoKICAgIC8qKgogICAgICogQ3JlYXRlcyB0aGUgbm9kZSBmb3IgdGhlIGxvYWQgY29tbWFuZC4gT25seSB1c2VkIGluIGJyb3dzZXIgZW52cy4KICAgICAqLwogICAgcmVxLmNyZWF0ZU5vZGUgPSBmdW5jdGlvbiAoY29uZmlnLCBtb2R1bGVOYW1lLCB1cmwpIHsKICAgICAgICB2YXIgbm9kZSA9IGNvbmZpZy54aHRtbCA/CiAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnaHRtbDpzY3JpcHQnKSA6CiAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBub2RlLnR5cGUgPSBjb25maWcuc2NyaXB0VHlwZSB8fCAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBub2RlLmNoYXJzZXQgPSAndXRmLTgnOwogICAgICAgIG5vZGUuYXN5bmMgPSB0cnVlOwogICAgICAgIHJldHVybiBub2RlOwogICAgfTsKCiAgICAvKioKICAgICAqIERvZXMgdGhlIHJlcXVlc3QgdG8gbG9hZCBhIG1vZHVsZSBmb3IgdGhlIGJyb3dzZXIgY2FzZS4KICAgICAqIE1ha2UgdGhpcyBhIHNlcGFyYXRlIGZ1bmN0aW9uIHRvIGFsbG93IG90aGVyIGVudmlyb25tZW50cwogICAgICogdG8gb3ZlcnJpZGUgaXQuCiAgICAgKgogICAgICogQHBhcmFtIHtPYmplY3R9IGNvbnRleHQgdGhlIHJlcXVpcmUgY29udGV4dCB0byBmaW5kIHN0YXRlLgogICAgICogQHBhcmFtIHtTdHJpbmd9IG1vZHVsZU5hbWUgdGhlIG5hbWUgb2YgdGhlIG1vZHVsZS4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSB1cmwgdGhlIFVSTCB0byB0aGUgbW9kdWxlLgogICAgICovCiAgICByZXEubG9hZCA9IGZ1bmN0aW9uIChjb250ZXh0LCBtb2R1bGVOYW1lLCB1cmwpIHsKICAgICAgICB2YXIgY29uZmlnID0gKGNvbnRleHQgJiYgY29udGV4dC5jb25maWcpIHx8IHt9LAogICAgICAgICAgICBub2RlOwogICAgICAgIGlmIChpc0Jyb3dzZXIpIHsKICAgICAgICAgICAgLy9JbiB0aGUgYnJvd3NlciBzbyB1c2UgYSBzY3JpcHQgdGFnCiAgICAgICAgICAgIG5vZGUgPSByZXEuY3JlYXRlTm9kZShjb25maWcsIG1vZHVsZU5hbWUsIHVybCk7CgogICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgnZGF0YS1yZXF1aXJlY29udGV4dCcsIGNvbnRleHQuY29udGV4dE5hbWUpOwogICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgnZGF0YS1yZXF1aXJlbW9kdWxlJywgbW9kdWxlTmFtZSk7CgogICAgICAgICAgICAvL1NldCB1cCBsb2FkIGxpc3RlbmVyLiBUZXN0IGF0dGFjaEV2ZW50IGZpcnN0IGJlY2F1c2UgSUU5IGhhcwogICAgICAgICAgICAvL2Egc3VidGxlIGlzc3VlIGluIGl0cyBhZGRFdmVudExpc3RlbmVyIGFuZCBzY3JpcHQgb25sb2FkIGZpcmluZ3MKICAgICAgICAgICAgLy90aGF0IGRvIG5vdCBtYXRjaCB0aGUgYmVoYXZpb3Igb2YgYWxsIG90aGVyIGJyb3dzZXJzIHdpdGgKICAgICAgICAgICAgLy9hZGRFdmVudExpc3RlbmVyIHN1cHBvcnQsIHdoaWNoIGZpcmUgdGhlIG9ubG9hZCBldmVudCBmb3IgYQogICAgICAgICAgICAvL3NjcmlwdCByaWdodCBhZnRlciB0aGUgc2NyaXB0IGV4ZWN1dGlvbi4gU2VlOgogICAgICAgICAgICAvL2h0dHBzOi8vY29ubmVjdC5taWNyb3NvZnQuY29tL0lFL2ZlZWRiYWNrL2RldGFpbHMvNjQ4MDU3L3NjcmlwdC1vbmxvYWQtZXZlbnQtaXMtbm90LWZpcmVkLWltbWVkaWF0ZWx5LWFmdGVyLXNjcmlwdC1leGVjdXRpb24KICAgICAgICAgICAgLy9VTkZPUlRVTkFURUxZIE9wZXJhIGltcGxlbWVudHMgYXR0YWNoRXZlbnQgYnV0IGRvZXMgbm90IGZvbGxvdyB0aGUgc2NyaXB0CiAgICAgICAgICAgIC8vc2NyaXB0IGV4ZWN1dGlvbiBtb2RlLgogICAgICAgICAgICBpZiAobm9kZS5hdHRhY2hFdmVudCAmJgogICAgICAgICAgICAgICAgICAgIC8vQ2hlY2sgaWYgbm9kZS5hdHRhY2hFdmVudCBpcyBhcnRpZmljaWFsbHkgYWRkZWQgYnkgY3VzdG9tIHNjcmlwdCBvcgogICAgICAgICAgICAgICAgICAgIC8vbmF0aXZlbHkgc3VwcG9ydGVkIGJ5IGJyb3dzZXIKICAgICAgICAgICAgICAgICAgICAvL3JlYWQgaHR0cHM6Ly9naXRodWIuY29tL3JlcXVpcmVqcy9yZXF1aXJlanMvaXNzdWVzLzE4NwogICAgICAgICAgICAgICAgICAgIC8vaWYgd2UgY2FuIE5PVCBmaW5kIFtuYXRpdmUgY29kZV0gdGhlbiBpdCBtdXN0IE5PVCBuYXRpdmVseSBzdXBwb3J0ZWQuCiAgICAgICAgICAgICAgICAgICAgLy9pbiBJRTgsIG5vZGUuYXR0YWNoRXZlbnQgZG9lcyBub3QgaGF2ZSB0b1N0cmluZygpCiAgICAgICAgICAgICAgICAgICAgLy9Ob3RlIHRoZSB0ZXN0IGZvciAiW25hdGl2ZSBjb2RlIiB3aXRoIG5vIGNsb3NpbmcgYnJhY2UsIHNlZToKICAgICAgICAgICAgICAgICAgICAvL2h0dHBzOi8vZ2l0aHViLmNvbS9yZXF1aXJlanMvcmVxdWlyZWpzL2lzc3Vlcy8yNzMKICAgICAgICAgICAgICAgICAgICAhKG5vZGUuYXR0YWNoRXZlbnQudG9TdHJpbmcgJiYgbm9kZS5hdHRhY2hFdmVudC50b1N0cmluZygpLmluZGV4T2YoJ1tuYXRpdmUgY29kZScpIDwgMCkgJiYKICAgICAgICAgICAgICAgICAgICAhaXNPcGVyYSkgewogICAgICAgICAgICAgICAgLy9Qcm9iYWJseSBJRS4gSUUgKGF0IGxlYXN0IDYtOCkgZG8gbm90IGZpcmUKICAgICAgICAgICAgICAgIC8vc2NyaXB0IG9ubG9hZCByaWdodCBhZnRlciBleGVjdXRpbmcgdGhlIHNjcmlwdCwgc28KICAgICAgICAgICAgICAgIC8vd2UgY2Fubm90IHRpZSB0aGUgYW5vbnltb3VzIGRlZmluZSBjYWxsIHRvIGEgbmFtZS4KICAgICAgICAgICAgICAgIC8vSG93ZXZlciwgSUUgcmVwb3J0cyB0aGUgc2NyaXB0IGFzIGJlaW5nIGluICdpbnRlcmFjdGl2ZScKICAgICAgICAgICAgICAgIC8vcmVhZHlTdGF0ZSBhdCB0aGUgdGltZSBvZiB0aGUgZGVmaW5lIGNhbGwuCiAgICAgICAgICAgICAgICB1c2VJbnRlcmFjdGl2ZSA9IHRydWU7CgogICAgICAgICAgICAgICAgbm9kZS5hdHRhY2hFdmVudCgnb25yZWFkeXN0YXRlY2hhbmdlJywgY29udGV4dC5vblNjcmlwdExvYWQpOwogICAgICAgICAgICAgICAgLy9JdCB3b3VsZCBiZSBncmVhdCB0byBhZGQgYW4gZXJyb3IgaGFuZGxlciBoZXJlIHRvIGNhdGNoCiAgICAgICAgICAgICAgICAvLzQwNHMgaW4gSUU5Ky4gSG93ZXZlciwgb25yZWFkeXN0YXRlY2hhbmdlIHdpbGwgZmlyZSBiZWZvcmUKICAgICAgICAgICAgICAgIC8vdGhlIGVycm9yIGhhbmRsZXIsIHNvIHRoYXQgZG9lcyBub3QgaGVscC4gSWYgYWRkRXZlbnRMaXN0ZW5lcgogICAgICAgICAgICAgICAgLy9pcyB1c2VkLCB0aGVuIElFIHdpbGwgZmlyZSBlcnJvciBiZWZvcmUgbG9hZCwgYnV0IHdlIGNhbm5vdAogICAgICAgICAgICAgICAgLy91c2UgdGhhdCBwYXRod2F5IGdpdmVuIHRoZSBjb25uZWN0Lm1pY3Jvc29mdC5jb20gaXNzdWUKICAgICAgICAgICAgICAgIC8vbWVudGlvbmVkIGFib3ZlIGFib3V0IG5vdCBkb2luZyB0aGUgJ3NjcmlwdCBleGVjdXRlLAogICAgICAgICAgICAgICAgLy90aGVuIGZpcmUgdGhlIHNjcmlwdCBsb2FkIGV2ZW50IGxpc3RlbmVyIGJlZm9yZSBleGVjdXRlCiAgICAgICAgICAgICAgICAvL25leHQgc2NyaXB0JyB0aGF0IG90aGVyIGJyb3dzZXJzIGRvLgogICAgICAgICAgICAgICAgLy9CZXN0IGhvcGU6IElFMTAgZml4ZXMgdGhlIGlzc3VlcywKICAgICAgICAgICAgICAgIC8vYW5kIHRoZW4gZGVzdHJveXMgYWxsIGluc3RhbGxzIG9mIElFIDYtOS4KICAgICAgICAgICAgICAgIC8vbm9kZS5hdHRhY2hFdmVudCgnb25lcnJvcicsIGNvbnRleHQub25TY3JpcHRFcnJvcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBjb250ZXh0Lm9uU2NyaXB0TG9hZCwgZmFsc2UpOwogICAgICAgICAgICAgICAgbm9kZS5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGNvbnRleHQub25TY3JpcHRFcnJvciwgZmFsc2UpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG5vZGUuc3JjID0gdXJsOwoKICAgICAgICAgICAgLy9DYWxsaW5nIG9uTm9kZUNyZWF0ZWQgYWZ0ZXIgYWxsIHByb3BlcnRpZXMgb24gdGhlIG5vZGUgaGF2ZSBiZWVuCiAgICAgICAgICAgIC8vc2V0LCBidXQgYmVmb3JlIGl0IGlzIHBsYWNlZCBpbiB0aGUgRE9NLgogICAgICAgICAgICBpZiAoY29uZmlnLm9uTm9kZUNyZWF0ZWQpIHsKICAgICAgICAgICAgICAgIGNvbmZpZy5vbk5vZGVDcmVhdGVkKG5vZGUsIGNvbmZpZywgbW9kdWxlTmFtZSwgdXJsKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy9Gb3Igc29tZSBjYWNoZSBjYXNlcyBpbiBJRSA2LTgsIHRoZSBzY3JpcHQgZXhlY3V0ZXMgYmVmb3JlIHRoZSBlbmQKICAgICAgICAgICAgLy9vZiB0aGUgYXBwZW5kQ2hpbGQgZXhlY3V0aW9uLCBzbyB0byB0aWUgYW4gYW5vbnltb3VzIGRlZmluZQogICAgICAgICAgICAvL2NhbGwgdG8gdGhlIG1vZHVsZSBuYW1lICh3aGljaCBpcyBzdG9yZWQgb24gdGhlIG5vZGUpLCBob2xkIG9uCiAgICAgICAgICAgIC8vdG8gYSByZWZlcmVuY2UgdG8gdGhpcyBub2RlLCBidXQgY2xlYXIgYWZ0ZXIgdGhlIERPTSBpbnNlcnRpb24uCiAgICAgICAgICAgIGN1cnJlbnRseUFkZGluZ1NjcmlwdCA9IG5vZGU7CiAgICAgICAgICAgIGlmIChiYXNlRWxlbWVudCkgewogICAgICAgICAgICAgICAgaGVhZC5pbnNlcnRCZWZvcmUobm9kZSwgYmFzZUVsZW1lbnQpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChub2RlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjdXJyZW50bHlBZGRpbmdTY3JpcHQgPSBudWxsOwoKICAgICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgICAgfSBlbHNlIGlmIChpc1dlYldvcmtlcikgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgLy9JbiBhIHdlYiB3b3JrZXIsIHVzZSBpbXBvcnRTY3JpcHRzLiBUaGlzIGlzIG5vdCBhIHZlcnkKICAgICAgICAgICAgICAgIC8vZWZmaWNpZW50IHVzZSBvZiBpbXBvcnRTY3JpcHRzLCBpbXBvcnRTY3JpcHRzIHdpbGwgYmxvY2sgdW50aWwKICAgICAgICAgICAgICAgIC8vaXRzIHNjcmlwdCBpcyBkb3dubG9hZGVkIGFuZCBldmFsdWF0ZWQuIEhvd2V2ZXIsIGlmIHdlYiB3b3JrZXJzCiAgICAgICAgICAgICAgICAvL2FyZSBpbiBwbGF5LCB0aGUgZXhwZWN0YXRpb24gaXMgdGhhdCBhIGJ1aWxkIGhhcyBiZWVuIGRvbmUgc28KICAgICAgICAgICAgICAgIC8vdGhhdCBvbmx5IG9uZSBzY3JpcHQgbmVlZHMgdG8gYmUgbG9hZGVkIGFueXdheS4gVGhpcyBtYXkgbmVlZAogICAgICAgICAgICAgICAgLy90byBiZSByZWV2YWx1YXRlZCBpZiBvdGhlciB1c2UgY2FzZXMgYmVjb21lIGNvbW1vbi4KCiAgICAgICAgICAgICAgICAvLyBQb3N0IGEgdGFzayB0byB0aGUgZXZlbnQgbG9vcCB0byB3b3JrIGFyb3VuZCBhIGJ1ZyBpbiBXZWJLaXQKICAgICAgICAgICAgICAgIC8vIHdoZXJlIHRoZSB3b3JrZXIgZ2V0cyBnYXJiYWdlLWNvbGxlY3RlZCBhZnRlciBjYWxsaW5nCiAgICAgICAgICAgICAgICAvLyBpbXBvcnRTY3JpcHRzKCk6IGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MzMxNwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHt9LCAwKTsKICAgICAgICAgICAgICAgIGltcG9ydFNjcmlwdHModXJsKTsKCiAgICAgICAgICAgICAgICAvL0FjY291bnQgZm9yIGFub255bW91cyBtb2R1bGVzCiAgICAgICAgICAgICAgICBjb250ZXh0LmNvbXBsZXRlTG9hZChtb2R1bGVOYW1lKTsKICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgY29udGV4dC5vbkVycm9yKG1ha2VFcnJvcignaW1wb3J0c2NyaXB0cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ltcG9ydFNjcmlwdHMgZmFpbGVkIGZvciAnICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlTmFtZSArICcgYXQgJyArIHVybCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2R1bGVOYW1lXSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfTsKCiAgICBmdW5jdGlvbiBnZXRJbnRlcmFjdGl2ZVNjcmlwdCgpIHsKICAgICAgICBpZiAoaW50ZXJhY3RpdmVTY3JpcHQgJiYgaW50ZXJhY3RpdmVTY3JpcHQucmVhZHlTdGF0ZSA9PT0gJ2ludGVyYWN0aXZlJykgewogICAgICAgICAgICByZXR1cm4gaW50ZXJhY3RpdmVTY3JpcHQ7CiAgICAgICAgfQoKICAgICAgICBlYWNoUmV2ZXJzZShzY3JpcHRzKCksIGZ1bmN0aW9uIChzY3JpcHQpIHsKICAgICAgICAgICAgaWYgKHNjcmlwdC5yZWFkeVN0YXRlID09PSAnaW50ZXJhY3RpdmUnKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKGludGVyYWN0aXZlU2NyaXB0ID0gc2NyaXB0KTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgICAgIHJldHVybiBpbnRlcmFjdGl2ZVNjcmlwdDsKICAgIH0KCiAgICAvL0xvb2sgZm9yIGEgZGF0YS1tYWluIHNjcmlwdCBhdHRyaWJ1dGUsIHdoaWNoIGNvdWxkIGFsc28gYWRqdXN0IHRoZSBiYXNlVXJsLgogICAgaWYgKGlzQnJvd3NlciAmJiAhY2ZnLnNraXBEYXRhTWFpbikgewogICAgICAgIC8vRmlndXJlIG91dCBiYXNlVXJsLiBHZXQgaXQgZnJvbSB0aGUgc2NyaXB0IHRhZyB3aXRoIHJlcXVpcmUuanMgaW4gaXQuCiAgICAgICAgZWFjaFJldmVyc2Uoc2NyaXB0cygpLCBmdW5jdGlvbiAoc2NyaXB0KSB7CiAgICAgICAgICAgIC8vU2V0IHRoZSAnaGVhZCcgd2hlcmUgd2UgY2FuIGFwcGVuZCBjaGlsZHJlbiBieQogICAgICAgICAgICAvL3VzaW5nIHRoZSBzY3JpcHQncyBwYXJlbnQuCiAgICAgICAgICAgIGlmICghaGVhZCkgewogICAgICAgICAgICAgICAgaGVhZCA9IHNjcmlwdC5wYXJlbnROb2RlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvL0xvb2sgZm9yIGEgZGF0YS1tYWluIGF0dHJpYnV0ZSB0byBzZXQgbWFpbiBzY3JpcHQgZm9yIHRoZSBwYWdlCiAgICAgICAgICAgIC8vdG8gbG9hZC4gSWYgaXQgaXMgdGhlcmUsIHRoZSBwYXRoIHRvIGRhdGEgbWFpbiBiZWNvbWVzIHRoZQogICAgICAgICAgICAvL2Jhc2VVcmwsIGlmIGl0IGlzIG5vdCBhbHJlYWR5IHNldC4KICAgICAgICAgICAgZGF0YU1haW4gPSBzY3JpcHQuZ2V0QXR0cmlidXRlKCdkYXRhLW1haW4nKTsKICAgICAgICAgICAgaWYgKGRhdGFNYWluKSB7CiAgICAgICAgICAgICAgICAvL1ByZXNlcnZlIGRhdGFNYWluIGluIGNhc2UgaXQgaXMgYSBwYXRoIChpLmUuIGNvbnRhaW5zICc/JykKICAgICAgICAgICAgICAgIG1haW5TY3JpcHQgPSBkYXRhTWFpbjsKCiAgICAgICAgICAgICAgICAvL1NldCBmaW5hbCBiYXNlVXJsIGlmIHRoZXJlIGlzIG5vdCBhbHJlYWR5IGFuIGV4cGxpY2l0IG9uZSwKICAgICAgICAgICAgICAgIC8vYnV0IG9ubHkgZG8gc28gaWYgdGhlIGRhdGEtbWFpbiB2YWx1ZSBpcyBub3QgYSBsb2FkZXIgcGx1Z2luCiAgICAgICAgICAgICAgICAvL21vZHVsZSBJRC4KICAgICAgICAgICAgICAgIGlmICghY2ZnLmJhc2VVcmwgJiYgbWFpblNjcmlwdC5pbmRleE9mKCchJykgPT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgLy9QdWxsIG9mZiB0aGUgZGlyZWN0b3J5IG9mIGRhdGEtbWFpbiBmb3IgdXNlIGFzIHRoZQogICAgICAgICAgICAgICAgICAgIC8vYmFzZVVybC4KICAgICAgICAgICAgICAgICAgICBzcmMgPSBtYWluU2NyaXB0LnNwbGl0KCcvJyk7CiAgICAgICAgICAgICAgICAgICAgbWFpblNjcmlwdCA9IHNyYy5wb3AoKTsKICAgICAgICAgICAgICAgICAgICBzdWJQYXRoID0gc3JjLmxlbmd0aCA/IHNyYy5qb2luKCcvJykgICsgJy8nIDogJy4vJzsKCiAgICAgICAgICAgICAgICAgICAgY2ZnLmJhc2VVcmwgPSBzdWJQYXRoOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vU3RyaXAgb2ZmIGFueSB0cmFpbGluZyAuanMgc2luY2UgbWFpblNjcmlwdCBpcyBub3cKICAgICAgICAgICAgICAgIC8vbGlrZSBhIG1vZHVsZSBuYW1lLgogICAgICAgICAgICAgICAgbWFpblNjcmlwdCA9IG1haW5TY3JpcHQucmVwbGFjZShqc1N1ZmZpeFJlZ0V4cCwgJycpOwoKICAgICAgICAgICAgICAgIC8vSWYgbWFpblNjcmlwdCBpcyBzdGlsbCBhIHBhdGgsIGZhbGwgYmFjayB0byBkYXRhTWFpbgogICAgICAgICAgICAgICAgaWYgKHJlcS5qc0V4dFJlZ0V4cC50ZXN0KG1haW5TY3JpcHQpKSB7CiAgICAgICAgICAgICAgICAgICAgbWFpblNjcmlwdCA9IGRhdGFNYWluOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vUHV0IHRoZSBkYXRhLW1haW4gc2NyaXB0IGluIHRoZSBmaWxlcyB0byBsb2FkLgogICAgICAgICAgICAgICAgY2ZnLmRlcHMgPSBjZmcuZGVwcyA/IGNmZy5kZXBzLmNvbmNhdChtYWluU2NyaXB0KSA6IFttYWluU2NyaXB0XTsKCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQoKICAgIC8qKgogICAgICogVGhlIGZ1bmN0aW9uIHRoYXQgaGFuZGxlcyBkZWZpbml0aW9ucyBvZiBtb2R1bGVzLiBEaWZmZXJzIGZyb20KICAgICAqIHJlcXVpcmUoKSBpbiB0aGF0IGEgc3RyaW5nIGZvciB0aGUgbW9kdWxlIHNob3VsZCBiZSB0aGUgZmlyc3QgYXJndW1lbnQsCiAgICAgKiBhbmQgdGhlIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgYWZ0ZXIgZGVwZW5kZW5jaWVzIGFyZSBsb2FkZWQgc2hvdWxkCiAgICAgKiByZXR1cm4gYSB2YWx1ZSB0byBkZWZpbmUgdGhlIG1vZHVsZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBmaXJzdCBhcmd1bWVudCdzCiAgICAgKiBuYW1lLgogICAgICovCiAgICBkZWZpbmUgPSBmdW5jdGlvbiAobmFtZSwgZGVwcywgY2FsbGJhY2spIHsKICAgICAgICB2YXIgbm9kZSwgY29udGV4dDsKCiAgICAgICAgLy9BbGxvdyBmb3IgYW5vbnltb3VzIG1vZHVsZXMKICAgICAgICBpZiAodHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIC8vQWRqdXN0IGFyZ3MgYXBwcm9wcmlhdGVseQogICAgICAgICAgICBjYWxsYmFjayA9IGRlcHM7CiAgICAgICAgICAgIGRlcHMgPSBuYW1lOwogICAgICAgICAgICBuYW1lID0gbnVsbDsKICAgICAgICB9CgogICAgICAgIC8vVGhpcyBtb2R1bGUgbWF5IG5vdCBoYXZlIGRlcGVuZGVuY2llcwogICAgICAgIGlmICghaXNBcnJheShkZXBzKSkgewogICAgICAgICAgICBjYWxsYmFjayA9IGRlcHM7CiAgICAgICAgICAgIGRlcHMgPSBudWxsOwogICAgICAgIH0KCiAgICAgICAgLy9JZiBubyBuYW1lLCBhbmQgY2FsbGJhY2sgaXMgYSBmdW5jdGlvbiwgdGhlbiBmaWd1cmUgb3V0IGlmIGl0IGEKICAgICAgICAvL0NvbW1vbkpTIHRoaW5nIHdpdGggZGVwZW5kZW5jaWVzLgogICAgICAgIGlmICghZGVwcyAmJiBpc0Z1bmN0aW9uKGNhbGxiYWNrKSkgewogICAgICAgICAgICBkZXBzID0gW107CiAgICAgICAgICAgIC8vUmVtb3ZlIGNvbW1lbnRzIGZyb20gdGhlIGNhbGxiYWNrIHN0cmluZywKICAgICAgICAgICAgLy9sb29rIGZvciByZXF1aXJlIGNhbGxzLCBhbmQgcHVsbCB0aGVtIGludG8gdGhlIGRlcGVuZGVuY2llcywKICAgICAgICAgICAgLy9idXQgb25seSBpZiB0aGVyZSBhcmUgZnVuY3Rpb24gYXJncy4KICAgICAgICAgICAgaWYgKGNhbGxiYWNrLmxlbmd0aCkgewogICAgICAgICAgICAgICAgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAudG9TdHJpbmcoKQogICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKGNvbW1lbnRSZWdFeHAsIGNvbW1lbnRSZXBsYWNlKQogICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKGNqc1JlcXVpcmVSZWdFeHAsIGZ1bmN0aW9uIChtYXRjaCwgZGVwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRlcHMucHVzaChkZXApOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIC8vTWF5IGJlIGEgQ29tbW9uSlMgdGhpbmcgZXZlbiB3aXRob3V0IHJlcXVpcmUgY2FsbHMsIGJ1dCBzdGlsbAogICAgICAgICAgICAgICAgLy9jb3VsZCB1c2UgZXhwb3J0cywgYW5kIG1vZHVsZS4gQXZvaWQgZG9pbmcgZXhwb3J0cyBhbmQgbW9kdWxlCiAgICAgICAgICAgICAgICAvL3dvcmsgdGhvdWdoIGlmIGl0IGp1c3QgbmVlZHMgcmVxdWlyZS4KICAgICAgICAgICAgICAgIC8vUkVRVUlSRVMgdGhlIGZ1bmN0aW9uIHRvIGV4cGVjdCB0aGUgQ29tbW9uSlMgdmFyaWFibGVzIGluIHRoZQogICAgICAgICAgICAgICAgLy9vcmRlciBsaXN0ZWQgYmVsb3cuCiAgICAgICAgICAgICAgICBkZXBzID0gKGNhbGxiYWNrLmxlbmd0aCA9PT0gMSA/IFsncmVxdWlyZSddIDogWydyZXF1aXJlJywgJ2V4cG9ydHMnLCAnbW9kdWxlJ10pLmNvbmNhdChkZXBzKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy9JZiBpbiBJRSA2LTggYW5kIGhpdCBhbiBhbm9ueW1vdXMgZGVmaW5lKCkgY2FsbCwgZG8gdGhlIGludGVyYWN0aXZlCiAgICAgICAgLy93b3JrLgogICAgICAgIGlmICh1c2VJbnRlcmFjdGl2ZSkgewogICAgICAgICAgICBub2RlID0gY3VycmVudGx5QWRkaW5nU2NyaXB0IHx8IGdldEludGVyYWN0aXZlU2NyaXB0KCk7CiAgICAgICAgICAgIGlmIChub2RlKSB7CiAgICAgICAgICAgICAgICBpZiAoIW5hbWUpIHsKICAgICAgICAgICAgICAgICAgICBuYW1lID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtcmVxdWlyZW1vZHVsZScpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY29udGV4dCA9IGNvbnRleHRzW25vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLXJlcXVpcmVjb250ZXh0JyldOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvL0Fsd2F5cyBzYXZlIG9mZiBldmFsdWF0aW5nIHRoZSBkZWYgY2FsbCB1bnRpbCB0aGUgc2NyaXB0IG9ubG9hZCBoYW5kbGVyLgogICAgICAgIC8vVGhpcyBhbGxvd3MgbXVsdGlwbGUgbW9kdWxlcyB0byBiZSBpbiBhIGZpbGUgd2l0aG91dCBwcmVtYXR1cmVseQogICAgICAgIC8vdHJhY2luZyBkZXBlbmRlbmNpZXMsIGFuZCBhbGxvd3MgZm9yIGFub255bW91cyBtb2R1bGUgc3VwcG9ydCwKICAgICAgICAvL3doZXJlIHRoZSBtb2R1bGUgbmFtZSBpcyBub3Qga25vd24gdW50aWwgdGhlIHNjcmlwdCBvbmxvYWQgZXZlbnQKICAgICAgICAvL29jY3Vycy4gSWYgbm8gY29udGV4dCwgdXNlIHRoZSBnbG9iYWwgcXVldWUsIGFuZCBnZXQgaXQgcHJvY2Vzc2VkCiAgICAgICAgLy9pbiB0aGUgb25zY3JpcHQgbG9hZCBjYWxsYmFjay4KICAgICAgICBpZiAoY29udGV4dCkgewogICAgICAgICAgICBjb250ZXh0LmRlZlF1ZXVlLnB1c2goW25hbWUsIGRlcHMsIGNhbGxiYWNrXSk7CiAgICAgICAgICAgIGNvbnRleHQuZGVmUXVldWVNYXBbbmFtZV0gPSB0cnVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGdsb2JhbERlZlF1ZXVlLnB1c2goW25hbWUsIGRlcHMsIGNhbGxiYWNrXSk7CiAgICAgICAgfQogICAgfTsKCiAgICBkZWZpbmUuYW1kID0gewogICAgICAgIGpRdWVyeTogdHJ1ZQogICAgfTsKCiAgICAvKioKICAgICAqIEV4ZWN1dGVzIHRoZSB0ZXh0LiBOb3JtYWxseSBqdXN0IHVzZXMgZXZhbCwgYnV0IGNhbiBiZSBtb2RpZmllZAogICAgICogdG8gdXNlIGEgYmV0dGVyLCBlbnZpcm9ubWVudC1zcGVjaWZpYyBjYWxsLiBPbmx5IHVzZWQgZm9yIHRyYW5zcGlsaW5nCiAgICAgKiBsb2FkZXIgcGx1Z2lucywgbm90IGZvciBwbGFpbiBKUyBtb2R1bGVzLgogICAgICogQHBhcmFtIHtTdHJpbmd9IHRleHQgdGhlIHRleHQgdG8gZXhlY3V0ZS9ldmFsdWF0ZS4KICAgICAqLwogICAgcmVxLmV4ZWMgPSBmdW5jdGlvbiAodGV4dCkgewogICAgICAgIC8qanNsaW50IGV2aWw6IHRydWUgKi8KICAgICAgICByZXR1cm4gZXZhbCh0ZXh0KTsKICAgIH07CgogICAgLy9TZXQgdXAgd2l0aCBjb25maWcgaW5mby4KICAgIHJlcShjZmcpOwp9KHRoaXMsICh0eXBlb2Ygc2V0VGltZW91dCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBzZXRUaW1lb3V0KSkpOwoKLy8gQ29weXJpZ2h0IDIwMTQgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLy8KLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci8vIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLy8gICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAovLwovLyBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAovLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLy8gICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgohZnVuY3Rpb24oKXt2YXIgYT17fSxiPXt9LGM9e307IWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXtpZigibnVtYmVyIj09dHlwZW9mIGEpcmV0dXJuIGE7dmFyIGI9e307Zm9yKHZhciBjIGluIGEpYltjXT1hW2NdO3JldHVybiBifWZ1bmN0aW9uIGQoKXt0aGlzLl9kZWxheT0wLHRoaXMuX2VuZERlbGF5PTAsdGhpcy5fZmlsbD0ibm9uZSIsdGhpcy5faXRlcmF0aW9uU3RhcnQ9MCx0aGlzLl9pdGVyYXRpb25zPTEsdGhpcy5fZHVyYXRpb249MCx0aGlzLl9wbGF5YmFja1JhdGU9MSx0aGlzLl9kaXJlY3Rpb249Im5vcm1hbCIsdGhpcy5fZWFzaW5nPSJsaW5lYXIiLHRoaXMuX2Vhc2luZ0Z1bmN0aW9uPXh9ZnVuY3Rpb24gZSgpe3JldHVybiBhLmlzRGVwcmVjYXRlZCgiSW52YWxpZCB0aW1pbmcgaW5wdXRzIiwiMjAxNi0wMy0wMiIsIlR5cGVFcnJvciBleGNlcHRpb25zIHdpbGwgYmUgdGhyb3duIGluc3RlYWQuIiwhMCl9ZnVuY3Rpb24gZihiLGMsZSl7dmFyIGY9bmV3IGQ7cmV0dXJuIGMmJihmLmZpbGw9ImJvdGgiLGYuZHVyYXRpb249ImF1dG8iKSwibnVtYmVyIiE9dHlwZW9mIGJ8fGlzTmFOKGIpP3ZvaWQgMCE9PWImJk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGIpLmZvckVhY2goZnVuY3Rpb24oYyl7aWYoImF1dG8iIT1iW2NdKXtpZigoIm51bWJlciI9PXR5cGVvZiBmW2NdfHwiZHVyYXRpb24iPT1jKSYmKCJudW1iZXIiIT10eXBlb2YgYltjXXx8aXNOYU4oYltjXSkpKXJldHVybjtpZigiZmlsbCI9PWMmJi0xPT12LmluZGV4T2YoYltjXSkpcmV0dXJuO2lmKCJkaXJlY3Rpb24iPT1jJiYtMT09dy5pbmRleE9mKGJbY10pKXJldHVybjtpZigicGxheWJhY2tSYXRlIj09YyYmMSE9PWJbY10mJmEuaXNEZXByZWNhdGVkKCJBbmltYXRpb25FZmZlY3RUaW1pbmcucGxheWJhY2tSYXRlIiwiMjAxNC0xMS0yOCIsIlVzZSBBbmltYXRpb24ucGxheWJhY2tSYXRlIGluc3RlYWQuIikpcmV0dXJuO2ZbY109YltjXX19KTpmLmR1cmF0aW9uPWIsZn1mdW5jdGlvbiBnKGEpe3JldHVybiJudW1iZXIiPT10eXBlb2YgYSYmKGE9aXNOYU4oYSk/e2R1cmF0aW9uOjB9OntkdXJhdGlvbjphfSksYX1mdW5jdGlvbiBoKGIsYyl7cmV0dXJuIGI9YS5udW1lcmljVGltaW5nVG9PYmplY3QoYiksZihiLGMpfWZ1bmN0aW9uIGkoYSxiLGMsZCl7cmV0dXJuIGE8MHx8YT4xfHxjPDB8fGM+MT94OmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGYoYSxiLGMpe3JldHVybiAzKmEqKDEtYykqKDEtYykqYyszKmIqKDEtYykqYypjK2MqYypjfWlmKGU8PTApe3ZhciBnPTA7cmV0dXJuIGE+MD9nPWIvYTohYiYmYz4wJiYoZz1kL2MpLGcqZX1pZihlPj0xKXt2YXIgaD0wO3JldHVybiBjPDE/aD0oZC0xKS8oYy0xKToxPT1jJiZhPDEmJihoPShiLTEpLyhhLTEpKSwxK2gqKGUtMSl9Zm9yKHZhciBpPTAsaj0xO2k8ajspe3ZhciBrPShpK2opLzIsbD1mKGEsYyxrKTtpZihNYXRoLmFicyhlLWwpPDFlLTUpcmV0dXJuIGYoYixkLGspO2w8ZT9pPWs6aj1rfXJldHVybiBmKGIsZCxrKX19ZnVuY3Rpb24gaihhLGIpe3JldHVybiBmdW5jdGlvbihjKXtpZihjPj0xKXJldHVybiAxO3ZhciBkPTEvYTtyZXR1cm4oYys9YipkKS1jJWR9fWZ1bmN0aW9uIGsoYSl7Q3x8KEM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGUpLEMuYW5pbWF0aW9uVGltaW5nRnVuY3Rpb249IiIsQy5hbmltYXRpb25UaW1pbmdGdW5jdGlvbj1hO3ZhciBiPUMuYW5pbWF0aW9uVGltaW5nRnVuY3Rpb247aWYoIiI9PWImJmUoKSl0aHJvdyBuZXcgVHlwZUVycm9yKGErIiBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgZWFzaW5nIik7cmV0dXJuIGJ9ZnVuY3Rpb24gbChhKXtpZigibGluZWFyIj09YSlyZXR1cm4geDt2YXIgYj1FLmV4ZWMoYSk7aWYoYilyZXR1cm4gaS5hcHBseSh0aGlzLGIuc2xpY2UoMSkubWFwKE51bWJlcikpO3ZhciBjPUYuZXhlYyhhKTtpZihjKXJldHVybiBqKE51bWJlcihjWzFdKSxBKTt2YXIgZD1HLmV4ZWMoYSk7cmV0dXJuIGQ/aihOdW1iZXIoZFsxXSkse3N0YXJ0OnksbWlkZGxlOnosZW5kOkF9W2RbMl1dKTpCW2FdfHx4fWZ1bmN0aW9uIG0oYSl7cmV0dXJuIE1hdGguYWJzKG4oYSkvYS5wbGF5YmFja1JhdGUpfWZ1bmN0aW9uIG4oYSl7cmV0dXJuIDA9PT1hLmR1cmF0aW9ufHwwPT09YS5pdGVyYXRpb25zPzA6YS5kdXJhdGlvbiphLml0ZXJhdGlvbnN9ZnVuY3Rpb24gbyhhLGIsYyl7aWYobnVsbD09YilyZXR1cm4gSDt2YXIgZD1jLmRlbGF5K2ErYy5lbmREZWxheTtyZXR1cm4gYjxNYXRoLm1pbihjLmRlbGF5LGQpP0k6Yj49TWF0aC5taW4oYy5kZWxheSthLGQpP0o6S31mdW5jdGlvbiBwKGEsYixjLGQsZSl7c3dpdGNoKGQpe2Nhc2UgSTpyZXR1cm4iYmFja3dhcmRzIj09Ynx8ImJvdGgiPT1iPzA6bnVsbDtjYXNlIEs6cmV0dXJuIGMtZTtjYXNlIEo6cmV0dXJuImZvcndhcmRzIj09Ynx8ImJvdGgiPT1iP2E6bnVsbDtjYXNlIEg6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHEoYSxiLGMsZCxlKXt2YXIgZj1lO3JldHVybiAwPT09YT9iIT09SSYmKGYrPWMpOmYrPWQvYSxmfWZ1bmN0aW9uIHIoYSxiLGMsZCxlLGYpe3ZhciBnPWE9PT0xLzA/YiUxOmElMTtyZXR1cm4gMCE9PWd8fGMhPT1KfHwwPT09ZHx8MD09PWUmJjAhPT1mfHwoZz0xKSxnfWZ1bmN0aW9uIHMoYSxiLGMsZCl7cmV0dXJuIGE9PT1KJiZiPT09MS8wPzEvMDoxPT09Yz9NYXRoLmZsb29yKGQpLTE6TWF0aC5mbG9vcihkKX1mdW5jdGlvbiB0KGEsYixjKXt2YXIgZD1hO2lmKCJub3JtYWwiIT09YSYmInJldmVyc2UiIT09YSl7dmFyIGU9YjsiYWx0ZXJuYXRlLXJldmVyc2UiPT09YSYmKGUrPTEpLGQ9Im5vcm1hbCIsZSE9PTEvMCYmZSUyIT0wJiYoZD0icmV2ZXJzZSIpfXJldHVybiJub3JtYWwiPT09ZD9jOjEtY31mdW5jdGlvbiB1KGEsYixjKXt2YXIgZD1vKGEsYixjKSxlPXAoYSxjLmZpbGwsYixkLGMuZGVsYXkpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO3ZhciBmPXEoYy5kdXJhdGlvbixkLGMuaXRlcmF0aW9ucyxlLGMuaXRlcmF0aW9uU3RhcnQpLGc9cihmLGMuaXRlcmF0aW9uU3RhcnQsZCxjLml0ZXJhdGlvbnMsZSxjLmR1cmF0aW9uKSxoPXMoZCxjLml0ZXJhdGlvbnMsZyxmKSxpPXQoYy5kaXJlY3Rpb24saCxnKTtyZXR1cm4gYy5fZWFzaW5nRnVuY3Rpb24oaSl9dmFyIHY9ImJhY2t3YXJkc3xmb3J3YXJkc3xib3RofG5vbmUiLnNwbGl0KCJ8Iiksdz0icmV2ZXJzZXxhbHRlcm5hdGV8YWx0ZXJuYXRlLXJldmVyc2UiLnNwbGl0KCJ8IikseD1mdW5jdGlvbihhKXtyZXR1cm4gYX07ZC5wcm90b3R5cGU9e19zZXRNZW1iZXI6ZnVuY3Rpb24oYixjKXt0aGlzWyJfIitiXT1jLHRoaXMuX2VmZmVjdCYmKHRoaXMuX2VmZmVjdC5fdGltaW5nSW5wdXRbYl09Yyx0aGlzLl9lZmZlY3QuX3RpbWluZz1hLm5vcm1hbGl6ZVRpbWluZ0lucHV0KHRoaXMuX2VmZmVjdC5fdGltaW5nSW5wdXQpLHRoaXMuX2VmZmVjdC5hY3RpdmVEdXJhdGlvbj1hLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKHRoaXMuX2VmZmVjdC5fdGltaW5nKSx0aGlzLl9lZmZlY3QuX2FuaW1hdGlvbiYmdGhpcy5fZWZmZWN0Ll9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCkpfSxnZXQgcGxheWJhY2tSYXRlKCl7cmV0dXJuIHRoaXMuX3BsYXliYWNrUmF0ZX0sc2V0IGRlbGF5KGEpe3RoaXMuX3NldE1lbWJlcigiZGVsYXkiLGEpfSxnZXQgZGVsYXkoKXtyZXR1cm4gdGhpcy5fZGVsYXl9LHNldCBlbmREZWxheShhKXt0aGlzLl9zZXRNZW1iZXIoImVuZERlbGF5IixhKX0sZ2V0IGVuZERlbGF5KCl7cmV0dXJuIHRoaXMuX2VuZERlbGF5fSxzZXQgZmlsbChhKXt0aGlzLl9zZXRNZW1iZXIoImZpbGwiLGEpfSxnZXQgZmlsbCgpe3JldHVybiB0aGlzLl9maWxsfSxzZXQgaXRlcmF0aW9uU3RhcnQoYSl7aWYoKGlzTmFOKGEpfHxhPDApJiZlKCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiaXRlcmF0aW9uU3RhcnQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIsIHJlY2VpdmVkOiAiK2EpO3RoaXMuX3NldE1lbWJlcigiaXRlcmF0aW9uU3RhcnQiLGEpfSxnZXQgaXRlcmF0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5faXRlcmF0aW9uU3RhcnR9LHNldCBkdXJhdGlvbihhKXtpZigiYXV0byIhPWEmJihpc05hTihhKXx8YTwwKSYmZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoImR1cmF0aW9uIG11c3QgYmUgbm9uLW5lZ2F0aXZlIG9yIGF1dG8sIHJlY2VpdmVkOiAiK2EpO3RoaXMuX3NldE1lbWJlcigiZHVyYXRpb24iLGEpfSxnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy5fZHVyYXRpb259LHNldCBkaXJlY3Rpb24oYSl7dGhpcy5fc2V0TWVtYmVyKCJkaXJlY3Rpb24iLGEpfSxnZXQgZGlyZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2RpcmVjdGlvbn0sc2V0IGVhc2luZyhhKXt0aGlzLl9lYXNpbmdGdW5jdGlvbj1sKGsoYSkpLHRoaXMuX3NldE1lbWJlcigiZWFzaW5nIixhKX0sZ2V0IGVhc2luZygpe3JldHVybiB0aGlzLl9lYXNpbmd9LHNldCBpdGVyYXRpb25zKGEpe2lmKChpc05hTihhKXx8YTwwKSYmZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoIml0ZXJhdGlvbnMgbXVzdCBiZSBub24tbmVnYXRpdmUsIHJlY2VpdmVkOiAiK2EpO3RoaXMuX3NldE1lbWJlcigiaXRlcmF0aW9ucyIsYSl9LGdldCBpdGVyYXRpb25zKCl7cmV0dXJuIHRoaXMuX2l0ZXJhdGlvbnN9fTt2YXIgeT0xLHo9LjUsQT0wLEI9e2Vhc2U6aSguMjUsLjEsLjI1LDEpLCJlYXNlLWluIjppKC40MiwwLDEsMSksImVhc2Utb3V0IjppKDAsMCwuNTgsMSksImVhc2UtaW4tb3V0IjppKC40MiwwLC41OCwxKSwic3RlcC1zdGFydCI6aigxLHkpLCJzdGVwLW1pZGRsZSI6aigxLHopLCJzdGVwLWVuZCI6aigxLEEpfSxDPW51bGwsRD0iXFxzKigtP1xcZCtcXC4/XFxkKnwtP1xcLlxcZCspXFxzKiIsRT1uZXcgUmVnRXhwKCJjdWJpYy1iZXppZXJcXCgiK0QrIiwiK0QrIiwiK0QrIiwiK0QrIlxcKSIpLEY9L3N0ZXBzXChccyooXGQrKVxzKlwpLyxHPS9zdGVwc1woXHMqKFxkKylccyosXHMqKHN0YXJ0fG1pZGRsZXxlbmQpXHMqXCkvLEg9MCxJPTEsSj0yLEs9MzthLmNsb25lVGltaW5nSW5wdXQ9YyxhLm1ha2VUaW1pbmc9ZixhLm51bWVyaWNUaW1pbmdUb09iamVjdD1nLGEubm9ybWFsaXplVGltaW5nSW5wdXQ9aCxhLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uPW0sYS5jYWxjdWxhdGVJdGVyYXRpb25Qcm9ncmVzcz11LGEuY2FsY3VsYXRlUGhhc2U9byxhLm5vcm1hbGl6ZUVhc2luZz1rLGEucGFyc2VFYXNpbmdGdW5jdGlvbj1sfShhKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiKXtyZXR1cm4gYSBpbiBrP2tbYV1bYl18fGI6Yn1mdW5jdGlvbiBkKGEpe3JldHVybiJkaXNwbGF5Ij09PWF8fDA9PT1hLmxhc3RJbmRleE9mKCJhbmltYXRpb24iLDApfHwwPT09YS5sYXN0SW5kZXhPZigidHJhbnNpdGlvbiIsMCl9ZnVuY3Rpb24gZShhLGIsZSl7aWYoIWQoYSkpe3ZhciBmPWhbYV07aWYoZil7aS5zdHlsZVthXT1iO2Zvcih2YXIgZyBpbiBmKXt2YXIgaj1mW2ddLGs9aS5zdHlsZVtqXTtlW2pdPWMoaixrKX19ZWxzZSBlW2FdPWMoYSxiKX19ZnVuY3Rpb24gZihhKXt2YXIgYj1bXTtmb3IodmFyIGMgaW4gYSlpZighKGMgaW5bImVhc2luZyIsIm9mZnNldCIsImNvbXBvc2l0ZSJdKSl7dmFyIGQ9YVtjXTtBcnJheS5pc0FycmF5KGQpfHwoZD1bZF0pO2Zvcih2YXIgZSxmPWQubGVuZ3RoLGc9MDtnPGY7ZysrKWU9e30sZS5vZmZzZXQ9Im9mZnNldCJpbiBhP2Eub2Zmc2V0OjE9PWY/MTpnLyhmLTEpLCJlYXNpbmciaW4gYSYmKGUuZWFzaW5nPWEuZWFzaW5nKSwiY29tcG9zaXRlImluIGEmJihlLmNvbXBvc2l0ZT1hLmNvbXBvc2l0ZSksZVtjXT1kW2ddLGIucHVzaChlKX1yZXR1cm4gYi5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEub2Zmc2V0LWIub2Zmc2V0fSksYn1mdW5jdGlvbiBnKGIpe2Z1bmN0aW9uIGMoKXt2YXIgYT1kLmxlbmd0aDtudWxsPT1kW2EtMV0ub2Zmc2V0JiYoZFthLTFdLm9mZnNldD0xKSxhPjEmJm51bGw9PWRbMF0ub2Zmc2V0JiYoZFswXS5vZmZzZXQ9MCk7Zm9yKHZhciBiPTAsYz1kWzBdLm9mZnNldCxlPTE7ZTxhO2UrKyl7dmFyIGY9ZFtlXS5vZmZzZXQ7aWYobnVsbCE9Zil7Zm9yKHZhciBnPTE7ZzxlLWI7ZysrKWRbYitnXS5vZmZzZXQ9YysoZi1jKSpnLyhlLWIpO2I9ZSxjPWZ9fX1pZihudWxsPT1iKXJldHVybltdO3dpbmRvdy5TeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmQXJyYXkucHJvdG90eXBlLmZyb20mJmJbU3ltYm9sLml0ZXJhdG9yXSYmKGI9QXJyYXkuZnJvbShiKSksQXJyYXkuaXNBcnJheShiKXx8KGI9ZihiKSk7Zm9yKHZhciBkPWIubWFwKGZ1bmN0aW9uKGIpe3ZhciBjPXt9O2Zvcih2YXIgZCBpbiBiKXt2YXIgZj1iW2RdO2lmKCJvZmZzZXQiPT1kKXtpZihudWxsIT1mKXtpZihmPU51bWJlcihmKSwhaXNGaW5pdGUoZikpdGhyb3cgbmV3IFR5cGVFcnJvcigiS2V5ZnJhbWUgb2Zmc2V0cyBtdXN0IGJlIG51bWJlcnMuIik7aWYoZjwwfHxmPjEpdGhyb3cgbmV3IFR5cGVFcnJvcigiS2V5ZnJhbWUgb2Zmc2V0cyBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMS4iKX19ZWxzZSBpZigiY29tcG9zaXRlIj09ZCl7aWYoImFkZCI9PWZ8fCJhY2N1bXVsYXRlIj09Zil0aHJvd3t0eXBlOkRPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUixuYW1lOiJOb3RTdXBwb3J0ZWRFcnJvciIsbWVzc2FnZToiYWRkIGNvbXBvc2l0aW5nIGlzIG5vdCBzdXBwb3J0ZWQifTtpZigicmVwbGFjZSIhPWYpdGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBjb21wb3NpdGUgbW9kZSAiK2YrIi4iKX1lbHNlIGY9ImVhc2luZyI9PWQ/YS5ub3JtYWxpemVFYXNpbmcoZik6IiIrZjtlKGQsZixjKX1yZXR1cm4gdm9pZCAwPT1jLm9mZnNldCYmKGMub2Zmc2V0PW51bGwpLHZvaWQgMD09Yy5lYXNpbmcmJihjLmVhc2luZz0ibGluZWFyIiksY30pLGc9ITAsaD0tMS8wLGk9MDtpPGQubGVuZ3RoO2krKyl7dmFyIGo9ZFtpXS5vZmZzZXQ7aWYobnVsbCE9ail7aWYoajxoKXRocm93IG5ldyBUeXBlRXJyb3IoIktleWZyYW1lcyBhcmUgbm90IGxvb3NlbHkgc29ydGVkIGJ5IG9mZnNldC4gU29ydCBvciBzcGVjaWZ5IG9mZnNldHMuIik7aD1qfWVsc2UgZz0hMX1yZXR1cm4gZD1kLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXQ+PTAmJmEub2Zmc2V0PD0xfSksZ3x8YygpLGR9dmFyIGg9e2JhY2tncm91bmQ6WyJiYWNrZ3JvdW5kSW1hZ2UiLCJiYWNrZ3JvdW5kUG9zaXRpb24iLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRSZXBlYXQiLCJiYWNrZ3JvdW5kQXR0YWNobWVudCIsImJhY2tncm91bmRPcmlnaW4iLCJiYWNrZ3JvdW5kQ2xpcCIsImJhY2tncm91bmRDb2xvciJdLGJvcmRlcjpbImJvcmRlclRvcENvbG9yIiwiYm9yZGVyVG9wU3R5bGUiLCJib3JkZXJUb3BXaWR0aCIsImJvcmRlclJpZ2h0Q29sb3IiLCJib3JkZXJSaWdodFN0eWxlIiwiYm9yZGVyUmlnaHRXaWR0aCIsImJvcmRlckJvdHRvbUNvbG9yIiwiYm9yZGVyQm90dG9tU3R5bGUiLCJib3JkZXJCb3R0b21XaWR0aCIsImJvcmRlckxlZnRDb2xvciIsImJvcmRlckxlZnRTdHlsZSIsImJvcmRlckxlZnRXaWR0aCJdLGJvcmRlckJvdHRvbTpbImJvcmRlckJvdHRvbVdpZHRoIiwiYm9yZGVyQm90dG9tU3R5bGUiLCJib3JkZXJCb3R0b21Db2xvciJdLGJvcmRlckNvbG9yOlsiYm9yZGVyVG9wQ29sb3IiLCJib3JkZXJSaWdodENvbG9yIiwiYm9yZGVyQm90dG9tQ29sb3IiLCJib3JkZXJMZWZ0Q29sb3IiXSxib3JkZXJMZWZ0OlsiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyTGVmdFN0eWxlIiwiYm9yZGVyTGVmdENvbG9yIl0sYm9yZGVyUmFkaXVzOlsiYm9yZGVyVG9wTGVmdFJhZGl1cyIsImJvcmRlclRvcFJpZ2h0UmFkaXVzIiwiYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMiLCJib3JkZXJCb3R0b21MZWZ0UmFkaXVzIl0sYm9yZGVyUmlnaHQ6WyJib3JkZXJSaWdodFdpZHRoIiwiYm9yZGVyUmlnaHRTdHlsZSIsImJvcmRlclJpZ2h0Q29sb3IiXSxib3JkZXJUb3A6WyJib3JkZXJUb3BXaWR0aCIsImJvcmRlclRvcFN0eWxlIiwiYm9yZGVyVG9wQ29sb3IiXSxib3JkZXJXaWR0aDpbImJvcmRlclRvcFdpZHRoIiwiYm9yZGVyUmlnaHRXaWR0aCIsImJvcmRlckJvdHRvbVdpZHRoIiwiYm9yZGVyTGVmdFdpZHRoIl0sZmxleDpbImZsZXhHcm93IiwiZmxleFNocmluayIsImZsZXhCYXNpcyJdLGZvbnQ6WyJmb250RmFtaWx5IiwiZm9udFNpemUiLCJmb250U3R5bGUiLCJmb250VmFyaWFudCIsImZvbnRXZWlnaHQiLCJsaW5lSGVpZ2h0Il0sbWFyZ2luOlsibWFyZ2luVG9wIiwibWFyZ2luUmlnaHQiLCJtYXJnaW5Cb3R0b20iLCJtYXJnaW5MZWZ0Il0sb3V0bGluZTpbIm91dGxpbmVDb2xvciIsIm91dGxpbmVTdHlsZSIsIm91dGxpbmVXaWR0aCJdLHBhZGRpbmc6WyJwYWRkaW5nVG9wIiwicGFkZGluZ1JpZ2h0IiwicGFkZGluZ0JvdHRvbSIsInBhZGRpbmdMZWZ0Il19LGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2Iiksaj17dGhpbjoiMXB4IixtZWRpdW06IjNweCIsdGhpY2s6IjVweCJ9LGs9e2JvcmRlckJvdHRvbVdpZHRoOmosYm9yZGVyTGVmdFdpZHRoOmosYm9yZGVyUmlnaHRXaWR0aDpqLGJvcmRlclRvcFdpZHRoOmosZm9udFNpemU6eyJ4eC1zbWFsbCI6IjYwJSIsIngtc21hbGwiOiI3NSUiLHNtYWxsOiI4OSUiLG1lZGl1bToiMTAwJSIsbGFyZ2U6IjEyMCUiLCJ4LWxhcmdlIjoiMTUwJSIsInh4LWxhcmdlIjoiMjAwJSJ9LGZvbnRXZWlnaHQ6e25vcm1hbDoiNDAwIixib2xkOiI3MDAifSxvdXRsaW5lV2lkdGg6aix0ZXh0U2hhZG93Ontub25lOiIwcHggMHB4IDBweCB0cmFuc3BhcmVudCJ9LGJveFNoYWRvdzp7bm9uZToiMHB4IDBweCAwcHggMHB4IHRyYW5zcGFyZW50In19O2EuY29udmVydFRvQXJyYXlGb3JtPWYsYS5ub3JtYWxpemVLZXlmcmFtZXM9Z30oYSksZnVuY3Rpb24oYSl7dmFyIGI9e307YS5pc0RlcHJlY2F0ZWQ9ZnVuY3Rpb24oYSxjLGQsZSl7dmFyIGY9ZT8iYXJlIjoiaXMiLGc9bmV3IERhdGUsaD1uZXcgRGF0ZShjKTtyZXR1cm4gaC5zZXRNb250aChoLmdldE1vbnRoKCkrMyksIShnPGgmJihhIGluIGJ8fGNvbnNvbGUud2FybigiV2ViIEFuaW1hdGlvbnM6ICIrYSsiICIrZisiIGRlcHJlY2F0ZWQgYW5kIHdpbGwgc3RvcCB3b3JraW5nIG9uICIraC50b0RhdGVTdHJpbmcoKSsiLiAiK2QpLGJbYV09ITAsMSkpfSxhLmRlcHJlY2F0ZWQ9ZnVuY3Rpb24oYixjLGQsZSl7dmFyIGY9ZT8iYXJlIjoiaXMiO2lmKGEuaXNEZXByZWNhdGVkKGIsYyxkLGUpKXRocm93IG5ldyBFcnJvcihiKyIgIitmKyIgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gIitkKX19KGEpLGZ1bmN0aW9uKCl7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFuaW1hdGUpe3ZhciBjPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hbmltYXRlKFtdLDApLGQ9ITA7aWYoYyYmKGQ9ITEsInBsYXl8Y3VycmVudFRpbWV8cGF1c2V8cmV2ZXJzZXxwbGF5YmFja1JhdGV8Y2FuY2VsfGZpbmlzaHxzdGFydFRpbWV8cGxheVN0YXRlIi5zcGxpdCgifCIpLmZvckVhY2goZnVuY3Rpb24oYSl7dm9pZCAwPT09Y1thXSYmKGQ9ITApfSkpLCFkKXJldHVybn0hZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7Zm9yKHZhciBiPXt9LGM9MDtjPGEubGVuZ3RoO2MrKylmb3IodmFyIGQgaW4gYVtjXSlpZigib2Zmc2V0IiE9ZCYmImVhc2luZyIhPWQmJiJjb21wb3NpdGUiIT1kKXt2YXIgZT17b2Zmc2V0OmFbY10ub2Zmc2V0LGVhc2luZzphW2NdLmVhc2luZyx2YWx1ZTphW2NdW2RdfTtiW2RdPWJbZF18fFtdLGJbZF0ucHVzaChlKX1mb3IodmFyIGYgaW4gYil7dmFyIGc9YltmXTtpZigwIT1nWzBdLm9mZnNldHx8MSE9Z1tnLmxlbmd0aC0xXS5vZmZzZXQpdGhyb3d7dHlwZTpET01FeGNlcHRpb24uTk9UX1NVUFBPUlRFRF9FUlIsbmFtZToiTm90U3VwcG9ydGVkRXJyb3IiLG1lc3NhZ2U6IlBhcnRpYWwga2V5ZnJhbWVzIGFyZSBub3Qgc3VwcG9ydGVkIn19cmV0dXJuIGJ9ZnVuY3Rpb24gZShjKXt2YXIgZD1bXTtmb3IodmFyIGUgaW4gYylmb3IodmFyIGY9Y1tlXSxnPTA7ZzxmLmxlbmd0aC0xO2crKyl7dmFyIGg9ZyxpPWcrMSxqPWZbaF0ub2Zmc2V0LGs9ZltpXS5vZmZzZXQsbD1qLG09azswPT1nJiYobD0tMS8wLDA9PWsmJihpPWgpKSxnPT1mLmxlbmd0aC0yJiYobT0xLzAsMT09aiYmKGg9aSkpLGQucHVzaCh7YXBwbHlGcm9tOmwsYXBwbHlUbzptLHN0YXJ0T2Zmc2V0OmZbaF0ub2Zmc2V0LGVuZE9mZnNldDpmW2ldLm9mZnNldCxlYXNpbmdGdW5jdGlvbjphLnBhcnNlRWFzaW5nRnVuY3Rpb24oZltoXS5lYXNpbmcpLHByb3BlcnR5OmUsaW50ZXJwb2xhdGlvbjpiLnByb3BlcnR5SW50ZXJwb2xhdGlvbihlLGZbaF0udmFsdWUsZltpXS52YWx1ZSl9KX1yZXR1cm4gZC5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3RhcnRPZmZzZXQtYi5zdGFydE9mZnNldH0pLGR9Yi5jb252ZXJ0RWZmZWN0SW5wdXQ9ZnVuY3Rpb24oYyl7dmFyIGY9YS5ub3JtYWxpemVLZXlmcmFtZXMoYyksZz1kKGYpLGg9ZShnKTtyZXR1cm4gZnVuY3Rpb24oYSxjKXtpZihudWxsIT1jKWguZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBjPj1hLmFwcGx5RnJvbSYmYzxhLmFwcGx5VG99KS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPWMtZC5zdGFydE9mZnNldCxmPWQuZW5kT2Zmc2V0LWQuc3RhcnRPZmZzZXQsZz0wPT1mPzA6ZC5lYXNpbmdGdW5jdGlvbihlL2YpO2IuYXBwbHkoYSxkLnByb3BlcnR5LGQuaW50ZXJwb2xhdGlvbihnKSl9KTtlbHNlIGZvcih2YXIgZCBpbiBnKSJvZmZzZXQiIT1kJiYiZWFzaW5nIiE9ZCYmImNvbXBvc2l0ZSIhPWQmJmIuY2xlYXIoYSxkKX19fShhLGIpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEpe3JldHVybiBhLnJlcGxhY2UoLy0oLikvZyxmdW5jdGlvbihhLGIpe3JldHVybiBiLnRvVXBwZXJDYXNlKCl9KX1mdW5jdGlvbiBlKGEsYixjKXtoW2NdPWhbY118fFtdLGhbY10ucHVzaChbYSxiXSl9ZnVuY3Rpb24gZihhLGIsYyl7Zm9yKHZhciBmPTA7ZjxjLmxlbmd0aDtmKyspe2UoYSxiLGQoY1tmXSkpfX1mdW5jdGlvbiBnKGMsZSxmKXt2YXIgZz1jOy8tLy50ZXN0KGMpJiYhYS5pc0RlcHJlY2F0ZWQoIkh5cGhlbmF0ZWQgcHJvcGVydHkgbmFtZXMiLCIyMDE2LTAzLTIyIiwiVXNlIGNhbWVsQ2FzZSBpbnN0ZWFkLiIsITApJiYoZz1kKGMpKSwiaW5pdGlhbCIhPWUmJiJpbml0aWFsIiE9Znx8KCJpbml0aWFsIj09ZSYmKGU9aVtnXSksImluaXRpYWwiPT1mJiYoZj1pW2ddKSk7Zm9yKHZhciBqPWU9PWY/W106aFtnXSxrPTA7aiYmazxqLmxlbmd0aDtrKyspe3ZhciBsPWpba11bMF0oZSksbT1qW2tdWzBdKGYpO2lmKHZvaWQgMCE9PWwmJnZvaWQgMCE9PW0pe3ZhciBuPWpba11bMV0obCxtKTtpZihuKXt2YXIgbz1iLkludGVycG9sYXRpb24uYXBwbHkobnVsbCxuKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIDA9PWE/ZToxPT1hP2Y6byhhKX19fX1yZXR1cm4gYi5JbnRlcnBvbGF0aW9uKCExLCEwLGZ1bmN0aW9uKGEpe3JldHVybiBhP2Y6ZX0pfXZhciBoPXt9O2IuYWRkUHJvcGVydGllc0hhbmRsZXI9Zjt2YXIgaT17YmFja2dyb3VuZENvbG9yOiJ0cmFuc3BhcmVudCIsYmFja2dyb3VuZFBvc2l0aW9uOiIwJSAwJSIsYm9yZGVyQm90dG9tQ29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyQm90dG9tTGVmdFJhZGl1czoiMHB4Iixib3JkZXJCb3R0b21SaWdodFJhZGl1czoiMHB4Iixib3JkZXJCb3R0b21XaWR0aDoiM3B4Iixib3JkZXJMZWZ0Q29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyTGVmdFdpZHRoOiIzcHgiLGJvcmRlclJpZ2h0Q29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyUmlnaHRXaWR0aDoiM3B4Iixib3JkZXJTcGFjaW5nOiIycHgiLGJvcmRlclRvcENvbG9yOiJjdXJyZW50Q29sb3IiLGJvcmRlclRvcExlZnRSYWRpdXM6IjBweCIsYm9yZGVyVG9wUmlnaHRSYWRpdXM6IjBweCIsYm9yZGVyVG9wV2lkdGg6IjNweCIsYm90dG9tOiJhdXRvIixjbGlwOiJyZWN0KDBweCwgMHB4LCAwcHgsIDBweCkiLGNvbG9yOiJibGFjayIsZm9udFNpemU6IjEwMCUiLGZvbnRXZWlnaHQ6IjQwMCIsaGVpZ2h0OiJhdXRvIixsZWZ0OiJhdXRvIixsZXR0ZXJTcGFjaW5nOiJub3JtYWwiLGxpbmVIZWlnaHQ6IjEyMCUiLG1hcmdpbkJvdHRvbToiMHB4IixtYXJnaW5MZWZ0OiIwcHgiLG1hcmdpblJpZ2h0OiIwcHgiLG1hcmdpblRvcDoiMHB4IixtYXhIZWlnaHQ6Im5vbmUiLG1heFdpZHRoOiJub25lIixtaW5IZWlnaHQ6IjBweCIsbWluV2lkdGg6IjBweCIsb3BhY2l0eToiMS4wIixvdXRsaW5lQ29sb3I6ImludmVydCIsb3V0bGluZU9mZnNldDoiMHB4IixvdXRsaW5lV2lkdGg6IjNweCIscGFkZGluZ0JvdHRvbToiMHB4IixwYWRkaW5nTGVmdDoiMHB4IixwYWRkaW5nUmlnaHQ6IjBweCIscGFkZGluZ1RvcDoiMHB4IixyaWdodDoiYXV0byIsc3Ryb2tlRGFzaGFycmF5OiJub25lIixzdHJva2VEYXNob2Zmc2V0OiIwcHgiLHRleHRJbmRlbnQ6IjBweCIsdGV4dFNoYWRvdzoiMHB4IDBweCAwcHggdHJhbnNwYXJlbnQiLHRvcDoiYXV0byIsdHJhbnNmb3JtOiIiLHZlcnRpY2FsQWxpZ246IjBweCIsdmlzaWJpbGl0eToidmlzaWJsZSIsd2lkdGg6ImF1dG8iLHdvcmRTcGFjaW5nOiJub3JtYWwiLHpJbmRleDoiYXV0byJ9O2IucHJvcGVydHlJbnRlcnBvbGF0aW9uPWd9KGEsYiksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYil7dmFyIGM9YS5jYWxjdWxhdGVBY3RpdmVEdXJhdGlvbihiKSxkPWZ1bmN0aW9uKGQpe3JldHVybiBhLmNhbGN1bGF0ZUl0ZXJhdGlvblByb2dyZXNzKGMsZCxiKX07cmV0dXJuIGQuX3RvdGFsRHVyYXRpb249Yi5kZWxheStjK2IuZW5kRGVsYXksZH1iLktleWZyYW1lRWZmZWN0PWZ1bmN0aW9uKGMsZSxmLGcpe3ZhciBoLGk9ZChhLm5vcm1hbGl6ZVRpbWluZ0lucHV0KGYpKSxqPWIuY29udmVydEVmZmVjdElucHV0KGUpLGs9ZnVuY3Rpb24oKXtqKGMsaCl9O3JldHVybiBrLl91cGRhdGU9ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPT0oaD1pKGEpKX0say5fY2xlYXI9ZnVuY3Rpb24oKXtqKGMsbnVsbCl9LGsuX2hhc1NhbWVUYXJnZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGM9PT1hfSxrLl90YXJnZXQ9YyxrLl90b3RhbER1cmF0aW9uPWkuX3RvdGFsRHVyYXRpb24say5faWQ9ZyxrfX0oYSxiKSxmdW5jdGlvbihhLGIpe2EuYXBwbHk9ZnVuY3Rpb24oYixjLGQpe2Iuc3R5bGVbYS5wcm9wZXJ0eU5hbWUoYyldPWR9LGEuY2xlYXI9ZnVuY3Rpb24oYixjKXtiLnN0eWxlW2EucHJvcGVydHlOYW1lKGMpXT0iIn19KGIpLGZ1bmN0aW9uKGEpe3dpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9IiI7cmV0dXJuIGMmJmMuaWQmJihkPWMuaWQpLGEudGltZWxpbmUuX3BsYXkoYS5LZXlmcmFtZUVmZmVjdCh0aGlzLGIsYyxkKSl9fShiKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiLGQpe2lmKCJudW1iZXIiPT10eXBlb2YgYSYmIm51bWJlciI9PXR5cGVvZiBiKXJldHVybiBhKigxLWQpK2IqZDtpZigiYm9vbGVhbiI9PXR5cGVvZiBhJiYiYm9vbGVhbiI9PXR5cGVvZiBiKXJldHVybiBkPC41P2E6YjtpZihhLmxlbmd0aD09Yi5sZW5ndGgpe2Zvcih2YXIgZT1bXSxmPTA7ZjxhLmxlbmd0aDtmKyspZS5wdXNoKGMoYVtmXSxiW2ZdLGQpKTtyZXR1cm4gZX10aHJvdyJNaXNtYXRjaGVkIGludGVycG9sYXRpb24gYXJndW1lbnRzICIrYSsiOiIrYn1hLkludGVycG9sYXRpb249ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZChjKGEsYixlKSl9fX0oYiksZnVuY3Rpb24oYSxiLGMpe2Euc2VxdWVuY2VOdW1iZXI9MDt2YXIgZD1mdW5jdGlvbihhLGIsYyl7dGhpcy50YXJnZXQ9YSx0aGlzLmN1cnJlbnRUaW1lPWIsdGhpcy50aW1lbGluZVRpbWU9Yyx0aGlzLnR5cGU9ImZpbmlzaCIsdGhpcy5idWJibGVzPSExLHRoaXMuY2FuY2VsYWJsZT0hMSx0aGlzLmN1cnJlbnRUYXJnZXQ9YSx0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9ITEsdGhpcy5ldmVudFBoYXNlPUV2ZW50LkFUX1RBUkdFVCx0aGlzLnRpbWVTdGFtcD1EYXRlLm5vdygpfTtiLkFuaW1hdGlvbj1mdW5jdGlvbihiKXt0aGlzLmlkPSIiLGImJmIuX2lkJiYodGhpcy5pZD1iLl9pZCksdGhpcy5fc2VxdWVuY2VOdW1iZXI9YS5zZXF1ZW5jZU51bWJlcisrLHRoaXMuX2N1cnJlbnRUaW1lPTAsdGhpcy5fc3RhcnRUaW1lPW51bGwsdGhpcy5fcGF1c2VkPSExLHRoaXMuX3BsYXliYWNrUmF0ZT0xLHRoaXMuX2luVGltZWxpbmU9ITAsdGhpcy5fZmluaXNoZWRGbGFnPSEwLHRoaXMub25maW5pc2g9bnVsbCx0aGlzLl9maW5pc2hIYW5kbGVycz1bXSx0aGlzLl9lZmZlY3Q9Yix0aGlzLl9pbkVmZmVjdD10aGlzLl9lZmZlY3QuX3VwZGF0ZSgwKSx0aGlzLl9pZGxlPSEwLHRoaXMuX2N1cnJlbnRUaW1lUGVuZGluZz0hMX0sYi5BbmltYXRpb24ucHJvdG90eXBlPXtfZW5zdXJlQWxpdmU6ZnVuY3Rpb24oKXt0aGlzLnBsYXliYWNrUmF0ZTwwJiYwPT09dGhpcy5jdXJyZW50VGltZT90aGlzLl9pbkVmZmVjdD10aGlzLl9lZmZlY3QuX3VwZGF0ZSgtMSk6dGhpcy5faW5FZmZlY3Q9dGhpcy5fZWZmZWN0Ll91cGRhdGUodGhpcy5jdXJyZW50VGltZSksdGhpcy5faW5UaW1lbGluZXx8IXRoaXMuX2luRWZmZWN0JiZ0aGlzLl9maW5pc2hlZEZsYWd8fCh0aGlzLl9pblRpbWVsaW5lPSEwLGIudGltZWxpbmUuX2FuaW1hdGlvbnMucHVzaCh0aGlzKSl9LF90aWNrQ3VycmVudFRpbWU6ZnVuY3Rpb24oYSxiKXthIT10aGlzLl9jdXJyZW50VGltZSYmKHRoaXMuX2N1cnJlbnRUaW1lPWEsdGhpcy5faXNGaW5pc2hlZCYmIWImJih0aGlzLl9jdXJyZW50VGltZT10aGlzLl9wbGF5YmFja1JhdGU+MD90aGlzLl90b3RhbER1cmF0aW9uOjApLHRoaXMuX2Vuc3VyZUFsaXZlKCkpfSxnZXQgY3VycmVudFRpbWUoKXtyZXR1cm4gdGhpcy5faWRsZXx8dGhpcy5fY3VycmVudFRpbWVQZW5kaW5nP251bGw6dGhpcy5fY3VycmVudFRpbWV9LHNldCBjdXJyZW50VGltZShhKXthPSthLGlzTmFOKGEpfHwoYi5yZXN0YXJ0KCksdGhpcy5fcGF1c2VkfHxudWxsPT10aGlzLl9zdGFydFRpbWV8fCh0aGlzLl9zdGFydFRpbWU9dGhpcy5fdGltZWxpbmUuY3VycmVudFRpbWUtYS90aGlzLl9wbGF5YmFja1JhdGUpLHRoaXMuX2N1cnJlbnRUaW1lUGVuZGluZz0hMSx0aGlzLl9jdXJyZW50VGltZSE9YSYmKHRoaXMuX2lkbGUmJih0aGlzLl9pZGxlPSExLHRoaXMuX3BhdXNlZD0hMCksdGhpcy5fdGlja0N1cnJlbnRUaW1lKGEsITApLGIuYXBwbHlEaXJ0aWVkQW5pbWF0aW9uKHRoaXMpKSl9LGdldCBzdGFydFRpbWUoKXtyZXR1cm4gdGhpcy5fc3RhcnRUaW1lfSxzZXQgc3RhcnRUaW1lKGEpe2E9K2EsaXNOYU4oYSl8fHRoaXMuX3BhdXNlZHx8dGhpcy5faWRsZXx8KHRoaXMuX3N0YXJ0VGltZT1hLHRoaXMuX3RpY2tDdXJyZW50VGltZSgodGhpcy5fdGltZWxpbmUuY3VycmVudFRpbWUtdGhpcy5fc3RhcnRUaW1lKSp0aGlzLnBsYXliYWNrUmF0ZSksYi5hcHBseURpcnRpZWRBbmltYXRpb24odGhpcykpfSxnZXQgcGxheWJhY2tSYXRlKCl7cmV0dXJuIHRoaXMuX3BsYXliYWNrUmF0ZX0sc2V0IHBsYXliYWNrUmF0ZShhKXtpZihhIT10aGlzLl9wbGF5YmFja1JhdGUpe3ZhciBjPXRoaXMuY3VycmVudFRpbWU7dGhpcy5fcGxheWJhY2tSYXRlPWEsdGhpcy5fc3RhcnRUaW1lPW51bGwsInBhdXNlZCIhPXRoaXMucGxheVN0YXRlJiYiaWRsZSIhPXRoaXMucGxheVN0YXRlJiYodGhpcy5fZmluaXNoZWRGbGFnPSExLHRoaXMuX2lkbGU9ITEsdGhpcy5fZW5zdXJlQWxpdmUoKSxiLmFwcGx5RGlydGllZEFuaW1hdGlvbih0aGlzKSksbnVsbCE9YyYmKHRoaXMuY3VycmVudFRpbWU9Yyl9fSxnZXQgX2lzRmluaXNoZWQoKXtyZXR1cm4hdGhpcy5faWRsZSYmKHRoaXMuX3BsYXliYWNrUmF0ZT4wJiZ0aGlzLl9jdXJyZW50VGltZT49dGhpcy5fdG90YWxEdXJhdGlvbnx8dGhpcy5fcGxheWJhY2tSYXRlPDAmJnRoaXMuX2N1cnJlbnRUaW1lPD0wKX0sZ2V0IF90b3RhbER1cmF0aW9uKCl7cmV0dXJuIHRoaXMuX2VmZmVjdC5fdG90YWxEdXJhdGlvbn0sZ2V0IHBsYXlTdGF0ZSgpe3JldHVybiB0aGlzLl9pZGxlPyJpZGxlIjpudWxsPT10aGlzLl9zdGFydFRpbWUmJiF0aGlzLl9wYXVzZWQmJjAhPXRoaXMucGxheWJhY2tSYXRlfHx0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc/InBlbmRpbmciOnRoaXMuX3BhdXNlZD8icGF1c2VkIjp0aGlzLl9pc0ZpbmlzaGVkPyJmaW5pc2hlZCI6InJ1bm5pbmcifSxfcmV3aW5kOmZ1bmN0aW9uKCl7aWYodGhpcy5fcGxheWJhY2tSYXRlPj0wKXRoaXMuX2N1cnJlbnRUaW1lPTA7ZWxzZXtpZighKHRoaXMuX3RvdGFsRHVyYXRpb248MS8wKSl0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJVbmFibGUgdG8gcmV3aW5kIG5lZ2F0aXZlIHBsYXliYWNrIHJhdGUgYW5pbWF0aW9uIHdpdGggaW5maW5pdGUgZHVyYXRpb24iLCJJbnZhbGlkU3RhdGVFcnJvciIpO3RoaXMuX2N1cnJlbnRUaW1lPXRoaXMuX3RvdGFsRHVyYXRpb259fSxwbGF5OmZ1bmN0aW9uKCl7dGhpcy5fcGF1c2VkPSExLCh0aGlzLl9pc0ZpbmlzaGVkfHx0aGlzLl9pZGxlKSYmKHRoaXMuX3Jld2luZCgpLHRoaXMuX3N0YXJ0VGltZT1udWxsKSx0aGlzLl9maW5pc2hlZEZsYWc9ITEsdGhpcy5faWRsZT0hMSx0aGlzLl9lbnN1cmVBbGl2ZSgpLGIuYXBwbHlEaXJ0aWVkQW5pbWF0aW9uKHRoaXMpfSxwYXVzZTpmdW5jdGlvbigpe3RoaXMuX2lzRmluaXNoZWR8fHRoaXMuX3BhdXNlZHx8dGhpcy5faWRsZT90aGlzLl9pZGxlJiYodGhpcy5fcmV3aW5kKCksdGhpcy5faWRsZT0hMSk6dGhpcy5fY3VycmVudFRpbWVQZW5kaW5nPSEwLHRoaXMuX3N0YXJ0VGltZT1udWxsLHRoaXMuX3BhdXNlZD0hMH0sZmluaXNoOmZ1bmN0aW9uKCl7dGhpcy5faWRsZXx8KHRoaXMuY3VycmVudFRpbWU9dGhpcy5fcGxheWJhY2tSYXRlPjA/dGhpcy5fdG90YWxEdXJhdGlvbjowLHRoaXMuX3N0YXJ0VGltZT10aGlzLl90b3RhbER1cmF0aW9uLXRoaXMuY3VycmVudFRpbWUsdGhpcy5fY3VycmVudFRpbWVQZW5kaW5nPSExLGIuYXBwbHlEaXJ0aWVkQW5pbWF0aW9uKHRoaXMpKX0sY2FuY2VsOmZ1bmN0aW9uKCl7dGhpcy5faW5FZmZlY3QmJih0aGlzLl9pbkVmZmVjdD0hMSx0aGlzLl9pZGxlPSEwLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9maW5pc2hlZEZsYWc9ITAsdGhpcy5fY3VycmVudFRpbWU9MCx0aGlzLl9zdGFydFRpbWU9bnVsbCx0aGlzLl9lZmZlY3QuX3VwZGF0ZShudWxsKSxiLmFwcGx5RGlydGllZEFuaW1hdGlvbih0aGlzKSl9LHJldmVyc2U6ZnVuY3Rpb24oKXt0aGlzLnBsYXliYWNrUmF0ZSo9LTEsdGhpcy5wbGF5KCl9LGFkZEV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiKXsiZnVuY3Rpb24iPT10eXBlb2YgYiYmImZpbmlzaCI9PWEmJnRoaXMuX2ZpbmlzaEhhbmRsZXJzLnB1c2goYil9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiKXtpZigiZmluaXNoIj09YSl7dmFyIGM9dGhpcy5fZmluaXNoSGFuZGxlcnMuaW5kZXhPZihiKTtjPj0wJiZ0aGlzLl9maW5pc2hIYW5kbGVycy5zcGxpY2UoYywxKX19LF9maXJlRXZlbnRzOmZ1bmN0aW9uKGEpe2lmKHRoaXMuX2lzRmluaXNoZWQpe2lmKCF0aGlzLl9maW5pc2hlZEZsYWcpe3ZhciBiPW5ldyBkKHRoaXMsdGhpcy5fY3VycmVudFRpbWUsYSksYz10aGlzLl9maW5pc2hIYW5kbGVycy5jb25jYXQodGhpcy5vbmZpbmlzaD9bdGhpcy5vbmZpbmlzaF06W10pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtjLmZvckVhY2goZnVuY3Rpb24oYSl7YS5jYWxsKGIudGFyZ2V0LGIpfSl9LDApLHRoaXMuX2ZpbmlzaGVkRmxhZz0hMH19ZWxzZSB0aGlzLl9maW5pc2hlZEZsYWc9ITF9LF90aWNrOmZ1bmN0aW9uKGEsYil7dGhpcy5faWRsZXx8dGhpcy5fcGF1c2VkfHwobnVsbD09dGhpcy5fc3RhcnRUaW1lP2ImJih0aGlzLnN0YXJ0VGltZT1hLXRoaXMuX2N1cnJlbnRUaW1lL3RoaXMucGxheWJhY2tSYXRlKTp0aGlzLl9pc0ZpbmlzaGVkfHx0aGlzLl90aWNrQ3VycmVudFRpbWUoKGEtdGhpcy5fc3RhcnRUaW1lKSp0aGlzLnBsYXliYWNrUmF0ZSkpLGImJih0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc9ITEsdGhpcy5fZmlyZUV2ZW50cyhhKSl9LGdldCBfbmVlZHNUaWNrKCl7cmV0dXJuIHRoaXMucGxheVN0YXRlIGlue3BlbmRpbmc6MSxydW5uaW5nOjF9fHwhdGhpcy5fZmluaXNoZWRGbGFnfSxfdGFyZ2V0QW5pbWF0aW9uczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuX2VmZmVjdC5fdGFyZ2V0O3JldHVybiBhLl9hY3RpdmVBbmltYXRpb25zfHwoYS5fYWN0aXZlQW5pbWF0aW9ucz1bXSksYS5fYWN0aXZlQW5pbWF0aW9uc30sX21hcmtUYXJnZXQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLl90YXJnZXRBbmltYXRpb25zKCk7LTE9PT1hLmluZGV4T2YodGhpcykmJmEucHVzaCh0aGlzKX0sX3VubWFya1RhcmdldDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuX3RhcmdldEFuaW1hdGlvbnMoKSxiPWEuaW5kZXhPZih0aGlzKTstMSE9PWImJmEuc3BsaWNlKGIsMSl9fX0oYSxiKSxmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChhKXt2YXIgYj1qO2o9W10sYTxxLmN1cnJlbnRUaW1lJiYoYT1xLmN1cnJlbnRUaW1lKSxxLl9hbmltYXRpb25zLnNvcnQoZSkscS5fYW5pbWF0aW9ucz1oKGEsITAscS5fYW5pbWF0aW9ucylbMF0sYi5mb3JFYWNoKGZ1bmN0aW9uKGIpe2JbMV0oYSl9KSxnKCksbD12b2lkIDB9ZnVuY3Rpb24gZShhLGIpe3JldHVybiBhLl9zZXF1ZW5jZU51bWJlci1iLl9zZXF1ZW5jZU51bWJlcn1mdW5jdGlvbiBmKCl7dGhpcy5fYW5pbWF0aW9ucz1bXSx0aGlzLmN1cnJlbnRUaW1lPXdpbmRvdy5wZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlLm5vdygpOjB9ZnVuY3Rpb24gZygpe28uZm9yRWFjaChmdW5jdGlvbihhKXthKCl9KSxvLmxlbmd0aD0wfWZ1bmN0aW9uIGgoYSxjLGQpe3A9ITAsbj0hMSxiLnRpbWVsaW5lLmN1cnJlbnRUaW1lPWEsbT0hMTt2YXIgZT1bXSxmPVtdLGc9W10saD1bXTtyZXR1cm4gZC5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IuX3RpY2soYSxjKSxiLl9pbkVmZmVjdD8oZi5wdXNoKGIuX2VmZmVjdCksYi5fbWFya1RhcmdldCgpKTooZS5wdXNoKGIuX2VmZmVjdCksYi5fdW5tYXJrVGFyZ2V0KCkpLGIuX25lZWRzVGljayYmKG09ITApO3ZhciBkPWIuX2luRWZmZWN0fHxiLl9uZWVkc1RpY2s7Yi5faW5UaW1lbGluZT1kLGQ/Zy5wdXNoKGIpOmgucHVzaChiKX0pLG8ucHVzaC5hcHBseShvLGUpLG8ucHVzaC5hcHBseShvLGYpLG0mJnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe30pLHA9ITEsW2csaF19dmFyIGk9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSxqPVtdLGs9MDt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lPWZ1bmN0aW9uKGEpe3ZhciBiPWsrKztyZXR1cm4gMD09ai5sZW5ndGgmJmkoZCksai5wdXNoKFtiLGFdKSxifSx3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oYSl7ai5mb3JFYWNoKGZ1bmN0aW9uKGIpe2JbMF09PWEmJihiWzFdPWZ1bmN0aW9uKCl7fSl9KX0sZi5wcm90b3R5cGU9e19wbGF5OmZ1bmN0aW9uKGMpe2MuX3RpbWluZz1hLm5vcm1hbGl6ZVRpbWluZ0lucHV0KGMudGltaW5nKTt2YXIgZD1uZXcgYi5BbmltYXRpb24oYyk7cmV0dXJuIGQuX2lkbGU9ITEsZC5fdGltZWxpbmU9dGhpcyx0aGlzLl9hbmltYXRpb25zLnB1c2goZCksYi5yZXN0YXJ0KCksYi5hcHBseURpcnRpZWRBbmltYXRpb24oZCksZH19O3ZhciBsPXZvaWQgMCxtPSExLG49ITE7Yi5yZXN0YXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIG18fChtPSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe30pLG49ITApLG59LGIuYXBwbHlEaXJ0aWVkQW5pbWF0aW9uPWZ1bmN0aW9uKGEpe2lmKCFwKXthLl9tYXJrVGFyZ2V0KCk7dmFyIGM9YS5fdGFyZ2V0QW5pbWF0aW9ucygpO2Muc29ydChlKSxoKGIudGltZWxpbmUuY3VycmVudFRpbWUsITEsYy5zbGljZSgpKVsxXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPXEuX2FuaW1hdGlvbnMuaW5kZXhPZihhKTstMSE9PWImJnEuX2FuaW1hdGlvbnMuc3BsaWNlKGIsMSl9KSxnKCl9fTt2YXIgbz1bXSxwPSExLHE9bmV3IGY7Yi50aW1lbGluZT1xfShhLGIpLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYSxiKXt2YXIgYz1hLmV4ZWMoYik7aWYoYylyZXR1cm4gYz1hLmlnbm9yZUNhc2U/Y1swXS50b0xvd2VyQ2FzZSgpOmNbMF0sW2MsYi5zdWJzdHIoYy5sZW5ndGgpXX1mdW5jdGlvbiBjKGEsYil7Yj1iLnJlcGxhY2UoL15ccyovLCIiKTt2YXIgYz1hKGIpO2lmKGMpcmV0dXJuW2NbMF0sY1sxXS5yZXBsYWNlKC9eXHMqLywiIildfWZ1bmN0aW9uIGQoYSxkLGUpe2E9Yy5iaW5kKG51bGwsYSk7Zm9yKHZhciBmPVtdOzspe3ZhciBnPWEoZSk7aWYoIWcpcmV0dXJuW2YsZV07aWYoZi5wdXNoKGdbMF0pLGU9Z1sxXSwhKGc9YihkLGUpKXx8IiI9PWdbMV0pcmV0dXJuW2YsZV07ZT1nWzFdfX1mdW5jdGlvbiBlKGEsYil7Zm9yKHZhciBjPTAsZD0wO2Q8Yi5sZW5ndGgmJighL1xzfCwvLnRlc3QoYltkXSl8fDAhPWMpO2QrKylpZigiKCI9PWJbZF0pYysrO2Vsc2UgaWYoIikiPT1iW2RdJiYoYy0tLDA9PWMmJmQrKyxjPD0wKSlicmVhazt2YXIgZT1hKGIuc3Vic3RyKDAsZCkpO3JldHVybiB2b2lkIDA9PWU/dm9pZCAwOltlLGIuc3Vic3RyKGQpXX1mdW5jdGlvbiBmKGEsYil7Zm9yKHZhciBjPWEsZD1iO2MmJmQ7KWM+ZD9jJT1kOmQlPWM7cmV0dXJuIGM9YSpiLyhjK2QpfWZ1bmN0aW9uIGcoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWEoYik7cmV0dXJuIGMmJihjWzBdPXZvaWQgMCksY319ZnVuY3Rpb24gaChhLGIpe3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gYShjKXx8W2IsY119fWZ1bmN0aW9uIGkoYixjKXtmb3IodmFyIGQ9W10sZT0wO2U8Yi5sZW5ndGg7ZSsrKXt2YXIgZj1hLmNvbnN1bWVUcmltbWVkKGJbZV0sYyk7aWYoIWZ8fCIiPT1mWzBdKXJldHVybjt2b2lkIDAhPT1mWzBdJiZkLnB1c2goZlswXSksYz1mWzFdfWlmKCIiPT1jKXJldHVybiBkfWZ1bmN0aW9uIGooYSxiLGMsZCxlKXtmb3IodmFyIGc9W10saD1bXSxpPVtdLGo9ZihkLmxlbmd0aCxlLmxlbmd0aCksaz0wO2s8ajtrKyspe3ZhciBsPWIoZFtrJWQubGVuZ3RoXSxlW2slZS5sZW5ndGhdKTtpZighbClyZXR1cm47Zy5wdXNoKGxbMF0pLGgucHVzaChsWzFdKSxpLnB1c2gobFsyXSl9cmV0dXJuW2csaCxmdW5jdGlvbihiKXt2YXIgZD1iLm1hcChmdW5jdGlvbihhLGIpe3JldHVybiBpW2JdKGEpfSkuam9pbihjKTtyZXR1cm4gYT9hKGQpOmR9XX1mdW5jdGlvbiBrKGEsYixjKXtmb3IodmFyIGQ9W10sZT1bXSxmPVtdLGc9MCxoPTA7aDxjLmxlbmd0aDtoKyspaWYoImZ1bmN0aW9uIj09dHlwZW9mIGNbaF0pe3ZhciBpPWNbaF0oYVtnXSxiW2crK10pO2QucHVzaChpWzBdKSxlLnB1c2goaVsxXSksZi5wdXNoKGlbMl0pfWVsc2UhZnVuY3Rpb24oYSl7ZC5wdXNoKCExKSxlLnB1c2goITEpLGYucHVzaChmdW5jdGlvbigpe3JldHVybiBjW2FdfSl9KGgpO3JldHVybltkLGUsZnVuY3Rpb24oYSl7Zm9yKHZhciBiPSIiLGM9MDtjPGEubGVuZ3RoO2MrKyliKz1mW2NdKGFbY10pO3JldHVybiBifV19YS5jb25zdW1lVG9rZW49YixhLmNvbnN1bWVUcmltbWVkPWMsYS5jb25zdW1lUmVwZWF0ZWQ9ZCxhLmNvbnN1bWVQYXJlbnRoZXNpc2VkPWUsYS5pZ25vcmU9ZyxhLm9wdGlvbmFsPWgsYS5jb25zdW1lTGlzdD1pLGEubWVyZ2VOZXN0ZWRSZXBlYXRlZD1qLmJpbmQobnVsbCxudWxsKSxhLm1lcmdlV3JhcHBlZE5lc3RlZFJlcGVhdGVkPWosYS5tZXJnZUxpc3Q9a30oYiksZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihiKXtmdW5jdGlvbiBjKGIpe3ZhciBjPWEuY29uc3VtZVRva2VuKC9eaW5zZXQvaSxiKTtyZXR1cm4gYz8oZC5pbnNldD0hMCxjKTooYz1hLmNvbnN1bWVMZW5ndGhPclBlcmNlbnQoYikpPyhkLmxlbmd0aHMucHVzaChjWzBdKSxjKTooYz1hLmNvbnN1bWVDb2xvcihiKSxjPyhkLmNvbG9yPWNbMF0sYyk6dm9pZCAwKX12YXIgZD17aW5zZXQ6ITEsbGVuZ3RoczpbXSxjb2xvcjpudWxsfSxlPWEuY29uc3VtZVJlcGVhdGVkKGMsL14vLGIpO2lmKGUmJmVbMF0ubGVuZ3RoKXJldHVybltkLGVbMV1dfWZ1bmN0aW9uIGMoYyl7dmFyIGQ9YS5jb25zdW1lUmVwZWF0ZWQoYiwvXiwvLGMpO2lmKGQmJiIiPT1kWzFdKXJldHVybiBkWzBdfWZ1bmN0aW9uIGQoYixjKXtmb3IoO2IubGVuZ3Rocy5sZW5ndGg8TWF0aC5tYXgoYi5sZW5ndGhzLmxlbmd0aCxjLmxlbmd0aHMubGVuZ3RoKTspYi5sZW5ndGhzLnB1c2goe3B4OjB9KTtmb3IoO2MubGVuZ3Rocy5sZW5ndGg8TWF0aC5tYXgoYi5sZW5ndGhzLmxlbmd0aCxjLmxlbmd0aHMubGVuZ3RoKTspYy5sZW5ndGhzLnB1c2goe3B4OjB9KTtpZihiLmluc2V0PT1jLmluc2V0JiYhIWIuY29sb3I9PSEhYy5jb2xvcil7Zm9yKHZhciBkLGU9W10sZj1bW10sMF0sZz1bW10sMF0saD0wO2g8Yi5sZW5ndGhzLmxlbmd0aDtoKyspe3ZhciBpPWEubWVyZ2VEaW1lbnNpb25zKGIubGVuZ3Roc1toXSxjLmxlbmd0aHNbaF0sMj09aCk7ZlswXS5wdXNoKGlbMF0pLGdbMF0ucHVzaChpWzFdKSxlLnB1c2goaVsyXSl9aWYoYi5jb2xvciYmYy5jb2xvcil7dmFyIGo9YS5tZXJnZUNvbG9ycyhiLmNvbG9yLGMuY29sb3IpO2ZbMV09alswXSxnWzFdPWpbMV0sZD1qWzJdfXJldHVybltmLGcsZnVuY3Rpb24oYSl7Zm9yKHZhciBjPWIuaW5zZXQ/Imluc2V0ICI6IiAiLGY9MDtmPGUubGVuZ3RoO2YrKyljKz1lW2ZdKGFbMF1bZl0pKyIgIjtyZXR1cm4gZCYmKGMrPWQoYVsxXSkpLGN9XX19ZnVuY3Rpb24gZShiLGMsZCxlKXtmdW5jdGlvbiBmKGEpe3JldHVybntpbnNldDphLGNvbG9yOlswLDAsMCwwXSxsZW5ndGhzOlt7cHg6MH0se3B4OjB9LHtweDowfSx7cHg6MH1dfX1mb3IodmFyIGc9W10saD1bXSxpPTA7aTxkLmxlbmd0aHx8aTxlLmxlbmd0aDtpKyspe3ZhciBqPWRbaV18fGYoZVtpXS5pbnNldCksaz1lW2ldfHxmKGRbaV0uaW5zZXQpO2cucHVzaChqKSxoLnB1c2goayl9cmV0dXJuIGEubWVyZ2VOZXN0ZWRSZXBlYXRlZChiLGMsZyxoKX12YXIgZj1lLmJpbmQobnVsbCxkLCIsICIpO2EuYWRkUHJvcGVydGllc0hhbmRsZXIoYyxmLFsiYm94LXNoYWRvdyIsInRleHQtc2hhZG93Il0pfShiKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSl7cmV0dXJuIGEudG9GaXhlZCgzKS5yZXBsYWNlKC8wKyQvLCIiKS5yZXBsYWNlKC9cLiQvLCIiKX1mdW5jdGlvbiBkKGEsYixjKXtyZXR1cm4gTWF0aC5taW4oYixNYXRoLm1heChhLGMpKX1mdW5jdGlvbiBlKGEpe2lmKC9eXHMqWy0rXT8oXGQqXC4pP1xkK1xzKiQvLnRlc3QoYSkpcmV0dXJuIE51bWJlcihhKX1mdW5jdGlvbiBmKGEsYil7cmV0dXJuW2EsYixjXX1mdW5jdGlvbiBnKGEsYil7aWYoMCE9YSlyZXR1cm4gaSgwLDEvMCkoYSxiKX1mdW5jdGlvbiBoKGEsYil7cmV0dXJuW2EsYixmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5yb3VuZChkKDEsMS8wLGEpKX1dfWZ1bmN0aW9uIGkoYSxiKXtyZXR1cm4gZnVuY3Rpb24oZSxmKXtyZXR1cm5bZSxmLGZ1bmN0aW9uKGUpe3JldHVybiBjKGQoYSxiLGUpKX1dfX1mdW5jdGlvbiBqKGEpe3ZhciBiPWEudHJpbSgpLnNwbGl0KC9ccypbXHMsXVxzKi8pO2lmKDAhPT1iLmxlbmd0aCl7Zm9yKHZhciBjPVtdLGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGY9ZShiW2RdKTtpZih2b2lkIDA9PT1mKXJldHVybjtjLnB1c2goZil9cmV0dXJuIGN9fWZ1bmN0aW9uIGsoYSxiKXtpZihhLmxlbmd0aD09Yi5sZW5ndGgpcmV0dXJuW2EsYixmdW5jdGlvbihhKXtyZXR1cm4gYS5tYXAoYykuam9pbigiICIpfV19ZnVuY3Rpb24gbChhLGIpe3JldHVyblthLGIsTWF0aC5yb3VuZF19YS5jbGFtcD1kLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoaixrLFsic3Ryb2tlLWRhc2hhcnJheSJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsaSgwLDEvMCksWyJib3JkZXItaW1hZ2Utd2lkdGgiLCJsaW5lLWhlaWdodCJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsaSgwLDEpLFsib3BhY2l0eSIsInNoYXBlLWltYWdlLXRocmVzaG9sZCJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsZyxbImZsZXgtZ3JvdyIsImZsZXgtc2hyaW5rIl0pLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoZSxoLFsib3JwaGFucyIsIndpZG93cyJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsbCxbInotaW5kZXgiXSksYS5wYXJzZU51bWJlcj1lLGEucGFyc2VOdW1iZXJMaXN0PWosYS5tZXJnZU51bWJlcnM9ZixhLm51bWJlclRvU3RyaW5nPWN9KGIpLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhLGIpe2lmKCJ2aXNpYmxlIj09YXx8InZpc2libGUiPT1iKXJldHVyblswLDEsZnVuY3Rpb24oYyl7cmV0dXJuIGM8PTA/YTpjPj0xP2I6InZpc2libGUifV19YS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihTdHJpbmcsYyxbInZpc2liaWxpdHkiXSl9KGIpLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXthPWEudHJpbSgpLGYuZmlsbFN0eWxlPSIjMDAwIixmLmZpbGxTdHlsZT1hO3ZhciBiPWYuZmlsbFN0eWxlO2lmKGYuZmlsbFN0eWxlPSIjZmZmIixmLmZpbGxTdHlsZT1hLGI9PWYuZmlsbFN0eWxlKXtmLmZpbGxSZWN0KDAsMCwxLDEpO3ZhciBjPWYuZ2V0SW1hZ2VEYXRhKDAsMCwxLDEpLmRhdGE7Zi5jbGVhclJlY3QoMCwwLDEsMSk7dmFyIGQ9Y1szXS8yNTU7cmV0dXJuW2NbMF0qZCxjWzFdKmQsY1syXSpkLGRdfX1mdW5jdGlvbiBkKGIsYyl7cmV0dXJuW2IsYyxmdW5jdGlvbihiKXtmdW5jdGlvbiBjKGEpe3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKDI1NSxhKSl9aWYoYlszXSlmb3IodmFyIGQ9MDtkPDM7ZCsrKWJbZF09TWF0aC5yb3VuZChjKGJbZF0vYlszXSkpO3JldHVybiBiWzNdPWEubnVtYmVyVG9TdHJpbmcoYS5jbGFtcCgwLDEsYlszXSkpLCJyZ2JhKCIrYi5qb2luKCIsIikrIikifV19dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiY2FudmFzIik7ZS53aWR0aD1lLmhlaWdodD0xO3ZhciBmPWUuZ2V0Q29udGV4dCgiMmQiKTthLmFkZFByb3BlcnRpZXNIYW5kbGVyKGMsZCxbImJhY2tncm91bmQtY29sb3IiLCJib3JkZXItYm90dG9tLWNvbG9yIiwiYm9yZGVyLWxlZnQtY29sb3IiLCJib3JkZXItcmlnaHQtY29sb3IiLCJib3JkZXItdG9wLWNvbG9yIiwiY29sb3IiLCJmaWxsIiwiZmxvb2QtY29sb3IiLCJsaWdodGluZy1jb2xvciIsIm91dGxpbmUtY29sb3IiLCJzdG9wLWNvbG9yIiwic3Ryb2tlIiwidGV4dC1kZWNvcmF0aW9uLWNvbG9yIl0pLGEuY29uc3VtZUNvbG9yPWEuY29uc3VtZVBhcmVudGhlc2lzZWQuYmluZChudWxsLGMpLGEubWVyZ2VDb2xvcnM9ZH0oYiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEpe2Z1bmN0aW9uIGIoKXt2YXIgYj1oLmV4ZWMoYSk7Zz1iP2JbMF06dm9pZCAwfWZ1bmN0aW9uIGMoKXt2YXIgYT1OdW1iZXIoZyk7cmV0dXJuIGIoKSxhfWZ1bmN0aW9uIGQoKXtpZigiKCIhPT1nKXJldHVybiBjKCk7YigpO3ZhciBhPWYoKTtyZXR1cm4iKSIhPT1nP05hTjooYigpLGEpfWZ1bmN0aW9uIGUoKXtmb3IodmFyIGE9ZCgpOyIqIj09PWd8fCIvIj09PWc7KXt2YXIgYz1nO2IoKTt2YXIgZT1kKCk7IioiPT09Yz9hKj1lOmEvPWV9cmV0dXJuIGF9ZnVuY3Rpb24gZigpe2Zvcih2YXIgYT1lKCk7IisiPT09Z3x8Ii0iPT09Zzspe3ZhciBjPWc7YigpO3ZhciBkPWUoKTsiKyI9PT1jP2ErPWQ6YS09ZH1yZXR1cm4gYX12YXIgZyxoPS8oW1wrXC1cd1wuXSt8W1woXClcKlwvXSkvZztyZXR1cm4gYigpLGYoKX1mdW5jdGlvbiBkKGEsYil7aWYoIjAiPT0oYj1iLnRyaW0oKS50b0xvd2VyQ2FzZSgpKSYmInB4Ii5zZWFyY2goYSk+PTApcmV0dXJue3B4OjB9O2lmKC9eW14oXSokfF5jYWxjLy50ZXN0KGIpKXtiPWIucmVwbGFjZSgvY2FsY1woL2csIigiKTt2YXIgZD17fTtiPWIucmVwbGFjZShhLGZ1bmN0aW9uKGEpe3JldHVybiBkW2FdPW51bGwsIlUiK2F9KTtmb3IodmFyIGU9IlUoIithLnNvdXJjZSsiKSIsZj1iLnJlcGxhY2UoL1stK10/KFxkKlwuKT9cZCsoW0VlXVstK10/XGQrKT8vZywiTiIpLnJlcGxhY2UobmV3IFJlZ0V4cCgiTiIrZSwiZyIpLCJEIikucmVwbGFjZSgvXHNbKy1dXHMvZywiTyIpLnJlcGxhY2UoL1xzL2csIiIpLGc9Wy9OXCooRCkvZywvKE58RClbKlwvXU4vZywvKE58RClPXDEvZywvXCgoTnxEKVwpL2ddLGg9MDtoPGcubGVuZ3RoOylnW2hdLnRlc3QoZik/KGY9Zi5yZXBsYWNlKGdbaF0sIiQxIiksaD0wKTpoKys7aWYoIkQiPT1mKXtmb3IodmFyIGkgaW4gZCl7dmFyIGo9YyhiLnJlcGxhY2UobmV3IFJlZ0V4cCgiVSIraSwiZyIpLCIiKS5yZXBsYWNlKG5ldyBSZWdFeHAoZSwiZyIpLCIqMCIpKTtpZighaXNGaW5pdGUoaikpcmV0dXJuO2RbaV09an1yZXR1cm4gZH19fWZ1bmN0aW9uIGUoYSxiKXtyZXR1cm4gZihhLGIsITApfWZ1bmN0aW9uIGYoYixjLGQpe3ZhciBlLGY9W107Zm9yKGUgaW4gYilmLnB1c2goZSk7Zm9yKGUgaW4gYylmLmluZGV4T2YoZSk8MCYmZi5wdXNoKGUpO3JldHVybiBiPWYubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBiW2FdfHwwfSksYz1mLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gY1thXXx8MH0pLFtiLGMsZnVuY3Rpb24oYil7dmFyIGM9Yi5tYXAoZnVuY3Rpb24oYyxlKXtyZXR1cm4gMT09Yi5sZW5ndGgmJmQmJihjPU1hdGgubWF4KGMsMCkpLGEubnVtYmVyVG9TdHJpbmcoYykrZltlXX0pLmpvaW4oIiArICIpO3JldHVybiBiLmxlbmd0aD4xPyJjYWxjKCIrYysiKSI6Y31dfXZhciBnPSJweHxlbXxleHxjaHxyZW18dnd8dmh8dm1pbnx2bWF4fGNtfG1tfGlufHB0fHBjIixoPWQuYmluZChudWxsLG5ldyBSZWdFeHAoZywiZyIpKSxpPWQuYmluZChudWxsLG5ldyBSZWdFeHAoZysifCUiLCJnIikpLGo9ZC5iaW5kKG51bGwsL2RlZ3xyYWR8Z3JhZHx0dXJuL2cpO2EucGFyc2VMZW5ndGg9aCxhLnBhcnNlTGVuZ3RoT3JQZXJjZW50PWksYS5jb25zdW1lTGVuZ3RoT3JQZXJjZW50PWEuY29uc3VtZVBhcmVudGhlc2lzZWQuYmluZChudWxsLGkpLGEucGFyc2VBbmdsZT1qLGEubWVyZ2VEaW1lbnNpb25zPWY7dmFyIGs9YS5jb25zdW1lUGFyZW50aGVzaXNlZC5iaW5kKG51bGwsaCksbD1hLmNvbnN1bWVSZXBlYXRlZC5iaW5kKHZvaWQgMCxrLC9eLyksbT1hLmNvbnN1bWVSZXBlYXRlZC5iaW5kKHZvaWQgMCxsLC9eLC8pO2EuY29uc3VtZVNpemVQYWlyTGlzdD1tO3ZhciBuPWZ1bmN0aW9uKGEpe3ZhciBiPW0oYSk7aWYoYiYmIiI9PWJbMV0pcmV0dXJuIGJbMF19LG89YS5tZXJnZU5lc3RlZFJlcGVhdGVkLmJpbmQodm9pZCAwLGUsIiAiKSxwPWEubWVyZ2VOZXN0ZWRSZXBlYXRlZC5iaW5kKHZvaWQgMCxvLCIsIik7YS5tZXJnZU5vbk5lZ2F0aXZlU2l6ZVBhaXI9byxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKG4scCxbImJhY2tncm91bmQtc2l6ZSJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGksZSxbImJvcmRlci1ib3R0b20td2lkdGgiLCJib3JkZXItaW1hZ2Utd2lkdGgiLCJib3JkZXItbGVmdC13aWR0aCIsImJvcmRlci1yaWdodC13aWR0aCIsImJvcmRlci10b3Atd2lkdGgiLCJmbGV4LWJhc2lzIiwiZm9udC1zaXplIiwiaGVpZ2h0IiwibGluZS1oZWlnaHQiLCJtYXgtaGVpZ2h0IiwibWF4LXdpZHRoIiwib3V0bGluZS13aWR0aCIsIndpZHRoIl0pLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoaSxmLFsiYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyIsImJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzIiwiYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyIsImJvcmRlci10b3AtcmlnaHQtcmFkaXVzIiwiYm90dG9tIiwibGVmdCIsImxldHRlci1zcGFjaW5nIiwibWFyZ2luLWJvdHRvbSIsIm1hcmdpbi1sZWZ0IiwibWFyZ2luLXJpZ2h0IiwibWFyZ2luLXRvcCIsIm1pbi1oZWlnaHQiLCJtaW4td2lkdGgiLCJvdXRsaW5lLW9mZnNldCIsInBhZGRpbmctYm90dG9tIiwicGFkZGluZy1sZWZ0IiwicGFkZGluZy1yaWdodCIsInBhZGRpbmctdG9wIiwicGVyc3BlY3RpdmUiLCJyaWdodCIsInNoYXBlLW1hcmdpbiIsInN0cm9rZS1kYXNob2Zmc2V0IiwidGV4dC1pbmRlbnQiLCJ0b3AiLCJ2ZXJ0aWNhbC1hbGlnbiIsIndvcmQtc3BhY2luZyJdKX0oYiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGIpe3JldHVybiBhLmNvbnN1bWVMZW5ndGhPclBlcmNlbnQoYil8fGEuY29uc3VtZVRva2VuKC9eYXV0by8sYil9ZnVuY3Rpb24gZChiKXt2YXIgZD1hLmNvbnN1bWVMaXN0KFthLmlnbm9yZShhLmNvbnN1bWVUb2tlbi5iaW5kKG51bGwsL15yZWN0LykpLGEuaWdub3JlKGEuY29uc3VtZVRva2VuLmJpbmQobnVsbCwvXlwoLykpLGEuY29uc3VtZVJlcGVhdGVkLmJpbmQobnVsbCxjLC9eLC8pLGEuaWdub3JlKGEuY29uc3VtZVRva2VuLmJpbmQobnVsbCwvXlwpLykpXSxiKTtpZihkJiY0PT1kWzBdLmxlbmd0aClyZXR1cm4gZFswXX1mdW5jdGlvbiBlKGIsYyl7cmV0dXJuImF1dG8iPT1ifHwiYXV0byI9PWM/WyEwLCExLGZ1bmN0aW9uKGQpe3ZhciBlPWQ/YjpjO2lmKCJhdXRvIj09ZSlyZXR1cm4iYXV0byI7dmFyIGY9YS5tZXJnZURpbWVuc2lvbnMoZSxlKTtyZXR1cm4gZlsyXShmWzBdKX1dOmEubWVyZ2VEaW1lbnNpb25zKGIsYyl9ZnVuY3Rpb24gZihhKXtyZXR1cm4icmVjdCgiK2ErIikifXZhciBnPWEubWVyZ2VXcmFwcGVkTmVzdGVkUmVwZWF0ZWQuYmluZChudWxsLGYsZSwiLCAiKTthLnBhcnNlQm94PWQsYS5tZXJnZUJveGVzPWcsYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihkLGcsWyJjbGlwIl0pfShiKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPTA7cmV0dXJuIGEubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhPT09az9iW2MrK106YX0pfX1mdW5jdGlvbiBkKGEpe3JldHVybiBhfWZ1bmN0aW9uIGUoYil7aWYoIm5vbmUiPT0oYj1iLnRvTG93ZXJDYXNlKCkudHJpbSgpKSlyZXR1cm5bXTtmb3IodmFyIGMsZD0vXHMqKFx3KylcKChbXildKilcKS9nLGU9W10sZj0wO2M9ZC5leGVjKGIpOyl7aWYoYy5pbmRleCE9ZilyZXR1cm47Zj1jLmluZGV4K2NbMF0ubGVuZ3RoO3ZhciBnPWNbMV0saD1uW2ddO2lmKCFoKXJldHVybjt2YXIgaT1jWzJdLnNwbGl0KCIsIiksaj1oWzBdO2lmKGoubGVuZ3RoPGkubGVuZ3RoKXJldHVybjtmb3IodmFyIGs9W10sbz0wO288ai5sZW5ndGg7bysrKXt2YXIgcCxxPWlbb10scj1qW29dO2lmKHZvaWQgMD09PShwPXE/e0E6ZnVuY3Rpb24oYil7cmV0dXJuIjAiPT1iLnRyaW0oKT9tOmEucGFyc2VBbmdsZShiKX0sTjphLnBhcnNlTnVtYmVyLFQ6YS5wYXJzZUxlbmd0aE9yUGVyY2VudCxMOmEucGFyc2VMZW5ndGh9W3IudG9VcHBlckNhc2UoKV0ocSk6e2E6bSxuOmtbMF0sdDpsfVtyXSkpcmV0dXJuO2sucHVzaChwKX1pZihlLnB1c2goe3Q6ZyxkOmt9KSxkLmxhc3RJbmRleD09Yi5sZW5ndGgpcmV0dXJuIGV9fWZ1bmN0aW9uIGYoYSl7cmV0dXJuIGEudG9GaXhlZCg2KS5yZXBsYWNlKCIuMDAwMDAwIiwiIil9ZnVuY3Rpb24gZyhiLGMpe2lmKGIuZGVjb21wb3NpdGlvblBhaXIhPT1jKXtiLmRlY29tcG9zaXRpb25QYWlyPWM7dmFyIGQ9YS5tYWtlTWF0cml4RGVjb21wb3NpdGlvbihiKX1pZihjLmRlY29tcG9zaXRpb25QYWlyIT09Yil7Yy5kZWNvbXBvc2l0aW9uUGFpcj1iO3ZhciBlPWEubWFrZU1hdHJpeERlY29tcG9zaXRpb24oYyl9cmV0dXJuIG51bGw9PWRbMF18fG51bGw9PWVbMF0/W1shMV0sWyEwXSxmdW5jdGlvbihhKXtyZXR1cm4gYT9jWzBdLmQ6YlswXS5kfV06KGRbMF0ucHVzaCgwKSxlWzBdLnB1c2goMSksW2QsZSxmdW5jdGlvbihiKXt2YXIgYz1hLnF1YXQoZFswXVszXSxlWzBdWzNdLGJbNV0pO3JldHVybiBhLmNvbXBvc2VNYXRyaXgoYlswXSxiWzFdLGJbMl0sYyxiWzRdKS5tYXAoZikuam9pbigiLCIpfV0pfWZ1bmN0aW9uIGgoYSl7cmV0dXJuIGEucmVwbGFjZSgvW3h5XS8sIiIpfWZ1bmN0aW9uIGkoYSl7cmV0dXJuIGEucmVwbGFjZSgvKHh8eXx6fDNkKT8kLywiM2QiKX1mdW5jdGlvbiBqKGIsYyl7dmFyIGQ9YS5tYWtlTWF0cml4RGVjb21wb3NpdGlvbiYmITAsZT0hMTtpZighYi5sZW5ndGh8fCFjLmxlbmd0aCl7Yi5sZW5ndGh8fChlPSEwLGI9YyxjPVtdKTtmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGo9YltmXS50LGs9YltmXS5kLGw9InNjYWxlIj09ai5zdWJzdHIoMCw1KT8xOjA7Yy5wdXNoKHt0OmosZDprLm1hcChmdW5jdGlvbihhKXtpZigibnVtYmVyIj09dHlwZW9mIGEpcmV0dXJuIGw7dmFyIGI9e307Zm9yKHZhciBjIGluIGEpYltjXT1sO3JldHVybiBifSl9KX19dmFyIG09ZnVuY3Rpb24oYSxiKXtyZXR1cm4icGVyc3BlY3RpdmUiPT1hJiYicGVyc3BlY3RpdmUiPT1ifHwoIm1hdHJpeCI9PWF8fCJtYXRyaXgzZCI9PWEpJiYoIm1hdHJpeCI9PWJ8fCJtYXRyaXgzZCI9PWIpfSxvPVtdLHA9W10scT1bXTtpZihiLmxlbmd0aCE9Yy5sZW5ndGgpe2lmKCFkKXJldHVybjt2YXIgcj1nKGIsYyk7bz1bclswXV0scD1bclsxXV0scT1bWyJtYXRyaXgiLFtyWzJdXV1dfWVsc2UgZm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspe3ZhciBqLHM9YltmXS50LHQ9Y1tmXS50LHU9YltmXS5kLHY9Y1tmXS5kLHc9bltzXSx4PW5bdF07aWYobShzLHQpKXtpZighZClyZXR1cm47dmFyIHI9ZyhbYltmXV0sW2NbZl1dKTtvLnB1c2goclswXSkscC5wdXNoKHJbMV0pLHEucHVzaChbIm1hdHJpeCIsW3JbMl1dXSl9ZWxzZXtpZihzPT10KWo9cztlbHNlIGlmKHdbMl0mJnhbMl0mJmgocyk9PWgodCkpaj1oKHMpLHU9d1syXSh1KSx2PXhbMl0odik7ZWxzZXtpZighd1sxXXx8IXhbMV18fGkocykhPWkodCkpe2lmKCFkKXJldHVybjt2YXIgcj1nKGIsYyk7bz1bclswXV0scD1bclsxXV0scT1bWyJtYXRyaXgiLFtyWzJdXV1dO2JyZWFrfWo9aShzKSx1PXdbMV0odSksdj14WzFdKHYpfWZvcih2YXIgeT1bXSx6PVtdLEE9W10sQj0wO0I8dS5sZW5ndGg7QisrKXt2YXIgQz0ibnVtYmVyIj09dHlwZW9mIHVbQl0/YS5tZXJnZU51bWJlcnM6YS5tZXJnZURpbWVuc2lvbnMscj1DKHVbQl0sdltCXSk7eVtCXT1yWzBdLHpbQl09clsxXSxBLnB1c2goclsyXSl9by5wdXNoKHkpLHAucHVzaCh6KSxxLnB1c2goW2osQV0pfX1pZihlKXt2YXIgRD1vO289cCxwPUR9cmV0dXJuW28scCxmdW5jdGlvbihhKXtyZXR1cm4gYS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1hLm1hcChmdW5jdGlvbihhLGMpe3JldHVybiBxW2JdWzFdW2NdKGEpfSkuam9pbigiLCIpO3JldHVybiJtYXRyaXgiPT1xW2JdWzBdJiYxNj09Yy5zcGxpdCgiLCIpLmxlbmd0aCYmKHFbYl1bMF09Im1hdHJpeDNkIikscVtiXVswXSsiKCIrYysiKSJ9KS5qb2luKCIgIil9XX12YXIgaz1udWxsLGw9e3B4OjB9LG09e2RlZzowfSxuPXttYXRyaXg6WyJOTk5OTk4iLFtrLGssMCwwLGssaywwLDAsMCwwLDEsMCxrLGssMCwxXSxkXSxtYXRyaXgzZDpbIk5OTk5OTk5OTk5OTk5OTk4iLGRdLHJvdGF0ZTpbIkEiXSxyb3RhdGV4OlsiQSJdLHJvdGF0ZXk6WyJBIl0scm90YXRlejpbIkEiXSxyb3RhdGUzZDpbIk5OTkEiXSxwZXJzcGVjdGl2ZTpbIkwiXSxzY2FsZTpbIk5uIixjKFtrLGssMV0pLGRdLHNjYWxleDpbIk4iLGMoW2ssMSwxXSksYyhbaywxXSldLHNjYWxleTpbIk4iLGMoWzEsaywxXSksYyhbMSxrXSldLHNjYWxlejpbIk4iLGMoWzEsMSxrXSldLHNjYWxlM2Q6WyJOTk4iLGRdLHNrZXc6WyJBYSIsbnVsbCxkXSxza2V3eDpbIkEiLG51bGwsYyhbayxtXSldLHNrZXd5OlsiQSIsbnVsbCxjKFttLGtdKV0sdHJhbnNsYXRlOlsiVHQiLGMoW2ssayxsXSksZF0sdHJhbnNsYXRleDpbIlQiLGMoW2ssbCxsXSksYyhbayxsXSldLHRyYW5zbGF0ZXk6WyJUIixjKFtsLGssbF0pLGMoW2wsa10pXSx0cmFuc2xhdGV6OlsiTCIsYyhbbCxsLGtdKV0sdHJhbnNsYXRlM2Q6WyJUVEwiLGRdfTthLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsaixbInRyYW5zZm9ybSJdKSxhLnRyYW5zZm9ybVRvU3ZnTWF0cml4PWZ1bmN0aW9uKGIpe3ZhciBjPWEudHJhbnNmb3JtTGlzdFRvTWF0cml4KGUoYikpO3JldHVybiJtYXRyaXgoIitmKGNbMF0pKyIgIitmKGNbMV0pKyIgIitmKGNbNF0pKyIgIitmKGNbNV0pKyIgIitmKGNbMTJdKSsiICIrZihjWzEzXSkrIikifX0oYiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYil7Yi5jb25jYXQoW2FdKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IgaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoZFthXT1iKSxlW2JdPWF9KX12YXIgZD17fSxlPXt9O2MoInRyYW5zZm9ybSIsWyJ3ZWJraXRUcmFuc2Zvcm0iLCJtc1RyYW5zZm9ybSJdKSxjKCJ0cmFuc2Zvcm1PcmlnaW4iLFsid2Via2l0VHJhbnNmb3JtT3JpZ2luIl0pLGMoInBlcnNwZWN0aXZlIixbIndlYmtpdFBlcnNwZWN0aXZlIl0pLGMoInBlcnNwZWN0aXZlT3JpZ2luIixbIndlYmtpdFBlcnNwZWN0aXZlT3JpZ2luIl0pLGEucHJvcGVydHlOYW1lPWZ1bmN0aW9uKGEpe3JldHVybiBkW2FdfHxhfSxhLnVucHJlZml4ZWRQcm9wZXJ0eU5hbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIGVbYV18fGF9fShiKX0oKSxmdW5jdGlvbigpe2lmKHZvaWQgMD09PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLmFuaW1hdGUoW10pLm9uY2FuY2VsKXt2YXIgYTtpZih3aW5kb3cucGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm5vdyl2YXIgYT1mdW5jdGlvbigpe3JldHVybiBwZXJmb3JtYW5jZS5ub3coKX07ZWxzZSB2YXIgYT1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTt2YXIgYj1mdW5jdGlvbihhLGIsYyl7dGhpcy50YXJnZXQ9YSx0aGlzLmN1cnJlbnRUaW1lPWIsdGhpcy50aW1lbGluZVRpbWU9Yyx0aGlzLnR5cGU9ImNhbmNlbCIsdGhpcy5idWJibGVzPSExLHRoaXMuY2FuY2VsYWJsZT0hMSx0aGlzLmN1cnJlbnRUYXJnZXQ9YSx0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9ITEsdGhpcy5ldmVudFBoYXNlPUV2ZW50LkFUX1RBUkdFVCx0aGlzLnRpbWVTdGFtcD1EYXRlLm5vdygpfSxjPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlO3dpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGQsZSl7dmFyIGY9Yy5jYWxsKHRoaXMsZCxlKTtmLl9jYW5jZWxIYW5kbGVycz1bXSxmLm9uY2FuY2VsPW51bGw7dmFyIGc9Zi5jYW5jZWw7Zi5jYW5jZWw9ZnVuY3Rpb24oKXtnLmNhbGwodGhpcyk7dmFyIGM9bmV3IGIodGhpcyxudWxsLGEoKSksZD10aGlzLl9jYW5jZWxIYW5kbGVycy5jb25jYXQodGhpcy5vbmNhbmNlbD9bdGhpcy5vbmNhbmNlbF06W10pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtkLmZvckVhY2goZnVuY3Rpb24oYSl7YS5jYWxsKGMudGFyZ2V0LGMpfSl9LDApfTt2YXIgaD1mLmFkZEV2ZW50TGlzdGVuZXI7Zi5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYil7ImZ1bmN0aW9uIj09dHlwZW9mIGImJiJjYW5jZWwiPT1hP3RoaXMuX2NhbmNlbEhhbmRsZXJzLnB1c2goYik6aC5jYWxsKHRoaXMsYSxiKX07dmFyIGk9Zi5yZW1vdmVFdmVudExpc3RlbmVyO3JldHVybiBmLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXtpZigiY2FuY2VsIj09YSl7dmFyIGM9dGhpcy5fY2FuY2VsSGFuZGxlcnMuaW5kZXhPZihiKTtjPj0wJiZ0aGlzLl9jYW5jZWxIYW5kbGVycy5zcGxpY2UoYywxKX1lbHNlIGkuY2FsbCh0aGlzLGEsYil9LGZ9fX0oKSxmdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYz1udWxsLGQ9ITE7dHJ5e3ZhciBlPWdldENvbXB1dGVkU3R5bGUoYikuZ2V0UHJvcGVydHlWYWx1ZSgib3BhY2l0eSIpLGY9IjAiPT1lPyIxIjoiMCI7Yz1iLmFuaW1hdGUoe29wYWNpdHk6W2YsZl19LHtkdXJhdGlvbjoxfSksYy5jdXJyZW50VGltZT0wLGQ9Z2V0Q29tcHV0ZWRTdHlsZShiKS5nZXRQcm9wZXJ0eVZhbHVlKCJvcGFjaXR5Iik9PWZ9Y2F0Y2goYSl7fWZpbmFsbHl7YyYmYy5jYW5jZWwoKX1pZighZCl7dmFyIGc9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGU7d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24oYixjKXtyZXR1cm4gd2luZG93LlN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yJiZBcnJheS5wcm90b3R5cGUuZnJvbSYmYltTeW1ib2wuaXRlcmF0b3JdJiYoYj1BcnJheS5mcm9tKGIpKSxBcnJheS5pc0FycmF5KGIpfHxudWxsPT09Ynx8KGI9YS5jb252ZXJ0VG9BcnJheUZvcm0oYikpLGcuY2FsbCh0aGlzLGIsYyl9fX0oYSksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7dmFyIGM9Yi50aW1lbGluZTtjLmN1cnJlbnRUaW1lPWEsYy5fZGlzY2FyZEFuaW1hdGlvbnMoKSwwPT1jLl9hbmltYXRpb25zLmxlbmd0aD9mPSExOnJlcXVlc3RBbmltYXRpb25GcmFtZShkKX12YXIgZT13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIGUoZnVuY3Rpb24oYyl7Yi50aW1lbGluZS5fdXBkYXRlQW5pbWF0aW9uc1Byb21pc2VzKCksYShjKSxiLnRpbWVsaW5lLl91cGRhdGVBbmltYXRpb25zUHJvbWlzZXMoKX0pfSxiLkFuaW1hdGlvblRpbWVsaW5lPWZ1bmN0aW9uKCl7dGhpcy5fYW5pbWF0aW9ucz1bXSx0aGlzLmN1cnJlbnRUaW1lPXZvaWQgMH0sYi5BbmltYXRpb25UaW1lbGluZS5wcm90b3R5cGU9e2dldEFuaW1hdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGlzY2FyZEFuaW1hdGlvbnMoKSx0aGlzLl9hbmltYXRpb25zLnNsaWNlKCl9LF91cGRhdGVBbmltYXRpb25zUHJvbWlzZXM6ZnVuY3Rpb24oKXtiLmFuaW1hdGlvbnNXaXRoUHJvbWlzZXM9Yi5hbmltYXRpb25zV2l0aFByb21pc2VzLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5fdXBkYXRlUHJvbWlzZXMoKX0pfSxfZGlzY2FyZEFuaW1hdGlvbnM6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVBbmltYXRpb25zUHJvbWlzZXMoKSx0aGlzLl9hbmltYXRpb25zPXRoaXMuX2FuaW1hdGlvbnMuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiJmaW5pc2hlZCIhPWEucGxheVN0YXRlJiYiaWRsZSIhPWEucGxheVN0YXRlfSl9LF9wbGF5OmZ1bmN0aW9uKGEpe3ZhciBjPW5ldyBiLkFuaW1hdGlvbihhLHRoaXMpO3JldHVybiB0aGlzLl9hbmltYXRpb25zLnB1c2goYyksYi5yZXN0YXJ0V2ViQW5pbWF0aW9uc05leHRUaWNrKCksYy5fdXBkYXRlUHJvbWlzZXMoKSxjLl9hbmltYXRpb24ucGxheSgpLGMuX3VwZGF0ZVByb21pc2VzKCksY30scGxheTpmdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5yZW1vdmUoKSx0aGlzLl9wbGF5KGEpfX07dmFyIGY9ITE7Yi5yZXN0YXJ0V2ViQW5pbWF0aW9uc05leHRUaWNrPWZ1bmN0aW9uKCl7Znx8KGY9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGQpKX07dmFyIGc9bmV3IGIuQW5pbWF0aW9uVGltZWxpbmU7Yi50aW1lbGluZT1nO3RyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LmRvY3VtZW50LCJ0aW1lbGluZSIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZ319KX1jYXRjaChhKXt9dHJ5e3dpbmRvdy5kb2N1bWVudC50aW1lbGluZT1nfWNhdGNoKGEpe319KDAsYyksZnVuY3Rpb24oYSxiLGMpe2IuYW5pbWF0aW9uc1dpdGhQcm9taXNlcz1bXSxiLkFuaW1hdGlvbj1mdW5jdGlvbihiLGMpe2lmKHRoaXMuaWQ9IiIsYiYmYi5faWQmJih0aGlzLmlkPWIuX2lkKSx0aGlzLmVmZmVjdD1iLGImJihiLl9hbmltYXRpb249dGhpcyksIWMpdGhyb3cgbmV3IEVycm9yKCJBbmltYXRpb24gd2l0aCBudWxsIHRpbWVsaW5lIGlzIG5vdCBzdXBwb3J0ZWQiKTt0aGlzLl90aW1lbGluZT1jLHRoaXMuX3NlcXVlbmNlTnVtYmVyPWEuc2VxdWVuY2VOdW1iZXIrKyx0aGlzLl9ob2xkVGltZT0wLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9pc0dyb3VwPSExLHRoaXMuX2FuaW1hdGlvbj1udWxsLHRoaXMuX2NoaWxkQW5pbWF0aW9ucz1bXSx0aGlzLl9jYWxsYmFjaz1udWxsLHRoaXMuX29sZFBsYXlTdGF0ZT0iaWRsZSIsdGhpcy5fcmVidWlsZFVuZGVybHlpbmdBbmltYXRpb24oKSx0aGlzLl9hbmltYXRpb24uY2FuY2VsKCksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0sYi5BbmltYXRpb24ucHJvdG90eXBlPXtfdXBkYXRlUHJvbWlzZXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLl9vbGRQbGF5U3RhdGUsYj10aGlzLnBsYXlTdGF0ZTtyZXR1cm4gdGhpcy5fcmVhZHlQcm9taXNlJiZiIT09YSYmKCJpZGxlIj09Yj8odGhpcy5fcmVqZWN0UmVhZHlQcm9taXNlKCksdGhpcy5fcmVhZHlQcm9taXNlPXZvaWQgMCk6InBlbmRpbmciPT1hP3RoaXMuX3Jlc29sdmVSZWFkeVByb21pc2UoKToicGVuZGluZyI9PWImJih0aGlzLl9yZWFkeVByb21pc2U9dm9pZCAwKSksdGhpcy5fZmluaXNoZWRQcm9taXNlJiZiIT09YSYmKCJpZGxlIj09Yj8odGhpcy5fcmVqZWN0RmluaXNoZWRQcm9taXNlKCksdGhpcy5fZmluaXNoZWRQcm9taXNlPXZvaWQgMCk6ImZpbmlzaGVkIj09Yj90aGlzLl9yZXNvbHZlRmluaXNoZWRQcm9taXNlKCk6ImZpbmlzaGVkIj09YSYmKHRoaXMuX2ZpbmlzaGVkUHJvbWlzZT12b2lkIDApKSx0aGlzLl9vbGRQbGF5U3RhdGU9dGhpcy5wbGF5U3RhdGUsdGhpcy5fcmVhZHlQcm9taXNlfHx0aGlzLl9maW5pc2hlZFByb21pc2V9LF9yZWJ1aWxkVW5kZXJseWluZ0FuaW1hdGlvbjpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCk7dmFyIGEsYyxkLGUsZj0hIXRoaXMuX2FuaW1hdGlvbjtmJiYoYT10aGlzLnBsYXliYWNrUmF0ZSxjPXRoaXMuX3BhdXNlZCxkPXRoaXMuc3RhcnRUaW1lLGU9dGhpcy5jdXJyZW50VGltZSx0aGlzLl9hbmltYXRpb24uY2FuY2VsKCksdGhpcy5fYW5pbWF0aW9uLl93cmFwcGVyPW51bGwsdGhpcy5fYW5pbWF0aW9uPW51bGwpLCghdGhpcy5lZmZlY3R8fHRoaXMuZWZmZWN0IGluc3RhbmNlb2Ygd2luZG93LktleWZyYW1lRWZmZWN0KSYmKHRoaXMuX2FuaW1hdGlvbj1iLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdCh0aGlzLmVmZmVjdCksYi5iaW5kQW5pbWF0aW9uRm9yS2V5ZnJhbWVFZmZlY3QodGhpcykpLCh0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdHx8dGhpcy5lZmZlY3QgaW5zdGFuY2VvZiB3aW5kb3cuR3JvdXBFZmZlY3QpJiYodGhpcy5fYW5pbWF0aW9uPWIubmV3VW5kZXJseWluZ0FuaW1hdGlvbkZvckdyb3VwKHRoaXMuZWZmZWN0KSxiLmJpbmRBbmltYXRpb25Gb3JHcm91cCh0aGlzKSksdGhpcy5lZmZlY3QmJnRoaXMuZWZmZWN0Ll9vbnNhbXBsZSYmYi5iaW5kQW5pbWF0aW9uRm9yQ3VzdG9tRWZmZWN0KHRoaXMpLGYmJigxIT1hJiYodGhpcy5wbGF5YmFja1JhdGU9YSksbnVsbCE9PWQ/dGhpcy5zdGFydFRpbWU9ZDpudWxsIT09ZT90aGlzLmN1cnJlbnRUaW1lPWU6bnVsbCE9PXRoaXMuX2hvbGRUaW1lJiYodGhpcy5jdXJyZW50VGltZT10aGlzLl9ob2xkVGltZSksYyYmdGhpcy5wYXVzZSgpKSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxfdXBkYXRlQ2hpbGRyZW46ZnVuY3Rpb24oKXtpZih0aGlzLmVmZmVjdCYmImlkbGUiIT10aGlzLnBsYXlTdGF0ZSl7dmFyIGE9dGhpcy5lZmZlY3QuX3RpbWluZy5kZWxheTt0aGlzLl9jaGlsZEFuaW1hdGlvbnMuZm9yRWFjaChmdW5jdGlvbihjKXt0aGlzLl9hcnJhbmdlQ2hpbGRyZW4oYyxhKSx0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdCYmKGErPWIuZ3JvdXBDaGlsZER1cmF0aW9uKGMuZWZmZWN0KSl9LmJpbmQodGhpcykpfX0sX3NldEV4dGVybmFsQW5pbWF0aW9uOmZ1bmN0aW9uKGEpe2lmKHRoaXMuZWZmZWN0JiZ0aGlzLl9pc0dyb3VwKWZvcih2YXIgYj0wO2I8dGhpcy5lZmZlY3QuY2hpbGRyZW4ubGVuZ3RoO2IrKyl0aGlzLmVmZmVjdC5jaGlsZHJlbltiXS5fYW5pbWF0aW9uPWEsdGhpcy5fY2hpbGRBbmltYXRpb25zW2JdLl9zZXRFeHRlcm5hbEFuaW1hdGlvbihhKX0sX2NvbnN0cnVjdENoaWxkQW5pbWF0aW9uczpmdW5jdGlvbigpe2lmKHRoaXMuZWZmZWN0JiZ0aGlzLl9pc0dyb3VwKXt2YXIgYT10aGlzLmVmZmVjdC5fdGltaW5nLmRlbGF5O3RoaXMuX3JlbW92ZUNoaWxkQW5pbWF0aW9ucygpLHRoaXMuZWZmZWN0LmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGQ9Yi50aW1lbGluZS5fcGxheShjKTt0aGlzLl9jaGlsZEFuaW1hdGlvbnMucHVzaChkKSxkLnBsYXliYWNrUmF0ZT10aGlzLnBsYXliYWNrUmF0ZSx0aGlzLl9wYXVzZWQmJmQucGF1c2UoKSxjLl9hbmltYXRpb249dGhpcy5lZmZlY3QuX2FuaW1hdGlvbix0aGlzLl9hcnJhbmdlQ2hpbGRyZW4oZCxhKSx0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdCYmKGErPWIuZ3JvdXBDaGlsZER1cmF0aW9uKGMpKX0uYmluZCh0aGlzKSl9fSxfYXJyYW5nZUNoaWxkcmVuOmZ1bmN0aW9uKGEsYil7bnVsbD09PXRoaXMuc3RhcnRUaW1lP2EuY3VycmVudFRpbWU9dGhpcy5jdXJyZW50VGltZS1iL3RoaXMucGxheWJhY2tSYXRlOmEuc3RhcnRUaW1lIT09dGhpcy5zdGFydFRpbWUrYi90aGlzLnBsYXliYWNrUmF0ZSYmKGEuc3RhcnRUaW1lPXRoaXMuc3RhcnRUaW1lK2IvdGhpcy5wbGF5YmFja1JhdGUpfSxnZXQgdGltZWxpbmUoKXtyZXR1cm4gdGhpcy5fdGltZWxpbmV9LGdldCBwbGF5U3RhdGUoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uP3RoaXMuX2FuaW1hdGlvbi5wbGF5U3RhdGU6ImlkbGUifSxnZXQgZmluaXNoZWQoKXtyZXR1cm4gd2luZG93LlByb21pc2U/KHRoaXMuX2ZpbmlzaGVkUHJvbWlzZXx8KC0xPT1iLmFuaW1hdGlvbnNXaXRoUHJvbWlzZXMuaW5kZXhPZih0aGlzKSYmYi5hbmltYXRpb25zV2l0aFByb21pc2VzLnB1c2godGhpcyksdGhpcy5fZmluaXNoZWRQcm9taXNlPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGEsYil7dGhpcy5fcmVzb2x2ZUZpbmlzaGVkUHJvbWlzZT1mdW5jdGlvbigpe2EodGhpcyl9LHRoaXMuX3JlamVjdEZpbmlzaGVkUHJvbWlzZT1mdW5jdGlvbigpe2Ioe3R5cGU6RE9NRXhjZXB0aW9uLkFCT1JUX0VSUixuYW1lOiJBYm9ydEVycm9yIn0pfX0uYmluZCh0aGlzKSksImZpbmlzaGVkIj09dGhpcy5wbGF5U3RhdGUmJnRoaXMuX3Jlc29sdmVGaW5pc2hlZFByb21pc2UoKSksdGhpcy5fZmluaXNoZWRQcm9taXNlKTooY29uc29sZS53YXJuKCJBbmltYXRpb24gUHJvbWlzZXMgcmVxdWlyZSBKYXZhU2NyaXB0IFByb21pc2UgY29uc3RydWN0b3IiKSxudWxsKX0sZ2V0IHJlYWR5KCl7cmV0dXJuIHdpbmRvdy5Qcm9taXNlPyh0aGlzLl9yZWFkeVByb21pc2V8fCgtMT09Yi5hbmltYXRpb25zV2l0aFByb21pc2VzLmluZGV4T2YodGhpcykmJmIuYW5pbWF0aW9uc1dpdGhQcm9taXNlcy5wdXNoKHRoaXMpLHRoaXMuX3JlYWR5UHJvbWlzZT1uZXcgUHJvbWlzZShmdW5jdGlvbihhLGIpe3RoaXMuX3Jlc29sdmVSZWFkeVByb21pc2U9ZnVuY3Rpb24oKXthKHRoaXMpfSx0aGlzLl9yZWplY3RSZWFkeVByb21pc2U9ZnVuY3Rpb24oKXtiKHt0eXBlOkRPTUV4Y2VwdGlvbi5BQk9SVF9FUlIsbmFtZToiQWJvcnRFcnJvciJ9KX19LmJpbmQodGhpcykpLCJwZW5kaW5nIiE9PXRoaXMucGxheVN0YXRlJiZ0aGlzLl9yZXNvbHZlUmVhZHlQcm9taXNlKCkpLHRoaXMuX3JlYWR5UHJvbWlzZSk6KGNvbnNvbGUud2FybigiQW5pbWF0aW9uIFByb21pc2VzIHJlcXVpcmUgSmF2YVNjcmlwdCBQcm9taXNlIGNvbnN0cnVjdG9yIiksbnVsbCl9LGdldCBvbmZpbmlzaCgpe3JldHVybiB0aGlzLl9hbmltYXRpb24ub25maW5pc2h9LHNldCBvbmZpbmlzaChhKXt0aGlzLl9hbmltYXRpb24ub25maW5pc2g9ImZ1bmN0aW9uIj09dHlwZW9mIGE/ZnVuY3Rpb24oYil7Yi50YXJnZXQ9dGhpcyxhLmNhbGwodGhpcyxiKX0uYmluZCh0aGlzKTphfSxnZXQgb25jYW5jZWwoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uLm9uY2FuY2VsfSxzZXQgb25jYW5jZWwoYSl7dGhpcy5fYW5pbWF0aW9uLm9uY2FuY2VsPSJmdW5jdGlvbiI9PXR5cGVvZiBhP2Z1bmN0aW9uKGIpe2IudGFyZ2V0PXRoaXMsYS5jYWxsKHRoaXMsYil9LmJpbmQodGhpcyk6YX0sZ2V0IGN1cnJlbnRUaW1lKCl7dGhpcy5fdXBkYXRlUHJvbWlzZXMoKTt2YXIgYT10aGlzLl9hbmltYXRpb24uY3VycmVudFRpbWU7cmV0dXJuIHRoaXMuX3VwZGF0ZVByb21pc2VzKCksYX0sc2V0IGN1cnJlbnRUaW1lKGEpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5fYW5pbWF0aW9uLmN1cnJlbnRUaW1lPWlzRmluaXRlKGEpP2E6TWF0aC5zaWduKGEpKk51bWJlci5NQVhfVkFMVUUsdGhpcy5fcmVnaXN0ZXIoKSx0aGlzLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYixjKXtiLmN1cnJlbnRUaW1lPWEtY30pLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LGdldCBzdGFydFRpbWUoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uLnN0YXJ0VGltZX0sc2V0IHN0YXJ0VGltZShhKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX2FuaW1hdGlvbi5zdGFydFRpbWU9aXNGaW5pdGUoYSk/YTpNYXRoLnNpZ24oYSkqTnVtYmVyLk1BWF9WQUxVRSx0aGlzLl9yZWdpc3RlcigpLHRoaXMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihiLGMpe2Iuc3RhcnRUaW1lPWErY30pLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LGdldCBwbGF5YmFja1JhdGUoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uLnBsYXliYWNrUmF0ZX0sc2V0IHBsYXliYWNrUmF0ZShhKXt0aGlzLl91cGRhdGVQcm9taXNlcygpO3ZhciBiPXRoaXMuY3VycmVudFRpbWU7dGhpcy5fYW5pbWF0aW9uLnBsYXliYWNrUmF0ZT1hLHRoaXMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihiKXtiLnBsYXliYWNrUmF0ZT1hfSksbnVsbCE9PWImJih0aGlzLmN1cnJlbnRUaW1lPWIpLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LHBsYXk6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9hbmltYXRpb24ucGxheSgpLC0xPT10aGlzLl90aW1lbGluZS5fYW5pbWF0aW9ucy5pbmRleE9mKHRoaXMpJiZ0aGlzLl90aW1lbGluZS5fYW5pbWF0aW9ucy5wdXNoKHRoaXMpLHRoaXMuX3JlZ2lzdGVyKCksYi5hd2FpdFN0YXJ0VGltZSh0aGlzKSx0aGlzLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYSl7dmFyIGI9YS5jdXJyZW50VGltZTthLnBsYXkoKSxhLmN1cnJlbnRUaW1lPWJ9KSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxwYXVzZTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5jdXJyZW50VGltZSYmKHRoaXMuX2hvbGRUaW1lPXRoaXMuY3VycmVudFRpbWUpLHRoaXMuX2FuaW1hdGlvbi5wYXVzZSgpLHRoaXMuX3JlZ2lzdGVyKCksdGhpcy5fZm9yRWFjaENoaWxkKGZ1bmN0aW9uKGEpe2EucGF1c2UoKX0pLHRoaXMuX3BhdXNlZD0hMCx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxmaW5pc2g6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX2FuaW1hdGlvbi5maW5pc2goKSx0aGlzLl9yZWdpc3RlcigpLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LGNhbmNlbDpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5fYW5pbWF0aW9uLmNhbmNlbCgpLHRoaXMuX3JlZ2lzdGVyKCksdGhpcy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0scmV2ZXJzZTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCk7dmFyIGE9dGhpcy5jdXJyZW50VGltZTt0aGlzLl9hbmltYXRpb24ucmV2ZXJzZSgpLHRoaXMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihhKXthLnJldmVyc2UoKX0pLG51bGwhPT1hJiYodGhpcy5jdXJyZW50VGltZT1hKSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxhZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YjsiZnVuY3Rpb24iPT10eXBlb2YgYiYmKGM9ZnVuY3Rpb24oYSl7YS50YXJnZXQ9dGhpcyxiLmNhbGwodGhpcyxhKX0uYmluZCh0aGlzKSxiLl93cmFwcGVyPWMpLHRoaXMuX2FuaW1hdGlvbi5hZGRFdmVudExpc3RlbmVyKGEsYyl9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiKXt0aGlzLl9hbmltYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGImJmIuX3dyYXBwZXJ8fGIpfSxfcmVtb3ZlQ2hpbGRBbmltYXRpb25zOmZ1bmN0aW9uKCl7Zm9yKDt0aGlzLl9jaGlsZEFuaW1hdGlvbnMubGVuZ3RoOyl0aGlzLl9jaGlsZEFuaW1hdGlvbnMucG9wKCkuY2FuY2VsKCl9LF9mb3JFYWNoQ2hpbGQ6ZnVuY3Rpb24oYil7dmFyIGM9MDtpZih0aGlzLmVmZmVjdC5jaGlsZHJlbiYmdGhpcy5fY2hpbGRBbmltYXRpb25zLmxlbmd0aDx0aGlzLmVmZmVjdC5jaGlsZHJlbi5sZW5ndGgmJnRoaXMuX2NvbnN0cnVjdENoaWxkQW5pbWF0aW9ucygpLHRoaXMuX2NoaWxkQW5pbWF0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGEpe2IuY2FsbCh0aGlzLGEsYyksdGhpcy5lZmZlY3QgaW5zdGFuY2VvZiB3aW5kb3cuU2VxdWVuY2VFZmZlY3QmJihjKz1hLmVmZmVjdC5hY3RpdmVEdXJhdGlvbil9LmJpbmQodGhpcykpLCJwZW5kaW5nIiE9dGhpcy5wbGF5U3RhdGUpe3ZhciBkPXRoaXMuZWZmZWN0Ll90aW1pbmcsZT10aGlzLmN1cnJlbnRUaW1lO251bGwhPT1lJiYoZT1hLmNhbGN1bGF0ZUl0ZXJhdGlvblByb2dyZXNzKGEuY2FsY3VsYXRlQWN0aXZlRHVyYXRpb24oZCksZSxkKSksKG51bGw9PWV8fGlzTmFOKGUpKSYmdGhpcy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCl9fX0sd2luZG93LkFuaW1hdGlvbj1iLkFuaW1hdGlvbn0oYSxjKSxmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChiKXt0aGlzLl9mcmFtZXM9YS5ub3JtYWxpemVLZXlmcmFtZXMoYil9ZnVuY3Rpb24gZSgpe2Zvcih2YXIgYT0hMTtpLmxlbmd0aDspaS5zaGlmdCgpLl91cGRhdGVDaGlsZHJlbigpLGE9ITA7cmV0dXJuIGF9dmFyIGY9ZnVuY3Rpb24oYSl7aWYoYS5fYW5pbWF0aW9uPXZvaWQgMCxhIGluc3RhbmNlb2Ygd2luZG93LlNlcXVlbmNlRWZmZWN0fHxhIGluc3RhbmNlb2Ygd2luZG93Lkdyb3VwRWZmZWN0KWZvcih2YXIgYj0wO2I8YS5jaGlsZHJlbi5sZW5ndGg7YisrKWYoYS5jaGlsZHJlbltiXSl9O2IucmVtb3ZlTXVsdGk9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9YVtjXTtkLl9wYXJlbnQ/KC0xPT1iLmluZGV4T2YoZC5fcGFyZW50KSYmYi5wdXNoKGQuX3BhcmVudCksZC5fcGFyZW50LmNoaWxkcmVuLnNwbGljZShkLl9wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZihkKSwxKSxkLl9wYXJlbnQ9bnVsbCxmKGQpKTpkLl9hbmltYXRpb24mJmQuX2FuaW1hdGlvbi5lZmZlY3Q9PWQmJihkLl9hbmltYXRpb24uY2FuY2VsKCksZC5fYW5pbWF0aW9uLmVmZmVjdD1uZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCxbXSksZC5fYW5pbWF0aW9uLl9jYWxsYmFjayYmKGQuX2FuaW1hdGlvbi5fY2FsbGJhY2suX2FuaW1hdGlvbj1udWxsKSxkLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCksZihkKSl9Zm9yKGM9MDtjPGIubGVuZ3RoO2MrKyliW2NdLl9yZWJ1aWxkKCl9LGIuS2V5ZnJhbWVFZmZlY3Q9ZnVuY3Rpb24oYixjLGUsZil7cmV0dXJuIHRoaXMudGFyZ2V0PWIsdGhpcy5fcGFyZW50PW51bGwsZT1hLm51bWVyaWNUaW1pbmdUb09iamVjdChlKSx0aGlzLl90aW1pbmdJbnB1dD1hLmNsb25lVGltaW5nSW5wdXQoZSksdGhpcy5fdGltaW5nPWEubm9ybWFsaXplVGltaW5nSW5wdXQoZSksdGhpcy50aW1pbmc9YS5tYWtlVGltaW5nKGUsITEsdGhpcyksdGhpcy50aW1pbmcuX2VmZmVjdD10aGlzLCJmdW5jdGlvbiI9PXR5cGVvZiBjPyhhLmRlcHJlY2F0ZWQoIkN1c3RvbSBLZXlmcmFtZUVmZmVjdCIsIjIwMTUtMDYtMjIiLCJVc2UgS2V5ZnJhbWVFZmZlY3Qub25zYW1wbGUgaW5zdGVhZC4iKSx0aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzPWMpOnRoaXMuX25vcm1hbGl6ZWRLZXlmcmFtZXM9bmV3IGQoYyksdGhpcy5fa2V5ZnJhbWVzPWMsdGhpcy5hY3RpdmVEdXJhdGlvbj1hLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKHRoaXMuX3RpbWluZyksdGhpcy5faWQ9Zix0aGlzfSxiLktleWZyYW1lRWZmZWN0LnByb3RvdHlwZT17Z2V0RnJhbWVzOmZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX25vcm1hbGl6ZWRLZXlmcmFtZXM/dGhpcy5fbm9ybWFsaXplZEtleWZyYW1lczp0aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzLl9mcmFtZXN9LHNldCBvbnNhbXBsZShhKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5nZXRGcmFtZXMoKSl0aHJvdyBuZXcgRXJyb3IoIlNldHRpbmcgb25zYW1wbGUgb24gY3VzdG9tIGVmZmVjdCBLZXlmcmFtZUVmZmVjdCBpcyBub3Qgc3VwcG9ydGVkLiIpO3RoaXMuX29uc2FtcGxlPWEsdGhpcy5fYW5pbWF0aW9uJiZ0aGlzLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCl9LGdldCBwYXJlbnQoKXtyZXR1cm4gdGhpcy5fcGFyZW50fSxjbG9uZTpmdW5jdGlvbigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmdldEZyYW1lcygpKXRocm93IG5ldyBFcnJvcigiQ2xvbmluZyBjdXN0b20gZWZmZWN0cyBpcyBub3Qgc3VwcG9ydGVkLiIpO3ZhciBiPW5ldyBLZXlmcmFtZUVmZmVjdCh0aGlzLnRhcmdldCxbXSxhLmNsb25lVGltaW5nSW5wdXQodGhpcy5fdGltaW5nSW5wdXQpLHRoaXMuX2lkKTtyZXR1cm4gYi5fbm9ybWFsaXplZEtleWZyYW1lcz10aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzLGIuX2tleWZyYW1lcz10aGlzLl9rZXlmcmFtZXMsYn0scmVtb3ZlOmZ1bmN0aW9uKCl7Yi5yZW1vdmVNdWx0aShbdGhpc10pfX07dmFyIGc9RWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZTtFbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGEsYyl7dmFyIGQ9IiI7cmV0dXJuIGMmJmMuaWQmJihkPWMuaWQpLGIudGltZWxpbmUuX3BsYXkobmV3IGIuS2V5ZnJhbWVFZmZlY3QodGhpcyxhLGMsZCkpfTt2YXIgaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJkaXYiKTtiLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdD1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1hLnRhcmdldHx8aCxjPWEuX2tleWZyYW1lczsiZnVuY3Rpb24iPT10eXBlb2YgYyYmKGM9W10pO3ZhciBkPWEuX3RpbWluZ0lucHV0O2QuaWQ9YS5faWR9ZWxzZSB2YXIgYj1oLGM9W10sZD0wO3JldHVybiBnLmFwcGx5KGIsW2MsZF0pfSxiLmJpbmRBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdD1mdW5jdGlvbihhKXthLmVmZmVjdCYmImZ1bmN0aW9uIj09dHlwZW9mIGEuZWZmZWN0Ll9ub3JtYWxpemVkS2V5ZnJhbWVzJiZiLmJpbmRBbmltYXRpb25Gb3JDdXN0b21FZmZlY3QoYSl9O3ZhciBpPVtdO2IuYXdhaXRTdGFydFRpbWU9ZnVuY3Rpb24oYSl7bnVsbD09PWEuc3RhcnRUaW1lJiZhLl9pc0dyb3VwJiYoMD09aS5sZW5ndGgmJnJlcXVlc3RBbmltYXRpb25GcmFtZShlKSxpLnB1c2goYSkpfTt2YXIgaj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZTtPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJnZXRDb21wdXRlZFN0eWxlIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oKXtiLnRpbWVsaW5lLl91cGRhdGVBbmltYXRpb25zUHJvbWlzZXMoKTt2YXIgYT1qLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gZSgpJiYoYT1qLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksYi50aW1lbGluZS5fdXBkYXRlQW5pbWF0aW9uc1Byb21pc2VzKCksYX19KSx3aW5kb3cuS2V5ZnJhbWVFZmZlY3Q9Yi5LZXlmcmFtZUVmZmVjdCx3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuZ2V0QW5pbWF0aW9ucz1mdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC50aW1lbGluZS5nZXRBbmltYXRpb25zKCkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT09YS5lZmZlY3QmJmEuZWZmZWN0LnRhcmdldD09dGhpc30uYmluZCh0aGlzKSl9fShhLGMpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEpe2EuX3JlZ2lzdGVyZWR8fChhLl9yZWdpc3RlcmVkPSEwLGcucHVzaChhKSxofHwoaD0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSkpKX1mdW5jdGlvbiBlKGEpe3ZhciBiPWc7Zz1bXSxiLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5fc2VxdWVuY2VOdW1iZXItYi5fc2VxdWVuY2VOdW1iZXJ9KSxiPWIuZmlsdGVyKGZ1bmN0aW9uKGEpe2EoKTt2YXIgYj1hLl9hbmltYXRpb24/YS5fYW5pbWF0aW9uLnBsYXlTdGF0ZToiaWRsZSI7cmV0dXJuInJ1bm5pbmciIT1iJiYicGVuZGluZyIhPWImJihhLl9yZWdpc3RlcmVkPSExKSxhLl9yZWdpc3RlcmVkfSksZy5wdXNoLmFwcGx5KGcsYiksZy5sZW5ndGg/KGg9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpKTpoPSExfXZhciBmPShkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJkaXYiKSwwKTtiLmJpbmRBbmltYXRpb25Gb3JDdXN0b21FZmZlY3Q9ZnVuY3Rpb24oYil7dmFyIGMsZT1iLmVmZmVjdC50YXJnZXQsZz0iZnVuY3Rpb24iPT10eXBlb2YgYi5lZmZlY3QuZ2V0RnJhbWVzKCk7Yz1nP2IuZWZmZWN0LmdldEZyYW1lcygpOmIuZWZmZWN0Ll9vbnNhbXBsZTt2YXIgaD1iLmVmZmVjdC50aW1pbmcsaT1udWxsO2g9YS5ub3JtYWxpemVUaW1pbmdJbnB1dChoKTt2YXIgaj1mdW5jdGlvbigpe3ZhciBkPWouX2FuaW1hdGlvbj9qLl9hbmltYXRpb24uY3VycmVudFRpbWU6bnVsbDtudWxsIT09ZCYmKGQ9YS5jYWxjdWxhdGVJdGVyYXRpb25Qcm9ncmVzcyhhLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKGgpLGQsaCksaXNOYU4oZCkmJihkPW51bGwpKSxkIT09aSYmKGc/YyhkLGUsYi5lZmZlY3QpOmMoZCxiLmVmZmVjdCxiLmVmZmVjdC5fYW5pbWF0aW9uKSksaT1kfTtqLl9hbmltYXRpb249YixqLl9yZWdpc3RlcmVkPSExLGouX3NlcXVlbmNlTnVtYmVyPWYrKyxiLl9jYWxsYmFjaz1qLGQoail9O3ZhciBnPVtdLGg9ITE7Yi5BbmltYXRpb24ucHJvdG90eXBlLl9yZWdpc3Rlcj1mdW5jdGlvbigpe3RoaXMuX2NhbGxiYWNrJiZkKHRoaXMuX2NhbGxiYWNrKX19KGEsYyksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7cmV0dXJuIGEuX3RpbWluZy5kZWxheSthLmFjdGl2ZUR1cmF0aW9uK2EuX3RpbWluZy5lbmREZWxheX1mdW5jdGlvbiBlKGIsYyxkKXt0aGlzLl9pZD1kLHRoaXMuX3BhcmVudD1udWxsLHRoaXMuY2hpbGRyZW49Ynx8W10sdGhpcy5fcmVwYXJlbnQodGhpcy5jaGlsZHJlbiksYz1hLm51bWVyaWNUaW1pbmdUb09iamVjdChjKSx0aGlzLl90aW1pbmdJbnB1dD1hLmNsb25lVGltaW5nSW5wdXQoYyksdGhpcy5fdGltaW5nPWEubm9ybWFsaXplVGltaW5nSW5wdXQoYywhMCksdGhpcy50aW1pbmc9YS5tYWtlVGltaW5nKGMsITAsdGhpcyksdGhpcy50aW1pbmcuX2VmZmVjdD10aGlzLCJhdXRvIj09PXRoaXMuX3RpbWluZy5kdXJhdGlvbiYmKHRoaXMuX3RpbWluZy5kdXJhdGlvbj10aGlzLmFjdGl2ZUR1cmF0aW9uKX13aW5kb3cuU2VxdWVuY2VFZmZlY3Q9ZnVuY3Rpb24oKXtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sd2luZG93Lkdyb3VwRWZmZWN0PWZ1bmN0aW9uKCl7ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUucHJvdG90eXBlPXtfaXNBbmNlc3RvcjpmdW5jdGlvbihhKXtmb3IodmFyIGI9dGhpcztudWxsIT09Yjspe2lmKGI9PWEpcmV0dXJuITA7Yj1iLl9wYXJlbnR9cmV0dXJuITF9LF9yZWJ1aWxkOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXM7YTspImF1dG8iPT09YS50aW1pbmcuZHVyYXRpb24mJihhLl90aW1pbmcuZHVyYXRpb249YS5hY3RpdmVEdXJhdGlvbiksYT1hLl9wYXJlbnQ7dGhpcy5fYW5pbWF0aW9uJiZ0aGlzLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCl9LF9yZXBhcmVudDpmdW5jdGlvbihhKXtiLnJlbW92ZU11bHRpKGEpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY10uX3BhcmVudD10aGlzfSxfcHV0Q2hpbGQ6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Yj8iQ2Fubm90IGFwcGVuZCBhbiBhbmNlc3RvciBvciBzZWxmIjoiQ2Fubm90IHByZXBlbmQgYW4gYW5jZXN0b3Igb3Igc2VsZiIsZD0wO2Q8YS5sZW5ndGg7ZCsrKWlmKHRoaXMuX2lzQW5jZXN0b3IoYVtkXSkpdGhyb3d7dHlwZTpET01FeGNlcHRpb24uSElFUkFSQ0hZX1JFUVVFU1RfRVJSLG5hbWU6IkhpZXJhcmNoeVJlcXVlc3RFcnJvciIsbWVzc2FnZTpjfTtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoO2QrKyliP3RoaXMuY2hpbGRyZW4ucHVzaChhW2RdKTp0aGlzLmNoaWxkcmVuLnVuc2hpZnQoYVtkXSk7dGhpcy5fcmVwYXJlbnQoYSksdGhpcy5fcmVidWlsZCgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXt0aGlzLl9wdXRDaGlsZChhcmd1bWVudHMsITApfSxwcmVwZW5kOmZ1bmN0aW9uKCl7dGhpcy5fcHV0Q2hpbGQoYXJndW1lbnRzLCExKX0sZ2V0IHBhcmVudCgpe3JldHVybiB0aGlzLl9wYXJlbnR9LGdldCBmaXJzdENoaWxkKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW4ubGVuZ3RoP3RoaXMuY2hpbGRyZW5bMF06bnVsbH0sZ2V0IGxhc3RDaGlsZCgpe3JldHVybiB0aGlzLmNoaWxkcmVuLmxlbmd0aD90aGlzLmNoaWxkcmVuW3RoaXMuY2hpbGRyZW4ubGVuZ3RoLTFdOm51bGx9LGNsb25lOmZ1bmN0aW9uKCl7Zm9yKHZhciBiPWEuY2xvbmVUaW1pbmdJbnB1dCh0aGlzLl90aW1pbmdJbnB1dCksYz1bXSxkPTA7ZDx0aGlzLmNoaWxkcmVuLmxlbmd0aDtkKyspYy5wdXNoKHRoaXMuY2hpbGRyZW5bZF0uY2xvbmUoKSk7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBHcm91cEVmZmVjdD9uZXcgR3JvdXBFZmZlY3QoYyxiKTpuZXcgU2VxdWVuY2VFZmZlY3QoYyxiKX0scmVtb3ZlOmZ1bmN0aW9uKCl7Yi5yZW1vdmVNdWx0aShbdGhpc10pfX0sd2luZG93LlNlcXVlbmNlRWZmZWN0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LlNlcXVlbmNlRWZmZWN0LnByb3RvdHlwZSwiYWN0aXZlRHVyYXRpb24iLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYT0wO3JldHVybiB0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYil7YSs9ZChiKX0pLE1hdGgubWF4KGEsMCl9fSksd2luZG93Lkdyb3VwRWZmZWN0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93Lkdyb3VwRWZmZWN0LnByb3RvdHlwZSwiYWN0aXZlRHVyYXRpb24iLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYT0wO3JldHVybiB0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYil7YT1NYXRoLm1heChhLGQoYikpfSksYX19KSxiLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JHcm91cD1mdW5jdGlvbihjKXt2YXIgZCxlPW51bGwsZj1mdW5jdGlvbihiKXt2YXIgYz1kLl93cmFwcGVyO2lmKGMmJiJwZW5kaW5nIiE9Yy5wbGF5U3RhdGUmJmMuZWZmZWN0KXJldHVybiBudWxsPT1iP3ZvaWQgYy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCk6MD09YiYmYy5wbGF5YmFja1JhdGU8MCYmKGV8fChlPWEubm9ybWFsaXplVGltaW5nSW5wdXQoYy5lZmZlY3QudGltaW5nKSksYj1hLmNhbGN1bGF0ZUl0ZXJhdGlvblByb2dyZXNzKGEuY2FsY3VsYXRlQWN0aXZlRHVyYXRpb24oZSksLTEsZSksaXNOYU4oYil8fG51bGw9PWIpPyhjLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYSl7YS5jdXJyZW50VGltZT0tMX0pLHZvaWQgYy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCkpOnZvaWQgMH0sZz1uZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCxbXSxjLl90aW1pbmcsYy5faWQpO3JldHVybiBnLm9uc2FtcGxlPWYsZD1iLnRpbWVsaW5lLl9wbGF5KGcpfSxiLmJpbmRBbmltYXRpb25Gb3JHcm91cD1mdW5jdGlvbihhKXthLl9hbmltYXRpb24uX3dyYXBwZXI9YSxhLl9pc0dyb3VwPSEwLGIuYXdhaXRTdGFydFRpbWUoYSksYS5fY29uc3RydWN0Q2hpbGRBbmltYXRpb25zKCksYS5fc2V0RXh0ZXJuYWxBbmltYXRpb24oYSl9LGIuZ3JvdXBDaGlsZER1cmF0aW9uPWR9KGEsYyl9KCk7CgohKGZ1bmN0aW9uKCl7Ci8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uCgogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55CiAgICBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuCgogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgKICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWQogICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULAogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NCiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUgogICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUgogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCmZ1bmN0aW9uIHQodCxlLG4saSl7dmFyIHIsbz1hcmd1bWVudHMubGVuZ3RoLGE9bzwzP2U6bnVsbD09PWk/aT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsbik6aTtpZigib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJiJmdW5jdGlvbiI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKWE9UmVmbGVjdC5kZWNvcmF0ZSh0LGUsbixpKTtlbHNlIGZvcih2YXIgcz10Lmxlbmd0aC0xO3M+PTA7cy0tKShyPXRbc10pJiYoYT0obzwzP3IoYSk6bz4zP3IoZSxuLGEpOnIoZSxuKSl8fGEpO3JldHVybiBvPjMmJmEmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4sYSksYX1mdW5jdGlvbiBlKHQsZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSlyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YSh0LGUpfWZ1bmN0aW9uIG4odCxlLG4saSl7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKHIsbyl7ZnVuY3Rpb24gYSh0KXt0cnl7bChpLm5leHQodCkpfWNhdGNoKHQpe28odCl9fWZ1bmN0aW9uIHModCl7dHJ5e2woaS50aHJvdyh0KSl9Y2F0Y2godCl7byh0KX19ZnVuY3Rpb24gbCh0KXt0LmRvbmU/cih0LnZhbHVlKTooZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIG4/dDpuZXcgbigoZnVuY3Rpb24oZSl7ZSh0KX0pKX0pKHQudmFsdWUpLnRoZW4oYSxzKX1sKChpPWkuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kCiAgICAgKiBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5CiAgICAgKiBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5CiAgICAgKiBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQCiAgICAgKiByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAgKi9mdW5jdGlvbiBpKHQpe3JldHVybiBlPT57aWYodClpZihlLmhhc093blByb3BlcnR5KCJpcyIpKXtpZih0IT09ZS5pcyl0aHJvdyBuZXcgRXJyb3IoYGN1c3RvbSBlbGVtZW50IHRhZyBuYW1lcyBkbyBub3QgbWF0Y2g6ICgke3R9ICE9PSAke2UuaXN9KWApfWVsc2UgT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImlzIix7dmFsdWU6dH0pO3dpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoZS5pcyxlKX19ZnVuY3Rpb24gcih0LGUsbil7dC5jb25zdHJ1Y3Rvci5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydGllcyIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5jb25zdHJ1Y3RvciwicHJvcGVydGllcyIse3ZhbHVlOnt9fSksdC5jb25zdHJ1Y3Rvci5wcm9wZXJ0aWVzW2VdPU9iamVjdC5hc3NpZ24oe30sdC5jb25zdHJ1Y3Rvci5wcm9wZXJ0aWVzW2VdLG4pfWZ1bmN0aW9uIG8odCl7cmV0dXJuKGUsbik9PntyKGUsbix0KX19ZnVuY3Rpb24gYSguLi50KXtyZXR1cm4oZSxuKT0+e2UuY29uc3RydWN0b3IuaGFzT3duUHJvcGVydHkoIm9ic2VydmVycyIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5jb25zdHJ1Y3Rvciwib2JzZXJ2ZXJzIix7dmFsdWU6W119KSxlLmNvbnN0cnVjdG9yLm9ic2VydmVycy5wdXNoKGAke259KCR7dC5qb2luKCIsIil9KWApfX1mdW5jdGlvbiBzKHQsLi4uZSl7cmV0dXJuKG4saSxvKT0+e2NvbnN0IGE9YF9fY29tcHV0ZSR7aX1gO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLGEse3ZhbHVlOm8uZ2V0fSksby5nZXQ9dm9pZCAwO3IobixpLHtjb21wdXRlZDpgJHthfSgke1t0LC4uLmVdLmpvaW4oIiwiKX0pYH0pfX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi93aW5kb3cuSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eT1mdW5jdGlvbih0LGUpe3JldHVybiB0fTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KbGV0IGwsYyx1PS8odXJsXCgpKFteKV0qKShcKSkvZyxoPS8oXlwvW15cL10pfCheIyl8KF5bXHctXGRdKjopLztmdW5jdGlvbiBkKHQsZSl7aWYodCYmaC50ZXN0KHQpKXJldHVybiB0O2lmKCIvLyI9PT10KXJldHVybiB0O2lmKHZvaWQgMD09PWwpe2w9ITE7dHJ5e2NvbnN0IHQ9bmV3IFVSTCgiYiIsImh0dHA6Ly9hIik7dC5wYXRobmFtZT0iYyUyMGQiLGw9Imh0dHA6Ly9hL2MlMjBkIj09PXQuaHJlZn1jYXRjaCh0KXt9fWlmKGV8fChlPWRvY3VtZW50LmJhc2VVUkl8fHdpbmRvdy5sb2NhdGlvbi5ocmVmKSxsKXRyeXtyZXR1cm4gbmV3IFVSTCh0LGUpLmhyZWZ9Y2F0Y2goZSl7cmV0dXJuIHR9cmV0dXJuIGN8fChjPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgidGVtcCIpLGMuYmFzZT1jLmNyZWF0ZUVsZW1lbnQoImJhc2UiKSxjLmhlYWQuYXBwZW5kQ2hpbGQoYy5iYXNlKSxjLmFuY2hvcj1jLmNyZWF0ZUVsZW1lbnQoImEiKSxjLmJvZHkuYXBwZW5kQ2hpbGQoYy5hbmNob3IpKSxjLmJhc2UuaHJlZj1lLGMuYW5jaG9yLmhyZWY9dCxjLmFuY2hvci5ocmVmfHx0fWZ1bmN0aW9uIHAodCxlKXtyZXR1cm4gdC5yZXBsYWNlKHUsKGZ1bmN0aW9uKHQsbixpLHIpe3JldHVybiBuKyInIitkKGkucmVwbGFjZSgvWyInXS9nLCIiKSxlKSsiJyIrcn0pKX1mdW5jdGlvbiBmKHQpe3JldHVybiB0LnN1YnN0cmluZygwLHQubGFzdEluZGV4T2YoIi8iKSsxKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9jb25zdCBtPSF3aW5kb3cuU2hhZHlET018fCF3aW5kb3cuU2hhZHlET00uaW5Vc2U7Qm9vbGVhbighd2luZG93LlNoYWR5Q1NTfHx3aW5kb3cuU2hhZHlDU1MubmF0aXZlQ3NzKTtjb25zdCBnPW0mJiJhZG9wdGVkU3R5bGVTaGVldHMiaW4gRG9jdW1lbnQucHJvdG90eXBlJiYicmVwbGFjZVN5bmMiaW4gQ1NTU3R5bGVTaGVldC5wcm90b3R5cGUmJigoKT0+e3RyeXtjb25zdCB0PW5ldyBDU1NTdHlsZVNoZWV0O3QucmVwbGFjZVN5bmMoIiIpO2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGUuYXR0YWNoU2hhZG93KHttb2RlOiJvcGVuIn0pLGUuc2hhZG93Um9vdC5hZG9wdGVkU3R5bGVTaGVldHM9W3RdLGUuc2hhZG93Um9vdC5hZG9wdGVkU3R5bGVTaGVldHNbMF09PT10fWNhdGNoKHQpe3JldHVybiExfX0pKCk7bGV0IF89d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLnJvb3RQYXRofHxmKGRvY3VtZW50LmJhc2VVUkl8fHdpbmRvdy5sb2NhdGlvbi5ocmVmKSx5PXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5zYW5pdGl6ZURPTVZhbHVlfHx2b2lkIDAsdj13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIuc2V0UGFzc2l2ZVRvdWNoR2VzdHVyZXN8fCExLGI9d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLnN0cmljdFRlbXBsYXRlUG9saWN5fHwhMSx4PXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5hbGxvd1RlbXBsYXRlRnJvbURvbU1vZHVsZXx8ITEsdz13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIubGVnYWN5T3B0aW1pemF0aW9uc3x8ITEsUz13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIubGVnYWN5V2FybmluZ3N8fCExLE09d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLnN5bmNJbml0aWFsUmVuZGVyfHwhMSxFPXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5sZWdhY3lVbmRlZmluZWR8fCExLFQ9d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLm9yZGVyZWRDb21wdXRlZHx8ITEsQz13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIucmVtb3ZlTmVzdGVkVGVtcGxhdGVzfHwhMSxBPXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5mYXN0RG9tSWZ8fCExLGs9d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLnN1cHByZXNzVGVtcGxhdGVOb3RpZmljYXRpb25zfHwhMSxMPXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5sZWdhY3lOb09ic2VydmVkQXR0cmlidXRlc3x8ITEsUD13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIudXNlQWRvcHRlZFN0eWxlU2hlZXRzV2l0aEJ1aWx0Q1NTfHwhMSxOPTA7Y29uc3QgST1mdW5jdGlvbih0KXtsZXQgZT10Ll9fbWl4aW5BcHBsaWNhdGlvbnM7ZXx8KGU9bmV3IFdlYWtNYXAsdC5fX21peGluQXBwbGljYXRpb25zPWUpO2xldCBuPU4rKztyZXR1cm4gZnVuY3Rpb24gaShyKXtsZXQgbz1yLl9fbWl4aW5TZXQ7aWYobyYmb1tuXSlyZXR1cm4gcjtsZXQgYT1lLHM9YS5nZXQocik7aWYoIXMpe3M9dChyKSxhLnNldChyLHMpO2xldCBlPU9iamVjdC5jcmVhdGUocy5fX21peGluU2V0fHxvfHxudWxsKTtlW25dPSEwLHMuX19taXhpblNldD1lfXJldHVybiBzfX07Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovbGV0IFI9e30sTz17fTtmdW5jdGlvbiB6KHQsZSl7Ult0XT1PW3QudG9Mb3dlckNhc2UoKV09ZX1mdW5jdGlvbiBEKHQpe3JldHVybiBSW3RdfHxPW3QudG9Mb3dlckNhc2UoKV19Y2xhc3MgQiBleHRlbmRzIEhUTUxFbGVtZW50e3N0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCl7cmV0dXJuWyJpZCJdfXN0YXRpYyBpbXBvcnQodCxlKXtpZih0KXtsZXQgbj1EKHQpO3JldHVybiBuJiZlP24ucXVlcnlTZWxlY3RvcihlKTpufXJldHVybiBudWxsfWF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LGUsbixpKXtlIT09biYmdGhpcy5yZWdpc3RlcigpfWdldCBhc3NldHBhdGgoKXtpZighdGhpcy5fX2Fzc2V0cGF0aCl7Y29uc3QgdD13aW5kb3cuSFRNTEltcG9ydHMmJkhUTUxJbXBvcnRzLmltcG9ydEZvckVsZW1lbnQ/SFRNTEltcG9ydHMuaW1wb3J0Rm9yRWxlbWVudCh0aGlzKXx8ZG9jdW1lbnQ6dGhpcy5vd25lckRvY3VtZW50LGU9ZCh0aGlzLmdldEF0dHJpYnV0ZSgiYXNzZXRwYXRoIil8fCIiLHQuYmFzZVVSSSk7dGhpcy5fX2Fzc2V0cGF0aD1mKGUpfXJldHVybiB0aGlzLl9fYXNzZXRwYXRofXJlZ2lzdGVyKHQpe2lmKHQ9dHx8dGhpcy5pZCl7aWYoYiYmdm9pZCAwIT09RCh0KSl0aHJvdyB6KHQsbnVsbCksbmV3IEVycm9yKGBzdHJpY3RUZW1wbGF0ZVBvbGljeTogZG9tLW1vZHVsZSAke3R9IHJlLXJlZ2lzdGVyZWRgKTt0aGlzLmlkPXQseih0LHRoaXMpLChmdW5jdGlvbiBlKHQpe3QucXVlcnlTZWxlY3Rvcigic3R5bGUiKSYmY29uc29sZS53YXJuKCJkb20tbW9kdWxlICVzIGhhcyBzdHlsZSBvdXRzaWRlIHRlbXBsYXRlIix0LmlkKX0pKHRoaXMpfX19Qi5wcm90b3R5cGUubW9kdWxlcz1SLGN1c3RvbUVsZW1lbnRzLmRlZmluZSgiZG9tLW1vZHVsZSIsQik7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IEg9InNoYWR5LXVuc2NvcGVkIjtmdW5jdGlvbiBGKHQpe3JldHVybiBCLmltcG9ydCh0KX1mdW5jdGlvbiBWKHQpe2NvbnN0IGU9cCgodC5ib2R5P3QuYm9keTp0KS50ZXh0Q29udGVudCx0LmJhc2VVUkkpLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtyZXR1cm4gbi50ZXh0Q29udGVudD1lLG59ZnVuY3Rpb24gVSh0KXtjb25zdCBlPXQudHJpbSgpLnNwbGl0KC9ccysvKSxuPVtdO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKW4ucHVzaCguLi5qKGVbdF0pKTtyZXR1cm4gbn1mdW5jdGlvbiBqKHQpe2NvbnN0IGU9Rih0KTtpZighZSlyZXR1cm4gY29uc29sZS53YXJuKCJDb3VsZCBub3QgZmluZCBzdHlsZSBkYXRhIGluIG1vZHVsZSBuYW1lZCIsdCksW107aWYodm9pZCAwPT09ZS5fc3R5bGVzKXtjb25zdCB0PVtdO3QucHVzaCguLi5XKGUpKTtjb25zdCBuPWUucXVlcnlTZWxlY3RvcigidGVtcGxhdGUiKTtuJiZ0LnB1c2goLi4uRyhuLGUuYXNzZXRwYXRoKSksZS5fc3R5bGVzPXR9cmV0dXJuIGUuX3N0eWxlc31mdW5jdGlvbiBHKHQsZSl7aWYoIXQuX3N0eWxlcyl7Y29uc3Qgbj1bXSxpPXQuY29udGVudC5xdWVyeVNlbGVjdG9yQWxsKCJzdHlsZSIpO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtsZXQgcj1pW3RdLG89ci5nZXRBdHRyaWJ1dGUoImluY2x1ZGUiKTtvJiZuLnB1c2goLi4uVShvKS5maWx0ZXIoKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbi5pbmRleE9mKHQpPT09ZX0pKSksZSYmKHIudGV4dENvbnRlbnQ9cChyLnRleHRDb250ZW50LGUpKSxuLnB1c2gocil9dC5fc3R5bGVzPW59cmV0dXJuIHQuX3N0eWxlc31mdW5jdGlvbiBXKHQpe2NvbnN0IGU9W10sbj10LnF1ZXJ5U2VsZWN0b3JBbGwoImxpbmtbcmVsPWltcG9ydF1bdHlwZX49Y3NzXSIpO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXtsZXQgaT1uW3RdO2lmKGkuaW1wb3J0KXtjb25zdCB0PWkuaW1wb3J0LG49aS5oYXNBdHRyaWJ1dGUoSCk7aWYobiYmIXQuX3Vuc2NvcGVkU3R5bGUpe2NvbnN0IGU9Vih0KTtlLnNldEF0dHJpYnV0ZShILCIiKSx0Ll91bnNjb3BlZFN0eWxlPWV9ZWxzZSB0Ll9zdHlsZXx8KHQuX3N0eWxlPVYodCkpO2UucHVzaChuP3QuX3Vuc2NvcGVkU3R5bGU6dC5fc3R5bGUpfX1yZXR1cm4gZX1mdW5jdGlvbiBxKHQpe2xldCBlPUYodCk7aWYoZSYmdm9pZCAwPT09ZS5fY3NzVGV4dCl7bGV0IHQ9KGZ1bmN0aW9uIG4odCl7bGV0IGU9IiIsbj1XKHQpO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKWUrPW5bdF0udGV4dENvbnRlbnQ7cmV0dXJuIGV9Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovKShlKSxuPWUucXVlcnlTZWxlY3RvcigidGVtcGxhdGUiKTtuJiYodCs9KGZ1bmN0aW9uIGkodCxlKXtsZXQgbj0iIjtjb25zdCBpPUcodCxlKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7bGV0IGU9aVt0XTtlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKSxuKz1lLnRleHRDb250ZW50fXJldHVybiBufSkobixlLmFzc2V0cGF0aCkpLGUuX2Nzc1RleHQ9dHx8bnVsbH1yZXR1cm4gZXx8Y29uc29sZS53YXJuKCJDb3VsZCBub3QgZmluZCBzdHlsZSBkYXRhIGluIG1vZHVsZSBuYW1lZCIsdCksZSYmZS5fY3NzVGV4dHx8IiJ9Y29uc3QgWT13aW5kb3cuU2hhZHlET00mJndpbmRvdy5TaGFkeURPTS5ub1BhdGNoJiZ3aW5kb3cuU2hhZHlET00ud3JhcD93aW5kb3cuU2hhZHlET00ud3JhcDp3aW5kb3cuU2hhZHlET00/dD0+U2hhZHlET00ucGF0Y2godCk6dD0+dDsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9mdW5jdGlvbiBYKHQpe3JldHVybiB0LmluZGV4T2YoIi4iKT49MH1mdW5jdGlvbiAkKHQpe2xldCBlPXQuaW5kZXhPZigiLiIpO3JldHVybi0xPT09ZT90OnQuc2xpY2UoMCxlKX1mdW5jdGlvbiBLKHQsZSl7cmV0dXJuIDA9PT10LmluZGV4T2YoZSsiLiIpfWZ1bmN0aW9uIFoodCxlKXtyZXR1cm4gMD09PWUuaW5kZXhPZih0KyIuIil9ZnVuY3Rpb24gSih0LGUsbil7cmV0dXJuIGUrbi5zbGljZSh0Lmxlbmd0aCl9ZnVuY3Rpb24gUSh0LGUpe3JldHVybiB0PT09ZXx8Syh0LGUpfHxaKHQsZSl9ZnVuY3Rpb24gdHQodCl7aWYoQXJyYXkuaXNBcnJheSh0KSl7bGV0IGU9W107Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspe2xldCBpPXRbbl0udG9TdHJpbmcoKS5zcGxpdCgiLiIpO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKWUucHVzaChpW3RdKX1yZXR1cm4gZS5qb2luKCIuIil9cmV0dXJuIHR9ZnVuY3Rpb24gZXQodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dHQodCkuc3BsaXQoIi4iKTp0LnRvU3RyaW5nKCkuc3BsaXQoIi4iKX1mdW5jdGlvbiBudCh0LGUsbil7bGV0IGk9dCxyPWV0KGUpO2ZvcihsZXQgdD0wO3Q8ci5sZW5ndGg7dCsrKXtpZighaSlyZXR1cm47aT1pW3JbdF1dfXJldHVybiBuJiYobi5wYXRoPXIuam9pbigiLiIpKSxpfWZ1bmN0aW9uIGl0KHQsZSxuKXtsZXQgaT10LHI9ZXQoZSksbz1yW3IubGVuZ3RoLTFdO2lmKHIubGVuZ3RoPjEpe2ZvcihsZXQgdD0wO3Q8ci5sZW5ndGgtMTt0Kyspe2lmKGk9aVtyW3RdXSwhaSlyZXR1cm59aVtvXT1ufWVsc2UgaVtlXT1uO3JldHVybiByLmpvaW4oIi4iKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9jb25zdCBydD17fSxvdD0vLVthLXpdL2csYXQ9LyhbQS1aXSkvZztmdW5jdGlvbiBzdCh0KXtyZXR1cm4gcnRbdF18fChydFt0XT10LmluZGV4T2YoIi0iKTwwP3Q6dC5yZXBsYWNlKG90LCh0PT50WzFdLnRvVXBwZXJDYXNlKCkpKSl9ZnVuY3Rpb24gbHQodCl7cmV0dXJuIHJ0W3RdfHwocnRbdF09dC5yZXBsYWNlKGF0LCItJDEiKS50b0xvd2VyQ2FzZSgpKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9sZXQgY3Q9MCx1dD0wLGh0PVtdLGR0PTAscHQ9ITEsZnQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpO25ldyB3aW5kb3cuTXV0YXRpb25PYnNlcnZlcigoZnVuY3Rpb24gbXQoKXtwdD0hMTtjb25zdCB0PWh0Lmxlbmd0aDtmb3IobGV0IGU9MDtlPHQ7ZSsrKXtsZXQgdD1odFtlXTtpZih0KXRyeXt0KCl9Y2F0Y2godCl7c2V0VGltZW91dCgoKCk9Pnt0aHJvdyB0fSkpfX1odC5zcGxpY2UoMCx0KSx1dCs9dH0pKS5vYnNlcnZlKGZ0LHtjaGFyYWN0ZXJEYXRhOiEwfSk7Y29uc3QgZ3Q9e2FmdGVyOnQ9Pih7cnVuOmU9PndpbmRvdy5zZXRUaW1lb3V0KGUsdCksY2FuY2VsKHQpe3dpbmRvdy5jbGVhclRpbWVvdXQodCl9fSkscnVuOih0LGUpPT53aW5kb3cuc2V0VGltZW91dCh0LGUpLGNhbmNlbCh0KXt3aW5kb3cuY2xlYXJUaW1lb3V0KHQpfX0sX3Q9e3J1bjp0PT53aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpLGNhbmNlbCh0KXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodCl9fSx5dD17cnVuOnQ9PndpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrP3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKHQpOndpbmRvdy5zZXRUaW1lb3V0KHQsMTYpLGNhbmNlbCh0KXt3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrP3dpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2sodCk6d2luZG93LmNsZWFyVGltZW91dCh0KX19LHZ0PXtydW46dD0+KHB0fHwocHQ9ITAsZnQudGV4dENvbnRlbnQ9ZHQrKyksaHQucHVzaCh0KSxjdCsrKSxjYW5jZWwodCl7Y29uc3QgZT10LXV0O2lmKGU+PTApe2lmKCFodFtlXSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgYXN5bmMgaGFuZGxlOiAiK3QpO2h0W2VdPW51bGx9fX0sYnQ9dnQseHQ9SSgodD0+Y2xhc3MgZXh0ZW5kcyB0e3N0YXRpYyBjcmVhdGVQcm9wZXJ0aWVzKHQpe2NvbnN0IGU9dGhpcy5wcm90b3R5cGU7Zm9yKGxldCBuIGluIHQpbiBpbiBlfHxlLl9jcmVhdGVQcm9wZXJ0eUFjY2Vzc29yKG4pfXN0YXRpYyBhdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkodCl7cmV0dXJuIHQudG9Mb3dlckNhc2UoKX1zdGF0aWMgdHlwZUZvclByb3BlcnR5KHQpe31fY3JlYXRlUHJvcGVydHlBY2Nlc3Nvcih0LGUpe3RoaXMuX2FkZFByb3BlcnR5VG9BdHRyaWJ1dGVNYXAodCksdGhpcy5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJfX2RhdGFIYXNBY2Nlc3NvciIsdGhpcykpfHwodGhpcy5fX2RhdGFIYXNBY2Nlc3Nvcj1PYmplY3QuYXNzaWduKHt9LHRoaXMuX19kYXRhSGFzQWNjZXNzb3IpKSx0aGlzLl9fZGF0YUhhc0FjY2Vzc29yW3RdfHwodGhpcy5fX2RhdGFIYXNBY2Nlc3Nvclt0XT0hMCx0aGlzLl9kZWZpbmVQcm9wZXJ0eUFjY2Vzc29yKHQsZSkpfV9hZGRQcm9wZXJ0eVRvQXR0cmlidXRlTWFwKHQpe3RoaXMuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgiX19kYXRhQXR0cmlidXRlcyIsdGhpcykpfHwodGhpcy5fX2RhdGFBdHRyaWJ1dGVzPU9iamVjdC5hc3NpZ24oe30sdGhpcy5fX2RhdGFBdHRyaWJ1dGVzKSk7bGV0IGU9dGhpcy5fX2RhdGFBdHRyaWJ1dGVzW3RdO3JldHVybiBlfHwoZT10aGlzLmNvbnN0cnVjdG9yLmF0dHJpYnV0ZU5hbWVGb3JQcm9wZXJ0eSh0KSx0aGlzLl9fZGF0YUF0dHJpYnV0ZXNbZV09dCksZX1fZGVmaW5lUHJvcGVydHlBY2Nlc3Nvcih0LGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLHQse2dldCgpe3JldHVybiB0aGlzLl9fZGF0YVt0XX0sc2V0OmU/ZnVuY3Rpb24oKXt9OmZ1bmN0aW9uKGUpe3RoaXMuX3NldFBlbmRpbmdQcm9wZXJ0eSh0LGUsITApJiZ0aGlzLl9pbnZhbGlkYXRlUHJvcGVydGllcygpfX0pfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9fZGF0YUVuYWJsZWQ9ITEsdGhpcy5fX2RhdGFSZWFkeT0hMSx0aGlzLl9fZGF0YUludmFsaWQ9ITEsdGhpcy5fX2RhdGE9e30sdGhpcy5fX2RhdGFQZW5kaW5nPW51bGwsdGhpcy5fX2RhdGFPbGQ9bnVsbCx0aGlzLl9fZGF0YUluc3RhbmNlUHJvcHM9bnVsbCx0aGlzLl9fZGF0YUNvdW50ZXI9MCx0aGlzLl9fc2VyaWFsaXppbmc9ITEsdGhpcy5faW5pdGlhbGl6ZVByb3BlcnRpZXMoKX1yZWFkeSgpe3RoaXMuX19kYXRhUmVhZHk9ITAsdGhpcy5fZmx1c2hQcm9wZXJ0aWVzKCl9X2luaXRpYWxpemVQcm9wZXJ0aWVzKCl7Zm9yKGxldCB0IGluIHRoaXMuX19kYXRhSGFzQWNjZXNzb3IpdGhpcy5oYXNPd25Qcm9wZXJ0eSh0KSYmKHRoaXMuX19kYXRhSW5zdGFuY2VQcm9wcz10aGlzLl9fZGF0YUluc3RhbmNlUHJvcHN8fHt9LHRoaXMuX19kYXRhSW5zdGFuY2VQcm9wc1t0XT10aGlzW3RdLGRlbGV0ZSB0aGlzW3RdKX1faW5pdGlhbGl6ZUluc3RhbmNlUHJvcGVydGllcyh0KXtPYmplY3QuYXNzaWduKHRoaXMsdCl9X3NldFByb3BlcnR5KHQsZSl7dGhpcy5fc2V0UGVuZGluZ1Byb3BlcnR5KHQsZSkmJnRoaXMuX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCl9X2dldFByb3BlcnR5KHQpe3JldHVybiB0aGlzLl9fZGF0YVt0XX1fc2V0UGVuZGluZ1Byb3BlcnR5KHQsZSxuKXtsZXQgaT10aGlzLl9fZGF0YVt0XSxyPXRoaXMuX3Nob3VsZFByb3BlcnR5Q2hhbmdlKHQsZSxpKTtyZXR1cm4gciYmKHRoaXMuX19kYXRhUGVuZGluZ3x8KHRoaXMuX19kYXRhUGVuZGluZz17fSx0aGlzLl9fZGF0YU9sZD17fSksdGhpcy5fX2RhdGFPbGQmJiEodCBpbiB0aGlzLl9fZGF0YU9sZCkmJih0aGlzLl9fZGF0YU9sZFt0XT1pKSx0aGlzLl9fZGF0YVt0XT1lLHRoaXMuX19kYXRhUGVuZGluZ1t0XT1lKSxyfV9pc1Byb3BlcnR5UGVuZGluZyh0KXtyZXR1cm4hKCF0aGlzLl9fZGF0YVBlbmRpbmd8fCF0aGlzLl9fZGF0YVBlbmRpbmcuaGFzT3duUHJvcGVydHkodCkpfV9pbnZhbGlkYXRlUHJvcGVydGllcygpeyF0aGlzLl9fZGF0YUludmFsaWQmJnRoaXMuX19kYXRhUmVhZHkmJih0aGlzLl9fZGF0YUludmFsaWQ9ITAsYnQucnVuKCgoKT0+e3RoaXMuX19kYXRhSW52YWxpZCYmKHRoaXMuX19kYXRhSW52YWxpZD0hMSx0aGlzLl9mbHVzaFByb3BlcnRpZXMoKSl9KSkpfV9lbmFibGVQcm9wZXJ0aWVzKCl7dGhpcy5fX2RhdGFFbmFibGVkfHwodGhpcy5fX2RhdGFFbmFibGVkPSEwLHRoaXMuX19kYXRhSW5zdGFuY2VQcm9wcyYmKHRoaXMuX2luaXRpYWxpemVJbnN0YW5jZVByb3BlcnRpZXModGhpcy5fX2RhdGFJbnN0YW5jZVByb3BzKSx0aGlzLl9fZGF0YUluc3RhbmNlUHJvcHM9bnVsbCksdGhpcy5yZWFkeSgpKX1fZmx1c2hQcm9wZXJ0aWVzKCl7dGhpcy5fX2RhdGFDb3VudGVyKys7Y29uc3QgdD10aGlzLl9fZGF0YSxlPXRoaXMuX19kYXRhUGVuZGluZyxuPXRoaXMuX19kYXRhT2xkO3RoaXMuX3Nob3VsZFByb3BlcnRpZXNDaGFuZ2UodCxlLG4pJiYodGhpcy5fX2RhdGFQZW5kaW5nPW51bGwsdGhpcy5fX2RhdGFPbGQ9bnVsbCx0aGlzLl9wcm9wZXJ0aWVzQ2hhbmdlZCh0LGUsbikpLHRoaXMuX19kYXRhQ291bnRlci0tfV9zaG91bGRQcm9wZXJ0aWVzQ2hhbmdlKHQsZSxuKXtyZXR1cm4gQm9vbGVhbihlKX1fcHJvcGVydGllc0NoYW5nZWQodCxlLG4pe31fc2hvdWxkUHJvcGVydHlDaGFuZ2UodCxlLG4pe3JldHVybiBuIT09ZSYmKG49PW58fGU9PWUpfWF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LGUsbixpKXtlIT09biYmdGhpcy5fYXR0cmlidXRlVG9Qcm9wZXJ0eSh0LG4pLHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayYmc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHQsZSxuLGkpfV9hdHRyaWJ1dGVUb1Byb3BlcnR5KHQsZSxuKXtpZighdGhpcy5fX3NlcmlhbGl6aW5nKXtjb25zdCBpPXRoaXMuX19kYXRhQXR0cmlidXRlcyxyPWkmJmlbdF18fHQ7dGhpc1tyXT10aGlzLl9kZXNlcmlhbGl6ZVZhbHVlKGUsbnx8dGhpcy5jb25zdHJ1Y3Rvci50eXBlRm9yUHJvcGVydHkocikpfX1fcHJvcGVydHlUb0F0dHJpYnV0ZSh0LGUsbil7dGhpcy5fX3NlcmlhbGl6aW5nPSEwLHRoaXMuX3ZhbHVlVG9Ob2RlQXR0cmlidXRlKHRoaXMsbj1hcmd1bWVudHMubGVuZ3RoPDM/dGhpc1t0XTpuLGV8fHRoaXMuY29uc3RydWN0b3IuYXR0cmlidXRlTmFtZUZvclByb3BlcnR5KHQpKSx0aGlzLl9fc2VyaWFsaXppbmc9ITF9X3ZhbHVlVG9Ob2RlQXR0cmlidXRlKHQsZSxuKXtjb25zdCBpPXRoaXMuX3NlcmlhbGl6ZVZhbHVlKGUpOyJjbGFzcyIhPT1uJiYibmFtZSIhPT1uJiYic2xvdCIhPT1ufHwodD1ZKHQpKSx2b2lkIDA9PT1pP3QucmVtb3ZlQXR0cmlidXRlKG4pOnQuc2V0QXR0cmlidXRlKG4saSl9X3NlcmlhbGl6ZVZhbHVlKHQpe3N3aXRjaCh0eXBlb2YgdCl7Y2FzZSJib29sZWFuIjpyZXR1cm4gdD8iIjp2b2lkIDA7ZGVmYXVsdDpyZXR1cm4gbnVsbCE9dD90LnRvU3RyaW5nKCk6dm9pZCAwfX1fZGVzZXJpYWxpemVWYWx1ZSh0LGUpe3N3aXRjaChlKXtjYXNlIEJvb2xlYW46cmV0dXJuIG51bGwhPT10O2Nhc2UgTnVtYmVyOnJldHVybiBOdW1iZXIodCk7ZGVmYXVsdDpyZXR1cm4gdH19fSkpLHd0PXt9O2xldCBTdD1IVE1MRWxlbWVudC5wcm90b3R5cGU7Zm9yKDtTdDspe2xldCB0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKFN0KTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl3dFt0W2VdXT0hMDtTdD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoU3QpfWNvbnN0IE10PUkoKHQ9Pntjb25zdCBlPXh0KHQpO3JldHVybiBjbGFzcyBleHRlbmRzIGV7c3RhdGljIGNyZWF0ZVByb3BlcnRpZXNGb3JBdHRyaWJ1dGVzKCl7bGV0IHQ9dGhpcy5vYnNlcnZlZEF0dHJpYnV0ZXM7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspdGhpcy5wcm90b3R5cGUuX2NyZWF0ZVByb3BlcnR5QWNjZXNzb3Ioc3QodFtlXSkpfXN0YXRpYyBhdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkodCl7cmV0dXJuIGx0KHQpfV9pbml0aWFsaXplUHJvcGVydGllcygpe3RoaXMuX19kYXRhUHJvdG8mJih0aGlzLl9pbml0aWFsaXplUHJvdG9Qcm9wZXJ0aWVzKHRoaXMuX19kYXRhUHJvdG8pLHRoaXMuX19kYXRhUHJvdG89bnVsbCksc3VwZXIuX2luaXRpYWxpemVQcm9wZXJ0aWVzKCl9X2luaXRpYWxpemVQcm90b1Byb3BlcnRpZXModCl7Zm9yKGxldCBlIGluIHQpdGhpcy5fc2V0UHJvcGVydHkoZSx0W2VdKX1fZW5zdXJlQXR0cmlidXRlKHQsZSl7Y29uc3Qgbj10aGlzO24uaGFzQXR0cmlidXRlKHQpfHx0aGlzLl92YWx1ZVRvTm9kZUF0dHJpYnV0ZShuLGUsdCl9X3NlcmlhbGl6ZVZhbHVlKHQpe3N3aXRjaCh0eXBlb2YgdCl7Y2FzZSJvYmplY3QiOmlmKHQgaW5zdGFuY2VvZiBEYXRlKXJldHVybiB0LnRvU3RyaW5nKCk7aWYodCl0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpfWNhdGNoKHQpe3JldHVybiIifWRlZmF1bHQ6cmV0dXJuIHN1cGVyLl9zZXJpYWxpemVWYWx1ZSh0KX19X2Rlc2VyaWFsaXplVmFsdWUodCxlKXtsZXQgbjtzd2l0Y2goZSl7Y2FzZSBPYmplY3Q6dHJ5e249SlNPTi5wYXJzZSh0KX1jYXRjaChlKXtuPXR9YnJlYWs7Y2FzZSBBcnJheTp0cnl7bj1KU09OLnBhcnNlKHQpfWNhdGNoKGUpe249bnVsbCxjb25zb2xlLndhcm4oYFBvbHltZXI6OkF0dHJpYnV0ZXM6IGNvdWxkbid0IGRlY29kZSBBcnJheSBhcyBKU09OOiAke3R9YCl9YnJlYWs7Y2FzZSBEYXRlOm49aXNOYU4odCk/U3RyaW5nKHQpOk51bWJlcih0KSxuPW5ldyBEYXRlKG4pO2JyZWFrO2RlZmF1bHQ6bj1zdXBlci5fZGVzZXJpYWxpemVWYWx1ZSh0LGUpfXJldHVybiBufV9kZWZpbmVQcm9wZXJ0eUFjY2Vzc29yKHQsZSl7IShmdW5jdGlvbiBuKHQsZSl7aWYoIXd0W2VdKXtsZXQgbj10W2VdO3ZvaWQgMCE9PW4mJih0Ll9fZGF0YT90Ll9zZXRQZW5kaW5nUHJvcGVydHkoZSxuKToodC5fX2RhdGFQcm90bz90Lmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9fZGF0YVByb3RvIix0KSl8fCh0Ll9fZGF0YVByb3RvPU9iamVjdC5jcmVhdGUodC5fX2RhdGFQcm90bykpOnQuX19kYXRhUHJvdG89e30sdC5fX2RhdGFQcm90b1tlXT1uKSl9fSkodGhpcyx0KSxzdXBlci5fZGVmaW5lUHJvcGVydHlBY2Nlc3Nvcih0LGUpfV9oYXNBY2Nlc3Nvcih0KXtyZXR1cm4gdGhpcy5fX2RhdGFIYXNBY2Nlc3NvciYmdGhpcy5fX2RhdGFIYXNBY2Nlc3Nvclt0XX1faXNQcm9wZXJ0eVBlbmRpbmcodCl7cmV0dXJuIEJvb2xlYW4odGhpcy5fX2RhdGFQZW5kaW5nJiZ0IGluIHRoaXMuX19kYXRhUGVuZGluZyl9fX0pKSxFdD17ImRvbS1pZiI6ITAsImRvbS1yZXBlYXQiOiEwfTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9sZXQgVHQ9ITEsQ3Q9ITE7ZnVuY3Rpb24gQXQodCl7KGZ1bmN0aW9uIGUoKXtpZighVHQpe1R0PSEwO2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTt0LnBsYWNlaG9sZGVyPSJhIixDdD10LnBsYWNlaG9sZGVyPT09dC50ZXh0Q29udGVudH1yZXR1cm4gQ3R9KSgpJiYidGV4dGFyZWEiPT09dC5sb2NhbE5hbWUmJnQucGxhY2Vob2xkZXImJnQucGxhY2Vob2xkZXI9PT10LnRleHRDb250ZW50JiYodC50ZXh0Q29udGVudD1udWxsKX1mdW5jdGlvbiBrdCh0KXtsZXQgZT10LmdldEF0dHJpYnV0ZSgiaXMiKTtpZihlJiZFdFtlXSl7bGV0IG49dDtmb3Iobi5yZW1vdmVBdHRyaWJ1dGUoImlzIiksdD1uLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChlKSxuLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHQsbiksdC5hcHBlbmRDaGlsZChuKTtuLmF0dHJpYnV0ZXMubGVuZ3RoOyl0LnNldEF0dHJpYnV0ZShuLmF0dHJpYnV0ZXNbMF0ubmFtZSxuLmF0dHJpYnV0ZXNbMF0udmFsdWUpLG4ucmVtb3ZlQXR0cmlidXRlKG4uYXR0cmlidXRlc1swXS5uYW1lKX1yZXR1cm4gdH1mdW5jdGlvbiBMdCh0LGUpe2xldCBuPWUucGFyZW50SW5mbyYmTHQodCxlLnBhcmVudEluZm8pO2lmKCFuKXJldHVybiB0O2ZvcihsZXQgdD1uLmZpcnN0Q2hpbGQsaT0wO3Q7dD10Lm5leHRTaWJsaW5nKWlmKGUucGFyZW50SW5kZXg9PT1pKyspcmV0dXJuIHR9ZnVuY3Rpb24gUHQodCxlLG4saSl7aS5pZCYmKGVbaS5pZF09bil9ZnVuY3Rpb24gTnQodCxlLG4pe2lmKG4uZXZlbnRzJiZuLmV2ZW50cy5sZW5ndGgpZm9yKGxldCBpLHI9MCxvPW4uZXZlbnRzO3I8by5sZW5ndGgmJihpPW9bcl0pO3IrKyl0Ll9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKGUsaS5uYW1lLGkudmFsdWUsdCl9ZnVuY3Rpb24gSXQodCxlLG4saSl7bi50ZW1wbGF0ZUluZm8mJihlLl90ZW1wbGF0ZUluZm89bi50ZW1wbGF0ZUluZm8sZS5fcGFyZW50VGVtcGxhdGVJbmZvPWkpfWNvbnN0IFJ0PUkoKHQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgX3BhcnNlVGVtcGxhdGUodCxlKXtpZighdC5fdGVtcGxhdGVJbmZvKXtsZXQgbj10Ll90ZW1wbGF0ZUluZm89e307bi5ub2RlSW5mb0xpc3Q9W10sbi5uZXN0ZWRUZW1wbGF0ZT1Cb29sZWFuKGUpLG4uc3RyaXBXaGl0ZVNwYWNlPWUmJmUuc3RyaXBXaGl0ZVNwYWNlfHx0Lmhhc0F0dHJpYnV0ZSgic3RyaXAtd2hpdGVzcGFjZSIpLHRoaXMuX3BhcnNlVGVtcGxhdGVDb250ZW50KHQsbix7cGFyZW50Om51bGx9KX1yZXR1cm4gdC5fdGVtcGxhdGVJbmZvfXN0YXRpYyBfcGFyc2VUZW1wbGF0ZUNvbnRlbnQodCxlLG4pe3JldHVybiB0aGlzLl9wYXJzZVRlbXBsYXRlTm9kZSh0LmNvbnRlbnQsZSxuKX1zdGF0aWMgX3BhcnNlVGVtcGxhdGVOb2RlKHQsZSxuKXtsZXQgaT0hMSxyPXQ7cmV0dXJuInRlbXBsYXRlIiE9ci5sb2NhbE5hbWV8fHIuaGFzQXR0cmlidXRlKCJwcmVzZXJ2ZS1jb250ZW50Iik/InNsb3QiPT09ci5sb2NhbE5hbWUmJihlLmhhc0luc2VydGlvblBvaW50PSEwKTppPXRoaXMuX3BhcnNlVGVtcGxhdGVOZXN0ZWRUZW1wbGF0ZShyLGUsbil8fGksQXQociksci5maXJzdENoaWxkJiZ0aGlzLl9wYXJzZVRlbXBsYXRlQ2hpbGROb2RlcyhyLGUsbiksci5oYXNBdHRyaWJ1dGVzJiZyLmhhc0F0dHJpYnV0ZXMoKSYmKGk9dGhpcy5fcGFyc2VUZW1wbGF0ZU5vZGVBdHRyaWJ1dGVzKHIsZSxuKXx8aSksaXx8bi5ub3RlZH1zdGF0aWMgX3BhcnNlVGVtcGxhdGVDaGlsZE5vZGVzKHQsZSxuKXtpZigic2NyaXB0IiE9PXQubG9jYWxOYW1lJiYic3R5bGUiIT09dC5sb2NhbE5hbWUpZm9yKGxldCBpLHI9dC5maXJzdENoaWxkLG89MDtyO3I9aSl7aWYoInRlbXBsYXRlIj09ci5sb2NhbE5hbWUmJihyPWt0KHIpKSxpPXIubmV4dFNpYmxpbmcsci5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXtsZXQgbj1pO2Zvcig7biYmbi5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFOylyLnRleHRDb250ZW50Kz1uLnRleHRDb250ZW50LGk9bi5uZXh0U2libGluZyx0LnJlbW92ZUNoaWxkKG4pLG49aTtpZihlLnN0cmlwV2hpdGVTcGFjZSYmIXIudGV4dENvbnRlbnQudHJpbSgpKXt0LnJlbW92ZUNoaWxkKHIpO2NvbnRpbnVlfX1sZXQgYT17cGFyZW50SW5kZXg6byxwYXJlbnRJbmZvOm59O3RoaXMuX3BhcnNlVGVtcGxhdGVOb2RlKHIsZSxhKSYmKGEuaW5mb0luZGV4PWUubm9kZUluZm9MaXN0LnB1c2goYSktMSksci5wYXJlbnROb2RlJiZvKyt9fXN0YXRpYyBfcGFyc2VUZW1wbGF0ZU5lc3RlZFRlbXBsYXRlKHQsZSxuKXtsZXQgaT10LHI9dGhpcy5fcGFyc2VUZW1wbGF0ZShpLGUpO3JldHVybihyLmNvbnRlbnQ9aS5jb250ZW50Lm93bmVyRG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKS5hcHBlbmRDaGlsZChpLmNvbnRlbnQpLG4udGVtcGxhdGVJbmZvPXIsITB9c3RhdGljIF9wYXJzZVRlbXBsYXRlTm9kZUF0dHJpYnV0ZXModCxlLG4pe2xldCBpPSExLHI9QXJyYXkuZnJvbSh0LmF0dHJpYnV0ZXMpO2ZvcihsZXQgbyxhPXIubGVuZ3RoLTE7bz1yW2FdO2EtLSlpPXRoaXMuX3BhcnNlVGVtcGxhdGVOb2RlQXR0cmlidXRlKHQsZSxuLG8ubmFtZSxvLnZhbHVlKXx8aTtyZXR1cm4gaX1zdGF0aWMgX3BhcnNlVGVtcGxhdGVOb2RlQXR0cmlidXRlKHQsZSxuLGkscil7cmV0dXJuIm9uLSI9PT1pLnNsaWNlKDAsMyk/KHQucmVtb3ZlQXR0cmlidXRlKGkpLG4uZXZlbnRzPW4uZXZlbnRzfHxbXSxuLmV2ZW50cy5wdXNoKHtuYW1lOmkuc2xpY2UoMyksdmFsdWU6cn0pLCEwKToiaWQiPT09aSYmKG4uaWQ9ciwhMCl9c3RhdGljIF9jb250ZW50Rm9yVGVtcGxhdGUodCl7bGV0IGU9dC5fdGVtcGxhdGVJbmZvO3JldHVybiBlJiZlLmNvbnRlbnR8fHQuY29udGVudH1fc3RhbXBUZW1wbGF0ZSh0LGUpe3QmJiF0LmNvbnRlbnQmJndpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50JiZIVE1MVGVtcGxhdGVFbGVtZW50LmRlY29yYXRlJiZIVE1MVGVtcGxhdGVFbGVtZW50LmRlY29yYXRlKHQpO2xldCBuPShlPWV8fHRoaXMuY29uc3RydWN0b3IuX3BhcnNlVGVtcGxhdGUodCkpLm5vZGVJbmZvTGlzdCxpPWRvY3VtZW50LmltcG9ydE5vZGUoZS5jb250ZW50fHx0LmNvbnRlbnQsITApO2kuX19ub0luc2VydGlvblBvaW50PSFlLmhhc0luc2VydGlvblBvaW50O2xldCByPWkubm9kZUxpc3Q9bmV3IEFycmF5KG4ubGVuZ3RoKTtpLiQ9e307Zm9yKGxldCB0LG89MCxhPW4ubGVuZ3RoO288YSYmKHQ9bltvXSk7bysrKXtsZXQgbj1yW29dPUx0KGksdCk7UHQoMCxpLiQsbix0KSxJdCgwLG4sdCxlKSxOdCh0aGlzLG4sdCl9cmV0dXJuIGk9aSxpfV9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKHQsZSxuLGkpe2xldCByPShmdW5jdGlvbiBvKHQsZSxuKXtyZXR1cm4gdD10Ll9tZXRob2RIb3N0fHx0LGZ1bmN0aW9uKGUpe3Rbbl0/dFtuXShlLGUuZGV0YWlsKTpjb25zb2xlLndhcm4oImxpc3RlbmVyIG1ldGhvZCBgIituKyJgIG5vdCBkZWZpbmVkIil9fSkoaT1pfHx0LDAsbik7cmV0dXJuIHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJUb05vZGUodCxlLHIpLHJ9X2FkZEV2ZW50TGlzdGVuZXJUb05vZGUodCxlLG4pe3QuYWRkRXZlbnRMaXN0ZW5lcihlLG4pfV9yZW1vdmVFdmVudExpc3RlbmVyRnJvbU5vZGUodCxlLG4pe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4pfX0pKTsKLyoqCiAgICAgKiBAZmlsZW92ZXJ2aWV3CiAgICAgKiBAc3VwcHJlc3Mge2NoZWNrUHJvdG90eXBhbFR5cGVzfQogICAgICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgICAqIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQKICAgICAqIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkKICAgICAqIGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkKICAgICAqIEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAKICAgICAqIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICAqL2xldCBPdD0wO2NvbnN0IHp0PVtdLER0PXtDT01QVVRFOiJfX2NvbXB1dGVFZmZlY3RzIixSRUZMRUNUOiJfX3JlZmxlY3RFZmZlY3RzIixOT1RJRlk6Il9fbm90aWZ5RWZmZWN0cyIsUFJPUEFHQVRFOiJfX3Byb3BhZ2F0ZUVmZmVjdHMiLE9CU0VSVkU6Il9fb2JzZXJ2ZUVmZmVjdHMiLFJFQURfT05MWToiX19yZWFkT25seSJ9LEJ0PSJfX2NvbXB1dGVJbmZvIixIdD0vW0EtWl0vO2Z1bmN0aW9uIEZ0KHQsZSxuKXtsZXQgaT10W2VdO2lmKGkpe2lmKCF0Lmhhc093blByb3BlcnR5KGUpJiYoaT10W2VdPU9iamVjdC5jcmVhdGUodFtlXSksbikpZm9yKGxldCB0IGluIGkpe2xldCBlPWlbdF0sbj1pW3RdPUFycmF5KGUubGVuZ3RoKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyluW3RdPWVbdF19fWVsc2UgaT10W2VdPXt9O3JldHVybiBpfWZ1bmN0aW9uIFZ0KHQsZSxuLGkscixvKXtpZihlKXtsZXQgYT0hMTtjb25zdCBzPU90Kys7Zm9yKGxldCBsIGluIG4pe2xldCBjPWVbcj8kKGwpOmxdO2lmKGMpZm9yKGxldCBlLHU9MCxoPWMubGVuZ3RoO3U8aCYmKGU9Y1t1XSk7dSsrKWUuaW5mbyYmZS5pbmZvLmxhc3RSdW49PT1zfHxyJiYhanQobCxlLnRyaWdnZXIpfHwoZS5pbmZvJiYoZS5pbmZvLmxhc3RSdW49cyksZS5mbih0LGwsbixpLGUuaW5mbyxyLG8pLGE9ITApfXJldHVybiBhfXJldHVybiExfWZ1bmN0aW9uIFV0KHQsZSxuLGkscixvLGEscyl7bGV0IGw9ITEsYz1lW2E/JChpKTppXTtpZihjKWZvcihsZXQgZSx1PTAsaD1jLmxlbmd0aDt1PGgmJihlPWNbdV0pO3UrKyllLmluZm8mJmUuaW5mby5sYXN0UnVuPT09bnx8YSYmIWp0KGksZS50cmlnZ2VyKXx8KGUuaW5mbyYmKGUuaW5mby5sYXN0UnVuPW4pLGUuZm4odCxpLHIsbyxlLmluZm8sYSxzKSxsPSEwKTtyZXR1cm4gbH1mdW5jdGlvbiBqdCh0LGUpe2lmKGUpe2xldCBuPWUubmFtZTtyZXR1cm4gbj09dHx8ISghZS5zdHJ1Y3R1cmVkfHwhSyhuLHQpKXx8ISghZS53aWxkY2FyZHx8IVoobix0KSl9cmV0dXJuITB9ZnVuY3Rpb24gR3QodCxlLG4saSxyKXtsZXQgbz0ic3RyaW5nIj09dHlwZW9mIHIubWV0aG9kP3Rbci5tZXRob2RdOnIubWV0aG9kLGE9ci5wcm9wZXJ0eTtvP28uY2FsbCh0LHQuX19kYXRhW2FdLGlbYV0pOnIuZHluYW1pY0ZufHxjb25zb2xlLndhcm4oIm9ic2VydmVyIG1ldGhvZCBgIityLm1ldGhvZCsiYCBub3QgZGVmaW5lZCIpfWZ1bmN0aW9uIFd0KHQsZSxuKXtsZXQgaT0kKGUpO2lmKGkhPT1lKXtyZXR1cm4gcXQodCxsdChpKSsiLWNoYW5nZWQiLG5bZV0sZSksITB9cmV0dXJuITF9ZnVuY3Rpb24gcXQodCxlLG4saSl7bGV0IHI9e3ZhbHVlOm4scXVldWVQcm9wZXJ0eTohMH07aSYmKHIucGF0aD1pKSxZKHQpLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGUse2RldGFpbDpyfSkpfWZ1bmN0aW9uIFl0KHQsZSxuLGkscixvKXtsZXQgYT0obz8kKGUpOmUpIT1lP2U6bnVsbCxzPWE/bnQodCxhKTp0Ll9fZGF0YVtlXTthJiZ2b2lkIDA9PT1zJiYocz1uW2VdKSxxdCh0LHIuZXZlbnROYW1lLHMsYSl9ZnVuY3Rpb24gWHQodCxlLG4saSxyKXtsZXQgbz10Ll9fZGF0YVtlXTt5JiYobz15KG8sci5hdHRyTmFtZSwiYXR0cmlidXRlIix0KSksdC5fcHJvcGVydHlUb0F0dHJpYnV0ZShlLHIuYXR0ck5hbWUsbyl9ZnVuY3Rpb24gJHQodCxlLG4saSl7bGV0IHI9dFtEdC5DT01QVVRFXTtpZihyKWlmKFQpe090Kys7Y29uc3Qgbz0oZnVuY3Rpb24gbyh0KXtsZXQgZT10LmNvbnN0cnVjdG9yLl9fb3JkZXJlZENvbXB1dGVkRGVwcztpZighZSl7ZT1uZXcgTWFwO2NvbnN0IG49dFtEdC5DT01QVVRFXTtsZXQgaSx7Y291bnRzOnIscmVhZHk6byx0b3RhbDphfT0oZnVuY3Rpb24gbih0KXtjb25zdCBlPXQuX19jb21wdXRlSW5mbyxuPXt9LGk9dFtEdC5DT01QVVRFXSxyPVtdO2xldCBvPTA7Zm9yKGxldCB0IGluIGUpe2NvbnN0IGk9ZVt0XTtvKz1uW3RdPWkuYXJncy5maWx0ZXIoKHQ9PiF0LmxpdGVyYWwpKS5sZW5ndGgrKGkuZHluYW1pY0ZuPzE6MCl9Zm9yKGxldCB0IGluIGkpZVt0XXx8ci5wdXNoKHQpO3JldHVybntjb3VudHM6bixyZWFkeTpyLHRvdGFsOm99fSkodCk7Zm9yKDtpPW8uc2hpZnQoKTspe2Uuc2V0KGksZS5zaXplKTtjb25zdCB0PW5baV07dCYmdC5mb3JFYWNoKCh0PT57Y29uc3QgZT10LmluZm8ubWV0aG9kSW5mbzstLWEsMD09LS1yW2VdJiZvLnB1c2goZSl9KSl9aWYoMCE9PWEpe2NvbnNvbGUud2FybihgQ29tcHV0ZWQgZ3JhcGggZm9yICR7dC5sb2NhbE5hbWV9IGluY29tcGxldGU7IGNpcmN1bGFyP2ApfXQuY29uc3RydWN0b3IuX19vcmRlcmVkQ29tcHV0ZWREZXBzPWV9cmV0dXJuIGV9KSh0KSxhPVtdO2ZvcihsZXQgdCBpbiBlKVp0KHQscixhLG8saSk7bGV0IHM7Zm9yKDtzPWEuc2hpZnQoKTspSnQodCwiIixlLG4scykmJlp0KHMubWV0aG9kSW5mbyxyLGEsbyxpKTtPYmplY3QuYXNzaWduKG4sdC5fX2RhdGFPbGQpLE9iamVjdC5hc3NpZ24oZSx0Ll9fZGF0YVBlbmRpbmcpLHQuX19kYXRhUGVuZGluZz1udWxsfWVsc2V7bGV0IG89ZTtmb3IoO1Z0KHQscixvLG4saSk7KU9iamVjdC5hc3NpZ24obix0Ll9fZGF0YU9sZCksT2JqZWN0LmFzc2lnbihlLHQuX19kYXRhUGVuZGluZyksbz10Ll9fZGF0YVBlbmRpbmcsdC5fX2RhdGFQZW5kaW5nPW51bGx9fWNvbnN0IEt0PSh0LGUsbik9PntsZXQgaT0wLHI9ZS5sZW5ndGgtMSxvPS0xO2Zvcig7aTw9cjspe2NvbnN0IGE9aStyPj4xLHM9bi5nZXQoZVthXS5tZXRob2RJbmZvKS1uLmdldCh0Lm1ldGhvZEluZm8pO2lmKHM8MClpPWErMTtlbHNle2lmKCEocz4wKSl7bz1hO2JyZWFrfXI9YS0xfX1vPDAmJihvPXIrMSksZS5zcGxpY2UobywwLHQpfSxadD0odCxlLG4saSxyKT0+e2NvbnN0IG89ZVtyPyQodCk6dF07aWYobylmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7Y29uc3QgYT1vW2VdO2EuaW5mby5sYXN0UnVuPT09T3R8fHImJiFqdCh0LGEudHJpZ2dlcil8fChhLmluZm8ubGFzdFJ1bj1PdCxLdChhLmluZm8sbixpKSl9fTtmdW5jdGlvbiBKdCh0LGUsbixpLHIpe2xldCBvPW9lKHQsZSxuLGkscik7aWYobz09PXp0KXJldHVybiExO2xldCBhPXIubWV0aG9kSW5mbztyZXR1cm4gdC5fX2RhdGFIYXNBY2Nlc3NvciYmdC5fX2RhdGFIYXNBY2Nlc3NvclthXT90Ll9zZXRQZW5kaW5nUHJvcGVydHkoYSxvLCEwKToodFthXT1vLCExKX1mdW5jdGlvbiBRdCh0LGUsbixpLHIsbyxhKXtuLmJpbmRpbmdzPW4uYmluZGluZ3N8fFtdO2xldCBzPXtraW5kOmksdGFyZ2V0OnIscGFydHM6byxsaXRlcmFsOmEsaXNDb21wb3VuZDoxIT09by5sZW5ndGh9O2lmKG4uYmluZGluZ3MucHVzaChzKSwoZnVuY3Rpb24gbCh0KXtyZXR1cm4gQm9vbGVhbih0LnRhcmdldCkmJiJhdHRyaWJ1dGUiIT10LmtpbmQmJiJ0ZXh0IiE9dC5raW5kJiYhdC5pc0NvbXBvdW5kJiYieyI9PT10LnBhcnRzWzBdLm1vZGV9KShzKSl7bGV0e2V2ZW50OnQsbmVnYXRlOmV9PXMucGFydHNbMF07cy5saXN0ZW5lckV2ZW50PXR8fGx0KHIpKyItY2hhbmdlZCIscy5saXN0ZW5lck5lZ2F0ZT1lfWxldCBjPWUubm9kZUluZm9MaXN0Lmxlbmd0aDtmb3IobGV0IG49MDtuPHMucGFydHMubGVuZ3RoO24rKyl7bGV0IGk9cy5wYXJ0c1tuXTtpLmNvbXBvdW5kSW5kZXg9bix0ZSh0LGUscyxpLGMpfX1mdW5jdGlvbiB0ZSh0LGUsbixpLHIpe2lmKCFpLmxpdGVyYWwpaWYoImF0dHJpYnV0ZSI9PT1uLmtpbmQmJiItIj09PW4udGFyZ2V0WzBdKWNvbnNvbGUud2FybigiQ2Fubm90IHNldCBhdHRyaWJ1dGUgIituLnRhcmdldCsnIGJlY2F1c2UgIi0iIGlzIG5vdCBhIHZhbGlkIGF0dHJpYnV0ZSBzdGFydGluZyBjaGFyYWN0ZXInKTtlbHNle2xldCBvPWkuZGVwZW5kZW5jaWVzLGE9e2luZGV4OnIsYmluZGluZzpuLHBhcnQ6aSxldmFsdWF0b3I6dH07Zm9yKGxldCBuPTA7bjxvLmxlbmd0aDtuKyspe2xldCBpPW9bbl07InN0cmluZyI9PXR5cGVvZiBpJiYoaT11ZShpKSxpLndpbGRjYXJkPSEwKSx0Ll9hZGRUZW1wbGF0ZVByb3BlcnR5RWZmZWN0KGUsaS5yb290UHJvcGVydHkse2ZuOmVlLGluZm86YSx0cmlnZ2VyOml9KX19fWZ1bmN0aW9uIGVlKHQsZSxuLGkscixvLGEpe2xldCBzPWFbci5pbmRleF0sbD1yLmJpbmRpbmcsYz1yLnBhcnQ7aWYobyYmYy5zb3VyY2UmJmUubGVuZ3RoPmMuc291cmNlLmxlbmd0aCYmInByb3BlcnR5Ij09bC5raW5kJiYhbC5pc0NvbXBvdW5kJiZzLl9faXNQcm9wZXJ0eUVmZmVjdHNDbGllbnQmJnMuX19kYXRhSGFzQWNjZXNzb3ImJnMuX19kYXRhSGFzQWNjZXNzb3JbbC50YXJnZXRdKXtsZXQgaT1uW2VdO2U9SihjLnNvdXJjZSxsLnRhcmdldCxlKSxzLl9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgoZSxpLCExLCEwKSYmdC5fZW5xdWV1ZUNsaWVudChzKX1lbHNle2xldCBhPXIuZXZhbHVhdG9yLl9ldmFsdWF0ZUJpbmRpbmcodCxjLGUsbixpLG8pO2EhPT16dCYmKGZ1bmN0aW9uIHUodCxlLG4saSxyKXtyPShmdW5jdGlvbiBvKHQsZSxuLGkpe2lmKG4uaXNDb21wb3VuZCl7bGV0IHI9dC5fX2RhdGFDb21wb3VuZFN0b3JhZ2Vbbi50YXJnZXRdO3JbaS5jb21wb3VuZEluZGV4XT1lLGU9ci5qb2luKCIiKX0iYXR0cmlidXRlIiE9PW4ua2luZCYmKCJ0ZXh0Q29udGVudCIhPT1uLnRhcmdldCYmKCJ2YWx1ZSIhPT1uLnRhcmdldHx8ImlucHV0IiE9PXQubG9jYWxOYW1lJiYidGV4dGFyZWEiIT09dC5sb2NhbE5hbWUpfHwoZT1udWxsPT1lPyIiOmUpKTtyZXR1cm4gZX0pKGUscixuLGkpLHkmJihyPXkocixuLnRhcmdldCxuLmtpbmQsZSkpO2lmKCJhdHRyaWJ1dGUiPT1uLmtpbmQpdC5fdmFsdWVUb05vZGVBdHRyaWJ1dGUoZSxyLG4udGFyZ2V0KTtlbHNle2xldCBpPW4udGFyZ2V0O2UuX19pc1Byb3BlcnR5RWZmZWN0c0NsaWVudCYmZS5fX2RhdGFIYXNBY2Nlc3NvciYmZS5fX2RhdGFIYXNBY2Nlc3NvcltpXT9lW0R0LlJFQURfT05MWV0mJmVbRHQuUkVBRF9PTkxZXVtpXXx8ZS5fc2V0UGVuZGluZ1Byb3BlcnR5KGkscikmJnQuX2VucXVldWVDbGllbnQoZSk6dC5fc2V0VW5tYW5hZ2VkUHJvcGVydHlUb05vZGUoZSxpLHIpfX0pKHQscyxsLGMsYSl9fWZ1bmN0aW9uIG5lKHQsZSl7aWYoZS5pc0NvbXBvdW5kKXtsZXQgbj10Ll9fZGF0YUNvbXBvdW5kU3RvcmFnZXx8KHQuX19kYXRhQ29tcG91bmRTdG9yYWdlPXt9KSxpPWUucGFydHMscj1uZXcgQXJyYXkoaS5sZW5ndGgpO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXJbdF09aVt0XS5saXRlcmFsO2xldCBvPWUudGFyZ2V0O25bb109cixlLmxpdGVyYWwmJiJwcm9wZXJ0eSI9PWUua2luZCYmKCJjbGFzc05hbWUiPT09byYmKHQ9WSh0KSksdFtvXT1lLmxpdGVyYWwpfX1mdW5jdGlvbiBpZSh0LGUsbil7aWYobi5saXN0ZW5lckV2ZW50KXtsZXQgaT1uLnBhcnRzWzBdO3QuYWRkRXZlbnRMaXN0ZW5lcihuLmxpc3RlbmVyRXZlbnQsKGZ1bmN0aW9uKHQpeyEoZnVuY3Rpb24gcih0LGUsbixpLG8pe2xldCBhLHM9dC5kZXRhaWwsbD1zJiZzLnBhdGg7bD8oaT1KKG4saSxsKSxhPXMmJnMudmFsdWUpOmE9dC5jdXJyZW50VGFyZ2V0W25dLGE9bz8hYTphLGVbRHQuUkVBRF9PTkxZXSYmZVtEdC5SRUFEX09OTFldW2ldfHwhZS5fc2V0UGVuZGluZ1Byb3BlcnR5T3JQYXRoKGksYSwhMCxCb29sZWFuKGwpKXx8cyYmcy5xdWV1ZVByb3BlcnR5fHxlLl9pbnZhbGlkYXRlUHJvcGVydGllcygpfSkodCxlLG4udGFyZ2V0LGkuc291cmNlLGkubmVnYXRlKX0pKX19ZnVuY3Rpb24gcmUodCxlLG4saSxyLG8pe2xldCBhPXttZXRob2ROYW1lOmUubWV0aG9kTmFtZSxhcmdzOmUuYXJncyxtZXRob2RJbmZvOnIsZHluYW1pY0ZuOm89ZS5zdGF0aWN8fG8mJigib2JqZWN0IiE9dHlwZW9mIG98fG9bZS5tZXRob2ROYW1lXSl9O2ZvcihsZXQgcixvPTA7bzxlLmFyZ3MubGVuZ3RoJiYocj1lLmFyZ3Nbb10pO28rKylyLmxpdGVyYWx8fHQuX2FkZFByb3BlcnR5RWZmZWN0KHIucm9vdFByb3BlcnR5LG4se2ZuOmksaW5mbzphLHRyaWdnZXI6cn0pO3JldHVybiBvJiZ0Ll9hZGRQcm9wZXJ0eUVmZmVjdChlLm1ldGhvZE5hbWUsbix7Zm46aSxpbmZvOmF9KSxhfWZ1bmN0aW9uIG9lKHQsZSxuLGkscil7bGV0IG89dC5fbWV0aG9kSG9zdHx8dCxhPW9bci5tZXRob2ROYW1lXTtpZihhKXtsZXQgaT10Ll9tYXJzaGFsQXJncyhyLmFyZ3MsZSxuKTtyZXR1cm4gaT09PXp0P3p0OmEuYXBwbHkobyxpKX1yLmR5bmFtaWNGbnx8Y29uc29sZS53YXJuKCJtZXRob2QgYCIrci5tZXRob2ROYW1lKyJgIG5vdCBkZWZpbmVkIil9Y29uc3QgYWU9W10sc2U9bmV3IFJlZ0V4cCgiKFxcW1xcW3x7eylcXHMqKD86KCEpXFxzKik/KCg/OlthLXpBLVpfJF1bXFx3LjokXFwtKl0qKVxccyooPzpcXChcXHMqKD86KD86KD86KCg/OlthLXpBLVpfJF1bXFx3LjokXFwtKl0qKXwoPzpbLStdP1swLTldKlxcLj9bMC05XSsoPzpbZUVdWy0rXT9bMC05XSspPyl8KD86KD86Jyg/OlteJ1xcXFxdfFxcXFwuKSonKXwoPzpcIig/OlteXCJcXFxcXXxcXFxcLikqXCIpKSlcXHMqKSg/OixcXHMqKD86KCg/OlthLXpBLVpfJF1bXFx3LjokXFwtKl0qKXwoPzpbLStdP1swLTldKlxcLj9bMC05XSsoPzpbZUVdWy0rXT9bMC05XSspPyl8KD86KD86Jyg/OlteJ1xcXFxdfFxcXFwuKSonKXwoPzpcIig/OlteXCJcXFxcXXxcXFxcLikqXCIpKSlcXHMqKSkqKT8pXFwpXFxzKik/KSg/Ol1dfH19KSIsImciKTtmdW5jdGlvbiBsZSh0KXtsZXQgZT0iIjtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7ZSs9dFtuXS5saXRlcmFsfHwiIn1yZXR1cm4gZX1mdW5jdGlvbiBjZSh0KXtsZXQgZT10Lm1hdGNoKC8oW15cc10rPylcKChbXHNcU10qKVwpLyk7aWYoZSl7bGV0IHQ9e21ldGhvZE5hbWU6ZVsxXSxzdGF0aWM6ITAsYXJnczphZX07aWYoZVsyXS50cmltKCkpe3JldHVybihmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIGUuYXJncz10Lm1hcCgoZnVuY3Rpb24odCl7bGV0IG49dWUodCk7cmV0dXJuIG4ubGl0ZXJhbHx8KGUuc3RhdGljPSExKSxufSksdGhpcyksZX0pKGVbMl0ucmVwbGFjZSgvXFwsL2csIiZjb21tYTsiKS5zcGxpdCgiLCIpLHQpfXJldHVybiB0fXJldHVybiBudWxsfWZ1bmN0aW9uIHVlKHQpe2xldCBlPXQudHJpbSgpLnJlcGxhY2UoLyZjb21tYTsvZywiLCIpLnJlcGxhY2UoL1xcKC4pL2csIiQxIiksbj17bmFtZTplLHZhbHVlOiIiLGxpdGVyYWw6ITF9LGk9ZVswXTtzd2l0Y2goIi0iPT09aSYmKGk9ZVsxXSksaT49IjAiJiZpPD0iOSImJihpPSIjIiksaSl7Y2FzZSInIjpjYXNlJyInOm4udmFsdWU9ZS5zbGljZSgxLC0xKSxuLmxpdGVyYWw9ITA7YnJlYWs7Y2FzZSIjIjpuLnZhbHVlPU51bWJlcihlKSxuLmxpdGVyYWw9ITB9cmV0dXJuIG4ubGl0ZXJhbHx8KG4ucm9vdFByb3BlcnR5PSQoZSksbi5zdHJ1Y3R1cmVkPVgoZSksbi5zdHJ1Y3R1cmVkJiYobi53aWxkY2FyZD0iLioiPT1lLnNsaWNlKC0yKSxuLndpbGRjYXJkJiYobi5uYW1lPWUuc2xpY2UoMCwtMikpKSksbn1mdW5jdGlvbiBoZSh0LGUsbil7bGV0IGk9bnQodCxuKTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9ZVtuXSksaX1mdW5jdGlvbiBkZSh0LGUsbixpKXtjb25zdCByPXtpbmRleFNwbGljZXM6aX07RSYmIXQuX292ZXJyaWRlTGVnYWN5VW5kZWZpbmVkJiYoZS5zcGxpY2VzPXIpLHQubm90aWZ5UGF0aChuKyIuc3BsaWNlcyIsciksdC5ub3RpZnlQYXRoKG4rIi5sZW5ndGgiLGUubGVuZ3RoKSxFJiYhdC5fb3ZlcnJpZGVMZWdhY3lVbmRlZmluZWQmJihyLmluZGV4U3BsaWNlcz1bXSl9ZnVuY3Rpb24gcGUodCxlLG4saSxyLG8pe2RlKHQsZSxuLFt7aW5kZXg6aSxhZGRlZENvdW50OnIscmVtb3ZlZDpvLG9iamVjdDplLHR5cGU6InNwbGljZSJ9XSl9Y29uc3QgZmU9SSgodD0+e2NvbnN0IGU9UnQoTXQodCkpO3JldHVybiBjbGFzcyBleHRlbmRzIGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX19pc1Byb3BlcnR5RWZmZWN0c0NsaWVudD0hMH1nZXQgUFJPUEVSVFlfRUZGRUNUX1RZUEVTKCl7cmV0dXJuIER0fV9pbml0aWFsaXplUHJvcGVydGllcygpe3N1cGVyLl9pbml0aWFsaXplUHJvcGVydGllcygpLHRoaXMuX3JlZ2lzdGVySG9zdCgpLHRoaXMuX19kYXRhQ2xpZW50c1JlYWR5PSExLHRoaXMuX19kYXRhUGVuZGluZ0NsaWVudHM9bnVsbCx0aGlzLl9fZGF0YVRvTm90aWZ5PW51bGwsdGhpcy5fX2RhdGFMaW5rZWRQYXRocz1udWxsLHRoaXMuX19kYXRhSGFzUGF0aHM9ITEsdGhpcy5fX2RhdGFDb21wb3VuZFN0b3JhZ2U9dGhpcy5fX2RhdGFDb21wb3VuZFN0b3JhZ2V8fG51bGwsdGhpcy5fX2RhdGFIb3N0PXRoaXMuX19kYXRhSG9zdHx8bnVsbCx0aGlzLl9fZGF0YVRlbXA9e30sdGhpcy5fX2RhdGFDbGllbnRzSW5pdGlhbGl6ZWQ9ITF9X3JlZ2lzdGVySG9zdCgpe2lmKG1lLmxlbmd0aCl7bGV0IHQ9bWVbbWUubGVuZ3RoLTFdO3QuX2VucXVldWVDbGllbnQodGhpcyksdGhpcy5fX2RhdGFIb3N0PXR9fV9pbml0aWFsaXplUHJvdG9Qcm9wZXJ0aWVzKHQpe3RoaXMuX19kYXRhPU9iamVjdC5jcmVhdGUodCksdGhpcy5fX2RhdGFQZW5kaW5nPU9iamVjdC5jcmVhdGUodCksdGhpcy5fX2RhdGFPbGQ9e319X2luaXRpYWxpemVJbnN0YW5jZVByb3BlcnRpZXModCl7bGV0IGU9dGhpc1tEdC5SRUFEX09OTFldO2ZvcihsZXQgbiBpbiB0KWUmJmVbbl18fCh0aGlzLl9fZGF0YVBlbmRpbmc9dGhpcy5fX2RhdGFQZW5kaW5nfHx7fSx0aGlzLl9fZGF0YU9sZD10aGlzLl9fZGF0YU9sZHx8e30sdGhpcy5fX2RhdGFbbl09dGhpcy5fX2RhdGFQZW5kaW5nW25dPXRbbl0pfV9hZGRQcm9wZXJ0eUVmZmVjdCh0LGUsbil7dGhpcy5fY3JlYXRlUHJvcGVydHlBY2Nlc3Nvcih0LGU9PUR0LlJFQURfT05MWSk7bGV0IGk9RnQodGhpcyxlLCEwKVt0XTtpfHwoaT10aGlzW2VdW3RdPVtdKSxpLnB1c2gobil9X3JlbW92ZVByb3BlcnR5RWZmZWN0KHQsZSxuKXtsZXQgaT1GdCh0aGlzLGUsITApW3RdLHI9aS5pbmRleE9mKG4pO3I+PTAmJmkuc3BsaWNlKHIsMSl9X2hhc1Byb3BlcnR5RWZmZWN0KHQsZSl7bGV0IG49dGhpc1tlXTtyZXR1cm4gQm9vbGVhbihuJiZuW3RdKX1faGFzUmVhZE9ubHlFZmZlY3QodCl7cmV0dXJuIHRoaXMuX2hhc1Byb3BlcnR5RWZmZWN0KHQsRHQuUkVBRF9PTkxZKX1faGFzTm90aWZ5RWZmZWN0KHQpe3JldHVybiB0aGlzLl9oYXNQcm9wZXJ0eUVmZmVjdCh0LER0Lk5PVElGWSl9X2hhc1JlZmxlY3RFZmZlY3QodCl7cmV0dXJuIHRoaXMuX2hhc1Byb3BlcnR5RWZmZWN0KHQsRHQuUkVGTEVDVCl9X2hhc0NvbXB1dGVkRWZmZWN0KHQpe3JldHVybiB0aGlzLl9oYXNQcm9wZXJ0eUVmZmVjdCh0LER0LkNPTVBVVEUpfV9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgodCxlLG4saSl7aWYoaXx8JChBcnJheS5pc0FycmF5KHQpP3RbMF06dCkhPT10KXtpZighaSl7bGV0IG49bnQodGhpcyx0KTtpZighKHQ9aXQodGhpcyx0LGUpKXx8IXN1cGVyLl9zaG91bGRQcm9wZXJ0eUNoYW5nZSh0LGUsbikpcmV0dXJuITF9aWYodGhpcy5fX2RhdGFIYXNQYXRocz0hMCx0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkodCxlLG4pKXJldHVybihmdW5jdGlvbiByKHQsZSxuKXtsZXQgaT10Ll9fZGF0YUxpbmtlZFBhdGhzO2lmKGkpe2xldCByO2ZvcihsZXQgbyBpbiBpKXtsZXQgYT1pW29dO1oobyxlKT8ocj1KKG8sYSxlKSx0Ll9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgocixuLCEwLCEwKSk6WihhLGUpJiYocj1KKGEsbyxlKSx0Ll9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgocixuLCEwLCEwKSl9fX0pKHRoaXMsdCxlKSwhMH1lbHNle2lmKHRoaXMuX19kYXRhSGFzQWNjZXNzb3ImJnRoaXMuX19kYXRhSGFzQWNjZXNzb3JbdF0pcmV0dXJuIHRoaXMuX3NldFBlbmRpbmdQcm9wZXJ0eSh0LGUsbik7dGhpc1t0XT1lfXJldHVybiExfV9zZXRVbm1hbmFnZWRQcm9wZXJ0eVRvTm9kZSh0LGUsbil7bj09PXRbZV0mJiJvYmplY3QiIT10eXBlb2Ygbnx8KCJjbGFzc05hbWUiPT09ZSYmKHQ9WSh0KSksdFtlXT1uKX1fc2V0UGVuZGluZ1Byb3BlcnR5KHQsZSxuKXtsZXQgaT10aGlzLl9fZGF0YUhhc1BhdGhzJiZYKHQpO3JldHVybiEhdGhpcy5fc2hvdWxkUHJvcGVydHlDaGFuZ2UodCxlLChpP3RoaXMuX19kYXRhVGVtcDp0aGlzLl9fZGF0YSlbdF0pJiYodGhpcy5fX2RhdGFQZW5kaW5nfHwodGhpcy5fX2RhdGFQZW5kaW5nPXt9LHRoaXMuX19kYXRhT2xkPXt9KSx0IGluIHRoaXMuX19kYXRhT2xkfHwodGhpcy5fX2RhdGFPbGRbdF09dGhpcy5fX2RhdGFbdF0pLGk/dGhpcy5fX2RhdGFUZW1wW3RdPWU6dGhpcy5fX2RhdGFbdF09ZSx0aGlzLl9fZGF0YVBlbmRpbmdbdF09ZSwoaXx8dGhpc1tEdC5OT1RJRlldJiZ0aGlzW0R0Lk5PVElGWV1bdF0pJiYodGhpcy5fX2RhdGFUb05vdGlmeT10aGlzLl9fZGF0YVRvTm90aWZ5fHx7fSx0aGlzLl9fZGF0YVRvTm90aWZ5W3RdPW4pLCEwKX1fc2V0UHJvcGVydHkodCxlKXt0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkodCxlLCEwKSYmdGhpcy5faW52YWxpZGF0ZVByb3BlcnRpZXMoKX1faW52YWxpZGF0ZVByb3BlcnRpZXMoKXt0aGlzLl9fZGF0YVJlYWR5JiZ0aGlzLl9mbHVzaFByb3BlcnRpZXMoKX1fZW5xdWV1ZUNsaWVudCh0KXt0aGlzLl9fZGF0YVBlbmRpbmdDbGllbnRzPXRoaXMuX19kYXRhUGVuZGluZ0NsaWVudHN8fFtdLHQhPT10aGlzJiZ0aGlzLl9fZGF0YVBlbmRpbmdDbGllbnRzLnB1c2godCl9X2ZsdXNoQ2xpZW50cygpe3RoaXMuX19kYXRhQ2xpZW50c1JlYWR5P3RoaXMuX19lbmFibGVPckZsdXNoQ2xpZW50cygpOih0aGlzLl9fZGF0YUNsaWVudHNSZWFkeT0hMCx0aGlzLl9yZWFkeUNsaWVudHMoKSx0aGlzLl9fZGF0YVJlYWR5PSEwKX1fX2VuYWJsZU9yRmx1c2hDbGllbnRzKCl7bGV0IHQ9dGhpcy5fX2RhdGFQZW5kaW5nQ2xpZW50cztpZih0KXt0aGlzLl9fZGF0YVBlbmRpbmdDbGllbnRzPW51bGw7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2xldCBuPXRbZV07bi5fX2RhdGFFbmFibGVkP24uX19kYXRhUGVuZGluZyYmbi5fZmx1c2hQcm9wZXJ0aWVzKCk6bi5fZW5hYmxlUHJvcGVydGllcygpfX19X3JlYWR5Q2xpZW50cygpe3RoaXMuX19lbmFibGVPckZsdXNoQ2xpZW50cygpfXNldFByb3BlcnRpZXModCxlKXtmb3IobGV0IG4gaW4gdCkhZSYmdGhpc1tEdC5SRUFEX09OTFldJiZ0aGlzW0R0LlJFQURfT05MWV1bbl18fHRoaXMuX3NldFBlbmRpbmdQcm9wZXJ0eU9yUGF0aChuLHRbbl0sITApO3RoaXMuX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCl9cmVhZHkoKXt0aGlzLl9mbHVzaFByb3BlcnRpZXMoKSx0aGlzLl9fZGF0YUNsaWVudHNSZWFkeXx8dGhpcy5fZmx1c2hDbGllbnRzKCksdGhpcy5fX2RhdGFQZW5kaW5nJiZ0aGlzLl9mbHVzaFByb3BlcnRpZXMoKX1fcHJvcGVydGllc0NoYW5nZWQodCxlLG4pe2xldCBpLHI9dGhpcy5fX2RhdGFIYXNQYXRoczt0aGlzLl9fZGF0YUhhc1BhdGhzPSExLCR0KHRoaXMsZSxuLHIpLGk9dGhpcy5fX2RhdGFUb05vdGlmeSx0aGlzLl9fZGF0YVRvTm90aWZ5PW51bGwsdGhpcy5fcHJvcGFnYXRlUHJvcGVydHlDaGFuZ2VzKGUsbixyKSx0aGlzLl9mbHVzaENsaWVudHMoKSxWdCh0aGlzLHRoaXNbRHQuUkVGTEVDVF0sZSxuLHIpLFZ0KHRoaXMsdGhpc1tEdC5PQlNFUlZFXSxlLG4sciksaSYmKGZ1bmN0aW9uIG8odCxlLG4saSxyKXtsZXQgbyxhLHM9dFtEdC5OT1RJRlldLGw9T3QrKztmb3IobGV0IGEgaW4gZSllW2FdJiYocyYmVXQodCxzLGwsYSxuLGkscil8fHImJld0KHQsYSxuKSkmJihvPSEwKTtvJiYoYT10Ll9fZGF0YUhvc3QpJiZhLl9pbnZhbGlkYXRlUHJvcGVydGllcyYmYS5faW52YWxpZGF0ZVByb3BlcnRpZXMoKX0pKHRoaXMsaSxlLG4sciksMT09dGhpcy5fX2RhdGFDb3VudGVyJiYodGhpcy5fX2RhdGFUZW1wPXt9KX1fcHJvcGFnYXRlUHJvcGVydHlDaGFuZ2VzKHQsZSxuKXt0aGlzW0R0LlBST1BBR0FURV0mJlZ0KHRoaXMsdGhpc1tEdC5QUk9QQUdBVEVdLHQsZSxuKSx0aGlzLl9fdGVtcGxhdGVJbmZvJiZ0aGlzLl9ydW5FZmZlY3RzRm9yVGVtcGxhdGUodGhpcy5fX3RlbXBsYXRlSW5mbyx0LGUsbil9X3J1bkVmZmVjdHNGb3JUZW1wbGF0ZSh0LGUsbixpKXtjb25zdCByPShlLGkpPT57VnQodGhpcyx0LnByb3BlcnR5RWZmZWN0cyxlLG4saSx0Lm5vZGVMaXN0KTtmb3IobGV0IHI9dC5maXJzdENoaWxkO3I7cj1yLm5leHRTaWJsaW5nKXRoaXMuX3J1bkVmZmVjdHNGb3JUZW1wbGF0ZShyLGUsbixpKX07dC5ydW5FZmZlY3RzP3QucnVuRWZmZWN0cyhyLGUsaSk6cihlLGkpfWxpbmtQYXRocyh0LGUpe3Q9dHQodCksZT10dChlKSx0aGlzLl9fZGF0YUxpbmtlZFBhdGhzPXRoaXMuX19kYXRhTGlua2VkUGF0aHN8fHt9LHRoaXMuX19kYXRhTGlua2VkUGF0aHNbdF09ZX11bmxpbmtQYXRocyh0KXt0PXR0KHQpLHRoaXMuX19kYXRhTGlua2VkUGF0aHMmJmRlbGV0ZSB0aGlzLl9fZGF0YUxpbmtlZFBhdGhzW3RdfW5vdGlmeVNwbGljZXModCxlKXtsZXQgbj17cGF0aDoiIn07ZGUodGhpcyxudCh0aGlzLHQsbiksbi5wYXRoLGUpfWdldCh0LGUpe3JldHVybiBudChlfHx0aGlzLHQpfXNldCh0LGUsbil7bj9pdChuLHQsZSk6dGhpc1tEdC5SRUFEX09OTFldJiZ0aGlzW0R0LlJFQURfT05MWV1bdF18fHRoaXMuX3NldFBlbmRpbmdQcm9wZXJ0eU9yUGF0aCh0LGUsITApJiZ0aGlzLl9pbnZhbGlkYXRlUHJvcGVydGllcygpfXB1c2godCwuLi5lKXtsZXQgbj17cGF0aDoiIn0saT1udCh0aGlzLHQsbikscj1pLmxlbmd0aCxvPWkucHVzaCguLi5lKTtyZXR1cm4gZS5sZW5ndGgmJnBlKHRoaXMsaSxuLnBhdGgscixlLmxlbmd0aCxbXSksb31wb3AodCl7bGV0IGU9e3BhdGg6IiJ9LG49bnQodGhpcyx0LGUpLGk9Qm9vbGVhbihuLmxlbmd0aCkscj1uLnBvcCgpO3JldHVybiBpJiZwZSh0aGlzLG4sZS5wYXRoLG4ubGVuZ3RoLDAsW3JdKSxyfXNwbGljZSh0LGUsbiwuLi5pKXtsZXQgcixvPXtwYXRoOiIifSxhPW50KHRoaXMsdCxvKTtyZXR1cm4gZTwwP2U9YS5sZW5ndGgtTWF0aC5mbG9vcigtZSk6ZSYmKGU9TWF0aC5mbG9vcihlKSkscj0yPT09YXJndW1lbnRzLmxlbmd0aD9hLnNwbGljZShlKTphLnNwbGljZShlLG4sLi4uaSksKGkubGVuZ3RofHxyLmxlbmd0aCkmJnBlKHRoaXMsYSxvLnBhdGgsZSxpLmxlbmd0aCxyKSxyfXNoaWZ0KHQpe2xldCBlPXtwYXRoOiIifSxuPW50KHRoaXMsdCxlKSxpPUJvb2xlYW4obi5sZW5ndGgpLHI9bi5zaGlmdCgpO3JldHVybiBpJiZwZSh0aGlzLG4sZS5wYXRoLDAsMCxbcl0pLHJ9dW5zaGlmdCh0LC4uLmUpe2xldCBuPXtwYXRoOiIifSxpPW50KHRoaXMsdCxuKSxyPWkudW5zaGlmdCguLi5lKTtyZXR1cm4gZS5sZW5ndGgmJnBlKHRoaXMsaSxuLnBhdGgsMCxlLmxlbmd0aCxbXSkscn1ub3RpZnlQYXRoKHQsZSl7bGV0IG47aWYoMT09YXJndW1lbnRzLmxlbmd0aCl7bGV0IGk9e3BhdGg6IiJ9O2U9bnQodGhpcyx0LGkpLG49aS5wYXRofWVsc2Ugbj1BcnJheS5pc0FycmF5KHQpP3R0KHQpOnQ7dGhpcy5fc2V0UGVuZGluZ1Byb3BlcnR5T3JQYXRoKG4sZSwhMCwhMCkmJnRoaXMuX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCl9X2NyZWF0ZVJlYWRPbmx5UHJvcGVydHkodCxlKXt0aGlzLl9hZGRQcm9wZXJ0eUVmZmVjdCh0LER0LlJFQURfT05MWSksZSYmKHRoaXNbIl9zZXQiKyhmdW5jdGlvbiBuKHQpe3JldHVybiB0WzBdLnRvVXBwZXJDYXNlKCkrdC5zdWJzdHJpbmcoMSl9KSh0KV09ZnVuY3Rpb24oZSl7dGhpcy5fc2V0UHJvcGVydHkodCxlKX0pfV9jcmVhdGVQcm9wZXJ0eU9ic2VydmVyKHQsZSxuKXtsZXQgaT17cHJvcGVydHk6dCxtZXRob2Q6ZSxkeW5hbWljRm46Qm9vbGVhbihuKX07dGhpcy5fYWRkUHJvcGVydHlFZmZlY3QodCxEdC5PQlNFUlZFLHtmbjpHdCxpbmZvOmksdHJpZ2dlcjp7bmFtZTp0fX0pLG4mJnRoaXMuX2FkZFByb3BlcnR5RWZmZWN0KGUsRHQuT0JTRVJWRSx7Zm46R3QsaW5mbzppLHRyaWdnZXI6e25hbWU6ZX19KX1fY3JlYXRlTWV0aG9kT2JzZXJ2ZXIodCxlKXtsZXQgbj1jZSh0KTtpZighbil0aHJvdyBuZXcgRXJyb3IoIk1hbGZvcm1lZCBvYnNlcnZlciBleHByZXNzaW9uICciK3QrIiciKTtyZSh0aGlzLG4sRHQuT0JTRVJWRSxvZSxudWxsLGUpfV9jcmVhdGVOb3RpZnlpbmdQcm9wZXJ0eSh0KXt0aGlzLl9hZGRQcm9wZXJ0eUVmZmVjdCh0LER0Lk5PVElGWSx7Zm46WXQsaW5mbzp7ZXZlbnROYW1lOmx0KHQpKyItY2hhbmdlZCIscHJvcGVydHk6dH19KX1fY3JlYXRlUmVmbGVjdGVkUHJvcGVydHkodCl7bGV0IGU9dGhpcy5jb25zdHJ1Y3Rvci5hdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkodCk7Ii0iPT09ZVswXT9jb25zb2xlLndhcm4oIlByb3BlcnR5ICIrdCsiIGNhbm5vdCBiZSByZWZsZWN0ZWQgdG8gYXR0cmlidXRlICIrZSsnIGJlY2F1c2UgIi0iIGlzIG5vdCBhIHZhbGlkIHN0YXJ0aW5nIGF0dHJpYnV0ZSBuYW1lLiBVc2UgYSBsb3dlcmNhc2UgZmlyc3QgbGV0dGVyIGZvciB0aGUgcHJvcGVydHkgaW5zdGVhZC4nKTp0aGlzLl9hZGRQcm9wZXJ0eUVmZmVjdCh0LER0LlJFRkxFQ1Qse2ZuOlh0LGluZm86e2F0dHJOYW1lOmV9fSl9X2NyZWF0ZUNvbXB1dGVkUHJvcGVydHkodCxlLG4pe2xldCBpPWNlKGUpO2lmKCFpKXRocm93IG5ldyBFcnJvcigiTWFsZm9ybWVkIGNvbXB1dGVkIGV4cHJlc3Npb24gJyIrZSsiJyIpO2NvbnN0IHI9cmUodGhpcyxpLER0LkNPTVBVVEUsSnQsdCxuKTtGdCh0aGlzLEJ0KVt0XT1yfV9tYXJzaGFsQXJncyh0LGUsbil7Y29uc3QgaT10aGlzLl9fZGF0YSxyPVtdO2ZvcihsZXQgbz0wLGE9dC5sZW5ndGg7bzxhO28rKyl7bGV0e25hbWU6YSxzdHJ1Y3R1cmVkOnMsd2lsZGNhcmQ6bCx2YWx1ZTpjLGxpdGVyYWw6dX09dFtvXTtpZighdSlpZihsKXtjb25zdCB0PVooYSxlKSxyPWhlKGksbix0P2U6YSk7Yz17cGF0aDp0P2U6YSx2YWx1ZTpyLGJhc2U6dD9udChpLGEpOnJ9fWVsc2UgYz1zP2hlKGksbixhKTppW2FdO2lmKEUmJiF0aGlzLl9vdmVycmlkZUxlZ2FjeVVuZGVmaW5lZCYmdm9pZCAwPT09YyYmdC5sZW5ndGg+MSlyZXR1cm4genQ7cltvXT1jfXJldHVybiByfXN0YXRpYyBhZGRQcm9wZXJ0eUVmZmVjdCh0LGUsbil7dGhpcy5wcm90b3R5cGUuX2FkZFByb3BlcnR5RWZmZWN0KHQsZSxuKX1zdGF0aWMgY3JlYXRlUHJvcGVydHlPYnNlcnZlcih0LGUsbil7dGhpcy5wcm90b3R5cGUuX2NyZWF0ZVByb3BlcnR5T2JzZXJ2ZXIodCxlLG4pfXN0YXRpYyBjcmVhdGVNZXRob2RPYnNlcnZlcih0LGUpe3RoaXMucHJvdG90eXBlLl9jcmVhdGVNZXRob2RPYnNlcnZlcih0LGUpfXN0YXRpYyBjcmVhdGVOb3RpZnlpbmdQcm9wZXJ0eSh0KXt0aGlzLnByb3RvdHlwZS5fY3JlYXRlTm90aWZ5aW5nUHJvcGVydHkodCl9c3RhdGljIGNyZWF0ZVJlYWRPbmx5UHJvcGVydHkodCxlKXt0aGlzLnByb3RvdHlwZS5fY3JlYXRlUmVhZE9ubHlQcm9wZXJ0eSh0LGUpfXN0YXRpYyBjcmVhdGVSZWZsZWN0ZWRQcm9wZXJ0eSh0KXt0aGlzLnByb3RvdHlwZS5fY3JlYXRlUmVmbGVjdGVkUHJvcGVydHkodCl9c3RhdGljIGNyZWF0ZUNvbXB1dGVkUHJvcGVydHkodCxlLG4pe3RoaXMucHJvdG90eXBlLl9jcmVhdGVDb21wdXRlZFByb3BlcnR5KHQsZSxuKX1zdGF0aWMgYmluZFRlbXBsYXRlKHQpe3JldHVybiB0aGlzLnByb3RvdHlwZS5fYmluZFRlbXBsYXRlKHQpfV9iaW5kVGVtcGxhdGUodCxlKXtsZXQgbj10aGlzLmNvbnN0cnVjdG9yLl9wYXJzZVRlbXBsYXRlKHQpLGk9dGhpcy5fX3ByZUJvdW5kVGVtcGxhdGVJbmZvPT1uO2lmKCFpKWZvcihsZXQgdCBpbiBuLnByb3BlcnR5RWZmZWN0cyl0aGlzLl9jcmVhdGVQcm9wZXJ0eUFjY2Vzc29yKHQpO2lmKGUpaWYobj1PYmplY3QuY3JlYXRlKG4pLG4ud2FzUHJlQm91bmQ9aSx0aGlzLl9fdGVtcGxhdGVJbmZvKXtjb25zdCBlPXQuX3BhcmVudFRlbXBsYXRlSW5mb3x8dGhpcy5fX3RlbXBsYXRlSW5mbyxpPWUubGFzdENoaWxkO24ucGFyZW50PWUsZS5sYXN0Q2hpbGQ9bixuLnByZXZpb3VzU2libGluZz1pLGk/aS5uZXh0U2libGluZz1uOmUuZmlyc3RDaGlsZD1ufWVsc2UgdGhpcy5fX3RlbXBsYXRlSW5mbz1uO2Vsc2UgdGhpcy5fX3ByZUJvdW5kVGVtcGxhdGVJbmZvPW47cmV0dXJuIG59c3RhdGljIF9hZGRUZW1wbGF0ZVByb3BlcnR5RWZmZWN0KHQsZSxuKXsodC5ob3N0UHJvcHM9dC5ob3N0UHJvcHN8fHt9KVtlXT0hMDtsZXQgaT10LnByb3BlcnR5RWZmZWN0cz10LnByb3BlcnR5RWZmZWN0c3x8e307KGlbZV09aVtlXXx8W10pLnB1c2gobil9X3N0YW1wVGVtcGxhdGUodCxlKXtlPWV8fHRoaXMuX2JpbmRUZW1wbGF0ZSh0LCEwKSxtZS5wdXNoKHRoaXMpO2xldCBuPXN1cGVyLl9zdGFtcFRlbXBsYXRlKHQsZSk7aWYobWUucG9wKCksZS5ub2RlTGlzdD1uLm5vZGVMaXN0LCFlLndhc1ByZUJvdW5kKXtsZXQgdD1lLmNoaWxkTm9kZXM9W107Zm9yKGxldCBlPW4uZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZyl0LnB1c2goZSl9cmV0dXJuIG4udGVtcGxhdGVJbmZvPWUsKGZ1bmN0aW9uIGkodCxlKXtsZXR7bm9kZUxpc3Q6bixub2RlSW5mb0xpc3Q6aX09ZTtpZihpLmxlbmd0aClmb3IobGV0IGU9MDtlPGkubGVuZ3RoO2UrKyl7bGV0IHI9bltlXSxvPWlbZV0uYmluZGluZ3M7aWYobylmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7bGV0IG49b1tlXTtuZShyLG4pLGllKHIsdCxuKX1yLl9fZGF0YUhvc3Q9dH19KSh0aGlzLGUpLHRoaXMuX19kYXRhQ2xpZW50c1JlYWR5JiYodGhpcy5fcnVuRWZmZWN0c0ZvclRlbXBsYXRlKGUsdGhpcy5fX2RhdGEsbnVsbCwhMSksdGhpcy5fZmx1c2hDbGllbnRzKCkpLG59X3JlbW92ZUJvdW5kRG9tKHQpe2NvbnN0IGU9dC50ZW1wbGF0ZUluZm8se3ByZXZpb3VzU2libGluZzpuLG5leHRTaWJsaW5nOmkscGFyZW50OnJ9PWU7bj9uLm5leHRTaWJsaW5nPWk6ciYmKHIuZmlyc3RDaGlsZD1pKSxpP2kucHJldmlvdXNTaWJsaW5nPW46ciYmKHIubGFzdENoaWxkPW4pLGUubmV4dFNpYmxpbmc9ZS5wcmV2aW91c1NpYmxpbmc9bnVsbDtsZXQgbz1lLmNoaWxkTm9kZXM7Zm9yKGxldCB0PTA7dDxvLmxlbmd0aDt0Kyspe2xldCBlPW9bdF07WShZKGUpLnBhcmVudE5vZGUpLnJlbW92ZUNoaWxkKGUpfX1zdGF0aWMgX3BhcnNlVGVtcGxhdGVOb2RlKHQsbixpKXtsZXQgcj1lLl9wYXJzZVRlbXBsYXRlTm9kZS5jYWxsKHRoaXMsdCxuLGkpO2lmKHQubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSl7bGV0IGU9dGhpcy5fcGFyc2VCaW5kaW5ncyh0LnRleHRDb250ZW50LG4pO2UmJih0LnRleHRDb250ZW50PWxlKGUpfHwiICIsUXQodGhpcyxuLGksInRleHQiLCJ0ZXh0Q29udGVudCIsZSkscj0hMCl9cmV0dXJuIHJ9c3RhdGljIF9wYXJzZVRlbXBsYXRlTm9kZUF0dHJpYnV0ZSh0LG4saSxyLG8pe2xldCBhPXRoaXMuX3BhcnNlQmluZGluZ3MobyxuKTtpZihhKXtsZXQgZT1yLG89InByb3BlcnR5IjtIdC50ZXN0KHIpP289ImF0dHJpYnV0ZSI6IiQiPT1yW3IubGVuZ3RoLTFdJiYocj1yLnNsaWNlKDAsLTEpLG89ImF0dHJpYnV0ZSIpO2xldCBzPWxlKGEpO3JldHVybiBzJiYiYXR0cmlidXRlIj09byYmKCJjbGFzcyI9PXImJnQuaGFzQXR0cmlidXRlKCJjbGFzcyIpJiYocys9IiAiK3QuZ2V0QXR0cmlidXRlKHIpKSx0LnNldEF0dHJpYnV0ZShyLHMpKSwiYXR0cmlidXRlIj09byYmImRpc2FibGUtdXBncmFkZSQiPT1lJiZ0LnNldEF0dHJpYnV0ZShyLCIiKSwiaW5wdXQiPT09dC5sb2NhbE5hbWUmJiJ2YWx1ZSI9PT1lJiZ0LnNldEF0dHJpYnV0ZShlLCIiKSx0LnJlbW92ZUF0dHJpYnV0ZShlKSwicHJvcGVydHkiPT09byYmKHI9c3QocikpLFF0KHRoaXMsbixpLG8scixhLHMpLCEwfXJldHVybiBlLl9wYXJzZVRlbXBsYXRlTm9kZUF0dHJpYnV0ZS5jYWxsKHRoaXMsdCxuLGkscixvKX1zdGF0aWMgX3BhcnNlVGVtcGxhdGVOZXN0ZWRUZW1wbGF0ZSh0LG4saSl7bGV0IHI9ZS5fcGFyc2VUZW1wbGF0ZU5lc3RlZFRlbXBsYXRlLmNhbGwodGhpcyx0LG4saSk7Y29uc3Qgbz10LnBhcmVudE5vZGUsYT1pLnRlbXBsYXRlSW5mbyxzPSJkb20taWYiPT09by5sb2NhbE5hbWU7QyYmKHN8fCJkb20tcmVwZWF0Ij09PW8ubG9jYWxOYW1lKSYmKG8ucmVtb3ZlQ2hpbGQodCksKGk9aS5wYXJlbnRJbmZvKS50ZW1wbGF0ZUluZm89YSxpLm5vdGVkPSEwLHI9ITEpO2xldCBsPWEuaG9zdFByb3BzO2lmKEEmJnMpbCYmKG4uaG9zdFByb3BzPU9iamVjdC5hc3NpZ24obi5ob3N0UHJvcHN8fHt9LGwpLEN8fChpLnBhcmVudEluZm8ubm90ZWQ9ITApKTtlbHNle2xldCB0PSJ7Ijtmb3IobGV0IGUgaW4gbCl7UXQodGhpcyxuLGksInByb3BlcnR5IiwiX2hvc3RfIitlLFt7bW9kZTp0LHNvdXJjZTplLGRlcGVuZGVuY2llczpbZV0saG9zdFByb3A6ITB9XSl9fXJldHVybiByfXN0YXRpYyBfcGFyc2VCaW5kaW5ncyh0LGUpe2xldCBuLGk9W10scj0wO2Zvcig7bnVsbCE9PShuPXNlLmV4ZWModCkpOyl7bi5pbmRleD5yJiZpLnB1c2goe2xpdGVyYWw6dC5zbGljZShyLG4uaW5kZXgpfSk7bGV0IG89blsxXVswXSxhPUJvb2xlYW4oblsyXSkscz1uWzNdLnRyaW0oKSxsPSExLGM9IiIsdT0tMTsieyI9PW8mJih1PXMuaW5kZXhPZigiOjoiKSk+MCYmKGM9cy5zdWJzdHJpbmcodSsyKSxzPXMuc3Vic3RyaW5nKDAsdSksbD0hMCk7bGV0IGg9Y2UocyksZD1bXTtpZihoKXtsZXR7YXJnczp0LG1ldGhvZE5hbWU6bn09aDtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7bGV0IG49dFtlXTtuLmxpdGVyYWx8fGQucHVzaChuKX1sZXQgaT1lLmR5bmFtaWNGbnM7KGkmJmlbbl18fGguc3RhdGljKSYmKGQucHVzaChuKSxoLmR5bmFtaWNGbj0hMCl9ZWxzZSBkLnB1c2gocyk7aS5wdXNoKHtzb3VyY2U6cyxtb2RlOm8sbmVnYXRlOmEsY3VzdG9tRXZlbnQ6bCxzaWduYXR1cmU6aCxkZXBlbmRlbmNpZXM6ZCxldmVudDpjfSkscj1zZS5sYXN0SW5kZXh9aWYociYmcjx0Lmxlbmd0aCl7bGV0IGU9dC5zdWJzdHJpbmcocik7ZSYmaS5wdXNoKHtsaXRlcmFsOmV9KX1yZXR1cm4gaS5sZW5ndGg/aTpudWxsfXN0YXRpYyBfZXZhbHVhdGVCaW5kaW5nKHQsZSxuLGkscixvKXtsZXQgYTtyZXR1cm4gYT1lLnNpZ25hdHVyZT9vZSh0LG4saSwwLGUuc2lnbmF0dXJlKTpuIT1lLnNvdXJjZT9udCh0LGUuc291cmNlKTpvJiZYKG4pP250KHQsbik6dC5fX2RhdGFbbl0sZS5uZWdhdGUmJihhPSFhKSxhfX19KSksbWU9W107Y29uc3QgZ2U9SSgodD0+e2NvbnN0IGU9eHQodCk7ZnVuY3Rpb24gbih0KXtjb25zdCBlPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtyZXR1cm4gZS5wcm90b3R5cGUgaW5zdGFuY2VvZiByP2U6bnVsbH1mdW5jdGlvbiBpKHQpe2lmKCF0Lmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9fb3duUHJvcGVydGllcyIsdCkpKXtsZXQgZT1udWxsO2lmKHQuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgicHJvcGVydGllcyIsdCkpKXtjb25zdCBuPXQucHJvcGVydGllcztuJiYoZT0oCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmZ1bmN0aW9uIGUodCl7Y29uc3QgZT17fTtmb3IobGV0IG4gaW4gdCl7Y29uc3QgaT10W25dO2Vbbl09ImZ1bmN0aW9uIj09dHlwZW9mIGk/e3R5cGU6aX06aX1yZXR1cm4gZX0pKG4pKX10Ll9fb3duUHJvcGVydGllcz1lfXJldHVybiB0Ll9fb3duUHJvcGVydGllc31jbGFzcyByIGV4dGVuZHMgZXtzdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe2lmKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9fb2JzZXJ2ZWRBdHRyaWJ1dGVzIix0aGlzKSkpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllczt0aGlzLl9fb2JzZXJ2ZWRBdHRyaWJ1dGVzPXQ/T2JqZWN0LmtleXModCkubWFwKCh0PT50aGlzLnByb3RvdHlwZS5fYWRkUHJvcGVydHlUb0F0dHJpYnV0ZU1hcCh0KSkpOltdfXJldHVybiB0aGlzLl9fb2JzZXJ2ZWRBdHRyaWJ1dGVzfXN0YXRpYyBmaW5hbGl6ZSgpe2lmKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9fZmluYWxpemVkIix0aGlzKSkpe2NvbnN0IHQ9bih0aGlzKTt0JiZ0LmZpbmFsaXplKCksdGhpcy5fX2ZpbmFsaXplZD0hMCx0aGlzLl9maW5hbGl6ZUNsYXNzKCl9fXN0YXRpYyBfZmluYWxpemVDbGFzcygpe2NvbnN0IHQ9aSh0aGlzKTt0JiZ0aGlzLmNyZWF0ZVByb3BlcnRpZXModCl9c3RhdGljIGdldCBfcHJvcGVydGllcygpe2lmKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9fcHJvcGVydGllcyIsdGhpcykpKXtjb25zdCB0PW4odGhpcyk7dGhpcy5fX3Byb3BlcnRpZXM9T2JqZWN0LmFzc2lnbih7fSx0JiZ0Ll9wcm9wZXJ0aWVzLGkodGhpcykpfXJldHVybiB0aGlzLl9fcHJvcGVydGllc31zdGF0aWMgdHlwZUZvclByb3BlcnR5KHQpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllc1t0XTtyZXR1cm4gZSYmZS50eXBlfV9pbml0aWFsaXplUHJvcGVydGllcygpe3RoaXMuY29uc3RydWN0b3IuZmluYWxpemUoKSxzdXBlci5faW5pdGlhbGl6ZVByb3BlcnRpZXMoKX1jb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrJiZzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuX2VuYWJsZVByb3BlcnRpZXMoKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrJiZzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpfX1yZXR1cm4gcn0pKSxfZT13aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5jc3NCdWlsZCx5ZT1JKCh0PT57Y29uc3QgZT1nZShmZSh0KSk7ZnVuY3Rpb24gbih0LGUsbixpKXtuLmNvbXB1dGVkJiYobi5yZWFkT25seT0hMCksbi5jb21wdXRlZCYmKHQuX2hhc1JlYWRPbmx5RWZmZWN0KGUpP2NvbnNvbGUud2FybihgQ2Fubm90IHJlZGVmaW5lIGNvbXB1dGVkIHByb3BlcnR5ICcke2V9Jy5gKTp0Ll9jcmVhdGVDb21wdXRlZFByb3BlcnR5KGUsbi5jb21wdXRlZCxpKSksbi5yZWFkT25seSYmIXQuX2hhc1JlYWRPbmx5RWZmZWN0KGUpP3QuX2NyZWF0ZVJlYWRPbmx5UHJvcGVydHkoZSwhbi5jb21wdXRlZCk6ITE9PT1uLnJlYWRPbmx5JiZ0Ll9oYXNSZWFkT25seUVmZmVjdChlKSYmY29uc29sZS53YXJuKGBDYW5ub3QgbWFrZSByZWFkT25seSBwcm9wZXJ0eSAnJHtlfScgbm9uLXJlYWRPbmx5LmApLG4ucmVmbGVjdFRvQXR0cmlidXRlJiYhdC5faGFzUmVmbGVjdEVmZmVjdChlKT90Ll9jcmVhdGVSZWZsZWN0ZWRQcm9wZXJ0eShlKTohMT09PW4ucmVmbGVjdFRvQXR0cmlidXRlJiZ0Ll9oYXNSZWZsZWN0RWZmZWN0KGUpJiZjb25zb2xlLndhcm4oYENhbm5vdCBtYWtlIHJlZmxlY3RlZCBwcm9wZXJ0eSAnJHtlfScgbm9uLXJlZmxlY3RlZC5gKSxuLm5vdGlmeSYmIXQuX2hhc05vdGlmeUVmZmVjdChlKT90Ll9jcmVhdGVOb3RpZnlpbmdQcm9wZXJ0eShlKTohMT09PW4ubm90aWZ5JiZ0Ll9oYXNOb3RpZnlFZmZlY3QoZSkmJmNvbnNvbGUud2FybihgQ2Fubm90IG1ha2Ugbm90aWZ5IHByb3BlcnR5ICcke2V9JyBub24tbm90aWZ5LmApLG4ub2JzZXJ2ZXImJnQuX2NyZWF0ZVByb3BlcnR5T2JzZXJ2ZXIoZSxuLm9ic2VydmVyLGlbbi5vYnNlcnZlcl0pLHQuX2FkZFByb3BlcnR5VG9BdHRyaWJ1dGVNYXAoZSl9ZnVuY3Rpb24gaSh0LGUsbixpKXtpZighX2Upe2NvbnN0IHI9ZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlIiksbz1HKGUpLGE9KGZ1bmN0aW9uIHIodCl7bGV0IGU9Rih0KTtyZXR1cm4gZT9XKGUpOltdfSkobikscz1lLmNvbnRlbnQuZmlyc3RFbGVtZW50Q2hpbGQ7Zm9yKGxldCBuPTA7bjxhLmxlbmd0aDtuKyspe2xldCByPWFbbl07ci50ZXh0Q29udGVudD10Ll9wcm9jZXNzU3R5bGVUZXh0KHIudGV4dENvbnRlbnQsaSksZS5jb250ZW50Lmluc2VydEJlZm9yZShyLHMpfWxldCBsPTA7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCBuPW9bZV0sYT1yW2xdO2EhPT1uPyhuPW4uY2xvbmVOb2RlKCEwKSxhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG4sYSkpOmwrKyxuLnRleHRDb250ZW50PXQuX3Byb2Nlc3NTdHlsZVRleHQobi50ZXh0Q29udGVudCxpKX19aWYod2luZG93LlNoYWR5Q1NTJiZ3aW5kb3cuU2hhZHlDU1MucHJlcGFyZVRlbXBsYXRlKGUsbiksUCYmX2UmJmcpe2NvbnN0IG49ZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlIik7aWYobil7bGV0IGU9IiI7QXJyYXkuZnJvbShuKS5mb3JFYWNoKCh0PT57ZSs9dC50ZXh0Q29udGVudCx0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCl9KSksdC5fc3R5bGVTaGVldD1uZXcgQ1NTU3R5bGVTaGVldCx0Ll9zdHlsZVNoZWV0LnJlcGxhY2VTeW5jKGUpfX19cmV0dXJuIGNsYXNzIGV4dGVuZHMgZXtzdGF0aWMgZ2V0IHBvbHltZXJFbGVtZW50VmVyc2lvbigpe3JldHVybiIzLjQuMSJ9c3RhdGljIF9maW5hbGl6ZUNsYXNzKCl7ZS5fZmluYWxpemVDbGFzcy5jYWxsKHRoaXMpO2NvbnN0IHQ9KGZ1bmN0aW9uIG4odCl7cmV0dXJuIHQuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgiX19vd25PYnNlcnZlcnMiLHQpKXx8KHQuX19vd25PYnNlcnZlcnM9dC5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJvYnNlcnZlcnMiLHQpKT90Lm9ic2VydmVyczpudWxsKSx0Ll9fb3duT2JzZXJ2ZXJzfSkodGhpcyk7dCYmdGhpcy5jcmVhdGVPYnNlcnZlcnModCx0aGlzLl9wcm9wZXJ0aWVzKSx0aGlzLl9wcmVwYXJlVGVtcGxhdGUoKX1zdGF0aWMgX3ByZXBhcmVUZW1wbGF0ZSgpe2xldCB0PXRoaXMudGVtcGxhdGU7dCYmKCJzdHJpbmciPT10eXBlb2YgdD8oY29uc29sZS5lcnJvcigidGVtcGxhdGUgZ2V0dGVyIG11c3QgcmV0dXJuIEhUTUxUZW1wbGF0ZUVsZW1lbnQiKSx0PW51bGwpOnd8fCh0PXQuY2xvbmVOb2RlKCEwKSkpLHRoaXMucHJvdG90eXBlLl90ZW1wbGF0ZT10fXN0YXRpYyBjcmVhdGVQcm9wZXJ0aWVzKHQpe2ZvcihsZXQgZSBpbiB0KW4odGhpcy5wcm90b3R5cGUsZSx0W2VdLHQpfXN0YXRpYyBjcmVhdGVPYnNlcnZlcnModCxlKXtjb25zdCBuPXRoaXMucHJvdG90eXBlO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKW4uX2NyZWF0ZU1ldGhvZE9ic2VydmVyKHRbaV0sZSl9c3RhdGljIGdldCB0ZW1wbGF0ZSgpe2lmKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl90ZW1wbGF0ZSIsdGhpcykpKXtjb25zdCB0PXRoaXMucHJvdG90eXBlLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl90ZW1wbGF0ZSIsdGhpcy5wcm90b3R5cGUpKT90aGlzLnByb3RvdHlwZS5fdGVtcGxhdGU6dm9pZCAwO3RoaXMuX3RlbXBsYXRlPXZvaWQgMCE9PXQ/dDp0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoImlzIix0aGlzKSkmJihmdW5jdGlvbiBlKHQpe2xldCBlPW51bGw7aWYodCYmKCFifHx4KSYmKGU9Qi5pbXBvcnQodCwidGVtcGxhdGUiKSxiJiYhZSkpdGhyb3cgbmV3IEVycm9yKGBzdHJpY3RUZW1wbGF0ZVBvbGljeTogZXhwZWN0aW5nIGRvbS1tb2R1bGUgb3IgbnVsbCB0ZW1wbGF0ZSBmb3IgJHt0fWApO3JldHVybiBlfSkodGhpcy5pcyl8fE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzLnByb3RvdHlwZSkuY29uc3RydWN0b3IudGVtcGxhdGV9cmV0dXJuIHRoaXMuX3RlbXBsYXRlfXN0YXRpYyBzZXQgdGVtcGxhdGUodCl7dGhpcy5fdGVtcGxhdGU9dH1zdGF0aWMgZ2V0IGltcG9ydFBhdGgoKXtpZighdGhpcy5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJfaW1wb3J0UGF0aCIsdGhpcykpKXtjb25zdCB0PXRoaXMuaW1wb3J0TWV0YTtpZih0KXRoaXMuX2ltcG9ydFBhdGg9Zih0LnVybCk7ZWxzZXtjb25zdCB0PUIuaW1wb3J0KHRoaXMuaXMpO3RoaXMuX2ltcG9ydFBhdGg9dCYmdC5hc3NldHBhdGh8fE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzLnByb3RvdHlwZSkuY29uc3RydWN0b3IuaW1wb3J0UGF0aH19cmV0dXJuIHRoaXMuX2ltcG9ydFBhdGh9Y29uc3RydWN0b3IoKXtzdXBlcigpfV9pbml0aWFsaXplUHJvcGVydGllcygpe3RoaXMuY29uc3RydWN0b3IuZmluYWxpemUoKSx0aGlzLmNvbnN0cnVjdG9yLl9maW5hbGl6ZVRlbXBsYXRlKHRoaXMubG9jYWxOYW1lKSxzdXBlci5faW5pdGlhbGl6ZVByb3BlcnRpZXMoKSx0aGlzLnJvb3RQYXRoPV8sdGhpcy5pbXBvcnRQYXRoPXRoaXMuY29uc3RydWN0b3IuaW1wb3J0UGF0aDtsZXQgdD0oZnVuY3Rpb24gZSh0KXtpZighdC5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJfX3Byb3BlcnR5RGVmYXVsdHMiLHQpKSl7dC5fX3Byb3BlcnR5RGVmYXVsdHM9bnVsbDtsZXQgZT10Ll9wcm9wZXJ0aWVzO2ZvcihsZXQgbiBpbiBlKXtsZXQgaT1lW25dOyJ2YWx1ZSJpbiBpJiYodC5fX3Byb3BlcnR5RGVmYXVsdHM9dC5fX3Byb3BlcnR5RGVmYXVsdHN8fHt9LHQuX19wcm9wZXJ0eURlZmF1bHRzW25dPWkpfX1yZXR1cm4gdC5fX3Byb3BlcnR5RGVmYXVsdHN9KSh0aGlzLmNvbnN0cnVjdG9yKTtpZih0KWZvcihsZXQgZSBpbiB0KXtsZXQgbj10W2VdO2lmKHRoaXMuX2NhbkFwcGx5UHJvcGVydHlEZWZhdWx0KGUpKXtsZXQgdD0iZnVuY3Rpb24iPT10eXBlb2Ygbi52YWx1ZT9uLnZhbHVlLmNhbGwodGhpcyk6bi52YWx1ZTt0aGlzLl9oYXNBY2Nlc3NvcihlKT90aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkoZSx0LCEwKTp0aGlzW2VdPXR9fX1fY2FuQXBwbHlQcm9wZXJ0eURlZmF1bHQodCl7cmV0dXJuIXRoaXMuaGFzT3duUHJvcGVydHkodCl9c3RhdGljIF9wcm9jZXNzU3R5bGVUZXh0KHQsZSl7cmV0dXJuIHAodCxlKX1zdGF0aWMgX2ZpbmFsaXplVGVtcGxhdGUodCl7Y29uc3QgZT10aGlzLnByb3RvdHlwZS5fdGVtcGxhdGU7aWYoZSYmIWUuX19wb2x5bWVyRmluYWxpemVkKXtlLl9fcG9seW1lckZpbmFsaXplZD0hMDtjb25zdCBuPXRoaXMuaW1wb3J0UGF0aDtpKHRoaXMsZSx0LG4/ZChuKToiIiksdGhpcy5wcm90b3R5cGUuX2JpbmRUZW1wbGF0ZShlKX19Y29ubmVjdGVkQ2FsbGJhY2soKXt3aW5kb3cuU2hhZHlDU1MmJnRoaXMuX3RlbXBsYXRlJiZ3aW5kb3cuU2hhZHlDU1Muc3R5bGVFbGVtZW50KHRoaXMpLHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCl9cmVhZHkoKXt0aGlzLl90ZW1wbGF0ZSYmKHRoaXMucm9vdD10aGlzLl9zdGFtcFRlbXBsYXRlKHRoaXMuX3RlbXBsYXRlKSx0aGlzLiQ9dGhpcy5yb290LiQpLHN1cGVyLnJlYWR5KCl9X3JlYWR5Q2xpZW50cygpe3RoaXMuX3RlbXBsYXRlJiYodGhpcy5yb290PXRoaXMuX2F0dGFjaERvbSh0aGlzLnJvb3QpKSxzdXBlci5fcmVhZHlDbGllbnRzKCl9X2F0dGFjaERvbSh0KXtjb25zdCBlPVkodGhpcyk7aWYoZS5hdHRhY2hTaGFkb3cpcmV0dXJuIHQ/KGUuc2hhZG93Um9vdHx8KGUuYXR0YWNoU2hhZG93KHttb2RlOiJvcGVuIixzaGFkeVVwZ3JhZGVGcmFnbWVudDp0fSksZS5zaGFkb3dSb290LmFwcGVuZENoaWxkKHQpLHRoaXMuY29uc3RydWN0b3IuX3N0eWxlU2hlZXQmJihlLnNoYWRvd1Jvb3QuYWRvcHRlZFN0eWxlU2hlZXRzPVt0aGlzLmNvbnN0cnVjdG9yLl9zdHlsZVNoZWV0XSkpLE0mJndpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLmZsdXNoSW5pdGlhbChlLnNoYWRvd1Jvb3QpLGUuc2hhZG93Um9vdCk6bnVsbDt0aHJvdyBuZXcgRXJyb3IoIlNoYWRvd0RPTSBub3QgYXZhaWxhYmxlLiBQb2x5bWVyRWxlbWVudCBjYW4gY3JlYXRlIGRvbSBhcyBjaGlsZHJlbiBpbnN0ZWFkIG9mIGluIFNoYWRvd0RPTSBieSBzZXR0aW5nIGB0aGlzLnJvb3QgPSB0aGlzO2AgYmVmb3JlIGByZWFkeWAuIil9dXBkYXRlU3R5bGVzKHQpe3dpbmRvdy5TaGFkeUNTUyYmd2luZG93LlNoYWR5Q1NTLnN0eWxlU3VidHJlZSh0aGlzLHQpfXJlc29sdmVVcmwodCxlKXtyZXR1cm4hZSYmdGhpcy5pbXBvcnRQYXRoJiYoZT1kKHRoaXMuaW1wb3J0UGF0aCkpLGQodCxlKX1zdGF0aWMgX3BhcnNlVGVtcGxhdGVDb250ZW50KHQsbixpKXtyZXR1cm4gbi5keW5hbWljRm5zPW4uZHluYW1pY0Zuc3x8dGhpcy5fcHJvcGVydGllcyxlLl9wYXJzZVRlbXBsYXRlQ29udGVudC5jYWxsKHRoaXMsdCxuLGkpfXN0YXRpYyBfYWRkVGVtcGxhdGVQcm9wZXJ0eUVmZmVjdCh0LG4saSl7cmV0dXJuIVN8fG4gaW4gdGhpcy5fcHJvcGVydGllc3x8aS5pbmZvLnBhcnQuc2lnbmF0dXJlJiZpLmluZm8ucGFydC5zaWduYXR1cmUuc3RhdGljfHxpLmluZm8ucGFydC5ob3N0UHJvcHx8dC5uZXN0ZWRUZW1wbGF0ZXx8Y29uc29sZS53YXJuKGBQcm9wZXJ0eSAnJHtufScgdXNlZCBpbiB0ZW1wbGF0ZSBidXQgbm90IGRlY2xhcmVkIGluICdwcm9wZXJ0aWVzJzsgYXR0cmlidXRlIHdpbGwgbm90IGJlIG9ic2VydmVkLmApLGUuX2FkZFRlbXBsYXRlUHJvcGVydHlFZmZlY3QuY2FsbCh0aGlzLHQsbixpKX19fSkpOwovKioKICAgICAqIEBmaWxlb3ZlcnZpZXcKICAgICAqIEBzdXBwcmVzcyB7Y2hlY2tQcm90b3R5cGFsVHlwZXN9CiAgICAgKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgICogVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZAogICAgICogYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heQogICAgICogYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieQogICAgICogR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUAogICAgICogcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgICovCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNsYXNzIHZle2NvbnN0cnVjdG9yKHQpe3RoaXMudmFsdWU9dC50b1N0cmluZygpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudmFsdWV9fWZ1bmN0aW9uIGJlKHQpe2lmKHQgaW5zdGFuY2VvZiBIVE1MVGVtcGxhdGVFbGVtZW50KXJldHVybiB0LmlubmVySFRNTDtpZih0IGluc3RhbmNlb2YgdmUpcmV0dXJuKGZ1bmN0aW9uIGUodCl7aWYodCBpbnN0YW5jZW9mIHZlKXJldHVybiB0LnZhbHVlO3Rocm93IG5ldyBFcnJvcihgbm9uLWxpdGVyYWwgdmFsdWUgcGFzc2VkIHRvIFBvbHltZXIncyBodG1sTGl0ZXJhbCBmdW5jdGlvbjogJHt0fWApfSkodCk7dGhyb3cgbmV3IEVycm9yKGBub24tdGVtcGxhdGUgdmFsdWUgcGFzc2VkIHRvIFBvbHltZXIncyBodG1sIGZ1bmN0aW9uOiAke3R9YCl9Y29uc3QgeGU9ZnVuY3Rpb24gdChlLC4uLm4pe2NvbnN0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtyZXR1cm4gaS5pbm5lckhUTUw9bi5yZWR1Y2UoKCh0LG4saSk9PnQrYmUobikrZVtpKzFdKSxlWzBdKSxpfSx3ZT15ZShIVE1MRWxlbWVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovdmFyIFNlPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6e307ZnVuY3Rpb24gTWUodCl7aWYodC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLGkuZ2V0P2k6e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSl9KSksZX12YXIgRWUsVGUsQ2U9e2V4cG9ydHM6e319OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBMb2Rhc2ggPGh0dHBzOi8vbG9kYXNoLmNvbS8+CiAgICAgKiBDb3B5cmlnaHQgT3BlbkpTIEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycyA8aHR0cHM6Ly9vcGVuanNmLm9yZy8+CiAgICAgKiBSZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZSA8aHR0cHM6Ly9sb2Rhc2guY29tL2xpY2Vuc2U+CiAgICAgKiBCYXNlZCBvbiBVbmRlcnNjb3JlLmpzIDEuOC4zIDxodHRwOi8vdW5kZXJzY29yZWpzLm9yZy9MSUNFTlNFPgogICAgICogQ29weXJpZ2h0IEplcmVteSBBc2hrZW5hcywgRG9jdW1lbnRDbG91ZCBhbmQgSW52ZXN0aWdhdGl2ZSBSZXBvcnRlcnMgJiBFZGl0b3JzCiAgICAgKi9FZT1DZSxUZT1DZS5leHBvcnRzLGZ1bmN0aW9uKCl7dmFyIHQsZT0iRXhwZWN0ZWQgYSBmdW5jdGlvbiIsbj0iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIsaT0iX19sb2Rhc2hfcGxhY2Vob2xkZXJfXyIscj0xNixvPTMyLGE9NjQscz0xMjgsbD0yNTYsYz0xLzAsdT05MDA3MTk5MjU0NzQwOTkxLGg9TmFOLGQ9NDI5NDk2NzI5NSxwPVtbImFyeSIsc10sWyJiaW5kIiwxXSxbImJpbmRLZXkiLDJdLFsiY3VycnkiLDhdLFsiY3VycnlSaWdodCIscl0sWyJmbGlwIiw1MTJdLFsicGFydGlhbCIsb10sWyJwYXJ0aWFsUmlnaHQiLGFdLFsicmVhcmciLGxdXSxmPSJbb2JqZWN0IEFyZ3VtZW50c10iLG09IltvYmplY3QgQXJyYXldIixnPSJbb2JqZWN0IEJvb2xlYW5dIixfPSJbb2JqZWN0IERhdGVdIix5PSJbb2JqZWN0IEVycm9yXSIsdj0iW29iamVjdCBGdW5jdGlvbl0iLGI9IltvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dIix4PSJbb2JqZWN0IE1hcF0iLHc9IltvYmplY3QgTnVtYmVyXSIsUz0iW29iamVjdCBPYmplY3RdIixNPSJbb2JqZWN0IFByb21pc2VdIixFPSJbb2JqZWN0IFJlZ0V4cF0iLFQ9IltvYmplY3QgU2V0XSIsQz0iW29iamVjdCBTdHJpbmddIixBPSJbb2JqZWN0IFN5bWJvbF0iLGs9IltvYmplY3QgV2Vha01hcF0iLEw9IltvYmplY3QgQXJyYXlCdWZmZXJdIixQPSJbb2JqZWN0IERhdGFWaWV3XSIsTj0iW29iamVjdCBGbG9hdDMyQXJyYXldIixJPSJbb2JqZWN0IEZsb2F0NjRBcnJheV0iLFI9IltvYmplY3QgSW50OEFycmF5XSIsTz0iW29iamVjdCBJbnQxNkFycmF5XSIsej0iW29iamVjdCBJbnQzMkFycmF5XSIsRD0iW29iamVjdCBVaW50OEFycmF5XSIsQj0iW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iLEg9IltvYmplY3QgVWludDE2QXJyYXldIixGPSJbb2JqZWN0IFVpbnQzMkFycmF5XSIsVj0vXGJfX3AgXCs9ICcnOy9nLFU9L1xiKF9fcCBcKz0pICcnIFwrL2csaj0vKF9fZVwoLio/XCl8XGJfX3RcKSkgXCtcbicnOy9nLEc9LyYoPzphbXB8bHR8Z3R8cXVvdHwjMzkpOy9nLFc9L1smPD4iJ10vZyxxPVJlZ0V4cChHLnNvdXJjZSksWT1SZWdFeHAoVy5zb3VyY2UpLFg9LzwlLShbXHNcU10rPyklPi9nLCQ9LzwlKFtcc1xTXSs/KSU+L2csSz0vPCU9KFtcc1xTXSs/KSU+L2csWj0vXC58XFsoPzpbXltcXV0qfChbIiddKSg/Oig/IVwxKVteXFxdfFxcLikqP1wxKVxdLyxKPS9eXHcqJC8sUT0vW14uW1xdXSt8XFsoPzooLT9cZCsoPzpcLlxkKyk/KXwoWyInXSkoKD86KD8hXDIpW15cXF18XFwuKSo/KVwyKVxdfCg/PSg/OlwufFxbXF0pKD86XC58XFtcXXwkKSkvZyx0dD0vW1xcXiQuKis/KClbXF17fXxdL2csZXQ9UmVnRXhwKHR0LnNvdXJjZSksbnQ9L15ccysvLGl0PS9ccy8scnQ9L1x7KD86XG5cL1wqIFxbd3JhcHBlZCB3aXRoIC4rXF0gXCpcLyk/XG4/LyxvdD0vXHtcblwvXCogXFt3cmFwcGVkIHdpdGggKC4rKVxdIFwqLyxhdD0vLD8gJiAvLHN0PS9bXlx4MDAtXHgyZlx4M2EtXHg0MFx4NWItXHg2MFx4N2ItXHg3Zl0rL2csbHQ9L1soKT0se31cW1xdXC9cc10vLGN0PS9cXChcXCk/L2csdXQ9L1wkXHsoW15cXH1dKig/OlxcLlteXFx9XSopKilcfS9nLGh0PS9cdyokLyxkdD0vXlstK10weFswLTlhLWZdKyQvaSxwdD0vXjBiWzAxXSskL2ksZnQ9L15cW29iamVjdCAuKz9Db25zdHJ1Y3RvclxdJC8sbXQ9L14wb1swLTddKyQvaSxndD0vXig/OjB8WzEtOV1cZCopJC8sX3Q9L1tceGMwLVx4ZDZceGQ4LVx4ZjZceGY4LVx4ZmZcdTAxMDAtXHUwMTdmXS9nLHl0PS8oJF4pLyx2dD0vWydcblxyXHUyMDI4XHUyMDI5XFxdL2csYnQ9IlxcdTAzMDAtXFx1MDM2ZlxcdWZlMjAtXFx1ZmUyZlxcdTIwZDAtXFx1MjBmZiIseHQ9IlxcdTI3MDAtXFx1MjdiZiIsd3Q9ImEtelxceGRmLVxceGY2XFx4ZjgtXFx4ZmYiLFN0PSJBLVpcXHhjMC1cXHhkNlxceGQ4LVxceGRlIixNdD0iXFx1ZmUwZVxcdWZlMGYiLEV0PSJcXHhhY1xceGIxXFx4ZDdcXHhmN1xceDAwLVxceDJmXFx4M2EtXFx4NDBcXHg1Yi1cXHg2MFxceDdiLVxceGJmXFx1MjAwMC1cXHUyMDZmIFxcdFxceDBiXFxmXFx4YTBcXHVmZWZmXFxuXFxyXFx1MjAyOFxcdTIwMjlcXHUxNjgwXFx1MTgwZVxcdTIwMDBcXHUyMDAxXFx1MjAwMlxcdTIwMDNcXHUyMDA0XFx1MjAwNVxcdTIwMDZcXHUyMDA3XFx1MjAwOFxcdTIwMDlcXHUyMDBhXFx1MjAyZlxcdTIwNWZcXHUzMDAwIixUdD0iWyfigJldIixDdD0iW1xcdWQ4MDAtXFx1ZGZmZl0iLEF0PSJbIitFdCsiXSIsa3Q9IlsiK2J0KyJdIixMdD0iXFxkKyIsUHQ9IltcXHUyNzAwLVxcdTI3YmZdIixOdD0iWyIrd3QrIl0iLEl0PSJbXlxcdWQ4MDAtXFx1ZGZmZiIrRXQrTHQreHQrd3QrU3QrIl0iLFJ0PSJcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl0iLE90PSJbXlxcdWQ4MDAtXFx1ZGZmZl0iLHp0PSIoPzpcXHVkODNjW1xcdWRkZTYtXFx1ZGRmZl0pezJ9IixEdD0iW1xcdWQ4MDAtXFx1ZGJmZl1bXFx1ZGMwMC1cXHVkZmZmXSIsQnQ9IlsiK1N0KyJdIixIdD0iKD86IitOdCsifCIrSXQrIikiLEZ0PSIoPzoiK0J0KyJ8IitJdCsiKSIsVnQ9Iig/Olsn4oCZXSg/OmR8bGx8bXxyZXxzfHR8dmUpKT8iLFV0PSIoPzpbJ+KAmV0oPzpEfExMfE18UkV8U3xUfFZFKSk/IixqdD0iKD86IitrdCsifCIrUnQrIik/IixHdD0iW1xcdWZlMGVcXHVmZTBmXT8iLFd0PUd0K2p0KyIoPzpcXHUyMDBkKD86IitbT3QsenQsRHRdLmpvaW4oInwiKSsiKSIrR3QranQrIikqIixxdD0iKD86IitbUHQsenQsRHRdLmpvaW4oInwiKSsiKSIrV3QsWXQ9Iig/OiIrW090K2t0KyI/IixrdCx6dCxEdCxDdF0uam9pbigifCIpKyIpIixYdD1SZWdFeHAoVHQsImciKSwkdD1SZWdFeHAoa3QsImciKSxLdD1SZWdFeHAoUnQrIig/PSIrUnQrIil8IitZdCtXdCwiZyIpLFp0PVJlZ0V4cChbQnQrIj8iK050KyIrIitWdCsiKD89IitbQXQsQnQsIiQiXS5qb2luKCJ8IikrIikiLEZ0KyIrIitVdCsiKD89IitbQXQsQnQrSHQsIiQiXS5qb2luKCJ8IikrIikiLEJ0KyI/IitIdCsiKyIrVnQsQnQrIisiK1V0LCJcXGQqKD86MVNUfDJORHwzUkR8KD8hWzEyM10pXFxkVEgpKD89XFxifFthLXpfXSkiLCJcXGQqKD86MXN0fDJuZHwzcmR8KD8hWzEyM10pXFxkdGgpKD89XFxifFtBLVpfXSkiLEx0LHF0XS5qb2luKCJ8IiksImciKSxKdD1SZWdFeHAoIltcXHUyMDBkXFx1ZDgwMC1cXHVkZmZmIitidCtNdCsiXSIpLFF0PS9bYS16XVtBLVpdfFtBLVpdezJ9W2Etel18WzAtOV1bYS16QS1aXXxbYS16QS1aXVswLTldfFteYS16QS1aMC05IF0vLHRlPVsiQXJyYXkiLCJCdWZmZXIiLCJEYXRhVmlldyIsIkRhdGUiLCJFcnJvciIsIkZsb2F0MzJBcnJheSIsIkZsb2F0NjRBcnJheSIsIkZ1bmN0aW9uIiwiSW50OEFycmF5IiwiSW50MTZBcnJheSIsIkludDMyQXJyYXkiLCJNYXAiLCJNYXRoIiwiT2JqZWN0IiwiUHJvbWlzZSIsIlJlZ0V4cCIsIlNldCIsIlN0cmluZyIsIlN5bWJvbCIsIlR5cGVFcnJvciIsIlVpbnQ4QXJyYXkiLCJVaW50OENsYW1wZWRBcnJheSIsIlVpbnQxNkFycmF5IiwiVWludDMyQXJyYXkiLCJXZWFrTWFwIiwiXyIsImNsZWFyVGltZW91dCIsImlzRmluaXRlIiwicGFyc2VJbnQiLCJzZXRUaW1lb3V0Il0sZWU9LTEsbmU9e307bmVbTl09bmVbSV09bmVbUl09bmVbT109bmVbel09bmVbRF09bmVbQl09bmVbSF09bmVbRl09ITAsbmVbZl09bmVbbV09bmVbTF09bmVbZ109bmVbUF09bmVbX109bmVbeV09bmVbdl09bmVbeF09bmVbd109bmVbU109bmVbRV09bmVbVF09bmVbQ109bmVba109ITE7dmFyIGllPXt9O2llW2ZdPWllW21dPWllW0xdPWllW1BdPWllW2ddPWllW19dPWllW05dPWllW0ldPWllW1JdPWllW09dPWllW3pdPWllW3hdPWllW3ddPWllW1NdPWllW0VdPWllW1RdPWllW0NdPWllW0FdPWllW0RdPWllW0JdPWllW0hdPWllW0ZdPSEwLGllW3ldPWllW3ZdPWllW2tdPSExO3ZhciByZT17IlxcIjoiXFwiLCInIjoiJyIsIlxuIjoibiIsIlxyIjoiciIsIlx1MjAyOCI6InUyMDI4IiwiXHUyMDI5IjoidTIwMjkifSxvZT1wYXJzZUZsb2F0LGFlPXBhcnNlSW50LHNlPSJvYmplY3QiPT10eXBlb2YgU2UmJlNlJiZTZS5PYmplY3Q9PT1PYmplY3QmJlNlLGxlPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGYsY2U9c2V8fGxlfHxGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpLHVlPVRlJiYhVGUubm9kZVR5cGUmJlRlLGhlPXVlJiZFZSYmIUVlLm5vZGVUeXBlJiZFZSxkZT1oZSYmaGUuZXhwb3J0cz09PXVlLHBlPWRlJiZzZS5wcm9jZXNzLGZlPShmdW5jdGlvbigpe3RyeXt2YXIgdD1oZSYmaGUucmVxdWlyZSYmaGUucmVxdWlyZSgidXRpbCIpLnR5cGVzO3JldHVybiB0fHxwZSYmcGUuYmluZGluZyYmcGUuYmluZGluZygidXRpbCIpfWNhdGNoKHQpe319KSgpLG1lPWZlJiZmZS5pc0FycmF5QnVmZmVyLGdlPWZlJiZmZS5pc0RhdGUsX2U9ZmUmJmZlLmlzTWFwLHllPWZlJiZmZS5pc1JlZ0V4cCx2ZT1mZSYmZmUuaXNTZXQsYmU9ZmUmJmZlLmlzVHlwZWRBcnJheTtmdW5jdGlvbiB4ZSh0LGUsbil7c3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHQuY2FsbChlKTtjYXNlIDE6cmV0dXJuIHQuY2FsbChlLG5bMF0pO2Nhc2UgMjpyZXR1cm4gdC5jYWxsKGUsblswXSxuWzFdKTtjYXNlIDM6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSxuWzJdKX1yZXR1cm4gdC5hcHBseShlLG4pfWZ1bmN0aW9uIHdlKHQsZSxuLGkpe2Zvcih2YXIgcj0tMSxvPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK3I8bzspe3ZhciBhPXRbcl07ZShpLGEsbihhKSx0KX1yZXR1cm4gaX1mdW5jdGlvbiBNZSh0LGUpe2Zvcih2YXIgbj0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK248aSYmITEhPT1lKHRbbl0sbix0KTspO3JldHVybiB0fWZ1bmN0aW9uIENlKHQsZSl7Zm9yKHZhciBuPW51bGw9PXQ/MDp0Lmxlbmd0aDtuLS0mJiExIT09ZSh0W25dLG4sdCk7KTtyZXR1cm4gdH1mdW5jdGlvbiBBZSh0LGUpe2Zvcih2YXIgbj0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK248aTspaWYoIWUodFtuXSxuLHQpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGtlKHQsZSl7Zm9yKHZhciBuPS0xLGk9bnVsbD09dD8wOnQubGVuZ3RoLHI9MCxvPVtdOysrbjxpOyl7dmFyIGE9dFtuXTtlKGEsbix0KSYmKG9bcisrXT1hKX1yZXR1cm4gb31mdW5jdGlvbiBMZSh0LGUpe3JldHVybiEobnVsbD09dHx8IXQubGVuZ3RoKSYmRmUodCxlLDApPi0xfWZ1bmN0aW9uIFBlKHQsZSxuKXtmb3IodmFyIGk9LTEscj1udWxsPT10PzA6dC5sZW5ndGg7KytpPHI7KWlmKG4oZSx0W2ldKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBOZSh0LGUpe2Zvcih2YXIgbj0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aCxyPUFycmF5KGkpOysrbjxpOylyW25dPWUodFtuXSxuLHQpO3JldHVybiByfWZ1bmN0aW9uIEllKHQsZSl7Zm9yKHZhciBuPS0xLGk9ZS5sZW5ndGgscj10Lmxlbmd0aDsrK248aTspdFtyK25dPWVbbl07cmV0dXJuIHR9ZnVuY3Rpb24gUmUodCxlLG4saSl7dmFyIHI9LTEsbz1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKGkmJm8mJihuPXRbKytyXSk7KytyPG87KW49ZShuLHRbcl0scix0KTtyZXR1cm4gbn1mdW5jdGlvbiBPZSh0LGUsbixpKXt2YXIgcj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKGkmJnImJihuPXRbLS1yXSk7ci0tOyluPWUobix0W3JdLHIsdCk7cmV0dXJuIG59ZnVuY3Rpb24gemUodCxlKXtmb3IodmFyIG49LTEsaT1udWxsPT10PzA6dC5sZW5ndGg7KytuPGk7KWlmKGUodFtuXSxuLHQpKXJldHVybiEwO3JldHVybiExfXZhciBEZT1HZSgibGVuZ3RoIik7ZnVuY3Rpb24gQmUodCxlLG4pe3ZhciBpO3JldHVybiBuKHQsKGZ1bmN0aW9uKHQsbixyKXtpZihlKHQsbixyKSlyZXR1cm4gaT1uLCExfSkpLGl9ZnVuY3Rpb24gSGUodCxlLG4saSl7Zm9yKHZhciByPXQubGVuZ3RoLG89bisoaT8xOi0xKTtpP28tLTorK288cjspaWYoZSh0W29dLG8sdCkpcmV0dXJuIG87cmV0dXJuLTF9ZnVuY3Rpb24gRmUodCxlLG4pe3JldHVybiBlPT1lPyhmdW5jdGlvbiBpKHQsZSxuKXtmb3IodmFyIGk9bi0xLHI9dC5sZW5ndGg7KytpPHI7KWlmKHRbaV09PT1lKXJldHVybiBpO3JldHVybi0xfSkodCxlLG4pOkhlKHQsVWUsbil9ZnVuY3Rpb24gVmUodCxlLG4saSl7Zm9yKHZhciByPW4tMSxvPXQubGVuZ3RoOysrcjxvOylpZihpKHRbcl0sZSkpcmV0dXJuIHI7cmV0dXJuLTF9ZnVuY3Rpb24gVWUodCl7cmV0dXJuIHQhPXR9ZnVuY3Rpb24gamUodCxlKXt2YXIgbj1udWxsPT10PzA6dC5sZW5ndGg7cmV0dXJuIG4/WWUodCxlKS9uOmh9ZnVuY3Rpb24gR2UoZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBudWxsPT1uP3Q6bltlXX19ZnVuY3Rpb24gV2UoZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBudWxsPT1lP3Q6ZVtuXX19ZnVuY3Rpb24gcWUodCxlLG4saSxyKXtyZXR1cm4gcih0LChmdW5jdGlvbih0LHIsbyl7bj1pPyhpPSExLHQpOmUobix0LHIsbyl9KSksbn1mdW5jdGlvbiBZZShlLG4pe2Zvcih2YXIgaSxyPS0xLG89ZS5sZW5ndGg7KytyPG87KXt2YXIgYT1uKGVbcl0pO2EhPT10JiYoaT1pPT09dD9hOmkrYSl9cmV0dXJuIGl9ZnVuY3Rpb24gWGUodCxlKXtmb3IodmFyIG49LTEsaT1BcnJheSh0KTsrK248dDspaVtuXT1lKG4pO3JldHVybiBpfWZ1bmN0aW9uICRlKHQpe3JldHVybiB0P3Quc2xpY2UoMCxmbih0KSsxKS5yZXBsYWNlKG50LCIiKTp0fWZ1bmN0aW9uIEtlKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdChlKX19ZnVuY3Rpb24gWmUodCxlKXtyZXR1cm4gTmUoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSl9ZnVuY3Rpb24gSmUodCxlKXtyZXR1cm4gdC5oYXMoZSl9ZnVuY3Rpb24gUWUodCxlKXtmb3IodmFyIG49LTEsaT10Lmxlbmd0aDsrK248aSYmRmUoZSx0W25dLDApPi0xOyk7cmV0dXJuIG59ZnVuY3Rpb24gdG4odCxlKXtmb3IodmFyIG49dC5sZW5ndGg7bi0tJiZGZShlLHRbbl0sMCk+LTE7KTtyZXR1cm4gbn1mdW5jdGlvbiBlbih0LGUpe2Zvcih2YXIgbj10Lmxlbmd0aCxpPTA7bi0tOyl0W25dPT09ZSYmKytpO3JldHVybiBpfXZhciBubj1XZSh7IsOAIjoiQSIsIsOBIjoiQSIsIsOCIjoiQSIsIsODIjoiQSIsIsOEIjoiQSIsIsOFIjoiQSIsIsOgIjoiYSIsIsOhIjoiYSIsIsOiIjoiYSIsIsOjIjoiYSIsIsOkIjoiYSIsIsOlIjoiYSIsIsOHIjoiQyIsIsOnIjoiYyIsIsOQIjoiRCIsIsOwIjoiZCIsIsOIIjoiRSIsIsOJIjoiRSIsIsOKIjoiRSIsIsOLIjoiRSIsIsOoIjoiZSIsIsOpIjoiZSIsIsOqIjoiZSIsIsOrIjoiZSIsIsOMIjoiSSIsIsONIjoiSSIsIsOOIjoiSSIsIsOPIjoiSSIsIsOsIjoiaSIsIsOtIjoiaSIsIsOuIjoiaSIsIsOvIjoiaSIsIsORIjoiTiIsIsOxIjoibiIsIsOSIjoiTyIsIsOTIjoiTyIsIsOUIjoiTyIsIsOVIjoiTyIsIsOWIjoiTyIsIsOYIjoiTyIsIsOyIjoibyIsIsOzIjoibyIsIsO0IjoibyIsIsO1IjoibyIsIsO2IjoibyIsIsO4IjoibyIsIsOZIjoiVSIsIsOaIjoiVSIsIsObIjoiVSIsIsOcIjoiVSIsIsO5IjoidSIsIsO6IjoidSIsIsO7IjoidSIsIsO8IjoidSIsIsOdIjoiWSIsIsO9IjoieSIsIsO/IjoieSIsIsOGIjoiQWUiLCLDpiI6ImFlIiwiw54iOiJUaCIsIsO+IjoidGgiLCLDnyI6InNzIiwixIAiOiJBIiwixIIiOiJBIiwixIQiOiJBIiwixIEiOiJhIiwixIMiOiJhIiwixIUiOiJhIiwixIYiOiJDIiwixIgiOiJDIiwixIoiOiJDIiwixIwiOiJDIiwixIciOiJjIiwixIkiOiJjIiwixIsiOiJjIiwixI0iOiJjIiwixI4iOiJEIiwixJAiOiJEIiwixI8iOiJkIiwixJEiOiJkIiwixJIiOiJFIiwixJQiOiJFIiwixJYiOiJFIiwixJgiOiJFIiwixJoiOiJFIiwixJMiOiJlIiwixJUiOiJlIiwixJciOiJlIiwixJkiOiJlIiwixJsiOiJlIiwixJwiOiJHIiwixJ4iOiJHIiwixKAiOiJHIiwixKIiOiJHIiwixJ0iOiJnIiwixJ8iOiJnIiwixKEiOiJnIiwixKMiOiJnIiwixKQiOiJIIiwixKYiOiJIIiwixKUiOiJoIiwixKciOiJoIiwixKgiOiJJIiwixKoiOiJJIiwixKwiOiJJIiwixK4iOiJJIiwixLAiOiJJIiwixKkiOiJpIiwixKsiOiJpIiwixK0iOiJpIiwixK8iOiJpIiwixLEiOiJpIiwixLQiOiJKIiwixLUiOiJqIiwixLYiOiJLIiwixLciOiJrIiwixLgiOiJrIiwixLkiOiJMIiwixLsiOiJMIiwixL0iOiJMIiwixL8iOiJMIiwixYEiOiJMIiwixLoiOiJsIiwixLwiOiJsIiwixL4iOiJsIiwixYAiOiJsIiwixYIiOiJsIiwixYMiOiJOIiwixYUiOiJOIiwixYciOiJOIiwixYoiOiJOIiwixYQiOiJuIiwixYYiOiJuIiwixYgiOiJuIiwixYsiOiJuIiwixYwiOiJPIiwixY4iOiJPIiwixZAiOiJPIiwixY0iOiJvIiwixY8iOiJvIiwixZEiOiJvIiwixZQiOiJSIiwixZYiOiJSIiwixZgiOiJSIiwixZUiOiJyIiwixZciOiJyIiwixZkiOiJyIiwixZoiOiJTIiwixZwiOiJTIiwixZ4iOiJTIiwixaAiOiJTIiwixZsiOiJzIiwixZ0iOiJzIiwixZ8iOiJzIiwixaEiOiJzIiwixaIiOiJUIiwixaQiOiJUIiwixaYiOiJUIiwixaMiOiJ0IiwixaUiOiJ0IiwixaciOiJ0IiwixagiOiJVIiwixaoiOiJVIiwixawiOiJVIiwixa4iOiJVIiwixbAiOiJVIiwixbIiOiJVIiwixakiOiJ1IiwixasiOiJ1Iiwixa0iOiJ1Iiwixa8iOiJ1IiwixbEiOiJ1IiwixbMiOiJ1IiwixbQiOiJXIiwixbUiOiJ3IiwixbYiOiJZIiwixbciOiJ5IiwixbgiOiJZIiwixbkiOiJaIiwixbsiOiJaIiwixb0iOiJaIiwixboiOiJ6IiwixbwiOiJ6Iiwixb4iOiJ6IiwixLIiOiJJSiIsIsSzIjoiaWoiLCLFkiI6Ik9lIiwixZMiOiJvZSIsIsWJIjoiJ24iLCLFvyI6InMifSkscm49V2UoeyImIjoiJmFtcDsiLCI8IjoiJmx0OyIsIj4iOiImZ3Q7IiwnIic6IiZxdW90OyIsIiciOiImIzM5OyJ9KTtmdW5jdGlvbiBvbih0KXtyZXR1cm4iXFwiK3JlW3RdfWZ1bmN0aW9uIGFuKHQpe3JldHVybiBKdC50ZXN0KHQpfWZ1bmN0aW9uIHNuKHQpe3ZhciBlPS0xLG49QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0LGkpe25bKytlXT1baSx0XX0pKSxufWZ1bmN0aW9uIGxuKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0KGUobikpfX1mdW5jdGlvbiBjbih0LGUpe2Zvcih2YXIgbj0tMSxyPXQubGVuZ3RoLG89MCxhPVtdOysrbjxyOyl7dmFyIHM9dFtuXTtzIT09ZSYmcyE9PWl8fCh0W25dPWksYVtvKytdPW4pfXJldHVybiBhfWZ1bmN0aW9uIHVuKHQpe3ZhciBlPS0xLG49QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtuWysrZV09dH0pKSxufWZ1bmN0aW9uIGhuKHQpe3ZhciBlPS0xLG49QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtuWysrZV09W3QsdF19KSksbn1mdW5jdGlvbiBkbih0KXtyZXR1cm4gYW4odCk/KGZ1bmN0aW9uIGUodCl7Zm9yKHZhciBlPUt0Lmxhc3RJbmRleD0wO0t0LnRlc3QodCk7KSsrZTtyZXR1cm4gZX0pKHQpOkRlKHQpfWZ1bmN0aW9uIHBuKHQpe3JldHVybiBhbih0KT8oZnVuY3Rpb24gZSh0KXtyZXR1cm4gdC5tYXRjaChLdCl8fFtdfSkodCk6KGZ1bmN0aW9uIG4odCl7cmV0dXJuIHQuc3BsaXQoIiIpfSkodCl9ZnVuY3Rpb24gZm4odCl7Zm9yKHZhciBlPXQubGVuZ3RoO2UtLSYmaXQudGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX12YXIgbW49V2UoeyImYW1wOyI6IiYiLCImbHQ7IjoiPCIsIiZndDsiOiI+IiwiJnF1b3Q7IjonIicsIiYjMzk7IjoiJyJ9KSxnbj0oZnVuY3Rpb24gaXQoYnQpe3ZhciB4dCx3dD0oYnQ9bnVsbD09YnQ/Y2U6Z24uZGVmYXVsdHMoY2UuT2JqZWN0KCksYnQsZ24ucGljayhjZSx0ZSkpKS5BcnJheSxTdD1idC5EYXRlLE10PWJ0LkVycm9yLEV0PWJ0LkZ1bmN0aW9uLFR0PWJ0Lk1hdGgsQ3Q9YnQuT2JqZWN0LEF0PWJ0LlJlZ0V4cCxrdD1idC5TdHJpbmcsTHQ9YnQuVHlwZUVycm9yLFB0PXd0LnByb3RvdHlwZSxOdD1DdC5wcm90b3R5cGUsSXQ9YnRbIl9fY29yZS1qc19zaGFyZWRfXyJdLFJ0PUV0LnByb3RvdHlwZS50b1N0cmluZyxPdD1OdC5oYXNPd25Qcm9wZXJ0eSx6dD0wLER0PSh4dD0vW14uXSskLy5leGVjKEl0JiZJdC5rZXlzJiZJdC5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIreHQ6IiIsQnQ9TnQudG9TdHJpbmcsSHQ9UnQuY2FsbChDdCksRnQ9Y2UuXyxWdD1BdCgiXiIrUnQuY2FsbChPdCkucmVwbGFjZSh0dCwiXFwkJiIpLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFwoKXwgZm9yIC4rPyg/PVxcXF0pL2csIiQxLio/IikrIiQiKSxVdD1kZT9idC5CdWZmZXI6dCxqdD1idC5TeW1ib2wsR3Q9YnQuVWludDhBcnJheSxXdD1VdD9VdC5hbGxvY1Vuc2FmZTp0LHF0PWxuKEN0LmdldFByb3RvdHlwZU9mLEN0KSxZdD1DdC5jcmVhdGUsS3Q9TnQucHJvcGVydHlJc0VudW1lcmFibGUsSnQ9UHQuc3BsaWNlLHJlPWp0P2p0LmlzQ29uY2F0U3ByZWFkYWJsZTp0LHNlPWp0P2p0Lml0ZXJhdG9yOnQsbGU9anQ/anQudG9TdHJpbmdUYWc6dCx1ZT0oZnVuY3Rpb24oKXt0cnl7dmFyIHQ9T28oQ3QsImRlZmluZVByb3BlcnR5Iik7cmV0dXJuIHQoe30sIiIse30pLHR9Y2F0Y2godCl7fX0pKCksaGU9YnQuY2xlYXJUaW1lb3V0IT09Y2UuY2xlYXJUaW1lb3V0JiZidC5jbGVhclRpbWVvdXQscGU9U3QmJlN0Lm5vdyE9PWNlLkRhdGUubm93JiZTdC5ub3csZmU9YnQuc2V0VGltZW91dCE9PWNlLnNldFRpbWVvdXQmJmJ0LnNldFRpbWVvdXQsU2U9VHQuY2VpbCxFZT1UdC5mbG9vcixUZT1DdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsRGU9VXQ/VXQuaXNCdWZmZXI6dCxXZT1idC5pc0Zpbml0ZSxfbj1QdC5qb2luLHluPWxuKEN0LmtleXMsQ3QpLHZuPVR0Lm1heCxibj1UdC5taW4seG49U3Qubm93LHduPWJ0LnBhcnNlSW50LFNuPVR0LnJhbmRvbSxNbj1QdC5yZXZlcnNlLEVuPU9vKGJ0LCJEYXRhVmlldyIpLFRuPU9vKGJ0LCJNYXAiKSxDbj1PbyhidCwiUHJvbWlzZSIpLEFuPU9vKGJ0LCJTZXQiKSxrbj1PbyhidCwiV2Vha01hcCIpLExuPU9vKEN0LCJjcmVhdGUiKSxQbj1rbiYmbmV3IGtuLE5uPXt9LEluPWNhKEVuKSxSbj1jYShUbiksT249Y2EoQ24pLHpuPWNhKEFuKSxEbj1jYShrbiksQm49anQ/anQucHJvdG90eXBlOnQsSG49Qm4/Qm4udmFsdWVPZjp0LEZuPUJuP0JuLnRvU3RyaW5nOnQ7ZnVuY3Rpb24gVm4odCl7aWYoQXModCkmJiFtcyh0KSYmISh0IGluc3RhbmNlb2YgV24pKXtpZih0IGluc3RhbmNlb2YgR24pcmV0dXJuIHQ7aWYoT3QuY2FsbCh0LCJfX3dyYXBwZWRfXyIpKXJldHVybiB1YSh0KX1yZXR1cm4gbmV3IEduKHQpfXZhciBVbj0oZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7fXJldHVybiBmdW5jdGlvbihuKXtpZighQ3MobikpcmV0dXJue307aWYoWXQpcmV0dXJuIFl0KG4pO2UucHJvdG90eXBlPW47dmFyIGk9bmV3IGU7cmV0dXJuIGUucHJvdG90eXBlPXQsaX19KSgpO2Z1bmN0aW9uIGpuKCl7fWZ1bmN0aW9uIEduKGUsbil7dGhpcy5fX3dyYXBwZWRfXz1lLHRoaXMuX19hY3Rpb25zX189W10sdGhpcy5fX2NoYWluX189ISFuLHRoaXMuX19pbmRleF9fPTAsdGhpcy5fX3ZhbHVlc19fPXR9ZnVuY3Rpb24gV24odCl7dGhpcy5fX3dyYXBwZWRfXz10LHRoaXMuX19hY3Rpb25zX189W10sdGhpcy5fX2Rpcl9fPTEsdGhpcy5fX2ZpbHRlcmVkX189ITEsdGhpcy5fX2l0ZXJhdGVlc19fPVtdLHRoaXMuX190YWtlQ291bnRfXz1kLHRoaXMuX192aWV3c19fPVtdfWZ1bmN0aW9uIHFuKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgaT10W2VdO3RoaXMuc2V0KGlbMF0saVsxXSl9fWZ1bmN0aW9uIFluKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgaT10W2VdO3RoaXMuc2V0KGlbMF0saVsxXSl9fWZ1bmN0aW9uIFhuKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgaT10W2VdO3RoaXMuc2V0KGlbMF0saVsxXSl9fWZ1bmN0aW9uICRuKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLl9fZGF0YV9fPW5ldyBYbjsrK2U8bjspdGhpcy5hZGQodFtlXSl9ZnVuY3Rpb24gS24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXz1uZXcgWW4odCk7dGhpcy5zaXplPWUuc2l6ZX1mdW5jdGlvbiBabih0LGUpe3ZhciBuPW1zKHQpLGk9IW4mJmZzKHQpLHI9IW4mJiFpJiZicyh0KSxvPSFuJiYhaSYmIXImJkhzKHQpLGE9bnx8aXx8cnx8byxzPWE/WGUodC5sZW5ndGgsa3QpOltdLGw9cy5sZW5ndGg7Zm9yKHZhciBjIGluIHQpIWUmJiFPdC5jYWxsKHQsYyl8fGEmJigibGVuZ3RoIj09Y3x8ciYmKCJvZmZzZXQiPT1jfHwicGFyZW50Ij09Yyl8fG8mJigiYnVmZmVyIj09Y3x8ImJ5dGVMZW5ndGgiPT1jfHwiYnl0ZU9mZnNldCI9PWMpfHxVbyhjLGwpKXx8cy5wdXNoKGMpO3JldHVybiBzfWZ1bmN0aW9uIEpuKGUpe3ZhciBuPWUubGVuZ3RoO3JldHVybiBuP2VbX3IoMCxuLTEpXTp0fWZ1bmN0aW9uIFFuKHQsZSl7cmV0dXJuIG9hKEpyKHQpLGxpKGUsMCx0Lmxlbmd0aCkpfWZ1bmN0aW9uIHRpKHQpe3JldHVybiBvYShKcih0KSl9ZnVuY3Rpb24gZWkoZSxuLGkpeyhpIT09dCYmIWhzKGVbbl0saSl8fGk9PT10JiYhKG4gaW4gZSkpJiZhaShlLG4saSl9ZnVuY3Rpb24gbmkoZSxuLGkpe3ZhciByPWVbbl07T3QuY2FsbChlLG4pJiZocyhyLGkpJiYoaSE9PXR8fG4gaW4gZSl8fGFpKGUsbixpKX1mdW5jdGlvbiBpaSh0LGUpe2Zvcih2YXIgbj10Lmxlbmd0aDtuLS07KWlmKGhzKHRbbl1bMF0sZSkpcmV0dXJuIG47cmV0dXJuLTF9ZnVuY3Rpb24gcmkodCxlLG4saSl7cmV0dXJuIE9pKHQsKGZ1bmN0aW9uKHQscixvKXtlKGksdCxuKHQpLG8pfSkpLGl9ZnVuY3Rpb24gb2kodCxlKXtyZXR1cm4gdCYmUXIoZSxsbChlKSx0KX1mdW5jdGlvbiBhaSh0LGUsbil7Il9fcHJvdG9fXyI9PWUmJnVlP3VlKHQsZSx7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6bix3cml0YWJsZTohMH0pOnRbZV09bn1mdW5jdGlvbiBzaShlLG4pe2Zvcih2YXIgaT0tMSxyPW4ubGVuZ3RoLG89d3QociksYT1udWxsPT1lOysraTxyOylvW2ldPWE/dDppbChlLG5baV0pO3JldHVybiBvfWZ1bmN0aW9uIGxpKGUsbixpKXtyZXR1cm4gZT09ZSYmKGkhPT10JiYoZT1lPD1pP2U6aSksbiE9PXQmJihlPWU+PW4/ZTpuKSksZX1mdW5jdGlvbiBjaShlLG4saSxyLG8sYSl7dmFyIHMsbD0xJm4sYz0yJm4sdT00Jm47aWYoaSYmKHM9bz9pKGUscixvLGEpOmkoZSkpLHMhPT10KXJldHVybiBzO2lmKCFDcyhlKSlyZXR1cm4gZTt2YXIgaD1tcyhlKTtpZihoKXtpZihzPShmdW5jdGlvbiBkKHQpe3ZhciBlPXQubGVuZ3RoLG49bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIGUmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmT3QuY2FsbCh0LCJpbmRleCIpJiYobi5pbmRleD10LmluZGV4LG4uaW5wdXQ9dC5pbnB1dCksbn0pKGUpLCFsKXJldHVybiBKcihlLHMpfWVsc2V7dmFyIHA9Qm8oZSksbT1wPT12fHxwPT1iO2lmKGJzKGUpKXJldHVybiBxcihlLGwpO2lmKHA9PVN8fHA9PWZ8fG0mJiFvKXtpZihzPWN8fG0/e306Rm8oZSksIWwpcmV0dXJuIGM/KGZ1bmN0aW9uIE0odCxlKXtyZXR1cm4gUXIodCxEbyh0KSxlKX0pKGUsKGZ1bmN0aW9uIHkodCxlKXtyZXR1cm4gdCYmUXIoZSxjbChlKSx0KX0pKHMsZSkpOihmdW5jdGlvbiBrKHQsZSl7cmV0dXJuIFFyKHQsem8odCksZSl9KShlLG9pKHMsZSkpfWVsc2V7aWYoIWllW3BdKXJldHVybiBvP2U6e307cz0oZnVuY3Rpb24gVih0LGUsbil7dmFyIGk9dC5jb25zdHJ1Y3Rvcjtzd2l0Y2goZSl7Y2FzZSBMOnJldHVybiBZcih0KTtjYXNlIGc6Y2FzZSBfOnJldHVybiBuZXcgaSgrdCk7Y2FzZSBQOnJldHVybihmdW5jdGlvbiByKHQsZSl7dmFyIG49ZT9Zcih0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKG4sdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9KSh0LG4pO2Nhc2UgTjpjYXNlIEk6Y2FzZSBSOmNhc2UgTzpjYXNlIHo6Y2FzZSBEOmNhc2UgQjpjYXNlIEg6Y2FzZSBGOnJldHVybiBYcih0LG4pO2Nhc2UgeDpyZXR1cm4gbmV3IGk7Y2FzZSB3OmNhc2UgQzpyZXR1cm4gbmV3IGkodCk7Y2FzZSBFOnJldHVybihmdW5jdGlvbiBvKHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLGh0LmV4ZWModCkpO3JldHVybiBlLmxhc3RJbmRleD10Lmxhc3RJbmRleCxlfSkodCk7Y2FzZSBUOnJldHVybiBuZXcgaTtjYXNlIEE6cmV0dXJuKGZ1bmN0aW9uIGEodCl7cmV0dXJuIEhuP0N0KEhuLmNhbGwodCkpOnt9fSkodCl9fSkoZSxwLGwpfX1hfHwoYT1uZXcgS24pO3ZhciBVPWEuZ2V0KGUpO2lmKFUpcmV0dXJuIFU7YS5zZXQoZSxzKSxPcyhlKT9lLmZvckVhY2goKGZ1bmN0aW9uKHQpe3MuYWRkKGNpKHQsbixpLHQsZSxhKSl9KSk6a3MoZSkmJmUuZm9yRWFjaCgoZnVuY3Rpb24odCxyKXtzLnNldChyLGNpKHQsbixpLHIsZSxhKSl9KSk7dmFyIGo9aD90Oih1P2M/QW86Q286Yz9jbDpsbCkoZSk7cmV0dXJuIE1lKGp8fGUsKGZ1bmN0aW9uKHQscil7aiYmKHQ9ZVtyPXRdKSxuaShzLHIsY2kodCxuLGkscixlLGEpKX0pKSxzfWZ1bmN0aW9uIHVpKGUsbixpKXt2YXIgcj1pLmxlbmd0aDtpZihudWxsPT1lKXJldHVybiFyO2ZvcihlPUN0KGUpO3ItLTspe3ZhciBvPWlbcl0sYT1lW29dO2lmKGE9PT10JiYhKG8gaW4gZSl8fCEoMCxuW29dKShhKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBoaShuLGkscil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEx0KGUpO3JldHVybiBlYSgoZnVuY3Rpb24oKXtuLmFwcGx5KHQscil9KSxpKX1mdW5jdGlvbiBkaSh0LGUsbixpKXt2YXIgcj0tMSxvPUxlLGE9ITAscz10Lmxlbmd0aCxsPVtdLGM9ZS5sZW5ndGg7aWYoIXMpcmV0dXJuIGw7biYmKGU9TmUoZSxLZShuKSkpLGk/KG89UGUsYT0hMSk6ZS5sZW5ndGg+PTIwMCYmKG89SmUsYT0hMSxlPW5ldyAkbihlKSk7dDpmb3IoOysrcjxzOyl7dmFyIHU9dFtyXSxoPW51bGw9PW4/dTpuKHUpO2lmKHU9aXx8MCE9PXU/dTowLGEmJmg9PWgpe2Zvcih2YXIgZD1jO2QtLTspaWYoZVtkXT09PWgpY29udGludWUgdDtsLnB1c2godSl9ZWxzZSBvKGUsaCxpKXx8bC5wdXNoKHUpfXJldHVybiBsfVZuLnRlbXBsYXRlU2V0dGluZ3M9e2VzY2FwZTpYLGV2YWx1YXRlOiQsaW50ZXJwb2xhdGU6Syx2YXJpYWJsZToiIixpbXBvcnRzOntfOlZufX0sKFZuLnByb3RvdHlwZT1qbi5wcm90b3R5cGUpLmNvbnN0cnVjdG9yPVZuLChHbi5wcm90b3R5cGU9VW4oam4ucHJvdG90eXBlKSkuY29uc3RydWN0b3I9R24sKFduLnByb3RvdHlwZT1Vbihqbi5wcm90b3R5cGUpKS5jb25zdHJ1Y3Rvcj1Xbixxbi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24gcGkoKXt0aGlzLl9fZGF0YV9fPUxuP0xuKG51bGwpOnt9LHRoaXMuc2l6ZT0wfSxxbi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uIGZpKHQpe3ZhciBlPXRoaXMuaGFzKHQpJiZkZWxldGUgdGhpcy5fX2RhdGFfX1t0XTtyZXR1cm4gdGhpcy5zaXplLT1lPzE6MCxlfSxxbi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uIG1pKGUpe3ZhciBpPXRoaXMuX19kYXRhX187aWYoTG4pe3ZhciByPWlbZV07cmV0dXJuIHI9PT1uP3Q6cn1yZXR1cm4gT3QuY2FsbChpLGUpP2lbZV06dH0scW4ucHJvdG90eXBlLmhhcz1mdW5jdGlvbiBnaShlKXt2YXIgbj10aGlzLl9fZGF0YV9fO3JldHVybiBMbj9uW2VdIT09dDpPdC5jYWxsKG4sZSl9LHFuLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24gX2koZSxpKXt2YXIgcj10aGlzLl9fZGF0YV9fO3JldHVybiB0aGlzLnNpemUrPXRoaXMuaGFzKGUpPzA6MSxyW2VdPUxuJiZpPT09dD9uOmksdGhpc30sWW4ucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uIHlpKCl7dGhpcy5fX2RhdGFfXz1bXSx0aGlzLnNpemU9MH0sWW4ucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbiB2aSh0KXt2YXIgZT10aGlzLl9fZGF0YV9fLG49aWkoZSx0KTtyZXR1cm4hKG48MHx8KG49PWUubGVuZ3RoLTE/ZS5wb3AoKTpKdC5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwwKSl9LFluLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24gYmkoZSl7dmFyIG49dGhpcy5fX2RhdGFfXyxpPWlpKG4sZSk7cmV0dXJuIGk8MD90Om5baV1bMV19LFluLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24geGkodCl7cmV0dXJuIGlpKHRoaXMuX19kYXRhX18sdCk+LTF9LFluLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24gd2kodCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLGk9aWkobix0KTtyZXR1cm4gaTwwPygrK3RoaXMuc2l6ZSxuLnB1c2goW3QsZV0pKTpuW2ldWzFdPWUsdGhpc30sWG4ucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uIFNpKCl7dGhpcy5zaXplPTAsdGhpcy5fX2RhdGFfXz17aGFzaDpuZXcgcW4sbWFwOm5ldyhUbnx8WW4pLHN0cmluZzpuZXcgcW59fSxYbi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uIE1pKHQpe3ZhciBlPUlvKHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9LFhuLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24gRWkodCl7cmV0dXJuIElvKHRoaXMsdCkuZ2V0KHQpfSxYbi5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uIFRpKHQpe3JldHVybiBJbyh0aGlzLHQpLmhhcyh0KX0sWG4ucHJvdG90eXBlLnNldD1mdW5jdGlvbiBDaSh0LGUpe3ZhciBuPUlvKHRoaXMsdCksaT1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PWk/MDoxLHRoaXN9LCRuLnByb3RvdHlwZS5hZGQ9JG4ucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24gQWkodCl7cmV0dXJuIHRoaXMuX19kYXRhX18uc2V0KHQsbiksdGhpc30sJG4ucHJvdG90eXBlLmhhcz1mdW5jdGlvbiBraSh0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9LEtuLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbiBMaSgpe3RoaXMuX19kYXRhX189bmV3IFluLHRoaXMuc2l6ZT0wfSxLbi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uIFBpKHQpe3ZhciBlPXRoaXMuX19kYXRhX18sbj1lLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPWUuc2l6ZSxufSxLbi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uIE5pKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX0sS24ucHJvdG90eXBlLmhhcz1mdW5jdGlvbiBJaSh0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9LEtuLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24gUmkodCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fO2lmKG4gaW5zdGFuY2VvZiBZbil7dmFyIGk9bi5fX2RhdGFfXztpZighVG58fGkubGVuZ3RoPDE5OSlyZXR1cm4gaS5wdXNoKFt0LGVdKSx0aGlzLnNpemU9KytuLnNpemUsdGhpcztuPXRoaXMuX19kYXRhX189bmV3IFhuKGkpfXJldHVybiBuLnNldCh0LGUpLHRoaXMuc2l6ZT1uLnNpemUsdGhpc307dmFyIE9pPW5vKGppKSx6aT1ubyhHaSwhMCk7ZnVuY3Rpb24gRGkodCxlKXt2YXIgbj0hMDtyZXR1cm4gT2kodCwoZnVuY3Rpb24odCxpLHIpe3JldHVybiBuPSEhZSh0LGkscil9KSksbn1mdW5jdGlvbiBCaShlLG4saSl7Zm9yKHZhciByPS0xLG89ZS5sZW5ndGg7KytyPG87KXt2YXIgYT1lW3JdLHM9bihhKTtpZihudWxsIT1zJiYobD09PXQ/cz09cyYmIUJzKHMpOmkocyxsKSkpdmFyIGw9cyxjPWF9cmV0dXJuIGN9ZnVuY3Rpb24gSGkodCxlKXt2YXIgbj1bXTtyZXR1cm4gT2kodCwoZnVuY3Rpb24odCxpLHIpe2UodCxpLHIpJiZuLnB1c2godCl9KSksbn1mdW5jdGlvbiBGaSh0LGUsbixpLHIpe3ZhciBvPS0xLGE9dC5sZW5ndGg7Zm9yKG58fChuPVZvKSxyfHwocj1bXSk7KytvPGE7KXt2YXIgcz10W29dO2U+MCYmbihzKT9lPjE/RmkocyxlLTEsbixpLHIpOkllKHIscyk6aXx8KHJbci5sZW5ndGhdPXMpfXJldHVybiByfXZhciBWaT1pbygpLFVpPWlvKCEwKTtmdW5jdGlvbiBqaSh0LGUpe3JldHVybiB0JiZWaSh0LGUsbGwpfWZ1bmN0aW9uIEdpKHQsZSl7cmV0dXJuIHQmJlVpKHQsZSxsbCl9ZnVuY3Rpb24gV2kodCxlKXtyZXR1cm4ga2UoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIE1zKHRbZV0pfSkpfWZ1bmN0aW9uIHFpKGUsbil7Zm9yKHZhciBpPTAscj0obj1VcihuLGUpKS5sZW5ndGg7bnVsbCE9ZSYmaTxyOyllPWVbbGEobltpKytdKV07cmV0dXJuIGkmJmk9PXI/ZTp0fWZ1bmN0aW9uIFlpKHQsZSxuKXt2YXIgaT1lKHQpO3JldHVybiBtcyh0KT9pOkllKGksbih0KSl9ZnVuY3Rpb24gWGkoZSl7cmV0dXJuIG51bGw9PWU/ZT09PXQ/IltvYmplY3QgVW5kZWZpbmVkXSI6IltvYmplY3QgTnVsbF0iOmxlJiZsZSBpbiBDdChlKT8oZnVuY3Rpb24gbihlKXt2YXIgbj1PdC5jYWxsKGUsbGUpLGk9ZVtsZV07dHJ5e2VbbGVdPXQ7dmFyIHI9ITB9Y2F0Y2godCl7fXZhciBvPUJ0LmNhbGwoZSk7cmV0dXJuIHImJihuP2VbbGVdPWk6ZGVsZXRlIGVbbGVdKSxvfSkoZSk6KGZ1bmN0aW9uIGkodCl7cmV0dXJuIEJ0LmNhbGwodCl9KShlKX1mdW5jdGlvbiAkaSh0LGUpe3JldHVybiB0PmV9ZnVuY3Rpb24gS2kodCxlKXtyZXR1cm4gbnVsbCE9dCYmT3QuY2FsbCh0LGUpfWZ1bmN0aW9uIFppKHQsZSl7cmV0dXJuIG51bGwhPXQmJmUgaW4gQ3QodCl9ZnVuY3Rpb24gSmkoZSxuLGkpe2Zvcih2YXIgcj1pP1BlOkxlLG89ZVswXS5sZW5ndGgsYT1lLmxlbmd0aCxzPWEsbD13dChhKSxjPTEvMCx1PVtdO3MtLTspe3ZhciBoPWVbc107cyYmbiYmKGg9TmUoaCxLZShuKSkpLGM9Ym4oaC5sZW5ndGgsYyksbFtzXT0haSYmKG58fG8+PTEyMCYmaC5sZW5ndGg+PTEyMCk/bmV3ICRuKHMmJmgpOnR9aD1lWzBdO3ZhciBkPS0xLHA9bFswXTt0OmZvcig7KytkPG8mJnUubGVuZ3RoPGM7KXt2YXIgZj1oW2RdLG09bj9uKGYpOmY7aWYoZj1pfHwwIT09Zj9mOjAsIShwP0plKHAsbSk6cih1LG0saSkpKXtmb3Iocz1hOy0tczspe3ZhciBnPWxbc107aWYoIShnP0plKGcsbSk6cihlW3NdLG0saSkpKWNvbnRpbnVlIHR9cCYmcC5wdXNoKG0pLHUucHVzaChmKX19cmV0dXJuIHV9ZnVuY3Rpb24gUWkoZSxuLGkpe3ZhciByPW51bGw9PShlPVpvKGUsbj1VcihuLGUpKSk/ZTplW2xhKHhhKG4pKV07cmV0dXJuIG51bGw9PXI/dDp4ZShyLGUsaSl9ZnVuY3Rpb24gdHIodCl7cmV0dXJuIEFzKHQpJiZYaSh0KT09Zn1mdW5jdGlvbiBlcihlLG4saSxyLG8pe3JldHVybiBlPT09bnx8KG51bGw9PWV8fG51bGw9PW58fCFBcyhlKSYmIUFzKG4pP2UhPWUmJm4hPW46KGZ1bmN0aW9uIGEoZSxuLGkscixvLHMpe3ZhciBsPW1zKGUpLGM9bXMobiksdT1sP206Qm8oZSksaD1jP206Qm8obiksZD0odT11PT1mP1M6dSk9PVMscD0oaD1oPT1mP1M6aCk9PVMsdj11PT1oO2lmKHYmJmJzKGUpKXtpZighYnMobikpcmV0dXJuITE7bD0hMCxkPSExfWlmKHYmJiFkKXJldHVybiBzfHwocz1uZXcgS24pLGx8fEhzKGUpP0VvKGUsbixpLHIsbyxzKTooZnVuY3Rpb24gYih0LGUsbixpLHIsbyxhKXtzd2l0Y2gobil7Y2FzZSBQOmlmKHQuYnl0ZUxlbmd0aCE9ZS5ieXRlTGVuZ3RofHx0LmJ5dGVPZmZzZXQhPWUuYnl0ZU9mZnNldClyZXR1cm4hMTt0PXQuYnVmZmVyLGU9ZS5idWZmZXI7Y2FzZSBMOnJldHVybiEodC5ieXRlTGVuZ3RoIT1lLmJ5dGVMZW5ndGh8fCFvKG5ldyBHdCh0KSxuZXcgR3QoZSkpKTtjYXNlIGc6Y2FzZSBfOmNhc2UgdzpyZXR1cm4gaHMoK3QsK2UpO2Nhc2UgeTpyZXR1cm4gdC5uYW1lPT1lLm5hbWUmJnQubWVzc2FnZT09ZS5tZXNzYWdlO2Nhc2UgRTpjYXNlIEM6cmV0dXJuIHQ9PWUrIiI7Y2FzZSB4OnZhciBzPXNuO2Nhc2UgVDppZihzfHwocz11biksdC5zaXplIT1lLnNpemUmJiEoMSZpKSlyZXR1cm4hMTt2YXIgbD1hLmdldCh0KTtpZihsKXJldHVybiBsPT1lO2l8PTIsYS5zZXQodCxlKTt2YXIgYz1FbyhzKHQpLHMoZSksaSxyLG8sYSk7cmV0dXJuIGEuZGVsZXRlKHQpLGM7Y2FzZSBBOmlmKEhuKXJldHVybiBIbi5jYWxsKHQpPT1Ibi5jYWxsKGUpfXJldHVybiExfSkoZSxuLHUsaSxyLG8scyk7aWYoISgxJmkpKXt2YXIgTT1kJiZPdC5jYWxsKGUsIl9fd3JhcHBlZF9fIiksaz1wJiZPdC5jYWxsKG4sIl9fd3JhcHBlZF9fIik7aWYoTXx8ayl7dmFyIE49TT9lLnZhbHVlKCk6ZSxJPWs/bi52YWx1ZSgpOm47cmV0dXJuIHN8fChzPW5ldyBLbiksbyhOLEksaSxyLHMpfX1yZXR1cm4hIXYmJihzfHwocz1uZXcgS24pLChmdW5jdGlvbiBSKGUsbixpLHIsbyxhKXt2YXIgcz0xJmksbD1DbyhlKSxjPWwubGVuZ3RoLHU9Q28obik7aWYoYyE9dS5sZW5ndGgmJiFzKXJldHVybiExO2Zvcih2YXIgaD1jO2gtLTspe3ZhciBkPWxbaF07aWYoIShzP2QgaW4gbjpPdC5jYWxsKG4sZCkpKXJldHVybiExfXZhciBwPWEuZ2V0KGUpLGY9YS5nZXQobik7aWYocCYmZilyZXR1cm4gcD09biYmZj09ZTt2YXIgbT0hMDthLnNldChlLG4pLGEuc2V0KG4sZSk7Zm9yKHZhciBnPXM7KytoPGM7KXt2YXIgXz1lW2Q9bFtoXV0seT1uW2RdO2lmKHIpdmFyIHY9cz9yKHksXyxkLG4sZSxhKTpyKF8seSxkLGUsbixhKTtpZighKHY9PT10P189PT15fHxvKF8seSxpLHIsYSk6dikpe209ITE7YnJlYWt9Z3x8KGc9ImNvbnN0cnVjdG9yIj09ZCl9aWYobSYmIWcpe3ZhciBiPWUuY29uc3RydWN0b3IseD1uLmNvbnN0cnVjdG9yO2I9PXh8fCEoImNvbnN0cnVjdG9yImluIGUpfHwhKCJjb25zdHJ1Y3RvciJpbiBuKXx8ImZ1bmN0aW9uIj09dHlwZW9mIGImJmIgaW5zdGFuY2VvZiBiJiYiZnVuY3Rpb24iPT10eXBlb2YgeCYmeCBpbnN0YW5jZW9mIHh8fChtPSExKX1yZXR1cm4gYS5kZWxldGUoZSksYS5kZWxldGUobiksbX0pKGUsbixpLHIsbyxzKSl9KShlLG4saSxyLGVyLG8pKX1mdW5jdGlvbiBucihlLG4saSxyKXt2YXIgbz1pLmxlbmd0aCxhPW8scz0hcjtpZihudWxsPT1lKXJldHVybiFhO2ZvcihlPUN0KGUpO28tLTspe3ZhciBsPWlbb107aWYocyYmbFsyXT9sWzFdIT09ZVtsWzBdXTohKGxbMF1pbiBlKSlyZXR1cm4hMX1mb3IoOysrbzxhOyl7dmFyIGM9KGw9aVtvXSlbMF0sdT1lW2NdLGg9bFsxXTtpZihzJiZsWzJdKXtpZih1PT09dCYmIShjIGluIGUpKXJldHVybiExfWVsc2V7dmFyIGQ9bmV3IEtuO2lmKHIpdmFyIHA9cih1LGgsYyxlLG4sZCk7aWYoIShwPT09dD9lcihoLHUsMyxyLGQpOnApKXJldHVybiExfX1yZXR1cm4hMH1mdW5jdGlvbiBpcih0KXtyZXR1cm4hKCFDcyh0KXx8KGZ1bmN0aW9uIGUodCl7cmV0dXJuISFEdCYmRHQgaW4gdH0pKHQpKSYmKE1zKHQpP1Z0OmZ0KS50ZXN0KGNhKHQpKX1mdW5jdGlvbiBycih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90Om51bGw9PXQ/Umw6Im9iamVjdCI9PXR5cGVvZiB0P21zKHQpP3VyKHRbMF0sdFsxXSk6Y3IodCk6amwodCl9ZnVuY3Rpb24gb3IodCl7aWYoIVlvKHQpKXJldHVybiB5bih0KTt2YXIgZT1bXTtmb3IodmFyIG4gaW4gQ3QodCkpT3QuY2FsbCh0LG4pJiYiY29uc3RydWN0b3IiIT1uJiZlLnB1c2gobik7cmV0dXJuIGV9ZnVuY3Rpb24gYXIodCl7aWYoIUNzKHQpKXJldHVybihmdW5jdGlvbiBlKHQpe3ZhciBlPVtdO2lmKG51bGwhPXQpZm9yKHZhciBuIGluIEN0KHQpKWUucHVzaChuKTtyZXR1cm4gZX0pKHQpO3ZhciBuPVlvKHQpLGk9W107Zm9yKHZhciByIGluIHQpKCJjb25zdHJ1Y3RvciIhPXJ8fCFuJiZPdC5jYWxsKHQscikpJiZpLnB1c2gocik7cmV0dXJuIGl9ZnVuY3Rpb24gc3IodCxlKXtyZXR1cm4gdDxlfWZ1bmN0aW9uIGxyKHQsZSl7dmFyIG49LTEsaT15cyh0KT93dCh0Lmxlbmd0aCk6W107cmV0dXJuIE9pKHQsKGZ1bmN0aW9uKHQscixvKXtpWysrbl09ZSh0LHIsbyl9KSksaX1mdW5jdGlvbiBjcih0KXt2YXIgZT1Sbyh0KTtyZXR1cm4gMT09ZS5sZW5ndGgmJmVbMF1bMl0/JG8oZVswXVswXSxlWzBdWzFdKTpmdW5jdGlvbihuKXtyZXR1cm4gbj09PXR8fG5yKG4sdCxlKX19ZnVuY3Rpb24gdXIoZSxuKXtyZXR1cm4gR28oZSkmJlhvKG4pPyRvKGxhKGUpLG4pOmZ1bmN0aW9uKGkpe3ZhciByPWlsKGksZSk7cmV0dXJuIHI9PT10JiZyPT09bj9ybChpLGUpOmVyKG4sciwzKX19ZnVuY3Rpb24gaHIoZSxuLGkscixvKXtlIT09biYmVmkobiwoZnVuY3Rpb24oYSxzKXtpZihvfHwobz1uZXcgS24pLENzKGEpKSEoZnVuY3Rpb24gbChlLG4saSxyLG8sYSxzKXt2YXIgbD1RbyhlLGkpLGM9UW8obixpKSx1PXMuZ2V0KGMpO2lmKHUpZWkoZSxpLHUpO2Vsc2V7dmFyIGg9YT9hKGwsYyxpKyIiLGUsbixzKTp0LGQ9aD09PXQ7aWYoZCl7dmFyIHA9bXMoYyksZj0hcCYmYnMoYyksbT0hcCYmIWYmJkhzKGMpO2g9YyxwfHxmfHxtP21zKGwpP2g9bDp2cyhsKT9oPUpyKGwpOmY/KGQ9ITEsaD1xcihjLCEwKSk6bT8oZD0hMSxoPVhyKGMsITApKTpoPVtdOk5zKGMpfHxmcyhjKT8oaD1sLGZzKGwpP2g9WHMobCk6Q3MobCkmJiFNcyhsKXx8KGg9Rm8oYykpKTpkPSExfWQmJihzLnNldChjLGgpLG8oaCxjLHIsYSxzKSxzLmRlbGV0ZShjKSksZWkoZSxpLGgpfX0pKGUsbixzLGksaHIscixvKTtlbHNle3ZhciBjPXI/cihRbyhlLHMpLGEscysiIixlLG4sbyk6dDtjPT09dCYmKGM9YSksZWkoZSxzLGMpfX0pLGNsKX1mdW5jdGlvbiBkcihlLG4pe3ZhciBpPWUubGVuZ3RoO2lmKGkpcmV0dXJuIFVvKG4rPW48MD9pOjAsaSk/ZVtuXTp0fWZ1bmN0aW9uIHByKHQsZSxuKXtlPWUubGVuZ3RoP05lKGUsKGZ1bmN0aW9uKHQpe3JldHVybiBtcyh0KT9mdW5jdGlvbihlKXtyZXR1cm4gcWkoZSwxPT09dC5sZW5ndGg/dFswXTp0KX06dH0pKTpbUmxdO3ZhciBpPS0xO3JldHVybiBlPU5lKGUsS2UoTm8oKSkpLChmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5sZW5ndGg7Zm9yKHQuc29ydChlKTtuLS07KXRbbl09dFtuXS52YWx1ZTtyZXR1cm4gdH0pKGxyKHQsKGZ1bmN0aW9uKHQsbixyKXtyZXR1cm57Y3JpdGVyaWE6TmUoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUodCl9KSksaW5kZXg6KytpLHZhbHVlOnR9fSkpLChmdW5jdGlvbih0LGUpe3JldHVybihmdW5jdGlvbiBpKHQsZSxuKXtmb3IodmFyIGk9LTEscj10LmNyaXRlcmlhLG89ZS5jcml0ZXJpYSxhPXIubGVuZ3RoLHM9bi5sZW5ndGg7KytpPGE7KXt2YXIgbD0kcihyW2ldLG9baV0pO2lmKGwpcmV0dXJuIGk+PXM/bDpsKigiZGVzYyI9PW5baV0/LTE6MSl9cmV0dXJuIHQuaW5kZXgtZS5pbmRleH0pKHQsZSxuKX0pKX1mdW5jdGlvbiBmcih0LGUsbil7Zm9yKHZhciBpPS0xLHI9ZS5sZW5ndGgsbz17fTsrK2k8cjspe3ZhciBhPWVbaV0scz1xaSh0LGEpO24ocyxhKSYmd3IobyxVcihhLHQpLHMpfXJldHVybiBvfWZ1bmN0aW9uIG1yKHQsZSxuLGkpe3ZhciByPWk/VmU6RmUsbz0tMSxhPWUubGVuZ3RoLHM9dDtmb3IodD09PWUmJihlPUpyKGUpKSxuJiYocz1OZSh0LEtlKG4pKSk7KytvPGE7KWZvcih2YXIgbD0wLGM9ZVtvXSx1PW4/bihjKTpjOyhsPXIocyx1LGwsaSkpPi0xOylzIT09dCYmSnQuY2FsbChzLGwsMSksSnQuY2FsbCh0LGwsMSk7cmV0dXJuIHR9ZnVuY3Rpb24gZ3IodCxlKXtmb3IodmFyIG49dD9lLmxlbmd0aDowLGk9bi0xO24tLTspe3ZhciByPWVbbl07aWYobj09aXx8ciE9PW8pe3ZhciBvPXI7VW8ocik/SnQuY2FsbCh0LHIsMSk6UnIodCxyKX19cmV0dXJuIHR9ZnVuY3Rpb24gX3IodCxlKXtyZXR1cm4gdCtFZShTbigpKihlLXQrMSkpfWZ1bmN0aW9uIHlyKHQsZSl7dmFyIG49IiI7aWYoIXR8fGU8MXx8ZT51KXJldHVybiBuO2Rve2UlMiYmKG4rPXQpLChlPUVlKGUvMikpJiYodCs9dCl9d2hpbGUoZSk7cmV0dXJuIG59ZnVuY3Rpb24gdnIodCxlKXtyZXR1cm4gbmEoS28odCxlLFJsKSx0KyIiKX1mdW5jdGlvbiBicih0KXtyZXR1cm4gSm4oX2wodCkpfWZ1bmN0aW9uIHhyKHQsZSl7dmFyIG49X2wodCk7cmV0dXJuIG9hKG4sbGkoZSwwLG4ubGVuZ3RoKSl9ZnVuY3Rpb24gd3IoZSxuLGkscil7aWYoIUNzKGUpKXJldHVybiBlO2Zvcih2YXIgbz0tMSxhPShuPVVyKG4sZSkpLmxlbmd0aCxzPWEtMSxsPWU7bnVsbCE9bCYmKytvPGE7KXt2YXIgYz1sYShuW29dKSx1PWk7aWYoIl9fcHJvdG9fXyI9PT1jfHwiY29uc3RydWN0b3IiPT09Y3x8InByb3RvdHlwZSI9PT1jKXJldHVybiBlO2lmKG8hPXMpe3ZhciBoPWxbY107KHU9cj9yKGgsYyxsKTp0KT09PXQmJih1PUNzKGgpP2g6VW8obltvKzFdKT9bXTp7fSl9bmkobCxjLHUpLGw9bFtjXX1yZXR1cm4gZX12YXIgU3I9UG4/ZnVuY3Rpb24odCxlKXtyZXR1cm4gUG4uc2V0KHQsZSksdH06UmwsTXI9dWU/ZnVuY3Rpb24odCxlKXtyZXR1cm4gdWUodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTpQbChlKSx3cml0YWJsZTohMH0pfTpSbDtmdW5jdGlvbiBFcih0KXtyZXR1cm4gb2EoX2wodCkpfWZ1bmN0aW9uIFRyKHQsZSxuKXt2YXIgaT0tMSxyPXQubGVuZ3RoO2U8MCYmKGU9LWU+cj8wOnIrZSksKG49bj5yP3I6bik8MCYmKG4rPXIpLHI9ZT5uPzA6bi1lPj4+MCxlPj4+PTA7Zm9yKHZhciBvPXd0KHIpOysraTxyOylvW2ldPXRbaStlXTtyZXR1cm4gb31mdW5jdGlvbiBDcih0LGUpe3ZhciBuO3JldHVybiBPaSh0LChmdW5jdGlvbih0LGkscil7cmV0dXJuIShuPWUodCxpLHIpKX0pKSwhIW59ZnVuY3Rpb24gQXIodCxlLG4pe3ZhciBpPTAscj1udWxsPT10P2k6dC5sZW5ndGg7aWYoIm51bWJlciI9PXR5cGVvZiBlJiZlPT1lJiZyPD0yMTQ3NDgzNjQ3KXtmb3IoO2k8cjspe3ZhciBvPWkrcj4+PjEsYT10W29dO251bGwhPT1hJiYhQnMoYSkmJihuP2E8PWU6YTxlKT9pPW8rMTpyPW99cmV0dXJuIHJ9cmV0dXJuIGtyKHQsZSxSbCxuKX1mdW5jdGlvbiBrcihlLG4saSxyKXt2YXIgbz0wLGE9bnVsbD09ZT8wOmUubGVuZ3RoO2lmKDA9PT1hKXJldHVybiAwO2Zvcih2YXIgcz0obj1pKG4pKSE9bixsPW51bGw9PT1uLGM9QnMobiksdT1uPT09dDtvPGE7KXt2YXIgaD1FZSgobythKS8yKSxkPWkoZVtoXSkscD1kIT09dCxmPW51bGw9PT1kLG09ZD09ZCxnPUJzKGQpO2lmKHMpdmFyIF89cnx8bTtlbHNlIF89dT9tJiYocnx8cCk6bD9tJiZwJiYocnx8IWYpOmM/bSYmcCYmIWYmJihyfHwhZyk6IWYmJiFnJiYocj9kPD1uOmQ8bik7Xz9vPWgrMTphPWh9cmV0dXJuIGJuKGEsNDI5NDk2NzI5NCl9ZnVuY3Rpb24gTHIodCxlKXtmb3IodmFyIG49LTEsaT10Lmxlbmd0aCxyPTAsbz1bXTsrK248aTspe3ZhciBhPXRbbl0scz1lP2UoYSk6YTtpZighbnx8IWhzKHMsbCkpe3ZhciBsPXM7b1tyKytdPTA9PT1hPzA6YX19cmV0dXJuIG99ZnVuY3Rpb24gUHIodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0P3Q6QnModCk/aDordH1mdW5jdGlvbiBOcih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYobXModCkpcmV0dXJuIE5lKHQsTnIpKyIiO2lmKEJzKHQpKXJldHVybiBGbj9Gbi5jYWxsKHQpOiIiO3ZhciBlPXQrIiI7cmV0dXJuIjAiPT1lJiYxL3Q9PS0xLzA/Ii0wIjplfWZ1bmN0aW9uIElyKHQsZSxuKXt2YXIgaT0tMSxyPUxlLG89dC5sZW5ndGgsYT0hMCxzPVtdLGw9cztpZihuKWE9ITEscj1QZTtlbHNlIGlmKG8+PTIwMCl7dmFyIGM9ZT9udWxsOnZvKHQpO2lmKGMpcmV0dXJuIHVuKGMpO2E9ITEscj1KZSxsPW5ldyAkbn1lbHNlIGw9ZT9bXTpzO3Q6Zm9yKDsrK2k8bzspe3ZhciB1PXRbaV0saD1lP2UodSk6dTtpZih1PW58fDAhPT11P3U6MCxhJiZoPT1oKXtmb3IodmFyIGQ9bC5sZW5ndGg7ZC0tOylpZihsW2RdPT09aCljb250aW51ZSB0O2UmJmwucHVzaChoKSxzLnB1c2godSl9ZWxzZSByKGwsaCxuKXx8KGwhPT1zJiZsLnB1c2goaCkscy5wdXNoKHUpKX1yZXR1cm4gc31mdW5jdGlvbiBScih0LGUpe3JldHVybiBudWxsPT0odD1abyh0LGU9VXIoZSx0KSkpfHxkZWxldGUgdFtsYSh4YShlKSldfWZ1bmN0aW9uIE9yKHQsZSxuLGkpe3JldHVybiB3cih0LGUsbihxaSh0LGUpKSxpKX1mdW5jdGlvbiB6cih0LGUsbixpKXtmb3IodmFyIHI9dC5sZW5ndGgsbz1pP3I6LTE7KGk/by0tOisrbzxyKSYmZSh0W29dLG8sdCk7KTtyZXR1cm4gbj9Ucih0LGk/MDpvLGk/bysxOnIpOlRyKHQsaT9vKzE6MCxpP3I6byl9ZnVuY3Rpb24gRHIodCxlKXt2YXIgbj10O3JldHVybiBuIGluc3RhbmNlb2YgV24mJihuPW4udmFsdWUoKSksUmUoZSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5mdW5jLmFwcGx5KGUudGhpc0FyZyxJZShbdF0sZS5hcmdzKSl9KSxuKX1mdW5jdGlvbiBCcih0LGUsbil7dmFyIGk9dC5sZW5ndGg7aWYoaTwyKXJldHVybiBpP0lyKHRbMF0pOltdO2Zvcih2YXIgcj0tMSxvPXd0KGkpOysrcjxpOylmb3IodmFyIGE9dFtyXSxzPS0xOysrczxpOylzIT1yJiYob1tyXT1kaShvW3JdfHxhLHRbc10sZSxuKSk7cmV0dXJuIElyKEZpKG8sMSksZSxuKX1mdW5jdGlvbiBIcihlLG4saSl7Zm9yKHZhciByPS0xLG89ZS5sZW5ndGgsYT1uLmxlbmd0aCxzPXt9OysrcjxvOylpKHMsZVtyXSxyPGE/bltyXTp0KTtyZXR1cm4gc31mdW5jdGlvbiBGcih0KXtyZXR1cm4gdnModCk/dDpbXX1mdW5jdGlvbiBWcih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90OlJsfWZ1bmN0aW9uIFVyKHQsZSl7cmV0dXJuIG1zKHQpP3Q6R28odCxlKT9bdF06YWEoJHModCkpfXZhciBqcj12cjtmdW5jdGlvbiBHcihlLG4saSl7dmFyIHI9ZS5sZW5ndGg7cmV0dXJuIGk9aT09PXQ/cjppLCFuJiZpPj1yP2U6VHIoZSxuLGkpfXZhciBXcj1oZXx8ZnVuY3Rpb24odCl7cmV0dXJuIGNlLmNsZWFyVGltZW91dCh0KX07ZnVuY3Rpb24gcXIodCxlKXtpZihlKXJldHVybiB0LnNsaWNlKCk7dmFyIG49dC5sZW5ndGgsaT1XdD9XdChuKTpuZXcgdC5jb25zdHJ1Y3RvcihuKTtyZXR1cm4gdC5jb3B5KGkpLGl9ZnVuY3Rpb24gWXIodCl7dmFyIGU9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IEd0KGUpLnNldChuZXcgR3QodCkpLGV9ZnVuY3Rpb24gWHIodCxlKXt2YXIgbj1lP1lyKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3Iobix0LmJ5dGVPZmZzZXQsdC5sZW5ndGgpfWZ1bmN0aW9uICRyKGUsbil7aWYoZSE9PW4pe3ZhciBpPWUhPT10LHI9bnVsbD09PWUsbz1lPT1lLGE9QnMoZSkscz1uIT09dCxsPW51bGw9PT1uLGM9bj09bix1PUJzKG4pO2lmKCFsJiYhdSYmIWEmJmU+bnx8YSYmcyYmYyYmIWwmJiF1fHxyJiZzJiZjfHwhaSYmY3x8IW8pcmV0dXJuIDE7aWYoIXImJiFhJiYhdSYmZTxufHx1JiZpJiZvJiYhciYmIWF8fGwmJmkmJm98fCFzJiZvfHwhYylyZXR1cm4tMX1yZXR1cm4gMH1mdW5jdGlvbiBLcih0LGUsbixpKXtmb3IodmFyIHI9LTEsbz10Lmxlbmd0aCxhPW4ubGVuZ3RoLHM9LTEsbD1lLmxlbmd0aCxjPXZuKG8tYSwwKSx1PXd0KGwrYyksaD0haTsrK3M8bDspdVtzXT1lW3NdO2Zvcig7KytyPGE7KShofHxyPG8pJiYodVtuW3JdXT10W3JdKTtmb3IoO2MtLTspdVtzKytdPXRbcisrXTtyZXR1cm4gdX1mdW5jdGlvbiBacih0LGUsbixpKXtmb3IodmFyIHI9LTEsbz10Lmxlbmd0aCxhPS0xLHM9bi5sZW5ndGgsbD0tMSxjPWUubGVuZ3RoLHU9dm4oby1zLDApLGg9d3QodStjKSxkPSFpOysrcjx1OyloW3JdPXRbcl07Zm9yKHZhciBwPXI7KytsPGM7KWhbcCtsXT1lW2xdO2Zvcig7KythPHM7KShkfHxyPG8pJiYoaFtwK25bYV1dPXRbcisrXSk7cmV0dXJuIGh9ZnVuY3Rpb24gSnIodCxlKXt2YXIgbj0tMSxpPXQubGVuZ3RoO2ZvcihlfHwoZT13dChpKSk7KytuPGk7KWVbbl09dFtuXTtyZXR1cm4gZX1mdW5jdGlvbiBRcihlLG4saSxyKXt2YXIgbz0haTtpfHwoaT17fSk7Zm9yKHZhciBhPS0xLHM9bi5sZW5ndGg7KythPHM7KXt2YXIgbD1uW2FdLGM9cj9yKGlbbF0sZVtsXSxsLGksZSk6dDtjPT09dCYmKGM9ZVtsXSksbz9haShpLGwsYyk6bmkoaSxsLGMpfXJldHVybiBpfWZ1bmN0aW9uIHRvKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSl7dmFyIHI9bXMobik/d2U6cmksbz1lP2UoKTp7fTtyZXR1cm4gcihuLHQsTm8oaSwyKSxvKX19ZnVuY3Rpb24gZW8oZSl7cmV0dXJuIHZyKChmdW5jdGlvbihuLGkpe3ZhciByPS0xLG89aS5sZW5ndGgsYT1vPjE/aVtvLTFdOnQscz1vPjI/aVsyXTp0O2ZvcihhPWUubGVuZ3RoPjMmJiJmdW5jdGlvbiI9PXR5cGVvZiBhPyhvLS0sYSk6dCxzJiZqbyhpWzBdLGlbMV0scykmJihhPW88Mz90OmEsbz0xKSxuPUN0KG4pOysrcjxvOyl7dmFyIGw9aVtyXTtsJiZlKG4sbCxyLGEpfXJldHVybiBufSkpfWZ1bmN0aW9uIG5vKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSl7aWYobnVsbD09bilyZXR1cm4gbjtpZigheXMobikpcmV0dXJuIHQobixpKTtmb3IodmFyIHI9bi5sZW5ndGgsbz1lP3I6LTEsYT1DdChuKTsoZT9vLS06KytvPHIpJiYhMSE9PWkoYVtvXSxvLGEpOyk7cmV0dXJuIG59fWZ1bmN0aW9uIGlvKHQpe3JldHVybiBmdW5jdGlvbihlLG4saSl7Zm9yKHZhciByPS0xLG89Q3QoZSksYT1pKGUpLHM9YS5sZW5ndGg7cy0tOyl7dmFyIGw9YVt0P3M6KytyXTtpZighMT09PW4ob1tsXSxsLG8pKWJyZWFrfXJldHVybiBlfX1mdW5jdGlvbiBybyhlKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGk9YW4obj0kcyhuKSk/cG4obik6dCxyPWk/aVswXTpuLmNoYXJBdCgwKSxvPWk/R3IoaSwxKS5qb2luKCIiKTpuLnNsaWNlKDEpO3JldHVybiByW2VdKCkrb319ZnVuY3Rpb24gb28odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBSZShBbChibChlKS5yZXBsYWNlKFh0LCIiKSksdCwiIil9fWZ1bmN0aW9uIGFvKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cztzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gbmV3IHQ7Y2FzZSAxOnJldHVybiBuZXcgdChlWzBdKTtjYXNlIDI6cmV0dXJuIG5ldyB0KGVbMF0sZVsxXSk7Y2FzZSAzOnJldHVybiBuZXcgdChlWzBdLGVbMV0sZVsyXSk7Y2FzZSA0OnJldHVybiBuZXcgdChlWzBdLGVbMV0sZVsyXSxlWzNdKTtjYXNlIDU6cmV0dXJuIG5ldyB0KGVbMF0sZVsxXSxlWzJdLGVbM10sZVs0XSk7Y2FzZSA2OnJldHVybiBuZXcgdChlWzBdLGVbMV0sZVsyXSxlWzNdLGVbNF0sZVs1XSk7Y2FzZSA3OnJldHVybiBuZXcgdChlWzBdLGVbMV0sZVsyXSxlWzNdLGVbNF0sZVs1XSxlWzZdKX12YXIgbj1Vbih0LnByb3RvdHlwZSksaT10LmFwcGx5KG4sZSk7cmV0dXJuIENzKGkpP2k6bn19ZnVuY3Rpb24gc28oZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSxyKXt2YXIgbz1DdChuKTtpZigheXMobikpe3ZhciBhPU5vKGksMyk7bj1sbChuKSxpPWZ1bmN0aW9uKHQpe3JldHVybiBhKG9bdF0sdCxvKX19dmFyIHM9ZShuLGkscik7cmV0dXJuIHM+LTE/b1thP25bc106c106dH19ZnVuY3Rpb24gbG8obil7cmV0dXJuIFRvKChmdW5jdGlvbihpKXt2YXIgcj1pLmxlbmd0aCxvPXIsYT1Hbi5wcm90b3R5cGUudGhydTtmb3IobiYmaS5yZXZlcnNlKCk7by0tOyl7dmFyIHM9aVtvXTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygcyl0aHJvdyBuZXcgTHQoZSk7aWYoYSYmIWwmJiJ3cmFwcGVyIj09TG8ocykpdmFyIGw9bmV3IEduKFtdLCEwKX1mb3Iobz1sP286cjsrK288cjspe3ZhciBjPUxvKHM9aVtvXSksdT0id3JhcHBlciI9PWM/a28ocyk6dDtsPXUmJldvKHVbMF0pJiY0MjQ9PXVbMV0mJiF1WzRdLmxlbmd0aCYmMT09dVs5XT9sW0xvKHVbMF0pXS5hcHBseShsLHVbM10pOjE9PXMubGVuZ3RoJiZXbyhzKT9sW2NdKCk6bC50aHJ1KHMpfXJldHVybiBmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cyxlPXRbMF07aWYobCYmMT09dC5sZW5ndGgmJm1zKGUpKXJldHVybiBsLnBsYW50KGUpLnZhbHVlKCk7Zm9yKHZhciBuPTAsbz1yP2lbbl0uYXBwbHkodGhpcyx0KTplOysrbjxyOylvPWlbbl0uY2FsbCh0aGlzLG8pO3JldHVybiBvfX0pKX1mdW5jdGlvbiBjbyhlLG4saSxyLG8sYSxsLGMsdSxoKXt2YXIgZD1uJnMscD0xJm4sZj0yJm4sbT0yNCZuLGc9NTEyJm4sXz1mP3Q6YW8oZSk7cmV0dXJuIGZ1bmN0aW9uIHQoKXtmb3IodmFyIHM9YXJndW1lbnRzLmxlbmd0aCx5PXd0KHMpLHY9czt2LS07KXlbdl09YXJndW1lbnRzW3ZdO2lmKG0pdmFyIGI9UG8odCkseD1lbih5LGIpO2lmKHImJih5PUtyKHkscixvLG0pKSxhJiYoeT1acih5LGEsbCxtKSkscy09eCxtJiZzPGgpe3ZhciB3PWNuKHksYik7cmV0dXJuIF9vKGUsbixjbyx0LnBsYWNlaG9sZGVyLGkseSx3LGMsdSxoLXMpfXZhciBTPXA/aTp0aGlzLE09Zj9TW2VdOmU7cmV0dXJuIHM9eS5sZW5ndGgsYz95PUpvKHksYyk6ZyYmcz4xJiZ5LnJldmVyc2UoKSxkJiZ1PHMmJih5Lmxlbmd0aD11KSx0aGlzJiZ0aGlzIT09Y2UmJnRoaXMgaW5zdGFuY2VvZiB0JiYoTT1ffHxhbyhNKSksTS5hcHBseShTLHkpfX1mdW5jdGlvbiB1byh0LGUpe3JldHVybiBmdW5jdGlvbihuLGkpe3JldHVybihmdW5jdGlvbiByKHQsZSxuLGkpe3JldHVybiBqaSh0LChmdW5jdGlvbih0LHIsbyl7ZShpLG4odCkscixvKX0pKSxpfSkobix0LGUoaSkse30pfX1mdW5jdGlvbiBobyhlLG4pe3JldHVybiBmdW5jdGlvbihpLHIpe3ZhciBvO2lmKGk9PT10JiZyPT09dClyZXR1cm4gbjtpZihpIT09dCYmKG89aSksciE9PXQpe2lmKG89PT10KXJldHVybiByOyJzdHJpbmciPT10eXBlb2YgaXx8InN0cmluZyI9PXR5cGVvZiByPyhpPU5yKGkpLHI9TnIocikpOihpPVByKGkpLHI9UHIocikpLG89ZShpLHIpfXJldHVybiBvfX1mdW5jdGlvbiBwbyh0KXtyZXR1cm4gVG8oKGZ1bmN0aW9uKGUpe3JldHVybiBlPU5lKGUsS2UoTm8oKSkpLHZyKChmdW5jdGlvbihuKXt2YXIgaT10aGlzO3JldHVybiB0KGUsKGZ1bmN0aW9uKHQpe3JldHVybiB4ZSh0LGksbil9KSl9KSl9KSl9ZnVuY3Rpb24gZm8oZSxuKXt2YXIgaT0obj1uPT09dD8iICI6TnIobikpLmxlbmd0aDtpZihpPDIpcmV0dXJuIGk/eXIobixlKTpuO3ZhciByPXlyKG4sU2UoZS9kbihuKSkpO3JldHVybiBhbihuKT9HcihwbihyKSwwLGUpLmpvaW4oIiIpOnIuc2xpY2UoMCxlKX1mdW5jdGlvbiBtbyhlKXtyZXR1cm4gZnVuY3Rpb24obixpLHIpe3JldHVybiByJiYibnVtYmVyIiE9dHlwZW9mIHImJmpvKG4saSxyKSYmKGk9cj10KSxuPUdzKG4pLGk9PT10PyhpPW4sbj0wKTppPUdzKGkpLChmdW5jdGlvbiBvKHQsZSxuLGkpe2Zvcih2YXIgcj0tMSxvPXZuKFNlKChlLXQpLyhufHwxKSksMCksYT13dChvKTtvLS07KWFbaT9vOisrcl09dCx0Kz1uO3JldHVybiBhfSkobixpLHI9cj09PXQ/bjxpPzE6LTE6R3MociksZSl9fWZ1bmN0aW9uIGdvKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmInN0cmluZyI9PXR5cGVvZiBufHwoZT1ZcyhlKSxuPVlzKG4pKSx0KGUsbil9fWZ1bmN0aW9uIF9vKGUsbixpLHIscyxsLGMsdSxoLGQpe3ZhciBwPTgmbjtufD1wP286YSw0JihuJj1+KHA/YTpvKSl8fChuJj0tNCk7dmFyIGY9W2UsbixzLHA/bDp0LHA/Yzp0LHA/dDpsLHA/dDpjLHUsaCxkXSxtPWkuYXBwbHkodCxmKTtyZXR1cm4gV28oZSkmJnRhKG0sZiksbS5wbGFjZWhvbGRlcj1yLGlhKG0sZSxuKX1mdW5jdGlvbiB5byh0KXt2YXIgZT1UdFt0XTtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZih0PVlzKHQpLChuPW51bGw9PW4/MDpibihXcyhuKSwyOTIpKSYmV2UodCkpe3ZhciBpPSgkcyh0KSsiZSIpLnNwbGl0KCJlIik7cmV0dXJuKygoaT0oJHMoZShpWzBdKyJlIisoK2lbMV0rbikpKSsiZSIpLnNwbGl0KCJlIikpWzBdKyJlIisoK2lbMV0tbikpfXJldHVybiBlKHQpfX12YXIgdm89QW4mJjEvdW4obmV3IEFuKFssLTBdKSlbMV09PWM/ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBBbih0KX06SGw7ZnVuY3Rpb24gYm8odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPUJvKGUpO3JldHVybiBuPT14P3NuKGUpOm49PVQ/aG4oZSk6KGZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gTmUoZSwoZnVuY3Rpb24oZSl7cmV0dXJuW2UsdFtlXV19KSl9KShlLHQoZSkpfX1mdW5jdGlvbiB4byhuLGMsdSxoLGQscCxmLG0pe3ZhciBnPTImYztpZighZyYmImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEx0KGUpO3ZhciBfPWg/aC5sZW5ndGg6MDtpZihffHwoYyY9LTk3LGg9ZD10KSxmPWY9PT10P2Y6dm4oV3MoZiksMCksbT1tPT09dD9tOldzKG0pLF8tPWQ/ZC5sZW5ndGg6MCxjJmEpe3ZhciB5PWgsdj1kO2g9ZD10fXZhciBiPWc/dDprbyhuKSx4PVtuLGMsdSxoLGQseSx2LHAsZixtXTtpZihiJiYoZnVuY3Rpb24gdyh0LGUpe3ZhciBuPXRbMV0scj1lWzFdLG89bnxyLGE9cj09cyYmOD09bnx8cj09cyYmbj09bCYmdFs3XS5sZW5ndGg8PWVbOF18fDM4ND09ciYmZVs3XS5sZW5ndGg8PWVbOF0mJjg9PW47aWYoIShvPDEzMXx8YSkpcmV0dXJuIHQ7MSZyJiYodFsyXT1lWzJdLG98PTEmbj8wOjQpO3ZhciBjPWVbM107aWYoYyl7dmFyIHU9dFszXTt0WzNdPXU/S3IodSxjLGVbNF0pOmMsdFs0XT11P2NuKHRbM10saSk6ZVs0XX1yZXR1cm4oYz1lWzVdKSYmKHRbNV09KHU9dFs1XSk/WnIodSxjLGVbNl0pOmMsdFs2XT11P2NuKHRbNV0saSk6ZVs2XSksKGM9ZVs3XSkmJih0WzddPWMpLHImcyYmKHRbOF09bnVsbD09dFs4XT9lWzhdOmJuKHRbOF0sZVs4XSkpLG51bGw9PXRbOV0mJih0WzldPWVbOV0pLHRbMF09ZVswXSx0WzFdPW8sdH0pKHgsYiksbj14WzBdLGM9eFsxXSx1PXhbMl0saD14WzNdLGQ9eFs0XSwhKG09eFs5XT14WzldPT09dD9nPzA6bi5sZW5ndGg6dm4oeFs5XS1fLDApKSYmMjQmYyYmKGMmPS0yNSksYyYmMSE9YylFPTg9PWN8fGM9PXI/KGZ1bmN0aW9uIFMoZSxuLGkpe3ZhciByPWFvKGUpO3JldHVybiBmdW5jdGlvbiBvKCl7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGgscz13dChhKSxsPWEsYz1QbyhvKTtsLS07KXNbbF09YXJndW1lbnRzW2xdO3ZhciB1PWE8MyYmc1swXSE9PWMmJnNbYS0xXSE9PWM/W106Y24ocyxjKTtyZXR1cm4oYS09dS5sZW5ndGgpPGk/X28oZSxuLGNvLG8ucGxhY2Vob2xkZXIsdCxzLHUsdCx0LGktYSk6eGUodGhpcyYmdGhpcyE9PWNlJiZ0aGlzIGluc3RhbmNlb2Ygbz9yOmUsdGhpcyxzKX19KShuLGMsbSk6YyE9byYmMzMhPWN8fGQubGVuZ3RoP2NvLmFwcGx5KHQseCk6KGZ1bmN0aW9uIE0odCxlLG4saSl7dmFyIHI9MSZlLG89YW8odCk7cmV0dXJuIGZ1bmN0aW9uIGUoKXtmb3IodmFyIGE9LTEscz1hcmd1bWVudHMubGVuZ3RoLGw9LTEsYz1pLmxlbmd0aCx1PXd0KGMrcyksaD10aGlzJiZ0aGlzIT09Y2UmJnRoaXMgaW5zdGFuY2VvZiBlP286dDsrK2w8YzspdVtsXT1pW2xdO2Zvcig7cy0tOyl1W2wrK109YXJndW1lbnRzWysrYV07cmV0dXJuIHhlKGgscj9uOnRoaXMsdSl9fSkobixjLHUsaCk7ZWxzZSB2YXIgRT0oZnVuY3Rpb24gVCh0LGUsbil7dmFyIGk9MSZlLHI9YW8odCk7cmV0dXJuIGZ1bmN0aW9uIGUoKXtyZXR1cm4odGhpcyYmdGhpcyE9PWNlJiZ0aGlzIGluc3RhbmNlb2YgZT9yOnQpLmFwcGx5KGk/bjp0aGlzLGFyZ3VtZW50cyl9fSkobixjLHUpO3JldHVybiBpYSgoYj9Tcjp0YSkoRSx4KSxuLGMpfWZ1bmN0aW9uIHdvKGUsbixpLHIpe3JldHVybiBlPT09dHx8aHMoZSxOdFtpXSkmJiFPdC5jYWxsKHIsaSk/bjplfWZ1bmN0aW9uIFNvKGUsbixpLHIsbyxhKXtyZXR1cm4gQ3MoZSkmJkNzKG4pJiYoYS5zZXQobixlKSxocihlLG4sdCxTbyxhKSxhLmRlbGV0ZShuKSksZX1mdW5jdGlvbiBNbyhlKXtyZXR1cm4gTnMoZSk/dDplfWZ1bmN0aW9uIEVvKGUsbixpLHIsbyxhKXt2YXIgcz0xJmksbD1lLmxlbmd0aCxjPW4ubGVuZ3RoO2lmKGwhPWMmJiEocyYmYz5sKSlyZXR1cm4hMTt2YXIgdT1hLmdldChlKSxoPWEuZ2V0KG4pO2lmKHUmJmgpcmV0dXJuIHU9PW4mJmg9PWU7dmFyIGQ9LTEscD0hMCxmPTImaT9uZXcgJG46dDtmb3IoYS5zZXQoZSxuKSxhLnNldChuLGUpOysrZDxsOyl7dmFyIG09ZVtkXSxnPW5bZF07aWYocil2YXIgXz1zP3IoZyxtLGQsbixlLGEpOnIobSxnLGQsZSxuLGEpO2lmKF8hPT10KXtpZihfKWNvbnRpbnVlO3A9ITE7YnJlYWt9aWYoZil7aWYoIXplKG4sKGZ1bmN0aW9uKHQsZSl7aWYoIUplKGYsZSkmJihtPT09dHx8byhtLHQsaSxyLGEpKSlyZXR1cm4gZi5wdXNoKGUpfSkpKXtwPSExO2JyZWFrfX1lbHNlIGlmKG0hPT1nJiYhbyhtLGcsaSxyLGEpKXtwPSExO2JyZWFrfX1yZXR1cm4gYS5kZWxldGUoZSksYS5kZWxldGUobikscH1mdW5jdGlvbiBUbyhlKXtyZXR1cm4gbmEoS28oZSx0LGdhKSxlKyIiKX1mdW5jdGlvbiBDbyh0KXtyZXR1cm4gWWkodCxsbCx6byl9ZnVuY3Rpb24gQW8odCl7cmV0dXJuIFlpKHQsY2wsRG8pfXZhciBrbz1Qbj9mdW5jdGlvbih0KXtyZXR1cm4gUG4uZ2V0KHQpfTpIbDtmdW5jdGlvbiBMbyh0KXtmb3IodmFyIGU9dC5uYW1lKyIiLG49Tm5bZV0saT1PdC5jYWxsKE5uLGUpP24ubGVuZ3RoOjA7aS0tOyl7dmFyIHI9bltpXSxvPXIuZnVuYztpZihudWxsPT1vfHxvPT10KXJldHVybiByLm5hbWV9cmV0dXJuIGV9ZnVuY3Rpb24gUG8odCl7cmV0dXJuKE90LmNhbGwoVm4sInBsYWNlaG9sZGVyIik/Vm46dCkucGxhY2Vob2xkZXJ9ZnVuY3Rpb24gTm8oKXt2YXIgdD1Wbi5pdGVyYXRlZXx8T2w7cmV0dXJuIHQ9dD09PU9sP3JyOnQsYXJndW1lbnRzLmxlbmd0aD90KGFyZ3VtZW50c1swXSxhcmd1bWVudHNbMV0pOnR9ZnVuY3Rpb24gSW8odCxlKXt2YXIgbj10Ll9fZGF0YV9fO3JldHVybihmdW5jdGlvbiBpKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiJzdHJpbmciPT1lfHwibnVtYmVyIj09ZXx8InN5bWJvbCI9PWV8fCJib29sZWFuIj09ZT8iX19wcm90b19fIiE9PXQ6bnVsbD09PXR9KShlKT9uWyJzdHJpbmciPT10eXBlb2YgZT8ic3RyaW5nIjoiaGFzaCJdOm4ubWFwfWZ1bmN0aW9uIFJvKHQpe2Zvcih2YXIgZT1sbCh0KSxuPWUubGVuZ3RoO24tLTspe3ZhciBpPWVbbl0scj10W2ldO2Vbbl09W2kscixYbyhyKV19cmV0dXJuIGV9ZnVuY3Rpb24gT28oZSxuKXt2YXIgaT0oZnVuY3Rpb24gcihlLG4pe3JldHVybiBudWxsPT1lP3Q6ZVtuXX0pKGUsbik7cmV0dXJuIGlyKGkpP2k6dH12YXIgem89VGU/ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106KHQ9Q3QodCksa2UoVGUodCksKGZ1bmN0aW9uKGUpe3JldHVybiBLdC5jYWxsKHQsZSl9KSkpfTpxbCxEbz1UZT9mdW5jdGlvbih0KXtmb3IodmFyIGU9W107dDspSWUoZSx6byh0KSksdD1xdCh0KTtyZXR1cm4gZX06cWwsQm89WGk7ZnVuY3Rpb24gSG8odCxlLG4pe2Zvcih2YXIgaT0tMSxyPShlPVVyKGUsdCkpLmxlbmd0aCxvPSExOysraTxyOyl7dmFyIGE9bGEoZVtpXSk7aWYoIShvPW51bGwhPXQmJm4odCxhKSkpYnJlYWs7dD10W2FdfXJldHVybiBvfHwrK2khPXI/bzohIShyPW51bGw9PXQ/MDp0Lmxlbmd0aCkmJlRzKHIpJiZVbyhhLHIpJiYobXModCl8fGZzKHQpKX1mdW5jdGlvbiBGbyh0KXtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdC5jb25zdHJ1Y3Rvcnx8WW8odCk/e306VW4ocXQodCkpfWZ1bmN0aW9uIFZvKHQpe3JldHVybiBtcyh0KXx8ZnModCl8fCEhKHJlJiZ0JiZ0W3JlXSl9ZnVuY3Rpb24gVW8odCxlKXt2YXIgbj10eXBlb2YgdDtyZXR1cm4hIShlPW51bGw9PWU/dTplKSYmKCJudW1iZXIiPT1ufHwic3ltYm9sIiE9biYmZ3QudGVzdCh0KSkmJnQ+LTEmJnQlMT09MCYmdDxlfWZ1bmN0aW9uIGpvKHQsZSxuKXtpZighQ3MobikpcmV0dXJuITE7dmFyIGk9dHlwZW9mIGU7cmV0dXJuISEoIm51bWJlciI9PWk/eXMobikmJlVvKGUsbi5sZW5ndGgpOiJzdHJpbmciPT1pJiZlIGluIG4pJiZocyhuW2VdLHQpfWZ1bmN0aW9uIEdvKHQsZSl7aWYobXModCkpcmV0dXJuITE7dmFyIG49dHlwZW9mIHQ7cmV0dXJuISgibnVtYmVyIiE9biYmInN5bWJvbCIhPW4mJiJib29sZWFuIiE9biYmbnVsbCE9dCYmIUJzKHQpKXx8Si50ZXN0KHQpfHwhWi50ZXN0KHQpfHxudWxsIT1lJiZ0IGluIEN0KGUpfWZ1bmN0aW9uIFdvKHQpe3ZhciBlPUxvKHQpLG49Vm5bZV07aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG58fCEoZSBpbiBXbi5wcm90b3R5cGUpKXJldHVybiExO2lmKHQ9PT1uKXJldHVybiEwO3ZhciBpPWtvKG4pO3JldHVybiEhaSYmdD09PWlbMF19KEVuJiZCbyhuZXcgRW4obmV3IEFycmF5QnVmZmVyKDEpKSkhPVB8fFRuJiZCbyhuZXcgVG4pIT14fHxDbiYmQm8oQ24ucmVzb2x2ZSgpKSE9TXx8QW4mJkJvKG5ldyBBbikhPVR8fGtuJiZCbyhuZXcga24pIT1rKSYmKEJvPWZ1bmN0aW9uKGUpe3ZhciBuPVhpKGUpLGk9bj09Uz9lLmNvbnN0cnVjdG9yOnQscj1pP2NhKGkpOiIiO2lmKHIpc3dpdGNoKHIpe2Nhc2UgSW46cmV0dXJuIFA7Y2FzZSBSbjpyZXR1cm4geDtjYXNlIE9uOnJldHVybiBNO2Nhc2Ugem46cmV0dXJuIFQ7Y2FzZSBEbjpyZXR1cm4ga31yZXR1cm4gbn0pO3ZhciBxbz1JdD9NczpZbDtmdW5jdGlvbiBZbyh0KXt2YXIgZT10JiZ0LmNvbnN0cnVjdG9yO3JldHVybiB0PT09KCJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLnByb3RvdHlwZXx8TnQpfWZ1bmN0aW9uIFhvKHQpe3JldHVybiB0PT10JiYhQ3ModCl9ZnVuY3Rpb24gJG8oZSxuKXtyZXR1cm4gZnVuY3Rpb24oaSl7cmV0dXJuIG51bGwhPWkmJmlbZV09PT1uJiYobiE9PXR8fGUgaW4gQ3QoaSkpfX1mdW5jdGlvbiBLbyhlLG4saSl7cmV0dXJuIG49dm4obj09PXQ/ZS5sZW5ndGgtMTpuLDApLGZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cyxyPS0xLG89dm4odC5sZW5ndGgtbiwwKSxhPXd0KG8pOysrcjxvOylhW3JdPXRbbityXTtyPS0xO2Zvcih2YXIgcz13dChuKzEpOysrcjxuOylzW3JdPXRbcl07cmV0dXJuIHNbbl09aShhKSx4ZShlLHRoaXMscyl9fWZ1bmN0aW9uIFpvKHQsZSl7cmV0dXJuIGUubGVuZ3RoPDI/dDpxaSh0LFRyKGUsMCwtMSkpfWZ1bmN0aW9uIEpvKGUsbil7Zm9yKHZhciBpPWUubGVuZ3RoLHI9Ym4obi5sZW5ndGgsaSksbz1KcihlKTtyLS07KXt2YXIgYT1uW3JdO2Vbcl09VW8oYSxpKT9vW2FdOnR9cmV0dXJuIGV9ZnVuY3Rpb24gUW8odCxlKXtpZigoImNvbnN0cnVjdG9yIiE9PWV8fCJmdW5jdGlvbiIhPXR5cGVvZiB0W2VdKSYmIl9fcHJvdG9fXyIhPWUpcmV0dXJuIHRbZV19dmFyIHRhPXJhKFNyKSxlYT1mZXx8ZnVuY3Rpb24odCxlKXtyZXR1cm4gY2Uuc2V0VGltZW91dCh0LGUpfSxuYT1yYShNcik7ZnVuY3Rpb24gaWEodCxlLG4pe3ZhciBpPWUrIiI7cmV0dXJuIG5hKHQsKGZ1bmN0aW9uIGEodCxlKXt2YXIgbj1lLmxlbmd0aDtpZighbilyZXR1cm4gdDt2YXIgaT1uLTE7cmV0dXJuIGVbaV09KG4+MT8iJiAiOiIiKStlW2ldLGU9ZS5qb2luKG4+Mj8iLCAiOiIgIiksdC5yZXBsYWNlKHJ0LCJ7XG4vKiBbd3JhcHBlZCB3aXRoICIrZSsiXSAqL1xuIil9KShpLChmdW5jdGlvbiBvKHQsZSl7cmV0dXJuIE1lKHAsKGZ1bmN0aW9uKG4pe3ZhciBpPSJfLiIrblswXTtlJm5bMV0mJiFMZSh0LGkpJiZ0LnB1c2goaSl9KSksdC5zb3J0KCl9KSgoZnVuY3Rpb24gcih0KXt2YXIgZT10Lm1hdGNoKG90KTtyZXR1cm4gZT9lWzFdLnNwbGl0KGF0KTpbXX0pKGkpLG4pKSl9ZnVuY3Rpb24gcmEoZSl7dmFyIG49MCxpPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9eG4oKSxvPTE2LShyLWkpO2lmKGk9cixvPjApe2lmKCsrbj49ODAwKXJldHVybiBhcmd1bWVudHNbMF19ZWxzZSBuPTA7cmV0dXJuIGUuYXBwbHkodCxhcmd1bWVudHMpfX1mdW5jdGlvbiBvYShlLG4pe3ZhciBpPS0xLHI9ZS5sZW5ndGgsbz1yLTE7Zm9yKG49bj09PXQ/cjpuOysraTxuOyl7dmFyIGE9X3IoaSxvKSxzPWVbYV07ZVthXT1lW2ldLGVbaV09c31yZXR1cm4gZS5sZW5ndGg9bixlfXZhciBhYT0oZnVuY3Rpb24gc2EodCl7dmFyIGU9b3ModCwoZnVuY3Rpb24odCl7cmV0dXJuIDUwMD09PW4uc2l6ZSYmbi5jbGVhcigpLHR9KSksbj1lLmNhY2hlO3JldHVybiBlfSkoKGZ1bmN0aW9uKHQpe3ZhciBlPVtdO3JldHVybiA0Nj09PXQuY2hhckNvZGVBdCgwKSYmZS5wdXNoKCIiKSx0LnJlcGxhY2UoUSwoZnVuY3Rpb24odCxuLGkscil7ZS5wdXNoKGk/ci5yZXBsYWNlKGN0LCIkMSIpOm58fHQpfSkpLGV9KSk7ZnVuY3Rpb24gbGEodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0fHxCcyh0KSlyZXR1cm4gdDt2YXIgZT10KyIiO3JldHVybiIwIj09ZSYmMS90PT0tMS8wPyItMCI6ZX1mdW5jdGlvbiBjYSh0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIFJ0LmNhbGwodCl9Y2F0Y2godCl7fXRyeXtyZXR1cm4gdCsiIn1jYXRjaCh0KXt9fXJldHVybiIifWZ1bmN0aW9uIHVhKHQpe2lmKHQgaW5zdGFuY2VvZiBXbilyZXR1cm4gdC5jbG9uZSgpO3ZhciBlPW5ldyBHbih0Ll9fd3JhcHBlZF9fLHQuX19jaGFpbl9fKTtyZXR1cm4gZS5fX2FjdGlvbnNfXz1Kcih0Ll9fYWN0aW9uc19fKSxlLl9faW5kZXhfXz10Ll9faW5kZXhfXyxlLl9fdmFsdWVzX189dC5fX3ZhbHVlc19fLGV9dmFyIGhhPXZyKChmdW5jdGlvbih0LGUpe3JldHVybiB2cyh0KT9kaSh0LEZpKGUsMSx2cywhMCkpOltdfSkpLGRhPXZyKChmdW5jdGlvbihlLG4pe3ZhciBpPXhhKG4pO3JldHVybiB2cyhpKSYmKGk9dCksdnMoZSk/ZGkoZSxGaShuLDEsdnMsITApLE5vKGksMikpOltdfSkpLHBhPXZyKChmdW5jdGlvbihlLG4pe3ZhciBpPXhhKG4pO3JldHVybiB2cyhpKSYmKGk9dCksdnMoZSk/ZGkoZSxGaShuLDEsdnMsITApLHQsaSk6W119KSk7ZnVuY3Rpb24gZmEodCxlLG4pe3ZhciBpPW51bGw9PXQ/MDp0Lmxlbmd0aDtpZighaSlyZXR1cm4tMTt2YXIgcj1udWxsPT1uPzA6V3Mobik7cmV0dXJuIHI8MCYmKHI9dm4oaStyLDApKSxIZSh0LE5vKGUsMykscil9ZnVuY3Rpb24gbWEoZSxuLGkpe3ZhciByPW51bGw9PWU/MDplLmxlbmd0aDtpZighcilyZXR1cm4tMTt2YXIgbz1yLTE7cmV0dXJuIGkhPT10JiYobz1XcyhpKSxvPWk8MD92bihyK28sMCk6Ym4obyxyLTEpKSxIZShlLE5vKG4sMyksbywhMCl9ZnVuY3Rpb24gZ2EodCl7cmV0dXJuIG51bGwhPXQmJnQubGVuZ3RoP0ZpKHQsMSk6W119ZnVuY3Rpb24gX2EoZSl7cmV0dXJuIGUmJmUubGVuZ3RoP2VbMF06dH12YXIgeWE9dnIoKGZ1bmN0aW9uKHQpe3ZhciBlPU5lKHQsRnIpO3JldHVybiBlLmxlbmd0aCYmZVswXT09PXRbMF0/SmkoZSk6W119KSksdmE9dnIoKGZ1bmN0aW9uKGUpe3ZhciBuPXhhKGUpLGk9TmUoZSxGcik7cmV0dXJuIG49PT14YShpKT9uPXQ6aS5wb3AoKSxpLmxlbmd0aCYmaVswXT09PWVbMF0/SmkoaSxObyhuLDIpKTpbXX0pKSxiYT12cigoZnVuY3Rpb24oZSl7dmFyIG49eGEoZSksaT1OZShlLEZyKTtyZXR1cm4obj0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOnQpJiZpLnBvcCgpLGkubGVuZ3RoJiZpWzBdPT09ZVswXT9KaShpLHQsbik6W119KSk7ZnVuY3Rpb24geGEoZSl7dmFyIG49bnVsbD09ZT8wOmUubGVuZ3RoO3JldHVybiBuP2Vbbi0xXTp0fXZhciB3YT12cihTYSk7ZnVuY3Rpb24gU2EodCxlKXtyZXR1cm4gdCYmdC5sZW5ndGgmJmUmJmUubGVuZ3RoP21yKHQsZSk6dH12YXIgTWE9VG8oKGZ1bmN0aW9uKHQsZSl7dmFyIG49bnVsbD09dD8wOnQubGVuZ3RoLGk9c2kodCxlKTtyZXR1cm4gZ3IodCxOZShlLChmdW5jdGlvbih0KXtyZXR1cm4gVW8odCxuKT8rdDp0fSkpLnNvcnQoJHIpKSxpfSkpO2Z1bmN0aW9uIEVhKHQpe3JldHVybiBudWxsPT10P3Q6TW4uY2FsbCh0KX12YXIgVGE9dnIoKGZ1bmN0aW9uKHQpe3JldHVybiBJcihGaSh0LDEsdnMsITApKX0pKSxDYT12cigoZnVuY3Rpb24oZSl7dmFyIG49eGEoZSk7cmV0dXJuIHZzKG4pJiYobj10KSxJcihGaShlLDEsdnMsITApLE5vKG4sMikpfSkpLEFhPXZyKChmdW5jdGlvbihlKXt2YXIgbj14YShlKTtyZXR1cm4gbj0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOnQsSXIoRmkoZSwxLHZzLCEwKSx0LG4pfSkpO2Z1bmN0aW9uIGthKHQpe2lmKCF0fHwhdC5sZW5ndGgpcmV0dXJuW107dmFyIGU9MDtyZXR1cm4gdD1rZSh0LChmdW5jdGlvbih0KXtpZih2cyh0KSlyZXR1cm4gZT12bih0Lmxlbmd0aCxlKSwhMH0pKSxYZShlLChmdW5jdGlvbihlKXtyZXR1cm4gTmUodCxHZShlKSl9KSl9ZnVuY3Rpb24gTGEoZSxuKXtpZighZXx8IWUubGVuZ3RoKXJldHVybltdO3ZhciBpPWthKGUpO3JldHVybiBudWxsPT1uP2k6TmUoaSwoZnVuY3Rpb24oZSl7cmV0dXJuIHhlKG4sdCxlKX0pKX12YXIgUGE9dnIoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZzKHQpP2RpKHQsZSk6W119KSksTmE9dnIoKGZ1bmN0aW9uKHQpe3JldHVybiBCcihrZSh0LHZzKSl9KSksSWE9dnIoKGZ1bmN0aW9uKGUpe3ZhciBuPXhhKGUpO3JldHVybiB2cyhuKSYmKG49dCksQnIoa2UoZSx2cyksTm8obiwyKSl9KSksUmE9dnIoKGZ1bmN0aW9uKGUpe3ZhciBuPXhhKGUpO3JldHVybiBuPSJmdW5jdGlvbiI9PXR5cGVvZiBuP246dCxCcihrZShlLHZzKSx0LG4pfSkpLE9hPXZyKGthKSx6YT12cigoZnVuY3Rpb24oZSl7dmFyIG49ZS5sZW5ndGgsaT1uPjE/ZVtuLTFdOnQ7cmV0dXJuIGk9ImZ1bmN0aW9uIj09dHlwZW9mIGk/KGUucG9wKCksaSk6dCxMYShlLGkpfSkpO2Z1bmN0aW9uIERhKHQpe3ZhciBlPVZuKHQpO3JldHVybiBlLl9fY2hhaW5fXz0hMCxlfWZ1bmN0aW9uIEJhKHQsZSl7cmV0dXJuIGUodCl9dmFyIEhhPVRvKChmdW5jdGlvbihlKXt2YXIgbj1lLmxlbmd0aCxpPW4/ZVswXTowLHI9dGhpcy5fX3dyYXBwZWRfXyxvPWZ1bmN0aW9uKHQpe3JldHVybiBzaSh0LGUpfTtyZXR1cm4hKG4+MXx8dGhpcy5fX2FjdGlvbnNfXy5sZW5ndGgpJiZyIGluc3RhbmNlb2YgV24mJlVvKGkpPygocj1yLnNsaWNlKGksK2krKG4/MTowKSkpLl9fYWN0aW9uc19fLnB1c2goe2Z1bmM6QmEsYXJnczpbb10sdGhpc0FyZzp0fSksbmV3IEduKHIsdGhpcy5fX2NoYWluX18pLnRocnUoKGZ1bmN0aW9uKGUpe3JldHVybiBuJiYhZS5sZW5ndGgmJmUucHVzaCh0KSxlfSkpKTp0aGlzLnRocnUobyl9KSksRmE9dG8oKGZ1bmN0aW9uKHQsZSxuKXtPdC5jYWxsKHQsbik/Kyt0W25dOmFpKHQsbiwxKX0pKSxWYT1zbyhmYSksVWE9c28obWEpO2Z1bmN0aW9uIGphKHQsZSl7cmV0dXJuKG1zKHQpP01lOk9pKSh0LE5vKGUsMykpfWZ1bmN0aW9uIEdhKHQsZSl7cmV0dXJuKG1zKHQpP0NlOnppKSh0LE5vKGUsMykpfXZhciBXYT10bygoZnVuY3Rpb24odCxlLG4pe090LmNhbGwodCxuKT90W25dLnB1c2goZSk6YWkodCxuLFtlXSl9KSkscWE9dnIoKGZ1bmN0aW9uKHQsZSxuKXt2YXIgaT0tMSxyPSJmdW5jdGlvbiI9PXR5cGVvZiBlLG89eXModCk/d3QodC5sZW5ndGgpOltdO3JldHVybiBPaSh0LChmdW5jdGlvbih0KXtvWysraV09cj94ZShlLHQsbik6UWkodCxlLG4pfSkpLG99KSksWWE9dG8oKGZ1bmN0aW9uKHQsZSxuKXthaSh0LG4sZSl9KSk7ZnVuY3Rpb24gWGEodCxlKXtyZXR1cm4obXModCk/TmU6bHIpKHQsTm8oZSwzKSl9dmFyICRhPXRvKChmdW5jdGlvbih0LGUsbil7dFtuPzA6MV0ucHVzaChlKX0pLChmdW5jdGlvbigpe3JldHVybltbXSxbXV19KSksS2E9dnIoKGZ1bmN0aW9uKHQsZSl7aWYobnVsbD09dClyZXR1cm5bXTt2YXIgbj1lLmxlbmd0aDtyZXR1cm4gbj4xJiZqbyh0LGVbMF0sZVsxXSk/ZT1bXTpuPjImJmpvKGVbMF0sZVsxXSxlWzJdKSYmKGU9W2VbMF1dKSxwcih0LEZpKGUsMSksW10pfSkpLFphPXBlfHxmdW5jdGlvbigpe3JldHVybiBjZS5EYXRlLm5vdygpfTtmdW5jdGlvbiBKYShlLG4saSl7cmV0dXJuIG49aT90Om4seG8oZSxzLHQsdCx0LHQsbj1lJiZudWxsPT1uP2UubGVuZ3RoOm4pfWZ1bmN0aW9uIFFhKG4saSl7dmFyIHI7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGkpdGhyb3cgbmV3IEx0KGUpO3JldHVybiBuPVdzKG4pLGZ1bmN0aW9uKCl7cmV0dXJuLS1uPjAmJihyPWkuYXBwbHkodGhpcyxhcmd1bWVudHMpKSxuPD0xJiYoaT10KSxyfX12YXIgdHM9dnIoKGZ1bmN0aW9uKHQsZSxuKXt2YXIgaT0xO2lmKG4ubGVuZ3RoKXt2YXIgcj1jbihuLFBvKHRzKSk7aXw9b31yZXR1cm4geG8odCxpLGUsbixyKX0pKSxlcz12cigoZnVuY3Rpb24odCxlLG4pe3ZhciBpPTM7aWYobi5sZW5ndGgpe3ZhciByPWNuKG4sUG8oZXMpKTtpfD1vfXJldHVybiB4byhlLGksdCxuLHIpfSkpO2Z1bmN0aW9uIG5zKG4saSxyKXt2YXIgbyxhLHMsbCxjLHUsaD0wLGQ9ITEscD0hMSxmPSEwO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IG5ldyBMdChlKTtmdW5jdGlvbiBtKGUpe3ZhciBpPW8scj1hO3JldHVybiBvPWE9dCxoPWUsbD1uLmFwcGx5KHIsaSl9ZnVuY3Rpb24gZyh0KXtyZXR1cm4gaD10LGM9ZWEoeSxpKSxkP20odCk6bH1mdW5jdGlvbiBfKGUpe3ZhciBuPWUtdTtyZXR1cm4gdT09PXR8fG4+PWl8fG48MHx8cCYmZS1oPj1zfWZ1bmN0aW9uIHkoKXt2YXIgdD1aYSgpO2lmKF8odCkpcmV0dXJuIHYodCk7Yz1lYSh5LChmdW5jdGlvbiBlKHQpe3ZhciBlPWktKHQtdSk7cmV0dXJuIHA/Ym4oZSxzLSh0LWgpKTplfSkodCkpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIGM9dCxmJiZvP20oZSk6KG89YT10LGwpfWZ1bmN0aW9uIGIoKXt2YXIgZT1aYSgpLG49XyhlKTtpZihvPWFyZ3VtZW50cyxhPXRoaXMsdT1lLG4pe2lmKGM9PT10KXJldHVybiBnKHUpO2lmKHApcmV0dXJuIFdyKGMpLGM9ZWEoeSxpKSxtKHUpfXJldHVybiBjPT09dCYmKGM9ZWEoeSxpKSksbH1yZXR1cm4gaT1ZcyhpKXx8MCxDcyhyKSYmKGQ9ISFyLmxlYWRpbmcscz0ocD0ibWF4V2FpdCJpbiByKT92bihZcyhyLm1heFdhaXQpfHwwLGkpOnMsZj0idHJhaWxpbmciaW4gcj8hIXIudHJhaWxpbmc6ZiksYi5jYW5jZWw9ZnVuY3Rpb24geCgpe2MhPT10JiZXcihjKSxoPTAsbz11PWE9Yz10fSxiLmZsdXNoPWZ1bmN0aW9uIHcoKXtyZXR1cm4gYz09PXQ/bDp2KFphKCkpfSxifXZhciBpcz12cigoZnVuY3Rpb24odCxlKXtyZXR1cm4gaGkodCwxLGUpfSkpLHJzPXZyKChmdW5jdGlvbih0LGUsbil7cmV0dXJuIGhpKHQsWXMoZSl8fDAsbil9KSk7ZnVuY3Rpb24gb3ModCxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdHx8bnVsbCE9biYmImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEx0KGUpO3ZhciBpPWZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLHI9bj9uLmFwcGx5KHRoaXMsZSk6ZVswXSxvPWkuY2FjaGU7aWYoby5oYXMocikpcmV0dXJuIG8uZ2V0KHIpO3ZhciBhPXQuYXBwbHkodGhpcyxlKTtyZXR1cm4gaS5jYWNoZT1vLnNldChyLGEpfHxvLGF9O3JldHVybiBpLmNhY2hlPW5ldyhvcy5DYWNoZXx8WG4pLGl9ZnVuY3Rpb24gYXModCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEx0KGUpO3JldHVybiBmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cztzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4hdC5jYWxsKHRoaXMpO2Nhc2UgMTpyZXR1cm4hdC5jYWxsKHRoaXMsZVswXSk7Y2FzZSAyOnJldHVybiF0LmNhbGwodGhpcyxlWzBdLGVbMV0pO2Nhc2UgMzpyZXR1cm4hdC5jYWxsKHRoaXMsZVswXSxlWzFdLGVbMl0pfXJldHVybiF0LmFwcGx5KHRoaXMsZSl9fW9zLkNhY2hlPVhuO3ZhciBzcz1qcigoZnVuY3Rpb24odCxlKXt2YXIgbj0oZT0xPT1lLmxlbmd0aCYmbXMoZVswXSk/TmUoZVswXSxLZShObygpKSk6TmUoRmkoZSwxKSxLZShObygpKSkpLmxlbmd0aDtyZXR1cm4gdnIoKGZ1bmN0aW9uKGkpe2Zvcih2YXIgcj0tMSxvPWJuKGkubGVuZ3RoLG4pOysrcjxvOylpW3JdPWVbcl0uY2FsbCh0aGlzLGlbcl0pO3JldHVybiB4ZSh0LHRoaXMsaSl9KSl9KSksbHM9dnIoKGZ1bmN0aW9uKGUsbil7dmFyIGk9Y24obixQbyhscykpO3JldHVybiB4byhlLG8sdCxuLGkpfSkpLGNzPXZyKChmdW5jdGlvbihlLG4pe3ZhciBpPWNuKG4sUG8oY3MpKTtyZXR1cm4geG8oZSxhLHQsbixpKX0pKSx1cz1UbygoZnVuY3Rpb24oZSxuKXtyZXR1cm4geG8oZSxsLHQsdCx0LG4pfSkpO2Z1bmN0aW9uIGhzKHQsZSl7cmV0dXJuIHQ9PT1lfHx0IT10JiZlIT1lfXZhciBkcz1nbygkaSkscHM9Z28oKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ+PWV9KSksZnM9dHIoKGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30pKCkpP3RyOmZ1bmN0aW9uKHQpe3JldHVybiBBcyh0KSYmT3QuY2FsbCh0LCJjYWxsZWUiKSYmIUt0LmNhbGwodCwiY2FsbGVlIil9LG1zPXd0LmlzQXJyYXksZ3M9bWU/S2UobWUpOmZ1bmN0aW9uIF9zKHQpe3JldHVybiBBcyh0KSYmWGkodCk9PUx9O2Z1bmN0aW9uIHlzKHQpe3JldHVybiBudWxsIT10JiZUcyh0Lmxlbmd0aCkmJiFNcyh0KX1mdW5jdGlvbiB2cyh0KXtyZXR1cm4gQXModCkmJnlzKHQpfXZhciBicz1EZXx8WWwseHM9Z2U/S2UoZ2UpOmZ1bmN0aW9uIHdzKHQpe3JldHVybiBBcyh0KSYmWGkodCk9PV99O2Z1bmN0aW9uIFNzKHQpe2lmKCFBcyh0KSlyZXR1cm4hMTt2YXIgZT1YaSh0KTtyZXR1cm4gZT09eXx8IltvYmplY3QgRE9NRXhjZXB0aW9uXSI9PWV8fCJzdHJpbmciPT10eXBlb2YgdC5tZXNzYWdlJiYic3RyaW5nIj09dHlwZW9mIHQubmFtZSYmIU5zKHQpfWZ1bmN0aW9uIE1zKHQpe2lmKCFDcyh0KSlyZXR1cm4hMTt2YXIgZT1YaSh0KTtyZXR1cm4gZT09dnx8ZT09Ynx8IltvYmplY3QgQXN5bmNGdW5jdGlvbl0iPT1lfHwiW29iamVjdCBQcm94eV0iPT1lfWZ1bmN0aW9uIEVzKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdCYmdD09V3ModCl9ZnVuY3Rpb24gVHModCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PXV9ZnVuY3Rpb24gQ3ModCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuIG51bGwhPXQmJigib2JqZWN0Ij09ZXx8ImZ1bmN0aW9uIj09ZSl9ZnVuY3Rpb24gQXModCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH12YXIga3M9X2U/S2UoX2UpOmZ1bmN0aW9uIExzKHQpe3JldHVybiBBcyh0KSYmQm8odCk9PXh9O2Z1bmN0aW9uIFBzKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdHx8QXModCkmJlhpKHQpPT13fWZ1bmN0aW9uIE5zKHQpe2lmKCFBcyh0KXx8WGkodCkhPVMpcmV0dXJuITE7dmFyIGU9cXQodCk7aWYobnVsbD09PWUpcmV0dXJuITA7dmFyIG49T3QuY2FsbChlLCJjb25zdHJ1Y3RvciIpJiZlLmNvbnN0cnVjdG9yO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBuJiZuIGluc3RhbmNlb2YgbiYmUnQuY2FsbChuKT09SHR9dmFyIElzPXllP0tlKHllKTpmdW5jdGlvbiBScyh0KXtyZXR1cm4gQXModCkmJlhpKHQpPT1FfSxPcz12ZT9LZSh2ZSk6ZnVuY3Rpb24genModCl7cmV0dXJuIEFzKHQpJiZCbyh0KT09VH07ZnVuY3Rpb24gRHModCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fHwhbXModCkmJkFzKHQpJiZYaSh0KT09Q31mdW5jdGlvbiBCcyh0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR8fEFzKHQpJiZYaSh0KT09QX12YXIgSHM9YmU/S2UoYmUpOmZ1bmN0aW9uIEZzKHQpe3JldHVybiBBcyh0KSYmVHModC5sZW5ndGgpJiYhIW5lW1hpKHQpXX0sVnM9Z28oc3IpLFVzPWdvKChmdW5jdGlvbih0LGUpe3JldHVybiB0PD1lfSkpO2Z1bmN0aW9uIGpzKHQpe2lmKCF0KXJldHVybltdO2lmKHlzKHQpKXJldHVybiBEcyh0KT9wbih0KTpKcih0KTtpZihzZSYmdFtzZV0pcmV0dXJuKGZ1bmN0aW9uIGUodCl7Zm9yKHZhciBlLG49W107IShlPXQubmV4dCgpKS5kb25lOyluLnB1c2goZS52YWx1ZSk7cmV0dXJuIG59KSh0W3NlXSgpKTt2YXIgbj1Cbyh0KTtyZXR1cm4obj09eD9zbjpuPT1UP3VuOl9sKSh0KX1mdW5jdGlvbiBHcyh0KXtyZXR1cm4gdD8odD1Zcyh0KSk9PT1jfHx0PT09LTEvMD8xNzk3NjkzMTM0ODYyMzE1N2UyOTIqKHQ8MD8tMToxKTp0PT10P3Q6MDowPT09dD90OjB9ZnVuY3Rpb24gV3ModCl7dmFyIGU9R3ModCksbj1lJTE7cmV0dXJuIGU9PWU/bj9lLW46ZTowfWZ1bmN0aW9uIHFzKHQpe3JldHVybiB0P2xpKFdzKHQpLDAsZCk6MH1mdW5jdGlvbiBZcyh0KXtpZigibnVtYmVyIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoQnModCkpcmV0dXJuIGg7aWYoQ3ModCkpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0LnZhbHVlT2Y/dC52YWx1ZU9mKCk6dDt0PUNzKGUpP2UrIiI6ZX1pZigic3RyaW5nIiE9dHlwZW9mIHQpcmV0dXJuIDA9PT10P3Q6K3Q7dD0kZSh0KTt2YXIgbj1wdC50ZXN0KHQpO3JldHVybiBufHxtdC50ZXN0KHQpP2FlKHQuc2xpY2UoMiksbj8yOjgpOmR0LnRlc3QodCk/aDordH1mdW5jdGlvbiBYcyh0KXtyZXR1cm4gUXIodCxjbCh0KSl9ZnVuY3Rpb24gJHModCl7cmV0dXJuIG51bGw9PXQ/IiI6TnIodCl9dmFyIEtzPWVvKChmdW5jdGlvbih0LGUpe2lmKFlvKGUpfHx5cyhlKSlRcihlLGxsKGUpLHQpO2Vsc2UgZm9yKHZhciBuIGluIGUpT3QuY2FsbChlLG4pJiZuaSh0LG4sZVtuXSl9KSksWnM9ZW8oKGZ1bmN0aW9uKHQsZSl7UXIoZSxjbChlKSx0KX0pKSxKcz1lbygoZnVuY3Rpb24odCxlLG4saSl7UXIoZSxjbChlKSx0LGkpfSkpLFFzPWVvKChmdW5jdGlvbih0LGUsbixpKXtRcihlLGxsKGUpLHQsaSl9KSksdGw9VG8oc2kpLGVsPXZyKChmdW5jdGlvbihlLG4pe2U9Q3QoZSk7dmFyIGk9LTEscj1uLmxlbmd0aCxvPXI+Mj9uWzJdOnQ7Zm9yKG8mJmpvKG5bMF0sblsxXSxvKSYmKHI9MSk7KytpPHI7KWZvcih2YXIgYT1uW2ldLHM9Y2woYSksbD0tMSxjPXMubGVuZ3RoOysrbDxjOyl7dmFyIHU9c1tsXSxoPWVbdV07KGg9PT10fHxocyhoLE50W3VdKSYmIU90LmNhbGwoZSx1KSkmJihlW3VdPWFbdV0pfXJldHVybiBlfSkpLG5sPXZyKChmdW5jdGlvbihlKXtyZXR1cm4gZS5wdXNoKHQsU28pLHhlKGhsLHQsZSl9KSk7ZnVuY3Rpb24gaWwoZSxuLGkpe3ZhciByPW51bGw9PWU/dDpxaShlLG4pO3JldHVybiByPT09dD9pOnJ9ZnVuY3Rpb24gcmwodCxlKXtyZXR1cm4gbnVsbCE9dCYmSG8odCxlLFppKX12YXIgb2w9dW8oKGZ1bmN0aW9uKHQsZSxuKXtudWxsIT1lJiYiZnVuY3Rpb24iIT10eXBlb2YgZS50b1N0cmluZyYmKGU9QnQuY2FsbChlKSksdFtlXT1ufSksUGwoUmwpKSxhbD11bygoZnVuY3Rpb24odCxlLG4pe251bGwhPWUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlLnRvU3RyaW5nJiYoZT1CdC5jYWxsKGUpKSxPdC5jYWxsKHQsZSk/dFtlXS5wdXNoKG4pOnRbZV09W25dfSksTm8pLHNsPXZyKFFpKTtmdW5jdGlvbiBsbCh0KXtyZXR1cm4geXModCk/Wm4odCk6b3IodCl9ZnVuY3Rpb24gY2wodCl7cmV0dXJuIHlzKHQpP1puKHQsITApOmFyKHQpfXZhciB1bD1lbygoZnVuY3Rpb24odCxlLG4pe2hyKHQsZSxuKX0pKSxobD1lbygoZnVuY3Rpb24odCxlLG4saSl7aHIodCxlLG4saSl9KSksZGw9VG8oKGZ1bmN0aW9uKHQsZSl7dmFyIG49e307aWYobnVsbD09dClyZXR1cm4gbjt2YXIgaT0hMTtlPU5lKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlPVVyKGUsdCksaXx8KGk9ZS5sZW5ndGg+MSksZX0pKSxRcih0LEFvKHQpLG4pLGkmJihuPWNpKG4sNyxNbykpO2Zvcih2YXIgcj1lLmxlbmd0aDtyLS07KVJyKG4sZVtyXSk7cmV0dXJuIG59KSkscGw9VG8oKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQ/e306KGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4gZnIodCxlLChmdW5jdGlvbihlLG4pe3JldHVybiBybCh0LG4pfSkpfSkodCxlKX0pKTtmdW5jdGlvbiBmbCh0LGUpe2lmKG51bGw9PXQpcmV0dXJue307dmFyIG49TmUoQW8odCksKGZ1bmN0aW9uKHQpe3JldHVyblt0XX0pKTtyZXR1cm4gZT1ObyhlKSxmcih0LG4sKGZ1bmN0aW9uKHQsbil7cmV0dXJuIGUodCxuWzBdKX0pKX12YXIgbWw9Ym8obGwpLGdsPWJvKGNsKTtmdW5jdGlvbiBfbCh0KXtyZXR1cm4gbnVsbD09dD9bXTpaZSh0LGxsKHQpKX12YXIgeWw9b28oKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1lLnRvTG93ZXJDYXNlKCksdCsobj92bChlKTplKX0pKTtmdW5jdGlvbiB2bCh0KXtyZXR1cm4gQ2woJHModCkudG9Mb3dlckNhc2UoKSl9ZnVuY3Rpb24gYmwodCl7cmV0dXJuKHQ9JHModCkpJiZ0LnJlcGxhY2UoX3Qsbm4pLnJlcGxhY2UoJHQsIiIpfXZhciB4bD1vbygoZnVuY3Rpb24odCxlLG4pe3JldHVybiB0KyhuPyItIjoiIikrZS50b0xvd2VyQ2FzZSgpfSkpLHdsPW9vKChmdW5jdGlvbih0LGUsbil7cmV0dXJuIHQrKG4/IiAiOiIiKStlLnRvTG93ZXJDYXNlKCl9KSksU2w9cm8oInRvTG93ZXJDYXNlIiksTWw9b28oKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdCsobj8iXyI6IiIpK2UudG9Mb3dlckNhc2UoKX0pKSxFbD1vbygoZnVuY3Rpb24odCxlLG4pe3JldHVybiB0KyhuPyIgIjoiIikrQ2woZSl9KSksVGw9b28oKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdCsobj8iICI6IiIpK2UudG9VcHBlckNhc2UoKX0pKSxDbD1ybygidG9VcHBlckNhc2UiKTtmdW5jdGlvbiBBbChlLG4saSl7cmV0dXJuIGU9JHMoZSksKG49aT90Om4pPT09dD8oZnVuY3Rpb24gcih0KXtyZXR1cm4gUXQudGVzdCh0KX0pKGUpPyhmdW5jdGlvbiBvKHQpe3JldHVybiB0Lm1hdGNoKFp0KXx8W119KShlKTooZnVuY3Rpb24gYSh0KXtyZXR1cm4gdC5tYXRjaChzdCl8fFtdfSkoZSk6ZS5tYXRjaChuKXx8W119dmFyIGtsPXZyKChmdW5jdGlvbihlLG4pe3RyeXtyZXR1cm4geGUoZSx0LG4pfWNhdGNoKHQpe3JldHVybiBTcyh0KT90Om5ldyBNdCh0KX19KSksTGw9VG8oKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1lKGUsKGZ1bmN0aW9uKGUpe2U9bGEoZSksYWkodCxlLHRzKHRbZV0sdCkpfSkpLHR9KSk7ZnVuY3Rpb24gUGwodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fXZhciBObD1sbygpLElsPWxvKCEwKTtmdW5jdGlvbiBSbCh0KXtyZXR1cm4gdH1mdW5jdGlvbiBPbCh0KXtyZXR1cm4gcnIoImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpjaSh0LDEpKX12YXIgemw9dnIoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBRaShuLHQsZSl9fSkpLERsPXZyKChmdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gUWkodCxuLGUpfX0pKTtmdW5jdGlvbiBCbCh0LGUsbil7dmFyIGk9bGwoZSkscj1XaShlLGkpO251bGwhPW58fENzKGUpJiYoci5sZW5ndGh8fCFpLmxlbmd0aCl8fChuPWUsZT10LHQ9dGhpcyxyPVdpKGUsbGwoZSkpKTt2YXIgbz0hKENzKG4pJiYiY2hhaW4iaW4gbiYmIW4uY2hhaW4pLGE9TXModCk7cmV0dXJuIE1lKHIsKGZ1bmN0aW9uKG4pe3ZhciBpPWVbbl07dFtuXT1pLGEmJih0LnByb3RvdHlwZVtuXT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX19jaGFpbl9fO2lmKG98fGUpe3ZhciBuPXQodGhpcy5fX3dyYXBwZWRfXykscj1uLl9fYWN0aW9uc19fPUpyKHRoaXMuX19hY3Rpb25zX18pO3JldHVybiByLnB1c2goe2Z1bmM6aSxhcmdzOmFyZ3VtZW50cyx0aGlzQXJnOnR9KSxuLl9fY2hhaW5fXz1lLG59cmV0dXJuIGkuYXBwbHkodCxJZShbdGhpcy52YWx1ZSgpXSxhcmd1bWVudHMpKX0pfSkpLHR9ZnVuY3Rpb24gSGwoKXt9dmFyIEZsPXBvKE5lKSxWbD1wbyhBZSksVWw9cG8oemUpO2Z1bmN0aW9uIGpsKHQpe3JldHVybiBHbyh0KT9HZShsYSh0KSk6KGZ1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBxaShlLHQpfX0pKHQpfXZhciBHbD1tbygpLFdsPW1vKCEwKTtmdW5jdGlvbiBxbCgpe3JldHVybltdfWZ1bmN0aW9uIFlsKCl7cmV0dXJuITF9dmFyIFhsLCRsPWhvKChmdW5jdGlvbih0LGUpe3JldHVybiB0K2V9KSwwKSxLbD15bygiY2VpbCIpLFpsPWhvKChmdW5jdGlvbih0LGUpe3JldHVybiB0L2V9KSwxKSxKbD15bygiZmxvb3IiKSxRbD1obygoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCplfSksMSksdGM9eW8oInJvdW5kIiksZWM9aG8oKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQtZX0pLDApO3JldHVybiBWbi5hZnRlcj1mdW5jdGlvbiBuYyh0LG4pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IG5ldyBMdChlKTtyZXR1cm4gdD1Xcyh0KSxmdW5jdGlvbigpe2lmKC0tdDwxKXJldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LFZuLmFyeT1KYSxWbi5hc3NpZ249S3MsVm4uYXNzaWduSW49WnMsVm4uYXNzaWduSW5XaXRoPUpzLFZuLmFzc2lnbldpdGg9UXMsVm4uYXQ9dGwsVm4uYmVmb3JlPVFhLFZuLmJpbmQ9dHMsVm4uYmluZEFsbD1MbCxWbi5iaW5kS2V5PWVzLFZuLmNhc3RBcnJheT1mdW5jdGlvbiBpYygpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybltdO3ZhciB0PWFyZ3VtZW50c1swXTtyZXR1cm4gbXModCk/dDpbdF19LFZuLmNoYWluPURhLFZuLmNodW5rPWZ1bmN0aW9uIHJjKGUsbixpKXtuPShpP2pvKGUsbixpKTpuPT09dCk/MTp2bihXcyhuKSwwKTt2YXIgcj1udWxsPT1lPzA6ZS5sZW5ndGg7aWYoIXJ8fG48MSlyZXR1cm5bXTtmb3IodmFyIG89MCxhPTAscz13dChTZShyL24pKTtvPHI7KXNbYSsrXT1UcihlLG8sbys9bik7cmV0dXJuIHN9LFZuLmNvbXBhY3Q9ZnVuY3Rpb24gb2ModCl7Zm9yKHZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoLGk9MCxyPVtdOysrZTxuOyl7dmFyIG89dFtlXTtvJiYocltpKytdPW8pfXJldHVybiByfSxWbi5jb25jYXQ9ZnVuY3Rpb24gYWMoKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoO2lmKCF0KXJldHVybltdO2Zvcih2YXIgZT13dCh0LTEpLG49YXJndW1lbnRzWzBdLGk9dDtpLS07KWVbaS0xXT1hcmd1bWVudHNbaV07cmV0dXJuIEllKG1zKG4pP0pyKG4pOltuXSxGaShlLDEpKX0sVm4uY29uZD1mdW5jdGlvbiBzYyh0KXt2YXIgbj1udWxsPT10PzA6dC5sZW5ndGgsaT1ObygpO3JldHVybiB0PW4/TmUodCwoZnVuY3Rpb24odCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHRbMV0pdGhyb3cgbmV3IEx0KGUpO3JldHVybltpKHRbMF0pLHRbMV1dfSkpOltdLHZyKChmdW5jdGlvbihlKXtmb3IodmFyIGk9LTE7KytpPG47KXt2YXIgcj10W2ldO2lmKHhlKHJbMF0sdGhpcyxlKSlyZXR1cm4geGUoclsxXSx0aGlzLGUpfX0pKX0sVm4uY29uZm9ybXM9ZnVuY3Rpb24gbGModCl7cmV0dXJuKGZ1bmN0aW9uIGUodCl7dmFyIGU9bGwodCk7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB1aShuLHQsZSl9fSkoY2kodCwxKSl9LFZuLmNvbnN0YW50PVBsLFZuLmNvdW50Qnk9RmEsVm4uY3JlYXRlPWZ1bmN0aW9uIGNjKHQsZSl7dmFyIG49VW4odCk7cmV0dXJuIG51bGw9PWU/bjpvaShuLGUpfSxWbi5jdXJyeT1mdW5jdGlvbiBlKG4saSxyKXt2YXIgbz14byhuLDgsdCx0LHQsdCx0LGk9cj90OmkpO3JldHVybiBvLnBsYWNlaG9sZGVyPWUucGxhY2Vob2xkZXIsb30sVm4uY3VycnlSaWdodD1mdW5jdGlvbiBlKG4saSxvKXt2YXIgYT14byhuLHIsdCx0LHQsdCx0LGk9bz90OmkpO3JldHVybiBhLnBsYWNlaG9sZGVyPWUucGxhY2Vob2xkZXIsYX0sVm4uZGVib3VuY2U9bnMsVm4uZGVmYXVsdHM9ZWwsVm4uZGVmYXVsdHNEZWVwPW5sLFZuLmRlZmVyPWlzLFZuLmRlbGF5PXJzLFZuLmRpZmZlcmVuY2U9aGEsVm4uZGlmZmVyZW5jZUJ5PWRhLFZuLmRpZmZlcmVuY2VXaXRoPXBhLFZuLmRyb3A9ZnVuY3Rpb24gdWMoZSxuLGkpe3ZhciByPW51bGw9PWU/MDplLmxlbmd0aDtyZXR1cm4gcj9UcihlLChuPWl8fG49PT10PzE6V3MobikpPDA/MDpuLHIpOltdfSxWbi5kcm9wUmlnaHQ9ZnVuY3Rpb24gaGMoZSxuLGkpe3ZhciByPW51bGw9PWU/MDplLmxlbmd0aDtyZXR1cm4gcj9UcihlLDAsKG49ci0obj1pfHxuPT09dD8xOldzKG4pKSk8MD8wOm4pOltdfSxWbi5kcm9wUmlnaHRXaGlsZT1mdW5jdGlvbiBkYyh0LGUpe3JldHVybiB0JiZ0Lmxlbmd0aD96cih0LE5vKGUsMyksITAsITApOltdfSxWbi5kcm9wV2hpbGU9ZnVuY3Rpb24gcGModCxlKXtyZXR1cm4gdCYmdC5sZW5ndGg/enIodCxObyhlLDMpLCEwKTpbXX0sVm4uZmlsbD1mdW5jdGlvbiBmYyhlLG4saSxyKXt2YXIgbz1udWxsPT1lPzA6ZS5sZW5ndGg7cmV0dXJuIG8/KGkmJiJudW1iZXIiIT10eXBlb2YgaSYmam8oZSxuLGkpJiYoaT0wLHI9byksKGZ1bmN0aW9uIGEoZSxuLGkscil7dmFyIG89ZS5sZW5ndGg7Zm9yKChpPVdzKGkpKTwwJiYoaT0taT5vPzA6bytpKSwocj1yPT09dHx8cj5vP286V3MocikpPDAmJihyKz1vKSxyPWk+cj8wOnFzKHIpO2k8cjspZVtpKytdPW47cmV0dXJuIGV9KShlLG4saSxyKSk6W119LFZuLmZpbHRlcj1mdW5jdGlvbiBtYyh0LGUpe3JldHVybihtcyh0KT9rZTpIaSkodCxObyhlLDMpKX0sVm4uZmxhdE1hcD1mdW5jdGlvbiBnYyh0LGUpe3JldHVybiBGaShYYSh0LGUpLDEpfSxWbi5mbGF0TWFwRGVlcD1mdW5jdGlvbiBfYyh0LGUpe3JldHVybiBGaShYYSh0LGUpLGMpfSxWbi5mbGF0TWFwRGVwdGg9ZnVuY3Rpb24geWMoZSxuLGkpe3JldHVybiBpPWk9PT10PzE6V3MoaSksRmkoWGEoZSxuKSxpKX0sVm4uZmxhdHRlbj1nYSxWbi5mbGF0dGVuRGVlcD1mdW5jdGlvbiB2Yyh0KXtyZXR1cm4gbnVsbCE9dCYmdC5sZW5ndGg/RmkodCxjKTpbXX0sVm4uZmxhdHRlbkRlcHRoPWZ1bmN0aW9uIGJjKGUsbil7cmV0dXJuIG51bGwhPWUmJmUubGVuZ3RoP0ZpKGUsbj1uPT09dD8xOldzKG4pKTpbXX0sVm4uZmxpcD1mdW5jdGlvbiB4Yyh0KXtyZXR1cm4geG8odCw1MTIpfSxWbi5mbG93PU5sLFZuLmZsb3dSaWdodD1JbCxWbi5mcm9tUGFpcnM9ZnVuY3Rpb24gd2ModCl7Zm9yKHZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoLGk9e307KytlPG47KXt2YXIgcj10W2VdO2lbclswXV09clsxXX1yZXR1cm4gaX0sVm4uZnVuY3Rpb25zPWZ1bmN0aW9uIFNjKHQpe3JldHVybiBudWxsPT10P1tdOldpKHQsbGwodCkpfSxWbi5mdW5jdGlvbnNJbj1mdW5jdGlvbiBNYyh0KXtyZXR1cm4gbnVsbD09dD9bXTpXaSh0LGNsKHQpKX0sVm4uZ3JvdXBCeT1XYSxWbi5pbml0aWFsPWZ1bmN0aW9uIEVjKHQpe3JldHVybiBudWxsIT10JiZ0Lmxlbmd0aD9Ucih0LDAsLTEpOltdfSxWbi5pbnRlcnNlY3Rpb249eWEsVm4uaW50ZXJzZWN0aW9uQnk9dmEsVm4uaW50ZXJzZWN0aW9uV2l0aD1iYSxWbi5pbnZlcnQ9b2wsVm4uaW52ZXJ0Qnk9YWwsVm4uaW52b2tlTWFwPXFhLFZuLml0ZXJhdGVlPU9sLFZuLmtleUJ5PVlhLFZuLmtleXM9bGwsVm4ua2V5c0luPWNsLFZuLm1hcD1YYSxWbi5tYXBLZXlzPWZ1bmN0aW9uIFRjKHQsZSl7dmFyIG49e307cmV0dXJuIGU9Tm8oZSwzKSxqaSh0LChmdW5jdGlvbih0LGkscil7YWkobixlKHQsaSxyKSx0KX0pKSxufSxWbi5tYXBWYWx1ZXM9ZnVuY3Rpb24gQ2ModCxlKXt2YXIgbj17fTtyZXR1cm4gZT1ObyhlLDMpLGppKHQsKGZ1bmN0aW9uKHQsaSxyKXthaShuLGksZSh0LGkscikpfSkpLG59LFZuLm1hdGNoZXM9ZnVuY3Rpb24gQWModCl7cmV0dXJuIGNyKGNpKHQsMSkpfSxWbi5tYXRjaGVzUHJvcGVydHk9ZnVuY3Rpb24ga2ModCxlKXtyZXR1cm4gdXIodCxjaShlLDEpKX0sVm4ubWVtb2l6ZT1vcyxWbi5tZXJnZT11bCxWbi5tZXJnZVdpdGg9aGwsVm4ubWV0aG9kPXpsLFZuLm1ldGhvZE9mPURsLFZuLm1peGluPUJsLFZuLm5lZ2F0ZT1hcyxWbi5udGhBcmc9ZnVuY3Rpb24gTGModCl7cmV0dXJuIHQ9V3ModCksdnIoKGZ1bmN0aW9uKGUpe3JldHVybiBkcihlLHQpfSkpfSxWbi5vbWl0PWRsLFZuLm9taXRCeT1mdW5jdGlvbiBQYyh0LGUpe3JldHVybiBmbCh0LGFzKE5vKGUpKSl9LFZuLm9uY2U9ZnVuY3Rpb24gTmModCl7cmV0dXJuIFFhKDIsdCl9LFZuLm9yZGVyQnk9ZnVuY3Rpb24gSWMoZSxuLGkscil7cmV0dXJuIG51bGw9PWU/W106KG1zKG4pfHwobj1udWxsPT1uP1tdOltuXSksbXMoaT1yP3Q6aSl8fChpPW51bGw9PWk/W106W2ldKSxwcihlLG4saSkpfSxWbi5vdmVyPUZsLFZuLm92ZXJBcmdzPXNzLFZuLm92ZXJFdmVyeT1WbCxWbi5vdmVyU29tZT1VbCxWbi5wYXJ0aWFsPWxzLFZuLnBhcnRpYWxSaWdodD1jcyxWbi5wYXJ0aXRpb249JGEsVm4ucGljaz1wbCxWbi5waWNrQnk9ZmwsVm4ucHJvcGVydHk9amwsVm4ucHJvcGVydHlPZj1mdW5jdGlvbiBSYyhlKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG51bGw9PWU/dDpxaShlLG4pfX0sVm4ucHVsbD13YSxWbi5wdWxsQWxsPVNhLFZuLnB1bGxBbGxCeT1mdW5jdGlvbiBPYyh0LGUsbil7cmV0dXJuIHQmJnQubGVuZ3RoJiZlJiZlLmxlbmd0aD9tcih0LGUsTm8obiwyKSk6dH0sVm4ucHVsbEFsbFdpdGg9ZnVuY3Rpb24gemMoZSxuLGkpe3JldHVybiBlJiZlLmxlbmd0aCYmbiYmbi5sZW5ndGg/bXIoZSxuLHQsaSk6ZX0sVm4ucHVsbEF0PU1hLFZuLnJhbmdlPUdsLFZuLnJhbmdlUmlnaHQ9V2wsVm4ucmVhcmc9dXMsVm4ucmVqZWN0PWZ1bmN0aW9uIERjKHQsZSl7cmV0dXJuKG1zKHQpP2tlOkhpKSh0LGFzKE5vKGUsMykpKX0sVm4ucmVtb3ZlPWZ1bmN0aW9uIEJjKHQsZSl7dmFyIG49W107aWYoIXR8fCF0Lmxlbmd0aClyZXR1cm4gbjt2YXIgaT0tMSxyPVtdLG89dC5sZW5ndGg7Zm9yKGU9Tm8oZSwzKTsrK2k8bzspe3ZhciBhPXRbaV07ZShhLGksdCkmJihuLnB1c2goYSksci5wdXNoKGkpKX1yZXR1cm4gZ3IodCxyKSxufSxWbi5yZXN0PWZ1bmN0aW9uIEhjKG4saSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEx0KGUpO3JldHVybiB2cihuLGk9aT09PXQ/aTpXcyhpKSl9LFZuLnJldmVyc2U9RWEsVm4uc2FtcGxlU2l6ZT1mdW5jdGlvbiBGYyhlLG4saSl7cmV0dXJuIG49KGk/am8oZSxuLGkpOm49PT10KT8xOldzKG4pLChtcyhlKT9Rbjp4cikoZSxuKX0sVm4uc2V0PWZ1bmN0aW9uIFZjKHQsZSxuKXtyZXR1cm4gbnVsbD09dD90OndyKHQsZSxuKX0sVm4uc2V0V2l0aD1mdW5jdGlvbiBVYyhlLG4saSxyKXtyZXR1cm4gcj0iZnVuY3Rpb24iPT10eXBlb2Ygcj9yOnQsbnVsbD09ZT9lOndyKGUsbixpLHIpfSxWbi5zaHVmZmxlPWZ1bmN0aW9uIGpjKHQpe3JldHVybihtcyh0KT90aTpFcikodCl9LFZuLnNsaWNlPWZ1bmN0aW9uIEdjKGUsbixpKXt2YXIgcj1udWxsPT1lPzA6ZS5sZW5ndGg7cmV0dXJuIHI/KGkmJiJudW1iZXIiIT10eXBlb2YgaSYmam8oZSxuLGkpPyhuPTAsaT1yKToobj1udWxsPT1uPzA6V3MobiksaT1pPT09dD9yOldzKGkpKSxUcihlLG4saSkpOltdfSxWbi5zb3J0Qnk9S2EsVm4uc29ydGVkVW5pcT1mdW5jdGlvbiBXYyh0KXtyZXR1cm4gdCYmdC5sZW5ndGg/THIodCk6W119LFZuLnNvcnRlZFVuaXFCeT1mdW5jdGlvbiBxYyh0LGUpe3JldHVybiB0JiZ0Lmxlbmd0aD9Mcih0LE5vKGUsMikpOltdfSxWbi5zcGxpdD1mdW5jdGlvbiBZYyhlLG4saSl7cmV0dXJuIGkmJiJudW1iZXIiIT10eXBlb2YgaSYmam8oZSxuLGkpJiYobj1pPXQpLChpPWk9PT10P2Q6aT4+PjApPyhlPSRzKGUpKSYmKCJzdHJpbmciPT10eXBlb2Ygbnx8bnVsbCE9biYmIUlzKG4pKSYmIShuPU5yKG4pKSYmYW4oZSk/R3IocG4oZSksMCxpKTplLnNwbGl0KG4saSk6W119LFZuLnNwcmVhZD1mdW5jdGlvbiBYYyh0LG4pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBMdChlKTtyZXR1cm4gbj1udWxsPT1uPzA6dm4oV3MobiksMCksdnIoKGZ1bmN0aW9uKGUpe3ZhciBpPWVbbl0scj1HcihlLDAsbik7cmV0dXJuIGkmJkllKHIsaSkseGUodCx0aGlzLHIpfSkpfSxWbi50YWlsPWZ1bmN0aW9uICRjKHQpe3ZhciBlPW51bGw9PXQ/MDp0Lmxlbmd0aDtyZXR1cm4gZT9Ucih0LDEsZSk6W119LFZuLnRha2U9ZnVuY3Rpb24gS2MoZSxuLGkpe3JldHVybiBlJiZlLmxlbmd0aD9UcihlLDAsKG49aXx8bj09PXQ/MTpXcyhuKSk8MD8wOm4pOltdfSxWbi50YWtlUmlnaHQ9ZnVuY3Rpb24gWmMoZSxuLGkpe3ZhciByPW51bGw9PWU/MDplLmxlbmd0aDtyZXR1cm4gcj9UcihlLChuPXItKG49aXx8bj09PXQ/MTpXcyhuKSkpPDA/MDpuLHIpOltdfSxWbi50YWtlUmlnaHRXaGlsZT1mdW5jdGlvbiBKYyh0LGUpe3JldHVybiB0JiZ0Lmxlbmd0aD96cih0LE5vKGUsMyksITEsITApOltdfSxWbi50YWtlV2hpbGU9ZnVuY3Rpb24gUWModCxlKXtyZXR1cm4gdCYmdC5sZW5ndGg/enIodCxObyhlLDMpKTpbXX0sVm4udGFwPWZ1bmN0aW9uIHR1KHQsZSl7cmV0dXJuIGUodCksdH0sVm4udGhyb3R0bGU9ZnVuY3Rpb24gZXUodCxuLGkpe3ZhciByPSEwLG89ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEx0KGUpO3JldHVybiBDcyhpKSYmKHI9ImxlYWRpbmciaW4gaT8hIWkubGVhZGluZzpyLG89InRyYWlsaW5nImluIGk/ISFpLnRyYWlsaW5nOm8pLG5zKHQsbix7bGVhZGluZzpyLG1heFdhaXQ6bix0cmFpbGluZzpvfSl9LFZuLnRocnU9QmEsVm4udG9BcnJheT1qcyxWbi50b1BhaXJzPW1sLFZuLnRvUGFpcnNJbj1nbCxWbi50b1BhdGg9ZnVuY3Rpb24gbnUodCl7cmV0dXJuIG1zKHQpP05lKHQsbGEpOkJzKHQpP1t0XTpKcihhYSgkcyh0KSkpfSxWbi50b1BsYWluT2JqZWN0PVhzLFZuLnRyYW5zZm9ybT1mdW5jdGlvbiBpdSh0LGUsbil7dmFyIGk9bXModCkscj1pfHxicyh0KXx8SHModCk7aWYoZT1ObyhlLDQpLG51bGw9PW4pe3ZhciBvPXQmJnQuY29uc3RydWN0b3I7bj1yP2k/bmV3IG86W106Q3ModCkmJk1zKG8pP1VuKHF0KHQpKTp7fX1yZXR1cm4ocj9NZTpqaSkodCwoZnVuY3Rpb24odCxpLHIpe3JldHVybiBlKG4sdCxpLHIpfSkpLG59LFZuLnVuYXJ5PWZ1bmN0aW9uIHJ1KHQpe3JldHVybiBKYSh0LDEpfSxWbi51bmlvbj1UYSxWbi51bmlvbkJ5PUNhLFZuLnVuaW9uV2l0aD1BYSxWbi51bmlxPWZ1bmN0aW9uIG91KHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9Jcih0KTpbXX0sVm4udW5pcUJ5PWZ1bmN0aW9uIGF1KHQsZSl7cmV0dXJuIHQmJnQubGVuZ3RoP0lyKHQsTm8oZSwyKSk6W119LFZuLnVuaXFXaXRoPWZ1bmN0aW9uIHN1KGUsbil7cmV0dXJuIG49ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjp0LGUmJmUubGVuZ3RoP0lyKGUsdCxuKTpbXX0sVm4udW5zZXQ9ZnVuY3Rpb24gbHUodCxlKXtyZXR1cm4gbnVsbD09dHx8UnIodCxlKX0sVm4udW56aXA9a2EsVm4udW56aXBXaXRoPUxhLFZuLnVwZGF0ZT1mdW5jdGlvbiBjdSh0LGUsbil7cmV0dXJuIG51bGw9PXQ/dDpPcih0LGUsVnIobikpfSxWbi51cGRhdGVXaXRoPWZ1bmN0aW9uIHV1KGUsbixpLHIpe3JldHVybiByPSJmdW5jdGlvbiI9PXR5cGVvZiByP3I6dCxudWxsPT1lP2U6T3IoZSxuLFZyKGkpLHIpfSxWbi52YWx1ZXM9X2wsVm4udmFsdWVzSW49ZnVuY3Rpb24gaHUodCl7cmV0dXJuIG51bGw9PXQ/W106WmUodCxjbCh0KSl9LFZuLndpdGhvdXQ9UGEsVm4ud29yZHM9QWwsVm4ud3JhcD1mdW5jdGlvbiBkdSh0LGUpe3JldHVybiBscyhWcihlKSx0KX0sVm4ueG9yPU5hLFZuLnhvckJ5PUlhLFZuLnhvcldpdGg9UmEsVm4uemlwPU9hLFZuLnppcE9iamVjdD1mdW5jdGlvbiBwdSh0LGUpe3JldHVybiBIcih0fHxbXSxlfHxbXSxuaSl9LFZuLnppcE9iamVjdERlZXA9ZnVuY3Rpb24gZnUodCxlKXtyZXR1cm4gSHIodHx8W10sZXx8W10sd3IpfSxWbi56aXBXaXRoPXphLFZuLmVudHJpZXM9bWwsVm4uZW50cmllc0luPWdsLFZuLmV4dGVuZD1acyxWbi5leHRlbmRXaXRoPUpzLEJsKFZuLFZuKSxWbi5hZGQ9JGwsVm4uYXR0ZW1wdD1rbCxWbi5jYW1lbENhc2U9eWwsVm4uY2FwaXRhbGl6ZT12bCxWbi5jZWlsPUtsLFZuLmNsYW1wPWZ1bmN0aW9uIG11KGUsbixpKXtyZXR1cm4gaT09PXQmJihpPW4sbj10KSxpIT09dCYmKGk9KGk9WXMoaSkpPT1pP2k6MCksbiE9PXQmJihuPShuPVlzKG4pKT09bj9uOjApLGxpKFlzKGUpLG4saSl9LFZuLmNsb25lPWZ1bmN0aW9uIGd1KHQpe3JldHVybiBjaSh0LDQpfSxWbi5jbG9uZURlZXA9ZnVuY3Rpb24gX3UodCl7cmV0dXJuIGNpKHQsNSl9LFZuLmNsb25lRGVlcFdpdGg9ZnVuY3Rpb24geXUoZSxuKXtyZXR1cm4gY2koZSw1LG49ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjp0KX0sVm4uY2xvbmVXaXRoPWZ1bmN0aW9uIHZ1KGUsbil7cmV0dXJuIGNpKGUsNCxuPSJmdW5jdGlvbiI9PXR5cGVvZiBuP246dCl9LFZuLmNvbmZvcm1zVG89ZnVuY3Rpb24gYnUodCxlKXtyZXR1cm4gbnVsbD09ZXx8dWkodCxlLGxsKGUpKX0sVm4uZGVidXJyPWJsLFZuLmRlZmF1bHRUbz1mdW5jdGlvbiB4dSh0LGUpe3JldHVybiBudWxsPT10fHx0IT10P2U6dH0sVm4uZGl2aWRlPVpsLFZuLmVuZHNXaXRoPWZ1bmN0aW9uIHd1KGUsbixpKXtlPSRzKGUpLG49TnIobik7dmFyIHI9ZS5sZW5ndGgsbz1pPWk9PT10P3I6bGkoV3MoaSksMCxyKTtyZXR1cm4oaS09bi5sZW5ndGgpPj0wJiZlLnNsaWNlKGksbyk9PW59LFZuLmVxPWhzLFZuLmVzY2FwZT1mdW5jdGlvbiBTdSh0KXtyZXR1cm4odD0kcyh0KSkmJlkudGVzdCh0KT90LnJlcGxhY2UoVyxybik6dH0sVm4uZXNjYXBlUmVnRXhwPWZ1bmN0aW9uIE11KHQpe3JldHVybih0PSRzKHQpKSYmZXQudGVzdCh0KT90LnJlcGxhY2UodHQsIlxcJCYiKTp0fSxWbi5ldmVyeT1mdW5jdGlvbiBFdShlLG4saSl7dmFyIHI9bXMoZSk/QWU6RGk7cmV0dXJuIGkmJmpvKGUsbixpKSYmKG49dCkscihlLE5vKG4sMykpfSxWbi5maW5kPVZhLFZuLmZpbmRJbmRleD1mYSxWbi5maW5kS2V5PWZ1bmN0aW9uIFR1KHQsZSl7cmV0dXJuIEJlKHQsTm8oZSwzKSxqaSl9LFZuLmZpbmRMYXN0PVVhLFZuLmZpbmRMYXN0SW5kZXg9bWEsVm4uZmluZExhc3RLZXk9ZnVuY3Rpb24gQ3UodCxlKXtyZXR1cm4gQmUodCxObyhlLDMpLEdpKX0sVm4uZmxvb3I9SmwsVm4uZm9yRWFjaD1qYSxWbi5mb3JFYWNoUmlnaHQ9R2EsVm4uZm9ySW49ZnVuY3Rpb24gQXUodCxlKXtyZXR1cm4gbnVsbD09dD90OlZpKHQsTm8oZSwzKSxjbCl9LFZuLmZvckluUmlnaHQ9ZnVuY3Rpb24ga3UodCxlKXtyZXR1cm4gbnVsbD09dD90OlVpKHQsTm8oZSwzKSxjbCl9LFZuLmZvck93bj1mdW5jdGlvbiBMdSh0LGUpe3JldHVybiB0JiZqaSh0LE5vKGUsMykpfSxWbi5mb3JPd25SaWdodD1mdW5jdGlvbiBQdSh0LGUpe3JldHVybiB0JiZHaSh0LE5vKGUsMykpfSxWbi5nZXQ9aWwsVm4uZ3Q9ZHMsVm4uZ3RlPXBzLFZuLmhhcz1mdW5jdGlvbiBOdSh0LGUpe3JldHVybiBudWxsIT10JiZIbyh0LGUsS2kpfSxWbi5oYXNJbj1ybCxWbi5oZWFkPV9hLFZuLmlkZW50aXR5PVJsLFZuLmluY2x1ZGVzPWZ1bmN0aW9uIEl1KHQsZSxuLGkpe3Q9eXModCk/dDpfbCh0KSxuPW4mJiFpP1dzKG4pOjA7dmFyIHI9dC5sZW5ndGg7cmV0dXJuIG48MCYmKG49dm4ocituLDApKSxEcyh0KT9uPD1yJiZ0LmluZGV4T2YoZSxuKT4tMTohIXImJkZlKHQsZSxuKT4tMX0sVm4uaW5kZXhPZj1mdW5jdGlvbiBSdSh0LGUsbil7dmFyIGk9bnVsbD09dD8wOnQubGVuZ3RoO2lmKCFpKXJldHVybi0xO3ZhciByPW51bGw9PW4/MDpXcyhuKTtyZXR1cm4gcjwwJiYocj12bihpK3IsMCkpLEZlKHQsZSxyKX0sVm4uaW5SYW5nZT1mdW5jdGlvbiBPdShlLG4saSl7cmV0dXJuIG49R3MobiksaT09PXQ/KGk9bixuPTApOmk9R3MoaSksKGZ1bmN0aW9uIHIodCxlLG4pe3JldHVybiB0Pj1ibihlLG4pJiZ0PHZuKGUsbil9KShlPVlzKGUpLG4saSl9LFZuLmludm9rZT1zbCxWbi5pc0FyZ3VtZW50cz1mcyxWbi5pc0FycmF5PW1zLFZuLmlzQXJyYXlCdWZmZXI9Z3MsVm4uaXNBcnJheUxpa2U9eXMsVm4uaXNBcnJheUxpa2VPYmplY3Q9dnMsVm4uaXNCb29sZWFuPWZ1bmN0aW9uIHp1KHQpe3JldHVybiEwPT09dHx8ITE9PT10fHxBcyh0KSYmWGkodCk9PWd9LFZuLmlzQnVmZmVyPWJzLFZuLmlzRGF0ZT14cyxWbi5pc0VsZW1lbnQ9ZnVuY3Rpb24gRHUodCl7cmV0dXJuIEFzKHQpJiYxPT09dC5ub2RlVHlwZSYmIU5zKHQpfSxWbi5pc0VtcHR5PWZ1bmN0aW9uIEJ1KHQpe2lmKG51bGw9PXQpcmV0dXJuITA7aWYoeXModCkmJihtcyh0KXx8InN0cmluZyI9PXR5cGVvZiB0fHwiZnVuY3Rpb24iPT10eXBlb2YgdC5zcGxpY2V8fGJzKHQpfHxIcyh0KXx8ZnModCkpKXJldHVybiF0Lmxlbmd0aDt2YXIgZT1Cbyh0KTtpZihlPT14fHxlPT1UKXJldHVybiF0LnNpemU7aWYoWW8odCkpcmV0dXJuIW9yKHQpLmxlbmd0aDtmb3IodmFyIG4gaW4gdClpZihPdC5jYWxsKHQsbikpcmV0dXJuITE7cmV0dXJuITB9LFZuLmlzRXF1YWw9ZnVuY3Rpb24gSHUodCxlKXtyZXR1cm4gZXIodCxlKX0sVm4uaXNFcXVhbFdpdGg9ZnVuY3Rpb24gRnUoZSxuLGkpe3ZhciByPShpPSJmdW5jdGlvbiI9PXR5cGVvZiBpP2k6dCk/aShlLG4pOnQ7cmV0dXJuIHI9PT10P2VyKGUsbix0LGkpOiEhcn0sVm4uaXNFcnJvcj1TcyxWbi5pc0Zpbml0ZT1mdW5jdGlvbiBWdSh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJldlKHQpfSxWbi5pc0Z1bmN0aW9uPU1zLFZuLmlzSW50ZWdlcj1FcyxWbi5pc0xlbmd0aD1UcyxWbi5pc01hcD1rcyxWbi5pc01hdGNoPWZ1bmN0aW9uIFV1KHQsZSl7cmV0dXJuIHQ9PT1lfHxucih0LGUsUm8oZSkpfSxWbi5pc01hdGNoV2l0aD1mdW5jdGlvbiBqdShlLG4saSl7cmV0dXJuIGk9ImZ1bmN0aW9uIj09dHlwZW9mIGk/aTp0LG5yKGUsbixSbyhuKSxpKX0sVm4uaXNOYU49ZnVuY3Rpb24gR3UodCl7cmV0dXJuIFBzKHQpJiZ0IT0rdH0sVm4uaXNOYXRpdmU9ZnVuY3Rpb24gV3UodCl7aWYocW8odCkpdGhyb3cgbmV3IE10KCJVbnN1cHBvcnRlZCBjb3JlLWpzIHVzZS4gVHJ5IGh0dHBzOi8vbnBtcy5pby9zZWFyY2g/cT1wb255ZmlsbC4iKTtyZXR1cm4gaXIodCl9LFZuLmlzTmlsPWZ1bmN0aW9uIHF1KHQpe3JldHVybiBudWxsPT10fSxWbi5pc051bGw9ZnVuY3Rpb24gWXUodCl7cmV0dXJuIG51bGw9PT10fSxWbi5pc051bWJlcj1QcyxWbi5pc09iamVjdD1DcyxWbi5pc09iamVjdExpa2U9QXMsVm4uaXNQbGFpbk9iamVjdD1OcyxWbi5pc1JlZ0V4cD1JcyxWbi5pc1NhZmVJbnRlZ2VyPWZ1bmN0aW9uIFh1KHQpe3JldHVybiBFcyh0KSYmdD49LTkwMDcxOTkyNTQ3NDA5OTEmJnQ8PXV9LFZuLmlzU2V0PU9zLFZuLmlzU3RyaW5nPURzLFZuLmlzU3ltYm9sPUJzLFZuLmlzVHlwZWRBcnJheT1IcyxWbi5pc1VuZGVmaW5lZD1mdW5jdGlvbiAkdShlKXtyZXR1cm4gZT09PXR9LFZuLmlzV2Vha01hcD1mdW5jdGlvbiBLdSh0KXtyZXR1cm4gQXModCkmJkJvKHQpPT1rfSxWbi5pc1dlYWtTZXQ9ZnVuY3Rpb24gWnUodCl7cmV0dXJuIEFzKHQpJiYiW29iamVjdCBXZWFrU2V0XSI9PVhpKHQpfSxWbi5qb2luPWZ1bmN0aW9uIEp1KHQsZSl7cmV0dXJuIG51bGw9PXQ/IiI6X24uY2FsbCh0LGUpfSxWbi5rZWJhYkNhc2U9eGwsVm4ubGFzdD14YSxWbi5sYXN0SW5kZXhPZj1mdW5jdGlvbiBRdShlLG4saSl7dmFyIHI9bnVsbD09ZT8wOmUubGVuZ3RoO2lmKCFyKXJldHVybi0xO3ZhciBvPXI7cmV0dXJuIGkhPT10JiYobz0obz1XcyhpKSk8MD92bihyK28sMCk6Ym4obyxyLTEpKSxuPT1uPyhmdW5jdGlvbiBhKHQsZSxuKXtmb3IodmFyIGk9bisxO2ktLTspaWYodFtpXT09PWUpcmV0dXJuIGk7cmV0dXJuIGl9KShlLG4sbyk6SGUoZSxVZSxvLCEwKX0sVm4ubG93ZXJDYXNlPXdsLFZuLmxvd2VyRmlyc3Q9U2wsVm4ubHQ9VnMsVm4ubHRlPVVzLFZuLm1heD1mdW5jdGlvbiB0aChlKXtyZXR1cm4gZSYmZS5sZW5ndGg/QmkoZSxSbCwkaSk6dH0sVm4ubWF4Qnk9ZnVuY3Rpb24gZWgoZSxuKXtyZXR1cm4gZSYmZS5sZW5ndGg/QmkoZSxObyhuLDIpLCRpKTp0fSxWbi5tZWFuPWZ1bmN0aW9uIG5oKHQpe3JldHVybiBqZSh0LFJsKX0sVm4ubWVhbkJ5PWZ1bmN0aW9uIGloKHQsZSl7cmV0dXJuIGplKHQsTm8oZSwyKSl9LFZuLm1pbj1mdW5jdGlvbiByaChlKXtyZXR1cm4gZSYmZS5sZW5ndGg/QmkoZSxSbCxzcik6dH0sVm4ubWluQnk9ZnVuY3Rpb24gb2goZSxuKXtyZXR1cm4gZSYmZS5sZW5ndGg/QmkoZSxObyhuLDIpLHNyKTp0fSxWbi5zdHViQXJyYXk9cWwsVm4uc3R1YkZhbHNlPVlsLFZuLnN0dWJPYmplY3Q9ZnVuY3Rpb24gYWgoKXtyZXR1cm57fX0sVm4uc3R1YlN0cmluZz1mdW5jdGlvbiBzaCgpe3JldHVybiIifSxWbi5zdHViVHJ1ZT1mdW5jdGlvbiBsaCgpe3JldHVybiEwfSxWbi5tdWx0aXBseT1RbCxWbi5udGg9ZnVuY3Rpb24gY2goZSxuKXtyZXR1cm4gZSYmZS5sZW5ndGg/ZHIoZSxXcyhuKSk6dH0sVm4ubm9Db25mbGljdD1mdW5jdGlvbiB1aCgpe3JldHVybiBjZS5fPT09dGhpcyYmKGNlLl89RnQpLHRoaXN9LFZuLm5vb3A9SGwsVm4ubm93PVphLFZuLnBhZD1mdW5jdGlvbiBoaCh0LGUsbil7dD0kcyh0KTt2YXIgaT0oZT1XcyhlKSk/ZG4odCk6MDtpZighZXx8aT49ZSlyZXR1cm4gdDt2YXIgcj0oZS1pKS8yO3JldHVybiBmbyhFZShyKSxuKSt0K2ZvKFNlKHIpLG4pfSxWbi5wYWRFbmQ9ZnVuY3Rpb24gZGgodCxlLG4pe3Q9JHModCk7dmFyIGk9KGU9V3MoZSkpP2RuKHQpOjA7cmV0dXJuIGUmJmk8ZT90K2ZvKGUtaSxuKTp0fSxWbi5wYWRTdGFydD1mdW5jdGlvbiBwaCh0LGUsbil7dD0kcyh0KTt2YXIgaT0oZT1XcyhlKSk/ZG4odCk6MDtyZXR1cm4gZSYmaTxlP2ZvKGUtaSxuKSt0OnR9LFZuLnBhcnNlSW50PWZ1bmN0aW9uIGZoKHQsZSxuKXtyZXR1cm4gbnx8bnVsbD09ZT9lPTA6ZSYmKGU9K2UpLHduKCRzKHQpLnJlcGxhY2UobnQsIiIpLGV8fDApfSxWbi5yYW5kb209ZnVuY3Rpb24gbWgoZSxuLGkpe2lmKGkmJiJib29sZWFuIiE9dHlwZW9mIGkmJmpvKGUsbixpKSYmKG49aT10KSxpPT09dCYmKCJib29sZWFuIj09dHlwZW9mIG4/KGk9bixuPXQpOiJib29sZWFuIj09dHlwZW9mIGUmJihpPWUsZT10KSksZT09PXQmJm49PT10PyhlPTAsbj0xKTooZT1HcyhlKSxuPT09dD8obj1lLGU9MCk6bj1HcyhuKSksZT5uKXt2YXIgcj1lO2U9bixuPXJ9aWYoaXx8ZSUxfHxuJTEpe3ZhciBvPVNuKCk7cmV0dXJuIGJuKGUrbyoobi1lK29lKCIxZS0iKygobysiIikubGVuZ3RoLTEpKSksbil9cmV0dXJuIF9yKGUsbil9LFZuLnJlZHVjZT1mdW5jdGlvbiBnaCh0LGUsbil7dmFyIGk9bXModCk/UmU6cWUscj1hcmd1bWVudHMubGVuZ3RoPDM7cmV0dXJuIGkodCxObyhlLDQpLG4scixPaSl9LFZuLnJlZHVjZVJpZ2h0PWZ1bmN0aW9uIF9oKHQsZSxuKXt2YXIgaT1tcyh0KT9PZTpxZSxyPWFyZ3VtZW50cy5sZW5ndGg8MztyZXR1cm4gaSh0LE5vKGUsNCksbixyLHppKX0sVm4ucmVwZWF0PWZ1bmN0aW9uIHloKGUsbixpKXtyZXR1cm4gbj0oaT9qbyhlLG4saSk6bj09PXQpPzE6V3MobikseXIoJHMoZSksbil9LFZuLnJlcGxhY2U9ZnVuY3Rpb24gdmgoKXt2YXIgdD1hcmd1bWVudHMsZT0kcyh0WzBdKTtyZXR1cm4gdC5sZW5ndGg8Mz9lOmUucmVwbGFjZSh0WzFdLHRbMl0pfSxWbi5yZXN1bHQ9ZnVuY3Rpb24gYmgoZSxuLGkpe3ZhciByPS0xLG89KG49VXIobixlKSkubGVuZ3RoO2ZvcihvfHwobz0xLGU9dCk7KytyPG87KXt2YXIgYT1udWxsPT1lP3Q6ZVtsYShuW3JdKV07YT09PXQmJihyPW8sYT1pKSxlPU1zKGEpP2EuY2FsbChlKTphfXJldHVybiBlfSxWbi5yb3VuZD10YyxWbi5ydW5JbkNvbnRleHQ9aXQsVm4uc2FtcGxlPWZ1bmN0aW9uIHhoKHQpe3JldHVybihtcyh0KT9KbjpicikodCl9LFZuLnNpemU9ZnVuY3Rpb24gd2godCl7aWYobnVsbD09dClyZXR1cm4gMDtpZih5cyh0KSlyZXR1cm4gRHModCk/ZG4odCk6dC5sZW5ndGg7dmFyIGU9Qm8odCk7cmV0dXJuIGU9PXh8fGU9PVQ/dC5zaXplOm9yKHQpLmxlbmd0aH0sVm4uc25ha2VDYXNlPU1sLFZuLnNvbWU9ZnVuY3Rpb24gU2goZSxuLGkpe3ZhciByPW1zKGUpP3plOkNyO3JldHVybiBpJiZqbyhlLG4saSkmJihuPXQpLHIoZSxObyhuLDMpKX0sVm4uc29ydGVkSW5kZXg9ZnVuY3Rpb24gTWgodCxlKXtyZXR1cm4gQXIodCxlKX0sVm4uc29ydGVkSW5kZXhCeT1mdW5jdGlvbiBFaCh0LGUsbil7cmV0dXJuIGtyKHQsZSxObyhuLDIpKX0sVm4uc29ydGVkSW5kZXhPZj1mdW5jdGlvbiBUaCh0LGUpe3ZhciBuPW51bGw9PXQ/MDp0Lmxlbmd0aDtpZihuKXt2YXIgaT1Bcih0LGUpO2lmKGk8biYmaHModFtpXSxlKSlyZXR1cm4gaX1yZXR1cm4tMX0sVm4uc29ydGVkTGFzdEluZGV4PWZ1bmN0aW9uIENoKHQsZSl7cmV0dXJuIEFyKHQsZSwhMCl9LFZuLnNvcnRlZExhc3RJbmRleEJ5PWZ1bmN0aW9uIEFoKHQsZSxuKXtyZXR1cm4ga3IodCxlLE5vKG4sMiksITApfSxWbi5zb3J0ZWRMYXN0SW5kZXhPZj1mdW5jdGlvbiBraCh0LGUpe2lmKG51bGwhPXQmJnQubGVuZ3RoKXt2YXIgbj1Bcih0LGUsITApLTE7aWYoaHModFtuXSxlKSlyZXR1cm4gbn1yZXR1cm4tMX0sVm4uc3RhcnRDYXNlPUVsLFZuLnN0YXJ0c1dpdGg9ZnVuY3Rpb24gTGgodCxlLG4pe3JldHVybiB0PSRzKHQpLG49bnVsbD09bj8wOmxpKFdzKG4pLDAsdC5sZW5ndGgpLGU9TnIoZSksdC5zbGljZShuLG4rZS5sZW5ndGgpPT1lfSxWbi5zdWJ0cmFjdD1lYyxWbi5zdW09ZnVuY3Rpb24gUGgodCl7cmV0dXJuIHQmJnQubGVuZ3RoP1llKHQsUmwpOjB9LFZuLnN1bUJ5PWZ1bmN0aW9uIE5oKHQsZSl7cmV0dXJuIHQmJnQubGVuZ3RoP1llKHQsTm8oZSwyKSk6MH0sVm4udGVtcGxhdGU9ZnVuY3Rpb24gSWgoZSxuLGkpe3ZhciByPVZuLnRlbXBsYXRlU2V0dGluZ3M7aSYmam8oZSxuLGkpJiYobj10KSxlPSRzKGUpLG49SnMoe30sbixyLHdvKTt2YXIgbyxhLHM9SnMoe30sbi5pbXBvcnRzLHIuaW1wb3J0cyx3byksbD1sbChzKSxjPVplKHMsbCksdT0wLGg9bi5pbnRlcnBvbGF0ZXx8eXQsZD0iX19wICs9ICciLHA9QXQoKG4uZXNjYXBlfHx5dCkuc291cmNlKyJ8IitoLnNvdXJjZSsifCIrKGg9PT1LP3V0Onl0KS5zb3VyY2UrInwiKyhuLmV2YWx1YXRlfHx5dCkuc291cmNlKyJ8JCIsImciKSxmPSIvLyMgc291cmNlVVJMPSIrKE90LmNhbGwobiwic291cmNlVVJMIik/KG4uc291cmNlVVJMKyIiKS5yZXBsYWNlKC9ccy9nLCIgIik6ImxvZGFzaC50ZW1wbGF0ZVNvdXJjZXNbIisgKytlZSsiXSIpKyJcbiI7ZS5yZXBsYWNlKHAsKGZ1bmN0aW9uKHQsbixpLHIscyxsKXtyZXR1cm4gaXx8KGk9ciksZCs9ZS5zbGljZSh1LGwpLnJlcGxhY2UodnQsb24pLG4mJihvPSEwLGQrPSInICtcbl9fZSgiK24rIikgK1xuJyIpLHMmJihhPSEwLGQrPSInO1xuIitzKyI7XG5fX3AgKz0gJyIpLGkmJihkKz0iJyArXG4oKF9fdCA9ICgiK2krIikpID09IG51bGwgPyAnJyA6IF9fdCkgK1xuJyIpLHU9bCt0Lmxlbmd0aCx0fSkpLGQrPSInO1xuIjt2YXIgbT1PdC5jYWxsKG4sInZhcmlhYmxlIikmJm4udmFyaWFibGU7aWYobSl7aWYobHQudGVzdChtKSl0aHJvdyBuZXcgTXQoIkludmFsaWQgYHZhcmlhYmxlYCBvcHRpb24gcGFzc2VkIGludG8gYF8udGVtcGxhdGVgIil9ZWxzZSBkPSJ3aXRoIChvYmopIHtcbiIrZCsiXG59XG4iO2Q9KGE/ZC5yZXBsYWNlKFYsIiIpOmQpLnJlcGxhY2UoVSwiJDEiKS5yZXBsYWNlKGosIiQxOyIpLGQ9ImZ1bmN0aW9uKCIrKG18fCJvYmoiKSsiKSB7XG4iKyhtPyIiOiJvYmogfHwgKG9iaiA9IHt9KTtcbiIpKyJ2YXIgX190LCBfX3AgPSAnJyIrKG8/IiwgX19lID0gXy5lc2NhcGUiOiIiKSsoYT8iLCBfX2ogPSBBcnJheS5wcm90b3R5cGUuam9pbjtcbmZ1bmN0aW9uIHByaW50KCkgeyBfX3AgKz0gX19qLmNhbGwoYXJndW1lbnRzLCAnJykgfVxuIjoiO1xuIikrZCsicmV0dXJuIF9fcFxufSI7dmFyIGc9a2woKGZ1bmN0aW9uKCl7cmV0dXJuIEV0KGwsZisicmV0dXJuICIrZCkuYXBwbHkodCxjKX0pKTtpZihnLnNvdXJjZT1kLFNzKGcpKXRocm93IGc7cmV0dXJuIGd9LFZuLnRpbWVzPWZ1bmN0aW9uIFJoKHQsZSl7aWYoKHQ9V3ModCkpPDF8fHQ+dSlyZXR1cm5bXTt2YXIgbj1kLGk9Ym4odCxkKTtlPU5vKGUpLHQtPWQ7Zm9yKHZhciByPVhlKGksZSk7KytuPHQ7KWUobik7cmV0dXJuIHJ9LFZuLnRvRmluaXRlPUdzLFZuLnRvSW50ZWdlcj1XcyxWbi50b0xlbmd0aD1xcyxWbi50b0xvd2VyPWZ1bmN0aW9uIE9oKHQpe3JldHVybiAkcyh0KS50b0xvd2VyQ2FzZSgpfSxWbi50b051bWJlcj1ZcyxWbi50b1NhZmVJbnRlZ2VyPWZ1bmN0aW9uIHpoKHQpe3JldHVybiB0P2xpKFdzKHQpLC05MDA3MTk5MjU0NzQwOTkxLHUpOjA9PT10P3Q6MH0sVm4udG9TdHJpbmc9JHMsVm4udG9VcHBlcj1mdW5jdGlvbiBEaCh0KXtyZXR1cm4gJHModCkudG9VcHBlckNhc2UoKX0sVm4udHJpbT1mdW5jdGlvbiBCaChlLG4saSl7aWYoKGU9JHMoZSkpJiYoaXx8bj09PXQpKXJldHVybiAkZShlKTtpZighZXx8IShuPU5yKG4pKSlyZXR1cm4gZTt2YXIgcj1wbihlKSxvPXBuKG4pO3JldHVybiBHcihyLFFlKHIsbyksdG4ocixvKSsxKS5qb2luKCIiKX0sVm4udHJpbUVuZD1mdW5jdGlvbiBIaChlLG4saSl7aWYoKGU9JHMoZSkpJiYoaXx8bj09PXQpKXJldHVybiBlLnNsaWNlKDAsZm4oZSkrMSk7aWYoIWV8fCEobj1OcihuKSkpcmV0dXJuIGU7dmFyIHI9cG4oZSk7cmV0dXJuIEdyKHIsMCx0bihyLHBuKG4pKSsxKS5qb2luKCIiKX0sVm4udHJpbVN0YXJ0PWZ1bmN0aW9uIEZoKGUsbixpKXtpZigoZT0kcyhlKSkmJihpfHxuPT09dCkpcmV0dXJuIGUucmVwbGFjZShudCwiIik7aWYoIWV8fCEobj1OcihuKSkpcmV0dXJuIGU7dmFyIHI9cG4oZSk7cmV0dXJuIEdyKHIsUWUocixwbihuKSkpLmpvaW4oIiIpfSxWbi50cnVuY2F0ZT1mdW5jdGlvbiBWaChlLG4pe3ZhciBpPTMwLHI9Ii4uLiI7aWYoQ3Mobikpe3ZhciBvPSJzZXBhcmF0b3IiaW4gbj9uLnNlcGFyYXRvcjpvO2k9Imxlbmd0aCJpbiBuP1dzKG4ubGVuZ3RoKTppLHI9Im9taXNzaW9uImluIG4/TnIobi5vbWlzc2lvbik6cn12YXIgYT0oZT0kcyhlKSkubGVuZ3RoO2lmKGFuKGUpKXt2YXIgcz1wbihlKTthPXMubGVuZ3RofWlmKGk+PWEpcmV0dXJuIGU7dmFyIGw9aS1kbihyKTtpZihsPDEpcmV0dXJuIHI7dmFyIGM9cz9HcihzLDAsbCkuam9pbigiIik6ZS5zbGljZSgwLGwpO2lmKG89PT10KXJldHVybiBjK3I7aWYocyYmKGwrPWMubGVuZ3RoLWwpLElzKG8pKXtpZihlLnNsaWNlKGwpLnNlYXJjaChvKSl7dmFyIHUsaD1jO2ZvcihvLmdsb2JhbHx8KG89QXQoby5zb3VyY2UsJHMoaHQuZXhlYyhvKSkrImciKSksby5sYXN0SW5kZXg9MDt1PW8uZXhlYyhoKTspdmFyIGQ9dS5pbmRleDtjPWMuc2xpY2UoMCxkPT09dD9sOmQpfX1lbHNlIGlmKGUuaW5kZXhPZihOcihvKSxsKSE9bCl7dmFyIHA9Yy5sYXN0SW5kZXhPZihvKTtwPi0xJiYoYz1jLnNsaWNlKDAscCkpfXJldHVybiBjK3J9LFZuLnVuZXNjYXBlPWZ1bmN0aW9uIFVoKHQpe3JldHVybih0PSRzKHQpKSYmcS50ZXN0KHQpP3QucmVwbGFjZShHLG1uKTp0fSxWbi51bmlxdWVJZD1mdW5jdGlvbiBqaCh0KXt2YXIgZT0rK3p0O3JldHVybiAkcyh0KStlfSxWbi51cHBlckNhc2U9VGwsVm4udXBwZXJGaXJzdD1DbCxWbi5lYWNoPWphLFZuLmVhY2hSaWdodD1HYSxWbi5maXJzdD1fYSxCbChWbiwoWGw9e30samkoVm4sKGZ1bmN0aW9uKHQsZSl7T3QuY2FsbChWbi5wcm90b3R5cGUsZSl8fChYbFtlXT10KX0pKSxYbCkse2NoYWluOiExfSksVm4uVkVSU0lPTj0iNC4xNy4yMSIsTWUoWyJiaW5kIiwiYmluZEtleSIsImN1cnJ5IiwiY3VycnlSaWdodCIsInBhcnRpYWwiLCJwYXJ0aWFsUmlnaHQiXSwoZnVuY3Rpb24odCl7Vm5bdF0ucGxhY2Vob2xkZXI9Vm59KSksTWUoWyJkcm9wIiwidGFrZSJdLChmdW5jdGlvbihlLG4pe1duLnByb3RvdHlwZVtlXT1mdW5jdGlvbihpKXtpPWk9PT10PzE6dm4oV3MoaSksMCk7dmFyIHI9dGhpcy5fX2ZpbHRlcmVkX18mJiFuP25ldyBXbih0aGlzKTp0aGlzLmNsb25lKCk7cmV0dXJuIHIuX19maWx0ZXJlZF9fP3IuX190YWtlQ291bnRfXz1ibihpLHIuX190YWtlQ291bnRfXyk6ci5fX3ZpZXdzX18ucHVzaCh7c2l6ZTpibihpLGQpLHR5cGU6ZSsoci5fX2Rpcl9fPDA/IlJpZ2h0IjoiIil9KSxyfSxXbi5wcm90b3R5cGVbZSsiUmlnaHQiXT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZXZlcnNlKClbZV0odCkucmV2ZXJzZSgpfX0pKSxNZShbImZpbHRlciIsIm1hcCIsInRha2VXaGlsZSJdLChmdW5jdGlvbih0LGUpe3ZhciBuPWUrMSxpPTE9PW58fDM9PW47V24ucHJvdG90eXBlW3RdPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2xvbmUoKTtyZXR1cm4gZS5fX2l0ZXJhdGVlc19fLnB1c2goe2l0ZXJhdGVlOk5vKHQsMyksdHlwZTpufSksZS5fX2ZpbHRlcmVkX189ZS5fX2ZpbHRlcmVkX198fGksZX19KSksTWUoWyJoZWFkIiwibGFzdCJdLChmdW5jdGlvbih0LGUpe3ZhciBuPSJ0YWtlIisoZT8iUmlnaHQiOiIiKTtXbi5wcm90b3R5cGVbdF09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tuXSgxKS52YWx1ZSgpWzBdfX0pKSxNZShbImluaXRpYWwiLCJ0YWlsIl0sKGZ1bmN0aW9uKHQsZSl7dmFyIG49ImRyb3AiKyhlPyIiOiJSaWdodCIpO1duLnByb3RvdHlwZVt0XT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9fZmlsdGVyZWRfXz9uZXcgV24odGhpcyk6dGhpc1tuXSgxKX19KSksV24ucHJvdG90eXBlLmNvbXBhY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maWx0ZXIoUmwpfSxXbi5wcm90b3R5cGUuZmluZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5maWx0ZXIodCkuaGVhZCgpfSxXbi5wcm90b3R5cGUuZmluZExhc3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmV2ZXJzZSgpLmZpbmQodCl9LFduLnByb3RvdHlwZS5pbnZva2VNYXA9dnIoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/bmV3IFduKHRoaXMpOnRoaXMubWFwKChmdW5jdGlvbihuKXtyZXR1cm4gUWkobix0LGUpfSkpfSkpLFduLnByb3RvdHlwZS5yZWplY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZmlsdGVyKGFzKE5vKHQpKSl9LFduLnByb3RvdHlwZS5zbGljZT1mdW5jdGlvbihlLG4pe2U9V3MoZSk7dmFyIGk9dGhpcztyZXR1cm4gaS5fX2ZpbHRlcmVkX18mJihlPjB8fG48MCk/bmV3IFduKGkpOihlPDA/aT1pLnRha2VSaWdodCgtZSk6ZSYmKGk9aS5kcm9wKGUpKSxuIT09dCYmKGk9KG49V3MobikpPDA/aS5kcm9wUmlnaHQoLW4pOmkudGFrZShuLWUpKSxpKX0sV24ucHJvdG90eXBlLnRha2VSaWdodFdoaWxlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJldmVyc2UoKS50YWtlV2hpbGUodCkucmV2ZXJzZSgpfSxXbi5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRha2UoZCl9LGppKFduLnByb3RvdHlwZSwoZnVuY3Rpb24oZSxuKXt2YXIgaT0vXig/OmZpbHRlcnxmaW5kfG1hcHxyZWplY3QpfFdoaWxlJC8udGVzdChuKSxyPS9eKD86aGVhZHxsYXN0KSQvLnRlc3Qobiksbz1WbltyPyJ0YWtlIisoImxhc3QiPT1uPyJSaWdodCI6IiIpOm5dLGE9cnx8L15maW5kLy50ZXN0KG4pO28mJihWbi5wcm90b3R5cGVbbl09ZnVuY3Rpb24oKXt2YXIgbj10aGlzLl9fd3JhcHBlZF9fLHM9cj9bMV06YXJndW1lbnRzLGw9biBpbnN0YW5jZW9mIFduLGM9c1swXSx1PWx8fG1zKG4pLGg9ZnVuY3Rpb24odCl7dmFyIGU9by5hcHBseShWbixJZShbdF0scykpO3JldHVybiByJiZkP2VbMF06ZX07dSYmaSYmImZ1bmN0aW9uIj09dHlwZW9mIGMmJjEhPWMubGVuZ3RoJiYobD11PSExKTt2YXIgZD10aGlzLl9fY2hhaW5fXyxwPSEhdGhpcy5fX2FjdGlvbnNfXy5sZW5ndGgsZj1hJiYhZCxtPWwmJiFwO2lmKCFhJiZ1KXtuPW0/bjpuZXcgV24odGhpcyk7dmFyIGc9ZS5hcHBseShuLHMpO3JldHVybiBnLl9fYWN0aW9uc19fLnB1c2goe2Z1bmM6QmEsYXJnczpbaF0sdGhpc0FyZzp0fSksbmV3IEduKGcsZCl9cmV0dXJuIGYmJm0/ZS5hcHBseSh0aGlzLHMpOihnPXRoaXMudGhydShoKSxmP3I/Zy52YWx1ZSgpWzBdOmcudmFsdWUoKTpnKX0pfSkpLE1lKFsicG9wIiwicHVzaCIsInNoaWZ0Iiwic29ydCIsInNwbGljZSIsInVuc2hpZnQiXSwoZnVuY3Rpb24odCl7dmFyIGU9UHRbdF0sbj0vXig/OnB1c2h8c29ydHx1bnNoaWZ0KSQvLnRlc3QodCk/InRhcCI6InRocnUiLGk9L14oPzpwb3B8c2hpZnQpJC8udGVzdCh0KTtWbi5wcm90b3R5cGVbdF09ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHM7aWYoaSYmIXRoaXMuX19jaGFpbl9fKXt2YXIgcj10aGlzLnZhbHVlKCk7cmV0dXJuIGUuYXBwbHkobXMocik/cjpbXSx0KX1yZXR1cm4gdGhpc1tuXSgoZnVuY3Rpb24obil7cmV0dXJuIGUuYXBwbHkobXMobik/bjpbXSx0KX0pKX19KSksamkoV24ucHJvdG90eXBlLChmdW5jdGlvbih0LGUpe3ZhciBuPVZuW2VdO2lmKG4pe3ZhciBpPW4ubmFtZSsiIjtPdC5jYWxsKE5uLGkpfHwoTm5baV09W10pLE5uW2ldLnB1c2goe25hbWU6ZSxmdW5jOm59KX19KSksTm5bY28odCwyKS5uYW1lXT1be25hbWU6IndyYXBwZXIiLGZ1bmM6dH1dLFduLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbiBHaCgpe3ZhciB0PW5ldyBXbih0aGlzLl9fd3JhcHBlZF9fKTtyZXR1cm4gdC5fX2FjdGlvbnNfXz1Kcih0aGlzLl9fYWN0aW9uc19fKSx0Ll9fZGlyX189dGhpcy5fX2Rpcl9fLHQuX19maWx0ZXJlZF9fPXRoaXMuX19maWx0ZXJlZF9fLHQuX19pdGVyYXRlZXNfXz1Kcih0aGlzLl9faXRlcmF0ZWVzX18pLHQuX190YWtlQ291bnRfXz10aGlzLl9fdGFrZUNvdW50X18sdC5fX3ZpZXdzX189SnIodGhpcy5fX3ZpZXdzX18pLHR9LFduLnByb3RvdHlwZS5yZXZlcnNlPWZ1bmN0aW9uIFdoKCl7aWYodGhpcy5fX2ZpbHRlcmVkX18pe3ZhciB0PW5ldyBXbih0aGlzKTt0Ll9fZGlyX189LTEsdC5fX2ZpbHRlcmVkX189ITB9ZWxzZSh0PXRoaXMuY2xvbmUoKSkuX19kaXJfXyo9LTE7cmV0dXJuIHR9LFduLnByb3RvdHlwZS52YWx1ZT1mdW5jdGlvbiBxaCgpe3ZhciB0PXRoaXMuX193cmFwcGVkX18udmFsdWUoKSxlPXRoaXMuX19kaXJfXyxuPW1zKHQpLGk9ZTwwLHI9bj90Lmxlbmd0aDowLG89KGZ1bmN0aW9uIGEodCxlLG4pe2Zvcih2YXIgaT0tMSxyPW4ubGVuZ3RoOysraTxyOyl7dmFyIG89bltpXSxhPW8uc2l6ZTtzd2l0Y2goby50eXBlKXtjYXNlImRyb3AiOnQrPWE7YnJlYWs7Y2FzZSJkcm9wUmlnaHQiOmUtPWE7YnJlYWs7Y2FzZSJ0YWtlIjplPWJuKGUsdCthKTticmVhaztjYXNlInRha2VSaWdodCI6dD12bih0LGUtYSl9fXJldHVybntzdGFydDp0LGVuZDplfX0pKDAscix0aGlzLl9fdmlld3NfXykscz1vLnN0YXJ0LGw9by5lbmQsYz1sLXMsdT1pP2w6cy0xLGg9dGhpcy5fX2l0ZXJhdGVlc19fLGQ9aC5sZW5ndGgscD0wLGY9Ym4oYyx0aGlzLl9fdGFrZUNvdW50X18pO2lmKCFufHwhaSYmcj09YyYmZj09YylyZXR1cm4gRHIodCx0aGlzLl9fYWN0aW9uc19fKTt2YXIgbT1bXTt0OmZvcig7Yy0tJiZwPGY7KXtmb3IodmFyIGc9LTEsXz10W3UrPWVdOysrZzxkOyl7dmFyIHk9aFtnXSx2PXkudHlwZSxiPSgwLHkuaXRlcmF0ZWUpKF8pO2lmKDI9PXYpXz1iO2Vsc2UgaWYoIWIpe2lmKDE9PXYpY29udGludWUgdDticmVhayB0fX1tW3ArK109X31yZXR1cm4gbX0sVm4ucHJvdG90eXBlLmF0PUhhLFZuLnByb3RvdHlwZS5jaGFpbj1mdW5jdGlvbiBZaCgpe3JldHVybiBEYSh0aGlzKX0sVm4ucHJvdG90eXBlLmNvbW1pdD1mdW5jdGlvbiBYaCgpe3JldHVybiBuZXcgR24odGhpcy52YWx1ZSgpLHRoaXMuX19jaGFpbl9fKX0sVm4ucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24gJGgoKXt0aGlzLl9fdmFsdWVzX189PT10JiYodGhpcy5fX3ZhbHVlc19fPWpzKHRoaXMudmFsdWUoKSkpO3ZhciBlPXRoaXMuX19pbmRleF9fPj10aGlzLl9fdmFsdWVzX18ubGVuZ3RoO3JldHVybntkb25lOmUsdmFsdWU6ZT90OnRoaXMuX192YWx1ZXNfX1t0aGlzLl9faW5kZXhfXysrXX19LFZuLnByb3RvdHlwZS5wbGFudD1mdW5jdGlvbiBLaChlKXtmb3IodmFyIG4saT10aGlzO2kgaW5zdGFuY2VvZiBqbjspe3ZhciByPXVhKGkpO3IuX19pbmRleF9fPTAsci5fX3ZhbHVlc19fPXQsbj9vLl9fd3JhcHBlZF9fPXI6bj1yO3ZhciBvPXI7aT1pLl9fd3JhcHBlZF9ffXJldHVybiBvLl9fd3JhcHBlZF9fPWUsbn0sVm4ucHJvdG90eXBlLnJldmVyc2U9ZnVuY3Rpb24gWmgoKXt2YXIgZT10aGlzLl9fd3JhcHBlZF9fO2lmKGUgaW5zdGFuY2VvZiBXbil7dmFyIG49ZTtyZXR1cm4gdGhpcy5fX2FjdGlvbnNfXy5sZW5ndGgmJihuPW5ldyBXbih0aGlzKSksKG49bi5yZXZlcnNlKCkpLl9fYWN0aW9uc19fLnB1c2goe2Z1bmM6QmEsYXJnczpbRWFdLHRoaXNBcmc6dH0pLG5ldyBHbihuLHRoaXMuX19jaGFpbl9fKX1yZXR1cm4gdGhpcy50aHJ1KEVhKX0sVm4ucHJvdG90eXBlLnRvSlNPTj1Wbi5wcm90b3R5cGUudmFsdWVPZj1Wbi5wcm90b3R5cGUudmFsdWU9ZnVuY3Rpb24gSmgoKXtyZXR1cm4gRHIodGhpcy5fX3dyYXBwZWRfXyx0aGlzLl9fYWN0aW9uc19fKX0sVm4ucHJvdG90eXBlLmZpcnN0PVZuLnByb3RvdHlwZS5oZWFkLHNlJiYoVm4ucHJvdG90eXBlW3NlXT1mdW5jdGlvbiBRaCgpe3JldHVybiB0aGlzfSksVm59KSgpO2hlPygoaGUuZXhwb3J0cz1nbikuXz1nbix1ZS5fPWduKTpjZS5fPWdufS5jYWxsKFNlKTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgQWU9ISh3aW5kb3cuU2hhZHlET00mJndpbmRvdy5TaGFkeURPTS5pblVzZSk7bGV0IGtlLExlO2Z1bmN0aW9uIFBlKHQpe2tlPSghdHx8IXQuc2hpbWNzc3Byb3BlcnRpZXMpJiYoQWV8fEJvb2xlYW4oIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0FwcGxlV2ViS2l0XC82MDF8RWRnZVwvMTUvKSYmd2luZG93LkNTUyYmQ1NTLnN1cHBvcnRzJiZDU1Muc3VwcG9ydHMoImJveC1zaGFkb3ciLCIwIDAgMCB2YXIoLS1mb28pIikpKX13aW5kb3cuU2hhZHlDU1MmJnZvaWQgMCE9PXdpbmRvdy5TaGFkeUNTUy5jc3NCdWlsZCYmKExlPXdpbmRvdy5TaGFkeUNTUy5jc3NCdWlsZCk7Y29uc3QgTmU9Qm9vbGVhbih3aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5kaXNhYmxlUnVudGltZSk7d2luZG93LlNoYWR5Q1NTJiZ2b2lkIDAhPT13aW5kb3cuU2hhZHlDU1MubmF0aXZlQ3NzP2tlPXdpbmRvdy5TaGFkeUNTUy5uYXRpdmVDc3M6d2luZG93LlNoYWR5Q1NTPyhQZSh3aW5kb3cuU2hhZHlDU1MpLHdpbmRvdy5TaGFkeUNTUz12b2lkIDApOlBlKHdpbmRvdy5XZWJDb21wb25lbnRzJiZ3aW5kb3cuV2ViQ29tcG9uZW50cy5mbGFncyk7Y29uc3QgSWU9a2U7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovY2xhc3MgUmV7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXJ0PTAsdGhpcy5lbmQ9MCx0aGlzLnByZXZpb3VzPW51bGwsdGhpcy5wYXJlbnQ9bnVsbCx0aGlzLnJ1bGVzPW51bGwsdGhpcy5wYXJzZWRDc3NUZXh0PSIiLHRoaXMuY3NzVGV4dD0iIix0aGlzLmF0UnVsZT0hMSx0aGlzLnR5cGU9MCx0aGlzLmtleWZyYW1lc05hbWU9IiIsdGhpcy5zZWxlY3Rvcj0iIix0aGlzLnBhcnNlZFNlbGVjdG9yPSIifX1mdW5jdGlvbiBPZSh0KXtyZXR1cm4gemUoKGZ1bmN0aW9uIG4odCl7bGV0IGU9bmV3IFJlO2Uuc3RhcnQ9MCxlLmVuZD10Lmxlbmd0aDtsZXQgbj1lO2ZvcihsZXQgaT0wLHI9dC5sZW5ndGg7aTxyO2krKylpZih0W2ldPT09SGUpe24ucnVsZXN8fChuLnJ1bGVzPVtdKTtsZXQgdD1uLGU9dC5ydWxlc1t0LnJ1bGVzLmxlbmd0aC0xXXx8bnVsbDtuPW5ldyBSZSxuLnN0YXJ0PWkrMSxuLnBhcmVudD10LG4ucHJldmlvdXM9ZSx0LnJ1bGVzLnB1c2gobil9ZWxzZSB0W2ldPT09RmUmJihuLmVuZD1pKzEsbj1uLnBhcmVudHx8ZSk7cmV0dXJuIGV9KSh0PShmdW5jdGlvbiBlKHQpe3JldHVybiB0LnJlcGxhY2UoVmUuY29tbWVudHMsIiIpLnJlcGxhY2UoVmUucG9ydCwiIil9KSh0KSksdCl9ZnVuY3Rpb24gemUodCxlKXtsZXQgbj1lLnN1YnN0cmluZyh0LnN0YXJ0LHQuZW5kLTEpO2lmKHQucGFyc2VkQ3NzVGV4dD10LmNzc1RleHQ9bi50cmltKCksdC5wYXJlbnQpe249ZS5zdWJzdHJpbmcodC5wcmV2aW91cz90LnByZXZpb3VzLmVuZDp0LnBhcmVudC5zdGFydCx0LnN0YXJ0LTEpLG49KGZ1bmN0aW9uIGkodCl7cmV0dXJuIHQucmVwbGFjZSgvXFwoWzAtOWEtZl17MSw2fSlccy9naSwoZnVuY3Rpb24oKXtsZXQgdD1hcmd1bWVudHNbMV0sZT02LXQubGVuZ3RoO2Zvcig7ZS0tOyl0PSIwIit0O3JldHVybiJcXCIrdH0pKX0pKG4pLG49bi5yZXBsYWNlKFZlLm11bHRpcGxlU3BhY2VzLCIgIiksbj1uLnN1YnN0cmluZyhuLmxhc3RJbmRleE9mKCI7IikrMSk7bGV0IGk9dC5wYXJzZWRTZWxlY3Rvcj10LnNlbGVjdG9yPW4udHJpbSgpO3QuYXRSdWxlPTA9PT1pLmluZGV4T2YoR2UpLHQuYXRSdWxlPzA9PT1pLmluZGV4T2YoamUpP3QudHlwZT1CZS5NRURJQV9SVUxFOmkubWF0Y2goVmUua2V5ZnJhbWVzUnVsZSkmJih0LnR5cGU9QmUuS0VZRlJBTUVTX1JVTEUsdC5rZXlmcmFtZXNOYW1lPXQuc2VsZWN0b3Iuc3BsaXQoVmUubXVsdGlwbGVTcGFjZXMpLnBvcCgpKTp0LnR5cGU9MD09PWkuaW5kZXhPZihVZSk/QmUuTUlYSU5fUlVMRTpCZS5TVFlMRV9SVUxFfWxldCByPXQucnVsZXM7aWYocilmb3IobGV0IHQsbj0wLGk9ci5sZW5ndGg7bjxpJiYodD1yW25dKTtuKyspemUodCxlKTtyZXR1cm4gdH1mdW5jdGlvbiBEZSh0LGUsbj0iIil7bGV0IGk9IiI7aWYodC5jc3NUZXh0fHx0LnJ1bGVzKXtsZXQgbj10LnJ1bGVzO2lmKG4mJiEoZnVuY3Rpb24gcih0KXtsZXQgZT10WzBdO3JldHVybiBCb29sZWFuKGUpJiZCb29sZWFuKGUuc2VsZWN0b3IpJiYwPT09ZS5zZWxlY3Rvci5pbmRleE9mKFVlKX0pKG4pKWZvcihsZXQgdCxyPTAsbz1uLmxlbmd0aDtyPG8mJih0PW5bcl0pO3IrKylpPURlKHQsZSxpKTtlbHNlIGk9ZT90LmNzc1RleHQ6KGZ1bmN0aW9uIG8odCl7cmV0dXJuKGZ1bmN0aW9uIG4odCl7cmV0dXJuIHQucmVwbGFjZShWZS5taXhpbkFwcGx5LCIiKS5yZXBsYWNlKFZlLnZhckFwcGx5LCIiKX0pKHQ9KGZ1bmN0aW9uIGUodCl7cmV0dXJuIHQucmVwbGFjZShWZS5jdXN0b21Qcm9wLCIiKS5yZXBsYWNlKFZlLm1peGluUHJvcCwiIil9KSh0KSl9KSh0LmNzc1RleHQpLGk9aS50cmltKCksaSYmKGk9IiAgIitpKyJcbiIpfXJldHVybiBpJiYodC5zZWxlY3RvciYmKG4rPXQuc2VsZWN0b3IrIiAiK0hlKyJcbiIpLG4rPWksdC5zZWxlY3RvciYmKG4rPUZlKyJcblxuIikpLG59Y29uc3QgQmU9e1NUWUxFX1JVTEU6MSxLRVlGUkFNRVNfUlVMRTo3LE1FRElBX1JVTEU6NCxNSVhJTl9SVUxFOjFlM30sSGU9InsiLEZlPSJ9IixWZT17Y29tbWVudHM6L1wvXCpbXipdKlwqKyhbXi8qXVteKl0qXCorKSpcLy9naW0scG9ydDovQGltcG9ydFteO10qOy9naW0sY3VzdG9tUHJvcDovKD86XlteO1wtXHN9XSspPy0tW147e31dKj86W157fTtdKj8oPzpbO1xuXXwkKS9naW0sbWl4aW5Qcm9wOi8oPzpeW147XC1cc31dKyk/LS1bXjt7fV0qPzpbXnt9O10qP3tbXn1dKj99KD86Wztcbl18JCk/L2dpbSxtaXhpbkFwcGx5Oi9AYXBwbHlccypcKD9bXik7XSpcKT9ccyooPzpbO1xuXXwkKT8vZ2ltLHZhckFwcGx5Oi9bXjs6XSo/OlteO10qP3ZhclwoW147XSpcKSg/Ols7XG5dfCQpPy9naW0sa2V5ZnJhbWVzUnVsZTovXkBbXlxzXSprZXlmcmFtZXMvLG11bHRpcGxlU3BhY2VzOi9ccysvZ30sVWU9Ii0tIixqZT0iQG1lZGlhIixHZT0iQCIsV2U9Lyg/Ol58Wztcc3tdXHMqKSgtLVtcdy1dKj8pXHMqOlxzKig/OigoPzonKD86XFwnfC4pKj8nfCIoPzpcXCJ8LikqPyJ8XChbXildKj9cKXxbXn07e10pKyl8XHsoW159XSopXH0oPzooPz1bO1xzfV0pfCQpKS9naSxxZT0vKD86XnxcVyspQGFwcGx5XHMqXCg/KFteKTtcbl0qKVwpPy9naSxZZT0vQG1lZGlhXHMoLiopLyxYZT1uZXcgU2V0O2Z1bmN0aW9uICRlKHQpe2NvbnN0IGU9dC50ZXh0Q29udGVudDtpZighWGUuaGFzKGUpKXtYZS5hZGQoZSk7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3Quc2V0QXR0cmlidXRlKCJzaGFkeS11bnNjb3BlZCIsIiIpLHQudGV4dENvbnRlbnQ9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpfX1mdW5jdGlvbiBLZSh0KXtyZXR1cm4gdC5oYXNBdHRyaWJ1dGUoInNoYWR5LXVuc2NvcGVkIil9Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovZnVuY3Rpb24gWmUodCxlKXtyZXR1cm4gdD8oInN0cmluZyI9PXR5cGVvZiB0JiYodD1PZSh0KSksZSYmUWUodCxlKSxEZSh0LEllKSk6IiJ9ZnVuY3Rpb24gSmUodCl7cmV0dXJuIXQuX19jc3NSdWxlcyYmdC50ZXh0Q29udGVudCYmKHQuX19jc3NSdWxlcz1PZSh0LnRleHRDb250ZW50KSksdC5fX2Nzc1J1bGVzfHxudWxsfWZ1bmN0aW9uIFFlKHQsZSxuLGkpe2lmKCF0KXJldHVybjtsZXQgcj0hMSxvPXQudHlwZTtpZihpJiZvPT09QmUuTUVESUFfUlVMRSl7bGV0IGU9dC5zZWxlY3Rvci5tYXRjaChZZSk7ZSYmKHdpbmRvdy5tYXRjaE1lZGlhKGVbMV0pLm1hdGNoZXN8fChyPSEwKSl9bz09PUJlLlNUWUxFX1JVTEU/ZSh0KTpuJiZvPT09QmUuS0VZRlJBTUVTX1JVTEU/bih0KTpvPT09QmUuTUlYSU5fUlVMRSYmKHI9ITApO2xldCBhPXQucnVsZXM7aWYoYSYmIXIpZm9yKGxldCB0LHI9MCxvPWEubGVuZ3RoO3I8byYmKHQ9YVtyXSk7cisrKVFlKHQsZSxuLGkpfWZ1bmN0aW9uIHRuKHQsZSl7bGV0IG49dC5pbmRleE9mKCJ2YXIoIik7aWYoLTE9PT1uKXJldHVybiBlKHQsIiIsIiIsIiIpO2xldCBpPShmdW5jdGlvbiByKHQsZSl7bGV0IG49MDtmb3IobGV0IGk9ZSxyPXQubGVuZ3RoO2k8cjtpKyspaWYoIigiPT09dFtpXSluKys7ZWxzZSBpZigiKSI9PT10W2ldJiYwPT0tLW4pcmV0dXJuIGk7cmV0dXJuLTF9KSh0LG4rMyksbz10LnN1YnN0cmluZyhuKzQsaSksYT10LnN1YnN0cmluZygwLG4pLHM9dG4odC5zdWJzdHJpbmcoaSsxKSxlKSxsPW8uaW5kZXhPZigiLCIpO3JldHVybi0xPT09bD9lKGEsby50cmltKCksIiIscyk6ZShhLG8uc3Vic3RyaW5nKDAsbCkudHJpbSgpLG8uc3Vic3RyaW5nKGwrMSkudHJpbSgpLHMpfXdpbmRvdy5TaGFkeURPTSYmd2luZG93O2NvbnN0IGVuPSJjc3MtYnVpbGQiO2Z1bmN0aW9uIG5uKHQpe2lmKHZvaWQgMCE9PUxlKXJldHVybiBMZTtpZih2b2lkIDA9PT10Ll9fY3NzQnVpbGQpe2NvbnN0IGU9dC5nZXRBdHRyaWJ1dGUoZW4pO2lmKGUpdC5fX2Nzc0J1aWxkPWU7ZWxzZXtjb25zdCBlPShmdW5jdGlvbiBlKHQpe2NvbnN0IGU9InRlbXBsYXRlIj09PXQubG9jYWxOYW1lP3QuY29udGVudC5maXJzdENoaWxkOnQuZmlyc3RDaGlsZDtpZihlIGluc3RhbmNlb2YgQ29tbWVudCl7Y29uc3QgdD1lLnRleHRDb250ZW50LnRyaW0oKS5zcGxpdCgiOiIpO2lmKHRbMF09PT1lbilyZXR1cm4gdFsxXX1yZXR1cm4iIn0pKHQpOyIiIT09ZSYmKGZ1bmN0aW9uIG4odCl7Y29uc3QgZT0idGVtcGxhdGUiPT09dC5sb2NhbE5hbWU/dC5jb250ZW50LmZpcnN0Q2hpbGQ6dC5maXJzdENoaWxkO2UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8pKHQpLHQuX19jc3NCdWlsZD1lfX1yZXR1cm4gdC5fX2Nzc0J1aWxkfHwiIn1mdW5jdGlvbiBybih0KXtyZXR1cm4iIiE9PW5uKHQpfWZ1bmN0aW9uIG9uKHQsZSl7Zm9yKGxldCBuIGluIGUpbnVsbD09PW4/dC5zdHlsZS5yZW1vdmVQcm9wZXJ0eShuKTp0LnN0eWxlLnNldFByb3BlcnR5KG4sZVtuXSl9ZnVuY3Rpb24gYW4odCxlKXtjb25zdCBuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLmdldFByb3BlcnR5VmFsdWUoZSk7cmV0dXJuIG4/bi50cmltKCk6IiJ9Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IHNuPS87XHMqL20sbG49L15ccyooaW5pdGlhbCl8KGluaGVyaXQpXHMqJC8sY249L1xzKiFpbXBvcnRhbnQvLHVuPSJfLV8iO2NsYXNzIGhue2NvbnN0cnVjdG9yKCl7dGhpcy5fbWFwPXt9fXNldCh0LGUpe3Q9dC50cmltKCksdGhpcy5fbWFwW3RdPXtwcm9wZXJ0aWVzOmUsZGVwZW5kYW50czp7fX19Z2V0KHQpe3JldHVybiB0PXQudHJpbSgpLHRoaXMuX21hcFt0XXx8bnVsbH19bGV0IGRuPW51bGw7Y2xhc3MgcG57Y29uc3RydWN0b3IoKXt0aGlzLl9jdXJyZW50RWxlbWVudD1udWxsLHRoaXMuX21lYXN1cmVFbGVtZW50PW51bGwsdGhpcy5fbWFwPW5ldyBobn1kZXRlY3RNaXhpbih0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtjb25zdCBlPXFlLnRlc3QodCl8fFdlLnRlc3QodCk7cmV0dXJuIHFlLmxhc3RJbmRleD0wLFdlLmxhc3RJbmRleD0wLGV9KSh0KX1nYXRoZXJTdHlsZXModCl7Y29uc3QgZT0oZnVuY3Rpb24gbih0KXtjb25zdCBlPVtdLG49dC5xdWVyeVNlbGVjdG9yQWxsKCJzdHlsZSIpO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXtjb25zdCBpPW5bdF07S2UoaSk/QWV8fCgkZShpKSxpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSkpOihlLnB1c2goaS50ZXh0Q29udGVudCksaS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGkpKX1yZXR1cm4gZS5qb2luKCIiKS50cmltKCl9KSh0LmNvbnRlbnQpO2lmKGUpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtyZXR1cm4gbi50ZXh0Q29udGVudD1lLHQuY29udGVudC5pbnNlcnRCZWZvcmUobix0LmNvbnRlbnQuZmlyc3RDaGlsZCksbn1yZXR1cm4gbnVsbH10cmFuc2Zvcm1UZW1wbGF0ZSh0LGUpe3ZvaWQgMD09PXQuX2dhdGhlcmVkU3R5bGUmJih0Ll9nYXRoZXJlZFN0eWxlPXRoaXMuZ2F0aGVyU3R5bGVzKHQpKTtjb25zdCBuPXQuX2dhdGhlcmVkU3R5bGU7cmV0dXJuIG4/dGhpcy50cmFuc2Zvcm1TdHlsZShuLGUpOm51bGx9dHJhbnNmb3JtU3R5bGUodCxlPSIiKXtsZXQgbj1KZSh0KTtyZXR1cm4gdGhpcy50cmFuc2Zvcm1SdWxlcyhuLGUpLHQudGV4dENvbnRlbnQ9WmUobiksbn10cmFuc2Zvcm1DdXN0b21TdHlsZSh0KXtsZXQgZT1KZSh0KTtyZXR1cm4gUWUoZSwodD0+eyI6cm9vdCI9PT10LnNlbGVjdG9yJiYodC5zZWxlY3Rvcj0iaHRtbCIpLHRoaXMudHJhbnNmb3JtUnVsZSh0KX0pKSx0LnRleHRDb250ZW50PVplKGUpLGV9dHJhbnNmb3JtUnVsZXModCxlKXt0aGlzLl9jdXJyZW50RWxlbWVudD1lLFFlKHQsKHQ9Pnt0aGlzLnRyYW5zZm9ybVJ1bGUodCl9KSksdGhpcy5fY3VycmVudEVsZW1lbnQ9bnVsbH10cmFuc2Zvcm1SdWxlKHQpe3QuY3NzVGV4dD10aGlzLnRyYW5zZm9ybUNzc1RleHQodC5wYXJzZWRDc3NUZXh0LHQpLCI6cm9vdCI9PT10LnNlbGVjdG9yJiYodC5zZWxlY3Rvcj0iOmhvc3QgPiAqIil9dHJhbnNmb3JtQ3NzVGV4dCh0LGUpe3JldHVybiB0PXQucmVwbGFjZShXZSwoKHQsbixpLHIpPT50aGlzLl9wcm9kdWNlQ3NzUHJvcGVydGllcyh0LG4saSxyLGUpKSksdGhpcy5fY29uc3VtZUNzc1Byb3BlcnRpZXModCxlKX1fZ2V0SW5pdGlhbFZhbHVlRm9yUHJvcGVydHkodCl7cmV0dXJuIHRoaXMuX21lYXN1cmVFbGVtZW50fHwodGhpcy5fbWVhc3VyZUVsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibWV0YSIpLHRoaXMuX21lYXN1cmVFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXBwbHktc2hpbS1tZWFzdXJlIiwiIiksdGhpcy5fbWVhc3VyZUVsZW1lbnQuc3R5bGUuYWxsPSJpbml0aWFsIixkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRoaXMuX21lYXN1cmVFbGVtZW50KSksd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5fbWVhc3VyZUVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUodCl9X2ZhbGxiYWNrc0Zyb21QcmV2aW91c1J1bGVzKHQpe2xldCBlPXQ7Zm9yKDtlLnBhcmVudDspZT1lLnBhcmVudDtjb25zdCBuPXt9O2xldCBpPSExO3JldHVybiBRZShlLChlPT57aT1pfHxlPT09dCxpfHxlLnNlbGVjdG9yPT09dC5zZWxlY3RvciYmT2JqZWN0LmFzc2lnbihuLHRoaXMuX2Nzc1RleHRUb01hcChlLnBhcnNlZENzc1RleHQpKX0pKSxufV9jb25zdW1lQ3NzUHJvcGVydGllcyh0LGUpe2xldCBuPW51bGw7Zm9yKDtuPXFlLmV4ZWModCk7KXtsZXQgaT1uWzBdLHI9blsxXSxvPW4uaW5kZXgsYT1vK2kuaW5kZXhPZigiQGFwcGx5Iikscz1vK2kubGVuZ3RoLGw9dC5zbGljZSgwLGEpLGM9dC5zbGljZShzKSx1PWU/dGhpcy5fZmFsbGJhY2tzRnJvbVByZXZpb3VzUnVsZXMoZSk6e307T2JqZWN0LmFzc2lnbih1LHRoaXMuX2Nzc1RleHRUb01hcChsKSk7bGV0IGg9dGhpcy5fYXRBcHBseVRvQ3NzUHJvcGVydGllcyhyLHUpO3Q9YCR7bH0ke2h9JHtjfWAscWUubGFzdEluZGV4PW8raC5sZW5ndGh9cmV0dXJuIHR9X2F0QXBwbHlUb0Nzc1Byb3BlcnRpZXModCxlKXt0PXQucmVwbGFjZShzbiwiIik7bGV0IG49W10saT10aGlzLl9tYXAuZ2V0KHQpO2lmKGl8fCh0aGlzLl9tYXAuc2V0KHQse30pLGk9dGhpcy5fbWFwLmdldCh0KSksaSl7bGV0IHIsbyxhO3RoaXMuX2N1cnJlbnRFbGVtZW50JiYoaS5kZXBlbmRhbnRzW3RoaXMuX2N1cnJlbnRFbGVtZW50XT0hMCk7Y29uc3Qgcz1pLnByb3BlcnRpZXM7Zm9yKHIgaW4gcylhPWUmJmVbcl0sbz1bciwiOiB2YXIoIix0LHVuLHJdLGEmJm8ucHVzaCgiLCIsYS5yZXBsYWNlKGNuLCIiKSksby5wdXNoKCIpIiksY24udGVzdChzW3JdKSYmby5wdXNoKCIgIWltcG9ydGFudCIpLG4ucHVzaChvLmpvaW4oIiIpKX1yZXR1cm4gbi5qb2luKCI7ICIpfV9yZXBsYWNlSW5pdGlhbE9ySW5oZXJpdCh0LGUpe2xldCBuPWxuLmV4ZWMoZSk7cmV0dXJuIG4mJihlPW5bMV0/dGhpcy5fZ2V0SW5pdGlhbFZhbHVlRm9yUHJvcGVydHkodCk6ImFwcGx5LXNoaW0taW5oZXJpdCIpLGV9X2Nzc1RleHRUb01hcCh0LGU9ITEpe2xldCBuLGkscj10LnNwbGl0KCI7Iiksbz17fTtmb3IobGV0IHQsYSxzPTA7czxyLmxlbmd0aDtzKyspdD1yW3NdLHQmJihhPXQuc3BsaXQoIjoiKSxhLmxlbmd0aD4xJiYobj1hWzBdLnRyaW0oKSxpPWEuc2xpY2UoMSkuam9pbigiOiIpLGUmJihpPXRoaXMuX3JlcGxhY2VJbml0aWFsT3JJbmhlcml0KG4saSkpLG9bbl09aSkpO3JldHVybiBvfV9pbnZhbGlkYXRlTWl4aW5FbnRyeSh0KXtpZihkbilmb3IobGV0IGUgaW4gdC5kZXBlbmRhbnRzKWUhPT10aGlzLl9jdXJyZW50RWxlbWVudCYmZG4oZSl9X3Byb2R1Y2VDc3NQcm9wZXJ0aWVzKHQsZSxuLGkscil7aWYobiYmdG4obiwoKHQsZSk9PntlJiZ0aGlzLl9tYXAuZ2V0KGUpJiYoaT1gQGFwcGx5ICR7ZX07YCl9KSksIWkpcmV0dXJuIHQ7bGV0IG89dGhpcy5fY29uc3VtZUNzc1Byb3BlcnRpZXMoIiIraSxyKSxhPXQuc2xpY2UoMCx0LmluZGV4T2YoIi0tIikpLHM9dGhpcy5fY3NzVGV4dFRvTWFwKG8sITApLGw9cyxjPXRoaXMuX21hcC5nZXQoZSksdT1jJiZjLnByb3BlcnRpZXM7dT9sPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZSh1KSxzKTp0aGlzLl9tYXAuc2V0KGUsbCk7bGV0IGgsZCxwPVtdLGY9ITE7Zm9yKGggaW4gbClkPXNbaF0sdm9pZCAwPT09ZCYmKGQ9ImluaXRpYWwiKSx1JiYhKGggaW4gdSkmJihmPSEwKSxwLnB1c2goYCR7ZX1fLV8ke2h9OiAke2R9YCk7cmV0dXJuIGYmJnRoaXMuX2ludmFsaWRhdGVNaXhpbkVudHJ5KGMpLGMmJihjLnByb3BlcnRpZXM9bCksbiYmKGE9YCR7dH07JHthfWApLGAke2F9JHtwLmpvaW4oIjsgIil9O2B9fXBuLnByb3RvdHlwZS5kZXRlY3RNaXhpbj1wbi5wcm90b3R5cGUuZGV0ZWN0TWl4aW4scG4ucHJvdG90eXBlLnRyYW5zZm9ybVN0eWxlPXBuLnByb3RvdHlwZS50cmFuc2Zvcm1TdHlsZSxwbi5wcm90b3R5cGUudHJhbnNmb3JtQ3VzdG9tU3R5bGU9cG4ucHJvdG90eXBlLnRyYW5zZm9ybUN1c3RvbVN0eWxlLHBuLnByb3RvdHlwZS50cmFuc2Zvcm1SdWxlcz1wbi5wcm90b3R5cGUudHJhbnNmb3JtUnVsZXMscG4ucHJvdG90eXBlLnRyYW5zZm9ybVJ1bGU9cG4ucHJvdG90eXBlLnRyYW5zZm9ybVJ1bGUscG4ucHJvdG90eXBlLnRyYW5zZm9ybVRlbXBsYXRlPXBuLnByb3RvdHlwZS50cmFuc2Zvcm1UZW1wbGF0ZSxwbi5wcm90b3R5cGUuX3NlcGFyYXRvcj11bixPYmplY3QuZGVmaW5lUHJvcGVydHkocG4ucHJvdG90eXBlLCJpbnZhbGlkQ2FsbGJhY2siLHtnZXQ6KCk9PmRuLHNldCh0KXtkbj10fX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBmbj17fSxtbj0iX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9uIixnbj0iX2FwcGx5U2hpbU5leHRWZXJzaW9uIixfbj0iX2FwcGx5U2hpbVZhbGlkYXRpbmdWZXJzaW9uIix5bj1Qcm9taXNlLnJlc29sdmUoKTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9mdW5jdGlvbiB2bih0KXtsZXQgZT1mblt0XTtlJiYoZnVuY3Rpb24gbih0KXt0W21uXT10W21uXXx8MCx0W19uXT10W19uXXx8MCx0W2duXT0odFtnbl18fDApKzF9KShlKX1mdW5jdGlvbiBibih0KXtyZXR1cm4gdFttbl09PT10W2duXX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KbGV0IHhuLHduPW51bGwsU249d2luZG93LkhUTUxJbXBvcnRzJiZ3aW5kb3cuSFRNTEltcG9ydHMud2hlblJlYWR5fHxudWxsO2Z1bmN0aW9uIE1uKHQpe3JlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24oKXtTbj9Tbih0KTood258fCh3bj1uZXcgUHJvbWlzZSgodD0+e3huPXR9KSksImNvbXBsZXRlIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/eG4oKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIiwoKCk9PnsiY29tcGxldGUiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSYmeG4oKX0pKSksd24udGhlbigoZnVuY3Rpb24oKXt0JiZ0KCl9KSkpfSkpfQovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2NvbnN0IEVuPSJfX3NlZW5CeVNoYWR5Q1NTIixUbj0iX19zaGFkeUNTU0NhY2hlZFN0eWxlIjtsZXQgQ249bnVsbCxBbj1udWxsO2NsYXNzIGtue2NvbnN0cnVjdG9yKCl7dGhpcy5jdXN0b21TdHlsZXM9W10sdGhpcy5lbnF1ZXVlZD0hMSxNbigoKCk9Pnt3aW5kb3cuU2hhZHlDU1MuZmx1c2hDdXN0b21TdHlsZXMmJndpbmRvdy5TaGFkeUNTUy5mbHVzaEN1c3RvbVN0eWxlcygpfSkpfWVucXVldWVEb2N1bWVudFZhbGlkYXRpb24oKXshdGhpcy5lbnF1ZXVlZCYmQW4mJih0aGlzLmVucXVldWVkPSEwLE1uKEFuKSl9YWRkQ3VzdG9tU3R5bGUodCl7dFtFbl18fCh0W0VuXT0hMCx0aGlzLmN1c3RvbVN0eWxlcy5wdXNoKHQpLHRoaXMuZW5xdWV1ZURvY3VtZW50VmFsaWRhdGlvbigpKX1nZXRTdHlsZUZvckN1c3RvbVN0eWxlKHQpe2lmKHRbVG5dKXJldHVybiB0W1RuXTtsZXQgZTtyZXR1cm4gZT10LmdldFN0eWxlP3QuZ2V0U3R5bGUoKTp0LGV9cHJvY2Vzc1N0eWxlcygpe2NvbnN0IHQ9dGhpcy5jdXN0b21TdHlsZXM7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2NvbnN0IG49dFtlXTtpZihuW1RuXSljb250aW51ZTtjb25zdCBpPXRoaXMuZ2V0U3R5bGVGb3JDdXN0b21TdHlsZShuKTtpZihpKXtjb25zdCB0PWkuX19hcHBsaWVkRWxlbWVudHx8aTtDbiYmQ24odCksbltUbl09dH19cmV0dXJuIHR9fWtuLnByb3RvdHlwZS5hZGRDdXN0b21TdHlsZT1rbi5wcm90b3R5cGUuYWRkQ3VzdG9tU3R5bGUsa24ucHJvdG90eXBlLmdldFN0eWxlRm9yQ3VzdG9tU3R5bGU9a24ucHJvdG90eXBlLmdldFN0eWxlRm9yQ3VzdG9tU3R5bGUsa24ucHJvdG90eXBlLnByb2Nlc3NTdHlsZXM9a24ucHJvdG90eXBlLnByb2Nlc3NTdHlsZXMsT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoa24ucHJvdG90eXBlLHt0cmFuc2Zvcm1DYWxsYmFjazp7Z2V0OigpPT5DbixzZXQodCl7Q249dH19LHZhbGlkYXRlQ2FsbGJhY2s6e2dldDooKT0+QW4sc2V0KHQpe2xldCBlPSExO0FufHwoZT0hMCksQW49dCxlJiZ0aGlzLmVucXVldWVEb2N1bWVudFZhbGlkYXRpb24oKX19fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IExuPW5ldyBwbjtjbGFzcyBQbntjb25zdHJ1Y3Rvcigpe3RoaXMuY3VzdG9tU3R5bGVJbnRlcmZhY2U9bnVsbCxMbi5pbnZhbGlkQ2FsbGJhY2s9dm59ZW5zdXJlKCl7dGhpcy5jdXN0b21TdHlsZUludGVyZmFjZXx8d2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlJiYodGhpcy5jdXN0b21TdHlsZUludGVyZmFjZT13aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2UsdGhpcy5jdXN0b21TdHlsZUludGVyZmFjZS50cmFuc2Zvcm1DYWxsYmFjaz10PT57TG4udHJhbnNmb3JtQ3VzdG9tU3R5bGUodCl9LHRoaXMuY3VzdG9tU3R5bGVJbnRlcmZhY2UudmFsaWRhdGVDYWxsYmFjaz0oKT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLmN1c3RvbVN0eWxlSW50ZXJmYWNlLmVucXVldWVkJiZ0aGlzLmZsdXNoQ3VzdG9tU3R5bGVzKCl9KSl9KX1wcmVwYXJlVGVtcGxhdGUodCxlKXtpZih0aGlzLmVuc3VyZSgpLHJuKHQpKXJldHVybjtmbltlXT10O2xldCBuPUxuLnRyYW5zZm9ybVRlbXBsYXRlKHQsZSk7dC5fc3R5bGVBc3Q9bn1mbHVzaEN1c3RvbVN0eWxlcygpe2lmKHRoaXMuZW5zdXJlKCksIXRoaXMuY3VzdG9tU3R5bGVJbnRlcmZhY2UpcmV0dXJuO2xldCB0PXRoaXMuY3VzdG9tU3R5bGVJbnRlcmZhY2UucHJvY2Vzc1N0eWxlcygpO2lmKHRoaXMuY3VzdG9tU3R5bGVJbnRlcmZhY2UuZW5xdWV1ZWQpe2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtsZXQgbj10aGlzLmN1c3RvbVN0eWxlSW50ZXJmYWNlLmdldFN0eWxlRm9yQ3VzdG9tU3R5bGUodFtlXSk7biYmTG4udHJhbnNmb3JtQ3VzdG9tU3R5bGUobil9dGhpcy5jdXN0b21TdHlsZUludGVyZmFjZS5lbnF1ZXVlZD0hMX19c3R5bGVTdWJ0cmVlKHQsZSl7aWYodGhpcy5lbnN1cmUoKSxlJiZvbih0LGUpLHQuc2hhZG93Um9vdCl7dGhpcy5zdHlsZUVsZW1lbnQodCk7bGV0IGU9dC5zaGFkb3dSb290LmNoaWxkcmVufHx0LnNoYWRvd1Jvb3QuY2hpbGROb2Rlcztmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLnN0eWxlU3VidHJlZShlW3RdKX1lbHNle2xldCBlPXQuY2hpbGRyZW58fHQuY2hpbGROb2Rlcztmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLnN0eWxlU3VidHJlZShlW3RdKX19c3R5bGVFbGVtZW50KHQpe3RoaXMuZW5zdXJlKCk7bGV0e2lzOmV9PShmdW5jdGlvbiBuKHQpe2xldCBlPXQubG9jYWxOYW1lLG49IiIsaT0iIjtyZXR1cm4gZT9lLmluZGV4T2YoIi0iKT4tMT9uPWU6KGk9ZSxuPXQuZ2V0QXR0cmlidXRlJiZ0LmdldEF0dHJpYnV0ZSgiaXMiKXx8IiIpOihuPXQuaXMsaT10LmV4dGVuZHMpLHtpczpuLHR5cGVFeHRlbnNpb246aX19KSh0KSxpPWZuW2VdO2lmKCghaXx8IXJuKGkpKSYmaSYmIWJuKGkpKXsoZnVuY3Rpb24gbih0KXtyZXR1cm4hYm4odCkmJnRbX25dPT09dFtnbl19KShpKXx8KHRoaXMucHJlcGFyZVRlbXBsYXRlKGksZSksKGZ1bmN0aW9uIHIodCl7dFtfbl09dFtnbl0sdC5fdmFsaWRhdGluZ3x8KHQuX3ZhbGlkYXRpbmc9ITAseW4udGhlbigoZnVuY3Rpb24oKXt0W21uXT10W2duXSx0Ll92YWxpZGF0aW5nPSExfSkpKX0pKGkpKTtsZXQgbz10LnNoYWRvd1Jvb3Q7aWYobyl7bGV0IHQ9by5xdWVyeVNlbGVjdG9yKCJzdHlsZSIpO3QmJih0Ll9fY3NzUnVsZXM9aS5fc3R5bGVBc3QsdC50ZXh0Q29udGVudD1aZShpLl9zdHlsZUFzdCkpfX19c3R5bGVEb2N1bWVudCh0KXt0aGlzLmVuc3VyZSgpLHRoaXMuc3R5bGVTdWJ0cmVlKGRvY3VtZW50LmJvZHksdCl9fWlmKCF3aW5kb3cuU2hhZHlDU1N8fCF3aW5kb3cuU2hhZHlDU1MuU2NvcGluZ1NoaW0pe2NvbnN0IHQ9bmV3IFBuO2xldCBlPXdpbmRvdy5TaGFkeUNTUyYmd2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlO3dpbmRvdy5TaGFkeUNTUz17cHJlcGFyZVRlbXBsYXRlKGUsbixpKXt0LmZsdXNoQ3VzdG9tU3R5bGVzKCksdC5wcmVwYXJlVGVtcGxhdGUoZSxuKX0scHJlcGFyZVRlbXBsYXRlU3R5bGVzKHQsZSxuKXt3aW5kb3cuU2hhZHlDU1MucHJlcGFyZVRlbXBsYXRlKHQsZSxuKX0scHJlcGFyZVRlbXBsYXRlRG9tKHQsZSl7fSxzdHlsZVN1YnRyZWUoZSxuKXt0LmZsdXNoQ3VzdG9tU3R5bGVzKCksdC5zdHlsZVN1YnRyZWUoZSxuKX0sc3R5bGVFbGVtZW50KGUpe3QuZmx1c2hDdXN0b21TdHlsZXMoKSx0LnN0eWxlRWxlbWVudChlKX0sc3R5bGVEb2N1bWVudChlKXt0LmZsdXNoQ3VzdG9tU3R5bGVzKCksdC5zdHlsZURvY3VtZW50KGUpfSxnZXRDb21wdXRlZFN0eWxlVmFsdWU6KHQsZSk9PmFuKHQsZSksZmx1c2hDdXN0b21TdHlsZXMoKXt0LmZsdXNoQ3VzdG9tU3R5bGVzKCl9LG5hdGl2ZUNzczpJZSxuYXRpdmVTaGFkb3c6QWUsY3NzQnVpbGQ6TGUsZGlzYWJsZVJ1bnRpbWU6TmV9LGUmJih3aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2U9ZSl9d2luZG93LlNoYWR5Q1NTLkFwcGx5U2hpbT1MbjsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY2xhc3MgTm57Y29uc3RydWN0b3IoKXt0aGlzLl9hc3luY01vZHVsZT1udWxsLHRoaXMuX2NhbGxiYWNrPW51bGwsdGhpcy5fdGltZXI9bnVsbH1zZXRDb25maWcodCxlKXt0aGlzLl9hc3luY01vZHVsZT10LHRoaXMuX2NhbGxiYWNrPWUsdGhpcy5fdGltZXI9dGhpcy5fYXN5bmNNb2R1bGUucnVuKCgoKT0+e3RoaXMuX3RpbWVyPW51bGwsSW4uZGVsZXRlKHRoaXMpLHRoaXMuX2NhbGxiYWNrKCl9KSl9Y2FuY2VsKCl7dGhpcy5pc0FjdGl2ZSgpJiYodGhpcy5fY2FuY2VsQXN5bmMoKSxJbi5kZWxldGUodGhpcykpfV9jYW5jZWxBc3luYygpe3RoaXMuaXNBY3RpdmUoKSYmKHRoaXMuX2FzeW5jTW9kdWxlLmNhbmNlbCh0aGlzLl90aW1lciksdGhpcy5fdGltZXI9bnVsbCl9Zmx1c2goKXt0aGlzLmlzQWN0aXZlKCkmJih0aGlzLmNhbmNlbCgpLHRoaXMuX2NhbGxiYWNrKCkpfWlzQWN0aXZlKCl7cmV0dXJuIG51bGwhPXRoaXMuX3RpbWVyfXN0YXRpYyBkZWJvdW5jZSh0LGUsbil7cmV0dXJuIHQgaW5zdGFuY2VvZiBObj90Ll9jYW5jZWxBc3luYygpOnQ9bmV3IE5uLHQuc2V0Q29uZmlnKGUsbiksdH19bGV0IEluPW5ldyBTZXQ7Y29uc3QgUm49ZnVuY3Rpb24odCl7SW4uYWRkKHQpfSxPbj1mdW5jdGlvbigpe2NvbnN0IHQ9Qm9vbGVhbihJbi5zaXplKTtyZXR1cm4gSW4uZm9yRWFjaCgodD0+e3RyeXt0LmZsdXNoKCl9Y2F0Y2godCl7c2V0VGltZW91dCgoKCk9Pnt0aHJvdyB0fSkpfX0pKSx0fTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KbGV0IHpuPSJzdHJpbmciPT10eXBlb2YgZG9jdW1lbnQuaGVhZC5zdHlsZS50b3VjaEFjdGlvbixEbj0iX19wb2x5bWVyR2VzdHVyZXMiLEJuPSJfX3BvbHltZXJHZXN0dXJlc0hhbmRsZWQiLEhuPSJfX3BvbHltZXJHZXN0dXJlc1RvdWNoQWN0aW9uIixGbj1bIm1vdXNlZG93biIsIm1vdXNlbW92ZSIsIm1vdXNldXAiLCJjbGljayJdLFZuPVswLDEsNCwyXSxVbj0oZnVuY3Rpb24oKXt0cnl7cmV0dXJuIDE9PT1uZXcgTW91c2VFdmVudCgidGVzdCIse2J1dHRvbnM6MX0pLmJ1dHRvbnN9Y2F0Y2godCl7cmV0dXJuITF9fSkoKTtmdW5jdGlvbiBqbih0KXtyZXR1cm4gRm4uaW5kZXhPZih0KT4tMX1sZXQgR249ITE7ZnVuY3Rpb24gV24odCl7aWYoIWpuKHQpJiYidG91Y2hlbmQiIT09dClyZXR1cm4gem4mJkduJiZ2P3twYXNzaXZlOiEwfTp2b2lkIDB9IShmdW5jdGlvbigpe3RyeXtsZXQgdD1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQoKXtHbj0hMH19KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCx0KSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCx0KX1jYXRjaCh0KXt9fSkoKTtsZXQgcW49bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVAoPzpbb2FdZHxob25lKXxBbmRyb2lkLyk7Y29uc3QgWW49W10sWG49e2J1dHRvbjohMCxpbnB1dDohMCxrZXlnZW46ITAsbWV0ZXI6ITAsb3V0cHV0OiEwLHRleHRhcmVhOiEwLHByb2dyZXNzOiEwLHNlbGVjdDohMH0sJG49e2J1dHRvbjohMCxjb21tYW5kOiEwLGZpZWxkc2V0OiEwLGlucHV0OiEwLGtleWdlbjohMCxvcHRncm91cDohMCxvcHRpb246ITAsc2VsZWN0OiEwLHRleHRhcmVhOiEwfTtmdW5jdGlvbiBLbih0KXtsZXQgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0LmxhYmVsc3x8W10pO2lmKCFlLmxlbmd0aCl7ZT1bXTtsZXQgbj10LmdldFJvb3ROb2RlKCk7aWYodC5pZCl7bGV0IGk9bi5xdWVyeVNlbGVjdG9yQWxsKGBsYWJlbFtmb3IgPSAke3QuaWR9XWApO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKWUucHVzaChpW3RdKX19cmV0dXJuIGV9bGV0IFpuPWZ1bmN0aW9uKHQpe2xldCBlPXQuc291cmNlQ2FwYWJpbGl0aWVzO2lmKCghZXx8ZS5maXJlc1RvdWNoRXZlbnRzKSYmKHRbQm5dPXtza2lwOiEwfSwiY2xpY2siPT09dC50eXBlKSl7bGV0IGU9ITEsbj1yaSh0KTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7aWYoblt0XS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKWlmKCJsYWJlbCI9PT1uW3RdLmxvY2FsTmFtZSlZbi5wdXNoKG5bdF0pO2Vsc2UgaWYoWG5bblt0XS5sb2NhbE5hbWVdKXtsZXQgaT1LbihuW3RdKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyllPWV8fFluLmluZGV4T2YoaVt0XSk+LTF9aWYoblt0XT09PXRpLm1vdXNlLnRhcmdldClyZXR1cm59aWYoZSlyZXR1cm47dC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCl9fTtmdW5jdGlvbiBKbih0KXtsZXQgZT1xbj9bImNsaWNrIl06Rm47Zm9yKGxldCBuLGk9MDtpPGUubGVuZ3RoO2krKyluPWVbaV0sdD8oWW4ubGVuZ3RoPTAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihuLFpuLCEwKSk6ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihuLFpuLCEwKX1mdW5jdGlvbiBRbih0KXtsZXQgZT10LnR5cGU7aWYoIWpuKGUpKXJldHVybiExO2lmKCJtb3VzZW1vdmUiPT09ZSl7bGV0IGU9dm9pZCAwPT09dC5idXR0b25zPzE6dC5idXR0b25zO3JldHVybiB0IGluc3RhbmNlb2Ygd2luZG93Lk1vdXNlRXZlbnQmJiFVbiYmKGU9Vm5bdC53aGljaF18fDApLEJvb2xlYW4oMSZlKX1yZXR1cm4gMD09PSh2b2lkIDA9PT10LmJ1dHRvbj8wOnQuYnV0dG9uKX1sZXQgdGk9e21vdXNlOnt0YXJnZXQ6bnVsbCxtb3VzZUlnbm9yZUpvYjpudWxsfSx0b3VjaDp7eDowLHk6MCxpZDotMSxzY3JvbGxEZWNpZGVkOiExfX07ZnVuY3Rpb24gZWkodCxlLG4pe3QubW92ZWZuPWUsdC51cGZuPW4sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixuKX1mdW5jdGlvbiBuaSh0KXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHQubW92ZWZuKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0LnVwZm4pLHQubW92ZWZuPW51bGwsdC51cGZuPW51bGx9ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLChmdW5jdGlvbiBpaSh0KXt0aS5tb3VzZS5tb3VzZUlnbm9yZUpvYnx8Sm4oITApLHRpLm1vdXNlLnRhcmdldD1yaSh0KVswXSx0aS5tb3VzZS5tb3VzZUlnbm9yZUpvYj1Obi5kZWJvdW5jZSh0aS5tb3VzZS5tb3VzZUlnbm9yZUpvYixndC5hZnRlcigyNTAwKSwoZnVuY3Rpb24oKXtKbigpLHRpLm1vdXNlLnRhcmdldD1udWxsLHRpLm1vdXNlLm1vdXNlSWdub3JlSm9iPW51bGx9KSl9KSwhIUduJiZ7cGFzc2l2ZTohMH0pO2NvbnN0IHJpPXdpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLm5vUGF0Y2g/d2luZG93LlNoYWR5RE9NLmNvbXBvc2VkUGF0aDp0PT50LmNvbXBvc2VkUGF0aCYmdC5jb21wb3NlZFBhdGgoKXx8W10sb2k9e30sYWk9W107ZnVuY3Rpb24gc2kodCl7Y29uc3QgZT1yaSh0KTtyZXR1cm4gZS5sZW5ndGg+MD9lWzBdOnQudGFyZ2V0fWZ1bmN0aW9uIGxpKHQpe2xldCBlLG49dC50eXBlLGk9dC5jdXJyZW50VGFyZ2V0W0RuXTtpZighaSlyZXR1cm47bGV0IHI9aVtuXTtpZihyKXtpZighdFtCbl0mJih0W0JuXT17fSwidG91Y2giPT09bi5zbGljZSgwLDUpKSl7bGV0IGU9KHQ9dCkuY2hhbmdlZFRvdWNoZXNbMF07aWYoInRvdWNoc3RhcnQiPT09biYmMT09PXQudG91Y2hlcy5sZW5ndGgmJih0aS50b3VjaC5pZD1lLmlkZW50aWZpZXIpLHRpLnRvdWNoLmlkIT09ZS5pZGVudGlmaWVyKXJldHVybjt6bnx8InRvdWNoc3RhcnQiIT09biYmInRvdWNobW92ZSIhPT1ufHwoZnVuY3Rpb24gbyh0KXtsZXQgZT10LmNoYW5nZWRUb3VjaGVzWzBdLG49dC50eXBlO2lmKCJ0b3VjaHN0YXJ0Ij09PW4pdGkudG91Y2gueD1lLmNsaWVudFgsdGkudG91Y2gueT1lLmNsaWVudFksdGkudG91Y2guc2Nyb2xsRGVjaWRlZD0hMTtlbHNlIGlmKCJ0b3VjaG1vdmUiPT09bil7aWYodGkudG91Y2guc2Nyb2xsRGVjaWRlZClyZXR1cm47dGkudG91Y2guc2Nyb2xsRGVjaWRlZD0hMDtsZXQgbj0oZnVuY3Rpb24gaSh0KXtsZXQgZT0iYXV0byIsbj1yaSh0KTtmb3IobGV0IHQsaT0wO2k8bi5sZW5ndGg7aSsrKWlmKHQ9bltpXSx0W0huXSl7ZT10W0huXTticmVha31yZXR1cm4gZX0pKHQpLGk9ITEscj1NYXRoLmFicyh0aS50b3VjaC54LWUuY2xpZW50WCksbz1NYXRoLmFicyh0aS50b3VjaC55LWUuY2xpZW50WSk7dC5jYW5jZWxhYmxlJiYoIm5vbmUiPT09bj9pPSEwOiJwYW4teCI9PT1uP2k9bz5yOiJwYW4teSI9PT1uJiYoaT1yPm8pKSxpP3QucHJldmVudERlZmF1bHQoKTpmaSgidHJhY2siKX19KSh0KX1pZihlPXRbQm5dLCFlLnNraXApe2ZvcihsZXQgbixpPTA7aTxhaS5sZW5ndGg7aSsrKW49YWlbaV0scltuLm5hbWVdJiYhZVtuLm5hbWVdJiZuLmZsb3cmJm4uZmxvdy5zdGFydC5pbmRleE9mKHQudHlwZSk+LTEmJm4ucmVzZXQmJm4ucmVzZXQoKTtmb3IobGV0IGksbz0wO288YWkubGVuZ3RoO28rKylpPWFpW29dLHJbaS5uYW1lXSYmIWVbaS5uYW1lXSYmKGVbaS5uYW1lXT0hMCxpW25dKHQpKX19fWZ1bmN0aW9uIGNpKHQsZSxuKXtyZXR1cm4hIW9pW2VdJiYoKGZ1bmN0aW9uIGkodCxlLG4pe2xldCBpPW9pW2VdLHI9aS5kZXBzLG89aS5uYW1lLGE9dFtEbl07YXx8KHRbRG5dPWE9e30pO2ZvcihsZXQgZSxuLGk9MDtpPHIubGVuZ3RoO2krKyllPXJbaV0scW4mJmpuKGUpJiYiY2xpY2siIT09ZXx8KG49YVtlXSxufHwoYVtlXT1uPXtfY291bnQ6MH0pLDA9PT1uLl9jb3VudCYmdC5hZGRFdmVudExpc3RlbmVyKGUsbGksV24oZSkpLG5bb109KG5bb118fDApKzEsbi5fY291bnQ9KG4uX2NvdW50fHwwKSsxKTt0LmFkZEV2ZW50TGlzdGVuZXIoZSxuKSxpLnRvdWNoQWN0aW9uJiZkaSh0LGkudG91Y2hBY3Rpb24pfSkodCxlLG4pLCEwKX1mdW5jdGlvbiB1aSh0LGUsbil7cmV0dXJuISFvaVtlXSYmKChmdW5jdGlvbiBpKHQsZSxuKXtsZXQgaT1vaVtlXSxyPWkuZGVwcyxvPWkubmFtZSxhPXRbRG5dO2lmKGEpZm9yKGxldCBlLG4saT0wO2k8ci5sZW5ndGg7aSsrKWU9cltpXSxuPWFbZV0sbiYmbltvXSYmKG5bb109KG5bb118fDEpLTEsbi5fY291bnQ9KG4uX2NvdW50fHwxKS0xLDA9PT1uLl9jb3VudCYmdC5yZW1vdmVFdmVudExpc3RlbmVyKGUsbGksV24oZSkpKTt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxuKX0pKHQsZSxuKSwhMCl9ZnVuY3Rpb24gaGkodCl7YWkucHVzaCh0KTtmb3IobGV0IGU9MDtlPHQuZW1pdHMubGVuZ3RoO2UrKylvaVt0LmVtaXRzW2VdXT10fWZ1bmN0aW9uIGRpKHQsZSl7em4mJnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdnQucnVuKCgoKT0+e3Quc3R5bGUudG91Y2hBY3Rpb249ZX0pKSx0W0huXT1lfWZ1bmN0aW9uIHBpKHQsZSxuKXtsZXQgaT1uZXcgRXZlbnQoZSx7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLGNvbXBvc2VkOiEwfSk7aWYoaS5kZXRhaWw9bixZKHQpLmRpc3BhdGNoRXZlbnQoaSksaS5kZWZhdWx0UHJldmVudGVkKXtsZXQgdD1uLnByZXZlbnRlcnx8bi5zb3VyY2VFdmVudDt0JiZ0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCl9fWZ1bmN0aW9uIGZpKHQpe2xldCBlPShmdW5jdGlvbiBuKHQpe2ZvcihsZXQgZSxuPTA7bjxhaS5sZW5ndGg7bisrKXtlPWFpW25dO2ZvcihsZXQgbixpPTA7aTxlLmVtaXRzLmxlbmd0aDtpKyspaWYobj1lLmVtaXRzW2ldLG49PT10KXJldHVybiBlfXJldHVybiBudWxsfSkodCk7ZS5pbmZvJiYoZS5pbmZvLnByZXZlbnQ9ITApfWZ1bmN0aW9uIG1pKHQsZSxuLGkpe2UmJnBpKGUsdCx7eDpuLmNsaWVudFgseTpuLmNsaWVudFksc291cmNlRXZlbnQ6bixwcmV2ZW50ZXI6aSxwcmV2ZW50OmZ1bmN0aW9uKHQpe3JldHVybiBmaSh0KX19KX1mdW5jdGlvbiBnaSh0LGUsbil7aWYodC5wcmV2ZW50KXJldHVybiExO2lmKHQuc3RhcnRlZClyZXR1cm4hMDtsZXQgaT1NYXRoLmFicyh0LngtZSkscj1NYXRoLmFicyh0Lnktbik7cmV0dXJuIGk+PTV8fHI+PTV9ZnVuY3Rpb24gX2kodCxlLG4pe2lmKCFlKXJldHVybjtsZXQgaSxyPXQubW92ZXNbdC5tb3Zlcy5sZW5ndGgtMl0sbz10Lm1vdmVzW3QubW92ZXMubGVuZ3RoLTFdLGE9MDtyJiYoaT1vLngtci54LGE9by55LXIueSkscGkoZSwidHJhY2siLHtzdGF0ZTp0LnN0YXRlLHg6bi5jbGllbnRYLHk6bi5jbGllbnRZLGR4Om8ueC10LngsZHk6by55LXQueSxkZHg6aSxkZHk6YSxzb3VyY2VFdmVudDpuLGhvdmVyOmZ1bmN0aW9uKCl7cmV0dXJuKGZ1bmN0aW9uIHQoZSxuKXtsZXQgaT1kb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGUsbikscj1pO2Zvcig7ciYmci5zaGFkb3dSb290JiYhd2luZG93LlNoYWR5RE9NOyl7bGV0IHQ9cjtpZihyPXIuc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50KGUsbiksdD09PXIpYnJlYWs7ciYmKGk9cil9cmV0dXJuIGl9KShuLmNsaWVudFgsbi5jbGllbnRZKX19KX1mdW5jdGlvbiB5aSh0LGUsbil7bGV0IGk9TWF0aC5hYnMoZS5jbGllbnRYLXQueCkscj1NYXRoLmFicyhlLmNsaWVudFktdC55KSxvPXNpKG58fGUpOyFvfHwkbltvLmxvY2FsTmFtZV0mJm8uaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpfHwoaXNOYU4oaSl8fGlzTmFOKHIpfHxpPD0yNSYmcjw9MjV8fChmdW5jdGlvbiBhKHQpe2lmKCJjbGljayI9PT10LnR5cGUpe2lmKDA9PT10LmRldGFpbClyZXR1cm4hMDtsZXQgZT1zaSh0KTtpZighZS5ub2RlVHlwZXx8ZS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFKXJldHVybiEwO2xldCBuPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT10LnBhZ2VYLHI9dC5wYWdlWTtyZXR1cm4hKGk+PW4ubGVmdCYmaTw9bi5yaWdodCYmcj49bi50b3AmJnI8PW4uYm90dG9tKX1yZXR1cm4hMX0pKGUpKSYmKHQucHJldmVudHx8cGkobywidGFwIix7eDplLmNsaWVudFgseTplLmNsaWVudFksc291cmNlRXZlbnQ6ZSxwcmV2ZW50ZXI6bn0pKX1oaSh7bmFtZToiZG93bnVwIixkZXBzOlsibW91c2Vkb3duIiwidG91Y2hzdGFydCIsInRvdWNoZW5kIl0sZmxvdzp7c3RhcnQ6WyJtb3VzZWRvd24iLCJ0b3VjaHN0YXJ0Il0sZW5kOlsibW91c2V1cCIsInRvdWNoZW5kIl19LGVtaXRzOlsiZG93biIsInVwIl0saW5mbzp7bW92ZWZuOm51bGwsdXBmbjpudWxsfSxyZXNldDpmdW5jdGlvbigpe25pKHRoaXMuaW5mbyl9LG1vdXNlZG93bjpmdW5jdGlvbih0KXtpZighUW4odCkpcmV0dXJuO2xldCBlPXNpKHQpLG49dGhpcztlaSh0aGlzLmluZm8sKGZ1bmN0aW9uIHQoaSl7UW4oaSl8fChtaSgidXAiLGUsaSksbmkobi5pbmZvKSl9KSwoZnVuY3Rpb24gdChpKXtRbihpKSYmbWkoInVwIixlLGkpLG5pKG4uaW5mbyl9KSksbWkoImRvd24iLGUsdCl9LHRvdWNoc3RhcnQ6ZnVuY3Rpb24odCl7bWkoImRvd24iLHNpKHQpLHQuY2hhbmdlZFRvdWNoZXNbMF0sdCl9LHRvdWNoZW5kOmZ1bmN0aW9uKHQpe21pKCJ1cCIsc2kodCksdC5jaGFuZ2VkVG91Y2hlc1swXSx0KX19KSxoaSh7bmFtZToidHJhY2siLHRvdWNoQWN0aW9uOiJub25lIixkZXBzOlsibW91c2Vkb3duIiwidG91Y2hzdGFydCIsInRvdWNobW92ZSIsInRvdWNoZW5kIl0sZmxvdzp7c3RhcnQ6WyJtb3VzZWRvd24iLCJ0b3VjaHN0YXJ0Il0sZW5kOlsibW91c2V1cCIsInRvdWNoZW5kIl19LGVtaXRzOlsidHJhY2siXSxpbmZvOnt4OjAseTowLHN0YXRlOiJzdGFydCIsc3RhcnRlZDohMSxtb3ZlczpbXSxhZGRNb3ZlOmZ1bmN0aW9uKHQpe3RoaXMubW92ZXMubGVuZ3RoPjImJnRoaXMubW92ZXMuc2hpZnQoKSx0aGlzLm1vdmVzLnB1c2godCl9LG1vdmVmbjpudWxsLHVwZm46bnVsbCxwcmV2ZW50OiExfSxyZXNldDpmdW5jdGlvbigpe3RoaXMuaW5mby5zdGF0ZT0ic3RhcnQiLHRoaXMuaW5mby5zdGFydGVkPSExLHRoaXMuaW5mby5tb3Zlcz1bXSx0aGlzLmluZm8ueD0wLHRoaXMuaW5mby55PTAsdGhpcy5pbmZvLnByZXZlbnQ9ITEsbmkodGhpcy5pbmZvKX0sbW91c2Vkb3duOmZ1bmN0aW9uKHQpe2lmKCFRbih0KSlyZXR1cm47bGV0IGU9c2kodCksbj10aGlzLGk9ZnVuY3Rpb24gdChpKXtsZXQgcj1pLmNsaWVudFgsbz1pLmNsaWVudFk7Z2kobi5pbmZvLHIsbykmJihuLmluZm8uc3RhdGU9bi5pbmZvLnN0YXJ0ZWQ/Im1vdXNldXAiPT09aS50eXBlPyJlbmQiOiJ0cmFjayI6InN0YXJ0Iiwic3RhcnQiPT09bi5pbmZvLnN0YXRlJiZmaSgidGFwIiksbi5pbmZvLmFkZE1vdmUoe3g6cix5Om99KSxRbihpKXx8KG4uaW5mby5zdGF0ZT0iZW5kIixuaShuLmluZm8pKSxlJiZfaShuLmluZm8sZSxpKSxuLmluZm8uc3RhcnRlZD0hMCl9O2VpKHRoaXMuaW5mbyxpLChmdW5jdGlvbiB0KGUpe24uaW5mby5zdGFydGVkJiZpKGUpLG5pKG4uaW5mbyl9KSksdGhpcy5pbmZvLng9dC5jbGllbnRYLHRoaXMuaW5mby55PXQuY2xpZW50WX0sdG91Y2hzdGFydDpmdW5jdGlvbih0KXtsZXQgZT10LmNoYW5nZWRUb3VjaGVzWzBdO3RoaXMuaW5mby54PWUuY2xpZW50WCx0aGlzLmluZm8ueT1lLmNsaWVudFl9LHRvdWNobW92ZTpmdW5jdGlvbih0KXtsZXQgZT1zaSh0KSxuPXQuY2hhbmdlZFRvdWNoZXNbMF0saT1uLmNsaWVudFgscj1uLmNsaWVudFk7Z2kodGhpcy5pbmZvLGkscikmJigic3RhcnQiPT09dGhpcy5pbmZvLnN0YXRlJiZmaSgidGFwIiksdGhpcy5pbmZvLmFkZE1vdmUoe3g6aSx5OnJ9KSxfaSh0aGlzLmluZm8sZSxuKSx0aGlzLmluZm8uc3RhdGU9InRyYWNrIix0aGlzLmluZm8uc3RhcnRlZD0hMCl9LHRvdWNoZW5kOmZ1bmN0aW9uKHQpe2xldCBlPXNpKHQpLG49dC5jaGFuZ2VkVG91Y2hlc1swXTt0aGlzLmluZm8uc3RhcnRlZCYmKHRoaXMuaW5mby5zdGF0ZT0iZW5kIix0aGlzLmluZm8uYWRkTW92ZSh7eDpuLmNsaWVudFgseTpuLmNsaWVudFl9KSxfaSh0aGlzLmluZm8sZSxuKSl9fSksaGkoe25hbWU6InRhcCIsZGVwczpbIm1vdXNlZG93biIsImNsaWNrIiwidG91Y2hzdGFydCIsInRvdWNoZW5kIl0sZmxvdzp7c3RhcnQ6WyJtb3VzZWRvd24iLCJ0b3VjaHN0YXJ0Il0sZW5kOlsiY2xpY2siLCJ0b3VjaGVuZCJdfSxlbWl0czpbInRhcCJdLGluZm86e3g6TmFOLHk6TmFOLHByZXZlbnQ6ITF9LHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy5pbmZvLng9TmFOLHRoaXMuaW5mby55PU5hTix0aGlzLmluZm8ucHJldmVudD0hMX0sbW91c2Vkb3duOmZ1bmN0aW9uKHQpe1FuKHQpJiYodGhpcy5pbmZvLng9dC5jbGllbnRYLHRoaXMuaW5mby55PXQuY2xpZW50WSl9LGNsaWNrOmZ1bmN0aW9uKHQpe1FuKHQpJiZ5aSh0aGlzLmluZm8sdCl9LHRvdWNoc3RhcnQ6ZnVuY3Rpb24odCl7Y29uc3QgZT10LmNoYW5nZWRUb3VjaGVzWzBdO3RoaXMuaW5mby54PWUuY2xpZW50WCx0aGlzLmluZm8ueT1lLmNsaWVudFl9LHRvdWNoZW5kOmZ1bmN0aW9uKHQpe3lpKHRoaXMuaW5mbyx0LmNoYW5nZWRUb3VjaGVzWzBdLHQpfX0pO2NvbnN0IHZpPXNpLGJpPUkoKHQ9PmNsYXNzIGV4dGVuZHMgdHtfYWRkRXZlbnRMaXN0ZW5lclRvTm9kZSh0LGUsbil7Y2kodCxlLG4pfHxzdXBlci5fYWRkRXZlbnRMaXN0ZW5lclRvTm9kZSh0LGUsbil9X3JlbW92ZUV2ZW50TGlzdGVuZXJGcm9tTm9kZSh0LGUsbil7dWkodCxlLG4pfHxzdXBlci5fcmVtb3ZlRXZlbnRMaXN0ZW5lckZyb21Ob2RlKHQsZSxuKX19KSkseGk9Lzpob3N0XCg6ZGlyXCgobHRyfHJ0bClcKVwpL2csd2k9LyhbXHNcdy0jXC5cW1xdXCpdKik6ZGlyXCgobHRyfHJ0bClcKS9nLFNpPS86ZGlyXCgoPzpsdHJ8cnRsKVwpLyxNaT1Cb29sZWFuKHdpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLmluVXNlKSxFaT1bXTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9sZXQgVGk9bnVsbCxDaT0iIjtmdW5jdGlvbiBBaSgpe0NpPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoImRpciIpfWZ1bmN0aW9uIGtpKHQpe2lmKCF0Ll9fYXV0b0Rpck9wdE91dCl7dC5zZXRBdHRyaWJ1dGUoImRpciIsQ2kpfX1mdW5jdGlvbiBMaSgpe0FpKCksQ2k9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgiZGlyIik7Zm9yKGxldCB0PTA7dDxFaS5sZW5ndGg7dCsrKWtpKEVpW3RdKX1jb25zdCBQaT1JKCh0PT57TWl8fFRpfHwoQWkoKSxUaT1uZXcgTXV0YXRpb25PYnNlcnZlcihMaSksVGkub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQse2F0dHJpYnV0ZXM6ITAsYXR0cmlidXRlRmlsdGVyOlsiZGlyIl19KSk7Y29uc3QgZT1NdCh0KTtjbGFzcyBuIGV4dGVuZHMgZXtzdGF0aWMgX3Byb2Nlc3NTdHlsZVRleHQodCxuKXtyZXR1cm4gdD1lLl9wcm9jZXNzU3R5bGVUZXh0LmNhbGwodGhpcyx0LG4pLCFNaSYmU2kudGVzdCh0KSYmKHQ9dGhpcy5fcmVwbGFjZURpckluQ3NzVGV4dCh0KSx0aGlzLl9fYWN0aXZhdGVEaXI9ITApLHR9c3RhdGljIF9yZXBsYWNlRGlySW5Dc3NUZXh0KHQpe2xldCBlPXQ7cmV0dXJuIGU9ZS5yZXBsYWNlKHhpLCc6aG9zdChbZGlyPSIkMSJdKScpLGU9ZS5yZXBsYWNlKHdpLCc6aG9zdChbZGlyPSIkMiJdKSAkMScpLGV9Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX19hdXRvRGlyT3B0T3V0PSExfXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLl9fYXV0b0Rpck9wdE91dD10aGlzLmhhc0F0dHJpYnV0ZSgiZGlyIil9Y29ubmVjdGVkQ2FsbGJhY2soKXtlLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjayYmc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmNvbnN0cnVjdG9yLl9fYWN0aXZhdGVEaXImJighKGZ1bmN0aW9uIHQoKXtUaSYmVGkudGFrZVJlY29yZHMoKS5sZW5ndGgmJkxpKCl9KSgpLEVpLnB1c2godGhpcyksa2kodGhpcykpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7aWYoZS5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2smJnN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jb25zdHJ1Y3Rvci5fX2FjdGl2YXRlRGlyKXtjb25zdCB0PUVpLmluZGV4T2YodGhpcyk7dD4tMSYmRWkuc3BsaWNlKHQsMSl9fX1yZXR1cm4gbi5fX2FjdGl2YXRlRGlyPSExLG59KSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovbGV0IE5pPSExLElpPVtdLFJpPVtdO2Z1bmN0aW9uIE9pKCl7Tmk9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe05pPSExLChmdW5jdGlvbiB0KGUpe2Zvcig7ZS5sZW5ndGg7KXppKGUuc2hpZnQoKSl9KShJaSksc2V0VGltZW91dCgoZnVuY3Rpb24oKXshKGZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0PG47dCsrKXppKGUuc2hpZnQoKSl9KShSaSl9KSl9KSl9ZnVuY3Rpb24gemkodCl7Y29uc3QgZT10WzBdLG49dFsxXSxpPXRbMl07dHJ5e24uYXBwbHkoZSxpKX1jYXRjaCh0KXtzZXRUaW1lb3V0KCgoKT0+e3Rocm93IHR9KSl9fWZ1bmN0aW9uIERpKHQsZSxuKXtOaXx8T2koKSxSaS5wdXNoKFt0LGUsbl0pfQovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2Z1bmN0aW9uIEJpKCl7ZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoInVucmVzb2x2ZWQiKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KZnVuY3Rpb24gSGkodCxlLG4pe3JldHVybntpbmRleDp0LHJlbW92ZWQ6ZSxhZGRlZENvdW50Om59fSJpbnRlcmFjdGl2ZSI9PT1kb2N1bWVudC5yZWFkeVN0YXRlfHwiY29tcGxldGUiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9CaSgpOndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixCaSk7ZnVuY3Rpb24gRmkodCxlLG4saSxyLG8pe2xldCBhLHM9MCxsPTAsYz1NYXRoLm1pbihuLWUsby1yKTtpZigwPT1lJiYwPT1yJiYocz0oZnVuY3Rpb24gdSh0LGUsbil7Zm9yKGxldCBpPTA7aTxuO2krKylpZighVWkodFtpXSxlW2ldKSlyZXR1cm4gaTtyZXR1cm4gbn0pKHQsaSxjKSksbj09dC5sZW5ndGgmJm89PWkubGVuZ3RoJiYobD0oZnVuY3Rpb24gaCh0LGUsbil7bGV0IGk9dC5sZW5ndGgscj1lLmxlbmd0aCxvPTA7Zm9yKDtvPG4mJlVpKHRbLS1pXSxlWy0tcl0pOylvKys7cmV0dXJuIG99KSh0LGksYy1zKSkscis9cyxvLT1sLChuLT1sKS0oZSs9cyk9PTAmJm8tcj09MClyZXR1cm5bXTtpZihlPT1uKXtmb3IoYT1IaShlLFtdLDApO3I8bzspYS5yZW1vdmVkLnB1c2goaVtyKytdKTtyZXR1cm5bYV19aWYocj09bylyZXR1cm5bSGkoZSxbXSxuLWUpXTtsZXQgZD0oZnVuY3Rpb24gZih0KXtsZXQgZT10Lmxlbmd0aC0xLG49dFswXS5sZW5ndGgtMSxpPXRbZV1bbl0scj1bXTtmb3IoO2U+MHx8bj4wOyl7aWYoMD09ZSl7ci5wdXNoKDIpLG4tLTtjb250aW51ZX1pZigwPT1uKXtyLnB1c2goMyksZS0tO2NvbnRpbnVlfWxldCBvLGE9dFtlLTFdW24tMV0scz10W2UtMV1bbl0sbD10W2VdW24tMV07bz1zPGw/czxhP3M6YTpsPGE/bDphLG89PWE/KGE9PWk/ci5wdXNoKDApOihyLnB1c2goMSksaT1hKSxlLS0sbi0tKTpvPT1zPyhyLnB1c2goMyksZS0tLGk9cyk6KHIucHVzaCgyKSxuLS0saT1sKX1yZXR1cm4gci5yZXZlcnNlKCkscn0pKChmdW5jdGlvbiBwKHQsZSxuLGkscixvKXtsZXQgYT1vLXIrMSxzPW4tZSsxLGw9bmV3IEFycmF5KGEpO2ZvcihsZXQgdD0wO3Q8YTt0KyspbFt0XT1uZXcgQXJyYXkocyksbFt0XVswXT10O2ZvcihsZXQgdD0wO3Q8czt0KyspbFswXVt0XT10O2ZvcihsZXQgbj0xO248YTtuKyspZm9yKGxldCBvPTE7bzxzO28rKylpZihVaSh0W2Urby0xXSxpW3Irbi0xXSkpbFtuXVtvXT1sW24tMV1bby0xXTtlbHNle2xldCB0PWxbbi0xXVtvXSsxLGU9bFtuXVtvLTFdKzE7bFtuXVtvXT10PGU/dDplfXJldHVybiBsfSkodCxlLG4saSxyLG8pKTthPXZvaWQgMDtsZXQgbT1bXSxnPWUsXz1yO2ZvcihsZXQgdD0wO3Q8ZC5sZW5ndGg7dCsrKXN3aXRjaChkW3RdKXtjYXNlIDA6YSYmKG0ucHVzaChhKSxhPXZvaWQgMCksZysrLF8rKzticmVhaztjYXNlIDE6YXx8KGE9SGkoZyxbXSwwKSksYS5hZGRlZENvdW50KyssZysrLGEucmVtb3ZlZC5wdXNoKGlbX10pLF8rKzticmVhaztjYXNlIDI6YXx8KGE9SGkoZyxbXSwwKSksYS5hZGRlZENvdW50KyssZysrO2JyZWFrO2Nhc2UgMzphfHwoYT1IaShnLFtdLDApKSxhLnJlbW92ZWQucHVzaChpW19dKSxfKyt9cmV0dXJuIGEmJm0ucHVzaChhKSxtfWZ1bmN0aW9uIFZpKHQsZSl7cmV0dXJuIEZpKHQsMCx0Lmxlbmd0aCxlLDAsZS5sZW5ndGgpfWZ1bmN0aW9uIFVpKHQsZSl7cmV0dXJuIHQ9PT1lfQovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2Z1bmN0aW9uIGppKHQpe3JldHVybiJzbG90Ij09PXQubG9jYWxOYW1lfWxldCBHaT1jbGFzc3tzdGF0aWMgZ2V0RmxhdHRlbmVkTm9kZXModCl7Y29uc3QgZT1ZKHQpO3JldHVybiBqaSh0KT8odD10LGUuYXNzaWduZWROb2Rlcyh7ZmxhdHRlbjohMH0pKTpBcnJheS5mcm9tKGUuY2hpbGROb2RlcykubWFwKCh0PT5qaSh0KT9ZKHQ9dCkuYXNzaWduZWROb2Rlcyh7ZmxhdHRlbjohMH0pOlt0XSkpLnJlZHVjZSgoKHQsZSk9PnQuY29uY2F0KGUpKSxbXSl9Y29uc3RydWN0b3IodCxlKXt0aGlzLl9zaGFkeUNoaWxkcmVuT2JzZXJ2ZXI9bnVsbCx0aGlzLl9uYXRpdmVDaGlsZHJlbk9ic2VydmVyPW51bGwsdGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX3RhcmdldD10LHRoaXMuY2FsbGJhY2s9ZSx0aGlzLl9lZmZlY3RpdmVOb2Rlcz1bXSx0aGlzLl9vYnNlcnZlcj1udWxsLHRoaXMuX3NjaGVkdWxlZD0hMSx0aGlzLl9ib3VuZFNjaGVkdWxlPSgpPT57dGhpcy5fc2NoZWR1bGUoKX0sdGhpcy5jb25uZWN0KCksdGhpcy5fc2NoZWR1bGUoKX1jb25uZWN0KCl7amkodGhpcy5fdGFyZ2V0KT90aGlzLl9saXN0ZW5TbG90cyhbdGhpcy5fdGFyZ2V0XSk6WSh0aGlzLl90YXJnZXQpLmNoaWxkcmVuJiYodGhpcy5fbGlzdGVuU2xvdHMoWSh0aGlzLl90YXJnZXQpLmNoaWxkcmVuKSx3aW5kb3cuU2hhZHlET00/dGhpcy5fc2hhZHlDaGlsZHJlbk9ic2VydmVyPXdpbmRvdy5TaGFkeURPTS5vYnNlcnZlQ2hpbGRyZW4odGhpcy5fdGFyZ2V0LCh0PT57dGhpcy5fcHJvY2Vzc011dGF0aW9ucyh0KX0pKToodGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlcj1uZXcgTXV0YXRpb25PYnNlcnZlcigodD0+e3RoaXMuX3Byb2Nlc3NNdXRhdGlvbnModCl9KSksdGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlci5vYnNlcnZlKHRoaXMuX3RhcmdldCx7Y2hpbGRMaXN0OiEwfSkpKSx0aGlzLl9jb25uZWN0ZWQ9ITB9ZGlzY29ubmVjdCgpe2ppKHRoaXMuX3RhcmdldCk/dGhpcy5fdW5saXN0ZW5TbG90cyhbdGhpcy5fdGFyZ2V0XSk6WSh0aGlzLl90YXJnZXQpLmNoaWxkcmVuJiYodGhpcy5fdW5saXN0ZW5TbG90cyhZKHRoaXMuX3RhcmdldCkuY2hpbGRyZW4pLHdpbmRvdy5TaGFkeURPTSYmdGhpcy5fc2hhZHlDaGlsZHJlbk9ic2VydmVyPyh3aW5kb3cuU2hhZHlET00udW5vYnNlcnZlQ2hpbGRyZW4odGhpcy5fc2hhZHlDaGlsZHJlbk9ic2VydmVyKSx0aGlzLl9zaGFkeUNoaWxkcmVuT2JzZXJ2ZXI9bnVsbCk6dGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlciYmKHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXI9bnVsbCkpLHRoaXMuX2Nvbm5lY3RlZD0hMX1fc2NoZWR1bGUoKXt0aGlzLl9zY2hlZHVsZWR8fCh0aGlzLl9zY2hlZHVsZWQ9ITAsdnQucnVuKCgoKT0+dGhpcy5mbHVzaCgpKSkpfV9wcm9jZXNzTXV0YXRpb25zKHQpe3RoaXMuX3Byb2Nlc3NTbG90TXV0YXRpb25zKHQpLHRoaXMuZmx1c2goKX1fcHJvY2Vzc1Nsb3RNdXRhdGlvbnModCl7aWYodClmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7bGV0IG49dFtlXTtuLmFkZGVkTm9kZXMmJnRoaXMuX2xpc3RlblNsb3RzKG4uYWRkZWROb2Rlcyksbi5yZW1vdmVkTm9kZXMmJnRoaXMuX3VubGlzdGVuU2xvdHMobi5yZW1vdmVkTm9kZXMpfX1mbHVzaCgpe2lmKCF0aGlzLl9jb25uZWN0ZWQpcmV0dXJuITE7d2luZG93LlNoYWR5RE9NJiZTaGFkeURPTS5mbHVzaCgpLHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXI/dGhpcy5fcHJvY2Vzc1Nsb3RNdXRhdGlvbnModGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlci50YWtlUmVjb3JkcygpKTp0aGlzLl9zaGFkeUNoaWxkcmVuT2JzZXJ2ZXImJnRoaXMuX3Byb2Nlc3NTbG90TXV0YXRpb25zKHRoaXMuX3NoYWR5Q2hpbGRyZW5PYnNlcnZlci50YWtlUmVjb3JkcygpKSx0aGlzLl9zY2hlZHVsZWQ9ITE7bGV0IHQ9e3RhcmdldDp0aGlzLl90YXJnZXQsYWRkZWROb2RlczpbXSxyZW1vdmVkTm9kZXM6W119LGU9dGhpcy5jb25zdHJ1Y3Rvci5nZXRGbGF0dGVuZWROb2Rlcyh0aGlzLl90YXJnZXQpLG49VmkoZSx0aGlzLl9lZmZlY3RpdmVOb2Rlcyk7Zm9yKGxldCBlLGk9MDtpPG4ubGVuZ3RoJiYoZT1uW2ldKTtpKyspZm9yKGxldCBuLGk9MDtpPGUucmVtb3ZlZC5sZW5ndGgmJihuPWUucmVtb3ZlZFtpXSk7aSsrKXQucmVtb3ZlZE5vZGVzLnB1c2gobik7Zm9yKGxldCBpLHI9MDtyPG4ubGVuZ3RoJiYoaT1uW3JdKTtyKyspZm9yKGxldCBuPWkuaW5kZXg7bjxpLmluZGV4K2kuYWRkZWRDb3VudDtuKyspdC5hZGRlZE5vZGVzLnB1c2goZVtuXSk7dGhpcy5fZWZmZWN0aXZlTm9kZXM9ZTtsZXQgaT0hMTtyZXR1cm4odC5hZGRlZE5vZGVzLmxlbmd0aHx8dC5yZW1vdmVkTm9kZXMubGVuZ3RoKSYmKGk9ITAsdGhpcy5jYWxsYmFjay5jYWxsKHRoaXMuX3RhcmdldCx0KSksaX1fbGlzdGVuU2xvdHModCl7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2xldCBuPXRbZV07amkobikmJm4uYWRkRXZlbnRMaXN0ZW5lcigic2xvdGNoYW5nZSIsdGhpcy5fYm91bmRTY2hlZHVsZSl9fV91bmxpc3RlblNsb3RzKHQpe2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtsZXQgbj10W2VdO2ppKG4pJiZuLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNsb3RjaGFuZ2UiLHRoaXMuX2JvdW5kU2NoZWR1bGUpfX19OwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2NvbnN0IFdpPWZ1bmN0aW9uKCl7bGV0IHQsZTtkb3t0PXdpbmRvdy5TaGFkeURPTSYmU2hhZHlET00uZmx1c2goKSx3aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5TY29waW5nU2hpbSYmd2luZG93LlNoYWR5Q1NTLlNjb3BpbmdTaGltLmZsdXNoKCksZT1PbigpfXdoaWxlKHR8fGUpfSxxaT1FbGVtZW50LnByb3RvdHlwZSxZaT1xaS5tYXRjaGVzfHxxaS5tYXRjaGVzU2VsZWN0b3J8fHFpLm1vek1hdGNoZXNTZWxlY3Rvcnx8cWkubXNNYXRjaGVzU2VsZWN0b3J8fHFpLm9NYXRjaGVzU2VsZWN0b3J8fHFpLndlYmtpdE1hdGNoZXNTZWxlY3RvcixYaT1mdW5jdGlvbih0LGUpe3JldHVybiBZaS5jYWxsKHQsZSl9OwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2NsYXNzICRpe2NvbnN0cnVjdG9yKHQpe3dpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLmluVXNlJiZ3aW5kb3cuU2hhZHlET00ucGF0Y2godCksdGhpcy5ub2RlPXR9b2JzZXJ2ZU5vZGVzKHQpe3JldHVybiBuZXcgR2kodGhpcy5ub2RlLHQpfXVub2JzZXJ2ZU5vZGVzKHQpe3QuZGlzY29ubmVjdCgpfW5vdGlmeU9ic2VydmVyKCl7fWRlZXBDb250YWlucyh0KXtpZihZKHRoaXMubm9kZSkuY29udGFpbnModCkpcmV0dXJuITA7bGV0IGU9dCxuPXQub3duZXJEb2N1bWVudDtmb3IoO2UmJmUhPT1uJiZlIT09dGhpcy5ub2RlOyllPVkoZSkucGFyZW50Tm9kZXx8WShlKS5ob3N0O3JldHVybiBlPT09dGhpcy5ub2RlfWdldE93bmVyUm9vdCgpe3JldHVybiBZKHRoaXMubm9kZSkuZ2V0Um9vdE5vZGUoKX1nZXREaXN0cmlidXRlZE5vZGVzKCl7cmV0dXJuInNsb3QiPT09dGhpcy5ub2RlLmxvY2FsTmFtZT9ZKHRoaXMubm9kZSkuYXNzaWduZWROb2Rlcyh7ZmxhdHRlbjohMH0pOltdfWdldERlc3RpbmF0aW9uSW5zZXJ0aW9uUG9pbnRzKCl7bGV0IHQ9W10sZT1ZKHRoaXMubm9kZSkuYXNzaWduZWRTbG90O2Zvcig7ZTspdC5wdXNoKGUpLGU9WShlKS5hc3NpZ25lZFNsb3Q7cmV0dXJuIHR9aW1wb3J0Tm9kZSh0LGUpe2xldCBuPXRoaXMubm9kZSBpbnN0YW5jZW9mIERvY3VtZW50P3RoaXMubm9kZTp0aGlzLm5vZGUub3duZXJEb2N1bWVudDtyZXR1cm4gWShuKS5pbXBvcnROb2RlKHQsZSl9Z2V0RWZmZWN0aXZlQ2hpbGROb2Rlcygpe3JldHVybiBHaS5nZXRGbGF0dGVuZWROb2Rlcyh0aGlzLm5vZGUpfXF1ZXJ5RGlzdHJpYnV0ZWRFbGVtZW50cyh0KXtsZXQgZT10aGlzLmdldEVmZmVjdGl2ZUNoaWxkTm9kZXMoKSxuPVtdO2ZvcihsZXQgaSxyPTAsbz1lLmxlbmd0aDtyPG8mJihpPWVbcl0pO3IrKylpLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJlhpKGksdCkmJm4ucHVzaChpKTtyZXR1cm4gbn1nZXQgYWN0aXZlRWxlbWVudCgpe2xldCB0PXRoaXMubm9kZTtyZXR1cm4gdm9pZCAwIT09dC5fYWN0aXZlRWxlbWVudD90Ll9hY3RpdmVFbGVtZW50OnQuYWN0aXZlRWxlbWVudH19ZnVuY3Rpb24gS2kodCxlKXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7bGV0IGk9ZVtuXTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlW2ldfSxjb25maWd1cmFibGU6ITB9KX19Y2xhc3MgWml7Y29uc3RydWN0b3IodCl7dGhpcy5ldmVudD10fWdldCByb290VGFyZ2V0KCl7cmV0dXJuIHRoaXMucGF0aFswXX1nZXQgbG9jYWxUYXJnZXQoKXtyZXR1cm4gdGhpcy5ldmVudC50YXJnZXR9Z2V0IHBhdGgoKXtyZXR1cm4gdGhpcy5ldmVudC5jb21wb3NlZFBhdGgoKX19bGV0IEppPSRpO2lmKHdpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLmluVXNlJiZ3aW5kb3cuU2hhZHlET00ubm9QYXRjaCYmd2luZG93LlNoYWR5RE9NLldyYXBwZXIpe2NsYXNzIHQgZXh0ZW5kcyB3aW5kb3cuU2hhZHlET00uV3JhcHBlcnt9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoJGkucHJvdG90eXBlKS5mb3JFYWNoKChlPT57ImFjdGl2ZUVsZW1lbnQiIT1lJiYodC5wcm90b3R5cGVbZV09JGkucHJvdG90eXBlW2VdKX0pKSxLaSh0LnByb3RvdHlwZSxbImNsYXNzTGlzdCJdKSxKaT10LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFppLnByb3RvdHlwZSx7bG9jYWxUYXJnZXQ6e2dldCgpe2NvbnN0IHQ9dGhpcy5ldmVudC5jdXJyZW50VGFyZ2V0LGU9dCYmZXIodCkuZ2V0T3duZXJSb290KCksbj10aGlzLnBhdGg7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspe2NvbnN0IGk9blt0XTtpZihlcihpKS5nZXRPd25lclJvb3QoKT09PWUpcmV0dXJuIGl9fSxjb25maWd1cmFibGU6ITB9LHBhdGg6e2dldCgpe3JldHVybiB3aW5kb3cuU2hhZHlET00uY29tcG9zZWRQYXRoKHRoaXMuZXZlbnQpfSxjb25maWd1cmFibGU6ITB9fSl9ZWxzZSEoZnVuY3Rpb24gUWkodCxlKXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7bGV0IGk9ZVtuXTt0W2ldPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZVtpXS5hcHBseSh0aGlzLm5vZGUsYXJndW1lbnRzKX19fSkoJGkucHJvdG90eXBlLFsiY2xvbmVOb2RlIiwiYXBwZW5kQ2hpbGQiLCJpbnNlcnRCZWZvcmUiLCJyZW1vdmVDaGlsZCIsInJlcGxhY2VDaGlsZCIsInNldEF0dHJpYnV0ZSIsInJlbW92ZUF0dHJpYnV0ZSIsInF1ZXJ5U2VsZWN0b3IiLCJxdWVyeVNlbGVjdG9yQWxsIl0pLEtpKCRpLnByb3RvdHlwZSxbInBhcmVudE5vZGUiLCJmaXJzdENoaWxkIiwibGFzdENoaWxkIiwibmV4dFNpYmxpbmciLCJwcmV2aW91c1NpYmxpbmciLCJmaXJzdEVsZW1lbnRDaGlsZCIsImxhc3RFbGVtZW50Q2hpbGQiLCJuZXh0RWxlbWVudFNpYmxpbmciLCJwcmV2aW91c0VsZW1lbnRTaWJsaW5nIiwiY2hpbGROb2RlcyIsImNoaWxkcmVuIiwiY2xhc3NMaXN0Il0pLChmdW5jdGlvbiB0cih0LGUpe2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXtsZXQgaT1lW25dO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGkse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGVbaV19LHNldDpmdW5jdGlvbih0KXt0aGlzLm5vZGVbaV09dH0sY29uZmlndXJhYmxlOiEwfSl9fSkoJGkucHJvdG90eXBlLFsidGV4dENvbnRlbnQiLCJpbm5lckhUTUwiLCJjbGFzc05hbWUiXSk7Y29uc3QgZXI9ZnVuY3Rpb24odCl7aWYoKHQ9dHx8ZG9jdW1lbnQpaW5zdGFuY2VvZiBKaSlyZXR1cm4gdDtpZih0IGluc3RhbmNlb2YgWmkpcmV0dXJuIHQ7bGV0IGU9dC5fX2RvbUFwaTtyZXR1cm4gZXx8KGU9dCBpbnN0YW5jZW9mIEV2ZW50P25ldyBaaSh0KTpuZXcgSmkodCksdC5fX2RvbUFwaT1lKSxlfSxucj13aW5kb3cuU2hhZHlET00saXI9d2luZG93LlNoYWR5Q1NTOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTkgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2Z1bmN0aW9uIHJyKHQsZSl7cmV0dXJuIFkodCkuZ2V0Um9vdE5vZGUoKT09PWV9Ci8qKgogICAgICogQGZpbGVvdmVydmlldwogICAgICogQHN1cHByZXNzIHtjaGVja1Byb3RvdHlwYWxUeXBlc30KICAgICAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kCiAgICAgKiBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5CiAgICAgKiBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5CiAgICAgKiBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQCiAgICAgKiByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAgKi8KY29uc3Qgb3I9ImRpc2FibGUtdXBncmFkZSIsYXI9dD0+e2Zvcig7dDspe2NvbnN0IGU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LCJvYnNlcnZlZEF0dHJpYnV0ZXMiKTtpZihlKXJldHVybiBlLmdldDt0PU9iamVjdC5nZXRQcm90b3R5cGVPZih0LnByb3RvdHlwZSkuY29uc3RydWN0b3J9cmV0dXJuKCk9PltdfTtJKCh0PT57Y29uc3QgZT15ZSh0KTtsZXQgbj1hcihlKTtyZXR1cm4gY2xhc3MgZXh0ZW5kcyBle2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1zdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe3JldHVybiBuLmNhbGwodGhpcykuY29uY2F0KG9yKX1faW5pdGlhbGl6ZVByb3BlcnRpZXMoKXt0aGlzLmhhc0F0dHJpYnV0ZShvcik/dGhpcy5fX2lzVXBncmFkZURpc2FibGVkPSEwOnN1cGVyLl9pbml0aWFsaXplUHJvcGVydGllcygpfV9lbmFibGVQcm9wZXJ0aWVzKCl7dGhpcy5fX2lzVXBncmFkZURpc2FibGVkfHxzdXBlci5fZW5hYmxlUHJvcGVydGllcygpfV9jYW5BcHBseVByb3BlcnR5RGVmYXVsdCh0KXtyZXR1cm4gc3VwZXIuX2NhbkFwcGx5UHJvcGVydHlEZWZhdWx0KHQpJiYhKHRoaXMuX19pc1VwZ3JhZGVEaXNhYmxlZCYmdGhpcy5faXNQcm9wZXJ0eVBlbmRpbmcodCkpfWF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LGUsbixpKXt0PT1vcj90aGlzLl9faXNVcGdyYWRlRGlzYWJsZWQmJm51bGw9PW4mJihzdXBlci5faW5pdGlhbGl6ZVByb3BlcnRpZXMoKSx0aGlzLl9faXNVcGdyYWRlRGlzYWJsZWQ9ITEsWSh0aGlzKS5pc0Nvbm5lY3RlZCYmc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSk6c3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHQsZSxuLGkpfWNvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5fX2lzVXBncmFkZURpc2FibGVkfHxzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5fX2lzVXBncmFkZURpc2FibGVkfHxzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpfX19KSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IHNyPSJkaXNhYmxlLXVwZ3JhZGUiO2xldCBscj13aW5kb3cuU2hhZHlDU1M7Y29uc3QgY3I9SSgodD0+e2NvbnN0IGU9YmkoeWUodCkpLG49X2U/ZTpQaShlKSxpPWFyKG4pLHI9e3g6InBhbi14Iix5OiJwYW4teSIsbm9uZToibm9uZSIsYWxsOiJhdXRvIn07Y2xhc3MgbyBleHRlbmRzIG57Y29uc3RydWN0b3IoKXtzdXBlcigpfXN0YXRpYyBnZXQgaW1wb3J0TWV0YSgpe3JldHVybiB0aGlzLnByb3RvdHlwZS5pbXBvcnRNZXRhfWNyZWF0ZWQoKXt9X19hdHRyaWJ1dGVSZWFjdGlvbih0LGUsbil7KHRoaXMuX19kYXRhQXR0cmlidXRlcyYmdGhpcy5fX2RhdGFBdHRyaWJ1dGVzW3RdfHx0PT09c3IpJiZ0aGlzLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LGUsbixudWxsKX1zZXRBdHRyaWJ1dGUodCxlKXtpZihMJiYhdGhpcy5fbGVnYWN5Rm9yY2VPYnNlcnZlZEF0dHJpYnV0ZXMpe2NvbnN0IG49dGhpcy5nZXRBdHRyaWJ1dGUodCk7c3VwZXIuc2V0QXR0cmlidXRlKHQsZSksdGhpcy5fX2F0dHJpYnV0ZVJlYWN0aW9uKHQsbixTdHJpbmcoZSkpfWVsc2Ugc3VwZXIuc2V0QXR0cmlidXRlKHQsZSl9cmVtb3ZlQXR0cmlidXRlKHQpe2lmKEwmJiF0aGlzLl9sZWdhY3lGb3JjZU9ic2VydmVkQXR0cmlidXRlcyl7Y29uc3QgZT10aGlzLmdldEF0dHJpYnV0ZSh0KTtzdXBlci5yZW1vdmVBdHRyaWJ1dGUodCksdGhpcy5fX2F0dHJpYnV0ZVJlYWN0aW9uKHQsZSxudWxsKX1lbHNlIHN1cGVyLnJlbW92ZUF0dHJpYnV0ZSh0KX1zdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe3JldHVybiBMJiYhdGhpcy5wcm90b3R5cGUuX2xlZ2FjeUZvcmNlT2JzZXJ2ZWRBdHRyaWJ1dGVzPyh0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9fb2JzZXJ2ZWRBdHRyaWJ1dGVzIix0aGlzKSl8fCh0aGlzLl9fb2JzZXJ2ZWRBdHRyaWJ1dGVzPVtdKSx0aGlzLl9fb2JzZXJ2ZWRBdHRyaWJ1dGVzKTppLmNhbGwodGhpcykuY29uY2F0KHNyKX1fZW5hYmxlUHJvcGVydGllcygpe3RoaXMuX19pc1VwZ3JhZGVEaXNhYmxlZHx8c3VwZXIuX2VuYWJsZVByb3BlcnRpZXMoKX1fY2FuQXBwbHlQcm9wZXJ0eURlZmF1bHQodCl7cmV0dXJuIHN1cGVyLl9jYW5BcHBseVByb3BlcnR5RGVmYXVsdCh0KSYmISh0aGlzLl9faXNVcGdyYWRlRGlzYWJsZWQmJnRoaXMuX2lzUHJvcGVydHlQZW5kaW5nKHQpKX1jb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMuX19uZWVkc0F0dHJpYnV0ZXNBdENvbm5lY3RlZCYmdGhpcy5fdGFrZUF0dHJpYnV0ZXMoKSx0aGlzLl9faXNVcGdyYWRlRGlzYWJsZWR8fChzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaXNBdHRhY2hlZD0hMCx0aGlzLmF0dGFjaGVkKCkpfWF0dGFjaGVkKCl7fWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5fX2lzVXBncmFkZURpc2FibGVkfHwoc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmlzQXR0YWNoZWQ9ITEsdGhpcy5kZXRhY2hlZCgpKX1kZXRhY2hlZCgpe31hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4saSl7ZSE9PW4mJih0PT1zcj90aGlzLl9faXNVcGdyYWRlRGlzYWJsZWQmJm51bGw9PW4mJih0aGlzLl9pbml0aWFsaXplUHJvcGVydGllcygpLHRoaXMuX19pc1VwZ3JhZGVEaXNhYmxlZD0hMSxZKHRoaXMpLmlzQ29ubmVjdGVkJiZ0aGlzLmNvbm5lY3RlZENhbGxiYWNrKCkpOihzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4saSksdGhpcy5hdHRyaWJ1dGVDaGFuZ2VkKHQsZSxuKSkpfWF0dHJpYnV0ZUNoYW5nZWQodCxlLG4pe31faW5pdGlhbGl6ZVByb3BlcnRpZXMoKXtpZih3JiZ0aGlzLmhhc0F0dHJpYnV0ZShzcikpdGhpcy5fX2lzVXBncmFkZURpc2FibGVkPSEwO2Vsc2V7bGV0IHQ9T2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpO3QuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgiX19oYXNSZWdpc3RlckZpbmlzaGVkIix0KSl8fCh0aGlzLl9yZWdpc3RlcmVkKCksdC5fX2hhc1JlZ2lzdGVyRmluaXNoZWQ9ITApLHN1cGVyLl9pbml0aWFsaXplUHJvcGVydGllcygpLHRoaXMucm9vdD10aGlzLHRoaXMuY3JlYXRlZCgpLEwmJiF0aGlzLl9sZWdhY3lGb3JjZU9ic2VydmVkQXR0cmlidXRlcyYmKHRoaXMuaGFzQXR0cmlidXRlcygpP3RoaXMuX3Rha2VBdHRyaWJ1dGVzKCk6dGhpcy5wYXJlbnROb2RlfHwodGhpcy5fX25lZWRzQXR0cmlidXRlc0F0Q29ubmVjdGVkPSEwKSksdGhpcy5fYXBwbHlMaXN0ZW5lcnMoKX19X3Rha2VBdHRyaWJ1dGVzKCl7Y29uc3QgdD10aGlzLmF0dHJpYnV0ZXM7Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXtjb25zdCBuPXRbZV07dGhpcy5fX2F0dHJpYnV0ZVJlYWN0aW9uKG4ubmFtZSxudWxsLG4udmFsdWUpfX1fcmVnaXN0ZXJlZCgpe31yZWFkeSgpe3RoaXMuX2Vuc3VyZUF0dHJpYnV0ZXMoKSxzdXBlci5yZWFkeSgpfV9lbnN1cmVBdHRyaWJ1dGVzKCl7fV9hcHBseUxpc3RlbmVycygpe31zZXJpYWxpemUodCl7cmV0dXJuIHRoaXMuX3NlcmlhbGl6ZVZhbHVlKHQpfWRlc2VyaWFsaXplKHQsZSl7cmV0dXJuIHRoaXMuX2Rlc2VyaWFsaXplVmFsdWUodCxlKX1yZWZsZWN0UHJvcGVydHlUb0F0dHJpYnV0ZSh0LGUsbil7dGhpcy5fcHJvcGVydHlUb0F0dHJpYnV0ZSh0LGUsbil9c2VyaWFsaXplVmFsdWVUb0F0dHJpYnV0ZSh0LGUsbil7dGhpcy5fdmFsdWVUb05vZGVBdHRyaWJ1dGUobnx8dGhpcyx0LGUpfWV4dGVuZCh0LGUpe2lmKCF0fHwhZSlyZXR1cm4gdHx8ZTtsZXQgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKTtmb3IobGV0IGkscj0wO3I8bi5sZW5ndGgmJihpPW5bcl0pO3IrKyl7bGV0IG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLGkpO24mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbil9cmV0dXJuIHR9bWl4aW4odCxlKXtmb3IobGV0IG4gaW4gZSl0W25dPWVbbl07cmV0dXJuIHR9Y2hhaW5PYmplY3QodCxlKXtyZXR1cm4gdCYmZSYmdCE9PWUmJih0Ll9fcHJvdG9fXz1lKSx0fWluc3RhbmNlVGVtcGxhdGUodCl7bGV0IGU9dGhpcy5jb25zdHJ1Y3Rvci5fY29udGVudEZvclRlbXBsYXRlKHQpO3JldHVybiBkb2N1bWVudC5pbXBvcnROb2RlKGUsITApfWZpcmUodCxlLG4pe249bnx8e30sZT1udWxsPT1lP3t9OmU7bGV0IGk9bmV3IEV2ZW50KHQse2J1YmJsZXM6dm9pZCAwPT09bi5idWJibGVzfHxuLmJ1YmJsZXMsY2FuY2VsYWJsZTpCb29sZWFuKG4uY2FuY2VsYWJsZSksY29tcG9zZWQ6dm9pZCAwPT09bi5jb21wb3NlZHx8bi5jb21wb3NlZH0pO3JldHVybiBpLmRldGFpbD1lLFkobi5ub2RlfHx0aGlzKS5kaXNwYXRjaEV2ZW50KGkpLGl9bGlzdGVuKHQsZSxuKXt0PXR8fHRoaXM7bGV0IGk9dGhpcy5fX2JvdW5kTGlzdGVuZXJzfHwodGhpcy5fX2JvdW5kTGlzdGVuZXJzPW5ldyBXZWFrTWFwKSxyPWkuZ2V0KHQpO3J8fChyPXt9LGkuc2V0KHQscikpO2xldCBvPWUrbjtyW29dfHwocltvXT10aGlzLl9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKHQsZSxuLHRoaXMpKX11bmxpc3Rlbih0LGUsbil7dD10fHx0aGlzO2xldCBpPXRoaXMuX19ib3VuZExpc3RlbmVycyYmdGhpcy5fX2JvdW5kTGlzdGVuZXJzLmdldCh0KSxyPWUrbixvPWkmJmlbcl07byYmKHRoaXMuX3JlbW92ZUV2ZW50TGlzdGVuZXJGcm9tTm9kZSh0LGUsbyksaVtyXT1udWxsKX1zZXRTY3JvbGxEaXJlY3Rpb24odCxlKXtkaShlfHx0aGlzLHJbdF18fCJhdXRvIil9JCQodCl7cmV0dXJuIHRoaXMucm9vdC5xdWVyeVNlbGVjdG9yKHQpfWdldCBkb21Ib3N0KCl7bGV0IHQ9WSh0aGlzKS5nZXRSb290Tm9kZSgpO3JldHVybiB0IGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudD90Lmhvc3Q6dH1kaXN0cmlidXRlQ29udGVudCgpe2NvbnN0IHQ9ZXIodGhpcyk7d2luZG93LlNoYWR5RE9NJiZ0LnNoYWRvd1Jvb3QmJlNoYWR5RE9NLmZsdXNoKCl9Z2V0RWZmZWN0aXZlQ2hpbGROb2Rlcygpe3JldHVybiBlcih0aGlzKS5nZXRFZmZlY3RpdmVDaGlsZE5vZGVzKCl9cXVlcnlEaXN0cmlidXRlZEVsZW1lbnRzKHQpe3JldHVybiBlcih0aGlzKS5xdWVyeURpc3RyaWJ1dGVkRWxlbWVudHModCl9Z2V0RWZmZWN0aXZlQ2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5nZXRFZmZlY3RpdmVDaGlsZE5vZGVzKCkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFfSkpfWdldEVmZmVjdGl2ZVRleHRDb250ZW50KCl7bGV0IHQ9dGhpcy5nZXRFZmZlY3RpdmVDaGlsZE5vZGVzKCksZT1bXTtmb3IobGV0IG4saT0wO249dFtpXTtpKyspbi5ub2RlVHlwZSE9PU5vZGUuQ09NTUVOVF9OT0RFJiZlLnB1c2gobi50ZXh0Q29udGVudCk7cmV0dXJuIGUuam9pbigiIil9cXVlcnlFZmZlY3RpdmVDaGlsZHJlbih0KXtsZXQgZT10aGlzLnF1ZXJ5RGlzdHJpYnV0ZWRFbGVtZW50cyh0KTtyZXR1cm4gZSYmZVswXX1xdWVyeUFsbEVmZmVjdGl2ZUNoaWxkcmVuKHQpe3JldHVybiB0aGlzLnF1ZXJ5RGlzdHJpYnV0ZWRFbGVtZW50cyh0KX1nZXRDb250ZW50Q2hpbGROb2Rlcyh0KXtsZXQgZT10aGlzLnJvb3QucXVlcnlTZWxlY3Rvcih0fHwic2xvdCIpO3JldHVybiBlP2VyKGUpLmdldERpc3RyaWJ1dGVkTm9kZXMoKTpbXX1nZXRDb250ZW50Q2hpbGRyZW4odCl7cmV0dXJuIHRoaXMuZ2V0Q29udGVudENoaWxkTm9kZXModCkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFfSkpfWlzTGlnaHREZXNjZW5kYW50KHQpe2NvbnN0IGU9dGhpcztyZXR1cm4gZSE9PXQmJlkoZSkuY29udGFpbnModCkmJlkoZSkuZ2V0Um9vdE5vZGUoKT09PVkodCkuZ2V0Um9vdE5vZGUoKX1pc0xvY2FsRGVzY2VuZGFudCh0KXtyZXR1cm4gdGhpcy5yb290PT09WSh0KS5nZXRSb290Tm9kZSgpfXNjb3BlU3VidHJlZSh0LGU9ITEpe3JldHVybihmdW5jdGlvbiBuKHQsZT0hMSl7aWYoIW5yfHwhaXIpcmV0dXJuIG51bGw7aWYoIW5yLmhhbmRsZXNEeW5hbWljU2NvcGluZylyZXR1cm4gbnVsbDtjb25zdCBuPWlyLlNjb3BpbmdTaGltO2lmKCFuKXJldHVybiBudWxsO2NvbnN0IGk9bi5zY29wZUZvck5vZGUodCkscj1ZKHQpLmdldFJvb3ROb2RlKCksbz10PT57aWYoIXJyKHQscikpcmV0dXJuO2NvbnN0IGU9QXJyYXkuZnJvbShuci5uYXRpdmVNZXRob2RzLnF1ZXJ5U2VsZWN0b3JBbGwuY2FsbCh0LCIqIikpO2UucHVzaCh0KTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl7Y29uc3Qgbz1lW3RdO2lmKCFycihvLHIpKWNvbnRpbnVlO2NvbnN0IGE9bi5jdXJyZW50U2NvcGVGb3JOb2RlKG8pO2EhPT1pJiYoIiIhPT1hJiZuLnVuc2NvcGVOb2RlKG8sYSksbi5zY29wZU5vZGUobyxpKSl9fTtpZihvKHQpLGUpe2NvbnN0IGU9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKHQ9Pntmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7Y29uc3Qgbj10W2VdO2ZvcihsZXQgdD0wO3Q8bi5hZGRlZE5vZGVzLmxlbmd0aDt0Kyspe2NvbnN0IGU9bi5hZGRlZE5vZGVzW3RdO2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmbyhlKX19fSkpO3JldHVybiBlLm9ic2VydmUodCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KSxlfXJldHVybiBudWxsfSkodCxlKX1nZXRDb21wdXRlZFN0eWxlVmFsdWUodCl7cmV0dXJuIGxyLmdldENvbXB1dGVkU3R5bGVWYWx1ZSh0aGlzLHQpfWRlYm91bmNlKHQsZSxuKXtyZXR1cm4gdGhpcy5fZGVib3VuY2Vycz10aGlzLl9kZWJvdW5jZXJzfHx7fSx0aGlzLl9kZWJvdW5jZXJzW3RdPU5uLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlcnNbdF0sbj4wP2d0LmFmdGVyKG4pOnZ0LGUuYmluZCh0aGlzKSl9aXNEZWJvdW5jZXJBY3RpdmUodCl7dGhpcy5fZGVib3VuY2Vycz10aGlzLl9kZWJvdW5jZXJzfHx7fTtsZXQgZT10aGlzLl9kZWJvdW5jZXJzW3RdO3JldHVybiEoIWV8fCFlLmlzQWN0aXZlKCkpfWZsdXNoRGVib3VuY2VyKHQpe3RoaXMuX2RlYm91bmNlcnM9dGhpcy5fZGVib3VuY2Vyc3x8e307bGV0IGU9dGhpcy5fZGVib3VuY2Vyc1t0XTtlJiZlLmZsdXNoKCl9Y2FuY2VsRGVib3VuY2VyKHQpe3RoaXMuX2RlYm91bmNlcnM9dGhpcy5fZGVib3VuY2Vyc3x8e307bGV0IGU9dGhpcy5fZGVib3VuY2Vyc1t0XTtlJiZlLmNhbmNlbCgpfWFzeW5jKHQsZSl7cmV0dXJuIGU+MD9ndC5ydW4odC5iaW5kKHRoaXMpLGUpOn52dC5ydW4odC5iaW5kKHRoaXMpKX1jYW5jZWxBc3luYyh0KXt0PDA/dnQuY2FuY2VsKH50KTpndC5jYW5jZWwodCl9Y3JlYXRlKHQsZSl7bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0KTtpZihlKWlmKG4uc2V0UHJvcGVydGllcyluLnNldFByb3BlcnRpZXMoZSk7ZWxzZSBmb3IobGV0IHQgaW4gZSluW3RdPWVbdF07cmV0dXJuIG59ZWxlbWVudE1hdGNoZXModCxlKXtyZXR1cm4gWGkoZXx8dGhpcyx0KX10b2dnbGVBdHRyaWJ1dGUodCxlKXtsZXQgbj10aGlzO3JldHVybiAzPT09YXJndW1lbnRzLmxlbmd0aCYmKG49YXJndW1lbnRzWzJdKSwxPT1hcmd1bWVudHMubGVuZ3RoJiYoZT0hbi5oYXNBdHRyaWJ1dGUodCkpLGU/KFkobikuc2V0QXR0cmlidXRlKHQsIiIpLCEwKTooWShuKS5yZW1vdmVBdHRyaWJ1dGUodCksITEpfXRvZ2dsZUNsYXNzKHQsZSxuKXtuPW58fHRoaXMsMT09YXJndW1lbnRzLmxlbmd0aCYmKGU9IW4uY2xhc3NMaXN0LmNvbnRhaW5zKHQpKSxlP24uY2xhc3NMaXN0LmFkZCh0KTpuLmNsYXNzTGlzdC5yZW1vdmUodCl9dHJhbnNmb3JtKHQsZSl7KGU9ZXx8dGhpcykuc3R5bGUud2Via2l0VHJhbnNmb3JtPXQsZS5zdHlsZS50cmFuc2Zvcm09dH10cmFuc2xhdGUzZCh0LGUsbixpKXt0aGlzLnRyYW5zZm9ybSgidHJhbnNsYXRlM2QoIit0KyIsIitlKyIsIituKyIpIixpPWl8fHRoaXMpfWFycmF5RGVsZXRlKHQsZSl7bGV0IG47aWYoQXJyYXkuaXNBcnJheSh0KSl7aWYobj10LmluZGV4T2YoZSksbj49MClyZXR1cm4gdC5zcGxpY2UobiwxKX1lbHNle2lmKG49bnQodGhpcyx0KS5pbmRleE9mKGUpLG4+PTApcmV0dXJuIHRoaXMuc3BsaWNlKHQsbiwxKX1yZXR1cm4gbnVsbH1fbG9nZ2VyKHQsZSl7c3dpdGNoKEFycmF5LmlzQXJyYXkoZSkmJjE9PT1lLmxlbmd0aCYmQXJyYXkuaXNBcnJheShlWzBdKSYmKGU9ZVswXSksdCl7Y2FzZSJsb2ciOmNhc2Uid2FybiI6Y2FzZSJlcnJvciI6Y29uc29sZVt0XSguLi5lKX19X2xvZyguLi50KXt0aGlzLl9sb2dnZXIoImxvZyIsdCl9X3dhcm4oLi4udCl7dGhpcy5fbG9nZ2VyKCJ3YXJuIix0KX1fZXJyb3IoLi4udCl7dGhpcy5fbG9nZ2VyKCJlcnJvciIsdCl9X2xvZ2YodCwuLi5lKXtyZXR1cm5bIlslczo6JXNdIix0aGlzLmlzLHQsLi4uZV19fXJldHVybiBvLnByb3RvdHlwZS5pcz0iIixvfSkpO2Z1bmN0aW9uIHVyKHQsZSl7bGV0IG49MCxpPTA7Zm9yKDs7KXtpZihuPT09dC5sZW5ndGgpcmV0dXJuIGk9PT1lLmxlbmd0aD8wOi0xO2lmKGk9PT1lLmxlbmd0aClyZXR1cm4gMTtpZihkcih0W25dKSYmZHIoZVtpXSkpe2NvbnN0IHI9bixvPWk7bj1ocih0LG4rMSksaT1ocihlLGkrMSk7Y29uc3QgYT1wYXJzZUZsb2F0KHQuc2xpY2UocixuKSkscz1wYXJzZUZsb2F0KGUuc2xpY2UobyxpKSk7aWYoYTxzKXJldHVybi0xO2lmKGE+cylyZXR1cm4gMX1lbHNle2lmKHByKHRbbl0pKXtpZighcHIoZVtpXSkpcmV0dXJuLTF9ZWxzZXtpZihwcihlW2ldKSlyZXR1cm4gMTtpZih0W25dPGVbaV0pcmV0dXJuLTE7aWYodFtuXT5lW2ldKXJldHVybiAxfW4rKyxpKyt9fX1mdW5jdGlvbiBocih0LGUpe2xldCBuOyEoZnVuY3Rpb24odCl7dFt0Lk5BVFVSQUw9MF09Ik5BVFVSQUwiLHRbdC5SRUFMPTFdPSJSRUFMIix0W3QuRVhQT05FTlRfU0lHTj0yXT0iRVhQT05FTlRfU0lHTiIsdFt0LkVYUE9ORU5UPTNdPSJFWFBPTkVOVCJ9KShufHwobj17fSkpO2xldCBpPW4uTkFUVVJBTDtmb3IoO2U8dC5sZW5ndGg7ZSsrKWlmKGk9PT1uLk5BVFVSQUwpe2lmKCIuIj09PXRbZV0paT1uLlJFQUw7ZWxzZSBpZigiZSI9PT10W2VdfHwiRSI9PT10W2VdKWk9bi5FWFBPTkVOVF9TSUdOO2Vsc2UgaWYoIWRyKHRbZV0pKWJyZWFrfWVsc2UgaWYoaT09PW4uUkVBTCl7aWYoImUiPT09dFtlXXx8IkUiPT09dFtlXSlpPW4uRVhQT05FTlRfU0lHTjtlbHNlIGlmKCFkcih0W2VdKSlicmVha31lbHNlIGlmKGk9PT1uLkVYUE9ORU5UX1NJR04pe2lmKCFkcih0W2VdKSYmIisiIT09dFtlXSYmIi0iIT09dFtlXSlicmVhaztpPW4uRVhQT05FTlR9ZWxzZSBpZihpPT09bi5FWFBPTkVOVCYmIWRyKHRbZV0pKWJyZWFrO3JldHVybiBlfWZ1bmN0aW9uIGRyKHQpe3JldHVybiIwIjw9dCYmdDw9IjkifWZ1bmN0aW9uIHByKHQpe3JldHVybiIvIj09PXR8fCJfIj09PXR8fGRyKHQpfWZ1bmN0aW9uIGZyKHQpe3JldHVybiBDZS5leHBvcnRzLnVuaW9uLmFwcGx5KG51bGwsQ2UuZXhwb3J0cy52YWx1ZXModCkpLnNvcnQodXIpfWNsYXNzIG1yIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iUmVxdWVzdENhbmNlbGxhdGlvbkVycm9yIn19Y2xhc3MgZ3IgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLm5hbWU9IkludmFsaWRSZXF1ZXN0T3B0aW9uc0Vycm9yIixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxnci5wcm90b3R5cGUpfX1jbGFzcyBfciBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLm1lc3NhZ2U9YFJlcXVlc3ROZXR3b3JrRXJyb3I6ICR7dC5zdGF0dXN9IGF0ICR7ZX1gLHRoaXMubmFtZT0iUmVxdWVzdE5ldHdvcmtFcnJvciIsdGhpcy5yZXE9dCx0aGlzLnVybD1lfX12YXIgeXI7IShmdW5jdGlvbih0KXt0LkdFVD0iR0VUIix0LlBPU1Q9IlBPU1QifSkoeXJ8fCh5cj17fSkpO2NsYXNzIHZye3ZhbGlkYXRlKCl7aWYodGhpcy5tZXRob2RUeXBlPT09eXIuR0VUJiZ0aGlzLmJvZHkpdGhyb3cgbmV3IGdyKCJib2R5IG11c3QgYmUgbWlzc2luZyBmb3IgYSBHRVQgcmVxdWVzdC4iKX19Y2xhc3MgYnJ7Y29uc3RydWN0b3IodD0xZTMsZT0zKXt0aGlzLl9xdWV1ZT1bXSx0aGlzLl9uQWN0aXZlUmVxdWVzdHM9MCx0aGlzLl9uU2ltdWx0YW5lb3VzUmVxdWVzdHM9dCx0aGlzLl9tYXhSZXRyaWVzPWV9cmVxdWVzdCh0LGUpe2NvbnN0IG49KGZ1bmN0aW9uIGkodCl7Y29uc3QgZT1uZXcgdnI7aWYoIXQpcmV0dXJuIGUubWV0aG9kVHlwZT15ci5HRVQsZTtyZXR1cm4gZS5tZXRob2RUeXBlPXlyLlBPU1QsZS5ib2R5PShmdW5jdGlvbiBuKHQpe2NvbnN0IGU9bmV3IEZvcm1EYXRhO2Zvcihjb25zdFtuLGldb2YgT2JqZWN0LmVudHJpZXModCkpe2NvbnN0IHQ9QXJyYXkuaXNBcnJheShpKT9pOltpXTtmb3IoY29uc3QgaSBvZiB0KWUuYXBwZW5kKG4saSl9cmV0dXJuIGV9KSh0KSxlfSkoZSk7cmV0dXJuIHRoaXMucmVxdWVzdFdpdGhPcHRpb25zKHQsbil9cmVxdWVzdFdpdGhPcHRpb25zKHQsZSl7ZS52YWxpZGF0ZSgpO3JldHVybiBuZXcgUHJvbWlzZSgoKHQsZSk9Pnt0aGlzLl9xdWV1ZS5wdXNoKHtyZXNvbHZlOnQscmVqZWN0OmV9KSx0aGlzLmxhdW5jaFJlcXVlc3RzKCl9KSkudGhlbigoKCk9PnRoaXMucHJvbWlzZVdpdGhSZXRyaWVzKHQsdGhpcy5fbWF4UmV0cmllcyxlKSkpLnRoZW4oKHQ9Pih0aGlzLl9uQWN0aXZlUmVxdWVzdHMtLSx0aGlzLmxhdW5jaFJlcXVlc3RzKCksdCkpLCh0PT4oIlJlcXVlc3ROZXR3b3JrRXJyb3IiPT09dC5uYW1lJiYodGhpcy5fbkFjdGl2ZVJlcXVlc3RzLS0sdGhpcy5sYXVuY2hSZXF1ZXN0cygpKSxQcm9taXNlLnJlamVjdCh0KSkpKX1mZXRjaCh0LGUpe3JldHVybiBuZXcgUHJvbWlzZSgoKHQsZSk9Pnt0aGlzLl9xdWV1ZS5wdXNoKHtyZXNvbHZlOnQscmVqZWN0OmV9KSx0aGlzLmxhdW5jaFJlcXVlc3RzKCl9KSkudGhlbigoKCk9PntsZXQgbj0xO3JldHVybiBuZXcgUHJvbWlzZSgoaT0+e2NvbnN0IHI9KCk9PntmZXRjaCh0LGUpLnRoZW4oKHQ9PntpZighdC5vayYmdGhpcy5fbWF4UmV0cmllcz5uKXJldHVybiBuKyssdm9pZCByKCk7aSh0KSx0aGlzLl9uQWN0aXZlUmVxdWVzdHMtLSx0aGlzLmxhdW5jaFJlcXVlc3RzKCl9KSl9O3IoKX0pKX0pKX1jbGVhclF1ZXVlKCl7Zm9yKDt0aGlzLl9xdWV1ZS5sZW5ndGg+MDspdGhpcy5fcXVldWUucG9wKCkucmVqZWN0KG5ldyBtcigiUmVxdWVzdCBjYW5jZWxsZWQgYnkgY2xlYXJRdWV1ZSIpKX1hY3RpdmVSZXF1ZXN0cygpe3JldHVybiB0aGlzLl9uQWN0aXZlUmVxdWVzdHN9b3V0c3RhbmRpbmdSZXF1ZXN0cygpe3JldHVybiB0aGlzLl9uQWN0aXZlUmVxdWVzdHMrdGhpcy5fcXVldWUubGVuZ3RofWxhdW5jaFJlcXVlc3RzKCl7Zm9yKDt0aGlzLl9uQWN0aXZlUmVxdWVzdHM8dGhpcy5fblNpbXVsdGFuZW91c1JlcXVlc3RzJiZ0aGlzLl9xdWV1ZS5sZW5ndGg+MDspdGhpcy5fbkFjdGl2ZVJlcXVlc3RzKyssdGhpcy5fcXVldWUucG9wKCkucmVzb2x2ZSh2b2lkIDApfXByb21pc2VXaXRoUmV0cmllcyh0LGUsbil7cmV0dXJuIHRoaXMuX3Byb21pc2VGcm9tVXJsKHQsbikudGhlbigodD0+dCksKGk9PmU+MD90aGlzLnByb21pc2VXaXRoUmV0cmllcyh0LGUtMSxuKTpQcm9taXNlLnJlamVjdChpKSkpfV9wcm9taXNlRnJvbVVybCh0LGUpe3JldHVybiBuZXcgUHJvbWlzZSgoKG4saSk9Pntjb25zdCByPShmdW5jdGlvbiBvKHQsZSxuLGkpe2NvbnN0IHI9bmV3IFhNTEh0dHBSZXF1ZXN0O3Iub3Blbih0LGUpLG4mJihyLndpdGhDcmVkZW50aWFscz1uKTtpJiZyLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsaSk7cmV0dXJuIHJ9KShlLm1ldGhvZFR5cGUsdCxlLndpdGhDcmVkZW50aWFscyxlLmNvbnRlbnRUeXBlKTtyLm9ubG9hZD1mdW5jdGlvbigpezIwMD09PXIuc3RhdHVzP24oSlNPTi5wYXJzZShyLnJlc3BvbnNlVGV4dCkpOmkobmV3IF9yKHIsdCkpfSxyLm9uZXJyb3I9ZnVuY3Rpb24oKXtpKG5ldyBfcihyLHQpKX0sZS5ib2R5P3Iuc2VuZChlLmJvZHkpOnIuc2VuZCgpfSkpfX1jb25zdCB4cj0iZXhwZXJpbWVudGFsUGx1Z2luIix3cj1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO2xldCBTcj1NcigpO2Z1bmN0aW9uIE1yKHQ9ImRhdGEiLGU9d3Ipe3JldHVybiIvIj09PXRbdC5sZW5ndGgtMV0mJih0PXQuc2xpY2UoMCx0Lmxlbmd0aC0xKSkse2Vudmlyb25tZW50OigpPT5Ucih0LCIvZW52aXJvbm1lbnQiKSxleHBlcmltZW50czooKT0+VHIodCwiL2V4cGVyaW1lbnRzIikscGx1Z2luUm91dGU6KGUsbixpKT0+VHIodCsiL3BsdWdpbiIsYC8ke2V9JHtufWAsaSkscGx1Z2luc0xpc3Rpbmc6KCk9PlRyKHQsIi9wbHVnaW5zX2xpc3RpbmciLENyKHtbeHJdOmUuZ2V0QWxsKHhyKX0pKSxydW5zOigpPT5Ucih0LCIvcnVucyIpLHJ1bnNGb3JFeHBlcmltZW50OmU9PlRyKHQsIi9leHBlcmltZW50X3J1bnMiLENyKHtleHBlcmltZW50OlN0cmluZyhlKX0pKX19ZnVuY3Rpb24gRXIoKXtyZXR1cm4gU3J9ZnVuY3Rpb24gVHIodCxlLG49bmV3IFVSTFNlYXJjaFBhcmFtcyl7bGV0IGk9dCtlO2lmKFN0cmluZyhuKSl7aSs9KGUuaW5jbHVkZXMoIj8iKT8iJiI6Ij8iKStTdHJpbmcobil9cmV0dXJuIGl9ZnVuY3Rpb24gQ3IodD17fSl7Y29uc3QgZT1PYmplY3Qua2V5cyh0KS5zb3J0KCkuZmlsdGVyKChlPT50W2VdKSksbj1uZXcgVVJMU2VhcmNoUGFyYW1zO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdCBpPXRbZV07KEFycmF5LmlzQXJyYXkoaSk/aTpbaV0pLmZvckVhY2goKHQ9Pm4uYXBwZW5kKGUsdCkpKX0pKSxufXZhciBBcjtmdW5jdGlvbiBrcih0LGUpe2NvbnN0IG49KCgpPT57dHJ5e3JldHVybiBuZXcgUmVnRXhwKGUpfWNhdGNoKHQpe3JldHVybiBudWxsfX0pKCk7cmV0dXJue25hbWU6ZSxtZXRhZGF0YTp7dHlwZTpBci5TRUFSQ0hfUkVTVUxUUyx2YWxpZFJlZ2V4OiEhbix1bml2ZXJzYWxSZWdleDoiLioiPT09ZX0saXRlbXM6bj90LmZpbHRlcigodD0+dC5tYXRjaChuKSkpOltdfX1mdW5jdGlvbiBMcih0LGU9IiIpe2NvbnN0IG49W2tyKHQsZSldLGk9KGZ1bmN0aW9uIHIodCxlPSIvIil7Y29uc3Qgbj1bXSxpPXt9O3JldHVybiB0LmZvckVhY2goKHQ9Pntjb25zdCByPXQuaW5kZXhPZihlKSxvPXI+PTA/dC5zbGljZSgwLHIpOnQ7aWYoIWlbb10pe2NvbnN0IHQ9e25hbWU6byxtZXRhZGF0YTp7dHlwZTpBci5QUkVGSVhfR1JPVVB9LGl0ZW1zOltdfTtpW29dPXQsbi5wdXNoKHQpfWlbb10uaXRlbXMucHVzaCh0KX0pKSxufSkodCk7cmV0dXJuW10uY29uY2F0KG4saSl9ZnVuY3Rpb24gUHIodCxlLG4pe2NvbnN0IGk9THIoZnIodCksbikscj0oZnVuY3Rpb24gbyh0KXtjb25zdCBlPW5ldyBNYXA7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKG49Pnt0W25dLmZvckVhY2goKHQ9Pntjb25zdCBpPWUuZ2V0KHQpfHxbXTtpLnB1c2gobiksZS5zZXQodCxpKX0pKX0pKSxlfSkoQ2UuZXhwb3J0cy5waWNrKHQsZSkpO3JldHVybiBpLm1hcCgoKHtuYW1lOnQsbWV0YWRhdGE6ZSxpdGVtczpufSk9Pih7bmFtZTp0LG1ldGFkYXRhOmUsaXRlbXM6bi5tYXAoKHQ9Pih7dGFnOnQscnVuczooci5nZXQodCl8fFtdKS5zbGljZSgpfSkpKX0pKSl9ZnVuY3Rpb24gTnIodCxlKXtjb25zdCBuPXVyKHQudGFnLGUudGFnKTtyZXR1cm4gMCE9bj9uOnVyKHQucnVuLGUucnVuKX1mdW5jdGlvbiBJcih0LGUsbil7cmV0dXJuIFByKHQsZSxuKS5tYXAoKGZ1bmN0aW9uIGkodCl7Y29uc3QgZT1DZS5leHBvcnRzLmZsYXR0ZW4odC5pdGVtcy5tYXAoKCh7dGFnOnQscnVuczplfSk9PmUubWFwKChlPT4oe3RhZzp0LHJ1bjplfSkpKSkpKTtyZXR1cm4gZS5zb3J0KE5yKSx7bmFtZTp0Lm5hbWUsbWV0YWRhdGE6dC5tZXRhZGF0YSxpdGVtczplfX0pKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8hKGZ1bmN0aW9uKHQpe3RbdC5TRUFSQ0hfUkVTVUxUUz0wXT0iU0VBUkNIX1JFU1VMVFMiLHRbdC5QUkVGSVhfR1JPVVA9MV09IlBSRUZJWF9HUk9VUCJ9KShBcnx8KEFyPXt9KSk7Y29uc3QgUnI9e2F0dGFjaGVkOiEwLGRldGFjaGVkOiEwLHJlYWR5OiEwLGNyZWF0ZWQ6ITAsYmVmb3JlUmVnaXN0ZXI6ITAscmVnaXN0ZXJlZDohMCxhdHRyaWJ1dGVDaGFuZ2VkOiEwLGxpc3RlbmVyczohMCxob3N0QXR0cmlidXRlczohMH0sT3I9e2F0dGFjaGVkOiEwLGRldGFjaGVkOiEwLHJlYWR5OiEwLGNyZWF0ZWQ6ITAsYmVmb3JlUmVnaXN0ZXI6ITAscmVnaXN0ZXJlZDohMCxhdHRyaWJ1dGVDaGFuZ2VkOiEwLGJlaGF2aW9yczohMCxfbm9BY2Nlc3NvcnM6ITB9LHpyPU9iamVjdC5hc3NpZ24oe2xpc3RlbmVyczohMCxob3N0QXR0cmlidXRlczohMCxwcm9wZXJ0aWVzOiEwLG9ic2VydmVyczohMH0sT3IpO2Z1bmN0aW9uIERyKHQsZSxuLGkpeyEoZnVuY3Rpb24gcih0LGUsbil7Y29uc3QgaT10Ll9ub0FjY2Vzc29ycyxyPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpO2ZvcihsZXQgbz0wO288ci5sZW5ndGg7bysrKXtsZXQgYT1yW29dO2lmKCEoYSBpbiBuKSlpZihpKWVbYV09dFthXTtlbHNle2xldCBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxhKTtuJiYobi5jb25maWd1cmFibGU9ITAsT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYSxuKSl9fX0pKGUsdCxpKTtmb3IobGV0IHQgaW4gUnIpZVt0XSYmKG5bdF09blt0XXx8W10sblt0XS5wdXNoKGVbdF0pKX1mdW5jdGlvbiBCcih0LGUsbil7ZT1lfHxbXTtmb3IobGV0IGk9dC5sZW5ndGgtMTtpPj0wO2ktLSl7bGV0IHI9dFtpXTtyP0FycmF5LmlzQXJyYXkocik/QnIocixlKTplLmluZGV4T2Yocik8MCYmKCFufHxuLmluZGV4T2Yocik8MCkmJmUudW5zaGlmdChyKTpjb25zb2xlLndhcm4oImJlaGF2aW9yIGlzIG51bGwsIGNoZWNrIGZvciBtaXNzaW5nIG9yIDQwNCBpbXBvcnQiKX1yZXR1cm4gZX1mdW5jdGlvbiBIcih0LGUpe2Zvcihjb25zdCBuIGluIGUpe2NvbnN0IGk9dFtuXSxyPWVbbl07dFtuXT0hKCJ2YWx1ZSJpbiByKSYmaSYmInZhbHVlImluIGk/T2JqZWN0LmFzc2lnbih7dmFsdWU6aS52YWx1ZX0scik6cn19Y29uc3QgRnI9Y3IoSFRNTEVsZW1lbnQpO2Z1bmN0aW9uIFZyKHQsZSxuKXtsZXQgaTtjb25zdCByPXt9O2NsYXNzIG8gZXh0ZW5kcyBle3N0YXRpYyBfZmluYWxpemVDbGFzcygpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgiZ2VuZXJhdGVkRnJvbSIsdGhpcykpKXtpZihpKWZvcihsZXQgdCxlPTA7ZTxpLmxlbmd0aDtlKyspdD1pW2VdLHQucHJvcGVydGllcyYmdGhpcy5jcmVhdGVQcm9wZXJ0aWVzKHQucHJvcGVydGllcyksdC5vYnNlcnZlcnMmJnRoaXMuY3JlYXRlT2JzZXJ2ZXJzKHQub2JzZXJ2ZXJzLHQucHJvcGVydGllcyk7dC5wcm9wZXJ0aWVzJiZ0aGlzLmNyZWF0ZVByb3BlcnRpZXModC5wcm9wZXJ0aWVzKSx0Lm9ic2VydmVycyYmdGhpcy5jcmVhdGVPYnNlcnZlcnModC5vYnNlcnZlcnMsdC5wcm9wZXJ0aWVzKSx0aGlzLl9wcmVwYXJlVGVtcGxhdGUoKX1lbHNlIGUuX2ZpbmFsaXplQ2xhc3MuY2FsbCh0aGlzKX1zdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtjb25zdCBlPXt9O2lmKGkpZm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0KyspSHIoZSxpW3RdLnByb3BlcnRpZXMpO3JldHVybiBIcihlLHQucHJvcGVydGllcyksZX1zdGF0aWMgZ2V0IG9ic2VydmVycygpe2xldCBlPVtdO2lmKGkpZm9yKGxldCB0LG49MDtuPGkubGVuZ3RoO24rKyl0PWlbbl0sdC5vYnNlcnZlcnMmJihlPWUuY29uY2F0KHQub2JzZXJ2ZXJzKSk7cmV0dXJuIHQub2JzZXJ2ZXJzJiYoZT1lLmNvbmNhdCh0Lm9ic2VydmVycykpLGV9Y3JlYXRlZCgpe3N1cGVyLmNyZWF0ZWQoKTtjb25zdCB0PXIuY3JlYXRlZDtpZih0KWZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uY2FsbCh0aGlzKX1fcmVnaXN0ZXJlZCgpe2NvbnN0IHQ9by5wcm90b3R5cGU7aWYoIXQuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgiX19oYXNSZWdpc3RlckZpbmlzaGVkIix0KSkpe3QuX19oYXNSZWdpc3RlckZpbmlzaGVkPSEwLHN1cGVyLl9yZWdpc3RlcmVkKCksdyYmYSh0KTtjb25zdCBlPU9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKTtsZXQgbj1yLmJlZm9yZVJlZ2lzdGVyO2lmKG4pZm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspblt0XS5jYWxsKGUpO2lmKG49ci5yZWdpc3RlcmVkLG4pZm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspblt0XS5jYWxsKGUpfX1fYXBwbHlMaXN0ZW5lcnMoKXtzdXBlci5fYXBwbHlMaXN0ZW5lcnMoKTtjb25zdCB0PXIubGlzdGVuZXJzO2lmKHQpZm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2NvbnN0IG49dFtlXTtpZihuKWZvcihsZXQgdCBpbiBuKXRoaXMuX2FkZE1ldGhvZEV2ZW50TGlzdGVuZXJUb05vZGUodGhpcyx0LG5bdF0pfX1fZW5zdXJlQXR0cmlidXRlcygpe2NvbnN0IHQ9ci5ob3N0QXR0cmlidXRlcztpZih0KWZvcihsZXQgZT10Lmxlbmd0aC0xO2U+PTA7ZS0tKXtjb25zdCBuPXRbZV07Zm9yKGxldCB0IGluIG4pdGhpcy5fZW5zdXJlQXR0cmlidXRlKHQsblt0XSl9c3VwZXIuX2Vuc3VyZUF0dHJpYnV0ZXMoKX1yZWFkeSgpe3N1cGVyLnJlYWR5KCk7bGV0IHQ9ci5yZWFkeTtpZih0KWZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uY2FsbCh0aGlzKX1hdHRhY2hlZCgpe3N1cGVyLmF0dGFjaGVkKCk7bGV0IHQ9ci5hdHRhY2hlZDtpZih0KWZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uY2FsbCh0aGlzKX1kZXRhY2hlZCgpe3N1cGVyLmRldGFjaGVkKCk7bGV0IHQ9ci5kZXRhY2hlZDtpZih0KWZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uY2FsbCh0aGlzKX1hdHRyaWJ1dGVDaGFuZ2VkKHQsZSxuKXtzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkKCk7bGV0IGk9ci5hdHRyaWJ1dGVDaGFuZ2VkO2lmKGkpZm9yKGxldCByPTA7cjxpLmxlbmd0aDtyKyspaVtyXS5jYWxsKHRoaXMsdCxlLG4pfX1pZihuKXtBcnJheS5pc0FycmF5KG4pfHwobj1bbl0pO2xldCB0PWUucHJvdG90eXBlLmJlaGF2aW9ycztpPUJyKG4sbnVsbCx0KSxvLnByb3RvdHlwZS5iZWhhdmlvcnM9dD90LmNvbmNhdChuKTppfWNvbnN0IGE9ZT0+e2kmJihmdW5jdGlvbiBuKHQsZSxpKXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKylEcih0LGVbbl0saSx6cil9KShlLGksciksRHIoZSx0LHIsT3IpfTtyZXR1cm4gd3x8YShvLnByb3RvdHlwZSksby5nZW5lcmF0ZWRGcm9tPXQsb31jb25zdCBVcj1mdW5jdGlvbih0LGUpe3R8fGNvbnNvbGUud2FybigiUG9seW1lci5DbGFzcyByZXF1aXJlcyBgaW5mb2AgYXJndW1lbnQiKTtsZXQgbj1lP2UoRnIpOkZyO3JldHVybiBuPVZyKHQsbix0LmJlaGF2aW9ycyksbi5pcz1uLnByb3RvdHlwZS5pcz10LmlzLG59LGpyPWZ1bmN0aW9uKHQpe2xldCBlO3JldHVybiBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6anIuQ2xhc3ModCksdC5fbGVnYWN5Rm9yY2VPYnNlcnZlZEF0dHJpYnV0ZXMmJihlLnByb3RvdHlwZS5fbGVnYWN5Rm9yY2VPYnNlcnZlZEF0dHJpYnV0ZXM9dC5fbGVnYWN5Rm9yY2VPYnNlcnZlZEF0dHJpYnV0ZXMpLGN1c3RvbUVsZW1lbnRzLmRlZmluZShlLmlzLGUpLGV9OwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpmdW5jdGlvbiBHcih0LGUsbixpLHIpe2xldCBvO3ImJihvPSJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4sbyYmKGk9dC5fX2RhdGFUZW1wW2VdKSk7bGV0IGE9aSE9PW4mJihpPT1pfHxuPT1uKTtyZXR1cm4gbyYmYSYmKHQuX19kYXRhVGVtcFtlXT1uKSxhfWpyLkNsYXNzPVVyO2NvbnN0IFdyPUkoKHQ9PmNsYXNzIGV4dGVuZHMgdHtfc2hvdWxkUHJvcGVydHlDaGFuZ2UodCxlLG4pe3JldHVybiBHcih0aGlzLHQsZSxuLCEwKX19KSkscXI9SSgodD0+Y2xhc3MgZXh0ZW5kcyB0e3N0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybnttdXRhYmxlRGF0YTpCb29sZWFufX1fc2hvdWxkUHJvcGVydHlDaGFuZ2UodCxlLG4pe3JldHVybiBHcih0aGlzLHQsZSxuLHRoaXMubXV0YWJsZURhdGEpfX0pKTtXci5fbXV0YWJsZVByb3BlcnR5Q2hhbmdlPUdyOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpsZXQgWXI9bnVsbDtmdW5jdGlvbiBYcigpe3JldHVybiBZcn1Yci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShIVE1MVGVtcGxhdGVFbGVtZW50LnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOlhyLHdyaXRhYmxlOiEwfX0pO2NvbnN0ICRyPWZlKFhyKSxLcj1Xcigkcik7Y29uc3QgWnI9ZmUoY2xhc3N7fSk7ZnVuY3Rpb24gSnIodCxlKXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7bGV0IGk9ZVtuXTtpZihCb29sZWFuKHQpIT1Cb29sZWFuKGkuX19oaWRlVGVtcGxhdGVDaGlsZHJlbl9fKSlpZihpLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpdD8oaS5fX3BvbHltZXJUZXh0Q29udGVudF9fPWkudGV4dENvbnRlbnQsaS50ZXh0Q29udGVudD0iIik6aS50ZXh0Q29udGVudD1pLl9fcG9seW1lclRleHRDb250ZW50X187ZWxzZSBpZigic2xvdCI9PT1pLmxvY2FsTmFtZSlpZih0KWkuX19wb2x5bWVyUmVwbGFjZWRfXz1kb2N1bWVudC5jcmVhdGVDb21tZW50KCJoaWRkZW4tc2xvdCIpLFkoWShpKS5wYXJlbnROb2RlKS5yZXBsYWNlQ2hpbGQoaS5fX3BvbHltZXJSZXBsYWNlZF9fLGkpO2Vsc2V7Y29uc3QgdD1pLl9fcG9seW1lclJlcGxhY2VkX187dCYmWShZKHQpLnBhcmVudE5vZGUpLnJlcGxhY2VDaGlsZChpLHQpfWVsc2UgaS5zdHlsZSYmKHQ/KGkuX19wb2x5bWVyRGlzcGxheV9fPWkuc3R5bGUuZGlzcGxheSxpLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTppLnN0eWxlLmRpc3BsYXk9aS5fX3BvbHltZXJEaXNwbGF5X18pO2kuX19oaWRlVGVtcGxhdGVDaGlsZHJlbl9fPXQsaS5fc2hvd0hpZGVDaGlsZHJlbiYmaS5fc2hvd0hpZGVDaGlsZHJlbih0KX19Y2xhc3MgUXIgZXh0ZW5kcyBacntjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuX2NvbmZpZ3VyZVByb3BlcnRpZXModCksdGhpcy5yb290PXRoaXMuX3N0YW1wVGVtcGxhdGUodGhpcy5fX2RhdGFIb3N0KTtsZXQgZT1bXTt0aGlzLmNoaWxkcmVuPWU7Zm9yKGxldCB0PXRoaXMucm9vdC5maXJzdENoaWxkO3Q7dD10Lm5leHRTaWJsaW5nKWUucHVzaCh0KSx0Ll9fdGVtcGxhdGl6ZUluc3RhbmNlPXRoaXM7dGhpcy5fX3RlbXBsYXRpemVPd25lciYmdGhpcy5fX3RlbXBsYXRpemVPd25lci5fX2hpZGVUZW1wbGF0ZUNoaWxkcmVuX18mJnRoaXMuX3Nob3dIaWRlQ2hpbGRyZW4oITApO2xldCBuPXRoaXMuX190ZW1wbGF0aXplT3B0aW9uczsodCYmbi5pbnN0YW5jZVByb3BzfHwhbi5pbnN0YW5jZVByb3BzKSYmdGhpcy5fZW5hYmxlUHJvcGVydGllcygpfV9jb25maWd1cmVQcm9wZXJ0aWVzKHQpe2lmKHRoaXMuX190ZW1wbGF0aXplT3B0aW9ucy5mb3J3YXJkSG9zdFByb3ApZm9yKGxldCB0IGluIHRoaXMuX19ob3N0UHJvcHMpdGhpcy5fc2V0UGVuZGluZ1Byb3BlcnR5KHQsdGhpcy5fX2RhdGFIb3N0WyJfaG9zdF8iK3RdKTtmb3IobGV0IGUgaW4gdCl0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkoZSx0W2VdKX1mb3J3YXJkSG9zdFByb3AodCxlKXt0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgodCxlLCExLCEwKSYmdGhpcy5fX2RhdGFIb3N0Ll9lbnF1ZXVlQ2xpZW50KHRoaXMpfV9hZGRFdmVudExpc3RlbmVyVG9Ob2RlKHQsZSxuKXtpZih0aGlzLl9tZXRob2RIb3N0JiZ0aGlzLl9fdGVtcGxhdGl6ZU9wdGlvbnMucGFyZW50TW9kZWwpdGhpcy5fbWV0aG9kSG9zdC5fYWRkRXZlbnRMaXN0ZW5lclRvTm9kZSh0LGUsKHQ9Pnt0Lm1vZGVsPXRoaXMsbih0KX0pKTtlbHNle2xldCBpPXRoaXMuX19kYXRhSG9zdC5fX2RhdGFIb3N0O2kmJmkuX2FkZEV2ZW50TGlzdGVuZXJUb05vZGUodCxlLG4pfX1fc2hvd0hpZGVDaGlsZHJlbih0KXtKcih0LHRoaXMuY2hpbGRyZW4pfV9zZXRVbm1hbmFnZWRQcm9wZXJ0eVRvTm9kZSh0LGUsbil7dC5fX2hpZGVUZW1wbGF0ZUNoaWxkcmVuX18mJnQubm9kZVR5cGU9PU5vZGUuVEVYVF9OT0RFJiYidGV4dENvbnRlbnQiPT1lP3QuX19wb2x5bWVyVGV4dENvbnRlbnRfXz1uOnN1cGVyLl9zZXRVbm1hbmFnZWRQcm9wZXJ0eVRvTm9kZSh0LGUsbil9Z2V0IHBhcmVudE1vZGVsKCl7bGV0IHQ9dGhpcy5fX3BhcmVudE1vZGVsO2lmKCF0KXtsZXQgZTt0PXRoaXM7ZG97dD10Ll9fZGF0YUhvc3QuX19kYXRhSG9zdH13aGlsZSgoZT10Ll9fdGVtcGxhdGl6ZU9wdGlvbnMpJiYhZS5wYXJlbnRNb2RlbCk7dGhpcy5fX3BhcmVudE1vZGVsPXR9cmV0dXJuIHR9ZGlzcGF0Y2hFdmVudCh0KXtyZXR1cm4hMH19Y29uc3QgdG89V3IoUXIpO2Z1bmN0aW9uIGVvKHQpe2xldCBlPXQuX19kYXRhSG9zdDtyZXR1cm4gZSYmZS5fbWV0aG9kSG9zdHx8ZX1mdW5jdGlvbiBubyh0LGUsbil7bGV0IGk9bi5tdXRhYmxlRGF0YT90bzpRcjthby5taXhpbiYmKGk9YW8ubWl4aW4oaSkpO2xldCByPWNsYXNzIGV4dGVuZHMgaXt9O3JldHVybiByLnByb3RvdHlwZS5fX3RlbXBsYXRpemVPcHRpb25zPW4sci5wcm90b3R5cGUuX2JpbmRUZW1wbGF0ZSh0KSwoZnVuY3Rpb24gbyh0LGUsbixpKXtsZXQgcj1uLmhvc3RQcm9wc3x8e307Zm9yKGxldCBlIGluIGkuaW5zdGFuY2VQcm9wcyl7ZGVsZXRlIHJbZV07bGV0IG49aS5ub3RpZnlJbnN0YW5jZVByb3A7biYmdC5wcm90b3R5cGUuX2FkZFByb3BlcnR5RWZmZWN0KGUsdC5wcm90b3R5cGUuUFJPUEVSVFlfRUZGRUNUX1RZUEVTLk5PVElGWSx7Zm46b28oZSxuKX0pfWlmKGkuZm9yd2FyZEhvc3RQcm9wJiZlLl9fZGF0YUhvc3QpZm9yKGxldCBlIGluIHIpbi5oYXNIb3N0UHJvcHN8fChuLmhhc0hvc3RQcm9wcz0hMCksdC5wcm90b3R5cGUuX2FkZFByb3BlcnR5RWZmZWN0KGUsdC5wcm90b3R5cGUuUFJPUEVSVFlfRUZGRUNUX1RZUEVTLk5PVElGWSx7Zm46ZnVuY3Rpb24gdChlLG4saSl7ZS5fX2RhdGFIb3N0Ll9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgoIl9ob3N0XyIrbixpW25dLCEwLCEwKX19KX0pKHIsdCxlLG4pLHJ9ZnVuY3Rpb24gaW8odCxlLG4saSl7bGV0IHI9bi5mb3J3YXJkSG9zdFByb3A7aWYociYmZS5oYXNIb3N0UHJvcHMpe2NvbnN0IG89InRlbXBsYXRlIj09dC5sb2NhbE5hbWU7bGV0IGE9ZS50ZW1wbGF0aXplVGVtcGxhdGVDbGFzcztpZighYSl7aWYobyl7bGV0IHQ9bi5tdXRhYmxlRGF0YT9LcjokcjtjbGFzcyBpIGV4dGVuZHMgdHt9YT1lLnRlbXBsYXRpemVUZW1wbGF0ZUNsYXNzPWl9ZWxzZXtjb25zdCBuPXQuY29uc3RydWN0b3I7Y2xhc3MgaSBleHRlbmRzIG57fWE9ZS50ZW1wbGF0aXplVGVtcGxhdGVDbGFzcz1pfWxldCBzPWUuaG9zdFByb3BzO2ZvcihsZXQgdCBpbiBzKWEucHJvdG90eXBlLl9hZGRQcm9wZXJ0eUVmZmVjdCgiX2hvc3RfIit0LGEucHJvdG90eXBlLlBST1BFUlRZX0VGRkVDVF9UWVBFUy5QUk9QQUdBVEUse2ZuOnJvKHQscil9KSxhLnByb3RvdHlwZS5fY3JlYXRlTm90aWZ5aW5nUHJvcGVydHkoIl9ob3N0XyIrdCk7UyYmaSYmKGZ1bmN0aW9uIG8odCxlLG4pe2NvbnN0IGk9bi5jb25zdHJ1Y3Rvci5fcHJvcGVydGllcyx7cHJvcGVydHlFZmZlY3RzOnJ9PXQse2luc3RhbmNlUHJvcHM6b309ZTtmb3IobGV0IHQgaW4gcilpZighKGlbdF18fG8mJm9bdF0pKXtjb25zdCBlPXJbdF07Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspe2NvbnN0e3BhcnQ6aX09ZVtuXS5pbmZvO2lmKCFpLnNpZ25hdHVyZXx8IWkuc2lnbmF0dXJlLnN0YXRpYyl7Y29uc29sZS53YXJuKGBQcm9wZXJ0eSAnJHt0fScgdXNlZCBpbiB0ZW1wbGF0ZSBidXQgbm90IGRlY2xhcmVkIGluICdwcm9wZXJ0aWVzJzsgYXR0cmlidXRlIHdpbGwgbm90IGJlIG9ic2VydmVkLmApO2JyZWFrfX19fSkoZSxuLGkpfWlmKHQuX19kYXRhUHJvdG8mJk9iamVjdC5hc3NpZ24odC5fX2RhdGEsdC5fX2RhdGFQcm90byksbykhKGZ1bmN0aW9uIGEodCxlKXtZcj10LE9iamVjdC5zZXRQcm90b3R5cGVPZih0LGUucHJvdG90eXBlKSxuZXcgZSxZcj1udWxsfSkodCxhKSx0Ll9fZGF0YVRlbXA9e30sdC5fX2RhdGFQZW5kaW5nPW51bGwsdC5fX2RhdGFPbGQ9bnVsbCx0Ll9lbmFibGVQcm9wZXJ0aWVzKCk7ZWxzZXtPYmplY3Quc2V0UHJvdG90eXBlT2YodCxhLnByb3RvdHlwZSk7Y29uc3Qgbj1lLmhvc3RQcm9wcztmb3IobGV0IGUgaW4gbilpZihlPSJfaG9zdF8iK2UsZSBpbiB0KXtjb25zdCBuPXRbZV07ZGVsZXRlIHRbZV0sdC5fX2RhdGFbZV09bn19fX1mdW5jdGlvbiBybyh0LGUpe3JldHVybiBmdW5jdGlvbiB0KG4saSxyKXtlLmNhbGwobi5fX3RlbXBsYXRpemVPd25lcixpLnN1YnN0cmluZygiX2hvc3RfIi5sZW5ndGgpLHJbaV0pfX1mdW5jdGlvbiBvbyh0LGUpe3JldHVybiBmdW5jdGlvbiB0KG4saSxyKXtlLmNhbGwobi5fX3RlbXBsYXRpemVPd25lcixuLGkscltpXSl9fWZ1bmN0aW9uIGFvKHQsZSxuKXtpZihiJiYhZW8odCkpdGhyb3cgbmV3IEVycm9yKCJzdHJpY3RUZW1wbGF0ZVBvbGljeTogdGVtcGxhdGUgb3duZXIgbm90IHRydXN0ZWQiKTtpZihuPW58fHt9LHQuX190ZW1wbGF0aXplT3duZXIpdGhyb3cgbmV3IEVycm9yKCJBIDx0ZW1wbGF0ZT4gY2FuIG9ubHkgYmUgdGVtcGxhdGl6ZWQgb25jZSIpO3QuX190ZW1wbGF0aXplT3duZXI9ZTtsZXQgaT0oZT9lLmNvbnN0cnVjdG9yOlFyKS5fcGFyc2VUZW1wbGF0ZSh0KSxyPWkudGVtcGxhdGl6ZUluc3RhbmNlQ2xhc3M7cnx8KHI9bm8odCxpLG4pLGkudGVtcGxhdGl6ZUluc3RhbmNlQ2xhc3M9cik7Y29uc3Qgbz1lbyh0KTtpbyh0LGksbixvKTtsZXQgYT1jbGFzcyBleHRlbmRzIHJ7fTtyZXR1cm4gYS5wcm90b3R5cGUuX21ldGhvZEhvc3Q9byxhLnByb3RvdHlwZS5fX2RhdGFIb3N0PXQsYS5wcm90b3R5cGUuX190ZW1wbGF0aXplT3duZXI9ZSxhLnByb3RvdHlwZS5fX2hvc3RQcm9wcz1pLmhvc3RQcm9wcyxhPWEsYX1mdW5jdGlvbiBzbyh0LGUpe2xldCBuO2Zvcig7ZTspaWYobj1lLl9fZGF0YUhvc3Q/ZTplLl9fdGVtcGxhdGl6ZUluc3RhbmNlKXtpZihuLl9fZGF0YUhvc3Q9PXQpcmV0dXJuIG47ZT1uLl9fZGF0YUhvc3R9ZWxzZSBlPVkoZSkucGFyZW50Tm9kZTtyZXR1cm4gbnVsbH0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9jb25zdCBsbz17dGVtcGxhdGl6ZSh0LGUpe3RoaXMuX3RlbXBsYXRpemVyVGVtcGxhdGU9dCx0aGlzLmN0b3I9YW8odCx0aGlzLHttdXRhYmxlRGF0YTpCb29sZWFuKGUpLHBhcmVudE1vZGVsOnRoaXMuX3BhcmVudE1vZGVsLGluc3RhbmNlUHJvcHM6dGhpcy5faW5zdGFuY2VQcm9wcyxmb3J3YXJkSG9zdFByb3A6dGhpcy5fZm9yd2FyZEhvc3RQcm9wVjIsbm90aWZ5SW5zdGFuY2VQcm9wOnRoaXMuX25vdGlmeUluc3RhbmNlUHJvcFYyfSl9LHN0YW1wKHQpe3JldHVybiBuZXcgdGhpcy5jdG9yKHQpfSxtb2RlbEZvckVsZW1lbnQodCl7cmV0dXJuIHNvKHRoaXMuX3RlbXBsYXRpemVyVGVtcGxhdGUsdCl9fTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9sZXQgY289ITE7ZnVuY3Rpb24gdW8oKXtpZih3JiYhbSl7aWYoIWNvKXtjbz0hMDtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7dC50ZXh0Q29udGVudD0iZG9tLWJpbmQsZG9tLWlmLGRvbS1yZXBlYXR7ZGlzcGxheTpub25lO30iLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodCl9cmV0dXJuITB9cmV0dXJuITF9Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovY29uc3QgaG89YmkocXIoZmUoSFRNTEVsZW1lbnQpKSk7Y3VzdG9tRWxlbWVudHMuZGVmaW5lKCJkb20tYmluZCIsY2xhc3MgZXh0ZW5kcyBob3tzdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe3JldHVyblsibXV0YWJsZS1kYXRhIl19Y29uc3RydWN0b3IoKXtpZihzdXBlcigpLGIpdGhyb3cgbmV3IEVycm9yKCJzdHJpY3RUZW1wbGF0ZVBvbGljeTogZG9tLWJpbmQgbm90IGFsbG93ZWQiKTt0aGlzLnJvb3Q9bnVsbCx0aGlzLiQ9bnVsbCx0aGlzLl9fY2hpbGRyZW49bnVsbH1hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4saSl7dGhpcy5tdXRhYmxlRGF0YT0hMH1jb25uZWN0ZWRDYWxsYmFjaygpe3VvKCl8fCh0aGlzLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSx0aGlzLnJlbmRlcigpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5fX3JlbW92ZUNoaWxkcmVuKCl9X19pbnNlcnRDaGlsZHJlbigpe1koWSh0aGlzKS5wYXJlbnROb2RlKS5pbnNlcnRCZWZvcmUodGhpcy5yb290LHRoaXMpfV9fcmVtb3ZlQ2hpbGRyZW4oKXtpZih0aGlzLl9fY2hpbGRyZW4pZm9yKGxldCB0PTA7dDx0aGlzLl9fY2hpbGRyZW4ubGVuZ3RoO3QrKyl0aGlzLnJvb3QuYXBwZW5kQ2hpbGQodGhpcy5fX2NoaWxkcmVuW3RdKX1yZW5kZXIoKXtsZXQgdDtpZighdGhpcy5fX2NoaWxkcmVuKXtpZih0PXR8fHRoaXMucXVlcnlTZWxlY3RvcigidGVtcGxhdGUiKSwhdCl7bGV0IGU9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCgpPT57aWYodD10aGlzLnF1ZXJ5U2VsZWN0b3IoInRlbXBsYXRlIiksIXQpdGhyb3cgbmV3IEVycm9yKCJkb20tYmluZCByZXF1aXJlcyBhIDx0ZW1wbGF0ZT4gY2hpbGQiKTtlLmRpc2Nvbm5lY3QoKSx0aGlzLnJlbmRlcigpfSkpO3JldHVybiB2b2lkIGUub2JzZXJ2ZSh0aGlzLHtjaGlsZExpc3Q6ITB9KX10aGlzLnJvb3Q9dGhpcy5fc3RhbXBUZW1wbGF0ZSh0KSx0aGlzLiQ9dGhpcy5yb290LiQsdGhpcy5fX2NoaWxkcmVuPVtdO2ZvcihsZXQgdD10aGlzLnJvb3QuZmlyc3RDaGlsZDt0O3Q9dC5uZXh0U2libGluZyl0aGlzLl9fY2hpbGRyZW5bdGhpcy5fX2NoaWxkcmVuLmxlbmd0aF09dDt0aGlzLl9lbmFibGVQcm9wZXJ0aWVzKCl9dGhpcy5fX2luc2VydENoaWxkcmVuKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZG9tLWNoYW5nZSIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IHBvPXFyKHdlKTtjbGFzcyBmbyBleHRlbmRzIHBve3N0YXRpYyBnZXQgaXMoKXtyZXR1cm4iZG9tLXJlcGVhdCJ9c3RhdGljIGdldCB0ZW1wbGF0ZSgpe3JldHVybiBudWxsfXN0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybntpdGVtczp7dHlwZTpBcnJheX0sYXM6e3R5cGU6U3RyaW5nLHZhbHVlOiJpdGVtIn0saW5kZXhBczp7dHlwZTpTdHJpbmcsdmFsdWU6ImluZGV4In0saXRlbXNJbmRleEFzOnt0eXBlOlN0cmluZyx2YWx1ZToiaXRlbXNJbmRleCJ9LHNvcnQ6e3R5cGU6RnVuY3Rpb24sb2JzZXJ2ZXI6Il9fc29ydENoYW5nZWQifSxmaWx0ZXI6e3R5cGU6RnVuY3Rpb24sb2JzZXJ2ZXI6Il9fZmlsdGVyQ2hhbmdlZCJ9LG9ic2VydmU6e3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfX29ic2VydmVDaGFuZ2VkIn0sZGVsYXk6TnVtYmVyLHJlbmRlcmVkSXRlbUNvdW50Ont0eXBlOk51bWJlcixub3RpZnk6IWsscmVhZE9ubHk6ITB9LGluaXRpYWxDb3VudDp7dHlwZTpOdW1iZXJ9LHRhcmdldEZyYW1lcmF0ZTp7dHlwZTpOdW1iZXIsdmFsdWU6MjB9LF90YXJnZXRGcmFtZVRpbWU6e3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfX2NvbXB1dGVGcmFtZVRpbWUodGFyZ2V0RnJhbWVyYXRlKSJ9LG5vdGlmeURvbUNoYW5nZTp7dHlwZTpCb29sZWFufSxyZXVzZUNodW5rZWRJbnN0YW5jZXM6e3R5cGU6Qm9vbGVhbn19fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfX2l0ZW1zQ2hhbmdlZChpdGVtcy4qKSJdfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9faW5zdGFuY2VzPVtdLHRoaXMuX19yZW5kZXJEZWJvdW5jZXI9bnVsbCx0aGlzLl9faXRlbXNJZHhUb0luc3RJZHg9e30sdGhpcy5fX2NodW5rQ291bnQ9bnVsbCx0aGlzLl9fcmVuZGVyU3RhcnRUaW1lPW51bGwsdGhpcy5fX2l0ZW1zQXJyYXlDaGFuZ2VkPSExLHRoaXMuX19zaG91bGRNZWFzdXJlQ2h1bms9ITEsdGhpcy5fX3Nob3VsZENvbnRpbnVlQ2h1bmtpbmc9ITEsdGhpcy5fX2NodW5raW5nSWQ9MCx0aGlzLl9fc29ydEZuPW51bGwsdGhpcy5fX2ZpbHRlckZuPW51bGwsdGhpcy5fX29ic2VydmVQYXRocz1udWxsLHRoaXMuX19jdG9yPW51bGwsdGhpcy5fX2lzRGV0YWNoZWQ9ITAsdGhpcy50ZW1wbGF0ZT1udWxsfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl9faXNEZXRhY2hlZD0hMDtmb3IobGV0IHQ9MDt0PHRoaXMuX19pbnN0YW5jZXMubGVuZ3RoO3QrKyl0aGlzLl9fZGV0YWNoSW5zdGFuY2UodCl9Y29ubmVjdGVkQ2FsbGJhY2soKXtpZihzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHVvKCl8fCh0aGlzLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSx0aGlzLl9faXNEZXRhY2hlZCl7dGhpcy5fX2lzRGV0YWNoZWQ9ITE7bGV0IHQ9WShZKHRoaXMpLnBhcmVudE5vZGUpO2ZvcihsZXQgZT0wO2U8dGhpcy5fX2luc3RhbmNlcy5sZW5ndGg7ZSsrKXRoaXMuX19hdHRhY2hJbnN0YW5jZShlLHQpfX1fX2Vuc3VyZVRlbXBsYXRpemVkKCl7aWYoIXRoaXMuX19jdG9yKXtjb25zdCB0PXRoaXM7bGV0IGU9dGhpcy50ZW1wbGF0ZT10Ll90ZW1wbGF0ZUluZm8/dDp0aGlzLnF1ZXJ5U2VsZWN0b3IoInRlbXBsYXRlIik7aWYoIWUpe2xldCB0PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgoKT0+e2lmKCF0aGlzLnF1ZXJ5U2VsZWN0b3IoInRlbXBsYXRlIikpdGhyb3cgbmV3IEVycm9yKCJkb20tcmVwZWF0IHJlcXVpcmVzIGEgPHRlbXBsYXRlPiBjaGlsZCIpO3QuZGlzY29ubmVjdCgpLHRoaXMuX19yZW5kZXIoKX0pKTtyZXR1cm4gdC5vYnNlcnZlKHRoaXMse2NoaWxkTGlzdDohMH0pLCExfWxldCBuPXt9O25bdGhpcy5hc109ITAsblt0aGlzLmluZGV4QXNdPSEwLG5bdGhpcy5pdGVtc0luZGV4QXNdPSEwLHRoaXMuX19jdG9yPWFvKGUsdGhpcyx7bXV0YWJsZURhdGE6dGhpcy5tdXRhYmxlRGF0YSxwYXJlbnRNb2RlbDohMCxpbnN0YW5jZVByb3BzOm4sZm9yd2FyZEhvc3RQcm9wOmZ1bmN0aW9uKHQsZSl7bGV0IG49dGhpcy5fX2luc3RhbmNlcztmb3IobGV0IGkscj0wO3I8bi5sZW5ndGgmJihpPW5bcl0pO3IrKylpLmZvcndhcmRIb3N0UHJvcCh0LGUpfSxub3RpZnlJbnN0YW5jZVByb3A6ZnVuY3Rpb24odCxlLG4pe2lmKFEodGhpcy5hcyxlKSl7bGV0IGk9dFt0aGlzLml0ZW1zSW5kZXhBc107ZT09dGhpcy5hcyYmKHRoaXMuaXRlbXNbaV09bik7bGV0IHI9Sih0aGlzLmFzLGAke0pTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIml0ZW1zIix0aGlzKX0uJHtpfWAsZSk7dGhpcy5ub3RpZnlQYXRoKHIsbil9fX0pfXJldHVybiEwfV9fZ2V0TWV0aG9kSG9zdCgpe3JldHVybiB0aGlzLl9fZGF0YUhvc3QuX21ldGhvZEhvc3R8fHRoaXMuX19kYXRhSG9zdH1fX2Z1bmN0aW9uRnJvbVByb3BlcnR5VmFsdWUodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtsZXQgZT10LG49dGhpcy5fX2dldE1ldGhvZEhvc3QoKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbltlXS5hcHBseShuLGFyZ3VtZW50cyl9fXJldHVybiB0fV9fc29ydENoYW5nZWQodCl7dGhpcy5fX3NvcnRGbj10aGlzLl9fZnVuY3Rpb25Gcm9tUHJvcGVydHlWYWx1ZSh0KSx0aGlzLml0ZW1zJiZ0aGlzLl9fZGVib3VuY2VSZW5kZXIodGhpcy5fX3JlbmRlcil9X19maWx0ZXJDaGFuZ2VkKHQpe3RoaXMuX19maWx0ZXJGbj10aGlzLl9fZnVuY3Rpb25Gcm9tUHJvcGVydHlWYWx1ZSh0KSx0aGlzLml0ZW1zJiZ0aGlzLl9fZGVib3VuY2VSZW5kZXIodGhpcy5fX3JlbmRlcil9X19jb21wdXRlRnJhbWVUaW1lKHQpe3JldHVybiBNYXRoLmNlaWwoMWUzL3QpfV9fb2JzZXJ2ZUNoYW5nZWQoKXt0aGlzLl9fb2JzZXJ2ZVBhdGhzPXRoaXMub2JzZXJ2ZSYmdGhpcy5vYnNlcnZlLnJlcGxhY2UoIi4qIiwiLiIpLnNwbGl0KCIgIil9X19oYW5kbGVPYnNlcnZlZFBhdGhzKHQpe2lmKHRoaXMuX19zb3J0Rm58fHRoaXMuX19maWx0ZXJGbilpZih0KXtpZih0aGlzLl9fb2JzZXJ2ZVBhdGhzKXtsZXQgZT10aGlzLl9fb2JzZXJ2ZVBhdGhzO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKTA9PT10LmluZGV4T2YoZVtuXSkmJnRoaXMuX19kZWJvdW5jZVJlbmRlcih0aGlzLl9fcmVuZGVyLHRoaXMuZGVsYXkpfX1lbHNlIHRoaXMuX19kZWJvdW5jZVJlbmRlcih0aGlzLl9fcmVuZGVyLHRoaXMuZGVsYXkpfV9faXRlbXNDaGFuZ2VkKHQpe3RoaXMuaXRlbXMmJiFBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpJiZjb25zb2xlLndhcm4oImRvbS1yZXBlYXQgZXhwZWN0ZWQgYXJyYXkgZm9yIGBpdGVtc2AsIGZvdW5kIix0aGlzLml0ZW1zKSx0aGlzLl9faGFuZGxlSXRlbVBhdGgodC5wYXRoLHQudmFsdWUpfHwoIml0ZW1zIj09PXQucGF0aCYmKHRoaXMuX19pdGVtc0FycmF5Q2hhbmdlZD0hMCksdGhpcy5fX2RlYm91bmNlUmVuZGVyKHRoaXMuX19yZW5kZXIpKX1fX2RlYm91bmNlUmVuZGVyKHQsZT0wKXt0aGlzLl9fcmVuZGVyRGVib3VuY2VyPU5uLmRlYm91bmNlKHRoaXMuX19yZW5kZXJEZWJvdW5jZXIsZT4wP2d0LmFmdGVyKGUpOnZ0LHQuYmluZCh0aGlzKSksUm4odGhpcy5fX3JlbmRlckRlYm91bmNlcil9cmVuZGVyKCl7dGhpcy5fX2RlYm91bmNlUmVuZGVyKHRoaXMuX19yZW5kZXIpLFdpKCl9X19yZW5kZXIoKXtpZighdGhpcy5fX2Vuc3VyZVRlbXBsYXRpemVkKCkpcmV0dXJuO2xldCB0PXRoaXMuaXRlbXN8fFtdO2NvbnN0IGU9dGhpcy5fX3NvcnRBbmRGaWx0ZXJJdGVtcyh0KSxuPXRoaXMuX19jYWxjdWxhdGVMaW1pdChlLmxlbmd0aCk7dGhpcy5fX3VwZGF0ZUluc3RhbmNlcyh0LG4sZSksdGhpcy5pbml0aWFsQ291bnQmJih0aGlzLl9fc2hvdWxkTWVhc3VyZUNodW5rfHx0aGlzLl9fc2hvdWxkQ29udGludWVDaHVua2luZykmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9fY2h1bmtpbmdJZCksdGhpcy5fX2NodW5raW5nSWQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5fX2NvbnRpbnVlQ2h1bmtpbmcoKSkpKSx0aGlzLl9zZXRSZW5kZXJlZEl0ZW1Db3VudCh0aGlzLl9faW5zdGFuY2VzLmxlbmd0aCksayYmIXRoaXMubm90aWZ5RG9tQ2hhbmdlfHx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkb20tY2hhbmdlIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1fX3NvcnRBbmRGaWx0ZXJJdGVtcyh0KXtsZXQgZT1uZXcgQXJyYXkodC5sZW5ndGgpO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKWVbbl09bjtyZXR1cm4gdGhpcy5fX2ZpbHRlckZuJiYoZT1lLmZpbHRlcigoKGUsbixpKT0+dGhpcy5fX2ZpbHRlckZuKHRbZV0sbixpKSkpKSx0aGlzLl9fc29ydEZuJiZlLnNvcnQoKChlLG4pPT50aGlzLl9fc29ydEZuKHRbZV0sdFtuXSkpKSxlfV9fY2FsY3VsYXRlTGltaXQodCl7bGV0IGU9dDtjb25zdCBuPXRoaXMuX19pbnN0YW5jZXMubGVuZ3RoO2lmKHRoaXMuaW5pdGlhbENvdW50KXtsZXQgaTshdGhpcy5fX2NodW5rQ291bnR8fHRoaXMuX19pdGVtc0FycmF5Q2hhbmdlZCYmIXRoaXMucmV1c2VDaHVua2VkSW5zdGFuY2VzPyhlPU1hdGgubWluKHQsdGhpcy5pbml0aWFsQ291bnQpLGk9TWF0aC5tYXgoZS1uLDApLHRoaXMuX19jaHVua0NvdW50PWl8fDEpOihpPU1hdGgubWluKE1hdGgubWF4KHQtbiwwKSx0aGlzLl9fY2h1bmtDb3VudCksZT1NYXRoLm1pbihuK2ksdCkpLHRoaXMuX19zaG91bGRNZWFzdXJlQ2h1bms9aT09PXRoaXMuX19jaHVua0NvdW50LHRoaXMuX19zaG91bGRDb250aW51ZUNodW5raW5nPWU8dCx0aGlzLl9fcmVuZGVyU3RhcnRUaW1lPXBlcmZvcm1hbmNlLm5vdygpfXJldHVybiB0aGlzLl9faXRlbXNBcnJheUNoYW5nZWQ9ITEsZX1fX2NvbnRpbnVlQ2h1bmtpbmcoKXtpZih0aGlzLl9fc2hvdWxkTWVhc3VyZUNodW5rKXtjb25zdCB0PXBlcmZvcm1hbmNlLm5vdygpLXRoaXMuX19yZW5kZXJTdGFydFRpbWU7dGhpcy5fX2NodW5rQ291bnQ9TWF0aC5yb3VuZCh0aGlzLl9fY2h1bmtDb3VudCoodGhpcy5fdGFyZ2V0RnJhbWVUaW1lL3QpKXx8MX10aGlzLl9fc2hvdWxkQ29udGludWVDaHVua2luZyYmdGhpcy5fX2RlYm91bmNlUmVuZGVyKHRoaXMuX19yZW5kZXIpfV9fdXBkYXRlSW5zdGFuY2VzKHQsZSxuKXtjb25zdCBpPXRoaXMuX19pdGVtc0lkeFRvSW5zdElkeD17fTtsZXQgcjtmb3Iocj0wO3I8ZTtyKyspe2xldCBlPXRoaXMuX19pbnN0YW5jZXNbcl0sbz1uW3JdLGE9dFtvXTtpW29dPXIsZT8oZS5fc2V0UGVuZGluZ1Byb3BlcnR5KHRoaXMuYXMsYSksZS5fc2V0UGVuZGluZ1Byb3BlcnR5KHRoaXMuaW5kZXhBcyxyKSxlLl9zZXRQZW5kaW5nUHJvcGVydHkodGhpcy5pdGVtc0luZGV4QXMsbyksZS5fZmx1c2hQcm9wZXJ0aWVzKCkpOnRoaXMuX19pbnNlcnRJbnN0YW5jZShhLHIsbyl9Zm9yKGxldCB0PXRoaXMuX19pbnN0YW5jZXMubGVuZ3RoLTE7dD49cjt0LS0pdGhpcy5fX2RldGFjaEFuZFJlbW92ZUluc3RhbmNlKHQpfV9fZGV0YWNoSW5zdGFuY2UodCl7bGV0IGU9dGhpcy5fX2luc3RhbmNlc1t0XTtjb25zdCBuPVkoZS5yb290KTtmb3IobGV0IHQ9MDt0PGUuY2hpbGRyZW4ubGVuZ3RoO3QrKyl7bi5hcHBlbmRDaGlsZChlLmNoaWxkcmVuW3RdKX1yZXR1cm4gZX1fX2F0dGFjaEluc3RhbmNlKHQsZSl7ZS5pbnNlcnRCZWZvcmUodGhpcy5fX2luc3RhbmNlc1t0XS5yb290LHRoaXMpfV9fZGV0YWNoQW5kUmVtb3ZlSW5zdGFuY2UodCl7dGhpcy5fX2RldGFjaEluc3RhbmNlKHQpLHRoaXMuX19pbnN0YW5jZXMuc3BsaWNlKHQsMSl9X19zdGFtcEluc3RhbmNlKHQsZSxuKXtsZXQgaT17fTtyZXR1cm4gaVt0aGlzLmFzXT10LGlbdGhpcy5pbmRleEFzXT1lLGlbdGhpcy5pdGVtc0luZGV4QXNdPW4sbmV3IHRoaXMuX19jdG9yKGkpfV9faW5zZXJ0SW5zdGFuY2UodCxlLG4pe2NvbnN0IGk9dGhpcy5fX3N0YW1wSW5zdGFuY2UodCxlLG4pO2xldCByPXRoaXMuX19pbnN0YW5jZXNbZSsxXSxvPXI/ci5jaGlsZHJlblswXTp0aGlzO3JldHVybiBZKFkodGhpcykucGFyZW50Tm9kZSkuaW5zZXJ0QmVmb3JlKGkucm9vdCxvKSx0aGlzLl9faW5zdGFuY2VzW2VdPWksaX1fc2hvd0hpZGVDaGlsZHJlbih0KXtmb3IobGV0IGU9MDtlPHRoaXMuX19pbnN0YW5jZXMubGVuZ3RoO2UrKyl0aGlzLl9faW5zdGFuY2VzW2VdLl9zaG93SGlkZUNoaWxkcmVuKHQpfV9faGFuZGxlSXRlbVBhdGgodCxlKXtsZXQgbj10LnNsaWNlKDYpLGk9bi5pbmRleE9mKCIuIikscj1pPDA/bjpuLnN1YnN0cmluZygwLGkpO2lmKHI9PXBhcnNlSW50KHIsMTApKXtsZXQgdD1pPDA/IiI6bi5zdWJzdHJpbmcoaSsxKTt0aGlzLl9faGFuZGxlT2JzZXJ2ZWRQYXRocyh0KTtsZXQgbz10aGlzLl9faW5zdGFuY2VzW3RoaXMuX19pdGVtc0lkeFRvSW5zdElkeFtyXV07aWYobyl7by5fc2V0UGVuZGluZ1Byb3BlcnR5T3JQYXRoKHRoaXMuYXMrKHQ/Ii4iK3Q6IiIpLGUsITEsITApLG8uX2ZsdXNoUHJvcGVydGllcygpfXJldHVybiEwfX1pdGVtRm9yRWxlbWVudCh0KXtsZXQgZT10aGlzLm1vZGVsRm9yRWxlbWVudCh0KTtyZXR1cm4gZSYmZVt0aGlzLmFzXX1pbmRleEZvckVsZW1lbnQodCl7bGV0IGU9dGhpcy5tb2RlbEZvckVsZW1lbnQodCk7cmV0dXJuIGUmJmVbdGhpcy5pbmRleEFzXX1tb2RlbEZvckVsZW1lbnQodCl7cmV0dXJuIHNvKHRoaXMudGVtcGxhdGUsdCl9fWN1c3RvbUVsZW1lbnRzLmRlZmluZShmby5pcyxmbyk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNsYXNzIG1vIGV4dGVuZHMgd2V7c3RhdGljIGdldCBpcygpe3JldHVybiJkb20taWYifXN0YXRpYyBnZXQgdGVtcGxhdGUoKXtyZXR1cm4gbnVsbH1zdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57aWY6e3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX19kZWJvdW5jZVJlbmRlciJ9LHJlc3RhbXA6e3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX19kZWJvdW5jZVJlbmRlciJ9LG5vdGlmeURvbUNoYW5nZTp7dHlwZTpCb29sZWFufX19Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX19yZW5kZXJEZWJvdW5jZXI9bnVsbCx0aGlzLl9sYXN0SWY9ITEsdGhpcy5fX2hpZGVUZW1wbGF0ZUNoaWxkcmVuX189ITF9X19kZWJvdW5jZVJlbmRlcigpe3RoaXMuX19yZW5kZXJEZWJvdW5jZXI9Tm4uZGVib3VuY2UodGhpcy5fX3JlbmRlckRlYm91bmNlcix2dCwoKCk9PnRoaXMuX19yZW5kZXIoKSkpLFJuKHRoaXMuX19yZW5kZXJEZWJvdW5jZXIpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtjb25zdCB0PVkodGhpcykucGFyZW50Tm9kZTt0JiYodC5ub2RlVHlwZSE9Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFfHxZKHQpLmhvc3QpfHx0aGlzLl9fdGVhcmRvd25JbnN0YW5jZSgpfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx1bygpfHwodGhpcy5zdHlsZS5kaXNwbGF5PSJub25lIiksdGhpcy5pZiYmdGhpcy5fX2RlYm91bmNlUmVuZGVyKCl9X19lbnN1cmVUZW1wbGF0ZSgpe2lmKCF0aGlzLl9fdGVtcGxhdGUpe2NvbnN0IHQ9dGhpcztsZXQgZT10Ll90ZW1wbGF0ZUluZm8/dDpZKHQpLnF1ZXJ5U2VsZWN0b3IoInRlbXBsYXRlIik7aWYoIWUpe2xldCB0PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgoKT0+e2lmKCFZKHRoaXMpLnF1ZXJ5U2VsZWN0b3IoInRlbXBsYXRlIikpdGhyb3cgbmV3IEVycm9yKCJkb20taWYgcmVxdWlyZXMgYSA8dGVtcGxhdGU+IGNoaWxkIik7dC5kaXNjb25uZWN0KCksdGhpcy5fX3JlbmRlcigpfSkpO3JldHVybiB0Lm9ic2VydmUodGhpcyx7Y2hpbGRMaXN0OiEwfSksITF9dGhpcy5fX3RlbXBsYXRlPWV9cmV0dXJuITB9X19lbnN1cmVJbnN0YW5jZSgpe2xldCB0PVkodGhpcykucGFyZW50Tm9kZTtpZih0aGlzLl9faGFzSW5zdGFuY2UoKSl7bGV0IGU9dGhpcy5fX2dldEluc3RhbmNlTm9kZXMoKTtpZihlJiZlLmxlbmd0aCl7aWYoWSh0aGlzKS5wcmV2aW91c1NpYmxpbmchPT1lW2UubGVuZ3RoLTFdKWZvcihsZXQgbixpPTA7aTxlLmxlbmd0aCYmKG49ZVtpXSk7aSsrKVkodCkuaW5zZXJ0QmVmb3JlKG4sdGhpcyl9fWVsc2V7aWYoIXQpcmV0dXJuITE7aWYoIXRoaXMuX19lbnN1cmVUZW1wbGF0ZSgpKXJldHVybiExO3RoaXMuX19jcmVhdGVBbmRJbnNlcnRJbnN0YW5jZSh0KX1yZXR1cm4hMH1yZW5kZXIoKXtXaSgpfV9fcmVuZGVyKCl7aWYodGhpcy5pZil7aWYoIXRoaXMuX19lbnN1cmVJbnN0YW5jZSgpKXJldHVybn1lbHNlIHRoaXMucmVzdGFtcCYmdGhpcy5fX3RlYXJkb3duSW5zdGFuY2UoKTt0aGlzLl9zaG93SGlkZUNoaWxkcmVuKCksayYmIXRoaXMubm90aWZ5RG9tQ2hhbmdlfHx0aGlzLmlmPT10aGlzLl9sYXN0SWZ8fCh0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkb20tY2hhbmdlIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKSx0aGlzLl9sYXN0SWY9dGhpcy5pZil9X19oYXNJbnN0YW5jZSgpe31fX2dldEluc3RhbmNlTm9kZXMoKXt9X19jcmVhdGVBbmRJbnNlcnRJbnN0YW5jZSh0KXt9X190ZWFyZG93bkluc3RhbmNlKCl7fV9zaG93SGlkZUNoaWxkcmVuKCl7fX1jb25zdCBnbz1BP2NsYXNzIGV4dGVuZHMgbW97Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX19pbnN0YW5jZT1udWxsLHRoaXMuX19zeW5jSW5mbz1udWxsfV9faGFzSW5zdGFuY2UoKXtyZXR1cm4gQm9vbGVhbih0aGlzLl9faW5zdGFuY2UpfV9fZ2V0SW5zdGFuY2VOb2Rlcygpe3JldHVybiB0aGlzLl9faW5zdGFuY2UudGVtcGxhdGVJbmZvLmNoaWxkTm9kZXN9X19jcmVhdGVBbmRJbnNlcnRJbnN0YW5jZSh0KXtjb25zdCBlPXRoaXMuX19kYXRhSG9zdHx8dGhpcztpZihiJiYhdGhpcy5fX2RhdGFIb3N0KXRocm93IG5ldyBFcnJvcigic3RyaWN0VGVtcGxhdGVQb2xpY3k6IHRlbXBsYXRlIG93bmVyIG5vdCB0cnVzdGVkIik7Y29uc3Qgbj1lLl9iaW5kVGVtcGxhdGUodGhpcy5fX3RlbXBsYXRlLCEwKTtuLnJ1bkVmZmVjdHM9KHQsZSxuKT0+e2xldCBpPXRoaXMuX19zeW5jSW5mbztpZih0aGlzLmlmKWkmJih0aGlzLl9fc3luY0luZm89bnVsbCx0aGlzLl9zaG93SGlkZUNoaWxkcmVuKCksZT1PYmplY3QuYXNzaWduKGkuY2hhbmdlZFByb3BzLGUpKSx0KGUsbik7ZWxzZSBpZih0aGlzLl9faW5zdGFuY2UpaWYoaXx8KGk9dGhpcy5fX3N5bmNJbmZvPXtydW5FZmZlY3RzOnQsY2hhbmdlZFByb3BzOnt9fSksbilmb3IoY29uc3QgdCBpbiBlKXtjb25zdCBlPSQodCk7aS5jaGFuZ2VkUHJvcHNbZV09dGhpcy5fX2RhdGFIb3N0W2VdfWVsc2UgT2JqZWN0LmFzc2lnbihpLmNoYW5nZWRQcm9wcyxlKX0sdGhpcy5fX2luc3RhbmNlPWUuX3N0YW1wVGVtcGxhdGUodGhpcy5fX3RlbXBsYXRlLG4pLFkodCkuaW5zZXJ0QmVmb3JlKHRoaXMuX19pbnN0YW5jZSx0aGlzKX1fX3N5bmNIb3N0UHJvcGVydGllcygpe2NvbnN0IHQ9dGhpcy5fX3N5bmNJbmZvO3QmJih0aGlzLl9fc3luY0luZm89bnVsbCx0LnJ1bkVmZmVjdHModC5jaGFuZ2VkUHJvcHMsITEpKX1fX3RlYXJkb3duSW5zdGFuY2UoKXt0aGlzLl9faW5zdGFuY2UmJigodGhpcy5fX2RhdGFIb3N0fHx0aGlzKS5fcmVtb3ZlQm91bmREb20odGhpcy5fX2luc3RhbmNlKSx0aGlzLl9faW5zdGFuY2U9bnVsbCx0aGlzLl9fc3luY0luZm89bnVsbCl9X3Nob3dIaWRlQ2hpbGRyZW4oKXtjb25zdCB0PXRoaXMuX19oaWRlVGVtcGxhdGVDaGlsZHJlbl9ffHwhdGhpcy5pZjt0aGlzLl9faW5zdGFuY2UmJkJvb2xlYW4odGhpcy5fX2luc3RhbmNlLl9faGlkZGVuKSE9PXQmJih0aGlzLl9faW5zdGFuY2UuX19oaWRkZW49dCxKcih0LHRoaXMuX19pbnN0YW5jZS50ZW1wbGF0ZUluZm8uY2hpbGROb2RlcykpLHR8fHRoaXMuX19zeW5jSG9zdFByb3BlcnRpZXMoKX19OmNsYXNzIGV4dGVuZHMgbW97Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX19jdG9yPW51bGwsdGhpcy5fX2luc3RhbmNlPW51bGwsdGhpcy5fX2ludmFsaWRQcm9wcz1udWxsfV9faGFzSW5zdGFuY2UoKXtyZXR1cm4gQm9vbGVhbih0aGlzLl9faW5zdGFuY2UpfV9fZ2V0SW5zdGFuY2VOb2Rlcygpe3JldHVybiB0aGlzLl9faW5zdGFuY2UuY2hpbGRyZW59X19jcmVhdGVBbmRJbnNlcnRJbnN0YW5jZSh0KXt0aGlzLl9fY3Rvcnx8KHRoaXMuX19jdG9yPWFvKHRoaXMuX190ZW1wbGF0ZSx0aGlzLHttdXRhYmxlRGF0YTohMCxmb3J3YXJkSG9zdFByb3A6ZnVuY3Rpb24odCxlKXt0aGlzLl9faW5zdGFuY2UmJih0aGlzLmlmP3RoaXMuX19pbnN0YW5jZS5mb3J3YXJkSG9zdFByb3AodCxlKToodGhpcy5fX2ludmFsaWRQcm9wcz10aGlzLl9faW52YWxpZFByb3BzfHxPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX19pbnZhbGlkUHJvcHNbJCh0KV09ITApKX19KSksdGhpcy5fX2luc3RhbmNlPW5ldyB0aGlzLl9fY3RvcixZKHQpLmluc2VydEJlZm9yZSh0aGlzLl9faW5zdGFuY2Uucm9vdCx0aGlzKX1fX3RlYXJkb3duSW5zdGFuY2UoKXtpZih0aGlzLl9faW5zdGFuY2Upe2xldCB0PXRoaXMuX19pbnN0YW5jZS5jaGlsZHJlbjtpZih0JiZ0Lmxlbmd0aCl7bGV0IGU9WSh0WzBdKS5wYXJlbnROb2RlO2lmKGUpe2U9WShlKTtmb3IobGV0IG4saT0wO2k8dC5sZW5ndGgmJihuPXRbaV0pO2krKyllLnJlbW92ZUNoaWxkKG4pfX10aGlzLl9faW52YWxpZFByb3BzPW51bGwsdGhpcy5fX2luc3RhbmNlPW51bGx9fV9fc3luY0hvc3RQcm9wZXJ0aWVzKCl7bGV0IHQ9dGhpcy5fX2ludmFsaWRQcm9wcztpZih0KXt0aGlzLl9faW52YWxpZFByb3BzPW51bGw7Zm9yKGxldCBlIGluIHQpdGhpcy5fX2luc3RhbmNlLl9zZXRQZW5kaW5nUHJvcGVydHkoZSx0aGlzLl9fZGF0YUhvc3RbZV0pO3RoaXMuX19pbnN0YW5jZS5fZmx1c2hQcm9wZXJ0aWVzKCl9fV9zaG93SGlkZUNoaWxkcmVuKCl7Y29uc3QgdD10aGlzLl9faGlkZVRlbXBsYXRlQ2hpbGRyZW5fX3x8IXRoaXMuaWY7dGhpcy5fX2luc3RhbmNlJiZCb29sZWFuKHRoaXMuX19pbnN0YW5jZS5fX2hpZGRlbikhPT10JiYodGhpcy5fX2luc3RhbmNlLl9faGlkZGVuPXQsdGhpcy5fX2luc3RhbmNlLl9zaG93SGlkZUNoaWxkcmVuKHQpKSx0fHx0aGlzLl9fc3luY0hvc3RQcm9wZXJ0aWVzKCl9fTtjdXN0b21FbGVtZW50cy5kZWZpbmUoZ28uaXMsZ28pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpsZXQgX289SSgodD0+e2xldCBlPXllKHQpO3JldHVybiBjbGFzcyBleHRlbmRzIGV7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue2l0ZW1zOnt0eXBlOkFycmF5fSxtdWx0aTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzZWxlY3RlZDp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSxzZWxlY3RlZEl0ZW06e3R5cGU6T2JqZWN0LG5vdGlmeTohMH0sdG9nZ2xlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fX1zdGF0aWMgZ2V0IG9ic2VydmVycygpe3JldHVyblsiX191cGRhdGVTZWxlY3Rpb24obXVsdGksIGl0ZW1zLiopIl19Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX19sYXN0SXRlbXM9bnVsbCx0aGlzLl9fbGFzdE11bHRpPW51bGwsdGhpcy5fX3NlbGVjdGVkTWFwPW51bGx9X191cGRhdGVTZWxlY3Rpb24odCxlKXtsZXQgbj1lLnBhdGg7aWYobj09SlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgiaXRlbXMiLHRoaXMpKXtsZXQgbj1lLmJhc2V8fFtdLGk9dGhpcy5fX2xhc3RJdGVtcztpZih0IT09dGhpcy5fX2xhc3RNdWx0aSYmdGhpcy5jbGVhclNlbGVjdGlvbigpLGkpe2xldCB0PVZpKG4saSk7dGhpcy5fX2FwcGx5U3BsaWNlcyh0KX10aGlzLl9fbGFzdEl0ZW1zPW4sdGhpcy5fX2xhc3RNdWx0aT10fWVsc2UgaWYoZS5wYXRoPT1gJHtKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJpdGVtcyIsdGhpcyl9LnNwbGljZXNgKXRoaXMuX19hcHBseVNwbGljZXMoZS52YWx1ZS5pbmRleFNwbGljZXMpO2Vsc2V7bGV0IHQ9bi5zbGljZShgJHtKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJpdGVtcyIsdGhpcyl9LmAubGVuZ3RoKSxlPXBhcnNlSW50KHQsMTApO3QuaW5kZXhPZigiLiIpPDAmJnQ9PWUmJnRoaXMuX19kZXNlbGVjdENoYW5nZWRJZHgoZSl9fV9fYXBwbHlTcGxpY2VzKHQpe2xldCBlPXRoaXMuX19zZWxlY3RlZE1hcDtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7bGV0IGk9dFtuXTtlLmZvckVhY2goKCh0LG4pPT57dDxpLmluZGV4fHxlLnNldChuLHQ+PWkuaW5kZXgraS5yZW1vdmVkLmxlbmd0aD90K2kuYWRkZWRDb3VudC1pLnJlbW92ZWQubGVuZ3RoOi0xKX0pKTtmb3IobGV0IHQ9MDt0PGkuYWRkZWRDb3VudDt0Kyspe2xldCBuPWkuaW5kZXgrdDtlLmhhcyh0aGlzLml0ZW1zW25dKSYmZS5zZXQodGhpcy5pdGVtc1tuXSxuKX19dGhpcy5fX3VwZGF0ZUxpbmtzKCk7bGV0IG49MDtlLmZvckVhY2goKCh0LGkpPT57dDwwPyh0aGlzLm11bHRpP3RoaXMuc3BsaWNlKEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoInNlbGVjdGVkIix0aGlzKSxuLDEpOnRoaXMuc2VsZWN0ZWQ9dGhpcy5zZWxlY3RlZEl0ZW09bnVsbCxlLmRlbGV0ZShpKSk6bisrfSkpfV9fdXBkYXRlTGlua3MoKXtpZih0aGlzLl9fZGF0YUxpbmtlZFBhdGhzPXt9LHRoaXMubXVsdGkpe2xldCB0PTA7dGhpcy5fX3NlbGVjdGVkTWFwLmZvckVhY2goKGU9PntlPj0wJiZ0aGlzLmxpbmtQYXRocyhgJHtKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJpdGVtcyIsdGhpcyl9LiR7ZX1gLGAke0pTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoInNlbGVjdGVkIix0aGlzKX0uJHt0Kyt9YCl9KSl9ZWxzZSB0aGlzLl9fc2VsZWN0ZWRNYXAuZm9yRWFjaCgodD0+e3RoaXMubGlua1BhdGhzKEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoInNlbGVjdGVkIix0aGlzKSxgJHtKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJpdGVtcyIsdGhpcyl9LiR7dH1gKSx0aGlzLmxpbmtQYXRocyhKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJzZWxlY3RlZEl0ZW0iLHRoaXMpLGAke0pTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIml0ZW1zIix0aGlzKX0uJHt0fWApfSkpfWNsZWFyU2VsZWN0aW9uKCl7dGhpcy5fX2RhdGFMaW5rZWRQYXRocz17fSx0aGlzLl9fc2VsZWN0ZWRNYXA9bmV3IE1hcCx0aGlzLnNlbGVjdGVkPXRoaXMubXVsdGk/W106bnVsbCx0aGlzLnNlbGVjdGVkSXRlbT1udWxsfWlzU2VsZWN0ZWQodCl7cmV0dXJuIHRoaXMuX19zZWxlY3RlZE1hcC5oYXModCl9aXNJbmRleFNlbGVjdGVkKHQpe3JldHVybiB0aGlzLmlzU2VsZWN0ZWQodGhpcy5pdGVtc1t0XSl9X19kZXNlbGVjdENoYW5nZWRJZHgodCl7bGV0IGU9dGhpcy5fX3NlbGVjdGVkSW5kZXhGb3JJdGVtSW5kZXgodCk7aWYoZT49MCl7bGV0IHQ9MDt0aGlzLl9fc2VsZWN0ZWRNYXAuZm9yRWFjaCgoKG4saSk9PntlPT10KysmJnRoaXMuZGVzZWxlY3QoaSl9KSl9fV9fc2VsZWN0ZWRJbmRleEZvckl0ZW1JbmRleCh0KXtsZXQgZT10aGlzLl9fZGF0YUxpbmtlZFBhdGhzW2Ake0pTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIml0ZW1zIix0aGlzKX0uJHt0fWBdO2lmKGUpcmV0dXJuIHBhcnNlSW50KGUuc2xpY2UoYCR7SlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgic2VsZWN0ZWQiLHRoaXMpfS5gLmxlbmd0aCksMTApfWRlc2VsZWN0KHQpe2xldCBlPXRoaXMuX19zZWxlY3RlZE1hcC5nZXQodCk7aWYoZT49MCl7bGV0IG47dGhpcy5fX3NlbGVjdGVkTWFwLmRlbGV0ZSh0KSx0aGlzLm11bHRpJiYobj10aGlzLl9fc2VsZWN0ZWRJbmRleEZvckl0ZW1JbmRleChlKSksdGhpcy5fX3VwZGF0ZUxpbmtzKCksdGhpcy5tdWx0aT90aGlzLnNwbGljZShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJzZWxlY3RlZCIsdGhpcyksbiwxKTp0aGlzLnNlbGVjdGVkPXRoaXMuc2VsZWN0ZWRJdGVtPW51bGx9fWRlc2VsZWN0SW5kZXgodCl7dGhpcy5kZXNlbGVjdCh0aGlzLml0ZW1zW3RdKX1zZWxlY3QodCl7dGhpcy5zZWxlY3RJbmRleCh0aGlzLml0ZW1zLmluZGV4T2YodCkpfXNlbGVjdEluZGV4KHQpe2xldCBlPXRoaXMuaXRlbXNbdF07dGhpcy5pc1NlbGVjdGVkKGUpP3RoaXMudG9nZ2xlJiZ0aGlzLmRlc2VsZWN0SW5kZXgodCk6KHRoaXMubXVsdGl8fHRoaXMuX19zZWxlY3RlZE1hcC5jbGVhcigpLHRoaXMuX19zZWxlY3RlZE1hcC5zZXQoZSx0KSx0aGlzLl9fdXBkYXRlTGlua3MoKSx0aGlzLm11bHRpP3RoaXMucHVzaChKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJzZWxlY3RlZCIsdGhpcyksZSk6dGhpcy5zZWxlY3RlZD10aGlzLnNlbGVjdGVkSXRlbT1lKX19fSkpKHdlKTtjbGFzcyB5byBleHRlbmRzIF9ve3N0YXRpYyBnZXQgaXMoKXtyZXR1cm4iYXJyYXktc2VsZWN0b3IifXN0YXRpYyBnZXQgdGVtcGxhdGUoKXtyZXR1cm4gbnVsbH19Y3VzdG9tRWxlbWVudHMuZGVmaW5lKHlvLmlzLHlvKTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3Qgdm89bmV3IGtuO3dpbmRvdy5TaGFkeUNTU3x8KHdpbmRvdy5TaGFkeUNTUz17cHJlcGFyZVRlbXBsYXRlKHQsZSxuKXt9LHByZXBhcmVUZW1wbGF0ZURvbSh0LGUpe30scHJlcGFyZVRlbXBsYXRlU3R5bGVzKHQsZSxuKXt9LHN0eWxlU3VidHJlZSh0LGUpe3ZvLnByb2Nlc3NTdHlsZXMoKSxvbih0LGUpfSxzdHlsZUVsZW1lbnQodCl7dm8ucHJvY2Vzc1N0eWxlcygpfSxzdHlsZURvY3VtZW50KHQpe3ZvLnByb2Nlc3NTdHlsZXMoKSxvbihkb2N1bWVudC5ib2R5LHQpfSxnZXRDb21wdXRlZFN0eWxlVmFsdWU6KHQsZSk9PmFuKHQsZSksZmx1c2hDdXN0b21TdHlsZXMoKXt9LG5hdGl2ZUNzczpJZSxuYXRpdmVTaGFkb3c6QWUsY3NzQnVpbGQ6TGUsZGlzYWJsZVJ1bnRpbWU6TmV9KSx3aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2U9dm87Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IGJvPSJpbmNsdWRlIix4bz13aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2U7Y2xhc3Mgd28gZXh0ZW5kcyBIVE1MRWxlbWVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5fc3R5bGU9bnVsbCx4by5hZGRDdXN0b21TdHlsZSh0aGlzKX1nZXRTdHlsZSgpe2lmKHRoaXMuX3N0eWxlKXJldHVybiB0aGlzLl9zdHlsZTtjb25zdCB0PXRoaXMucXVlcnlTZWxlY3Rvcigic3R5bGUiKTtpZighdClyZXR1cm4gbnVsbDt0aGlzLl9zdHlsZT10O2NvbnN0IGU9dC5nZXRBdHRyaWJ1dGUoYm8pO3JldHVybiBlJiYodC5yZW1vdmVBdHRyaWJ1dGUoYm8pLHQudGV4dENvbnRlbnQ9KGZ1bmN0aW9uIG4odCl7bGV0IGU9dC50cmltKCkuc3BsaXQoL1xzKy8pLG49IiI7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspbis9cShlW3RdKTtyZXR1cm4gbn0pKGUpK3QudGV4dENvbnRlbnQpLHRoaXMub3duZXJEb2N1bWVudCE9PXdpbmRvdy5kb2N1bWVudCYmd2luZG93LmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodGhpcyksdGhpcy5fc3R5bGV9fQovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpsZXQgU287d2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgiY3VzdG9tLXN0eWxlIix3byksU289V3IuX211dGFibGVQcm9wZXJ0eUNoYW5nZTtjb25zdCBNbz17cHJvcGVydGllczp7bXV0YWJsZURhdGE6Qm9vbGVhbn0sX3Nob3VsZFByb3BlcnR5Q2hhbmdlKHQsZSxuKXtyZXR1cm4gU28odGhpcyx0LGUsbix0aGlzLm11dGFibGVEYXRhKX19LEVvPWNyKEhUTUxFbGVtZW50KS5wcm90b3R5cGU7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwp2YXIgVG89bmV3IFNldDtjb25zdCBDbz17cHJvcGVydGllczp7X3BhcmVudFJlc2l6YWJsZTp7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il9wYXJlbnRSZXNpemFibGVDaGFuZ2VkIn0sX25vdGlmeWluZ0Rlc2NlbmRhbnQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LGxpc3RlbmVyczp7Imlyb24tcmVxdWVzdC1yZXNpemUtbm90aWZpY2F0aW9ucyI6Il9vbklyb25SZXF1ZXN0UmVzaXplTm90aWZpY2F0aW9ucyJ9LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9pbnRlcmVzdGVkUmVzaXphYmxlcz1bXSx0aGlzLl9ib3VuZE5vdGlmeVJlc2l6ZT10aGlzLm5vdGlmeVJlc2l6ZS5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kT25EZXNjZW5kYW50SXJvblJlc2l6ZT10aGlzLl9vbkRlc2NlbmRhbnRJcm9uUmVzaXplLmJpbmQodGhpcyl9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fcmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnMoKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9wYXJlbnRSZXNpemFibGU/dGhpcy5fcGFyZW50UmVzaXphYmxlLnN0b3BSZXNpemVOb3RpZmljYXRpb25zRm9yKHRoaXMpOihUby5kZWxldGUodGhpcyksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fYm91bmROb3RpZnlSZXNpemUpKSx0aGlzLl9wYXJlbnRSZXNpemFibGU9bnVsbH0sbm90aWZ5UmVzaXplOmZ1bmN0aW9uKCl7dGhpcy5pc0F0dGFjaGVkJiYodGhpcy5faW50ZXJlc3RlZFJlc2l6YWJsZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dGhpcy5yZXNpemVyU2hvdWxkTm90aWZ5KHQpJiZ0aGlzLl9ub3RpZnlEZXNjZW5kYW50KHQpfSksdGhpcyksdGhpcy5fZmlyZVJlc2l6ZSgpKX0sYXNzaWduUGFyZW50UmVzaXphYmxlOmZ1bmN0aW9uKHQpe3RoaXMuX3BhcmVudFJlc2l6YWJsZSYmdGhpcy5fcGFyZW50UmVzaXphYmxlLnN0b3BSZXNpemVOb3RpZmljYXRpb25zRm9yKHRoaXMpLHRoaXMuX3BhcmVudFJlc2l6YWJsZT10LHQmJi0xPT09dC5faW50ZXJlc3RlZFJlc2l6YWJsZXMuaW5kZXhPZih0aGlzKSYmKHQuX2ludGVyZXN0ZWRSZXNpemFibGVzLnB1c2godGhpcyksdC5fc3Vic2NyaWJlSXJvblJlc2l6ZSh0aGlzKSl9LHN0b3BSZXNpemVOb3RpZmljYXRpb25zRm9yOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzLmluZGV4T2YodCk7ZT4tMSYmKHRoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzLnNwbGljZShlLDEpLHRoaXMuX3Vuc3Vic2NyaWJlSXJvblJlc2l6ZSh0KSl9LF9zdWJzY3JpYmVJcm9uUmVzaXplOmZ1bmN0aW9uKHQpe3QuYWRkRXZlbnRMaXN0ZW5lcigiaXJvbi1yZXNpemUiLHRoaXMuX2JvdW5kT25EZXNjZW5kYW50SXJvblJlc2l6ZSl9LF91bnN1YnNjcmliZUlyb25SZXNpemU6ZnVuY3Rpb24odCl7dC5yZW1vdmVFdmVudExpc3RlbmVyKCJpcm9uLXJlc2l6ZSIsdGhpcy5fYm91bmRPbkRlc2NlbmRhbnRJcm9uUmVzaXplKX0scmVzaXplclNob3VsZE5vdGlmeTpmdW5jdGlvbih0KXtyZXR1cm4hMH0sX29uRGVzY2VuZGFudElyb25SZXNpemU6ZnVuY3Rpb24odCl7dGhpcy5fbm90aWZ5aW5nRGVzY2VuZGFudD90LnN0b3BQcm9wYWdhdGlvbigpOm18fHRoaXMuX2ZpcmVSZXNpemUoKX0sX2ZpcmVSZXNpemU6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoImlyb24tcmVzaXplIixudWxsLHtub2RlOnRoaXMsYnViYmxlczohMX0pfSxfb25Jcm9uUmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnM6ZnVuY3Rpb24odCl7dmFyIGU9ZXIodCkucm9vdFRhcmdldDtlIT09dGhpcyYmKGUuYXNzaWduUGFyZW50UmVzaXphYmxlKHRoaXMpLHRoaXMuX25vdGlmeURlc2NlbmRhbnQoZSksdC5zdG9wUHJvcGFnYXRpb24oKSl9LF9wYXJlbnRSZXNpemFibGVDaGFuZ2VkOmZ1bmN0aW9uKHQpe3QmJndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX2JvdW5kTm90aWZ5UmVzaXplKX0sX25vdGlmeURlc2NlbmRhbnQ6ZnVuY3Rpb24odCl7dGhpcy5pc0F0dGFjaGVkJiYodGhpcy5fbm90aWZ5aW5nRGVzY2VuZGFudD0hMCx0Lm5vdGlmeVJlc2l6ZSgpLHRoaXMuX25vdGlmeWluZ0Rlc2NlbmRhbnQ9ITEpfSxfcmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnM6ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXR0YWNoZWQpaWYoImxvYWRpbmciPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSl7dmFyIHQ9dGhpcy5fcmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnMuYmluZCh0aGlzKTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIiwoZnVuY3Rpb24gZSgpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLGUpLHQoKX0pKX1lbHNlIHRoaXMuX2ZpbmRQYXJlbnQoKSx0aGlzLl9wYXJlbnRSZXNpemFibGU/dGhpcy5fcGFyZW50UmVzaXphYmxlLl9pbnRlcmVzdGVkUmVzaXphYmxlcy5mb3JFYWNoKChmdW5jdGlvbih0KXt0IT09dGhpcyYmdC5fZmluZFBhcmVudCgpfSksdGhpcyk6KFRvLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QhPT10aGlzJiZ0Ll9maW5kUGFyZW50KCl9KSx0aGlzKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9ib3VuZE5vdGlmeVJlc2l6ZSksdGhpcy5ub3RpZnlSZXNpemUoKSl9LF9maW5kUGFyZW50OmZ1bmN0aW9uKCl7dGhpcy5hc3NpZ25QYXJlbnRSZXNpemFibGUobnVsbCksdGhpcy5maXJlKCJpcm9uLXJlcXVlc3QtcmVzaXplLW5vdGlmaWNhdGlvbnMiLG51bGwse25vZGU6dGhpcyxidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9KSx0aGlzLl9wYXJlbnRSZXNpemFibGU/VG8uZGVsZXRlKHRoaXMpOlRvLmFkZCh0aGlzKX19O3ZhciBBbz1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxJcm9uUmVzaXphYmxlQmVoYXZpb3I6Q299KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLWlyb24tY29sbGFwc2UtdHJhbnNpdGlvbi1kdXJhdGlvbiwgMzAwbXMpOwogICAgICAgIC8qIFNhZmFyaSAxMCBuZWVkcyB0aGlzIHByb3BlcnR5IHByZWZpeGVkIHRvIGNvcnJlY3RseSBhcHBseSB0aGUgY3VzdG9tIHByb3BlcnR5ICovCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1pcm9uLWNvbGxhcHNlLXRyYW5zaXRpb24tZHVyYXRpb24sIDMwMG1zKTsKICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgICAgfQoKICAgICAgOmhvc3QoLmlyb24tY29sbGFwc2UtY2xvc2VkKSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoOm5vdCguaXJvbi1jb2xsYXBzZS1vcGVuZWQpKSB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CmAsaXM6Imlyb24tY29sbGFwc2UiLGJlaGF2aW9yczpbQ29dLHByb3BlcnRpZXM6e2hvcml6b250YWw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX2hvcml6b250YWxDaGFuZ2VkIn0sb3BlbmVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwLG9ic2VydmVyOiJfb3BlbmVkQ2hhbmdlZCJ9LHRyYW5zaXRpb25pbmc6e3R5cGU6Qm9vbGVhbixub3RpZnk6ITAscmVhZE9ubHk6ITB9LG5vQW5pbWF0aW9uOnt0eXBlOkJvb2xlYW59LF9kZXNpcmVkU2l6ZTp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9fSxnZXQgZGltZW5zaW9uKCl7cmV0dXJuIHRoaXMuaG9yaXpvbnRhbD8id2lkdGgiOiJoZWlnaHQifSxnZXQgX2RpbWVuc2lvbk1heCgpe3JldHVybiB0aGlzLmhvcml6b250YWw/Im1heFdpZHRoIjoibWF4SGVpZ2h0In0sZ2V0IF9kaW1lbnNpb25NYXhDc3MoKXtyZXR1cm4gdGhpcy5ob3Jpem9udGFsPyJtYXgtd2lkdGgiOiJtYXgtaGVpZ2h0In0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6Imdyb3VwIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sbGlzdGVuZXJzOnt0cmFuc2l0aW9uZW5kOiJfb25UcmFuc2l0aW9uRW5kIn0sdG9nZ2xlOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ9IXRoaXMub3BlbmVkfSxzaG93OmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ9ITB9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZD0hMX0sdXBkYXRlU2l6ZTpmdW5jdGlvbih0LGUpe3Q9ImF1dG8iPT09dD8iIjp0O3ZhciBuPWUmJiF0aGlzLm5vQW5pbWF0aW9uJiZ0aGlzLmlzQXR0YWNoZWQmJnRoaXMuX2Rlc2lyZWRTaXplIT09dDtpZih0aGlzLl9kZXNpcmVkU2l6ZT10LHRoaXMuX3VwZGF0ZVRyYW5zaXRpb24oITEpLG4pe3ZhciBpPXRoaXMuX2NhbGNTaXplKCk7IiI9PT10JiYodGhpcy5zdHlsZVt0aGlzLl9kaW1lbnNpb25NYXhdPSIiLHQ9dGhpcy5fY2FsY1NpemUoKSksdGhpcy5zdHlsZVt0aGlzLl9kaW1lbnNpb25NYXhdPWksdGhpcy5zY3JvbGxUb3A9dGhpcy5zY3JvbGxUb3AsdGhpcy5fdXBkYXRlVHJhbnNpdGlvbighMCksbj10IT09aX10aGlzLnN0eWxlW3RoaXMuX2RpbWVuc2lvbk1heF09dCxufHx0aGlzLl90cmFuc2l0aW9uRW5kKCl9LGVuYWJsZVRyYW5zaXRpb246ZnVuY3Rpb24odCl7RW8uX3dhcm4oImBlbmFibGVUcmFuc2l0aW9uKClgIGlzIGRlcHJlY2F0ZWQsIHVzZSBgbm9BbmltYXRpb25gIGluc3RlYWQuIiksdGhpcy5ub0FuaW1hdGlvbj0hdH0sX3VwZGF0ZVRyYW5zaXRpb246ZnVuY3Rpb24odCl7dGhpcy5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249dCYmIXRoaXMubm9BbmltYXRpb24/IiI6IjBzIn0sX2hvcml6b250YWxDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5zdHlsZS50cmFuc2l0aW9uUHJvcGVydHk9dGhpcy5fZGltZW5zaW9uTWF4Q3NzLHRoaXMuc3R5bGVbIm1heFdpZHRoIj09PXRoaXMuX2RpbWVuc2lvbk1heD8ibWF4SGVpZ2h0IjoibWF4V2lkdGgiXT0iIix0aGlzLnVwZGF0ZVNpemUodGhpcy5vcGVuZWQ/ImF1dG8iOiIwcHgiLCExKX0sX29wZW5lZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCF0aGlzLm9wZW5lZCksdGhpcy5fc2V0VHJhbnNpdGlvbmluZyghMCksdGhpcy50b2dnbGVDbGFzcygiaXJvbi1jb2xsYXBzZS1jbG9zZWQiLCExKSx0aGlzLnRvZ2dsZUNsYXNzKCJpcm9uLWNvbGxhcHNlLW9wZW5lZCIsITEpLHRoaXMudXBkYXRlU2l6ZSh0aGlzLm9wZW5lZD8iYXV0byI6IjBweCIsITApLHRoaXMub3BlbmVkJiZ0aGlzLmZvY3VzKCl9LF90cmFuc2l0aW9uRW5kOmZ1bmN0aW9uKCl7dGhpcy5zdHlsZVt0aGlzLl9kaW1lbnNpb25NYXhdPXRoaXMuX2Rlc2lyZWRTaXplLHRoaXMudG9nZ2xlQ2xhc3MoImlyb24tY29sbGFwc2UtY2xvc2VkIiwhdGhpcy5vcGVuZWQpLHRoaXMudG9nZ2xlQ2xhc3MoImlyb24tY29sbGFwc2Utb3BlbmVkIix0aGlzLm9wZW5lZCksdGhpcy5fdXBkYXRlVHJhbnNpdGlvbighMSksdGhpcy5ub3RpZnlSZXNpemUoKSx0aGlzLl9zZXRUcmFuc2l0aW9uaW5nKCExKX0sX29uVHJhbnNpdGlvbkVuZDpmdW5jdGlvbih0KXtlcih0KS5yb290VGFyZ2V0PT09dGhpcyYmdGhpcy5fdHJhbnNpdGlvbkVuZCgpfSxfY2FsY1NpemU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVt0aGlzLmRpbWVuc2lvbl0rInB4In19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IGtvPXhlYAovKiBNb3N0IGNvbW1vbiB1c2VkIGZsZXggc3R5bGVzKi8KPGRvbS1tb2R1bGUgaWQ9Imlyb24tZmxleCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAubGF5b3V0Lmhvcml6b250YWwsCiAgICAgIC5sYXlvdXQudmVydGljYWwgewogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICAubGF5b3V0LmlubGluZSB7CiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuaG9yaXpvbnRhbCB7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQudmVydGljYWwgewogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICAubGF5b3V0LndyYXAgewogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CgogICAgICAubGF5b3V0Lm5vLXdyYXAgewogICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogbm93cmFwOwogICAgICAgIGZsZXgtd3JhcDogbm93cmFwOwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlciwKICAgICAgLmxheW91dC5jZW50ZXItY2VudGVyIHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlci1qdXN0aWZpZWQsCiAgICAgIC5sYXlvdXQuY2VudGVyLWNlbnRlciB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5mbGV4IHsKICAgICAgICAtbXMtZmxleDogMSAxIDAuMDAwMDAwMDAxcHg7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAwLjAwMDAwMDAwMXB4OwogICAgICAgIGZsZXgtYmFzaXM6IDAuMDAwMDAwMDAxcHg7CiAgICAgIH0KCiAgICAgIC5mbGV4LWF1dG8gewogICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bzsKICAgICAgICAtd2Via2l0LWZsZXg6IDEgMSBhdXRvOwogICAgICAgIGZsZXg6IDEgMSBhdXRvOwogICAgICB9CgogICAgICAuZmxleC1ub25lIHsKICAgICAgICAtbXMtZmxleDogbm9uZTsKICAgICAgICAtd2Via2l0LWZsZXg6IG5vbmU7CiAgICAgICAgZmxleDogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+Ci8qIEJhc2ljIGZsZXhib3ggcmV2ZXJzZSBzdHlsZXMgKi8KPGRvbS1tb2R1bGUgaWQ9Imlyb24tZmxleC1yZXZlcnNlIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC5sYXlvdXQuaG9yaXpvbnRhbC1yZXZlcnNlLAogICAgICAubGF5b3V0LnZlcnRpY2FsLXJldmVyc2UgewogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICAubGF5b3V0Lmhvcml6b250YWwtcmV2ZXJzZSB7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQudmVydGljYWwtcmV2ZXJzZSB7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQud3JhcC1yZXZlcnNlIHsKICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2U7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsKICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+Ci8qIEZsZXhib3ggYWxpZ25tZW50ICovCjxkb20tbW9kdWxlIGlkPSJpcm9uLWZsZXgtYWxpZ25tZW50Ij4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC8qKgogICAgICAgKiBBbGlnbm1lbnQgaW4gY3Jvc3MgYXhpcy4KICAgICAgICovCiAgICAgIC5sYXlvdXQuc3RhcnQgewogICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlciwKICAgICAgLmxheW91dC5jZW50ZXItY2VudGVyIHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAubGF5b3V0LmVuZCB7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuYmFzZWxpbmUgewogICAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZTsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBBbGlnbm1lbnQgaW4gbWFpbiBheGlzLgogICAgICAgKi8KICAgICAgLmxheW91dC5zdGFydC1qdXN0aWZpZWQgewogICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0OwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICAgICAgfQoKICAgICAgLmxheW91dC5jZW50ZXItanVzdGlmaWVkLAogICAgICAubGF5b3V0LmNlbnRlci1jZW50ZXIgewogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAubGF5b3V0LmVuZC1qdXN0aWZpZWQgewogICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLmxheW91dC5hcm91bmQtanVzdGlmaWVkIHsKICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuanVzdGlmaWVkIHsKICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFNlbGYgYWxpZ25tZW50LgogICAgICAgKi8KICAgICAgLnNlbGYtc3RhcnQgewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OwogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OwogICAgICB9CgogICAgICAuc2VsZi1jZW50ZXIgewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyOwogICAgICB9CgogICAgICAuc2VsZi1lbmQgewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBmbGV4LWVuZDsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAuc2VsZi1zdHJldGNoIHsKICAgICAgICAtbXMtYWxpZ24tc2VsZjogc3RyZXRjaDsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IHN0cmV0Y2g7CiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLnNlbGYtYmFzZWxpbmUgewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBiYXNlbGluZTsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGJhc2VsaW5lOwogICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lOwogICAgICB9CgogICAgICAvKioKICAgICAgICogbXVsdGktbGluZSBhbGlnbm1lbnQgaW4gbWFpbiBheGlzLgogICAgICAgKi8KICAgICAgLmxheW91dC5zdGFydC1hbGlnbmVkIHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0OyAgLyogSUUxMCAqLwogICAgICAgIC1tcy1hbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1zdGFydDsKICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICB9CgogICAgICAubGF5b3V0LmVuZC1hbGlnbmVkIHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZDsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLmxheW91dC5jZW50ZXItYWxpZ25lZCB7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXI7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuYmV0d2Vlbi1hbGlnbmVkIHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnk7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuYXJvdW5kLWFsaWduZWQgewogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZTsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+Ci8qIE5vbi1mbGV4Ym94IHBvc2l0aW9uaW5nIGhlbHBlciBzdHlsZXMgKi8KPGRvbS1tb2R1bGUgaWQ9Imlyb24tZmxleC1mYWN0b3JzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC5mbGV4LAogICAgICAuZmxleC0xIHsKICAgICAgICAtbXMtZmxleDogMSAxIDAuMDAwMDAwMDAxcHg7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAwLjAwMDAwMDAwMXB4OwogICAgICAgIGZsZXgtYmFzaXM6IDAuMDAwMDAwMDAxcHg7CiAgICAgIH0KCiAgICAgIC5mbGV4LTIgewogICAgICAgIC1tcy1mbGV4OiAyOwogICAgICAgIC13ZWJraXQtZmxleDogMjsKICAgICAgICBmbGV4OiAyOwogICAgICB9CgogICAgICAuZmxleC0zIHsKICAgICAgICAtbXMtZmxleDogMzsKICAgICAgICAtd2Via2l0LWZsZXg6IDM7CiAgICAgICAgZmxleDogMzsKICAgICAgfQoKICAgICAgLmZsZXgtNCB7CiAgICAgICAgLW1zLWZsZXg6IDQ7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA0OwogICAgICAgIGZsZXg6IDQ7CiAgICAgIH0KCiAgICAgIC5mbGV4LTUgewogICAgICAgIC1tcy1mbGV4OiA1OwogICAgICAgIC13ZWJraXQtZmxleDogNTsKICAgICAgICBmbGV4OiA1OwogICAgICB9CgogICAgICAuZmxleC02IHsKICAgICAgICAtbXMtZmxleDogNjsKICAgICAgICAtd2Via2l0LWZsZXg6IDY7CiAgICAgICAgZmxleDogNjsKICAgICAgfQoKICAgICAgLmZsZXgtNyB7CiAgICAgICAgLW1zLWZsZXg6IDc7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA3OwogICAgICAgIGZsZXg6IDc7CiAgICAgIH0KCiAgICAgIC5mbGV4LTggewogICAgICAgIC1tcy1mbGV4OiA4OwogICAgICAgIC13ZWJraXQtZmxleDogODsKICAgICAgICBmbGV4OiA4OwogICAgICB9CgogICAgICAuZmxleC05IHsKICAgICAgICAtbXMtZmxleDogOTsKICAgICAgICAtd2Via2l0LWZsZXg6IDk7CiAgICAgICAgZmxleDogOTsKICAgICAgfQoKICAgICAgLmZsZXgtMTAgewogICAgICAgIC1tcy1mbGV4OiAxMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDEwOwogICAgICAgIGZsZXg6IDEwOwogICAgICB9CgogICAgICAuZmxleC0xMSB7CiAgICAgICAgLW1zLWZsZXg6IDExOwogICAgICAgIC13ZWJraXQtZmxleDogMTE7CiAgICAgICAgZmxleDogMTE7CiAgICAgIH0KCiAgICAgIC5mbGV4LTEyIHsKICAgICAgICAtbXMtZmxleDogMTI7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxMjsKICAgICAgICBmbGV4OiAxMjsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+Cjxkb20tbW9kdWxlIGlkPSJpcm9uLXBvc2l0aW9uaW5nIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC5ibG9jayB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIFtoaWRkZW5dIHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5pbnZpc2libGUgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAucmVsYXRpdmUgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmZpdCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgfQoKICAgICAgYm9keS5mdWxsYmxlZWQgewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICB9CgogICAgICAuc2Nyb2xsIHsKICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KCiAgICAgIC8qIGZpeGVkIHBvc2l0aW9uICovCiAgICAgIC5maXhlZC1ib3R0b20sCiAgICAgIC5maXhlZC1sZWZ0LAogICAgICAuZml4ZWQtcmlnaHQsCiAgICAgIC5maXhlZC10b3AgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgfQoKICAgICAgLmZpeGVkLXRvcCB7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC5maXhlZC1yaWdodCB7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLmZpeGVkLWJvdHRvbSB7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIC5maXhlZC1sZWZ0IHsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPgpgO2tvLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJkaXNwbGF5OiBub25lOyIpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoa28uY29udGVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBMbz14ZWAKPGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBbaGlkZGVuXSB7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT4KPGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBodG1sIHsKCiAgICAgIC0tbGF5b3V0OiB7CiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIH07CgogICAgICAtLWxheW91dC1pbmxpbmU6IHsKICAgICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWhvcml6b250YWw6IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQ7CgogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtaG9yaXpvbnRhbC1yZXZlcnNlOiB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0OwoKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LXZlcnRpY2FsOiB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0OwoKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LXZlcnRpY2FsLXJldmVyc2U6IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQ7CgogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtd3JhcDogewogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtd3JhcC1yZXZlcnNlOiB7CiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlOwogICAgICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwLXJldmVyc2U7CiAgICAgICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LWF1dG86IHsKICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxIDEgYXV0bzsKICAgICAgICBmbGV4OiAxIDEgYXV0bzsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtbm9uZTogewogICAgICAgIC1tcy1mbGV4OiBub25lOwogICAgICAgIC13ZWJraXQtZmxleDogbm9uZTsKICAgICAgICBmbGV4OiBub25lOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleDogewogICAgICAgIC1tcy1mbGV4OiAxIDEgMC4wMDAwMDAwMDFweDsKICAgICAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAgICAgZmxleDogMTsKICAgICAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDAuMDAwMDAwMDAxcHg7CiAgICAgICAgZmxleC1iYXNpczogMC4wMDAwMDAwMDFweDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtMjogewogICAgICAgIC1tcy1mbGV4OiAyOwogICAgICAgIC13ZWJraXQtZmxleDogMjsKICAgICAgICBmbGV4OiAyOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC0zOiB7CiAgICAgICAgLW1zLWZsZXg6IDM7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAzOwogICAgICAgIGZsZXg6IDM7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTQ6IHsKICAgICAgICAtbXMtZmxleDogNDsKICAgICAgICAtd2Via2l0LWZsZXg6IDQ7CiAgICAgICAgZmxleDogNDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtNTogewogICAgICAgIC1tcy1mbGV4OiA1OwogICAgICAgIC13ZWJraXQtZmxleDogNTsKICAgICAgICBmbGV4OiA1OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC02OiB7CiAgICAgICAgLW1zLWZsZXg6IDY7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA2OwogICAgICAgIGZsZXg6IDY7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTc6IHsKICAgICAgICAtbXMtZmxleDogNzsKICAgICAgICAtd2Via2l0LWZsZXg6IDc7CiAgICAgICAgZmxleDogNzsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtODogewogICAgICAgIC1tcy1mbGV4OiA4OwogICAgICAgIC13ZWJraXQtZmxleDogODsKICAgICAgICBmbGV4OiA4OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC05OiB7CiAgICAgICAgLW1zLWZsZXg6IDk7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA5OwogICAgICAgIGZsZXg6IDk7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTEwOiB7CiAgICAgICAgLW1zLWZsZXg6IDEwOwogICAgICAgIC13ZWJraXQtZmxleDogMTA7CiAgICAgICAgZmxleDogMTA7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTExOiB7CiAgICAgICAgLW1zLWZsZXg6IDExOwogICAgICAgIC13ZWJraXQtZmxleDogMTE7CiAgICAgICAgZmxleDogMTE7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTEyOiB7CiAgICAgICAgLW1zLWZsZXg6IDEyOwogICAgICAgIC13ZWJraXQtZmxleDogMTI7CiAgICAgICAgZmxleDogMTI7CiAgICAgIH07CgogICAgICAvKiBhbGlnbm1lbnQgaW4gY3Jvc3MgYXhpcyAqLwoKICAgICAgLS1sYXlvdXQtc3RhcnQ6IHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWNlbnRlcjogewogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH07CgogICAgICAtLWxheW91dC1lbmQ6IHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWJhc2VsaW5lOiB7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgfTsKCiAgICAgIC8qIGFsaWdubWVudCBpbiBtYWluIGF4aXMgKi8KCiAgICAgIC0tbGF5b3V0LXN0YXJ0LWp1c3RpZmllZDogewogICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0OwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWNlbnRlci1qdXN0aWZpZWQ6IHsKICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWVuZC1qdXN0aWZpZWQ6IHsKICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgIH07CgogICAgICAtLWxheW91dC1hcm91bmQtanVzdGlmaWVkOiB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtanVzdGlmaWVkOiB7CiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH07CgogICAgICAtLWxheW91dC1jZW50ZXItY2VudGVyOiB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyLWp1c3RpZmllZDsKICAgICAgfTsKCiAgICAgIC8qIHNlbGYgYWxpZ25tZW50ICovCgogICAgICAtLWxheW91dC1zZWxmLXN0YXJ0OiB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OwogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7CiAgICAgIH07CgogICAgICAtLWxheW91dC1zZWxmLWNlbnRlcjogewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtc2VsZi1lbmQ6IHsKICAgICAgICAtbXMtYWxpZ24tc2VsZjogZmxleC1lbmQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LXNlbGYtc3RyZXRjaDogewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBzdHJldGNoOwogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogc3RyZXRjaDsKICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtc2VsZi1iYXNlbGluZTogewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBiYXNlbGluZTsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGJhc2VsaW5lOwogICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lOwogICAgICB9OwoKICAgICAgLyogbXVsdGktbGluZSBhbGlnbm1lbnQgaW4gbWFpbiBheGlzICovCgogICAgICAtLWxheW91dC1zdGFydC1hbGlnbmVkOiB7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydDsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogZmxleC1zdGFydDsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWVuZC1hbGlnbmVkOiB7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQ7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7CiAgICAgIH07CgogICAgICAtLWxheW91dC1jZW50ZXItYWxpZ25lZDogewogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyOyAgLyogSUUxMCAqLwogICAgICAgIC1tcy1hbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtYmV0d2Vlbi1hbGlnbmVkOiB7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5OyAgLyogSUUxMCAqLwogICAgICAgIC1tcy1hbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtYXJvdW5kLWFsaWduZWQ6IHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGU7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgIH07CgogICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgICAgICAgICAgICAgT3RoZXIgTGF5b3V0CiAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgogICAgICAtLWxheW91dC1ibG9jazogewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtaW52aXNpYmxlOiB7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7CiAgICAgIH07CgogICAgICAtLWxheW91dC1yZWxhdGl2ZTogewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZpdDogewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH07CgogICAgICAtLWxheW91dC1zY3JvbGw6IHsKICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH07CgogICAgICAtLWxheW91dC1mdWxsYmxlZWQ6IHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAgfTsKCiAgICAgIC8qIGZpeGVkIHBvc2l0aW9uICovCgogICAgICAtLWxheW91dC1maXhlZC10b3A6IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgIH07CgogICAgICAtLWxheW91dC1maXhlZC1yaWdodDogewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZml4ZWQtYm90dG9tOiB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZml4ZWQtbGVmdDogewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH07CgogICAgfQogIDwvc3R5bGU+CjwvY3VzdG9tLXN0eWxlPmA7TG8uc2V0QXR0cmlidXRlKCJzdHlsZSIsImRpc3BsYXk6IG5vbmU7IiksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChMby5jb250ZW50KTt2YXIgUG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtQby50ZXh0Q29udGVudD0iW2hpZGRlbl0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0iLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoUG8pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY2xhc3MgTm97Y29uc3RydWN0b3IodCl7Tm9bIiAiXSh0KSx0aGlzLnR5cGU9dCYmdC50eXBlfHwiZGVmYXVsdCIsdGhpcy5rZXk9dCYmdC5rZXksdCYmInZhbHVlImluIHQmJih0aGlzLnZhbHVlPXQudmFsdWUpfWdldCB2YWx1ZSgpe3ZhciB0PXRoaXMudHlwZSxlPXRoaXMua2V5O2lmKHQmJmUpcmV0dXJuIE5vLnR5cGVzW3RdJiZOby50eXBlc1t0XVtlXX1zZXQgdmFsdWUodCl7dmFyIGU9dGhpcy50eXBlLG49dGhpcy5rZXk7ZSYmbiYmKGU9Tm8udHlwZXNbZV09Tm8udHlwZXNbZV18fHt9LG51bGw9PXQ/ZGVsZXRlIGVbbl06ZVtuXT10KX1nZXQgbGlzdCgpe2lmKHRoaXMudHlwZSl7dmFyIHQ9Tm8udHlwZXNbdGhpcy50eXBlXTtyZXR1cm4gdD9PYmplY3Qua2V5cyh0KS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBJb1t0aGlzLnR5cGVdW3RdfSksdGhpcyk6W119fWJ5S2V5KHQpe3JldHVybiB0aGlzLmtleT10LHRoaXMudmFsdWV9fU5vWyIgIl09ZnVuY3Rpb24oKXt9LE5vLnR5cGVzPXt9O3ZhciBJbz1Oby50eXBlcztqcih7aXM6Imlyb24tbWV0YSIscHJvcGVydGllczp7dHlwZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImRlZmF1bHQifSxrZXk6e3R5cGU6U3RyaW5nfSx2YWx1ZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxzZWxmOnt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9zZWxmQ2hhbmdlZCJ9LF9fbWV0YTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfX2NvbXB1dGVNZXRhKHR5cGUsIGtleSwgdmFsdWUpIn19LGhvc3RBdHRyaWJ1dGVzOntoaWRkZW46ITB9LF9fY29tcHV0ZU1ldGE6ZnVuY3Rpb24odCxlLG4pe3ZhciBpPW5ldyBObyh7dHlwZTp0LGtleTplfSk7cmV0dXJuIHZvaWQgMCE9PW4mJm4hPT1pLnZhbHVlP2kudmFsdWU9bjp0aGlzLnZhbHVlIT09aS52YWx1ZSYmKHRoaXMudmFsdWU9aS52YWx1ZSksaX0sZ2V0IGxpc3QoKXtyZXR1cm4gdGhpcy5fX21ldGEmJnRoaXMuX19tZXRhLmxpc3R9LF9zZWxmQ2hhbmdlZDpmdW5jdGlvbih0KXt0JiYodGhpcy52YWx1ZT10aGlzKX0sYnlLZXk6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBObyh7dHlwZTp0aGlzLnR5cGUsa2V5OnR9KS52YWx1ZX19KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaW5saW5lOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKCiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKCiAgICAgICAgZmlsbDogdmFyKC0taXJvbi1pY29uLWZpbGwtY29sb3IsIGN1cnJlbnRjb2xvcik7CiAgICAgICAgc3Ryb2tlOiB2YXIoLS1pcm9uLWljb24tc3Ryb2tlLWNvbG9yLCBub25lKTsKCiAgICAgICAgd2lkdGg6IHZhcigtLWlyb24taWNvbi13aWR0aCwgMjRweCk7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1pcm9uLWljb24taGVpZ2h0LCAyNHB4KTsKICAgICAgICBAYXBwbHkgLS1pcm9uLWljb247CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KYCxpczoiaXJvbi1pY29uIixwcm9wZXJ0aWVzOntpY29uOnt0eXBlOlN0cmluZ30sdGhlbWU6e3R5cGU6U3RyaW5nfSxzcmM6e3R5cGU6U3RyaW5nfSxfbWV0YTp7dmFsdWU6RW8uY3JlYXRlKCJpcm9uLW1ldGEiLHt0eXBlOiJpY29uc2V0In0pfX0sb2JzZXJ2ZXJzOlsiX3VwZGF0ZUljb24oX21ldGEsIGlzQXR0YWNoZWQpIiwiX3VwZGF0ZUljb24odGhlbWUsIGlzQXR0YWNoZWQpIiwiX3NyY0NoYW5nZWQoc3JjLCBpc0F0dGFjaGVkKSIsIl9pY29uQ2hhbmdlZChpY29uLCBpc0F0dGFjaGVkKSJdLF9ERUZBVUxUX0lDT05TRVQ6Imljb25zIixfaWNvbkNoYW5nZWQ6ZnVuY3Rpb24odCl7dmFyIGU9KHR8fCIiKS5zcGxpdCgiOiIpO3RoaXMuX2ljb25OYW1lPWUucG9wKCksdGhpcy5faWNvbnNldE5hbWU9ZS5wb3AoKXx8dGhpcy5fREVGQVVMVF9JQ09OU0VULHRoaXMuX3VwZGF0ZUljb24oKX0sX3NyY0NoYW5nZWQ6ZnVuY3Rpb24odCl7dGhpcy5fdXBkYXRlSWNvbigpfSxfdXNlc0ljb25zZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pY29ufHwhdGhpcy5zcmN9LF91cGRhdGVJY29uOmZ1bmN0aW9uKCl7dGhpcy5fdXNlc0ljb25zZXQoKT8odGhpcy5faW1nJiZ0aGlzLl9pbWcucGFyZW50Tm9kZSYmZXIodGhpcy5yb290KS5yZW1vdmVDaGlsZCh0aGlzLl9pbWcpLCIiPT09dGhpcy5faWNvbk5hbWU/dGhpcy5faWNvbnNldCYmdGhpcy5faWNvbnNldC5yZW1vdmVJY29uKHRoaXMpOnRoaXMuX2ljb25zZXROYW1lJiZ0aGlzLl9tZXRhJiYodGhpcy5faWNvbnNldD10aGlzLl9tZXRhLmJ5S2V5KHRoaXMuX2ljb25zZXROYW1lKSx0aGlzLl9pY29uc2V0Pyh0aGlzLl9pY29uc2V0LmFwcGx5SWNvbih0aGlzLHRoaXMuX2ljb25OYW1lLHRoaXMudGhlbWUpLHRoaXMudW5saXN0ZW4od2luZG93LCJpcm9uLWljb25zZXQtYWRkZWQiLCJfdXBkYXRlSWNvbiIpKTp0aGlzLmxpc3Rlbih3aW5kb3csImlyb24taWNvbnNldC1hZGRlZCIsIl91cGRhdGVJY29uIikpKToodGhpcy5faWNvbnNldCYmdGhpcy5faWNvbnNldC5yZW1vdmVJY29uKHRoaXMpLHRoaXMuX2ltZ3x8KHRoaXMuX2ltZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSx0aGlzLl9pbWcuc3R5bGUud2lkdGg9IjEwMCUiLHRoaXMuX2ltZy5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuX2ltZy5kcmFnZ2FibGU9ITEpLHRoaXMuX2ltZy5zcmM9dGhpcy5zcmMsZXIodGhpcy5yb290KS5hcHBlbmRDaGlsZCh0aGlzLl9pbWcpKX19KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtpczoiaXJvbi1pY29uc2V0LXN2ZyIscHJvcGVydGllczp7bmFtZTp7dHlwZTpTdHJpbmcsb2JzZXJ2ZXI6Il9uYW1lQ2hhbmdlZCJ9LHNpemU6e3R5cGU6TnVtYmVyLHZhbHVlOjI0fSxydGxNaXJyb3Jpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sdXNlR2xvYmFsUnRsQXR0cmlidXRlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5fbWV0YT1uZXcgTm8oe3R5cGU6Imljb25zZXQiLGtleTpudWxsLHZhbHVlOm51bGx9KX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnN0eWxlLmRpc3BsYXk9Im5vbmUifSxnZXRJY29uTmFtZXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faWNvbnM9dGhpcy5fY3JlYXRlSWNvbk1hcCgpLE9iamVjdC5rZXlzKHRoaXMuX2ljb25zKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm5hbWUrIjoiK3R9KSx0aGlzKX0sYXBwbHlJY29uOmZ1bmN0aW9uKHQsZSl7dGhpcy5yZW1vdmVJY29uKHQpO3ZhciBuPXRoaXMuX2Nsb25lSWNvbihlLHRoaXMucnRsTWlycm9yaW5nJiZ0aGlzLl90YXJnZXRJc1JUTCh0KSk7aWYobil7dmFyIGk9ZXIodC5yb290fHx0KTtyZXR1cm4gaS5pbnNlcnRCZWZvcmUobixpLmNoaWxkTm9kZXNbMF0pLHQuX3N2Z0ljb249bn1yZXR1cm4gbnVsbH0scmVtb3ZlSWNvbjpmdW5jdGlvbih0KXt0Ll9zdmdJY29uJiYoZXIodC5yb290fHx0KS5yZW1vdmVDaGlsZCh0Ll9zdmdJY29uKSx0Ll9zdmdJY29uPW51bGwpfSxfdGFyZ2V0SXNSVEw6ZnVuY3Rpb24odCl7aWYobnVsbD09dGhpcy5fX3RhcmdldElzUlRMKWlmKHRoaXMudXNlR2xvYmFsUnRsQXR0cmlidXRlKXt2YXIgZT1kb2N1bWVudC5ib2R5JiZkb2N1bWVudC5ib2R5Lmhhc0F0dHJpYnV0ZSgiZGlyIik/ZG9jdW1lbnQuYm9keTpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7dGhpcy5fX3RhcmdldElzUlRMPSJydGwiPT09ZS5nZXRBdHRyaWJ1dGUoImRpciIpfWVsc2UgdCYmdC5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFJiYodD10Lmhvc3QpLHRoaXMuX190YXJnZXRJc1JUTD10JiYicnRsIj09PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLmRpcmVjdGlvbjtyZXR1cm4gdGhpcy5fX3RhcmdldElzUlRMfSxfbmFtZUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl9tZXRhLnZhbHVlPW51bGwsdGhpcy5fbWV0YS5rZXk9dGhpcy5uYW1lLHRoaXMuX21ldGEudmFsdWU9dGhpcyx0aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuZmlyZSgiaXJvbi1pY29uc2V0LWFkZGVkIix0aGlzLHtub2RlOndpbmRvd30pfSkpfSxfY3JlYXRlSWNvbk1hcDpmdW5jdGlvbigpe3ZhciB0PU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIGVyKHRoaXMpLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZF0iKS5mb3JFYWNoKChmdW5jdGlvbihlKXt0W2UuaWRdPWV9KSksdH0sX2Nsb25lSWNvbjpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9pY29ucz10aGlzLl9pY29uc3x8dGhpcy5fY3JlYXRlSWNvbk1hcCgpLHRoaXMuX3ByZXBhcmVTdmdDbG9uZSh0aGlzLl9pY29uc1t0XSx0aGlzLnNpemUsZSl9LF9wcmVwYXJlU3ZnQ2xvbmU6ZnVuY3Rpb24odCxlLG4pe2lmKHQpe3ZhciBpPXQuY2xvbmVOb2RlKCEwKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJzdmciKSxvPWkuZ2V0QXR0cmlidXRlKCJ2aWV3Qm94Iil8fCIwIDAgIitlKyIgIitlLGE9InBvaW50ZXItZXZlbnRzOiBub25lOyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsiO3JldHVybiBuJiZpLmhhc0F0dHJpYnV0ZSgibWlycm9yLWluLXJ0bCIpJiYoYSs9Ii13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC0xLDEpO3RyYW5zZm9ybTpzY2FsZSgtMSwxKTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjsiKSxyLnNldEF0dHJpYnV0ZSgidmlld0JveCIsbyksci5zZXRBdHRyaWJ1dGUoInByZXNlcnZlQXNwZWN0UmF0aW8iLCJ4TWlkWU1pZCBtZWV0Iiksci5zZXRBdHRyaWJ1dGUoImZvY3VzYWJsZSIsImZhbHNlIiksci5zdHlsZS5jc3NUZXh0PWEsci5hcHBlbmRDaGlsZChpKS5yZW1vdmVBdHRyaWJ1dGUoImlkIikscn1yZXR1cm4gbnVsbH19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE0IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IFJvPXhlYDxpcm9uLWljb25zZXQtc3ZnIG5hbWU9ImltYWdlIiBzaXplPSIyNCI+Cjxzdmc+PGRlZnM+CjxnIGlkPSJhZGQtYS1waG90byI+PHBhdGggZD0iTTMgNFYxaDJ2M2gzdjJINXYzSDNWNkgwVjRoM3ptMyA2VjdoM1Y0aDdsMS44MyAySDIxYzEuMSAwIDIgLjkgMiAydjEyYzAgMS4xLS45IDItMiAySDVjLTEuMSAwLTItLjktMi0yVjEwaDN6bTcgOWMyLjc2IDAgNS0yLjI0IDUtNXMtMi4yNC01LTUtNS01IDIuMjQtNSA1IDIuMjQgNSA1IDV6bS0zLjItNWMwIDEuNzcgMS40MyAzLjIgMy4yIDMuMnMzLjItMS40MyAzLjItMy4yLTEuNDMtMy4yLTMuMi0zLjItMy4yIDEuNDMtMy4yIDMuMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJhZGQtdG8tcGhvdG9zIj48cGF0aCBkPSJNNCA2SDJ2MTRjMCAxLjEuOSAyIDIgMmgxNHYtMkg0VjZ6bTE2LTRIOGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0yem0tMSA5aC00djRoLTJ2LTRIOVY5aDRWNWgydjRoNHYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFkanVzdCI+PHBhdGggZD0iTTEyIDJDNi40OSAyIDIgNi40OSAyIDEyczQuNDkgMTAgMTAgMTAgMTAtNC40OSAxMC0xMFMxNy41MSAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4em0zLThjMCAxLjY2LTEuMzQgMy0zIDNzLTMtMS4zNC0zLTMgMS4zNC0zIDMtMyAzIDEuMzQgMyAzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFzc2lzdGFudCI+PHBhdGggZD0iTTE5IDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmg0bDMgMyAzLTNoNGMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0yem0tNS4xMiAxMC44OEwxMiAxN2wtMS44OC00LjEyTDYgMTFsNC4xMi0xLjg4TDEyIDVsMS44OCA0LjEyTDE4IDExbC00LjEyIDEuODh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYXNzaXN0YW50LXBob3RvIj48cGF0aCBkPSJNMTQuNCA2TDE0IDRINXYxN2gydi03aDUuNmwuNCAyaDdWNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJhdWRpb3RyYWNrIj48cGF0aCBkPSJNMTIgM3Y5LjI4Yy0uNDctLjE3LS45Ny0uMjgtMS41LS4yOEM4LjAxIDEyIDYgMTQuMDEgNiAxNi41UzguMDEgMjEgMTAuNSAyMWMyLjMxIDAgNC4yLTEuNzUgNC40NS00SDE1VjZoNFYzaC03eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJsdXItY2lyY3VsYXIiPjxwYXRoIGQ9Ik0xMCA5Yy0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMS0uNDUtMS0xLTF6bTAgNGMtLjU1IDAtMSAuNDUtMSAxcy40NSAxIDEgMSAxLS40NSAxLTEtLjQ1LTEtMS0xek03IDkuNWMtLjI4IDAtLjUuMjItLjUuNXMuMjIuNS41LjUuNS0uMjIuNS0uNS0uMjItLjUtLjUtLjV6bTMgN2MtLjI4IDAtLjUuMjItLjUuNXMuMjIuNS41LjUuNS0uMjIuNS0uNS0uMjItLjUtLjUtLjV6bS0zLTNjLS4yOCAwLS41LjIyLS41LjVzLjIyLjUuNS41LjUtLjIyLjUtLjUtLjIyLS41LS41LS41em0zLTZjLjI4IDAgLjUtLjIyLjUtLjVzLS4yMi0uNS0uNS0uNS0uNS4yMi0uNS41LjIyLjUuNS41ek0xNCA5Yy0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMS0uNDUtMS0xLTF6bTAtMS41Yy4yOCAwIC41LS4yMi41LS41cy0uMjItLjUtLjUtLjUtLjUuMjItLjUuNS4yMi41LjUuNXptMyA2Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXptMC00Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXpNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MiAwLTgtMy41OC04LThzMy41OC04IDgtOCA4IDMuNTggOCA4LTMuNTggOC04IDh6bTItMy41Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXptMC0zLjVjLS41NSAwLTEgLjQ1LTEgMXMuNDUgMSAxIDEgMS0uNDUgMS0xLS40NS0xLTEtMXoiPjwvcGF0aD48L2c+CjxnIGlkPSJibHVyLWxpbmVhciI+PHBhdGggZD0iTTUgMTcuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVzLS42Ny0xLjUtMS41LTEuNS0xLjUuNjctMS41IDEuNS42NyAxLjUgMS41IDEuNXpNOSAxM2MuNTUgMCAxLS40NSAxLTFzLS40NS0xLTEtMS0xIC40NS0xIDEgLjQ1IDEgMSAxem0wLTRjLjU1IDAgMS0uNDUgMS0xcy0uNDUtMS0xLTEtMSAuNDUtMSAxIC40NSAxIDEgMXpNMyAyMWgxOHYtMkgzdjJ6TTUgOS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVM1LjgzIDYuNSA1IDYuNSAzLjUgNy4xNyAzLjUgOCA0LjE3IDkuNSA1IDkuNXptMCA0Yy44MyAwIDEuNS0uNjcgMS41LTEuNXMtLjY3LTEuNS0xLjUtMS41LTEuNS42Ny0xLjUgMS41LjY3IDEuNSAxLjUgMS41ek05IDE3Yy41NSAwIDEtLjQ1IDEtMXMtLjQ1LTEtMS0xLTEgLjQ1LTEgMSAuNDUgMSAxIDF6bTgtLjVjLjI4IDAgLjUtLjIyLjUtLjVzLS4yMi0uNS0uNS0uNS0uNS4yMi0uNS41LjIyLjUuNS41ek0zIDN2MmgxOFYzSDN6bTE0IDUuNWMuMjggMCAuNS0uMjIuNS0uNXMtLjIyLS41LS41LS41LS41LjIyLS41LjUuMjIuNS41LjV6bTAgNGMuMjggMCAuNS0uMjIuNS0uNXMtLjIyLS41LS41LS41LS41LjIyLS41LjUuMjIuNS41LjV6TTEzIDljLjU1IDAgMS0uNDUgMS0xcy0uNDUtMS0xLTEtMSAuNDUtMSAxIC40NSAxIDEgMXptMCA0Yy41NSAwIDEtLjQ1IDEtMXMtLjQ1LTEtMS0xLTEgLjQ1LTEgMSAuNDUgMSAxIDF6bTAgNGMuNTUgMCAxLS40NSAxLTFzLS40NS0xLTEtMS0xIC40NS0xIDEgLjQ1IDEgMSAxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJsdXItb2ZmIj48cGF0aCBkPSJNMTQgN2MuNTUgMCAxLS40NSAxLTFzLS40NS0xLTEtMS0xIC40NS0xIDEgLjQ1IDEgMSAxem0tLjIgNC40OGwuMi4wMmMuODMgMCAxLjUtLjY3IDEuNS0xLjVzLS42Ny0xLjUtMS41LTEuNS0xLjUuNjctMS41IDEuNWwuMDIuMmMuMDkuNjcuNjEgMS4xOSAxLjI4IDEuMjh6TTE0IDMuNWMuMjggMCAuNS0uMjIuNS0uNXMtLjIyLS41LS41LS41LS41LjIyLS41LjUuMjIuNS41LjV6bS00IDBjLjI4IDAgLjUtLjIyLjUtLjVzLS4yMi0uNS0uNS0uNS0uNS4yMi0uNS41LjIyLjUuNS41em0xMSA3Yy4yOCAwIC41LS4yMi41LS41cy0uMjItLjUtLjUtLjUtLjUuMjItLjUuNS4yMi41LjUuNXpNMTAgN2MuNTUgMCAxLS40NSAxLTFzLS40NS0xLTEtMS0xIC40NS0xIDEgLjQ1IDEgMSAxem04IDhjLjU1IDAgMS0uNDUgMS0xcy0uNDUtMS0xLTEtMSAuNDUtMSAxIC40NSAxIDEgMXptMC00Yy41NSAwIDEtLjQ1IDEtMXMtLjQ1LTEtMS0xLTEgLjQ1LTEgMSAuNDUgMSAxIDF6bTAtNGMuNTUgMCAxLS40NSAxLTFzLS40NS0xLTEtMS0xIC40NS0xIDEgLjQ1IDEgMSAxem0tNCAxMy41Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXpNMi41IDUuMjdsMy43OCAzLjc4TDYgOWMtLjU1IDAtMSAuNDUtMSAxcy40NSAxIDEgMSAxLS40NSAxLTFjMC0uMS0uMDMtLjE5LS4wNi0uMjhsMi44MSAyLjgxYy0uNzEuMTEtMS4yNS43My0xLjI1IDEuNDcgMCAuODMuNjcgMS41IDEuNSAxLjUuNzQgMCAxLjM2LS41NCAxLjQ3LTEuMjVsMi44MSAyLjgxYy0uMDktLjAzLS4xOC0uMDYtLjI4LS4wNi0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMWMwLS4xLS4wMy0uMTktLjA2LS4yOGwzLjc4IDMuNzhMMjAgMjAuMjMgMy43NyA0IDIuNSA1LjI3ek0xMCAxN2MtLjU1IDAtMSAuNDUtMSAxcy40NSAxIDEgMSAxLS40NSAxLTEtLjQ1LTEtMS0xem0xMS0zLjVjLS4yOCAwLS41LjIyLS41LjVzLjIyLjUuNS41LjUtLjIyLjUtLjUtLjIyLS41LS41LS41ek02IDEzYy0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMS0uNDUtMS0xLTF6TTMgOS41Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXptNyAxMWMtLjI4IDAtLjUuMjItLjUuNXMuMjIuNS41LjUuNS0uMjIuNS0uNS0uMjItLjUtLjUtLjV6TTYgMTdjLS41NSAwLTEgLjQ1LTEgMXMuNDUgMSAxIDEgMS0uNDUgMS0xLS40NS0xLTEtMXptLTMtMy41Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJibHVyLW9uIj48cGF0aCBkPSJNNiAxM2MtLjU1IDAtMSAuNDUtMSAxcy40NSAxIDEgMSAxLS40NSAxLTEtLjQ1LTEtMS0xem0wIDRjLS41NSAwLTEgLjQ1LTEgMXMuNDUgMSAxIDEgMS0uNDUgMS0xLS40NS0xLTEtMXptMC04Yy0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMS0uNDUtMS0xLTF6bS0zIC41Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXpNNiA1Yy0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMS0uNDUtMS0xLTF6bTE1IDUuNWMuMjggMCAuNS0uMjIuNS0uNXMtLjIyLS41LS41LS41LS41LjIyLS41LjUuMjIuNS41LjV6TTE0IDdjLjU1IDAgMS0uNDUgMS0xcy0uNDUtMS0xLTEtMSAuNDUtMSAxIC40NSAxIDEgMXptMC0zLjVjLjI4IDAgLjUtLjIyLjUtLjVzLS4yMi0uNS0uNS0uNS0uNS4yMi0uNS41LjIyLjUuNS41em0tMTEgMTBjLS4yOCAwLS41LjIyLS41LjVzLjIyLjUuNS41LjUtLjIyLjUtLjUtLjIyLS41LS41LS41em03IDdjLS4yOCAwLS41LjIyLS41LjVzLjIyLjUuNS41LjUtLjIyLjUtLjUtLjIyLS41LS41LS41em0wLTE3Yy4yOCAwIC41LS4yMi41LS41cy0uMjItLjUtLjUtLjUtLjUuMjItLjUuNS4yMi41LjUuNXpNMTAgN2MuNTUgMCAxLS40NSAxLTFzLS40NS0xLTEtMS0xIC40NS0xIDEgLjQ1IDEgMSAxem0wIDUuNWMtLjgzIDAtMS41LjY3LTEuNSAxLjVzLjY3IDEuNSAxLjUgMS41IDEuNS0uNjcgMS41LTEuNS0uNjctMS41LTEuNS0xLjV6bTggLjVjLS41NSAwLTEgLjQ1LTEgMXMuNDUgMSAxIDEgMS0uNDUgMS0xLS40NS0xLTEtMXptMCA0Yy0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMS0uNDUtMS0xLTF6bTAtOGMtLjU1IDAtMSAuNDUtMSAxcy40NSAxIDEgMSAxLS40NSAxLTEtLjQ1LTEtMS0xem0wLTRjLS41NSAwLTEgLjQ1LTEgMXMuNDUgMSAxIDEgMS0uNDUgMS0xLS40NS0xLTEtMXptMyA4LjVjLS4yOCAwLS41LjIyLS41LjVzLjIyLjUuNS41LjUtLjIyLjUtLjUtLjIyLS41LS41LS41ek0xNCAxN2MtLjU1IDAtMSAuNDUtMSAxcy40NSAxIDEgMSAxLS40NSAxLTEtLjQ1LTEtMS0xem0wIDMuNWMtLjI4IDAtLjUuMjItLjUuNXMuMjIuNS41LjUuNS0uMjIuNS0uNS0uMjItLjUtLjUtLjV6bS00LTEyYy0uODMgMC0xLjUuNjctMS41IDEuNXMuNjcgMS41IDEuNSAxLjUgMS41LS42NyAxLjUtMS41LS42Ny0xLjUtMS41LTEuNXptMCA4LjVjLS41NSAwLTEgLjQ1LTEgMXMuNDUgMSAxIDEgMS0uNDUgMS0xLS40NS0xLTEtMXptNC00LjVjLS44MyAwLTEuNS42Ny0xLjUgMS41cy42NyAxLjUgMS41IDEuNSAxLjUtLjY3IDEuNS0xLjUtLjY3LTEuNS0xLjUtMS41em0wLTRjLS44MyAwLTEuNS42Ny0xLjUgMS41cy42NyAxLjUgMS41IDEuNSAxLjUtLjY3IDEuNS0xLjUtLjY3LTEuNS0xLjUtMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJyaWdodG5lc3MtMSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPjwvZz4KPGcgaWQ9ImJyaWdodG5lc3MtMiI+PHBhdGggZD0iTTEwIDJjLTEuODIgMC0zLjUzLjUtNSAxLjM1QzcuOTkgNS4wOCAxMCA4LjMgMTAgMTJzLTIuMDEgNi45Mi01IDguNjVDNi40NyAyMS41IDguMTggMjIgMTAgMjJjNS41MiAwIDEwLTQuNDggMTAtMTBTMTUuNTIgMiAxMCAyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJyaWdodG5lc3MtMyI+PHBhdGggZD0iTTkgMmMtMS4wNSAwLTIuMDUuMTYtMyAuNDYgNC4wNiAxLjI3IDcgNS4wNiA3IDkuNTQgMCA0LjQ4LTIuOTQgOC4yNy03IDkuNTQuOTUuMyAxLjk1LjQ2IDMgLjQ2IDUuNTIgMCAxMC00LjQ4IDEwLTEwUzE0LjUyIDIgOSAyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJyaWdodG5lc3MtNCI+PHBhdGggZD0iTTIwIDguNjlWNGgtNC42OUwxMiAuNjkgOC42OSA0SDR2NC42OUwuNjkgMTIgNCAxNS4zMVYyMGg0LjY5TDEyIDIzLjMxIDE1LjMxIDIwSDIwdi00LjY5TDIzLjMxIDEyIDIwIDguNjl6TTEyIDE4Yy0uODkgMC0xLjc0LS4yLTIuNS0uNTVDMTEuNTYgMTYuNSAxMyAxNC40MiAxMyAxMnMtMS40NC00LjUtMy41LTUuNDVDMTAuMjYgNi4yIDExLjExIDYgMTIgNmMzLjMxIDAgNiAyLjY5IDYgNnMtMi42OSA2LTYgNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJicmlnaHRuZXNzLTUiPjxwYXRoIGQ9Ik0yMCAxNS4zMUwyMy4zMSAxMiAyMCA4LjY5VjRoLTQuNjlMMTIgLjY5IDguNjkgNEg0djQuNjlMLjY5IDEyIDQgMTUuMzFWMjBoNC42OUwxMiAyMy4zMSAxNS4zMSAyMEgyMHYtNC42OXpNMTIgMThjLTMuMzEgMC02LTIuNjktNi02czIuNjktNiA2LTYgNiAyLjY5IDYgNi0yLjY5IDYtNiA2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJyaWdodG5lc3MtNiI+PHBhdGggZD0iTTIwIDE1LjMxTDIzLjMxIDEyIDIwIDguNjlWNGgtNC42OUwxMiAuNjkgOC42OSA0SDR2NC42OUwuNjkgMTIgNCAxNS4zMVYyMGg0LjY5TDEyIDIzLjMxIDE1LjMxIDIwSDIwdi00LjY5ek0xMiAxOFY2YzMuMzEgMCA2IDIuNjkgNiA2cy0yLjY5IDYtNiA2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJyaWdodG5lc3MtNyI+PHBhdGggZD0iTTIwIDguNjlWNGgtNC42OUwxMiAuNjkgOC42OSA0SDR2NC42OUwuNjkgMTIgNCAxNS4zMVYyMGg0LjY5TDEyIDIzLjMxIDE1LjMxIDIwSDIwdi00LjY5TDIzLjMxIDEyIDIwIDguNjl6TTEyIDE4Yy0zLjMxIDAtNi0yLjY5LTYtNnMyLjY5LTYgNi02IDYgMi42OSA2IDYtMi42OSA2LTYgNnptMC0xMGMtMi4yMSAwLTQgMS43OS00IDRzMS43OSA0IDQgNCA0LTEuNzkgNC00LTEuNzktNC00LTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYnJva2VuLWltYWdlIj48cGF0aCBkPSJNMjEgNXY2LjU5bC0zLTMuMDEtNCA0LjAxLTQtNC00IDQtMy0zLjAxVjVjMC0xLjEuOS0yIDItMmgxNGMxLjEgMCAyIC45IDIgMnptLTMgNi40MmwzIDMuMDFWMTljMCAxLjEtLjkgMi0yIDJINWMtMS4xIDAtMi0uOS0yLTJ2LTYuNThsMyAyLjk5IDQtNCA0IDQgNC0zLjk5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJydXNoIj48cGF0aCBkPSJNNyAxNGMtMS42NiAwLTMgMS4zNC0zIDMgMCAxLjMxLTEuMTYgMi0yIDIgLjkyIDEuMjIgMi40OSAyIDQgMiAyLjIxIDAgNC0xLjc5IDQtNCAwLTEuNjYtMS4zNC0zLTMtM3ptMTMuNzEtOS4zN2wtMS4zNC0xLjM0Yy0uMzktLjM5LTEuMDItLjM5LTEuNDEgMEw5IDEyLjI1IDExLjc1IDE1bDguOTYtOC45NmMuMzktLjM5LjM5LTEuMDIgMC0xLjQxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJ1cnN0LW1vZGUiPjxwYXRoIGQ9Ik0xIDVoMnYxNEgxem00IDBoMnYxNEg1em0xNyAwSDEwYy0uNTUgMC0xIC40NS0xIDF2MTJjMCAuNTUuNDUgMSAxIDFoMTJjLjU1IDAgMS0uNDUgMS0xVjZjMC0uNTUtLjQ1LTEtMS0xek0xMSAxN2wyLjUtMy4xNUwxNS4yOSAxNmwyLjUtMy4yMkwyMSAxN0gxMXoiPjwvcGF0aD48L2c+CjxnIGlkPSJjYW1lcmEiPjxwYXRoIGQ9Ik05LjQgMTAuNWw0Ljc3LTguMjZDMTMuNDcgMi4wOSAxMi43NSAyIDEyIDJjLTIuNCAwLTQuNi44NS02LjMyIDIuMjVsMy42NiA2LjM1LjA2LS4xek0yMS41NCA5Yy0uOTItMi45Mi0zLjE1LTUuMjYtNi02LjM0TDExLjg4IDloOS42NnptLjI2IDFoLTcuNDlsLjI5LjUgNC43NiA4LjI1QzIxIDE2Ljk3IDIyIDE0LjYxIDIyIDEyYzAtLjY5LS4wNy0xLjM1LS4yLTJ6TTguNTQgMTJsLTMuOS02Ljc1QzMuMDEgNy4wMyAyIDkuMzkgMiAxMmMwIC42OS4wNyAxLjM1LjIgMmg3LjQ5bC0xLjE1LTJ6bS02LjA4IDNjLjkyIDIuOTIgMy4xNSA1LjI2IDYgNi4zNEwxMi4xMiAxNUgyLjQ2em0xMS4yNyAwbC0zLjkgNi43NmMuNy4xNSAxLjQyLjI0IDIuMTcuMjQgMi40IDAgNC42LS44NSA2LjMyLTIuMjVsLTMuNjYtNi4zNS0uOTMgMS42eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNhbWVyYS1hbHQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMuMiI+PC9jaXJjbGU+PHBhdGggZD0iTTkgMkw3LjE3IDRINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yaC0zLjE3TDE1IDJIOXptMyAxNWMtMi43NiAwLTUtMi4yNC01LTVzMi4yNC01IDUtNSA1IDIuMjQgNSA1LTIuMjQgNS01IDV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2FtZXJhLWZyb250Ij48cGF0aCBkPSJNMTAgMjBINXYyaDV2MmwzLTMtMy0zdjJ6bTQgMHYyaDV2LTJoLTV6TTEyIDhjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0yLTEuOTkuOS0xLjk5IDJTMTAuOSA4IDEyIDh6bTUtOEg3QzUuOSAwIDUgLjkgNSAydjE0YzAgMS4xLjkgMiAyIDJoMTBjMS4xIDAgMi0uOSAyLTJWMmMwLTEuMS0uOS0yLTItMnpNNyAyaDEwdjEwLjVjMC0xLjY3LTMuMzMtMi41LTUtMi41cy01IC44My01IDIuNVYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNhbWVyYS1yZWFyIj48cGF0aCBkPSJNMTAgMjBINXYyaDV2MmwzLTMtMy0zdjJ6bTQgMHYyaDV2LTJoLTV6bTMtMjBIN0M1LjkgMCA1IC45IDUgMnYxNGMwIDEuMS45IDIgMiAyaDEwYzEuMSAwIDItLjkgMi0yVjJjMC0xLjEtLjktMi0yLTJ6bS01IDZjLTEuMTEgMC0yLS45LTItMnMuODktMiAxLjk5LTIgMiAuOSAyIDJDMTQgNS4xIDEzLjEgNiAxMiA2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNhbWVyYS1yb2xsIj48cGF0aCBkPSJNMTQgNWMwLTEuMS0uOS0yLTItMmgtMVYyYzAtLjU1LS40NS0xLTEtMUg2Yy0uNTUgMC0xIC40NS0xIDF2MUg0Yy0xLjEgMC0yIC45LTIgMnYxNWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJoOFY1aC04em0tMiAxM2gtMnYtMmgydjJ6bTAtOWgtMlY3aDJ2MnptNCA5aC0ydi0yaDJ2MnptMC05aC0yVjdoMnYyem00IDloLTJ2LTJoMnYyem0wLTloLTJWN2gydjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2VudGVyLWZvY3VzLXN0cm9uZyI+PHBhdGggZD0iTTEyIDhjLTIuMjEgMC00IDEuNzktNCA0czEuNzkgNCA0IDQgNC0xLjc5IDQtNC0xLjc5LTQtNC00em0tNyA3SDN2NGMwIDEuMS45IDIgMiAyaDR2LTJINXYtNHpNNSA1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnY0aDJWNXptMTQtMmgtNHYyaDR2NGgyVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2VudGVyLWZvY3VzLXdlYWsiPjxwYXRoIGQ9Ik01IDE1SDN2NGMwIDEuMS45IDIgMiAyaDR2LTJINXYtNHpNNSA1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnY0aDJWNXptMTQtMmgtNHYyaDR2NGgyVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6TTEyIDhjLTIuMjEgMC00IDEuNzktNCA0czEuNzkgNCA0IDQgNC0xLjc5IDQtNC0xLjc5LTQtNC00em0wIDZjLTEuMSAwLTItLjktMi0ycy45LTIgMi0yIDIgLjkgMiAyLS45IDItMiAyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNvbGxlY3Rpb25zIj48cGF0aCBkPSJNMjIgMTZWNGMwLTEuMS0uOS0yLTItMkg4Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yem0tMTEtNGwyLjAzIDIuNzFMMTYgMTFsNCA1SDhsMy00ek0yIDZ2MTRjMCAxLjEuOSAyIDIgMmgxNHYtMkg0VjZIMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJjb2xsZWN0aW9ucy1ib29rbWFyayI+PHBhdGggZD0iTTQgNkgydjE0YzAgMS4xLjkgMiAyIDJoMTR2LTJINFY2em0xNi00SDhjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnptMCAxMGwtMi41LTEuNUwxNSAxMlY0aDV2OHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjb2xvci1sZW5zIj48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNvbG9yaXplIj48cGF0aCBkPSJNMjAuNzEgNS42M2wtMi4zNC0yLjM0Yy0uMzktLjM5LTEuMDItLjM5LTEuNDEgMGwtMy4xMiAzLjEyLTEuOTMtMS45MS0xLjQxIDEuNDEgMS40MiAxLjQyTDMgMTYuMjVWMjFoNC43NWw4LjkyLTguOTIgMS40MiAxLjQyIDEuNDEtMS40MS0xLjkyLTEuOTIgMy4xMi0zLjEyYy40LS40LjQtMS4wMy4wMS0xLjQyek02LjkyIDE5TDUgMTcuMDhsOC4wNi04LjA2IDEuOTIgMS45Mkw2LjkyIDE5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNvbXBhcmUiPjxwYXRoIGQ9Ik0xMCAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoNXYyaDJWMWgtMnYyem0wIDE1SDVsNS02djZ6bTktMTVoLTV2Mmg1djEzbC01LTZ2OWg1YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY29udHJvbC1wb2ludCI+PHBhdGggZD0iTTEzIDdoLTJ2NEg3djJoNHY0aDJ2LTRoNHYtMmgtNFY3em0tMS01QzYuNDkgMiAyIDYuNDkgMiAxMnM0LjQ5IDEwIDEwIDEwIDEwLTQuNDkgMTAtMTBTMTcuNTEgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjb250cm9sLXBvaW50LWR1cGxpY2F0ZSI+PHBhdGggZD0iTTE2IDhoLTJ2M2gtM3YyaDN2M2gydi0zaDN2LTJoLTN6TTIgMTJjMC0yLjc5IDEuNjQtNS4yIDQuMDEtNi4zMlYzLjUyQzIuNTIgNC43NiAwIDguMDkgMCAxMnMyLjUyIDcuMjQgNi4wMSA4LjQ4di0yLjE2QzMuNjQgMTcuMiAyIDE0Ljc5IDIgMTJ6bTEzLTljLTQuOTYgMC05IDQuMDQtOSA5czQuMDQgOSA5IDkgOS00LjA0IDktOS00LjA0LTktOS05em0wIDE2Yy0zLjg2IDAtNy0zLjE0LTctN3MzLjE0LTcgNy03IDcgMy4xNCA3IDctMy4xNCA3LTcgN3oiPjwvcGF0aD48L2c+CjxnIGlkPSJjcm9wIj48cGF0aCBkPSJNMTcgMTVoMlY3YzAtMS4xLS45LTItMi0ySDl2Mmg4djh6TTcgMTdWMUg1djRIMXYyaDR2MTBjMCAxLjEuOSAyIDIgMmgxMHY0aDJ2LTRoNHYtMkg3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNyb3AtMTYtOSI+PHBhdGggZD0iTTE5IDZINWMtMS4xIDAtMiAuOS0yIDJ2OGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bTAgMTBINVY4aDE0djh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC0zLTIiPjxwYXRoIGQ9Ik0xOSA0SDVjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptMCAxNEg1VjZoMTR2MTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC01LTQiPjxwYXRoIGQ9Ik0xOSA1SDVjLTEuMSAwLTIgLjktMiAydjEwYzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWN2MwLTEuMS0uOS0yLTItMnptMCAxMkg1VjdoMTR2MTB6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC03LTUiPjxwYXRoIGQ9Ik0xOSA3SDVjLTEuMSAwLTIgLjktMiAydjZjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY5YzAtMS4xLS45LTItMi0yem0wIDhINVY5aDE0djZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC1kaW4iPjxwYXRoIGQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNkg1VjVoMTR2MTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC1mcmVlIj48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNyb3AtbGFuZHNjYXBlIj48cGF0aCBkPSJNMTkgNUg1Yy0xLjEgMC0yIC45LTIgMnYxMGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdjMC0xLjEtLjktMi0yLTJ6bTAgMTJINVY3aDE0djEweiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNyb3Atb3JpZ2luYWwiPjxwYXRoIGQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNkg1VjVoMTR2MTR6bS01LjA0LTYuNzFsLTIuNzUgMy41NC0xLjk2LTIuMzZMNi41IDE3aDExbC0zLjU0LTQuNzF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC1wb3J0cmFpdCI+PHBhdGggZD0iTTE3IDNIN2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxMGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDdWNWgxMHYxNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjcm9wLXJvdGF0ZSI+PHBhdGggZD0iTTcuNDcgMjEuNDlDNC4yIDE5LjkzIDEuODYgMTYuNzYgMS41IDEzSDBjLjUxIDYuMTYgNS42NiAxMSAxMS45NSAxMSAuMjMgMCAuNDQtLjAyLjY2LS4wM0w4LjggMjAuMTVsLTEuMzMgMS4zNHpNMTIuMDUgMGMtLjIzIDAtLjQ0LjAyLS42Ni4wNGwzLjgxIDMuODEgMS4zMy0xLjMzQzE5LjggNC4wNyAyMi4xNCA3LjI0IDIyLjUgMTFIMjRjLS41MS02LjE2LTUuNjYtMTEtMTEuOTUtMTF6TTE2IDE0aDJWOGMwLTEuMTEtLjktMi0yLTJoLTZ2Mmg2djZ6bS04IDJWNEg2djJINHYyaDJ2OGMwIDEuMS44OSAyIDIgMmg4djJoMnYtMmgydi0ySDh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC1zcXVhcmUiPjxwYXRoIGQ9Ik0xOCA0SDZjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptMCAxNEg2VjZoMTJ2MTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZGVoYXplIj48cGF0aCBkPSJNMiAxNS41djJoMjB2LTJIMnptMC01djJoMjB2LTJIMnptMC01djJoMjB2LTJIMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJkZXRhaWxzIj48cGF0aCBkPSJNMyA0bDkgMTYgOS0xNkgzem0zLjM4IDJoMTEuMjVMMTIgMTYgNi4zOCA2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImVkaXQiPjxwYXRoIGQ9Ik0zIDE3LjI1VjIxaDMuNzVMMTcuODEgOS45NGwtMy43NS0zLjc1TDMgMTcuMjV6TTIwLjcxIDcuMDRjLjM5LS4zOS4zOS0xLjAyIDAtMS40MWwtMi4zNC0yLjM0Yy0uMzktLjM5LTEuMDItLjM5LTEuNDEgMGwtMS44MyAxLjgzIDMuNzUgMy43NSAxLjgzLTEuODN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXhwb3N1cmUiPjxwYXRoIGQ9Ik0xNSAxN3YyaDJ2LTJoMnYtMmgtMnYtMmgtMnYyaC0ydjJoMnptNS0xNUg0Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6TTUgNWg2djJINVY1em0xNSAxNUg0TDIwIDR2MTZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXhwb3N1cmUtbmVnLTEiPjxwYXRoIGQ9Ik00IDExdjJoOHYtMkg0em0xNSA3aC0yVjcuMzhMMTQgOC40VjYuN0wxOC43IDVoLjN2MTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXhwb3N1cmUtbmVnLTIiPjxwYXRoIGQ9Ik0xNS4wNSAxNi4yOWwyLjg2LTMuMDdjLjM4LS4zOS43Mi0uNzkgMS4wNC0xLjE4LjMyLS4zOS41OS0uNzguODItMS4xNy4yMy0uMzkuNDEtLjc4LjU0LTEuMTdzLjE5LS43OS4xOS0xLjE4YzAtLjUzLS4wOS0xLjAyLS4yNy0xLjQ2LS4xOC0uNDQtLjQ0LS44MS0uNzgtMS4xMS0uMzQtLjMxLS43Ny0uNTQtMS4yNi0uNzEtLjUxLS4xNi0xLjA4LS4yNC0xLjcyLS4yNC0uNjkgMC0xLjMxLjExLTEuODUuMzItLjU0LjIxLTEgLjUxLTEuMzYuODgtLjM3LjM3LS42NS44LS44NCAxLjMtLjE4LjQ3LS4yNy45Ny0uMjggMS41aDIuMTRjLjAxLS4zMS4wNS0uNi4xMy0uODcuMDktLjI5LjIzLS41NC40LS43NS4xOC0uMjEuNDEtLjM3LjY4LS40OS4yNy0uMTIuNi0uMTguOTYtLjE4LjMxIDAgLjU4LjA1LjgxLjE1LjIzLjEuNDMuMjUuNTkuNDMuMTYuMTguMjguNC4zNy42NS4wOC4yNS4xMy41Mi4xMy44MSAwIC4yMi0uMDMuNDMtLjA4LjY1LS4wNi4yMi0uMTUuNDUtLjI5LjctLjE0LjI1LS4zMi41My0uNTYuODMtLjIzLjMtLjUyLjY1LS44OCAxLjAzbC00LjE3IDQuNTVWMThIMjF2LTEuNzFoLTUuOTV6TTIgMTF2Mmg4di0ySDJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXhwb3N1cmUtcGx1cy0xIj48cGF0aCBkPSJNMTAgN0g4djRINHYyaDR2NGgydi00aDR2LTJoLTRWN3ptMTAgMTFoLTJWNy4zOEwxNSA4LjRWNi43TDE5LjcgNWguM3YxM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJleHBvc3VyZS1wbHVzLTIiPjxwYXRoIGQ9Ik0xNi4wNSAxNi4yOWwyLjg2LTMuMDdjLjM4LS4zOS43Mi0uNzkgMS4wNC0xLjE4LjMyLS4zOS41OS0uNzguODItMS4xNy4yMy0uMzkuNDEtLjc4LjU0LTEuMTcuMTMtLjM5LjE5LS43OS4xOS0xLjE4IDAtLjUzLS4wOS0xLjAyLS4yNy0xLjQ2LS4xOC0uNDQtLjQ0LS44MS0uNzgtMS4xMS0uMzQtLjMxLS43Ny0uNTQtMS4yNi0uNzEtLjUxLS4xNi0xLjA4LS4yNC0xLjcyLS4yNC0uNjkgMC0xLjMxLjExLTEuODUuMzItLjU0LjIxLTEgLjUxLTEuMzYuODgtLjM3LjM3LS42NS44LS44NCAxLjMtLjE4LjQ3LS4yNy45Ny0uMjggMS41aDIuMTRjLjAxLS4zMS4wNS0uNi4xMy0uODcuMDktLjI5LjIzLS41NC40LS43NS4xOC0uMjEuNDEtLjM3LjY4LS40OS4yNy0uMTIuNi0uMTguOTYtLjE4LjMxIDAgLjU4LjA1LjgxLjE1LjIzLjEuNDMuMjUuNTkuNDMuMTYuMTguMjguNC4zNy42NS4wOC4yNS4xMy41Mi4xMy44MSAwIC4yMi0uMDMuNDMtLjA4LjY1LS4wNi4yMi0uMTUuNDUtLjI5LjctLjE0LjI1LS4zMi41My0uNTYuODMtLjIzLjMtLjUyLjY1LS44OCAxLjAzbC00LjE3IDQuNTVWMThIMjJ2LTEuNzFoLTUuOTV6TTggN0g2djRIMnYyaDR2NGgydi00aDR2LTJIOFY3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImV4cG9zdXJlLXplcm8iPjxwYXRoIGQ9Ik0xNi4xNCAxMi41YzAgMS0uMSAxLjg1LS4zIDIuNTUtLjIuNy0uNDggMS4yNy0uODMgMS43LS4zNi40NC0uNzkuNzUtMS4zLjk1LS41MS4yLTEuMDcuMy0xLjcuMy0uNjIgMC0xLjE4LS4xLTEuNjktLjMtLjUxLS4yLS45NS0uNTEtMS4zMS0uOTUtLjM2LS40NC0uNjUtMS4wMS0uODUtMS43LS4yLS43LS4zLTEuNTUtLjMtMi41NXYtMi4wNGMwLTEgLjEtMS44NS4zLTIuNTUuMi0uNy40OC0xLjI2Ljg0LTEuNjkuMzYtLjQzLjgtLjc0IDEuMzEtLjkzQzEwLjgxIDUuMSAxMS4zOCA1IDEyIDVjLjYzIDAgMS4xOS4xIDEuNy4yOS41MS4xOS45NS41IDEuMzEuOTMuMzYuNDMuNjQuOTkuODQgMS42OS4yLjcuMyAxLjU0LjMgMi41NXYyLjA0em0tMi4xMS0yLjM2YzAtLjY0LS4wNS0xLjE4LS4xMy0xLjYyLS4wOS0uNDQtLjIyLS43OS0uNC0xLjA2LS4xNy0uMjctLjM5LS40Ni0uNjQtLjU4LS4yNS0uMTMtLjU0LS4xOS0uODYtLjE5LS4zMiAwLS42MS4wNi0uODYuMThzLS40Ny4zMS0uNjQuNThjLS4xNy4yNy0uMzEuNjItLjQgMS4wNnMtLjEzLjk4LS4xMyAxLjYydjIuNjdjMCAuNjQuMDUgMS4xOC4xNCAxLjYyLjA5LjQ1LjIzLjgxLjQgMS4wOXMuMzkuNDguNjQuNjEuNTQuMTkuODcuMTljLjMzIDAgLjYyLS4wNi44Ny0uMTlzLjQ2LS4zMy42My0uNjFjLjE3LS4yOC4zLS42NC4zOS0xLjA5LjA5LS40NS4xMy0uOTkuMTMtMS42MnYtMi42NnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXIiPjxwYXRoIGQ9Ik0xNS45NiAxMC4yOWwtMi43NSAzLjU0LTEuOTYtMi4zNkw4LjUgMTVoMTFsLTMuNTQtNC43MXpNMyA1SDF2MTZjMCAxLjEuOSAyIDIgMmgxNnYtMkgzVjV6bTE4LTRIN2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlYzYzAtMS4xLS45LTItMi0yem0wIDE2SDdWM2gxNHYxNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItMSI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xMSAxMGgyVjVoLTR2Mmgydjh6bTctMTRIN2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlYzYzAtMS4xLS45LTItMi0yem0wIDE2SDdWM2gxNHYxNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItMiI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xOC00SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6bS00LTRoLTR2LTJoMmMxLjEgMCAyLS44OSAyLTJWN2MwLTEuMTEtLjktMi0yLTJoLTR2Mmg0djJoLTJjLTEuMSAwLTIgLjg5LTIgMnY0aDZ2LTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLTMiPjxwYXRoIGQ9Ik0yMSAxSDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6TTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xNCA4di0xLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41LjgzIDAgMS41LS42NyAxLjUtMS41VjdjMC0xLjExLS45LTItMi0yaC00djJoNHYyaC0ydjJoMnYyaC00djJoNGMxLjEgMCAyLS44OSAyLTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLTQiPjxwYXRoIGQ9Ik0zIDVIMXYxNmMwIDEuMS45IDIgMiAyaDE2di0ySDNWNXptMTIgMTBoMlY1aC0ydjRoLTJWNWgtMnY2aDR2NHptNi0xNEg3Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjNjMC0xLjEtLjktMi0yLTJ6bTAgMTZIN1YzaDE0djE0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZpbHRlci01Ij48cGF0aCBkPSJNMjEgMUg3Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjNjMC0xLjEtLjktMi0yLTJ6bTAgMTZIN1YzaDE0djE0ek0zIDVIMXYxNmMwIDEuMS45IDIgMiAyaDE2di0ySDNWNXptMTQgOHYtMmMwLTEuMTEtLjktMi0yLTJoLTJWN2g0VjVoLTZ2Nmg0djJoLTR2Mmg0YzEuMSAwIDItLjg5IDItMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItNiI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xOC00SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6bS04LTJoMmMxLjEgMCAyLS44OSAyLTJ2LTJjMC0xLjExLS45LTItMi0yaC0yVjdoNFY1aC00Yy0xLjEgMC0yIC44OS0yIDJ2NmMwIDEuMTEuOSAyIDIgMnptMC00aDJ2MmgtMnYtMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItNyI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xOC00SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6bS04LTJsNC04VjVoLTZ2Mmg0bC00IDhoMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItOCI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xOC00SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6bS04LTJoMmMxLjEgMCAyLS44OSAyLTJ2LTEuNWMwLS44My0uNjctMS41LTEuNS0xLjUuODMgMCAxLjUtLjY3IDEuNS0xLjVWN2MwLTEuMTEtLjktMi0yLTJoLTJjLTEuMSAwLTIgLjg5LTIgMnYxLjVjMCAuODMuNjcgMS41IDEuNSAxLjUtLjgzIDAtMS41LjY3LTEuNSAxLjVWMTNjMCAxLjExLjkgMiAyIDJ6bTAtOGgydjJoLTJWN3ptMCA0aDJ2MmgtMnYtMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItOSI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xOC00SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6TTE1IDVoLTJjLTEuMSAwLTIgLjg5LTIgMnYyYzAgMS4xMS45IDIgMiAyaDJ2MmgtNHYyaDRjMS4xIDAgMi0uODkgMi0yVjdjMC0xLjExLS45LTItMi0yem0wIDRoLTJWN2gydjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLTktcGx1cyI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xMSA3VjhjMC0xLjExLS45LTItMi0yaC0xYy0xLjEgMC0yIC44OS0yIDJ2MWMwIDEuMTEuOSAyIDIgMmgxdjFIOXYyaDNjMS4xIDAgMi0uODkgMi0yem0tMy0zVjhoMXYxaC0xem0xMC04SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCA4aC0yVjdoLTJ2MmgtMnYyaDJ2Mmgydi0yaDJ2Nkg3VjNoMTR2NnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItYi1hbmQtdyI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2bC03LTh2OEg1bDctOFY1aDd2MTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLWNlbnRlci1mb2N1cyI+PHBhdGggZD0iTTUgMTVIM3Y0YzAgMS4xLjkgMiAyIDJoNHYtMkg1di00ek01IDVoNFYzSDVjLTEuMSAwLTIgLjktMiAydjRoMlY1em0xNC0yaC00djJoNHY0aDJWNWMwLTEuMS0uOS0yLTItMnptMCAxNmgtNHYyaDRjMS4xIDAgMi0uOSAyLTJ2LTRoLTJ2NHpNMTIgOWMtMS42NiAwLTMgMS4zNC0zIDNzMS4zNCAzIDMgMyAzLTEuMzQgMy0zLTEuMzQtMy0zLTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLWRyYW1hIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNjEgNS42NCA1LjM2IDguMDQgMi4zNSA4LjM2IDAgMTAuOSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0xOSAxOEg2Yy0yLjIxIDAtNC0xLjc5LTQtNHMxLjc5LTQgNC00IDQgMS43OSA0IDRoMmMwLTIuNzYtMS44Ni01LjA4LTQuNC01Ljc4QzguNjEgNi44OCAxMC4yIDYgMTIgNmMzLjAzIDAgNS41IDIuNDcgNS41IDUuNXYuNUgxOWMxLjY1IDAgMyAxLjM1IDMgM3MtMS4zNSAzLTMgM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItZnJhbWVzIj48cGF0aCBkPSJNMjAgNGgtNGwtNC00LTQgNEg0Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJ6bTAgMTZINFY2aDQuNTJsMy41Mi0zLjVMMTUuNTIgNkgyMHYxNHpNMTggOEg2djEwaDEyIj48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLWhkciI+PHBhdGggZD0iTTE0IDZsLTMuNzUgNSAyLjg1IDMuOC0xLjYgMS4yQzkuODEgMTMuNzUgNyAxMCA3IDEwbC02IDhoMjJMMTQgNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItbm9uZSI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xOC00SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLXRpbHQtc2hpZnQiPjxwYXRoIGQ9Ik0xMSA0LjA3VjIuMDVjLTIuMDEuMi0zLjg0IDEtNS4zMiAyLjIxTDcuMSA1LjY5YzEuMTEtLjg2IDIuNDQtMS40NCAzLjktMS42MnptNy4zMi4xOUMxNi44NCAzLjA1IDE1LjAxIDIuMjUgMTMgMi4wNXYyLjAyYzEuNDYuMTggMi43OS43NiAzLjkgMS42MmwxLjQyLTEuNDN6TTE5LjkzIDExaDIuMDJjLS4yLTIuMDEtMS0zLjg0LTIuMjEtNS4zMkwxOC4zMSA3LjFjLjg2IDEuMTEgMS40NCAyLjQ0IDEuNjIgMy45ek01LjY5IDcuMUw0LjI2IDUuNjhDMy4wNSA3LjE2IDIuMjUgOC45OSAyLjA1IDExaDIuMDJjLjE4LTEuNDYuNzYtMi43OSAxLjYyLTMuOXpNNC4wNyAxM0gyLjA1Yy4yIDIuMDEgMSAzLjg0IDIuMjEgNS4zMmwxLjQzLTEuNDNjLS44Ni0xLjEtMS40NC0yLjQzLTEuNjItMy44OXpNMTUgMTJjMC0xLjY2LTEuMzQtMy0zLTNzLTMgMS4zNC0zIDMgMS4zNCAzIDMgMyAzLTEuMzQgMy0zem0zLjMxIDQuOWwxLjQzIDEuNDNjMS4yMS0xLjQ4IDIuMDEtMy4zMiAyLjIxLTUuMzJoLTIuMDJjLS4xOCAxLjQ1LS43NiAyLjc4LTEuNjIgMy44OXpNMTMgMTkuOTN2Mi4wMmMyLjAxLS4yIDMuODQtMSA1LjMyLTIuMjFsLTEuNDMtMS40M2MtMS4xLjg2LTIuNDMgMS40NC0zLjg5IDEuNjJ6bS03LjMyLS4xOUM3LjE2IDIwLjk1IDkgMjEuNzUgMTEgMjEuOTV2LTIuMDJjLTEuNDYtLjE4LTIuNzktLjc2LTMuOS0xLjYybC0xLjQyIDEuNDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLXZpbnRhZ2UiPjxwYXRoIGQ9Ik0xOC43IDEyLjRjLS4yOC0uMTYtLjU3LS4yOS0uODYtLjQuMjktLjExLjU4LS4yNC44Ni0uNCAxLjkyLTEuMTEgMi45OS0zLjEyIDMtNS4xOS0xLjc5LTEuMDMtNC4wNy0xLjExLTYgMC0uMjguMTYtLjU0LjM1LS43OC41NC4wNS0uMzEuMDgtLjYzLjA4LS45NSAwLTIuMjItMS4yMS00LjE1LTMtNS4xOUMxMC4yMSAxLjg1IDkgMy43OCA5IDZjMCAuMzIuMDMuNjQuMDguOTUtLjI0LS4yLS41LS4zOS0uNzgtLjU1LTEuOTItMS4xMS00LjItMS4wMy02IDAgMCAyLjA3IDEuMDcgNC4wOCAzIDUuMTkuMjguMTYuNTcuMjkuODYuNC0uMjkuMTEtLjU4LjI0LS44Ni40LTEuOTIgMS4xMS0yLjk5IDMuMTItMyA1LjE5IDEuNzkgMS4wMyA0LjA3IDEuMTEgNiAwIC4yOC0uMTYuNTQtLjM1Ljc4LS41NC0uMDUuMzItLjA4LjY0LS4wOC45NiAwIDIuMjIgMS4yMSA0LjE1IDMgNS4xOSAxLjc5LTEuMDQgMy0yLjk3IDMtNS4xOSAwLS4zMi0uMDMtLjY0LS4wOC0uOTUuMjQuMi41LjM4Ljc4LjU0IDEuOTIgMS4xMSA0LjIgMS4wMyA2IDAtLjAxLTIuMDctMS4wOC00LjA4LTMtNS4xOXpNMTIgMTZjLTIuMjEgMC00LTEuNzktNC00czEuNzktNCA0LTQgNCAxLjc5IDQgNC0xLjc5IDQtNCA0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZsYXJlIj48cGF0aCBkPSJNNyAxMUgxdjJoNnYtMnptMi4xNy0zLjI0TDcuMDUgNS42NCA1LjY0IDcuMDVsMi4xMiAyLjEyIDEuNDEtMS40MXpNMTMgMWgtMnY2aDJWMXptNS4zNiA2LjA1bC0xLjQxLTEuNDEtMi4xMiAyLjEyIDEuNDEgMS40MSAyLjEyLTIuMTJ6TTE3IDExdjJoNnYtMmgtNnptLTUtMmMtMS42NiAwLTMgMS4zNC0zIDNzMS4zNCAzIDMgMyAzLTEuMzQgMy0zLTEuMzQtMy0zLTN6bTIuODMgNy4yNGwyLjEyIDIuMTIgMS40MS0xLjQxLTIuMTItMi4xMi0xLjQxIDEuNDF6bS05LjE5LjcxbDEuNDEgMS40MSAyLjEyLTIuMTItMS40MS0xLjQxLTIuMTIgMi4xMnpNMTEgMjNoMnYtNmgtMnY2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZsYXNoLWF1dG8iPjxwYXRoIGQ9Ik0zIDJ2MTJoM3Y5bDctMTJIOWw0LTlIM3ptMTYgMGgtMmwtMy4yIDloMS45bC43LTJoMy4ybC43IDJoMS45TDE5IDJ6bS0yLjE1IDUuNjVMMTggNGwxLjE1IDMuNjVoLTIuM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJmbGFzaC1vZmYiPjxwYXRoIGQ9Ik0zLjI3IDNMMiA0LjI3bDUgNVYxM2gzdjlsMy41OC02LjE0TDE3LjczIDIwIDE5IDE4LjczIDMuMjcgM3pNMTcgMTBoLTRsNC04SDd2Mi4xOGw4LjQ2IDguNDZMMTcgMTB6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmxhc2gtb24iPjxwYXRoIGQ9Ik03IDJ2MTFoM3Y5bDctMTJoLTRsNC04eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZsaXAiPjxwYXRoIGQ9Ik0xNSAyMWgydi0yaC0ydjJ6bTQtMTJoMlY3aC0ydjJ6TTMgNXYxNGMwIDEuMS45IDIgMiAyaDR2LTJINVY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMTYtMnYyaDJjMC0xLjEtLjktMi0yLTJ6bS04IDIwaDJWMWgtMnYyMnptOC02aDJ2LTJoLTJ2MnpNMTUgNWgyVjNoLTJ2MnptNCA4aDJ2LTJoLTJ2MnptMCA4YzEuMSAwIDItLjkgMi0yaC0ydjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZ3JhZGllbnQiPjxwYXRoIGQ9Ik0xMSA5aDJ2MmgtMnptLTIgMmgydjJIOXptNCAwaDJ2MmgtMnptMi0yaDJ2MmgtMnpNNyA5aDJ2Mkg3em0xMi02SDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnpNOSAxOEg3di0yaDJ2MnptNCAwaC0ydi0yaDJ2MnptNCAwaC0ydi0yaDJ2MnptMi03aC0ydjJoMnYyaC0ydi0yaC0ydjJoLTJ2LTJoLTJ2Mkg5di0ySDd2Mkg1di0yaDJ2LTJINVY1aDE0djZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZ3JhaW4iPjxwYXRoIGQ9Ik0xMCAxMmMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6TTYgOGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bTAgOGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bTEyLThjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0yLTIgLjktMiAyIC45IDIgMiAyem0tNCA4Yy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptNC00Yy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptLTQtNGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bS00LTRjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImdyaWQtb2ZmIj48cGF0aCBkPSJNOCA0djEuNDVsMiAyVjRoNHY0aC0zLjQ1bDIgMkgxNHYxLjQ1bDIgMlYxMGg0djRoLTMuNDVsMiAySDIwdjEuNDVsMiAyVjRjMC0xLjEtLjktMi0yLTJINC41NWwyIDJIOHptOCAwaDR2NGgtNFY0ek0xLjI3IDEuMjdMMCAyLjU1bDIgMlYyMGMwIDEuMS45IDIgMiAyaDE1LjQ2bDIgMiAxLjI3LTEuMjdMMS4yNyAxLjI3ek0xMCAxMi41NUwxMS40NSAxNEgxMHYtMS40NXptLTYtNkw1LjQ1IDhINFY2LjU1ek04IDIwSDR2LTRoNHY0em0wLTZINHYtNGgzLjQ1bC41NS41NVYxNHptNiA2aC00di00aDMuNDVsLjU1LjU0VjIwem0yIDB2LTEuNDZMMTcuNDYgMjBIMTZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZ3JpZC1vbiI+PHBhdGggZD0iTTIwIDJINGMtMS4xIDAtMiAuOS0yIDJ2MTZjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0yek04IDIwSDR2LTRoNHY0em0wLTZINHYtNGg0djR6bTAtNkg0VjRoNHY0em02IDEyaC00di00aDR2NHptMC02aC00di00aDR2NHptMC02aC00VjRoNHY0em02IDEyaC00di00aDR2NHptMC02aC00di00aDR2NHptMC02aC00VjRoNHY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imhkci1vZmYiPjxwYXRoIGQ9Ik0xNy41IDE1di0yaDEuMWwuOSAySDIxbC0uOS0yLjFjLjUtLjIuOS0uOC45LTEuNHYtMWMwLS44LS43LTEuNS0xLjUtMS41SDE2djQuOWwxLjEgMS4xaC40em0wLTQuNWgydjFoLTJ2LTF6bS00LjUgMHYuNGwxLjUgMS41di0xLjljMC0uOC0uNy0xLjUtMS41LTEuNWgtMS45bDEuNSAxLjVoLjR6bS0zLjUtMWwtNy03LTEuMSAxTDYuOSA5aC0uNHYyaC0yVjlIM3Y2aDEuNXYtMi41aDJWMTVIOHYtNC45bDEuNSAxLjVWMTVoMy40bDcuNiA3LjYgMS4xLTEuMS0xMi4xLTEyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imhkci1vbiI+PHBhdGggZD0iTTIxIDExLjV2LTFjMC0uOC0uNy0xLjUtMS41LTEuNUgxNnY2aDEuNXYtMmgxLjFsLjkgMkgyMWwtLjktMi4xYy41LS4zLjktLjguOS0xLjR6bS0xLjUgMGgtMnYtMWgydjF6bS0xMy0uNWgtMlY5SDN2NmgxLjV2LTIuNWgyVjE1SDhWOUg2LjV2MnpNMTMgOUg5LjV2NkgxM2MuOCAwIDEuNS0uNyAxLjUtMS41di0zYzAtLjgtLjctMS41LTEuNS0xLjV6bTAgNC41aC0ydi0zaDJ2M3oiPjwvcGF0aD48L2c+CjxnIGlkPSJoZHItc3Ryb25nIj48cGF0aCBkPSJNMTcgNmMtMy4zMSAwLTYgMi42OS02IDZzMi42OSA2IDYgNiA2LTIuNjkgNi02LTIuNjktNi02LTZ6TTUgOGMtMi4yMSAwLTQgMS43OS00IDRzMS43OSA0IDQgNCA0LTEuNzkgNC00LTEuNzktNC00LTR6bTAgNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaGRyLXdlYWsiPjxwYXRoIGQ9Ik01IDhjLTIuMjEgMC00IDEuNzktNCA0czEuNzkgNCA0IDQgNC0xLjc5IDQtNC0xLjc5LTQtNC00em0xMi0yYy0zLjMxIDAtNiAyLjY5LTYgNnMyLjY5IDYgNiA2IDYtMi42OSA2LTYtMi42OS02LTYtNnptMCAxMGMtMi4yMSAwLTQtMS43OS00LTRzMS43OS00IDQtNCA0IDEuNzkgNCA0LTEuNzkgNC00IDR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaGVhbGluZyI+PHBhdGggZD0iTTE3LjczIDEyLjAybDMuOTgtMy45OGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC00LjM0LTQuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0zLjk4IDMuOThMOCAyLjI5QzcuOCAyLjEgNy41NSAyIDcuMjkgMmMtLjI1IDAtLjUxLjEtLjcuMjlMMi4yNSA2LjYzYy0uMzkuMzktLjM5IDEuMDIgMCAxLjQxbDMuOTggMy45OEwyLjI1IDE2Yy0uMzkuMzktLjM5IDEuMDIgMCAxLjQxbDQuMzQgNC4zNGMuMzkuMzkgMS4wMi4zOSAxLjQxIDBsMy45OC0zLjk4IDMuOTggMy45OGMuMi4yLjQ1LjI5LjcxLjI5LjI2IDAgLjUxLS4xLjcxLS4yOWw0LjM0LTQuMzRjLjM5LS4zOS4zOS0xLjAyIDAtMS40MWwtMy45OS0zLjk4ek0xMiA5Yy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bS00LjcxIDEuOTZMMy42NiA3LjM0bDMuNjMtMy42MyAzLjYyIDMuNjItMy42MiAzLjYzek0xMCAxM2MtLjU1IDAtMS0uNDUtMS0xcy40NS0xIDEtMSAxIC40NSAxIDEtLjQ1IDEtMSAxem0yIDJjLS41NSAwLTEtLjQ1LTEtMXMuNDUtMSAxLTEgMSAuNDUgMSAxLS40NSAxLTEgMXptMi00Yy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bTIuNjYgOS4zNGwtMy42My0zLjYyIDMuNjMtMy42MyAzLjYyIDMuNjItMy42MiAzLjYzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImltYWdlIj48cGF0aCBkPSJNMjEgMTlWNWMwLTEuMS0uOS0yLTItMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yek04LjUgMTMuNWwyLjUgMy4wMUwxNC41IDEybDQuNSA2SDVsMy41LTQuNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJpbWFnZS1hc3BlY3QtcmF0aW8iPjxwYXRoIGQ9Ik0xNiAxMGgtMnYyaDJ2LTJ6bTAgNGgtMnYyaDJ2LTJ6bS04LTRINnYyaDJ2LTJ6bTQgMGgtMnYyaDJ2LTJ6bTgtNkg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJ6bTAgMTRINFY2aDE2djEyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImlzbyI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yek01LjUgNy41aDJ2LTJIOXYyaDJWOUg5djJINy41VjloLTJWNy41ek0xOSAxOUg1TDE5IDV2MTR6bS0yLTJ2LTEuNWgtNVYxN2g1eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxhbmRzY2FwZSI+PHBhdGggZD0iTTE0IDZsLTMuNzUgNSAyLjg1IDMuOC0xLjYgMS4yQzkuODEgMTMuNzUgNyAxMCA3IDEwbC02IDhoMjJMMTQgNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJsZWFrLWFkZCI+PHBhdGggZD0iTTYgM0gzdjNjMS42NiAwIDMtMS4zNCAzLTN6bTggMGgtMmMwIDQuOTctNC4wMyA5LTkgOXYyYzYuMDggMCAxMS00LjkzIDExLTExem0tNCAwSDhjMCAyLjc2LTIuMjQgNS01IDV2MmMzLjg3IDAgNy0zLjEzIDctN3ptMCAxOGgyYzAtNC45NyA0LjAzLTkgOS05di0yYy02LjA3IDAtMTEgNC45My0xMSAxMXptOCAwaDN2LTNjLTEuNjYgMC0zIDEuMzQtMyAzem0tNCAwaDJjMC0yLjc2IDIuMjQtNSA1LTV2LTJjLTMuODcgMC03IDMuMTMtNyA3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxlYWstcmVtb3ZlIj48cGF0aCBkPSJNMTAgM0g4YzAgLjM3LS4wNC43Mi0uMTIgMS4wNmwxLjU5IDEuNTlDOS44MSA0Ljg0IDEwIDMuOTQgMTAgM3pNMyA0LjI3bDIuODQgMi44NEM1LjAzIDcuNjcgNC4wNiA4IDMgOHYyYzEuNjEgMCAzLjA5LS41NSA0LjI3LTEuNDZMOC43IDkuOTdDNy4xNCAxMS4yNCA1LjE2IDEyIDMgMTJ2MmMyLjcxIDAgNS4xOS0uOTkgNy4xMS0yLjYybDIuNSAyLjVDMTAuOTkgMTUuODEgMTAgMTguMjkgMTAgMjFoMmMwLTIuMTYuNzYtNC4xNCAyLjAzLTUuNjlsMS40MyAxLjQzQzE0LjU1IDE3LjkxIDE0IDE5LjM5IDE0IDIxaDJjMC0xLjA2LjMzLTIuMDMuODktMi44NEwxOS43MyAyMSAyMSAxOS43MyA0LjI3IDMgMyA0LjI3ek0xNCAzaC0yYzAgMS41LS4zNyAyLjkxLTEuMDIgNC4xNmwxLjQ2IDEuNDZDMTMuNDIgNi45OCAxNCA1LjA2IDE0IDN6bTUuOTQgMTMuMTJjLjM0LS4wOC42OS0uMTIgMS4wNi0uMTJ2LTJjLS45NCAwLTEuODQuMTktMi42Ni41MmwxLjYgMS42em0tNC41Ni00LjU2bDEuNDYgMS40NkMxOC4wOSAxMi4zNyAxOS41IDEyIDIxIDEydi0yYy0yLjA2IDAtMy45OC41OC01LjYyIDEuNTZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibGVucyI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibGlua2VkLWNhbWVyYSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxNCIgcj0iMy4yIj48L2NpcmNsZT48cGF0aCBkPSJNMTYgMy4zM2MyLjU4IDAgNC42NyAyLjA5IDQuNjcgNC42N0gyMmMwLTMuMzEtMi42OS02LTYtNnYxLjMzTTE2IDZjMS4xMSAwIDIgLjg5IDIgMmgxLjMzYzAtMS44NC0xLjQ5LTMuMzMtMy4zMy0zLjMzVjYiPjwvcGF0aD48cGF0aCBkPSJNMTcgOWMwLTEuMTEtLjg5LTItMi0yVjRIOUw3LjE3IDZINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY5aC01em0tNSAxMGMtMi43NiAwLTUtMi4yNC01LTVzMi4yNC01IDUtNSA1IDIuMjQgNSA1LTIuMjQgNS01IDV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibG9va3MiPjxwYXRoIGQ9Ik0xMiAxMGMtMy44NiAwLTcgMy4xNC03IDdoMmMwLTIuNzYgMi4yNC01IDUtNXM1IDIuMjQgNSA1aDJjMC0zLjg2LTMuMTQtNy03LTd6bTAtNEM1LjkzIDYgMSAxMC45MyAxIDE3aDJjMC00Ljk2IDQuMDQtOSA5LTlzOSA0LjA0IDkgOWgyYzAtNi4wNy00LjkzLTExLTExLTExeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imxvb2tzLTMiPjxwYXRoIGQ9Ik0xOS4wMSAzaC0xNGMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNCA3LjVjMCAuODMtLjY3IDEuNS0xLjUgMS41LjgzIDAgMS41LjY3IDEuNSAxLjVWMTVjMCAxLjExLS45IDItMiAyaC00di0yaDR2LTJoLTJ2LTJoMlY5aC00VjdoNGMxLjEgMCAyIC44OSAyIDJ2MS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imxvb2tzLTQiPjxwYXRoIGQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptLTQgMTRoLTJ2LTRIOVY3aDJ2NGgyVjdoMnYxMHoiPjwvcGF0aD48L2c+CjxnIGlkPSJsb29rcy01Ij48cGF0aCBkPSJNMTkgM0g1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS00IDZoLTR2MmgyYzEuMSAwIDIgLjg5IDIgMnYyYzAgMS4xMS0uOSAyLTIgMkg5di0yaDR2LTJIOVY3aDZ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJsb29rcy02Ij48cGF0aCBkPSJNMTEgMTVoMnYtMmgtMnYyem04LTEySDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptLTQgNmgtNHYyaDJjMS4xIDAgMiAuODkgMiAydjJjMCAxLjExLS45IDItMiAyaC0yYy0xLjEgMC0yLS44OS0yLTJWOWMwLTEuMTEuOS0yIDItMmg0djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibG9va3Mtb25lIj48cGF0aCBkPSJNMTkgM0g1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS01IDE0aC0yVjloLTJWN2g0djEweiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imxvb2tzLXR3byI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNCA4YzAgMS4xMS0uOSAyLTIgMmgtMnYyaDR2Mkg5di00YzAtMS4xMS45LTIgMi0yaDJWOUg5VjdoNGMxLjEgMCAyIC44OSAyIDJ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJsb3VwZSI+PHBhdGggZD0iTTEzIDdoLTJ2NEg3djJoNHY0aDJ2LTRoNHYtMmgtNFY3em0tMS01QzYuNDkgMiAyIDYuNDkgMiAxMnM0LjQ5IDEwIDEwIDEwaDhjMS4xIDAgMi0uOSAyLTJ2LThjMC01LjUxLTQuNDktMTAtMTAtMTB6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1vbm9jaHJvbWUtcGhvdG9zIj48cGF0aCBkPSJNMjAgNWgtMy4yTDE1IDNIOUw3LjIgNUg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjdjMC0xLjEtLjktMi0yLTJ6bTAgMTRoLTh2LTFjLTIuOCAwLTUtMi4yLTUtNXMyLjItNSA1LTVWN2g4djEyem0tMy02YzAtMi44LTIuMi01LTUtNXYxLjhjMS44IDAgMy4yIDEuNCAzLjIgMy4ycy0xLjQgMy4yLTMuMiAzLjJWMThjMi44IDAgNS0yLjIgNS01em0tOC4yIDBjMCAxLjggMS40IDMuMiAzLjIgMy4yVjkuOGMtMS44IDAtMy4yIDEuNC0zLjIgMy4yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1vdmllLWNyZWF0aW9uIj48cGF0aCBkPSJNMTggNGwyIDRoLTNsLTItNGgtMmwyIDRoLTNsLTItNEg4bDIgNEg3TDUgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY0aC00eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1vdmllLWZpbHRlciI+PHBhdGggZD0iTTE4IDRsMiAzaC0zbC0yLTNoLTJsMiAzaC0zbC0yLTNIOGwyIDNIN0w1IDRINGMtMS4xIDAtMS45OS45LTEuOTkgMkwyIDE4YzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWNGgtNHptLTYuNzUgMTEuMjVMMTAgMThsLTEuMjUtMi43NUw2IDE0bDIuNzUtMS4yNUwxMCAxMGwxLjI1IDIuNzVMMTQgMTRsLTIuNzUgMS4yNXptNS42OS0zLjMxTDE2IDE0bC0uOTQtMi4wNkwxMyAxMWwyLjA2LS45NEwxNiA4bC45NCAyLjA2TDE5IDExbC0yLjA2Ljk0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im11c2ljLW5vdGUiPjxwYXRoIGQ9Ik0xMiAzdjEwLjU1Yy0uNTktLjM0LTEuMjctLjU1LTItLjU1LTIuMjEgMC00IDEuNzktNCA0czEuNzkgNCA0IDQgNC0xLjc5IDQtNFY3aDRWM2gtNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJuYXR1cmUiPjxwYXRoIGQ9Ik0xMyAxNi4xMmMzLjQ3LS40MSA2LjE3LTMuMzYgNi4xNy02Ljk1IDAtMy44Ny0zLjEzLTctNy03cy03IDMuMTMtNyA3YzAgMy40NyAyLjUyIDYuMzQgNS44MyA2Ljg5VjIwSDV2MmgxNHYtMmgtNnYtMy44OHoiPjwvcGF0aD48L2c+CjxnIGlkPSJuYXR1cmUtcGVvcGxlIj48cGF0aCBkPSJNMjIuMTcgOS4xN2MwLTMuODctMy4xMy03LTctN3MtNyAzLjEzLTcgN2MwIDMuNDcgMi41MiA2LjM0IDUuODMgNi44OVYyMEg2di0zaDF2LTRjMC0uNTUtLjQ1LTEtMS0xSDNjLS41NSAwLTEgLjQ1LTEgMXY0aDF2NWgxNnYtMmgtM3YtMy44OGMzLjQ3LS40MSA2LjE3LTMuMzYgNi4xNy02Ljk1ek00LjUgMTFjLjgzIDAgMS41LS42NyAxLjUtMS41UzUuMzMgOCA0LjUgOCAzIDguNjcgMyA5LjUgMy42NyAxMSA0LjUgMTF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibmF2aWdhdGUtYmVmb3JlIj48cGF0aCBkPSJNMTUuNDEgNy40MUwxNCA2bC02IDYgNiA2IDEuNDEtMS40MUwxMC44MyAxMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJuYXZpZ2F0ZS1uZXh0Ij48cGF0aCBkPSJNMTAgNkw4LjU5IDcuNDEgMTMuMTcgMTJsLTQuNTggNC41OUwxMCAxOGw2LTZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGFsZXR0ZSI+PHBhdGggZD0iTTEyIDNjLTQuOTcgMC05IDQuMDMtOSA5czQuMDMgOSA5IDljLjgzIDAgMS41LS42NyAxLjUtMS41IDAtLjM5LS4xNS0uNzQtLjM5LTEuMDEtLjIzLS4yNi0uMzgtLjYxLS4zOC0uOTkgMC0uODMuNjctMS41IDEuNS0xLjVIMTZjMi43NiAwIDUtMi4yNCA1LTUgMC00LjQyLTQuMDMtOC05LTh6bS01LjUgOWMtLjgzIDAtMS41LS42Ny0xLjUtMS41UzUuNjcgOSA2LjUgOSA4IDkuNjcgOCAxMC41IDcuMzMgMTIgNi41IDEyem0zLTRDOC42NyA4IDggNy4zMyA4IDYuNVM4LjY3IDUgOS41IDVzMS41LjY3IDEuNSAxLjVTMTAuMzMgOCA5LjUgOHptNSAwYy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTMuNjcgNSAxNC41IDVzMS41LjY3IDEuNSAxLjVTMTUuMzMgOCAxNC41IDh6bTMgNGMtLjgzIDAtMS41LS42Ny0xLjUtMS41UzE2LjY3IDkgMTcuNSA5czEuNS42NyAxLjUgMS41LS42NyAxLjUtMS41IDEuNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJwYW5vcmFtYSI+PHBhdGggZD0iTTIzIDE4VjZjMC0xLjEtLjktMi0yLTJIM2MtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMnpNOC41IDEyLjVsMi41IDMuMDFMMTQuNSAxMWw0LjUgNkg1bDMuNS00LjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGFub3JhbWEtZmlzaC1leWUiPjxwYXRoIGQ9Ik0xMiAyQzYuNDcgMiAyIDYuNDcgMiAxMnM0LjQ3IDEwIDEwIDEwIDEwLTQuNDcgMTAtMTBTMTcuNTMgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJwYW5vcmFtYS1ob3Jpem9udGFsIj48cGF0aCBkPSJNMjAgNi41NHYxMC45MWMtMi42LS43Ny01LjI4LTEuMTYtOC0xLjE2LTIuNzIgMC01LjQuMzktOCAxLjE2VjYuNTRjMi42Ljc3IDUuMjggMS4xNiA4IDEuMTYgMi43Mi4wMSA1LjQtLjM4IDgtMS4xNk0yMS40MyA0Yy0uMSAwLS4yLjAyLS4zMS4wNkMxOC4xOCA1LjE2IDE1LjA5IDUuNyAxMiA1LjdjLTMuMDkgMC02LjE4LS41NS05LjEyLTEuNjQtLjExLS4wNC0uMjItLjA2LS4zMS0uMDYtLjM0IDAtLjU3LjIzLS41Ny42M3YxNC43NWMwIC4zOS4yMy42Mi41Ny42Mi4xIDAgLjItLjAyLjMxLS4wNiAyLjk0LTEuMSA2LjAzLTEuNjQgOS4xMi0xLjY0IDMuMDkgMCA2LjE4LjU1IDkuMTIgMS42NC4xMS4wNC4yMS4wNi4zMS4wNi4zMyAwIC41Ny0uMjMuNTctLjYzVjQuNjNjMC0uNC0uMjQtLjYzLS41Ny0uNjN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGFub3JhbWEtdmVydGljYWwiPjxwYXRoIGQ9Ik0xOS45NCAyMS4xMmMtMS4xLTIuOTQtMS42NC02LjAzLTEuNjQtOS4xMiAwLTMuMDkuNTUtNi4xOCAxLjY0LTkuMTIuMDQtLjExLjA2LS4yMi4wNi0uMzEgMC0uMzQtLjIzLS41Ny0uNjMtLjU3SDQuNjNjLS40IDAtLjYzLjIzLS42My41NyAwIC4xLjAyLjIuMDYuMzFDNS4xNiA1LjgyIDUuNzEgOC45MSA1LjcxIDEyYzAgMy4wOS0uNTUgNi4xOC0xLjY0IDkuMTItLjA1LjExLS4wNy4yMi0uMDcuMzEgMCAuMzMuMjMuNTcuNjMuNTdoMTQuNzVjLjM5IDAgLjYzLS4yNC42My0uNTctLjAxLS4xLS4wMy0uMi0uMDctLjMxek02LjU0IDIwYy43Ny0yLjYgMS4xNi01LjI4IDEuMTYtOCAwLTIuNzItLjM5LTUuNC0xLjE2LThoMTAuOTFjLS43NyAyLjYtMS4xNiA1LjI4LTEuMTYgOCAwIDIuNzIuMzkgNS40IDEuMTYgOEg2LjU0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBhbm9yYW1hLXdpZGUtYW5nbGUiPjxwYXRoIGQ9Ik0xMiA2YzIuNDUgMCA0LjcxLjIgNy4yOS42NC40NyAxLjc4LjcxIDMuNTguNzEgNS4zNiAwIDEuNzgtLjI0IDMuNTgtLjcxIDUuMzYtMi41OC40NC00Ljg0LjY0LTcuMjkuNjRzLTQuNzEtLjItNy4yOS0uNjRDNC4yNCAxNS41OCA0IDEzLjc4IDQgMTJjMC0xLjc4LjI0LTMuNTguNzEtNS4zNkM3LjI5IDYuMiA5LjU1IDYgMTIgNm0wLTJjLTIuNzMgMC01LjIyLjI0LTcuOTUuNzJsLS45My4xNi0uMjUuOUMyLjI5IDcuODUgMiA5LjkzIDIgMTJzLjI5IDQuMTUuODcgNi4yMmwuMjUuODkuOTMuMTZjMi43My40OSA1LjIyLjczIDcuOTUuNzNzNS4yMi0uMjQgNy45NS0uNzJsLjkzLS4xNi4yNS0uODljLjU4LTIuMDguODctNC4xNi44Ny02LjIzcy0uMjktNC4xNS0uODctNi4yMmwtLjI1LS44OS0uOTMtLjE2QzE3LjIyIDQuMjQgMTQuNzMgNCAxMiA0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBob3RvIj48cGF0aCBkPSJNMjEgMTlWNWMwLTEuMS0uOS0yLTItMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yek04LjUgMTMuNWwyLjUgMy4wMUwxNC41IDEybDQuNSA2SDVsMy41LTQuNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJwaG90by1hbGJ1bSI+PHBhdGggZD0iTTE4IDJINmMtMS4xIDAtMiAuOS0yIDJ2MTZjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0yek02IDRoNXY4bC0yLjUtMS41TDYgMTJWNHptMCAxNWwzLTMuODYgMi4xNCAyLjU4IDMtMy44NkwxOCAxOUg2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBob3RvLWNhbWVyYSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMy4yIj48L2NpcmNsZT48cGF0aCBkPSJNOSAyTDcuMTcgNEg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJoLTMuMTdMMTUgMkg5em0zIDE1Yy0yLjc2IDAtNS0yLjI0LTUtNXMyLjI0LTUgNS01IDUgMi4yNCA1IDUtMi4yNCA1LTUgNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJwaG90by1maWx0ZXIiPjxwYXRoIGQ9Ik0xOS4wMiAxMHY5SDVWNWg5VjNINS4wMmMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtOWgtMnpNMTcgMTBsLjk0LTIuMDZMMjAgN2wtMi4wNi0uOTRMMTcgNGwtLjk0IDIuMDZMMTQgN2wyLjA2Ljk0em0tMy43NS43NUwxMiA4bC0xLjI1IDIuNzVMOCAxMmwyLjc1IDEuMjVMMTIgMTZsMS4yNS0yLjc1TDE2IDEyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBob3RvLWxpYnJhcnkiPjxwYXRoIGQ9Ik0yMiAxNlY0YzAtMS4xLS45LTItMi0ySDhjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJ6bS0xMS00bDIuMDMgMi43MUwxNiAxMWw0IDVIOGwzLTR6TTIgNnYxNGMwIDEuMS45IDIgMiAyaDE0di0ySDRWNkgyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBob3RvLXNpemUtc2VsZWN0LWFjdHVhbCI+PHBhdGggZD0iTTIxIDNIM0MyIDMgMSA0IDEgNXYxNGMwIDEuMS45IDIgMiAyaDE4YzEgMCAyLTEgMi0yVjVjMC0xLTEtMi0yLTJ6TTUgMTdsMy41LTQuNSAyLjUgMy4wMUwxNC41IDExbDQuNSA2SDV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGhvdG8tc2l6ZS1zZWxlY3QtbGFyZ2UiPjxwYXRoIGQ9Ik0yMSAxNWgydjJoLTJ2LTJ6bTAtNGgydjJoLTJ2LTJ6bTIgOGgtMnYyYzEgMCAyLTEgMi0yek0xMyAzaDJ2MmgtMlYzem04IDRoMnYyaC0yVjd6bTAtNHYyaDJjMC0xLTEtMi0yLTJ6TTEgN2gydjJIMVY3em0xNi00aDJ2MmgtMlYzem0wIDE2aDJ2MmgtMnYtMnpNMyAzQzIgMyAxIDQgMSA1aDJWM3ptNiAwaDJ2Mkg5VjN6TTUgM2gydjJINVYzem0tNCA4djhjMCAxLjEuOSAyIDIgMmgxMlYxMUgxem0yIDhsMi41LTMuMjEgMS43OSAyLjE1IDIuNS0zLjIyTDEzIDE5SDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGhvdG8tc2l6ZS1zZWxlY3Qtc21hbGwiPjxwYXRoIGQ9Ik0yMyAxNWgtMnYyaDJ2LTJ6bTAtNGgtMnYyaDJ2LTJ6bTAgOGgtMnYyYzEgMCAyLTEgMi0yek0xNSAzaC0ydjJoMlYzem04IDRoLTJ2MmgyVjd6bS0yLTR2MmgyYzAtMS0xLTItMi0yek0zIDIxaDh2LTZIMXY0YzAgMS4xLjkgMiAyIDJ6TTMgN0gxdjJoMlY3em0xMiAxMmgtMnYyaDJ2LTJ6bTQtMTZoLTJ2MmgyVjN6bTAgMTZoLTJ2Mmgydi0yek0zIDNDMiAzIDEgNCAxIDVoMlYzem0wIDhIMXYyaDJ2LTJ6bTgtOEg5djJoMlYzek03IDNINXYyaDJWM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJwaWN0dXJlLWFzLXBkZiI+PHBhdGggZD0iTTIwIDJIOGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0yem0tOC41IDcuNWMwIC44My0uNjcgMS41LTEuNSAxLjVIOXYySDcuNVY3SDEwYy44MyAwIDEuNS42NyAxLjUgMS41djF6bTUgMmMwIC44My0uNjcgMS41LTEuNSAxLjVoLTIuNVY3SDE1Yy44MyAwIDEuNS42NyAxLjUgMS41djN6bTQtM0gxOXYxaDEuNVYxMUgxOXYyaC0xLjVWN2gzdjEuNXpNOSA5LjVoMXYtMUg5djF6TTQgNkgydjE0YzAgMS4xLjkgMiAyIDJoMTR2LTJINFY2em0xMCA1LjVoMXYtM2gtMXYzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBvcnRyYWl0Ij48cGF0aCBkPSJNMTIgMTIuMjVjMS4yNCAwIDIuMjUtMS4wMSAyLjI1LTIuMjVTMTMuMjQgNy43NSAxMiA3Ljc1IDkuNzUgOC43NiA5Ljc1IDEwczEuMDEgMi4yNSAyLjI1IDIuMjV6bTQuNSA0YzAtMS41LTMtMi4yNS00LjUtMi4yNXMtNC41Ljc1LTQuNSAyLjI1VjE3aDl2LS43NXpNMTkgM0g1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY1aDE0djE0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlbW92ZS1yZWQtZXllIj48cGF0aCBkPSJNMTIgNC41QzcgNC41IDIuNzMgNy42MSAxIDEyYzEuNzMgNC4zOSA2IDcuNSAxMSA3LjVzOS4yNy0zLjExIDExLTcuNWMtMS43My00LjM5LTYtNy41LTExLTcuNXpNMTIgMTdjLTIuNzYgMC01LTIuMjQtNS01czIuMjQtNSA1LTUgNSAyLjI0IDUgNS0yLjI0IDUtNSA1em0wLThjLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDMgMy0xLjM0IDMtMy0xLjM0LTMtMy0zeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJvdGF0ZS05MC1kZWdyZWVzLWNjdyI+PHBhdGggZD0iTTcuMzQgNi40MUwuODYgMTIuOWw2LjQ5IDYuNDggNi40OS02LjQ4LTYuNS02LjQ5ek0zLjY5IDEyLjlsMy42Ni0zLjY2TDExIDEyLjlsLTMuNjYgMy42Ni0zLjY1LTMuNjZ6bTE1LjY3LTYuMjZDMTcuNjEgNC44OCAxNS4zIDQgMTMgNFYuNzZMOC43NiA1IDEzIDkuMjRWNmMxLjc5IDAgMy41OC42OCA0Ljk1IDIuMDUgMi43MyAyLjczIDIuNzMgNy4xNyAwIDkuOUMxNi41OCAxOS4zMiAxNC43OSAyMCAxMyAyMGMtLjk3IDAtMS45NC0uMjEtMi44NC0uNjFsLTEuNDkgMS40OUMxMC4wMiAyMS42MiAxMS41MSAyMiAxMyAyMmMyLjMgMCA0LjYxLS44OCA2LjM2LTIuNjQgMy41Mi0zLjUxIDMuNTItOS4yMSAwLTEyLjcyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJvdGF0ZS1sZWZ0Ij48cGF0aCBkPSJNNy4xMSA4LjUzTDUuNyA3LjExQzQuOCA4LjI3IDQuMjQgOS42MSA0LjA3IDExaDIuMDJjLjE0LS44Ny40OS0xLjcyIDEuMDItMi40N3pNNi4wOSAxM0g0LjA3Yy4xNyAxLjM5LjcyIDIuNzMgMS42MiAzLjg5bDEuNDEtMS40MmMtLjUyLS43NS0uODctMS41OS0xLjAxLTIuNDd6bTEuMDEgNS4zMmMxLjE2LjkgMi41MSAxLjQ0IDMuOSAxLjYxVjE3LjljLS44Ny0uMTUtMS43MS0uNDktMi40Ni0xLjAzTDcuMSAxOC4zMnpNMTMgNC4wN1YxTDguNDUgNS41NSAxMyAxMFY2LjA5YzIuODQuNDggNSAyLjk0IDUgNS45MXMtMi4xNiA1LjQzLTUgNS45MXYyLjAyYzMuOTUtLjQ5IDctMy44NSA3LTcuOTNzLTMuMDUtNy40NC03LTcuOTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icm90YXRlLXJpZ2h0Ij48cGF0aCBkPSJNMTUuNTUgNS41NUwxMSAxdjMuMDdDNy4wNiA0LjU2IDQgNy45MiA0IDEyczMuMDUgNy40NCA3IDcuOTN2LTIuMDJjLTIuODQtLjQ4LTUtMi45NC01LTUuOTFzMi4xNi01LjQzIDUtNS45MVYxMGw0LjU1LTQuNDV6TTE5LjkzIDExYy0uMTctMS4zOS0uNzItMi43My0xLjYyLTMuODlsLTEuNDIgMS40MmMuNTQuNzUuODggMS42IDEuMDIgMi40N2gyLjAyek0xMyAxNy45djIuMDJjMS4zOS0uMTcgMi43NC0uNzEgMy45LTEuNjFsLTEuNDQtMS40NGMtLjc1LjU0LTEuNTkuODktMi40NiAxLjAzem0zLjg5LTIuNDJsMS40MiAxLjQxYy45LTEuMTYgMS40NS0yLjUgMS42Mi0zLjg5aC0yLjAyYy0uMTQuODctLjQ4IDEuNzItMS4wMiAyLjQ4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNsaWRlc2hvdyI+PHBhdGggZD0iTTEwIDh2OGw1LTQtNS00em05LTVINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDVWNWgxNHYxNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzdHJhaWdodGVuIj48cGF0aCBkPSJNMjEgNkgzYy0xLjEgMC0yIC45LTIgMnY4YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWOGMwLTEuMS0uOS0yLTItMnptMCAxMEgzVjhoMnY0aDJWOGgydjRoMlY4aDJ2NGgyVjhoMnY0aDJWOGgydjh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic3R5bGUiPjxwYXRoIGQ9Ik0yLjUzIDE5LjY1bDEuMzQuNTZ2LTkuMDNsLTIuNDMgNS44NmMtLjQxIDEuMDIuMDggMi4xOSAxLjA5IDIuNjF6bTE5LjUtMy43TDE3LjA3IDMuOThjLS4zMS0uNzUtMS4wNC0xLjIxLTEuODEtMS4yMy0uMjYgMC0uNTMuMDQtLjc5LjE1TDcuMSA1Ljk1Yy0uNzUuMzEtMS4yMSAxLjAzLTEuMjMgMS44LS4wMS4yNy4wNC41NC4xNS44bDQuOTYgMTEuOTdjLjMxLjc2IDEuMDUgMS4yMiAxLjgzIDEuMjMuMjYgMCAuNTItLjA1Ljc3LS4xNWw3LjM2LTMuMDVjMS4wMi0uNDIgMS41MS0xLjU5IDEuMDktMi42ek03Ljg4IDguNzVjLS41NSAwLTEtLjQ1LTEtMXMuNDUtMSAxLTEgMSAuNDUgMSAxLS40NSAxLTEgMXptLTIgMTFjMCAxLjEuOSAyIDIgMmgxLjQ1bC0zLjQ1LTguMzR2Ni4zNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzd2l0Y2gtY2FtZXJhIj48cGF0aCBkPSJNMjAgNGgtMy4xN0wxNSAySDlMNy4xNyA0SDRjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptLTUgMTEuNVYxM0g5djIuNUw1LjUgMTIgOSA4LjVWMTFoNlY4LjVsMy41IDMuNS0zLjUgMy41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InN3aXRjaC12aWRlbyI+PHBhdGggZD0iTTE4IDkuNVY2YzAtLjU1LS40NS0xLTEtMUgzYy0uNTUgMC0xIC40NS0xIDF2MTJjMCAuNTUuNDUgMSAxIDFoMTRjLjU1IDAgMS0uNDUgMS0xdi0zLjVsNCA0di0xM2wtNCA0em0tNSA2VjEzSDd2Mi41TDMuNSAxMiA3IDguNVYxMWg2VjguNWwzLjUgMy41LTMuNSAzLjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGFnLWZhY2VzIj48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnpNMTIgMjBjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4em0zLjUtOWMuODMgMCAxLjUtLjY3IDEuNS0xLjVTMTYuMzMgOCAxNS41IDggMTQgOC42NyAxNCA5LjVzLjY3IDEuNSAxLjUgMS41em0tNyAwYy44MyAwIDEuNS0uNjcgMS41LTEuNVM5LjMzIDggOC41IDggNyA4LjY3IDcgOS41IDcuNjcgMTEgOC41IDExem0zLjUgNi41YzIuMzMgMCA0LjMxLTEuNDYgNS4xMS0zLjVINi44OWMuOCAyLjA0IDIuNzggMy41IDUuMTEgMy41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRleHR1cmUiPjxwYXRoIGQ9Ik0xOS41MSAzLjA4TDMuMDggMTkuNTFjLjA5LjM0LjI3LjY1LjUxLjkuMjUuMjQuNTYuNDIuOS41MUwyMC45MyA0LjQ5Yy0uMTktLjY5LS43My0xLjIzLTEuNDItMS40MXpNMTEuODggM0wzIDExLjg4djIuODNMMTQuNzEgM2gtMi44M3pNNSAzYy0xLjEgMC0yIC45LTIgMnYybDQtNEg1em0xNCAxOGMuNTUgMCAxLjA1LS4yMiAxLjQxLS41OS4zNy0uMzYuNTktLjg2LjU5LTEuNDF2LTJsLTQgNGgyem0tOS43MSAwaDIuODNMMjEgMTIuMTJWOS4yOUw5LjI5IDIxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRpbWVsYXBzZSI+PHBhdGggZD0iTTE2LjI0IDcuNzZDMTUuMDcgNi41OSAxMy41NCA2IDEyIDZ2NmwtNC4yNCA0LjI0YzIuMzQgMi4zNCA2LjE0IDIuMzQgOC40OSAwIDIuMzQtMi4zNCAyLjM0LTYuMTQtLjAxLTguNDh6TTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRpbWVyIj48cGF0aCBkPSJNMTUgMUg5djJoNlYxem0tNCAxM2gyVjhoLTJ2NnptOC4wMy02LjYxbDEuNDItMS40MmMtLjQzLS41MS0uOS0uOTktMS40MS0xLjQxbC0xLjQyIDEuNDJDMTYuMDcgNC43NCAxNC4xMiA0IDEyIDRjLTQuOTcgMC05IDQuMDMtOSA5czQuMDIgOSA5IDkgOS00LjAzIDktOWMwLTIuMTItLjc0LTQuMDctMS45Ny01LjYxek0xMiAyMGMtMy44NyAwLTctMy4xMy03LTdzMy4xMy03IDctNyA3IDMuMTMgNyA3LTMuMTMgNy03IDd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGltZXItMTAiPjxwYXRoIGQ9Ik0wIDcuNzJWOS40bDMtMVYxOGgyVjZoLS4yNUwwIDcuNzJ6bTIzLjc4IDYuNjVjLS4xNC0uMjgtLjM1LS41My0uNjMtLjc0LS4yOC0uMjEtLjYxLS4zOS0xLjAxLS41M3MtLjg1LS4yNy0xLjM1LS4zOGMtLjM1LS4wNy0uNjQtLjE1LS44Ny0uMjMtLjIzLS4wOC0uNDEtLjE2LS41NS0uMjUtLjE0LS4wOS0uMjMtLjE5LS4yOC0uMy0uMDUtLjExLS4wOC0uMjQtLjA4LS4zOSAwLS4xNC4wMy0uMjguMDktLjQxLjA2LS4xMy4xNS0uMjUuMjctLjM0LjEyLS4xLjI3LS4xOC40NS0uMjRzLjQtLjA5LjY0LS4wOWMuMjUgMCAuNDcuMDQuNjYuMTEuMTkuMDcuMzUuMTcuNDguMjkuMTMuMTIuMjIuMjYuMjkuNDIuMDYuMTYuMS4zMi4xLjQ5aDEuOTVjMC0uMzktLjA4LS43NS0uMjQtMS4wOS0uMTYtLjM0LS4zOS0uNjMtLjY5LS44OC0uMy0uMjUtLjY2LS40NC0xLjA5LS41OUMyMS40OSA5LjA3IDIxIDkgMjAuNDYgOWMtLjUxIDAtLjk4LjA3LTEuMzkuMjEtLjQxLjE0LS43Ny4zMy0xLjA2LjU3LS4yOS4yNC0uNTEuNTItLjY3Ljg0LS4xNi4zMi0uMjMuNjUtLjIzIDEuMDFzLjA4LjY5LjIzLjk2Yy4xNS4yOC4zNi41Mi42NC43My4yNy4yMS42LjM4Ljk4LjUzLjM4LjE0LjgxLjI2IDEuMjcuMzYuMzkuMDguNzEuMTcuOTUuMjZzLjQzLjE5LjU3LjI5Yy4xMy4xLjIyLjIyLjI3LjM0LjA1LjEyLjA3LjI1LjA3LjM5IDAgLjMyLS4xMy41Ny0uNC43Ny0uMjcuMi0uNjYuMjktMS4xNy4yOS0uMjIgMC0uNDMtLjAyLS42NC0uMDgtLjIxLS4wNS0uNC0uMTMtLjU2LS4yNC0uMTctLjExLS4zLS4yNi0uNDEtLjQ0LS4xMS0uMTgtLjE3LS40MS0uMTgtLjY3aC0xLjg5YzAgLjM2LjA4LjcxLjI0IDEuMDUuMTYuMzQuMzkuNjUuNy45My4zMS4yNy42OS40OSAxLjE1LjY2LjQ2LjE3Ljk4LjI1IDEuNTguMjUuNTMgMCAxLjAxLS4wNiAxLjQ0LS4xOS40My0uMTMuOC0uMzEgMS4xMS0uNTQuMzEtLjIzLjU0LS41MS43MS0uODMuMTctLjMyLjI1LS42Ny4yNS0xLjA2LS4wMi0uNC0uMDktLjc0LS4yNC0xLjAyem0tOS45Ni03LjMyYy0uMzQtLjQtLjc1LS43LTEuMjMtLjg4LS40Ny0uMTgtMS4wMS0uMjctMS41OS0uMjctLjU4IDAtMS4xMS4wOS0xLjU5LjI3LS40OC4xOC0uODkuNDctMS4yMy44OC0uMzQuNDEtLjYuOTMtLjc5IDEuNTktLjE4LjY1LS4yOCAxLjQ1LS4yOCAyLjM5djEuOTJjMCAuOTQuMDkgMS43NC4yOCAyLjM5LjE5LjY2LjQ1IDEuMTkuOCAxLjYuMzQuNDEuNzUuNzEgMS4yMy44OS40OC4xOCAxLjAxLjI4IDEuNTkuMjguNTkgMCAxLjEyLS4wOSAxLjU5LS4yOC40OC0uMTguODgtLjQ4IDEuMjItLjg5LjM0LS40MS42LS45NC43OC0xLjYuMTgtLjY1LjI4LTEuNDUuMjgtMi4zOXYtMS45MmMwLS45NC0uMDktMS43NC0uMjgtMi4zOS0uMTgtLjY2LS40NC0xLjE5LS43OC0xLjU5em0tLjkyIDYuMTdjMCAuNi0uMDQgMS4xMS0uMTIgMS41My0uMDguNDItLjIuNzYtLjM2IDEuMDItLjE2LjI2LS4zNi40NS0uNTkuNTctLjIzLjEyLS41MS4xOC0uODIuMTgtLjMgMC0uNTgtLjA2LS44Mi0uMThzLS40NC0uMzEtLjYtLjU3Yy0uMTYtLjI2LS4yOS0uNi0uMzgtMS4wMi0uMDktLjQyLS4xMy0uOTMtLjEzLTEuNTN2LTIuNWMwLS42LjA0LTEuMTEuMTMtMS41Mi4wOS0uNDEuMjEtLjc0LjM4LTEgLjE2LS4yNS4zNi0uNDMuNi0uNTUuMjQtLjExLjUxLS4xNy44MS0uMTcuMzEgMCAuNTguMDYuODEuMTcuMjQuMTEuNDQuMjkuNi41NS4xNi4yNS4yOS41OC4zNy45OS4wOC40MS4xMy45Mi4xMyAxLjUydjIuNTF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGltZXItMyI+PHBhdGggZD0iTTExLjYxIDEyLjk3Yy0uMTYtLjI0LS4zNi0uNDYtLjYyLS42NS0uMjUtLjE5LS41Ni0uMzUtLjkzLS40OC4zLS4xNC41Ny0uMy44LS41LjIzLS4yLjQyLS40MS41Ny0uNjQuMTUtLjIzLjI3LS40Ni4zNC0uNzEuMDgtLjI0LjExLS40OS4xMS0uNzMgMC0uNTUtLjA5LTEuMDQtLjI4LTEuNDYtLjE4LS40Mi0uNDQtLjc3LS43OC0xLjA2LS4zMy0uMjgtLjczLS41LTEuMi0uNjQtLjQ1LS4xMy0uOTctLjItMS41My0uMi0uNTUgMC0xLjA2LjA4LTEuNTIuMjQtLjQ3LjE3LS44Ny40LTEuMi42OS0uMzMuMjktLjYuNjMtLjc4IDEuMDMtLjIuMzktLjI5LjgzLS4yOSAxLjI5aDEuOThjMC0uMjYuMDUtLjQ5LjE0LS42OS4wOS0uMi4yMi0uMzguMzgtLjUyLjE3LS4xNC4zNi0uMjUuNTgtLjMzLjIyLS4wOC40Ni0uMTIuNzMtLjEyLjYxIDAgMS4wNi4xNiAxLjM2LjQ3LjMuMzEuNDQuNzUuNDQgMS4zMiAwIC4yNy0uMDQuNTItLjEyLjc0LS4wOC4yMi0uMjEuNDEtLjM4LjU3LS4xNy4xNi0uMzguMjgtLjYzLjM3LS4yNS4wOS0uNTUuMTMtLjg5LjEzSDYuNzJ2MS41N0g3LjljLjM0IDAgLjY0LjA0LjkxLjExLjI3LjA4LjUuMTkuNjkuMzUuMTkuMTYuMzQuMzYuNDQuNjEuMS4yNC4xNi41NC4xNi44NyAwIC42Mi0uMTggMS4wOS0uNTMgMS40Mi0uMzUuMzMtLjg0LjQ5LTEuNDUuNDktLjI5IDAtLjU2LS4wNC0uOC0uMTMtLjI0LS4wOC0uNDQtLjItLjYxLS4zNi0uMTctLjE2LS4zLS4zNC0uMzktLjU2LS4wOS0uMjItLjE0LS40Ni0uMTQtLjcySDQuMTljMCAuNTUuMTEgMS4wMy4zMiAxLjQ1LjIxLjQyLjUuNzcuODYgMS4wNXMuNzcuNDkgMS4yNC42My45Ni4yMSAxLjQ4LjIxYy41NyAwIDEuMDktLjA4IDEuNTgtLjIzLjQ5LS4xNS45MS0uMzggMS4yNi0uNjguMzYtLjMuNjQtLjY2Ljg0LTEuMS4yLS40My4zLS45My4zLTEuNDggMC0uMjktLjA0LS41OC0uMTEtLjg2LS4wOC0uMjUtLjE5LS41MS0uMzUtLjc2em05LjI2IDEuNGMtLjE0LS4yOC0uMzUtLjUzLS42My0uNzQtLjI4LS4yMS0uNjEtLjM5LTEuMDEtLjUzcy0uODUtLjI3LTEuMzUtLjM4Yy0uMzUtLjA3LS42NC0uMTUtLjg3LS4yMy0uMjMtLjA4LS40MS0uMTYtLjU1LS4yNS0uMTQtLjA5LS4yMy0uMTktLjI4LS4zLS4wNS0uMTEtLjA4LS4yNC0uMDgtLjM5cy4wMy0uMjguMDktLjQxYy4wNi0uMTMuMTUtLjI1LjI3LS4zNC4xMi0uMS4yNy0uMTguNDUtLjI0cy40LS4wOS42NC0uMDljLjI1IDAgLjQ3LjA0LjY2LjExLjE5LjA3LjM1LjE3LjQ4LjI5LjEzLjEyLjIyLjI2LjI5LjQyLjA2LjE2LjEuMzIuMS40OWgxLjk1YzAtLjM5LS4wOC0uNzUtLjI0LTEuMDktLjE2LS4zNC0uMzktLjYzLS42OS0uODgtLjMtLjI1LS42Ni0uNDQtMS4wOS0uNTktLjQzLS4xNS0uOTItLjIyLTEuNDYtLjIyLS41MSAwLS45OC4wNy0xLjM5LjIxLS40MS4xNC0uNzcuMzMtMS4wNi41Ny0uMjkuMjQtLjUxLjUyLS42Ny44NC0uMTYuMzItLjIzLjY1LS4yMyAxLjAxcy4wOC42OC4yMy45NmMuMTUuMjguMzcuNTIuNjQuNzMuMjcuMjEuNi4zOC45OC41My4zOC4xNC44MS4yNiAxLjI3LjM2LjM5LjA4LjcxLjE3Ljk1LjI2cy40My4xOS41Ny4yOWMuMTMuMS4yMi4yMi4yNy4zNC4wNS4xMi4wNy4yNS4wNy4zOSAwIC4zMi0uMTMuNTctLjQuNzctLjI3LjItLjY2LjI5LTEuMTcuMjktLjIyIDAtLjQzLS4wMi0uNjQtLjA4LS4yMS0uMDUtLjQtLjEzLS41Ni0uMjQtLjE3LS4xMS0uMy0uMjYtLjQxLS40NC0uMTEtLjE4LS4xNy0uNDEtLjE4LS42N2gtMS44OWMwIC4zNi4wOC43MS4yNCAxLjA1LjE2LjM0LjM5LjY1LjcuOTMuMzEuMjcuNjkuNDkgMS4xNS42Ni40Ni4xNy45OC4yNSAxLjU4LjI1LjUzIDAgMS4wMS0uMDYgMS40NC0uMTkuNDMtLjEzLjgtLjMxIDEuMTEtLjU0LjMxLS4yMy41NC0uNTEuNzEtLjgzLjE3LS4zMi4yNS0uNjcuMjUtMS4wNi0uMDItLjQtLjA5LS43NC0uMjQtMS4wMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0aW1lci1vZmYiPjxwYXRoIGQ9Ik0xOS4wNCA0LjU1bC0xLjQyIDEuNDJDMTYuMDcgNC43NCAxNC4xMiA0IDEyIDRjLTEuODMgMC0zLjUzLjU1LTQuOTUgMS40OGwxLjQ2IDEuNDZDOS41MyA2LjM1IDEwLjczIDYgMTIgNmMzLjg3IDAgNyAzLjEzIDcgNyAwIDEuMjctLjM1IDIuNDctLjk0IDMuNDlsMS40NSAxLjQ1QzIwLjQ1IDE2LjUzIDIxIDE0LjgzIDIxIDEzYzAtMi4xMi0uNzQtNC4wNy0xLjk3LTUuNjFsMS40Mi0xLjQyLTEuNDEtMS40MnpNMTUgMUg5djJoNlYxem0tNCA4LjQ0bDIgMlY4aC0ydjEuNDR6TTMuMDIgNEwxLjc1IDUuMjcgNC41IDguMDNDMy41NSA5LjQ1IDMgMTEuMTYgMyAxM2MwIDQuOTcgNC4wMiA5IDkgOSAxLjg0IDAgMy41NS0uNTUgNC45OC0xLjVsMi41IDIuNSAxLjI3LTEuMjctNy43MS03LjcxTDMuMDIgNHpNMTIgMjBjLTMuODcgMC03LTMuMTMtNy03IDAtMS4yOC4zNS0yLjQ4Ljk1LTMuNTJsOS41NiA5LjU2Yy0xLjAzLjYxLTIuMjMuOTYtMy41MS45NnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0b25hbGl0eSI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0xIDE3LjkzYy0zLjk0LS40OS03LTMuODUtNy03LjkzczMuMDUtNy40NCA3LTcuOTN2MTUuODZ6bTItMTUuODZjMS4wMy4xMyAyIC40NSAyLjg3LjkzSDEzdi0uOTN6TTEzIDdoNS4yNGMuMjUuMzEuNDguNjUuNjggMUgxM1Y3em0wIDNoNi43NGMuMDguMzMuMTUuNjYuMTkgMUgxM3YtMXptMCA5LjkzVjE5aDIuODdjLS44Ny40OC0xLjg0LjgtMi44Ny45M3pNMTguMjQgMTdIMTN2LTFoNS45MmMtLjIuMzUtLjQzLjY5LS42OCAxem0xLjUtM0gxM3YtMWg2LjkzYy0uMDQuMzQtLjExLjY3LS4xOSAxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRyYW5zZm9ybSI+PHBhdGggZD0iTTIyIDE4di0ySDhWNGgyTDcgMSA0IDRoMnYySDJ2Mmg0djhjMCAxLjEuOSAyIDIgMmg4djJoLTJsMyAzIDMtM2gtMnYtMmg0ek0xMCA4aDZ2NmgyVjhjMC0xLjEtLjktMi0yLTJoLTZ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0dW5lIj48cGF0aCBkPSJNMyAxN3YyaDZ2LTJIM3pNMyA1djJoMTBWNUgzem0xMCAxNnYtMmg4di0yaC04di0yaC0ydjZoMnpNNyA5djJIM3YyaDR2MmgyVjlIN3ptMTQgNHYtMkgxMXYyaDEwem0tNi00aDJWN2g0VjVoLTRWM2gtMnY2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZXctY29tZnkiPjxwYXRoIGQ9Ik0zIDloNFY1SDN2NHptMCA1aDR2LTRIM3Y0em01IDBoNHYtNEg4djR6bTUgMGg0di00aC00djR6TTggOWg0VjVIOHY0em01LTR2NGg0VjVoLTR6bTUgOWg0di00aC00djR6TTMgMTloNHYtNEgzdjR6bTUgMGg0di00SDh2NHptNSAwaDR2LTRoLTR2NHptNSAwaDR2LTRoLTR2NHptMC0xNHY0aDRWNWgtNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJ2aWV3LWNvbXBhY3QiPjxwYXRoIGQ9Ik0zIDE5aDZ2LTdIM3Y3em03IDBoMTJ2LTdIMTB2N3pNMyA1djZoMTlWNUgzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZ25ldHRlIj48cGF0aCBkPSJNMjEgM0gzYy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE4YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS05IDE1Yy00LjQyIDAtOC0yLjY5LTgtNnMzLjU4LTYgOC02IDggMi42OSA4IDYtMy41OCA2LTggNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ3Yi1hdXRvIj48cGF0aCBkPSJNNi44NSAxMi42NWgyLjNMOCA5bC0xLjE1IDMuNjV6TTIyIDdsLTEuMiA2LjI5TDE5LjMgN2gtMS42bC0xLjQ5IDYuMjlMMTUgN2gtLjc2QzEyLjc3IDUuMTcgMTAuNTMgNCA4IDRjLTQuNDIgMC04IDMuNTgtOCA4czMuNTggOCA4IDhjMy4xMyAwIDUuODQtMS44MSA3LjE1LTQuNDNsLjEuNDNIMTdsMS41LTYuMUwyMCAxNmgxLjc1bDIuMDUtOUgyMnptLTExLjcgOWwtLjctMkg2LjRsLS43IDJIMy44TDcgN2gybDMuMiA5aC0xLjl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0id2ItY2xvdWR5Ij48cGF0aCBkPSJNMTkuMzYgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NC00Ljk2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9IndiLWluY2FuZGVzY2VudCI+PHBhdGggZD0iTTMuNTUgMTguNTRsMS40MSAxLjQxIDEuNzktMS44LTEuNDEtMS40MS0xLjc5IDEuOHpNMTEgMjIuNDVoMlYxOS41aC0ydjIuOTV6TTQgMTAuNUgxdjJoM3YtMnptMTEtNC4xOVYxLjVIOXY0LjgxQzcuMjEgNy4zNSA2IDkuMjggNiAxMS41YzAgMy4zMSAyLjY5IDYgNiA2czYtMi42OSA2LTZjMC0yLjIyLTEuMjEtNC4xNS0zLTUuMTl6bTUgNC4xOXYyaDN2LTJoLTN6bS0yLjc2IDcuNjZsMS43OSAxLjggMS40MS0xLjQxLTEuOC0xLjc5LTEuNCAxLjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0id2ItaXJpZGVzY2VudCI+PHBhdGggZD0iTTUgMTQuNWgxNHYtNkg1djZ6TTExIC41NVYzLjVoMlYuNTVoLTJ6bTguMDQgMi41bC0xLjc5IDEuNzkgMS40MSAxLjQxIDEuOC0xLjc5LTEuNDItMS40MXpNMTMgMjIuNDVWMTkuNWgtMnYyLjk1aDJ6bTcuNDUtMy45MWwtMS44LTEuNzktMS40MSAxLjQxIDEuNzkgMS44IDEuNDItMS40MnpNMy41NSA0LjQ2bDEuNzkgMS43OSAxLjQxLTEuNDEtMS43OS0xLjc5LTEuNDEgMS40MXptMS40MSAxNS40OWwxLjc5LTEuOC0xLjQxLTEuNDEtMS43OSAxLjc5IDEuNDEgMS40MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ3Yi1zdW5ueSI+PHBhdGggZD0iTTYuNzYgNC44NGwtMS44LTEuNzktMS40MSAxLjQxIDEuNzkgMS43OSAxLjQyLTEuNDF6TTQgMTAuNUgxdjJoM3YtMnptOS05Ljk1aC0yVjMuNWgyVi41NXptNy40NSAzLjkxbC0xLjQxLTEuNDEtMS43OSAxLjc5IDEuNDEgMS40MSAxLjc5LTEuNzl6bS0zLjIxIDEzLjdsMS43OSAxLjggMS40MS0xLjQxLTEuOC0xLjc5LTEuNCAxLjR6TTIwIDEwLjV2Mmgzdi0yaC0zem0tOC01Yy0zLjMxIDAtNiAyLjY5LTYgNnMyLjY5IDYgNiA2IDYtMi42OSA2LTYtMi42OS02LTYtNnptLTEgMTYuOTVoMlYxOS41aC0ydjIuOTV6bS03LjQ1LTMuOTFsMS40MSAxLjQxIDEuNzktMS44LTEuNDEtMS40MS0xLjc5IDEuOHoiPjwvcGF0aD48L2c+CjwvZGVmcz48L3N2Zz4KPC9pcm9uLWljb25zZXQtc3ZnPmA7ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChSby5jb250ZW50KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE0IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IE9vPXhlYDxpcm9uLWljb25zZXQtc3ZnIG5hbWU9Imljb25zIiBzaXplPSIyNCI+Cjxzdmc+PGRlZnM+CjxnIGlkPSIzZC1yb3RhdGlvbiI+PHBhdGggZD0iTTcuNTIgMjEuNDhDNC4yNSAxOS45NCAxLjkxIDE2Ljc2IDEuNTUgMTNILjA1Qy41NiAxOS4xNiA1LjcxIDI0IDEyIDI0bC42Ni0uMDMtMy44MS0zLjgxLTEuMzMgMS4zMnptLjg5LTYuNTJjLS4xOSAwLS4zNy0uMDMtLjUyLS4wOC0uMTYtLjA2LS4yOS0uMTMtLjQtLjI0LS4xMS0uMS0uMi0uMjItLjI2LS4zNy0uMDYtLjE0LS4wOS0uMy0uMDktLjQ3aC0xLjNjMCAuMzYuMDcuNjguMjEuOTUuMTQuMjcuMzMuNS41Ni42OS4yNC4xOC41MS4zMi44Mi40MS4zLjEuNjIuMTUuOTYuMTUuMzcgMCAuNzItLjA1IDEuMDMtLjE1LjMyLS4xLjYtLjI1LjgzLS40NHMuNDItLjQzLjU1LS43MmMuMTMtLjI5LjItLjYxLjItLjk3IDAtLjE5LS4wMi0uMzgtLjA3LS41Ni0uMDUtLjE4LS4xMi0uMzUtLjIzLS41MS0uMS0uMTYtLjI0LS4zLS40LS40My0uMTctLjEzLS4zNy0uMjMtLjYxLS4zMS4yLS4wOS4zNy0uMi41Mi0uMzMuMTUtLjEzLjI3LS4yNy4zNy0uNDIuMS0uMTUuMTctLjMuMjItLjQ2LjA1LS4xNi4wNy0uMzIuMDctLjQ4IDAtLjM2LS4wNi0uNjgtLjE4LS45Ni0uMTItLjI4LS4yOS0uNTEtLjUxLS42OS0uMi0uMTktLjQ3LS4zMy0uNzctLjQzQzkuMSA4LjA1IDguNzYgOCA4LjM5IDhjLS4zNiAwLS42OS4wNS0xIC4xNi0uMy4xMS0uNTcuMjYtLjc5LjQ1LS4yMS4xOS0uMzguNDEtLjUxLjY3LS4xMi4yNi0uMTguNTQtLjE4Ljg1aDEuM2MwLS4xNy4wMy0uMzIuMDktLjQ1cy4xNC0uMjUuMjUtLjM0Yy4xMS0uMDkuMjMtLjE3LjM4LS4yMi4xNS0uMDUuMy0uMDguNDgtLjA4LjQgMCAuNy4xLjg5LjMxLjE5LjIuMjkuNDkuMjkuODYgMCAuMTgtLjAzLjM0LS4wOC40OS0uMDUuMTUtLjE0LjI3LS4yNS4zNy0uMTEuMS0uMjUuMTgtLjQxLjI0LS4xNi4wNi0uMzYuMDktLjU4LjA5SDcuNXYxLjAzaC43N2MuMjIgMCAuNDIuMDIuNi4wN3MuMzMuMTMuNDUuMjNjLjEyLjExLjIyLjI0LjI5LjQuMDcuMTYuMS4zNS4xLjU3IDAgLjQxLS4xMi43Mi0uMzUuOTMtLjIzLjIzLS41NS4zMy0uOTUuMzN6bTguNTUtNS45MmMtLjMyLS4zMy0uNy0uNTktMS4xNC0uNzctLjQzLS4xOC0uOTItLjI3LTEuNDYtLjI3SDEydjhoMi4zYy41NSAwIDEuMDYtLjA5IDEuNTEtLjI3LjQ1LS4xOC44NC0uNDMgMS4xNi0uNzYuMzItLjMzLjU3LS43My43NC0xLjE5LjE3LS40Ny4yNi0uOTkuMjYtMS41N3YtLjRjMC0uNTgtLjA5LTEuMS0uMjYtMS41Ny0uMTgtLjQ3LS40My0uODctLjc1LTEuMnptLS4zOSAzLjE2YzAgLjQyLS4wNS43OS0uMTQgMS4xMy0uMS4zMy0uMjQuNjItLjQzLjg1LS4xOS4yMy0uNDMuNDEtLjcxLjUzLS4yOS4xMi0uNjIuMTgtLjk5LjE4aC0uOTFWOS4xMmguOTdjLjcyIDAgMS4yNy4yMyAxLjY0LjY5LjM4LjQ2LjU3IDEuMTIuNTcgMS45OXYuNHpNMTIgMGwtLjY2LjAzIDMuODEgMy44MSAxLjMzLTEuMzNjMy4yNyAxLjU1IDUuNjEgNC43MiA1Ljk2IDguNDhoMS41QzIzLjQ0IDQuODQgMTguMjkgMCAxMiAweiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFjY2Vzc2liaWxpdHkiPjxwYXRoIGQ9Ik0xMiAyYzEuMSAwIDIgLjkgMiAycy0uOSAyLTIgMi0yLS45LTItMiAuOS0yIDItMnptOSA3aC02djEzaC0ydi02aC0ydjZIOVY5SDNWN2gxOHYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFjY2Vzc2libGUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iNCIgcj0iMiI+PC9jaXJjbGU+PHBhdGggZD0iTTE5IDEzdi0yYy0xLjU0LjAyLTMuMDktLjc1LTQuMDctMS44M2wtMS4yOS0xLjQzYy0uMTctLjE5LS4zOC0uMzQtLjYxLS40NS0uMDEgMC0uMDEtLjAxLS4wMi0uMDFIMTNjLS4zNS0uMi0uNzUtLjMtMS4xOS0uMjZDMTAuNzYgNy4xMSAxMCA4LjA0IDEwIDkuMDlWMTVjMCAxLjEuOSAyIDIgMmg1djVoMnYtNS41YzAtMS4xLS45LTItMi0yaC0zdi0zLjQ1YzEuMjkgMS4wNyAzLjI1IDEuOTQgNSAxLjk1em0tNi4xNyA1Yy0uNDEgMS4xNi0xLjUyIDItMi44MyAyLTEuNjYgMC0zLTEuMzQtMy0zIDAtMS4zMS44NC0yLjQxIDItMi44M1YxMi4xYy0yLjI4LjQ2LTQgMi40OC00IDQuOSAwIDIuNzYgMi4yNCA1IDUgNSAyLjQyIDAgNC40NC0xLjcyIDQuOS00aC0yLjA3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFjY291bnQtYmFsYW5jZSI+PHBhdGggZD0iTTQgMTB2N2gzdi03SDR6bTYgMHY3aDN2LTdoLTN6TTIgMjJoMTl2LTNIMnYzem0xNC0xMnY3aDN2LTdoLTN6bS00LjUtOUwyIDZ2MmgxOVY2bC05LjUtNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJhY2NvdW50LWJhbGFuY2Utd2FsbGV0Ij48cGF0aCBkPSJNMjEgMTh2MWMwIDEuMS0uOSAyLTIgMkg1Yy0xLjExIDAtMi0uOS0yLTJWNWMwLTEuMS44OS0yIDItMmgxNGMxLjEgMCAyIC45IDIgMnYxaC05Yy0xLjExIDAtMiAuOS0yIDJ2OGMwIDEuMS44OSAyIDIgMmg5em0tOS0yaDEwVjhIMTJ2OHptNC0yLjVjLS44MyAwLTEuNS0uNjctMS41LTEuNXMuNjctMS41IDEuNS0xLjUgMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFjY291bnQtYm94Ij48cGF0aCBkPSJNMyA1djE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJINWMtMS4xMSAwLTIgLjktMiAyem0xMiA0YzAgMS42Ni0xLjM0IDMtMyAzcy0zLTEuMzQtMy0zIDEuMzQtMyAzLTMgMyAxLjM0IDMgM3ptLTkgOGMwLTIgNC0zLjEgNi0zLjFzNiAxLjEgNiAzLjF2MUg2di0xeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFjY291bnQtY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAzYzEuNjYgMCAzIDEuMzQgMyAzcy0xLjM0IDMtMyAzLTMtMS4zNC0zLTMgMS4zNC0zIDMtM3ptMCAxNC4yYy0yLjUgMC00LjcxLTEuMjgtNi0zLjIyLjAzLTEuOTkgNC0zLjA4IDYtMy4wOCAxLjk5IDAgNS45NyAxLjA5IDYgMy4wOC0xLjI5IDEuOTQtMy41IDMuMjItNiAzLjIyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFkZCI+PHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJhZGQtYWxlcnQiPjxwYXRoIGQ9Ik0xMC4wMSAyMS4wMWMwIDEuMS44OSAxLjk5IDEuOTkgMS45OXMxLjk5LS44OSAxLjk5LTEuOTloLTMuOTh6bTguODctNC4xOVYxMWMwLTMuMjUtMi4yNS01Ljk3LTUuMjktNi42OXYtLjcyQzEzLjU5IDIuNzEgMTIuODggMiAxMiAycy0xLjU5LjcxLTEuNTkgMS41OXYuNzJDNy4zNyA1LjAzIDUuMTIgNy43NSA1LjEyIDExdjUuODJMMyAxOC45NFYyMGgxOHYtMS4wNmwtMi4xMi0yLjEyek0xNiAxMy4wMWgtM3YzaC0ydi0zSDhWMTFoM1Y4aDJ2M2gzdjIuMDF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYWRkLWJveCI+PHBhdGggZD0iTTE5IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS0yIDEwaC00djRoLTJ2LTRIN3YtMmg0VjdoMnY0aDR2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJhZGQtY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptNSAxMWgtNHY0aC0ydi00SDd2LTJoNFY3aDJ2NGg0djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYWRkLWNpcmNsZS1vdXRsaW5lIj48cGF0aCBkPSJNMTMgN2gtMnY0SDd2Mmg0djRoMnYtNGg0di0yaC00Vjd6bS0xLTVDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFkZC1zaG9wcGluZy1jYXJ0Ij48cGF0aCBkPSJNMTEgOWgyVjZoM1Y0aC0zVjFoLTJ2M0g4djJoM3Yzem0tNCA5Yy0xLjEgMC0xLjk5LjktMS45OSAyUzUuOSAyMiA3IDIyczItLjkgMi0yLS45LTItMi0yem0xMCAwYy0xLjEgMC0xLjk5LjktMS45OSAycy44OSAyIDEuOTkgMiAyLS45IDItMi0uOS0yLTItMnptLTkuODMtMy4yNWwuMDMtLjEyLjktMS42M2g3LjQ1Yy43NSAwIDEuNDEtLjQxIDEuNzUtMS4wM2wzLjg2LTcuMDFMMTkuNDIgNGgtLjAxbC0xLjEgMi0yLjc2IDVIOC41M2wtLjEzLS4yN0w2LjE2IDZsLS45NS0yLS45NC0ySDF2MmgybDMuNiA3LjU5LTEuMzUgMi40NWMtLjE2LjI4LS4yNS42MS0uMjUuOTYgMCAxLjEuOSAyIDIgMmgxMnYtMkg3LjQyYy0uMTMgMC0uMjUtLjExLS4yNS0uMjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYWxhcm0iPjxwYXRoIGQ9Ik0yMiA1LjcybC00LjYtMy44Ni0xLjI5IDEuNTMgNC42IDMuODZMMjIgNS43MnpNNy44OCAzLjM5TDYuNiAxLjg2IDIgNS43MWwxLjI5IDEuNTMgNC41OS0zLjg1ek0xMi41IDhIMTF2Nmw0Ljc1IDIuODUuNzUtMS4yMy00LTIuMzdWOHpNMTIgNGMtNC45NyAwLTkgNC4wMy05IDlzNC4wMiA5IDkgOWM0Ljk3IDAgOS00LjAzIDktOXMtNC4wMy05LTktOXptMCAxNmMtMy44NyAwLTctMy4xMy03LTdzMy4xMy03IDctNyA3IDMuMTMgNyA3LTMuMTMgNy03IDd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYWxhcm0tYWRkIj48cGF0aCBkPSJNNy44OCAzLjM5TDYuNiAxLjg2IDIgNS43MWwxLjI5IDEuNTMgNC41OS0zLjg1ek0yMiA1LjcybC00LjYtMy44Ni0xLjI5IDEuNTMgNC42IDMuODZMMjIgNS43MnpNMTIgNGMtNC45NyAwLTkgNC4wMy05IDlzNC4wMiA5IDkgOWM0Ljk3IDAgOS00LjAzIDktOXMtNC4wMy05LTktOXptMCAxNmMtMy44NyAwLTctMy4xMy03LTdzMy4xMy03IDctNyA3IDMuMTMgNyA3LTMuMTMgNy03IDd6bTEtMTFoLTJ2M0g4djJoM3YzaDJ2LTNoM3YtMmgtM1Y5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFsYXJtLW9mZiI+PHBhdGggZD0iTTEyIDZjMy44NyAwIDcgMy4xMyA3IDcgMCAuODQtLjE2IDEuNjUtLjQzIDIuNGwxLjUyIDEuNTJjLjU4LTEuMTkuOTEtMi41MS45MS0zLjkyIDAtNC45Ny00LjAzLTktOS05LTEuNDEgMC0yLjczLjMzLTMuOTIuOTFMOS42IDYuNDNDMTAuMzUgNi4xNiAxMS4xNiA2IDEyIDZ6bTEwLS4yOGwtNC42LTMuODYtMS4yOSAxLjUzIDQuNiAzLjg2TDIyIDUuNzJ6TTIuOTIgMi4yOUwxLjY1IDMuNTcgMi45OCA0LjlsLTEuMTEuOTMgMS40MiAxLjQyIDEuMTEtLjk0LjguOEMzLjgzIDguNjkgMyAxMC43NSAzIDEzYzAgNC45NyA0LjAyIDkgOSA5IDIuMjUgMCA0LjMxLS44MyA1Ljg5LTIuMmwyLjIgMi4yIDEuMjctMS4yN0wzLjg5IDMuMjdsLS45Ny0uOTh6bTEzLjU1IDE2LjFDMTUuMjYgMTkuMzkgMTMuNyAyMCAxMiAyMGMtMy44NyAwLTctMy4xMy03LTcgMC0xLjcuNjEtMy4yNiAxLjYxLTQuNDdsOS44NiA5Ljg2ek04LjAyIDMuMjhMNi42IDEuODZsLS44Ni43MSAxLjQyIDEuNDIuODYtLjcxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFsYXJtLW9uIj48cGF0aCBkPSJNMjIgNS43MmwtNC42LTMuODYtMS4yOSAxLjUzIDQuNiAzLjg2TDIyIDUuNzJ6TTcuODggMy4zOUw2LjYgMS44NiAyIDUuNzFsMS4yOSAxLjUzIDQuNTktMy44NXpNMTIgNGMtNC45NyAwLTkgNC4wMy05IDlzNC4wMiA5IDkgOWM0Ljk3IDAgOS00LjAzIDktOXMtNC4wMy05LTktOXptMCAxNmMtMy44NyAwLTctMy4xMy03LTdzMy4xMy03IDctNyA3IDMuMTMgNyA3LTMuMTMgNy03IDd6bS0xLjQ2LTUuNDdMOC40MSAxMi40bC0xLjA2IDEuMDYgMy4xOCAzLjE4IDYtNi0xLjA2LTEuMDYtNC45MyA0Ljk1eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFsbC1vdXQiPjxwYXRoIGQ9Ik0xNi4yMSA0LjE2bDQgNHYtNHptNCAxMmwtNCA0aDR6bS0xMiA0bC00LTR2NHptLTQtMTJsNC00aC00em0xMi45NS0uOTVjLTIuNzMtMi43My03LjE3LTIuNzMtOS45IDBzLTIuNzMgNy4xNyAwIDkuOSA3LjE3IDIuNzMgOS45IDAgMi43My03LjE2IDAtOS45em0tMS4xIDguOGMtMi4xMyAyLjEzLTUuNTcgMi4xMy03LjcgMHMtMi4xMy01LjU3IDAtNy43IDUuNTctMi4xMyA3LjcgMCAyLjEzIDUuNTcgMCA3Ljd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYW5kcm9pZCI+PHBhdGggZD0iTTYgMThjMCAuNTUuNDUgMSAxIDFoMXYzLjVjMCAuODMuNjcgMS41IDEuNSAxLjVzMS41LS42NyAxLjUtMS41VjE5aDJ2My41YzAgLjgzLjY3IDEuNSAxLjUgMS41czEuNS0uNjcgMS41LTEuNVYxOWgxYy41NSAwIDEtLjQ1IDEtMVY4SDZ2MTB6TTMuNSA4QzIuNjcgOCAyIDguNjcgMiA5LjV2N2MwIC44My42NyAxLjUgMS41IDEuNVM1IDE3LjMzIDUgMTYuNXYtN0M1IDguNjcgNC4zMyA4IDMuNSA4em0xNyAwYy0uODMgMC0xLjUuNjctMS41IDEuNXY3YzAgLjgzLjY3IDEuNSAxLjUgMS41czEuNS0uNjcgMS41LTEuNXYtN2MwLS44My0uNjctMS41LTEuNS0xLjV6bS00Ljk3LTUuODRsMS4zLTEuM2MuMi0uMi4yLS41MSAwLS43MS0uMi0uMi0uNTEtLjItLjcxIDBsLTEuNDggMS40OEMxMy44NSAxLjIzIDEyLjk1IDEgMTIgMWMtLjk2IDAtMS44Ni4yMy0yLjY2LjYzTDcuODUuMTVjLS4yLS4yLS41MS0uMi0uNzEgMC0uMi4yLS4yLjUxIDAgLjcxbDEuMzEgMS4zMUM2Ljk3IDMuMjYgNiA1LjAxIDYgN2gxMmMwLTEuOTktLjk3LTMuNzUtMi40Ny00Ljg0ek0xMCA1SDlWNGgxdjF6bTUgMGgtMVY0aDF2MXoiPjwvcGF0aD48L2c+CjxnIGlkPSJhbm5vdW5jZW1lbnQiPjxwYXRoIGQ9Ik0yMCAySDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAyMmw0LTRoMTRjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnptLTcgOWgtMlY1aDJ2NnptMCA0aC0ydi0yaDJ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJhcHBzIj48cGF0aCBkPSJNNCA4aDRWNEg0djR6bTYgMTJoNHYtNGgtNHY0em0tNiAwaDR2LTRINHY0em0wLTZoNHYtNEg0djR6bTYgMGg0di00aC00djR6bTYtMTB2NGg0VjRoLTR6bS02IDRoNFY0aC00djR6bTYgNmg0di00aC00djR6bTAgNmg0di00aC00djR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYXJjaGl2ZSI+PHBhdGggZD0iTTIwLjU0IDUuMjNsLTEuMzktMS42OEMxOC44OCAzLjIxIDE4LjQ3IDMgMTggM0g2Yy0uNDcgMC0uODguMjEtMS4xNi41NUwzLjQ2IDUuMjNDMy4xNyA1LjU3IDMgNi4wMiAzIDYuNVYxOWMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjYuNWMwLS40OC0uMTctLjkzLS40Ni0xLjI3ek0xMiAxNy41TDYuNSAxMkgxMHYtMmg0djJoMy41TDEyIDE3LjV6TTUuMTIgNWwuODEtMWgxMmwuOTQgMUg1LjEyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFycm93LWJhY2siPjxwYXRoIGQ9Ik0yMCAxMUg3LjgzbDUuNTktNS41OUwxMiA0bC04IDggOCA4IDEuNDEtMS40MUw3LjgzIDEzSDIwdi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFycm93LWRvd253YXJkIj48cGF0aCBkPSJNMjAgMTJsLTEuNDEtMS40MUwxMyAxNi4xN1Y0aC0ydjEyLjE3bC01LjU4LTUuNTlMNCAxMmw4IDggOC04eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFycm93LWRyb3AtZG93biI+PHBhdGggZD0iTTcgMTBsNSA1IDUtNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJhcnJvdy1kcm9wLWRvd24tY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxMmwtNC00aDhsLTQgNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJhcnJvdy1kcm9wLXVwIj48cGF0aCBkPSJNNyAxNGw1LTUgNSA1eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFycm93LWZvcndhcmQiPjxwYXRoIGQ9Ik0xMiA0bC0xLjQxIDEuNDFMMTYuMTcgMTFINHYyaDEyLjE3bC01LjU4IDUuNTlMMTIgMjBsOC04eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFycm93LXVwd2FyZCI+PHBhdGggZD0iTTQgMTJsMS40MSAxLjQxTDExIDcuODNWMjBoMlY3LjgzbDUuNTggNS41OUwyMCAxMmwtOC04LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJhc3BlY3QtcmF0aW8iPjxwYXRoIGQ9Ik0xOSAxMmgtMnYzaC0zdjJoNXYtNXpNNyA5aDNWN0g1djVoMlY5em0xNC02SDNjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNi4wMUgzVjQuOTloMTh2MTQuMDJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYXNzZXNzbWVudCI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yek05IDE3SDd2LTdoMnY3em00IDBoLTJWN2gydjEwem00IDBoLTJ2LTRoMnY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFzc2lnbm1lbnQiPjxwYXRoIGQ9Ik0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptMiAxNEg3di0yaDd2MnptMy00SDd2LTJoMTB2MnptMC00SDdWN2gxMHYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFzc2lnbm1lbnQtaW5kIj48cGF0aCBkPSJNMTkgM2gtNC4xOEMxNC40IDEuODQgMTMuMyAxIDEyIDFjLTEuMyAwLTIuNC44NC0yLjgyIDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNyAwYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bTAgNGMxLjY2IDAgMyAxLjM0IDMgM3MtMS4zNCAzLTMgMy0zLTEuMzQtMy0zIDEuMzQtMyAzLTN6bTYgMTJINnYtMS40YzAtMiA0LTMuMSA2LTMuMXM2IDEuMSA2IDMuMVYxOXoiPjwvcGF0aD48L2c+CjxnIGlkPSJhc3NpZ25tZW50LWxhdGUiPjxwYXRoIGQ9Ik0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS02IDE1aC0ydi0yaDJ2MnptMC00aC0yVjhoMnY2em0tMS05Yy0uNTUgMC0xLS40NS0xLTFzLjQ1LTEgMS0xIDEgLjQ1IDEgMS0uNDUgMS0xIDF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYXNzaWdubWVudC1yZXR1cm4iPjxwYXRoIGQ9Ik0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptNCAxMmgtNHYzbC01LTUgNS01djNoNHY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFzc2lnbm1lbnQtcmV0dXJuZWQiPjxwYXRoIGQ9Ik0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptMCAxNWwtNS01aDNWOWg0djRoM2wtNSA1eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFzc2lnbm1lbnQtdHVybmVkLWluIj48cGF0aCBkPSJNMTkgM2gtNC4xOEMxNC40IDEuODQgMTMuMyAxIDEyIDFjLTEuMyAwLTIuNC44NC0yLjgyIDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNyAwYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bS0yIDE0bC00LTQgMS40MS0xLjQxTDEwIDE0LjE3bDYuNTktNi41OUwxOCA5bC04IDh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYXR0YWNobWVudCI+PHBhdGggZD0iTTIgMTIuNUMyIDkuNDYgNC40NiA3IDcuNSA3SDE4YzIuMjEgMCA0IDEuNzkgNCA0cy0xLjc5IDQtNCA0SDkuNUM4LjEyIDE1IDcgMTMuODggNyAxMi41UzguMTIgMTAgOS41IDEwSDE3djJIOS40MWMtLjU1IDAtLjU1IDEgMCAxSDE4YzEuMSAwIDItLjkgMi0ycy0uOS0yLTItMkg3LjVDNS41NyA5IDQgMTAuNTcgNCAxMi41UzUuNTcgMTYgNy41IDE2SDE3djJINy41QzQuNDYgMTggMiAxNS41NCAyIDEyLjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYXV0b3JlbmV3Ij48cGF0aCBkPSJNMTIgNnYzbDQtNC00LTR2M2MtNC40MiAwLTggMy41OC04IDggMCAxLjU3LjQ2IDMuMDMgMS4yNCA0LjI2TDYuNyAxNC44Yy0uNDUtLjgzLS43LTEuNzktLjctMi44IDAtMy4zMSAyLjY5LTYgNi02em02Ljc2IDEuNzRMMTcuMyA5LjJjLjQ0Ljg0LjcgMS43OS43IDIuOCAwIDMuMzEtMi42OSA2LTYgNnYtM2wtNCA0IDQgNHYtM2M0LjQyIDAgOC0zLjU4IDgtOCAwLTEuNTctLjQ2LTMuMDMtMS4yNC00LjI2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJhY2tzcGFjZSI+PHBhdGggZD0iTTIyIDNIN2MtLjY5IDAtMS4yMy4zNS0xLjU5Ljg4TDAgMTJsNS40MSA4LjExYy4zNi41My45Ljg5IDEuNTkuODloMTVjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptLTMgMTIuNTlMMTcuNTkgMTcgMTQgMTMuNDEgMTAuNDEgMTcgOSAxNS41OSAxMi41OSAxMiA5IDguNDEgMTAuNDEgNyAxNCAxMC41OSAxNy41OSA3IDE5IDguNDEgMTUuNDEgMTIgMTkgMTUuNTl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYmFja3VwIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0xNCAxM3Y0aC00di00SDdsNS01IDUgNWgtM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJibG9jayI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6TTQgMTJjMC00LjQyIDMuNTgtOCA4LTggMS44NSAwIDMuNTUuNjMgNC45IDEuNjlMNS42OSAxNi45QzQuNjMgMTUuNTUgNCAxMy44NSA0IDEyem04IDhjLTEuODUgMC0zLjU1LS42My00LjktMS42OUwxOC4zMSA3LjFDMTkuMzcgOC40NSAyMCAxMC4xNSAyMCAxMmMwIDQuNDItMy41OCA4LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJib29rIj48cGF0aCBkPSJNMTggMkg2Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6TTYgNGg1djhsLTIuNS0xLjVMNiAxMlY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJvb2ttYXJrIj48cGF0aCBkPSJNMTcgM0g3Yy0xLjEgMC0xLjk5LjktMS45OSAyTDUgMjFsNy0zIDcgM1Y1YzAtMS4xLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJvb2ttYXJrLWJvcmRlciI+PHBhdGggZD0iTTE3IDNIN2MtMS4xIDAtMS45OS45LTEuOTkgMkw1IDIxbDctMyA3IDNWNWMwLTEuMS0uOS0yLTItMnptMCAxNWwtNS0yLjE4TDcgMThWNWgxMHYxM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJidWctcmVwb3J0Ij48cGF0aCBkPSJNMjAgOGgtMi44MWMtLjQ1LS43OC0xLjA3LTEuNDUtMS44Mi0xLjk2TDE3IDQuNDEgMTUuNTkgM2wtMi4xNyAyLjE3QzEyLjk2IDUuMDYgMTIuNDkgNSAxMiA1Yy0uNDkgMC0uOTYuMDYtMS40MS4xN0w4LjQxIDMgNyA0LjQxbDEuNjIgMS42M0M3Ljg4IDYuNTUgNy4yNiA3LjIyIDYuODEgOEg0djJoMi4wOWMtLjA1LjMzLS4wOS42Ni0uMDkgMXYxSDR2MmgydjFjMCAuMzQuMDQuNjcuMDkgMUg0djJoMi44MWMxLjA0IDEuNzkgMi45NyAzIDUuMTkgM3M0LjE1LTEuMjEgNS4xOS0zSDIwdi0yaC0yLjA5Yy4wNS0uMzMuMDktLjY2LjA5LTF2LTFoMnYtMmgtMnYtMWMwLS4zNC0uMDQtLjY3LS4wOS0xSDIwVjh6bS02IDhoLTR2LTJoNHYyem0wLTRoLTR2LTJoNHYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJ1aWxkIj48cGF0aCBkPSJNMjIuNyAxOWwtOS4xLTkuMWMuOS0yLjMuNC01LTEuNS02LjktMi0yLTUtMi40LTcuNC0xLjNMOSA2IDYgOSAxLjYgNC43Qy40IDcuMS45IDEwLjEgMi45IDEyLjFjMS45IDEuOSA0LjYgMi40IDYuOSAxLjVsOS4xIDkuMWMuNC40IDEgLjQgMS40IDBsMi4zLTIuM2MuNS0uNC41LTEuMS4xLTEuNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjYWNoZWQiPjxwYXRoIGQ9Ik0xOSA4bC00IDRoM2MwIDMuMzEtMi42OSA2LTYgNi0xLjAxIDAtMS45Ny0uMjUtMi44LS43bC0xLjQ2IDEuNDZDOC45NyAxOS41NCAxMC40MyAyMCAxMiAyMGM0LjQyIDAgOC0zLjU4IDgtOGgzbC00LTR6TTYgMTJjMC0zLjMxIDIuNjktNiA2LTYgMS4wMSAwIDEuOTcuMjUgMi44LjdsMS40Ni0xLjQ2QzE1LjAzIDQuNDYgMTMuNTcgNCAxMiA0Yy00LjQyIDAtOCAzLjU4LTggOEgxbDQgNCA0LTRINnoiPjwvcGF0aD48L2c+CjxnIGlkPSJjYW1lcmEtZW5oYW5jZSI+PHBhdGggZD0iTTkgM0w3LjE3IDVINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yaC0zLjE3TDE1IDNIOXptMyAxNWMtMi43NiAwLTUtMi4yNC01LTVzMi4yNC01IDUtNSA1IDIuMjQgNSA1LTIuMjQgNS01IDV6bTAtMWwxLjI1LTIuNzVMMTYgMTNsLTIuNzUtMS4yNUwxMiA5bC0xLjI1IDIuNzVMOCAxM2wyLjc1IDEuMjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2FuY2VsIj48cGF0aCBkPSJNMTIgMkM2LjQ3IDIgMiA2LjQ3IDIgMTJzNC40NyAxMCAxMCAxMCAxMC00LjQ3IDEwLTEwUzE3LjUzIDIgMTIgMnptNSAxMy41OUwxNS41OSAxNyAxMiAxMy40MSA4LjQxIDE3IDcgMTUuNTkgMTAuNTkgMTIgNyA4LjQxIDguNDEgNyAxMiAxMC41OSAxNS41OSA3IDE3IDguNDEgMTMuNDEgMTIgMTcgMTUuNTl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2FyZC1naWZ0Y2FyZCI+PHBhdGggZD0iTTIwIDZoLTIuMThjLjExLS4zMS4xOC0uNjUuMTgtMSAwLTEuNjYtMS4zNC0zLTMtMy0xLjA1IDAtMS45Ni41NC0yLjUgMS4zNWwtLjUuNjctLjUtLjY4QzEwLjk2IDIuNTQgMTAuMDUgMiA5IDIgNy4zNCAyIDYgMy4zNCA2IDVjMCAuMzUuMDcuNjkuMTggMUg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOWMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS01LTJjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXpNOSA0Yy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bTExIDE1SDR2LTJoMTZ2MnptMC01SDRWOGg1LjA4TDcgMTAuODMgOC42MiAxMiAxMSA4Ljc2bDEtMS4zNiAxIDEuMzZMMTUuMzggMTIgMTcgMTAuODMgMTQuOTIgOEgyMHY2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNhcmQtbWVtYmVyc2hpcCI+PHBhdGggZD0iTTIwIDJINGMtMS4xMSAwLTIgLjg5LTIgMnYxMWMwIDEuMTEuODkgMiAyIDJoNHY1bDQtMiA0IDJ2LTVoNGMxLjExIDAgMi0uODkgMi0yVjRjMC0xLjExLS44OS0yLTItMnptMCAxM0g0di0yaDE2djJ6bTAtNUg0VjRoMTZ2NnoiPjwvcGF0aD48L2c+CjxnIGlkPSJjYXJkLXRyYXZlbCI+PHBhdGggZD0iTTIwIDZoLTNWNGMwLTEuMTEtLjg5LTItMi0ySDljLTEuMTEgMC0yIC44OS0yIDJ2Mkg0Yy0xLjExIDAtMiAuODktMiAydjExYzAgMS4xMS44OSAyIDIgMmgxNmMxLjExIDAgMi0uODkgMi0yVjhjMC0xLjExLS44OS0yLTItMnpNOSA0aDZ2Mkg5VjR6bTExIDE1SDR2LTJoMTZ2MnptMC01SDRWOGgzdjJoMlY4aDZ2MmgyVjhoM3Y2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNoYW5nZS1oaXN0b3J5Ij48cGF0aCBkPSJNMTIgNy43N0wxOC4zOSAxOEg1LjYxTDEyIDcuNzdNMTIgNEwyIDIwaDIwTDEyIDR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2hlY2siPjxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiPjwvcGF0aD48L2c+CjxnIGlkPSJjaGVjay1ib3giPjxwYXRoIGQ9Ik0xOSAzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjExIDAgMi0uOSAyLTJWNWMwLTEuMS0uODktMi0yLTJ6bS05IDE0bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2hlY2stYm94LW91dGxpbmUtYmxhbmsiPjxwYXRoIGQ9Ik0xOSA1djE0SDVWNWgxNG0wLTJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNoZWNrLWNpcmNsZSI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0yIDE1bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2hldnJvbi1sZWZ0Ij48cGF0aCBkPSJNMTUuNDEgNy40MUwxNCA2bC02IDYgNiA2IDEuNDEtMS40MUwxMC44MyAxMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJjaGV2cm9uLXJpZ2h0Ij48cGF0aCBkPSJNMTAgNkw4LjU5IDcuNDEgMTMuMTcgMTJsLTQuNTggNC41OUwxMCAxOGw2LTZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2hyb21lLXJlYWRlci1tb2RlIj48cGF0aCBkPSJNMTMgMTJoN3YxLjVoLTd6bTAtMi41aDdWMTFoLTd6bTAgNWg3VjE2aC03ek0yMSA0SDNjLTEuMSAwLTIgLjktMiAydjEzYzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptMCAxNWgtOVY2aDl2MTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xhc3MiPjxwYXRoIGQ9Ik0xOCAySDZjLTEuMSAwLTIgLjktMiAydjE2YzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnpNNiA0aDV2OGwtMi41LTEuNUw2IDEyVjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xlYXIiPjxwYXRoIGQ9Ik0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xvc2UiPjxwYXRoIGQ9Ik0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xvdWQiPjxwYXRoIGQ9Ik0xOS4zNSAxMC4wNEMxOC42NyA2LjU5IDE1LjY0IDQgMTIgNCA5LjExIDQgNi42IDUuNjQgNS4zNSA4LjA0IDIuMzQgOC4zNiAwIDEwLjkxIDAgMTRjMCAzLjMxIDIuNjkgNiA2IDZoMTNjMi43NiAwIDUtMi4yNCA1LTUgMC0yLjY0LTIuMDUtNC43OC00LjY1LTQuOTZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xvdWQtY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptNC41IDE0SDhjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTNsLjE0LjAxQzguNTggOC4yOCAxMC4xMyA3IDEyIDdjMi4yMSAwIDQgMS43OSA0IDRoLjVjMS4zOCAwIDIuNSAxLjEyIDIuNSAyLjVTMTcuODggMTYgMTYuNSAxNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJjbG91ZC1kb25lIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0xMCAxN2wtMy41LTMuNSAxLjQxLTEuNDFMMTAgMTQuMTcgMTUuMTggOWwxLjQxIDEuNDFMMTAgMTd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xvdWQtZG93bmxvYWQiPjxwYXRoIGQ9Ik0xOS4zNSAxMC4wNEMxOC42NyA2LjU5IDE1LjY0IDQgMTIgNCA5LjExIDQgNi42IDUuNjQgNS4zNSA4LjA0IDIuMzQgOC4zNiAwIDEwLjkxIDAgMTRjMCAzLjMxIDIuNjkgNiA2IDZoMTNjMi43NiAwIDUtMi4yNCA1LTUgMC0yLjY0LTIuMDUtNC43OC00LjY1LTQuOTZ6TTE3IDEzbC01IDUtNS01aDNWOWg0djRoM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJjbG91ZC1vZmYiPjxwYXRoIGQ9Ik0xOS4zNSAxMC4wNEMxOC42NyA2LjU5IDE1LjY0IDQgMTIgNGMtMS40OCAwLTIuODUuNDMtNC4wMSAxLjE3bDEuNDYgMS40NkMxMC4yMSA2LjIzIDExLjA4IDYgMTIgNmMzLjA0IDAgNS41IDIuNDYgNS41IDUuNXYuNUgxOWMxLjY2IDAgMyAxLjM0IDMgMyAwIDEuMTMtLjY0IDIuMTEtMS41NiAyLjYybDEuNDUgMS40NUMyMy4xNiAxOC4xNiAyNCAxNi42OCAyNCAxNWMwLTIuNjQtMi4wNS00Ljc4LTQuNjUtNC45NnpNMyA1LjI3bDIuNzUgMi43NEMyLjU2IDguMTUgMCAxMC43NyAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDExLjczbDIgMkwyMSAyMC43MyA0LjI3IDQgMyA1LjI3ek03LjczIDEwbDggOEg2Yy0yLjIxIDAtNC0xLjc5LTQtNHMxLjc5LTQgNC00aDEuNzN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xvdWQtcXVldWUiPjxwYXRoIGQ9Ik0xOS4zNSAxMC4wNEMxOC42NyA2LjU5IDE1LjY0IDQgMTIgNCA5LjExIDQgNi42IDUuNjQgNS4zNSA4LjA0IDIuMzQgOC4zNiAwIDEwLjkxIDAgMTRjMCAzLjMxIDIuNjkgNiA2IDZoMTNjMi43NiAwIDUtMi4yNCA1LTUgMC0yLjY0LTIuMDUtNC43OC00LjY1LTQuOTZ6TTE5IDE4SDZjLTIuMjEgMC00LTEuNzktNC00czEuNzktNCA0LTRoLjcxQzcuMzcgNy42OSA5LjQ4IDYgMTIgNmMzLjA0IDAgNS41IDIuNDYgNS41IDUuNXYuNUgxOWMxLjY2IDAgMyAxLjM0IDMgM3MtMS4zNCAzLTMgM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJjbG91ZC11cGxvYWQiPjxwYXRoIGQ9Ik0xOS4zNSAxMC4wNEMxOC42NyA2LjU5IDE1LjY0IDQgMTIgNCA5LjExIDQgNi42IDUuNjQgNS4zNSA4LjA0IDIuMzQgOC4zNiAwIDEwLjkxIDAgMTRjMCAzLjMxIDIuNjkgNiA2IDZoMTNjMi43NiAwIDUtMi4yNCA1LTUgMC0yLjY0LTIuMDUtNC43OC00LjY1LTQuOTZ6TTE0IDEzdjRoLTR2LTRIN2w1LTUgNSA1aC0zeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNvZGUiPjxwYXRoIGQ9Ik05LjQgMTYuNkw0LjggMTJsNC42LTQuNkw4IDZsLTYgNiA2IDYgMS40LTEuNHptNS4yIDBsNC42LTQuNi00LjYtNC42TDE2IDZsNiA2LTYgNi0xLjQtMS40eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNvbXBhcmUtYXJyb3dzIj48cGF0aCBkPSJNOS4wMSAxNEgydjJoNy4wMXYzTDEzIDE1bC0zLjk5LTR2M3ptNS45OC0xdi0zSDIyVjhoLTcuMDFWNUwxMSA5bDMuOTkgNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjb250ZW50LWNvcHkiPjxwYXRoIGQ9Ik0xNiAxSDRjLTEuMSAwLTIgLjktMiAydjE0aDJWM2gxMlYxem0zIDRIOGMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxMWMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0wIDE2SDhWN2gxMXYxNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjb250ZW50LWN1dCI+PHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJjb250ZW50LXBhc3RlIj48cGF0aCBkPSJNMTkgMmgtNC4xOEMxNC40Ljg0IDEzLjMgMCAxMiAwYy0xLjMgMC0yLjQuODQtMi44MiAySDVjLTEuMSAwLTIgLjktMiAydjE2YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnptLTcgMGMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xem03IDE4SDVWNGgydjNoMTBWNGgydjE2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNvcHlyaWdodCI+PHBhdGggZD0iTTEwLjA4IDEwLjg2Yy4wNS0uMzMuMTYtLjYyLjMtLjg3cy4zNC0uNDYuNTktLjYyYy4yNC0uMTUuNTQtLjIyLjkxLS4yMy4yMy4wMS40NC4wNS42My4xMy4yLjA5LjM4LjIxLjUyLjM2cy4yNS4zMy4zNC41My4xMy40Mi4xNC42NGgxLjc5Yy0uMDItLjQ3LS4xMS0uOS0uMjgtMS4yOXMtLjQtLjczLS43LTEuMDEtLjY2LS41LTEuMDgtLjY2LS44OC0uMjMtMS4zOS0uMjNjLS42NSAwLTEuMjIuMTEtMS43LjM0cy0uODguNTMtMS4yLjkyLS41Ni44NC0uNzEgMS4zNlM4IDExLjI5IDggMTEuODd2LjI3YzAgLjU4LjA4IDEuMTIuMjMgMS42NHMuMzkuOTcuNzEgMS4zNS43Mi42OSAxLjIuOTEgMS4wNS4zNCAxLjcuMzRjLjQ3IDAgLjkxLS4wOCAxLjMyLS4yM3MuNzctLjM2IDEuMDgtLjYzLjU2LS41OC43NC0uOTQuMjktLjc0LjMtMS4xNWgtMS43OWMtLjAxLjIxLS4wNi40LS4xNS41OHMtLjIxLjMzLS4zNi40Ni0uMzIuMjMtLjUyLjNjLS4xOS4wNy0uMzkuMDktLjYuMS0uMzYtLjAxLS42Ni0uMDgtLjg5LS4yMy0uMjUtLjE2LS40NS0uMzctLjU5LS42MnMtLjI1LS41NS0uMy0uODgtLjA4LS42Ny0uMDgtMXYtLjI3YzAtLjM1LjAzLS42OC4wOC0xLjAxek0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjcmVhdGUiPjxwYXRoIGQ9Ik0zIDE3LjI1VjIxaDMuNzVMMTcuODEgOS45NGwtMy43NS0zLjc1TDMgMTcuMjV6TTIwLjcxIDcuMDRjLjM5LS4zOS4zOS0xLjAyIDAtMS40MWwtMi4zNC0yLjM0Yy0uMzktLjM5LTEuMDItLjM5LTEuNDEgMGwtMS44MyAxLjgzIDMuNzUgMy43NSAxLjgzLTEuODN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JlYXRlLW5ldy1mb2xkZXIiPjxwYXRoIGQ9Ik0yMCA2aC04bC0yLTJINGMtMS4xMSAwLTEuOTkuODktMS45OSAyTDIgMThjMCAxLjExLjg5IDIgMiAyaDE2YzEuMTEgMCAyLS44OSAyLTJWOGMwLTEuMTEtLjg5LTItMi0yem0tMSA4aC0zdjNoLTJ2LTNoLTN2LTJoM1Y5aDJ2M2gzdjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JlZGl0LWNhcmQiPjxwYXRoIGQ9Ik0yMCA0SDRjLTEuMTEgMC0xLjk5Ljg5LTEuOTkgMkwyIDE4YzAgMS4xMS44OSAyIDIgMmgxNmMxLjExIDAgMi0uODkgMi0yVjZjMC0xLjExLS44OS0yLTItMnptMCAxNEg0di02aDE2djZ6bTAtMTBINFY2aDE2djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZGFzaGJvYXJkIj48cGF0aCBkPSJNMyAxM2g4VjNIM3YxMHptMCA4aDh2LTZIM3Y2em0xMCAwaDhWMTFoLTh2MTB6bTAtMTh2Nmg4VjNoLTh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZGF0ZS1yYW5nZSI+PHBhdGggZD0iTTkgMTFIN3YyaDJ2LTJ6bTQgMGgtMnYyaDJ2LTJ6bTQgMGgtMnYyaDJ2LTJ6bTItN2gtMVYyaC0ydjJIOFYySDZ2Mkg1Yy0xLjExIDAtMS45OS45LTEuOTkgMkwzIDIwYzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY5aDE0djExeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImRlbGV0ZSI+PHBhdGggZD0iTTYgMTljMCAxLjEuOSAyIDIgMmg4YzEuMSAwIDItLjkgMi0yVjdINnYxMnpNMTkgNGgtMy41bC0xLTFoLTVsLTEgMUg1djJoMTRWNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJkZWxldGUtZm9yZXZlciI+PHBhdGggZD0iTTYgMTljMCAxLjEuOSAyIDIgMmg4YzEuMSAwIDItLjkgMi0yVjdINnYxMnptMi40Ni03LjEybDEuNDEtMS40MUwxMiAxMi41OWwyLjEyLTIuMTIgMS40MSAxLjQxTDEzLjQxIDE0bDIuMTIgMi4xMi0xLjQxIDEuNDFMMTIgMTUuNDFsLTIuMTIgMi4xMi0xLjQxLTEuNDFMMTAuNTkgMTRsLTIuMTMtMi4xMnpNMTUuNSA0bC0xLTFoLTVsLTEgMUg1djJoMTRWNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJkZWxldGUtc3dlZXAiPjxwYXRoIGQ9Ik0xNSAxNmg0djJoLTR6bTAtOGg3djJoLTd6bTAgNGg2djJoLTZ6TTMgMThjMCAxLjEuOSAyIDIgMmg2YzEuMSAwIDItLjkgMi0yVjhIM3YxMHpNMTQgNWgtM2wtMS0xSDZMNSA1SDJ2MmgxMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJkZXNjcmlwdGlvbiI+PHBhdGggZD0iTTE0IDJINmMtMS4xIDAtMS45OS45LTEuOTkgMkw0IDIwYzAgMS4xLjg5IDIgMS45OSAySDE4YzEuMSAwIDItLjkgMi0yVjhsLTYtNnptMiAxNkg4di0yaDh2MnptMC00SDh2LTJoOHYyem0tMy01VjMuNUwxOC41IDlIMTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZG5zIj48cGF0aCBkPSJNMjAgMTNINGMtLjU1IDAtMSAuNDUtMSAxdjZjMCAuNTUuNDUgMSAxIDFoMTZjLjU1IDAgMS0uNDUgMS0xdi02YzAtLjU1LS40NS0xLTEtMXpNNyAxOWMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6TTIwIDNINGMtLjU1IDAtMSAuNDUtMSAxdjZjMCAuNTUuNDUgMSAxIDFoMTZjLjU1IDAgMS0uNDUgMS0xVjRjMC0uNTUtLjQ1LTEtMS0xek03IDljLTEuMSAwLTItLjktMi0ycy45LTIgMi0yIDIgLjkgMiAyLS45IDItMiAyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImRvbmUiPjxwYXRoIGQ9Ik05IDE2LjJMNC44IDEybC0xLjQgMS40TDkgMTkgMjEgN2wtMS40LTEuNEw5IDE2LjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZG9uZS1hbGwiPjxwYXRoIGQ9Ik0xOCA3bC0xLjQxLTEuNDEtNi4zNCA2LjM0IDEuNDEgMS40MUwxOCA3em00LjI0LTEuNDFMMTEuNjYgMTYuMTcgNy40OCAxMmwtMS40MSAxLjQxTDExLjY2IDE5bDEyLTEyLTEuNDItMS40MXpNLjQxIDEzLjQxTDYgMTlsMS40MS0xLjQxTDEuODMgMTIgLjQxIDEzLjQxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImRvbnV0LWxhcmdlIj48cGF0aCBkPSJNMTEgNS4wOFYyYy01IC41LTkgNC44MS05IDEwczQgOS41IDkgMTB2LTMuMDhjLTMtLjQ4LTYtMy40LTYtNi45MnMzLTYuNDQgNi02Ljkyek0xOC45NyAxMUgyMmMtLjQ3LTUtNC04LjUzLTktOXYzLjA4QzE2IDUuNTEgMTguNTQgOCAxOC45NyAxMXpNMTMgMTguOTJWMjJjNS0uNDcgOC41My00IDktOWgtMy4wM2MtLjQzIDMtMi45NyA1LjQ5LTUuOTcgNS45MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJkb251dC1zbWFsbCI+PHBhdGggZD0iTTExIDkuMTZWMmMtNSAuNS05IDQuNzktOSAxMHM0IDkuNSA5IDEwdi03LjE2Yy0xLS40MS0yLTEuNTItMi0yLjg0czEtMi40MyAyLTIuODR6TTE0Ljg2IDExSDIyYy0uNDgtNC43NS00LTguNTMtOS05djcuMTZjMSAuMyAxLjUyLjk4IDEuODYgMS44NHpNMTMgMTQuODRWMjJjNS0uNDcgOC41Mi00LjI1IDktOWgtNy4xNGMtLjM0Ljg2LS44NiAxLjU0LTEuODYgMS44NHoiPjwvcGF0aD48L2c+CjxnIGlkPSJkcmFmdHMiPjxwYXRoIGQ9Ik0yMS45OSA4YzAtLjcyLS4zNy0xLjM1LS45NC0xLjdMMTIgMSAyLjk1IDYuM0MyLjM4IDYuNjUgMiA3LjI4IDIgOHYxMGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0ybC0uMDEtMTB6TTEyIDEzTDMuNzQgNy44NCAxMiAzbDguMjYgNC44NEwxMiAxM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJlamVjdCI+PHBhdGggZD0iTTUgMTdoMTR2Mkg1em03LTEyTDUuMzMgMTVoMTMuMzR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXJyb3IiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0xIDE1aC0ydi0yaDJ2MnptMC00aC0yVjdoMnY2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImVycm9yLW91dGxpbmUiPjxwYXRoIGQ9Ik0xMSAxNWgydjJoLTJ6bTAtOGgydjZoLTJ6bS45OS01QzYuNDcgMiAyIDYuNDggMiAxMnM0LjQ3IDEwIDkuOTkgMTBDMTcuNTIgMjIgMjIgMTcuNTIgMjIgMTJTMTcuNTIgMiAxMS45OSAyek0xMiAyMGMtNC40MiAwLTgtMy41OC04LThzMy41OC04IDgtOCA4IDMuNTggOCA4LTMuNTggOC04IDh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXVyby1zeW1ib2wiPjxwYXRoIGQ9Ik0xNSAxOC41Yy0yLjUxIDAtNC42OC0xLjQyLTUuNzYtMy41SDE1di0ySDguNThjLS4wNS0uMzMtLjA4LS42Ni0uMDgtMXMuMDMtLjY3LjA4LTFIMTVWOUg5LjI0QzEwLjMyIDYuOTIgMTIuNSA1LjUgMTUgNS41YzEuNjEgMCAzLjA5LjU5IDQuMjMgMS41N0wyMSA1LjNDMTkuNDEgMy44NyAxNy4zIDMgMTUgM2MtMy45MiAwLTcuMjQgMi41MS04LjQ4IDZIM3YyaDMuMDZjLS4wNC4zMy0uMDYuNjYtLjA2IDEgMCAuMzQuMDIuNjcuMDYgMUgzdjJoMy41MmMxLjI0IDMuNDkgNC41NiA2IDguNDggNiAyLjMxIDAgNC40MS0uODcgNi0yLjNsLTEuNzgtMS43N2MtMS4xMy45OC0yLjYgMS41Ny00LjIyIDEuNTd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXZlbnQiPjxwYXRoIGQ9Ik0xNyAxMmgtNXY1aDV2LTV6TTE2IDF2Mkg4VjFINnYySDVjLTEuMTEgMC0xLjk5LjktMS45OSAyTDMgMTljMCAxLjEuODkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMmgtMVYxaC0yem0zIDE4SDVWOGgxNHYxMXoiPjwvcGF0aD48L2c+CjxnIGlkPSJldmVudC1zZWF0Ij48cGF0aCBkPSJNNCAxOHYzaDN2LTNoMTB2M2gzdi02SDR6bTE1LThoM3YzaC0zek0yIDEwaDN2M0gyem0xNSAzSDdWNWMwLTEuMS45LTIgMi0yaDZjMS4xIDAgMiAuOSAyIDJ2OHoiPjwvcGF0aD48L2c+CjxnIGlkPSJleGl0LXRvLWFwcCI+PHBhdGggZD0iTTEwLjA5IDE1LjU5TDExLjUgMTdsNS01LTUtNS0xLjQxIDEuNDFMMTIuNjcgMTFIM3YyaDkuNjdsLTIuNTggMi41OXpNMTkgM0g1Yy0xLjExIDAtMiAuOS0yIDJ2NGgyVjVoMTR2MTRINXYtNEgzdjRjMCAxLjEuODkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJleHBhbmQtbGVzcyI+PHBhdGggZD0iTTEyIDhsLTYgNiAxLjQxIDEuNDFMMTIgMTAuODNsNC41OSA0LjU4TDE4IDE0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImV4cGFuZC1tb3JlIj48cGF0aCBkPSJNMTYuNTkgOC41OUwxMiAxMy4xNyA3LjQxIDguNTkgNiAxMGw2IDYgNi02eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImV4cGxvcmUiPjxwYXRoIGQ9Ik0xMiAxMC45Yy0uNjEgMC0xLjEuNDktMS4xIDEuMXMuNDkgMS4xIDEuMSAxLjFjLjYxIDAgMS4xLS40OSAxLjEtMS4xcy0uNDktMS4xLTEuMS0xLjF6TTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTIuMTkgMTIuMTlMNiAxOGwzLjgxLTguMTlMMTggNmwtMy44MSA4LjE5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImV4dGVuc2lvbiI+PHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZhY2UiPjxwYXRoIGQ9Ik05IDExLjc1Yy0uNjkgMC0xLjI1LjU2LTEuMjUgMS4yNXMuNTYgMS4yNSAxLjI1IDEuMjUgMS4yNS0uNTYgMS4yNS0xLjI1LS41Ni0xLjI1LTEuMjUtMS4yNXptNiAwYy0uNjkgMC0xLjI1LjU2LTEuMjUgMS4yNXMuNTYgMS4yNSAxLjI1IDEuMjUgMS4yNS0uNTYgMS4yNS0xLjI1LS41Ni0xLjI1LTEuMjUtMS4yNXpNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MSAwLTgtMy41OS04LTggMC0uMjkuMDItLjU4LjA1LS44NiAyLjM2LTEuMDUgNC4yMy0yLjk4IDUuMjEtNS4zN0MxMS4wNyA4LjMzIDE0LjA1IDEwIDE3LjQyIDEwYy43OCAwIDEuNTMtLjA5IDIuMjUtLjI2LjIxLjcxLjMzIDEuNDcuMzMgMi4yNiAwIDQuNDEtMy41OSA4LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJmYXZvcml0ZSI+PHBhdGggZD0iTTEyIDIxLjM1bC0xLjQ1LTEuMzJDNS40IDE1LjM2IDIgMTIuMjggMiA4LjUgMiA1LjQyIDQuNDIgMyA3LjUgM2MxLjc0IDAgMy40MS44MSA0LjUgMi4wOUMxMy4wOSAzLjgxIDE0Ljc2IDMgMTYuNSAzIDE5LjU4IDMgMjIgNS40MiAyMiA4LjVjMCAzLjc4LTMuNCA2Ljg2LTguNTUgMTEuNTRMMTIgMjEuMzV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmF2b3JpdGUtYm9yZGVyIj48cGF0aCBkPSJNMTYuNSAzYy0xLjc0IDAtMy40MS44MS00LjUgMi4wOUMxMC45MSAzLjgxIDkuMjQgMyA3LjUgMyA0LjQyIDMgMiA1LjQyIDIgOC41YzAgMy43OCAzLjQgNi44NiA4LjU1IDExLjU0TDEyIDIxLjM1bDEuNDUtMS4zMkMxOC42IDE1LjM2IDIyIDEyLjI4IDIyIDguNSAyMiA1LjQyIDE5LjU4IDMgMTYuNSAzem0tNC40IDE1LjU1bC0uMS4xLS4xLS4xQzcuMTQgMTQuMjQgNCAxMS4zOSA0IDguNSA0IDYuNSA1LjUgNSA3LjUgNWMxLjU0IDAgMy4wNC45OSAzLjU3IDIuMzZoMS44N0MxMy40NiA1Ljk5IDE0Ljk2IDUgMTYuNSA1YzIgMCAzLjUgMS41IDMuNSAzLjUgMCAyLjg5LTMuMTQgNS43NC03LjkgMTAuMDV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmVlZGJhY2siPjxwYXRoIGQ9Ik0yMCAySDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAyMmw0LTRoMTRjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnptLTcgMTJoLTJ2LTJoMnYyem0wLTRoLTJWNmgydjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsZS1kb3dubG9hZCI+PHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWxlLXVwbG9hZCI+PHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZpbHRlci1saXN0Ij48cGF0aCBkPSJNMTAgMThoNHYtMmgtNHYyek0zIDZ2MmgxOFY2SDN6bTMgN2gxMnYtMkg2djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmluZC1pbi1wYWdlIj48cGF0aCBkPSJNMjAgMTkuNTlWOGwtNi02SDZjLTEuMSAwLTEuOTkuOS0xLjk5IDJMNCAyMGMwIDEuMS44OSAyIDEuOTkgMkgxOGMuNDUgMCAuODUtLjE1IDEuMTktLjRsLTQuNDMtNC40M2MtLjguNTItMS43NC44My0yLjc2LjgzLTIuNzYgMC01LTIuMjQtNS01czIuMjQtNSA1LTUgNSAyLjI0IDUgNWMwIDEuMDItLjMxIDEuOTYtLjgzIDIuNzVMMjAgMTkuNTl6TTkgMTNjMCAxLjY2IDEuMzQgMyAzIDNzMy0xLjM0IDMtMy0xLjM0LTMtMy0zLTMgMS4zNC0zIDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmluZC1yZXBsYWNlIj48cGF0aCBkPSJNMTEgNmMxLjM4IDAgMi42My41NiAzLjU0IDEuNDZMMTIgMTBoNlY0bC0yLjA1IDIuMDVDMTQuNjggNC43OCAxMi45MyA0IDExIDRjLTMuNTMgMC02LjQzIDIuNjEtNi45MiA2SDYuMWMuNDYtMi4yOCAyLjQ4LTQgNC45LTR6bTUuNjQgOS4xNGMuNjYtLjkgMS4xMi0xLjk3IDEuMjgtMy4xNEgxNS45Yy0uNDYgMi4yOC0yLjQ4IDQtNC45IDQtMS4zOCAwLTIuNjMtLjU2LTMuNTQtMS40NkwxMCAxMkg0djZsMi4wNS0yLjA1QzcuMzIgMTcuMjIgOS4wNyAxOCAxMSAxOGMxLjU1IDAgMi45OC0uNTEgNC4xNC0xLjM2TDIwIDIxLjQ5IDIxLjQ5IDIwbC00Ljg1LTQuODZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmluZ2VycHJpbnQiPjxwYXRoIGQ9Ik0xNy44MSA0LjQ3Yy0uMDggMC0uMTYtLjAyLS4yMy0uMDZDMTUuNjYgMy40MiAxNCAzIDEyLjAxIDNjLTEuOTggMC0zLjg2LjQ3LTUuNTcgMS40MS0uMjQuMTMtLjU0LjA0LS42OC0uMi0uMTMtLjI0LS4wNC0uNTUuMi0uNjhDNy44MiAyLjUyIDkuODYgMiAxMi4wMSAyYzIuMTMgMCAzLjk5LjQ3IDYuMDMgMS41Mi4yNS4xMy4zNC40My4yMS42Ny0uMDkuMTgtLjI2LjI4LS40NC4yOHpNMy41IDkuNzJjLS4xIDAtLjItLjAzLS4yOS0uMDktLjIzLS4xNi0uMjgtLjQ3LS4xMi0uNy45OS0xLjQgMi4yNS0yLjUgMy43NS0zLjI3QzkuOTggNC4wNCAxNCA0LjAzIDE3LjE1IDUuNjVjMS41Ljc3IDIuNzYgMS44NiAzLjc1IDMuMjUuMTYuMjIuMTEuNTQtLjEyLjctLjIzLjE2LS41NC4xMS0uNy0uMTItLjktMS4yNi0yLjA0LTIuMjUtMy4zOS0yLjk0LTIuODctMS40Ny02LjU0LTEuNDctOS40LjAxLTEuMzYuNy0yLjUgMS43LTMuNCAyLjk2LS4wOC4xNC0uMjMuMjEtLjM5LjIxem02LjI1IDEyLjA3Yy0uMTMgMC0uMjYtLjA1LS4zNS0uMTUtLjg3LS44Ny0xLjM0LTEuNDMtMi4wMS0yLjY0LS42OS0xLjIzLTEuMDUtMi43My0xLjA1LTQuMzQgMC0yLjk3IDIuNTQtNS4zOSA1LjY2LTUuMzlzNS42NiAyLjQyIDUuNjYgNS4zOWMwIC4yOC0uMjIuNS0uNS41cy0uNS0uMjItLjUtLjVjMC0yLjQyLTIuMDktNC4zOS00LjY2LTQuMzktMi41NyAwLTQuNjYgMS45Ny00LjY2IDQuMzkgMCAxLjQ0LjMyIDIuNzcuOTMgMy44NS42NCAxLjE1IDEuMDggMS42NCAxLjg1IDIuNDIuMTkuMi4xOS41MSAwIC43MS0uMTEuMS0uMjQuMTUtLjM3LjE1em03LjE3LTEuODVjLTEuMTkgMC0yLjI0LS4zLTMuMS0uODktMS40OS0xLjAxLTIuMzgtMi42NS0yLjM4LTQuMzkgMC0uMjguMjItLjUuNS0uNXMuNS4yMi41LjVjMCAxLjQxLjcyIDIuNzQgMS45NCAzLjU2LjcxLjQ4IDEuNTQuNzEgMi41NC43MS4yNCAwIC42NC0uMDMgMS4wNC0uMS4yNy0uMDUuNTMuMTMuNTguNDEuMDUuMjctLjEzLjUzLS40MS41OC0uNTcuMTEtMS4wNy4xMi0xLjIxLjEyek0xNC45MSAyMmMtLjA0IDAtLjA5LS4wMS0uMTMtLjAyLTEuNTktLjQ0LTIuNjMtMS4wMy0zLjcyLTIuMS0xLjQtMS4zOS0yLjE3LTMuMjQtMi4xNy01LjIyIDAtMS42MiAxLjM4LTIuOTQgMy4wOC0yLjk0IDEuNyAwIDMuMDggMS4zMiAzLjA4IDIuOTQgMCAxLjA3LjkzIDEuOTQgMi4wOCAxLjk0czIuMDgtLjg3IDIuMDgtMS45NGMwLTMuNzctMy4yNS02LjgzLTcuMjUtNi44My0yLjg0IDAtNS40NCAxLjU4LTYuNjEgNC4wMy0uMzkuODEtLjU5IDEuNzYtLjU5IDIuOCAwIC43OC4wNyAyLjAxLjY3IDMuNjEuMS4yNi0uMDMuNTUtLjI5LjY0LS4yNi4xLS41NS0uMDQtLjY0LS4yOS0uNDktMS4zMS0uNzMtMi42MS0uNzMtMy45NiAwLTEuMi4yMy0yLjI5LjY4LTMuMjQgMS4zMy0yLjc5IDQuMjgtNC42IDcuNTEtNC42IDQuNTUgMCA4LjI1IDMuNTEgOC4yNSA3LjgzIDAgMS42Mi0xLjM4IDIuOTQtMy4wOCAyLjk0cy0zLjA4LTEuMzItMy4wOC0yLjk0YzAtMS4wNy0uOTMtMS45NC0yLjA4LTEuOTRzLTIuMDguODctMi4wOCAxLjk0YzAgMS43MS42NiAzLjMxIDEuODcgNC41MS45NS45NCAxLjg2IDEuNDYgMy4yNyAxLjg1LjI3LjA3LjQyLjM1LjM1LjYxLS4wNS4yMy0uMjYuMzgtLjQ3LjM4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZpcnN0LXBhZ2UiPjxwYXRoIGQ9Ik0xOC40MSAxNi41OUwxMy44MiAxMmw0LjU5LTQuNTlMMTcgNmwtNiA2IDYgNnpNNiA2aDJ2MTJINnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmbGFnIj48cGF0aCBkPSJNMTQuNCA2TDE0IDRINXYxN2gydi03aDUuNmwuNCAyaDdWNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmbGlnaHQtbGFuZCI+PHBhdGggZD0iTTIuNSAxOWgxOXYyaC0xOXptNy4xOC01LjczbDQuMzUgMS4xNiA1LjMxIDEuNDJjLjguMjEgMS42Mi0uMjYgMS44NC0xLjA2LjIxLS44LS4yNi0xLjYyLTEuMDYtMS44NGwtNS4zMS0xLjQyLTIuNzYtOS4wMkwxMC4xMiAydjguMjhMNS4xNSA4Ljk1bC0uOTMtMi4zMi0xLjQ1LS4zOXY1LjE3bDEuNi40MyA1LjMxIDEuNDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmxpZ2h0LXRha2VvZmYiPjxwYXRoIGQ9Ik0yLjUgMTloMTl2MmgtMTl6bTE5LjU3LTkuMzZjLS4yMS0uOC0xLjA0LTEuMjgtMS44NC0xLjA2TDE0LjkyIDEwbC02LjktNi40My0xLjkzLjUxIDQuMTQgNy4xNy00Ljk3IDEuMzMtMS45Ny0xLjU0LTEuNDUuMzkgMS44MiAzLjE2Ljc3IDEuMzMgMS42LS40MyA1LjMxLTEuNDIgNC4zNS0xLjE2TDIxIDExLjQ5Yy44MS0uMjMgMS4yOC0xLjA1IDEuMDctMS44NXoiPjwvcGF0aD48L2c+CjxnIGlkPSJmbGlwLXRvLWJhY2siPjxwYXRoIGQ9Ik05IDdIN3YyaDJWN3ptMCA0SDd2Mmgydi0yem0wLThjLTEuMTEgMC0yIC45LTIgMmgyVjN6bTQgMTJoLTJ2Mmgydi0yem02LTEydjJoMmMwLTEuMS0uOS0yLTItMnptLTYgMGgtMnYyaDJWM3pNOSAxN3YtMkg3YzAgMS4xLjg5IDIgMiAyem0xMC00aDJ2LTJoLTJ2MnptMC00aDJWN2gtMnYyem0wIDhjMS4xIDAgMi0uOSAyLTJoLTJ2MnpNNSA3SDN2MTJjMCAxLjEuODkgMiAyIDJoMTJ2LTJINVY3em0xMC0yaDJWM2gtMnYyem0wIDEyaDJ2LTJoLTJ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmbGlwLXRvLWZyb250Ij48cGF0aCBkPSJNMyAxM2gydi0ySDN2MnptMCA0aDJ2LTJIM3Yyem0yIDR2LTJIM2MwIDEuMS44OSAyIDIgMnpNMyA5aDJWN0gzdjJ6bTEyIDEyaDJ2LTJoLTJ2MnptNC0xOEg5Yy0xLjExIDAtMiAuOS0yIDJ2MTBjMCAxLjEuODkgMiAyIDJoMTBjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxMkg5VjVoMTB2MTB6bS04IDZoMnYtMmgtMnYyem0tNCAwaDJ2LTJIN3YyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZvbGRlciI+PHBhdGggZD0iTTEwIDRINGMtMS4xIDAtMS45OS45LTEuOTkgMkwyIDE4YzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWOGMwLTEuMS0uOS0yLTItMmgtOGwtMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZvbGRlci1vcGVuIj48cGF0aCBkPSJNMjAgNmgtOGwtMi0ySDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAxOGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bTAgMTJINFY4aDE2djEweiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZvbGRlci1zaGFyZWQiPjxwYXRoIGQ9Ik0yMCA2aC04bC0yLTJINGMtMS4xIDAtMS45OS45LTEuOTkgMkwyIDE4YzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWOGMwLTEuMS0uOS0yLTItMnptLTUgM2MxLjEgMCAyIC45IDIgMnMtLjkgMi0yIDItMi0uOS0yLTIgLjktMiAyLTJ6bTQgOGgtOHYtMWMwLTEuMzMgMi42Ny0yIDQtMnM0IC42NyA0IDJ2MXoiPjwvcGF0aD48L2c+CjxnIGlkPSJmb250LWRvd25sb2FkIj48cGF0aCBkPSJNOS45MyAxMy41aDQuMTRMMTIgNy45OHpNMjAgMkg0Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS00LjA1IDE2LjVsLTEuMTQtM0g5LjE3bC0xLjEyIDNINS45Nmw1LjExLTEzaDEuODZsNS4xMSAxM2gtMi4wOXoiPjwvcGF0aD48L2c+CjxnIGlkPSJmb3J3YXJkIj48cGF0aCBkPSJNMTIgOFY0bDggOC04IDh2LTRINFY4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZ1bGxzY3JlZW4iPjxwYXRoIGQ9Ik03IDE0SDV2NWg1di0ySDd2LTN6bS0yLTRoMlY3aDNWNUg1djV6bTEyIDdoLTN2Mmg1di01aC0ydjN6TTE0IDV2MmgzdjNoMlY1aC01eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZ1bGxzY3JlZW4tZXhpdCI+PHBhdGggZD0iTTUgMTZoM3YzaDJ2LTVINXYyem0zLThINXYyaDVWNUg4djN6bTYgMTFoMnYtM2gzdi0yaC01djV6bTItMTFWNWgtMnY1aDVWOGgtM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJnLXRyYW5zbGF0ZSI+PHBhdGggZD0iTTIwIDVoLTkuMTJMMTAgMkg0Yy0xLjEgMC0yIC45LTIgMnYxM2MwIDEuMS45IDIgMiAyaDdsMSAzaDhjMS4xIDAgMi0uOSAyLTJWN2MwLTEuMS0uOS0yLTItMnpNNy4xNyAxNC41OWMtMi4yNSAwLTQuMDktMS44My00LjA5LTQuMDlzMS44My00LjA5IDQuMDktNC4wOWMxLjA0IDAgMS45OS4zNyAyLjc0IDEuMDdsLjA3LjA2LTEuMjMgMS4xOC0uMDYtLjA1Yy0uMjktLjI3LS43OC0uNTktMS41Mi0uNTktMS4zMSAwLTIuMzggMS4wOS0yLjM4IDIuNDJzMS4wNyAyLjQyIDIuMzggMi40MmMxLjM3IDAgMS45Ni0uODcgMi4xMi0xLjQ2SDcuMDhWOS45MWgzLjk1bC4wMS4wN2MuMDQuMjEuMDUuNC4wNS42MSAwIDIuMzUtMS42MSA0LTMuOTIgNHptNi4wMy0xLjcxYy4zMy42Ljc0IDEuMTggMS4xOSAxLjdsLS41NC41My0uNjUtMi4yM3ptLjc3LS43NmgtLjk5bC0uMzEtMS4wNGgzLjk5cy0uMzQgMS4zMS0xLjU2IDIuNzRjLS41Mi0uNjItLjg5LTEuMjMtMS4xMy0xLjd6TTIxIDIwYzAgLjU1LS40NSAxLTEgMWgtN2wyLTItLjgxLTIuNzcuOTItLjkyTDE3Ljc5IDE4bC43My0uNzMtMi43MS0yLjY4Yy45LTEuMDMgMS42LTIuMjUgMS45Mi0zLjUxSDE5di0xLjA0aC0zLjY0VjloLTEuMDR2MS4wNGgtMS45NkwxMS4xOCA2SDIwYy41NSAwIDEgLjQ1IDEgMXYxM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJnYXZlbCI+PHBhdGggZD0iTTEgMjFoMTJ2Mkgxek01LjI0NSA4LjA3bDIuODMtMi44MjcgMTQuMTQgMTQuMTQyLTIuODI4IDIuODI4ek0xMi4zMTcgMWw1LjY1NyA1LjY1Ni0yLjgzIDIuODMtNS42NTQtNS42NnpNMy44MjUgOS40ODVsNS42NTcgNS42NTctMi44MjggMi44MjgtNS42NTctNS42NTd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZ2VzdHVyZSI+PHBhdGggZD0iTTQuNTkgNi44OWMuNy0uNzEgMS40LTEuMzUgMS43MS0xLjIyLjUuMiAwIDEuMDMtLjMgMS41Mi0uMjUuNDItMi44NiAzLjg5LTIuODYgNi4zMSAwIDEuMjguNDggMi4zNCAxLjM0IDIuOTguNzUuNTYgMS43NC43MyAyLjY0LjQ2IDEuMDctLjMxIDEuOTUtMS40IDMuMDYtMi43NyAxLjIxLTEuNDkgMi44My0zLjQ0IDQuMDgtMy40NCAxLjYzIDAgMS42NSAxLjAxIDEuNzYgMS43OS0zLjc4LjY0LTUuMzggMy42Ny01LjM4IDUuMzcgMCAxLjcgMS40NCAzLjA5IDMuMjEgMy4wOSAxLjYzIDAgNC4yOS0xLjMzIDQuNjktNi4xSDIxdi0yLjVoLTIuNDdjLS4xNS0xLjY1LTEuMDktNC4yLTQuMDMtNC4yLTIuMjUgMC00LjE4IDEuOTEtNC45NCAyLjg0LS41OC43My0yLjA2IDIuNDgtMi4yOSAyLjcyLS4yNS4zLS42OC44NC0xLjExLjg0LS40NSAwLS43Mi0uODMtLjM2LTEuOTIuMzUtMS4wOSAxLjQtMi44NiAxLjg1LTMuNTIuNzgtMS4xNCAxLjMtMS45MiAxLjMtMy4yOEM4Ljk1IDMuNjkgNy4zMSAzIDYuNDQgMyA1LjEyIDMgMy45NyA0IDMuNzIgNC4yNWMtLjM2LjM2LS42Ni42Ni0uODguOTNsMS43NSAxLjcxem05LjI5IDExLjY2Yy0uMzEgMC0uNzQtLjI2LS43NC0uNzIgMC0uNi43My0yLjIgMi44Ny0yLjc2LS4zIDIuNjktMS40MyAzLjQ4LTIuMTMgMy40OHoiPjwvcGF0aD48L2c+CjxnIGlkPSJnZXQtYXBwIj48cGF0aCBkPSJNMTkgOWgtNFYzSDl2Nkg1bDcgNyA3LTd6TTUgMTh2MmgxNHYtMkg1eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImdpZiI+PHBhdGggZD0iTTExLjUgOUgxM3Y2aC0xLjV6TTkgOUg2Yy0uNiAwLTEgLjUtMSAxdjRjMCAuNS40IDEgMSAxaDNjLjYgMCAxLS41IDEtMXYtMkg4LjV2MS41aC0ydi0zSDEwVjEwYzAtLjUtLjQtMS0xLTF6bTEwIDEuNVY5aC00LjV2NkgxNnYtMmgydi0xLjVoLTJ2LTF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZ3JhZGUiPjxwYXRoIGQ9Ik0xMiAxNy4yN0wxOC4xOCAyMWwtMS42NC03LjAzTDIyIDkuMjRsLTcuMTktLjYxTDEyIDIgOS4xOSA4LjYzIDIgOS4yNGw1LjQ2IDQuNzNMNS44MiAyMXoiPjwvcGF0aD48L2c+CjxnIGlkPSJncm91cC13b3JrIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnpNOCAxNy41Yy0xLjM4IDAtMi41LTEuMTItMi41LTIuNXMxLjEyLTIuNSAyLjUtMi41IDIuNSAxLjEyIDIuNSAyLjUtMS4xMiAyLjUtMi41IDIuNXpNOS41IDhjMC0xLjM4IDEuMTItMi41IDIuNS0yLjVzMi41IDEuMTIgMi41IDIuNS0xLjEyIDIuNS0yLjUgMi41UzkuNSA5LjM4IDkuNSA4em02LjUgOS41Yy0xLjM4IDAtMi41LTEuMTItMi41LTIuNXMxLjEyLTIuNSAyLjUtMi41IDIuNSAxLjEyIDIuNSAyLjUtMS4xMiAyLjUtMi41IDIuNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJoZWxwIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMSAxN2gtMnYtMmgydjJ6bTIuMDctNy43NWwtLjkuOTJDMTMuNDUgMTIuOSAxMyAxMy41IDEzIDE1aC0ydi0uNWMwLTEuMS40NS0yLjEgMS4xNy0yLjgzbDEuMjQtMS4yNmMuMzctLjM2LjU5LS44Ni41OS0xLjQxIDAtMS4xLS45LTItMi0ycy0yIC45LTIgMkg4YzAtMi4yMSAxLjc5LTQgNC00czQgMS43OSA0IDRjMCAuODgtLjM2IDEuNjgtLjkzIDIuMjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaGVscC1vdXRsaW5lIj48cGF0aCBkPSJNMTEgMThoMnYtMmgtMnYyem0xLTE2QzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHptMC0xNGMtMi4yMSAwLTQgMS43OS00IDRoMmMwLTEuMS45LTIgMi0yczIgLjkgMiAyYzAgMi0zIDEuNzUtMyA1aDJjMC0yLjI1IDMtMi41IDMtNSAwLTIuMjEtMS43OS00LTQtNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJoaWdobGlnaHQtb2ZmIj48cGF0aCBkPSJNMTQuNTkgOEwxMiAxMC41OSA5LjQxIDggOCA5LjQxIDEwLjU5IDEyIDggMTQuNTkgOS40MSAxNiAxMiAxMy40MSAxNC41OSAxNiAxNiAxNC41OSAxMy40MSAxMiAxNiA5LjQxIDE0LjU5IDh6TTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imhpc3RvcnkiPjxwYXRoIGQ9Ik0xMyAzYy00Ljk3IDAtOSA0LjAzLTkgOUgxbDMuODkgMy44OS4wNy4xNEw5IDEySDZjMC0zLjg3IDMuMTMtNyA3LTdzNyAzLjEzIDcgNy0zLjEzIDctNyA3Yy0xLjkzIDAtMy42OC0uNzktNC45NC0yLjA2bC0xLjQyIDEuNDJDOC4yNyAxOS45OSAxMC41MSAyMSAxMyAyMWM0Ljk3IDAgOS00LjAzIDktOXMtNC4wMy05LTktOXptLTEgNXY1bDQuMjggMi41NC43Mi0xLjIxLTMuNS0yLjA4VjhIMTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaG9tZSI+PHBhdGggZD0iTTEwIDIwdi02aDR2Nmg1di04aDNMMTIgMyAyIDEyaDN2OHoiPjwvcGF0aD48L2c+CjxnIGlkPSJob3VyZ2xhc3MtZW1wdHkiPjxwYXRoIGQ9Ik02IDJ2NmguMDFMNiA4LjAxIDEwIDEybC00IDQgLjAxLjAxSDZWMjJoMTJ2LTUuOTloLS4wMUwxOCAxNmwtNC00IDQtMy45OS0uMDEtLjAxSDE4VjJINnptMTAgMTQuNVYyMEg4di0zLjVsNC00IDQgNHptLTQtNWwtNC00VjRoOHYzLjVsLTQgNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJob3VyZ2xhc3MtZnVsbCI+PHBhdGggZD0iTTYgMnY2aC4wMUw2IDguMDEgMTAgMTJsLTQgNCAuMDEuMDFINlYyMmgxMnYtNS45OWgtLjAxTDE4IDE2bC00LTQgNC0zLjk5LS4wMS0uMDFIMThWMkg2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imh0dHAiPjxwYXRoIGQ9Ik00LjUgMTFoLTJWOUgxdjZoMS41di0yLjVoMlYxNUg2VjlINC41djJ6bTIuNS0uNWgxLjVWMTVIMTB2LTQuNWgxLjVWOUg3djEuNXptNS41IDBIMTRWMTVoMS41di00LjVIMTdWOWgtNC41djEuNXptOS0xLjVIMTh2NmgxLjV2LTJoMmMuOCAwIDEuNS0uNyAxLjUtMS41di0xYzAtLjgtLjctMS41LTEuNS0xLjV6bTAgMi41aC0ydi0xaDJ2MXoiPjwvcGF0aD48L2c+CjxnIGlkPSJodHRwcyI+PHBhdGggZD0iTTE4IDhoLTFWNmMwLTIuNzYtMi4yNC01LTUtNVM3IDMuMjQgNyA2djJINmMtMS4xIDAtMiAuOS0yIDJ2MTBjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlYxMGMwLTEuMS0uOS0yLTItMnptLTYgOWMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6bTMuMS05SDguOVY2YzAtMS43MSAxLjM5LTMuMSAzLjEtMy4xIDEuNzEgMCAzLjEgMS4zOSAzLjEgMy4xdjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaW1wb3J0YW50LWRldmljZXMiPjxwYXRoIGQ9Ik0yMyAxMS4wMUwxOCAxMWMtLjU1IDAtMSAuNDUtMSAxdjljMCAuNTUuNDUgMSAxIDFoNWMuNTUgMCAxLS40NSAxLTF2LTljMC0uNTUtLjQ1LS45OS0xLS45OXpNMjMgMjBoLTV2LTdoNXY3ek0yMCAySDJDLjg5IDIgMCAyLjg5IDAgNHYxMmMwIDEuMS44OSAyIDIgMmg3djJIN3YyaDh2LTJoLTJ2LTJoMnYtMkgyVjRoMTh2NWgyVjRjMC0xLjExLS45LTItMi0yem0tOC4wMyA3TDExIDZsLS45NyAzSDdsMi40NyAxLjc2LS45NCAyLjkxIDIuNDctMS44IDIuNDcgMS44LS45NC0yLjkxTDE1IDloLTMuMDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaW5ib3giPjxwYXRoIGQ9Ik0xOSAzSDQuOTljLTEuMTEgMC0xLjk4Ljg5LTEuOTggMkwzIDE5YzAgMS4xLjg4IDIgMS45OSAySDE5YzEuMSAwIDItLjkgMi0yVjVjMC0xLjExLS45LTItMi0yem0wIDEyaC00YzAgMS42Ni0xLjM1IDMtMyAzcy0zLTEuMzQtMy0zSDQuOTlWNUgxOXYxMHoiPjwvcGF0aD48L2c+CjxnIGlkPSJpbmRldGVybWluYXRlLWNoZWNrLWJveCI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tMiAxMEg3di0yaDEwdjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaW5mbyI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTEgMTVoLTJ2LTZoMnY2em0wLThoLTJWN2gydjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaW5mby1vdXRsaW5lIj48cGF0aCBkPSJNMTEgMTdoMnYtNmgtMnY2em0xLTE1QzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHpNMTEgOWgyVjdoLTJ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJpbnB1dCI+PHBhdGggZD0iTTIxIDMuMDFIM2MtMS4xIDAtMiAuOS0yIDJWOWgyVjQuOTloMTh2MTQuMDNIM1YxNUgxdjQuMDFjMCAxLjEuOSAxLjk4IDIgMS45OGgxOGMxLjEgMCAyLS44OCAyLTEuOTh2LTE0YzAtMS4xMS0uOS0yLTItMnpNMTEgMTZsNC00LTQtNHYzSDF2MmgxMHYzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImludmVydC1jb2xvcnMiPjxwYXRoIGQ9Ik0xNy42NiA3LjkzTDEyIDIuMjcgNi4zNCA3LjkzYy0zLjEyIDMuMTItMy4xMiA4LjE5IDAgMTEuMzFDNy45IDIwLjggOS45NSAyMS41OCAxMiAyMS41OGMyLjA1IDAgNC4xLS43OCA1LjY2LTIuMzQgMy4xMi0zLjEyIDMuMTItOC4xOSAwLTExLjMxek0xMiAxOS41OWMtMS42IDAtMy4xMS0uNjItNC4yNC0xLjc2QzYuNjIgMTYuNjkgNiAxNS4xOSA2IDEzLjU5cy42Mi0zLjExIDEuNzYtNC4yNEwxMiA1LjF2MTQuNDl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibGFiZWwiPjxwYXRoIGQ9Ik0xNy42MyA1Ljg0QzE3LjI3IDUuMzMgMTYuNjcgNSAxNiA1TDUgNS4wMUMzLjkgNS4wMSAzIDUuOSAzIDd2MTBjMCAxLjEuOSAxLjk5IDIgMS45OUwxNiAxOWMuNjcgMCAxLjI3LS4zMyAxLjYzLS44NEwyMiAxMmwtNC4zNy02LjE2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxhYmVsLW91dGxpbmUiPjxwYXRoIGQ9Ik0xNy42MyA1Ljg0QzE3LjI3IDUuMzMgMTYuNjcgNSAxNiA1TDUgNS4wMUMzLjkgNS4wMSAzIDUuOSAzIDd2MTBjMCAxLjEuOSAxLjk5IDIgMS45OUwxNiAxOWMuNjcgMCAxLjI3LS4zMyAxLjYzLS44NEwyMiAxMmwtNC4zNy02LjE2ek0xNiAxN0g1VjdoMTFsMy41NSA1TDE2IDE3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imxhbmd1YWdlIj48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imxhc3QtcGFnZSI+PHBhdGggZD0iTTUuNTkgNy40MUwxMC4xOCAxMmwtNC41OSA0LjU5TDcgMThsNi02LTYtNnpNMTYgNmgydjEyaC0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxhdW5jaCI+PHBhdGggZD0iTTE5IDE5SDVWNWg3VjNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0ydi03aC0ydjd6TTE0IDN2MmgzLjU5bC05LjgzIDkuODMgMS40MSAxLjQxTDE5IDYuNDFWMTBoMlYzaC03eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxpZ2h0YnVsYi1vdXRsaW5lIj48cGF0aCBkPSJNOSAyMWMwIC41NS40NSAxIDEgMWg0Yy41NSAwIDEtLjQ1IDEtMXYtMUg5djF6bTMtMTlDOC4xNCAyIDUgNS4xNCA1IDljMCAyLjM4IDEuMTkgNC40NyAzIDUuNzRWMTdjMCAuNTUuNDUgMSAxIDFoNmMuNTUgMCAxLS40NSAxLTF2LTIuMjZjMS44MS0xLjI3IDMtMy4zNiAzLTUuNzQgMC0zLjg2LTMuMTQtNy03LTd6bTIuODUgMTEuMWwtLjg1LjZWMTZoLTR2LTIuM2wtLjg1LS42QzcuOCAxMi4xNiA3IDEwLjYzIDcgOWMwLTIuNzYgMi4yNC01IDUtNXM1IDIuMjQgNSA1YzAgMS42My0uOCAzLjE2LTIuMTUgNC4xeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxpbmUtc3R5bGUiPjxwYXRoIGQ9Ik0zIDE2aDV2LTJIM3Yyem02LjUgMGg1di0yaC01djJ6bTYuNSAwaDV2LTJoLTV2MnpNMyAyMGgydi0ySDN2MnptNCAwaDJ2LTJIN3Yyem00IDBoMnYtMmgtMnYyem00IDBoMnYtMmgtMnYyem00IDBoMnYtMmgtMnYyek0zIDEyaDh2LTJIM3Yyem0xMCAwaDh2LTJoLTh2MnpNMyA0djRoMThWNEgzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxpbmUtd2VpZ2h0Ij48cGF0aCBkPSJNMyAxN2gxOHYtMkgzdjJ6bTAgM2gxOHYtMUgzdjF6bTAtN2gxOHYtM0gzdjN6bTAtOXY0aDE4VjRIM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJsaW5rIj48cGF0aCBkPSJNMy45IDEyYzAtMS43MSAxLjM5LTMuMSAzLjEtMy4xaDRWN0g3Yy0yLjc2IDAtNSAyLjI0LTUgNXMyLjI0IDUgNSA1aDR2LTEuOUg3Yy0xLjcxIDAtMy4xLTEuMzktMy4xLTMuMXpNOCAxM2g4di0ySDh2MnptOS02aC00djEuOWg0YzEuNzEgMCAzLjEgMS4zOSAzLjEgMy4xcy0xLjM5IDMuMS0zLjEgMy4xaC00VjE3aDRjMi43NiAwIDUtMi4yNCA1LTVzLTIuMjQtNS01LTV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibGlzdCI+PHBhdGggZD0iTTMgMTNoMnYtMkgzdjJ6bTAgNGgydi0ySDN2MnptMC04aDJWN0gzdjJ6bTQgNGgxNHYtMkg3djJ6bTAgNGgxNHYtMkg3djJ6TTcgN3YyaDE0VjdIN3oiPjwvcGF0aD48L2c+CjxnIGlkPSJsb2NrIj48cGF0aCBkPSJNMTggOGgtMVY2YzAtMi43Ni0yLjI0LTUtNS01UzcgMy4yNCA3IDZ2Mkg2Yy0xLjEgMC0yIC45LTIgMnYxMGMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yVjEwYzAtMS4xLS45LTItMi0yem0tNiA5Yy0xLjEgMC0yLS45LTItMnMuOS0yIDItMiAyIC45IDIgMi0uOSAyLTIgMnptMy4xLTlIOC45VjZjMC0xLjcxIDEuMzktMy4xIDMuMS0zLjEgMS43MSAwIDMuMSAxLjM5IDMuMSAzLjF2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJsb2NrLW9wZW4iPjxwYXRoIGQ9Ik0xMiAxN2MxLjEgMCAyLS45IDItMnMtLjktMi0yLTItMiAuOS0yIDIgLjkgMiAyIDJ6bTYtOWgtMVY2YzAtMi43Ni0yLjI0LTUtNS01UzcgMy4yNCA3IDZoMS45YzAtMS43MSAxLjM5LTMuMSAzLjEtMy4xIDEuNzEgMCAzLjEgMS4zOSAzLjEgMy4xdjJINmMtMS4xIDAtMiAuOS0yIDJ2MTBjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlYxMGMwLTEuMS0uOS0yLTItMnptMCAxMkg2VjEwaDEydjEweiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxvY2stb3V0bGluZSI+PHBhdGggZD0iTTEyIDE3YzEuMSAwIDItLjkgMi0ycy0uOS0yLTItMi0yIC45LTIgMiAuOSAyIDIgMnptNi05aC0xVjZjMC0yLjc2LTIuMjQtNS01LTVTNyAzLjI0IDcgNnYySDZjLTEuMSAwLTIgLjktMiAydjEwYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWMTBjMC0xLjEtLjktMi0yLTJ6TTguOSA2YzAtMS43MSAxLjM5LTMuMSAzLjEtMy4xczMuMSAxLjM5IDMuMSAzLjF2Mkg4LjlWNnpNMTggMjBINlYxMGgxMnYxMHoiPjwvcGF0aD48L2c+CjxnIGlkPSJsb3ctcHJpb3JpdHkiPjxwYXRoIGQ9Ik0xNCA1aDh2MmgtOHptMCA1LjVoOHYyaC04em0wIDUuNWg4djJoLTh6TTIgMTEuNUMyIDE1LjA4IDQuOTIgMTggOC41IDE4SDl2MmwzLTMtMy0zdjJoLS41QzYuMDIgMTYgNCAxMy45OCA0IDExLjVTNi4wMiA3IDguNSA3SDEyVjVIOC41QzQuOTIgNSAyIDcuOTIgMiAxMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxveWFsdHkiPjxwYXRoIGQ9Ik0yMS40MSAxMS41OGwtOS05QzEyLjA1IDIuMjIgMTEuNTUgMiAxMSAySDRjLTEuMSAwLTIgLjktMiAydjdjMCAuNTUuMjIgMS4wNS41OSAxLjQybDkgOWMuMzYuMzYuODYuNTggMS40MS41OC41NSAwIDEuMDUtLjIyIDEuNDEtLjU5bDctN2MuMzctLjM2LjU5LS44Ni41OS0xLjQxIDAtLjU1LS4yMy0xLjA2LS41OS0xLjQyek01LjUgN0M0LjY3IDcgNCA2LjMzIDQgNS41UzQuNjcgNCA1LjUgNCA3IDQuNjcgNyA1LjUgNi4zMyA3IDUuNSA3em0xMS43NyA4LjI3TDEzIDE5LjU0bC00LjI3LTQuMjdDOC4yOCAxNC44MSA4IDE0LjE5IDggMTMuNWMwLTEuMzggMS4xMi0yLjUgMi41LTIuNS42OSAwIDEuMzIuMjggMS43Ny43NGwuNzMuNzIuNzMtLjczYy40NS0uNDUgMS4wOC0uNzMgMS43Ny0uNzMgMS4zOCAwIDIuNSAxLjEyIDIuNSAyLjUgMCAuNjktLjI4IDEuMzItLjczIDEuNzd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibWFpbCI+PHBhdGggZD0iTTIwIDRINGMtMS4xIDAtMS45OS45LTEuOTkgMkwyIDE4YzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptMCA0bC04IDUtOC01VjZsOCA1IDgtNXYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1hcmt1bnJlYWQiPjxwYXRoIGQ9Ik0yMCA0SDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAxOGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJ6bTAgNGwtOCA1LTgtNVY2bDggNSA4LTV2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJtYXJrdW5yZWFkLW1haWxib3giPjxwYXRoIGQ9Ik0yMCA2SDEwdjZIOFY0aDZWMEg2djZINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1lbnUiPjxwYXRoIGQ9Ik0zIDE4aDE4di0ySDN2MnptMC01aDE4di0ySDN2MnptMC03djJoMThWNkgzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1vcmUtaG9yaXoiPjxwYXRoIGQ9Ik02IDEwYy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptMTIgMGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bS02IDBjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1vcmUtdmVydCI+PHBhdGggZD0iTTEyIDhjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0yLTIgLjktMiAyIC45IDIgMiAyem0wIDJjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yem0wIDZjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1vdG9yY3ljbGUiPjxwYXRoIGQ9Ik0xOS40NCA5LjAzTDE1LjQxIDVIMTF2MmgzLjU5bDIgMkg1Yy0yLjggMC01IDIuMi01IDVzMi4yIDUgNSA1YzIuNDYgMCA0LjQ1LTEuNjkgNC45LTRoMS42NWwyLjc3LTIuNzdjLS4yMS41NC0uMzIgMS4xNC0uMzIgMS43NyAwIDIuOCAyLjIgNSA1IDVzNS0yLjIgNS01YzAtMi42NS0xLjk3LTQuNzctNC41Ni00Ljk3ek03LjgyIDE1QzcuNCAxNi4xNSA2LjI4IDE3IDUgMTdjLTEuNjMgMC0zLTEuMzctMy0zczEuMzctMyAzLTNjMS4yOCAwIDIuNC44NSAyLjgyIDJINXYyaDIuODJ6TTE5IDE3Yy0xLjY2IDAtMy0xLjM0LTMtM3MxLjM0LTMgMy0zIDMgMS4zNCAzIDMtMS4zNCAzLTMgM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJtb3ZlLXRvLWluYm94Ij48cGF0aCBkPSJNMTkgM0g0Ljk5Yy0xLjExIDAtMS45OC45LTEuOTggMkwzIDE5YzAgMS4xLjg4IDIgMS45OSAySDE5YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTJoLTRjMCAxLjY2LTEuMzUgMy0zIDNzLTMtMS4zNC0zLTNINC45OVY1SDE5djEwem0tMy01aC0yVjdoLTR2M0g4bDQgNCA0LTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibmV4dC13ZWVrIj48cGF0aCBkPSJNMjAgN2gtNFY1YzAtLjU1LS4yMi0xLjA1LS41OS0xLjQxQzE1LjA1IDMuMjIgMTQuNTUgMyAxNCAzaC00Yy0xLjEgMC0yIC45LTIgMnYySDRjLTEuMSAwLTIgLjktMiAydjExYzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWOWMwLTEuMS0uOS0yLTItMnpNMTAgNWg0djJoLTRWNXptMSAxMy41bC0xLTEgMy0zLTMtMyAxLTEgNCA0LTQgNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJub3RlLWFkZCI+PHBhdGggZD0iTTE0IDJINmMtMS4xIDAtMS45OS45LTEuOTkgMkw0IDIwYzAgMS4xLjg5IDIgMS45OSAySDE4YzEuMSAwIDItLjkgMi0yVjhsLTYtNnptMiAxNGgtM3YzaC0ydi0zSDh2LTJoM3YtM2gydjNoM3Yyem0tMy03VjMuNUwxOC41IDlIMTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ib2ZmbGluZS1waW4iPjxwYXRoIGQ9Ik0xMiAyQzYuNSAyIDIgNi41IDIgMTJzNC41IDEwIDEwIDEwIDEwLTQuNSAxMC0xMFMxNy41IDIgMTIgMnptNSAxNkg3di0yaDEwdjJ6bS02LjctNEw3IDEwLjdsMS40LTEuNCAxLjkgMS45IDUuMy01LjNMMTcgNy4zIDEwLjMgMTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ib3BhY2l0eSI+PHBhdGggZD0iTTE3LjY2IDhMMTIgMi4zNSA2LjM0IDhDNC43OCA5LjU2IDQgMTEuNjQgNCAxMy42NHMuNzggNC4xMSAyLjM0IDUuNjcgMy42MSAyLjM1IDUuNjYgMi4zNSA0LjEtLjc5IDUuNjYtMi4zNVMyMCAxNS42NCAyMCAxMy42NCAxOS4yMiA5LjU2IDE3LjY2IDh6TTYgMTRjLjAxLTIgLjYyLTMuMjcgMS43Ni00LjRMMTIgNS4yN2w0LjI0IDQuMzhDMTcuMzggMTAuNzcgMTcuOTkgMTIgMTggMTRINnoiPjwvcGF0aD48L2c+CjxnIGlkPSJvcGVuLWluLWJyb3dzZXIiPjxwYXRoIGQ9Ik0xOSA0SDVjLTEuMTEgMC0yIC45LTIgMnYxMmMwIDEuMS44OSAyIDIgMmg0di0ySDVWOGgxNHYxMGgtNHYyaDRjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uODktMi0yLTJ6bS03IDZsLTQgNGgzdjZoMnYtNmgzbC00LTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ib3Blbi1pbi1uZXciPjxwYXRoIGQ9Ik0xOSAxOUg1VjVoN1YzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiPjwvcGF0aD48L2c+CjxnIGlkPSJvcGVuLXdpdGgiPjxwYXRoIGQ9Ik0xMCA5aDRWNmgzbC01LTUtNSA1aDN2M3ptLTEgMUg2VjdsLTUgNSA1IDV2LTNoM3YtNHptMTQgMmwtNS01djNoLTN2NGgzdjNsNS01em0tOSAzaC00djNIN2w1IDUgNS01aC0zdi0zeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBhZ2V2aWV3Ij48cGF0aCBkPSJNMTEuNSA5QzEwLjEyIDkgOSAxMC4xMiA5IDExLjVzMS4xMiAyLjUgMi41IDIuNSAyLjUtMS4xMiAyLjUtMi41UzEyLjg4IDkgMTEuNSA5ek0yMCA0SDRjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptLTMuMjEgMTQuMjFsLTIuOTEtMi45MWMtLjY5LjQ0LTEuNTEuNy0yLjM5LjdDOS4wMSAxNiA3IDEzLjk5IDcgMTEuNVM5LjAxIDcgMTEuNSA3IDE2IDkuMDEgMTYgMTEuNWMwIC44OC0uMjYgMS42OS0uNyAyLjM5bDIuOTEgMi45LTEuNDIgMS40MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJwYW4tdG9vbCI+PHBhdGggZD0iTTIzIDUuNVYyMGMwIDIuMi0xLjggNC00IDRoLTcuM2MtMS4wOCAwLTIuMS0uNDMtMi44NS0xLjE5TDEgMTQuODNzMS4yNi0xLjIzIDEuMy0xLjI1Yy4yMi0uMTkuNDktLjI5Ljc5LS4yOS4yMiAwIC40Mi4wNi42LjE2LjA0LjAxIDQuMzEgMi40NiA0LjMxIDIuNDZWNGMwLS44My42Ny0xLjUgMS41LTEuNVMxMSAzLjE3IDExIDR2N2gxVjEuNWMwLS44My42Ny0xLjUgMS41LTEuNVMxNSAuNjcgMTUgMS41VjExaDFWMi41YzAtLjgzLjY3LTEuNSAxLjUtMS41czEuNS42NyAxLjUgMS41VjExaDFWNS41YzAtLjgzLjY3LTEuNSAxLjUtMS41czEuNS42NyAxLjUgMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBheW1lbnQiPjxwYXRoIGQ9Ik0yMCA0SDRjLTEuMTEgMC0xLjk5Ljg5LTEuOTkgMkwyIDE4YzAgMS4xMS44OSAyIDIgMmgxNmMxLjExIDAgMi0uODkgMi0yVjZjMC0xLjExLS44OS0yLTItMnptMCAxNEg0di02aDE2djZ6bTAtMTBINFY2aDE2djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGVybS1jYW1lcmEtbWljIj48cGF0aCBkPSJNMjAgNWgtMy4xN0wxNSAzSDlMNy4xNyA1SDRjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoN3YtMi4wOWMtMi44My0uNDgtNS0yLjk0LTUtNS45MWgyYzAgMi4yMSAxLjc5IDQgNCA0czQtMS43OSA0LTRoMmMwIDIuOTctMi4xNyA1LjQzLTUgNS45MVYyMWg3YzEuMSAwIDItLjkgMi0yVjdjMC0xLjEtLjktMi0yLTJ6bS02IDhjMCAxLjEtLjkgMi0yIDJzLTItLjktMi0yVjljMC0xLjEuOS0yIDItMnMyIC45IDIgMnY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBlcm0tY29udGFjdC1jYWxlbmRhciI+PHBhdGggZD0iTTE5IDNoLTFWMWgtMnYySDhWMUg2djJINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDNjMS42NiAwIDMgMS4zNCAzIDNzLTEuMzQgMy0zIDMtMy0xLjM0LTMtMyAxLjM0LTMgMy0zem02IDEySDZ2LTFjMC0yIDQtMy4xIDYtMy4xczYgMS4xIDYgMy4xdjF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGVybS1kYXRhLXNldHRpbmciPjxwYXRoIGQ9Ik0xOC45OSAxMS41Yy4zNCAwIC42Ny4wMyAxIC4wN0wyMCAwIDAgMjBoMTEuNTZjLS4wNC0uMzMtLjA3LS42Ni0uMDctMSAwLTQuMTQgMy4zNi03LjUgNy41LTcuNXptMy43MSA3Ljk5Yy4wMi0uMTYuMDQtLjMyLjA0LS40OSAwLS4xNy0uMDEtLjMzLS4wNC0uNDlsMS4wNi0uODNjLjA5LS4wOC4xMi0uMjEuMDYtLjMybC0xLTEuNzNjLS4wNi0uMTEtLjE5LS4xNS0uMzEtLjExbC0xLjI0LjVjLS4yNi0uMi0uNTQtLjM3LS44NS0uNDlsLS4xOS0xLjMyYy0uMDEtLjEyLS4xMi0uMjEtLjI0LS4yMWgtMmMtLjEyIDAtLjIzLjA5LS4yNS4yMWwtLjE5IDEuMzJjLS4zLjEzLS41OS4yOS0uODUuNDlsLTEuMjQtLjVjLS4xMS0uMDQtLjI0IDAtLjMxLjExbC0xIDEuNzNjLS4wNi4xMS0uMDQuMjQuMDYuMzJsMS4wNi44M2MtLjAyLjE2LS4wMy4zMi0uMDMuNDkgMCAuMTcuMDEuMzMuMDMuNDlsLTEuMDYuODNjLS4wOS4wOC0uMTIuMjEtLjA2LjMybDEgMS43M2MuMDYuMTEuMTkuMTUuMzEuMTFsMS4yNC0uNWMuMjYuMi41NC4zNy44NS40OWwuMTkgMS4zMmMuMDIuMTIuMTIuMjEuMjUuMjFoMmMuMTIgMCAuMjMtLjA5LjI1LS4yMWwuMTktMS4zMmMuMy0uMTMuNTktLjI5Ljg0LS40OWwxLjI1LjVjLjExLjA0LjI0IDAgLjMxLS4xMWwxLTEuNzNjLjA2LS4xMS4wMy0uMjQtLjA2LS4zMmwtMS4wNy0uODN6bS0zLjcxIDEuMDFjLS44MyAwLTEuNS0uNjctMS41LTEuNXMuNjctMS41IDEuNS0xLjUgMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBlcm0tZGV2aWNlLWluZm9ybWF0aW9uIj48cGF0aCBkPSJNMTMgN2gtMnYyaDJWN3ptMCA0aC0ydjZoMnYtNnptNC05Ljk5TDcgMWMtMS4xIDAtMiAuOS0yIDJ2MThjMCAxLjEuOSAyIDIgMmgxMGMxLjEgMCAyLS45IDItMlYzYzAtMS4xLS45LTEuOTktMi0xLjk5ek0xNyAxOUg3VjVoMTB2MTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGVybS1pZGVudGl0eSI+PHBhdGggZD0iTTEyIDUuOWMxLjE2IDAgMi4xLjk0IDIuMSAyLjFzLS45NCAyLjEtMi4xIDIuMVM5LjkgOS4xNiA5LjkgOHMuOTQtMi4xIDIuMS0yLjFtMCA5YzIuOTcgMCA2LjEgMS40NiA2LjEgMi4xdjEuMUg1LjlWMTdjMC0uNjQgMy4xMy0yLjEgNi4xLTIuMU0xMiA0QzkuNzkgNCA4IDUuNzkgOCA4czEuNzkgNCA0IDQgNC0xLjc5IDQtNC0xLjc5LTQtNC00em0wIDljLTIuNjcgMC04IDEuMzQtOCA0djNoMTZ2LTNjMC0yLjY2LTUuMzMtNC04LTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGVybS1tZWRpYSI+PHBhdGggZD0iTTIgNkgwdjVoLjAxTDAgMjBjMCAxLjEuOSAyIDIgMmgxOHYtMkgyVjZ6bTIwLTJoLThsLTItMkg2Yy0xLjEgMC0xLjk5LjktMS45OSAyTDQgMTZjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yek03IDE1bDQuNS02IDMuNSA0LjUxIDIuNS0zLjAxTDIxIDE1SDd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGVybS1waG9uZS1tc2ciPjxwYXRoIGQ9Ik0yMCAxNS41Yy0xLjI1IDAtMi40NS0uMi0zLjU3LS41Ny0uMzUtLjExLS43NC0uMDMtMS4wMi4yNGwtMi4yIDIuMmMtMi44My0xLjQ0LTUuMTUtMy43NS02LjU5LTYuNThsMi4yLTIuMjFjLjI4LS4yNy4zNi0uNjYuMjUtMS4wMUM4LjcgNi40NSA4LjUgNS4yNSA4LjUgNGMwLS41NS0uNDUtMS0xLTFINGMtLjU1IDAtMSAuNDUtMSAxIDAgOS4zOSA3LjYxIDE3IDE3IDE3IC41NSAwIDEtLjQ1IDEtMXYtMy41YzAtLjU1LS40NS0xLTEtMXpNMTIgM3YxMGwzLTNoNlYzaC05eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBlcm0tc2Nhbi13aWZpIj48cGF0aCBkPSJNMTIgM0M2Ljk1IDMgMy4xNSA0Ljg1IDAgNy4yM0wxMiAyMiAyNCA3LjI1QzIwLjg1IDQuODcgMTcuMDUgMyAxMiAzem0xIDEzaC0ydi02aDJ2NnptLTItOFY2aDJ2MmgtMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJwZXRzIj48Y2lyY2xlIGN4PSI0LjUiIGN5PSI5LjUiIHI9IjIuNSI+PC9jaXJjbGU+PGNpcmNsZSBjeD0iOSIgY3k9IjUuNSIgcj0iMi41Ij48L2NpcmNsZT48Y2lyY2xlIGN4PSIxNSIgY3k9IjUuNSIgcj0iMi41Ij48L2NpcmNsZT48Y2lyY2xlIGN4PSIxOS41IiBjeT0iOS41IiByPSIyLjUiPjwvY2lyY2xlPjxwYXRoIGQ9Ik0xNy4zNCAxNC44NmMtLjg3LTEuMDItMS42LTEuODktMi40OC0yLjkxLS40Ni0uNTQtMS4wNS0xLjA4LTEuNzUtMS4zMi0uMTEtLjA0LS4yMi0uMDctLjMzLS4wOS0uMjUtLjA0LS41Mi0uMDQtLjc4LS4wNHMtLjUzIDAtLjc5LjA1Yy0uMTEuMDItLjIyLjA1LS4zMy4wOS0uNy4yNC0xLjI4Ljc4LTEuNzUgMS4zMi0uODcgMS4wMi0xLjYgMS44OS0yLjQ4IDIuOTEtMS4zMSAxLjMxLTIuOTIgMi43Ni0yLjYyIDQuNzkuMjkgMS4wMiAxLjAyIDIuMDMgMi4zMyAyLjMyLjczLjE1IDMuMDYtLjQ0IDUuNTQtLjQ0aC4xOGMyLjQ4IDAgNC44MS41OCA1LjU0LjQ0IDEuMzEtLjI5IDIuMDQtMS4zMSAyLjMzLTIuMzIuMzEtMi4wNC0xLjMtMy40OS0yLjYxLTQuOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJwaWN0dXJlLWluLXBpY3R1cmUiPjxwYXRoIGQ9Ik0xOSA3aC04djZoOFY3em0yLTRIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAxLjk4IDIgMS45OGgxOGMxLjEgMCAyLS44OCAyLTEuOThWNWMwLTEuMS0uOS0yLTItMnptMCAxNi4wMUgzVjQuOThoMTh2MTQuMDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGljdHVyZS1pbi1waWN0dXJlLWFsdCI+PHBhdGggZD0iTTE5IDExaC04djZoOHYtNnptNCA4VjQuOThDMjMgMy44OCAyMi4xIDMgMjEgM0gzYy0xLjEgMC0yIC44OC0yIDEuOThWMTljMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMnptLTIgLjAySDNWNC45N2gxOHYxNC4wNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJwbGF5LWZvci13b3JrIj48cGF0aCBkPSJNMTEgNXY1LjU5SDcuNWw0LjUgNC41IDQuNS00LjVIMTNWNWgtMnptLTUgOWMwIDMuMzEgMi42OSA2IDYgNnM2LTIuNjkgNi02aC0yYzAgMi4yMS0xLjc5IDQtNCA0cy00LTEuNzktNC00SDZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icG9seW1lciI+PHBhdGggZD0iTTE5IDRoLTRMNy4xMSAxNi42MyA0LjUgMTIgOSA0SDVMLjUgMTIgNSAyMGg0bDcuODktMTIuNjNMMTkuNSAxMiAxNSAyMGg0bDQuNS04eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBvd2VyLXNldHRpbmdzLW5ldyI+PHBhdGggZD0iTTEzIDNoLTJ2MTBoMlYzem00LjgzIDIuMTdsLTEuNDIgMS40MkMxNy45OSA3Ljg2IDE5IDkuODEgMTkgMTJjMCAzLjg3LTMuMTMgNy03IDdzLTctMy4xMy03LTdjMC0yLjE5IDEuMDEtNC4xNCAyLjU4LTUuNDJMNi4xNyA1LjE3QzQuMjMgNi44MiAzIDkuMjYgMyAxMmMwIDQuOTcgNC4wMyA5IDkgOXM5LTQuMDMgOS05YzAtMi43NC0xLjIzLTUuMTgtMy4xNy02LjgzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InByZWduYW50LXdvbWFuIj48cGF0aCBkPSJNOSA0YzAtMS4xMS44OS0yIDItMnMyIC44OSAyIDItLjg5IDItMiAyLTItLjg5LTItMnptNyA5Yy0uMDEtMS4zNC0uODMtMi41MS0yLTMgMC0xLjY2LTEuMzQtMy0zLTNzLTMgMS4zNC0zIDN2N2gydjVoM3YtNWgzdi00eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InByaW50Ij48cGF0aCBkPSJNMTkgOEg1Yy0xLjY2IDAtMyAxLjM0LTMgM3Y2aDR2NGgxMnYtNGg0di02YzAtMS42Ni0xLjM0LTMtMy0zem0tMyAxMUg4di01aDh2NXptMy03Yy0uNTUgMC0xLS40NS0xLTFzLjQ1LTEgMS0xIDEgLjQ1IDEgMS0uNDUgMS0xIDF6bS0xLTlINnY0aDEyVjN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icXVlcnktYnVpbGRlciI+PHBhdGggZD0iTTExLjk5IDJDNi40NyAyIDIgNi40OCAyIDEyczQuNDcgMTAgOS45OSAxMEMxNy41MiAyMiAyMiAxNy41MiAyMiAxMlMxNy41MiAyIDExLjk5IDJ6TTEyIDIwYy00LjQyIDAtOC0zLjU4LTgtOHMzLjU4LTggOC04IDggMy41OCA4IDgtMy41OCA4LTggOHptLjUtMTNIMTF2Nmw1LjI1IDMuMTUuNzUtMS4yMy00LjUtMi42N3oiPjwvcGF0aD48L2c+CjxnIGlkPSJxdWVzdGlvbi1hbnN3ZXIiPjxwYXRoIGQ9Ik0yMSA2aC0ydjlINnYyYzAgLjU1LjQ1IDEgMSAxaDExbDQgNFY3YzAtLjU1LS40NS0xLTEtMXptLTQgNlYzYzAtLjU1LS40NS0xLTEtMUgzYy0uNTUgMC0xIC40NS0xIDF2MTRsNC00aDEwYy41NSAwIDEtLjQ1IDEtMXoiPjwvcGF0aD48L2c+CjxnIGlkPSJyYWRpby1idXR0b24tY2hlY2tlZCI+PHBhdGggZD0iTTEyIDdjLTIuNzYgMC01IDIuMjQtNSA1czIuMjQgNSA1IDUgNS0yLjI0IDUtNS0yLjI0LTUtNS01em0wLTVDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJhZGlvLWJ1dHRvbi11bmNoZWNrZWQiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQyIDAtOC0zLjU4LTgtOHMzLjU4LTggOC04IDggMy41OCA4IDgtMy41OCA4LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJyZWNlaXB0Ij48cGF0aCBkPSJNMTggMTdINnYtMmgxMnYyem0wLTRINnYtMmgxMnYyem0wLTRINlY3aDEydjJ6TTMgMjJsMS41LTEuNUw2IDIybDEuNS0xLjVMOSAyMmwxLjUtMS41TDEyIDIybDEuNS0xLjVMMTUgMjJsMS41LTEuNUwxOCAyMmwxLjUtMS41TDIxIDIyVjJsLTEuNSAxLjVMMTggMmwtMS41IDEuNUwxNSAybC0xLjUgMS41TDEyIDJsLTEuNSAxLjVMOSAyIDcuNSAzLjUgNiAyIDQuNSAzLjUgMyAydjIweiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlY29yZC12b2ljZS1vdmVyIj48Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iNCI+PC9jaXJjbGU+PHBhdGggZD0iTTkgMTVjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6bTcuNzYtOS42NGwtMS42OCAxLjY5Yy44NCAxLjE4Ljg0IDIuNzEgMCAzLjg5bDEuNjggMS42OWMyLjAyLTIuMDIgMi4wMi01LjA3IDAtNy4yN3pNMjAuMDcgMmwtMS42MyAxLjYzYzIuNzcgMy4wMiAyLjc3IDcuNTYgMCAxMC43NEwyMC4wNyAxNmMzLjktMy44OSAzLjkxLTkuOTUgMC0xNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJyZWRlZW0iPjxwYXRoIGQ9Ik0yMCA2aC0yLjE4Yy4xMS0uMzEuMTgtLjY1LjE4LTEgMC0xLjY2LTEuMzQtMy0zLTMtMS4wNSAwLTEuOTYuNTQtMi41IDEuMzVsLS41LjY3LS41LS42OEMxMC45NiAyLjU0IDEwLjA1IDIgOSAyIDcuMzQgMiA2IDMuMzQgNiA1YzAgLjM1LjA3LjY5LjE4IDFINGMtMS4xMSAwLTEuOTkuODktMS45OSAyTDIgMTljMCAxLjExLjg5IDIgMiAyaDE2YzEuMTEgMCAyLS44OSAyLTJWOGMwLTEuMTEtLjg5LTItMi0yem0tNS0yYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6TTkgNGMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xem0xMSAxNUg0di0yaDE2djJ6bTAtNUg0VjhoNS4wOEw3IDEwLjgzIDguNjIgMTIgMTEgOC43NmwxLTEuMzYgMSAxLjM2TDE1LjM4IDEyIDE3IDEwLjgzIDE0LjkyIDhIMjB2NnoiPjwvcGF0aD48L2c+CjxnIGlkPSJyZWRvIj48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlZnJlc2giPjxwYXRoIGQ9Ik0xNy42NSA2LjM1QzE2LjIgNC45IDE0LjIxIDQgMTIgNGMtNC40MiAwLTcuOTkgMy41OC03Ljk5IDhzMy41NyA4IDcuOTkgOGMzLjczIDAgNi44NC0yLjU1IDcuNzMtNmgtMi4wOGMtLjgyIDIuMzMtMy4wNCA0LTUuNjUgNC0zLjMxIDAtNi0yLjY5LTYtNnMyLjY5LTYgNi02YzEuNjYgMCAzLjE0LjY5IDQuMjIgMS43OEwxMyAxMWg3VjRsLTIuMzUgMi4zNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJyZW1vdmUiPjxwYXRoIGQ9Ik0xOSAxM0g1di0yaDE0djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icmVtb3ZlLWNpcmNsZSI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTUgMTFIN3YtMmgxMHYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlbW92ZS1jaXJjbGUtb3V0bGluZSI+PHBhdGggZD0iTTcgMTF2MmgxMHYtMkg3em01LTlDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlbW92ZS1zaG9wcGluZy1jYXJ0Ij48cGF0aCBkPSJNMjIuNzMgMjIuNzNMMi43NyAyLjc3IDIgMmwtLjczLS43M0wwIDIuNTRsNC4zOSA0LjM5IDIuMjEgNC42Ni0xLjM1IDIuNDVjLS4xNi4yOC0uMjUuNjEtLjI1Ljk2IDAgMS4xLjkgMiAyIDJoNy40NmwxLjM4IDEuMzhjLS41LjM2LS44My45NS0uODMgMS42MiAwIDEuMS44OSAyIDEuOTkgMiAuNjcgMCAxLjI2LS4zMyAxLjYyLS44NEwyMS40NiAyNGwxLjI3LTEuMjd6TTcuNDIgMTVjLS4xNCAwLS4yNS0uMTEtLjI1LS4yNWwuMDMtLjEyLjktMS42M2gyLjM2bDIgMkg3LjQyem04LjEzLTJjLjc1IDAgMS40MS0uNDEgMS43NS0xLjAzbDMuNTgtNi40OWMuMDgtLjE0LjEyLS4zMS4xMi0uNDggMC0uNTUtLjQ1LTEtMS0xSDYuNTRsOS4wMSA5ek03IDE4Yy0xLjEgMC0xLjk5LjktMS45OSAyUzUuOSAyMiA3IDIyczItLjkgMi0yLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlb3JkZXIiPjxwYXRoIGQ9Ik0zIDE1aDE4di0ySDN2MnptMCA0aDE4di0ySDN2MnptMC04aDE4VjlIM3Yyem0wLTZ2MmgxOFY1SDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icmVwbHkiPjxwYXRoIGQ9Ik0xMCA5VjVsLTcgNyA3IDd2LTQuMWM1IDAgOC41IDEuNiAxMSA1LjEtMS01LTQtMTAtMTEtMTF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icmVwbHktYWxsIj48cGF0aCBkPSJNNyA4VjVsLTcgNyA3IDd2LTNsLTQtNCA0LTR6bTYgMVY1bC03IDcgNyA3di00LjFjNSAwIDguNSAxLjYgMTEgNS4xLTEtNS00LTEwLTExLTExeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlcG9ydCI+PHBhdGggZD0iTTE1LjczIDNIOC4yN0wzIDguMjd2Ny40Nkw4LjI3IDIxaDcuNDZMMjEgMTUuNzNWOC4yN0wxNS43MyAzek0xMiAxNy4zYy0uNzIgMC0xLjMtLjU4LTEuMy0xLjMgMC0uNzIuNTgtMS4zIDEuMy0xLjMuNzIgMCAxLjMuNTggMS4zIDEuMyAwIC43Mi0uNTggMS4zLTEuMyAxLjN6bTEtNC4zaC0yVjdoMnY2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlcG9ydC1wcm9ibGVtIj48cGF0aCBkPSJNMSAyMWgyMkwxMiAyIDEgMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlc3RvcmUiPjxwYXRoIGQ9Ik0xMyAzYy00Ljk3IDAtOSA0LjAzLTkgOUgxbDMuODkgMy44OS4wNy4xNEw5IDEySDZjMC0zLjg3IDMuMTMtNyA3LTdzNyAzLjEzIDcgNy0zLjEzIDctNyA3Yy0xLjkzIDAtMy42OC0uNzktNC45NC0yLjA2bC0xLjQyIDEuNDJDOC4yNyAxOS45OSAxMC41MSAyMSAxMyAyMWM0Ljk3IDAgOS00LjAzIDktOXMtNC4wMy05LTktOXptLTEgNXY1bDQuMjggMi41NC43Mi0xLjIxLTMuNS0yLjA4VjhIMTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icmVzdG9yZS1wYWdlIj48cGF0aCBkPSJNMTQgMkg2Yy0xLjEgMC0xLjk5LjktMS45OSAyTDQgMjBjMCAxLjEuODkgMiAxLjk5IDJIMThjMS4xIDAgMi0uOSAyLTJWOGwtNi02em0tMiAxNmMtMi4wNSAwLTMuODEtMS4yNC00LjU4LTNoMS43MWMuNjMuOSAxLjY4IDEuNSAyLjg3IDEuNSAxLjkzIDAgMy41LTEuNTcgMy41LTMuNVMxMy45MyA5LjUgMTIgOS41Yy0xLjM1IDAtMi41Mi43OC0zLjEgMS45bDEuNiAxLjZoLTRWOWwxLjMgMS4zQzguNjkgOC45MiAxMC4yMyA4IDEyIDhjMi43NiAwIDUgMi4yNCA1IDVzLTIuMjQgNS01IDV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icm9vbSI+PHBhdGggZD0iTTEyIDJDOC4xMyAyIDUgNS4xMyA1IDljMCA1LjI1IDcgMTMgNyAxM3M3LTcuNzUgNy0xM2MwLTMuODctMy4xMy03LTctN3ptMCA5LjVjLTEuMzggMC0yLjUtMS4xMi0yLjUtMi41czEuMTItMi41IDIuNS0yLjUgMi41IDEuMTIgMi41IDIuNS0xLjEyIDIuNS0yLjUgMi41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJvdW5kZWQtY29ybmVyIj48cGF0aCBkPSJNMTkgMTloMnYyaC0ydi0yem0wLTJoMnYtMmgtMnYyek0zIDEzaDJ2LTJIM3Yyem0wIDRoMnYtMkgzdjJ6bTAtOGgyVjdIM3Yyem0wLTRoMlYzSDN2MnptNCAwaDJWM0g3djJ6bTggMTZoMnYtMmgtMnYyem0tNCAwaDJ2LTJoLTJ2MnptNCAwaDJ2LTJoLTJ2MnptLTggMGgydi0ySDd2MnptLTQgMGgydi0ySDN2MnpNMjEgOGMwLTIuNzYtMi4yNC01LTUtNWgtNXYyaDVjMS42NSAwIDMgMS4zNSAzIDN2NWgyVjh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icm93aW5nIj48cGF0aCBkPSJNOC41IDE0LjVMNCAxOWwxLjUgMS41TDkgMTdoMmwtMi41LTIuNXpNMTUgMWMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bTYgMjAuMDFMMTggMjRsLTIuOTktMy4wMVYxOS41bC03LjEtNy4wOWMtLjMxLjA1LS42MS4wNy0uOTEuMDd2LTIuMTZjMS42Ni4wMyAzLjYxLS44NyA0LjY3LTIuMDRsMS40LTEuNTVjLjE5LS4yMS40My0uMzguNjktLjUuMjktLjE0LjYyLS4yMy45Ni0uMjNoLjAzQzE1Ljk5IDYuMDEgMTcgNy4wMiAxNyA4LjI2djUuNzVjMCAuODQtLjM1IDEuNjEtLjkyIDIuMTZsLTMuNTgtMy41OHYtMi4yN2MtLjYzLjUyLTEuNDMgMS4wMi0yLjI5IDEuMzlMMTYuNSAxOEgxOGwzIDMuMDF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2F2ZSI+PHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNjaGVkdWxlIj48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnpNMTIgMjBjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4em0uNS0xM0gxMXY2bDUuMjUgMy4xNS43NS0xLjIzLTQuNS0yLjY3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNlYXJjaCI+PHBhdGggZD0iTTE1LjUgMTRoLS43OWwtLjI4LS4yN0MxNS40MSAxMi41OSAxNiAxMS4xMSAxNiA5LjUgMTYgNS45MSAxMy4wOSAzIDkuNSAzUzMgNS45MSAzIDkuNSA1LjkxIDE2IDkuNSAxNmMxLjYxIDAgMy4wOS0uNTkgNC4yMy0xLjU3bC4yNy4yOHYuNzlsNSA0Ljk5TDIwLjQ5IDE5bC00Ljk5LTV6bS02IDBDNy4wMSAxNCA1IDExLjk5IDUgOS41UzcuMDEgNSA5LjUgNSAxNCA3LjAxIDE0IDkuNSAxMS45OSAxNCA5LjUgMTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2VsZWN0LWFsbCI+PHBhdGggZD0iTTMgNWgyVjNjLTEuMSAwLTIgLjktMiAyem0wIDhoMnYtMkgzdjJ6bTQgOGgydi0ySDd2MnpNMyA5aDJWN0gzdjJ6bTEwLTZoLTJ2MmgyVjN6bTYgMHYyaDJjMC0xLjEtLjktMi0yLTJ6TTUgMjF2LTJIM2MwIDEuMS45IDIgMiAyem0tMi00aDJ2LTJIM3Yyek05IDNIN3YyaDJWM3ptMiAxOGgydi0yaC0ydjJ6bTgtOGgydi0yaC0ydjJ6bTAgOGMxLjEgMCAyLS45IDItMmgtMnYyem0wLTEyaDJWN2gtMnYyem0wIDhoMnYtMmgtMnYyem0tNCA0aDJ2LTJoLTJ2MnptMC0xNmgyVjNoLTJ2MnpNNyAxN2gxMFY3SDd2MTB6bTItOGg2djZIOVY5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNlbmQiPjxwYXRoIGQ9Ik0yLjAxIDIxTDIzIDEyIDIuMDEgMyAyIDEwbDE1IDItMTUgMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncyI+PHBhdGggZD0iTTE5LjQzIDEyLjk4Yy4wNC0uMzIuMDctLjY0LjA3LS45OHMtLjAzLS42Ni0uMDctLjk4bDIuMTEtMS42NWMuMTktLjE1LjI0LS40Mi4xMi0uNjRsLTItMy40NmMtLjEyLS4yMi0uMzktLjMtLjYxLS4yMmwtMi40OSAxYy0uNTItLjQtMS4wOC0uNzMtMS42OS0uOThsLS4zOC0yLjY1QzE0LjQ2IDIuMTggMTQuMjUgMiAxNCAyaC00Yy0uMjUgMC0uNDYuMTgtLjQ5LjQybC0uMzggMi42NWMtLjYxLjI1LTEuMTcuNTktMS42OS45OGwtMi40OS0xYy0uMjMtLjA5LS40OSAwLS42MS4yMmwtMiAzLjQ2Yy0uMTMuMjItLjA3LjQ5LjEyLjY0bDIuMTEgMS42NWMtLjA0LjMyLS4wNy42NS0uMDcuOThzLjAzLjY2LjA3Ljk4bC0yLjExIDEuNjVjLS4xOS4xNS0uMjQuNDItLjEyLjY0bDIgMy40NmMuMTIuMjIuMzkuMy42MS4yMmwyLjQ5LTFjLjUyLjQgMS4wOC43MyAxLjY5Ljk4bC4zOCAyLjY1Yy4wMy4yNC4yNC40Mi40OS40Mmg0Yy4yNSAwIC40Ni0uMTguNDktLjQybC4zOC0yLjY1Yy42MS0uMjUgMS4xNy0uNTkgMS42OS0uOThsMi40OSAxYy4yMy4wOS40OSAwIC42MS0uMjJsMi0zLjQ2Yy4xMi0uMjIuMDctLjQ5LS4xMi0uNjRsLTIuMTEtMS42NXpNMTIgMTUuNWMtMS45MyAwLTMuNS0xLjU3LTMuNS0zLjVzMS41Ny0zLjUgMy41LTMuNSAzLjUgMS41NyAzLjUgMy41LTEuNTcgMy41LTMuNSAzLjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtYXBwbGljYXRpb25zIj48cGF0aCBkPSJNMTIgMTBjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yem03LTdINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMTEgMCAyLS45IDItMlY1YzAtMS4xLS44OS0yLTItMnptLTEuNzUgOWMwIC4yMy0uMDIuNDYtLjA1LjY4bDEuNDggMS4xNmMuMTMuMTEuMTcuMy4wOC40NWwtMS40IDIuNDJjLS4wOS4xNS0uMjcuMjEtLjQzLjE1bC0xLjc0LS43Yy0uMzYuMjgtLjc2LjUxLTEuMTguNjlsLS4yNiAxLjg1Yy0uMDMuMTctLjE4LjMtLjM1LjNoLTIuOGMtLjE3IDAtLjMyLS4xMy0uMzUtLjI5bC0uMjYtMS44NWMtLjQzLS4xOC0uODItLjQxLTEuMTgtLjY5bC0xLjc0LjdjLS4xNi4wNi0uMzQgMC0uNDMtLjE1bC0xLjQtMi40MmMtLjA5LS4xNS0uMDUtLjM0LjA4LS40NWwxLjQ4LTEuMTZjLS4wMy0uMjMtLjA1LS40Ni0uMDUtLjY5IDAtLjIzLjAyLS40Ni4wNS0uNjhsLTEuNDgtMS4xNmMtLjEzLS4xMS0uMTctLjMtLjA4LS40NWwxLjQtMi40MmMuMDktLjE1LjI3LS4yMS40My0uMTVsMS43NC43Yy4zNi0uMjguNzYtLjUxIDEuMTgtLjY5bC4yNi0xLjg1Yy4wMy0uMTcuMTgtLjMuMzUtLjNoMi44Yy4xNyAwIC4zMi4xMy4zNS4yOWwuMjYgMS44NWMuNDMuMTguODIuNDEgMS4xOC42OWwxLjc0LS43Yy4xNi0uMDYuMzQgMCAuNDMuMTVsMS40IDIuNDJjLjA5LjE1LjA1LjM0LS4wOC40NWwtMS40OCAxLjE2Yy4wMy4yMy4wNS40Ni4wNS42OXoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy1iYWNrdXAtcmVzdG9yZSI+PHBhdGggZD0iTTE0IDEyYzAtMS4xLS45LTItMi0ycy0yIC45LTIgMiAuOSAyIDIgMiAyLS45IDItMnptLTItOWMtNC45NyAwLTkgNC4wMy05IDlIMGw0IDQgNC00SDVjMC0zLjg3IDMuMTMtNyA3LTdzNyAzLjEzIDcgNy0zLjEzIDctNyA3Yy0xLjUxIDAtMi45MS0uNDktNC4wNi0xLjNsLTEuNDIgMS40NEM4LjA0IDIwLjMgOS45NCAyMSAxMiAyMWM0Ljk3IDAgOS00LjAzIDktOXMtNC4wMy05LTktOXoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy1ibHVldG9vdGgiPjxwYXRoIGQ9Ik0xMSAyNGgydi0yaC0ydjJ6bS00IDBoMnYtMkg3djJ6bTggMGgydi0yaC0ydjJ6bTIuNzEtMTguMjlMMTIgMGgtMXY3LjU5TDYuNDEgMyA1IDQuNDEgMTAuNTkgMTAgNSAxNS41OSA2LjQxIDE3IDExIDEyLjQxVjIwaDFsNS43MS01LjcxLTQuMy00LjI5IDQuMy00LjI5ek0xMyAzLjgzbDEuODggMS44OEwxMyA3LjU5VjMuODN6bTEuODggMTAuNDZMMTMgMTYuMTd2LTMuNzZsMS44OCAxLjg4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNldHRpbmdzLWJyaWdodG5lc3MiPjxwYXRoIGQ9Ik0yMSAzSDNjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNi4wMUgzVjQuOTloMTh2MTQuMDJ6TTggMTZoMi41bDEuNSAxLjUgMS41LTEuNUgxNnYtMi41bDEuNS0xLjUtMS41LTEuNVY4aC0yLjVMMTIgNi41IDEwLjUgOEg4djIuNUw2LjUgMTIgOCAxMy41VjE2em00LTdjMS42NiAwIDMgMS4zNCAzIDNzLTEuMzQgMy0zIDNWOXoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy1jZWxsIj48cGF0aCBkPSJNNyAyNGgydi0ySDd2MnptNCAwaDJ2LTJoLTJ2MnptNCAwaDJ2LTJoLTJ2MnpNMTYgLjAxTDggMEM2LjkgMCA2IC45IDYgMnYxNmMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWMmMwLTEuMS0uOS0xLjk5LTItMS45OXpNMTYgMTZIOFY0aDh2MTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtZXRoZXJuZXQiPjxwYXRoIGQ9Ik03Ljc3IDYuNzZMNi4yMyA1LjQ4LjgyIDEybDUuNDEgNi41MiAxLjU0LTEuMjhMMy40MiAxMmw0LjM1LTUuMjR6TTcgMTNoMnYtMkg3djJ6bTEwLTJoLTJ2Mmgydi0yem0tNiAyaDJ2LTJoLTJ2MnptNi43Ny03LjUybC0xLjU0IDEuMjhMMjAuNTggMTJsLTQuMzUgNS4yNCAxLjU0IDEuMjhMMjMuMTggMTJsLTUuNDEtNi41MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy1pbnB1dC1hbnRlbm5hIj48cGF0aCBkPSJNMTIgNWMtMy44NyAwLTcgMy4xMy03IDdoMmMwLTIuNzYgMi4yNC01IDUtNXM1IDIuMjQgNSA1aDJjMC0zLjg3LTMuMTMtNy03LTd6bTEgOS4yOWMuODgtLjM5IDEuNS0xLjI2IDEuNS0yLjI5IDAtMS4zOC0xLjEyLTIuNS0yLjUtMi41UzkuNSAxMC42MiA5LjUgMTJjMCAxLjAyLjYyIDEuOSAxLjUgMi4yOXYzLjNMNy41OSAyMSA5IDIyLjQxbDMtMyAzIDNMMTYuNDEgMjEgMTMgMTcuNTl2LTMuM3pNMTIgMUM1LjkzIDEgMSA1LjkzIDEgMTJoMmMwLTQuOTcgNC4wMy05IDktOXM5IDQuMDMgOSA5aDJjMC02LjA3LTQuOTMtMTEtMTEtMTF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtaW5wdXQtY29tcG9uZW50Ij48cGF0aCBkPSJNNSAyYzAtLjU1LS40NS0xLTEtMXMtMSAuNDUtMSAxdjRIMXY2aDZWNkg1VjJ6bTQgMTRjMCAxLjMuODQgMi40IDIgMi44MlYyM2gydi00LjE4YzEuMTYtLjQxIDItMS41MSAyLTIuODJ2LTJIOXYyem0tOCAwYzAgMS4zLjg0IDIuNCAyIDIuODJWMjNoMnYtNC4xOEM2LjE2IDE4LjQgNyAxNy4zIDcgMTZ2LTJIMXYyek0yMSA2VjJjMC0uNTUtLjQ1LTEtMS0xcy0xIC40NS0xIDF2NGgtMnY2aDZWNmgtMnptLTgtNGMwLS41NS0uNDUtMS0xLTFzLTEgLjQ1LTEgMXY0SDl2Nmg2VjZoLTJWMnptNCAxNGMwIDEuMy44NCAyLjQgMiAyLjgyVjIzaDJ2LTQuMThjMS4xNi0uNDEgMi0xLjUxIDItMi44MnYtMmgtNnYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNldHRpbmdzLWlucHV0LWNvbXBvc2l0ZSI+PHBhdGggZD0iTTUgMmMwLS41NS0uNDUtMS0xLTFzLTEgLjQ1LTEgMXY0SDF2Nmg2VjZINVYyem00IDE0YzAgMS4zLjg0IDIuNCAyIDIuODJWMjNoMnYtNC4xOGMxLjE2LS40MSAyLTEuNTEgMi0yLjgydi0ySDl2MnptLTggMGMwIDEuMy44NCAyLjQgMiAyLjgyVjIzaDJ2LTQuMThDNi4xNiAxOC40IDcgMTcuMyA3IDE2di0ySDF2MnpNMjEgNlYyYzAtLjU1LS40NS0xLTEtMXMtMSAuNDUtMSAxdjRoLTJ2Nmg2VjZoLTJ6bS04LTRjMC0uNTUtLjQ1LTEtMS0xcy0xIC40NS0xIDF2NEg5djZoNlY2aC0yVjJ6bTQgMTRjMCAxLjMuODQgMi40IDIgMi44MlYyM2gydi00LjE4YzEuMTYtLjQxIDItMS41MSAyLTIuODJ2LTJoLTZ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy1pbnB1dC1oZG1pIj48cGF0aCBkPSJNMTggN1Y0YzAtMS4xLS45LTItMi0ySDhjLTEuMSAwLTIgLjktMiAydjNINXY2bDMgNnYzaDh2LTNsMy02VjdoLTF6TTggNGg4djNoLTJWNWgtMXYyaC0yVjVoLTF2Mkg4VjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtaW5wdXQtc3ZpZGVvIj48cGF0aCBkPSJNOCAxMS41YzAtLjgzLS42Ny0xLjUtMS41LTEuNVM1IDEwLjY3IDUgMTEuNSA1LjY3IDEzIDYuNSAxMyA4IDEyLjMzIDggMTEuNXptNy01YzAtLjgzLS42Ny0xLjUtMS41LTEuNWgtM0M5LjY3IDUgOSA1LjY3IDkgNi41UzkuNjcgOCAxMC41IDhoM2MuODMgMCAxLjUtLjY3IDEuNS0xLjV6TTguNSAxNWMtLjgzIDAtMS41LjY3LTEuNSAxLjVTNy42NyAxOCA4LjUgMThzMS41LS42NyAxLjUtMS41UzkuMzMgMTUgOC41IDE1ek0xMiAxQzUuOTMgMSAxIDUuOTMgMSAxMnM0LjkzIDExIDExIDExIDExLTQuOTMgMTEtMTFTMTguMDcgMSAxMiAxem0wIDIwYy00Ljk2IDAtOS00LjA0LTktOXM0LjA0LTkgOS05IDkgNC4wNCA5IDktNC4wNCA5LTkgOXptNS41LTExYy0uODMgMC0xLjUuNjctMS41IDEuNXMuNjcgMS41IDEuNSAxLjUgMS41LS42NyAxLjUtMS41LS42Ny0xLjUtMS41LTEuNXptLTIgNWMtLjgzIDAtMS41LjY3LTEuNSAxLjVzLjY3IDEuNSAxLjUgMS41IDEuNS0uNjcgMS41LTEuNS0uNjctMS41LTEuNS0xLjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3Mtb3ZlcnNjYW4iPjxwYXRoIGQ9Ik0xMi4wMSA1LjVMMTAgOGg0bC0xLjk5LTIuNXpNMTggMTB2NGwyLjUtMS45OUwxOCAxMHpNNiAxMGwtMi41IDIuMDFMNiAxNHYtNHptOCA2aC00bDIuMDEgMi41TDE0IDE2em03LTEzSDNjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNi4wMUgzVjQuOTloMTh2MTQuMDJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtcGhvbmUiPjxwYXRoIGQ9Ik0xMyA5aC0ydjJoMlY5em00IDBoLTJ2MmgyVjl6bTMgNi41Yy0xLjI1IDAtMi40NS0uMi0zLjU3LS41Ny0uMzUtLjExLS43NC0uMDMtMS4wMi4yNGwtMi4yIDIuMmMtMi44My0xLjQ0LTUuMTUtMy43NS02LjU5LTYuNThsMi4yLTIuMjFjLjI4LS4yNy4zNi0uNjYuMjUtMS4wMUM4LjcgNi40NSA4LjUgNS4yNSA4LjUgNGMwLS41NS0uNDUtMS0xLTFINGMtLjU1IDAtMSAuNDUtMSAxIDAgOS4zOSA3LjYxIDE3IDE3IDE3IC41NSAwIDEtLjQ1IDEtMXYtMy41YzAtLjU1LS40NS0xLTEtMXpNMTkgOXYyaDJWOWgtMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy1wb3dlciI+PHBhdGggZD0iTTcgMjRoMnYtMkg3djJ6bTQgMGgydi0yaC0ydjJ6bTItMjJoLTJ2MTBoMlYyem0zLjU2IDIuNDRsLTEuNDUgMS40NUMxNi44NCA2Ljk0IDE4IDguODMgMTggMTFjMCAzLjMxLTIuNjkgNi02IDZzLTYtMi42OS02LTZjMC0yLjE3IDEuMTYtNC4wNiAyLjg4LTUuMTJMNy40NCA0LjQ0QzUuMzYgNS44OCA0IDguMjggNCAxMWMwIDQuNDIgMy41OCA4IDggOHM4LTMuNTggOC04YzAtMi43Mi0xLjM2LTUuMTItMy40NC02LjU2ek0xNSAyNGgydi0yaC0ydjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtcmVtb3RlIj48cGF0aCBkPSJNMTUgOUg5Yy0uNTUgMC0xIC40NS0xIDF2MTJjMCAuNTUuNDUgMSAxIDFoNmMuNTUgMCAxLS40NSAxLTFWMTBjMC0uNTUtLjQ1LTEtMS0xem0tMyA2Yy0xLjEgMC0yLS45LTItMnMuOS0yIDItMiAyIC45IDIgMi0uOSAyLTIgMnpNNy4wNSA2LjA1bDEuNDEgMS40MUM5LjM3IDYuNTYgMTAuNjIgNiAxMiA2czIuNjMuNTYgMy41NCAxLjQ2bDEuNDEtMS40MUMxNS42OCA0Ljc4IDEzLjkzIDQgMTIgNHMtMy42OC43OC00Ljk1IDIuMDV6TTEyIDBDOC45NiAwIDYuMjEgMS4yMyA0LjIyIDMuMjJsMS40MSAxLjQxQzcuMjYgMy4wMSA5LjUxIDIgMTIgMnM0Ljc0IDEuMDEgNi4zNiAyLjY0bDEuNDEtMS40MUMxNy43OSAxLjIzIDE1LjA0IDAgMTIgMHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy12b2ljZSI+PHBhdGggZD0iTTcgMjRoMnYtMkg3djJ6bTUtMTFjMS42NiAwIDIuOTktMS4zNCAyLjk5LTNMMTUgNGMwLTEuNjYtMS4zNC0zLTMtM1M5IDIuMzQgOSA0djZjMCAxLjY2IDEuMzQgMyAzIDN6bS0xIDExaDJ2LTJoLTJ2MnptNCAwaDJ2LTJoLTJ2MnptNC0xNGgtMS43YzAgMy0yLjU0IDUuMS01LjMgNS4xUzYuNyAxMyA2LjcgMTBINWMwIDMuNDEgMi43MiA2LjIzIDYgNi43MlYyMGgydi0zLjI4YzMuMjgtLjQ5IDYtMy4zMSA2LTYuNzJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2hvcCI+PHBhdGggZD0iTTE2IDZWNGMwLTEuMTEtLjg5LTItMi0yaC00Yy0xLjExIDAtMiAuODktMiAydjJIMnYxM2MwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY2aC02em0tNi0yaDR2MmgtNFY0ek05IDE4VjlsNy41IDRMOSAxOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzaG9wLXR3byI+PHBhdGggZD0iTTMgOUgxdjExYzAgMS4xMS44OSAyIDIgMmgxNGMxLjExIDAgMi0uODkgMi0ySDNWOXptMTUtNFYzYzAtMS4xMS0uODktMi0yLTJoLTRjLTEuMTEgMC0yIC44OS0yIDJ2Mkg1djExYzAgMS4xMS44OSAyIDIgMmgxNGMxLjExIDAgMi0uODkgMi0yVjVoLTV6bS02LTJoNHYyaC00VjN6bTAgMTJWOGw1LjUgMy01LjUgNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzaG9wcGluZy1iYXNrZXQiPjxwYXRoIGQ9Ik0xNy4yMSA5bC00LjM4LTYuNTZjLS4xOS0uMjgtLjUxLS40Mi0uODMtLjQyLS4zMiAwLS42NC4xNC0uODMuNDNMNi43OSA5SDJjLS41NSAwLTEgLjQ1LTEgMSAwIC4wOS4wMS4xOC4wNC4yN2wyLjU0IDkuMjdjLjIzLjg0IDEgMS40NiAxLjkyIDEuNDZoMTNjLjkyIDAgMS42OS0uNjIgMS45My0xLjQ2bDIuNTQtOS4yN0wyMyAxMGMwLS41NS0uNDUtMS0xLTFoLTQuNzl6TTkgOWwzLTQuNEwxNSA5SDl6bTMgOGMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2hvcHBpbmctY2FydCI+PHBhdGggZD0iTTcgMThjLTEuMSAwLTEuOTkuOS0xLjk5IDJTNS45IDIyIDcgMjJzMi0uOSAyLTItLjktMi0yLTJ6TTEgMnYyaDJsMy42IDcuNTktMS4zNSAyLjQ1Yy0uMTYuMjgtLjI1LjYxLS4yNS45NiAwIDEuMS45IDIgMiAyaDEydi0ySDcuNDJjLS4xNCAwLS4yNS0uMTEtLjI1LS4yNWwuMDMtLjEyLjktMS42M2g3LjQ1Yy43NSAwIDEuNDEtLjQxIDEuNzUtMS4wM2wzLjU4LTYuNDljLjA4LS4xNC4xMi0uMzEuMTItLjQ4IDAtLjU1LS40NS0xLTEtMUg1LjIxbC0uOTQtMkgxem0xNiAxNmMtMS4xIDAtMS45OS45LTEuOTkgMnMuODkgMiAxLjk5IDIgMi0uOSAyLTItLjktMi0yLTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic29ydCI+PHBhdGggZD0iTTMgMThoNnYtMkgzdjJ6TTMgNnYyaDE4VjZIM3ptMCA3aDEydi0ySDN2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJzcGVha2VyLW5vdGVzIj48cGF0aCBkPSJNMjAgMkg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMjJsNC00aDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6TTggMTRINnYtMmgydjJ6bTAtM0g2VjloMnYyem0wLTNINlY2aDJ2MnptNyA2aC01di0yaDV2MnptMy0zaC04VjloOHYyem0wLTNoLThWNmg4djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic3BlYWtlci1ub3Rlcy1vZmYiPjxwYXRoIGQ9Ik0xMC41NCAxMWwtLjU0LS41NEw3LjU0IDggNiA2LjQ2IDIuMzggMi44NCAxLjI3IDEuNzMgMCAzbDIuMDEgMi4wMUwyIDIybDQtNGg5bDUuNzMgNS43M0wyMiAyMi40NiAxNy41NCAxOGwtNy03ek04IDE0SDZ2LTJoMnYyem0tMi0zVjlsMiAySDZ6bTE0LTlINC4wOEwxMCA3LjkyVjZoOHYyaC03LjkybDEgMUgxOHYyaC00LjkybDYuOTkgNi45OUMyMS4xNCAxNy45NSAyMiAxNy4wOCAyMiAxNlY0YzAtMS4xLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNwZWxsY2hlY2siPjxwYXRoIGQ9Ik0xMi40NSAxNmgyLjA5TDkuNDMgM0g3LjU3TDIuNDYgMTZoMi4wOWwxLjEyLTNoNS42NGwxLjE0IDN6bS02LjAyLTVMOC41IDUuNDggMTAuNTcgMTFINi40M3ptMTUuMTYuNTlsLTguMDkgOC4wOUw5LjgzIDE2bC0xLjQxIDEuNDEgNS4wOSA1LjA5TDIzIDEzbC0xLjQxLTEuNDF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic3RhciI+PHBhdGggZD0iTTEyIDE3LjI3TDE4LjE4IDIxbC0xLjY0LTcuMDNMMjIgOS4yNGwtNy4xOS0uNjFMMTIgMiA5LjE5IDguNjMgMiA5LjI0bDUuNDYgNC43M0w1LjgyIDIxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InN0YXItYm9yZGVyIj48cGF0aCBkPSJNMjIgOS4yNGwtNy4xOS0uNjJMMTIgMiA5LjE5IDguNjMgMiA5LjI0bDUuNDYgNC43M0w1LjgyIDIxIDEyIDE3LjI3IDE4LjE4IDIxbC0xLjYzLTcuMDNMMjIgOS4yNHpNMTIgMTUuNGwtMy43NiAyLjI3IDEtNC4yOC0zLjMyLTIuODggNC4zOC0uMzhMMTIgNi4xbDEuNzEgNC4wNCA0LjM4LjM4LTMuMzIgMi44OCAxIDQuMjhMMTIgMTUuNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzdGFyLWhhbGYiPjxwYXRoIGQ9Ik0yMiA5LjI0bC03LjE5LS42MkwxMiAyIDkuMTkgOC42MyAyIDkuMjRsNS40NiA0LjczTDUuODIgMjEgMTIgMTcuMjcgMTguMTggMjFsLTEuNjMtNy4wM0wyMiA5LjI0ek0xMiAxNS40VjYuMWwxLjcxIDQuMDQgNC4zOC4zOC0zLjMyIDIuODggMSA0LjI4TDEyIDE1LjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic3RhcnMiPjxwYXRoIGQ9Ik0xMS45OSAyQzYuNDcgMiAyIDYuNDggMiAxMnM0LjQ3IDEwIDkuOTkgMTBDMTcuNTIgMjIgMjIgMTcuNTIgMjIgMTJTMTcuNTIgMiAxMS45OSAyem00LjI0IDE2TDEyIDE1LjQ1IDcuNzcgMThsMS4xMi00LjgxLTMuNzMtMy4yMyA0LjkyLS40MkwxMiA1bDEuOTIgNC41MyA0LjkyLjQyLTMuNzMgMy4yM0wxNi4yMyAxOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzdG9yZSI+PHBhdGggZD0iTTIwIDRINHYyaDE2VjR6bTEgMTB2LTJsLTEtNUg0bC0xIDV2MmgxdjZoMTB2LTZoNHY2aDJ2LTZoMXptLTkgNEg2di00aDZ2NHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzdWJkaXJlY3RvcnktYXJyb3ctbGVmdCI+PHBhdGggZD0iTTExIDlsMS40MiAxLjQyTDguODMgMTRIMThWNGgydjEySDguODNsMy41OSAzLjU4TDExIDIxbC02LTYgNi02eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InN1YmRpcmVjdG9yeS1hcnJvdy1yaWdodCI+PHBhdGggZD0iTTE5IDE1bC02IDYtMS40Mi0xLjQyTDE1LjE3IDE2SDRWNGgydjEwaDkuMTdsLTMuNTktMy41OEwxMyA5bDYgNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJzdWJqZWN0Ij48cGF0aCBkPSJNMTQgMTdINHYyaDEwdi0yem02LThINHYyaDE2Vjl6TTQgMTVoMTZ2LTJINHYyek00IDV2MmgxNlY1SDR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic3VwZXJ2aXNvci1hY2NvdW50Ij48cGF0aCBkPSJNMTYuNSAxMmMxLjM4IDAgMi40OS0xLjEyIDIuNDktMi41UzE3Ljg4IDcgMTYuNSA3QzE1LjEyIDcgMTQgOC4xMiAxNCA5LjVzMS4xMiAyLjUgMi41IDIuNXpNOSAxMWMxLjY2IDAgMi45OS0xLjM0IDIuOTktM1MxMC42NiA1IDkgNUM3LjM0IDUgNiA2LjM0IDYgOHMxLjM0IDMgMyAzem03LjUgM2MtMS44MyAwLTUuNS45Mi01LjUgMi43NVYxOWgxMXYtMi4yNWMwLTEuODMtMy42Ny0yLjc1LTUuNS0yLjc1ek05IDEzYy0yLjMzIDAtNyAxLjE3LTcgMy41VjE5aDd2LTIuMjVjMC0uODUuMzMtMi4zNCAyLjM3LTMuNDdDMTAuNSAxMy4xIDkuNjYgMTMgOSAxM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJzd2FwLWhvcml6Ij48cGF0aCBkPSJNNi45OSAxMUwzIDE1bDMuOTkgNHYtM0gxNHYtMkg2Ljk5di0zek0yMSA5bC0zLjk5LTR2M0gxMHYyaDcuMDF2M0wyMSA5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InN3YXAtdmVydCI+PHBhdGggZD0iTTE2IDE3LjAxVjEwaC0ydjcuMDFoLTNMMTUgMjFsNC0zLjk5aC0zek05IDNMNSA2Ljk5aDNWMTRoMlY2Ljk5aDNMOSAzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InN3YXAtdmVydGljYWwtY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnpNNi41IDlMMTAgNS41IDEzLjUgOUgxMXY0SDlWOUg2LjV6bTExIDZMMTQgMTguNSAxMC41IDE1SDEzdi00aDJ2NGgyLjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic3lzdGVtLXVwZGF0ZS1hbHQiPjxwYXRoIGQ9Ik0xMiAxNi41bDQtNGgtM3YtOWgtMnY5SDhsNCA0em05LTEzaC02djEuOTloNnYxNC4wM0gzVjUuNDloNlYzLjVIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMnYtMTRjMC0xLjEtLjktMi0yLTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGFiIj48cGF0aCBkPSJNMjEgM0gzYy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE4YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZIM1Y1aDEwdjRoOHYxMHoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0YWItdW5zZWxlY3RlZCI+PHBhdGggZD0iTTEgOWgyVjdIMXYyem0wIDRoMnYtMkgxdjJ6bTAtOGgyVjNjLTEuMSAwLTIgLjktMiAyem04IDE2aDJ2LTJIOXYyem0tOC00aDJ2LTJIMXYyem0yIDR2LTJIMWMwIDEuMS45IDIgMiAyek0yMSAzaC04djZoMTBWNWMwLTEuMS0uOS0yLTItMnptMCAxNGgydi0yaC0ydjJ6TTkgNWgyVjNIOXYyek01IDIxaDJ2LTJINXYyek01IDVoMlYzSDV2MnptMTYgMTZjMS4xIDAgMi0uOSAyLTJoLTJ2MnptMC04aDJ2LTJoLTJ2MnptLTggOGgydi0yaC0ydjJ6bTQgMGgydi0yaC0ydjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGV4dC1mb3JtYXQiPjxwYXRoIGQ9Ik01IDE3djJoMTR2LTJINXptNC41LTQuMmg1bC45IDIuMmgyLjFMMTIuNzUgNGgtMS41TDYuNSAxNWgyLjFsLjktMi4yek0xMiA1Ljk4TDEzLjg3IDExaC0zLjc0TDEyIDUuOTh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGhlYXRlcnMiPjxwYXRoIGQ9Ik0xOCAzdjJoLTJWM0g4djJINlYzSDR2MThoMnYtMmgydjJoOHYtMmgydjJoMlYzaC0yek04IDE3SDZ2LTJoMnYyem0wLTRINnYtMmgydjJ6bTAtNEg2VjdoMnYyem0xMCA4aC0ydi0yaDJ2MnptMC00aC0ydi0yaDJ2MnptMC00aC0yVjdoMnYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRodW1iLWRvd24iPjxwYXRoIGQ9Ik0xNSAzSDZjLS44MyAwLTEuNTQuNS0xLjg0IDEuMjJsLTMuMDIgNy4wNWMtLjA5LjIzLS4xNC40Ny0uMTQuNzN2MS45MWwuMDEuMDFMMSAxNGMwIDEuMS45IDIgMiAyaDYuMzFsLS45NSA0LjU3LS4wMy4zMmMwIC40MS4xNy43OS40NCAxLjA2TDkuODMgMjNsNi41OS02LjU5Yy4zNi0uMzYuNTgtLjg2LjU4LTEuNDFWNWMwLTEuMS0uOS0yLTItMnptNCAwdjEyaDRWM2gtNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0aHVtYi11cCI+PHBhdGggZD0iTTEgMjFoNFY5SDF2MTJ6bTIyLTExYzAtMS4xLS45LTItMi0yaC02LjMxbC45NS00LjU3LjAzLS4zMmMwLS40MS0uMTctLjc5LS40NC0xLjA2TDE0LjE3IDEgNy41OSA3LjU5QzcuMjIgNy45NSA3IDguNDUgNyA5djEwYzAgMS4xLjkgMiAyIDJoOWMuODMgMCAxLjU0LS41IDEuODQtMS4yMmwzLjAyLTcuMDVjLjA5LS4yMy4xNC0uNDcuMTQtLjczdi0xLjkxbC0uMDEtLjAxTDIzIDEweiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRodW1icy11cC1kb3duIj48cGF0aCBkPSJNMTIgNmMwLS41NS0uNDUtMS0xLTFINS44MmwuNjYtMy4xOC4wMi0uMjNjMC0uMzEtLjEzLS41OS0uMzMtLjhMNS4zOCAwIC40NCA0Ljk0Qy4xNyA1LjIxIDAgNS41OSAwIDZ2Ni41YzAgLjgzLjY3IDEuNSAxLjUgMS41aDYuNzVjLjYyIDAgMS4xNS0uMzggMS4zOC0uOTFsMi4yNi01LjI5Yy4wNy0uMTcuMTEtLjM2LjExLS41NVY2em0xMC41IDRoLTYuNzVjLS42MiAwLTEuMTUuMzgtMS4zOC45MWwtMi4yNiA1LjI5Yy0uMDcuMTctLjExLjM2LS4xMS41NVYxOGMwIC41NS40NSAxIDEgMWg1LjE4bC0uNjYgMy4xOC0uMDIuMjRjMCAuMzEuMTMuNTkuMzMuOGwuNzkuNzggNC45NC00Ljk0Yy4yNy0uMjcuNDQtLjY1LjQ0LTEuMDZ2LTYuNWMwLS44My0uNjctMS41LTEuNS0xLjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGltZWxpbmUiPjxwYXRoIGQ9Ik0yMyA4YzAgMS4xLS45IDItMiAyLS4xOCAwLS4zNS0uMDItLjUxLS4wN2wtMy41NiAzLjU1Yy4wNS4xNi4wNy4zNC4wNy41MiAwIDEuMS0uOSAyLTIgMnMtMi0uOS0yLTJjMC0uMTguMDItLjM2LjA3LS41MmwtMi41NS0yLjU1Yy0uMTYuMDUtLjM0LjA3LS41Mi4wN3MtLjM2LS4wMi0uNTItLjA3bC00LjU1IDQuNTZjLjA1LjE2LjA3LjMzLjA3LjUxIDAgMS4xLS45IDItMiAycy0yLS45LTItMiAuOS0yIDItMmMuMTggMCAuMzUuMDIuNTEuMDdsNC41Ni00LjU1QzguMDIgOS4zNiA4IDkuMTggOCA5YzAtMS4xLjktMiAyLTJzMiAuOSAyIDJjMCAuMTgtLjAyLjM2LS4wNy41MmwyLjU1IDIuNTVjLjE2LS4wNS4zNC0uMDcuNTItLjA3cy4zNi4wMi41Mi4wN2wzLjU1LTMuNTZDMTkuMDIgOC4zNSAxOSA4LjE4IDE5IDhjMC0xLjEuOS0yIDItMnMyIC45IDIgMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0b2MiPjxwYXRoIGQ9Ik0zIDloMTRWN0gzdjJ6bTAgNGgxNHYtMkgzdjJ6bTAgNGgxNHYtMkgzdjJ6bTE2IDBoMnYtMmgtMnYyem0wLTEwdjJoMlY3aC0yem0wIDZoMnYtMmgtMnYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRvZGF5Ij48cGF0aCBkPSJNMTkgM2gtMVYxaC0ydjJIOFYxSDZ2Mkg1Yy0xLjExIDAtMS45OS45LTEuOTkgMkwzIDE5YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY4aDE0djExek03IDEwaDV2NUg3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRvbGwiPjxwYXRoIGQ9Ik0xNSA0Yy00LjQyIDAtOCAzLjU4LTggOHMzLjU4IDggOCA4IDgtMy41OCA4LTgtMy41OC04LTgtOHptMCAxNGMtMy4zMSAwLTYtMi42OS02LTZzMi42OS02IDYtNiA2IDIuNjkgNiA2LTIuNjkgNi02IDZ6TTMgMTJjMC0yLjYxIDEuNjctNC44MyA0LTUuNjVWNC4yNkMzLjU1IDUuMTUgMSA4LjI3IDEgMTJzMi41NSA2Ljg1IDYgNy43NHYtMi4wOWMtMi4zMy0uODItNC0zLjA0LTQtNS42NXoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0b3VjaC1hcHAiPjxwYXRoIGQ9Ik05IDExLjI0VjcuNUM5IDYuMTIgMTAuMTIgNSAxMS41IDVTMTQgNi4xMiAxNCA3LjV2My43NGMxLjIxLS44MSAyLTIuMTggMi0zLjc0QzE2IDUuMDEgMTMuOTkgMyAxMS41IDNTNyA1LjAxIDcgNy41YzAgMS41Ni43OSAyLjkzIDIgMy43NHptOS44NCA0LjYzbC00LjU0LTIuMjZjLS4xNy0uMDctLjM1LS4xMS0uNTQtLjExSDEzdi02YzAtLjgzLS42Ny0xLjUtMS41LTEuNVMxMCA2LjY3IDEwIDcuNXYxMC43NGwtMy40My0uNzJjLS4wOC0uMDEtLjE1LS4wMy0uMjQtLjAzLS4zMSAwLS41OS4xMy0uNzkuMzNsLS43OS44IDQuOTQgNC45NGMuMjcuMjcuNjUuNDQgMS4wNi40NGg2Ljc5Yy43NSAwIDEuMzMtLjU1IDEuNDQtMS4yOGwuNzUtNS4yN2MuMDEtLjA3LjAyLS4xNC4wMi0uMiAwLS42Mi0uMzgtMS4xNi0uOTEtMS4zOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0cmFjay1jaGFuZ2VzIj48cGF0aCBkPSJNMTkuMDcgNC45M2wtMS40MSAxLjQxQzE5LjEgNy43OSAyMCA5Ljc5IDIwIDEyYzAgNC40Mi0zLjU4IDgtOCA4cy04LTMuNTgtOC04YzAtNC4wOCAzLjA1LTcuNDQgNy03LjkzdjIuMDJDOC4xNiA2LjU3IDYgOS4wMyA2IDEyYzAgMy4zMSAyLjY5IDYgNiA2czYtMi42OSA2LTZjMC0xLjY2LS42Ny0zLjE2LTEuNzYtNC4yNGwtMS40MSAxLjQxQzE1LjU1IDkuOSAxNiAxMC45IDE2IDEyYzAgMi4yMS0xLjc5IDQtNCA0cy00LTEuNzktNC00YzAtMS44NiAxLjI4LTMuNDEgMy0zLjg2djIuMTRjLS42LjM1LTEgLjk4LTEgMS43MiAwIDEuMS45IDIgMiAyczItLjkgMi0yYzAtLjc0LS40LTEuMzgtMS0xLjcyVjJoLTFDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMGMwLTIuNzYtMS4xMi01LjI2LTIuOTMtNy4wN3oiPjwvcGF0aD48L2c+CjxnIGlkPSJ0cmFuc2xhdGUiPjxwYXRoIGQ9Ik0xMi44NyAxNS4wN2wtMi41NC0yLjUxLjAzLS4wM2MxLjc0LTEuOTQgMi45OC00LjE3IDMuNzEtNi41M0gxN1Y0aC03VjJIOHYySDF2MS45OWgxMS4xN0MxMS41IDcuOTIgMTAuNDQgOS43NSA5IDExLjM1IDguMDcgMTAuMzIgNy4zIDkuMTkgNi42OSA4aC0yYy43MyAxLjYzIDEuNzMgMy4xNyAyLjk4IDQuNTZsLTUuMDkgNS4wMkw0IDE5bDUtNSAzLjExIDMuMTEuNzYtMi4wNHpNMTguNSAxMGgtMkwxMiAyMmgybDEuMTItM2g0Ljc1TDIxIDIyaDJsLTQuNS0xMnptLTIuNjIgN2wxLjYyLTQuMzNMMTkuMTIgMTdoLTMuMjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idHJlbmRpbmctZG93biI+PHBhdGggZD0iTTE2IDE4bDIuMjktMi4yOS00Ljg4LTQuODgtNCA0TDIgNy40MSAzLjQxIDZsNiA2IDQtNCA2LjMgNi4yOUwyMiAxMnY2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRyZW5kaW5nLWZsYXQiPjxwYXRoIGQ9Ik0yMiAxMmwtNC00djNIM3YyaDE1djN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idHJlbmRpbmctdXAiPjxwYXRoIGQ9Ik0xNiA2bDIuMjkgMi4yOS00Ljg4IDQuODgtNC00TDIgMTYuNTkgMy40MSAxOGw2LTYgNCA0IDYuMy02LjI5TDIyIDEyVjZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idHVybmVkLWluIj48cGF0aCBkPSJNMTcgM0g3Yy0xLjEgMC0xLjk5LjktMS45OSAyTDUgMjFsNy0zIDcgM1Y1YzAtMS4xLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InR1cm5lZC1pbi1ub3QiPjxwYXRoIGQ9Ik0xNyAzSDdjLTEuMSAwLTEuOTkuOS0xLjk5IDJMNSAyMWw3LTMgNyAzVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTVsLTUtMi4xOEw3IDE4VjVoMTB2MTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idW5hcmNoaXZlIj48cGF0aCBkPSJNMjAuNTUgNS4yMmwtMS4zOS0xLjY4QzE4Ljg4IDMuMjEgMTguNDcgMyAxOCAzSDZjLS40NyAwLS44OC4yMS0xLjE1LjU1TDMuNDYgNS4yMkMzLjE3IDUuNTcgMyA2LjAxIDMgNi41VjE5YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjYuNWMwLS40OS0uMTctLjkzLS40NS0xLjI4ek0xMiA5LjVsNS41IDUuNUgxNHYyaC00di0ySDYuNUwxMiA5LjV6TTUuMTIgNWwuODItMWgxMmwuOTMgMUg1LjEyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InVuZG8iPjxwYXRoIGQ9Ik0xMi41IDhjLTIuNjUgMC01LjA1Ljk5LTYuOSAyLjZMMiA3djloOWwtMy42Mi0zLjYyYzEuMzktMS4xNiAzLjE2LTEuODggNS4xMi0xLjg4IDMuNTQgMCA2LjU1IDIuMzEgNy42IDUuNWwyLjM3LS43OEMyMS4wOCAxMS4wMyAxNy4xNSA4IDEyLjUgOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJ1bmZvbGQtbGVzcyI+PHBhdGggZD0iTTcuNDEgMTguNTlMOC44MyAyMCAxMiAxNi44MyAxNS4xNyAyMGwxLjQxLTEuNDFMMTIgMTRsLTQuNTkgNC41OXptOS4xOC0xMy4xOEwxNS4xNyA0IDEyIDcuMTcgOC44MyA0IDcuNDEgNS40MSAxMiAxMGw0LjU5LTQuNTl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idW5mb2xkLW1vcmUiPjxwYXRoIGQ9Ik0xMiA1LjgzTDE1LjE3IDlsMS40MS0xLjQxTDEyIDMgNy40MSA3LjU5IDguODMgOSAxMiA1Ljgzem0wIDEyLjM0TDguODMgMTVsLTEuNDEgMS40MUwxMiAyMWw0LjU5LTQuNTlMMTUuMTcgMTUgMTIgMTguMTd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idXBkYXRlIj48cGF0aCBkPSJNMjEgMTAuMTJoLTYuNzhsMi43NC0yLjgyYy0yLjczLTIuNy03LjE1LTIuOC05Ljg4LS4xLTIuNzMgMi43MS0yLjczIDcuMDggMCA5Ljc5IDIuNzMgMi43MSA3LjE1IDIuNzEgOS44OCAwQzE4LjMyIDE1LjY1IDE5IDE0LjA4IDE5IDEyLjFoMmMwIDEuOTgtLjg4IDQuNTUtMi42NCA2LjI5LTMuNTEgMy40OC05LjIxIDMuNDgtMTIuNzIgMC0zLjUtMy40Ny0zLjUzLTkuMTEtLjAyLTEyLjU4IDMuNTEtMy40NyA5LjE0LTMuNDcgMTIuNjUgMEwyMSAzdjcuMTJ6TTEyLjUgOHY0LjI1bDMuNSAyLjA4LS43MiAxLjIxTDExIDEzVjhoMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZlcmlmaWVkLXVzZXIiPjxwYXRoIGQ9Ik0xMiAxTDMgNXY2YzAgNS41NSAzLjg0IDEwLjc0IDkgMTIgNS4xNi0xLjI2IDktNi40NSA5LTEyVjVsLTktNHptLTIgMTZsLTQtNCAxLjQxLTEuNDFMMTAgMTQuMTdsNi41OS02LjU5TDE4IDlsLTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJ2aWV3LWFnZW5kYSI+PHBhdGggZD0iTTIwIDEzSDNjLS41NSAwLTEgLjQ1LTEgMXY2YzAgLjU1LjQ1IDEgMSAxaDE3Yy41NSAwIDEtLjQ1IDEtMXYtNmMwLS41NS0uNDUtMS0xLTF6bTAtMTBIM2MtLjU1IDAtMSAuNDUtMSAxdjZjMCAuNTUuNDUgMSAxIDFoMTdjLjU1IDAgMS0uNDUgMS0xVjRjMC0uNTUtLjQ1LTEtMS0xeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZXctYXJyYXkiPjxwYXRoIGQ9Ik00IDE4aDNWNUg0djEzek0xOCA1djEzaDNWNWgtM3pNOCAxOGg5VjVIOHYxM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJ2aWV3LWNhcm91c2VsIj48cGF0aCBkPSJNNyAxOWgxMFY0SDd2MTV6bS01LTJoNFY2SDJ2MTF6TTE4IDZ2MTFoNFY2aC00eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZXctY29sdW1uIj48cGF0aCBkPSJNMTAgMThoNVY1aC01djEzem0tNiAwaDVWNUg0djEzek0xNiA1djEzaDVWNWgtNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJ2aWV3LWRheSI+PHBhdGggZD0iTTIgMjFoMTl2LTNIMnYzek0yMCA4SDNjLS41NSAwLTEgLjQ1LTEgMXY2YzAgLjU1LjQ1IDEgMSAxaDE3Yy41NSAwIDEtLjQ1IDEtMVY5YzAtLjU1LS40NS0xLTEtMXpNMiAzdjNoMTlWM0gyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZXctaGVhZGxpbmUiPjxwYXRoIGQ9Ik00IDE1aDE2di0ySDR2MnptMCA0aDE2di0ySDR2MnptMC04aDE2VjlINHYyem0wLTZ2MmgxNlY1SDR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idmlldy1saXN0Ij48cGF0aCBkPSJNNCAxNGg0di00SDR2NHptMCA1aDR2LTRINHY0ek00IDloNFY1SDR2NHptNSA1aDEydi00SDl2NHptMCA1aDEydi00SDl2NHpNOSA1djRoMTJWNUg5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZXctbW9kdWxlIj48cGF0aCBkPSJNNCAxMWg1VjVINHY2em0wIDdoNXYtNkg0djZ6bTYgMGg1di02aC01djZ6bTYgMGg1di02aC01djZ6bS02LTdoNVY1aC01djZ6bTYtNnY2aDVWNWgtNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJ2aWV3LXF1aWx0Ij48cGF0aCBkPSJNMTAgMThoNXYtNmgtNXY2em0tNiAwaDVWNUg0djEzem0xMiAwaDV2LTZoLTV2NnpNMTAgNXY2aDExVjVIMTB6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idmlldy1zdHJlYW0iPjxwYXRoIGQ9Ik00IDE4aDE3di02SDR2NnpNNCA1djZoMTdWNUg0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZXctd2VlayI+PHBhdGggZD0iTTYgNUgzYy0uNTUgMC0xIC40NS0xIDF2MTJjMCAuNTUuNDUgMSAxIDFoM2MuNTUgMCAxLS40NSAxLTFWNmMwLS41NS0uNDUtMS0xLTF6bTE0IDBoLTNjLS41NSAwLTEgLjQ1LTEgMXYxMmMwIC41NS40NSAxIDEgMWgzYy41NSAwIDEtLjQ1IDEtMVY2YzAtLjU1LS40NS0xLTEtMXptLTcgMGgtM2MtLjU1IDAtMSAuNDUtMSAxdjEyYzAgLjU1LjQ1IDEgMSAxaDNjLjU1IDAgMS0uNDUgMS0xVjZjMC0uNTUtLjQ1LTEtMS0xeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpc2liaWxpdHkiPjxwYXRoIGQ9Ik0xMiA0LjVDNyA0LjUgMi43MyA3LjYxIDEgMTJjMS43MyA0LjM5IDYgNy41IDExIDcuNXM5LjI3LTMuMTEgMTEtNy41Yy0xLjczLTQuMzktNi03LjUtMTEtNy41ek0xMiAxN2MtMi43NiAwLTUtMi4yNC01LTVzMi4yNC01IDUtNSA1IDIuMjQgNSA1LTIuMjQgNS01IDV6bTAtOGMtMS42NiAwLTMgMS4zNC0zIDNzMS4zNCAzIDMgMyAzLTEuMzQgMy0zLTEuMzQtMy0zLTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idmlzaWJpbGl0eS1vZmYiPjxwYXRoIGQ9Ik0xMiA3YzIuNzYgMCA1IDIuMjQgNSA1IDAgLjY1LS4xMyAxLjI2LS4zNiAxLjgzbDIuOTIgMi45MmMxLjUxLTEuMjYgMi43LTIuODkgMy40My00Ljc1LTEuNzMtNC4zOS02LTcuNS0xMS03LjUtMS40IDAtMi43NC4yNS0zLjk4LjdsMi4xNiAyLjE2QzEwLjc0IDcuMTMgMTEuMzUgNyAxMiA3ek0yIDQuMjdsMi4yOCAyLjI4LjQ2LjQ2QzMuMDggOC4zIDEuNzggMTAuMDIgMSAxMmMxLjczIDQuMzkgNiA3LjUgMTEgNy41IDEuNTUgMCAzLjAzLS4zIDQuMzgtLjg0bC40Mi40MkwxOS43MyAyMiAyMSAyMC43MyAzLjI3IDMgMiA0LjI3ek03LjUzIDkuOGwxLjU1IDEuNTVjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42NiAxLjM0IDMgMyAzIC4yMiAwIC40NC0uMDMuNjUtLjA4bDEuNTUgMS41NWMtLjY3LjMzLTEuNDEuNTMtMi4yLjUzLTIuNzYgMC01LTIuMjQtNS01IDAtLjc5LjItMS41My41My0yLjJ6bTQuMzEtLjc4bDMuMTUgMy4xNS4wMi0uMTZjMC0xLjY2LTEuMzQtMy0zLTNsLS4xNy4wMXoiPjwvcGF0aD48L2c+CjxnIGlkPSJ3YXJuaW5nIj48cGF0aCBkPSJNMSAyMWgyMkwxMiAyIDEgMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9IndhdGNoLWxhdGVyIj48cGF0aCBkPSJNMTIgMkM2LjUgMiAyIDYuNSAyIDEyczQuNSAxMCAxMCAxMCAxMC00LjUgMTAtMTBTMTcuNSAyIDEyIDJ6bTQuMiAxNC4yTDExIDEzVjdoMS41djUuMmw0LjUgMi43LS44IDEuM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJ3ZWVrZW5kIj48cGF0aCBkPSJNMjEgMTBjLTEuMSAwLTIgLjktMiAydjNINXYtM2MwLTEuMS0uOS0yLTItMnMtMiAuOS0yIDJ2NWMwIDEuMS45IDIgMiAyaDE4YzEuMSAwIDItLjkgMi0ydi01YzAtMS4xLS45LTItMi0yem0tMy01SDZjLTEuMSAwLTIgLjktMiAydjIuMTVjMS4xNi40MSAyIDEuNTEgMiAyLjgyVjE0aDEydi0yLjAzYzAtMS4zLjg0LTIuNCAyLTIuODJWN2MwLTEuMS0uOS0yLTItMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ3b3JrIj48cGF0aCBkPSJNMjAgNmgtNFY0YzAtMS4xMS0uODktMi0yLTJoLTRjLTEuMTEgMC0yIC44OS0yIDJ2Mkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOWMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS02IDBoLTRWNGg0djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ieW91dHViZS1zZWFyY2hlZC1mb3IiPjxwYXRoIGQ9Ik0xNy4wMSAxNGgtLjhsLS4yNy0uMjdjLjk4LTEuMTQgMS41Ny0yLjYxIDEuNTctNC4yMyAwLTMuNTktMi45MS02LjUtNi41LTYuNXMtNi41IDMtNi41IDYuNUgybDMuODQgNCA0LjE2LTRINi41MUM2LjUxIDcgOC41MyA1IDExLjAxIDVzNC41IDIuMDEgNC41IDQuNWMwIDIuNDgtMi4wMiA0LjUtNC41IDQuNS0uNjUgMC0xLjI2LS4xNC0xLjgyLS4zOEw3LjcxIDE1LjFjLjk3LjU3IDIuMDkuOSAzLjMuOSAxLjYxIDAgMy4wOC0uNTkgNC4yMi0xLjU3bC4yNy4yN3YuNzlsNS4wMSA0Ljk5TDIyIDE5bC00Ljk5LTV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iem9vbS1pbiI+PHBhdGggZD0iTTE1LjUgMTRoLS43OWwtLjI4LS4yN0MxNS40MSAxMi41OSAxNiAxMS4xMSAxNiA5LjUgMTYgNS45MSAxMy4wOSAzIDkuNSAzUzMgNS45MSAzIDkuNSA1LjkxIDE2IDkuNSAxNmMxLjYxIDAgMy4wOS0uNTkgNC4yMy0xLjU3bC4yNy4yOHYuNzlsNSA0Ljk5TDIwLjQ5IDE5bC00Ljk5LTV6bS02IDBDNy4wMSAxNCA1IDExLjk5IDUgOS41UzcuMDEgNSA5LjUgNSAxNCA3LjAxIDE0IDkuNSAxMS45OSAxNCA5LjUgMTR6bTIuNS00aC0ydjJIOXYtMkg3VjloMlY3aDF2MmgydjF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iem9vbS1vdXQiPjxwYXRoIGQ9Ik0xNS41IDE0aC0uNzlsLS4yOC0uMjdDMTUuNDEgMTIuNTkgMTYgMTEuMTEgMTYgOS41IDE2IDUuOTEgMTMuMDkgMyA5LjUgM1MzIDUuOTEgMyA5LjUgNS45MSAxNiA5LjUgMTZjMS42MSAwIDMuMDktLjU5IDQuMjMtMS41N2wuMjcuMjh2Ljc5bDUgNC45OUwyMC40OSAxOWwtNC45OS01em0tNiAwQzcuMDEgMTQgNSAxMS45OSA1IDkuNVM3LjAxIDUgOS41IDUgMTQgNy4wMSAxNCA5LjUgMTEuOTkgMTQgOS41IDE0ek03IDloNXYxSDd6Ij48L3BhdGg+PC9nPgo8L2RlZnM+PC9zdmc+CjwvaXJvbi1pY29uc2V0LXN2Zz5gO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoT28uY29udGVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwp2YXIgem89eyJVKzAwMDgiOiJiYWNrc3BhY2UiLCJVKzAwMDkiOiJ0YWIiLCJVKzAwMUIiOiJlc2MiLCJVKzAwMjAiOiJzcGFjZSIsIlUrMDA3RiI6ImRlbCJ9LERvPXs4OiJiYWNrc3BhY2UiLDk6InRhYiIsMTM6ImVudGVyIiwyNzoiZXNjIiwzMzoicGFnZXVwIiwzNDoicGFnZWRvd24iLDM1OiJlbmQiLDM2OiJob21lIiwzMjoic3BhY2UiLDM3OiJsZWZ0IiwzODoidXAiLDM5OiJyaWdodCIsNDA6ImRvd24iLDQ2OiJkZWwiLDEwNjoiKiJ9LEJvPXtzaGlmdDoic2hpZnRLZXkiLGN0cmw6ImN0cmxLZXkiLGFsdDoiYWx0S2V5IixtZXRhOiJtZXRhS2V5In0sSG89L1thLXowLTkqXS8sRm89L1VcKy8sVm89L15hcnJvdy8sVW89L15zcGFjZShiYXIpPy8sam89L15lc2NhcGUkLztmdW5jdGlvbiBHbyh0LGUpe3ZhciBuPSIiO2lmKHQpe3ZhciBpPXQudG9Mb3dlckNhc2UoKTsiICI9PT1pfHxVby50ZXN0KGkpP249InNwYWNlIjpqby50ZXN0KGkpP249ImVzYyI6MT09aS5sZW5ndGg/ZSYmIUhvLnRlc3QoaSl8fChuPWkpOm49Vm8udGVzdChpKT9pLnJlcGxhY2UoImFycm93IiwiIik6Im11bHRpcGx5Ij09aT8iKiI6aX1yZXR1cm4gbn1mdW5jdGlvbiBXbyh0LGUpe3JldHVybiB0LmtleT9Hbyh0LmtleSxlKTp0LmRldGFpbCYmdC5kZXRhaWwua2V5P0dvKHQuZGV0YWlsLmtleSxlKTooZnVuY3Rpb24gbih0KXt2YXIgZT0iIjtyZXR1cm4gdCYmKHQgaW4gem8/ZT16b1t0XTpGby50ZXN0KHQpPyh0PXBhcnNlSW50KHQucmVwbGFjZSgiVSsiLCIweCIpLDE2KSxlPVN0cmluZy5mcm9tQ2hhckNvZGUodCkudG9Mb3dlckNhc2UoKSk6ZT10LnRvTG93ZXJDYXNlKCkpLGV9KSh0LmtleUlkZW50aWZpZXIpfHwoZnVuY3Rpb24gaSh0KXt2YXIgZT0iIjtyZXR1cm4gTnVtYmVyKHQpJiYoZT10Pj02NSYmdDw9OTA/U3RyaW5nLmZyb21DaGFyQ29kZSgzMit0KTp0Pj0xMTImJnQ8PTEyMz8iZiIrKHQtMTEyKzEpOnQ+PTQ4JiZ0PD01Nz9TdHJpbmcodC00OCk6dD49OTYmJnQ8PTEwNT9TdHJpbmcodC05Nik6RG9bdF0pLGV9KSh0LmtleUNvZGUpfHwiIn1mdW5jdGlvbiBxbyh0LGUpe3JldHVybiBXbyhlLHQuaGFzTW9kaWZpZXJzKT09PXQua2V5JiYoIXQuaGFzTW9kaWZpZXJzfHwhIWUuc2hpZnRLZXk9PSEhdC5zaGlmdEtleSYmISFlLmN0cmxLZXk9PSEhdC5jdHJsS2V5JiYhIWUuYWx0S2V5PT0hIXQuYWx0S2V5JiYhIWUubWV0YUtleT09ISF0Lm1ldGFLZXkpfWZ1bmN0aW9uIFlvKHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgiICIpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuKGZ1bmN0aW9uIGUodCl7cmV0dXJuIDE9PT10Lmxlbmd0aD97Y29tYm86dCxrZXk6dCxldmVudDoia2V5ZG93biJ9OnQuc3BsaXQoIisiKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7dmFyIG49ZS5zcGxpdCgiOiIpLGk9blswXSxyPW5bMV07cmV0dXJuIGkgaW4gQm8/KHRbQm9baV1dPSEwLHQuaGFzTW9kaWZpZXJzPSEwKToodC5rZXk9aSx0LmV2ZW50PXJ8fCJrZXlkb3duIiksdH0pLHtjb21ibzp0LnNwbGl0KCI6Iikuc2hpZnQoKX0pfSkodCl9KSl9Y29uc3QgWG89e3Byb3BlcnRpZXM6e2tleUV2ZW50VGFyZ2V0Ont0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzfX0sc3RvcEtleWJvYXJkRXZlbnRQcm9wYWdhdGlvbjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfYm91bmRLZXlIYW5kbGVyczp7dHlwZTpBcnJheSx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX0sX2ltcGVyYXRpdmVLZXlCaW5kaW5nczp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57fX19fSxvYnNlcnZlcnM6WyJfcmVzZXRLZXlFdmVudExpc3RlbmVycyhrZXlFdmVudFRhcmdldCwgX2JvdW5kS2V5SGFuZGxlcnMpIl0sa2V5QmluZGluZ3M6e30scmVnaXN0ZXJlZDpmdW5jdGlvbigpe3RoaXMuX3ByZXBLZXlCaW5kaW5ncygpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2xpc3RlbktleUV2ZW50TGlzdGVuZXJzKCl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fdW5saXN0ZW5LZXlFdmVudExpc3RlbmVycygpfSxhZGRPd25LZXlCaW5kaW5nOmZ1bmN0aW9uKHQsZSl7dGhpcy5faW1wZXJhdGl2ZUtleUJpbmRpbmdzW3RdPWUsdGhpcy5fcHJlcEtleUJpbmRpbmdzKCksdGhpcy5fcmVzZXRLZXlFdmVudExpc3RlbmVycygpfSxyZW1vdmVPd25LZXlCaW5kaW5nczpmdW5jdGlvbigpe3RoaXMuX2ltcGVyYXRpdmVLZXlCaW5kaW5ncz17fSx0aGlzLl9wcmVwS2V5QmluZGluZ3MoKSx0aGlzLl9yZXNldEtleUV2ZW50TGlzdGVuZXJzKCl9LGtleWJvYXJkRXZlbnRNYXRjaGVzS2V5czpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj1ZbyhlKSxpPTA7aTxuLmxlbmd0aDsrK2kpaWYocW8obltpXSx0KSlyZXR1cm4hMDtyZXR1cm4hMX0sX2NvbGxlY3RLZXlCaW5kaW5nczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuYmVoYXZpb3JzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQua2V5QmluZGluZ3N9KSk7cmV0dXJuLTE9PT10LmluZGV4T2YodGhpcy5rZXlCaW5kaW5ncykmJnQucHVzaCh0aGlzLmtleUJpbmRpbmdzKSx0fSxfcHJlcEtleUJpbmRpbmdzOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuX2tleUJpbmRpbmdzPXt9LHRoaXMuX2NvbGxlY3RLZXlCaW5kaW5ncygpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0KXRoaXMuX2FkZEtleUJpbmRpbmcoZSx0W2VdKX0pLHRoaXMpLHRoaXMuX2ltcGVyYXRpdmVLZXlCaW5kaW5ncyl0aGlzLl9hZGRLZXlCaW5kaW5nKHQsdGhpcy5faW1wZXJhdGl2ZUtleUJpbmRpbmdzW3RdKTtmb3IodmFyIGUgaW4gdGhpcy5fa2V5QmluZGluZ3MpdGhpcy5fa2V5QmluZGluZ3NbZV0uc29ydCgoZnVuY3Rpb24odCxlKXt2YXIgbj10WzBdLmhhc01vZGlmaWVycztyZXR1cm4gbj09PWVbMF0uaGFzTW9kaWZpZXJzPzA6bj8tMToxfSkpfSxfYWRkS2V5QmluZGluZzpmdW5jdGlvbih0LGUpe1lvKHQpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3RoaXMuX2tleUJpbmRpbmdzW3QuZXZlbnRdPXRoaXMuX2tleUJpbmRpbmdzW3QuZXZlbnRdfHxbXSx0aGlzLl9rZXlCaW5kaW5nc1t0LmV2ZW50XS5wdXNoKFt0LGVdKX0pLHRoaXMpfSxfcmVzZXRLZXlFdmVudExpc3RlbmVyczpmdW5jdGlvbigpe3RoaXMuX3VubGlzdGVuS2V5RXZlbnRMaXN0ZW5lcnMoKSx0aGlzLmlzQXR0YWNoZWQmJnRoaXMuX2xpc3RlbktleUV2ZW50TGlzdGVuZXJzKCl9LF9saXN0ZW5LZXlFdmVudExpc3RlbmVyczpmdW5jdGlvbigpe3RoaXMua2V5RXZlbnRUYXJnZXQmJk9iamVjdC5rZXlzKHRoaXMuX2tleUJpbmRpbmdzKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9vbktleUJpbmRpbmdFdmVudC5iaW5kKHRoaXMsdGhpcy5fa2V5QmluZGluZ3NbdF0pO3RoaXMuX2JvdW5kS2V5SGFuZGxlcnMucHVzaChbdGhpcy5rZXlFdmVudFRhcmdldCx0LGVdKSx0aGlzLmtleUV2ZW50VGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIodCxlKX0pLHRoaXMpfSxfdW5saXN0ZW5LZXlFdmVudExpc3RlbmVyczpmdW5jdGlvbigpe2Zvcih2YXIgdDt0aGlzLl9ib3VuZEtleUhhbmRsZXJzLmxlbmd0aDspKHQ9dGhpcy5fYm91bmRLZXlIYW5kbGVycy5wb3AoKSlbMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcih0WzFdLHRbMl0pfSxfb25LZXlCaW5kaW5nRXZlbnQ6ZnVuY3Rpb24odCxlKXtpZih0aGlzLnN0b3BLZXlib2FyZEV2ZW50UHJvcGFnYXRpb24mJmUuc3RvcFByb3BhZ2F0aW9uKCksIWUuZGVmYXVsdFByZXZlbnRlZClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGk9dFtuXVswXSxyPXRbbl1bMV07aWYocW8oaSxlKSYmKHRoaXMuX3RyaWdnZXJLZXlIYW5kbGVyKGkscixlKSxlLmRlZmF1bHRQcmV2ZW50ZWQpKXJldHVybn19LF90cmlnZ2VyS2V5SGFuZGxlcjpmdW5jdGlvbih0LGUsbil7dmFyIGk9T2JqZWN0LmNyZWF0ZSh0KTtpLmtleWJvYXJkRXZlbnQ9bjt2YXIgcj1uZXcgQ3VzdG9tRXZlbnQodC5ldmVudCx7ZGV0YWlsOmksY2FuY2VsYWJsZTohMH0pO3RoaXNbZV0uY2FsbCh0aGlzLHIpLHIuZGVmYXVsdFByZXZlbnRlZCYmbi5wcmV2ZW50RGVmYXVsdCgpfX0sJG89e3Byb3BlcnRpZXM6e3Njcm9sbFRhcmdldDp7dHlwZTpIVE1MRWxlbWVudCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9kZWZhdWx0U2Nyb2xsVGFyZ2V0fX19LG9ic2VydmVyczpbIl9zY3JvbGxUYXJnZXRDaGFuZ2VkKHNjcm9sbFRhcmdldCwgaXNBdHRhY2hlZCkiXSxfc2hvdWxkSGF2ZUxpc3RlbmVyOiEwLF9zY3JvbGxUYXJnZXRDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7aWYodGhpcy5fb2xkU2Nyb2xsVGFyZ2V0JiYodGhpcy5fdG9nZ2xlU2Nyb2xsTGlzdGVuZXIoITEsdGhpcy5fb2xkU2Nyb2xsVGFyZ2V0KSx0aGlzLl9vbGRTY3JvbGxUYXJnZXQ9bnVsbCksZSlpZigiZG9jdW1lbnQiPT09dCl0aGlzLnNjcm9sbFRhcmdldD10aGlzLl9kb2M7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBuPXRoaXMuZG9tSG9zdDt0aGlzLnNjcm9sbFRhcmdldD1uJiZuLiQ/bi4kW3RdOmVyKHRoaXMub3duZXJEb2N1bWVudCkucXVlcnlTZWxlY3RvcigiIyIrdCl9ZWxzZSB0aGlzLl9pc1ZhbGlkU2Nyb2xsVGFyZ2V0KCkmJih0aGlzLl9vbGRTY3JvbGxUYXJnZXQ9dCx0aGlzLl90b2dnbGVTY3JvbGxMaXN0ZW5lcih0aGlzLl9zaG91bGRIYXZlTGlzdGVuZXIsdCkpfSxfc2Nyb2xsSGFuZGxlcjpmdW5jdGlvbiB0KCl7fSxnZXQgX2RlZmF1bHRTY3JvbGxUYXJnZXQoKXtyZXR1cm4gdGhpcy5fZG9jfSxnZXQgX2RvYygpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fSxnZXQgX3Njcm9sbFRvcCgpe3JldHVybiB0aGlzLl9pc1ZhbGlkU2Nyb2xsVGFyZ2V0KCk/dGhpcy5zY3JvbGxUYXJnZXQ9PT10aGlzLl9kb2M/d2luZG93LnBhZ2VZT2Zmc2V0OnRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbFRvcDowfSxnZXQgX3Njcm9sbExlZnQoKXtyZXR1cm4gdGhpcy5faXNWYWxpZFNjcm9sbFRhcmdldCgpP3RoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcy5fZG9jP3dpbmRvdy5wYWdlWE9mZnNldDp0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxMZWZ0OjB9LHNldCBfc2Nyb2xsVG9wKHQpe3RoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcy5fZG9jP3dpbmRvdy5zY3JvbGxUbyh3aW5kb3cucGFnZVhPZmZzZXQsdCk6dGhpcy5faXNWYWxpZFNjcm9sbFRhcmdldCgpJiYodGhpcy5zY3JvbGxUYXJnZXQuc2Nyb2xsVG9wPXQpfSxzZXQgX3Njcm9sbExlZnQodCl7dGhpcy5zY3JvbGxUYXJnZXQ9PT10aGlzLl9kb2M/d2luZG93LnNjcm9sbFRvKHQsd2luZG93LnBhZ2VZT2Zmc2V0KTp0aGlzLl9pc1ZhbGlkU2Nyb2xsVGFyZ2V0KCkmJih0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxMZWZ0PXQpfSxzY3JvbGw6ZnVuY3Rpb24odCxlKXt2YXIgbjsib2JqZWN0Ij09dHlwZW9mIHQ/KG49dC5sZWZ0LGU9dC50b3ApOm49dCxuPW58fDAsZT1lfHwwLHRoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcy5fZG9jP3dpbmRvdy5zY3JvbGxUbyhuLGUpOnRoaXMuX2lzVmFsaWRTY3JvbGxUYXJnZXQoKSYmKHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbExlZnQ9bix0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxUb3A9ZSl9LGdldCBfc2Nyb2xsVGFyZ2V0V2lkdGgoKXtyZXR1cm4gdGhpcy5faXNWYWxpZFNjcm9sbFRhcmdldCgpP3RoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcy5fZG9jP3dpbmRvdy5pbm5lcldpZHRoOnRoaXMuc2Nyb2xsVGFyZ2V0Lm9mZnNldFdpZHRoOjB9LGdldCBfc2Nyb2xsVGFyZ2V0SGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2lzVmFsaWRTY3JvbGxUYXJnZXQoKT90aGlzLnNjcm9sbFRhcmdldD09PXRoaXMuX2RvYz93aW5kb3cuaW5uZXJIZWlnaHQ6dGhpcy5zY3JvbGxUYXJnZXQub2Zmc2V0SGVpZ2h0OjB9LF9pc1ZhbGlkU2Nyb2xsVGFyZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2Nyb2xsVGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnR9LF90b2dnbGVTY3JvbGxMaXN0ZW5lcjpmdW5jdGlvbih0LGUpe3ZhciBuPWU9PT10aGlzLl9kb2M/d2luZG93OmU7dD90aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXJ8fCh0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXI9dGhpcy5fc2Nyb2xsSGFuZGxlci5iaW5kKHRoaXMpLG4uYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXIpKTp0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXImJihuLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5fYm91bmRTY3JvbGxIYW5kbGVyKSx0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXI9bnVsbCl9LHRvZ2dsZVNjcm9sbExpc3RlbmVyOmZ1bmN0aW9uKHQpe3RoaXMuX3Nob3VsZEhhdmVMaXN0ZW5lcj10LHRoaXMuX3RvZ2dsZVNjcm9sbExpc3RlbmVyKHQsdGhpcy5zY3JvbGxUYXJnZXQpfX07Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTYgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KdmFyIEtvPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lQKD86aG9uZXxhZDsoPzogVTspPyBDUFUpIE9TIChcZCspLyksWm89S28mJktvWzFdPj04LEpvPSItMTAwMDBweCIsUW89LTEwMDtqcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbzogMSkgewogICAgICAgIDpob3N0IHsKICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgICAgfQogICAgICB9CgogICAgICAjaXRlbXMgewogICAgICAgIEBhcHBseSAtLWlyb24tbGlzdC1pdGVtcy1jb250YWluZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICA6aG9zdCg6bm90KFtncmlkXSkpICNpdGVtcyA+IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNpdGVtcyA+IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxhcnJheS1zZWxlY3RvciBpZD0ic2VsZWN0b3IiIGl0ZW1zPSJ7e2l0ZW1zfX0iIHNlbGVjdGVkPSJ7e3NlbGVjdGVkSXRlbXN9fSIgc2VsZWN0ZWQtaXRlbT0ie3tzZWxlY3RlZEl0ZW19fSI+PC9hcnJheS1zZWxlY3Rvcj4KCiAgICA8ZGl2IGlkPSJpdGVtcyI+CiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIDwvZGl2PgpgLGlzOiJpcm9uLWxpc3QiLHByb3BlcnRpZXM6e2l0ZW1zOnt0eXBlOkFycmF5fSxhczp7dHlwZTpTdHJpbmcsdmFsdWU6Iml0ZW0ifSxpbmRleEFzOnt0eXBlOlN0cmluZyx2YWx1ZToiaW5kZXgifSxzZWxlY3RlZEFzOnt0eXBlOlN0cmluZyx2YWx1ZToic2VsZWN0ZWQifSxncmlkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwLG9ic2VydmVyOiJfZ3JpZENoYW5nZWQifSxzZWxlY3Rpb25FbmFibGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LHNlbGVjdGVkSXRlbTp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSxzZWxlY3RlZEl0ZW1zOnt0eXBlOk9iamVjdCxub3RpZnk6ITB9LG11bHRpU2VsZWN0aW9uOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LHNjcm9sbE9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MH19LG9ic2VydmVyczpbIl9pdGVtc0NoYW5nZWQoaXRlbXMuKikiLCJfc2VsZWN0aW9uRW5hYmxlZENoYW5nZWQoc2VsZWN0aW9uRW5hYmxlZCkiLCJfbXVsdGlTZWxlY3Rpb25DaGFuZ2VkKG11bHRpU2VsZWN0aW9uKSIsIl9zZXRPdmVyZmxvdyhzY3JvbGxUYXJnZXQsIHNjcm9sbE9mZnNldCkiXSxiZWhhdmlvcnM6W2xvLENvLCRvLE1vXSxfcmF0aW86LjUsX3Njcm9sbGVyUGFkZGluZ1RvcDowLF9zY3JvbGxQb3NpdGlvbjowLF9waHlzaWNhbFNpemU6MCxfcGh5c2ljYWxBdmVyYWdlOjAsX3BoeXNpY2FsQXZlcmFnZUNvdW50OjAsX3BoeXNpY2FsVG9wOjAsX3ZpcnR1YWxDb3VudDowLF9lc3RTY3JvbGxIZWlnaHQ6MCxfc2Nyb2xsSGVpZ2h0OjAsX3ZpZXdwb3J0SGVpZ2h0OjAsX3ZpZXdwb3J0V2lkdGg6MCxfcGh5c2ljYWxJdGVtczpudWxsLF9waHlzaWNhbFNpemVzOm51bGwsX2ZpcnN0VmlzaWJsZUluZGV4VmFsOm51bGwsX2xhc3RWaXNpYmxlSW5kZXhWYWw6bnVsbCxfbWF4UGFnZXM6MixfZm9jdXNlZEl0ZW06bnVsbCxfZm9jdXNlZFZpcnR1YWxJbmRleDotMSxfZm9jdXNlZFBoeXNpY2FsSW5kZXg6LTEsX29mZnNjcmVlbkZvY3VzZWRJdGVtOm51bGwsX2ZvY3VzQmFja2ZpbGxJdGVtOm51bGwsX2l0ZW1zUGVyUm93OjEsX2l0ZW1XaWR0aDowLF9yb3dIZWlnaHQ6MCxfdGVtcGxhdGVDb3N0OjAsX3BhcmVudE1vZGVsOiEwLGdldCBfcGh5c2ljYWxCb3R0b20oKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fcGh5c2ljYWxTaXplfSxnZXQgX3Njcm9sbEJvdHRvbSgpe3JldHVybiB0aGlzLl9zY3JvbGxQb3NpdGlvbit0aGlzLl92aWV3cG9ydEhlaWdodH0sZ2V0IF92aXJ0dWFsRW5kKCl7cmV0dXJuIHRoaXMuX3ZpcnR1YWxTdGFydCt0aGlzLl9waHlzaWNhbENvdW50LTF9LGdldCBfaGlkZGVuQ29udGVudFNpemUoKXtyZXR1cm4odGhpcy5ncmlkP3RoaXMuX3BoeXNpY2FsUm93cyp0aGlzLl9yb3dIZWlnaHQ6dGhpcy5fcGh5c2ljYWxTaXplKS10aGlzLl92aWV3cG9ydEhlaWdodH0sZ2V0IF9pdGVtc1BhcmVudCgpe3JldHVybiBlcihlcih0aGlzLl91c2VyVGVtcGxhdGUpLnBhcmVudE5vZGUpfSxnZXQgX21heFNjcm9sbFRvcCgpe3JldHVybiB0aGlzLl9lc3RTY3JvbGxIZWlnaHQtdGhpcy5fdmlld3BvcnRIZWlnaHQrdGhpcy5fc2Nyb2xsT2Zmc2V0fSxnZXQgX21heFZpcnR1YWxTdGFydCgpe3ZhciB0PXRoaXMuX2NvbnZlcnRJbmRleFRvQ29tcGxldGVSb3codGhpcy5fdmlydHVhbENvdW50KTtyZXR1cm4gTWF0aC5tYXgoMCx0LXRoaXMuX3BoeXNpY2FsQ291bnQpfSxzZXQgX3ZpcnR1YWxTdGFydCh0KXt0PXRoaXMuX2NsYW1wKHQsMCx0aGlzLl9tYXhWaXJ0dWFsU3RhcnQpLHRoaXMuZ3JpZCYmKHQtPXQldGhpcy5faXRlbXNQZXJSb3cpLHRoaXMuX3ZpcnR1YWxTdGFydFZhbD10fSxnZXQgX3ZpcnR1YWxTdGFydCgpe3JldHVybiB0aGlzLl92aXJ0dWFsU3RhcnRWYWx8fDB9LHNldCBfcGh5c2ljYWxTdGFydCh0KXsodCU9dGhpcy5fcGh5c2ljYWxDb3VudCk8MCYmKHQ9dGhpcy5fcGh5c2ljYWxDb3VudCt0KSx0aGlzLmdyaWQmJih0LT10JXRoaXMuX2l0ZW1zUGVyUm93KSx0aGlzLl9waHlzaWNhbFN0YXJ0VmFsPXR9LGdldCBfcGh5c2ljYWxTdGFydCgpe3JldHVybiB0aGlzLl9waHlzaWNhbFN0YXJ0VmFsfHwwfSxnZXQgX3BoeXNpY2FsRW5kKCl7cmV0dXJuKHRoaXMuX3BoeXNpY2FsU3RhcnQrdGhpcy5fcGh5c2ljYWxDb3VudC0xKSV0aGlzLl9waHlzaWNhbENvdW50fSxzZXQgX3BoeXNpY2FsQ291bnQodCl7dGhpcy5fcGh5c2ljYWxDb3VudFZhbD10fSxnZXQgX3BoeXNpY2FsQ291bnQoKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxDb3VudFZhbHx8MH0sZ2V0IF9vcHRQaHlzaWNhbFNpemUoKXtyZXR1cm4gMD09PXRoaXMuX3ZpZXdwb3J0SGVpZ2h0PzEvMDp0aGlzLl92aWV3cG9ydEhlaWdodCp0aGlzLl9tYXhQYWdlc30sZ2V0IF9pc1Zpc2libGUoKXtyZXR1cm4gQm9vbGVhbih0aGlzLm9mZnNldFdpZHRofHx0aGlzLm9mZnNldEhlaWdodCl9LGdldCBmaXJzdFZpc2libGVJbmRleCgpe3ZhciB0PXRoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsO2lmKG51bGw9PXQpe3ZhciBlPXRoaXMuX3BoeXNpY2FsVG9wK3RoaXMuX3Njcm9sbE9mZnNldDt0PXRoaXMuX2l0ZXJhdGVJdGVtcygoZnVuY3Rpb24odCxuKXtyZXR1cm4oZSs9dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KHQpKT50aGlzLl9zY3JvbGxQb3NpdGlvbj90aGlzLmdyaWQ/bi1uJXRoaXMuX2l0ZW1zUGVyUm93Om46dGhpcy5ncmlkJiZ0aGlzLl92aXJ0dWFsQ291bnQtMT09PW4/bi1uJXRoaXMuX2l0ZW1zUGVyUm93OnZvaWQgMH0pKXx8MCx0aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD10fXJldHVybiB0fSxnZXQgbGFzdFZpc2libGVJbmRleCgpe3ZhciB0PXRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw7aWYobnVsbD09dCl7aWYodGhpcy5ncmlkKXQ9TWF0aC5taW4odGhpcy5fdmlydHVhbENvdW50LHRoaXMuZmlyc3RWaXNpYmxlSW5kZXgrdGhpcy5fZXN0Um93c0luVmlldyp0aGlzLl9pdGVtc1BlclJvdy0xKTtlbHNle3ZhciBlPXRoaXMuX3BoeXNpY2FsVG9wK3RoaXMuX3Njcm9sbE9mZnNldDt0aGlzLl9pdGVyYXRlSXRlbXMoKGZ1bmN0aW9uKG4saSl7ZTx0aGlzLl9zY3JvbGxCb3R0b20mJih0PWkpLGUrPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChuKX0pKX10aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPXR9cmV0dXJuIHR9LGdldCBfZGVmYXVsdFNjcm9sbFRhcmdldCgpe3JldHVybiB0aGlzfSxnZXQgX3ZpcnR1YWxSb3dDb3VudCgpe3JldHVybiBNYXRoLmNlaWwodGhpcy5fdmlydHVhbENvdW50L3RoaXMuX2l0ZW1zUGVyUm93KX0sZ2V0IF9lc3RSb3dzSW5WaWV3KCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLl92aWV3cG9ydEhlaWdodC90aGlzLl9yb3dIZWlnaHQpfSxnZXQgX3BoeXNpY2FsUm93cygpe3JldHVybiBNYXRoLmNlaWwodGhpcy5fcGh5c2ljYWxDb3VudC90aGlzLl9pdGVtc1BlclJvdyl9LGdldCBfc2Nyb2xsT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3Njcm9sbGVyUGFkZGluZ1RvcCt0aGlzLnNjcm9sbE9mZnNldH0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9kaWRGb2N1cy5iaW5kKHRoaXMpLCEwKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9kZWJvdW5jZSgiX3JlbmRlciIsdGhpcy5fcmVuZGVyLF90KSx0aGlzLmxpc3Rlbih0aGlzLCJpcm9uLXJlc2l6ZSIsIl9yZXNpemVIYW5kbGVyIiksdGhpcy5saXN0ZW4odGhpcywia2V5ZG93biIsIl9rZXlkb3duSGFuZGxlciIpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMudW5saXN0ZW4odGhpcywiaXJvbi1yZXNpemUiLCJfcmVzaXplSGFuZGxlciIpLHRoaXMudW5saXN0ZW4odGhpcywia2V5ZG93biIsIl9rZXlkb3duSGFuZGxlciIpfSxfc2V0T3ZlcmZsb3c6ZnVuY3Rpb24odCl7dGhpcy5zdHlsZS53ZWJraXRPdmVyZmxvd1Njcm9sbGluZz10PT09dGhpcz8idG91Y2giOiIiLHRoaXMuc3R5bGUub3ZlcmZsb3dZPXQ9PT10aGlzPyJhdXRvIjoiIix0aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPW51bGwsdGhpcy5fZmlyc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLl9kZWJvdW5jZSgiX3JlbmRlciIsdGhpcy5fcmVuZGVyLF90KX0sdXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzOmZ1bmN0aW9uKCl7dmFyIHQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcyk7dGhpcy5fc2Nyb2xsZXJQYWRkaW5nVG9wPXRoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcz8wOnBhcnNlSW50KHRbInBhZGRpbmctdG9wIl0sMTApLHRoaXMuX2lzUlRMPUJvb2xlYW4oInJ0bCI9PT10LmRpcmVjdGlvbiksdGhpcy5fdmlld3BvcnRXaWR0aD10aGlzLiQuaXRlbXMub2Zmc2V0V2lkdGgsdGhpcy5fdmlld3BvcnRIZWlnaHQ9dGhpcy5fc2Nyb2xsVGFyZ2V0SGVpZ2h0LHRoaXMuZ3JpZCYmdGhpcy5fdXBkYXRlR3JpZE1ldHJpY3MoKX0sX3Njcm9sbEhhbmRsZXI6ZnVuY3Rpb24oKXt2YXIgdD1NYXRoLm1heCgwLE1hdGgubWluKHRoaXMuX21heFNjcm9sbFRvcCx0aGlzLl9zY3JvbGxUb3ApKSxlPXQtdGhpcy5fc2Nyb2xsUG9zaXRpb24sbj1lPj0wO2lmKHRoaXMuX3Njcm9sbFBvc2l0aW9uPXQsdGhpcy5fZmlyc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPW51bGwsTWF0aC5hYnMoZSk+dGhpcy5fcGh5c2ljYWxTaXplJiZ0aGlzLl9waHlzaWNhbFNpemU+MCl7ZS09dGhpcy5fc2Nyb2xsT2Zmc2V0O3ZhciBpPU1hdGgucm91bmQoZS90aGlzLl9waHlzaWNhbEF2ZXJhZ2UpKnRoaXMuX2l0ZW1zUGVyUm93O3RoaXMuX3ZpcnR1YWxTdGFydD10aGlzLl92aXJ0dWFsU3RhcnQraSx0aGlzLl9waHlzaWNhbFN0YXJ0PXRoaXMuX3BoeXNpY2FsU3RhcnQraSx0aGlzLl9waHlzaWNhbFRvcD1NYXRoLm1pbihNYXRoLmZsb29yKHRoaXMuX3ZpcnR1YWxTdGFydC90aGlzLl9pdGVtc1BlclJvdykqdGhpcy5fcGh5c2ljYWxBdmVyYWdlLHRoaXMuX3Njcm9sbFBvc2l0aW9uKSx0aGlzLl91cGRhdGUoKX1lbHNlIGlmKHRoaXMuX3BoeXNpY2FsQ291bnQ+MCl7dmFyIHI9dGhpcy5fZ2V0UmV1c2FibGVzKG4pO24/KHRoaXMuX3BoeXNpY2FsVG9wPXIucGh5c2ljYWxUb3AsdGhpcy5fdmlydHVhbFN0YXJ0PXRoaXMuX3ZpcnR1YWxTdGFydCtyLmluZGV4ZXMubGVuZ3RoLHRoaXMuX3BoeXNpY2FsU3RhcnQ9dGhpcy5fcGh5c2ljYWxTdGFydCtyLmluZGV4ZXMubGVuZ3RoKToodGhpcy5fdmlydHVhbFN0YXJ0PXRoaXMuX3ZpcnR1YWxTdGFydC1yLmluZGV4ZXMubGVuZ3RoLHRoaXMuX3BoeXNpY2FsU3RhcnQ9dGhpcy5fcGh5c2ljYWxTdGFydC1yLmluZGV4ZXMubGVuZ3RoKSx0aGlzLl91cGRhdGUoci5pbmRleGVzLG4/bnVsbDpyLmluZGV4ZXMpLHRoaXMuX2RlYm91bmNlKCJfaW5jcmVhc2VQb29sSWZOZWVkZWQiLHRoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkLmJpbmQodGhpcywwKSx2dCl9fSxfZ2V0UmV1c2FibGVzOmZ1bmN0aW9uKHQpe3ZhciBlLG4saSxyPVtdLG89dGhpcy5faGlkZGVuQ29udGVudFNpemUqdGhpcy5fcmF0aW8sYT10aGlzLl92aXJ0dWFsU3RhcnQscz10aGlzLl92aXJ0dWFsRW5kLGw9dGhpcy5fcGh5c2ljYWxDb3VudCxjPXRoaXMuX3BoeXNpY2FsVG9wK3RoaXMuX3Njcm9sbE9mZnNldCx1PXRoaXMuX3Njcm9sbFBvc2l0aW9uLGg9dGhpcy5fc2Nyb2xsQm90dG9tO2Zvcih0PyhlPXRoaXMuX3BoeXNpY2FsU3RhcnQsbj11LWMpOihlPXRoaXMuX3BoeXNpY2FsRW5kLG49dGhpcy5fcGh5c2ljYWxCb3R0b20rdGhpcy5fc2Nyb2xsT2Zmc2V0LWgpO24tPWk9dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KGUpLCEoci5sZW5ndGg+PWx8fG48PW8pOylpZih0KXtpZihzK3IubGVuZ3RoKzE+PXRoaXMuX3ZpcnR1YWxDb3VudClicmVhaztpZihjK2k+PXUtdGhpcy5fc2Nyb2xsT2Zmc2V0KWJyZWFrO3IucHVzaChlKSxjKz1pLGU9KGUrMSklbH1lbHNle2lmKGEtci5sZW5ndGg8PTApYnJlYWs7aWYoYyt0aGlzLl9waHlzaWNhbFNpemUtaTw9aClicmVhaztyLnB1c2goZSksYy09aSxlPTA9PT1lP2wtMTplLTF9cmV0dXJue2luZGV4ZXM6cixwaHlzaWNhbFRvcDpjLXRoaXMuX3Njcm9sbE9mZnNldH19LF91cGRhdGU6ZnVuY3Rpb24odCxlKXtpZighKHQmJjA9PT10Lmxlbmd0aHx8MD09PXRoaXMuX3BoeXNpY2FsQ291bnQpKXtpZih0aGlzLl9tYW5hZ2VGb2N1cygpLHRoaXMuX2Fzc2lnbk1vZGVscyh0KSx0aGlzLl91cGRhdGVNZXRyaWNzKHQpLGUpZm9yKDtlLmxlbmd0aDspe3ZhciBuPWUucG9wKCk7dGhpcy5fcGh5c2ljYWxUb3AtPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChuKX10aGlzLl9wb3NpdGlvbkl0ZW1zKCksdGhpcy5fdXBkYXRlU2Nyb2xsZXJTaXplKCl9fSxfY3JlYXRlUG9vbDpmdW5jdGlvbih0KXt2YXIgZSxuO3RoaXMuX2Vuc3VyZVRlbXBsYXRpemVkKCk7dmFyIGk9bmV3IEFycmF5KHQpO2ZvcihlPTA7ZTx0O2UrKyluPXRoaXMuc3RhbXAobnVsbCksaVtlXT1uLnJvb3QucXVlcnlTZWxlY3RvcigiKiIpLHRoaXMuX2l0ZW1zUGFyZW50LmFwcGVuZENoaWxkKG4ucm9vdCk7cmV0dXJuIGl9LF9pc0NsaWVudEZ1bGw6ZnVuY3Rpb24oKXtyZXR1cm4gMCE9dGhpcy5fc2Nyb2xsQm90dG9tJiZ0aGlzLl9waHlzaWNhbEJvdHRvbS0xPj10aGlzLl9zY3JvbGxCb3R0b20mJnRoaXMuX3BoeXNpY2FsVG9wPD10aGlzLl9zY3JvbGxQb3NpdGlvbn0sX2luY3JlYXNlUG9vbElmTmVlZGVkOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2NsYW1wKHRoaXMuX3BoeXNpY2FsQ291bnQrdCwzLHRoaXMuX3ZpcnR1YWxDb3VudC10aGlzLl92aXJ0dWFsU3RhcnQpO2lmKGU9dGhpcy5fY29udmVydEluZGV4VG9Db21wbGV0ZVJvdyhlKSx0aGlzLmdyaWQpe3ZhciBuPWUldGhpcy5faXRlbXNQZXJSb3c7biYmZS1uPD10aGlzLl9waHlzaWNhbENvdW50JiYoZSs9dGhpcy5faXRlbXNQZXJSb3cpLGUtPW59dmFyIGk9ZS10aGlzLl9waHlzaWNhbENvdW50LHI9TWF0aC5yb3VuZCguNSp0aGlzLl9waHlzaWNhbENvdW50KTtpZighKGk8MCkpe2lmKGk+MCl7dmFyIG89d2luZG93LnBlcmZvcm1hbmNlLm5vdygpO1tdLnB1c2guYXBwbHkodGhpcy5fcGh5c2ljYWxJdGVtcyx0aGlzLl9jcmVhdGVQb29sKGkpKTtmb3IodmFyIGE9MDthPGk7YSsrKXRoaXMuX3BoeXNpY2FsU2l6ZXMucHVzaCgwKTt0aGlzLl9waHlzaWNhbENvdW50PXRoaXMuX3BoeXNpY2FsQ291bnQraSx0aGlzLl9waHlzaWNhbFN0YXJ0PnRoaXMuX3BoeXNpY2FsRW5kJiZ0aGlzLl9pc0luZGV4UmVuZGVyZWQodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCkmJnRoaXMuX2dldFBoeXNpY2FsSW5kZXgodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCk8dGhpcy5fcGh5c2ljYWxFbmQmJih0aGlzLl9waHlzaWNhbFN0YXJ0PXRoaXMuX3BoeXNpY2FsU3RhcnQraSksdGhpcy5fdXBkYXRlKCksdGhpcy5fdGVtcGxhdGVDb3N0PSh3aW5kb3cucGVyZm9ybWFuY2Uubm93KCktbykvaSxyPU1hdGgucm91bmQoLjUqdGhpcy5fcGh5c2ljYWxDb3VudCl9dGhpcy5fdmlydHVhbEVuZD49dGhpcy5fdmlydHVhbENvdW50LTF8fDA9PT1yfHwodGhpcy5faXNDbGllbnRGdWxsKCk/dGhpcy5fcGh5c2ljYWxTaXplPHRoaXMuX29wdFBoeXNpY2FsU2l6ZSYmdGhpcy5fZGVib3VuY2UoIl9pbmNyZWFzZVBvb2xJZk5lZWRlZCIsdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQuYmluZCh0aGlzLHRoaXMuX2NsYW1wKE1hdGgucm91bmQoNTAvdGhpcy5fdGVtcGxhdGVDb3N0KSwxLHIpKSx5dCk6dGhpcy5fZGVib3VuY2UoIl9pbmNyZWFzZVBvb2xJZk5lZWRlZCIsdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQuYmluZCh0aGlzLHIpLHZ0KSl9fSxfcmVuZGVyOmZ1bmN0aW9uKCl7aWYodGhpcy5pc0F0dGFjaGVkJiZ0aGlzLl9pc1Zpc2libGUpaWYoMCE9PXRoaXMuX3BoeXNpY2FsQ291bnQpe3ZhciB0PXRoaXMuX2dldFJldXNhYmxlcyghMCk7dGhpcy5fcGh5c2ljYWxUb3A9dC5waHlzaWNhbFRvcCx0aGlzLl92aXJ0dWFsU3RhcnQ9dGhpcy5fdmlydHVhbFN0YXJ0K3QuaW5kZXhlcy5sZW5ndGgsdGhpcy5fcGh5c2ljYWxTdGFydD10aGlzLl9waHlzaWNhbFN0YXJ0K3QuaW5kZXhlcy5sZW5ndGgsdGhpcy5fdXBkYXRlKHQuaW5kZXhlcyksdGhpcy5fdXBkYXRlKCksdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQoMCl9ZWxzZSB0aGlzLl92aXJ0dWFsQ291bnQ+MCYmKHRoaXMudXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzKCksdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQoMykpfSxfZW5zdXJlVGVtcGxhdGl6ZWQ6ZnVuY3Rpb24oKXtpZighdGhpcy5jdG9yKXt0aGlzLl91c2VyVGVtcGxhdGU9dGhpcy5xdWVyeUVmZmVjdGl2ZUNoaWxkcmVuKCJ0ZW1wbGF0ZSIpLHRoaXMuX3VzZXJUZW1wbGF0ZXx8Y29uc29sZS53YXJuKCJpcm9uLWxpc3QgcmVxdWlyZXMgYSB0ZW1wbGF0ZSB0byBiZSBwcm92aWRlZCBpbiBsaWdodC1kb20iKTt2YXIgdD17X19rZXlfXzohMH07dFt0aGlzLmFzXT0hMCx0W3RoaXMuaW5kZXhBc109ITAsdFt0aGlzLnNlbGVjdGVkQXNdPSEwLHQudGFiSW5kZXg9ITAsdGhpcy5faW5zdGFuY2VQcm9wcz10LHRoaXMudGVtcGxhdGl6ZSh0aGlzLl91c2VyVGVtcGxhdGUsdGhpcy5tdXRhYmxlRGF0YSl9fSxfZ3JpZENoYW5nZWQ6ZnVuY3Rpb24odCxlKXt2b2lkIDAhPT1lJiYodGhpcy5ub3RpZnlSZXNpemUoKSxXaSgpLHQmJnRoaXMuX3VwZGF0ZUdyaWRNZXRyaWNzKCkpfSxfaXRlbXNDaGFuZ2VkOmZ1bmN0aW9uKHQpe2lmKCJpdGVtcyI9PT10LnBhdGgpdGhpcy5fdmlydHVhbFN0YXJ0PTAsdGhpcy5fcGh5c2ljYWxUb3A9MCx0aGlzLl92aXJ0dWFsQ291bnQ9dGhpcy5pdGVtcz90aGlzLml0ZW1zLmxlbmd0aDowLHRoaXMuX3BoeXNpY2FsSW5kZXhGb3JLZXk9e30sdGhpcy5fZmlyc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPW51bGwsdGhpcy5fcGh5c2ljYWxDb3VudD10aGlzLl9waHlzaWNhbENvdW50fHwwLHRoaXMuX3BoeXNpY2FsSXRlbXM9dGhpcy5fcGh5c2ljYWxJdGVtc3x8W10sdGhpcy5fcGh5c2ljYWxTaXplcz10aGlzLl9waHlzaWNhbFNpemVzfHxbXSx0aGlzLl9waHlzaWNhbFN0YXJ0PTAsdGhpcy5fc2Nyb2xsVG9wPnRoaXMuX3Njcm9sbE9mZnNldCYmdGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbigwKSx0aGlzLl9yZW1vdmVGb2N1c2VkSXRlbSgpLHRoaXMuX2RlYm91bmNlKCJfcmVuZGVyIix0aGlzLl9yZW5kZXIsX3QpO2Vsc2UgaWYoIml0ZW1zLnNwbGljZXMiPT09dC5wYXRoKXtpZih0aGlzLl9hZGp1c3RWaXJ0dWFsSW5kZXgodC52YWx1ZS5pbmRleFNwbGljZXMpLHRoaXMuX3ZpcnR1YWxDb3VudD10aGlzLml0ZW1zP3RoaXMuaXRlbXMubGVuZ3RoOjAsdC52YWx1ZS5pbmRleFNwbGljZXMuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQuYWRkZWRDb3VudD4wfHx0LnJlbW92ZWQubGVuZ3RoPjB9KSkpe3ZhciBlPXRoaXMuX2dldEFjdGl2ZUVsZW1lbnQoKTt0aGlzLmNvbnRhaW5zKGUpJiZlLmJsdXIoKX12YXIgbj10LnZhbHVlLmluZGV4U3BsaWNlcy5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gdC5pbmRleCt0LmFkZGVkQ291bnQ+PXRoaXMuX3ZpcnR1YWxTdGFydCYmdC5pbmRleDw9dGhpcy5fdmlydHVhbEVuZH0pLHRoaXMpO3RoaXMuX2lzQ2xpZW50RnVsbCgpJiYhbnx8dGhpcy5fZGVib3VuY2UoIl9yZW5kZXIiLHRoaXMuX3JlbmRlcixfdCl9ZWxzZSJpdGVtcy5sZW5ndGgiIT09dC5wYXRoJiZ0aGlzLl9mb3J3YXJkSXRlbVBhdGgodC5wYXRoLHQudmFsdWUpfSxfZm9yd2FyZEl0ZW1QYXRoOmZ1bmN0aW9uKHQsZSl7dmFyIG4saSxyLG89KHQ9dC5zbGljZSg2KSkuaW5kZXhPZigiLiIpOy0xPT09byYmKG89dC5sZW5ndGgpO3ZhciBhPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtKSxzPXBhcnNlSW50KHQuc3Vic3RyaW5nKDAsbyksMTApOyhuPXRoaXMuX2lzSW5kZXhSZW5kZXJlZChzKSk/KGk9dGhpcy5fZ2V0UGh5c2ljYWxJbmRleChzKSxyPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX3BoeXNpY2FsSXRlbXNbaV0pKTphJiYocj1hKSxyJiZyW3RoaXMuaW5kZXhBc109PT1zJiYodD10LnN1YnN0cmluZyhvKzEpLHIuX3NldFBlbmRpbmdQcm9wZXJ0eU9yUGF0aCh0PXRoaXMuYXMrKHQ/Ii4iK3Q6IiIpLGUsITEsITApLHIuX2ZsdXNoUHJvcGVydGllcyYmci5fZmx1c2hQcm9wZXJ0aWVzKCksbiYmKHRoaXMuX3VwZGF0ZU1ldHJpY3MoW2ldKSx0aGlzLl9wb3NpdGlvbkl0ZW1zKCksdGhpcy5fdXBkYXRlU2Nyb2xsZXJTaXplKCkpKX0sX2FkanVzdFZpcnR1YWxJbmRleDpmdW5jdGlvbih0KXt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKHQucmVtb3ZlZC5mb3JFYWNoKHRoaXMuX3JlbW92ZUl0ZW0sdGhpcyksdC5pbmRleDx0aGlzLl92aXJ0dWFsU3RhcnQpe3ZhciBlPU1hdGgubWF4KHQuYWRkZWRDb3VudC10LnJlbW92ZWQubGVuZ3RoLHQuaW5kZXgtdGhpcy5fdmlydHVhbFN0YXJ0KTt0aGlzLl92aXJ0dWFsU3RhcnQ9dGhpcy5fdmlydHVhbFN0YXJ0K2UsdGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleD49MCYmKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9dGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCtlKX19KSx0aGlzKX0sX3JlbW92ZUl0ZW06ZnVuY3Rpb24odCl7dGhpcy4kLnNlbGVjdG9yLmRlc2VsZWN0KHQpLHRoaXMuX2ZvY3VzZWRJdGVtJiZ0aGlzLm1vZGVsRm9yRWxlbWVudCh0aGlzLl9mb2N1c2VkSXRlbSlbdGhpcy5hc109PT10JiZ0aGlzLl9yZW1vdmVGb2N1c2VkSXRlbSgpfSxfaXRlcmF0ZUl0ZW1zOmZ1bmN0aW9uKHQsZSl7dmFyIG4saSxyLG87aWYoMj09PWFyZ3VtZW50cy5sZW5ndGgmJmUpe2ZvcihvPTA7bzxlLmxlbmd0aDtvKyspaWYoaT10aGlzLl9jb21wdXRlVmlkeChuPWVbb10pLG51bGwhPShyPXQuY2FsbCh0aGlzLG4saSkpKXJldHVybiByfWVsc2V7Zm9yKG49dGhpcy5fcGh5c2ljYWxTdGFydCxpPXRoaXMuX3ZpcnR1YWxTdGFydDtuPHRoaXMuX3BoeXNpY2FsQ291bnQ7bisrLGkrKylpZihudWxsIT0ocj10LmNhbGwodGhpcyxuLGkpKSlyZXR1cm4gcjtmb3Iobj0wO248dGhpcy5fcGh5c2ljYWxTdGFydDtuKyssaSsrKWlmKG51bGwhPShyPXQuY2FsbCh0aGlzLG4saSkpKXJldHVybiByfX0sX2NvbXB1dGVWaWR4OmZ1bmN0aW9uKHQpe3JldHVybiB0Pj10aGlzLl9waHlzaWNhbFN0YXJ0P3RoaXMuX3ZpcnR1YWxTdGFydCsodC10aGlzLl9waHlzaWNhbFN0YXJ0KTp0aGlzLl92aXJ0dWFsU3RhcnQrKHRoaXMuX3BoeXNpY2FsQ291bnQtdGhpcy5fcGh5c2ljYWxTdGFydCkrdH0sX2Fzc2lnbk1vZGVsczpmdW5jdGlvbih0KXt0aGlzLl9pdGVyYXRlSXRlbXMoKGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fcGh5c2ljYWxJdGVtc1t0XSxpPXRoaXMuaXRlbXMmJnRoaXMuaXRlbXNbZV07aWYobnVsbCE9aSl7dmFyIHI9dGhpcy5tb2RlbEZvckVsZW1lbnQobik7ci5fX2tleV9fPW51bGwsdGhpcy5fZm9yd2FyZFByb3BlcnR5KHIsdGhpcy5hcyxpKSx0aGlzLl9mb3J3YXJkUHJvcGVydHkocix0aGlzLnNlbGVjdGVkQXMsdGhpcy4kLnNlbGVjdG9yLmlzU2VsZWN0ZWQoaSkpLHRoaXMuX2ZvcndhcmRQcm9wZXJ0eShyLHRoaXMuaW5kZXhBcyxlKSx0aGlzLl9mb3J3YXJkUHJvcGVydHkociwidGFiSW5kZXgiLHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9PT1lPzA6LTEpLHRoaXMuX3BoeXNpY2FsSW5kZXhGb3JLZXlbci5fX2tleV9fXT10LHIuX2ZsdXNoUHJvcGVydGllcyYmci5fZmx1c2hQcm9wZXJ0aWVzKCEwKSxuLnJlbW92ZUF0dHJpYnV0ZSgiaGlkZGVuIil9ZWxzZSBuLnNldEF0dHJpYnV0ZSgiaGlkZGVuIiwiIil9KSx0KX0sX3VwZGF0ZU1ldHJpY3M6ZnVuY3Rpb24odCl7V2koKTt2YXIgZT0wLG49MCxpPXRoaXMuX3BoeXNpY2FsQXZlcmFnZUNvdW50LHI9dGhpcy5fcGh5c2ljYWxBdmVyYWdlO3RoaXMuX2l0ZXJhdGVJdGVtcygoZnVuY3Rpb24odCxpKXtuKz10aGlzLl9waHlzaWNhbFNpemVzW3RdLHRoaXMuX3BoeXNpY2FsU2l6ZXNbdF09dGhpcy5fcGh5c2ljYWxJdGVtc1t0XS5vZmZzZXRIZWlnaHQsZSs9dGhpcy5fcGh5c2ljYWxTaXplc1t0XSx0aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudCs9dGhpcy5fcGh5c2ljYWxTaXplc1t0XT8xOjB9KSx0KSx0aGlzLmdyaWQ/KHRoaXMuX3VwZGF0ZUdyaWRNZXRyaWNzKCksdGhpcy5fcGh5c2ljYWxTaXplPU1hdGguY2VpbCh0aGlzLl9waHlzaWNhbENvdW50L3RoaXMuX2l0ZW1zUGVyUm93KSp0aGlzLl9yb3dIZWlnaHQpOihuPTE9PT10aGlzLl9pdGVtc1BlclJvdz9uOk1hdGguY2VpbCh0aGlzLl9waHlzaWNhbENvdW50L3RoaXMuX2l0ZW1zUGVyUm93KSp0aGlzLl9yb3dIZWlnaHQsdGhpcy5fcGh5c2ljYWxTaXplPXRoaXMuX3BoeXNpY2FsU2l6ZStlLW4sdGhpcy5faXRlbXNQZXJSb3c9MSksdGhpcy5fcGh5c2ljYWxBdmVyYWdlQ291bnQhPT1pJiYodGhpcy5fcGh5c2ljYWxBdmVyYWdlPU1hdGgucm91bmQoKHIqaStlKS90aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudCkpfSxfdXBkYXRlR3JpZE1ldHJpY3M6ZnVuY3Rpb24oKXt0aGlzLl9pdGVtV2lkdGg9dGhpcy5fcGh5c2ljYWxDb3VudD4wP3RoaXMuX3BoeXNpY2FsSXRlbXNbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg6MjAwLHRoaXMuX3Jvd0hlaWdodD10aGlzLl9waHlzaWNhbENvdW50PjA/dGhpcy5fcGh5c2ljYWxJdGVtc1swXS5vZmZzZXRIZWlnaHQ6MjAwLHRoaXMuX2l0ZW1zUGVyUm93PXRoaXMuX2l0ZW1XaWR0aD9NYXRoLmZsb29yKHRoaXMuX3ZpZXdwb3J0V2lkdGgvdGhpcy5faXRlbVdpZHRoKTp0aGlzLl9pdGVtc1BlclJvd30sX3Bvc2l0aW9uSXRlbXM6ZnVuY3Rpb24oKXt0aGlzLl9hZGp1c3RTY3JvbGxQb3NpdGlvbigpO3ZhciB0PXRoaXMuX3BoeXNpY2FsVG9wO2lmKHRoaXMuZ3JpZCl7dmFyIGU9KHRoaXMuX3ZpZXdwb3J0V2lkdGgtdGhpcy5faXRlbXNQZXJSb3cqdGhpcy5faXRlbVdpZHRoKS8yO3RoaXMuX2l0ZXJhdGVJdGVtcygoZnVuY3Rpb24obixpKXt2YXIgcj1NYXRoLmZsb29yKGkldGhpcy5faXRlbXNQZXJSb3cqdGhpcy5faXRlbVdpZHRoK2UpO3RoaXMuX2lzUlRMJiYocio9LTEpLHRoaXMudHJhbnNsYXRlM2QocisicHgiLHQrInB4IiwwLHRoaXMuX3BoeXNpY2FsSXRlbXNbbl0pLHRoaXMuX3Nob3VsZFJlbmRlck5leHRSb3coaSkmJih0Kz10aGlzLl9yb3dIZWlnaHQpfSkpfWVsc2V7Y29uc3QgZT1bXTt0aGlzLl9pdGVyYXRlSXRlbXMoKGZ1bmN0aW9uKG4saSl7Y29uc3Qgcj10aGlzLl9waHlzaWNhbEl0ZW1zW25dO3RoaXMudHJhbnNsYXRlM2QoMCx0KyJweCIsMCxyKSx0Kz10aGlzLl9waHlzaWNhbFNpemVzW25dO2NvbnN0IG89ci5pZDtvJiZlLnB1c2gobyl9KSksZS5sZW5ndGgmJnRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLW93bnMiLGUuam9pbigiICIpKX19LF9nZXRQaHlzaWNhbFNpemVJbmNyZW1lbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZ3JpZD90aGlzLl9jb21wdXRlVmlkeCh0KSV0aGlzLl9pdGVtc1BlclJvdyE9dGhpcy5faXRlbXNQZXJSb3ctMT8wOnRoaXMuX3Jvd0hlaWdodDp0aGlzLl9waHlzaWNhbFNpemVzW3RdfSxfc2hvdWxkUmVuZGVyTmV4dFJvdzpmdW5jdGlvbih0KXtyZXR1cm4gdCV0aGlzLl9pdGVtc1BlclJvdz09dGhpcy5faXRlbXNQZXJSb3ctMX0sX2FkanVzdFNjcm9sbFBvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9MD09PXRoaXMuX3ZpcnR1YWxTdGFydD90aGlzLl9waHlzaWNhbFRvcDpNYXRoLm1pbih0aGlzLl9zY3JvbGxQb3NpdGlvbit0aGlzLl9waHlzaWNhbFRvcCwwKTtpZigwIT09dCl7dGhpcy5fcGh5c2ljYWxUb3A9dGhpcy5fcGh5c2ljYWxUb3AtdDt2YXIgZT10aGlzLl9zY3JvbGxQb3NpdGlvbjshWm8mJmU+MCYmdGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbihlLXQpfX0sX3Jlc2V0U2Nyb2xsUG9zaXRpb246ZnVuY3Rpb24odCl7dGhpcy5zY3JvbGxUYXJnZXQmJnQ+PTAmJih0aGlzLl9zY3JvbGxUb3A9dCx0aGlzLl9zY3JvbGxQb3NpdGlvbj10aGlzLl9zY3JvbGxUb3ApfSxfdXBkYXRlU2Nyb2xsZXJTaXplOmZ1bmN0aW9uKHQpe3RoaXMuX2VzdFNjcm9sbEhlaWdodD10aGlzLmdyaWQ/dGhpcy5fdmlydHVhbFJvd0NvdW50KnRoaXMuX3Jvd0hlaWdodDp0aGlzLl9waHlzaWNhbEJvdHRvbStNYXRoLm1heCh0aGlzLl92aXJ0dWFsQ291bnQtdGhpcy5fcGh5c2ljYWxDb3VudC10aGlzLl92aXJ0dWFsU3RhcnQsMCkqdGhpcy5fcGh5c2ljYWxBdmVyYWdlLCgodD0odD0odD10fHwwPT09dGhpcy5fc2Nyb2xsSGVpZ2h0KXx8dGhpcy5fc2Nyb2xsUG9zaXRpb24+PXRoaXMuX2VzdFNjcm9sbEhlaWdodC10aGlzLl9waHlzaWNhbFNpemUpfHx0aGlzLmdyaWQmJnRoaXMuJC5pdGVtcy5zdHlsZS5oZWlnaHQ8dGhpcy5fZXN0U2Nyb2xsSGVpZ2h0KXx8TWF0aC5hYnModGhpcy5fZXN0U2Nyb2xsSGVpZ2h0LXRoaXMuX3Njcm9sbEhlaWdodCk+PXRoaXMuX3ZpZXdwb3J0SGVpZ2h0KSYmKHRoaXMuJC5pdGVtcy5zdHlsZS5oZWlnaHQ9dGhpcy5fZXN0U2Nyb2xsSGVpZ2h0KyJweCIsdGhpcy5fc2Nyb2xsSGVpZ2h0PXRoaXMuX2VzdFNjcm9sbEhlaWdodCl9LHNjcm9sbFRvSXRlbTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zY3JvbGxUb0luZGV4KHRoaXMuaXRlbXMuaW5kZXhPZih0KSl9LHNjcm9sbFRvSW5kZXg6ZnVuY3Rpb24odCl7aWYoISgibnVtYmVyIiE9dHlwZW9mIHR8fHQ8MHx8dD50aGlzLml0ZW1zLmxlbmd0aC0xKSYmKFdpKCksMCE9PXRoaXMuX3BoeXNpY2FsQ291bnQpKXt0PXRoaXMuX2NsYW1wKHQsMCx0aGlzLl92aXJ0dWFsQ291bnQtMSksKCF0aGlzLl9pc0luZGV4UmVuZGVyZWQodCl8fHQ+PXRoaXMuX21heFZpcnR1YWxTdGFydCkmJih0aGlzLl92aXJ0dWFsU3RhcnQ9dGhpcy5ncmlkP3QtMip0aGlzLl9pdGVtc1BlclJvdzp0LTEpLHRoaXMuX21hbmFnZUZvY3VzKCksdGhpcy5fYXNzaWduTW9kZWxzKCksdGhpcy5fdXBkYXRlTWV0cmljcygpLHRoaXMuX3BoeXNpY2FsVG9wPU1hdGguZmxvb3IodGhpcy5fdmlydHVhbFN0YXJ0L3RoaXMuX2l0ZW1zUGVyUm93KSp0aGlzLl9waHlzaWNhbEF2ZXJhZ2U7Zm9yKHZhciBlPXRoaXMuX3BoeXNpY2FsU3RhcnQsbj10aGlzLl92aXJ0dWFsU3RhcnQsaT0wLHI9dGhpcy5faGlkZGVuQ29udGVudFNpemU7bjx0JiZpPD1yOylpKz10aGlzLl9nZXRQaHlzaWNhbFNpemVJbmNyZW1lbnQoZSksZT0oZSsxKSV0aGlzLl9waHlzaWNhbENvdW50LG4rKzt0aGlzLl91cGRhdGVTY3JvbGxlclNpemUoITApLHRoaXMuX3Bvc2l0aW9uSXRlbXMoKSx0aGlzLl9yZXNldFNjcm9sbFBvc2l0aW9uKHRoaXMuX3BoeXNpY2FsVG9wK3RoaXMuX3Njcm9sbE9mZnNldCtpKSx0aGlzLl9pbmNyZWFzZVBvb2xJZk5lZWRlZCgwKSx0aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsLHRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9bnVsbH19LF9yZXNldEF2ZXJhZ2U6ZnVuY3Rpb24oKXt0aGlzLl9waHlzaWNhbEF2ZXJhZ2U9MCx0aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudD0wfSxfcmVzaXplSGFuZGxlcjpmdW5jdGlvbigpe3RoaXMuX2RlYm91bmNlKCJfcmVuZGVyIiwoZnVuY3Rpb24oKXt0aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsLHRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLl9pc1Zpc2libGU/KHRoaXMudXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzKCksdGhpcy50b2dnbGVTY3JvbGxMaXN0ZW5lcighMCksdGhpcy5fcmVzZXRBdmVyYWdlKCksdGhpcy5fcmVuZGVyKCkpOnRoaXMudG9nZ2xlU2Nyb2xsTGlzdGVuZXIoITEpfSksX3QpfSxzZWxlY3RJdGVtOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnNlbGVjdEluZGV4KHRoaXMuaXRlbXMuaW5kZXhPZih0KSl9LHNlbGVjdEluZGV4OmZ1bmN0aW9uKHQpe2lmKCEodDwwfHx0Pj10aGlzLl92aXJ0dWFsQ291bnQpKXtpZighdGhpcy5tdWx0aVNlbGVjdGlvbiYmdGhpcy5zZWxlY3RlZEl0ZW0mJnRoaXMuY2xlYXJTZWxlY3Rpb24oKSx0aGlzLl9pc0luZGV4UmVuZGVyZWQodCkpe3ZhciBlPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX3BoeXNpY2FsSXRlbXNbdGhpcy5fZ2V0UGh5c2ljYWxJbmRleCh0KV0pO2UmJihlW3RoaXMuc2VsZWN0ZWRBc109ITApLHRoaXMudXBkYXRlU2l6ZUZvckluZGV4KHQpfXRoaXMuJC5zZWxlY3Rvci5zZWxlY3RJbmRleCh0KX19LGRlc2VsZWN0SXRlbTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kZXNlbGVjdEluZGV4KHRoaXMuaXRlbXMuaW5kZXhPZih0KSl9LGRlc2VsZWN0SW5kZXg6ZnVuY3Rpb24odCl7aWYoISh0PDB8fHQ+PXRoaXMuX3ZpcnR1YWxDb3VudCkpe2lmKHRoaXMuX2lzSW5kZXhSZW5kZXJlZCh0KSl0aGlzLm1vZGVsRm9yRWxlbWVudCh0aGlzLl9waHlzaWNhbEl0ZW1zW3RoaXMuX2dldFBoeXNpY2FsSW5kZXgodCldKVt0aGlzLnNlbGVjdGVkQXNdPSExLHRoaXMudXBkYXRlU2l6ZUZvckluZGV4KHQpO3RoaXMuJC5zZWxlY3Rvci5kZXNlbGVjdEluZGV4KHQpfX0sdG9nZ2xlU2VsZWN0aW9uRm9ySXRlbTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50b2dnbGVTZWxlY3Rpb25Gb3JJbmRleCh0aGlzLml0ZW1zLmluZGV4T2YodCkpfSx0b2dnbGVTZWxlY3Rpb25Gb3JJbmRleDpmdW5jdGlvbih0KXsodGhpcy4kLnNlbGVjdG9yLmlzSW5kZXhTZWxlY3RlZD90aGlzLiQuc2VsZWN0b3IuaXNJbmRleFNlbGVjdGVkKHQpOnRoaXMuJC5zZWxlY3Rvci5pc1NlbGVjdGVkKHRoaXMuaXRlbXNbdF0pKT90aGlzLmRlc2VsZWN0SW5kZXgodCk6dGhpcy5zZWxlY3RJbmRleCh0KX0sY2xlYXJTZWxlY3Rpb246ZnVuY3Rpb24oKXt0aGlzLl9pdGVyYXRlSXRlbXMoKGZ1bmN0aW9uKHQsZSl7dGhpcy5tb2RlbEZvckVsZW1lbnQodGhpcy5fcGh5c2ljYWxJdGVtc1t0XSlbdGhpcy5zZWxlY3RlZEFzXT0hMX0pKSx0aGlzLiQuc2VsZWN0b3IuY2xlYXJTZWxlY3Rpb24oKX0sX3NlbGVjdGlvbkVuYWJsZWRDaGFuZ2VkOmZ1bmN0aW9uKHQpeyh0P3RoaXMubGlzdGVuOnRoaXMudW5saXN0ZW4pLmNhbGwodGhpcyx0aGlzLCJ0YXAiLCJfc2VsZWN0aW9uSGFuZGxlciIpfSxfc2VsZWN0aW9uSGFuZGxlcjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLm1vZGVsRm9yRWxlbWVudCh0LnRhcmdldCk7aWYoZSl7dmFyIG4saSxyPWVyKHQpLnBhdGhbMF0sbz10aGlzLl9nZXRBY3RpdmVFbGVtZW50KCksYT10aGlzLl9waHlzaWNhbEl0ZW1zW3RoaXMuX2dldFBoeXNpY2FsSW5kZXgoZVt0aGlzLmluZGV4QXNdKV07ImlucHV0IiE9PXIubG9jYWxOYW1lJiYiYnV0dG9uIiE9PXIubG9jYWxOYW1lJiYic2VsZWN0IiE9PXIubG9jYWxOYW1lJiYobj1lLnRhYkluZGV4LGUudGFiSW5kZXg9UW8saT1vP28udGFiSW5kZXg6LTEsZS50YWJJbmRleD1uLG8mJmEhPT1vJiZhLmNvbnRhaW5zKG8pJiZpIT09UW98fHRoaXMudG9nZ2xlU2VsZWN0aW9uRm9ySXRlbShlW3RoaXMuYXNdKSl9fSxfbXVsdGlTZWxlY3Rpb25DaGFuZ2VkOmZ1bmN0aW9uKHQpe3RoaXMuY2xlYXJTZWxlY3Rpb24oKSx0aGlzLiQuc2VsZWN0b3IubXVsdGk9dH0sdXBkYXRlU2l6ZUZvckl0ZW06ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudXBkYXRlU2l6ZUZvckluZGV4KHRoaXMuaXRlbXMuaW5kZXhPZih0KSl9LHVwZGF0ZVNpemVGb3JJbmRleDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5faXNJbmRleFJlbmRlcmVkKHQpPyh0aGlzLl91cGRhdGVNZXRyaWNzKFt0aGlzLl9nZXRQaHlzaWNhbEluZGV4KHQpXSksdGhpcy5fcG9zaXRpb25JdGVtcygpLG51bGwpOm51bGx9LF9tYW5hZ2VGb2N1czpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg7dD49MCYmdDx0aGlzLl92aXJ0dWFsQ291bnQ/dGhpcy5faXNJbmRleFJlbmRlcmVkKHQpP3RoaXMuX3Jlc3RvcmVGb2N1c2VkSXRlbSgpOnRoaXMuX2NyZWF0ZUZvY3VzQmFja2ZpbGxJdGVtKCk6dGhpcy5fdmlydHVhbENvdW50PjAmJnRoaXMuX3BoeXNpY2FsQ291bnQ+MCYmKHRoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4PXRoaXMuX3BoeXNpY2FsU3RhcnQsdGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleD10aGlzLl92aXJ0dWFsU3RhcnQsdGhpcy5fZm9jdXNlZEl0ZW09dGhpcy5fcGh5c2ljYWxJdGVtc1t0aGlzLl9waHlzaWNhbFN0YXJ0XSl9LF9jb252ZXJ0SW5kZXhUb0NvbXBsZXRlUm93OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pdGVtc1BlclJvdz10aGlzLl9pdGVtc1BlclJvd3x8MSx0aGlzLmdyaWQ/TWF0aC5jZWlsKHQvdGhpcy5faXRlbXNQZXJSb3cpKnRoaXMuX2l0ZW1zUGVyUm93OnR9LF9pc0luZGV4UmVuZGVyZWQ6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PXRoaXMuX3ZpcnR1YWxTdGFydCYmdDw9dGhpcy5fdmlydHVhbEVuZH0sX2lzSW5kZXhWaXNpYmxlOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj10aGlzLmZpcnN0VmlzaWJsZUluZGV4JiZ0PD10aGlzLmxhc3RWaXNpYmxlSW5kZXh9LF9nZXRQaHlzaWNhbEluZGV4OmZ1bmN0aW9uKHQpe3JldHVybih0aGlzLl9waHlzaWNhbFN0YXJ0Kyh0LXRoaXMuX3ZpcnR1YWxTdGFydCkpJXRoaXMuX3BoeXNpY2FsQ291bnR9LGZvY3VzSXRlbTpmdW5jdGlvbih0KXt0aGlzLl9mb2N1c1BoeXNpY2FsSXRlbSh0KX0sX2ZvY3VzUGh5c2ljYWxJdGVtOmZ1bmN0aW9uKHQpe2lmKCEodDwwfHx0Pj10aGlzLl92aXJ0dWFsQ291bnQpKXt0aGlzLl9yZXN0b3JlRm9jdXNlZEl0ZW0oKSx0aGlzLl9pc0luZGV4UmVuZGVyZWQodCl8fHRoaXMuc2Nyb2xsVG9JbmRleCh0KTt2YXIgZSxuPXRoaXMuX3BoeXNpY2FsSXRlbXNbdGhpcy5fZ2V0UGh5c2ljYWxJbmRleCh0KV0saT10aGlzLm1vZGVsRm9yRWxlbWVudChuKTtpLnRhYkluZGV4PVFvLG4udGFiSW5kZXg9PT1RbyYmKGU9biksZXx8KGU9ZXIobikucXVlcnlTZWxlY3RvcignW3RhYmluZGV4PSItMTAwIl0nKSksaS50YWJJbmRleD0wLHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9dCxlJiZlLmZvY3VzKCl9fSxfcmVtb3ZlRm9jdXNlZEl0ZW06ZnVuY3Rpb24oKXt0aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSYmdGhpcy5faXRlbXNQYXJlbnQucmVtb3ZlQ2hpbGQodGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0pLHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtPW51bGwsdGhpcy5fZm9jdXNCYWNrZmlsbEl0ZW09bnVsbCx0aGlzLl9mb2N1c2VkSXRlbT1udWxsLHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9LTEsdGhpcy5fZm9jdXNlZFBoeXNpY2FsSW5kZXg9LTF9LF9jcmVhdGVGb2N1c0JhY2tmaWxsSXRlbTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4O2lmKCEodGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW18fHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg8MCkpe2lmKCF0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbSl7dmFyIGU9dGhpcy5zdGFtcChudWxsKTt0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbT1lLnJvb3QucXVlcnlTZWxlY3RvcigiKiIpLHRoaXMuX2l0ZW1zUGFyZW50LmFwcGVuZENoaWxkKGUucm9vdCl9dGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW09dGhpcy5fcGh5c2ljYWxJdGVtc1t0XSx0aGlzLm1vZGVsRm9yRWxlbWVudCh0aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSkudGFiSW5kZXg9MCx0aGlzLl9waHlzaWNhbEl0ZW1zW3RdPXRoaXMuX2ZvY3VzQmFja2ZpbGxJdGVtLHRoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4PXQsdGhpcy50cmFuc2xhdGUzZCgwLEpvLDAsdGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0pfX0sX3Jlc3RvcmVGb2N1c2VkSXRlbTpmdW5jdGlvbigpe2lmKHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtJiYhKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg8MCkpe3RoaXMuX2Fzc2lnbk1vZGVscygpO3ZhciB0PXRoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4PXRoaXMuX2dldFBoeXNpY2FsSW5kZXgodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCksZT10aGlzLl9waHlzaWNhbEl0ZW1zW3RdO2lmKGUpe3ZhciBuPXRoaXMubW9kZWxGb3JFbGVtZW50KGUpLGk9dGhpcy5tb2RlbEZvckVsZW1lbnQodGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0pO25bdGhpcy5hc109PT1pW3RoaXMuYXNdPyh0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbT1lLG4udGFiSW5kZXg9LTEsdGhpcy5fcGh5c2ljYWxJdGVtc1t0XT10aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSx0aGlzLnRyYW5zbGF0ZTNkKDAsSm8sMCx0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbSkpOih0aGlzLl9yZW1vdmVGb2N1c2VkSXRlbSgpLHRoaXMuX2ZvY3VzQmFja2ZpbGxJdGVtPW51bGwpLHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtPW51bGx9fX0sX2RpZEZvY3VzOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubW9kZWxGb3JFbGVtZW50KHQudGFyZ2V0KSxuPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX2ZvY3VzZWRJdGVtKSxpPW51bGwhPT10aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSxyPXRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg7ZSYmKG49PT1lP3RoaXMuX2lzSW5kZXhWaXNpYmxlKHIpfHx0aGlzLnNjcm9sbFRvSW5kZXgocik6KHRoaXMuX3Jlc3RvcmVGb2N1c2VkSXRlbSgpLG4mJihuLnRhYkluZGV4PS0xKSxlLnRhYkluZGV4PTAsdGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleD1yPWVbdGhpcy5pbmRleEFzXSx0aGlzLl9mb2N1c2VkUGh5c2ljYWxJbmRleD10aGlzLl9nZXRQaHlzaWNhbEluZGV4KHIpLHRoaXMuX2ZvY3VzZWRJdGVtPXRoaXMuX3BoeXNpY2FsSXRlbXNbdGhpcy5fZm9jdXNlZFBoeXNpY2FsSW5kZXhdLGkmJiF0aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSYmdGhpcy5fdXBkYXRlKCkpKX0sX2tleWRvd25IYW5kbGVyOmZ1bmN0aW9uKHQpe3N3aXRjaCh0LmtleUNvZGUpe2Nhc2UgNDA6dGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleDx0aGlzLl92aXJ0dWFsQ291bnQtMSYmdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2ZvY3VzUGh5c2ljYWxJdGVtKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXgrKHRoaXMuZ3JpZD90aGlzLl9pdGVtc1BlclJvdzoxKSk7YnJlYWs7Y2FzZSAzOTp0aGlzLmdyaWQmJnRoaXMuX2ZvY3VzUGh5c2ljYWxJdGVtKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXgrKHRoaXMuX2lzUlRMPy0xOjEpKTticmVhaztjYXNlIDM4OnRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg+MCYmdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2ZvY3VzUGh5c2ljYWxJdGVtKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXgtKHRoaXMuZ3JpZD90aGlzLl9pdGVtc1BlclJvdzoxKSk7YnJlYWs7Y2FzZSAzNzp0aGlzLmdyaWQmJnRoaXMuX2ZvY3VzUGh5c2ljYWxJdGVtKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXgrKHRoaXMuX2lzUlRMPzE6LTEpKTticmVhaztjYXNlIDEzOnRoaXMuX2ZvY3VzUGh5c2ljYWxJdGVtKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXgpLHRoaXMuc2VsZWN0aW9uRW5hYmxlZCYmdGhpcy5fc2VsZWN0aW9uSGFuZGxlcih0KX19LF9jbGFtcDpmdW5jdGlvbih0LGUsbil7cmV0dXJuIE1hdGgubWluKG4sTWF0aC5tYXgoZSx0KSl9LF9kZWJvdW5jZTpmdW5jdGlvbih0LGUsbil7dGhpcy5fZGVib3VuY2Vycz10aGlzLl9kZWJvdW5jZXJzfHx7fSx0aGlzLl9kZWJvdW5jZXJzW3RdPU5uLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlcnNbdF0sbixlLmJpbmQodGhpcykpLFJuKHRoaXMuX2RlYm91bmNlcnNbdF0pfSxfZm9yd2FyZFByb3BlcnR5OmZ1bmN0aW9uKHQsZSxuKXt0Ll9zZXRQZW5kaW5nUHJvcGVydHkoZSxuKX0sX2ZvcndhcmRIb3N0UHJvcFYyOmZ1bmN0aW9uKHQsZSl7KHRoaXMuX3BoeXNpY2FsSXRlbXN8fFtdKS5jb25jYXQoW3RoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtLHRoaXMuX2ZvY3VzQmFja2ZpbGxJdGVtXSkuZm9yRWFjaCgoZnVuY3Rpb24obil7biYmdGhpcy5tb2RlbEZvckVsZW1lbnQobikuZm9yd2FyZEhvc3RQcm9wKHQsZSl9KSx0aGlzKX0sX25vdGlmeUluc3RhbmNlUHJvcFYyOmZ1bmN0aW9uKHQsZSxuKXtpZihRKHRoaXMuYXMsZSkpe3ZhciBpPXRbdGhpcy5pbmRleEFzXTtlPT10aGlzLmFzJiYodGhpcy5pdGVtc1tpXT1uKSx0aGlzLm5vdGlmeVBhdGgoSih0aGlzLmFzLCJpdGVtcy4iK2ksZSksbil9fSxfZ2V0U3RhbXBlZENoaWxkcmVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3BoeXNpY2FsSXRlbXN9LF9mb3J3YXJkSW5zdGFuY2VQYXRoOmZ1bmN0aW9uKHQsZSxuKXswPT09ZS5pbmRleE9mKHRoaXMuYXMrIi4iKSYmdGhpcy5ub3RpZnlQYXRoKCJpdGVtcy4iK3QuX19rZXlfXysiLiIrZS5zbGljZSh0aGlzLmFzLmxlbmd0aCsxKSxuKX0sX2ZvcndhcmRQYXJlbnRQYXRoOmZ1bmN0aW9uKHQsZSl7KHRoaXMuX3BoeXNpY2FsSXRlbXN8fFtdKS5jb25jYXQoW3RoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtLHRoaXMuX2ZvY3VzQmFja2ZpbGxJdGVtXSkuZm9yRWFjaCgoZnVuY3Rpb24obil7biYmdGhpcy5tb2RlbEZvckVsZW1lbnQobikubm90aWZ5UGF0aCh0LGUpfSksdGhpcyl9LF9mb3J3YXJkUGFyZW50UHJvcDpmdW5jdGlvbih0LGUpeyh0aGlzLl9waHlzaWNhbEl0ZW1zfHxbXSkuY29uY2F0KFt0aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSx0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbV0pLmZvckVhY2goKGZ1bmN0aW9uKG4pe24mJih0aGlzLm1vZGVsRm9yRWxlbWVudChuKVt0XT1lKX0pLHRoaXMpfSxfZ2V0QWN0aXZlRWxlbWVudDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2l0ZW1zUGFyZW50Lm5vZGUuZG9tSG9zdDtyZXR1cm4gZXIodD90LnJvb3Q6ZG9jdW1lbnQpLmFjdGl2ZUVsZW1lbnR9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjbGFzcyB0YXtjb25zdHJ1Y3Rvcih0KXt0aGlzLnNlbGVjdGlvbj1bXSx0aGlzLnNlbGVjdENhbGxiYWNrPXR9Z2V0KCl7cmV0dXJuIHRoaXMubXVsdGk/dGhpcy5zZWxlY3Rpb24uc2xpY2UoKTp0aGlzLnNlbGVjdGlvblswXX1jbGVhcih0KXt0aGlzLnNlbGVjdGlvbi5zbGljZSgpLmZvckVhY2goKGZ1bmN0aW9uKGUpeyghdHx8dC5pbmRleE9mKGUpPDApJiZ0aGlzLnNldEl0ZW1TZWxlY3RlZChlLCExKX0pLHRoaXMpfWlzU2VsZWN0ZWQodCl7cmV0dXJuIHRoaXMuc2VsZWN0aW9uLmluZGV4T2YodCk+PTB9c2V0SXRlbVNlbGVjdGVkKHQsZSl7aWYobnVsbCE9dCYmZSE9PXRoaXMuaXNTZWxlY3RlZCh0KSl7aWYoZSl0aGlzLnNlbGVjdGlvbi5wdXNoKHQpO2Vsc2V7dmFyIG49dGhpcy5zZWxlY3Rpb24uaW5kZXhPZih0KTtuPj0wJiZ0aGlzLnNlbGVjdGlvbi5zcGxpY2UobiwxKX10aGlzLnNlbGVjdENhbGxiYWNrJiZ0aGlzLnNlbGVjdENhbGxiYWNrKHQsZSl9fXNlbGVjdCh0KXt0aGlzLm11bHRpP3RoaXMudG9nZ2xlKHQpOnRoaXMuZ2V0KCkhPT10JiYodGhpcy5zZXRJdGVtU2VsZWN0ZWQodGhpcy5nZXQoKSwhMSksdGhpcy5zZXRJdGVtU2VsZWN0ZWQodCwhMCkpfXRvZ2dsZSh0KXt0aGlzLnNldEl0ZW1TZWxlY3RlZCh0LCF0aGlzLmlzU2VsZWN0ZWQodCkpfX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovY29uc3QgZWE9e3Byb3BlcnRpZXM6e2F0dHJGb3JTZWxlY3RlZDp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sc2VsZWN0ZWQ6e3R5cGU6U3RyaW5nLG5vdGlmeTohMH0sc2VsZWN0ZWRJdGVtOnt0eXBlOk9iamVjdCxyZWFkT25seTohMCxub3RpZnk6ITB9LGFjdGl2YXRlRXZlbnQ6e3R5cGU6U3RyaW5nLHZhbHVlOiJ0YXAiLG9ic2VydmVyOiJfYWN0aXZhdGVFdmVudENoYW5nZWQifSxzZWxlY3RhYmxlOlN0cmluZyxzZWxlY3RlZENsYXNzOnt0eXBlOlN0cmluZyx2YWx1ZToiaXJvbi1zZWxlY3RlZCJ9LHNlbGVjdGVkQXR0cmlidXRlOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxmYWxsYmFja1NlbGVjdGlvbjp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0saXRlbXM6e3R5cGU6QXJyYXkscmVhZE9ubHk6ITAsbm90aWZ5OiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fSxfZXhjbHVkZWRMb2NhbE5hbWVzOnt0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybnt0ZW1wbGF0ZToxLCJkb20tYmluZCI6MSwiZG9tLWlmIjoxLCJkb20tcmVwZWF0IjoxfX19fSxvYnNlcnZlcnM6WyJfdXBkYXRlQXR0ckZvclNlbGVjdGVkKGF0dHJGb3JTZWxlY3RlZCkiLCJfdXBkYXRlU2VsZWN0ZWQoc2VsZWN0ZWQpIiwiX2NoZWNrRmFsbGJhY2soZmFsbGJhY2tTZWxlY3Rpb24pIl0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuX2JpbmRGaWx0ZXJJdGVtPXRoaXMuX2ZpbHRlckl0ZW0uYmluZCh0aGlzKSx0aGlzLl9zZWxlY3Rpb249bmV3IHRhKHRoaXMuX2FwcGx5U2VsZWN0aW9uLmJpbmQodGhpcykpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyPXRoaXMuX29ic2VydmVJdGVtcyh0aGlzKSx0aGlzLl9hZGRMaXN0ZW5lcih0aGlzLmFjdGl2YXRlRXZlbnQpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyJiZlcih0aGlzKS51bm9ic2VydmVOb2Rlcyh0aGlzLl9vYnNlcnZlciksdGhpcy5fcmVtb3ZlTGlzdGVuZXIodGhpcy5hY3RpdmF0ZUV2ZW50KX0saW5kZXhPZjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pdGVtcz90aGlzLml0ZW1zLmluZGV4T2YodCk6LTF9LHNlbGVjdDpmdW5jdGlvbih0KXt0aGlzLnNlbGVjdGVkPXR9LHNlbGVjdFByZXZpb3VzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5pdGVtcy5sZW5ndGgsZT10LTE7dm9pZCAwIT09dGhpcy5zZWxlY3RlZCYmKGU9KE51bWJlcih0aGlzLl92YWx1ZVRvSW5kZXgodGhpcy5zZWxlY3RlZCkpLTErdCkldCksdGhpcy5zZWxlY3RlZD10aGlzLl9pbmRleFRvVmFsdWUoZSl9LHNlbGVjdE5leHQ6ZnVuY3Rpb24oKXt2YXIgdD0wO3ZvaWQgMCE9PXRoaXMuc2VsZWN0ZWQmJih0PShOdW1iZXIodGhpcy5fdmFsdWVUb0luZGV4KHRoaXMuc2VsZWN0ZWQpKSsxKSV0aGlzLml0ZW1zLmxlbmd0aCksdGhpcy5zZWxlY3RlZD10aGlzLl9pbmRleFRvVmFsdWUodCl9LHNlbGVjdEluZGV4OmZ1bmN0aW9uKHQpe3RoaXMuc2VsZWN0KHRoaXMuX2luZGV4VG9WYWx1ZSh0KSl9LGZvcmNlU3luY2hyb25vdXNJdGVtVXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXImJiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vYnNlcnZlci5mbHVzaD90aGlzLl9vYnNlcnZlci5mbHVzaCgpOnRoaXMuX3VwZGF0ZUl0ZW1zKCl9LGdldCBfc2hvdWxkVXBkYXRlU2VsZWN0aW9uKCl7cmV0dXJuIG51bGwhPXRoaXMuc2VsZWN0ZWR9LF9jaGVja0ZhbGxiYWNrOmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlU2VsZWN0ZWQoKX0sX2FkZExpc3RlbmVyOmZ1bmN0aW9uKHQpe3RoaXMubGlzdGVuKHRoaXMsdCwiX2FjdGl2YXRlSGFuZGxlciIpfSxfcmVtb3ZlTGlzdGVuZXI6ZnVuY3Rpb24odCl7dGhpcy51bmxpc3Rlbih0aGlzLHQsIl9hY3RpdmF0ZUhhbmRsZXIiKX0sX2FjdGl2YXRlRXZlbnRDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7dGhpcy5fcmVtb3ZlTGlzdGVuZXIoZSksdGhpcy5fYWRkTGlzdGVuZXIodCl9LF91cGRhdGVJdGVtczpmdW5jdGlvbigpe3ZhciB0PWVyKHRoaXMpLnF1ZXJ5RGlzdHJpYnV0ZWRFbGVtZW50cyh0aGlzLnNlbGVjdGFibGV8fCIqIik7dD1BcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwodCx0aGlzLl9iaW5kRmlsdGVySXRlbSksdGhpcy5fc2V0SXRlbXModCl9LF91cGRhdGVBdHRyRm9yU2VsZWN0ZWQ6ZnVuY3Rpb24oKXt0aGlzLnNlbGVjdGVkSXRlbSYmKHRoaXMuc2VsZWN0ZWQ9dGhpcy5fdmFsdWVGb3JJdGVtKHRoaXMuc2VsZWN0ZWRJdGVtKSl9LF91cGRhdGVTZWxlY3RlZDpmdW5jdGlvbigpe3RoaXMuX3NlbGVjdFNlbGVjdGVkKHRoaXMuc2VsZWN0ZWQpfSxfc2VsZWN0U2VsZWN0ZWQ6ZnVuY3Rpb24odCl7aWYodGhpcy5pdGVtcyl7dmFyIGU9dGhpcy5fdmFsdWVUb0l0ZW0odGhpcy5zZWxlY3RlZCk7ZT90aGlzLl9zZWxlY3Rpb24uc2VsZWN0KGUpOnRoaXMuX3NlbGVjdGlvbi5jbGVhcigpLHRoaXMuZmFsbGJhY2tTZWxlY3Rpb24mJnRoaXMuaXRlbXMubGVuZ3RoJiZ2b2lkIDA9PT10aGlzLl9zZWxlY3Rpb24uZ2V0KCkmJih0aGlzLnNlbGVjdGVkPXRoaXMuZmFsbGJhY2tTZWxlY3Rpb24pfX0sX2ZpbHRlckl0ZW06ZnVuY3Rpb24odCl7cmV0dXJuIXRoaXMuX2V4Y2x1ZGVkTG9jYWxOYW1lc1t0LmxvY2FsTmFtZV19LF92YWx1ZVRvSXRlbTpmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9udWxsOnRoaXMuaXRlbXNbdGhpcy5fdmFsdWVUb0luZGV4KHQpXX0sX3ZhbHVlVG9JbmRleDpmdW5jdGlvbih0KXtpZighdGhpcy5hdHRyRm9yU2VsZWN0ZWQpcmV0dXJuIE51bWJlcih0KTtmb3IodmFyIGUsbj0wO2U9dGhpcy5pdGVtc1tuXTtuKyspaWYodGhpcy5fdmFsdWVGb3JJdGVtKGUpPT10KXJldHVybiBufSxfaW5kZXhUb1ZhbHVlOmZ1bmN0aW9uKHQpe2lmKCF0aGlzLmF0dHJGb3JTZWxlY3RlZClyZXR1cm4gdDt2YXIgZT10aGlzLml0ZW1zW3RdO3JldHVybiBlP3RoaXMuX3ZhbHVlRm9ySXRlbShlKTp2b2lkIDB9LF92YWx1ZUZvckl0ZW06ZnVuY3Rpb24odCl7aWYoIXQpcmV0dXJuIG51bGw7aWYoIXRoaXMuYXR0ckZvclNlbGVjdGVkKXt2YXIgZT10aGlzLmluZGV4T2YodCk7cmV0dXJuLTE9PT1lP251bGw6ZX12YXIgbj10W3N0KHRoaXMuYXR0ckZvclNlbGVjdGVkKV07cmV0dXJuIG51bGwhPW4/bjp0LmdldEF0dHJpYnV0ZSh0aGlzLmF0dHJGb3JTZWxlY3RlZCl9LF9hcHBseVNlbGVjdGlvbjpmdW5jdGlvbih0LGUpe3RoaXMuc2VsZWN0ZWRDbGFzcyYmdGhpcy50b2dnbGVDbGFzcyh0aGlzLnNlbGVjdGVkQ2xhc3MsZSx0KSx0aGlzLnNlbGVjdGVkQXR0cmlidXRlJiZ0aGlzLnRvZ2dsZUF0dHJpYnV0ZSh0aGlzLnNlbGVjdGVkQXR0cmlidXRlLGUsdCksdGhpcy5fc2VsZWN0aW9uQ2hhbmdlKCksdGhpcy5maXJlKCJpcm9uLSIrKGU/InNlbGVjdCI6ImRlc2VsZWN0Iikse2l0ZW06dH0pfSxfc2VsZWN0aW9uQ2hhbmdlOmZ1bmN0aW9uKCl7dGhpcy5fc2V0U2VsZWN0ZWRJdGVtKHRoaXMuX3NlbGVjdGlvbi5nZXQoKSl9LF9vYnNlcnZlSXRlbXM6ZnVuY3Rpb24odCl7cmV0dXJuIGVyKHQpLm9ic2VydmVOb2RlcygoZnVuY3Rpb24odCl7dGhpcy5fdXBkYXRlSXRlbXMoKSx0aGlzLl91cGRhdGVTZWxlY3RlZCgpLHRoaXMuZmlyZSgiaXJvbi1pdGVtcy1jaGFuZ2VkIix0LHtidWJibGVzOiExLGNhbmNlbGFibGU6ITF9KX0pKX0sX2FjdGl2YXRlSGFuZGxlcjpmdW5jdGlvbih0KXtmb3IodmFyIGU9dC50YXJnZXQsbj10aGlzLml0ZW1zO2UmJmUhPXRoaXM7KXt2YXIgaT1uLmluZGV4T2YoZSk7aWYoaT49MCl7dmFyIHI9dGhpcy5faW5kZXhUb1ZhbHVlKGkpO3JldHVybiB2b2lkIHRoaXMuX2l0ZW1BY3RpdmF0ZShyLGUpfWU9ZS5wYXJlbnROb2RlfX0sX2l0ZW1BY3RpdmF0ZTpmdW5jdGlvbih0LGUpe3RoaXMuZmlyZSgiaXJvbi1hY3RpdmF0ZSIse3NlbGVjdGVkOnQsaXRlbTplfSx7Y2FuY2VsYWJsZTohMH0pLmRlZmF1bHRQcmV2ZW50ZWR8fHRoaXMuc2VsZWN0KHQpfX07Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2pyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoOm5vdChzbG90KTpub3QoLmlyb24tc2VsZWN0ZWQpKSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxzbG90Pjwvc2xvdD4KYCxpczoiaXJvbi1wYWdlcyIsYmVoYXZpb3JzOltDbyxlYV0scHJvcGVydGllczp7YWN0aXZhdGVFdmVudDp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH19LG9ic2VydmVyczpbIl9zZWxlY3RlZFBhZ2VDaGFuZ2VkKHNlbGVjdGVkKSJdLF9zZWxlY3RlZFBhZ2VDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7dGhpcy5hc3luYyh0aGlzLm5vdGlmeVJlc2l6ZSl9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBuYT14ZWAKPGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBodG1sIHsKCiAgICAgIC0tc2hhZG93LXRyYW5zaXRpb246IHsKICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMjhzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH07CgogICAgICAtLXNoYWRvdy1ub25lOiB7CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgfTsKCiAgICAgIC8qIGZyb20gaHR0cDovL2NvZGVwZW4uaW8vc2h5bmRtYW4vcGVuL2M1Mzk0ZGRmMmU4YjJhNWM5MTg1OTA0YjU3NDIxY2RiICovCgogICAgICAtLXNoYWRvdy1lbGV2YXRpb24tMmRwOiB7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwKICAgICAgICAgICAgICAgICAgICAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLAogICAgICAgICAgICAgICAgICAgIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKICAgICAgfTsKCiAgICAgIC0tc2hhZG93LWVsZXZhdGlvbi0zZHA6IHsKICAgICAgICBib3gtc2hhZG93OiAwIDNweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLAogICAgICAgICAgICAgICAgICAgIDAgMXB4IDhweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCAzcHggM3B4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICB9OwoKICAgICAgLS1zaGFkb3ctZWxldmF0aW9uLTRkcDogewogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksCiAgICAgICAgICAgICAgICAgICAgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICB9OwoKICAgICAgLS1zaGFkb3ctZWxldmF0aW9uLTZkcDogewogICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLAogICAgICAgICAgICAgICAgICAgIDAgMXB4IDE4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLAogICAgICAgICAgICAgICAgICAgIDAgM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC40KTsKICAgICAgfTsKCiAgICAgIC0tc2hhZG93LWVsZXZhdGlvbi04ZHA6IHsKICAgICAgICBib3gtc2hhZG93OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLAogICAgICAgICAgICAgICAgICAgIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICB9OwoKICAgICAgLS1zaGFkb3ctZWxldmF0aW9uLTEyZHA6IHsKICAgICAgICBib3gtc2hhZG93OiAwIDEycHggMTZweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwKICAgICAgICAgICAgICAgICAgICAwIDRweCAyMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLAogICAgICAgICAgICAgICAgICAgIDAgNnB4IDdweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC40KTsKICAgICAgfTsKCiAgICAgIC0tc2hhZG93LWVsZXZhdGlvbi0xNmRwOiB7CiAgICAgICAgYm94LXNoYWRvdzogMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksCiAgICAgICAgICAgICAgICAgICAgMCAgNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAgIH07CgogICAgICAtLXNoYWRvdy1lbGV2YXRpb24tMjRkcDogewogICAgICAgIGJveC1zaGFkb3c6IDAgMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLAogICAgICAgICAgICAgICAgICAgIDAgOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAgIH07CiAgICB9CiAgPC9zdHlsZT4KPC9jdXN0b20tc3R5bGU+YDtuYS5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiZGlzcGxheTogbm9uZTsiKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG5hLmNvbnRlbnQpOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgaWE9eGVgCjxkb20tbW9kdWxlIGlkPSJwYXBlci1tYXRlcmlhbC1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgaHRtbCB7CiAgICAgICAgLS1wYXBlci1tYXRlcmlhbDogewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgfTsKICAgICAgICAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0xOiB7CiAgICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTJkcDsKICAgICAgICB9OwogICAgICAgIC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTI6IHsKICAgICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tNGRwOwogICAgICAgIH07CiAgICAgICAgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMzogewogICAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi02ZHA7CiAgICAgICAgfTsKICAgICAgICAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi00OiB7CiAgICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLThkcDsKICAgICAgICB9OwogICAgICAgIC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTU6IHsKICAgICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tMTZkcDsKICAgICAgICB9OwogICAgICB9CiAgICAgIC5wYXBlci1tYXRlcmlhbCB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWw7CiAgICAgIH0KICAgICAgLnBhcGVyLW1hdGVyaWFsW2VsZXZhdGlvbj0iMSJdIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMTsKICAgICAgfQogICAgICAucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSIyIl0gewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0yOwogICAgICB9CiAgICAgIC5wYXBlci1tYXRlcmlhbFtlbGV2YXRpb249IjMiXSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTM7CiAgICAgIH0KICAgICAgLnBhcGVyLW1hdGVyaWFsW2VsZXZhdGlvbj0iNCJdIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tNDsKICAgICAgfQogICAgICAucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSI1Il0gewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi01OwogICAgICB9CgogICAgICAvKiBEdXBsaWNhdGUgdGhlIHN0eWxlcyBiZWNhdXNlIG9mIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJjb21wb25lbnRzL3NoYWR5Y3NzL2lzc3Vlcy8xOTMgKi8KICAgICAgOmhvc3QgewogICAgICAgIC0tcGFwZXItbWF0ZXJpYWw6IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIH07CiAgICAgICAgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMTogewogICAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0yZHA7CiAgICAgICAgfTsKICAgICAgICAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0yOiB7CiAgICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTRkcDsKICAgICAgICB9OwogICAgICAgIC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTM6IHsKICAgICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tNmRwOwogICAgICAgIH07CiAgICAgICAgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tNDogewogICAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi04ZHA7CiAgICAgICAgfTsKICAgICAgICAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi01OiB7CiAgICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTE2ZHA7CiAgICAgICAgfTsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWwpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbDsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSIxIl0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMTsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSIyIl0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMjsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSIzIl0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMzsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSI0Il0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tNDsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSI1Il0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tNTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+YDtpYS5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiZGlzcGxheTogbm9uZTsiKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGlhLmNvbnRlbnQpOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgcmE9e3Byb3BlcnRpZXM6e2ZvY3VzZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITAscmVhZE9ubHk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxkaXNhYmxlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMCxvYnNlcnZlcjoiX2Rpc2FibGVkQ2hhbmdlZCIscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfb2xkVGFiSW5kZXg6e3R5cGU6U3RyaW5nfSxfYm91bmRGb2N1c0JsdXJIYW5kbGVyOnt0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZvY3VzQmx1ckhhbmRsZXIuYmluZCh0aGlzKX19fSxvYnNlcnZlcnM6WyJfY2hhbmdlZENvbnRyb2xTdGF0ZShmb2N1c2VkLCBkaXNhYmxlZCkiXSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMuX2JvdW5kRm9jdXNCbHVySGFuZGxlciwhMCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9ib3VuZEZvY3VzQmx1ckhhbmRsZXIsITApfSxfZm9jdXNCbHVySGFuZGxlcjpmdW5jdGlvbih0KXt0aGlzLl9zZXRGb2N1c2VkKCJmb2N1cyI9PT10LnR5cGUpfSxfZGlzYWJsZWRDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLHQ/InRydWUiOiJmYWxzZSIpLHRoaXMuc3R5bGUucG9pbnRlckV2ZW50cz10PyJub25lIjoiIix0Pyh0aGlzLl9vbGRUYWJJbmRleD10aGlzLmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKSx0aGlzLl9zZXRGb2N1c2VkKCExKSx0aGlzLnRhYkluZGV4PS0xLHRoaXMuYmx1cigpKTp2b2lkIDAhPT10aGlzLl9vbGRUYWJJbmRleCYmKG51bGw9PT10aGlzLl9vbGRUYWJJbmRleD90aGlzLnJlbW92ZUF0dHJpYnV0ZSgidGFiaW5kZXgiKTp0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLHRoaXMuX29sZFRhYkluZGV4KSl9LF9jaGFuZ2VkQ29udHJvbFN0YXRlOmZ1bmN0aW9uKCl7dGhpcy5fY29udHJvbFN0YXRlQ2hhbmdlZCYmdGhpcy5fY29udHJvbFN0YXRlQ2hhbmdlZCgpfX0sb2E9e3Byb3BlcnRpZXM6e3ByZXNzZWQ6e3R5cGU6Qm9vbGVhbixyZWFkT25seTohMCx2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsb2JzZXJ2ZXI6Il9wcmVzc2VkQ2hhbmdlZCJ9LHRvZ2dsZXM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGFjdGl2ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMCxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LHBvaW50ZXJEb3duOnt0eXBlOkJvb2xlYW4scmVhZE9ubHk6ITAsdmFsdWU6ITF9LHJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQ6e3R5cGU6Qm9vbGVhbixyZWFkT25seTohMH0sYXJpYUFjdGl2ZUF0dHJpYnV0ZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImFyaWEtcHJlc3NlZCIsb2JzZXJ2ZXI6Il9hcmlhQWN0aXZlQXR0cmlidXRlQ2hhbmdlZCJ9fSxsaXN0ZW5lcnM6e2Rvd246Il9kb3duSGFuZGxlciIsdXA6Il91cEhhbmRsZXIiLHRhcDoiX3RhcEhhbmRsZXIifSxvYnNlcnZlcnM6WyJfZm9jdXNDaGFuZ2VkKGZvY3VzZWQpIiwiX2FjdGl2ZUNoYW5nZWQoYWN0aXZlLCBhcmlhQWN0aXZlQXR0cmlidXRlKSJdLGtleUJpbmRpbmdzOnsiZW50ZXI6a2V5ZG93biI6Il9hc3luY0NsaWNrIiwic3BhY2U6a2V5ZG93biI6Il9zcGFjZUtleURvd25IYW5kbGVyIiwic3BhY2U6a2V5dXAiOiJfc3BhY2VLZXlVcEhhbmRsZXIifSxfbW91c2VFdmVudFJlOi9ebW91c2UvLF90YXBIYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy50b2dnbGVzP3RoaXMuX3VzZXJBY3RpdmF0ZSghdGhpcy5hY3RpdmUpOnRoaXMuYWN0aXZlPSExfSxfZm9jdXNDaGFuZ2VkOmZ1bmN0aW9uKHQpe3RoaXMuX2RldGVjdEtleWJvYXJkRm9jdXModCksdHx8dGhpcy5fc2V0UHJlc3NlZCghMSl9LF9kZXRlY3RLZXlib2FyZEZvY3VzOmZ1bmN0aW9uKHQpe3RoaXMuX3NldFJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQoIXRoaXMucG9pbnRlckRvd24mJnQpfSxfdXNlckFjdGl2YXRlOmZ1bmN0aW9uKHQpe3RoaXMuYWN0aXZlIT09dCYmKHRoaXMuYWN0aXZlPXQsdGhpcy5maXJlKCJjaGFuZ2UiKSl9LF9kb3duSGFuZGxlcjpmdW5jdGlvbih0KXt0aGlzLl9zZXRQb2ludGVyRG93bighMCksdGhpcy5fc2V0UHJlc3NlZCghMCksdGhpcy5fc2V0UmVjZWl2ZWRGb2N1c0Zyb21LZXlib2FyZCghMSl9LF91cEhhbmRsZXI6ZnVuY3Rpb24oKXt0aGlzLl9zZXRQb2ludGVyRG93bighMSksdGhpcy5fc2V0UHJlc3NlZCghMSl9LF9zcGFjZUtleURvd25IYW5kbGVyOmZ1bmN0aW9uKHQpe3ZhciBlPXQuZGV0YWlsLmtleWJvYXJkRXZlbnQsbj1lcihlKS5sb2NhbFRhcmdldDt0aGlzLmlzTGlnaHREZXNjZW5kYW50KG4pfHwoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5fc2V0UHJlc3NlZCghMCkpfSxfc3BhY2VLZXlVcEhhbmRsZXI6ZnVuY3Rpb24odCl7dmFyIGU9ZXIodC5kZXRhaWwua2V5Ym9hcmRFdmVudCkubG9jYWxUYXJnZXQ7dGhpcy5pc0xpZ2h0RGVzY2VuZGFudChlKXx8KHRoaXMucHJlc3NlZCYmdGhpcy5fYXN5bmNDbGljaygpLHRoaXMuX3NldFByZXNzZWQoITEpKX0sX2FzeW5jQ2xpY2s6ZnVuY3Rpb24oKXt0aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuY2xpY2soKX0pLDEpfSxfcHJlc3NlZENoYW5nZWQ6ZnVuY3Rpb24odCl7dGhpcy5fY2hhbmdlZEJ1dHRvblN0YXRlKCl9LF9hcmlhQWN0aXZlQXR0cmlidXRlQ2hhbmdlZDpmdW5jdGlvbih0LGUpe2UmJmUhPXQmJnRoaXMuaGFzQXR0cmlidXRlKGUpJiZ0aGlzLnJlbW92ZUF0dHJpYnV0ZShlKX0sX2FjdGl2ZUNoYW5nZWQ6ZnVuY3Rpb24odCxlKXt0aGlzLnRvZ2dsZXM/dGhpcy5zZXRBdHRyaWJ1dGUodGhpcy5hcmlhQWN0aXZlQXR0cmlidXRlLHQ/InRydWUiOiJmYWxzZSIpOnRoaXMucmVtb3ZlQXR0cmlidXRlKHRoaXMuYXJpYUFjdGl2ZUF0dHJpYnV0ZSksdGhpcy5fY2hhbmdlZEJ1dHRvblN0YXRlKCl9LF9jb250cm9sU3RhdGVDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5kaXNhYmxlZD90aGlzLl9zZXRQcmVzc2VkKCExKTp0aGlzLl9jaGFuZ2VkQnV0dG9uU3RhdGUoKX0sX2NoYW5nZWRCdXR0b25TdGF0ZTpmdW5jdGlvbigpe3RoaXMuX2J1dHRvblN0YXRlQ2hhbmdlZCYmdGhpcy5fYnV0dG9uU3RhdGVDaGFuZ2VkKCl9fSxhYT1bWG8sb2FdOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE0IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCnZhciBzYT17ZGlzdGFuY2U6ZnVuY3Rpb24odCxlLG4saSl7dmFyIHI9dC1uLG89ZS1pO3JldHVybiBNYXRoLnNxcnQocipyK28qbyl9LG5vdzp3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3c/d2luZG93LnBlcmZvcm1hbmNlLm5vdy5iaW5kKHdpbmRvdy5wZXJmb3JtYW5jZSk6RGF0ZS5ub3d9O2Z1bmN0aW9uIGxhKHQpe3RoaXMuZWxlbWVudD10LHRoaXMud2lkdGg9dGhpcy5ib3VuZGluZ1JlY3Qud2lkdGgsdGhpcy5oZWlnaHQ9dGhpcy5ib3VuZGluZ1JlY3QuaGVpZ2h0LHRoaXMuc2l6ZT1NYXRoLm1heCh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KX1mdW5jdGlvbiBjYSh0KXt0aGlzLmVsZW1lbnQ9dCx0aGlzLmNvbG9yPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLmNvbG9yLHRoaXMud2F2ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLndhdmVDb250YWluZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy53YXZlLnN0eWxlLmJhY2tncm91bmRDb2xvcj10aGlzLmNvbG9yLHRoaXMud2F2ZS5jbGFzc0xpc3QuYWRkKCJ3YXZlIiksdGhpcy53YXZlQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoIndhdmUtY29udGFpbmVyIiksZXIodGhpcy53YXZlQ29udGFpbmVyKS5hcHBlbmRDaGlsZCh0aGlzLndhdmUpLHRoaXMucmVzZXRJbnRlcmFjdGlvblN0YXRlKCl9bGEucHJvdG90eXBlPXtnZXQgYm91bmRpbmdSZWN0KCl7cmV0dXJuIHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0sZnVydGhlc3RDb3JuZXJEaXN0YW5jZUZyb206ZnVuY3Rpb24odCxlKXt2YXIgbj1zYS5kaXN0YW5jZSh0LGUsMCwwKSxpPXNhLmRpc3RhbmNlKHQsZSx0aGlzLndpZHRoLDApLHI9c2EuZGlzdGFuY2UodCxlLDAsdGhpcy5oZWlnaHQpLG89c2EuZGlzdGFuY2UodCxlLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpO3JldHVybiBNYXRoLm1heChuLGkscixvKX19LGNhLk1BWF9SQURJVVM9MzAwLGNhLnByb3RvdHlwZT17Z2V0IHJlY2VudGVycygpe3JldHVybiB0aGlzLmVsZW1lbnQucmVjZW50ZXJzfSxnZXQgY2VudGVyKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5jZW50ZXJ9LGdldCBtb3VzZURvd25FbGFwc2VkKCl7dmFyIHQ7cmV0dXJuIHRoaXMubW91c2VEb3duU3RhcnQ/KHQ9c2Eubm93KCktdGhpcy5tb3VzZURvd25TdGFydCx0aGlzLm1vdXNlVXBTdGFydCYmKHQtPXRoaXMubW91c2VVcEVsYXBzZWQpLHQpOjB9LGdldCBtb3VzZVVwRWxhcHNlZCgpe3JldHVybiB0aGlzLm1vdXNlVXBTdGFydD9zYS5ub3coKS10aGlzLm1vdXNlVXBTdGFydDowfSxnZXQgbW91c2VEb3duRWxhcHNlZFNlY29uZHMoKXtyZXR1cm4gdGhpcy5tb3VzZURvd25FbGFwc2VkLzFlM30sZ2V0IG1vdXNlVXBFbGFwc2VkU2Vjb25kcygpe3JldHVybiB0aGlzLm1vdXNlVXBFbGFwc2VkLzFlM30sZ2V0IG1vdXNlSW50ZXJhY3Rpb25TZWNvbmRzKCl7cmV0dXJuIHRoaXMubW91c2VEb3duRWxhcHNlZFNlY29uZHMrdGhpcy5tb3VzZVVwRWxhcHNlZFNlY29uZHN9LGdldCBpbml0aWFsT3BhY2l0eSgpe3JldHVybiB0aGlzLmVsZW1lbnQuaW5pdGlhbE9wYWNpdHl9LGdldCBvcGFjaXR5RGVjYXlWZWxvY2l0eSgpe3JldHVybiB0aGlzLmVsZW1lbnQub3BhY2l0eURlY2F5VmVsb2NpdHl9LGdldCByYWRpdXMoKXt2YXIgdD0xLjEqTWF0aC5taW4oTWF0aC5zcXJ0KHRoaXMuY29udGFpbmVyTWV0cmljcy53aWR0aCp0aGlzLmNvbnRhaW5lck1ldHJpY3Mud2lkdGgrdGhpcy5jb250YWluZXJNZXRyaWNzLmhlaWdodCp0aGlzLmNvbnRhaW5lck1ldHJpY3MuaGVpZ2h0KSxjYS5NQVhfUkFESVVTKSs1LGU9dCooMS1NYXRoLnBvdyg4MCwtKHRoaXMubW91c2VJbnRlcmFjdGlvblNlY29uZHMvKDEuMS10L2NhLk1BWF9SQURJVVMqLjIpKSkpO3JldHVybiBNYXRoLmFicyhlKX0sZ2V0IG9wYWNpdHkoKXtyZXR1cm4gdGhpcy5tb3VzZVVwU3RhcnQ/TWF0aC5tYXgoMCx0aGlzLmluaXRpYWxPcGFjaXR5LXRoaXMubW91c2VVcEVsYXBzZWRTZWNvbmRzKnRoaXMub3BhY2l0eURlY2F5VmVsb2NpdHkpOnRoaXMuaW5pdGlhbE9wYWNpdHl9LGdldCBvdXRlck9wYWNpdHkoKXtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLm1pbiguMyp0aGlzLm1vdXNlVXBFbGFwc2VkU2Vjb25kcyx0aGlzLm9wYWNpdHkpKX0sZ2V0IGlzT3BhY2l0eUZ1bGx5RGVjYXllZCgpe3JldHVybiB0aGlzLm9wYWNpdHk8LjAxJiZ0aGlzLnJhZGl1cz49TWF0aC5taW4odGhpcy5tYXhSYWRpdXMsY2EuTUFYX1JBRElVUyl9LGdldCBpc1Jlc3RpbmdBdE1heFJhZGl1cygpe3JldHVybiB0aGlzLm9wYWNpdHk+PXRoaXMuaW5pdGlhbE9wYWNpdHkmJnRoaXMucmFkaXVzPj1NYXRoLm1pbih0aGlzLm1heFJhZGl1cyxjYS5NQVhfUkFESVVTKX0sZ2V0IGlzQW5pbWF0aW9uQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5tb3VzZVVwU3RhcnQ/dGhpcy5pc09wYWNpdHlGdWxseURlY2F5ZWQ6dGhpcy5pc1Jlc3RpbmdBdE1heFJhZGl1c30sZ2V0IHRyYW5zbGF0aW9uRnJhY3Rpb24oKXtyZXR1cm4gTWF0aC5taW4oMSx0aGlzLnJhZGl1cy90aGlzLmNvbnRhaW5lck1ldHJpY3Muc2l6ZSoyL01hdGguc3FydCgyKSl9LGdldCB4Tm93KCl7cmV0dXJuIHRoaXMueEVuZD90aGlzLnhTdGFydCt0aGlzLnRyYW5zbGF0aW9uRnJhY3Rpb24qKHRoaXMueEVuZC10aGlzLnhTdGFydCk6dGhpcy54U3RhcnR9LGdldCB5Tm93KCl7cmV0dXJuIHRoaXMueUVuZD90aGlzLnlTdGFydCt0aGlzLnRyYW5zbGF0aW9uRnJhY3Rpb24qKHRoaXMueUVuZC10aGlzLnlTdGFydCk6dGhpcy55U3RhcnR9LGdldCBpc01vdXNlRG93bigpe3JldHVybiB0aGlzLm1vdXNlRG93blN0YXJ0JiYhdGhpcy5tb3VzZVVwU3RhcnR9LHJlc2V0SW50ZXJhY3Rpb25TdGF0ZTpmdW5jdGlvbigpe3RoaXMubWF4UmFkaXVzPTAsdGhpcy5tb3VzZURvd25TdGFydD0wLHRoaXMubW91c2VVcFN0YXJ0PTAsdGhpcy54U3RhcnQ9MCx0aGlzLnlTdGFydD0wLHRoaXMueEVuZD0wLHRoaXMueUVuZD0wLHRoaXMuc2xpZGVEaXN0YW5jZT0wLHRoaXMuY29udGFpbmVyTWV0cmljcz1uZXcgbGEodGhpcy5lbGVtZW50KX0sZHJhdzpmdW5jdGlvbigpe3ZhciB0LGUsbjt0aGlzLndhdmUuc3R5bGUub3BhY2l0eT10aGlzLm9wYWNpdHksdD10aGlzLnJhZGl1cy8odGhpcy5jb250YWluZXJNZXRyaWNzLnNpemUvMiksdGhpcy53YXZlQ29udGFpbmVyLnN0eWxlLndlYmtpdFRyYW5zZm9ybT0idHJhbnNsYXRlKCIrKGU9dGhpcy54Tm93LXRoaXMuY29udGFpbmVyTWV0cmljcy53aWR0aC8yKSsicHgsICIrKG49dGhpcy55Tm93LXRoaXMuY29udGFpbmVyTWV0cmljcy5oZWlnaHQvMikrInB4KSIsdGhpcy53YXZlQ29udGFpbmVyLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlM2QoIitlKyJweCwgIituKyJweCwgMCkiLHRoaXMud2F2ZS5zdHlsZS53ZWJraXRUcmFuc2Zvcm09InNjYWxlKCIrdCsiLCIrdCsiKSIsdGhpcy53YXZlLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUzZCgiK3QrIiwiK3QrIiwxKSJ9LGRvd25BY3Rpb246ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jb250YWluZXJNZXRyaWNzLndpZHRoLzIsbj10aGlzLmNvbnRhaW5lck1ldHJpY3MuaGVpZ2h0LzI7dGhpcy5yZXNldEludGVyYWN0aW9uU3RhdGUoKSx0aGlzLm1vdXNlRG93blN0YXJ0PXNhLm5vdygpLHRoaXMuY2VudGVyPyh0aGlzLnhTdGFydD1lLHRoaXMueVN0YXJ0PW4sdGhpcy5zbGlkZURpc3RhbmNlPXNhLmRpc3RhbmNlKHRoaXMueFN0YXJ0LHRoaXMueVN0YXJ0LHRoaXMueEVuZCx0aGlzLnlFbmQpKToodGhpcy54U3RhcnQ9dD90LmRldGFpbC54LXRoaXMuY29udGFpbmVyTWV0cmljcy5ib3VuZGluZ1JlY3QubGVmdDp0aGlzLmNvbnRhaW5lck1ldHJpY3Mud2lkdGgvMix0aGlzLnlTdGFydD10P3QuZGV0YWlsLnktdGhpcy5jb250YWluZXJNZXRyaWNzLmJvdW5kaW5nUmVjdC50b3A6dGhpcy5jb250YWluZXJNZXRyaWNzLmhlaWdodC8yKSx0aGlzLnJlY2VudGVycyYmKHRoaXMueEVuZD1lLHRoaXMueUVuZD1uLHRoaXMuc2xpZGVEaXN0YW5jZT1zYS5kaXN0YW5jZSh0aGlzLnhTdGFydCx0aGlzLnlTdGFydCx0aGlzLnhFbmQsdGhpcy55RW5kKSksdGhpcy5tYXhSYWRpdXM9dGhpcy5jb250YWluZXJNZXRyaWNzLmZ1cnRoZXN0Q29ybmVyRGlzdGFuY2VGcm9tKHRoaXMueFN0YXJ0LHRoaXMueVN0YXJ0KSx0aGlzLndhdmVDb250YWluZXIuc3R5bGUudG9wPSh0aGlzLmNvbnRhaW5lck1ldHJpY3MuaGVpZ2h0LXRoaXMuY29udGFpbmVyTWV0cmljcy5zaXplKS8yKyJweCIsdGhpcy53YXZlQ29udGFpbmVyLnN0eWxlLmxlZnQ9KHRoaXMuY29udGFpbmVyTWV0cmljcy53aWR0aC10aGlzLmNvbnRhaW5lck1ldHJpY3Muc2l6ZSkvMisicHgiLHRoaXMud2F2ZUNvbnRhaW5lci5zdHlsZS53aWR0aD10aGlzLmNvbnRhaW5lck1ldHJpY3Muc2l6ZSsicHgiLHRoaXMud2F2ZUNvbnRhaW5lci5zdHlsZS5oZWlnaHQ9dGhpcy5jb250YWluZXJNZXRyaWNzLnNpemUrInB4In0sdXBBY3Rpb246ZnVuY3Rpb24odCl7dGhpcy5pc01vdXNlRG93biYmKHRoaXMubW91c2VVcFN0YXJ0PXNhLm5vdygpKX0scmVtb3ZlOmZ1bmN0aW9uKCl7ZXIoZXIodGhpcy53YXZlQ29udGFpbmVyKS5wYXJlbnROb2RlKS5yZW1vdmVDaGlsZCh0aGlzLndhdmVDb250YWluZXIpfX0sanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwoKICAgICAgICAvKiBTZWUgUG9seW1lckVsZW1lbnRzL3BhcGVyLWJlaGF2aW9ycy9pc3N1ZXMvMzQuIE9uIG5vbi1DaHJvbWUgYnJvd3NlcnMsCiAgICAgICAgICogY3JlYXRpbmcgYSBub2RlICh3aXRoIGEgcG9zaXRpb246YWJzb2x1dGUpIGluIHRoZSBtaWRkbGUgb2YgYW4gZXZlbnQKICAgICAgICAgKiBoYW5kbGVyICJpbnRlcnJ1cHRzIiB0aGF0IGV2ZW50IGhhbmRsZXIgKHdoaWNoIGhhcHBlbnMgd2hlbiB0aGUKICAgICAgICAgKiByaXBwbGUgaXMgY3JlYXRlZCBvbiBkZW1hbmQpICovCiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFthbmltYXRpbmddKSB7CiAgICAgICAgLyogVGhpcyByZXNvbHZlcyBhIHJlbmRlcmluZyBpc3N1ZSBpbiBDaHJvbWUgKGFzIG9mIDQwKSB3aGVyZSB0aGUKICAgICAgICAgICByaXBwbGUgaXMgbm90IHByb3Blcmx5IGNsaXBwZWQgYnkgaXRzIHBhcmVudCAod2hpY2ggbWF5IGhhdmUKICAgICAgICAgICByb3VuZGVkIGNvcm5lcnMpLiBTZWU6IGh0dHA6Ly9qc2Jpbi5jb20vdGVtZXhhLzQKCiAgICAgICAgICAgTm90ZTogV2Ugb25seSBhcHBseSB0aGlzIHN0eWxlIGNvbmRpdGlvbmFsbHkuIE90aGVyd2lzZSwgdGhlIGJyb3dzZXIKICAgICAgICAgICB3aWxsIGNyZWF0ZSBhIG5ldyBjb21wb3NpdGluZyBsYXllciBmb3IgZXZlcnkgcmlwcGxlIGVsZW1lbnQgb24gdGhlCiAgICAgICAgICAgcGFnZSwgYW5kIHRoYXQgd291bGQgYmUgYmFkLiAqLwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgICAgfQoKICAgICAgI2JhY2tncm91bmQsCiAgICAgICN3YXZlcywKICAgICAgLndhdmUtY29udGFpbmVyLAogICAgICAud2F2ZSB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgI2JhY2tncm91bmQsCiAgICAgIC53YXZlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAjd2F2ZXMsCiAgICAgIC53YXZlIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAud2F2ZS1jb250YWluZXIsCiAgICAgIC53YXZlIHsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIDpob3N0KC5jaXJjbGUpICNiYWNrZ3JvdW5kLAogICAgICA6aG9zdCguY2lyY2xlKSAjd2F2ZXMgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgOmhvc3QoLmNpcmNsZSkgLndhdmUtY29udGFpbmVyIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9ImJhY2tncm91bmQiPjwvZGl2PgogICAgPGRpdiBpZD0id2F2ZXMiPjwvZGl2PgpgLGlzOiJwYXBlci1yaXBwbGUiLGJlaGF2aW9yczpbWG9dLHByb3BlcnRpZXM6e2luaXRpYWxPcGFjaXR5Ont0eXBlOk51bWJlcix2YWx1ZTouMjV9LG9wYWNpdHlEZWNheVZlbG9jaXR5Ont0eXBlOk51bWJlcix2YWx1ZTouOH0scmVjZW50ZXJzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGNlbnRlcjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxyaXBwbGVzOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fSxhbmltYXRpbmc6e3R5cGU6Qm9vbGVhbixyZWFkT25seTohMCxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdmFsdWU6ITF9LGhvbGREb3duOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9ob2xkRG93bkNoYW5nZWQifSxub2luazp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfYW5pbWF0aW5nOnt0eXBlOkJvb2xlYW59LF9ib3VuZEFuaW1hdGU6e3R5cGU6RnVuY3Rpb24sdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hbmltYXRlLmJpbmQodGhpcyl9fX0sZ2V0IHRhcmdldCgpe3JldHVybiB0aGlzLmtleUV2ZW50VGFyZ2V0fSxrZXlCaW5kaW5nczp7ImVudGVyOmtleWRvd24iOiJfb25FbnRlcktleWRvd24iLCJzcGFjZTprZXlkb3duIjoiX29uU3BhY2VLZXlkb3duIiwic3BhY2U6a2V5dXAiOiJfb25TcGFjZUtleXVwIn0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmtleUV2ZW50VGFyZ2V0PTExPT1lcih0aGlzKS5wYXJlbnROb2RlLm5vZGVUeXBlP2VyKHRoaXMpLmdldE93bmVyUm9vdCgpLmhvc3Q6ZXIodGhpcykucGFyZW50Tm9kZTt2YXIgdD10aGlzLmtleUV2ZW50VGFyZ2V0O3RoaXMubGlzdGVuKHQsInVwIiwidWlVcEFjdGlvbiIpLHRoaXMubGlzdGVuKHQsImRvd24iLCJ1aURvd25BY3Rpb24iKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnVubGlzdGVuKHRoaXMua2V5RXZlbnRUYXJnZXQsInVwIiwidWlVcEFjdGlvbiIpLHRoaXMudW5saXN0ZW4odGhpcy5rZXlFdmVudFRhcmdldCwiZG93biIsInVpRG93bkFjdGlvbiIpLHRoaXMua2V5RXZlbnRUYXJnZXQ9bnVsbH0sZ2V0IHNob3VsZEtlZXBBbmltYXRpbmcoKXtmb3IodmFyIHQ9MDt0PHRoaXMucmlwcGxlcy5sZW5ndGg7Kyt0KWlmKCF0aGlzLnJpcHBsZXNbdF0uaXNBbmltYXRpb25Db21wbGV0ZSlyZXR1cm4hMDtyZXR1cm4hMX0sc2ltdWxhdGVkUmlwcGxlOmZ1bmN0aW9uKCl7dGhpcy5kb3duQWN0aW9uKG51bGwpLHRoaXMuYXN5bmMoKGZ1bmN0aW9uKCl7dGhpcy51cEFjdGlvbigpfSksMSl9LHVpRG93bkFjdGlvbjpmdW5jdGlvbih0KXt0aGlzLm5vaW5rfHx0aGlzLmRvd25BY3Rpb24odCl9LGRvd25BY3Rpb246ZnVuY3Rpb24odCl7dGhpcy5ob2xkRG93biYmdGhpcy5yaXBwbGVzLmxlbmd0aD4wfHwodGhpcy5hZGRSaXBwbGUoKS5kb3duQWN0aW9uKHQpLHRoaXMuX2FuaW1hdGluZ3x8KHRoaXMuX2FuaW1hdGluZz0hMCx0aGlzLmFuaW1hdGUoKSkpfSx1aVVwQWN0aW9uOmZ1bmN0aW9uKHQpe3RoaXMubm9pbmt8fHRoaXMudXBBY3Rpb24odCl9LHVwQWN0aW9uOmZ1bmN0aW9uKHQpe3RoaXMuaG9sZERvd258fCh0aGlzLnJpcHBsZXMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS51cEFjdGlvbih0KX0pKSx0aGlzLl9hbmltYXRpbmc9ITAsdGhpcy5hbmltYXRlKCkpfSxvbkFuaW1hdGlvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7dGhpcy5fYW5pbWF0aW5nPSExLHRoaXMuJC5iYWNrZ3JvdW5kLnN0eWxlLmJhY2tncm91bmRDb2xvcj0iIix0aGlzLmZpcmUoInRyYW5zaXRpb25lbmQiKX0sYWRkUmlwcGxlOmZ1bmN0aW9uKCl7dmFyIHQ9bmV3IGNhKHRoaXMpO3JldHVybiBlcih0aGlzLiQud2F2ZXMpLmFwcGVuZENoaWxkKHQud2F2ZUNvbnRhaW5lciksdGhpcy4kLmJhY2tncm91bmQuc3R5bGUuYmFja2dyb3VuZENvbG9yPXQuY29sb3IsdGhpcy5yaXBwbGVzLnB1c2godCksdGhpcy5fc2V0QW5pbWF0aW5nKCEwKSx0fSxyZW1vdmVSaXBwbGU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5yaXBwbGVzLmluZGV4T2YodCk7ZTwwfHwodGhpcy5yaXBwbGVzLnNwbGljZShlLDEpLHQucmVtb3ZlKCksdGhpcy5yaXBwbGVzLmxlbmd0aHx8dGhpcy5fc2V0QW5pbWF0aW5nKCExKSl9LGFuaW1hdGU6ZnVuY3Rpb24oKXtpZih0aGlzLl9hbmltYXRpbmcpe3ZhciB0LGU7Zm9yKHQ9MDt0PHRoaXMucmlwcGxlcy5sZW5ndGg7Kyt0KShlPXRoaXMucmlwcGxlc1t0XSkuZHJhdygpLHRoaXMuJC5iYWNrZ3JvdW5kLnN0eWxlLm9wYWNpdHk9ZS5vdXRlck9wYWNpdHksZS5pc09wYWNpdHlGdWxseURlY2F5ZWQmJiFlLmlzUmVzdGluZ0F0TWF4UmFkaXVzJiZ0aGlzLnJlbW92ZVJpcHBsZShlKTt0aGlzLnNob3VsZEtlZXBBbmltYXRpbmd8fDAhPT10aGlzLnJpcHBsZXMubGVuZ3RoP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5fYm91bmRBbmltYXRlKTp0aGlzLm9uQW5pbWF0aW9uQ29tcGxldGUoKX19LGFuaW1hdGVSaXBwbGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hbmltYXRlKCl9LF9vbkVudGVyS2V5ZG93bjpmdW5jdGlvbigpe3RoaXMudWlEb3duQWN0aW9uKCksdGhpcy5hc3luYyh0aGlzLnVpVXBBY3Rpb24sMSl9LF9vblNwYWNlS2V5ZG93bjpmdW5jdGlvbigpe3RoaXMudWlEb3duQWN0aW9uKCl9LF9vblNwYWNlS2V5dXA6ZnVuY3Rpb24oKXt0aGlzLnVpVXBBY3Rpb24oKX0sX2hvbGREb3duQ2hhbmdlZDpmdW5jdGlvbih0LGUpe3ZvaWQgMCE9PWUmJih0P3RoaXMuZG93bkFjdGlvbigpOnRoaXMudXBBY3Rpb24oKSl9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCB1YT17cHJvcGVydGllczp7bm9pbms6e3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX25vaW5rQ2hhbmdlZCJ9LF9yaXBwbGVDb250YWluZXI6e3R5cGU6T2JqZWN0fX0sX2J1dHRvblN0YXRlQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuZm9jdXNlZCYmdGhpcy5lbnN1cmVSaXBwbGUoKX0sX2Rvd25IYW5kbGVyOmZ1bmN0aW9uKHQpe29hLl9kb3duSGFuZGxlci5jYWxsKHRoaXMsdCksdGhpcy5wcmVzc2VkJiZ0aGlzLmVuc3VyZVJpcHBsZSh0KX0sZW5zdXJlUmlwcGxlOmZ1bmN0aW9uKHQpe2lmKCF0aGlzLmhhc1JpcHBsZSgpKXt0aGlzLl9yaXBwbGU9dGhpcy5fY3JlYXRlUmlwcGxlKCksdGhpcy5fcmlwcGxlLm5vaW5rPXRoaXMubm9pbms7dmFyIGU9dGhpcy5fcmlwcGxlQ29udGFpbmVyfHx0aGlzLnJvb3Q7aWYoZSYmZXIoZSkuYXBwZW5kQ2hpbGQodGhpcy5fcmlwcGxlKSx0KXt2YXIgbj1lcih0aGlzLl9yaXBwbGVDb250YWluZXJ8fHRoaXMpLGk9ZXIodCkucm9vdFRhcmdldDtuLmRlZXBDb250YWlucyhpKSYmdGhpcy5fcmlwcGxlLnVpRG93bkFjdGlvbih0KX19fSxnZXRSaXBwbGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbnN1cmVSaXBwbGUoKSx0aGlzLl9yaXBwbGV9LGhhc1JpcHBsZTpmdW5jdGlvbigpe3JldHVybiBCb29sZWFuKHRoaXMuX3JpcHBsZSl9LF9jcmVhdGVSaXBwbGU6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicGFwZXItcmlwcGxlIil9LF9ub2lua0NoYW5nZWQ6ZnVuY3Rpb24odCl7dGhpcy5oYXNSaXBwbGUoKSYmKHRoaXMuX3JpcHBsZS5ub2luaz10KX19LGhhPXtwcm9wZXJ0aWVzOntlbGV2YXRpb246e3R5cGU6TnVtYmVyLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxyZWFkT25seTohMH19LG9ic2VydmVyczpbIl9jYWxjdWxhdGVFbGV2YXRpb24oZm9jdXNlZCwgZGlzYWJsZWQsIGFjdGl2ZSwgcHJlc3NlZCwgcmVjZWl2ZWRGb2N1c0Zyb21LZXlib2FyZCkiLCJfY29tcHV0ZUtleWJvYXJkQ2xhc3MocmVjZWl2ZWRGb2N1c0Zyb21LZXlib2FyZCkiXSxob3N0QXR0cmlidXRlczp7cm9sZToiYnV0dG9uIix0YWJpbmRleDoiMCIsYW5pbWF0ZWQ6ITB9LF9jYWxjdWxhdGVFbGV2YXRpb246ZnVuY3Rpb24oKXt2YXIgdD0xO3RoaXMuZGlzYWJsZWQ/dD0wOnRoaXMuYWN0aXZlfHx0aGlzLnByZXNzZWQ/dD00OnRoaXMucmVjZWl2ZWRGb2N1c0Zyb21LZXlib2FyZCYmKHQ9MyksdGhpcy5fc2V0RWxldmF0aW9uKHQpfSxfY29tcHV0ZUtleWJvYXJkQ2xhc3M6ZnVuY3Rpb24odCl7dGhpcy50b2dnbGVDbGFzcygia2V5Ym9hcmQtZm9jdXMiLHQpfSxfc3BhY2VLZXlEb3duSGFuZGxlcjpmdW5jdGlvbih0KXtvYS5fc3BhY2VLZXlEb3duSGFuZGxlci5jYWxsKHRoaXMsdCksdGhpcy5oYXNSaXBwbGUoKSYmdGhpcy5nZXRSaXBwbGUoKS5yaXBwbGVzLmxlbmd0aDwxJiZ0aGlzLl9yaXBwbGUudWlEb3duQWN0aW9uKCl9LF9zcGFjZUtleVVwSGFuZGxlcjpmdW5jdGlvbih0KXtvYS5fc3BhY2VLZXlVcEhhbmRsZXIuY2FsbCh0aGlzLHQpLHRoaXMuaGFzUmlwcGxlKCkmJnRoaXMuX3JpcHBsZS51aVVwQWN0aW9uKCl9fSxkYT1bYWEscmEsdWEsaGFdLHBhPXhlYAogIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1tYXRlcmlhbC1zdHlsZXMiPgogICAgLyogTmVlZCB0byBzcGVjaWZ5IHRoZSBzYW1lIHNwZWNpZmljaXR5IGFzIHRoZSBzdHlsZXMgaW1wb3J0ZWQgZnJvbSBwYXBlci1tYXRlcmlhbC4gKi8KICAgIDpob3N0IHsKICAgICAgQGFwcGx5IC0tbGF5b3V0LWlubGluZTsKICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlci1jZW50ZXI7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgbWluLXdpZHRoOiA1LjE0ZW07CiAgICAgIG1hcmdpbjogMCAwLjI5ZW07CiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIGZvbnQ6IGluaGVyaXQ7CiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgIG91dGxpbmUtd2lkdGg6IDA7CiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB6LWluZGV4OiAwOwogICAgICBwYWRkaW5nOiAwLjdlbSAwLjU3ZW07CgogICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICBAYXBwbHkgLS1wYXBlci1idXR0b247CiAgICB9CgogICAgOmhvc3QoW2VsZXZhdGlvbj0iMSJdKSB7CiAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0xOwogICAgfQoKICAgIDpob3N0KFtlbGV2YXRpb249IjIiXSkgewogICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMjsKICAgIH0KCiAgICA6aG9zdChbZWxldmF0aW9uPSIzIl0pIHsKICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTM7CiAgICB9CgogICAgOmhvc3QoW2VsZXZhdGlvbj0iNCJdKSB7CiAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi00OwogICAgfQoKICAgIDpob3N0KFtlbGV2YXRpb249IjUiXSkgewogICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tNTsKICAgIH0KCiAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICB9CgogICAgOmhvc3QoW3JhaXNlZF0ua2V5Ym9hcmQtZm9jdXMpIHsKICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIEBhcHBseSAtLXBhcGVyLWJ1dHRvbi1yYWlzZWQta2V5Ym9hcmQtZm9jdXM7CiAgICB9CgogICAgOmhvc3QoOm5vdChbcmFpc2VkXSkua2V5Ym9hcmQtZm9jdXMpIHsKICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIEBhcHBseSAtLXBhcGVyLWJ1dHRvbi1mbGF0LWtleWJvYXJkLWZvY3VzOwogICAgfQoKICAgIDpob3N0KFtkaXNhYmxlZF0pIHsKICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgY29sb3I6ICNhOGE4YTg7CiAgICAgIGN1cnNvcjogYXV0bzsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CgogICAgICBAYXBwbHkgLS1wYXBlci1idXR0b24tZGlzYWJsZWQ7CiAgICB9CgogICAgOmhvc3QoW2Rpc2FibGVkXVtyYWlzZWRdKSB7CiAgICAgIGJhY2tncm91bmQ6ICNlYWVhZWE7CiAgICB9CgoKICAgIDpob3N0KFthbmltYXRlZF0pIHsKICAgICAgQGFwcGx5IC0tc2hhZG93LXRyYW5zaXRpb247CiAgICB9CgogICAgcGFwZXItcmlwcGxlIHsKICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWJ1dHRvbi1pbmstY29sb3IpOwogICAgfQogIDwvc3R5bGU+CgogIDxzbG90Pjwvc2xvdD5gOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9wYS5zZXRBdHRyaWJ1dGUoInN0cmlwLXdoaXRlc3BhY2UiLCIiKSxqcih7X3RlbXBsYXRlOnBhLGlzOiJwYXBlci1idXR0b24iLGJlaGF2aW9yczpbZGFdLHByb3BlcnRpZXM6e3JhaXNlZDp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCx2YWx1ZTohMSxvYnNlcnZlcjoiX2NhbGN1bGF0ZUVsZXZhdGlvbiJ9fSxfY2FsY3VsYXRlRWxldmF0aW9uOmZ1bmN0aW9uKCl7dGhpcy5yYWlzZWQ/aGEuX2NhbGN1bGF0ZUVsZXZhdGlvbi5hcHBseSh0aGlzKTp0aGlzLl9zZXRFbGV2YXRpb24oMCl9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBmYT14ZWAKPGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBodG1sIHsKCiAgICAgIC8qIE1hdGVyaWFsIERlc2lnbiBjb2xvciBwYWxldHRlIGZvciBHb29nbGUgcHJvZHVjdHMgKi8KCiAgICAgIC0tZ29vZ2xlLXJlZC0xMDA6ICNmNGM3YzM7CiAgICAgIC0tZ29vZ2xlLXJlZC0zMDA6ICNlNjdjNzM7CiAgICAgIC0tZ29vZ2xlLXJlZC01MDA6ICNkYjQ0Mzc7CiAgICAgIC0tZ29vZ2xlLXJlZC03MDA6ICNjNTM5Mjk7CgogICAgICAtLWdvb2dsZS1ibHVlLTEwMDogI2M2ZGFmYzsKICAgICAgLS1nb29nbGUtYmx1ZS0zMDA6ICM3YmFhZjc7CiAgICAgIC0tZ29vZ2xlLWJsdWUtNTAwOiAjNDI4NWY0OwogICAgICAtLWdvb2dsZS1ibHVlLTcwMDogIzMzNjdkNjsKCiAgICAgIC0tZ29vZ2xlLWdyZWVuLTEwMDogI2I3ZTFjZDsKICAgICAgLS1nb29nbGUtZ3JlZW4tMzAwOiAjNTdiYjhhOwogICAgICAtLWdvb2dsZS1ncmVlbi01MDA6ICMwZjlkNTg7CiAgICAgIC0tZ29vZ2xlLWdyZWVuLTcwMDogIzBiODA0MzsKCiAgICAgIC0tZ29vZ2xlLXllbGxvdy0xMDA6ICNmY2U4YjI7CiAgICAgIC0tZ29vZ2xlLXllbGxvdy0zMDA6ICNmN2NiNGQ7CiAgICAgIC0tZ29vZ2xlLXllbGxvdy01MDA6ICNmNGI0MDA7CiAgICAgIC0tZ29vZ2xlLXllbGxvdy03MDA6ICNmMDkzMDA7CgogICAgICAtLWdvb2dsZS1ncmV5LTEwMDogI2Y1ZjVmNTsKICAgICAgLS1nb29nbGUtZ3JleS0zMDA6ICNlMGUwZTA7CiAgICAgIC0tZ29vZ2xlLWdyZXktNTAwOiAjOWU5ZTllOwogICAgICAtLWdvb2dsZS1ncmV5LTcwMDogIzYxNjE2MTsKCiAgICAgIC8qIE1hdGVyaWFsIERlc2lnbiBjb2xvciBwYWxldHRlIGZyb20gb25saW5lIHNwZWMgZG9jdW1lbnQgKi8KCiAgICAgIC0tcGFwZXItcmVkLTUwOiAjZmZlYmVlOwogICAgICAtLXBhcGVyLXJlZC0xMDA6ICNmZmNkZDI7CiAgICAgIC0tcGFwZXItcmVkLTIwMDogI2VmOWE5YTsKICAgICAgLS1wYXBlci1yZWQtMzAwOiAjZTU3MzczOwogICAgICAtLXBhcGVyLXJlZC00MDA6ICNlZjUzNTA7CiAgICAgIC0tcGFwZXItcmVkLTUwMDogI2Y0NDMzNjsKICAgICAgLS1wYXBlci1yZWQtNjAwOiAjZTUzOTM1OwogICAgICAtLXBhcGVyLXJlZC03MDA6ICNkMzJmMmY7CiAgICAgIC0tcGFwZXItcmVkLTgwMDogI2M2MjgyODsKICAgICAgLS1wYXBlci1yZWQtOTAwOiAjYjcxYzFjOwogICAgICAtLXBhcGVyLXJlZC1hMTAwOiAjZmY4YTgwOwogICAgICAtLXBhcGVyLXJlZC1hMjAwOiAjZmY1MjUyOwogICAgICAtLXBhcGVyLXJlZC1hNDAwOiAjZmYxNzQ0OwogICAgICAtLXBhcGVyLXJlZC1hNzAwOiAjZDUwMDAwOwoKICAgICAgLS1wYXBlci1waW5rLTUwOiAjZmNlNGVjOwogICAgICAtLXBhcGVyLXBpbmstMTAwOiAjZjhiYmQwOwogICAgICAtLXBhcGVyLXBpbmstMjAwOiAjZjQ4ZmIxOwogICAgICAtLXBhcGVyLXBpbmstMzAwOiAjZjA2MjkyOwogICAgICAtLXBhcGVyLXBpbmstNDAwOiAjZWM0MDdhOwogICAgICAtLXBhcGVyLXBpbmstNTAwOiAjZTkxZTYzOwogICAgICAtLXBhcGVyLXBpbmstNjAwOiAjZDgxYjYwOwogICAgICAtLXBhcGVyLXBpbmstNzAwOiAjYzIxODViOwogICAgICAtLXBhcGVyLXBpbmstODAwOiAjYWQxNDU3OwogICAgICAtLXBhcGVyLXBpbmstOTAwOiAjODgwZTRmOwogICAgICAtLXBhcGVyLXBpbmstYTEwMDogI2ZmODBhYjsKICAgICAgLS1wYXBlci1waW5rLWEyMDA6ICNmZjQwODE7CiAgICAgIC0tcGFwZXItcGluay1hNDAwOiAjZjUwMDU3OwogICAgICAtLXBhcGVyLXBpbmstYTcwMDogI2M1MTE2MjsKCiAgICAgIC0tcGFwZXItcHVycGxlLTUwOiAjZjNlNWY1OwogICAgICAtLXBhcGVyLXB1cnBsZS0xMDA6ICNlMWJlZTc7CiAgICAgIC0tcGFwZXItcHVycGxlLTIwMDogI2NlOTNkODsKICAgICAgLS1wYXBlci1wdXJwbGUtMzAwOiAjYmE2OGM4OwogICAgICAtLXBhcGVyLXB1cnBsZS00MDA6ICNhYjQ3YmM7CiAgICAgIC0tcGFwZXItcHVycGxlLTUwMDogIzljMjdiMDsKICAgICAgLS1wYXBlci1wdXJwbGUtNjAwOiAjOGUyNGFhOwogICAgICAtLXBhcGVyLXB1cnBsZS03MDA6ICM3YjFmYTI7CiAgICAgIC0tcGFwZXItcHVycGxlLTgwMDogIzZhMWI5YTsKICAgICAgLS1wYXBlci1wdXJwbGUtOTAwOiAjNGExNDhjOwogICAgICAtLXBhcGVyLXB1cnBsZS1hMTAwOiAjZWE4MGZjOwogICAgICAtLXBhcGVyLXB1cnBsZS1hMjAwOiAjZTA0MGZiOwogICAgICAtLXBhcGVyLXB1cnBsZS1hNDAwOiAjZDUwMGY5OwogICAgICAtLXBhcGVyLXB1cnBsZS1hNzAwOiAjYWEwMGZmOwoKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS01MDogI2VkZTdmNjsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS0xMDA6ICNkMWM0ZTk7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtMjAwOiAjYjM5ZGRiOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTMwMDogIzk1NzVjZDsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS00MDA6ICM3ZTU3YzI7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtNTAwOiAjNjczYWI3OwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTYwMDogIzVlMzViMTsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS03MDA6ICM1MTJkYTg7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtODAwOiAjNDUyN2EwOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTkwMDogIzMxMWI5MjsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS1hMTAwOiAjYjM4OGZmOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLWEyMDA6ICM3YzRkZmY7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtYTQwMDogIzY1MWZmZjsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS1hNzAwOiAjNjIwMGVhOwoKICAgICAgLS1wYXBlci1pbmRpZ28tNTA6ICNlOGVhZjY7CiAgICAgIC0tcGFwZXItaW5kaWdvLTEwMDogI2M1Y2FlOTsKICAgICAgLS1wYXBlci1pbmRpZ28tMjAwOiAjOWZhOGRhOwogICAgICAtLXBhcGVyLWluZGlnby0zMDA6ICM3OTg2Y2I7CiAgICAgIC0tcGFwZXItaW5kaWdvLTQwMDogIzVjNmJjMDsKICAgICAgLS1wYXBlci1pbmRpZ28tNTAwOiAjM2Y1MWI1OwogICAgICAtLXBhcGVyLWluZGlnby02MDA6ICMzOTQ5YWI7CiAgICAgIC0tcGFwZXItaW5kaWdvLTcwMDogIzMwM2Y5ZjsKICAgICAgLS1wYXBlci1pbmRpZ28tODAwOiAjMjgzNTkzOwogICAgICAtLXBhcGVyLWluZGlnby05MDA6ICMxYTIzN2U7CiAgICAgIC0tcGFwZXItaW5kaWdvLWExMDA6ICM4YzllZmY7CiAgICAgIC0tcGFwZXItaW5kaWdvLWEyMDA6ICM1MzZkZmU7CiAgICAgIC0tcGFwZXItaW5kaWdvLWE0MDA6ICMzZDVhZmU7CiAgICAgIC0tcGFwZXItaW5kaWdvLWE3MDA6ICMzMDRmZmU7CgogICAgICAtLXBhcGVyLWJsdWUtNTA6ICNlM2YyZmQ7CiAgICAgIC0tcGFwZXItYmx1ZS0xMDA6ICNiYmRlZmI7CiAgICAgIC0tcGFwZXItYmx1ZS0yMDA6ICM5MGNhZjk7CiAgICAgIC0tcGFwZXItYmx1ZS0zMDA6ICM2NGI1ZjY7CiAgICAgIC0tcGFwZXItYmx1ZS00MDA6ICM0MmE1ZjU7CiAgICAgIC0tcGFwZXItYmx1ZS01MDA6ICMyMTk2ZjM7CiAgICAgIC0tcGFwZXItYmx1ZS02MDA6ICMxZTg4ZTU7CiAgICAgIC0tcGFwZXItYmx1ZS03MDA6ICMxOTc2ZDI7CiAgICAgIC0tcGFwZXItYmx1ZS04MDA6ICMxNTY1YzA7CiAgICAgIC0tcGFwZXItYmx1ZS05MDA6ICMwZDQ3YTE7CiAgICAgIC0tcGFwZXItYmx1ZS1hMTAwOiAjODJiMWZmOwogICAgICAtLXBhcGVyLWJsdWUtYTIwMDogIzQ0OGFmZjsKICAgICAgLS1wYXBlci1ibHVlLWE0MDA6ICMyOTc5ZmY7CiAgICAgIC0tcGFwZXItYmx1ZS1hNzAwOiAjMjk2MmZmOwoKICAgICAgLS1wYXBlci1saWdodC1ibHVlLTUwOiAjZTFmNWZlOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtMTAwOiAjYjNlNWZjOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtMjAwOiAjODFkNGZhOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtMzAwOiAjNGZjM2Y3OwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtNDAwOiAjMjliNmY2OwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtNTAwOiAjMDNhOWY0OwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtNjAwOiAjMDM5YmU1OwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtNzAwOiAjMDI4OGQxOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtODAwOiAjMDI3N2JkOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtOTAwOiAjMDE1NzliOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtYTEwMDogIzgwZDhmZjsKICAgICAgLS1wYXBlci1saWdodC1ibHVlLWEyMDA6ICM0MGM0ZmY7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS1hNDAwOiAjMDBiMGZmOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtYTcwMDogIzAwOTFlYTsKCiAgICAgIC0tcGFwZXItY3lhbi01MDogI2UwZjdmYTsKICAgICAgLS1wYXBlci1jeWFuLTEwMDogI2IyZWJmMjsKICAgICAgLS1wYXBlci1jeWFuLTIwMDogIzgwZGVlYTsKICAgICAgLS1wYXBlci1jeWFuLTMwMDogIzRkZDBlMTsKICAgICAgLS1wYXBlci1jeWFuLTQwMDogIzI2YzZkYTsKICAgICAgLS1wYXBlci1jeWFuLTUwMDogIzAwYmNkNDsKICAgICAgLS1wYXBlci1jeWFuLTYwMDogIzAwYWNjMTsKICAgICAgLS1wYXBlci1jeWFuLTcwMDogIzAwOTdhNzsKICAgICAgLS1wYXBlci1jeWFuLTgwMDogIzAwODM4ZjsKICAgICAgLS1wYXBlci1jeWFuLTkwMDogIzAwNjA2NDsKICAgICAgLS1wYXBlci1jeWFuLWExMDA6ICM4NGZmZmY7CiAgICAgIC0tcGFwZXItY3lhbi1hMjAwOiAjMThmZmZmOwogICAgICAtLXBhcGVyLWN5YW4tYTQwMDogIzAwZTVmZjsKICAgICAgLS1wYXBlci1jeWFuLWE3MDA6ICMwMGI4ZDQ7CgogICAgICAtLXBhcGVyLXRlYWwtNTA6ICNlMGYyZjE7CiAgICAgIC0tcGFwZXItdGVhbC0xMDA6ICNiMmRmZGI7CiAgICAgIC0tcGFwZXItdGVhbC0yMDA6ICM4MGNiYzQ7CiAgICAgIC0tcGFwZXItdGVhbC0zMDA6ICM0ZGI2YWM7CiAgICAgIC0tcGFwZXItdGVhbC00MDA6ICMyNmE2OWE7CiAgICAgIC0tcGFwZXItdGVhbC01MDA6ICMwMDk2ODg7CiAgICAgIC0tcGFwZXItdGVhbC02MDA6ICMwMDg5N2I7CiAgICAgIC0tcGFwZXItdGVhbC03MDA6ICMwMDc5NmI7CiAgICAgIC0tcGFwZXItdGVhbC04MDA6ICMwMDY5NWM7CiAgICAgIC0tcGFwZXItdGVhbC05MDA6ICMwMDRkNDA7CiAgICAgIC0tcGFwZXItdGVhbC1hMTAwOiAjYTdmZmViOwogICAgICAtLXBhcGVyLXRlYWwtYTIwMDogIzY0ZmZkYTsKICAgICAgLS1wYXBlci10ZWFsLWE0MDA6ICMxZGU5YjY7CiAgICAgIC0tcGFwZXItdGVhbC1hNzAwOiAjMDBiZmE1OwoKICAgICAgLS1wYXBlci1ncmVlbi01MDogI2U4ZjVlOTsKICAgICAgLS1wYXBlci1ncmVlbi0xMDA6ICNjOGU2Yzk7CiAgICAgIC0tcGFwZXItZ3JlZW4tMjAwOiAjYTVkNmE3OwogICAgICAtLXBhcGVyLWdyZWVuLTMwMDogIzgxYzc4NDsKICAgICAgLS1wYXBlci1ncmVlbi00MDA6ICM2NmJiNmE7CiAgICAgIC0tcGFwZXItZ3JlZW4tNTAwOiAjNGNhZjUwOwogICAgICAtLXBhcGVyLWdyZWVuLTYwMDogIzQzYTA0NzsKICAgICAgLS1wYXBlci1ncmVlbi03MDA6ICMzODhlM2M7CiAgICAgIC0tcGFwZXItZ3JlZW4tODAwOiAjMmU3ZDMyOwogICAgICAtLXBhcGVyLWdyZWVuLTkwMDogIzFiNWUyMDsKICAgICAgLS1wYXBlci1ncmVlbi1hMTAwOiAjYjlmNmNhOwogICAgICAtLXBhcGVyLWdyZWVuLWEyMDA6ICM2OWYwYWU7CiAgICAgIC0tcGFwZXItZ3JlZW4tYTQwMDogIzAwZTY3NjsKICAgICAgLS1wYXBlci1ncmVlbi1hNzAwOiAjMDBjODUzOwoKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi01MDogI2YxZjhlOTsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi0xMDA6ICNkY2VkYzg7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tMjAwOiAjYzVlMWE1OwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTMwMDogI2FlZDU4MTsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi00MDA6ICM5Y2NjNjU7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tNTAwOiAjOGJjMzRhOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTYwMDogIzdjYjM0MjsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi03MDA6ICM2ODlmMzg7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tODAwOiAjNTU4YjJmOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTkwMDogIzMzNjkxZTsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi1hMTAwOiAjY2NmZjkwOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLWEyMDA6ICNiMmZmNTk7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tYTQwMDogIzc2ZmYwMzsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi1hNzAwOiAjNjRkZDE3OwoKICAgICAgLS1wYXBlci1saW1lLTUwOiAjZjlmYmU3OwogICAgICAtLXBhcGVyLWxpbWUtMTAwOiAjZjBmNGMzOwogICAgICAtLXBhcGVyLWxpbWUtMjAwOiAjZTZlZTljOwogICAgICAtLXBhcGVyLWxpbWUtMzAwOiAjZGNlNzc1OwogICAgICAtLXBhcGVyLWxpbWUtNDAwOiAjZDRlMTU3OwogICAgICAtLXBhcGVyLWxpbWUtNTAwOiAjY2RkYzM5OwogICAgICAtLXBhcGVyLWxpbWUtNjAwOiAjYzBjYTMzOwogICAgICAtLXBhcGVyLWxpbWUtNzAwOiAjYWZiNDJiOwogICAgICAtLXBhcGVyLWxpbWUtODAwOiAjOWU5ZDI0OwogICAgICAtLXBhcGVyLWxpbWUtOTAwOiAjODI3NzE3OwogICAgICAtLXBhcGVyLWxpbWUtYTEwMDogI2Y0ZmY4MTsKICAgICAgLS1wYXBlci1saW1lLWEyMDA6ICNlZWZmNDE7CiAgICAgIC0tcGFwZXItbGltZS1hNDAwOiAjYzZmZjAwOwogICAgICAtLXBhcGVyLWxpbWUtYTcwMDogI2FlZWEwMDsKCiAgICAgIC0tcGFwZXIteWVsbG93LTUwOiAjZmZmZGU3OwogICAgICAtLXBhcGVyLXllbGxvdy0xMDA6ICNmZmY5YzQ7CiAgICAgIC0tcGFwZXIteWVsbG93LTIwMDogI2ZmZjU5ZDsKICAgICAgLS1wYXBlci15ZWxsb3ctMzAwOiAjZmZmMTc2OwogICAgICAtLXBhcGVyLXllbGxvdy00MDA6ICNmZmVlNTg7CiAgICAgIC0tcGFwZXIteWVsbG93LTUwMDogI2ZmZWIzYjsKICAgICAgLS1wYXBlci15ZWxsb3ctNjAwOiAjZmRkODM1OwogICAgICAtLXBhcGVyLXllbGxvdy03MDA6ICNmYmMwMmQ7CiAgICAgIC0tcGFwZXIteWVsbG93LTgwMDogI2Y5YTgyNTsKICAgICAgLS1wYXBlci15ZWxsb3ctOTAwOiAjZjU3ZjE3OwogICAgICAtLXBhcGVyLXllbGxvdy1hMTAwOiAjZmZmZjhkOwogICAgICAtLXBhcGVyLXllbGxvdy1hMjAwOiAjZmZmZjAwOwogICAgICAtLXBhcGVyLXllbGxvdy1hNDAwOiAjZmZlYTAwOwogICAgICAtLXBhcGVyLXllbGxvdy1hNzAwOiAjZmZkNjAwOwoKICAgICAgLS1wYXBlci1hbWJlci01MDogI2ZmZjhlMTsKICAgICAgLS1wYXBlci1hbWJlci0xMDA6ICNmZmVjYjM7CiAgICAgIC0tcGFwZXItYW1iZXItMjAwOiAjZmZlMDgyOwogICAgICAtLXBhcGVyLWFtYmVyLTMwMDogI2ZmZDU0ZjsKICAgICAgLS1wYXBlci1hbWJlci00MDA6ICNmZmNhMjg7CiAgICAgIC0tcGFwZXItYW1iZXItNTAwOiAjZmZjMTA3OwogICAgICAtLXBhcGVyLWFtYmVyLTYwMDogI2ZmYjMwMDsKICAgICAgLS1wYXBlci1hbWJlci03MDA6ICNmZmEwMDA7CiAgICAgIC0tcGFwZXItYW1iZXItODAwOiAjZmY4ZjAwOwogICAgICAtLXBhcGVyLWFtYmVyLTkwMDogI2ZmNmYwMDsKICAgICAgLS1wYXBlci1hbWJlci1hMTAwOiAjZmZlNTdmOwogICAgICAtLXBhcGVyLWFtYmVyLWEyMDA6ICNmZmQ3NDA7CiAgICAgIC0tcGFwZXItYW1iZXItYTQwMDogI2ZmYzQwMDsKICAgICAgLS1wYXBlci1hbWJlci1hNzAwOiAjZmZhYjAwOwoKICAgICAgLS1wYXBlci1vcmFuZ2UtNTA6ICNmZmYzZTA7CiAgICAgIC0tcGFwZXItb3JhbmdlLTEwMDogI2ZmZTBiMjsKICAgICAgLS1wYXBlci1vcmFuZ2UtMjAwOiAjZmZjYzgwOwogICAgICAtLXBhcGVyLW9yYW5nZS0zMDA6ICNmZmI3NGQ7CiAgICAgIC0tcGFwZXItb3JhbmdlLTQwMDogI2ZmYTcyNjsKICAgICAgLS1wYXBlci1vcmFuZ2UtNTAwOiAjZmY5ODAwOwogICAgICAtLXBhcGVyLW9yYW5nZS02MDA6ICNmYjhjMDA7CiAgICAgIC0tcGFwZXItb3JhbmdlLTcwMDogI2Y1N2MwMDsKICAgICAgLS1wYXBlci1vcmFuZ2UtODAwOiAjZWY2YzAwOwogICAgICAtLXBhcGVyLW9yYW5nZS05MDA6ICNlNjUxMDA7CiAgICAgIC0tcGFwZXItb3JhbmdlLWExMDA6ICNmZmQxODA7CiAgICAgIC0tcGFwZXItb3JhbmdlLWEyMDA6ICNmZmFiNDA7CiAgICAgIC0tcGFwZXItb3JhbmdlLWE0MDA6ICNmZjkxMDA7CiAgICAgIC0tcGFwZXItb3JhbmdlLWE3MDA6ICNmZjY1MDA7CgogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTUwOiAjZmJlOWU3OwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTEwMDogI2ZmY2NiYzsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS0yMDA6ICNmZmFiOTE7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtMzAwOiAjZmY4YTY1OwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTQwMDogI2ZmNzA0MzsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS01MDA6ICNmZjU3MjI7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtNjAwOiAjZjQ1MTFlOwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTcwMDogI2U2NGExOTsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS04MDA6ICNkODQzMTU7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtOTAwOiAjYmYzNjBjOwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLWExMDA6ICNmZjllODA7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtYTIwMDogI2ZmNmU0MDsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS1hNDAwOiAjZmYzZDAwOwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLWE3MDA6ICNkZDJjMDA7CgogICAgICAtLXBhcGVyLWJyb3duLTUwOiAjZWZlYmU5OwogICAgICAtLXBhcGVyLWJyb3duLTEwMDogI2Q3Y2NjODsKICAgICAgLS1wYXBlci1icm93bi0yMDA6ICNiY2FhYTQ7CiAgICAgIC0tcGFwZXItYnJvd24tMzAwOiAjYTE4ODdmOwogICAgICAtLXBhcGVyLWJyb3duLTQwMDogIzhkNmU2MzsKICAgICAgLS1wYXBlci1icm93bi01MDA6ICM3OTU1NDg7CiAgICAgIC0tcGFwZXItYnJvd24tNjAwOiAjNmQ0YzQxOwogICAgICAtLXBhcGVyLWJyb3duLTcwMDogIzVkNDAzNzsKICAgICAgLS1wYXBlci1icm93bi04MDA6ICM0ZTM0MmU7CiAgICAgIC0tcGFwZXItYnJvd24tOTAwOiAjM2UyNzIzOwoKICAgICAgLS1wYXBlci1ncmV5LTUwOiAjZmFmYWZhOwogICAgICAtLXBhcGVyLWdyZXktMTAwOiAjZjVmNWY1OwogICAgICAtLXBhcGVyLWdyZXktMjAwOiAjZWVlZWVlOwogICAgICAtLXBhcGVyLWdyZXktMzAwOiAjZTBlMGUwOwogICAgICAtLXBhcGVyLWdyZXktNDAwOiAjYmRiZGJkOwogICAgICAtLXBhcGVyLWdyZXktNTAwOiAjOWU5ZTllOwogICAgICAtLXBhcGVyLWdyZXktNjAwOiAjNzU3NTc1OwogICAgICAtLXBhcGVyLWdyZXktNzAwOiAjNjE2MTYxOwogICAgICAtLXBhcGVyLWdyZXktODAwOiAjNDI0MjQyOwogICAgICAtLXBhcGVyLWdyZXktOTAwOiAjMjEyMTIxOwoKICAgICAgLS1wYXBlci1ibHVlLWdyZXktNTA6ICNlY2VmZjE7CiAgICAgIC0tcGFwZXItYmx1ZS1ncmV5LTEwMDogI2NmZDhkYzsKICAgICAgLS1wYXBlci1ibHVlLWdyZXktMjAwOiAjYjBiZWM1OwogICAgICAtLXBhcGVyLWJsdWUtZ3JleS0zMDA6ICM5MGE0YWU7CiAgICAgIC0tcGFwZXItYmx1ZS1ncmV5LTQwMDogIzc4OTA5YzsKICAgICAgLS1wYXBlci1ibHVlLWdyZXktNTAwOiAjNjA3ZDhiOwogICAgICAtLXBhcGVyLWJsdWUtZ3JleS02MDA6ICM1NDZlN2E7CiAgICAgIC0tcGFwZXItYmx1ZS1ncmV5LTcwMDogIzQ1NWE2NDsKICAgICAgLS1wYXBlci1ibHVlLWdyZXktODAwOiAjMzc0NzRmOwogICAgICAtLXBhcGVyLWJsdWUtZ3JleS05MDA6ICMyNjMyMzg7CgogICAgICAvKiBvcGFjaXR5IGZvciBkYXJrIHRleHQgb24gYSBsaWdodCBiYWNrZ3JvdW5kICovCiAgICAgIC0tZGFyay1kaXZpZGVyLW9wYWNpdHk6IDAuMTI7CiAgICAgIC0tZGFyay1kaXNhYmxlZC1vcGFjaXR5OiAwLjM4OyAvKiBvciBoaW50IHRleHQgb3IgaWNvbiAqLwogICAgICAtLWRhcmstc2Vjb25kYXJ5LW9wYWNpdHk6IDAuNTQ7CiAgICAgIC0tZGFyay1wcmltYXJ5LW9wYWNpdHk6IDAuODc7CgogICAgICAvKiBvcGFjaXR5IGZvciBsaWdodCB0ZXh0IG9uIGEgZGFyayBiYWNrZ3JvdW5kICovCiAgICAgIC0tbGlnaHQtZGl2aWRlci1vcGFjaXR5OiAwLjEyOwogICAgICAtLWxpZ2h0LWRpc2FibGVkLW9wYWNpdHk6IDAuMzsgLyogb3IgaGludCB0ZXh0IG9yIGljb24gKi8KICAgICAgLS1saWdodC1zZWNvbmRhcnktb3BhY2l0eTogMC43OwogICAgICAtLWxpZ2h0LXByaW1hcnktb3BhY2l0eTogMS4wOwoKICAgIH0KCiAgPC9zdHlsZT4KPC9jdXN0b20tc3R5bGU+CmA7ZmEuc2V0QXR0cmlidXRlKCJzdHlsZSIsImRpc3BsYXk6IG5vbmU7IiksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChmYS5jb250ZW50KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IG1hPXhlYAo8Y3VzdG9tLXN0eWxlPgogIDxzdHlsZSBpcz0iY3VzdG9tLXN0eWxlIj4KICAgIGh0bWwgewogICAgICAvKgogICAgICAgKiBZb3UgY2FuIHVzZSB0aGVzZSBnZW5lcmljIHZhcmlhYmxlcyBpbiB5b3VyIGVsZW1lbnRzIGZvciBlYXN5IHRoZW1pbmcuCiAgICAgICAqIEZvciBleGFtcGxlLCBpZiBhbGwgeW91ciBlbGVtZW50cyB1c2UgXGAtLXByaW1hcnktdGV4dC1jb2xvclxgIGFzIGl0cyBtYWluCiAgICAgICAqIGNvbG9yLCB0aGVuIHN3aXRjaGluZyBmcm9tIGEgbGlnaHQgdG8gYSBkYXJrIHRoZW1lIGlzIGp1c3QgYSBtYXR0ZXIgb2YKICAgICAgICogY2hhbmdpbmcgdGhlIHZhbHVlIG9mIFxgLS1wcmltYXJ5LXRleHQtY29sb3JcYCBpbiB5b3VyIGFwcGxpY2F0aW9uLgogICAgICAgKi8KICAgICAgLS1wcmltYXJ5LXRleHQtY29sb3I6IHZhcigtLWxpZ2h0LXRoZW1lLXRleHQtY29sb3IpOwogICAgICAtLXByaW1hcnktYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtdGhlbWUtYmFja2dyb3VuZC1jb2xvcik7CiAgICAgIC0tc2Vjb25kYXJ5LXRleHQtY29sb3I6IHZhcigtLWxpZ2h0LXRoZW1lLXNlY29uZGFyeS1jb2xvcik7CiAgICAgIC0tZGlzYWJsZWQtdGV4dC1jb2xvcjogdmFyKC0tbGlnaHQtdGhlbWUtZGlzYWJsZWQtY29sb3IpOwogICAgICAtLWRpdmlkZXItY29sb3I6IHZhcigtLWxpZ2h0LXRoZW1lLWRpdmlkZXItY29sb3IpOwogICAgICAtLWVycm9yLWNvbG9yOiB2YXIoLS1wYXBlci1kZWVwLW9yYW5nZS1hNzAwKTsKCiAgICAgIC8qCiAgICAgICAqIFByaW1hcnkgYW5kIGFjY2VudCBjb2xvcnMuIEFsc28gc2VlIGNvbG9yLmpzIGZvciBtb3JlIGNvbG9ycy4KICAgICAgICovCiAgICAgIC0tcHJpbWFyeS1jb2xvcjogdmFyKC0tcGFwZXItaW5kaWdvLTUwMCk7CiAgICAgIC0tbGlnaHQtcHJpbWFyeS1jb2xvcjogdmFyKC0tcGFwZXItaW5kaWdvLTEwMCk7CiAgICAgIC0tZGFyay1wcmltYXJ5LWNvbG9yOiB2YXIoLS1wYXBlci1pbmRpZ28tNzAwKTsKCiAgICAgIC0tYWNjZW50LWNvbG9yOiB2YXIoLS1wYXBlci1waW5rLWEyMDApOwogICAgICAtLWxpZ2h0LWFjY2VudC1jb2xvcjogdmFyKC0tcGFwZXItcGluay1hMTAwKTsKICAgICAgLS1kYXJrLWFjY2VudC1jb2xvcjogdmFyKC0tcGFwZXItcGluay1hNDAwKTsKCgogICAgICAvKgogICAgICAgKiBNYXRlcmlhbCBEZXNpZ24gTGlnaHQgYmFja2dyb3VuZCB0aGVtZQogICAgICAgKi8KICAgICAgLS1saWdodC10aGVtZS1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOwogICAgICAtLWxpZ2h0LXRoZW1lLWJhc2UtY29sb3I6ICMwMDAwMDA7CiAgICAgIC0tbGlnaHQtdGhlbWUtdGV4dC1jb2xvcjogdmFyKC0tcGFwZXItZ3JleS05MDApOwogICAgICAtLWxpZ2h0LXRoZW1lLXNlY29uZGFyeS1jb2xvcjogIzczNzM3MzsgIC8qIGZvciBzZWNvbmRhcnkgdGV4dCBhbmQgaWNvbnMgKi8KICAgICAgLS1saWdodC10aGVtZS1kaXNhYmxlZC1jb2xvcjogIzliOWI5YjsgIC8qIGRpc2FibGVkL2hpbnQgdGV4dCAqLwogICAgICAtLWxpZ2h0LXRoZW1lLWRpdmlkZXItY29sb3I6ICNkYmRiZGI7CgogICAgICAvKgogICAgICAgKiBNYXRlcmlhbCBEZXNpZ24gRGFyayBiYWNrZ3JvdW5kIHRoZW1lCiAgICAgICAqLwogICAgICAtLWRhcmstdGhlbWUtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItZ3JleS05MDApOwogICAgICAtLWRhcmstdGhlbWUtYmFzZS1jb2xvcjogI2ZmZmZmZjsKICAgICAgLS1kYXJrLXRoZW1lLXRleHQtY29sb3I6ICNmZmZmZmY7CiAgICAgIC0tZGFyay10aGVtZS1zZWNvbmRhcnktY29sb3I6ICNiY2JjYmM7ICAvKiBmb3Igc2Vjb25kYXJ5IHRleHQgYW5kIGljb25zICovCiAgICAgIC0tZGFyay10aGVtZS1kaXNhYmxlZC1jb2xvcjogIzY0NjQ2NDsgIC8qIGRpc2FibGVkL2hpbnQgdGV4dCAqLwogICAgICAtLWRhcmstdGhlbWUtZGl2aWRlci1jb2xvcjogIzNjM2MzYzsKCiAgICAgIC8qCiAgICAgICAqIERlcHJlY2F0ZWQgdmFsdWVzIGJlY2F1c2Ugb2YgdGhlaXIgY29uZnVzaW5nIG5hbWVzLgogICAgICAgKi8KICAgICAgLS10ZXh0LXByaW1hcnktY29sb3I6IHZhcigtLWRhcmstdGhlbWUtdGV4dC1jb2xvcik7CiAgICAgIC0tZGVmYXVsdC1wcmltYXJ5LWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTsKICAgIH0KICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT5gO21hLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJkaXNwbGF5OiBub25lOyIpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobWEuY29udGVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBnYT17cHJvcGVydGllczp7bmFtZTp7dHlwZTpTdHJpbmd9LHZhbHVlOntub3RpZnk6ITAsdHlwZTpTdHJpbmd9LHJlcXVpcmVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxhdHRhY2hlZDpmdW5jdGlvbigpe30sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt9fTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovbGV0IF9hPW51bGw7Y29uc3QgeWE9e3Byb3BlcnRpZXM6e3ZhbGlkYXRvcjp7dHlwZTpTdHJpbmd9LGludmFsaWQ6e25vdGlmeTohMCxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfaW52YWxpZENoYW5nZWQifX0scmVnaXN0ZXJlZDpmdW5jdGlvbigpe19hPW5ldyBObyh7dHlwZToidmFsaWRhdG9yIn0pfSxfaW52YWxpZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmludmFsaWQ/dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIsInRydWUiKTp0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIil9LGdldCBfdmFsaWRhdG9yKCl7cmV0dXJuIF9hJiZfYS5ieUtleSh0aGlzLnZhbGlkYXRvcil9LGhhc1ZhbGlkYXRvcjpmdW5jdGlvbigpe3JldHVybiBudWxsIT10aGlzLl92YWxpZGF0b3J9LHZhbGlkYXRlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmludmFsaWQ9dm9pZCAwPT09dCYmdm9pZCAwIT09dGhpcy52YWx1ZT8hdGhpcy5fZ2V0VmFsaWRpdHkodGhpcy52YWx1ZSk6IXRoaXMuX2dldFZhbGlkaXR5KHQpLCF0aGlzLmludmFsaWR9LF9nZXRWYWxpZGl0eTpmdW5jdGlvbih0KXtyZXR1cm4hdGhpcy5oYXNWYWxpZGF0b3IoKXx8dGhpcy5fdmFsaWRhdG9yLnZhbGlkYXRlKHQpfX0sdmE9e3Byb3BlcnRpZXM6e2NoZWNrZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsbm90aWZ5OiEwLG9ic2VydmVyOiJfY2hlY2tlZENoYW5nZWQifSx0b2dnbGVzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwfSx2YWx1ZTp7dHlwZTpTdHJpbmcsdmFsdWU6Im9uIixvYnNlcnZlcjoiX3ZhbHVlQ2hhbmdlZCJ9fSxvYnNlcnZlcnM6WyJfcmVxdWlyZWRDaGFuZ2VkKHJlcXVpcmVkKSJdLGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9oYXNJcm9uQ2hlY2tlZEVsZW1lbnRCZWhhdmlvcj0hMH0sX2dldFZhbGlkaXR5OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpc2FibGVkfHwhdGhpcy5yZXF1aXJlZHx8dGhpcy5jaGVja2VkfSxfcmVxdWlyZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5yZXF1aXJlZD90aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1yZXF1aXJlZCIsInRydWUiKTp0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1yZXF1aXJlZCIpfSxfY2hlY2tlZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmFjdGl2ZT10aGlzLmNoZWNrZWQsdGhpcy5maXJlKCJpcm9uLWNoYW5nZSIpfSxfdmFsdWVDaGFuZ2VkOmZ1bmN0aW9uKCl7bnVsbD09dGhpcy52YWx1ZSYmKHRoaXMudmFsdWU9Im9uIil9fSxiYT17b2JzZXJ2ZXJzOlsiX2ZvY3VzZWRDaGFuZ2VkKHJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQpIl0sX2ZvY3VzZWRDaGFuZ2VkOmZ1bmN0aW9uKHQpe3QmJnRoaXMuZW5zdXJlUmlwcGxlKCksdGhpcy5oYXNSaXBwbGUoKSYmKHRoaXMuX3JpcHBsZS5ob2xkRG93bj10KX0sX2NyZWF0ZVJpcHBsZTpmdW5jdGlvbigpe3ZhciB0PXVhLl9jcmVhdGVSaXBwbGUoKTtyZXR1cm4gdC5pZD0iaW5rIix0LnNldEF0dHJpYnV0ZSgiY2VudGVyIiwiIiksdC5jbGFzc0xpc3QuYWRkKCJjaXJjbGUiKSx0fX0seGE9W2FhLHJhLHVhLGJhXSx3YT1beGEsW2dhLHlhLHZhXSx7X2NoZWNrZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dmEuX2NoZWNrZWRDaGFuZ2VkLmNhbGwodGhpcyksdGhpcy5oYXNSaXBwbGUoKSYmKHRoaXMuY2hlY2tlZD90aGlzLl9yaXBwbGUuc2V0QXR0cmlidXRlKCJjaGVja2VkIiwiIik6dGhpcy5fcmlwcGxlLnJlbW92ZUF0dHJpYnV0ZSgiY2hlY2tlZCIpKX0sX2J1dHRvblN0YXRlQ2hhbmdlZDpmdW5jdGlvbigpe3VhLl9idXR0b25TdGF0ZUNoYW5nZWQuY2FsbCh0aGlzKSx0aGlzLmRpc2FibGVkfHx0aGlzLmlzQXR0YWNoZWQmJih0aGlzLmNoZWNrZWQ9dGhpcy5hY3RpdmUpfX1dLFNhPXhlYDxzdHlsZT4KICA6aG9zdCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LXNpemU6IHZhcigtLXBhcGVyLWNoZWNrYm94LXNpemUsIDE4cHgpOwogICAgLyogLTFweCBpcyBhIHNlbnRpbmVsIGZvciB0aGUgZGVmYXVsdCBhbmQgaXMgcmVwbGFjZWQgaW4gXGBhdHRhY2hlZFxgLiAqLwogICAgLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplOiB2YXIoLS1wYXBlci1jaGVja2JveC1pbmstc2l6ZSwgLTFweCk7CiAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgbGluZS1oZWlnaHQ6IDA7CiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwogIH0KCiAgOmhvc3QoW2hpZGRlbl0pIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICB9CgogIDpob3N0KDpmb2N1cykgewogICAgb3V0bGluZTogbm9uZTsKICB9CgogIC5oaWRkZW4gewogICAgZGlzcGxheTogbm9uZTsKICB9CgogICNjaGVja2JveENvbnRhaW5lciB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1zaXplKTsKICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1zaXplKTsKICAgIG1pbi13aWR0aDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1zaXplKTsKICAgIG1hcmdpbjogdmFyKC0tcGFwZXItY2hlY2tib3gtbWFyZ2luLCBpbml0aWFsKTsKICAgIHZlcnRpY2FsLWFsaWduOiB2YXIoLS1wYXBlci1jaGVja2JveC12ZXJ0aWNhbC1hbGlnbiwgbWlkZGxlKTsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCk7CiAgfQoKICAjaW5rIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKCiAgICAvKiBDZW50ZXIgdGhlIHJpcHBsZSBpbiB0aGUgY2hlY2tib3ggYnkgbmVnYXRpdmUgb2Zmc2V0dGluZyBpdCBieQogICAgICogKGlua1dpZHRoIC0gcmlwcGxlV2lkdGgpIC8gMiAqLwogICAgdG9wOiBjYWxjKDBweCAtICh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplKSAtIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSkpIC8gMik7CiAgICBsZWZ0OiBjYWxjKDBweCAtICh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplKSAtIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSkpIC8gMik7CiAgICB3aWR0aDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1pbmstc2l6ZSk7CiAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtaW5rLXNpemUpOwogICAgY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3IsIHZhcigtLXByaW1hcnktdGV4dC1jb2xvcikpOwogICAgb3BhY2l0eTogMC42OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgfQoKICAjaW5rOmRpcihydGwpIHsKICAgIHJpZ2h0OiBjYWxjKDBweCAtICh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplKSAtIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSkpIC8gMik7CiAgICBsZWZ0OiBhdXRvOwogIH0KCiAgI2lua1tjaGVja2VkXSB7CiAgICBjb2xvcjogdmFyKC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1pbmstY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IpKTsKICB9CgogICNjaGVja2JveCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgaGVpZ2h0OiAxMDAlOwogICAgYm9yZGVyOiBzb2xpZCAycHg7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNDBtcywgYm9yZGVyLWNvbG9yIDE0MG1zOwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNDBtcywgYm9yZGVyLWNvbG9yIDE0MG1zOwoKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItY2hlY2tib3gtYW5pbWF0aW9uLWR1cmF0aW9uLCAxNDBtcyk7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci1jaGVja2JveC1hbmltYXRpb24tZHVyYXRpb24sIDE0MG1zKTsKICB9CgogIC8qIGNoZWNrYm94IGNoZWNrZWQgYW5pbWF0aW9ucyAqLwogICNjaGVja2JveC5jaGVja2VkICNjaGVja21hcmsgewogICAgLXdlYmtpdC1hbmltYXRpb246IGNoZWNrbWFyay1leHBhbmQgMTQwbXMgZWFzZS1vdXQgZm9yd2FyZHM7CiAgICBhbmltYXRpb246IGNoZWNrbWFyay1leHBhbmQgMTQwbXMgZWFzZS1vdXQgZm9yd2FyZHM7CgogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLWNoZWNrYm94LWFuaW1hdGlvbi1kdXJhdGlvbiwgMTQwbXMpOwogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci1jaGVja2JveC1hbmltYXRpb24tZHVyYXRpb24sIDE0MG1zKTsKICB9CgogIEAtd2Via2l0LWtleWZyYW1lcyBjaGVja21hcmstZXhwYW5kIHsKICAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAsIDApIHJvdGF0ZSg0NWRlZyk7CiAgICB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHJvdGF0ZSg0NWRlZyk7CiAgICB9CiAgfQoKICBAa2V5ZnJhbWVzIGNoZWNrbWFyay1leHBhbmQgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApIHJvdGF0ZSg0NWRlZyk7CiAgICB9CiAgICAxMDAlIHsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSByb3RhdGUoNDVkZWcpOwogICAgfQogIH0KCiAgI2NoZWNrYm94LmNoZWNrZWQgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CiAgfQoKICAjY2hlY2ttYXJrIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAzNiU7CiAgICBoZWlnaHQ6IDcwJTsKICAgIGJvcmRlci1zdHlsZTogc29saWQ7CiAgICBib3JkZXItdG9wOiBub25lOwogICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICBib3JkZXItcmlnaHQtd2lkdGg6IGNhbGMoMi8xNSAqIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSkpOwogICAgYm9yZGVyLWJvdHRvbS13aWR0aDogY2FsYygyLzE1ICogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1zaXplKSk7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LWNoZWNrbWFyay1jb2xvciwgd2hpdGUpOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA5NyUgODYlOwogICAgdHJhbnNmb3JtLW9yaWdpbjogOTclIDg2JTsKICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiBwcm90ZWN0IGFnYWluc3QgcGFnZS1sZXZlbCBib3gtc2l6aW5nICovCiAgfQoKICAjY2hlY2ttYXJrOmRpcihydGwpIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDE0JTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxNCU7CiAgfQoKICAvKiBsYWJlbCAqLwogICNjaGVja2JveExhYmVsIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLXNwYWNpbmcsIDhweCk7CiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgIGNvbG9yOiB2YXIoLS1wYXBlci1jaGVja2JveC1sYWJlbC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICBAYXBwbHkgLS1wYXBlci1jaGVja2JveC1sYWJlbDsKICB9CgogIDpob3N0KFtjaGVja2VkXSkgI2NoZWNrYm94TGFiZWwgewogICAgY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLWNoZWNrZWQtY29sb3IsIHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKSk7CiAgICBAYXBwbHkgLS1wYXBlci1jaGVja2JveC1sYWJlbC1jaGVja2VkOwogIH0KCiAgI2NoZWNrYm94TGFiZWw6ZGlyKHJ0bCkgewogICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFwZXItY2hlY2tib3gtbGFiZWwtc3BhY2luZywgOHB4KTsKICAgIHBhZGRpbmctbGVmdDogMDsKICB9CgogICNjaGVja2JveExhYmVsW2hpZGRlbl0gewogICAgZGlzcGxheTogbm9uZTsKICB9CgogIC8qIGRpc2FibGVkIHN0YXRlICovCgogIDpob3N0KFtkaXNhYmxlZF0pICNjaGVja2JveCB7CiAgICBvcGFjaXR5OiAwLjU7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgfQoKICA6aG9zdChbZGlzYWJsZWRdW2NoZWNrZWRdKSAjY2hlY2tib3ggewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgIG9wYWNpdHk6IDAuNTsKICB9CgogIDpob3N0KFtkaXNhYmxlZF0pICNjaGVja2JveExhYmVsICB7CiAgICBvcGFjaXR5OiAwLjY1OwogIH0KCiAgLyogaW52YWxpZCBzdGF0ZSAqLwogICNjaGVja2JveC5pbnZhbGlkOm5vdCguY2hlY2tlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1jaGVja2JveC1lcnJvci1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICB9Cjwvc3R5bGU+Cgo8ZGl2IGlkPSJjaGVja2JveENvbnRhaW5lciI+CiAgPGRpdiBpZD0iY2hlY2tib3giIGNsYXNzJD0iW1tfY29tcHV0ZUNoZWNrYm94Q2xhc3MoY2hlY2tlZCwgaW52YWxpZCldXSI+CiAgICA8ZGl2IGlkPSJjaGVja21hcmsiIGNsYXNzJD0iW1tfY29tcHV0ZUNoZWNrbWFya0NsYXNzKGNoZWNrZWQpXV0iPjwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgaWQ9ImNoZWNrYm94TGFiZWwiPjxzbG90Pjwvc2xvdD48L2Rpdj5gOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmlmKFNhLnNldEF0dHJpYnV0ZSgic3RyaXAtd2hpdGVzcGFjZSIsIiIpLGpyKHtfdGVtcGxhdGU6U2EsaXM6InBhcGVyLWNoZWNrYm94IixiZWhhdmlvcnM6W3dhXSxob3N0QXR0cmlidXRlczp7cm9sZToiY2hlY2tib3giLCJhcmlhLWNoZWNrZWQiOiExLHRhYmluZGV4OjB9LHByb3BlcnRpZXM6e2FyaWFBY3RpdmVBdHRyaWJ1dGU6e3R5cGU6U3RyaW5nLHZhbHVlOiJhcmlhLWNoZWNrZWQifX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXtEaSh0aGlzLChmdW5jdGlvbigpe2lmKCItMXB4Ij09PXRoaXMuZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtaW5rLXNpemUiKS50cmltKCkpe3ZhciB0PXRoaXMuZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSIpLnRyaW0oKSxlPSJweCIsbj10Lm1hdGNoKC9bQS1aYS16XSskLyk7bnVsbCE9PW4mJihlPW5bMF0pO3ZhciBpPXBhcnNlRmxvYXQodCkscj04LzMqaTsicHgiPT09ZSYmKHI9TWF0aC5mbG9vcihyKSklMiE9aSUyJiZyKyssdGhpcy51cGRhdGVTdHlsZXMoeyItLXBhcGVyLWNoZWNrYm94LWluay1zaXplIjpyK2V9KX19KSl9LF9jb21wdXRlQ2hlY2tib3hDbGFzczpmdW5jdGlvbih0LGUpe3ZhciBuPSIiO3JldHVybiB0JiYobis9ImNoZWNrZWQgIiksZSYmKG4rPSJpbnZhbGlkIiksbn0sX2NvbXB1dGVDaGVja21hcmtDbGFzczpmdW5jdGlvbih0KXtyZXR1cm4gdD8iIjoiaGlkZGVuIn0sX2NyZWF0ZVJpcHBsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yaXBwbGVDb250YWluZXI9dGhpcy4kLmNoZWNrYm94Q29udGFpbmVyLGJhLl9jcmVhdGVSaXBwbGUuY2FsbCh0aGlzKX19KSwhd2luZG93LnBvbHltZXJTa2lwTG9hZGluZ0ZvbnRSb2JvdG8pe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO3QucmVsPSJzdHlsZXNoZWV0Iix0LnR5cGU9InRleHQvY3NzIix0LmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLHQuaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bytNb25vOjQwMCw3MDB8Um9ib3RvOjQwMCwzMDAsMzAwaXRhbGljLDQwMGl0YWxpYyw1MDAsNTAwaXRhbGljLDcwMCw3MDBpdGFsaWMiLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodCl9Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2NvbnN0IE1hPXhlYDxjdXN0b20tc3R5bGU+CiAgPHN0eWxlIGlzPSJjdXN0b20tc3R5bGUiPgogICAgaHRtbCB7CgogICAgICAvKiBTaGFyZWQgU3R5bGVzICovCiAgICAgIC0tcGFwZXItZm9udC1jb21tb24tYmFzZTogewogICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgJ05vdG8nLCBzYW5zLXNlcmlmOwogICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWNvbW1vbi1jb2RlOiB7CiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubycsICdDb25zb2xhcycsICdNZW5sbycsIG1vbm9zcGFjZTsKICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1jb21tb24tZXhwZW5zaXZlLWtlcm5pbmc6IHsKICAgICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWNvbW1vbi1ub3dyYXA6IHsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH07CgogICAgICAvKiBNYXRlcmlhbCBGb250IFN0eWxlcyAqLwoKICAgICAgLS1wYXBlci1mb250LWRpc3BsYXk0OiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tYmFzZTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1ub3dyYXA7CgogICAgICAgIGZvbnQtc2l6ZTogMTEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wNDRlbTsKICAgICAgICBsaW5lLWhlaWdodDogMTIwcHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtZGlzcGxheTM6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLW5vd3JhcDsKCiAgICAgICAgZm9udC1zaXplOiA1NnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDI2ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtZGlzcGxheTI6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwoKICAgICAgICBmb250LXNpemU6IDQ1cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMThlbTsKICAgICAgICBsaW5lLWhlaWdodDogNDhweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1kaXNwbGF5MTogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CgogICAgICAgIGZvbnQtc2l6ZTogMzRweDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtaGVhZGxpbmU6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwoKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMTJlbTsKICAgICAgICBsaW5lLWhlaWdodDogMzJweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC10aXRsZTogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tbm93cmFwOwoKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMjhweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1zdWJoZWFkOiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tYmFzZTsKCiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtYm9keTI6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwoKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1ib2R5MTogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWNhcHRpb246IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLW5vd3JhcDsKCiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDExZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtbWVudTogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tbm93cmFwOwoKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1idXR0b246IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLW5vd3JhcDsKCiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDE4ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1jb2RlMjogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWNvZGU7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWNvZGUxOiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tY29kZTsKCiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgIH07CgogICAgfQoKICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT5gO01hLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJkaXNwbGF5OiBub25lOyIpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoTWEuY29udGVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBFYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO0VhLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJkaXNwbGF5OiBub25lOyIpLEVhLmlubmVySFRNTD0nPGRvbS1tb2R1bGUgaWQ9InBhcGVyLWRpYWxvZy1zaGFyZWQtc3R5bGVzIj5cbiAgPHRlbXBsYXRlPlxuICAgIDxzdHlsZT5cbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMjRweCA0MHB4O1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLWRpYWxvZy1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWJhY2tncm91bmQtY29sb3IpKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWRpYWxvZy1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7XG5cbiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1ib2R5MTtcbiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0xNmRwO1xuICAgICAgICBAYXBwbHkgLS1wYXBlci1kaWFsb2c7XG4gICAgICB9XG5cbiAgICAgIDpob3N0ID4gOjpzbG90dGVkKCopIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMCAyNHB4O1xuICAgICAgfVxuXG4gICAgICA6aG9zdCA+IDo6c2xvdHRlZCgubm8tcGFkZGluZykge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICBcbiAgICAgIDpob3N0ID4gOjpzbG90dGVkKCo6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgIH1cblxuICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoKjpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICB9XG5cbiAgICAgIC8qIEluIDEueCwgdGhpcyBzZWxlY3RvciB3YXMgYDpob3N0ID4gOjpjb250ZW50IGgyYC4gSW4gMi54IDxzbG90PiBhbGxvd3NcbiAgICAgIHRvIHNlbGVjdCBkaXJlY3QgY2hpbGRyZW4gb25seSwgd2hpY2ggaW5jcmVhc2VzIHRoZSB3ZWlnaHQgb2YgdGhpc1xuICAgICAgc2VsZWN0b3IsIHNvIHdlIGhhdmUgdG8gcmUtZGVmaW5lIGZpcnN0LWNoaWxkL2xhc3QtY2hpbGQgbWFyZ2lucyBiZWxvdy4gKi9cbiAgICAgIDpob3N0ID4gOjpzbG90dGVkKGgyKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtdGl0bGU7XG4gICAgICAgIEBhcHBseSAtLXBhcGVyLWRpYWxvZy10aXRsZTtcbiAgICAgIH1cblxuICAgICAgLyogQXBwbHkgbWl4aW4gYWdhaW4sIGluIGNhc2UgaXQgc2V0cyBtYXJnaW4tdG9wLiAqL1xuICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoaDI6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgQGFwcGx5IC0tcGFwZXItZGlhbG9nLXRpdGxlO1xuICAgICAgfVxuXG4gICAgICAvKiBBcHBseSBtaXhpbiBhZ2FpbiwgaW4gY2FzZSBpdCBzZXRzIG1hcmdpbi1ib3R0b20uICovXG4gICAgICA6aG9zdCA+IDo6c2xvdHRlZChoMjpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIEBhcHBseSAtLXBhcGVyLWRpYWxvZy10aXRsZTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoLnBhcGVyLWRpYWxvZy1idXR0b25zKSxcbiAgICAgIDpob3N0ID4gOjpzbG90dGVkKC5idXR0b25zKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogOHB4IDhweCA4cHggMjRweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1kaWFsb2ctYnV0dG9uLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7XG5cbiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7XG4gICAgICAgIEBhcHBseSAtLWxheW91dC1lbmQtanVzdGlmaWVkO1xuICAgICAgfVxuICAgIDwvc3R5bGU+XG4gIDwvdGVtcGxhdGU+XG48L2RvbS1tb2R1bGU+Jyxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKEVhLmNvbnRlbnQpOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgVGE9W3twcm9wZXJ0aWVzOnthbmltYXRpb25Db25maWc6e3R5cGU6T2JqZWN0fSxlbnRyeUFuaW1hdGlvbjp7b2JzZXJ2ZXI6Il9lbnRyeUFuaW1hdGlvbkNoYW5nZWQiLHR5cGU6U3RyaW5nfSxleGl0QW5pbWF0aW9uOntvYnNlcnZlcjoiX2V4aXRBbmltYXRpb25DaGFuZ2VkIix0eXBlOlN0cmluZ319LF9lbnRyeUFuaW1hdGlvbkNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmFuaW1hdGlvbkNvbmZpZz10aGlzLmFuaW1hdGlvbkNvbmZpZ3x8e30sdGhpcy5hbmltYXRpb25Db25maWcuZW50cnk9W3tuYW1lOnRoaXMuZW50cnlBbmltYXRpb24sbm9kZTp0aGlzfV19LF9leGl0QW5pbWF0aW9uQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuYW5pbWF0aW9uQ29uZmlnPXRoaXMuYW5pbWF0aW9uQ29uZmlnfHx7fSx0aGlzLmFuaW1hdGlvbkNvbmZpZy5leGl0PVt7bmFtZTp0aGlzLmV4aXRBbmltYXRpb24sbm9kZTp0aGlzfV19LF9jb3B5UHJvcGVydGllczpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKXRbbl09ZVtuXX0sX2Nsb25lQ29uZmlnOmZ1bmN0aW9uKHQpe3ZhciBlPXtpc0Nsb25lOiEwfTtyZXR1cm4gdGhpcy5fY29weVByb3BlcnRpZXMoZSx0KSxlfSxfZ2V0QW5pbWF0aW9uQ29uZmlnUmVjdXJzaXZlOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaTtpZih0aGlzLmFuaW1hdGlvbkNvbmZpZylpZih0aGlzLmFuaW1hdGlvbkNvbmZpZy52YWx1ZSYmImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuYW5pbWF0aW9uQ29uZmlnLnZhbHVlKXRoaXMuX3dhcm4odGhpcy5fbG9nZigicGxheUFuaW1hdGlvbiIsIlBsZWFzZSBwdXQgJ2FuaW1hdGlvbkNvbmZpZycgaW5zaWRlIG9mIHlvdXIgY29tcG9uZW50cyAncHJvcGVydGllcycgb2JqZWN0IGluc3RlYWQgb2Ygb3V0c2lkZSBvZiBpdC4iKSk7ZWxzZSBpZihpPXQ/dGhpcy5hbmltYXRpb25Db25maWdbdF06dGhpcy5hbmltYXRpb25Db25maWcsQXJyYXkuaXNBcnJheShpKXx8KGk9W2ldKSxpKWZvcih2YXIgcixvPTA7cj1pW29dO28rKylpZihyLmFuaW1hdGFibGUpci5hbmltYXRhYmxlLl9nZXRBbmltYXRpb25Db25maWdSZWN1cnNpdmUoci50eXBlfHx0LGUsbik7ZWxzZSBpZihyLmlkKXt2YXIgYT1lW3IuaWRdO2E/KGEuaXNDbG9uZXx8KGVbci5pZF09dGhpcy5fY2xvbmVDb25maWcoYSksYT1lW3IuaWRdKSx0aGlzLl9jb3B5UHJvcGVydGllcyhhLHIpKTplW3IuaWRdPXJ9ZWxzZSBuLnB1c2gocil9LGdldEFuaW1hdGlvbkNvbmZpZzpmdW5jdGlvbih0KXt2YXIgZT17fSxuPVtdO2Zvcih2YXIgaSBpbiB0aGlzLl9nZXRBbmltYXRpb25Db25maWdSZWN1cnNpdmUodCxlLG4pLGUpbi5wdXNoKGVbaV0pO3JldHVybiBufX0se19jb25maWd1cmVBbmltYXRpb25zOmZ1bmN0aW9uKHQpe3ZhciBlPVtdLG49W107aWYodC5sZW5ndGg+MClmb3IobGV0IGUsaT0wO2U9dFtpXTtpKyspe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZS5uYW1lKTtpZih0LmlzTmVvbkFuaW1hdGlvbil7bGV0IGk9bnVsbDt0LmNvbmZpZ3VyZXx8KHQuY29uZmlndXJlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsfSksaT10LmNvbmZpZ3VyZShlKSxuLnB1c2goe3Jlc3VsdDppLGNvbmZpZzplLG5lb25BbmltYXRpb246dH0pfWVsc2UgY29uc29sZS53YXJuKHRoaXMuaXMrIjoiLGUubmFtZSwibm90IGZvdW5kISIpfWZvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXtsZXQgdD1uW2ldLnJlc3VsdCxyPW5baV0uY29uZmlnLG89bltpXS5uZW9uQW5pbWF0aW9uO3RyeXsiZnVuY3Rpb24iIT10eXBlb2YgdC5jYW5jZWwmJih0PWRvY3VtZW50LnRpbWVsaW5lLnBsYXkodCkpfWNhdGNoKGUpe3Q9bnVsbCxjb25zb2xlLndhcm4oIkNvdWxkbnQgcGxheSIsIigiLHIubmFtZSwiKS4iLGUpfXQmJmUucHVzaCh7bmVvbkFuaW1hdGlvbjpvLGNvbmZpZzpyLGFuaW1hdGlvbjp0fSl9cmV0dXJuIGV9LF9zaG91bGRDb21wbGV0ZTpmdW5jdGlvbih0KXtmb3IodmFyIGU9ITAsbj0wO248dC5sZW5ndGg7bisrKWlmKCJmaW5pc2hlZCIhPXRbbl0uYW5pbWF0aW9uLnBsYXlTdGF0ZSl7ZT0hMTticmVha31yZXR1cm4gZX0sX2NvbXBsZXRlOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0ubmVvbkFuaW1hdGlvbi5jb21wbGV0ZSh0W2VdLmNvbmZpZyk7Zm9yKGU9MDtlPHQubGVuZ3RoO2UrKyl0W2VdLmFuaW1hdGlvbi5jYW5jZWwoKX0scGxheUFuaW1hdGlvbjpmdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuZ2V0QW5pbWF0aW9uQ29uZmlnKHQpO2lmKG4pe3RoaXMuX2FjdGl2ZT10aGlzLl9hY3RpdmV8fHt9LHRoaXMuX2FjdGl2ZVt0XSYmKHRoaXMuX2NvbXBsZXRlKHRoaXMuX2FjdGl2ZVt0XSksZGVsZXRlIHRoaXMuX2FjdGl2ZVt0XSk7dmFyIGk9dGhpcy5fY29uZmlndXJlQW5pbWF0aW9ucyhuKTtpZigwIT1pLmxlbmd0aCl7dGhpcy5fYWN0aXZlW3RdPWk7Zm9yKHZhciByPTA7cjxpLmxlbmd0aDtyKyspaVtyXS5hbmltYXRpb24ub25maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLl9zaG91bGRDb21wbGV0ZShpKSYmKHRoaXMuX2NvbXBsZXRlKGkpLGRlbGV0ZSB0aGlzLl9hY3RpdmVbdF0sdGhpcy5maXJlKCJuZW9uLWFuaW1hdGlvbi1maW5pc2giLGUse2J1YmJsZXM6ITF9KSl9LmJpbmQodGhpcyl9ZWxzZSB0aGlzLmZpcmUoIm5lb24tYW5pbWF0aW9uLWZpbmlzaCIsZSx7YnViYmxlczohMX0pfX0sY2FuY2VsQW5pbWF0aW9uOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuX2FjdGl2ZSl7dmFyIGU9dGhpcy5fYWN0aXZlW3RdO2Zvcih2YXIgbiBpbiBlKWVbbl0uYW5pbWF0aW9uLmNhbmNlbCgpfXRoaXMuX2FjdGl2ZT17fX19XTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpsZXQgQ2E7Y29uc3QgQWE9e3Byb3BlcnRpZXM6e3NpemluZ1RhcmdldDp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319LGZpdEludG86e3R5cGU6T2JqZWN0LHZhbHVlOndpbmRvd30sbm9PdmVybGFwOnt0eXBlOkJvb2xlYW59LHBvc2l0aW9uVGFyZ2V0Ont0eXBlOkVsZW1lbnR9LGhvcml6b250YWxBbGlnbjp7dHlwZTpTdHJpbmd9LHZlcnRpY2FsQWxpZ246e3R5cGU6U3RyaW5nfSxkeW5hbWljQWxpZ246e3R5cGU6Qm9vbGVhbn0saG9yaXpvbnRhbE9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITB9LHZlcnRpY2FsT2Zmc2V0Ont0eXBlOk51bWJlcix2YWx1ZTowLG5vdGlmeTohMH0sYXV0b0ZpdE9uQXR0YWNoOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGV4cGFuZFNpemluZ1RhcmdldEZvclNjcm9sbGJhcnM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2ZpdEluZm86e3R5cGU6T2JqZWN0fX0sZ2V0IF9maXRXaWR0aCgpe3JldHVybiB0aGlzLmZpdEludG89PT13aW5kb3c/dGhpcy5maXRJbnRvLmlubmVyV2lkdGg6dGhpcy5maXRJbnRvLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRofSxnZXQgX2ZpdEhlaWdodCgpe3JldHVybiB0aGlzLmZpdEludG89PT13aW5kb3c/dGhpcy5maXRJbnRvLmlubmVySGVpZ2h0OnRoaXMuZml0SW50by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHR9LGdldCBfZml0TGVmdCgpe3JldHVybiB0aGlzLmZpdEludG89PT13aW5kb3c/MDp0aGlzLmZpdEludG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdH0sZ2V0IF9maXRUb3AoKXtyZXR1cm4gdGhpcy5maXRJbnRvPT09d2luZG93PzA6dGhpcy5maXRJbnRvLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcH0sZ2V0IF9kZWZhdWx0UG9zaXRpb25UYXJnZXQoKXt2YXIgdD1lcih0aGlzKS5wYXJlbnROb2RlO3JldHVybiB0JiZ0Lm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFJiYodD10Lmhvc3QpLHR9LGdldCBfbG9jYWxlSG9yaXpvbnRhbEFsaWduKCl7aWYodGhpcy5faXNSVEwpe2lmKCJyaWdodCI9PT10aGlzLmhvcml6b250YWxBbGlnbilyZXR1cm4ibGVmdCI7aWYoImxlZnQiPT09dGhpcy5ob3Jpem9udGFsQWxpZ24pcmV0dXJuInJpZ2h0In1yZXR1cm4gdGhpcy5ob3Jpem9udGFsQWxpZ259LGdldCBfX3Nob3VsZFBvc2l0aW9uKCl7cmV0dXJuKHRoaXMuaG9yaXpvbnRhbEFsaWdufHx0aGlzLnZlcnRpY2FsQWxpZ24pJiZ0aGlzLnBvc2l0aW9uVGFyZ2V0fSxnZXQgX2lzUlRMKCl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX21lbW9pemVkSXNSVEwmJih0aGlzLl9tZW1vaXplZElzUlRMPSJydGwiPT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKS5kaXJlY3Rpb24pLHRoaXMuX21lbW9pemVkSXNSVEx9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5wb3NpdGlvblRhcmdldD10aGlzLnBvc2l0aW9uVGFyZ2V0fHx0aGlzLl9kZWZhdWx0UG9zaXRpb25UYXJnZXQsdGhpcy5hdXRvRml0T25BdHRhY2gmJigibm9uZSI9PT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKS5kaXNwbGF5P3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLmZpdCgpfS5iaW5kKHRoaXMpKTood2luZG93LlNoYWR5RE9NJiZTaGFkeURPTS5mbHVzaCgpLHRoaXMuZml0KCkpKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9fZGVmZXJyZWRGaXQmJihjbGVhclRpbWVvdXQodGhpcy5fX2RlZmVycmVkRml0KSx0aGlzLl9fZGVmZXJyZWRGaXQ9bnVsbCl9LGZpdDpmdW5jdGlvbigpe3RoaXMucG9zaXRpb24oKSx0aGlzLmNvbnN0cmFpbigpLHRoaXMuY2VudGVyKCl9LF9kaXNjb3ZlckluZm86ZnVuY3Rpb24oKXtpZighdGhpcy5fZml0SW5mbyl7dmFyIHQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcyksZT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnNpemluZ1RhcmdldCk7dGhpcy5fZml0SW5mbz17aW5saW5lU3R5bGU6e3RvcDp0aGlzLnN0eWxlLnRvcHx8IiIsbGVmdDp0aGlzLnN0eWxlLmxlZnR8fCIiLHBvc2l0aW9uOnRoaXMuc3R5bGUucG9zaXRpb258fCIifSxzaXplcklubGluZVN0eWxlOnttYXhXaWR0aDp0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5tYXhXaWR0aHx8IiIsbWF4SGVpZ2h0OnRoaXMuc2l6aW5nVGFyZ2V0LnN0eWxlLm1heEhlaWdodHx8IiIsYm94U2l6aW5nOnRoaXMuc2l6aW5nVGFyZ2V0LnN0eWxlLmJveFNpemluZ3x8IiJ9LHBvc2l0aW9uZWRCeTp7dmVydGljYWxseToiYXV0byIhPT10LnRvcD8idG9wIjoiYXV0byIhPT10LmJvdHRvbT8iYm90dG9tIjpudWxsLGhvcml6b250YWxseToiYXV0byIhPT10LmxlZnQ/ImxlZnQiOiJhdXRvIiE9PXQucmlnaHQ/InJpZ2h0IjpudWxsfSxzaXplZEJ5OntoZWlnaHQ6Im5vbmUiIT09ZS5tYXhIZWlnaHQsd2lkdGg6Im5vbmUiIT09ZS5tYXhXaWR0aCxtaW5XaWR0aDpwYXJzZUludChlLm1pbldpZHRoLDEwKXx8MCxtaW5IZWlnaHQ6cGFyc2VJbnQoZS5taW5IZWlnaHQsMTApfHwwfSxtYXJnaW46e3RvcDpwYXJzZUludCh0Lm1hcmdpblRvcCwxMCl8fDAscmlnaHQ6cGFyc2VJbnQodC5tYXJnaW5SaWdodCwxMCl8fDAsYm90dG9tOnBhcnNlSW50KHQubWFyZ2luQm90dG9tLDEwKXx8MCxsZWZ0OnBhcnNlSW50KHQubWFyZ2luTGVmdCwxMCl8fDB9fX19LHJlc2V0Rml0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZml0SW5mb3x8e307Zm9yKHZhciBlIGluIHQuc2l6ZXJJbmxpbmVTdHlsZSl0aGlzLnNpemluZ1RhcmdldC5zdHlsZVtlXT10LnNpemVySW5saW5lU3R5bGVbZV07Zm9yKHZhciBlIGluIHQuaW5saW5lU3R5bGUpdGhpcy5zdHlsZVtlXT10LmlubGluZVN0eWxlW2VdO3RoaXMuX2ZpdEluZm89bnVsbH0scmVmaXQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnNpemluZ1RhcmdldC5zY3JvbGxMZWZ0LGU9dGhpcy5zaXppbmdUYXJnZXQuc2Nyb2xsVG9wO3RoaXMucmVzZXRGaXQoKSx0aGlzLmZpdCgpLHRoaXMuc2l6aW5nVGFyZ2V0LnNjcm9sbExlZnQ9dCx0aGlzLnNpemluZ1RhcmdldC5zY3JvbGxUb3A9ZX0scG9zaXRpb246ZnVuY3Rpb24oKXtpZighdGhpcy5fX3Nob3VsZFBvc2l0aW9uKXJldHVybjt0aGlzLl9kaXNjb3ZlckluZm8oKSx3aW5kb3cuU2hhZHlET00mJndpbmRvdy5TaGFkeURPTS5mbHVzaCgpLHRoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIix0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5ib3hTaXppbmc9ImJvcmRlci1ib3giLHRoaXMuc3R5bGUubGVmdD0iMHB4Iix0aGlzLnN0eWxlLnRvcD0iMHB4Ijt2YXIgdD10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGU9dGhpcy5fX2dldE5vcm1hbGl6ZWRSZWN0KHRoaXMucG9zaXRpb25UYXJnZXQpLG49dGhpcy5fX2dldE5vcm1hbGl6ZWRSZWN0KHRoaXMuZml0SW50byk7bGV0IGkscixvLGE7dGhpcy5leHBhbmRTaXppbmdUYXJnZXRGb3JTY3JvbGxiYXJzJiYoaT10aGlzLnNpemluZ1RhcmdldC5vZmZzZXRXaWR0aCxyPXRoaXMuc2l6aW5nVGFyZ2V0Lm9mZnNldEhlaWdodCxvPXRoaXMuc2l6aW5nVGFyZ2V0LmNsaWVudFdpZHRoLGE9dGhpcy5zaXppbmdUYXJnZXQuY2xpZW50SGVpZ2h0KTt2YXIgcz10aGlzLl9maXRJbmZvLm1hcmdpbixsPXRoaXMuX19nZXRQb3NpdGlvbih0aGlzLl9sb2NhbGVIb3Jpem9udGFsQWxpZ24sdGhpcy52ZXJ0aWNhbEFsaWduLHt3aWR0aDp0LndpZHRoK3MubGVmdCtzLnJpZ2h0LGhlaWdodDp0LmhlaWdodCtzLnRvcCtzLmJvdHRvbX0sdCxlLG4pLGM9bC5sZWZ0K3MubGVmdCx1PWwudG9wK3MudG9wLGg9TWF0aC5taW4obi5yaWdodC1zLnJpZ2h0LGMrdC53aWR0aCksZD1NYXRoLm1pbihuLmJvdHRvbS1zLmJvdHRvbSx1K3QuaGVpZ2h0KTtjPU1hdGgubWF4KG4ubGVmdCtzLmxlZnQsTWF0aC5taW4oYyxoLXRoaXMuX2ZpdEluZm8uc2l6ZWRCeS5taW5XaWR0aCkpLHU9TWF0aC5tYXgobi50b3Arcy50b3AsTWF0aC5taW4odSxkLXRoaXMuX2ZpdEluZm8uc2l6ZWRCeS5taW5IZWlnaHQpKTtjb25zdCBwPU1hdGgubWF4KGgtYyx0aGlzLl9maXRJbmZvLnNpemVkQnkubWluV2lkdGgpLGY9TWF0aC5tYXgoZC11LHRoaXMuX2ZpdEluZm8uc2l6ZWRCeS5taW5IZWlnaHQpO3RoaXMuc2l6aW5nVGFyZ2V0LnN0eWxlLm1heFdpZHRoPXArInB4Iix0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5tYXhIZWlnaHQ9ZisicHgiO2NvbnN0IG09Yy10LmxlZnQsZz11LXQudG9wO2lmKHRoaXMuc3R5bGUubGVmdD1gJHttfXB4YCx0aGlzLnN0eWxlLnRvcD1gJHtnfXB4YCx0aGlzLmV4cGFuZFNpemluZ1RhcmdldEZvclNjcm9sbGJhcnMpe2NvbnN0IHQ9dGhpcy5zaXppbmdUYXJnZXQub2Zmc2V0SGVpZ2h0LGU9dC10aGlzLnNpemluZ1RhcmdldC5jbGllbnRIZWlnaHQtKHItYSk7aWYoZT4wKXtjb25zdCBpPU1hdGgubWluKG4uaGVpZ2h0LXMudG9wLXMuYm90dG9tLGYrZSk7dGhpcy5zaXppbmdUYXJnZXQuc3R5bGUubWF4SGVpZ2h0PWAke2l9cHhgO2NvbnN0IHI9dGhpcy5zaXppbmdUYXJnZXQub2Zmc2V0SGVpZ2h0LG89ci10O2xldCBhOyJ0b3AiPT09bC52ZXJ0aWNhbEFsaWduP2E9ZzoibWlkZGxlIj09PWwudmVydGljYWxBbGlnbj9hPWctby8yOiJib3R0b20iPT09bC52ZXJ0aWNhbEFsaWduJiYoYT1nLW8pLGE9TWF0aC5tYXgobi50b3Arcy50b3AsTWF0aC5taW4oYSxuLmJvdHRvbS1zLmJvdHRvbS1yKSksdGhpcy5zdHlsZS50b3A9YCR7YX1weGB9Y29uc3QgYz10aGlzLnNpemluZ1RhcmdldC5vZmZzZXRXaWR0aCx1PWMtdGhpcy5zaXppbmdUYXJnZXQuY2xpZW50V2lkdGgtKGktbyk7aWYodT4wKXtjb25zdCB0PSgoKT0+e2lmKHZvaWQgMCE9PUNhKXJldHVybiBDYTtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO09iamVjdC5hc3NpZ24odC5zdHlsZSx7b3ZlcmZsb3c6ImF1dG8iLHBvc2l0aW9uOiJmaXhlZCIsbGVmdDoiMHB4Iix0b3A6IjBweCIsbWF4V2lkdGg6IjEwMHB4IixtYXhIZWlnaHQ6IjEwMHB4In0pO2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGUuc3R5bGUud2lkdGg9IjIwMHB4IixlLnN0eWxlLmhlaWdodD0iMjAwcHgiLHQuYXBwZW5kQ2hpbGQoZSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KSxDYT1NYXRoLmFicyh0Lm9mZnNldFdpZHRoLTEwMCk+MT90Lm9mZnNldFdpZHRoLXQuY2xpZW50V2lkdGg6MCxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLENhfSkoKSxlPU1hdGgubWluKG4ud2lkdGgtcy5sZWZ0LXMucmlnaHQscCt1LXQpO3RoaXMuc2l6aW5nVGFyZ2V0LnN0eWxlLm1heFdpZHRoPWAke2V9cHhgO2NvbnN0IGk9dGhpcy5zaXppbmdUYXJnZXQub2Zmc2V0V2lkdGgrdCxyPWktYztsZXQgbzsibGVmdCI9PT1sLmhvcml6b250YWxBbGlnbj9vPW06ImNlbnRlciI9PT1sLmhvcml6b250YWxBbGlnbj9vPW0tci8yOiJyaWdodCI9PT1sLmhvcml6b250YWxBbGlnbiYmKG89bS1yKSxvPU1hdGgubWF4KG4ubGVmdCtzLmxlZnQsTWF0aC5taW4obyxuLnJpZ2h0LXMucmlnaHQtaSkpLHRoaXMuc3R5bGUubGVmdD1gJHtvfXB4YH19fSxjb25zdHJhaW46ZnVuY3Rpb24oKXtpZighdGhpcy5fX3Nob3VsZFBvc2l0aW9uKXt0aGlzLl9kaXNjb3ZlckluZm8oKTt2YXIgdD10aGlzLl9maXRJbmZvO3QucG9zaXRpb25lZEJ5LnZlcnRpY2FsbHl8fCh0aGlzLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdGhpcy5zdHlsZS50b3A9IjBweCIpLHQucG9zaXRpb25lZEJ5Lmhvcml6b250YWxseXx8KHRoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIix0aGlzLnN0eWxlLmxlZnQ9IjBweCIpLHRoaXMuc2l6aW5nVGFyZ2V0LnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCI7dmFyIGU9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0LnNpemVkQnkuaGVpZ2h0fHx0aGlzLl9fc2l6ZURpbWVuc2lvbihlLHQucG9zaXRpb25lZEJ5LnZlcnRpY2FsbHksInRvcCIsImJvdHRvbSIsIkhlaWdodCIpLHQuc2l6ZWRCeS53aWR0aHx8dGhpcy5fX3NpemVEaW1lbnNpb24oZSx0LnBvc2l0aW9uZWRCeS5ob3Jpem9udGFsbHksImxlZnQiLCJyaWdodCIsIldpZHRoIil9fSxfc2l6ZURpbWVuc2lvbjpmdW5jdGlvbih0LGUsbixpLHIpe3RoaXMuX19zaXplRGltZW5zaW9uKHQsZSxuLGkscil9LF9fc2l6ZURpbWVuc2lvbjpmdW5jdGlvbih0LGUsbixpLHIpe3ZhciBvPXRoaXMuX2ZpdEluZm8sYT10aGlzLl9fZ2V0Tm9ybWFsaXplZFJlY3QodGhpcy5maXRJbnRvKSxzPSJXaWR0aCI9PT1yP2Eud2lkdGg6YS5oZWlnaHQsbD1lPT09aSxjPSJvZmZzZXQiK3I7dGhpcy5zaXppbmdUYXJnZXQuc3R5bGVbIm1heCIrcl09cy1vLm1hcmdpbltsP246aV0tKGw/cy10W2ldOnRbbl0pLSh0aGlzW2NdLXRoaXMuc2l6aW5nVGFyZ2V0W2NdKSsicHgifSxjZW50ZXI6ZnVuY3Rpb24oKXtpZighdGhpcy5fX3Nob3VsZFBvc2l0aW9uKXt0aGlzLl9kaXNjb3ZlckluZm8oKTt2YXIgdD10aGlzLl9maXRJbmZvLnBvc2l0aW9uZWRCeTtpZighdC52ZXJ0aWNhbGx5fHwhdC5ob3Jpem9udGFsbHkpe3RoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIix0LnZlcnRpY2FsbHl8fCh0aGlzLnN0eWxlLnRvcD0iMHB4IiksdC5ob3Jpem9udGFsbHl8fCh0aGlzLnN0eWxlLmxlZnQ9IjBweCIpO3ZhciBlPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj10aGlzLl9fZ2V0Tm9ybWFsaXplZFJlY3QodGhpcy5maXRJbnRvKTtpZighdC52ZXJ0aWNhbGx5KXRoaXMuc3R5bGUudG9wPW4udG9wLWUudG9wKyhuLmhlaWdodC1lLmhlaWdodCkvMisicHgiO2lmKCF0Lmhvcml6b250YWxseSl0aGlzLnN0eWxlLmxlZnQ9bi5sZWZ0LWUubGVmdCsobi53aWR0aC1lLndpZHRoKS8yKyJweCJ9fX0sX19nZXROb3JtYWxpemVkUmVjdDpmdW5jdGlvbih0KXtyZXR1cm4gdD09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8dD09PXdpbmRvdz97dG9wOjAsbGVmdDowLHdpZHRoOndpbmRvdy5pbm5lcldpZHRoLGhlaWdodDp3aW5kb3cuaW5uZXJIZWlnaHQscmlnaHQ6d2luZG93LmlubmVyV2lkdGgsYm90dG9tOndpbmRvdy5pbm5lckhlaWdodH06dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0sX19nZXRPZmZzY3JlZW5BcmVhOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1NYXRoLm1pbigwLHQudG9wKStNYXRoLm1pbigwLG4uYm90dG9tLSh0LnRvcCtlLmhlaWdodCkpLHI9TWF0aC5taW4oMCx0LmxlZnQpK01hdGgubWluKDAsbi5yaWdodC0odC5sZWZ0K2Uud2lkdGgpKTtyZXR1cm4gTWF0aC5hYnMoaSkqZS53aWR0aCtNYXRoLmFicyhyKSplLmhlaWdodH0sX19nZXRQb3NpdGlvbjpmdW5jdGlvbih0LGUsbixpLHIsbyl7dmFyIGEscz1be3ZlcnRpY2FsQWxpZ246InRvcCIsaG9yaXpvbnRhbEFsaWduOiJsZWZ0Iix0b3A6ci50b3ArdGhpcy52ZXJ0aWNhbE9mZnNldCxsZWZ0OnIubGVmdCt0aGlzLmhvcml6b250YWxPZmZzZXR9LHt2ZXJ0aWNhbEFsaWduOiJ0b3AiLGhvcml6b250YWxBbGlnbjoicmlnaHQiLHRvcDpyLnRvcCt0aGlzLnZlcnRpY2FsT2Zmc2V0LGxlZnQ6ci5yaWdodC1uLndpZHRoLXRoaXMuaG9yaXpvbnRhbE9mZnNldH0se3ZlcnRpY2FsQWxpZ246ImJvdHRvbSIsaG9yaXpvbnRhbEFsaWduOiJsZWZ0Iix0b3A6ci5ib3R0b20tbi5oZWlnaHQtdGhpcy52ZXJ0aWNhbE9mZnNldCxsZWZ0OnIubGVmdCt0aGlzLmhvcml6b250YWxPZmZzZXR9LHt2ZXJ0aWNhbEFsaWduOiJib3R0b20iLGhvcml6b250YWxBbGlnbjoicmlnaHQiLHRvcDpyLmJvdHRvbS1uLmhlaWdodC10aGlzLnZlcnRpY2FsT2Zmc2V0LGxlZnQ6ci5yaWdodC1uLndpZHRoLXRoaXMuaG9yaXpvbnRhbE9mZnNldH1dO2lmKHRoaXMubm9PdmVybGFwKXtmb3IodmFyIGw9MCxjPXMubGVuZ3RoO2w8YztsKyspe3ZhciB1PXt9O2Zvcih2YXIgaCBpbiBzW2xdKXVbaF09c1tsXVtoXTtzLnB1c2godSl9c1swXS50b3A9c1sxXS50b3ArPXIuaGVpZ2h0LHNbMl0udG9wPXNbM10udG9wLT1yLmhlaWdodCxzWzRdLmxlZnQ9c1s2XS5sZWZ0Kz1yLndpZHRoLHNbNV0ubGVmdD1zWzddLmxlZnQtPXIud2lkdGh9ZT0iYXV0byI9PT1lP251bGw6ZSwodD0iYXV0byI9PT10P251bGw6dCkmJiJjZW50ZXIiIT09dHx8KHMucHVzaCh7dmVydGljYWxBbGlnbjoidG9wIixob3Jpem9udGFsQWxpZ246ImNlbnRlciIsdG9wOnIudG9wK3RoaXMudmVydGljYWxPZmZzZXQrKHRoaXMubm9PdmVybGFwP3IuaGVpZ2h0OjApLGxlZnQ6ci5sZWZ0LWkud2lkdGgvMityLndpZHRoLzIrdGhpcy5ob3Jpem9udGFsT2Zmc2V0fSkscy5wdXNoKHt2ZXJ0aWNhbEFsaWduOiJib3R0b20iLGhvcml6b250YWxBbGlnbjoiY2VudGVyIix0b3A6ci5ib3R0b20tbi5oZWlnaHQtdGhpcy52ZXJ0aWNhbE9mZnNldC0odGhpcy5ub092ZXJsYXA/ci5oZWlnaHQ6MCksbGVmdDpyLmxlZnQtaS53aWR0aC8yK3Iud2lkdGgvMit0aGlzLmhvcml6b250YWxPZmZzZXR9KSksZSYmIm1pZGRsZSIhPT1lfHwocy5wdXNoKHt2ZXJ0aWNhbEFsaWduOiJtaWRkbGUiLGhvcml6b250YWxBbGlnbjoibGVmdCIsdG9wOnIudG9wLWkuaGVpZ2h0LzIrci5oZWlnaHQvMit0aGlzLnZlcnRpY2FsT2Zmc2V0LGxlZnQ6ci5sZWZ0K3RoaXMuaG9yaXpvbnRhbE9mZnNldCsodGhpcy5ub092ZXJsYXA/ci53aWR0aDowKX0pLHMucHVzaCh7dmVydGljYWxBbGlnbjoibWlkZGxlIixob3Jpem9udGFsQWxpZ246InJpZ2h0Iix0b3A6ci50b3AtaS5oZWlnaHQvMityLmhlaWdodC8yK3RoaXMudmVydGljYWxPZmZzZXQsbGVmdDpyLnJpZ2h0LW4ud2lkdGgtdGhpcy5ob3Jpem9udGFsT2Zmc2V0LSh0aGlzLm5vT3ZlcmxhcD9yLndpZHRoOjApfSkpLCJtaWRkbGUiPT09ZSYmImNlbnRlciI9PT10JiZzLnB1c2goe3ZlcnRpY2FsQWxpZ246Im1pZGRsZSIsaG9yaXpvbnRhbEFsaWduOiJjZW50ZXIiLHRvcDpyLnRvcC1pLmhlaWdodC8yK3IuaGVpZ2h0LzIrdGhpcy52ZXJ0aWNhbE9mZnNldCxsZWZ0OnIubGVmdC1pLndpZHRoLzIrci53aWR0aC8yK3RoaXMuaG9yaXpvbnRhbE9mZnNldH0pO2ZvcihsPTA7bDxzLmxlbmd0aDtsKyspe3ZhciBkPXNbbF0scD1kLnZlcnRpY2FsQWxpZ249PT1lLGY9ZC5ob3Jpem9udGFsQWxpZ249PT10O2lmKCF0aGlzLmR5bmFtaWNBbGlnbiYmIXRoaXMubm9PdmVybGFwJiZwJiZmKXthPWQ7YnJlYWt9dmFyIG09KCFlfHxwKSYmKCF0fHxmKTtpZih0aGlzLmR5bmFtaWNBbGlnbnx8bSl7aWYoZC5vZmZzY3JlZW5BcmVhPXRoaXMuX19nZXRPZmZzY3JlZW5BcmVhKGQsbixvKSwwPT09ZC5vZmZzY3JlZW5BcmVhJiZtKXthPWQ7YnJlYWt9dmFyIGc9ZC5vZmZzY3JlZW5BcmVhLShhPWF8fGQpLm9mZnNjcmVlbkFyZWE7KGc8MHx8MD09PWcmJihwfHxmKSkmJihhPWQpfX1yZXR1cm4gYX19OwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTYgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KdmFyIGthPUVsZW1lbnQucHJvdG90eXBlLExhPWthLm1hdGNoZXN8fGthLm1hdGNoZXNTZWxlY3Rvcnx8a2EubW96TWF0Y2hlc1NlbGVjdG9yfHxrYS5tc01hdGNoZXNTZWxlY3Rvcnx8a2Eub01hdGNoZXNTZWxlY3Rvcnx8a2Eud2Via2l0TWF0Y2hlc1NlbGVjdG9yO2NvbnN0IFBhPW5ldyBjbGFzc3tnZXRUYWJiYWJsZU5vZGVzKHQpe3ZhciBlPVtdO3JldHVybiB0aGlzLl9jb2xsZWN0VGFiYmFibGVOb2Rlcyh0LGUpP3RoaXMuX3NvcnRCeVRhYkluZGV4KGUpOmV9aXNGb2N1c2FibGUodCl7cmV0dXJuIExhLmNhbGwodCwiaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGJ1dHRvbiwgb2JqZWN0Iik/TGEuY2FsbCh0LCI6bm90KFtkaXNhYmxlZF0pIik6TGEuY2FsbCh0LCJhW2hyZWZdLCBhcmVhW2hyZWZdLCBpZnJhbWUsIFt0YWJpbmRleF0sIFtjb250ZW50RWRpdGFibGVdIil9aXNUYWJiYWJsZSh0KXtyZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0KSYmTGEuY2FsbCh0LCc6bm90KFt0YWJpbmRleD0iLTEiXSknKSYmdGhpcy5faXNWaXNpYmxlKHQpfV9ub3JtYWxpemVkVGFiSW5kZXgodCl7aWYodGhpcy5pc0ZvY3VzYWJsZSh0KSl7dmFyIGU9dC5nZXRBdHRyaWJ1dGUoInRhYmluZGV4Iil8fDA7cmV0dXJuIE51bWJlcihlKX1yZXR1cm4tMX1fY29sbGVjdFRhYmJhYmxlTm9kZXModCxlKXtpZih0Lm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREUpcmV0dXJuITE7dmFyIG49dDtpZighdGhpcy5faXNWaXNpYmxlKG4pKXJldHVybiExO3ZhciBpLHI9dGhpcy5fbm9ybWFsaXplZFRhYkluZGV4KG4pLG89cj4wO3I+PTAmJmUucHVzaChuKSxpPSJjb250ZW50Ij09PW4ubG9jYWxOYW1lfHwic2xvdCI9PT1uLmxvY2FsTmFtZT9lcihuKS5nZXREaXN0cmlidXRlZE5vZGVzKCk6ZXIobi5yb290fHxuKS5jaGlsZHJlbjtmb3IodmFyIGE9MDthPGkubGVuZ3RoO2ErKylvPXRoaXMuX2NvbGxlY3RUYWJiYWJsZU5vZGVzKGlbYV0sZSl8fG87cmV0dXJuIG99X2lzVmlzaWJsZSh0KXt2YXIgZT10LnN0eWxlO3JldHVybiJoaWRkZW4iIT09ZS52aXNpYmlsaXR5JiYibm9uZSIhPT1lLmRpc3BsYXkmJigiaGlkZGVuIiE9PShlPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpKS52aXNpYmlsaXR5JiYibm9uZSIhPT1lLmRpc3BsYXkpfV9zb3J0QnlUYWJJbmRleCh0KXt2YXIgZT10Lmxlbmd0aDtpZihlPDIpcmV0dXJuIHQ7dmFyIG49TWF0aC5jZWlsKGUvMiksaT10aGlzLl9zb3J0QnlUYWJJbmRleCh0LnNsaWNlKDAsbikpLHI9dGhpcy5fc29ydEJ5VGFiSW5kZXgodC5zbGljZShuKSk7cmV0dXJuIHRoaXMuX21lcmdlU29ydEJ5VGFiSW5kZXgoaSxyKX1fbWVyZ2VTb3J0QnlUYWJJbmRleCh0LGUpe2Zvcih2YXIgbj1bXTt0Lmxlbmd0aD4wJiZlLmxlbmd0aD4wOyl0aGlzLl9oYXNMb3dlclRhYk9yZGVyKHRbMF0sZVswXSk/bi5wdXNoKGUuc2hpZnQoKSk6bi5wdXNoKHQuc2hpZnQoKSk7cmV0dXJuIG4uY29uY2F0KHQsZSl9X2hhc0xvd2VyVGFiT3JkZXIodCxlKXt2YXIgbj1NYXRoLm1heCh0LnRhYkluZGV4LDApLGk9TWF0aC5tYXgoZS50YWJJbmRleCwwKTtyZXR1cm4gMD09PW58fDA9PT1pP2k+bjpuPml9fTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taXJvbi1vdmVybGF5LWJhY2tkcm9wLWJhY2tncm91bmQtY29sb3IsICMwMDApOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIEBhcHBseSAtLWlyb24tb3ZlcmxheS1iYWNrZHJvcDsKICAgICAgfQoKICAgICAgOmhvc3QoLm9wZW5lZCkgewogICAgICAgIG9wYWNpdHk6IHZhcigtLWlyb24tb3ZlcmxheS1iYWNrZHJvcC1vcGFjaXR5LCAwLjYpOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICAgIEBhcHBseSAtLWlyb24tb3ZlcmxheS1iYWNrZHJvcC1vcGVuZWQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPHNsb3Q+PC9zbG90PgpgLGlzOiJpcm9uLW92ZXJsYXktYmFja2Ryb3AiLHByb3BlcnRpZXM6e29wZW5lZDp7cmVmbGVjdFRvQXR0cmlidXRlOiEwLHR5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX29wZW5lZENoYW5nZWQifX0sbGlzdGVuZXJzOnt0cmFuc2l0aW9uZW5kOiJfb25UcmFuc2l0aW9uZW5kIn0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuX19vcGVuZWRSYWY9bnVsbH0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZCYmdGhpcy5fb3BlbmVkQ2hhbmdlZCh0aGlzLm9wZW5lZCl9LHByZXBhcmU6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZCYmIXRoaXMucGFyZW50Tm9kZSYmZXIoZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQodGhpcyl9LG9wZW46ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZD0hMH0sY2xvc2U6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZD0hMX0sY29tcGxldGU6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZHx8dGhpcy5wYXJlbnROb2RlIT09ZG9jdW1lbnQuYm9keXx8ZXIodGhpcy5wYXJlbnROb2RlKS5yZW1vdmVDaGlsZCh0aGlzKX0sX29uVHJhbnNpdGlvbmVuZDpmdW5jdGlvbih0KXt0JiZ0LnRhcmdldD09PXRoaXMmJnRoaXMuY29tcGxldGUoKX0sX29wZW5lZENoYW5nZWQ6ZnVuY3Rpb24odCl7aWYodCl0aGlzLnByZXBhcmUoKTtlbHNle3ZhciBlPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpOyIwcyIhPT1lLnRyYW5zaXRpb25EdXJhdGlvbiYmMCE9ZS5vcGFjaXR5fHx0aGlzLmNvbXBsZXRlKCl9dGhpcy5pc0F0dGFjaGVkJiYodGhpcy5fX29wZW5lZFJhZiYmKHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9fb3BlbmVkUmFmKSx0aGlzLl9fb3BlbmVkUmFmPW51bGwpLHRoaXMuc2Nyb2xsVG9wPXRoaXMuc2Nyb2xsVG9wLHRoaXMuX19vcGVuZWRSYWY9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3RoaXMuX19vcGVuZWRSYWY9bnVsbCx0aGlzLnRvZ2dsZUNsYXNzKCJvcGVuZWQiLHRoaXMub3BlbmVkKX0uYmluZCh0aGlzKSkpfX0pO2NvbnN0IE5hPW5ldwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9vdmVybGF5cz1bXSx0aGlzLl9taW5pbXVtWj0xMDEsdGhpcy5fYmFja2Ryb3BFbGVtZW50PW51bGwsY2koZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCJ0YXAiLChmdW5jdGlvbigpe30pKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0YXAiLHRoaXMuX29uQ2FwdHVyZUNsaWNrLmJpbmQodGhpcyksITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9vbkNhcHR1cmVGb2N1cy5iaW5kKHRoaXMpLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9vbkNhcHR1cmVLZXlEb3duLmJpbmQodGhpcyksITApfWdldCBiYWNrZHJvcEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fYmFja2Ryb3BFbGVtZW50fHwodGhpcy5fYmFja2Ryb3BFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlyb24tb3ZlcmxheS1iYWNrZHJvcCIpKSx0aGlzLl9iYWNrZHJvcEVsZW1lbnR9Z2V0IGRlZXBBY3RpdmVFbGVtZW50KCl7dmFyIHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtmb3IodCYmdCBpbnN0YW5jZW9mIEVsZW1lbnQhPSExfHwodD1kb2N1bWVudC5ib2R5KTt0LnJvb3QmJmVyKHQucm9vdCkuYWN0aXZlRWxlbWVudDspdD1lcih0LnJvb3QpLmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIHR9X2JyaW5nT3ZlcmxheUF0SW5kZXhUb0Zyb250KHQpe3ZhciBlPXRoaXMuX292ZXJsYXlzW3RdO2lmKGUpe3ZhciBuPXRoaXMuX292ZXJsYXlzLmxlbmd0aC0xLGk9dGhpcy5fb3ZlcmxheXNbbl07aWYoaSYmdGhpcy5fc2hvdWxkQmVCZWhpbmRPdmVybGF5KGUsaSkmJm4tLSwhKHQ+PW4pKXt2YXIgcj1NYXRoLm1heCh0aGlzLmN1cnJlbnRPdmVybGF5WigpLHRoaXMuX21pbmltdW1aKTtmb3IodGhpcy5fZ2V0WihlKTw9ciYmdGhpcy5fYXBwbHlPdmVybGF5WihlLHIpO3Q8bjspdGhpcy5fb3ZlcmxheXNbdF09dGhpcy5fb3ZlcmxheXNbdCsxXSx0Kys7dGhpcy5fb3ZlcmxheXNbbl09ZX19fWFkZE9yUmVtb3ZlT3ZlcmxheSh0KXt0Lm9wZW5lZD90aGlzLmFkZE92ZXJsYXkodCk6dGhpcy5yZW1vdmVPdmVybGF5KHQpfWFkZE92ZXJsYXkodCl7dmFyIGU9dGhpcy5fb3ZlcmxheXMuaW5kZXhPZih0KTtpZihlPj0wKXJldHVybiB0aGlzLl9icmluZ092ZXJsYXlBdEluZGV4VG9Gcm9udChlKSx2b2lkIHRoaXMudHJhY2tCYWNrZHJvcCgpO3ZhciBuPXRoaXMuX292ZXJsYXlzLmxlbmd0aCxpPXRoaXMuX292ZXJsYXlzW24tMV0scj1NYXRoLm1heCh0aGlzLl9nZXRaKGkpLHRoaXMuX21pbmltdW1aKSxvPXRoaXMuX2dldFoodCk7aSYmdGhpcy5fc2hvdWxkQmVCZWhpbmRPdmVybGF5KHQsaSkmJih0aGlzLl9hcHBseU92ZXJsYXlaKGksciksbi0tLHI9TWF0aC5tYXgodGhpcy5fZ2V0Wih0aGlzLl9vdmVybGF5c1tuLTFdKSx0aGlzLl9taW5pbXVtWikpO288PXImJnRoaXMuX2FwcGx5T3ZlcmxheVoodCxyKSx0aGlzLl9vdmVybGF5cy5zcGxpY2UobiwwLHQpLHRoaXMudHJhY2tCYWNrZHJvcCgpfXJlbW92ZU92ZXJsYXkodCl7dmFyIGU9dGhpcy5fb3ZlcmxheXMuaW5kZXhPZih0KTstMSE9PWUmJih0aGlzLl9vdmVybGF5cy5zcGxpY2UoZSwxKSx0aGlzLnRyYWNrQmFja2Ryb3AoKSl9Y3VycmVudE92ZXJsYXkoKXtyZXR1cm4gdGhpcy5fb3ZlcmxheXNbdGhpcy5fb3ZlcmxheXMubGVuZ3RoLTFdfWN1cnJlbnRPdmVybGF5Wigpe3JldHVybiB0aGlzLl9nZXRaKHRoaXMuY3VycmVudE92ZXJsYXkoKSl9ZW5zdXJlTWluaW11bVoodCl7dGhpcy5fbWluaW11bVo9TWF0aC5tYXgodGhpcy5fbWluaW11bVosdCl9Zm9jdXNPdmVybGF5KCl7dmFyIHQ9dGhpcy5jdXJyZW50T3ZlcmxheSgpO3QmJnQuX2FwcGx5Rm9jdXMoKX10cmFja0JhY2tkcm9wKCl7dmFyIHQ9dGhpcy5fb3ZlcmxheVdpdGhCYWNrZHJvcCgpOyh0fHx0aGlzLl9iYWNrZHJvcEVsZW1lbnQpJiYodGhpcy5iYWNrZHJvcEVsZW1lbnQuc3R5bGUuekluZGV4PXRoaXMuX2dldFoodCktMSx0aGlzLmJhY2tkcm9wRWxlbWVudC5vcGVuZWQ9ISF0LHRoaXMuYmFja2Ryb3BFbGVtZW50LnByZXBhcmUoKSl9Z2V0QmFja2Ryb3BzKCl7Zm9yKHZhciB0PVtdLGU9MDtlPHRoaXMuX292ZXJsYXlzLmxlbmd0aDtlKyspdGhpcy5fb3ZlcmxheXNbZV0ud2l0aEJhY2tkcm9wJiZ0LnB1c2godGhpcy5fb3ZlcmxheXNbZV0pO3JldHVybiB0fWJhY2tkcm9wWigpe3JldHVybiB0aGlzLl9nZXRaKHRoaXMuX292ZXJsYXlXaXRoQmFja2Ryb3AoKSktMX1fb3ZlcmxheVdpdGhCYWNrZHJvcCgpe2Zvcih2YXIgdD10aGlzLl9vdmVybGF5cy5sZW5ndGgtMTt0Pj0wO3QtLSlpZih0aGlzLl9vdmVybGF5c1t0XS53aXRoQmFja2Ryb3ApcmV0dXJuIHRoaXMuX292ZXJsYXlzW3RdfV9nZXRaKHQpe3ZhciBlPXRoaXMuX21pbmltdW1aO2lmKHQpe3ZhciBuPU51bWJlcih0LnN0eWxlLnpJbmRleHx8d2luZG93LmdldENvbXB1dGVkU3R5bGUodCkuekluZGV4KTtuPT1uJiYoZT1uKX1yZXR1cm4gZX1fc2V0Wih0LGUpe3Quc3R5bGUuekluZGV4PWV9X2FwcGx5T3ZlcmxheVoodCxlKXt0aGlzLl9zZXRaKHQsZSsyKX1fb3ZlcmxheUluUGF0aCh0KXt0PXR8fFtdO2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKHRbZV0uX21hbmFnZXI9PT10aGlzKXJldHVybiB0W2VdfV9vbkNhcHR1cmVDbGljayh0KXt2YXIgZT10aGlzLl9vdmVybGF5cy5sZW5ndGgtMTtpZigtMSE9PWUpZm9yKHZhciBuLGk9ZXIodCkucGF0aDsobj10aGlzLl9vdmVybGF5c1tlXSkmJnRoaXMuX292ZXJsYXlJblBhdGgoaSkhPT1uJiYobi5fb25DYXB0dXJlQ2xpY2sodCksbi5hbGxvd0NsaWNrVGhyb3VnaCk7KWUtLX1fb25DYXB0dXJlRm9jdXModCl7dmFyIGU9dGhpcy5jdXJyZW50T3ZlcmxheSgpO2UmJmUuX29uQ2FwdHVyZUZvY3VzKHQpfV9vbkNhcHR1cmVLZXlEb3duKHQpe3ZhciBlPXRoaXMuY3VycmVudE92ZXJsYXkoKTtlJiYoWG8ua2V5Ym9hcmRFdmVudE1hdGNoZXNLZXlzKHQsImVzYyIpP2UuX29uQ2FwdHVyZUVzYyh0KTpYby5rZXlib2FyZEV2ZW50TWF0Y2hlc0tleXModCwidGFiIikmJmUuX29uQ2FwdHVyZVRhYih0KSl9X3Nob3VsZEJlQmVoaW5kT3ZlcmxheSh0LGUpe3JldHVybiF0LmFsd2F5c09uVG9wJiZlLmFsd2F5c09uVG9wfX07Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL3ZhciBJYSxSYSxPYT17cGFnZVg6MCxwYWdlWTowfSx6YT1udWxsLERhPVtdLEJhPVsid2hlZWwiLCJtb3VzZXdoZWVsIiwiRE9NTW91c2VTY3JvbGwiLCJ0b3VjaHN0YXJ0IiwidG91Y2htb3ZlIl07ZnVuY3Rpb24gSGEodCl7VmEuaW5kZXhPZih0KT49MHx8KDA9PT1WYS5sZW5ndGgmJihmdW5jdGlvbiBlKCl7SWE9SWF8fFVhLmJpbmQodm9pZCAwKTtmb3IodmFyIHQ9MCxlPUJhLmxlbmd0aDt0PGU7dCsrKWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoQmFbdF0sSWEse2NhcHR1cmU6ITAscGFzc2l2ZTohMX0pfSkoKSxWYS5wdXNoKHQpLFJhPVZhW1ZhLmxlbmd0aC0xXSl9ZnVuY3Rpb24gRmEodCl7dmFyIGU9VmEuaW5kZXhPZih0KTstMSE9PWUmJihWYS5zcGxpY2UoZSwxKSxSYT1WYVtWYS5sZW5ndGgtMV0sMD09PVZhLmxlbmd0aCYmKGZ1bmN0aW9uIG4oKXtmb3IodmFyIHQ9MCxlPUJhLmxlbmd0aDt0PGU7dCsrKWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoQmFbdF0sSWEse2NhcHR1cmU6ITAscGFzc2l2ZTohMX0pfSkoKSl9Y29uc3QgVmE9W107ZnVuY3Rpb24gVWEodCl7aWYodC5jYW5jZWxhYmxlJiYoZnVuY3Rpb24gZSh0KXt2YXIgZT1lcih0KS5yb290VGFyZ2V0OyJ0b3VjaG1vdmUiIT09dC50eXBlJiZ6YSE9PWUmJih6YT1lLERhPShmdW5jdGlvbiBuKHQpe2Zvcih2YXIgZT1bXSxuPXQuaW5kZXhPZihSYSksaT0wO2k8PW47aSsrKWlmKHRbaV0ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSl7dmFyIHI9dFtpXSxvPXIuc3R5bGU7InNjcm9sbCIhPT1vLm92ZXJmbG93JiYiYXV0byIhPT1vLm92ZXJmbG93JiYobz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShyKSksInNjcm9sbCIhPT1vLm92ZXJmbG93JiYiYXV0byIhPT1vLm92ZXJmbG93fHxlLnB1c2gocil9cmV0dXJuIGV9KShlcih0KS5wYXRoKSk7aWYoIURhLmxlbmd0aClyZXR1cm4hMDtpZigidG91Y2hzdGFydCI9PT10LnR5cGUpcmV0dXJuITE7dmFyIGk9KGZ1bmN0aW9uIHIodCl7dmFyIGU9e2RlbHRhWDp0LmRlbHRhWCxkZWx0YVk6dC5kZWx0YVl9O2lmKCJkZWx0YVgiaW4gdCk7ZWxzZSBpZigid2hlZWxEZWx0YVgiaW4gdCYmIndoZWVsRGVsdGFZImluIHQpZS5kZWx0YVg9LXQud2hlZWxEZWx0YVgsZS5kZWx0YVk9LXQud2hlZWxEZWx0YVk7ZWxzZSBpZigid2hlZWxEZWx0YSJpbiB0KWUuZGVsdGFYPTAsZS5kZWx0YVk9LXQud2hlZWxEZWx0YTtlbHNlIGlmKCJheGlzImluIHQpZS5kZWx0YVg9MT09PXQuYXhpcz90LmRldGFpbDowLGUuZGVsdGFZPTI9PT10LmF4aXM/dC5kZXRhaWw6MDtlbHNlIGlmKHQudGFyZ2V0VG91Y2hlcyl7dmFyIG49dC50YXJnZXRUb3VjaGVzWzBdO2UuZGVsdGFYPU9hLnBhZ2VYLW4ucGFnZVgsZS5kZWx0YVk9T2EucGFnZVktbi5wYWdlWX1yZXR1cm4gZX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovKSh0KTtyZXR1cm4hKGZ1bmN0aW9uIG8odCxlLG4pe2lmKCFlJiYhbilyZXR1cm47Zm9yKHZhciBpPU1hdGguYWJzKG4pPj1NYXRoLmFicyhlKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBvPXRbcl07aWYoaT9uPDA/by5zY3JvbGxUb3A+MDpvLnNjcm9sbFRvcDxvLnNjcm9sbEhlaWdodC1vLmNsaWVudEhlaWdodDplPDA/by5zY3JvbGxMZWZ0PjA6by5zY3JvbGxMZWZ0PG8uc2Nyb2xsV2lkdGgtby5jbGllbnRXaWR0aClyZXR1cm4gb319KShEYSxpLmRlbHRhWCxpLmRlbHRhWSl9KSh0KSYmdC5wcmV2ZW50RGVmYXVsdCgpLHQudGFyZ2V0VG91Y2hlcyl7dmFyIG49dC50YXJnZXRUb3VjaGVzWzBdO09hLnBhZ2VYPW4ucGFnZVgsT2EucGFnZVk9bi5wYWdlWX19Y29uc3QgamE9e3Byb3BlcnRpZXM6e29wZW5lZDp7b2JzZXJ2ZXI6Il9vcGVuZWRDaGFuZ2VkIix0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwfSxjYW5jZWxlZDp7b2JzZXJ2ZXI6Il9jYW5jZWxlZENoYW5nZWQiLHJlYWRPbmx5OiEwLHR5cGU6Qm9vbGVhbix2YWx1ZTohMX0sd2l0aEJhY2tkcm9wOntvYnNlcnZlcjoiX3dpdGhCYWNrZHJvcENoYW5nZWQiLHR5cGU6Qm9vbGVhbn0sbm9BdXRvRm9jdXM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sbm9DYW5jZWxPbkVzY0tleTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxub0NhbmNlbE9uT3V0c2lkZUNsaWNrOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGNsb3NpbmdSZWFzb246e3R5cGU6T2JqZWN0fSxyZXN0b3JlRm9jdXNPbkNsb3NlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGFsbG93Q2xpY2tUaHJvdWdoOnt0eXBlOkJvb2xlYW59LGFsd2F5c09uVG9wOnt0eXBlOkJvb2xlYW59LHNjcm9sbEFjdGlvbjp7dHlwZTpTdHJpbmd9LF9tYW5hZ2VyOnt0eXBlOk9iamVjdCx2YWx1ZTpOYX0sX2ZvY3VzZWRDaGlsZDp7dHlwZTpPYmplY3R9fSxsaXN0ZW5lcnM6eyJpcm9uLXJlc2l6ZSI6Il9vbklyb25SZXNpemUifSxvYnNlcnZlcnM6WyJfX3VwZGF0ZVNjcm9sbE9ic2VydmVycyhpc0F0dGFjaGVkLCBvcGVuZWQsIHNjcm9sbEFjdGlvbikiXSxnZXQgYmFja2Ryb3BFbGVtZW50KCl7cmV0dXJuIHRoaXMuX21hbmFnZXIuYmFja2Ryb3BFbGVtZW50fSxnZXQgX2ZvY3VzTm9kZSgpe3JldHVybiB0aGlzLl9mb2N1c2VkQ2hpbGR8fGVyKHRoaXMpLnF1ZXJ5U2VsZWN0b3IoIlthdXRvZm9jdXNdIil8fHRoaXN9LGdldCBfZm9jdXNhYmxlTm9kZXMoKXtyZXR1cm4gUGEuZ2V0VGFiYmFibGVOb2Rlcyh0aGlzKX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl9faXNBbmltYXRpbmc9ITEsdGhpcy5fX3Nob3VsZFJlbW92ZVRhYkluZGV4PSExLHRoaXMuX19maXJzdEZvY3VzYWJsZU5vZGU9dGhpcy5fX2xhc3RGb2N1c2FibGVOb2RlPW51bGwsdGhpcy5fX3JhZnM9e30sdGhpcy5fX3Jlc3RvcmVGb2N1c05vZGU9bnVsbCx0aGlzLl9fc2Nyb2xsVG9wPXRoaXMuX19zY3JvbGxMZWZ0PW51bGwsdGhpcy5fX29uQ2FwdHVyZVNjcm9sbD10aGlzLl9fb25DYXB0dXJlU2Nyb2xsLmJpbmQodGhpcyksdGhpcy5fX3Jvb3ROb2Rlcz1udWxsLHRoaXMuX2Vuc3VyZVNldHVwKCl9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQmJnRoaXMuX29wZW5lZENoYW5nZWQodGhpcy5vcGVuZWQpLHRoaXMuX29ic2VydmVyPWVyKHRoaXMpLm9ic2VydmVOb2Rlcyh0aGlzLl9vbk5vZGVzQ2hhbmdlKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fb2JzZXJ2ZXImJmVyKHRoaXMpLnVub2JzZXJ2ZU5vZGVzKHRoaXMuX29ic2VydmVyKSx0aGlzLl9vYnNlcnZlcj1udWxsLHRoaXMuX19yYWZzKW51bGwhPT10aGlzLl9fcmFmc1t0XSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fX3JhZnNbdF0pO3RoaXMuX19yYWZzPXt9LHRoaXMuX21hbmFnZXIucmVtb3ZlT3ZlcmxheSh0aGlzKSx0aGlzLl9faXNBbmltYXRpbmcmJih0aGlzLm9wZW5lZD90aGlzLl9maW5pc2hSZW5kZXJPcGVuZWQoKToodGhpcy5fYXBwbHlGb2N1cygpLHRoaXMuX2ZpbmlzaFJlbmRlckNsb3NlZCgpKSl9LHRvZ2dsZTpmdW5jdGlvbigpe3RoaXMuX3NldENhbmNlbGVkKCExKSx0aGlzLm9wZW5lZD0hdGhpcy5vcGVuZWR9LG9wZW46ZnVuY3Rpb24oKXt0aGlzLl9zZXRDYW5jZWxlZCghMSksdGhpcy5vcGVuZWQ9ITB9LGNsb3NlOmZ1bmN0aW9uKCl7dGhpcy5fc2V0Q2FuY2VsZWQoITEpLHRoaXMub3BlbmVkPSExfSxjYW5jZWw6ZnVuY3Rpb24odCl7dGhpcy5maXJlKCJpcm9uLW92ZXJsYXktY2FuY2VsZWQiLHQse2NhbmNlbGFibGU6ITB9KS5kZWZhdWx0UHJldmVudGVkfHwodGhpcy5fc2V0Q2FuY2VsZWQoITApLHRoaXMub3BlbmVkPSExKX0saW52YWxpZGF0ZVRhYmJhYmxlczpmdW5jdGlvbigpe3RoaXMuX19maXJzdEZvY3VzYWJsZU5vZGU9dGhpcy5fX2xhc3RGb2N1c2FibGVOb2RlPW51bGx9LF9lbnN1cmVTZXR1cDpmdW5jdGlvbigpe3RoaXMuX292ZXJsYXlTZXR1cHx8KHRoaXMuX292ZXJsYXlTZXR1cD0hMCx0aGlzLnN0eWxlLm91dGxpbmU9Im5vbmUiLHRoaXMuc3R5bGUuZGlzcGxheT0ibm9uZSIpfSxfb3BlbmVkQ2hhbmdlZDpmdW5jdGlvbih0KXt0P3RoaXMucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpOnRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0aGlzLmlzQXR0YWNoZWQmJih0aGlzLl9faXNBbmltYXRpbmc9ITAsdGhpcy5fX2RlcmFmKCJfX29wZW5lZENoYW5nZWQiLHRoaXMuX19vcGVuZWRDaGFuZ2VkKSl9LF9jYW5jZWxlZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmNsb3NpbmdSZWFzb249dGhpcy5jbG9zaW5nUmVhc29ufHx7fSx0aGlzLmNsb3NpbmdSZWFzb24uY2FuY2VsZWQ9dGhpcy5jYW5jZWxlZH0sX3dpdGhCYWNrZHJvcENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLndpdGhCYWNrZHJvcCYmIXRoaXMuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpPyh0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCItMSIpLHRoaXMuX19zaG91bGRSZW1vdmVUYWJJbmRleD0hMCk6dGhpcy5fX3Nob3VsZFJlbW92ZVRhYkluZGV4JiYodGhpcy5yZW1vdmVBdHRyaWJ1dGUoInRhYmluZGV4IiksdGhpcy5fX3Nob3VsZFJlbW92ZVRhYkluZGV4PSExKSx0aGlzLm9wZW5lZCYmdGhpcy5pc0F0dGFjaGVkJiZ0aGlzLl9tYW5hZ2VyLnRyYWNrQmFja2Ryb3AoKX0sX3ByZXBhcmVSZW5kZXJPcGVuZWQ6ZnVuY3Rpb24oKXt0aGlzLl9fcmVzdG9yZUZvY3VzTm9kZT10aGlzLl9tYW5hZ2VyLmRlZXBBY3RpdmVFbGVtZW50LHRoaXMuX3ByZXBhcmVQb3NpdGlvbmluZygpLHRoaXMucmVmaXQoKSx0aGlzLl9maW5pc2hQb3NpdGlvbmluZygpLHRoaXMubm9BdXRvRm9jdXMmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT10aGlzLl9mb2N1c05vZGUmJih0aGlzLl9mb2N1c05vZGUuYmx1cigpLHRoaXMuX19yZXN0b3JlRm9jdXNOb2RlLmZvY3VzKCkpfSxfcmVuZGVyT3BlbmVkOmZ1bmN0aW9uKCl7dGhpcy5fZmluaXNoUmVuZGVyT3BlbmVkKCl9LF9yZW5kZXJDbG9zZWQ6ZnVuY3Rpb24oKXt0aGlzLl9maW5pc2hSZW5kZXJDbG9zZWQoKX0sX2ZpbmlzaFJlbmRlck9wZW5lZDpmdW5jdGlvbigpe3RoaXMubm90aWZ5UmVzaXplKCksdGhpcy5fX2lzQW5pbWF0aW5nPSExLHRoaXMuZmlyZSgiaXJvbi1vdmVybGF5LW9wZW5lZCIpfSxfZmluaXNoUmVuZGVyQ2xvc2VkOmZ1bmN0aW9uKCl7dGhpcy5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLnN0eWxlLnpJbmRleD0iIix0aGlzLm5vdGlmeVJlc2l6ZSgpLHRoaXMuX19pc0FuaW1hdGluZz0hMSx0aGlzLmZpcmUoImlyb24tb3ZlcmxheS1jbG9zZWQiLHRoaXMuY2xvc2luZ1JlYXNvbil9LF9wcmVwYXJlUG9zaXRpb25pbmc6ZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnRyYW5zaXRpb249dGhpcy5zdHlsZS53ZWJraXRUcmFuc2l0aW9uPSJub25lIix0aGlzLnN0eWxlLnRyYW5zZm9ybT10aGlzLnN0eWxlLndlYmtpdFRyYW5zZm9ybT0ibm9uZSIsdGhpcy5zdHlsZS5kaXNwbGF5PSIifSxfZmluaXNoUG9zaXRpb25pbmc6ZnVuY3Rpb24oKXt0aGlzLnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuc2Nyb2xsVG9wPXRoaXMuc2Nyb2xsVG9wLHRoaXMuc3R5bGUudHJhbnNpdGlvbj10aGlzLnN0eWxlLndlYmtpdFRyYW5zaXRpb249IiIsdGhpcy5zdHlsZS50cmFuc2Zvcm09dGhpcy5zdHlsZS53ZWJraXRUcmFuc2Zvcm09IiIsdGhpcy5zdHlsZS5kaXNwbGF5PSIiLHRoaXMuc2Nyb2xsVG9wPXRoaXMuc2Nyb2xsVG9wfSxfYXBwbHlGb2N1czpmdW5jdGlvbigpe2lmKHRoaXMub3BlbmVkKXRoaXMubm9BdXRvRm9jdXN8fHRoaXMuX2ZvY3VzTm9kZS5mb2N1cygpO2Vsc2V7aWYodGhpcy5yZXN0b3JlRm9jdXNPbkNsb3NlJiZ0aGlzLl9fcmVzdG9yZUZvY3VzTm9kZSl7dmFyIHQ9dGhpcy5fbWFuYWdlci5kZWVwQWN0aXZlRWxlbWVudDsodD09PWRvY3VtZW50LmJvZHl8fEdhKHRoaXMsdCkpJiZ0aGlzLl9fcmVzdG9yZUZvY3VzTm9kZS5mb2N1cygpfXRoaXMuX19yZXN0b3JlRm9jdXNOb2RlPW51bGwsdGhpcy5fZm9jdXNOb2RlLmJsdXIoKSx0aGlzLl9mb2N1c2VkQ2hpbGQ9bnVsbH19LF9vbkNhcHR1cmVDbGljazpmdW5jdGlvbih0KXt0aGlzLm5vQ2FuY2VsT25PdXRzaWRlQ2xpY2t8fHRoaXMuY2FuY2VsKHQpfSxfb25DYXB0dXJlRm9jdXM6ZnVuY3Rpb24odCl7aWYodGhpcy53aXRoQmFja2Ryb3Ape3ZhciBlPWVyKHQpLnBhdGg7LTE9PT1lLmluZGV4T2YodGhpcyk/KHQuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5fYXBwbHlGb2N1cygpKTp0aGlzLl9mb2N1c2VkQ2hpbGQ9ZVswXX19LF9vbkNhcHR1cmVFc2M6ZnVuY3Rpb24odCl7dGhpcy5ub0NhbmNlbE9uRXNjS2V5fHx0aGlzLmNhbmNlbCh0KX0sX29uQ2FwdHVyZVRhYjpmdW5jdGlvbih0KXtpZih0aGlzLndpdGhCYWNrZHJvcCl7dGhpcy5fX2Vuc3VyZUZpcnN0TGFzdEZvY3VzYWJsZXMoKTt2YXIgZT10LnNoaWZ0S2V5LG49ZT90aGlzLl9fZmlyc3RGb2N1c2FibGVOb2RlOnRoaXMuX19sYXN0Rm9jdXNhYmxlTm9kZSxpPWU/dGhpcy5fX2xhc3RGb2N1c2FibGVOb2RlOnRoaXMuX19maXJzdEZvY3VzYWJsZU5vZGUscj0hMTtpZihuPT09aSlyPSEwO2Vsc2V7dmFyIG89dGhpcy5fbWFuYWdlci5kZWVwQWN0aXZlRWxlbWVudDtyPW89PT1ufHxvPT09dGhpc31yJiYodC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2ZvY3VzZWRDaGlsZD1pLHRoaXMuX2FwcGx5Rm9jdXMoKSl9fSxfb25Jcm9uUmVzaXplOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQmJiF0aGlzLl9faXNBbmltYXRpbmcmJnRoaXMuX19kZXJhZigicmVmaXQiLHRoaXMucmVmaXQpfSxfb25Ob2Rlc0NoYW5nZTpmdW5jdGlvbigpe3RoaXMub3BlbmVkJiYhdGhpcy5fX2lzQW5pbWF0aW5nJiYodGhpcy5pbnZhbGlkYXRlVGFiYmFibGVzKCksdGhpcy5ub3RpZnlSZXNpemUoKSl9LF9fZW5zdXJlRmlyc3RMYXN0Rm9jdXNhYmxlczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2ZvY3VzYWJsZU5vZGVzO3RoaXMuX19maXJzdEZvY3VzYWJsZU5vZGU9dFswXSx0aGlzLl9fbGFzdEZvY3VzYWJsZU5vZGU9dFt0Lmxlbmd0aC0xXX0sX19vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ/KHRoaXMuX3ByZXBhcmVSZW5kZXJPcGVuZWQoKSx0aGlzLl9tYW5hZ2VyLmFkZE92ZXJsYXkodGhpcyksdGhpcy5fYXBwbHlGb2N1cygpLHRoaXMuX3JlbmRlck9wZW5lZCgpKToodGhpcy5fbWFuYWdlci5yZW1vdmVPdmVybGF5KHRoaXMpLHRoaXMuX2FwcGx5Rm9jdXMoKSx0aGlzLl9yZW5kZXJDbG9zZWQoKSl9LF9fZGVyYWY6ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fcmFmcztudWxsIT09blt0XSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoblt0XSksblt0XT1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gaSgpe25bdF09bnVsbCxlLmNhbGwodGhpcyl9LmJpbmQodGhpcykpfSxfX3VwZGF0ZVNjcm9sbE9ic2VydmVyczpmdW5jdGlvbih0LGUsbil7dCYmZSYmdGhpcy5fX2lzVmFsaWRTY3JvbGxBY3Rpb24obik/KCJsb2NrIj09PW4mJih0aGlzLl9fc2F2ZVNjcm9sbFBvc2l0aW9uKCksSGEodGhpcykpLHRoaXMuX19hZGRTY3JvbGxMaXN0ZW5lcnMoKSk6KEZhKHRoaXMpLHRoaXMuX19yZW1vdmVTY3JvbGxMaXN0ZW5lcnMoKSl9LF9fYWRkU2Nyb2xsTGlzdGVuZXJzOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX19yb290Tm9kZXMpe2lmKHRoaXMuX19yb290Tm9kZXM9W10sbSlmb3IodmFyIHQ9dGhpczt0Oyl0Lm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFJiZ0Lmhvc3QmJnRoaXMuX19yb290Tm9kZXMucHVzaCh0KSx0PXQuaG9zdHx8dC5hc3NpZ25lZFNsb3R8fHQucGFyZW50Tm9kZTt0aGlzLl9fcm9vdE5vZGVzLnB1c2goZG9jdW1lbnQpfXRoaXMuX19yb290Tm9kZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX19vbkNhcHR1cmVTY3JvbGwse2NhcHR1cmU6ITAscGFzc2l2ZTohMH0pfSksdGhpcyl9LF9fcmVtb3ZlU2Nyb2xsTGlzdGVuZXJzOmZ1bmN0aW9uKCl7dGhpcy5fX3Jvb3ROb2RlcyYmdGhpcy5fX3Jvb3ROb2Rlcy5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5fX29uQ2FwdHVyZVNjcm9sbCx7Y2FwdHVyZTohMCxwYXNzaXZlOiEwfSl9KSx0aGlzKSx0aGlzLmlzQXR0YWNoZWR8fCh0aGlzLl9fcm9vdE5vZGVzPW51bGwpfSxfX2lzVmFsaWRTY3JvbGxBY3Rpb246ZnVuY3Rpb24odCl7cmV0dXJuImxvY2siPT09dHx8InJlZml0Ij09PXR8fCJjYW5jZWwiPT09dH0sX19vbkNhcHR1cmVTY3JvbGw6ZnVuY3Rpb24odCl7aWYoISh0aGlzLl9faXNBbmltYXRpbmd8fGVyKHQpLnBhdGguaW5kZXhPZih0aGlzKT49MCkpc3dpdGNoKHRoaXMuc2Nyb2xsQWN0aW9uKXtjYXNlImxvY2siOnRoaXMuX19yZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTticmVhaztjYXNlInJlZml0Ijp0aGlzLl9fZGVyYWYoInJlZml0Iix0aGlzLnJlZml0KTticmVhaztjYXNlImNhbmNlbCI6dGhpcy5jYW5jZWwodCl9fSxfX3NhdmVTY3JvbGxQb3NpdGlvbjpmdW5jdGlvbigpe2RvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQ/KHRoaXMuX19zY3JvbGxUb3A9ZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AsdGhpcy5fX3Njcm9sbExlZnQ9ZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxMZWZ0KToodGhpcy5fX3Njcm9sbFRvcD1NYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wLGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSx0aGlzLl9fc2Nyb2xsTGVmdD1NYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCxkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQpKX0sX19yZXN0b3JlU2Nyb2xsUG9zaXRpb246ZnVuY3Rpb24oKXtkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50Pyhkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcD10aGlzLl9fc2Nyb2xsVG9wLGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsTGVmdD10aGlzLl9fc2Nyb2xsTGVmdCk6KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A9dGhpcy5fX3Njcm9sbFRvcCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdD1kb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ9dGhpcy5fX3Njcm9sbExlZnQpfX0sR2E9KHQsZSk9Pntmb3IobGV0IGk9ZTtpO2k9KG49aSkuYXNzaWduZWRTbG90fHxuLnBhcmVudE5vZGV8fG4uaG9zdClpZihpPT09dClyZXR1cm4hMDt2YXIgbjtyZXR1cm4hMX0sV2E9W0FhLENvLGphXSxxYT17aG9zdEF0dHJpYnV0ZXM6e3JvbGU6ImRpYWxvZyIsdGFiaW5kZXg6Ii0xIn0scHJvcGVydGllczp7bW9kYWw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX19yZWFkaWVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxvYnNlcnZlcnM6WyJfbW9kYWxDaGFuZ2VkKG1vZGFsLCBfX3JlYWRpZWQpIl0sbGlzdGVuZXJzOnt0YXA6Il9vbkRpYWxvZ0NsaWNrIn0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl9fcHJldk5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s9dGhpcy5ub0NhbmNlbE9uT3V0c2lkZUNsaWNrLHRoaXMuX19wcmV2Tm9DYW5jZWxPbkVzY0tleT10aGlzLm5vQ2FuY2VsT25Fc2NLZXksdGhpcy5fX3ByZXZXaXRoQmFja2Ryb3A9dGhpcy53aXRoQmFja2Ryb3AsdGhpcy5fX3JlYWRpZWQ9ITB9LF9tb2RhbENoYW5nZWQ6ZnVuY3Rpb24odCxlKXtlJiYodD8odGhpcy5fX3ByZXZOb0NhbmNlbE9uT3V0c2lkZUNsaWNrPXRoaXMubm9DYW5jZWxPbk91dHNpZGVDbGljayx0aGlzLl9fcHJldk5vQ2FuY2VsT25Fc2NLZXk9dGhpcy5ub0NhbmNlbE9uRXNjS2V5LHRoaXMuX19wcmV2V2l0aEJhY2tkcm9wPXRoaXMud2l0aEJhY2tkcm9wLHRoaXMubm9DYW5jZWxPbk91dHNpZGVDbGljaz0hMCx0aGlzLm5vQ2FuY2VsT25Fc2NLZXk9ITAsdGhpcy53aXRoQmFja2Ryb3A9ITApOih0aGlzLm5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s9dGhpcy5ub0NhbmNlbE9uT3V0c2lkZUNsaWNrJiZ0aGlzLl9fcHJldk5vQ2FuY2VsT25PdXRzaWRlQ2xpY2ssdGhpcy5ub0NhbmNlbE9uRXNjS2V5PXRoaXMubm9DYW5jZWxPbkVzY0tleSYmdGhpcy5fX3ByZXZOb0NhbmNlbE9uRXNjS2V5LHRoaXMud2l0aEJhY2tkcm9wPXRoaXMud2l0aEJhY2tkcm9wJiZ0aGlzLl9fcHJldldpdGhCYWNrZHJvcCkpfSxfdXBkYXRlQ2xvc2luZ1JlYXNvbkNvbmZpcm1lZDpmdW5jdGlvbih0KXt0aGlzLmNsb3NpbmdSZWFzb249dGhpcy5jbG9zaW5nUmVhc29ufHx7fSx0aGlzLmNsb3NpbmdSZWFzb24uY29uZmlybWVkPXR9LF9vbkRpYWxvZ0NsaWNrOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1lcih0KS5wYXRoLG49MCxpPWUuaW5kZXhPZih0aGlzKTtuPGk7bisrKXt2YXIgcj1lW25dO2lmKHIuaGFzQXR0cmlidXRlJiYoci5oYXNBdHRyaWJ1dGUoImRpYWxvZy1kaXNtaXNzIil8fHIuaGFzQXR0cmlidXRlKCJkaWFsb2ctY29uZmlybSIpKSl7dGhpcy5fdXBkYXRlQ2xvc2luZ1JlYXNvbkNvbmZpcm1lZChyLmhhc0F0dHJpYnV0ZSgiZGlhbG9nLWNvbmZpcm0iKSksdGhpcy5jbG9zZSgpLHQuc3RvcFByb3BhZ2F0aW9uKCk7YnJlYWt9fX19OwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1kaWFsb2ctc2hhcmVkLXN0eWxlcyI+PC9zdHlsZT4KICAgIDxzbG90Pjwvc2xvdD4KYCxpczoicGFwZXItZGlhbG9nIixiZWhhdmlvcnM6W1tXYSxxYV0sVGFdLGxpc3RlbmVyczp7Im5lb24tYW5pbWF0aW9uLWZpbmlzaCI6Il9vbk5lb25BbmltYXRpb25GaW5pc2gifSxfcmVuZGVyT3BlbmVkOmZ1bmN0aW9uKCl7dGhpcy5jYW5jZWxBbmltYXRpb24oKSx0aGlzLnBsYXlBbmltYXRpb24oImVudHJ5Iil9LF9yZW5kZXJDbG9zZWQ6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbEFuaW1hdGlvbigpLHRoaXMucGxheUFuaW1hdGlvbigiZXhpdCIpfSxfb25OZW9uQW5pbWF0aW9uRmluaXNoOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ/dGhpcy5fZmluaXNoUmVuZGVyT3BlbmVkKCk6dGhpcy5fZmluaXNoUmVuZGVyQ2xvc2VkKCl9fSksCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpqcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgoKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIEBhcHBseSAtLWxheW91dC1yZWxhdGl2ZTsKICAgICAgfQoKICAgICAgOmhvc3QoLmlzLXNjcm9sbGVkOm5vdCg6Zmlyc3QtY2hpbGQpKTo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGl2aWRlci1jb2xvcik7CiAgICAgIH0KCiAgICAgIDpob3N0KC5jYW4tc2Nyb2xsOm5vdCguc2Nyb2xsZWQtdG8tYm90dG9tKTpub3QoOmxhc3QtY2hpbGQpKTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kaXZpZGVyLWNvbG9yKTsKICAgICAgfQoKICAgICAgLnNjcm9sbGFibGUgewogICAgICAgIHBhZGRpbmc6IDAgMjRweDsKCiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXNjcm9sbDsKICAgICAgICBAYXBwbHkgLS1wYXBlci1kaWFsb2ctc2Nyb2xsYWJsZTsKICAgICAgfQoKICAgICAgLmZpdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZpdDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJzY3JvbGxhYmxlIiBjbGFzcz0ic2Nyb2xsYWJsZSIgb24tc2Nyb2xsPSJ1cGRhdGVTY3JvbGxTdGF0ZSI+CiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIDwvZGl2PgpgLGlzOiJwYXBlci1kaWFsb2ctc2Nyb2xsYWJsZSIscHJvcGVydGllczp7ZGlhbG9nRWxlbWVudDp7dHlwZTpPYmplY3R9fSxnZXQgc2Nyb2xsVGFyZ2V0KCl7cmV0dXJuIHRoaXMuJC5zY3JvbGxhYmxlfSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuX2Vuc3VyZVRhcmdldCgpLHRoaXMuY2xhc3NMaXN0LmFkZCgibm8tcGFkZGluZyIpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2Vuc3VyZVRhcmdldCgpLHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnVwZGF0ZVNjcm9sbFN0YXRlLmJpbmQodGhpcykpfSx1cGRhdGVTY3JvbGxTdGF0ZTpmdW5jdGlvbigpe3RoaXMudG9nZ2xlQ2xhc3MoImlzLXNjcm9sbGVkIix0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxUb3A+MCksdGhpcy50b2dnbGVDbGFzcygiY2FuLXNjcm9sbCIsdGhpcy5zY3JvbGxUYXJnZXQub2Zmc2V0SGVpZ2h0PHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbEhlaWdodCksdGhpcy50b2dnbGVDbGFzcygic2Nyb2xsZWQtdG8tYm90dG9tIix0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxUb3ArdGhpcy5zY3JvbGxUYXJnZXQub2Zmc2V0SGVpZ2h0Pj10aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxIZWlnaHQpfSxfZW5zdXJlVGFyZ2V0OmZ1bmN0aW9uKCl7dGhpcy5kaWFsb2dFbGVtZW50PXRoaXMuZGlhbG9nRWxlbWVudHx8dGhpcy5wYXJlbnRFbGVtZW50LHRoaXMuZGlhbG9nRWxlbWVudCYmdGhpcy5kaWFsb2dFbGVtZW50LmJlaGF2aW9ycyYmdGhpcy5kaWFsb2dFbGVtZW50LmJlaGF2aW9ycy5pbmRleE9mKHFhKT49MD8odGhpcy5kaWFsb2dFbGVtZW50LnNpemluZ1RhcmdldD10aGlzLnNjcm9sbFRhcmdldCx0aGlzLnNjcm9sbFRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKCJmaXQiKSk6dGhpcy5kaWFsb2dFbGVtZW50JiZ0aGlzLnNjcm9sbFRhcmdldC5jbGFzc0xpc3QuYWRkKCJmaXQiKX19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IFlhPWpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIGNsaXA6IHJlY3QoMHB4LDBweCwwcHgsMHB4KTsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxkaXYgYXJpYS1saXZlJD0iW1ttb2RlXV0iPltbX3RleHRdXTwvZGl2PgpgLGlzOiJpcm9uLWExMXktYW5ub3VuY2VyIixwcm9wZXJ0aWVzOnttb2RlOnt0eXBlOlN0cmluZyx2YWx1ZToicG9saXRlIn0sdGltZW91dDp7dHlwZTpOdW1iZXIsdmFsdWU6MTUwfSxfdGV4dDp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7WWEuaW5zdGFuY2V8fChZYS5pbnN0YW5jZT10aGlzKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJpcm9uLWFubm91bmNlIix0aGlzLl9vbklyb25Bbm5vdW5jZS5iaW5kKHRoaXMpKX0sYW5ub3VuY2U6ZnVuY3Rpb24odCl7dGhpcy5fdGV4dD0iIix0aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuX3RleHQ9dH0pLHRoaXMudGltZW91dCl9LF9vbklyb25Bbm5vdW5jZTpmdW5jdGlvbih0KXt0LmRldGFpbCYmdC5kZXRhaWwudGV4dCYmdGhpcy5hbm5vdW5jZSh0LmRldGFpbC50ZXh0KX19KTtZYS5pbnN0YW5jZT1udWxsLFlhLnJlcXVlc3RBdmFpbGFiaWxpdHk9ZnVuY3Rpb24oKXtZYS5pbnN0YW5jZXx8KFlhLmluc3RhbmNlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlyb24tYTExeS1hbm5vdW5jZXIiKSksZG9jdW1lbnQuYm9keT9kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKFlhLmluc3RhbmNlKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoZnVuY3Rpb24oKXtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKFlhLmluc3RhbmNlKX0pKX0sCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpqcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPHNsb3QgaWQ9ImNvbnRlbnQiPjwvc2xvdD4KYCxpczoiaXJvbi1pbnB1dCIsYmVoYXZpb3JzOlt5YV0scHJvcGVydGllczp7YmluZFZhbHVlOnt0eXBlOlN0cmluZyx2YWx1ZToiIn0sdmFsdWU6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVZhbHVlKGJpbmRWYWx1ZSkifSxhbGxvd2VkUGF0dGVybjp7dHlwZTpTdHJpbmd9LGF1dG9WYWxpZGF0ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfaW5wdXRFbGVtZW50Ok9iamVjdH0sb2JzZXJ2ZXJzOlsiX2JpbmRWYWx1ZUNoYW5nZWQoYmluZFZhbHVlLCBfaW5wdXRFbGVtZW50KSJdLGxpc3RlbmVyczp7aW5wdXQ6Il9vbklucHV0IixrZXlwcmVzczoiX29uS2V5cHJlc3MifSxjcmVhdGVkOmZ1bmN0aW9uKCl7WWEucmVxdWVzdEF2YWlsYWJpbGl0eSgpLHRoaXMuX3ByZXZpb3VzVmFsaWRJbnB1dD0iIix0aGlzLl9wYXR0ZXJuQWxyZWFkeUNoZWNrZWQ9ITF9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXI9ZXIodGhpcykub2JzZXJ2ZU5vZGVzKGZ1bmN0aW9uKHQpe3RoaXMuX2luaXRTbG90dGVkSW5wdXQoKX0uYmluZCh0aGlzKSl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXImJihlcih0aGlzKS51bm9ic2VydmVOb2Rlcyh0aGlzLl9vYnNlcnZlciksdGhpcy5fb2JzZXJ2ZXI9bnVsbCl9LGdldCBpbnB1dEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5faW5wdXRFbGVtZW50fSxfaW5pdFNsb3R0ZWRJbnB1dDpmdW5jdGlvbigpe3RoaXMuX2lucHV0RWxlbWVudD10aGlzLmdldEVmZmVjdGl2ZUNoaWxkcmVuKClbMF0sdGhpcy5pbnB1dEVsZW1lbnQmJnRoaXMuaW5wdXRFbGVtZW50LnZhbHVlJiYodGhpcy5iaW5kVmFsdWU9dGhpcy5pbnB1dEVsZW1lbnQudmFsdWUpLHRoaXMuZmlyZSgiaXJvbi1pbnB1dC1yZWFkeSIpfSxnZXQgX3BhdHRlcm5SZWdFeHAoKXt2YXIgdDtpZih0aGlzLmFsbG93ZWRQYXR0ZXJuKXQ9bmV3IFJlZ0V4cCh0aGlzLmFsbG93ZWRQYXR0ZXJuKTtlbHNlIHN3aXRjaCh0aGlzLmlucHV0RWxlbWVudC50eXBlKXtjYXNlIm51bWJlciI6dD0vWzAtOS4sZS1dL31yZXR1cm4gdH0sX2JpbmRWYWx1ZUNoYW5nZWQ6ZnVuY3Rpb24odCxlKXtlJiYodm9pZCAwPT09dD9lLnZhbHVlPW51bGw6dCE9PWUudmFsdWUmJih0aGlzLmlucHV0RWxlbWVudC52YWx1ZT10KSx0aGlzLmF1dG9WYWxpZGF0ZSYmdGhpcy52YWxpZGF0ZSgpLHRoaXMuZmlyZSgiYmluZC12YWx1ZS1jaGFuZ2VkIix7dmFsdWU6dH0pKX0sX29uSW5wdXQ6ZnVuY3Rpb24oKXt0aGlzLmFsbG93ZWRQYXR0ZXJuJiYhdGhpcy5fcGF0dGVybkFscmVhZHlDaGVja2VkJiYodGhpcy5fY2hlY2tQYXR0ZXJuVmFsaWRpdHkoKXx8KHRoaXMuX2Fubm91bmNlSW52YWxpZENoYXJhY3RlcigiSW52YWxpZCBzdHJpbmcgb2YgY2hhcmFjdGVycyBub3QgZW50ZXJlZC4iKSx0aGlzLmlucHV0RWxlbWVudC52YWx1ZT10aGlzLl9wcmV2aW91c1ZhbGlkSW5wdXQpKTt0aGlzLmJpbmRWYWx1ZT10aGlzLl9wcmV2aW91c1ZhbGlkSW5wdXQ9dGhpcy5pbnB1dEVsZW1lbnQudmFsdWUsdGhpcy5fcGF0dGVybkFscmVhZHlDaGVja2VkPSExfSxfaXNQcmludGFibGU6ZnVuY3Rpb24odCl7cmV0dXJuISg4PT10LmtleUNvZGV8fDk9PXQua2V5Q29kZXx8MTM9PXQua2V5Q29kZXx8Mjc9PXQua2V5Q29kZXx8MD09dC5jaGFyQ29kZSYmKDE5PT10LmtleUNvZGV8fDIwPT10LmtleUNvZGV8fDQ1PT10LmtleUNvZGV8fDQ2PT10LmtleUNvZGV8fDE0ND09dC5rZXlDb2RlfHwxNDU9PXQua2V5Q29kZXx8dC5rZXlDb2RlPjMyJiZ0LmtleUNvZGU8NDF8fHQua2V5Q29kZT4xMTEmJnQua2V5Q29kZTwxMjQpKX0sX29uS2V5cHJlc3M6ZnVuY3Rpb24odCl7aWYodGhpcy5hbGxvd2VkUGF0dGVybnx8Im51bWJlciI9PT10aGlzLmlucHV0RWxlbWVudC50eXBlKXt2YXIgZT10aGlzLl9wYXR0ZXJuUmVnRXhwO2lmKGUmJiEodC5tZXRhS2V5fHx0LmN0cmxLZXl8fHQuYWx0S2V5KSl7dGhpcy5fcGF0dGVybkFscmVhZHlDaGVja2VkPSEwO3ZhciBuPVN0cmluZy5mcm9tQ2hhckNvZGUodC5jaGFyQ29kZSk7dGhpcy5faXNQcmludGFibGUodCkmJiFlLnRlc3QobikmJih0LnByZXZlbnREZWZhdWx0KCksdGhpcy5fYW5ub3VuY2VJbnZhbGlkQ2hhcmFjdGVyKCJJbnZhbGlkIGNoYXJhY3RlciAiK24rIiBub3QgZW50ZXJlZC4iKSl9fX0sX2NoZWNrUGF0dGVyblZhbGlkaXR5OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcGF0dGVyblJlZ0V4cDtpZighdClyZXR1cm4hMDtmb3IodmFyIGU9MDtlPHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aDtlKyspaWYoIXQudGVzdCh0aGlzLmlucHV0RWxlbWVudC52YWx1ZVtlXSkpcmV0dXJuITE7cmV0dXJuITB9LHZhbGlkYXRlOmZ1bmN0aW9uKCl7aWYoIXRoaXMuaW5wdXRFbGVtZW50KXJldHVybiB0aGlzLmludmFsaWQ9ITEsITA7dmFyIHQ9dGhpcy5pbnB1dEVsZW1lbnQuY2hlY2tWYWxpZGl0eSgpO3JldHVybiB0JiYodGhpcy5yZXF1aXJlZCYmIiI9PT10aGlzLmJpbmRWYWx1ZT90PSExOnRoaXMuaGFzVmFsaWRhdG9yKCkmJih0PXlhLnZhbGlkYXRlLmNhbGwodGhpcyx0aGlzLmJpbmRWYWx1ZSkpKSx0aGlzLmludmFsaWQ9IXQsdGhpcy5maXJlKCJpcm9uLWlucHV0LXZhbGlkYXRlIiksdH0sX2Fubm91bmNlSW52YWxpZENoYXJhY3RlcjpmdW5jdGlvbih0KXt0aGlzLmZpcmUoImlyb24tYW5ub3VuY2UiLHt0ZXh0OnR9KX0sX2NvbXB1dGVWYWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdH19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IFhhPXthdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuZmlyZSgiYWRkb24tYXR0YWNoZWQiKX0sdXBkYXRlOmZ1bmN0aW9uKHQpe319OwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9qcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGZsb2F0OiByaWdodDsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jYXB0aW9uOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNoYXItY291bnRlcjsKICAgICAgfQoKICAgICAgOmhvc3QoW2hpZGRlbl0pIHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIDpob3N0KDpkaXIocnRsKSkgewogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxzcGFuPltbX2NoYXJDb3VudGVyU3RyXV08L3NwYW4+CmAsaXM6InBhcGVyLWlucHV0LWNoYXItY291bnRlciIsYmVoYXZpb3JzOltYYV0scHJvcGVydGllczp7X2NoYXJDb3VudGVyU3RyOnt0eXBlOlN0cmluZyx2YWx1ZToiMCJ9fSx1cGRhdGU6ZnVuY3Rpb24odCl7aWYodC5pbnB1dEVsZW1lbnQpe3QudmFsdWU9dC52YWx1ZXx8IiI7dmFyIGU9dC52YWx1ZS50b1N0cmluZygpLmxlbmd0aC50b1N0cmluZygpO3QuaW5wdXRFbGVtZW50Lmhhc0F0dHJpYnV0ZSgibWF4bGVuZ3RoIikmJihlKz0iLyIrdC5pbnB1dEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJtYXhsZW5ndGgiKSksdGhpcy5fY2hhckNvdW50ZXJTdHI9ZX19fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCAkYT14ZWAKPGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBodG1sIHsKICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItc2hhcmVkLWlucHV0LXN0eWxlOiB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiB0byBtYWtlIGEgc3RhY2tpbmcgY29udGV4dCAqLwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtY29sb3IsIHZhcigtLXByaW1hcnktdGV4dC1jb2xvcikpOwogICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtYWxpZ24sIGJvdHRvbSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtc3ViaGVhZDsKICAgICAgfTsKICAgIH0KICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT4KYDskYS5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiZGlzcGxheTogbm9uZTsiKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKCRhLmNvbnRlbnQpLGpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXI7CiAgICAgIH0KCiAgICAgIDpob3N0KFtpbmxpbmVdKSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMC4zMzsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWRpc2FibGVkOwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmZsb2F0ZWQtbGFiZWwtcGxhY2Vob2xkZXIgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY2FwdGlvbjsKICAgICAgfQoKICAgICAgLnVuZGVybGluZSB7CiAgICAgICAgaGVpZ2h0OiAycHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuZm9jdXNlZC1saW5lIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItZm9jdXMtY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IpKTsKCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMCwxLDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLDEsMSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci11bmRlcmxpbmUtZm9jdXM7CiAgICAgIH0KCiAgICAgIC51bmRlcmxpbmUuaXMtaGlnaGxpZ2h0ZWQgLmZvY3VzZWQtbGluZSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXM7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10cmFuc2l0aW9uLWVhc2luZzsKICAgICAgfQoKICAgICAgLnVuZGVybGluZS5pcy1pbnZhbGlkIC5mb2N1c2VkLWxpbmUgewogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWludmFsaWQtY29sb3IsIHZhcigtLWVycm9yLWNvbG9yKSk7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXM7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10cmFuc2l0aW9uLWVhc2luZzsKICAgICAgfQoKICAgICAgLnVuZm9jdXNlZC1saW5lIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3IsIHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLXVuZGVybGluZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnVuZm9jdXNlZC1saW5lIHsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkOwogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcikpOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci11bmRlcmxpbmUtZGlzYWJsZWQ7CiAgICAgIH0KCiAgICAgIC5pbnB1dC13cmFwcGVyIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQgewogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4LWF1dG87CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXJlbGF0aXZlOwogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKGxhYmVsKSwKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKC5wYXBlci1pbnB1dC1sYWJlbCkgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBmb250OiBpbmhlcml0OwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3IsIHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1cywgd2lkdGggMC4yNXM7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzLCB3aWR0aCAwLjI1czsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOwogICAgICAgIC8qIEZpeCBmb3Igc2FmYXJpIG5vdCBmb2N1c2luZyAwLWhlaWdodCBkYXRlL3RpbWUgaW5wdXRzIHdpdGggLXdlYmtpdC1hcHBlcmFuY2U6IG5vbmU7ICovCiAgICAgICAgbWluLWhlaWdodDogMXB4OwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1ub3dyYXA7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1zdWJoZWFkOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDsKICAgICAgICBAYXBwbHkgLS1wYXBlci10cmFuc2l0aW9uLWVhc2luZzsKICAgICAgfQoKCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZChsYWJlbCk6YmVmb3JlLAogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWxhYmVsKTpiZWZvcmUgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbC1iZWZvcmU7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZChsYWJlbCk6YWZ0ZXIsCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZCgucGFwZXItaW5wdXQtbGFiZWwpOmFmdGVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWwtYWZ0ZXI7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50LmxhYmVsLWlzLWZsb2F0aW5nIDo6c2xvdHRlZChsYWJlbCksCiAgICAgIC5pbnB1dC1jb250ZW50LmxhYmVsLWlzLWZsb2F0aW5nIDo6c2xvdHRlZCgucGFwZXItaW5wdXQtbGFiZWwpIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzUlKSBzY2FsZSgwLjc1KTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1JSkgc2NhbGUoMC43NSk7CgogICAgICAgIC8qIFNpbmNlIHdlIHNjYWxlIHRvIDc1LzEwMCBvZiB0aGUgc2l6ZSwgd2UgYWN0dWFsbHkgaGF2ZSAxMDAvNzUgb2YgdGhlCiAgICAgICAgb3JpZ2luYWwgc3BhY2Ugbm93IGF2YWlsYWJsZSAqLwogICAgICAgIHdpZHRoOiAxMzMlOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWwtZmxvYXRpbmc7CiAgICAgIH0KCiAgICAgIDpob3N0KDpkaXIocnRsKSkgLmlucHV0LWNvbnRlbnQubGFiZWwtaXMtZmxvYXRpbmcgOjpzbG90dGVkKGxhYmVsKSwKICAgICAgOmhvc3QoOmRpcihydGwpKSAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1mbG9hdGluZyA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWxhYmVsKSB7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgbGVmdDogYXV0bzsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50LmxhYmVsLWlzLWhpZ2hsaWdodGVkIDo6c2xvdHRlZChsYWJlbCksCiAgICAgIC5pbnB1dC1jb250ZW50LmxhYmVsLWlzLWhpZ2hsaWdodGVkIDo6c2xvdHRlZCgucGFwZXItaW5wdXQtbGFiZWwpIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWZvY3VzLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbC1mb2N1czsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQobGFiZWwpLAogICAgICAuaW5wdXQtY29udGVudC5pcy1pbnZhbGlkIDo6c2xvdHRlZCgucGFwZXItaW5wdXQtbGFiZWwpIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWludmFsaWQtY29sb3IsIHZhcigtLWVycm9yLWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50LmxhYmVsLWlzLWhpZGRlbiA6OnNsb3R0ZWQobGFiZWwpLAogICAgICAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1oaWRkZW4gOjpzbG90dGVkKC5wYXBlci1pbnB1dC1sYWJlbCkgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKGlucHV0KSwKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKGlyb24taW5wdXQpLAogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQodGV4dGFyZWEpLAogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoaXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYSksCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZCgucGFwZXItaW5wdXQtaW5wdXQpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItc2hhcmVkLWlucHV0LXN0eWxlOwogICAgICAgIC8qIFRoZSBhcHBseSBzaGltIGRvZXNuJ3QgYXBwbHkgdGhlIG5lc3RlZCBjb2xvciBjdXN0b20gcHJvcGVydHksCiAgICAgICAgICBzbyB3ZSBoYXZlIHRvIHJlLWFwcGx5IGl0IGhlcmUuICovCiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0OwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoaW5wdXQpOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLAogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoaW5wdXQpOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtd2Via2l0LXNwaW5uZXI7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50LmZvY3VzZWQgOjpzbG90dGVkKGlucHV0KSwKICAgICAgLmlucHV0LWNvbnRlbnQuZm9jdXNlZCA6OnNsb3R0ZWQoaXJvbi1pbnB1dCksCiAgICAgIC5pbnB1dC1jb250ZW50LmZvY3VzZWQgOjpzbG90dGVkKHRleHRhcmVhKSwKICAgICAgLmlucHV0LWNvbnRlbnQuZm9jdXNlZCA6OnNsb3R0ZWQoaXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYSksCiAgICAgIC5pbnB1dC1jb250ZW50LmZvY3VzZWQgOjpzbG90dGVkKC5wYXBlci1pbnB1dC1pbnB1dCkgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC1mb2N1czsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQoaW5wdXQpLAogICAgICAuaW5wdXQtY29udGVudC5pcy1pbnZhbGlkIDo6c2xvdHRlZChpcm9uLWlucHV0KSwKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQodGV4dGFyZWEpLAogICAgICAuaW5wdXQtY29udGVudC5pcy1pbnZhbGlkIDo6c2xvdHRlZChpcm9uLWF1dG9ncm93LXRleHRhcmVhKSwKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWlucHV0KSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0LWludmFsaWQ7CiAgICAgIH0KCiAgICAgIC5wcmVmaXggOjpzbG90dGVkKCopIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1zdWJoZWFkOwogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4LW5vbmU7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtcHJlZml4OwogICAgICB9CgogICAgICAuc3VmZml4IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtc3ViaGVhZDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleC1ub25lOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1zdWZmaXg7CiAgICAgIH0KCiAgICAgIC8qIEZpcmVmb3ggc2V0cyBhIG1pbi13aWR0aCBvbiB0aGUgaW5wdXQsIHdoaWNoIGNhbiBjYXVzZSBsYXlvdXQgaXNzdWVzICovCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZChpbnB1dCkgewogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKHRleHRhcmVhKSB7CiAgICAgICAgcmVzaXplOiBub25lOwogICAgICB9CgogICAgICAuYWRkLW9uLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmFkZC1vbi1jb250ZW50LmlzLWludmFsaWQgOjpzbG90dGVkKCopIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWludmFsaWQtY29sb3IsIHZhcigtLWVycm9yLWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIC5hZGQtb24tY29udGVudC5pcy1oaWdobGlnaHRlZCA6OnNsb3R0ZWQoKikgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItZm9jdXMtY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IpKTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJmbG9hdGVkLWxhYmVsLXBsYWNlaG9sZGVyIiBhcmlhLWhpZGRlbj0idHJ1ZSIgaGlkZGVuPSJbW25vTGFiZWxGbG9hdF1dIj4mbmJzcDs8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgPHNwYW4gY2xhc3M9InByZWZpeCI+PHNsb3QgbmFtZT0icHJlZml4Ij48L3Nsb3Q+PC9zcGFuPgoKICAgICAgPGRpdiBjbGFzcyQ9IltbX2NvbXB1dGVJbnB1dENvbnRlbnRDbGFzcyhub0xhYmVsRmxvYXQsYWx3YXlzRmxvYXRMYWJlbCxmb2N1c2VkLGludmFsaWQsX2lucHV0SGFzQ29udGVudCldXSIgaWQ9ImxhYmVsQW5kSW5wdXRDb250YWluZXIiPgogICAgICAgIDxzbG90IG5hbWU9ImxhYmVsIj48L3Nsb3Q+CiAgICAgICAgPHNsb3QgbmFtZT0iaW5wdXQiPjwvc2xvdD4KICAgICAgPC9kaXY+CgogICAgICA8c3BhbiBjbGFzcz0ic3VmZml4Ij48c2xvdCBuYW1lPSJzdWZmaXgiPjwvc2xvdD48L3NwYW4+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzJD0iW1tfY29tcHV0ZVVuZGVybGluZUNsYXNzKGZvY3VzZWQsaW52YWxpZCldXSI+CiAgICAgIDxkaXYgY2xhc3M9InVuZm9jdXNlZC1saW5lIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZm9jdXNlZC1saW5lIj48L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3MkPSJbW19jb21wdXRlQWRkT25Db250ZW50Q2xhc3MoZm9jdXNlZCxpbnZhbGlkKV1dIj4KICAgICAgPHNsb3QgbmFtZT0iYWRkLW9uIj48L3Nsb3Q+CiAgICA8L2Rpdj4KYCxpczoicGFwZXItaW5wdXQtY29udGFpbmVyIixwcm9wZXJ0aWVzOntub0xhYmVsRmxvYXQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sYWx3YXlzRmxvYXRMYWJlbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhdHRyRm9yVmFsdWU6e3R5cGU6U3RyaW5nLHZhbHVlOiJiaW5kLXZhbHVlIn0sYXV0b1ZhbGlkYXRlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGludmFsaWQ6e29ic2VydmVyOiJfaW52YWxpZENoYW5nZWQiLHR5cGU6Qm9vbGVhbix2YWx1ZTohMX0sZm9jdXNlZDp7cmVhZE9ubHk6ITAsdHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMH0sX2FkZG9uczp7dHlwZTpBcnJheX0sX2lucHV0SGFzQ29udGVudDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfaW5wdXRTZWxlY3Rvcjp7dHlwZTpTdHJpbmcsdmFsdWU6ImlucHV0LGlyb24taW5wdXQsdGV4dGFyZWEsLnBhcGVyLWlucHV0LWlucHV0In0sX2JvdW5kT25Gb2N1czp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9vbkZvY3VzLmJpbmQodGhpcyl9fSxfYm91bmRPbkJsdXI6e3R5cGU6RnVuY3Rpb24sdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fb25CbHVyLmJpbmQodGhpcyl9fSxfYm91bmRPbklucHV0Ont0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29uSW5wdXQuYmluZCh0aGlzKX19LF9ib3VuZFZhbHVlQ2hhbmdlZDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9vblZhbHVlQ2hhbmdlZC5iaW5kKHRoaXMpfX19LGxpc3RlbmVyczp7ImFkZG9uLWF0dGFjaGVkIjoiX29uQWRkb25BdHRhY2hlZCIsImlyb24taW5wdXQtdmFsaWRhdGUiOiJfb25Jcm9uSW5wdXRWYWxpZGF0ZSJ9LGdldCBfdmFsdWVDaGFuZ2VkRXZlbnQoKXtyZXR1cm4gdGhpcy5hdHRyRm9yVmFsdWUrIi1jaGFuZ2VkIn0sZ2V0IF9wcm9wZXJ0eUZvclZhbHVlKCl7cmV0dXJuIHN0KHRoaXMuYXR0ckZvclZhbHVlKX0sZ2V0IF9pbnB1dEVsZW1lbnQoKXtyZXR1cm4gZXIodGhpcykucXVlcnlTZWxlY3Rvcih0aGlzLl9pbnB1dFNlbGVjdG9yKX0sZ2V0IF9pbnB1dEVsZW1lbnRWYWx1ZSgpe3JldHVybiB0aGlzLl9pbnB1dEVsZW1lbnRbdGhpcy5fcHJvcGVydHlGb3JWYWx1ZV18fHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl9faXNGaXJzdFZhbHVlVXBkYXRlPSEwLHRoaXMuX2FkZG9uc3x8KHRoaXMuX2FkZG9ucz1bXSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fYm91bmRPbkZvY3VzLCEwKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JvdW5kT25CbHVyLCEwKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmF0dHJGb3JWYWx1ZT90aGlzLl9pbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLl92YWx1ZUNoYW5nZWRFdmVudCx0aGlzLl9ib3VuZFZhbHVlQ2hhbmdlZCk6dGhpcy5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsdGhpcy5fb25JbnB1dCksdGhpcy5faW5wdXRFbGVtZW50VmFsdWUmJiIiIT10aGlzLl9pbnB1dEVsZW1lbnRWYWx1ZT90aGlzLl9oYW5kbGVWYWx1ZUFuZEF1dG9WYWxpZGF0ZSh0aGlzLl9pbnB1dEVsZW1lbnQpOnRoaXMuX2hhbmRsZVZhbHVlKHRoaXMuX2lucHV0RWxlbWVudCl9LF9vbkFkZG9uQXR0YWNoZWQ6ZnVuY3Rpb24odCl7dGhpcy5fYWRkb25zfHwodGhpcy5fYWRkb25zPVtdKTt2YXIgZT10LnRhcmdldDstMT09PXRoaXMuX2FkZG9ucy5pbmRleE9mKGUpJiYodGhpcy5fYWRkb25zLnB1c2goZSksdGhpcy5pc0F0dGFjaGVkJiZ0aGlzLl9oYW5kbGVWYWx1ZSh0aGlzLl9pbnB1dEVsZW1lbnQpKX0sX29uRm9jdXM6ZnVuY3Rpb24oKXt0aGlzLl9zZXRGb2N1c2VkKCEwKX0sX29uQmx1cjpmdW5jdGlvbigpe3RoaXMuX3NldEZvY3VzZWQoITEpLHRoaXMuX2hhbmRsZVZhbHVlQW5kQXV0b1ZhbGlkYXRlKHRoaXMuX2lucHV0RWxlbWVudCl9LF9vbklucHV0OmZ1bmN0aW9uKHQpe3RoaXMuX2hhbmRsZVZhbHVlQW5kQXV0b1ZhbGlkYXRlKHQudGFyZ2V0KX0sX29uVmFsdWVDaGFuZ2VkOmZ1bmN0aW9uKHQpe3ZhciBlPXQudGFyZ2V0O3RoaXMuX19pc0ZpcnN0VmFsdWVVcGRhdGUmJih0aGlzLl9faXNGaXJzdFZhbHVlVXBkYXRlPSExLHZvaWQgMD09PWUudmFsdWV8fCIiPT09ZS52YWx1ZSl8fHRoaXMuX2hhbmRsZVZhbHVlQW5kQXV0b1ZhbGlkYXRlKHQudGFyZ2V0KX0sX2hhbmRsZVZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2lucHV0RWxlbWVudFZhbHVlO3RoaXMuX2lucHV0SGFzQ29udGVudD0hKCFlJiYwIT09ZSYmKCJudW1iZXIiIT09dC50eXBlfHx0LmNoZWNrVmFsaWRpdHkoKSkpLHRoaXMudXBkYXRlQWRkb25zKHtpbnB1dEVsZW1lbnQ6dCx2YWx1ZTplLGludmFsaWQ6dGhpcy5pbnZhbGlkfSl9LF9oYW5kbGVWYWx1ZUFuZEF1dG9WYWxpZGF0ZTpmdW5jdGlvbih0KXt2YXIgZTt0aGlzLmF1dG9WYWxpZGF0ZSYmdCYmKGU9dC52YWxpZGF0ZT90LnZhbGlkYXRlKHRoaXMuX2lucHV0RWxlbWVudFZhbHVlKTp0LmNoZWNrVmFsaWRpdHkoKSx0aGlzLmludmFsaWQ9IWUpO3RoaXMuX2hhbmRsZVZhbHVlKHQpfSxfb25Jcm9uSW5wdXRWYWxpZGF0ZTpmdW5jdGlvbih0KXt0aGlzLmludmFsaWQ9dGhpcy5faW5wdXRFbGVtZW50LmludmFsaWR9LF9pbnZhbGlkQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuX2FkZG9ucyYmdGhpcy51cGRhdGVBZGRvbnMoe2ludmFsaWQ6dGhpcy5pbnZhbGlkfSl9LHVwZGF0ZUFkZG9uczpmdW5jdGlvbih0KXtmb3IodmFyIGUsbj0wO2U9dGhpcy5fYWRkb25zW25dO24rKyllLnVwZGF0ZSh0KX0sX2NvbXB1dGVJbnB1dENvbnRlbnRDbGFzczpmdW5jdGlvbih0LGUsbixpLHIpe3ZhciBvPSJpbnB1dC1jb250ZW50IjtpZih0KXImJihvKz0iIGxhYmVsLWlzLWhpZGRlbiIpLGkmJihvKz0iIGlzLWludmFsaWQiKTtlbHNle3ZhciBhPXRoaXMucXVlcnlTZWxlY3RvcigibGFiZWwiKTtlfHxyPyhvKz0iIGxhYmVsLWlzLWZsb2F0aW5nIix0aGlzLiQubGFiZWxBbmRJbnB1dENvbnRhaW5lci5zdHlsZS5wb3NpdGlvbj0ic3RhdGljIixpP28rPSIgaXMtaW52YWxpZCI6biYmKG8rPSIgbGFiZWwtaXMtaGlnaGxpZ2h0ZWQiKSk6KGEmJih0aGlzLiQubGFiZWxBbmRJbnB1dENvbnRhaW5lci5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxpJiYobys9IiBpcy1pbnZhbGlkIikpfXJldHVybiBuJiYobys9IiBmb2N1c2VkIiksb30sX2NvbXB1dGVVbmRlcmxpbmVDbGFzczpmdW5jdGlvbih0LGUpe3ZhciBuPSJ1bmRlcmxpbmUiO3JldHVybiBlP24rPSIgaXMtaW52YWxpZCI6dCYmKG4rPSIgaXMtaGlnaGxpZ2h0ZWQiKSxufSxfY29tcHV0ZUFkZE9uQ29udGVudENsYXNzOmZ1bmN0aW9uKHQsZSl7dmFyIG49ImFkZC1vbi1jb250ZW50IjtyZXR1cm4gZT9uKz0iIGlzLWludmFsaWQiOnQmJihuKz0iIGlzLWhpZ2hsaWdodGVkIiksbn19KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwoKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWludmFsaWQtY29sb3IsIHZhcigtLWVycm9yLWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY2FwdGlvbjsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1lcnJvcjsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDowOwogICAgICAgIHJpZ2h0OjA7CiAgICAgIH0KCiAgICAgIDpob3N0KFtpbnZhbGlkXSkgewogICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICAgIH0KCiAgICAgICNhMTF5V3JhcHBlciB7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICB9CgogICAgICA6aG9zdChbaW52YWxpZF0pICNhMTF5V3JhcHBlciB7CiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8IS0tCiAgICBJZiB0aGUgcGFwZXItaW5wdXQtZXJyb3IgZWxlbWVudCBpcyBkaXJlY3RseSByZWZlcmVuY2VkIGJ5IGFuCiAgICBcYGFyaWEtZGVzY3JpYmVkYnlcYCBhdHRyaWJ1dGUsIHN1Y2ggYXMgd2hlbiB1c2VkIGFzIGEgcGFwZXItaW5wdXQgYWRkLW9uLAogICAgdGhlbiBhcHBseWluZyBcYHZpc2liaWxpdHk6IGhpZGRlbjtcYCB0byB0aGUgcGFwZXItaW5wdXQtZXJyb3IgZWxlbWVudCBpdHNlbGYKICAgIGRvZXMgbm90IGhpZGUgdGhlIGVycm9yLgoKICAgIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWU6CiAgICBodHRwczovL3d3dy53My5vcmcvVFIvYWNjbmFtZS0xLjEvI21hcHBpbmdfYWRkaXRpb25hbF9uZF9kZXNjcmlwdGlvbgogICAgLS0+CiAgICA8ZGl2IGlkPSJhMTF5V3JhcHBlciI+CiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIDwvZGl2PgpgLGlzOiJwYXBlci1pbnB1dC1lcnJvciIsYmVoYXZpb3JzOltYYV0scHJvcGVydGllczp7aW52YWxpZDp7cmVhZE9ubHk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwLHR5cGU6Qm9vbGVhbn19LHVwZGF0ZTpmdW5jdGlvbih0KXt0aGlzLl9zZXRJbnZhbGlkKHQuaW52YWxpZCl9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBLYT17TmV4dExhYmVsSUQ6MSxOZXh0QWRkb25JRDoxLE5leHRJbnB1dElEOjF9LFphPXtwcm9wZXJ0aWVzOntsYWJlbDp7dHlwZTpTdHJpbmd9LHZhbHVlOntub3RpZnk6ITAsdHlwZTpTdHJpbmd9LGRpc2FibGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGludmFsaWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITB9LGFsbG93ZWRQYXR0ZXJuOnt0eXBlOlN0cmluZ30sdHlwZTp7dHlwZTpTdHJpbmd9LGxpc3Q6e3R5cGU6U3RyaW5nfSxwYXR0ZXJuOnt0eXBlOlN0cmluZ30scmVxdWlyZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sZXJyb3JNZXNzYWdlOnt0eXBlOlN0cmluZ30sY2hhckNvdW50ZXI6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sbm9MYWJlbEZsb2F0Ont0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGFsd2F5c0Zsb2F0TGFiZWw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sYXV0b1ZhbGlkYXRlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LHZhbGlkYXRvcjp7dHlwZTpTdHJpbmd9LGF1dG9jb21wbGV0ZTp7dHlwZTpTdHJpbmcsdmFsdWU6Im9mZiJ9LGF1dG9mb2N1czp7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfYXV0b2ZvY3VzQ2hhbmdlZCJ9LGlucHV0bW9kZTp7dHlwZTpTdHJpbmd9LG1pbmxlbmd0aDp7dHlwZTpOdW1iZXJ9LG1heGxlbmd0aDp7dHlwZTpOdW1iZXJ9LG1pbjp7dHlwZTpTdHJpbmd9LG1heDp7dHlwZTpTdHJpbmd9LHN0ZXA6e3R5cGU6U3RyaW5nfSxuYW1lOnt0eXBlOlN0cmluZ30scGxhY2Vob2xkZXI6e3R5cGU6U3RyaW5nLHZhbHVlOiIifSxyZWFkb25seTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzaXplOnt0eXBlOk51bWJlcn0sYXV0b2NhcGl0YWxpemU6e3R5cGU6U3RyaW5nLHZhbHVlOiJub25lIn0sYXV0b2NvcnJlY3Q6e3R5cGU6U3RyaW5nLHZhbHVlOiJvZmYifSxhdXRvc2F2ZTp7dHlwZTpTdHJpbmd9LHJlc3VsdHM6e3R5cGU6TnVtYmVyfSxhY2NlcHQ6e3R5cGU6U3RyaW5nfSxtdWx0aXBsZTp7dHlwZTpCb29sZWFufSxfYXJpYURlc2NyaWJlZEJ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sX2FyaWFMYWJlbGxlZEJ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sX2lucHV0SWQ6e3R5cGU6U3RyaW5nLHZhbHVlOiIifX0sbGlzdGVuZXJzOnsiYWRkb24tYXR0YWNoZWQiOiJfb25BZGRvbkF0dGFjaGVkIn0sa2V5QmluZGluZ3M6eyJzaGlmdCt0YWI6a2V5ZG93biI6Il9vblNoaWZ0VGFiRG93biJ9LGhvc3RBdHRyaWJ1dGVzOnt0YWJpbmRleDowfSxnZXQgaW5wdXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuJHx8KHRoaXMuJD17fSksdGhpcy4kLmlucHV0fHwodGhpcy5fZ2VuZXJhdGVJbnB1dElkKCksdGhpcy4kLmlucHV0PXRoaXMuJCQoIiMiK3RoaXMuX2lucHV0SWQpKSx0aGlzLiQuaW5wdXR9LGdldCBfZm9jdXNhYmxlRWxlbWVudCgpe3JldHVybiB0aGlzLmlucHV0RWxlbWVudH0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuX3R5cGVzVGhhdEhhdmVUZXh0PVsiZGF0ZSIsImRhdGV0aW1lIiwiZGF0ZXRpbWUtbG9jYWwiLCJtb250aCIsInRpbWUiLCJ3ZWVrIiwiZmlsZSJdfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUFyaWFMYWJlbGxlZEJ5KCksIXdlJiZ0aGlzLmlucHV0RWxlbWVudCYmLTEhPT10aGlzLl90eXBlc1RoYXRIYXZlVGV4dC5pbmRleE9mKHRoaXMuaW5wdXRFbGVtZW50LnR5cGUpJiYodGhpcy5hbHdheXNGbG9hdExhYmVsPSEwKX0sX2FwcGVuZFN0cmluZ1dpdGhTcGFjZTpmdW5jdGlvbih0LGUpe3JldHVybiB0PXQ/dCsiICIrZTplfSxfb25BZGRvbkF0dGFjaGVkOmZ1bmN0aW9uKHQpe3ZhciBlPWVyKHQpLnJvb3RUYXJnZXQ7aWYoZS5pZCl0aGlzLl9hcmlhRGVzY3JpYmVkQnk9dGhpcy5fYXBwZW5kU3RyaW5nV2l0aFNwYWNlKHRoaXMuX2FyaWFEZXNjcmliZWRCeSxlLmlkKTtlbHNle3ZhciBuPSJwYXBlci1pbnB1dC1hZGQtb24tIitLYS5OZXh0QWRkb25JRCsrO2UuaWQ9bix0aGlzLl9hcmlhRGVzY3JpYmVkQnk9dGhpcy5fYXBwZW5kU3RyaW5nV2l0aFNwYWNlKHRoaXMuX2FyaWFEZXNjcmliZWRCeSxuKX19LHZhbGlkYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5wdXRFbGVtZW50LnZhbGlkYXRlKCl9LF9mb2N1c0JsdXJIYW5kbGVyOmZ1bmN0aW9uKHQpe3JhLl9mb2N1c0JsdXJIYW5kbGVyLmNhbGwodGhpcyx0KSx0aGlzLmZvY3VzZWQmJiF0aGlzLl9zaGlmdFRhYlByZXNzZWQmJnRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQmJnRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKX0sX29uU2hpZnRUYWJEb3duOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpO3RoaXMuX3NoaWZ0VGFiUHJlc3NlZD0hMCx0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCItMSIpLHRoaXMuYXN5bmMoKGZ1bmN0aW9uKCl7dGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IixlKSx0aGlzLl9zaGlmdFRhYlByZXNzZWQ9ITF9KSwxKX0sX2hhbmRsZUF1dG9WYWxpZGF0ZTpmdW5jdGlvbigpe3RoaXMuYXV0b1ZhbGlkYXRlJiZ0aGlzLnZhbGlkYXRlKCl9LHVwZGF0ZVZhbHVlQW5kUHJlc2VydmVDYXJldDpmdW5jdGlvbih0KXt0cnl7dmFyIGU9dGhpcy5pbnB1dEVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7dGhpcy52YWx1ZT10LHRoaXMuaW5wdXRFbGVtZW50LnNlbGVjdGlvblN0YXJ0PWUsdGhpcy5pbnB1dEVsZW1lbnQuc2VsZWN0aW9uRW5kPWV9Y2F0Y2goZSl7dGhpcy52YWx1ZT10fX0sX2NvbXB1dGVBbHdheXNGbG9hdExhYmVsOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fHR9LF91cGRhdGVBcmlhTGFiZWxsZWRCeTpmdW5jdGlvbigpe3ZhciB0LGU9ZXIodGhpcy5yb290KS5xdWVyeVNlbGVjdG9yKCJsYWJlbCIpO2U/KGUuaWQ/dD1lLmlkOih0PSJwYXBlci1pbnB1dC1sYWJlbC0iK0thLk5leHRMYWJlbElEKyssZS5pZD10KSx0aGlzLl9hcmlhTGFiZWxsZWRCeT10KTp0aGlzLl9hcmlhTGFiZWxsZWRCeT0iIn0sX2dlbmVyYXRlSW5wdXRJZDpmdW5jdGlvbigpe3RoaXMuX2lucHV0SWQmJiIiIT09dGhpcy5faW5wdXRJZHx8KHRoaXMuX2lucHV0SWQ9ImlucHV0LSIrS2EuTmV4dElucHV0SUQrKyl9LF9vbkNoYW5nZTpmdW5jdGlvbih0KXt0aGlzLnNoYWRvd1Jvb3QmJnRoaXMuZmlyZSh0LnR5cGUse3NvdXJjZUV2ZW50OnR9LHtub2RlOnRoaXMsYnViYmxlczp0LmJ1YmJsZXMsY2FuY2VsYWJsZTp0LmNhbmNlbGFibGV9KX0sX2F1dG9mb2N1c0NoYW5nZWQ6ZnVuY3Rpb24oKXtpZih0aGlzLmF1dG9mb2N1cyYmdGhpcy5fZm9jdXNhYmxlRWxlbWVudCl7dmFyIHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDt0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnQhPT1kb2N1bWVudC5ib2R5JiZ0IT09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fHx0aGlzLl9mb2N1c2FibGVFbGVtZW50LmZvY3VzKCl9fX0sSmE9W3JhLFhvLFphXTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtpczoicGFwZXItaW5wdXQiLF90ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICA6aG9zdChbZm9jdXNlZF0pIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgaW5wdXQgewogICAgICAgIC8qIEZpcmVmb3ggc2V0cyBhIG1pbi13aWR0aCBvbiB0aGUgaW5wdXQsIHdoaWNoIGNhbiBjYXVzZSBsYXlvdXQgaXNzdWVzICovCiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAvKiBJbiAxLngsIHRoZSA8aW5wdXQ+IGlzIGRpc3RyaWJ1dGVkIHRvIHBhcGVyLWlucHV0LWNvbnRhaW5lciwgd2hpY2ggc3R5bGVzIGl0LgogICAgICBJbiAyLnggdGhlIDxpcm9uLWlucHV0PiBpcyBkaXN0cmlidXRlZCB0byBwYXBlci1pbnB1dC1jb250YWluZXIsIHdoaWNoIHN0eWxlcwogICAgICBpdCwgYnV0IGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgY29ycmVjdGx5LCB3ZSBuZWVkIHRvIHJlc2V0IHNvbWUKICAgICAgb2YgdGhlIG5hdGl2ZSBpbnB1dCdzIHByb3BlcnRpZXMgdG8gaW5oZXJpdCAoZnJvbSB0aGUgaXJvbi1pbnB1dCkgKi8KICAgICAgaXJvbi1pbnB1dCA+IGlucHV0IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItc2hhcmVkLWlucHV0LXN0eWxlOwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0OwogICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDsKICAgICAgICB3b3JkLXNwYWNpbmc6IGluaGVyaXQ7CiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgICAgICAgdGV4dC1zaGFkb3c6IGluaGVyaXQ7CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgICAgY3Vyc29yOiBpbmhlcml0OwogICAgICB9CgogICAgICBpbnB1dDpkaXNhYmxlZCB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0LWRpc2FibGVkOwogICAgICB9CgogICAgICBpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwKICAgICAgaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24gewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC13ZWJraXQtc3Bpbm5lcjsKICAgICAgfQoKICAgICAgaW5wdXQ6Oi13ZWJraXQtY2xlYXItYnV0dG9uIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtd2Via2l0LWNsZWFyOwogICAgICB9CgogICAgICBpbnB1dDo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3I7CiAgICAgIH0KCiAgICAgIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcikpOwogICAgICB9CgogICAgICBpbnB1dDotbW96LXBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcikpOwogICAgICB9CgogICAgICBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1jb2xvciwgdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpKTsKICAgICAgfQoKICAgICAgaW5wdXQ6Oi1tcy1jbGVhciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLW1zLWNsZWFyOwogICAgICB9CgogICAgICBpbnB1dDo6LW1zLXJldmVhbCB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLW1zLXJldmVhbDsKICAgICAgfQoKICAgICAgaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcikpOwogICAgICB9CgogICAgICBsYWJlbCB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPHBhcGVyLWlucHV0LWNvbnRhaW5lciBpZD0iY29udGFpbmVyIiBuby1sYWJlbC1mbG9hdD0iW1tub0xhYmVsRmxvYXRdXSIgYWx3YXlzLWZsb2F0LWxhYmVsPSJbW19jb21wdXRlQWx3YXlzRmxvYXRMYWJlbChhbHdheXNGbG9hdExhYmVsLHBsYWNlaG9sZGVyKV1dIiBhdXRvLXZhbGlkYXRlJD0iW1thdXRvVmFsaWRhdGVdXSIgZGlzYWJsZWQkPSJbW2Rpc2FibGVkXV0iIGludmFsaWQ9IltbaW52YWxpZF1dIj4KCiAgICAgIDxzbG90IG5hbWU9InByZWZpeCIgc2xvdD0icHJlZml4Ij48L3Nsb3Q+CgogICAgICA8bGFiZWwgaGlkZGVuJD0iW1shbGFiZWxdXSIgYXJpYS1oaWRkZW49InRydWUiIGZvciQ9IltbX2lucHV0SWRdXSIgc2xvdD0ibGFiZWwiPltbbGFiZWxdXTwvbGFiZWw+CgogICAgICA8IS0tIE5lZWQgdG8gYmluZCBtYXhsZW5ndGggc28gdGhhdCB0aGUgcGFwZXItaW5wdXQtY2hhci1jb3VudGVyIHdvcmtzIGNvcnJlY3RseSAtLT4KICAgICAgPGlyb24taW5wdXQgYmluZC12YWx1ZT0ie3t2YWx1ZX19IiBzbG90PSJpbnB1dCIgY2xhc3M9ImlucHV0LWVsZW1lbnQiIGlkJD0iW1tfaW5wdXRJZF1dIiBtYXhsZW5ndGgkPSJbW21heGxlbmd0aF1dIiBhbGxvd2VkLXBhdHRlcm49IltbYWxsb3dlZFBhdHRlcm5dXSIgaW52YWxpZD0ie3tpbnZhbGlkfX0iIHZhbGlkYXRvcj0iW1t2YWxpZGF0b3JdXSI+CiAgICAgICAgPGlucHV0IGFyaWEtbGFiZWxsZWRieSQ9IltbX2FyaWFMYWJlbGxlZEJ5XV0iIGFyaWEtZGVzY3JpYmVkYnkkPSJbW19hcmlhRGVzY3JpYmVkQnldXSIgZGlzYWJsZWQkPSJbW2Rpc2FibGVkXV0iIHRpdGxlJD0iW1t0aXRsZV1dIiB0eXBlJD0iW1t0eXBlXV0iIHBhdHRlcm4kPSJbW3BhdHRlcm5dXSIgcmVxdWlyZWQkPSJbW3JlcXVpcmVkXV0iIGF1dG9jb21wbGV0ZSQ9IltbYXV0b2NvbXBsZXRlXV0iIGF1dG9mb2N1cyQ9IltbYXV0b2ZvY3VzXV0iIGlucHV0bW9kZSQ9IltbaW5wdXRtb2RlXV0iIG1pbmxlbmd0aCQ9IltbbWlubGVuZ3RoXV0iIG1heGxlbmd0aCQ9IltbbWF4bGVuZ3RoXV0iIG1pbiQ9IltbbWluXV0iIG1heCQ9IltbbWF4XV0iIHN0ZXAkPSJbW3N0ZXBdXSIgbmFtZSQ9IltbbmFtZV1dIiBwbGFjZWhvbGRlciQ9IltbcGxhY2Vob2xkZXJdXSIgcmVhZG9ubHkkPSJbW3JlYWRvbmx5XV0iIGxpc3QkPSJbW2xpc3RdXSIgc2l6ZSQ9Iltbc2l6ZV1dIiBhdXRvY2FwaXRhbGl6ZSQ9IltbYXV0b2NhcGl0YWxpemVdXSIgYXV0b2NvcnJlY3QkPSJbW2F1dG9jb3JyZWN0XV0iIG9uLWNoYW5nZT0iX29uQ2hhbmdlIiB0YWJpbmRleCQ9IltbdGFiSW5kZXhdXSIgYXV0b3NhdmUkPSJbW2F1dG9zYXZlXV0iIHJlc3VsdHMkPSJbW3Jlc3VsdHNdXSIgYWNjZXB0JD0iW1thY2NlcHRdXSIgbXVsdGlwbGUkPSJbW211bHRpcGxlXV0iIHJvbGUkPSJbW2lucHV0Um9sZV1dIiBhcmlhLWhhc3BvcHVwJD0iW1tpbnB1dEFyaWFIYXNwb3B1cF1dIj4KICAgICAgPC9pcm9uLWlucHV0PgoKICAgICAgPHNsb3QgbmFtZT0ic3VmZml4IiBzbG90PSJzdWZmaXgiPjwvc2xvdD4KCiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tlcnJvck1lc3NhZ2VdXSI+CiAgICAgICAgPHBhcGVyLWlucHV0LWVycm9yIGFyaWEtbGl2ZT0iYXNzZXJ0aXZlIiBzbG90PSJhZGQtb24iPltbZXJyb3JNZXNzYWdlXV08L3BhcGVyLWlucHV0LWVycm9yPgogICAgICA8L3RlbXBsYXRlPgoKICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2NoYXJDb3VudGVyXV0iPgogICAgICAgIDxwYXBlci1pbnB1dC1jaGFyLWNvdW50ZXIgc2xvdD0iYWRkLW9uIj48L3BhcGVyLWlucHV0LWNoYXItY291bnRlcj4KICAgICAgPC90ZW1wbGF0ZT4KCiAgICA8L3BhcGVyLWlucHV0LWNvbnRhaW5lcj4KICBgLGJlaGF2aW9yczpbSmEsZ2FdLHByb3BlcnRpZXM6e3ZhbHVlOnt0eXBlOlN0cmluZ30saW5wdXRSb2xlOnt0eXBlOlN0cmluZyx2YWx1ZTp2b2lkIDB9LGlucHV0QXJpYUhhc3BvcHVwOnt0eXBlOlN0cmluZyx2YWx1ZTp2b2lkIDB9fSxnZXQgX2ZvY3VzYWJsZUVsZW1lbnQoKXtyZXR1cm4gdGhpcy5pbnB1dEVsZW1lbnQuX2lucHV0RWxlbWVudH0sbGlzdGVuZXJzOnsiaXJvbi1pbnB1dC1yZWFkeSI6Il9vbklyb25JbnB1dFJlYWR5In0sX29uSXJvbklucHV0UmVhZHk6ZnVuY3Rpb24oKXt0aGlzLiQubmF0aXZlSW5wdXR8fCh0aGlzLiQubmF0aXZlSW5wdXQ9dGhpcy4kJCgiaW5wdXQiKSksdGhpcy5pbnB1dEVsZW1lbnQmJi0xIT09dGhpcy5fdHlwZXNUaGF0SGF2ZVRleHQuaW5kZXhPZih0aGlzLiQubmF0aXZlSW5wdXQudHlwZSkmJih0aGlzLmFsd2F5c0Zsb2F0TGFiZWw9ITApLHRoaXMuaW5wdXRFbGVtZW50LmJpbmRWYWx1ZSYmdGhpcy4kLmNvbnRhaW5lci5faGFuZGxlVmFsdWVBbmRBdXRvVmFsaWRhdGUodGhpcy5pbnB1dEVsZW1lbnQpfX0pLAovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgfQoKICAgICAgI2NvbnRlbnRXcmFwcGVyIDo6c2xvdHRlZCgqKSB7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KCiAgICAgICNjb250ZW50V3JhcHBlci5hbmltYXRpbmcgOjpzbG90dGVkKCopIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9ImNvbnRlbnRXcmFwcGVyIj4KICAgICAgPHNsb3QgaWQ9ImNvbnRlbnQiIG5hbWU9ImRyb3Bkb3duLWNvbnRlbnQiPjwvc2xvdD4KICAgIDwvZGl2PgpgLGlzOiJpcm9uLWRyb3Bkb3duIixiZWhhdmlvcnM6W3JhLFhvLFdhLFRhXSxwcm9wZXJ0aWVzOntob3Jpem9udGFsQWxpZ246e3R5cGU6U3RyaW5nLHZhbHVlOiJsZWZ0IixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LHZlcnRpY2FsQWxpZ246e3R5cGU6U3RyaW5nLHZhbHVlOiJ0b3AiLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sb3BlbkFuaW1hdGlvbkNvbmZpZzp7dHlwZTpPYmplY3R9LGNsb3NlQW5pbWF0aW9uQ29uZmlnOnt0eXBlOk9iamVjdH0sZm9jdXNUYXJnZXQ6e3R5cGU6T2JqZWN0fSxub0FuaW1hdGlvbnM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sYWxsb3dPdXRzaWRlU2Nyb2xsOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9hbGxvd091dHNpZGVTY3JvbGxDaGFuZ2VkIn19LGxpc3RlbmVyczp7Im5lb24tYW5pbWF0aW9uLWZpbmlzaCI6Il9vbk5lb25BbmltYXRpb25GaW5pc2gifSxvYnNlcnZlcnM6WyJfdXBkYXRlT3ZlcmxheVBvc2l0aW9uKHBvc2l0aW9uVGFyZ2V0LCB2ZXJ0aWNhbEFsaWduLCBob3Jpem9udGFsQWxpZ24sIHZlcnRpY2FsT2Zmc2V0LCBob3Jpem9udGFsT2Zmc2V0KSJdLGdldCBjb250YWluZWRFbGVtZW50KCl7Zm9yKHZhciB0PWVyKHRoaXMuJC5jb250ZW50KS5nZXREaXN0cmlidXRlZE5vZGVzKCksZT0wLG49dC5sZW5ndGg7ZTxuO2UrKylpZih0W2VdLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpcmV0dXJuIHRbZV19LHJlYWR5OmZ1bmN0aW9uKCl7dGhpcy5zY3JvbGxBY3Rpb258fCh0aGlzLnNjcm9sbEFjdGlvbj10aGlzLmFsbG93T3V0c2lkZVNjcm9sbD8icmVmaXQiOiJsb2NrIiksdGhpcy5fcmVhZGllZD0hMH0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnNpemluZ1RhcmdldCYmdGhpcy5zaXppbmdUYXJnZXQhPT10aGlzfHwodGhpcy5zaXppbmdUYXJnZXQ9dGhpcy5jb250YWluZWRFbGVtZW50fHx0aGlzKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbEFuaW1hdGlvbigpfSxfb3BlbmVkQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMub3BlbmVkJiZ0aGlzLmRpc2FibGVkP3RoaXMuY2FuY2VsKCk6KHRoaXMuY2FuY2VsQW5pbWF0aW9uKCksdGhpcy5fdXBkYXRlQW5pbWF0aW9uQ29uZmlnKCksamEuX29wZW5lZENoYW5nZWQuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sX3JlbmRlck9wZW5lZDpmdW5jdGlvbigpeyF0aGlzLm5vQW5pbWF0aW9ucyYmdGhpcy5hbmltYXRpb25Db25maWcub3Blbj8odGhpcy4kLmNvbnRlbnRXcmFwcGVyLmNsYXNzTGlzdC5hZGQoImFuaW1hdGluZyIpLHRoaXMucGxheUFuaW1hdGlvbigib3BlbiIpKTpqYS5fcmVuZGVyT3BlbmVkLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sX3JlbmRlckNsb3NlZDpmdW5jdGlvbigpeyF0aGlzLm5vQW5pbWF0aW9ucyYmdGhpcy5hbmltYXRpb25Db25maWcuY2xvc2U/KHRoaXMuJC5jb250ZW50V3JhcHBlci5jbGFzc0xpc3QuYWRkKCJhbmltYXRpbmciKSx0aGlzLnBsYXlBbmltYXRpb24oImNsb3NlIikpOmphLl9yZW5kZXJDbG9zZWQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfb25OZW9uQW5pbWF0aW9uRmluaXNoOmZ1bmN0aW9uKCl7dGhpcy4kLmNvbnRlbnRXcmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoImFuaW1hdGluZyIpLHRoaXMub3BlbmVkP3RoaXMuX2ZpbmlzaFJlbmRlck9wZW5lZCgpOnRoaXMuX2ZpbmlzaFJlbmRlckNsb3NlZCgpfSxfdXBkYXRlQW5pbWF0aW9uQ29uZmlnOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuY29udGFpbmVkRWxlbWVudCxlPVtdLmNvbmNhdCh0aGlzLm9wZW5BbmltYXRpb25Db25maWd8fFtdKS5jb25jYXQodGhpcy5jbG9zZUFuaW1hdGlvbkNvbmZpZ3x8W10pLG49MDtuPGUubGVuZ3RoO24rKyllW25dLm5vZGU9dDt0aGlzLmFuaW1hdGlvbkNvbmZpZz17b3Blbjp0aGlzLm9wZW5BbmltYXRpb25Db25maWcsY2xvc2U6dGhpcy5jbG9zZUFuaW1hdGlvbkNvbmZpZ319LF91cGRhdGVPdmVybGF5UG9zaXRpb246ZnVuY3Rpb24oKXt0aGlzLmlzQXR0YWNoZWQmJnRoaXMubm90aWZ5UmVzaXplKCl9LF9hbGxvd091dHNpZGVTY3JvbGxDaGFuZ2VkOmZ1bmN0aW9uKHQpe3RoaXMuX3JlYWRpZWQmJih0P3RoaXMuc2Nyb2xsQWN0aW9uJiYibG9jayIhPT10aGlzLnNjcm9sbEFjdGlvbnx8KHRoaXMuc2Nyb2xsQWN0aW9uPSJyZWZpdCIpOnRoaXMuc2Nyb2xsQWN0aW9uPSJsb2NrIil9LF9hcHBseUZvY3VzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5mb2N1c1RhcmdldHx8dGhpcy5jb250YWluZWRFbGVtZW50O3QmJnRoaXMub3BlbmVkJiYhdGhpcy5ub0F1dG9Gb2N1cz90LmZvY3VzKCk6amEuX2FwcGx5Rm9jdXMuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgUWE9e3Byb3BlcnRpZXM6e2FuaW1hdGlvblRpbWluZzp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57ZHVyYXRpb246NTAwLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSIsZmlsbDoiYm90aCJ9fX19LGlzTmVvbkFuaW1hdGlvbjohMCxjcmVhdGVkOmZ1bmN0aW9uKCl7ZG9jdW1lbnQuYm9keS5hbmltYXRlfHxjb25zb2xlLndhcm4oIk5vIHdlYiBhbmltYXRpb25zIGRldGVjdGVkLiBUaGlzIGVsZW1lbnQgd2lsbCBub3QgZnVuY3Rpb24gd2l0aG91dCBhIHdlYiBhbmltYXRpb25zIHBvbHlmaWxsLiIpfSx0aW1pbmdGcm9tQ29uZmlnOmZ1bmN0aW9uKHQpe2lmKHQudGltaW5nKWZvcih2YXIgZSBpbiB0LnRpbWluZyl0aGlzLmFuaW1hdGlvblRpbWluZ1tlXT10LnRpbWluZ1tlXTtyZXR1cm4gdGhpcy5hbmltYXRpb25UaW1pbmd9LHNldFByZWZpeGVkUHJvcGVydHk6ZnVuY3Rpb24odCxlLG4pe2Zvcih2YXIgaSxyPXt0cmFuc2Zvcm06WyJ3ZWJraXRUcmFuc2Zvcm0iXSx0cmFuc2Zvcm1PcmlnaW46WyJtb3pUcmFuc2Zvcm1PcmlnaW4iLCJ3ZWJraXRUcmFuc2Zvcm1PcmlnaW4iXX1bZV0sbz0wO2k9cltvXTtvKyspdC5zdHlsZVtpXT1uO3Quc3R5bGVbZV09bn0sY29tcGxldGU6ZnVuY3Rpb24odCl7fX07Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2pyKHtpczoiZmFkZS1pbi1hbmltYXRpb24iLGJlaGF2aW9yczpbUWFdLGNvbmZpZ3VyZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZWZmZWN0PW5ldyBLZXlmcmFtZUVmZmVjdCh0Lm5vZGUsW3tvcGFjaXR5OiIwIn0se29wYWNpdHk6IjEifV0sdGhpcy50aW1pbmdGcm9tQ29uZmlnKHQpKSx0aGlzLl9lZmZlY3R9fSksCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpqcih7aXM6ImZhZGUtb3V0LWFuaW1hdGlvbiIsYmVoYXZpb3JzOltRYV0sY29uZmlndXJlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KHQubm9kZSxbe29wYWNpdHk6IjEifSx7b3BhY2l0eToiMCJ9XSx0aGlzLnRpbWluZ0Zyb21Db25maWcodCkpLHRoaXMuX2VmZmVjdH19KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtpczoicGFwZXItbWVudS1ncm93LWhlaWdodC1hbmltYXRpb24iLF90ZW1wbGF0ZTpudWxsLGJlaGF2aW9yczpbUWFdLGNvbmZpZ3VyZTpmdW5jdGlvbih0KXt2YXIgZT10Lm5vZGUsbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtyZXR1cm4gdGhpcy5fZWZmZWN0PW5ldyBLZXlmcmFtZUVmZmVjdChlLFt7aGVpZ2h0Om4vMisicHgifSx7aGVpZ2h0Om4rInB4In1dLHRoaXMudGltaW5nRnJvbUNvbmZpZyh0KSksdGhpcy5fZWZmZWN0fX0pLGpyKHtpczoicGFwZXItbWVudS1ncm93LXdpZHRoLWFuaW1hdGlvbiIsX3RlbXBsYXRlOm51bGwsYmVoYXZpb3JzOltRYV0sY29uZmlndXJlOmZ1bmN0aW9uKHQpe3ZhciBlPXQubm9kZSxuPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7cmV0dXJuIHRoaXMuX2VmZmVjdD1uZXcgS2V5ZnJhbWVFZmZlY3QoZSxbe3dpZHRoOm4vMisicHgifSx7d2lkdGg6bisicHgifV0sdGhpcy50aW1pbmdGcm9tQ29uZmlnKHQpKSx0aGlzLl9lZmZlY3R9fSksanIoe2lzOiJwYXBlci1tZW51LXNocmluay13aWR0aC1hbmltYXRpb24iLF90ZW1wbGF0ZTpudWxsLGJlaGF2aW9yczpbUWFdLGNvbmZpZ3VyZTpmdW5jdGlvbih0KXt2YXIgZT10Lm5vZGUsbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KGUsW3t3aWR0aDpuKyJweCJ9LHt3aWR0aDpuLW4vMjArInB4In1dLHRoaXMudGltaW5nRnJvbUNvbmZpZyh0KSksdGhpcy5fZWZmZWN0fX0pLGpyKHtpczoicGFwZXItbWVudS1zaHJpbmstaGVpZ2h0LWFuaW1hdGlvbiIsX3RlbXBsYXRlOm51bGwsYmVoYXZpb3JzOltRYV0sY29uZmlndXJlOmZ1bmN0aW9uKHQpe3ZhciBlPXQubm9kZSxuPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O3JldHVybiB0aGlzLnNldFByZWZpeGVkUHJvcGVydHkoZSwidHJhbnNmb3JtT3JpZ2luIiwiMCAwIiksdGhpcy5fZWZmZWN0PW5ldyBLZXlmcmFtZUVmZmVjdChlLFt7aGVpZ2h0Om4rInB4Iix0cmFuc2Zvcm06InRyYW5zbGF0ZVkoMCkifSx7aGVpZ2h0Om4vMisicHgiLHRyYW5zZm9ybToidHJhbnNsYXRlWSgtMjBweCkifV0sdGhpcy50aW1pbmdGcm9tQ29uZmlnKHQpKSx0aGlzLl9lZmZlY3R9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwp2YXIgdHM9e0FOSU1BVElPTl9DVUJJQ19CRVpJRVI6ImN1YmljLWJlemllciguMywuOTUsLjUsMSkiLE1BWF9BTklNQVRJT05fVElNRV9NUzo0MDB9O2NvbnN0IGVzPWpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBvdXRsaW5lOiBub25lOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1tZW51LWJ1dHRvbjsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgewogICAgICAgIGN1cnNvcjogYXV0bzsKICAgICAgICBjb2xvcjogdmFyKC0tZGlzYWJsZWQtdGV4dC1jb2xvcik7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLW1lbnUtYnV0dG9uLWRpc2FibGVkOwogICAgICB9CgogICAgICBpcm9uLWRyb3Bkb3duIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tZW51LWJ1dHRvbi1kcm9wZG93bjsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLWNvbnRlbnQgewogICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tMmRwOwoKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLW1lbnUtYnV0dG9uLWRyb3Bkb3duLWJhY2tncm91bmQsIHZhcigtLXByaW1hcnktYmFja2dyb3VuZC1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1tZW51LWJ1dHRvbi1jb250ZW50OwogICAgICB9CgogICAgICA6aG9zdChbdmVydGljYWwtYWxpZ249InRvcCJdKSAuZHJvcGRvd24tY29udGVudCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDsKICAgICAgICB0b3A6IDEwcHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFt2ZXJ0aWNhbC1hbGlnbj0iYm90dG9tIl0pIC5kcm9wZG93bi1jb250ZW50IHsKICAgICAgICBib3R0b206IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7CiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsKICAgICAgfQoKICAgICAgI3RyaWdnZXIgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJ0cmlnZ2VyIiBvbi10YXA9InRvZ2dsZSI+CiAgICAgIDxzbG90IG5hbWU9ImRyb3Bkb3duLXRyaWdnZXIiPjwvc2xvdD4KICAgIDwvZGl2PgoKICAgIDxpcm9uLWRyb3Bkb3duIGlkPSJkcm9wZG93biIgb3BlbmVkPSJ7e29wZW5lZH19IiBob3Jpem9udGFsLWFsaWduPSJbW2hvcml6b250YWxBbGlnbl1dIiB2ZXJ0aWNhbC1hbGlnbj0iW1t2ZXJ0aWNhbEFsaWduXV0iIGR5bmFtaWMtYWxpZ249IltbZHluYW1pY0FsaWduXV0iIGhvcml6b250YWwtb2Zmc2V0PSJbW2hvcml6b250YWxPZmZzZXRdXSIgdmVydGljYWwtb2Zmc2V0PSJbW3ZlcnRpY2FsT2Zmc2V0XV0iIG5vLW92ZXJsYXA9Iltbbm9PdmVybGFwXV0iIG9wZW4tYW5pbWF0aW9uLWNvbmZpZz0iW1tvcGVuQW5pbWF0aW9uQ29uZmlnXV0iIGNsb3NlLWFuaW1hdGlvbi1jb25maWc9IltbY2xvc2VBbmltYXRpb25Db25maWddXSIgbm8tYW5pbWF0aW9ucz0iW1tub0FuaW1hdGlvbnNdXSIgZm9jdXMtdGFyZ2V0PSJbW19kcm9wZG93bkNvbnRlbnRdXSIgYWxsb3ctb3V0c2lkZS1zY3JvbGw9IltbYWxsb3dPdXRzaWRlU2Nyb2xsXV0iIHJlc3RvcmUtZm9jdXMtb24tY2xvc2U9IltbcmVzdG9yZUZvY3VzT25DbG9zZV1dIiBvbi1pcm9uLW92ZXJsYXktY2FuY2VsZWQ9Il9fb25Jcm9uT3ZlcmxheUNhbmNlbGVkIiBleHBhbmQtc2l6aW5nLXRhcmdldC1mb3Itc2Nyb2xsYmFycz0iW1tleHBhbmRTaXppbmdUYXJnZXRGb3JTY3JvbGxiYXJzXV0iPgogICAgICA8ZGl2IHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiIGNsYXNzPSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICA8c2xvdCBpZD0iY29udGVudCIgbmFtZT0iZHJvcGRvd24tY29udGVudCI+PC9zbG90PgogICAgICA8L2Rpdj4KICAgIDwvaXJvbi1kcm9wZG93bj4KYCxpczoicGFwZXItbWVudS1idXR0b24iLGJlaGF2aW9yczpbWG8scmFdLHByb3BlcnRpZXM6e29wZW5lZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMCxvYnNlcnZlcjoiX29wZW5lZENoYW5nZWQifSxob3Jpem9udGFsQWxpZ246e3R5cGU6U3RyaW5nLHZhbHVlOiJsZWZ0IixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LHZlcnRpY2FsQWxpZ246e3R5cGU6U3RyaW5nLHZhbHVlOiJ0b3AiLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sZHluYW1pY0FsaWduOnt0eXBlOkJvb2xlYW59LGhvcml6b250YWxPZmZzZXQ6e3R5cGU6TnVtYmVyLHZhbHVlOjAsbm90aWZ5OiEwfSx2ZXJ0aWNhbE9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITB9LG5vT3ZlcmxhcDp7dHlwZTpCb29sZWFufSxub0FuaW1hdGlvbnM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0saWdub3JlU2VsZWN0Ont0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGNsb3NlT25BY3RpdmF0ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxvcGVuQW5pbWF0aW9uQ29uZmlnOnt0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3JldHVyblt7bmFtZToiZmFkZS1pbi1hbmltYXRpb24iLHRpbWluZzp7ZGVsYXk6MTAwLGR1cmF0aW9uOjIwMH19LHtuYW1lOiJwYXBlci1tZW51LWdyb3ctd2lkdGgtYW5pbWF0aW9uIix0aW1pbmc6e2RlbGF5OjEwMCxkdXJhdGlvbjoxNTAsZWFzaW5nOnRzLkFOSU1BVElPTl9DVUJJQ19CRVpJRVJ9fSx7bmFtZToicGFwZXItbWVudS1ncm93LWhlaWdodC1hbmltYXRpb24iLHRpbWluZzp7ZGVsYXk6MTAwLGR1cmF0aW9uOjI3NSxlYXNpbmc6dHMuQU5JTUFUSU9OX0NVQklDX0JFWklFUn19XX19LGNsb3NlQW5pbWF0aW9uQ29uZmlnOnt0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3JldHVyblt7bmFtZToiZmFkZS1vdXQtYW5pbWF0aW9uIix0aW1pbmc6e2R1cmF0aW9uOjE1MH19LHtuYW1lOiJwYXBlci1tZW51LXNocmluay13aWR0aC1hbmltYXRpb24iLHRpbWluZzp7ZGVsYXk6MTAwLGR1cmF0aW9uOjUwLGVhc2luZzp0cy5BTklNQVRJT05fQ1VCSUNfQkVaSUVSfX0se25hbWU6InBhcGVyLW1lbnUtc2hyaW5rLWhlaWdodC1hbmltYXRpb24iLHRpbWluZzp7ZHVyYXRpb246MjAwLGVhc2luZzoiZWFzZS1pbiJ9fV19fSxhbGxvd091dHNpZGVTY3JvbGw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0scmVzdG9yZUZvY3VzT25DbG9zZTp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfSxleHBhbmRTaXppbmdUYXJnZXRGb3JTY3JvbGxiYXJzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9kcm9wZG93bkNvbnRlbnQ6e3R5cGU6T2JqZWN0fX0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6Imdyb3VwIiwiYXJpYS1oYXNwb3B1cCI6InRydWUifSxsaXN0ZW5lcnM6eyJpcm9uLWFjdGl2YXRlIjoiX29uSXJvbkFjdGl2YXRlIiwiaXJvbi1zZWxlY3QiOiJfb25Jcm9uU2VsZWN0In0sZ2V0IGNvbnRlbnRFbGVtZW50KCl7Zm9yKHZhciB0PWVyKHRoaXMuJC5jb250ZW50KS5nZXREaXN0cmlidXRlZE5vZGVzKCksZT0wLG49dC5sZW5ndGg7ZTxuO2UrKylpZih0W2VdLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpcmV0dXJuIHRbZV19LHRvZ2dsZTpmdW5jdGlvbigpe3RoaXMub3BlbmVkP3RoaXMuY2xvc2UoKTp0aGlzLm9wZW4oKX0sb3BlbjpmdW5jdGlvbigpe3RoaXMuZGlzYWJsZWR8fHRoaXMuJC5kcm9wZG93bi5vcGVuKCl9LGNsb3NlOmZ1bmN0aW9uKCl7dGhpcy4kLmRyb3Bkb3duLmNsb3NlKCl9LF9vbklyb25TZWxlY3Q6ZnVuY3Rpb24odCl7dGhpcy5pZ25vcmVTZWxlY3R8fHRoaXMuY2xvc2UoKX0sX29uSXJvbkFjdGl2YXRlOmZ1bmN0aW9uKHQpe3RoaXMuY2xvc2VPbkFjdGl2YXRlJiZ0aGlzLmNsb3NlKCl9LF9vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7dD8odGhpcy5fZHJvcGRvd25Db250ZW50PXRoaXMuY29udGVudEVsZW1lbnQsdGhpcy5maXJlKCJwYXBlci1kcm9wZG93bi1vcGVuIikpOm51bGwhPWUmJnRoaXMuZmlyZSgicGFwZXItZHJvcGRvd24tY2xvc2UiKX0sX2Rpc2FibGVkQ2hhbmdlZDpmdW5jdGlvbih0KXtyYS5fZGlzYWJsZWRDaGFuZ2VkLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0JiZ0aGlzLm9wZW5lZCYmdGhpcy5jbG9zZSgpfSxfX29uSXJvbk92ZXJsYXlDYW5jZWxlZDpmdW5jdGlvbih0KXt2YXIgZT10aGlzLiQudHJpZ2dlcjtlcih0LmRldGFpbCkucGF0aC5pbmRleE9mKGUpPi0xJiZ0LnByZXZlbnREZWZhdWx0KCl9fSk7T2JqZWN0LmtleXModHMpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2VzW3RdPXRzW3RdfSkpOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTYgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgbnM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtucy5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiZGlzcGxheTogbm9uZTsiKSxucy5pbm5lckhUTUw9Jzxpcm9uLWljb25zZXQtc3ZnIG5hbWU9InBhcGVyLWRyb3Bkb3duLW1lbnUiIHNpemU9IjI0Ij5cbjxzdmc+PGRlZnM+XG48ZyBpZD0iYXJyb3ctZHJvcC1kb3duIj48cGF0aCBkPSJNNyAxMGw1IDUgNS01eiI+PC9wYXRoPjwvZz5cbjwvZGVmcz48L3N2Zz5cbjwvaXJvbi1pY29uc2V0LXN2Zz4nLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobnMuY29udGVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBpcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO2lzLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJkaXNwbGF5OiBub25lOyIpLGlzLmlubmVySFRNTD0nPGRvbS1tb2R1bGUgaWQ9InBhcGVyLWRyb3Bkb3duLW1lbnUtc2hhcmVkLXN0eWxlcyI+XG4gIDx0ZW1wbGF0ZT5cbiAgICA8c3R5bGU+XG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIC8qIE5PVEUoY2RhdGEpOiBCb3RoIHZhbHVlcyBhcmUgbmVlZGVkLCBzaW5jZSBzb21lIHBob25lcyByZXF1aXJlIHRoZVxuICAgICAgICAgKiB2YWx1ZSB0byBiZSBgdHJhbnNwYXJlbnRgLlxuICAgICAgICAgKi9cbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0OiB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfTtcblxuICAgICAgICBAYXBwbHkgLS1wYXBlci1kcm9wZG93bi1tZW51O1xuICAgICAgfVxuXG4gICAgICAvKiBwYXBlci1kcm9wZG93bi1tZW51IGFuZCBwYXBlci1kcm9wZG93bi1tZW51LWxpZ2h0IGJvdGggZGVsZWdhdGUgZm9jdXNcbiAgICAgICAqIHRvIG90aGVyIGludGVybmFsIGVsZW1lbnRzIHdoaWNoIG1hbmFnZSBmb2N1cyBzdHlsaW5nLiAqL1xuICAgICAgOmhvc3QoOmZvY3VzKSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIDpob3N0KDpkaXIocnRsKSkge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICBAYXBwbHkoLS1wYXBlci1kcm9wZG93bi1tZW51KTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBAYXBwbHkgLS1wYXBlci1kcm9wZG93bi1tZW51LWRpc2FibGVkO1xuICAgICAgfVxuXG4gICAgICA6aG9zdChbbm9pbmtdKSBwYXBlci1yaXBwbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICA6aG9zdChbbm8tbGFiZWwtZmxvYXRdKSBwYXBlci1yaXBwbGUge1xuICAgICAgICB0b3A6IDhweDtcbiAgICAgIH1cblxuICAgICAgcGFwZXItcmlwcGxlIHtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIGJvdHRvbTogOHB4O1xuICAgICAgICByaWdodDogMHB4O1xuXG4gICAgICAgIEBhcHBseSAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtcmlwcGxlO1xuICAgICAgfVxuXG4gICAgICBwYXBlci1tZW51LWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIEBhcHBseSAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtYnV0dG9uO1xuICAgICAgfVxuXG4gICAgICBwYXBlci1pbnB1dCB7XG4gICAgICAgIEBhcHBseSAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtaW5wdXQ7XG4gICAgICB9XG5cbiAgICAgIGlyb24taWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1kaXNhYmxlZC10ZXh0LWNvbG9yKTtcblxuICAgICAgICBAYXBwbHkgLS1wYXBlci1kcm9wZG93bi1tZW51LWljb247XG4gICAgICB9XG4gICAgPC9zdHlsZT5cbiAgPC90ZW1wbGF0ZT5cbjwvZG9tLW1vZHVsZT4nLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoaXMuY29udGVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBycz1jcihIVE1MRWxlbWVudCk7anIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1kcm9wZG93bi1tZW51LXNoYXJlZC1zdHlsZXMiPjwvc3R5bGU+CgogICAgPHBhcGVyLW1lbnUtYnV0dG9uIGlkPSJtZW51QnV0dG9uIiB2ZXJ0aWNhbC1hbGlnbj0iW1t2ZXJ0aWNhbEFsaWduXV0iIGhvcml6b250YWwtYWxpZ249IltbaG9yaXpvbnRhbEFsaWduXV0iIGR5bmFtaWMtYWxpZ249IltbZHluYW1pY0FsaWduXV0iIHZlcnRpY2FsLW9mZnNldD0iW1tfY29tcHV0ZU1lbnVWZXJ0aWNhbE9mZnNldChub0xhYmVsRmxvYXQsIHZlcnRpY2FsT2Zmc2V0KV1dIiBkaXNhYmxlZD0iW1tkaXNhYmxlZF1dIiBuby1hbmltYXRpb25zPSJbW25vQW5pbWF0aW9uc11dIiBvbi1pcm9uLXNlbGVjdD0iX29uSXJvblNlbGVjdCIgb24taXJvbi1kZXNlbGVjdD0iX29uSXJvbkRlc2VsZWN0IiBvcGVuZWQ9Int7b3BlbmVkfX0iIGNsb3NlLW9uLWFjdGl2YXRlIGFsbG93LW91dHNpZGUtc2Nyb2xsPSJbW2FsbG93T3V0c2lkZVNjcm9sbF1dIiByZXN0b3JlLWZvY3VzLW9uLWNsb3NlPSJbW3Jlc3RvcmVGb2N1c09uQ2xvc2VdXSIgZXhwYW5kLXNpemluZy10YXJnZXQtZm9yLXNjcm9sbGJhcnM9IltbZXhwYW5kU2l6aW5nVGFyZ2V0Rm9yU2Nyb2xsYmFyc11dIj4KICAgICAgPCEtLSBzdXBwb3J0IGh5YnJpZCBtb2RlOiB1c2VyIG1pZ2h0IGJlIHVzaW5nIHBhcGVyLW1lbnUtYnV0dG9uIDEueCB3aGljaCBkaXN0cmlidXRlcyB2aWEgPGNvbnRlbnQ+IC0tPgogICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bi10cmlnZ2VyIiBzbG90PSJkcm9wZG93bi10cmlnZ2VyIj4KICAgICAgICA8cGFwZXItcmlwcGxlPjwvcGFwZXItcmlwcGxlPgogICAgICAgIDwhLS0gcGFwZXItaW5wdXQgaGFzIHR5cGU9InRleHQiIGZvciBhMTF5LCBkbyBub3QgcmVtb3ZlIC0tPgogICAgICAgIDxwYXBlci1pbnB1dCBpZD0iaW5wdXQiIHR5cGU9InRleHQiIGludmFsaWQ9IltbaW52YWxpZF1dIiByZWFkb25seSBkaXNhYmxlZD0iW1tkaXNhYmxlZF1dIiB2YWx1ZT0iW1t2YWx1ZV1dIiBwbGFjZWhvbGRlcj0iW1twbGFjZWhvbGRlcl1dIiBlcnJvci1tZXNzYWdlPSJbW2Vycm9yTWVzc2FnZV1dIiBhbHdheXMtZmxvYXQtbGFiZWw9IltbYWx3YXlzRmxvYXRMYWJlbF1dIiBuby1sYWJlbC1mbG9hdD0iW1tub0xhYmVsRmxvYXRdXSIgbGFiZWw9IltbbGFiZWxdXSIgaW5wdXQtcm9sZT0iYnV0dG9uIiBpbnB1dC1hcmlhLWhhc3BvcHVwPSJsaXN0Ym94IiBhdXRvY29tcGxldGU9Im9mZiI+CiAgICAgICAgICA8IS0tIHN1cHBvcnQgaHlicmlkIG1vZGU6IHVzZXIgbWlnaHQgYmUgdXNpbmcgcGFwZXItaW5wdXQgMS54IHdoaWNoIGRpc3RyaWJ1dGVzIHZpYSA8Y29udGVudD4gLS0+CiAgICAgICAgICA8aXJvbi1pY29uIGljb249InBhcGVyLWRyb3Bkb3duLW1lbnU6YXJyb3ctZHJvcC1kb3duIiBzdWZmaXggc2xvdD0ic3VmZml4Ij48L2lyb24taWNvbj4KICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICA8L2Rpdj4KICAgICAgPHNsb3QgaWQ9ImNvbnRlbnQiIG5hbWU9ImRyb3Bkb3duLWNvbnRlbnQiIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiPjwvc2xvdD4KICAgIDwvcGFwZXItbWVudS1idXR0b24+CmAsaXM6InBhcGVyLWRyb3Bkb3duLW1lbnUiLGJlaGF2aW9yczpbYWEscmEsZ2EseWFdLHByb3BlcnRpZXM6e3NlbGVjdGVkSXRlbUxhYmVsOnt0eXBlOlN0cmluZyxub3RpZnk6ITAscmVhZE9ubHk6ITB9LHNlbGVjdGVkSXRlbTp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwLHJlYWRPbmx5OiEwfSx2YWx1ZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxsYWJlbDp7dHlwZTpTdHJpbmd9LHBsYWNlaG9sZGVyOnt0eXBlOlN0cmluZ30sZXJyb3JNZXNzYWdlOnt0eXBlOlN0cmluZ30sb3BlbmVkOnt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwLHZhbHVlOiExLG9ic2VydmVyOiJfb3BlbmVkQ2hhbmdlZCJ9LGFsbG93T3V0c2lkZVNjcm9sbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxub0xhYmVsRmxvYXQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGFsd2F5c0Zsb2F0TGFiZWw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sbm9BbmltYXRpb25zOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGhvcml6b250YWxBbGlnbjp7dHlwZTpTdHJpbmcsdmFsdWU6InJpZ2h0In0sdmVydGljYWxBbGlnbjp7dHlwZTpTdHJpbmcsdmFsdWU6InRvcCJ9LHZlcnRpY2FsT2Zmc2V0Ok51bWJlcixkeW5hbWljQWxpZ246e3R5cGU6Qm9vbGVhbn0scmVzdG9yZUZvY3VzT25DbG9zZTp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfSxleHBhbmRTaXppbmdUYXJnZXRGb3JTY3JvbGxiYXJzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxsaXN0ZW5lcnM6e3RhcDoiX29uVGFwIn0sa2V5QmluZGluZ3M6eyJ1cCBkb3duIjoib3BlbiIsZXNjOiJjbG9zZSJ9LG9ic2VydmVyczpbIl9zZWxlY3RlZEl0ZW1DaGFuZ2VkKHNlbGVjdGVkSXRlbSkiXSxfYXR0YWNoRG9tKHQpe2NvbnN0IGU9WSh0aGlzKTtyZXR1cm4gZS5hdHRhY2hTaGFkb3coe21vZGU6Im9wZW4iLGRlbGVnYXRlc0ZvY3VzOiEwLHNoYWR5VXBncmFkZUZyYWdtZW50OnR9KSxlLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQodCkscnMucHJvdG90eXBlLl9hdHRhY2hEb20uY2FsbCh0aGlzLHQpfSxmb2N1cygpe3RoaXMuJC5pbnB1dC5fZm9jdXNhYmxlRWxlbWVudC5mb2N1cygpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuY29udGVudEVsZW1lbnQ7dCYmdC5zZWxlY3RlZEl0ZW0mJnRoaXMuX3NldFNlbGVjdGVkSXRlbSh0LnNlbGVjdGVkSXRlbSl9LGdldCBjb250ZW50RWxlbWVudCgpe2Zvcih2YXIgdD1lcih0aGlzLiQuY29udGVudCkuZ2V0RGlzdHJpYnV0ZWROb2RlcygpLGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspaWYodFtlXS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKXJldHVybiB0W2VdfSxvcGVuOmZ1bmN0aW9uKCl7dGhpcy4kLm1lbnVCdXR0b24ub3BlbigpfSxjbG9zZTpmdW5jdGlvbigpe3RoaXMuJC5tZW51QnV0dG9uLmNsb3NlKCl9LF9vbklyb25TZWxlY3Q6ZnVuY3Rpb24odCl7dGhpcy5fc2V0U2VsZWN0ZWRJdGVtKHQuZGV0YWlsLml0ZW0pfSxfb25Jcm9uRGVzZWxlY3Q6ZnVuY3Rpb24odCl7dGhpcy5fc2V0U2VsZWN0ZWRJdGVtKG51bGwpfSxfb25UYXA6ZnVuY3Rpb24odCl7dmkodCk9PT10aGlzJiZ0aGlzLm9wZW4oKX0sX3NlbGVjdGVkSXRlbUNoYW5nZWQ6ZnVuY3Rpb24odCl7dmFyIGU9IiI7ZT10P3QubGFiZWx8fHQuZ2V0QXR0cmlidXRlKCJsYWJlbCIpfHx0LnRleHRDb250ZW50LnRyaW0oKToiIix0aGlzLnZhbHVlPWUsdGhpcy5fc2V0U2VsZWN0ZWRJdGVtTGFiZWwoZSl9LF9jb21wdXRlTWVudVZlcnRpY2FsT2Zmc2V0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fCh0Py00OjgpfSxfZ2V0VmFsaWRpdHk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZGlzYWJsZWR8fCF0aGlzLnJlcXVpcmVkfHx0aGlzLnJlcXVpcmVkJiYhIXRoaXMudmFsdWV9LF9vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jb250ZW50RWxlbWVudDt0JiZ0LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsdGhpcy5vcGVuZWQ/InRydWUiOiJmYWxzZSIpfX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KdmFyIG9zPXtvdXRlclNjcm9sbDp7c2Nyb2xsOiEwfSxzaGFkb3dNb2RlOntzdGFuZGFyZDoyLHdhdGVyZmFsbDoxLCJ3YXRlcmZhbGwtdGFsbCI6MX0sdGFsbE1vZGU6eyJ3YXRlcmZhbGwtdGFsbCI6ITB9fTtqcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsOwogICAgICB9CgogICAgICAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKICAgICAgfQoKICAgICAgI21haW5QYW5lbCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1ib2R5OwogICAgICB9CgogICAgICAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsLWNvbnRhaW5lcjsKICAgICAgfQoKICAgICAgLyoKICAgICAgICogbW9kZTogc2Nyb2xsCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT1zY3JvbGxdKSAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsLXNjcm9sbC1jb250YWluZXI7CiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgIH0KCiAgICAgIDpob3N0KFttb2RlPXNjcm9sbF0pIHsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1vZGU6IGNvdmVyCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT1jb3Zlcl0pICNtYWluQ29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1oZWFkZXItcGFuZWwtY292ZXItY29udGFpbmVyOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIDpob3N0KFttb2RlPWNvdmVyXSkgI21haW5QYW5lbCB7CiAgICAgICAgcG9zaXRpb246IHN0YXRpYzsKICAgICAgfQoKICAgICAgLyoKICAgICAgICogbW9kZTogc3RhbmRhcmQKICAgICAgICovCiAgICAgIDpob3N0KFttb2RlPXN0YW5kYXJkXSkgI21haW5Db250YWluZXIgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1zdGFuZGFyZC1jb250YWluZXI7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1vZGU6IHNlYW1lZAogICAgICAgKi8KICAgICAgOmhvc3QoW21vZGU9c2VhbWVkXSkgI21haW5Db250YWluZXIgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1zZWFtZWQtY29udGFpbmVyOwogICAgICB9CgoKICAgICAgLyoKICAgICAgICogbW9kZTogd2F0ZXJmYWxsCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT13YXRlcmZhbGxdKSAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsLXdhdGVyZmFsbC1jb250YWluZXI7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1vZGU6IHdhdGVyZmFsbC10YWxsCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT13YXRlcmZhbGwtdGFsbF0pICNtYWluQ29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1oZWFkZXItcGFuZWwtd2F0ZXJmYWxsLXRhbGwtY29udGFpbmVyOwogICAgICB9CgogICAgICAjZHJvcFNoYWRvdyB7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzOwogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCA1cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1zaGFkb3c7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgICNkcm9wU2hhZG93Lmhhcy1zaGFkb3cgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgICNtYWluQ29udGFpbmVyID4gOjpzbG90dGVkKC5maXQpIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICB9CgogICAgPC9zdHlsZT4KCiAgICA8c2xvdCBpZD0iaGVhZGVyU2xvdCIgbmFtZT0iaGVhZGVyIj48L3Nsb3Q+CgogICAgPGRpdiBpZD0ibWFpblBhbmVsIj4KICAgICAgPGRpdiBpZD0ibWFpbkNvbnRhaW5lciIgY2xhc3NcJD0iW1tfY29tcHV0ZU1haW5Db250YWluZXJDbGFzcyhtb2RlKV1dIj4KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJkcm9wU2hhZG93Ij48L2Rpdj4KICAgIDwvZGl2PgpgLGlzOiJwYXBlci1oZWFkZXItcGFuZWwiLHByb3BlcnRpZXM6e21vZGU6e3R5cGU6U3RyaW5nLHZhbHVlOiJzdGFuZGFyZCIsb2JzZXJ2ZXI6Il9tb2RlQ2hhbmdlZCIscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxzaGFkb3c6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sdGFsbENsYXNzOnt0eXBlOlN0cmluZyx2YWx1ZToidGFsbCJ9LGF0VG9wOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITAsbm90aWZ5OiEwLHJlYWRPbmx5OiEwLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH19LG9ic2VydmVyczpbIl9jb21wdXRlRHJvcFNoYWRvd0hpZGRlbihhdFRvcCwgbW9kZSwgc2hhZG93KSJdLGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fYWRkTGlzdGVuZXIoKSx0aGlzLl9rZWVwU2Nyb2xsaW5nU3RhdGUoKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9yZW1vdmVMaXN0ZW5lcigpfSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuc2Nyb2xsSGFuZGxlcj10aGlzLl9zY3JvbGwuYmluZCh0aGlzKSxjb25zb2xlLndhcm4odGhpcy5pcywiaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBhcHAtbGF5b3V0IGluc3RlYWQhIil9LGdldCBoZWFkZXIoKXtyZXR1cm4gZXIodGhpcy4kLmhlYWRlclNsb3QpLmdldERpc3RyaWJ1dGVkTm9kZXMoKVswXX0sZ2V0IHNjcm9sbGVyKCl7cmV0dXJuIHRoaXMuX2dldFNjcm9sbGVyRm9yTW9kZSh0aGlzLm1vZGUpfSxnZXQgdmlzaWJsZVNoYWRvdygpe3JldHVybiB0aGlzLiQuZHJvcFNoYWRvdy5jbGFzc0xpc3QuY29udGFpbnMoImhhcy1zaGFkb3ciKX0sX2NvbXB1dGVEcm9wU2hhZG93SGlkZGVuOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1vcy5zaGFkb3dNb2RlW2VdO3RoaXMudG9nZ2xlQ2xhc3MoImhhcy1zaGFkb3ciLCEhdGhpcy5zaGFkb3d8fCgyPT09aXx8MT09PWkmJiF0KSx0aGlzLiQuZHJvcFNoYWRvdyl9LF9jb21wdXRlTWFpbkNvbnRhaW5lckNsYXNzOmZ1bmN0aW9uKHQpe3ZhciBlPXt9O3JldHVybiBlLmZsZXg9ImNvdmVyIiE9PXQsT2JqZWN0LmtleXMoZSkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX0pKS5qb2luKCIgIil9LF9hZGRMaXN0ZW5lcjpmdW5jdGlvbigpe3RoaXMuc2Nyb2xsZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLnNjcm9sbEhhbmRsZXIpfSxfcmVtb3ZlTGlzdGVuZXI6ZnVuY3Rpb24oKXt0aGlzLnNjcm9sbGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5zY3JvbGxIYW5kbGVyKX0sX21vZGVDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7dmFyIG49b3MsaT10aGlzLmhlYWRlcjtpJiYobi50YWxsTW9kZVtlXSYmIW4udGFsbE1vZGVbdF0/KGkuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLnRhbGxDbGFzcyksdGhpcy5hc3luYygoZnVuY3Rpb24oKXtpLmNsYXNzTGlzdC5yZW1vdmUoImFuaW1hdGUiKX0pLDIwMCkpOnRoaXMudG9nZ2xlQ2xhc3MoImFuaW1hdGUiLG4udGFsbE1vZGVbdF0saSkpLHRoaXMuX2tlZXBTY3JvbGxpbmdTdGF0ZSgpfSxfa2VlcFNjcm9sbGluZ1N0YXRlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5zY3JvbGxlcixlPXRoaXMuaGVhZGVyO3RoaXMuX3NldEF0VG9wKDA9PT10LnNjcm9sbFRvcCksZSYmdGhpcy50YWxsQ2xhc3MmJm9zLnRhbGxNb2RlW3RoaXMubW9kZV0mJnRoaXMudG9nZ2xlQ2xhc3ModGhpcy50YWxsQ2xhc3MsdGhpcy5hdFRvcHx8ZS5jbGFzc0xpc3QuY29udGFpbnModGhpcy50YWxsQ2xhc3MpJiZ0LnNjcm9sbEhlaWdodDx0aGlzLm9mZnNldEhlaWdodCxlKX0sX3Njcm9sbDpmdW5jdGlvbigpe3RoaXMuX2tlZXBTY3JvbGxpbmdTdGF0ZSgpLHRoaXMuZmlyZSgiY29udGVudC1zY3JvbGwiLHt0YXJnZXQ6dGhpcy5zY3JvbGxlcn0se2J1YmJsZXM6ITF9KX0sX2dldFNjcm9sbGVyRm9yTW9kZTpmdW5jdGlvbih0KXtyZXR1cm4gb3Mub3V0ZXJTY3JvbGxbdF0/dGhpczp0aGlzLiQubWFpbkNvbnRhaW5lcn19KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtpczoicGFwZXItaWNvbi1idXR0b24iLF90ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgei1pbmRleDogMDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKCiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwoKICAgICAgICAvKgogICAgICAgICAgTk9URTogQm90aCB2YWx1ZXMgYXJlIG5lZWRlZCwgc2luY2Ugc29tZSBwaG9uZXMgcmVxdWlyZSB0aGUgdmFsdWUgdG8KICAgICAgICAgIGJlIFxgdHJhbnNwYXJlbnRcYC4KICAgICAgICAqLwogICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwoKICAgICAgICAvKiBCZWNhdXNlIG9mIHBvbHltZXIvMjU1OCwgdGhpcyBzdHlsZSBoYXMgbG93ZXIgc3BlY2lmaWNpdHkgdGhhbiAqICovCiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pY29uLWJ1dHRvbjsKICAgICAgfQoKICAgICAgOmhvc3QgI2luayB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWljb24tYnV0dG9uLWluay1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWljb24tYnV0dG9uLWRpc2FibGVkLXRleHQsIHZhcigtLWRpc2FibGVkLXRleHQtY29sb3IpKTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjdXJzb3I6IGF1dG87CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWljb24tYnV0dG9uLWRpc2FibGVkOwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgOmhvc3QoOmhvdmVyKSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaWNvbi1idXR0b24taG92ZXI7CiAgICAgIH0KCiAgICAgIGlyb24taWNvbiB7CiAgICAgICAgLS1pcm9uLWljb24td2lkdGg6IDEwMCU7CiAgICAgICAgLS1pcm9uLWljb24taGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxpcm9uLWljb24gaWQ9Imljb24iIHNyYz0iW1tzcmNdXSIgaWNvbj0iW1tpY29uXV0iCiAgICAgICAgICAgICAgIGFsdCQ9IltbYWx0XV0iPjwvaXJvbi1pY29uPgogIGAsaG9zdEF0dHJpYnV0ZXM6e3JvbGU6ImJ1dHRvbiIsdGFiaW5kZXg6IjAifSxiZWhhdmlvcnM6W3hhXSxyZWdpc3RlcmVkOmZ1bmN0aW9uKCl7dGhpcy5fdGVtcGxhdGUuc2V0QXR0cmlidXRlKCJzdHJpcC13aGl0ZXNwYWNlIiwiIil9LHByb3BlcnRpZXM6e3NyYzp7dHlwZTpTdHJpbmd9LGljb246e3R5cGU6U3RyaW5nfSxhbHQ6e3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfYWx0Q2hhbmdlZCJ9fSxfYWx0Q2hhbmdlZDpmdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIik7biYmZSE9bnx8dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQpfX0pLAovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDQwMHB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkOwogICAgICAgIHBhZGRpbmc6IDJweDsKICAgICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRhcmVhOwogICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGFyZWE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLm1pcnJvci10ZXh0IHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIEBhcHBseSAtLWlyb24tYXV0b2dyb3ctdGV4dGFyZWE7CiAgICAgIH0KCiAgICAgIC5maXQgewogICAgICAgIEBhcHBseSAtLWxheW91dC1maXQ7CiAgICAgIH0KCiAgICAgIHRleHRhcmVhIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgcmVzaXplOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgICAgLyogc2VlIGNvbW1lbnRzIGluIHRlbXBsYXRlICovCiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsKICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0OwogICAgICAgIEBhcHBseSAtLWlyb24tYXV0b2dyb3ctdGV4dGFyZWE7CiAgICAgIH0KCiAgICAgIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsKICAgICAgICBAYXBwbHkgLS1pcm9uLWF1dG9ncm93LXRleHRhcmVhLXBsYWNlaG9sZGVyOwogICAgICB9CgogICAgICB0ZXh0YXJlYTotbW96LXBsYWNlaG9sZGVyIHsKICAgICAgICBAYXBwbHkgLS1pcm9uLWF1dG9ncm93LXRleHRhcmVhLXBsYWNlaG9sZGVyOwogICAgICB9CgogICAgICB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7CiAgICAgICAgQGFwcGx5IC0taXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYS1wbGFjZWhvbGRlcjsKICAgICAgfQoKICAgICAgdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsKICAgICAgICBAYXBwbHkgLS1pcm9uLWF1dG9ncm93LXRleHRhcmVhLXBsYWNlaG9sZGVyOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDwhLS0gdGhlIG1pcnJvciBzaXplcyB0aGUgaW5wdXQvdGV4dGFyZWEgc28gaXQgZ3Jvd3Mgd2l0aCB0eXBpbmcgLS0+CiAgICA8IS0tIHVzZSAmIzE2MDsgaW5zdGVhZCAmbmJzcDsgb2YgdG8gYWxsb3cgdGhpcyBlbGVtZW50IHRvIGJlIHVzZWQgaW4gWEhUTUwgLS0+CiAgICA8ZGl2IGlkPSJtaXJyb3IiIGNsYXNzPSJtaXJyb3ItdGV4dCIgYXJpYS1oaWRkZW49InRydWUiPiZuYnNwOzwvZGl2PgoKICAgIDwhLS0gc2l6ZSB0aGUgaW5wdXQvdGV4dGFyZWEgd2l0aCBhIGRpdiwgYmVjYXVzZSB0aGUgdGV4dGFyZWEgaGFzIGludHJpbnNpYyBzaXplIGluIGZmIC0tPgogICAgPGRpdiBjbGFzcz0idGV4dGFyZWEtY29udGFpbmVyIGZpdCI+CiAgICAgIDx0ZXh0YXJlYSBpZD0idGV4dGFyZWEiIG5hbWUkPSJbW25hbWVdXSIgYXJpYS1sYWJlbCQ9IltbbGFiZWxdXSIgYXV0b2NvbXBsZXRlJD0iW1thdXRvY29tcGxldGVdXSIgYXV0b2ZvY3VzJD0iW1thdXRvZm9jdXNdXSIgYXV0b2NhcGl0YWxpemUkPSJbW2F1dG9jYXBpdGFsaXplXV0iIGlucHV0bW9kZSQ9IltbaW5wdXRtb2RlXV0iIHBsYWNlaG9sZGVyJD0iW1twbGFjZWhvbGRlcl1dIiByZWFkb25seSQ9IltbcmVhZG9ubHldXSIgcmVxdWlyZWQkPSJbW3JlcXVpcmVkXV0iIGRpc2FibGVkJD0iW1tkaXNhYmxlZF1dIiByb3dzJD0iW1tyb3dzXV0iIG1pbmxlbmd0aCQ9IltbbWlubGVuZ3RoXV0iIG1heGxlbmd0aCQ9IltbbWF4bGVuZ3RoXV0iPjwvdGV4dGFyZWE+CiAgICA8L2Rpdj4KYCxpczoiaXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYSIsYmVoYXZpb3JzOlt5YSxyYV0scHJvcGVydGllczp7dmFsdWU6e29ic2VydmVyOiJfdmFsdWVDaGFuZ2VkIix0eXBlOlN0cmluZyxub3RpZnk6ITB9LGJpbmRWYWx1ZTp7b2JzZXJ2ZXI6Il9iaW5kVmFsdWVDaGFuZ2VkIix0eXBlOlN0cmluZyxub3RpZnk6ITB9LHJvd3M6e3R5cGU6TnVtYmVyLHZhbHVlOjEsb2JzZXJ2ZXI6Il91cGRhdGVDYWNoZWQifSxtYXhSb3dzOnt0eXBlOk51bWJlcix2YWx1ZTowLG9ic2VydmVyOiJfdXBkYXRlQ2FjaGVkIn0sYXV0b2NvbXBsZXRlOnt0eXBlOlN0cmluZyx2YWx1ZToib2ZmIn0sYXV0b2ZvY3VzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGF1dG9jYXBpdGFsaXplOnt0eXBlOlN0cmluZyx2YWx1ZToibm9uZSJ9LGlucHV0bW9kZTp7dHlwZTpTdHJpbmd9LHBsYWNlaG9sZGVyOnt0eXBlOlN0cmluZ30scmVhZG9ubHk6e3R5cGU6U3RyaW5nfSxyZXF1aXJlZDp7dHlwZTpCb29sZWFufSxtaW5sZW5ndGg6e3R5cGU6TnVtYmVyfSxtYXhsZW5ndGg6e3R5cGU6TnVtYmVyfSxsYWJlbDp7dHlwZTpTdHJpbmd9fSxsaXN0ZW5lcnM6e2lucHV0OiJfb25JbnB1dCJ9LGdldCB0ZXh0YXJlYSgpe3JldHVybiB0aGlzLiQudGV4dGFyZWF9LGdldCBzZWxlY3Rpb25TdGFydCgpe3JldHVybiB0aGlzLiQudGV4dGFyZWEuc2VsZWN0aW9uU3RhcnR9LGdldCBzZWxlY3Rpb25FbmQoKXtyZXR1cm4gdGhpcy4kLnRleHRhcmVhLnNlbGVjdGlvbkVuZH0sc2V0IHNlbGVjdGlvblN0YXJ0KHQpe3RoaXMuJC50ZXh0YXJlYS5zZWxlY3Rpb25TdGFydD10fSxzZXQgc2VsZWN0aW9uRW5kKHQpe3RoaXMuJC50ZXh0YXJlYS5zZWxlY3Rpb25FbmQ9dH0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXtuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUCg/OltvYV1kfGhvbmUpLykmJiFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9PUyAxWzM0NTY3ODldLykmJih0aGlzLiQudGV4dGFyZWEuc3R5bGUubWFyZ2luTGVmdD0iLTNweCIpfSx2YWxpZGF0ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuJC50ZXh0YXJlYS52YWxpZGl0eS52YWxpZDtyZXR1cm4gdCYmKHRoaXMucmVxdWlyZWQmJiIiPT09dGhpcy52YWx1ZT90PSExOnRoaXMuaGFzVmFsaWRhdG9yKCkmJih0PXlhLnZhbGlkYXRlLmNhbGwodGhpcyx0aGlzLnZhbHVlKSkpLHRoaXMuaW52YWxpZD0hdCx0aGlzLmZpcmUoImlyb24taW5wdXQtdmFsaWRhdGUiKSx0fSxfYmluZFZhbHVlQ2hhbmdlZDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlPXR9LF92YWx1ZUNoYW5nZWQ6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy50ZXh0YXJlYTtlJiYoZS52YWx1ZSE9PXQmJihlLnZhbHVlPXR8fDA9PT10P3Q6IiIpLHRoaXMuYmluZFZhbHVlPXQsdGhpcy4kLm1pcnJvci5pbm5lckhUTUw9dGhpcy5fdmFsdWVGb3JNaXJyb3IoKSx0aGlzLmZpcmUoImJpbmQtdmFsdWUtY2hhbmdlZCIse3ZhbHVlOnRoaXMuYmluZFZhbHVlfSkpfSxfb25JbnB1dDpmdW5jdGlvbih0KXt2YXIgZT1lcih0KS5wYXRoO3RoaXMudmFsdWU9ZT9lWzBdLnZhbHVlOnQudGFyZ2V0LnZhbHVlfSxfY29uc3RyYWluOmZ1bmN0aW9uKHQpe3ZhciBlO2Zvcih0PXR8fFsiIl0sZT10aGlzLm1heFJvd3M+MCYmdC5sZW5ndGg+dGhpcy5tYXhSb3dzP3Quc2xpY2UoMCx0aGlzLm1heFJvd3MpOnQuc2xpY2UoMCk7dGhpcy5yb3dzPjAmJmUubGVuZ3RoPHRoaXMucm93czspZS5wdXNoKCIiKTtyZXR1cm4gZS5qb2luKCI8YnIvPiIpKyImIzE2MDsifSxfdmFsdWVGb3JNaXJyb3I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnRleHRhcmVhO2lmKHQpcmV0dXJuIHRoaXMudG9rZW5zPXQmJnQudmFsdWU/dC52YWx1ZS5yZXBsYWNlKC8mL2dtLCImYW1wOyIpLnJlcGxhY2UoLyIvZ20sIiZxdW90OyIpLnJlcGxhY2UoLycvZ20sIiYjMzk7IikucmVwbGFjZSgvPC9nbSwiJmx0OyIpLnJlcGxhY2UoLz4vZ20sIiZndDsiKS5zcGxpdCgiXG4iKTpbIiJdLHRoaXMuX2NvbnN0cmFpbih0aGlzLnRva2Vucyl9LF91cGRhdGVDYWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLiQubWlycm9yLmlubmVySFRNTD10aGlzLl9jb25zdHJhaW4odGhpcy50b2tlbnMpfX0pLAovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgbGFiZWwgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxwYXBlci1pbnB1dC1jb250YWluZXIgbm8tbGFiZWwtZmxvYXQkPSJbW25vTGFiZWxGbG9hdF1dIiBhbHdheXMtZmxvYXQtbGFiZWw9IltbX2NvbXB1dGVBbHdheXNGbG9hdExhYmVsKGFsd2F5c0Zsb2F0TGFiZWwscGxhY2Vob2xkZXIpXV0iIGF1dG8tdmFsaWRhdGUkPSJbW2F1dG9WYWxpZGF0ZV1dIiBkaXNhYmxlZCQ9IltbZGlzYWJsZWRdXSIgaW52YWxpZD0iW1tpbnZhbGlkXV0iPgoKICAgICAgPGxhYmVsIGhpZGRlbiQ9IltbIWxhYmVsXV0iIGFyaWEtaGlkZGVuPSJ0cnVlIiBmb3IkPSJbW19pbnB1dElkXV0iIHNsb3Q9ImxhYmVsIj5bW2xhYmVsXV08L2xhYmVsPgoKICAgICAgPGlyb24tYXV0b2dyb3ctdGV4dGFyZWEgY2xhc3M9InBhcGVyLWlucHV0LWlucHV0IiBzbG90PSJpbnB1dCIgaWQkPSJbW19pbnB1dElkXV0iIGFyaWEtbGFiZWxsZWRieSQ9IltbX2FyaWFMYWJlbGxlZEJ5XV0iIGFyaWEtZGVzY3JpYmVkYnkkPSJbW19hcmlhRGVzY3JpYmVkQnldXSIgYmluZC12YWx1ZT0ie3t2YWx1ZX19IiBpbnZhbGlkPSJ7e2ludmFsaWR9fSIgdmFsaWRhdG9yJD0iW1t2YWxpZGF0b3JdXSIgZGlzYWJsZWQkPSJbW2Rpc2FibGVkXV0iIGF1dG9jb21wbGV0ZSQ9IltbYXV0b2NvbXBsZXRlXV0iIGF1dG9mb2N1cyQ9IltbYXV0b2ZvY3VzXV0iIGlucHV0bW9kZSQ9IltbaW5wdXRtb2RlXV0iIG5hbWUkPSJbW25hbWVdXSIgcGxhY2Vob2xkZXIkPSJbW3BsYWNlaG9sZGVyXV0iIHJlYWRvbmx5JD0iW1tyZWFkb25seV1dIiByZXF1aXJlZCQ9IltbcmVxdWlyZWRdXSIgbWlubGVuZ3RoJD0iW1ttaW5sZW5ndGhdXSIgbWF4bGVuZ3RoJD0iW1ttYXhsZW5ndGhdXSIgYXV0b2NhcGl0YWxpemUkPSJbW2F1dG9jYXBpdGFsaXplXV0iIHJvd3MkPSJbW3Jvd3NdXSIgbWF4LXJvd3MkPSJbW21heFJvd3NdXSIgb24tY2hhbmdlPSJfb25DaGFuZ2UiPjwvaXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYT4KCiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tlcnJvck1lc3NhZ2VdXSI+CiAgICAgICAgPHBhcGVyLWlucHV0LWVycm9yIGFyaWEtbGl2ZT0iYXNzZXJ0aXZlIiBzbG90PSJhZGQtb24iPltbZXJyb3JNZXNzYWdlXV08L3BhcGVyLWlucHV0LWVycm9yPgogICAgICA8L3RlbXBsYXRlPgoKICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2NoYXJDb3VudGVyXV0iPgogICAgICAgIDxwYXBlci1pbnB1dC1jaGFyLWNvdW50ZXIgc2xvdD0iYWRkLW9uIj48L3BhcGVyLWlucHV0LWNoYXItY291bnRlcj4KICAgICAgPC90ZW1wbGF0ZT4KCiAgICA8L3BhcGVyLWlucHV0LWNvbnRhaW5lcj4KYCxpczoicGFwZXItdGV4dGFyZWEiLGJlaGF2aW9yczpbSmEsZ2FdLHByb3BlcnRpZXM6e19hcmlhTGFiZWxsZWRCeTp7b2JzZXJ2ZXI6Il9hcmlhTGFiZWxsZWRCeUNoYW5nZWQiLHR5cGU6U3RyaW5nfSxfYXJpYURlc2NyaWJlZEJ5OntvYnNlcnZlcjoiX2FyaWFEZXNjcmliZWRCeUNoYW5nZWQiLHR5cGU6U3RyaW5nfSx2YWx1ZTp7dHlwZTpTdHJpbmd9LHJvd3M6e3R5cGU6TnVtYmVyLHZhbHVlOjF9LG1heFJvd3M6e3R5cGU6TnVtYmVyLHZhbHVlOjB9fSxnZXQgc2VsZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvblN0YXJ0fSxzZXQgc2VsZWN0aW9uU3RhcnQodCl7dGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvblN0YXJ0PXR9LGdldCBzZWxlY3Rpb25FbmQoKXtyZXR1cm4gdGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvbkVuZH0sc2V0IHNlbGVjdGlvbkVuZCh0KXt0aGlzLiQuaW5wdXQudGV4dGFyZWEuc2VsZWN0aW9uRW5kPXR9LF9hcmlhTGFiZWxsZWRCeUNoYW5nZWQ6ZnVuY3Rpb24odCl7dGhpcy5fZm9jdXNhYmxlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsdCl9LF9hcmlhRGVzY3JpYmVkQnlDaGFuZ2VkOmZ1bmN0aW9uKHQpe3RoaXMuX2ZvY3VzYWJsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5Iix0KX0sZ2V0IF9mb2N1c2FibGVFbGVtZW50KCl7cmV0dXJuIHRoaXMuaW5wdXRFbGVtZW50LnRleHRhcmVhfX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgYXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTthcy5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiZGlzcGxheTogbm9uZTsiKSxhcy5pbm5lckhUTUw9Ijxkb20tbW9kdWxlIGlkPVwicGFwZXItaXRlbS1zaGFyZWQtc3R5bGVzXCI+XG4gIDx0ZW1wbGF0ZT5cbiAgICA8c3R5bGU+XG4gICAgICA6aG9zdCwgLnBhcGVyLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS1wYXBlci1pdGVtLW1pbi1oZWlnaHQsIDQ4cHgpO1xuICAgICAgICBwYWRkaW5nOiAwcHggMTZweDtcbiAgICAgIH1cblxuICAgICAgLnBhcGVyLWl0ZW0ge1xuICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7XG4gICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG5cbiAgICAgIDpob3N0KFtoaWRkZW5dKSwgLnBhcGVyLWl0ZW1baGlkZGVuXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgOmhvc3QoLmlyb24tc2VsZWN0ZWQpLCAucGFwZXItaXRlbS5pcm9uLXNlbGVjdGVkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXBhcGVyLWl0ZW0tc2VsZWN0ZWQtd2VpZ2h0LCBib2xkKTtcblxuICAgICAgICBAYXBwbHkgLS1wYXBlci1pdGVtLXNlbGVjdGVkO1xuICAgICAgfVxuXG4gICAgICA6aG9zdChbZGlzYWJsZWRdKSwgLnBhcGVyLWl0ZW1bZGlzYWJsZWRdIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWl0ZW0tZGlzYWJsZWQtY29sb3IsIHZhcigtLWRpc2FibGVkLXRleHQtY29sb3IpKTtcblxuICAgICAgICBAYXBwbHkgLS1wYXBlci1pdGVtLWRpc2FibGVkO1xuICAgICAgfVxuXG4gICAgICA6aG9zdCg6Zm9jdXMpLCAucGFwZXItaXRlbTpmb2N1cyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3V0bGluZTogMDtcblxuICAgICAgICBAYXBwbHkgLS1wYXBlci1pdGVtLWZvY3VzZWQ7XG4gICAgICB9XG5cbiAgICAgIDpob3N0KDpmb2N1cyk6YmVmb3JlLCAucGFwZXItaXRlbTpmb2N1czpiZWZvcmUge1xuICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0O1xuXG4gICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IHZhcigtLWRhcmstZGl2aWRlci1vcGFjaXR5KTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgQGFwcGx5IC0tcGFwZXItaXRlbS1mb2N1c2VkLWJlZm9yZTtcbiAgICAgIH1cbiAgICA8L3N0eWxlPlxuICA8L3RlbXBsYXRlPlxuPC9kb20tbW9kdWxlPiIsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChhcy5jb250ZW50KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IHNzPVthYSxyYSx7aG9zdEF0dHJpYnV0ZXM6e3JvbGU6Im9wdGlvbiIsdGFiaW5kZXg6IjAifX1dOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1pdGVtLXNoYXJlZC1zdHlsZXMiPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWl0ZW07CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8c2xvdD48L3Nsb3Q+CmAsaXM6InBhcGVyLWl0ZW0iLGJlaGF2aW9yczpbc3NdfSksCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpqcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogbmVlZGVkIGZvciB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyB0byB3b3JrIG9uIGZmICovCiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItanVzdGlmaWVkOwogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4OwogICAgICB9CgogICAgICA6aG9zdChbdHdvLWxpbmVdKSB7CiAgICAgICAgbWluLWhlaWdodDogdmFyKC0tcGFwZXItaXRlbS1ib2R5LXR3by1saW5lLW1pbi1oZWlnaHQsIDcycHgpOwogICAgICB9CgogICAgICA6aG9zdChbdGhyZWUtbGluZV0pIHsKICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS1wYXBlci1pdGVtLWJvZHktdGhyZWUtbGluZS1taW4taGVpZ2h0LCA4OHB4KTsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoKikgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoW3NlY29uZGFyeV0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWJvZHkxOwoKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaXRlbS1ib2R5LXNlY29uZGFyeS1jb2xvciwgdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaXRlbS1ib2R5LXNlY29uZGFyeTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CmAsaXM6InBhcGVyLWl0ZW0tYm9keSJ9KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGUgaW5jbHVkZT0icGFwZXItaXRlbS1zaGFyZWQtc3R5bGVzIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWl0ZW07CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaWNvbi1pdGVtOwogICAgICB9CgogICAgICAuY29udGVudC1pY29uIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwoKICAgICAgICB3aWR0aDogdmFyKC0tcGFwZXItaXRlbS1pY29uLXdpZHRoLCA1NnB4KTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pdGVtLWljb247CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBpZD0iY29udGVudEljb24iIGNsYXNzPSJjb250ZW50LWljb24iPgogICAgICA8c2xvdCBuYW1lPSJpdGVtLWljb24iPjwvc2xvdD4KICAgIDwvZGl2PgogICAgPHNsb3Q+PC9zbG90PgpgLGlzOiJwYXBlci1pY29uLWl0ZW0iLGJlaGF2aW9yczpbc3NdfSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBscz17cHJvcGVydGllczp7bXVsdGk6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoibXVsdGlDaGFuZ2VkIn0sc2VsZWN0ZWRWYWx1ZXM6e3R5cGU6QXJyYXksbm90aWZ5OiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fSxzZWxlY3RlZEl0ZW1zOnt0eXBlOkFycmF5LHJlYWRPbmx5OiEwLG5vdGlmeTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX19LG9ic2VydmVyczpbIl91cGRhdGVTZWxlY3RlZChzZWxlY3RlZFZhbHVlcy5zcGxpY2VzKSJdLHNlbGVjdDpmdW5jdGlvbih0KXt0aGlzLm11bHRpP3RoaXMuX3RvZ2dsZVNlbGVjdGVkKHQpOnRoaXMuc2VsZWN0ZWQ9dH0sbXVsdGlDaGFuZ2VkOmZ1bmN0aW9uKHQpe3RoaXMuX3NlbGVjdGlvbi5tdWx0aT10LHRoaXMuX3VwZGF0ZVNlbGVjdGVkKCl9LGdldCBfc2hvdWxkVXBkYXRlU2VsZWN0aW9uKCl7cmV0dXJuIG51bGwhPXRoaXMuc2VsZWN0ZWR8fG51bGwhPXRoaXMuc2VsZWN0ZWRWYWx1ZXMmJnRoaXMuc2VsZWN0ZWRWYWx1ZXMubGVuZ3RofSxfdXBkYXRlQXR0ckZvclNlbGVjdGVkOmZ1bmN0aW9uKCl7dGhpcy5tdWx0aT90aGlzLnNlbGVjdGVkSXRlbXMmJnRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGg+MCYmKHRoaXMuc2VsZWN0ZWRWYWx1ZXM9dGhpcy5zZWxlY3RlZEl0ZW1zLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2luZGV4VG9WYWx1ZSh0aGlzLmluZGV4T2YodCkpfSksdGhpcykuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dH0pLHRoaXMpKTplYS5fdXBkYXRlQXR0ckZvclNlbGVjdGVkLmFwcGx5KHRoaXMpfSxfdXBkYXRlU2VsZWN0ZWQ6ZnVuY3Rpb24oKXt0aGlzLm11bHRpP3RoaXMuX3NlbGVjdE11bHRpKHRoaXMuc2VsZWN0ZWRWYWx1ZXMpOnRoaXMuX3NlbGVjdFNlbGVjdGVkKHRoaXMuc2VsZWN0ZWQpfSxfc2VsZWN0TXVsdGk6ZnVuY3Rpb24odCl7dmFyIGU9KHRoaXMuX3ZhbHVlc1RvSXRlbXModD10fHxbXSl8fFtdKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10fSkpO3RoaXMuX3NlbGVjdGlvbi5jbGVhcihlKTtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl0aGlzLl9zZWxlY3Rpb24uc2V0SXRlbVNlbGVjdGVkKGVbbl0sITApO3RoaXMuZmFsbGJhY2tTZWxlY3Rpb24mJiF0aGlzLl9zZWxlY3Rpb24uZ2V0KCkubGVuZ3RoJiYodGhpcy5fdmFsdWVUb0l0ZW0odGhpcy5mYWxsYmFja1NlbGVjdGlvbikmJnRoaXMuc2VsZWN0KHRoaXMuZmFsbGJhY2tTZWxlY3Rpb24pKX0sX3NlbGVjdGlvbkNoYW5nZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3NlbGVjdGlvbi5nZXQoKTt0aGlzLm11bHRpPyh0aGlzLl9zZXRTZWxlY3RlZEl0ZW1zKHQpLHRoaXMuX3NldFNlbGVjdGVkSXRlbSh0Lmxlbmd0aD90WzBdOm51bGwpKTpudWxsIT10Pyh0aGlzLl9zZXRTZWxlY3RlZEl0ZW1zKFt0XSksdGhpcy5fc2V0U2VsZWN0ZWRJdGVtKHQpKToodGhpcy5fc2V0U2VsZWN0ZWRJdGVtcyhbXSksdGhpcy5fc2V0U2VsZWN0ZWRJdGVtKG51bGwpKX0sX3RvZ2dsZVNlbGVjdGVkOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuc2VsZWN0ZWRWYWx1ZXMuaW5kZXhPZih0KTtlPDA/dGhpcy5wdXNoKCJzZWxlY3RlZFZhbHVlcyIsdCk6dGhpcy5zcGxpY2UoInNlbGVjdGVkVmFsdWVzIixlLDEpfSxfdmFsdWVzVG9JdGVtczpmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9udWxsOnQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdmFsdWVUb0l0ZW0odCl9KSx0aGlzKX19LGNzPXtwcm9wZXJ0aWVzOntmb2N1c2VkSXRlbTp7b2JzZXJ2ZXI6Il9mb2N1c2VkSXRlbUNoYW5nZWQiLHJlYWRPbmx5OiEwLHR5cGU6T2JqZWN0fSxhdHRyRm9ySXRlbVRpdGxlOnt0eXBlOlN0cmluZ30sZGlzYWJsZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX2Rpc2FibGVkQ2hhbmdlZCJ9fSxfTU9ESUZJRVJfS0VZUzpbIkFsdCIsIkFsdEdyYXBoIiwiQ2Fwc0xvY2siLCJDb250cm9sIiwiRm4iLCJGbkxvY2siLCJIeXBlciIsIk1ldGEiLCJOdW1Mb2NrIiwiT1MiLCJTY3JvbGxMb2NrIiwiU2hpZnQiLCJTdXBlciIsIlN5bWJvbCIsIlN5bWJvbExvY2siXSxfU0VBUkNIX1JFU0VUX1RJTUVPVVRfTVM6MWUzLF9wcmV2aW91c1RhYkluZGV4OjAsaG9zdEF0dHJpYnV0ZXM6e3JvbGU6Im1lbnUifSxvYnNlcnZlcnM6WyJfdXBkYXRlTXVsdGlzZWxlY3RhYmxlKG11bHRpKSJdLGxpc3RlbmVyczp7Zm9jdXM6Il9vbkZvY3VzIixrZXlkb3duOiJfb25LZXlkb3duIiwiaXJvbi1pdGVtcy1jaGFuZ2VkIjoiX29uSXJvbkl0ZW1zQ2hhbmdlZCJ9LGtleUJpbmRpbmdzOnt1cDoiX29uVXBLZXkiLGRvd246Il9vbkRvd25LZXkiLGVzYzoiX29uRXNjS2V5Iiwic2hpZnQrdGFiOmtleWRvd24iOiJfb25TaGlmdFRhYkRvd24ifSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX3Jlc2V0VGFiaW5kaWNlcygpfSxzZWxlY3Q6ZnVuY3Rpb24odCl7dGhpcy5fZGVmYXVsdEZvY3VzQXN5bmMmJih0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX2RlZmF1bHRGb2N1c0FzeW5jKSx0aGlzLl9kZWZhdWx0Rm9jdXNBc3luYz1udWxsKTt2YXIgZT10aGlzLl92YWx1ZVRvSXRlbSh0KTtlJiZlLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKXx8KHRoaXMuX3NldEZvY3VzZWRJdGVtKGUpLGxzLnNlbGVjdC5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxfcmVzZXRUYWJpbmRpY2VzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5tdWx0aT90aGlzLnNlbGVjdGVkSXRlbXMmJnRoaXMuc2VsZWN0ZWRJdGVtc1swXTp0aGlzLnNlbGVjdGVkSXRlbTt0aGlzLml0ZW1zLmZvckVhY2goKGZ1bmN0aW9uKGUpe2Uuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsZT09PXQ/IjAiOiItMSIpLGUuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIix0aGlzLl9zZWxlY3Rpb24uaXNTZWxlY3RlZChlKSl9KSx0aGlzKX0sX3VwZGF0ZU11bHRpc2VsZWN0YWJsZTpmdW5jdGlvbih0KXt0P3RoaXMuc2V0QXR0cmlidXRlKCJhcmlhLW11bHRpc2VsZWN0YWJsZSIsInRydWUiKTp0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1tdWx0aXNlbGVjdGFibGUiKX0sX2ZvY3VzV2l0aEtleWJvYXJkRXZlbnQ6ZnVuY3Rpb24odCl7aWYoLTE9PT10aGlzLl9NT0RJRklFUl9LRVlTLmluZGV4T2YodC5rZXkpKXt0aGlzLmNhbmNlbERlYm91bmNlcigiX2NsZWFyU2VhcmNoVGV4dCIpO2Zvcih2YXIgZSxuPXRoaXMuX3NlYXJjaFRleHR8fCIiLGk9KG4rPSh0LmtleSYmMT09dC5rZXkubGVuZ3RoP3Qua2V5OlN0cmluZy5mcm9tQ2hhckNvZGUodC5rZXlDb2RlKSkudG9Mb2NhbGVMb3dlckNhc2UoKSkubGVuZ3RoLHI9MDtlPXRoaXMuaXRlbXNbcl07cisrKWlmKCFlLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKSl7dmFyIG89dGhpcy5hdHRyRm9ySXRlbVRpdGxlfHwidGV4dENvbnRlbnQiLGE9KGVbb118fGUuZ2V0QXR0cmlidXRlKG8pfHwiIikudHJpbSgpO2lmKCEoYS5sZW5ndGg8aSkmJmEuc2xpY2UoMCxpKS50b0xvY2FsZUxvd2VyQ2FzZSgpPT1uKXt0aGlzLl9zZXRGb2N1c2VkSXRlbShlKTticmVha319dGhpcy5fc2VhcmNoVGV4dD1uLHRoaXMuZGVib3VuY2UoIl9jbGVhclNlYXJjaFRleHQiLHRoaXMuX2NsZWFyU2VhcmNoVGV4dCx0aGlzLl9TRUFSQ0hfUkVTRVRfVElNRU9VVF9NUyl9fSxfY2xlYXJTZWFyY2hUZXh0OmZ1bmN0aW9uKCl7dGhpcy5fc2VhcmNoVGV4dD0iIn0sX2ZvY3VzUHJldmlvdXM6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5pdGVtcy5sZW5ndGgsZT1OdW1iZXIodGhpcy5pbmRleE9mKHRoaXMuZm9jdXNlZEl0ZW0pKSxuPTE7bjx0KzE7bisrKXt2YXIgaT10aGlzLml0ZW1zWyhlLW4rdCkldF07aWYoIWkuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpKXt2YXIgcj1lcihpKS5nZXRPd25lclJvb3QoKXx8ZG9jdW1lbnQ7aWYodGhpcy5fc2V0Rm9jdXNlZEl0ZW0oaSksZXIocikuYWN0aXZlRWxlbWVudD09aSlyZXR1cm59fX0sX2ZvY3VzTmV4dDpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLml0ZW1zLmxlbmd0aCxlPU51bWJlcih0aGlzLmluZGV4T2YodGhpcy5mb2N1c2VkSXRlbSkpLG49MTtuPHQrMTtuKyspe3ZhciBpPXRoaXMuaXRlbXNbKGUrbikldF07aWYoIWkuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpKXt2YXIgcj1lcihpKS5nZXRPd25lclJvb3QoKXx8ZG9jdW1lbnQ7aWYodGhpcy5fc2V0Rm9jdXNlZEl0ZW0oaSksZXIocikuYWN0aXZlRWxlbWVudD09aSlyZXR1cm59fX0sX2FwcGx5U2VsZWN0aW9uOmZ1bmN0aW9uKHQsZSl7dC5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLGU/InRydWUiOiJmYWxzZSIpLGVhLl9hcHBseVNlbGVjdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LF9mb2N1c2VkSXRlbUNoYW5nZWQ6ZnVuY3Rpb24odCxlKXtlJiZlLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCItMSIpLCF0fHx0Lmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKXx8dGhpcy5kaXNhYmxlZHx8KHQuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIjAiKSx0LmZvY3VzKCkpfSxfb25Jcm9uSXRlbXNDaGFuZ2VkOmZ1bmN0aW9uKHQpe3QuZGV0YWlsLmFkZGVkTm9kZXMubGVuZ3RoJiZ0aGlzLl9yZXNldFRhYmluZGljZXMoKX0sX29uU2hpZnRUYWJEb3duOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpO2NzLl9zaGlmdFRhYlByZXNzZWQ9ITAsdGhpcy5fc2V0Rm9jdXNlZEl0ZW0obnVsbCksdGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKSx0aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsZSksY3MuX3NoaWZ0VGFiUHJlc3NlZD0hMX0pLDEpfSxfb25Gb2N1czpmdW5jdGlvbih0KXtpZighY3MuX3NoaWZ0VGFiUHJlc3NlZCl7dmFyIGU9ZXIodCkucm9vdFRhcmdldDsoZT09PXRoaXN8fHZvaWQgMD09PWUudGFiSW5kZXh8fHRoaXMuaXNMaWdodERlc2NlbmRhbnQoZSkpJiYodGhpcy5fZGVmYXVsdEZvY3VzQXN5bmM9dGhpcy5hc3luYygoZnVuY3Rpb24oKXt2YXIgdD10aGlzLm11bHRpP3RoaXMuc2VsZWN0ZWRJdGVtcyYmdGhpcy5zZWxlY3RlZEl0ZW1zWzBdOnRoaXMuc2VsZWN0ZWRJdGVtO3RoaXMuX3NldEZvY3VzZWRJdGVtKG51bGwpLHQ/dGhpcy5fc2V0Rm9jdXNlZEl0ZW0odCk6dGhpcy5pdGVtc1swXSYmdGhpcy5fZm9jdXNOZXh0KCl9KSkpfX0sX29uVXBLZXk6ZnVuY3Rpb24odCl7dGhpcy5fZm9jdXNQcmV2aW91cygpLHQuZGV0YWlsLmtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKX0sX29uRG93bktleTpmdW5jdGlvbih0KXt0aGlzLl9mb2N1c05leHQoKSx0LmRldGFpbC5rZXlib2FyZEV2ZW50LnByZXZlbnREZWZhdWx0KCl9LF9vbkVzY0tleTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLmZvY3VzZWRJdGVtO2UmJmUuYmx1cigpfSxfb25LZXlkb3duOmZ1bmN0aW9uKHQpe3RoaXMua2V5Ym9hcmRFdmVudE1hdGNoZXNLZXlzKHQsInVwIGRvd24gZXNjIil8fHRoaXMuX2ZvY3VzV2l0aEtleWJvYXJkRXZlbnQodCksdC5zdG9wUHJvcGFnYXRpb24oKX0sX2FjdGl2YXRlSGFuZGxlcjpmdW5jdGlvbih0KXtlYS5fYWN0aXZhdGVIYW5kbGVyLmNhbGwodGhpcyx0KSx0LnN0b3BQcm9wYWdhdGlvbigpfSxfZGlzYWJsZWRDaGFuZ2VkOmZ1bmN0aW9uKHQpe3Q/KHRoaXMuX3ByZXZpb3VzVGFiSW5kZXg9dGhpcy5oYXNBdHRyaWJ1dGUoInRhYmluZGV4Iik/dGhpcy50YWJJbmRleDowLHRoaXMucmVtb3ZlQXR0cmlidXRlKCJ0YWJpbmRleCIpKTp0aGlzLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKXx8dGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4Iix0aGlzLl9wcmV2aW91c1RhYkluZGV4KX0sX3NoaWZ0VGFiUHJlc3NlZDohMX0sdXM9W1tlYSxsc10sWG8sY3NdOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwoKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci1saXN0Ym94LWJhY2tncm91bmQtY29sb3IsIHZhcigtLXByaW1hcnktYmFja2dyb3VuZC1jb2xvcikpOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1saXN0Ym94LWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItbGlzdGJveDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CmAsaXM6InBhcGVyLWxpc3Rib3giLGJlaGF2aW9yczpbdXNdLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJsaXN0Ym94In19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IGhzPXhlYAo8ZG9tLW1vZHVsZSBpZD0icGFwZXItbWF0ZXJpYWwtc2hhcmVkLXN0eWxlcyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICA6aG9zdChbZWxldmF0aW9uPSIxIl0pIHsKICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTJkcDsKICAgICAgfQoKICAgICAgOmhvc3QoW2VsZXZhdGlvbj0iMiJdKSB7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi00ZHA7CiAgICAgIH0KCiAgICAgIDpob3N0KFtlbGV2YXRpb249IjMiXSkgewogICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tNmRwOwogICAgICB9CgogICAgICA6aG9zdChbZWxldmF0aW9uPSI0Il0pIHsKICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLThkcDsKICAgICAgfQoKICAgICAgOmhvc3QoW2VsZXZhdGlvbj0iNSJdKSB7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0xNmRwOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT4KYDtocy5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiZGlzcGxheTogbm9uZTsiKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGhzLmNvbnRlbnQpLAovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1tYXRlcmlhbC1zaGFyZWQtc3R5bGVzIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdChbYW5pbWF0ZWRdKSB7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LXRyYW5zaXRpb247CiAgICAgIH0KICAgICAgOmhvc3QgewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxzbG90Pjwvc2xvdD4KYCxpczoicGFwZXItbWF0ZXJpYWwiLHByb3BlcnRpZXM6e2VsZXZhdGlvbjp7dHlwZTpOdW1iZXIscmVmbGVjdFRvQXR0cmlidXRlOiEwLHZhbHVlOjF9LGFuaW1hdGVkOnt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwLHZhbHVlOiExfX19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IGRzPXtwcm9wZXJ0aWVzOnt2YWx1ZTp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxtaW46e3R5cGU6TnVtYmVyLHZhbHVlOjAsbm90aWZ5OiEwfSxtYXg6e3R5cGU6TnVtYmVyLHZhbHVlOjEwMCxub3RpZnk6ITB9LHN0ZXA6e3R5cGU6TnVtYmVyLHZhbHVlOjEsbm90aWZ5OiEwfSxyYXRpbzp7dHlwZTpOdW1iZXIsdmFsdWU6MCxyZWFkT25seTohMCxub3RpZnk6ITB9fSxvYnNlcnZlcnM6WyJfdXBkYXRlKHZhbHVlLCBtaW4sIG1heCwgc3RlcCkiXSxfY2FsY1JhdGlvOmZ1bmN0aW9uKHQpe3JldHVybih0aGlzLl9jbGFtcFZhbHVlKHQpLXRoaXMubWluKS8odGhpcy5tYXgtdGhpcy5taW4pfSxfY2xhbXBWYWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5taW4odGhpcy5tYXgsTWF0aC5tYXgodGhpcy5taW4sdGhpcy5fY2FsY1N0ZXAodCkpKX0sX2NhbGNTdGVwOmZ1bmN0aW9uKHQpe2lmKHQ9cGFyc2VGbG9hdCh0KSwhdGhpcy5zdGVwKXJldHVybiB0O3ZhciBlPU1hdGgucm91bmQoKHQtdGhpcy5taW4pL3RoaXMuc3RlcCk7cmV0dXJuIHRoaXMuc3RlcDwxP2UvKDEvdGhpcy5zdGVwKSt0aGlzLm1pbjplKnRoaXMuc3RlcCt0aGlzLm1pbn0sX3ZhbGlkYXRlVmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9jbGFtcFZhbHVlKHRoaXMudmFsdWUpO3JldHVybiB0aGlzLnZhbHVlPXRoaXMub2xkVmFsdWU9aXNOYU4odCk/dGhpcy5vbGRWYWx1ZTp0LHRoaXMudmFsdWUhPT10fSxfdXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5fdmFsaWRhdGVWYWx1ZSgpLHRoaXMuX3NldFJhdGlvKDEwMCp0aGlzLl9jYWxjUmF0aW8odGhpcy52YWx1ZSkpfX07Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2pyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMjAwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSwgW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgI3Byb2dyZXNzQ29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1wcm9ncmVzcy1jb250YWluZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAjcHJvZ3Jlc3NDb250YWluZXIsCiAgICAgIC8qIHRoZSBzdHJpcGUgZm9yIHRoZSBpbmRldGVybWluYXRlIGFuaW1hdGlvbiovCiAgICAgIC5pbmRldGVybWluYXRlOjphZnRlciB7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1wYXBlci1wcm9ncmVzcy1oZWlnaHQsIDRweCk7CiAgICAgIH0KCiAgICAgICNwcmltYXJ5UHJvZ3Jlc3MsCiAgICAgICNzZWNvbmRhcnlQcm9ncmVzcywKICAgICAgLmluZGV0ZXJtaW5hdGU6OmFmdGVyIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICB9CgogICAgICAjcHJvZ3Jlc3NDb250YWluZXIsCiAgICAgIC5pbmRldGVybWluYXRlOjphZnRlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1nb29nbGUtZ3JleS0zMDApKTsKICAgICAgfQoKICAgICAgOmhvc3QoLnRyYW5zaXRpbmcpICNwcmltYXJ5UHJvZ3Jlc3MsCiAgICAgIDpob3N0KC50cmFuc2l0aW5nKSAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07CiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwoKICAgICAgICAvKiBEdXJhdGlvbiAqLwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4wOHMpOwogICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXByb2dyZXNzLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMDhzKTsKCiAgICAgICAgLyogVGltaW5nIGZ1bmN0aW9uICovCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sIGVhc2UpOwogICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1wYXBlci1wcm9ncmVzcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgZWFzZSk7CgogICAgICAgIC8qIERlbGF5ICovCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci1wcm9ncmVzcy10cmFuc2l0aW9uLWRlbGF5LCAwcyk7CiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtdHJhbnNpdGlvbi1kZWxheSwgMHMpOwogICAgICB9CgogICAgICAjcHJpbWFyeVByb2dyZXNzLAogICAgICAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIEBhcHBseSAtLWxheW91dC1maXQ7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApOwogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgIH0KCiAgICAgICNwcmltYXJ5UHJvZ3Jlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXByb2dyZXNzLWFjdGl2ZS1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZWVuLTUwMCkpOwogICAgICB9CgogICAgICAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXByb2dyZXNzLXNlY29uZGFyeS1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZWVuLTEwMCkpOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjcHJpbWFyeVByb2dyZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci1wcm9ncmVzcy1kaXNhYmxlZC1hY3RpdmUtY29sb3IsIHZhcigtLWdvb2dsZS1ncmV5LTUwMCkpOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXByb2dyZXNzLWRpc2FibGVkLXNlY29uZGFyeS1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZXktMzAwKSk7CiAgICAgIH0KCiAgICAgIDpob3N0KDpub3QoW2Rpc2FibGVkXSkpICNwcmltYXJ5UHJvZ3Jlc3MuaW5kZXRlcm1pbmF0ZSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBpbmRldGVybWluYXRlLWJhciB2YXIoLS1wYXBlci1wcm9ncmVzcy1pbmRldGVybWluYXRlLWN5Y2xlLWR1cmF0aW9uLCAycykgbGluZWFyIGluZmluaXRlOwogICAgICAgIGFuaW1hdGlvbjogaW5kZXRlcm1pbmF0ZS1iYXIgdmFyKC0tcGFwZXItcHJvZ3Jlc3MtaW5kZXRlcm1pbmF0ZS1jeWNsZS1kdXJhdGlvbiwgMnMpIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgOmhvc3QoOm5vdChbZGlzYWJsZWRdKSkgI3ByaW1hcnlQcm9ncmVzcy5pbmRldGVybWluYXRlOjphZnRlciB7CiAgICAgICAgY29udGVudDogIiI7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CgogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBpbmRldGVybWluYXRlLXNwbGl0dGVyIHZhcigtLXBhcGVyLXByb2dyZXNzLWluZGV0ZXJtaW5hdGUtY3ljbGUtZHVyYXRpb24sIDJzKSBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgYW5pbWF0aW9uOiBpbmRldGVybWluYXRlLXNwbGl0dGVyIHZhcigtLXBhcGVyLXByb2dyZXNzLWluZGV0ZXJtaW5hdGUtY3ljbGUtZHVyYXRpb24sIDJzKSBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBpbmRldGVybWluYXRlLWJhciB7CiAgICAgICAgMCUgewogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKSB0cmFuc2xhdGVYKC0xMDAlKTsKICAgICAgICB9CiAgICAgICAgNTAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSkgdHJhbnNsYXRlWCgwJSk7CiAgICAgICAgfQogICAgICAgIDc1JSB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpIHRyYW5zbGF0ZVgoMCUpOwogICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjI4LC42MiwuMzcsLjkxKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApIHRyYW5zbGF0ZVgoMCUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGluZGV0ZXJtaW5hdGUtc3BsaXR0ZXIgewogICAgICAgIDAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKC0xMjUlKTsKICAgICAgICB9CiAgICAgICAgMzAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKC0xMjUlKTsKICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40MiwwLC42LC44KTsKICAgICAgICB9CiAgICAgICAgOTAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKDEyNSUpOwogICAgICAgIH0KICAgICAgICAxMDAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKDEyNSUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBpbmRldGVybWluYXRlLWJhciB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMTAwJSk7CiAgICAgICAgfQogICAgICAgIDUwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKSB0cmFuc2xhdGVYKDAlKTsKICAgICAgICB9CiAgICAgICAgNzUlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpIHRyYW5zbGF0ZVgoMCUpOwogICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yOCwuNjIsLjM3LC45MSk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCkgdHJhbnNsYXRlWCgwJSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGluZGV0ZXJtaW5hdGUtc3BsaXR0ZXIgewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC43NSkgdHJhbnNsYXRlWCgtMTI1JSk7CiAgICAgICAgfQogICAgICAgIDMwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCguNzUpIHRyYW5zbGF0ZVgoLTEyNSUpOwogICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40MiwwLC42LC44KTsKICAgICAgICB9CiAgICAgICAgOTAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC43NSkgdHJhbnNsYXRlWCgxMjUlKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCguNzUpIHRyYW5zbGF0ZVgoMTI1JSk7CiAgICAgICAgfQogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9InByb2dyZXNzQ29udGFpbmVyIj4KICAgICAgPGRpdiBpZD0ic2Vjb25kYXJ5UHJvZ3Jlc3MiIGhpZGRlblwkPSJbW19oaWRlU2Vjb25kYXJ5UHJvZ3Jlc3Moc2Vjb25kYXJ5UmF0aW8pXV0iPjwvZGl2PgogICAgICA8ZGl2IGlkPSJwcmltYXJ5UHJvZ3Jlc3MiPjwvZGl2PgogICAgPC9kaXY+CmAsaXM6InBhcGVyLXByb2dyZXNzIixiZWhhdmlvcnM6W2RzXSxwcm9wZXJ0aWVzOntzZWNvbmRhcnlQcm9ncmVzczp7dHlwZTpOdW1iZXIsdmFsdWU6MH0sc2Vjb25kYXJ5UmF0aW86e3R5cGU6TnVtYmVyLHZhbHVlOjAscmVhZE9ubHk6ITB9LGluZGV0ZXJtaW5hdGU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX3RvZ2dsZUluZGV0ZXJtaW5hdGUifSxkaXNhYmxlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxvYnNlcnZlcjoiX2Rpc2FibGVkQ2hhbmdlZCJ9fSxvYnNlcnZlcnM6WyJfcHJvZ3Jlc3NDaGFuZ2VkKHNlY29uZGFyeVByb2dyZXNzLCB2YWx1ZSwgbWluLCBtYXgsIGluZGV0ZXJtaW5hdGUpIl0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6InByb2dyZXNzYmFyIn0sX3RvZ2dsZUluZGV0ZXJtaW5hdGU6ZnVuY3Rpb24odCl7dGhpcy50b2dnbGVDbGFzcygiaW5kZXRlcm1pbmF0ZSIsdCx0aGlzLiQucHJpbWFyeVByb2dyZXNzKX0sX3RyYW5zZm9ybVByb2dyZXNzOmZ1bmN0aW9uKHQsZSl7dC5zdHlsZS50cmFuc2Zvcm09dC5zdHlsZS53ZWJraXRUcmFuc2Zvcm09InNjYWxlWCgiK2UvMTAwKyIpIn0sX21haW5SYXRpb0NoYW5nZWQ6ZnVuY3Rpb24odCl7dGhpcy5fdHJhbnNmb3JtUHJvZ3Jlc3ModGhpcy4kLnByaW1hcnlQcm9ncmVzcyx0KX0sX3Byb2dyZXNzQ2hhbmdlZDpmdW5jdGlvbih0LGUsbixpLHIpe3Q9dGhpcy5fY2xhbXBWYWx1ZSh0KSxlPXRoaXMuX2NsYW1wVmFsdWUoZSk7dmFyIG89MTAwKnRoaXMuX2NhbGNSYXRpbyh0KSxhPTEwMCp0aGlzLl9jYWxjUmF0aW8oZSk7dGhpcy5fc2V0U2Vjb25kYXJ5UmF0aW8obyksdGhpcy5fdHJhbnNmb3JtUHJvZ3Jlc3ModGhpcy4kLnNlY29uZGFyeVByb2dyZXNzLG8pLHRoaXMuX3RyYW5zZm9ybVByb2dyZXNzKHRoaXMuJC5wcmltYXJ5UHJvZ3Jlc3MsYSksdGhpcy5zZWNvbmRhcnlQcm9ncmVzcz10LHI/dGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtdmFsdWVub3ciKTp0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW5vdyIsZSksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVtaW4iLG4pLHRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbWF4IixpKX0sX2Rpc2FibGVkQ2hhbmdlZDpmdW5jdGlvbih0KXt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIsdD8idHJ1ZSI6ImZhbHNlIil9LF9oaWRlU2Vjb25kYXJ5UHJvZ3Jlc3M6ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10fX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBwcz14ZWAKPHN0eWxlPgogIDpob3N0IHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGxpbmUtaGVpZ2h0OiAwOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAtLWNhbGN1bGF0ZWQtcGFwZXItcmFkaW8tYnV0dG9uLXNpemU6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi1zaXplLCAxNnB4KTsKICAgIC8qIC0xcHggaXMgYSBzZW50aW5lbCBmb3IgdGhlIGRlZmF1bHQgYW5kIGlzIHJlcGxhY2UgaW4gXGBhdHRhY2hlZFxgLiAqLwogICAgLS1jYWxjdWxhdGVkLXBhcGVyLXJhZGlvLWJ1dHRvbi1pbmstc2l6ZTogdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLWluay1zaXplLCAtMXB4KTsKICB9CgogIDpob3N0KDpmb2N1cykgewogICAgb3V0bGluZTogbm9uZTsKICB9CgogICNyYWRpb0NvbnRhaW5lciB7CiAgICBAYXBwbHkgLS1sYXlvdXQtaW5saW5lOwogICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlci1jZW50ZXI7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24tc2l6ZSk7CiAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItcmFkaW8tYnV0dG9uLXNpemUpOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKCiAgICBAYXBwbHkgLS1wYXBlci1yYWRpby1idXR0b24tcmFkaW8tY29udGFpbmVyOwogIH0KCiAgI2luayB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDUwJTsKICAgIGxlZnQ6IDUwJTsKICAgIHJpZ2h0OiBhdXRvOwogICAgd2lkdGg6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItcmFkaW8tYnV0dG9uLWluay1zaXplKTsKICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24taW5rLXNpemUpOwogICAgY29sb3I6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi11bmNoZWNrZWQtaW5rLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgIG9wYWNpdHk6IDAuNjsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogIH0KCiAgI2lua1tjaGVja2VkXSB7CiAgICBjb2xvcjogdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLWNoZWNrZWQtaW5rLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CiAgfQoKICAjb2ZmUmFkaW8sICNvblJhZGlvIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgfQoKICAjb2ZmUmFkaW8gewogICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLXVuY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tdW5jaGVja2VkLWJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50KTsKICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjI4czsKICB9CgogICNvblJhZGlvIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi1jaGVja2VkLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gZWFzZSAwLjI4czsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlIDAuMjhzOwogICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICB9CgogIDpob3N0KFtjaGVja2VkXSkgI29mZlJhZGlvIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLWNoZWNrZWQtY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IpKTsKICB9CgogIDpob3N0KFtjaGVja2VkXSkgI29uUmFkaW8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7CiAgfQoKICAjcmFkaW9MYWJlbCB7CiAgICBsaW5lLWhlaWdodDogbm9ybWFsOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWwtc3BhY2luZywgMTBweCk7CiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgY29sb3I6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi1sYWJlbC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CgogICAgQGFwcGx5IC0tcGFwZXItcmFkaW8tYnV0dG9uLWxhYmVsOwogIH0KCiAgOmhvc3QoW2NoZWNrZWRdKSAjcmFkaW9MYWJlbCB7CiAgICBAYXBwbHkgLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWwtY2hlY2tlZDsKICB9CgogICNyYWRpb0xhYmVsOmRpcihydGwpIHsKICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWwtc3BhY2luZywgMTBweCk7CiAgfQoKICAjcmFkaW9MYWJlbFtoaWRkZW5dIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAvKiBkaXNhYmxlZCBzdGF0ZSAqLwoKICA6aG9zdChbZGlzYWJsZWRdKSAjb2ZmUmFkaW8gewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tdW5jaGVja2VkLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgIG9wYWNpdHk6IDAuNTsKICB9CgogIDpob3N0KFtkaXNhYmxlZF1bY2hlY2tlZF0pICNvblJhZGlvIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi11bmNoZWNrZWQtY29sb3IsIHZhcigtLXByaW1hcnktdGV4dC1jb2xvcikpOwogICAgb3BhY2l0eTogMC41OwogIH0KCiAgOmhvc3QoW2Rpc2FibGVkXSkgI3JhZGlvTGFiZWwgewogICAgLyogc2xpZ2h0bHkgZGFya2VyIHRoYW4gdGhlIGJ1dHRvbiwgc28gdGhhdCBpdCdzIHJlYWRhYmxlICovCiAgICBvcGFjaXR5OiAwLjY1OwogIH0KPC9zdHlsZT4KCjxkaXYgaWQ9InJhZGlvQ29udGFpbmVyIj4KICA8ZGl2IGlkPSJvZmZSYWRpbyI+PC9kaXY+CiAgPGRpdiBpZD0ib25SYWRpbyI+PC9kaXY+CjwvZGl2PgoKPGRpdiBpZD0icmFkaW9MYWJlbCI+PHNsb3Q+PC9zbG90PjwvZGl2PmA7cHMuc2V0QXR0cmlidXRlKCJzdHJpcC13aGl0ZXNwYWNlIiwiIiksanIoe190ZW1wbGF0ZTpwcyxpczoicGFwZXItcmFkaW8tYnV0dG9uIixiZWhhdmlvcnM6W3dhXSxob3N0QXR0cmlidXRlczp7cm9sZToicmFkaW8iLCJhcmlhLWNoZWNrZWQiOiExLHRhYmluZGV4OjB9LHByb3BlcnRpZXM6e2FyaWFBY3RpdmVBdHRyaWJ1dGU6e3R5cGU6U3RyaW5nLHZhbHVlOiJhcmlhLWNoZWNrZWQifX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl9yaXBwbGVDb250YWluZXI9dGhpcy4kLnJhZGlvQ29udGFpbmVyfSxhdHRhY2hlZDpmdW5jdGlvbigpe0RpKHRoaXMsKGZ1bmN0aW9uKCl7aWYoIi0xcHgiPT09dGhpcy5nZXRDb21wdXRlZFN0eWxlVmFsdWUoIi0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24taW5rLXNpemUiKS50cmltKCkpe3ZhciB0PXBhcnNlRmxvYXQodGhpcy5nZXRDb21wdXRlZFN0eWxlVmFsdWUoIi0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24tc2l6ZSIpLnRyaW0oKSksZT1NYXRoLmZsb29yKDMqdCk7ZSUyIT10JTImJmUrKyx0aGlzLnVwZGF0ZVN0eWxlcyh7Ii0tcGFwZXItcmFkaW8tYnV0dG9uLWluay1zaXplIjplKyJweCJ9KX19KSl9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBmcz17aG9zdEF0dHJpYnV0ZXM6e3JvbGU6Im1lbnViYXIifSxrZXlCaW5kaW5nczp7bGVmdDoiX29uTGVmdEtleSIscmlnaHQ6Il9vblJpZ2h0S2V5In0sX29uVXBLZXk6ZnVuY3Rpb24odCl7dGhpcy5mb2N1c2VkSXRlbS5jbGljaygpLHQuZGV0YWlsLmtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKX0sX29uRG93bktleTpmdW5jdGlvbih0KXt0aGlzLmZvY3VzZWRJdGVtLmNsaWNrKCksdC5kZXRhaWwua2V5Ym9hcmRFdmVudC5wcmV2ZW50RGVmYXVsdCgpfSxnZXQgX2lzUlRMKCl7cmV0dXJuInJ0bCI9PT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKS5kaXJlY3Rpb259LF9vbkxlZnRLZXk6ZnVuY3Rpb24odCl7dGhpcy5faXNSVEw/dGhpcy5fZm9jdXNOZXh0KCk6dGhpcy5fZm9jdXNQcmV2aW91cygpLHQuZGV0YWlsLmtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKX0sX29uUmlnaHRLZXk6ZnVuY3Rpb24odCl7dGhpcy5faXNSVEw/dGhpcy5fZm9jdXNQcmV2aW91cygpOnRoaXMuX2ZvY3VzTmV4dCgpLHQuZGV0YWlsLmtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKX0sX29uS2V5ZG93bjpmdW5jdGlvbih0KXt0aGlzLmtleWJvYXJkRXZlbnRNYXRjaGVzS2V5cyh0LCJ1cCBkb3duIGxlZnQgcmlnaHQgZXNjIil8fHRoaXMuX2ZvY3VzV2l0aEtleWJvYXJkRXZlbnQodCl9fSxtcz1bdXMsZnNdOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgOmhvc3QgOjpzbG90dGVkKCopIHsKICAgICAgICBwYWRkaW5nOiB2YXIoLS1wYXBlci1yYWRpby1ncm91cC1pdGVtLXBhZGRpbmcsIDEycHgpOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxzbG90Pjwvc2xvdD4KYCxpczoicGFwZXItcmFkaW8tZ3JvdXAiLGJlaGF2aW9yczpbbXNdLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJyYWRpb2dyb3VwIn0scHJvcGVydGllczp7YXR0ckZvclNlbGVjdGVkOnt0eXBlOlN0cmluZyx2YWx1ZToibmFtZSJ9LHNlbGVjdGVkQXR0cmlidXRlOnt0eXBlOlN0cmluZyx2YWx1ZToiY2hlY2tlZCJ9LHNlbGVjdGFibGU6e3R5cGU6U3RyaW5nLHZhbHVlOiJwYXBlci1yYWRpby1idXR0b24ifSxhbGxvd0VtcHR5U2VsZWN0aW9uOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxzZWxlY3Q6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdmFsdWVUb0l0ZW0odCk7aWYoIWV8fCFlLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKSl7aWYodGhpcy5zZWxlY3RlZCl7dmFyIG49dGhpcy5fdmFsdWVUb0l0ZW0odGhpcy5zZWxlY3RlZCk7aWYodGhpcy5zZWxlY3RlZD09dCl7aWYoIXRoaXMuYWxsb3dFbXB0eVNlbGVjdGlvbilyZXR1cm4gdm9pZChuJiYobi5jaGVja2VkPSEwKSk7dD0iIn1uJiYobi5jaGVja2VkPSExKX1lYS5zZWxlY3QuYXBwbHkodGhpcyxbdF0pLHRoaXMuZmlyZSgicGFwZXItcmFkaW8tZ3JvdXAtY2hhbmdlZCIpfX0sX2FjdGl2YXRlRm9jdXNlZEl0ZW06ZnVuY3Rpb24oKXt0aGlzLl9pdGVtQWN0aXZhdGUodGhpcy5fdmFsdWVGb3JJdGVtKHRoaXMuZm9jdXNlZEl0ZW0pLHRoaXMuZm9jdXNlZEl0ZW0pfSxfb25VcEtleTpmdW5jdGlvbih0KXt0aGlzLl9mb2N1c1ByZXZpb3VzKCksdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2FjdGl2YXRlRm9jdXNlZEl0ZW0oKX0sX29uRG93bktleTpmdW5jdGlvbih0KXt0aGlzLl9mb2N1c05leHQoKSx0LnByZXZlbnREZWZhdWx0KCksdGhpcy5fYWN0aXZhdGVGb2N1c2VkSXRlbSgpfSxfb25MZWZ0S2V5OmZ1bmN0aW9uKHQpe2ZzLl9vbkxlZnRLZXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2FjdGl2YXRlRm9jdXNlZEl0ZW0oKX0sX29uUmlnaHRLZXk6ZnVuY3Rpb24odCl7ZnMuX29uUmlnaHRLZXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2FjdGl2YXRlRm9jdXNlZEl0ZW0oKX19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IGdzPXhlYAogIDxzdHlsZT4KICAgIDpob3N0IHsKICAgICAgQGFwcGx5IC0tbGF5b3V0OwogICAgICBAYXBwbHkgLS1sYXlvdXQtanVzdGlmaWVkOwogICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwogICAgICB3aWR0aDogMjAwcHg7CiAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOwogICAgICAtLXBhcGVyLXByb2dyZXNzLWFjdGl2ZS1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWFjdGl2ZS1jb2xvciwgdmFyKC0tZ29vZ2xlLWJsdWUtNzAwKSk7CiAgICAgIC0tcGFwZXItcHJvZ3Jlc3Mtc2Vjb25kYXJ5LWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItc2Vjb25kYXJ5LWNvbG9yLCB2YXIoLS1nb29nbGUtYmx1ZS0zMDApKTsKICAgICAgLS1wYXBlci1wcm9ncmVzcy1kaXNhYmxlZC1hY3RpdmUtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1kaXNhYmxlZC1hY3RpdmUtY29sb3IsIHZhcigtLXBhcGVyLWdyZXktNDAwKSk7CiAgICAgIC0tcGFwZXItcHJvZ3Jlc3MtZGlzYWJsZWQtc2Vjb25kYXJ5LWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItZGlzYWJsZWQtc2Vjb25kYXJ5LWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICAtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodDogdmFyKC0tcGFwZXItc2xpZGVyLWhlaWdodCwgMnB4KTsKICAgIH0KCiAgICAvKiBmb2N1cyBzaG93cyB0aGUgcmlwcGxlICovCiAgICA6aG9zdCg6Zm9jdXMpIHsKICAgICAgb3V0bGluZTogbm9uZTsKICAgIH0KCiAgICAvKioKICAgICAgKiBOT1RFKGtlYW51bGVlKTogVGhvdWdoIDpob3N0LWNvbnRleHQgaXMgbm90IHVuaXZlcnNhbGx5IHN1cHBvcnRlZCwgc29tZSBwYWdlcwogICAgICAqIHN0aWxsIHJlbHkgb24gcGFwZXItc2xpZGVyIGJlaW5nIGZsaXBwZWQgd2hlbiBkaXI9InJ0bCIgaXMgc2V0IG9uIGJvZHkuIEZvciBmdWxsCiAgICAgICogY29tcGF0aWJpbGl0eSwgZGlyPSJydGwiIG11c3QgYmUgZXhwbGljaXRseSBzZXQgb24gcGFwZXItc2xpZGVyLgogICAgICAqLwogICAgOmRpcihydGwpICNzbGlkZXJDb250YWluZXIgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKC0xKTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOwogICAgfQoKICAgIC8qKgogICAgICAqIE5PVEUoa2VhbnVsZWUpOiBUaGlzIGlzIHNlcGFyYXRlIGZyb20gdGhlIHJ1bGUgYWJvdmUgYmVjYXVzZSA6aG9zdC1jb250ZXh0IG1heQogICAgICAqIG5vdCBiZSByZWNvZ25pemVkLgogICAgICAqLwogICAgOmhvc3QoW2Rpcj0icnRsIl0pICNzbGlkZXJDb250YWluZXIgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKC0xKTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOwogICAgfQoKICAgIC8qKgogICAgICAqIE5PVEUoa2VhbnVsZWUpOiBOZWVkZWQgdG8gb3ZlcnJpZGUgdGhlIDpob3N0LWNvbnRleHQgcnVsZSAod2hlcmUgc3VwcG9ydGVkKQogICAgICAqIHRvIHN1cHBvcnQgTFRSIHNsaWRlcnMgaW4gUlRMIHBhZ2VzLgogICAgICAqLwogICAgOmhvc3QoW2Rpcj0ibHRyIl0pICNzbGlkZXJDb250YWluZXIgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOwogICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICAgIH0KCiAgICAjc2xpZGVyQ29udGFpbmVyIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiBjYWxjKDMwcHggKyB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpKTsKICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTVweCArIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCkvMik7CiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygxNXB4ICsgdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1zbGlkZXItaGVpZ2h0KS8yKTsKICAgIH0KCiAgICAjc2xpZGVyQ29udGFpbmVyOmZvY3VzIHsKICAgICAgb3V0bGluZTogMDsKICAgIH0KCiAgICAjc2xpZGVyQ29udGFpbmVyLmVkaXRhYmxlIHsKICAgICAgbWFyZ2luLXRvcDogMTJweDsKICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgIH0KCiAgICAuYmFyLWNvbnRhaW5lciB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICBib3R0b206IDA7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHJpZ2h0OiAwOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQoKICAgIC5yaW5nID4gLmJhci1jb250YWluZXIgewogICAgICBsZWZ0OiBjYWxjKDVweCArIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCkvMik7CiAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4xOHMgZWFzZTsKICAgIH0KCiAgICAucmluZy5leHBhbmQuZHJhZ2dpbmcgPiAuYmFyLWNvbnRhaW5lciB7CiAgICAgIHRyYW5zaXRpb246IG5vbmU7CiAgICB9CgogICAgLnJpbmcuZXhwYW5kOm5vdCgucGluKSA+IC5iYXItY29udGFpbmVyIHsKICAgICAgbGVmdDogY2FsYyg4cHggKyB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpLzIpOwogICAgfQoKICAgICNzbGlkZXJCYXIgewogICAgICBwYWRkaW5nOiAxNXB4IDA7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItYmFyLWNvbG9yLCB0cmFuc3BhcmVudCk7CiAgICAgIC0tcGFwZXItcHJvZ3Jlc3MtY29udGFpbmVyLWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItY29udGFpbmVyLWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICAtLXBhcGVyLXByb2dyZXNzLWhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1zbGlkZXItaGVpZ2h0KTsKICAgIH0KCiAgICAuc2xpZGVyLW1hcmtlcnMgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIC8qIHNsaWRlci1rbm9iIGlzIDMwcHggKyB0aGUgc2xpZGVyLWhlaWdodCBzbyB0aGF0IHRoZSBtYXJrZXJzIHNob3VsZCBzdGFydCBhdCBhIG9mZnNldCBvZiAxNXB4Ki8KICAgICAgdG9wOiAxNXB4OwogICAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCk7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHJpZ2h0OiAtMXB4OwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICB9CgogICAgLnNsaWRlci1tYXJrZXIgewogICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleDsKICAgIH0KICAgIC5zbGlkZXItbWFya2Vyczo6YWZ0ZXIsCiAgICAuc2xpZGVyLW1hcmtlcjo6YWZ0ZXIgewogICAgICBjb250ZW50OiAiIjsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4OwogICAgICB3aWR0aDogMnB4OwogICAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCk7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLW1hcmtlcnMtY29sb3IsICMwMDApOwogICAgfQoKICAgIC5zbGlkZXIta25vYiB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgbGVmdDogMDsKICAgICAgdG9wOiAwOwogICAgICBtYXJnaW4tbGVmdDogY2FsYygtMTVweCAtIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCkvMik7CiAgICAgIHdpZHRoOiBjYWxjKDMwcHggKyB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpKTsKICAgICAgaGVpZ2h0OiBjYWxjKDMwcHggKyB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpKTsKICAgIH0KCiAgICAudHJhbnNpdGluZyA+IC5zbGlkZXIta25vYiB7CiAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4wOHMgZWFzZTsKICAgIH0KCiAgICAuc2xpZGVyLWtub2I6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQoKICAgIC5zbGlkZXIta25vYi5kcmFnZ2luZyB7CiAgICAgIHRyYW5zaXRpb246IG5vbmU7CiAgICB9CgogICAgLnNuYXBzID4gLnNsaWRlci1rbm9iLmRyYWdnaW5nIHsKICAgICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4wOHMgZWFzZTsKICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDhzIGVhc2U7CiAgICB9CgogICAgLnNsaWRlci1rbm9iLWlubmVyIHsKICAgICAgbWFyZ2luOiAxMHB4OwogICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7CiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjBweCk7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1rbm9iLWNvbG9yLCB2YXIoLS1nb29nbGUtYmx1ZS03MDApKTsKICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGFwZXItc2xpZGVyLWtub2ItY29sb3IsIHZhcigtLWdvb2dsZS1ibHVlLTcwMCkpOwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7CgogICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CgogICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyOwogICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjsKICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xOHM7CiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgfQoKICAgIC5leHBhbmQ6bm90KC5waW4pID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSk7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsKICAgIH0KCiAgICAucmluZyA+IC5zbGlkZXIta25vYiA+IC5zbGlkZXIta25vYi1pbm5lciB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yLCB0cmFuc3BhcmVudCk7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWJvcmRlci1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS00MDApKTsKICAgIH0KCiAgICAuc2xpZGVyLWtub2ItaW5uZXI6OmJlZm9yZSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1waW4tY29sb3IsIHZhcigtLWdvb2dsZS1ibHVlLTcwMCkpOwogICAgfQoKICAgIC5waW4gPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXI6OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICIiOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogNTAlOwogICAgICBtYXJnaW4tbGVmdDogLTEzcHg7CiAgICAgIHdpZHRoOiAyNnB4OwogICAgICBoZWlnaHQ6IDI2cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSA1MCUgNTAlIDA7CgogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGUoMCkgdHJhbnNsYXRlKDApOwogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDApIHRyYW5zbGF0ZSgwKTsKICAgIH0KCiAgICAuc2xpZGVyLWtub2ItaW5uZXI6OmJlZm9yZSwKICAgIC5zbGlkZXIta25vYi1pbm5lcjo6YWZ0ZXIgewogICAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAuMThzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgLjE4cyBlYXNlOwogICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE4cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC4xOHMgZWFzZTsKICAgIH0KCiAgICAucGluLnJpbmcgPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXI6OmJlZm9yZSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1waW4tc3RhcnQtY29sb3IsIHZhcigtLXBhcGVyLWdyZXktNDAwKSk7CiAgICB9CgogICAgLnBpbi5leHBhbmQgPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXI6OmJlZm9yZSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgxKSB0cmFuc2xhdGUoMTdweCwgLTE3cHgpOwogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZSgxN3B4LCAtMTdweCk7CiAgICB9CgogICAgLnBpbiA+IC5zbGlkZXIta25vYiA+IC5zbGlkZXIta25vYi1pbm5lcjo6YWZ0ZXIgewogICAgICBjb250ZW50OiBhdHRyKHZhbHVlKTsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDA7CiAgICAgIGxlZnQ6IDUwJTsKICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4OwogICAgICB3aWR0aDogMzJweDsKICAgICAgaGVpZ2h0OiAyNnB4OwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItZm9udC1jb2xvciwgI2ZmZik7CiAgICAgIGZvbnQtc2l6ZTogMTBweDsKCiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGUoMCk7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlKDApOwogICAgfQoKICAgIC5waW4uZXhwYW5kID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyOjphZnRlciB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGUoMCwgLTE3cHgpOwogICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZSgwLCAtMTdweCk7CiAgICB9CgogICAgLyogcGFwZXItaW5wdXQgKi8KICAgIC5zbGlkZXItaW5wdXQgewogICAgICB3aWR0aDogNTBweDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItc2xpZGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDsKICAgICAgfTsKICAgICAgQGFwcGx5IC0tcGFwZXItc2xpZGVyLWlucHV0OwogICAgfQoKICAgIC8qIGRpc2FibGVkIHN0YXRlICovCiAgICAjc2xpZGVyQ29udGFpbmVyLmRpc2FibGVkIHsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB9CgogICAgLmRpc2FibGVkID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWRpc2FibGVkLWtub2ItY29sb3IsIHZhcigtLXBhcGVyLWdyZXktNDAwKSk7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBhcGVyLXNsaWRlci1kaXNhYmxlZC1rbm9iLWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAwLjc1LCAxKTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDAuNzUsIDEpOwogICAgfQoKICAgIC5kaXNhYmxlZC5yaW5nID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtY29sb3IsIHRyYW5zcGFyZW50KTsKICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtYm9yZGVyLWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgfQoKICAgIHBhcGVyLXJpcHBsZSB7CiAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXIta25vYi1jb2xvciwgdmFyKC0tZ29vZ2xlLWJsdWUtNzAwKSk7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBpZD0ic2xpZGVyQ29udGFpbmVyIiBjbGFzc1wkPSJbW19nZXRDbGFzc05hbWVzKGRpc2FibGVkLCBwaW4sIHNuYXBzLCBpbW1lZGlhdGVWYWx1ZSwgbWluLCBleHBhbmQsIGRyYWdnaW5nLCB0cmFuc2l0aW5nLCBlZGl0YWJsZSldXSI+CiAgICA8ZGl2IGNsYXNzPSJiYXItY29udGFpbmVyIj4KICAgICAgPHBhcGVyLXByb2dyZXNzIGRpc2FibGVkXCQ9IltbZGlzYWJsZWRdXSIgaWQ9InNsaWRlckJhciIgYXJpYS1oaWRkZW49InRydWUiIG1pbj0iW1ttaW5dXSIgbWF4PSJbW21heF1dIiBzdGVwPSJbW3N0ZXBdXSIgdmFsdWU9IltbaW1tZWRpYXRlVmFsdWVdXSIgc2Vjb25kYXJ5LXByb2dyZXNzPSJbW3NlY29uZGFyeVByb2dyZXNzXV0iIG9uLWRvd249Il9iYXJkb3duIiBvbi11cD0iX3Jlc2V0S25vYiIgb24tdHJhY2s9Il9iYXJ0cmFjayIgb24tdGFwPSJfYmFyY2xpY2siPgogICAgICA8L3BhcGVyLXByb2dyZXNzPgogICAgPC9kaXY+CgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3NuYXBzXV0iPgogICAgICA8ZGl2IGNsYXNzPSJzbGlkZXItbWFya2VycyI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1ttYXJrZXJzXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2xpZGVyLW1hcmtlciI+PC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICA8L3RlbXBsYXRlPgoKICAgIDxkaXYgaWQ9InNsaWRlcktub2IiIGNsYXNzPSJzbGlkZXIta25vYiIgb24tZG93bj0iX2tub2Jkb3duIiBvbi11cD0iX3Jlc2V0S25vYiIgb24tdHJhY2s9Il9vblRyYWNrIiBvbi10cmFuc2l0aW9uZW5kPSJfa25vYlRyYW5zaXRpb25FbmQiPgogICAgICAgIDxkaXYgY2xhc3M9InNsaWRlci1rbm9iLWlubmVyIiB2YWx1ZVwkPSJbW2ltbWVkaWF0ZVZhbHVlXV0iPjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tlZGl0YWJsZV1dIj4KICAgIDxwYXBlci1pbnB1dCBpZD0iaW5wdXQiIHR5cGU9Im51bWJlciIgc3RlcD0iW1tzdGVwXV0iIG1pbj0iW1ttaW5dXSIgbWF4PSJbW21heF1dIiBjbGFzcz0ic2xpZGVyLWlucHV0IiBkaXNhYmxlZFwkPSJbW2Rpc2FibGVkXV0iIHZhbHVlPSJbW2ltbWVkaWF0ZVZhbHVlXV0iIG9uLWNoYW5nZT0iX2NoYW5nZVZhbHVlIiBvbi1rZXlkb3duPSJfaW5wdXRLZXlEb3duIiBuby1sYWJlbC1mbG9hdD4KICAgIDwvcGFwZXItaW5wdXQ+CiAgPC90ZW1wbGF0ZT4KYDtncy5zZXRBdHRyaWJ1dGUoInN0cmlwLXdoaXRlc3BhY2UiLCIiKSxqcih7X3RlbXBsYXRlOmdzLGlzOiJwYXBlci1zbGlkZXIiLGJlaGF2aW9yczpbWG8sZ2EseGEsZHNdLHByb3BlcnRpZXM6e3ZhbHVlOnt0eXBlOk51bWJlcix2YWx1ZTowfSxzbmFwczp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMH0scGluOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwfSxzZWNvbmRhcnlQcm9ncmVzczp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITAsb2JzZXJ2ZXI6Il9zZWNvbmRhcnlQcm9ncmVzc0NoYW5nZWQifSxlZGl0YWJsZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxpbW1lZGlhdGVWYWx1ZTp7dHlwZTpOdW1iZXIsdmFsdWU6MCxyZWFkT25seTohMCxub3RpZnk6ITB9LG1heE1hcmtlcnM6e3R5cGU6TnVtYmVyLHZhbHVlOjAsbm90aWZ5OiEwfSxleHBhbmQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWFkT25seTohMH0saWdub3JlQmFyVG91Y2g6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sZHJhZ2dpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWFkT25seTohMCxub3RpZnk6ITB9LHRyYW5zaXRpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWFkT25seTohMH0sbWFya2Vyczp7dHlwZTpBcnJheSxyZWFkT25seTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX19LG9ic2VydmVyczpbIl91cGRhdGVLbm9iKHZhbHVlLCBtaW4sIG1heCwgc25hcHMsIHN0ZXApIiwiX3ZhbHVlQ2hhbmdlZCh2YWx1ZSkiLCJfaW1tZWRpYXRlVmFsdWVDaGFuZ2VkKGltbWVkaWF0ZVZhbHVlKSIsIl91cGRhdGVNYXJrZXJzKG1heE1hcmtlcnMsIG1pbiwgbWF4LCBzbmFwcykiXSxob3N0QXR0cmlidXRlczp7cm9sZToic2xpZGVyIix0YWJpbmRleDowfSxrZXlCaW5kaW5nczp7bGVmdDoiX2xlZnRLZXkiLHJpZ2h0OiJfcmlnaHRLZXkiLCJkb3duIHBhZ2Vkb3duIGhvbWUiOiJfZGVjcmVtZW50S2V5IiwidXAgcGFnZXVwIGVuZCI6Il9pbmNyZW1lbnRLZXkifSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuaWdub3JlQmFyVG91Y2gmJmRpKHRoaXMuJC5zbGlkZXJCYXIsImF1dG8iKX0saW5jcmVtZW50OmZ1bmN0aW9uKCl7dGhpcy52YWx1ZT10aGlzLl9jbGFtcFZhbHVlKHRoaXMudmFsdWUrdGhpcy5zdGVwKX0sZGVjcmVtZW50OmZ1bmN0aW9uKCl7dGhpcy52YWx1ZT10aGlzLl9jbGFtcFZhbHVlKHRoaXMudmFsdWUtdGhpcy5zdGVwKX0sX3VwZGF0ZUtub2I6ZnVuY3Rpb24odCxlLG4saSxyKXt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW1pbiIsZSksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVtYXgiLG4pLHRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbm93Iix0KSx0aGlzLl9wb3NpdGlvbktub2IoMTAwKnRoaXMuX2NhbGNSYXRpbyh0KSl9LF92YWx1ZUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoInZhbHVlLWNoYW5nZSIse2NvbXBvc2VkOiEwfSl9LF9pbW1lZGlhdGVWYWx1ZUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmRyYWdnaW5nP3RoaXMuZmlyZSgiaW1tZWRpYXRlLXZhbHVlLWNoYW5nZSIse2NvbXBvc2VkOiEwfSk6dGhpcy52YWx1ZT10aGlzLmltbWVkaWF0ZVZhbHVlfSxfc2Vjb25kYXJ5UHJvZ3Jlc3NDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5zZWNvbmRhcnlQcm9ncmVzcz10aGlzLl9jbGFtcFZhbHVlKHRoaXMuc2Vjb25kYXJ5UHJvZ3Jlc3MpfSxfZXhwYW5kS25vYjpmdW5jdGlvbigpe3RoaXMuX3NldEV4cGFuZCghMCl9LF9yZXNldEtub2I6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbERlYm91bmNlcigiZXhwYW5kS25vYiIpLHRoaXMuX3NldEV4cGFuZCghMSl9LF9wb3NpdGlvbktub2I6ZnVuY3Rpb24odCl7dGhpcy5fc2V0SW1tZWRpYXRlVmFsdWUodGhpcy5fY2FsY1N0ZXAodGhpcy5fY2FsY0tub2JQb3NpdGlvbih0KSkpLHRoaXMuX3NldFJhdGlvKDEwMCp0aGlzLl9jYWxjUmF0aW8odGhpcy5pbW1lZGlhdGVWYWx1ZSkpLHRoaXMuJC5zbGlkZXJLbm9iLnN0eWxlLmxlZnQ9dGhpcy5yYXRpbysiJSIsdGhpcy5kcmFnZ2luZyYmKHRoaXMuX2tub2JzdGFydHg9dGhpcy5yYXRpbyp0aGlzLl93LzEwMCx0aGlzLnRyYW5zbGF0ZTNkKDAsMCwwLHRoaXMuJC5zbGlkZXJLbm9iKSl9LF9jYWxjS25vYlBvc2l0aW9uOmZ1bmN0aW9uKHQpe3JldHVybih0aGlzLm1heC10aGlzLm1pbikqdC8xMDArdGhpcy5taW59LF9vblRyYWNrOmZ1bmN0aW9uKHQpe3N3aXRjaCh0LnN0b3BQcm9wYWdhdGlvbigpLHQuZGV0YWlsLnN0YXRlKXtjYXNlInN0YXJ0Ijp0aGlzLl90cmFja1N0YXJ0KHQpO2JyZWFrO2Nhc2UidHJhY2siOnRoaXMuX3RyYWNrWCh0KTticmVhaztjYXNlImVuZCI6dGhpcy5fdHJhY2tFbmQoKX19LF90cmFja1N0YXJ0OmZ1bmN0aW9uKHQpe3RoaXMuX3NldFRyYW5zaXRpbmcoITEpLHRoaXMuX3c9dGhpcy4kLnNsaWRlckJhci5vZmZzZXRXaWR0aCx0aGlzLl94PXRoaXMucmF0aW8qdGhpcy5fdy8xMDAsdGhpcy5fc3RhcnR4PXRoaXMuX3gsdGhpcy5fa25vYnN0YXJ0eD10aGlzLl9zdGFydHgsdGhpcy5fbWlueD0tdGhpcy5fc3RhcnR4LHRoaXMuX21heHg9dGhpcy5fdy10aGlzLl9zdGFydHgsdGhpcy4kLnNsaWRlcktub2IuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKSx0aGlzLl9zZXREcmFnZ2luZyghMCl9LF90cmFja1g6ZnVuY3Rpb24odCl7dGhpcy5kcmFnZ2luZ3x8dGhpcy5fdHJhY2tTdGFydCh0KTt2YXIgZT1NYXRoLm1pbih0aGlzLl9tYXh4LE1hdGgubWF4KHRoaXMuX21pbngsdC5kZXRhaWwuZHgqKHRoaXMuX2lzUlRMPy0xOjEpKSk7dGhpcy5feD10aGlzLl9zdGFydHgrZTt2YXIgbj10aGlzLl9jYWxjU3RlcCh0aGlzLl9jYWxjS25vYlBvc2l0aW9uKHRoaXMuX3gvdGhpcy5fdyoxMDApKTt0aGlzLl9zZXRJbW1lZGlhdGVWYWx1ZShuKTt2YXIgaT10aGlzLl9jYWxjUmF0aW8odGhpcy5pbW1lZGlhdGVWYWx1ZSkqdGhpcy5fdy10aGlzLl9rbm9ic3RhcnR4O3RoaXMudHJhbnNsYXRlM2QoaSsicHgiLDAsMCx0aGlzLiQuc2xpZGVyS25vYil9LF90cmFja0VuZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuJC5zbGlkZXJLbm9iLnN0eWxlO3RoaXMuJC5zbGlkZXJLbm9iLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksdGhpcy5fc2V0RHJhZ2dpbmcoITEpLHRoaXMuX3Jlc2V0S25vYigpLHRoaXMudmFsdWU9dGhpcy5pbW1lZGlhdGVWYWx1ZSx0LnRyYW5zZm9ybT10LndlYmtpdFRyYW5zZm9ybT0iIix0aGlzLmZpcmUoImNoYW5nZSIse2NvbXBvc2VkOiEwfSl9LF9rbm9iZG93bjpmdW5jdGlvbih0KXt0aGlzLl9leHBhbmRLbm9iKCksdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXMoKX0sX2JhcnRyYWNrOmZ1bmN0aW9uKHQpe3RoaXMuX2FsbG93QmFyRXZlbnQodCkmJnRoaXMuX29uVHJhY2sodCl9LF9iYXJjbGljazpmdW5jdGlvbih0KXt0aGlzLl93PXRoaXMuJC5zbGlkZXJCYXIub2Zmc2V0V2lkdGg7dmFyIGU9dGhpcy4kLnNsaWRlckJhci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPSh0LmRldGFpbC54LWUubGVmdCkvdGhpcy5fdyoxMDA7dGhpcy5faXNSVEwmJihuPTEwMC1uKTt2YXIgaT10aGlzLnJhdGlvO3RoaXMuX3NldFRyYW5zaXRpbmcoITApLHRoaXMuX3Bvc2l0aW9uS25vYihuKSxpPT09dGhpcy5yYXRpbyYmdGhpcy5fc2V0VHJhbnNpdGluZyghMSksdGhpcy5hc3luYygoZnVuY3Rpb24oKXt0aGlzLmZpcmUoImNoYW5nZSIse2NvbXBvc2VkOiEwfSl9KSksdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXMoKX0sX2JhcmRvd246ZnVuY3Rpb24odCl7dGhpcy5fYWxsb3dCYXJFdmVudCh0KSYmKHRoaXMuZGVib3VuY2UoImV4cGFuZEtub2IiLHRoaXMuX2V4cGFuZEtub2IsNjApLHRoaXMuX2JhcmNsaWNrKHQpKX0sX2tub2JUcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKHQpe3QudGFyZ2V0PT09dGhpcy4kLnNsaWRlcktub2ImJnRoaXMuX3NldFRyYW5zaXRpbmcoITEpfSxfdXBkYXRlTWFya2VyczpmdW5jdGlvbih0LGUsbixpKXtpfHx0aGlzLl9zZXRNYXJrZXJzKFtdKTt2YXIgcj1NYXRoLnJvdW5kKChuLWUpL3RoaXMuc3RlcCk7cj50JiYocj10KSwocjwwfHwhaXNGaW5pdGUocikpJiYocj0wKSx0aGlzLl9zZXRNYXJrZXJzKG5ldyBBcnJheShyKSl9LF9tZXJnZUNsYXNzZXM6ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSkuam9pbigiICIpfSxfZ2V0Q2xhc3NOYW1lczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tZXJnZUNsYXNzZXMoe2Rpc2FibGVkOnRoaXMuZGlzYWJsZWQscGluOnRoaXMucGluLHNuYXBzOnRoaXMuc25hcHMscmluZzp0aGlzLmltbWVkaWF0ZVZhbHVlPD10aGlzLm1pbixleHBhbmQ6dGhpcy5leHBhbmQsZHJhZ2dpbmc6dGhpcy5kcmFnZ2luZyx0cmFuc2l0aW5nOnRoaXMudHJhbnNpdGluZyxlZGl0YWJsZTp0aGlzLmVkaXRhYmxlfSl9LF9hbGxvd0JhckV2ZW50OmZ1bmN0aW9uKHQpe3JldHVybiF0aGlzLmlnbm9yZUJhclRvdWNofHx0LmRldGFpbC5zb3VyY2VFdmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnR9LGdldCBfaXNSVEwoKXtyZXR1cm4gdm9pZCAwPT09dGhpcy5fX2lzUlRMJiYodGhpcy5fX2lzUlRMPSJydGwiPT09d2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcykuZGlyZWN0aW9uKSx0aGlzLl9faXNSVEx9LF9sZWZ0S2V5OmZ1bmN0aW9uKHQpe3RoaXMuX2lzUlRMP3RoaXMuX2luY3JlbWVudEtleSh0KTp0aGlzLl9kZWNyZW1lbnRLZXkodCl9LF9yaWdodEtleTpmdW5jdGlvbih0KXt0aGlzLl9pc1JUTD90aGlzLl9kZWNyZW1lbnRLZXkodCk6dGhpcy5faW5jcmVtZW50S2V5KHQpfSxfaW5jcmVtZW50S2V5OmZ1bmN0aW9uKHQpe3RoaXMuZGlzYWJsZWR8fCgiZW5kIj09PXQuZGV0YWlsLmtleT90aGlzLnZhbHVlPXRoaXMubWF4OnRoaXMuaW5jcmVtZW50KCksdGhpcy5maXJlKCJjaGFuZ2UiKSx0LnByZXZlbnREZWZhdWx0KCkpfSxfZGVjcmVtZW50S2V5OmZ1bmN0aW9uKHQpe3RoaXMuZGlzYWJsZWR8fCgiaG9tZSI9PT10LmRldGFpbC5rZXk/dGhpcy52YWx1ZT10aGlzLm1pbjp0aGlzLmRlY3JlbWVudCgpLHRoaXMuZmlyZSgiY2hhbmdlIiksdC5wcmV2ZW50RGVmYXVsdCgpKX0sX2NoYW5nZVZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMudmFsdWU9dC50YXJnZXQudmFsdWUsdGhpcy5maXJlKCJjaGFuZ2UiLHtjb21wb3NlZDohMH0pfSxfaW5wdXRLZXlEb3duOmZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9LF9jcmVhdGVSaXBwbGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmlwcGxlQ29udGFpbmVyPXRoaXMuJC5zbGlkZXJLbm9iLGJhLl9jcmVhdGVSaXBwbGUuY2FsbCh0aGlzKX0sX2ZvY3VzZWRDaGFuZ2VkOmZ1bmN0aW9uKHQpe3QmJnRoaXMuZW5zdXJlUmlwcGxlKCksdGhpcy5oYXNSaXBwbGUoKSYmKHRoaXMuX3JpcHBsZS5zdHlsZS5kaXNwbGF5PXQ/IiI6Im5vbmUiLHRoaXMuX3JpcHBsZS5ob2xkRG93bj10KX19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IF9zPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIik7X3Muc2V0QXR0cmlidXRlKCJzdHlsZSIsImRpc3BsYXk6IG5vbmU7IiksX3MuaW5uZXJIVE1MPSI8ZG9tLW1vZHVsZSBpZD1cInBhcGVyLXNwaW5uZXItc3R5bGVzXCI+XG4gIDx0ZW1wbGF0ZT5cbiAgICA8c3R5bGU+XG4gICAgICAvKlxuICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgICAgLyogU1RZTEVTIEZPUiBUSEUgU1BJTk5FUiAqL1xuICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgICAvKlxuICAgICAgICogQ29uc3RhbnRzOlxuICAgICAgICogICAgICBBUkNTSVpFICAgICA9IDI3MCBkZWdyZWVzIChhbW91bnQgb2YgY2lyY2xlIHRoZSBhcmMgdGFrZXMgdXApXG4gICAgICAgKiAgICAgIEFSQ1RJTUUgICAgID0gMTMzM21zICh0aW1lIGl0IHRha2VzIHRvIGV4cGFuZCBhbmQgY29udHJhY3QgYXJjKVxuICAgICAgICogICAgICBBUkNTVEFSVFJPVCA9IDIxNiBkZWdyZWVzIChob3cgbXVjaCB0aGUgc3RhcnQgbG9jYXRpb24gb2YgdGhlIGFyY1xuICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZCByb3RhdGUgZWFjaCB0aW1lLCAyMTYgZ2l2ZXMgdXMgYVxuICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUgcG9pbnRlZCBzdGFyIHNoYXBlIChpdCdzIDM2MC81ICogMykuXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9yIGEgNyBwb2ludGVkIHN0YXIsIHdlIG1pZ2h0IGRvXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzYwLzcgKiAzID0gMTU0LjI4NilcbiAgICAgICAqICAgICAgU0hSSU5LX1RJTUUgPSA0MDBtc1xuICAgICAgICovXG5cbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG5cbiAgICAgICAgLyogMzYwICogQVJDVElNRSAvIChBUkNTVEFSVFJPVCArICgzNjAtQVJDU0laRSkpICovXG4gICAgICAgIC0tcGFwZXItc3Bpbm5lci1jb250YWluZXItcm90YXRpb24tZHVyYXRpb246IDE1NjhtcztcblxuICAgICAgICAvKiBBUkNUSU1FICovXG4gICAgICAgIC0tcGFwZXItc3Bpbm5lci1leHBhbmQtY29udHJhY3QtZHVyYXRpb246IDEzMzNtcztcblxuICAgICAgICAvKiA0ICogQVJDVElNRSAqL1xuICAgICAgICAtLXBhcGVyLXNwaW5uZXItZnVsbC1jeWNsZS1kdXJhdGlvbjogNTMzMm1zO1xuXG4gICAgICAgIC8qIFNIUklOS19USU1FICovXG4gICAgICAgIC0tcGFwZXItc3Bpbm5lci1jb29sZG93bi1kdXJhdGlvbjogNDAwbXM7XG4gICAgICB9XG5cbiAgICAgICNzcGlubmVyQ29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAvKiBUaGUgc3Bpbm5lciBkb2VzIG5vdCBoYXZlIGFueSBjb250ZW50cyB0aGF0IHdvdWxkIGhhdmUgdG8gYmVcbiAgICAgICAgICogZmxpcHBlZCBpZiB0aGUgZGlyZWN0aW9uIGNoYW5nZXMuIEFsd2F5cyB1c2UgbHRyIHNvIHRoYXQgdGhlXG4gICAgICAgICAqIHN0eWxlIHdvcmtzIG91dCBjb3JyZWN0bHkgaW4gYm90aCBjYXNlcy4gKi9cbiAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICB9XG5cbiAgICAgICNzcGlubmVyQ29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBjb250YWluZXItcm90YXRlIHZhcigtLXBhcGVyLXNwaW5uZXItY29udGFpbmVyLXJvdGF0aW9uLWR1cmF0aW9uKSBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbjogY29udGFpbmVyLXJvdGF0ZSB2YXIoLS1wYXBlci1zcGlubmVyLWNvbnRhaW5lci1yb3RhdGlvbi1kdXJhdGlvbikgbGluZWFyIGluZmluaXRlO1xuICAgICAgfVxuXG4gICAgICBALXdlYmtpdC1rZXlmcmFtZXMgY29udGFpbmVyLXJvdGF0ZSB7XG4gICAgICAgIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIH1cbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyBjb250YWluZXItcm90YXRlIHtcbiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIH1cbiAgICAgIH1cblxuICAgICAgLnNwaW5uZXItbGF5ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zcGlubmVyLWNvbG9yLCB2YXIoLS1nb29nbGUtYmx1ZS01MDApKTtcbiAgICAgIH1cblxuICAgICAgLmxheWVyLTEge1xuICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItc3Bpbm5lci1sYXllci0xLWNvbG9yLCB2YXIoLS1nb29nbGUtYmx1ZS01MDApKTtcbiAgICAgIH1cblxuICAgICAgLmxheWVyLTIge1xuICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItc3Bpbm5lci1sYXllci0yLWNvbG9yLCB2YXIoLS1nb29nbGUtcmVkLTUwMCkpO1xuICAgICAgfVxuXG4gICAgICAubGF5ZXItMyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zcGlubmVyLWxheWVyLTMtY29sb3IsIHZhcigtLWdvb2dsZS15ZWxsb3ctNTAwKSk7XG4gICAgICB9XG5cbiAgICAgIC5sYXllci00IHtcbiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXNwaW5uZXItbGF5ZXItNC1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZWVuLTUwMCkpO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElNUE9SVEFOVCBOT1RFIEFCT1VUIENTUyBBTklNQVRJT04gUFJPUEVSVElFUyAoa2VhbnVsZWUpOlxuICAgICAgICpcbiAgICAgICAqIGlPUyBTYWZhcmkgKHRlc3RlZCBvbiBpT1MgOC4xKSBkb2VzIG5vdCBoYW5kbGUgYW5pbWF0aW9uLWRlbGF5IHZlcnkgd2VsbCAtIGl0IGRvZXNuJ3RcbiAgICAgICAqIGd1YXJhbnRlZSB0aGF0IHRoZSBhbmltYXRpb24gd2lsbCBzdGFydCBfZXhhY3RseV8gYWZ0ZXIgdGhhdCB2YWx1ZS4gU28gd2UgYXZvaWQgdXNpbmdcbiAgICAgICAqIGFuaW1hdGlvbi1kZWxheSBhbmQgaW5zdGVhZCBzZXQgY3VzdG9tIGtleWZyYW1lcyBmb3IgZWFjaCBjb2xvciAoYXMgbGF5ZXItMnVuZGFudCBhcyBpdFxuICAgICAgICogc2VlbXMpLlxuICAgICAgICovXG4gICAgICAuYWN0aXZlIC5zcGlubmVyLWxheWVyIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmlsbC11bmZpbGwtcm90YXRlO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItc3Bpbm5lci1mdWxsLWN5Y2xlLWR1cmF0aW9uKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItc3Bpbm5lci1mdWxsLWN5Y2xlLWR1cmF0aW9uKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpO1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5sYXllci0xIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmlsbC11bmZpbGwtcm90YXRlLCBsYXllci0xLWZhZGUtaW4tb3V0O1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmlsbC11bmZpbGwtcm90YXRlLCBsYXllci0xLWZhZGUtaW4tb3V0O1xuICAgICAgfVxuXG4gICAgICAuYWN0aXZlIC5zcGlubmVyLWxheWVyLmxheWVyLTIge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGUsIGxheWVyLTItZmFkZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGUsIGxheWVyLTItZmFkZS1pbi1vdXQ7XG4gICAgICB9XG5cbiAgICAgIC5hY3RpdmUgLnNwaW5uZXItbGF5ZXIubGF5ZXItMyB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZpbGwtdW5maWxsLXJvdGF0ZSwgbGF5ZXItMy1mYWRlLWluLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZpbGwtdW5maWxsLXJvdGF0ZSwgbGF5ZXItMy1mYWRlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5sYXllci00IHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmlsbC11bmZpbGwtcm90YXRlLCBsYXllci00LWZhZGUtaW4tb3V0O1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmlsbC11bmZpbGwtcm90YXRlLCBsYXllci00LWZhZGUtaW4tb3V0O1xuICAgICAgfVxuXG4gICAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmlsbC11bmZpbGwtcm90YXRlIHtcbiAgICAgICAgMTIuNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgfSAvKiAwLjUgKiBBUkNTSVpFICovXG4gICAgICAgIDI1JSAgIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpIH0gLyogMSAgICogQVJDU0laRSAqL1xuICAgICAgICAzNy41JSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDA1ZGVnKSB9IC8qIDEuNSAqIEFSQ1NJWkUgKi9cbiAgICAgICAgNTAlICAgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDU0MGRlZykgfSAvKiAyICAgKiBBUkNTSVpFICovXG4gICAgICAgIDYyLjUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg2NzVkZWcpIH0gLyogMi41ICogQVJDU0laRSAqL1xuICAgICAgICA3NSUgICB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoODEwZGVnKSB9IC8qIDMgICAqIEFSQ1NJWkUgKi9cbiAgICAgICAgODcuNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDk0NWRlZykgfSAvKiAzLjUgKiBBUkNTSVpFICovXG4gICAgICAgIHRvICAgIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMDgwZGVnKSB9IC8qIDQgICAqIEFSQ1NJWkUgKi9cbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyBmaWxsLXVuZmlsbC1yb3RhdGUge1xuICAgICAgICAxMi41JSB7IHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgfSAvKiAwLjUgKiBBUkNTSVpFICovXG4gICAgICAgIDI1JSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKSB9IC8qIDEgICAqIEFSQ1NJWkUgKi9cbiAgICAgICAgMzcuNSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpIH0gLyogMS41ICogQVJDU0laRSAqL1xuICAgICAgICA1MCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDU0MGRlZykgfSAvKiAyICAgKiBBUkNTSVpFICovXG4gICAgICAgIDYyLjUlIHsgdHJhbnNmb3JtOiByb3RhdGUoNjc1ZGVnKSB9IC8qIDIuNSAqIEFSQ1NJWkUgKi9cbiAgICAgICAgNzUlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg4MTBkZWcpIH0gLyogMyAgICogQVJDU0laRSAqL1xuICAgICAgICA4Ny41JSB7IHRyYW5zZm9ybTogcm90YXRlKDk0NWRlZykgfSAvKiAzLjUgKiBBUkNTSVpFICovXG4gICAgICAgIHRvICAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMTA4MGRlZykgfSAvKiA0ICAgKiBBUkNTSVpFICovXG4gICAgICB9XG5cbiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBsYXllci0xLWZhZGUtaW4tb3V0IHtcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAxIH1cbiAgICAgICAgMjUlIHsgb3BhY2l0eTogMSB9XG4gICAgICAgIDI2JSB7IG9wYWNpdHk6IDAgfVxuICAgICAgICA4OSUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgOTAlIHsgb3BhY2l0eTogMSB9XG4gICAgICAgIHRvIHsgb3BhY2l0eTogMSB9XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgbGF5ZXItMS1mYWRlLWluLW91dCB7XG4gICAgICAgIDAlIHsgb3BhY2l0eTogMSB9XG4gICAgICAgIDI1JSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICAyNiUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgODklIHsgb3BhY2l0eTogMCB9XG4gICAgICAgIDkwJSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICB0byB7IG9wYWNpdHk6IDEgfVxuICAgICAgfVxuXG4gICAgICBALXdlYmtpdC1rZXlmcmFtZXMgbGF5ZXItMi1mYWRlLWluLW91dCB7XG4gICAgICAgIDAlIHsgb3BhY2l0eTogMCB9XG4gICAgICAgIDE1JSB7IG9wYWNpdHk6IDAgfVxuICAgICAgICAyNSUgeyBvcGFjaXR5OiAxIH1cbiAgICAgICAgNTAlIHsgb3BhY2l0eTogMSB9XG4gICAgICAgIDUxJSB7IG9wYWNpdHk6IDAgfVxuICAgICAgICB0byB7IG9wYWNpdHk6IDAgfVxuICAgICAgfVxuXG4gICAgICBAa2V5ZnJhbWVzIGxheWVyLTItZmFkZS1pbi1vdXQge1xuICAgICAgICAwJSB7IG9wYWNpdHk6IDAgfVxuICAgICAgICAxNSUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgMjUlIHsgb3BhY2l0eTogMSB9XG4gICAgICAgIDUwJSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICA1MSUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH1cbiAgICAgIH1cblxuICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGxheWVyLTMtZmFkZS1pbi1vdXQge1xuICAgICAgICAwJSB7IG9wYWNpdHk6IDAgfVxuICAgICAgICA0MCUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgNTAlIHsgb3BhY2l0eTogMSB9XG4gICAgICAgIDc1JSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICA3NiUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH1cbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyBsYXllci0zLWZhZGUtaW4tb3V0IHtcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgNDAlIHsgb3BhY2l0eTogMCB9XG4gICAgICAgIDUwJSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICA3NSUgeyBvcGFjaXR5OiAxIH1cbiAgICAgICAgNzYlIHsgb3BhY2l0eTogMCB9XG4gICAgICAgIHRvIHsgb3BhY2l0eTogMCB9XG4gICAgICB9XG5cbiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBsYXllci00LWZhZGUtaW4tb3V0IHtcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgNjUlIHsgb3BhY2l0eTogMCB9XG4gICAgICAgIDc1JSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICA5MCUgeyBvcGFjaXR5OiAxIH1cbiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH1cbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyBsYXllci00LWZhZGUtaW4tb3V0IHtcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgNjUlIHsgb3BhY2l0eTogMCB9XG4gICAgICAgIDc1JSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICA5MCUgeyBvcGFjaXR5OiAxIH1cbiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH1cbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1jbGlwcGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBQYXRjaCB0aGUgZ2FwIHRoYXQgYXBwZWFyIGJldHdlZW4gdGhlIHR3byBhZGphY2VudCBkaXYuY2lyY2xlLWNsaXBwZXIgd2hpbGUgdGhlXG4gICAgICAgKiBzcGlubmVyIGlzIHJvdGF0aW5nIChhcHBlYXJzIG9uIENocm9tZSA1MCwgU2FmYXJpIDkuMS4xLCBhbmQgRWRnZSkuXG4gICAgICAgKi9cbiAgICAgIC5zcGlubmVyLWxheWVyOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBsZWZ0OiA0NSU7XG4gICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgfVxuXG4gICAgICAuc3Bpbm5lci1sYXllcjo6YWZ0ZXIsXG4gICAgICAuY2lyY2xlLWNsaXBwZXIgLmNpcmNsZSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhcigtLXBhcGVyLXNwaW5uZXItc3Ryb2tlLXdpZHRoLCAzcHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtY2xpcHBlciAuY2lyY2xlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMjAwJTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1jbGlwcGVyLmxlZnQgLmNpcmNsZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMjlkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMjlkZWcpO1xuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWNsaXBwZXIucmlnaHQgLmNpcmNsZSB7XG4gICAgICAgIGxlZnQ6IC0xMDAlO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTI5ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEyOWRlZyk7XG4gICAgICB9XG5cbiAgICAgIC5hY3RpdmUgLmdhcC1wYXRjaDo6YWZ0ZXIsXG4gICAgICAuYWN0aXZlIC5jaXJjbGUtY2xpcHBlciAuY2lyY2xlIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXNwaW5uZXItZXhwYW5kLWNvbnRyYWN0LWR1cmF0aW9uKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItc3Bpbm5lci1leHBhbmQtY29udHJhY3QtZHVyYXRpb24pO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgfVxuXG4gICAgICAuYWN0aXZlIC5jaXJjbGUtY2xpcHBlci5sZWZ0IC5jaXJjbGUge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsZWZ0LXNwaW47XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBsZWZ0LXNwaW47XG4gICAgICB9XG5cbiAgICAgIC5hY3RpdmUgLmNpcmNsZS1jbGlwcGVyLnJpZ2h0IC5jaXJjbGUge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByaWdodC1zcGluO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogcmlnaHQtc3BpbjtcbiAgICAgIH1cblxuICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGxlZnQtc3BpbiB7XG4gICAgICAgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpIH1cbiAgICAgICAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZykgfVxuICAgICAgICB0byB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTMwZGVnKSB9XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgbGVmdC1zcGluIHtcbiAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpIH1cbiAgICAgICAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpIH1cbiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpIH1cbiAgICAgIH1cblxuICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIHJpZ2h0LXNwaW4ge1xuICAgICAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZykgfVxuICAgICAgICA1MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpIH1cbiAgICAgICAgdG8geyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpIH1cbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyByaWdodC1zcGluIHtcbiAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTMwZGVnKSB9XG4gICAgICAgIDUwJSB7IHRyYW5zZm9ybTogcm90YXRlKDVkZWcpIH1cbiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTMwZGVnKSB9XG4gICAgICB9XG5cbiAgICAgICNzcGlubmVyQ29udGFpbmVyLmNvb2xkb3duIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNvbnRhaW5lci1yb3RhdGUgdmFyKC0tcGFwZXItc3Bpbm5lci1jb250YWluZXItcm90YXRpb24tZHVyYXRpb24pIGxpbmVhciBpbmZpbml0ZSwgZmFkZS1vdXQgdmFyKC0tcGFwZXItc3Bpbm5lci1jb29sZG93bi1kdXJhdGlvbikgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpO1xuICAgICAgICBhbmltYXRpb246IGNvbnRhaW5lci1yb3RhdGUgdmFyKC0tcGFwZXItc3Bpbm5lci1jb250YWluZXItcm90YXRpb24tZHVyYXRpb24pIGxpbmVhciBpbmZpbml0ZSwgZmFkZS1vdXQgdmFyKC0tcGFwZXItc3Bpbm5lci1jb29sZG93bi1kdXJhdGlvbikgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpO1xuICAgICAgfVxuXG4gICAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZS1vdXQge1xuICAgICAgICAwJSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICB0byB7IG9wYWNpdHk6IDAgfVxuICAgICAgfVxuXG4gICAgICBAa2V5ZnJhbWVzIGZhZGUtb3V0IHtcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAxIH1cbiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH1cbiAgICAgIH1cbiAgICA8L3N0eWxlPlxuICA8L3RlbXBsYXRlPlxuPC9kb20tbW9kdWxlPiIsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChfcy5jb250ZW50KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IHlzPXtwcm9wZXJ0aWVzOnthY3RpdmU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsb2JzZXJ2ZXI6Il9fYWN0aXZlQ2hhbmdlZCJ9LGFsdDp7dHlwZTpTdHJpbmcsdmFsdWU6ImxvYWRpbmciLG9ic2VydmVyOiJfX2FsdENoYW5nZWQifSxfX2Nvb2xpbmdEb3duOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxfX2NvbXB1dGVDb250YWluZXJDbGFzc2VzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuW3R8fGU/ImFjdGl2ZSI6IiIsZT8iY29vbGRvd24iOiIiXS5qb2luKCIgIil9LF9fYWN0aXZlQ2hhbmdlZDpmdW5jdGlvbih0LGUpe3RoaXMuX19zZXRBcmlhSGlkZGVuKCF0KSx0aGlzLl9fY29vbGluZ0Rvd249IXQmJmV9LF9fYWx0Q2hhbmdlZDpmdW5jdGlvbih0KXsibG9hZGluZyI9PT10P3RoaXMuYWx0PXRoaXMuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIil8fHQ6KHRoaXMuX19zZXRBcmlhSGlkZGVuKCIiPT09dCksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQpKX0sX19zZXRBcmlhSGlkZGVuOmZ1bmN0aW9uKHQpe3ZhciBlPSJhcmlhLWhpZGRlbiI7dD90aGlzLnNldEF0dHJpYnV0ZShlLCJ0cnVlIik6dGhpcy5yZW1vdmVBdHRyaWJ1dGUoZSl9LF9fcmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLmFjdGl2ZT0hMSx0aGlzLl9fY29vbGluZ0Rvd249ITF9fSx2cz14ZWAKICA8c3R5bGUgaW5jbHVkZT0icGFwZXItc3Bpbm5lci1zdHlsZXMiPjwvc3R5bGU+CgogIDxkaXYgaWQ9InNwaW5uZXJDb250YWluZXIiIGNsYXNzLW5hbWU9IltbX19jb21wdXRlQ29udGFpbmVyQ2xhc3NlcyhhY3RpdmUsIF9fY29vbGluZ0Rvd24pXV0iIG9uLWFuaW1hdGlvbmVuZD0iX19yZXNldCIgb24td2Via2l0LWFuaW1hdGlvbi1lbmQ9Il9fcmVzZXQiPgogICAgPGRpdiBjbGFzcz0ic3Bpbm5lci1sYXllciBsYXllci0xIj4KICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlLWNsaXBwZXIgbGVmdCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZS1jbGlwcGVyIHJpZ2h0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNwaW5uZXItbGF5ZXIgbGF5ZXItMiI+CiAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZS1jbGlwcGVyIGxlZnQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZSI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUtY2xpcHBlciByaWdodCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzcGlubmVyLWxheWVyIGxheWVyLTMiPgogICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUtY2xpcHBlciBsZWZ0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlLWNsaXBwZXIgcmlnaHQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZSI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic3Bpbm5lci1sYXllciBsYXllci00Ij4KICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlLWNsaXBwZXIgbGVmdCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZS1jbGlwcGVyIHJpZ2h0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgpgOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi92cy5zZXRBdHRyaWJ1dGUoInN0cmlwLXdoaXRlc3BhY2UiLCIiKSxqcih7X3RlbXBsYXRlOnZzLGlzOiJwYXBlci1zcGlubmVyIixiZWhhdmlvcnM6W3lzXX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgYnM9eGVgCiAgPHN0eWxlIGluY2x1ZGU9InBhcGVyLXNwaW5uZXItc3R5bGVzIj48L3N0eWxlPgoKICA8ZGl2IGlkPSJzcGlubmVyQ29udGFpbmVyIiBjbGFzcy1uYW1lPSJbW19fY29tcHV0ZUNvbnRhaW5lckNsYXNzZXMoYWN0aXZlLCBfX2Nvb2xpbmdEb3duKV1dIiBvbi1hbmltYXRpb25lbmQ9Il9fcmVzZXQiIG9uLXdlYmtpdC1hbmltYXRpb24tZW5kPSJfX3Jlc2V0Ij4KICAgIDxkaXYgY2xhc3M9InNwaW5uZXItbGF5ZXIiPgogICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUtY2xpcHBlciBsZWZ0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlLWNsaXBwZXIgcmlnaHQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZSI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CmA7YnMuc2V0QXR0cmlidXRlKCJzdHJpcC13aGl0ZXNwYWNlIiwiIiksanIoe190ZW1wbGF0ZTpicyxpczoicGFwZXItc3Bpbm5lci1saXRlIixiZWhhdmlvcnM6W3lzXX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCB4cz14ZWA8aXJvbi1pY29uc2V0LXN2ZyBuYW1lPSJwYXBlci10YWJzIiBzaXplPSIyNCI+Cjxzdmc+PGRlZnM+CjxnIGlkPSJjaGV2cm9uLWxlZnQiPjxwYXRoIGQ9Ik0xNS40MSA3LjQxTDE0IDZsLTYgNiA2IDYgMS40MS0xLjQxTDEwLjgzIDEyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNoZXZyb24tcmlnaHQiPjxwYXRoIGQ9Ik0xMCA2TDguNTkgNy40MSAxMy4xNyAxMmwtNC41OCA0LjU5TDEwIDE4bDYtNnoiPjwvcGF0aD48L2c+CjwvZGVmcz48L3N2Zz4KPC9pcm9uLWljb25zZXQtc3ZnPmA7ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh4cy5jb250ZW50KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIEBhcHBseSAtLWxheW91dC1pbmxpbmU7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyLWp1c3RpZmllZDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleC1hdXRvOwoKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFiOwogICAgICB9CgogICAgICA6aG9zdCg6Zm9jdXMpIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICA6aG9zdChbbGlua10pIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAudGFiLWNvbnRlbnQgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAxLCAxKTsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyLWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleC1hdXRvOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRhYi1jb250ZW50OwogICAgICB9CgogICAgICA6aG9zdCg6bm90KC5pcm9uLXNlbGVjdGVkKSkgPiAudGFiLWNvbnRlbnQgewogICAgICAgIG9wYWNpdHk6IDAuODsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFiLWNvbnRlbnQtdW5zZWxlY3RlZDsKICAgICAgfQoKICAgICAgOmhvc3QoOmZvY3VzKSAudGFiLWNvbnRlbnQgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFiLWNvbnRlbnQtZm9jdXNlZDsKICAgICAgfQoKICAgICAgcGFwZXItcmlwcGxlIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdGFiLWluaywgdmFyKC0tcGFwZXIteWVsbG93LWExMDApKTsKICAgICAgfQoKICAgICAgLnRhYi1jb250ZW50ID4gOjpzbG90dGVkKGEpIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleC1hdXRvOwoKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPgogICAgICA8c2xvdD48L3Nsb3Q+CiAgICA8L2Rpdj4KYCxpczoicGFwZXItdGFiIixiZWhhdmlvcnM6W3JhLGFhLHVhXSxwcm9wZXJ0aWVzOntsaW5rOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfX0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6InRhYiJ9LGxpc3RlbmVyczp7ZG93bjoiX3VwZGF0ZU5vaW5rIix0YXA6Il9vblRhcCJ9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlTm9pbmsoKX0sZ2V0IF9wYXJlbnROb2luaygpe3ZhciB0PWVyKHRoaXMpLnBhcmVudE5vZGU7cmV0dXJuISF0JiYhIXQubm9pbmt9LF91cGRhdGVOb2luazpmdW5jdGlvbigpe3RoaXMubm9pbms9ISF0aGlzLm5vaW5rfHwhIXRoaXMuX3BhcmVudE5vaW5rfSxfb25UYXA6ZnVuY3Rpb24odCl7aWYodGhpcy5saW5rKXt2YXIgZT10aGlzLnF1ZXJ5RWZmZWN0aXZlQ2hpbGRyZW4oImEiKTtpZighZSlyZXR1cm47aWYodC50YXJnZXQ9PT1lKXJldHVybjtlLmNsaWNrKCl9fX0pLAovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpqcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0OwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXI7CgogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CgogICAgICAgIC8qIE5PVEU6IEJvdGggdmFsdWVzIGFyZSBuZWVkZWQsIHNpbmNlIHNvbWUgcGhvbmVzIHJlcXVpcmUgdGhlIHZhbHVlIHRvIGJlIFxgdHJhbnNwYXJlbnRcYC4gKi8KICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFiczsKICAgICAgfQoKICAgICAgOmhvc3QoOmRpcihydGwpKSB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWwtcmV2ZXJzZTsKICAgICAgfQoKICAgICAgI3RhYnNDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4LWF1dG87CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFicy1jb250YWluZXI7CiAgICAgIH0KCiAgICAgICN0YWJzQ29udGVudCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIC1tb3otZmxleC1iYXNpczogYXV0bzsKICAgICAgICAtbXMtZmxleC1iYXNpczogYXV0bzsKICAgICAgICBmbGV4LWJhc2lzOiBhdXRvOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRhYnMtY29udGVudDsKICAgICAgfQoKICAgICAgI3RhYnNDb250ZW50LnNjcm9sbGFibGUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAjdGFic0NvbnRlbnQ6bm90KC5zY3JvbGxhYmxlKSwKICAgICAgI3RhYnNDb250ZW50LnNjcm9sbGFibGUuZml0LWNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICAgIH0KCiAgICAgICN0YWJzQ29udGVudC5zY3JvbGxhYmxlLmZpdC1jb250YWluZXIgewogICAgICAgIG1pbi13aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgI3RhYnNDb250ZW50LnNjcm9sbGFibGUuZml0LWNvbnRhaW5lciA+IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgLyogSUUgLSBwcmV2ZW50IHRhYnMgZnJvbSBjb21wcmVzc2luZyB3aGVuIHRoZXkgc2hvdWxkIHNjcm9sbC4gKi8KICAgICAgICAtbXMtZmxleDogMSAwIGF1dG87CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxIDAgYXV0bzsKICAgICAgICBmbGV4OiAxIDAgYXV0bzsKICAgICAgfQoKICAgICAgLmhpZGRlbiB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLm5vdC12aXNpYmxlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIHdpZHRoOiA0OHB4OwogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIG1hcmdpbjogMCA0cHg7CiAgICAgIH0KCiAgICAgICNzZWxlY3Rpb25CYXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLXBhcGVyLXRhYnMtc2VsZWN0aW9uLWJhci1jb2xvciwgdmFyKC0tcGFwZXIteWVsbG93LWExMDApKTsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICAgICAgICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFicy1zZWxlY3Rpb24tYmFyOwogICAgICB9CgogICAgICAjc2VsZWN0aW9uQmFyLmFsaWduLWJvdHRvbSB7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogYXV0bzsKICAgICAgfQoKICAgICAgI3NlbGVjdGlvbkJhci5leHBhbmQgewogICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzOwogICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDEsIDEpOwogICAgICB9CgogICAgICAjc2VsZWN0aW9uQmFyLmNvbnRyYWN0IHsKICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE4czsKICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMCwgMC4wLCAwLjIsIDEpOwogICAgICB9CgogICAgICAjdGFic0NvbnRlbnQgPiA6OnNsb3R0ZWQoOm5vdCgjc2VsZWN0aW9uQmFyKSkgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0icGFwZXItdGFiczpjaGV2cm9uLWxlZnQiIGNsYXNzJD0iW1tfY29tcHV0ZVNjcm9sbEJ1dHRvbkNsYXNzKF9sZWZ0SGlkZGVuLCBzY3JvbGxhYmxlLCBoaWRlU2Nyb2xsQnV0dG9ucyldXSIgb24tdXA9Il9vblNjcm9sbEJ1dHRvblVwIiBvbi1kb3duPSJfb25MZWZ0U2Nyb2xsQnV0dG9uRG93biIgdGFiaW5kZXg9Ii0xIj48L3BhcGVyLWljb24tYnV0dG9uPgoKICAgIDxkaXYgaWQ9InRhYnNDb250YWluZXIiIG9uLXRyYWNrPSJfc2Nyb2xsIiBvbi1kb3duPSJfZG93biI+CiAgICAgIDxkaXYgaWQ9InRhYnNDb250ZW50IiBjbGFzcyQ9IltbX2NvbXB1dGVUYWJzQ29udGVudENsYXNzKHNjcm9sbGFibGUsIGZpdENvbnRhaW5lcildXSI+CiAgICAgICAgPGRpdiBpZD0ic2VsZWN0aW9uQmFyIiBjbGFzcyQ9IltbX2NvbXB1dGVTZWxlY3Rpb25CYXJDbGFzcyhub0JhciwgYWxpZ25Cb3R0b20pXV0iIG9uLXRyYW5zaXRpb25lbmQ9Il9vbkJhclRyYW5zaXRpb25FbmQiPjwvZGl2PgogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0icGFwZXItdGFiczpjaGV2cm9uLXJpZ2h0IiBjbGFzcyQ9IltbX2NvbXB1dGVTY3JvbGxCdXR0b25DbGFzcyhfcmlnaHRIaWRkZW4sIHNjcm9sbGFibGUsIGhpZGVTY3JvbGxCdXR0b25zKV1dIiBvbi11cD0iX29uU2Nyb2xsQnV0dG9uVXAiIG9uLWRvd249Il9vblJpZ2h0U2Nyb2xsQnV0dG9uRG93biIgdGFiaW5kZXg9Ii0xIj48L3BhcGVyLWljb24tYnV0dG9uPgpgLGlzOiJwYXBlci10YWJzIixiZWhhdmlvcnM6W0NvLG1zXSxwcm9wZXJ0aWVzOntub2luazp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfbm9pbmtDaGFuZ2VkIn0sbm9CYXI6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sbm9TbGlkZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzY3JvbGxhYmxlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGZpdENvbnRhaW5lcjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxkaXNhYmxlRHJhZzp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxoaWRlU2Nyb2xsQnV0dG9uczp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhbGlnbkJvdHRvbTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzZWxlY3RhYmxlOnt0eXBlOlN0cmluZyx2YWx1ZToicGFwZXItdGFiIn0sYXV0b3NlbGVjdDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhdXRvc2VsZWN0RGVsYXk6e3R5cGU6TnVtYmVyLHZhbHVlOjB9LF9zdGVwOnt0eXBlOk51bWJlcix2YWx1ZToxMH0sX2hvbGREZWxheTp7dHlwZTpOdW1iZXIsdmFsdWU6MX0sX2xlZnRIaWRkZW46e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX3JpZ2h0SGlkZGVuOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9wcmV2aW91c1RhYjp7dHlwZTpPYmplY3R9fSxob3N0QXR0cmlidXRlczp7cm9sZToidGFibGlzdCJ9LGxpc3RlbmVyczp7Imlyb24tcmVzaXplIjoiX29uVGFiU2l6aW5nQ2hhbmdlZCIsImlyb24taXRlbXMtY2hhbmdlZCI6Il9vblRhYlNpemluZ0NoYW5nZWQiLCJpcm9uLXNlbGVjdCI6Il9vbklyb25TZWxlY3QiLCJpcm9uLWRlc2VsZWN0IjoiX29uSXJvbkRlc2VsZWN0In0sa2V5QmluZGluZ3M6eyJsZWZ0OmtleXVwIHJpZ2h0OmtleXVwIjoiX29uQXJyb3dLZXl1cCJ9LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9ob2xkSm9iPW51bGwsdGhpcy5fcGVuZGluZ0FjdGl2YXRpb25JdGVtPXZvaWQgMCx0aGlzLl9wZW5kaW5nQWN0aXZhdGlvblRpbWVvdXQ9dm9pZCAwLHRoaXMuX2JpbmREZWxheWVkQWN0aXZhdGlvbkhhbmRsZXI9dGhpcy5fZGVsYXllZEFjdGl2YXRpb25IYW5kbGVyLmJpbmQodGhpcyksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9vbkJsdXJDYXB0dXJlLmJpbmQodGhpcyksITApfSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuc2V0U2Nyb2xsRGlyZWN0aW9uKCJ5Iix0aGlzLiQudGFic0NvbnRhaW5lcil9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fY2FuY2VsUGVuZGluZ0FjdGl2YXRpb24oKX0sX25vaW5rQ2hhbmdlZDpmdW5jdGlvbih0KXtlcih0aGlzKS5xdWVyeVNlbGVjdG9yQWxsKCJwYXBlci10YWIiKS5mb3JFYWNoKHQ/dGhpcy5fc2V0Tm9pbmtBdHRyaWJ1dGU6dGhpcy5fcmVtb3ZlTm9pbmtBdHRyaWJ1dGUpfSxfc2V0Tm9pbmtBdHRyaWJ1dGU6ZnVuY3Rpb24odCl7dC5zZXRBdHRyaWJ1dGUoIm5vaW5rIiwiIil9LF9yZW1vdmVOb2lua0F0dHJpYnV0ZTpmdW5jdGlvbih0KXt0LnJlbW92ZUF0dHJpYnV0ZSgibm9pbmsiKX0sX2NvbXB1dGVTY3JvbGxCdXR0b25DbGFzczpmdW5jdGlvbih0LGUsbil7cmV0dXJuIWV8fG4/ImhpZGRlbiI6dD8ibm90LXZpc2libGUiOiIifSxfY29tcHV0ZVRhYnNDb250ZW50Q2xhc3M6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD8ic2Nyb2xsYWJsZSIrKGU/IiBmaXQtY29udGFpbmVyIjoiIik6IiBmaXQtY29udGFpbmVyIn0sX2NvbXB1dGVTZWxlY3Rpb25CYXJDbGFzczpmdW5jdGlvbih0LGUpe3JldHVybiB0PyJoaWRkZW4iOmU/ImFsaWduLWJvdHRvbSI6IiJ9LF9vblRhYlNpemluZ0NoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmRlYm91bmNlKCJfb25UYWJTaXppbmdDaGFuZ2VkIiwoZnVuY3Rpb24oKXt0aGlzLl9zY3JvbGwoKSx0aGlzLl90YWJDaGFuZ2VkKHRoaXMuc2VsZWN0ZWRJdGVtKX0pLDEwKX0sX29uSXJvblNlbGVjdDpmdW5jdGlvbih0KXt0aGlzLl90YWJDaGFuZ2VkKHQuZGV0YWlsLml0ZW0sdGhpcy5fcHJldmlvdXNUYWIpLHRoaXMuX3ByZXZpb3VzVGFiPXQuZGV0YWlsLml0ZW0sdGhpcy5jYW5jZWxEZWJvdW5jZXIoInRhYi1jaGFuZ2VkIil9LF9vbklyb25EZXNlbGVjdDpmdW5jdGlvbih0KXt0aGlzLmRlYm91bmNlKCJ0YWItY2hhbmdlZCIsKGZ1bmN0aW9uKCl7dGhpcy5fdGFiQ2hhbmdlZChudWxsLHRoaXMuX3ByZXZpb3VzVGFiKSx0aGlzLl9wcmV2aW91c1RhYj1udWxsfSksMSl9LF9hY3RpdmF0ZUhhbmRsZXI6ZnVuY3Rpb24oKXt0aGlzLl9jYW5jZWxQZW5kaW5nQWN0aXZhdGlvbigpLGNzLl9hY3RpdmF0ZUhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfc2NoZWR1bGVBY3RpdmF0aW9uOmZ1bmN0aW9uKHQsZSl7dGhpcy5fcGVuZGluZ0FjdGl2YXRpb25JdGVtPXQsdGhpcy5fcGVuZGluZ0FjdGl2YXRpb25UaW1lb3V0PXRoaXMuYXN5bmModGhpcy5fYmluZERlbGF5ZWRBY3RpdmF0aW9uSGFuZGxlcixlKX0sX2RlbGF5ZWRBY3RpdmF0aW9uSGFuZGxlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uSXRlbTt0aGlzLl9wZW5kaW5nQWN0aXZhdGlvbkl0ZW09dm9pZCAwLHRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uVGltZW91dD12b2lkIDAsdC5maXJlKHRoaXMuYWN0aXZhdGVFdmVudCxudWxsLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9KX0sX2NhbmNlbFBlbmRpbmdBY3RpdmF0aW9uOmZ1bmN0aW9uKCl7dm9pZCAwIT09dGhpcy5fcGVuZGluZ0FjdGl2YXRpb25UaW1lb3V0JiYodGhpcy5jYW5jZWxBc3luYyh0aGlzLl9wZW5kaW5nQWN0aXZhdGlvblRpbWVvdXQpLHRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uSXRlbT12b2lkIDAsdGhpcy5fcGVuZGluZ0FjdGl2YXRpb25UaW1lb3V0PXZvaWQgMCl9LF9vbkFycm93S2V5dXA6ZnVuY3Rpb24odCl7dGhpcy5hdXRvc2VsZWN0JiZ0aGlzLl9zY2hlZHVsZUFjdGl2YXRpb24odGhpcy5mb2N1c2VkSXRlbSx0aGlzLmF1dG9zZWxlY3REZWxheSl9LF9vbkJsdXJDYXB0dXJlOmZ1bmN0aW9uKHQpe3QudGFyZ2V0PT09dGhpcy5fcGVuZGluZ0FjdGl2YXRpb25JdGVtJiZ0aGlzLl9jYW5jZWxQZW5kaW5nQWN0aXZhdGlvbigpfSxnZXQgX3RhYkNvbnRhaW5lclNjcm9sbFNpemUoKXtyZXR1cm4gTWF0aC5tYXgoMCx0aGlzLiQudGFic0NvbnRhaW5lci5zY3JvbGxXaWR0aC10aGlzLiQudGFic0NvbnRhaW5lci5vZmZzZXRXaWR0aCl9LF9zY3JvbGw6ZnVuY3Rpb24odCxlKXt0aGlzLnNjcm9sbGFibGUmJnRoaXMuX2FmZmVjdFNjcm9sbChlJiYtZS5kZHh8fDApfSxfZG93bjpmdW5jdGlvbih0KXt0aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuX2RlZmF1bHRGb2N1c0FzeW5jJiYodGhpcy5jYW5jZWxBc3luYyh0aGlzLl9kZWZhdWx0Rm9jdXNBc3luYyksdGhpcy5fZGVmYXVsdEZvY3VzQXN5bmM9bnVsbCl9KSwxKX0sX2FmZmVjdFNjcm9sbDpmdW5jdGlvbih0KXt0aGlzLiQudGFic0NvbnRhaW5lci5zY3JvbGxMZWZ0Kz10O3ZhciBlPXRoaXMuJC50YWJzQ29udGFpbmVyLnNjcm9sbExlZnQ7dGhpcy5fbGVmdEhpZGRlbj0wPT09ZSx0aGlzLl9yaWdodEhpZGRlbj1lPT09dGhpcy5fdGFiQ29udGFpbmVyU2Nyb2xsU2l6ZX0sX29uTGVmdFNjcm9sbEJ1dHRvbkRvd246ZnVuY3Rpb24oKXt0aGlzLl9zY3JvbGxUb0xlZnQoKSx0aGlzLl9ob2xkSm9iPXNldEludGVydmFsKHRoaXMuX3Njcm9sbFRvTGVmdC5iaW5kKHRoaXMpLHRoaXMuX2hvbGREZWxheSl9LF9vblJpZ2h0U2Nyb2xsQnV0dG9uRG93bjpmdW5jdGlvbigpe3RoaXMuX3Njcm9sbFRvUmlnaHQoKSx0aGlzLl9ob2xkSm9iPXNldEludGVydmFsKHRoaXMuX3Njcm9sbFRvUmlnaHQuYmluZCh0aGlzKSx0aGlzLl9ob2xkRGVsYXkpfSxfb25TY3JvbGxCdXR0b25VcDpmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwodGhpcy5faG9sZEpvYiksdGhpcy5faG9sZEpvYj1udWxsfSxfc2Nyb2xsVG9MZWZ0OmZ1bmN0aW9uKCl7dGhpcy5fYWZmZWN0U2Nyb2xsKC10aGlzLl9zdGVwKX0sX3Njcm9sbFRvUmlnaHQ6ZnVuY3Rpb24oKXt0aGlzLl9hZmZlY3RTY3JvbGwodGhpcy5fc3RlcCl9LF90YWJDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7aWYoIXQpcmV0dXJuIHRoaXMuJC5zZWxlY3Rpb25CYXIuY2xhc3NMaXN0LnJlbW92ZSgiZXhwYW5kIiksdGhpcy4kLnNlbGVjdGlvbkJhci5jbGFzc0xpc3QucmVtb3ZlKCJjb250cmFjdCIpLHZvaWQgdGhpcy5fcG9zaXRpb25CYXIoMCwwKTt2YXIgbj10aGlzLiQudGFic0NvbnRlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT1uLndpZHRoLHI9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPXIubGVmdC1uLmxlZnQ7aWYodGhpcy5fcG9zPXt3aWR0aDp0aGlzLl9jYWxjUGVyY2VudChyLndpZHRoLGkpLGxlZnQ6dGhpcy5fY2FsY1BlcmNlbnQobyxpKX0sdGhpcy5ub1NsaWRlfHxudWxsPT1lKXJldHVybiB0aGlzLiQuc2VsZWN0aW9uQmFyLmNsYXNzTGlzdC5yZW1vdmUoImV4cGFuZCIpLHRoaXMuJC5zZWxlY3Rpb25CYXIuY2xhc3NMaXN0LnJlbW92ZSgiY29udHJhY3QiKSx2b2lkIHRoaXMuX3Bvc2l0aW9uQmFyKHRoaXMuX3Bvcy53aWR0aCx0aGlzLl9wb3MubGVmdCk7dmFyIGE9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxzPXRoaXMuaXRlbXMuaW5kZXhPZihlKSxsPXRoaXMuaXRlbXMuaW5kZXhPZih0KTt0aGlzLiQuc2VsZWN0aW9uQmFyLmNsYXNzTGlzdC5hZGQoImV4cGFuZCIpO3ZhciBjPXM8bDt0aGlzLl9pc1JUTCYmKGM9IWMpLGM/dGhpcy5fcG9zaXRpb25CYXIodGhpcy5fY2FsY1BlcmNlbnQoci5sZWZ0K3Iud2lkdGgtYS5sZWZ0LGkpLTUsdGhpcy5fbGVmdCk6dGhpcy5fcG9zaXRpb25CYXIodGhpcy5fY2FsY1BlcmNlbnQoYS5sZWZ0K2Eud2lkdGgtci5sZWZ0LGkpLTUsdGhpcy5fY2FsY1BlcmNlbnQobyxpKSs1KSx0aGlzLnNjcm9sbGFibGUmJnRoaXMuX3Njcm9sbFRvU2VsZWN0ZWRJZk5lZWRlZChyLndpZHRoLG8pfSxfc2Nyb2xsVG9TZWxlY3RlZElmTmVlZGVkOmZ1bmN0aW9uKHQsZSl7dmFyIG49ZS10aGlzLiQudGFic0NvbnRhaW5lci5zY3JvbGxMZWZ0OyhuPDB8fChuKz10LXRoaXMuJC50YWJzQ29udGFpbmVyLm9mZnNldFdpZHRoKT4wKSYmKHRoaXMuJC50YWJzQ29udGFpbmVyLnNjcm9sbExlZnQrPW4pfSxfY2FsY1BlcmNlbnQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gMTAwKnQvZX0sX3Bvc2l0aW9uQmFyOmZ1bmN0aW9uKHQsZSl7ZT1lfHwwLHRoaXMuX3dpZHRoPXQ9dHx8MCx0aGlzLl9sZWZ0PWUsdGhpcy50cmFuc2Zvcm0oInRyYW5zbGF0ZVgoIitlKyIlKSBzY2FsZVgoIit0LzEwMCsiKSIsdGhpcy4kLnNlbGVjdGlvbkJhcil9LF9vbkJhclRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy4kLnNlbGVjdGlvbkJhci5jbGFzc0xpc3Q7ZS5jb250YWlucygiZXhwYW5kIik/KGUucmVtb3ZlKCJleHBhbmQiKSxlLmFkZCgiY29udHJhY3QiKSx0aGlzLl9wb3NpdGlvbkJhcih0aGlzLl9wb3Mud2lkdGgsdGhpcy5fcG9zLmxlZnQpKTplLmNvbnRhaW5zKCJjb250cmFjdCIpJiZlLnJlbW92ZSgiY29udHJhY3QiKX19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCnZhciB3cz1udWxsO2pyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9hc3QtYmFja2dyb3VuZC1jb2xvciwgIzMyMzIzMik7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXRvYXN0LWNvbG9yLCAjZjFmMWYxKTsKICAgICAgICBtaW4taGVpZ2h0OiA0OHB4OwogICAgICAgIG1pbi13aWR0aDogMjg4cHg7CiAgICAgICAgcGFkZGluZzogMTZweCAyNHB4OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI2KTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgbWFyZ2luOiAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzLCBvcGFjaXR5IDAuM3M7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG9wYWNpdHkgMC4zczsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHB4KTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwcHgpOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KC5jYXBzdWxlKSB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDsKICAgICAgfQoKICAgICAgOmhvc3QoLmZpdC1ib3R0b20pIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIDpob3N0KC5wYXBlci10b2FzdC1vcGVuKSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxzcGFuIGlkPSJsYWJlbCI+e3t0ZXh0fX08L3NwYW4+CiAgICA8c2xvdD48L3Nsb3Q+CmAsaXM6InBhcGVyLXRvYXN0IixiZWhhdmlvcnM6W1dhXSxwcm9wZXJ0aWVzOntmaXRJbnRvOnt0eXBlOk9iamVjdCx2YWx1ZTp3aW5kb3csb2JzZXJ2ZXI6Il9vbkZpdEludG9DaGFuZ2VkIn0saG9yaXpvbnRhbEFsaWduOnt0eXBlOlN0cmluZyx2YWx1ZToibGVmdCJ9LHZlcnRpY2FsQWxpZ246e3R5cGU6U3RyaW5nLHZhbHVlOiJib3R0b20ifSxkdXJhdGlvbjp7dHlwZTpOdW1iZXIsdmFsdWU6M2UzfSx0ZXh0Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sbm9DYW5jZWxPbk91dHNpZGVDbGljazp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfSxub0F1dG9Gb2N1czp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfX0sbGlzdGVuZXJzOnt0cmFuc2l0aW9uZW5kOiJfX29uVHJhbnNpdGlvbkVuZCJ9LGdldCB2aXNpYmxlKCl7cmV0dXJuIEVvLl93YXJuKCJgdmlzaWJsZWAgaXMgZGVwcmVjYXRlZCwgdXNlIGBvcGVuZWRgIGluc3RlYWQiKSx0aGlzLm9wZW5lZH0sZ2V0IF9jYW5BdXRvQ2xvc2UoKXtyZXR1cm4gdGhpcy5kdXJhdGlvbj4wJiZ0aGlzLmR1cmF0aW9uIT09MS8wfSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5fYXV0b0Nsb3NlPW51bGwsWWEucmVxdWVzdEF2YWlsYWJpbGl0eSgpfSxzaG93OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiJzdHJpbmciPT10eXBlb2YgdCYmKHQ9e3RleHQ6dH0pLHQpMD09PWUuaW5kZXhPZigiXyIpP0VvLl93YXJuKCdUaGUgcHJvcGVydHkgIicrZSsnIiBpcyBwcml2YXRlIGFuZCB3YXMgbm90IHNldC4nKTplIGluIHRoaXM/dGhpc1tlXT10W2VdOkVvLl93YXJuKCdUaGUgcHJvcGVydHkgIicrZSsnIiBpcyBub3QgdmFsaWQuJyk7dGhpcy5vcGVuKCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLmNsb3NlKCl9LF9fb25UcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKHQpe3QmJnQudGFyZ2V0PT09dGhpcyYmIm9wYWNpdHkiPT09dC5wcm9wZXJ0eU5hbWUmJih0aGlzLm9wZW5lZD90aGlzLl9maW5pc2hSZW5kZXJPcGVuZWQoKTp0aGlzLl9maW5pc2hSZW5kZXJDbG9zZWQoKSl9LF9vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX2F1dG9DbG9zZSYmKHRoaXMuY2FuY2VsQXN5bmModGhpcy5fYXV0b0Nsb3NlKSx0aGlzLl9hdXRvQ2xvc2U9bnVsbCksdGhpcy5vcGVuZWQ/KHdzJiZ3cyE9PXRoaXMmJndzLmNsb3NlKCksd3M9dGhpcyx0aGlzLmZpcmUoImlyb24tYW5ub3VuY2UiLHt0ZXh0OnRoaXMudGV4dH0pLHRoaXMuX2NhbkF1dG9DbG9zZSYmKHRoaXMuX2F1dG9DbG9zZT10aGlzLmFzeW5jKHRoaXMuY2xvc2UsdGhpcy5kdXJhdGlvbikpKTp3cz09PXRoaXMmJih3cz1udWxsKSxqYS5fb3BlbmVkQ2hhbmdlZC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LF9yZW5kZXJPcGVuZWQ6ZnVuY3Rpb24oKXt0aGlzLmNsYXNzTGlzdC5hZGQoInBhcGVyLXRvYXN0LW9wZW4iKX0sX3JlbmRlckNsb3NlZDpmdW5jdGlvbigpe3RoaXMuY2xhc3NMaXN0LnJlbW92ZSgicGFwZXItdG9hc3Qtb3BlbiIpfSxfb25GaXRJbnRvQ2hhbmdlZDpmdW5jdGlvbih0KXt0aGlzLnBvc2l0aW9uVGFyZ2V0PXR9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IFNzPXhlYAoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoOmZvY3VzKSB7CiAgICAgICAgb3V0bGluZTpub25lOwogICAgICB9CgogICAgICAudG9nZ2xlLWJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMC40OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgbGluZWFyIC4wOHM7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtYmFyLWNvbG9yLCAjMDAwMDAwKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtYmFyOwogICAgICB9CgogICAgICAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogLTNweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIGxpbmVhciAuMDhzLCBiYWNrZ3JvdW5kLWNvbG9yIGxpbmVhciAuMDhzOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBsaW5lYXIgLjA4cywgYmFja2dyb3VuZC1jb2xvciBsaW5lYXIgLjA4czsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXRvZ2dsZS1idXR0b24tdW5jaGVja2VkLWJ1dHRvbi1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS01MCkpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10b2dnbGUtYnV0dG9uLXVuY2hlY2tlZC1idXR0b247CiAgICAgIH0KCiAgICAgIC50b2dnbGUtYnV0dG9uLmRyYWdnaW5nIHsKICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NoZWNrZWRdOm5vdChbZGlzYWJsZWRdKSkgLnRvZ2dsZS1iYXIgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci10b2dnbGUtYnV0dG9uLWNoZWNrZWQtYmFyLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvZ2dsZS1idXR0b24tY2hlY2tlZC1iYXI7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC50b2dnbGUtYmFyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOwogICAgICAgIG9wYWNpdHk6IDAuMTI7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjaGVja2VkXSkgLnRvZ2dsZS1idXR0b24gewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTZweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTZweCwgMCk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjaGVja2VkXTpub3QoW2Rpc2FibGVkXSkpIC50b2dnbGUtYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci10b2dnbGUtYnV0dG9uLWNoZWNrZWQtYnV0dG9uLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvZ2dsZS1idXR0b24tY2hlY2tlZC1idXR0b247CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC50b2dnbGUtYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRiZGJkOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtaW5rIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAtMTRweDsKICAgICAgICBsZWZ0OiAtMTRweDsKICAgICAgICByaWdodDogYXV0bzsKICAgICAgICBib3R0b206IGF1dG87CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtaW5rLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtaW5rOwogICAgICB9CgogICAgICA6aG9zdChbY2hlY2tlZF0pIC50b2dnbGUtaW5rIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1jaGVja2VkLWluay1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10b2dnbGUtYnV0dG9uLWNoZWNrZWQtaW5rOwogICAgICB9CgogICAgICAudG9nZ2xlLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgLyogVGhlIHRvZ2dsZSBidXR0b24gaGFzIGFuIGFic29sdXRlIHBvc2l0aW9uIG9mIC0zcHg7IFRoZSBleHRyYSAxcHgKICAgICAgICAvKiBhY2NvdW50cyBmb3IgdGhlIHRvZ2dsZSBidXR0b24gc2hhZG93IGJveC4gKi8KICAgICAgICBtYXJnaW46IDRweCAxcHg7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtbGFiZWwgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhcGVyLXRvZ2dsZS1idXR0b24tbGFiZWwtc3BhY2luZywgOHB4KTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1sYWJlbC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIC8qIGludmFsaWQgc3RhdGUgKi8KICAgICAgOmhvc3QoW2ludmFsaWRdKSAudG9nZ2xlLWJhciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1pbnZhbGlkLWJhci1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2ludmFsaWRdKSAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1pbnZhbGlkLWJ1dHRvbi1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2ludmFsaWRdKSAudG9nZ2xlLWluayB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXRvZ2dsZS1idXR0b24taW52YWxpZC1pbmstY29sb3IsIHZhcigtLWVycm9yLWNvbG9yKSk7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0idG9nZ2xlLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9InRvZ2dsZUJhciIgY2xhc3M9InRvZ2dsZS1iYXIiPjwvZGl2PgogICAgICA8ZGl2IGlkPSJ0b2dnbGVCdXR0b24iIGNsYXNzPSJ0b2dnbGUtYnV0dG9uIj48L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1sYWJlbCI+PHNsb3Q+PC9zbG90PjwvZGl2PgoKICBgO1NzLnNldEF0dHJpYnV0ZSgic3RyaXAtd2hpdGVzcGFjZSIsIiIpLGpyKHtfdGVtcGxhdGU6U3MsaXM6InBhcGVyLXRvZ2dsZS1idXR0b24iLGJlaGF2aW9yczpbd2FdLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJidXR0b24iLCJhcmlhLXByZXNzZWQiOiJmYWxzZSIsdGFiaW5kZXg6MH0scHJvcGVydGllczp7fSxsaXN0ZW5lcnM6e3RyYWNrOiJfb250cmFjayJ9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7RGkodGhpcywoZnVuY3Rpb24oKXtkaSh0aGlzLCJwYW4teSIpfSkpfSxfb250cmFjazpmdW5jdGlvbih0KXt2YXIgZT10LmRldGFpbDsic3RhcnQiPT09ZS5zdGF0ZT90aGlzLl90cmFja1N0YXJ0KGUpOiJ0cmFjayI9PT1lLnN0YXRlP3RoaXMuX3RyYWNrTW92ZShlKToiZW5kIj09PWUuc3RhdGUmJnRoaXMuX3RyYWNrRW5kKGUpfSxfdHJhY2tTdGFydDpmdW5jdGlvbih0KXt0aGlzLl93aWR0aD10aGlzLiQudG9nZ2xlQmFyLm9mZnNldFdpZHRoLzIsdGhpcy5fdHJhY2tDaGVja2VkPXRoaXMuY2hlY2tlZCx0aGlzLiQudG9nZ2xlQnV0dG9uLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIil9LF90cmFja01vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dC5keDt0aGlzLl94PU1hdGgubWluKHRoaXMuX3dpZHRoLE1hdGgubWF4KDAsdGhpcy5fdHJhY2tDaGVja2VkP3RoaXMuX3dpZHRoK2U6ZSkpLHRoaXMudHJhbnNsYXRlM2QodGhpcy5feCsicHgiLDAsMCx0aGlzLiQudG9nZ2xlQnV0dG9uKSx0aGlzLl91c2VyQWN0aXZhdGUodGhpcy5feD50aGlzLl93aWR0aC8yKX0sX3RyYWNrRW5kOmZ1bmN0aW9uKHQpe3RoaXMuJC50b2dnbGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciKSx0aGlzLnRyYW5zZm9ybSgiIix0aGlzLiQudG9nZ2xlQnV0dG9uKX0sX2NyZWF0ZVJpcHBsZTpmdW5jdGlvbigpe3RoaXMuX3JpcHBsZUNvbnRhaW5lcj10aGlzLiQudG9nZ2xlQnV0dG9uO3ZhciB0PXVhLl9jcmVhdGVSaXBwbGUoKTtyZXR1cm4gdC5pZD0iaW5rIix0LnNldEF0dHJpYnV0ZSgicmVjZW50ZXJzIiwiIiksdC5jbGFzc0xpc3QuYWRkKCJjaXJjbGUiLCJ0b2dnbGUtaW5rIiksdH19KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICAtLWNhbGN1bGF0ZWQtcGFwZXItdG9vbGJhci1oZWlnaHQ6IHZhcigtLXBhcGVyLXRvb2xiYXItaGVpZ2h0LCA2NHB4KTsKICAgICAgICAtLWNhbGN1bGF0ZWQtcGFwZXItdG9vbGJhci1zbS1oZWlnaHQ6IHZhcigtLXBhcGVyLXRvb2xiYXItc20taGVpZ2h0LCA1NnB4KTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXRvb2xiYXItaGVpZ2h0KTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci10b29sYmFyLWJhY2tncm91bmQsIHZhcigtLXByaW1hcnktY29sb3IpKTsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9vbGJhci1jb2xvciwgdmFyKC0tZGFyay10aGVtZS10ZXh0LWNvbG9yKSk7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbGJhcjsKICAgICAgfQoKICAgICAgOmhvc3QoLmFuaW1hdGUpIHsKICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS1wYXBlci10b29sYmFyLXRyYW5zaXRpb24sIGhlaWdodCAwLjE4cyBlYXNlLWluKTsKICAgICAgfQoKICAgICAgOmhvc3QoLm1lZGl1bS10YWxsKSB7CiAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItdG9vbGJhci1oZWlnaHQpICogMik7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbGJhci1tZWRpdW07CiAgICAgIH0KCiAgICAgIDpob3N0KC50YWxsKSB7CiAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItdG9vbGJhci1oZWlnaHQpICogMyk7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbGJhci10YWxsOwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLWhlaWdodCk7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIEBhcHBseSAtLWxheW91dC1ob3Jpem9udGFsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXI7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbGJhci1jb250ZW50OwogICAgICB9CgogICAgICAvKgogICAgICAgKiBUT0RPOiBXaGVyZSBzaG91bGQgbWVkaWEgcXVlcnkgYnJlYWtwb2ludHMgbGl2ZSBzbyB0aGV5IGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBlbGVtZW50cz8KICAgICAgICovCgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsKICAgICAgICA6aG9zdCB7CiAgICAgICAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItdG9vbGJhci1zbS1oZWlnaHQpOwogICAgICAgIH0KCiAgICAgICAgOmhvc3QoLm1lZGl1bS10YWxsKSB7CiAgICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLXNtLWhlaWdodCkgKiAyKTsKICAgICAgICB9CgogICAgICAgIDpob3N0KC50YWxsKSB7CiAgICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLXNtLWhlaWdodCkgKiAzKTsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLXRvb2xzIHsKICAgICAgICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLXNtLWhlaWdodCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAjdG9wQmFyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC8qIG1pZGRsZSBiYXIgKi8KICAgICAgI21pZGRsZUJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICB9CgogICAgICA6aG9zdCgudGFsbCkgI21pZGRsZUJhciwKICAgICAgOmhvc3QoLm1lZGl1bS10YWxsKSAjbWlkZGxlQmFyIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7CiAgICAgIH0KCiAgICAgIC8qIGJvdHRvbSBiYXIgKi8KICAgICAgI2JvdHRvbUJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICB9CgogICAgICAvKgogICAgICAgKiBtYWtlIGVsZW1lbnRzIChlLmcuIGJ1dHRvbnMpIHJlc3BvbmQgdG8gbW91c2UvdG91Y2ggZXZlbnRzCiAgICAgICAqCiAgICAgICAqIFxgLnRvb2xiYXItdG9vbHNcYCBkaXNhYmxlcyB0b3VjaCBldmVudHMgc28gbXVsdGlwbGUgdG9vbGJhcnMgY2FuIHN0YWNrIGFuZCBub3QKICAgICAgICogYWJzb3JiIGV2ZW50cy4gQWxsIGNoaWxkcmVuIG11c3QgaGF2ZSBwb2ludGVyIGV2ZW50cyByZS1lbmFibGVkIHRvIHdvcmsgYXMKICAgICAgICogZXhwZWN0ZWQuCiAgICAgICAqLwogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCgqOm5vdChbZGlzYWJsZWRdKSkgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCgudGl0bGUpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleDsKICAgICAgfQoKICAgICAgLnRvb2xiYXItdG9vbHMgPiA6OnNsb3R0ZWQoLnRpdGxlKSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDU2cHg7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXRvb2xzID4gOjpzbG90dGVkKHBhcGVyLWljb24tYnV0dG9uICsgLnRpdGxlKSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBUaGUgLS1wYXBlci10b29sYmFyLXRpdGxlIG1peGluIGlzIGFwcGxpZWQgaGVyZSBpbnN0ZWFkIG9mIGFib3ZlIHRvCiAgICAgICAqIGZpeCB0aGUgaXNzdWUgd2l0aCBtYXJnaW4tbGVmdCBiZWluZyBpZ25vcmVkIGR1ZSB0byBjc3Mgb3JkZXJpbmcuCiAgICAgICAqLwogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCgudGl0bGUpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sYmFyLXRpdGxlOwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZChwYXBlci1pY29uLWJ1dHRvbltpY29uPW1lbnVdKSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCguZml0KSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogYXV0bzsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC8qIFRPRE8obm9tcyk6IFVudGlsIHdlIGhhdmUgYSBiZXR0ZXIgc29sdXRpb24gZm9yIGNsYXNzZXMgdGhhdCBkb24ndCB1c2UKICAgICAgICogL2RlZXAvIGNyZWF0ZSBvdXIgb3duLgogICAgICAgKi8KICAgICAgLnN0YXJ0LWp1c3RpZmllZCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXN0YXJ0LWp1c3RpZmllZDsKICAgICAgfQoKICAgICAgLmNlbnRlci1qdXN0aWZpZWQgewogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItanVzdGlmaWVkOwogICAgICB9CgogICAgICAuZW5kLWp1c3RpZmllZCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWVuZC1qdXN0aWZpZWQ7CiAgICAgIH0KCiAgICAgIC5hcm91bmQtanVzdGlmaWVkIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtYXJvdW5kLWp1c3RpZmllZDsKICAgICAgfQoKICAgICAgLmp1c3RpZmllZCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWp1c3RpZmllZDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJ0b3BCYXIiIGNsYXNzXCQ9InRvb2xiYXItdG9vbHMgW1tfY29tcHV0ZUJhckV4dHJhQ2xhc3NlcyhqdXN0aWZ5KV1dIj4KICAgICAgPHNsb3QgbmFtZT0idG9wIj48L3Nsb3Q+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGlkPSJtaWRkbGVCYXIiIGNsYXNzXCQ9InRvb2xiYXItdG9vbHMgW1tfY29tcHV0ZUJhckV4dHJhQ2xhc3NlcyhtaWRkbGVKdXN0aWZ5KV1dIj4KICAgICAgPHNsb3QgbmFtZT0ibWlkZGxlIj48L3Nsb3Q+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGlkPSJib3R0b21CYXIiIGNsYXNzXCQ9InRvb2xiYXItdG9vbHMgW1tfY29tcHV0ZUJhckV4dHJhQ2xhc3Nlcyhib3R0b21KdXN0aWZ5KV1dIj4KICAgICAgPHNsb3QgbmFtZT0iYm90dG9tIj48L3Nsb3Q+CiAgICA8L2Rpdj4KYCxpczoicGFwZXItdG9vbGJhciIsaG9zdEF0dHJpYnV0ZXM6e3JvbGU6InRvb2xiYXIifSxwcm9wZXJ0aWVzOntib3R0b21KdXN0aWZ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sanVzdGlmeTp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LG1pZGRsZUp1c3RpZnk6e3R5cGU6U3RyaW5nLHZhbHVlOiIifX0scmVhZHk6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4odGhpcy5pcywiaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBhcHAtbGF5b3V0IGluc3RlYWQhIil9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXI9dGhpcy5fb2JzZXJ2ZSh0aGlzKSx0aGlzLl91cGRhdGVBcmlhTGFiZWxsZWRCeSgpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyJiZ0aGlzLl9vYnNlcnZlci5kaXNjb25uZWN0KCl9LF9vYnNlcnZlOmZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlQXJpYUxhYmVsbGVkQnkoKX0uYmluZCh0aGlzKSk7cmV0dXJuIGUub2JzZXJ2ZSh0LHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pLGV9LF91cGRhdGVBcmlhTGFiZWxsZWRCeTpmdW5jdGlvbigpe1dpKCk7Zm9yKHZhciB0LGU9W10sbj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlcih0aGlzLnJvb3QpLnF1ZXJ5U2VsZWN0b3JBbGwoInNsb3QiKSkuY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGVyKHRoaXMucm9vdCkucXVlcnlTZWxlY3RvckFsbCgiY29udGVudCIpKSksaT0wO3Q9bltpXTtpKyspZm9yKHZhciByLG89ZXIodCkuZ2V0RGlzdHJpYnV0ZWROb2RlcygpLGE9MDtyPW9bYV07YSsrKWlmKHIuY2xhc3NMaXN0JiZyLmNsYXNzTGlzdC5jb250YWlucygidGl0bGUiKSlpZihyLmlkKWUucHVzaChyLmlkKTtlbHNle3ZhciBzPSJwYXBlci10b29sYmFyLWxhYmVsLSIrTWF0aC5mbG9vcigxZTQqTWF0aC5yYW5kb20oKSk7ci5pZD1zLGUucHVzaChzKX1lLmxlbmd0aD4wJiZ0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbGxlZGJ5IixlLmpvaW4oIiAiKSl9LF9jb21wdXRlQmFyRXh0cmFDbGFzc2VzOmZ1bmN0aW9uKHQpe3JldHVybiB0P3QrKCJqdXN0aWZpZWQiPT09dD8iIjoiLWp1c3RpZmllZCIpOiIifX0pLAovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHotaW5kZXg6IDEwMDI7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgICN0b29sdGlwIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXRvb2x0aXAtYmFja2dyb3VuZCwgIzYxNjE2MSk7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXRvb2x0aXAtdGV4dC1jb2xvciwgd2hpdGUpOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbHRpcDsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBrZXlGcmFtZVNjYWxlVXAgewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4wKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGtleUZyYW1lU2NhbGVEb3duIHsKICAgICAgICAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjApOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBrZXlGcmFtZUZhZGVJbk9wYWNpdHkgewogICAgICAgIDAlIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgb3BhY2l0eTogdmFyKC0tcGFwZXItdG9vbHRpcC1vcGFjaXR5LCAwLjkpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBrZXlGcmFtZUZhZGVPdXRPcGFjaXR5IHsKICAgICAgICAwJSB7CiAgICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMga2V5RnJhbWVTbGlkZURvd25JbiB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgICAgMTAlIHsKICAgICAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGtleUZyYW1lU2xpZGVEb3duT3V0IHsKICAgICAgICAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgfQogICAgICAgIDEwJSB7CiAgICAgICAgICBvcGFjaXR5OiAwLjI7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5mYWRlLWluLWFuaW1hdGlvbiB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBhbmltYXRpb24tZGVsYXk6IHZhcigtLXBhcGVyLXRvb2x0aXAtZGVsYXktaW4sIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tbmFtZToga2V5RnJhbWVGYWRlSW5PcGFjaXR5OwogICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXRvb2x0aXAtZHVyYXRpb24taW4sIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sdGlwLWFuaW1hdGlvbjsKICAgICAgfQoKICAgICAgLmZhZGUtb3V0LWFuaW1hdGlvbiB7CiAgICAgICAgb3BhY2l0eTogdmFyKC0tcGFwZXItdG9vbHRpcC1vcGFjaXR5LCAwLjkpOwogICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tcGFwZXItdG9vbHRpcC1kZWxheS1vdXQsIDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGtleUZyYW1lRmFkZU91dE9wYWNpdHk7CiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItdG9vbHRpcC1kdXJhdGlvbi1vdXQsIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sdGlwLWFuaW1hdGlvbjsKICAgICAgfQoKICAgICAgLnNjYWxlLXVwLWFuaW1hdGlvbiB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci10b29sdGlwLWRlbGF5LWluLCA1MDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGtleUZyYW1lU2NhbGVVcDsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci10b29sdGlwLWR1cmF0aW9uLWluLCA1MDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbHRpcC1hbmltYXRpb247CiAgICAgIH0KCiAgICAgIC5zY2FsZS1kb3duLWFuaW1hdGlvbiB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci10b29sdGlwLWRlbGF5LW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1uYW1lOiBrZXlGcmFtZVNjYWxlRG93bjsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci10b29sdGlwLWR1cmF0aW9uLW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvb2x0aXAtYW5pbWF0aW9uOwogICAgICB9CgogICAgICAuc2xpZGUtZG93bi1hbmltYXRpb24gewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tcGFwZXItdG9vbHRpcC1kZWxheS1vdXQsIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tbmFtZToga2V5RnJhbWVTbGlkZURvd25JbjsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKTsKICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXRvb2x0aXAtZHVyYXRpb24tb3V0LCA1MDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbHRpcC1hbmltYXRpb247CiAgICAgIH0KCiAgICAgIC5zbGlkZS1kb3duLWFuaW1hdGlvbi1vdXQgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci10b29sdGlwLWRlbGF5LW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1uYW1lOiBrZXlGcmFtZVNsaWRlRG93bk91dDsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAuMCwgMSwgMSk7CiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci10b29sdGlwLWR1cmF0aW9uLW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvb2x0aXAtYW5pbWF0aW9uOwogICAgICB9CgogICAgICAuY2FuY2VsLWFuaW1hdGlvbiB7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMzBzICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC8qIFRoYW5rcyBJRSAxMC4gKi8KCiAgICAgIC5oaWRkZW4gewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJ0b29sdGlwIiBjbGFzcz0iaGlkZGVuIj4KICAgICAgPHNsb3Q+PC9zbG90PgogICAgPC9kaXY+CmAsaXM6InBhcGVyLXRvb2x0aXAiLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJ0b29sdGlwIix0YWJpbmRleDotMX0scHJvcGVydGllczp7Zm9yOnt0eXBlOlN0cmluZyxvYnNlcnZlcjoiX2ZpbmRUYXJnZXQifSxtYW51YWxNb2RlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9tYW51YWxNb2RlQ2hhbmdlZCJ9LHBvc2l0aW9uOnt0eXBlOlN0cmluZyx2YWx1ZToiYm90dG9tIn0sZml0VG9WaXNpYmxlQm91bmRzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LG9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MTR9LG1hcmdpblRvcDp7dHlwZTpOdW1iZXIsdmFsdWU6MTR9LGFuaW1hdGlvbkRlbGF5Ont0eXBlOk51bWJlcix2YWx1ZTo1MDAsb2JzZXJ2ZXI6Il9kZWxheUNoYW5nZSJ9LGFuaW1hdGlvbkVudHJ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sYW5pbWF0aW9uRXhpdDp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LGFuaW1hdGlvbkNvbmZpZzp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57ZW50cnk6W3tuYW1lOiJmYWRlLWluLWFuaW1hdGlvbiIsbm9kZTp0aGlzLHRpbWluZzp7ZGVsYXk6MH19XSxleGl0Olt7bmFtZToiZmFkZS1vdXQtYW5pbWF0aW9uIixub2RlOnRoaXN9XX19fSxfc2hvd2luZzp7dHlwZTpCb29sZWFuLHZhbHVlOiExfX0sbGlzdGVuZXJzOnt3ZWJraXRBbmltYXRpb25FbmQ6Il9vbkFuaW1hdGlvbkVuZCJ9LGdldCB0YXJnZXQoKXt2YXIgdD1lcih0aGlzKS5wYXJlbnROb2RlLGU9ZXIodGhpcykuZ2V0T3duZXJSb290KCk7cmV0dXJuIHRoaXMuZm9yP2VyKGUpLnF1ZXJ5U2VsZWN0b3IoIiMiK3RoaXMuZm9yKTp0Lm5vZGVUeXBlPT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU/ZS5ob3N0OnR9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fZmluZFRhcmdldCgpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMubWFudWFsTW9kZXx8dGhpcy5fcmVtb3ZlTGlzdGVuZXJzKCl9LHBsYXlBbmltYXRpb246ZnVuY3Rpb24odCl7ImVudHJ5Ij09PXQ/dGhpcy5zaG93KCk6ImV4aXQiPT09dCYmdGhpcy5oaWRlKCl9LGNhbmNlbEFuaW1hdGlvbjpmdW5jdGlvbigpe3RoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5hZGQoImNhbmNlbC1hbmltYXRpb24iKX0sc2hvdzpmdW5jdGlvbigpe2lmKCF0aGlzLl9zaG93aW5nKXtpZigiIj09PWVyKHRoaXMpLnRleHRDb250ZW50LnRyaW0oKSl7Zm9yKHZhciB0PSEwLGU9ZXIodGhpcykuZ2V0RWZmZWN0aXZlQ2hpbGROb2RlcygpLG49MDtuPGUubGVuZ3RoO24rKylpZigiIiE9PWVbbl0udGV4dENvbnRlbnQudHJpbSgpKXt0PSExO2JyZWFrfWlmKHQpcmV0dXJufXRoaXMuX3Nob3dpbmc9ITAsdGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksdGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSgiY2FuY2VsLWFuaW1hdGlvbiIpLHRoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fZ2V0QW5pbWF0aW9uVHlwZSgiZXhpdCIpKSx0aGlzLnVwZGF0ZVBvc2l0aW9uKCksdGhpcy5fYW5pbWF0aW9uUGxheWluZz0hMCx0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QuYWRkKHRoaXMuX2dldEFuaW1hdGlvblR5cGUoImVudHJ5IikpfX0saGlkZTpmdW5jdGlvbigpe2lmKHRoaXMuX3Nob3dpbmcpe2lmKHRoaXMuX2FuaW1hdGlvblBsYXlpbmcpcmV0dXJuIHRoaXMuX3Nob3dpbmc9ITEsdm9pZCB0aGlzLl9jYW5jZWxBbmltYXRpb24oKTt0aGlzLl9vbkFuaW1hdGlvbkZpbmlzaCgpLHRoaXMuX3Nob3dpbmc9ITEsdGhpcy5fYW5pbWF0aW9uUGxheWluZz0hMH19LHVwZGF0ZVBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpcy5fdGFyZ2V0JiZ0aGlzLm9mZnNldFBhcmVudCl7dmFyIHQ9dGhpcy5vZmZzZXQ7MTQhPXRoaXMubWFyZ2luVG9wJiYxND09dGhpcy5vZmZzZXQmJih0PXRoaXMubWFyZ2luVG9wKTt2YXIgZSxuLGk9dGhpcy5vZmZzZXRQYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscj10aGlzLl90YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9KHIud2lkdGgtby53aWR0aCkvMixzPShyLmhlaWdodC1vLmhlaWdodCkvMixsPXIubGVmdC1pLmxlZnQsYz1yLnRvcC1pLnRvcDtzd2l0Y2godGhpcy5wb3NpdGlvbil7Y2FzZSJ0b3AiOmU9bCthLG49Yy1vLmhlaWdodC10O2JyZWFrO2Nhc2UiYm90dG9tIjplPWwrYSxuPWMrci5oZWlnaHQrdDticmVhaztjYXNlImxlZnQiOmU9bC1vLndpZHRoLXQsbj1jK3M7YnJlYWs7Y2FzZSJyaWdodCI6ZT1sK3Iud2lkdGgrdCxuPWMrc310aGlzLmZpdFRvVmlzaWJsZUJvdW5kcz8oaS5sZWZ0K2Urby53aWR0aD53aW5kb3cuaW5uZXJXaWR0aD8odGhpcy5zdHlsZS5yaWdodD0iMHB4Iix0aGlzLnN0eWxlLmxlZnQ9ImF1dG8iKToodGhpcy5zdHlsZS5sZWZ0PU1hdGgubWF4KDAsZSkrInB4Iix0aGlzLnN0eWxlLnJpZ2h0PSJhdXRvIiksaS50b3ArbitvLmhlaWdodD53aW5kb3cuaW5uZXJIZWlnaHQ/KHRoaXMuc3R5bGUuYm90dG9tPWkuaGVpZ2h0LWMrdCsicHgiLHRoaXMuc3R5bGUudG9wPSJhdXRvIik6KHRoaXMuc3R5bGUudG9wPU1hdGgubWF4KC1pLnRvcCxuKSsicHgiLHRoaXMuc3R5bGUuYm90dG9tPSJhdXRvIikpOih0aGlzLnN0eWxlLmxlZnQ9ZSsicHgiLHRoaXMuc3R5bGUudG9wPW4rInB4Iil9fSxfYWRkTGlzdGVuZXJzOmZ1bmN0aW9uKCl7dGhpcy5fdGFyZ2V0JiYodGhpcy5saXN0ZW4odGhpcy5fdGFyZ2V0LCJtb3VzZWVudGVyIiwic2hvdyIpLHRoaXMubGlzdGVuKHRoaXMuX3RhcmdldCwiZm9jdXMiLCJzaG93IiksdGhpcy5saXN0ZW4odGhpcy5fdGFyZ2V0LCJtb3VzZWxlYXZlIiwiaGlkZSIpLHRoaXMubGlzdGVuKHRoaXMuX3RhcmdldCwiYmx1ciIsImhpZGUiKSx0aGlzLmxpc3Rlbih0aGlzLl90YXJnZXQsInRhcCIsImhpZGUiKSksdGhpcy5saXN0ZW4odGhpcy4kLnRvb2x0aXAsImFuaW1hdGlvbmVuZCIsIl9vbkFuaW1hdGlvbkVuZCIpLHRoaXMubGlzdGVuKHRoaXMsIm1vdXNlZW50ZXIiLCJoaWRlIil9LF9maW5kVGFyZ2V0OmZ1bmN0aW9uKCl7dGhpcy5tYW51YWxNb2RlfHx0aGlzLl9yZW1vdmVMaXN0ZW5lcnMoKSx0aGlzLl90YXJnZXQ9dGhpcy50YXJnZXQsdGhpcy5tYW51YWxNb2RlfHx0aGlzLl9hZGRMaXN0ZW5lcnMoKX0sX2RlbGF5Q2hhbmdlOmZ1bmN0aW9uKHQpezUwMCE9PXQmJnRoaXMudXBkYXRlU3R5bGVzKHsiLS1wYXBlci10b29sdGlwLWRlbGF5LWluIjp0KyJtcyJ9KX0sX21hbnVhbE1vZGVDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5tYW51YWxNb2RlP3RoaXMuX3JlbW92ZUxpc3RlbmVycygpOnRoaXMuX2FkZExpc3RlbmVycygpfSxfY2FuY2VsQW5pbWF0aW9uOmZ1bmN0aW9uKCl7dGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9nZXRBbmltYXRpb25UeXBlKCJlbnRyeSIpKSx0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX2dldEFuaW1hdGlvblR5cGUoImV4aXQiKSksdGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSgiY2FuY2VsLWFuaW1hdGlvbiIpLHRoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpfSxfb25BbmltYXRpb25GaW5pc2g6ZnVuY3Rpb24oKXt0aGlzLl9zaG93aW5nJiYodGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9nZXRBbmltYXRpb25UeXBlKCJlbnRyeSIpKSx0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QucmVtb3ZlKCJjYW5jZWwtYW5pbWF0aW9uIiksdGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LmFkZCh0aGlzLl9nZXRBbmltYXRpb25UeXBlKCJleGl0IikpKX0sX29uQW5pbWF0aW9uRW5kOmZ1bmN0aW9uKCl7dGhpcy5fYW5pbWF0aW9uUGxheWluZz0hMSx0aGlzLl9zaG93aW5nfHwodGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9nZXRBbmltYXRpb25UeXBlKCJleGl0IikpLHRoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpKX0sX2dldEFuaW1hdGlvblR5cGU6ZnVuY3Rpb24odCl7aWYoImVudHJ5Ij09PXQmJiIiIT09dGhpcy5hbmltYXRpb25FbnRyeSlyZXR1cm4gdGhpcy5hbmltYXRpb25FbnRyeTtpZigiZXhpdCI9PT10JiYiIiE9PXRoaXMuYW5pbWF0aW9uRXhpdClyZXR1cm4gdGhpcy5hbmltYXRpb25FeGl0O2lmKHRoaXMuYW5pbWF0aW9uQ29uZmlnW3RdJiYic3RyaW5nIj09dHlwZW9mIHRoaXMuYW5pbWF0aW9uQ29uZmlnW3RdWzBdLm5hbWUpe2lmKHRoaXMuYW5pbWF0aW9uQ29uZmlnW3RdWzBdLnRpbWluZyYmdGhpcy5hbmltYXRpb25Db25maWdbdF1bMF0udGltaW5nLmRlbGF5JiYwIT09dGhpcy5hbmltYXRpb25Db25maWdbdF1bMF0udGltaW5nLmRlbGF5KXt2YXIgZT10aGlzLmFuaW1hdGlvbkNvbmZpZ1t0XVswXS50aW1pbmcuZGVsYXk7ImVudHJ5Ij09PXQ/dGhpcy51cGRhdGVTdHlsZXMoeyItLXBhcGVyLXRvb2x0aXAtZGVsYXktaW4iOmUrIm1zIn0pOiJleGl0Ij09PXQmJnRoaXMudXBkYXRlU3R5bGVzKHsiLS1wYXBlci10b29sdGlwLWRlbGF5LW91dCI6ZSsibXMifSl9cmV0dXJuIHRoaXMuYW5pbWF0aW9uQ29uZmlnW3RdWzBdLm5hbWV9fSxfcmVtb3ZlTGlzdGVuZXJzOmZ1bmN0aW9uKCl7dGhpcy5fdGFyZ2V0JiYodGhpcy51bmxpc3Rlbih0aGlzLl90YXJnZXQsIm1vdXNlZW50ZXIiLCJzaG93IiksdGhpcy51bmxpc3Rlbih0aGlzLl90YXJnZXQsImZvY3VzIiwic2hvdyIpLHRoaXMudW5saXN0ZW4odGhpcy5fdGFyZ2V0LCJtb3VzZWxlYXZlIiwiaGlkZSIpLHRoaXMudW5saXN0ZW4odGhpcy5fdGFyZ2V0LCJibHVyIiwiaGlkZSIpLHRoaXMudW5saXN0ZW4odGhpcy5fdGFyZ2V0LCJ0YXAiLCJoaWRlIikpLHRoaXMudW5saXN0ZW4odGhpcy4kLnRvb2x0aXAsImFuaW1hdGlvbmVuZCIsIl9vbkFuaW1hdGlvbkVuZCIpLHRoaXMudW5saXN0ZW4odGhpcywibW91c2VlbnRlciIsImhpZGUiKX19KTtjbGFzcyBNc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLmxpc3RlbmVyPXR9fWNvbnN0IEVzPW5ldyBTZXQsVHM9bmV3IFNldDtmdW5jdGlvbiBDcyh0KXtjb25zdCBlPW5ldyBNcyh0KTtyZXR1cm4gRXMuYWRkKGUpLGV9ZnVuY3Rpb24gQXModCl7Y29uc3QgZT1uZXcgTXModCk7cmV0dXJuIFRzLmFkZChlKSxlfWZ1bmN0aW9uIGtzKCl7VHMuZm9yRWFjaCgodD0+dC5saXN0ZW5lcigpKSl9ZnVuY3Rpb24gTHModCl7RXMuZGVsZXRlKHQpfWZ1bmN0aW9uIFBzKHQpe1RzLmRlbGV0ZSh0KX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsKCgpPT57RXMuZm9yRWFjaCgodD0+dC5saXN0ZW5lcigpKSl9KSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0b3JhZ2UiLCgoKT0+e1RzLmZvckVhY2goKHQ9PnQubGlzdGVuZXIoKSkpfSkpO2xldCBOcz0hMTtmdW5jdGlvbiBJcygpe3JldHVybiBOc31sZXQgUnM9IiI7ZnVuY3Rpb24gT3ModCl7UnM9dH1mdW5jdGlvbiB6cygpe3JldHVybiBSc312YXIgRHM9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsc2V0VXNlSGFzaDpmdW5jdGlvbiBCcyh0KXtOcz10fSx1c2VIYXNoOklzLHNldEZha2VIYXNoOk9zLGdldEZha2VIYXNoOnpzfSk7Y29uc3QgSHM9Il9fdGFiX18iO2xldCBGcz17fTtmdW5jdGlvbiBWcygpe3JldHVybiBJcygpP3dpbmRvdy5sb2NhdGlvbi5oYXNoLnNsaWNlKDEpOnpzKCl9ZnVuY3Rpb24gVXModCl7Y29uc3QgZT17fTtyZXR1cm4gdC5zcGxpdCgiJiIpLmZvckVhY2goKHQ9Pntjb25zdCBuPXQuc3BsaXQoIj0iKTsxPT09bi5sZW5ndGg/ZS5fX3RhYl9fPW5bMF06Mj09PW4ubGVuZ3RoJiYoZVtkZWNvZGVVUklDb21wb25lbnQoblswXSldPWRlY29kZVVSSUNvbXBvbmVudChuWzFdKSl9KSksZX1mdW5jdGlvbiBqcyh0LGU9ITEpe2lmKElzKCkpaWYoZSl7Y29uc3QgZT1uZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtlLmhhc2g9dCx3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUod2luZG93Lmhpc3Rvcnkuc3RhdGUsIiIsZS50b1N0cmluZygpKX1lbHNlIHdpbmRvdy5sb2NhdGlvbi5oYXNoPXQ7ZWxzZSBPcyh0KX1mdW5jdGlvbiBHcyh0KXtsZXQgZT0iIjt2b2lkIDAhPT10Ll9fdGFiX18mJihlKz10Ll9fdGFiX18pO2NvbnN0IG49T2JqZWN0LmtleXModCkubWFwKChlPT5bZSx0W2VdXSkpLmZpbHRlcigodD0+dFswXSE9PUhzKSkubWFwKCh0PT5lbmNvZGVVUklDb21wb25lbnQodFswXSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudCh0WzFdKSkpLmpvaW4oIiYiKTtyZXR1cm4gbi5sZW5ndGg+MD9lKyImIituOmV9Q3MoKCgpPT57RnM9VXMoVnMoKSl9KSk7Y29uc3QgV3M9ImRpc2FtYmlndWF0b3IiLHtnZXQ6cXMsc2V0OllzLGdldEluaXRpYWxpemVyOlhzLGdldE9ic2VydmVyOiRzLGRpc3Bvc2VCaW5kaW5nOktzfT1kbCgodD0+dCksKHQ9PnQpKSx7Z2V0OlpzLHNldDpKcyxnZXRJbml0aWFsaXplcjpRcyxnZXRPYnNlcnZlcjp0bCxkaXNwb3NlQmluZGluZzplbH09ZGwoKHQ9PiJ0cnVlIj09PXR8fCJmYWxzZSIhPT10JiZ2b2lkIDApLCh0PT50LnRvU3RyaW5nKCkpKSx7Z2V0Om5sLHNldDppbCxnZXRJbml0aWFsaXplcjpybCxnZXRPYnNlcnZlcjpvbCxkaXNwb3NlQmluZGluZzphbH09ZGwoKHQ9Pit0KSwodD0+dC50b1N0cmluZygpKSkse2dldDpzbCxzZXQ6bGwsZ2V0SW5pdGlhbGl6ZXI6Y2wsZ2V0T2JzZXJ2ZXI6dWwsZGlzcG9zZUJpbmRpbmc6aGx9PWRsKCh0PT5KU09OLnBhcnNlKGF0b2IodCkpKSwodD0+YnRvYShKU09OLnN0cmluZ2lmeSh0KSkpKTtmdW5jdGlvbiBkbCh0LGUpe2NvbnN0IG49W10saT1bXTtmdW5jdGlvbiByKGUsbj17fSl7Y29uc3R7ZGVmYXVsdFZhbHVlOmksdXNlTG9jYWxTdG9yYWdlOnI9ITF9PW4sbz1yP3dpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKTpVcyhWcygpKVtlXTtyZXR1cm4gbnVsbD09bz9DZS5leHBvcnRzLmNsb25lRGVlcChpKTp0KG8pfWZ1bmN0aW9uIG8odCxuLGk9e30pe2NvbnN0e2RlZmF1bHRWYWx1ZTpvLHVzZUxvY2FsU3RvcmFnZTphPSExLHVzZUxvY2F0aW9uUmVwbGFjZTpzPSExfT1pLGw9ZShuKTtpZihhKXdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0LGwpLGtzKCk7ZWxzZSBpZighQ2UuZXhwb3J0cy5pc0VxdWFsKG4scih0LHt1c2VMb2NhbFN0b3JhZ2U6YX0pKSlpZihDZS5leHBvcnRzLmlzRXF1YWwobixvKSkhKGZ1bmN0aW9uIGModCl7Y29uc3QgZT1VcyhWcygpKTtkZWxldGUgZVt0XSxqcyhHcyhlKSl9KSh0KTtlbHNle2NvbnN0IGU9VXMoVnMoKSk7ZVt0XT1sLGpzKEdzKGUpLHMpfX1yZXR1cm57Z2V0OnIsc2V0Om8sZ2V0SW5pdGlhbGl6ZXI6ZnVuY3Rpb24gYSh0LGUpe2NvbnN0IG89T2JqZWN0LmFzc2lnbih7ZGVmYXVsdFZhbHVlOmUuZGVmYXVsdFZhbHVlLHBvbHltZXJQcm9wZXJ0eTp0LHVzZUxvY2FsU3RvcmFnZTohMX0sZSk7cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgZT1wbCh0aGlzLHQpLGE9KCk9Pntjb25zdCB0PXIoZSxvKTtDZS5leHBvcnRzLmlzRXF1YWwodCx0aGlzW28ucG9seW1lclByb3BlcnR5XSl8fCh0aGlzW28ucG9seW1lclByb3BlcnR5XT10KX0scz0oby51c2VMb2NhbFN0b3JhZ2U/QXM6Q3MpKCgoKT0+YSgpKSk7cmV0dXJuIG8udXNlTG9jYWxTdG9yYWdlP2kucHVzaChzKTpuLnB1c2gocyksYSgpLHRoaXNbby5wb2x5bWVyUHJvcGVydHldfX0sZ2V0T2JzZXJ2ZXI6ZnVuY3Rpb24gcyh0LGUpe2NvbnN0IG49T2JqZWN0LmFzc2lnbih7ZGVmYXVsdFZhbHVlOmUuZGVmYXVsdFZhbHVlLHBvbHltZXJQcm9wZXJ0eTp0LHVzZUxvY2FsU3RvcmFnZTohMX0sZSk7cmV0dXJuIGZ1bmN0aW9uKCl7byhwbCh0aGlzLHQpLHRoaXNbbi5wb2x5bWVyUHJvcGVydHldLG4pfX0sZGlzcG9zZUJpbmRpbmc6ZnVuY3Rpb24gbCgpe24uZm9yRWFjaCgodD0+THModCkpKSxpLmZvckVhY2goKHQ9PlBzKHQpKSl9fX1mdW5jdGlvbiBwbCh0LGUpe2NvbnN0IG49dC5kaXNhbWJpZ3VhdG9yO3JldHVybihudWxsPT1uP1tlXTpbbixlXSkuam9pbigiLiIpfWxldCBmbD1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl90YWdGaWx0ZXI9WHMoInRhZ0ZpbHRlciIse2RlZmF1bHRWYWx1ZToiIix1c2VMb2NhbFN0b3JhZ2U6ITEscG9seW1lclByb3BlcnR5OiJfdGFnRmlsdGVyIn0pLmNhbGwodGhpcyksdGhpcy5fdGFnRmlsdGVyT2JzZXJ2ZXI9JHMoInRhZ0ZpbHRlciIse2RlZmF1bHRWYWx1ZToiIix1c2VMb2NhbFN0b3JhZ2U6ITEscG9seW1lclByb3BlcnR5OiJfdGFnRmlsdGVyIn0pfV9jb21wdXRlVGFnRmlsdGVyKCl7cmV0dXJuIHRoaXMuX3RhZ0ZpbHRlcn19O2Z1bmN0aW9uIG1sKHQpe2NvbnN0e21vZHVsZU5hbWU6ZSxzdHlsZUNvbnRlbnQ6bn09dCxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRvbS1tb2R1bGUiKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIiksbz1bXTt0LnN0eWxlRGVwZW5kZW5jaWVzJiZ0LnN0eWxlRGVwZW5kZW5jaWVzLmZvckVhY2goKHQ9Pntjb25zdCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7ZS5zZXRBdHRyaWJ1dGUoImluY2x1ZGUiLHQpLG8ucHVzaChlKX0pKTtjb25zdCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7T2JqZWN0LmFzc2lnbihhLHt0ZXh0Q29udGVudDpufSksby5mb3JFYWNoKCh0PT57ci5jb250ZW50LmFwcGVuZENoaWxkKHQpfSkpLHIuY29udGVudC5hcHBlbmRDaGlsZChhKSxpLmFwcGVuZENoaWxkKHIpLGkucmVnaXN0ZXIoZSl9ZnVuY3Rpb24gZ2wodCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgdHtjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5fbWF5YmVTZXREYXJrTW9kZSgpLHRoaXMub2JzZXJ2ZXI9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKHQ9Pnt0LnNvbWUoKHQ9PiJjbGFzcyI9PT10LmF0dHJpYnV0ZU5hbWUpKSYmdGhpcy5fbWF5YmVTZXREYXJrTW9kZSgpfSkpLHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LHthdHRyaWJ1dGVzOiEwfSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgdDtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLG51bGw9PT0odD10aGlzLm9ic2VydmVyKXx8dm9pZCAwPT09dHx8dC5kaXNjb25uZWN0KCl9X21heWJlU2V0RGFya01vZGUoKXt0aGlzLmNsYXNzTGlzdC50b2dnbGUoImRhcmstbW9kZSIsZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoImRhcmstbW9kZSIpKX19fWZsLnRlbXBsYXRlPXhlYAogICAgPHBhcGVyLWlucHV0CiAgICAgIG5vLWxhYmVsLWZsb2F0PSIiCiAgICAgIGxhYmVsPSJGaWx0ZXIgdGFncyAocmVndWxhciBleHByZXNzaW9ucyBzdXBwb3J0ZWQpIgogICAgICB2YWx1ZT0ie3tfdGFnRmlsdGVyfX0iCiAgICAgIGNsYXNzPSJzZWFyY2gtaW5wdXQiCiAgICA+CiAgICAgIDxpcm9uLWljb24gcHJlZml4PSIiIGljb249InNlYXJjaCIgc2xvdD0icHJlZml4Ij48L2lyb24taWNvbj4KICAgIDwvcGFwZXItaW5wdXQ+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW46IDEwcHggNXB4IDEwcHggMTBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMCxjb21wdXRlZDoiX2NvbXB1dGVUYWdGaWx0ZXIoX3RhZ0ZpbHRlcikifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGZsLnByb3RvdHlwZSwidGFnRmlsdGVyIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfdGFnRmlsdGVyT2JzZXJ2ZXIifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGZsLnByb3RvdHlwZSwiX3RhZ0ZpbHRlciIsdm9pZCAwKSxmbD10KFtpKCJ0Zi10YWctZmlsdGVyZXIiKV0sZmwpLG1sKHttb2R1bGVOYW1lOiJkYXNoYm9hcmQtc3R5bGUiLHN0eWxlRGVwZW5kZW5jaWVzOlsiaXJvbi1mbGV4Il0sc3R5bGVDb250ZW50OiJcbiAgICAgIDpob3N0IHtcbiAgICAgICAgLS1zaWRlYmFyLXZlcnRpY2FsLXBhZGRpbmc6IDE1cHg7XG4gICAgICAgIC0tc2lkZWJhci1sZWZ0LXBhZGRpbmc6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIFtzbG90PSdzaWRlYmFyJ10ge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB9XG5cbiAgICAgIC5zZXR0aW5ncyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgIH1cblxuICAgICAgLnJ1bnMtc2VsZWN0b3Ige1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgfVxuXG4gICAgICB0Zi1ydW5zLXNlbGVjdG9yIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgbGVmdDogdmFyKC0tc2lkZWJhci1sZWZ0LXBhZGRpbmcpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zaWRlYmFyLXZlcnRpY2FsLXBhZGRpbmcpICogMik7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC5zZWFyY2gtaW5wdXQge1xuICAgICAgICBtYXJnaW46IDEwcHggNXB4IDAgMTBweDtcbiAgICAgIH1cblxuICAgICAgLnNpZGViYXItc2VjdGlvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCB2YXIoLS10Yi11aS1ib3JkZXIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNpZGViYXItdmVydGljYWwtcGFkZGluZykgMFxuICAgICAgICAgIHZhcigtLXNpZGViYXItdmVydGljYWwtcGFkZGluZykgdmFyKC0tc2lkZWJhci1sZWZ0LXBhZGRpbmcpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC5zaWRlYmFyLXNlY3Rpb246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnNpZGViYXItc2VjdGlvbiBwYXBlci1idXR0b24ge1xuICAgICAgICBtYXJnaW46IDVweDtcbiAgICAgIH1cblxuICAgICAgLnNpZGViYXItc2VjdGlvbiBwYXBlci1idXR0b246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5zaWRlYmFyLXNlY3Rpb24gcGFwZXItYnV0dG9uOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuc2lkZWJhci1zZWN0aW9uID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIC5zaWRlYmFyLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAuc2lkZWJhci1zZWN0aW9uIGgzIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRiLXNlY29uZGFyeS10ZXh0LWNvbG9yKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgNXB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgcGFwZXItY2hlY2tib3gge1xuICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTtcbiAgICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGItbGluayk7XG4gICAgICB9XG5cbiAgICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10Yi1saW5rLXZpc2l0ZWQpO1xuICAgICAgfVxuICAifSksbWwoe21vZHVsZU5hbWU6InNjcm9sbGJhci1zdHlsZSIsc3R5bGVDb250ZW50OiJcbiAgICAuc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgfVxuXG4gICAgLnNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1ncmV5LTUwMCk7XG4gICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS05MDApO1xuICAgIH1cbiAgICAuc2Nyb2xsYmFyIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAifSk7Y29uc3QgX2w9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtfbC5zZXRBdHRyaWJ1dGUoImlzIiwiY3VzdG9tLXN0eWxlIiksX2wudGV4dENvbnRlbnQ9IlxuICA6cm9vdCB7XG4gICAgLS10Yi1vcmFuZ2Utd2VhazogI2ZmYTcyNjtcbiAgICAtLXRiLW9yYW5nZS1zdHJvbmc6ICNmNTdjMDA7XG4gICAgLS10Yi1vcmFuZ2UtZGFyazogI2RjNzMyMDtcbiAgICAtLXRiLWdyZXktZGFya2VyOiAjZTJlMmUyO1xuICAgIC0tdGItZ3JleS1saWdodGVyOiAjZjNmM2YzO1xuICAgIC0tdGItdWktZGFyay1hY2NlbnQ6ICM3NTc1NzU7XG4gICAgLS10Yi11aS1saWdodC1hY2NlbnQ6ICNlMGUwZTA7XG4gICAgLS10Yi11aS1ib3JkZXI6IHZhcigtLXBhcGVyLWdyZXktMzAwKTtcbiAgICAtLXRiLWdyYXBoLWZhZGVkOiAjZTBkNGIzO1xuICAgIC0tdGItc2Vjb25kYXJ5LXRleHQtY29sb3I6IHZhcigtLXBhcGVyLWdyZXktODAwKTtcbiAgICAtLXRiLXJhaXNlZC1idXR0b24tc2hhZG93LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgLS1wcmltYXJ5LWJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgLS1zZWNvbmRhcnktYmFja2dyb3VuZC1jb2xvcjogI2U5ZTllOTtcbiAgICAtLXRiLWxheW91dC1iYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIC0tdGItbGluazogIzE5NzZkMjsgLyogbWF0ZXJpYWwgYmx1ZSA3MDAuICovXG4gICAgLS10Yi1saW5rLXZpc2l0ZWQ6ICM3YjFmYTI7IC8qIG1hdGVyaWFsIHB1cnBsZSA3MDAuICovXG4gIH1cblxuICA6cm9vdCAuZGFyay1tb2RlIHtcbiAgICAtLXRiLXVpLWJvcmRlcjogdmFyKC0tcGFwZXItZ3JleS03MDApO1xuICAgIC0tdGItdWktZGFyay1hY2NlbnQ6IHZhcigtLXBhcGVyLWdyZXktNDAwKTtcbiAgICAtLXRiLXVpLWxpZ2h0LWFjY2VudDogdmFyKC0tcGFwZXItZ3JleS02MDApO1xuICAgIC0tdGItc2Vjb25kYXJ5LXRleHQtY29sb3I6IHZhcigtLXBhcGVyLWdyZXktNDAwKTtcbiAgICAtLXRiLXJhaXNlZC1idXR0b24tc2hhZG93LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgLS1wcmltYXJ5LXRleHQtY29sb3I6ICNmZmY7XG4gICAgLS1zZWNvbmRhcnktdGV4dC1jb2xvcjogdmFyKC0tcGFwZXItZ3JleS00MDApO1xuICAgIC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yOiAjMzAzMDMwOyAgLyogbWF0ZXJpYWwgZ3JleSBBNDAwLiAqL1xuICAgIC0tc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3I6ICMzYTNhM2E7XG4gICAgLS10Yi1sYXlvdXQtYmFja2dyb3VuZC1jb2xvcjogIzNhM2EzYTtcbiAgICAtLXRiLWxpbms6ICM0MmE1ZjU7IC8qIG1hdGVyaWFsIGJsdWUgNDAwLiAqL1xuICAgIC0tdGItbGluay12aXNpdGVkOiAjYmE2OGM4OyAvKiBtYXRlcmlhbCBwdXJwbGUgMzAwLiAqL1xuICAgIC8qIE92ZXJyaWRlcyBwYXBlci1tYXRlcmlhbCAqL1xuICAgIC0tc2hhZG93LWVsZXZhdGlvbi0yZHBfLV9ib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpLFxuICAgICAgMCAxcHggNXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSxcbiAgICAgIDAgM3B4IDFweCAtMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgfVxuIixkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKF9sKTtsZXQgeWw9Y2xhc3MgZXh0ZW5kcyhnbCh3ZSkpe307eWwudGVtcGxhdGU9eGVgCiAgICA8ZGl2IGlkPSJzaWRlYmFyIj4KICAgICAgPHNsb3QgbmFtZT0ic2lkZWJhciI+PC9zbG90PgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0iY2VudGVyIj4KICAgICAgPHNsb3QgbmFtZT0iY2VudGVyIiBjbGFzcz0ic2NvbGxiYXIiPjwvc2xvdD4KICAgIDwvZGl2PgogICAgPHN0eWxlIGluY2x1ZGU9InNjcm9sbGJhci1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgOmhvc3QoLmRhcmstbW9kZSkgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG9yKTsKICAgICAgfQoKICAgICAgI3NpZGViYXIgewogICAgICAgIGZsZXg6IDAgMCB2YXIoLS10Zi1kYXNoYm9hcmQtbGF5b3V0LXNpZGViYXItYmFzaXMsIDI1JSk7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG1heC13aWR0aDogdmFyKC0tdGYtZGFzaGJvYXJkLWxheW91dC1zaWRlYmFyLW1heC13aWR0aCwgMzUwcHgpOwogICAgICAgIG1pbi13aWR0aDogdmFyKC0tdGYtZGFzaGJvYXJkLWxheW91dC1zaWRlYmFyLW1pbi13aWR0aCwgMjcwcHgpOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgICNjZW50ZXIgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgOjpzbG90dGVkKFtzbG90PSdjZW50ZXInXSkgewogICAgICAgIGNvbnRhaW46IHN0cmljdDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQoKICAgICAgLnRmLWdyYXBoLWRhc2hib2FyZCAjY2VudGVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAseWw9dChbaSgidGYtZGFzaGJvYXJkLWxheW91dCIpXSx5bCk7Y29uc3Qgdmw9IlRGLlRlbnNvckJvYXJkLlBhZ2luYXRlZFZpZXcubGltaXQiO2xldCBibD1udWxsO2NvbnN0IHhsPW5ldyBTZXQ7ZnVuY3Rpb24gd2wodCl7eGwuYWRkKHQpfWZ1bmN0aW9uIFNsKHQpe3hsLmRlbGV0ZSh0KX1mdW5jdGlvbiBNbCgpe3JldHVybiBudWxsPT1ibCYmKGJsPW5sKHZsLHt1c2VMb2NhbFN0b3JhZ2U6ITB9KSwobnVsbD09Ymx8fCFpc0Zpbml0ZShibCl8fGJsPD0wKSYmKGJsPTEyKSksYmx9Y2xhc3MgRWwgZXh0ZW5kcyB3ZXt1cGRhdGVBcnJheVByb3AodCxlLG4pe2xldCBpPXRoaXMuZ2V0KHQpO2NvbnN0IHI9ZTtpZighQXJyYXkuaXNBcnJheShyKSl0aHJvdyBSYW5nZUVycm9yKGBFeHBlY3RlZCBuZXcgdmFsdWUgdG8gJyR7dH0nIHRvIGJlIGFuIGFycmF5LmApO0FycmF5LmlzQXJyYXkoaSl8fChpPVtdLHRoaXMuc2V0KHQsaSkpO2NvbnN0IG89bmV3IFNldChyLm1hcCgoKHQsZSk9Pm4odCxlKSkpKTtsZXQgYT0wLHM9MDtmb3IoO2E8aS5sZW5ndGgmJnM8ci5sZW5ndGg7KW8uaGFzKG4oaVthXSxhKSk/KG4oaVthXSxhKT09bihyW3NdLHMpP3RoaXMuc2V0KGAke3R9LiR7YX1gLHJbc10pOnRoaXMuc3BsaWNlKHQsYSwwLHJbc10pLHMrKyxhKyspOnRoaXMuc3BsaWNlKHQsYSwxKTthPGkubGVuZ3RoJiZ0aGlzLnNwbGljZSh0LGEpLHM8ci5sZW5ndGgmJnRoaXMucHVzaCh0LC4uLnIuc2xpY2UocykpfX1jbGFzcyBUbCBleHRlbmRzIEVse2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmFzPSJpdGVtIix0aGlzLl9jb250ZW50QWN0aXZlPSEwLHRoaXMuX2RvbUJvb3RzdHJhcHBlZD0hMSx0aGlzLl9jdG9yPW51bGwsdGhpcy5fcmVuZGVyZWRJdGVtcz1bXSx0aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdD1uZXcgTWFwLHRoaXMuX2xydUNhY2hlZEl0ZW1zPW5ldyBNYXAsdGhpcy5fY2FjaGVTaXplPTEwLHRoaXMuX2dldEl0ZW1LZXk9dD0+SlNPTi5zdHJpbmdpZnkodCksdGhpcy5faXNDb25uZWN0ZWQ9ITF9Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuX2lzQ29ubmVjdGVkPSEwfXNldENhY2hlU2l6ZSh0KXt0aGlzLl9jYWNoZVNpemU9dH1zZXRHZXRJdGVtS2V5KHQpe3RoaXMuX2dldEl0ZW1LZXk9dH11cGRhdGVEb20odCl7dGhpcy51cGRhdGVBcnJheVByb3AoIl9yZW5kZXJlZEl0ZW1zIix0LHRoaXMuX2dldEl0ZW1LZXkpfV9lbnN1cmVUZW1wbGF0aXplZCgpe2lmKCF0aGlzLmlzQ29ubmVjdGVkKXJldHVybiExO2lmKCF0aGlzLl9jdG9yKXtjb25zdCB0PXRoaXMucXVlcnlTZWxlY3RvcigidGVtcGxhdGUiKTt0aGlzLl9jdG9yPWFvKHQsdGhpcyx7cGFyZW50TW9kZWw6ITAsaW5zdGFuY2VQcm9wczp7W3RoaXMuYXNdOiEwLGFjdGl2ZTp0aGlzLl9jb250ZW50QWN0aXZlfSxmb3J3YXJkSG9zdFByb3A6ZnVuY3Rpb24odCxlKXt0aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdC5mb3JFYWNoKChuPT57bi5mb3J3YXJkSG9zdFByb3AodCxlKX0pKX19KX1yZXR1cm4hMH1fYm9vdHN0cmFwRG9tKCl7aWYoIXRoaXMuX2Vuc3VyZVRlbXBsYXRpemVkKCl8fHRoaXMuX2RvbUJvb3RzdHJhcHBlZClyZXR1cm47bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKHQ9Pntmb3IoY29uc3QgZSBvZiB0KWlmKCJjaGlsZExpc3QiPT09ZS50eXBlKWZvcihjb25zdCB0IG9mIEFycmF5LmZyb20oZS5hZGRlZE5vZGVzKSl0IGluc3RhbmNlb2YgRWxlbWVudCYmdC5zZXRBdHRyaWJ1dGUoInNsb3QiLCJpdGVtcyIpfSkpLm9ic2VydmUodGhpcyx7Y2hpbGRMaXN0OiEwfSksQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5mb3JFYWNoKCh0PT57dGhpcy5yZW1vdmVDaGlsZCh0KX0pKSx0aGlzLl9scnVDYWNoZWRJdGVtcy5jbGVhcigpLHRoaXMuX3JlbmRlcmVkSXRlbXMuZm9yRWFjaCgoKHQsZSk9PnRoaXMuX2luc2VydEl0ZW0odCxlKSkpLHRoaXMuX2RvbUJvb3RzdHJhcHBlZD0hMH1fdXBkYXRlQWN0aXZlKCl7dGhpcy5fZG9tQm9vdHN0cmFwcGVkJiZBcnJheS5mcm9tKHRoaXMuX3JlbmRlcmVkVGVtcGxhdGVJbnN0LnZhbHVlcygpKS5mb3JFYWNoKCh0PT57dC5ub3RpZnlQYXRoKCJhY3RpdmUiLHRoaXMuX2NvbnRlbnRBY3RpdmUpfSkpfV91cGRhdGVEb20odCl7aWYodGhpcy5fZG9tQm9vdHN0cmFwcGVkJiYiX3JlbmRlcmVkSXRlbXMiIT10LnBhdGgmJiJfcmVuZGVyZWRJdGVtcy5sZW5ndGgiIT10LnBhdGgpaWYoIl9yZW5kZXJlZEl0ZW1zLnNwbGljZXMiPT09dC5wYXRoKXt0LnZhbHVlLmluZGV4U3BsaWNlcy5mb3JFYWNoKCh0PT57Y29uc3R7aW5kZXg6ZSxhZGRlZENvdW50Om4sb2JqZWN0OmkscmVtb3ZlZDpyfT10O3IuZm9yRWFjaCgodD0+e3RoaXMuX3JlbW92ZUl0ZW0odCx0aGlzLmNoaWxkcmVuW2VdKX0pKSxpLnNsaWNlKGUsZStuKS5mb3JFYWNoKCgodCxuKT0+dGhpcy5faW5zZXJ0SXRlbSh0LGUrbikpKSx0aGlzLl90cmltQ2FjaGUoKX0pKX1lbHNle2NvbnN0IGU9dGhpcy5fZ2V0SXRlbUtleSh0LnZhbHVlKTt0aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdC5oYXMoZSk/dGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3QuZ2V0KGUpLm5vdGlmeVBhdGgodGhpcy5hcyx0LnZhbHVlKTpjb25zb2xlLndhcm4oYEV4cGVjdGVkICcke2V9JyB0byBleGlzdCBpbiB0aGUgRE9NIGJ1dCBjb3VsZCBub3QgZmluZCBvbmUuYCl9fV9pbnNlcnRJdGVtKHQsZSl7aWYoIXRoaXMuX2Vuc3VyZVRlbXBsYXRpemVkKCkpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCB0ZW1wbGF0aXplZCBiZWZvcmUgaW5zZXJ0aW5nIGFuIGl0ZW0iKTtsZXQgbjtjb25zdCBpPXRoaXMuX2dldEl0ZW1LZXkodCk7aWYodGhpcy5fbHJ1Q2FjaGVkSXRlbXMuaGFzKGkpKW49dGhpcy5fbHJ1Q2FjaGVkSXRlbXMuZ2V0KGkpLHRoaXMuX2xydUNhY2hlZEl0ZW1zLmRlbGV0ZShpKSx0aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdC5nZXQoaSkubm90aWZ5UGF0aCgiYWN0aXZlIix0aGlzLl9jb250ZW50QWN0aXZlKTtlbHNle2NvbnN0IGU9bmV3IHRoaXMuX2N0b3Ioe1t0aGlzLmFzXTp0LGFjdGl2ZTp0aGlzLl9jb250ZW50QWN0aXZlfSk7bj1lLnJvb3QsdGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3Quc2V0KGksZSl9aWYodGhpcy5jaGlsZHJlbltlXSl0aGlzLmluc2VydEJlZm9yZShuLHRoaXMuY2hpbGRyZW5bZV0pO2Vsc2V7KG4ubm9kZVR5cGU9PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERT9BcnJheS5mcm9tKG4uY2hpbGRyZW4pOltuXSkuZm9yRWFjaCgodD0+dC5zZXRBdHRyaWJ1dGUoInNsb3QiLCJpdGVtcyIpKSksdGhpcy5hcHBlbmRDaGlsZChuKX19X3JlbW92ZUl0ZW0odCxlKXtlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKTtjb25zdCBuPXRoaXMuX2dldEl0ZW1LZXkodCk7dGhpcy5fbHJ1Q2FjaGVkSXRlbXMuc2V0KG4sZSksdGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3QuZ2V0KG4pLm5vdGlmeVBhdGgoImFjdGl2ZSIsITEpfV90cmltQ2FjaGUoKXtmb3IoO3RoaXMuX2xydUNhY2hlZEl0ZW1zLnNpemU+dGhpcy5fY2FjaGVTaXplOyl7Y29uc3RbdF09dGhpcy5fbHJ1Q2FjaGVkSXRlbXMua2V5cygpO3RoaXMuX2xydUNhY2hlZEl0ZW1zLmRlbGV0ZSh0KSx0aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdC5kZWxldGUodCl9fX10KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxUbC5wcm90b3R5cGUsImFzIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxUbC5wcm90b3R5cGUsIml0ZW1zIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sVGwucHJvdG90eXBlLCJfY29udGVudEFjdGl2ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVGwucHJvdG90eXBlLCJfZG9tQm9vdHN0cmFwcGVkIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFRsLnByb3RvdHlwZSwiX2N0b3IiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLFRsLnByb3RvdHlwZSwiX3JlbmRlcmVkSXRlbXMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVGwucHJvdG90eXBlLCJfcmVuZGVyZWRUZW1wbGF0ZUluc3QiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVGwucHJvdG90eXBlLCJfbHJ1Q2FjaGVkSXRlbXMiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVGwucHJvdG90eXBlLCJfY2FjaGVTaXplIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFRsLnByb3RvdHlwZSwiX2dldEl0ZW1LZXkiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFRsLnByb3RvdHlwZSwiX2lzQ29ubmVjdGVkIix2b2lkIDApLHQoW2EoIl9pc0Nvbm5lY3RlZCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sVGwucHJvdG90eXBlLCJfYm9vdHN0cmFwRG9tIixudWxsKSx0KFthKCJfY29udGVudEFjdGl2ZSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sVGwucHJvdG90eXBlLCJfdXBkYXRlQWN0aXZlIixudWxsKSx0KFthKCJfcmVuZGVyZWRJdGVtcy4qIiwiX2RvbUJvb3RzdHJhcHBlZCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sVGwucHJvdG90eXBlLCJfdXBkYXRlRG9tIixudWxsKSx0KFthKCJfY2FjaGVTaXplIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxUbC5wcm90b3R5cGUsIl90cmltQ2FjaGUiLG51bGwpO2xldCBDbD1jbGFzcyBleHRlbmRzIFRse2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmRpc2FibGVQYWdpbmF0aW9uPSExLHRoaXMuZ2V0Q2F0ZWdvcnlJdGVtS2V5PXQ9PkpTT04uc3RyaW5naWZ5KHQpLHRoaXMuX2xpbWl0PTEyLHRoaXMuX2FjdGl2ZUluZGV4PTAsdGhpcy5fcGFnZUlucHV0UmF3VmFsdWU9IiIsdGhpcy5fcGFnZUlucHV0Rm9jdXNlZD0hMX1fY29tcHV0ZUNvdW50KCl7cmV0dXJuIHRoaXMuY2F0ZWdvcnkuaXRlbXMubGVuZ3RofWdldCBfaGFzTXVsdGlwbGUoKXtyZXR1cm4gdGhpcy5fY291bnQ+MX1fdG9nZ2xlUGFuZSgpe3RoaXMub3BlbmVkPSF0aGlzLm9wZW5lZH1fY2hhbmdlQ29udGVudEFjdGl2ZSh0KXt0aGlzLl9jb250ZW50QWN0aXZlPXR9X29uUGFuZVJlbmRlcmVkQ2hhbmdlZCh0LGUpe3QmJnQhPT1lJiZ0aGlzLiQuaWZSZW5kZXJlZC5yZW5kZXIoKX1fY29tcHV0ZVBhbmVSZW5kZXJlZCh0KXtyZXR1cm4hKHQubWV0YWRhdGEudHlwZT09PUFyLlNFQVJDSF9SRVNVTFRTJiYiIj09PXQubmFtZSl9Z2V0IF9pdGVtc1JlbmRlcmVkKCl7cmV0dXJuIHRoaXMuX3BhbmVSZW5kZXJlZCYmdGhpcy5vcGVuZWR9X2NvbXB1dGVJc1NlYXJjaFJlc3VsdHModCl7cmV0dXJuIHQ9PT1Bci5TRUFSQ0hfUkVTVUxUU31fY29tcHV0ZUlzSW52YWxpZFNlYXJjaFJlc3VsdHModCl7cmV0dXJuIHQudHlwZT09PUFyLlNFQVJDSF9SRVNVTFRTJiYhdC52YWxpZFJlZ2V4fV9jb21wdXRlSXNVbml2ZXJzYWxTZWFyY2hRdWVyeSh0KXtyZXR1cm4gdC50eXBlPT09QXIuU0VBUkNIX1JFU1VMVFMmJnQudW5pdmVyc2FsUmVnZXh9X2lzQ29tcG9zaXRlU2VhcmNoKCl7Y29uc3R7dHlwZTp0LGNvbXBvc2l0ZVNlYXJjaDplfT10aGlzLmNhdGVnb3J5Lm1ldGFkYXRhO3JldHVybiBlJiZ0PT09QXIuU0VBUkNIX1JFU1VMVFN9cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMub3BlbmVkPW51bGw9PXRoaXMuaW5pdGlhbE9wZW5lZHx8dGhpcy5pbml0aWFsT3BlbmVkLHRoaXMuX2xpbWl0TGlzdGVuZXI9KCk9Pnt0aGlzLnNldCgiX2xpbWl0IixNbCgpKX0sd2wodGhpcy5fbGltaXRMaXN0ZW5lciksdGhpcy5fbGltaXRMaXN0ZW5lcigpfWRldGFjaGVkKCl7U2wodGhpcy5fbGltaXRMaXN0ZW5lcil9X3VwZGF0ZVJlbmRlcmVkSXRlbXMoKXt2YXIgdD10aGlzLl9saW1pdCxlPXRoaXMuZGlzYWJsZVBhZ2luYXRpb247aWYoIXRoaXMuX2l0ZW1zUmVuZGVyZWQpcmV0dXJuO2NvbnN0IG49TWF0aC5mbG9vcih0aGlzLl9hY3RpdmVJbmRleC90KSxpPXRoaXMuY2F0ZWdvcnkuaXRlbXN8fFtdLHI9ZT9pOmkuc2xpY2Uobip0LChuKzEpKnQpO3RoaXMudXBkYXRlRG9tKHIpfV9saW1pdENoYW5nZWQodCl7dGhpcy5zZXRDYWNoZVNpemUoMip0KX1fZ2V0Q2F0ZWdvcnlJdGVtS2V5Q2hhbmdlZCgpe3RoaXMuc2V0R2V0SXRlbUtleSh0aGlzLmdldENhdGVnb3J5SXRlbUtleSl9Z2V0IF9jdXJyZW50UGFnZSgpe3JldHVybiBNYXRoLmZsb29yKHRoaXMuX2FjdGl2ZUluZGV4L3RoaXMuX2xpbWl0KSsxfV9jb21wdXRlUGFnZUNvdW50KHQsZSl7cmV0dXJuIHRoaXMuY2F0ZWdvcnk/TWF0aC5jZWlsKHRoaXMuY2F0ZWdvcnkuaXRlbXMubGVuZ3RoL2UpOjB9Z2V0IF9tdWx0aXBsZVBhZ2VzRXhpc3QoKXtyZXR1cm4hdGhpcy5kaXNhYmxlUGFnaW5hdGlvbiYmdGhpcy5fcGFnZUNvdW50PjF9Z2V0IF9oYXNQcmV2aW91c1BhZ2UoKXtyZXR1cm4gdGhpcy5fY3VycmVudFBhZ2U+MX1nZXQgX2hhc05leHRQYWdlKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRQYWdlPHRoaXMuX3BhZ2VDb3VudH1fY29tcHV0ZUlucHV0V2lkdGgodCl7cmV0dXJuYGNhbGMoJHt0LnRvU3RyaW5nKCkubGVuZ3RofWVtICsgMjBweClgfV9zZXRBY3RpdmVJbmRleCh0KXtjb25zdCBlPSh0aGlzLmNhdGVnb3J5Lml0ZW1zfHxbXSkubGVuZ3RoLTE7dD5lJiYodD1lKSx0PDAmJih0PTApLHRoaXMuc2V0KCJfYWN0aXZlSW5kZXgiLHQpfV9jbGFtcEFjdGl2ZUluZGV4KCl7dGhpcy5fc2V0QWN0aXZlSW5kZXgodGhpcy5fYWN0aXZlSW5kZXgpfV9wZXJmb3JtUHJldmlvdXNQYWdlKCl7dGhpcy5fc2V0QWN0aXZlSW5kZXgodGhpcy5fYWN0aXZlSW5kZXgtdGhpcy5fbGltaXQpfV9wZXJmb3JtTmV4dFBhZ2UoKXt0aGlzLl9zZXRBY3RpdmVJbmRleCh0aGlzLl9hY3RpdmVJbmRleCt0aGlzLl9saW1pdCl9X2NvbXB1dGVQYWdlSW5wdXRWYWx1ZSh0LGUsbil7cmV0dXJuIHQ/ZTpuLnRvU3RyaW5nKCl9X2hhbmRsZVBhZ2VJbnB1dEV2ZW50KHQpe3RoaXMuc2V0KCJfcGFnZUlucHV0UmF3VmFsdWUiLHQudGFyZ2V0LnZhbHVlKTtjb25zdCBlPU51bWJlcih0LnRhcmdldC52YWx1ZXx8TmFOKTtpZihpc05hTihlKSlyZXR1cm47Y29uc3Qgbj1NYXRoLm1heCgxLE1hdGgubWluKGUsdGhpcy5fcGFnZUNvdW50KSktMTt0aGlzLl9zZXRBY3RpdmVJbmRleCh0aGlzLl9saW1pdCpuKX1faGFuZGxlUGFnZUNoYW5nZUV2ZW50KCl7dGhpcy5zZXQoIl9wYWdlSW5wdXRSYXdWYWx1ZSIsdGhpcy5fY3VycmVudFBhZ2UudG9TdHJpbmcoKSl9X2hhbmRsZVBhZ2VGb2N1c0V2ZW50KCl7dGhpcy5zZXQoIl9wYWdlSW5wdXRSYXdWYWx1ZSIsdGhpcy5fcGFnZUlucHV0VmFsdWUpLHRoaXMuc2V0KCJfcGFnZUlucHV0Rm9jdXNlZCIsITApfV9oYW5kbGVQYWdlQmx1ckV2ZW50KCl7dGhpcy5zZXQoIl9wYWdlSW5wdXRGb2N1c2VkIiwhMSl9X3VwZGF0ZVBhZ2VJbnB1dFZhbHVlKHQpe2NvbnN0IGU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIiNwYWdlLWlucHV0IGlucHV0Iik7ZSYmKGUudmFsdWU9dCl9X3VwZGF0ZUlucHV0V2lkdGgoKXt0aGlzLnVwZGF0ZVN0eWxlcyh7Ii0tdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXctcGFnZS1pbnB1dC13aWR0aCI6dGhpcy5faW5wdXRXaWR0aH0pfX07Q2wudGVtcGxhdGU9eGVgCiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3BhbmVSZW5kZXJlZF1dIiBpZD0iaWZSZW5kZXJlZCI+CiAgICAgIDxidXR0b24gY2xhc3M9ImhlYWRpbmciIG9uLXRhcD0iX3RvZ2dsZVBhbmUiIG9wZW4tYnV0dG9uJD0iW1tvcGVuZWRdXSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im5hbWUiPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1NlYXJjaFJlc3VsdHNdXSI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNDb21wb3NpdGVTZWFyY2goY2F0ZWdvcnkpXV0iPgogICAgICAgICAgICAgIDxzcGFuPlRhZ3MgbWF0Y2hpbmcgbXVsdGlwbGUgZXhwZXJpbWVudHM8L3NwYW4+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc0ludmFsaWRTZWFyY2hSZXN1bHRzXV0iPgogICAgICAgICAgICAgICAgPHNwYW4KICAgICAgICAgICAgICAgICAgPiZuYnNwOzxzdHJvbmc+KG1hbGZvcm1lZCByZWd1bGFyIGV4cHJlc3Npb24pPC9zdHJvbmc+PC9zcGFuCiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfaXNDb21wb3NpdGVTZWFyY2goY2F0ZWdvcnkpXV0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsaWdodCI+VGFncyBtYXRjaGluZyAvPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS1uYW1lIiB0aXRsZSQ9IltbY2F0ZWdvcnkubmFtZV1dIgogICAgICAgICAgICAgICAgPltbY2F0ZWdvcnkubmFtZV1dPC9zcGFuCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsaWdodCI+Lzwvc3Bhbj4KICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVW5pdmVyc2FsU2VhcmNoUXVlcnldXSI+CiAgICAgICAgICAgICAgICA8c3Bhbj4gKGFsbCB0YWdzKTwvc3Bhbj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNJbnZhbGlkU2VhcmNoUmVzdWx0c11dIj4KICAgICAgICAgICAgICAgIDxzcGFuPiA8c3Ryb25nPihtYWxmb3JtZWQgcmVndWxhciBleHByZXNzaW9uKTwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2lzU2VhcmNoUmVzdWx0c11dIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhdGVnb3J5LW5hbWUiIHRpdGxlJD0iW1tjYXRlZ29yeS5uYW1lXV0iCiAgICAgICAgICAgICAgPltbY2F0ZWdvcnkubmFtZV1dPC9zcGFuCiAgICAgICAgICAgID4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJjb3VudCI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc011bHRpcGxlXV0iPgogICAgICAgICAgICA8c3Bhbj5bW19jb3VudF1dPC9zcGFuPgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDxpcm9uLWljb24gaWNvbj0iZXhwYW5kLW1vcmUiIGNsYXNzPSJleHBhbmQtYXJyb3ciPjwvaXJvbi1pY29uPgogICAgICAgIDwvc3Bhbj4KICAgICAgPC9idXR0b24+CiAgICAgIDwhLS0gVE9ETyhzdGVwaGFud2xlZSk6IGludmVzdGlnYXRlIGZ1cnRoZXIuIEZvciBzb21lIHJlYXNvbiwKICAgICAgICB0cmFuc2l0aW9uZW5kIHRoYXQgdGhlIGlyb24tY29sbGFwc2UgcmVsaWVzIG9uIHNvbWV0aW1lcyBkb2VzIG5vdAogICAgICAgIHRyaWdnZXIgd2hlbiByZW5kZXJpbmcgYSBjaGFydCB3aXRoIGEgc3Bpbm5lci4gQSB0b3kgZXhhbXBsZSBjYW5ub3QKICAgICAgICByZXByb2R1Y2UgdGhpcyBidWcuIC0tPgogICAgICA8aXJvbi1jb2xsYXBzZSBvcGVuZWQ9Iltbb3BlbmVkXV0iIG5vLWFuaW1hdGlvbj0iIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICAgIDxzcGFuIGlkPSJ0b3Atb2YtY29udGFpbmVyIj48L3NwYW4+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX211bHRpcGxlUGFnZXNFeGlzdF1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmlnLXBhZ2UtYnV0dG9ucyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDEwcHg7Ij4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgICBvbi10YXA9Il9wZXJmb3JtUHJldmlvdXNQYWdlIgogICAgICAgICAgICAgICAgZGlzYWJsZWQkPSJbWyFfaGFzUHJldmlvdXNQYWdlXV0iCiAgICAgICAgICAgICAgICA+UHJldmlvdXMgcGFnZTwvcGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24KICAgICAgICAgICAgICAgIG9uLXRhcD0iX3BlcmZvcm1OZXh0UGFnZSIKICAgICAgICAgICAgICAgIGRpc2FibGVkJD0iW1shX2hhc05leHRQYWdlXV0iCiAgICAgICAgICAgICAgICA+TmV4dCBwYWdlPC9wYXBlci1idXR0b24KICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgICAgICA8ZGl2IGlkPSJpdGVtcyI+CiAgICAgICAgICAgIDxzbG90IG5hbWU9Iml0ZW1zIj48L3Nsb3Q+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfbXVsdGlwbGVQYWdlc0V4aXN0XV0iPgogICAgICAgICAgICA8ZGl2IGlkPSJjb250cm9scy1jb250YWluZXIiPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZzogMCA1cHgiPgogICAgICAgICAgICAgICAgUGFnZQogICAgICAgICAgICAgICAgPHBhcGVyLWlucHV0CiAgICAgICAgICAgICAgICAgIGlkPSJwYWdlLWlucHV0IgogICAgICAgICAgICAgICAgICB0eXBlPSJudW1iZXIiCiAgICAgICAgICAgICAgICAgIG5vLWxhYmVsLWZsb2F0PSIiCiAgICAgICAgICAgICAgICAgIG1pbj0iMSIKICAgICAgICAgICAgICAgICAgbWF4PSJbW19wYWdlQ291bnRdXSIKICAgICAgICAgICAgICAgICAgdmFsdWU9IltbX3BhZ2VJbnB1dFZhbHVlXV0iCiAgICAgICAgICAgICAgICAgIG9uLWlucHV0PSJfaGFuZGxlUGFnZUlucHV0RXZlbnQiCiAgICAgICAgICAgICAgICAgIG9uLWNoYW5nZT0iX2hhbmRsZVBhZ2VDaGFuZ2VFdmVudCIKICAgICAgICAgICAgICAgICAgb24tZm9jdXM9Il9oYW5kbGVQYWdlRm9jdXNFdmVudCIKICAgICAgICAgICAgICAgICAgb24tYmx1cj0iX2hhbmRsZVBhZ2VCbHVyRXZlbnQiCiAgICAgICAgICAgICAgICA+PC9wYXBlci1pbnB1dD4KICAgICAgICAgICAgICAgIG9mIFtbX3BhZ2VDb3VudF1dCiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmlnLXBhZ2UtYnV0dG9ucyIgc3R5bGU9Im1hcmdpbi10b3A6IDEwcHg7Ij4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgICBvbi10YXA9Il9wZXJmb3JtUHJldmlvdXNQYWdlIgogICAgICAgICAgICAgICAgZGlzYWJsZWQkPSJbWyFfaGFzUHJldmlvdXNQYWdlXV0iCiAgICAgICAgICAgICAgICA+UHJldmlvdXMgcGFnZTwvcGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24KICAgICAgICAgICAgICAgIG9uLXRhcD0iX3BlcmZvcm1OZXh0UGFnZSIKICAgICAgICAgICAgICAgIGRpc2FibGVkJD0iW1shX2hhc05leHRQYWdlXV0iCiAgICAgICAgICAgICAgICA+TmV4dCBwYWdlPC9wYXBlci1idXR0b24KICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9pcm9uLWNvbGxhcHNlPgogICAgPC90ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbjogMCA1cHggMXB4IDEwcHg7CiAgICAgIH0KCiAgICAgIDpob3N0KDpmaXJzdC1vZi10eXBlKSB7CiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgfQoKICAgICAgOmhvc3QoOmxhc3Qtb2YtdHlwZSkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJhY2tncm91bmQtY29sb3IpOwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCB2YXIoLS10Yi1yYWlzZWQtYnV0dG9uLXNoYWRvdy1jb2xvcik7CiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nOjotbW96LWZvY3VzLWlubmVyIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7CiAgICAgIH0KCiAgICAgIFtvcGVuLWJ1dHRvbl0gewogICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDsKICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICBbb3Blbi1idXR0b25dIC5leHBhbmQtYXJyb3cgewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpOwogICAgICB9CgogICAgICAubmFtZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmxpZ2h0IHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS01MDApOwogICAgICB9CgogICAgICAuY2F0ZWdvcnktbmFtZSB7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHBhZGRpbmc6IDJweCAwOwogICAgICB9CgogICAgICAuY291bnQgewogICAgICAgIG1hcmdpbjogMCA1cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1ncmV5LTUwMCk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGZsZXg6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nOjotbW96LWZvY3VzLWlubmVyIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7CiAgICAgIH0KCiAgICAgIC5jb250ZW50IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yKTsKICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDsKICAgICAgICBib3JkZXItdG9wOiBub25lOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWRlZGU7CiAgICAgICAgcGFkZGluZzogMTVweDsKICAgICAgfQoKICAgICAgLmxpZ2h0IHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS01MDApOwogICAgICB9CgogICAgICAjY29udHJvbHMtY29udGFpbmVyIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAjY29udHJvbHMtY29udGFpbmVyIHBhcGVyLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAuYmlnLXBhZ2UtYnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQoKICAgICAgLmJpZy1wYWdlLWJ1dHRvbnMgcGFwZXItYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10Yi11aS1saWdodC1hY2NlbnQpOwogICAgICAgIGNvbG9yOiB2YXIoLS10Yi11aS1kYXJrLWFjY2VudCk7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGZsZXgtYmFzaXM6IDA7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmJpZy1wYWdlLWJ1dHRvbnMgcGFwZXItYnV0dG9uW2Rpc2FibGVkXSB7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgfQoKICAgICAgc2xvdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgfQoKICAgICAgOjpzbG90dGVkKFtzbG90PSdpdGVtcyddKSB7CiAgICAgICAgLyogVG9vbHRpcCBmb3IgZGVzY3JpcHRpb25zIGFuZCBvdGhlcnMgYnJlYWsgd2l0aCBtb3JlIHN0cmljdCBvbmVzLiAqLwogICAgICAgIGNvbnRhaW46IHN0eWxlOwogICAgICB9CgogICAgICAjcGFnZS1pbnB1dCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiB2YXIoLS10Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldy1wYWdlLWlucHV0LXdpZHRoLCAxMDAlKTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLENsLnByb3RvdHlwZSwiY2F0ZWdvcnkiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDbC5wcm90b3R5cGUsImluaXRpYWxPcGVuZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFuLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sQ2wucHJvdG90eXBlLCJvcGVuZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDbC5wcm90b3R5cGUsImRpc2FibGVQYWdpbmF0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfY29tcHV0ZUNvdW50KGNhdGVnb3J5Lml0ZW1zLiopIn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxDbC5wcm90b3R5cGUsIl9jb3VudCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlUGFuZVJlbmRlcmVkKGNhdGVnb3J5KSIsb2JzZXJ2ZXI6Il9vblBhbmVSZW5kZXJlZENoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDbC5wcm90b3R5cGUsIl9wYW5lUmVuZGVyZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUlzU2VhcmNoUmVzdWx0cyhjYXRlZ29yeS5tZXRhZGF0YS50eXBlKSJ9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLENsLnByb3RvdHlwZSwiX2lzU2VhcmNoUmVzdWx0cyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSXNJbnZhbGlkU2VhcmNoUmVzdWx0cyhjYXRlZ29yeS5tZXRhZGF0YSkifSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDbC5wcm90b3R5cGUsIl9pc0ludmFsaWRTZWFyY2hSZXN1bHRzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVJc1VuaXZlcnNhbFNlYXJjaFF1ZXJ5KGNhdGVnb3J5Lm1ldGFkYXRhKSJ9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLENsLnByb3RvdHlwZSwiX2lzVW5pdmVyc2FsU2VhcmNoUXVlcnkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il9nZXRDYXRlZ29yeUl0ZW1LZXlDaGFuZ2VkIn0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxDbC5wcm90b3R5cGUsImdldENhdGVnb3J5SXRlbUtleSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcixvYnNlcnZlcjoiX2xpbWl0Q2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sQ2wucHJvdG90eXBlLCJfbGltaXQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sQ2wucHJvdG90eXBlLCJfYWN0aXZlSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXIsY29tcHV0ZWQ6Il9jb21wdXRlUGFnZUNvdW50KGNhdGVnb3J5Lml0ZW1zLiosIF9saW1pdCkifSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLENsLnByb3RvdHlwZSwiX3BhZ2VDb3VudCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVJbnB1dFdpZHRoKF9wYWdlQ291bnQpIixvYnNlcnZlcjoiX3VwZGF0ZUlucHV0V2lkdGgifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLENsLnByb3RvdHlwZSwiX2lucHV0V2lkdGgiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9jb21wdXRlUGFnZUlucHV0VmFsdWUoX3BhZ2VJbnB1dEZvY3VzZWQsIF9wYWdlSW5wdXRSYXdWYWx1ZSwgX2N1cnJlbnRQYWdlKSIsb2JzZXJ2ZXI6Il91cGRhdGVQYWdlSW5wdXRWYWx1ZSJ9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQ2wucHJvdG90eXBlLCJfcGFnZUlucHV0VmFsdWUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQ2wucHJvdG90eXBlLCJfcGFnZUlucHV0UmF3VmFsdWUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDbC5wcm90b3R5cGUsIl9wYWdlSW5wdXRGb2N1c2VkIix2b2lkIDApLHQoW3MoIl9jb3VudCIpLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxDbC5wcm90b3R5cGUsIl9oYXNNdWx0aXBsZSIsbnVsbCksdChbYSgib3BlbmVkIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW0Jvb2xlYW5dKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sQ2wucHJvdG90eXBlLCJfY2hhbmdlQ29udGVudEFjdGl2ZSIsbnVsbCksdChbcygib3BlbmVkIiwiX3BhbmVSZW5kZXJlZCIpLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxDbC5wcm90b3R5cGUsIl9pdGVtc1JlbmRlcmVkIixudWxsKSx0KFthKCJfaXRlbXNSZW5kZXJlZCIsImNhdGVnb3J5Lml0ZW1zLioiLCJfbGltaXQiLCJfYWN0aXZlSW5kZXgiLCJfcGFnZUNvdW50IiwiZGlzYWJsZVBhZ2luYXRpb24iKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLENsLnByb3RvdHlwZSwiX3VwZGF0ZVJlbmRlcmVkSXRlbXMiLG51bGwpLHQoW3MoIl9saW1pdCIsIl9hY3RpdmVJbmRleCIpLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLENsLnByb3RvdHlwZSwiX2N1cnJlbnRQYWdlIixudWxsKSx0KFtzKCJfcGFnZUNvdW50IiwiZGlzYWJsZVBhZ2luYXRpb24iKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sQ2wucHJvdG90eXBlLCJfbXVsdGlwbGVQYWdlc0V4aXN0IixudWxsKSx0KFtzKCJfY3VycmVudFBhZ2UiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sQ2wucHJvdG90eXBlLCJfaGFzUHJldmlvdXNQYWdlIixudWxsKSx0KFtzKCJfY3VycmVudFBhZ2UiLCJfcGFnZUNvdW50IiksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLENsLnByb3RvdHlwZSwiX2hhc05leHRQYWdlIixudWxsKSx0KFthKCJjYXRlZ29yeS5pdGVtcy4qIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxDbC5wcm90b3R5cGUsIl9jbGFtcEFjdGl2ZUluZGV4IixudWxsKSxDbD10KFtpKCJ0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldyIpXSxDbCk7Y2xhc3MgQWx7Y29uc3RydWN0b3IodCl7dGhpcy5saXN0ZW5lcj10fX1jbGFzcyBrbHtjb25zdHJ1Y3Rvcigpe3RoaXMucmVxdWVzdE1hbmFnZXI9bmV3IGJyKDEpLHRoaXMuX2xpc3RlbmVycz1uZXcgU2V0LHRoaXMuaW5pdGlhbGl6ZWQ9ITF9cmVmcmVzaCgpe3JldHVybiB0aGlzLmxvYWQoKS50aGVuKCgoKT0+e3RoaXMuaW5pdGlhbGl6ZWQ9ITB9KSl9YWRkTGlzdGVuZXIodCl7Y29uc3QgZT1uZXcgQWwodCk7cmV0dXJuIHRoaXMuX2xpc3RlbmVycy5hZGQoZSksZX1yZW1vdmVMaXN0ZW5lckJ5S2V5KHQpe3RoaXMuX2xpc3RlbmVycy5kZWxldGUodCl9ZW1pdENoYW5nZSgpe3RoaXMuX2xpc3RlbmVycy5mb3JFYWNoKCh0PT57dHJ5e3QubGlzdGVuZXIoKX1jYXRjaCh0KXt9fSkpfX1jbGFzcyBMbCBleHRlbmRzIGtse2xvYWQoKXtjb25zdCB0PUVyKCkuZW52aXJvbm1lbnQoKTtyZXR1cm4gdGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KHQpLnRoZW4oKHQ9Pntjb25zdCBlPXtkYXRhTG9jYXRpb246dC5kYXRhX2xvY2F0aW9uLHdpbmRvd1RpdGxlOnQud2luZG93X3RpdGxlfTt2b2lkIDAhPT10LmV4cGVyaW1lbnRfbmFtZSYmKGUuZXhwZXJpbWVudE5hbWU9dC5leHBlcmltZW50X25hbWUpLHZvaWQgMCE9PXQuZXhwZXJpbWVudF9kZXNjcmlwdGlvbiYmKGUuZXhwZXJpbWVudERlc2NyaXB0aW9uPXQuZXhwZXJpbWVudF9kZXNjcmlwdGlvbiksdm9pZCAwIT09dC5jcmVhdGlvbl90aW1lJiYoZS5jcmVhdGlvblRpbWU9dC5jcmVhdGlvbl90aW1lKSxDZS5leHBvcnRzLmlzRXF1YWwodGhpcy5lbnZpcm9ubWVudCxlKXx8KHRoaXMuZW52aXJvbm1lbnQ9ZSx0aGlzLmVtaXRDaGFuZ2UoKSl9KSl9Z2V0RGF0YUxvY2F0aW9uKCl7cmV0dXJuIHRoaXMuZW52aXJvbm1lbnQ/dGhpcy5lbnZpcm9ubWVudC5kYXRhTG9jYXRpb246IiJ9Z2V0V2luZG93VGl0bGUoKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD90aGlzLmVudmlyb25tZW50LndpbmRvd1RpdGxlOiIifWdldEV4cGVyaW1lbnROYW1lKCl7cmV0dXJuIHRoaXMuZW52aXJvbm1lbnQ/dGhpcy5lbnZpcm9ubWVudC5leHBlcmltZW50TmFtZToiIn1nZXRFeHBlcmltZW50RGVzY3JpcHRpb24oKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD90aGlzLmVudmlyb25tZW50LmV4cGVyaW1lbnREZXNjcmlwdGlvbjoiIn1nZXRDcmVhdGlvblRpbWUoKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD90aGlzLmVudmlyb25tZW50LmNyZWF0aW9uVGltZTpudWxsfX1jb25zdCBQbD1uZXcgTGw7Y2xhc3MgTmwgZXh0ZW5kcyBrbHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fcnVucz1bXX1sb2FkKCl7Y29uc3QgdD1FcigpLnJ1bnMoKTtyZXR1cm4gdGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KHQpLnRoZW4oKHQ9PntDZS5leHBvcnRzLmlzRXF1YWwodGhpcy5fcnVucyx0KXx8KHRoaXMuX3J1bnM9dCx0aGlzLmVtaXRDaGFuZ2UoKSl9KSl9Z2V0UnVucygpe3JldHVybiB0aGlzLl9ydW5zLnNsaWNlKCl9fWNvbnN0IElsPW5ldyBObDtmdW5jdGlvbiBSbCh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBPbCh0KXtyZXR1cm4gMT09PXQubGVuZ3RoJiYodD0oZnVuY3Rpb24gZSh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gUmwodChlKSxuKX19KSh0KSkse2xlZnQ6ZnVuY3Rpb24oZSxuLGkscil7Zm9yKG51bGw9PWkmJihpPTApLG51bGw9PXImJihyPWUubGVuZ3RoKTtpPHI7KXt2YXIgbz1pK3I+Pj4xO3QoZVtvXSxuKTwwP2k9bysxOnI9b31yZXR1cm4gaX0scmlnaHQ6ZnVuY3Rpb24oZSxuLGkscil7Zm9yKG51bGw9PWkmJihpPTApLG51bGw9PXImJihyPWUubGVuZ3RoKTtpPHI7KXt2YXIgbz1pK3I+Pj4xO3QoZVtvXSxuKT4wP3I9bzppPW8rMX1yZXR1cm4gaX19fXZhciB6bD1PbChSbCksRGw9emwucmlnaHQsQmw9emwubGVmdDtmdW5jdGlvbiBIbCh0LGUpe3JldHVyblt0LGVdfWZ1bmN0aW9uIEZsKHQsZSxuKXt2YXIgaSxyLG8sYSxzPXQubGVuZ3RoLGw9ZS5sZW5ndGgsYz1uZXcgQXJyYXkocypsKTtmb3IobnVsbD09biYmKG49SGwpLGk9bz0wO2k8czsrK2kpZm9yKGE9dFtpXSxyPTA7cjxsOysrciwrK28pY1tvXT1uKGEsZVtyXSk7cmV0dXJuIGN9ZnVuY3Rpb24gVmwodCl7cmV0dXJuIG51bGw9PT10P05hTjordH1mdW5jdGlvbiBVbCh0LGUpe3ZhciBuLGkscj10Lmxlbmd0aCxvPTAsYT0tMSxzPTAsbD0wO2lmKG51bGw9PWUpZm9yKDsrK2E8cjspaXNOYU4obj1WbCh0W2FdKSl8fChsKz0oaT1uLXMpKihuLShzKz1pLysrbykpKTtlbHNlIGZvcig7KythPHI7KWlzTmFOKG49VmwoZSh0W2FdLGEsdCkpKXx8KGwrPShpPW4tcykqKG4tKHMrPWkvKytvKSkpO2lmKG8+MSlyZXR1cm4gbC8oby0xKX1mdW5jdGlvbiBqbCh0LGUpe3ZhciBuPVVsKHQsZSk7cmV0dXJuIG4/TWF0aC5zcXJ0KG4pOm59ZnVuY3Rpb24gR2wodCxlKXt2YXIgbixpLHIsbz10Lmxlbmd0aCxhPS0xO2lmKG51bGw9PWUpe2Zvcig7KythPG87KWlmKG51bGwhPShuPXRbYV0pJiZuPj1uKWZvcihpPXI9bjsrK2E8bzspbnVsbCE9KG49dFthXSkmJihpPm4mJihpPW4pLHI8biYmKHI9bikpfWVsc2UgZm9yKDsrK2E8bzspaWYobnVsbCE9KG49ZSh0W2FdLGEsdCkpJiZuPj1uKWZvcihpPXI9bjsrK2E8bzspbnVsbCE9KG49ZSh0W2FdLGEsdCkpJiYoaT5uJiYoaT1uKSxyPG4mJihyPW4pKTtyZXR1cm5baSxyXX12YXIgV2w9QXJyYXkucHJvdG90eXBlLHFsPVdsLnNsaWNlLFlsPVdsLm1hcDtmdW5jdGlvbiBYbCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gJGwodCl7cmV0dXJuIHR9ZnVuY3Rpb24gS2wodCxlLG4pe3Q9K3QsZT0rZSxuPShyPWFyZ3VtZW50cy5sZW5ndGgpPDI/KGU9dCx0PTAsMSk6cjwzPzE6K247Zm9yKHZhciBpPS0xLHI9MHxNYXRoLm1heCgwLE1hdGguY2VpbCgoZS10KS9uKSksbz1uZXcgQXJyYXkocik7KytpPHI7KW9baV09dCtpKm47cmV0dXJuIG99dmFyIFpsPU1hdGguc3FydCg1MCksSmw9TWF0aC5zcXJ0KDEwKSxRbD1NYXRoLnNxcnQoMik7ZnVuY3Rpb24gdGModCxlLG4pe3ZhciBpLHIsbyxhLHM9LTE7aWYobj0rbiwodD0rdCk9PT0oZT0rZSkmJm4+MClyZXR1cm5bdF07aWYoKGk9ZTx0KSYmKHI9dCx0PWUsZT1yKSwwPT09KGE9ZWModCxlLG4pKXx8IWlzRmluaXRlKGEpKXJldHVybltdO2lmKGE+MClmb3IodD1NYXRoLmNlaWwodC9hKSxlPU1hdGguZmxvb3IoZS9hKSxvPW5ldyBBcnJheShyPU1hdGguY2VpbChlLXQrMSkpOysrczxyOylvW3NdPSh0K3MpKmE7ZWxzZSBmb3IodD1NYXRoLmZsb29yKHQqYSksZT1NYXRoLmNlaWwoZSphKSxvPW5ldyBBcnJheShyPU1hdGguY2VpbCh0LWUrMSkpOysrczxyOylvW3NdPSh0LXMpL2E7cmV0dXJuIGkmJm8ucmV2ZXJzZSgpLG99ZnVuY3Rpb24gZWModCxlLG4pe3ZhciBpPShlLXQpL01hdGgubWF4KDAsbikscj1NYXRoLmZsb29yKE1hdGgubG9nKGkpL01hdGguTE4xMCksbz1pL01hdGgucG93KDEwLHIpO3JldHVybiByPj0wPyhvPj1abD8xMDpvPj1KbD81Om8+PVFsPzI6MSkqTWF0aC5wb3coMTAscik6LU1hdGgucG93KDEwLC1yKS8obz49Wmw/MTA6bz49Smw/NTpvPj1RbD8yOjEpfWZ1bmN0aW9uIG5jKHQsZSxuKXt2YXIgaT1NYXRoLmFicyhlLXQpL01hdGgubWF4KDAsbikscj1NYXRoLnBvdygxMCxNYXRoLmZsb29yKE1hdGgubG9nKGkpL01hdGguTE4xMCkpLG89aS9yO3JldHVybiBvPj1abD9yKj0xMDpvPj1KbD9yKj01Om8+PVFsJiYocio9MiksZTx0Py1yOnJ9ZnVuY3Rpb24gaWModCl7cmV0dXJuIE1hdGguY2VpbChNYXRoLmxvZyh0Lmxlbmd0aCkvTWF0aC5MTjIpKzF9ZnVuY3Rpb24gcmModCxlLG4pe2lmKG51bGw9PW4mJihuPVZsKSxpPXQubGVuZ3RoKXtpZigoZT0rZSk8PTB8fGk8MilyZXR1cm4rbih0WzBdLDAsdCk7aWYoZT49MSlyZXR1cm4rbih0W2ktMV0saS0xLHQpO3ZhciBpLHI9KGktMSkqZSxvPU1hdGguZmxvb3IociksYT0rbih0W29dLG8sdCk7cmV0dXJuIGErKCtuKHRbbysxXSxvKzEsdCktYSkqKHItbyl9fWZ1bmN0aW9uIG9jKHQsZSl7dmFyIG4saSxyPXQubGVuZ3RoLG89LTE7aWYobnVsbD09ZSl7Zm9yKDsrK288cjspaWYobnVsbCE9KG49dFtvXSkmJm4+PW4pZm9yKGk9bjsrK288cjspbnVsbCE9KG49dFtvXSkmJm4+aSYmKGk9bil9ZWxzZSBmb3IoOysrbzxyOylpZihudWxsIT0obj1lKHRbb10sbyx0KSkmJm4+PW4pZm9yKGk9bjsrK288cjspbnVsbCE9KG49ZSh0W29dLG8sdCkpJiZuPmkmJihpPW4pO3JldHVybiBpfWZ1bmN0aW9uIGFjKHQpe2Zvcih2YXIgZSxuLGkscj10Lmxlbmd0aCxvPS0xLGE9MDsrK288cjspYSs9dFtvXS5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KGEpOy0tcj49MDspZm9yKGU9KGk9dFtyXSkubGVuZ3RoOy0tZT49MDspblstLWFdPWlbZV07cmV0dXJuIG59ZnVuY3Rpb24gc2ModCxlKXt2YXIgbixpLHI9dC5sZW5ndGgsbz0tMTtpZihudWxsPT1lKXtmb3IoOysrbzxyOylpZihudWxsIT0obj10W29dKSYmbj49bilmb3IoaT1uOysrbzxyOyludWxsIT0obj10W29dKSYmaT5uJiYoaT1uKX1lbHNlIGZvcig7KytvPHI7KWlmKG51bGwhPShuPWUodFtvXSxvLHQpKSYmbj49bilmb3IoaT1uOysrbzxyOyludWxsIT0obj1lKHRbb10sbyx0KSkmJmk+biYmKGk9bik7cmV0dXJuIGl9ZnVuY3Rpb24gbGModCl7aWYoIShyPXQubGVuZ3RoKSlyZXR1cm5bXTtmb3IodmFyIGU9LTEsbj1zYyh0LGNjKSxpPW5ldyBBcnJheShuKTsrK2U8bjspZm9yKHZhciByLG89LTEsYT1pW2VdPW5ldyBBcnJheShyKTsrK288cjspYVtvXT10W29dW2VdO3JldHVybiBpfWZ1bmN0aW9uIGNjKHQpe3JldHVybiB0Lmxlbmd0aH12YXIgdWM9QXJyYXkucHJvdG90eXBlLnNsaWNlO2Z1bmN0aW9uIGhjKHQpe3JldHVybiB0fXZhciBkYz0xZS02O2Z1bmN0aW9uIHBjKHQpe3JldHVybiJ0cmFuc2xhdGUoIisodCsuNSkrIiwwKSJ9ZnVuY3Rpb24gZmModCl7cmV0dXJuInRyYW5zbGF0ZSgwLCIrKHQrLjUpKyIpIn1mdW5jdGlvbiBtYyh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuK3QoZSl9fWZ1bmN0aW9uIGdjKHQpe3ZhciBlPU1hdGgubWF4KDAsdC5iYW5kd2lkdGgoKS0xKS8yO3JldHVybiB0LnJvdW5kKCkmJihlPU1hdGgucm91bmQoZSkpLGZ1bmN0aW9uKG4pe3JldHVybit0KG4pK2V9fWZ1bmN0aW9uIF9jKCl7cmV0dXJuIXRoaXMuX19heGlzfWZ1bmN0aW9uIHljKHQsZSl7dmFyIG49W10saT1udWxsLHI9bnVsbCxvPTYsYT02LHM9MyxsPTE9PT10fHw0PT09dD8tMToxLGM9ND09PXR8fDI9PT10PyJ4IjoieSIsdT0xPT09dHx8Mz09PXQ/cGM6ZmM7ZnVuY3Rpb24gaChoKXt2YXIgZD1udWxsPT1pP2UudGlja3M/ZS50aWNrcy5hcHBseShlLG4pOmUuZG9tYWluKCk6aSxwPW51bGw9PXI/ZS50aWNrRm9ybWF0P2UudGlja0Zvcm1hdC5hcHBseShlLG4pOmhjOnIsZj1NYXRoLm1heChvLDApK3MsbT1lLnJhbmdlKCksZz0rbVswXSsuNSxfPSttW20ubGVuZ3RoLTFdKy41LHk9KGUuYmFuZHdpZHRoP2djOm1jKShlLmNvcHkoKSksdj1oLnNlbGVjdGlvbj9oLnNlbGVjdGlvbigpOmgsYj12LnNlbGVjdEFsbCgiLmRvbWFpbiIpLmRhdGEoW251bGxdKSx4PXYuc2VsZWN0QWxsKCIudGljayIpLmRhdGEoZCxlKS5vcmRlcigpLHc9eC5leGl0KCksUz14LmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJ0aWNrIiksTT14LnNlbGVjdCgibGluZSIpLEU9eC5zZWxlY3QoInRleHQiKTtiPWIubWVyZ2UoYi5lbnRlcigpLmluc2VydCgicGF0aCIsIi50aWNrIikuYXR0cigiY2xhc3MiLCJkb21haW4iKS5hdHRyKCJzdHJva2UiLCJjdXJyZW50Q29sb3IiKSkseD14Lm1lcmdlKFMpLE09TS5tZXJnZShTLmFwcGVuZCgibGluZSIpLmF0dHIoInN0cm9rZSIsImN1cnJlbnRDb2xvciIpLmF0dHIoYysiMiIsbCpvKSksRT1FLm1lcmdlKFMuYXBwZW5kKCJ0ZXh0IikuYXR0cigiZmlsbCIsImN1cnJlbnRDb2xvciIpLmF0dHIoYyxsKmYpLmF0dHIoImR5IiwxPT09dD8iMGVtIjozPT09dD8iMC43MWVtIjoiMC4zMmVtIikpLGghPT12JiYoYj1iLnRyYW5zaXRpb24oaCkseD14LnRyYW5zaXRpb24oaCksTT1NLnRyYW5zaXRpb24oaCksRT1FLnRyYW5zaXRpb24oaCksdz13LnRyYW5zaXRpb24oaCkuYXR0cigib3BhY2l0eSIsZGMpLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQpe3JldHVybiBpc0Zpbml0ZSh0PXkodCkpP3UodCk6dGhpcy5nZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIpfSkpLFMuYXR0cigib3BhY2l0eSIsZGMpLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMucGFyZW50Tm9kZS5fX2F4aXM7cmV0dXJuIHUoZSYmaXNGaW5pdGUoZT1lKHQpKT9lOnkodCkpfSkpKSx3LnJlbW92ZSgpLGIuYXR0cigiZCIsND09PXR8fDI9PXQ/YT8iTSIrbCphKyIsIitnKyJIMC41ViIrXysiSCIrbCphOiJNMC41LCIrZysiViIrXzphPyJNIitnKyIsIitsKmErIlYwLjVIIitfKyJWIitsKmE6Ik0iK2crIiwwLjVIIitfKSx4LmF0dHIoIm9wYWNpdHkiLDEpLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQpe3JldHVybiB1KHkodCkpfSkpLE0uYXR0cihjKyIyIixsKm8pLEUuYXR0cihjLGwqZikudGV4dChwKSx2LmZpbHRlcihfYykuYXR0cigiZmlsbCIsIm5vbmUiKS5hdHRyKCJmb250LXNpemUiLDEwKS5hdHRyKCJmb250LWZhbWlseSIsInNhbnMtc2VyaWYiKS5hdHRyKCJ0ZXh0LWFuY2hvciIsMj09PXQ/InN0YXJ0Ijo0PT09dD8iZW5kIjoibWlkZGxlIiksdi5lYWNoKChmdW5jdGlvbigpe3RoaXMuX19heGlzPXl9KSl9cmV0dXJuIGguc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxoKTplfSxoLnRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIG49dWMuY2FsbChhcmd1bWVudHMpLGh9LGgudGlja0FyZ3VtZW50cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1udWxsPT10P1tdOnVjLmNhbGwodCksaCk6bi5zbGljZSgpfSxoLnRpY2tWYWx1ZXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9bnVsbD09dD9udWxsOnVjLmNhbGwodCksaCk6aSYmaS5zbGljZSgpfSxoLnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxoKTpyfSxoLnRpY2tTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPWE9K3QsaCk6b30saC50aWNrU2l6ZUlubmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSt0LGgpOm99LGgudGlja1NpemVPdXRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0rdCxoKTphfSxoLnRpY2tQYWRkaW5nPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSt0LGgpOnN9LGh9ZnVuY3Rpb24gdmModCl7cmV0dXJuIHljKDMsdCl9ZnVuY3Rpb24gYmModCl7cmV0dXJuIHljKDQsdCl9dmFyIHhjPXt2YWx1ZTpmdW5jdGlvbigpe319O2Z1bmN0aW9uIHdjKCl7Zm9yKHZhciB0LGU9MCxuPWFyZ3VtZW50cy5sZW5ndGgsaT17fTtlPG47KytlKXtpZighKHQ9YXJndW1lbnRzW2VdKyIiKXx8dCBpbiBpfHwvW1xzLl0vLnRlc3QodCkpdGhyb3cgbmV3IEVycm9yKCJpbGxlZ2FsIHR5cGU6ICIrdCk7aVt0XT1bXX1yZXR1cm4gbmV3IFNjKGkpfWZ1bmN0aW9uIFNjKHQpe3RoaXMuXz10fWZ1bmN0aW9uIE1jKHQsZSl7cmV0dXJuIHQudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcCgoZnVuY3Rpb24odCl7dmFyIG49IiIsaT10LmluZGV4T2YoIi4iKTtpZihpPj0wJiYobj10LnNsaWNlKGkrMSksdD10LnNsaWNlKDAsaSkpLHQmJiFlLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO3JldHVybnt0eXBlOnQsbmFtZTpufX0pKX1mdW5jdGlvbiBFYyh0LGUpe2Zvcih2YXIgbixpPTAscj10Lmxlbmd0aDtpPHI7KytpKWlmKChuPXRbaV0pLm5hbWU9PT1lKXJldHVybiBuLnZhbHVlfWZ1bmN0aW9uIFRjKHQsZSxuKXtmb3IodmFyIGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYodFtpXS5uYW1lPT09ZSl7dFtpXT14Yyx0PXQuc2xpY2UoMCxpKS5jb25jYXQodC5zbGljZShpKzEpKTticmVha31yZXR1cm4gbnVsbCE9biYmdC5wdXNoKHtuYW1lOmUsdmFsdWU6bn0pLHR9U2MucHJvdG90eXBlPXdjLnByb3RvdHlwZT17Y29uc3RydWN0b3I6U2Msb246ZnVuY3Rpb24odCxlKXt2YXIgbixpPXRoaXMuXyxyPU1jKHQrIiIsaSksbz0tMSxhPXIubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7aWYobnVsbCE9ZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrOiAiK2UpO2Zvcig7KytvPGE7KWlmKG49KHQ9cltvXSkudHlwZSlpW25dPVRjKGlbbl0sdC5uYW1lLGUpO2Vsc2UgaWYobnVsbD09ZSlmb3IobiBpbiBpKWlbbl09VGMoaVtuXSx0Lm5hbWUsbnVsbCk7cmV0dXJuIHRoaXN9Zm9yKDsrK288YTspaWYoKG49KHQ9cltvXSkudHlwZSkmJihuPUVjKGlbbl0sdC5uYW1lKSkpcmV0dXJuIG59LGNvcHk6ZnVuY3Rpb24oKXt2YXIgdD17fSxlPXRoaXMuXztmb3IodmFyIG4gaW4gZSl0W25dPWVbbl0uc2xpY2UoKTtyZXR1cm4gbmV3IFNjKHQpfSxjYWxsOmZ1bmN0aW9uKHQsZSl7aWYoKG49YXJndW1lbnRzLmxlbmd0aC0yKT4wKWZvcih2YXIgbixpLHI9bmV3IEFycmF5KG4pLG89MDtvPG47KytvKXJbb109YXJndW1lbnRzW28rMl07aWYoIXRoaXMuXy5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtmb3Iobz0wLG49KGk9dGhpcy5fW3RdKS5sZW5ndGg7bzxuOysrbylpW29dLnZhbHVlLmFwcGx5KGUscil9LGFwcGx5OmZ1bmN0aW9uKHQsZSxuKXtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2Zvcih2YXIgaT10aGlzLl9bdF0scj0wLG89aS5sZW5ndGg7cjxvOysrcilpW3JdLnZhbHVlLmFwcGx5KGUsbil9fTt2YXIgQ2M9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLEFjPXtzdmc6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix4aHRtbDpDYyx4bGluazoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIseG1sOiJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLyJ9O2Z1bmN0aW9uIGtjKHQpe3ZhciBlPXQrPSIiLG49ZS5pbmRleE9mKCI6Iik7cmV0dXJuIG4+PTAmJiJ4bWxucyIhPT0oZT10LnNsaWNlKDAsbikpJiYodD10LnNsaWNlKG4rMSkpLEFjLmhhc093blByb3BlcnR5KGUpP3tzcGFjZTpBY1tlXSxsb2NhbDp0fTp0fWZ1bmN0aW9uIExjKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXRoaXMub3duZXJEb2N1bWVudCxuPXRoaXMubmFtZXNwYWNlVVJJO3JldHVybiBuPT09Q2MmJmUuZG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVSST09PUNjP2UuY3JlYXRlRWxlbWVudCh0KTplLmNyZWF0ZUVsZW1lbnROUyhuLHQpfX1mdW5jdGlvbiBQYyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh0LnNwYWNlLHQubG9jYWwpfX1mdW5jdGlvbiBOYyh0KXt2YXIgZT1rYyh0KTtyZXR1cm4oZS5sb2NhbD9QYzpMYykoZSl9ZnVuY3Rpb24gSWMoKXt9ZnVuY3Rpb24gUmModCl7cmV0dXJuIG51bGw9PXQ/SWM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yKHQpfX1mdW5jdGlvbiBPYygpe3JldHVybltdfWZ1bmN0aW9uIHpjKHQpe3JldHVybiBudWxsPT10P09jOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvckFsbCh0KX19ZnVuY3Rpb24gRGModCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWF0Y2hlcyh0KX19ZnVuY3Rpb24gQmModCl7cmV0dXJuIG5ldyBBcnJheSh0Lmxlbmd0aCl9ZnVuY3Rpb24gSGModCxlKXt0aGlzLm93bmVyRG9jdW1lbnQ9dC5vd25lckRvY3VtZW50LHRoaXMubmFtZXNwYWNlVVJJPXQubmFtZXNwYWNlVVJJLHRoaXMuX25leHQ9bnVsbCx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9fZGF0YV9fPWV9SGMucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpIYyxhcHBlbmRDaGlsZDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGFyZW50Lmluc2VydEJlZm9yZSh0LHRoaXMuX25leHQpfSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fcGFyZW50Lmluc2VydEJlZm9yZSh0LGUpfSxxdWVyeVNlbGVjdG9yOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3Rvcih0KX0scXVlcnlTZWxlY3RvckFsbDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3JBbGwodCl9fTtmdW5jdGlvbiBGYyh0LGUsbixpLHIsbyl7Zm9yKHZhciBhLHM9MCxsPWUubGVuZ3RoLGM9by5sZW5ndGg7czxjOysrcykoYT1lW3NdKT8oYS5fX2RhdGFfXz1vW3NdLGlbc109YSk6bltzXT1uZXcgSGModCxvW3NdKTtmb3IoO3M8bDsrK3MpKGE9ZVtzXSkmJihyW3NdPWEpfWZ1bmN0aW9uIFZjKHQsZSxuLGkscixvLGEpe3ZhciBzLGwsYyx1PXt9LGg9ZS5sZW5ndGgsZD1vLmxlbmd0aCxwPW5ldyBBcnJheShoKTtmb3Iocz0wO3M8aDsrK3MpKGw9ZVtzXSkmJihwW3NdPWM9IiQiK2EuY2FsbChsLGwuX19kYXRhX18scyxlKSxjIGluIHU/cltzXT1sOnVbY109bCk7Zm9yKHM9MDtzPGQ7KytzKShsPXVbYz0iJCIrYS5jYWxsKHQsb1tzXSxzLG8pXSk/KGlbc109bCxsLl9fZGF0YV9fPW9bc10sdVtjXT1udWxsKTpuW3NdPW5ldyBIYyh0LG9bc10pO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmdVtwW3NdXT09PWwmJihyW3NdPWwpfWZ1bmN0aW9uIFVjKHQsZSl7cmV0dXJuIHQ8ZT8tMTp0PmU/MTp0Pj1lPzA6TmFOfWZ1bmN0aW9uIGpjKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpfX1mdW5jdGlvbiBHYyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIFdjKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5zZXRBdHRyaWJ1dGUodCxlKX19ZnVuY3Rpb24gcWModCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxlKX19ZnVuY3Rpb24gWWModCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpOnRoaXMuc2V0QXR0cmlidXRlKHQsbil9fWZ1bmN0aW9uIFhjKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09bj90aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCk6dGhpcy5zZXRBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwsbil9fWZ1bmN0aW9uICRjKHQpe3JldHVybiB0Lm93bmVyRG9jdW1lbnQmJnQub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlld3x8dC5kb2N1bWVudCYmdHx8dC5kZWZhdWx0Vmlld31mdW5jdGlvbiBLYyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX1mdW5jdGlvbiBaYyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSh0LGUsbil9fWZ1bmN0aW9uIEpjKHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgaT1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1pP3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCk6dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSh0LGksbil9fWZ1bmN0aW9uIFFjKHQsZSl7cmV0dXJuIHQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShlKXx8JGModCkuZ2V0Q29tcHV0ZWRTdHlsZSh0LG51bGwpLmdldFByb3BlcnR5VmFsdWUoZSl9ZnVuY3Rpb24gdHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXNbdF19fWZ1bmN0aW9uIGV1KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpc1t0XT1lfX1mdW5jdGlvbiBudSh0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/ZGVsZXRlIHRoaXNbdF06dGhpc1t0XT1ufX1mdW5jdGlvbiBpdSh0KXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLyl9ZnVuY3Rpb24gcnUodCl7cmV0dXJuIHQuY2xhc3NMaXN0fHxuZXcgb3UodCl9ZnVuY3Rpb24gb3UodCl7dGhpcy5fbm9kZT10LHRoaXMuX25hbWVzPWl1KHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9ZnVuY3Rpb24gYXUodCxlKXtmb3IodmFyIG49cnUodCksaT0tMSxyPWUubGVuZ3RoOysraTxyOyluLmFkZChlW2ldKX1mdW5jdGlvbiBzdSh0LGUpe2Zvcih2YXIgbj1ydSh0KSxpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KW4ucmVtb3ZlKGVbaV0pfWZ1bmN0aW9uIGx1KHQpe3JldHVybiBmdW5jdGlvbigpe2F1KHRoaXMsdCl9fWZ1bmN0aW9uIGN1KHQpe3JldHVybiBmdW5jdGlvbigpe3N1KHRoaXMsdCl9fWZ1bmN0aW9uIHV1KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7KGUuYXBwbHkodGhpcyxhcmd1bWVudHMpP2F1OnN1KSh0aGlzLHQpfX1mdW5jdGlvbiBodSgpe3RoaXMudGV4dENvbnRlbnQ9IiJ9ZnVuY3Rpb24gZHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy50ZXh0Q29udGVudD10fX1mdW5jdGlvbiBwdSh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLnRleHRDb250ZW50PW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24gZnUoKXt0aGlzLmlubmVySFRNTD0iIn1mdW5jdGlvbiBtdSh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLmlubmVySFRNTD10fX1mdW5jdGlvbiBndSh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLmlubmVySFRNTD1udWxsPT1lPyIiOmV9fWZ1bmN0aW9uIF91KCl7dGhpcy5uZXh0U2libGluZyYmdGhpcy5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHRoaXMpfWZ1bmN0aW9uIHl1KCl7dGhpcy5wcmV2aW91c1NpYmxpbmcmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcyx0aGlzLnBhcmVudE5vZGUuZmlyc3RDaGlsZCl9ZnVuY3Rpb24gdnUoKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiBidSgpe3ZhciB0PXRoaXMucGFyZW50Tm9kZTt0JiZ0LnJlbW92ZUNoaWxkKHRoaXMpfWZ1bmN0aW9uIHh1KCl7dmFyIHQ9dGhpcy5jbG9uZU5vZGUoITEpLGU9dGhpcy5wYXJlbnROb2RlO3JldHVybiBlP2UuaW5zZXJ0QmVmb3JlKHQsdGhpcy5uZXh0U2libGluZyk6dH1mdW5jdGlvbiB3dSgpe3ZhciB0PXRoaXMuY2xvbmVOb2RlKCEwKSxlPXRoaXMucGFyZW50Tm9kZTtyZXR1cm4gZT9lLmluc2VydEJlZm9yZSh0LHRoaXMubmV4dFNpYmxpbmcpOnR9b3UucHJvdG90eXBlPXthZGQ6ZnVuY3Rpb24odCl7dGhpcy5fbmFtZXMuaW5kZXhPZih0KTwwJiYodGhpcy5fbmFtZXMucHVzaCh0KSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbmFtZXMuaW5kZXhPZih0KTtlPj0wJiYodGhpcy5fbmFtZXMuc3BsaWNlKGUsMSksdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLl9uYW1lcy5qb2luKCIgIikpKX0sY29udGFpbnM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX25hbWVzLmluZGV4T2YodCk+PTB9fTt2YXIgU3U9e30sTXU9bnVsbDsidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiYoIm9ubW91c2VlbnRlciJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR8fChTdT17bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9KSk7ZnVuY3Rpb24gRXUodCxlLG4pe3JldHVybiB0PVR1KHQsZSxuKSxmdW5jdGlvbihlKXt2YXIgbj1lLnJlbGF0ZWRUYXJnZXQ7biYmKG49PT10aGlzfHw4Jm4uY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcykpfHx0LmNhbGwodGhpcyxlKX19ZnVuY3Rpb24gVHUodCxlLG4pe3JldHVybiBmdW5jdGlvbihpKXt2YXIgcj1NdTtNdT1pO3RyeXt0LmNhbGwodGhpcyx0aGlzLl9fZGF0YV9fLGUsbil9ZmluYWxseXtNdT1yfX19ZnVuY3Rpb24gQ3UodCl7cmV0dXJuIHQudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9IiIsbj10LmluZGV4T2YoIi4iKTtyZXR1cm4gbj49MCYmKGU9dC5zbGljZShuKzEpLHQ9dC5zbGljZSgwLG4pKSx7dHlwZTp0LG5hbWU6ZX19KSl9ZnVuY3Rpb24gQXUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fX29uO2lmKGUpe2Zvcih2YXIgbixpPTAscj0tMSxvPWUubGVuZ3RoO2k8bzsrK2kpbj1lW2ldLHQudHlwZSYmbi50eXBlIT09dC50eXBlfHxuLm5hbWUhPT10Lm5hbWU/ZVsrK3JdPW46dGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKG4udHlwZSxuLmxpc3RlbmVyLG4uY2FwdHVyZSk7KytyP2UubGVuZ3RoPXI6ZGVsZXRlIHRoaXMuX19vbn19fWZ1bmN0aW9uIGt1KHQsZSxuKXt2YXIgaT1TdS5oYXNPd25Qcm9wZXJ0eSh0LnR5cGUpP0V1OlR1O3JldHVybiBmdW5jdGlvbihyLG8sYSl7dmFyIHMsbD10aGlzLl9fb24sYz1pKGUsbyxhKTtpZihsKWZvcih2YXIgdT0wLGg9bC5sZW5ndGg7dTxoOysrdSlpZigocz1sW3VdKS50eXBlPT09dC50eXBlJiZzLm5hbWU9PT10Lm5hbWUpcmV0dXJuIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcixzLmNhcHR1cmUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcj1jLHMuY2FwdHVyZT1uKSx2b2lkKHMudmFsdWU9ZSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKHQudHlwZSxjLG4pLHM9e3R5cGU6dC50eXBlLG5hbWU6dC5uYW1lLHZhbHVlOmUsbGlzdGVuZXI6YyxjYXB0dXJlOm59LGw/bC5wdXNoKHMpOnRoaXMuX19vbj1bc119fWZ1bmN0aW9uIEx1KHQsZSxuLGkpe3ZhciByPU11O3Quc291cmNlRXZlbnQ9TXUsTXU9dDt0cnl7cmV0dXJuIGUuYXBwbHkobixpKX1maW5hbGx5e011PXJ9fWZ1bmN0aW9uIFB1KHQsZSxuKXt2YXIgaT0kYyh0KSxyPWkuQ3VzdG9tRXZlbnQ7ImZ1bmN0aW9uIj09dHlwZW9mIHI/cj1uZXcgcihlLG4pOihyPWkuZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iiksbj8oci5pbml0RXZlbnQoZSxuLmJ1YmJsZXMsbi5jYW5jZWxhYmxlKSxyLmRldGFpbD1uLmRldGFpbCk6ci5pbml0RXZlbnQoZSwhMSwhMSkpLHQuZGlzcGF0Y2hFdmVudChyKX1mdW5jdGlvbiBOdSh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBQdSh0aGlzLHQsZSl9fWZ1bmN0aW9uIEl1KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIFB1KHRoaXMsdCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXZhciBSdT1bbnVsbF07ZnVuY3Rpb24gT3UodCxlKXt0aGlzLl9ncm91cHM9dCx0aGlzLl9wYXJlbnRzPWV9ZnVuY3Rpb24genUoKXtyZXR1cm4gbmV3IE91KFtbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XV0sUnUpfWZ1bmN0aW9uIER1KHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD9uZXcgT3UoW1tkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpXV0sW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudF0pOm5ldyBPdShbW3RdXSxSdSl9T3UucHJvdG90eXBlPXp1LnByb3RvdHlwZT17Y29uc3RydWN0b3I6T3Usc2VsZWN0OmZ1bmN0aW9uIEJ1KHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1SYyh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhLHM9ZVtyXSxsPXMubGVuZ3RoLGM9aVtyXT1uZXcgQXJyYXkobCksdT0wO3U8bDsrK3UpKG89c1t1XSkmJihhPXQuY2FsbChvLG8uX19kYXRhX18sdSxzKSkmJigiX19kYXRhX18iaW4gbyYmKGEuX19kYXRhX189by5fX2RhdGFfXyksY1t1XT1hKTtyZXR1cm4gbmV3IE91KGksdGhpcy5fcGFyZW50cyl9LHNlbGVjdEFsbDpmdW5jdGlvbiBIdSh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9emModCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPVtdLHI9W10sbz0wO288bjsrK28pZm9yKHZhciBhLHM9ZVtvXSxsPXMubGVuZ3RoLGM9MDtjPGw7KytjKShhPXNbY10pJiYoaS5wdXNoKHQuY2FsbChhLGEuX19kYXRhX18sYyxzKSksci5wdXNoKGEpKTtyZXR1cm4gbmV3IE91KGkscil9LGZpbHRlcjpmdW5jdGlvbiBGdSh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9RGModCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPW5ldyBBcnJheShuKSxyPTA7cjxuOysrcilmb3IodmFyIG8sYT1lW3JdLHM9YS5sZW5ndGgsbD1pW3JdPVtdLGM9MDtjPHM7KytjKShvPWFbY10pJiZ0LmNhbGwobyxvLl9fZGF0YV9fLGMsYSkmJmwucHVzaChvKTtyZXR1cm4gbmV3IE91KGksdGhpcy5fcGFyZW50cyl9LGRhdGE6ZnVuY3Rpb24gVnUodCxlKXtpZighdClyZXR1cm4gZj1uZXcgQXJyYXkodGhpcy5zaXplKCkpLHU9LTEsdGhpcy5lYWNoKChmdW5jdGlvbih0KXtmWysrdV09dH0pKSxmO3ZhciBuPWU/VmM6RmMsaT10aGlzLl9wYXJlbnRzLHI9dGhpcy5fZ3JvdXBzOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD0oZnVuY3Rpb24gbyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19KSh0KSk7Zm9yKHZhciBhPXIubGVuZ3RoLHM9bmV3IEFycmF5KGEpLGw9bmV3IEFycmF5KGEpLGM9bmV3IEFycmF5KGEpLHU9MDt1PGE7Kyt1KXt2YXIgaD1pW3VdLGQ9clt1XSxwPWQubGVuZ3RoLGY9dC5jYWxsKGgsaCYmaC5fX2RhdGFfXyx1LGkpLG09Zi5sZW5ndGgsZz1sW3VdPW5ldyBBcnJheShtKSxfPXNbdV09bmV3IEFycmF5KG0pO24oaCxkLGcsXyxjW3VdPW5ldyBBcnJheShwKSxmLGUpO2Zvcih2YXIgeSx2LGI9MCx4PTA7YjxtOysrYilpZih5PWdbYl0pe2ZvcihiPj14JiYoeD1iKzEpOyEodj1fW3hdKSYmKyt4PG07KTt5Ll9uZXh0PXZ8fG51bGx9fXJldHVybihzPW5ldyBPdShzLGkpKS5fZW50ZXI9bCxzLl9leGl0PWMsc30sZW50ZXI6ZnVuY3Rpb24gVXUoKXtyZXR1cm4gbmV3IE91KHRoaXMuX2VudGVyfHx0aGlzLl9ncm91cHMubWFwKEJjKSx0aGlzLl9wYXJlbnRzKX0sZXhpdDpmdW5jdGlvbiBqdSgpe3JldHVybiBuZXcgT3UodGhpcy5fZXhpdHx8dGhpcy5fZ3JvdXBzLm1hcChCYyksdGhpcy5fcGFyZW50cyl9LGpvaW46ZnVuY3Rpb24gR3UodCxlLG4pe3ZhciBpPXRoaXMuZW50ZXIoKSxyPXRoaXMsbz10aGlzLmV4aXQoKTtyZXR1cm4gaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90KGkpOmkuYXBwZW5kKHQrIiIpLG51bGwhPWUmJihyPWUocikpLG51bGw9PW4/by5yZW1vdmUoKTpuKG8pLGkmJnI/aS5tZXJnZShyKS5vcmRlcigpOnJ9LG1lcmdlOmZ1bmN0aW9uIFd1KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsaT1lLmxlbmd0aCxyPU1hdGgubWluKGksbi5sZW5ndGgpLG89bmV3IEFycmF5KGkpLGE9MDthPHI7KythKWZvcih2YXIgcyxsPWVbYV0sYz1uW2FdLHU9bC5sZW5ndGgsaD1vW2FdPW5ldyBBcnJheSh1KSxkPTA7ZDx1OysrZCkocz1sW2RdfHxjW2RdKSYmKGhbZF09cyk7Zm9yKDthPGk7KythKW9bYV09ZVthXTtyZXR1cm4gbmV3IE91KG8sdGhpcy5fcGFyZW50cyl9LG9yZGVyOmZ1bmN0aW9uIHF1KCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPS0xLG49dC5sZW5ndGg7KytlPG47KWZvcih2YXIgaSxyPXRbZV0sbz1yLmxlbmd0aC0xLGE9cltvXTstLW8+PTA7KShpPXJbb10pJiYoYSYmNF5pLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpJiZhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGksYSksYT1pKTtyZXR1cm4gdGhpc30sc29ydDpmdW5jdGlvbiBZdSh0KXtmdW5jdGlvbiBlKGUsbil7cmV0dXJuIGUmJm4/dChlLl9fZGF0YV9fLG4uX19kYXRhX18pOiFlLSFufXR8fCh0PVVjKTtmb3IodmFyIG49dGhpcy5fZ3JvdXBzLGk9bi5sZW5ndGgscj1uZXcgQXJyYXkoaSksbz0wO288aTsrK28pe2Zvcih2YXIgYSxzPW5bb10sbD1zLmxlbmd0aCxjPXJbb109bmV3IEFycmF5KGwpLHU9MDt1PGw7Kyt1KShhPXNbdV0pJiYoY1t1XT1hKTtjLnNvcnQoZSl9cmV0dXJuIG5ldyBPdShyLHRoaXMuX3BhcmVudHMpLm9yZGVyKCl9LGNhbGw6ZnVuY3Rpb24gWHUoKXt2YXIgdD1hcmd1bWVudHNbMF07cmV0dXJuIGFyZ3VtZW50c1swXT10aGlzLHQuYXBwbHkobnVsbCxhcmd1bWVudHMpLHRoaXN9LG5vZGVzOmZ1bmN0aW9uICR1KCl7dmFyIHQ9bmV3IEFycmF5KHRoaXMuc2l6ZSgpKSxlPS0xO3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dFsrK2VdPXRoaXN9KSksdH0sbm9kZTpmdW5jdGlvbiBLdSgpe2Zvcih2YXIgdD10aGlzLl9ncm91cHMsZT0wLG49dC5sZW5ndGg7ZTxuOysrZSlmb3IodmFyIGk9dFtlXSxyPTAsbz1pLmxlbmd0aDtyPG87KytyKXt2YXIgYT1pW3JdO2lmKGEpcmV0dXJuIGF9cmV0dXJuIG51bGx9LHNpemU6ZnVuY3Rpb24gWnUoKXt2YXIgdD0wO3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7Kyt0fSkpLHR9LGVtcHR5OmZ1bmN0aW9uIEp1KCl7cmV0dXJuIXRoaXMubm9kZSgpfSxlYWNoOmZ1bmN0aW9uIFF1KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj0wLGk9ZS5sZW5ndGg7bjxpOysrbilmb3IodmFyIHIsbz1lW25dLGE9MCxzPW8ubGVuZ3RoO2E8czsrK2EpKHI9b1thXSkmJnQuY2FsbChyLHIuX19kYXRhX18sYSxvKTtyZXR1cm4gdGhpc30sYXR0cjpmdW5jdGlvbiB0aCh0LGUpe3ZhciBuPWtjKHQpO2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7dmFyIGk9dGhpcy5ub2RlKCk7cmV0dXJuIG4ubG9jYWw/aS5nZXRBdHRyaWJ1dGVOUyhuLnNwYWNlLG4ubG9jYWwpOmkuZ2V0QXR0cmlidXRlKG4pfXJldHVybiB0aGlzLmVhY2goKG51bGw9PWU/bi5sb2NhbD9HYzpqYzoiZnVuY3Rpb24iPT10eXBlb2YgZT9uLmxvY2FsP1hjOlljOm4ubG9jYWw/cWM6V2MpKG4sZSkpfSxzdHlsZTpmdW5jdGlvbiBlaCh0LGUsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goKG51bGw9PWU/S2M6ImZ1bmN0aW9uIj09dHlwZW9mIGU/SmM6WmMpKHQsZSxudWxsPT1uPyIiOm4pKTpRYyh0aGlzLm5vZGUoKSx0KX0scHJvcGVydHk6ZnVuY3Rpb24gbmgodCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaCgobnVsbD09ZT90dToiZnVuY3Rpb24iPT10eXBlb2YgZT9udTpldSkodCxlKSk6dGhpcy5ub2RlKClbdF19LGNsYXNzZWQ6ZnVuY3Rpb24gaWgodCxlKXt2YXIgbj1pdSh0KyIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgaT1ydSh0aGlzLm5vZGUoKSkscj0tMSxvPW4ubGVuZ3RoOysrcjxvOylpZighaS5jb250YWlucyhuW3JdKSlyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4gdGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgZT91dTplP2x1OmN1KShuLGUpKX0sdGV4dDpmdW5jdGlvbiByaCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9odTooImZ1bmN0aW9uIj09dHlwZW9mIHQ/cHU6ZHUpKHQpKTp0aGlzLm5vZGUoKS50ZXh0Q29udGVudH0saHRtbDpmdW5jdGlvbiBvaCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9mdTooImZ1bmN0aW9uIj09dHlwZW9mIHQ/Z3U6bXUpKHQpKTp0aGlzLm5vZGUoKS5pbm5lckhUTUx9LHJhaXNlOmZ1bmN0aW9uIGFoKCl7cmV0dXJuIHRoaXMuZWFjaChfdSl9LGxvd2VyOmZ1bmN0aW9uIHNoKCl7cmV0dXJuIHRoaXMuZWFjaCh5dSl9LGFwcGVuZDpmdW5jdGlvbiBsaCh0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90Ok5jKHQpO3JldHVybiB0aGlzLnNlbGVjdCgoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcHBlbmRDaGlsZChlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9KSl9LGluc2VydDpmdW5jdGlvbiBjaCh0LGUpe3ZhciBuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TmModCksaT1udWxsPT1lP3Z1OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6UmMoZSk7cmV0dXJuIHRoaXMuc2VsZWN0KChmdW5jdGlvbigpe3JldHVybiB0aGlzLmluc2VydEJlZm9yZShuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxpLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8bnVsbCl9KSl9LHJlbW92ZTpmdW5jdGlvbiB1aCgpe3JldHVybiB0aGlzLmVhY2goYnUpfSxjbG9uZTpmdW5jdGlvbiBoaCh0KXtyZXR1cm4gdGhpcy5zZWxlY3QodD93dTp4dSl9LGRhdHVtOmZ1bmN0aW9uIGRoKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMucHJvcGVydHkoIl9fZGF0YV9fIix0KTp0aGlzLm5vZGUoKS5fX2RhdGFfX30sb246ZnVuY3Rpb24gcGgodCxlLG4pe3ZhciBpLHIsbz1DdSh0KyIiKSxhPW8ubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7Zm9yKHM9ZT9rdTpBdSxudWxsPT1uJiYobj0hMSksaT0wO2k8YTsrK2kpdGhpcy5lYWNoKHMob1tpXSxlLG4pKTtyZXR1cm4gdGhpc312YXIgcz10aGlzLm5vZGUoKS5fX29uO2lmKHMpZm9yKHZhciBsLGM9MCx1PXMubGVuZ3RoO2M8dTsrK2MpZm9yKGk9MCxsPXNbY107aTxhOysraSlpZigocj1vW2ldKS50eXBlPT09bC50eXBlJiZyLm5hbWU9PT1sLm5hbWUpcmV0dXJuIGwudmFsdWV9LGRpc3BhdGNoOmZ1bmN0aW9uIGZoKHQsZSl7cmV0dXJuIHRoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIGU/SXU6TnUpKHQsZSkpfX07dmFyIG1oPTA7ZnVuY3Rpb24gZ2goKXtyZXR1cm4gbmV3IF9ofWZ1bmN0aW9uIF9oKCl7dGhpcy5fPSJAIisoKyttaCkudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIHloKCl7Zm9yKHZhciB0LGU9TXU7dD1lLnNvdXJjZUV2ZW50OyllPXQ7cmV0dXJuIGV9ZnVuY3Rpb24gdmgodCxlKXt2YXIgbj10Lm93bmVyU1ZHRWxlbWVudHx8dDtpZihuLmNyZWF0ZVNWR1BvaW50KXt2YXIgaT1uLmNyZWF0ZVNWR1BvaW50KCk7cmV0dXJuIGkueD1lLmNsaWVudFgsaS55PWUuY2xpZW50WSxbKGk9aS5tYXRyaXhUcmFuc2Zvcm0odC5nZXRTY3JlZW5DVE0oKS5pbnZlcnNlKCkpKS54LGkueV19dmFyIHI9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm5bZS5jbGllbnRYLXIubGVmdC10LmNsaWVudExlZnQsZS5jbGllbnRZLXIudG9wLXQuY2xpZW50VG9wXX1mdW5jdGlvbiBiaCh0KXt2YXIgZT15aCgpO3JldHVybiBlLmNoYW5nZWRUb3VjaGVzJiYoZT1lLmNoYW5nZWRUb3VjaGVzWzBdKSx2aCh0LGUpfWZ1bmN0aW9uIHhoKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD9uZXcgT3UoW2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodCldLFtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdKTpuZXcgT3UoW251bGw9PXQ/W106dF0sUnUpfWZ1bmN0aW9uIHdoKHQsZSxuKXthcmd1bWVudHMubGVuZ3RoPDMmJihuPWUsZT15aCgpLmNoYW5nZWRUb3VjaGVzKTtmb3IodmFyIGkscj0wLG89ZT9lLmxlbmd0aDowO3I8bzsrK3IpaWYoKGk9ZVtyXSkuaWRlbnRpZmllcj09PW4pcmV0dXJuIHZoKHQsaSk7cmV0dXJuIG51bGx9ZnVuY3Rpb24gU2goKXtNdS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBNaCgpe011LnByZXZlbnREZWZhdWx0KCksTXUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gRWgodCl7dmFyIGU9dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsbj1EdSh0KS5vbigiZHJhZ3N0YXJ0LmRyYWciLE1oLCEwKTsib25zZWxlY3RzdGFydCJpbiBlP24ub24oInNlbGVjdHN0YXJ0LmRyYWciLE1oLCEwKTooZS5fX25vc2VsZWN0PWUuc3R5bGUuTW96VXNlclNlbGVjdCxlLnN0eWxlLk1velVzZXJTZWxlY3Q9Im5vbmUiKX1mdW5jdGlvbiBUaCh0LGUpe3ZhciBuPXQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGk9RHUodCkub24oImRyYWdzdGFydC5kcmFnIixudWxsKTtlJiYoaS5vbigiY2xpY2suZHJhZyIsTWgsITApLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aS5vbigiY2xpY2suZHJhZyIsbnVsbCl9KSwwKSksIm9uc2VsZWN0c3RhcnQiaW4gbj9pLm9uKCJzZWxlY3RzdGFydC5kcmFnIixudWxsKToobi5zdHlsZS5Nb3pVc2VyU2VsZWN0PW4uX19ub3NlbGVjdCxkZWxldGUgbi5fX25vc2VsZWN0KX1mdW5jdGlvbiBDaCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gQWgodCxlLG4saSxyLG8sYSxzLGwsYyl7dGhpcy50YXJnZXQ9dCx0aGlzLnR5cGU9ZSx0aGlzLnN1YmplY3Q9bix0aGlzLmlkZW50aWZpZXI9aSx0aGlzLmFjdGl2ZT1yLHRoaXMueD1vLHRoaXMueT1hLHRoaXMuZHg9cyx0aGlzLmR5PWwsdGhpcy5fPWN9ZnVuY3Rpb24ga2goKXtyZXR1cm4hTXUuY3RybEtleSYmIU11LmJ1dHRvbn1mdW5jdGlvbiBMaCgpe3JldHVybiB0aGlzLnBhcmVudE5vZGV9ZnVuY3Rpb24gUGgodCl7cmV0dXJuIG51bGw9PXQ/e3g6TXUueCx5Ok11Lnl9OnR9ZnVuY3Rpb24gTmgoKXtyZXR1cm4gbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzfHwib250b3VjaHN0YXJ0ImluIHRoaXN9ZnVuY3Rpb24gSWgoKXt2YXIgdCxlLG4saSxyPWtoLG89TGgsYT1QaCxzPU5oLGw9e30sYz13Yygic3RhcnQiLCJkcmFnIiwiZW5kIiksdT0wLGg9MDtmdW5jdGlvbiBkKHQpe3Qub24oIm1vdXNlZG93bi5kcmFnIixwKS5maWx0ZXIocykub24oInRvdWNoc3RhcnQuZHJhZyIsZykub24oInRvdWNobW92ZS5kcmFnIixfKS5vbigidG91Y2hlbmQuZHJhZyB0b3VjaGNhbmNlbC5kcmFnIix5KS5zdHlsZSgidG91Y2gtYWN0aW9uIiwibm9uZSIpLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiLCJyZ2JhKDAsMCwwLDApIil9ZnVuY3Rpb24gcCgpe2lmKCFpJiZyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIGE9digibW91c2UiLG8uYXBwbHkodGhpcyxhcmd1bWVudHMpLGJoLHRoaXMsYXJndW1lbnRzKTthJiYoRHUoTXUudmlldykub24oIm1vdXNlbW92ZS5kcmFnIixmLCEwKS5vbigibW91c2V1cC5kcmFnIixtLCEwKSxFaChNdS52aWV3KSxTaCgpLG49ITEsdD1NdS5jbGllbnRYLGU9TXUuY2xpZW50WSxhKCJzdGFydCIpKX19ZnVuY3Rpb24gZigpe2lmKE1oKCksIW4pe3ZhciBpPU11LmNsaWVudFgtdCxyPU11LmNsaWVudFktZTtuPWkqaStyKnI+aH1sLm1vdXNlKCJkcmFnIil9ZnVuY3Rpb24gbSgpe0R1KE11LnZpZXcpLm9uKCJtb3VzZW1vdmUuZHJhZyBtb3VzZXVwLmRyYWciLG51bGwpLFRoKE11LnZpZXcsbiksTWgoKSxsLm1vdXNlKCJlbmQiKX1mdW5jdGlvbiBnKCl7aWYoci5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciB0LGUsbj1NdS5jaGFuZ2VkVG91Y2hlcyxpPW8uYXBwbHkodGhpcyxhcmd1bWVudHMpLGE9bi5sZW5ndGg7Zm9yKHQ9MDt0PGE7Kyt0KShlPXYoblt0XS5pZGVudGlmaWVyLGksd2gsdGhpcyxhcmd1bWVudHMpKSYmKFNoKCksZSgic3RhcnQiKSl9fWZ1bmN0aW9uIF8oKXt2YXIgdCxlLG49TXUuY2hhbmdlZFRvdWNoZXMsaT1uLmxlbmd0aDtmb3IodD0wO3Q8aTsrK3QpKGU9bFtuW3RdLmlkZW50aWZpZXJdKSYmKE1oKCksZSgiZHJhZyIpKX1mdW5jdGlvbiB5KCl7dmFyIHQsZSxuPU11LmNoYW5nZWRUb3VjaGVzLHI9bi5sZW5ndGg7Zm9yKGkmJmNsZWFyVGltZW91dChpKSxpPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aT1udWxsfSksNTAwKSx0PTA7dDxyOysrdCkoZT1sW25bdF0uaWRlbnRpZmllcl0pJiYoU2goKSxlKCJlbmQiKSl9ZnVuY3Rpb24gdih0LGUsbixpLHIpe3ZhciBvLHMsaCxwPW4oZSx0KSxmPWMuY29weSgpO2lmKEx1KG5ldyBBaChkLCJiZWZvcmVzdGFydCIsbyx0LHUscFswXSxwWzFdLDAsMCxmKSwoZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9KE11LnN1YmplY3Q9bz1hLmFwcGx5KGkscikpJiYocz1vLngtcFswXXx8MCxoPW8ueS1wWzFdfHwwLCEwKX0pKSlyZXR1cm4gZnVuY3Rpb24gYShjKXt2YXIgbSxnPXA7c3dpdGNoKGMpe2Nhc2Uic3RhcnQiOmxbdF09YSxtPXUrKzticmVhaztjYXNlImVuZCI6ZGVsZXRlIGxbdF0sLS11O2Nhc2UiZHJhZyI6cD1uKGUsdCksbT11fUx1KG5ldyBBaChkLGMsbyx0LG0scFswXStzLHBbMV0raCxwWzBdLWdbMF0scFsxXS1nWzFdLGYpLGYuYXBwbHksZixbYyxpLHJdKX19cmV0dXJuIGQuZmlsdGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6Q2goISF0KSxkKTpyfSxkLmNvbnRhaW5lcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkNoKHQpLGQpOm99LGQuc3ViamVjdD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkNoKHQpLGQpOmF9LGQudG91Y2hhYmxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6Q2goISF0KSxkKTpzfSxkLm9uPWZ1bmN0aW9uKCl7dmFyIHQ9Yy5vbi5hcHBseShjLGFyZ3VtZW50cyk7cmV0dXJuIHQ9PT1jP2Q6dH0sZC5jbGlja0Rpc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPSh0PSt0KSp0LGQpOk1hdGguc3FydChoKX0sZH1mdW5jdGlvbiBSaCh0LGUsbil7dC5wcm90b3R5cGU9ZS5wcm90b3R5cGU9bixuLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24gT2godCxlKXt2YXIgbj1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIGkgaW4gZSluW2ldPWVbaV07cmV0dXJuIG59ZnVuY3Rpb24gemgoKXt9X2gucHJvdG90eXBlPWdoLnByb3RvdHlwZT17Y29uc3RydWN0b3I6X2gsZ2V0OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLl87IShlIGluIHQpOylpZighKHQ9dC5wYXJlbnROb2RlKSlyZXR1cm47cmV0dXJuIHRbZV19LHNldDpmdW5jdGlvbih0LGUpe3JldHVybiB0W3RoaXMuX109ZX0scmVtb3ZlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl8gaW4gdCYmZGVsZXRlIHRbdGhpcy5fXX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ffX0sQWgucHJvdG90eXBlLm9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fLm9uLmFwcGx5KHRoaXMuXyxhcmd1bWVudHMpO3JldHVybiB0PT09dGhpcy5fP3RoaXM6dH07dmFyIERoPS43LEJoPTEvRGgsSGg9IlxccyooWystXT9cXGQrKVxccyoiLEZoPSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KVxccyoiLFZoPSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KSVcXHMqIixVaD0vXiMoWzAtOWEtZl17Myw4fSkkLyxqaD1uZXcgUmVnRXhwKCJecmdiXFwoIitbSGgsSGgsSGhdKyJcXCkkIiksR2g9bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW1ZoLFZoLFZoXSsiXFwpJCIpLFdoPW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbSGgsSGgsSGgsRmhdKyJcXCkkIikscWg9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tWaCxWaCxWaCxGaF0rIlxcKSQiKSxZaD1uZXcgUmVnRXhwKCJeaHNsXFwoIitbRmgsVmgsVmhdKyJcXCkkIiksWGg9bmV3IFJlZ0V4cCgiXmhzbGFcXCgiK1tGaCxWaCxWaCxGaF0rIlxcKSQiKSwkaD17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiBLaCgpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdEhleCgpfWZ1bmN0aW9uIFpoKCl7cmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0UmdiKCl9ZnVuY3Rpb24gSmgodCl7dmFyIGUsbjtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKGU9VWguZXhlYyh0KSk/KG49ZVsxXS5sZW5ndGgsZT1wYXJzZUludChlWzFdLDE2KSw2PT09bj9RaChlKTozPT09bj9uZXcgaWQoZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgxNSZlKTw8NHwxNSZlLDEpOjg9PT1uP3RkKGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsKDI1NSZlKS8yNTUpOjQ9PT1uP3RkKGU+PjEyJjE1fGU+PjgmMjQwLGU+PjgmMTV8ZT4+NCYyNDAsZT4+NCYxNXwyNDAmZSwoKDE1JmUpPDw0fDE1JmUpLzI1NSk6bnVsbCk6KGU9amguZXhlYyh0KSk/bmV3IGlkKGVbMV0sZVsyXSxlWzNdLDEpOihlPUdoLmV4ZWModCkpP25ldyBpZCgyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCwxKTooZT1XaC5leGVjKHQpKT90ZChlWzFdLGVbMl0sZVszXSxlWzRdKTooZT1xaC5leGVjKHQpKT90ZCgyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCxlWzRdKTooZT1ZaC5leGVjKHQpKT9zZChlWzFdLGVbMl0vMTAwLGVbM10vMTAwLDEpOihlPVhoLmV4ZWModCkpP3NkKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsZVs0XSk6JGguaGFzT3duUHJvcGVydHkodCk/UWgoJGhbdF0pOiJ0cmFuc3BhcmVudCI9PT10P25ldyBpZChOYU4sTmFOLE5hTiwwKTpudWxsfWZ1bmN0aW9uIFFoKHQpe3JldHVybiBuZXcgaWQodD4+MTYmMjU1LHQ+PjgmMjU1LDI1NSZ0LDEpfWZ1bmN0aW9uIHRkKHQsZSxuLGkpe3JldHVybiBpPD0wJiYodD1lPW49TmFOKSxuZXcgaWQodCxlLG4saSl9ZnVuY3Rpb24gZWQodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiB6aHx8KHQ9SmgodCkpLHQ/bmV3IGlkKCh0PXQucmdiKCkpLnIsdC5nLHQuYix0Lm9wYWNpdHkpOm5ldyBpZH1mdW5jdGlvbiBuZCh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/ZWQodCk6bmV3IGlkKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBpZCh0LGUsbixpKXt0aGlzLnI9K3QsdGhpcy5nPStlLHRoaXMuYj0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24gcmQoKXtyZXR1cm4iIyIrYWQodGhpcy5yKSthZCh0aGlzLmcpK2FkKHRoaXMuYil9ZnVuY3Rpb24gb2QoKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJyZ2IoIjoicmdiYSgiKStNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMucil8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5nKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmIpfHwwKSkrKDE9PT10PyIpIjoiLCAiK3QrIikiKX1mdW5jdGlvbiBhZCh0KXtyZXR1cm4oKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0KXx8MCkpKTwxNj8iMCI6IiIpK3QudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIHNkKHQsZSxuLGkpe3JldHVybiBpPD0wP3Q9ZT1uPU5hTjpuPD0wfHxuPj0xP3Q9ZT1OYU46ZTw9MCYmKHQ9TmFOKSxuZXcgdWQodCxlLG4saSl9ZnVuY3Rpb24gbGQodCl7aWYodCBpbnN0YW5jZW9mIHVkKXJldHVybiBuZXcgdWQodC5oLHQucyx0LmwsdC5vcGFjaXR5KTtpZih0IGluc3RhbmNlb2Ygemh8fCh0PUpoKHQpKSwhdClyZXR1cm4gbmV3IHVkO2lmKHQgaW5zdGFuY2VvZiB1ZClyZXR1cm4gdDt2YXIgZT0odD10LnJnYigpKS5yLzI1NSxuPXQuZy8yNTUsaT10LmIvMjU1LHI9TWF0aC5taW4oZSxuLGkpLG89TWF0aC5tYXgoZSxuLGkpLGE9TmFOLHM9by1yLGw9KG8rcikvMjtyZXR1cm4gcz8oYT1lPT09bz8obi1pKS9zKzYqKG48aSk6bj09PW8/KGktZSkvcysyOihlLW4pL3MrNCxzLz1sPC41P28rcjoyLW8tcixhKj02MCk6cz1sPjAmJmw8MT8wOmEsbmV3IHVkKGEscyxsLHQub3BhY2l0eSl9ZnVuY3Rpb24gY2QodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP2xkKHQpOm5ldyB1ZCh0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24gdWQodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIGhkKHQsZSxuKXtyZXR1cm4gMjU1Kih0PDYwP2UrKG4tZSkqdC82MDp0PDE4MD9uOnQ8MjQwP2UrKG4tZSkqKDI0MC10KS82MDplKX1SaCh6aCxKaCx7Y29weTpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgdGhpcy5jb25zdHJ1Y3Rvcix0aGlzLHQpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJnYigpLmRpc3BsYXlhYmxlKCl9LGhleDpLaCxmb3JtYXRIZXg6S2gsZm9ybWF0SHNsOmZ1bmN0aW9uIGRkKCl7cmV0dXJuIGxkKHRoaXMpLmZvcm1hdEhzbCgpfSxmb3JtYXRSZ2I6WmgsdG9TdHJpbmc6Wmh9KSxSaChpZCxuZCxPaCh6aCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9CaDpNYXRoLnBvdyhCaCx0KSxuZXcgaWQodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/RGg6TWF0aC5wb3coRGgsdCksbmV3IGlkKHRoaXMucip0LHRoaXMuZyp0LHRoaXMuYip0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3JldHVybiB0aGlzfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybi0uNTw9dGhpcy5yJiZ0aGlzLnI8MjU1LjUmJi0uNTw9dGhpcy5nJiZ0aGlzLmc8MjU1LjUmJi0uNTw9dGhpcy5iJiZ0aGlzLmI8MjU1LjUmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxoZXg6cmQsZm9ybWF0SGV4OnJkLGZvcm1hdFJnYjpvZCx0b1N0cmluZzpvZH0pKSxSaCh1ZCxjZCxPaCh6aCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9CaDpNYXRoLnBvdyhCaCx0KSxuZXcgdWQodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9EaDpNYXRoLnBvdyhEaCx0KSxuZXcgdWQodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmglMzYwKzM2MCoodGhpcy5oPDApLGU9aXNOYU4odCl8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsbj10aGlzLmwsaT1uKyhuPC41P246MS1uKSplLHI9MipuLWk7cmV0dXJuIG5ldyBpZChoZCh0Pj0yNDA/dC0yNDA6dCsxMjAscixpKSxoZCh0LHIsaSksaGQodDwxMjA/dCsyNDA6dC0xMjAscixpKSx0aGlzLm9wYWNpdHkpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sZm9ybWF0SHNsOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8iaHNsKCI6ImhzbGEoIikrKHRoaXMuaHx8MCkrIiwgIisxMDAqKHRoaXMuc3x8MCkrIiUsICIrMTAwKih0aGlzLmx8fDApKyIlIisoMT09PXQ/IikiOiIsICIrdCsiKSIpfX0pKTt2YXIgcGQ9TWF0aC5QSS8xODAsZmQ9MTgwL01hdGguUEksbWQ9Ljk2NDIyLGdkPS44MjUyMSxfZD00LzI5LHlkPTYvMjksdmQ9Myp5ZCp5ZDtmdW5jdGlvbiBiZCh0KXtpZih0IGluc3RhbmNlb2Ygd2QpcmV0dXJuIG5ldyB3ZCh0LmwsdC5hLHQuYix0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBrZClyZXR1cm4gTGQodCk7dCBpbnN0YW5jZW9mIGlkfHwodD1lZCh0KSk7dmFyIGUsbixpPVRkKHQucikscj1UZCh0LmcpLG89VGQodC5iKSxhPVNkKCguMjIyNTA0NSppKy43MTY4Nzg2KnIrLjA2MDYxNjkqbykvMSk7cmV0dXJuIGk9PT1yJiZyPT09bz9lPW49YTooZT1TZCgoLjQzNjA3NDcqaSsuMzg1MDY0OSpyKy4xNDMwODA0Km8pL21kKSxuPVNkKCguMDEzOTMyMippKy4wOTcxMDQ1KnIrLjcxNDE3MzMqbykvZ2QpKSxuZXcgd2QoMTE2KmEtMTYsNTAwKihlLWEpLDIwMCooYS1uKSx0Lm9wYWNpdHkpfWZ1bmN0aW9uIHhkKHQsZSxuLGkpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD9iZCh0KTpuZXcgd2QodCxlLG4sbnVsbD09aT8xOmkpfWZ1bmN0aW9uIHdkKHQsZSxuLGkpe3RoaXMubD0rdCx0aGlzLmE9K2UsdGhpcy5iPStuLHRoaXMub3BhY2l0eT0raX1mdW5jdGlvbiBTZCh0KXtyZXR1cm4gdD4uMDA4ODU2NDUxNjc5MDM1NjMxP01hdGgucG93KHQsMS8zKTp0L3ZkK19kfWZ1bmN0aW9uIE1kKHQpe3JldHVybiB0PnlkP3QqdCp0OnZkKih0LV9kKX1mdW5jdGlvbiBFZCh0KXtyZXR1cm4gMjU1Kih0PD0uMDAzMTMwOD8xMi45Mip0OjEuMDU1Kk1hdGgucG93KHQsMS8yLjQpLS4wNTUpfWZ1bmN0aW9uIFRkKHQpe3JldHVybih0Lz0yNTUpPD0uMDQwNDU/dC8xMi45MjpNYXRoLnBvdygodCsuMDU1KS8xLjA1NSwyLjQpfWZ1bmN0aW9uIENkKHQpe2lmKHQgaW5zdGFuY2VvZiBrZClyZXR1cm4gbmV3IGtkKHQuaCx0LmMsdC5sLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIHdkfHwodD1iZCh0KSksMD09PXQuYSYmMD09PXQuYilyZXR1cm4gbmV3IGtkKE5hTiwwPHQubCYmdC5sPDEwMD8wOk5hTix0LmwsdC5vcGFjaXR5KTt2YXIgZT1NYXRoLmF0YW4yKHQuYix0LmEpKmZkO3JldHVybiBuZXcga2QoZTwwP2UrMzYwOmUsTWF0aC5zcXJ0KHQuYSp0LmErdC5iKnQuYiksdC5sLHQub3BhY2l0eSl9ZnVuY3Rpb24gQWQodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP0NkKHQpOm5ldyBrZCh0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24ga2QodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMuYz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIExkKHQpe2lmKGlzTmFOKHQuaCkpcmV0dXJuIG5ldyB3ZCh0LmwsMCwwLHQub3BhY2l0eSk7dmFyIGU9dC5oKnBkO3JldHVybiBuZXcgd2QodC5sLE1hdGguY29zKGUpKnQuYyxNYXRoLnNpbihlKSp0LmMsdC5vcGFjaXR5KX1SaCh3ZCx4ZCxPaCh6aCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB3ZCh0aGlzLmwrMTgqKG51bGw9PXQ/MTp0KSx0aGlzLmEsdGhpcy5iLHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IHdkKHRoaXMubC0xOCoobnVsbD09dD8xOnQpLHRoaXMuYSx0aGlzLmIsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9KHRoaXMubCsxNikvMTE2LGU9aXNOYU4odGhpcy5hKT90OnQrdGhpcy5hLzUwMCxuPWlzTmFOKHRoaXMuYik/dDp0LXRoaXMuYi8yMDA7cmV0dXJuIG5ldyBpZChFZCgzLjEzMzg1NjEqKGU9bWQqTWQoZSkpLTEuNjE2ODY2NyoodD0xKk1kKHQpKS0uNDkwNjE0Nioobj1nZCpNZChuKSkpLEVkKC0uOTc4NzY4NCplKzEuOTE2MTQxNSp0Ky4wMzM0NTQqbiksRWQoLjA3MTk0NTMqZS0uMjI4OTkxNCp0KzEuNDA1MjQyNypuKSx0aGlzLm9wYWNpdHkpfX0pKSxSaChrZCxBZCxPaCh6aCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrZCh0aGlzLmgsdGhpcy5jLHRoaXMubCsxOCoobnVsbD09dD8xOnQpLHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGtkKHRoaXMuaCx0aGlzLmMsdGhpcy5sLTE4KihudWxsPT10PzE6dCksdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIExkKHRoaXMpLnJnYigpfX0pKTt2YXIgUGQ9LS4xNDg2MSxOZD0xLjc4Mjc3LElkPS0uMjkyMjcsUmQ9LS45MDY0OSxPZD0xLjk3Mjk0LHpkPU9kKlJkLERkPU9kKk5kLEJkPU5kKklkLVJkKlBkO2Z1bmN0aW9uIEhkKHQpe2lmKHQgaW5zdGFuY2VvZiBWZClyZXR1cm4gbmV3IFZkKHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7dCBpbnN0YW5jZW9mIGlkfHwodD1lZCh0KSk7dmFyIGU9dC5nLzI1NSxuPXQuYi8yNTUsaT0oQmQqbit6ZCoodC5yLzI1NSktRGQqZSkvLTUuOTYxNTEyMjkxMixyPW4taSxvPShPZCooZS1pKS1JZCpyKS9SZCxhPU1hdGguc3FydChvKm8rcipyKS8oT2QqaSooMS1pKSkscz1hP01hdGguYXRhbjIobyxyKSpmZC0xMjA6TmFOO3JldHVybiBuZXcgVmQoczwwP3MrMzYwOnMsYSxpLHQub3BhY2l0eSl9ZnVuY3Rpb24gRmQodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP0hkKHQpOm5ldyBWZCh0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24gVmQodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIFVkKHQsZSxuLGkscil7dmFyIG89dCp0LGE9byp0O3JldHVybigoMS0zKnQrMypvLWEpKmUrKDQtNipvKzMqYSkqbisoMSszKnQrMypvLTMqYSkqaSthKnIpLzZ9ZnVuY3Rpb24gamQodCl7dmFyIGU9dC5sZW5ndGgtMTtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGk9bjw9MD9uPTA6bj49MT8obj0xLGUtMSk6TWF0aC5mbG9vcihuKmUpLHI9dFtpXSxvPXRbaSsxXTtyZXR1cm4gVWQoKG4taS9lKSplLGk+MD90W2ktMV06MipyLW8scixvLGk8ZS0xP3RbaSsyXToyKm8tcil9fWZ1bmN0aW9uIEdkKHQpe3ZhciBlPXQubGVuZ3RoO3JldHVybiBmdW5jdGlvbihuKXt2YXIgaT1NYXRoLmZsb29yKCgobiU9MSk8MD8rK246bikqZSk7cmV0dXJuIFVkKChuLWkvZSkqZSx0WyhpK2UtMSklZV0sdFtpJWVdLHRbKGkrMSklZV0sdFsoaSsyKSVlXSl9fWZ1bmN0aW9uIFdkKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBxZCh0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdCtuKmV9fWZ1bmN0aW9uIFlkKHQsZSl7dmFyIG49ZS10O3JldHVybiBuP3FkKHQsbj4xODB8fG48LTE4MD9uLTM2MCpNYXRoLnJvdW5kKG4vMzYwKTpuKTpXZChpc05hTih0KT9lOnQpfWZ1bmN0aW9uIFhkKHQpe3JldHVybiAxPT0odD0rdCk/JGQ6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbi1lPyhmdW5jdGlvbiBpKHQsZSxuKXtyZXR1cm4gdD1NYXRoLnBvdyh0LG4pLGU9TWF0aC5wb3coZSxuKS10LG49MS9uLGZ1bmN0aW9uKGkpe3JldHVybiBNYXRoLnBvdyh0K2kqZSxuKX19KShlLG4sdCk6V2QoaXNOYU4oZSk/bjplKX19ZnVuY3Rpb24gJGQodCxlKXt2YXIgbj1lLXQ7cmV0dXJuIG4/cWQodCxuKTpXZChpc05hTih0KT9lOnQpfVJoKFZkLEZkLE9oKHpoLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P0JoOk1hdGgucG93KEJoLHQpLG5ldyBWZCh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P0RoOk1hdGgucG93KERoLHQpLG5ldyBWZCh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3ZhciB0PWlzTmFOKHRoaXMuaCk/MDoodGhpcy5oKzEyMCkqcGQsZT0rdGhpcy5sLG49aXNOYU4odGhpcy5zKT8wOnRoaXMucyplKigxLWUpLGk9TWF0aC5jb3ModCkscj1NYXRoLnNpbih0KTtyZXR1cm4gbmV3IGlkKDI1NSooZStuKihQZCppK05kKnIpKSwyNTUqKGUrbiooSWQqaStSZCpyKSksMjU1KihlK24qKE9kKmkpKSx0aGlzLm9wYWNpdHkpfX0pKTt2YXIgS2Q9KGZ1bmN0aW9uIHQoZSl7dmFyIG49WGQoZSk7ZnVuY3Rpb24gaSh0LGUpe3ZhciBpPW4oKHQ9bmQodCkpLnIsKGU9bmQoZSkpLnIpLHI9bih0LmcsZS5nKSxvPW4odC5iLGUuYiksYT0kZCh0Lm9wYWNpdHksZS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQucj1pKGUpLHQuZz1yKGUpLHQuYj1vKGUpLHQub3BhY2l0eT1hKGUpLHQrIiJ9fXJldHVybiBpLmdhbW1hPXQsaX0pKDEpO2Z1bmN0aW9uIFpkKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgbixpLHI9ZS5sZW5ndGgsbz1uZXcgQXJyYXkociksYT1uZXcgQXJyYXkocikscz1uZXcgQXJyYXkocik7Zm9yKG49MDtuPHI7KytuKWk9bmQoZVtuXSksb1tuXT1pLnJ8fDAsYVtuXT1pLmd8fDAsc1tuXT1pLmJ8fDA7cmV0dXJuIG89dChvKSxhPXQoYSkscz10KHMpLGkub3BhY2l0eT0xLGZ1bmN0aW9uKHQpe3JldHVybiBpLnI9byh0KSxpLmc9YSh0KSxpLmI9cyh0KSxpKyIifX19dmFyIEpkPVpkKGpkKSxRZD1aZChHZCk7ZnVuY3Rpb24gdHAodCxlKXtlfHwoZT1bXSk7dmFyIG4saT10P01hdGgubWluKGUubGVuZ3RoLHQubGVuZ3RoKTowLHI9ZS5zbGljZSgpO3JldHVybiBmdW5jdGlvbihvKXtmb3Iobj0wO248aTsrK24pcltuXT10W25dKigxLW8pK2Vbbl0qbztyZXR1cm4gcn19ZnVuY3Rpb24gZXAodCl7cmV0dXJuIEFycmF5QnVmZmVyLmlzVmlldyh0KSYmISh0IGluc3RhbmNlb2YgRGF0YVZpZXcpfWZ1bmN0aW9uIG5wKHQsZSl7dmFyIG4saT1lP2UubGVuZ3RoOjAscj10P01hdGgubWluKGksdC5sZW5ndGgpOjAsbz1uZXcgQXJyYXkociksYT1uZXcgQXJyYXkoaSk7Zm9yKG49MDtuPHI7KytuKW9bbl09Y3AodFtuXSxlW25dKTtmb3IoO248aTsrK24pYVtuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3Iobj0wO248cjsrK24pYVtuXT1vW25dKHQpO3JldHVybiBhfX1mdW5jdGlvbiBpcCh0LGUpe3ZhciBuPW5ldyBEYXRlO3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24oaSl7cmV0dXJuIG4uc2V0VGltZSh0KigxLWkpK2UqaSksbn19ZnVuY3Rpb24gcnAodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiB0KigxLW4pK2Uqbn19ZnVuY3Rpb24gb3AodCxlKXt2YXIgbixpPXt9LHI9e307Zm9yKG4gaW4gbnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdHx8KHQ9e30pLG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGV8fChlPXt9KSxlKW4gaW4gdD9pW25dPWNwKHRbbl0sZVtuXSk6cltuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3IobiBpbiBpKXJbbl09aVtuXSh0KTtyZXR1cm4gcn19dmFyIGFwPS9bLStdPyg/OlxkK1wuP1xkKnxcLj9cZCspKD86W2VFXVstK10/XGQrKT8vZyxzcD1uZXcgUmVnRXhwKGFwLnNvdXJjZSwiZyIpO2Z1bmN0aW9uIGxwKHQsZSl7dmFyIG4saSxyLG89YXAubGFzdEluZGV4PXNwLmxhc3RJbmRleD0wLGE9LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsobj1hcC5leGVjKHQpKSYmKGk9c3AuZXhlYyhlKSk7KShyPWkuaW5kZXgpPm8mJihyPWUuc2xpY2UobyxyKSxzW2FdP3NbYV0rPXI6c1srK2FdPXIpLChuPW5bMF0pPT09KGk9aVswXSk/c1thXT9zW2FdKz1pOnNbKythXT1pOihzWysrYV09bnVsbCxsLnB1c2goe2k6YSx4OnJwKG4saSl9KSksbz1zcC5sYXN0SW5kZXg7cmV0dXJuIG88ZS5sZW5ndGgmJihyPWUuc2xpY2Uobyksc1thXT9zW2FdKz1yOnNbKythXT1yKSxzLmxlbmd0aDwyP2xbMF0/KGZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpKyIifX0pKGxbMF0ueCk6KGZ1bmN0aW9uIHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkoZSk6KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciBuLGk9MDtpPGU7KytpKXNbKG49bFtpXSkuaV09bi54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9ZnVuY3Rpb24gY3AodCxlKXt2YXIgbixpPXR5cGVvZiBlO3JldHVybiBudWxsPT1lfHwiYm9vbGVhbiI9PT1pP1dkKGUpOigibnVtYmVyIj09PWk/cnA6InN0cmluZyI9PT1pPyhuPUpoKGUpKT8oZT1uLEtkKTpscDplIGluc3RhbmNlb2YgSmg/S2Q6ZSBpbnN0YW5jZW9mIERhdGU/aXA6ZXAoZSk/dHA6QXJyYXkuaXNBcnJheShlKT9ucDoiZnVuY3Rpb24iIT10eXBlb2YgZS52YWx1ZU9mJiYiZnVuY3Rpb24iIT10eXBlb2YgZS50b1N0cmluZ3x8aXNOYU4oZSk/b3A6cnApKHQsZSl9ZnVuY3Rpb24gdXAodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiBNYXRoLnJvdW5kKHQqKDEtbikrZSpuKX19dmFyIGhwLGRwLHBwLGZwLG1wPTE4MC9NYXRoLlBJLGdwPXt0cmFuc2xhdGVYOjAsdHJhbnNsYXRlWTowLHJvdGF0ZTowLHNrZXdYOjAsc2NhbGVYOjEsc2NhbGVZOjF9O2Z1bmN0aW9uIF9wKHQsZSxuLGkscixvKXt2YXIgYSxzLGw7cmV0dXJuKGE9TWF0aC5zcXJ0KHQqdCtlKmUpKSYmKHQvPWEsZS89YSksKGw9dCpuK2UqaSkmJihuLT10KmwsaS09ZSpsKSwocz1NYXRoLnNxcnQobipuK2kqaSkpJiYobi89cyxpLz1zLGwvPXMpLHQqaTxlKm4mJih0PS10LGU9LWUsbD0tbCxhPS1hKSx7dHJhbnNsYXRlWDpyLHRyYW5zbGF0ZVk6byxyb3RhdGU6TWF0aC5hdGFuMihlLHQpKm1wLHNrZXdYOk1hdGguYXRhbihsKSptcCxzY2FsZVg6YSxzY2FsZVk6c319ZnVuY3Rpb24geXAodCxlLG4saSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5sZW5ndGg/dC5wb3AoKSsiICI6IiJ9cmV0dXJuIGZ1bmN0aW9uKG8sYSl7dmFyIHM9W10sbD1bXTtyZXR1cm4gbz10KG8pLGE9dChhKSwoZnVuY3Rpb24gYyh0LGkscixvLGEscyl7aWYodCE9PXJ8fGkhPT1vKXt2YXIgbD1hLnB1c2goInRyYW5zbGF0ZSgiLG51bGwsZSxudWxsLG4pO3MucHVzaCh7aTpsLTQseDpycCh0LHIpfSx7aTpsLTIseDpycChpLG8pfSl9ZWxzZShyfHxvKSYmYS5wdXNoKCJ0cmFuc2xhdGUoIityK2UrbytuKX0pKG8udHJhbnNsYXRlWCxvLnRyYW5zbGF0ZVksYS50cmFuc2xhdGVYLGEudHJhbnNsYXRlWSxzLGwpLChmdW5jdGlvbiB1KHQsZSxuLG8pe3QhPT1lPyh0LWU+MTgwP2UrPTM2MDplLXQ+MTgwJiYodCs9MzYwKSxvLnB1c2goe2k6bi5wdXNoKHIobikrInJvdGF0ZSgiLG51bGwsaSktMix4OnJwKHQsZSl9KSk6ZSYmbi5wdXNoKHIobikrInJvdGF0ZSgiK2UraSl9KShvLnJvdGF0ZSxhLnJvdGF0ZSxzLGwpLChmdW5jdGlvbiBoKHQsZSxuLG8pe3QhPT1lP28ucHVzaCh7aTpuLnB1c2gocihuKSsic2tld1goIixudWxsLGkpLTIseDpycCh0LGUpfSk6ZSYmbi5wdXNoKHIobikrInNrZXdYKCIrZStpKX0pKG8uc2tld1gsYS5za2V3WCxzLGwpLChmdW5jdGlvbiBkKHQsZSxuLGksbyxhKXtpZih0IT09bnx8ZSE9PWkpe3ZhciBzPW8ucHVzaChyKG8pKyJzY2FsZSgiLG51bGwsIiwiLG51bGwsIikiKTthLnB1c2goe2k6cy00LHg6cnAodCxuKX0se2k6cy0yLHg6cnAoZSxpKX0pfWVsc2UgMT09PW4mJjE9PT1pfHxvLnB1c2gocihvKSsic2NhbGUoIituKyIsIitpKyIpIil9KShvLnNjYWxlWCxvLnNjYWxlWSxhLnNjYWxlWCxhLnNjYWxlWSxzLGwpLG89YT1udWxsLGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPS0xLGk9bC5sZW5ndGg7KytuPGk7KXNbKGU9bFtuXSkuaV09ZS54KHQpO3JldHVybiBzLmpvaW4oIiIpfX19dmFyIHZwPXlwKChmdW5jdGlvbiBicCh0KXtyZXR1cm4ibm9uZSI9PT10P2dwOihocHx8KGhwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpLGRwPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxwcD1kb2N1bWVudC5kZWZhdWx0VmlldyksaHAuc3R5bGUudHJhbnNmb3JtPXQsdD1wcC5nZXRDb21wdXRlZFN0eWxlKGRwLmFwcGVuZENoaWxkKGhwKSxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJ0cmFuc2Zvcm0iKSxkcC5yZW1vdmVDaGlsZChocCksX3AoKyh0PXQuc2xpY2UoNywtMSkuc3BsaXQoIiwiKSlbMF0sK3RbMV0sK3RbMl0sK3RbM10sK3RbNF0sK3RbNV0pKX0pLCJweCwgIiwicHgpIiwiZGVnKSIpLHhwPXlwKChmdW5jdGlvbiB3cCh0KXtyZXR1cm4gbnVsbD09dD9ncDooZnB8fChmcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpKSxmcC5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsdCksKHQ9ZnAudHJhbnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKSk/X3AoKHQ9dC5tYXRyaXgpLmEsdC5iLHQuYyx0LmQsdC5lLHQuZik6Z3ApfSksIiwgIiwiKSIsIikiKSxTcD1NYXRoLlNRUlQyO2Z1bmN0aW9uIE1wKHQpe3JldHVybigodD1NYXRoLmV4cCh0KSkrMS90KS8yfWZ1bmN0aW9uIEVwKHQsZSl7dmFyIG4saSxyPXRbMF0sbz10WzFdLGE9dFsyXSxzPWVbMl0sbD1lWzBdLXIsYz1lWzFdLW8sdT1sKmwrYypjO2lmKHU8MWUtMTIpaT1NYXRoLmxvZyhzL2EpL1NwLG49ZnVuY3Rpb24odCl7cmV0dXJuW3IrdCpsLG8rdCpjLGEqTWF0aC5leHAoU3AqdCppKV19O2Vsc2V7dmFyIGg9TWF0aC5zcXJ0KHUpLGQ9KHMqcy1hKmErNCp1KS8oMiphKjIqaCkscD0ocypzLWEqYS00KnUpLygyKnMqMipoKSxmPU1hdGgubG9nKE1hdGguc3FydChkKmQrMSktZCksbT1NYXRoLmxvZyhNYXRoLnNxcnQocCpwKzEpLXApO2k9KG0tZikvU3Asbj1mdW5jdGlvbih0KXt2YXIgZT10Kmksbj1NcChmKSxzPWEvKDIqaCkqKG4qKGZ1bmN0aW9uIHUodCl7cmV0dXJuKCh0PU1hdGguZXhwKDIqdCkpLTEpLyh0KzEpfSkoU3AqZStmKS0oZnVuY3Rpb24gZCh0KXtyZXR1cm4oKHQ9TWF0aC5leHAodCkpLTEvdCkvMn0pKGYpKTtyZXR1cm5bcitzKmwsbytzKmMsYSpuL01wKFNwKmUrZildfX1yZXR1cm4gbi5kdXJhdGlvbj0xZTMqaSxufWZ1bmN0aW9uIFRwKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciBpPXQoKGU9Y2QoZSkpLmgsKG49Y2QobikpLmgpLHI9JGQoZS5zLG4ucyksbz0kZChlLmwsbi5sKSxhPSRkKGUub3BhY2l0eSxuLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZS5oPWkodCksZS5zPXIodCksZS5sPW8odCksZS5vcGFjaXR5PWEodCksZSsiIn19fXZhciBDcD1UcChZZCksQXA9VHAoJGQpO2Z1bmN0aW9uIGtwKHQsZSl7dmFyIG49JGQoKHQ9eGQodCkpLmwsKGU9eGQoZSkpLmwpLGk9JGQodC5hLGUuYSkscj0kZCh0LmIsZS5iKSxvPSRkKHQub3BhY2l0eSxlLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5sPW4oZSksdC5hPWkoZSksdC5iPXIoZSksdC5vcGFjaXR5PW8oZSksdCsiIn19ZnVuY3Rpb24gTHAodCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dmFyIGk9dCgoZT1BZChlKSkuaCwobj1BZChuKSkuaCkscj0kZChlLmMsbi5jKSxvPSRkKGUubCxuLmwpLGE9JGQoZS5vcGFjaXR5LG4ub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBlLmg9aSh0KSxlLmM9cih0KSxlLmw9byh0KSxlLm9wYWNpdHk9YSh0KSxlKyIifX19dmFyIFBwPUxwKFlkKSxOcD1McCgkZCk7ZnVuY3Rpb24gSXAodCl7cmV0dXJuKGZ1bmN0aW9uIGUobil7ZnVuY3Rpb24gaShlLGkpe3ZhciByPXQoKGU9RmQoZSkpLmgsKGk9RmQoaSkpLmgpLG89JGQoZS5zLGkucyksYT0kZChlLmwsaS5sKSxzPSRkKGUub3BhY2l0eSxpLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZS5oPXIodCksZS5zPW8odCksZS5sPWEoTWF0aC5wb3codCxuKSksZS5vcGFjaXR5PXModCksZSsiIn19cmV0dXJuIG49K24saS5nYW1tYT1lLGl9KSgxKX12YXIgUnA9SXAoWWQpLE9wPUlwKCRkKTt2YXIgenAsRHAsQnA9MCxIcD0wLEZwPTAsVnA9MCxVcD0wLGpwPTAsR3A9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlOkRhdGUsV3A9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdyk6ZnVuY3Rpb24odCl7c2V0VGltZW91dCh0LDE3KX07ZnVuY3Rpb24gcXAoKXtyZXR1cm4gVXB8fChXcChZcCksVXA9R3Aubm93KCkranApfWZ1bmN0aW9uIFlwKCl7VXA9MH1mdW5jdGlvbiBYcCgpe3RoaXMuX2NhbGw9dGhpcy5fdGltZT10aGlzLl9uZXh0PW51bGx9ZnVuY3Rpb24gJHAodCxlLG4pe3ZhciBpPW5ldyBYcDtyZXR1cm4gaS5yZXN0YXJ0KHQsZSxuKSxpfWZ1bmN0aW9uIEtwKCl7cXAoKSwrK0JwO2Zvcih2YXIgdCxlPXpwO2U7KSh0PVVwLWUuX3RpbWUpPj0wJiZlLl9jYWxsLmNhbGwobnVsbCx0KSxlPWUuX25leHQ7LS1CcH1mdW5jdGlvbiBacCgpe1VwPShWcD1HcC5ub3coKSkranAsQnA9SHA9MDt0cnl7S3AoKX1maW5hbGx5e0JwPTAsKGZ1bmN0aW9uIHQoKXt2YXIgdCxlLG49enAsaT0xLzA7Zm9yKDtuOyluLl9jYWxsPyhpPm4uX3RpbWUmJihpPW4uX3RpbWUpLHQ9bixuPW4uX25leHQpOihlPW4uX25leHQsbi5fbmV4dD1udWxsLG49dD90Ll9uZXh0PWU6enA9ZSk7RHA9dCxRcChpKX0pKCksVXA9MH19ZnVuY3Rpb24gSnAoKXt2YXIgdD1HcC5ub3coKSxlPXQtVnA7ZT4xZTMmJihqcC09ZSxWcD10KX1mdW5jdGlvbiBRcCh0KXtCcHx8KEhwJiYoSHA9Y2xlYXJUaW1lb3V0KEhwKSksdC1VcD4yND8odDwxLzAmJihIcD1zZXRUaW1lb3V0KFpwLHQtR3Aubm93KCktanApKSxGcCYmKEZwPWNsZWFySW50ZXJ2YWwoRnApKSk6KEZwfHwoVnA9R3Aubm93KCksRnA9c2V0SW50ZXJ2YWwoSnAsMWUzKSksQnA9MSxXcChacCkpKX1mdW5jdGlvbiB0Zih0LGUsbil7dmFyIGk9bmV3IFhwO3JldHVybiBpLnJlc3RhcnQoKGZ1bmN0aW9uKG4pe2kuc3RvcCgpLHQobitlKX0pLGU9bnVsbD09ZT8wOitlLG4pLGl9WHAucHJvdG90eXBlPSRwLnByb3RvdHlwZT17Y29uc3RydWN0b3I6WHAscmVzdGFydDpmdW5jdGlvbih0LGUsbil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiY2FsbGJhY2sgaXMgbm90IGEgZnVuY3Rpb24iKTtuPShudWxsPT1uP3FwKCk6K24pKyhudWxsPT1lPzA6K2UpLHRoaXMuX25leHR8fERwPT09dGhpc3x8KERwP0RwLl9uZXh0PXRoaXM6enA9dGhpcyxEcD10aGlzKSx0aGlzLl9jYWxsPXQsdGhpcy5fdGltZT1uLFFwKCl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLl9jYWxsJiYodGhpcy5fY2FsbD1udWxsLHRoaXMuX3RpbWU9MS8wLFFwKCkpfX07dmFyIGVmPXdjKCJzdGFydCIsImVuZCIsImNhbmNlbCIsImludGVycnVwdCIpLG5mPVtdO2Z1bmN0aW9uIHJmKHQsZSxuLGkscixvKXt2YXIgYT10Ll9fdHJhbnNpdGlvbjtpZihhKXtpZihuIGluIGEpcmV0dXJufWVsc2UgdC5fX3RyYW5zaXRpb249e307IShmdW5jdGlvbiBzKHQsZSxuKXt2YXIgaSxyPXQuX190cmFuc2l0aW9uO2Z1bmN0aW9uIG8odCl7bi5zdGF0ZT0xLG4udGltZXIucmVzdGFydChhLG4uZGVsYXksbi50aW1lKSxuLmRlbGF5PD10JiZhKHQtbi5kZWxheSl9ZnVuY3Rpb24gYShvKXt2YXIgYyx1LGgsZDtpZigxIT09bi5zdGF0ZSlyZXR1cm4gbCgpO2ZvcihjIGluIHIpaWYoKGQ9cltjXSkubmFtZT09PW4ubmFtZSl7aWYoMz09PWQuc3RhdGUpcmV0dXJuIHRmKGEpOzQ9PT1kLnN0YXRlPyhkLnN0YXRlPTYsZC50aW1lci5zdG9wKCksZC5vbi5jYWxsKCJpbnRlcnJ1cHQiLHQsdC5fX2RhdGFfXyxkLmluZGV4LGQuZ3JvdXApLGRlbGV0ZSByW2NdKTorYzxlJiYoZC5zdGF0ZT02LGQudGltZXIuc3RvcCgpLGQub24uY2FsbCgiY2FuY2VsIix0LHQuX19kYXRhX18sZC5pbmRleCxkLmdyb3VwKSxkZWxldGUgcltjXSl9aWYodGYoKGZ1bmN0aW9uKCl7Mz09PW4uc3RhdGUmJihuLnN0YXRlPTQsbi50aW1lci5yZXN0YXJ0KHMsbi5kZWxheSxuLnRpbWUpLHMobykpfSkpLG4uc3RhdGU9MixuLm9uLmNhbGwoInN0YXJ0Iix0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSwyPT09bi5zdGF0ZSl7Zm9yKG4uc3RhdGU9MyxpPW5ldyBBcnJheShoPW4udHdlZW4ubGVuZ3RoKSxjPTAsdT0tMTtjPGg7KytjKShkPW4udHdlZW5bY10udmFsdWUuY2FsbCh0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSkmJihpWysrdV09ZCk7aS5sZW5ndGg9dSsxfX1mdW5jdGlvbiBzKGUpe2Zvcih2YXIgcj1lPG4uZHVyYXRpb24/bi5lYXNlLmNhbGwobnVsbCxlL24uZHVyYXRpb24pOihuLnRpbWVyLnJlc3RhcnQobCksbi5zdGF0ZT01LDEpLG89LTEsYT1pLmxlbmd0aDsrK288YTspaVtvXS5jYWxsKHQscik7NT09PW4uc3RhdGUmJihuLm9uLmNhbGwoImVuZCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksbCgpKX1mdW5jdGlvbiBsKCl7Zm9yKHZhciBpIGluIG4uc3RhdGU9NixuLnRpbWVyLnN0b3AoKSxkZWxldGUgcltlXSxyKXJldHVybjtkZWxldGUgdC5fX3RyYW5zaXRpb259cltlXT1uLG4udGltZXI9JHAobywwLG4udGltZSl9KSh0LG4se25hbWU6ZSxpbmRleDppLGdyb3VwOnIsb246ZWYsdHdlZW46bmYsdGltZTpvLnRpbWUsZGVsYXk6by5kZWxheSxkdXJhdGlvbjpvLmR1cmF0aW9uLGVhc2U6by5lYXNlLHRpbWVyOm51bGwsc3RhdGU6MH0pfWZ1bmN0aW9uIG9mKHQsZSl7dmFyIG49c2YodCxlKTtpZihuLnN0YXRlPjApdGhyb3cgbmV3IEVycm9yKCJ0b28gbGF0ZTsgYWxyZWFkeSBzY2hlZHVsZWQiKTtyZXR1cm4gbn1mdW5jdGlvbiBhZih0LGUpe3ZhciBuPXNmKHQsZSk7aWYobi5zdGF0ZT4zKXRocm93IG5ldyBFcnJvcigidG9vIGxhdGU7IGFscmVhZHkgcnVubmluZyIpO3JldHVybiBufWZ1bmN0aW9uIHNmKHQsZSl7dmFyIG49dC5fX3RyYW5zaXRpb247aWYoIW58fCEobj1uW2VdKSl0aHJvdyBuZXcgRXJyb3IoInRyYW5zaXRpb24gbm90IGZvdW5kIik7cmV0dXJuIG59ZnVuY3Rpb24gbGYodCxlKXt2YXIgbixpLHIsbz10Ll9fdHJhbnNpdGlvbixhPSEwO2lmKG8pe2ZvcihyIGluIGU9bnVsbD09ZT9udWxsOmUrIiIsbykobj1vW3JdKS5uYW1lPT09ZT8oaT1uLnN0YXRlPjImJm4uc3RhdGU8NSxuLnN0YXRlPTYsbi50aW1lci5zdG9wKCksbi5vbi5jYWxsKGk/ImludGVycnVwdCI6ImNhbmNlbCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksZGVsZXRlIG9bcl0pOmE9ITE7YSYmZGVsZXRlIHQuX190cmFuc2l0aW9ufX1mdW5jdGlvbiBjZih0LGUpe3ZhciBuLGk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9YWYodGhpcyx0KSxvPXIudHdlZW47aWYobyE9PW4pZm9yKHZhciBhPTAscz0oaT1uPW8pLmxlbmd0aDthPHM7KythKWlmKGlbYV0ubmFtZT09PWUpeyhpPWkuc2xpY2UoKSkuc3BsaWNlKGEsMSk7YnJlYWt9ci50d2Vlbj1pfX1mdW5jdGlvbiB1Zih0LGUsbil7dmFyIGkscjtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG89YWYodGhpcyx0KSxhPW8udHdlZW47aWYoYSE9PWkpe3I9KGk9YSkuc2xpY2UoKTtmb3IodmFyIHM9e25hbWU6ZSx2YWx1ZTpufSxsPTAsYz1yLmxlbmd0aDtsPGM7KytsKWlmKHJbbF0ubmFtZT09PWUpe3JbbF09czticmVha31sPT09YyYmci5wdXNoKHMpfW8udHdlZW49cn19ZnVuY3Rpb24gaGYodCxlLG4pe3ZhciBpPXQuX2lkO3JldHVybiB0LmVhY2goKGZ1bmN0aW9uKCl7dmFyIHQ9YWYodGhpcyxpKTsodC52YWx1ZXx8KHQudmFsdWU9e30pKVtlXT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pKSxmdW5jdGlvbih0KXtyZXR1cm4gc2YodCxpKS52YWx1ZVtlXX19ZnVuY3Rpb24gZGYodCxlKXt2YXIgbjtyZXR1cm4oIm51bWJlciI9PXR5cGVvZiBlP3JwOmUgaW5zdGFuY2VvZiBKaD9LZDoobj1KaChlKSk/KGU9bixLZCk6bHApKHQsZSl9ZnVuY3Rpb24gcGYodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIGZmKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19ZnVuY3Rpb24gbWYodCxlLG4pe3ZhciBpLHIsbz1uKyIiO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0QXR0cmlidXRlKHQpO3JldHVybiBhPT09bz9udWxsOmE9PT1pP3I6cj1lKGk9YSxuKX19ZnVuY3Rpb24gZ2YodCxlLG4pe3ZhciBpLHIsbz1uKyIiO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKTtyZXR1cm4gYT09PW8/bnVsbDphPT09aT9yOnI9ZShpPWEsbil9fWZ1bmN0aW9uIF9mKHQsZSxuKXt2YXIgaSxyLG87cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGEscyxsPW4odGhpcyk7aWYobnVsbCE9bClyZXR1cm4oYT10aGlzLmdldEF0dHJpYnV0ZSh0KSk9PT0ocz1sKyIiKT9udWxsOmE9PT1pJiZzPT09cj9vOihyPXMsbz1lKGk9YSxsKSk7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIHlmKHQsZSxuKXt2YXIgaSxyLG87cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGEscyxsPW4odGhpcyk7aWYobnVsbCE9bClyZXR1cm4oYT10aGlzLmdldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCkpPT09KHM9bCsiIik/bnVsbDphPT09aSYmcz09PXI/bzoocj1zLG89ZShpPWEsbCkpO3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19ZnVuY3Rpb24gdmYodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dGhpcy5zZXRBdHRyaWJ1dGUodCxlLmNhbGwodGhpcyxuKSl9fWZ1bmN0aW9uIGJmKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3RoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUuY2FsbCh0aGlzLG4pKX19ZnVuY3Rpb24geGYodCxlKXt2YXIgbixpO2Z1bmN0aW9uIHIoKXt2YXIgcj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gciE9PWkmJihuPShpPXIpJiZiZih0LHIpKSxufXJldHVybiByLl92YWx1ZT1lLHJ9ZnVuY3Rpb24gd2YodCxlKXt2YXIgbixpO2Z1bmN0aW9uIHIoKXt2YXIgcj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gciE9PWkmJihuPShpPXIpJiZ2Zih0LHIpKSxufXJldHVybiByLl92YWx1ZT1lLHJ9ZnVuY3Rpb24gU2YodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtvZih0aGlzLHQpLmRlbGF5PStlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19ZnVuY3Rpb24gTWYodCxlKXtyZXR1cm4gZT0rZSxmdW5jdGlvbigpe29mKHRoaXMsdCkuZGVsYXk9ZX19ZnVuY3Rpb24gRWYodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXthZih0aGlzLHQpLmR1cmF0aW9uPStlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19ZnVuY3Rpb24gVGYodCxlKXtyZXR1cm4gZT0rZSxmdW5jdGlvbigpe2FmKHRoaXMsdCkuZHVyYXRpb249ZX19ZnVuY3Rpb24gQ2YodCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIGZ1bmN0aW9uKCl7YWYodGhpcyx0KS5lYXNlPWV9fWZ1bmN0aW9uIEFmKHQsZSxuKXt2YXIgaSxyLG89KGZ1bmN0aW9uIGEodCl7cmV0dXJuKHQrIiIpLnRyaW0oKS5zcGxpdCgvXnxccysvKS5ldmVyeSgoZnVuY3Rpb24odCl7dmFyIGU9dC5pbmRleE9mKCIuIik7cmV0dXJuIGU+PTAmJih0PXQuc2xpY2UoMCxlKSksIXR8fCJzdGFydCI9PT10fSkpfSkoZSk/b2Y6YWY7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9byh0aGlzLHQpLHM9YS5vbjtzIT09aSYmKHI9KGk9cykuY29weSgpKS5vbihlLG4pLGEub249cn19dmFyIGtmPXp1LnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtmdW5jdGlvbiBMZih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX1mdW5jdGlvbiBQZih0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKGkpe3RoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxlLmNhbGwodGhpcyxpKSxuKX19ZnVuY3Rpb24gTmYodCxlLG4pe3ZhciBpLHI7ZnVuY3Rpb24gbygpe3ZhciBvPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBvIT09ciYmKGk9KHI9bykmJlBmKHQsbyxuKSksaX1yZXR1cm4gby5fdmFsdWU9ZSxvfWZ1bmN0aW9uIElmKHQpe3JldHVybiBmdW5jdGlvbihlKXt0aGlzLnRleHRDb250ZW50PXQuY2FsbCh0aGlzLGUpfX1mdW5jdGlvbiBSZih0KXt2YXIgZSxuO2Z1bmN0aW9uIGkoKXt2YXIgaT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gaSE9PW4mJihlPShuPWkpJiZJZihpKSksZX1yZXR1cm4gaS5fdmFsdWU9dCxpfXZhciBPZj0wO2Z1bmN0aW9uIHpmKHQsZSxuLGkpe3RoaXMuX2dyb3Vwcz10LHRoaXMuX3BhcmVudHM9ZSx0aGlzLl9uYW1lPW4sdGhpcy5faWQ9aX1mdW5jdGlvbiBEZih0KXtyZXR1cm4genUoKS50cmFuc2l0aW9uKHQpfWZ1bmN0aW9uIEJmKCl7cmV0dXJuKytPZn12YXIgSGY9enUucHJvdG90eXBlO2Z1bmN0aW9uIEZmKHQpe3JldHVybit0fWZ1bmN0aW9uIFZmKHQpe3JldHVybiB0KnR9ZnVuY3Rpb24gVWYodCl7cmV0dXJuIHQqKDItdCl9ZnVuY3Rpb24gamYodCl7cmV0dXJuKCh0Kj0yKTw9MT90KnQ6LS10KigyLXQpKzEpLzJ9ZnVuY3Rpb24gR2YodCl7cmV0dXJuIHQqdCp0fWZ1bmN0aW9uIFdmKHQpe3JldHVybi0tdCp0KnQrMX1mdW5jdGlvbiBxZih0KXtyZXR1cm4oKHQqPTIpPD0xP3QqdCp0Oih0LT0yKSp0KnQrMikvMn16Zi5wcm90b3R5cGU9RGYucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp6ZixzZWxlY3Q6ZnVuY3Rpb24gWWYodCl7dmFyIGU9dGhpcy5fbmFtZSxuPXRoaXMuX2lkOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1SYyh0KSk7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89bmV3IEFycmF5KHIpLGE9MDthPHI7KythKWZvcih2YXIgcyxsLGM9aVthXSx1PWMubGVuZ3RoLGg9b1thXT1uZXcgQXJyYXkodSksZD0wO2Q8dTsrK2QpKHM9Y1tkXSkmJihsPXQuY2FsbChzLHMuX19kYXRhX18sZCxjKSkmJigiX19kYXRhX18iaW4gcyYmKGwuX19kYXRhX189cy5fX2RhdGFfXyksaFtkXT1sLHJmKGhbZF0sZSxuLGQsaCxzZihzLG4pKSk7cmV0dXJuIG5ldyB6ZihvLHRoaXMuX3BhcmVudHMsZSxuKX0sc2VsZWN0QWxsOmZ1bmN0aW9uIFhmKHQpe3ZhciBlPXRoaXMuX25hbWUsbj10aGlzLl9pZDsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9emModCkpO2Zvcih2YXIgaT10aGlzLl9ncm91cHMscj1pLmxlbmd0aCxvPVtdLGE9W10scz0wO3M8cjsrK3MpZm9yKHZhciBsLGM9aVtzXSx1PWMubGVuZ3RoLGg9MDtoPHU7KytoKWlmKGw9Y1toXSl7Zm9yKHZhciBkLHA9dC5jYWxsKGwsbC5fX2RhdGFfXyxoLGMpLGY9c2YobCxuKSxtPTAsZz1wLmxlbmd0aDttPGc7KyttKShkPXBbbV0pJiZyZihkLGUsbixtLHAsZik7by5wdXNoKHApLGEucHVzaChsKX1yZXR1cm4gbmV3IHpmKG8sYSxlLG4pfSxmaWx0ZXI6ZnVuY3Rpb24gJGYodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PURjKHQpKTtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49ZS5sZW5ndGgsaT1uZXcgQXJyYXkobikscj0wO3I8bjsrK3IpZm9yKHZhciBvLGE9ZVtyXSxzPWEubGVuZ3RoLGw9aVtyXT1bXSxjPTA7YzxzOysrYykobz1hW2NdKSYmdC5jYWxsKG8sby5fX2RhdGFfXyxjLGEpJiZsLnB1c2gobyk7cmV0dXJuIG5ldyB6ZihpLHRoaXMuX3BhcmVudHMsdGhpcy5fbmFtZSx0aGlzLl9pZCl9LG1lcmdlOmZ1bmN0aW9uIEtmKHQpe2lmKHQuX2lkIT09dGhpcy5faWQpdGhyb3cgbmV3IEVycm9yO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsaT1lLmxlbmd0aCxyPU1hdGgubWluKGksbi5sZW5ndGgpLG89bmV3IEFycmF5KGkpLGE9MDthPHI7KythKWZvcih2YXIgcyxsPWVbYV0sYz1uW2FdLHU9bC5sZW5ndGgsaD1vW2FdPW5ldyBBcnJheSh1KSxkPTA7ZDx1OysrZCkocz1sW2RdfHxjW2RdKSYmKGhbZF09cyk7Zm9yKDthPGk7KythKW9bYV09ZVthXTtyZXR1cm4gbmV3IHpmKG8sdGhpcy5fcGFyZW50cyx0aGlzLl9uYW1lLHRoaXMuX2lkKX0sc2VsZWN0aW9uOmZ1bmN0aW9uIFpmKCl7cmV0dXJuIG5ldyBrZih0aGlzLl9ncm91cHMsdGhpcy5fcGFyZW50cyl9LHRyYW5zaXRpb246ZnVuY3Rpb24gSmYoKXtmb3IodmFyIHQ9dGhpcy5fbmFtZSxlPXRoaXMuX2lkLG49QmYoKSxpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89MDtvPHI7KytvKWZvcih2YXIgYSxzPWlbb10sbD1zLmxlbmd0aCxjPTA7YzxsOysrYylpZihhPXNbY10pe3ZhciB1PXNmKGEsZSk7cmYoYSx0LG4sYyxzLHt0aW1lOnUudGltZSt1LmRlbGF5K3UuZHVyYXRpb24sZGVsYXk6MCxkdXJhdGlvbjp1LmR1cmF0aW9uLGVhc2U6dS5lYXNlfSl9cmV0dXJuIG5ldyB6ZihpLHRoaXMuX3BhcmVudHMsdCxuKX0sY2FsbDpIZi5jYWxsLG5vZGVzOkhmLm5vZGVzLG5vZGU6SGYubm9kZSxzaXplOkhmLnNpemUsZW1wdHk6SGYuZW1wdHksZWFjaDpIZi5lYWNoLG9uOmZ1bmN0aW9uIFFmKHQsZSl7dmFyIG49dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8Mj9zZih0aGlzLm5vZGUoKSxuKS5vbi5vbih0KTp0aGlzLmVhY2goQWYobix0LGUpKX0sYXR0cjpmdW5jdGlvbiB0bSh0LGUpe3ZhciBuPWtjKHQpLGk9InRyYW5zZm9ybSI9PT1uP3hwOmRmO3JldHVybiB0aGlzLmF0dHJUd2Vlbih0LCJmdW5jdGlvbiI9PXR5cGVvZiBlPyhuLmxvY2FsP3lmOl9mKShuLGksaGYodGhpcywiYXR0ci4iK3QsZSkpOm51bGw9PWU/KG4ubG9jYWw/ZmY6cGYpKG4pOihuLmxvY2FsP2dmOm1mKShuLGksZSkpfSxhdHRyVHdlZW46ZnVuY3Rpb24gZW0odCxlKXt2YXIgbj0iYXR0ci4iK3Q7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXJldHVybihuPXRoaXMudHdlZW4obikpJiZuLl92YWx1ZTtpZihudWxsPT1lKXJldHVybiB0aGlzLnR3ZWVuKG4sbnVsbCk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yO3ZhciBpPWtjKHQpO3JldHVybiB0aGlzLnR3ZWVuKG4sKGkubG9jYWw/eGY6d2YpKGksZSkpfSxzdHlsZTpmdW5jdGlvbiBubSh0LGUsbil7dmFyIGk9InRyYW5zZm9ybSI9PSh0Kz0iIik/dnA6ZGY7cmV0dXJuIG51bGw9PWU/dGhpcy5zdHlsZVR3ZWVuKHQsKGZ1bmN0aW9uIHIodCxlKXt2YXIgbixpLHI7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG89UWModGhpcyx0KSxhPSh0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLFFjKHRoaXMsdCkpO3JldHVybiBvPT09YT9udWxsOm89PT1uJiZhPT09aT9yOnI9ZShuPW8saT1hKX19KSh0LGkpKS5vbigiZW5kLnN0eWxlLiIrdCxMZih0KSk6ImZ1bmN0aW9uIj09dHlwZW9mIGU/dGhpcy5zdHlsZVR3ZWVuKHQsKGZ1bmN0aW9uIGEodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYT1RYyh0aGlzLHQpLHM9bih0aGlzKSxsPXMrIiI7cmV0dXJuIG51bGw9PXMmJih0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLGw9cz1RYyh0aGlzLHQpKSxhPT09bD9udWxsOmE9PT1pJiZsPT09cj9vOihyPWwsbz1lKGk9YSxzKSl9fSkodCxpLGhmKHRoaXMsInN0eWxlLiIrdCxlKSkpLmVhY2goKGZ1bmN0aW9uIG8odCxlKXt2YXIgbixpLHIsbyxhPSJzdHlsZS4iK2Uscz0iZW5kLiIrYTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbD1hZih0aGlzLHQpLGM9bC5vbix1PW51bGw9PWwudmFsdWVbYV0/b3x8KG89TGYoZSkpOnZvaWQgMDtjPT09biYmcj09PXV8fChpPShuPWMpLmNvcHkoKSkub24ocyxyPXUpLGwub249aX19KSh0aGlzLl9pZCx0KSk6dGhpcy5zdHlsZVR3ZWVuKHQsKGZ1bmN0aW9uIHModCxlLG4pe3ZhciBpLHIsbz1uKyIiO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPVFjKHRoaXMsdCk7cmV0dXJuIGE9PT1vP251bGw6YT09PWk/cjpyPWUoaT1hLG4pfX0pKHQsaSxlKSxuKS5vbigiZW5kLnN0eWxlLiIrdCxudWxsKX0sc3R5bGVUd2VlbjpmdW5jdGlvbiBpbSh0LGUsbil7dmFyIGk9InN0eWxlLiIrKHQrPSIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKGk9dGhpcy50d2VlbihpKSkmJmkuX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4oaSxudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHRoaXMudHdlZW4oaSxOZih0LGUsbnVsbD09bj8iIjpuKSl9LHRleHQ6ZnVuY3Rpb24gcm0odCl7cmV0dXJuIHRoaXMudHdlZW4oInRleHQiLCJmdW5jdGlvbiI9PXR5cGVvZiB0PyhmdW5jdGlvbiBlKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQodGhpcyk7dGhpcy50ZXh0Q29udGVudD1udWxsPT1lPyIiOmV9fSkoaGYodGhpcywidGV4dCIsdCkpOihmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMudGV4dENvbnRlbnQ9dH19KShudWxsPT10PyIiOnQrIiIpKX0sdGV4dFR3ZWVuOmZ1bmN0aW9uIG9tKHQpe3ZhciBlPSJ0ZXh0IjtpZihhcmd1bWVudHMubGVuZ3RoPDEpcmV0dXJuKGU9dGhpcy50d2VlbihlKSkmJmUuX3ZhbHVlO2lmKG51bGw9PXQpcmV0dXJuIHRoaXMudHdlZW4oZSxudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHRoaXMudHdlZW4oZSxSZih0KSl9LHJlbW92ZTpmdW5jdGlvbiBhbSgpe3JldHVybiB0aGlzLm9uKCJlbmQucmVtb3ZlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD10aGlzLnBhcmVudE5vZGU7Zm9yKHZhciBuIGluIHRoaXMuX190cmFuc2l0aW9uKWlmKCtuIT09ZSlyZXR1cm47dCYmdC5yZW1vdmVDaGlsZCh0aGlzKX19KSh0aGlzLl9pZCkpfSx0d2VlbjpmdW5jdGlvbiBzbSh0LGUpe3ZhciBuPXRoaXMuX2lkO2lmKHQrPSIiLGFyZ3VtZW50cy5sZW5ndGg8Mil7Zm9yKHZhciBpLHI9c2YodGhpcy5ub2RlKCksbikudHdlZW4sbz0wLGE9ci5sZW5ndGg7bzxhOysrbylpZigoaT1yW29dKS5uYW1lPT09dClyZXR1cm4gaS52YWx1ZTtyZXR1cm4gbnVsbH1yZXR1cm4gdGhpcy5lYWNoKChudWxsPT1lP2NmOnVmKShuLHQsZSkpfSxkZWxheTpmdW5jdGlvbiBsbSh0KXt2YXIgZT10aGlzLl9pZDtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2goKCJmdW5jdGlvbiI9PXR5cGVvZiB0P1NmOk1mKShlLHQpKTpzZih0aGlzLm5vZGUoKSxlKS5kZWxheX0sZHVyYXRpb246ZnVuY3Rpb24gY20odCl7dmFyIGU9dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgdD9FZjpUZikoZSx0KSk6c2YodGhpcy5ub2RlKCksZSkuZHVyYXRpb259LGVhc2U6ZnVuY3Rpb24gdW0odCl7dmFyIGU9dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKENmKGUsdCkpOnNmKHRoaXMubm9kZSgpLGUpLmVhc2V9LGVuZDpmdW5jdGlvbiBobSgpe3ZhciB0LGUsbj10aGlzLGk9bi5faWQscj1uLnNpemUoKTtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG8sYSl7dmFyIHM9e3ZhbHVlOmF9LGw9e3ZhbHVlOmZ1bmN0aW9uKCl7MD09LS1yJiZvKCl9fTtuLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49YWYodGhpcyxpKSxyPW4ub247ciE9PXQmJigoZT0odD1yKS5jb3B5KCkpLl8uY2FuY2VsLnB1c2gocyksZS5fLmludGVycnVwdC5wdXNoKHMpLGUuXy5lbmQucHVzaChsKSksbi5vbj1lfSkpfSkpfX07dmFyIGRtPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIE1hdGgucG93KHQsZSl9cmV0dXJuIGU9K2Usbi5leHBvbmVudD10LG59KSgzKSxwbT0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiAxLU1hdGgucG93KDEtdCxlKX1yZXR1cm4gZT0rZSxuLmV4cG9uZW50PXQsbn0pKDMpLGZtPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuKCh0Kj0yKTw9MT9NYXRoLnBvdyh0LGUpOjItTWF0aC5wb3coMi10LGUpKS8yfXJldHVybiBlPStlLG4uZXhwb25lbnQ9dCxufSkoMyksbW09TWF0aC5QSSxnbT1tbS8yO2Z1bmN0aW9uIF9tKHQpe3JldHVybiAxPT0rdD8xOjEtTWF0aC5jb3ModCpnbSl9ZnVuY3Rpb24geW0odCl7cmV0dXJuIE1hdGguc2luKHQqZ20pfWZ1bmN0aW9uIHZtKHQpe3JldHVybigxLU1hdGguY29zKG1tKnQpKS8yfWZ1bmN0aW9uIGJtKHQpe3JldHVybiAxLjAwMDk3NzUxNzEwNjU0OTQqKE1hdGgucG93KDIsLTEwKnQpLS4wMDA5NzY1NjI1KX1mdW5jdGlvbiB4bSh0KXtyZXR1cm4gYm0oMS0rdCl9ZnVuY3Rpb24gd20odCl7cmV0dXJuIDEtYm0odCl9ZnVuY3Rpb24gU20odCl7cmV0dXJuKCh0Kj0yKTw9MT9ibSgxLXQpOjItYm0odC0xKSkvMn1mdW5jdGlvbiBNbSh0KXtyZXR1cm4gMS1NYXRoLnNxcnQoMS10KnQpfWZ1bmN0aW9uIEVtKHQpe3JldHVybiBNYXRoLnNxcnQoMS0gLS10KnQpfWZ1bmN0aW9uIFRtKHQpe3JldHVybigodCo9Mik8PTE/MS1NYXRoLnNxcnQoMS10KnQpOk1hdGguc3FydCgxLSh0LT0yKSp0KSsxKS8yfXZhciBDbT00LzExLEFtPTcuNTYyNTtmdW5jdGlvbiBrbSh0KXtyZXR1cm4gMS1MbSgxLXQpfWZ1bmN0aW9uIExtKHQpe3JldHVybih0PSt0KTxDbT9BbSp0KnQ6dDwuNzI3MjcyNzI3MjcyNzI3Mz9BbSoodC09LjU0NTQ1NDU0NTQ1NDU0NTQpKnQrLjc1OnQ8LjkwOTA5MDkwOTA5MDkwOTE/QW0qKHQtPS44MTgxODE4MTgxODE4MTgyKSp0Ky45Mzc1OkFtKih0LT0uOTU0NTQ1NDU0NTQ1NDU0NikqdCsuOTg0Mzc1fWZ1bmN0aW9uIFBtKHQpe3JldHVybigodCo9Mik8PTE/MS1MbSgxLXQpOkxtKHQtMSkrMSkvMn12YXIgTm09MS43MDE1OCxJbT0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybih0PSt0KSp0KihlKih0LTEpK3QpfXJldHVybiBlPStlLG4ub3ZlcnNob290PXQsbn0pKE5tKSxSbT0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybi0tdCp0KigodCsxKSplK3QpKzF9cmV0dXJuIGU9K2Usbi5vdmVyc2hvb3Q9dCxufSkoTm0pLE9tPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuKCh0Kj0yKTwxP3QqdCooKGUrMSkqdC1lKToodC09MikqdCooKGUrMSkqdCtlKSsyKS8yfXJldHVybiBlPStlLG4ub3ZlcnNob290PXQsbn0pKE5tKSx6bT0yKk1hdGguUEksRG09KGZ1bmN0aW9uIHQoZSxuKXt2YXIgaT1NYXRoLmFzaW4oMS8oZT1NYXRoLm1heCgxLGUpKSkqKG4vPXptKTtmdW5jdGlvbiByKHQpe3JldHVybiBlKmJtKC0gLS10KSpNYXRoLnNpbigoaS10KS9uKX1yZXR1cm4gci5hbXBsaXR1ZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSxuKnptKX0sci5wZXJpb2Q9ZnVuY3Rpb24obil7cmV0dXJuIHQoZSxuKX0scn0pKDEsLjMpLEJtPShmdW5jdGlvbiB0KGUsbil7dmFyIGk9TWF0aC5hc2luKDEvKGU9TWF0aC5tYXgoMSxlKSkpKihuLz16bSk7ZnVuY3Rpb24gcih0KXtyZXR1cm4gMS1lKmJtKHQ9K3QpKk1hdGguc2luKCh0K2kpL24pfXJldHVybiByLmFtcGxpdHVkZT1mdW5jdGlvbihlKXtyZXR1cm4gdChlLG4qem0pfSxyLnBlcmlvZD1mdW5jdGlvbihuKXtyZXR1cm4gdChlLG4pfSxyfSkoMSwuMyksSG09KGZ1bmN0aW9uIHQoZSxuKXt2YXIgaT1NYXRoLmFzaW4oMS8oZT1NYXRoLm1heCgxLGUpKSkqKG4vPXptKTtmdW5jdGlvbiByKHQpe3JldHVybigodD0yKnQtMSk8MD9lKmJtKC10KSpNYXRoLnNpbigoaS10KS9uKToyLWUqYm0odCkqTWF0aC5zaW4oKGkrdCkvbikpLzJ9cmV0dXJuIHIuYW1wbGl0dWRlPWZ1bmN0aW9uKGUpe3JldHVybiB0KGUsbip6bSl9LHIucGVyaW9kPWZ1bmN0aW9uKG4pe3JldHVybiB0KGUsbil9LHJ9KSgxLC4zKSxGbT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxlYXNlTGluZWFyOkZmLGVhc2VRdWFkOmpmLGVhc2VRdWFkSW46VmYsZWFzZVF1YWRPdXQ6VWYsZWFzZVF1YWRJbk91dDpqZixlYXNlQ3ViaWM6cWYsZWFzZUN1YmljSW46R2YsZWFzZUN1YmljT3V0OldmLGVhc2VDdWJpY0luT3V0OnFmLGVhc2VQb2x5OmZtLGVhc2VQb2x5SW46ZG0sZWFzZVBvbHlPdXQ6cG0sZWFzZVBvbHlJbk91dDpmbSxlYXNlU2luOnZtLGVhc2VTaW5JbjpfbSxlYXNlU2luT3V0OnltLGVhc2VTaW5Jbk91dDp2bSxlYXNlRXhwOlNtLGVhc2VFeHBJbjp4bSxlYXNlRXhwT3V0OndtLGVhc2VFeHBJbk91dDpTbSxlYXNlQ2lyY2xlOlRtLGVhc2VDaXJjbGVJbjpNbSxlYXNlQ2lyY2xlT3V0OkVtLGVhc2VDaXJjbGVJbk91dDpUbSxlYXNlQm91bmNlOkxtLGVhc2VCb3VuY2VJbjprbSxlYXNlQm91bmNlT3V0OkxtLGVhc2VCb3VuY2VJbk91dDpQbSxlYXNlQmFjazpPbSxlYXNlQmFja0luOkltLGVhc2VCYWNrT3V0OlJtLGVhc2VCYWNrSW5PdXQ6T20sZWFzZUVsYXN0aWM6Qm0sZWFzZUVsYXN0aWNJbjpEbSxlYXNlRWxhc3RpY091dDpCbSxlYXNlRWxhc3RpY0luT3V0OkhtfSksVm09e3RpbWU6bnVsbCxkZWxheTowLGR1cmF0aW9uOjI1MCxlYXNlOnFmfTtmdW5jdGlvbiBVbSh0LGUpe2Zvcih2YXIgbjshKG49dC5fX3RyYW5zaXRpb24pfHwhKG49bltlXSk7KWlmKCEodD10LnBhcmVudE5vZGUpKXJldHVybiBWbS50aW1lPXFwKCksVm07cmV0dXJuIG59enUucHJvdG90eXBlLmludGVycnVwdD1mdW5jdGlvbiBqbSh0KXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2xmKHRoaXMsdCl9KSl9LHp1LnByb3RvdHlwZS50cmFuc2l0aW9uPWZ1bmN0aW9uIEdtKHQpe3ZhciBlLG47dCBpbnN0YW5jZW9mIHpmPyhlPXQuX2lkLHQ9dC5fbmFtZSk6KGU9QmYoKSwobj1WbSkudGltZT1xcCgpLHQ9bnVsbD09dD9udWxsOnQrIiIpO2Zvcih2YXIgaT10aGlzLl9ncm91cHMscj1pLmxlbmd0aCxvPTA7bzxyOysrbylmb3IodmFyIGEscz1pW29dLGw9cy5sZW5ndGgsYz0wO2M8bDsrK2MpKGE9c1tjXSkmJnJmKGEsdCxlLGMscyxufHxVbShhLGUpKTtyZXR1cm4gbmV3IHpmKGksdGhpcy5fcGFyZW50cyx0LGUpfTt2YXIgV209W251bGxdO2Z1bmN0aW9uIHFtKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBZbSh0LGUsbil7dGhpcy50YXJnZXQ9dCx0aGlzLnR5cGU9ZSx0aGlzLnNlbGVjdGlvbj1ufWZ1bmN0aW9uIFhtKCl7TXUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gJG0oKXtNdS5wcmV2ZW50RGVmYXVsdCgpLE11LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfXZhciBLbT17bmFtZToiZHJhZyJ9LFptPXtuYW1lOiJzcGFjZSJ9LEptPXtuYW1lOiJoYW5kbGUifSxRbT17bmFtZToiY2VudGVyIn07ZnVuY3Rpb24gdGcodCl7cmV0dXJuWyt0WzBdLCt0WzFdXX1mdW5jdGlvbiBlZyh0KXtyZXR1cm5bdGcodFswXSksdGcodFsxXSldfWZ1bmN0aW9uIG5nKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gd2goZSxNdS50b3VjaGVzLHQpfX12YXIgaWc9e25hbWU6IngiLGhhbmRsZXM6WyJ3IiwiZSJdLm1hcChoZyksaW5wdXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbnVsbD09dD9udWxsOltbK3RbMF0sZVswXVsxXV0sWyt0WzFdLGVbMV1bMV1dXX0sb3V0cHV0OmZ1bmN0aW9uKHQpe3JldHVybiB0JiZbdFswXVswXSx0WzFdWzBdXX19LHJnPXtuYW1lOiJ5IixoYW5kbGVzOlsibiIsInMiXS5tYXAoaGcpLGlucHV0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQ/bnVsbDpbW2VbMF1bMF0sK3RbMF1dLFtlWzFdWzBdLCt0WzFdXV19LG91dHB1dDpmdW5jdGlvbih0KXtyZXR1cm4gdCYmW3RbMF1bMV0sdFsxXVsxXV19fSxvZz17bmFtZToieHkiLGhhbmRsZXM6WyJuIiwidyIsImUiLCJzIiwibnciLCJuZSIsInN3Iiwic2UiXS5tYXAoaGcpLGlucHV0OmZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P251bGw6ZWcodCl9LG91dHB1dDpmdW5jdGlvbih0KXtyZXR1cm4gdH19LGFnPXtvdmVybGF5OiJjcm9zc2hhaXIiLHNlbGVjdGlvbjoibW92ZSIsbjoibnMtcmVzaXplIixlOiJldy1yZXNpemUiLHM6Im5zLXJlc2l6ZSIsdzoiZXctcmVzaXplIixudzoibndzZS1yZXNpemUiLG5lOiJuZXN3LXJlc2l6ZSIsc2U6Im53c2UtcmVzaXplIixzdzoibmVzdy1yZXNpemUifSxzZz17ZToidyIsdzoiZSIsbnc6Im5lIixuZToibnciLHNlOiJzdyIsc3c6InNlIn0sbGc9e246InMiLHM6Im4iLG53OiJzdyIsbmU6InNlIixzZToibmUiLHN3OiJudyJ9LGNnPXtvdmVybGF5OjEsc2VsZWN0aW9uOjEsbjpudWxsLGU6MSxzOm51bGwsdzotMSxudzotMSxuZToxLHNlOjEsc3c6LTF9LHVnPXtvdmVybGF5OjEsc2VsZWN0aW9uOjEsbjotMSxlOm51bGwsczoxLHc6bnVsbCxudzotMSxuZTotMSxzZToxLHN3OjF9O2Z1bmN0aW9uIGhnKHQpe3JldHVybnt0eXBlOnR9fWZ1bmN0aW9uIGRnKCl7cmV0dXJuIU11LmN0cmxLZXkmJiFNdS5idXR0b259ZnVuY3Rpb24gcGcoKXt2YXIgdD10aGlzLm93bmVyU1ZHRWxlbWVudHx8dGhpcztyZXR1cm4gdC5oYXNBdHRyaWJ1dGUoInZpZXdCb3giKT9bWyh0PXQudmlld0JveC5iYXNlVmFsKS54LHQueV0sW3QueCt0LndpZHRoLHQueSt0LmhlaWdodF1dOltbMCwwXSxbdC53aWR0aC5iYXNlVmFsLnZhbHVlLHQuaGVpZ2h0LmJhc2VWYWwudmFsdWVdXX1mdW5jdGlvbiBmZygpe3JldHVybiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHN8fCJvbnRvdWNoc3RhcnQiaW4gdGhpc31mdW5jdGlvbiBtZyh0KXtmb3IoOyF0Ll9fYnJ1c2g7KWlmKCEodD10LnBhcmVudE5vZGUpKXJldHVybjtyZXR1cm4gdC5fX2JydXNofWZ1bmN0aW9uIGdnKHQpe3JldHVybiB0WzBdWzBdPT09dFsxXVswXXx8dFswXVsxXT09PXRbMV1bMV19ZnVuY3Rpb24gX2codCl7dmFyIGU9dC5fX2JydXNoO3JldHVybiBlP2UuZGltLm91dHB1dChlLnNlbGVjdGlvbik6bnVsbH1mdW5jdGlvbiB5Zygpe3JldHVybiBiZyhyZyl9ZnVuY3Rpb24gdmcoKXtyZXR1cm4gYmcob2cpfWZ1bmN0aW9uIGJnKHQpe3ZhciBlLG49cGcsaT1kZyxyPWZnLG89ITAsYT13Yygic3RhcnQiLCJicnVzaCIsImVuZCIpLHM9NjtmdW5jdGlvbiBsKGUpe3ZhciBuPWUucHJvcGVydHkoIl9fYnJ1c2giLG0pLnNlbGVjdEFsbCgiLm92ZXJsYXkiKS5kYXRhKFtoZygib3ZlcmxheSIpXSk7bi5lbnRlcigpLmFwcGVuZCgicmVjdCIpLmF0dHIoImNsYXNzIiwib3ZlcmxheSIpLmF0dHIoInBvaW50ZXItZXZlbnRzIiwiYWxsIikuYXR0cigiY3Vyc29yIixhZy5vdmVybGF5KS5tZXJnZShuKS5lYWNoKChmdW5jdGlvbigpe3ZhciB0PW1nKHRoaXMpLmV4dGVudDtEdSh0aGlzKS5hdHRyKCJ4Iix0WzBdWzBdKS5hdHRyKCJ5Iix0WzBdWzFdKS5hdHRyKCJ3aWR0aCIsdFsxXVswXS10WzBdWzBdKS5hdHRyKCJoZWlnaHQiLHRbMV1bMV0tdFswXVsxXSl9KSksZS5zZWxlY3RBbGwoIi5zZWxlY3Rpb24iKS5kYXRhKFtoZygic2VsZWN0aW9uIildKS5lbnRlcigpLmFwcGVuZCgicmVjdCIpLmF0dHIoImNsYXNzIiwic2VsZWN0aW9uIikuYXR0cigiY3Vyc29yIixhZy5zZWxlY3Rpb24pLmF0dHIoImZpbGwiLCIjNzc3IikuYXR0cigiZmlsbC1vcGFjaXR5IiwuMykuYXR0cigic3Ryb2tlIiwiI2ZmZiIpLmF0dHIoInNoYXBlLXJlbmRlcmluZyIsImNyaXNwRWRnZXMiKTt2YXIgaT1lLnNlbGVjdEFsbCgiLmhhbmRsZSIpLmRhdGEodC5oYW5kbGVzLChmdW5jdGlvbih0KXtyZXR1cm4gdC50eXBlfSkpO2kuZXhpdCgpLnJlbW92ZSgpLGkuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsKGZ1bmN0aW9uKHQpe3JldHVybiJoYW5kbGUgaGFuZGxlLS0iK3QudHlwZX0pKS5hdHRyKCJjdXJzb3IiLChmdW5jdGlvbih0KXtyZXR1cm4gYWdbdC50eXBlXX0pKSxlLmVhY2goYykuYXR0cigiZmlsbCIsIm5vbmUiKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpLm9uKCJtb3VzZWRvd24uYnJ1c2giLGQpLmZpbHRlcihyKS5vbigidG91Y2hzdGFydC5icnVzaCIsZCkub24oInRvdWNobW92ZS5icnVzaCIscCkub24oInRvdWNoZW5kLmJydXNoIHRvdWNoY2FuY2VsLmJydXNoIixmKS5zdHlsZSgidG91Y2gtYWN0aW9uIiwibm9uZSIpLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiLCJyZ2JhKDAsMCwwLDApIil9ZnVuY3Rpb24gYygpe3ZhciB0PUR1KHRoaXMpLGU9bWcodGhpcykuc2VsZWN0aW9uO2U/KHQuc2VsZWN0QWxsKCIuc2VsZWN0aW9uIikuc3R5bGUoImRpc3BsYXkiLG51bGwpLmF0dHIoIngiLGVbMF1bMF0pLmF0dHIoInkiLGVbMF1bMV0pLmF0dHIoIndpZHRoIixlWzFdWzBdLWVbMF1bMF0pLmF0dHIoImhlaWdodCIsZVsxXVsxXS1lWzBdWzFdKSx0LnNlbGVjdEFsbCgiLmhhbmRsZSIpLnN0eWxlKCJkaXNwbGF5IixudWxsKS5hdHRyKCJ4IiwoZnVuY3Rpb24odCl7cmV0dXJuImUiPT09dC50eXBlW3QudHlwZS5sZW5ndGgtMV0/ZVsxXVswXS1zLzI6ZVswXVswXS1zLzJ9KSkuYXR0cigieSIsKGZ1bmN0aW9uKHQpe3JldHVybiJzIj09PXQudHlwZVswXT9lWzFdWzFdLXMvMjplWzBdWzFdLXMvMn0pKS5hdHRyKCJ3aWR0aCIsKGZ1bmN0aW9uKHQpe3JldHVybiJuIj09PXQudHlwZXx8InMiPT09dC50eXBlP2VbMV1bMF0tZVswXVswXStzOnN9KSkuYXR0cigiaGVpZ2h0IiwoZnVuY3Rpb24odCl7cmV0dXJuImUiPT09dC50eXBlfHwidyI9PT10LnR5cGU/ZVsxXVsxXS1lWzBdWzFdK3M6c30pKSk6dC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24sLmhhbmRsZSIpLnN0eWxlKCJkaXNwbGF5Iiwibm9uZSIpLmF0dHIoIngiLG51bGwpLmF0dHIoInkiLG51bGwpLmF0dHIoIndpZHRoIixudWxsKS5hdHRyKCJoZWlnaHQiLG51bGwpfWZ1bmN0aW9uIHUodCxlLG4pe3ZhciBpPXQuX19icnVzaC5lbWl0dGVyO3JldHVybiFpfHxuJiZpLmNsZWFuP25ldyBoKHQsZSxuKTppfWZ1bmN0aW9uIGgodCxlLG4pe3RoaXMudGhhdD10LHRoaXMuYXJncz1lLHRoaXMuc3RhdGU9dC5fX2JydXNoLHRoaXMuYWN0aXZlPTAsdGhpcy5jbGVhbj1ufWZ1bmN0aW9uIGQoKXtpZigoIWV8fE11LnRvdWNoZXMpJiZpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIG4scixhLHMsbCxoLGQscCxmLG0sZyxfPXRoaXMseT1NdS50YXJnZXQuX19kYXRhX18udHlwZSx2PSJzZWxlY3Rpb24iPT09KG8mJk11Lm1ldGFLZXk/eT0ib3ZlcmxheSI6eSk/S206byYmTXUuYWx0S2V5P1FtOkptLGI9dD09PXJnP251bGw6Y2dbeV0seD10PT09aWc/bnVsbDp1Z1t5XSx3PW1nKF8pLFM9dy5leHRlbnQsTT13LnNlbGVjdGlvbixFPVNbMF1bMF0sVD1TWzBdWzFdLEM9U1sxXVswXSxBPVNbMV1bMV0saz0wLEw9MCxQPWImJngmJm8mJk11LnNoaWZ0S2V5LE49TXUudG91Y2hlcz9uZyhNdS5jaGFuZ2VkVG91Y2hlc1swXS5pZGVudGlmaWVyKTpiaCxJPU4oXyksUj1JLE89dShfLGFyZ3VtZW50cywhMCkuYmVmb3Jlc3RhcnQoKTsib3ZlcmxheSI9PT15PyhNJiYoZj0hMCksdy5zZWxlY3Rpb249TT1bW249dD09PXJnP0U6SVswXSxhPXQ9PT1pZz9UOklbMV1dLFtsPXQ9PT1yZz9DOm4sZD10PT09aWc/QTphXV0pOihuPU1bMF1bMF0sYT1NWzBdWzFdLGw9TVsxXVswXSxkPU1bMV1bMV0pLHI9bixzPWEsaD1sLHA9ZDt2YXIgej1EdShfKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsIm5vbmUiKSxEPXouc2VsZWN0QWxsKCIub3ZlcmxheSIpLmF0dHIoImN1cnNvciIsYWdbeV0pO2lmKE11LnRvdWNoZXMpTy5tb3ZlZD1ILE8uZW5kZWQ9VjtlbHNle3ZhciBCPUR1KE11LnZpZXcpLm9uKCJtb3VzZW1vdmUuYnJ1c2giLEgsITApLm9uKCJtb3VzZXVwLmJydXNoIixWLCEwKTtvJiZCLm9uKCJrZXlkb3duLmJydXNoIixVLCEwKS5vbigia2V5dXAuYnJ1c2giLGosITApLEVoKE11LnZpZXcpfVhtKCksbGYoXyksYy5jYWxsKF8pLE8uc3RhcnQoKX1mdW5jdGlvbiBIKCl7dmFyIHQ9TihfKTshUHx8bXx8Z3x8KE1hdGguYWJzKHRbMF0tUlswXSk+TWF0aC5hYnModFsxXS1SWzFdKT9nPSEwOm09ITApLFI9dCxmPSEwLCRtKCksRigpfWZ1bmN0aW9uIEYoKXt2YXIgdDtzd2l0Y2goaz1SWzBdLUlbMF0sTD1SWzFdLUlbMV0sdil7Y2FzZSBabTpjYXNlIEttOmImJihrPU1hdGgubWF4KEUtbixNYXRoLm1pbihDLWwsaykpLHI9bitrLGg9bCtrKSx4JiYoTD1NYXRoLm1heChULWEsTWF0aC5taW4oQS1kLEwpKSxzPWErTCxwPWQrTCk7YnJlYWs7Y2FzZSBKbTpiPDA/KGs9TWF0aC5tYXgoRS1uLE1hdGgubWluKEMtbixrKSkscj1uK2ssaD1sKTpiPjAmJihrPU1hdGgubWF4KEUtbCxNYXRoLm1pbihDLWwsaykpLHI9bixoPWwraykseDwwPyhMPU1hdGgubWF4KFQtYSxNYXRoLm1pbihBLWEsTCkpLHM9YStMLHA9ZCk6eD4wJiYoTD1NYXRoLm1heChULWQsTWF0aC5taW4oQS1kLEwpKSxzPWEscD1kK0wpO2JyZWFrO2Nhc2UgUW06YiYmKHI9TWF0aC5tYXgoRSxNYXRoLm1pbihDLG4taypiKSksaD1NYXRoLm1heChFLE1hdGgubWluKEMsbCtrKmIpKSkseCYmKHM9TWF0aC5tYXgoVCxNYXRoLm1pbihBLGEtTCp4KSkscD1NYXRoLm1heChULE1hdGgubWluKEEsZCtMKngpKSl9aDxyJiYoYio9LTEsdD1uLG49bCxsPXQsdD1yLHI9aCxoPXQseSBpbiBzZyYmRC5hdHRyKCJjdXJzb3IiLGFnW3k9c2dbeV1dKSkscDxzJiYoeCo9LTEsdD1hLGE9ZCxkPXQsdD1zLHM9cCxwPXQseSBpbiBsZyYmRC5hdHRyKCJjdXJzb3IiLGFnW3k9bGdbeV1dKSksdy5zZWxlY3Rpb24mJihNPXcuc2VsZWN0aW9uKSxtJiYocj1NWzBdWzBdLGg9TVsxXVswXSksZyYmKHM9TVswXVsxXSxwPU1bMV1bMV0pLE1bMF1bMF09PT1yJiZNWzBdWzFdPT09cyYmTVsxXVswXT09PWgmJk1bMV1bMV09PT1wfHwody5zZWxlY3Rpb249W1tyLHNdLFtoLHBdXSxjLmNhbGwoXyksTy5icnVzaCgpKX1mdW5jdGlvbiBWKCl7aWYoWG0oKSxNdS50b3VjaGVzKXtpZihNdS50b3VjaGVzLmxlbmd0aClyZXR1cm47ZSYmY2xlYXJUaW1lb3V0KGUpLGU9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtlPW51bGx9KSw1MDApfWVsc2UgVGgoTXUudmlldyxmKSxCLm9uKCJrZXlkb3duLmJydXNoIGtleXVwLmJydXNoIG1vdXNlbW92ZS5icnVzaCBtb3VzZXVwLmJydXNoIixudWxsKTt6LmF0dHIoInBvaW50ZXItZXZlbnRzIiwiYWxsIiksRC5hdHRyKCJjdXJzb3IiLGFnLm92ZXJsYXkpLHcuc2VsZWN0aW9uJiYoTT13LnNlbGVjdGlvbiksZ2coTSkmJih3LnNlbGVjdGlvbj1udWxsLGMuY2FsbChfKSksTy5lbmQoKX1mdW5jdGlvbiBVKCl7c3dpdGNoKE11LmtleUNvZGUpe2Nhc2UgMTY6UD1iJiZ4O2JyZWFrO2Nhc2UgMTg6dj09PUptJiYoYiYmKGw9aC1rKmIsbj1yK2sqYikseCYmKGQ9cC1MKngsYT1zK0wqeCksdj1RbSxGKCkpO2JyZWFrO2Nhc2UgMzI6diE9PUptJiZ2IT09UW18fChiPDA/bD1oLWs6Yj4wJiYobj1yLWspLHg8MD9kPXAtTDp4PjAmJihhPXMtTCksdj1abSxELmF0dHIoImN1cnNvciIsYWcuc2VsZWN0aW9uKSxGKCkpO2JyZWFrO2RlZmF1bHQ6cmV0dXJufSRtKCl9ZnVuY3Rpb24gaigpe3N3aXRjaChNdS5rZXlDb2RlKXtjYXNlIDE2OlAmJihtPWc9UD0hMSxGKCkpO2JyZWFrO2Nhc2UgMTg6dj09PVFtJiYoYjwwP2w9aDpiPjAmJihuPXIpLHg8MD9kPXA6eD4wJiYoYT1zKSx2PUptLEYoKSk7YnJlYWs7Y2FzZSAzMjp2PT09Wm0mJihNdS5hbHRLZXk/KGImJihsPWgtaypiLG49citrKmIpLHgmJihkPXAtTCp4LGE9cytMKngpLHY9UW0pOihiPDA/bD1oOmI+MCYmKG49cikseDwwP2Q9cDp4PjAmJihhPXMpLHY9Sm0pLEQuYXR0cigiY3Vyc29yIixhZ1t5XSksRigpKTticmVhaztkZWZhdWx0OnJldHVybn0kbSgpfX1mdW5jdGlvbiBwKCl7dSh0aGlzLGFyZ3VtZW50cykubW92ZWQoKX1mdW5jdGlvbiBmKCl7dSh0aGlzLGFyZ3VtZW50cykuZW5kZWQoKX1mdW5jdGlvbiBtKCl7dmFyIGU9dGhpcy5fX2JydXNofHx7c2VsZWN0aW9uOm51bGx9O3JldHVybiBlLmV4dGVudD1lZyhuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksZS5kaW09dCxlfXJldHVybiBsLm1vdmU9ZnVuY3Rpb24oZSxuKXtlLnNlbGVjdGlvbj9lLm9uKCJzdGFydC5icnVzaCIsKGZ1bmN0aW9uKCl7dSh0aGlzLGFyZ3VtZW50cykuYmVmb3Jlc3RhcnQoKS5zdGFydCgpfSkpLm9uKCJpbnRlcnJ1cHQuYnJ1c2ggZW5kLmJydXNoIiwoZnVuY3Rpb24oKXt1KHRoaXMsYXJndW1lbnRzKS5lbmQoKX0pKS50d2VlbigiYnJ1c2giLChmdW5jdGlvbigpe3ZhciBlPXRoaXMsaT1lLl9fYnJ1c2gscj11KGUsYXJndW1lbnRzKSxvPWkuc2VsZWN0aW9uLGE9dC5pbnB1dCgiZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTpuLGkuZXh0ZW50KSxzPWNwKG8sYSk7ZnVuY3Rpb24gbCh0KXtpLnNlbGVjdGlvbj0xPT09dCYmbnVsbD09PWE/bnVsbDpzKHQpLGMuY2FsbChlKSxyLmJydXNoKCl9cmV0dXJuIG51bGwhPT1vJiZudWxsIT09YT9sOmwoMSl9KSk6ZS5lYWNoKChmdW5jdGlvbigpe3ZhciBlPXRoaXMsaT1hcmd1bWVudHMscj1lLl9fYnJ1c2gsbz10LmlucHV0KCJmdW5jdGlvbiI9PXR5cGVvZiBuP24uYXBwbHkoZSxpKTpuLHIuZXh0ZW50KSxhPXUoZSxpKS5iZWZvcmVzdGFydCgpO2xmKGUpLHIuc2VsZWN0aW9uPW51bGw9PT1vP251bGw6byxjLmNhbGwoZSksYS5zdGFydCgpLmJydXNoKCkuZW5kKCl9KSl9LGwuY2xlYXI9ZnVuY3Rpb24odCl7bC5tb3ZlKHQsbnVsbCl9LGgucHJvdG90eXBlPXtiZWZvcmVzdGFydDpmdW5jdGlvbigpe3JldHVybiAxPT0rK3RoaXMuYWN0aXZlJiYodGhpcy5zdGF0ZS5lbWl0dGVyPXRoaXMsdGhpcy5zdGFydGluZz0hMCksdGhpc30sc3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGFydGluZz8odGhpcy5zdGFydGluZz0hMSx0aGlzLmVtaXQoInN0YXJ0IikpOnRoaXMuZW1pdCgiYnJ1c2giKSx0aGlzfSxicnVzaDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVtaXQoImJydXNoIiksdGhpc30sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIDA9PS0tdGhpcy5hY3RpdmUmJihkZWxldGUgdGhpcy5zdGF0ZS5lbWl0dGVyLHRoaXMuZW1pdCgiZW5kIikpLHRoaXN9LGVtaXQ6ZnVuY3Rpb24oZSl7THUobmV3IFltKGwsZSx0Lm91dHB1dCh0aGlzLnN0YXRlLnNlbGVjdGlvbikpLGEuYXBwbHksYSxbZSx0aGlzLnRoYXQsdGhpcy5hcmdzXSl9fSxsLmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnFtKGVnKHQpKSxsKTpufSxsLmZpbHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnFtKCEhdCksbCk6aX0sbC50b3VjaGFibGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpxbSghIXQpLGwpOnJ9LGwuaGFuZGxlU2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0rdCxsKTpzfSxsLmtleU1vZGlmaWVycz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0hIXQsbCk6b30sbC5vbj1mdW5jdGlvbigpe3ZhciB0PWEub24uYXBwbHkoYSxhcmd1bWVudHMpO3JldHVybiB0PT09YT9sOnR9LGx9dmFyIHhnPU1hdGguY29zLHdnPU1hdGguc2luLFNnPU1hdGguUEksTWc9U2cvMixFZz0yKlNnLFRnPU1hdGgubWF4O2Z1bmN0aW9uIENnKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiB0KGUuc291cmNlLnZhbHVlK2UudGFyZ2V0LnZhbHVlLG4uc291cmNlLnZhbHVlK24udGFyZ2V0LnZhbHVlKX19dmFyIEFnPUFycmF5LnByb3RvdHlwZS5zbGljZTtmdW5jdGlvbiBrZyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19dmFyIExnPU1hdGguUEksUGc9MipMZyxOZz0xZS02LElnPVBnLU5nO2Z1bmN0aW9uIFJnKCl7dGhpcy5feDA9dGhpcy5feTA9dGhpcy5feDE9dGhpcy5feTE9bnVsbCx0aGlzLl89IiJ9ZnVuY3Rpb24gT2coKXtyZXR1cm4gbmV3IFJnfWZ1bmN0aW9uIHpnKHQpe3JldHVybiB0LnNvdXJjZX1mdW5jdGlvbiBEZyh0KXtyZXR1cm4gdC50YXJnZXR9ZnVuY3Rpb24gQmcodCl7cmV0dXJuIHQucmFkaXVzfWZ1bmN0aW9uIEhnKHQpe3JldHVybiB0LnN0YXJ0QW5nbGV9ZnVuY3Rpb24gRmcodCl7cmV0dXJuIHQuZW5kQW5nbGV9UmcucHJvdG90eXBlPU9nLnByb3RvdHlwZT17Y29uc3RydWN0b3I6UmcsbW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fKz0iTSIrKHRoaXMuX3gwPXRoaXMuX3gxPSt0KSsiLCIrKHRoaXMuX3kwPXRoaXMuX3kxPStlKX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX3gxJiYodGhpcy5feDE9dGhpcy5feDAsdGhpcy5feTE9dGhpcy5feTAsdGhpcy5fKz0iWiIpfSxsaW5lVG86ZnVuY3Rpb24odCxlKXt0aGlzLl8rPSJMIisodGhpcy5feDE9K3QpKyIsIisodGhpcy5feTE9K2UpfSxxdWFkcmF0aWNDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLGkpe3RoaXMuXys9IlEiKyArdCsiLCIrICtlKyIsIisodGhpcy5feDE9K24pKyIsIisodGhpcy5feTE9K2kpfSxiZXppZXJDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLGkscixvKXt0aGlzLl8rPSJDIisgK3QrIiwiKyArZSsiLCIrICtuKyIsIisgK2krIiwiKyh0aGlzLl94MT0rcikrIiwiKyh0aGlzLl95MT0rbyl9LGFyY1RvOmZ1bmN0aW9uKHQsZSxuLGkscil7dmFyIG89dGhpcy5feDEsYT10aGlzLl95MSxzPShuPStuKS0odD0rdCksbD0oaT0raSktKGU9K2UpLGM9by10LHU9YS1lLGg9YypjK3UqdTtpZigocj0rcik8MCl0aHJvdyBuZXcgRXJyb3IoIm5lZ2F0aXZlIHJhZGl1czogIityKTtpZihudWxsPT09dGhpcy5feDEpdGhpcy5fKz0iTSIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZSBpZihoPk5nKWlmKE1hdGguYWJzKHUqcy1sKmMpPk5nJiZyKXt2YXIgZD1uLW8scD1pLWEsZj1zKnMrbCpsLG09ZCpkK3AqcCxnPU1hdGguc3FydChmKSxfPU1hdGguc3FydChoKSx5PXIqTWF0aC50YW4oKExnLU1hdGguYWNvcygoZitoLW0pLygyKmcqXykpKS8yKSx2PXkvXyxiPXkvZztNYXRoLmFicyh2LTEpPk5nJiYodGhpcy5fKz0iTCIrKHQrdipjKSsiLCIrKGUrdip1KSksdGhpcy5fKz0iQSIrcisiLCIrcisiLDAsMCwiKyArKHUqZD5jKnApKyIsIisodGhpcy5feDE9dCtiKnMpKyIsIisodGhpcy5feTE9ZStiKmwpfWVsc2UgdGhpcy5fKz0iTCIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZTt9LGFyYzpmdW5jdGlvbih0LGUsbixpLHIsbyl7dD0rdCxlPStlLG89ISFvO3ZhciBhPShuPStuKSpNYXRoLmNvcyhpKSxzPW4qTWF0aC5zaW4oaSksbD10K2EsYz1lK3MsdT0xXm8saD1vP2ktcjpyLWk7aWYobjwwKXRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiK24pO251bGw9PT10aGlzLl94MT90aGlzLl8rPSJNIitsKyIsIitjOihNYXRoLmFicyh0aGlzLl94MS1sKT5OZ3x8TWF0aC5hYnModGhpcy5feTEtYyk+TmcpJiYodGhpcy5fKz0iTCIrbCsiLCIrYyksbiYmKGg8MCYmKGg9aCVQZytQZyksaD5JZz90aGlzLl8rPSJBIituKyIsIituKyIsMCwxLCIrdSsiLCIrKHQtYSkrIiwiKyhlLXMpKyJBIituKyIsIituKyIsMCwxLCIrdSsiLCIrKHRoaXMuX3gxPWwpKyIsIisodGhpcy5feTE9Yyk6aD5OZyYmKHRoaXMuXys9IkEiK24rIiwiK24rIiwwLCIrICsoaD49TGcpKyIsIit1KyIsIisodGhpcy5feDE9dCtuKk1hdGguY29zKHIpKSsiLCIrKHRoaXMuX3kxPWUrbipNYXRoLnNpbihyKSkpKX0scmVjdDpmdW5jdGlvbih0LGUsbixpKXt0aGlzLl8rPSJNIisodGhpcy5feDA9dGhpcy5feDE9K3QpKyIsIisodGhpcy5feTA9dGhpcy5feTE9K2UpKyJoIisgK24rInYiKyAraSsiaCIrLW4rIloifSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl99fTt2YXIgVmc9IiQiO2Z1bmN0aW9uIFVnKCl7fWZ1bmN0aW9uIGpnKHQsZSl7dmFyIG49bmV3IFVnO2lmKHQgaW5zdGFuY2VvZiBVZyl0LmVhY2goKGZ1bmN0aW9uKHQsZSl7bi5zZXQoZSx0KX0pKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkodCkpe3ZhciBpLHI9LTEsbz10Lmxlbmd0aDtpZihudWxsPT1lKWZvcig7KytyPG87KW4uc2V0KHIsdFtyXSk7ZWxzZSBmb3IoOysrcjxvOyluLnNldChlKGk9dFtyXSxyLHQpLGkpfWVsc2UgaWYodClmb3IodmFyIGEgaW4gdCluLnNldChhLHRbYV0pO3JldHVybiBufWZ1bmN0aW9uIEdnKCl7cmV0dXJue319ZnVuY3Rpb24gV2codCxlLG4pe3RbZV09bn1mdW5jdGlvbiBxZygpe3JldHVybiBqZygpfWZ1bmN0aW9uIFlnKHQsZSxuKXt0LnNldChlLG4pfWZ1bmN0aW9uIFhnKCl7fVVnLnByb3RvdHlwZT1qZy5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlVnLGhhczpmdW5jdGlvbih0KXtyZXR1cm4gVmcrdCBpbiB0aGlzfSxnZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbVmcrdF19LHNldDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzW1ZnK3RdPWUsdGhpc30scmVtb3ZlOmZ1bmN0aW9uKHQpe3ZhciBlPVZnK3Q7cmV0dXJuIGUgaW4gdGhpcyYmZGVsZXRlIHRoaXNbZV19LGNsZWFyOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMpdFswXT09PVZnJiZkZWxldGUgdGhpc1t0XX0sa2V5czpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT1WZyYmdC5wdXNoKGUuc2xpY2UoMSkpO3JldHVybiB0fSx2YWx1ZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09VmcmJnQucHVzaCh0aGlzW2VdKTtyZXR1cm4gdH0sZW50cmllczpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT1WZyYmdC5wdXNoKHtrZXk6ZS5zbGljZSgxKSx2YWx1ZTp0aGlzW2VdfSk7cmV0dXJuIHR9LHNpemU6ZnVuY3Rpb24oKXt2YXIgdD0wO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT1WZyYmKyt0O3JldHVybiB0fSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzKWlmKHRbMF09PT1WZylyZXR1cm4hMTtyZXR1cm4hMH0sZWFjaDpmdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09VmcmJnQodGhpc1tlXSxlLnNsaWNlKDEpLHRoaXMpfX07dmFyICRnPWpnLnByb3RvdHlwZTtmdW5jdGlvbiBLZyh0LGUpe3ZhciBuPW5ldyBYZztpZih0IGluc3RhbmNlb2YgWGcpdC5lYWNoKChmdW5jdGlvbih0KXtuLmFkZCh0KX0pKTtlbHNlIGlmKHQpe3ZhciBpPS0xLHI9dC5sZW5ndGg7aWYobnVsbD09ZSlmb3IoOysraTxyOyluLmFkZCh0W2ldKTtlbHNlIGZvcig7KytpPHI7KW4uYWRkKGUodFtpXSxpLHQpKX1yZXR1cm4gbn1mdW5jdGlvbiBaZyh0KXt2YXIgZT1bXTtmb3IodmFyIG4gaW4gdCllLnB1c2gobik7cmV0dXJuIGV9WGcucHJvdG90eXBlPUtnLnByb3RvdHlwZT17Y29uc3RydWN0b3I6WGcsaGFzOiRnLmhhcyxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbVmcrKHQrPSIiKV09dCx0aGlzfSxyZW1vdmU6JGcucmVtb3ZlLGNsZWFyOiRnLmNsZWFyLHZhbHVlczokZy5rZXlzLHNpemU6JGcuc2l6ZSxlbXB0eTokZy5lbXB0eSxlYWNoOiRnLmVhY2h9O3ZhciBKZz1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gUWcodCxlKXtyZXR1cm4gdC1lfWZ1bmN0aW9uIHRfKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBlXyh0LGUpe2Zvcih2YXIgbixpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KWlmKG49bl8odCxlW2ldKSlyZXR1cm4gbjtyZXR1cm4gMH1mdW5jdGlvbiBuXyh0LGUpe2Zvcih2YXIgbj1lWzBdLGk9ZVsxXSxyPS0xLG89MCxhPXQubGVuZ3RoLHM9YS0xO288YTtzPW8rKyl7dmFyIGw9dFtvXSxjPWxbMF0sdT1sWzFdLGg9dFtzXSxkPWhbMF0scD1oWzFdO2lmKGlfKGwsaCxlKSlyZXR1cm4gMDt1PmkhPXA+aSYmbjwoZC1jKSooaS11KS8ocC11KStjJiYocj0tcil9cmV0dXJuIHJ9ZnVuY3Rpb24gaV8odCxlLG4pe3ZhciBpO3JldHVybihmdW5jdGlvbiByKHQsZSxuKXtyZXR1cm4oZVswXS10WzBdKSooblsxXS10WzFdKT09KG5bMF0tdFswXSkqKGVbMV0tdFsxXSl9KSh0LGUsbikmJihmdW5jdGlvbiBvKHQsZSxuKXtyZXR1cm4gdDw9ZSYmZTw9bnx8bjw9ZSYmZTw9dH0pKHRbaT0rKHRbMF09PT1lWzBdKV0sbltpXSxlW2ldKX1mdW5jdGlvbiByXygpe312YXIgb189W1tdLFtbWzEsMS41XSxbLjUsMV1dXSxbW1sxLjUsMV0sWzEsMS41XV1dLFtbWzEuNSwxXSxbLjUsMV1dXSxbW1sxLC41XSxbMS41LDFdXV0sW1tbMSwxLjVdLFsuNSwxXV0sW1sxLC41XSxbMS41LDFdXV0sW1tbMSwuNV0sWzEsMS41XV1dLFtbWzEsLjVdLFsuNSwxXV1dLFtbWy41LDFdLFsxLC41XV1dLFtbWzEsMS41XSxbMSwuNV1dXSxbW1suNSwxXSxbMSwuNV1dLFtbMS41LDFdLFsxLDEuNV1dXSxbW1sxLjUsMV0sWzEsLjVdXV0sW1tbLjUsMV0sWzEuNSwxXV1dLFtbWzEsMS41XSxbMS41LDFdXV0sW1tbLjUsMV0sWzEsMS41XV1dLFtdXTtmdW5jdGlvbiBhXygpe3ZhciB0PTEsZT0xLG49aWMsaT1zO2Z1bmN0aW9uIHIodCl7dmFyIGU9bih0KTtpZihBcnJheS5pc0FycmF5KGUpKWU9ZS5zbGljZSgpLnNvcnQoUWcpO2Vsc2V7dmFyIGk9R2wodCkscj1pWzBdLGE9aVsxXTtlPW5jKHIsYSxlKSxlPUtsKE1hdGguZmxvb3Ioci9lKSplLE1hdGguZmxvb3IoYS9lKSplLGUpfXJldHVybiBlLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIG8odCxlKX0pKX1mdW5jdGlvbiBvKG4scil7dmFyIG89W10scz1bXTtyZXR1cm4oZnVuY3Rpb24gbChuLGkscil7dmFyIG8scyxsLGMsdSxoPW5ldyBBcnJheSxkPW5ldyBBcnJheTtvPXM9LTEsb19bKGw9blswXT49aSk8PDFdLmZvckVhY2gocCk7Zm9yKDsrK288dC0xOylvX1tsfChsPW5bbysxXT49aSk8PDFdLmZvckVhY2gocCk7b19bbDw8MF0uZm9yRWFjaChwKTtmb3IoOysrczxlLTE7KXtmb3Iobz0tMSxvX1sobD1uW3MqdCt0XT49aSk8PDF8KGM9bltzKnRdPj1pKTw8Ml0uZm9yRWFjaChwKTsrK288dC0xOyl1PWMsb19bbHwobD1uW3MqdCt0K28rMV0+PWkpPDwxfChjPW5bcyp0K28rMV0+PWkpPDwyfHU8PDNdLmZvckVhY2gocCk7b19bbHxjPDwzXS5mb3JFYWNoKHApfW89LTEsb19bKGM9bltzKnRdPj1pKTw8Ml0uZm9yRWFjaChwKTtmb3IoOysrbzx0LTE7KXU9YyxvX1soYz1uW3MqdCtvKzFdPj1pKTw8Mnx1PDwzXS5mb3JFYWNoKHApO2Z1bmN0aW9uIHAodCl7dmFyIGUsbixpPVt0WzBdWzBdK28sdFswXVsxXStzXSxsPVt0WzFdWzBdK28sdFsxXVsxXStzXSxjPWEoaSksdT1hKGwpOyhlPWRbY10pPyhuPWhbdV0pPyhkZWxldGUgZFtlLmVuZF0sZGVsZXRlIGhbbi5zdGFydF0sZT09PW4/KGUucmluZy5wdXNoKGwpLHIoZS5yaW5nKSk6aFtlLnN0YXJ0XT1kW24uZW5kXT17c3RhcnQ6ZS5zdGFydCxlbmQ6bi5lbmQscmluZzplLnJpbmcuY29uY2F0KG4ucmluZyl9KTooZGVsZXRlIGRbZS5lbmRdLGUucmluZy5wdXNoKGwpLGRbZS5lbmQ9dV09ZSk6KGU9aFt1XSk/KG49ZFtjXSk/KGRlbGV0ZSBoW2Uuc3RhcnRdLGRlbGV0ZSBkW24uZW5kXSxlPT09bj8oZS5yaW5nLnB1c2gobCkscihlLnJpbmcpKTpoW24uc3RhcnRdPWRbZS5lbmRdPXtzdGFydDpuLnN0YXJ0LGVuZDplLmVuZCxyaW5nOm4ucmluZy5jb25jYXQoZS5yaW5nKX0pOihkZWxldGUgaFtlLnN0YXJ0XSxlLnJpbmcudW5zaGlmdChpKSxoW2Uuc3RhcnQ9Y109ZSk6aFtjXT1kW3VdPXtzdGFydDpjLGVuZDp1LHJpbmc6W2ksbF19fW9fW2M8PDNdLmZvckVhY2gocCl9KShuLHIsKGZ1bmN0aW9uKHQpe2kodCxuLHIpLChmdW5jdGlvbiBlKHQpe2Zvcih2YXIgZT0wLG49dC5sZW5ndGgsaT10W24tMV1bMV0qdFswXVswXS10W24tMV1bMF0qdFswXVsxXTsrK2U8bjspaSs9dFtlLTFdWzFdKnRbZV1bMF0tdFtlLTFdWzBdKnRbZV1bMV07cmV0dXJuIGl9KSh0KT4wP28ucHVzaChbdF0pOnMucHVzaCh0KX0pKSxzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPTAsaT1vLmxlbmd0aDtuPGk7KytuKWlmKC0xIT09ZV8oKGU9b1tuXSlbMF0sdCkpcmV0dXJuIHZvaWQgZS5wdXNoKHQpfSkpLHt0eXBlOiJNdWx0aVBvbHlnb24iLHZhbHVlOnIsY29vcmRpbmF0ZXM6b319ZnVuY3Rpb24gYShlKXtyZXR1cm4gMiplWzBdK2VbMV0qKHQrMSkqNH1mdW5jdGlvbiBzKG4saSxyKXtuLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciBvLGE9blswXSxzPW5bMV0sbD0wfGEsYz0wfHMsdT1pW2MqdCtsXTthPjAmJmE8dCYmbD09PWEmJihuWzBdPWErKHItKG89aVtjKnQrbC0xXSkpLyh1LW8pLS41KSxzPjAmJnM8ZSYmYz09PXMmJihuWzFdPXMrKHItKG89aVsoYy0xKSp0K2xdKSkvKHUtbyktLjUpfSkpfXJldHVybiByLmNvbnRvdXI9byxyLnNpemU9ZnVuY3Rpb24obil7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuW3QsZV07dmFyIGk9TWF0aC5jZWlsKG5bMF0pLG89TWF0aC5jZWlsKG5bMV0pO2lmKCEoaT4wJiZvPjApKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaXplIik7cmV0dXJuIHQ9aSxlPW8scn0sci50aHJlc2hvbGRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QXJyYXkuaXNBcnJheSh0KT90XyhKZy5jYWxsKHQpKTp0Xyh0KSxyKTpufSxyLnNtb290aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT10P3M6cl8scik6aT09PXN9LHJ9ZnVuY3Rpb24gc18odCxlLG4pe2Zvcih2YXIgaT10LndpZHRoLHI9dC5oZWlnaHQsbz0xKyhuPDwxKSxhPTA7YTxyOysrYSlmb3IodmFyIHM9MCxsPTA7czxpK247KytzKXM8aSYmKGwrPXQuZGF0YVtzK2EqaV0pLHM+PW4mJihzPj1vJiYobC09dC5kYXRhW3MtbythKmldKSxlLmRhdGFbcy1uK2EqaV09bC9NYXRoLm1pbihzKzEsaS0xK28tcyxvKSl9ZnVuY3Rpb24gbF8odCxlLG4pe2Zvcih2YXIgaT10LndpZHRoLHI9dC5oZWlnaHQsbz0xKyhuPDwxKSxhPTA7YTxpOysrYSlmb3IodmFyIHM9MCxsPTA7czxyK247KytzKXM8ciYmKGwrPXQuZGF0YVthK3MqaV0pLHM+PW4mJihzPj1vJiYobC09dC5kYXRhW2ErKHMtbykqaV0pLGUuZGF0YVthKyhzLW4pKmldPWwvTWF0aC5taW4ocysxLHItMStvLXMsbykpfWZ1bmN0aW9uIGNfKHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIHVfKHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIGhfKCl7cmV0dXJuIDF9dmFyIGRfPXt9LHBfPXt9O2Z1bmN0aW9uIGZfKHQpe3JldHVybiBuZXcgRnVuY3Rpb24oImQiLCJyZXR1cm4geyIrdC5tYXAoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpKyI6IGRbIitlKyddIHx8ICIiJ30pKS5qb2luKCIsIikrIn0iKX1mdW5jdGlvbiBtXyh0KXt2YXIgZT1PYmplY3QuY3JlYXRlKG51bGwpLG49W107cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7Zm9yKHZhciBpIGluIHQpaSBpbiBlfHxuLnB1c2goZVtpXT1pKX0pKSxufWZ1bmN0aW9uIGdfKHQsZSl7dmFyIG49dCsiIixpPW4ubGVuZ3RoO3JldHVybiBpPGU/bmV3IEFycmF5KGUtaSsxKS5qb2luKDApK246bn1mdW5jdGlvbiBfXyh0KXt2YXIgZT10LmdldFVUQ0hvdXJzKCksbj10LmdldFVUQ01pbnV0ZXMoKSxpPXQuZ2V0VVRDU2Vjb25kcygpLHI9dC5nZXRVVENNaWxsaXNlY29uZHMoKTtyZXR1cm4gaXNOYU4odCk/IkludmFsaWQgRGF0ZSI6KGZ1bmN0aW9uIG8odCl7cmV0dXJuIHQ8MD8iLSIrZ18oLXQsNik6dD45OTk5PyIrIitnXyh0LDYpOmdfKHQsNCl9KSh0LmdldFVUQ0Z1bGxZZWFyKCkpKyItIitnXyh0LmdldFVUQ01vbnRoKCkrMSwyKSsiLSIrZ18odC5nZXRVVENEYXRlKCksMikrKHI/IlQiK2dfKGUsMikrIjoiK2dfKG4sMikrIjoiK2dfKGksMikrIi4iK2dfKHIsMykrIloiOmk/IlQiK2dfKGUsMikrIjoiK2dfKG4sMikrIjoiK2dfKGksMikrIloiOm58fGU/IlQiK2dfKGUsMikrIjoiK2dfKG4sMikrIloiOiIiKX1mdW5jdGlvbiB5Xyh0KXt2YXIgZT1uZXcgUmVnRXhwKCdbIicrdCsiXG5ccl0iKSxuPXQuY2hhckNvZGVBdCgwKTtmdW5jdGlvbiBpKHQsZSl7dmFyIGkscj1bXSxvPXQubGVuZ3RoLGE9MCxzPTAsbD1vPD0wLGM9ITE7ZnVuY3Rpb24gdSgpe2lmKGwpcmV0dXJuIHBfO2lmKGMpcmV0dXJuIGM9ITEsZF87dmFyIGUsaSxyPWE7aWYoMzQ9PT10LmNoYXJDb2RlQXQocikpe2Zvcig7YSsrPG8mJjM0IT09dC5jaGFyQ29kZUF0KGEpfHwzND09PXQuY2hhckNvZGVBdCgrK2EpOyk7cmV0dXJuKGU9YSk+PW8/bD0hMDoxMD09PShpPXQuY2hhckNvZGVBdChhKyspKT9jPSEwOjEzPT09aSYmKGM9ITAsMTA9PT10LmNoYXJDb2RlQXQoYSkmJisrYSksdC5zbGljZShyKzEsZS0xKS5yZXBsYWNlKC8iIi9nLCciJyl9Zm9yKDthPG87KXtpZigxMD09PShpPXQuY2hhckNvZGVBdChlPWErKykpKWM9ITA7ZWxzZSBpZigxMz09PWkpYz0hMCwxMD09PXQuY2hhckNvZGVBdChhKSYmKythO2Vsc2UgaWYoaSE9PW4pY29udGludWU7cmV0dXJuIHQuc2xpY2UocixlKX1yZXR1cm4gbD0hMCx0LnNsaWNlKHIsbyl9Zm9yKDEwPT09dC5jaGFyQ29kZUF0KG8tMSkmJi0tbywxMz09PXQuY2hhckNvZGVBdChvLTEpJiYtLW87KGk9dSgpKSE9PXBfOyl7Zm9yKHZhciBoPVtdO2khPT1kXyYmaSE9PXBfOyloLnB1c2goaSksaT11KCk7ZSYmbnVsbD09KGg9ZShoLHMrKykpfHxyLnB1c2goaCl9cmV0dXJuIHJ9ZnVuY3Rpb24gcihlLG4pe3JldHVybiBlLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gYShlW3RdKX0pKS5qb2luKHQpfSkpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUubWFwKGEpLmpvaW4odCl9ZnVuY3Rpb24gYSh0KXtyZXR1cm4gbnVsbD09dD8iIjp0IGluc3RhbmNlb2YgRGF0ZT9fXyh0KTplLnRlc3QodCs9IiIpPyciJyt0LnJlcGxhY2UoLyIvZywnIiInKSsnIic6dH1yZXR1cm57cGFyc2U6ZnVuY3Rpb24gcyh0LGUpe3ZhciBuLHIsbz1pKHQsKGZ1bmN0aW9uKHQsaSl7aWYobilyZXR1cm4gbih0LGktMSk7cj10LG49ZT8oZnVuY3Rpb24gbyh0LGUpe3ZhciBuPWZfKHQpO3JldHVybiBmdW5jdGlvbihpLHIpe3JldHVybiBlKG4oaSkscix0KX19KSh0LGUpOmZfKHQpfSkpO3JldHVybiBvLmNvbHVtbnM9cnx8W10sb30scGFyc2VSb3dzOmksZm9ybWF0OmZ1bmN0aW9uIGwoZSxuKXtyZXR1cm4gbnVsbD09biYmKG49bV8oZSkpLFtuLm1hcChhKS5qb2luKHQpXS5jb25jYXQocihlLG4pKS5qb2luKCJcbiIpfSxmb3JtYXRCb2R5OmZ1bmN0aW9uIGModCxlKXtyZXR1cm4gbnVsbD09ZSYmKGU9bV8odCkpLHIodCxlKS5qb2luKCJcbiIpfSxmb3JtYXRSb3dzOmZ1bmN0aW9uIHUodCl7cmV0dXJuIHQubWFwKG8pLmpvaW4oIlxuIil9LGZvcm1hdFJvdzpvLGZvcm1hdFZhbHVlOmF9fXZhciB2Xz15XygiLCIpLGJfPXZfLnBhcnNlLHhfPXZfLnBhcnNlUm93cyx3Xz12Xy5mb3JtYXQsU189dl8uZm9ybWF0Qm9keSxNXz12Xy5mb3JtYXRSb3dzLEVfPXZfLmZvcm1hdFJvdyxUXz12Xy5mb3JtYXRWYWx1ZSxDXz15XygiXHQiKSxBXz1DXy5wYXJzZSxrXz1DXy5wYXJzZVJvd3MsTF89Q18uZm9ybWF0LFBfPUNfLmZvcm1hdEJvZHksTl89Q18uZm9ybWF0Um93cyxJXz1DXy5mb3JtYXRSb3csUl89Q18uZm9ybWF0VmFsdWU7dmFyIE9fPW5ldyBEYXRlKCIyMDE5LTAxLTAxVDAwOjAwIikuZ2V0SG91cnMoKXx8bmV3IERhdGUoIjIwMTktMDctMDFUMDA6MDAiKS5nZXRIb3VycygpO2Z1bmN0aW9uIHpfKHQpe2lmKCF0Lm9rKXRocm93IG5ldyBFcnJvcih0LnN0YXR1cysiICIrdC5zdGF0dXNUZXh0KTtyZXR1cm4gdC5ibG9iKCl9ZnVuY3Rpb24gRF8odCl7aWYoIXQub2spdGhyb3cgbmV3IEVycm9yKHQuc3RhdHVzKyIgIit0LnN0YXR1c1RleHQpO3JldHVybiB0LmFycmF5QnVmZmVyKCl9ZnVuY3Rpb24gQl8odCl7aWYoIXQub2spdGhyb3cgbmV3IEVycm9yKHQuc3RhdHVzKyIgIit0LnN0YXR1c1RleHQpO3JldHVybiB0LnRleHQoKX1mdW5jdGlvbiBIXyh0LGUpe3JldHVybiBmZXRjaCh0LGUpLnRoZW4oQl8pfWZ1bmN0aW9uIEZfKHQpe3JldHVybiBmdW5jdGlvbihlLG4saSl7cmV0dXJuIDI9PT1hcmd1bWVudHMubGVuZ3RoJiYiZnVuY3Rpb24iPT10eXBlb2YgbiYmKGk9bixuPXZvaWQgMCksSF8oZSxuKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gdChlLGkpfSkpfX12YXIgVl89Rl8oYl8pLFVfPUZfKEFfKTtmdW5jdGlvbiBqXyh0KXtpZighdC5vayl0aHJvdyBuZXcgRXJyb3IodC5zdGF0dXMrIiAiK3Quc3RhdHVzVGV4dCk7aWYoMjA0IT09dC5zdGF0dXMmJjIwNSE9PXQuc3RhdHVzKXJldHVybiB0Lmpzb24oKX1mdW5jdGlvbiBHXyh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gSF8oZSxuKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUsdCl9KSl9fXZhciBXXz1HXygiYXBwbGljYXRpb24veG1sIikscV89R18oInRleHQvaHRtbCIpLFlfPUdfKCJpbWFnZS9zdmcreG1sIik7ZnVuY3Rpb24gWF8odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uICRfKCl7cmV0dXJuIDFlLTYqKE1hdGgucmFuZG9tKCktLjUpfWZ1bmN0aW9uIEtfKHQsZSxuLGkpe2lmKGlzTmFOKGUpfHxpc05hTihuKSlyZXR1cm4gdDt2YXIgcixvLGEscyxsLGMsdSxoLGQscD10Ll9yb290LGY9e2RhdGE6aX0sbT10Ll94MCxnPXQuX3kwLF89dC5feDEseT10Ll95MTtpZighcClyZXR1cm4gdC5fcm9vdD1mLHQ7Zm9yKDtwLmxlbmd0aDspaWYoKGM9ZT49KG89KG0rXykvMikpP209bzpfPW8sKHU9bj49KGE9KGcreSkvMikpP2c9YTp5PWEscj1wLCEocD1wW2g9dTw8MXxjXSkpcmV0dXJuIHJbaF09Zix0O2lmKHM9K3QuX3guY2FsbChudWxsLHAuZGF0YSksbD0rdC5feS5jYWxsKG51bGwscC5kYXRhKSxlPT09cyYmbj09PWwpcmV0dXJuIGYubmV4dD1wLHI/cltoXT1mOnQuX3Jvb3Q9Zix0O2Rve3I9cj9yW2hdPW5ldyBBcnJheSg0KTp0Ll9yb290PW5ldyBBcnJheSg0KSwoYz1lPj0obz0obStfKS8yKSk/bT1vOl89bywodT1uPj0oYT0oZyt5KS8yKSk/Zz1hOnk9YX13aGlsZSgoaD11PDwxfGMpPT0oZD0obD49YSk8PDF8cz49bykpO3JldHVybiByW2RdPXAscltoXT1mLHR9ZnVuY3Rpb24gWl8odCxlLG4saSxyKXt0aGlzLm5vZGU9dCx0aGlzLngwPWUsdGhpcy55MD1uLHRoaXMueDE9aSx0aGlzLnkxPXJ9ZnVuY3Rpb24gSl8odCl7cmV0dXJuIHRbMF19ZnVuY3Rpb24gUV8odCl7cmV0dXJuIHRbMV19ZnVuY3Rpb24gdHkodCxlLG4pe3ZhciBpPW5ldyBleShudWxsPT1lP0pfOmUsbnVsbD09bj9RXzpuLE5hTixOYU4sTmFOLE5hTik7cmV0dXJuIG51bGw9PXQ/aTppLmFkZEFsbCh0KX1mdW5jdGlvbiBleSh0LGUsbixpLHIsbyl7dGhpcy5feD10LHRoaXMuX3k9ZSx0aGlzLl94MD1uLHRoaXMuX3kwPWksdGhpcy5feDE9cix0aGlzLl95MT1vLHRoaXMuX3Jvb3Q9dm9pZCAwfWZ1bmN0aW9uIG55KHQpe2Zvcih2YXIgZT17ZGF0YTp0LmRhdGF9LG49ZTt0PXQubmV4dDspbj1uLm5leHQ9e2RhdGE6dC5kYXRhfTtyZXR1cm4gZX12YXIgaXk9dHkucHJvdG90eXBlPWV5LnByb3RvdHlwZTtmdW5jdGlvbiByeSh0KXtyZXR1cm4gdC54K3Qudnh9ZnVuY3Rpb24gb3kodCl7cmV0dXJuIHQueSt0LnZ5fWZ1bmN0aW9uIGF5KHQpe3JldHVybiB0LmluZGV4fWZ1bmN0aW9uIHN5KHQsZSl7dmFyIG49dC5nZXQoZSk7aWYoIW4pdGhyb3cgbmV3IEVycm9yKCJtaXNzaW5nOiAiK2UpO3JldHVybiBufWZ1bmN0aW9uIGx5KHQpe3JldHVybiB0Lnh9ZnVuY3Rpb24gY3kodCl7cmV0dXJuIHQueX1peS5jb3B5PWZ1bmN0aW9uKCl7dmFyIHQsZSxuPW5ldyBleSh0aGlzLl94LHRoaXMuX3ksdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpLGk9dGhpcy5fcm9vdDtpZighaSlyZXR1cm4gbjtpZighaS5sZW5ndGgpcmV0dXJuIG4uX3Jvb3Q9bnkoaSksbjtmb3IodD1be3NvdXJjZTppLHRhcmdldDpuLl9yb290PW5ldyBBcnJheSg0KX1dO2k9dC5wb3AoKTspZm9yKHZhciByPTA7cjw0OysrcikoZT1pLnNvdXJjZVtyXSkmJihlLmxlbmd0aD90LnB1c2goe3NvdXJjZTplLHRhcmdldDppLnRhcmdldFtyXT1uZXcgQXJyYXkoNCl9KTppLnRhcmdldFtyXT1ueShlKSk7cmV0dXJuIG59LGl5LmFkZD1mdW5jdGlvbiB1eSh0KXt2YXIgZT0rdGhpcy5feC5jYWxsKG51bGwsdCksbj0rdGhpcy5feS5jYWxsKG51bGwsdCk7cmV0dXJuIEtfKHRoaXMuY292ZXIoZSxuKSxlLG4sdCl9LGl5LmFkZEFsbD1mdW5jdGlvbiBoeSh0KXt2YXIgZSxuLGkscixvPXQubGVuZ3RoLGE9bmV3IEFycmF5KG8pLHM9bmV3IEFycmF5KG8pLGw9MS8wLGM9MS8wLHU9LTEvMCxoPS0xLzA7Zm9yKG49MDtuPG87KytuKWlzTmFOKGk9K3RoaXMuX3guY2FsbChudWxsLGU9dFtuXSkpfHxpc05hTihyPSt0aGlzLl95LmNhbGwobnVsbCxlKSl8fChhW25dPWksc1tuXT1yLGk8bCYmKGw9aSksaT51JiYodT1pKSxyPGMmJihjPXIpLHI+aCYmKGg9cikpO2lmKGw+dXx8Yz5oKXJldHVybiB0aGlzO2Zvcih0aGlzLmNvdmVyKGwsYykuY292ZXIodSxoKSxuPTA7bjxvOysrbilLXyh0aGlzLGFbbl0sc1tuXSx0W25dKTtyZXR1cm4gdGhpc30saXkuY292ZXI9ZnVuY3Rpb24gZHkodCxlKXtpZihpc05hTih0PSt0KXx8aXNOYU4oZT0rZSkpcmV0dXJuIHRoaXM7dmFyIG49dGhpcy5feDAsaT10aGlzLl95MCxyPXRoaXMuX3gxLG89dGhpcy5feTE7aWYoaXNOYU4obikpcj0obj1NYXRoLmZsb29yKHQpKSsxLG89KGk9TWF0aC5mbG9vcihlKSkrMTtlbHNle2Zvcih2YXIgYSxzLGw9ci1uLGM9dGhpcy5fcm9vdDtuPnR8fHQ+PXJ8fGk+ZXx8ZT49bzspc3dpdGNoKHM9KGU8aSk8PDF8dDxuLChhPW5ldyBBcnJheSg0KSlbc109YyxjPWEsbCo9MixzKXtjYXNlIDA6cj1uK2wsbz1pK2w7YnJlYWs7Y2FzZSAxOm49ci1sLG89aStsO2JyZWFrO2Nhc2UgMjpyPW4rbCxpPW8tbDticmVhaztjYXNlIDM6bj1yLWwsaT1vLWx9dGhpcy5fcm9vdCYmdGhpcy5fcm9vdC5sZW5ndGgmJih0aGlzLl9yb290PWMpfXJldHVybiB0aGlzLl94MD1uLHRoaXMuX3kwPWksdGhpcy5feDE9cix0aGlzLl95MT1vLHRoaXN9LGl5LmRhdGE9ZnVuY3Rpb24gcHkoKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy52aXNpdCgoZnVuY3Rpb24oZSl7aWYoIWUubGVuZ3RoKWRve3QucHVzaChlLmRhdGEpfXdoaWxlKGU9ZS5uZXh0KX0pKSx0fSxpeS5leHRlbnQ9ZnVuY3Rpb24gZnkodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5jb3ZlcigrdFswXVswXSwrdFswXVsxXSkuY292ZXIoK3RbMV1bMF0sK3RbMV1bMV0pOmlzTmFOKHRoaXMuX3gwKT92b2lkIDA6W1t0aGlzLl94MCx0aGlzLl95MF0sW3RoaXMuX3gxLHRoaXMuX3kxXV19LGl5LmZpbmQ9ZnVuY3Rpb24gbXkodCxlLG4pe3ZhciBpLHIsbyxhLHMsbCxjLHU9dGhpcy5feDAsaD10aGlzLl95MCxkPXRoaXMuX3gxLHA9dGhpcy5feTEsZj1bXSxtPXRoaXMuX3Jvb3Q7Zm9yKG0mJmYucHVzaChuZXcgWl8obSx1LGgsZCxwKSksbnVsbD09bj9uPTEvMDoodT10LW4saD1lLW4sZD10K24scD1lK24sbio9bik7bD1mLnBvcCgpOylpZighKCEobT1sLm5vZGUpfHwocj1sLngwKT5kfHwobz1sLnkwKT5wfHwoYT1sLngxKTx1fHwocz1sLnkxKTxoKSlpZihtLmxlbmd0aCl7dmFyIGc9KHIrYSkvMixfPShvK3MpLzI7Zi5wdXNoKG5ldyBaXyhtWzNdLGcsXyxhLHMpLG5ldyBaXyhtWzJdLHIsXyxnLHMpLG5ldyBaXyhtWzFdLGcsbyxhLF8pLG5ldyBaXyhtWzBdLHIsbyxnLF8pKSwoYz0oZT49Xyk8PDF8dD49ZykmJihsPWZbZi5sZW5ndGgtMV0sZltmLmxlbmd0aC0xXT1mW2YubGVuZ3RoLTEtY10sZltmLmxlbmd0aC0xLWNdPWwpfWVsc2V7dmFyIHk9dC0rdGhpcy5feC5jYWxsKG51bGwsbS5kYXRhKSx2PWUtK3RoaXMuX3kuY2FsbChudWxsLG0uZGF0YSksYj15Knkrdip2O2lmKGI8bil7dmFyIHg9TWF0aC5zcXJ0KG49Yik7dT10LXgsaD1lLXgsZD10K3gscD1lK3gsaT1tLmRhdGF9fXJldHVybiBpfSxpeS5yZW1vdmU9ZnVuY3Rpb24gZ3kodCl7aWYoaXNOYU4obz0rdGhpcy5feC5jYWxsKG51bGwsdCkpfHxpc05hTihhPSt0aGlzLl95LmNhbGwobnVsbCx0KSkpcmV0dXJuIHRoaXM7dmFyIGUsbixpLHIsbyxhLHMsbCxjLHUsaCxkLHA9dGhpcy5fcm9vdCxmPXRoaXMuX3gwLG09dGhpcy5feTAsZz10aGlzLl94MSxfPXRoaXMuX3kxO2lmKCFwKXJldHVybiB0aGlzO2lmKHAubGVuZ3RoKWZvcig7Oyl7aWYoKGM9bz49KHM9KGYrZykvMikpP2Y9czpnPXMsKHU9YT49KGw9KG0rXykvMikpP209bDpfPWwsZT1wLCEocD1wW2g9dTw8MXxjXSkpcmV0dXJuIHRoaXM7aWYoIXAubGVuZ3RoKWJyZWFrOyhlW2grMSYzXXx8ZVtoKzImM118fGVbaCszJjNdKSYmKG49ZSxkPWgpfWZvcig7cC5kYXRhIT09dDspaWYoaT1wLCEocD1wLm5leHQpKXJldHVybiB0aGlzO3JldHVybihyPXAubmV4dCkmJmRlbGV0ZSBwLm5leHQsaT8ocj9pLm5leHQ9cjpkZWxldGUgaS5uZXh0LHRoaXMpOmU/KHI/ZVtoXT1yOmRlbGV0ZSBlW2hdLChwPWVbMF18fGVbMV18fGVbMl18fGVbM10pJiZwPT09KGVbM118fGVbMl18fGVbMV18fGVbMF0pJiYhcC5sZW5ndGgmJihuP25bZF09cDp0aGlzLl9yb290PXApLHRoaXMpOih0aGlzLl9yb290PXIsdGhpcyl9LGl5LnJlbW92ZUFsbD1mdW5jdGlvbiBfeSh0KXtmb3IodmFyIGU9MCxuPXQubGVuZ3RoO2U8bjsrK2UpdGhpcy5yZW1vdmUodFtlXSk7cmV0dXJuIHRoaXN9LGl5LnJvb3Q9ZnVuY3Rpb24geXkoKXtyZXR1cm4gdGhpcy5fcm9vdH0saXkuc2l6ZT1mdW5jdGlvbiB2eSgpe3ZhciB0PTA7cmV0dXJuIHRoaXMudmlzaXQoKGZ1bmN0aW9uKGUpe2lmKCFlLmxlbmd0aClkb3srK3R9d2hpbGUoZT1lLm5leHQpfSkpLHR9LGl5LnZpc2l0PWZ1bmN0aW9uIGJ5KHQpe3ZhciBlLG4saSxyLG8sYSxzPVtdLGw9dGhpcy5fcm9vdDtmb3IobCYmcy5wdXNoKG5ldyBaXyhsLHRoaXMuX3gwLHRoaXMuX3kwLHRoaXMuX3gxLHRoaXMuX3kxKSk7ZT1zLnBvcCgpOylpZighdChsPWUubm9kZSxpPWUueDAscj1lLnkwLG89ZS54MSxhPWUueTEpJiZsLmxlbmd0aCl7dmFyIGM9KGkrbykvMix1PShyK2EpLzI7KG49bFszXSkmJnMucHVzaChuZXcgWl8obixjLHUsbyxhKSksKG49bFsyXSkmJnMucHVzaChuZXcgWl8obixpLHUsYyxhKSksKG49bFsxXSkmJnMucHVzaChuZXcgWl8obixjLHIsbyx1KSksKG49bFswXSkmJnMucHVzaChuZXcgWl8obixpLHIsYyx1KSl9cmV0dXJuIHRoaXN9LGl5LnZpc2l0QWZ0ZXI9ZnVuY3Rpb24geHkodCl7dmFyIGUsbj1bXSxpPVtdO2Zvcih0aGlzLl9yb290JiZuLnB1c2gobmV3IFpfKHRoaXMuX3Jvb3QsdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpKTtlPW4ucG9wKCk7KXt2YXIgcj1lLm5vZGU7aWYoci5sZW5ndGgpe3ZhciBvLGE9ZS54MCxzPWUueTAsbD1lLngxLGM9ZS55MSx1PShhK2wpLzIsaD0ocytjKS8yOyhvPXJbMF0pJiZuLnB1c2gobmV3IFpfKG8sYSxzLHUsaCkpLChvPXJbMV0pJiZuLnB1c2gobmV3IFpfKG8sdSxzLGwsaCkpLChvPXJbMl0pJiZuLnB1c2gobmV3IFpfKG8sYSxoLHUsYykpLChvPXJbM10pJiZuLnB1c2gobmV3IFpfKG8sdSxoLGwsYykpfWkucHVzaChlKX1mb3IoO2U9aS5wb3AoKTspdChlLm5vZGUsZS54MCxlLnkwLGUueDEsZS55MSk7cmV0dXJuIHRoaXN9LGl5Lng9ZnVuY3Rpb24gd3kodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3g9dCx0aGlzKTp0aGlzLl94fSxpeS55PWZ1bmN0aW9uIFN5KHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl95PXQsdGhpcyk6dGhpcy5feX07dmFyIE15PU1hdGguUEkqKDMtTWF0aC5zcXJ0KDUpKTtmdW5jdGlvbiBFeSh0LGUpe2lmKChuPSh0PWU/dC50b0V4cG9uZW50aWFsKGUtMSk6dC50b0V4cG9uZW50aWFsKCkpLmluZGV4T2YoImUiKSk8MClyZXR1cm4gbnVsbDt2YXIgbixpPXQuc2xpY2UoMCxuKTtyZXR1cm5baS5sZW5ndGg+MT9pWzBdK2kuc2xpY2UoMik6aSwrdC5zbGljZShuKzEpXX1mdW5jdGlvbiBUeSh0KXtyZXR1cm4odD1FeShNYXRoLmFicyh0KSkpP3RbMV06TmFOfXZhciBDeSxBeT0vXig/OiguKT8oWzw+PV5dKSk/KFsrXC0oIF0pPyhbJCNdKT8oMCk/KFxkKyk/KCwpPyhcLlxkKyk/KH4pPyhbYS16JV0pPyQvaTtmdW5jdGlvbiBreSh0KXtpZighKGU9QXkuZXhlYyh0KSkpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGZvcm1hdDogIit0KTt2YXIgZTtyZXR1cm4gbmV3IEx5KHtmaWxsOmVbMV0sYWxpZ246ZVsyXSxzaWduOmVbM10sc3ltYm9sOmVbNF0semVybzplWzVdLHdpZHRoOmVbNl0sY29tbWE6ZVs3XSxwcmVjaXNpb246ZVs4XSYmZVs4XS5zbGljZSgxKSx0cmltOmVbOV0sdHlwZTplWzEwXX0pfWZ1bmN0aW9uIEx5KHQpe3RoaXMuZmlsbD12b2lkIDA9PT10LmZpbGw/IiAiOnQuZmlsbCsiIix0aGlzLmFsaWduPXZvaWQgMD09PXQuYWxpZ24/Ij4iOnQuYWxpZ24rIiIsdGhpcy5zaWduPXZvaWQgMD09PXQuc2lnbj8iLSI6dC5zaWduKyIiLHRoaXMuc3ltYm9sPXZvaWQgMD09PXQuc3ltYm9sPyIiOnQuc3ltYm9sKyIiLHRoaXMuemVybz0hIXQuemVybyx0aGlzLndpZHRoPXZvaWQgMD09PXQud2lkdGg/dm9pZCAwOit0LndpZHRoLHRoaXMuY29tbWE9ISF0LmNvbW1hLHRoaXMucHJlY2lzaW9uPXZvaWQgMD09PXQucHJlY2lzaW9uP3ZvaWQgMDordC5wcmVjaXNpb24sdGhpcy50cmltPSEhdC50cmltLHRoaXMudHlwZT12b2lkIDA9PT10LnR5cGU/IiI6dC50eXBlKyIifWZ1bmN0aW9uIFB5KHQsZSl7dmFyIG49RXkodCxlKTtpZighbilyZXR1cm4gdCsiIjt2YXIgaT1uWzBdLHI9blsxXTtyZXR1cm4gcjwwPyIwLiIrbmV3IEFycmF5KC1yKS5qb2luKCIwIikraTppLmxlbmd0aD5yKzE/aS5zbGljZSgwLHIrMSkrIi4iK2kuc2xpY2UocisxKTppK25ldyBBcnJheShyLWkubGVuZ3RoKzIpLmpvaW4oIjAiKX1reS5wcm90b3R5cGU9THkucHJvdG90eXBlLEx5LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbGwrdGhpcy5hbGlnbit0aGlzLnNpZ24rdGhpcy5zeW1ib2wrKHRoaXMuemVybz8iMCI6IiIpKyh2b2lkIDA9PT10aGlzLndpZHRoPyIiOk1hdGgubWF4KDEsMHx0aGlzLndpZHRoKSkrKHRoaXMuY29tbWE/IiwiOiIiKSsodm9pZCAwPT09dGhpcy5wcmVjaXNpb24/IiI6Ii4iK01hdGgubWF4KDAsMHx0aGlzLnByZWNpc2lvbikpKyh0aGlzLnRyaW0/In4iOiIiKSt0aGlzLnR5cGV9O3ZhciBOeT17IiUiOmZ1bmN0aW9uKHQsZSl7cmV0dXJuKDEwMCp0KS50b0ZpeGVkKGUpfSxiOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDIpfSxjOmZ1bmN0aW9uKHQpe3JldHVybiB0KyIifSxkOmZ1bmN0aW9uIEl5KHQpe3JldHVybiBNYXRoLmFicyh0PU1hdGgucm91bmQodCkpPj0xZTIxP3QudG9Mb2NhbGVTdHJpbmcoImVuIikucmVwbGFjZSgvLC9nLCIiKTp0LnRvU3RyaW5nKDEwKX0sZTpmdW5jdGlvbih0LGUpe3JldHVybiB0LnRvRXhwb25lbnRpYWwoZSl9LGY6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC50b0ZpeGVkKGUpfSxnOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudG9QcmVjaXNpb24oZSl9LG86ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoOCl9LHA6ZnVuY3Rpb24odCxlKXtyZXR1cm4gUHkoMTAwKnQsZSl9LHI6UHksczpmdW5jdGlvbiBSeSh0LGUpe3ZhciBuPUV5KHQsZSk7aWYoIW4pcmV0dXJuIHQrIiI7dmFyIGk9blswXSxyPW5bMV0sbz1yLShDeT0zKk1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihyLzMpKSkpKzEsYT1pLmxlbmd0aDtyZXR1cm4gbz09PWE/aTpvPmE/aStuZXcgQXJyYXkoby1hKzEpLmpvaW4oIjAiKTpvPjA/aS5zbGljZSgwLG8pKyIuIitpLnNsaWNlKG8pOiIwLiIrbmV3IEFycmF5KDEtbykuam9pbigiMCIpK0V5KHQsTWF0aC5tYXgoMCxlK28tMSkpWzBdfSxYOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfSx4OmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDE2KX19O2Z1bmN0aW9uIE95KHQpe3JldHVybiB0fXZhciB6eSxEeSxCeSxIeT1BcnJheS5wcm90b3R5cGUubWFwLEZ5PVsieSIsInoiLCJhIiwiZiIsInAiLCJuIiwiwrUiLCJtIiwiIiwiayIsIk0iLCJHIiwiVCIsIlAiLCJFIiwiWiIsIlkiXTtmdW5jdGlvbiBWeSh0KXt2YXIgZT12b2lkIDA9PT10Lmdyb3VwaW5nfHx2b2lkIDA9PT10LnRob3VzYW5kcz9PeTooZnVuY3Rpb24gbih0LGUpe3JldHVybiBmdW5jdGlvbihuLGkpe2Zvcih2YXIgcj1uLmxlbmd0aCxvPVtdLGE9MCxzPXRbMF0sbD0wO3I+MCYmcz4wJiYobCtzKzE+aSYmKHM9TWF0aC5tYXgoMSxpLWwpKSxvLnB1c2gobi5zdWJzdHJpbmcoci09cyxyK3MpKSwhKChsKz1zKzEpPmkpKTspcz10W2E9KGErMSkldC5sZW5ndGhdO3JldHVybiBvLnJldmVyc2UoKS5qb2luKGUpfX0pKEh5LmNhbGwodC5ncm91cGluZyxOdW1iZXIpLHQudGhvdXNhbmRzKyIiKSxpPXZvaWQgMD09PXQuY3VycmVuY3k/IiI6dC5jdXJyZW5jeVswXSsiIixyPXZvaWQgMD09PXQuY3VycmVuY3k/IiI6dC5jdXJyZW5jeVsxXSsiIixvPXZvaWQgMD09PXQuZGVjaW1hbD8iLiI6dC5kZWNpbWFsKyIiLGE9dm9pZCAwPT09dC5udW1lcmFscz9PeTooZnVuY3Rpb24gcyh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvWzAtOV0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHRbK2VdfSkpfX0pKEh5LmNhbGwodC5udW1lcmFscyxTdHJpbmcpKSxsPXZvaWQgMD09PXQucGVyY2VudD8iJSI6dC5wZXJjZW50KyIiLGM9dm9pZCAwPT09dC5taW51cz8iLSI6dC5taW51cysiIix1PXZvaWQgMD09PXQubmFuPyJOYU4iOnQubmFuKyIiO2Z1bmN0aW9uIGgodCl7dmFyIG49KHQ9a3kodCkpLmZpbGwscz10LmFsaWduLGg9dC5zaWduLGQ9dC5zeW1ib2wscD10Lnplcm8sZj10LndpZHRoLG09dC5jb21tYSxnPXQucHJlY2lzaW9uLF89dC50cmltLHk9dC50eXBlOyJuIj09PXk/KG09ITAseT0iZyIpOk55W3ldfHwodm9pZCAwPT09ZyYmKGc9MTIpLF89ITAseT0iZyIpLChwfHwiMCI9PT1uJiYiPSI9PT1zKSYmKHA9ITAsbj0iMCIscz0iPSIpO3ZhciB2PSIkIj09PWQ/aToiIyI9PT1kJiYvW2JveFhdLy50ZXN0KHkpPyIwIit5LnRvTG93ZXJDYXNlKCk6IiIsYj0iJCI9PT1kP3I6L1slcF0vLnRlc3QoeSk/bDoiIix4PU55W3ldLHc9L1tkZWZncHJzJV0vLnRlc3QoeSk7ZnVuY3Rpb24gUyh0KXt2YXIgaSxyLGwsZD12LFM9YjtpZigiYyI9PT15KVM9eCh0KStTLHQ9IiI7ZWxzZXt2YXIgTT0odD0rdCk8MHx8MS90PDA7aWYodD1pc05hTih0KT91OngoTWF0aC5hYnModCksZyksXyYmKHQ9KGZ1bmN0aW9uIEUodCl7dDpmb3IodmFyIGUsbj10Lmxlbmd0aCxpPTEscj0tMTtpPG47KytpKXN3aXRjaCh0W2ldKXtjYXNlIi4iOnI9ZT1pO2JyZWFrO2Nhc2UiMCI6MD09PXImJihyPWkpLGU9aTticmVhaztkZWZhdWx0OmlmKCErdFtpXSlicmVhayB0O3I+MCYmKHI9MCl9cmV0dXJuIHI+MD90LnNsaWNlKDAscikrdC5zbGljZShlKzEpOnR9KSh0KSksTSYmMD09K3QmJiIrIiE9PWgmJihNPSExKSxkPShNPyIoIj09PWg/aDpjOiItIj09PWh8fCIoIj09PWg/IiI6aCkrZCxTPSgicyI9PT15P0Z5WzgrQ3kvM106IiIpK1MrKE0mJiIoIj09PWg/IikiOiIiKSx3KWZvcihpPS0xLHI9dC5sZW5ndGg7KytpPHI7KWlmKDQ4PihsPXQuY2hhckNvZGVBdChpKSl8fGw+NTcpe1M9KDQ2PT09bD9vK3Quc2xpY2UoaSsxKTp0LnNsaWNlKGkpKStTLHQ9dC5zbGljZSgwLGkpO2JyZWFrfX1tJiYhcCYmKHQ9ZSh0LDEvMCkpO3ZhciBUPWQubGVuZ3RoK3QubGVuZ3RoK1MubGVuZ3RoLEM9VDxmP25ldyBBcnJheShmLVQrMSkuam9pbihuKToiIjtzd2l0Y2gobSYmcCYmKHQ9ZShDK3QsQy5sZW5ndGg/Zi1TLmxlbmd0aDoxLzApLEM9IiIpLHMpe2Nhc2UiPCI6dD1kK3QrUytDO2JyZWFrO2Nhc2UiPSI6dD1kK0MrdCtTO2JyZWFrO2Nhc2UiXiI6dD1DLnNsaWNlKDAsVD1DLmxlbmd0aD4+MSkrZCt0K1MrQy5zbGljZShUKTticmVhaztkZWZhdWx0OnQ9QytkK3QrU31yZXR1cm4gYSh0KX1yZXR1cm4gZz12b2lkIDA9PT1nPzY6L1tncHJzXS8udGVzdCh5KT9NYXRoLm1heCgxLE1hdGgubWluKDIxLGcpKTpNYXRoLm1heCgwLE1hdGgubWluKDIwLGcpKSxTLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHQrIiJ9LFN9cmV0dXJue2Zvcm1hdDpoLGZvcm1hdFByZWZpeDpmdW5jdGlvbiBkKHQsZSl7dmFyIG49aCgoKHQ9a3kodCkpLnR5cGU9ImYiLHQpKSxpPTMqTWF0aC5tYXgoLTgsTWF0aC5taW4oOCxNYXRoLmZsb29yKFR5KGUpLzMpKSkscj1NYXRoLnBvdygxMCwtaSksbz1GeVs4K2kvM107cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuKHIqdCkrb319fX1mdW5jdGlvbiBVeSh0KXtyZXR1cm4genk9VnkodCksRHk9enkuZm9ybWF0LEJ5PXp5LmZvcm1hdFByZWZpeCx6eX1mdW5jdGlvbiBqeSh0KXtyZXR1cm4gTWF0aC5tYXgoMCwtVHkoTWF0aC5hYnModCkpKX1mdW5jdGlvbiBHeSh0LGUpe3JldHVybiBNYXRoLm1heCgwLDMqTWF0aC5tYXgoLTgsTWF0aC5taW4oOCxNYXRoLmZsb29yKFR5KGUpLzMpKSktVHkoTWF0aC5hYnModCkpKX1mdW5jdGlvbiBXeSh0LGUpe3JldHVybiB0PU1hdGguYWJzKHQpLGU9TWF0aC5hYnMoZSktdCxNYXRoLm1heCgwLFR5KGUpLVR5KHQpKSsxfWZ1bmN0aW9uIHF5KCl7cmV0dXJuIG5ldyBZeX1mdW5jdGlvbiBZeSgpe3RoaXMucmVzZXQoKX1VeSh7ZGVjaW1hbDoiLiIsdGhvdXNhbmRzOiIsIixncm91cGluZzpbM10sY3VycmVuY3k6WyIkIiwiIl0sbWludXM6Ii0ifSksWXkucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpZeSxyZXNldDpmdW5jdGlvbigpe3RoaXMucz10aGlzLnQ9MH0sYWRkOmZ1bmN0aW9uKHQpeyR5KFh5LHQsdGhpcy50KSwkeSh0aGlzLFh5LnMsdGhpcy5zKSx0aGlzLnM/dGhpcy50Kz1YeS50OnRoaXMucz1YeS50fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc319O3ZhciBYeT1uZXcgWXk7ZnVuY3Rpb24gJHkodCxlLG4pe3ZhciBpPXQucz1lK24scj1pLWU7dC50PWUtKGktcikrKG4tcil9dmFyIEt5PTFlLTYsWnk9MWUtMTIsSnk9TWF0aC5QSSxReT1KeS8yLHR2PUp5LzQsZXY9MipKeSxudj0xODAvSnksaXY9SnkvMTgwLHJ2PU1hdGguYWJzLG92PU1hdGguYXRhbixhdj1NYXRoLmF0YW4yLHN2PU1hdGguY29zLGx2PU1hdGguY2VpbCxjdj1NYXRoLmV4cCx1dj1NYXRoLmxvZyxodj1NYXRoLnBvdyxkdj1NYXRoLnNpbixwdj1NYXRoLnNpZ258fGZ1bmN0aW9uKHQpe3JldHVybiB0PjA/MTp0PDA/LTE6MH0sZnY9TWF0aC5zcXJ0LG12PU1hdGgudGFuO2Z1bmN0aW9uIGd2KHQpe3JldHVybiB0PjE/MDp0PC0xP0p5Ok1hdGguYWNvcyh0KX1mdW5jdGlvbiBfdih0KXtyZXR1cm4gdD4xP1F5OnQ8LTE/LVF5Ok1hdGguYXNpbih0KX1mdW5jdGlvbiB5dih0KXtyZXR1cm4odD1kdih0LzIpKSp0fWZ1bmN0aW9uIHZ2KCl7fWZ1bmN0aW9uIGJ2KHQsZSl7dCYmd3YuaGFzT3duUHJvcGVydHkodC50eXBlKSYmd3ZbdC50eXBlXSh0LGUpfXZhciB4dj17RmVhdHVyZTpmdW5jdGlvbih0LGUpe2J2KHQuZ2VvbWV0cnksZSl9LEZlYXR1cmVDb2xsZWN0aW9uOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuZmVhdHVyZXMsaT0tMSxyPW4ubGVuZ3RoOysraTxyOylidihuW2ldLmdlb21ldHJ5LGUpfX0sd3Y9e1NwaGVyZTpmdW5jdGlvbih0LGUpe2Uuc3BoZXJlKCl9LFBvaW50OmZ1bmN0aW9uKHQsZSl7ZS5wb2ludCgodD10LmNvb3JkaW5hdGVzKVswXSx0WzFdLHRbMl0pfSxNdWx0aVBvaW50OmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuY29vcmRpbmF0ZXMsaT0tMSxyPW4ubGVuZ3RoOysraTxyOyllLnBvaW50KCh0PW5baV0pWzBdLHRbMV0sdFsyXSl9LExpbmVTdHJpbmc6ZnVuY3Rpb24odCxlKXtTdih0LmNvb3JkaW5hdGVzLGUsMCl9LE11bHRpTGluZVN0cmluZzpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10LmNvb3JkaW5hdGVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspU3YobltpXSxlLDApfSxQb2x5Z29uOmZ1bmN0aW9uKHQsZSl7TXYodC5jb29yZGluYXRlcyxlKX0sTXVsdGlQb2x5Z29uOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuY29vcmRpbmF0ZXMsaT0tMSxyPW4ubGVuZ3RoOysraTxyOylNdihuW2ldLGUpfSxHZW9tZXRyeUNvbGxlY3Rpb246ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC5nZW9tZXRyaWVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspYnYobltpXSxlKX19O2Z1bmN0aW9uIFN2KHQsZSxuKXt2YXIgaSxyPS0xLG89dC5sZW5ndGgtbjtmb3IoZS5saW5lU3RhcnQoKTsrK3I8bzspZS5wb2ludCgoaT10W3JdKVswXSxpWzFdLGlbMl0pO2UubGluZUVuZCgpfWZ1bmN0aW9uIE12KHQsZSl7dmFyIG49LTEsaT10Lmxlbmd0aDtmb3IoZS5wb2x5Z29uU3RhcnQoKTsrK248aTspU3YodFtuXSxlLDEpO2UucG9seWdvbkVuZCgpfWZ1bmN0aW9uIEV2KHQsZSl7dCYmeHYuaGFzT3duUHJvcGVydHkodC50eXBlKT94dlt0LnR5cGVdKHQsZSk6YnYodCxlKX12YXIgVHYsQ3YsQXYsa3YsTHYsUHY9cXkoKSxOdj1xeSgpLEl2PXtwb2ludDp2dixsaW5lU3RhcnQ6dnYsbGluZUVuZDp2dixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtQdi5yZXNldCgpLEl2LmxpbmVTdGFydD1SdixJdi5saW5lRW5kPU92fSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dmFyIHQ9K1B2O052LmFkZCh0PDA/ZXYrdDp0KSx0aGlzLmxpbmVTdGFydD10aGlzLmxpbmVFbmQ9dGhpcy5wb2ludD12dn0sc3BoZXJlOmZ1bmN0aW9uKCl7TnYuYWRkKGV2KX19O2Z1bmN0aW9uIFJ2KCl7SXYucG9pbnQ9enZ9ZnVuY3Rpb24gT3YoKXtEdihUdixDdil9ZnVuY3Rpb24genYodCxlKXtJdi5wb2ludD1EdixUdj10LEN2PWUsQXY9dCo9aXYsa3Y9c3YoZT0oZSo9aXYpLzIrdHYpLEx2PWR2KGUpfWZ1bmN0aW9uIER2KHQsZSl7dmFyIG49KHQqPWl2KS1BdixpPW4+PTA/MTotMSxyPWkqbixvPXN2KGU9KGUqPWl2KS8yK3R2KSxhPWR2KGUpLHM9THYqYSxsPWt2Km8rcypzdihyKSxjPXMqaSpkdihyKTtQdi5hZGQoYXYoYyxsKSksQXY9dCxrdj1vLEx2PWF9ZnVuY3Rpb24gQnYodCl7cmV0dXJuW2F2KHRbMV0sdFswXSksX3YodFsyXSldfWZ1bmN0aW9uIEh2KHQpe3ZhciBlPXRbMF0sbj10WzFdLGk9c3Yobik7cmV0dXJuW2kqc3YoZSksaSpkdihlKSxkdihuKV19ZnVuY3Rpb24gRnYodCxlKXtyZXR1cm4gdFswXSplWzBdK3RbMV0qZVsxXSt0WzJdKmVbMl19ZnVuY3Rpb24gVnYodCxlKXtyZXR1cm5bdFsxXSplWzJdLXRbMl0qZVsxXSx0WzJdKmVbMF0tdFswXSplWzJdLHRbMF0qZVsxXS10WzFdKmVbMF1dfWZ1bmN0aW9uIFV2KHQsZSl7dFswXSs9ZVswXSx0WzFdKz1lWzFdLHRbMl0rPWVbMl19ZnVuY3Rpb24ganYodCxlKXtyZXR1cm5bdFswXSplLHRbMV0qZSx0WzJdKmVdfWZ1bmN0aW9uIEd2KHQpe3ZhciBlPWZ2KHRbMF0qdFswXSt0WzFdKnRbMV0rdFsyXSp0WzJdKTt0WzBdLz1lLHRbMV0vPWUsdFsyXS89ZX12YXIgV3YscXYsWXYsWHYsJHYsS3YsWnYsSnYsUXYsdGIsZWIsbmIsaWIscmIsb2IsYWIsc2IsbGIsY2IsdWIsaGIsZGIscGIsZmIsbWIsZ2IsX2I9cXkoKSx5Yj17cG9pbnQ6dmIsbGluZVN0YXJ0OnhiLGxpbmVFbmQ6d2IscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7eWIucG9pbnQ9U2IseWIubGluZVN0YXJ0PU1iLHliLmxpbmVFbmQ9RWIsX2IucmVzZXQoKSxJdi5wb2x5Z29uU3RhcnQoKX0scG9seWdvbkVuZDpmdW5jdGlvbigpe0l2LnBvbHlnb25FbmQoKSx5Yi5wb2ludD12Yix5Yi5saW5lU3RhcnQ9eGIseWIubGluZUVuZD13YixQdjwwPyhXdj0tKFl2PTE4MCkscXY9LShYdj05MCkpOl9iPkt5P1h2PTkwOl9iPC0xZS02JiYocXY9LTkwKSx0YlswXT1Xdix0YlsxXT1Zdn0sc3BoZXJlOmZ1bmN0aW9uKCl7V3Y9LShZdj0xODApLHF2PS0oWHY9OTApfX07ZnVuY3Rpb24gdmIodCxlKXtRdi5wdXNoKHRiPVtXdj10LFl2PXRdKSxlPHF2JiYocXY9ZSksZT5YdiYmKFh2PWUpfWZ1bmN0aW9uIGJiKHQsZSl7dmFyIG49SHYoW3QqaXYsZSppdl0pO2lmKEp2KXt2YXIgaT1WdihKdixuKSxyPVZ2KFtpWzFdLC1pWzBdLDBdLGkpO0d2KHIpLHI9QnYocik7dmFyIG8sYT10LSR2LHM9YT4wPzE6LTEsbD1yWzBdKm52KnMsYz1ydihhKT4xODA7Y14ocyokdjxsJiZsPHMqdCk/KG89clsxXSpudik+WHYmJihYdj1vKTpjXihzKiR2PChsPShsKzM2MCklMzYwLTE4MCkmJmw8cyp0KT8obz0tclsxXSpudik8cXYmJihxdj1vKTooZTxxdiYmKHF2PWUpLGU+WHYmJihYdj1lKSksYz90PCR2P1RiKFd2LHQpPlRiKFd2LFl2KSYmKFl2PXQpOlRiKHQsWXYpPlRiKFd2LFl2KSYmKFd2PXQpOll2Pj1Xdj8odDxXdiYmKFd2PXQpLHQ+WXYmJihZdj10KSk6dD4kdj9UYihXdix0KT5UYihXdixZdikmJihZdj10KTpUYih0LFl2KT5UYihXdixZdikmJihXdj10KX1lbHNlIFF2LnB1c2godGI9W1d2PXQsWXY9dF0pO2U8cXYmJihxdj1lKSxlPlh2JiYoWHY9ZSksSnY9biwkdj10fWZ1bmN0aW9uIHhiKCl7eWIucG9pbnQ9YmJ9ZnVuY3Rpb24gd2IoKXt0YlswXT1Xdix0YlsxXT1Zdix5Yi5wb2ludD12YixKdj1udWxsfWZ1bmN0aW9uIFNiKHQsZSl7aWYoSnYpe3ZhciBuPXQtJHY7X2IuYWRkKHJ2KG4pPjE4MD9uKyhuPjA/MzYwOi0zNjApOm4pfWVsc2UgS3Y9dCxadj1lO0l2LnBvaW50KHQsZSksYmIodCxlKX1mdW5jdGlvbiBNYigpe0l2LmxpbmVTdGFydCgpfWZ1bmN0aW9uIEViKCl7U2IoS3YsWnYpLEl2LmxpbmVFbmQoKSxydihfYik+S3kmJihXdj0tKFl2PTE4MCkpLHRiWzBdPVd2LHRiWzFdPVl2LEp2PW51bGx9ZnVuY3Rpb24gVGIodCxlKXtyZXR1cm4oZS09dCk8MD9lKzM2MDplfWZ1bmN0aW9uIENiKHQsZSl7cmV0dXJuIHRbMF0tZVswXX1mdW5jdGlvbiBBYih0LGUpe3JldHVybiB0WzBdPD10WzFdP3RbMF08PWUmJmU8PXRbMV06ZTx0WzBdfHx0WzFdPGV9dmFyIGtiPXtzcGhlcmU6dnYscG9pbnQ6TGIsbGluZVN0YXJ0Ok5iLGxpbmVFbmQ6T2IscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7a2IubGluZVN0YXJ0PXpiLGtiLmxpbmVFbmQ9RGJ9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtrYi5saW5lU3RhcnQ9TmIsa2IubGluZUVuZD1PYn19O2Z1bmN0aW9uIExiKHQsZSl7dCo9aXY7dmFyIG49c3YoZSo9aXYpO1BiKG4qc3YodCksbipkdih0KSxkdihlKSl9ZnVuY3Rpb24gUGIodCxlLG4peysrZWIsaWIrPSh0LWliKS9lYixyYis9KGUtcmIpL2ViLG9iKz0obi1vYikvZWJ9ZnVuY3Rpb24gTmIoKXtrYi5wb2ludD1JYn1mdW5jdGlvbiBJYih0LGUpe3QqPWl2O3ZhciBuPXN2KGUqPWl2KTtmYj1uKnN2KHQpLG1iPW4qZHYodCksZ2I9ZHYoZSksa2IucG9pbnQ9UmIsUGIoZmIsbWIsZ2IpfWZ1bmN0aW9uIFJiKHQsZSl7dCo9aXY7dmFyIG49c3YoZSo9aXYpLGk9bipzdih0KSxyPW4qZHYodCksbz1kdihlKSxhPWF2KGZ2KChhPW1iKm8tZ2IqcikqYSsoYT1nYippLWZiKm8pKmErKGE9ZmIqci1tYippKSphKSxmYippK21iKnIrZ2Iqbyk7bmIrPWEsYWIrPWEqKGZiKyhmYj1pKSksc2IrPWEqKG1iKyhtYj1yKSksbGIrPWEqKGdiKyhnYj1vKSksUGIoZmIsbWIsZ2IpfWZ1bmN0aW9uIE9iKCl7a2IucG9pbnQ9TGJ9ZnVuY3Rpb24gemIoKXtrYi5wb2ludD1CYn1mdW5jdGlvbiBEYigpe0hiKGRiLHBiKSxrYi5wb2ludD1MYn1mdW5jdGlvbiBCYih0LGUpe2RiPXQscGI9ZSx0Kj1pdixlKj1pdixrYi5wb2ludD1IYjt2YXIgbj1zdihlKTtmYj1uKnN2KHQpLG1iPW4qZHYodCksZ2I9ZHYoZSksUGIoZmIsbWIsZ2IpfWZ1bmN0aW9uIEhiKHQsZSl7dCo9aXY7dmFyIG49c3YoZSo9aXYpLGk9bipzdih0KSxyPW4qZHYodCksbz1kdihlKSxhPW1iKm8tZ2IqcixzPWdiKmktZmIqbyxsPWZiKnItbWIqaSxjPWZ2KGEqYStzKnMrbCpsKSx1PV92KGMpLGg9YyYmLXUvYztjYis9aCphLHViKz1oKnMsaGIrPWgqbCxuYis9dSxhYis9dSooZmIrKGZiPWkpKSxzYis9dSoobWIrKG1iPXIpKSxsYis9dSooZ2IrKGdiPW8pKSxQYihmYixtYixnYil9ZnVuY3Rpb24gRmIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIFZiKHQsZSl7ZnVuY3Rpb24gbihuLGkpe3JldHVybiBuPXQobixpKSxlKG5bMF0sblsxXSl9cmV0dXJuIHQuaW52ZXJ0JiZlLmludmVydCYmKG4uaW52ZXJ0PWZ1bmN0aW9uKG4saSl7cmV0dXJuKG49ZS5pbnZlcnQobixpKSkmJnQuaW52ZXJ0KG5bMF0sblsxXSl9KSxufWZ1bmN0aW9uIFViKHQsZSl7cmV0dXJuW3J2KHQpPkp5P3QrTWF0aC5yb3VuZCgtdC9ldikqZXY6dCxlXX1mdW5jdGlvbiBqYih0LGUsbil7cmV0dXJuKHQlPWV2KT9lfHxuP1ZiKFdiKHQpLHFiKGUsbikpOldiKHQpOmV8fG4/cWIoZSxuKTpVYn1mdW5jdGlvbiBHYih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm5bKGUrPXQpPkp5P2UtZXY6ZTwtSnk/ZStldjplLG5dfX1mdW5jdGlvbiBXYih0KXt2YXIgZT1HYih0KTtyZXR1cm4gZS5pbnZlcnQ9R2IoLXQpLGV9ZnVuY3Rpb24gcWIodCxlKXt2YXIgbj1zdih0KSxpPWR2KHQpLHI9c3YoZSksbz1kdihlKTtmdW5jdGlvbiBhKHQsZSl7dmFyIGE9c3YoZSkscz1zdih0KSphLGw9ZHYodCkqYSxjPWR2KGUpLHU9YypuK3MqaTtyZXR1cm5bYXYobCpyLXUqbyxzKm4tYyppKSxfdih1KnIrbCpvKV19cmV0dXJuIGEuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIGE9c3YoZSkscz1zdih0KSphLGw9ZHYodCkqYSxjPWR2KGUpLHU9YypyLWwqbztyZXR1cm5bYXYobCpyK2MqbyxzKm4rdSppKSxfdih1Km4tcyppKV19LGF9ZnVuY3Rpb24gWWIodCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4oZT10KGVbMF0qaXYsZVsxXSppdikpWzBdKj1udixlWzFdKj1udixlfXJldHVybiB0PWpiKHRbMF0qaXYsdFsxXSppdix0Lmxlbmd0aD4yP3RbMl0qaXY6MCksZS5pbnZlcnQ9ZnVuY3Rpb24oZSl7cmV0dXJuKGU9dC5pbnZlcnQoZVswXSppdixlWzFdKml2KSlbMF0qPW52LGVbMV0qPW52LGV9LGV9ZnVuY3Rpb24gWGIodCxlLG4saSxyLG8pe2lmKG4pe3ZhciBhPXN2KGUpLHM9ZHYoZSksbD1pKm47bnVsbD09cj8ocj1lK2kqZXYsbz1lLWwvMik6KHI9JGIoYSxyKSxvPSRiKGEsbyksKGk+MD9yPG86cj5vKSYmKHIrPWkqZXYpKTtmb3IodmFyIGMsdT1yO2k+MD91Pm86dTxvO3UtPWwpYz1CdihbYSwtcypzdih1KSwtcypkdih1KV0pLHQucG9pbnQoY1swXSxjWzFdKX19ZnVuY3Rpb24gJGIodCxlKXsoZT1IdihlKSlbMF0tPXQsR3YoZSk7dmFyIG49Z3YoLWVbMV0pO3JldHVybigoLWVbMl08MD8tbjpuKStldi1LeSklZXZ9ZnVuY3Rpb24gS2IoKXt2YXIgdCxlPVtdO3JldHVybntwb2ludDpmdW5jdGlvbihlLG4saSl7dC5wdXNoKFtlLG4saV0pfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXtlLnB1c2godD1bXSl9LGxpbmVFbmQ6dnYscmVqb2luOmZ1bmN0aW9uKCl7ZS5sZW5ndGg+MSYmZS5wdXNoKGUucG9wKCkuY29uY2F0KGUuc2hpZnQoKSkpfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgbj1lO3JldHVybiBlPVtdLHQ9bnVsbCxufX19ZnVuY3Rpb24gWmIodCxlKXtyZXR1cm4gcnYodFswXS1lWzBdKTxLeSYmcnYodFsxXS1lWzFdKTxLeX1mdW5jdGlvbiBKYih0LGUsbixpKXt0aGlzLng9dCx0aGlzLno9ZSx0aGlzLm89bix0aGlzLmU9aSx0aGlzLnY9ITEsdGhpcy5uPXRoaXMucD1udWxsfWZ1bmN0aW9uIFFiKHQsZSxuLGkscil7dmFyIG8sYSxzPVtdLGw9W107aWYodC5mb3JFYWNoKChmdW5jdGlvbih0KXtpZighKChlPXQubGVuZ3RoLTEpPD0wKSl7dmFyIGUsbixpPXRbMF0sYT10W2VdO2lmKFpiKGksYSkpe2lmKCFpWzJdJiYhYVsyXSl7Zm9yKHIubGluZVN0YXJ0KCksbz0wO288ZTsrK28pci5wb2ludCgoaT10W29dKVswXSxpWzFdKTtyZXR1cm4gdm9pZCByLmxpbmVFbmQoKX1hWzBdKz0yZS02fXMucHVzaChuPW5ldyBKYihpLHQsbnVsbCwhMCkpLGwucHVzaChuLm89bmV3IEpiKGksbnVsbCxuLCExKSkscy5wdXNoKG49bmV3IEpiKGEsdCxudWxsLCExKSksbC5wdXNoKG4ubz1uZXcgSmIoYSxudWxsLG4sITApKX19KSkscy5sZW5ndGgpe2ZvcihsLnNvcnQoZSksdHgocyksdHgobCksbz0wLGE9bC5sZW5ndGg7bzxhOysrbylsW29dLmU9bj0hbjtmb3IodmFyIGMsdSxoPXNbMF07Oyl7Zm9yKHZhciBkPWgscD0hMDtkLnY7KWlmKChkPWQubik9PT1oKXJldHVybjtjPWQueixyLmxpbmVTdGFydCgpO2Rve2lmKGQudj1kLm8udj0hMCxkLmUpe2lmKHApZm9yKG89MCxhPWMubGVuZ3RoO288YTsrK28pci5wb2ludCgodT1jW29dKVswXSx1WzFdKTtlbHNlIGkoZC54LGQubi54LDEscik7ZD1kLm59ZWxzZXtpZihwKWZvcihvPShjPWQucC56KS5sZW5ndGgtMTtvPj0wOy0tbylyLnBvaW50KCh1PWNbb10pWzBdLHVbMV0pO2Vsc2UgaShkLngsZC5wLngsLTEscik7ZD1kLnB9Yz0oZD1kLm8pLnoscD0hcH13aGlsZSghZC52KTtyLmxpbmVFbmQoKX19fWZ1bmN0aW9uIHR4KHQpe2lmKGU9dC5sZW5ndGgpe2Zvcih2YXIgZSxuLGk9MCxyPXRbMF07KytpPGU7KXIubj1uPXRbaV0sbi5wPXIscj1uO3Iubj1uPXRbMF0sbi5wPXJ9fVViLmludmVydD1VYjt2YXIgZXg9cXkoKTtmdW5jdGlvbiBueCh0KXtyZXR1cm4gcnYodFswXSk8PUp5P3RbMF06cHYodFswXSkqKChydih0WzBdKStKeSklZXYtSnkpfWZ1bmN0aW9uIGl4KHQsZSl7dmFyIG49bngoZSksaT1lWzFdLHI9ZHYoaSksbz1bZHYobiksLXN2KG4pLDBdLGE9MCxzPTA7ZXgucmVzZXQoKSwxPT09cj9pPVF5K0t5Oi0xPT09ciYmKGk9LVF5LUt5KTtmb3IodmFyIGw9MCxjPXQubGVuZ3RoO2w8YzsrK2wpaWYoaD0odT10W2xdKS5sZW5ndGgpZm9yKHZhciB1LGgsZD11W2gtMV0scD1ueChkKSxmPWRbMV0vMit0dixtPWR2KGYpLGc9c3YoZiksXz0wO188aDsrK18scD12LG09eCxnPXcsZD15KXt2YXIgeT11W19dLHY9bngoeSksYj15WzFdLzIrdHYseD1kdihiKSx3PXN2KGIpLFM9di1wLE09Uz49MD8xOi0xLEU9TSpTLFQ9RT5KeSxDPW0qeDtpZihleC5hZGQoYXYoQypNKmR2KEUpLGcqdytDKnN2KEUpKSksYSs9VD9TK00qZXY6UyxUXnA+PW5edj49bil7dmFyIEE9VnYoSHYoZCksSHYoeSkpO0d2KEEpO3ZhciBrPVZ2KG8sQSk7R3Yoayk7dmFyIEw9KFReUz49MD8tMToxKSpfdihrWzJdKTsoaT5MfHxpPT09TCYmKEFbMF18fEFbMV0pKSYmKHMrPVReUz49MD8xOi0xKX19cmV0dXJuKGE8LTFlLTZ8fGE8S3kmJmV4PC0xZS02KV4xJnN9ZnVuY3Rpb24gcngodCxlLG4saSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3ZhciBvLGEscyxsPWUociksYz1LYigpLHU9ZShjKSxoPSExLGQ9e3BvaW50OnAsbGluZVN0YXJ0Om0sbGluZUVuZDpnLHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2QucG9pbnQ9XyxkLmxpbmVTdGFydD15LGQubGluZUVuZD12LGE9W10sbz1bXX0scG9seWdvbkVuZDpmdW5jdGlvbigpe2QucG9pbnQ9cCxkLmxpbmVTdGFydD1tLGQubGluZUVuZD1nLGE9YWMoYSk7dmFyIHQ9aXgobyxpKTthLmxlbmd0aD8oaHx8KHIucG9seWdvblN0YXJ0KCksaD0hMCksUWIoYSxheCx0LG4scikpOnQmJihofHwoci5wb2x5Z29uU3RhcnQoKSxoPSEwKSxyLmxpbmVTdGFydCgpLG4obnVsbCxudWxsLDEsciksci5saW5lRW5kKCkpLGgmJihyLnBvbHlnb25FbmQoKSxoPSExKSxhPW89bnVsbH0sc3BoZXJlOmZ1bmN0aW9uKCl7ci5wb2x5Z29uU3RhcnQoKSxyLmxpbmVTdGFydCgpLG4obnVsbCxudWxsLDEsciksci5saW5lRW5kKCksci5wb2x5Z29uRW5kKCl9fTtmdW5jdGlvbiBwKGUsbil7dChlLG4pJiZyLnBvaW50KGUsbil9ZnVuY3Rpb24gZih0LGUpe2wucG9pbnQodCxlKX1mdW5jdGlvbiBtKCl7ZC5wb2ludD1mLGwubGluZVN0YXJ0KCl9ZnVuY3Rpb24gZygpe2QucG9pbnQ9cCxsLmxpbmVFbmQoKX1mdW5jdGlvbiBfKHQsZSl7cy5wdXNoKFt0LGVdKSx1LnBvaW50KHQsZSl9ZnVuY3Rpb24geSgpe3UubGluZVN0YXJ0KCkscz1bXX1mdW5jdGlvbiB2KCl7XyhzWzBdWzBdLHNbMF1bMV0pLHUubGluZUVuZCgpO3ZhciB0LGUsbixpLGw9dS5jbGVhbigpLGQ9Yy5yZXN1bHQoKSxwPWQubGVuZ3RoO2lmKHMucG9wKCksby5wdXNoKHMpLHM9bnVsbCxwKWlmKDEmbCl7aWYoKGU9KG49ZFswXSkubGVuZ3RoLTEpPjApe2ZvcihofHwoci5wb2x5Z29uU3RhcnQoKSxoPSEwKSxyLmxpbmVTdGFydCgpLHQ9MDt0PGU7Kyt0KXIucG9pbnQoKGk9blt0XSlbMF0saVsxXSk7ci5saW5lRW5kKCl9fWVsc2UgcD4xJiYyJmwmJmQucHVzaChkLnBvcCgpLmNvbmNhdChkLnNoaWZ0KCkpKSxhLnB1c2goZC5maWx0ZXIob3gpKX1yZXR1cm4gZH19ZnVuY3Rpb24gb3godCl7cmV0dXJuIHQubGVuZ3RoPjF9ZnVuY3Rpb24gYXgodCxlKXtyZXR1cm4oKHQ9dC54KVswXTwwP3RbMV0tUXktS3k6UXktdFsxXSktKChlPWUueClbMF08MD9lWzFdLVF5LUt5OlF5LWVbMV0pfXZhciBzeD1yeCgoZnVuY3Rpb24oKXtyZXR1cm4hMH0pLChmdW5jdGlvbiBseCh0KXt2YXIgZSxuPU5hTixpPU5hTixyPU5hTjtyZXR1cm57bGluZVN0YXJ0OmZ1bmN0aW9uKCl7dC5saW5lU3RhcnQoKSxlPTF9LHBvaW50OmZ1bmN0aW9uKG8sYSl7dmFyIHM9bz4wP0p5Oi1KeSxsPXJ2KG8tbik7cnYobC1KeSk8S3k/KHQucG9pbnQobixpPShpK2EpLzI+MD9ReTotUXkpLHQucG9pbnQocixpKSx0LmxpbmVFbmQoKSx0LmxpbmVTdGFydCgpLHQucG9pbnQocyxpKSx0LnBvaW50KG8saSksZT0wKTpyIT09cyYmbD49SnkmJihydihuLXIpPEt5JiYobi09cipLeSkscnYoby1zKTxLeSYmKG8tPXMqS3kpLGk9KGZ1bmN0aW9uIGModCxlLG4saSl7dmFyIHIsbyxhPWR2KHQtbik7cmV0dXJuIHJ2KGEpPkt5P292KChkdihlKSoobz1zdihpKSkqZHYobiktZHYoaSkqKHI9c3YoZSkpKmR2KHQpKS8ocipvKmEpKTooZStpKS8yfSkobixpLG8sYSksdC5wb2ludChyLGkpLHQubGluZUVuZCgpLHQubGluZVN0YXJ0KCksdC5wb2ludChzLGkpLGU9MCksdC5wb2ludChuPW8saT1hKSxyPXN9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt0LmxpbmVFbmQoKSxuPWk9TmFOfSxjbGVhbjpmdW5jdGlvbigpe3JldHVybiAyLWV9fX0pLChmdW5jdGlvbiBjeCh0LGUsbixpKXt2YXIgcjtpZihudWxsPT10KWkucG9pbnQoLUp5LHI9bipReSksaS5wb2ludCgwLHIpLGkucG9pbnQoSnksciksaS5wb2ludChKeSwwKSxpLnBvaW50KEp5LC1yKSxpLnBvaW50KDAsLXIpLGkucG9pbnQoLUp5LC1yKSxpLnBvaW50KC1KeSwwKSxpLnBvaW50KC1KeSxyKTtlbHNlIGlmKHJ2KHRbMF0tZVswXSk+S3kpe3ZhciBvPXRbMF08ZVswXT9KeTotSnk7aS5wb2ludCgtbyxyPW4qby8yKSxpLnBvaW50KDAsciksaS5wb2ludChvLHIpfWVsc2UgaS5wb2ludChlWzBdLGVbMV0pfSksWy1KeSwtUXldKTtmdW5jdGlvbiB1eCh0KXt2YXIgZT1zdih0KSxuPTYqaXYsaT1lPjAscj1ydihlKT5LeTtmdW5jdGlvbiBvKHQsbil7cmV0dXJuIHN2KHQpKnN2KG4pPmV9ZnVuY3Rpb24gYSh0LG4saSl7dmFyIHI9WzEsMCwwXSxvPVZ2KEh2KHQpLEh2KG4pKSxhPUZ2KG8sbykscz1vWzBdLGw9YS1zKnM7aWYoIWwpcmV0dXJuIWkmJnQ7dmFyIGM9ZSphL2wsdT0tZSpzL2wsaD1WdihyLG8pLGQ9anYocixjKTtVdihkLGp2KG8sdSkpO3ZhciBwPWgsZj1GdihkLHApLG09RnYocCxwKSxnPWYqZi1tKihGdihkLGQpLTEpO2lmKCEoZzwwKSl7dmFyIF89ZnYoZykseT1qdihwLCgtZi1fKS9tKTtpZihVdih5LGQpLHk9QnYoeSksIWkpcmV0dXJuIHk7dmFyIHYsYj10WzBdLHg9blswXSx3PXRbMV0sUz1uWzFdO3g8YiYmKHY9YixiPXgseD12KTt2YXIgTT14LWIsRT1ydihNLUp5KTxLeTtpZighRSYmUzx3JiYodj13LHc9UyxTPXYpLEV8fE08S3k/RT93K1M+MF55WzFdPChydih5WzBdLWIpPEt5P3c6Uyk6dzw9eVsxXSYmeVsxXTw9UzpNPkp5XihiPD15WzBdJiZ5WzBdPD14KSl7dmFyIFQ9anYocCwoLWYrXykvbSk7cmV0dXJuIFV2KFQsZCksW3ksQnYoVCldfX19ZnVuY3Rpb24gcyhlLG4pe3ZhciByPWk/dDpKeS10LG89MDtyZXR1cm4gZTwtcj9vfD0xOmU+ciYmKG98PTIpLG48LXI/b3w9NDpuPnImJihvfD04KSxvfXJldHVybiByeChvLChmdW5jdGlvbiBsKHQpe3ZhciBlLG4sbCxjLHU7cmV0dXJue2xpbmVTdGFydDpmdW5jdGlvbigpe2M9bD0hMSx1PTF9LHBvaW50OmZ1bmN0aW9uKGgsZCl7dmFyIHAsZj1baCxkXSxtPW8oaCxkKSxnPWk/bT8wOnMoaCxkKTptP3MoaCsoaDwwP0p5Oi1KeSksZCk6MDtpZighZSYmKGM9bD1tKSYmdC5saW5lU3RhcnQoKSxtIT09bCYmKCEocD1hKGUsZikpfHxaYihlLHApfHxaYihmLHApKSYmKGZbMl09MSksbSE9PWwpdT0wLG0/KHQubGluZVN0YXJ0KCkscD1hKGYsZSksdC5wb2ludChwWzBdLHBbMV0pKToocD1hKGUsZiksdC5wb2ludChwWzBdLHBbMV0sMiksdC5saW5lRW5kKCkpLGU9cDtlbHNlIGlmKHImJmUmJmlebSl7dmFyIF87ZyZufHwhKF89YShmLGUsITApKXx8KHU9MCxpPyh0LmxpbmVTdGFydCgpLHQucG9pbnQoX1swXVswXSxfWzBdWzFdKSx0LnBvaW50KF9bMV1bMF0sX1sxXVsxXSksdC5saW5lRW5kKCkpOih0LnBvaW50KF9bMV1bMF0sX1sxXVsxXSksdC5saW5lRW5kKCksdC5saW5lU3RhcnQoKSx0LnBvaW50KF9bMF1bMF0sX1swXVsxXSwzKSkpfSFtfHxlJiZaYihlLGYpfHx0LnBvaW50KGZbMF0sZlsxXSksZT1mLGw9bSxuPWd9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtsJiZ0LmxpbmVFbmQoKSxlPW51bGx9LGNsZWFuOmZ1bmN0aW9uKCl7cmV0dXJuIHV8KGMmJmwpPDwxfX19KSwoZnVuY3Rpb24gYyhlLGkscixvKXtYYihvLHQsbixyLGUsaSl9KSxpP1swLC10XTpbLUp5LHQtSnldKX12YXIgaHg9MWU5LGR4PS1oeDtmdW5jdGlvbiBweCh0LGUsbixpKXtmdW5jdGlvbiByKHIsbyl7cmV0dXJuIHQ8PXImJnI8PW4mJmU8PW8mJm88PWl9ZnVuY3Rpb24gbyhyLG8scyxjKXt2YXIgdT0wLGg9MDtpZihudWxsPT1yfHwodT1hKHIscykpIT09KGg9YShvLHMpKXx8bChyLG8pPDBecz4wKWRve2MucG9pbnQoMD09PXV8fDM9PT11P3Q6bix1PjE/aTplKX13aGlsZSgodT0odStzKzQpJTQpIT09aCk7ZWxzZSBjLnBvaW50KG9bMF0sb1sxXSl9ZnVuY3Rpb24gYShpLHIpe3JldHVybiBydihpWzBdLXQpPEt5P3I+MD8wOjM6cnYoaVswXS1uKTxLeT9yPjA/MjoxOnJ2KGlbMV0tZSk8S3k/cj4wPzE6MDpyPjA/MzoyfWZ1bmN0aW9uIHModCxlKXtyZXR1cm4gbCh0LngsZS54KX1mdW5jdGlvbiBsKHQsZSl7dmFyIG49YSh0LDEpLGk9YShlLDEpO3JldHVybiBuIT09aT9uLWk6MD09PW4/ZVsxXS10WzFdOjE9PT1uP3RbMF0tZVswXToyPT09bj90WzFdLWVbMV06ZVswXS10WzBdfXJldHVybiBmdW5jdGlvbihhKXt2YXIgbCxjLHUsaCxkLHAsZixtLGcsXyx5LHY9YSxiPUtiKCkseD17cG9pbnQ6VCxsaW5lU3RhcnQ6ZnVuY3Rpb24gdygpe3gucG9pbnQ9QyxjJiZjLnB1c2godT1bXSk7Xz0hMCxnPSExLGY9bT1OYU59LGxpbmVFbmQ6ZnVuY3Rpb24gUygpe2wmJihDKGgsZCkscCYmZyYmYi5yZWpvaW4oKSxsLnB1c2goYi5yZXN1bHQoKSkpO3gucG9pbnQ9VCxnJiZ2LmxpbmVFbmQoKX0scG9seWdvblN0YXJ0OmZ1bmN0aW9uIE0oKXt2PWIsbD1bXSxjPVtdLHk9ITB9LHBvbHlnb25FbmQ6ZnVuY3Rpb24gRSgpe3ZhciBlPShmdW5jdGlvbiBuKCl7Zm9yKHZhciBlPTAsbj0wLHI9Yy5sZW5ndGg7bjxyOysrbilmb3IodmFyIG8sYSxzPWNbbl0sbD0xLHU9cy5sZW5ndGgsaD1zWzBdLGQ9aFswXSxwPWhbMV07bDx1OysrbClvPWQsYT1wLGQ9KGg9c1tsXSlbMF0scD1oWzFdLGE8PWk/cD5pJiYoZC1vKSooaS1hKT4ocC1hKSoodC1vKSYmKytlOnA8PWkmJihkLW8pKihpLWEpPChwLWEpKih0LW8pJiYtLWU7cmV0dXJuIGV9KSgpLHI9eSYmZSxoPShsPWFjKGwpKS5sZW5ndGg7KHJ8fGgpJiYoYS5wb2x5Z29uU3RhcnQoKSxyJiYoYS5saW5lU3RhcnQoKSxvKG51bGwsbnVsbCwxLGEpLGEubGluZUVuZCgpKSxoJiZRYihsLHMsZSxvLGEpLGEucG9seWdvbkVuZCgpKTt2PWEsbD1jPXU9bnVsbH19O2Z1bmN0aW9uIFQodCxlKXtyKHQsZSkmJnYucG9pbnQodCxlKX1mdW5jdGlvbiBDKG8sYSl7dmFyIHM9cihvLGEpO2lmKGMmJnUucHVzaChbbyxhXSksXyloPW8sZD1hLHA9cyxfPSExLHMmJih2LmxpbmVTdGFydCgpLHYucG9pbnQobyxhKSk7ZWxzZSBpZihzJiZnKXYucG9pbnQobyxhKTtlbHNle3ZhciBsPVtmPU1hdGgubWF4KGR4LE1hdGgubWluKGh4LGYpKSxtPU1hdGgubWF4KGR4LE1hdGgubWluKGh4LG0pKV0sYj1bbz1NYXRoLm1heChkeCxNYXRoLm1pbihoeCxvKSksYT1NYXRoLm1heChkeCxNYXRoLm1pbihoeCxhKSldOyEoZnVuY3Rpb24geCh0LGUsbixpLHIsbyl7dmFyIGEscz10WzBdLGw9dFsxXSxjPTAsdT0xLGg9ZVswXS1zLGQ9ZVsxXS1sO2lmKGE9bi1zLGh8fCEoYT4wKSl7aWYoYS89aCxoPDApe2lmKGE8YylyZXR1cm47YTx1JiYodT1hKX1lbHNlIGlmKGg+MCl7aWYoYT51KXJldHVybjthPmMmJihjPWEpfWlmKGE9ci1zLGh8fCEoYTwwKSl7aWYoYS89aCxoPDApe2lmKGE+dSlyZXR1cm47YT5jJiYoYz1hKX1lbHNlIGlmKGg+MCl7aWYoYTxjKXJldHVybjthPHUmJih1PWEpfWlmKGE9aS1sLGR8fCEoYT4wKSl7aWYoYS89ZCxkPDApe2lmKGE8YylyZXR1cm47YTx1JiYodT1hKX1lbHNlIGlmKGQ+MCl7aWYoYT51KXJldHVybjthPmMmJihjPWEpfWlmKGE9by1sLGR8fCEoYTwwKSl7aWYoYS89ZCxkPDApe2lmKGE+dSlyZXR1cm47YT5jJiYoYz1hKX1lbHNlIGlmKGQ+MCl7aWYoYTxjKXJldHVybjthPHUmJih1PWEpfXJldHVybiBjPjAmJih0WzBdPXMrYypoLHRbMV09bCtjKmQpLHU8MSYmKGVbMF09cyt1KmgsZVsxXT1sK3UqZCksITB9fX19fSkobCxiLHQsZSxuLGkpP3MmJih2LmxpbmVTdGFydCgpLHYucG9pbnQobyxhKSx5PSExKTooZ3x8KHYubGluZVN0YXJ0KCksdi5wb2ludChsWzBdLGxbMV0pKSx2LnBvaW50KGJbMF0sYlsxXSksc3x8di5saW5lRW5kKCkseT0hMSl9Zj1vLG09YSxnPXN9cmV0dXJuIHh9fXZhciBmeCxteCxneCxfeD1xeSgpLHl4PXtzcGhlcmU6dnYscG9pbnQ6dnYsbGluZVN0YXJ0OmZ1bmN0aW9uIHZ4KCl7eXgucG9pbnQ9eHgseXgubGluZUVuZD1ieH0sbGluZUVuZDp2dixwb2x5Z29uU3RhcnQ6dnYscG9seWdvbkVuZDp2dn07ZnVuY3Rpb24gYngoKXt5eC5wb2ludD15eC5saW5lRW5kPXZ2fWZ1bmN0aW9uIHh4KHQsZSl7Zng9dCo9aXYsbXg9ZHYoZSo9aXYpLGd4PXN2KGUpLHl4LnBvaW50PXd4fWZ1bmN0aW9uIHd4KHQsZSl7dCo9aXY7dmFyIG49ZHYoZSo9aXYpLGk9c3YoZSkscj1ydih0LWZ4KSxvPXN2KHIpLGE9aSpkdihyKSxzPWd4Km4tbXgqaSpvLGw9bXgqbitneCppKm87X3guYWRkKGF2KGZ2KGEqYStzKnMpLGwpKSxmeD10LG14PW4sZ3g9aX1mdW5jdGlvbiBTeCh0KXtyZXR1cm4gX3gucmVzZXQoKSxFdih0LHl4KSwrX3h9dmFyIE14PVtudWxsLG51bGxdLEV4PXt0eXBlOiJMaW5lU3RyaW5nIixjb29yZGluYXRlczpNeH07ZnVuY3Rpb24gVHgodCxlKXtyZXR1cm4gTXhbMF09dCxNeFsxXT1lLFN4KEV4KX12YXIgQ3g9e0ZlYXR1cmU6ZnVuY3Rpb24odCxlKXtyZXR1cm4ga3godC5nZW9tZXRyeSxlKX0sRmVhdHVyZUNvbGxlY3Rpb246ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC5mZWF0dXJlcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KWlmKGt4KG5baV0uZ2VvbWV0cnksZSkpcmV0dXJuITA7cmV0dXJuITF9fSxBeD17U3BoZXJlOmZ1bmN0aW9uKCl7cmV0dXJuITB9LFBvaW50OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEx4KHQuY29vcmRpbmF0ZXMsZSl9LE11bHRpUG9pbnQ6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC5jb29yZGluYXRlcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KWlmKEx4KG5baV0sZSkpcmV0dXJuITA7cmV0dXJuITF9LExpbmVTdHJpbmc6ZnVuY3Rpb24odCxlKXtyZXR1cm4gUHgodC5jb29yZGluYXRlcyxlKX0sTXVsdGlMaW5lU3RyaW5nOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuY29vcmRpbmF0ZXMsaT0tMSxyPW4ubGVuZ3RoOysraTxyOylpZihQeChuW2ldLGUpKXJldHVybiEwO3JldHVybiExfSxQb2x5Z29uOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIE54KHQuY29vcmRpbmF0ZXMsZSl9LE11bHRpUG9seWdvbjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10LmNvb3JkaW5hdGVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspaWYoTngobltpXSxlKSlyZXR1cm4hMDtyZXR1cm4hMX0sR2VvbWV0cnlDb2xsZWN0aW9uOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuZ2VvbWV0cmllcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KWlmKGt4KG5baV0sZSkpcmV0dXJuITA7cmV0dXJuITF9fTtmdW5jdGlvbiBreCh0LGUpe3JldHVybiEoIXR8fCFBeC5oYXNPd25Qcm9wZXJ0eSh0LnR5cGUpKSYmQXhbdC50eXBlXSh0LGUpfWZ1bmN0aW9uIEx4KHQsZSl7cmV0dXJuIDA9PT1UeCh0LGUpfWZ1bmN0aW9uIFB4KHQsZSl7Zm9yKHZhciBuLGkscixvPTAsYT10Lmxlbmd0aDtvPGE7bysrKXtpZigwPT09KGk9VHgodFtvXSxlKSkpcmV0dXJuITA7aWYobz4wJiYocj1UeCh0W29dLHRbby0xXSkpPjAmJm48PXImJmk8PXImJihuK2ktcikqKDEtTWF0aC5wb3coKG4taSkvciwyKSk8WnkqcilyZXR1cm4hMDtuPWl9cmV0dXJuITF9ZnVuY3Rpb24gTngodCxlKXtyZXR1cm4hIWl4KHQubWFwKEl4KSxSeChlKSl9ZnVuY3Rpb24gSXgodCl7cmV0dXJuKHQ9dC5tYXAoUngpKS5wb3AoKSx0fWZ1bmN0aW9uIFJ4KHQpe3JldHVyblt0WzBdKml2LHRbMV0qaXZdfWZ1bmN0aW9uIE94KHQsZSxuKXt2YXIgaT1LbCh0LGUtS3ksbikuY29uY2F0KGUpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gaS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVyblt0LGVdfSkpfX1mdW5jdGlvbiB6eCh0LGUsbil7dmFyIGk9S2wodCxlLUt5LG4pLmNvbmNhdChlKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGkubWFwKChmdW5jdGlvbihlKXtyZXR1cm5bZSx0XX0pKX19ZnVuY3Rpb24gRHgoKXt2YXIgdCxlLG4saSxyLG8sYSxzLGwsYyx1LGgsZD0xMCxwPWQsZj05MCxtPTM2MCxnPTIuNTtmdW5jdGlvbiBfKCl7cmV0dXJue3R5cGU6Ik11bHRpTGluZVN0cmluZyIsY29vcmRpbmF0ZXM6eSgpfX1mdW5jdGlvbiB5KCl7cmV0dXJuIEtsKGx2KGkvZikqZixuLGYpLm1hcCh1KS5jb25jYXQoS2wobHYocy9tKSptLGEsbSkubWFwKGgpKS5jb25jYXQoS2wobHYoZS9kKSpkLHQsZCkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gcnYodCVmKT5LeX0pKS5tYXAobCkpLmNvbmNhdChLbChsdihvL3ApKnAscixwKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBydih0JW0pPkt5fSkpLm1hcChjKSl9cmV0dXJuIF8ubGluZXM9ZnVuY3Rpb24oKXtyZXR1cm4geSgpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJue3R5cGU6IkxpbmVTdHJpbmciLGNvb3JkaW5hdGVzOnR9fSkpfSxfLm91dGxpbmU9ZnVuY3Rpb24oKXtyZXR1cm57dHlwZToiUG9seWdvbiIsY29vcmRpbmF0ZXM6W3UoaSkuY29uY2F0KGgoYSkuc2xpY2UoMSksdShuKS5yZXZlcnNlKCkuc2xpY2UoMSksaChzKS5yZXZlcnNlKCkuc2xpY2UoMSkpXX19LF8uZXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP18uZXh0ZW50TWFqb3IodCkuZXh0ZW50TWlub3IodCk6Xy5leHRlbnRNaW5vcigpfSxfLmV4dGVudE1ham9yPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSt0WzBdWzFdLGE9K3RbMV1bMV0sKGk9K3RbMF1bMF0pPihuPSt0WzFdWzBdKSYmKHQ9aSxpPW4sbj10KSxzPmEmJih0PXMscz1hLGE9dCksXy5wcmVjaXNpb24oZykpOltbaSxzXSxbbixhXV19LF8uZXh0ZW50TWlub3I9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89K25bMF1bMV0scj0rblsxXVsxXSwoZT0rblswXVswXSk+KHQ9K25bMV1bMF0pJiYobj1lLGU9dCx0PW4pLG8+ciYmKG49byxvPXIscj1uKSxfLnByZWNpc2lvbihnKSk6W1tlLG9dLFt0LHJdXX0sXy5zdGVwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP18uc3RlcE1ham9yKHQpLnN0ZXBNaW5vcih0KTpfLnN0ZXBNaW5vcigpfSxfLnN0ZXBNYWpvcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZj0rdFswXSxtPSt0WzFdLF8pOltmLG1dfSxfLnN0ZXBNaW5vcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZD0rdFswXSxwPSt0WzFdLF8pOltkLHBdfSxfLnByZWNpc2lvbj1mdW5jdGlvbihkKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZz0rZCxsPU94KG8sciw5MCksYz16eChlLHQsZyksdT1PeChzLGEsOTApLGg9engoaSxuLGcpLF8pOmd9LF8uZXh0ZW50TWFqb3IoW1stMTgwLC04OS45OTk5OTldLFsxODAsODkuOTk5OTk5XV0pLmV4dGVudE1pbm9yKFtbLTE4MCwtODAuMDAwMDAxXSxbMTgwLDgwLjAwMDAwMV1dKX1mdW5jdGlvbiBCeCh0KXtyZXR1cm4gdH12YXIgSHgsRngsVngsVXgsang9cXkoKSxHeD1xeSgpLFd4PXtwb2ludDp2dixsaW5lU3RhcnQ6dnYsbGluZUVuZDp2dixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtXeC5saW5lU3RhcnQ9cXgsV3gubGluZUVuZD0keH0scG9seWdvbkVuZDpmdW5jdGlvbigpe1d4LmxpbmVTdGFydD1XeC5saW5lRW5kPVd4LnBvaW50PXZ2LGp4LmFkZChydihHeCkpLEd4LnJlc2V0KCl9LHJlc3VsdDpmdW5jdGlvbigpe3ZhciB0PWp4LzI7cmV0dXJuIGp4LnJlc2V0KCksdH19O2Z1bmN0aW9uIHF4KCl7V3gucG9pbnQ9WXh9ZnVuY3Rpb24gWXgodCxlKXtXeC5wb2ludD1YeCxIeD1WeD10LEZ4PVV4PWV9ZnVuY3Rpb24gWHgodCxlKXtHeC5hZGQoVXgqdC1WeCplKSxWeD10LFV4PWV9ZnVuY3Rpb24gJHgoKXtYeChIeCxGeCl9dmFyIEt4PVd4LFp4PTEvMCxKeD1aeCxReD0tWngsdHc9UXg7dmFyIGV3LG53LGl3LHJ3LG93PXtwb2ludDpmdW5jdGlvbiBhdyh0LGUpe3Q8WngmJihaeD10KTt0PlF4JiYoUXg9dCk7ZTxKeCYmKEp4PWUpO2U+dHcmJih0dz1lKX0sbGluZVN0YXJ0OnZ2LGxpbmVFbmQ6dnYscG9seWdvblN0YXJ0OnZ2LHBvbHlnb25FbmQ6dnYscmVzdWx0OmZ1bmN0aW9uKCl7dmFyIHQ9W1taeCxKeF0sW1F4LHR3XV07cmV0dXJuIFF4PXR3PS0oSng9Wng9MS8wKSx0fX0sc3c9MCxsdz0wLGN3PTAsdXc9MCxodz0wLGR3PTAscHc9MCxmdz0wLG13PTAsZ3c9e3BvaW50Ol93LGxpbmVTdGFydDp5dyxsaW5lRW5kOnh3LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2d3LmxpbmVTdGFydD13dyxndy5saW5lRW5kPVN3fSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7Z3cucG9pbnQ9X3csZ3cubGluZVN0YXJ0PXl3LGd3LmxpbmVFbmQ9eHd9LHJlc3VsdDpmdW5jdGlvbigpe3ZhciB0PW13P1twdy9tdyxmdy9td106ZHc/W3V3L2R3LGh3L2R3XTpjdz9bc3cvY3csbHcvY3ddOltOYU4sTmFOXTtyZXR1cm4gc3c9bHc9Y3c9dXc9aHc9ZHc9cHc9Znc9bXc9MCx0fX07ZnVuY3Rpb24gX3codCxlKXtzdys9dCxsdys9ZSwrK2N3fWZ1bmN0aW9uIHl3KCl7Z3cucG9pbnQ9dnd9ZnVuY3Rpb24gdncodCxlKXtndy5wb2ludD1idyxfdyhpdz10LHJ3PWUpfWZ1bmN0aW9uIGJ3KHQsZSl7dmFyIG49dC1pdyxpPWUtcncscj1mdihuKm4raSppKTt1dys9ciooaXcrdCkvMixodys9cioocncrZSkvMixkdys9cixfdyhpdz10LHJ3PWUpfWZ1bmN0aW9uIHh3KCl7Z3cucG9pbnQ9X3d9ZnVuY3Rpb24gd3coKXtndy5wb2ludD1Nd31mdW5jdGlvbiBTdygpe0V3KGV3LG53KX1mdW5jdGlvbiBNdyh0LGUpe2d3LnBvaW50PUV3LF93KGV3PWl3PXQsbnc9cnc9ZSl9ZnVuY3Rpb24gRXcodCxlKXt2YXIgbj10LWl3LGk9ZS1ydyxyPWZ2KG4qbitpKmkpO3V3Kz1yKihpdyt0KS8yLGh3Kz1yKihydytlKS8yLGR3Kz1yLHB3Kz0ocj1ydyp0LWl3KmUpKihpdyt0KSxmdys9cioocncrZSksbXcrPTMqcixfdyhpdz10LHJ3PWUpfXZhciBUdz1ndztmdW5jdGlvbiBDdyh0KXt0aGlzLl9jb250ZXh0PXR9Q3cucHJvdG90eXBlPXtfcmFkaXVzOjQuNSxwb2ludFJhZGl1czpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmFkaXVzPXQsdGhpc30scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXswPT09dGhpcy5fbGluZSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9wb2ludD1OYU59LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKSx0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5fY29udGV4dC5tb3ZlVG8odCt0aGlzLl9yYWRpdXMsZSksdGhpcy5fY29udGV4dC5hcmModCxlLHRoaXMuX3JhZGl1cywwLGV2KX19LHJlc3VsdDp2dn07dmFyIEF3LGt3LEx3LFB3LE53LEl3PXF5KCksUnc9e3BvaW50OnZ2LGxpbmVTdGFydDpmdW5jdGlvbigpe1J3LnBvaW50PU93fSxsaW5lRW5kOmZ1bmN0aW9uKCl7QXcmJnp3KGt3LEx3KSxSdy5wb2ludD12dn0scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7QXc9ITB9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtBdz1udWxsfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgdD0rSXc7cmV0dXJuIEl3LnJlc2V0KCksdH19O2Z1bmN0aW9uIE93KHQsZSl7UncucG9pbnQ9encsa3c9UHc9dCxMdz1Odz1lfWZ1bmN0aW9uIHp3KHQsZSl7SXcuYWRkKGZ2KChQdy09dCkqUHcrKE53LT1lKSpOdykpLFB3PXQsTnc9ZX12YXIgRHc9Unc7ZnVuY3Rpb24gQncoKXt0aGlzLl9zdHJpbmc9W119ZnVuY3Rpb24gSHcodCl7cmV0dXJuIm0wLCIrdCsiYSIrdCsiLCIrdCsiIDAgMSwxIDAsIistMip0KyJhIit0KyIsIit0KyIgMCAxLDEgMCwiKzIqdCsieiJ9ZnVuY3Rpb24gRncodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPW5ldyBWdztmb3IodmFyIGkgaW4gdCluW2ldPXRbaV07cmV0dXJuIG4uc3RyZWFtPWUsbn19ZnVuY3Rpb24gVncoKXt9ZnVuY3Rpb24gVXcodCxlLG4pe3ZhciBpPXQuY2xpcEV4dGVudCYmdC5jbGlwRXh0ZW50KCk7cmV0dXJuIHQuc2NhbGUoMTUwKS50cmFuc2xhdGUoWzAsMF0pLG51bGwhPWkmJnQuY2xpcEV4dGVudChudWxsKSxFdihuLHQuc3RyZWFtKG93KSksZShvdy5yZXN1bHQoKSksbnVsbCE9aSYmdC5jbGlwRXh0ZW50KGkpLHR9ZnVuY3Rpb24gancodCxlLG4pe3JldHVybiBVdyh0LChmdW5jdGlvbihuKXt2YXIgaT1lWzFdWzBdLWVbMF1bMF0scj1lWzFdWzFdLWVbMF1bMV0sbz1NYXRoLm1pbihpLyhuWzFdWzBdLW5bMF1bMF0pLHIvKG5bMV1bMV0tblswXVsxXSkpLGE9K2VbMF1bMF0rKGktbyooblsxXVswXStuWzBdWzBdKSkvMixzPStlWzBdWzFdKyhyLW8qKG5bMV1bMV0rblswXVsxXSkpLzI7dC5zY2FsZSgxNTAqbykudHJhbnNsYXRlKFthLHNdKX0pLG4pfWZ1bmN0aW9uIEd3KHQsZSxuKXtyZXR1cm4gancodCxbWzAsMF0sZV0sbil9ZnVuY3Rpb24gV3codCxlLG4pe3JldHVybiBVdyh0LChmdW5jdGlvbihuKXt2YXIgaT0rZSxyPWkvKG5bMV1bMF0tblswXVswXSksbz0oaS1yKihuWzFdWzBdK25bMF1bMF0pKS8yLGE9LXIqblswXVsxXTt0LnNjYWxlKDE1MCpyKS50cmFuc2xhdGUoW28sYV0pfSksbil9ZnVuY3Rpb24gcXcodCxlLG4pe3JldHVybiBVdyh0LChmdW5jdGlvbihuKXt2YXIgaT0rZSxyPWkvKG5bMV1bMV0tblswXVsxXSksbz0tcipuWzBdWzBdLGE9KGktciooblsxXVsxXStuWzBdWzFdKSkvMjt0LnNjYWxlKDE1MCpyKS50cmFuc2xhdGUoW28sYV0pfSksbil9QncucHJvdG90eXBlPXtfcmFkaXVzOjQuNSxfY2lyY2xlOkh3KDQuNSkscG9pbnRSYWRpdXM6ZnVuY3Rpb24odCl7cmV0dXJuKHQ9K3QpIT09dGhpcy5fcmFkaXVzJiYodGhpcy5fcmFkaXVzPXQsdGhpcy5fY2lyY2xlPW51bGwpLHRoaXN9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0scG9seWdvbkVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7MD09PXRoaXMuX2xpbmUmJnRoaXMuX3N0cmluZy5wdXNoKCJaIiksdGhpcy5fcG9pbnQ9TmFOfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3N0cmluZy5wdXNoKCJNIix0LCIsIixlKSx0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9zdHJpbmcucHVzaCgiTCIsdCwiLCIsZSk7YnJlYWs7ZGVmYXVsdDpudWxsPT10aGlzLl9jaXJjbGUmJih0aGlzLl9jaXJjbGU9SHcodGhpcy5fcmFkaXVzKSksdGhpcy5fc3RyaW5nLnB1c2goIk0iLHQsIiwiLGUsdGhpcy5fY2lyY2xlKX19LHJlc3VsdDpmdW5jdGlvbigpe2lmKHRoaXMuX3N0cmluZy5sZW5ndGgpe3ZhciB0PXRoaXMuX3N0cmluZy5qb2luKCIiKTtyZXR1cm4gdGhpcy5fc3RyaW5nPVtdLHR9cmV0dXJuIG51bGx9fSxWdy5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlZ3LHBvaW50OmZ1bmN0aW9uKHQsZSl7dGhpcy5zdHJlYW0ucG9pbnQodCxlKX0sc3BoZXJlOmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0uc3BoZXJlKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuc3RyZWFtLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0ubGluZUVuZCgpfSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLnN0cmVhbS5wb2x5Z29uU3RhcnQoKX0scG9seWdvbkVuZDpmdW5jdGlvbigpe3RoaXMuc3RyZWFtLnBvbHlnb25FbmQoKX19O3ZhciBZdz1zdigzMCppdik7ZnVuY3Rpb24gWHcodCxlKXtyZXR1cm4rZT8oZnVuY3Rpb24gbih0LGUpe2Z1bmN0aW9uIG4oaSxyLG8sYSxzLGwsYyx1LGgsZCxwLGYsbSxnKXt2YXIgXz1jLWkseT11LXIsdj1fKl8reSp5O2lmKHY+NCplJiZtLS0pe3ZhciBiPWErZCx4PXMrcCx3PWwrZixTPWZ2KGIqYit4Kngrdyp3KSxNPV92KHcvPVMpLEU9cnYocnYodyktMSk8S3l8fHJ2KG8taCk8S3k/KG8raCkvMjphdih4LGIpLFQ9dChFLE0pLEM9VFswXSxBPVRbMV0saz1DLWksTD1BLXIsUD15KmstXypMOyhQKlAvdj5lfHxydigoXyprK3kqTCkvdi0uNSk+LjN8fGEqZCtzKnArbCpmPFl3KSYmKG4oaSxyLG8sYSxzLGwsQyxBLEUsYi89Uyx4Lz1TLHcsbSxnKSxnLnBvaW50KEMsQSksbihDLEEsRSxiLHgsdyxjLHUsaCxkLHAsZixtLGcpKX19cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBpLHIsbyxhLHMsbCxjLHUsaCxkLHAsZixtPXtwb2ludDpnLGxpbmVTdGFydDpfLGxpbmVFbmQ6dixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtlLnBvbHlnb25TdGFydCgpLG0ubGluZVN0YXJ0PWJ9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtlLnBvbHlnb25FbmQoKSxtLmxpbmVTdGFydD1ffX07ZnVuY3Rpb24gZyhuLGkpe249dChuLGkpLGUucG9pbnQoblswXSxuWzFdKX1mdW5jdGlvbiBfKCl7dT1OYU4sbS5wb2ludD15LGUubGluZVN0YXJ0KCl9ZnVuY3Rpb24geShpLHIpe3ZhciBvPUh2KFtpLHJdKSxhPXQoaSxyKTtuKHUsaCxjLGQscCxmLHU9YVswXSxoPWFbMV0sYz1pLGQ9b1swXSxwPW9bMV0sZj1vWzJdLDE2LGUpLGUucG9pbnQodSxoKX1mdW5jdGlvbiB2KCl7bS5wb2ludD1nLGUubGluZUVuZCgpfWZ1bmN0aW9uIGIoKXtfKCksbS5wb2ludD14LG0ubGluZUVuZD13fWZ1bmN0aW9uIHgodCxlKXt5KGk9dCxlKSxyPXUsbz1oLGE9ZCxzPXAsbD1mLG0ucG9pbnQ9eX1mdW5jdGlvbiB3KCl7bih1LGgsYyxkLHAsZixyLG8saSxhLHMsbCwxNixlKSxtLmxpbmVFbmQ9dix2KCl9cmV0dXJuIG19fSkodCxlKTooZnVuY3Rpb24gaSh0KXtyZXR1cm4gRncoe3BvaW50OmZ1bmN0aW9uKGUsbil7ZT10KGUsbiksdGhpcy5zdHJlYW0ucG9pbnQoZVswXSxlWzFdKX19KX0pKHQpfXZhciAkdz1Gdyh7cG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLnN0cmVhbS5wb2ludCh0Kml2LGUqaXYpfX0pO2Z1bmN0aW9uIEt3KHQsZSxuLGkscil7ZnVuY3Rpb24gbyhvLGEpe3JldHVybltlK3QqKG8qPWkpLG4tdCooYSo9cildfXJldHVybiBvLmludmVydD1mdW5jdGlvbihvLGEpe3JldHVyblsoby1lKS90KmksKG4tYSkvdCpyXX0sb31mdW5jdGlvbiBadyh0LGUsbixpLHIsbyl7dmFyIGE9c3Yobykscz1kdihvKSxsPWEqdCxjPXMqdCx1PWEvdCxoPXMvdCxkPShzKm4tYSplKS90LHA9KHMqZSthKm4pL3Q7ZnVuY3Rpb24gZih0LG8pe3JldHVybltsKih0Kj1pKS1jKihvKj1yKStlLG4tYyp0LWwqb119cmV0dXJuIGYuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuW2kqKHUqdC1oKmUrZCkscioocC1oKnQtdSplKV19LGZ9ZnVuY3Rpb24gSncodCl7cmV0dXJuIFF3KChmdW5jdGlvbigpe3JldHVybiB0fSkpKCl9ZnVuY3Rpb24gUXcodCl7dmFyIGUsbixpLHIsbyxhLHMsbCxjLHUsaD0xNTAsZD00ODAscD0yNTAsZj0wLG09MCxnPTAsXz0wLHk9MCx2PTAsYj0xLHg9MSx3PW51bGwsUz1zeCxNPW51bGwsRT1CeCxUPS41O2Z1bmN0aW9uIEModCl7cmV0dXJuIGwodFswXSppdix0WzFdKml2KX1mdW5jdGlvbiBBKHQpe3JldHVybih0PWwuaW52ZXJ0KHRbMF0sdFsxXSkpJiZbdFswXSpudix0WzFdKm52XX1mdW5jdGlvbiBrKCl7dmFyIHQ9WncoaCwwLDAsYix4LHYpLmFwcGx5KG51bGwsZShmLG0pKSxpPSh2P1p3Okt3KShoLGQtdFswXSxwLXRbMV0sYix4LHYpO3JldHVybiBuPWpiKGcsXyx5KSxzPVZiKGUsaSksbD1WYihuLHMpLGE9WHcocyxUKSxMKCl9ZnVuY3Rpb24gTCgpe3JldHVybiBjPXU9bnVsbCxDfXJldHVybiBDLnN0cmVhbT1mdW5jdGlvbih0KXtyZXR1cm4gYyYmdT09PXQ/YzpjPSR3KChmdW5jdGlvbiBlKHQpe3JldHVybiBGdyh7cG9pbnQ6ZnVuY3Rpb24oZSxuKXt2YXIgaT10KGUsbik7cmV0dXJuIHRoaXMuc3RyZWFtLnBvaW50KGlbMF0saVsxXSl9fSl9KShuKShTKGEoRSh1PXQpKSkpKX0sQy5wcmVjbGlwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhTPXQsdz12b2lkIDAsTCgpKTpTfSxDLnBvc3RjbGlwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhFPXQsTT1pPXI9bz1udWxsLEwoKSk6RX0sQy5jbGlwQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KFM9K3Q/dXgodz10Kml2KToodz1udWxsLHN4KSxMKCkpOncqbnZ9LEMuY2xpcEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oRT1udWxsPT10PyhNPWk9cj1vPW51bGwsQngpOnB4KE09K3RbMF1bMF0saT0rdFswXVsxXSxyPSt0WzFdWzBdLG89K3RbMV1bMV0pLEwoKSk6bnVsbD09TT9udWxsOltbTSxpXSxbcixvXV19LEMuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGg9K3QsaygpKTpofSxDLnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZD0rdFswXSxwPSt0WzFdLGsoKSk6W2QscF19LEMuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhmPXRbMF0lMzYwKml2LG09dFsxXSUzNjAqaXYsaygpKTpbZipudixtKm52XX0sQy5yb3RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGc9dFswXSUzNjAqaXYsXz10WzFdJTM2MCppdix5PXQubGVuZ3RoPjI/dFsyXSUzNjAqaXY6MCxrKCkpOltnKm52LF8qbnYseSpudl19LEMuYW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHY9dCUzNjAqaXYsaygpKTp2Km52fSxDLnJlZmxlY3RYPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhiPXQ/LTE6MSxrKCkpOmI8MH0sQy5yZWZsZWN0WT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oeD10Py0xOjEsaygpKTp4PDB9LEMucHJlY2lzaW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPVh3KHMsVD10KnQpLEwoKSk6ZnYoVCl9LEMuZml0RXh0ZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGp3KEMsdCxlKX0sQy5maXRTaXplPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIEd3KEMsdCxlKX0sQy5maXRXaWR0aD1mdW5jdGlvbih0LGUpe3JldHVybiBXdyhDLHQsZSl9LEMuZml0SGVpZ2h0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHF3KEMsdCxlKX0sZnVuY3Rpb24oKXtyZXR1cm4gZT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKSxDLmludmVydD1lLmludmVydCYmQSxrKCl9fWZ1bmN0aW9uIHRTKHQpe3ZhciBlPTAsbj1KeS8zLGk9UXcodCkscj1pKGUsbik7cmV0dXJuIHIucGFyYWxsZWxzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP2koZT10WzBdKml2LG49dFsxXSppdik6W2UqbnYsbipudl19LHJ9ZnVuY3Rpb24gZVModCxlKXt2YXIgbj1kdih0KSxpPShuK2R2KGUpKS8yO2lmKHJ2KGkpPEt5KXJldHVybihmdW5jdGlvbiByKHQpe3ZhciBlPXN2KHQpO2Z1bmN0aW9uIG4odCxuKXtyZXR1cm5bdCplLGR2KG4pL2VdfXJldHVybiBuLmludmVydD1mdW5jdGlvbih0LG4pe3JldHVyblt0L2UsX3YobiplKV19LG59KSh0KTt2YXIgbz0xK24qKDIqaS1uKSxhPWZ2KG8pL2k7ZnVuY3Rpb24gcyh0LGUpe3ZhciBuPWZ2KG8tMippKmR2KGUpKS9pO3JldHVybltuKmR2KHQqPWkpLGEtbipzdih0KV19cmV0dXJuIHMuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIG49YS1lLHI9YXYodCxydihuKSkqcHYobik7cmV0dXJuIG4qaTwwJiYoci09SnkqcHYodCkqcHYobikpLFtyL2ksX3YoKG8tKHQqdCtuKm4pKmkqaSkvKDIqaSkpXX0sc31mdW5jdGlvbiBuUygpe3JldHVybiB0UyhlUykuc2NhbGUoMTU1LjQyNCkuY2VudGVyKFswLDMzLjY0NDJdKX1mdW5jdGlvbiBpUygpe3JldHVybiBuUygpLnBhcmFsbGVscyhbMjkuNSw0NS41XSkuc2NhbGUoMTA3MCkudHJhbnNsYXRlKFs0ODAsMjUwXSkucm90YXRlKFs5NiwwXSkuY2VudGVyKFstLjYsMzguN10pfWZ1bmN0aW9uIHJTKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciBpPXN2KGUpLHI9c3Yobiksbz10KGkqcik7cmV0dXJuW28qcipkdihlKSxvKmR2KG4pXX19ZnVuY3Rpb24gb1ModCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dmFyIGk9ZnYoZSplK24qbikscj10KGkpLG89ZHYociksYT1zdihyKTtyZXR1cm5bYXYoZSpvLGkqYSksX3YoaSYmbipvL2kpXX19dmFyIGFTPXJTKChmdW5jdGlvbih0KXtyZXR1cm4gZnYoMi8oMSt0KSl9KSk7YVMuaW52ZXJ0PW9TKChmdW5jdGlvbih0KXtyZXR1cm4gMipfdih0LzIpfSkpO3ZhciBzUz1yUygoZnVuY3Rpb24odCl7cmV0dXJuKHQ9Z3YodCkpJiZ0L2R2KHQpfSkpO2Z1bmN0aW9uIGxTKHQsZSl7cmV0dXJuW3QsdXYobXYoKFF5K2UpLzIpKV19ZnVuY3Rpb24gY1ModCl7dmFyIGUsbixpLHI9SncodCksbz1yLmNlbnRlcixhPXIuc2NhbGUscz1yLnRyYW5zbGF0ZSxsPXIuY2xpcEV4dGVudCxjPW51bGw7ZnVuY3Rpb24gdSgpe3ZhciBvPUp5KmEoKSxzPXIoWWIoci5yb3RhdGUoKSkuaW52ZXJ0KFswLDBdKSk7cmV0dXJuIGwobnVsbD09Yz9bW3NbMF0tbyxzWzFdLW9dLFtzWzBdK28sc1sxXStvXV06dD09PWxTP1tbTWF0aC5tYXgoc1swXS1vLGMpLGVdLFtNYXRoLm1pbihzWzBdK28sbiksaV1dOltbYyxNYXRoLm1heChzWzFdLW8sZSldLFtuLE1hdGgubWluKHNbMV0rbyxpKV1dKX1yZXR1cm4gci5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYSh0KSx1KCkpOmEoKX0sci50cmFuc2xhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHModCksdSgpKTpzKCl9LHIuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvKHQpLHUoKSk6bygpfSxyLmNsaXBFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG51bGw9PXQ/Yz1lPW49aT1udWxsOihjPSt0WzBdWzBdLGU9K3RbMF1bMV0sbj0rdFsxXVswXSxpPSt0WzFdWzFdKSx1KCkpOm51bGw9PWM/bnVsbDpbW2MsZV0sW24saV1dfSx1KCl9ZnVuY3Rpb24gdVModCl7cmV0dXJuIG12KChReSt0KS8yKX1mdW5jdGlvbiBoUyh0LGUpe3ZhciBuPXN2KHQpLGk9dD09PWU/ZHYodCk6dXYobi9zdihlKSkvdXYodVMoZSkvdVModCkpLHI9bipodih1Uyh0KSxpKS9pO2lmKCFpKXJldHVybiBsUztmdW5jdGlvbiBvKHQsZSl7cj4wP2U8LVF5K0t5JiYoZT0tUXkrS3kpOmU+UXktS3kmJihlPVF5LUt5KTt2YXIgbj1yL2h2KHVTKGUpLGkpO3JldHVybltuKmR2KGkqdCksci1uKnN2KGkqdCldfXJldHVybiBvLmludmVydD1mdW5jdGlvbih0LGUpe3ZhciBuPXItZSxvPXB2KGkpKmZ2KHQqdCtuKm4pLGE9YXYodCxydihuKSkqcHYobik7cmV0dXJuIG4qaTwwJiYoYS09SnkqcHYodCkqcHYobikpLFthL2ksMipvdihodihyL28sMS9pKSktUXldfSxvfWZ1bmN0aW9uIGRTKHQsZSl7cmV0dXJuW3QsZV19ZnVuY3Rpb24gcFModCxlKXt2YXIgbj1zdih0KSxpPXQ9PT1lP2R2KHQpOihuLXN2KGUpKS8oZS10KSxyPW4vaSt0O2lmKHJ2KGkpPEt5KXJldHVybiBkUztmdW5jdGlvbiBvKHQsZSl7dmFyIG49ci1lLG89aSp0O3JldHVybltuKmR2KG8pLHItbipzdihvKV19cmV0dXJuIG8uaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIG49ci1lLG89YXYodCxydihuKSkqcHYobik7cmV0dXJuIG4qaTwwJiYoby09SnkqcHYodCkqcHYobikpLFtvL2ksci1wdihpKSpmdih0KnQrbipuKV19LG99c1MuaW52ZXJ0PW9TKChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKSxsUy5pbnZlcnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm5bdCwyKm92KGN2KGUpKS1ReV19LGRTLmludmVydD1kUzt2YXIgZlM9MS4zNDAyNjQsbVM9LS4wODExMDYsZ1M9ODkzZS02LF9TPS4wMDM3OTYseVM9ZnYoMykvMjtmdW5jdGlvbiB2Uyh0LGUpe3ZhciBuPV92KHlTKmR2KGUpKSxpPW4qbixyPWkqaSppO3JldHVyblt0KnN2KG4pLyh5UyooZlMrMyptUyppK3IqKDcqZ1MrOSpfUyppKSkpLG4qKGZTK21TKmkrciooZ1MrX1MqaSkpXX1mdW5jdGlvbiBiUyh0LGUpe3ZhciBuPXN2KGUpLGk9c3YodCkqbjtyZXR1cm5bbipkdih0KS9pLGR2KGUpL2ldfWZ1bmN0aW9uIHhTKHQsZSl7dmFyIG49ZSplLGk9bipuO3JldHVyblt0KiguODcwNy0uMTMxOTc5Km4raSooaSooLjAwMzk3MSpuLS4wMDE1MjkqaSktLjAxMzc5MSkpLGUqKDEuMDA3MjI2K24qKC4wMTUwODUraSooLjAyODg3NCpuLS4wNDQ0NzUtLjAwNTkxNippKSkpXX1mdW5jdGlvbiB3Uyh0LGUpe3JldHVybltzdihlKSpkdih0KSxkdihlKV19ZnVuY3Rpb24gU1ModCxlKXt2YXIgbj1zdihlKSxpPTErc3YodCkqbjtyZXR1cm5bbipkdih0KS9pLGR2KGUpL2ldfWZ1bmN0aW9uIE1TKHQsZSl7cmV0dXJuW3V2KG12KChReStlKS8yKSksLXRdfWZ1bmN0aW9uIEVTKHQsZSl7cmV0dXJuIHQucGFyZW50PT09ZS5wYXJlbnQ/MToyfWZ1bmN0aW9uIFRTKHQsZSl7cmV0dXJuIHQrZS54fWZ1bmN0aW9uIENTKHQsZSl7cmV0dXJuIE1hdGgubWF4KHQsZS55KX1mdW5jdGlvbiBBUyh0KXt2YXIgZT0wLG49dC5jaGlsZHJlbixpPW4mJm4ubGVuZ3RoO2lmKGkpZm9yKDstLWk+PTA7KWUrPW5baV0udmFsdWU7ZWxzZSBlPTE7dC52YWx1ZT1lfWZ1bmN0aW9uIGtTKHQsZSl7dmFyIG4saSxyLG8sYSxzPW5ldyBJUyh0KSxsPSt0LnZhbHVlJiYocy52YWx1ZT10LnZhbHVlKSxjPVtzXTtmb3IobnVsbD09ZSYmKGU9TFMpO249Yy5wb3AoKTspaWYobCYmKG4udmFsdWU9K24uZGF0YS52YWx1ZSksKHI9ZShuLmRhdGEpKSYmKGE9ci5sZW5ndGgpKWZvcihuLmNoaWxkcmVuPW5ldyBBcnJheShhKSxvPWEtMTtvPj0wOy0tbyljLnB1c2goaT1uLmNoaWxkcmVuW29dPW5ldyBJUyhyW29dKSksaS5wYXJlbnQ9bixpLmRlcHRoPW4uZGVwdGgrMTtyZXR1cm4gcy5lYWNoQmVmb3JlKE5TKX1mdW5jdGlvbiBMUyh0KXtyZXR1cm4gdC5jaGlsZHJlbn1mdW5jdGlvbiBQUyh0KXt0LmRhdGE9dC5kYXRhLmRhdGF9ZnVuY3Rpb24gTlModCl7dmFyIGU9MDtkb3t0LmhlaWdodD1lfXdoaWxlKCh0PXQucGFyZW50KSYmdC5oZWlnaHQ8KytlKX1mdW5jdGlvbiBJUyh0KXt0aGlzLmRhdGE9dCx0aGlzLmRlcHRoPXRoaXMuaGVpZ2h0PTAsdGhpcy5wYXJlbnQ9bnVsbH12Uy5pbnZlcnQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4saT1lLHI9aSppLG89cipyKnIsYT0wO2E8MTImJihvPShyPShpLT1uPShpKihmUyttUypyK28qKGdTK19TKnIpKS1lKS8oZlMrMyptUypyK28qKDcqZ1MrOSpfUypyKSkpKmkpKnIqciwhKHJ2KG4pPFp5KSk7KythKTtyZXR1cm5beVMqdCooZlMrMyptUypyK28qKDcqZ1MrOSpfUypyKSkvc3YoaSksX3YoZHYoaSkveVMpXX0sYlMuaW52ZXJ0PW9TKG92KSx4Uy5pbnZlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgbixpPWUscj0yNTtkb3t2YXIgbz1pKmksYT1vKm87aS09bj0oaSooMS4wMDcyMjYrbyooLjAxNTA4NSthKiguMDI4ODc0Km8tLjA0NDQ3NS0uMDA1OTE2KmEpKSktZSkvKDEuMDA3MjI2K28qKC4wNDUyNTUrYSooLjI1OTg2NipvLS4zMTEzMjUtLjAwNTkxNioxMSphKSkpfXdoaWxlKHJ2KG4pPkt5JiYtLXI+MCk7cmV0dXJuW3QvKC44NzA3KyhvPWkqaSkqKG8qKG8qbypvKiguMDAzOTcxLS4wMDE1MjkqbyktLjAxMzc5MSktLjEzMTk3OSkpLGldfSx3Uy5pbnZlcnQ9b1MoX3YpLFNTLmludmVydD1vUygoZnVuY3Rpb24odCl7cmV0dXJuIDIqb3YodCl9KSksTVMuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuWy1lLDIqb3YoY3YodCkpLVF5XX0sSVMucHJvdG90eXBlPWtTLnByb3RvdHlwZT17Y29uc3RydWN0b3I6SVMsY291bnQ6ZnVuY3Rpb24gUlMoKXtyZXR1cm4gdGhpcy5lYWNoQWZ0ZXIoQVMpfSxlYWNoOmZ1bmN0aW9uIE9TKHQpe3ZhciBlLG4saSxyLG89dGhpcyxhPVtvXTtkb3tmb3IoZT1hLnJldmVyc2UoKSxhPVtdO289ZS5wb3AoKTspaWYodChvKSxuPW8uY2hpbGRyZW4pZm9yKGk9MCxyPW4ubGVuZ3RoO2k8cjsrK2kpYS5wdXNoKG5baV0pfXdoaWxlKGEubGVuZ3RoKTtyZXR1cm4gdGhpc30sZWFjaEFmdGVyOmZ1bmN0aW9uIHpTKHQpe2Zvcih2YXIgZSxuLGkscj10aGlzLG89W3JdLGE9W107cj1vLnBvcCgpOylpZihhLnB1c2gociksZT1yLmNoaWxkcmVuKWZvcihuPTAsaT1lLmxlbmd0aDtuPGk7KytuKW8ucHVzaChlW25dKTtmb3IoO3I9YS5wb3AoKTspdChyKTtyZXR1cm4gdGhpc30sZWFjaEJlZm9yZTpmdW5jdGlvbiBEUyh0KXtmb3IodmFyIGUsbixpPXRoaXMscj1baV07aT1yLnBvcCgpOylpZih0KGkpLGU9aS5jaGlsZHJlbilmb3Iobj1lLmxlbmd0aC0xO24+PTA7LS1uKXIucHVzaChlW25dKTtyZXR1cm4gdGhpc30sc3VtOmZ1bmN0aW9uIEJTKHQpe3JldHVybiB0aGlzLmVhY2hBZnRlcigoZnVuY3Rpb24oZSl7Zm9yKHZhciBuPSt0KGUuZGF0YSl8fDAsaT1lLmNoaWxkcmVuLHI9aSYmaS5sZW5ndGg7LS1yPj0wOyluKz1pW3JdLnZhbHVlO2UudmFsdWU9bn0pKX0sc29ydDpmdW5jdGlvbiBIUyh0KXtyZXR1cm4gdGhpcy5lYWNoQmVmb3JlKChmdW5jdGlvbihlKXtlLmNoaWxkcmVuJiZlLmNoaWxkcmVuLnNvcnQodCl9KSl9LHBhdGg6ZnVuY3Rpb24gRlModCl7Zm9yKHZhciBlPXRoaXMsbj0oZnVuY3Rpb24gaSh0LGUpe2lmKHQ9PT1lKXJldHVybiB0O3ZhciBuPXQuYW5jZXN0b3JzKCksaT1lLmFuY2VzdG9ycygpLHI9bnVsbDt0PW4ucG9wKCksZT1pLnBvcCgpO2Zvcig7dD09PWU7KXI9dCx0PW4ucG9wKCksZT1pLnBvcCgpO3JldHVybiByfSkoZSx0KSxyPVtlXTtlIT09bjspci5wdXNoKGU9ZS5wYXJlbnQpO2Zvcih2YXIgbz1yLmxlbmd0aDt0IT09bjspci5zcGxpY2UobywwLHQpLHQ9dC5wYXJlbnQ7cmV0dXJuIHJ9LGFuY2VzdG9yczpmdW5jdGlvbiBWUygpe2Zvcih2YXIgdD10aGlzLGU9W3RdO3Q9dC5wYXJlbnQ7KWUucHVzaCh0KTtyZXR1cm4gZX0sZGVzY2VuZGFudHM6ZnVuY3Rpb24gVVMoKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbihlKXt0LnB1c2goZSl9KSksdH0sbGVhdmVzOmZ1bmN0aW9uIGpTKCl7dmFyIHQ9W107cmV0dXJuIHRoaXMuZWFjaEJlZm9yZSgoZnVuY3Rpb24oZSl7ZS5jaGlsZHJlbnx8dC5wdXNoKGUpfSkpLHR9LGxpbmtzOmZ1bmN0aW9uIEdTKCl7dmFyIHQ9dGhpcyxlPVtdO3JldHVybiB0LmVhY2goKGZ1bmN0aW9uKG4pe24hPT10JiZlLnB1c2goe3NvdXJjZTpuLnBhcmVudCx0YXJnZXQ6bn0pfSkpLGV9LGNvcHk6ZnVuY3Rpb24gV1MoKXtyZXR1cm4ga1ModGhpcykuZWFjaEJlZm9yZShQUyl9fTt2YXIgcVM9QXJyYXkucHJvdG90eXBlLnNsaWNlO2Z1bmN0aW9uIFlTKHQpe2Zvcih2YXIgZSxuLGk9MCxyPSh0PShmdW5jdGlvbiBvKHQpe2Zvcih2YXIgZSxuLGk9dC5sZW5ndGg7aTspbj1NYXRoLnJhbmRvbSgpKmktLXwwLGU9dFtpXSx0W2ldPXRbbl0sdFtuXT1lO3JldHVybiB0fSkocVMuY2FsbCh0KSkpLmxlbmd0aCxhPVtdO2k8cjspZT10W2ldLG4mJktTKG4sZSk/KytpOihuPUpTKGE9WFMoYSxlKSksaT0wKTtyZXR1cm4gbn1mdW5jdGlvbiBYUyh0LGUpe3ZhciBuLGk7aWYoWlMoZSx0KSlyZXR1cm5bZV07Zm9yKG49MDtuPHQubGVuZ3RoOysrbilpZigkUyhlLHRbbl0pJiZaUyhRUyh0W25dLGUpLHQpKXJldHVyblt0W25dLGVdO2ZvcihuPTA7bjx0Lmxlbmd0aC0xOysrbilmb3IoaT1uKzE7aTx0Lmxlbmd0aDsrK2kpaWYoJFMoUVModFtuXSx0W2ldKSxlKSYmJFMoUVModFtuXSxlKSx0W2ldKSYmJFMoUVModFtpXSxlKSx0W25dKSYmWlModE0odFtuXSx0W2ldLGUpLHQpKXJldHVyblt0W25dLHRbaV0sZV07dGhyb3cgbmV3IEVycm9yfWZ1bmN0aW9uICRTKHQsZSl7dmFyIG49dC5yLWUucixpPWUueC10Lngscj1lLnktdC55O3JldHVybiBuPDB8fG4qbjxpKmkrcipyfWZ1bmN0aW9uIEtTKHQsZSl7dmFyIG49dC5yLWUucisxZS02LGk9ZS54LXQueCxyPWUueS10Lnk7cmV0dXJuIG4+MCYmbipuPmkqaStyKnJ9ZnVuY3Rpb24gWlModCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoOysrbilpZighS1ModCxlW25dKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBKUyh0KXtzd2l0Y2godC5sZW5ndGgpe2Nhc2UgMTpyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm57eDp0LngseTp0Lnkscjp0LnJ9fSkodFswXSk7Y2FzZSAyOnJldHVybiBRUyh0WzBdLHRbMV0pO2Nhc2UgMzpyZXR1cm4gdE0odFswXSx0WzFdLHRbMl0pfX1mdW5jdGlvbiBRUyh0LGUpe3ZhciBuPXQueCxpPXQueSxyPXQucixvPWUueCxhPWUueSxzPWUucixsPW8tbixjPWEtaSx1PXMtcixoPU1hdGguc3FydChsKmwrYypjKTtyZXR1cm57eDoobitvK2wvaCp1KS8yLHk6KGkrYStjL2gqdSkvMixyOihoK3IrcykvMn19ZnVuY3Rpb24gdE0odCxlLG4pe3ZhciBpPXQueCxyPXQueSxvPXQucixhPWUueCxzPWUueSxsPWUucixjPW4ueCx1PW4ueSxoPW4ucixkPWktYSxwPWktYyxmPXItcyxtPXItdSxnPWwtbyxfPWgtbyx5PWkqaStyKnItbypvLHY9eS1hKmEtcypzK2wqbCxiPXktYypjLXUqdStoKmgseD1wKmYtZCptLHc9KGYqYi1tKnYpLygyKngpLWksUz0obSpnLWYqXykveCxNPShwKnYtZCpiKS8oMip4KS1yLEU9KGQqXy1wKmcpL3gsVD1TKlMrRSpFLTEsQz0yKihvK3cqUytNKkUpLEE9dyp3K00qTS1vKm8saz0tKFQ/KEMrTWF0aC5zcXJ0KEMqQy00KlQqQSkpLygyKlQpOkEvQyk7cmV0dXJue3g6aSt3K1Mqayx5OnIrTStFKmsscjprfX1mdW5jdGlvbiBlTSh0LGUsbil7dmFyIGkscixvLGEscz10LngtZS54LGw9dC55LWUueSxjPXMqcytsKmw7Yz8ocj1lLnIrbi5yLGE9dC5yK24uciwocio9cik+KGEqPWEpPyhpPShjK2EtcikvKDIqYyksbz1NYXRoLnNxcnQoTWF0aC5tYXgoMCxhL2MtaSppKSksbi54PXQueC1pKnMtbypsLG4ueT10LnktaSpsK28qcyk6KGk9KGMrci1hKS8oMipjKSxvPU1hdGguc3FydChNYXRoLm1heCgwLHIvYy1pKmkpKSxuLng9ZS54K2kqcy1vKmwsbi55PWUueStpKmwrbypzKSk6KG4ueD1lLngrbi5yLG4ueT1lLnkpfWZ1bmN0aW9uIG5NKHQsZSl7dmFyIG49dC5yK2Uuci0xZS02LGk9ZS54LXQueCxyPWUueS10Lnk7cmV0dXJuIG4+MCYmbipuPmkqaStyKnJ9ZnVuY3Rpb24gaU0odCl7dmFyIGU9dC5fLG49dC5uZXh0Ll8saT1lLnIrbi5yLHI9KGUueCpuLnIrbi54KmUucikvaSxvPShlLnkqbi5yK24ueSplLnIpL2k7cmV0dXJuIHIqcitvKm99ZnVuY3Rpb24gck0odCl7dGhpcy5fPXQsdGhpcy5uZXh0PW51bGwsdGhpcy5wcmV2aW91cz1udWxsfWZ1bmN0aW9uIG9NKHQpe2lmKCEocj10Lmxlbmd0aCkpcmV0dXJuIDA7dmFyIGUsbixpLHIsbyxhLHMsbCxjLHUsaDtpZigoZT10WzBdKS54PTAsZS55PTAsIShyPjEpKXJldHVybiBlLnI7aWYoZS54PS0obj10WzFdKS5yLG4ueD1lLnIsbi55PTAsIShyPjIpKXJldHVybiBlLnIrbi5yO2VNKG4sZSxpPXRbMl0pLGU9bmV3IHJNKGUpLG49bmV3IHJNKG4pLGk9bmV3IHJNKGkpLGUubmV4dD1pLnByZXZpb3VzPW4sbi5uZXh0PWUucHJldmlvdXM9aSxpLm5leHQ9bi5wcmV2aW91cz1lO3Q6Zm9yKHM9MztzPHI7KytzKXtlTShlLl8sbi5fLGk9dFtzXSksaT1uZXcgck0oaSksbD1uLm5leHQsYz1lLnByZXZpb3VzLHU9bi5fLnIsaD1lLl8ucjtkb3tpZih1PD1oKXtpZihuTShsLl8saS5fKSl7ZS5uZXh0PW49bCxuLnByZXZpb3VzPWUsLS1zO2NvbnRpbnVlIHR9dSs9bC5fLnIsbD1sLm5leHR9ZWxzZXtpZihuTShjLl8saS5fKSl7KGU9YykubmV4dD1uLG4ucHJldmlvdXM9ZSwtLXM7Y29udGludWUgdH1oKz1jLl8ucixjPWMucHJldmlvdXN9fXdoaWxlKGwhPT1jLm5leHQpO2ZvcihpLnByZXZpb3VzPWUsaS5uZXh0PW4sZS5uZXh0PW4ucHJldmlvdXM9bj1pLG89aU0oZSk7KGk9aS5uZXh0KSE9PW47KShhPWlNKGkpKTxvJiYoZT1pLG89YSk7bj1lLm5leHR9Zm9yKGU9W24uX10saT1uOyhpPWkubmV4dCkhPT1uOyllLnB1c2goaS5fKTtmb3IoaT1ZUyhlKSxzPTA7czxyOysrcykoZT10W3NdKS54LT1pLngsZS55LT1pLnk7cmV0dXJuIGkucn1mdW5jdGlvbiBhTSh0KXtyZXR1cm4gbnVsbD09dD9udWxsOnNNKHQpfWZ1bmN0aW9uIHNNKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcjtyZXR1cm4gdH1mdW5jdGlvbiBsTSgpe3JldHVybiAwfWZ1bmN0aW9uIGNNKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiB1TSh0KXtyZXR1cm4gTWF0aC5zcXJ0KHQudmFsdWUpfWZ1bmN0aW9uIGhNKHQpe3JldHVybiBmdW5jdGlvbihlKXtlLmNoaWxkcmVufHwoZS5yPU1hdGgubWF4KDAsK3QoZSl8fDApKX19ZnVuY3Rpb24gZE0odCxlKXtyZXR1cm4gZnVuY3Rpb24obil7aWYoaT1uLmNoaWxkcmVuKXt2YXIgaSxyLG8sYT1pLmxlbmd0aCxzPXQobikqZXx8MDtpZihzKWZvcihyPTA7cjxhOysrcilpW3JdLnIrPXM7aWYobz1vTShpKSxzKWZvcihyPTA7cjxhOysrcilpW3JdLnItPXM7bi5yPW8rc319fWZ1bmN0aW9uIHBNKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgbj1lLnBhcmVudDtlLnIqPXQsbiYmKGUueD1uLngrdCplLngsZS55PW4ueSt0KmUueSl9fWZ1bmN0aW9uIGZNKHQpe3QueDA9TWF0aC5yb3VuZCh0LngwKSx0LnkwPU1hdGgucm91bmQodC55MCksdC54MT1NYXRoLnJvdW5kKHQueDEpLHQueTE9TWF0aC5yb3VuZCh0LnkxKX1mdW5jdGlvbiBtTSh0LGUsbixpLHIpe2Zvcih2YXIgbyxhPXQuY2hpbGRyZW4scz0tMSxsPWEubGVuZ3RoLGM9dC52YWx1ZSYmKGktZSkvdC52YWx1ZTsrK3M8bDspKG89YVtzXSkueTA9bixvLnkxPXIsby54MD1lLG8ueDE9ZSs9by52YWx1ZSpjfXZhciBnTT17ZGVwdGg6LTF9LF9NPXt9O2Z1bmN0aW9uIHlNKHQpe3JldHVybiB0LmlkfWZ1bmN0aW9uIHZNKHQpe3JldHVybiB0LnBhcmVudElkfWZ1bmN0aW9uIGJNKHQsZSl7cmV0dXJuIHQucGFyZW50PT09ZS5wYXJlbnQ/MToyfWZ1bmN0aW9uIHhNKHQpe3ZhciBlPXQuY2hpbGRyZW47cmV0dXJuIGU/ZVswXTp0LnR9ZnVuY3Rpb24gd00odCl7dmFyIGU9dC5jaGlsZHJlbjtyZXR1cm4gZT9lW2UubGVuZ3RoLTFdOnQudH1mdW5jdGlvbiBTTSh0LGUsbil7dmFyIGk9bi8oZS5pLXQuaSk7ZS5jLT1pLGUucys9bix0LmMrPWksZS56Kz1uLGUubSs9bn1mdW5jdGlvbiBNTSh0LGUsbil7cmV0dXJuIHQuYS5wYXJlbnQ9PT1lLnBhcmVudD90LmE6bn1mdW5jdGlvbiBFTSh0LGUpe3RoaXMuXz10LHRoaXMucGFyZW50PW51bGwsdGhpcy5jaGlsZHJlbj1udWxsLHRoaXMuQT1udWxsLHRoaXMuYT10aGlzLHRoaXMuej0wLHRoaXMubT0wLHRoaXMuYz0wLHRoaXMucz0wLHRoaXMudD1udWxsLHRoaXMuaT1lfWZ1bmN0aW9uIFRNKHQsZSxuLGkscil7Zm9yKHZhciBvLGE9dC5jaGlsZHJlbixzPS0xLGw9YS5sZW5ndGgsYz10LnZhbHVlJiYoci1uKS90LnZhbHVlOysrczxsOykobz1hW3NdKS54MD1lLG8ueDE9aSxvLnkwPW4sby55MT1uKz1vLnZhbHVlKmN9RU0ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoSVMucHJvdG90eXBlKTt2YXIgQ009KDErTWF0aC5zcXJ0KDUpKS8yO2Z1bmN0aW9uIEFNKHQsZSxuLGkscixvKXtmb3IodmFyIGEscyxsLGMsdSxoLGQscCxmLG0sZyxfPVtdLHk9ZS5jaGlsZHJlbix2PTAsYj0wLHg9eS5sZW5ndGgsdz1lLnZhbHVlO3Y8eDspe2w9ci1uLGM9by1pO2Rve3U9eVtiKytdLnZhbHVlfXdoaWxlKCF1JiZiPHgpO2ZvcihoPWQ9dSxnPXUqdSoobT1NYXRoLm1heChjL2wsbC9jKS8odyp0KSksZj1NYXRoLm1heChkL2csZy9oKTtiPHg7KytiKXtpZih1Kz1zPXlbYl0udmFsdWUsczxoJiYoaD1zKSxzPmQmJihkPXMpLGc9dSp1Km0sKHA9TWF0aC5tYXgoZC9nLGcvaCkpPmYpe3UtPXM7YnJlYWt9Zj1wfV8ucHVzaChhPXt2YWx1ZTp1LGRpY2U6bDxjLGNoaWxkcmVuOnkuc2xpY2UodixiKX0pLGEuZGljZT9tTShhLG4saSxyLHc/aSs9Yyp1L3c6byk6VE0oYSxuLGksdz9uKz1sKnUvdzpyLG8pLHctPXUsdj1ifXJldHVybiBffXZhciBrTT0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQsbixpLHIsbyl7QU0oZSx0LG4saSxyLG8pfXJldHVybiBuLnJhdGlvPWZ1bmN0aW9uKGUpe3JldHVybiB0KChlPStlKT4xP2U6MSl9LG59KShDTSk7dmFyIExNPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCxuLGkscixvKXtpZigoYT10Ll9zcXVhcmlmeSkmJmEucmF0aW89PT1lKWZvcih2YXIgYSxzLGwsYyx1LGg9LTEsZD1hLmxlbmd0aCxwPXQudmFsdWU7KytoPGQ7KXtmb3IobD0ocz1hW2hdKS5jaGlsZHJlbixjPXMudmFsdWU9MCx1PWwubGVuZ3RoO2M8dTsrK2Mpcy52YWx1ZSs9bFtjXS52YWx1ZTtzLmRpY2U/bU0ocyxuLGkscixpKz0oby1pKSpzLnZhbHVlL3ApOlRNKHMsbixpLG4rPShyLW4pKnMudmFsdWUvcCxvKSxwLT1zLnZhbHVlfWVsc2UgdC5fc3F1YXJpZnk9YT1BTShlLHQsbixpLHIsbyksYS5yYXRpbz1lfXJldHVybiBuLnJhdGlvPWZ1bmN0aW9uKGUpe3JldHVybiB0KChlPStlKT4xP2U6MSl9LG59KShDTSk7ZnVuY3Rpb24gUE0odCxlLG4pe3JldHVybihlWzBdLXRbMF0pKihuWzFdLXRbMV0pLShlWzFdLXRbMV0pKihuWzBdLXRbMF0pfWZ1bmN0aW9uIE5NKHQsZSl7cmV0dXJuIHRbMF0tZVswXXx8dFsxXS1lWzFdfWZ1bmN0aW9uIElNKHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxuPVswLDFdLGk9MixyPTI7cjxlOysrcil7Zm9yKDtpPjEmJlBNKHRbbltpLTJdXSx0W25baS0xXV0sdFtyXSk8PTA7KS0taTtuW2krK109cn1yZXR1cm4gbi5zbGljZSgwLGkpfWZ1bmN0aW9uIFJNKCl7cmV0dXJuIE1hdGgucmFuZG9tKCl9dmFyIE9NPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCxuKXtyZXR1cm4gdD1udWxsPT10PzA6K3Qsbj1udWxsPT1uPzE6K24sMT09PWFyZ3VtZW50cy5sZW5ndGg/KG49dCx0PTApOm4tPXQsZnVuY3Rpb24oKXtyZXR1cm4gZSgpKm4rdH19cmV0dXJuIG4uc291cmNlPXQsbn0pKFJNKSx6TT0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQsbil7dmFyIGkscjtyZXR1cm4gdD1udWxsPT10PzA6K3Qsbj1udWxsPT1uPzE6K24sZnVuY3Rpb24oKXt2YXIgbztpZihudWxsIT1pKW89aSxpPW51bGw7ZWxzZSBkb3tpPTIqZSgpLTEsbz0yKmUoKS0xLHI9aSppK28qb313aGlsZSghcnx8cj4xKTtyZXR1cm4gdCtuKm8qTWF0aC5zcXJ0KC0yKk1hdGgubG9nKHIpL3IpfX1yZXR1cm4gbi5zb3VyY2U9dCxufSkoUk0pLERNPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4oKXt2YXIgdD16TS5zb3VyY2UoZSkuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBNYXRoLmV4cCh0KCkpfX1yZXR1cm4gbi5zb3VyY2U9dCxufSkoUk0pLEJNPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBuPTAsaT0wO2k8dDsrK2kpbis9ZSgpO3JldHVybiBufX1yZXR1cm4gbi5zb3VyY2U9dCxufSkoUk0pLEhNPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7dmFyIG49Qk0uc291cmNlKGUpKHQpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuKCkvdH19cmV0dXJuIG4uc291cmNlPXQsbn0pKFJNKSxGTT0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybi1NYXRoLmxvZygxLWUoKSkvdH19cmV0dXJuIG4uc291cmNlPXQsbn0pKFJNKTtmdW5jdGlvbiBWTSh0LGUpe3N3aXRjaChhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnRoaXMucmFuZ2UodCk7YnJlYWs7ZGVmYXVsdDp0aGlzLnJhbmdlKGUpLmRvbWFpbih0KX1yZXR1cm4gdGhpc31mdW5jdGlvbiBVTSh0LGUpe3N3aXRjaChhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnRoaXMuaW50ZXJwb2xhdG9yKHQpO2JyZWFrO2RlZmF1bHQ6dGhpcy5pbnRlcnBvbGF0b3IoZSkuZG9tYWluKHQpfXJldHVybiB0aGlzfXZhciBqTT1BcnJheS5wcm90b3R5cGUsR009ak0ubWFwLFdNPWpNLnNsaWNlLHFNPXtuYW1lOiJpbXBsaWNpdCJ9O2Z1bmN0aW9uIFlNKCl7dmFyIHQ9amcoKSxlPVtdLG49W10saT1xTTtmdW5jdGlvbiByKHIpe3ZhciBvPXIrIiIsYT10LmdldChvKTtpZighYSl7aWYoaSE9PXFNKXJldHVybiBpO3Quc2V0KG8sYT1lLnB1c2gocikpfXJldHVybiBuWyhhLTEpJW4ubGVuZ3RoXX1yZXR1cm4gci5kb21haW49ZnVuY3Rpb24obil7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGUuc2xpY2UoKTtlPVtdLHQ9amcoKTtmb3IodmFyIGksbyxhPS0xLHM9bi5sZW5ndGg7KythPHM7KXQuaGFzKG89KGk9blthXSkrIiIpfHx0LnNldChvLGUucHVzaChpKSk7cmV0dXJuIHJ9LHIucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49V00uY2FsbCh0KSxyKTpuLnNsaWNlKCl9LHIudW5rbm93bj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT10LHIpOml9LHIuY29weT1mdW5jdGlvbigpe3JldHVybiBZTShlLG4pLnVua25vd24oaSl9LFZNLmFwcGx5KHIsYXJndW1lbnRzKSxyfWZ1bmN0aW9uIFhNKCl7dmFyIHQsZSxuPVlNKCkudW5rbm93bih2b2lkIDApLGk9bi5kb21haW4scj1uLnJhbmdlLG89WzAsMV0sYT0hMSxzPTAsbD0wLGM9LjU7ZnVuY3Rpb24gdSgpe3ZhciBuPWkoKS5sZW5ndGgsdT1vWzFdPG9bMF0saD1vW3UtMF0sZD1vWzEtdV07dD0oZC1oKS9NYXRoLm1heCgxLG4tcysyKmwpLGEmJih0PU1hdGguZmxvb3IodCkpLGgrPShkLWgtdCoobi1zKSkqYyxlPXQqKDEtcyksYSYmKGg9TWF0aC5yb3VuZChoKSxlPU1hdGgucm91bmQoZSkpO3ZhciBwPUtsKG4pLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGgrdCplfSkpO3JldHVybiByKHU/cC5yZXZlcnNlKCk6cCl9cmV0dXJuIGRlbGV0ZSBuLnVua25vd24sbi5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGkodCksdSgpKTppKCl9LG4ucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89Wyt0WzBdLCt0WzFdXSx1KCkpOm8uc2xpY2UoKX0sbi5yYW5nZVJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBvPVsrdFswXSwrdFsxXV0sYT0hMCx1KCl9LG4uYmFuZHdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIGV9LG4uc3RlcD1mdW5jdGlvbigpe3JldHVybiB0fSxuLnJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSEhdCx1KCkpOmF9LG4ucGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz1NYXRoLm1pbigxLGw9K3QpLHUoKSk6c30sbi5wYWRkaW5nSW5uZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9TWF0aC5taW4oMSx0KSx1KCkpOnN9LG4ucGFkZGluZ091dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhsPSt0LHUoKSk6bH0sbi5hbGlnbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz1NYXRoLm1heCgwLE1hdGgubWluKDEsdCkpLHUoKSk6Y30sbi5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIFhNKGkoKSxvKS5yb3VuZChhKS5wYWRkaW5nSW5uZXIocykucGFkZGluZ091dGVyKGwpLmFsaWduKGMpfSxWTS5hcHBseSh1KCksYXJndW1lbnRzKX1mdW5jdGlvbiAkTSh0KXt2YXIgZT10LmNvcHk7cmV0dXJuIHQucGFkZGluZz10LnBhZGRpbmdPdXRlcixkZWxldGUgdC5wYWRkaW5nSW5uZXIsZGVsZXRlIHQucGFkZGluZ091dGVyLHQuY29weT1mdW5jdGlvbigpe3JldHVybiAkTShlKCkpfSx0fWZ1bmN0aW9uIEtNKCl7cmV0dXJuICRNKFhNLmFwcGx5KG51bGwsYXJndW1lbnRzKS5wYWRkaW5nSW5uZXIoMSkpfWZ1bmN0aW9uIFpNKHQpe3JldHVybit0fXZhciBKTT1bMCwxXTtmdW5jdGlvbiBRTSh0KXtyZXR1cm4gdH1mdW5jdGlvbiB0RSh0LGUpe3JldHVybihlLT10PSt0KT9mdW5jdGlvbihuKXtyZXR1cm4obi10KS9lfTooZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19KShpc05hTihlKT9OYU46LjUpfWZ1bmN0aW9uIGVFKHQpe3ZhciBlLG49dFswXSxpPXRbdC5sZW5ndGgtMV07cmV0dXJuIG4+aSYmKGU9bixuPWksaT1lKSxmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5tYXgobixNYXRoLm1pbihpLHQpKX19ZnVuY3Rpb24gbkUodCxlLG4pe3ZhciBpPXRbMF0scj10WzFdLG89ZVswXSxhPWVbMV07cmV0dXJuIHI8aT8oaT10RShyLGkpLG89bihhLG8pKTooaT10RShpLHIpLG89bihvLGEpKSxmdW5jdGlvbih0KXtyZXR1cm4gbyhpKHQpKX19ZnVuY3Rpb24gaUUodCxlLG4pe3ZhciBpPU1hdGgubWluKHQubGVuZ3RoLGUubGVuZ3RoKS0xLHI9bmV3IEFycmF5KGkpLG89bmV3IEFycmF5KGkpLGE9LTE7Zm9yKHRbaV08dFswXSYmKHQ9dC5zbGljZSgpLnJldmVyc2UoKSxlPWUuc2xpY2UoKS5yZXZlcnNlKCkpOysrYTxpOylyW2FdPXRFKHRbYV0sdFthKzFdKSxvW2FdPW4oZVthXSxlW2ErMV0pO3JldHVybiBmdW5jdGlvbihlKXt2YXIgbj1EbCh0LGUsMSxpKS0xO3JldHVybiBvW25dKHJbbl0oZSkpfX1mdW5jdGlvbiByRSh0LGUpe3JldHVybiBlLmRvbWFpbih0LmRvbWFpbigpKS5yYW5nZSh0LnJhbmdlKCkpLmludGVycG9sYXRlKHQuaW50ZXJwb2xhdGUoKSkuY2xhbXAodC5jbGFtcCgpKS51bmtub3duKHQudW5rbm93bigpKX1mdW5jdGlvbiBvRSgpe3ZhciB0LGUsbixpLHIsbyxhPUpNLHM9Sk0sbD1jcCxjPVFNO2Z1bmN0aW9uIHUoKXtyZXR1cm4gaT1NYXRoLm1pbihhLmxlbmd0aCxzLmxlbmd0aCk+Mj9pRTpuRSxyPW89bnVsbCxofWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGlzTmFOKGU9K2UpP246KHJ8fChyPWkoYS5tYXAodCkscyxsKSkpKHQoYyhlKSkpfXJldHVybiBoLmludmVydD1mdW5jdGlvbihuKXtyZXR1cm4gYyhlKChvfHwobz1pKHMsYS5tYXAodCkscnApKSkobikpKX0saC5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9R00uY2FsbCh0LFpNKSxjPT09UU18fChjPWVFKGEpKSx1KCkpOmEuc2xpY2UoKX0saC5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz1XTS5jYWxsKHQpLHUoKSk6cy5zbGljZSgpfSxoLnJhbmdlUm91bmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHM9V00uY2FsbCh0KSxsPXVwLHUoKX0saC5jbGFtcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz10P2VFKGEpOlFNLGgpOmMhPT1RTX0saC5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD10LHUoKSk6bH0saC51bmtub3duPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsaCk6bn0sZnVuY3Rpb24obixpKXtyZXR1cm4gdD1uLGU9aSx1KCl9fWZ1bmN0aW9uIGFFKHQsZSl7cmV0dXJuIG9FKCkodCxlKX1mdW5jdGlvbiBzRSh0LGUsbixpKXt2YXIgcixvPW5jKHQsZSxuKTtzd2l0Y2goKGk9a3kobnVsbD09aT8iLGYiOmkpKS50eXBlKXtjYXNlInMiOnZhciBhPU1hdGgubWF4KE1hdGguYWJzKHQpLE1hdGguYWJzKGUpKTtyZXR1cm4gbnVsbCE9aS5wcmVjaXNpb258fGlzTmFOKHI9R3kobyxhKSl8fChpLnByZWNpc2lvbj1yKSxCeShpLGEpO2Nhc2UiIjpjYXNlImUiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlInIiOm51bGwhPWkucHJlY2lzaW9ufHxpc05hTihyPVd5KG8sTWF0aC5tYXgoTWF0aC5hYnModCksTWF0aC5hYnMoZSkpKSl8fChpLnByZWNpc2lvbj1yLSgiZSI9PT1pLnR5cGUpKTticmVhaztjYXNlImYiOmNhc2UiJSI6bnVsbCE9aS5wcmVjaXNpb258fGlzTmFOKHI9ankobykpfHwoaS5wcmVjaXNpb249ci0yKigiJSI9PT1pLnR5cGUpKX1yZXR1cm4gRHkoaSl9ZnVuY3Rpb24gbEUodCl7dmFyIGU9dC5kb21haW47cmV0dXJuIHQudGlja3M9ZnVuY3Rpb24odCl7dmFyIG49ZSgpO3JldHVybiB0YyhuWzBdLG5bbi5sZW5ndGgtMV0sbnVsbD09dD8xMDp0KX0sdC50aWNrRm9ybWF0PWZ1bmN0aW9uKHQsbil7dmFyIGk9ZSgpO3JldHVybiBzRShpWzBdLGlbaS5sZW5ndGgtMV0sbnVsbD09dD8xMDp0LG4pfSx0Lm5pY2U9ZnVuY3Rpb24obil7bnVsbD09biYmKG49MTApO3ZhciBpLHI9ZSgpLG89MCxhPXIubGVuZ3RoLTEscz1yW29dLGw9clthXTtyZXR1cm4gbDxzJiYoaT1zLHM9bCxsPWksaT1vLG89YSxhPWkpLChpPWVjKHMsbCxuKSk+MD9pPWVjKHM9TWF0aC5mbG9vcihzL2kpKmksbD1NYXRoLmNlaWwobC9pKSppLG4pOmk8MCYmKGk9ZWMocz1NYXRoLmNlaWwocyppKS9pLGw9TWF0aC5mbG9vcihsKmkpL2ksbikpLGk+MD8ocltvXT1NYXRoLmZsb29yKHMvaSkqaSxyW2FdPU1hdGguY2VpbChsL2kpKmksZShyKSk6aTwwJiYocltvXT1NYXRoLmNlaWwocyppKS9pLHJbYV09TWF0aC5mbG9vcihsKmkpL2ksZShyKSksdH0sdH1mdW5jdGlvbiBjRSgpe3ZhciB0PWFFKFFNLFFNKTtyZXR1cm4gdC5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHJFKHQsY0UoKSl9LFZNLmFwcGx5KHQsYXJndW1lbnRzKSxsRSh0KX1mdW5jdGlvbiB1RSh0LGUpe3ZhciBuLGk9MCxyPSh0PXQuc2xpY2UoKSkubGVuZ3RoLTEsbz10W2ldLGE9dFtyXTtyZXR1cm4gYTxvJiYobj1pLGk9cixyPW4sbj1vLG89YSxhPW4pLHRbaV09ZS5mbG9vcihvKSx0W3JdPWUuY2VpbChhKSx0fWZ1bmN0aW9uIGhFKHQpe3JldHVybiBNYXRoLmxvZyh0KX1mdW5jdGlvbiBkRSh0KXtyZXR1cm4gTWF0aC5leHAodCl9ZnVuY3Rpb24gcEUodCl7cmV0dXJuLU1hdGgubG9nKC10KX1mdW5jdGlvbiBmRSh0KXtyZXR1cm4tTWF0aC5leHAoLXQpfWZ1bmN0aW9uIG1FKHQpe3JldHVybiBpc0Zpbml0ZSh0KT8rKCIxZSIrdCk6dDwwPzA6dH1mdW5jdGlvbiBnRSh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuLXQoLWUpfX1mdW5jdGlvbiBfRSh0KXt2YXIgZSxuLGk9dChoRSxkRSkscj1pLmRvbWFpbixvPTEwO2Z1bmN0aW9uIGEoKXtyZXR1cm4gZT0oZnVuY3Rpb24gYSh0KXtyZXR1cm4gdD09PU1hdGguRT9NYXRoLmxvZzoxMD09PXQmJk1hdGgubG9nMTB8fDI9PT10JiZNYXRoLmxvZzJ8fCh0PU1hdGgubG9nKHQpLGZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLmxvZyhlKS90fSl9KShvKSxuPShmdW5jdGlvbiBzKHQpe3JldHVybiAxMD09PXQ/bUU6dD09PU1hdGguRT9NYXRoLmV4cDpmdW5jdGlvbihlKXtyZXR1cm4gTWF0aC5wb3codCxlKX19KShvKSxyKClbMF08MD8oZT1nRShlKSxuPWdFKG4pLHQocEUsZkUpKTp0KGhFLGRFKSxpfXJldHVybiBpLmJhc2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89K3QsYSgpKTpvfSxpLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocih0KSxhKCkpOnIoKX0saS50aWNrcz1mdW5jdGlvbih0KXt2YXIgaSxhPXIoKSxzPWFbMF0sbD1hW2EubGVuZ3RoLTFdOyhpPWw8cykmJihkPXMscz1sLGw9ZCk7dmFyIGMsdSxoLGQ9ZShzKSxwPWUobCksZj1udWxsPT10PzEwOit0LG09W107aWYoIShvJTEpJiZwLWQ8Zil7aWYoZD1NYXRoLnJvdW5kKGQpLTEscD1NYXRoLnJvdW5kKHApKzEscz4wKXtmb3IoO2Q8cDsrK2QpZm9yKHU9MSxjPW4oZCk7dTxvOysrdSlpZighKChoPWMqdSk8cykpe2lmKGg+bClicmVhazttLnB1c2goaCl9fWVsc2UgZm9yKDtkPHA7KytkKWZvcih1PW8tMSxjPW4oZCk7dT49MTstLXUpaWYoISgoaD1jKnUpPHMpKXtpZihoPmwpYnJlYWs7bS5wdXNoKGgpfX1lbHNlIG09dGMoZCxwLE1hdGgubWluKHAtZCxmKSkubWFwKG4pO3JldHVybiBpP20ucmV2ZXJzZSgpOm19LGkudGlja0Zvcm1hdD1mdW5jdGlvbih0LHIpe2lmKG51bGw9PXImJihyPTEwPT09bz8iLjBlIjoiLCIpLCJmdW5jdGlvbiIhPXR5cGVvZiByJiYocj1EeShyKSksdD09PTEvMClyZXR1cm4gcjtudWxsPT10JiYodD0xMCk7dmFyIGE9TWF0aC5tYXgoMSxvKnQvaS50aWNrcygpLmxlbmd0aCk7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBpPXQvbihNYXRoLnJvdW5kKGUodCkpKTtyZXR1cm4gaSpvPG8tLjUmJihpKj1vKSxpPD1hP3IodCk6IiJ9fSxpLm5pY2U9ZnVuY3Rpb24oKXtyZXR1cm4gcih1RShyKCkse2Zsb29yOmZ1bmN0aW9uKHQpe3JldHVybiBuKE1hdGguZmxvb3IoZSh0KSkpfSxjZWlsOmZ1bmN0aW9uKHQpe3JldHVybiBuKE1hdGguY2VpbChlKHQpKSl9fSkpfSxpfWZ1bmN0aW9uIHlFKCl7dmFyIHQ9X0Uob0UoKSkuZG9tYWluKFsxLDEwXSk7cmV0dXJuIHQuY29weT1mdW5jdGlvbigpe3JldHVybiByRSh0LHlFKCkpLmJhc2UodC5iYXNlKCkpfSxWTS5hcHBseSh0LGFyZ3VtZW50cyksdH1mdW5jdGlvbiB2RSh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGguc2lnbihlKSpNYXRoLmxvZzFwKE1hdGguYWJzKGUvdCkpfX1mdW5jdGlvbiBiRSh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGguc2lnbihlKSpNYXRoLmV4cG0xKE1hdGguYWJzKGUpKSp0fX1mdW5jdGlvbiB4RSh0KXt2YXIgZT0xLG49dCh2RShlKSxiRShlKSk7cmV0dXJuIG4uY29uc3RhbnQ9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dCh2RShlPStuKSxiRShlKSk6ZX0sbEUobil9ZnVuY3Rpb24gd0UodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlPDA/LU1hdGgucG93KC1lLHQpOk1hdGgucG93KGUsdCl9fWZ1bmN0aW9uIFNFKHQpe3JldHVybiB0PDA/LU1hdGguc3FydCgtdCk6TWF0aC5zcXJ0KHQpfWZ1bmN0aW9uIE1FKHQpe3JldHVybiB0PDA/LXQqdDp0KnR9ZnVuY3Rpb24gRUUodCl7dmFyIGU9dChRTSxRTSksbj0xO2Z1bmN0aW9uIGkoKXtyZXR1cm4gMT09PW4/dChRTSxRTSk6LjU9PT1uP3QoU0UsTUUpOnQod0Uobiksd0UoMS9uKSl9cmV0dXJuIGUuZXhwb25lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3QsaSgpKTpufSxsRShlKX1mdW5jdGlvbiBURSgpe3ZhciB0PUVFKG9FKCkpO3JldHVybiB0LmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gckUodCxURSgpKS5leHBvbmVudCh0LmV4cG9uZW50KCkpfSxWTS5hcHBseSh0LGFyZ3VtZW50cyksdH1mdW5jdGlvbiBDRSgpe3ZhciB0LGU9W10sbj1bXSxpPVtdO2Z1bmN0aW9uIHIoKXt2YXIgdD0wLHI9TWF0aC5tYXgoMSxuLmxlbmd0aCk7Zm9yKGk9bmV3IEFycmF5KHItMSk7Kyt0PHI7KWlbdC0xXT1yYyhlLHQvcik7cmV0dXJuIG99ZnVuY3Rpb24gbyhlKXtyZXR1cm4gaXNOYU4oZT0rZSk/dDpuW0RsKGksZSldfXJldHVybiBvLmludmVydEV4dGVudD1mdW5jdGlvbih0KXt2YXIgcj1uLmluZGV4T2YodCk7cmV0dXJuIHI8MD9bTmFOLE5hTl06W3I+MD9pW3ItMV06ZVswXSxyPGkubGVuZ3RoP2lbcl06ZVtlLmxlbmd0aC0xXV19LG8uZG9tYWluPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBlLnNsaWNlKCk7ZT1bXTtmb3IodmFyIG4saT0wLG89dC5sZW5ndGg7aTxvOysraSludWxsPT0obj10W2ldKXx8aXNOYU4obj0rbil8fGUucHVzaChuKTtyZXR1cm4gZS5zb3J0KFJsKSxyKCl9LG8ucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49V00uY2FsbCh0KSxyKCkpOm4uc2xpY2UoKX0sby51bmtub3duPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUsbyk6dH0sby5xdWFudGlsZXM9ZnVuY3Rpb24oKXtyZXR1cm4gaS5zbGljZSgpfSxvLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gQ0UoKS5kb21haW4oZSkucmFuZ2UobikudW5rbm93bih0KX0sVk0uYXBwbHkobyxhcmd1bWVudHMpfWZ1bmN0aW9uIEFFKCl7dmFyIHQsZT0wLG49MSxpPTEscj1bLjVdLG89WzAsMV07ZnVuY3Rpb24gYShlKXtyZXR1cm4gZTw9ZT9vW0RsKHIsZSwwLGkpXTp0fWZ1bmN0aW9uIHMoKXt2YXIgdD0tMTtmb3Iocj1uZXcgQXJyYXkoaSk7Kyt0PGk7KXJbdF09KCh0KzEpKm4tKHQtaSkqZSkvKGkrMSk7cmV0dXJuIGF9cmV0dXJuIGEuZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSt0WzBdLG49K3RbMV0scygpKTpbZSxuXX0sYS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0obz1XTS5jYWxsKHQpKS5sZW5ndGgtMSxzKCkpOm8uc2xpY2UoKX0sYS5pbnZlcnRFeHRlbnQ9ZnVuY3Rpb24odCl7dmFyIGE9by5pbmRleE9mKHQpO3JldHVybiBhPDA/W05hTixOYU5dOmE8MT9bZSxyWzBdXTphPj1pP1tyW2ktMV0sbl06W3JbYS0xXSxyW2FdXX0sYS51bmtub3duPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUsYSk6YX0sYS50aHJlc2hvbGRzPWZ1bmN0aW9uKCl7cmV0dXJuIHIuc2xpY2UoKX0sYS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIEFFKCkuZG9tYWluKFtlLG5dKS5yYW5nZShvKS51bmtub3duKHQpfSxWTS5hcHBseShsRShhKSxhcmd1bWVudHMpfXZhciBrRT1uZXcgRGF0ZSxMRT1uZXcgRGF0ZTtmdW5jdGlvbiBQRSh0LGUsbixpKXtmdW5jdGlvbiByKGUpe3JldHVybiB0KGU9MD09PWFyZ3VtZW50cy5sZW5ndGg/bmV3IERhdGU6bmV3IERhdGUoK2UpKSxlfXJldHVybiByLmZsb29yPWZ1bmN0aW9uKGUpe3JldHVybiB0KGU9bmV3IERhdGUoK2UpKSxlfSxyLmNlaWw9ZnVuY3Rpb24obil7cmV0dXJuIHQobj1uZXcgRGF0ZShuLTEpKSxlKG4sMSksdChuKSxufSxyLnJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXIodCksbj1yLmNlaWwodCk7cmV0dXJuIHQtZTxuLXQ/ZTpufSxyLm9mZnNldD1mdW5jdGlvbih0LG4pe3JldHVybiBlKHQ9bmV3IERhdGUoK3QpLG51bGw9PW4/MTpNYXRoLmZsb29yKG4pKSx0fSxyLnJhbmdlPWZ1bmN0aW9uKG4saSxvKXt2YXIgYSxzPVtdO2lmKG49ci5jZWlsKG4pLG89bnVsbD09bz8xOk1hdGguZmxvb3IobyksIShuPGkmJm8+MCkpcmV0dXJuIHM7ZG97cy5wdXNoKGE9bmV3IERhdGUoK24pKSxlKG4sbyksdChuKX13aGlsZShhPG4mJm48aSk7cmV0dXJuIHN9LHIuZmlsdGVyPWZ1bmN0aW9uKG4pe3JldHVybiBQRSgoZnVuY3Rpb24oZSl7aWYoZT49ZSlmb3IoO3QoZSksIW4oZSk7KWUuc2V0VGltZShlLTEpfSksKGZ1bmN0aW9uKHQsaSl7aWYodD49dClpZihpPDApZm9yKDsrK2k8PTA7KWZvcig7ZSh0LC0xKSwhbih0KTspO2Vsc2UgZm9yKDstLWk+PTA7KWZvcig7ZSh0LDEpLCFuKHQpOyk7fSkpfSxuJiYoci5jb3VudD1mdW5jdGlvbihlLGkpe3JldHVybiBrRS5zZXRUaW1lKCtlKSxMRS5zZXRUaW1lKCtpKSx0KGtFKSx0KExFKSxNYXRoLmZsb29yKG4oa0UsTEUpKX0sci5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP3IuZmlsdGVyKGk/ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSkldD09MH06ZnVuY3Rpb24oZSl7cmV0dXJuIHIuY291bnQoMCxlKSV0PT0wfSk6cjpudWxsfSkscn12YXIgTkU9UEUoKGZ1bmN0aW9uKCl7fSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUtdH0pKTtORS5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP1BFKChmdW5jdGlvbihlKXtlLnNldFRpbWUoTWF0aC5mbG9vcihlL3QpKnQpfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRUaW1lKCtlK24qdCl9KSwoZnVuY3Rpb24oZSxuKXtyZXR1cm4obi1lKS90fSkpOk5FOm51bGx9O3ZhciBJRT1ORSxSRT1ORS5yYW5nZSxPRT0xZTMsekU9NmU0LERFPTM2ZTUsQkU9ODY0ZTUsSEU9NjA0OGU1LEZFPVBFKChmdW5jdGlvbih0KXt0LnNldFRpbWUodC10LmdldE1pbGxpc2Vjb25kcygpKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VGltZSgrdCtlKk9FKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL09FfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ1NlY29uZHMoKX0pKSxWRT1GRSxVRT1GRS5yYW5nZSxqRT1QRSgoZnVuY3Rpb24odCl7dC5zZXRUaW1lKHQtdC5nZXRNaWxsaXNlY29uZHMoKS10LmdldFNlY29uZHMoKSpPRSl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFRpbWUoK3QrZSp6RSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS96RX0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRNaW51dGVzKCl9KSksR0U9akUsV0U9akUucmFuZ2UscUU9UEUoKGZ1bmN0aW9uKHQpe3Quc2V0VGltZSh0LXQuZ2V0TWlsbGlzZWNvbmRzKCktdC5nZXRTZWNvbmRzKCkqT0UtdC5nZXRNaW51dGVzKCkqekUpfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqREUpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvREV9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0SG91cnMoKX0pKSxZRT1xRSxYRT1xRS5yYW5nZSwkRT1QRSgoZnVuY3Rpb24odCl7dC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RGF0ZSh0LmdldERhdGUoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQtKGUuZ2V0VGltZXpvbmVPZmZzZXQoKS10LmdldFRpbWV6b25lT2Zmc2V0KCkpKnpFKS9CRX0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXREYXRlKCktMX0pKSxLRT0kRSxaRT0kRS5yYW5nZTtmdW5jdGlvbiBKRSh0KXtyZXR1cm4gUEUoKGZ1bmN0aW9uKGUpe2Uuc2V0RGF0ZShlLmdldERhdGUoKS0oZS5nZXREYXkoKSs3LXQpJTcpLGUuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldERhdGUodC5nZXREYXRlKCkrNyplKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQtKGUuZ2V0VGltZXpvbmVPZmZzZXQoKS10LmdldFRpbWV6b25lT2Zmc2V0KCkpKnpFKS9IRX0pKX12YXIgUUU9SkUoMCksdFQ9SkUoMSksZVQ9SkUoMiksblQ9SkUoMyksaVQ9SkUoNCksclQ9SkUoNSksb1Q9SkUoNiksYVQ9UUUucmFuZ2Usc1Q9dFQucmFuZ2UsbFQ9ZVQucmFuZ2UsY1Q9blQucmFuZ2UsdVQ9aVQucmFuZ2UsaFQ9clQucmFuZ2UsZFQ9b1QucmFuZ2UscFQ9UEUoKGZ1bmN0aW9uKHQpe3Quc2V0RGF0ZSgxKSx0LnNldEhvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRNb250aCh0LmdldE1vbnRoKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5nZXRNb250aCgpLXQuZ2V0TW9udGgoKSsxMiooZS5nZXRGdWxsWWVhcigpLXQuZ2V0RnVsbFllYXIoKSl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0TW9udGgoKX0pKSxmVD1wVCxtVD1wVC5yYW5nZSxnVD1QRSgoZnVuY3Rpb24odCl7dC5zZXRNb250aCgwLDEpLHQuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldEZ1bGxZZWFyKHQuZ2V0RnVsbFllYXIoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLmdldEZ1bGxZZWFyKCktdC5nZXRGdWxsWWVhcigpfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldEZ1bGxZZWFyKCl9KSk7Z1QuZXZlcnk9ZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9TWF0aC5mbG9vcih0KSkmJnQ+MD9QRSgoZnVuY3Rpb24oZSl7ZS5zZXRGdWxsWWVhcihNYXRoLmZsb29yKGUuZ2V0RnVsbFllYXIoKS90KSp0KSxlLnNldE1vbnRoKDAsMSksZS5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbihlLG4pe2Uuc2V0RnVsbFllYXIoZS5nZXRGdWxsWWVhcigpK24qdCl9KSk6bnVsbH07dmFyIF9UPWdULHlUPWdULnJhbmdlLHZUPVBFKChmdW5jdGlvbih0KXt0LnNldFVUQ1NlY29uZHMoMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VGltZSgrdCtlKnpFKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL3pFfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ01pbnV0ZXMoKX0pKSxiVD12VCx4VD12VC5yYW5nZSx3VD1QRSgoZnVuY3Rpb24odCl7dC5zZXRVVENNaW51dGVzKDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VGltZSgrdCtlKkRFKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL0RFfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ0hvdXJzKCl9KSksU1Q9d1QsTVQ9d1QucmFuZ2UsRVQ9UEUoKGZ1bmN0aW9uKHQpe3Quc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ0RhdGUodC5nZXRVVENEYXRlKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS9CRX0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENEYXRlKCktMX0pKSxUVD1FVCxDVD1FVC5yYW5nZTtmdW5jdGlvbiBBVCh0KXtyZXR1cm4gUEUoKGZ1bmN0aW9uKGUpe2Uuc2V0VVRDRGF0ZShlLmdldFVUQ0RhdGUoKS0oZS5nZXRVVENEYXkoKSs3LXQpJTcpLGUuc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ0RhdGUodC5nZXRVVENEYXRlKCkrNyplKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL0hFfSkpfXZhciBrVD1BVCgwKSxMVD1BVCgxKSxQVD1BVCgyKSxOVD1BVCgzKSxJVD1BVCg0KSxSVD1BVCg1KSxPVD1BVCg2KSx6VD1rVC5yYW5nZSxEVD1MVC5yYW5nZSxCVD1QVC5yYW5nZSxIVD1OVC5yYW5nZSxGVD1JVC5yYW5nZSxWVD1SVC5yYW5nZSxVVD1PVC5yYW5nZSxqVD1QRSgoZnVuY3Rpb24odCl7dC5zZXRVVENEYXRlKDEpLHQuc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ01vbnRoKHQuZ2V0VVRDTW9udGgoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLmdldFVUQ01vbnRoKCktdC5nZXRVVENNb250aCgpKzEyKihlLmdldFVUQ0Z1bGxZZWFyKCktdC5nZXRVVENGdWxsWWVhcigpKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENNb250aCgpfSkpLEdUPWpULFdUPWpULnJhbmdlLHFUPVBFKChmdW5jdGlvbih0KXt0LnNldFVUQ01vbnRoKDAsMSksdC5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VVRDRnVsbFllYXIodC5nZXRVVENGdWxsWWVhcigpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0VVRDRnVsbFllYXIoKS10LmdldFVUQ0Z1bGxZZWFyKCl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDRnVsbFllYXIoKX0pKTtxVC5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gaXNGaW5pdGUodD1NYXRoLmZsb29yKHQpKSYmdD4wP1BFKChmdW5jdGlvbihlKXtlLnNldFVUQ0Z1bGxZZWFyKE1hdGguZmxvb3IoZS5nZXRVVENGdWxsWWVhcigpL3QpKnQpLGUuc2V0VVRDTW9udGgoMCwxKSxlLnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRVVENGdWxsWWVhcihlLmdldFVUQ0Z1bGxZZWFyKCkrbip0KX0pKTpudWxsfTt2YXIgWVQ9cVQsWFQ9cVQucmFuZ2U7ZnVuY3Rpb24gJFQodCl7aWYoMDw9dC55JiZ0Lnk8MTAwKXt2YXIgZT1uZXcgRGF0ZSgtMSx0Lm0sdC5kLHQuSCx0Lk0sdC5TLHQuTCk7cmV0dXJuIGUuc2V0RnVsbFllYXIodC55KSxlfXJldHVybiBuZXcgRGF0ZSh0LnksdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpfWZ1bmN0aW9uIEtUKHQpe2lmKDA8PXQueSYmdC55PDEwMCl7dmFyIGU9bmV3IERhdGUoRGF0ZS5VVEMoLTEsdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpKTtyZXR1cm4gZS5zZXRVVENGdWxsWWVhcih0LnkpLGV9cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKHQueSx0Lm0sdC5kLHQuSCx0Lk0sdC5TLHQuTCkpfWZ1bmN0aW9uIFpUKHQsZSxuKXtyZXR1cm57eTp0LG06ZSxkOm4sSDowLE06MCxTOjAsTDowfX1mdW5jdGlvbiBKVCh0KXt2YXIgZT10LmRhdGVUaW1lLG49dC5kYXRlLGk9dC50aW1lLHI9dC5wZXJpb2RzLG89dC5kYXlzLGE9dC5zaG9ydERheXMscz10Lm1vbnRocyxsPXQuc2hvcnRNb250aHMsYz11QyhyKSx1PWhDKHIpLGg9dUMobyksZD1oQyhvKSxwPXVDKGEpLGY9aEMoYSksbT11QyhzKSxnPWhDKHMpLF89dUMobCkseT1oQyhsKSx2PXthOmZ1bmN0aW9uIGIodCl7cmV0dXJuIGFbdC5nZXREYXkoKV19LEE6ZnVuY3Rpb24geCh0KXtyZXR1cm4gb1t0LmdldERheSgpXX0sYjpmdW5jdGlvbiB3KHQpe3JldHVybiBsW3QuZ2V0TW9udGgoKV19LEI6ZnVuY3Rpb24gUyh0KXtyZXR1cm4gc1t0LmdldE1vbnRoKCldfSxjOm51bGwsZDpOQyxlOk5DLGY6REMsZzpYQyxHOktDLEg6SUMsSTpSQyxqOk9DLEw6ekMsbTpCQyxNOkhDLHA6ZnVuY3Rpb24gTSh0KXtyZXR1cm4gclsrKHQuZ2V0SG91cnMoKT49MTIpXX0scTpmdW5jdGlvbiBFKHQpe3JldHVybiAxK35+KHQuZ2V0TW9udGgoKS8zKX0sUTp2QSxzOmJBLFM6RkMsdTpWQyxVOlVDLFY6R0MsdzpXQyxXOnFDLHg6bnVsbCxYOm51bGwseTpZQyxZOiRDLFo6WkMsIiUiOnlBfSxUPXthOmZ1bmN0aW9uIEModCl7cmV0dXJuIGFbdC5nZXRVVENEYXkoKV19LEE6ZnVuY3Rpb24gQSh0KXtyZXR1cm4gb1t0LmdldFVUQ0RheSgpXX0sYjpmdW5jdGlvbiBrKHQpe3JldHVybiBsW3QuZ2V0VVRDTW9udGgoKV19LEI6ZnVuY3Rpb24gTCh0KXtyZXR1cm4gc1t0LmdldFVUQ01vbnRoKCldfSxjOm51bGwsZDpKQyxlOkpDLGY6aUEsZzpmQSxHOmdBLEg6UUMsSTp0QSxqOmVBLEw6bkEsbTpyQSxNOm9BLHA6ZnVuY3Rpb24gUCh0KXtyZXR1cm4gclsrKHQuZ2V0VVRDSG91cnMoKT49MTIpXX0scTpmdW5jdGlvbiBOKHQpe3JldHVybiAxK35+KHQuZ2V0VVRDTW9udGgoKS8zKX0sUTp2QSxzOmJBLFM6YUEsdTpzQSxVOmxBLFY6dUEsdzpoQSxXOmRBLHg6bnVsbCxYOm51bGwseTpwQSxZOm1BLFo6X0EsIiUiOnlBfSxJPXthOmZ1bmN0aW9uIFIodCxlLG4pe3ZhciBpPXAuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC53PWZbaVswXS50b0xvd2VyQ2FzZSgpXSxuK2lbMF0ubGVuZ3RoKTotMX0sQTpmdW5jdGlvbiBPKHQsZSxuKXt2YXIgaT1oLmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIGk/KHQudz1kW2lbMF0udG9Mb3dlckNhc2UoKV0sbitpWzBdLmxlbmd0aCk6LTF9LGI6ZnVuY3Rpb24geih0LGUsbil7dmFyIGk9Xy5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0Lm09eVtpWzBdLnRvTG93ZXJDYXNlKCldLG4raVswXS5sZW5ndGgpOi0xfSxCOmZ1bmN0aW9uIEQodCxlLG4pe3ZhciBpPW0uZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC5tPWdbaVswXS50b0xvd2VyQ2FzZSgpXSxuK2lbMF0ubGVuZ3RoKTotMX0sYzpmdW5jdGlvbiBCKHQsbixpKXtyZXR1cm4gRyh0LGUsbixpKX0sZDp3QyxlOndDLGY6QUMsZzp5QyxHOl9DLEg6TUMsSTpNQyxqOlNDLEw6Q0MsbTp4QyxNOkVDLHA6ZnVuY3Rpb24gSCh0LGUsbil7dmFyIGk9Yy5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0LnA9dVtpWzBdLnRvTG93ZXJDYXNlKCldLG4raVswXS5sZW5ndGgpOi0xfSxxOmJDLFE6TEMsczpQQyxTOlRDLHU6cEMsVTpmQyxWOm1DLHc6ZEMsVzpnQyx4OmZ1bmN0aW9uIEYodCxlLGkpe3JldHVybiBHKHQsbixlLGkpfSxYOmZ1bmN0aW9uIFYodCxlLG4pe3JldHVybiBHKHQsaSxlLG4pfSx5OnlDLFk6X0MsWjp2QywiJSI6a0N9O2Z1bmN0aW9uIFUodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGkscixvLGE9W10scz0tMSxsPTAsYz10Lmxlbmd0aDtmb3IobiBpbnN0YW5jZW9mIERhdGV8fChuPW5ldyBEYXRlKCtuKSk7KytzPGM7KTM3PT09dC5jaGFyQ29kZUF0KHMpJiYoYS5wdXNoKHQuc2xpY2UobCxzKSksbnVsbCE9KHI9ckNbaT10LmNoYXJBdCgrK3MpXSk/aT10LmNoYXJBdCgrK3MpOnI9ImUiPT09aT8iICI6IjAiLChvPWVbaV0pJiYoaT1vKG4scikpLGEucHVzaChpKSxsPXMrMSk7cmV0dXJuIGEucHVzaCh0LnNsaWNlKGwscykpLGEuam9pbigiIil9fWZ1bmN0aW9uIGoodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGkscixvPVpUKDE5MDAsdm9pZCAwLDEpO2lmKEcobyx0LG4rPSIiLDApIT1uLmxlbmd0aClyZXR1cm4gbnVsbDtpZigiUSJpbiBvKXJldHVybiBuZXcgRGF0ZShvLlEpO2lmKCJzImluIG8pcmV0dXJuIG5ldyBEYXRlKDFlMypvLnMrKCJMImluIG8/by5MOjApKTtpZihlJiYhKCJaImluIG8pJiYoby5aPTApLCJwImluIG8mJihvLkg9by5IJTEyKzEyKm8ucCksdm9pZCAwPT09by5tJiYoby5tPSJxImluIG8/by5xOjApLCJWImluIG8pe2lmKG8uVjwxfHxvLlY+NTMpcmV0dXJuIG51bGw7InciaW4gb3x8KG8udz0xKSwiWiJpbiBvPyhyPShpPUtUKFpUKG8ueSwwLDEpKSkuZ2V0VVRDRGF5KCksaT1yPjR8fDA9PT1yP0xULmNlaWwoaSk6TFQoaSksaT1UVC5vZmZzZXQoaSw3KihvLlYtMSkpLG8ueT1pLmdldFVUQ0Z1bGxZZWFyKCksby5tPWkuZ2V0VVRDTW9udGgoKSxvLmQ9aS5nZXRVVENEYXRlKCkrKG8udys2KSU3KToocj0oaT0kVChaVChvLnksMCwxKSkpLmdldERheSgpLGk9cj40fHwwPT09cj90VC5jZWlsKGkpOnRUKGkpLGk9S0Uub2Zmc2V0KGksNyooby5WLTEpKSxvLnk9aS5nZXRGdWxsWWVhcigpLG8ubT1pLmdldE1vbnRoKCksby5kPWkuZ2V0RGF0ZSgpKyhvLncrNiklNyl9ZWxzZSgiVyJpbiBvfHwiVSJpbiBvKSYmKCJ3ImluIG98fChvLnc9InUiaW4gbz9vLnUlNzoiVyJpbiBvPzE6MCkscj0iWiJpbiBvP0tUKFpUKG8ueSwwLDEpKS5nZXRVVENEYXkoKTokVChaVChvLnksMCwxKSkuZ2V0RGF5KCksby5tPTAsby5kPSJXImluIG8/KG8udys2KSU3Kzcqby5XLShyKzUpJTc6by53Kzcqby5VLShyKzYpJTcpO3JldHVybiJaImluIG8/KG8uSCs9by5aLzEwMHwwLG8uTSs9by5aJTEwMCxLVChvKSk6JFQobyl9fWZ1bmN0aW9uIEcodCxlLG4saSl7Zm9yKHZhciByLG8sYT0wLHM9ZS5sZW5ndGgsbD1uLmxlbmd0aDthPHM7KXtpZihpPj1sKXJldHVybi0xO2lmKDM3PT09KHI9ZS5jaGFyQ29kZUF0KGErKykpKXtpZihyPWUuY2hhckF0KGErKyksIShvPUlbciBpbiByQz9lLmNoYXJBdChhKyspOnJdKXx8KGk9byh0LG4saSkpPDApcmV0dXJuLTF9ZWxzZSBpZihyIT1uLmNoYXJDb2RlQXQoaSsrKSlyZXR1cm4tMX1yZXR1cm4gaX1yZXR1cm4gdi54PVUobix2KSx2Llg9VShpLHYpLHYuYz1VKGUsdiksVC54PVUobixUKSxULlg9VShpLFQpLFQuYz1VKGUsVCkse2Zvcm1hdDpmdW5jdGlvbih0KXt2YXIgZT1VKHQrPSIiLHYpO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9LHBhcnNlOmZ1bmN0aW9uKHQpe3ZhciBlPWoodCs9IiIsITEpO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9LHV0Y0Zvcm1hdDpmdW5jdGlvbih0KXt2YXIgZT1VKHQrPSIiLFQpO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9LHV0Y1BhcnNlOmZ1bmN0aW9uKHQpe3ZhciBlPWoodCs9IiIsITApO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9fX12YXIgUVQsdEMsZUMsbkMsaUMsckM9eyItIjoiIixfOiIgIiwwOiIwIn0sb0M9L15ccypcZCsvLGFDPS9eJS8sc0M9L1tcXF4kKis/fFtcXSgpLnt9XS9nO2Z1bmN0aW9uIGxDKHQsZSxuKXt2YXIgaT10PDA/Ii0iOiIiLHI9KGk/LXQ6dCkrIiIsbz1yLmxlbmd0aDtyZXR1cm4gaSsobzxuP25ldyBBcnJheShuLW8rMSkuam9pbihlKStyOnIpfWZ1bmN0aW9uIGNDKHQpe3JldHVybiB0LnJlcGxhY2Uoc0MsIlxcJCYiKX1mdW5jdGlvbiB1Qyh0KXtyZXR1cm4gbmV3IFJlZ0V4cCgiXig/OiIrdC5tYXAoY0MpLmpvaW4oInwiKSsiKSIsImkiKX1mdW5jdGlvbiBoQyh0KXtmb3IodmFyIGU9e30sbj0tMSxpPXQubGVuZ3RoOysrbjxpOyllW3Rbbl0udG9Mb3dlckNhc2UoKV09bjtyZXR1cm4gZX1mdW5jdGlvbiBkQyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbisxKSk7cmV0dXJuIGk/KHQudz0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBwQyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbisxKSk7cmV0dXJuIGk/KHQudT0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBmQyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuVT0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBtQyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuVj0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBnQyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuVz0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBfQyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbis0KSk7cmV0dXJuIGk/KHQueT0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB5Qyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQueT0raVswXSsoK2lbMF0+Njg/MTkwMDoyZTMpLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHZDKHQsZSxuKXt2YXIgaT0vXihaKXwoWystXVxkXGQpKD86Oj8oXGRcZCkpPy8uZXhlYyhlLnNsaWNlKG4sbis2KSk7cmV0dXJuIGk/KHQuWj1pWzFdPzA6LShpWzJdKyhpWzNdfHwiMDAiKSksbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gYkModCxlLG4pe3ZhciBpPW9DLmV4ZWMoZS5zbGljZShuLG4rMSkpO3JldHVybiBpPyh0LnE9MyppWzBdLTMsbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24geEModCxlLG4pe3ZhciBpPW9DLmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0Lm09aVswXS0xLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHdDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5kPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIFNDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzMpKTtyZXR1cm4gaT8odC5tPTAsdC5kPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIE1DKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5IPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIEVDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5NPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIFRDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5TPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIENDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzMpKTtyZXR1cm4gaT8odC5MPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIEFDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzYpKTtyZXR1cm4gaT8odC5MPU1hdGguZmxvb3IoaVswXS8xZTMpLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGtDKHQsZSxuKXt2YXIgaT1hQy5leGVjKGUuc2xpY2UobixuKzEpKTtyZXR1cm4gaT9uK2lbMF0ubGVuZ3RoOi0xfWZ1bmN0aW9uIExDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0LlE9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gUEModCxlLG4pe3ZhciBpPW9DLmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIGk/KHQucz0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBOQyh0LGUpe3JldHVybiBsQyh0LmdldERhdGUoKSxlLDIpfWZ1bmN0aW9uIElDKHQsZSl7cmV0dXJuIGxDKHQuZ2V0SG91cnMoKSxlLDIpfWZ1bmN0aW9uIFJDKHQsZSl7cmV0dXJuIGxDKHQuZ2V0SG91cnMoKSUxMnx8MTIsZSwyKX1mdW5jdGlvbiBPQyh0LGUpe3JldHVybiBsQygxK0tFLmNvdW50KF9UKHQpLHQpLGUsMyl9ZnVuY3Rpb24gekModCxlKXtyZXR1cm4gbEModC5nZXRNaWxsaXNlY29uZHMoKSxlLDMpfWZ1bmN0aW9uIERDKHQsZSl7cmV0dXJuIHpDKHQsZSkrIjAwMCJ9ZnVuY3Rpb24gQkModCxlKXtyZXR1cm4gbEModC5nZXRNb250aCgpKzEsZSwyKX1mdW5jdGlvbiBIQyh0LGUpe3JldHVybiBsQyh0LmdldE1pbnV0ZXMoKSxlLDIpfWZ1bmN0aW9uIEZDKHQsZSl7cmV0dXJuIGxDKHQuZ2V0U2Vjb25kcygpLGUsMil9ZnVuY3Rpb24gVkModCl7dmFyIGU9dC5nZXREYXkoKTtyZXR1cm4gMD09PWU/NzplfWZ1bmN0aW9uIFVDKHQsZSl7cmV0dXJuIGxDKFFFLmNvdW50KF9UKHQpLTEsdCksZSwyKX1mdW5jdGlvbiBqQyh0KXt2YXIgZT10LmdldERheSgpO3JldHVybiBlPj00fHwwPT09ZT9pVCh0KTppVC5jZWlsKHQpfWZ1bmN0aW9uIEdDKHQsZSl7cmV0dXJuIHQ9akModCksbEMoaVQuY291bnQoX1QodCksdCkrKDQ9PT1fVCh0KS5nZXREYXkoKSksZSwyKX1mdW5jdGlvbiBXQyh0KXtyZXR1cm4gdC5nZXREYXkoKX1mdW5jdGlvbiBxQyh0LGUpe3JldHVybiBsQyh0VC5jb3VudChfVCh0KS0xLHQpLGUsMil9ZnVuY3Rpb24gWUModCxlKXtyZXR1cm4gbEModC5nZXRGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uIFhDKHQsZSl7cmV0dXJuIGxDKCh0PWpDKHQpKS5nZXRGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uICRDKHQsZSl7cmV0dXJuIGxDKHQuZ2V0RnVsbFllYXIoKSUxZTQsZSw0KX1mdW5jdGlvbiBLQyh0LGUpe3ZhciBuPXQuZ2V0RGF5KCk7cmV0dXJuIGxDKCh0PW4+PTR8fDA9PT1uP2lUKHQpOmlULmNlaWwodCkpLmdldEZ1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gWkModCl7dmFyIGU9dC5nZXRUaW1lem9uZU9mZnNldCgpO3JldHVybihlPjA/Ii0iOihlKj0tMSwiKyIpKStsQyhlLzYwfDAsIjAiLDIpK2xDKGUlNjAsIjAiLDIpfWZ1bmN0aW9uIEpDKHQsZSl7cmV0dXJuIGxDKHQuZ2V0VVRDRGF0ZSgpLGUsMil9ZnVuY3Rpb24gUUModCxlKXtyZXR1cm4gbEModC5nZXRVVENIb3VycygpLGUsMil9ZnVuY3Rpb24gdEEodCxlKXtyZXR1cm4gbEModC5nZXRVVENIb3VycygpJTEyfHwxMixlLDIpfWZ1bmN0aW9uIGVBKHQsZSl7cmV0dXJuIGxDKDErVFQuY291bnQoWVQodCksdCksZSwzKX1mdW5jdGlvbiBuQSh0LGUpe3JldHVybiBsQyh0LmdldFVUQ01pbGxpc2Vjb25kcygpLGUsMyl9ZnVuY3Rpb24gaUEodCxlKXtyZXR1cm4gbkEodCxlKSsiMDAwIn1mdW5jdGlvbiByQSh0LGUpe3JldHVybiBsQyh0LmdldFVUQ01vbnRoKCkrMSxlLDIpfWZ1bmN0aW9uIG9BKHQsZSl7cmV0dXJuIGxDKHQuZ2V0VVRDTWludXRlcygpLGUsMil9ZnVuY3Rpb24gYUEodCxlKXtyZXR1cm4gbEModC5nZXRVVENTZWNvbmRzKCksZSwyKX1mdW5jdGlvbiBzQSh0KXt2YXIgZT10LmdldFVUQ0RheSgpO3JldHVybiAwPT09ZT83OmV9ZnVuY3Rpb24gbEEodCxlKXtyZXR1cm4gbEMoa1QuY291bnQoWVQodCktMSx0KSxlLDIpfWZ1bmN0aW9uIGNBKHQpe3ZhciBlPXQuZ2V0VVRDRGF5KCk7cmV0dXJuIGU+PTR8fDA9PT1lP0lUKHQpOklULmNlaWwodCl9ZnVuY3Rpb24gdUEodCxlKXtyZXR1cm4gdD1jQSh0KSxsQyhJVC5jb3VudChZVCh0KSx0KSsoND09PVlUKHQpLmdldFVUQ0RheSgpKSxlLDIpfWZ1bmN0aW9uIGhBKHQpe3JldHVybiB0LmdldFVUQ0RheSgpfWZ1bmN0aW9uIGRBKHQsZSl7cmV0dXJuIGxDKExULmNvdW50KFlUKHQpLTEsdCksZSwyKX1mdW5jdGlvbiBwQSh0LGUpe3JldHVybiBsQyh0LmdldFVUQ0Z1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gZkEodCxlKXtyZXR1cm4gbEMoKHQ9Y0EodCkpLmdldFVUQ0Z1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gbUEodCxlKXtyZXR1cm4gbEModC5nZXRVVENGdWxsWWVhcigpJTFlNCxlLDQpfWZ1bmN0aW9uIGdBKHQsZSl7dmFyIG49dC5nZXRVVENEYXkoKTtyZXR1cm4gbEMoKHQ9bj49NHx8MD09PW4/SVQodCk6SVQuY2VpbCh0KSkuZ2V0VVRDRnVsbFllYXIoKSUxZTQsZSw0KX1mdW5jdGlvbiBfQSgpe3JldHVybiIrMDAwMCJ9ZnVuY3Rpb24geUEoKXtyZXR1cm4iJSJ9ZnVuY3Rpb24gdkEodCl7cmV0dXJuK3R9ZnVuY3Rpb24gYkEodCl7cmV0dXJuIE1hdGguZmxvb3IoK3QvMWUzKX1mdW5jdGlvbiB4QSh0KXtyZXR1cm4gUVQ9SlQodCksdEM9UVQuZm9ybWF0LGVDPVFULnBhcnNlLG5DPVFULnV0Y0Zvcm1hdCxpQz1RVC51dGNQYXJzZSxRVH14QSh7ZGF0ZVRpbWU6IiV4LCAlWCIsZGF0ZToiJS1tLyUtZC8lWSIsdGltZToiJS1JOiVNOiVTICVwIixwZXJpb2RzOlsiQU0iLCJQTSJdLGRheXM6WyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLHNob3J0RGF5czpbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLG1vbnRoczpbIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sc2hvcnRNb250aHM6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXX0pO3ZhciB3QT0iJVktJW0tJWRUJUg6JU06JVMuJUxaIjt2YXIgU0E9RGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmc/ZnVuY3Rpb24gTUEodCl7cmV0dXJuIHQudG9JU09TdHJpbmcoKX06bkMod0EpO3ZhciBFQT0rbmV3IERhdGUoIjIwMDAtMDEtMDFUMDA6MDA6MDAuMDAwWiIpP2Z1bmN0aW9uIFRBKHQpe3ZhciBlPW5ldyBEYXRlKHQpO3JldHVybiBpc05hTihlKT9udWxsOmV9OmlDKHdBKSxDQT0xZTMsQUE9NmU0LGtBPTM2ZTUsTEE9ODY0ZTUsUEE9MjU5MmU2LE5BPTMxNTM2ZTY7ZnVuY3Rpb24gSUEodCl7cmV0dXJuIG5ldyBEYXRlKHQpfWZ1bmN0aW9uIFJBKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRGF0ZT8rdDorbmV3IERhdGUoK3QpfWZ1bmN0aW9uIE9BKHQsZSxuLGkscixvLGEscyxsKXt2YXIgYz1hRShRTSxRTSksdT1jLmludmVydCxoPWMuZG9tYWluLGQ9bCgiLiVMIikscD1sKCI6JVMiKSxmPWwoIiVJOiVNIiksbT1sKCIlSSAlcCIpLGc9bCgiJWEgJWQiKSxfPWwoIiViICVkIikseT1sKCIlQiIpLHY9bCgiJVkiKSxiPVtbYSwxLENBXSxbYSw1LDVlM10sW2EsMTUsMTVlM10sW2EsMzAsM2U0XSxbbywxLEFBXSxbbyw1LDNlNV0sW28sMTUsOWU1XSxbbywzMCwxOGU1XSxbciwxLGtBXSxbciwzLDEwOGU1XSxbciw2LDIxNmU1XSxbciwxMiw0MzJlNV0sW2ksMSxMQV0sW2ksMiwxNzI4ZTVdLFtuLDEsNjA0OGU1XSxbZSwxLFBBXSxbZSwzLDc3NzZlNl0sW3QsMSxOQV1dO2Z1bmN0aW9uIHgocyl7cmV0dXJuKGEocyk8cz9kOm8ocyk8cz9wOnIocyk8cz9mOmkocyk8cz9tOmUocyk8cz9uKHMpPHM/ZzpfOnQocyk8cz95OnYpKHMpfWZ1bmN0aW9uIHcoZSxuLGkscil7aWYobnVsbD09ZSYmKGU9MTApLCJudW1iZXIiPT10eXBlb2YgZSl7dmFyIG89TWF0aC5hYnMoaS1uKS9lLGE9T2woKGZ1bmN0aW9uKHQpe3JldHVybiB0WzJdfSkpLnJpZ2h0KGIsbyk7YT09PWIubGVuZ3RoPyhyPW5jKG4vTkEsaS9OQSxlKSxlPXQpOmE/KHI9KGE9YltvL2JbYS0xXVsyXTxiW2FdWzJdL28/YS0xOmFdKVsxXSxlPWFbMF0pOihyPU1hdGgubWF4KG5jKG4saSxlKSwxKSxlPXMpfXJldHVybiBudWxsPT1yP2U6ZS5ldmVyeShyKX1yZXR1cm4gYy5pbnZlcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBEYXRlKHUodCkpfSxjLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9oKEdNLmNhbGwodCxSQSkpOmgoKS5tYXAoSUEpfSxjLnRpY2tzPWZ1bmN0aW9uKHQsZSl7dmFyIG4saT1oKCkscj1pWzBdLG89aVtpLmxlbmd0aC0xXSxhPW88cjtyZXR1cm4gYSYmKG49cixyPW8sbz1uKSxuPShuPXcodCxyLG8sZSkpP24ucmFuZ2UocixvKzEpOltdLGE/bi5yZXZlcnNlKCk6bn0sYy50aWNrRm9ybWF0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PWU/eDpsKGUpfSxjLm5pY2U9ZnVuY3Rpb24odCxlKXt2YXIgbj1oKCk7cmV0dXJuKHQ9dyh0LG5bMF0sbltuLmxlbmd0aC0xXSxlKSk/aCh1RShuLHQpKTpjfSxjLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gckUoYyxPQSh0LGUsbixpLHIsbyxhLHMsbCkpfSxjfWZ1bmN0aW9uIHpBKCl7cmV0dXJuIFZNLmFwcGx5KE9BKF9ULGZULFFFLEtFLFlFLEdFLFZFLElFLHRDKS5kb21haW4oW25ldyBEYXRlKDJlMywwLDEpLG5ldyBEYXRlKDJlMywwLDIpXSksYXJndW1lbnRzKX1mdW5jdGlvbiBEQSgpe3ZhciB0LGUsbixpLHIsbz0wLGE9MSxzPVFNLGw9ITE7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gaXNOYU4oZT0rZSk/cjpzKDA9PT1uPy41OihlPShpKGUpLXQpKm4sbD9NYXRoLm1heCgwLE1hdGgubWluKDEsZSkpOmUpKX1yZXR1cm4gYy5kb21haW49ZnVuY3Rpb24ocil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9aShvPStyWzBdKSxlPWkoYT0rclsxXSksbj10PT09ZT8wOjEvKGUtdCksYyk6W28sYV19LGMuY2xhbXA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9ISF0LGMpOmx9LGMuaW50ZXJwb2xhdG9yPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPXQsYyk6c30sYy51bmtub3duPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsYyk6cn0sZnVuY3Rpb24ocil7cmV0dXJuIGk9cix0PXIobyksZT1yKGEpLG49dD09PWU/MDoxLyhlLXQpLGN9fWZ1bmN0aW9uIEJBKHQsZSl7cmV0dXJuIGUuZG9tYWluKHQuZG9tYWluKCkpLmludGVycG9sYXRvcih0LmludGVycG9sYXRvcigpKS5jbGFtcCh0LmNsYW1wKCkpLnVua25vd24odC51bmtub3duKCkpfWZ1bmN0aW9uIEhBKCl7dmFyIHQ9RUUoREEoKSk7cmV0dXJuIHQuY29weT1mdW5jdGlvbigpe3JldHVybiBCQSh0LEhBKCkpLmV4cG9uZW50KHQuZXhwb25lbnQoKSl9LFVNLmFwcGx5KHQsYXJndW1lbnRzKX1mdW5jdGlvbiBGQSgpe3ZhciB0LGUsbixpLHIsbyxhLHM9MCxsPS41LGM9MSx1PVFNLGg9ITE7ZnVuY3Rpb24gZCh0KXtyZXR1cm4gaXNOYU4odD0rdCk/YToodD0uNSsoKHQ9K28odCkpLWUpKih0PGU/aTpyKSx1KGg/TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKTp0KSl9cmV0dXJuIGQuZG9tYWluPWZ1bmN0aW9uKGEpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PW8ocz0rYVswXSksZT1vKGw9K2FbMV0pLG49byhjPSthWzJdKSxpPXQ9PT1lPzA6LjUvKGUtdCkscj1lPT09bj8wOi41LyhuLWUpLGQpOltzLGwsY119LGQuY2xhbXA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGg9ISF0LGQpOmh9LGQuaW50ZXJwb2xhdG9yPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PXQsZCk6dX0sZC51bmtub3duPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQsZCk6YX0sZnVuY3Rpb24oYSl7cmV0dXJuIG89YSx0PWEocyksZT1hKGwpLG49YShjKSxpPXQ9PT1lPzA6LjUvKGUtdCkscj1lPT09bj8wOi41LyhuLWUpLGR9fWZ1bmN0aW9uIFZBKCl7dmFyIHQ9RUUoRkEoKSk7cmV0dXJuIHQuY29weT1mdW5jdGlvbigpe3JldHVybiBCQSh0LFZBKCkpLmV4cG9uZW50KHQuZXhwb25lbnQoKSl9LFVNLmFwcGx5KHQsYXJndW1lbnRzKX1mdW5jdGlvbiBVQSh0KXtmb3IodmFyIGU9dC5sZW5ndGgvNnwwLG49bmV3IEFycmF5KGUpLGk9MDtpPGU7KW5baV09IiMiK3Quc2xpY2UoNippLDYqKytpKTtyZXR1cm4gbn12YXIgakE9VUEoIjFmNzdiNGZmN2YwZTJjYTAyY2Q2MjcyODk0NjdiZDhjNTY0YmUzNzdjMjdmN2Y3ZmJjYmQyMjE3YmVjZiIpLEdBPVVBKCI3ZmM5N2ZiZWFlZDRmZGMwODZmZmZmOTkzODZjYjBmMDAyN2ZiZjViMTc2NjY2NjYiKSxXQT1VQSgiMWI5ZTc3ZDk1ZjAyNzU3MGIzZTcyOThhNjZhNjFlZTZhYjAyYTY3NjFkNjY2NjY2IikscUE9VUEoImE2Y2VlMzFmNzhiNGIyZGY4YTMzYTAyY2ZiOWE5OWUzMWExY2ZkYmY2ZmZmN2YwMGNhYjJkNjZhM2Q5YWZmZmY5OWIxNTkyOCIpLFlBPVVBKCJmYmI0YWViM2NkZTNjY2ViYzVkZWNiZTRmZWQ5YTZmZmZmY2NlNWQ4YmRmZGRhZWNmMmYyZjIiKSxYQT1VQSgiYjNlMmNkZmRjZGFjY2JkNWU4ZjRjYWU0ZTZmNWM5ZmZmMmFlZjFlMmNjY2NjY2NjIiksJEE9VUEoImU0MWExYzM3N2ViODRkYWY0YTk4NGVhM2ZmN2YwMGZmZmYzM2E2NTYyOGY3ODFiZjk5OTk5OSIpLEtBPVVBKCI2NmMyYTVmYzhkNjI4ZGEwY2JlNzhhYzNhNmQ4NTRmZmQ5MmZlNWM0OTRiM2IzYjMiKSxaQT1VQSgiOGRkM2M3ZmZmZmIzYmViYWRhZmI4MDcyODBiMWQzZmRiNDYyYjNkZTY5ZmNjZGU1ZDlkOWQ5YmM4MGJkY2NlYmM1ZmZlZDZmIiksSkE9VUEoIjRlNzlhN2YyOGUyY2UxNTc1OTc2YjdiMjU5YTE0ZmVkYzk0OWFmN2FhMWZmOWRhNzljNzU1ZmJhYjBhYiIpO2Z1bmN0aW9uIFFBKHQpe3JldHVybiBKZCh0W3QubGVuZ3RoLTFdKX12YXIgdGs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZDhiMzY1ZjVmNWY1NWFiNGFjIiwiYTY2MTFhZGZjMjdkODBjZGMxMDE4NTcxIiwiYTY2MTFhZGZjMjdkZjVmNWY1ODBjZGMxMDE4NTcxIiwiOGM1MTBhZDhiMzY1ZjZlOGMzYzdlYWU1NWFiNGFjMDE2NjVlIiwiOGM1MTBhZDhiMzY1ZjZlOGMzZjVmNWY1YzdlYWU1NWFiNGFjMDE2NjVlIiwiOGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzYzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlIiwiOGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzZjVmNWY1YzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlIiwiNTQzMDA1OGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzYzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlMDAzYzMwIiwiNTQzMDA1OGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzZjVmNWY1YzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlMDAzYzMwIikubWFwKFVBKSxlaz1RQSh0ayksbms9bmV3IEFycmF5KDMpLmNvbmNhdCgiYWY4ZGMzZjdmN2Y3N2ZiZjdiIiwiN2IzMjk0YzJhNWNmYTZkYmEwMDA4ODM3IiwiN2IzMjk0YzJhNWNmZjdmN2Y3YTZkYmEwMDA4ODM3IiwiNzYyYTgzYWY4ZGMzZTdkNGU4ZDlmMGQzN2ZiZjdiMWI3ODM3IiwiNzYyYTgzYWY4ZGMzZTdkNGU4ZjdmN2Y3ZDlmMGQzN2ZiZjdiMWI3ODM3IiwiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3IiwiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZjdmN2Y3ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3IiwiNDAwMDRiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3MDA0NDFiIiwiNDAwMDRiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZjdmN2Y3ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3MDA0NDFiIikubWFwKFVBKSxpaz1RQShuaykscms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTlhM2M5ZjdmN2Y3YTFkNzZhIiwiZDAxYzhiZjFiNmRhYjhlMTg2NGRhYzI2IiwiZDAxYzhiZjFiNmRhZjdmN2Y3YjhlMTg2NGRhYzI2IiwiYzUxYjdkZTlhM2M5ZmRlMGVmZTZmNWQwYTFkNzZhNGQ5MjIxIiwiYzUxYjdkZTlhM2M5ZmRlMGVmZjdmN2Y3ZTZmNWQwYTFkNzZhNGQ5MjIxIiwiYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxIiwiYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZjdmN2Y3ZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxIiwiOGUwMTUyYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxMjc2NDE5IiwiOGUwMTUyYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZjdmN2Y3ZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxMjc2NDE5IikubWFwKFVBKSxvaz1RQShyayksYWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiOTk4ZWMzZjdmN2Y3ZjFhMzQwIiwiNWUzYzk5YjJhYmQyZmRiODYzZTY2MTAxIiwiNWUzYzk5YjJhYmQyZjdmN2Y3ZmRiODYzZTY2MTAxIiwiNTQyNzg4OTk4ZWMzZDhkYWViZmVlMGI2ZjFhMzQwYjM1ODA2IiwiNTQyNzg4OTk4ZWMzZDhkYWViZjdmN2Y3ZmVlMGI2ZjFhMzQwYjM1ODA2IiwiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2IiwiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZjdmN2Y3ZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2IiwiMmQwMDRiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2N2YzYjA4IiwiMmQwMDRiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZjdmN2Y3ZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2N2YzYjA4IikubWFwKFVBKSxzaz1RQShhayksbGs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWY4YTYyZjdmN2Y3NjdhOWNmIiwiY2EwMDIwZjRhNTgyOTJjNWRlMDU3MWIwIiwiY2EwMDIwZjRhNTgyZjdmN2Y3OTJjNWRlMDU3MWIwIiwiYjIxODJiZWY4YTYyZmRkYmM3ZDFlNWYwNjdhOWNmMjE2NmFjIiwiYjIxODJiZWY4YTYyZmRkYmM3ZjdmN2Y3ZDFlNWYwNjdhOWNmMjE2NmFjIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZjdmN2Y3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjMDUzMDYxIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZjdmN2Y3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjMDUzMDYxIikubWFwKFVBKSxjaz1RQShsayksdWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWY4YTYyZmZmZmZmOTk5OTk5IiwiY2EwMDIwZjRhNTgyYmFiYWJhNDA0MDQwIiwiY2EwMDIwZjRhNTgyZmZmZmZmYmFiYWJhNDA0MDQwIiwiYjIxODJiZWY4YTYyZmRkYmM3ZTBlMGUwOTk5OTk5NGQ0ZDRkIiwiYjIxODJiZWY4YTYyZmRkYmM3ZmZmZmZmZTBlMGUwOTk5OTk5NGQ0ZDRkIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZmZmZmZmZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkMWExYTFhIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZmZmZmZmZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkMWExYTFhIikubWFwKFVBKSxoaz1RQSh1ayksZGs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmM4ZDU5ZmZmZmJmOTFiZmRiIiwiZDcxOTFjZmRhZTYxYWJkOWU5MmM3YmI2IiwiZDcxOTFjZmRhZTYxZmZmZmJmYWJkOWU5MmM3YmI2IiwiZDczMDI3ZmM4ZDU5ZmVlMDkwZTBmM2Y4OTFiZmRiNDU3NWI0IiwiZDczMDI3ZmM4ZDU5ZmVlMDkwZmZmZmJmZTBmM2Y4OTFiZmRiNDU3NWI0IiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0IiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZmZmZmJmZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0IiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0MzEzNjk1IiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZmZmZmJmZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0MzEzNjk1IikubWFwKFVBKSxwaz1RQShkayksZms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmM4ZDU5ZmZmZmJmOTFjZjYwIiwiZDcxOTFjZmRhZTYxYTZkOTZhMWE5NjQxIiwiZDcxOTFjZmRhZTYxZmZmZmJmYTZkOTZhMWE5NjQxIiwiZDczMDI3ZmM4ZDU5ZmVlMDhiZDllZjhiOTFjZjYwMWE5ODUwIiwiZDczMDI3ZmM4ZDU5ZmVlMDhiZmZmZmJmZDllZjhiOTFjZjYwMWE5ODUwIiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwIiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwIiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwMDA2ODM3IiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwMDA2ODM3IikubWFwKFVBKSxtaz1RQShmayksZ2s9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmM4ZDU5ZmZmZmJmOTlkNTk0IiwiZDcxOTFjZmRhZTYxYWJkZGE0MmI4M2JhIiwiZDcxOTFjZmRhZTYxZmZmZmJmYWJkZGE0MmI4M2JhIiwiZDUzZTRmZmM4ZDU5ZmVlMDhiZTZmNTk4OTlkNTk0MzI4OGJkIiwiZDUzZTRmZmM4ZDU5ZmVlMDhiZmZmZmJmZTZmNTk4OTlkNTk0MzI4OGJkIiwiZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkIiwiZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkIiwiOWUwMTQyZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkNWU0ZmEyIiwiOWUwMTQyZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkNWU0ZmEyIikubWFwKFVBKSxfaz1RQShnaykseWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTVmNWY5OTlkOGM5MmNhMjVmIiwiZWRmOGZiYjJlMmUyNjZjMmE0MjM4YjQ1IiwiZWRmOGZiYjJlMmUyNjZjMmE0MmNhMjVmMDA2ZDJjIiwiZWRmOGZiY2NlY2U2OTlkOGM5NjZjMmE0MmNhMjVmMDA2ZDJjIiwiZWRmOGZiY2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA1ODI0IiwiZjdmY2ZkZTVmNWY5Y2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA1ODI0IiwiZjdmY2ZkZTVmNWY5Y2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA2ZDJjMDA0NDFiIikubWFwKFVBKSx2az1RQSh5ayksYms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTBlY2Y0OWViY2RhODg1NmE3IiwiZWRmOGZiYjNjZGUzOGM5NmM2ODg0MTlkIiwiZWRmOGZiYjNjZGUzOGM5NmM2ODg1NmE3ODEwZjdjIiwiZWRmOGZiYmZkM2U2OWViY2RhOGM5NmM2ODg1NmE3ODEwZjdjIiwiZWRmOGZiYmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkNmUwMTZiIiwiZjdmY2ZkZTBlY2Y0YmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkNmUwMTZiIiwiZjdmY2ZkZTBlY2Y0YmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkODEwZjdjNGQwMDRiIikubWFwKFVBKSx4az1RQShiayksd2s9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTBmM2RiYThkZGI1NDNhMmNhIiwiZjBmOWU4YmFlNGJjN2JjY2M0MmI4Y2JlIiwiZjBmOWU4YmFlNGJjN2JjY2M0NDNhMmNhMDg2OGFjIiwiZjBmOWU4Y2NlYmM1YThkZGI1N2JjY2M0NDNhMmNhMDg2OGFjIiwiZjBmOWU4Y2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg1ODllIiwiZjdmY2YwZTBmM2RiY2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg1ODllIiwiZjdmY2YwZTBmM2RiY2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg2OGFjMDg0MDgxIikubWFwKFVBKSxTaz1RQSh3ayksTWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlOGM4ZmRiYjg0ZTM0YTMzIiwiZmVmMGQ5ZmRjYzhhZmM4ZDU5ZDczMDFmIiwiZmVmMGQ5ZmRjYzhhZmM4ZDU5ZTM0YTMzYjMwMDAwIiwiZmVmMGQ5ZmRkNDllZmRiYjg0ZmM4ZDU5ZTM0YTMzYjMwMDAwIiwiZmVmMGQ5ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmOTkwMDAwIiwiZmZmN2VjZmVlOGM4ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmOTkwMDAwIiwiZmZmN2VjZmVlOGM4ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmYjMwMDAwN2YwMDAwIikubWFwKFVBKSxFaz1RQShNayksVGs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWNlMmYwYTZiZGRiMWM5MDk5IiwiZjZlZmY3YmRjOWUxNjdhOWNmMDI4MThhIiwiZjZlZmY3YmRjOWUxNjdhOWNmMWM5MDk5MDE2YzU5IiwiZjZlZmY3ZDBkMWU2YTZiZGRiNjdhOWNmMWM5MDk5MDE2YzU5IiwiZjZlZmY3ZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2NDUwIiwiZmZmN2ZiZWNlMmYwZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2NDUwIiwiZmZmN2ZiZWNlMmYwZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2YzU5MDE0NjM2IikubWFwKFVBKSxDaz1RQShUayksQWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWNlN2YyYTZiZGRiMmI4Y2JlIiwiZjFlZWY2YmRjOWUxNzRhOWNmMDU3MGIwIiwiZjFlZWY2YmRjOWUxNzRhOWNmMmI4Y2JlMDQ1YThkIiwiZjFlZWY2ZDBkMWU2YTZiZGRiNzRhOWNmMmI4Y2JlMDQ1YThkIiwiZjFlZWY2ZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDM0ZTdiIiwiZmZmN2ZiZWNlN2YyZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDM0ZTdiIiwiZmZmN2ZiZWNlN2YyZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDQ1YThkMDIzODU4IikubWFwKFVBKSxraz1RQShBayksTGs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTdlMWVmYzk5NGM3ZGQxYzc3IiwiZjFlZWY2ZDdiNWQ4ZGY2NWIwY2UxMjU2IiwiZjFlZWY2ZDdiNWQ4ZGY2NWIwZGQxYzc3OTgwMDQzIiwiZjFlZWY2ZDRiOWRhYzk5NGM3ZGY2NWIwZGQxYzc3OTgwMDQzIiwiZjFlZWY2ZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTEwMDNmIiwiZjdmNGY5ZTdlMWVmZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTEwMDNmIiwiZjdmNGY5ZTdlMWVmZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTgwMDQzNjcwMDFmIikubWFwKFVBKSxQaz1RQShMayksTms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmRlMGRkZmE5ZmI1YzUxYjhhIiwiZmVlYmUyZmJiNGI5Zjc2OGExYWUwMTdlIiwiZmVlYmUyZmJiNGI5Zjc2OGExYzUxYjhhN2EwMTc3IiwiZmVlYmUyZmNjNWMwZmE5ZmI1Zjc2OGExYzUxYjhhN2EwMTc3IiwiZmVlYmUyZmNjNWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3IiwiZmZmN2YzZmRlMGRkZmNjNWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3IiwiZmZmN2YzZmRlMGRkZmNjNWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3NDkwMDZhIikubWFwKFVBKSxJaz1RQShOayksUms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWRmOGIxN2ZjZGJiMmM3ZmI4IiwiZmZmZmNjYTFkYWI0NDFiNmM0MjI1ZWE4IiwiZmZmZmNjYTFkYWI0NDFiNmM0MmM3ZmI4MjUzNDk0IiwiZmZmZmNjYzdlOWI0N2ZjZGJiNDFiNmM0MmM3ZmI4MjUzNDk0IiwiZmZmZmNjYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MGMyYzg0IiwiZmZmZmQ5ZWRmOGIxYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MGMyYzg0IiwiZmZmZmQ5ZWRmOGIxYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MjUzNDk0MDgxZDU4IikubWFwKFVBKSxPaz1RQShSayksems9bmV3IEFycmF5KDMpLmNvbmNhdCgiZjdmY2I5YWRkZDhlMzFhMzU0IiwiZmZmZmNjYzJlNjk5NzhjNjc5MjM4NDQzIiwiZmZmZmNjYzJlNjk5NzhjNjc5MzFhMzU0MDA2ODM3IiwiZmZmZmNjZDlmMGEzYWRkZDhlNzhjNjc5MzFhMzU0MDA2ODM3IiwiZmZmZmNjZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA1YTMyIiwiZmZmZmU1ZjdmY2I5ZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA1YTMyIiwiZmZmZmU1ZjdmY2I5ZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA2ODM3MDA0NTI5IikubWFwKFVBKSxEaz1RQSh6ayksQms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmZmN2JjZmVjNDRmZDk1ZjBlIiwiZmZmZmQ0ZmVkOThlZmU5OTI5Y2M0YzAyIiwiZmZmZmQ0ZmVkOThlZmU5OTI5ZDk1ZjBlOTkzNDA0IiwiZmZmZmQ0ZmVlMzkxZmVjNDRmZmU5OTI5ZDk1ZjBlOTkzNDA0IiwiZmZmZmQ0ZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOGMyZDA0IiwiZmZmZmU1ZmZmN2JjZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOGMyZDA0IiwiZmZmZmU1ZmZmN2JjZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOTkzNDA0NjYyNTA2IikubWFwKFVBKSxIaz1RQShCayksRms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmZlZGEwZmViMjRjZjAzYjIwIiwiZmZmZmIyZmVjYzVjZmQ4ZDNjZTMxYTFjIiwiZmZmZmIyZmVjYzVjZmQ4ZDNjZjAzYjIwYmQwMDI2IiwiZmZmZmIyZmVkOTc2ZmViMjRjZmQ4ZDNjZjAzYjIwYmQwMDI2IiwiZmZmZmIyZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYjEwMDI2IiwiZmZmZmNjZmZlZGEwZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYjEwMDI2IiwiZmZmZmNjZmZlZGEwZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYmQwMDI2ODAwMDI2IikubWFwKFVBKSxWaz1RQShGayksVWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZGVlYmY3OWVjYWUxMzE4MmJkIiwiZWZmM2ZmYmRkN2U3NmJhZWQ2MjE3MWI1IiwiZWZmM2ZmYmRkN2U3NmJhZWQ2MzE4MmJkMDg1MTljIiwiZWZmM2ZmYzZkYmVmOWVjYWUxNmJhZWQ2MzE4MmJkMDg1MTljIiwiZWZmM2ZmYzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0IiwiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0IiwiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg1MTljMDgzMDZiIikubWFwKFVBKSxqaz1RQShVayksR2s9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTVmNWUwYTFkOTliMzFhMzU0IiwiZWRmOGU5YmFlNGIzNzRjNDc2MjM4YjQ1IiwiZWRmOGU5YmFlNGIzNzRjNDc2MzFhMzU0MDA2ZDJjIiwiZWRmOGU5YzdlOWMwYTFkOTliNzRjNDc2MzFhMzU0MDA2ZDJjIiwiZWRmOGU5YzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA1YTMyIiwiZjdmY2Y1ZTVmNWUwYzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA1YTMyIiwiZjdmY2Y1ZTVmNWUwYzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA2ZDJjMDA0NDFiIikubWFwKFVBKSxXaz1RQShHaykscWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZjBmMGYwYmRiZGJkNjM2MzYzIiwiZjdmN2Y3Y2NjY2NjOTY5Njk2NTI1MjUyIiwiZjdmN2Y3Y2NjY2NjOTY5Njk2NjM2MzYzMjUyNTI1IiwiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NjM2MzYzMjUyNTI1IiwiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1IiwiZmZmZmZmZjBmMGYwZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1IiwiZmZmZmZmZjBmMGYwZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1MDAwMDAwIikubWFwKFVBKSxZaz1RQShxayksWGs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWZlZGY1YmNiZGRjNzU2YmIxIiwiZjJmMGY3Y2JjOWUyOWU5YWM4NmE1MWEzIiwiZjJmMGY3Y2JjOWUyOWU5YWM4NzU2YmIxNTQyNzhmIiwiZjJmMGY3ZGFkYWViYmNiZGRjOWU5YWM4NzU2YmIxNTQyNzhmIiwiZjJmMGY3ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNGExNDg2IiwiZmNmYmZkZWZlZGY1ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNGExNDg2IiwiZmNmYmZkZWZlZGY1ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNTQyNzhmM2YwMDdkIikubWFwKFVBKSwkaz1RQShYayksS2s9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlMGQyZmM5MjcyZGUyZDI2IiwiZmVlNWQ5ZmNhZTkxZmI2YTRhY2IxODFkIiwiZmVlNWQ5ZmNhZTkxZmI2YTRhZGUyZDI2YTUwZjE1IiwiZmVlNWQ5ZmNiYmExZmM5MjcyZmI2YTRhZGUyZDI2YTUwZjE1IiwiZmVlNWQ5ZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkYTUwZjE1NjcwMDBkIikubWFwKFVBKSxaaz1RQShLayksSms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlNmNlZmRhZTZiZTY1NTBkIiwiZmVlZGRlZmRiZTg1ZmQ4ZDNjZDk0NzAxIiwiZmVlZGRlZmRiZTg1ZmQ4ZDNjZTY1NTBkYTYzNjAzIiwiZmVlZGRlZmRkMGEyZmRhZTZiZmQ4ZDNjZTY1NTBkYTYzNjAzIiwiZmVlZGRlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxOGMyZDA0IiwiZmZmNWViZmVlNmNlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxOGMyZDA0IiwiZmZmNWViZmVlNmNlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxYTYzNjAzN2YyNzA0IikubWFwKFVBKSxRaz1RQShKayk7dmFyIHRMPU9wKEZkKDMwMCwuNSwwKSxGZCgtMjQwLC41LDEpKSxlTD1PcChGZCgtMTAwLC43NSwuMzUpLEZkKDgwLDEuNSwuOCkpLG5MPU9wKEZkKDI2MCwuNzUsLjM1KSxGZCg4MCwxLjUsLjgpKSxpTD1GZCgpO3ZhciByTD1uZCgpLG9MPU1hdGguUEkvMyxhTD0yKk1hdGguUEkvMztmdW5jdGlvbiBzTCh0KXt2YXIgZT10Lmxlbmd0aDtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHRbTWF0aC5tYXgoMCxNYXRoLm1pbihlLTEsTWF0aC5mbG9vcihuKmUpKSldfX12YXIgbEw9c0woVUEoIjQ0MDE1NDQ0MDI1NjQ1MDQ1NzQ1MDU1OTQ2MDc1YTQ2MDg1YzQ2MGE1ZDQ2MGI1ZTQ3MGQ2MDQ3MGU2MTQ3MTA2MzQ3MTE2NDQ3MTM2NTQ4MTQ2NzQ4MTY2ODQ4MTc2OTQ4MTg2YTQ4MWE2YzQ4MWI2ZDQ4MWM2ZTQ4MWQ2ZjQ4MWY3MDQ4MjA3MTQ4MjE3MzQ4MjM3NDQ4MjQ3NTQ4MjU3NjQ4MjY3NzQ4Mjg3ODQ4Mjk3OTQ3MmE3YTQ3MmM3YTQ3MmQ3YjQ3MmU3YzQ3MmY3ZDQ2MzA3ZTQ2MzI3ZTQ2MzM3ZjQ2MzQ4MDQ1MzU4MTQ1Mzc4MTQ1Mzg4MjQ0Mzk4MzQ0M2E4MzQ0M2I4NDQzM2Q4NDQzM2U4NTQyM2Y4NTQyNDA4NjQyNDE4NjQxNDI4NzQxNDQ4NzQwNDU4ODQwNDY4ODNmNDc4ODNmNDg4OTNlNDk4OTNlNGE4OTNlNGM4YTNkNGQ4YTNkNGU4YTNjNGY4YTNjNTA4YjNiNTE4YjNiNTI4YjNhNTM4YjNhNTQ4YzM5NTU4YzM5NTY4YzM4NTg4YzM4NTk4YzM3NWE4YzM3NWI4ZDM2NWM4ZDM2NWQ4ZDM1NWU4ZDM1NWY4ZDM0NjA4ZDM0NjE4ZDMzNjI4ZDMzNjM4ZDMyNjQ4ZTMyNjU4ZTMxNjY4ZTMxNjc4ZTMxNjg4ZTMwNjk4ZTMwNmE4ZTJmNmI4ZTJmNmM4ZTJlNmQ4ZTJlNmU4ZTJlNmY4ZTJkNzA4ZTJkNzE4ZTJjNzE4ZTJjNzI4ZTJjNzM4ZTJiNzQ4ZTJiNzU4ZTJhNzY4ZTJhNzc4ZTJhNzg4ZTI5Nzk4ZTI5N2E4ZTI5N2I4ZTI4N2M4ZTI4N2Q4ZTI3N2U4ZTI3N2Y4ZTI3ODA4ZTI2ODE4ZTI2ODI4ZTI2ODI4ZTI1ODM4ZTI1ODQ4ZTI1ODU4ZTI0ODY4ZTI0ODc4ZTIzODg4ZTIzODk4ZTIzOGE4ZDIyOGI4ZDIyOGM4ZDIyOGQ4ZDIxOGU4ZDIxOGY4ZDIxOTA4ZDIxOTE4YzIwOTI4YzIwOTI4YzIwOTM4YzFmOTQ4YzFmOTU4YjFmOTY4YjFmOTc4YjFmOTg4YjFmOTk4YTFmOWE4YTFlOWI4YTFlOWM4OTFlOWQ4OTFmOWU4OTFmOWY4ODFmYTA4ODFmYTE4ODFmYTE4NzFmYTI4NzIwYTM4NjIwYTQ4NjIxYTU4NTIxYTY4NTIyYTc4NTIyYTg4NDIzYTk4MzI0YWE4MzI1YWI4MjI1YWM4MjI2YWQ4MTI3YWQ4MTI4YWU4MDI5YWY3ZjJhYjA3ZjJjYjE3ZTJkYjI3ZDJlYjM3YzJmYjQ3YzMxYjU3YjMyYjY3YTM0YjY3OTM1Yjc3OTM3Yjg3ODM4Yjk3NzNhYmE3NjNiYmI3NTNkYmM3NDNmYmM3MzQwYmQ3MjQyYmU3MTQ0YmY3MDQ2YzA2ZjQ4YzE2ZTRhYzE2ZDRjYzI2YzRlYzM2YjUwYzQ2YTUyYzU2OTU0YzU2ODU2YzY2NzU4Yzc2NTVhYzg2NDVjYzg2MzVlYzk2MjYwY2E2MDYzY2I1ZjY1Y2I1ZTY3Y2M1YzY5Y2Q1YjZjY2Q1YTZlY2U1ODcwY2Y1NzczZDA1Njc1ZDA1NDc3ZDE1MzdhZDE1MTdjZDI1MDdmZDM0ZTgxZDM0ZDg0ZDQ0Yjg2ZDU0OTg5ZDU0ODhiZDY0NjhlZDY0NTkwZDc0MzkzZDc0MTk1ZDg0MDk4ZDgzZTliZDkzYzlkZDkzYmEwZGEzOWEyZGEzN2E1ZGIzNmE4ZGIzNGFhZGMzMmFkZGMzMGIwZGQyZmIyZGQyZGI1ZGUyYmI4ZGUyOWJhZGUyOGJkZGYyNmMwZGYyNWMyZGYyM2M1ZTAyMWM4ZTAyMGNhZTExZmNkZTExZGQwZTExY2QyZTIxYmQ1ZTIxYWQ4ZTIxOWRhZTMxOWRkZTMxOGRmZTMxOGUyZTQxOGU1ZTQxOWU3ZTQxOWVhZTUxYWVjZTUxYmVmZTUxY2YxZTUxZGY0ZTYxZWY2ZTYyMGY4ZTYyMWZiZTcyM2ZkZTcyNSIpKSxjTD1zTChVQSgiMDAwMDA0MDEwMDA1MDEwMTA2MDEwMTA4MDIwMTA5MDIwMjBiMDIwMjBkMDMwMzBmMDMwMzEyMDQwNDE0MDUwNDE2MDYwNTE4MDYwNTFhMDcwNjFjMDgwNzFlMDkwNzIwMGEwODIyMGIwOTI0MGMwOTI2MGQwYTI5MGUwYjJiMTAwYjJkMTEwYzJmMTIwZDMxMTMwZDM0MTQwZTM2MTUwZTM4MTYwZjNiMTgwZjNkMTkxMDNmMWExMDQyMWMxMDQ0MWQxMTQ3MWUxMTQ5MjAxMTRiMjExMTRlMjIxMTUwMjQxMjUzMjUxMjU1MjcxMjU4MjkxMTVhMmExMTVjMmMxMTVmMmQxMTYxMmYxMTYzMzExMTY1MzMxMDY3MzQxMDY5MzYxMDZiMzgxMDZjMzkwZjZlM2IwZjcwM2QwZjcxM2YwZjcyNDAwZjc0NDIwZjc1NDQwZjc2NDUxMDc3NDcxMDc4NDkxMDc4NGExMDc5NGMxMTdhNGUxMTdiNGYxMjdiNTExMjdjNTIxMzdjNTQxMzdkNTYxNDdkNTcxNTdlNTkxNTdlNWExNjdlNWMxNjdmNWQxNzdmNWYxODdmNjAxODgwNjIxOTgwNjQxYTgwNjUxYTgwNjcxYjgwNjgxYzgxNmExYzgxNmIxZDgxNmQxZDgxNmUxZTgxNzAxZjgxNzIxZjgxNzMyMDgxNzUyMTgxNzYyMTgxNzgyMjgxNzkyMjgyN2IyMzgyN2MyMzgyN2UyNDgyODAyNTgyODEyNTgxODMyNjgxODQyNjgxODYyNzgxODgyNzgxODkyODgxOGIyOTgxOGMyOTgxOGUyYTgxOTAyYTgxOTEyYjgxOTMyYjgwOTQyYzgwOTYyYzgwOTgyZDgwOTkyZDgwOWIyZTdmOWMyZTdmOWUyZjdmYTAyZjdmYTEzMDdlYTMzMDdlYTUzMTdlYTYzMTdkYTgzMjdkYWEzMzdkYWIzMzdjYWQzNDdjYWUzNDdiYjAzNTdiYjIzNTdiYjMzNjdhYjUzNjdhYjczNzc5YjgzNzc5YmEzODc4YmMzOTc4YmQzOTc3YmYzYTc3YzAzYTc2YzIzYjc1YzQzYzc1YzUzYzc0YzczZDczYzgzZTczY2EzZTcyY2MzZjcxY2Q0MDcxY2Y0MDcwZDA0MTZmZDI0MjZmZDM0MzZlZDU0NDZkZDY0NTZjZDg0NTZjZDk0NjZiZGI0NzZhZGM0ODY5ZGU0OTY4ZGY0YTY4ZTA0YzY3ZTI0ZDY2ZTM0ZTY1ZTQ0ZjY0ZTU1MDY0ZTc1MjYzZTg1MzYyZTk1NDYyZWE1NjYxZWI1NzYwZWM1ODYwZWQ1YTVmZWU1YjVlZWY1ZDVlZjA1ZjVlZjE2MDVkZjI2MjVkZjI2NDVjZjM2NTVjZjQ2NzVjZjQ2OTVjZjU2YjVjZjY2YzVjZjY2ZTVjZjc3MDVjZjc3MjVjZjg3NDVjZjg3NjVjZjk3ODVkZjk3OTVkZjk3YjVkZmE3ZDVlZmE3ZjVlZmE4MTVmZmI4MzVmZmI4NTYwZmI4NzYxZmM4OTYxZmM4YTYyZmM4YzYzZmM4ZTY0ZmM5MDY1ZmQ5MjY2ZmQ5NDY3ZmQ5NjY4ZmQ5ODY5ZmQ5YTZhZmQ5YjZiZmU5ZDZjZmU5ZjZkZmVhMTZlZmVhMzZmZmVhNTcxZmVhNzcyZmVhOTczZmVhYTc0ZmVhYzc2ZmVhZTc3ZmViMDc4ZmViMjdhZmViNDdiZmViNjdjZmViNzdlZmViOTdmZmViYjgxZmViZDgyZmViZjg0ZmVjMTg1ZmVjMjg3ZmVjNDg4ZmVjNjhhZmVjODhjZmVjYThkZmVjYzhmZmVjZDkwZmVjZjkyZmVkMTk0ZmVkMzk1ZmVkNTk3ZmVkNzk5ZmVkODlhZmRkYTljZmRkYzllZmRkZWEwZmRlMGExZmRlMmEzZmRlM2E1ZmRlNWE3ZmRlN2E5ZmRlOWFhZmRlYmFjZmNlY2FlZmNlZWIwZmNmMGIyZmNmMmI0ZmNmNGI2ZmNmNmI4ZmNmN2I5ZmNmOWJiZmNmYmJkZmNmZGJmIikpLHVMPXNMKFVBKCIwMDAwMDQwMTAwMDUwMTAxMDYwMTAxMDgwMjAxMGEwMjAyMGMwMjAyMGUwMzAyMTAwNDAzMTIwNDAzMTQwNTA0MTcwNjA0MTkwNzA1MWIwODA1MWQwOTA2MWYwYTA3MjIwYjA3MjQwYzA4MjYwZDA4MjkwZTA5MmIxMDA5MmQxMTBhMzAxMjBhMzIxNDBiMzQxNTBiMzcxNjBiMzkxODBjM2MxOTBjM2UxYjBjNDExYzBjNDMxZTBjNDUxZjBjNDgyMTBjNGEyMzBjNGMyNDBjNGYyNjBjNTEyODBiNTMyOTBiNTUyYjBiNTcyZDBiNTkyZjBhNWIzMTBhNWMzMjBhNWUzNDBhNWYzNjA5NjEzODA5NjIzOTA5NjMzYjA5NjQzZDA5NjUzZTA5NjY0MDBhNjc0MjBhNjg0NDBhNjg0NTBhNjk0NzBiNmE0OTBiNmE0YTBjNmI0YzBjNmI0ZDBkNmM0ZjBkNmM1MTBlNmM1MjBlNmQ1NDBmNmQ1NTBmNmQ1NzEwNmU1OTEwNmU1YTExNmU1YzEyNmU1ZDEyNmU1ZjEzNmU2MTEzNmU2MjE0NmU2NDE1NmU2NTE1NmU2NzE2NmU2OTE2NmU2YTE3NmU2YzE4NmU2ZDE4NmU2ZjE5NmU3MTE5NmU3MjFhNmU3NDFhNmU3NTFiNmU3NzFjNmQ3ODFjNmQ3YTFkNmQ3YzFkNmQ3ZDFlNmQ3ZjFlNmM4MDFmNmM4MjIwNmM4NDIwNmI4NTIxNmI4NzIxNmI4ODIyNmE4YTIyNmE4YzIzNjk4ZDIzNjk4ZjI0Njk5MDI1Njg5MjI1Njg5MzI2Njc5NTI2Njc5NzI3NjY5ODI3NjY5YTI4NjU5YjI5NjQ5ZDI5NjQ5ZjJhNjNhMDJhNjNhMjJiNjJhMzJjNjFhNTJjNjBhNjJkNjBhODJlNWZhOTJlNWVhYjJmNWVhZDMwNWRhZTMwNWNiMDMxNWJiMTMyNWFiMzMyNWFiNDMzNTliNjM0NThiNzM1NTdiOTM1NTZiYTM2NTViYzM3NTRiZDM4NTNiZjM5NTJjMDNhNTFjMTNhNTBjMzNiNGZjNDNjNGVjNjNkNGRjNzNlNGNjODNmNGJjYTQwNGFjYjQxNDljYzQyNDhjZTQzNDdjZjQ0NDZkMDQ1NDVkMjQ2NDRkMzQ3NDNkNDQ4NDJkNTRhNDFkNzRiM2ZkODRjM2VkOTRkM2RkYTRlM2NkYjUwM2JkZDUxM2FkZTUyMzhkZjUzMzdlMDU1MzZlMTU2MzVlMjU3MzRlMzU5MzNlNDVhMzFlNTVjMzBlNjVkMmZlNzVlMmVlODYwMmRlOTYxMmJlYTYzMmFlYjY0MjllYjY2MjhlYzY3MjZlZDY5MjVlZTZhMjRlZjZjMjNlZjZlMjFmMDZmMjBmMTcxMWZmMTczMWRmMjc0MWNmMzc2MWJmMzc4MTlmNDc5MThmNTdiMTdmNTdkMTVmNjdlMTRmNjgwMTNmNzgyMTJmNzg0MTBmODg1MGZmODg3MGVmODg5MGNmOThiMGJmOThjMGFmOThlMDlmYTkwMDhmYTkyMDdmYTk0MDdmYjk2MDZmYjk3MDZmYjk5MDZmYjliMDZmYjlkMDdmYzlmMDdmY2ExMDhmY2EzMDlmY2E1MGFmY2E2MGNmY2E4MGRmY2FhMGZmY2FjMTFmY2FlMTJmY2IwMTRmY2IyMTZmY2I0MThmYmI2MWFmYmI4MWRmYmJhMWZmYmJjMjFmYmJlMjNmYWMwMjZmYWMyMjhmYWM0MmFmYWM2MmRmOWM3MmZmOWM5MzJmOWNiMzVmOGNkMzdmOGNmM2FmN2QxM2RmN2QzNDBmNmQ1NDNmNmQ3NDZmNWQ5NDlmNWRiNGNmNGRkNGZmNGRmNTNmNGUxNTZmM2UzNWFmM2U1NWRmMmU2NjFmMmU4NjVmMmVhNjlmMWVjNmRmMWVkNzFmMWVmNzVmMWYxNzlmMmYyN2RmMmY0ODJmM2Y1ODZmM2Y2OGFmNGY4OGVmNWY5OTJmNmZhOTZmOGZiOWFmOWZjOWRmYWZkYTFmY2ZmYTQiKSksaEw9c0woVUEoIjBkMDg4NzEwMDc4ODEzMDc4OTE2MDc4YTE5MDY4YzFiMDY4ZDFkMDY4ZTIwMDY4ZjIyMDY5MDI0MDY5MTI2MDU5MTI4MDU5MjJhMDU5MzJjMDU5NDJlMDU5NTJmMDU5NjMxMDU5NzMzMDU5NzM1MDQ5ODM3MDQ5OTM4MDQ5YTNhMDQ5YTNjMDQ5YjNlMDQ5YzNmMDQ5YzQxMDQ5ZDQzMDM5ZTQ0MDM5ZTQ2MDM5ZjQ4MDM5ZjQ5MDNhMDRiMDNhMTRjMDJhMTRlMDJhMjUwMDJhMjUxMDJhMzUzMDJhMzU1MDJhNDU2MDFhNDU4MDFhNDU5MDFhNTViMDFhNTVjMDFhNjVlMDFhNjYwMDFhNjYxMDBhNzYzMDBhNzY0MDBhNzY2MDBhNzY3MDBhODY5MDBhODZhMDBhODZjMDBhODZlMDBhODZmMDBhODcxMDBhODcyMDFhODc0MDFhODc1MDFhODc3MDFhODc4MDFhODdhMDJhODdiMDJhODdkMDNhODdlMDNhODgwMDRhODgxMDRhNzgzMDVhNzg0MDVhNzg2MDZhNjg3MDdhNjg4MDhhNjhhMDlhNThiMGFhNThkMGJhNThlMGNhNDhmMGRhNDkxMGVhMzkyMGZhMzk0MTBhMjk1MTFhMTk2MTNhMTk4MTRhMDk5MTU5ZjlhMTY5ZjljMTc5ZTlkMTg5ZDllMTk5ZGEwMWE5Y2ExMWI5YmEyMWQ5YWEzMWU5YWE1MWY5OWE2MjA5OGE3MjE5N2E4MjI5NmFhMjM5NWFiMjQ5NGFjMjY5NGFkMjc5M2FlMjg5MmIwMjk5MWIxMmE5MGIyMmI4ZmIzMmM4ZWI0MmU4ZGI1MmY4Y2I2MzA4YmI3MzE4YWI4MzI4OWJhMzM4OGJiMzQ4OGJjMzU4N2JkMzc4NmJlMzg4NWJmMzk4NGMwM2E4M2MxM2I4MmMyM2M4MWMzM2Q4MGM0M2U3ZmM1NDA3ZWM2NDE3ZGM3NDI3Y2M4NDM3YmM5NDQ3YWNhNDU3YWNiNDY3OWNjNDc3OGNjNDk3N2NkNGE3NmNlNGI3NWNmNGM3NGQwNGQ3M2QxNGU3MmQyNGY3MWQzNTE3MWQ0NTI3MGQ1NTM2ZmQ1NTQ2ZWQ2NTU2ZGQ3NTY2Y2Q4NTc2YmQ5NTg2YWRhNWE2YWRhNWI2OWRiNWM2OGRjNWQ2N2RkNWU2NmRlNWY2NWRlNjE2NGRmNjI2M2UwNjM2M2UxNjQ2MmUyNjU2MWUyNjY2MGUzNjg1ZmU0Njk1ZWU1NmE1ZGU1NmI1ZGU2NmM1Y2U3NmU1YmU3NmY1YWU4NzA1OWU5NzE1OGU5NzI1N2VhNzQ1N2ViNzU1NmViNzY1NWVjNzc1NGVkNzk1M2VkN2E1MmVlN2I1MWVmN2M1MWVmN2U1MGYwN2Y0ZmYwODA0ZWYxODE0ZGYxODM0Y2YyODQ0YmYzODU0YmYzODc0YWY0ODg0OWY0ODk0OGY1OGI0N2Y1OGM0NmY2OGQ0NWY2OGY0NGY3OTA0NGY3OTE0M2Y3OTM0MmY4OTQ0MWY4OTU0MGY5OTczZmY5OTgzZWY5OWEzZWZhOWIzZGZhOWMzY2ZhOWUzYmZiOWYzYWZiYTEzOWZiYTIzOGZjYTMzOGZjYTUzN2ZjYTYzNmZjYTgzNWZjYTkzNGZkYWIzM2ZkYWMzM2ZkYWUzMmZkYWYzMWZkYjEzMGZkYjIyZmZkYjQyZmZkYjUyZWZlYjcyZGZlYjgyY2ZlYmEyY2ZlYmIyYmZlYmQyYWZlYmUyYWZlYzAyOWZkYzIyOWZkYzMyOGZkYzUyN2ZkYzYyN2ZkYzgyN2ZkY2EyNmZkY2IyNmZjY2QyNWZjY2UyNWZjZDAyNWZjZDIyNWZiZDMyNGZiZDUyNGZiZDcyNGZhZDgyNGZhZGEyNGY5ZGMyNGY5ZGQyNWY4ZGYyNWY4ZTEyNWY3ZTIyNWY3ZTQyNWY2ZTYyNmY2ZTgyNmY1ZTkyNmY1ZWIyN2Y0ZWQyN2YzZWUyN2YzZjAyN2YyZjIyN2YxZjQyNmYxZjUyNWYwZjcyNGYwZjkyMSIpKTtmdW5jdGlvbiBkTCh0KXtyZXR1cm4gZnVuY3Rpb24gZSgpe3JldHVybiB0fX12YXIgcEw9TWF0aC5hYnMsZkw9TWF0aC5hdGFuMixtTD1NYXRoLmNvcyxnTD1NYXRoLm1heCxfTD1NYXRoLm1pbix5TD1NYXRoLnNpbix2TD1NYXRoLnNxcnQsYkw9MWUtMTIseEw9TWF0aC5QSSx3TD14TC8yLFNMPTIqeEw7ZnVuY3Rpb24gTUwodCl7cmV0dXJuIHQ+MT8wOnQ8LTE/eEw6TWF0aC5hY29zKHQpfWZ1bmN0aW9uIEVMKHQpe3JldHVybiB0Pj0xP3dMOnQ8PS0xPy13TDpNYXRoLmFzaW4odCl9ZnVuY3Rpb24gVEwodCl7cmV0dXJuIHQuaW5uZXJSYWRpdXN9ZnVuY3Rpb24gQ0wodCl7cmV0dXJuIHQub3V0ZXJSYWRpdXN9ZnVuY3Rpb24gQUwodCl7cmV0dXJuIHQuc3RhcnRBbmdsZX1mdW5jdGlvbiBrTCh0KXtyZXR1cm4gdC5lbmRBbmdsZX1mdW5jdGlvbiBMTCh0KXtyZXR1cm4gdCYmdC5wYWRBbmdsZX1mdW5jdGlvbiBQTCh0LGUsbixpLHIsbyxhLHMpe3ZhciBsPW4tdCxjPWktZSx1PWEtcixoPXMtbyxkPWgqbC11KmM7aWYoIShkKmQ8YkwpKXJldHVyblt0KyhkPSh1KihlLW8pLWgqKHQtcikpL2QpKmwsZStkKmNdfWZ1bmN0aW9uIE5MKHQsZSxuLGkscixvLGEpe3ZhciBzPXQtbixsPWUtaSxjPShhP286LW8pL3ZMKHMqcytsKmwpLHU9YypsLGg9LWMqcyxkPXQrdSxwPWUraCxmPW4rdSxtPWkraCxnPShkK2YpLzIsXz0ocCttKS8yLHk9Zi1kLHY9bS1wLGI9eSp5K3Yqdix4PXItbyx3PWQqbS1mKnAsUz0odjwwPy0xOjEpKnZMKGdMKDAseCp4KmItdyp3KSksTT0odyp2LXkqUykvYixFPSgtdyp5LXYqUykvYixUPSh3KnYreSpTKS9iLEM9KC13KnkrdipTKS9iLEE9TS1nLGs9RS1fLEw9VC1nLFA9Qy1fO3JldHVybiBBKkErayprPkwqTCtQKlAmJihNPVQsRT1DKSx7Y3g6TSxjeTpFLHgwMTotdSx5MDE6LWgseDExOk0qKHIveC0xKSx5MTE6RSooci94LTEpfX1mdW5jdGlvbiBJTCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gUkwodCl7cmV0dXJuIG5ldyBJTCh0KX1mdW5jdGlvbiBPTCh0KXtyZXR1cm4gdFswXX1mdW5jdGlvbiB6TCh0KXtyZXR1cm4gdFsxXX1mdW5jdGlvbiBETCgpe3ZhciB0PU9MLGU9ekwsbj1kTCghMCksaT1udWxsLHI9Ukwsbz1udWxsO2Z1bmN0aW9uIGEoYSl7dmFyIHMsbCxjLHU9YS5sZW5ndGgsaD0hMTtmb3IobnVsbD09aSYmKG89cihjPU9nKCkpKSxzPTA7czw9dTsrK3MpIShzPHUmJm4obD1hW3NdLHMsYSkpPT09aCYmKChoPSFoKT9vLmxpbmVTdGFydCgpOm8ubGluZUVuZCgpKSxoJiZvLnBvaW50KCt0KGwscyxhKSwrZShsLHMsYSkpO2lmKGMpcmV0dXJuIG89bnVsbCxjKyIifHxudWxsfXJldHVybiBhLng9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpkTCgrZSksYSk6dH0sYS55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoK3QpLGEpOmV9LGEuZGVmaW5lZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCEhdCksYSk6bn0sYS5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LG51bGwhPWkmJihvPXIoaSkpLGEpOnJ9LGEuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obnVsbD09dD9pPW89bnVsbDpvPXIoaT10KSxhKTppfSxhfWZ1bmN0aW9uIEJMKCl7dmFyIHQ9T0wsZT1udWxsLG49ZEwoMCksaT16TCxyPWRMKCEwKSxvPW51bGwsYT1STCxzPW51bGw7ZnVuY3Rpb24gbChsKXt2YXIgYyx1LGgsZCxwLGY9bC5sZW5ndGgsbT0hMSxnPW5ldyBBcnJheShmKSxfPW5ldyBBcnJheShmKTtmb3IobnVsbD09byYmKHM9YShwPU9nKCkpKSxjPTA7Yzw9ZjsrK2Mpe2lmKCEoYzxmJiZyKGQ9bFtjXSxjLGwpKT09PW0paWYobT0hbSl1PWMscy5hcmVhU3RhcnQoKSxzLmxpbmVTdGFydCgpO2Vsc2V7Zm9yKHMubGluZUVuZCgpLHMubGluZVN0YXJ0KCksaD1jLTE7aD49dTstLWgpcy5wb2ludChnW2hdLF9baF0pO3MubGluZUVuZCgpLHMuYXJlYUVuZCgpfW0mJihnW2NdPSt0KGQsYyxsKSxfW2NdPStuKGQsYyxsKSxzLnBvaW50KGU/K2UoZCxjLGwpOmdbY10saT8raShkLGMsbCk6X1tjXSkpfWlmKHApcmV0dXJuIHM9bnVsbCxwKyIifHxudWxsfWZ1bmN0aW9uIGMoKXtyZXR1cm4gREwoKS5kZWZpbmVkKHIpLmN1cnZlKGEpLmNvbnRleHQobyl9cmV0dXJuIGwueD1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOmRMKCtuKSxlPW51bGwsbCk6dH0sbC54MD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOmRMKCtlKSxsKTp0fSxsLngxPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCt0KSxsKTplfSxsLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTCgrdCksaT1udWxsLGwpOm59LGwueTA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTCgrdCksbCk6bn0sbC55MT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT1udWxsPT10P251bGw6ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTCgrdCksbCk6aX0sbC5saW5lWDA9bC5saW5lWTA9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngodCkueShuKX0sbC5saW5lWTE9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngodCkueShpKX0sbC5saW5lWDE9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngoZSkueShuKX0sbC5kZWZpbmVkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoISF0KSxsKTpyfSxsLmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQsbnVsbCE9byYmKHM9YShvKSksbCk6YX0sbC5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P289cz1udWxsOnM9YShvPXQpLGwpOm99LGx9ZnVuY3Rpb24gSEwodCxlKXtyZXR1cm4gZTx0Py0xOmU+dD8xOmU+PXQ/MDpOYU59ZnVuY3Rpb24gRkwodCl7cmV0dXJuIHR9SUwucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpeyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjtkZWZhdWx0OnRoaXMuX2NvbnRleHQubGluZVRvKHQsZSl9fX07dmFyIFZMPWpMKFJMKTtmdW5jdGlvbiBVTCh0KXt0aGlzLl9jdXJ2ZT10fWZ1bmN0aW9uIGpMKHQpe2Z1bmN0aW9uIGUoZSl7cmV0dXJuIG5ldyBVTCh0KGUpKX1yZXR1cm4gZS5fY3VydmU9dCxlfWZ1bmN0aW9uIEdMKHQpe3ZhciBlPXQuY3VydmU7cmV0dXJuIHQuYW5nbGU9dC54LGRlbGV0ZSB0LngsdC5yYWRpdXM9dC55LGRlbGV0ZSB0LnksdC5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9lKGpMKHQpKTplKCkuX2N1cnZlfSx0fWZ1bmN0aW9uIFdMKCl7cmV0dXJuIEdMKERMKCkuY3VydmUoVkwpKX1mdW5jdGlvbiBxTCgpe3ZhciB0PUJMKCkuY3VydmUoVkwpLGU9dC5jdXJ2ZSxuPXQubGluZVgwLGk9dC5saW5lWDEscj10LmxpbmVZMCxvPXQubGluZVkxO3JldHVybiB0LmFuZ2xlPXQueCxkZWxldGUgdC54LHQuc3RhcnRBbmdsZT10LngwLGRlbGV0ZSB0LngwLHQuZW5kQW5nbGU9dC54MSxkZWxldGUgdC54MSx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0LmlubmVyUmFkaXVzPXQueTAsZGVsZXRlIHQueTAsdC5vdXRlclJhZGl1cz10LnkxLGRlbGV0ZSB0LnkxLHQubGluZVN0YXJ0QW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gR0wobigpKX0sZGVsZXRlIHQubGluZVgwLHQubGluZUVuZEFuZ2xlPWZ1bmN0aW9uKCl7cmV0dXJuIEdMKGkoKSl9LGRlbGV0ZSB0LmxpbmVYMSx0LmxpbmVJbm5lclJhZGl1cz1mdW5jdGlvbigpe3JldHVybiBHTChyKCkpfSxkZWxldGUgdC5saW5lWTAsdC5saW5lT3V0ZXJSYWRpdXM9ZnVuY3Rpb24oKXtyZXR1cm4gR0wobygpKX0sZGVsZXRlIHQubGluZVkxLHQuY3VydmU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/ZShqTCh0KSk6ZSgpLl9jdXJ2ZX0sdH1mdW5jdGlvbiBZTCh0LGUpe3JldHVyblsoZT0rZSkqTWF0aC5jb3ModC09TWF0aC5QSS8yKSxlKk1hdGguc2luKHQpXX1VTC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2N1cnZlLmFyZWFTdGFydCgpfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fY3VydmUuYXJlYUVuZCgpfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9jdXJ2ZS5saW5lU3RhcnQoKX0sbGluZUVuZDpmdW5jdGlvbigpe3RoaXMuX2N1cnZlLmxpbmVFbmQoKX0scG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLl9jdXJ2ZS5wb2ludChlKk1hdGguc2luKHQpLGUqLU1hdGguY29zKHQpKX19O3ZhciBYTD1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gJEwodCl7cmV0dXJuIHQuc291cmNlfWZ1bmN0aW9uIEtMKHQpe3JldHVybiB0LnRhcmdldH1mdW5jdGlvbiBaTCh0KXt2YXIgZT0kTCxuPUtMLGk9T0wscj16TCxvPW51bGw7ZnVuY3Rpb24gYSgpe3ZhciBhLHM9WEwuY2FsbChhcmd1bWVudHMpLGw9ZS5hcHBseSh0aGlzLHMpLGM9bi5hcHBseSh0aGlzLHMpO2lmKG98fChvPWE9T2coKSksdChvLCtpLmFwcGx5KHRoaXMsKHNbMF09bCxzKSksK3IuYXBwbHkodGhpcyxzKSwraS5hcHBseSh0aGlzLChzWzBdPWMscykpLCtyLmFwcGx5KHRoaXMscykpLGEpcmV0dXJuIG89bnVsbCxhKyIifHxudWxsfXJldHVybiBhLnNvdXJjZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LGEpOmV9LGEudGFyZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsYSk6bn0sYS54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoK3QpLGEpOml9LGEueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCt0KSxhKTpyfSxhLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89bnVsbD09dD9udWxsOnQsYSk6b30sYX1mdW5jdGlvbiBKTCh0LGUsbixpLHIpe3QubW92ZVRvKGUsbiksdC5iZXppZXJDdXJ2ZVRvKGU9KGUraSkvMixuLGUscixpLHIpfWZ1bmN0aW9uIFFMKHQsZSxuLGkscil7dC5tb3ZlVG8oZSxuKSx0LmJlemllckN1cnZlVG8oZSxuPShuK3IpLzIsaSxuLGkscil9ZnVuY3Rpb24gdFAodCxlLG4saSxyKXt2YXIgbz1ZTChlLG4pLGE9WUwoZSxuPShuK3IpLzIpLHM9WUwoaSxuKSxsPVlMKGkscik7dC5tb3ZlVG8ob1swXSxvWzFdKSx0LmJlemllckN1cnZlVG8oYVswXSxhWzFdLHNbMF0sc1sxXSxsWzBdLGxbMV0pfXZhciBlUD17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciBuPU1hdGguc3FydChlL3hMKTt0Lm1vdmVUbyhuLDApLHQuYXJjKDAsMCxuLDAsU0wpfX0sblA9e2RyYXc6ZnVuY3Rpb24odCxlKXt2YXIgbj1NYXRoLnNxcnQoZS81KS8yO3QubW92ZVRvKC0zKm4sLW4pLHQubGluZVRvKC1uLC1uKSx0LmxpbmVUbygtbiwtMypuKSx0LmxpbmVUbyhuLC0zKm4pLHQubGluZVRvKG4sLW4pLHQubGluZVRvKDMqbiwtbiksdC5saW5lVG8oMypuLG4pLHQubGluZVRvKG4sbiksdC5saW5lVG8obiwzKm4pLHQubGluZVRvKC1uLDMqbiksdC5saW5lVG8oLW4sbiksdC5saW5lVG8oLTMqbixuKSx0LmNsb3NlUGF0aCgpfX0saVA9TWF0aC5zcXJ0KDEvMyksclA9MippUCxvUD17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciBuPU1hdGguc3FydChlL3JQKSxpPW4qaVA7dC5tb3ZlVG8oMCwtbiksdC5saW5lVG8oaSwwKSx0LmxpbmVUbygwLG4pLHQubGluZVRvKC1pLDApLHQuY2xvc2VQYXRoKCl9fSxhUD1NYXRoLnNpbih4TC8xMCkvTWF0aC5zaW4oNyp4TC8xMCksc1A9TWF0aC5zaW4oU0wvMTApKmFQLGxQPS1NYXRoLmNvcyhTTC8xMCkqYVAsY1A9e2RyYXc6ZnVuY3Rpb24odCxlKXt2YXIgbj1NYXRoLnNxcnQoLjg5MDgxMzA5MTUyOTI4NTIqZSksaT1zUCpuLHI9bFAqbjt0Lm1vdmVUbygwLC1uKSx0LmxpbmVUbyhpLHIpO2Zvcih2YXIgbz0xO288NTsrK28pe3ZhciBhPVNMKm8vNSxzPU1hdGguY29zKGEpLGw9TWF0aC5zaW4oYSk7dC5saW5lVG8obCpuLC1zKm4pLHQubGluZVRvKHMqaS1sKnIsbCppK3Mqcil9dC5jbG9zZVBhdGgoKX19LHVQPXtkcmF3OmZ1bmN0aW9uKHQsZSl7dmFyIG49TWF0aC5zcXJ0KGUpLGk9LW4vMjt0LnJlY3QoaSxpLG4sbil9fSxoUD1NYXRoLnNxcnQoMyksZFA9e2RyYXc6ZnVuY3Rpb24odCxlKXt2YXIgbj0tTWF0aC5zcXJ0KGUvKDMqaFApKTt0Lm1vdmVUbygwLDIqbiksdC5saW5lVG8oLWhQKm4sLW4pLHQubGluZVRvKGhQKm4sLW4pLHQuY2xvc2VQYXRoKCl9fSxwUD0tLjUsZlA9TWF0aC5zcXJ0KDMpLzIsbVA9MS9NYXRoLnNxcnQoMTIpLGdQPTMqKG1QLzIrMSksX1A9e2RyYXc6ZnVuY3Rpb24odCxlKXt2YXIgbj1NYXRoLnNxcnQoZS9nUCksaT1uLzIscj1uKm1QLG89aSxhPW4qbVArbixzPS1vLGw9YTt0Lm1vdmVUbyhpLHIpLHQubGluZVRvKG8sYSksdC5saW5lVG8ocyxsKSx0LmxpbmVUbyhwUCppLWZQKnIsZlAqaStwUCpyKSx0LmxpbmVUbyhwUCpvLWZQKmEsZlAqbytwUCphKSx0LmxpbmVUbyhwUCpzLWZQKmwsZlAqcytwUCpsKSx0LmxpbmVUbyhwUCppK2ZQKnIscFAqci1mUCppKSx0LmxpbmVUbyhwUCpvK2ZQKmEscFAqYS1mUCpvKSx0LmxpbmVUbyhwUCpzK2ZQKmwscFAqbC1mUCpzKSx0LmNsb3NlUGF0aCgpfX0seVA9W2VQLG5QLG9QLHVQLGNQLGRQLF9QXTtmdW5jdGlvbiB2UCgpe31mdW5jdGlvbiBiUCh0LGUsbil7dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKCgyKnQuX3gwK3QuX3gxKS8zLCgyKnQuX3kwK3QuX3kxKS8zLCh0Ll94MCsyKnQuX3gxKS8zLCh0Ll95MCsyKnQuX3kxKS8zLCh0Ll94MCs0KnQuX3gxK2UpLzYsKHQuX3kwKzQqdC5feTErbikvNil9ZnVuY3Rpb24geFAodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIHdQKHQpe3JldHVybiBuZXcgeFAodCl9ZnVuY3Rpb24gU1AodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIE1QKHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBFUCh0LGUpe3RoaXMuX2Jhc2lzPW5ldyB4UCh0KSx0aGlzLl9iZXRhPWV9eFAucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feTA9dGhpcy5feTE9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMzpiUCh0aGlzLHRoaXMuX3gxLHRoaXMuX3kxKTtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDEsdGhpcy5feTEpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl9jb250ZXh0LmxpbmVUbygoNSp0aGlzLl94MCt0aGlzLl94MSkvNiwoNSp0aGlzLl95MCt0aGlzLl95MSkvNik7ZGVmYXVsdDpiUCh0aGlzLHQsZSl9dGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT1lfX0sU1AucHJvdG90eXBlPXthcmVhU3RhcnQ6dlAsYXJlYUVuZDp2UCxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl94Mz10aGlzLl94ND10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj10aGlzLl95Mz10aGlzLl95ND1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAxOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gyLHRoaXMuX3kyKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMjp0aGlzLl9jb250ZXh0Lm1vdmVUbygodGhpcy5feDIrMip0aGlzLl94MykvMywodGhpcy5feTIrMip0aGlzLl95MykvMyksdGhpcy5fY29udGV4dC5saW5lVG8oKHRoaXMuX3gzKzIqdGhpcy5feDIpLzMsKHRoaXMuX3kzKzIqdGhpcy5feTIpLzMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAzOnRoaXMucG9pbnQodGhpcy5feDIsdGhpcy5feTIpLHRoaXMucG9pbnQodGhpcy5feDMsdGhpcy5feTMpLHRoaXMucG9pbnQodGhpcy5feDQsdGhpcy5feTQpfX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl94Mj10LHRoaXMuX3kyPWU7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTIsdGhpcy5feDM9dCx0aGlzLl95Mz1lO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX3g0PXQsdGhpcy5feTQ9ZSx0aGlzLl9jb250ZXh0Lm1vdmVUbygodGhpcy5feDArNCp0aGlzLl94MSt0KS82LCh0aGlzLl95MCs0KnRoaXMuX3kxK2UpLzYpO2JyZWFrO2RlZmF1bHQ6YlAodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9ZX19LE1QLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3kwPXRoaXMuX3kxPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYzPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zO3ZhciBuPSh0aGlzLl94MCs0KnRoaXMuX3gxK3QpLzYsaT0odGhpcy5feTArNCp0aGlzLl95MStlKS82O3RoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8obixpKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyhuLGkpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6YlAodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9ZX19LEVQLnByb3RvdHlwZT17bGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feD1bXSx0aGlzLl95PVtdLHRoaXMuX2Jhc2lzLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5feCxlPXRoaXMuX3ksbj10Lmxlbmd0aC0xO2lmKG4+MClmb3IodmFyIGkscj10WzBdLG89ZVswXSxhPXRbbl0tcixzPWVbbl0tbyxsPS0xOysrbDw9bjspdGhpcy5fYmFzaXMucG9pbnQodGhpcy5fYmV0YSp0W2xdKygxLXRoaXMuX2JldGEpKihyKyhpPWwvbikqYSksdGhpcy5fYmV0YSplW2xdKygxLXRoaXMuX2JldGEpKihvK2kqcykpO3RoaXMuX3g9dGhpcy5feT1udWxsLHRoaXMuX2Jhc2lzLmxpbmVFbmQoKX0scG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLl94LnB1c2goK3QpLHRoaXMuX3kucHVzaCgrZSl9fTt2YXIgVFA9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gMT09PWU/bmV3IHhQKHQpOm5ldyBFUCh0LGUpfXJldHVybiBuLmJldGE9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoLjg1KTtmdW5jdGlvbiBDUCh0LGUsbil7dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKHQuX3gxK3QuX2sqKHQuX3gyLXQuX3gwKSx0Ll95MSt0Ll9rKih0Ll95Mi10Ll95MCksdC5feDIrdC5fayoodC5feDEtZSksdC5feTIrdC5fayoodC5feTEtbiksdC5feDIsdC5feTIpfWZ1bmN0aW9uIEFQKHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2s9KDEtZSkvNn1BUC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTticmVhaztjYXNlIDM6Q1AodGhpcyx0aGlzLl94MSx0aGlzLl95MSl9KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX3gxPXQsdGhpcy5feTE9ZTticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9MztkZWZhdWx0OkNQKHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10aGlzLl94Mix0aGlzLl94Mj10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPXRoaXMuX3kyLHRoaXMuX3kyPWV9fTt2YXIga1A9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gbmV3IEFQKHQsZSl9cmV0dXJuIG4udGVuc2lvbj1mdW5jdGlvbihlKXtyZXR1cm4gdCgrZSl9LG59KSgwKTtmdW5jdGlvbiBMUCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9rPSgxLWUpLzZ9TFAucHJvdG90eXBlPXthcmVhU3RhcnQ6dlAsYXJlYUVuZDp2UCxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl94Mz10aGlzLl94ND10aGlzLl94NT10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj10aGlzLl95Mz10aGlzLl95ND10aGlzLl95NT1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAxOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTticmVhaztjYXNlIDM6dGhpcy5wb2ludCh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5wb2ludCh0aGlzLl94NCx0aGlzLl95NCksdGhpcy5wb2ludCh0aGlzLl94NSx0aGlzLl95NSl9fSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX3gzPXQsdGhpcy5feTM9ZTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9Mix0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94ND10LHRoaXMuX3k0PWUpO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX3g1PXQsdGhpcy5feTU9ZTticmVhaztkZWZhdWx0OkNQKHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10aGlzLl94Mix0aGlzLl94Mj10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPXRoaXMuX3kyLHRoaXMuX3kyPWV9fTt2YXIgUFA9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gbmV3IExQKHQsZSl9cmV0dXJuIG4udGVuc2lvbj1mdW5jdGlvbihlKXtyZXR1cm4gdCgrZSl9LG59KSgwKTtmdW5jdGlvbiBOUCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9rPSgxLWUpLzZ9TlAucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXsodGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjM9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTE7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Mix0aGlzLl95Mik6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6Q1AodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciBJUD0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBuZXcgTlAodCxlKX1yZXR1cm4gbi50ZW5zaW9uPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0sbn0pKDApO2Z1bmN0aW9uIFJQKHQsZSxuKXt2YXIgaT10Ll94MSxyPXQuX3kxLG89dC5feDIsYT10Ll95MjtpZih0Ll9sMDFfYT5iTCl7dmFyIHM9Mip0Ll9sMDFfMmErMyp0Ll9sMDFfYSp0Ll9sMTJfYSt0Ll9sMTJfMmEsbD0zKnQuX2wwMV9hKih0Ll9sMDFfYSt0Ll9sMTJfYSk7aT0oaSpzLXQuX3gwKnQuX2wxMl8yYSt0Ll94Mip0Ll9sMDFfMmEpL2wscj0ocipzLXQuX3kwKnQuX2wxMl8yYSt0Ll95Mip0Ll9sMDFfMmEpL2x9aWYodC5fbDIzX2E+Ykwpe3ZhciBjPTIqdC5fbDIzXzJhKzMqdC5fbDIzX2EqdC5fbDEyX2ErdC5fbDEyXzJhLHU9Myp0Ll9sMjNfYSoodC5fbDIzX2ErdC5fbDEyX2EpO289KG8qYyt0Ll94MSp0Ll9sMjNfMmEtZSp0Ll9sMTJfMmEpL3UsYT0oYSpjK3QuX3kxKnQuX2wyM18yYS1uKnQuX2wxMl8yYSkvdX10Ll9jb250ZXh0LmJlemllckN1cnZlVG8oaSxyLG8sYSx0Ll94Mix0Ll95Mil9ZnVuY3Rpb24gT1AodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5fYWxwaGE9ZX1PUC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj1OYU4sdGhpcy5fbDAxX2E9dGhpcy5fbDEyX2E9dGhpcy5fbDIzX2E9dGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmE9dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTticmVhaztjYXNlIDM6dGhpcy5wb2ludCh0aGlzLl94Mix0aGlzLl95Mil9KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe2lmKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7dmFyIG49dGhpcy5feDItdCxpPXRoaXMuX3kyLWU7dGhpcy5fbDIzX2E9TWF0aC5zcXJ0KHRoaXMuX2wyM18yYT1NYXRoLnBvdyhuKm4raSppLHRoaXMuX2FscGhhKSl9c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9MztkZWZhdWx0OlJQKHRoaXMsdCxlKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX07dmFyIHpQPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIGU/bmV3IE9QKHQsZSk6bmV3IEFQKHQsMCl9cmV0dXJuIG4uYWxwaGE9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoLjUpO2Z1bmN0aW9uIERQKHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2FscGhhPWV9RFAucHJvdG90eXBlPXthcmVhU3RhcnQ6dlAsYXJlYUVuZDp2UCxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl94Mz10aGlzLl94ND10aGlzLl94NT10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj10aGlzLl95Mz10aGlzLl95ND10aGlzLl95NT1OYU4sdGhpcy5fbDAxX2E9dGhpcy5fbDEyX2E9dGhpcy5fbDIzX2E9dGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmE9dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAxOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTticmVhaztjYXNlIDM6dGhpcy5wb2ludCh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5wb2ludCh0aGlzLl94NCx0aGlzLl95NCksdGhpcy5wb2ludCh0aGlzLl94NSx0aGlzLl95NSl9fSxwb2ludDpmdW5jdGlvbih0LGUpe2lmKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7dmFyIG49dGhpcy5feDItdCxpPXRoaXMuX3kyLWU7dGhpcy5fbDIzX2E9TWF0aC5zcXJ0KHRoaXMuX2wyM18yYT1NYXRoLnBvdyhuKm4raSppLHRoaXMuX2FscGhhKSl9c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl94Mz10LHRoaXMuX3kzPWU7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTIsdGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDQ9dCx0aGlzLl95ND1lKTticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl94NT10LHRoaXMuX3k1PWU7YnJlYWs7ZGVmYXVsdDpSUCh0aGlzLHQsZSl9dGhpcy5fbDAxX2E9dGhpcy5fbDEyX2EsdGhpcy5fbDEyX2E9dGhpcy5fbDIzX2EsdGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYSx0aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhLHRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciBCUD0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBlP25ldyBEUCh0LGUpOm5ldyBMUCh0LDApfXJldHVybiBuLmFscGhhPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0sbn0pKC41KTtmdW5jdGlvbiBIUCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9hbHBoYT1lfUhQLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9sMDFfYT10aGlzLl9sMTJfYT10aGlzLl9sMjNfYT10aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhPXRoaXMuX2wyM18yYT10aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYzPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe2lmKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7dmFyIG49dGhpcy5feDItdCxpPXRoaXMuX3kyLWU7dGhpcy5fbDIzX2E9TWF0aC5zcXJ0KHRoaXMuX2wyM18yYT1NYXRoLnBvdyhuKm4raSppLHRoaXMuX2FscGhhKSl9c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94Mix0aGlzLl95Mik7YnJlYWs7Y2FzZSAzOnRoaXMuX3BvaW50PTQ7ZGVmYXVsdDpSUCh0aGlzLHQsZSl9dGhpcy5fbDAxX2E9dGhpcy5fbDEyX2EsdGhpcy5fbDEyX2E9dGhpcy5fbDIzX2EsdGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYSx0aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhLHRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciBGUD0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBlP25ldyBIUCh0LGUpOm5ldyBOUCh0LDApfXJldHVybiBuLmFscGhhPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0sbn0pKC41KTtmdW5jdGlvbiBWUCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gVVAodCl7cmV0dXJuIHQ8MD8tMToxfWZ1bmN0aW9uIGpQKHQsZSxuKXt2YXIgaT10Ll94MS10Ll94MCxyPWUtdC5feDEsbz0odC5feTEtdC5feTApLyhpfHxyPDAmJi0wKSxhPShuLXQuX3kxKS8ocnx8aTwwJiYtMCkscz0obypyK2EqaSkvKGkrcik7cmV0dXJuKFVQKG8pK1VQKGEpKSpNYXRoLm1pbihNYXRoLmFicyhvKSxNYXRoLmFicyhhKSwuNSpNYXRoLmFicyhzKSl8fDB9ZnVuY3Rpb24gR1AodCxlKXt2YXIgbj10Ll94MS10Ll94MDtyZXR1cm4gbj8oMyoodC5feTEtdC5feTApL24tZSkvMjplfWZ1bmN0aW9uIFdQKHQsZSxuKXt2YXIgaT10Ll94MCxyPXQuX3gxLG89dC5feTEsYT0oci1pKS8zO3QuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyhpK2EsdC5feTArYSplLHItYSxvLWEqbixyLG8pfWZ1bmN0aW9uIHFQKHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBZUCh0KXt0aGlzLl9jb250ZXh0PW5ldyBYUCh0KX1mdW5jdGlvbiBYUCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gJFAodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIEtQKHQpe3ZhciBlLG4saT10Lmxlbmd0aC0xLHI9bmV3IEFycmF5KGkpLG89bmV3IEFycmF5KGkpLGE9bmV3IEFycmF5KGkpO2ZvcihyWzBdPTAsb1swXT0yLGFbMF09dFswXSsyKnRbMV0sZT0xO2U8aS0xOysrZSlyW2VdPTEsb1tlXT00LGFbZV09NCp0W2VdKzIqdFtlKzFdO2ZvcihyW2ktMV09MixvW2ktMV09NyxhW2ktMV09OCp0W2ktMV0rdFtpXSxlPTE7ZTxpOysrZSlvW2VdLT1uPXJbZV0vb1tlLTFdLGFbZV0tPW4qYVtlLTFdO2ZvcihyW2ktMV09YVtpLTFdL29baS0xXSxlPWktMjtlPj0wOy0tZSlyW2VdPShhW2VdLXJbZSsxXSkvb1tlXTtmb3Iob1tpLTFdPSh0W2ldK3JbaS0xXSkvMixlPTA7ZTxpLTE7KytlKW9bZV09Mip0W2UrMV0tcltlKzFdO3JldHVybltyLG9dfWZ1bmN0aW9uIFpQKHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX3Q9ZX1mdW5jdGlvbiBKUCh0LGUpe2lmKChyPXQubGVuZ3RoKT4xKWZvcih2YXIgbixpLHIsbz0xLGE9dFtlWzBdXSxzPWEubGVuZ3RoO288cjsrK28pZm9yKGk9YSxhPXRbZVtvXV0sbj0wO248czsrK24pYVtuXVsxXSs9YVtuXVswXT1pc05hTihpW25dWzFdKT9pW25dWzBdOmlbbl1bMV19ZnVuY3Rpb24gUVAodCl7Zm9yKHZhciBlPXQubGVuZ3RoLG49bmV3IEFycmF5KGUpOy0tZT49MDspbltlXT1lO3JldHVybiBufWZ1bmN0aW9uIHROKHQsZSl7cmV0dXJuIHRbZV19ZnVuY3Rpb24gZU4odCl7dmFyIGU9dC5tYXAobk4pO3JldHVybiBRUCh0KS5zb3J0KChmdW5jdGlvbih0LG4pe3JldHVybiBlW3RdLWVbbl19KSl9ZnVuY3Rpb24gbk4odCl7Zm9yKHZhciBlLG49LTEsaT0wLHI9dC5sZW5ndGgsbz0tMS8wOysrbjxyOykoZT0rdFtuXVsxXSk+byYmKG89ZSxpPW4pO3JldHVybiBpfWZ1bmN0aW9uIGlOKHQpe3ZhciBlPXQubWFwKHJOKTtyZXR1cm4gUVAodCkuc29ydCgoZnVuY3Rpb24odCxuKXtyZXR1cm4gZVt0XS1lW25dfSkpfWZ1bmN0aW9uIHJOKHQpe2Zvcih2YXIgZSxuPTAsaT0tMSxyPXQubGVuZ3RoOysraTxyOykoZT0rdFtpXVsxXSkmJihuKz1lKTtyZXR1cm4gbn1mdW5jdGlvbiBvTih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gYU4odCl7cmV0dXJuIHRbMF19ZnVuY3Rpb24gc04odCl7cmV0dXJuIHRbMV19ZnVuY3Rpb24gbE4oKXt0aGlzLl89bnVsbH1mdW5jdGlvbiBjTih0KXt0LlU9dC5DPXQuTD10LlI9dC5QPXQuTj1udWxsfWZ1bmN0aW9uIHVOKHQsZSl7dmFyIG49ZSxpPWUuUixyPW4uVTtyP3IuTD09PW4/ci5MPWk6ci5SPWk6dC5fPWksaS5VPXIsbi5VPWksbi5SPWkuTCxuLlImJihuLlIuVT1uKSxpLkw9bn1mdW5jdGlvbiBoTih0LGUpe3ZhciBuPWUsaT1lLkwscj1uLlU7cj9yLkw9PT1uP3IuTD1pOnIuUj1pOnQuXz1pLGkuVT1yLG4uVT1pLG4uTD1pLlIsbi5MJiYobi5MLlU9biksaS5SPW59ZnVuY3Rpb24gZE4odCl7Zm9yKDt0Lkw7KXQ9dC5MO3JldHVybiB0fWZ1bmN0aW9uIHBOKHQsZSxuLGkpe3ZhciByPVtudWxsLG51bGxdLG89RE4ucHVzaChyKS0xO3JldHVybiByLmxlZnQ9dCxyLnJpZ2h0PWUsbiYmbU4ocix0LGUsbiksaSYmbU4ocixlLHQsaSksT05bdC5pbmRleF0uaGFsZmVkZ2VzLnB1c2gobyksT05bZS5pbmRleF0uaGFsZmVkZ2VzLnB1c2gobykscn1mdW5jdGlvbiBmTih0LGUsbil7dmFyIGk9W2Usbl07cmV0dXJuIGkubGVmdD10LGl9ZnVuY3Rpb24gbU4odCxlLG4saSl7dFswXXx8dFsxXT90LmxlZnQ9PT1uP3RbMV09aTp0WzBdPWk6KHRbMF09aSx0LmxlZnQ9ZSx0LnJpZ2h0PW4pfWZ1bmN0aW9uIGdOKHQsZSxuLGkscil7dmFyIG8sYT10WzBdLHM9dFsxXSxsPWFbMF0sYz1hWzFdLHU9MCxoPTEsZD1zWzBdLWwscD1zWzFdLWM7aWYobz1lLWwsZHx8IShvPjApKXtpZihvLz1kLGQ8MCl7aWYobzx1KXJldHVybjtvPGgmJihoPW8pfWVsc2UgaWYoZD4wKXtpZihvPmgpcmV0dXJuO28+dSYmKHU9byl9aWYobz1pLWwsZHx8IShvPDApKXtpZihvLz1kLGQ8MCl7aWYobz5oKXJldHVybjtvPnUmJih1PW8pfWVsc2UgaWYoZD4wKXtpZihvPHUpcmV0dXJuO288aCYmKGg9byl9aWYobz1uLWMscHx8IShvPjApKXtpZihvLz1wLHA8MCl7aWYobzx1KXJldHVybjtvPGgmJihoPW8pfWVsc2UgaWYocD4wKXtpZihvPmgpcmV0dXJuO28+dSYmKHU9byl9aWYobz1yLWMscHx8IShvPDApKXtpZihvLz1wLHA8MCl7aWYobz5oKXJldHVybjtvPnUmJih1PW8pfWVsc2UgaWYocD4wKXtpZihvPHUpcmV0dXJuO288aCYmKGg9byl9cmV0dXJuISh1PjB8fGg8MSl8fCh1PjAmJih0WzBdPVtsK3UqZCxjK3UqcF0pLGg8MSYmKHRbMV09W2wraCpkLGMraCpwXSksITApfX19fX1mdW5jdGlvbiBfTih0LGUsbixpLHIpe3ZhciBvPXRbMV07aWYobylyZXR1cm4hMDt2YXIgYSxzLGw9dFswXSxjPXQubGVmdCx1PXQucmlnaHQsaD1jWzBdLGQ9Y1sxXSxwPXVbMF0sZj11WzFdLG09KGgrcCkvMjtpZihmPT09ZCl7aWYobTxlfHxtPj1pKXJldHVybjtpZihoPnApe2lmKGwpe2lmKGxbMV0+PXIpcmV0dXJufWVsc2UgbD1bbSxuXTtvPVttLHJdfWVsc2V7aWYobCl7aWYobFsxXTxuKXJldHVybn1lbHNlIGw9W20scl07bz1bbSxuXX19ZWxzZSBpZihzPShkK2YpLzItKGE9KGgtcCkvKGYtZCkpKm0sYTwtMXx8YT4xKWlmKGg+cCl7aWYobCl7aWYobFsxXT49cilyZXR1cm59ZWxzZSBsPVsobi1zKS9hLG5dO289WyhyLXMpL2Escl19ZWxzZXtpZihsKXtpZihsWzFdPG4pcmV0dXJufWVsc2UgbD1bKHItcykvYSxyXTtvPVsobi1zKS9hLG5dfWVsc2UgaWYoZDxmKXtpZihsKXtpZihsWzBdPj1pKXJldHVybn1lbHNlIGw9W2UsYSplK3NdO289W2ksYSppK3NdfWVsc2V7aWYobCl7aWYobFswXTxlKXJldHVybn1lbHNlIGw9W2ksYSppK3NdO289W2UsYSplK3NdfXJldHVybiB0WzBdPWwsdFsxXT1vLCEwfWZ1bmN0aW9uIHlOKHQsZSl7dmFyIG49dC5zaXRlLGk9ZS5sZWZ0LHI9ZS5yaWdodDtyZXR1cm4gbj09PXImJihyPWksaT1uKSxyP01hdGguYXRhbjIoclsxXS1pWzFdLHJbMF0taVswXSk6KG49PT1pPyhpPWVbMV0scj1lWzBdKTooaT1lWzBdLHI9ZVsxXSksTWF0aC5hdGFuMihpWzBdLXJbMF0sclsxXS1pWzFdKSl9ZnVuY3Rpb24gdk4odCxlKXtyZXR1cm4gZVsrKGUubGVmdCE9PXQuc2l0ZSldfWZ1bmN0aW9uIGJOKHQsZSl7cmV0dXJuIGVbKyhlLmxlZnQ9PT10LnNpdGUpXX1WUC5wcm90b3R5cGU9e2FyZWFTdGFydDp2UCxhcmVhRW5kOnZQLGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9wb2ludCYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKX0scG9pbnQ6ZnVuY3Rpb24odCxlKXt0PSt0LGU9K2UsdGhpcy5fcG9pbnQ/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKToodGhpcy5fcG9pbnQ9MSx0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpKX19LHFQLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3QwPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDEsdGhpcy5feTEpO2JyZWFrO2Nhc2UgMzpXUCh0aGlzLHRoaXMuX3QwLEdQKHRoaXMsdGhpcy5fdDApKX0odGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjE9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7dmFyIG49TmFOO2lmKGU9K2UsKHQ9K3QpIT09dGhpcy5feDF8fGUhPT10aGlzLl95MSl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9MyxXUCh0aGlzLEdQKHRoaXMsbj1qUCh0aGlzLHQsZSkpLG4pO2JyZWFrO2RlZmF1bHQ6V1AodGhpcyx0aGlzLl90MCxuPWpQKHRoaXMsdCxlKSl9dGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT1lLHRoaXMuX3QwPW59fX0sKFlQLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHFQLnByb3RvdHlwZSkpLnBvaW50PWZ1bmN0aW9uKHQsZSl7cVAucHJvdG90eXBlLnBvaW50LmNhbGwodGhpcyxlLHQpfSxYUC5wcm90b3R5cGU9e21vdmVUbzpmdW5jdGlvbih0LGUpe3RoaXMuX2NvbnRleHQubW92ZVRvKGUsdCl9LGNsb3NlUGF0aDpmdW5jdGlvbigpe3RoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCl9LGxpbmVUbzpmdW5jdGlvbih0LGUpe3RoaXMuX2NvbnRleHQubGluZVRvKGUsdCl9LGJlemllckN1cnZlVG86ZnVuY3Rpb24odCxlLG4saSxyLG8pe3RoaXMuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyhlLHQsaSxuLG8scil9fSwkUC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94PVtdLHRoaXMuX3k9W119LGxpbmVFbmQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl94LGU9dGhpcy5feSxuPXQubGVuZ3RoO2lmKG4paWYodGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0WzBdLGVbMF0pOnRoaXMuX2NvbnRleHQubW92ZVRvKHRbMF0sZVswXSksMj09PW4pdGhpcy5fY29udGV4dC5saW5lVG8odFsxXSxlWzFdKTtlbHNlIGZvcih2YXIgaT1LUCh0KSxyPUtQKGUpLG89MCxhPTE7YTxuOysrbywrK2EpdGhpcy5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKGlbMF1bb10sclswXVtvXSxpWzFdW29dLHJbMV1bb10sdFthXSxlW2FdKTsodGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjE9PT1uKSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZSx0aGlzLl94PXRoaXMuX3k9bnVsbH0scG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLl94LnB1c2goK3QpLHRoaXMuX3kucHVzaCgrZSl9fSxaUC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94PXRoaXMuX3k9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXswPHRoaXMuX3QmJnRoaXMuX3Q8MSYmMj09PXRoaXMuX3BvaW50JiZ0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94LHRoaXMuX3kpLCh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPj0wJiYodGhpcy5fdD0xLXRoaXMuX3QsdGhpcy5fbGluZT0xLXRoaXMuX2xpbmUpfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2RlZmF1bHQ6aWYodGhpcy5fdDw9MCl0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94LGUpLHRoaXMuX2NvbnRleHQubGluZVRvKHQsZSk7ZWxzZXt2YXIgbj10aGlzLl94KigxLXRoaXMuX3QpK3QqdGhpcy5fdDt0aGlzLl9jb250ZXh0LmxpbmVUbyhuLHRoaXMuX3kpLHRoaXMuX2NvbnRleHQubGluZVRvKG4sZSl9fXRoaXMuX3g9dCx0aGlzLl95PWV9fSxsTi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmxOLGluc2VydDpmdW5jdGlvbih0LGUpe3ZhciBuLGkscjtpZih0KXtpZihlLlA9dCxlLk49dC5OLHQuTiYmKHQuTi5QPWUpLHQuTj1lLHQuUil7Zm9yKHQ9dC5SO3QuTDspdD10Lkw7dC5MPWV9ZWxzZSB0LlI9ZTtuPXR9ZWxzZSB0aGlzLl8/KHQ9ZE4odGhpcy5fKSxlLlA9bnVsbCxlLk49dCx0LlA9dC5MPWUsbj10KTooZS5QPWUuTj1udWxsLHRoaXMuXz1lLG49bnVsbCk7Zm9yKGUuTD1lLlI9bnVsbCxlLlU9bixlLkM9ITAsdD1lO24mJm4uQzspbj09PShpPW4uVSkuTD8ocj1pLlIpJiZyLkM/KG4uQz1yLkM9ITEsaS5DPSEwLHQ9aSk6KHQ9PT1uLlImJih1Tih0aGlzLG4pLG49KHQ9bikuVSksbi5DPSExLGkuQz0hMCxoTih0aGlzLGkpKToocj1pLkwpJiZyLkM/KG4uQz1yLkM9ITEsaS5DPSEwLHQ9aSk6KHQ9PT1uLkwmJihoTih0aGlzLG4pLG49KHQ9bikuVSksbi5DPSExLGkuQz0hMCx1Tih0aGlzLGkpKSxuPXQuVTt0aGlzLl8uQz0hMX0scmVtb3ZlOmZ1bmN0aW9uKHQpe3QuTiYmKHQuTi5QPXQuUCksdC5QJiYodC5QLk49dC5OKSx0Lk49dC5QPW51bGw7dmFyIGUsbixpLHI9dC5VLG89dC5MLGE9dC5SO2lmKG49bz9hP2ROKGEpOm86YSxyP3IuTD09PXQ/ci5MPW46ci5SPW46dGhpcy5fPW4sbyYmYT8oaT1uLkMsbi5DPXQuQyxuLkw9byxvLlU9bixuIT09YT8ocj1uLlUsbi5VPXQuVSxyLkw9dD1uLlIsbi5SPWEsYS5VPW4pOihuLlU9cixyPW4sdD1uLlIpKTooaT10LkMsdD1uKSx0JiYodC5VPXIpLCFpKWlmKHQmJnQuQyl0LkM9ITE7ZWxzZXtkb3tpZih0PT09dGhpcy5fKWJyZWFrO2lmKHQ9PT1yLkwpe2lmKChlPXIuUikuQyYmKGUuQz0hMSxyLkM9ITAsdU4odGhpcyxyKSxlPXIuUiksZS5MJiZlLkwuQ3x8ZS5SJiZlLlIuQyl7ZS5SJiZlLlIuQ3x8KGUuTC5DPSExLGUuQz0hMCxoTih0aGlzLGUpLGU9ci5SKSxlLkM9ci5DLHIuQz1lLlIuQz0hMSx1Tih0aGlzLHIpLHQ9dGhpcy5fO2JyZWFrfX1lbHNlIGlmKChlPXIuTCkuQyYmKGUuQz0hMSxyLkM9ITAsaE4odGhpcyxyKSxlPXIuTCksZS5MJiZlLkwuQ3x8ZS5SJiZlLlIuQyl7ZS5MJiZlLkwuQ3x8KGUuUi5DPSExLGUuQz0hMCx1Tih0aGlzLGUpLGU9ci5MKSxlLkM9ci5DLHIuQz1lLkwuQz0hMSxoTih0aGlzLHIpLHQ9dGhpcy5fO2JyZWFrfWUuQz0hMCx0PXIscj1yLlV9d2hpbGUoIXQuQyk7dCYmKHQuQz0hMSl9fX07dmFyIHhOLHdOPVtdO2Z1bmN0aW9uIFNOKCl7Y04odGhpcyksdGhpcy54PXRoaXMueT10aGlzLmFyYz10aGlzLnNpdGU9dGhpcy5jeT1udWxsfWZ1bmN0aW9uIE1OKHQpe3ZhciBlPXQuUCxuPXQuTjtpZihlJiZuKXt2YXIgaT1lLnNpdGUscj10LnNpdGUsbz1uLnNpdGU7aWYoaSE9PW8pe3ZhciBhPXJbMF0scz1yWzFdLGw9aVswXS1hLGM9aVsxXS1zLHU9b1swXS1hLGg9b1sxXS1zLGQ9MioobCpoLWMqdSk7aWYoIShkPj0tSE4pKXt2YXIgcD1sKmwrYypjLGY9dSp1K2gqaCxtPShoKnAtYypmKS9kLGc9KGwqZi11KnApL2QsXz13Ti5wb3AoKXx8bmV3IFNOO18uYXJjPXQsXy5zaXRlPXIsXy54PW0rYSxfLnk9KF8uY3k9ZytzKStNYXRoLnNxcnQobSptK2cqZyksdC5jaXJjbGU9Xztmb3IodmFyIHk9bnVsbCx2PXpOLl87djspaWYoXy55PHYueXx8Xy55PT09di55JiZfLng8PXYueCl7aWYoIXYuTCl7eT12LlA7YnJlYWt9dj12Lkx9ZWxzZXtpZighdi5SKXt5PXY7YnJlYWt9dj12LlJ9ek4uaW5zZXJ0KHksXykseXx8KHhOPV8pfX19fWZ1bmN0aW9uIEVOKHQpe3ZhciBlPXQuY2lyY2xlO2UmJihlLlB8fCh4Tj1lLk4pLHpOLnJlbW92ZShlKSx3Ti5wdXNoKGUpLGNOKGUpLHQuY2lyY2xlPW51bGwpfXZhciBUTj1bXTtmdW5jdGlvbiBDTigpe2NOKHRoaXMpLHRoaXMuZWRnZT10aGlzLnNpdGU9dGhpcy5jaXJjbGU9bnVsbH1mdW5jdGlvbiBBTih0KXt2YXIgZT1UTi5wb3AoKXx8bmV3IENOO3JldHVybiBlLnNpdGU9dCxlfWZ1bmN0aW9uIGtOKHQpe0VOKHQpLFJOLnJlbW92ZSh0KSxUTi5wdXNoKHQpLGNOKHQpfWZ1bmN0aW9uIExOKHQpe3ZhciBlPXQuY2lyY2xlLG49ZS54LGk9ZS5jeSxyPVtuLGldLG89dC5QLGE9dC5OLHM9W3RdO2tOKHQpO2Zvcih2YXIgbD1vO2wuY2lyY2xlJiZNYXRoLmFicyhuLWwuY2lyY2xlLngpPEJOJiZNYXRoLmFicyhpLWwuY2lyY2xlLmN5KTxCTjspbz1sLlAscy51bnNoaWZ0KGwpLGtOKGwpLGw9bztzLnVuc2hpZnQobCksRU4obCk7Zm9yKHZhciBjPWE7Yy5jaXJjbGUmJk1hdGguYWJzKG4tYy5jaXJjbGUueCk8Qk4mJk1hdGguYWJzKGktYy5jaXJjbGUuY3kpPEJOOylhPWMuTixzLnB1c2goYyksa04oYyksYz1hO3MucHVzaChjKSxFTihjKTt2YXIgdSxoPXMubGVuZ3RoO2Zvcih1PTE7dTxoOysrdSltTigoYz1zW3VdKS5lZGdlLChsPXNbdS0xXSkuc2l0ZSxjLnNpdGUscik7KGM9c1toLTFdKS5lZGdlPXBOKChsPXNbMF0pLnNpdGUsYy5zaXRlLG51bGwsciksTU4obCksTU4oYyl9ZnVuY3Rpb24gUE4odCl7Zm9yKHZhciBlLG4saSxyLG89dFswXSxhPXRbMV0scz1STi5fO3M7KWlmKChpPU5OKHMsYSktbyk+Qk4pcz1zLkw7ZWxzZXtpZighKChyPW8tSU4ocyxhKSk+Qk4pKXtpPi1CTj8oZT1zLlAsbj1zKTpyPi1CTj8oZT1zLG49cy5OKTplPW49czticmVha31pZighcy5SKXtlPXM7YnJlYWt9cz1zLlJ9IShmdW5jdGlvbiBsKHQpe3JldHVybiBPTlt0LmluZGV4XT17c2l0ZTp0LGhhbGZlZGdlczpbXX19KSh0KTt2YXIgYz1BTih0KTtpZihSTi5pbnNlcnQoZSxjKSxlfHxuKXtpZihlPT09bilyZXR1cm4gRU4oZSksbj1BTihlLnNpdGUpLFJOLmluc2VydChjLG4pLGMuZWRnZT1uLmVkZ2U9cE4oZS5zaXRlLGMuc2l0ZSksTU4oZSksdm9pZCBNTihuKTtpZihuKXtFTihlKSxFTihuKTt2YXIgdT1lLnNpdGUsaD11WzBdLGQ9dVsxXSxwPXRbMF0taCxmPXRbMV0tZCxtPW4uc2l0ZSxnPW1bMF0taCxfPW1bMV0tZCx5PTIqKHAqXy1mKmcpLHY9cCpwK2YqZixiPWcqZytfKl8seD1bKF8qdi1mKmIpL3kraCwocCpiLWcqdikveStkXTttTihuLmVkZ2UsdSxtLHgpLGMuZWRnZT1wTih1LHQsbnVsbCx4KSxuLmVkZ2U9cE4odCxtLG51bGwseCksTU4oZSksTU4obil9ZWxzZSBjLmVkZ2U9cE4oZS5zaXRlLGMuc2l0ZSl9fWZ1bmN0aW9uIE5OKHQsZSl7dmFyIG49dC5zaXRlLGk9blswXSxyPW5bMV0sbz1yLWU7aWYoIW8pcmV0dXJuIGk7dmFyIGE9dC5QO2lmKCFhKXJldHVybi0xLzA7dmFyIHM9KG49YS5zaXRlKVswXSxsPW5bMV0sYz1sLWU7aWYoIWMpcmV0dXJuIHM7dmFyIHU9cy1pLGg9MS9vLTEvYyxkPXUvYztyZXR1cm4gaD8oLWQrTWF0aC5zcXJ0KGQqZC0yKmgqKHUqdS8oLTIqYyktbCtjLzIrci1vLzIpKSkvaCtpOihpK3MpLzJ9ZnVuY3Rpb24gSU4odCxlKXt2YXIgbj10Lk47aWYobilyZXR1cm4gTk4obixlKTt2YXIgaT10LnNpdGU7cmV0dXJuIGlbMV09PT1lP2lbMF06MS8wfXZhciBSTixPTix6TixETixCTj0xZS02LEhOPTFlLTEyO2Z1bmN0aW9uIEZOKHQsZSxuKXtyZXR1cm4odFswXS1uWzBdKSooZVsxXS10WzFdKS0odFswXS1lWzBdKSooblsxXS10WzFdKX1mdW5jdGlvbiBWTih0LGUpe3JldHVybiBlWzFdLXRbMV18fGVbMF0tdFswXX1mdW5jdGlvbiBVTih0LGUpe3ZhciBuLGkscixvPXQuc29ydChWTikucG9wKCk7Zm9yKEROPVtdLE9OPW5ldyBBcnJheSh0Lmxlbmd0aCksUk49bmV3IGxOLHpOPW5ldyBsTjs7KWlmKHI9eE4sbyYmKCFyfHxvWzFdPHIueXx8b1sxXT09PXIueSYmb1swXTxyLngpKW9bMF09PT1uJiZvWzFdPT09aXx8KFBOKG8pLG49b1swXSxpPW9bMV0pLG89dC5wb3AoKTtlbHNle2lmKCFyKWJyZWFrO0xOKHIuYXJjKX1pZigoZnVuY3Rpb24gYSgpe2Zvcih2YXIgdCxlLG4saSxyPTAsbz1PTi5sZW5ndGg7cjxvOysrcilpZigodD1PTltyXSkmJihpPShlPXQuaGFsZmVkZ2VzKS5sZW5ndGgpKXt2YXIgYT1uZXcgQXJyYXkoaSkscz1uZXcgQXJyYXkoaSk7Zm9yKG49MDtuPGk7KytuKWFbbl09bixzW25dPXlOKHQsRE5bZVtuXV0pO2ZvcihhLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHNbZV0tc1t0XX0pKSxuPTA7bjxpOysrbilzW25dPWVbYVtuXV07Zm9yKG49MDtuPGk7KytuKWVbbl09c1tuXX19KSgpLGUpe3ZhciBzPStlWzBdWzBdLGw9K2VbMF1bMV0sYz0rZVsxXVswXSx1PStlWzFdWzFdOyEoZnVuY3Rpb24gaCh0LGUsbixpKXtmb3IodmFyIHIsbz1ETi5sZW5ndGg7by0tOylfTihyPUROW29dLHQsZSxuLGkpJiZnTihyLHQsZSxuLGkpJiYoTWF0aC5hYnMoclswXVswXS1yWzFdWzBdKT5CTnx8TWF0aC5hYnMoclswXVsxXS1yWzFdWzFdKT5CTil8fGRlbGV0ZSBETltvXX0pKHMsbCxjLHUpLChmdW5jdGlvbiBkKHQsZSxuLGkpe3ZhciByLG8sYSxzLGwsYyx1LGgsZCxwLGYsbSxnPU9OLmxlbmd0aCxfPSEwO2ZvcihyPTA7cjxnOysrcilpZihvPU9OW3JdKXtmb3IoYT1vLnNpdGUscz0obD1vLmhhbGZlZGdlcykubGVuZ3RoO3MtLTspRE5bbFtzXV18fGwuc3BsaWNlKHMsMSk7Zm9yKHM9MCxjPWwubGVuZ3RoO3M8YzspZj0ocD1iTihvLEROW2xbc11dKSlbMF0sbT1wWzFdLGg9KHU9dk4obyxETltsWysrcyVjXV0pKVswXSxkPXVbMV0sKE1hdGguYWJzKGYtaCk+Qk58fE1hdGguYWJzKG0tZCk+Qk4pJiYobC5zcGxpY2UocywwLEROLnB1c2goZk4oYSxwLE1hdGguYWJzKGYtdCk8Qk4mJmktbT5CTj9bdCxNYXRoLmFicyhoLXQpPEJOP2Q6aV06TWF0aC5hYnMobS1pKTxCTiYmbi1mPkJOP1tNYXRoLmFicyhkLWkpPEJOP2g6bixpXTpNYXRoLmFicyhmLW4pPEJOJiZtLWU+Qk4/W24sTWF0aC5hYnMoaC1uKTxCTj9kOmVdOk1hdGguYWJzKG0tZSk8Qk4mJmYtdD5CTj9bTWF0aC5hYnMoZC1lKTxCTj9oOnQsZV06bnVsbCkpLTEpLCsrYyk7YyYmKF89ITEpfWlmKF8pe3ZhciB5LHYsYix4PTEvMDtmb3Iocj0wLF89bnVsbDtyPGc7KytyKShvPU9OW3JdKSYmKGI9KHk9KGE9by5zaXRlKVswXS10KSp5Kyh2PWFbMV0tZSkqdik8eCYmKHg9YixfPW8pO2lmKF8pe3ZhciB3PVt0LGVdLFM9W3QsaV0sTT1bbixpXSxFPVtuLGVdO18uaGFsZmVkZ2VzLnB1c2goRE4ucHVzaChmTihhPV8uc2l0ZSx3LFMpKS0xLEROLnB1c2goZk4oYSxTLE0pKS0xLEROLnB1c2goZk4oYSxNLEUpKS0xLEROLnB1c2goZk4oYSxFLHcpKS0xKX19Zm9yKHI9MDtyPGc7KytyKShvPU9OW3JdKSYmKG8uaGFsZmVkZ2VzLmxlbmd0aHx8ZGVsZXRlIE9OW3JdKX0pKHMsbCxjLHUpfXRoaXMuZWRnZXM9RE4sdGhpcy5jZWxscz1PTixSTj16Tj1ETj1PTj1udWxsfWZ1bmN0aW9uIGpOKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBHTih0LGUsbil7dGhpcy50YXJnZXQ9dCx0aGlzLnR5cGU9ZSx0aGlzLnRyYW5zZm9ybT1ufWZ1bmN0aW9uIFdOKHQsZSxuKXt0aGlzLms9dCx0aGlzLng9ZSx0aGlzLnk9bn1VTi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlVOLHBvbHlnb25zOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lZGdlcztyZXR1cm4gdGhpcy5jZWxscy5tYXAoKGZ1bmN0aW9uKGUpe3ZhciBuPWUuaGFsZmVkZ2VzLm1hcCgoZnVuY3Rpb24obil7cmV0dXJuIHZOKGUsdFtuXSl9KSk7cmV0dXJuIG4uZGF0YT1lLnNpdGUuZGF0YSxufSkpfSx0cmlhbmdsZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXSxlPXRoaXMuZWRnZXM7cmV0dXJuIHRoaXMuY2VsbHMuZm9yRWFjaCgoZnVuY3Rpb24obixpKXtpZihvPShyPW4uaGFsZmVkZ2VzKS5sZW5ndGgpZm9yKHZhciByLG8sYSxzPW4uc2l0ZSxsPS0xLGM9ZVtyW28tMV1dLHU9Yy5sZWZ0PT09cz9jLnJpZ2h0OmMubGVmdDsrK2w8bzspYT11LHU9KGM9ZVtyW2xdXSkubGVmdD09PXM/Yy5yaWdodDpjLmxlZnQsYSYmdSYmaTxhLmluZGV4JiZpPHUuaW5kZXgmJkZOKHMsYSx1KTwwJiZ0LnB1c2goW3MuZGF0YSxhLmRhdGEsdS5kYXRhXSl9KSksdH0sbGlua3M6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGdlcy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJpZ2h0fSkpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJue3NvdXJjZTp0LmxlZnQuZGF0YSx0YXJnZXQ6dC5yaWdodC5kYXRhfX0pKX0sZmluZDpmdW5jdGlvbih0LGUsbil7Zm9yKHZhciBpLHIsbz10aGlzLGE9by5fZm91bmR8fDAscz1vLmNlbGxzLmxlbmd0aDshKHI9by5jZWxsc1thXSk7KWlmKCsrYT49cylyZXR1cm4gbnVsbDt2YXIgbD10LXIuc2l0ZVswXSxjPWUtci5zaXRlWzFdLHU9bCpsK2MqYztkb3tyPW8uY2VsbHNbaT1hXSxhPW51bGwsci5oYWxmZWRnZXMuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIGk9by5lZGdlc1tuXSxzPWkubGVmdDtpZihzIT09ci5zaXRlJiZzfHwocz1pLnJpZ2h0KSl7dmFyIGw9dC1zWzBdLGM9ZS1zWzFdLGg9bCpsK2MqYztoPHUmJih1PWgsYT1zLmluZGV4KX19KSl9d2hpbGUobnVsbCE9PWEpO3JldHVybiBvLl9mb3VuZD1pLG51bGw9PW58fHU8PW4qbj9yLnNpdGU6bnVsbH19LFdOLnByb3RvdHlwZT17Y29uc3RydWN0b3I6V04sc2NhbGU6ZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10P3RoaXM6bmV3IFdOKHRoaXMuayp0LHRoaXMueCx0aGlzLnkpfSx0cmFuc2xhdGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gMD09PXQmMD09PWU/dGhpczpuZXcgV04odGhpcy5rLHRoaXMueCt0aGlzLmsqdCx0aGlzLnkrdGhpcy5rKmUpfSxhcHBseTpmdW5jdGlvbih0KXtyZXR1cm5bdFswXSp0aGlzLmsrdGhpcy54LHRbMV0qdGhpcy5rK3RoaXMueV19LGFwcGx5WDpmdW5jdGlvbih0KXtyZXR1cm4gdCp0aGlzLmsrdGhpcy54fSxhcHBseVk6ZnVuY3Rpb24odCl7cmV0dXJuIHQqdGhpcy5rK3RoaXMueX0saW52ZXJ0OmZ1bmN0aW9uKHQpe3JldHVyblsodFswXS10aGlzLngpL3RoaXMuaywodFsxXS10aGlzLnkpL3RoaXMua119LGludmVydFg6ZnVuY3Rpb24odCl7cmV0dXJuKHQtdGhpcy54KS90aGlzLmt9LGludmVydFk6ZnVuY3Rpb24odCl7cmV0dXJuKHQtdGhpcy55KS90aGlzLmt9LHJlc2NhbGVYOmZ1bmN0aW9uKHQpe3JldHVybiB0LmNvcHkoKS5kb21haW4odC5yYW5nZSgpLm1hcCh0aGlzLmludmVydFgsdGhpcykubWFwKHQuaW52ZXJ0LHQpKX0scmVzY2FsZVk6ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weSgpLmRvbWFpbih0LnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0WSx0aGlzKS5tYXAodC5pbnZlcnQsdCkpfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJ0cmFuc2xhdGUoIit0aGlzLngrIiwiK3RoaXMueSsiKSBzY2FsZSgiK3RoaXMuaysiKSJ9fTt2YXIgcU49bmV3IFdOKDEsMCwwKTtmdW5jdGlvbiBZTih0KXtmb3IoOyF0Ll9fem9vbTspaWYoISh0PXQucGFyZW50Tm9kZSkpcmV0dXJuIHFOO3JldHVybiB0Ll9fem9vbX1mdW5jdGlvbiBYTigpe011LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfWZ1bmN0aW9uICROKCl7TXUucHJldmVudERlZmF1bHQoKSxNdS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBLTigpe3JldHVybiFNdS5jdHJsS2V5JiYhTXUuYnV0dG9ufWZ1bmN0aW9uIFpOKCl7dmFyIHQ9dGhpcztyZXR1cm4gdCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQ/KHQ9dC5vd25lclNWR0VsZW1lbnR8fHQpLmhhc0F0dHJpYnV0ZSgidmlld0JveCIpP1tbKHQ9dC52aWV3Qm94LmJhc2VWYWwpLngsdC55XSxbdC54K3Qud2lkdGgsdC55K3QuaGVpZ2h0XV06W1swLDBdLFt0LndpZHRoLmJhc2VWYWwudmFsdWUsdC5oZWlnaHQuYmFzZVZhbC52YWx1ZV1dOltbMCwwXSxbdC5jbGllbnRXaWR0aCx0LmNsaWVudEhlaWdodF1dfWZ1bmN0aW9uIEpOKCl7cmV0dXJuIHRoaXMuX196b29tfHxxTn1mdW5jdGlvbiBRTigpe3JldHVybi1NdS5kZWx0YVkqKDE9PT1NdS5kZWx0YU1vZGU/LjA1Ok11LmRlbHRhTW9kZT8xOi4wMDIpfWZ1bmN0aW9uIHRJKCl7cmV0dXJuIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50c3x8Im9udG91Y2hzdGFydCJpbiB0aGlzfWZ1bmN0aW9uIGVJKHQsZSxuKXt2YXIgaT10LmludmVydFgoZVswXVswXSktblswXVswXSxyPXQuaW52ZXJ0WChlWzFdWzBdKS1uWzFdWzBdLG89dC5pbnZlcnRZKGVbMF1bMV0pLW5bMF1bMV0sYT10LmludmVydFkoZVsxXVsxXSktblsxXVsxXTtyZXR1cm4gdC50cmFuc2xhdGUocj5pPyhpK3IpLzI6TWF0aC5taW4oMCxpKXx8TWF0aC5tYXgoMCxyKSxhPm8/KG8rYSkvMjpNYXRoLm1pbigwLG8pfHxNYXRoLm1heCgwLGEpKX1mdW5jdGlvbiBuSSgpe3ZhciB0LGUsbj1LTixpPVpOLHI9ZUksbz1RTixhPXRJLHM9WzAsMS8wXSxsPVtbLTEvMCwtMS8wXSxbMS8wLDEvMF1dLGM9MjUwLHU9RXAsaD13Yygic3RhcnQiLCJ6b29tIiwiZW5kIiksZD01MDAscD0wO2Z1bmN0aW9uIGYodCl7dC5wcm9wZXJ0eSgiX196b29tIixKTikub24oIndoZWVsLnpvb20iLHgpLm9uKCJtb3VzZWRvd24uem9vbSIsdykub24oImRibGNsaWNrLnpvb20iLFMpLmZpbHRlcihhKS5vbigidG91Y2hzdGFydC56b29tIixNKS5vbigidG91Y2htb3ZlLnpvb20iLEUpLm9uKCJ0b3VjaGVuZC56b29tIHRvdWNoY2FuY2VsLnpvb20iLFQpLnN0eWxlKCJ0b3VjaC1hY3Rpb24iLCJub25lIikuc3R5bGUoIi13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciIsInJnYmEoMCwwLDAsMCkiKX1mdW5jdGlvbiBtKHQsZSl7cmV0dXJuKGU9TWF0aC5tYXgoc1swXSxNYXRoLm1pbihzWzFdLGUpKSk9PT10Lms/dDpuZXcgV04oZSx0LngsdC55KX1mdW5jdGlvbiBnKHQsZSxuKXt2YXIgaT1lWzBdLW5bMF0qdC5rLHI9ZVsxXS1uWzFdKnQuaztyZXR1cm4gaT09PXQueCYmcj09PXQueT90Om5ldyBXTih0LmssaSxyKX1mdW5jdGlvbiBfKHQpe3JldHVyblsoK3RbMF1bMF0rICt0WzFdWzBdKS8yLCgrdFswXVsxXSsgK3RbMV1bMV0pLzJdfWZ1bmN0aW9uIHkodCxlLG4pe3Qub24oInN0YXJ0Lnpvb20iLChmdW5jdGlvbigpe3YodGhpcyxhcmd1bWVudHMpLnN0YXJ0KCl9KSkub24oImludGVycnVwdC56b29tIGVuZC56b29tIiwoZnVuY3Rpb24oKXt2KHRoaXMsYXJndW1lbnRzKS5lbmQoKX0pKS50d2Vlbigiem9vbSIsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxyPWFyZ3VtZW50cyxvPXYodCxyKSxhPWkuYXBwbHkodCxyKSxzPW51bGw9PW4/XyhhKToiZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmFwcGx5KHQscik6bixsPU1hdGgubWF4KGFbMV1bMF0tYVswXVswXSxhWzFdWzFdLWFbMF1bMV0pLGM9dC5fX3pvb20saD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lLmFwcGx5KHQscik6ZSxkPXUoYy5pbnZlcnQocykuY29uY2F0KGwvYy5rKSxoLmludmVydChzKS5jb25jYXQobC9oLmspKTtyZXR1cm4gZnVuY3Rpb24odCl7aWYoMT09PXQpdD1oO2Vsc2V7dmFyIGU9ZCh0KSxuPWwvZVsyXTt0PW5ldyBXTihuLHNbMF0tZVswXSpuLHNbMV0tZVsxXSpuKX1vLnpvb20obnVsbCx0KX19KSl9ZnVuY3Rpb24gdih0LGUsbil7cmV0dXJuIW4mJnQuX196b29taW5nfHxuZXcgYih0LGUpfWZ1bmN0aW9uIGIodCxlKXt0aGlzLnRoYXQ9dCx0aGlzLmFyZ3M9ZSx0aGlzLmFjdGl2ZT0wLHRoaXMuZXh0ZW50PWkuYXBwbHkodCxlKSx0aGlzLnRhcHM9MH1mdW5jdGlvbiB4KCl7aWYobi5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciB0PXYodGhpcyxhcmd1bWVudHMpLGU9dGhpcy5fX3pvb20saT1NYXRoLm1heChzWzBdLE1hdGgubWluKHNbMV0sZS5rKk1hdGgucG93KDIsby5hcHBseSh0aGlzLGFyZ3VtZW50cykpKSksYT1iaCh0aGlzKTtpZih0LndoZWVsKXQubW91c2VbMF1bMF09PT1hWzBdJiZ0Lm1vdXNlWzBdWzFdPT09YVsxXXx8KHQubW91c2VbMV09ZS5pbnZlcnQodC5tb3VzZVswXT1hKSksY2xlYXJUaW1lb3V0KHQud2hlZWwpO2Vsc2V7aWYoZS5rPT09aSlyZXR1cm47dC5tb3VzZT1bYSxlLmludmVydChhKV0sbGYodGhpcyksdC5zdGFydCgpfSROKCksdC53aGVlbD1zZXRUaW1lb3V0KGMsMTUwKSx0Lnpvb20oIm1vdXNlIixyKGcobShlLGkpLHQubW91c2VbMF0sdC5tb3VzZVsxXSksdC5leHRlbnQsbCkpfWZ1bmN0aW9uIGMoKXt0LndoZWVsPW51bGwsdC5lbmQoKX19ZnVuY3Rpb24gdygpe2lmKCFlJiZuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIHQ9dih0aGlzLGFyZ3VtZW50cywhMCksaT1EdShNdS52aWV3KS5vbigibW91c2Vtb3ZlLnpvb20iLGMsITApLm9uKCJtb3VzZXVwLnpvb20iLHUsITApLG89YmgodGhpcyksYT1NdS5jbGllbnRYLHM9TXUuY2xpZW50WTtFaChNdS52aWV3KSxYTigpLHQubW91c2U9W28sdGhpcy5fX3pvb20uaW52ZXJ0KG8pXSxsZih0aGlzKSx0LnN0YXJ0KCl9ZnVuY3Rpb24gYygpe2lmKCROKCksIXQubW92ZWQpe3ZhciBlPU11LmNsaWVudFgtYSxuPU11LmNsaWVudFktczt0Lm1vdmVkPWUqZStuKm4+cH10Lnpvb20oIm1vdXNlIixyKGcodC50aGF0Ll9fem9vbSx0Lm1vdXNlWzBdPWJoKHQudGhhdCksdC5tb3VzZVsxXSksdC5leHRlbnQsbCkpfWZ1bmN0aW9uIHUoKXtpLm9uKCJtb3VzZW1vdmUuem9vbSBtb3VzZXVwLnpvb20iLG51bGwpLFRoKE11LnZpZXcsdC5tb3ZlZCksJE4oKSx0LmVuZCgpfX1mdW5jdGlvbiBTKCl7aWYobi5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciB0PXRoaXMuX196b29tLGU9YmgodGhpcyksbz10LmludmVydChlKSxhPXQuayooTXUuc2hpZnRLZXk/LjU6Mikscz1yKGcobSh0LGEpLGUsbyksaS5hcHBseSh0aGlzLGFyZ3VtZW50cyksbCk7JE4oKSxjPjA/RHUodGhpcykudHJhbnNpdGlvbigpLmR1cmF0aW9uKGMpLmNhbGwoeSxzLGUpOkR1KHRoaXMpLmNhbGwoZi50cmFuc2Zvcm0scyl9fWZ1bmN0aW9uIE0oKXtpZihuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIGUsaSxyLG8sYT1NdS50b3VjaGVzLHM9YS5sZW5ndGgsbD12KHRoaXMsYXJndW1lbnRzLE11LmNoYW5nZWRUb3VjaGVzLmxlbmd0aD09PXMpO2ZvcihYTigpLGk9MDtpPHM7KytpKW89W289d2godGhpcyxhLChyPWFbaV0pLmlkZW50aWZpZXIpLHRoaXMuX196b29tLmludmVydChvKSxyLmlkZW50aWZpZXJdLGwudG91Y2gwP2wudG91Y2gxfHxsLnRvdWNoMFsyXT09PW9bMl18fChsLnRvdWNoMT1vLGwudGFwcz0wKToobC50b3VjaDA9byxlPSEwLGwudGFwcz0xKyEhdCk7dCYmKHQ9Y2xlYXJUaW1lb3V0KHQpKSxlJiYobC50YXBzPDImJih0PXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dD1udWxsfSksZCkpLGxmKHRoaXMpLGwuc3RhcnQoKSl9fWZ1bmN0aW9uIEUoKXtpZih0aGlzLl9fem9vbWluZyl7dmFyIGUsbixpLG8sYT12KHRoaXMsYXJndW1lbnRzKSxzPU11LmNoYW5nZWRUb3VjaGVzLGM9cy5sZW5ndGg7Zm9yKCROKCksdCYmKHQ9Y2xlYXJUaW1lb3V0KHQpKSxhLnRhcHM9MCxlPTA7ZTxjOysrZSlpPXdoKHRoaXMscywobj1zW2VdKS5pZGVudGlmaWVyKSxhLnRvdWNoMCYmYS50b3VjaDBbMl09PT1uLmlkZW50aWZpZXI/YS50b3VjaDBbMF09aTphLnRvdWNoMSYmYS50b3VjaDFbMl09PT1uLmlkZW50aWZpZXImJihhLnRvdWNoMVswXT1pKTtpZihuPWEudGhhdC5fX3pvb20sYS50b3VjaDEpe3ZhciB1PWEudG91Y2gwWzBdLGg9YS50b3VjaDBbMV0sZD1hLnRvdWNoMVswXSxwPWEudG91Y2gxWzFdLGY9KGY9ZFswXS11WzBdKSpmKyhmPWRbMV0tdVsxXSkqZixfPShfPXBbMF0taFswXSkqXysoXz1wWzFdLWhbMV0pKl87bj1tKG4sTWF0aC5zcXJ0KGYvXykpLGk9Wyh1WzBdK2RbMF0pLzIsKHVbMV0rZFsxXSkvMl0sbz1bKGhbMF0rcFswXSkvMiwoaFsxXStwWzFdKS8yXX1lbHNle2lmKCFhLnRvdWNoMClyZXR1cm47aT1hLnRvdWNoMFswXSxvPWEudG91Y2gwWzFdfWEuem9vbSgidG91Y2giLHIoZyhuLGksbyksYS5leHRlbnQsbCkpfX1mdW5jdGlvbiBUKCl7aWYodGhpcy5fX3pvb21pbmcpe3ZhciB0LG4saT12KHRoaXMsYXJndW1lbnRzKSxyPU11LmNoYW5nZWRUb3VjaGVzLG89ci5sZW5ndGg7Zm9yKFhOKCksZSYmY2xlYXJUaW1lb3V0KGUpLGU9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtlPW51bGx9KSxkKSx0PTA7dDxvOysrdCluPXJbdF0saS50b3VjaDAmJmkudG91Y2gwWzJdPT09bi5pZGVudGlmaWVyP2RlbGV0ZSBpLnRvdWNoMDppLnRvdWNoMSYmaS50b3VjaDFbMl09PT1uLmlkZW50aWZpZXImJmRlbGV0ZSBpLnRvdWNoMTtpZihpLnRvdWNoMSYmIWkudG91Y2gwJiYoaS50b3VjaDA9aS50b3VjaDEsZGVsZXRlIGkudG91Y2gxKSxpLnRvdWNoMClpLnRvdWNoMFsxXT10aGlzLl9fem9vbS5pbnZlcnQoaS50b3VjaDBbMF0pO2Vsc2UgaWYoaS5lbmQoKSwyPT09aS50YXBzKXt2YXIgYT1EdSh0aGlzKS5vbigiZGJsY2xpY2suem9vbSIpO2EmJmEuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19cmV0dXJuIGYudHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10LnNlbGVjdGlvbj90LnNlbGVjdGlvbigpOnQ7aS5wcm9wZXJ0eSgiX196b29tIixKTiksdCE9PWk/eSh0LGUsbik6aS5pbnRlcnJ1cHQoKS5lYWNoKChmdW5jdGlvbigpe3YodGhpcyxhcmd1bWVudHMpLnN0YXJ0KCkuem9vbShudWxsLCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UuYXBwbHkodGhpcyxhcmd1bWVudHMpOmUpLmVuZCgpfSkpfSxmLnNjYWxlQnk9ZnVuY3Rpb24odCxlLG4pe2Yuc2NhbGVUbyh0LChmdW5jdGlvbigpe3ZhciB0PXRoaXMuX196b29tLmssbj0iZnVuY3Rpb24iPT10eXBlb2YgZT9lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTplO3JldHVybiB0Km59KSxuKX0sZi5zY2FsZVRvPWZ1bmN0aW9uKHQsZSxuKXtmLnRyYW5zZm9ybSh0LChmdW5jdGlvbigpe3ZhciB0PWkuYXBwbHkodGhpcyxhcmd1bWVudHMpLG89dGhpcy5fX3pvb20sYT1udWxsPT1uP18odCk6ImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6bixzPW8uaW52ZXJ0KGEpLGM9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6ZTtyZXR1cm4gcihnKG0obyxjKSxhLHMpLHQsbCl9KSxuKX0sZi50cmFuc2xhdGVCeT1mdW5jdGlvbih0LGUsbil7Zi50cmFuc2Zvcm0odCwoZnVuY3Rpb24oKXtyZXR1cm4gcih0aGlzLl9fem9vbS50cmFuc2xhdGUoImZ1bmN0aW9uIj09dHlwZW9mIGU/ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6ZSwiZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTpuKSxpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxsKX0pKX0sZi50cmFuc2xhdGVUbz1mdW5jdGlvbih0LGUsbixvKXtmLnRyYW5zZm9ybSh0LChmdW5jdGlvbigpe3ZhciB0PWkuYXBwbHkodGhpcyxhcmd1bWVudHMpLGE9dGhpcy5fX3pvb20scz1udWxsPT1vP18odCk6ImZ1bmN0aW9uIj09dHlwZW9mIG8/by5hcHBseSh0aGlzLGFyZ3VtZW50cyk6bztyZXR1cm4gcihxTi50cmFuc2xhdGUoc1swXSxzWzFdKS5zY2FsZShhLmspLnRyYW5zbGF0ZSgiZnVuY3Rpb24iPT10eXBlb2YgZT8tZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6LWUsImZ1bmN0aW9uIj09dHlwZW9mIG4/LW4uYXBwbHkodGhpcyxhcmd1bWVudHMpOi1uKSx0LGwpfSksbyl9LGIucHJvdG90eXBlPXtzdGFydDpmdW5jdGlvbigpe3JldHVybiAxPT0rK3RoaXMuYWN0aXZlJiYodGhpcy50aGF0Ll9fem9vbWluZz10aGlzLHRoaXMuZW1pdCgic3RhcnQiKSksdGhpc30sem9vbTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLm1vdXNlJiYibW91c2UiIT09dCYmKHRoaXMubW91c2VbMV09ZS5pbnZlcnQodGhpcy5tb3VzZVswXSkpLHRoaXMudG91Y2gwJiYidG91Y2giIT09dCYmKHRoaXMudG91Y2gwWzFdPWUuaW52ZXJ0KHRoaXMudG91Y2gwWzBdKSksdGhpcy50b3VjaDEmJiJ0b3VjaCIhPT10JiYodGhpcy50b3VjaDFbMV09ZS5pbnZlcnQodGhpcy50b3VjaDFbMF0pKSx0aGlzLnRoYXQuX196b29tPWUsdGhpcy5lbWl0KCJ6b29tIiksdGhpc30sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIDA9PS0tdGhpcy5hY3RpdmUmJihkZWxldGUgdGhpcy50aGF0Ll9fem9vbWluZyx0aGlzLmVtaXQoImVuZCIpKSx0aGlzfSxlbWl0OmZ1bmN0aW9uKHQpe0x1KG5ldyBHTihmLHQsdGhpcy50aGF0Ll9fem9vbSksaC5hcHBseSxoLFt0LHRoaXMudGhhdCx0aGlzLmFyZ3NdKX19LGYud2hlZWxEZWx0YT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmpOKCt0KSxmKTpvfSxmLmZpbHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmpOKCEhdCksZik6bn0sZi50b3VjaGFibGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpqTighIXQpLGYpOmF9LGYuZXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ak4oW1srdFswXVswXSwrdFswXVsxXV0sWyt0WzFdWzBdLCt0WzFdWzFdXV0pLGYpOml9LGYuc2NhbGVFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHNbMF09K3RbMF0sc1sxXT0rdFsxXSxmKTpbc1swXSxzWzFdXX0sZi50cmFuc2xhdGVFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGxbMF1bMF09K3RbMF1bMF0sbFsxXVswXT0rdFsxXVswXSxsWzBdWzFdPSt0WzBdWzFdLGxbMV1bMV09K3RbMV1bMV0sZik6W1tsWzBdWzBdLGxbMF1bMV1dLFtsWzFdWzBdLGxbMV1bMV1dXX0sZi5jb25zdHJhaW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxmKTpyfSxmLmR1cmF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPSt0LGYpOmN9LGYuaW50ZXJwb2xhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHU9dCxmKTp1fSxmLm9uPWZ1bmN0aW9uKCl7dmFyIHQ9aC5vbi5hcHBseShoLGFyZ3VtZW50cyk7cmV0dXJuIHQ9PT1oP2Y6dH0sZi5jbGlja0Rpc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhwPSh0PSt0KSp0LGYpOk1hdGguc3FydChwKX0sZn1ZTi5wcm90b3R5cGU9V04ucHJvdG90eXBlO3ZhciBpST1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCx2ZXJzaW9uOiI1LjcuMCIsYmlzZWN0OkRsLGJpc2VjdFJpZ2h0OkRsLGJpc2VjdExlZnQ6QmwsYXNjZW5kaW5nOlJsLGJpc2VjdG9yOk9sLGNyb3NzOkZsLGRlc2NlbmRpbmc6ZnVuY3Rpb24gckkodCxlKXtyZXR1cm4gZTx0Py0xOmU+dD8xOmU+PXQ/MDpOYU59LGRldmlhdGlvbjpqbCxleHRlbnQ6R2wsaGlzdG9ncmFtOmZ1bmN0aW9uIG9JKCl7dmFyIHQ9JGwsZT1HbCxuPWljO2Z1bmN0aW9uIGkoaSl7dmFyIHIsbyxhPWkubGVuZ3RoLHM9bmV3IEFycmF5KGEpO2ZvcihyPTA7cjxhOysrcilzW3JdPXQoaVtyXSxyLGkpO3ZhciBsPWUocyksYz1sWzBdLHU9bFsxXSxoPW4ocyxjLHUpO0FycmF5LmlzQXJyYXkoaCl8fChoPW5jKGMsdSxoKSxoPUtsKE1hdGguY2VpbChjL2gpKmgsdSxoKSk7Zm9yKHZhciBkPWgubGVuZ3RoO2hbMF08PWM7KWguc2hpZnQoKSwtLWQ7Zm9yKDtoW2QtMV0+dTspaC5wb3AoKSwtLWQ7dmFyIHAsZj1uZXcgQXJyYXkoZCsxKTtmb3Iocj0wO3I8PWQ7KytyKShwPWZbcl09W10pLngwPXI+MD9oW3ItMV06YyxwLngxPXI8ZD9oW3JdOnU7Zm9yKHI9MDtyPGE7KytyKWM8PShvPXNbcl0pJiZvPD11JiZmW0RsKGgsbywwLGQpXS5wdXNoKGlbcl0pO3JldHVybiBmfXJldHVybiBpLnZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6WGwoZSksaSk6dH0saS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpYbChbdFswXSx0WzFdXSksaSk6ZX0saS50aHJlc2hvbGRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QXJyYXkuaXNBcnJheSh0KT9YbChxbC5jYWxsKHQpKTpYbCh0KSxpKTpufSxpfSx0aHJlc2hvbGRGcmVlZG1hbkRpYWNvbmlzOmZ1bmN0aW9uIGFJKHQsZSxuKXtyZXR1cm4gdD1ZbC5jYWxsKHQsVmwpLnNvcnQoUmwpLE1hdGguY2VpbCgobi1lKS8oMioocmModCwuNzUpLXJjKHQsLjI1KSkqTWF0aC5wb3codC5sZW5ndGgsLTEvMykpKX0sdGhyZXNob2xkU2NvdHQ6ZnVuY3Rpb24gc0kodCxlLG4pe3JldHVybiBNYXRoLmNlaWwoKG4tZSkvKDMuNSpqbCh0KSpNYXRoLnBvdyh0Lmxlbmd0aCwtMS8zKSkpfSx0aHJlc2hvbGRTdHVyZ2VzOmljLG1heDpvYyxtZWFuOmZ1bmN0aW9uIGxJKHQsZSl7dmFyIG4saT10Lmxlbmd0aCxyPWksbz0tMSxhPTA7aWYobnVsbD09ZSlmb3IoOysrbzxpOylpc05hTihuPVZsKHRbb10pKT8tLXI6YSs9bjtlbHNlIGZvcig7KytvPGk7KWlzTmFOKG49VmwoZSh0W29dLG8sdCkpKT8tLXI6YSs9bjtpZihyKXJldHVybiBhL3J9LG1lZGlhbjpmdW5jdGlvbiBjSSh0LGUpe3ZhciBuLGk9dC5sZW5ndGgscj0tMSxvPVtdO2lmKG51bGw9PWUpZm9yKDsrK3I8aTspaXNOYU4obj1WbCh0W3JdKSl8fG8ucHVzaChuKTtlbHNlIGZvcig7KytyPGk7KWlzTmFOKG49VmwoZSh0W3JdLHIsdCkpKXx8by5wdXNoKG4pO3JldHVybiByYyhvLnNvcnQoUmwpLC41KX0sbWVyZ2U6YWMsbWluOnNjLHBhaXJzOmZ1bmN0aW9uIHVJKHQsZSl7bnVsbD09ZSYmKGU9SGwpO2Zvcih2YXIgbj0wLGk9dC5sZW5ndGgtMSxyPXRbMF0sbz1uZXcgQXJyYXkoaTwwPzA6aSk7bjxpOylvW25dPWUocixyPXRbKytuXSk7cmV0dXJuIG99LHBlcm11dGU6ZnVuY3Rpb24gaEkodCxlKXtmb3IodmFyIG49ZS5sZW5ndGgsaT1uZXcgQXJyYXkobik7bi0tOylpW25dPXRbZVtuXV07cmV0dXJuIGl9LHF1YW50aWxlOnJjLHJhbmdlOktsLHNjYW46ZnVuY3Rpb24gZEkodCxlKXtpZihuPXQubGVuZ3RoKXt2YXIgbixpLHI9MCxvPTAsYT10W29dO2ZvcihudWxsPT1lJiYoZT1SbCk7KytyPG47KShlKGk9dFtyXSxhKTwwfHwwIT09ZShhLGEpKSYmKGE9aSxvPXIpO3JldHVybiAwPT09ZShhLGEpP286dm9pZCAwfX0sc2h1ZmZsZTpmdW5jdGlvbiBwSSh0LGUsbil7Zm9yKHZhciBpLHIsbz0obnVsbD09bj90Lmxlbmd0aDpuKS0oZT1udWxsPT1lPzA6K2UpO287KXI9TWF0aC5yYW5kb20oKSpvLS18MCxpPXRbbytlXSx0W28rZV09dFtyK2VdLHRbcitlXT1pO3JldHVybiB0fSxzdW06ZnVuY3Rpb24gZkkodCxlKXt2YXIgbixpPXQubGVuZ3RoLHI9LTEsbz0wO2lmKG51bGw9PWUpZm9yKDsrK3I8aTspKG49K3Rbcl0pJiYobys9bik7ZWxzZSBmb3IoOysrcjxpOykobj0rZSh0W3JdLHIsdCkpJiYobys9bik7cmV0dXJuIG99LHRpY2tzOnRjLHRpY2tJbmNyZW1lbnQ6ZWMsdGlja1N0ZXA6bmMsdHJhbnNwb3NlOmxjLHZhcmlhbmNlOlVsLHppcDpmdW5jdGlvbiBtSSgpe3JldHVybiBsYyhhcmd1bWVudHMpfSxheGlzVG9wOmZ1bmN0aW9uIGdJKHQpe3JldHVybiB5YygxLHQpfSxheGlzUmlnaHQ6ZnVuY3Rpb24gX0kodCl7cmV0dXJuIHljKDIsdCl9LGF4aXNCb3R0b206dmMsYXhpc0xlZnQ6YmMsYnJ1c2g6dmcsYnJ1c2hYOmZ1bmN0aW9uIHlJKCl7cmV0dXJuIGJnKGlnKX0sYnJ1c2hZOnlnLGJydXNoU2VsZWN0aW9uOl9nLGNob3JkOmZ1bmN0aW9uIHZJKCl7dmFyIHQ9MCxlPW51bGwsbj1udWxsLGk9bnVsbDtmdW5jdGlvbiByKHIpe3ZhciBvLGEscyxsLGMsdSxoPXIubGVuZ3RoLGQ9W10scD1LbChoKSxmPVtdLG09W10sZz1tLmdyb3Vwcz1uZXcgQXJyYXkoaCksXz1uZXcgQXJyYXkoaCpoKTtmb3Iobz0wLGM9LTE7KytjPGg7KXtmb3IoYT0wLHU9LTE7Kyt1PGg7KWErPXJbY11bdV07ZC5wdXNoKGEpLGYucHVzaChLbChoKSksbys9YX1mb3IoZSYmcC5zb3J0KChmdW5jdGlvbih0LG4pe3JldHVybiBlKGRbdF0sZFtuXSl9KSksbiYmZi5mb3JFYWNoKChmdW5jdGlvbih0LGUpe3Quc29ydCgoZnVuY3Rpb24odCxpKXtyZXR1cm4gbihyW2VdW3RdLHJbZV1baV0pfSkpfSkpLGw9KG89VGcoMCxFZy10KmgpL28pP3Q6RWcvaCxhPTAsYz0tMTsrK2M8aDspe2ZvcihzPWEsdT0tMTsrK3U8aDspe3ZhciB5PXBbY10sdj1mW3ldW3VdLGI9clt5XVt2XSx4PWEsdz1hKz1iKm87X1t2KmgreV09e2luZGV4Onksc3ViaW5kZXg6dixzdGFydEFuZ2xlOngsZW5kQW5nbGU6dyx2YWx1ZTpifX1nW3ldPXtpbmRleDp5LHN0YXJ0QW5nbGU6cyxlbmRBbmdsZTphLHZhbHVlOmRbeV19LGErPWx9Zm9yKGM9LTE7KytjPGg7KWZvcih1PWMtMTsrK3U8aDspe3ZhciBTPV9bdSpoK2NdLE09X1tjKmgrdV07KFMudmFsdWV8fE0udmFsdWUpJiZtLnB1c2goUy52YWx1ZTxNLnZhbHVlP3tzb3VyY2U6TSx0YXJnZXQ6U306e3NvdXJjZTpTLHRhcmdldDpNfSl9cmV0dXJuIGk/bS5zb3J0KGkpOm19cmV0dXJuIHIucGFkQW5nbGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9VGcoMCxlKSxyKTp0fSxyLnNvcnRHcm91cHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxyKTplfSxyLnNvcnRTdWJncm91cHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxyKTpufSxyLnNvcnRDaG9yZHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG51bGw9PXQ/aT1udWxsOihpPUNnKHQpKS5fPXQscik6aSYmaS5ffSxyfSxyaWJib246ZnVuY3Rpb24gYkkoKXt2YXIgdD16ZyxlPURnLG49QmcsaT1IZyxyPUZnLG89bnVsbDtmdW5jdGlvbiBhKCl7dmFyIGEscz1BZy5jYWxsKGFyZ3VtZW50cyksbD10LmFwcGx5KHRoaXMscyksYz1lLmFwcGx5KHRoaXMscyksdT0rbi5hcHBseSh0aGlzLChzWzBdPWwscykpLGg9aS5hcHBseSh0aGlzLHMpLU1nLGQ9ci5hcHBseSh0aGlzLHMpLU1nLHA9dSp4ZyhoKSxmPXUqd2coaCksbT0rbi5hcHBseSh0aGlzLChzWzBdPWMscykpLGc9aS5hcHBseSh0aGlzLHMpLU1nLF89ci5hcHBseSh0aGlzLHMpLU1nO2lmKG98fChvPWE9T2coKSksby5tb3ZlVG8ocCxmKSxvLmFyYygwLDAsdSxoLGQpLGg9PT1nJiZkPT09X3x8KG8ucXVhZHJhdGljQ3VydmVUbygwLDAsbSp4ZyhnKSxtKndnKGcpKSxvLmFyYygwLDAsbSxnLF8pKSxvLnF1YWRyYXRpY0N1cnZlVG8oMCwwLHAsZiksby5jbG9zZVBhdGgoKSxhKXJldHVybiBvPW51bGwsYSsiInx8bnVsbH1yZXR1cm4gYS5yYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDprZygrdCksYSk6bn0sYS5zdGFydEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6a2coK3QpLGEpOml9LGEuZW5kQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDprZygrdCksYSk6cn0sYS5zb3VyY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ZSxhKTp0fSxhLnRhcmdldD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LGEpOmV9LGEuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz1udWxsPT10P251bGw6dCxhKTpvfSxhfSxuZXN0OmZ1bmN0aW9uIHhJKCl7dmFyIHQsZSxuLGk9W10scj1bXTtmdW5jdGlvbiBvKG4scixhLHMpe2lmKHI+PWkubGVuZ3RoKXJldHVybiBudWxsIT10JiZuLnNvcnQodCksbnVsbCE9ZT9lKG4pOm47Zm9yKHZhciBsLGMsdSxoPS0xLGQ9bi5sZW5ndGgscD1pW3IrK10sZj1qZygpLG09YSgpOysraDxkOykodT1mLmdldChsPXAoYz1uW2hdKSsiIikpP3UucHVzaChjKTpmLnNldChsLFtjXSk7cmV0dXJuIGYuZWFjaCgoZnVuY3Rpb24odCxlKXtzKG0sZSxvKHQscixhLHMpKX0pKSxtfWZ1bmN0aW9uIGEodCxuKXtpZigrK24+aS5sZW5ndGgpcmV0dXJuIHQ7dmFyIG8scz1yW24tMV07cmV0dXJuIG51bGwhPWUmJm4+PWkubGVuZ3RoP289dC5lbnRyaWVzKCk6KG89W10sdC5lYWNoKChmdW5jdGlvbih0LGUpe28ucHVzaCh7a2V5OmUsdmFsdWVzOmEodCxuKX0pfSkpKSxudWxsIT1zP28uc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gcyh0LmtleSxlLmtleSl9KSk6b31yZXR1cm4gbj17b2JqZWN0OmZ1bmN0aW9uKHQpe3JldHVybiBvKHQsMCxHZyxXZyl9LG1hcDpmdW5jdGlvbih0KXtyZXR1cm4gbyh0LDAscWcsWWcpfSxlbnRyaWVzOmZ1bmN0aW9uKHQpe3JldHVybiBhKG8odCwwLHFnLFlnKSwwKX0sa2V5OmZ1bmN0aW9uKHQpe3JldHVybiBpLnB1c2godCksbn0sc29ydEtleXM6ZnVuY3Rpb24odCl7cmV0dXJuIHJbaS5sZW5ndGgtMV09dCxufSxzb3J0VmFsdWVzOmZ1bmN0aW9uKGUpe3JldHVybiB0PWUsbn0scm9sbHVwOmZ1bmN0aW9uKHQpe3JldHVybiBlPXQsbn19fSxzZXQ6S2csbWFwOmpnLGtleXM6WmcsdmFsdWVzOmZ1bmN0aW9uIHdJKHQpe3ZhciBlPVtdO2Zvcih2YXIgbiBpbiB0KWUucHVzaCh0W25dKTtyZXR1cm4gZX0sZW50cmllczpmdW5jdGlvbiBTSSh0KXt2YXIgZT1bXTtmb3IodmFyIG4gaW4gdCllLnB1c2goe2tleTpuLHZhbHVlOnRbbl19KTtyZXR1cm4gZX0sY29sb3I6SmgscmdiOm5kLGhzbDpjZCxsYWI6eGQsaGNsOkFkLGxjaDpmdW5jdGlvbiBNSSh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/Q2QodCk6bmV3IGtkKG4sZSx0LG51bGw9PWk/MTppKX0sZ3JheTpmdW5jdGlvbiBFSSh0LGUpe3JldHVybiBuZXcgd2QodCwwLDAsbnVsbD09ZT8xOmUpfSxjdWJlaGVsaXg6RmQsY29udG91cnM6YV8sY29udG91ckRlbnNpdHk6ZnVuY3Rpb24gVEkoKXt2YXIgdD1jXyxlPXVfLG49aF8saT05NjAscj01MDAsbz0yMCxhPTIscz0zKm8sbD1pKzIqcz4+YSxjPXIrMipzPj5hLHU9dF8oMjApO2Z1bmN0aW9uIGgoaSl7dmFyIHI9bmV3IEZsb2F0MzJBcnJheShsKmMpLGg9bmV3IEZsb2F0MzJBcnJheShsKmMpO2kuZm9yRWFjaCgoZnVuY3Rpb24oaSxvLHUpe3ZhciBoPSt0KGksbyx1KStzPj5hLGQ9K2UoaSxvLHUpK3M+PmEscD0rbihpLG8sdSk7aD49MCYmaDxsJiZkPj0wJiZkPGMmJihyW2grZCpsXSs9cCl9KSksc18oe3dpZHRoOmwsaGVpZ2h0OmMsZGF0YTpyfSx7d2lkdGg6bCxoZWlnaHQ6YyxkYXRhOmh9LG8+PmEpLGxfKHt3aWR0aDpsLGhlaWdodDpjLGRhdGE6aH0se3dpZHRoOmwsaGVpZ2h0OmMsZGF0YTpyfSxvPj5hKSxzXyh7d2lkdGg6bCxoZWlnaHQ6YyxkYXRhOnJ9LHt3aWR0aDpsLGhlaWdodDpjLGRhdGE6aH0sbz4+YSksbF8oe3dpZHRoOmwsaGVpZ2h0OmMsZGF0YTpofSx7d2lkdGg6bCxoZWlnaHQ6YyxkYXRhOnJ9LG8+PmEpLHNfKHt3aWR0aDpsLGhlaWdodDpjLGRhdGE6cn0se3dpZHRoOmwsaGVpZ2h0OmMsZGF0YTpofSxvPj5hKSxsXyh7d2lkdGg6bCxoZWlnaHQ6YyxkYXRhOmh9LHt3aWR0aDpsLGhlaWdodDpjLGRhdGE6cn0sbz4+YSk7dmFyIHA9dShyKTtpZighQXJyYXkuaXNBcnJheShwKSl7dmFyIGY9b2Mocik7cD1uYygwLGYscCksKHA9S2woMCxNYXRoLmZsb29yKGYvcCkqcCxwKSkuc2hpZnQoKX1yZXR1cm4gYV8oKS50aHJlc2hvbGRzKHApLnNpemUoW2wsY10pKHIpLm1hcChkKX1mdW5jdGlvbiBkKHQpe3JldHVybiB0LnZhbHVlKj1NYXRoLnBvdygyLC0yKmEpLHQuY29vcmRpbmF0ZXMuZm9yRWFjaChwKSx0fWZ1bmN0aW9uIHAodCl7dC5mb3JFYWNoKGYpfWZ1bmN0aW9uIGYodCl7dC5mb3JFYWNoKG0pfWZ1bmN0aW9uIG0odCl7dFswXT10WzBdKk1hdGgucG93KDIsYSktcyx0WzFdPXRbMV0qTWF0aC5wb3coMixhKS1zfWZ1bmN0aW9uIGcoKXtyZXR1cm4gbD1pKzIqKHM9MypvKT4+YSxjPXIrMipzPj5hLGh9cmV0dXJuIGgueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOnRfKCtlKSxoKTp0fSxoLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDp0XygrdCksaCk6ZX0saC53ZWlnaHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDp0XygrdCksaCk6bn0saC5zaXplPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybltpLHJdO3ZhciBlPU1hdGguY2VpbCh0WzBdKSxuPU1hdGguY2VpbCh0WzFdKTtpZighKGU+PTB8fGU+PTApKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaXplIik7cmV0dXJuIGk9ZSxyPW4sZygpfSxoLmNlbGxTaXplPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiAxPDxhO2lmKCEoKHQ9K3QpPj0xKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2VsbCBzaXplIik7cmV0dXJuIGE9TWF0aC5mbG9vcihNYXRoLmxvZyh0KS9NYXRoLkxOMiksZygpfSxoLnRocmVzaG9sZHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpBcnJheS5pc0FycmF5KHQpP3RfKEpnLmNhbGwodCkpOnRfKHQpLGgpOnV9LGguYmFuZHdpZHRoPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBNYXRoLnNxcnQobyoobysxKSk7aWYoISgodD0rdCk+PTApKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBiYW5kd2lkdGgiKTtyZXR1cm4gbz1NYXRoLnJvdW5kKChNYXRoLnNxcnQoNCp0KnQrMSktMSkvMiksZygpfSxofSxkaXNwYXRjaDp3YyxkcmFnOkloLGRyYWdEaXNhYmxlOkVoLGRyYWdFbmFibGU6VGgsZHN2Rm9ybWF0OnlfLGNzdlBhcnNlOmJfLGNzdlBhcnNlUm93czp4Xyxjc3ZGb3JtYXQ6d18sY3N2Rm9ybWF0Qm9keTpTXyxjc3ZGb3JtYXRSb3dzOk1fLGNzdkZvcm1hdFJvdzpFXyxjc3ZGb3JtYXRWYWx1ZTpUXyx0c3ZQYXJzZTpBXyx0c3ZQYXJzZVJvd3M6a18sdHN2Rm9ybWF0OkxfLHRzdkZvcm1hdEJvZHk6UF8sdHN2Rm9ybWF0Um93czpOXyx0c3ZGb3JtYXRSb3c6SV8sdHN2Rm9ybWF0VmFsdWU6Ul8sYXV0b1R5cGU6ZnVuY3Rpb24gQ0kodCl7Zm9yKHZhciBlIGluIHQpe3ZhciBuLGkscj10W2VdLnRyaW0oKTtpZihyKWlmKCJ0cnVlIj09PXIpcj0hMDtlbHNlIGlmKCJmYWxzZSI9PT1yKXI9ITE7ZWxzZSBpZigiTmFOIj09PXIpcj1OYU47ZWxzZSBpZihpc05hTihuPStyKSl7aWYoIShpPXIubWF0Y2goL14oWy0rXVxkezJ9KT9cZHs0fSgtXGR7Mn0oLVxkezJ9KT8pPyhUXGR7Mn06XGR7Mn0oOlxkezJ9KFwuXGR7M30pPyk/KFp8Wy0rXVxkezJ9OlxkezJ9KT8pPyQvKSkpY29udGludWU7T18mJmlbNF0mJiFpWzddJiYocj1yLnJlcGxhY2UoLy0vZywiLyIpLnJlcGxhY2UoL1QvLCIgIikpLHI9bmV3IERhdGUocil9ZWxzZSByPW47ZWxzZSByPW51bGw7dFtlXT1yfXJldHVybiB0fSxlYXNlTGluZWFyOkZmLGVhc2VRdWFkOmpmLGVhc2VRdWFkSW46VmYsZWFzZVF1YWRPdXQ6VWYsZWFzZVF1YWRJbk91dDpqZixlYXNlQ3ViaWM6cWYsZWFzZUN1YmljSW46R2YsZWFzZUN1YmljT3V0OldmLGVhc2VDdWJpY0luT3V0OnFmLGVhc2VQb2x5OmZtLGVhc2VQb2x5SW46ZG0sZWFzZVBvbHlPdXQ6cG0sZWFzZVBvbHlJbk91dDpmbSxlYXNlU2luOnZtLGVhc2VTaW5JbjpfbSxlYXNlU2luT3V0OnltLGVhc2VTaW5Jbk91dDp2bSxlYXNlRXhwOlNtLGVhc2VFeHBJbjp4bSxlYXNlRXhwT3V0OndtLGVhc2VFeHBJbk91dDpTbSxlYXNlQ2lyY2xlOlRtLGVhc2VDaXJjbGVJbjpNbSxlYXNlQ2lyY2xlT3V0OkVtLGVhc2VDaXJjbGVJbk91dDpUbSxlYXNlQm91bmNlOkxtLGVhc2VCb3VuY2VJbjprbSxlYXNlQm91bmNlT3V0OkxtLGVhc2VCb3VuY2VJbk91dDpQbSxlYXNlQmFjazpPbSxlYXNlQmFja0luOkltLGVhc2VCYWNrT3V0OlJtLGVhc2VCYWNrSW5PdXQ6T20sZWFzZUVsYXN0aWM6Qm0sZWFzZUVsYXN0aWNJbjpEbSxlYXNlRWxhc3RpY091dDpCbSxlYXNlRWxhc3RpY0luT3V0OkhtLGJsb2I6ZnVuY3Rpb24gQUkodCxlKXtyZXR1cm4gZmV0Y2godCxlKS50aGVuKHpfKX0sYnVmZmVyOmZ1bmN0aW9uIGtJKHQsZSl7cmV0dXJuIGZldGNoKHQsZSkudGhlbihEXyl9LGRzdjpmdW5jdGlvbiBMSSh0LGUsbixpKXszPT09YXJndW1lbnRzLmxlbmd0aCYmImZ1bmN0aW9uIj09dHlwZW9mIG4mJihpPW4sbj12b2lkIDApO3ZhciByPXlfKHQpO3JldHVybiBIXyhlLG4pLnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiByLnBhcnNlKHQsaSl9KSl9LGNzdjpWXyx0c3Y6VV8saW1hZ2U6ZnVuY3Rpb24gUEkodCxlKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4saSl7dmFyIHI9bmV3IEltYWdlO2Zvcih2YXIgbyBpbiBlKXJbb109ZVtvXTtyLm9uZXJyb3I9aSxyLm9ubG9hZD1mdW5jdGlvbigpe24ocil9LHIuc3JjPXR9KSl9LGpzb246ZnVuY3Rpb24gTkkodCxlKXtyZXR1cm4gZmV0Y2godCxlKS50aGVuKGpfKX0sdGV4dDpIXyx4bWw6V18saHRtbDpxXyxzdmc6WV8sZm9yY2VDZW50ZXI6ZnVuY3Rpb24gSUkodCxlKXt2YXIgbjtmdW5jdGlvbiBpKCl7dmFyIGkscixvPW4ubGVuZ3RoLGE9MCxzPTA7Zm9yKGk9MDtpPG87KytpKWErPShyPW5baV0pLngscys9ci55O2ZvcihhPWEvby10LHM9cy9vLWUsaT0wO2k8bzsrK2kpKHI9bltpXSkueC09YSxyLnktPXN9cmV0dXJuIG51bGw9PXQmJih0PTApLG51bGw9PWUmJihlPTApLGkuaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtuPXR9LGkueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rZSxpKTp0fSxpLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9K3QsaSk6ZX0saX0sZm9yY2VDb2xsaWRlOmZ1bmN0aW9uIFJJKHQpe3ZhciBlLG4saT0xLHI9MTtmdW5jdGlvbiBvKCl7Zm9yKHZhciB0LG8scyxsLGMsdSxoLGQ9ZS5sZW5ndGgscD0wO3A8cjsrK3ApZm9yKG89dHkoZSxyeSxveSkudmlzaXRBZnRlcihhKSx0PTA7dDxkOysrdCloPSh1PW5bKHM9ZVt0XSkuaW5kZXhdKSp1LGw9cy54K3MudngsYz1zLnkrcy52eSxvLnZpc2l0KGYpO2Z1bmN0aW9uIGYodCxlLG4scixvKXt2YXIgYT10LmRhdGEsZD10LnIscD11K2Q7aWYoIWEpcmV0dXJuIGU+bCtwfHxyPGwtcHx8bj5jK3B8fG88Yy1wO2lmKGEuaW5kZXg+cy5pbmRleCl7dmFyIGY9bC1hLngtYS52eCxtPWMtYS55LWEudnksZz1mKmYrbSptO2c8cCpwJiYoMD09PWYmJihnKz0oZj0kXygpKSpmKSwwPT09bSYmKGcrPShtPSRfKCkpKm0pLGc9KHAtKGc9TWF0aC5zcXJ0KGcpKSkvZyppLHMudngrPShmKj1nKSoocD0oZCo9ZCkvKGgrZCkpLHMudnkrPShtKj1nKSpwLGEudngtPWYqKHA9MS1wKSxhLnZ5LT1tKnApfX19ZnVuY3Rpb24gYSh0KXtpZih0LmRhdGEpcmV0dXJuIHQucj1uW3QuZGF0YS5pbmRleF07Zm9yKHZhciBlPXQucj0wO2U8NDsrK2UpdFtlXSYmdFtlXS5yPnQuciYmKHQucj10W2VdLnIpfWZ1bmN0aW9uIHMoKXtpZihlKXt2YXIgaSxyLG89ZS5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KG8pLGk9MDtpPG87KytpKW5bKHI9ZVtpXSkuaW5kZXhdPSt0KHIsaSxlKX19cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVhfKG51bGw9PXQ/MTordCkpLG8uaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtlPXQscygpfSxvLml0ZXJhdGlvbnM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9K3Qsbyk6cn0sby5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxvKTppfSxvLnJhZGl1cz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOlhfKCtlKSxzKCksbyk6dH0sb30sZm9yY2VMaW5rOmZ1bmN0aW9uIE9JKHQpe3ZhciBlLG4saSxyLG8sYT1heSxzPWZ1bmN0aW9uIGwodCl7cmV0dXJuIDEvTWF0aC5taW4oclt0LnNvdXJjZS5pbmRleF0sclt0LnRhcmdldC5pbmRleF0pfSxjPVhfKDMwKSx1PTE7ZnVuY3Rpb24gaChpKXtmb3IodmFyIHI9MCxhPXQubGVuZ3RoO3I8dTsrK3IpZm9yKHZhciBzLGwsYyxoLGQscCxmLG09MDttPGE7KyttKWg9KGM9KHM9dFttXSkudGFyZ2V0KS54K2MudngtKGw9cy5zb3VyY2UpLngtbC52eHx8JF8oKSxkPWMueStjLnZ5LWwueS1sLnZ5fHwkXygpLGQqPXA9KChwPU1hdGguc3FydChoKmgrZCpkKSktblttXSkvcCppKmVbbV0sYy52eC09KGgqPXApKihmPW9bbV0pLGMudnktPWQqZixsLnZ4Kz1oKihmPTEtZiksbC52eSs9ZCpmfWZ1bmN0aW9uIGQoKXtpZihpKXt2YXIgcyxsLGM9aS5sZW5ndGgsdT10Lmxlbmd0aCxoPWpnKGksYSk7Zm9yKHM9MCxyPW5ldyBBcnJheShjKTtzPHU7KytzKShsPXRbc10pLmluZGV4PXMsIm9iamVjdCIhPXR5cGVvZiBsLnNvdXJjZSYmKGwuc291cmNlPXN5KGgsbC5zb3VyY2UpKSwib2JqZWN0IiE9dHlwZW9mIGwudGFyZ2V0JiYobC50YXJnZXQ9c3koaCxsLnRhcmdldCkpLHJbbC5zb3VyY2UuaW5kZXhdPShyW2wuc291cmNlLmluZGV4XXx8MCkrMSxyW2wudGFyZ2V0LmluZGV4XT0ocltsLnRhcmdldC5pbmRleF18fDApKzE7Zm9yKHM9MCxvPW5ldyBBcnJheSh1KTtzPHU7KytzKW9bc109clsobD10W3NdKS5zb3VyY2UuaW5kZXhdLyhyW2wuc291cmNlLmluZGV4XStyW2wudGFyZ2V0LmluZGV4XSk7ZT1uZXcgQXJyYXkodSkscCgpLG49bmV3IEFycmF5KHUpLGYoKX19ZnVuY3Rpb24gcCgpe2lmKGkpZm9yKHZhciBuPTAscj10Lmxlbmd0aDtuPHI7KytuKWVbbl09K3ModFtuXSxuLHQpfWZ1bmN0aW9uIGYoKXtpZihpKWZvcih2YXIgZT0wLHI9dC5sZW5ndGg7ZTxyOysrZSluW2VdPStjKHRbZV0sZSx0KX1yZXR1cm4gbnVsbD09dCYmKHQ9W10pLGguaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtpPXQsZCgpfSxoLmxpbmtzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUsZCgpLGgpOnR9LGguaWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCxoKTphfSxoLml0ZXJhdGlvbnM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHU9K3QsaCk6dX0saC5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlhfKCt0KSxwKCksaCk6c30saC5kaXN0YW5jZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlhfKCt0KSxmKCksaCk6Y30saH0sZm9yY2VNYW55Qm9keTpmdW5jdGlvbiB6SSgpe3ZhciB0LGUsbixpLHI9WF8oLTMwKSxvPTEsYT0xLzAscz0uODE7ZnVuY3Rpb24gbChpKXt2YXIgcixvPXQubGVuZ3RoLGE9dHkodCxseSxjeSkudmlzaXRBZnRlcih1KTtmb3Iobj1pLHI9MDtyPG87KytyKWU9dFtyXSxhLnZpc2l0KGgpfWZ1bmN0aW9uIGMoKXtpZih0KXt2YXIgZSxuLG89dC5sZW5ndGg7Zm9yKGk9bmV3IEFycmF5KG8pLGU9MDtlPG87KytlKWlbKG49dFtlXSkuaW5kZXhdPStyKG4sZSx0KX19ZnVuY3Rpb24gdSh0KXt2YXIgZSxuLHIsbyxhLHM9MCxsPTA7aWYodC5sZW5ndGgpe2ZvcihyPW89YT0wO2E8NDsrK2EpKGU9dFthXSkmJihuPU1hdGguYWJzKGUudmFsdWUpKSYmKHMrPWUudmFsdWUsbCs9bixyKz1uKmUueCxvKz1uKmUueSk7dC54PXIvbCx0Lnk9by9sfWVsc2V7KGU9dCkueD1lLmRhdGEueCxlLnk9ZS5kYXRhLnk7ZG97cys9aVtlLmRhdGEuaW5kZXhdfXdoaWxlKGU9ZS5uZXh0KX10LnZhbHVlPXN9ZnVuY3Rpb24gaCh0LHIsbCxjKXtpZighdC52YWx1ZSlyZXR1cm4hMDt2YXIgdT10LngtZS54LGg9dC55LWUueSxkPWMtcixwPXUqdStoKmg7aWYoZCpkL3M8cClyZXR1cm4gcDxhJiYoMD09PXUmJihwKz0odT0kXygpKSp1KSwwPT09aCYmKHArPShoPSRfKCkpKmgpLHA8byYmKHA9TWF0aC5zcXJ0KG8qcCkpLGUudngrPXUqdC52YWx1ZSpuL3AsZS52eSs9aCp0LnZhbHVlKm4vcCksITA7aWYoISh0Lmxlbmd0aHx8cD49YSkpeyh0LmRhdGEhPT1lfHx0Lm5leHQpJiYoMD09PXUmJihwKz0odT0kXygpKSp1KSwwPT09aCYmKHArPShoPSRfKCkpKmgpLHA8byYmKHA9TWF0aC5zcXJ0KG8qcCkpKTtkb3t0LmRhdGEhPT1lJiYoZS52eCs9dSooZD1pW3QuZGF0YS5pbmRleF0qbi9wKSxlLnZ5Kz1oKmQpfXdoaWxlKHQ9dC5uZXh0KX19cmV0dXJuIGwuaW5pdGlhbGl6ZT1mdW5jdGlvbihlKXt0PWUsYygpfSxsLnN0cmVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6WF8oK3QpLGMoKSxsKTpyfSxsLmRpc3RhbmNlTWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPXQqdCxsKTpNYXRoLnNxcnQobyl9LGwuZGlzdGFuY2VNYXg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCp0LGwpOk1hdGguc3FydChhKX0sbC50aGV0YT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz10KnQsbCk6TWF0aC5zcXJ0KHMpfSxsfSxmb3JjZVJhZGlhbDpmdW5jdGlvbiBESSh0LGUsbil7dmFyIGkscixvLGE9WF8oLjEpO2Z1bmN0aW9uIHModCl7Zm9yKHZhciBhPTAscz1pLmxlbmd0aDthPHM7KythKXt2YXIgbD1pW2FdLGM9bC54LWV8fDFlLTYsdT1sLnktbnx8MWUtNixoPU1hdGguc3FydChjKmMrdSp1KSxkPShvW2FdLWgpKnJbYV0qdC9oO2wudngrPWMqZCxsLnZ5Kz11KmR9fWZ1bmN0aW9uIGwoKXtpZihpKXt2YXIgZSxuPWkubGVuZ3RoO2ZvcihyPW5ldyBBcnJheShuKSxvPW5ldyBBcnJheShuKSxlPTA7ZTxuOysrZSlvW2VdPSt0KGlbZV0sZSxpKSxyW2VdPWlzTmFOKG9bZV0pPzA6K2EoaVtlXSxlLGkpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9WF8oK3QpKSxudWxsPT1lJiYoZT0wKSxudWxsPT1uJiYobj0wKSxzLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7aT10LGwoKX0scy5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlhfKCt0KSxsKCkscyk6YX0scy5yYWRpdXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpYXygrZSksbCgpLHMpOnR9LHMueD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdCxzKTplfSxzLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3Qscyk6bn0sc30sZm9yY2VTaW11bGF0aW9uOmZ1bmN0aW9uIEJJKHQpe3ZhciBlLG49MSxpPS4wMDEscj0xLU1hdGgucG93KGksMS8zMDApLG89MCxhPS42LHM9amcoKSxsPSRwKHUpLGM9d2MoInRpY2siLCJlbmQiKTtmdW5jdGlvbiB1KCl7aCgpLGMuY2FsbCgidGljayIsZSksbjxpJiYobC5zdG9wKCksYy5jYWxsKCJlbmQiLGUpKX1mdW5jdGlvbiBoKGkpe3ZhciBsLGMsdT10Lmxlbmd0aDt2b2lkIDA9PT1pJiYoaT0xKTtmb3IodmFyIGg9MDtoPGk7KytoKWZvcihuKz0oby1uKSpyLHMuZWFjaCgoZnVuY3Rpb24odCl7dChuKX0pKSxsPTA7bDx1OysrbCludWxsPT0oYz10W2xdKS5meD9jLngrPWMudngqPWE6KGMueD1jLmZ4LGMudng9MCksbnVsbD09Yy5meT9jLnkrPWMudnkqPWE6KGMueT1jLmZ5LGMudnk9MCk7cmV0dXJuIGV9ZnVuY3Rpb24gZCgpe2Zvcih2YXIgZSxuPTAsaT10Lmxlbmd0aDtuPGk7KytuKXtpZigoZT10W25dKS5pbmRleD1uLG51bGwhPWUuZngmJihlLng9ZS5meCksbnVsbCE9ZS5meSYmKGUueT1lLmZ5KSxpc05hTihlLngpfHxpc05hTihlLnkpKXt2YXIgcj0xMCpNYXRoLnNxcnQobiksbz1uKk15O2UueD1yKk1hdGguY29zKG8pLGUueT1yKk1hdGguc2luKG8pfShpc05hTihlLnZ4KXx8aXNOYU4oZS52eSkpJiYoZS52eD1lLnZ5PTApfX1mdW5jdGlvbiBwKGUpe3JldHVybiBlLmluaXRpYWxpemUmJmUuaW5pdGlhbGl6ZSh0KSxlfXJldHVybiBudWxsPT10JiYodD1bXSksZCgpLGU9e3RpY2s6aCxyZXN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucmVzdGFydCh1KSxlfSxzdG9wOmZ1bmN0aW9uKCl7cmV0dXJuIGwuc3RvcCgpLGV9LG5vZGVzOmZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PW4sZCgpLHMuZWFjaChwKSxlKTp0fSxhbHBoYTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdCxlKTpufSxhbHBoYU1pbjpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxlKTppfSxhbHBoYURlY2F5OmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSt0LGUpOityfSxhbHBoYVRhcmdldDpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0rdCxlKTpvfSx2ZWxvY2l0eURlY2F5OmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPTEtdCxlKToxLWF9LGZvcmNlOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT8obnVsbD09bj9zLnJlbW92ZSh0KTpzLnNldCh0LHAobikpLGUpOnMuZ2V0KHQpfSxmaW5kOmZ1bmN0aW9uKGUsbixpKXt2YXIgcixvLGEscyxsLGM9MCx1PXQubGVuZ3RoO2ZvcihudWxsPT1pP2k9MS8wOmkqPWksYz0wO2M8dTsrK2MpKGE9KHI9ZS0ocz10W2NdKS54KSpyKyhvPW4tcy55KSpvKTxpJiYobD1zLGk9YSk7cmV0dXJuIGx9LG9uOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT8oYy5vbih0LG4pLGUpOmMub24odCl9fX0sZm9yY2VYOmZ1bmN0aW9uIEhJKHQpe3ZhciBlLG4saSxyPVhfKC4xKTtmdW5jdGlvbiBvKHQpe2Zvcih2YXIgcixvPTAsYT1lLmxlbmd0aDtvPGE7KytvKShyPWVbb10pLnZ4Kz0oaVtvXS1yLngpKm5bb10qdH1mdW5jdGlvbiBhKCl7aWYoZSl7dmFyIG8sYT1lLmxlbmd0aDtmb3Iobj1uZXcgQXJyYXkoYSksaT1uZXcgQXJyYXkoYSksbz0wO288YTsrK28pbltvXT1pc05hTihpW29dPSt0KGVbb10sbyxlKSk/MDorcihlW29dLG8sZSl9fXJldHVybiJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1YXyhudWxsPT10PzA6K3QpKSxvLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7ZT10LGEoKX0sby5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlhfKCt0KSxhKCksbyk6cn0sby54PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6WF8oK2UpLGEoKSxvKTp0fSxvfSxmb3JjZVk6ZnVuY3Rpb24gRkkodCl7dmFyIGUsbixpLHI9WF8oLjEpO2Z1bmN0aW9uIG8odCl7Zm9yKHZhciByLG89MCxhPWUubGVuZ3RoO288YTsrK28pKHI9ZVtvXSkudnkrPShpW29dLXIueSkqbltvXSp0fWZ1bmN0aW9uIGEoKXtpZihlKXt2YXIgbyxhPWUubGVuZ3RoO2ZvcihuPW5ldyBBcnJheShhKSxpPW5ldyBBcnJheShhKSxvPTA7bzxhOysrbyluW29dPWlzTmFOKGlbb109K3QoZVtvXSxvLGUpKT8wOityKGVbb10sbyxlKX19cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVhfKG51bGw9PXQ/MDordCkpLG8uaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtlPXQsYSgpfSxvLnN0cmVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6WF8oK3QpLGEoKSxvKTpyfSxvLnk9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpYXygrZSksYSgpLG8pOnR9LG99LGZvcm1hdERlZmF1bHRMb2NhbGU6VXksZ2V0IGZvcm1hdCgpe3JldHVybiBEeX0sZ2V0IGZvcm1hdFByZWZpeCgpe3JldHVybiBCeX0sZm9ybWF0TG9jYWxlOlZ5LGZvcm1hdFNwZWNpZmllcjpreSxGb3JtYXRTcGVjaWZpZXI6THkscHJlY2lzaW9uRml4ZWQ6ankscHJlY2lzaW9uUHJlZml4Okd5LHByZWNpc2lvblJvdW5kOld5LGdlb0FyZWE6ZnVuY3Rpb24gVkkodCl7cmV0dXJuIE52LnJlc2V0KCksRXYodCxJdiksMipOdn0sZ2VvQm91bmRzOmZ1bmN0aW9uIFVJKHQpe3ZhciBlLG4saSxyLG8sYSxzO2lmKFh2PVl2PS0oV3Y9cXY9MS8wKSxRdj1bXSxFdih0LHliKSxuPVF2Lmxlbmd0aCl7Zm9yKFF2LnNvcnQoQ2IpLGU9MSxvPVtpPVF2WzBdXTtlPG47KytlKUFiKGksKHI9UXZbZV0pWzBdKXx8QWIoaSxyWzFdKT8oVGIoaVswXSxyWzFdKT5UYihpWzBdLGlbMV0pJiYoaVsxXT1yWzFdKSxUYihyWzBdLGlbMV0pPlRiKGlbMF0saVsxXSkmJihpWzBdPXJbMF0pKTpvLnB1c2goaT1yKTtmb3IoYT0tMS8wLGU9MCxpPW9bbj1vLmxlbmd0aC0xXTtlPD1uO2k9ciwrK2UpKHM9VGIoaVsxXSwocj1vW2VdKVswXSkpPmEmJihhPXMsV3Y9clswXSxZdj1pWzFdKX1yZXR1cm4gUXY9dGI9bnVsbCxXdj09PTEvMHx8cXY9PT0xLzA/W1tOYU4sTmFOXSxbTmFOLE5hTl1dOltbV3YscXZdLFtZdixYdl1dfSxnZW9DZW50cm9pZDpmdW5jdGlvbiBqSSh0KXtlYj1uYj1pYj1yYj1vYj1hYj1zYj1sYj1jYj11Yj1oYj0wLEV2KHQsa2IpO3ZhciBlPWNiLG49dWIsaT1oYixyPWUqZStuKm4raSppO3JldHVybiByPFp5JiYoZT1hYixuPXNiLGk9bGIsbmI8S3kmJihlPWliLG49cmIsaT1vYiksKHI9ZSplK24qbitpKmkpPFp5KT9bTmFOLE5hTl06W2F2KG4sZSkqbnYsX3YoaS9mdihyKSkqbnZdfSxnZW9DaXJjbGU6ZnVuY3Rpb24gR0koKXt2YXIgdCxlLG49RmIoWzAsMF0pLGk9RmIoOTApLHI9RmIoNiksbz17cG9pbnQ6ZnVuY3Rpb24gYShuLGkpe3QucHVzaChuPWUobixpKSksblswXSo9bnYsblsxXSo9bnZ9fTtmdW5jdGlvbiBzKCl7dmFyIGE9bi5hcHBseSh0aGlzLGFyZ3VtZW50cykscz1pLmFwcGx5KHRoaXMsYXJndW1lbnRzKSppdixsPXIuYXBwbHkodGhpcyxhcmd1bWVudHMpKml2O3JldHVybiB0PVtdLGU9amIoLWFbMF0qaXYsLWFbMV0qaXYsMCkuaW52ZXJ0LFhiKG8scyxsLDEpLGE9e3R5cGU6IlBvbHlnb24iLGNvb3JkaW5hdGVzOlt0XX0sdD1lPW51bGwsYX1yZXR1cm4gcy5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpGYihbK3RbMF0sK3RbMV1dKSxzKTpufSxzLnJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkZiKCt0KSxzKTppfSxzLnByZWNpc2lvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkZiKCt0KSxzKTpyfSxzfSxnZW9DbGlwQW50aW1lcmlkaWFuOnN4LGdlb0NsaXBDaXJjbGU6dXgsZ2VvQ2xpcEV4dGVudDpmdW5jdGlvbiBXSSgpe3ZhciB0LGUsbixpPTAscj0wLG89OTYwLGE9NTAwO3JldHVybiBuPXtzdHJlYW06ZnVuY3Rpb24obil7cmV0dXJuIHQmJmU9PT1uP3Q6dD1weChpLHIsbyxhKShlPW4pfSxleHRlbnQ6ZnVuY3Rpb24ocyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9K3NbMF1bMF0scj0rc1swXVsxXSxvPStzWzFdWzBdLGE9K3NbMV1bMV0sdD1lPW51bGwsbik6W1tpLHJdLFtvLGFdXX19fSxnZW9DbGlwUmVjdGFuZ2xlOnB4LGdlb0NvbnRhaW5zOmZ1bmN0aW9uIHFJKHQsZSl7cmV0dXJuKHQmJkN4Lmhhc093blByb3BlcnR5KHQudHlwZSk/Q3hbdC50eXBlXTpreCkodCxlKX0sZ2VvRGlzdGFuY2U6VHgsZ2VvR3JhdGljdWxlOkR4LGdlb0dyYXRpY3VsZTEwOmZ1bmN0aW9uIFlJKCl7cmV0dXJuIER4KCkoKX0sZ2VvSW50ZXJwb2xhdGU6ZnVuY3Rpb24gWEkodCxlKXt2YXIgbj10WzBdKml2LGk9dFsxXSppdixyPWVbMF0qaXYsbz1lWzFdKml2LGE9c3YoaSkscz1kdihpKSxsPXN2KG8pLGM9ZHYobyksdT1hKnN2KG4pLGg9YSpkdihuKSxkPWwqc3YocikscD1sKmR2KHIpLGY9Mipfdihmdih5dihvLWkpK2EqbCp5dihyLW4pKSksbT1kdihmKSxnPWY/ZnVuY3Rpb24odCl7dmFyIGU9ZHYodCo9ZikvbSxuPWR2KGYtdCkvbSxpPW4qdStlKmQscj1uKmgrZSpwLG89bipzK2UqYztyZXR1cm5bYXYocixpKSpudixhdihvLGZ2KGkqaStyKnIpKSpudl19OmZ1bmN0aW9uKCl7cmV0dXJuW24qbnYsaSpudl19O3JldHVybiBnLmRpc3RhbmNlPWYsZ30sZ2VvTGVuZ3RoOlN4LGdlb1BhdGg6ZnVuY3Rpb24gJEkodCxlKXt2YXIgbixpLHI9NC41O2Z1bmN0aW9uIG8odCl7cmV0dXJuIHQmJigiZnVuY3Rpb24iPT10eXBlb2YgciYmaS5wb2ludFJhZGl1cygrci5hcHBseSh0aGlzLGFyZ3VtZW50cykpLEV2KHQsbihpKSkpLGkucmVzdWx0KCl9cmV0dXJuIG8uYXJlYT1mdW5jdGlvbih0KXtyZXR1cm4gRXYodCxuKEt4KSksS3gucmVzdWx0KCl9LG8ubWVhc3VyZT1mdW5jdGlvbih0KXtyZXR1cm4gRXYodCxuKER3KSksRHcucmVzdWx0KCl9LG8uYm91bmRzPWZ1bmN0aW9uKHQpe3JldHVybiBFdih0LG4ob3cpKSxvdy5yZXN1bHQoKX0sby5jZW50cm9pZD1mdW5jdGlvbih0KXtyZXR1cm4gRXYodCxuKFR3KSksVHcucmVzdWx0KCl9LG8ucHJvamVjdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1udWxsPT1lPyh0PW51bGwsQngpOih0PWUpLnN0cmVhbSxvKTp0fSxvLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9bnVsbD09dD8oZT1udWxsLG5ldyBCdyk6bmV3IEN3KGU9dCksImZ1bmN0aW9uIiE9dHlwZW9mIHImJmkucG9pbnRSYWRpdXMociksbyk6ZX0sby5wb2ludFJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OihpLnBvaW50UmFkaXVzKCt0KSwrdCksbyk6cn0sby5wcm9qZWN0aW9uKHQpLmNvbnRleHQoZSl9LGdlb0FsYmVyczppUyxnZW9BbGJlcnNVc2E6ZnVuY3Rpb24gS0koKXt2YXIgdCxlLG4saSxyLG8sYT1pUygpLHM9blMoKS5yb3RhdGUoWzE1NCwwXSkuY2VudGVyKFstMiw1OC41XSkucGFyYWxsZWxzKFs1NSw2NV0pLGw9blMoKS5yb3RhdGUoWzE1NywwXSkuY2VudGVyKFstMywxOS45XSkucGFyYWxsZWxzKFs4LDE4XSksYz17cG9pbnQ6ZnVuY3Rpb24odCxlKXtvPVt0LGVdfX07ZnVuY3Rpb24gdSh0KXt2YXIgZT10WzBdLGE9dFsxXTtyZXR1cm4gbz1udWxsLG4ucG9pbnQoZSxhKSxvfHwoaS5wb2ludChlLGEpLG8pfHwoci5wb2ludChlLGEpLG8pfWZ1bmN0aW9uIGgoKXtyZXR1cm4gdD1lPW51bGwsdX1yZXR1cm4gdS5pbnZlcnQ9ZnVuY3Rpb24odCl7dmFyIGU9YS5zY2FsZSgpLG49YS50cmFuc2xhdGUoKSxpPSh0WzBdLW5bMF0pL2Uscj0odFsxXS1uWzFdKS9lO3JldHVybihyPj0uMTImJnI8LjIzNCYmaT49LS40MjUmJmk8LS4yMTQ/czpyPj0uMTY2JiZyPC4yMzQmJmk+PS0uMjE0JiZpPC0uMTE1P2w6YSkuaW52ZXJ0KHQpfSx1LnN0cmVhbT1mdW5jdGlvbihuKXtyZXR1cm4gdCYmZT09PW4/dDp0PShmdW5jdGlvbiBpKHQpe3ZhciBlPXQubGVuZ3RoO3JldHVybntwb2ludDpmdW5jdGlvbihuLGkpe2Zvcih2YXIgcj0tMTsrK3I8ZTspdFtyXS5wb2ludChuLGkpfSxzcGhlcmU6ZnVuY3Rpb24oKXtmb3IodmFyIG49LTE7KytuPGU7KXRbbl0uc3BoZXJlKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe2Zvcih2YXIgbj0tMTsrK248ZTspdFtuXS5saW5lU3RhcnQoKX0sbGluZUVuZDpmdW5jdGlvbigpe2Zvcih2YXIgbj0tMTsrK248ZTspdFtuXS5saW5lRW5kKCl9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2Zvcih2YXIgbj0tMTsrK248ZTspdFtuXS5wb2x5Z29uU3RhcnQoKX0scG9seWdvbkVuZDpmdW5jdGlvbigpe2Zvcih2YXIgbj0tMTsrK248ZTspdFtuXS5wb2x5Z29uRW5kKCl9fX0pKFthLnN0cmVhbShlPW4pLHMuc3RyZWFtKG4pLGwuc3RyZWFtKG4pXSl9LHUucHJlY2lzaW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhLnByZWNpc2lvbih0KSxzLnByZWNpc2lvbih0KSxsLnByZWNpc2lvbih0KSxoKCkpOmEucHJlY2lzaW9uKCl9LHUuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGEuc2NhbGUodCkscy5zY2FsZSguMzUqdCksbC5zY2FsZSh0KSx1LnRyYW5zbGF0ZShhLnRyYW5zbGF0ZSgpKSk6YS5zY2FsZSgpfSx1LnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gYS50cmFuc2xhdGUoKTt2YXIgZT1hLnNjYWxlKCksbz0rdFswXSx1PSt0WzFdO3JldHVybiBuPWEudHJhbnNsYXRlKHQpLmNsaXBFeHRlbnQoW1tvLS40NTUqZSx1LS4yMzgqZV0sW28rLjQ1NSplLHUrLjIzOCplXV0pLnN0cmVhbShjKSxpPXMudHJhbnNsYXRlKFtvLS4zMDcqZSx1Ky4yMDEqZV0pLmNsaXBFeHRlbnQoW1tvLS40MjUqZStLeSx1Ky4xMiplK0t5XSxbby0uMjE0KmUtS3ksdSsuMjM0KmUtS3ldXSkuc3RyZWFtKGMpLHI9bC50cmFuc2xhdGUoW28tLjIwNSplLHUrLjIxMiplXSkuY2xpcEV4dGVudChbW28tLjIxNCplK0t5LHUrLjE2NiplK0t5XSxbby0uMTE1KmUtS3ksdSsuMjM0KmUtS3ldXSkuc3RyZWFtKGMpLGgoKX0sdS5maXRFeHRlbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gancodSx0LGUpfSx1LmZpdFNpemU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gR3codSx0LGUpfSx1LmZpdFdpZHRoPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFd3KHUsdCxlKX0sdS5maXRIZWlnaHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gcXcodSx0LGUpfSx1LnNjYWxlKDEwNzApfSxnZW9BemltdXRoYWxFcXVhbEFyZWE6ZnVuY3Rpb24gWkkoKXtyZXR1cm4gSncoYVMpLnNjYWxlKDEyNC43NSkuY2xpcEFuZ2xlKDE3OS45OTkpfSxnZW9BemltdXRoYWxFcXVhbEFyZWFSYXc6YVMsZ2VvQXppbXV0aGFsRXF1aWRpc3RhbnQ6ZnVuY3Rpb24gSkkoKXtyZXR1cm4gSncoc1MpLnNjYWxlKDc5LjQxODgpLmNsaXBBbmdsZSgxNzkuOTk5KX0sZ2VvQXppbXV0aGFsRXF1aWRpc3RhbnRSYXc6c1MsZ2VvQ29uaWNDb25mb3JtYWw6ZnVuY3Rpb24gUUkoKXtyZXR1cm4gdFMoaFMpLnNjYWxlKDEwOS41KS5wYXJhbGxlbHMoWzMwLDMwXSl9LGdlb0NvbmljQ29uZm9ybWFsUmF3OmhTLGdlb0NvbmljRXF1YWxBcmVhOm5TLGdlb0NvbmljRXF1YWxBcmVhUmF3OmVTLGdlb0NvbmljRXF1aWRpc3RhbnQ6ZnVuY3Rpb24gdFIoKXtyZXR1cm4gdFMocFMpLnNjYWxlKDEzMS4xNTQpLmNlbnRlcihbMCwxMy45Mzg5XSl9LGdlb0NvbmljRXF1aWRpc3RhbnRSYXc6cFMsZ2VvRXF1YWxFYXJ0aDpmdW5jdGlvbiBlUigpe3JldHVybiBKdyh2Uykuc2NhbGUoMTc3LjE1OCl9LGdlb0VxdWFsRWFydGhSYXc6dlMsZ2VvRXF1aXJlY3Rhbmd1bGFyOmZ1bmN0aW9uIG5SKCl7cmV0dXJuIEp3KGRTKS5zY2FsZSgxNTIuNjMpfSxnZW9FcXVpcmVjdGFuZ3VsYXJSYXc6ZFMsZ2VvR25vbW9uaWM6ZnVuY3Rpb24gaVIoKXtyZXR1cm4gSncoYlMpLnNjYWxlKDE0NC4wNDkpLmNsaXBBbmdsZSg2MCl9LGdlb0dub21vbmljUmF3OmJTLGdlb0lkZW50aXR5OmZ1bmN0aW9uIHJSKCl7dmFyIHQsZSxuLGkscixvLGEscz0xLGw9MCxjPTAsdT0xLGg9MSxkPTAscD1udWxsLGY9MSxtPTEsZz1Gdyh7cG9pbnQ6ZnVuY3Rpb24odCxlKXt2YXIgbj12KFt0LGVdKTt0aGlzLnN0cmVhbS5wb2ludChuWzBdLG5bMV0pfX0pLF89Qng7ZnVuY3Rpb24geSgpe3JldHVybiBmPXMqdSxtPXMqaCxvPWE9bnVsbCx2fWZ1bmN0aW9uIHYobil7dmFyIGk9blswXSpmLHI9blsxXSptO2lmKGQpe3ZhciBvPXIqdC1pKmU7aT1pKnQrciplLHI9b31yZXR1cm5baStsLHIrY119cmV0dXJuIHYuaW52ZXJ0PWZ1bmN0aW9uKG4pe3ZhciBpPW5bMF0tbCxyPW5bMV0tYztpZihkKXt2YXIgbz1yKnQraSplO2k9aSp0LXIqZSxyPW99cmV0dXJuW2kvZixyL21dfSx2LnN0cmVhbT1mdW5jdGlvbih0KXtyZXR1cm4gbyYmYT09PXQ/bzpvPWcoXyhhPXQpKX0sdi5wb3N0Y2xpcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oXz10LHA9bj1pPXI9bnVsbCx5KCkpOl99LHYuY2xpcEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oXz1udWxsPT10PyhwPW49aT1yPW51bGwsQngpOnB4KHA9K3RbMF1bMF0sbj0rdFswXVsxXSxpPSt0WzFdWzBdLHI9K3RbMV1bMV0pLHkoKSk6bnVsbD09cD9udWxsOltbcCxuXSxbaSxyXV19LHYuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9K3QseSgpKTpzfSx2LnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD0rdFswXSxjPSt0WzFdLHkoKSk6W2wsY119LHYuYW5nbGU9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ZHYoZD1uJTM2MCppdiksdD1zdihkKSx5KCkpOmQqbnZ9LHYucmVmbGVjdFg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHU9dD8tMToxLHkoKSk6dTwwfSx2LnJlZmxlY3RZPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPXQ/LTE6MSx5KCkpOmg8MH0sdi5maXRFeHRlbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gancodix0LGUpfSx2LmZpdFNpemU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gR3codix0LGUpfSx2LmZpdFdpZHRoPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFd3KHYsdCxlKX0sdi5maXRIZWlnaHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gcXcodix0LGUpfSx2fSxnZW9Qcm9qZWN0aW9uOkp3LGdlb1Byb2plY3Rpb25NdXRhdG9yOlF3LGdlb01lcmNhdG9yOmZ1bmN0aW9uIG9SKCl7cmV0dXJuIGNTKGxTKS5zY2FsZSg5NjEvZXYpfSxnZW9NZXJjYXRvclJhdzpsUyxnZW9OYXR1cmFsRWFydGgxOmZ1bmN0aW9uIGFSKCl7cmV0dXJuIEp3KHhTKS5zY2FsZSgxNzUuMjk1KX0sZ2VvTmF0dXJhbEVhcnRoMVJhdzp4UyxnZW9PcnRob2dyYXBoaWM6ZnVuY3Rpb24gc1IoKXtyZXR1cm4gSncod1MpLnNjYWxlKDI0OS41KS5jbGlwQW5nbGUoOTAuMDAwMDAxKX0sZ2VvT3J0aG9ncmFwaGljUmF3OndTLGdlb1N0ZXJlb2dyYXBoaWM6ZnVuY3Rpb24gbFIoKXtyZXR1cm4gSncoU1MpLnNjYWxlKDI1MCkuY2xpcEFuZ2xlKDE0Mil9LGdlb1N0ZXJlb2dyYXBoaWNSYXc6U1MsZ2VvVHJhbnN2ZXJzZU1lcmNhdG9yOmZ1bmN0aW9uIGNSKCl7dmFyIHQ9Y1MoTVMpLGU9dC5jZW50ZXIsbj10LnJvdGF0ZTtyZXR1cm4gdC5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/ZShbLXRbMV0sdFswXV0pOlsodD1lKCkpWzFdLC10WzBdXX0sdC5yb3RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/bihbdFswXSx0WzFdLHQubGVuZ3RoPjI/dFsyXSs5MDo5MF0pOlsodD1uKCkpWzBdLHRbMV0sdFsyXS05MF19LG4oWzAsMCw5MF0pLnNjYWxlKDE1OS4xNTUpfSxnZW9UcmFuc3ZlcnNlTWVyY2F0b3JSYXc6TVMsZ2VvUm90YXRpb246WWIsZ2VvU3RyZWFtOkV2LGdlb1RyYW5zZm9ybTpmdW5jdGlvbiB1Uih0KXtyZXR1cm57c3RyZWFtOkZ3KHQpfX0sY2x1c3RlcjpmdW5jdGlvbiBoUigpe3ZhciB0PUVTLGU9MSxuPTEsaT0hMTtmdW5jdGlvbiByKHIpe3ZhciBvLGE9MDtyLmVhY2hBZnRlcigoZnVuY3Rpb24oZSl7dmFyIG49ZS5jaGlsZHJlbjtuPyhlLng9KGZ1bmN0aW9uIGkodCl7cmV0dXJuIHQucmVkdWNlKFRTLDApL3QubGVuZ3RofSkobiksZS55PShmdW5jdGlvbiByKHQpe3JldHVybiAxK3QucmVkdWNlKENTLDApfSkobikpOihlLng9bz9hKz10KGUsbyk6MCxlLnk9MCxvPWUpfSkpO3ZhciBzPShmdW5jdGlvbiBsKHQpe2Zvcih2YXIgZTtlPXQuY2hpbGRyZW47KXQ9ZVswXTtyZXR1cm4gdH0pKHIpLGM9KGZ1bmN0aW9uIHUodCl7Zm9yKHZhciBlO2U9dC5jaGlsZHJlbjspdD1lW2UubGVuZ3RoLTFdO3JldHVybiB0fSkociksaD1zLngtdChzLGMpLzIsZD1jLngrdChjLHMpLzI7cmV0dXJuIHIuZWFjaEFmdGVyKGk/ZnVuY3Rpb24odCl7dC54PSh0Lngtci54KSplLHQueT0oci55LXQueSkqbn06ZnVuY3Rpb24odCl7dC54PSh0LngtaCkvKGQtaCkqZSx0Lnk9KDEtKHIueT90Lnkvci55OjEpKSpufSl9cmV0dXJuIHIuc2VwYXJhdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1lLHIpOnR9LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0hMSxlPSt0WzBdLG49K3RbMV0scik6aT9udWxsOltlLG5dfSxyLm5vZGVTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSEwLGU9K3RbMF0sbj0rdFsxXSxyKTppP1tlLG5dOm51bGx9LHJ9LGhpZXJhcmNoeTprUyxwYWNrOmZ1bmN0aW9uIGRSKCl7dmFyIHQ9bnVsbCxlPTEsbj0xLGk9bE07ZnVuY3Rpb24gcihyKXtyZXR1cm4gci54PWUvMixyLnk9bi8yLHQ/ci5lYWNoQmVmb3JlKGhNKHQpKS5lYWNoQWZ0ZXIoZE0oaSwuNSkpLmVhY2hCZWZvcmUocE0oMSkpOnIuZWFjaEJlZm9yZShoTSh1TSkpLmVhY2hBZnRlcihkTShsTSwxKSkuZWFjaEFmdGVyKGRNKGksci5yL01hdGgubWluKGUsbikpKS5lYWNoQmVmb3JlKHBNKE1hdGgubWluKGUsbikvKDIqci5yKSkpLHJ9cmV0dXJuIHIucmFkaXVzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWFNKGUpLHIpOnR9LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdFswXSxuPSt0WzFdLHIpOltlLG5dfSxyLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpjTSgrdCkscik6aX0scn0scGFja1NpYmxpbmdzOmZ1bmN0aW9uIHBSKHQpe3JldHVybiBvTSh0KSx0fSxwYWNrRW5jbG9zZTpZUyxwYXJ0aXRpb246ZnVuY3Rpb24gZlIoKXt2YXIgdD0xLGU9MSxuPTAsaT0hMTtmdW5jdGlvbiByKHIpe3ZhciBvPXIuaGVpZ2h0KzE7cmV0dXJuIHIueDA9ci55MD1uLHIueDE9dCxyLnkxPWUvbyxyLmVhY2hCZWZvcmUoKGZ1bmN0aW9uIGEodCxlKXtyZXR1cm4gZnVuY3Rpb24oaSl7aS5jaGlsZHJlbiYmbU0oaSxpLngwLHQqKGkuZGVwdGgrMSkvZSxpLngxLHQqKGkuZGVwdGgrMikvZSk7dmFyIHI9aS54MCxvPWkueTAsYT1pLngxLW4scz1pLnkxLW47YTxyJiYocj1hPShyK2EpLzIpLHM8byYmKG89cz0obytzKS8yKSxpLngwPXIsaS55MD1vLGkueDE9YSxpLnkxPXN9fSkoZSxvKSksaSYmci5lYWNoQmVmb3JlKGZNKSxyfXJldHVybiByLnJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSEhdCxyKTppfSxyLnNpemU9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9K25bMF0sZT0rblsxXSxyKTpbdCxlXX0sci5wYWRkaW5nPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSt0LHIpOm59LHJ9LHN0cmF0aWZ5OmZ1bmN0aW9uIG1SKCl7dmFyIHQ9eU0sZT12TTtmdW5jdGlvbiBuKG4pe3ZhciBpLHIsbyxhLHMsbCxjLHU9bi5sZW5ndGgsaD1uZXcgQXJyYXkodSksZD17fTtmb3Iocj0wO3I8dTsrK3Ipcz1oW3JdPW5ldyBJUyhpPW5bcl0pLG51bGwhPShsPXQoaSxyLG4pKSYmKGwrPSIiKSYmKGRbYz0iJCIrKHMuaWQ9bCldPWMgaW4gZD9fTTpzKTtmb3Iocj0wO3I8dTsrK3IpaWYocz1oW3JdLG51bGwhPShsPWUobltyXSxyLG4pKSYmKGwrPSIiKSl7aWYoIShhPWRbIiQiK2xdKSl0aHJvdyBuZXcgRXJyb3IoIm1pc3Npbmc6ICIrbCk7aWYoYT09PV9NKXRocm93IG5ldyBFcnJvcigiYW1iaWd1b3VzOiAiK2wpO2EuY2hpbGRyZW4/YS5jaGlsZHJlbi5wdXNoKHMpOmEuY2hpbGRyZW49W3NdLHMucGFyZW50PWF9ZWxzZXtpZihvKXRocm93IG5ldyBFcnJvcigibXVsdGlwbGUgcm9vdHMiKTtvPXN9aWYoIW8pdGhyb3cgbmV3IEVycm9yKCJubyByb290Iik7aWYoby5wYXJlbnQ9Z00sby5lYWNoQmVmb3JlKChmdW5jdGlvbih0KXt0LmRlcHRoPXQucGFyZW50LmRlcHRoKzEsLS11fSkpLmVhY2hCZWZvcmUoTlMpLG8ucGFyZW50PW51bGwsdT4wKXRocm93IG5ldyBFcnJvcigiY3ljbGUiKTtyZXR1cm4gb31yZXR1cm4gbi5pZD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1zTShlKSxuKTp0fSxuLnBhcmVudElkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXNNKHQpLG4pOmV9LG59LHRyZWU6ZnVuY3Rpb24gZ1IoKXt2YXIgdD1iTSxlPTEsbj0xLGk9bnVsbDtmdW5jdGlvbiByKHIpe3ZhciBsPShmdW5jdGlvbiBjKHQpe2Zvcih2YXIgZSxuLGkscixvLGE9bmV3IEVNKHQsMCkscz1bYV07ZT1zLnBvcCgpOylpZihpPWUuXy5jaGlsZHJlbilmb3IoZS5jaGlsZHJlbj1uZXcgQXJyYXkobz1pLmxlbmd0aCkscj1vLTE7cj49MDstLXIpcy5wdXNoKG49ZS5jaGlsZHJlbltyXT1uZXcgRU0oaVtyXSxyKSksbi5wYXJlbnQ9ZTtyZXR1cm4oYS5wYXJlbnQ9bmV3IEVNKG51bGwsMCkpLmNoaWxkcmVuPVthXSxhfSkocik7aWYobC5lYWNoQWZ0ZXIobyksbC5wYXJlbnQubT0tbC56LGwuZWFjaEJlZm9yZShhKSxpKXIuZWFjaEJlZm9yZShzKTtlbHNle3ZhciB1PXIsaD1yLGQ9cjtyLmVhY2hCZWZvcmUoKGZ1bmN0aW9uKHQpe3QueDx1LngmJih1PXQpLHQueD5oLngmJihoPXQpLHQuZGVwdGg+ZC5kZXB0aCYmKGQ9dCl9KSk7dmFyIHA9dT09PWg/MTp0KHUsaCkvMixmPXAtdS54LG09ZS8oaC54K3ArZiksZz1uLyhkLmRlcHRofHwxKTtyLmVhY2hCZWZvcmUoKGZ1bmN0aW9uKHQpe3QueD0odC54K2YpKm0sdC55PXQuZGVwdGgqZ30pKX1yZXR1cm4gcn1mdW5jdGlvbiBvKGUpe3ZhciBuPWUuY2hpbGRyZW4saT1lLnBhcmVudC5jaGlsZHJlbixyPWUuaT9pW2UuaS0xXTpudWxsO2lmKG4peyEoZnVuY3Rpb24gbyh0KXtmb3IodmFyIGUsbj0wLGk9MCxyPXQuY2hpbGRyZW4sbz1yLmxlbmd0aDstLW8+PTA7KShlPXJbb10pLnorPW4sZS5tKz1uLG4rPWUucysoaSs9ZS5jKX0pKGUpO3ZhciBhPShuWzBdLnorbltuLmxlbmd0aC0xXS56KS8yO3I/KGUuej1yLnordChlLl8sci5fKSxlLm09ZS56LWEpOmUuej1hfWVsc2UgciYmKGUuej1yLnordChlLl8sci5fKSk7ZS5wYXJlbnQuQT0oZnVuY3Rpb24gcyhlLG4saSl7aWYobil7Zm9yKHZhciByLG89ZSxhPWUscz1uLGw9by5wYXJlbnQuY2hpbGRyZW5bMF0sYz1vLm0sdT1hLm0saD1zLm0sZD1sLm07cz13TShzKSxvPXhNKG8pLHMmJm87KWw9eE0obCksKGE9d00oYSkpLmE9ZSwocj1zLnoraC1vLnotYyt0KHMuXyxvLl8pKT4wJiYoU00oTU0ocyxlLGkpLGUsciksYys9cix1Kz1yKSxoKz1zLm0sYys9by5tLGQrPWwubSx1Kz1hLm07cyYmIXdNKGEpJiYoYS50PXMsYS5tKz1oLXUpLG8mJiF4TShsKSYmKGwudD1vLGwubSs9Yy1kLGk9ZSl9cmV0dXJuIGl9KShlLHIsZS5wYXJlbnQuQXx8aVswXSl9ZnVuY3Rpb24gYSh0KXt0Ll8ueD10LnordC5wYXJlbnQubSx0Lm0rPXQucGFyZW50Lm19ZnVuY3Rpb24gcyh0KXt0LngqPWUsdC55PXQuZGVwdGgqbn1yZXR1cm4gci5zZXBhcmF0aW9uPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUscik6dH0sci5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSExLGU9K3RbMF0sbj0rdFsxXSxyKTppP251bGw6W2Usbl19LHIubm9kZVNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ITAsZT0rdFswXSxuPSt0WzFdLHIpOmk/W2Usbl06bnVsbH0scn0sdHJlZW1hcDpmdW5jdGlvbiBfUigpe3ZhciB0PWtNLGU9ITEsbj0xLGk9MSxyPVswXSxvPWxNLGE9bE0scz1sTSxsPWxNLGM9bE07ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdC54MD10LnkwPTAsdC54MT1uLHQueTE9aSx0LmVhY2hCZWZvcmUoaCkscj1bMF0sZSYmdC5lYWNoQmVmb3JlKGZNKSx0fWZ1bmN0aW9uIGgoZSl7dmFyIG49cltlLmRlcHRoXSxpPWUueDArbix1PWUueTArbixoPWUueDEtbixkPWUueTEtbjtoPGkmJihpPWg9KGkraCkvMiksZDx1JiYodT1kPSh1K2QpLzIpLGUueDA9aSxlLnkwPXUsZS54MT1oLGUueTE9ZCxlLmNoaWxkcmVuJiYobj1yW2UuZGVwdGgrMV09byhlKS8yLGkrPWMoZSktbix1Kz1hKGUpLW4sKGgtPXMoZSktbik8aSYmKGk9aD0oaStoKS8yKSwoZC09bChlKS1uKTx1JiYodT1kPSh1K2QpLzIpLHQoZSxpLHUsaCxkKSl9cmV0dXJuIHUucm91bmQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ISF0LHUpOmV9LHUuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdFswXSxpPSt0WzFdLHUpOltuLGldfSx1LnRpbGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9c00oZSksdSk6dH0sdS5wYWRkaW5nPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3UucGFkZGluZ0lubmVyKHQpLnBhZGRpbmdPdXRlcih0KTp1LnBhZGRpbmdJbm5lcigpfSx1LnBhZGRpbmdJbm5lcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmNNKCt0KSx1KTpvfSx1LnBhZGRpbmdPdXRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD91LnBhZGRpbmdUb3AodCkucGFkZGluZ1JpZ2h0KHQpLnBhZGRpbmdCb3R0b20odCkucGFkZGluZ0xlZnQodCk6dS5wYWRkaW5nVG9wKCl9LHUucGFkZGluZ1RvcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmNNKCt0KSx1KTphfSx1LnBhZGRpbmdSaWdodD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmNNKCt0KSx1KTpzfSx1LnBhZGRpbmdCb3R0b209ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpjTSgrdCksdSk6bH0sdS5wYWRkaW5nTGVmdD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmNNKCt0KSx1KTpjfSx1fSx0cmVlbWFwQmluYXJ5OmZ1bmN0aW9uIHlSKHQsZSxuLGkscil7dmFyIG8sYSxzPXQuY2hpbGRyZW4sbD1zLmxlbmd0aCxjPW5ldyBBcnJheShsKzEpO2ZvcihjWzBdPWE9bz0wO288bDsrK28pY1tvKzFdPWErPXNbb10udmFsdWU7IShmdW5jdGlvbiB0KGUsbixpLHIsbyxhLGwpe2lmKGU+PW4tMSl7dmFyIHU9c1tlXTtyZXR1cm4gdS54MD1yLHUueTA9byx1LngxPWEsdm9pZCh1LnkxPWwpfXZhciBoPWNbZV0sZD1pLzIraCxwPWUrMSxmPW4tMTtmb3IoO3A8Zjspe3ZhciBtPXArZj4+PjE7Y1ttXTxkP3A9bSsxOmY9bX1kLWNbcC0xXTxjW3BdLWQmJmUrMTxwJiYtLXA7dmFyIGc9Y1twXS1oLF89aS1nO2lmKGEtcj5sLW8pe3ZhciB5PShyKl8rYSpnKS9pO3QoZSxwLGcscixvLHksbCksdChwLG4sXyx5LG8sYSxsKX1lbHNle3ZhciB2PShvKl8rbCpnKS9pO3QoZSxwLGcscixvLGEsdiksdChwLG4sXyxyLHYsYSxsKX19KSgwLGwsdC52YWx1ZSxlLG4saSxyKX0sdHJlZW1hcERpY2U6bU0sdHJlZW1hcFNsaWNlOlRNLHRyZWVtYXBTbGljZURpY2U6ZnVuY3Rpb24gdlIodCxlLG4saSxyKXsoMSZ0LmRlcHRoP1RNOm1NKSh0LGUsbixpLHIpfSx0cmVlbWFwU3F1YXJpZnk6a00sdHJlZW1hcFJlc3F1YXJpZnk6TE0saW50ZXJwb2xhdGU6Y3AsaW50ZXJwb2xhdGVBcnJheTpmdW5jdGlvbiBiUih0LGUpe3JldHVybihlcChlKT90cDpucCkodCxlKX0saW50ZXJwb2xhdGVCYXNpczpqZCxpbnRlcnBvbGF0ZUJhc2lzQ2xvc2VkOkdkLGludGVycG9sYXRlRGF0ZTppcCxpbnRlcnBvbGF0ZURpc2NyZXRlOmZ1bmN0aW9uIHhSKHQpe3ZhciBlPXQubGVuZ3RoO3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdFtNYXRoLm1heCgwLE1hdGgubWluKGUtMSxNYXRoLmZsb29yKG4qZSkpKV19fSxpbnRlcnBvbGF0ZUh1ZTpmdW5jdGlvbiB3Uih0LGUpe3ZhciBuPVlkKCt0LCtlKTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9bih0KTtyZXR1cm4gZS0zNjAqTWF0aC5mbG9vcihlLzM2MCl9fSxpbnRlcnBvbGF0ZU51bWJlcjpycCxpbnRlcnBvbGF0ZU51bWJlckFycmF5OnRwLGludGVycG9sYXRlT2JqZWN0Om9wLGludGVycG9sYXRlUm91bmQ6dXAsaW50ZXJwb2xhdGVTdHJpbmc6bHAsaW50ZXJwb2xhdGVUcmFuc2Zvcm1Dc3M6dnAsaW50ZXJwb2xhdGVUcmFuc2Zvcm1Tdmc6eHAsaW50ZXJwb2xhdGVab29tOkVwLGludGVycG9sYXRlUmdiOktkLGludGVycG9sYXRlUmdiQmFzaXM6SmQsaW50ZXJwb2xhdGVSZ2JCYXNpc0Nsb3NlZDpRZCxpbnRlcnBvbGF0ZUhzbDpDcCxpbnRlcnBvbGF0ZUhzbExvbmc6QXAsaW50ZXJwb2xhdGVMYWI6a3AsaW50ZXJwb2xhdGVIY2w6UHAsaW50ZXJwb2xhdGVIY2xMb25nOk5wLGludGVycG9sYXRlQ3ViZWhlbGl4OlJwLGludGVycG9sYXRlQ3ViZWhlbGl4TG9uZzpPcCxwaWVjZXdpc2U6ZnVuY3Rpb24gU1IodCxlKXtmb3IodmFyIG49MCxpPWUubGVuZ3RoLTEscj1lWzBdLG89bmV3IEFycmF5KGk8MD8wOmkpO248aTspb1tuXT10KHIscj1lWysrbl0pO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT1NYXRoLm1heCgwLE1hdGgubWluKGktMSxNYXRoLmZsb29yKHQqPWkpKSk7cmV0dXJuIG9bZV0odC1lKX19LHF1YW50aXplOmZ1bmN0aW9uIE1SKHQsZSl7Zm9yKHZhciBuPW5ldyBBcnJheShlKSxpPTA7aTxlOysraSluW2ldPXQoaS8oZS0xKSk7cmV0dXJuIG59LHBhdGg6T2cscG9seWdvbkFyZWE6ZnVuY3Rpb24gRVIodCl7Zm9yKHZhciBlLG49LTEsaT10Lmxlbmd0aCxyPXRbaS0xXSxvPTA7KytuPGk7KW8rPShlPXIpWzFdKihyPXRbbl0pWzBdLWVbMF0qclsxXTtyZXR1cm4gby8yfSxwb2x5Z29uQ2VudHJvaWQ6ZnVuY3Rpb24gVFIodCl7Zm9yKHZhciBlLG4saT0tMSxyPXQubGVuZ3RoLG89MCxhPTAscz10W3ItMV0sbD0wOysraTxyOylsKz1uPShlPXMpWzBdKihzPXRbaV0pWzFdLXNbMF0qZVsxXSxvKz0oZVswXStzWzBdKSpuLGErPShlWzFdK3NbMV0pKm47cmV0dXJuW28vKGwqPTMpLGEvbF19LHBvbHlnb25IdWxsOmZ1bmN0aW9uIENSKHQpe2lmKChuPXQubGVuZ3RoKTwzKXJldHVybiBudWxsO3ZhciBlLG4saT1uZXcgQXJyYXkobikscj1uZXcgQXJyYXkobik7Zm9yKGU9MDtlPG47KytlKWlbZV09Wyt0W2VdWzBdLCt0W2VdWzFdLGVdO2ZvcihpLnNvcnQoTk0pLGU9MDtlPG47KytlKXJbZV09W2lbZV1bMF0sLWlbZV1bMV1dO3ZhciBvPUlNKGkpLGE9SU0ocikscz1hWzBdPT09b1swXSxsPWFbYS5sZW5ndGgtMV09PT1vW28ubGVuZ3RoLTFdLGM9W107Zm9yKGU9by5sZW5ndGgtMTtlPj0wOy0tZSljLnB1c2godFtpW29bZV1dWzJdXSk7Zm9yKGU9K3M7ZTxhLmxlbmd0aC1sOysrZSljLnB1c2godFtpW2FbZV1dWzJdXSk7cmV0dXJuIGN9LHBvbHlnb25Db250YWluczpmdW5jdGlvbiBBUih0LGUpe2Zvcih2YXIgbixpLHI9dC5sZW5ndGgsbz10W3ItMV0sYT1lWzBdLHM9ZVsxXSxsPW9bMF0sYz1vWzFdLHU9ITEsaD0wO2g8cjsrK2gpbj0obz10W2hdKVswXSwoaT1vWzFdKT5zIT1jPnMmJmE8KGwtbikqKHMtaSkvKGMtaSkrbiYmKHU9IXUpLGw9bixjPWk7cmV0dXJuIHV9LHBvbHlnb25MZW5ndGg6ZnVuY3Rpb24ga1IodCl7Zm9yKHZhciBlLG4saT0tMSxyPXQubGVuZ3RoLG89dFtyLTFdLGE9b1swXSxzPW9bMV0sbD0wOysraTxyOyllPWEsbj1zLGUtPWE9KG89dFtpXSlbMF0sbi09cz1vWzFdLGwrPU1hdGguc3FydChlKmUrbipuKTtyZXR1cm4gbH0scXVhZHRyZWU6dHkscmFuZG9tVW5pZm9ybTpPTSxyYW5kb21Ob3JtYWw6ek0scmFuZG9tTG9nTm9ybWFsOkRNLHJhbmRvbUJhdGVzOkhNLHJhbmRvbUlyd2luSGFsbDpCTSxyYW5kb21FeHBvbmVudGlhbDpGTSxzY2FsZUJhbmQ6WE0sc2NhbGVQb2ludDpLTSxzY2FsZUlkZW50aXR5OmZ1bmN0aW9uIHQoZSl7dmFyIG47ZnVuY3Rpb24gaSh0KXtyZXR1cm4gaXNOYU4odD0rdCk/bjp0fXJldHVybiBpLmludmVydD1pLGkuZG9tYWluPWkucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9R00uY2FsbCh0LFpNKSxpKTplLnNsaWNlKCl9LGkudW5rbm93bj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LGkpOm59LGkuY29weT1mdW5jdGlvbigpe3JldHVybiB0KGUpLnVua25vd24obil9LGU9YXJndW1lbnRzLmxlbmd0aD9HTS5jYWxsKGUsWk0pOlswLDFdLGxFKGkpfSxzY2FsZUxpbmVhcjpjRSxzY2FsZUxvZzp5RSxzY2FsZVN5bWxvZzpmdW5jdGlvbiB0KCl7dmFyIGU9eEUob0UoKSk7cmV0dXJuIGUuY29weT1mdW5jdGlvbigpe3JldHVybiByRShlLHQoKSkuY29uc3RhbnQoZS5jb25zdGFudCgpKX0sVk0uYXBwbHkoZSxhcmd1bWVudHMpfSxzY2FsZU9yZGluYWw6WU0sc2NhbGVJbXBsaWNpdDpxTSxzY2FsZVBvdzpURSxzY2FsZVNxcnQ6ZnVuY3Rpb24gTFIoKXtyZXR1cm4gVEUuYXBwbHkobnVsbCxhcmd1bWVudHMpLmV4cG9uZW50KC41KX0sc2NhbGVRdWFudGlsZTpDRSxzY2FsZVF1YW50aXplOkFFLHNjYWxlVGhyZXNob2xkOmZ1bmN0aW9uIHQoKXt2YXIgZSxuPVsuNV0saT1bMCwxXSxyPTE7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gdDw9dD9pW0RsKG4sdCwwLHIpXTplfXJldHVybiBvLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1XTS5jYWxsKHQpLHI9TWF0aC5taW4obi5sZW5ndGgsaS5sZW5ndGgtMSksbyk6bi5zbGljZSgpfSxvLnJhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPVdNLmNhbGwodCkscj1NYXRoLm1pbihuLmxlbmd0aCxpLmxlbmd0aC0xKSxvKTppLnNsaWNlKCl9LG8uaW52ZXJ0RXh0ZW50PWZ1bmN0aW9uKHQpe3ZhciBlPWkuaW5kZXhPZih0KTtyZXR1cm5bbltlLTFdLG5bZV1dfSxvLnVua25vd249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxvKTplfSxvLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLmRvbWFpbihuKS5yYW5nZShpKS51bmtub3duKGUpfSxWTS5hcHBseShvLGFyZ3VtZW50cyl9LHNjYWxlVGltZTp6QSxzY2FsZVV0YzpmdW5jdGlvbiBQUigpe3JldHVybiBWTS5hcHBseShPQShZVCxHVCxrVCxUVCxTVCxiVCxWRSxJRSxuQykuZG9tYWluKFtEYXRlLlVUQygyZTMsMCwxKSxEYXRlLlVUQygyZTMsMCwyKV0pLGFyZ3VtZW50cyl9LHNjYWxlU2VxdWVudGlhbDpmdW5jdGlvbiB0KCl7dmFyIGU9bEUoREEoKShRTSkpO3JldHVybiBlLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gQkEoZSx0KCkpfSxVTS5hcHBseShlLGFyZ3VtZW50cyl9LHNjYWxlU2VxdWVudGlhbExvZzpmdW5jdGlvbiB0KCl7dmFyIGU9X0UoREEoKSkuZG9tYWluKFsxLDEwXSk7cmV0dXJuIGUuY29weT1mdW5jdGlvbigpe3JldHVybiBCQShlLHQoKSkuYmFzZShlLmJhc2UoKSl9LFVNLmFwcGx5KGUsYXJndW1lbnRzKX0sc2NhbGVTZXF1ZW50aWFsUG93OkhBLHNjYWxlU2VxdWVudGlhbFNxcnQ6ZnVuY3Rpb24gTlIoKXtyZXR1cm4gSEEuYXBwbHkobnVsbCxhcmd1bWVudHMpLmV4cG9uZW50KC41KX0sc2NhbGVTZXF1ZW50aWFsU3ltbG9nOmZ1bmN0aW9uIHQoKXt2YXIgZT14RShEQSgpKTtyZXR1cm4gZS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIEJBKGUsdCgpKS5jb25zdGFudChlLmNvbnN0YW50KCkpfSxVTS5hcHBseShlLGFyZ3VtZW50cyl9LHNjYWxlU2VxdWVudGlhbFF1YW50aWxlOmZ1bmN0aW9uIHQoKXt2YXIgZT1bXSxuPVFNO2Z1bmN0aW9uIGkodCl7aWYoIWlzTmFOKHQ9K3QpKXJldHVybiBuKChEbChlLHQpLTEpLyhlLmxlbmd0aC0xKSl9cmV0dXJuIGkuZG9tYWluPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBlLnNsaWNlKCk7ZT1bXTtmb3IodmFyIG4scj0wLG89dC5sZW5ndGg7cjxvOysrciludWxsPT0obj10W3JdKXx8aXNOYU4obj0rbil8fGUucHVzaChuKTtyZXR1cm4gZS5zb3J0KFJsKSxpfSxpLmludGVycG9sYXRvcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LGkpOm59LGkuY29weT1mdW5jdGlvbigpe3JldHVybiB0KG4pLmRvbWFpbihlKX0sVU0uYXBwbHkoaSxhcmd1bWVudHMpfSxzY2FsZURpdmVyZ2luZzpmdW5jdGlvbiB0KCl7dmFyIGU9bEUoRkEoKShRTSkpO3JldHVybiBlLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gQkEoZSx0KCkpfSxVTS5hcHBseShlLGFyZ3VtZW50cyl9LHNjYWxlRGl2ZXJnaW5nTG9nOmZ1bmN0aW9uIHQoKXt2YXIgZT1fRShGQSgpKS5kb21haW4oWy4xLDEsMTBdKTtyZXR1cm4gZS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIEJBKGUsdCgpKS5iYXNlKGUuYmFzZSgpKX0sVU0uYXBwbHkoZSxhcmd1bWVudHMpfSxzY2FsZURpdmVyZ2luZ1BvdzpWQSxzY2FsZURpdmVyZ2luZ1NxcnQ6ZnVuY3Rpb24gSVIoKXtyZXR1cm4gVkEuYXBwbHkobnVsbCxhcmd1bWVudHMpLmV4cG9uZW50KC41KX0sc2NhbGVEaXZlcmdpbmdTeW1sb2c6ZnVuY3Rpb24gdCgpe3ZhciBlPXhFKEZBKCkpO3JldHVybiBlLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gQkEoZSx0KCkpLmNvbnN0YW50KGUuY29uc3RhbnQoKSl9LFVNLmFwcGx5KGUsYXJndW1lbnRzKX0sdGlja0Zvcm1hdDpzRSxzY2hlbWVDYXRlZ29yeTEwOmpBLHNjaGVtZUFjY2VudDpHQSxzY2hlbWVEYXJrMjpXQSxzY2hlbWVQYWlyZWQ6cUEsc2NoZW1lUGFzdGVsMTpZQSxzY2hlbWVQYXN0ZWwyOlhBLHNjaGVtZVNldDE6JEEsc2NoZW1lU2V0MjpLQSxzY2hlbWVTZXQzOlpBLHNjaGVtZVRhYmxlYXUxMDpKQSxpbnRlcnBvbGF0ZUJyQkc6ZWssc2NoZW1lQnJCRzp0ayxpbnRlcnBvbGF0ZVBSR246aWssc2NoZW1lUFJHbjpuayxpbnRlcnBvbGF0ZVBpWUc6b2ssc2NoZW1lUGlZRzpyayxpbnRlcnBvbGF0ZVB1T3I6c2ssc2NoZW1lUHVPcjphayxpbnRlcnBvbGF0ZVJkQnU6Y2ssc2NoZW1lUmRCdTpsayxpbnRlcnBvbGF0ZVJkR3k6aGssc2NoZW1lUmRHeTp1ayxpbnRlcnBvbGF0ZVJkWWxCdTpwayxzY2hlbWVSZFlsQnU6ZGssaW50ZXJwb2xhdGVSZFlsR246bWssc2NoZW1lUmRZbEduOmZrLGludGVycG9sYXRlU3BlY3RyYWw6X2ssc2NoZW1lU3BlY3RyYWw6Z2ssaW50ZXJwb2xhdGVCdUduOnZrLHNjaGVtZUJ1R246eWssaW50ZXJwb2xhdGVCdVB1OnhrLHNjaGVtZUJ1UHU6YmssaW50ZXJwb2xhdGVHbkJ1OlNrLHNjaGVtZUduQnU6d2ssaW50ZXJwb2xhdGVPclJkOkVrLHNjaGVtZU9yUmQ6TWssaW50ZXJwb2xhdGVQdUJ1R246Q2ssc2NoZW1lUHVCdUduOlRrLGludGVycG9sYXRlUHVCdTprayxzY2hlbWVQdUJ1OkFrLGludGVycG9sYXRlUHVSZDpQayxzY2hlbWVQdVJkOkxrLGludGVycG9sYXRlUmRQdTpJayxzY2hlbWVSZFB1Ok5rLGludGVycG9sYXRlWWxHbkJ1Ok9rLHNjaGVtZVlsR25CdTpSayxpbnRlcnBvbGF0ZVlsR246RGssc2NoZW1lWWxHbjp6ayxpbnRlcnBvbGF0ZVlsT3JCcjpIayxzY2hlbWVZbE9yQnI6QmssaW50ZXJwb2xhdGVZbE9yUmQ6Vmssc2NoZW1lWWxPclJkOkZrLGludGVycG9sYXRlQmx1ZXM6amssc2NoZW1lQmx1ZXM6VWssaW50ZXJwb2xhdGVHcmVlbnM6V2ssc2NoZW1lR3JlZW5zOkdrLGludGVycG9sYXRlR3JleXM6WWssc2NoZW1lR3JleXM6cWssaW50ZXJwb2xhdGVQdXJwbGVzOiRrLHNjaGVtZVB1cnBsZXM6WGssaW50ZXJwb2xhdGVSZWRzOlprLHNjaGVtZVJlZHM6S2ssaW50ZXJwb2xhdGVPcmFuZ2VzOlFrLHNjaGVtZU9yYW5nZXM6SmssaW50ZXJwb2xhdGVDaXZpZGlzOmZ1bmN0aW9uIFJSKHQpe3JldHVybiB0PU1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSksInJnYigiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQoLTQuNTQtdCooMzUuMzQtdCooMjM4MS43My10Kig2NDAyLjctdCooNzAyNC43Mi0yNzEwLjU3KnQpKSkpKSkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCgzMi40OSt0KigxNzAuNzMrdCooNTIuODItdCooMTMxLjQ2LXQqKDE3Ni41OC02Ny4zNyp0KSkpKSkpKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQoODEuMjQrdCooNDQyLjM2LXQqKDI0ODIuNDMtdCooNjE2Ny4yNC10Kig2NjE0Ljk0LTI0NzUuNjcqdCkpKSkpKSkrIikifSxpbnRlcnBvbGF0ZUN1YmVoZWxpeERlZmF1bHQ6dEwsaW50ZXJwb2xhdGVSYWluYm93OmZ1bmN0aW9uIE9SKHQpeyh0PDB8fHQ+MSkmJih0LT1NYXRoLmZsb29yKHQpKTt2YXIgZT1NYXRoLmFicyh0LS41KTtyZXR1cm4gaUwuaD0zNjAqdC0xMDAsaUwucz0xLjUtMS41KmUsaUwubD0uOC0uOSplLGlMKyIifSxpbnRlcnBvbGF0ZVdhcm06ZUwsaW50ZXJwb2xhdGVDb29sOm5MLGludGVycG9sYXRlU2luZWJvdzpmdW5jdGlvbiB6Uih0KXt2YXIgZTtyZXR1cm4gdD0oLjUtdCkqTWF0aC5QSSxyTC5yPTI1NSooZT1NYXRoLnNpbih0KSkqZSxyTC5nPTI1NSooZT1NYXRoLnNpbih0K29MKSkqZSxyTC5iPTI1NSooZT1NYXRoLnNpbih0K2FMKSkqZSxyTCsiIn0saW50ZXJwb2xhdGVUdXJibzpmdW5jdGlvbiBEUih0KXtyZXR1cm4gdD1NYXRoLm1heCgwLE1hdGgubWluKDEsdCkpLCJyZ2IoIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKDM0LjYxK3QqKDExNzIuMzMtdCooMTA3OTMuNTYtdCooMzMzMDAuMTItdCooMzgzOTQuNDktMTQ4MjUuMDUqdCkpKSkpKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKDIzLjMxK3QqKDU1Ny4zMyt0KigxMjI1LjMzLXQqKDM1NzQuOTYtdCooMTA3My43Nys3MDcuNTYqdCkpKSkpKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKDI3LjIrdCooMzIxMS4xLXQqKDE1MzI3Ljk3LXQqKDI3ODE0LXQqKDIyNTY5LjE4LTY4MzguNjYqdCkpKSkpKSkrIikifSxpbnRlcnBvbGF0ZVZpcmlkaXM6bEwsaW50ZXJwb2xhdGVNYWdtYTpjTCxpbnRlcnBvbGF0ZUluZmVybm86dUwsaW50ZXJwb2xhdGVQbGFzbWE6aEwsY3JlYXRlOmZ1bmN0aW9uIEJSKHQpe3JldHVybiBEdShOYyh0KS5jYWxsKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkpfSxjcmVhdG9yOk5jLGxvY2FsOmdoLG1hdGNoZXI6RGMsbW91c2U6YmgsbmFtZXNwYWNlOmtjLG5hbWVzcGFjZXM6QWMsY2xpZW50UG9pbnQ6dmgsc2VsZWN0OkR1LHNlbGVjdEFsbDp4aCxzZWxlY3Rpb246enUsc2VsZWN0b3I6UmMsc2VsZWN0b3JBbGw6emMsc3R5bGU6UWMsdG91Y2g6d2gsdG91Y2hlczpmdW5jdGlvbiBIUih0LGUpe251bGw9PWUmJihlPXloKCkudG91Y2hlcyk7Zm9yKHZhciBuPTAsaT1lP2UubGVuZ3RoOjAscj1uZXcgQXJyYXkoaSk7bjxpOysrbilyW25dPXZoKHQsZVtuXSk7cmV0dXJuIHJ9LHdpbmRvdzokYyxnZXQgZXZlbnQoKXtyZXR1cm4gTXV9LGN1c3RvbUV2ZW50Okx1LGFyYzpmdW5jdGlvbiBGUigpe3ZhciB0PVRMLGU9Q0wsbj1kTCgwKSxpPW51bGwscj1BTCxvPWtMLGE9TEwscz1udWxsO2Z1bmN0aW9uIGwoKXt2YXIgbCxjLHU9K3QuYXBwbHkodGhpcyxhcmd1bWVudHMpLGg9K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpLGQ9ci5hcHBseSh0aGlzLGFyZ3VtZW50cyktd0wscD1vLmFwcGx5KHRoaXMsYXJndW1lbnRzKS13TCxmPXBMKHAtZCksbT1wPmQ7aWYoc3x8KHM9bD1PZygpKSxoPHUmJihjPWgsaD11LHU9YyksaD5iTClpZihmPlNMLWJMKXMubW92ZVRvKGgqbUwoZCksaCp5TChkKSkscy5hcmMoMCwwLGgsZCxwLCFtKSx1PmJMJiYocy5tb3ZlVG8odSptTChwKSx1KnlMKHApKSxzLmFyYygwLDAsdSxwLGQsbSkpO2Vsc2V7dmFyIGcsXyx5PWQsdj1wLGI9ZCx4PXAsdz1mLFM9ZixNPWEuYXBwbHkodGhpcyxhcmd1bWVudHMpLzIsRT1NPmJMJiYoaT8raS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dkwodSp1K2gqaCkpLFQ9X0wocEwoaC11KS8yLCtuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksQz1ULEE9VDtpZihFPmJMKXt2YXIgaz1FTChFL3UqeUwoTSkpLEw9RUwoRS9oKnlMKE0pKTsody09MiprKT5iTD8oYis9ayo9bT8xOi0xLHgtPWspOih3PTAsYj14PShkK3ApLzIpLChTLT0yKkwpPmJMPyh5Kz1MKj1tPzE6LTEsdi09TCk6KFM9MCx5PXY9KGQrcCkvMil9dmFyIFA9aCptTCh5KSxOPWgqeUwoeSksST11Km1MKHgpLFI9dSp5TCh4KTtpZihUPmJMKXt2YXIgTyx6PWgqbUwodiksRD1oKnlMKHYpLEI9dSptTChiKSxIPXUqeUwoYik7aWYoZjx4TCYmKE89UEwoUCxOLEIsSCx6LEQsSSxSKSkpe3ZhciBGPVAtT1swXSxWPU4tT1sxXSxVPXotT1swXSxqPUQtT1sxXSxHPTEveUwoTUwoKEYqVStWKmopLyh2TChGKkYrVipWKSp2TChVKlUraipqKSkpLzIpLFc9dkwoT1swXSpPWzBdK09bMV0qT1sxXSk7Qz1fTChULCh1LVcpLyhHLTEpKSxBPV9MKFQsKGgtVykvKEcrMSkpfX1TPmJMP0E+Ykw/KGc9TkwoQixILFAsTixoLEEsbSksXz1OTCh6LEQsSSxSLGgsQSxtKSxzLm1vdmVUbyhnLmN4K2cueDAxLGcuY3krZy55MDEpLEE8VD9zLmFyYyhnLmN4LGcuY3ksQSxmTChnLnkwMSxnLngwMSksZkwoXy55MDEsXy54MDEpLCFtKToocy5hcmMoZy5jeCxnLmN5LEEsZkwoZy55MDEsZy54MDEpLGZMKGcueTExLGcueDExKSwhbSkscy5hcmMoMCwwLGgsZkwoZy5jeStnLnkxMSxnLmN4K2cueDExKSxmTChfLmN5K18ueTExLF8uY3grXy54MTEpLCFtKSxzLmFyYyhfLmN4LF8uY3ksQSxmTChfLnkxMSxfLngxMSksZkwoXy55MDEsXy54MDEpLCFtKSkpOihzLm1vdmVUbyhQLE4pLHMuYXJjKDAsMCxoLHksdiwhbSkpOnMubW92ZVRvKFAsTiksdT5iTCYmdz5iTD9DPmJMPyhnPU5MKEksUix6LEQsdSwtQyxtKSxfPU5MKFAsTixCLEgsdSwtQyxtKSxzLmxpbmVUbyhnLmN4K2cueDAxLGcuY3krZy55MDEpLEM8VD9zLmFyYyhnLmN4LGcuY3ksQyxmTChnLnkwMSxnLngwMSksZkwoXy55MDEsXy54MDEpLCFtKToocy5hcmMoZy5jeCxnLmN5LEMsZkwoZy55MDEsZy54MDEpLGZMKGcueTExLGcueDExKSwhbSkscy5hcmMoMCwwLHUsZkwoZy5jeStnLnkxMSxnLmN4K2cueDExKSxmTChfLmN5K18ueTExLF8uY3grXy54MTEpLG0pLHMuYXJjKF8uY3gsXy5jeSxDLGZMKF8ueTExLF8ueDExKSxmTChfLnkwMSxfLngwMSksIW0pKSk6cy5hcmMoMCwwLHUseCxiLG0pOnMubGluZVRvKEksUil9ZWxzZSBzLm1vdmVUbygwLDApO2lmKHMuY2xvc2VQYXRoKCksbClyZXR1cm4gcz1udWxsLGwrIiJ8fG51bGx9cmV0dXJuIGwuY2VudHJvaWQ9ZnVuY3Rpb24oKXt2YXIgbj0oK3QuYXBwbHkodGhpcyxhcmd1bWVudHMpKyArZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpLzIsaT0oK3IuYXBwbHkodGhpcyxhcmd1bWVudHMpKyArby5hcHBseSh0aGlzLGFyZ3VtZW50cykpLzIteEwvMjtyZXR1cm5bbUwoaSkqbix5TChpKSpuXX0sbC5pbm5lclJhZGl1cz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOmRMKCtlKSxsKTp0fSxsLm91dGVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoK3QpLGwpOmV9LGwuY29ybmVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoK3QpLGwpOm59LGwucGFkUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCt0KSxsKTppfSxsLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTCgrdCksbCk6cn0sbC5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCt0KSxsKTpvfSxsLnBhZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoK3QpLGwpOmF9LGwuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz1udWxsPT10P251bGw6dCxsKTpzfSxsfSxhcmVhOkJMLGxpbmU6REwscGllOmZ1bmN0aW9uIFZSKCl7dmFyIHQ9RkwsZT1ITCxuPW51bGwsaT1kTCgwKSxyPWRMKFNMKSxvPWRMKDApO2Z1bmN0aW9uIGEoYSl7dmFyIHMsbCxjLHUsaCxkPWEubGVuZ3RoLHA9MCxmPW5ldyBBcnJheShkKSxtPW5ldyBBcnJheShkKSxnPStpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxfPU1hdGgubWluKFNMLE1hdGgubWF4KC1TTCxyLmFwcGx5KHRoaXMsYXJndW1lbnRzKS1nKSkseT1NYXRoLm1pbihNYXRoLmFicyhfKS9kLG8uYXBwbHkodGhpcyxhcmd1bWVudHMpKSx2PXkqKF88MD8tMToxKTtmb3Iocz0wO3M8ZDsrK3MpKGg9bVtmW3NdPXNdPSt0KGFbc10scyxhKSk+MCYmKHArPWgpO2ZvcihudWxsIT1lP2Yuc29ydCgoZnVuY3Rpb24odCxuKXtyZXR1cm4gZShtW3RdLG1bbl0pfSkpOm51bGwhPW4mJmYuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gbihhW3RdLGFbZV0pfSkpLHM9MCxjPXA/KF8tZCp2KS9wOjA7czxkOysrcyxnPXUpbVtsPWZbc11dPXtkYXRhOmFbbF0saW5kZXg6cyx2YWx1ZTpoPW1bbF0sc3RhcnRBbmdsZTpnLGVuZEFuZ2xlOnU9ZysoaD4wP2gqYzowKSt2LHBhZEFuZ2xlOnl9O3JldHVybiBtfXJldHVybiBhLnZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6ZEwoK2UpLGEpOnR9LGEuc29ydFZhbHVlcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LG49bnVsbCxhKTplfSxhLnNvcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxlPW51bGwsYSk6bn0sYS5zdGFydEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoK3QpLGEpOml9LGEuZW5kQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTCgrdCksYSk6cn0sYS5wYWRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCt0KSxhKTpvfSxhfSxhcmVhUmFkaWFsOnFMLHJhZGlhbEFyZWE6cUwsbGluZVJhZGlhbDpXTCxyYWRpYWxMaW5lOldMLHBvaW50UmFkaWFsOllMLGxpbmtIb3Jpem9udGFsOmZ1bmN0aW9uIFVSKCl7cmV0dXJuIFpMKEpMKX0sbGlua1ZlcnRpY2FsOmZ1bmN0aW9uIGpSKCl7cmV0dXJuIFpMKFFMKX0sbGlua1JhZGlhbDpmdW5jdGlvbiBHUigpe3ZhciB0PVpMKHRQKTtyZXR1cm4gdC5hbmdsZT10LngsZGVsZXRlIHQueCx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0fSxzeW1ib2w6ZnVuY3Rpb24gV1IoKXt2YXIgdD1kTChlUCksZT1kTCg2NCksbj1udWxsO2Z1bmN0aW9uIGkoKXt2YXIgaTtpZihufHwobj1pPU9nKCkpLHQuYXBwbHkodGhpcyxhcmd1bWVudHMpLmRyYXcobiwrZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpLGkpcmV0dXJuIG49bnVsbCxpKyIifHxudWxsfXJldHVybiBpLnR5cGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpkTChlKSxpKTp0fSxpLnNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTCgrdCksaSk6ZX0saS5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW51bGw9PXQ/bnVsbDp0LGkpOm59LGl9LHN5bWJvbHM6eVAsc3ltYm9sQ2lyY2xlOmVQLHN5bWJvbENyb3NzOm5QLHN5bWJvbERpYW1vbmQ6b1Asc3ltYm9sU3F1YXJlOnVQLHN5bWJvbFN0YXI6Y1Asc3ltYm9sVHJpYW5nbGU6ZFAsc3ltYm9sV3llOl9QLGN1cnZlQmFzaXNDbG9zZWQ6ZnVuY3Rpb24gcVIodCl7cmV0dXJuIG5ldyBTUCh0KX0sY3VydmVCYXNpc09wZW46ZnVuY3Rpb24gWVIodCl7cmV0dXJuIG5ldyBNUCh0KX0sY3VydmVCYXNpczp3UCxjdXJ2ZUJ1bmRsZTpUUCxjdXJ2ZUNhcmRpbmFsQ2xvc2VkOlBQLGN1cnZlQ2FyZGluYWxPcGVuOklQLGN1cnZlQ2FyZGluYWw6a1AsY3VydmVDYXRtdWxsUm9tQ2xvc2VkOkJQLGN1cnZlQ2F0bXVsbFJvbU9wZW46RlAsY3VydmVDYXRtdWxsUm9tOnpQLGN1cnZlTGluZWFyQ2xvc2VkOmZ1bmN0aW9uIFhSKHQpe3JldHVybiBuZXcgVlAodCl9LGN1cnZlTGluZWFyOlJMLGN1cnZlTW9ub3RvbmVYOmZ1bmN0aW9uICRSKHQpe3JldHVybiBuZXcgcVAodCl9LGN1cnZlTW9ub3RvbmVZOmZ1bmN0aW9uIEtSKHQpe3JldHVybiBuZXcgWVAodCl9LGN1cnZlTmF0dXJhbDpmdW5jdGlvbiBaUih0KXtyZXR1cm4gbmV3ICRQKHQpfSxjdXJ2ZVN0ZXA6ZnVuY3Rpb24gSlIodCl7cmV0dXJuIG5ldyBaUCh0LC41KX0sY3VydmVTdGVwQWZ0ZXI6ZnVuY3Rpb24gUVIodCl7cmV0dXJuIG5ldyBaUCh0LDEpfSxjdXJ2ZVN0ZXBCZWZvcmU6ZnVuY3Rpb24gdE8odCl7cmV0dXJuIG5ldyBaUCh0LDApfSxzdGFjazpmdW5jdGlvbiBlTygpe3ZhciB0PWRMKFtdKSxlPVFQLG49SlAsaT10TjtmdW5jdGlvbiByKHIpe3ZhciBvLGEscz10LmFwcGx5KHRoaXMsYXJndW1lbnRzKSxsPXIubGVuZ3RoLGM9cy5sZW5ndGgsdT1uZXcgQXJyYXkoYyk7Zm9yKG89MDtvPGM7KytvKXtmb3IodmFyIGgsZD1zW29dLHA9dVtvXT1uZXcgQXJyYXkobCksZj0wO2Y8bDsrK2YpcFtmXT1oPVswLCtpKHJbZl0sZCxmLHIpXSxoLmRhdGE9cltmXTtwLmtleT1kfWZvcihvPTAsYT1lKHUpO288YzsrK28pdVthW29dXS5pbmRleD1vO3JldHVybiBuKHUsYSksdX1yZXR1cm4gci5rZXlzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6ZEwoWEwuY2FsbChlKSkscik6dH0sci52YWx1ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCt0KSxyKTppfSxyLm9yZGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPW51bGw9PXQ/UVA6ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTChYTC5jYWxsKHQpKSxyKTplfSxyLm9mZnNldD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1udWxsPT10P0pQOnQscik6bn0scn0sc3RhY2tPZmZzZXRFeHBhbmQ6ZnVuY3Rpb24gbk8odCxlKXtpZigoaT10Lmxlbmd0aCk+MCl7Zm9yKHZhciBuLGkscixvPTAsYT10WzBdLmxlbmd0aDtvPGE7KytvKXtmb3Iocj1uPTA7bjxpOysrbilyKz10W25dW29dWzFdfHwwO2lmKHIpZm9yKG49MDtuPGk7KytuKXRbbl1bb11bMV0vPXJ9SlAodCxlKX19LHN0YWNrT2Zmc2V0RGl2ZXJnaW5nOmZ1bmN0aW9uIGlPKHQsZSl7aWYoKHM9dC5sZW5ndGgpPjApZm9yKHZhciBuLGkscixvLGEscyxsPTAsYz10W2VbMF1dLmxlbmd0aDtsPGM7KytsKWZvcihvPWE9MCxuPTA7bjxzOysrbikocj0oaT10W2Vbbl1dW2xdKVsxXS1pWzBdKT4wPyhpWzBdPW8saVsxXT1vKz1yKTpyPDA/KGlbMV09YSxpWzBdPWErPXIpOihpWzBdPTAsaVsxXT1yKX0sc3RhY2tPZmZzZXROb25lOkpQLHN0YWNrT2Zmc2V0U2lsaG91ZXR0ZTpmdW5jdGlvbiByTyh0LGUpe2lmKChuPXQubGVuZ3RoKT4wKXtmb3IodmFyIG4saT0wLHI9dFtlWzBdXSxvPXIubGVuZ3RoO2k8bzsrK2kpe2Zvcih2YXIgYT0wLHM9MDthPG47KythKXMrPXRbYV1baV1bMV18fDA7cltpXVsxXSs9cltpXVswXT0tcy8yfUpQKHQsZSl9fSxzdGFja09mZnNldFdpZ2dsZTpmdW5jdGlvbiBvTyh0LGUpe2lmKChyPXQubGVuZ3RoKT4wJiYoaT0obj10W2VbMF1dKS5sZW5ndGgpPjApe2Zvcih2YXIgbixpLHIsbz0wLGE9MTthPGk7KythKXtmb3IodmFyIHM9MCxsPTAsYz0wO3M8cjsrK3Mpe2Zvcih2YXIgdT10W2Vbc11dLGg9dVthXVsxXXx8MCxkPShoLSh1W2EtMV1bMV18fDApKS8yLHA9MDtwPHM7KytwKXt2YXIgZj10W2VbcF1dO2QrPShmW2FdWzFdfHwwKS0oZlthLTFdWzFdfHwwKX1sKz1oLGMrPWQqaH1uW2EtMV1bMV0rPW5bYS0xXVswXT1vLGwmJihvLT1jL2wpfW5bYS0xXVsxXSs9blthLTFdWzBdPW8sSlAodCxlKX19LHN0YWNrT3JkZXJBcHBlYXJhbmNlOmVOLHN0YWNrT3JkZXJBc2NlbmRpbmc6aU4sc3RhY2tPcmRlckRlc2NlbmRpbmc6ZnVuY3Rpb24gYU8odCl7cmV0dXJuIGlOKHQpLnJldmVyc2UoKX0sc3RhY2tPcmRlckluc2lkZU91dDpmdW5jdGlvbiBzTyh0KXt2YXIgZSxuLGk9dC5sZW5ndGgscj10Lm1hcChyTiksbz1lTih0KSxhPTAscz0wLGw9W10sYz1bXTtmb3IoZT0wO2U8aTsrK2Upbj1vW2VdLGE8cz8oYSs9cltuXSxsLnB1c2gobikpOihzKz1yW25dLGMucHVzaChuKSk7cmV0dXJuIGMucmV2ZXJzZSgpLmNvbmNhdChsKX0sc3RhY2tPcmRlck5vbmU6UVAsc3RhY2tPcmRlclJldmVyc2U6ZnVuY3Rpb24gbE8odCl7cmV0dXJuIFFQKHQpLnJldmVyc2UoKX0sdGltZUludGVydmFsOlBFLHRpbWVNaWxsaXNlY29uZDpJRSx0aW1lTWlsbGlzZWNvbmRzOlJFLHV0Y01pbGxpc2Vjb25kOklFLHV0Y01pbGxpc2Vjb25kczpSRSx0aW1lU2Vjb25kOlZFLHRpbWVTZWNvbmRzOlVFLHV0Y1NlY29uZDpWRSx1dGNTZWNvbmRzOlVFLHRpbWVNaW51dGU6R0UsdGltZU1pbnV0ZXM6V0UsdGltZUhvdXI6WUUsdGltZUhvdXJzOlhFLHRpbWVEYXk6S0UsdGltZURheXM6WkUsdGltZVdlZWs6UUUsdGltZVdlZWtzOmFULHRpbWVTdW5kYXk6UUUsdGltZVN1bmRheXM6YVQsdGltZU1vbmRheTp0VCx0aW1lTW9uZGF5czpzVCx0aW1lVHVlc2RheTplVCx0aW1lVHVlc2RheXM6bFQsdGltZVdlZG5lc2RheTpuVCx0aW1lV2VkbmVzZGF5czpjVCx0aW1lVGh1cnNkYXk6aVQsdGltZVRodXJzZGF5czp1VCx0aW1lRnJpZGF5OnJULHRpbWVGcmlkYXlzOmhULHRpbWVTYXR1cmRheTpvVCx0aW1lU2F0dXJkYXlzOmRULHRpbWVNb250aDpmVCx0aW1lTW9udGhzOm1ULHRpbWVZZWFyOl9ULHRpbWVZZWFyczp5VCx1dGNNaW51dGU6YlQsdXRjTWludXRlczp4VCx1dGNIb3VyOlNULHV0Y0hvdXJzOk1ULHV0Y0RheTpUVCx1dGNEYXlzOkNULHV0Y1dlZWs6a1QsdXRjV2Vla3M6elQsdXRjU3VuZGF5OmtULHV0Y1N1bmRheXM6elQsdXRjTW9uZGF5OkxULHV0Y01vbmRheXM6RFQsdXRjVHVlc2RheTpQVCx1dGNUdWVzZGF5czpCVCx1dGNXZWRuZXNkYXk6TlQsdXRjV2VkbmVzZGF5czpIVCx1dGNUaHVyc2RheTpJVCx1dGNUaHVyc2RheXM6RlQsdXRjRnJpZGF5OlJULHV0Y0ZyaWRheXM6VlQsdXRjU2F0dXJkYXk6T1QsdXRjU2F0dXJkYXlzOlVULHV0Y01vbnRoOkdULHV0Y01vbnRoczpXVCx1dGNZZWFyOllULHV0Y1llYXJzOlhULHRpbWVGb3JtYXREZWZhdWx0TG9jYWxlOnhBLGdldCB0aW1lRm9ybWF0KCl7cmV0dXJuIHRDfSxnZXQgdGltZVBhcnNlKCl7cmV0dXJuIGVDfSxnZXQgdXRjRm9ybWF0KCl7cmV0dXJuIG5DfSxnZXQgdXRjUGFyc2UoKXtyZXR1cm4gaUN9LHRpbWVGb3JtYXRMb2NhbGU6SlQsaXNvRm9ybWF0OlNBLGlzb1BhcnNlOkVBLG5vdzpxcCx0aW1lcjokcCx0aW1lckZsdXNoOktwLHRpbWVvdXQ6dGYsaW50ZXJ2YWw6ZnVuY3Rpb24gY08odCxlLG4pe3ZhciBpPW5ldyBYcCxyPWU7cmV0dXJuIG51bGw9PWU/KGkucmVzdGFydCh0LGUsbiksaSk6KGU9K2Usbj1udWxsPT1uP3FwKCk6K24saS5yZXN0YXJ0KChmdW5jdGlvbiBvKGEpe2ErPXIsaS5yZXN0YXJ0KG8scis9ZSxuKSx0KGEpfSksZSxuKSxpKX0sdHJhbnNpdGlvbjpEZixhY3RpdmU6ZnVuY3Rpb24gdU8odCxlKXt2YXIgbixpLHI9dC5fX3RyYW5zaXRpb247aWYocilmb3IoaSBpbiBlPW51bGw9PWU/bnVsbDplKyIiLHIpaWYoKG49cltpXSkuc3RhdGU+MSYmbi5uYW1lPT09ZSlyZXR1cm4gbmV3IHpmKFtbdF1dLFdtLGUsK2kpO3JldHVybiBudWxsfSxpbnRlcnJ1cHQ6bGYsdm9yb25vaTpmdW5jdGlvbiBoTygpe3ZhciB0PWFOLGU9c04sbj1udWxsO2Z1bmN0aW9uIGkoaSl7cmV0dXJuIG5ldyBVTihpLm1hcCgoZnVuY3Rpb24obixyKXt2YXIgbz1bTWF0aC5yb3VuZCh0KG4scixpKS9CTikqQk4sTWF0aC5yb3VuZChlKG4scixpKS9CTikqQk5dO3JldHVybiBvLmluZGV4PXIsby5kYXRhPW4sb30pKSxuKX1yZXR1cm4gaS5wb2x5Z29ucz1mdW5jdGlvbih0KXtyZXR1cm4gaSh0KS5wb2x5Z29ucygpfSxpLmxpbmtzPWZ1bmN0aW9uKHQpe3JldHVybiBpKHQpLmxpbmtzKCl9LGkudHJpYW5nbGVzPWZ1bmN0aW9uKHQpe3JldHVybiBpKHQpLnRyaWFuZ2xlcygpfSxpLng9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpvTigrZSksaSk6dH0saS55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6b04oK3QpLGkpOmV9LGkuZXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW51bGw9PXQ/bnVsbDpbWyt0WzBdWzBdLCt0WzBdWzFdXSxbK3RbMV1bMF0sK3RbMV1bMV1dXSxpKTpuJiZbW25bMF1bMF0sblswXVsxXV0sW25bMV1bMF0sblsxXVsxXV1dfSxpLnNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49bnVsbD09dD9udWxsOltbMCwwXSxbK3RbMF0sK3RbMV1dXSxpKTpuJiZbblsxXVswXS1uWzBdWzBdLG5bMV1bMV0tblswXVsxXV19LGl9LHpvb206bkksem9vbVRyYW5zZm9ybTpZTix6b29tSWRlbnRpdHk6cU59KTtjbGFzcyBkTyBleHRlbmRzIGtse2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9leHBlcmltZW50cz1bXX1sb2FkKCl7Y29uc3QgdD1FcigpLmV4cGVyaW1lbnRzKCk7cmV0dXJuIHRoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0KS50aGVuKCh0PT57Q2UuZXhwb3J0cy5pc0VxdWFsKHRoaXMuX2V4cGVyaW1lbnRzLHQpfHwodGhpcy5fZXhwZXJpbWVudHM9dCx0aGlzLmVtaXRDaGFuZ2UoKSl9KSl9Z2V0RXhwZXJpbWVudHMoKXtyZXR1cm4gdGhpcy5fZXhwZXJpbWVudHMuc2xpY2UoKX19Y29uc3QgcE89bmV3IGRPLGZPPVsiI2ZmNzA0MyIsIiMwMDc3YmIiLCIjY2MzMzExIiwiIzMzYmJlZSIsIiNlZTMzNzciLCIjMDA5OTg4IiwiI2JiYmJiYiJdO2NsYXNzIG1Pe2NvbnN0cnVjdG9yKHQ9Zk8pe3RoaXMucGFsZXR0ZT10LHRoaXMuaWRlbnRpZmllcnM9amcoKX1zZXREb21haW4odCl7cmV0dXJuIHRoaXMuaWRlbnRpZmllcnM9amcoKSx0LmZvckVhY2goKCh0LGUpPT57dGhpcy5pZGVudGlmaWVycy5zZXQodCx0aGlzLnBhbGV0dGVbZSV0aGlzLnBhbGV0dGUubGVuZ3RoXSl9KSksdGhpc31nZXRDb2xvcih0KXtpZighdGhpcy5pZGVudGlmaWVycy5oYXModCkpdGhyb3cgbmV3IEVycm9yKGBTdHJpbmcgJHt0fSB3YXMgbm90IGluIHRoZSBkb21haW4uYCk7cmV0dXJuIHRoaXMuaWRlbnRpZmllcnMuZ2V0KHQpfX1mdW5jdGlvbiBnTyh0LGUpe2NvbnN0IG49bmV3IG1PO2Z1bmN0aW9uIGkoKXtuLnNldERvbWFpbihlKCkpfXJldHVybiB0LmFkZExpc3RlbmVyKGkpLGkoKSx0PT5uLmdldENvbG9yKHQpfWNvbnN0IF9PPWdPKElsLCgoKT0+SWwuZ2V0UnVucygpKSk7Z08ocE8sKCgpPT5wTy5nZXRFeHBlcmltZW50cygpLm1hcCgoKHtuYW1lOnR9KT0+dCkpKSksbWwoe21vZHVsZU5hbWU6InJ1bi1jb2xvci1zdHlsZSIsc3R5bGVDb250ZW50OiJcbiAgICBbY29sb3ItY2xhc3M9J2xpZ2h0LWJsdWUnXSBwYXBlci1jaGVja2JveCB7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLWxpZ2h0LWJsdWUtNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLWxpZ2h0LWJsdWUtNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1saWdodC1ibHVlLTkwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLWxpZ2h0LWJsdWUtOTAwKTtcbiAgICB9XG4gICAgW2NvbG9yLWNsYXNzPSdyZWQnXSBwYXBlci1jaGVja2JveCB7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLXJlZC01MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItcmVkLTUwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItcmVkLTkwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLXJlZC05MDApO1xuICAgIH1cbiAgICBbY29sb3ItY2xhc3M9J2dyZWVuJ10gcGFwZXItY2hlY2tib3gge1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1ncmVlbi01MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItZ3JlZW4tNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1ncmVlbi05MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1ncmVlbi05MDApO1xuICAgIH1cbiAgICBbY29sb3ItY2xhc3M9J3B1cnBsZSddIHBhcGVyLWNoZWNrYm94IHtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItcHVycGxlLTUwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1wdXJwbGUtNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1wdXJwbGUtOTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItcHVycGxlLTkwMCk7XG4gICAgfVxuICAgIFtjb2xvci1jbGFzcz0ndGVhbCddIHBhcGVyLWNoZWNrYm94IHtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItdGVhbC01MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItdGVhbC01MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLXRlYWwtOTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItdGVhbC05MDApO1xuICAgIH1cbiAgICBbY29sb3ItY2xhc3M9J3BpbmsnXSBwYXBlci1jaGVja2JveCB7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLXBpbmstNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLXBpbmstNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1waW5rLTkwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLXBpbmstOTAwKTtcbiAgICB9XG4gICAgW2NvbG9yLWNsYXNzPSdvcmFuZ2UnXSBwYXBlci1jaGVja2JveCB7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLW9yYW5nZS01MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItb3JhbmdlLTUwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItb3JhbmdlLTkwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLW9yYW5nZS05MDApO1xuICAgIH1cbiAgICBbY29sb3ItY2xhc3M9J2Jyb3duJ10gcGFwZXItY2hlY2tib3gge1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1icm93bi01MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItYnJvd24tNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1icm93bi05MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1icm93bi05MDApO1xuICAgIH1cbiAgICBbY29sb3ItY2xhc3M9J2luZGlnbyddIHBhcGVyLWNoZWNrYm94IHtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItaW5kaWdvLTUwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1pbmRpZ28tNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1pbmRpZ28tOTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItaW5kaWdvLTkwMCk7XG4gICAgfVxuICAifSk7bGV0IHlPPWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lcz1bXSx0aGlzLmNvbG9yaW5nPXtnZXRDb2xvcjooKT0+IiJ9LHRoaXMucmVnZXg9IiIsdGhpcy5zZWxlY3Rpb25TdGF0ZT17fSx0aGlzLm1heE5hbWVzVG9FbmFibGVCeURlZmF1bHQ9NDAsdGhpcy5fZGVib3VuY2VkUmVnZXhDaGFuZ2U9dGhpcy5fZGVib3VuY2VkUmVnZXhDaGFuZ2VJbXBsKCl9X2RlYm91bmNlZFJlZ2V4Q2hhbmdlSW1wbCgpe3ZhciB0PUNlLmV4cG9ydHMuZGVib3VuY2UoKHQ9Pnt0aGlzLnJlZ2V4PXR9KSwxNTAse2xlYWRpbmc6ITF9KTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLiQkKCIjbmFtZXMtcmVnZXgiKS52YWx1ZTsiIj09ZT90aGlzLmFzeW5jKCgoKT0+e3RoaXMucmVnZXg9ZX0pLDMwKTp0KGUpfX1nZXQgX3JlZ2V4KCl7dmFyIHQ9dGhpcy5yZWdleDt0cnl7cmV0dXJuIG5ldyBSZWdFeHAodCl9Y2F0Y2godCl7cmV0dXJuIG51bGx9fV9zZXRJc29sYXRvckljb24oKXt2YXIgdD10aGlzLnNlbGVjdGlvblN0YXRlLGU9Q2UuZXhwb3J0cy5maWx0ZXIoQ2UuZXhwb3J0cy52YWx1ZXModCkpLmxlbmd0aDtBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgiLmlzb2xhdG9yIikpLmZvckVhY2goKGZ1bmN0aW9uKG4pe24uaWNvbj0xPT09ZSYmdFtuLm5hbWVdPyJyYWRpby1idXR0b24tY2hlY2tlZCI6InJhZGlvLWJ1dHRvbi11bmNoZWNrZWQifSkpfWNvbXB1dGVOYW1lc01hdGNoaW5nUmVnZXgodCxlKXtjb25zdCBuPXRoaXMuX3JlZ2V4O3JldHVybiBuP3RoaXMubmFtZXMuZmlsdGVyKCh0PT5uLnRlc3QodCkpKTp0aGlzLm5hbWVzfWNvbXB1dGVPdXRTZWxlY3RlZCh0LGUpe3ZhciBuPXRoaXMuc2VsZWN0aW9uU3RhdGUsaT10aGlzLm5hbWVzTWF0Y2hpbmdSZWdleC5sZW5ndGg8PXRoaXMubWF4TmFtZXNUb0VuYWJsZUJ5RGVmYXVsdDtyZXR1cm4gdGhpcy5uYW1lc01hdGNoaW5nUmVnZXguZmlsdGVyKCh0PT5udWxsPT1uW3RdP2k6blt0XSkpfXN5bmNocm9uaXplQ29sb3JzKHQpe3RoaXMuX3NldElzb2xhdG9ySWNvbigpO3RoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCJwYXBlci1jaGVja2JveCIpLmZvckVhY2goKHQ9Pntjb25zdCBlPXRoaXMuY29sb3JpbmcuZ2V0Q29sb3IodC5uYW1lKTt0LnVwZGF0ZVN0eWxlcyh7Ii0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvciI6ZSwiLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvciI6ZSwiLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtY29sb3IiOmUsIi0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWluay1jb2xvciI6ZX0pfSkpO3RoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuaXNvbGF0b3IiKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10aGlzLmNvbG9yaW5nLmdldENvbG9yKHQubmFtZSk7dC5zdHlsZS5jb2xvcj1lfSkpLHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57dGhpcy51cGRhdGVTdHlsZXMoKX0pKX1faXNvbGF0ZU5hbWUodCl7dmFyIGU9dC50YXJnZXQubmFtZSxuPXt9O3RoaXMubmFtZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7blt0XT10PT1lfSkpLHRoaXMuc2VsZWN0aW9uU3RhdGU9bn1fY2hlY2tib3hDaGFuZ2UodCl7dmFyIGU9dC50YXJnZXQ7Y29uc3Qgbj1DZS5leHBvcnRzLmNsb25lKHRoaXMuc2VsZWN0aW9uU3RhdGUpO25bZS5uYW1lXT1lLmNoZWNrZWQsdGhpcy5zZWxlY3Rpb25TdGF0ZT1ufV9pc0NoZWNrZWQodCxlKXtyZXR1cm4tMSE9dGhpcy5vdXRTZWxlY3RlZC5pbmRleE9mKHQpfXRvZ2dsZUFsbCgpe2NvbnN0IHQ9dGhpcy5uYW1lc01hdGNoaW5nUmVnZXguc29tZSgodD0+dGhpcy5vdXRTZWxlY3RlZC5pbmNsdWRlcyh0KSkpLGU9e307dGhpcy5uYW1lcy5mb3JFYWNoKChuPT57ZVtuXT0hdH0pKSx0aGlzLnNlbGVjdGlvblN0YXRlPWV9fTt5Ty50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZSBpbmNsdWRlPSJzY3JvbGxiYXItc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGUgaW5jbHVkZT0icnVuLWNvbG9yLXN0eWxlIj48L3N0eWxlPgoKICAgIDxwYXBlci1pbnB1dAogICAgICBpZD0ibmFtZXMtcmVnZXgiCiAgICAgIG5vLWxhYmVsLWZsb2F0PSIiCiAgICAgIGxhYmVsPSJXcml0ZSBhIHJlZ2V4IHRvIGZpbHRlciBydW5zIgogICAgICB2YWx1ZT0iW1tyZWdleF1dIgogICAgICBvbi1iaW5kLXZhbHVlLWNoYW5nZWQ9Il9kZWJvdW5jZWRSZWdleENoYW5nZSIKICAgID48L3BhcGVyLWlucHV0PgogICAgPGRpdiBpZD0ib3V0ZXItY29udGFpbmVyIiBjbGFzcz0ic2Nyb2xsYmFyIj4KICAgICAgPHRlbXBsYXRlCiAgICAgICAgaXM9ImRvbS1yZXBlYXQiCiAgICAgICAgaXRlbXM9IltbbmFtZXNNYXRjaGluZ1JlZ2V4XV0iCiAgICAgICAgb24tZG9tLWNoYW5nZT0ic3luY2hyb25pemVDb2xvcnMiCiAgICAgID4KICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lLXJvdyI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJpY29uLWNvbnRhaW5lciBjaGVja2JveC1jb250YWluZXIgdmVydGljYWwtYWxpZ24tY29udGFpbmVyIgogICAgICAgICAgPgogICAgICAgICAgICA8cGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICBjbGFzcz0iY2hlY2tib3ggdmVydGljYWwtYWxpZ24tY2VudGVyIgogICAgICAgICAgICAgIGlkJD0iY2hlY2tib3gtW1tpdGVtXV0iCiAgICAgICAgICAgICAgbmFtZT0iW1tpdGVtXV0iCiAgICAgICAgICAgICAgY2hlY2tlZCQ9IltbX2lzQ2hlY2tlZChpdGVtLCBzZWxlY3Rpb25TdGF0ZS4qKV1dIgogICAgICAgICAgICAgIG9uLWNoYW5nZT0iX2NoZWNrYm94Q2hhbmdlIgogICAgICAgICAgICA+PC9wYXBlci1jaGVja2JveD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0iaWNvbi1jb250YWluZXIgaXNvbGF0b3ItY29udGFpbmVyIHZlcnRpY2FsLWFsaWduLWNvbnRhaW5lciIKICAgICAgICAgID4KICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgICAgICAgaWNvbj0icmFkaW8tYnV0dG9uLXVuY2hlY2tlZCIKICAgICAgICAgICAgICBjbGFzcz0iaXNvbGF0b3IgdmVydGljYWwtYWxpZ24tY2VudGVyIgogICAgICAgICAgICAgIG9uLXRhcD0iX2lzb2xhdGVOYW1lIgogICAgICAgICAgICAgIG5hbWU9IltbaXRlbV1dIgogICAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbS1sYWJlbC1jb250YWluZXIiPgogICAgICAgICAgICA8c3Bhbj5bW2l0ZW1dXTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIHBhcGVyLWlucHV0IHsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWw6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgIH0KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQogICAgICAjb3V0ZXItY29udGFpbmVyIHsKICAgICAgICBjb250YWluOiBjb250ZW50OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgfQogICAgICAubmFtZS1yb3cgewogICAgICAgIGNvbnRhaW46IGNvbnRlbnQ7CiAgICAgICAgcGFkZGluZy10b3A6IDVweDsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOyAvKiBtYWtlcyB3cmFwcGluZyBvZiBoeXBlcnBhcmFtIHN0cmluZ3MgYmV0dGVyICovCiAgICAgIH0KICAgICAgLmljb24tY29udGFpbmVyIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7CiAgICAgIH0KICAgICAgLmNoZWNrYm94IHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgIH0KICAgICAgLmlzb2xhdG9yIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgcGFkZGluZzogMHB4OwogICAgICB9CiAgICAgIC5pc29sYXRvci1jb250YWluZXIgewogICAgICAgIHBhZGRpbmctbGVmdDogNnB4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDsKICAgICAgfQogICAgICAuY2hlY2tib3gtY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDsKICAgICAgfQogICAgICAuaXRlbS1sYWJlbC1jb250YWluZXIgewogICAgICAgIHBhZGRpbmctbGVmdDogNXB4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICB3aWR0aDogMHB4OyAvKiBoYWNrIHRvIGdldCB0aGUgZmxleC1ncm93IHRvIHdvcmsgcHJvcGVybHkgKi8KICAgICAgfQogICAgICAudG9vbHRpcC12YWx1ZS1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIHBhZGRpbmctbGVmdDogMnB4OwogICAgICB9CiAgICAgIC52ZXJ0aWNhbC1hbGlnbi1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KICAgICAgLnZlcnRpY2FsLWFsaWduLWNvbnRhaW5lciAudmVydGljYWwtYWxpZ24tY2VudGVyIHsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgIH0KICAgICAgLnZlcnRpY2FsLWFsaWduLWNvbnRhaW5lciAudmVydGljYWwtYWxpZ24tdG9wIHsKICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSx5Ty5wcm90b3R5cGUsIm5hbWVzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHlPLnByb3RvdHlwZSwiY29sb3JpbmciLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHlPLnByb3RvdHlwZSwicmVnZXgiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheSxjb21wdXRlZDoiY29tcHV0ZU5hbWVzTWF0Y2hpbmdSZWdleChuYW1lcy4qLCBfcmVnZXgpIn0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLHlPLnByb3RvdHlwZSwibmFtZXNNYXRjaGluZ1JlZ2V4Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx5Ty5wcm90b3R5cGUsInNlbGVjdGlvblN0YXRlIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXksbm90aWZ5OiEwLGNvbXB1dGVkOiJjb21wdXRlT3V0U2VsZWN0ZWQobmFtZXNNYXRjaGluZ1JlZ2V4LiosIHNlbGVjdGlvblN0YXRlLiopIn0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLHlPLnByb3RvdHlwZSwib3V0U2VsZWN0ZWQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0seU8ucHJvdG90eXBlLCJtYXhOYW1lc1RvRW5hYmxlQnlEZWZhdWx0Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHlPLnByb3RvdHlwZSwiX2RlYm91bmNlZFJlZ2V4Q2hhbmdlIix2b2lkIDApLHQoW3MoInJlZ2V4IiksZSgiZGVzaWduOnR5cGUiLFJlZ0V4cCksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0seU8ucHJvdG90eXBlLCJfcmVnZXgiLG51bGwpLHQoW2EoInNlbGVjdGlvblN0YXRlIiwibmFtZXMiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLHlPLnByb3RvdHlwZSwiX3NldElzb2xhdG9ySWNvbiIsbnVsbCkseU89dChbaSgidGYtbXVsdGktY2hlY2tib3giKV0seU8pO2xldCB2Tz1jbGFzcyBleHRlbmRzIHdle2dldCBfcGFydHMoKXt2YXIgdD10aGlzLnZhbHVlLGU9dGhpcy5kZWxpbWl0ZXJQYXR0ZXJuO2NvbnN0IG49W107Zm9yKDs7KXtjb25zdCBpPW5ldyBSZWdFeHAoZSwiZyIpO2lmKGkudGVzdCh0KSwwPT09aS5sYXN0SW5kZXgpe24ucHVzaCh0KTticmVha31uLnB1c2godC5zbGljZSgwLGkubGFzdEluZGV4KSksdD10LnNsaWNlKGkubGFzdEluZGV4KX1yZXR1cm4gbn19O3ZPLnRlbXBsYXRlPXhlYAogICAgPCEtLQogICAgICBUaGlzIHVnbHkgZm9ybWF0dGluZyBpcyByZXF1aXJlZCB0byBwcmV2ZW50IHNwYWNlcyBmcm9tIHNsaXBwaW5nCiAgICAgIGludG8gdGhlIEhUTUwuCiAgICAtLT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX3BhcnRzXV0iIGFzPSJwYXJ0IgogICAgICA+W1twYXJ0XV08d2JyCiAgICAvPjwvdGVtcGxhdGU+CiAgYCx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx2Ty5wcm90b3R5cGUsInZhbHVlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHZPLnByb3RvdHlwZSwiZGVsaW1pdGVyUGF0dGVybiIsdm9pZCAwKSx0KFtzKCJ2YWx1ZSIsImRlbGltaXRlclBhdHRlcm4iKSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLHZPLnByb3RvdHlwZSwiX3BhcnRzIixudWxsKSx2Tz10KFtpKCJ0Zi13YnItc3RyaW5nIildLHZPKTtsZXQgYk89Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJ1blNlbGVjdGlvblN0YXRlPWNsKCJydW5TZWxlY3Rpb25TdGF0ZSIse2RlZmF1bHRWYWx1ZTp7fX0pLmNhbGwodGhpcyksdGhpcy5yZWdleElucHV0PVhzKCJyZWdleElucHV0Iix7ZGVmYXVsdFZhbHVlOiIifSkuY2FsbCh0aGlzKSx0aGlzLl9kYXRhTG9jYXRpb25DbGlwTGVuZ3RoPTI1MCx0aGlzLl9kYXRhTG9jYXRpb25EZWxpbWl0ZXJQYXR0ZXJuPSJbLz1fLC1dIix0aGlzLmNvbG9yaW5nPXtnZXRDb2xvcjpfT30sdGhpcy5fc3RvcmVSdW5TZWxlY3Rpb25TdGF0ZT11bCgicnVuU2VsZWN0aW9uU3RhdGUiLHtkZWZhdWx0VmFsdWU6e319KSx0aGlzLl9yZWdleE9ic2VydmVyPSRzKCJyZWdleElucHV0Iix7ZGVmYXVsdFZhbHVlOiIifSl9YXR0YWNoZWQoKXt0aGlzLl9ydW5TdG9yZUxpc3RlbmVyPUlsLmFkZExpc3RlbmVyKCgoKT0+e3RoaXMuc2V0KCJydW5zIixJbC5nZXRSdW5zKCkpfSkpLHRoaXMuc2V0KCJydW5zIixJbC5nZXRSdW5zKCkpLHRoaXMuX2VudlN0b3JlTGlzdGVuZXI9UGwuYWRkTGlzdGVuZXIoKCgpPT57dGhpcy5zZXQoImRhdGFMb2NhdGlvbiIsUGwuZ2V0RGF0YUxvY2F0aW9uKCkpfSkpLHRoaXMuc2V0KCJkYXRhTG9jYXRpb24iLFBsLmdldERhdGFMb2NhdGlvbigpKX1kZXRhY2hlZCgpe0lsLnJlbW92ZUxpc3RlbmVyQnlLZXkodGhpcy5fcnVuU3RvcmVMaXN0ZW5lciksUGwucmVtb3ZlTGlzdGVuZXJCeUtleSh0aGlzLl9lbnZTdG9yZUxpc3RlbmVyKX1fdG9nZ2xlQWxsKCl7dGhpcy4kLm11bHRpQ2hlY2tib3gudG9nZ2xlQWxsKCl9Z2V0IF9jbGlwcGVkRGF0YUxvY2F0aW9uKCl7dmFyIHQ9dGhpcy5kYXRhTG9jYXRpb24sZT10aGlzLl9kYXRhTG9jYXRpb25DbGlwTGVuZ3RoO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQubGVuZ3RoPmU/dC5zdWJzdHJpbmcoMCxlKTp0fV9vcGVuRGF0YUxvY2F0aW9uRGlhbG9nKHQpe3QucHJldmVudERlZmF1bHQoKSx0aGlzLiQkKCIjZGF0YS1sb2NhdGlvbi1kaWFsb2ciKS5vcGVuKCl9X3Nob3VsZFNob3dFeHBhbmREYXRhTG9jYXRpb25CdXR0b24odCxlKXtyZXR1cm4gdCYmdC5sZW5ndGg+ZX19O2JPLnRlbXBsYXRlPXhlYAogICAgPHBhcGVyLWRpYWxvZyB3aXRoLWJhY2tkcm9wPSIiIGlkPSJkYXRhLWxvY2F0aW9uLWRpYWxvZyI+CiAgICAgIDxoMj5EYXRhIExvY2F0aW9uPC9oMj4KICAgICAgPHRmLXdici1zdHJpbmcKICAgICAgICB2YWx1ZT0iW1tkYXRhTG9jYXRpb25dXSIKICAgICAgICBkZWxpbWl0ZXItcGF0dGVybj0iW1tfZGF0YUxvY2F0aW9uRGVsaW1pdGVyUGF0dGVybl1dIgogICAgICA+CiAgICAgIDwvdGYtd2JyLXN0cmluZwogICAgPjwvcGFwZXItZGlhbG9nPgogICAgPGRpdiBpZD0idG9wLXRleHQiPgogICAgICA8aDMgaWQ9InRvb2x0aXAtaGVscCIgY2xhc3M9InRvb2x0aXAtY29udGFpbmVyIj5SdW5zPC9oMz4KICAgIDwvZGl2PgogICAgPHRmLW11bHRpLWNoZWNrYm94CiAgICAgIGlkPSJtdWx0aUNoZWNrYm94IgogICAgICBuYW1lcz0iW1tydW5zXV0iCiAgICAgIHNlbGVjdGlvbi1zdGF0ZT0ie3tydW5TZWxlY3Rpb25TdGF0ZX19IgogICAgICBvdXQtc2VsZWN0ZWQ9Int7c2VsZWN0ZWRSdW5zfX0iCiAgICAgIHJlZ2V4PSJ7e3JlZ2V4SW5wdXR9fSIKICAgICAgY29sb3Jpbmc9IltbY29sb3JpbmddXSIKICAgID48L3RmLW11bHRpLWNoZWNrYm94PgogICAgPHBhcGVyLWJ1dHRvbiBjbGFzcz0ieC1idXR0b24iIGlkPSJ0b2dnbGUtYWxsIiBvbi10YXA9Il90b2dnbGVBbGwiPgogICAgICBUb2dnbGUgQWxsIFJ1bnMKICAgIDwvcGFwZXItYnV0dG9uPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2RhdGFMb2NhdGlvbl1dIj4KICAgICAgPGRpdiBpZD0iZGF0YS1sb2NhdGlvbiI+CiAgICAgICAgPHRmLXdici1zdHJpbmcKICAgICAgICAgIHZhbHVlPSJbW19jbGlwcGVkRGF0YUxvY2F0aW9uXV0iCiAgICAgICAgICBkZWxpbWl0ZXItcGF0dGVybj0iW1tfZGF0YUxvY2F0aW9uRGVsaW1pdGVyUGF0dGVybl1dIgogICAgICAgID48L3RmLXdici1zdHJpbmcKICAgICAgICA+PCEtLQogICAgICAgICAgV2UgdXNlIEhUTUwgY29tbWVudHMgdG8gcmVtb3ZlIHNwYWNlcyBiZWZvcmUgdGhlIGVsbGlwc2lzLgogICAgICAgIC0tPjx0ZW1wbGF0ZQogICAgICAgICAgaXM9ImRvbS1pZiIKICAgICAgICAgIGlmPSJbW19zaG91bGRTaG93RXhwYW5kRGF0YUxvY2F0aW9uQnV0dG9uKGRhdGFMb2NhdGlvbiwgX2RhdGFMb2NhdGlvbkNsaXBMZW5ndGgpXV0iCiAgICAgICAgICA+PCEtLQogICAgICAgICAgLS0+PGEgaHJlZj0iIiBvbi1jbGljaz0iX29wZW5EYXRhTG9jYXRpb25EaWFsb2ciPuKApjwvYT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsKICAgICAgfQogICAgICAjdG9wLXRleHQgewogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1zZWNvbmRhcnktdGV4dC1jb2xvcik7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQogICAgICB0Zi13YnItc3RyaW5nIHsKICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOwogICAgICB9CiAgICAgIHRmLW11bHRpLWNoZWNrYm94IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIC54LWJ1dHRvbiB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgfQogICAgICAjdG9vbHRpcC1oZWxwIHsKICAgICAgICBjb2xvcjogdmFyKC0tdGItc2Vjb25kYXJ5LXRleHQtY29sb3IpOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgIH0KICAgICAgcGFwZXItYnV0dG9uIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsKICAgICAgfQogICAgICAjZGF0YS1sb2NhdGlvbiB7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWFyZ2luOiA1cHggMCAwIDA7CiAgICAgICAgbWF4LXdpZHRoOiAyODhweDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0LG9ic2VydmVyOiJfc3RvcmVSdW5TZWxlY3Rpb25TdGF0ZSJ9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sYk8ucHJvdG90eXBlLCJydW5TZWxlY3Rpb25TdGF0ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxvYnNlcnZlcjoiX3JlZ2V4T2JzZXJ2ZXIifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGJPLnByb3RvdHlwZSwicmVnZXhJbnB1dCIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLGJPLnByb3RvdHlwZSwic2VsZWN0ZWRSdW5zIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxiTy5wcm90b3R5cGUsInJ1bnMiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGJPLnByb3RvdHlwZSwiZGF0YUxvY2F0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGJPLnByb3RvdHlwZSwiX2RhdGFMb2NhdGlvbkNsaXBMZW5ndGgiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sYk8ucHJvdG90eXBlLCJfZGF0YUxvY2F0aW9uRGVsaW1pdGVyUGF0dGVybiIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxiTy5wcm90b3R5cGUsImNvbG9yaW5nIix2b2lkIDApLHQoW3MoImRhdGFMb2NhdGlvbiIsIl9kYXRhTG9jYXRpb25DbGlwTGVuZ3RoIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sYk8ucHJvdG90eXBlLCJfY2xpcHBlZERhdGFMb2NhdGlvbiIsbnVsbCksYk89dChbaSgidGYtcnVucy1zZWxlY3RvciIpXSxiTyk7Y2xhc3MgeE97Y29uc3RydWN0b3IoKXt0aGlzLmNhbmNlbGxhdGlvbkNvdW50PTB9Y2FuY2VsbGFibGUodCl7Y29uc3QgZT10aGlzLmNhbmNlbGxhdGlvbkNvdW50O3JldHVybiBuPT50KHt2YWx1ZTpuLGNhbmNlbGxlZDp0aGlzLmNhbmNlbGxhdGlvbkNvdW50IT09ZX0pfWNhbmNlbEFsbCgpe3RoaXMuY2FuY2VsbGF0aW9uQ291bnQrK319bGV0IHdPPWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5odG1sPSIifWdldCBzYW5pdGl6ZWRIdG1sKCl7cmV0dXJuIHRoaXMuaHRtbH1hdHRhY2hlZCgpe3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57dGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLm1hcmtkb3duLCEwKX0pKX19O2Z1bmN0aW9uIFNPKHQpe3JldHVybiB0P3QudG9TdHJpbmcoKS5yZXBsYWNlKC9HTVQtXGQrIFwoKFteKV0rKVwpLywiJDEiKToiIn1mdW5jdGlvbiBNTyh0KXtjb25zdCBlPShmdW5jdGlvbiBuKHQpe2lmKCF0KXJldHVybiBudWxsO2xldCBlPXQubWF0Y2goL14jKFswLTlhLWZdezEsMn0pKFswLTlhLWZdezEsMn0pKFswLTlhLWZdezEsMn0pJC8pO2lmKCFlKXJldHVybiBudWxsO2lmKDQ9PXQubGVuZ3RoKWZvcih2YXIgbj0xO248PTM7bisrKWVbbl09ZVtuXStlW25dO3JldHVybltwYXJzZUludChlWzFdLDE2KSxwYXJzZUludChlWzJdLDE2KSxwYXJzZUludChlWzNdLDE2KV19KSh0KTtpZighZSlyZXR1cm4iaW5oZXJpdCI7cmV0dXJuIE1hdGgucm91bmQoKDI5OSplWzBdKzU4NyplWzFdKzExNCplWzJdKS8xZTMpPjEyNT8iaW5oZXJpdCI6IiNlZWUifXdPLnRlbXBsYXRlPXhlYAogICAgPGRpdiBpZD0ibWFya2Rvd24iIGlubmVyLWgtdC1tLWw9Iltbc2FuaXRpemVkSHRtbF1dIj48L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgLyoKICAgICAgICogUmVkdWNlIHRvcG1vc3QgYW5kIGJvdHRvbW1vc3QgbWFyZ2lucyBmcm9tIDE2cHggdG8gMC4zZW0gKHJlbmRlcnMKICAgICAgICogYXQgYWJvdXQgNC44cHgpIHRvIGtlZXAgdGhlIGxheW91dCBjb21wYWN0LiBUaGlzIGltcHJvdmVzIHRoZQogICAgICAgKiBhcHBlYXJhbmNlIHdoZW4gdGhlcmUgaXMgb25seSBvbmUgbGluZSBvZiB0ZXh0OyBzdGFuZGFyZCBNYXJrZG93bgogICAgICAgKiByZW5kZXJlcnMgd2lsbCBzdGlsbCBpbmNsdWRlIGEgXGA8cD5cYCBlbGVtZW50LgogICAgICAgKgogICAgICAgKiBCeSB0YXJnZXRpbmcgb25seSB0aGUgdG9wLWxldmVsLCBleHRyZW1hbCBlbGVtZW50cywgd2UgcHJlc2VydmUgYW55CiAgICAgICAqIGFjdHVhbCBwYXJhZ3JhcGggYnJlYWtzIGFuZCBvbmx5IGNoYW5nZSB0aGUgcGFkZGluZyBhZ2FpbnN0IHRoZQogICAgICAgKiBjb21wb25lbnQgZWRnZXMuCiAgICAgICAqLwogICAgICAjbWFya2Rvd24gPiBwOmZpcnN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tdG9wOiAwLjNlbTsKICAgICAgfQogICAgICAjbWFya2Rvd24gPiBwOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDAuM2VtOwogICAgICB9CgogICAgICAvKiBQbGVhc2FudCBzdHlsZXMgZm9yIE1hcmtkb3duIHRhYmxlcy4gKi8KICAgICAgI21hcmtkb3duIHRhYmxlIHsKICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgICB9CiAgICAgICNtYXJrZG93biB0YWJsZSB0aCB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQogICAgICAjbWFya2Rvd24gdGFibGUgdGgsCiAgICAgICNtYXJrZG93biB0YWJsZSB0ZCB7CiAgICAgICAgcGFkZGluZzogNnB4IDEzcHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGItdWktYm9yZGVyLCAjZGZlMmU1KTsKICAgICAgfQogICAgICAjbWFya2Rvd24gdGFibGUgdHIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRiLXVpLWJvcmRlciwgI2M2Y2JkMSk7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx3Ty5wcm90b3R5cGUsImh0bWwiLHZvaWQgMCksdChbcygiaHRtbCIpLGUoImRlc2lnbjp0eXBlIixPYmplY3QpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLHdPLnByb3RvdHlwZSwic2FuaXRpemVkSHRtbCIsbnVsbCksd089dChbaSgidGYtbWFya2Rvd24tdmlldyIpXSx3TyksbWwoe21vZHVsZU5hbWU6InRmLWNhcmQtaGVhZGluZy1zdHlsZSIsc3R5bGVDb250ZW50OiJcbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8qKiBIb3Jpem9udGFsIGxpbmUgb2YgbGFiZWxzLiAqL1xuICAgIC5oZWFkaW5nLXJvdyB7XG4gICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLyoqIFBpZWNlIG9mIHRleHQgaW4gdGhlIGZpZ3VyZSBjYXB0aW9uLiAqL1xuICAgIC5oZWFkaW5nLWxhYmVsIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICAvKiogTWFrZXMgbGFiZWwgc2hvdyBvbiB0aGUgcmlnaHQuICovXG4gICAgLmhlYWRpbmctcmlnaHQge1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgIH1cbiAgIn0pO2xldCBFTz1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmRpc3BsYXlOYW1lPW51bGwsdGhpcy50YWc9bnVsbCx0aGlzLnJ1bj1udWxsLHRoaXMuZGVzY3JpcHRpb249bnVsbCx0aGlzLmNvbG9yPW51bGx9X3VwZGF0ZUhlYWRpbmdTdHlsZSgpe3RoaXMudXBkYXRlU3R5bGVzKHsiLS10Zi1jYXJkLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvciI6dGhpcy5fcnVuQmFja2dyb3VuZCwiLS10Zi1jYXJkLWhlYWRpbmctY29sb3IiOnRoaXMuX3J1bkNvbG9yfSl9X2NvbXB1dGVSdW5CYWNrZ3JvdW5kKHQpe3JldHVybiB0fHwibm9uZSJ9X2NvbXB1dGVSdW5Db2xvcih0KXtyZXR1cm4gTU8odCl9Z2V0IF9uYW1lTGFiZWwoKXtyZXR1cm4gdGhpcy5kaXNwbGF5TmFtZXx8dGhpcy50YWd8fCIifWdldCBfdGFnTGFiZWwoKXt2YXIgdD10aGlzLnRhZztyZXR1cm4gdCYmdCE9PXRoaXMuZGlzcGxheU5hbWU/dDoiIn1fdG9nZ2xlRGVzY3JpcHRpb25EaWFsb2codCl7Y29uc3QgZT10aGlzLiQuZGVzY3JpcHRpb25EaWFsb2c7ZS5wb3NpdGlvblRhcmdldD10LnRhcmdldCxlLnRvZ2dsZSgpfX07RU8udGVtcGxhdGU9eGVgCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICA8ZmlnY2FwdGlvbiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1yb3ciPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19uYW1lTGFiZWxdXSI+CiAgICAgICAgICAgIDxkaXYgaXRlbXByb3A9Im5hbWUiIGNsYXNzPSJoZWFkaW5nLWxhYmVsIG5hbWUiPltbX25hbWVMYWJlbF1dPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3J1bl1dIj4KICAgICAgICAgICAgPCEtLSBFeHRyYSB3cmFwcGluZyBzcGFuIG5lZWRlZCB0byBhdm9pZCBmbGV4Ym94IGJsb2NraWZpY2F0aW9uLiAtLT4KICAgICAgICAgICAgPCEtLSAoc2VlIGZsZXhib3ggc3BlYywgc2VjdGlvbiA0ICJGbGV4IEl0ZW1zIikgLS0+CiAgICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICAgIDxzcGFuCiAgICAgICAgICAgICAgICBpdGVtcHJvcD0icnVuIgogICAgICAgICAgICAgICAgaWQ9ImhlYWRpbmctcnVuIgogICAgICAgICAgICAgICAgY2xhc3M9ImhlYWRpbmctbGFiZWwgaGVhZGluZy1yaWdodCBydW4iCiAgICAgICAgICAgICAgICA+W1tydW5dXTwvc3BhbgogICAgICAgICAgICAgID4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3RhZ0xhYmVsXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIj4KICAgICAgICAgICAgICB0YWc6IDxzcGFuIGl0ZW1wcm9wPSJ0YWciPltbX3RhZ0xhYmVsXV08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvZmlnY2FwdGlvbj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2Rlc2NyaXB0aW9uXV0iPgogICAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgICAgaWNvbj0iaW5mbyIKICAgICAgICAgIG9uLXRhcD0iX3RvZ2dsZURlc2NyaXB0aW9uRGlhbG9nIgogICAgICAgICAgdGl0bGU9IlNob3cgc3VtbWFyeSBkZXNjcmlwdGlvbiIKICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHBhcGVyLWRpYWxvZwogICAgICAgIGlkPSJkZXNjcmlwdGlvbkRpYWxvZyIKICAgICAgICBuby1vdmVybGFwPSIiCiAgICAgICAgaG9yaXpvbnRhbC1hbGlnbj0iYXV0byIKICAgICAgICB2ZXJ0aWNhbC1hbGlnbj0iYXV0byIKICAgICAgPgogICAgICAgIDxwYXBlci1kaWFsb2ctc2Nyb2xsYWJsZT4KICAgICAgICAgIDx0Zi1tYXJrZG93bi12aWV3IGh0bWw9IltbZGVzY3JpcHRpb25dXSI+PC90Zi1tYXJrZG93bi12aWV3PgogICAgICAgIDwvcGFwZXItZGlhbG9nLXNjcm9sbGFibGU+CiAgICAgIDwvcGFwZXItZGlhbG9nPgogICAgPC9kaXY+CiAgICA8c3R5bGUgaW5jbHVkZT0idGYtY2FyZC1oZWFkaW5nLXN0eWxlIj4KICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQogICAgICAuY29udGVudCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQogICAgICAubmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CiAgICAgIC5ydW4gewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgcGFkZGluZzogMXB4IDRweCAycHg7CiAgICAgIH0KICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGZsZXgtZ3JvdzogMDsKICAgICAgfQogICAgICBwYXBlci1kaWFsb2ctc2Nyb2xsYWJsZSB7CiAgICAgICAgbWF4LXdpZHRoOiA2NDBweDsKICAgICAgfQogICAgICAjaGVhZGluZy1ydW4gewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRmLWNhcmQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG9yKTsKICAgICAgICBjb2xvcjogdmFyKC0tdGYtY2FyZC1oZWFkaW5nLWNvbG9yKTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEVPLnByb3RvdHlwZSwiZGlzcGxheU5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRU8ucHJvdG90eXBlLCJ0YWciLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRU8ucHJvdG90eXBlLCJydW4iLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRU8ucHJvdG90eXBlLCJkZXNjcmlwdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxFTy5wcm90b3R5cGUsImNvbG9yIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkJhY2tncm91bmQoY29sb3IpIixyZWFkT25seTohMCxvYnNlcnZlcjoiX3VwZGF0ZUhlYWRpbmdTdHlsZSJ9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRU8ucHJvdG90eXBlLCJfcnVuQmFja2dyb3VuZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVSdW5Db2xvcihjb2xvcikiLHJlYWRPbmx5OiEwLG9ic2VydmVyOiJfdXBkYXRlSGVhZGluZ1N0eWxlIn0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxFTy5wcm90b3R5cGUsIl9ydW5Db2xvciIsdm9pZCAwKSx0KFtzKCJkaXNwbGF5TmFtZSIsInRhZyIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEVPLnByb3RvdHlwZSwiX25hbWVMYWJlbCIsbnVsbCksdChbcygiZGlzcGxheU5hbWUiLCJ0YWciKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxFTy5wcm90b3R5cGUsIl90YWdMYWJlbCIsbnVsbCksRU89dChbaSgidGYtY2FyZC1oZWFkaW5nIildLEVPKTtsZXQgVE89Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9tZXRhZGF0YUNhbmNlbGxlcj1uZXcgeE8sdGhpcy5fc3RlcHM9W10sdGhpcy5fYXR0YWNoZWQ9ITF9Z2V0IF9ydW5Db2xvcigpe3JldHVybiBfTyh0aGlzLnJ1bil9Z2V0IF9oYXNBdExlYXN0T25lU3RlcCgpe3ZhciB0PXRoaXMuX3N0ZXBzO3JldHVybiEhdCYmdC5sZW5ndGg+MH1nZXQgX2hhc011bHRpcGxlU3RlcHMoKXt2YXIgdD10aGlzLl9zdGVwcztyZXR1cm4hIXQmJnQubGVuZ3RoPjF9Z2V0IF9tYXhTdGVwSW5kZXgoKXtyZXR1cm4gdGhpcy5fc3RlcHMubGVuZ3RoLTF9Z2V0IF9jdXJyZW50RGF0dW0oKXtyZXR1cm4gdGhpcy5fc3RlcHNbdGhpcy5fc3RlcEluZGV4XX1nZXQgX3NhbXBsZVRleHQoKXtyZXR1cm5gJHt0aGlzLnNhbXBsZSsxfWB9Z2V0IF9oYXNNdWx0aXBsZVNhbXBsZXMoKXtyZXR1cm4gdGhpcy50b3RhbFNhbXBsZXM+MX1hdHRhY2hlZCgpe3RoaXMuX2F0dGFjaGVkPSEwLHRoaXMucmVsb2FkKCl9X3JlbG9hZE9uUnVuVGFnQ2hhbmdlKCl7dGhpcy5yZWxvYWQoKX1yZWxvYWQoKXtpZighdGhpcy5fYXR0YWNoZWQpcmV0dXJuO3RoaXMuX21ldGFkYXRhQ2FuY2VsbGVyLmNhbmNlbEFsbCgpO2NvbnN0IHQ9RXIoKS5wbHVnaW5Sb3V0ZSgiYXVkaW8iLCIvYXVkaW8iLG5ldyBVUkxTZWFyY2hQYXJhbXMoe3RhZzp0aGlzLnRhZyxydW46dGhpcy5ydW4sc2FtcGxlOlN0cmluZyh0aGlzLnNhbXBsZSl9KSksZT10aGlzLl9tZXRhZGF0YUNhbmNlbGxlci5jYW5jZWxsYWJsZSgodD0+e2lmKHQuY2FuY2VsbGVkKXJldHVybjtjb25zdCBlPXQudmFsdWUubWFwKHRoaXMuX2NyZWF0ZVN0ZXBEYXR1bS5iaW5kKHRoaXMpKTt0aGlzLnNldCgiX3N0ZXBzIixlKSx0aGlzLnNldCgiX3N0ZXBJbmRleCIsZS5sZW5ndGgtMSl9KSk7dGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KHQpLnRoZW4oZSl9X2NyZWF0ZVN0ZXBEYXR1bSh0KXtjb25zdCBlPW5ldyBVUkxTZWFyY2hQYXJhbXModC5xdWVyeSk7ZS5hcHBlbmQoInRzIixTdHJpbmcodC53YWxsX3RpbWUpKTtjb25zdCBuPUVyKCkucGx1Z2luUm91dGUoImF1ZGlvIiwiL2luZGl2aWR1YWxBdWRpbyIsZSk7cmV0dXJue3dhbGxfdGltZTpTTyhuZXcgRGF0ZSgxZTMqdC53YWxsX3RpbWUpKSxzdGVwOnQuc3RlcCxsYWJlbDp0LmxhYmVsLGNvbnRlbnRUeXBlOnQuY29udGVudFR5cGUsdXJsOm59fX07VE8udGVtcGxhdGU9eGVgCiAgICA8dGYtY2FyZC1oZWFkaW5nCiAgICAgIHRhZz0iW1t0YWddXSIKICAgICAgcnVuPSJbW3J1bl1dIgogICAgICBkaXNwbGF5LW5hbWU9IltbdGFnTWV0YWRhdGEuZGlzcGxheU5hbWVdXSIKICAgICAgZGVzY3JpcHRpb249IltbdGFnTWV0YWRhdGEuZGVzY3JpcHRpb25dXSIKICAgICAgY29sb3I9IltbX3J1bkNvbG9yXV0iCiAgICA+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzTXVsdGlwbGVTYW1wbGVzXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctbGFiZWwiPgogICAgICAgICAgICBzYW1wbGU6IFtbX3NhbXBsZVRleHRdXSBvZiBbW3RvdGFsU2FtcGxlc11dCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19oYXNBdExlYXN0T25lU3RlcF1dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIj4KICAgICAgICAgICAgc3RlcCA8c3Ryb25nPltbX2N1cnJlbnREYXR1bS5zdGVwXV08L3N0cm9uZz4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19jdXJyZW50RGF0dW0ud2FsbF90aW1lXV0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIGhlYWRpbmctcmlnaHQiPgogICAgICAgICAgICAgIFtbX2N1cnJlbnREYXR1bS53YWxsX3RpbWVdXQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzTXVsdGlwbGVTdGVwc11dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXJvdyI+CiAgICAgICAgICA8cGFwZXItc2xpZGVyCiAgICAgICAgICAgIGlkPSJzdGVwcyIKICAgICAgICAgICAgaW1tZWRpYXRlLXZhbHVlPSJ7e19zdGVwSW5kZXh9fSIKICAgICAgICAgICAgbWF4PSJbW19tYXhTdGVwSW5kZXhdXSIKICAgICAgICAgICAgbWF4LW1hcmtlcnM9IltbX21heFN0ZXBJbmRleF1dIgogICAgICAgICAgICBzbmFwcz0iIgogICAgICAgICAgICBzdGVwPSIxIgogICAgICAgICAgICB2YWx1ZT0ie3tfc3RlcEluZGV4fX0iCiAgICAgICAgICA+PC9wYXBlci1zbGlkZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L3RmLWNhcmQtaGVhZGluZz4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzQXRMZWFzdE9uZVN0ZXBdXSI+CiAgICAgIDxhdWRpbwogICAgICAgIGNvbnRyb2xzPSIiCiAgICAgICAgc3JjJD0iW1tfY3VycmVudERhdHVtLnVybF1dIgogICAgICAgIHR5cGUkPSJbW19jdXJyZW50RGF0dW0uY29udGVudFR5cGVdXSIKICAgICAgPjwvYXVkaW8+CiAgICAgIDx0Zi1tYXJrZG93bi12aWV3IGh0bWw9IltbX2N1cnJlbnREYXR1bS5sYWJlbF1dIj48L3RmLW1hcmtkb3duLXZpZXc+CiAgICA8L3RlbXBsYXRlPgogICAgPGRpdiBpZD0ibWFpbi1hdWRpby1jb250YWluZXIiPjwvZGl2PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJ0Zi1jYXJkLWhlYWRpbmctc3R5bGUiPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDM1MHB4OwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yOiAjNDI0MjQyOwogICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICB9CgogICAgICAjc3RlcHMgewogICAgICAgIGhlaWdodDogMTVweDsKICAgICAgICBtYXJnaW46IDAgMCAwIC0xNXB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgcGFkZGluZzogMCA1cHg7IC8qIHNvIHRoZSBzbGlkZXIga25vYiBkb2Vzbid0IGJ1dHQgb3V0ICovCiAgICAgICAgbWFyZ2luLXRvcDogNXB4OwogICAgICAgIC0tcGFwZXItc2xpZGVyLWFjdGl2ZS1jb2xvcjogdmFyKC0tc3RlcC1zbGlkZXIta25vYi1jb2xvcik7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1jb2xvcjogdmFyKC0tc3RlcC1zbGlkZXIta25vYi1jb2xvcik7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLWNvbG9yOiB2YXIoLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yOiB2YXIoLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tc3RlcC1zbGlkZXIta25vYi1jb2xvcik7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLXN0YXJ0LWNvbG9yOiB2YXIoLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yKTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFRPLnByb3RvdHlwZSwicnVuIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFRPLnByb3RvdHlwZSwidGFnIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLFRPLnByb3RvdHlwZSwic2FtcGxlIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLFRPLnByb3RvdHlwZSwidG90YWxTYW1wbGVzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFRPLnByb3RvdHlwZSwidGFnTWV0YWRhdGEiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxUTy5wcm90b3R5cGUsInJlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHhPKV0sVE8ucHJvdG90eXBlLCJfbWV0YWRhdGFDYW5jZWxsZXIiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLFRPLnByb3RvdHlwZSwiX3N0ZXBzIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLFRPLnByb3RvdHlwZSwiX3N0ZXBJbmRleCIsdm9pZCAwKSx0KFtzKCJydW4iKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxUTy5wcm90b3R5cGUsIl9ydW5Db2xvciIsbnVsbCksdChbcygiX3N0ZXBzIiksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLFRPLnByb3RvdHlwZSwiX2hhc0F0TGVhc3RPbmVTdGVwIixudWxsKSx0KFtzKCJfc3RlcHMiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sVE8ucHJvdG90eXBlLCJfaGFzTXVsdGlwbGVTdGVwcyIsbnVsbCksdChbcygiX3N0ZXBzIiksZSgiZGVzaWduOnR5cGUiLE51bWJlciksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sVE8ucHJvdG90eXBlLCJfbWF4U3RlcEluZGV4IixudWxsKSx0KFtzKCJfc3RlcHMiLCJfc3RlcEluZGV4IiksZSgiZGVzaWduOnR5cGUiLE9iamVjdCksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sVE8ucHJvdG90eXBlLCJfY3VycmVudERhdHVtIixudWxsKSx0KFtzKCJzYW1wbGUiKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxUTy5wcm90b3R5cGUsIl9zYW1wbGVUZXh0IixudWxsKSx0KFtzKCJ0b3RhbFNhbXBsZXMiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sVE8ucHJvdG90eXBlLCJfaGFzTXVsdGlwbGVTYW1wbGVzIixudWxsKSx0KFthKCJydW4iLCJ0YWciKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLFRPLnByb3RvdHlwZSwiX3JlbG9hZE9uUnVuVGFnQ2hhbmdlIixudWxsKSxUTz10KFtpKCJ0Zi1hdWRpby1sb2FkZXIiKV0sVE8pO2xldCBDTz1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVsb2FkT25SZWFkeT0hMCx0aGlzLl90YWdGaWx0ZXI9IiIsdGhpcy5fcmVxdWVzdE1hbmFnZXI9bmV3IGJyfXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLnJlbG9hZE9uUmVhZHkmJnRoaXMucmVsb2FkKCl9cmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKCk9Pnt0aGlzLl9yZWxvYWRBdWRpbygpfSkpfV9mZXRjaFRhZ3MoKXtjb25zdCB0PUVyKCkucGx1Z2luUm91dGUoImF1ZGlvIiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0KS50aGVuKCh0PT57aWYoQ2UuZXhwb3J0cy5pc0VxdWFsKHQsdGhpcy5fcnVuVG9UYWdJbmZvKSlyZXR1cm47Y29uc3QgZT1mcihDZS5leHBvcnRzLm1hcFZhbHVlcyh0LCh0PT5PYmplY3Qua2V5cyh0KSkpKTt0aGlzLnNldCgiX2RhdGFOb3RGb3VuZCIsMD09PWUubGVuZ3RoKSx0aGlzLnNldCgiX3J1blRvVGFnSW5mbyIsdCl9KSl9X3JlbG9hZEF1ZGlvKCl7dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLWF1ZGlvLWxvYWRlciIpLmZvckVhY2goKHQ9Pnt0LnJlbG9hZCgpfSkpfV9zaG91bGRPcGVuKHQpe3JldHVybiB0PD0yfWdldCBfY2F0ZWdvcmllcygpe3ZhciB0PXRoaXMuX3J1blRvVGFnSW5mbyxlPXRoaXMuX3NlbGVjdGVkUnVucyxuPXRoaXMuX3RhZ0ZpbHRlcjtmdW5jdGlvbiBpKGUpe2NvbnN0IG49dFtlLnJ1bl1bZS50YWddLnNhbXBsZXM7cmV0dXJuIENlLmV4cG9ydHMucmFuZ2UobikubWFwKCh0PT5PYmplY3QuYXNzaWduKHt9LGUse3NhbXBsZTp0LHRvdGFsU2FtcGxlczpufSkpKX1yZXR1cm4gSXIoQ2UuZXhwb3J0cy5tYXBWYWx1ZXModCwodD0+T2JqZWN0LmtleXModCkpKSxlLG4pLm1hcCgodD0+T2JqZWN0LmFzc2lnbih7fSx0LHtpdGVtczpbXS5jb25jYXQuYXBwbHkoW10sdC5pdGVtcy5tYXAoaSkpfSkpKX1fdGFnTWV0YWRhdGEodCxlLG4pe3JldHVybiB0W2VdW25dfX07Q08udGVtcGxhdGU9eGVgCiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciIgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIHJ1bnMtc2VsZWN0b3IiPgogICAgICAgICAgPHRmLXJ1bnMtc2VsZWN0b3IKICAgICAgICAgICAgaWQ9InJ1bnMtc2VsZWN0b3IiCiAgICAgICAgICAgIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319IgogICAgICAgICAgPjwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBhdWRpbyBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgYXVkaW8gZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgPGxpPlRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiCiAgICAgICAgICAgICAgICA+UkVBRE1FPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgICAgPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hCiAgICAgICAgICAgICAgPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyIKICAgICAgICAgICAgICAgID50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDx0Zi10YWctZmlsdGVyZXIgdGFnLWZpbHRlcj0ie3tfdGFnRmlsdGVyfX0iPjwvdGYtdGFnLWZpbHRlcmVyPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcKICAgICAgICAgICAgICBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIgogICAgICAgICAgICAgIGluaXRpYWwtb3BlbmVkPSJbW19zaG91bGRPcGVuKGluZGV4KV1dIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLWF1ZGlvLWxvYWRlcgogICAgICAgICAgICAgICAgICBhY3RpdmU9IltbYWN0aXZlXV0iCiAgICAgICAgICAgICAgICAgIHJ1bj0iW1tpdGVtLnJ1bl1dIgogICAgICAgICAgICAgICAgICB0YWc9IltbaXRlbS50YWddXSIKICAgICAgICAgICAgICAgICAgc2FtcGxlPSJbW2l0ZW0uc2FtcGxlXV0iCiAgICAgICAgICAgICAgICAgIHRvdGFsLXNhbXBsZXM9IltbaXRlbS50b3RhbFNhbXBsZXNdXSIKICAgICAgICAgICAgICAgICAgdGFnLW1ldGFkYXRhPSJbW190YWdNZXRhZGF0YShfcnVuVG9UYWdJbmZvLCBpdGVtLnJ1biwgaXRlbS50YWcpXV0iCiAgICAgICAgICAgICAgICAgIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSIKICAgICAgICAgICAgICAgID48L3RmLWF1ZGlvLWxvYWRlcj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDTy5wcm90b3R5cGUsInJlbG9hZE9uUmVhZHkiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLENPLnByb3RvdHlwZSwiX3NlbGVjdGVkUnVucyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxDTy5wcm90b3R5cGUsIl9ydW5Ub1RhZ0luZm8iLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDTy5wcm90b3R5cGUsIl9kYXRhTm90Rm91bmQiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQ08ucHJvdG90eXBlLCJfdGFnRmlsdGVyIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0sQ08ucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbcygiX3J1blRvVGFnSW5mbyIsIl9zZWxlY3RlZFJ1bnMiLCJfdGFnRmlsdGVyIiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxDTy5wcm90b3R5cGUsIl9jYXRlZ29yaWVzIixudWxsKSxDTz10KFtpKCJ0Zi1hdWRpby1kYXNoYm9hcmQiKV0sQ08pO2xldCBBTz1jbGFzcyBleHRlbmRzKGNyKHdlKSl7YXR0YWNoZWQoKXt0aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuZ2V0RWZmZWN0aXZlQ2hpbGRyZW4oKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3RoaXMubGlzdGVuKHQsInRhcCIsIl9zZWxlY3RUYXJnZXQiKX0uYmluZCh0aGlzKSl9KSl9X3NlbGVjdFRhcmdldCh0KXt0aGlzLnNlbGVjdGVkSWQ9dC5jdXJyZW50VGFyZ2V0LmlkfV9zZWxlY3RlZElkQ2hhbmdlZCgpe3ZhciB0PXRoaXMucXVlcnlFZmZlY3RpdmVDaGlsZHJlbigiIyIrdGhpcy5zZWxlY3RlZElkKTt0JiYodGhpcy5nZXRFZmZlY3RpdmVDaGlsZHJlbigpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuY2xhc3NMaXN0LnJlbW92ZSgic2VsZWN0ZWQiKX0pKSx0LmNsYXNzTGlzdC5hZGQoInNlbGVjdGVkIikpfX07ZnVuY3Rpb24ga08odCxlKXtsZXQgbjtjb25zdCBpPXt9O09iamVjdC5rZXlzKHQpLmZvckVhY2goKGU9Pntjb25zdCByPXRbZV07dm9pZCAwPT09biYmKG49ci5kaXNwbGF5TmFtZSksbiE9PXIuZGlzcGxheU5hbWUmJihuPW51bGwpLHZvaWQgMD09PWlbci5kZXNjcmlwdGlvbl0mJihpW3IuZGVzY3JpcHRpb25dPVtdKSxpW3IuZGVzY3JpcHRpb25dLnB1c2goZSl9KSk7cmV0dXJue2Rpc3BsYXlOYW1lOm51bGwhPW4/bjplLGRlc2NyaXB0aW9uOigoKT0+e2NvbnN0IHQ9T2JqZWN0LmtleXMoaSk7aWYoMD09PXQubGVuZ3RoKXJldHVybiIiO2lmKDE9PT10Lmxlbmd0aClyZXR1cm4gdFswXTtyZXR1cm5gJHsiPHA+PHN0cm9uZz5NdWx0aXBsZSBkZXNjcmlwdGlvbnM6PC9zdHJvbmc+PC9wPiJ9PHVsPiR7dC5tYXAoKHQ9Pntjb25zdCBlPWlbdF0ubWFwKCh0PT5gPGNvZGU+JHt0LnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpLnJlcGxhY2UoLyYvZywiJmFtcDsiKX08L2NvZGU+YCkpLG49ZS5sZW5ndGg+Mj9lLnNsaWNlKDAsZS5sZW5ndGgtMSkuam9pbigiLCAiKSsiLCBhbmQgIitlW2UubGVuZ3RoLTFdOmUuam9pbigiIGFuZCAiKTtyZXR1cm5gPGxpPjxwPkZvciAkeyhmdW5jdGlvbiByKHQsZSxuKXtyZXR1cm4gMT09PXQ/ZTpufSkoZS5sZW5ndGgsInJ1biIsInJ1bnMiKX0gJHtufTo8L3A+JHt0fTwvbGk+YH0pKS5qb2luKCIiKX08L3VsPmB9KSgpfX1BTy50ZW1wbGF0ZT14ZWAKICAgIDxkaXYgaWQ9IndyYXAiPgogICAgICA8aDM+W1tuYW1lXV08L2gzPgogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPjxzbG90Pjwvc2xvdD48L2Rpdj4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICAuY29udGVudC13cmFwcGVyIDo6c2xvdHRlZCgqKSB7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tdGItdWktZGFyay1hY2NlbnQpOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgICB9CgogICAgICAuY29udGVudC13cmFwcGVyIDo6c2xvdHRlZCgqKSB7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tdGItdWktZGFyay1hY2NlbnQpOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgICB9CgogICAgICAuY29udGVudC13cmFwcGVyIDo6c2xvdHRlZCguc2VsZWN0ZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10Yi11aS1kYXJrLWFjY2VudCk7CiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIGgzIHsKICAgICAgICBjb2xvcjogdmFyKC0tdGItc2Vjb25kYXJ5LXRleHQtY29sb3IpOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAgIG1hcmdpbjogMCAwIDVweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEFPLnByb3RvdHlwZSwibmFtZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxub3RpZnk6ITAsb2JzZXJ2ZXI6Il9zZWxlY3RlZElkQ2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQU8ucHJvdG90eXBlLCJzZWxlY3RlZElkIix2b2lkIDApLEFPPXQoW2koInRmLW9wdGlvbi1zZWxlY3RvciIpXSxBTyk7bGV0IExPPWNsYXNzIGV4dGVuZHMgd2V7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMud2VpZ2h0PS42LHRoaXMuX3VwZGF0ZVdlaWdodD1DZS5leHBvcnRzLmRlYm91bmNlKChmdW5jdGlvbih0KXt0aGlzLndlaWdodD10fSksMjUwKX1faW1tZWRpYXRlV2VpZ2h0TnVtYmVyRm9yUGFwZXJTbGlkZXJDaGFuZ2VkKCl7dGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0PXRoaXMuX2ltbWVkaWF0ZVdlaWdodE51bWJlckZvclBhcGVyU2xpZGVyLnRvU3RyaW5nKCksdGhpcy5fdXBkYXRlV2VpZ2h0LmNhbGwodGhpcyx0aGlzLl9pbW1lZGlhdGVXZWlnaHROdW1iZXJGb3JQYXBlclNsaWRlcil9X2lucHV0V2VpZ2h0U3RyaW5nRm9yUGFwZXJJbnB1dENoYW5nZWQoKXsrdGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0PDA/dGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0PSIwIjordGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0PjEmJih0aGlzLl9pbnB1dFdlaWdodFN0cmluZ0ZvclBhcGVySW5wdXQ9IjEiKTt2YXIgdD0rdGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0O2lzTmFOKHQpfHx0aGlzLl91cGRhdGVXZWlnaHQuY2FsbCh0aGlzLHQpfX07ZnVuY3Rpb24gUE8odCxlKXtjb25zdCBuPU9iamVjdC5rZXlzKGUpLnNvcnQoKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKTtpZighbi5sZW5ndGgpcmV0dXJuIHQ7Y29uc3QgaT0tMSE9PXQuaW5kZXhPZigiPyIpPyImIjoiPyI7cmV0dXJuIHQraStbXS5jb25jYXQoLi4ubi5tYXAoKHQ9Pntjb25zdCBuPWVbdF07cmV0dXJuKEFycmF5LmlzQXJyYXkobik/bjpbbl0pLm1hcCgoZT0+YCR7dH09JHsoZnVuY3Rpb24gbih0KXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHQpLnJlcGxhY2UoL1woL2csIiUyOCIpLnJlcGxhY2UoL1wpL2csIiUyOSIpfSkoZSl9YCkpfSkpKS5qb2luKCImIil9TE8udGVtcGxhdGU9eGVgCiAgICA8aDMgY2xhc3M9InRpdGxlIj5TbW9vdGhpbmc8L2gzPgogICAgPGRpdiBjbGFzcz0ic21vb3RoaW5nLWJsb2NrIj4KICAgICAgPHBhcGVyLXNsaWRlcgogICAgICAgIGlkPSJzbGlkZXIiCiAgICAgICAgaW1tZWRpYXRlLXZhbHVlPSJ7e19pbW1lZGlhdGVXZWlnaHROdW1iZXJGb3JQYXBlclNsaWRlcn19IgogICAgICAgIG1heD0iW1ttYXhdXSIKICAgICAgICBtaW49IltbbWluXV0iCiAgICAgICAgcGluCiAgICAgICAgc3RlcD0iW1tzdGVwXV0iCiAgICAgICAgdHlwZT0ibnVtYmVyIgogICAgICAgIHZhbHVlPSJ7e3dlaWdodH19IgogICAgICA+PC9wYXBlci1zbGlkZXI+CiAgICAgIDxwYXBlci1pbnB1dAogICAgICAgIGlkPSJpbnB1dCIKICAgICAgICBsYWJlbD0id2VpZ2h0IgogICAgICAgIG5vLWxhYmVsLWZsb2F0CiAgICAgICAgdmFsdWU9Int7X2lucHV0V2VpZ2h0U3RyaW5nRm9yUGFwZXJJbnB1dH19IgogICAgICAgIHR5cGU9Im51bWJlciIKICAgICAgICBzdGVwPSJbW3N0ZXBdXSIKICAgICAgICBtaW49IltbbWluXV0iCiAgICAgICAgbWF4PSJbW21heF1dIgogICAgICA+PC9wYXBlci1pbnB1dD4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICAudGl0bGUgewogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1zZWNvbmRhcnktdGV4dC1jb2xvcik7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgfQoKICAgICAgLnNtb290aGluZy1ibG9jayB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQoKICAgICAgcGFwZXItc2xpZGVyIHsKICAgICAgICAtLXBhcGVyLXNsaWRlci1hY3RpdmUtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2ItY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1tYXJrZXJzLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1waW4tY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLXBpbi1zdGFydC1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgZmxleC1ncm93OiAyOwogICAgICB9CgogICAgICBwYXBlci1pbnB1dCB7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItZm9jdXMtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0OiB7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQogICAgICAgIC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWxhYmVsOiB7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQogICAgICAgIHdpZHRoOiA2MHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sTE8ucHJvdG90eXBlLCJzdGVwIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLExPLnByb3RvdHlwZSwibWF4Iix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLExPLnByb3RvdHlwZSwibWluIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxMTy5wcm90b3R5cGUsIndlaWdodCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcixub3RpZnk6ITAsb2JzZXJ2ZXI6Il9pbW1lZGlhdGVXZWlnaHROdW1iZXJGb3JQYXBlclNsaWRlckNoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLExPLnByb3RvdHlwZSwiX2ltbWVkaWF0ZVdlaWdodE51bWJlckZvclBhcGVyU2xpZGVyIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMCxvYnNlcnZlcjoiX2lucHV0V2VpZ2h0U3RyaW5nRm9yUGFwZXJJbnB1dENoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLExPLnByb3RvdHlwZSwiX2lucHV0V2VpZ2h0U3RyaW5nRm9yUGFwZXJJbnB1dCIsdm9pZCAwKSxMTz10KFtpKCJ0Zi1zbW9vdGhpbmctaW5wdXQiKV0sTE8pO3ZhciBOTz17fSxJTz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodFtuXT1lW25dKX07Ci8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlCiAgICB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZQogICAgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiAgICBUSElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZCiAgICBLSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIEFOWSBJTVBMSUVECiAgICBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgVElUTEUsIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLAogICAgTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC4KCiAgICBTZWUgdGhlIEFwYWNoZSBWZXJzaW9uIDIuMCBMaWNlbnNlIGZvciBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMKICAgIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovdmFyIFJPPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uIHQoZSl7Zm9yKHZhciBuLGk9MSxyPWFyZ3VtZW50cy5sZW5ndGg7aTxyO2krKylmb3IodmFyIG8gaW4gbj1hcmd1bWVudHNbaV0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sbykmJihlW29dPW5bb10pO3JldHVybiBlfTtmdW5jdGlvbiBPTyh0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl0sbj0wO3JldHVybiBlP2UuY2FsbCh0KTp7bmV4dDpmdW5jdGlvbigpe3JldHVybiB0JiZuPj10Lmxlbmd0aCYmKHQ9dm9pZCAwKSx7dmFsdWU6dCYmdFtuKytdLGRvbmU6IXR9fX19ZnVuY3Rpb24gek8odCxlKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl07aWYoIW4pcmV0dXJuIHQ7dmFyIGkscixvPW4uY2FsbCh0KSxhPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT1lfHxlLS0gPjApJiYhKGk9by5uZXh0KCkpLmRvbmU7KWEucHVzaChpLnZhbHVlKX1jYXRjaCh0KXtyPXtlcnJvcjp0fX1maW5hbGx5e3RyeXtpJiYhaS5kb25lJiYobj1vLnJldHVybikmJm4uY2FsbChvKX1maW5hbGx5e2lmKHIpdGhyb3cgci5lcnJvcn19cmV0dXJuIGF9ZnVuY3Rpb24gRE8odCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBETz8odGhpcy52PXQsdGhpcyk6bmV3IERPKHQpfXZhciBCTz1NZShPYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxfX2V4dGVuZHM6ZnVuY3Rpb24gSE8odCxlKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fUlPKHQsZSksdC5wcm90b3R5cGU9bnVsbD09PWU/T2JqZWN0LmNyZWF0ZShlKToobi5wcm90b3R5cGU9ZS5wcm90b3R5cGUsbmV3IG4pfSxfX2Fzc2lnbjpSTyxfX3Jlc3Q6ZnVuY3Rpb24gRk8odCxlKXt2YXIgbj17fTtmb3IodmFyIGkgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxpKSYmZS5pbmRleE9mKGkpPDAmJihuW2ldPXRbaV0pO2lmKG51bGwhPXQmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgcj0wO2ZvcihpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7cjxpLmxlbmd0aDtyKyspZS5pbmRleE9mKGlbcl0pPDAmJihuW2lbcl1dPXRbaVtyXV0pfXJldHVybiBufSxfX2RlY29yYXRlOmZ1bmN0aW9uIFZPKHQsZSxuLGkpe3ZhciByLG89YXJndW1lbnRzLmxlbmd0aCxhPW88Mz9lOm51bGw9PT1pP2k9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLG4pOmk7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlhPVJlZmxlY3QuZGVjb3JhdGUodCxlLG4saSk7ZWxzZSBmb3IodmFyIHM9dC5sZW5ndGgtMTtzPj0wO3MtLSkocj10W3NdKSYmKGE9KG88Mz9yKGEpOm8+Mz9yKGUsbixhKTpyKGUsbikpfHxhKTtyZXR1cm4gbz4zJiZhJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLGEpLGF9LF9fcGFyYW06ZnVuY3Rpb24gVU8odCxlKXtyZXR1cm4gZnVuY3Rpb24obixpKXtlKG4saSx0KX19LF9fbWV0YWRhdGE6ZnVuY3Rpb24gak8odCxlKXtpZigib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJiJmdW5jdGlvbiI9PXR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhKXJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKHQsZSl9LF9fYXdhaXRlcjpmdW5jdGlvbiBHTyh0LGUsbixpKXtyZXR1cm4gbmV3KG58fChuPVByb21pc2UpKSgoZnVuY3Rpb24ocixvKXtmdW5jdGlvbiBhKHQpe3RyeXtsKGkubmV4dCh0KSl9Y2F0Y2godCl7byh0KX19ZnVuY3Rpb24gcyh0KXt0cnl7bChpLnRocm93KHQpKX1jYXRjaCh0KXtvKHQpfX1mdW5jdGlvbiBsKHQpe3QuZG9uZT9yKHQudmFsdWUpOm5ldyBuKChmdW5jdGlvbihlKXtlKHQudmFsdWUpfSkpLnRoZW4oYSxzKX1sKChpPWkuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KSl9LF9fZ2VuZXJhdG9yOmZ1bmN0aW9uIFdPKHQsZSl7dmFyIG4saSxyLG8sYT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZyWzBdKXRocm93IHJbMV07cmV0dXJuIHJbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gbz17bmV4dDpzKDApLHRocm93OnMoMSkscmV0dXJuOnMoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihvW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLG87ZnVuY3Rpb24gcyhvKXtyZXR1cm4gZnVuY3Rpb24ocyl7cmV0dXJuKGZ1bmN0aW9uIGwobyl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDthOyl0cnl7aWYobj0xLGkmJihyPWlbMiZvWzBdPyJyZXR1cm4iOm9bMF0/InRocm93IjoibmV4dCJdKSYmIShyPXIuY2FsbChpLG9bMV0pKS5kb25lKXJldHVybiByO3N3aXRjaChpPTAsciYmKG89WzAsci52YWx1ZV0pLG9bMF0pe2Nhc2UgMDpjYXNlIDE6cj1vO2JyZWFrO2Nhc2UgNDpyZXR1cm4gYS5sYWJlbCsrLHt2YWx1ZTpvWzFdLGRvbmU6ITF9O2Nhc2UgNTphLmxhYmVsKyssaT1vWzFdLG89WzBdO2NvbnRpbnVlO2Nhc2UgNzpvPWEub3BzLnBvcCgpLGEudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEocj1hLnRyeXMsKHI9ci5sZW5ndGg+MCYmcltyLmxlbmd0aC0xXSl8fDYhPT1vWzBdJiYyIT09b1swXSkpe2E9MDtjb250aW51ZX1pZigzPT09b1swXSYmKCFyfHxvWzFdPnJbMF0mJm9bMV08clszXSkpe2EubGFiZWw9b1sxXTticmVha31pZig2PT09b1swXSYmYS5sYWJlbDxyWzFdKXthLmxhYmVsPXJbMV0scj1vO2JyZWFrfWlmKHImJmEubGFiZWw8clsyXSl7YS5sYWJlbD1yWzJdLGEub3BzLnB1c2gobyk7YnJlYWt9clsyXSYmYS5vcHMucG9wKCksYS50cnlzLnBvcCgpO2NvbnRpbnVlfW89ZS5jYWxsKHQsYSl9Y2F0Y2godCl7bz1bNix0XSxpPTB9ZmluYWxseXtuPXI9MH1pZig1Jm9bMF0pdGhyb3cgb1sxXTtyZXR1cm57dmFsdWU6b1swXT9vWzFdOnZvaWQgMCxkb25lOiEwfX0pKFtvLHNdKX19fSxfX2V4cG9ydFN0YXI6ZnVuY3Rpb24gcU8odCxlKXtmb3IodmFyIG4gaW4gdCllLmhhc093blByb3BlcnR5KG4pfHwoZVtuXT10W25dKX0sX192YWx1ZXM6T08sX19yZWFkOnpPLF9fc3ByZWFkOmZ1bmN0aW9uIFlPKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXQ9dC5jb25jYXQoek8oYXJndW1lbnRzW2VdKSk7cmV0dXJuIHR9LF9fYXdhaXQ6RE8sX19hc3luY0dlbmVyYXRvcjpmdW5jdGlvbiBYTyh0LGUsbil7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciBpLHI9bi5hcHBseSh0LGV8fFtdKSxvPVtdO3JldHVybiBpPXt9LGEoIm5leHQiKSxhKCJ0aHJvdyIpLGEoInJldHVybiIpLGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGk7ZnVuY3Rpb24gYSh0KXtyW3RdJiYoaVt0XT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4saSl7by5wdXNoKFt0LGUsbixpXSk+MXx8cyh0LGUpfSkpfSl9ZnVuY3Rpb24gcyh0LGUpe3RyeXshKGZ1bmN0aW9uIG4odCl7dC52YWx1ZSBpbnN0YW5jZW9mIERPP1Byb21pc2UucmVzb2x2ZSh0LnZhbHVlLnYpLnRoZW4obCxjKTp1KG9bMF1bMl0sdCl9KShyW3RdKGUpKX1jYXRjaCh0KXt1KG9bMF1bM10sdCl9fWZ1bmN0aW9uIGwodCl7cygibmV4dCIsdCl9ZnVuY3Rpb24gYyh0KXtzKCJ0aHJvdyIsdCl9ZnVuY3Rpb24gdSh0LGUpe3QoZSksby5zaGlmdCgpLG8ubGVuZ3RoJiZzKG9bMF1bMF0sb1swXVsxXSl9fSxfX2FzeW5jRGVsZWdhdG9yOmZ1bmN0aW9uICRPKHQpe3ZhciBlLG47cmV0dXJuIGU9e30saSgibmV4dCIpLGkoInRocm93IiwoZnVuY3Rpb24odCl7dGhyb3cgdH0pKSxpKCJyZXR1cm4iKSxlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sZTtmdW5jdGlvbiBpKGkscil7dFtpXSYmKGVbaV09ZnVuY3Rpb24oZSl7cmV0dXJuKG49IW4pP3t2YWx1ZTpETyh0W2ldKGUpKSxkb25lOiJyZXR1cm4iPT09aX06cj9yKGUpOmV9KX19LF9fYXN5bmNWYWx1ZXM6ZnVuY3Rpb24gS08odCl7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciBlPXRbU3ltYm9sLmFzeW5jSXRlcmF0b3JdO3JldHVybiBlP2UuY2FsbCh0KTpPTyh0KX0sX19tYWtlVGVtcGxhdGVPYmplY3Q6ZnVuY3Rpb24gWk8odCxlKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJyYXciLHt2YWx1ZTplfSk6dC5yYXc9ZSx0fX0pKTtmdW5jdGlvbiBKTyh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBRTyh0KXtyZXR1cm4gMT09PXQubGVuZ3RoJiYodD0oZnVuY3Rpb24gZSh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gSk8odChlKSxuKX19KSh0KSkse2xlZnQ6ZnVuY3Rpb24oZSxuLGkscil7Zm9yKG51bGw9PWkmJihpPTApLG51bGw9PXImJihyPWUubGVuZ3RoKTtpPHI7KXt2YXIgbz1pK3I+Pj4xO3QoZVtvXSxuKTwwP2k9bysxOnI9b31yZXR1cm4gaX0scmlnaHQ6ZnVuY3Rpb24oZSxuLGkscil7Zm9yKG51bGw9PWkmJihpPTApLG51bGw9PXImJihyPWUubGVuZ3RoKTtpPHI7KXt2YXIgbz1pK3I+Pj4xO3QoZVtvXSxuKT4wP3I9bzppPW8rMX1yZXR1cm4gaX19fXZhciB0ej1RTyhKTyksZXo9dHoucmlnaHQsbno9dHoubGVmdDtmdW5jdGlvbiBpeih0LGUpe3JldHVyblt0LGVdfWZ1bmN0aW9uIHJ6KHQpe3JldHVybiBudWxsPT09dD9OYU46K3R9ZnVuY3Rpb24gb3oodCxlKXt2YXIgbixpLHI9dC5sZW5ndGgsbz0wLGE9LTEscz0wLGw9MDtpZihudWxsPT1lKWZvcig7KythPHI7KWlzTmFOKG49cnoodFthXSkpfHwobCs9KGk9bi1zKSoobi0ocys9aS8rK28pKSk7ZWxzZSBmb3IoOysrYTxyOylpc05hTihuPXJ6KGUodFthXSxhLHQpKSl8fChsKz0oaT1uLXMpKihuLShzKz1pLysrbykpKTtpZihvPjEpcmV0dXJuIGwvKG8tMSl9ZnVuY3Rpb24gYXoodCxlKXt2YXIgbj1veih0LGUpO3JldHVybiBuP01hdGguc3FydChuKTpufWZ1bmN0aW9uIHN6KHQsZSl7dmFyIG4saSxyLG89dC5sZW5ndGgsYT0tMTtpZihudWxsPT1lKXtmb3IoOysrYTxvOylpZihudWxsIT0obj10W2FdKSYmbj49bilmb3IoaT1yPW47KythPG87KW51bGwhPShuPXRbYV0pJiYoaT5uJiYoaT1uKSxyPG4mJihyPW4pKX1lbHNlIGZvcig7KythPG87KWlmKG51bGwhPShuPWUodFthXSxhLHQpKSYmbj49bilmb3IoaT1yPW47KythPG87KW51bGwhPShuPWUodFthXSxhLHQpKSYmKGk+biYmKGk9bikscjxuJiYocj1uKSk7cmV0dXJuW2kscl19dmFyIGx6PUFycmF5LnByb3RvdHlwZSxjej1sei5zbGljZSx1ej1sei5tYXA7ZnVuY3Rpb24gaHoodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIGR6KHQpe3JldHVybiB0fWZ1bmN0aW9uIHB6KHQsZSxuKXt0PSt0LGU9K2Usbj0ocj1hcmd1bWVudHMubGVuZ3RoKTwyPyhlPXQsdD0wLDEpOnI8Mz8xOituO2Zvcih2YXIgaT0tMSxyPTB8TWF0aC5tYXgoMCxNYXRoLmNlaWwoKGUtdCkvbikpLG89bmV3IEFycmF5KHIpOysraTxyOylvW2ldPXQraSpuO3JldHVybiBvfXZhciBmej1NYXRoLnNxcnQoNTApLG16PU1hdGguc3FydCgxMCksZ3o9TWF0aC5zcXJ0KDIpO2Z1bmN0aW9uIF96KHQsZSxuKXt2YXIgaT0oZS10KS9NYXRoLm1heCgwLG4pLHI9TWF0aC5mbG9vcihNYXRoLmxvZyhpKS9NYXRoLkxOMTApLG89aS9NYXRoLnBvdygxMCxyKTtyZXR1cm4gcj49MD8obz49Zno/MTA6bz49bXo/NTpvPj1nej8yOjEpKk1hdGgucG93KDEwLHIpOi1NYXRoLnBvdygxMCwtcikvKG8+PWZ6PzEwOm8+PW16PzU6bz49Z3o/MjoxKX1mdW5jdGlvbiB5eih0LGUsbil7dmFyIGk9TWF0aC5hYnMoZS10KS9NYXRoLm1heCgwLG4pLHI9TWF0aC5wb3coMTAsTWF0aC5mbG9vcihNYXRoLmxvZyhpKS9NYXRoLkxOMTApKSxvPWkvcjtyZXR1cm4gbz49Zno/cio9MTA6bz49bXo/cio9NTpvPj1neiYmKHIqPTIpLGU8dD8tcjpyfWZ1bmN0aW9uIHZ6KHQpe3JldHVybiBNYXRoLmNlaWwoTWF0aC5sb2codC5sZW5ndGgpL01hdGguTE4yKSsxfWZ1bmN0aW9uIGJ6KHQsZSxuKXtpZihudWxsPT1uJiYobj1yeiksaT10Lmxlbmd0aCl7aWYoKGU9K2UpPD0wfHxpPDIpcmV0dXJuK24odFswXSwwLHQpO2lmKGU+PTEpcmV0dXJuK24odFtpLTFdLGktMSx0KTt2YXIgaSxyPShpLTEpKmUsbz1NYXRoLmZsb29yKHIpLGE9K24odFtvXSxvLHQpO3JldHVybiBhKygrbih0W28rMV0sbysxLHQpLWEpKihyLW8pfX1mdW5jdGlvbiB4eih0LGUpe3ZhciBuLGkscj10Lmxlbmd0aCxvPS0xO2lmKG51bGw9PWUpe2Zvcig7KytvPHI7KWlmKG51bGwhPShuPXRbb10pJiZuPj1uKWZvcihpPW47KytvPHI7KW51bGwhPShuPXRbb10pJiZpPm4mJihpPW4pfWVsc2UgZm9yKDsrK288cjspaWYobnVsbCE9KG49ZSh0W29dLG8sdCkpJiZuPj1uKWZvcihpPW47KytvPHI7KW51bGwhPShuPWUodFtvXSxvLHQpKSYmaT5uJiYoaT1uKTtyZXR1cm4gaX1mdW5jdGlvbiB3eih0KXtpZighKHI9dC5sZW5ndGgpKXJldHVybltdO2Zvcih2YXIgZT0tMSxuPXh6KHQsU3opLGk9bmV3IEFycmF5KG4pOysrZTxuOylmb3IodmFyIHIsbz0tMSxhPWlbZV09bmV3IEFycmF5KHIpOysrbzxyOylhW29dPXRbb11bZV07cmV0dXJuIGl9ZnVuY3Rpb24gU3oodCl7cmV0dXJuIHQubGVuZ3RofXZhciBNej1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gRXoodCl7cmV0dXJuIHR9dmFyIFR6PTFlLTY7ZnVuY3Rpb24gQ3oodCl7cmV0dXJuInRyYW5zbGF0ZSgiKyh0Ky41KSsiLDApIn1mdW5jdGlvbiBBeih0KXtyZXR1cm4idHJhbnNsYXRlKDAsIisodCsuNSkrIikifWZ1bmN0aW9uIGt6KHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4rdChlKX19ZnVuY3Rpb24gTHoodCl7dmFyIGU9TWF0aC5tYXgoMCx0LmJhbmR3aWR0aCgpLTEpLzI7cmV0dXJuIHQucm91bmQoKSYmKGU9TWF0aC5yb3VuZChlKSksZnVuY3Rpb24obil7cmV0dXJuK3QobikrZX19ZnVuY3Rpb24gUHooKXtyZXR1cm4hdGhpcy5fX2F4aXN9ZnVuY3Rpb24gTnoodCxlKXt2YXIgbj1bXSxpPW51bGwscj1udWxsLG89NixhPTYscz0zLGw9MT09PXR8fDQ9PT10Py0xOjEsYz00PT09dHx8Mj09PXQ/IngiOiJ5Iix1PTE9PT10fHwzPT09dD9DejpBejtmdW5jdGlvbiBoKGgpe3ZhciBkPW51bGw9PWk/ZS50aWNrcz9lLnRpY2tzLmFwcGx5KGUsbik6ZS5kb21haW4oKTppLHA9bnVsbD09cj9lLnRpY2tGb3JtYXQ/ZS50aWNrRm9ybWF0LmFwcGx5KGUsbik6RXo6cixmPU1hdGgubWF4KG8sMCkrcyxtPWUucmFuZ2UoKSxnPSttWzBdKy41LF89K21bbS5sZW5ndGgtMV0rLjUseT0oZS5iYW5kd2lkdGg/THo6a3opKGUuY29weSgpKSx2PWguc2VsZWN0aW9uP2guc2VsZWN0aW9uKCk6aCxiPXYuc2VsZWN0QWxsKCIuZG9tYWluIikuZGF0YShbbnVsbF0pLHg9di5zZWxlY3RBbGwoIi50aWNrIikuZGF0YShkLGUpLm9yZGVyKCksdz14LmV4aXQoKSxTPXguZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsInRpY2siKSxNPXguc2VsZWN0KCJsaW5lIiksRT14LnNlbGVjdCgidGV4dCIpO2I9Yi5tZXJnZShiLmVudGVyKCkuaW5zZXJ0KCJwYXRoIiwiLnRpY2siKS5hdHRyKCJjbGFzcyIsImRvbWFpbiIpLmF0dHIoInN0cm9rZSIsIiMwMDAiKSkseD14Lm1lcmdlKFMpLE09TS5tZXJnZShTLmFwcGVuZCgibGluZSIpLmF0dHIoInN0cm9rZSIsIiMwMDAiKS5hdHRyKGMrIjIiLGwqbykpLEU9RS5tZXJnZShTLmFwcGVuZCgidGV4dCIpLmF0dHIoImZpbGwiLCIjMDAwIikuYXR0cihjLGwqZikuYXR0cigiZHkiLDE9PT10PyIwZW0iOjM9PT10PyIwLjcxZW0iOiIwLjMyZW0iKSksaCE9PXYmJihiPWIudHJhbnNpdGlvbihoKSx4PXgudHJhbnNpdGlvbihoKSxNPU0udHJhbnNpdGlvbihoKSxFPUUudHJhbnNpdGlvbihoKSx3PXcudHJhbnNpdGlvbihoKS5hdHRyKCJvcGFjaXR5IixUeikuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9eSh0KSk/dSh0KTp0aGlzLmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIil9KSksUy5hdHRyKCJvcGFjaXR5IixUeikuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5wYXJlbnROb2RlLl9fYXhpcztyZXR1cm4gdShlJiZpc0Zpbml0ZShlPWUodCkpP2U6eSh0KSl9KSkpLHcucmVtb3ZlKCksYi5hdHRyKCJkIiw0PT09dHx8Mj09dD8iTSIrbCphKyIsIitnKyJIMC41ViIrXysiSCIrbCphOiJNIitnKyIsIitsKmErIlYwLjVIIitfKyJWIitsKmEpLHguYXR0cigib3BhY2l0eSIsMSkuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCl7cmV0dXJuIHUoeSh0KSl9KSksTS5hdHRyKGMrIjIiLGwqbyksRS5hdHRyKGMsbCpmKS50ZXh0KHApLHYuZmlsdGVyKFB6KS5hdHRyKCJmaWxsIiwibm9uZSIpLmF0dHIoImZvbnQtc2l6ZSIsMTApLmF0dHIoImZvbnQtZmFtaWx5Iiwic2Fucy1zZXJpZiIpLmF0dHIoInRleHQtYW5jaG9yIiwyPT09dD8ic3RhcnQiOjQ9PT10PyJlbmQiOiJtaWRkbGUiKSx2LmVhY2goKGZ1bmN0aW9uKCl7dGhpcy5fX2F4aXM9eX0pKX1yZXR1cm4gaC5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LGgpOmV9LGgudGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gbj1Nei5jYWxsKGFyZ3VtZW50cyksaH0saC50aWNrQXJndW1lbnRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW51bGw9PXQ/W106TXouY2FsbCh0KSxoKTpuLnNsaWNlKCl9LGgudGlja1ZhbHVlcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT1udWxsPT10P251bGw6TXouY2FsbCh0KSxoKTppJiZpLnNsaWNlKCl9LGgudGlja0Zvcm1hdD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LGgpOnJ9LGgudGlja1NpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89YT0rdCxoKTpvfSxoLnRpY2tTaXplSW5uZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89K3QsaCk6b30saC50aWNrU2l6ZU91dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSt0LGgpOmF9LGgudGlja1BhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9K3QsaCk6c30saH12YXIgSXo9e3ZhbHVlOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gUnooKXtmb3IodmFyIHQsZT0wLG49YXJndW1lbnRzLmxlbmd0aCxpPXt9O2U8bjsrK2Upe2lmKCEodD1hcmd1bWVudHNbZV0rIiIpfHx0IGluIGl8fC9bXHMuXS8udGVzdCh0KSl0aHJvdyBuZXcgRXJyb3IoImlsbGVnYWwgdHlwZTogIit0KTtpW3RdPVtdfXJldHVybiBuZXcgT3ooaSl9ZnVuY3Rpb24gT3oodCl7dGhpcy5fPXR9ZnVuY3Rpb24genoodCxlKXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKChmdW5jdGlvbih0KXt2YXIgbj0iIixpPXQuaW5kZXhPZigiLiIpO2lmKGk+PTAmJihuPXQuc2xpY2UoaSsxKSx0PXQuc2xpY2UoMCxpKSksdCYmIWUuaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7cmV0dXJue3R5cGU6dCxuYW1lOm59fSkpfWZ1bmN0aW9uIER6KHQsZSl7Zm9yKHZhciBuLGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYoKG49dFtpXSkubmFtZT09PWUpcmV0dXJuIG4udmFsdWV9ZnVuY3Rpb24gQnoodCxlLG4pe2Zvcih2YXIgaT0wLHI9dC5sZW5ndGg7aTxyOysraSlpZih0W2ldLm5hbWU9PT1lKXt0W2ldPUl6LHQ9dC5zbGljZSgwLGkpLmNvbmNhdCh0LnNsaWNlKGkrMSkpO2JyZWFrfXJldHVybiBudWxsIT1uJiZ0LnB1c2goe25hbWU6ZSx2YWx1ZTpufSksdH1Pei5wcm90b3R5cGU9UnoucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpPeixvbjpmdW5jdGlvbih0LGUpe3ZhciBuLGk9dGhpcy5fLHI9enoodCsiIixpKSxvPS0xLGE9ci5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtpZihudWxsIT1lJiYiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2FsbGJhY2s6ICIrZSk7Zm9yKDsrK288YTspaWYobj0odD1yW29dKS50eXBlKWlbbl09QnooaVtuXSx0Lm5hbWUsZSk7ZWxzZSBpZihudWxsPT1lKWZvcihuIGluIGkpaVtuXT1CeihpW25dLHQubmFtZSxudWxsKTtyZXR1cm4gdGhpc31mb3IoOysrbzxhOylpZigobj0odD1yW29dKS50eXBlKSYmKG49RHooaVtuXSx0Lm5hbWUpKSlyZXR1cm4gbn0sY29weTpmdW5jdGlvbigpe3ZhciB0PXt9LGU9dGhpcy5fO2Zvcih2YXIgbiBpbiBlKXRbbl09ZVtuXS5zbGljZSgpO3JldHVybiBuZXcgT3oodCl9LGNhbGw6ZnVuY3Rpb24odCxlKXtpZigobj1hcmd1bWVudHMubGVuZ3RoLTIpPjApZm9yKHZhciBuLGkscj1uZXcgQXJyYXkobiksbz0wO288bjsrK28pcltvXT1hcmd1bWVudHNbbysyXTtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2ZvcihvPTAsbj0oaT10aGlzLl9bdF0pLmxlbmd0aDtvPG47KytvKWlbb10udmFsdWUuYXBwbHkoZSxyKX0sYXBwbHk6ZnVuY3Rpb24odCxlLG4pe2lmKCF0aGlzLl8uaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7Zm9yKHZhciBpPXRoaXMuX1t0XSxyPTAsbz1pLmxlbmd0aDtyPG87KytyKWlbcl0udmFsdWUuYXBwbHkoZSxuKX19O3ZhciBIej0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsRno9e3N2ZzoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhodG1sOkh6LHhsaW5rOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIix4bWw6Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIn07ZnVuY3Rpb24gVnoodCl7dmFyIGU9dCs9IiIsbj1lLmluZGV4T2YoIjoiKTtyZXR1cm4gbj49MCYmInhtbG5zIiE9PShlPXQuc2xpY2UoMCxuKSkmJih0PXQuc2xpY2UobisxKSksRnouaGFzT3duUHJvcGVydHkoZSk/e3NwYWNlOkZ6W2VdLGxvY2FsOnR9OnR9ZnVuY3Rpb24gVXoodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vd25lckRvY3VtZW50LG49dGhpcy5uYW1lc3BhY2VVUkk7cmV0dXJuIG49PT1IeiYmZS5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJPT09SHo/ZS5jcmVhdGVFbGVtZW50KHQpOmUuY3JlYXRlRWxlbWVudE5TKG4sdCl9fWZ1bmN0aW9uIGp6KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIEd6KHQpe3ZhciBlPVZ6KHQpO3JldHVybihlLmxvY2FsP2p6OlV6KShlKX1mdW5jdGlvbiBXeigpe31mdW5jdGlvbiBxeih0KXtyZXR1cm4gbnVsbD09dD9XejpmdW5jdGlvbigpe3JldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3IodCl9fWZ1bmN0aW9uIFl6KCl7cmV0dXJuW119ZnVuY3Rpb24gWHoodCl7cmV0dXJuIG51bGw9PXQ/WXo6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yQWxsKHQpfX1mdW5jdGlvbiAkeih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXRjaGVzKHQpfX1mdW5jdGlvbiBLeih0KXtyZXR1cm4gbmV3IEFycmF5KHQubGVuZ3RoKX1mdW5jdGlvbiBaeih0LGUpe3RoaXMub3duZXJEb2N1bWVudD10Lm93bmVyRG9jdW1lbnQsdGhpcy5uYW1lc3BhY2VVUkk9dC5uYW1lc3BhY2VVUkksdGhpcy5fbmV4dD1udWxsLHRoaXMuX3BhcmVudD10LHRoaXMuX19kYXRhX189ZX1aei5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlp6LGFwcGVuZENoaWxkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsdGhpcy5fbmV4dCl9LGluc2VydEJlZm9yZTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsZSl9LHF1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yKHQpfSxxdWVyeVNlbGVjdG9yQWxsOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3RvckFsbCh0KX19O2Z1bmN0aW9uIEp6KHQsZSxuLGkscixvKXtmb3IodmFyIGEscz0wLGw9ZS5sZW5ndGgsYz1vLmxlbmd0aDtzPGM7KytzKShhPWVbc10pPyhhLl9fZGF0YV9fPW9bc10saVtzXT1hKTpuW3NdPW5ldyBaeih0LG9bc10pO2Zvcig7czxsOysrcykoYT1lW3NdKSYmKHJbc109YSl9ZnVuY3Rpb24gUXoodCxlLG4saSxyLG8sYSl7dmFyIHMsbCxjLHU9e30saD1lLmxlbmd0aCxkPW8ubGVuZ3RoLHA9bmV3IEFycmF5KGgpO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmKHBbc109Yz0iJCIrYS5jYWxsKGwsbC5fX2RhdGFfXyxzLGUpLGMgaW4gdT9yW3NdPWw6dVtjXT1sKTtmb3Iocz0wO3M8ZDsrK3MpKGw9dVtjPSIkIithLmNhbGwodCxvW3NdLHMsbyldKT8oaVtzXT1sLGwuX19kYXRhX189b1tzXSx1W2NdPW51bGwpOm5bc109bmV3IFp6KHQsb1tzXSk7Zm9yKHM9MDtzPGg7KytzKShsPWVbc10pJiZ1W3Bbc11dPT09bCYmKHJbc109bCl9ZnVuY3Rpb24gdEQodCxlKXtyZXR1cm4gdDxlPy0xOnQ+ZT8xOnQ+PWU/MDpOYU59ZnVuY3Rpb24gZUQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIG5EKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19ZnVuY3Rpb24gaUQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZSh0LGUpfX1mdW5jdGlvbiByRCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUpfX1mdW5jdGlvbiBvRCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCk6dGhpcy5zZXRBdHRyaWJ1dGUodCxuKX19ZnVuY3Rpb24gYUQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKTp0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxuKX19ZnVuY3Rpb24gc0QodCl7cmV0dXJuIHQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx0LmRvY3VtZW50JiZ0fHx0LmRlZmF1bHRWaWV3fWZ1bmN0aW9uIGxEKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9fWZ1bmN0aW9uIGNEKHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsZSxuKX19ZnVuY3Rpb24gdUQodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBpPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PWk/dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KTp0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsaSxuKX19ZnVuY3Rpb24gaEQodCxlKXtyZXR1cm4gdC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGUpfHxzRCh0KS5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShlKX1mdW5jdGlvbiBkRCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtkZWxldGUgdGhpc1t0XX19ZnVuY3Rpb24gcEQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzW3RdPWV9fWZ1bmN0aW9uIGZEKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09bj9kZWxldGUgdGhpc1t0XTp0aGlzW3RdPW59fWZ1bmN0aW9uIG1EKHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKX1mdW5jdGlvbiBnRCh0KXtyZXR1cm4gdC5jbGFzc0xpc3R8fG5ldyBfRCh0KX1mdW5jdGlvbiBfRCh0KXt0aGlzLl9ub2RlPXQsdGhpcy5fbmFtZXM9bUQodC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX1mdW5jdGlvbiB5RCh0LGUpe2Zvcih2YXIgbj1nRCh0KSxpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KW4uYWRkKGVbaV0pfWZ1bmN0aW9uIHZEKHQsZSl7Zm9yKHZhciBuPWdEKHQpLGk9LTEscj1lLmxlbmd0aDsrK2k8cjspbi5yZW1vdmUoZVtpXSl9ZnVuY3Rpb24gYkQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7eUQodGhpcyx0KX19ZnVuY3Rpb24geEQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dkQodGhpcyx0KX19ZnVuY3Rpb24gd0QodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXsoZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk/eUQ6dkQpKHRoaXMsdCl9fWZ1bmN0aW9uIFNEKCl7dGhpcy50ZXh0Q29udGVudD0iIn1mdW5jdGlvbiBNRCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnRleHRDb250ZW50PXR9fWZ1bmN0aW9uIEVEKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfX1mdW5jdGlvbiBURCgpe3RoaXMuaW5uZXJIVE1MPSIifWZ1bmN0aW9uIENEKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuaW5uZXJIVE1MPXR9fWZ1bmN0aW9uIEFEKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuaW5uZXJIVE1MPW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24ga0QoKXt0aGlzLm5leHRTaWJsaW5nJiZ0aGlzLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodGhpcyl9ZnVuY3Rpb24gTEQoKXt0aGlzLnByZXZpb3VzU2libGluZyYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLHRoaXMucGFyZW50Tm9kZS5maXJzdENoaWxkKX1mdW5jdGlvbiBQRCgpe3JldHVybiBudWxsfWZ1bmN0aW9uIE5EKCl7dmFyIHQ9dGhpcy5wYXJlbnROb2RlO3QmJnQucmVtb3ZlQ2hpbGQodGhpcyl9ZnVuY3Rpb24gSUQoKXt2YXIgdD10aGlzLmNsb25lTm9kZSghMSksZT10aGlzLnBhcmVudE5vZGU7cmV0dXJuIGU/ZS5pbnNlcnRCZWZvcmUodCx0aGlzLm5leHRTaWJsaW5nKTp0fWZ1bmN0aW9uIFJEKCl7dmFyIHQ9dGhpcy5jbG9uZU5vZGUoITApLGU9dGhpcy5wYXJlbnROb2RlO3JldHVybiBlP2UuaW5zZXJ0QmVmb3JlKHQsdGhpcy5uZXh0U2libGluZyk6dH1fRC5wcm90b3R5cGU9e2FkZDpmdW5jdGlvbih0KXt0aGlzLl9uYW1lcy5pbmRleE9mKHQpPDAmJih0aGlzLl9uYW1lcy5wdXNoKHQpLHRoaXMuX25vZGUuc2V0QXR0cmlidXRlKCJjbGFzcyIsdGhpcy5fbmFtZXMuam9pbigiICIpKSl9LHJlbW92ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9uYW1lcy5pbmRleE9mKHQpO2U+PTAmJih0aGlzLl9uYW1lcy5zcGxpY2UoZSwxKSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxjb250YWluczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbmFtZXMuaW5kZXhPZih0KT49MH19O3ZhciBPRD17fSx6RD1udWxsOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJigib25tb3VzZWVudGVyImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8KE9EPXttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0pKTtmdW5jdGlvbiBERCh0LGUsbil7cmV0dXJuIHQ9QkQodCxlLG4pLGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVsYXRlZFRhcmdldDtuJiYobj09PXRoaXN8fDgmbi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzKSl8fHQuY2FsbCh0aGlzLGUpfX1mdW5jdGlvbiBCRCh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKGkpe3ZhciByPXpEO3pEPWk7dHJ5e3QuY2FsbCh0aGlzLHRoaXMuX19kYXRhX18sZSxuKX1maW5hbGx5e3pEPXJ9fX1mdW5jdGlvbiBIRCh0KXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKChmdW5jdGlvbih0KXt2YXIgZT0iIixuPXQuaW5kZXhPZigiLiIpO3JldHVybiBuPj0wJiYoZT10LnNsaWNlKG4rMSksdD10LnNsaWNlKDAsbikpLHt0eXBlOnQsbmFtZTplfX0pKX1mdW5jdGlvbiBGRCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9fb247aWYoZSl7Zm9yKHZhciBuLGk9MCxyPS0xLG89ZS5sZW5ndGg7aTxvOysraSluPWVbaV0sdC50eXBlJiZuLnR5cGUhPT10LnR5cGV8fG4ubmFtZSE9PXQubmFtZT9lWysrcl09bjp0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIobi50eXBlLG4ubGlzdGVuZXIsbi5jYXB0dXJlKTsrK3I/ZS5sZW5ndGg9cjpkZWxldGUgdGhpcy5fX29ufX19ZnVuY3Rpb24gVkQodCxlLG4pe3ZhciBpPU9ELmhhc093blByb3BlcnR5KHQudHlwZSk/REQ6QkQ7cmV0dXJuIGZ1bmN0aW9uKHIsbyxhKXt2YXIgcyxsPXRoaXMuX19vbixjPWkoZSxvLGEpO2lmKGwpZm9yKHZhciB1PTAsaD1sLmxlbmd0aDt1PGg7Kyt1KWlmKChzPWxbdV0pLnR5cGU9PT10LnR5cGUmJnMubmFtZT09PXQubmFtZSlyZXR1cm4gdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKHMudHlwZSxzLmxpc3RlbmVyLHMuY2FwdHVyZSksdGhpcy5hZGRFdmVudExpc3RlbmVyKHMudHlwZSxzLmxpc3RlbmVyPWMscy5jYXB0dXJlPW4pLHZvaWQocy52YWx1ZT1lKTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIodC50eXBlLGMsbikscz17dHlwZTp0LnR5cGUsbmFtZTp0Lm5hbWUsdmFsdWU6ZSxsaXN0ZW5lcjpjLGNhcHR1cmU6bn0sbD9sLnB1c2gocyk6dGhpcy5fX29uPVtzXX19ZnVuY3Rpb24gVUQodCxlLG4pe3ZhciBpPXNEKHQpLHI9aS5DdXN0b21FdmVudDsiZnVuY3Rpb24iPT10eXBlb2Ygcj9yPW5ldyByKGUsbik6KHI9aS5kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSxuPyhyLmluaXRFdmVudChlLG4uYnViYmxlcyxuLmNhbmNlbGFibGUpLHIuZGV0YWlsPW4uZGV0YWlsKTpyLmluaXRFdmVudChlLCExLCExKSksdC5kaXNwYXRjaEV2ZW50KHIpfWZ1bmN0aW9uIGpEKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIFVEKHRoaXMsdCxlKX19ZnVuY3Rpb24gR0QodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gVUQodGhpcyx0LGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX19dmFyIFdEPVtudWxsXTtmdW5jdGlvbiBxRCh0LGUpe3RoaXMuX2dyb3Vwcz10LHRoaXMuX3BhcmVudHM9ZX1mdW5jdGlvbiBZRCgpe3JldHVybiBuZXcgcUQoW1tkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdXSxXRCl9ZnVuY3Rpb24gWEQodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P25ldyBxRChbW2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCldXSxbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSk6bmV3IHFEKFtbdF1dLFdEKX1mdW5jdGlvbiAkRCh0KXt2YXIgZT0oZnVuY3Rpb24gbigpe2Zvcih2YXIgdCxlPXpEO3Q9ZS5zb3VyY2VFdmVudDspZT10O3JldHVybiBlfSkoKTtyZXR1cm4gZS5jaGFuZ2VkVG91Y2hlcyYmKGU9ZS5jaGFuZ2VkVG91Y2hlc1swXSksKGZ1bmN0aW9uIGkodCxlKXt2YXIgbj10Lm93bmVyU1ZHRWxlbWVudHx8dDtpZihuLmNyZWF0ZVNWR1BvaW50KXt2YXIgaT1uLmNyZWF0ZVNWR1BvaW50KCk7cmV0dXJuIGkueD1lLmNsaWVudFgsaS55PWUuY2xpZW50WSxbKGk9aS5tYXRyaXhUcmFuc2Zvcm0odC5nZXRTY3JlZW5DVE0oKS5pbnZlcnNlKCkpKS54LGkueV19dmFyIHI9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm5bZS5jbGllbnRYLXIubGVmdC10LmNsaWVudExlZnQsZS5jbGllbnRZLXIudG9wLXQuY2xpZW50VG9wXX0pKHQsZSl9ZnVuY3Rpb24gS0QoKXt6RC5wcmV2ZW50RGVmYXVsdCgpLHpELnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIFpEKHQpe3ZhciBlPXQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG49WEQodCkub24oImRyYWdzdGFydC5kcmFnIixLRCwhMCk7Im9uc2VsZWN0c3RhcnQiaW4gZT9uLm9uKCJzZWxlY3RzdGFydC5kcmFnIixLRCwhMCk6KGUuX19ub3NlbGVjdD1lLnN0eWxlLk1velVzZXJTZWxlY3QsZS5zdHlsZS5Nb3pVc2VyU2VsZWN0PSJub25lIil9ZnVuY3Rpb24gSkQodCxlKXt2YXIgbj10LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxpPVhEKHQpLm9uKCJkcmFnc3RhcnQuZHJhZyIsbnVsbCk7ZSYmKGkub24oImNsaWNrLmRyYWciLEtELCEwKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2kub24oImNsaWNrLmRyYWciLG51bGwpfSksMCkpLCJvbnNlbGVjdHN0YXJ0ImluIG4/aS5vbigic2VsZWN0c3RhcnQuZHJhZyIsbnVsbCk6KG4uc3R5bGUuTW96VXNlclNlbGVjdD1uLl9fbm9zZWxlY3QsZGVsZXRlIG4uX19ub3NlbGVjdCl9ZnVuY3Rpb24gUUQodCxlLG4pe3QucHJvdG90eXBlPWUucHJvdG90eXBlPW4sbi5jb25zdHJ1Y3Rvcj10fWZ1bmN0aW9uIHRCKHQsZSl7dmFyIG49T2JqZWN0LmNyZWF0ZSh0LnByb3RvdHlwZSk7Zm9yKHZhciBpIGluIGUpbltpXT1lW2ldO3JldHVybiBufWZ1bmN0aW9uIGVCKCl7fXFELnByb3RvdHlwZT1ZRC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOnFELHNlbGVjdDpmdW5jdGlvbiBuQih0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9cXoodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPW5ldyBBcnJheShuKSxyPTA7cjxuOysrcilmb3IodmFyIG8sYSxzPWVbcl0sbD1zLmxlbmd0aCxjPWlbcl09bmV3IEFycmF5KGwpLHU9MDt1PGw7Kyt1KShvPXNbdV0pJiYoYT10LmNhbGwobyxvLl9fZGF0YV9fLHUscykpJiYoIl9fZGF0YV9fImluIG8mJihhLl9fZGF0YV9fPW8uX19kYXRhX18pLGNbdV09YSk7cmV0dXJuIG5ldyBxRChpLHRoaXMuX3BhcmVudHMpfSxzZWxlY3RBbGw6ZnVuY3Rpb24gaUIodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVh6KHQpKTtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49ZS5sZW5ndGgsaT1bXSxyPVtdLG89MDtvPG47KytvKWZvcih2YXIgYSxzPWVbb10sbD1zLmxlbmd0aCxjPTA7YzxsOysrYykoYT1zW2NdKSYmKGkucHVzaCh0LmNhbGwoYSxhLl9fZGF0YV9fLGMscykpLHIucHVzaChhKSk7cmV0dXJuIG5ldyBxRChpLHIpfSxmaWx0ZXI6ZnVuY3Rpb24gckIodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PSR6KHQpKTtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49ZS5sZW5ndGgsaT1uZXcgQXJyYXkobikscj0wO3I8bjsrK3IpZm9yKHZhciBvLGE9ZVtyXSxzPWEubGVuZ3RoLGw9aVtyXT1bXSxjPTA7YzxzOysrYykobz1hW2NdKSYmdC5jYWxsKG8sby5fX2RhdGFfXyxjLGEpJiZsLnB1c2gobyk7cmV0dXJuIG5ldyBxRChpLHRoaXMuX3BhcmVudHMpfSxkYXRhOmZ1bmN0aW9uIG9CKHQsZSl7aWYoIXQpcmV0dXJuIGY9bmV3IEFycmF5KHRoaXMuc2l6ZSgpKSx1PS0xLHRoaXMuZWFjaCgoZnVuY3Rpb24odCl7ZlsrK3VdPXR9KSksZjt2YXIgbj1lP1F6Okp6LGk9dGhpcy5fcGFyZW50cyxyPXRoaXMuX2dyb3VwczsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9KGZ1bmN0aW9uIG8odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkodCkpO2Zvcih2YXIgYT1yLmxlbmd0aCxzPW5ldyBBcnJheShhKSxsPW5ldyBBcnJheShhKSxjPW5ldyBBcnJheShhKSx1PTA7dTxhOysrdSl7dmFyIGg9aVt1XSxkPXJbdV0scD1kLmxlbmd0aCxmPXQuY2FsbChoLGgmJmguX19kYXRhX18sdSxpKSxtPWYubGVuZ3RoLGc9bFt1XT1uZXcgQXJyYXkobSksXz1zW3VdPW5ldyBBcnJheShtKTtuKGgsZCxnLF8sY1t1XT1uZXcgQXJyYXkocCksZixlKTtmb3IodmFyIHksdixiPTAseD0wO2I8bTsrK2IpaWYoeT1nW2JdKXtmb3IoYj49eCYmKHg9YisxKTshKHY9X1t4XSkmJisreDxtOyk7eS5fbmV4dD12fHxudWxsfX1yZXR1cm4ocz1uZXcgcUQocyxpKSkuX2VudGVyPWwscy5fZXhpdD1jLHN9LGVudGVyOmZ1bmN0aW9uIGFCKCl7cmV0dXJuIG5ldyBxRCh0aGlzLl9lbnRlcnx8dGhpcy5fZ3JvdXBzLm1hcChLeiksdGhpcy5fcGFyZW50cyl9LGV4aXQ6ZnVuY3Rpb24gc0IoKXtyZXR1cm4gbmV3IHFEKHRoaXMuX2V4aXR8fHRoaXMuX2dyb3Vwcy5tYXAoS3opLHRoaXMuX3BhcmVudHMpfSxqb2luOmZ1bmN0aW9uIGxCKHQsZSxuKXt2YXIgaT10aGlzLmVudGVyKCkscj10aGlzLG89dGhpcy5leGl0KCk7cmV0dXJuIGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dChpKTppLmFwcGVuZCh0KyIiKSxudWxsIT1lJiYocj1lKHIpKSxudWxsPT1uP28ucmVtb3ZlKCk6bihvKSxpJiZyP2kubWVyZ2Uocikub3JkZXIoKTpyfSxtZXJnZTpmdW5jdGlvbiBjQih0KXtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49dC5fZ3JvdXBzLGk9ZS5sZW5ndGgscj1NYXRoLm1pbihpLG4ubGVuZ3RoKSxvPW5ldyBBcnJheShpKSxhPTA7YTxyOysrYSlmb3IodmFyIHMsbD1lW2FdLGM9blthXSx1PWwubGVuZ3RoLGg9b1thXT1uZXcgQXJyYXkodSksZD0wO2Q8dTsrK2QpKHM9bFtkXXx8Y1tkXSkmJihoW2RdPXMpO2Zvcig7YTxpOysrYSlvW2FdPWVbYV07cmV0dXJuIG5ldyBxRChvLHRoaXMuX3BhcmVudHMpfSxvcmRlcjpmdW5jdGlvbiB1Qigpe2Zvcih2YXIgdD10aGlzLl9ncm91cHMsZT0tMSxuPXQubGVuZ3RoOysrZTxuOylmb3IodmFyIGkscj10W2VdLG89ci5sZW5ndGgtMSxhPXJbb107LS1vPj0wOykoaT1yW29dKSYmKGEmJjReaS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSYmYS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShpLGEpLGE9aSk7cmV0dXJuIHRoaXN9LHNvcnQ6ZnVuY3Rpb24gaEIodCl7ZnVuY3Rpb24gZShlLG4pe3JldHVybiBlJiZuP3QoZS5fX2RhdGFfXyxuLl9fZGF0YV9fKTohZS0hbn10fHwodD10RCk7Zm9yKHZhciBuPXRoaXMuX2dyb3VwcyxpPW4ubGVuZ3RoLHI9bmV3IEFycmF5KGkpLG89MDtvPGk7KytvKXtmb3IodmFyIGEscz1uW29dLGw9cy5sZW5ndGgsYz1yW29dPW5ldyBBcnJheShsKSx1PTA7dTxsOysrdSkoYT1zW3VdKSYmKGNbdV09YSk7Yy5zb3J0KGUpfXJldHVybiBuZXcgcUQocix0aGlzLl9wYXJlbnRzKS5vcmRlcigpfSxjYWxsOmZ1bmN0aW9uIGRCKCl7dmFyIHQ9YXJndW1lbnRzWzBdO3JldHVybiBhcmd1bWVudHNbMF09dGhpcyx0LmFwcGx5KG51bGwsYXJndW1lbnRzKSx0aGlzfSxub2RlczpmdW5jdGlvbiBwQigpe3ZhciB0PW5ldyBBcnJheSh0aGlzLnNpemUoKSksZT0tMTtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3RbKytlXT10aGlzfSkpLHR9LG5vZGU6ZnVuY3Rpb24gZkIoKXtmb3IodmFyIHQ9dGhpcy5fZ3JvdXBzLGU9MCxuPXQubGVuZ3RoO2U8bjsrK2UpZm9yKHZhciBpPXRbZV0scj0wLG89aS5sZW5ndGg7cjxvOysrcil7dmFyIGE9aVtyXTtpZihhKXJldHVybiBhfXJldHVybiBudWxsfSxzaXplOmZ1bmN0aW9uIG1CKCl7dmFyIHQ9MDtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpeysrdH0pKSx0fSxlbXB0eTpmdW5jdGlvbiBnQigpe3JldHVybiF0aGlzLm5vZGUoKX0sZWFjaDpmdW5jdGlvbiBfQih0KXtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49MCxpPWUubGVuZ3RoO248aTsrK24pZm9yKHZhciByLG89ZVtuXSxhPTAscz1vLmxlbmd0aDthPHM7KythKShyPW9bYV0pJiZ0LmNhbGwocixyLl9fZGF0YV9fLGEsbyk7cmV0dXJuIHRoaXN9LGF0dHI6ZnVuY3Rpb24geUIodCxlKXt2YXIgbj1Weih0KTtpZihhcmd1bWVudHMubGVuZ3RoPDIpe3ZhciBpPXRoaXMubm9kZSgpO3JldHVybiBuLmxvY2FsP2kuZ2V0QXR0cmlidXRlTlMobi5zcGFjZSxuLmxvY2FsKTppLmdldEF0dHJpYnV0ZShuKX1yZXR1cm4gdGhpcy5lYWNoKChudWxsPT1lP24ubG9jYWw/bkQ6ZUQ6ImZ1bmN0aW9uIj09dHlwZW9mIGU/bi5sb2NhbD9hRDpvRDpuLmxvY2FsP3JEOmlEKShuLGUpKX0sc3R5bGU6ZnVuY3Rpb24gdkIodCxlLG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/dGhpcy5lYWNoKChudWxsPT1lP2xEOiJmdW5jdGlvbiI9PXR5cGVvZiBlP3VEOmNEKSh0LGUsbnVsbD09bj8iIjpuKSk6aEQodGhpcy5ub2RlKCksdCl9LHByb3BlcnR5OmZ1bmN0aW9uIGJCKHQsZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goKG51bGw9PWU/ZEQ6ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZkQ6cEQpKHQsZSkpOnRoaXMubm9kZSgpW3RdfSxjbGFzc2VkOmZ1bmN0aW9uIHhCKHQsZSl7dmFyIG49bUQodCsiIik7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXtmb3IodmFyIGk9Z0QodGhpcy5ub2RlKCkpLHI9LTEsbz1uLmxlbmd0aDsrK3I8bzspaWYoIWkuY29udGFpbnMobltyXSkpcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuIHRoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIGU/d0Q6ZT9iRDp4RCkobixlKSl9LHRleHQ6ZnVuY3Rpb24gd0IodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKG51bGw9PXQ/U0Q6KCJmdW5jdGlvbiI9PXR5cGVvZiB0P0VEOk1EKSh0KSk6dGhpcy5ub2RlKCkudGV4dENvbnRlbnR9LGh0bWw6ZnVuY3Rpb24gU0IodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKG51bGw9PXQ/VEQ6KCJmdW5jdGlvbiI9PXR5cGVvZiB0P0FEOkNEKSh0KSk6dGhpcy5ub2RlKCkuaW5uZXJIVE1MfSxyYWlzZTpmdW5jdGlvbiBNQigpe3JldHVybiB0aGlzLmVhY2goa0QpfSxsb3dlcjpmdW5jdGlvbiBFQigpe3JldHVybiB0aGlzLmVhY2goTEQpfSxhcHBlbmQ6ZnVuY3Rpb24gVEIodCl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpHeih0KTtyZXR1cm4gdGhpcy5zZWxlY3QoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXBwZW5kQ2hpbGQoZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSkpfSxpbnNlcnQ6ZnVuY3Rpb24gQ0IodCxlKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgdD90Okd6KHQpLGk9bnVsbD09ZT9QRDoiZnVuY3Rpb24iPT10eXBlb2YgZT9lOnF6KGUpO3JldHVybiB0aGlzLnNlbGVjdCgoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbnNlcnRCZWZvcmUobi5hcHBseSh0aGlzLGFyZ3VtZW50cyksaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fG51bGwpfSkpfSxyZW1vdmU6ZnVuY3Rpb24gQUIoKXtyZXR1cm4gdGhpcy5lYWNoKE5EKX0sY2xvbmU6ZnVuY3Rpb24ga0IodCl7cmV0dXJuIHRoaXMuc2VsZWN0KHQ/UkQ6SUQpfSxkYXR1bTpmdW5jdGlvbiBMQih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLnByb3BlcnR5KCJfX2RhdGFfXyIsdCk6dGhpcy5ub2RlKCkuX19kYXRhX199LG9uOmZ1bmN0aW9uIFBCKHQsZSxuKXt2YXIgaSxyLG89SEQodCsiIiksYT1vLmxlbmd0aDtpZighKGFyZ3VtZW50cy5sZW5ndGg8Mikpe2ZvcihzPWU/VkQ6RkQsbnVsbD09biYmKG49ITEpLGk9MDtpPGE7KytpKXRoaXMuZWFjaChzKG9baV0sZSxuKSk7cmV0dXJuIHRoaXN9dmFyIHM9dGhpcy5ub2RlKCkuX19vbjtpZihzKWZvcih2YXIgbCxjPTAsdT1zLmxlbmd0aDtjPHU7KytjKWZvcihpPTAsbD1zW2NdO2k8YTsrK2kpaWYoKHI9b1tpXSkudHlwZT09PWwudHlwZSYmci5uYW1lPT09bC5uYW1lKXJldHVybiBsLnZhbHVlfSxkaXNwYXRjaDpmdW5jdGlvbiBOQih0LGUpe3JldHVybiB0aGlzLmVhY2goKCJmdW5jdGlvbiI9PXR5cGVvZiBlP0dEOmpEKSh0LGUpKX19O3ZhciBJQj0uNyxSQj0xL0lCLE9CPSJcXHMqKFsrLV0/XFxkKylcXHMqIix6Qj0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPylcXHMqIixEQj0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPyklXFxzKiIsQkI9L14jKFswLTlhLWZdezMsOH0pJC8sSEI9bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW09CLE9CLE9CXSsiXFwpJCIpLEZCPW5ldyBSZWdFeHAoIl5yZ2JcXCgiK1tEQixEQixEQl0rIlxcKSQiKSxWQj1uZXcgUmVnRXhwKCJecmdiYVxcKCIrW09CLE9CLE9CLHpCXSsiXFwpJCIpLFVCPW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbREIsREIsREIsekJdKyJcXCkkIiksakI9bmV3IFJlZ0V4cCgiXmhzbFxcKCIrW3pCLERCLERCXSsiXFwpJCIpLEdCPW5ldyBSZWdFeHAoIl5oc2xhXFwoIitbekIsREIsREIsekJdKyJcXCkkIiksV0I9e2FsaWNlYmx1ZToxNTc5MjM4MyxhbnRpcXVld2hpdGU6MTY0NDQzNzUsYXF1YTo2NTUzNSxhcXVhbWFyaW5lOjgzODg1NjQsYXp1cmU6MTU3OTQxNzUsYmVpZ2U6MTYxMTkyNjAsYmlzcXVlOjE2NzcwMjQ0LGJsYWNrOjAsYmxhbmNoZWRhbG1vbmQ6MTY3NzIwNDUsYmx1ZToyNTUsYmx1ZXZpb2xldDo5MDU1MjAyLGJyb3duOjEwODI0MjM0LGJ1cmx5d29vZDoxNDU5NjIzMSxjYWRldGJsdWU6NjI2NjUyOCxjaGFydHJldXNlOjgzODgzNTIsY2hvY29sYXRlOjEzNzg5NDcwLGNvcmFsOjE2NzQ0MjcyLGNvcm5mbG93ZXJibHVlOjY1OTE5ODEsY29ybnNpbGs6MTY3NzUzODgsY3JpbXNvbjoxNDQyMzEwMCxjeWFuOjY1NTM1LGRhcmtibHVlOjEzOSxkYXJrY3lhbjozNTcyMyxkYXJrZ29sZGVucm9kOjEyMDkyOTM5LGRhcmtncmF5OjExMTE5MDE3LGRhcmtncmVlbjoyNTYwMCxkYXJrZ3JleToxMTExOTAxNyxkYXJra2hha2k6MTI0MzMyNTksZGFya21hZ2VudGE6OTEwOTY0MyxkYXJrb2xpdmVncmVlbjo1NTk3OTk5LGRhcmtvcmFuZ2U6MTY3NDc1MjAsZGFya29yY2hpZDoxMDA0MDAxMixkYXJrcmVkOjkxMDk1MDQsZGFya3NhbG1vbjoxNTMwODQxMCxkYXJrc2VhZ3JlZW46OTQxOTkxOSxkYXJrc2xhdGVibHVlOjQ3MzQzNDcsZGFya3NsYXRlZ3JheTozMTAwNDk1LGRhcmtzbGF0ZWdyZXk6MzEwMDQ5NSxkYXJrdHVycXVvaXNlOjUyOTQ1LGRhcmt2aW9sZXQ6OTY5OTUzOSxkZWVwcGluazoxNjcxNjk0NyxkZWVwc2t5Ymx1ZTo0OTE1MSxkaW1ncmF5OjY5MDgyNjUsZGltZ3JleTo2OTA4MjY1LGRvZGdlcmJsdWU6MjAwMzE5OSxmaXJlYnJpY2s6MTE2NzQxNDYsZmxvcmFsd2hpdGU6MTY3NzU5MjAsZm9yZXN0Z3JlZW46MjI2Mzg0MixmdWNoc2lhOjE2NzExOTM1LGdhaW5zYm9ybzoxNDQ3NDQ2MCxnaG9zdHdoaXRlOjE2MzE2NjcxLGdvbGQ6MTY3NjY3MjAsZ29sZGVucm9kOjE0MzI5MTIwLGdyYXk6ODQyMTUwNCxncmVlbjozMjc2OCxncmVlbnllbGxvdzoxMTQwMzA1NSxncmV5Ojg0MjE1MDQsaG9uZXlkZXc6MTU3OTQxNjAsaG90cGluazoxNjczODc0MCxpbmRpYW5yZWQ6MTM0NTg1MjQsaW5kaWdvOjQ5MTUzMzAsaXZvcnk6MTY3NzcyMDAsa2hha2k6MTU3ODc2NjAsbGF2ZW5kZXI6MTUxMzI0MTAsbGF2ZW5kZXJibHVzaDoxNjc3MzM2NSxsYXduZ3JlZW46ODE5MDk3NixsZW1vbmNoaWZmb246MTY3NzU4ODUsbGlnaHRibHVlOjExMzkzMjU0LGxpZ2h0Y29yYWw6MTU3NjE1MzYsbGlnaHRjeWFuOjE0NzQ1NTk5LGxpZ2h0Z29sZGVucm9keWVsbG93OjE2NDQ4MjEwLGxpZ2h0Z3JheToxMzg4MjMyMyxsaWdodGdyZWVuOjk0OTgyNTYsbGlnaHRncmV5OjEzODgyMzIzLGxpZ2h0cGluazoxNjc1ODQ2NSxsaWdodHNhbG1vbjoxNjc1Mjc2MixsaWdodHNlYWdyZWVuOjIxNDI4OTAsbGlnaHRza3libHVlOjg5MDAzNDYsbGlnaHRzbGF0ZWdyYXk6NzgzMzc1MyxsaWdodHNsYXRlZ3JleTo3ODMzNzUzLGxpZ2h0c3RlZWxibHVlOjExNTg0NzM0LGxpZ2h0eWVsbG93OjE2Nzc3MTg0LGxpbWU6NjUyODAsbGltZWdyZWVuOjMzMjkzMzAsbGluZW46MTY0NDU2NzAsbWFnZW50YToxNjcxMTkzNSxtYXJvb246ODM4ODYwOCxtZWRpdW1hcXVhbWFyaW5lOjY3MzczMjIsbWVkaXVtYmx1ZToyMDUsbWVkaXVtb3JjaGlkOjEyMjExNjY3LG1lZGl1bXB1cnBsZTo5NjYyNjgzLG1lZGl1bXNlYWdyZWVuOjM5NzgwOTcsbWVkaXVtc2xhdGVibHVlOjgwODc3OTAsbWVkaXVtc3ByaW5nZ3JlZW46NjQxNTQsbWVkaXVtdHVycXVvaXNlOjQ3NzIzMDAsbWVkaXVtdmlvbGV0cmVkOjEzMDQ3MTczLG1pZG5pZ2h0Ymx1ZToxNjQ0OTEyLG1pbnRjcmVhbToxNjEyMTg1MCxtaXN0eXJvc2U6MTY3NzAyNzMsbW9jY2FzaW46MTY3NzAyMjksbmF2YWpvd2hpdGU6MTY3Njg2ODUsbmF2eToxMjgsb2xkbGFjZToxNjY0MzU1OCxvbGl2ZTo4NDIxMzc2LG9saXZlZHJhYjo3MDQ4NzM5LG9yYW5nZToxNjc1MzkyMCxvcmFuZ2VyZWQ6MTY3MjkzNDQsb3JjaGlkOjE0MzE1NzM0LHBhbGVnb2xkZW5yb2Q6MTU2NTcxMzAscGFsZWdyZWVuOjEwMDI1ODgwLHBhbGV0dXJxdW9pc2U6MTE1Mjk5NjYscGFsZXZpb2xldHJlZDoxNDM4MTIwMyxwYXBheWF3aGlwOjE2NzczMDc3LHBlYWNocHVmZjoxNjc2NzY3MyxwZXJ1OjEzNDY4OTkxLHBpbms6MTY3NjEwMzUscGx1bToxNDUyNDYzNyxwb3dkZXJibHVlOjExNTkxOTEwLHB1cnBsZTo4Mzg4NzM2LHJlYmVjY2FwdXJwbGU6NjY5Nzg4MSxyZWQ6MTY3MTE2ODAscm9zeWJyb3duOjEyMzU3NTE5LHJveWFsYmx1ZTo0Mjg2OTQ1LHNhZGRsZWJyb3duOjkxMjcxODcsc2FsbW9uOjE2NDE2ODgyLHNhbmR5YnJvd246MTYwMzI4NjQsc2VhZ3JlZW46MzA1MDMyNyxzZWFzaGVsbDoxNjc3NDYzOCxzaWVubmE6MTA1MDY3OTcsc2lsdmVyOjEyNjMyMjU2LHNreWJsdWU6ODkwMDMzMSxzbGF0ZWJsdWU6Njk3MDA2MSxzbGF0ZWdyYXk6NzM3Mjk0NCxzbGF0ZWdyZXk6NzM3Mjk0NCxzbm93OjE2Nzc1OTMwLHNwcmluZ2dyZWVuOjY1NDA3LHN0ZWVsYmx1ZTo0NjIwOTgwLHRhbjoxMzgwODc4MCx0ZWFsOjMyODk2LHRoaXN0bGU6MTQyMDQ4ODgsdG9tYXRvOjE2NzM3MDk1LHR1cnF1b2lzZTo0MjUxODU2LHZpb2xldDoxNTYzMTA4Nix3aGVhdDoxNjExMzMzMSx3aGl0ZToxNjc3NzIxNSx3aGl0ZXNtb2tlOjE2MTE5Mjg1LHllbGxvdzoxNjc3Njk2MCx5ZWxsb3dncmVlbjoxMDE0NTA3NH07ZnVuY3Rpb24gcUIoKXtyZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRIZXgoKX1mdW5jdGlvbiBZQigpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdFJnYigpfWZ1bmN0aW9uIFhCKHQpe3ZhciBlLG47cmV0dXJuIHQ9KHQrIiIpLnRyaW0oKS50b0xvd2VyQ2FzZSgpLChlPUJCLmV4ZWModCkpPyhuPWVbMV0ubGVuZ3RoLGU9cGFyc2VJbnQoZVsxXSwxNiksNj09PW4/JEIoZSk6Mz09PW4/bmV3IFFCKGU+PjgmMTV8ZT4+NCYyNDAsZT4+NCYxNXwyNDAmZSwoMTUmZSk8PDR8MTUmZSwxKTo4PT09bj9LQihlPj4yNCYyNTUsZT4+MTYmMjU1LGU+PjgmMjU1LCgyNTUmZSkvMjU1KTo0PT09bj9LQihlPj4xMiYxNXxlPj44JjI0MCxlPj44JjE1fGU+PjQmMjQwLGU+PjQmMTV8MjQwJmUsKCgxNSZlKTw8NHwxNSZlKS8yNTUpOm51bGwpOihlPUhCLmV4ZWModCkpP25ldyBRQihlWzFdLGVbMl0sZVszXSwxKTooZT1GQi5leGVjKHQpKT9uZXcgUUIoMjU1KmVbMV0vMTAwLDI1NSplWzJdLzEwMCwyNTUqZVszXS8xMDAsMSk6KGU9VkIuZXhlYyh0KSk/S0IoZVsxXSxlWzJdLGVbM10sZVs0XSk6KGU9VUIuZXhlYyh0KSk/S0IoMjU1KmVbMV0vMTAwLDI1NSplWzJdLzEwMCwyNTUqZVszXS8xMDAsZVs0XSk6KGU9akIuZXhlYyh0KSk/aUgoZVsxXSxlWzJdLzEwMCxlWzNdLzEwMCwxKTooZT1HQi5leGVjKHQpKT9pSChlWzFdLGVbMl0vMTAwLGVbM10vMTAwLGVbNF0pOldCLmhhc093blByb3BlcnR5KHQpPyRCKFdCW3RdKToidHJhbnNwYXJlbnQiPT09dD9uZXcgUUIoTmFOLE5hTixOYU4sMCk6bnVsbH1mdW5jdGlvbiAkQih0KXtyZXR1cm4gbmV3IFFCKHQ+PjE2JjI1NSx0Pj44JjI1NSwyNTUmdCwxKX1mdW5jdGlvbiBLQih0LGUsbixpKXtyZXR1cm4gaTw9MCYmKHQ9ZT1uPU5hTiksbmV3IFFCKHQsZSxuLGkpfWZ1bmN0aW9uIFpCKHQpe3JldHVybiB0IGluc3RhbmNlb2YgZUJ8fCh0PVhCKHQpKSx0P25ldyBRQigodD10LnJnYigpKS5yLHQuZyx0LmIsdC5vcGFjaXR5KTpuZXcgUUJ9ZnVuY3Rpb24gSkIodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP1pCKHQpOm5ldyBRQih0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24gUUIodCxlLG4saSl7dGhpcy5yPSt0LHRoaXMuZz0rZSx0aGlzLmI9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIHRIKCl7cmV0dXJuIiMiK25IKHRoaXMucikrbkgodGhpcy5nKStuSCh0aGlzLmIpfWZ1bmN0aW9uIGVIKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8icmdiKCI6InJnYmEoIikrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLnIpfHwwKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMuZyl8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5iKXx8MCkpKygxPT09dD8iKSI6IiwgIit0KyIpIil9ZnVuY3Rpb24gbkgodCl7cmV0dXJuKCh0PU1hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodCl8fDApKSk8MTY/IjAiOiIiKSt0LnRvU3RyaW5nKDE2KX1mdW5jdGlvbiBpSCh0LGUsbixpKXtyZXR1cm4gaTw9MD90PWU9bj1OYU46bjw9MHx8bj49MT90PWU9TmFOOmU8PTAmJih0PU5hTiksbmV3IG9IKHQsZSxuLGkpfWZ1bmN0aW9uIHJIKHQpe2lmKHQgaW5zdGFuY2VvZiBvSClyZXR1cm4gbmV3IG9IKHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIGVCfHwodD1YQih0KSksIXQpcmV0dXJuIG5ldyBvSDtpZih0IGluc3RhbmNlb2Ygb0gpcmV0dXJuIHQ7dmFyIGU9KHQ9dC5yZ2IoKSkuci8yNTUsbj10LmcvMjU1LGk9dC5iLzI1NSxyPU1hdGgubWluKGUsbixpKSxvPU1hdGgubWF4KGUsbixpKSxhPU5hTixzPW8tcixsPShvK3IpLzI7cmV0dXJuIHM/KGE9ZT09PW8/KG4taSkvcys2KihuPGkpOm49PT1vPyhpLWUpL3MrMjooZS1uKS9zKzQscy89bDwuNT9vK3I6Mi1vLXIsYSo9NjApOnM9bD4wJiZsPDE/MDphLG5ldyBvSChhLHMsbCx0Lm9wYWNpdHkpfWZ1bmN0aW9uIG9IKHQsZSxuLGkpe3RoaXMuaD0rdCx0aGlzLnM9K2UsdGhpcy5sPStuLHRoaXMub3BhY2l0eT0raX1mdW5jdGlvbiBhSCh0LGUsbil7cmV0dXJuIDI1NSoodDw2MD9lKyhuLWUpKnQvNjA6dDwxODA/bjp0PDI0MD9lKyhuLWUpKigyNDAtdCkvNjA6ZSl9ZnVuY3Rpb24gc0godCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIGxIKHQpe3JldHVybiAxPT0odD0rdCk/Y0g6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbi1lPyhmdW5jdGlvbiBpKHQsZSxuKXtyZXR1cm4gdD1NYXRoLnBvdyh0LG4pLGU9TWF0aC5wb3coZSxuKS10LG49MS9uLGZ1bmN0aW9uKGkpe3JldHVybiBNYXRoLnBvdyh0K2kqZSxuKX19KShlLG4sdCk6c0goaXNOYU4oZSk/bjplKX19ZnVuY3Rpb24gY0godCxlKXt2YXIgbj1lLXQ7cmV0dXJuIG4/KGZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHQrbiplfX0pKHQsbik6c0goaXNOYU4odCk/ZTp0KX1RRChlQixYQix7Y29weTpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgdGhpcy5jb25zdHJ1Y3Rvcix0aGlzLHQpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJnYigpLmRpc3BsYXlhYmxlKCl9LGhleDpxQixmb3JtYXRIZXg6cUIsZm9ybWF0SHNsOmZ1bmN0aW9uIHVIKCl7cmV0dXJuIHJIKHRoaXMpLmZvcm1hdEhzbCgpfSxmb3JtYXRSZ2I6WUIsdG9TdHJpbmc6WUJ9KSxRRChRQixKQix0QihlQix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9SQjpNYXRoLnBvdyhSQix0KSxuZXcgUUIodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/SUI6TWF0aC5wb3coSUIsdCksbmV3IFFCKHRoaXMucip0LHRoaXMuZyp0LHRoaXMuYip0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3JldHVybiB0aGlzfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybi0uNTw9dGhpcy5yJiZ0aGlzLnI8MjU1LjUmJi0uNTw9dGhpcy5nJiZ0aGlzLmc8MjU1LjUmJi0uNTw9dGhpcy5iJiZ0aGlzLmI8MjU1LjUmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxoZXg6dEgsZm9ybWF0SGV4OnRILGZvcm1hdFJnYjplSCx0b1N0cmluZzplSH0pKSxRRChvSCwoZnVuY3Rpb24gaEgodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3JIKHQpOm5ldyBvSCh0LGUsbixudWxsPT1pPzE6aSl9KSx0QihlQix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9SQjpNYXRoLnBvdyhSQix0KSxuZXcgb0godGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9JQjpNYXRoLnBvdyhJQix0KSxuZXcgb0godGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmglMzYwKzM2MCoodGhpcy5oPDApLGU9aXNOYU4odCl8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsbj10aGlzLmwsaT1uKyhuPC41P246MS1uKSplLHI9MipuLWk7cmV0dXJuIG5ldyBRQihhSCh0Pj0yNDA/dC0yNDA6dCsxMjAscixpKSxhSCh0LHIsaSksYUgodDwxMjA/dCsyNDA6dC0xMjAscixpKSx0aGlzLm9wYWNpdHkpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sZm9ybWF0SHNsOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8iaHNsKCI6ImhzbGEoIikrKHRoaXMuaHx8MCkrIiwgIisxMDAqKHRoaXMuc3x8MCkrIiUsICIrMTAwKih0aGlzLmx8fDApKyIlIisoMT09PXQ/IikiOiIsICIrdCsiKSIpfX0pKTt2YXIgZEg9KGZ1bmN0aW9uIHQoZSl7dmFyIG49bEgoZSk7ZnVuY3Rpb24gaSh0LGUpe3ZhciBpPW4oKHQ9SkIodCkpLnIsKGU9SkIoZSkpLnIpLHI9bih0LmcsZS5nKSxvPW4odC5iLGUuYiksYT1jSCh0Lm9wYWNpdHksZS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQucj1pKGUpLHQuZz1yKGUpLHQuYj1vKGUpLHQub3BhY2l0eT1hKGUpLHQrIiJ9fXJldHVybiBpLmdhbW1hPXQsaX0pKDEpO2Z1bmN0aW9uIHBIKHQsZSl7ZXx8KGU9W10pO3ZhciBuLGk9dD9NYXRoLm1pbihlLmxlbmd0aCx0Lmxlbmd0aCk6MCxyPWUuc2xpY2UoKTtyZXR1cm4gZnVuY3Rpb24obyl7Zm9yKG49MDtuPGk7KytuKXJbbl09dFtuXSooMS1vKStlW25dKm87cmV0dXJuIHJ9fWZ1bmN0aW9uIGZIKHQsZSl7dmFyIG4saT1lP2UubGVuZ3RoOjAscj10P01hdGgubWluKGksdC5sZW5ndGgpOjAsbz1uZXcgQXJyYXkociksYT1uZXcgQXJyYXkoaSk7Zm9yKG49MDtuPHI7KytuKW9bbl09eEgodFtuXSxlW25dKTtmb3IoO248aTsrK24pYVtuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3Iobj0wO248cjsrK24pYVtuXT1vW25dKHQpO3JldHVybiBhfX1mdW5jdGlvbiBtSCh0LGUpe3ZhciBuPW5ldyBEYXRlO3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24oaSl7cmV0dXJuIG4uc2V0VGltZSh0KigxLWkpK2UqaSksbn19ZnVuY3Rpb24gZ0godCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiB0KigxLW4pK2Uqbn19ZnVuY3Rpb24gX0godCxlKXt2YXIgbixpPXt9LHI9e307Zm9yKG4gaW4gbnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdHx8KHQ9e30pLG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGV8fChlPXt9KSxlKW4gaW4gdD9pW25dPXhIKHRbbl0sZVtuXSk6cltuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3IobiBpbiBpKXJbbl09aVtuXSh0KTtyZXR1cm4gcn19dmFyIHlIPS9bLStdPyg/OlxkK1wuP1xkKnxcLj9cZCspKD86W2VFXVstK10/XGQrKT8vZyx2SD1uZXcgUmVnRXhwKHlILnNvdXJjZSwiZyIpO2Z1bmN0aW9uIGJIKHQsZSl7dmFyIG4saSxyLG89eUgubGFzdEluZGV4PXZILmxhc3RJbmRleD0wLGE9LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsobj15SC5leGVjKHQpKSYmKGk9dkguZXhlYyhlKSk7KShyPWkuaW5kZXgpPm8mJihyPWUuc2xpY2UobyxyKSxzW2FdP3NbYV0rPXI6c1srK2FdPXIpLChuPW5bMF0pPT09KGk9aVswXSk/c1thXT9zW2FdKz1pOnNbKythXT1pOihzWysrYV09bnVsbCxsLnB1c2goe2k6YSx4OmdIKG4saSl9KSksbz12SC5sYXN0SW5kZXg7cmV0dXJuIG88ZS5sZW5ndGgmJihyPWUuc2xpY2Uobyksc1thXT9zW2FdKz1yOnNbKythXT1yKSxzLmxlbmd0aDwyP2xbMF0/KGZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpKyIifX0pKGxbMF0ueCk6KGZ1bmN0aW9uIHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkoZSk6KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciBuLGk9MDtpPGU7KytpKXNbKG49bFtpXSkuaV09bi54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9ZnVuY3Rpb24geEgodCxlKXt2YXIgbixpPXR5cGVvZiBlO3JldHVybiBudWxsPT1lfHwiYm9vbGVhbiI9PT1pP3NIKGUpOigibnVtYmVyIj09PWk/Z0g6InN0cmluZyI9PT1pPyhuPVhCKGUpKT8oZT1uLGRIKTpiSDplIGluc3RhbmNlb2YgWEI/ZEg6ZSBpbnN0YW5jZW9mIERhdGU/bUg6KGZ1bmN0aW9uIHIodCl7cmV0dXJuIEFycmF5QnVmZmVyLmlzVmlldyh0KSYmISh0IGluc3RhbmNlb2YgRGF0YVZpZXcpfSkoZSk/cEg6QXJyYXkuaXNBcnJheShlKT9mSDoiZnVuY3Rpb24iIT10eXBlb2YgZS52YWx1ZU9mJiYiZnVuY3Rpb24iIT10eXBlb2YgZS50b1N0cmluZ3x8aXNOYU4oZSk/X0g6Z0gpKHQsZSl9dmFyIHdILFNILE1ILEVILFRIPTE4MC9NYXRoLlBJLENIPXt0cmFuc2xhdGVYOjAsdHJhbnNsYXRlWTowLHJvdGF0ZTowLHNrZXdYOjAsc2NhbGVYOjEsc2NhbGVZOjF9O2Z1bmN0aW9uIEFIKHQsZSxuLGkscixvKXt2YXIgYSxzLGw7cmV0dXJuKGE9TWF0aC5zcXJ0KHQqdCtlKmUpKSYmKHQvPWEsZS89YSksKGw9dCpuK2UqaSkmJihuLT10KmwsaS09ZSpsKSwocz1NYXRoLnNxcnQobipuK2kqaSkpJiYobi89cyxpLz1zLGwvPXMpLHQqaTxlKm4mJih0PS10LGU9LWUsbD0tbCxhPS1hKSx7dHJhbnNsYXRlWDpyLHRyYW5zbGF0ZVk6byxyb3RhdGU6TWF0aC5hdGFuMihlLHQpKlRILHNrZXdYOk1hdGguYXRhbihsKSpUSCxzY2FsZVg6YSxzY2FsZVk6c319ZnVuY3Rpb24ga0godCxlLG4saSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5sZW5ndGg/dC5wb3AoKSsiICI6IiJ9cmV0dXJuIGZ1bmN0aW9uKG8sYSl7dmFyIHM9W10sbD1bXTtyZXR1cm4gbz10KG8pLGE9dChhKSwoZnVuY3Rpb24gYyh0LGkscixvLGEscyl7aWYodCE9PXJ8fGkhPT1vKXt2YXIgbD1hLnB1c2goInRyYW5zbGF0ZSgiLG51bGwsZSxudWxsLG4pO3MucHVzaCh7aTpsLTQseDpnSCh0LHIpfSx7aTpsLTIseDpnSChpLG8pfSl9ZWxzZShyfHxvKSYmYS5wdXNoKCJ0cmFuc2xhdGUoIityK2UrbytuKX0pKG8udHJhbnNsYXRlWCxvLnRyYW5zbGF0ZVksYS50cmFuc2xhdGVYLGEudHJhbnNsYXRlWSxzLGwpLChmdW5jdGlvbiB1KHQsZSxuLG8pe3QhPT1lPyh0LWU+MTgwP2UrPTM2MDplLXQ+MTgwJiYodCs9MzYwKSxvLnB1c2goe2k6bi5wdXNoKHIobikrInJvdGF0ZSgiLG51bGwsaSktMix4OmdIKHQsZSl9KSk6ZSYmbi5wdXNoKHIobikrInJvdGF0ZSgiK2UraSl9KShvLnJvdGF0ZSxhLnJvdGF0ZSxzLGwpLChmdW5jdGlvbiBoKHQsZSxuLG8pe3QhPT1lP28ucHVzaCh7aTpuLnB1c2gocihuKSsic2tld1goIixudWxsLGkpLTIseDpnSCh0LGUpfSk6ZSYmbi5wdXNoKHIobikrInNrZXdYKCIrZStpKX0pKG8uc2tld1gsYS5za2V3WCxzLGwpLChmdW5jdGlvbiBkKHQsZSxuLGksbyxhKXtpZih0IT09bnx8ZSE9PWkpe3ZhciBzPW8ucHVzaChyKG8pKyJzY2FsZSgiLG51bGwsIiwiLG51bGwsIikiKTthLnB1c2goe2k6cy00LHg6Z0godCxuKX0se2k6cy0yLHg6Z0goZSxpKX0pfWVsc2UgMT09PW4mJjE9PT1pfHxvLnB1c2gocihvKSsic2NhbGUoIituKyIsIitpKyIpIil9KShvLnNjYWxlWCxvLnNjYWxlWSxhLnNjYWxlWCxhLnNjYWxlWSxzLGwpLG89YT1udWxsLGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPS0xLGk9bC5sZW5ndGg7KytuPGk7KXNbKGU9bFtuXSkuaV09ZS54KHQpO3JldHVybiBzLmpvaW4oIiIpfX19dmFyIExILFBILE5IPWtIKChmdW5jdGlvbiBJSCh0KXtyZXR1cm4ibm9uZSI9PT10P0NIOih3SHx8KHdIPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpLFNIPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxNSD1kb2N1bWVudC5kZWZhdWx0Vmlldyksd0guc3R5bGUudHJhbnNmb3JtPXQsdD1NSC5nZXRDb21wdXRlZFN0eWxlKFNILmFwcGVuZENoaWxkKHdIKSxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJ0cmFuc2Zvcm0iKSxTSC5yZW1vdmVDaGlsZCh3SCksQUgoKyh0PXQuc2xpY2UoNywtMSkuc3BsaXQoIiwiKSlbMF0sK3RbMV0sK3RbMl0sK3RbM10sK3RbNF0sK3RbNV0pKX0pLCJweCwgIiwicHgpIiwiZGVnKSIpLFJIPWtIKChmdW5jdGlvbiBPSCh0KXtyZXR1cm4gbnVsbD09dD9DSDooRUh8fChFSD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpKSxFSC5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsdCksKHQ9RUgudHJhbnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKSk/QUgoKHQ9dC5tYXRyaXgpLmEsdC5iLHQuYyx0LmQsdC5lLHQuZik6Q0gpfSksIiwgIiwiKSIsIikiKSx6SD0wLERIPTAsQkg9MCxISD0wLEZIPTAsVkg9MCxVSD0ib2JqZWN0Ij09dHlwZW9mIHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5ub3c/cGVyZm9ybWFuY2U6RGF0ZSxqSD0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KTpmdW5jdGlvbih0KXtzZXRUaW1lb3V0KHQsMTcpfTtmdW5jdGlvbiBHSCgpe3JldHVybiBGSHx8KGpIKFdIKSxGSD1VSC5ub3coKStWSCl9ZnVuY3Rpb24gV0goKXtGSD0wfWZ1bmN0aW9uIHFIKCl7dGhpcy5fY2FsbD10aGlzLl90aW1lPXRoaXMuX25leHQ9bnVsbH1mdW5jdGlvbiBZSCh0LGUsbil7dmFyIGk9bmV3IHFIO3JldHVybiBpLnJlc3RhcnQodCxlLG4pLGl9ZnVuY3Rpb24gWEgoKXtGSD0oSEg9VUgubm93KCkpK1ZILHpIPURIPTA7dHJ5eyEoZnVuY3Rpb24gdCgpe0dIKCksKyt6SDtmb3IodmFyIHQsZT1MSDtlOykodD1GSC1lLl90aW1lKT49MCYmZS5fY2FsbC5jYWxsKG51bGwsdCksZT1lLl9uZXh0Oy0tekh9KSgpfWZpbmFsbHl7ekg9MCwoZnVuY3Rpb24gZSgpe3ZhciB0LGUsbj1MSCxpPTEvMDtmb3IoO247KW4uX2NhbGw/KGk+bi5fdGltZSYmKGk9bi5fdGltZSksdD1uLG49bi5fbmV4dCk6KGU9bi5fbmV4dCxuLl9uZXh0PW51bGwsbj10P3QuX25leHQ9ZTpMSD1lKTtQSD10LEtIKGkpfSkoKSxGSD0wfX1mdW5jdGlvbiAkSCgpe3ZhciB0PVVILm5vdygpLGU9dC1ISDtlPjFlMyYmKFZILT1lLEhIPXQpfWZ1bmN0aW9uIEtIKHQpe3pIfHwoREgmJihESD1jbGVhclRpbWVvdXQoREgpKSx0LUZIPjI0Pyh0PDEvMCYmKERIPXNldFRpbWVvdXQoWEgsdC1VSC5ub3coKS1WSCkpLEJIJiYoQkg9Y2xlYXJJbnRlcnZhbChCSCkpKTooQkh8fChISD1VSC5ub3coKSxCSD1zZXRJbnRlcnZhbCgkSCwxZTMpKSx6SD0xLGpIKFhIKSkpfWZ1bmN0aW9uIFpIKHQsZSxuKXt2YXIgaT1uZXcgcUg7cmV0dXJuIGkucmVzdGFydCgoZnVuY3Rpb24obil7aS5zdG9wKCksdChuK2UpfSksZT1udWxsPT1lPzA6K2UsbiksaX1xSC5wcm90b3R5cGU9WUgucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpxSCxyZXN0YXJ0OmZ1bmN0aW9uKHQsZSxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBpcyBub3QgYSBmdW5jdGlvbiIpO249KG51bGw9PW4/R0goKTorbikrKG51bGw9PWU/MDorZSksdGhpcy5fbmV4dHx8UEg9PT10aGlzfHwoUEg/UEguX25leHQ9dGhpczpMSD10aGlzLFBIPXRoaXMpLHRoaXMuX2NhbGw9dCx0aGlzLl90aW1lPW4sS0goKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuX2NhbGwmJih0aGlzLl9jYWxsPW51bGwsdGhpcy5fdGltZT0xLzAsS0goKSl9fTt2YXIgSkg9UnooInN0YXJ0IiwiZW5kIiwiY2FuY2VsIiwiaW50ZXJydXB0IiksUUg9W107ZnVuY3Rpb24gdEYodCxlLG4saSxyLG8pe3ZhciBhPXQuX190cmFuc2l0aW9uO2lmKGEpe2lmKG4gaW4gYSlyZXR1cm59ZWxzZSB0Ll9fdHJhbnNpdGlvbj17fTshKGZ1bmN0aW9uIHModCxlLG4pe3ZhciBpLHI9dC5fX3RyYW5zaXRpb247ZnVuY3Rpb24gbyh0KXtuLnN0YXRlPTEsbi50aW1lci5yZXN0YXJ0KGEsbi5kZWxheSxuLnRpbWUpLG4uZGVsYXk8PXQmJmEodC1uLmRlbGF5KX1mdW5jdGlvbiBhKG8pe3ZhciBjLHUsaCxkO2lmKDEhPT1uLnN0YXRlKXJldHVybiBsKCk7Zm9yKGMgaW4gcilpZigoZD1yW2NdKS5uYW1lPT09bi5uYW1lKXtpZigzPT09ZC5zdGF0ZSlyZXR1cm4gWkgoYSk7ND09PWQuc3RhdGU/KGQuc3RhdGU9NixkLnRpbWVyLnN0b3AoKSxkLm9uLmNhbGwoImludGVycnVwdCIsdCx0Ll9fZGF0YV9fLGQuaW5kZXgsZC5ncm91cCksZGVsZXRlIHJbY10pOitjPGUmJihkLnN0YXRlPTYsZC50aW1lci5zdG9wKCksZC5vbi5jYWxsKCJjYW5jZWwiLHQsdC5fX2RhdGFfXyxkLmluZGV4LGQuZ3JvdXApLGRlbGV0ZSByW2NdKX1pZihaSCgoZnVuY3Rpb24oKXszPT09bi5zdGF0ZSYmKG4uc3RhdGU9NCxuLnRpbWVyLnJlc3RhcnQocyxuLmRlbGF5LG4udGltZSkscyhvKSl9KSksbi5zdGF0ZT0yLG4ub24uY2FsbCgic3RhcnQiLHQsdC5fX2RhdGFfXyxuLmluZGV4LG4uZ3JvdXApLDI9PT1uLnN0YXRlKXtmb3Iobi5zdGF0ZT0zLGk9bmV3IEFycmF5KGg9bi50d2Vlbi5sZW5ndGgpLGM9MCx1PS0xO2M8aDsrK2MpKGQ9bi50d2VlbltjXS52YWx1ZS5jYWxsKHQsdC5fX2RhdGFfXyxuLmluZGV4LG4uZ3JvdXApKSYmKGlbKyt1XT1kKTtpLmxlbmd0aD11KzF9fWZ1bmN0aW9uIHMoZSl7Zm9yKHZhciByPWU8bi5kdXJhdGlvbj9uLmVhc2UuY2FsbChudWxsLGUvbi5kdXJhdGlvbik6KG4udGltZXIucmVzdGFydChsKSxuLnN0YXRlPTUsMSksbz0tMSxhPWkubGVuZ3RoOysrbzxhOylpW29dLmNhbGwodCxyKTs1PT09bi5zdGF0ZSYmKG4ub24uY2FsbCgiZW5kIix0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSxsKCkpfWZ1bmN0aW9uIGwoKXtmb3IodmFyIGkgaW4gbi5zdGF0ZT02LG4udGltZXIuc3RvcCgpLGRlbGV0ZSByW2VdLHIpcmV0dXJuO2RlbGV0ZSB0Ll9fdHJhbnNpdGlvbn1yW2VdPW4sbi50aW1lcj1ZSChvLDAsbi50aW1lKX0pKHQsbix7bmFtZTplLGluZGV4OmksZ3JvdXA6cixvbjpKSCx0d2VlbjpRSCx0aW1lOm8udGltZSxkZWxheTpvLmRlbGF5LGR1cmF0aW9uOm8uZHVyYXRpb24sZWFzZTpvLmVhc2UsdGltZXI6bnVsbCxzdGF0ZTowfSl9ZnVuY3Rpb24gZUYodCxlKXt2YXIgbj1pRih0LGUpO2lmKG4uc3RhdGU+MCl0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHNjaGVkdWxlZCIpO3JldHVybiBufWZ1bmN0aW9uIG5GKHQsZSl7dmFyIG49aUYodCxlKTtpZihuLnN0YXRlPjMpdGhyb3cgbmV3IEVycm9yKCJ0b28gbGF0ZTsgYWxyZWFkeSBydW5uaW5nIik7cmV0dXJuIG59ZnVuY3Rpb24gaUYodCxlKXt2YXIgbj10Ll9fdHJhbnNpdGlvbjtpZighbnx8IShuPW5bZV0pKXRocm93IG5ldyBFcnJvcigidHJhbnNpdGlvbiBub3QgZm91bmQiKTtyZXR1cm4gbn1mdW5jdGlvbiByRih0LGUpe3ZhciBuLGkscixvPXQuX190cmFuc2l0aW9uLGE9ITA7aWYobyl7Zm9yKHIgaW4gZT1udWxsPT1lP251bGw6ZSsiIixvKShuPW9bcl0pLm5hbWU9PT1lPyhpPW4uc3RhdGU+MiYmbi5zdGF0ZTw1LG4uc3RhdGU9NixuLnRpbWVyLnN0b3AoKSxuLm9uLmNhbGwoaT8iaW50ZXJydXB0IjoiY2FuY2VsIix0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSxkZWxldGUgb1tyXSk6YT0hMTthJiZkZWxldGUgdC5fX3RyYW5zaXRpb259fWZ1bmN0aW9uIG9GKHQsZSl7dmFyIG4saTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcj1uRih0aGlzLHQpLG89ci50d2VlbjtpZihvIT09bilmb3IodmFyIGE9MCxzPShpPW49bykubGVuZ3RoO2E8czsrK2EpaWYoaVthXS5uYW1lPT09ZSl7KGk9aS5zbGljZSgpKS5zcGxpY2UoYSwxKTticmVha31yLnR3ZWVuPWl9fWZ1bmN0aW9uIGFGKHQsZSxuKXt2YXIgaSxyO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IG5ldyBFcnJvcjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz1uRih0aGlzLHQpLGE9by50d2VlbjtpZihhIT09aSl7cj0oaT1hKS5zbGljZSgpO2Zvcih2YXIgcz17bmFtZTplLHZhbHVlOm59LGw9MCxjPXIubGVuZ3RoO2w8YzsrK2wpaWYocltsXS5uYW1lPT09ZSl7cltsXT1zO2JyZWFrfWw9PT1jJiZyLnB1c2gocyl9by50d2Vlbj1yfX1mdW5jdGlvbiBzRih0LGUsbil7dmFyIGk9dC5faWQ7cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24oKXt2YXIgdD1uRih0aGlzLGkpOyh0LnZhbHVlfHwodC52YWx1ZT17fSkpW2VdPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpfSkpLGZ1bmN0aW9uKHQpe3JldHVybiBpRih0LGkpLnZhbHVlW2VdfX1mdW5jdGlvbiBsRih0LGUpe3ZhciBuO3JldHVybigibnVtYmVyIj09dHlwZW9mIGU/Z0g6ZSBpbnN0YW5jZW9mIFhCP2RIOihuPVhCKGUpKT8oZT1uLGRIKTpiSCkodCxlKX1mdW5jdGlvbiBjRih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZSh0KX19ZnVuY3Rpb24gdUYodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpfX1mdW5jdGlvbiBoRih0LGUsbil7dmFyIGkscixvPW4rIiI7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRBdHRyaWJ1dGUodCk7cmV0dXJuIGE9PT1vP251bGw6YT09PWk/cjpyPWUoaT1hLG4pfX1mdW5jdGlvbiBkRih0LGUsbil7dmFyIGkscixvPW4rIiI7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpO3JldHVybiBhPT09bz9udWxsOmE9PT1pP3I6cj1lKGk9YSxuKX19ZnVuY3Rpb24gcEYodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYSxzLGw9bih0aGlzKTtpZihudWxsIT1sKXJldHVybihhPXRoaXMuZ2V0QXR0cmlidXRlKHQpKT09PShzPWwrIiIpP251bGw6YT09PWkmJnM9PT1yP286KHI9cyxvPWUoaT1hLGwpKTt0aGlzLnJlbW92ZUF0dHJpYnV0ZSh0KX19ZnVuY3Rpb24gZkYodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYSxzLGw9bih0aGlzKTtpZihudWxsIT1sKXJldHVybihhPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKSk9PT0ocz1sKyIiKT9udWxsOmE9PT1pJiZzPT09cj9vOihyPXMsbz1lKGk9YSxsKSk7dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpfX1mdW5jdGlvbiBtRih0LGUpe3JldHVybiBmdW5jdGlvbihuKXt0aGlzLnNldEF0dHJpYnV0ZSh0LGUuY2FsbCh0aGlzLG4pKX19ZnVuY3Rpb24gZ0YodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dGhpcy5zZXRBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwsZS5jYWxsKHRoaXMsbikpfX1mdW5jdGlvbiBfRih0LGUpe3ZhciBuLGk7ZnVuY3Rpb24gcigpe3ZhciByPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiByIT09aSYmKG49KGk9cikmJmdGKHQscikpLG59cmV0dXJuIHIuX3ZhbHVlPWUscn1mdW5jdGlvbiB5Rih0LGUpe3ZhciBuLGk7ZnVuY3Rpb24gcigpe3ZhciByPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiByIT09aSYmKG49KGk9cikmJm1GKHQscikpLG59cmV0dXJuIHIuX3ZhbHVlPWUscn1mdW5jdGlvbiB2Rih0LGUpe3JldHVybiBmdW5jdGlvbigpe2VGKHRoaXMsdCkuZGVsYXk9K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBiRih0LGUpe3JldHVybiBlPStlLGZ1bmN0aW9uKCl7ZUYodGhpcyx0KS5kZWxheT1lfX1mdW5jdGlvbiB4Rih0LGUpe3JldHVybiBmdW5jdGlvbigpe25GKHRoaXMsdCkuZHVyYXRpb249K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiB3Rih0LGUpe3JldHVybiBlPStlLGZ1bmN0aW9uKCl7bkYodGhpcyx0KS5kdXJhdGlvbj1lfX1mdW5jdGlvbiBTRih0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcjtyZXR1cm4gZnVuY3Rpb24oKXtuRih0aGlzLHQpLmVhc2U9ZX19ZnVuY3Rpb24gTUYodCxlLG4pe3ZhciBpLHIsbz0oZnVuY3Rpb24gYSh0KXtyZXR1cm4odCsiIikudHJpbSgpLnNwbGl0KC9efFxzKy8pLmV2ZXJ5KChmdW5jdGlvbih0KXt2YXIgZT10LmluZGV4T2YoIi4iKTtyZXR1cm4gZT49MCYmKHQ9dC5zbGljZSgwLGUpKSwhdHx8InN0YXJ0Ij09PXR9KSl9KShlKT9lRjpuRjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYT1vKHRoaXMsdCkscz1hLm9uO3MhPT1pJiYocj0oaT1zKS5jb3B5KCkpLm9uKGUsbiksYS5vbj1yfX12YXIgRUY9WUQucHJvdG90eXBlLmNvbnN0cnVjdG9yO2Z1bmN0aW9uIFRGKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9fWZ1bmN0aW9uIENGKHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oaSl7dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSh0LGUuY2FsbCh0aGlzLGkpLG4pfX1mdW5jdGlvbiBBRih0LGUsbil7dmFyIGkscjtmdW5jdGlvbiBvKCl7dmFyIG89ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG8hPT1yJiYoaT0ocj1vKSYmQ0YodCxvLG4pKSxpfXJldHVybiBvLl92YWx1ZT1lLG99ZnVuY3Rpb24ga0YodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3RoaXMudGV4dENvbnRlbnQ9dC5jYWxsKHRoaXMsZSl9fWZ1bmN0aW9uIExGKHQpe3ZhciBlLG47ZnVuY3Rpb24gaSgpe3ZhciBpPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBpIT09biYmKGU9KG49aSkmJmtGKGkpKSxlfXJldHVybiBpLl92YWx1ZT10LGl9dmFyIFBGPTA7ZnVuY3Rpb24gTkYodCxlLG4saSl7dGhpcy5fZ3JvdXBzPXQsdGhpcy5fcGFyZW50cz1lLHRoaXMuX25hbWU9bix0aGlzLl9pZD1pfWZ1bmN0aW9uIElGKCl7cmV0dXJuKytQRn12YXIgUkY9WUQucHJvdG90eXBlO05GLnByb3RvdHlwZT17Y29uc3RydWN0b3I6TkYsc2VsZWN0OmZ1bmN0aW9uIE9GKHQpe3ZhciBlPXRoaXMuX25hbWUsbj10aGlzLl9pZDsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9cXoodCkpO2Zvcih2YXIgaT10aGlzLl9ncm91cHMscj1pLmxlbmd0aCxvPW5ldyBBcnJheShyKSxhPTA7YTxyOysrYSlmb3IodmFyIHMsbCxjPWlbYV0sdT1jLmxlbmd0aCxoPW9bYV09bmV3IEFycmF5KHUpLGQ9MDtkPHU7KytkKShzPWNbZF0pJiYobD10LmNhbGwocyxzLl9fZGF0YV9fLGQsYykpJiYoIl9fZGF0YV9fImluIHMmJihsLl9fZGF0YV9fPXMuX19kYXRhX18pLGhbZF09bCx0RihoW2RdLGUsbixkLGgsaUYocyxuKSkpO3JldHVybiBuZXcgTkYobyx0aGlzLl9wYXJlbnRzLGUsbil9LHNlbGVjdEFsbDpmdW5jdGlvbiB6Rih0KXt2YXIgZT10aGlzLl9uYW1lLG49dGhpcy5faWQ7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVh6KHQpKTtmb3IodmFyIGk9dGhpcy5fZ3JvdXBzLHI9aS5sZW5ndGgsbz1bXSxhPVtdLHM9MDtzPHI7KytzKWZvcih2YXIgbCxjPWlbc10sdT1jLmxlbmd0aCxoPTA7aDx1OysraClpZihsPWNbaF0pe2Zvcih2YXIgZCxwPXQuY2FsbChsLGwuX19kYXRhX18saCxjKSxmPWlGKGwsbiksbT0wLGc9cC5sZW5ndGg7bTxnOysrbSkoZD1wW21dKSYmdEYoZCxlLG4sbSxwLGYpO28ucHVzaChwKSxhLnB1c2gobCl9cmV0dXJuIG5ldyBORihvLGEsZSxuKX0sZmlsdGVyOmZ1bmN0aW9uIERGKHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD0keih0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhPWVbcl0scz1hLmxlbmd0aCxsPWlbcl09W10sYz0wO2M8czsrK2MpKG89YVtjXSkmJnQuY2FsbChvLG8uX19kYXRhX18sYyxhKSYmbC5wdXNoKG8pO3JldHVybiBuZXcgTkYoaSx0aGlzLl9wYXJlbnRzLHRoaXMuX25hbWUsdGhpcy5faWQpfSxtZXJnZTpmdW5jdGlvbiBCRih0KXtpZih0Ll9pZCE9PXRoaXMuX2lkKXRocm93IG5ldyBFcnJvcjtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49dC5fZ3JvdXBzLGk9ZS5sZW5ndGgscj1NYXRoLm1pbihpLG4ubGVuZ3RoKSxvPW5ldyBBcnJheShpKSxhPTA7YTxyOysrYSlmb3IodmFyIHMsbD1lW2FdLGM9blthXSx1PWwubGVuZ3RoLGg9b1thXT1uZXcgQXJyYXkodSksZD0wO2Q8dTsrK2QpKHM9bFtkXXx8Y1tkXSkmJihoW2RdPXMpO2Zvcig7YTxpOysrYSlvW2FdPWVbYV07cmV0dXJuIG5ldyBORihvLHRoaXMuX3BhcmVudHMsdGhpcy5fbmFtZSx0aGlzLl9pZCl9LHNlbGVjdGlvbjpmdW5jdGlvbiBIRigpe3JldHVybiBuZXcgRUYodGhpcy5fZ3JvdXBzLHRoaXMuX3BhcmVudHMpfSx0cmFuc2l0aW9uOmZ1bmN0aW9uIEZGKCl7Zm9yKHZhciB0PXRoaXMuX25hbWUsZT10aGlzLl9pZCxuPUlGKCksaT10aGlzLl9ncm91cHMscj1pLmxlbmd0aCxvPTA7bzxyOysrbylmb3IodmFyIGEscz1pW29dLGw9cy5sZW5ndGgsYz0wO2M8bDsrK2MpaWYoYT1zW2NdKXt2YXIgdT1pRihhLGUpO3RGKGEsdCxuLGMscyx7dGltZTp1LnRpbWUrdS5kZWxheSt1LmR1cmF0aW9uLGRlbGF5OjAsZHVyYXRpb246dS5kdXJhdGlvbixlYXNlOnUuZWFzZX0pfXJldHVybiBuZXcgTkYoaSx0aGlzLl9wYXJlbnRzLHQsbil9LGNhbGw6UkYuY2FsbCxub2RlczpSRi5ub2Rlcyxub2RlOlJGLm5vZGUsc2l6ZTpSRi5zaXplLGVtcHR5OlJGLmVtcHR5LGVhY2g6UkYuZWFjaCxvbjpmdW5jdGlvbiBWRih0LGUpe3ZhciBuPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDI/aUYodGhpcy5ub2RlKCksbikub24ub24odCk6dGhpcy5lYWNoKE1GKG4sdCxlKSl9LGF0dHI6ZnVuY3Rpb24gVUYodCxlKXt2YXIgbj1Weih0KSxpPSJ0cmFuc2Zvcm0iPT09bj9SSDpsRjtyZXR1cm4gdGhpcy5hdHRyVHdlZW4odCwiZnVuY3Rpb24iPT10eXBlb2YgZT8obi5sb2NhbD9mRjpwRikobixpLHNGKHRoaXMsImF0dHIuIit0LGUpKTpudWxsPT1lPyhuLmxvY2FsP3VGOmNGKShuKToobi5sb2NhbD9kRjpoRikobixpLGUpKX0sYXR0clR3ZWVuOmZ1bmN0aW9uIGpGKHQsZSl7dmFyIG49ImF0dHIuIit0O2lmKGFyZ3VtZW50cy5sZW5ndGg8MilyZXR1cm4obj10aGlzLnR3ZWVuKG4pKSYmbi5fdmFsdWU7aWYobnVsbD09ZSlyZXR1cm4gdGhpcy50d2VlbihuLG51bGwpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcjt2YXIgaT1Weih0KTtyZXR1cm4gdGhpcy50d2VlbihuLChpLmxvY2FsP19GOnlGKShpLGUpKX0sc3R5bGU6ZnVuY3Rpb24gR0YodCxlLG4pe3ZhciBpPSJ0cmFuc2Zvcm0iPT0odCs9IiIpP05IOmxGO3JldHVybiBudWxsPT1lP3RoaXMuc3R5bGVUd2Vlbih0LChmdW5jdGlvbiByKHQsZSl7dmFyIG4saSxyO3JldHVybiBmdW5jdGlvbigpe3ZhciBvPWhEKHRoaXMsdCksYT0odGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KSxoRCh0aGlzLHQpKTtyZXR1cm4gbz09PWE/bnVsbDpvPT09biYmYT09PWk/cjpyPWUobj1vLGk9YSl9fSkodCxpKSkub24oImVuZC5zdHlsZS4iK3QsVEYodCkpOiJmdW5jdGlvbiI9PXR5cGVvZiBlP3RoaXMuc3R5bGVUd2Vlbih0LChmdW5jdGlvbiBhKHQsZSxuKXt2YXIgaSxyLG87cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9aEQodGhpcyx0KSxzPW4odGhpcyksbD1zKyIiO3JldHVybiBudWxsPT1zJiYodGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KSxsPXM9aEQodGhpcyx0KSksYT09PWw/bnVsbDphPT09aSYmbD09PXI/bzoocj1sLG89ZShpPWEscykpfX0pKHQsaSxzRih0aGlzLCJzdHlsZS4iK3QsZSkpKS5lYWNoKChmdW5jdGlvbiBvKHQsZSl7dmFyIG4saSxyLG8sYT0ic3R5bGUuIitlLHM9ImVuZC4iK2E7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGw9bkYodGhpcyx0KSxjPWwub24sdT1udWxsPT1sLnZhbHVlW2FdP298fChvPVRGKGUpKTp2b2lkIDA7Yz09PW4mJnI9PT11fHwoaT0obj1jKS5jb3B5KCkpLm9uKHMscj11KSxsLm9uPWl9fSkodGhpcy5faWQsdCkpOnRoaXMuc3R5bGVUd2Vlbih0LChmdW5jdGlvbiBzKHQsZSxuKXt2YXIgaSxyLG89bisiIjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYT1oRCh0aGlzLHQpO3JldHVybiBhPT09bz9udWxsOmE9PT1pP3I6cj1lKGk9YSxuKX19KSh0LGksZSksbikub24oImVuZC5zdHlsZS4iK3QsbnVsbCl9LHN0eWxlVHdlZW46ZnVuY3Rpb24gV0YodCxlLG4pe3ZhciBpPSJzdHlsZS4iKyh0Kz0iIik7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXJldHVybihpPXRoaXMudHdlZW4oaSkpJiZpLl92YWx1ZTtpZihudWxsPT1lKXJldHVybiB0aGlzLnR3ZWVuKGksbnVsbCk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yO3JldHVybiB0aGlzLnR3ZWVuKGksQUYodCxlLG51bGw9PW4/IiI6bikpfSx0ZXh0OmZ1bmN0aW9uIHFGKHQpe3JldHVybiB0aGlzLnR3ZWVuKCJ0ZXh0IiwiZnVuY3Rpb24iPT10eXBlb2YgdD8oZnVuY3Rpb24gZSh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10KHRoaXMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfX0pKHNGKHRoaXMsInRleHQiLHQpKTooZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnRleHRDb250ZW50PXR9fSkobnVsbD09dD8iIjp0KyIiKSl9LHRleHRUd2VlbjpmdW5jdGlvbiBZRih0KXt2YXIgZT0idGV4dCI7aWYoYXJndW1lbnRzLmxlbmd0aDwxKXJldHVybihlPXRoaXMudHdlZW4oZSkpJiZlLl92YWx1ZTtpZihudWxsPT10KXJldHVybiB0aGlzLnR3ZWVuKGUsbnVsbCk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yO3JldHVybiB0aGlzLnR3ZWVuKGUsTEYodCkpfSxyZW1vdmU6ZnVuY3Rpb24gWEYoKXtyZXR1cm4gdGhpcy5vbigiZW5kLnJlbW92ZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wYXJlbnROb2RlO2Zvcih2YXIgbiBpbiB0aGlzLl9fdHJhbnNpdGlvbilpZigrbiE9PWUpcmV0dXJuO3QmJnQucmVtb3ZlQ2hpbGQodGhpcyl9fSkodGhpcy5faWQpKX0sdHdlZW46ZnVuY3Rpb24gJEYodCxlKXt2YXIgbj10aGlzLl9pZDtpZih0Kz0iIixhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgaSxyPWlGKHRoaXMubm9kZSgpLG4pLnR3ZWVuLG89MCxhPXIubGVuZ3RoO288YTsrK28paWYoKGk9cltvXSkubmFtZT09PXQpcmV0dXJuIGkudmFsdWU7cmV0dXJuIG51bGx9cmV0dXJuIHRoaXMuZWFjaCgobnVsbD09ZT9vRjphRikobix0LGUpKX0sZGVsYXk6ZnVuY3Rpb24gS0YodCl7dmFyIGU9dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgdD92RjpiRikoZSx0KSk6aUYodGhpcy5ub2RlKCksZSkuZGVsYXl9LGR1cmF0aW9uOmZ1bmN0aW9uIFpGKHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIHQ/eEY6d0YpKGUsdCkpOmlGKHRoaXMubm9kZSgpLGUpLmR1cmF0aW9ufSxlYXNlOmZ1bmN0aW9uIEpGKHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChTRihlLHQpKTppRih0aGlzLm5vZGUoKSxlKS5lYXNlfSxlbmQ6ZnVuY3Rpb24gUUYoKXt2YXIgdCxlLG49dGhpcyxpPW4uX2lkLHI9bi5zaXplKCk7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihvLGEpe3ZhciBzPXt2YWx1ZTphfSxsPXt2YWx1ZTpmdW5jdGlvbigpezA9PS0tciYmbygpfX07bi5lYWNoKChmdW5jdGlvbigpe3ZhciBuPW5GKHRoaXMsaSkscj1uLm9uO3IhPT10JiYoKGU9KHQ9cikuY29weSgpKS5fLmNhbmNlbC5wdXNoKHMpLGUuXy5pbnRlcnJ1cHQucHVzaChzKSxlLl8uZW5kLnB1c2gobCkpLG4ub249ZX0pKX0pKX19O3ZhciB0Vj17dGltZTpudWxsLGRlbGF5OjAsZHVyYXRpb246MjUwLGVhc2U6cWZ9O2Z1bmN0aW9uIGVWKHQsZSl7Zm9yKHZhciBuOyEobj10Ll9fdHJhbnNpdGlvbil8fCEobj1uW2VdKTspaWYoISh0PXQucGFyZW50Tm9kZSkpcmV0dXJuIHRWLnRpbWU9R0goKSx0VjtyZXR1cm4gbn1mdW5jdGlvbiBuVih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gaVYodCxlLG4pe3RoaXMudGFyZ2V0PXQsdGhpcy50eXBlPWUsdGhpcy5zZWxlY3Rpb249bn1mdW5jdGlvbiByVigpe3pELnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIG9WKCl7ekQucHJldmVudERlZmF1bHQoKSx6RC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1ZRC5wcm90b3R5cGUuaW50ZXJydXB0PWZ1bmN0aW9uIGFWKHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7ckYodGhpcyx0KX0pKX0sWUQucHJvdG90eXBlLnRyYW5zaXRpb249ZnVuY3Rpb24gc1YodCl7dmFyIGUsbjt0IGluc3RhbmNlb2YgTkY/KGU9dC5faWQsdD10Ll9uYW1lKTooZT1JRigpLChuPXRWKS50aW1lPUdIKCksdD1udWxsPT10P251bGw6dCsiIik7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89MDtvPHI7KytvKWZvcih2YXIgYSxzPWlbb10sbD1zLmxlbmd0aCxjPTA7YzxsOysrYykoYT1zW2NdKSYmdEYoYSx0LGUsYyxzLG58fGVWKGEsZSkpO3JldHVybiBuZXcgTkYoaSx0aGlzLl9wYXJlbnRzLHQsZSl9O3ZhciBsVj17bmFtZToiZHJhZyJ9LGNWPXtuYW1lOiJzcGFjZSJ9LHVWPXtuYW1lOiJoYW5kbGUifSxoVj17bmFtZToiY2VudGVyIn0sZFY9e25hbWU6IngiLGhhbmRsZXM6WyJlIiwidyJdLm1hcChiViksaW5wdXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdCYmW1t0WzBdLGVbMF1bMV1dLFt0WzFdLGVbMV1bMV1dXX0sb3V0cHV0OmZ1bmN0aW9uKHQpe3JldHVybiB0JiZbdFswXVswXSx0WzFdWzBdXX19LHBWPXtuYW1lOiJ5IixoYW5kbGVzOlsibiIsInMiXS5tYXAoYlYpLGlucHV0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJltbZVswXVswXSx0WzBdXSxbZVsxXVswXSx0WzFdXV19LG91dHB1dDpmdW5jdGlvbih0KXtyZXR1cm4gdCYmW3RbMF1bMV0sdFsxXVsxXV19fSxmVj17bmFtZToieHkiLGhhbmRsZXM6WyJuIiwiZSIsInMiLCJ3IiwibnciLCJuZSIsInNlIiwic3ciXS5tYXAoYlYpLGlucHV0OmZ1bmN0aW9uKHQpe3JldHVybiB0fSxvdXRwdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHR9fSxtVj17b3ZlcmxheToiY3Jvc3NoYWlyIixzZWxlY3Rpb246Im1vdmUiLG46Im5zLXJlc2l6ZSIsZToiZXctcmVzaXplIixzOiJucy1yZXNpemUiLHc6ImV3LXJlc2l6ZSIsbnc6Im53c2UtcmVzaXplIixuZToibmVzdy1yZXNpemUiLHNlOiJud3NlLXJlc2l6ZSIsc3c6Im5lc3ctcmVzaXplIn0sZ1Y9e2U6InciLHc6ImUiLG53OiJuZSIsbmU6Im53IixzZToic3ciLHN3OiJzZSJ9LF9WPXtuOiJzIixzOiJuIixudzoic3ciLG5lOiJzZSIsc2U6Im5lIixzdzoibncifSx5Vj17b3ZlcmxheToxLHNlbGVjdGlvbjoxLG46bnVsbCxlOjEsczpudWxsLHc6LTEsbnc6LTEsbmU6MSxzZToxLHN3Oi0xfSx2Vj17b3ZlcmxheToxLHNlbGVjdGlvbjoxLG46LTEsZTpudWxsLHM6MSx3Om51bGwsbnc6LTEsbmU6LTEsc2U6MSxzdzoxfTtmdW5jdGlvbiBiVih0KXtyZXR1cm57dHlwZTp0fX1mdW5jdGlvbiB4Vigpe3JldHVybiF6RC5idXR0b259ZnVuY3Rpb24gd1YoKXt2YXIgdD10aGlzLm93bmVyU1ZHRWxlbWVudHx8dGhpcztyZXR1cm5bWzAsMF0sW3Qud2lkdGguYmFzZVZhbC52YWx1ZSx0LmhlaWdodC5iYXNlVmFsLnZhbHVlXV19ZnVuY3Rpb24gU1YodCl7Zm9yKDshdC5fX2JydXNoOylpZighKHQ9dC5wYXJlbnROb2RlKSlyZXR1cm47cmV0dXJuIHQuX19icnVzaH1mdW5jdGlvbiBNVih0KXtyZXR1cm4gdFswXVswXT09PXRbMV1bMF18fHRbMF1bMV09PT10WzFdWzFdfWZ1bmN0aW9uIEVWKHQpe3ZhciBlLG49d1YsaT14VixyPVJ6KGEsInN0YXJ0IiwiYnJ1c2giLCJlbmQiKSxvPTY7ZnVuY3Rpb24gYShlKXt2YXIgbj1lLnByb3BlcnR5KCJfX2JydXNoIixoKS5zZWxlY3RBbGwoIi5vdmVybGF5IikuZGF0YShbYlYoIm92ZXJsYXkiKV0pO24uZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsIm92ZXJsYXkiKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpLmF0dHIoImN1cnNvciIsbVYub3ZlcmxheSkubWVyZ2UobikuZWFjaCgoZnVuY3Rpb24oKXt2YXIgdD1TVih0aGlzKS5leHRlbnQ7WEQodGhpcykuYXR0cigieCIsdFswXVswXSkuYXR0cigieSIsdFswXVsxXSkuYXR0cigid2lkdGgiLHRbMV1bMF0tdFswXVswXSkuYXR0cigiaGVpZ2h0Iix0WzFdWzFdLXRbMF1bMV0pfSkpLGUuc2VsZWN0QWxsKCIuc2VsZWN0aW9uIikuZGF0YShbYlYoInNlbGVjdGlvbiIpXSkuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsInNlbGVjdGlvbiIpLmF0dHIoImN1cnNvciIsbVYuc2VsZWN0aW9uKS5hdHRyKCJmaWxsIiwiIzc3NyIpLmF0dHIoImZpbGwtb3BhY2l0eSIsLjMpLmF0dHIoInN0cm9rZSIsIiNmZmYiKS5hdHRyKCJzaGFwZS1yZW5kZXJpbmciLCJjcmlzcEVkZ2VzIik7dmFyIGk9ZS5zZWxlY3RBbGwoIi5oYW5kbGUiKS5kYXRhKHQuaGFuZGxlcywoZnVuY3Rpb24odCl7cmV0dXJuIHQudHlwZX0pKTtpLmV4aXQoKS5yZW1vdmUoKSxpLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuYXR0cigiY2xhc3MiLChmdW5jdGlvbih0KXtyZXR1cm4iaGFuZGxlIGhhbmRsZS0tIit0LnR5cGV9KSkuYXR0cigiY3Vyc29yIiwoZnVuY3Rpb24odCl7cmV0dXJuIG1WW3QudHlwZV19KSksZS5lYWNoKHMpLmF0dHIoImZpbGwiLCJub25lIikuYXR0cigicG9pbnRlci1ldmVudHMiLCJhbGwiKS5zdHlsZSgiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIiwicmdiYSgwLDAsMCwwKSIpLm9uKCJtb3VzZWRvd24uYnJ1c2ggdG91Y2hzdGFydC5icnVzaCIsdSl9ZnVuY3Rpb24gcygpe3ZhciB0PVhEKHRoaXMpLGU9U1YodGhpcykuc2VsZWN0aW9uO2U/KHQuc2VsZWN0QWxsKCIuc2VsZWN0aW9uIikuc3R5bGUoImRpc3BsYXkiLG51bGwpLmF0dHIoIngiLGVbMF1bMF0pLmF0dHIoInkiLGVbMF1bMV0pLmF0dHIoIndpZHRoIixlWzFdWzBdLWVbMF1bMF0pLmF0dHIoImhlaWdodCIsZVsxXVsxXS1lWzBdWzFdKSx0LnNlbGVjdEFsbCgiLmhhbmRsZSIpLnN0eWxlKCJkaXNwbGF5IixudWxsKS5hdHRyKCJ4IiwoZnVuY3Rpb24odCl7cmV0dXJuImUiPT09dC50eXBlW3QudHlwZS5sZW5ndGgtMV0/ZVsxXVswXS1vLzI6ZVswXVswXS1vLzJ9KSkuYXR0cigieSIsKGZ1bmN0aW9uKHQpe3JldHVybiJzIj09PXQudHlwZVswXT9lWzFdWzFdLW8vMjplWzBdWzFdLW8vMn0pKS5hdHRyKCJ3aWR0aCIsKGZ1bmN0aW9uKHQpe3JldHVybiJuIj09PXQudHlwZXx8InMiPT09dC50eXBlP2VbMV1bMF0tZVswXVswXStvOm99KSkuYXR0cigiaGVpZ2h0IiwoZnVuY3Rpb24odCl7cmV0dXJuImUiPT09dC50eXBlfHwidyI9PT10LnR5cGU/ZVsxXVsxXS1lWzBdWzFdK286b30pKSk6dC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24sLmhhbmRsZSIpLnN0eWxlKCJkaXNwbGF5Iiwibm9uZSIpLmF0dHIoIngiLG51bGwpLmF0dHIoInkiLG51bGwpLmF0dHIoIndpZHRoIixudWxsKS5hdHRyKCJoZWlnaHQiLG51bGwpfWZ1bmN0aW9uIGwodCxlKXtyZXR1cm4gdC5fX2JydXNoLmVtaXR0ZXJ8fG5ldyBjKHQsZSl9ZnVuY3Rpb24gYyh0LGUpe3RoaXMudGhhdD10LHRoaXMuYXJncz1lLHRoaXMuc3RhdGU9dC5fX2JydXNoLHRoaXMuYWN0aXZlPTB9ZnVuY3Rpb24gdSgpe2lmKHpELnRvdWNoZXMpe2lmKHpELmNoYW5nZWRUb3VjaGVzLmxlbmd0aDx6RC50b3VjaGVzLmxlbmd0aClyZXR1cm4gb1YoKX1lbHNlIGlmKGUpcmV0dXJuO2lmKGkuYXBwbHkodGhpcyxhcmd1bWVudHMpKXt2YXIgbixyLG8sYSxjLHUsaCxkLHAsZixtLGcsXyx5PXRoaXMsdj16RC50YXJnZXQuX19kYXRhX18udHlwZSxiPSJzZWxlY3Rpb24iPT09KHpELm1ldGFLZXk/dj0ib3ZlcmxheSI6dik/bFY6ekQuYWx0S2V5P2hWOnVWLHg9dD09PXBWP251bGw6eVZbdl0sdz10PT09ZFY/bnVsbDp2Vlt2XSxTPVNWKHkpLE09Uy5leHRlbnQsRT1TLnNlbGVjdGlvbixUPU1bMF1bMF0sQz1NWzBdWzFdLEE9TVsxXVswXSxrPU1bMV1bMV0sTD14JiZ3JiZ6RC5zaGlmdEtleSxQPSREKHkpLE49UCxJPWwoeSxhcmd1bWVudHMpLmJlZm9yZXN0YXJ0KCk7Im92ZXJsYXkiPT09dj9TLnNlbGVjdGlvbj1FPVtbbj10PT09cFY/VDpQWzBdLG89dD09PWRWP0M6UFsxXV0sW2M9dD09PXBWP0E6bixoPXQ9PT1kVj9rOm9dXToobj1FWzBdWzBdLG89RVswXVsxXSxjPUVbMV1bMF0saD1FWzFdWzFdKSxyPW4sYT1vLHU9YyxkPWg7dmFyIFI9WEQoeSkuYXR0cigicG9pbnRlci1ldmVudHMiLCJub25lIiksTz1SLnNlbGVjdEFsbCgiLm92ZXJsYXkiKS5hdHRyKCJjdXJzb3IiLG1WW3ZdKTtpZih6RC50b3VjaGVzKVIub24oInRvdWNobW92ZS5icnVzaCIsRCwhMCkub24oInRvdWNoZW5kLmJydXNoIHRvdWNoY2FuY2VsLmJydXNoIixILCEwKTtlbHNle3ZhciB6PVhEKHpELnZpZXcpLm9uKCJrZXlkb3duLmJydXNoIixGLCEwKS5vbigia2V5dXAuYnJ1c2giLFYsITApLm9uKCJtb3VzZW1vdmUuYnJ1c2giLEQsITApLm9uKCJtb3VzZXVwLmJydXNoIixILCEwKTtaRCh6RC52aWV3KX1yVigpLHJGKHkpLHMuY2FsbCh5KSxJLnN0YXJ0KCl9ZnVuY3Rpb24gRCgpe3ZhciB0PSREKHkpOyFMfHxnfHxffHwoTWF0aC5hYnModFswXS1OWzBdKT5NYXRoLmFicyh0WzFdLU5bMV0pP189ITA6Zz0hMCksTj10LG09ITAsb1YoKSxCKCl9ZnVuY3Rpb24gQigpe3ZhciB0O3N3aXRjaChwPU5bMF0tUFswXSxmPU5bMV0tUFsxXSxiKXtjYXNlIGNWOmNhc2UgbFY6eCYmKHA9TWF0aC5tYXgoVC1uLE1hdGgubWluKEEtYyxwKSkscj1uK3AsdT1jK3ApLHcmJihmPU1hdGgubWF4KEMtbyxNYXRoLm1pbihrLWgsZikpLGE9bytmLGQ9aCtmKTticmVhaztjYXNlIHVWOng8MD8ocD1NYXRoLm1heChULW4sTWF0aC5taW4oQS1uLHApKSxyPW4rcCx1PWMpOng+MCYmKHA9TWF0aC5tYXgoVC1jLE1hdGgubWluKEEtYyxwKSkscj1uLHU9YytwKSx3PDA/KGY9TWF0aC5tYXgoQy1vLE1hdGgubWluKGstbyxmKSksYT1vK2YsZD1oKTp3PjAmJihmPU1hdGgubWF4KEMtaCxNYXRoLm1pbihrLWgsZikpLGE9byxkPWgrZik7YnJlYWs7Y2FzZSBoVjp4JiYocj1NYXRoLm1heChULE1hdGgubWluKEEsbi1wKngpKSx1PU1hdGgubWF4KFQsTWF0aC5taW4oQSxjK3AqeCkpKSx3JiYoYT1NYXRoLm1heChDLE1hdGgubWluKGssby1mKncpKSxkPU1hdGgubWF4KEMsTWF0aC5taW4oayxoK2YqdykpKX11PHImJih4Kj0tMSx0PW4sbj1jLGM9dCx0PXIscj11LHU9dCx2IGluIGdWJiZPLmF0dHIoImN1cnNvciIsbVZbdj1nVlt2XV0pKSxkPGEmJih3Kj0tMSx0PW8sbz1oLGg9dCx0PWEsYT1kLGQ9dCx2IGluIF9WJiZPLmF0dHIoImN1cnNvciIsbVZbdj1fVlt2XV0pKSxTLnNlbGVjdGlvbiYmKEU9Uy5zZWxlY3Rpb24pLGcmJihyPUVbMF1bMF0sdT1FWzFdWzBdKSxfJiYoYT1FWzBdWzFdLGQ9RVsxXVsxXSksRVswXVswXT09PXImJkVbMF1bMV09PT1hJiZFWzFdWzBdPT09dSYmRVsxXVsxXT09PWR8fChTLnNlbGVjdGlvbj1bW3IsYV0sW3UsZF1dLHMuY2FsbCh5KSxJLmJydXNoKCkpfWZ1bmN0aW9uIEgoKXtpZihyVigpLHpELnRvdWNoZXMpe2lmKHpELnRvdWNoZXMubGVuZ3RoKXJldHVybjtlJiZjbGVhclRpbWVvdXQoZSksZT1zZXRUaW1lb3V0KChmdW5jdGlvbigpe2U9bnVsbH0pLDUwMCksUi5vbigidG91Y2htb3ZlLmJydXNoIHRvdWNoZW5kLmJydXNoIHRvdWNoY2FuY2VsLmJydXNoIixudWxsKX1lbHNlIEpEKHpELnZpZXcsbSksei5vbigia2V5ZG93bi5icnVzaCBrZXl1cC5icnVzaCBtb3VzZW1vdmUuYnJ1c2ggbW91c2V1cC5icnVzaCIsbnVsbCk7Ui5hdHRyKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpLE8uYXR0cigiY3Vyc29yIixtVi5vdmVybGF5KSxTLnNlbGVjdGlvbiYmKEU9Uy5zZWxlY3Rpb24pLE1WKEUpJiYoUy5zZWxlY3Rpb249bnVsbCxzLmNhbGwoeSkpLEkuZW5kKCl9ZnVuY3Rpb24gRigpe3N3aXRjaCh6RC5rZXlDb2RlKXtjYXNlIDE2Okw9eCYmdzticmVhaztjYXNlIDE4OmI9PT11ViYmKHgmJihjPXUtcCp4LG49citwKngpLHcmJihoPWQtZip3LG89YStmKncpLGI9aFYsQigpKTticmVhaztjYXNlIDMyOmIhPT11ViYmYiE9PWhWfHwoeDwwP2M9dS1wOng+MCYmKG49ci1wKSx3PDA/aD1kLWY6dz4wJiYobz1hLWYpLGI9Y1YsTy5hdHRyKCJjdXJzb3IiLG1WLnNlbGVjdGlvbiksQigpKTticmVhaztkZWZhdWx0OnJldHVybn1vVigpfWZ1bmN0aW9uIFYoKXtzd2l0Y2goekQua2V5Q29kZSl7Y2FzZSAxNjpMJiYoZz1fPUw9ITEsQigpKTticmVhaztjYXNlIDE4OmI9PT1oViYmKHg8MD9jPXU6eD4wJiYobj1yKSx3PDA/aD1kOnc+MCYmKG89YSksYj11VixCKCkpO2JyZWFrO2Nhc2UgMzI6Yj09PWNWJiYoekQuYWx0S2V5Pyh4JiYoYz11LXAqeCxuPXIrcCp4KSx3JiYoaD1kLWYqdyxvPWErZip3KSxiPWhWKTooeDwwP2M9dTp4PjAmJihuPXIpLHc8MD9oPWQ6dz4wJiYobz1hKSxiPXVWKSxPLmF0dHIoImN1cnNvciIsbVZbdl0pLEIoKSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59b1YoKX19ZnVuY3Rpb24gaCgpe3ZhciBlPXRoaXMuX19icnVzaHx8e3NlbGVjdGlvbjpudWxsfTtyZXR1cm4gZS5leHRlbnQ9bi5hcHBseSh0aGlzLGFyZ3VtZW50cyksZS5kaW09dCxlfXJldHVybiBhLm1vdmU9ZnVuY3Rpb24oZSxuKXtlLnNlbGVjdGlvbj9lLm9uKCJzdGFydC5icnVzaCIsKGZ1bmN0aW9uKCl7bCh0aGlzLGFyZ3VtZW50cykuYmVmb3Jlc3RhcnQoKS5zdGFydCgpfSkpLm9uKCJpbnRlcnJ1cHQuYnJ1c2ggZW5kLmJydXNoIiwoZnVuY3Rpb24oKXtsKHRoaXMsYXJndW1lbnRzKS5lbmQoKX0pKS50d2VlbigiYnJ1c2giLChmdW5jdGlvbigpe3ZhciBlPXRoaXMsaT1lLl9fYnJ1c2gscj1sKGUsYXJndW1lbnRzKSxvPWkuc2VsZWN0aW9uLGE9dC5pbnB1dCgiZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTpuLGkuZXh0ZW50KSxjPXhIKG8sYSk7ZnVuY3Rpb24gdSh0KXtpLnNlbGVjdGlvbj0xPT09dCYmTVYoYSk/bnVsbDpjKHQpLHMuY2FsbChlKSxyLmJydXNoKCl9cmV0dXJuIG8mJmE/dTp1KDEpfSkpOmUuZWFjaCgoZnVuY3Rpb24oKXt2YXIgZT10aGlzLGk9YXJndW1lbnRzLHI9ZS5fX2JydXNoLG89dC5pbnB1dCgiZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmFwcGx5KGUsaSk6bixyLmV4dGVudCksYT1sKGUsaSkuYmVmb3Jlc3RhcnQoKTtyRihlKSxyLnNlbGVjdGlvbj1udWxsPT1vfHxNVihvKT9udWxsOm8scy5jYWxsKGUpLGEuc3RhcnQoKS5icnVzaCgpLmVuZCgpfSkpfSxjLnByb3RvdHlwZT17YmVmb3Jlc3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gMT09Kyt0aGlzLmFjdGl2ZSYmKHRoaXMuc3RhdGUuZW1pdHRlcj10aGlzLHRoaXMuc3RhcnRpbmc9ITApLHRoaXN9LHN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhcnRpbmcmJih0aGlzLnN0YXJ0aW5nPSExLHRoaXMuZW1pdCgic3RhcnQiKSksdGhpc30sYnJ1c2g6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbWl0KCJicnVzaCIpLHRoaXN9LGVuZDpmdW5jdGlvbigpe3JldHVybiAwPT0tLXRoaXMuYWN0aXZlJiYoZGVsZXRlIHRoaXMuc3RhdGUuZW1pdHRlcix0aGlzLmVtaXQoImVuZCIpKSx0aGlzfSxlbWl0OmZ1bmN0aW9uKGUpeyEoZnVuY3Rpb24gbih0LGUsaSxyKXt2YXIgbz16RDt0LnNvdXJjZUV2ZW50PXpELHpEPXQ7dHJ5e3JldHVybiBlLmFwcGx5KGkscil9ZmluYWxseXt6RD1vfX0pKG5ldyBpVihhLGUsdC5vdXRwdXQodGhpcy5zdGF0ZS5zZWxlY3Rpb24pKSxyLmFwcGx5LHIsW2UsdGhpcy50aGF0LHRoaXMuYXJnc10pfX0sYS5leHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpuVihbWyt0WzBdWzBdLCt0WzBdWzFdXSxbK3RbMV1bMF0sK3RbMV1bMV1dXSksYSk6bn0sYS5maWx0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpuVighIXQpLGEpOml9LGEuaGFuZGxlU2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0rdCxhKTpvfSxhLm9uPWZ1bmN0aW9uKCl7dmFyIHQ9ci5vbi5hcHBseShyLGFyZ3VtZW50cyk7cmV0dXJuIHQ9PT1yP2E6dH0sYX1mdW5jdGlvbiBUVih0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBDVih0LGUsbil7dD0rdCxlPStlLG49KHI9YXJndW1lbnRzLmxlbmd0aCk8Mj8oZT10LHQ9MCwxKTpyPDM/MTorbjtmb3IodmFyIGk9LTEscj0wfE1hdGgubWF4KDAsTWF0aC5jZWlsKChlLXQpL24pKSxvPW5ldyBBcnJheShyKTsrK2k8cjspb1tpXT10K2kqbjtyZXR1cm4gb30hKGZ1bmN0aW9uIEFWKHQpe3JldHVybiAxPT09dC5sZW5ndGgmJih0PShmdW5jdGlvbiBlKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiBUVih0KGUpLG4pfX0pKHQpKSx7bGVmdDpmdW5jdGlvbihlLG4saSxyKXtmb3IobnVsbD09aSYmKGk9MCksbnVsbD09ciYmKHI9ZS5sZW5ndGgpO2k8cjspe3ZhciBvPWkrcj4+PjE7dChlW29dLG4pPDA/aT1vKzE6cj1vfXJldHVybiBpfSxyaWdodDpmdW5jdGlvbihlLG4saSxyKXtmb3IobnVsbD09aSYmKGk9MCksbnVsbD09ciYmKHI9ZS5sZW5ndGgpO2k8cjspe3ZhciBvPWkrcj4+PjE7dChlW29dLG4pPjA/cj1vOmk9bysxfXJldHVybiBpfX19KShUVik7dmFyIGtWPU1hdGguY29zLExWPU1hdGguc2luLFBWPU1hdGguUEksTlY9UFYvMixJVj0yKlBWLFJWPU1hdGgubWF4O2Z1bmN0aW9uIE9WKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiB0KGUuc291cmNlLnZhbHVlK2UudGFyZ2V0LnZhbHVlLG4uc291cmNlLnZhbHVlK24udGFyZ2V0LnZhbHVlKX19dmFyIHpWPUFycmF5LnByb3RvdHlwZS5zbGljZTtmdW5jdGlvbiBEVih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19dmFyIEJWPU1hdGguUEksSFY9MipCVixGVj0xZS02LFZWPUhWLUZWO2Z1bmN0aW9uIFVWKCl7dGhpcy5feDA9dGhpcy5feTA9dGhpcy5feDE9dGhpcy5feTE9bnVsbCx0aGlzLl89IiJ9ZnVuY3Rpb24galYoKXtyZXR1cm4gbmV3IFVWfWZ1bmN0aW9uIEdWKHQpe3JldHVybiB0LnNvdXJjZX1mdW5jdGlvbiBXVih0KXtyZXR1cm4gdC50YXJnZXR9ZnVuY3Rpb24gcVYodCl7cmV0dXJuIHQucmFkaXVzfWZ1bmN0aW9uIFlWKHQpe3JldHVybiB0LnN0YXJ0QW5nbGV9ZnVuY3Rpb24gWFYodCl7cmV0dXJuIHQuZW5kQW5nbGV9VVYucHJvdG90eXBlPWpWLnByb3RvdHlwZT17Y29uc3RydWN0b3I6VVYsbW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fKz0iTSIrKHRoaXMuX3gwPXRoaXMuX3gxPSt0KSsiLCIrKHRoaXMuX3kwPXRoaXMuX3kxPStlKX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX3gxJiYodGhpcy5feDE9dGhpcy5feDAsdGhpcy5feTE9dGhpcy5feTAsdGhpcy5fKz0iWiIpfSxsaW5lVG86ZnVuY3Rpb24odCxlKXt0aGlzLl8rPSJMIisodGhpcy5feDE9K3QpKyIsIisodGhpcy5feTE9K2UpfSxxdWFkcmF0aWNDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLGkpe3RoaXMuXys9IlEiKyArdCsiLCIrICtlKyIsIisodGhpcy5feDE9K24pKyIsIisodGhpcy5feTE9K2kpfSxiZXppZXJDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLGkscixvKXt0aGlzLl8rPSJDIisgK3QrIiwiKyArZSsiLCIrICtuKyIsIisgK2krIiwiKyh0aGlzLl94MT0rcikrIiwiKyh0aGlzLl95MT0rbyl9LGFyY1RvOmZ1bmN0aW9uKHQsZSxuLGkscil7dmFyIG89dGhpcy5feDEsYT10aGlzLl95MSxzPShuPStuKS0odD0rdCksbD0oaT0raSktKGU9K2UpLGM9by10LHU9YS1lLGg9YypjK3UqdTtpZigocj0rcik8MCl0aHJvdyBuZXcgRXJyb3IoIm5lZ2F0aXZlIHJhZGl1czogIityKTtpZihudWxsPT09dGhpcy5feDEpdGhpcy5fKz0iTSIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZSBpZihoPkZWKWlmKE1hdGguYWJzKHUqcy1sKmMpPkZWJiZyKXt2YXIgZD1uLW8scD1pLWEsZj1zKnMrbCpsLG09ZCpkK3AqcCxnPU1hdGguc3FydChmKSxfPU1hdGguc3FydChoKSx5PXIqTWF0aC50YW4oKEJWLU1hdGguYWNvcygoZitoLW0pLygyKmcqXykpKS8yKSx2PXkvXyxiPXkvZztNYXRoLmFicyh2LTEpPkZWJiYodGhpcy5fKz0iTCIrKHQrdipjKSsiLCIrKGUrdip1KSksdGhpcy5fKz0iQSIrcisiLCIrcisiLDAsMCwiKyArKHUqZD5jKnApKyIsIisodGhpcy5feDE9dCtiKnMpKyIsIisodGhpcy5feTE9ZStiKmwpfWVsc2UgdGhpcy5fKz0iTCIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZTt9LGFyYzpmdW5jdGlvbih0LGUsbixpLHIsbyl7dD0rdCxlPStlLG89ISFvO3ZhciBhPShuPStuKSpNYXRoLmNvcyhpKSxzPW4qTWF0aC5zaW4oaSksbD10K2EsYz1lK3MsdT0xXm8saD1vP2ktcjpyLWk7aWYobjwwKXRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiK24pO251bGw9PT10aGlzLl94MT90aGlzLl8rPSJNIitsKyIsIitjOihNYXRoLmFicyh0aGlzLl94MS1sKT5GVnx8TWF0aC5hYnModGhpcy5feTEtYyk+RlYpJiYodGhpcy5fKz0iTCIrbCsiLCIrYyksbiYmKGg8MCYmKGg9aCVIVitIViksaD5WVj90aGlzLl8rPSJBIituKyIsIituKyIsMCwxLCIrdSsiLCIrKHQtYSkrIiwiKyhlLXMpKyJBIituKyIsIituKyIsMCwxLCIrdSsiLCIrKHRoaXMuX3gxPWwpKyIsIisodGhpcy5feTE9Yyk6aD5GViYmKHRoaXMuXys9IkEiK24rIiwiK24rIiwwLCIrICsoaD49QlYpKyIsIit1KyIsIisodGhpcy5feDE9dCtuKk1hdGguY29zKHIpKSsiLCIrKHRoaXMuX3kxPWUrbipNYXRoLnNpbihyKSkpKX0scmVjdDpmdW5jdGlvbih0LGUsbixpKXt0aGlzLl8rPSJNIisodGhpcy5feDA9dGhpcy5feDE9K3QpKyIsIisodGhpcy5feTA9dGhpcy5feTE9K2UpKyJoIisgK24rInYiKyAraSsiaCIrLW4rIloifSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl99fTt2YXIgJFY9IiQiO2Z1bmN0aW9uIEtWKCl7fWZ1bmN0aW9uIFpWKHQsZSl7dmFyIG49bmV3IEtWO2lmKHQgaW5zdGFuY2VvZiBLVil0LmVhY2goKGZ1bmN0aW9uKHQsZSl7bi5zZXQoZSx0KX0pKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkodCkpe3ZhciBpLHI9LTEsbz10Lmxlbmd0aDtpZihudWxsPT1lKWZvcig7KytyPG87KW4uc2V0KHIsdFtyXSk7ZWxzZSBmb3IoOysrcjxvOyluLnNldChlKGk9dFtyXSxyLHQpLGkpfWVsc2UgaWYodClmb3IodmFyIGEgaW4gdCluLnNldChhLHRbYV0pO3JldHVybiBufWZ1bmN0aW9uIEpWKCl7cmV0dXJue319ZnVuY3Rpb24gUVYodCxlLG4pe3RbZV09bn1mdW5jdGlvbiB0VSgpe3JldHVybiBaVigpfWZ1bmN0aW9uIGVVKHQsZSxuKXt0LnNldChlLG4pfWZ1bmN0aW9uIG5VKCl7fUtWLnByb3RvdHlwZT1aVi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOktWLGhhczpmdW5jdGlvbih0KXtyZXR1cm4gJFYrdCBpbiB0aGlzfSxnZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbJFYrdF19LHNldDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzWyRWK3RdPWUsdGhpc30scmVtb3ZlOmZ1bmN0aW9uKHQpe3ZhciBlPSRWK3Q7cmV0dXJuIGUgaW4gdGhpcyYmZGVsZXRlIHRoaXNbZV19LGNsZWFyOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMpdFswXT09PSRWJiZkZWxldGUgdGhpc1t0XX0sa2V5czpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT0kViYmdC5wdXNoKGUuc2xpY2UoMSkpO3JldHVybiB0fSx2YWx1ZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09JFYmJnQucHVzaCh0aGlzW2VdKTtyZXR1cm4gdH0sZW50cmllczpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT0kViYmdC5wdXNoKHtrZXk6ZS5zbGljZSgxKSx2YWx1ZTp0aGlzW2VdfSk7cmV0dXJuIHR9LHNpemU6ZnVuY3Rpb24oKXt2YXIgdD0wO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT0kViYmKyt0O3JldHVybiB0fSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzKWlmKHRbMF09PT0kVilyZXR1cm4hMTtyZXR1cm4hMH0sZWFjaDpmdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09JFYmJnQodGhpc1tlXSxlLnNsaWNlKDEpLHRoaXMpfX07dmFyIGlVPVpWLnByb3RvdHlwZTtmdW5jdGlvbiByVSh0LGUpe3ZhciBuPW5ldyBuVTtpZih0IGluc3RhbmNlb2YgblUpdC5lYWNoKChmdW5jdGlvbih0KXtuLmFkZCh0KX0pKTtlbHNlIGlmKHQpe3ZhciBpPS0xLHI9dC5sZW5ndGg7aWYobnVsbD09ZSlmb3IoOysraTxyOyluLmFkZCh0W2ldKTtlbHNlIGZvcig7KytpPHI7KW4uYWRkKGUodFtpXSxpLHQpKX1yZXR1cm4gbn1mdW5jdGlvbiBvVSh0LGUsbil7dC5wcm90b3R5cGU9ZS5wcm90b3R5cGU9bixuLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24gYVUodCxlKXt2YXIgbj1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIGkgaW4gZSluW2ldPWVbaV07cmV0dXJuIG59ZnVuY3Rpb24gc1UoKXt9blUucHJvdG90eXBlPXJVLnByb3RvdHlwZT17Y29uc3RydWN0b3I6blUsaGFzOmlVLmhhcyxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbJFYrKHQrPSIiKV09dCx0aGlzfSxyZW1vdmU6aVUucmVtb3ZlLGNsZWFyOmlVLmNsZWFyLHZhbHVlczppVS5rZXlzLHNpemU6aVUuc2l6ZSxlbXB0eTppVS5lbXB0eSxlYWNoOmlVLmVhY2h9O3ZhciBsVT0uNyxjVT0xL2xVLHVVPSJcXHMqKFsrLV0/XFxkKylcXHMqIixoVT0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPylcXHMqIixkVT0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPyklXFxzKiIscFU9L14jKFswLTlhLWZdezN9KSQvLGZVPS9eIyhbMC05YS1mXXs2fSkkLyxtVT1uZXcgUmVnRXhwKCJecmdiXFwoIitbdVUsdVUsdVVdKyJcXCkkIiksZ1U9bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW2RVLGRVLGRVXSsiXFwpJCIpLF9VPW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbdVUsdVUsdVUsaFVdKyJcXCkkIikseVU9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tkVSxkVSxkVSxoVV0rIlxcKSQiKSx2VT1uZXcgUmVnRXhwKCJeaHNsXFwoIitbaFUsZFUsZFVdKyJcXCkkIiksYlU9bmV3IFJlZ0V4cCgiXmhzbGFcXCgiK1toVSxkVSxkVSxoVV0rIlxcKSQiKSx4VT17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiB3VSh0KXt2YXIgZTtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKGU9cFUuZXhlYyh0KSk/bmV3IENVKChlPXBhcnNlSW50KGVbMV0sMTYpKT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgxNSZlKTw8NHwxNSZlLDEpOihlPWZVLmV4ZWModCkpP1NVKHBhcnNlSW50KGVbMV0sMTYpKTooZT1tVS5leGVjKHQpKT9uZXcgQ1UoZVsxXSxlWzJdLGVbM10sMSk6KGU9Z1UuZXhlYyh0KSk/bmV3IENVKDI1NSplWzFdLzEwMCwyNTUqZVsyXS8xMDAsMjU1KmVbM10vMTAwLDEpOihlPV9VLmV4ZWModCkpP01VKGVbMV0sZVsyXSxlWzNdLGVbNF0pOihlPXlVLmV4ZWModCkpP01VKDI1NSplWzFdLzEwMCwyNTUqZVsyXS8xMDAsMjU1KmVbM10vMTAwLGVbNF0pOihlPXZVLmV4ZWModCkpP0FVKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsMSk6KGU9YlUuZXhlYyh0KSk/QVUoZVsxXSxlWzJdLzEwMCxlWzNdLzEwMCxlWzRdKTp4VS5oYXNPd25Qcm9wZXJ0eSh0KT9TVSh4VVt0XSk6InRyYW5zcGFyZW50Ij09PXQ/bmV3IENVKE5hTixOYU4sTmFOLDApOm51bGx9ZnVuY3Rpb24gU1UodCl7cmV0dXJuIG5ldyBDVSh0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnQsMSl9ZnVuY3Rpb24gTVUodCxlLG4saSl7cmV0dXJuIGk8PTAmJih0PWU9bj1OYU4pLG5ldyBDVSh0LGUsbixpKX1mdW5jdGlvbiBFVSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHNVfHwodD13VSh0KSksdD9uZXcgQ1UoKHQ9dC5yZ2IoKSkucix0LmcsdC5iLHQub3BhY2l0eSk6bmV3IENVfWZ1bmN0aW9uIFRVKHQsZSxuLGkpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD9FVSh0KTpuZXcgQ1UodCxlLG4sbnVsbD09aT8xOmkpfWZ1bmN0aW9uIENVKHQsZSxuLGkpe3RoaXMucj0rdCx0aGlzLmc9K2UsdGhpcy5iPStuLHRoaXMub3BhY2l0eT0raX1mdW5jdGlvbiBBVSh0LGUsbixpKXtyZXR1cm4gaTw9MD90PWU9bj1OYU46bjw9MHx8bj49MT90PWU9TmFOOmU8PTAmJih0PU5hTiksbmV3IFBVKHQsZSxuLGkpfWZ1bmN0aW9uIGtVKHQpe2lmKHQgaW5zdGFuY2VvZiBQVSlyZXR1cm4gbmV3IFBVKHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIHNVfHwodD13VSh0KSksIXQpcmV0dXJuIG5ldyBQVTtpZih0IGluc3RhbmNlb2YgUFUpcmV0dXJuIHQ7dmFyIGU9KHQ9dC5yZ2IoKSkuci8yNTUsbj10LmcvMjU1LGk9dC5iLzI1NSxyPU1hdGgubWluKGUsbixpKSxvPU1hdGgubWF4KGUsbixpKSxhPU5hTixzPW8tcixsPShvK3IpLzI7cmV0dXJuIHM/KGE9ZT09PW8/KG4taSkvcys2KihuPGkpOm49PT1vPyhpLWUpL3MrMjooZS1uKS9zKzQscy89bDwuNT9vK3I6Mi1vLXIsYSo9NjApOnM9bD4wJiZsPDE/MDphLG5ldyBQVShhLHMsbCx0Lm9wYWNpdHkpfWZ1bmN0aW9uIExVKHQsZSxuLGkpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD9rVSh0KTpuZXcgUFUodCxlLG4sbnVsbD09aT8xOmkpfWZ1bmN0aW9uIFBVKHQsZSxuLGkpe3RoaXMuaD0rdCx0aGlzLnM9K2UsdGhpcy5sPStuLHRoaXMub3BhY2l0eT0raX1mdW5jdGlvbiBOVSh0LGUsbil7cmV0dXJuIDI1NSoodDw2MD9lKyhuLWUpKnQvNjA6dDwxODA/bjp0PDI0MD9lKyhuLWUpKigyNDAtdCkvNjA6ZSl9b1Uoc1Usd1Use2Rpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkuZGlzcGxheWFibGUoKX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZ2IoKSsiIn19KSxvVShDVSxUVSxhVShzVSx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9jVTpNYXRoLnBvdyhjVSx0KSxuZXcgQ1UodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/bFU6TWF0aC5wb3cobFUsdCksbmV3IENVKHRoaXMucip0LHRoaXMuZyp0LHRoaXMuYip0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3JldHVybiB0aGlzfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybiAwPD10aGlzLnImJnRoaXMucjw9MjU1JiYwPD10aGlzLmcmJnRoaXMuZzw9MjU1JiYwPD10aGlzLmImJnRoaXMuYjw9MjU1JiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJyZ2IoIjoicmdiYSgiKStNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMucil8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5nKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmIpfHwwKSkrKDE9PT10PyIpIjoiLCAiK3QrIikiKX19KSksb1UoUFUsTFUsYVUoc1Use2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/Y1U6TWF0aC5wb3coY1UsdCksbmV3IFBVKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/bFU6TWF0aC5wb3cobFUsdCksbmV3IFBVKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5oJTM2MCszNjAqKHRoaXMuaDwwKSxlPWlzTmFOKHQpfHxpc05hTih0aGlzLnMpPzA6dGhpcy5zLG49dGhpcy5sLGk9bisobjwuNT9uOjEtbikqZSxyPTIqbi1pO3JldHVybiBuZXcgQ1UoTlUodD49MjQwP3QtMjQwOnQrMTIwLHIsaSksTlUodCxyLGkpLE5VKHQ8MTIwP3QrMjQwOnQtMTIwLHIsaSksdGhpcy5vcGFjaXR5KX0sZGlzcGxheWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4oMDw9dGhpcy5zJiZ0aGlzLnM8PTF8fGlzTmFOKHRoaXMucykpJiYwPD10aGlzLmwmJnRoaXMubDw9MSYmMDw9dGhpcy5vcGFjaXR5JiZ0aGlzLm9wYWNpdHk8PTF9fSkpO3ZhciBJVT1NYXRoLlBJLzE4MCxSVT0xODAvTWF0aC5QSSxPVT0uOTUwNDcselU9MS4wODg4MyxEVT00LzI5LEJVPTYvMjksSFU9MypCVSpCVTtmdW5jdGlvbiBGVSh0KXtpZih0IGluc3RhbmNlb2YgVVUpcmV0dXJuIG5ldyBVVSh0LmwsdC5hLHQuYix0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiAkVSl7dmFyIGU9dC5oKklVO3JldHVybiBuZXcgVVUodC5sLE1hdGguY29zKGUpKnQuYyxNYXRoLnNpbihlKSp0LmMsdC5vcGFjaXR5KX10IGluc3RhbmNlb2YgQ1V8fCh0PUVVKHQpKTt2YXIgbj1xVSh0LnIpLGk9cVUodC5nKSxyPXFVKHQuYiksbz1qVSgoLjQxMjQ1NjQqbisuMzU3NTc2MSppKy4xODA0Mzc1KnIpL09VKSxhPWpVKCguMjEyNjcyOSpuKy43MTUxNTIyKmkrLjA3MjE3NSpyKS8xKTtyZXR1cm4gbmV3IFVVKDExNiphLTE2LDUwMCooby1hKSwyMDAqKGEtalUoKC4wMTkzMzM5Km4rLjExOTE5MippKy45NTAzMDQxKnIpL3pVKSksdC5vcGFjaXR5KX1mdW5jdGlvbiBWVSh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/RlUodCk6bmV3IFVVKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBVVSh0LGUsbixpKXt0aGlzLmw9K3QsdGhpcy5hPStlLHRoaXMuYj0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24galUodCl7cmV0dXJuIHQ+LjAwODg1NjQ1MTY3OTAzNTYzMT9NYXRoLnBvdyh0LDEvMyk6dC9IVStEVX1mdW5jdGlvbiBHVSh0KXtyZXR1cm4gdD5CVT90KnQqdDpIVSoodC1EVSl9ZnVuY3Rpb24gV1UodCl7cmV0dXJuIDI1NSoodDw9LjAwMzEzMDg/MTIuOTIqdDoxLjA1NSpNYXRoLnBvdyh0LDEvMi40KS0uMDU1KX1mdW5jdGlvbiBxVSh0KXtyZXR1cm4odC89MjU1KTw9LjA0MDQ1P3QvMTIuOTI6TWF0aC5wb3coKHQrLjA1NSkvMS4wNTUsMi40KX1mdW5jdGlvbiBZVSh0KXtpZih0IGluc3RhbmNlb2YgJFUpcmV0dXJuIG5ldyAkVSh0LmgsdC5jLHQubCx0Lm9wYWNpdHkpO3QgaW5zdGFuY2VvZiBVVXx8KHQ9RlUodCkpO3ZhciBlPU1hdGguYXRhbjIodC5iLHQuYSkqUlU7cmV0dXJuIG5ldyAkVShlPDA/ZSszNjA6ZSxNYXRoLnNxcnQodC5hKnQuYSt0LmIqdC5iKSx0LmwsdC5vcGFjaXR5KX1mdW5jdGlvbiBYVSh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/WVUodCk6bmV3ICRVKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiAkVSh0LGUsbixpKXt0aGlzLmg9K3QsdGhpcy5jPStlLHRoaXMubD0rbix0aGlzLm9wYWNpdHk9K2l9b1UoVVUsVlUsYVUoc1Use2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgVVUodGhpcy5sKzE4KihudWxsPT10PzE6dCksdGhpcy5hLHRoaXMuYix0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBVVSh0aGlzLmwtMTgqKG51bGw9PXQ/MTp0KSx0aGlzLmEsdGhpcy5iLHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3ZhciB0PSh0aGlzLmwrMTYpLzExNixlPWlzTmFOKHRoaXMuYSk/dDp0K3RoaXMuYS81MDAsbj1pc05hTih0aGlzLmIpP3Q6dC10aGlzLmIvMjAwO3JldHVybiB0PTEqR1UodCksbmV3IENVKFdVKDMuMjQwNDU0MiooZT1PVSpHVShlKSktMS41MzcxMzg1KnQtLjQ5ODUzMTQqKG49elUqR1UobikpKSxXVSgtLjk2OTI2NiplKzEuODc2MDEwOCp0Ky4wNDE1NTYqbiksV1UoLjA1NTY0MzQqZS0uMjA0MDI1OSp0KzEuMDU3MjI1MipuKSx0aGlzLm9wYWNpdHkpfX0pKSxvVSgkVSxYVSxhVShzVSx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyAkVSh0aGlzLmgsdGhpcy5jLHRoaXMubCsxOCoobnVsbD09dD8xOnQpLHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3ICRVKHRoaXMuaCx0aGlzLmMsdGhpcy5sLTE4KihudWxsPT10PzE6dCksdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIEZVKHRoaXMpLnJnYigpfX0pKTt2YXIgS1U9LS4xNDg2MSxaVT0xLjc4Mjc3LEpVPS0uMjkyMjcsUVU9LS45MDY0OSx0aj0xLjk3Mjk0LGVqPXRqKlFVLG5qPXRqKlpVLGlqPVpVKkpVLVFVKktVO2Z1bmN0aW9uIHJqKHQpe2lmKHQgaW5zdGFuY2VvZiBhailyZXR1cm4gbmV3IGFqKHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7dCBpbnN0YW5jZW9mIENVfHwodD1FVSh0KSk7dmFyIGU9dC5nLzI1NSxuPXQuYi8yNTUsaT0oaWoqbitlaioodC5yLzI1NSktbmoqZSkvLTUuOTYxNTEyMjkxMixyPW4taSxvPSh0aiooZS1pKS1KVSpyKS9RVSxhPU1hdGguc3FydChvKm8rcipyKS8odGoqaSooMS1pKSkscz1hP01hdGguYXRhbjIobyxyKSpSVS0xMjA6TmFOO3JldHVybiBuZXcgYWooczwwP3MrMzYwOnMsYSxpLHQub3BhY2l0eSl9ZnVuY3Rpb24gb2oodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3JqKHQpOm5ldyBhaih0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24gYWoodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfW9VKGFqLG9qLGFVKHNVLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P2NVOk1hdGgucG93KGNVLHQpLG5ldyBhaih0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P2xVOk1hdGgucG93KGxVLHQpLG5ldyBhaih0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3ZhciB0PWlzTmFOKHRoaXMuaCk/MDoodGhpcy5oKzEyMCkqSVUsZT0rdGhpcy5sLG49aXNOYU4odGhpcy5zKT8wOnRoaXMucyplKigxLWUpLGk9TWF0aC5jb3ModCkscj1NYXRoLnNpbih0KTtyZXR1cm4gbmV3IENVKDI1NSooZStuKihLVSppK1pVKnIpKSwyNTUqKGUrbiooSlUqaStRVSpyKSksMjU1KihlK24qKHRqKmkpKSx0aGlzLm9wYWNpdHkpfX0pKTt2YXIgc2o9e3ZhbHVlOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gbGooKXtmb3IodmFyIHQsZT0wLG49YXJndW1lbnRzLmxlbmd0aCxpPXt9O2U8bjsrK2Upe2lmKCEodD1hcmd1bWVudHNbZV0rIiIpfHx0IGluIGkpdGhyb3cgbmV3IEVycm9yKCJpbGxlZ2FsIHR5cGU6ICIrdCk7aVt0XT1bXX1yZXR1cm4gbmV3IGNqKGkpfWZ1bmN0aW9uIGNqKHQpe3RoaXMuXz10fWZ1bmN0aW9uIHVqKHQsZSl7cmV0dXJuIHQudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcCgoZnVuY3Rpb24odCl7dmFyIG49IiIsaT10LmluZGV4T2YoIi4iKTtpZihpPj0wJiYobj10LnNsaWNlKGkrMSksdD10LnNsaWNlKDAsaSkpLHQmJiFlLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO3JldHVybnt0eXBlOnQsbmFtZTpufX0pKX1mdW5jdGlvbiBoaih0LGUpe2Zvcih2YXIgbixpPTAscj10Lmxlbmd0aDtpPHI7KytpKWlmKChuPXRbaV0pLm5hbWU9PT1lKXJldHVybiBuLnZhbHVlfWZ1bmN0aW9uIGRqKHQsZSxuKXtmb3IodmFyIGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYodFtpXS5uYW1lPT09ZSl7dFtpXT1zaix0PXQuc2xpY2UoMCxpKS5jb25jYXQodC5zbGljZShpKzEpKTticmVha31yZXR1cm4gbnVsbCE9biYmdC5wdXNoKHtuYW1lOmUsdmFsdWU6bn0pLHR9Y2oucHJvdG90eXBlPWxqLnByb3RvdHlwZT17Y29uc3RydWN0b3I6Y2osb246ZnVuY3Rpb24odCxlKXt2YXIgbixpPXRoaXMuXyxyPXVqKHQrIiIsaSksbz0tMSxhPXIubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7aWYobnVsbCE9ZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrOiAiK2UpO2Zvcig7KytvPGE7KWlmKG49KHQ9cltvXSkudHlwZSlpW25dPWRqKGlbbl0sdC5uYW1lLGUpO2Vsc2UgaWYobnVsbD09ZSlmb3IobiBpbiBpKWlbbl09ZGooaVtuXSx0Lm5hbWUsbnVsbCk7cmV0dXJuIHRoaXN9Zm9yKDsrK288YTspaWYoKG49KHQ9cltvXSkudHlwZSkmJihuPWhqKGlbbl0sdC5uYW1lKSkpcmV0dXJuIG59LGNvcHk6ZnVuY3Rpb24oKXt2YXIgdD17fSxlPXRoaXMuXztmb3IodmFyIG4gaW4gZSl0W25dPWVbbl0uc2xpY2UoKTtyZXR1cm4gbmV3IGNqKHQpfSxjYWxsOmZ1bmN0aW9uKHQsZSl7aWYoKG49YXJndW1lbnRzLmxlbmd0aC0yKT4wKWZvcih2YXIgbixpLHI9bmV3IEFycmF5KG4pLG89MDtvPG47KytvKXJbb109YXJndW1lbnRzW28rMl07aWYoIXRoaXMuXy5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtmb3Iobz0wLG49KGk9dGhpcy5fW3RdKS5sZW5ndGg7bzxuOysrbylpW29dLnZhbHVlLmFwcGx5KGUscil9LGFwcGx5OmZ1bmN0aW9uKHQsZSxuKXtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2Zvcih2YXIgaT10aGlzLl9bdF0scj0wLG89aS5sZW5ndGg7cjxvOysrcilpW3JdLnZhbHVlLmFwcGx5KGUsbil9fTt2YXIgcGo9e3ZhbHVlOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gZmooKXtmb3IodmFyIHQsZT0wLG49YXJndW1lbnRzLmxlbmd0aCxpPXt9O2U8bjsrK2Upe2lmKCEodD1hcmd1bWVudHNbZV0rIiIpfHx0IGluIGl8fC9bXHMuXS8udGVzdCh0KSl0aHJvdyBuZXcgRXJyb3IoImlsbGVnYWwgdHlwZTogIit0KTtpW3RdPVtdfXJldHVybiBuZXcgbWooaSl9ZnVuY3Rpb24gbWoodCl7dGhpcy5fPXR9ZnVuY3Rpb24gZ2oodCxlKXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKChmdW5jdGlvbih0KXt2YXIgbj0iIixpPXQuaW5kZXhPZigiLiIpO2lmKGk+PTAmJihuPXQuc2xpY2UoaSsxKSx0PXQuc2xpY2UoMCxpKSksdCYmIWUuaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7cmV0dXJue3R5cGU6dCxuYW1lOm59fSkpfWZ1bmN0aW9uIF9qKHQsZSl7Zm9yKHZhciBuLGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYoKG49dFtpXSkubmFtZT09PWUpcmV0dXJuIG4udmFsdWV9ZnVuY3Rpb24geWoodCxlLG4pe2Zvcih2YXIgaT0wLHI9dC5sZW5ndGg7aTxyOysraSlpZih0W2ldLm5hbWU9PT1lKXt0W2ldPXBqLHQ9dC5zbGljZSgwLGkpLmNvbmNhdCh0LnNsaWNlKGkrMSkpO2JyZWFrfXJldHVybiBudWxsIT1uJiZ0LnB1c2goe25hbWU6ZSx2YWx1ZTpufSksdH1tai5wcm90b3R5cGU9ZmoucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjptaixvbjpmdW5jdGlvbih0LGUpe3ZhciBuLGk9dGhpcy5fLHI9Z2oodCsiIixpKSxvPS0xLGE9ci5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtpZihudWxsIT1lJiYiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2FsbGJhY2s6ICIrZSk7Zm9yKDsrK288YTspaWYobj0odD1yW29dKS50eXBlKWlbbl09eWooaVtuXSx0Lm5hbWUsZSk7ZWxzZSBpZihudWxsPT1lKWZvcihuIGluIGkpaVtuXT15aihpW25dLHQubmFtZSxudWxsKTtyZXR1cm4gdGhpc31mb3IoOysrbzxhOylpZigobj0odD1yW29dKS50eXBlKSYmKG49X2ooaVtuXSx0Lm5hbWUpKSlyZXR1cm4gbn0sY29weTpmdW5jdGlvbigpe3ZhciB0PXt9LGU9dGhpcy5fO2Zvcih2YXIgbiBpbiBlKXRbbl09ZVtuXS5zbGljZSgpO3JldHVybiBuZXcgbWoodCl9LGNhbGw6ZnVuY3Rpb24odCxlKXtpZigobj1hcmd1bWVudHMubGVuZ3RoLTIpPjApZm9yKHZhciBuLGkscj1uZXcgQXJyYXkobiksbz0wO288bjsrK28pcltvXT1hcmd1bWVudHNbbysyXTtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2ZvcihvPTAsbj0oaT10aGlzLl9bdF0pLmxlbmd0aDtvPG47KytvKWlbb10udmFsdWUuYXBwbHkoZSxyKX0sYXBwbHk6ZnVuY3Rpb24odCxlLG4pe2lmKCF0aGlzLl8uaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7Zm9yKHZhciBpPXRoaXMuX1t0XSxyPTAsbz1pLmxlbmd0aDtyPG87KytyKWlbcl0udmFsdWUuYXBwbHkoZSxuKX19O3ZhciB2aj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsYmo9e3N2ZzoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhodG1sOnZqLHhsaW5rOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIix4bWw6Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIn07ZnVuY3Rpb24geGoodCl7dmFyIGU9dCs9IiIsbj1lLmluZGV4T2YoIjoiKTtyZXR1cm4gbj49MCYmInhtbG5zIiE9PShlPXQuc2xpY2UoMCxuKSkmJih0PXQuc2xpY2UobisxKSksYmouaGFzT3duUHJvcGVydHkoZSk/e3NwYWNlOmJqW2VdLGxvY2FsOnR9OnR9ZnVuY3Rpb24gd2oodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vd25lckRvY3VtZW50LG49dGhpcy5uYW1lc3BhY2VVUkk7cmV0dXJuIG49PT12aiYmZS5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJPT09dmo/ZS5jcmVhdGVFbGVtZW50KHQpOmUuY3JlYXRlRWxlbWVudE5TKG4sdCl9fWZ1bmN0aW9uIFNqKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIE1qKHQpe3ZhciBlPXhqKHQpO3JldHVybihlLmxvY2FsP1NqOndqKShlKX1mdW5jdGlvbiBFaigpe31mdW5jdGlvbiBUaih0KXtyZXR1cm4gbnVsbD09dD9FajpmdW5jdGlvbigpe3JldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3IodCl9fWZ1bmN0aW9uIENqKCl7cmV0dXJuW119ZnVuY3Rpb24gQWoodCl7cmV0dXJuIG5ldyBBcnJheSh0Lmxlbmd0aCl9ZnVuY3Rpb24ga2oodCxlKXt0aGlzLm93bmVyRG9jdW1lbnQ9dC5vd25lckRvY3VtZW50LHRoaXMubmFtZXNwYWNlVVJJPXQubmFtZXNwYWNlVVJJLHRoaXMuX25leHQ9bnVsbCx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9fZGF0YV9fPWV9a2oucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpraixhcHBlbmRDaGlsZDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGFyZW50Lmluc2VydEJlZm9yZSh0LHRoaXMuX25leHQpfSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fcGFyZW50Lmluc2VydEJlZm9yZSh0LGUpfSxxdWVyeVNlbGVjdG9yOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3Rvcih0KX0scXVlcnlTZWxlY3RvckFsbDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3JBbGwodCl9fTtmdW5jdGlvbiBMaih0LGUsbixpLHIsbyl7Zm9yKHZhciBhLHM9MCxsPWUubGVuZ3RoLGM9by5sZW5ndGg7czxjOysrcykoYT1lW3NdKT8oYS5fX2RhdGFfXz1vW3NdLGlbc109YSk6bltzXT1uZXcga2oodCxvW3NdKTtmb3IoO3M8bDsrK3MpKGE9ZVtzXSkmJihyW3NdPWEpfWZ1bmN0aW9uIFBqKHQsZSxuLGkscixvLGEpe3ZhciBzLGwsYyx1PXt9LGg9ZS5sZW5ndGgsZD1vLmxlbmd0aCxwPW5ldyBBcnJheShoKTtmb3Iocz0wO3M8aDsrK3MpKGw9ZVtzXSkmJihwW3NdPWM9IiQiK2EuY2FsbChsLGwuX19kYXRhX18scyxlKSxjIGluIHU/cltzXT1sOnVbY109bCk7Zm9yKHM9MDtzPGQ7KytzKShsPXVbYz0iJCIrYS5jYWxsKHQsb1tzXSxzLG8pXSk/KGlbc109bCxsLl9fZGF0YV9fPW9bc10sdVtjXT1udWxsKTpuW3NdPW5ldyBraih0LG9bc10pO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmdVtwW3NdXT09PWwmJihyW3NdPWwpfWZ1bmN0aW9uIE5qKHQsZSl7cmV0dXJuIHQ8ZT8tMTp0PmU/MTp0Pj1lPzA6TmFOfWZ1bmN0aW9uIElqKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpfX1mdW5jdGlvbiBSaih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIE9qKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5zZXRBdHRyaWJ1dGUodCxlKX19ZnVuY3Rpb24gemoodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxlKX19ZnVuY3Rpb24gRGoodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpOnRoaXMuc2V0QXR0cmlidXRlKHQsbil9fWZ1bmN0aW9uIEJqKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09bj90aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCk6dGhpcy5zZXRBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwsbil9fWZ1bmN0aW9uIEhqKHQpe3JldHVybiB0Lm93bmVyRG9jdW1lbnQmJnQub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlld3x8dC5kb2N1bWVudCYmdHx8dC5kZWZhdWx0Vmlld31mdW5jdGlvbiBGaih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX1mdW5jdGlvbiBWaih0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSh0LGUsbil9fWZ1bmN0aW9uIFVqKHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgaT1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1pP3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCk6dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSh0LGksbil9fWZ1bmN0aW9uIGpqKHQsZSl7cmV0dXJuIHQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShlKXx8SGoodCkuZ2V0Q29tcHV0ZWRTdHlsZSh0LG51bGwpLmdldFByb3BlcnR5VmFsdWUoZSl9ZnVuY3Rpb24gR2oodCl7cmV0dXJuIGZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXNbdF19fWZ1bmN0aW9uIFdqKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpc1t0XT1lfX1mdW5jdGlvbiBxaih0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/ZGVsZXRlIHRoaXNbdF06dGhpc1t0XT1ufX1mdW5jdGlvbiBZaih0KXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLyl9ZnVuY3Rpb24gWGoodCl7cmV0dXJuIHQuY2xhc3NMaXN0fHxuZXcgJGoodCl9ZnVuY3Rpb24gJGoodCl7dGhpcy5fbm9kZT10LHRoaXMuX25hbWVzPVlqKHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9ZnVuY3Rpb24gS2oodCxlKXtmb3IodmFyIG49WGoodCksaT0tMSxyPWUubGVuZ3RoOysraTxyOyluLmFkZChlW2ldKX1mdW5jdGlvbiBaaih0LGUpe2Zvcih2YXIgbj1Yaih0KSxpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KW4ucmVtb3ZlKGVbaV0pfWZ1bmN0aW9uIEpqKHQpe3JldHVybiBmdW5jdGlvbigpe0tqKHRoaXMsdCl9fWZ1bmN0aW9uIFFqKHQpe3JldHVybiBmdW5jdGlvbigpe1pqKHRoaXMsdCl9fWZ1bmN0aW9uIHRHKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7KGUuYXBwbHkodGhpcyxhcmd1bWVudHMpP0tqOlpqKSh0aGlzLHQpfX1mdW5jdGlvbiBlRygpe3RoaXMudGV4dENvbnRlbnQ9IiJ9ZnVuY3Rpb24gbkcodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy50ZXh0Q29udGVudD10fX1mdW5jdGlvbiBpRyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLnRleHRDb250ZW50PW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24gckcoKXt0aGlzLmlubmVySFRNTD0iIn1mdW5jdGlvbiBvRyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLmlubmVySFRNTD10fX1mdW5jdGlvbiBhRyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLmlubmVySFRNTD1udWxsPT1lPyIiOmV9fWZ1bmN0aW9uIHNHKCl7dGhpcy5uZXh0U2libGluZyYmdGhpcy5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHRoaXMpfWZ1bmN0aW9uIGxHKCl7dGhpcy5wcmV2aW91c1NpYmxpbmcmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcyx0aGlzLnBhcmVudE5vZGUuZmlyc3RDaGlsZCl9ZnVuY3Rpb24gY0coKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiB1Rygpe3ZhciB0PXRoaXMucGFyZW50Tm9kZTt0JiZ0LnJlbW92ZUNoaWxkKHRoaXMpfWZ1bmN0aW9uIGhHKCl7dmFyIHQ9dGhpcy5jbG9uZU5vZGUoITEpLGU9dGhpcy5wYXJlbnROb2RlO3JldHVybiBlP2UuaW5zZXJ0QmVmb3JlKHQsdGhpcy5uZXh0U2libGluZyk6dH1mdW5jdGlvbiBkRygpe3ZhciB0PXRoaXMuY2xvbmVOb2RlKCEwKSxlPXRoaXMucGFyZW50Tm9kZTtyZXR1cm4gZT9lLmluc2VydEJlZm9yZSh0LHRoaXMubmV4dFNpYmxpbmcpOnR9JGoucHJvdG90eXBlPXthZGQ6ZnVuY3Rpb24odCl7dGhpcy5fbmFtZXMuaW5kZXhPZih0KTwwJiYodGhpcy5fbmFtZXMucHVzaCh0KSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbmFtZXMuaW5kZXhPZih0KTtlPj0wJiYodGhpcy5fbmFtZXMuc3BsaWNlKGUsMSksdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLl9uYW1lcy5qb2luKCIgIikpKX0sY29udGFpbnM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX25hbWVzLmluZGV4T2YodCk+PTB9fTt2YXIgcEc9e30sZkc9bnVsbDsidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiYoIm9ubW91c2VlbnRlciJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR8fChwRz17bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9KSk7ZnVuY3Rpb24gbUcodCxlLG4pe3JldHVybiB0PWdHKHQsZSxuKSxmdW5jdGlvbihlKXt2YXIgbj1lLnJlbGF0ZWRUYXJnZXQ7biYmKG49PT10aGlzfHw4Jm4uY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcykpfHx0LmNhbGwodGhpcyxlKX19ZnVuY3Rpb24gZ0codCxlLG4pe3JldHVybiBmdW5jdGlvbihpKXt2YXIgcj1mRztmRz1pO3RyeXt0LmNhbGwodGhpcyx0aGlzLl9fZGF0YV9fLGUsbil9ZmluYWxseXtmRz1yfX19ZnVuY3Rpb24gX0codCl7cmV0dXJuIHQudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9IiIsbj10LmluZGV4T2YoIi4iKTtyZXR1cm4gbj49MCYmKGU9dC5zbGljZShuKzEpLHQ9dC5zbGljZSgwLG4pKSx7dHlwZTp0LG5hbWU6ZX19KSl9ZnVuY3Rpb24geUcodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fX29uO2lmKGUpe2Zvcih2YXIgbixpPTAscj0tMSxvPWUubGVuZ3RoO2k8bzsrK2kpbj1lW2ldLHQudHlwZSYmbi50eXBlIT09dC50eXBlfHxuLm5hbWUhPT10Lm5hbWU/ZVsrK3JdPW46dGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKG4udHlwZSxuLmxpc3RlbmVyLG4uY2FwdHVyZSk7KytyP2UubGVuZ3RoPXI6ZGVsZXRlIHRoaXMuX19vbn19fWZ1bmN0aW9uIHZHKHQsZSxuKXt2YXIgaT1wRy5oYXNPd25Qcm9wZXJ0eSh0LnR5cGUpP21HOmdHO3JldHVybiBmdW5jdGlvbihyLG8sYSl7dmFyIHMsbD10aGlzLl9fb24sYz1pKGUsbyxhKTtpZihsKWZvcih2YXIgdT0wLGg9bC5sZW5ndGg7dTxoOysrdSlpZigocz1sW3VdKS50eXBlPT09dC50eXBlJiZzLm5hbWU9PT10Lm5hbWUpcmV0dXJuIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcixzLmNhcHR1cmUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcj1jLHMuY2FwdHVyZT1uKSx2b2lkKHMudmFsdWU9ZSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKHQudHlwZSxjLG4pLHM9e3R5cGU6dC50eXBlLG5hbWU6dC5uYW1lLHZhbHVlOmUsbGlzdGVuZXI6YyxjYXB0dXJlOm59LGw/bC5wdXNoKHMpOnRoaXMuX19vbj1bc119fWZ1bmN0aW9uIGJHKHQsZSxuLGkpe3ZhciByPWZHO3Quc291cmNlRXZlbnQ9ZkcsZkc9dDt0cnl7cmV0dXJuIGUuYXBwbHkobixpKX1maW5hbGx5e2ZHPXJ9fWZ1bmN0aW9uIHhHKHQsZSxuKXt2YXIgaT1Iaih0KSxyPWkuQ3VzdG9tRXZlbnQ7ImZ1bmN0aW9uIj09dHlwZW9mIHI/cj1uZXcgcihlLG4pOihyPWkuZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iiksbj8oci5pbml0RXZlbnQoZSxuLmJ1YmJsZXMsbi5jYW5jZWxhYmxlKSxyLmRldGFpbD1uLmRldGFpbCk6ci5pbml0RXZlbnQoZSwhMSwhMSkpLHQuZGlzcGF0Y2hFdmVudChyKX1mdW5jdGlvbiB3Ryh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB4Ryh0aGlzLHQsZSl9fWZ1bmN0aW9uIFNHKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHhHKHRoaXMsdCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXZhciBNRz1bbnVsbF07ZnVuY3Rpb24gRUcodCxlKXt0aGlzLl9ncm91cHM9dCx0aGlzLl9wYXJlbnRzPWV9ZnVuY3Rpb24gVEcodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P25ldyBFRyhbW2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCldXSxbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSk6bmV3IEVHKFtbdF1dLE1HKX1mdW5jdGlvbiBDRygpe2Zvcih2YXIgdCxlPWZHO3Q9ZS5zb3VyY2VFdmVudDspZT10O3JldHVybiBlfWZ1bmN0aW9uIEFHKHQsZSl7dmFyIG49dC5vd25lclNWR0VsZW1lbnR8fHQ7aWYobi5jcmVhdGVTVkdQb2ludCl7dmFyIGk9bi5jcmVhdGVTVkdQb2ludCgpO3JldHVybiBpLng9ZS5jbGllbnRYLGkueT1lLmNsaWVudFksWyhpPWkubWF0cml4VHJhbnNmb3JtKHQuZ2V0U2NyZWVuQ1RNKCkuaW52ZXJzZSgpKSkueCxpLnldfXZhciByPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuW2UuY2xpZW50WC1yLmxlZnQtdC5jbGllbnRMZWZ0LGUuY2xpZW50WS1yLnRvcC10LmNsaWVudFRvcF19ZnVuY3Rpb24ga0codCl7dmFyIGU9Q0coKTtyZXR1cm4gZS5jaGFuZ2VkVG91Y2hlcyYmKGU9ZS5jaGFuZ2VkVG91Y2hlc1swXSksQUcodCxlKX1mdW5jdGlvbiBMRyh0LGUsbil7YXJndW1lbnRzLmxlbmd0aDwzJiYobj1lLGU9Q0coKS5jaGFuZ2VkVG91Y2hlcyk7Zm9yKHZhciBpLHI9MCxvPWU/ZS5sZW5ndGg6MDtyPG87KytyKWlmKChpPWVbcl0pLmlkZW50aWZpZXI9PT1uKXJldHVybiBBRyh0LGkpO3JldHVybiBudWxsfWZ1bmN0aW9uIFBHKCl7Zkcuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gTkcoKXtmRy5wcmV2ZW50RGVmYXVsdCgpLGZHLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIElHKHQpe3ZhciBlPXQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG49VEcodCkub24oImRyYWdzdGFydC5kcmFnIixORywhMCk7Im9uc2VsZWN0c3RhcnQiaW4gZT9uLm9uKCJzZWxlY3RzdGFydC5kcmFnIixORywhMCk6KGUuX19ub3NlbGVjdD1lLnN0eWxlLk1velVzZXJTZWxlY3QsZS5zdHlsZS5Nb3pVc2VyU2VsZWN0PSJub25lIil9ZnVuY3Rpb24gUkcodCxlKXt2YXIgbj10LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxpPVRHKHQpLm9uKCJkcmFnc3RhcnQuZHJhZyIsbnVsbCk7ZSYmKGkub24oImNsaWNrLmRyYWciLE5HLCEwKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2kub24oImNsaWNrLmRyYWciLG51bGwpfSksMCkpLCJvbnNlbGVjdHN0YXJ0ImluIG4/aS5vbigic2VsZWN0c3RhcnQuZHJhZyIsbnVsbCk6KG4uc3R5bGUuTW96VXNlclNlbGVjdD1uLl9fbm9zZWxlY3QsZGVsZXRlIG4uX19ub3NlbGVjdCl9ZnVuY3Rpb24gT0codCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIHpHKHQsZSxuLGkscixvLGEscyxsLGMpe3RoaXMudGFyZ2V0PXQsdGhpcy50eXBlPWUsdGhpcy5zdWJqZWN0PW4sdGhpcy5pZGVudGlmaWVyPWksdGhpcy5hY3RpdmU9cix0aGlzLng9byx0aGlzLnk9YSx0aGlzLmR4PXMsdGhpcy5keT1sLHRoaXMuXz1jfWZ1bmN0aW9uIERHKCl7cmV0dXJuIWZHLmJ1dHRvbn1mdW5jdGlvbiBCRygpe3JldHVybiB0aGlzLnBhcmVudE5vZGV9ZnVuY3Rpb24gSEcodCl7cmV0dXJuIG51bGw9PXQ/e3g6ZkcueCx5OmZHLnl9OnR9ZnVuY3Rpb24gRkcoKXtyZXR1cm4ib250b3VjaHN0YXJ0ImluIHRoaXN9RUcucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpFRyxzZWxlY3Q6ZnVuY3Rpb24gVkcodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVRqKHQpKTtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49ZS5sZW5ndGgsaT1uZXcgQXJyYXkobikscj0wO3I8bjsrK3IpZm9yKHZhciBvLGEscz1lW3JdLGw9cy5sZW5ndGgsYz1pW3JdPW5ldyBBcnJheShsKSx1PTA7dTxsOysrdSkobz1zW3VdKSYmKGE9dC5jYWxsKG8sby5fX2RhdGFfXyx1LHMpKSYmKCJfX2RhdGFfXyJpbiBvJiYoYS5fX2RhdGFfXz1vLl9fZGF0YV9fKSxjW3VdPWEpO3JldHVybiBuZXcgRUcoaSx0aGlzLl9wYXJlbnRzKX0sc2VsZWN0QWxsOmZ1bmN0aW9uIFVHKHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD0oZnVuY3Rpb24gZSh0KXtyZXR1cm4gbnVsbD09dD9DajpmdW5jdGlvbigpe3JldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwodCl9fSkodCkpO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsaT1uLmxlbmd0aCxyPVtdLG89W10sYT0wO2E8aTsrK2EpZm9yKHZhciBzLGw9blthXSxjPWwubGVuZ3RoLHU9MDt1PGM7Kyt1KShzPWxbdV0pJiYoci5wdXNoKHQuY2FsbChzLHMuX19kYXRhX18sdSxsKSksby5wdXNoKHMpKTtyZXR1cm4gbmV3IEVHKHIsbyl9LGZpbHRlcjpmdW5jdGlvbiBqRyh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9KGZ1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWF0Y2hlcyh0KX19KSh0KSk7Zm9yKHZhciBuPXRoaXMuX2dyb3VwcyxpPW4ubGVuZ3RoLHI9bmV3IEFycmF5KGkpLG89MDtvPGk7KytvKWZvcih2YXIgYSxzPW5bb10sbD1zLmxlbmd0aCxjPXJbb109W10sdT0wO3U8bDsrK3UpKGE9c1t1XSkmJnQuY2FsbChhLGEuX19kYXRhX18sdSxzKSYmYy5wdXNoKGEpO3JldHVybiBuZXcgRUcocix0aGlzLl9wYXJlbnRzKX0sZGF0YTpmdW5jdGlvbiBHRyh0LGUpe2lmKCF0KXJldHVybiBmPW5ldyBBcnJheSh0aGlzLnNpemUoKSksdT0tMSx0aGlzLmVhY2goKGZ1bmN0aW9uKHQpe2ZbKyt1XT10fSkpLGY7dmFyIG49ZT9QajpMaixpPXRoaXMuX3BhcmVudHMscj10aGlzLl9ncm91cHM7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PShmdW5jdGlvbiBvKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX0pKHQpKTtmb3IodmFyIGE9ci5sZW5ndGgscz1uZXcgQXJyYXkoYSksbD1uZXcgQXJyYXkoYSksYz1uZXcgQXJyYXkoYSksdT0wO3U8YTsrK3Upe3ZhciBoPWlbdV0sZD1yW3VdLHA9ZC5sZW5ndGgsZj10LmNhbGwoaCxoJiZoLl9fZGF0YV9fLHUsaSksbT1mLmxlbmd0aCxnPWxbdV09bmV3IEFycmF5KG0pLF89c1t1XT1uZXcgQXJyYXkobSk7bihoLGQsZyxfLGNbdV09bmV3IEFycmF5KHApLGYsZSk7Zm9yKHZhciB5LHYsYj0wLHg9MDtiPG07KytiKWlmKHk9Z1tiXSl7Zm9yKGI+PXgmJih4PWIrMSk7ISh2PV9beF0pJiYrK3g8bTspO3kuX25leHQ9dnx8bnVsbH19cmV0dXJuKHM9bmV3IEVHKHMsaSkpLl9lbnRlcj1sLHMuX2V4aXQ9YyxzfSxlbnRlcjpmdW5jdGlvbiBXRygpe3JldHVybiBuZXcgRUcodGhpcy5fZW50ZXJ8fHRoaXMuX2dyb3Vwcy5tYXAoQWopLHRoaXMuX3BhcmVudHMpfSxleGl0OmZ1bmN0aW9uIHFHKCl7cmV0dXJuIG5ldyBFRyh0aGlzLl9leGl0fHx0aGlzLl9ncm91cHMubWFwKEFqKSx0aGlzLl9wYXJlbnRzKX0sam9pbjpmdW5jdGlvbiBZRyh0LGUsbil7dmFyIGk9dGhpcy5lbnRlcigpLHI9dGhpcyxvPXRoaXMuZXhpdCgpO3JldHVybiBpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3QoaSk6aS5hcHBlbmQodCsiIiksbnVsbCE9ZSYmKHI9ZShyKSksbnVsbD09bj9vLnJlbW92ZSgpOm4obyksaSYmcj9pLm1lcmdlKHIpLm9yZGVyKCk6cn0sbWVyZ2U6ZnVuY3Rpb24gWEcodCl7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPXQuX2dyb3VwcyxpPWUubGVuZ3RoLHI9TWF0aC5taW4oaSxuLmxlbmd0aCksbz1uZXcgQXJyYXkoaSksYT0wO2E8cjsrK2EpZm9yKHZhciBzLGw9ZVthXSxjPW5bYV0sdT1sLmxlbmd0aCxoPW9bYV09bmV3IEFycmF5KHUpLGQ9MDtkPHU7KytkKShzPWxbZF18fGNbZF0pJiYoaFtkXT1zKTtmb3IoO2E8aTsrK2Epb1thXT1lW2FdO3JldHVybiBuZXcgRUcobyx0aGlzLl9wYXJlbnRzKX0sb3JkZXI6ZnVuY3Rpb24gJEcoKXtmb3IodmFyIHQ9dGhpcy5fZ3JvdXBzLGU9LTEsbj10Lmxlbmd0aDsrK2U8bjspZm9yKHZhciBpLHI9dFtlXSxvPXIubGVuZ3RoLTEsYT1yW29dOy0tbz49MDspKGk9cltvXSkmJihhJiY0XmkuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkmJmEucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaSxhKSxhPWkpO3JldHVybiB0aGlzfSxzb3J0OmZ1bmN0aW9uIEtHKHQpe2Z1bmN0aW9uIGUoZSxuKXtyZXR1cm4gZSYmbj90KGUuX19kYXRhX18sbi5fX2RhdGFfXyk6IWUtIW59dHx8KHQ9TmopO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsaT1uLmxlbmd0aCxyPW5ldyBBcnJheShpKSxvPTA7bzxpOysrbyl7Zm9yKHZhciBhLHM9bltvXSxsPXMubGVuZ3RoLGM9cltvXT1uZXcgQXJyYXkobCksdT0wO3U8bDsrK3UpKGE9c1t1XSkmJihjW3VdPWEpO2Muc29ydChlKX1yZXR1cm4gbmV3IEVHKHIsdGhpcy5fcGFyZW50cykub3JkZXIoKX0sY2FsbDpmdW5jdGlvbiBaRygpe3ZhciB0PWFyZ3VtZW50c1swXTtyZXR1cm4gYXJndW1lbnRzWzBdPXRoaXMsdC5hcHBseShudWxsLGFyZ3VtZW50cyksdGhpc30sbm9kZXM6ZnVuY3Rpb24gSkcoKXt2YXIgdD1uZXcgQXJyYXkodGhpcy5zaXplKCkpLGU9LTE7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt0WysrZV09dGhpc30pKSx0fSxub2RlOmZ1bmN0aW9uIFFHKCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPTAsbj10Lmxlbmd0aDtlPG47KytlKWZvcih2YXIgaT10W2VdLHI9MCxvPWkubGVuZ3RoO3I8bzsrK3Ipe3ZhciBhPWlbcl07aWYoYSlyZXR1cm4gYX1yZXR1cm4gbnVsbH0sc2l6ZTpmdW5jdGlvbiB0Vygpe3ZhciB0PTA7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXsrK3R9KSksdH0sZW1wdHk6ZnVuY3Rpb24gZVcoKXtyZXR1cm4hdGhpcy5ub2RlKCl9LGVhY2g6ZnVuY3Rpb24gblcodCl7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPTAsaT1lLmxlbmd0aDtuPGk7KytuKWZvcih2YXIgcixvPWVbbl0sYT0wLHM9by5sZW5ndGg7YTxzOysrYSkocj1vW2FdKSYmdC5jYWxsKHIsci5fX2RhdGFfXyxhLG8pO3JldHVybiB0aGlzfSxhdHRyOmZ1bmN0aW9uIGlXKHQsZSl7dmFyIG49eGoodCk7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXt2YXIgaT10aGlzLm5vZGUoKTtyZXR1cm4gbi5sb2NhbD9pLmdldEF0dHJpYnV0ZU5TKG4uc3BhY2Usbi5sb2NhbCk6aS5nZXRBdHRyaWJ1dGUobil9cmV0dXJuIHRoaXMuZWFjaCgobnVsbD09ZT9uLmxvY2FsP1JqOklqOiJmdW5jdGlvbiI9PXR5cGVvZiBlP24ubG9jYWw/Qmo6RGo6bi5sb2NhbD96ajpPaikobixlKSl9LHN0eWxlOmZ1bmN0aW9uIHJXKHQsZSxuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaCgobnVsbD09ZT9GajoiZnVuY3Rpb24iPT10eXBlb2YgZT9VajpWaikodCxlLG51bGw9PW4/IiI6bikpOmpqKHRoaXMubm9kZSgpLHQpfSxwcm9wZXJ0eTpmdW5jdGlvbiBvVyh0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/dGhpcy5lYWNoKChudWxsPT1lP0dqOiJmdW5jdGlvbiI9PXR5cGVvZiBlP3FqOldqKSh0LGUpKTp0aGlzLm5vZGUoKVt0XX0sY2xhc3NlZDpmdW5jdGlvbiBhVyh0LGUpe3ZhciBuPVlqKHQrIiIpO2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7Zm9yKHZhciBpPVhqKHRoaXMubm9kZSgpKSxyPS0xLG89bi5sZW5ndGg7KytyPG87KWlmKCFpLmNvbnRhaW5zKG5bcl0pKXJldHVybiExO3JldHVybiEwfXJldHVybiB0aGlzLmVhY2goKCJmdW5jdGlvbiI9PXR5cGVvZiBlP3RHOmU/Smo6UWopKG4sZSkpfSx0ZXh0OmZ1bmN0aW9uIHNXKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChudWxsPT10P2VHOigiZnVuY3Rpb24iPT10eXBlb2YgdD9pRzpuRykodCkpOnRoaXMubm9kZSgpLnRleHRDb250ZW50fSxodG1sOmZ1bmN0aW9uIGxXKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChudWxsPT10P3JHOigiZnVuY3Rpb24iPT10eXBlb2YgdD9hRzpvRykodCkpOnRoaXMubm9kZSgpLmlubmVySFRNTH0scmFpc2U6ZnVuY3Rpb24gY1coKXtyZXR1cm4gdGhpcy5lYWNoKHNHKX0sbG93ZXI6ZnVuY3Rpb24gdVcoKXtyZXR1cm4gdGhpcy5lYWNoKGxHKX0sYXBwZW5kOmZ1bmN0aW9uIGhXKHQpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TWoodCk7cmV0dXJuIHRoaXMuc2VsZWN0KChmdW5jdGlvbigpe3JldHVybiB0aGlzLmFwcGVuZENoaWxkKGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0pKX0saW5zZXJ0OmZ1bmN0aW9uIGRXKHQsZSl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpNaih0KSxpPW51bGw9PWU/Y0c6ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpUaihlKTtyZXR1cm4gdGhpcy5zZWxlY3QoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5zZXJ0QmVmb3JlKG4uYXBwbHkodGhpcyxhcmd1bWVudHMpLGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfHxudWxsKX0pKX0scmVtb3ZlOmZ1bmN0aW9uIHBXKCl7cmV0dXJuIHRoaXMuZWFjaCh1Ryl9LGNsb25lOmZ1bmN0aW9uIGZXKHQpe3JldHVybiB0aGlzLnNlbGVjdCh0P2RHOmhHKX0sZGF0dW06ZnVuY3Rpb24gbVcodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5wcm9wZXJ0eSgiX19kYXRhX18iLHQpOnRoaXMubm9kZSgpLl9fZGF0YV9ffSxvbjpmdW5jdGlvbiBnVyh0LGUsbil7dmFyIGkscixvPV9HKHQrIiIpLGE9by5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtmb3Iocz1lP3ZHOnlHLG51bGw9PW4mJihuPSExKSxpPTA7aTxhOysraSl0aGlzLmVhY2gocyhvW2ldLGUsbikpO3JldHVybiB0aGlzfXZhciBzPXRoaXMubm9kZSgpLl9fb247aWYocylmb3IodmFyIGwsYz0wLHU9cy5sZW5ndGg7Yzx1OysrYylmb3IoaT0wLGw9c1tjXTtpPGE7KytpKWlmKChyPW9baV0pLnR5cGU9PT1sLnR5cGUmJnIubmFtZT09PWwubmFtZSlyZXR1cm4gbC52YWx1ZX0sZGlzcGF0Y2g6ZnVuY3Rpb24gX1codCxlKXtyZXR1cm4gdGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgZT9TRzp3RykodCxlKSl9fSx6Ry5wcm90b3R5cGUub249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl8ub24uYXBwbHkodGhpcy5fLGFyZ3VtZW50cyk7cmV0dXJuIHQ9PT10aGlzLl8/dGhpczp0fTt2YXIgeVc9e30sdlc9e307ZnVuY3Rpb24gYlcodCl7cmV0dXJuIG5ldyBGdW5jdGlvbigiZCIsInJldHVybiB7Iit0Lm1hcCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCkrIjogZFsiK2UrIl0ifSkpLmpvaW4oIiwiKSsifSIpfWZ1bmN0aW9uIHhXKHQpe3ZhciBlPW5ldyBSZWdFeHAoJ1siJyt0KyJcblxyXSIpLG49dC5jaGFyQ29kZUF0KDApO2Z1bmN0aW9uIGkodCxlKXt2YXIgaSxyPVtdLG89dC5sZW5ndGgsYT0wLHM9MCxsPW88PTAsYz0hMTtmdW5jdGlvbiB1KCl7aWYobClyZXR1cm4gdlc7aWYoYylyZXR1cm4gYz0hMSx5Vzt2YXIgZSxpLHI9YTtpZigzND09PXQuY2hhckNvZGVBdChyKSl7Zm9yKDthKys8byYmMzQhPT10LmNoYXJDb2RlQXQoYSl8fDM0PT09dC5jaGFyQ29kZUF0KCsrYSk7KTtyZXR1cm4oZT1hKT49bz9sPSEwOjEwPT09KGk9dC5jaGFyQ29kZUF0KGErKykpP2M9ITA6MTM9PT1pJiYoYz0hMCwxMD09PXQuY2hhckNvZGVBdChhKSYmKythKSx0LnNsaWNlKHIrMSxlLTEpLnJlcGxhY2UoLyIiL2csJyInKX1mb3IoO2E8bzspe2lmKDEwPT09KGk9dC5jaGFyQ29kZUF0KGU9YSsrKSkpYz0hMDtlbHNlIGlmKDEzPT09aSljPSEwLDEwPT09dC5jaGFyQ29kZUF0KGEpJiYrK2E7ZWxzZSBpZihpIT09biljb250aW51ZTtyZXR1cm4gdC5zbGljZShyLGUpfXJldHVybiBsPSEwLHQuc2xpY2UocixvKX1mb3IoMTA9PT10LmNoYXJDb2RlQXQoby0xKSYmLS1vLDEzPT09dC5jaGFyQ29kZUF0KG8tMSkmJi0tbzsoaT11KCkpIT09dlc7KXtmb3IodmFyIGg9W107aSE9PXlXJiZpIT09dlc7KWgucHVzaChpKSxpPXUoKTtlJiZudWxsPT0oaD1lKGgscysrKSl8fHIucHVzaChoKX1yZXR1cm4gcn1mdW5jdGlvbiByKGUpe3JldHVybiBlLm1hcChvKS5qb2luKHQpfWZ1bmN0aW9uIG8odCl7cmV0dXJuIG51bGw9PXQ/IiI6ZS50ZXN0KHQrPSIiKT8nIicrdC5yZXBsYWNlKC8iL2csJyIiJykrJyInOnR9cmV0dXJue3BhcnNlOmZ1bmN0aW9uIGEodCxlKXt2YXIgbixyLG89aSh0LChmdW5jdGlvbih0LGkpe2lmKG4pcmV0dXJuIG4odCxpLTEpO3I9dCxuPWU/KGZ1bmN0aW9uIG8odCxlKXt2YXIgbj1iVyh0KTtyZXR1cm4gZnVuY3Rpb24oaSxyKXtyZXR1cm4gZShuKGkpLHIsdCl9fSkodCxlKTpiVyh0KX0pKTtyZXR1cm4gby5jb2x1bW5zPXJ8fFtdLG99LHBhcnNlUm93czppLGZvcm1hdDpmdW5jdGlvbiBzKGUsbil7cmV0dXJuIG51bGw9PW4mJihuPShmdW5jdGlvbiBpKHQpe3ZhciBlPU9iamVjdC5jcmVhdGUobnVsbCksbj1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtmb3IodmFyIGkgaW4gdClpIGluIGV8fG4ucHVzaChlW2ldPWkpfSkpLG59KShlKSksW24ubWFwKG8pLmpvaW4odCldLmNvbmNhdChlLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gbyhlW3RdKX0pKS5qb2luKHQpfSkpKS5qb2luKCJcbiIpfSxmb3JtYXRSb3dzOmZ1bmN0aW9uIGwodCl7cmV0dXJuIHQubWFwKHIpLmpvaW4oIlxuIil9fX12YXIgd1c9eFcoIiwiKSxTVz13Vy5wYXJzZSxNVz13Vy5wYXJzZVJvd3MsRVc9d1cuZm9ybWF0LFRXPXdXLmZvcm1hdFJvd3MsQ1c9eFcoIlx0IiksQVc9Q1cucGFyc2Usa1c9Q1cucGFyc2VSb3dzLExXPUNXLmZvcm1hdCxQVz1DVy5mb3JtYXRSb3dzO2Z1bmN0aW9uIE5XKHQpe3JldHVybigodCo9Mik8PTE/dCp0Oi0tdCooMi10KSsxKS8yfWZ1bmN0aW9uIElXKHQpe3JldHVybigodCo9Mik8PTE/dCp0KnQ6KHQtPTIpKnQqdCsyKS8yfXZhciBSVz0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBNYXRoLnBvdyh0LGUpfXJldHVybiBlPStlLG4uZXhwb25lbnQ9dCxufSkoMyksT1c9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gMS1NYXRoLnBvdygxLXQsZSl9cmV0dXJuIGU9K2Usbi5leHBvbmVudD10LG59KSgzKSx6Vz0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybigodCo9Mik8PTE/TWF0aC5wb3codCxlKToyLU1hdGgucG93KDItdCxlKSkvMn1yZXR1cm4gZT0rZSxuLmV4cG9uZW50PXQsbn0pKDMpLERXPU1hdGguUEksQlc9RFcvMjtmdW5jdGlvbiBIVyh0KXtyZXR1cm4oMS1NYXRoLmNvcyhEVyp0KSkvMn1mdW5jdGlvbiBGVyh0KXtyZXR1cm4oKHQqPTIpPD0xP01hdGgucG93KDIsMTAqdC0xMCk6Mi1NYXRoLnBvdygyLDEwLTEwKnQpKS8yfWZ1bmN0aW9uIFZXKHQpe3JldHVybigodCo9Mik8PTE/MS1NYXRoLnNxcnQoMS10KnQpOk1hdGguc3FydCgxLSh0LT0yKSp0KSsxKS8yfXZhciBVVz00LzExLGpXPTcuNTYyNTtmdW5jdGlvbiBHVyh0KXtyZXR1cm4odD0rdCk8VVc/alcqdCp0OnQ8LjcyNzI3MjcyNzI3MjcyNzM/alcqKHQtPS41NDU0NTQ1NDU0NTQ1NDU0KSp0Ky43NTp0PC45MDkwOTA5MDkwOTA5MDkxP2pXKih0LT0uODE4MTgxODE4MTgxODE4MikqdCsuOTM3NTpqVyoodC09Ljk1NDU0NTQ1NDU0NTQ1NDYpKnQrLjk4NDM3NX12YXIgV1c9MS43MDE1OCxxVz0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiB0KnQqKChlKzEpKnQtZSl9cmV0dXJuIGU9K2Usbi5vdmVyc2hvb3Q9dCxufSkoV1cpLFlXPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuLS10KnQqKChlKzEpKnQrZSkrMX1yZXR1cm4gZT0rZSxuLm92ZXJzaG9vdD10LG59KShXVyksWFc9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4oKHQqPTIpPDE/dCp0KigoZSsxKSp0LWUpOih0LT0yKSp0KigoZSsxKSp0K2UpKzIpLzJ9cmV0dXJuIGU9K2Usbi5vdmVyc2hvb3Q9dCxufSkoV1cpLCRXPTIqTWF0aC5QSSxLVz0oZnVuY3Rpb24gdChlLG4pe3ZhciBpPU1hdGguYXNpbigxLyhlPU1hdGgubWF4KDEsZSkpKSoobi89JFcpO2Z1bmN0aW9uIHIodCl7cmV0dXJuIGUqTWF0aC5wb3coMiwxMCotLXQpKk1hdGguc2luKChpLXQpL24pfXJldHVybiByLmFtcGxpdHVkZT1mdW5jdGlvbihlKXtyZXR1cm4gdChlLG4qJFcpfSxyLnBlcmlvZD1mdW5jdGlvbihuKXtyZXR1cm4gdChlLG4pfSxyfSkoMSwuMyksWlc9KGZ1bmN0aW9uIHQoZSxuKXt2YXIgaT1NYXRoLmFzaW4oMS8oZT1NYXRoLm1heCgxLGUpKSkqKG4vPSRXKTtmdW5jdGlvbiByKHQpe3JldHVybiAxLWUqTWF0aC5wb3coMiwtMTAqKHQ9K3QpKSpNYXRoLnNpbigodCtpKS9uKX1yZXR1cm4gci5hbXBsaXR1ZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSxuKiRXKX0sci5wZXJpb2Q9ZnVuY3Rpb24obil7cmV0dXJuIHQoZSxuKX0scn0pKDEsLjMpLEpXPShmdW5jdGlvbiB0KGUsbil7dmFyIGk9TWF0aC5hc2luKDEvKGU9TWF0aC5tYXgoMSxlKSkpKihuLz0kVyk7ZnVuY3Rpb24gcih0KXtyZXR1cm4oKHQ9Mip0LTEpPDA/ZSpNYXRoLnBvdygyLDEwKnQpKk1hdGguc2luKChpLXQpL24pOjItZSpNYXRoLnBvdygyLC0xMCp0KSpNYXRoLnNpbigoaSt0KS9uKSkvMn1yZXR1cm4gci5hbXBsaXR1ZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSxuKiRXKX0sci5wZXJpb2Q9ZnVuY3Rpb24obil7cmV0dXJuIHQoZSxuKX0scn0pKDEsLjMpO2Z1bmN0aW9uIFFXKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiB0cSgpe3JldHVybiAxZS02KihNYXRoLnJhbmRvbSgpLS41KX1mdW5jdGlvbiBlcSh0LGUsbixpKXtpZihpc05hTihlKXx8aXNOYU4obikpcmV0dXJuIHQ7dmFyIHIsbyxhLHMsbCxjLHUsaCxkLHA9dC5fcm9vdCxmPXtkYXRhOml9LG09dC5feDAsZz10Ll95MCxfPXQuX3gxLHk9dC5feTE7aWYoIXApcmV0dXJuIHQuX3Jvb3Q9Zix0O2Zvcig7cC5sZW5ndGg7KWlmKChjPWU+PShvPShtK18pLzIpKT9tPW86Xz1vLCh1PW4+PShhPShnK3kpLzIpKT9nPWE6eT1hLHI9cCwhKHA9cFtoPXU8PDF8Y10pKXJldHVybiByW2hdPWYsdDtpZihzPSt0Ll94LmNhbGwobnVsbCxwLmRhdGEpLGw9K3QuX3kuY2FsbChudWxsLHAuZGF0YSksZT09PXMmJm49PT1sKXJldHVybiBmLm5leHQ9cCxyP3JbaF09Zjp0Ll9yb290PWYsdDtkb3tyPXI/cltoXT1uZXcgQXJyYXkoNCk6dC5fcm9vdD1uZXcgQXJyYXkoNCksKGM9ZT49KG89KG0rXykvMikpP209bzpfPW8sKHU9bj49KGE9KGcreSkvMikpP2c9YTp5PWF9d2hpbGUoKGg9dTw8MXxjKT09KGQ9KGw+PWEpPDwxfHM+PW8pKTtyZXR1cm4gcltkXT1wLHJbaF09Zix0fWZ1bmN0aW9uIG5xKHQsZSxuLGkscil7dGhpcy5ub2RlPXQsdGhpcy54MD1lLHRoaXMueTA9bix0aGlzLngxPWksdGhpcy55MT1yfWZ1bmN0aW9uIGlxKHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIHJxKHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIG9xKHQsZSxuKXt2YXIgaT1uZXcgYXEobnVsbD09ZT9pcTplLG51bGw9PW4/cnE6bixOYU4sTmFOLE5hTixOYU4pO3JldHVybiBudWxsPT10P2k6aS5hZGRBbGwodCl9ZnVuY3Rpb24gYXEodCxlLG4saSxyLG8pe3RoaXMuX3g9dCx0aGlzLl95PWUsdGhpcy5feDA9bix0aGlzLl95MD1pLHRoaXMuX3gxPXIsdGhpcy5feTE9byx0aGlzLl9yb290PXZvaWQgMH1mdW5jdGlvbiBzcSh0KXtmb3IodmFyIGU9e2RhdGE6dC5kYXRhfSxuPWU7dD10Lm5leHQ7KW49bi5uZXh0PXtkYXRhOnQuZGF0YX07cmV0dXJuIGV9dmFyIGxxPW9xLnByb3RvdHlwZT1hcS5wcm90b3R5cGU7ZnVuY3Rpb24gY3EodCl7cmV0dXJuIHQueCt0LnZ4fWZ1bmN0aW9uIHVxKHQpe3JldHVybiB0LnkrdC52eX1scS5jb3B5PWZ1bmN0aW9uKCl7dmFyIHQsZSxuPW5ldyBhcSh0aGlzLl94LHRoaXMuX3ksdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpLGk9dGhpcy5fcm9vdDtpZighaSlyZXR1cm4gbjtpZighaS5sZW5ndGgpcmV0dXJuIG4uX3Jvb3Q9c3EoaSksbjtmb3IodD1be3NvdXJjZTppLHRhcmdldDpuLl9yb290PW5ldyBBcnJheSg0KX1dO2k9dC5wb3AoKTspZm9yKHZhciByPTA7cjw0OysrcikoZT1pLnNvdXJjZVtyXSkmJihlLmxlbmd0aD90LnB1c2goe3NvdXJjZTplLHRhcmdldDppLnRhcmdldFtyXT1uZXcgQXJyYXkoNCl9KTppLnRhcmdldFtyXT1zcShlKSk7cmV0dXJuIG59LGxxLmFkZD1mdW5jdGlvbiBocSh0KXt2YXIgZT0rdGhpcy5feC5jYWxsKG51bGwsdCksbj0rdGhpcy5feS5jYWxsKG51bGwsdCk7cmV0dXJuIGVxKHRoaXMuY292ZXIoZSxuKSxlLG4sdCl9LGxxLmFkZEFsbD1mdW5jdGlvbiBkcSh0KXt2YXIgZSxuLGkscixvPXQubGVuZ3RoLGE9bmV3IEFycmF5KG8pLHM9bmV3IEFycmF5KG8pLGw9MS8wLGM9MS8wLHU9LTEvMCxoPS0xLzA7Zm9yKG49MDtuPG87KytuKWlzTmFOKGk9K3RoaXMuX3guY2FsbChudWxsLGU9dFtuXSkpfHxpc05hTihyPSt0aGlzLl95LmNhbGwobnVsbCxlKSl8fChhW25dPWksc1tuXT1yLGk8bCYmKGw9aSksaT51JiYodT1pKSxyPGMmJihjPXIpLHI+aCYmKGg9cikpO2lmKGw+dXx8Yz5oKXJldHVybiB0aGlzO2Zvcih0aGlzLmNvdmVyKGwsYykuY292ZXIodSxoKSxuPTA7bjxvOysrbillcSh0aGlzLGFbbl0sc1tuXSx0W25dKTtyZXR1cm4gdGhpc30sbHEuY292ZXI9ZnVuY3Rpb24gcHEodCxlKXtpZihpc05hTih0PSt0KXx8aXNOYU4oZT0rZSkpcmV0dXJuIHRoaXM7dmFyIG49dGhpcy5feDAsaT10aGlzLl95MCxyPXRoaXMuX3gxLG89dGhpcy5feTE7aWYoaXNOYU4obikpcj0obj1NYXRoLmZsb29yKHQpKSsxLG89KGk9TWF0aC5mbG9vcihlKSkrMTtlbHNle2Zvcih2YXIgYSxzLGw9ci1uLGM9dGhpcy5fcm9vdDtuPnR8fHQ+PXJ8fGk+ZXx8ZT49bzspc3dpdGNoKHM9KGU8aSk8PDF8dDxuLChhPW5ldyBBcnJheSg0KSlbc109YyxjPWEsbCo9MixzKXtjYXNlIDA6cj1uK2wsbz1pK2w7YnJlYWs7Y2FzZSAxOm49ci1sLG89aStsO2JyZWFrO2Nhc2UgMjpyPW4rbCxpPW8tbDticmVhaztjYXNlIDM6bj1yLWwsaT1vLWx9dGhpcy5fcm9vdCYmdGhpcy5fcm9vdC5sZW5ndGgmJih0aGlzLl9yb290PWMpfXJldHVybiB0aGlzLl94MD1uLHRoaXMuX3kwPWksdGhpcy5feDE9cix0aGlzLl95MT1vLHRoaXN9LGxxLmRhdGE9ZnVuY3Rpb24gZnEoKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy52aXNpdCgoZnVuY3Rpb24oZSl7aWYoIWUubGVuZ3RoKWRve3QucHVzaChlLmRhdGEpfXdoaWxlKGU9ZS5uZXh0KX0pKSx0fSxscS5leHRlbnQ9ZnVuY3Rpb24gbXEodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5jb3ZlcigrdFswXVswXSwrdFswXVsxXSkuY292ZXIoK3RbMV1bMF0sK3RbMV1bMV0pOmlzTmFOKHRoaXMuX3gwKT92b2lkIDA6W1t0aGlzLl94MCx0aGlzLl95MF0sW3RoaXMuX3gxLHRoaXMuX3kxXV19LGxxLmZpbmQ9ZnVuY3Rpb24gZ3EodCxlLG4pe3ZhciBpLHIsbyxhLHMsbCxjLHU9dGhpcy5feDAsaD10aGlzLl95MCxkPXRoaXMuX3gxLHA9dGhpcy5feTEsZj1bXSxtPXRoaXMuX3Jvb3Q7Zm9yKG0mJmYucHVzaChuZXcgbnEobSx1LGgsZCxwKSksbnVsbD09bj9uPTEvMDoodT10LW4saD1lLW4sZD10K24scD1lK24sbio9bik7bD1mLnBvcCgpOylpZighKCEobT1sLm5vZGUpfHwocj1sLngwKT5kfHwobz1sLnkwKT5wfHwoYT1sLngxKTx1fHwocz1sLnkxKTxoKSlpZihtLmxlbmd0aCl7dmFyIGc9KHIrYSkvMixfPShvK3MpLzI7Zi5wdXNoKG5ldyBucShtWzNdLGcsXyxhLHMpLG5ldyBucShtWzJdLHIsXyxnLHMpLG5ldyBucShtWzFdLGcsbyxhLF8pLG5ldyBucShtWzBdLHIsbyxnLF8pKSwoYz0oZT49Xyk8PDF8dD49ZykmJihsPWZbZi5sZW5ndGgtMV0sZltmLmxlbmd0aC0xXT1mW2YubGVuZ3RoLTEtY10sZltmLmxlbmd0aC0xLWNdPWwpfWVsc2V7dmFyIHk9dC0rdGhpcy5feC5jYWxsKG51bGwsbS5kYXRhKSx2PWUtK3RoaXMuX3kuY2FsbChudWxsLG0uZGF0YSksYj15Knkrdip2O2lmKGI8bil7dmFyIHg9TWF0aC5zcXJ0KG49Yik7dT10LXgsaD1lLXgsZD10K3gscD1lK3gsaT1tLmRhdGF9fXJldHVybiBpfSxscS5yZW1vdmU9ZnVuY3Rpb24gX3EodCl7aWYoaXNOYU4obz0rdGhpcy5feC5jYWxsKG51bGwsdCkpfHxpc05hTihhPSt0aGlzLl95LmNhbGwobnVsbCx0KSkpcmV0dXJuIHRoaXM7dmFyIGUsbixpLHIsbyxhLHMsbCxjLHUsaCxkLHA9dGhpcy5fcm9vdCxmPXRoaXMuX3gwLG09dGhpcy5feTAsZz10aGlzLl94MSxfPXRoaXMuX3kxO2lmKCFwKXJldHVybiB0aGlzO2lmKHAubGVuZ3RoKWZvcig7Oyl7aWYoKGM9bz49KHM9KGYrZykvMikpP2Y9czpnPXMsKHU9YT49KGw9KG0rXykvMikpP209bDpfPWwsZT1wLCEocD1wW2g9dTw8MXxjXSkpcmV0dXJuIHRoaXM7aWYoIXAubGVuZ3RoKWJyZWFrOyhlW2grMSYzXXx8ZVtoKzImM118fGVbaCszJjNdKSYmKG49ZSxkPWgpfWZvcig7cC5kYXRhIT09dDspaWYoaT1wLCEocD1wLm5leHQpKXJldHVybiB0aGlzO3JldHVybihyPXAubmV4dCkmJmRlbGV0ZSBwLm5leHQsaT8ocj9pLm5leHQ9cjpkZWxldGUgaS5uZXh0LHRoaXMpOmU/KHI/ZVtoXT1yOmRlbGV0ZSBlW2hdLChwPWVbMF18fGVbMV18fGVbMl18fGVbM10pJiZwPT09KGVbM118fGVbMl18fGVbMV18fGVbMF0pJiYhcC5sZW5ndGgmJihuP25bZF09cDp0aGlzLl9yb290PXApLHRoaXMpOih0aGlzLl9yb290PXIsdGhpcyl9LGxxLnJlbW92ZUFsbD1mdW5jdGlvbiB5cSh0KXtmb3IodmFyIGU9MCxuPXQubGVuZ3RoO2U8bjsrK2UpdGhpcy5yZW1vdmUodFtlXSk7cmV0dXJuIHRoaXN9LGxxLnJvb3Q9ZnVuY3Rpb24gdnEoKXtyZXR1cm4gdGhpcy5fcm9vdH0sbHEuc2l6ZT1mdW5jdGlvbiBicSgpe3ZhciB0PTA7cmV0dXJuIHRoaXMudmlzaXQoKGZ1bmN0aW9uKGUpe2lmKCFlLmxlbmd0aClkb3srK3R9d2hpbGUoZT1lLm5leHQpfSkpLHR9LGxxLnZpc2l0PWZ1bmN0aW9uIHhxKHQpe3ZhciBlLG4saSxyLG8sYSxzPVtdLGw9dGhpcy5fcm9vdDtmb3IobCYmcy5wdXNoKG5ldyBucShsLHRoaXMuX3gwLHRoaXMuX3kwLHRoaXMuX3gxLHRoaXMuX3kxKSk7ZT1zLnBvcCgpOylpZighdChsPWUubm9kZSxpPWUueDAscj1lLnkwLG89ZS54MSxhPWUueTEpJiZsLmxlbmd0aCl7dmFyIGM9KGkrbykvMix1PShyK2EpLzI7KG49bFszXSkmJnMucHVzaChuZXcgbnEobixjLHUsbyxhKSksKG49bFsyXSkmJnMucHVzaChuZXcgbnEobixpLHUsYyxhKSksKG49bFsxXSkmJnMucHVzaChuZXcgbnEobixjLHIsbyx1KSksKG49bFswXSkmJnMucHVzaChuZXcgbnEobixpLHIsYyx1KSl9cmV0dXJuIHRoaXN9LGxxLnZpc2l0QWZ0ZXI9ZnVuY3Rpb24gd3EodCl7dmFyIGUsbj1bXSxpPVtdO2Zvcih0aGlzLl9yb290JiZuLnB1c2gobmV3IG5xKHRoaXMuX3Jvb3QsdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpKTtlPW4ucG9wKCk7KXt2YXIgcj1lLm5vZGU7aWYoci5sZW5ndGgpe3ZhciBvLGE9ZS54MCxzPWUueTAsbD1lLngxLGM9ZS55MSx1PShhK2wpLzIsaD0ocytjKS8yOyhvPXJbMF0pJiZuLnB1c2gobmV3IG5xKG8sYSxzLHUsaCkpLChvPXJbMV0pJiZuLnB1c2gobmV3IG5xKG8sdSxzLGwsaCkpLChvPXJbMl0pJiZuLnB1c2gobmV3IG5xKG8sYSxoLHUsYykpLChvPXJbM10pJiZuLnB1c2gobmV3IG5xKG8sdSxoLGwsYykpfWkucHVzaChlKX1mb3IoO2U9aS5wb3AoKTspdChlLm5vZGUsZS54MCxlLnkwLGUueDEsZS55MSk7cmV0dXJuIHRoaXN9LGxxLng9ZnVuY3Rpb24gU3EodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3g9dCx0aGlzKTp0aGlzLl94fSxscS55PWZ1bmN0aW9uIE1xKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl95PXQsdGhpcyk6dGhpcy5feX07dmFyIEVxPSIkIjtmdW5jdGlvbiBUcSgpe31mdW5jdGlvbiBDcSh0LGUpe3ZhciBuPW5ldyBUcTtpZih0IGluc3RhbmNlb2YgVHEpdC5lYWNoKChmdW5jdGlvbih0LGUpe24uc2V0KGUsdCl9KSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgaSxyPS0xLG89dC5sZW5ndGg7aWYobnVsbD09ZSlmb3IoOysrcjxvOyluLnNldChyLHRbcl0pO2Vsc2UgZm9yKDsrK3I8bzspbi5zZXQoZShpPXRbcl0scix0KSxpKX1lbHNlIGlmKHQpZm9yKHZhciBhIGluIHQpbi5zZXQoYSx0W2FdKTtyZXR1cm4gbn1mdW5jdGlvbiBBcSgpe31UcS5wcm90b3R5cGU9Q3EucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpUcSxoYXM6ZnVuY3Rpb24odCl7cmV0dXJuIEVxK3QgaW4gdGhpc30sZ2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzW0VxK3RdfSxzZXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpc1tFcSt0XT1lLHRoaXN9LHJlbW92ZTpmdW5jdGlvbih0KXt2YXIgZT1FcSt0O3JldHVybiBlIGluIHRoaXMmJmRlbGV0ZSB0aGlzW2VdfSxjbGVhcjpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzKXRbMF09PT1FcSYmZGVsZXRlIHRoaXNbdF19LGtleXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09RXEmJnQucHVzaChlLnNsaWNlKDEpKTtyZXR1cm4gdH0sdmFsdWVzOmZ1bmN0aW9uKCl7dmFyIHQ9W107Zm9yKHZhciBlIGluIHRoaXMpZVswXT09PUVxJiZ0LnB1c2godGhpc1tlXSk7cmV0dXJuIHR9LGVudHJpZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09RXEmJnQucHVzaCh7a2V5OmUuc2xpY2UoMSksdmFsdWU6dGhpc1tlXX0pO3JldHVybiB0fSxzaXplOmZ1bmN0aW9uKCl7dmFyIHQ9MDtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09RXEmJisrdDtyZXR1cm4gdH0sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcylpZih0WzBdPT09RXEpcmV0dXJuITE7cmV0dXJuITB9LGVhY2g6ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHRoaXMpZVswXT09PUVxJiZ0KHRoaXNbZV0sZS5zbGljZSgxKSx0aGlzKX19O3ZhciBrcT1DcS5wcm90b3R5cGU7ZnVuY3Rpb24gTHEodCl7cmV0dXJuIHQuaW5kZXh9ZnVuY3Rpb24gUHEodCxlKXt2YXIgbj10LmdldChlKTtpZighbil0aHJvdyBuZXcgRXJyb3IoIm1pc3Npbmc6ICIrZSk7cmV0dXJuIG59QXEucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpBcSxoYXM6a3EuaGFzLGFkZDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpc1tFcSsodCs9IiIpXT10LHRoaXN9LHJlbW92ZTprcS5yZW1vdmUsY2xlYXI6a3EuY2xlYXIsdmFsdWVzOmtxLmtleXMsc2l6ZTprcS5zaXplLGVtcHR5OmtxLmVtcHR5LGVhY2g6a3EuZWFjaH07dmFyIE5xPXt2YWx1ZTpmdW5jdGlvbigpe319O2Z1bmN0aW9uIElxKCl7Zm9yKHZhciB0LGU9MCxuPWFyZ3VtZW50cy5sZW5ndGgsaT17fTtlPG47KytlKXtpZighKHQ9YXJndW1lbnRzW2VdKyIiKXx8dCBpbiBpfHwvW1xzLl0vLnRlc3QodCkpdGhyb3cgbmV3IEVycm9yKCJpbGxlZ2FsIHR5cGU6ICIrdCk7aVt0XT1bXX1yZXR1cm4gbmV3IFJxKGkpfWZ1bmN0aW9uIFJxKHQpe3RoaXMuXz10fWZ1bmN0aW9uIE9xKHQsZSl7cmV0dXJuIHQudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcCgoZnVuY3Rpb24odCl7dmFyIG49IiIsaT10LmluZGV4T2YoIi4iKTtpZihpPj0wJiYobj10LnNsaWNlKGkrMSksdD10LnNsaWNlKDAsaSkpLHQmJiFlLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO3JldHVybnt0eXBlOnQsbmFtZTpufX0pKX1mdW5jdGlvbiB6cSh0LGUpe2Zvcih2YXIgbixpPTAscj10Lmxlbmd0aDtpPHI7KytpKWlmKChuPXRbaV0pLm5hbWU9PT1lKXJldHVybiBuLnZhbHVlfWZ1bmN0aW9uIERxKHQsZSxuKXtmb3IodmFyIGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYodFtpXS5uYW1lPT09ZSl7dFtpXT1OcSx0PXQuc2xpY2UoMCxpKS5jb25jYXQodC5zbGljZShpKzEpKTticmVha31yZXR1cm4gbnVsbCE9biYmdC5wdXNoKHtuYW1lOmUsdmFsdWU6bn0pLHR9UnEucHJvdG90eXBlPUlxLnByb3RvdHlwZT17Y29uc3RydWN0b3I6UnEsb246ZnVuY3Rpb24odCxlKXt2YXIgbixpPXRoaXMuXyxyPU9xKHQrIiIsaSksbz0tMSxhPXIubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7aWYobnVsbCE9ZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrOiAiK2UpO2Zvcig7KytvPGE7KWlmKG49KHQ9cltvXSkudHlwZSlpW25dPURxKGlbbl0sdC5uYW1lLGUpO2Vsc2UgaWYobnVsbD09ZSlmb3IobiBpbiBpKWlbbl09RHEoaVtuXSx0Lm5hbWUsbnVsbCk7cmV0dXJuIHRoaXN9Zm9yKDsrK288YTspaWYoKG49KHQ9cltvXSkudHlwZSkmJihuPXpxKGlbbl0sdC5uYW1lKSkpcmV0dXJuIG59LGNvcHk6ZnVuY3Rpb24oKXt2YXIgdD17fSxlPXRoaXMuXztmb3IodmFyIG4gaW4gZSl0W25dPWVbbl0uc2xpY2UoKTtyZXR1cm4gbmV3IFJxKHQpfSxjYWxsOmZ1bmN0aW9uKHQsZSl7aWYoKG49YXJndW1lbnRzLmxlbmd0aC0yKT4wKWZvcih2YXIgbixpLHI9bmV3IEFycmF5KG4pLG89MDtvPG47KytvKXJbb109YXJndW1lbnRzW28rMl07aWYoIXRoaXMuXy5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtmb3Iobz0wLG49KGk9dGhpcy5fW3RdKS5sZW5ndGg7bzxuOysrbylpW29dLnZhbHVlLmFwcGx5KGUscil9LGFwcGx5OmZ1bmN0aW9uKHQsZSxuKXtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2Zvcih2YXIgaT10aGlzLl9bdF0scj0wLG89aS5sZW5ndGg7cjxvOysrcilpW3JdLnZhbHVlLmFwcGx5KGUsbil9fTt2YXIgQnEsSHEsRnE9MCxWcT0wLFVxPTAsanE9MCxHcT0wLFdxPTAscXE9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlOkRhdGUsWXE9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdyk6ZnVuY3Rpb24odCl7c2V0VGltZW91dCh0LDE3KX07ZnVuY3Rpb24gWHEoKXtyZXR1cm4gR3F8fChZcSgkcSksR3E9cXEubm93KCkrV3EpfWZ1bmN0aW9uICRxKCl7R3E9MH1mdW5jdGlvbiBLcSgpe3RoaXMuX2NhbGw9dGhpcy5fdGltZT10aGlzLl9uZXh0PW51bGx9ZnVuY3Rpb24gWnEodCxlLG4pe3ZhciBpPW5ldyBLcTtyZXR1cm4gaS5yZXN0YXJ0KHQsZSxuKSxpfWZ1bmN0aW9uIEpxKCl7R3E9KGpxPXFxLm5vdygpKStXcSxGcT1WcT0wO3RyeXshKGZ1bmN0aW9uIHQoKXtYcSgpLCsrRnE7Zm9yKHZhciB0LGU9QnE7ZTspKHQ9R3EtZS5fdGltZSk+PTAmJmUuX2NhbGwuY2FsbChudWxsLHQpLGU9ZS5fbmV4dDstLUZxfSkoKX1maW5hbGx5e0ZxPTAsKGZ1bmN0aW9uIGUoKXt2YXIgdCxlLG49QnEsaT0xLzA7Zm9yKDtuOyluLl9jYWxsPyhpPm4uX3RpbWUmJihpPW4uX3RpbWUpLHQ9bixuPW4uX25leHQpOihlPW4uX25leHQsbi5fbmV4dD1udWxsLG49dD90Ll9uZXh0PWU6QnE9ZSk7SHE9dCx0WShpKX0pKCksR3E9MH19ZnVuY3Rpb24gUXEoKXt2YXIgdD1xcS5ub3coKSxlPXQtanE7ZT4xZTMmJihXcS09ZSxqcT10KX1mdW5jdGlvbiB0WSh0KXtGcXx8KFZxJiYoVnE9Y2xlYXJUaW1lb3V0KFZxKSksdC1HcT4yND8odDwxLzAmJihWcT1zZXRUaW1lb3V0KEpxLHQtcXEubm93KCktV3EpKSxVcSYmKFVxPWNsZWFySW50ZXJ2YWwoVXEpKSk6KFVxfHwoanE9cXEubm93KCksVXE9c2V0SW50ZXJ2YWwoUXEsMWUzKSksRnE9MSxZcShKcSkpKX1mdW5jdGlvbiBlWSh0KXtyZXR1cm4gdC54fWZ1bmN0aW9uIG5ZKHQpe3JldHVybiB0Lnl9S3EucHJvdG90eXBlPVpxLnByb3RvdHlwZT17Y29uc3RydWN0b3I6S3EscmVzdGFydDpmdW5jdGlvbih0LGUsbil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiY2FsbGJhY2sgaXMgbm90IGEgZnVuY3Rpb24iKTtuPShudWxsPT1uP1hxKCk6K24pKyhudWxsPT1lPzA6K2UpLHRoaXMuX25leHR8fEhxPT09dGhpc3x8KEhxP0hxLl9uZXh0PXRoaXM6QnE9dGhpcyxIcT10aGlzKSx0aGlzLl9jYWxsPXQsdGhpcy5fdGltZT1uLHRZKCl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLl9jYWxsJiYodGhpcy5fY2FsbD1udWxsLHRoaXMuX3RpbWU9MS8wLHRZKCkpfX07dmFyIGlZLHJZPU1hdGguUEkqKDMtTWF0aC5zcXJ0KDUpKTtmdW5jdGlvbiBvWSh0LGUpe2lmKChuPSh0PWU/dC50b0V4cG9uZW50aWFsKGUtMSk6dC50b0V4cG9uZW50aWFsKCkpLmluZGV4T2YoImUiKSk8MClyZXR1cm4gbnVsbDt2YXIgbixpPXQuc2xpY2UoMCxuKTtyZXR1cm5baS5sZW5ndGg+MT9pWzBdK2kuc2xpY2UoMik6aSwrdC5zbGljZShuKzEpXX1mdW5jdGlvbiBhWSh0KXtyZXR1cm4odD1vWShNYXRoLmFicyh0KSkpP3RbMV06TmFOfWZ1bmN0aW9uIHNZKHQsZSl7dmFyIG49b1kodCxlKTtpZighbilyZXR1cm4gdCsiIjt2YXIgaT1uWzBdLHI9blsxXTtyZXR1cm4gcjwwPyIwLiIrbmV3IEFycmF5KC1yKS5qb2luKCIwIikraTppLmxlbmd0aD5yKzE/aS5zbGljZSgwLHIrMSkrIi4iK2kuc2xpY2UocisxKTppK25ldyBBcnJheShyLWkubGVuZ3RoKzIpLmpvaW4oIjAiKX12YXIgbFk9eyIiOmZ1bmN0aW9uIGNZKHQsZSl7dDpmb3IodmFyIG4saT0odD10LnRvUHJlY2lzaW9uKGUpKS5sZW5ndGgscj0xLG89LTE7cjxpOysrcilzd2l0Y2godFtyXSl7Y2FzZSIuIjpvPW49cjticmVhaztjYXNlIjAiOjA9PT1vJiYobz1yKSxuPXI7YnJlYWs7Y2FzZSJlIjpicmVhayB0O2RlZmF1bHQ6bz4wJiYobz0wKX1yZXR1cm4gbz4wP3Quc2xpY2UoMCxvKSt0LnNsaWNlKG4rMSk6dH0sIiUiOmZ1bmN0aW9uKHQsZSl7cmV0dXJuKDEwMCp0KS50b0ZpeGVkKGUpfSxiOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDIpfSxjOmZ1bmN0aW9uKHQpe3JldHVybiB0KyIifSxkOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDEwKX0sZTpmdW5jdGlvbih0LGUpe3JldHVybiB0LnRvRXhwb25lbnRpYWwoZSl9LGY6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC50b0ZpeGVkKGUpfSxnOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudG9QcmVjaXNpb24oZSl9LG86ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoOCl9LHA6ZnVuY3Rpb24odCxlKXtyZXR1cm4gc1koMTAwKnQsZSl9LHI6c1ksczpmdW5jdGlvbiB1WSh0LGUpe3ZhciBuPW9ZKHQsZSk7aWYoIW4pcmV0dXJuIHQrIiI7dmFyIGk9blswXSxyPW5bMV0sbz1yLShpWT0zKk1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihyLzMpKSkpKzEsYT1pLmxlbmd0aDtyZXR1cm4gbz09PWE/aTpvPmE/aStuZXcgQXJyYXkoby1hKzEpLmpvaW4oIjAiKTpvPjA/aS5zbGljZSgwLG8pKyIuIitpLnNsaWNlKG8pOiIwLiIrbmV3IEFycmF5KDEtbykuam9pbigiMCIpK29ZKHQsTWF0aC5tYXgoMCxlK28tMSkpWzBdfSxYOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfSx4OmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDE2KX19LGhZPS9eKD86KC4pPyhbPD49Xl0pKT8oWytcLVwoIF0pPyhbJCNdKT8oMCk/KFxkKyk/KCwpPyhcLlxkKyk/KFthLXolXSk/JC9pO2Z1bmN0aW9uIGRZKHQpe3JldHVybiBuZXcgcFkodCl9ZnVuY3Rpb24gcFkodCl7aWYoIShlPWhZLmV4ZWModCkpKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBmb3JtYXQ6ICIrdCk7dmFyIGUsbj1lWzFdfHwiICIsaT1lWzJdfHwiPiIscj1lWzNdfHwiLSIsbz1lWzRdfHwiIixhPSEhZVs1XSxzPWVbNl0mJitlWzZdLGw9ISFlWzddLGM9ZVs4XSYmK2VbOF0uc2xpY2UoMSksdT1lWzldfHwiIjsibiI9PT11PyhsPSEwLHU9ImciKTpsWVt1XXx8KHU9IiIpLChhfHwiMCI9PT1uJiYiPSI9PT1pKSYmKGE9ITAsbj0iMCIsaT0iPSIpLHRoaXMuZmlsbD1uLHRoaXMuYWxpZ249aSx0aGlzLnNpZ249cix0aGlzLnN5bWJvbD1vLHRoaXMuemVybz1hLHRoaXMud2lkdGg9cyx0aGlzLmNvbW1hPWwsdGhpcy5wcmVjaXNpb249Yyx0aGlzLnR5cGU9dX1mdW5jdGlvbiBmWSh0KXtyZXR1cm4gdH1kWS5wcm90b3R5cGU9cFkucHJvdG90eXBlLHBZLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbGwrdGhpcy5hbGlnbit0aGlzLnNpZ24rdGhpcy5zeW1ib2wrKHRoaXMuemVybz8iMCI6IiIpKyhudWxsPT10aGlzLndpZHRoPyIiOk1hdGgubWF4KDEsMHx0aGlzLndpZHRoKSkrKHRoaXMuY29tbWE/IiwiOiIiKSsobnVsbD09dGhpcy5wcmVjaXNpb24/IiI6Ii4iK01hdGgubWF4KDAsMHx0aGlzLnByZWNpc2lvbikpK3RoaXMudHlwZX07dmFyIG1ZLGdZLF9ZLHlZPVsieSIsInoiLCJhIiwiZiIsInAiLCJuIiwiwrUiLCJtIiwiIiwiayIsIk0iLCJHIiwiVCIsIlAiLCJFIiwiWiIsIlkiXTtmdW5jdGlvbiB2WSh0KXt2YXIgZT10Lmdyb3VwaW5nJiZ0LnRob3VzYW5kcz8oZnVuY3Rpb24gbih0LGUpe3JldHVybiBmdW5jdGlvbihuLGkpe2Zvcih2YXIgcj1uLmxlbmd0aCxvPVtdLGE9MCxzPXRbMF0sbD0wO3I+MCYmcz4wJiYobCtzKzE+aSYmKHM9TWF0aC5tYXgoMSxpLWwpKSxvLnB1c2gobi5zdWJzdHJpbmcoci09cyxyK3MpKSwhKChsKz1zKzEpPmkpKTspcz10W2E9KGErMSkldC5sZW5ndGhdO3JldHVybiBvLnJldmVyc2UoKS5qb2luKGUpfX0pKHQuZ3JvdXBpbmcsdC50aG91c2FuZHMpOmZZLGk9dC5jdXJyZW5jeSxyPXQuZGVjaW1hbCxvPXQubnVtZXJhbHM/KGZ1bmN0aW9uIGEodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoL1swLTldL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0WytlXX0pKX19KSh0Lm51bWVyYWxzKTpmWSxzPXQucGVyY2VudHx8IiUiO2Z1bmN0aW9uIGwodCl7dmFyIG49KHQ9ZFkodCkpLmZpbGwsYT10LmFsaWduLGw9dC5zaWduLGM9dC5zeW1ib2wsdT10Lnplcm8saD10LndpZHRoLGQ9dC5jb21tYSxwPXQucHJlY2lzaW9uLGY9dC50eXBlLG09IiQiPT09Yz9pWzBdOiIjIj09PWMmJi9bYm94WF0vLnRlc3QoZik/IjAiK2YudG9Mb3dlckNhc2UoKToiIixnPSIkIj09PWM/aVsxXTovWyVwXS8udGVzdChmKT9zOiIiLF89bFlbZl0seT0hZnx8L1tkZWZncHJzJV0vLnRlc3QoZik7ZnVuY3Rpb24gdih0KXt2YXIgaSxzLGMsdj1tLGI9ZztpZigiYyI9PT1mKWI9Xyh0KStiLHQ9IiI7ZWxzZXt2YXIgeD0odD0rdCk8MDtpZih0PV8oTWF0aC5hYnModCkscCkseCYmMD09K3QmJih4PSExKSx2PSh4PyIoIj09PWw/bDoiLSI6Ii0iPT09bHx8IigiPT09bD8iIjpsKSt2LGI9KCJzIj09PWY/eVlbOCtpWS8zXToiIikrYisoeCYmIigiPT09bD8iKSI6IiIpLHkpZm9yKGk9LTEscz10Lmxlbmd0aDsrK2k8czspaWYoNDg+KGM9dC5jaGFyQ29kZUF0KGkpKXx8Yz41Nyl7Yj0oNDY9PT1jP3IrdC5zbGljZShpKzEpOnQuc2xpY2UoaSkpK2IsdD10LnNsaWNlKDAsaSk7YnJlYWt9fWQmJiF1JiYodD1lKHQsMS8wKSk7dmFyIHc9di5sZW5ndGgrdC5sZW5ndGgrYi5sZW5ndGgsUz13PGg/bmV3IEFycmF5KGgtdysxKS5qb2luKG4pOiIiO3N3aXRjaChkJiZ1JiYodD1lKFMrdCxTLmxlbmd0aD9oLWIubGVuZ3RoOjEvMCksUz0iIiksYSl7Y2FzZSI8Ijp0PXYrdCtiK1M7YnJlYWs7Y2FzZSI9Ijp0PXYrUyt0K2I7YnJlYWs7Y2FzZSJeIjp0PVMuc2xpY2UoMCx3PVMubGVuZ3RoPj4xKSt2K3QrYitTLnNsaWNlKHcpO2JyZWFrO2RlZmF1bHQ6dD1TK3YrdCtifXJldHVybiBvKHQpfXJldHVybiBwPW51bGw9PXA/Zj82OjEyOi9bZ3Byc10vLnRlc3QoZik/TWF0aC5tYXgoMSxNYXRoLm1pbigyMSxwKSk6TWF0aC5tYXgoMCxNYXRoLm1pbigyMCxwKSksdi50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0KyIifSx2fXJldHVybntmb3JtYXQ6bCxmb3JtYXRQcmVmaXg6ZnVuY3Rpb24gYyh0LGUpe3ZhciBuPWwoKCh0PWRZKHQpKS50eXBlPSJmIix0KSksaT0zKk1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihhWShlKS8zKSkpLHI9TWF0aC5wb3coMTAsLWkpLG89eVlbOCtpLzNdO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbihyKnQpK299fX19ZnVuY3Rpb24gYlkodCl7cmV0dXJuIG1ZPXZZKHQpLGdZPW1ZLmZvcm1hdCxfWT1tWS5mb3JtYXRQcmVmaXgsbVl9ZnVuY3Rpb24geFkoKXtyZXR1cm4gbmV3IHdZfWZ1bmN0aW9uIHdZKCl7dGhpcy5yZXNldCgpfWJZKHtkZWNpbWFsOiIuIix0aG91c2FuZHM6IiwiLGdyb3VwaW5nOlszXSxjdXJyZW5jeTpbIiQiLCIiXX0pLHdZLnByb3RvdHlwZT17Y29uc3RydWN0b3I6d1kscmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLnM9dGhpcy50PTB9LGFkZDpmdW5jdGlvbih0KXtNWShTWSx0LHRoaXMudCksTVkodGhpcyxTWS5zLHRoaXMucyksdGhpcy5zP3RoaXMudCs9U1kudDp0aGlzLnM9U1kudH0sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN9fTt2YXIgU1k9bmV3IHdZO2Z1bmN0aW9uIE1ZKHQsZSxuKXt2YXIgaT10LnM9ZStuLHI9aS1lO3QudD1lLShpLXIpKyhuLXIpfXZhciBFWT0xZS02LFRZPU1hdGguUEksQ1k9VFkvMixBWT1UWS80LGtZPTIqVFksTFk9MTgwL1RZLFBZPVRZLzE4MCxOWT1NYXRoLmFicyxJWT1NYXRoLmF0YW4sUlk9TWF0aC5hdGFuMixPWT1NYXRoLmNvcyx6WT1NYXRoLmNlaWwsRFk9TWF0aC5leHAsQlk9TWF0aC5sb2csSFk9TWF0aC5wb3csRlk9TWF0aC5zaW4sVlk9TWF0aC5zaWdufHxmdW5jdGlvbih0KXtyZXR1cm4gdD4wPzE6dDwwPy0xOjB9LFVZPU1hdGguc3FydCxqWT1NYXRoLnRhbjtmdW5jdGlvbiBHWSh0KXtyZXR1cm4gdD4xPzA6dDwtMT9UWTpNYXRoLmFjb3ModCl9ZnVuY3Rpb24gV1kodCl7cmV0dXJuIHQ+MT9DWTp0PC0xPy1DWTpNYXRoLmFzaW4odCl9ZnVuY3Rpb24gcVkodCl7cmV0dXJuKHQ9RlkodC8yKSkqdH1mdW5jdGlvbiBZWSgpe31mdW5jdGlvbiBYWSh0LGUpe3QmJktZLmhhc093blByb3BlcnR5KHQudHlwZSkmJktZW3QudHlwZV0odCxlKX12YXIgJFk9e0ZlYXR1cmU6ZnVuY3Rpb24odCxlKXtYWSh0Lmdlb21ldHJ5LGUpfSxGZWF0dXJlQ29sbGVjdGlvbjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10LmZlYXR1cmVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspWFkobltpXS5nZW9tZXRyeSxlKX19LEtZPXtTcGhlcmU6ZnVuY3Rpb24odCxlKXtlLnNwaGVyZSgpfSxQb2ludDpmdW5jdGlvbih0LGUpe2UucG9pbnQoKHQ9dC5jb29yZGluYXRlcylbMF0sdFsxXSx0WzJdKX0sTXVsdGlQb2ludDpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10LmNvb3JkaW5hdGVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspZS5wb2ludCgodD1uW2ldKVswXSx0WzFdLHRbMl0pfSxMaW5lU3RyaW5nOmZ1bmN0aW9uKHQsZSl7WlkodC5jb29yZGluYXRlcyxlLDApfSxNdWx0aUxpbmVTdHJpbmc6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC5jb29yZGluYXRlcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KVpZKG5baV0sZSwwKX0sUG9seWdvbjpmdW5jdGlvbih0LGUpe0pZKHQuY29vcmRpbmF0ZXMsZSl9LE11bHRpUG9seWdvbjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10LmNvb3JkaW5hdGVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspSlkobltpXSxlKX0sR2VvbWV0cnlDb2xsZWN0aW9uOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuZ2VvbWV0cmllcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KVhZKG5baV0sZSl9fTtmdW5jdGlvbiBaWSh0LGUsbil7dmFyIGkscj0tMSxvPXQubGVuZ3RoLW47Zm9yKGUubGluZVN0YXJ0KCk7KytyPG87KWUucG9pbnQoKGk9dFtyXSlbMF0saVsxXSxpWzJdKTtlLmxpbmVFbmQoKX1mdW5jdGlvbiBKWSh0LGUpe3ZhciBuPS0xLGk9dC5sZW5ndGg7Zm9yKGUucG9seWdvblN0YXJ0KCk7KytuPGk7KVpZKHRbbl0sZSwxKTtlLnBvbHlnb25FbmQoKX1mdW5jdGlvbiBRWSh0LGUpe3QmJiRZLmhhc093blByb3BlcnR5KHQudHlwZSk/JFlbdC50eXBlXSh0LGUpOlhZKHQsZSl9dmFyIHRYLGVYLG5YLGlYLHJYLG9YPXhZKCksYVg9eFkoKSxzWD17cG9pbnQ6WVksbGluZVN0YXJ0OllZLGxpbmVFbmQ6WVkscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7b1gucmVzZXQoKSxzWC5saW5lU3RhcnQ9bFgsc1gubGluZUVuZD1jWH0scG9seWdvbkVuZDpmdW5jdGlvbigpe3ZhciB0PStvWDthWC5hZGQodDwwP2tZK3Q6dCksdGhpcy5saW5lU3RhcnQ9dGhpcy5saW5lRW5kPXRoaXMucG9pbnQ9WVl9LHNwaGVyZTpmdW5jdGlvbigpe2FYLmFkZChrWSl9fTtmdW5jdGlvbiBsWCgpe3NYLnBvaW50PXVYfWZ1bmN0aW9uIGNYKCl7aFgodFgsZVgpfWZ1bmN0aW9uIHVYKHQsZSl7c1gucG9pbnQ9aFgsdFg9dCxlWD1lLG5YPXQqPVBZLGlYPU9ZKGU9KGUqPVBZKS8yK0FZKSxyWD1GWShlKX1mdW5jdGlvbiBoWCh0LGUpe3ZhciBuPSh0Kj1QWSktblgsaT1uPj0wPzE6LTEscj1pKm4sbz1PWShlPShlKj1QWSkvMitBWSksYT1GWShlKSxzPXJYKmEsbD1pWCpvK3MqT1kociksYz1zKmkqRlkocik7b1guYWRkKFJZKGMsbCkpLG5YPXQsaVg9byxyWD1hfWZ1bmN0aW9uIGRYKHQpe3JldHVybltSWSh0WzFdLHRbMF0pLFdZKHRbMl0pXX1mdW5jdGlvbiBwWCh0KXt2YXIgZT10WzBdLG49dFsxXSxpPU9ZKG4pO3JldHVybltpKk9ZKGUpLGkqRlkoZSksRlkobildfWZ1bmN0aW9uIGZYKHQsZSl7cmV0dXJuIHRbMF0qZVswXSt0WzFdKmVbMV0rdFsyXSplWzJdfWZ1bmN0aW9uIG1YKHQsZSl7cmV0dXJuW3RbMV0qZVsyXS10WzJdKmVbMV0sdFsyXSplWzBdLXRbMF0qZVsyXSx0WzBdKmVbMV0tdFsxXSplWzBdXX1mdW5jdGlvbiBnWCh0LGUpe3RbMF0rPWVbMF0sdFsxXSs9ZVsxXSx0WzJdKz1lWzJdfWZ1bmN0aW9uIF9YKHQsZSl7cmV0dXJuW3RbMF0qZSx0WzFdKmUsdFsyXSplXX1mdW5jdGlvbiB5WCh0KXt2YXIgZT1VWSh0WzBdKnRbMF0rdFsxXSp0WzFdK3RbMl0qdFsyXSk7dFswXS89ZSx0WzFdLz1lLHRbMl0vPWV9dmFyIHZYLGJYLHhYLHdYLFNYLE1YLEVYLFRYLENYLEFYLGtYLExYLFBYLE5YLElYLFJYLE9YLHpYLERYLEJYLEhYLEZYLFZYLFVYLGpYLEdYLFdYPXhZKCkscVg9e3BvaW50OllYLGxpbmVTdGFydDokWCxsaW5lRW5kOktYLHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3FYLnBvaW50PVpYLHFYLmxpbmVTdGFydD1KWCxxWC5saW5lRW5kPVFYLFdYLnJlc2V0KCksc1gucG9seWdvblN0YXJ0KCl9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtzWC5wb2x5Z29uRW5kKCkscVgucG9pbnQ9WVgscVgubGluZVN0YXJ0PSRYLHFYLmxpbmVFbmQ9S1gsb1g8MD8odlg9LSh4WD0xODApLGJYPS0od1g9OTApKTpXWD5FWT93WD05MDpXWDwtMWUtNiYmKGJYPS05MCksQVhbMF09dlgsQVhbMV09eFh9fTtmdW5jdGlvbiBZWCh0LGUpe0NYLnB1c2goQVg9W3ZYPXQseFg9dF0pLGU8YlgmJihiWD1lKSxlPndYJiYod1g9ZSl9ZnVuY3Rpb24gWFgodCxlKXt2YXIgbj1wWChbdCpQWSxlKlBZXSk7aWYoVFgpe3ZhciBpPW1YKFRYLG4pLHI9bVgoW2lbMV0sLWlbMF0sMF0saSk7eVgocikscj1kWChyKTt2YXIgbyxhPXQtU1gscz1hPjA/MTotMSxsPXJbMF0qTFkqcyxjPU5ZKGEpPjE4MDtjXihzKlNYPGwmJmw8cyp0KT8obz1yWzFdKkxZKT53WCYmKHdYPW8pOmNeKHMqU1g8KGw9KGwrMzYwKSUzNjAtMTgwKSYmbDxzKnQpPyhvPS1yWzFdKkxZKTxiWCYmKGJYPW8pOihlPGJYJiYoYlg9ZSksZT53WCYmKHdYPWUpKSxjP3Q8U1g/dCQodlgsdCk+dCQodlgseFgpJiYoeFg9dCk6dCQodCx4WCk+dCQodlgseFgpJiYodlg9dCk6eFg+PXZYPyh0PHZYJiYodlg9dCksdD54WCYmKHhYPXQpKTp0PlNYP3QkKHZYLHQpPnQkKHZYLHhYKSYmKHhYPXQpOnQkKHQseFgpPnQkKHZYLHhYKSYmKHZYPXQpfWVsc2UgQ1gucHVzaChBWD1bdlg9dCx4WD10XSk7ZTxiWCYmKGJYPWUpLGU+d1gmJih3WD1lKSxUWD1uLFNYPXR9ZnVuY3Rpb24gJFgoKXtxWC5wb2ludD1YWH1mdW5jdGlvbiBLWCgpe0FYWzBdPXZYLEFYWzFdPXhYLHFYLnBvaW50PVlYLFRYPW51bGx9ZnVuY3Rpb24gWlgodCxlKXtpZihUWCl7dmFyIG49dC1TWDtXWC5hZGQoTlkobik+MTgwP24rKG4+MD8zNjA6LTM2MCk6bil9ZWxzZSBNWD10LEVYPWU7c1gucG9pbnQodCxlKSxYWCh0LGUpfWZ1bmN0aW9uIEpYKCl7c1gubGluZVN0YXJ0KCl9ZnVuY3Rpb24gUVgoKXtaWChNWCxFWCksc1gubGluZUVuZCgpLE5ZKFdYKT5FWSYmKHZYPS0oeFg9MTgwKSksQVhbMF09dlgsQVhbMV09eFgsVFg9bnVsbH1mdW5jdGlvbiB0JCh0LGUpe3JldHVybihlLT10KTwwP2UrMzYwOmV9ZnVuY3Rpb24gZSQodCxlKXtyZXR1cm4gdFswXS1lWzBdfWZ1bmN0aW9uIG4kKHQsZSl7cmV0dXJuIHRbMF08PXRbMV0/dFswXTw9ZSYmZTw9dFsxXTplPHRbMF18fHRbMV08ZX12YXIgaSQ9e3NwaGVyZTpZWSxwb2ludDpyJCxsaW5lU3RhcnQ6YSQsbGluZUVuZDpjJCxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtpJC5saW5lU3RhcnQ9dSQsaSQubGluZUVuZD1oJH0scG9seWdvbkVuZDpmdW5jdGlvbigpe2kkLmxpbmVTdGFydD1hJCxpJC5saW5lRW5kPWMkfX07ZnVuY3Rpb24gciQodCxlKXt0Kj1QWTt2YXIgbj1PWShlKj1QWSk7byQobipPWSh0KSxuKkZZKHQpLEZZKGUpKX1mdW5jdGlvbiBvJCh0LGUsbil7KytrWCxQWCs9KHQtUFgpL2tYLE5YKz0oZS1OWCkva1gsSVgrPShuLUlYKS9rWH1mdW5jdGlvbiBhJCgpe2kkLnBvaW50PXMkfWZ1bmN0aW9uIHMkKHQsZSl7dCo9UFk7dmFyIG49T1koZSo9UFkpO1VYPW4qT1kodCksalg9bipGWSh0KSxHWD1GWShlKSxpJC5wb2ludD1sJCxvJChVWCxqWCxHWCl9ZnVuY3Rpb24gbCQodCxlKXt0Kj1QWTt2YXIgbj1PWShlKj1QWSksaT1uKk9ZKHQpLHI9bipGWSh0KSxvPUZZKGUpLGE9UlkoVVkoKGE9algqby1HWCpyKSphKyhhPUdYKmktVVgqbykqYSsoYT1VWCpyLWpYKmkpKmEpLFVYKmkralgqcitHWCpvKTtMWCs9YSxSWCs9YSooVVgrKFVYPWkpKSxPWCs9YSooalgrKGpYPXIpKSx6WCs9YSooR1grKEdYPW8pKSxvJChVWCxqWCxHWCl9ZnVuY3Rpb24gYyQoKXtpJC5wb2ludD1yJH1mdW5jdGlvbiB1JCgpe2kkLnBvaW50PWQkfWZ1bmN0aW9uIGgkKCl7cCQoRlgsVlgpLGkkLnBvaW50PXIkfWZ1bmN0aW9uIGQkKHQsZSl7Rlg9dCxWWD1lLHQqPVBZLGUqPVBZLGkkLnBvaW50PXAkO3ZhciBuPU9ZKGUpO1VYPW4qT1kodCksalg9bipGWSh0KSxHWD1GWShlKSxvJChVWCxqWCxHWCl9ZnVuY3Rpb24gcCQodCxlKXt0Kj1QWTt2YXIgbj1PWShlKj1QWSksaT1uKk9ZKHQpLHI9bipGWSh0KSxvPUZZKGUpLGE9algqby1HWCpyLHM9R1gqaS1VWCpvLGw9VVgqci1qWCppLGM9VVkoYSphK3MqcytsKmwpLHU9V1koYyksaD1jJiYtdS9jO0RYKz1oKmEsQlgrPWgqcyxIWCs9aCpsLExYKz11LFJYKz11KihVWCsoVVg9aSkpLE9YKz11KihqWCsoalg9cikpLHpYKz11KihHWCsoR1g9bykpLG8kKFVYLGpYLEdYKX1mdW5jdGlvbiBmJCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gbSQodCxlKXtmdW5jdGlvbiBuKG4saSl7cmV0dXJuIG49dChuLGkpLGUoblswXSxuWzFdKX1yZXR1cm4gdC5pbnZlcnQmJmUuaW52ZXJ0JiYobi5pbnZlcnQ9ZnVuY3Rpb24obixpKXtyZXR1cm4obj1lLmludmVydChuLGkpKSYmdC5pbnZlcnQoblswXSxuWzFdKX0pLG59ZnVuY3Rpb24gZyQodCxlKXtyZXR1cm5bdD5UWT90LWtZOnQ8LVRZP3Qra1k6dCxlXX1mdW5jdGlvbiBfJCh0LGUsbil7cmV0dXJuKHQlPWtZKT9lfHxuP20kKHYkKHQpLGIkKGUsbikpOnYkKHQpOmV8fG4/YiQoZSxuKTpnJH1mdW5jdGlvbiB5JCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm5bKGUrPXQpPlRZP2Uta1k6ZTwtVFk/ZStrWTplLG5dfX1mdW5jdGlvbiB2JCh0KXt2YXIgZT15JCh0KTtyZXR1cm4gZS5pbnZlcnQ9eSQoLXQpLGV9ZnVuY3Rpb24gYiQodCxlKXt2YXIgbj1PWSh0KSxpPUZZKHQpLHI9T1koZSksbz1GWShlKTtmdW5jdGlvbiBhKHQsZSl7dmFyIGE9T1koZSkscz1PWSh0KSphLGw9RlkodCkqYSxjPUZZKGUpLHU9YypuK3MqaTtyZXR1cm5bUlkobCpyLXUqbyxzKm4tYyppKSxXWSh1KnIrbCpvKV19cmV0dXJuIGEuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIGE9T1koZSkscz1PWSh0KSphLGw9RlkodCkqYSxjPUZZKGUpLHU9YypyLWwqbztyZXR1cm5bUlkobCpyK2MqbyxzKm4rdSppKSxXWSh1Km4tcyppKV19LGF9ZnVuY3Rpb24geCQodCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4oZT10KGVbMF0qUFksZVsxXSpQWSkpWzBdKj1MWSxlWzFdKj1MWSxlfXJldHVybiB0PV8kKHRbMF0qUFksdFsxXSpQWSx0Lmxlbmd0aD4yP3RbMl0qUFk6MCksZS5pbnZlcnQ9ZnVuY3Rpb24oZSl7cmV0dXJuKGU9dC5pbnZlcnQoZVswXSpQWSxlWzFdKlBZKSlbMF0qPUxZLGVbMV0qPUxZLGV9LGV9ZnVuY3Rpb24gdyQodCxlLG4saSxyLG8pe2lmKG4pe3ZhciBhPU9ZKGUpLHM9RlkoZSksbD1pKm47bnVsbD09cj8ocj1lK2kqa1ksbz1lLWwvMik6KHI9UyQoYSxyKSxvPVMkKGEsbyksKGk+MD9yPG86cj5vKSYmKHIrPWkqa1kpKTtmb3IodmFyIGMsdT1yO2k+MD91Pm86dTxvO3UtPWwpYz1kWChbYSwtcypPWSh1KSwtcypGWSh1KV0pLHQucG9pbnQoY1swXSxjWzFdKX19ZnVuY3Rpb24gUyQodCxlKXsoZT1wWChlKSlbMF0tPXQseVgoZSk7dmFyIG49R1koLWVbMV0pO3JldHVybigoLWVbMl08MD8tbjpuKStrWS1FWSkla1l9ZnVuY3Rpb24gTSQoKXt2YXIgdCxlPVtdO3JldHVybntwb2ludDpmdW5jdGlvbihlLG4pe3QucHVzaChbZSxuXSl9LGxpbmVTdGFydDpmdW5jdGlvbigpe2UucHVzaCh0PVtdKX0sbGluZUVuZDpZWSxyZWpvaW46ZnVuY3Rpb24oKXtlLmxlbmd0aD4xJiZlLnB1c2goZS5wb3AoKS5jb25jYXQoZS5zaGlmdCgpKSl9LHJlc3VsdDpmdW5jdGlvbigpe3ZhciBuPWU7cmV0dXJuIGU9W10sdD1udWxsLG59fX1mdW5jdGlvbiBFJCh0LGUpe3JldHVybiBOWSh0WzBdLWVbMF0pPEVZJiZOWSh0WzFdLWVbMV0pPEVZfWZ1bmN0aW9uIFQkKHQsZSxuLGkpe3RoaXMueD10LHRoaXMuej1lLHRoaXMubz1uLHRoaXMuZT1pLHRoaXMudj0hMSx0aGlzLm49dGhpcy5wPW51bGx9ZnVuY3Rpb24gQyQodCxlLG4saSxyKXt2YXIgbyxhLHM9W10sbD1bXTtpZih0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKCEoKGU9dC5sZW5ndGgtMSk8PTApKXt2YXIgZSxuLGk9dFswXSxhPXRbZV07aWYoRSQoaSxhKSl7Zm9yKHIubGluZVN0YXJ0KCksbz0wO288ZTsrK28pci5wb2ludCgoaT10W29dKVswXSxpWzFdKTtyLmxpbmVFbmQoKX1lbHNlIHMucHVzaChuPW5ldyBUJChpLHQsbnVsbCwhMCkpLGwucHVzaChuLm89bmV3IFQkKGksbnVsbCxuLCExKSkscy5wdXNoKG49bmV3IFQkKGEsdCxudWxsLCExKSksbC5wdXNoKG4ubz1uZXcgVCQoYSxudWxsLG4sITApKX19KSkscy5sZW5ndGgpe2ZvcihsLnNvcnQoZSksQSQocyksQSQobCksbz0wLGE9bC5sZW5ndGg7bzxhOysrbylsW29dLmU9bj0hbjtmb3IodmFyIGMsdSxoPXNbMF07Oyl7Zm9yKHZhciBkPWgscD0hMDtkLnY7KWlmKChkPWQubik9PT1oKXJldHVybjtjPWQueixyLmxpbmVTdGFydCgpO2Rve2lmKGQudj1kLm8udj0hMCxkLmUpe2lmKHApZm9yKG89MCxhPWMubGVuZ3RoO288YTsrK28pci5wb2ludCgodT1jW29dKVswXSx1WzFdKTtlbHNlIGkoZC54LGQubi54LDEscik7ZD1kLm59ZWxzZXtpZihwKWZvcihvPShjPWQucC56KS5sZW5ndGgtMTtvPj0wOy0tbylyLnBvaW50KCh1PWNbb10pWzBdLHVbMV0pO2Vsc2UgaShkLngsZC5wLngsLTEscik7ZD1kLnB9Yz0oZD1kLm8pLnoscD0hcH13aGlsZSghZC52KTtyLmxpbmVFbmQoKX19fWZ1bmN0aW9uIEEkKHQpe2lmKGU9dC5sZW5ndGgpe2Zvcih2YXIgZSxuLGk9MCxyPXRbMF07KytpPGU7KXIubj1uPXRbaV0sbi5wPXIscj1uO3Iubj1uPXRbMF0sbi5wPXJ9fWckLmludmVydD1nJDt2YXIgayQ9eFkoKTtmdW5jdGlvbiBMJCh0LGUpe3ZhciBuPWVbMF0saT1lWzFdLHI9W0ZZKG4pLC1PWShuKSwwXSxvPTAsYT0wO2skLnJlc2V0KCk7Zm9yKHZhciBzPTAsbD10Lmxlbmd0aDtzPGw7KytzKWlmKHU9KGM9dFtzXSkubGVuZ3RoKWZvcih2YXIgYyx1LGg9Y1t1LTFdLGQ9aFswXSxwPWhbMV0vMitBWSxmPUZZKHApLG09T1kocCksZz0wO2c8dTsrK2csZD15LGY9YixtPXgsaD1fKXt2YXIgXz1jW2ddLHk9X1swXSx2PV9bMV0vMitBWSxiPUZZKHYpLHg9T1kodiksdz15LWQsUz13Pj0wPzE6LTEsTT1TKncsRT1NPlRZLFQ9ZipiO2lmKGskLmFkZChSWShUKlMqRlkoTSksbSp4K1QqT1koTSkpKSxvKz1FP3crUyprWTp3LEVeZD49bl55Pj1uKXt2YXIgQz1tWChwWChoKSxwWChfKSk7eVgoQyk7dmFyIEE9bVgocixDKTt5WChBKTt2YXIgaz0oRV53Pj0wPy0xOjEpKldZKEFbMl0pOyhpPmt8fGk9PT1rJiYoQ1swXXx8Q1sxXSkpJiYoYSs9RV53Pj0wPzE6LTEpfX1yZXR1cm4obzwtMWUtNnx8bzxFWSYmayQ8LTFlLTYpXjEmYX1mdW5jdGlvbiBQJCh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBOJCh0LGUsbil7dD0rdCxlPStlLG49KHI9YXJndW1lbnRzLmxlbmd0aCk8Mj8oZT10LHQ9MCwxKTpyPDM/MTorbjtmb3IodmFyIGk9LTEscj0wfE1hdGgubWF4KDAsTWF0aC5jZWlsKChlLXQpL24pKSxvPW5ldyBBcnJheShyKTsrK2k8cjspb1tpXT10K2kqbjtyZXR1cm4gb31mdW5jdGlvbiBJJCh0KXtmb3IodmFyIGUsbixpLHI9dC5sZW5ndGgsbz0tMSxhPTA7KytvPHI7KWErPXRbb10ubGVuZ3RoO2ZvcihuPW5ldyBBcnJheShhKTstLXI+PTA7KWZvcihlPShpPXRbcl0pLmxlbmd0aDstLWU+PTA7KW5bLS1hXT1pW2VdO3JldHVybiBufWZ1bmN0aW9uIFIkKHQsZSxuLGkpe3JldHVybiBmdW5jdGlvbihyKXt2YXIgbyxhLHMsbD1lKHIpLGM9TSQoKSx1PWUoYyksaD0hMSxkPXtwb2ludDpwLGxpbmVTdGFydDptLGxpbmVFbmQ6Zyxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtkLnBvaW50PV8sZC5saW5lU3RhcnQ9eSxkLmxpbmVFbmQ9dixhPVtdLG89W119LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtkLnBvaW50PXAsZC5saW5lU3RhcnQ9bSxkLmxpbmVFbmQ9ZyxhPUkkKGEpO3ZhciB0PUwkKG8saSk7YS5sZW5ndGg/KGh8fChyLnBvbHlnb25TdGFydCgpLGg9ITApLEMkKGEseiQsdCxuLHIpKTp0JiYoaHx8KHIucG9seWdvblN0YXJ0KCksaD0hMCksci5saW5lU3RhcnQoKSxuKG51bGwsbnVsbCwxLHIpLHIubGluZUVuZCgpKSxoJiYoci5wb2x5Z29uRW5kKCksaD0hMSksYT1vPW51bGx9LHNwaGVyZTpmdW5jdGlvbigpe3IucG9seWdvblN0YXJ0KCksci5saW5lU3RhcnQoKSxuKG51bGwsbnVsbCwxLHIpLHIubGluZUVuZCgpLHIucG9seWdvbkVuZCgpfX07ZnVuY3Rpb24gcChlLG4pe3QoZSxuKSYmci5wb2ludChlLG4pfWZ1bmN0aW9uIGYodCxlKXtsLnBvaW50KHQsZSl9ZnVuY3Rpb24gbSgpe2QucG9pbnQ9ZixsLmxpbmVTdGFydCgpfWZ1bmN0aW9uIGcoKXtkLnBvaW50PXAsbC5saW5lRW5kKCl9ZnVuY3Rpb24gXyh0LGUpe3MucHVzaChbdCxlXSksdS5wb2ludCh0LGUpfWZ1bmN0aW9uIHkoKXt1LmxpbmVTdGFydCgpLHM9W119ZnVuY3Rpb24gdigpe18oc1swXVswXSxzWzBdWzFdKSx1LmxpbmVFbmQoKTt2YXIgdCxlLG4saSxsPXUuY2xlYW4oKSxkPWMucmVzdWx0KCkscD1kLmxlbmd0aDtpZihzLnBvcCgpLG8ucHVzaChzKSxzPW51bGwscClpZigxJmwpe2lmKChlPShuPWRbMF0pLmxlbmd0aC0xKT4wKXtmb3IoaHx8KHIucG9seWdvblN0YXJ0KCksaD0hMCksci5saW5lU3RhcnQoKSx0PTA7dDxlOysrdClyLnBvaW50KChpPW5bdF0pWzBdLGlbMV0pO3IubGluZUVuZCgpfX1lbHNlIHA+MSYmMiZsJiZkLnB1c2goZC5wb3AoKS5jb25jYXQoZC5zaGlmdCgpKSksYS5wdXNoKGQuZmlsdGVyKE8kKSl9cmV0dXJuIGR9fWZ1bmN0aW9uIE8kKHQpe3JldHVybiB0Lmxlbmd0aD4xfWZ1bmN0aW9uIHokKHQsZSl7cmV0dXJuKCh0PXQueClbMF08MD90WzFdLUNZLUVZOkNZLXRbMV0pLSgoZT1lLngpWzBdPDA/ZVsxXS1DWS1FWTpDWS1lWzFdKX0hKGZ1bmN0aW9uIEQkKHQpe3JldHVybiAxPT09dC5sZW5ndGgmJih0PShmdW5jdGlvbiBlKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiBQJCh0KGUpLG4pfX0pKHQpKSx7bGVmdDpmdW5jdGlvbihlLG4saSxyKXtmb3IobnVsbD09aSYmKGk9MCksbnVsbD09ciYmKHI9ZS5sZW5ndGgpO2k8cjspe3ZhciBvPWkrcj4+PjE7dChlW29dLG4pPDA/aT1vKzE6cj1vfXJldHVybiBpfSxyaWdodDpmdW5jdGlvbihlLG4saSxyKXtmb3IobnVsbD09aSYmKGk9MCksbnVsbD09ciYmKHI9ZS5sZW5ndGgpO2k8cjspe3ZhciBvPWkrcj4+PjE7dChlW29dLG4pPjA/cj1vOmk9bysxfXJldHVybiBpfX19KShQJCk7dmFyIEIkPVIkKChmdW5jdGlvbigpe3JldHVybiEwfSksKGZ1bmN0aW9uIEgkKHQpe3ZhciBlLG49TmFOLGk9TmFOLHI9TmFOO3JldHVybntsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0LmxpbmVTdGFydCgpLGU9MX0scG9pbnQ6ZnVuY3Rpb24obyxhKXt2YXIgcz1vPjA/VFk6LVRZLGw9Tlkoby1uKTtOWShsLVRZKTxFWT8odC5wb2ludChuLGk9KGkrYSkvMj4wP0NZOi1DWSksdC5wb2ludChyLGkpLHQubGluZUVuZCgpLHQubGluZVN0YXJ0KCksdC5wb2ludChzLGkpLHQucG9pbnQobyxpKSxlPTApOnIhPT1zJiZsPj1UWSYmKE5ZKG4tcik8RVkmJihuLT1yKkVZKSxOWShvLXMpPEVZJiYoby09cypFWSksaT0oZnVuY3Rpb24gYyh0LGUsbixpKXt2YXIgcixvLGE9RlkodC1uKTtyZXR1cm4gTlkoYSk+RVk/SVkoKEZZKGUpKihvPU9ZKGkpKSpGWShuKS1GWShpKSoocj1PWShlKSkqRlkodCkpLyhyKm8qYSkpOihlK2kpLzJ9KShuLGksbyxhKSx0LnBvaW50KHIsaSksdC5saW5lRW5kKCksdC5saW5lU3RhcnQoKSx0LnBvaW50KHMsaSksZT0wKSx0LnBvaW50KG49byxpPWEpLHI9c30sbGluZUVuZDpmdW5jdGlvbigpe3QubGluZUVuZCgpLG49aT1OYU59LGNsZWFuOmZ1bmN0aW9uKCl7cmV0dXJuIDItZX19fSksKGZ1bmN0aW9uIEYkKHQsZSxuLGkpe3ZhciByO2lmKG51bGw9PXQpaS5wb2ludCgtVFkscj1uKkNZKSxpLnBvaW50KDAsciksaS5wb2ludChUWSxyKSxpLnBvaW50KFRZLDApLGkucG9pbnQoVFksLXIpLGkucG9pbnQoMCwtciksaS5wb2ludCgtVFksLXIpLGkucG9pbnQoLVRZLDApLGkucG9pbnQoLVRZLHIpO2Vsc2UgaWYoTlkodFswXS1lWzBdKT5FWSl7dmFyIG89dFswXTxlWzBdP1RZOi1UWTtpLnBvaW50KC1vLHI9bipvLzIpLGkucG9pbnQoMCxyKSxpLnBvaW50KG8scil9ZWxzZSBpLnBvaW50KGVbMF0sZVsxXSl9KSxbLVRZLC1DWV0pO2Z1bmN0aW9uIFYkKHQpe3ZhciBlPU9ZKHQpLG49NipQWSxpPWU+MCxyPU5ZKGUpPkVZO2Z1bmN0aW9uIG8odCxuKXtyZXR1cm4gT1kodCkqT1kobik+ZX1mdW5jdGlvbiBhKHQsbixpKXt2YXIgcj1bMSwwLDBdLG89bVgocFgodCkscFgobikpLGE9ZlgobyxvKSxzPW9bMF0sbD1hLXMqcztpZighbClyZXR1cm4haSYmdDt2YXIgYz1lKmEvbCx1PS1lKnMvbCxoPW1YKHIsbyksZD1fWChyLGMpO2dYKGQsX1gobyx1KSk7dmFyIHA9aCxmPWZYKGQscCksbT1mWChwLHApLGc9ZipmLW0qKGZYKGQsZCktMSk7aWYoIShnPDApKXt2YXIgXz1VWShnKSx5PV9YKHAsKC1mLV8pL20pO2lmKGdYKHksZCkseT1kWCh5KSwhaSlyZXR1cm4geTt2YXIgdixiPXRbMF0seD1uWzBdLHc9dFsxXSxTPW5bMV07eDxiJiYodj1iLGI9eCx4PXYpO3ZhciBNPXgtYixFPU5ZKE0tVFkpPEVZO2lmKCFFJiZTPHcmJih2PXcsdz1TLFM9diksRXx8TTxFWT9FP3crUz4wXnlbMV08KE5ZKHlbMF0tYik8RVk/dzpTKTp3PD15WzFdJiZ5WzFdPD1TOk0+VFleKGI8PXlbMF0mJnlbMF08PXgpKXt2YXIgVD1fWChwLCgtZitfKS9tKTtyZXR1cm4gZ1goVCxkKSxbeSxkWChUKV19fX1mdW5jdGlvbiBzKGUsbil7dmFyIHI9aT90OlRZLXQsbz0wO3JldHVybiBlPC1yP298PTE6ZT5yJiYob3w9Miksbjwtcj9vfD00Om4+ciYmKG98PTgpLG99cmV0dXJuIFIkKG8sKGZ1bmN0aW9uIGwodCl7dmFyIGUsbixsLGMsdTtyZXR1cm57bGluZVN0YXJ0OmZ1bmN0aW9uKCl7Yz1sPSExLHU9MX0scG9pbnQ6ZnVuY3Rpb24oaCxkKXt2YXIgcCxmPVtoLGRdLG09byhoLGQpLGc9aT9tPzA6cyhoLGQpOm0/cyhoKyhoPDA/VFk6LVRZKSxkKTowO2lmKCFlJiYoYz1sPW0pJiZ0LmxpbmVTdGFydCgpLG0hPT1sJiYoIShwPWEoZSxmKSl8fEUkKGUscCl8fEUkKGYscCkpJiYoZlswXSs9RVksZlsxXSs9RVksbT1vKGZbMF0sZlsxXSkpLG0hPT1sKXU9MCxtPyh0LmxpbmVTdGFydCgpLHA9YShmLGUpLHQucG9pbnQocFswXSxwWzFdKSk6KHA9YShlLGYpLHQucG9pbnQocFswXSxwWzFdKSx0LmxpbmVFbmQoKSksZT1wO2Vsc2UgaWYociYmZSYmaV5tKXt2YXIgXztnJm58fCEoXz1hKGYsZSwhMCkpfHwodT0wLGk/KHQubGluZVN0YXJ0KCksdC5wb2ludChfWzBdWzBdLF9bMF1bMV0pLHQucG9pbnQoX1sxXVswXSxfWzFdWzFdKSx0LmxpbmVFbmQoKSk6KHQucG9pbnQoX1sxXVswXSxfWzFdWzFdKSx0LmxpbmVFbmQoKSx0LmxpbmVTdGFydCgpLHQucG9pbnQoX1swXVswXSxfWzBdWzFdKSkpfSFtfHxlJiZFJChlLGYpfHx0LnBvaW50KGZbMF0sZlsxXSksZT1mLGw9bSxuPWd9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtsJiZ0LmxpbmVFbmQoKSxlPW51bGx9LGNsZWFuOmZ1bmN0aW9uKCl7cmV0dXJuIHV8KGMmJmwpPDwxfX19KSwoZnVuY3Rpb24gYyhlLGkscixvKXt3JChvLHQsbixyLGUsaSl9KSxpP1swLC10XTpbLVRZLHQtVFldKX12YXIgVSQ9MWU5LGokPS1VJDtmdW5jdGlvbiBHJCh0LGUsbixpKXtmdW5jdGlvbiByKHIsbyl7cmV0dXJuIHQ8PXImJnI8PW4mJmU8PW8mJm88PWl9ZnVuY3Rpb24gbyhyLG8scyxjKXt2YXIgdT0wLGg9MDtpZihudWxsPT1yfHwodT1hKHIscykpIT09KGg9YShvLHMpKXx8bChyLG8pPDBecz4wKWRve2MucG9pbnQoMD09PXV8fDM9PT11P3Q6bix1PjE/aTplKX13aGlsZSgodT0odStzKzQpJTQpIT09aCk7ZWxzZSBjLnBvaW50KG9bMF0sb1sxXSl9ZnVuY3Rpb24gYShpLHIpe3JldHVybiBOWShpWzBdLXQpPEVZP3I+MD8wOjM6TlkoaVswXS1uKTxFWT9yPjA/MjoxOk5ZKGlbMV0tZSk8RVk/cj4wPzE6MDpyPjA/MzoyfWZ1bmN0aW9uIHModCxlKXtyZXR1cm4gbCh0LngsZS54KX1mdW5jdGlvbiBsKHQsZSl7dmFyIG49YSh0LDEpLGk9YShlLDEpO3JldHVybiBuIT09aT9uLWk6MD09PW4/ZVsxXS10WzFdOjE9PT1uP3RbMF0tZVswXToyPT09bj90WzFdLWVbMV06ZVswXS10WzBdfXJldHVybiBmdW5jdGlvbihhKXt2YXIgbCxjLHUsaCxkLHAsZixtLGcsXyx5LHY9YSxiPU0kKCkseD17cG9pbnQ6VCxsaW5lU3RhcnQ6ZnVuY3Rpb24gdygpe3gucG9pbnQ9QyxjJiZjLnB1c2godT1bXSk7Xz0hMCxnPSExLGY9bT1OYU59LGxpbmVFbmQ6ZnVuY3Rpb24gUygpe2wmJihDKGgsZCkscCYmZyYmYi5yZWpvaW4oKSxsLnB1c2goYi5yZXN1bHQoKSkpO3gucG9pbnQ9VCxnJiZ2LmxpbmVFbmQoKX0scG9seWdvblN0YXJ0OmZ1bmN0aW9uIE0oKXt2PWIsbD1bXSxjPVtdLHk9ITB9LHBvbHlnb25FbmQ6ZnVuY3Rpb24gRSgpe3ZhciBlPShmdW5jdGlvbiBuKCl7Zm9yKHZhciBlPTAsbj0wLHI9Yy5sZW5ndGg7bjxyOysrbilmb3IodmFyIG8sYSxzPWNbbl0sbD0xLHU9cy5sZW5ndGgsaD1zWzBdLGQ9aFswXSxwPWhbMV07bDx1OysrbClvPWQsYT1wLGQ9KGg9c1tsXSlbMF0scD1oWzFdLGE8PWk/cD5pJiYoZC1vKSooaS1hKT4ocC1hKSoodC1vKSYmKytlOnA8PWkmJihkLW8pKihpLWEpPChwLWEpKih0LW8pJiYtLWU7cmV0dXJuIGV9KSgpLHI9eSYmZSxoPShsPUkkKGwpKS5sZW5ndGg7KHJ8fGgpJiYoYS5wb2x5Z29uU3RhcnQoKSxyJiYoYS5saW5lU3RhcnQoKSxvKG51bGwsbnVsbCwxLGEpLGEubGluZUVuZCgpKSxoJiZDJChsLHMsZSxvLGEpLGEucG9seWdvbkVuZCgpKTt2PWEsbD1jPXU9bnVsbH19O2Z1bmN0aW9uIFQodCxlKXtyKHQsZSkmJnYucG9pbnQodCxlKX1mdW5jdGlvbiBDKG8sYSl7dmFyIHM9cihvLGEpO2lmKGMmJnUucHVzaChbbyxhXSksXyloPW8sZD1hLHA9cyxfPSExLHMmJih2LmxpbmVTdGFydCgpLHYucG9pbnQobyxhKSk7ZWxzZSBpZihzJiZnKXYucG9pbnQobyxhKTtlbHNle3ZhciBsPVtmPU1hdGgubWF4KGokLE1hdGgubWluKFUkLGYpKSxtPU1hdGgubWF4KGokLE1hdGgubWluKFUkLG0pKV0sYj1bbz1NYXRoLm1heChqJCxNYXRoLm1pbihVJCxvKSksYT1NYXRoLm1heChqJCxNYXRoLm1pbihVJCxhKSldOyEoZnVuY3Rpb24geCh0LGUsbixpLHIsbyl7dmFyIGEscz10WzBdLGw9dFsxXSxjPTAsdT0xLGg9ZVswXS1zLGQ9ZVsxXS1sO2lmKGE9bi1zLGh8fCEoYT4wKSl7aWYoYS89aCxoPDApe2lmKGE8YylyZXR1cm47YTx1JiYodT1hKX1lbHNlIGlmKGg+MCl7aWYoYT51KXJldHVybjthPmMmJihjPWEpfWlmKGE9ci1zLGh8fCEoYTwwKSl7aWYoYS89aCxoPDApe2lmKGE+dSlyZXR1cm47YT5jJiYoYz1hKX1lbHNlIGlmKGg+MCl7aWYoYTxjKXJldHVybjthPHUmJih1PWEpfWlmKGE9aS1sLGR8fCEoYT4wKSl7aWYoYS89ZCxkPDApe2lmKGE8YylyZXR1cm47YTx1JiYodT1hKX1lbHNlIGlmKGQ+MCl7aWYoYT51KXJldHVybjthPmMmJihjPWEpfWlmKGE9by1sLGR8fCEoYTwwKSl7aWYoYS89ZCxkPDApe2lmKGE+dSlyZXR1cm47YT5jJiYoYz1hKX1lbHNlIGlmKGQ+MCl7aWYoYTxjKXJldHVybjthPHUmJih1PWEpfXJldHVybiBjPjAmJih0WzBdPXMrYypoLHRbMV09bCtjKmQpLHU8MSYmKGVbMF09cyt1KmgsZVsxXT1sK3UqZCksITB9fX19fSkobCxiLHQsZSxuLGkpP3MmJih2LmxpbmVTdGFydCgpLHYucG9pbnQobyxhKSx5PSExKTooZ3x8KHYubGluZVN0YXJ0KCksdi5wb2ludChsWzBdLGxbMV0pKSx2LnBvaW50KGJbMF0sYlsxXSksc3x8di5saW5lRW5kKCkseT0hMSl9Zj1vLG09YSxnPXN9cmV0dXJuIHh9fXZhciBXJCxxJCxZJCxYJD14WSgpLCQkPXtzcGhlcmU6WVkscG9pbnQ6WVksbGluZVN0YXJ0OmZ1bmN0aW9uIEskKCl7JCQucG9pbnQ9SiQsJCQubGluZUVuZD1aJH0sbGluZUVuZDpZWSxwb2x5Z29uU3RhcnQ6WVkscG9seWdvbkVuZDpZWX07ZnVuY3Rpb24gWiQoKXskJC5wb2ludD0kJC5saW5lRW5kPVlZfWZ1bmN0aW9uIEokKHQsZSl7VyQ9dCo9UFkscSQ9RlkoZSo9UFkpLFkkPU9ZKGUpLCQkLnBvaW50PVEkfWZ1bmN0aW9uIFEkKHQsZSl7dCo9UFk7dmFyIG49RlkoZSo9UFkpLGk9T1koZSkscj1OWSh0LVckKSxvPU9ZKHIpLGE9aSpGWShyKSxzPVkkKm4tcSQqaSpvLGw9cSQqbitZJCppKm87WCQuYWRkKFJZKFVZKGEqYStzKnMpLGwpKSxXJD10LHEkPW4sWSQ9aX1mdW5jdGlvbiB0Syh0KXtyZXR1cm4gWCQucmVzZXQoKSxRWSh0LCQkKSwrWCR9dmFyIGVLPVtudWxsLG51bGxdLG5LPXt0eXBlOiJMaW5lU3RyaW5nIixjb29yZGluYXRlczplS307ZnVuY3Rpb24gaUsodCxlKXtyZXR1cm4gZUtbMF09dCxlS1sxXT1lLHRLKG5LKX12YXIgcks9e0ZlYXR1cmU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gYUsodC5nZW9tZXRyeSxlKX0sRmVhdHVyZUNvbGxlY3Rpb246ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC5mZWF0dXJlcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KWlmKGFLKG5baV0uZ2VvbWV0cnksZSkpcmV0dXJuITA7cmV0dXJuITF9fSxvSz17U3BoZXJlOmZ1bmN0aW9uKCl7cmV0dXJuITB9LFBvaW50OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHNLKHQuY29vcmRpbmF0ZXMsZSl9LE11bHRpUG9pbnQ6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC5jb29yZGluYXRlcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KWlmKHNLKG5baV0sZSkpcmV0dXJuITA7cmV0dXJuITF9LExpbmVTdHJpbmc6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbEsodC5jb29yZGluYXRlcyxlKX0sTXVsdGlMaW5lU3RyaW5nOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuY29vcmRpbmF0ZXMsaT0tMSxyPW4ubGVuZ3RoOysraTxyOylpZihsSyhuW2ldLGUpKXJldHVybiEwO3JldHVybiExfSxQb2x5Z29uOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNLKHQuY29vcmRpbmF0ZXMsZSl9LE11bHRpUG9seWdvbjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10LmNvb3JkaW5hdGVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspaWYoY0sobltpXSxlKSlyZXR1cm4hMDtyZXR1cm4hMX0sR2VvbWV0cnlDb2xsZWN0aW9uOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuZ2VvbWV0cmllcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KWlmKGFLKG5baV0sZSkpcmV0dXJuITA7cmV0dXJuITF9fTtmdW5jdGlvbiBhSyh0LGUpe3JldHVybiEoIXR8fCFvSy5oYXNPd25Qcm9wZXJ0eSh0LnR5cGUpKSYmb0tbdC50eXBlXSh0LGUpfWZ1bmN0aW9uIHNLKHQsZSl7cmV0dXJuIDA9PT1pSyh0LGUpfWZ1bmN0aW9uIGxLKHQsZSl7dmFyIG49aUsodFswXSx0WzFdKTtyZXR1cm4gaUsodFswXSxlKStpSyhlLHRbMV0pPD1uK0VZfWZ1bmN0aW9uIGNLKHQsZSl7cmV0dXJuISFMJCh0Lm1hcCh1SyksaEsoZSkpfWZ1bmN0aW9uIHVLKHQpe3JldHVybih0PXQubWFwKGhLKSkucG9wKCksdH1mdW5jdGlvbiBoSyh0KXtyZXR1cm5bdFswXSpQWSx0WzFdKlBZXX1mdW5jdGlvbiBkSyh0LGUsbil7dmFyIGk9TiQodCxlLUVZLG4pLmNvbmNhdChlKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGkubWFwKChmdW5jdGlvbihlKXtyZXR1cm5bdCxlXX0pKX19ZnVuY3Rpb24gcEsodCxlLG4pe3ZhciBpPU4kKHQsZS1FWSxuKS5jb25jYXQoZSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuW2UsdF19KSl9fWZ1bmN0aW9uIGZLKCl7dmFyIHQsZSxuLGkscixvLGEscyxsLGMsdSxoLGQ9MTAscD1kLGY9OTAsbT0zNjAsZz0yLjU7ZnVuY3Rpb24gXygpe3JldHVybnt0eXBlOiJNdWx0aUxpbmVTdHJpbmciLGNvb3JkaW5hdGVzOnkoKX19ZnVuY3Rpb24geSgpe3JldHVybiBOJCh6WShpL2YpKmYsbixmKS5tYXAodSkuY29uY2F0KE4kKHpZKHMvbSkqbSxhLG0pLm1hcChoKSkuY29uY2F0KE4kKHpZKGUvZCkqZCx0LGQpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIE5ZKHQlZik+RVl9KSkubWFwKGwpKS5jb25jYXQoTiQoelkoby9wKSpwLHIscCkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gTlkodCVtKT5FWX0pKS5tYXAoYykpfXJldHVybiBfLmxpbmVzPWZ1bmN0aW9uKCl7cmV0dXJuIHkoKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybnt0eXBlOiJMaW5lU3RyaW5nIixjb29yZGluYXRlczp0fX0pKX0sXy5vdXRsaW5lPWZ1bmN0aW9uKCl7cmV0dXJue3R5cGU6IlBvbHlnb24iLGNvb3JkaW5hdGVzOlt1KGkpLmNvbmNhdChoKGEpLnNsaWNlKDEpLHUobikucmV2ZXJzZSgpLnNsaWNlKDEpLGgocykucmV2ZXJzZSgpLnNsaWNlKDEpKV19fSxfLmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9fLmV4dGVudE1ham9yKHQpLmV4dGVudE1pbm9yKHQpOl8uZXh0ZW50TWlub3IoKX0sXy5leHRlbnRNYWpvcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0rdFswXVsxXSxhPSt0WzFdWzFdLChpPSt0WzBdWzBdKT4obj0rdFsxXVswXSkmJih0PWksaT1uLG49dCkscz5hJiYodD1zLHM9YSxhPXQpLF8ucHJlY2lzaW9uKGcpKTpbW2ksc10sW24sYV1dfSxfLmV4dGVudE1pbm9yPWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPStuWzBdWzFdLHI9K25bMV1bMV0sKGU9K25bMF1bMF0pPih0PStuWzFdWzBdKSYmKG49ZSxlPXQsdD1uKSxvPnImJihuPW8sbz1yLHI9biksXy5wcmVjaXNpb24oZykpOltbZSxvXSxbdCxyXV19LF8uc3RlcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9fLnN0ZXBNYWpvcih0KS5zdGVwTWlub3IodCk6Xy5zdGVwTWlub3IoKX0sXy5zdGVwTWFqb3I9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9K3RbMF0sbT0rdFsxXSxfKTpbZixtXX0sXy5zdGVwTWlub3I9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGQ9K3RbMF0scD0rdFsxXSxfKTpbZCxwXX0sXy5wcmVjaXNpb249ZnVuY3Rpb24oZCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGc9K2QsbD1kSyhvLHIsOTApLGM9cEsoZSx0LGcpLHU9ZEsocyxhLDkwKSxoPXBLKGksbixnKSxfKTpnfSxfLmV4dGVudE1ham9yKFtbLTE4MCwtODkuOTk5OTk5XSxbMTgwLDg5Ljk5OTk5OV1dKS5leHRlbnRNaW5vcihbWy0xODAsLTgwLjAwMDAwMV0sWzE4MCw4MC4wMDAwMDFdXSl9ZnVuY3Rpb24gbUsodCl7cmV0dXJuIHR9dmFyIGdLLF9LLHlLLHZLLGJLPXhZKCkseEs9eFkoKSx3Sz17cG9pbnQ6WVksbGluZVN0YXJ0OllZLGxpbmVFbmQ6WVkscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7d0subGluZVN0YXJ0PVNLLHdLLmxpbmVFbmQ9VEt9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXt3Sy5saW5lU3RhcnQ9d0subGluZUVuZD13Sy5wb2ludD1ZWSxiSy5hZGQoTlkoeEspKSx4Sy5yZXNldCgpfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgdD1iSy8yO3JldHVybiBiSy5yZXNldCgpLHR9fTtmdW5jdGlvbiBTSygpe3dLLnBvaW50PU1LfWZ1bmN0aW9uIE1LKHQsZSl7d0sucG9pbnQ9RUssZ0s9eUs9dCxfSz12Sz1lfWZ1bmN0aW9uIEVLKHQsZSl7eEsuYWRkKHZLKnQteUsqZSkseUs9dCx2Sz1lfWZ1bmN0aW9uIFRLKCl7RUsoZ0ssX0spfXZhciBDSz0xLzAsQUs9Q0ssa0s9LUNLLExLPWtLLFBLPXtwb2ludDpmdW5jdGlvbiBOSyh0LGUpe3Q8Q0smJihDSz10KTt0PmtLJiYoa0s9dCk7ZTxBSyYmKEFLPWUpO2U+TEsmJihMSz1lKX0sbGluZVN0YXJ0OllZLGxpbmVFbmQ6WVkscG9seWdvblN0YXJ0OllZLHBvbHlnb25FbmQ6WVkscmVzdWx0OmZ1bmN0aW9uKCl7dmFyIHQ9W1tDSyxBS10sW2tLLExLXV07cmV0dXJuIGtLPUxLPS0oQUs9Q0s9MS8wKSx0fX07dmFyIElLLFJLLE9LLHpLLERLPTAsQks9MCxISz0wLEZLPTAsVks9MCxVSz0wLGpLPTAsR0s9MCxXSz0wLHFLPXtwb2ludDpZSyxsaW5lU3RhcnQ6WEssbGluZUVuZDpaSyxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtxSy5saW5lU3RhcnQ9SksscUsubGluZUVuZD1RS30scG9seWdvbkVuZDpmdW5jdGlvbigpe3FLLnBvaW50PVlLLHFLLmxpbmVTdGFydD1YSyxxSy5saW5lRW5kPVpLfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgdD1XSz9baksvV0ssR0svV0tdOlVLP1tGSy9VSyxWSy9VS106SEs/W0RLL0hLLEJLL0hLXTpbTmFOLE5hTl07cmV0dXJuIERLPUJLPUhLPUZLPVZLPVVLPWpLPUdLPVdLPTAsdH19O2Z1bmN0aW9uIFlLKHQsZSl7REsrPXQsQksrPWUsKytIS31mdW5jdGlvbiBYSygpe3FLLnBvaW50PSRLfWZ1bmN0aW9uICRLKHQsZSl7cUsucG9pbnQ9S0ssWUsoT0s9dCx6Sz1lKX1mdW5jdGlvbiBLSyh0LGUpe3ZhciBuPXQtT0ssaT1lLXpLLHI9VVkobipuK2kqaSk7RksrPXIqKE9LK3QpLzIsVksrPXIqKHpLK2UpLzIsVUsrPXIsWUsoT0s9dCx6Sz1lKX1mdW5jdGlvbiBaSygpe3FLLnBvaW50PVlLfWZ1bmN0aW9uIEpLKCl7cUsucG9pbnQ9dFp9ZnVuY3Rpb24gUUsoKXtlWihJSyxSSyl9ZnVuY3Rpb24gdFoodCxlKXtxSy5wb2ludD1lWixZSyhJSz1PSz10LFJLPXpLPWUpfWZ1bmN0aW9uIGVaKHQsZSl7dmFyIG49dC1PSyxpPWUteksscj1VWShuKm4raSppKTtGSys9ciooT0srdCkvMixWSys9ciooeksrZSkvMixVSys9cixqSys9KHI9eksqdC1PSyplKSooT0srdCksR0srPXIqKHpLK2UpLFdLKz0zKnIsWUsoT0s9dCx6Sz1lKX1mdW5jdGlvbiBuWih0KXt0aGlzLl9jb250ZXh0PXR9bloucHJvdG90eXBlPXtfcmFkaXVzOjQuNSxwb2ludFJhZGl1czpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmFkaXVzPXQsdGhpc30scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXswPT09dGhpcy5fbGluZSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9wb2ludD1OYU59LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKSx0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5fY29udGV4dC5tb3ZlVG8odCt0aGlzLl9yYWRpdXMsZSksdGhpcy5fY29udGV4dC5hcmModCxlLHRoaXMuX3JhZGl1cywwLGtZKX19LHJlc3VsdDpZWX07dmFyIGlaLHJaLG9aLGFaLHNaLGxaPXhZKCksY1o9e3BvaW50OllZLGxpbmVTdGFydDpmdW5jdGlvbigpe2NaLnBvaW50PXVafSxsaW5lRW5kOmZ1bmN0aW9uKCl7aVomJmhaKHJaLG9aKSxjWi5wb2ludD1ZWX0scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7aVo9ITB9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtpWj1udWxsfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgdD0rbFo7cmV0dXJuIGxaLnJlc2V0KCksdH19O2Z1bmN0aW9uIHVaKHQsZSl7Y1oucG9pbnQ9aFosclo9YVo9dCxvWj1zWj1lfWZ1bmN0aW9uIGhaKHQsZSl7bFouYWRkKFVZKChhWi09dCkqYVorKHNaLT1lKSpzWikpLGFaPXQsc1o9ZX1mdW5jdGlvbiBkWigpe3RoaXMuX3N0cmluZz1bXX1mdW5jdGlvbiBwWih0KXtyZXR1cm4ibTAsIit0KyJhIit0KyIsIit0KyIgMCAxLDEgMCwiKy0yKnQrImEiK3QrIiwiK3QrIiAwIDEsMSAwLCIrMip0KyJ6In1mdW5jdGlvbiBmWih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49bmV3IG1aO2Zvcih2YXIgaSBpbiB0KW5baV09dFtpXTtyZXR1cm4gbi5zdHJlYW09ZSxufX1mdW5jdGlvbiBtWigpe31mdW5jdGlvbiBnWih0LGUsbil7dmFyIGk9dC5jbGlwRXh0ZW50JiZ0LmNsaXBFeHRlbnQoKTtyZXR1cm4gdC5zY2FsZSgxNTApLnRyYW5zbGF0ZShbMCwwXSksbnVsbCE9aSYmdC5jbGlwRXh0ZW50KG51bGwpLFFZKG4sdC5zdHJlYW0oUEspKSxlKFBLLnJlc3VsdCgpKSxudWxsIT1pJiZ0LmNsaXBFeHRlbnQoaSksdH1mdW5jdGlvbiBfWih0LGUsbil7cmV0dXJuIGdaKHQsKGZ1bmN0aW9uKG4pe3ZhciBpPWVbMV1bMF0tZVswXVswXSxyPWVbMV1bMV0tZVswXVsxXSxvPU1hdGgubWluKGkvKG5bMV1bMF0tblswXVswXSksci8oblsxXVsxXS1uWzBdWzFdKSksYT0rZVswXVswXSsoaS1vKihuWzFdWzBdK25bMF1bMF0pKS8yLHM9K2VbMF1bMV0rKHItbyooblsxXVsxXStuWzBdWzFdKSkvMjt0LnNjYWxlKDE1MCpvKS50cmFuc2xhdGUoW2Esc10pfSksbil9ZnVuY3Rpb24geVoodCxlLG4pe3JldHVybiBfWih0LFtbMCwwXSxlXSxuKX1mdW5jdGlvbiB2Wih0LGUsbil7cmV0dXJuIGdaKHQsKGZ1bmN0aW9uKG4pe3ZhciBpPStlLHI9aS8oblsxXVswXS1uWzBdWzBdKSxvPShpLXIqKG5bMV1bMF0rblswXVswXSkpLzIsYT0tcipuWzBdWzFdO3Quc2NhbGUoMTUwKnIpLnRyYW5zbGF0ZShbbyxhXSl9KSxuKX1mdW5jdGlvbiBiWih0LGUsbil7cmV0dXJuIGdaKHQsKGZ1bmN0aW9uKG4pe3ZhciBpPStlLHI9aS8oblsxXVsxXS1uWzBdWzFdKSxvPS1yKm5bMF1bMF0sYT0oaS1yKihuWzFdWzFdK25bMF1bMV0pKS8yO3Quc2NhbGUoMTUwKnIpLnRyYW5zbGF0ZShbbyxhXSl9KSxuKX1kWi5wcm90b3R5cGU9e19yYWRpdXM6NC41LF9jaXJjbGU6cFooNC41KSxwb2ludFJhZGl1czpmdW5jdGlvbih0KXtyZXR1cm4odD0rdCkhPT10aGlzLl9yYWRpdXMmJih0aGlzLl9yYWRpdXM9dCx0aGlzLl9jaXJjbGU9bnVsbCksdGhpc30scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXswPT09dGhpcy5fbGluZSYmdGhpcy5fc3RyaW5nLnB1c2goIloiKSx0aGlzLl9wb2ludD1OYU59LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fc3RyaW5nLnB1c2goIk0iLHQsIiwiLGUpLHRoaXMuX3BvaW50PTE7YnJlYWs7Y2FzZSAxOnRoaXMuX3N0cmluZy5wdXNoKCJMIix0LCIsIixlKTticmVhaztkZWZhdWx0Om51bGw9PXRoaXMuX2NpcmNsZSYmKHRoaXMuX2NpcmNsZT1wWih0aGlzLl9yYWRpdXMpKSx0aGlzLl9zdHJpbmcucHVzaCgiTSIsdCwiLCIsZSx0aGlzLl9jaXJjbGUpfX0scmVzdWx0OmZ1bmN0aW9uKCl7aWYodGhpcy5fc3RyaW5nLmxlbmd0aCl7dmFyIHQ9dGhpcy5fc3RyaW5nLmpvaW4oIiIpO3JldHVybiB0aGlzLl9zdHJpbmc9W10sdH1yZXR1cm4gbnVsbH19LG1aLnByb3RvdHlwZT17Y29uc3RydWN0b3I6bVoscG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLnN0cmVhbS5wb2ludCh0LGUpfSxzcGhlcmU6ZnVuY3Rpb24oKXt0aGlzLnN0cmVhbS5zcGhlcmUoKX0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0ubGluZVN0YXJ0KCl9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt0aGlzLnN0cmVhbS5saW5lRW5kKCl9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3RoaXMuc3RyZWFtLnBvbHlnb25TdGFydCgpfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0ucG9seWdvbkVuZCgpfX07dmFyIHhaPU9ZKDMwKlBZKTtmdW5jdGlvbiB3Wih0LGUpe3JldHVybitlPyhmdW5jdGlvbiBuKHQsZSl7ZnVuY3Rpb24gbihpLHIsbyxhLHMsbCxjLHUsaCxkLHAsZixtLGcpe3ZhciBfPWMtaSx5PXUtcix2PV8qXyt5Knk7aWYodj40KmUmJm0tLSl7dmFyIGI9YStkLHg9cytwLHc9bCtmLFM9VVkoYipiK3gqeCt3KncpLE09V1kody89UyksRT1OWShOWSh3KS0xKTxFWXx8Tlkoby1oKTxFWT8obytoKS8yOlJZKHgsYiksVD10KEUsTSksQz1UWzBdLEE9VFsxXSxrPUMtaSxMPUEtcixQPXkqay1fKkw7KFAqUC92PmV8fE5ZKChfKmsreSpMKS92LS41KT4uM3x8YSpkK3MqcCtsKmY8eFopJiYobihpLHIsbyxhLHMsbCxDLEEsRSxiLz1TLHgvPVMsdyxtLGcpLGcucG9pbnQoQyxBKSxuKEMsQSxFLGIseCx3LGMsdSxoLGQscCxmLG0sZykpfX1yZXR1cm4gZnVuY3Rpb24oZSl7dmFyIGkscixvLGEscyxsLGMsdSxoLGQscCxmLG09e3BvaW50OmcsbGluZVN0YXJ0Ol8sbGluZUVuZDp2LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2UucG9seWdvblN0YXJ0KCksbS5saW5lU3RhcnQ9Yn0scG9seWdvbkVuZDpmdW5jdGlvbigpe2UucG9seWdvbkVuZCgpLG0ubGluZVN0YXJ0PV99fTtmdW5jdGlvbiBnKG4saSl7bj10KG4saSksZS5wb2ludChuWzBdLG5bMV0pfWZ1bmN0aW9uIF8oKXt1PU5hTixtLnBvaW50PXksZS5saW5lU3RhcnQoKX1mdW5jdGlvbiB5KGkscil7dmFyIG89cFgoW2kscl0pLGE9dChpLHIpO24odSxoLGMsZCxwLGYsdT1hWzBdLGg9YVsxXSxjPWksZD1vWzBdLHA9b1sxXSxmPW9bMl0sMTYsZSksZS5wb2ludCh1LGgpfWZ1bmN0aW9uIHYoKXttLnBvaW50PWcsZS5saW5lRW5kKCl9ZnVuY3Rpb24gYigpe18oKSxtLnBvaW50PXgsbS5saW5lRW5kPXd9ZnVuY3Rpb24geCh0LGUpe3koaT10LGUpLHI9dSxvPWgsYT1kLHM9cCxsPWYsbS5wb2ludD15fWZ1bmN0aW9uIHcoKXtuKHUsaCxjLGQscCxmLHIsbyxpLGEscyxsLDE2LGUpLG0ubGluZUVuZD12LHYoKX1yZXR1cm4gbX19KSh0LGUpOihmdW5jdGlvbiBpKHQpe3JldHVybiBmWih7cG9pbnQ6ZnVuY3Rpb24oZSxuKXtlPXQoZSxuKSx0aGlzLnN0cmVhbS5wb2ludChlWzBdLGVbMV0pfX0pfSkodCl9dmFyIFNaPWZaKHtwb2ludDpmdW5jdGlvbih0LGUpe3RoaXMuc3RyZWFtLnBvaW50KHQqUFksZSpQWSl9fSk7ZnVuY3Rpb24gTVoodCl7cmV0dXJuIEVaKChmdW5jdGlvbigpe3JldHVybiB0fSkpKCl9ZnVuY3Rpb24gRVoodCl7dmFyIGUsbixpLHIsbyxhLHMsbCxjLHUsaD0xNTAsZD00ODAscD0yNTAsZj0wLG09MCxnPTAsXz0wLHk9MCx2PW51bGwsYj1CJCx4PW51bGwsdz1tSyxTPS41LE09d1ooQyxTKTtmdW5jdGlvbiBFKHQpe3JldHVyblsodD1vKHRbMF0qUFksdFsxXSpQWSkpWzBdKmgrbixpLXRbMV0qaF19ZnVuY3Rpb24gVCh0KXtyZXR1cm4odD1vLmludmVydCgodFswXS1uKS9oLChpLXRbMV0pL2gpKSYmW3RbMF0qTFksdFsxXSpMWV19ZnVuY3Rpb24gQyh0LHIpe3JldHVyblsodD1lKHQscikpWzBdKmgrbixpLXRbMV0qaF19ZnVuY3Rpb24gQSgpe289bSQocj1fJChnLF8seSksZSk7dmFyIHQ9ZShmLG0pO3JldHVybiBuPWQtdFswXSpoLGk9cCt0WzFdKmgsaygpfWZ1bmN0aW9uIGsoKXtyZXR1cm4gYz11PW51bGwsRX1yZXR1cm4gRS5zdHJlYW09ZnVuY3Rpb24odCl7cmV0dXJuIGMmJnU9PT10P2M6Yz1TWigoZnVuY3Rpb24gZSh0KXtyZXR1cm4gZlooe3BvaW50OmZ1bmN0aW9uKGUsbil7dmFyIGk9dChlLG4pO3JldHVybiB0aGlzLnN0cmVhbS5wb2ludChpWzBdLGlbMV0pfX0pfSkocikoYihNKHcodT10KSkpKSl9LEUucHJlY2xpcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYj10LHY9dm9pZCAwLGsoKSk6Yn0sRS5wb3N0Y2xpcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odz10LHg9YT1zPWw9bnVsbCxrKCkpOnd9LEUuY2xpcEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhiPSt0P1YkKHY9dCpQWSk6KHY9bnVsbCxCJCksaygpKTp2KkxZfSxFLmNsaXBFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHc9bnVsbD09dD8oeD1hPXM9bD1udWxsLG1LKTpHJCh4PSt0WzBdWzBdLGE9K3RbMF1bMV0scz0rdFsxXVswXSxsPSt0WzFdWzFdKSxrKCkpOm51bGw9PXg/bnVsbDpbW3gsYV0sW3MsbF1dfSxFLnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPSt0LEEoKSk6aH0sRS50cmFuc2xhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGQ9K3RbMF0scD0rdFsxXSxBKCkpOltkLHBdfSxFLmNlbnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZj10WzBdJTM2MCpQWSxtPXRbMV0lMzYwKlBZLEEoKSk6W2YqTFksbSpMWV19LEUucm90YXRlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhnPXRbMF0lMzYwKlBZLF89dFsxXSUzNjAqUFkseT10Lmxlbmd0aD4yP3RbMl0lMzYwKlBZOjAsQSgpKTpbZypMWSxfKkxZLHkqTFldfSxFLnByZWNpc2lvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oTT13WihDLFM9dCp0KSxrKCkpOlVZKFMpfSxFLmZpdEV4dGVudD1mdW5jdGlvbih0LGUpe3JldHVybiBfWihFLHQsZSl9LEUuZml0U2l6ZT1mdW5jdGlvbih0LGUpe3JldHVybiB5WihFLHQsZSl9LEUuZml0V2lkdGg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdlooRSx0LGUpfSxFLmZpdEhlaWdodD1mdW5jdGlvbih0LGUpe3JldHVybiBiWihFLHQsZSl9LGZ1bmN0aW9uKCl7cmV0dXJuIGU9dC5hcHBseSh0aGlzLGFyZ3VtZW50cyksRS5pbnZlcnQ9ZS5pbnZlcnQmJlQsQSgpfX1mdW5jdGlvbiBUWih0KXt2YXIgZT0wLG49VFkvMyxpPUVaKHQpLHI9aShlLG4pO3JldHVybiByLnBhcmFsbGVscz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9pKGU9dFswXSpQWSxuPXRbMV0qUFkpOltlKkxZLG4qTFldfSxyfWZ1bmN0aW9uIENaKHQsZSl7dmFyIG49RlkodCksaT0obitGWShlKSkvMjtpZihOWShpKTxFWSlyZXR1cm4oZnVuY3Rpb24gcih0KXt2YXIgZT1PWSh0KTtmdW5jdGlvbiBuKHQsbil7cmV0dXJuW3QqZSxGWShuKS9lXX1yZXR1cm4gbi5pbnZlcnQ9ZnVuY3Rpb24odCxuKXtyZXR1cm5bdC9lLFdZKG4qZSldfSxufSkodCk7dmFyIG89MStuKigyKmktbiksYT1VWShvKS9pO2Z1bmN0aW9uIHModCxlKXt2YXIgbj1VWShvLTIqaSpGWShlKSkvaTtyZXR1cm5bbipGWSh0Kj1pKSxhLW4qT1kodCldfXJldHVybiBzLmludmVydD1mdW5jdGlvbih0LGUpe3ZhciBuPWEtZTtyZXR1cm5bUlkodCxOWShuKSkvaSpWWShuKSxXWSgoby0odCp0K24qbikqaSppKS8oMippKSldfSxzfWZ1bmN0aW9uIEFaKCl7cmV0dXJuIFRaKENaKS5zY2FsZSgxNTUuNDI0KS5jZW50ZXIoWzAsMzMuNjQ0Ml0pfWZ1bmN0aW9uIGtaKCl7cmV0dXJuIEFaKCkucGFyYWxsZWxzKFsyOS41LDQ1LjVdKS5zY2FsZSgxMDcwKS50cmFuc2xhdGUoWzQ4MCwyNTBdKS5yb3RhdGUoWzk2LDBdKS5jZW50ZXIoWy0uNiwzOC43XSl9ZnVuY3Rpb24gTFoodCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dmFyIGk9T1koZSkscj1PWShuKSxvPXQoaSpyKTtyZXR1cm5bbypyKkZZKGUpLG8qRlkobildfX1mdW5jdGlvbiBQWih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXt2YXIgaT1VWShlKmUrbipuKSxyPXQoaSksbz1GWShyKSxhPU9ZKHIpO3JldHVybltSWShlKm8saSphKSxXWShpJiZuKm8vaSldfX12YXIgTlo9TFooKGZ1bmN0aW9uKHQpe3JldHVybiBVWSgyLygxK3QpKX0pKTtOWi5pbnZlcnQ9UFooKGZ1bmN0aW9uKHQpe3JldHVybiAyKldZKHQvMil9KSk7dmFyIElaPUxaKChmdW5jdGlvbih0KXtyZXR1cm4odD1HWSh0KSkmJnQvRlkodCl9KSk7ZnVuY3Rpb24gUloodCxlKXtyZXR1cm5bdCxCWShqWSgoQ1krZSkvMikpXX1mdW5jdGlvbiBPWih0KXt2YXIgZSxuLGkscj1NWih0KSxvPXIuY2VudGVyLGE9ci5zY2FsZSxzPXIudHJhbnNsYXRlLGw9ci5jbGlwRXh0ZW50LGM9bnVsbDtmdW5jdGlvbiB1KCl7dmFyIG89VFkqYSgpLHM9cih4JChyLnJvdGF0ZSgpKS5pbnZlcnQoWzAsMF0pKTtyZXR1cm4gbChudWxsPT1jP1tbc1swXS1vLHNbMV0tb10sW3NbMF0rbyxzWzFdK29dXTp0PT09Ulo/W1tNYXRoLm1heChzWzBdLW8sYyksZV0sW01hdGgubWluKHNbMF0rbyxuKSxpXV06W1tjLE1hdGgubWF4KHNbMV0tbyxlKV0sW24sTWF0aC5taW4oc1sxXStvLGkpXV0pfXJldHVybiByLnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhKHQpLHUoKSk6YSgpfSxyLnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocyh0KSx1KCkpOnMoKX0sci5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG8odCksdSgpKTpvKCl9LHIuY2xpcEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obnVsbD09dD9jPWU9bj1pPW51bGw6KGM9K3RbMF1bMF0sZT0rdFswXVsxXSxuPSt0WzFdWzBdLGk9K3RbMV1bMV0pLHUoKSk6bnVsbD09Yz9udWxsOltbYyxlXSxbbixpXV19LHUoKX1mdW5jdGlvbiB6Wih0KXtyZXR1cm4galkoKENZK3QpLzIpfWZ1bmN0aW9uIERaKHQsZSl7dmFyIG49T1kodCksaT10PT09ZT9GWSh0KTpCWShuL09ZKGUpKS9CWSh6WihlKS96Wih0KSkscj1uKkhZKHpaKHQpLGkpL2k7aWYoIWkpcmV0dXJuIFJaO2Z1bmN0aW9uIG8odCxlKXtyPjA/ZTwtQ1krRVkmJihlPS1DWStFWSk6ZT5DWS1FWSYmKGU9Q1ktRVkpO3ZhciBuPXIvSFkoelooZSksaSk7cmV0dXJuW24qRlkoaSp0KSxyLW4qT1koaSp0KV19cmV0dXJuIG8uaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIG49ci1lLG89VlkoaSkqVVkodCp0K24qbik7cmV0dXJuW1JZKHQsTlkobikpL2kqVlkobiksMipJWShIWShyL28sMS9pKSktQ1ldfSxvfWZ1bmN0aW9uIEJaKHQsZSl7cmV0dXJuW3QsZV19ZnVuY3Rpb24gSFoodCxlKXt2YXIgbj1PWSh0KSxpPXQ9PT1lP0ZZKHQpOihuLU9ZKGUpKS8oZS10KSxyPW4vaSt0O2lmKE5ZKGkpPEVZKXJldHVybiBCWjtmdW5jdGlvbiBvKHQsZSl7dmFyIG49ci1lLG89aSp0O3JldHVybltuKkZZKG8pLHItbipPWShvKV19cmV0dXJuIG8uaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIG49ci1lO3JldHVybltSWSh0LE5ZKG4pKS9pKlZZKG4pLHItVlkoaSkqVVkodCp0K24qbildfSxvfWZ1bmN0aW9uIEZaKHQsZSl7dmFyIG49T1koZSksaT1PWSh0KSpuO3JldHVybltuKkZZKHQpL2ksRlkoZSkvaV19ZnVuY3Rpb24gVloodCxlLG4saSl7cmV0dXJuIDE9PT10JiYxPT09ZSYmMD09PW4mJjA9PT1pP21LOmZaKHtwb2ludDpmdW5jdGlvbihyLG8pe3RoaXMuc3RyZWFtLnBvaW50KHIqdCtuLG8qZStpKX19KX1mdW5jdGlvbiBVWih0LGUpe3ZhciBuPWUqZSxpPW4qbjtyZXR1cm5bdCooLjg3MDctLjEzMTk3OSpuK2kqKGkqKC4wMDM5NzEqbi0uMDAxNTI5KmkpLS4wMTM3OTEpKSxlKigxLjAwNzIyNituKiguMDE1MDg1K2kqKC4wMjg4NzQqbi0uMDQ0NDc1LS4wMDU5MTYqaSkpKV19ZnVuY3Rpb24galoodCxlKXtyZXR1cm5bT1koZSkqRlkodCksRlkoZSldfWZ1bmN0aW9uIEdaKHQsZSl7dmFyIG49T1koZSksaT0xK09ZKHQpKm47cmV0dXJuW24qRlkodCkvaSxGWShlKS9pXX1mdW5jdGlvbiBXWih0LGUpe3JldHVybltCWShqWSgoQ1krZSkvMikpLC10XX1mdW5jdGlvbiBxWih0LGUpe3JldHVybiB0LnBhcmVudD09PWUucGFyZW50PzE6Mn1mdW5jdGlvbiBZWih0LGUpe3JldHVybiB0K2UueH1mdW5jdGlvbiBYWih0LGUpe3JldHVybiBNYXRoLm1heCh0LGUueSl9ZnVuY3Rpb24gJFoodCl7dmFyIGU9MCxuPXQuY2hpbGRyZW4saT1uJiZuLmxlbmd0aDtpZihpKWZvcig7LS1pPj0wOyllKz1uW2ldLnZhbHVlO2Vsc2UgZT0xO3QudmFsdWU9ZX1mdW5jdGlvbiBLWih0LGUpe3ZhciBuLGkscixvLGEscz1uZXcgdEoodCksbD0rdC52YWx1ZSYmKHMudmFsdWU9dC52YWx1ZSksYz1bc107Zm9yKG51bGw9PWUmJihlPVpaKTtuPWMucG9wKCk7KWlmKGwmJihuLnZhbHVlPStuLmRhdGEudmFsdWUpLChyPWUobi5kYXRhKSkmJihhPXIubGVuZ3RoKSlmb3Iobi5jaGlsZHJlbj1uZXcgQXJyYXkoYSksbz1hLTE7bz49MDstLW8pYy5wdXNoKGk9bi5jaGlsZHJlbltvXT1uZXcgdEoocltvXSkpLGkucGFyZW50PW4saS5kZXB0aD1uLmRlcHRoKzE7cmV0dXJuIHMuZWFjaEJlZm9yZShRWil9ZnVuY3Rpb24gWloodCl7cmV0dXJuIHQuY2hpbGRyZW59ZnVuY3Rpb24gSloodCl7dC5kYXRhPXQuZGF0YS5kYXRhfWZ1bmN0aW9uIFFaKHQpe3ZhciBlPTA7ZG97dC5oZWlnaHQ9ZX13aGlsZSgodD10LnBhcmVudCkmJnQuaGVpZ2h0PCsrZSl9ZnVuY3Rpb24gdEoodCl7dGhpcy5kYXRhPXQsdGhpcy5kZXB0aD10aGlzLmhlaWdodD0wLHRoaXMucGFyZW50PW51bGx9SVouaW52ZXJ0PVBaKChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKSxSWi5pbnZlcnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm5bdCwyKklZKERZKGUpKS1DWV19LEJaLmludmVydD1CWixGWi5pbnZlcnQ9UFooSVkpLFVaLmludmVydD1mdW5jdGlvbih0LGUpe3ZhciBuLGk9ZSxyPTI1O2Rve3ZhciBvPWkqaSxhPW8qbztpLT1uPShpKigxLjAwNzIyNitvKiguMDE1MDg1K2EqKC4wMjg4NzQqby0uMDQ0NDc1LS4wMDU5MTYqYSkpKS1lKS8oMS4wMDcyMjYrbyooLjA0NTI1NSthKiguMjU5ODY2Km8tLjMxMTMyNS0uMDA1OTE2KjExKmEpKSl9d2hpbGUoTlkobik+RVkmJi0tcj4wKTtyZXR1cm5bdC8oLjg3MDcrKG89aSppKSoobyoobypvKm8qKC4wMDM5NzEtLjAwMTUyOSpvKS0uMDEzNzkxKS0uMTMxOTc5KSksaV19LGpaLmludmVydD1QWihXWSksR1ouaW52ZXJ0PVBaKChmdW5jdGlvbih0KXtyZXR1cm4gMipJWSh0KX0pKSxXWi5pbnZlcnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm5bLWUsMipJWShEWSh0KSktQ1ldfSx0Si5wcm90b3R5cGU9S1oucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp0Sixjb3VudDpmdW5jdGlvbiBlSigpe3JldHVybiB0aGlzLmVhY2hBZnRlcigkWil9LGVhY2g6ZnVuY3Rpb24gbkoodCl7dmFyIGUsbixpLHIsbz10aGlzLGE9W29dO2Rve2ZvcihlPWEucmV2ZXJzZSgpLGE9W107bz1lLnBvcCgpOylpZih0KG8pLG49by5jaGlsZHJlbilmb3IoaT0wLHI9bi5sZW5ndGg7aTxyOysraSlhLnB1c2gobltpXSl9d2hpbGUoYS5sZW5ndGgpO3JldHVybiB0aGlzfSxlYWNoQWZ0ZXI6ZnVuY3Rpb24gaUoodCl7Zm9yKHZhciBlLG4saSxyPXRoaXMsbz1bcl0sYT1bXTtyPW8ucG9wKCk7KWlmKGEucHVzaChyKSxlPXIuY2hpbGRyZW4pZm9yKG49MCxpPWUubGVuZ3RoO248aTsrK24pby5wdXNoKGVbbl0pO2Zvcig7cj1hLnBvcCgpOyl0KHIpO3JldHVybiB0aGlzfSxlYWNoQmVmb3JlOmZ1bmN0aW9uIHJKKHQpe2Zvcih2YXIgZSxuLGk9dGhpcyxyPVtpXTtpPXIucG9wKCk7KWlmKHQoaSksZT1pLmNoaWxkcmVuKWZvcihuPWUubGVuZ3RoLTE7bj49MDstLW4pci5wdXNoKGVbbl0pO3JldHVybiB0aGlzfSxzdW06ZnVuY3Rpb24gb0oodCl7cmV0dXJuIHRoaXMuZWFjaEFmdGVyKChmdW5jdGlvbihlKXtmb3IodmFyIG49K3QoZS5kYXRhKXx8MCxpPWUuY2hpbGRyZW4scj1pJiZpLmxlbmd0aDstLXI+PTA7KW4rPWlbcl0udmFsdWU7ZS52YWx1ZT1ufSkpfSxzb3J0OmZ1bmN0aW9uIGFKKHQpe3JldHVybiB0aGlzLmVhY2hCZWZvcmUoKGZ1bmN0aW9uKGUpe2UuY2hpbGRyZW4mJmUuY2hpbGRyZW4uc29ydCh0KX0pKX0scGF0aDpmdW5jdGlvbiBzSih0KXtmb3IodmFyIGU9dGhpcyxuPShmdW5jdGlvbiBpKHQsZSl7aWYodD09PWUpcmV0dXJuIHQ7dmFyIG49dC5hbmNlc3RvcnMoKSxpPWUuYW5jZXN0b3JzKCkscj1udWxsO3Q9bi5wb3AoKSxlPWkucG9wKCk7Zm9yKDt0PT09ZTspcj10LHQ9bi5wb3AoKSxlPWkucG9wKCk7cmV0dXJuIHJ9KShlLHQpLHI9W2VdO2UhPT1uOylyLnB1c2goZT1lLnBhcmVudCk7Zm9yKHZhciBvPXIubGVuZ3RoO3QhPT1uOylyLnNwbGljZShvLDAsdCksdD10LnBhcmVudDtyZXR1cm4gcn0sYW5jZXN0b3JzOmZ1bmN0aW9uIGxKKCl7Zm9yKHZhciB0PXRoaXMsZT1bdF07dD10LnBhcmVudDspZS5wdXNoKHQpO3JldHVybiBlfSxkZXNjZW5kYW50czpmdW5jdGlvbiBjSigpe3ZhciB0PVtdO3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKGUpe3QucHVzaChlKX0pKSx0fSxsZWF2ZXM6ZnVuY3Rpb24gdUooKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy5lYWNoQmVmb3JlKChmdW5jdGlvbihlKXtlLmNoaWxkcmVufHx0LnB1c2goZSl9KSksdH0sbGlua3M6ZnVuY3Rpb24gaEooKXt2YXIgdD10aGlzLGU9W107cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24obil7biE9PXQmJmUucHVzaCh7c291cmNlOm4ucGFyZW50LHRhcmdldDpufSl9KSksZX0sY29weTpmdW5jdGlvbiBkSigpe3JldHVybiBLWih0aGlzKS5lYWNoQmVmb3JlKEpaKX19O3ZhciBwSj1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gZkoodCl7Zm9yKHZhciBlLG4saT0wLHI9KHQ9KGZ1bmN0aW9uIG8odCl7Zm9yKHZhciBlLG4saT10Lmxlbmd0aDtpOyluPU1hdGgucmFuZG9tKCkqaS0tfDAsZT10W2ldLHRbaV09dFtuXSx0W25dPWU7cmV0dXJuIHR9KShwSi5jYWxsKHQpKSkubGVuZ3RoLGE9W107aTxyOyllPXRbaV0sbiYmX0oobixlKT8rK2k6KG49dkooYT1tSihhLGUpKSxpPTApO3JldHVybiBufWZ1bmN0aW9uIG1KKHQsZSl7dmFyIG4saTtpZih5SihlLHQpKXJldHVybltlXTtmb3Iobj0wO248dC5sZW5ndGg7KytuKWlmKGdKKGUsdFtuXSkmJnlKKGJKKHRbbl0sZSksdCkpcmV0dXJuW3Rbbl0sZV07Zm9yKG49MDtuPHQubGVuZ3RoLTE7KytuKWZvcihpPW4rMTtpPHQubGVuZ3RoOysraSlpZihnSihiSih0W25dLHRbaV0pLGUpJiZnSihiSih0W25dLGUpLHRbaV0pJiZnSihiSih0W2ldLGUpLHRbbl0pJiZ5Sih4Sih0W25dLHRbaV0sZSksdCkpcmV0dXJuW3Rbbl0sdFtpXSxlXTt0aHJvdyBuZXcgRXJyb3J9ZnVuY3Rpb24gZ0oodCxlKXt2YXIgbj10LnItZS5yLGk9ZS54LXQueCxyPWUueS10Lnk7cmV0dXJuIG48MHx8bipuPGkqaStyKnJ9ZnVuY3Rpb24gX0oodCxlKXt2YXIgbj10LnItZS5yKzFlLTYsaT1lLngtdC54LHI9ZS55LXQueTtyZXR1cm4gbj4wJiZuKm4+aSppK3Iqcn1mdW5jdGlvbiB5Sih0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7KytuKWlmKCFfSih0LGVbbl0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHZKKHQpe3N3aXRjaCh0Lmxlbmd0aCl7Y2FzZSAxOnJldHVybihmdW5jdGlvbiBlKHQpe3JldHVybnt4OnQueCx5OnQueSxyOnQucn19KSh0WzBdKTtjYXNlIDI6cmV0dXJuIGJKKHRbMF0sdFsxXSk7Y2FzZSAzOnJldHVybiB4Sih0WzBdLHRbMV0sdFsyXSl9fWZ1bmN0aW9uIGJKKHQsZSl7dmFyIG49dC54LGk9dC55LHI9dC5yLG89ZS54LGE9ZS55LHM9ZS5yLGw9by1uLGM9YS1pLHU9cy1yLGg9TWF0aC5zcXJ0KGwqbCtjKmMpO3JldHVybnt4OihuK28rbC9oKnUpLzIseTooaSthK2MvaCp1KS8yLHI6KGgrcitzKS8yfX1mdW5jdGlvbiB4Sih0LGUsbil7dmFyIGk9dC54LHI9dC55LG89dC5yLGE9ZS54LHM9ZS55LGw9ZS5yLGM9bi54LHU9bi55LGg9bi5yLGQ9aS1hLHA9aS1jLGY9ci1zLG09ci11LGc9bC1vLF89aC1vLHk9aSppK3Iqci1vKm8sdj15LWEqYS1zKnMrbCpsLGI9eS1jKmMtdSp1K2gqaCx4PXAqZi1kKm0sdz0oZipiLW0qdikvKDIqeCktaSxTPShtKmctZipfKS94LE09KHAqdi1kKmIpLygyKngpLXIsRT0oZCpfLXAqZykveCxUPVMqUytFKkUtMSxDPTIqKG8rdypTK00qRSksQT13KncrTSpNLW8qbyxrPS0oVD8oQytNYXRoLnNxcnQoQypDLTQqVCpBKSkvKDIqVCk6QS9DKTtyZXR1cm57eDppK3crUyprLHk6citNK0UqayxyOmt9fWZ1bmN0aW9uIHdKKHQsZSxuKXt2YXIgaT10Lngscj10Lnksbz1lLnIrbi5yLGE9dC5yK24ucixzPWUueC1pLGw9ZS55LXIsYz1zKnMrbCpsO2lmKGMpe3ZhciB1PS41KygoYSo9YSktKG8qPW8pKS8oMipjKSxoPU1hdGguc3FydChNYXRoLm1heCgwLDIqbyooYStjKS0oYS09YykqYS1vKm8pKS8oMipjKTtuLng9aSt1KnMraCpsLG4ueT1yK3UqbC1oKnN9ZWxzZSBuLng9aSthLG4ueT1yfWZ1bmN0aW9uIFNKKHQsZSl7dmFyIG49ZS54LXQueCxpPWUueS10Lnkscj10LnIrZS5yO3JldHVybiByKnItMWUtNj5uKm4raSppfWZ1bmN0aW9uIE1KKHQpe3ZhciBlPXQuXyxuPXQubmV4dC5fLGk9ZS5yK24ucixyPShlLngqbi5yK24ueCplLnIpL2ksbz0oZS55Km4ucituLnkqZS5yKS9pO3JldHVybiByKnIrbypvfWZ1bmN0aW9uIEVKKHQpe3RoaXMuXz10LHRoaXMubmV4dD1udWxsLHRoaXMucHJldmlvdXM9bnVsbH1mdW5jdGlvbiBUSih0KXtpZighKHI9dC5sZW5ndGgpKXJldHVybiAwO3ZhciBlLG4saSxyLG8sYSxzLGwsYyx1LGg7aWYoKGU9dFswXSkueD0wLGUueT0wLCEocj4xKSlyZXR1cm4gZS5yO2lmKGUueD0tKG49dFsxXSkucixuLng9ZS5yLG4ueT0wLCEocj4yKSlyZXR1cm4gZS5yK24ucjt3SihuLGUsaT10WzJdKSxlPW5ldyBFSihlKSxuPW5ldyBFSihuKSxpPW5ldyBFSihpKSxlLm5leHQ9aS5wcmV2aW91cz1uLG4ubmV4dD1lLnByZXZpb3VzPWksaS5uZXh0PW4ucHJldmlvdXM9ZTt0OmZvcihzPTM7czxyOysrcyl7d0ooZS5fLG4uXyxpPXRbc10pLGk9bmV3IEVKKGkpLGw9bi5uZXh0LGM9ZS5wcmV2aW91cyx1PW4uXy5yLGg9ZS5fLnI7ZG97aWYodTw9aCl7aWYoU0oobC5fLGkuXykpe2UubmV4dD1uPWwsbi5wcmV2aW91cz1lLC0tcztjb250aW51ZSB0fXUrPWwuXy5yLGw9bC5uZXh0fWVsc2V7aWYoU0ooYy5fLGkuXykpeyhlPWMpLm5leHQ9bixuLnByZXZpb3VzPWUsLS1zO2NvbnRpbnVlIHR9aCs9Yy5fLnIsYz1jLnByZXZpb3VzfX13aGlsZShsIT09Yy5uZXh0KTtmb3IoaS5wcmV2aW91cz1lLGkubmV4dD1uLGUubmV4dD1uLnByZXZpb3VzPW49aSxvPU1KKGUpOyhpPWkubmV4dCkhPT1uOykoYT1NSihpKSk8byYmKGU9aSxvPWEpO249ZS5uZXh0fWZvcihlPVtuLl9dLGk9bjsoaT1pLm5leHQpIT09bjspZS5wdXNoKGkuXyk7Zm9yKGk9ZkooZSkscz0wO3M8cjsrK3MpKGU9dFtzXSkueC09aS54LGUueS09aS55O3JldHVybiBpLnJ9ZnVuY3Rpb24gQ0oodCl7cmV0dXJuIG51bGw9PXQ/bnVsbDpBSih0KX1mdW5jdGlvbiBBSih0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHR9ZnVuY3Rpb24ga0ooKXtyZXR1cm4gMH1mdW5jdGlvbiBMSih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gUEoodCl7cmV0dXJuIE1hdGguc3FydCh0LnZhbHVlKX1mdW5jdGlvbiBOSih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7ZS5jaGlsZHJlbnx8KGUucj1NYXRoLm1heCgwLCt0KGUpfHwwKSl9fWZ1bmN0aW9uIElKKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe2lmKGk9bi5jaGlsZHJlbil7dmFyIGkscixvLGE9aS5sZW5ndGgscz10KG4pKmV8fDA7aWYocylmb3Iocj0wO3I8YTsrK3IpaVtyXS5yKz1zO2lmKG89VEooaSkscylmb3Iocj0wO3I8YTsrK3IpaVtyXS5yLT1zO24ucj1vK3N9fX1mdW5jdGlvbiBSSih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49ZS5wYXJlbnQ7ZS5yKj10LG4mJihlLng9bi54K3QqZS54LGUueT1uLnkrdCplLnkpfX1mdW5jdGlvbiBPSih0KXt0LngwPU1hdGgucm91bmQodC54MCksdC55MD1NYXRoLnJvdW5kKHQueTApLHQueDE9TWF0aC5yb3VuZCh0LngxKSx0LnkxPU1hdGgucm91bmQodC55MSl9ZnVuY3Rpb24gekoodCxlLG4saSxyKXtmb3IodmFyIG8sYT10LmNoaWxkcmVuLHM9LTEsbD1hLmxlbmd0aCxjPXQudmFsdWUmJihpLWUpL3QudmFsdWU7KytzPGw7KShvPWFbc10pLnkwPW4sby55MT1yLG8ueDA9ZSxvLngxPWUrPW8udmFsdWUqY312YXIgREo9e2RlcHRoOi0xfSxCSj17fTtmdW5jdGlvbiBISih0KXtyZXR1cm4gdC5pZH1mdW5jdGlvbiBGSih0KXtyZXR1cm4gdC5wYXJlbnRJZH1mdW5jdGlvbiBWSih0LGUpe3JldHVybiB0LnBhcmVudD09PWUucGFyZW50PzE6Mn1mdW5jdGlvbiBVSih0KXt2YXIgZT10LmNoaWxkcmVuO3JldHVybiBlP2VbMF06dC50fWZ1bmN0aW9uIGpKKHQpe3ZhciBlPXQuY2hpbGRyZW47cmV0dXJuIGU/ZVtlLmxlbmd0aC0xXTp0LnR9ZnVuY3Rpb24gR0oodCxlLG4pe3ZhciBpPW4vKGUuaS10LmkpO2UuYy09aSxlLnMrPW4sdC5jKz1pLGUueis9bixlLm0rPW59ZnVuY3Rpb24gV0oodCxlLG4pe3JldHVybiB0LmEucGFyZW50PT09ZS5wYXJlbnQ/dC5hOm59ZnVuY3Rpb24gcUoodCxlKXt0aGlzLl89dCx0aGlzLnBhcmVudD1udWxsLHRoaXMuY2hpbGRyZW49bnVsbCx0aGlzLkE9bnVsbCx0aGlzLmE9dGhpcyx0aGlzLno9MCx0aGlzLm09MCx0aGlzLmM9MCx0aGlzLnM9MCx0aGlzLnQ9bnVsbCx0aGlzLmk9ZX1mdW5jdGlvbiBZSih0LGUsbixpLHIpe2Zvcih2YXIgbyxhPXQuY2hpbGRyZW4scz0tMSxsPWEubGVuZ3RoLGM9dC52YWx1ZSYmKHItbikvdC52YWx1ZTsrK3M8bDspKG89YVtzXSkueDA9ZSxvLngxPWksby55MD1uLG8ueTE9bis9by52YWx1ZSpjfXFKLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHRKLnByb3RvdHlwZSk7dmFyIFhKPSgxK01hdGguc3FydCg1KSkvMjtmdW5jdGlvbiAkSih0LGUsbixpLHIsbyl7Zm9yKHZhciBhLHMsbCxjLHUsaCxkLHAsZixtLGcsXz1bXSx5PWUuY2hpbGRyZW4sdj0wLGI9MCx4PXkubGVuZ3RoLHc9ZS52YWx1ZTt2PHg7KXtsPXItbixjPW8taTtkb3t1PXlbYisrXS52YWx1ZX13aGlsZSghdSYmYjx4KTtmb3IoaD1kPXUsZz11KnUqKG09TWF0aC5tYXgoYy9sLGwvYykvKHcqdCkpLGY9TWF0aC5tYXgoZC9nLGcvaCk7Yjx4OysrYil7aWYodSs9cz15W2JdLnZhbHVlLHM8aCYmKGg9cykscz5kJiYoZD1zKSxnPXUqdSptLChwPU1hdGgubWF4KGQvZyxnL2gpKT5mKXt1LT1zO2JyZWFrfWY9cH1fLnB1c2goYT17dmFsdWU6dSxkaWNlOmw8YyxjaGlsZHJlbjp5LnNsaWNlKHYsYil9KSxhLmRpY2U/ekooYSxuLGkscix3P2krPWMqdS93Om8pOllKKGEsbixpLHc/bis9bCp1L3c6cixvKSx3LT11LHY9Yn1yZXR1cm4gX312YXIgS0o9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0LG4saSxyLG8peyRKKGUsdCxuLGkscixvKX1yZXR1cm4gbi5yYXRpbz1mdW5jdGlvbihlKXtyZXR1cm4gdCgoZT0rZSk+MT9lOjEpfSxufSkoWEopO3ZhciBaSj0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQsbixpLHIsbyl7aWYoKGE9dC5fc3F1YXJpZnkpJiZhLnJhdGlvPT09ZSlmb3IodmFyIGEscyxsLGMsdSxoPS0xLGQ9YS5sZW5ndGgscD10LnZhbHVlOysraDxkOyl7Zm9yKGw9KHM9YVtoXSkuY2hpbGRyZW4sYz1zLnZhbHVlPTAsdT1sLmxlbmd0aDtjPHU7KytjKXMudmFsdWUrPWxbY10udmFsdWU7cy5kaWNlP3pKKHMsbixpLHIsaSs9KG8taSkqcy52YWx1ZS9wKTpZSihzLG4saSxuKz0oci1uKSpzLnZhbHVlL3AsbykscC09cy52YWx1ZX1lbHNlIHQuX3NxdWFyaWZ5PWE9JEooZSx0LG4saSxyLG8pLGEucmF0aW89ZX1yZXR1cm4gbi5yYXRpbz1mdW5jdGlvbihlKXtyZXR1cm4gdCgoZT0rZSk+MT9lOjEpfSxufSkoWEopO2Z1bmN0aW9uIEpKKHQsZSxuKXt0LnByb3RvdHlwZT1lLnByb3RvdHlwZT1uLG4uY29uc3RydWN0b3I9dH1mdW5jdGlvbiBRSih0LGUpe3ZhciBuPU9iamVjdC5jcmVhdGUodC5wcm90b3R5cGUpO2Zvcih2YXIgaSBpbiBlKW5baV09ZVtpXTtyZXR1cm4gbn1mdW5jdGlvbiB0USgpe312YXIgZVE9LjcsblE9MS9lUSxpUT0iXFxzKihbKy1dP1xcZCspXFxzKiIsclE9IlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pXFxzKiIsb1E9IlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pJVxccyoiLGFRPS9eIyhbMC05YS1mXXszLDh9KSQvLHNRPW5ldyBSZWdFeHAoIl5yZ2JcXCgiK1tpUSxpUSxpUV0rIlxcKSQiKSxsUT1uZXcgUmVnRXhwKCJecmdiXFwoIitbb1Esb1Esb1FdKyJcXCkkIiksY1E9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tpUSxpUSxpUSxyUV0rIlxcKSQiKSx1UT1uZXcgUmVnRXhwKCJecmdiYVxcKCIrW29RLG9RLG9RLHJRXSsiXFwpJCIpLGhRPW5ldyBSZWdFeHAoIl5oc2xcXCgiK1tyUSxvUSxvUV0rIlxcKSQiKSxkUT1uZXcgUmVnRXhwKCJeaHNsYVxcKCIrW3JRLG9RLG9RLHJRXSsiXFwpJCIpLHBRPXthbGljZWJsdWU6MTU3OTIzODMsYW50aXF1ZXdoaXRlOjE2NDQ0Mzc1LGFxdWE6NjU1MzUsYXF1YW1hcmluZTo4Mzg4NTY0LGF6dXJlOjE1Nzk0MTc1LGJlaWdlOjE2MTE5MjYwLGJpc3F1ZToxNjc3MDI0NCxibGFjazowLGJsYW5jaGVkYWxtb25kOjE2NzcyMDQ1LGJsdWU6MjU1LGJsdWV2aW9sZXQ6OTA1NTIwMixicm93bjoxMDgyNDIzNCxidXJseXdvb2Q6MTQ1OTYyMzEsY2FkZXRibHVlOjYyNjY1MjgsY2hhcnRyZXVzZTo4Mzg4MzUyLGNob2NvbGF0ZToxMzc4OTQ3MCxjb3JhbDoxNjc0NDI3Mixjb3JuZmxvd2VyYmx1ZTo2NTkxOTgxLGNvcm5zaWxrOjE2Nzc1Mzg4LGNyaW1zb246MTQ0MjMxMDAsY3lhbjo2NTUzNSxkYXJrYmx1ZToxMzksZGFya2N5YW46MzU3MjMsZGFya2dvbGRlbnJvZDoxMjA5MjkzOSxkYXJrZ3JheToxMTExOTAxNyxkYXJrZ3JlZW46MjU2MDAsZGFya2dyZXk6MTExMTkwMTcsZGFya2toYWtpOjEyNDMzMjU5LGRhcmttYWdlbnRhOjkxMDk2NDMsZGFya29saXZlZ3JlZW46NTU5Nzk5OSxkYXJrb3JhbmdlOjE2NzQ3NTIwLGRhcmtvcmNoaWQ6MTAwNDAwMTIsZGFya3JlZDo5MTA5NTA0LGRhcmtzYWxtb246MTUzMDg0MTAsZGFya3NlYWdyZWVuOjk0MTk5MTksZGFya3NsYXRlYmx1ZTo0NzM0MzQ3LGRhcmtzbGF0ZWdyYXk6MzEwMDQ5NSxkYXJrc2xhdGVncmV5OjMxMDA0OTUsZGFya3R1cnF1b2lzZTo1Mjk0NSxkYXJrdmlvbGV0Ojk2OTk1MzksZGVlcHBpbms6MTY3MTY5NDcsZGVlcHNreWJsdWU6NDkxNTEsZGltZ3JheTo2OTA4MjY1LGRpbWdyZXk6NjkwODI2NSxkb2RnZXJibHVlOjIwMDMxOTksZmlyZWJyaWNrOjExNjc0MTQ2LGZsb3JhbHdoaXRlOjE2Nzc1OTIwLGZvcmVzdGdyZWVuOjIyNjM4NDIsZnVjaHNpYToxNjcxMTkzNSxnYWluc2Jvcm86MTQ0NzQ0NjAsZ2hvc3R3aGl0ZToxNjMxNjY3MSxnb2xkOjE2NzY2NzIwLGdvbGRlbnJvZDoxNDMyOTEyMCxncmF5Ojg0MjE1MDQsZ3JlZW46MzI3NjgsZ3JlZW55ZWxsb3c6MTE0MDMwNTUsZ3JleTo4NDIxNTA0LGhvbmV5ZGV3OjE1Nzk0MTYwLGhvdHBpbms6MTY3Mzg3NDAsaW5kaWFucmVkOjEzNDU4NTI0LGluZGlnbzo0OTE1MzMwLGl2b3J5OjE2Nzc3MjAwLGtoYWtpOjE1Nzg3NjYwLGxhdmVuZGVyOjE1MTMyNDEwLGxhdmVuZGVyYmx1c2g6MTY3NzMzNjUsbGF3bmdyZWVuOjgxOTA5NzYsbGVtb25jaGlmZm9uOjE2Nzc1ODg1LGxpZ2h0Ymx1ZToxMTM5MzI1NCxsaWdodGNvcmFsOjE1NzYxNTM2LGxpZ2h0Y3lhbjoxNDc0NTU5OSxsaWdodGdvbGRlbnJvZHllbGxvdzoxNjQ0ODIxMCxsaWdodGdyYXk6MTM4ODIzMjMsbGlnaHRncmVlbjo5NDk4MjU2LGxpZ2h0Z3JleToxMzg4MjMyMyxsaWdodHBpbms6MTY3NTg0NjUsbGlnaHRzYWxtb246MTY3NTI3NjIsbGlnaHRzZWFncmVlbjoyMTQyODkwLGxpZ2h0c2t5Ymx1ZTo4OTAwMzQ2LGxpZ2h0c2xhdGVncmF5Ojc4MzM3NTMsbGlnaHRzbGF0ZWdyZXk6NzgzMzc1MyxsaWdodHN0ZWVsYmx1ZToxMTU4NDczNCxsaWdodHllbGxvdzoxNjc3NzE4NCxsaW1lOjY1MjgwLGxpbWVncmVlbjozMzI5MzMwLGxpbmVuOjE2NDQ1NjcwLG1hZ2VudGE6MTY3MTE5MzUsbWFyb29uOjgzODg2MDgsbWVkaXVtYXF1YW1hcmluZTo2NzM3MzIyLG1lZGl1bWJsdWU6MjA1LG1lZGl1bW9yY2hpZDoxMjIxMTY2NyxtZWRpdW1wdXJwbGU6OTY2MjY4MyxtZWRpdW1zZWFncmVlbjozOTc4MDk3LG1lZGl1bXNsYXRlYmx1ZTo4MDg3NzkwLG1lZGl1bXNwcmluZ2dyZWVuOjY0MTU0LG1lZGl1bXR1cnF1b2lzZTo0NzcyMzAwLG1lZGl1bXZpb2xldHJlZDoxMzA0NzE3MyxtaWRuaWdodGJsdWU6MTY0NDkxMixtaW50Y3JlYW06MTYxMjE4NTAsbWlzdHlyb3NlOjE2NzcwMjczLG1vY2Nhc2luOjE2NzcwMjI5LG5hdmFqb3doaXRlOjE2NzY4Njg1LG5hdnk6MTI4LG9sZGxhY2U6MTY2NDM1NTgsb2xpdmU6ODQyMTM3NixvbGl2ZWRyYWI6NzA0ODczOSxvcmFuZ2U6MTY3NTM5MjAsb3JhbmdlcmVkOjE2NzI5MzQ0LG9yY2hpZDoxNDMxNTczNCxwYWxlZ29sZGVucm9kOjE1NjU3MTMwLHBhbGVncmVlbjoxMDAyNTg4MCxwYWxldHVycXVvaXNlOjExNTI5OTY2LHBhbGV2aW9sZXRyZWQ6MTQzODEyMDMscGFwYXlhd2hpcDoxNjc3MzA3NyxwZWFjaHB1ZmY6MTY3Njc2NzMscGVydToxMzQ2ODk5MSxwaW5rOjE2NzYxMDM1LHBsdW06MTQ1MjQ2MzcscG93ZGVyYmx1ZToxMTU5MTkxMCxwdXJwbGU6ODM4ODczNixyZWJlY2NhcHVycGxlOjY2OTc4ODEscmVkOjE2NzExNjgwLHJvc3licm93bjoxMjM1NzUxOSxyb3lhbGJsdWU6NDI4Njk0NSxzYWRkbGVicm93bjo5MTI3MTg3LHNhbG1vbjoxNjQxNjg4MixzYW5keWJyb3duOjE2MDMyODY0LHNlYWdyZWVuOjMwNTAzMjcsc2Vhc2hlbGw6MTY3NzQ2Mzgsc2llbm5hOjEwNTA2Nzk3LHNpbHZlcjoxMjYzMjI1Nixza3libHVlOjg5MDAzMzEsc2xhdGVibHVlOjY5NzAwNjEsc2xhdGVncmF5OjczNzI5NDQsc2xhdGVncmV5OjczNzI5NDQsc25vdzoxNjc3NTkzMCxzcHJpbmdncmVlbjo2NTQwNyxzdGVlbGJsdWU6NDYyMDk4MCx0YW46MTM4MDg3ODAsdGVhbDozMjg5Nix0aGlzdGxlOjE0MjA0ODg4LHRvbWF0bzoxNjczNzA5NSx0dXJxdW9pc2U6NDI1MTg1Nix2aW9sZXQ6MTU2MzEwODYsd2hlYXQ6MTYxMTMzMzEsd2hpdGU6MTY3NzcyMTUsd2hpdGVzbW9rZToxNjExOTI4NSx5ZWxsb3c6MTY3NzY5NjAseWVsbG93Z3JlZW46MTAxNDUwNzR9O2Z1bmN0aW9uIGZRKCl7cmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0SGV4KCl9ZnVuY3Rpb24gbVEoKXtyZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRSZ2IoKX1mdW5jdGlvbiBnUSh0KXt2YXIgZSxuO3JldHVybiB0PSh0KyIiKS50cmltKCkudG9Mb3dlckNhc2UoKSwoZT1hUS5leGVjKHQpKT8obj1lWzFdLmxlbmd0aCxlPXBhcnNlSW50KGVbMV0sMTYpLDY9PT1uP19RKGUpOjM9PT1uP25ldyB4UShlPj44JjE1fGU+PjQmMjQwLGU+PjQmMTV8MjQwJmUsKDE1JmUpPDw0fDE1JmUsMSk6OD09PW4/eVEoZT4+MjQmMjU1LGU+PjE2JjI1NSxlPj44JjI1NSwoMjU1JmUpLzI1NSk6ND09PW4/eVEoZT4+MTImMTV8ZT4+OCYyNDAsZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgoMTUmZSk8PDR8MTUmZSkvMjU1KTpudWxsKTooZT1zUS5leGVjKHQpKT9uZXcgeFEoZVsxXSxlWzJdLGVbM10sMSk6KGU9bFEuZXhlYyh0KSk/bmV3IHhRKDI1NSplWzFdLzEwMCwyNTUqZVsyXS8xMDAsMjU1KmVbM10vMTAwLDEpOihlPWNRLmV4ZWModCkpP3lRKGVbMV0sZVsyXSxlWzNdLGVbNF0pOihlPXVRLmV4ZWModCkpP3lRKDI1NSplWzFdLzEwMCwyNTUqZVsyXS8xMDAsMjU1KmVbM10vMTAwLGVbNF0pOihlPWhRLmV4ZWModCkpP0VRKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsMSk6KGU9ZFEuZXhlYyh0KSk/RVEoZVsxXSxlWzJdLzEwMCxlWzNdLzEwMCxlWzRdKTpwUS5oYXNPd25Qcm9wZXJ0eSh0KT9fUShwUVt0XSk6InRyYW5zcGFyZW50Ij09PXQ/bmV3IHhRKE5hTixOYU4sTmFOLDApOm51bGx9ZnVuY3Rpb24gX1EodCl7cmV0dXJuIG5ldyB4USh0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnQsMSl9ZnVuY3Rpb24geVEodCxlLG4saSl7cmV0dXJuIGk8PTAmJih0PWU9bj1OYU4pLG5ldyB4USh0LGUsbixpKX1mdW5jdGlvbiB2USh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHRRfHwodD1nUSh0KSksdD9uZXcgeFEoKHQ9dC5yZ2IoKSkucix0LmcsdC5iLHQub3BhY2l0eSk6bmV3IHhRfWZ1bmN0aW9uIGJRKHQsZSxuLGkpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD92USh0KTpuZXcgeFEodCxlLG4sbnVsbD09aT8xOmkpfWZ1bmN0aW9uIHhRKHQsZSxuLGkpe3RoaXMucj0rdCx0aGlzLmc9K2UsdGhpcy5iPStuLHRoaXMub3BhY2l0eT0raX1mdW5jdGlvbiB3USgpe3JldHVybiIjIitNUSh0aGlzLnIpK01RKHRoaXMuZykrTVEodGhpcy5iKX1mdW5jdGlvbiBTUSgpe3ZhciB0PXRoaXMub3BhY2l0eTtyZXR1cm4oMT09PSh0PWlzTmFOKHQpPzE6TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSk/InJnYigiOiJyZ2JhKCIpK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5yKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmcpfHwwKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMuYil8fDApKSsoMT09PXQ/IikiOiIsICIrdCsiKSIpfWZ1bmN0aW9uIE1RKHQpe3JldHVybigodD1NYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHQpfHwwKSkpPDE2PyIwIjoiIikrdC50b1N0cmluZygxNil9ZnVuY3Rpb24gRVEodCxlLG4saSl7cmV0dXJuIGk8PTA/dD1lPW49TmFOOm48PTB8fG4+PTE/dD1lPU5hTjplPD0wJiYodD1OYU4pLG5ldyBBUSh0LGUsbixpKX1mdW5jdGlvbiBUUSh0KXtpZih0IGluc3RhbmNlb2YgQVEpcmV0dXJuIG5ldyBBUSh0LmgsdC5zLHQubCx0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiB0UXx8KHQ9Z1EodCkpLCF0KXJldHVybiBuZXcgQVE7aWYodCBpbnN0YW5jZW9mIEFRKXJldHVybiB0O3ZhciBlPSh0PXQucmdiKCkpLnIvMjU1LG49dC5nLzI1NSxpPXQuYi8yNTUscj1NYXRoLm1pbihlLG4saSksbz1NYXRoLm1heChlLG4saSksYT1OYU4scz1vLXIsbD0obytyKS8yO3JldHVybiBzPyhhPWU9PT1vPyhuLWkpL3MrNioobjxpKTpuPT09bz8oaS1lKS9zKzI6KGUtbikvcys0LHMvPWw8LjU/bytyOjItby1yLGEqPTYwKTpzPWw+MCYmbDwxPzA6YSxuZXcgQVEoYSxzLGwsdC5vcGFjaXR5KX1mdW5jdGlvbiBDUSh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/VFEodCk6bmV3IEFRKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBBUSh0LGUsbixpKXt0aGlzLmg9K3QsdGhpcy5zPStlLHRoaXMubD0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24ga1EodCxlLG4pe3JldHVybiAyNTUqKHQ8NjA/ZSsobi1lKSp0LzYwOnQ8MTgwP246dDwyNDA/ZSsobi1lKSooMjQwLXQpLzYwOmUpfUpKKHRRLGdRLHtjb3B5OmZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuYXNzaWduKG5ldyB0aGlzLmNvbnN0cnVjdG9yLHRoaXMsdCl9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkuZGlzcGxheWFibGUoKX0saGV4OmZRLGZvcm1hdEhleDpmUSxmb3JtYXRIc2w6ZnVuY3Rpb24gTFEoKXtyZXR1cm4gVFEodGhpcykuZm9ybWF0SHNsKCl9LGZvcm1hdFJnYjptUSx0b1N0cmluZzptUX0pLEpKKHhRLGJRLFFKKHRRLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P25ROk1hdGgucG93KG5RLHQpLG5ldyB4USh0aGlzLnIqdCx0aGlzLmcqdCx0aGlzLmIqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9lUTpNYXRoLnBvdyhlUSx0KSxuZXcgeFEodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuLS41PD10aGlzLnImJnRoaXMucjwyNTUuNSYmLS41PD10aGlzLmcmJnRoaXMuZzwyNTUuNSYmLS41PD10aGlzLmImJnRoaXMuYjwyNTUuNSYmMDw9dGhpcy5vcGFjaXR5JiZ0aGlzLm9wYWNpdHk8PTF9LGhleDp3USxmb3JtYXRIZXg6d1EsZm9ybWF0UmdiOlNRLHRvU3RyaW5nOlNRfSkpLEpKKEFRLENRLFFKKHRRLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P25ROk1hdGgucG93KG5RLHQpLG5ldyBBUSh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P2VROk1hdGgucG93KGVRLHQpLG5ldyBBUSh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuaCUzNjArMzYwKih0aGlzLmg8MCksZT1pc05hTih0KXx8aXNOYU4odGhpcy5zKT8wOnRoaXMucyxuPXRoaXMubCxpPW4rKG48LjU/bjoxLW4pKmUscj0yKm4taTtyZXR1cm4gbmV3IHhRKGtRKHQ+PTI0MD90LTI0MDp0KzEyMCxyLGkpLGtRKHQscixpKSxrUSh0PDEyMD90KzI0MDp0LTEyMCxyLGkpLHRoaXMub3BhY2l0eSl9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuKDA8PXRoaXMucyYmdGhpcy5zPD0xfHxpc05hTih0aGlzLnMpKSYmMDw9dGhpcy5sJiZ0aGlzLmw8PTEmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxmb3JtYXRIc2w6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJoc2woIjoiaHNsYSgiKSsodGhpcy5ofHwwKSsiLCAiKzEwMCoodGhpcy5zfHwwKSsiJSwgIisxMDAqKHRoaXMubHx8MCkrIiUiKygxPT09dD8iKSI6IiwgIit0KyIpIil9fSkpO3ZhciBQUT1NYXRoLlBJLzE4MCxOUT0xODAvTWF0aC5QSSxJUT0uOTY0MjIsUlE9LjgyNTIxLE9RPTQvMjkselE9Ni8yOSxEUT0zKnpRKnpRO2Z1bmN0aW9uIEJRKHQpe2lmKHQgaW5zdGFuY2VvZiBGUSlyZXR1cm4gbmV3IEZRKHQubCx0LmEsdC5iLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIFlRKXJldHVybiBYUSh0KTt0IGluc3RhbmNlb2YgeFF8fCh0PXZRKHQpKTt2YXIgZSxuLGk9R1EodC5yKSxyPUdRKHQuZyksbz1HUSh0LmIpLGE9VlEoKC4yMjI1MDQ1KmkrLjcxNjg3ODYqcisuMDYwNjE2OSpvKS8xKTtyZXR1cm4gaT09PXImJnI9PT1vP2U9bj1hOihlPVZRKCguNDM2MDc0NyppKy4zODUwNjQ5KnIrLjE0MzA4MDQqbykvSVEpLG49VlEoKC4wMTM5MzIyKmkrLjA5NzEwNDUqcisuNzE0MTczMypvKS9SUSkpLG5ldyBGUSgxMTYqYS0xNiw1MDAqKGUtYSksMjAwKihhLW4pLHQub3BhY2l0eSl9ZnVuY3Rpb24gSFEodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP0JRKHQpOm5ldyBGUSh0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24gRlEodCxlLG4saSl7dGhpcy5sPSt0LHRoaXMuYT0rZSx0aGlzLmI9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIFZRKHQpe3JldHVybiB0Pi4wMDg4NTY0NTE2NzkwMzU2MzE/TWF0aC5wb3codCwxLzMpOnQvRFErT1F9ZnVuY3Rpb24gVVEodCl7cmV0dXJuIHQ+elE/dCp0KnQ6RFEqKHQtT1EpfWZ1bmN0aW9uIGpRKHQpe3JldHVybiAyNTUqKHQ8PS4wMDMxMzA4PzEyLjkyKnQ6MS4wNTUqTWF0aC5wb3codCwxLzIuNCktLjA1NSl9ZnVuY3Rpb24gR1EodCl7cmV0dXJuKHQvPTI1NSk8PS4wNDA0NT90LzEyLjkyOk1hdGgucG93KCh0Ky4wNTUpLzEuMDU1LDIuNCl9ZnVuY3Rpb24gV1EodCl7aWYodCBpbnN0YW5jZW9mIFlRKXJldHVybiBuZXcgWVEodC5oLHQuYyx0LmwsdC5vcGFjaXR5KTtpZih0IGluc3RhbmNlb2YgRlF8fCh0PUJRKHQpKSwwPT09dC5hJiYwPT09dC5iKXJldHVybiBuZXcgWVEoTmFOLDA8dC5sJiZ0Lmw8MTAwPzA6TmFOLHQubCx0Lm9wYWNpdHkpO3ZhciBlPU1hdGguYXRhbjIodC5iLHQuYSkqTlE7cmV0dXJuIG5ldyBZUShlPDA/ZSszNjA6ZSxNYXRoLnNxcnQodC5hKnQuYSt0LmIqdC5iKSx0LmwsdC5vcGFjaXR5KX1mdW5jdGlvbiBxUSh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/V1EodCk6bmV3IFlRKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBZUSh0LGUsbixpKXt0aGlzLmg9K3QsdGhpcy5jPStlLHRoaXMubD0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24gWFEodCl7aWYoaXNOYU4odC5oKSlyZXR1cm4gbmV3IEZRKHQubCwwLDAsdC5vcGFjaXR5KTt2YXIgZT10LmgqUFE7cmV0dXJuIG5ldyBGUSh0LmwsTWF0aC5jb3MoZSkqdC5jLE1hdGguc2luKGUpKnQuYyx0Lm9wYWNpdHkpfUpKKEZRLEhRLFFKKHRRLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IEZRKHRoaXMubCsxOCoobnVsbD09dD8xOnQpLHRoaXMuYSx0aGlzLmIsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRlEodGhpcy5sLTE4KihudWxsPT10PzE6dCksdGhpcy5hLHRoaXMuYix0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD0odGhpcy5sKzE2KS8xMTYsZT1pc05hTih0aGlzLmEpP3Q6dCt0aGlzLmEvNTAwLG49aXNOYU4odGhpcy5iKT90OnQtdGhpcy5iLzIwMDtyZXR1cm4gbmV3IHhRKGpRKDMuMTMzODU2MSooZT1JUSpVUShlKSktMS42MTY4NjY3Kih0PTEqVVEodCkpLS40OTA2MTQ2KihuPVJRKlVRKG4pKSksalEoLS45Nzg3Njg0KmUrMS45MTYxNDE1KnQrLjAzMzQ1NCpuKSxqUSguMDcxOTQ1MyplLS4yMjg5OTE0KnQrMS40MDUyNDI3Km4pLHRoaXMub3BhY2l0eSl9fSkpLEpKKFlRLHFRLFFKKHRRLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IFlRKHRoaXMuaCx0aGlzLmMsdGhpcy5sKzE4KihudWxsPT10PzE6dCksdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgWVEodGhpcy5oLHRoaXMuYyx0aGlzLmwtMTgqKG51bGw9PXQ/MTp0KSx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXtyZXR1cm4gWFEodGhpcykucmdiKCl9fSkpO3ZhciAkUT0tLjE0ODYxLEtRPTEuNzgyNzcsWlE9LS4yOTIyNyxKUT0tLjkwNjQ5LFFRPTEuOTcyOTQsdDE9UVEqSlEsZTE9UVEqS1EsbjE9S1EqWlEtSlEqJFE7ZnVuY3Rpb24gaTEodCl7aWYodCBpbnN0YW5jZW9mIG8xKXJldHVybiBuZXcgbzEodC5oLHQucyx0LmwsdC5vcGFjaXR5KTt0IGluc3RhbmNlb2YgeFF8fCh0PXZRKHQpKTt2YXIgZT10LmcvMjU1LG49dC5iLzI1NSxpPShuMSpuK3QxKih0LnIvMjU1KS1lMSplKS8tNS45NjE1MTIyOTEyLHI9bi1pLG89KFFRKihlLWkpLVpRKnIpL0pRLGE9TWF0aC5zcXJ0KG8qbytyKnIpLyhRUSppKigxLWkpKSxzPWE/TWF0aC5hdGFuMihvLHIpKk5RLTEyMDpOYU47cmV0dXJuIG5ldyBvMShzPDA/cyszNjA6cyxhLGksdC5vcGFjaXR5KX1mdW5jdGlvbiByMSh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/aTEodCk6bmV3IG8xKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBvMSh0LGUsbixpKXt0aGlzLmg9K3QsdGhpcy5zPStlLHRoaXMubD0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24gYTEodCxlLG4saSxyKXt2YXIgbz10KnQsYT1vKnQ7cmV0dXJuKCgxLTMqdCszKm8tYSkqZSsoNC02Km8rMyphKSpuKygxKzMqdCszKm8tMyphKSppK2EqcikvNn1mdW5jdGlvbiBzMSh0KXt2YXIgZT10Lmxlbmd0aC0xO3JldHVybiBmdW5jdGlvbihuKXt2YXIgaT1uPD0wP249MDpuPj0xPyhuPTEsZS0xKTpNYXRoLmZsb29yKG4qZSkscj10W2ldLG89dFtpKzFdO3JldHVybiBhMSgobi1pL2UpKmUsaT4wP3RbaS0xXToyKnItbyxyLG8saTxlLTE/dFtpKzJdOjIqby1yKX19ZnVuY3Rpb24gbDEodCl7dmFyIGU9dC5sZW5ndGg7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBpPU1hdGguZmxvb3IoKChuJT0xKTwwPysrbjpuKSplKTtyZXR1cm4gYTEoKG4taS9lKSplLHRbKGkrZS0xKSVlXSx0W2klZV0sdFsoaSsxKSVlXSx0WyhpKzIpJWVdKX19ZnVuY3Rpb24gYzEodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIHUxKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0K24qZX19ZnVuY3Rpb24gaDEodCxlKXt2YXIgbj1lLXQ7cmV0dXJuIG4/dTEodCxuPjE4MHx8bjwtMTgwP24tMzYwKk1hdGgucm91bmQobi8zNjApOm4pOmMxKGlzTmFOKHQpP2U6dCl9ZnVuY3Rpb24gZDEodCl7cmV0dXJuIDE9PSh0PSt0KT9wMTpmdW5jdGlvbihlLG4pe3JldHVybiBuLWU/KGZ1bmN0aW9uIGkodCxlLG4pe3JldHVybiB0PU1hdGgucG93KHQsbiksZT1NYXRoLnBvdyhlLG4pLXQsbj0xL24sZnVuY3Rpb24oaSl7cmV0dXJuIE1hdGgucG93KHQraSplLG4pfX0pKGUsbix0KTpjMShpc05hTihlKT9uOmUpfX1mdW5jdGlvbiBwMSh0LGUpe3ZhciBuPWUtdDtyZXR1cm4gbj91MSh0LG4pOmMxKGlzTmFOKHQpP2U6dCl9SkoobzEscjEsUUoodFEse2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/blE6TWF0aC5wb3coblEsdCksbmV3IG8xKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/ZVE6TWF0aC5wb3coZVEsdCksbmV3IG8xKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9aXNOYU4odGhpcy5oKT8wOih0aGlzLmgrMTIwKSpQUSxlPSt0aGlzLmwsbj1pc05hTih0aGlzLnMpPzA6dGhpcy5zKmUqKDEtZSksaT1NYXRoLmNvcyh0KSxyPU1hdGguc2luKHQpO3JldHVybiBuZXcgeFEoMjU1KihlK24qKCRRKmkrS1EqcikpLDI1NSooZStuKihaUSppK0pRKnIpKSwyNTUqKGUrbiooUVEqaSkpLHRoaXMub3BhY2l0eSl9fSkpO3ZhciBmMT0oZnVuY3Rpb24gdChlKXt2YXIgbj1kMShlKTtmdW5jdGlvbiBpKHQsZSl7dmFyIGk9bigodD1iUSh0KSkuciwoZT1iUShlKSkucikscj1uKHQuZyxlLmcpLG89bih0LmIsZS5iKSxhPXAxKHQub3BhY2l0eSxlLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5yPWkoZSksdC5nPXIoZSksdC5iPW8oZSksdC5vcGFjaXR5PWEoZSksdCsiIn19cmV0dXJuIGkuZ2FtbWE9dCxpfSkoMSk7ZnVuY3Rpb24gbTEodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuLGkscj1lLmxlbmd0aCxvPW5ldyBBcnJheShyKSxhPW5ldyBBcnJheShyKSxzPW5ldyBBcnJheShyKTtmb3Iobj0wO248cjsrK24paT1iUShlW25dKSxvW25dPWkucnx8MCxhW25dPWkuZ3x8MCxzW25dPWkuYnx8MDtyZXR1cm4gbz10KG8pLGE9dChhKSxzPXQocyksaS5vcGFjaXR5PTEsZnVuY3Rpb24odCl7cmV0dXJuIGkucj1vKHQpLGkuZz1hKHQpLGkuYj1zKHQpLGkrIiJ9fX12YXIgZzE9bTEoczEpLF8xPW0xKGwxKTtmdW5jdGlvbiB5MSh0LGUpe3ZhciBuLGk9ZT9lLmxlbmd0aDowLHI9dD9NYXRoLm1pbihpLHQubGVuZ3RoKTowLG89bmV3IEFycmF5KHIpLGE9bmV3IEFycmF5KGkpO2ZvcihuPTA7bjxyOysrbilvW25dPUUxKHRbbl0sZVtuXSk7Zm9yKDtuPGk7KytuKWFbbl09ZVtuXTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKG49MDtuPHI7KytuKWFbbl09b1tuXSh0KTtyZXR1cm4gYX19ZnVuY3Rpb24gdjEodCxlKXt2YXIgbj1uZXcgRGF0ZTtyZXR1cm4gZS09dD0rdCxmdW5jdGlvbihpKXtyZXR1cm4gbi5zZXRUaW1lKHQrZSppKSxufX1mdW5jdGlvbiBiMSh0LGUpe3JldHVybiBlLT10PSt0LGZ1bmN0aW9uKG4pe3JldHVybiB0K2Uqbn19ZnVuY3Rpb24geDEodCxlKXt2YXIgbixpPXt9LHI9e307Zm9yKG4gaW4gbnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdHx8KHQ9e30pLG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGV8fChlPXt9KSxlKW4gaW4gdD9pW25dPUUxKHRbbl0sZVtuXSk6cltuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3IobiBpbiBpKXJbbl09aVtuXSh0KTtyZXR1cm4gcn19dmFyIHcxPS9bLStdPyg/OlxkK1wuP1xkKnxcLj9cZCspKD86W2VFXVstK10/XGQrKT8vZyxTMT1uZXcgUmVnRXhwKHcxLnNvdXJjZSwiZyIpO2Z1bmN0aW9uIE0xKHQsZSl7dmFyIG4saSxyLG89dzEubGFzdEluZGV4PVMxLmxhc3RJbmRleD0wLGE9LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsobj13MS5leGVjKHQpKSYmKGk9UzEuZXhlYyhlKSk7KShyPWkuaW5kZXgpPm8mJihyPWUuc2xpY2UobyxyKSxzW2FdP3NbYV0rPXI6c1srK2FdPXIpLChuPW5bMF0pPT09KGk9aVswXSk/c1thXT9zW2FdKz1pOnNbKythXT1pOihzWysrYV09bnVsbCxsLnB1c2goe2k6YSx4OmIxKG4saSl9KSksbz1TMS5sYXN0SW5kZXg7cmV0dXJuIG88ZS5sZW5ndGgmJihyPWUuc2xpY2Uobyksc1thXT9zW2FdKz1yOnNbKythXT1yKSxzLmxlbmd0aDwyP2xbMF0/KGZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpKyIifX0pKGxbMF0ueCk6KGZ1bmN0aW9uIHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkoZSk6KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciBuLGk9MDtpPGU7KytpKXNbKG49bFtpXSkuaV09bi54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9ZnVuY3Rpb24gRTEodCxlKXt2YXIgbixpPXR5cGVvZiBlO3JldHVybiBudWxsPT1lfHwiYm9vbGVhbiI9PT1pP2MxKGUpOigibnVtYmVyIj09PWk/YjE6InN0cmluZyI9PT1pPyhuPWdRKGUpKT8oZT1uLGYxKTpNMTplIGluc3RhbmNlb2YgZ1E/ZjE6ZSBpbnN0YW5jZW9mIERhdGU/djE6QXJyYXkuaXNBcnJheShlKT95MToiZnVuY3Rpb24iIT10eXBlb2YgZS52YWx1ZU9mJiYiZnVuY3Rpb24iIT10eXBlb2YgZS50b1N0cmluZ3x8aXNOYU4oZSk/eDE6YjEpKHQsZSl9dmFyIFQxLEMxLEExLGsxLEwxPTE4MC9NYXRoLlBJLFAxPXt0cmFuc2xhdGVYOjAsdHJhbnNsYXRlWTowLHJvdGF0ZTowLHNrZXdYOjAsc2NhbGVYOjEsc2NhbGVZOjF9O2Z1bmN0aW9uIE4xKHQsZSxuLGkscixvKXt2YXIgYSxzLGw7cmV0dXJuKGE9TWF0aC5zcXJ0KHQqdCtlKmUpKSYmKHQvPWEsZS89YSksKGw9dCpuK2UqaSkmJihuLT10KmwsaS09ZSpsKSwocz1NYXRoLnNxcnQobipuK2kqaSkpJiYobi89cyxpLz1zLGwvPXMpLHQqaTxlKm4mJih0PS10LGU9LWUsbD0tbCxhPS1hKSx7dHJhbnNsYXRlWDpyLHRyYW5zbGF0ZVk6byxyb3RhdGU6TWF0aC5hdGFuMihlLHQpKkwxLHNrZXdYOk1hdGguYXRhbihsKSpMMSxzY2FsZVg6YSxzY2FsZVk6c319ZnVuY3Rpb24gSTEodCxlLG4saSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5sZW5ndGg/dC5wb3AoKSsiICI6IiJ9cmV0dXJuIGZ1bmN0aW9uKG8sYSl7dmFyIHM9W10sbD1bXTtyZXR1cm4gbz10KG8pLGE9dChhKSwoZnVuY3Rpb24gYyh0LGkscixvLGEscyl7aWYodCE9PXJ8fGkhPT1vKXt2YXIgbD1hLnB1c2goInRyYW5zbGF0ZSgiLG51bGwsZSxudWxsLG4pO3MucHVzaCh7aTpsLTQseDpiMSh0LHIpfSx7aTpsLTIseDpiMShpLG8pfSl9ZWxzZShyfHxvKSYmYS5wdXNoKCJ0cmFuc2xhdGUoIityK2UrbytuKX0pKG8udHJhbnNsYXRlWCxvLnRyYW5zbGF0ZVksYS50cmFuc2xhdGVYLGEudHJhbnNsYXRlWSxzLGwpLChmdW5jdGlvbiB1KHQsZSxuLG8pe3QhPT1lPyh0LWU+MTgwP2UrPTM2MDplLXQ+MTgwJiYodCs9MzYwKSxvLnB1c2goe2k6bi5wdXNoKHIobikrInJvdGF0ZSgiLG51bGwsaSktMix4OmIxKHQsZSl9KSk6ZSYmbi5wdXNoKHIobikrInJvdGF0ZSgiK2UraSl9KShvLnJvdGF0ZSxhLnJvdGF0ZSxzLGwpLChmdW5jdGlvbiBoKHQsZSxuLG8pe3QhPT1lP28ucHVzaCh7aTpuLnB1c2gocihuKSsic2tld1goIixudWxsLGkpLTIseDpiMSh0LGUpfSk6ZSYmbi5wdXNoKHIobikrInNrZXdYKCIrZStpKX0pKG8uc2tld1gsYS5za2V3WCxzLGwpLChmdW5jdGlvbiBkKHQsZSxuLGksbyxhKXtpZih0IT09bnx8ZSE9PWkpe3ZhciBzPW8ucHVzaChyKG8pKyJzY2FsZSgiLG51bGwsIiwiLG51bGwsIikiKTthLnB1c2goe2k6cy00LHg6YjEodCxuKX0se2k6cy0yLHg6YjEoZSxpKX0pfWVsc2UgMT09PW4mJjE9PT1pfHxvLnB1c2gocihvKSsic2NhbGUoIituKyIsIitpKyIpIil9KShvLnNjYWxlWCxvLnNjYWxlWSxhLnNjYWxlWCxhLnNjYWxlWSxzLGwpLG89YT1udWxsLGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPS0xLGk9bC5sZW5ndGg7KytuPGk7KXNbKGU9bFtuXSkuaV09ZS54KHQpO3JldHVybiBzLmpvaW4oIiIpfX19dmFyIFIxPUkxKChmdW5jdGlvbiBPMSh0KXtyZXR1cm4ibm9uZSI9PT10P1AxOihUMXx8KFQxPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpLEMxPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxBMT1kb2N1bWVudC5kZWZhdWx0VmlldyksVDEuc3R5bGUudHJhbnNmb3JtPXQsdD1BMS5nZXRDb21wdXRlZFN0eWxlKEMxLmFwcGVuZENoaWxkKFQxKSxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJ0cmFuc2Zvcm0iKSxDMS5yZW1vdmVDaGlsZChUMSksTjEoKyh0PXQuc2xpY2UoNywtMSkuc3BsaXQoIiwiKSlbMF0sK3RbMV0sK3RbMl0sK3RbM10sK3RbNF0sK3RbNV0pKX0pLCJweCwgIiwicHgpIiwiZGVnKSIpLHoxPUkxKChmdW5jdGlvbiBEMSh0KXtyZXR1cm4gbnVsbD09dD9QMTooazF8fChrMT1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpKSxrMS5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsdCksKHQ9azEudHJhbnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKSk/TjEoKHQ9dC5tYXRyaXgpLmEsdC5iLHQuYyx0LmQsdC5lLHQuZik6UDEpfSksIiwgIiwiKSIsIikiKSxCMT1NYXRoLlNRUlQyO2Z1bmN0aW9uIEgxKHQpe3JldHVybigodD1NYXRoLmV4cCh0KSkrMS90KS8yfWZ1bmN0aW9uIEYxKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciBpPXQoKGU9Q1EoZSkpLmgsKG49Q1EobikpLmgpLHI9cDEoZS5zLG4ucyksbz1wMShlLmwsbi5sKSxhPXAxKGUub3BhY2l0eSxuLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZS5oPWkodCksZS5zPXIodCksZS5sPW8odCksZS5vcGFjaXR5PWEodCksZSsiIn19fXZhciBWMT1GMShoMSksVTE9RjEocDEpO2Z1bmN0aW9uIGoxKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciBpPXQoKGU9cVEoZSkpLmgsKG49cVEobikpLmgpLHI9cDEoZS5jLG4uYyksbz1wMShlLmwsbi5sKSxhPXAxKGUub3BhY2l0eSxuLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZS5oPWkodCksZS5jPXIodCksZS5sPW8odCksZS5vcGFjaXR5PWEodCksZSsiIn19fXZhciBHMT1qMShoMSksVzE9ajEocDEpO2Z1bmN0aW9uIHExKHQpe3JldHVybihmdW5jdGlvbiBlKG4pe2Z1bmN0aW9uIGkoZSxpKXt2YXIgcj10KChlPXIxKGUpKS5oLChpPXIxKGkpKS5oKSxvPXAxKGUucyxpLnMpLGE9cDEoZS5sLGkubCkscz1wMShlLm9wYWNpdHksaS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGUuaD1yKHQpLGUucz1vKHQpLGUubD1hKE1hdGgucG93KHQsbikpLGUub3BhY2l0eT1zKHQpLGUrIiJ9fXJldHVybiBuPStuLGkuZ2FtbWE9ZSxpfSkoMSl9dmFyIFkxPXExKGgxKSxYMT1xMShwMSk7dmFyICQxPU1hdGguUEksSzE9MiokMSxaMT0xZS02LEoxPUsxLVoxO2Z1bmN0aW9uIFExKCl7dGhpcy5feDA9dGhpcy5feTA9dGhpcy5feDE9dGhpcy5feTE9bnVsbCx0aGlzLl89IiJ9ZnVuY3Rpb24gdDAoKXtyZXR1cm4gbmV3IFExfWZ1bmN0aW9uIGUwKHQsZSxuKXtyZXR1cm4oZVswXS10WzBdKSooblsxXS10WzFdKS0oZVsxXS10WzFdKSooblswXS10WzBdKX1mdW5jdGlvbiBuMCh0LGUpe3JldHVybiB0WzBdLWVbMF18fHRbMV0tZVsxXX1mdW5jdGlvbiBpMCh0KXtmb3IodmFyIGU9dC5sZW5ndGgsbj1bMCwxXSxpPTIscj0yO3I8ZTsrK3Ipe2Zvcig7aT4xJiZlMCh0W25baS0yXV0sdFtuW2ktMV1dLHRbcl0pPD0wOyktLWk7bltpKytdPXJ9cmV0dXJuIG4uc2xpY2UoMCxpKX1mdW5jdGlvbiByMCh0LGUsbixpKXtpZihpc05hTihlKXx8aXNOYU4obikpcmV0dXJuIHQ7dmFyIHIsbyxhLHMsbCxjLHUsaCxkLHA9dC5fcm9vdCxmPXtkYXRhOml9LG09dC5feDAsZz10Ll95MCxfPXQuX3gxLHk9dC5feTE7aWYoIXApcmV0dXJuIHQuX3Jvb3Q9Zix0O2Zvcig7cC5sZW5ndGg7KWlmKChjPWU+PShvPShtK18pLzIpKT9tPW86Xz1vLCh1PW4+PShhPShnK3kpLzIpKT9nPWE6eT1hLHI9cCwhKHA9cFtoPXU8PDF8Y10pKXJldHVybiByW2hdPWYsdDtpZihzPSt0Ll94LmNhbGwobnVsbCxwLmRhdGEpLGw9K3QuX3kuY2FsbChudWxsLHAuZGF0YSksZT09PXMmJm49PT1sKXJldHVybiBmLm5leHQ9cCxyP3JbaF09Zjp0Ll9yb290PWYsdDtkb3tyPXI/cltoXT1uZXcgQXJyYXkoNCk6dC5fcm9vdD1uZXcgQXJyYXkoNCksKGM9ZT49KG89KG0rXykvMikpP209bzpfPW8sKHU9bj49KGE9KGcreSkvMikpP2c9YTp5PWF9d2hpbGUoKGg9dTw8MXxjKT09KGQ9KGw+PWEpPDwxfHM+PW8pKTtyZXR1cm4gcltkXT1wLHJbaF09Zix0fWZ1bmN0aW9uIG8wKHQsZSxuLGkscil7dGhpcy5ub2RlPXQsdGhpcy54MD1lLHRoaXMueTA9bix0aGlzLngxPWksdGhpcy55MT1yfWZ1bmN0aW9uIGEwKHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIHMwKHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIGwwKHQsZSxuKXt2YXIgaT1uZXcgYzAobnVsbD09ZT9hMDplLG51bGw9PW4/czA6bixOYU4sTmFOLE5hTixOYU4pO3JldHVybiBudWxsPT10P2k6aS5hZGRBbGwodCl9ZnVuY3Rpb24gYzAodCxlLG4saSxyLG8pe3RoaXMuX3g9dCx0aGlzLl95PWUsdGhpcy5feDA9bix0aGlzLl95MD1pLHRoaXMuX3gxPXIsdGhpcy5feTE9byx0aGlzLl9yb290PXZvaWQgMH1mdW5jdGlvbiB1MCh0KXtmb3IodmFyIGU9e2RhdGE6dC5kYXRhfSxuPWU7dD10Lm5leHQ7KW49bi5uZXh0PXtkYXRhOnQuZGF0YX07cmV0dXJuIGV9UTEucHJvdG90eXBlPXQwLnByb3RvdHlwZT17Y29uc3RydWN0b3I6UTEsbW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fKz0iTSIrKHRoaXMuX3gwPXRoaXMuX3gxPSt0KSsiLCIrKHRoaXMuX3kwPXRoaXMuX3kxPStlKX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX3gxJiYodGhpcy5feDE9dGhpcy5feDAsdGhpcy5feTE9dGhpcy5feTAsdGhpcy5fKz0iWiIpfSxsaW5lVG86ZnVuY3Rpb24odCxlKXt0aGlzLl8rPSJMIisodGhpcy5feDE9K3QpKyIsIisodGhpcy5feTE9K2UpfSxxdWFkcmF0aWNDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLGkpe3RoaXMuXys9IlEiKyArdCsiLCIrICtlKyIsIisodGhpcy5feDE9K24pKyIsIisodGhpcy5feTE9K2kpfSxiZXppZXJDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLGkscixvKXt0aGlzLl8rPSJDIisgK3QrIiwiKyArZSsiLCIrICtuKyIsIisgK2krIiwiKyh0aGlzLl94MT0rcikrIiwiKyh0aGlzLl95MT0rbyl9LGFyY1RvOmZ1bmN0aW9uKHQsZSxuLGkscil7dmFyIG89dGhpcy5feDEsYT10aGlzLl95MSxzPShuPStuKS0odD0rdCksbD0oaT0raSktKGU9K2UpLGM9by10LHU9YS1lLGg9YypjK3UqdTtpZigocj0rcik8MCl0aHJvdyBuZXcgRXJyb3IoIm5lZ2F0aXZlIHJhZGl1czogIityKTtpZihudWxsPT09dGhpcy5feDEpdGhpcy5fKz0iTSIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZSBpZihoPloxKWlmKE1hdGguYWJzKHUqcy1sKmMpPloxJiZyKXt2YXIgZD1uLW8scD1pLWEsZj1zKnMrbCpsLG09ZCpkK3AqcCxnPU1hdGguc3FydChmKSxfPU1hdGguc3FydChoKSx5PXIqTWF0aC50YW4oKCQxLU1hdGguYWNvcygoZitoLW0pLygyKmcqXykpKS8yKSx2PXkvXyxiPXkvZztNYXRoLmFicyh2LTEpPloxJiYodGhpcy5fKz0iTCIrKHQrdipjKSsiLCIrKGUrdip1KSksdGhpcy5fKz0iQSIrcisiLCIrcisiLDAsMCwiKyArKHUqZD5jKnApKyIsIisodGhpcy5feDE9dCtiKnMpKyIsIisodGhpcy5feTE9ZStiKmwpfWVsc2UgdGhpcy5fKz0iTCIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZTt9LGFyYzpmdW5jdGlvbih0LGUsbixpLHIsbyl7dD0rdCxlPStlO3ZhciBhPShuPStuKSpNYXRoLmNvcyhpKSxzPW4qTWF0aC5zaW4oaSksbD10K2EsYz1lK3MsdT0xXm8saD1vP2ktcjpyLWk7aWYobjwwKXRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiK24pO251bGw9PT10aGlzLl94MT90aGlzLl8rPSJNIitsKyIsIitjOihNYXRoLmFicyh0aGlzLl94MS1sKT5aMXx8TWF0aC5hYnModGhpcy5feTEtYyk+WjEpJiYodGhpcy5fKz0iTCIrbCsiLCIrYyksbiYmKGg8MCYmKGg9aCVLMStLMSksaD5KMT90aGlzLl8rPSJBIituKyIsIituKyIsMCwxLCIrdSsiLCIrKHQtYSkrIiwiKyhlLXMpKyJBIituKyIsIituKyIsMCwxLCIrdSsiLCIrKHRoaXMuX3gxPWwpKyIsIisodGhpcy5feTE9Yyk6aD5aMSYmKHRoaXMuXys9IkEiK24rIiwiK24rIiwwLCIrICsoaD49JDEpKyIsIit1KyIsIisodGhpcy5feDE9dCtuKk1hdGguY29zKHIpKSsiLCIrKHRoaXMuX3kxPWUrbipNYXRoLnNpbihyKSkpKX0scmVjdDpmdW5jdGlvbih0LGUsbixpKXt0aGlzLl8rPSJNIisodGhpcy5feDA9dGhpcy5feDE9K3QpKyIsIisodGhpcy5feTA9dGhpcy5feTE9K2UpKyJoIisgK24rInYiKyAraSsiaCIrLW4rIloifSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl99fTt2YXIgaDA9bDAucHJvdG90eXBlPWMwLnByb3RvdHlwZTtoMC5jb3B5PWZ1bmN0aW9uKCl7dmFyIHQsZSxuPW5ldyBjMCh0aGlzLl94LHRoaXMuX3ksdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpLGk9dGhpcy5fcm9vdDtpZighaSlyZXR1cm4gbjtpZighaS5sZW5ndGgpcmV0dXJuIG4uX3Jvb3Q9dTAoaSksbjtmb3IodD1be3NvdXJjZTppLHRhcmdldDpuLl9yb290PW5ldyBBcnJheSg0KX1dO2k9dC5wb3AoKTspZm9yKHZhciByPTA7cjw0OysrcikoZT1pLnNvdXJjZVtyXSkmJihlLmxlbmd0aD90LnB1c2goe3NvdXJjZTplLHRhcmdldDppLnRhcmdldFtyXT1uZXcgQXJyYXkoNCl9KTppLnRhcmdldFtyXT11MChlKSk7cmV0dXJuIG59LGgwLmFkZD1mdW5jdGlvbiBkMCh0KXt2YXIgZT0rdGhpcy5feC5jYWxsKG51bGwsdCksbj0rdGhpcy5feS5jYWxsKG51bGwsdCk7cmV0dXJuIHIwKHRoaXMuY292ZXIoZSxuKSxlLG4sdCl9LGgwLmFkZEFsbD1mdW5jdGlvbiBwMCh0KXt2YXIgZSxuLGkscixvPXQubGVuZ3RoLGE9bmV3IEFycmF5KG8pLHM9bmV3IEFycmF5KG8pLGw9MS8wLGM9MS8wLHU9LTEvMCxoPS0xLzA7Zm9yKG49MDtuPG87KytuKWlzTmFOKGk9K3RoaXMuX3guY2FsbChudWxsLGU9dFtuXSkpfHxpc05hTihyPSt0aGlzLl95LmNhbGwobnVsbCxlKSl8fChhW25dPWksc1tuXT1yLGk8bCYmKGw9aSksaT51JiYodT1pKSxyPGMmJihjPXIpLHI+aCYmKGg9cikpO2Zvcih1PGwmJihsPXRoaXMuX3gwLHU9dGhpcy5feDEpLGg8YyYmKGM9dGhpcy5feTAsaD10aGlzLl95MSksdGhpcy5jb3ZlcihsLGMpLmNvdmVyKHUsaCksbj0wO248bzsrK24pcjAodGhpcyxhW25dLHNbbl0sdFtuXSk7cmV0dXJuIHRoaXN9LGgwLmNvdmVyPWZ1bmN0aW9uIGYwKHQsZSl7aWYoaXNOYU4odD0rdCl8fGlzTmFOKGU9K2UpKXJldHVybiB0aGlzO3ZhciBuPXRoaXMuX3gwLGk9dGhpcy5feTAscj10aGlzLl94MSxvPXRoaXMuX3kxO2lmKGlzTmFOKG4pKXI9KG49TWF0aC5mbG9vcih0KSkrMSxvPShpPU1hdGguZmxvb3IoZSkpKzE7ZWxzZXtpZighKG4+dHx8dD5yfHxpPmV8fGU+bykpcmV0dXJuIHRoaXM7dmFyIGEscyxsPXItbixjPXRoaXMuX3Jvb3Q7c3dpdGNoKHM9KGU8KGkrbykvMik8PDF8dDwobityKS8yKXtjYXNlIDA6ZG97KGE9bmV3IEFycmF5KDQpKVtzXT1jLGM9YX13aGlsZShvPWkrKGwqPTIpLHQ+KHI9bitsKXx8ZT5vKTticmVhaztjYXNlIDE6ZG97KGE9bmV3IEFycmF5KDQpKVtzXT1jLGM9YX13aGlsZShvPWkrKGwqPTIpLChuPXItbCk+dHx8ZT5vKTticmVhaztjYXNlIDI6ZG97KGE9bmV3IEFycmF5KDQpKVtzXT1jLGM9YX13aGlsZShpPW8tKGwqPTIpLHQ+KHI9bitsKXx8aT5lKTticmVhaztjYXNlIDM6ZG97KGE9bmV3IEFycmF5KDQpKVtzXT1jLGM9YX13aGlsZShpPW8tKGwqPTIpLChuPXItbCk+dHx8aT5lKX10aGlzLl9yb290JiZ0aGlzLl9yb290Lmxlbmd0aCYmKHRoaXMuX3Jvb3Q9Yyl9cmV0dXJuIHRoaXMuX3gwPW4sdGhpcy5feTA9aSx0aGlzLl94MT1yLHRoaXMuX3kxPW8sdGhpc30saDAuZGF0YT1mdW5jdGlvbiBtMCgpe3ZhciB0PVtdO3JldHVybiB0aGlzLnZpc2l0KChmdW5jdGlvbihlKXtpZighZS5sZW5ndGgpZG97dC5wdXNoKGUuZGF0YSl9d2hpbGUoZT1lLm5leHQpfSkpLHR9LGgwLmV4dGVudD1mdW5jdGlvbiBnMCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmNvdmVyKCt0WzBdWzBdLCt0WzBdWzFdKS5jb3ZlcigrdFsxXVswXSwrdFsxXVsxXSk6aXNOYU4odGhpcy5feDApP3ZvaWQgMDpbW3RoaXMuX3gwLHRoaXMuX3kwXSxbdGhpcy5feDEsdGhpcy5feTFdXX0saDAuZmluZD1mdW5jdGlvbiBfMCh0LGUsbil7dmFyIGkscixvLGEscyxsLGMsdT10aGlzLl94MCxoPXRoaXMuX3kwLGQ9dGhpcy5feDEscD10aGlzLl95MSxmPVtdLG09dGhpcy5fcm9vdDtmb3IobSYmZi5wdXNoKG5ldyBvMChtLHUsaCxkLHApKSxudWxsPT1uP249MS8wOih1PXQtbixoPWUtbixkPXQrbixwPWUrbixuKj1uKTtsPWYucG9wKCk7KWlmKCEoIShtPWwubm9kZSl8fChyPWwueDApPmR8fChvPWwueTApPnB8fChhPWwueDEpPHV8fChzPWwueTEpPGgpKWlmKG0ubGVuZ3RoKXt2YXIgZz0ocithKS8yLF89KG8rcykvMjtmLnB1c2gobmV3IG8wKG1bM10sZyxfLGEscyksbmV3IG8wKG1bMl0scixfLGcscyksbmV3IG8wKG1bMV0sZyxvLGEsXyksbmV3IG8wKG1bMF0scixvLGcsXykpLChjPShlPj1fKTw8MXx0Pj1nKSYmKGw9ZltmLmxlbmd0aC0xXSxmW2YubGVuZ3RoLTFdPWZbZi5sZW5ndGgtMS1jXSxmW2YubGVuZ3RoLTEtY109bCl9ZWxzZXt2YXIgeT10LSt0aGlzLl94LmNhbGwobnVsbCxtLmRhdGEpLHY9ZS0rdGhpcy5feS5jYWxsKG51bGwsbS5kYXRhKSxiPXkqeSt2KnY7aWYoYjxuKXt2YXIgeD1NYXRoLnNxcnQobj1iKTt1PXQteCxoPWUteCxkPXQreCxwPWUreCxpPW0uZGF0YX19cmV0dXJuIGl9LGgwLnJlbW92ZT1mdW5jdGlvbiB5MCh0KXtpZihpc05hTihvPSt0aGlzLl94LmNhbGwobnVsbCx0KSl8fGlzTmFOKGE9K3RoaXMuX3kuY2FsbChudWxsLHQpKSlyZXR1cm4gdGhpczt2YXIgZSxuLGkscixvLGEscyxsLGMsdSxoLGQscD10aGlzLl9yb290LGY9dGhpcy5feDAsbT10aGlzLl95MCxnPXRoaXMuX3gxLF89dGhpcy5feTE7aWYoIXApcmV0dXJuIHRoaXM7aWYocC5sZW5ndGgpZm9yKDs7KXtpZigoYz1vPj0ocz0oZitnKS8yKSk/Zj1zOmc9cywodT1hPj0obD0obStfKS8yKSk/bT1sOl89bCxlPXAsIShwPXBbaD11PDwxfGNdKSlyZXR1cm4gdGhpcztpZighcC5sZW5ndGgpYnJlYWs7KGVbaCsxJjNdfHxlW2grMiYzXXx8ZVtoKzMmM10pJiYobj1lLGQ9aCl9Zm9yKDtwLmRhdGEhPT10OylpZihpPXAsIShwPXAubmV4dCkpcmV0dXJuIHRoaXM7cmV0dXJuKHI9cC5uZXh0KSYmZGVsZXRlIHAubmV4dCxpPyhyP2kubmV4dD1yOmRlbGV0ZSBpLm5leHQsdGhpcyk6ZT8ocj9lW2hdPXI6ZGVsZXRlIGVbaF0sKHA9ZVswXXx8ZVsxXXx8ZVsyXXx8ZVszXSkmJnA9PT0oZVszXXx8ZVsyXXx8ZVsxXXx8ZVswXSkmJiFwLmxlbmd0aCYmKG4/bltkXT1wOnRoaXMuX3Jvb3Q9cCksdGhpcyk6KHRoaXMuX3Jvb3Q9cix0aGlzKX0saDAucmVtb3ZlQWxsPWZ1bmN0aW9uIHYwKHQpe2Zvcih2YXIgZT0wLG49dC5sZW5ndGg7ZTxuOysrZSl0aGlzLnJlbW92ZSh0W2VdKTtyZXR1cm4gdGhpc30saDAucm9vdD1mdW5jdGlvbiBiMCgpe3JldHVybiB0aGlzLl9yb290fSxoMC5zaXplPWZ1bmN0aW9uIHgwKCl7dmFyIHQ9MDtyZXR1cm4gdGhpcy52aXNpdCgoZnVuY3Rpb24oZSl7aWYoIWUubGVuZ3RoKWRveysrdH13aGlsZShlPWUubmV4dCl9KSksdH0saDAudmlzaXQ9ZnVuY3Rpb24gdzAodCl7dmFyIGUsbixpLHIsbyxhLHM9W10sbD10aGlzLl9yb290O2ZvcihsJiZzLnB1c2gobmV3IG8wKGwsdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpKTtlPXMucG9wKCk7KWlmKCF0KGw9ZS5ub2RlLGk9ZS54MCxyPWUueTAsbz1lLngxLGE9ZS55MSkmJmwubGVuZ3RoKXt2YXIgYz0oaStvKS8yLHU9KHIrYSkvMjsobj1sWzNdKSYmcy5wdXNoKG5ldyBvMChuLGMsdSxvLGEpKSwobj1sWzJdKSYmcy5wdXNoKG5ldyBvMChuLGksdSxjLGEpKSwobj1sWzFdKSYmcy5wdXNoKG5ldyBvMChuLGMscixvLHUpKSwobj1sWzBdKSYmcy5wdXNoKG5ldyBvMChuLGkscixjLHUpKX1yZXR1cm4gdGhpc30saDAudmlzaXRBZnRlcj1mdW5jdGlvbiBTMCh0KXt2YXIgZSxuPVtdLGk9W107Zm9yKHRoaXMuX3Jvb3QmJm4ucHVzaChuZXcgbzAodGhpcy5fcm9vdCx0aGlzLl94MCx0aGlzLl95MCx0aGlzLl94MSx0aGlzLl95MSkpO2U9bi5wb3AoKTspe3ZhciByPWUubm9kZTtpZihyLmxlbmd0aCl7dmFyIG8sYT1lLngwLHM9ZS55MCxsPWUueDEsYz1lLnkxLHU9KGErbCkvMixoPShzK2MpLzI7KG89clswXSkmJm4ucHVzaChuZXcgbzAobyxhLHMsdSxoKSksKG89clsxXSkmJm4ucHVzaChuZXcgbzAobyx1LHMsbCxoKSksKG89clsyXSkmJm4ucHVzaChuZXcgbzAobyxhLGgsdSxjKSksKG89clszXSkmJm4ucHVzaChuZXcgbzAobyx1LGgsbCxjKSl9aS5wdXNoKGUpfWZvcig7ZT1pLnBvcCgpOyl0KGUubm9kZSxlLngwLGUueTAsZS54MSxlLnkxKTtyZXR1cm4gdGhpc30saDAueD1mdW5jdGlvbiBNMCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5feD10LHRoaXMpOnRoaXMuX3h9LGgwLnk9ZnVuY3Rpb24gRTAodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3k9dCx0aGlzKTp0aGlzLl95fTt2YXIgVDA9W10uc2xpY2UsQzA9e307ZnVuY3Rpb24gQTAodCl7dGhpcy5fc2l6ZT10LHRoaXMuX2NhbGw9dGhpcy5fZXJyb3I9bnVsbCx0aGlzLl90YXNrcz1bXSx0aGlzLl9kYXRhPVtdLHRoaXMuX3dhaXRpbmc9dGhpcy5fYWN0aXZlPXRoaXMuX2VuZGVkPXRoaXMuX3N0YXJ0PTB9ZnVuY3Rpb24gazAodCl7aWYoIXQuX3N0YXJ0KXRyeXshKGZ1bmN0aW9uIGUodCl7Zm9yKDt0Ll9zdGFydD10Ll93YWl0aW5nJiZ0Ll9hY3RpdmU8dC5fc2l6ZTspe3ZhciBlPXQuX2VuZGVkK3QuX2FjdGl2ZSxuPXQuX3Rhc2tzW2VdLGk9bi5sZW5ndGgtMSxyPW5baV07bltpXT1MMCh0LGUpLC0tdC5fd2FpdGluZywrK3QuX2FjdGl2ZSxuPXIuYXBwbHkobnVsbCxuKSx0Ll90YXNrc1tlXSYmKHQuX3Rhc2tzW2VdPW58fEMwKX19KSh0KX1jYXRjaChlKXtpZih0Ll90YXNrc1t0Ll9lbmRlZCt0Ll9hY3RpdmUtMV0pUDAodCxlKTtlbHNlIGlmKCF0Ll9kYXRhKXRocm93IGV9fWZ1bmN0aW9uIEwwKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSl7dC5fdGFza3NbZV0mJigtLXQuX2FjdGl2ZSwrK3QuX2VuZGVkLHQuX3Rhc2tzW2VdPW51bGwsbnVsbD09dC5fZXJyb3ImJihudWxsIT1uP1AwKHQsbik6KHQuX2RhdGFbZV09aSx0Ll93YWl0aW5nP2swKHQpOk4wKHQpKSkpfX1mdW5jdGlvbiBQMCh0LGUpe3ZhciBuLGk9dC5fdGFza3MubGVuZ3RoO2Zvcih0Ll9lcnJvcj1lLHQuX2RhdGE9dm9pZCAwLHQuX3dhaXRpbmc9TmFOOy0taT49MDspaWYoKG49dC5fdGFza3NbaV0pJiYodC5fdGFza3NbaV09bnVsbCxuLmFib3J0KSl0cnl7bi5hYm9ydCgpfWNhdGNoKGUpe310Ll9hY3RpdmU9TmFOLE4wKHQpfWZ1bmN0aW9uIE4wKHQpe2lmKCF0Ll9hY3RpdmUmJnQuX2NhbGwpe3ZhciBlPXQuX2RhdGE7dC5fZGF0YT12b2lkIDAsdC5fY2FsbCh0Ll9lcnJvcixlKX19ZnVuY3Rpb24gSTAodCl7aWYobnVsbD09dCl0PTEvMDtlbHNlIGlmKCEoKHQ9K3QpPj0xKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY29uY3VycmVuY3kiKTtyZXR1cm4gbmV3IEEwKHQpfWZ1bmN0aW9uIFIwKCl7cmV0dXJuIE1hdGgucmFuZG9tKCl9QTAucHJvdG90eXBlPUkwLnByb3RvdHlwZT17Y29uc3RydWN0b3I6QTAsZGVmZXI6ZnVuY3Rpb24odCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrIik7aWYodGhpcy5fY2FsbCl0aHJvdyBuZXcgRXJyb3IoImRlZmVyIGFmdGVyIGF3YWl0Iik7aWYobnVsbCE9dGhpcy5fZXJyb3IpcmV0dXJuIHRoaXM7dmFyIGU9VDAuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIGUucHVzaCh0KSwrK3RoaXMuX3dhaXRpbmcsdGhpcy5fdGFza3MucHVzaChlKSxrMCh0aGlzKSx0aGlzfSxhYm9ydDpmdW5jdGlvbigpe3JldHVybiBudWxsPT10aGlzLl9lcnJvciYmUDAodGhpcyxuZXcgRXJyb3IoImFib3J0IikpLHRoaXN9LGF3YWl0OmZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBjYWxsYmFjayIpO2lmKHRoaXMuX2NhbGwpdGhyb3cgbmV3IEVycm9yKCJtdWx0aXBsZSBhd2FpdCIpO3JldHVybiB0aGlzLl9jYWxsPWZ1bmN0aW9uKGUsbil7dC5hcHBseShudWxsLFtlXS5jb25jYXQobikpfSxOMCh0aGlzKSx0aGlzfSxhd2FpdEFsbDpmdW5jdGlvbih0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2FsbGJhY2siKTtpZih0aGlzLl9jYWxsKXRocm93IG5ldyBFcnJvcigibXVsdGlwbGUgYXdhaXQiKTtyZXR1cm4gdGhpcy5fY2FsbD10LE4wKHRoaXMpLHRoaXN9fTt2YXIgTzA9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0LG4pe3JldHVybiB0PW51bGw9PXQ/MDordCxuPW51bGw9PW4/MTorbiwxPT09YXJndW1lbnRzLmxlbmd0aD8obj10LHQ9MCk6bi09dCxmdW5jdGlvbigpe3JldHVybiBlKCkqbit0fX1yZXR1cm4gbi5zb3VyY2U9dCxufSkoUjApLHowPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCxuKXt2YXIgaSxyO3JldHVybiB0PW51bGw9PXQ/MDordCxuPW51bGw9PW4/MTorbixmdW5jdGlvbigpe3ZhciBvO2lmKG51bGwhPWkpbz1pLGk9bnVsbDtlbHNlIGRve2k9MiplKCktMSxvPTIqZSgpLTEscj1pKmkrbypvfXdoaWxlKCFyfHxyPjEpO3JldHVybiB0K24qbypNYXRoLnNxcnQoLTIqTWF0aC5sb2cocikvcil9fXJldHVybiBuLnNvdXJjZT10LG59KShSMCksRDA9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbigpe3ZhciB0PXowLnNvdXJjZShlKS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguZXhwKHQoKSl9fXJldHVybiBuLnNvdXJjZT10LG59KShSMCksQjA9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIG49MCxpPTA7aTx0OysraSluKz1lKCk7cmV0dXJuIG59fXJldHVybiBuLnNvdXJjZT10LG59KShSMCksSDA9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXt2YXIgbj1CMC5zb3VyY2UoZSkodCk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG4oKS90fX1yZXR1cm4gbi5zb3VyY2U9dCxufSkoUjApLEYwPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuLU1hdGgubG9nKDEtZSgpKS90fX1yZXR1cm4gbi5zb3VyY2U9dCxufSkoUjApO2Z1bmN0aW9uIFYwKHQsZSl7dmFyIG4saSxyLG8sYT13YygiYmVmb3Jlc2VuZCIsInByb2dyZXNzIiwibG9hZCIsImVycm9yIikscz1qZygpLGw9bmV3IFhNTEh0dHBSZXF1ZXN0LGM9bnVsbCx1PW51bGwsaD0wO2Z1bmN0aW9uIGQodCl7dmFyIGUsaT1sLnN0YXR1cztpZighaSYmKGZ1bmN0aW9uIG8odCl7dmFyIGU9dC5yZXNwb25zZVR5cGU7cmV0dXJuIGUmJiJ0ZXh0IiE9PWU/dC5yZXNwb25zZTp0LnJlc3BvbnNlVGV4dH0pKGwpfHxpPj0yMDAmJmk8MzAwfHwzMDQ9PT1pKXtpZihyKXRyeXtlPXIuY2FsbChuLGwpfWNhdGNoKHQpe3JldHVybiB2b2lkIGEuY2FsbCgiZXJyb3IiLG4sdCl9ZWxzZSBlPWw7YS5jYWxsKCJsb2FkIixuLGUpfWVsc2UgYS5jYWxsKCJlcnJvciIsbix0KX1pZigidW5kZWZpbmVkIiE9dHlwZW9mIFhEb21haW5SZXF1ZXN0JiYhKCJ3aXRoQ3JlZGVudGlhbHMiaW4gbCkmJi9eKGh0dHAocyk/Oik/XC9cLy8udGVzdCh0KSYmKGw9bmV3IFhEb21haW5SZXF1ZXN0KSwib25sb2FkImluIGw/bC5vbmxvYWQ9bC5vbmVycm9yPWwub250aW1lb3V0PWQ6bC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24odCl7bC5yZWFkeVN0YXRlPjMmJmQodCl9LGwub25wcm9ncmVzcz1mdW5jdGlvbih0KXthLmNhbGwoInByb2dyZXNzIixuLHQpfSxuPXtoZWFkZXI6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD0odCsiIikudG9Mb3dlckNhc2UoKSxhcmd1bWVudHMubGVuZ3RoPDI/cy5nZXQodCk6KG51bGw9PWU/cy5yZW1vdmUodCk6cy5zZXQodCxlKyIiKSxuKX0sbWltZVR5cGU6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9bnVsbD09dD9udWxsOnQrIiIsbik6aX0scmVzcG9uc2VUeXBlOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPXQsbik6b30sdGltZW91dDpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaD0rdCxuKTpofSx1c2VyOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDE/YzooYz1udWxsPT10P251bGw6dCsiIixuKX0scGFzc3dvcmQ6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8MT91Oih1PW51bGw9PXQ/bnVsbDp0KyIiLG4pfSxyZXNwb25zZTpmdW5jdGlvbih0KXtyZXR1cm4gcj10LG59LGdldDpmdW5jdGlvbih0LGUpe3JldHVybiBuLnNlbmQoIkdFVCIsdCxlKX0scG9zdDpmdW5jdGlvbih0LGUpe3JldHVybiBuLnNlbmQoIlBPU1QiLHQsZSl9LHNlbmQ6ZnVuY3Rpb24oZSxyLGQpe3JldHVybiBsLm9wZW4oZSx0LCEwLGMsdSksbnVsbD09aXx8cy5oYXMoImFjY2VwdCIpfHxzLnNldCgiYWNjZXB0IixpKyIsKi8qIiksbC5zZXRSZXF1ZXN0SGVhZGVyJiZzLmVhY2goKGZ1bmN0aW9uKHQsZSl7bC5zZXRSZXF1ZXN0SGVhZGVyKGUsdCl9KSksbnVsbCE9aSYmbC5vdmVycmlkZU1pbWVUeXBlJiZsLm92ZXJyaWRlTWltZVR5cGUoaSksbnVsbCE9byYmKGwucmVzcG9uc2VUeXBlPW8pLGg+MCYmKGwudGltZW91dD1oKSxudWxsPT1kJiYiZnVuY3Rpb24iPT10eXBlb2YgciYmKGQ9cixyPW51bGwpLG51bGwhPWQmJjE9PT1kLmxlbmd0aCYmKGQ9KGZ1bmN0aW9uIHAodCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dChudWxsPT1lP246bnVsbCl9fSkoZCkpLG51bGwhPWQmJm4ub24oImVycm9yIixkKS5vbigibG9hZCIsKGZ1bmN0aW9uKHQpe2QobnVsbCx0KX0pKSxhLmNhbGwoImJlZm9yZXNlbmQiLG4sbCksbC5zZW5kKG51bGw9PXI/bnVsbDpyKSxufSxhYm9ydDpmdW5jdGlvbigpe3JldHVybiBsLmFib3J0KCksbn0sb246ZnVuY3Rpb24oKXt2YXIgdD1hLm9uLmFwcGx5KGEsYXJndW1lbnRzKTtyZXR1cm4gdD09PWE/bjp0fX0sbnVsbCE9ZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrOiAiK2UpO3JldHVybiBuLmdldChlKX1yZXR1cm4gbn1mdW5jdGlvbiBVMCh0LGUpe3JldHVybiBmdW5jdGlvbihuLGkpe3ZhciByPVYwKG4pLm1pbWVUeXBlKHQpLnJlc3BvbnNlKGUpO2lmKG51bGwhPWkpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBpKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBjYWxsYmFjazogIitpKTtyZXR1cm4gci5nZXQoaSl9cmV0dXJuIHJ9fXZhciBqMD1VMCgidGV4dC9odG1sIiwoZnVuY3Rpb24odCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KHQucmVzcG9uc2VUZXh0KX0pKSxHMD1VMCgiYXBwbGljYXRpb24vanNvbiIsKGZ1bmN0aW9uKHQpe3JldHVybiBKU09OLnBhcnNlKHQucmVzcG9uc2VUZXh0KX0pKSxXMD1VMCgidGV4dC9wbGFpbiIsKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlc3BvbnNlVGV4dH0pKSxxMD1VMCgiYXBwbGljYXRpb24veG1sIiwoZnVuY3Rpb24odCl7dmFyIGU9dC5yZXNwb25zZVhNTDtpZighZSl0aHJvdyBuZXcgRXJyb3IoInBhcnNlIGVycm9yIik7cmV0dXJuIGV9KSk7ZnVuY3Rpb24gWTAodCxlKXtyZXR1cm4gZnVuY3Rpb24obixpLHIpe2FyZ3VtZW50cy5sZW5ndGg8MyYmKHI9aSxpPW51bGwpO3ZhciBvPVYwKG4pLm1pbWVUeXBlKHQpO3JldHVybiBvLnJvdz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9vLnJlc3BvbnNlKFgwKGUsaT10KSk6aX0sby5yb3coaSkscj9vLmdldChyKTpvfX1mdW5jdGlvbiBYMCh0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdChuLnJlc3BvbnNlVGV4dCxlKX19dmFyICQwPVkwKCJ0ZXh0L2NzdiIsYl8pLEswPVkwKCJ0ZXh0L3RhYi1zZXBhcmF0ZWQtdmFsdWVzIixBXyk7ZnVuY3Rpb24gWjAodCxlKXtyZXR1cm4gdDxlPy0xOnQ+ZT8xOnQ+PWU/MDpOYU59ZnVuY3Rpb24gSjAodCl7cmV0dXJuIDE9PT10Lmxlbmd0aCYmKHQ9KGZ1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7cmV0dXJuIFowKHQoZSksbil9fSkodCkpLHtsZWZ0OmZ1bmN0aW9uKGUsbixpLHIpe2ZvcihudWxsPT1pJiYoaT0wKSxudWxsPT1yJiYocj1lLmxlbmd0aCk7aTxyOyl7dmFyIG89aStyPj4+MTt0KGVbb10sbik8MD9pPW8rMTpyPW99cmV0dXJuIGl9LHJpZ2h0OmZ1bmN0aW9uKGUsbixpLHIpe2ZvcihudWxsPT1pJiYoaT0wKSxudWxsPT1yJiYocj1lLmxlbmd0aCk7aTxyOyl7dmFyIG89aStyPj4+MTt0KGVbb10sbik+MD9yPW86aT1vKzF9cmV0dXJuIGl9fX12YXIgUTA9SjAoWjApLnJpZ2h0O2Z1bmN0aW9uIHQyKHQpe3JldHVybiBudWxsPT09dD9OYU46K3R9dmFyIGUyPU1hdGguc3FydCg1MCksbjI9TWF0aC5zcXJ0KDEwKSxpMj1NYXRoLnNxcnQoMik7ZnVuY3Rpb24gcjIodCxlLG4pe3ZhciBpLHIsbyxhLHM9LTE7aWYobj0rbiwodD0rdCk9PT0oZT0rZSkmJm4+MClyZXR1cm5bdF07aWYoKGk9ZTx0KSYmKHI9dCx0PWUsZT1yKSwwPT09KGE9bzIodCxlLG4pKXx8IWlzRmluaXRlKGEpKXJldHVybltdO2lmKGE+MClmb3IodD1NYXRoLmNlaWwodC9hKSxlPU1hdGguZmxvb3IoZS9hKSxvPW5ldyBBcnJheShyPU1hdGguY2VpbChlLXQrMSkpOysrczxyOylvW3NdPSh0K3MpKmE7ZWxzZSBmb3IodD1NYXRoLmZsb29yKHQqYSksZT1NYXRoLmNlaWwoZSphKSxvPW5ldyBBcnJheShyPU1hdGguY2VpbCh0LWUrMSkpOysrczxyOylvW3NdPSh0LXMpL2E7cmV0dXJuIGkmJm8ucmV2ZXJzZSgpLG99ZnVuY3Rpb24gbzIodCxlLG4pe3ZhciBpPShlLXQpL01hdGgubWF4KDAsbikscj1NYXRoLmZsb29yKE1hdGgubG9nKGkpL01hdGguTE4xMCksbz1pL01hdGgucG93KDEwLHIpO3JldHVybiByPj0wPyhvPj1lMj8xMDpvPj1uMj81Om8+PWkyPzI6MSkqTWF0aC5wb3coMTAscik6LU1hdGgucG93KDEwLC1yKS8obz49ZTI/MTA6bz49bjI/NTpvPj1pMj8yOjEpfWZ1bmN0aW9uIGEyKHQsZSxuKXt2YXIgaT1NYXRoLmFicyhlLXQpL01hdGgubWF4KDAsbikscj1NYXRoLnBvdygxMCxNYXRoLmZsb29yKE1hdGgubG9nKGkpL01hdGguTE4xMCkpLG89aS9yO3JldHVybiBvPj1lMj9yKj0xMDpvPj1uMj9yKj01Om8+PWkyJiYocio9MiksZTx0Py1yOnJ9ZnVuY3Rpb24gczIodCxlLG4pe2lmKG51bGw9PW4mJihuPXQyKSxpPXQubGVuZ3RoKXtpZigoZT0rZSk8PTB8fGk8MilyZXR1cm4rbih0WzBdLDAsdCk7aWYoZT49MSlyZXR1cm4rbih0W2ktMV0saS0xLHQpO3ZhciBpLHI9KGktMSkqZSxvPU1hdGguZmxvb3IociksYT0rbih0W29dLG8sdCk7cmV0dXJuIGErKCtuKHRbbysxXSxvKzEsdCktYSkqKHItbyl9fXZhciBsMj0iJCI7ZnVuY3Rpb24gYzIoKXt9ZnVuY3Rpb24gdTIodCxlKXt2YXIgbj1uZXcgYzI7aWYodCBpbnN0YW5jZW9mIGMyKXQuZWFjaCgoZnVuY3Rpb24odCxlKXtuLnNldChlLHQpfSkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSl7dmFyIGkscj0tMSxvPXQubGVuZ3RoO2lmKG51bGw9PWUpZm9yKDsrK3I8bzspbi5zZXQocix0W3JdKTtlbHNlIGZvcig7KytyPG87KW4uc2V0KGUoaT10W3JdLHIsdCksaSl9ZWxzZSBpZih0KWZvcih2YXIgYSBpbiB0KW4uc2V0KGEsdFthXSk7cmV0dXJuIG59ZnVuY3Rpb24gaDIoKXt9YzIucHJvdG90eXBlPXUyLnByb3RvdHlwZT17Y29uc3RydWN0b3I6YzIsaGFzOmZ1bmN0aW9uKHQpe3JldHVybiBsMit0IGluIHRoaXN9LGdldDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpc1tsMit0XX0sc2V0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXNbbDIrdF09ZSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9bDIrdDtyZXR1cm4gZSBpbiB0aGlzJiZkZWxldGUgdGhpc1tlXX0sY2xlYXI6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcyl0WzBdPT09bDImJmRlbGV0ZSB0aGlzW3RdfSxrZXlzOmZ1bmN0aW9uKCl7dmFyIHQ9W107Zm9yKHZhciBlIGluIHRoaXMpZVswXT09PWwyJiZ0LnB1c2goZS5zbGljZSgxKSk7cmV0dXJuIHR9LHZhbHVlczpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT1sMiYmdC5wdXNoKHRoaXNbZV0pO3JldHVybiB0fSxlbnRyaWVzOmZ1bmN0aW9uKCl7dmFyIHQ9W107Zm9yKHZhciBlIGluIHRoaXMpZVswXT09PWwyJiZ0LnB1c2goe2tleTplLnNsaWNlKDEpLHZhbHVlOnRoaXNbZV19KTtyZXR1cm4gdH0sc2l6ZTpmdW5jdGlvbigpe3ZhciB0PTA7Zm9yKHZhciBlIGluIHRoaXMpZVswXT09PWwyJiYrK3Q7cmV0dXJuIHR9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMpaWYodFswXT09PWwyKXJldHVybiExO3JldHVybiEwfSxlYWNoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT1sMiYmdCh0aGlzW2VdLGUuc2xpY2UoMSksdGhpcyl9fTt2YXIgZDI9dTIucHJvdG90eXBlO2gyLnByb3RvdHlwZT17Y29uc3RydWN0b3I6aDIsaGFzOmQyLmhhcyxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbbDIrKHQrPSIiKV09dCx0aGlzfSxyZW1vdmU6ZDIucmVtb3ZlLGNsZWFyOmQyLmNsZWFyLHZhbHVlczpkMi5rZXlzLHNpemU6ZDIuc2l6ZSxlbXB0eTpkMi5lbXB0eSxlYWNoOmQyLmVhY2h9O3ZhciBwMj1BcnJheS5wcm90b3R5cGUsZjI9cDIubWFwLG0yPXAyLnNsaWNlLGcyPXtuYW1lOiJpbXBsaWNpdCJ9O2Z1bmN0aW9uIF8yKHQpe3ZhciBlPXUyKCksbj1bXSxpPWcyO2Z1bmN0aW9uIHIocil7dmFyIG89cisiIixhPWUuZ2V0KG8pO2lmKCFhKXtpZihpIT09ZzIpcmV0dXJuIGk7ZS5zZXQobyxhPW4ucHVzaChyKSl9cmV0dXJuIHRbKGEtMSkldC5sZW5ndGhdfXJldHVybiB0PW51bGw9PXQ/W106bTIuY2FsbCh0KSxyLmRvbWFpbj1mdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gbi5zbGljZSgpO249W10sZT11MigpO2Zvcih2YXIgaSxvLGE9LTEscz10Lmxlbmd0aDsrK2E8czspZS5oYXMobz0oaT10W2FdKSsiIil8fGUuc2V0KG8sbi5wdXNoKGkpKTtyZXR1cm4gcn0sci5yYW5nZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1tMi5jYWxsKGUpLHIpOnQuc2xpY2UoKX0sci51bmtub3duPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPXQscik6aX0sci5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIF8yKCkuZG9tYWluKG4pLnJhbmdlKHQpLnVua25vd24oaSl9LHJ9ZnVuY3Rpb24geTIoKXt2YXIgdCxlLG49XzIoKS51bmtub3duKHZvaWQgMCksaT1uLmRvbWFpbixyPW4ucmFuZ2Usbz1bMCwxXSxhPSExLHM9MCxsPTAsYz0uNTtmdW5jdGlvbiB1KCl7dmFyIG49aSgpLmxlbmd0aCx1PW9bMV08b1swXSxoPW9bdS0wXSxkPW9bMS11XTt0PShkLWgpL01hdGgubWF4KDEsbi1zKzIqbCksYSYmKHQ9TWF0aC5mbG9vcih0KSksaCs9KGQtaC10KihuLXMpKSpjLGU9dCooMS1zKSxhJiYoaD1NYXRoLnJvdW5kKGgpLGU9TWF0aC5yb3VuZChlKSk7dmFyIHA9KGZ1bmN0aW9uIGYodCxlLG4pe3Q9K3QsZT0rZSxuPShyPWFyZ3VtZW50cy5sZW5ndGgpPDI/KGU9dCx0PTAsMSk6cjwzPzE6K247Zm9yKHZhciBpPS0xLHI9MHxNYXRoLm1heCgwLE1hdGguY2VpbCgoZS10KS9uKSksbz1uZXcgQXJyYXkocik7KytpPHI7KW9baV09dCtpKm47cmV0dXJuIG99KShuKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBoK3QqZX0pKTtyZXR1cm4gcih1P3AucmV2ZXJzZSgpOnApfXJldHVybiBkZWxldGUgbi51bmtub3duLG4uZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpKHQpLHUoKSk6aSgpfSxuLnJhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPVsrdFswXSwrdFsxXV0sdSgpKTpvLnNsaWNlKCl9LG4ucmFuZ2VSb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gbz1bK3RbMF0sK3RbMV1dLGE9ITAsdSgpfSxuLmJhbmR3aWR0aD1mdW5jdGlvbigpe3JldHVybiBlfSxuLnN0ZXA9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbi5yb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0hIXQsdSgpKTphfSxuLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9bD1NYXRoLm1heCgwLE1hdGgubWluKDEsdCkpLHUoKSk6c30sbi5wYWRkaW5nSW5uZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSx1KCkpOnN9LG4ucGFkZGluZ091dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhsPU1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSksdSgpKTpsfSxuLmFsaWduPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPU1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSksdSgpKTpjfSxuLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4geTIoKS5kb21haW4oaSgpKS5yYW5nZShvKS5yb3VuZChhKS5wYWRkaW5nSW5uZXIocykucGFkZGluZ091dGVyKGwpLmFsaWduKGMpfSx1KCl9ZnVuY3Rpb24gdjIodCl7dmFyIGU9dC5jb3B5O3JldHVybiB0LnBhZGRpbmc9dC5wYWRkaW5nT3V0ZXIsZGVsZXRlIHQucGFkZGluZ0lubmVyLGRlbGV0ZSB0LnBhZGRpbmdPdXRlcix0LmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gdjIoZSgpKX0sdH1mdW5jdGlvbiBiMih0LGUsbil7dC5wcm90b3R5cGU9ZS5wcm90b3R5cGU9bixuLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24geDIodCxlKXt2YXIgbj1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIGkgaW4gZSluW2ldPWVbaV07cmV0dXJuIG59ZnVuY3Rpb24gdzIoKXt9dmFyIFMyPS43LE0yPTEvUzIsRTI9IlxccyooWystXT9cXGQrKVxccyoiLFQyPSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KVxccyoiLEMyPSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KSVcXHMqIixBMj0vXiMoWzAtOWEtZl17Myw4fSkkLyxrMj1uZXcgUmVnRXhwKCJecmdiXFwoIitbRTIsRTIsRTJdKyJcXCkkIiksTDI9bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW0MyLEMyLEMyXSsiXFwpJCIpLFAyPW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbRTIsRTIsRTIsVDJdKyJcXCkkIiksTjI9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tDMixDMixDMixUMl0rIlxcKSQiKSxJMj1uZXcgUmVnRXhwKCJeaHNsXFwoIitbVDIsQzIsQzJdKyJcXCkkIiksUjI9bmV3IFJlZ0V4cCgiXmhzbGFcXCgiK1tUMixDMixDMixUMl0rIlxcKSQiKSxPMj17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiB6Migpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdEhleCgpfWZ1bmN0aW9uIEQyKCl7cmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0UmdiKCl9ZnVuY3Rpb24gQjIodCl7dmFyIGUsbjtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKGU9QTIuZXhlYyh0KSk/KG49ZVsxXS5sZW5ndGgsZT1wYXJzZUludChlWzFdLDE2KSw2PT09bj9IMihlKTozPT09bj9uZXcgajIoZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgxNSZlKTw8NHwxNSZlLDEpOjg9PT1uP0YyKGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsKDI1NSZlKS8yNTUpOjQ9PT1uP0YyKGU+PjEyJjE1fGU+PjgmMjQwLGU+PjgmMTV8ZT4+NCYyNDAsZT4+NCYxNXwyNDAmZSwoKDE1JmUpPDw0fDE1JmUpLzI1NSk6bnVsbCk6KGU9azIuZXhlYyh0KSk/bmV3IGoyKGVbMV0sZVsyXSxlWzNdLDEpOihlPUwyLmV4ZWModCkpP25ldyBqMigyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCwxKTooZT1QMi5leGVjKHQpKT9GMihlWzFdLGVbMl0sZVszXSxlWzRdKTooZT1OMi5leGVjKHQpKT9GMigyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCxlWzRdKTooZT1JMi5leGVjKHQpKT9ZMihlWzFdLGVbMl0vMTAwLGVbM10vMTAwLDEpOihlPVIyLmV4ZWModCkpP1kyKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsZVs0XSk6TzIuaGFzT3duUHJvcGVydHkodCk/SDIoTzJbdF0pOiJ0cmFuc3BhcmVudCI9PT10P25ldyBqMihOYU4sTmFOLE5hTiwwKTpudWxsfWZ1bmN0aW9uIEgyKHQpe3JldHVybiBuZXcgajIodD4+MTYmMjU1LHQ+PjgmMjU1LDI1NSZ0LDEpfWZ1bmN0aW9uIEYyKHQsZSxuLGkpe3JldHVybiBpPD0wJiYodD1lPW49TmFOKSxuZXcgajIodCxlLG4saSl9ZnVuY3Rpb24gVjIodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiB3Mnx8KHQ9QjIodCkpLHQ/bmV3IGoyKCh0PXQucmdiKCkpLnIsdC5nLHQuYix0Lm9wYWNpdHkpOm5ldyBqMn1mdW5jdGlvbiBVMih0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/VjIodCk6bmV3IGoyKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBqMih0LGUsbixpKXt0aGlzLnI9K3QsdGhpcy5nPStlLHRoaXMuYj0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24gRzIoKXtyZXR1cm4iIyIrcTIodGhpcy5yKStxMih0aGlzLmcpK3EyKHRoaXMuYil9ZnVuY3Rpb24gVzIoKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJyZ2IoIjoicmdiYSgiKStNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMucil8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5nKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmIpfHwwKSkrKDE9PT10PyIpIjoiLCAiK3QrIikiKX1mdW5jdGlvbiBxMih0KXtyZXR1cm4oKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0KXx8MCkpKTwxNj8iMCI6IiIpK3QudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIFkyKHQsZSxuLGkpe3JldHVybiBpPD0wP3Q9ZT1uPU5hTjpuPD0wfHxuPj0xP3Q9ZT1OYU46ZTw9MCYmKHQ9TmFOKSxuZXcgJDIodCxlLG4saSl9ZnVuY3Rpb24gWDIodCl7aWYodCBpbnN0YW5jZW9mICQyKXJldHVybiBuZXcgJDIodC5oLHQucyx0LmwsdC5vcGFjaXR5KTtpZih0IGluc3RhbmNlb2YgdzJ8fCh0PUIyKHQpKSwhdClyZXR1cm4gbmV3ICQyO2lmKHQgaW5zdGFuY2VvZiAkMilyZXR1cm4gdDt2YXIgZT0odD10LnJnYigpKS5yLzI1NSxuPXQuZy8yNTUsaT10LmIvMjU1LHI9TWF0aC5taW4oZSxuLGkpLG89TWF0aC5tYXgoZSxuLGkpLGE9TmFOLHM9by1yLGw9KG8rcikvMjtyZXR1cm4gcz8oYT1lPT09bz8obi1pKS9zKzYqKG48aSk6bj09PW8/KGktZSkvcysyOihlLW4pL3MrNCxzLz1sPC41P28rcjoyLW8tcixhKj02MCk6cz1sPjAmJmw8MT8wOmEsbmV3ICQyKGEscyxsLHQub3BhY2l0eSl9ZnVuY3Rpb24gJDIodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIEsyKHQsZSxuKXtyZXR1cm4gMjU1Kih0PDYwP2UrKG4tZSkqdC82MDp0PDE4MD9uOnQ8MjQwP2UrKG4tZSkqKDI0MC10KS82MDplKX1iMih3MixCMix7Y29weTpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgdGhpcy5jb25zdHJ1Y3Rvcix0aGlzLHQpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJnYigpLmRpc3BsYXlhYmxlKCl9LGhleDp6Mixmb3JtYXRIZXg6ejIsZm9ybWF0SHNsOmZ1bmN0aW9uIFoyKCl7cmV0dXJuIFgyKHRoaXMpLmZvcm1hdEhzbCgpfSxmb3JtYXRSZ2I6RDIsdG9TdHJpbmc6RDJ9KSxiMihqMixVMix4Mih3Mix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9NMjpNYXRoLnBvdyhNMix0KSxuZXcgajIodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/UzI6TWF0aC5wb3coUzIsdCksbmV3IGoyKHRoaXMucip0LHRoaXMuZyp0LHRoaXMuYip0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3JldHVybiB0aGlzfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybi0uNTw9dGhpcy5yJiZ0aGlzLnI8MjU1LjUmJi0uNTw9dGhpcy5nJiZ0aGlzLmc8MjU1LjUmJi0uNTw9dGhpcy5iJiZ0aGlzLmI8MjU1LjUmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxoZXg6RzIsZm9ybWF0SGV4OkcyLGZvcm1hdFJnYjpXMix0b1N0cmluZzpXMn0pKSxiMigkMiwoZnVuY3Rpb24gSjIodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP1gyKHQpOm5ldyAkMih0LGUsbixudWxsPT1pPzE6aSl9KSx4Mih3Mix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9NMjpNYXRoLnBvdyhNMix0KSxuZXcgJDIodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9TMjpNYXRoLnBvdyhTMix0KSxuZXcgJDIodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmglMzYwKzM2MCoodGhpcy5oPDApLGU9aXNOYU4odCl8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsbj10aGlzLmwsaT1uKyhuPC41P246MS1uKSplLHI9MipuLWk7cmV0dXJuIG5ldyBqMihLMih0Pj0yNDA/dC0yNDA6dCsxMjAscixpKSxLMih0LHIsaSksSzIodDwxMjA/dCsyNDA6dC0xMjAscixpKSx0aGlzLm9wYWNpdHkpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sZm9ybWF0SHNsOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8iaHNsKCI6ImhzbGEoIikrKHRoaXMuaHx8MCkrIiwgIisxMDAqKHRoaXMuc3x8MCkrIiUsICIrMTAwKih0aGlzLmx8fDApKyIlIisoMT09PXQ/IikiOiIsICIrdCsiKSIpfX0pKTt2YXIgUTI9TWF0aC5QSS8xODAsdDU9MTgwL01hdGguUEksZTU9LS4xNDg2MSxuNT0xLjc4Mjc3LGk1PS0uMjkyMjcscjU9LS45MDY0OSxvNT0xLjk3Mjk0LGE1PW81KnI1LHM1PW81Km41LGw1PW41Kmk1LXI1KmU1O2Z1bmN0aW9uIGM1KHQpe2lmKHQgaW5zdGFuY2VvZiBoNSlyZXR1cm4gbmV3IGg1KHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7dCBpbnN0YW5jZW9mIGoyfHwodD1WMih0KSk7dmFyIGU9dC5nLzI1NSxuPXQuYi8yNTUsaT0obDUqbithNSoodC5yLzI1NSktczUqZSkvKGw1K2E1LXM1KSxyPW4taSxvPShvNSooZS1pKS1pNSpyKS9yNSxhPU1hdGguc3FydChvKm8rcipyKS8obzUqaSooMS1pKSkscz1hP01hdGguYXRhbjIobyxyKSp0NS0xMjA6TmFOO3JldHVybiBuZXcgaDUoczwwP3MrMzYwOnMsYSxpLHQub3BhY2l0eSl9ZnVuY3Rpb24gdTUodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP2M1KHQpOm5ldyBoNSh0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24gaDUodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIGQ1KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBwNSh0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdCtuKmV9fWZ1bmN0aW9uIGY1KHQpe3JldHVybiAxPT0odD0rdCk/bTU6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbi1lPyhmdW5jdGlvbiBpKHQsZSxuKXtyZXR1cm4gdD1NYXRoLnBvdyh0LG4pLGU9TWF0aC5wb3coZSxuKS10LG49MS9uLGZ1bmN0aW9uKGkpe3JldHVybiBNYXRoLnBvdyh0K2kqZSxuKX19KShlLG4sdCk6ZDUoaXNOYU4oZSk/bjplKX19ZnVuY3Rpb24gbTUodCxlKXt2YXIgbj1lLXQ7cmV0dXJuIG4/cDUodCxuKTpkNShpc05hTih0KT9lOnQpfWIyKGg1LHU1LHgyKHcyLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P00yOk1hdGgucG93KE0yLHQpLG5ldyBoNSh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P1MyOk1hdGgucG93KFMyLHQpLG5ldyBoNSh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3ZhciB0PWlzTmFOKHRoaXMuaCk/MDoodGhpcy5oKzEyMCkqUTIsZT0rdGhpcy5sLG49aXNOYU4odGhpcy5zKT8wOnRoaXMucyplKigxLWUpLGk9TWF0aC5jb3ModCkscj1NYXRoLnNpbih0KTtyZXR1cm4gbmV3IGoyKDI1NSooZStuKihlNSppK241KnIpKSwyNTUqKGUrbiooaTUqaStyNSpyKSksMjU1KihlK24qKG81KmkpKSx0aGlzLm9wYWNpdHkpfX0pKTt2YXIgZzU9KGZ1bmN0aW9uIHQoZSl7dmFyIG49ZjUoZSk7ZnVuY3Rpb24gaSh0LGUpe3ZhciBpPW4oKHQ9VTIodCkpLnIsKGU9VTIoZSkpLnIpLHI9bih0LmcsZS5nKSxvPW4odC5iLGUuYiksYT1tNSh0Lm9wYWNpdHksZS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQucj1pKGUpLHQuZz1yKGUpLHQuYj1vKGUpLHQub3BhY2l0eT1hKGUpLHQrIiJ9fXJldHVybiBpLmdhbW1hPXQsaX0pKDEpO2Z1bmN0aW9uIF81KHQsZSl7ZXx8KGU9W10pO3ZhciBuLGk9dD9NYXRoLm1pbihlLmxlbmd0aCx0Lmxlbmd0aCk6MCxyPWUuc2xpY2UoKTtyZXR1cm4gZnVuY3Rpb24obyl7Zm9yKG49MDtuPGk7KytuKXJbbl09dFtuXSooMS1vKStlW25dKm87cmV0dXJuIHJ9fWZ1bmN0aW9uIHk1KHQsZSl7dmFyIG4saT1lP2UubGVuZ3RoOjAscj10P01hdGgubWluKGksdC5sZW5ndGgpOjAsbz1uZXcgQXJyYXkociksYT1uZXcgQXJyYXkoaSk7Zm9yKG49MDtuPHI7KytuKW9bbl09RTUodFtuXSxlW25dKTtmb3IoO248aTsrK24pYVtuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3Iobj0wO248cjsrK24pYVtuXT1vW25dKHQpO3JldHVybiBhfX1mdW5jdGlvbiB2NSh0LGUpe3ZhciBuPW5ldyBEYXRlO3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24oaSl7cmV0dXJuIG4uc2V0VGltZSh0KigxLWkpK2UqaSksbn19ZnVuY3Rpb24gYjUodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiB0KigxLW4pK2Uqbn19ZnVuY3Rpb24geDUodCxlKXt2YXIgbixpPXt9LHI9e307Zm9yKG4gaW4gbnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdHx8KHQ9e30pLG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGV8fChlPXt9KSxlKW4gaW4gdD9pW25dPUU1KHRbbl0sZVtuXSk6cltuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3IobiBpbiBpKXJbbl09aVtuXSh0KTtyZXR1cm4gcn19dmFyIHc1PS9bLStdPyg/OlxkK1wuP1xkKnxcLj9cZCspKD86W2VFXVstK10/XGQrKT8vZyxTNT1uZXcgUmVnRXhwKHc1LnNvdXJjZSwiZyIpO2Z1bmN0aW9uIE01KHQsZSl7dmFyIG4saSxyLG89dzUubGFzdEluZGV4PVM1Lmxhc3RJbmRleD0wLGE9LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsobj13NS5leGVjKHQpKSYmKGk9UzUuZXhlYyhlKSk7KShyPWkuaW5kZXgpPm8mJihyPWUuc2xpY2UobyxyKSxzW2FdP3NbYV0rPXI6c1srK2FdPXIpLChuPW5bMF0pPT09KGk9aVswXSk/c1thXT9zW2FdKz1pOnNbKythXT1pOihzWysrYV09bnVsbCxsLnB1c2goe2k6YSx4OmI1KG4saSl9KSksbz1TNS5sYXN0SW5kZXg7cmV0dXJuIG88ZS5sZW5ndGgmJihyPWUuc2xpY2Uobyksc1thXT9zW2FdKz1yOnNbKythXT1yKSxzLmxlbmd0aDwyP2xbMF0/KGZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpKyIifX0pKGxbMF0ueCk6KGZ1bmN0aW9uIHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkoZSk6KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciBuLGk9MDtpPGU7KytpKXNbKG49bFtpXSkuaV09bi54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9ZnVuY3Rpb24gRTUodCxlKXt2YXIgbixpPXR5cGVvZiBlO3JldHVybiBudWxsPT1lfHwiYm9vbGVhbiI9PT1pP2Q1KGUpOigibnVtYmVyIj09PWk/YjU6InN0cmluZyI9PT1pPyhuPUIyKGUpKT8oZT1uLGc1KTpNNTplIGluc3RhbmNlb2YgQjI/ZzU6ZSBpbnN0YW5jZW9mIERhdGU/djU6KGZ1bmN0aW9uIHIodCl7cmV0dXJuIEFycmF5QnVmZmVyLmlzVmlldyh0KSYmISh0IGluc3RhbmNlb2YgRGF0YVZpZXcpfSkoZSk/XzU6QXJyYXkuaXNBcnJheShlKT95NToiZnVuY3Rpb24iIT10eXBlb2YgZS52YWx1ZU9mJiYiZnVuY3Rpb24iIT10eXBlb2YgZS50b1N0cmluZ3x8aXNOYU4oZSk/eDU6YjUpKHQsZSl9ZnVuY3Rpb24gVDUodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiBNYXRoLnJvdW5kKHQqKDEtbikrZSpuKX19ZnVuY3Rpb24gQzUodCl7cmV0dXJuKGZ1bmN0aW9uIGUobil7ZnVuY3Rpb24gaShlLGkpe3ZhciByPXQoKGU9dTUoZSkpLmgsKGk9dTUoaSkpLmgpLG89bTUoZS5zLGkucyksYT1tNShlLmwsaS5sKSxzPW01KGUub3BhY2l0eSxpLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZS5oPXIodCksZS5zPW8odCksZS5sPWEoTWF0aC5wb3codCxuKSksZS5vcGFjaXR5PXModCksZSsiIn19cmV0dXJuIG49K24saS5nYW1tYT1lLGl9KSgxKX1DNSgoZnVuY3Rpb24gQTUodCxlKXt2YXIgbj1lLXQ7cmV0dXJuIG4/cDUodCxuPjE4MHx8bjwtMTgwP24tMzYwKk1hdGgucm91bmQobi8zNjApOm4pOmQ1KGlzTmFOKHQpP2U6dCl9KSk7dmFyIGs1PUM1KG01KTtmdW5jdGlvbiBMNSh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gUDUodCl7cmV0dXJuK3R9dmFyIE41PVswLDFdO2Z1bmN0aW9uIEk1KHQsZSl7cmV0dXJuKGUtPXQ9K3QpP2Z1bmN0aW9uKG4pe3JldHVybihuLXQpL2V9Okw1KGUpfWZ1bmN0aW9uIFI1KHQsZSxuLGkpe3ZhciByPXRbMF0sbz10WzFdLGE9ZVswXSxzPWVbMV07cmV0dXJuIG88cj8ocj1uKG8sciksYT1pKHMsYSkpOihyPW4ocixvKSxhPWkoYSxzKSksZnVuY3Rpb24odCl7cmV0dXJuIGEocih0KSl9fWZ1bmN0aW9uIE81KHQsZSxuLGkpe3ZhciByPU1hdGgubWluKHQubGVuZ3RoLGUubGVuZ3RoKS0xLG89bmV3IEFycmF5KHIpLGE9bmV3IEFycmF5KHIpLHM9LTE7Zm9yKHRbcl08dFswXSYmKHQ9dC5zbGljZSgpLnJldmVyc2UoKSxlPWUuc2xpY2UoKS5yZXZlcnNlKCkpOysrczxyOylvW3NdPW4odFtzXSx0W3MrMV0pLGFbc109aShlW3NdLGVbcysxXSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPVEwKHQsZSwxLHIpLTE7cmV0dXJuIGFbbl0ob1tuXShlKSl9fWZ1bmN0aW9uIHo1KHQsZSl7cmV0dXJuIGUuZG9tYWluKHQuZG9tYWluKCkpLnJhbmdlKHQucmFuZ2UoKSkuaW50ZXJwb2xhdGUodC5pbnRlcnBvbGF0ZSgpKS5jbGFtcCh0LmNsYW1wKCkpfWZ1bmN0aW9uIEQ1KHQsZSl7dmFyIG4saSxyLG89TjUsYT1ONSxzPUU1LGw9ITE7ZnVuY3Rpb24gYygpe3JldHVybiBuPU1hdGgubWluKG8ubGVuZ3RoLGEubGVuZ3RoKT4yP081OlI1LGk9cj1udWxsLHV9ZnVuY3Rpb24gdShlKXtyZXR1cm4oaXx8KGk9bihvLGEsbD8oZnVuY3Rpb24gcih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXt2YXIgaT10KGU9K2Usbj0rbik7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0PD1lPzA6dD49bj8xOmkodCl9fX0pKHQpOnQscykpKSgrZSl9cmV0dXJuIHUuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybihyfHwocj1uKGEsbyxJNSxsPyhmdW5jdGlvbiBpKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciBpPXQoZT0rZSxuPStuKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHQ8PTA/ZTp0Pj0xP246aSh0KX19fSkoZSk6ZSkpKSgrdCl9LHUuZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPWYyLmNhbGwodCxQNSksYygpKTpvLnNsaWNlKCl9LHUucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9bTIuY2FsbCh0KSxjKCkpOmEuc2xpY2UoKX0sdS5yYW5nZVJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBhPW0yLmNhbGwodCkscz1UNSxjKCl9LHUuY2xhbXA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9ISF0LGMoKSk6bH0sdS5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz10LGMoKSk6c30sYygpfWZ1bmN0aW9uIEI1KHQsZSl7aWYoKG49KHQ9ZT90LnRvRXhwb25lbnRpYWwoZS0xKTp0LnRvRXhwb25lbnRpYWwoKSkuaW5kZXhPZigiZSIpKTwwKXJldHVybiBudWxsO3ZhciBuLGk9dC5zbGljZSgwLG4pO3JldHVybltpLmxlbmd0aD4xP2lbMF0raS5zbGljZSgyKTppLCt0LnNsaWNlKG4rMSldfWZ1bmN0aW9uIEg1KHQpe3JldHVybih0PUI1KE1hdGguYWJzKHQpKSk/dFsxXTpOYU59dmFyIEY1LFY1PS9eKD86KC4pPyhbPD49Xl0pKT8oWytcLSggXSk/KFskI10pPygwKT8oXGQrKT8oLCk/KFwuXGQrKT8ofik/KFthLXolXSk/JC9pO2Z1bmN0aW9uIFU1KHQpe2lmKCEoZT1WNS5leGVjKHQpKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZm9ybWF0OiAiK3QpO3ZhciBlO3JldHVybiBuZXcgajUoe2ZpbGw6ZVsxXSxhbGlnbjplWzJdLHNpZ246ZVszXSxzeW1ib2w6ZVs0XSx6ZXJvOmVbNV0sd2lkdGg6ZVs2XSxjb21tYTplWzddLHByZWNpc2lvbjplWzhdJiZlWzhdLnNsaWNlKDEpLHRyaW06ZVs5XSx0eXBlOmVbMTBdfSl9ZnVuY3Rpb24gajUodCl7dGhpcy5maWxsPXZvaWQgMD09PXQuZmlsbD8iICI6dC5maWxsKyIiLHRoaXMuYWxpZ249dm9pZCAwPT09dC5hbGlnbj8iPiI6dC5hbGlnbisiIix0aGlzLnNpZ249dm9pZCAwPT09dC5zaWduPyItIjp0LnNpZ24rIiIsdGhpcy5zeW1ib2w9dm9pZCAwPT09dC5zeW1ib2w/IiI6dC5zeW1ib2wrIiIsdGhpcy56ZXJvPSEhdC56ZXJvLHRoaXMud2lkdGg9dm9pZCAwPT09dC53aWR0aD92b2lkIDA6K3Qud2lkdGgsdGhpcy5jb21tYT0hIXQuY29tbWEsdGhpcy5wcmVjaXNpb249dm9pZCAwPT09dC5wcmVjaXNpb24/dm9pZCAwOit0LnByZWNpc2lvbix0aGlzLnRyaW09ISF0LnRyaW0sdGhpcy50eXBlPXZvaWQgMD09PXQudHlwZT8iIjp0LnR5cGUrIiJ9ZnVuY3Rpb24gRzUodCxlKXt2YXIgbj1CNSh0LGUpO2lmKCFuKXJldHVybiB0KyIiO3ZhciBpPW5bMF0scj1uWzFdO3JldHVybiByPDA/IjAuIituZXcgQXJyYXkoLXIpLmpvaW4oIjAiKStpOmkubGVuZ3RoPnIrMT9pLnNsaWNlKDAscisxKSsiLiIraS5zbGljZShyKzEpOmkrbmV3IEFycmF5KHItaS5sZW5ndGgrMikuam9pbigiMCIpfVU1LnByb3RvdHlwZT1qNS5wcm90b3R5cGUsajUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlsbCt0aGlzLmFsaWduK3RoaXMuc2lnbit0aGlzLnN5bWJvbCsodGhpcy56ZXJvPyIwIjoiIikrKHZvaWQgMD09PXRoaXMud2lkdGg/IiI6TWF0aC5tYXgoMSwwfHRoaXMud2lkdGgpKSsodGhpcy5jb21tYT8iLCI6IiIpKyh2b2lkIDA9PT10aGlzLnByZWNpc2lvbj8iIjoiLiIrTWF0aC5tYXgoMCwwfHRoaXMucHJlY2lzaW9uKSkrKHRoaXMudHJpbT8ifiI6IiIpK3RoaXMudHlwZX07dmFyIFc1PXsiJSI6ZnVuY3Rpb24odCxlKXtyZXR1cm4oMTAwKnQpLnRvRml4ZWQoZSl9LGI6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoMil9LGM6ZnVuY3Rpb24odCl7cmV0dXJuIHQrIiJ9LGQ6ZnVuY3Rpb24gcTUodCl7cmV0dXJuIE1hdGguYWJzKHQ9TWF0aC5yb3VuZCh0KSk+PTFlMjE/dC50b0xvY2FsZVN0cmluZygiZW4iKS5yZXBsYWNlKC8sL2csIiIpOnQudG9TdHJpbmcoMTApfSxlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudG9FeHBvbmVudGlhbChlKX0sZjpmdW5jdGlvbih0LGUpe3JldHVybiB0LnRvRml4ZWQoZSl9LGc6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC50b1ByZWNpc2lvbihlKX0sbzpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5yb3VuZCh0KS50b1N0cmluZyg4KX0scDpmdW5jdGlvbih0LGUpe3JldHVybiBHNSgxMDAqdCxlKX0scjpHNSxzOmZ1bmN0aW9uIFk1KHQsZSl7dmFyIG49QjUodCxlKTtpZighbilyZXR1cm4gdCsiIjt2YXIgaT1uWzBdLHI9blsxXSxvPXItKEY1PTMqTWF0aC5tYXgoLTgsTWF0aC5taW4oOCxNYXRoLmZsb29yKHIvMykpKSkrMSxhPWkubGVuZ3RoO3JldHVybiBvPT09YT9pOm8+YT9pK25ldyBBcnJheShvLWErMSkuam9pbigiMCIpOm8+MD9pLnNsaWNlKDAsbykrIi4iK2kuc2xpY2Uobyk6IjAuIituZXcgQXJyYXkoMS1vKS5qb2luKCIwIikrQjUodCxNYXRoLm1heCgwLGUrby0xKSlbMF19LFg6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCl9LHg6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpfX07ZnVuY3Rpb24gWDUodCl7cmV0dXJuIHR9dmFyICQ1LEs1LFo1LEo1PUFycmF5LnByb3RvdHlwZS5tYXAsUTU9WyJ5IiwieiIsImEiLCJmIiwicCIsIm4iLCLCtSIsIm0iLCIiLCJrIiwiTSIsIkciLCJUIiwiUCIsIkUiLCJaIiwiWSJdO2Z1bmN0aW9uIHQzKHQpe3ZhciBlPXZvaWQgMD09PXQuZ3JvdXBpbmd8fHZvaWQgMD09PXQudGhvdXNhbmRzP1g1OihmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSl7Zm9yKHZhciByPW4ubGVuZ3RoLG89W10sYT0wLHM9dFswXSxsPTA7cj4wJiZzPjAmJihsK3MrMT5pJiYocz1NYXRoLm1heCgxLGktbCkpLG8ucHVzaChuLnN1YnN0cmluZyhyLT1zLHIrcykpLCEoKGwrPXMrMSk+aSkpOylzPXRbYT0oYSsxKSV0Lmxlbmd0aF07cmV0dXJuIG8ucmV2ZXJzZSgpLmpvaW4oZSl9fSkoSjUuY2FsbCh0Lmdyb3VwaW5nLE51bWJlciksdC50aG91c2FuZHMrIiIpLGk9dm9pZCAwPT09dC5jdXJyZW5jeT8iIjp0LmN1cnJlbmN5WzBdKyIiLHI9dm9pZCAwPT09dC5jdXJyZW5jeT8iIjp0LmN1cnJlbmN5WzFdKyIiLG89dm9pZCAwPT09dC5kZWNpbWFsPyIuIjp0LmRlY2ltYWwrIiIsYT12b2lkIDA9PT10Lm51bWVyYWxzP1g1OihmdW5jdGlvbiBzKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9bMC05XS9nLChmdW5jdGlvbihlKXtyZXR1cm4gdFsrZV19KSl9fSkoSjUuY2FsbCh0Lm51bWVyYWxzLFN0cmluZykpLGw9dm9pZCAwPT09dC5wZXJjZW50PyIlIjp0LnBlcmNlbnQrIiIsYz12b2lkIDA9PT10Lm1pbnVzPyItIjp0Lm1pbnVzKyIiLHU9dm9pZCAwPT09dC5uYW4/Ik5hTiI6dC5uYW4rIiI7ZnVuY3Rpb24gaCh0KXt2YXIgbj0odD1VNSh0KSkuZmlsbCxzPXQuYWxpZ24saD10LnNpZ24sZD10LnN5bWJvbCxwPXQuemVybyxmPXQud2lkdGgsbT10LmNvbW1hLGc9dC5wcmVjaXNpb24sXz10LnRyaW0seT10LnR5cGU7Im4iPT09eT8obT0hMCx5PSJnIik6VzVbeV18fCh2b2lkIDA9PT1nJiYoZz0xMiksXz0hMCx5PSJnIiksKHB8fCIwIj09PW4mJiI9Ij09PXMpJiYocD0hMCxuPSIwIixzPSI9Iik7dmFyIHY9IiQiPT09ZD9pOiIjIj09PWQmJi9bYm94WF0vLnRlc3QoeSk/IjAiK3kudG9Mb3dlckNhc2UoKToiIixiPSIkIj09PWQ/cjovWyVwXS8udGVzdCh5KT9sOiIiLHg9VzVbeV0sdz0vW2RlZmdwcnMlXS8udGVzdCh5KTtmdW5jdGlvbiBTKHQpe3ZhciBpLHIsbCxkPXYsUz1iO2lmKCJjIj09PXkpUz14KHQpK1MsdD0iIjtlbHNle3ZhciBNPSh0PSt0KTwwfHwxL3Q8MDtpZih0PWlzTmFOKHQpP3U6eChNYXRoLmFicyh0KSxnKSxfJiYodD0oZnVuY3Rpb24gRSh0KXt0OmZvcih2YXIgZSxuPXQubGVuZ3RoLGk9MSxyPS0xO2k8bjsrK2kpc3dpdGNoKHRbaV0pe2Nhc2UiLiI6cj1lPWk7YnJlYWs7Y2FzZSIwIjowPT09ciYmKHI9aSksZT1pO2JyZWFrO2RlZmF1bHQ6aWYoISt0W2ldKWJyZWFrIHQ7cj4wJiYocj0wKX1yZXR1cm4gcj4wP3Quc2xpY2UoMCxyKSt0LnNsaWNlKGUrMSk6dH0pKHQpKSxNJiYwPT0rdCYmIisiIT09aCYmKE09ITEpLGQ9KE0/IigiPT09aD9oOmM6Ii0iPT09aHx8IigiPT09aD8iIjpoKStkLFM9KCJzIj09PXk/UTVbOCtGNS8zXToiIikrUysoTSYmIigiPT09aD8iKSI6IiIpLHcpZm9yKGk9LTEscj10Lmxlbmd0aDsrK2k8cjspaWYoNDg+KGw9dC5jaGFyQ29kZUF0KGkpKXx8bD41Nyl7Uz0oNDY9PT1sP28rdC5zbGljZShpKzEpOnQuc2xpY2UoaSkpK1MsdD10LnNsaWNlKDAsaSk7YnJlYWt9fW0mJiFwJiYodD1lKHQsMS8wKSk7dmFyIFQ9ZC5sZW5ndGgrdC5sZW5ndGgrUy5sZW5ndGgsQz1UPGY/bmV3IEFycmF5KGYtVCsxKS5qb2luKG4pOiIiO3N3aXRjaChtJiZwJiYodD1lKEMrdCxDLmxlbmd0aD9mLVMubGVuZ3RoOjEvMCksQz0iIikscyl7Y2FzZSI8Ijp0PWQrdCtTK0M7YnJlYWs7Y2FzZSI9Ijp0PWQrQyt0K1M7YnJlYWs7Y2FzZSJeIjp0PUMuc2xpY2UoMCxUPUMubGVuZ3RoPj4xKStkK3QrUytDLnNsaWNlKFQpO2JyZWFrO2RlZmF1bHQ6dD1DK2QrdCtTfXJldHVybiBhKHQpfXJldHVybiBnPXZvaWQgMD09PWc/NjovW2dwcnNdLy50ZXN0KHkpP01hdGgubWF4KDEsTWF0aC5taW4oMjEsZykpOk1hdGgubWF4KDAsTWF0aC5taW4oMjAsZykpLFMudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdCsiIn0sU31yZXR1cm57Zm9ybWF0OmgsZm9ybWF0UHJlZml4OmZ1bmN0aW9uIGQodCxlKXt2YXIgbj1oKCgodD1VNSh0KSkudHlwZT0iZiIsdCkpLGk9MypNYXRoLm1heCgtOCxNYXRoLm1pbig4LE1hdGguZmxvb3IoSDUoZSkvMykpKSxyPU1hdGgucG93KDEwLC1pKSxvPVE1WzgraS8zXTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG4ocip0KStvfX19fWZ1bmN0aW9uIGUzKHQsZSxuKXt2YXIgaSxyPXRbMF0sbz10W3QubGVuZ3RoLTFdLGE9YTIocixvLG51bGw9PWU/MTA6ZSk7c3dpdGNoKChuPVU1KG51bGw9PW4/IixmIjpuKSkudHlwZSl7Y2FzZSJzIjp2YXIgcz1NYXRoLm1heChNYXRoLmFicyhyKSxNYXRoLmFicyhvKSk7cmV0dXJuIG51bGwhPW4ucHJlY2lzaW9ufHxpc05hTihpPShmdW5jdGlvbiBsKHQsZSl7cmV0dXJuIE1hdGgubWF4KDAsMypNYXRoLm1heCgtOCxNYXRoLm1pbig4LE1hdGguZmxvb3IoSDUoZSkvMykpKS1INShNYXRoLmFicyh0KSkpfSkoYSxzKSl8fChuLnByZWNpc2lvbj1pKSxaNShuLHMpO2Nhc2UiIjpjYXNlImUiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlInIiOm51bGwhPW4ucHJlY2lzaW9ufHxpc05hTihpPShmdW5jdGlvbiBjKHQsZSl7cmV0dXJuIHQ9TWF0aC5hYnModCksZT1NYXRoLmFicyhlKS10LE1hdGgubWF4KDAsSDUoZSktSDUodCkpKzF9KShhLE1hdGgubWF4KE1hdGguYWJzKHIpLE1hdGguYWJzKG8pKSkpfHwobi5wcmVjaXNpb249aS0oImUiPT09bi50eXBlKSk7YnJlYWs7Y2FzZSJmIjpjYXNlIiUiOm51bGwhPW4ucHJlY2lzaW9ufHxpc05hTihpPShmdW5jdGlvbiB1KHQpe3JldHVybiBNYXRoLm1heCgwLC1INShNYXRoLmFicyh0KSkpfSkoYSkpfHwobi5wcmVjaXNpb249aS0yKigiJSI9PT1uLnR5cGUpKX1yZXR1cm4gSzUobil9ZnVuY3Rpb24gbjModCl7dmFyIGU9dC5kb21haW47cmV0dXJuIHQudGlja3M9ZnVuY3Rpb24odCl7dmFyIG49ZSgpO3JldHVybiByMihuWzBdLG5bbi5sZW5ndGgtMV0sbnVsbD09dD8xMDp0KX0sdC50aWNrRm9ybWF0PWZ1bmN0aW9uKHQsbil7cmV0dXJuIGUzKGUoKSx0LG4pfSx0Lm5pY2U9ZnVuY3Rpb24obil7bnVsbD09biYmKG49MTApO3ZhciBpLHI9ZSgpLG89MCxhPXIubGVuZ3RoLTEscz1yW29dLGw9clthXTtyZXR1cm4gbDxzJiYoaT1zLHM9bCxsPWksaT1vLG89YSxhPWkpLChpPW8yKHMsbCxuKSk+MD9pPW8yKHM9TWF0aC5mbG9vcihzL2kpKmksbD1NYXRoLmNlaWwobC9pKSppLG4pOmk8MCYmKGk9bzIocz1NYXRoLmNlaWwocyppKS9pLGw9TWF0aC5mbG9vcihsKmkpL2ksbikpLGk+MD8ocltvXT1NYXRoLmZsb29yKHMvaSkqaSxyW2FdPU1hdGguY2VpbChsL2kpKmksZShyKSk6aTwwJiYocltvXT1NYXRoLmNlaWwocyppKS9pLHJbYV09TWF0aC5mbG9vcihsKmkpL2ksZShyKSksdH0sdH1mdW5jdGlvbiBpMyh0LGUpe3ZhciBuLGk9MCxyPSh0PXQuc2xpY2UoKSkubGVuZ3RoLTEsbz10W2ldLGE9dFtyXTtyZXR1cm4gYTxvJiYobj1pLGk9cixyPW4sbj1vLG89YSxhPW4pLHRbaV09ZS5mbG9vcihvKSx0W3JdPWUuY2VpbChhKSx0fWZ1bmN0aW9uIHIzKHQsZSl7cmV0dXJuKGU9TWF0aC5sb2coZS90KSk/ZnVuY3Rpb24obil7cmV0dXJuIE1hdGgubG9nKG4vdCkvZX06TDUoZSl9ZnVuY3Rpb24gbzModCxlKXtyZXR1cm4gdDwwP2Z1bmN0aW9uKG4pe3JldHVybi1NYXRoLnBvdygtZSxuKSpNYXRoLnBvdygtdCwxLW4pfTpmdW5jdGlvbihuKXtyZXR1cm4gTWF0aC5wb3coZSxuKSpNYXRoLnBvdyh0LDEtbil9fWZ1bmN0aW9uIGEzKHQpe3JldHVybiBpc0Zpbml0ZSh0KT8rKCIxZSIrdCk6dDwwPzA6dH1mdW5jdGlvbiBzMyh0KXtyZXR1cm4gMTA9PT10P2EzOnQ9PT1NYXRoLkU/TWF0aC5leHA6ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgucG93KHQsZSl9fWZ1bmN0aW9uIGwzKHQpe3JldHVybiB0PT09TWF0aC5FP01hdGgubG9nOjEwPT09dCYmTWF0aC5sb2cxMHx8Mj09PXQmJk1hdGgubG9nMnx8KHQ9TWF0aC5sb2codCksZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgubG9nKGUpL3R9KX1mdW5jdGlvbiBjMyh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuLXQoLWUpfX1mdW5jdGlvbiB1Myh0LGUpe3JldHVybiB0PDA/LU1hdGgucG93KC10LGUpOk1hdGgucG93KHQsZSl9ZnVuY3Rpb24gaDMoKXt2YXIgdD0xLGU9RDUoKGZ1bmN0aW9uIG4oZSxpKXtyZXR1cm4oaT11MyhpLHQpLShlPXUzKGUsdCkpKT9mdW5jdGlvbihuKXtyZXR1cm4odTMobix0KS1lKS9pfTpMNShpKX0pLChmdW5jdGlvbiBpKGUsbil7cmV0dXJuIG49dTMobix0KS0oZT11MyhlLHQpKSxmdW5jdGlvbihpKXtyZXR1cm4gdTMoZStuKmksMS90KX19KSkscj1lLmRvbWFpbjtyZXR1cm4gZS5leHBvbmVudD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rZSxyKHIoKSkpOnR9LGUuY29weT1mdW5jdGlvbigpe3JldHVybiB6NShlLGgzKCkuZXhwb25lbnQodCkpfSxuMyhlKX0hKGZ1bmN0aW9uIGQzKHQpe3JldHVybiAkNT10Myh0KSxLNT0kNS5mb3JtYXQsWjU9JDUuZm9ybWF0UHJlZml4LCQ1fSkoe2RlY2ltYWw6Ii4iLHRob3VzYW5kczoiLCIsZ3JvdXBpbmc6WzNdLGN1cnJlbmN5OlsiJCIsIiJdLG1pbnVzOiItIn0pO3ZhciBwMz1uZXcgRGF0ZSxmMz1uZXcgRGF0ZTtmdW5jdGlvbiBtMyh0LGUsbixpKXtmdW5jdGlvbiByKGUpe3JldHVybiB0KGU9MD09PWFyZ3VtZW50cy5sZW5ndGg/bmV3IERhdGU6bmV3IERhdGUoK2UpKSxlfXJldHVybiByLmZsb29yPWZ1bmN0aW9uKGUpe3JldHVybiB0KGU9bmV3IERhdGUoK2UpKSxlfSxyLmNlaWw9ZnVuY3Rpb24obil7cmV0dXJuIHQobj1uZXcgRGF0ZShuLTEpKSxlKG4sMSksdChuKSxufSxyLnJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXIodCksbj1yLmNlaWwodCk7cmV0dXJuIHQtZTxuLXQ/ZTpufSxyLm9mZnNldD1mdW5jdGlvbih0LG4pe3JldHVybiBlKHQ9bmV3IERhdGUoK3QpLG51bGw9PW4/MTpNYXRoLmZsb29yKG4pKSx0fSxyLnJhbmdlPWZ1bmN0aW9uKG4saSxvKXt2YXIgYSxzPVtdO2lmKG49ci5jZWlsKG4pLG89bnVsbD09bz8xOk1hdGguZmxvb3IobyksIShuPGkmJm8+MCkpcmV0dXJuIHM7ZG97cy5wdXNoKGE9bmV3IERhdGUoK24pKSxlKG4sbyksdChuKX13aGlsZShhPG4mJm48aSk7cmV0dXJuIHN9LHIuZmlsdGVyPWZ1bmN0aW9uKG4pe3JldHVybiBtMygoZnVuY3Rpb24oZSl7aWYoZT49ZSlmb3IoO3QoZSksIW4oZSk7KWUuc2V0VGltZShlLTEpfSksKGZ1bmN0aW9uKHQsaSl7aWYodD49dClpZihpPDApZm9yKDsrK2k8PTA7KWZvcig7ZSh0LC0xKSwhbih0KTspO2Vsc2UgZm9yKDstLWk+PTA7KWZvcig7ZSh0LDEpLCFuKHQpOyk7fSkpfSxuJiYoci5jb3VudD1mdW5jdGlvbihlLGkpe3JldHVybiBwMy5zZXRUaW1lKCtlKSxmMy5zZXRUaW1lKCtpKSx0KHAzKSx0KGYzKSxNYXRoLmZsb29yKG4ocDMsZjMpKX0sci5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP3IuZmlsdGVyKGk/ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSkldD09MH06ZnVuY3Rpb24oZSl7cmV0dXJuIHIuY291bnQoMCxlKSV0PT0wfSk6cjpudWxsfSkscn12YXIgZzM9bTMoKGZ1bmN0aW9uKCl7fSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUtdH0pKTtnMy5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP20zKChmdW5jdGlvbihlKXtlLnNldFRpbWUoTWF0aC5mbG9vcihlL3QpKnQpfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRUaW1lKCtlK24qdCl9KSwoZnVuY3Rpb24oZSxuKXtyZXR1cm4obi1lKS90fSkpOmczOm51bGx9O3ZhciBfMz1nMyx5Mz0xZTMsdjM9NmU0LGIzPTM2ZTUseDM9ODY0ZTUsdzM9NjA0OGU1LFMzPW0zKChmdW5jdGlvbih0KXt0LnNldFRpbWUodC10LmdldE1pbGxpc2Vjb25kcygpKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VGltZSgrdCtlKnkzKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL3kzfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ1NlY29uZHMoKX0pKSxNMz1tMygoZnVuY3Rpb24odCl7dC5zZXRUaW1lKHQtdC5nZXRNaWxsaXNlY29uZHMoKS10LmdldFNlY29uZHMoKSp5Myl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFRpbWUoK3QrZSp2Myl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS92M30pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRNaW51dGVzKCl9KSksRTM9bTMoKGZ1bmN0aW9uKHQpe3Quc2V0VGltZSh0LXQuZ2V0TWlsbGlzZWNvbmRzKCktdC5nZXRTZWNvbmRzKCkqeTMtdC5nZXRNaW51dGVzKCkqdjMpfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqYjMpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvYjN9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0SG91cnMoKX0pKSxUMz1tMygoZnVuY3Rpb24odCl7dC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RGF0ZSh0LmdldERhdGUoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQtKGUuZ2V0VGltZXpvbmVPZmZzZXQoKS10LmdldFRpbWV6b25lT2Zmc2V0KCkpKnYzKS94M30pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXREYXRlKCktMX0pKTtmdW5jdGlvbiBDMyh0KXtyZXR1cm4gbTMoKGZ1bmN0aW9uKGUpe2Uuc2V0RGF0ZShlLmdldERhdGUoKS0oZS5nZXREYXkoKSs3LXQpJTcpLGUuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldERhdGUodC5nZXREYXRlKCkrNyplKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQtKGUuZ2V0VGltZXpvbmVPZmZzZXQoKS10LmdldFRpbWV6b25lT2Zmc2V0KCkpKnYzKS93M30pKX12YXIgQTM9QzMoMCksazM9QzMoMSk7QzMoMiksQzMoMyk7dmFyIEwzPUMzKDQpO0MzKDUpLEMzKDYpO3ZhciBQMz1tMygoZnVuY3Rpb24odCl7dC5zZXREYXRlKDEpLHQuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldE1vbnRoKHQuZ2V0TW9udGgoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLmdldE1vbnRoKCktdC5nZXRNb250aCgpKzEyKihlLmdldEZ1bGxZZWFyKCktdC5nZXRGdWxsWWVhcigpKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRNb250aCgpfSkpLE4zPW0zKChmdW5jdGlvbih0KXt0LnNldE1vbnRoKDAsMSksdC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0RnVsbFllYXIoKS10LmdldEZ1bGxZZWFyKCl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0RnVsbFllYXIoKX0pKTtOMy5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gaXNGaW5pdGUodD1NYXRoLmZsb29yKHQpKSYmdD4wP20zKChmdW5jdGlvbihlKXtlLnNldEZ1bGxZZWFyKE1hdGguZmxvb3IoZS5nZXRGdWxsWWVhcigpL3QpKnQpLGUuc2V0TW9udGgoMCwxKSxlLnNldEhvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRGdWxsWWVhcihlLmdldEZ1bGxZZWFyKCkrbip0KX0pKTpudWxsfTt2YXIgSTM9TjMsUjM9bTMoKGZ1bmN0aW9uKHQpe3Quc2V0VVRDU2Vjb25kcygwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqdjMpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvdjN9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDTWludXRlcygpfSkpLE8zPW0zKChmdW5jdGlvbih0KXt0LnNldFVUQ01pbnV0ZXMoMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqYjMpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvYjN9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDSG91cnMoKX0pKSx6Mz1tMygoZnVuY3Rpb24odCl7dC5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VVRDRGF0ZSh0LmdldFVUQ0RhdGUoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL3gzfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ0RhdGUoKS0xfSkpO2Z1bmN0aW9uIEQzKHQpe3JldHVybiBtMygoZnVuY3Rpb24oZSl7ZS5zZXRVVENEYXRlKGUuZ2V0VVRDRGF0ZSgpLShlLmdldFVUQ0RheSgpKzctdCklNyksZS5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VVRDRGF0ZSh0LmdldFVUQ0RhdGUoKSs3KmUpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvdzN9KSl9dmFyIEIzPUQzKDApLEgzPUQzKDEpO0QzKDIpLEQzKDMpO3ZhciBGMz1EMyg0KTtEMyg1KSxEMyg2KTt2YXIgVjM9bTMoKGZ1bmN0aW9uKHQpe3Quc2V0VVRDRGF0ZSgxKSx0LnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRVVENNb250aCh0LmdldFVUQ01vbnRoKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5nZXRVVENNb250aCgpLXQuZ2V0VVRDTW9udGgoKSsxMiooZS5nZXRVVENGdWxsWWVhcigpLXQuZ2V0VVRDRnVsbFllYXIoKSl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDTW9udGgoKX0pKSxVMz1tMygoZnVuY3Rpb24odCl7dC5zZXRVVENNb250aCgwLDEpLHQuc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ0Z1bGxZZWFyKHQuZ2V0VVRDRnVsbFllYXIoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLmdldFVUQ0Z1bGxZZWFyKCktdC5nZXRVVENGdWxsWWVhcigpfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ0Z1bGxZZWFyKCl9KSk7VTMuZXZlcnk9ZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9TWF0aC5mbG9vcih0KSkmJnQ+MD9tMygoZnVuY3Rpb24oZSl7ZS5zZXRVVENGdWxsWWVhcihNYXRoLmZsb29yKGUuZ2V0VVRDRnVsbFllYXIoKS90KSp0KSxlLnNldFVUQ01vbnRoKDAsMSksZS5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbihlLG4pe2Uuc2V0VVRDRnVsbFllYXIoZS5nZXRVVENGdWxsWWVhcigpK24qdCl9KSk6bnVsbH07dmFyIGozPVUzO2Z1bmN0aW9uIEczKHQpe2lmKDA8PXQueSYmdC55PDEwMCl7dmFyIGU9bmV3IERhdGUoLTEsdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpO3JldHVybiBlLnNldEZ1bGxZZWFyKHQueSksZX1yZXR1cm4gbmV3IERhdGUodC55LHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKX1mdW5jdGlvbiBXMyh0KXtpZigwPD10LnkmJnQueTwxMDApe3ZhciBlPW5ldyBEYXRlKERhdGUuVVRDKC0xLHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKSk7cmV0dXJuIGUuc2V0VVRDRnVsbFllYXIodC55KSxlfXJldHVybiBuZXcgRGF0ZShEYXRlLlVUQyh0LnksdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpKX1mdW5jdGlvbiBxMyh0LGUsbil7cmV0dXJue3k6dCxtOmUsZDpuLEg6MCxNOjAsUzowLEw6MH19dmFyIFkzLFgzLCQzLEszPXsiLSI6IiIsXzoiICIsMDoiMCJ9LFozPS9eXHMqXGQrLyxKMz0vXiUvLFEzPS9bXFxeJCorP3xbXF0oKS57fV0vZztmdW5jdGlvbiB0NCh0LGUsbil7dmFyIGk9dDwwPyItIjoiIixyPShpPy10OnQpKyIiLG89ci5sZW5ndGg7cmV0dXJuIGkrKG88bj9uZXcgQXJyYXkobi1vKzEpLmpvaW4oZSkrcjpyKX1mdW5jdGlvbiBlNCh0KXtyZXR1cm4gdC5yZXBsYWNlKFEzLCJcXCQmIil9ZnVuY3Rpb24gbjQodCl7cmV0dXJuIG5ldyBSZWdFeHAoIl4oPzoiK3QubWFwKGU0KS5qb2luKCJ8IikrIikiLCJpIil9ZnVuY3Rpb24gaTQodCl7Zm9yKHZhciBlPXt9LG49LTEsaT10Lmxlbmd0aDsrK248aTspZVt0W25dLnRvTG93ZXJDYXNlKCldPW47cmV0dXJuIGV9ZnVuY3Rpb24gcjQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rMSkpO3JldHVybiBpPyh0Lnc9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gbzQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rMSkpO3JldHVybiBpPyh0LnU9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gYTQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0LlU9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gczQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0LlY9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gbDQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0Llc9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gYzQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rNCkpO3JldHVybiBpPyh0Lnk9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gdTQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0Lnk9K2lbMF0rKCtpWzBdPjY4PzE5MDA6MmUzKSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBoNCh0LGUsbil7dmFyIGk9L14oWil8KFsrLV1cZFxkKSg/Ojo/KFxkXGQpKT8vLmV4ZWMoZS5zbGljZShuLG4rNikpO3JldHVybiBpPyh0Llo9aVsxXT8wOi0oaVsyXSsoaVszXXx8IjAwIikpLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGQ0KHQsZSxuKXt2YXIgaT1aMy5leGVjKGUuc2xpY2UobixuKzEpKTtyZXR1cm4gaT8odC5xPTMqaVswXS0zLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHA0KHQsZSxuKXt2YXIgaT1aMy5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5tPWlbMF0tMSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBmNCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuZD0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBtNCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbiszKSk7cmV0dXJuIGk/KHQubT0wLHQuZD0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBnNCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuSD0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBfNCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuTT0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB5NCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuUz0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB2NCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbiszKSk7cmV0dXJuIGk/KHQuTD0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBiNCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbis2KSk7cmV0dXJuIGk/KHQuTD1NYXRoLmZsb29yKGlbMF0vMWUzKSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB4NCh0LGUsbil7dmFyIGk9SjMuZXhlYyhlLnNsaWNlKG4sbisxKSk7cmV0dXJuIGk/bitpWzBdLmxlbmd0aDotMX1mdW5jdGlvbiB3NCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC5RPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIFM0KHQsZSxuKXt2YXIgaT1aMy5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0LnM9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gTTQodCxlKXtyZXR1cm4gdDQodC5nZXREYXRlKCksZSwyKX1mdW5jdGlvbiBFNCh0LGUpe3JldHVybiB0NCh0LmdldEhvdXJzKCksZSwyKX1mdW5jdGlvbiBUNCh0LGUpe3JldHVybiB0NCh0LmdldEhvdXJzKCklMTJ8fDEyLGUsMil9ZnVuY3Rpb24gQzQodCxlKXtyZXR1cm4gdDQoMStUMy5jb3VudChJMyh0KSx0KSxlLDMpfWZ1bmN0aW9uIEE0KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0TWlsbGlzZWNvbmRzKCksZSwzKX1mdW5jdGlvbiBrNCh0LGUpe3JldHVybiBBNCh0LGUpKyIwMDAifWZ1bmN0aW9uIEw0KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0TW9udGgoKSsxLGUsMil9ZnVuY3Rpb24gUDQodCxlKXtyZXR1cm4gdDQodC5nZXRNaW51dGVzKCksZSwyKX1mdW5jdGlvbiBONCh0LGUpe3JldHVybiB0NCh0LmdldFNlY29uZHMoKSxlLDIpfWZ1bmN0aW9uIEk0KHQpe3ZhciBlPXQuZ2V0RGF5KCk7cmV0dXJuIDA9PT1lPzc6ZX1mdW5jdGlvbiBSNCh0LGUpe3JldHVybiB0NChBMy5jb3VudChJMyh0KS0xLHQpLGUsMil9ZnVuY3Rpb24gTzQodCl7dmFyIGU9dC5nZXREYXkoKTtyZXR1cm4gZT49NHx8MD09PWU/TDModCk6TDMuY2VpbCh0KX1mdW5jdGlvbiB6NCh0LGUpe3JldHVybiB0PU80KHQpLHQ0KEwzLmNvdW50KEkzKHQpLHQpKyg0PT09STModCkuZ2V0RGF5KCkpLGUsMil9ZnVuY3Rpb24gRDQodCl7cmV0dXJuIHQuZ2V0RGF5KCl9ZnVuY3Rpb24gQjQodCxlKXtyZXR1cm4gdDQoazMuY291bnQoSTModCktMSx0KSxlLDIpfWZ1bmN0aW9uIEg0KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0RnVsbFllYXIoKSUxMDAsZSwyKX1mdW5jdGlvbiBGNCh0LGUpe3JldHVybiB0NCgodD1PNCh0KSkuZ2V0RnVsbFllYXIoKSUxMDAsZSwyKX1mdW5jdGlvbiBWNCh0LGUpe3JldHVybiB0NCh0LmdldEZ1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gVTQodCxlKXt2YXIgbj10LmdldERheSgpO3JldHVybiB0NCgodD1uPj00fHwwPT09bj9MMyh0KTpMMy5jZWlsKHQpKS5nZXRGdWxsWWVhcigpJTFlNCxlLDQpfWZ1bmN0aW9uIGo0KHQpe3ZhciBlPXQuZ2V0VGltZXpvbmVPZmZzZXQoKTtyZXR1cm4oZT4wPyItIjooZSo9LTEsIisiKSkrdDQoZS82MHwwLCIwIiwyKSt0NChlJTYwLCIwIiwyKX1mdW5jdGlvbiBHNCh0LGUpe3JldHVybiB0NCh0LmdldFVUQ0RhdGUoKSxlLDIpfWZ1bmN0aW9uIFc0KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0VVRDSG91cnMoKSxlLDIpfWZ1bmN0aW9uIHE0KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0VVRDSG91cnMoKSUxMnx8MTIsZSwyKX1mdW5jdGlvbiBZNCh0LGUpe3JldHVybiB0NCgxK3ozLmNvdW50KGozKHQpLHQpLGUsMyl9ZnVuY3Rpb24gWDQodCxlKXtyZXR1cm4gdDQodC5nZXRVVENNaWxsaXNlY29uZHMoKSxlLDMpfWZ1bmN0aW9uICQ0KHQsZSl7cmV0dXJuIFg0KHQsZSkrIjAwMCJ9ZnVuY3Rpb24gSzQodCxlKXtyZXR1cm4gdDQodC5nZXRVVENNb250aCgpKzEsZSwyKX1mdW5jdGlvbiBaNCh0LGUpe3JldHVybiB0NCh0LmdldFVUQ01pbnV0ZXMoKSxlLDIpfWZ1bmN0aW9uIEo0KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0VVRDU2Vjb25kcygpLGUsMil9ZnVuY3Rpb24gUTQodCl7dmFyIGU9dC5nZXRVVENEYXkoKTtyZXR1cm4gMD09PWU/NzplfWZ1bmN0aW9uIHQ2KHQsZSl7cmV0dXJuIHQ0KEIzLmNvdW50KGozKHQpLTEsdCksZSwyKX1mdW5jdGlvbiBlNih0KXt2YXIgZT10LmdldFVUQ0RheSgpO3JldHVybiBlPj00fHwwPT09ZT9GMyh0KTpGMy5jZWlsKHQpfWZ1bmN0aW9uIG42KHQsZSl7cmV0dXJuIHQ9ZTYodCksdDQoRjMuY291bnQoajModCksdCkrKDQ9PT1qMyh0KS5nZXRVVENEYXkoKSksZSwyKX1mdW5jdGlvbiBpNih0KXtyZXR1cm4gdC5nZXRVVENEYXkoKX1mdW5jdGlvbiByNih0LGUpe3JldHVybiB0NChIMy5jb3VudChqMyh0KS0xLHQpLGUsMil9ZnVuY3Rpb24gbzYodCxlKXtyZXR1cm4gdDQodC5nZXRVVENGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uIGE2KHQsZSl7cmV0dXJuIHQ0KCh0PWU2KHQpKS5nZXRVVENGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uIHM2KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0VVRDRnVsbFllYXIoKSUxZTQsZSw0KX1mdW5jdGlvbiBsNih0LGUpe3ZhciBuPXQuZ2V0VVRDRGF5KCk7cmV0dXJuIHQ0KCh0PW4+PTR8fDA9PT1uP0YzKHQpOkYzLmNlaWwodCkpLmdldFVUQ0Z1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gYzYoKXtyZXR1cm4iKzAwMDAifWZ1bmN0aW9uIHU2KCl7cmV0dXJuIiUifWZ1bmN0aW9uIGg2KHQpe3JldHVybit0fWZ1bmN0aW9uIGQ2KHQpe3JldHVybiBNYXRoLmZsb29yKCt0LzFlMyl9IShmdW5jdGlvbiBwNih0KXtyZXR1cm4gWTM9KGZ1bmN0aW9uIGUodCl7dmFyIGU9dC5kYXRlVGltZSxuPXQuZGF0ZSxpPXQudGltZSxyPXQucGVyaW9kcyxvPXQuZGF5cyxhPXQuc2hvcnREYXlzLHM9dC5tb250aHMsbD10LnNob3J0TW9udGhzLGM9bjQociksdT1pNChyKSxoPW40KG8pLGQ9aTQobykscD1uNChhKSxmPWk0KGEpLG09bjQocyksZz1pNChzKSxfPW40KGwpLHk9aTQobCksdj17YTpmdW5jdGlvbiBiKHQpe3JldHVybiBhW3QuZ2V0RGF5KCldfSxBOmZ1bmN0aW9uIHgodCl7cmV0dXJuIG9bdC5nZXREYXkoKV19LGI6ZnVuY3Rpb24gdyh0KXtyZXR1cm4gbFt0LmdldE1vbnRoKCldfSxCOmZ1bmN0aW9uIFModCl7cmV0dXJuIHNbdC5nZXRNb250aCgpXX0sYzpudWxsLGQ6TTQsZTpNNCxmOms0LGc6RjQsRzpVNCxIOkU0LEk6VDQsajpDNCxMOkE0LG06TDQsTTpQNCxwOmZ1bmN0aW9uIE0odCl7cmV0dXJuIHJbKyh0LmdldEhvdXJzKCk+PTEyKV19LHE6ZnVuY3Rpb24gRSh0KXtyZXR1cm4gMSt+fih0LmdldE1vbnRoKCkvMyl9LFE6aDYsczpkNixTOk40LHU6STQsVTpSNCxWOno0LHc6RDQsVzpCNCx4Om51bGwsWDpudWxsLHk6SDQsWTpWNCxaOmo0LCIlIjp1Nn0sVD17YTpmdW5jdGlvbiBDKHQpe3JldHVybiBhW3QuZ2V0VVRDRGF5KCldfSxBOmZ1bmN0aW9uIEEodCl7cmV0dXJuIG9bdC5nZXRVVENEYXkoKV19LGI6ZnVuY3Rpb24gayh0KXtyZXR1cm4gbFt0LmdldFVUQ01vbnRoKCldfSxCOmZ1bmN0aW9uIEwodCl7cmV0dXJuIHNbdC5nZXRVVENNb250aCgpXX0sYzpudWxsLGQ6RzQsZTpHNCxmOiQ0LGc6YTYsRzpsNixIOlc0LEk6cTQsajpZNCxMOlg0LG06SzQsTTpaNCxwOmZ1bmN0aW9uIFAodCl7cmV0dXJuIHJbKyh0LmdldFVUQ0hvdXJzKCk+PTEyKV19LHE6ZnVuY3Rpb24gTih0KXtyZXR1cm4gMSt+fih0LmdldFVUQ01vbnRoKCkvMyl9LFE6aDYsczpkNixTOko0LHU6UTQsVTp0NixWOm42LHc6aTYsVzpyNix4Om51bGwsWDpudWxsLHk6bzYsWTpzNixaOmM2LCIlIjp1Nn0sST17YTpmdW5jdGlvbiBSKHQsZSxuKXt2YXIgaT1wLmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIGk/KHQudz1mW2lbMF0udG9Mb3dlckNhc2UoKV0sbitpWzBdLmxlbmd0aCk6LTF9LEE6ZnVuY3Rpb24gTyh0LGUsbil7dmFyIGk9aC5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0Lnc9ZFtpWzBdLnRvTG93ZXJDYXNlKCldLG4raVswXS5sZW5ndGgpOi0xfSxiOmZ1bmN0aW9uIHoodCxlLG4pe3ZhciBpPV8uZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC5tPXlbaVswXS50b0xvd2VyQ2FzZSgpXSxuK2lbMF0ubGVuZ3RoKTotMX0sQjpmdW5jdGlvbiBEKHQsZSxuKXt2YXIgaT1tLmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIGk/KHQubT1nW2lbMF0udG9Mb3dlckNhc2UoKV0sbitpWzBdLmxlbmd0aCk6LTF9LGM6ZnVuY3Rpb24gQih0LG4saSl7cmV0dXJuIEcodCxlLG4saSl9LGQ6ZjQsZTpmNCxmOmI0LGc6dTQsRzpjNCxIOmc0LEk6ZzQsajptNCxMOnY0LG06cDQsTTpfNCxwOmZ1bmN0aW9uIEgodCxlLG4pe3ZhciBpPWMuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC5wPXVbaVswXS50b0xvd2VyQ2FzZSgpXSxuK2lbMF0ubGVuZ3RoKTotMX0scTpkNCxROnc0LHM6UzQsUzp5NCx1Om80LFU6YTQsVjpzNCx3OnI0LFc6bDQseDpmdW5jdGlvbiBGKHQsZSxpKXtyZXR1cm4gRyh0LG4sZSxpKX0sWDpmdW5jdGlvbiBWKHQsZSxuKXtyZXR1cm4gRyh0LGksZSxuKX0seTp1NCxZOmM0LFo6aDQsIiUiOng0fTtmdW5jdGlvbiBVKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBpLHIsbyxhPVtdLHM9LTEsbD0wLGM9dC5sZW5ndGg7Zm9yKG4gaW5zdGFuY2VvZiBEYXRlfHwobj1uZXcgRGF0ZSgrbikpOysrczxjOykzNz09PXQuY2hhckNvZGVBdChzKSYmKGEucHVzaCh0LnNsaWNlKGwscykpLG51bGwhPShyPUszW2k9dC5jaGFyQXQoKytzKV0pP2k9dC5jaGFyQXQoKytzKTpyPSJlIj09PWk/IiAiOiIwIiwobz1lW2ldKSYmKGk9byhuLHIpKSxhLnB1c2goaSksbD1zKzEpO3JldHVybiBhLnB1c2godC5zbGljZShsLHMpKSxhLmpvaW4oIiIpfX1mdW5jdGlvbiBqKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBpLHIsbz1xMygxOTAwLHZvaWQgMCwxKTtpZihHKG8sdCxuKz0iIiwwKSE9bi5sZW5ndGgpcmV0dXJuIG51bGw7aWYoIlEiaW4gbylyZXR1cm4gbmV3IERhdGUoby5RKTtpZigicyJpbiBvKXJldHVybiBuZXcgRGF0ZSgxZTMqby5zKygiTCJpbiBvP28uTDowKSk7aWYoZSYmISgiWiJpbiBvKSYmKG8uWj0wKSwicCJpbiBvJiYoby5IPW8uSCUxMisxMipvLnApLHZvaWQgMD09PW8ubSYmKG8ubT0icSJpbiBvP28ucTowKSwiViJpbiBvKXtpZihvLlY8MXx8by5WPjUzKXJldHVybiBudWxsOyJ3ImluIG98fChvLnc9MSksIloiaW4gbz8ocj0oaT1XMyhxMyhvLnksMCwxKSkpLmdldFVUQ0RheSgpLGk9cj40fHwwPT09cj9IMy5jZWlsKGkpOkgzKGkpLGk9ejMub2Zmc2V0KGksNyooby5WLTEpKSxvLnk9aS5nZXRVVENGdWxsWWVhcigpLG8ubT1pLmdldFVUQ01vbnRoKCksby5kPWkuZ2V0VVRDRGF0ZSgpKyhvLncrNiklNyk6KHI9KGk9RzMocTMoby55LDAsMSkpKS5nZXREYXkoKSxpPXI+NHx8MD09PXI/azMuY2VpbChpKTprMyhpKSxpPVQzLm9mZnNldChpLDcqKG8uVi0xKSksby55PWkuZ2V0RnVsbFllYXIoKSxvLm09aS5nZXRNb250aCgpLG8uZD1pLmdldERhdGUoKSsoby53KzYpJTcpfWVsc2UoIlciaW4gb3x8IlUiaW4gbykmJigidyJpbiBvfHwoby53PSJ1ImluIG8/by51JTc6IlciaW4gbz8xOjApLHI9IloiaW4gbz9XMyhxMyhvLnksMCwxKSkuZ2V0VVRDRGF5KCk6RzMocTMoby55LDAsMSkpLmdldERheSgpLG8ubT0wLG8uZD0iVyJpbiBvPyhvLncrNiklNys3Km8uVy0ocis1KSU3Om8udys3Km8uVS0ocis2KSU3KTtyZXR1cm4iWiJpbiBvPyhvLkgrPW8uWi8xMDB8MCxvLk0rPW8uWiUxMDAsVzMobykpOkczKG8pfX1mdW5jdGlvbiBHKHQsZSxuLGkpe2Zvcih2YXIgcixvLGE9MCxzPWUubGVuZ3RoLGw9bi5sZW5ndGg7YTxzOyl7aWYoaT49bClyZXR1cm4tMTtpZigzNz09PShyPWUuY2hhckNvZGVBdChhKyspKSl7aWYocj1lLmNoYXJBdChhKyspLCEobz1JW3IgaW4gSzM/ZS5jaGFyQXQoYSsrKTpyXSl8fChpPW8odCxuLGkpKTwwKXJldHVybi0xfWVsc2UgaWYociE9bi5jaGFyQ29kZUF0KGkrKykpcmV0dXJuLTF9cmV0dXJuIGl9cmV0dXJuIHYueD1VKG4sdiksdi5YPVUoaSx2KSx2LmM9VShlLHYpLFQueD1VKG4sVCksVC5YPVUoaSxUKSxULmM9VShlLFQpLHtmb3JtYXQ6ZnVuY3Rpb24odCl7dmFyIGU9VSh0Kz0iIix2KTtyZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxlfSxwYXJzZTpmdW5jdGlvbih0KXt2YXIgZT1qKHQrPSIiLCExKTtyZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxlfSx1dGNGb3JtYXQ6ZnVuY3Rpb24odCl7dmFyIGU9VSh0Kz0iIixUKTtyZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxlfSx1dGNQYXJzZTpmdW5jdGlvbih0KXt2YXIgZT1qKHQrPSIiLCEwKTtyZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxlfX19KSh0KSxYMz1ZMy5mb3JtYXQsJDM9WTMudXRjRm9ybWF0LFkzfSkoe2RhdGVUaW1lOiIleCwgJVgiLGRhdGU6IiUtbS8lLWQvJVkiLHRpbWU6IiUtSTolTTolUyAlcCIscGVyaW9kczpbIkFNIiwiUE0iXSxkYXlzOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSxzaG9ydERheXM6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSxtb250aHM6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLHNob3J0TW9udGhzOlsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl19KTt2YXIgZjY9MWUzLG02PTZlNCxnNj0zNmU1LF82PTg2NGU1LHk2PTI1OTJlNix2Nj0zMTUzNmU2O2Z1bmN0aW9uIGI2KHQpe3JldHVybiBuZXcgRGF0ZSh0KX1mdW5jdGlvbiB4Nih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIERhdGU/K3Q6K25ldyBEYXRlKCt0KX1mdW5jdGlvbiB3Nih0LGUsbixpLHIsbyxhLHMsbCl7dmFyIGM9RDUoSTUsYjUpLHU9Yy5pbnZlcnQsaD1jLmRvbWFpbixkPWwoIi4lTCIpLHA9bCgiOiVTIiksZj1sKCIlSTolTSIpLG09bCgiJUkgJXAiKSxnPWwoIiVhICVkIiksXz1sKCIlYiAlZCIpLHk9bCgiJUIiKSx2PWwoIiVZIiksYj1bW2EsMSxmNl0sW2EsNSw1ZTNdLFthLDE1LDE1ZTNdLFthLDMwLDNlNF0sW28sMSxtNl0sW28sNSwzZTVdLFtvLDE1LDllNV0sW28sMzAsMThlNV0sW3IsMSxnNl0sW3IsMywxMDhlNV0sW3IsNiwyMTZlNV0sW3IsMTIsNDMyZTVdLFtpLDEsXzZdLFtpLDIsMTcyOGU1XSxbbiwxLDYwNDhlNV0sW2UsMSx5Nl0sW2UsMyw3Nzc2ZTZdLFt0LDEsdjZdXTtmdW5jdGlvbiB4KHMpe3JldHVybihhKHMpPHM/ZDpvKHMpPHM/cDpyKHMpPHM/ZjppKHMpPHM/bTplKHMpPHM/bihzKTxzP2c6Xzp0KHMpPHM/eTp2KShzKX1mdW5jdGlvbiB3KGUsbixpLHIpe2lmKG51bGw9PWUmJihlPTEwKSwibnVtYmVyIj09dHlwZW9mIGUpe3ZhciBvPU1hdGguYWJzKGktbikvZSxhPUowKChmdW5jdGlvbih0KXtyZXR1cm4gdFsyXX0pKS5yaWdodChiLG8pO2E9PT1iLmxlbmd0aD8ocj1hMihuL3Y2LGkvdjYsZSksZT10KTphPyhyPShhPWJbby9iW2EtMV1bMl08YlthXVsyXS9vP2EtMTphXSlbMV0sZT1hWzBdKToocj1NYXRoLm1heChhMihuLGksZSksMSksZT1zKX1yZXR1cm4gbnVsbD09cj9lOmUuZXZlcnkocil9cmV0dXJuIGMuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRGF0ZSh1KHQpKX0sYy5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/aChmMi5jYWxsKHQseDYpKTpoKCkubWFwKGI2KX0sYy50aWNrcz1mdW5jdGlvbih0LGUpe3ZhciBuLGk9aCgpLHI9aVswXSxvPWlbaS5sZW5ndGgtMV0sYT1vPHI7cmV0dXJuIGEmJihuPXIscj1vLG89biksbj0obj13KHQscixvLGUpKT9uLnJhbmdlKHIsbysxKTpbXSxhP24ucmV2ZXJzZSgpOm59LGMudGlja0Zvcm1hdD1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT1lP3g6bChlKX0sYy5uaWNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49aCgpO3JldHVybih0PXcodCxuWzBdLG5bbi5sZW5ndGgtMV0sZSkpP2goaTMobix0KSk6Y30sYy5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHo1KGMsdzYodCxlLG4saSxyLG8sYSxzLGwpKX0sY31mdW5jdGlvbiBTNih0KXtyZXR1cm4gdC5tYXRjaCgvLns2fS9nKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiIjIit0fSkpfXZhciBNNj1TNigiMWY3N2I0ZmY3ZjBlMmNhMDJjZDYyNzI4OTQ2N2JkOGM1NjRiZTM3N2MyN2Y3ZjdmYmNiZDIyMTdiZWNmIiksRTY9UzYoIjM5M2I3OTUyNTRhMzZiNmVjZjljOWVkZTYzNzkzOThjYTI1MmI1Y2Y2YmNlZGI5YzhjNmQzMWJkOWUzOWU3YmE1MmU3Y2I5NDg0M2MzOWFkNDk0YWQ2NjE2YmU3OTY5YzdiNDE3M2E1NTE5NGNlNmRiZGRlOWVkNiIpLFQ2PVM2KCIzMTgyYmQ2YmFlZDY5ZWNhZTFjNmRiZWZlNjU1MGRmZDhkM2NmZGFlNmJmZGQwYTIzMWEzNTQ3NGM0NzZhMWQ5OWJjN2U5YzA3NTZiYjE5ZTlhYzhiY2JkZGNkYWRhZWI2MzYzNjM5Njk2OTZiZGJkYmRkOWQ5ZDkiKSxDNj1TNigiMWY3N2I0YWVjN2U4ZmY3ZjBlZmZiYjc4MmNhMDJjOThkZjhhZDYyNzI4ZmY5ODk2OTQ2N2JkYzViMGQ1OGM1NjRiYzQ5Yzk0ZTM3N2MyZjdiNmQyN2Y3ZjdmYzdjN2M3YmNiZDIyZGJkYjhkMTdiZWNmOWVkYWU1IiksQTY9azUodTUoMzAwLC41LDApLHU1KC0yNDAsLjUsMSkpLGs2PWs1KHU1KC0xMDAsLjc1LC4zNSksdTUoODAsMS41LC44KSksTDY9azUodTUoMjYwLC43NSwuMzUpLHU1KDgwLDEuNSwuOCkpLFA2PXU1KCk7ZnVuY3Rpb24gTjYodCl7dmFyIGU9dC5sZW5ndGg7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0W01hdGgubWF4KDAsTWF0aC5taW4oZS0xLE1hdGguZmxvb3IobiplKSkpXX19dmFyIEk2PU42KFM2KCI0NDAxNTQ0NDAyNTY0NTA0NTc0NTA1NTk0NjA3NWE0NjA4NWM0NjBhNWQ0NjBiNWU0NzBkNjA0NzBlNjE0NzEwNjM0NzExNjQ0NzEzNjU0ODE0Njc0ODE2Njg0ODE3Njk0ODE4NmE0ODFhNmM0ODFiNmQ0ODFjNmU0ODFkNmY0ODFmNzA0ODIwNzE0ODIxNzM0ODIzNzQ0ODI0NzU0ODI1NzY0ODI2Nzc0ODI4Nzg0ODI5Nzk0NzJhN2E0NzJjN2E0NzJkN2I0NzJlN2M0NzJmN2Q0NjMwN2U0NjMyN2U0NjMzN2Y0NjM0ODA0NTM1ODE0NTM3ODE0NTM4ODI0NDM5ODM0NDNhODM0NDNiODQ0MzNkODQ0MzNlODU0MjNmODU0MjQwODY0MjQxODY0MTQyODc0MTQ0ODc0MDQ1ODg0MDQ2ODgzZjQ3ODgzZjQ4ODkzZTQ5ODkzZTRhODkzZTRjOGEzZDRkOGEzZDRlOGEzYzRmOGEzYzUwOGIzYjUxOGIzYjUyOGIzYTUzOGIzYTU0OGMzOTU1OGMzOTU2OGMzODU4OGMzODU5OGMzNzVhOGMzNzViOGQzNjVjOGQzNjVkOGQzNTVlOGQzNTVmOGQzNDYwOGQzNDYxOGQzMzYyOGQzMzYzOGQzMjY0OGUzMjY1OGUzMTY2OGUzMTY3OGUzMTY4OGUzMDY5OGUzMDZhOGUyZjZiOGUyZjZjOGUyZTZkOGUyZTZlOGUyZTZmOGUyZDcwOGUyZDcxOGUyYzcxOGUyYzcyOGUyYzczOGUyYjc0OGUyYjc1OGUyYTc2OGUyYTc3OGUyYTc4OGUyOTc5OGUyOTdhOGUyOTdiOGUyODdjOGUyODdkOGUyNzdlOGUyNzdmOGUyNzgwOGUyNjgxOGUyNjgyOGUyNjgyOGUyNTgzOGUyNTg0OGUyNTg1OGUyNDg2OGUyNDg3OGUyMzg4OGUyMzg5OGUyMzhhOGQyMjhiOGQyMjhjOGQyMjhkOGQyMThlOGQyMThmOGQyMTkwOGQyMTkxOGMyMDkyOGMyMDkyOGMyMDkzOGMxZjk0OGMxZjk1OGIxZjk2OGIxZjk3OGIxZjk4OGIxZjk5OGExZjlhOGExZTliOGExZTljODkxZTlkODkxZjllODkxZjlmODgxZmEwODgxZmExODgxZmExODcxZmEyODcyMGEzODYyMGE0ODYyMWE1ODUyMWE2ODUyMmE3ODUyMmE4ODQyM2E5ODMyNGFhODMyNWFiODIyNWFjODIyNmFkODEyN2FkODEyOGFlODAyOWFmN2YyYWIwN2YyY2IxN2UyZGIyN2QyZWIzN2MyZmI0N2MzMWI1N2IzMmI2N2EzNGI2NzkzNWI3NzkzN2I4NzgzOGI5NzczYWJhNzYzYmJiNzUzZGJjNzQzZmJjNzM0MGJkNzI0MmJlNzE0NGJmNzA0NmMwNmY0OGMxNmU0YWMxNmQ0Y2MyNmM0ZWMzNmI1MGM0NmE1MmM1Njk1NGM1Njg1NmM2Njc1OGM3NjU1YWM4NjQ1Y2M4NjM1ZWM5NjI2MGNhNjA2M2NiNWY2NWNiNWU2N2NjNWM2OWNkNWI2Y2NkNWE2ZWNlNTg3MGNmNTc3M2QwNTY3NWQwNTQ3N2QxNTM3YWQxNTE3Y2QyNTA3ZmQzNGU4MWQzNGQ4NGQ0NGI4NmQ1NDk4OWQ1NDg4YmQ2NDY4ZWQ2NDU5MGQ3NDM5M2Q3NDE5NWQ4NDA5OGQ4M2U5YmQ5M2M5ZGQ5M2JhMGRhMzlhMmRhMzdhNWRiMzZhOGRiMzRhYWRjMzJhZGRjMzBiMGRkMmZiMmRkMmRiNWRlMmJiOGRlMjliYWRlMjhiZGRmMjZjMGRmMjVjMmRmMjNjNWUwMjFjOGUwMjBjYWUxMWZjZGUxMWRkMGUxMWNkMmUyMWJkNWUyMWFkOGUyMTlkYWUzMTlkZGUzMThkZmUzMThlMmU0MThlNWU0MTllN2U0MTllYWU1MWFlY2U1MWJlZmU1MWNmMWU1MWRmNGU2MWVmNmU2MjBmOGU2MjFmYmU3MjNmZGU3MjUiKSksUjY9TjYoUzYoIjAwMDAwNDAxMDAwNTAxMDEwNjAxMDEwODAyMDEwOTAyMDIwYjAyMDIwZDAzMDMwZjAzMDMxMjA0MDQxNDA1MDQxNjA2MDUxODA2MDUxYTA3MDYxYzA4MDcxZTA5MDcyMDBhMDgyMjBiMDkyNDBjMDkyNjBkMGEyOTBlMGIyYjEwMGIyZDExMGMyZjEyMGQzMTEzMGQzNDE0MGUzNjE1MGUzODE2MGYzYjE4MGYzZDE5MTAzZjFhMTA0MjFjMTA0NDFkMTE0NzFlMTE0OTIwMTE0YjIxMTE0ZTIyMTE1MDI0MTI1MzI1MTI1NTI3MTI1ODI5MTE1YTJhMTE1YzJjMTE1ZjJkMTE2MTJmMTE2MzMxMTE2NTMzMTA2NzM0MTA2OTM2MTA2YjM4MTA2YzM5MGY2ZTNiMGY3MDNkMGY3MTNmMGY3MjQwMGY3NDQyMGY3NTQ0MGY3NjQ1MTA3NzQ3MTA3ODQ5MTA3ODRhMTA3OTRjMTE3YTRlMTE3YjRmMTI3YjUxMTI3YzUyMTM3YzU0MTM3ZDU2MTQ3ZDU3MTU3ZTU5MTU3ZTVhMTY3ZTVjMTY3ZjVkMTc3ZjVmMTg3ZjYwMTg4MDYyMTk4MDY0MWE4MDY1MWE4MDY3MWI4MDY4MWM4MTZhMWM4MTZiMWQ4MTZkMWQ4MTZlMWU4MTcwMWY4MTcyMWY4MTczMjA4MTc1MjE4MTc2MjE4MTc4MjI4MTc5MjI4MjdiMjM4MjdjMjM4MjdlMjQ4MjgwMjU4MjgxMjU4MTgzMjY4MTg0MjY4MTg2Mjc4MTg4Mjc4MTg5Mjg4MThiMjk4MThjMjk4MThlMmE4MTkwMmE4MTkxMmI4MTkzMmI4MDk0MmM4MDk2MmM4MDk4MmQ4MDk5MmQ4MDliMmU3ZjljMmU3ZjllMmY3ZmEwMmY3ZmExMzA3ZWEzMzA3ZWE1MzE3ZWE2MzE3ZGE4MzI3ZGFhMzM3ZGFiMzM3Y2FkMzQ3Y2FlMzQ3YmIwMzU3YmIyMzU3YmIzMzY3YWI1MzY3YWI3Mzc3OWI4Mzc3OWJhMzg3OGJjMzk3OGJkMzk3N2JmM2E3N2MwM2E3NmMyM2I3NWM0M2M3NWM1M2M3NGM3M2Q3M2M4M2U3M2NhM2U3MmNjM2Y3MWNkNDA3MWNmNDA3MGQwNDE2ZmQyNDI2ZmQzNDM2ZWQ1NDQ2ZGQ2NDU2Y2Q4NDU2Y2Q5NDY2YmRiNDc2YWRjNDg2OWRlNDk2OGRmNGE2OGUwNGM2N2UyNGQ2NmUzNGU2NWU0NGY2NGU1NTA2NGU3NTI2M2U4NTM2MmU5NTQ2MmVhNTY2MWViNTc2MGVjNTg2MGVkNWE1ZmVlNWI1ZWVmNWQ1ZWYwNWY1ZWYxNjA1ZGYyNjI1ZGYyNjQ1Y2YzNjU1Y2Y0Njc1Y2Y0Njk1Y2Y1NmI1Y2Y2NmM1Y2Y2NmU1Y2Y3NzA1Y2Y3NzI1Y2Y4NzQ1Y2Y4NzY1Y2Y5Nzg1ZGY5Nzk1ZGY5N2I1ZGZhN2Q1ZWZhN2Y1ZWZhODE1ZmZiODM1ZmZiODU2MGZiODc2MWZjODk2MWZjOGE2MmZjOGM2M2ZjOGU2NGZjOTA2NWZkOTI2NmZkOTQ2N2ZkOTY2OGZkOTg2OWZkOWE2YWZkOWI2YmZlOWQ2Y2ZlOWY2ZGZlYTE2ZWZlYTM2ZmZlYTU3MWZlYTc3MmZlYTk3M2ZlYWE3NGZlYWM3NmZlYWU3N2ZlYjA3OGZlYjI3YWZlYjQ3YmZlYjY3Y2ZlYjc3ZWZlYjk3ZmZlYmI4MWZlYmQ4MmZlYmY4NGZlYzE4NWZlYzI4N2ZlYzQ4OGZlYzY4YWZlYzg4Y2ZlY2E4ZGZlY2M4ZmZlY2Q5MGZlY2Y5MmZlZDE5NGZlZDM5NWZlZDU5N2ZlZDc5OWZlZDg5YWZkZGE5Y2ZkZGM5ZWZkZGVhMGZkZTBhMWZkZTJhM2ZkZTNhNWZkZTVhN2ZkZTdhOWZkZTlhYWZkZWJhY2ZjZWNhZWZjZWViMGZjZjBiMmZjZjJiNGZjZjRiNmZjZjZiOGZjZjdiOWZjZjliYmZjZmJiZGZjZmRiZiIpKSxPNj1ONihTNigiMDAwMDA0MDEwMDA1MDEwMTA2MDEwMTA4MDIwMTBhMDIwMjBjMDIwMjBlMDMwMjEwMDQwMzEyMDQwMzE0MDUwNDE3MDYwNDE5MDcwNTFiMDgwNTFkMDkwNjFmMGEwNzIyMGIwNzI0MGMwODI2MGQwODI5MGUwOTJiMTAwOTJkMTEwYTMwMTIwYTMyMTQwYjM0MTUwYjM3MTYwYjM5MTgwYzNjMTkwYzNlMWIwYzQxMWMwYzQzMWUwYzQ1MWYwYzQ4MjEwYzRhMjMwYzRjMjQwYzRmMjYwYzUxMjgwYjUzMjkwYjU1MmIwYjU3MmQwYjU5MmYwYTViMzEwYTVjMzIwYTVlMzQwYTVmMzYwOTYxMzgwOTYyMzkwOTYzM2IwOTY0M2QwOTY1M2UwOTY2NDAwYTY3NDIwYTY4NDQwYTY4NDUwYTY5NDcwYjZhNDkwYjZhNGEwYzZiNGMwYzZiNGQwZDZjNGYwZDZjNTEwZTZjNTIwZTZkNTQwZjZkNTUwZjZkNTcxMDZlNTkxMDZlNWExMTZlNWMxMjZlNWQxMjZlNWYxMzZlNjExMzZlNjIxNDZlNjQxNTZlNjUxNTZlNjcxNjZlNjkxNjZlNmExNzZlNmMxODZlNmQxODZlNmYxOTZlNzExOTZlNzIxYTZlNzQxYTZlNzUxYjZlNzcxYzZkNzgxYzZkN2ExZDZkN2MxZDZkN2QxZTZkN2YxZTZjODAxZjZjODIyMDZjODQyMDZiODUyMTZiODcyMTZiODgyMjZhOGEyMjZhOGMyMzY5OGQyMzY5OGYyNDY5OTAyNTY4OTIyNTY4OTMyNjY3OTUyNjY3OTcyNzY2OTgyNzY2OWEyODY1OWIyOTY0OWQyOTY0OWYyYTYzYTAyYTYzYTIyYjYyYTMyYzYxYTUyYzYwYTYyZDYwYTgyZTVmYTkyZTVlYWIyZjVlYWQzMDVkYWUzMDVjYjAzMTViYjEzMjVhYjMzMjVhYjQzMzU5YjYzNDU4YjczNTU3YjkzNTU2YmEzNjU1YmMzNzU0YmQzODUzYmYzOTUyYzAzYTUxYzEzYTUwYzMzYjRmYzQzYzRlYzYzZDRkYzczZTRjYzgzZjRiY2E0MDRhY2I0MTQ5Y2M0MjQ4Y2U0MzQ3Y2Y0NDQ2ZDA0NTQ1ZDI0NjQ0ZDM0NzQzZDQ0ODQyZDU0YTQxZDc0YjNmZDg0YzNlZDk0ZDNkZGE0ZTNjZGI1MDNiZGQ1MTNhZGU1MjM4ZGY1MzM3ZTA1NTM2ZTE1NjM1ZTI1NzM0ZTM1OTMzZTQ1YTMxZTU1YzMwZTY1ZDJmZTc1ZTJlZTg2MDJkZTk2MTJiZWE2MzJhZWI2NDI5ZWI2NjI4ZWM2NzI2ZWQ2OTI1ZWU2YTI0ZWY2YzIzZWY2ZTIxZjA2ZjIwZjE3MTFmZjE3MzFkZjI3NDFjZjM3NjFiZjM3ODE5ZjQ3OTE4ZjU3YjE3ZjU3ZDE1ZjY3ZTE0ZjY4MDEzZjc4MjEyZjc4NDEwZjg4NTBmZjg4NzBlZjg4OTBjZjk4YjBiZjk4YzBhZjk4ZTA5ZmE5MDA4ZmE5MjA3ZmE5NDA3ZmI5NjA2ZmI5NzA2ZmI5OTA2ZmI5YjA2ZmI5ZDA3ZmM5ZjA3ZmNhMTA4ZmNhMzA5ZmNhNTBhZmNhNjBjZmNhODBkZmNhYTBmZmNhYzExZmNhZTEyZmNiMDE0ZmNiMjE2ZmNiNDE4ZmJiNjFhZmJiODFkZmJiYTFmZmJiYzIxZmJiZTIzZmFjMDI2ZmFjMjI4ZmFjNDJhZmFjNjJkZjljNzJmZjljOTMyZjljYjM1ZjhjZDM3ZjhjZjNhZjdkMTNkZjdkMzQwZjZkNTQzZjZkNzQ2ZjVkOTQ5ZjVkYjRjZjRkZDRmZjRkZjUzZjRlMTU2ZjNlMzVhZjNlNTVkZjJlNjYxZjJlODY1ZjJlYTY5ZjFlYzZkZjFlZDcxZjFlZjc1ZjFmMTc5ZjJmMjdkZjJmNDgyZjNmNTg2ZjNmNjhhZjRmODhlZjVmOTkyZjZmYTk2ZjhmYjlhZjlmYzlkZmFmZGExZmNmZmE0IikpLHo2PU42KFM2KCIwZDA4ODcxMDA3ODgxMzA3ODkxNjA3OGExOTA2OGMxYjA2OGQxZDA2OGUyMDA2OGYyMjA2OTAyNDA2OTEyNjA1OTEyODA1OTIyYTA1OTMyYzA1OTQyZTA1OTUyZjA1OTYzMTA1OTczMzA1OTczNTA0OTgzNzA0OTkzODA0OWEzYTA0OWEzYzA0OWIzZTA0OWMzZjA0OWM0MTA0OWQ0MzAzOWU0NDAzOWU0NjAzOWY0ODAzOWY0OTAzYTA0YjAzYTE0YzAyYTE0ZTAyYTI1MDAyYTI1MTAyYTM1MzAyYTM1NTAyYTQ1NjAxYTQ1ODAxYTQ1OTAxYTU1YjAxYTU1YzAxYTY1ZTAxYTY2MDAxYTY2MTAwYTc2MzAwYTc2NDAwYTc2NjAwYTc2NzAwYTg2OTAwYTg2YTAwYTg2YzAwYTg2ZTAwYTg2ZjAwYTg3MTAwYTg3MjAxYTg3NDAxYTg3NTAxYTg3NzAxYTg3ODAxYTg3YTAyYTg3YjAyYTg3ZDAzYTg3ZTAzYTg4MDA0YTg4MTA0YTc4MzA1YTc4NDA1YTc4NjA2YTY4NzA3YTY4ODA4YTY4YTA5YTU4YjBhYTU4ZDBiYTU4ZTBjYTQ4ZjBkYTQ5MTBlYTM5MjBmYTM5NDEwYTI5NTExYTE5NjEzYTE5ODE0YTA5OTE1OWY5YTE2OWY5YzE3OWU5ZDE4OWQ5ZTE5OWRhMDFhOWNhMTFiOWJhMjFkOWFhMzFlOWFhNTFmOTlhNjIwOThhNzIxOTdhODIyOTZhYTIzOTVhYjI0OTRhYzI2OTRhZDI3OTNhZTI4OTJiMDI5OTFiMTJhOTBiMjJiOGZiMzJjOGViNDJlOGRiNTJmOGNiNjMwOGJiNzMxOGFiODMyODliYTMzODhiYjM0ODhiYzM1ODdiZDM3ODZiZTM4ODViZjM5ODRjMDNhODNjMTNiODJjMjNjODFjMzNkODBjNDNlN2ZjNTQwN2VjNjQxN2RjNzQyN2NjODQzN2JjOTQ0N2FjYTQ1N2FjYjQ2NzljYzQ3NzhjYzQ5NzdjZDRhNzZjZTRiNzVjZjRjNzRkMDRkNzNkMTRlNzJkMjRmNzFkMzUxNzFkNDUyNzBkNTUzNmZkNTU0NmVkNjU1NmRkNzU2NmNkODU3NmJkOTU4NmFkYTVhNmFkYTViNjlkYjVjNjhkYzVkNjdkZDVlNjZkZTVmNjVkZTYxNjRkZjYyNjNlMDYzNjNlMTY0NjJlMjY1NjFlMjY2NjBlMzY4NWZlNDY5NWVlNTZhNWRlNTZiNWRlNjZjNWNlNzZlNWJlNzZmNWFlODcwNTllOTcxNThlOTcyNTdlYTc0NTdlYjc1NTZlYjc2NTVlYzc3NTRlZDc5NTNlZDdhNTJlZTdiNTFlZjdjNTFlZjdlNTBmMDdmNGZmMDgwNGVmMTgxNGRmMTgzNGNmMjg0NGJmMzg1NGJmMzg3NGFmNDg4NDlmNDg5NDhmNThiNDdmNThjNDZmNjhkNDVmNjhmNDRmNzkwNDRmNzkxNDNmNzkzNDJmODk0NDFmODk1NDBmOTk3M2ZmOTk4M2VmOTlhM2VmYTliM2RmYTljM2NmYTllM2JmYjlmM2FmYmExMzlmYmEyMzhmY2EzMzhmY2E1MzdmY2E2MzZmY2E4MzVmY2E5MzRmZGFiMzNmZGFjMzNmZGFlMzJmZGFmMzFmZGIxMzBmZGIyMmZmZGI0MmZmZGI1MmVmZWI3MmRmZWI4MmNmZWJhMmNmZWJiMmJmZWJkMmFmZWJlMmFmZWMwMjlmZGMyMjlmZGMzMjhmZGM1MjdmZGM2MjdmZGM4MjdmZGNhMjZmZGNiMjZmY2NkMjVmY2NlMjVmY2QwMjVmY2QyMjVmYmQzMjRmYmQ1MjRmYmQ3MjRmYWQ4MjRmYWRhMjRmOWRjMjRmOWRkMjVmOGRmMjVmOGUxMjVmN2UyMjVmN2U0MjVmNmU2MjZmNmU4MjZmNWU5MjZmNWViMjdmNGVkMjdmM2VlMjdmM2YwMjdmMmYyMjdmMWY0MjZmMWY1MjVmMGY3MjRmMGY5MjEiKSk7dmFyIEQ2PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIixCNj17c3ZnOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIseGh0bWw6RDYseGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHhtbDoiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8ifTtmdW5jdGlvbiBINih0KXt2YXIgZT10Kz0iIixuPWUuaW5kZXhPZigiOiIpO3JldHVybiBuPj0wJiYieG1sbnMiIT09KGU9dC5zbGljZSgwLG4pKSYmKHQ9dC5zbGljZShuKzEpKSxCNi5oYXNPd25Qcm9wZXJ0eShlKT97c3BhY2U6QjZbZV0sbG9jYWw6dH06dH1mdW5jdGlvbiBGNih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLm93bmVyRG9jdW1lbnQsbj10aGlzLm5hbWVzcGFjZVVSSTtyZXR1cm4gbj09PUQ2JiZlLmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VVUkk9PT1ENj9lLmNyZWF0ZUVsZW1lbnQodCk6ZS5jcmVhdGVFbGVtZW50TlMobix0KX19ZnVuY3Rpb24gVjYodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlModC5zcGFjZSx0LmxvY2FsKX19ZnVuY3Rpb24gVTYodCl7dmFyIGU9SDYodCk7cmV0dXJuKGUubG9jYWw/VjY6RjYpKGUpfWZ1bmN0aW9uIGo2KCl7fWZ1bmN0aW9uIEc2KHQpe3JldHVybiBudWxsPT10P2o2OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcih0KX19ZnVuY3Rpb24gVzYoKXtyZXR1cm5bXX1mdW5jdGlvbiBxNih0KXtyZXR1cm4gbnVsbD09dD9XNjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwodCl9fXZhciBZNj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXRjaGVzKHQpfX07aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCl7dmFyIFg2PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpZighWDYubWF0Y2hlcyl7dmFyICQ2PVg2LndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8WDYubXNNYXRjaGVzU2VsZWN0b3J8fFg2Lm1vek1hdGNoZXNTZWxlY3Rvcnx8WDYub01hdGNoZXNTZWxlY3RvcjtZNj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gJDYuY2FsbCh0aGlzLHQpfX19fXZhciBLNj1ZNjtmdW5jdGlvbiBaNih0KXtyZXR1cm4gbmV3IEFycmF5KHQubGVuZ3RoKX1mdW5jdGlvbiBKNih0LGUpe3RoaXMub3duZXJEb2N1bWVudD10Lm93bmVyRG9jdW1lbnQsdGhpcy5uYW1lc3BhY2VVUkk9dC5uYW1lc3BhY2VVUkksdGhpcy5fbmV4dD1udWxsLHRoaXMuX3BhcmVudD10LHRoaXMuX19kYXRhX189ZX1KNi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOko2LGFwcGVuZENoaWxkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsdGhpcy5fbmV4dCl9LGluc2VydEJlZm9yZTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsZSl9LHF1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yKHQpfSxxdWVyeVNlbGVjdG9yQWxsOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3RvckFsbCh0KX19O2Z1bmN0aW9uIFE2KHQsZSxuLGkscixvKXtmb3IodmFyIGEscz0wLGw9ZS5sZW5ndGgsYz1vLmxlbmd0aDtzPGM7KytzKShhPWVbc10pPyhhLl9fZGF0YV9fPW9bc10saVtzXT1hKTpuW3NdPW5ldyBKNih0LG9bc10pO2Zvcig7czxsOysrcykoYT1lW3NdKSYmKHJbc109YSl9ZnVuY3Rpb24gdDkodCxlLG4saSxyLG8sYSl7dmFyIHMsbCxjLHU9e30saD1lLmxlbmd0aCxkPW8ubGVuZ3RoLHA9bmV3IEFycmF5KGgpO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmKHBbc109Yz0iJCIrYS5jYWxsKGwsbC5fX2RhdGFfXyxzLGUpLGMgaW4gdT9yW3NdPWw6dVtjXT1sKTtmb3Iocz0wO3M8ZDsrK3MpKGw9dVtjPSIkIithLmNhbGwodCxvW3NdLHMsbyldKT8oaVtzXT1sLGwuX19kYXRhX189b1tzXSx1W2NdPW51bGwpOm5bc109bmV3IEo2KHQsb1tzXSk7Zm9yKHM9MDtzPGg7KytzKShsPWVbc10pJiZ1W3Bbc11dPT09bCYmKHJbc109bCl9ZnVuY3Rpb24gZTkodCxlKXtyZXR1cm4gdDxlPy0xOnQ+ZT8xOnQ+PWU/MDpOYU59ZnVuY3Rpb24gbjkodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIGk5KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19ZnVuY3Rpb24gcjkodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZSh0LGUpfX1mdW5jdGlvbiBvOSh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUpfX1mdW5jdGlvbiBhOSh0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCk6dGhpcy5zZXRBdHRyaWJ1dGUodCxuKX19ZnVuY3Rpb24gczkodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKTp0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxuKX19ZnVuY3Rpb24gbDkodCl7cmV0dXJuIHQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx0LmRvY3VtZW50JiZ0fHx0LmRlZmF1bHRWaWV3fWZ1bmN0aW9uIGM5KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9fWZ1bmN0aW9uIHU5KHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsZSxuKX19ZnVuY3Rpb24gaDkodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBpPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PWk/dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KTp0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsaSxuKX19ZnVuY3Rpb24gZDkodCxlKXtyZXR1cm4gdC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGUpfHxsOSh0KS5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShlKX1mdW5jdGlvbiBwOSh0KXtyZXR1cm4gZnVuY3Rpb24oKXtkZWxldGUgdGhpc1t0XX19ZnVuY3Rpb24gZjkodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzW3RdPWV9fWZ1bmN0aW9uIG05KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09bj9kZWxldGUgdGhpc1t0XTp0aGlzW3RdPW59fWZ1bmN0aW9uIGc5KHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKX1mdW5jdGlvbiBfOSh0KXtyZXR1cm4gdC5jbGFzc0xpc3R8fG5ldyB5OSh0KX1mdW5jdGlvbiB5OSh0KXt0aGlzLl9ub2RlPXQsdGhpcy5fbmFtZXM9ZzkodC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX1mdW5jdGlvbiB2OSh0LGUpe2Zvcih2YXIgbj1fOSh0KSxpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KW4uYWRkKGVbaV0pfWZ1bmN0aW9uIGI5KHQsZSl7Zm9yKHZhciBuPV85KHQpLGk9LTEscj1lLmxlbmd0aDsrK2k8cjspbi5yZW1vdmUoZVtpXSl9ZnVuY3Rpb24geDkodCl7cmV0dXJuIGZ1bmN0aW9uKCl7djkodGhpcyx0KX19ZnVuY3Rpb24gdzkodCl7cmV0dXJuIGZ1bmN0aW9uKCl7YjkodGhpcyx0KX19ZnVuY3Rpb24gUzkodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXsoZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk/djk6YjkpKHRoaXMsdCl9fWZ1bmN0aW9uIE05KCl7dGhpcy50ZXh0Q29udGVudD0iIn1mdW5jdGlvbiBFOSh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnRleHRDb250ZW50PXR9fWZ1bmN0aW9uIFQ5KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfX1mdW5jdGlvbiBDOSgpe3RoaXMuaW5uZXJIVE1MPSIifWZ1bmN0aW9uIEE5KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuaW5uZXJIVE1MPXR9fWZ1bmN0aW9uIGs5KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuaW5uZXJIVE1MPW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24gTDkoKXt0aGlzLm5leHRTaWJsaW5nJiZ0aGlzLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodGhpcyl9ZnVuY3Rpb24gUDkoKXt0aGlzLnByZXZpb3VzU2libGluZyYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLHRoaXMucGFyZW50Tm9kZS5maXJzdENoaWxkKX1mdW5jdGlvbiBOOSgpe3JldHVybiBudWxsfWZ1bmN0aW9uIEk5KCl7dmFyIHQ9dGhpcy5wYXJlbnROb2RlO3QmJnQucmVtb3ZlQ2hpbGQodGhpcyl9ZnVuY3Rpb24gUjkoKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLmNsb25lTm9kZSghMSksdGhpcy5uZXh0U2libGluZyl9ZnVuY3Rpb24gTzkoKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLmNsb25lTm9kZSghMCksdGhpcy5uZXh0U2libGluZyl9eTkucHJvdG90eXBlPXthZGQ6ZnVuY3Rpb24odCl7dGhpcy5fbmFtZXMuaW5kZXhPZih0KTwwJiYodGhpcy5fbmFtZXMucHVzaCh0KSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbmFtZXMuaW5kZXhPZih0KTtlPj0wJiYodGhpcy5fbmFtZXMuc3BsaWNlKGUsMSksdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLl9uYW1lcy5qb2luKCIgIikpKX0sY29udGFpbnM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX25hbWVzLmluZGV4T2YodCk+PTB9fTt2YXIgejk9e30sRDk9bnVsbDsidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiYoIm9ubW91c2VlbnRlciJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR8fCh6OT17bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9KSk7ZnVuY3Rpb24gQjkodCxlLG4pe3JldHVybiB0PUg5KHQsZSxuKSxmdW5jdGlvbihlKXt2YXIgbj1lLnJlbGF0ZWRUYXJnZXQ7biYmKG49PT10aGlzfHw4Jm4uY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcykpfHx0LmNhbGwodGhpcyxlKX19ZnVuY3Rpb24gSDkodCxlLG4pe3JldHVybiBmdW5jdGlvbihpKXt2YXIgcj1EOTtEOT1pO3RyeXt0LmNhbGwodGhpcyx0aGlzLl9fZGF0YV9fLGUsbil9ZmluYWxseXtEOT1yfX19ZnVuY3Rpb24gRjkodCl7cmV0dXJuIHQudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9IiIsbj10LmluZGV4T2YoIi4iKTtyZXR1cm4gbj49MCYmKGU9dC5zbGljZShuKzEpLHQ9dC5zbGljZSgwLG4pKSx7dHlwZTp0LG5hbWU6ZX19KSl9ZnVuY3Rpb24gVjkodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fX29uO2lmKGUpe2Zvcih2YXIgbixpPTAscj0tMSxvPWUubGVuZ3RoO2k8bzsrK2kpbj1lW2ldLHQudHlwZSYmbi50eXBlIT09dC50eXBlfHxuLm5hbWUhPT10Lm5hbWU/ZVsrK3JdPW46dGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKG4udHlwZSxuLmxpc3RlbmVyLG4uY2FwdHVyZSk7KytyP2UubGVuZ3RoPXI6ZGVsZXRlIHRoaXMuX19vbn19fWZ1bmN0aW9uIFU5KHQsZSxuKXt2YXIgaT16OS5oYXNPd25Qcm9wZXJ0eSh0LnR5cGUpP0I5Okg5O3JldHVybiBmdW5jdGlvbihyLG8sYSl7dmFyIHMsbD10aGlzLl9fb24sYz1pKGUsbyxhKTtpZihsKWZvcih2YXIgdT0wLGg9bC5sZW5ndGg7dTxoOysrdSlpZigocz1sW3VdKS50eXBlPT09dC50eXBlJiZzLm5hbWU9PT10Lm5hbWUpcmV0dXJuIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcixzLmNhcHR1cmUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcj1jLHMuY2FwdHVyZT1uKSx2b2lkKHMudmFsdWU9ZSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKHQudHlwZSxjLG4pLHM9e3R5cGU6dC50eXBlLG5hbWU6dC5uYW1lLHZhbHVlOmUsbGlzdGVuZXI6YyxjYXB0dXJlOm59LGw/bC5wdXNoKHMpOnRoaXMuX19vbj1bc119fWZ1bmN0aW9uIGo5KHQsZSxuKXt2YXIgaT1sOSh0KSxyPWkuQ3VzdG9tRXZlbnQ7ImZ1bmN0aW9uIj09dHlwZW9mIHI/cj1uZXcgcihlLG4pOihyPWkuZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iiksbj8oci5pbml0RXZlbnQoZSxuLmJ1YmJsZXMsbi5jYW5jZWxhYmxlKSxyLmRldGFpbD1uLmRldGFpbCk6ci5pbml0RXZlbnQoZSwhMSwhMSkpLHQuZGlzcGF0Y2hFdmVudChyKX1mdW5jdGlvbiBHOSh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBqOSh0aGlzLHQsZSl9fWZ1bmN0aW9uIFc5KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGo5KHRoaXMsdCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXZhciBxOT1bbnVsbF07ZnVuY3Rpb24gWTkodCxlKXt0aGlzLl9ncm91cHM9dCx0aGlzLl9wYXJlbnRzPWV9ZnVuY3Rpb24gWDkoKXtyZXR1cm4gbmV3IFk5KFtbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XV0scTkpfWZ1bmN0aW9uICQ5KHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD9uZXcgWTkoW1tkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpXV0sW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudF0pOm5ldyBZOShbW3RdXSxxOSl9WTkucHJvdG90eXBlPVg5LnByb3RvdHlwZT17Y29uc3RydWN0b3I6WTksc2VsZWN0OmZ1bmN0aW9uIEs5KHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1HNih0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhLHM9ZVtyXSxsPXMubGVuZ3RoLGM9aVtyXT1uZXcgQXJyYXkobCksdT0wO3U8bDsrK3UpKG89c1t1XSkmJihhPXQuY2FsbChvLG8uX19kYXRhX18sdSxzKSkmJigiX19kYXRhX18iaW4gbyYmKGEuX19kYXRhX189by5fX2RhdGFfXyksY1t1XT1hKTtyZXR1cm4gbmV3IFk5KGksdGhpcy5fcGFyZW50cyl9LHNlbGVjdEFsbDpmdW5jdGlvbiBaOSh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9cTYodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPVtdLHI9W10sbz0wO288bjsrK28pZm9yKHZhciBhLHM9ZVtvXSxsPXMubGVuZ3RoLGM9MDtjPGw7KytjKShhPXNbY10pJiYoaS5wdXNoKHQuY2FsbChhLGEuX19kYXRhX18sYyxzKSksci5wdXNoKGEpKTtyZXR1cm4gbmV3IFk5KGkscil9LGZpbHRlcjpmdW5jdGlvbiBKOSh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9SzYodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPW5ldyBBcnJheShuKSxyPTA7cjxuOysrcilmb3IodmFyIG8sYT1lW3JdLHM9YS5sZW5ndGgsbD1pW3JdPVtdLGM9MDtjPHM7KytjKShvPWFbY10pJiZ0LmNhbGwobyxvLl9fZGF0YV9fLGMsYSkmJmwucHVzaChvKTtyZXR1cm4gbmV3IFk5KGksdGhpcy5fcGFyZW50cyl9LGRhdGE6ZnVuY3Rpb24gUTkodCxlKXtpZighdClyZXR1cm4gZj1uZXcgQXJyYXkodGhpcy5zaXplKCkpLHU9LTEsdGhpcy5lYWNoKChmdW5jdGlvbih0KXtmWysrdV09dH0pKSxmO3ZhciBuPWU/dDk6UTYsaT10aGlzLl9wYXJlbnRzLHI9dGhpcy5fZ3JvdXBzOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD0oZnVuY3Rpb24gbyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19KSh0KSk7Zm9yKHZhciBhPXIubGVuZ3RoLHM9bmV3IEFycmF5KGEpLGw9bmV3IEFycmF5KGEpLGM9bmV3IEFycmF5KGEpLHU9MDt1PGE7Kyt1KXt2YXIgaD1pW3VdLGQ9clt1XSxwPWQubGVuZ3RoLGY9dC5jYWxsKGgsaCYmaC5fX2RhdGFfXyx1LGkpLG09Zi5sZW5ndGgsZz1sW3VdPW5ldyBBcnJheShtKSxfPXNbdV09bmV3IEFycmF5KG0pO24oaCxkLGcsXyxjW3VdPW5ldyBBcnJheShwKSxmLGUpO2Zvcih2YXIgeSx2LGI9MCx4PTA7YjxtOysrYilpZih5PWdbYl0pe2ZvcihiPj14JiYoeD1iKzEpOyEodj1fW3hdKSYmKyt4PG07KTt5Ll9uZXh0PXZ8fG51bGx9fXJldHVybihzPW5ldyBZOShzLGkpKS5fZW50ZXI9bCxzLl9leGl0PWMsc30sZW50ZXI6ZnVuY3Rpb24gdDgoKXtyZXR1cm4gbmV3IFk5KHRoaXMuX2VudGVyfHx0aGlzLl9ncm91cHMubWFwKFo2KSx0aGlzLl9wYXJlbnRzKX0sZXhpdDpmdW5jdGlvbiBlOCgpe3JldHVybiBuZXcgWTkodGhpcy5fZXhpdHx8dGhpcy5fZ3JvdXBzLm1hcChaNiksdGhpcy5fcGFyZW50cyl9LG1lcmdlOmZ1bmN0aW9uIG44KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsaT1lLmxlbmd0aCxyPU1hdGgubWluKGksbi5sZW5ndGgpLG89bmV3IEFycmF5KGkpLGE9MDthPHI7KythKWZvcih2YXIgcyxsPWVbYV0sYz1uW2FdLHU9bC5sZW5ndGgsaD1vW2FdPW5ldyBBcnJheSh1KSxkPTA7ZDx1OysrZCkocz1sW2RdfHxjW2RdKSYmKGhbZF09cyk7Zm9yKDthPGk7KythKW9bYV09ZVthXTtyZXR1cm4gbmV3IFk5KG8sdGhpcy5fcGFyZW50cyl9LG9yZGVyOmZ1bmN0aW9uIGk4KCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPS0xLG49dC5sZW5ndGg7KytlPG47KWZvcih2YXIgaSxyPXRbZV0sbz1yLmxlbmd0aC0xLGE9cltvXTstLW8+PTA7KShpPXJbb10pJiYoYSYmYSE9PWkubmV4dFNpYmxpbmcmJmEucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaSxhKSxhPWkpO3JldHVybiB0aGlzfSxzb3J0OmZ1bmN0aW9uIHI4KHQpe2Z1bmN0aW9uIGUoZSxuKXtyZXR1cm4gZSYmbj90KGUuX19kYXRhX18sbi5fX2RhdGFfXyk6IWUtIW59dHx8KHQ9ZTkpO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsaT1uLmxlbmd0aCxyPW5ldyBBcnJheShpKSxvPTA7bzxpOysrbyl7Zm9yKHZhciBhLHM9bltvXSxsPXMubGVuZ3RoLGM9cltvXT1uZXcgQXJyYXkobCksdT0wO3U8bDsrK3UpKGE9c1t1XSkmJihjW3VdPWEpO2Muc29ydChlKX1yZXR1cm4gbmV3IFk5KHIsdGhpcy5fcGFyZW50cykub3JkZXIoKX0sY2FsbDpmdW5jdGlvbiBvOCgpe3ZhciB0PWFyZ3VtZW50c1swXTtyZXR1cm4gYXJndW1lbnRzWzBdPXRoaXMsdC5hcHBseShudWxsLGFyZ3VtZW50cyksdGhpc30sbm9kZXM6ZnVuY3Rpb24gYTgoKXt2YXIgdD1uZXcgQXJyYXkodGhpcy5zaXplKCkpLGU9LTE7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt0WysrZV09dGhpc30pKSx0fSxub2RlOmZ1bmN0aW9uIHM4KCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPTAsbj10Lmxlbmd0aDtlPG47KytlKWZvcih2YXIgaT10W2VdLHI9MCxvPWkubGVuZ3RoO3I8bzsrK3Ipe3ZhciBhPWlbcl07aWYoYSlyZXR1cm4gYX1yZXR1cm4gbnVsbH0sc2l6ZTpmdW5jdGlvbiBsOCgpe3ZhciB0PTA7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXsrK3R9KSksdH0sZW1wdHk6ZnVuY3Rpb24gYzgoKXtyZXR1cm4hdGhpcy5ub2RlKCl9LGVhY2g6ZnVuY3Rpb24gdTgodCl7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPTAsaT1lLmxlbmd0aDtuPGk7KytuKWZvcih2YXIgcixvPWVbbl0sYT0wLHM9by5sZW5ndGg7YTxzOysrYSkocj1vW2FdKSYmdC5jYWxsKHIsci5fX2RhdGFfXyxhLG8pO3JldHVybiB0aGlzfSxhdHRyOmZ1bmN0aW9uIGg4KHQsZSl7dmFyIG49SDYodCk7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXt2YXIgaT10aGlzLm5vZGUoKTtyZXR1cm4gbi5sb2NhbD9pLmdldEF0dHJpYnV0ZU5TKG4uc3BhY2Usbi5sb2NhbCk6aS5nZXRBdHRyaWJ1dGUobil9cmV0dXJuIHRoaXMuZWFjaCgobnVsbD09ZT9uLmxvY2FsP2k5Om45OiJmdW5jdGlvbiI9PXR5cGVvZiBlP24ubG9jYWw/czk6YTk6bi5sb2NhbD9vOTpyOSkobixlKSl9LHN0eWxlOmZ1bmN0aW9uIGQ4KHQsZSxuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaCgobnVsbD09ZT9jOToiZnVuY3Rpb24iPT10eXBlb2YgZT9oOTp1OSkodCxlLG51bGw9PW4/IiI6bikpOmQ5KHRoaXMubm9kZSgpLHQpfSxwcm9wZXJ0eTpmdW5jdGlvbiBwOCh0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/dGhpcy5lYWNoKChudWxsPT1lP3A5OiJmdW5jdGlvbiI9PXR5cGVvZiBlP205OmY5KSh0LGUpKTp0aGlzLm5vZGUoKVt0XX0sY2xhc3NlZDpmdW5jdGlvbiBmOCh0LGUpe3ZhciBuPWc5KHQrIiIpO2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7Zm9yKHZhciBpPV85KHRoaXMubm9kZSgpKSxyPS0xLG89bi5sZW5ndGg7KytyPG87KWlmKCFpLmNvbnRhaW5zKG5bcl0pKXJldHVybiExO3JldHVybiEwfXJldHVybiB0aGlzLmVhY2goKCJmdW5jdGlvbiI9PXR5cGVvZiBlP1M5OmU/eDk6dzkpKG4sZSkpfSx0ZXh0OmZ1bmN0aW9uIG04KHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChudWxsPT10P005OigiZnVuY3Rpb24iPT10eXBlb2YgdD9UOTpFOSkodCkpOnRoaXMubm9kZSgpLnRleHRDb250ZW50fSxodG1sOmZ1bmN0aW9uIGc4KHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChudWxsPT10P0M5OigiZnVuY3Rpb24iPT10eXBlb2YgdD9rOTpBOSkodCkpOnRoaXMubm9kZSgpLmlubmVySFRNTH0scmFpc2U6ZnVuY3Rpb24gXzgoKXtyZXR1cm4gdGhpcy5lYWNoKEw5KX0sbG93ZXI6ZnVuY3Rpb24geTgoKXtyZXR1cm4gdGhpcy5lYWNoKFA5KX0sYXBwZW5kOmZ1bmN0aW9uIHY4KHQpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6VTYodCk7cmV0dXJuIHRoaXMuc2VsZWN0KChmdW5jdGlvbigpe3JldHVybiB0aGlzLmFwcGVuZENoaWxkKGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0pKX0saW5zZXJ0OmZ1bmN0aW9uIGI4KHQsZSl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpVNih0KSxpPW51bGw9PWU/Tjk6ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpHNihlKTtyZXR1cm4gdGhpcy5zZWxlY3QoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5zZXJ0QmVmb3JlKG4uYXBwbHkodGhpcyxhcmd1bWVudHMpLGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfHxudWxsKX0pKX0scmVtb3ZlOmZ1bmN0aW9uIHg4KCl7cmV0dXJuIHRoaXMuZWFjaChJOSl9LGNsb25lOmZ1bmN0aW9uIHc4KHQpe3JldHVybiB0aGlzLnNlbGVjdCh0P085OlI5KX0sZGF0dW06ZnVuY3Rpb24gUzgodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5wcm9wZXJ0eSgiX19kYXRhX18iLHQpOnRoaXMubm9kZSgpLl9fZGF0YV9ffSxvbjpmdW5jdGlvbiBNOCh0LGUsbil7dmFyIGkscixvPUY5KHQrIiIpLGE9by5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtmb3Iocz1lP1U5OlY5LG51bGw9PW4mJihuPSExKSxpPTA7aTxhOysraSl0aGlzLmVhY2gocyhvW2ldLGUsbikpO3JldHVybiB0aGlzfXZhciBzPXRoaXMubm9kZSgpLl9fb247aWYocylmb3IodmFyIGwsYz0wLHU9cy5sZW5ndGg7Yzx1OysrYylmb3IoaT0wLGw9c1tjXTtpPGE7KytpKWlmKChyPW9baV0pLnR5cGU9PT1sLnR5cGUmJnIubmFtZT09PWwubmFtZSlyZXR1cm4gbC52YWx1ZX0sZGlzcGF0Y2g6ZnVuY3Rpb24gRTgodCxlKXtyZXR1cm4gdGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgZT9XOTpHOSkodCxlKSl9fTt2YXIgVDg9MDtmdW5jdGlvbiBDOCgpe3JldHVybiBuZXcgQTh9ZnVuY3Rpb24gQTgoKXt0aGlzLl89IkAiKygrK1Q4KS50b1N0cmluZygzNil9ZnVuY3Rpb24gazgoKXtmb3IodmFyIHQsZT1EOTt0PWUuc291cmNlRXZlbnQ7KWU9dDtyZXR1cm4gZX1mdW5jdGlvbiBMOCh0LGUpe3ZhciBuPXQub3duZXJTVkdFbGVtZW50fHx0O2lmKG4uY3JlYXRlU1ZHUG9pbnQpe3ZhciBpPW4uY3JlYXRlU1ZHUG9pbnQoKTtyZXR1cm4gaS54PWUuY2xpZW50WCxpLnk9ZS5jbGllbnRZLFsoaT1pLm1hdHJpeFRyYW5zZm9ybSh0LmdldFNjcmVlbkNUTSgpLmludmVyc2UoKSkpLngsaS55XX12YXIgcj10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybltlLmNsaWVudFgtci5sZWZ0LXQuY2xpZW50TGVmdCxlLmNsaWVudFktci50b3AtdC5jbGllbnRUb3BdfUE4LnByb3RvdHlwZT1DOC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOkE4LGdldDpmdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5fOyEoZSBpbiB0KTspaWYoISh0PXQucGFyZW50Tm9kZSkpcmV0dXJuO3JldHVybiB0W2VdfSxzZXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFt0aGlzLl9dPWV9LHJlbW92ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fIGluIHQmJmRlbGV0ZSB0W3RoaXMuX119LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX319O3ZhciBQOD1NYXRoLlBJLE44PTIqUDgsSTg9MWUtNixSOD1OOC1JODtmdW5jdGlvbiBPOCgpe3RoaXMuX3gwPXRoaXMuX3kwPXRoaXMuX3gxPXRoaXMuX3kxPW51bGwsdGhpcy5fPSIifWZ1bmN0aW9uIHo4KCl7cmV0dXJuIG5ldyBPOH1mdW5jdGlvbiBEOCh0KXtyZXR1cm4gZnVuY3Rpb24gZSgpe3JldHVybiB0fX1POC5wcm90b3R5cGU9ejgucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpPOCxtb3ZlVG86ZnVuY3Rpb24odCxlKXt0aGlzLl8rPSJNIisodGhpcy5feDA9dGhpcy5feDE9K3QpKyIsIisodGhpcy5feTA9dGhpcy5feTE9K2UpfSxjbG9zZVBhdGg6ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5feDEmJih0aGlzLl94MT10aGlzLl94MCx0aGlzLl95MT10aGlzLl95MCx0aGlzLl8rPSJaIil9LGxpbmVUbzpmdW5jdGlvbih0LGUpe3RoaXMuXys9IkwiKyh0aGlzLl94MT0rdCkrIiwiKyh0aGlzLl95MT0rZSl9LHF1YWRyYXRpY0N1cnZlVG86ZnVuY3Rpb24odCxlLG4saSl7dGhpcy5fKz0iUSIrICt0KyIsIisgK2UrIiwiKyh0aGlzLl94MT0rbikrIiwiKyh0aGlzLl95MT0raSl9LGJlemllckN1cnZlVG86ZnVuY3Rpb24odCxlLG4saSxyLG8pe3RoaXMuXys9IkMiKyArdCsiLCIrICtlKyIsIisgK24rIiwiKyAraSsiLCIrKHRoaXMuX3gxPStyKSsiLCIrKHRoaXMuX3kxPStvKX0sYXJjVG86ZnVuY3Rpb24odCxlLG4saSxyKXt2YXIgbz10aGlzLl94MSxhPXRoaXMuX3kxLHM9KG49K24pLSh0PSt0KSxsPShpPStpKS0oZT0rZSksYz1vLXQsdT1hLWUsaD1jKmMrdSp1O2lmKChyPStyKTwwKXRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiK3IpO2lmKG51bGw9PT10aGlzLl94MSl0aGlzLl8rPSJNIisodGhpcy5feDE9dCkrIiwiKyh0aGlzLl95MT1lKTtlbHNlIGlmKGg+STgpaWYoTWF0aC5hYnModSpzLWwqYyk+STgmJnIpe3ZhciBkPW4tbyxwPWktYSxmPXMqcytsKmwsbT1kKmQrcCpwLGc9TWF0aC5zcXJ0KGYpLF89TWF0aC5zcXJ0KGgpLHk9cipNYXRoLnRhbigoUDgtTWF0aC5hY29zKChmK2gtbSkvKDIqZypfKSkpLzIpLHY9eS9fLGI9eS9nO01hdGguYWJzKHYtMSk+STgmJih0aGlzLl8rPSJMIisodCt2KmMpKyIsIisoZSt2KnUpKSx0aGlzLl8rPSJBIityKyIsIityKyIsMCwwLCIrICsodSpkPmMqcCkrIiwiKyh0aGlzLl94MT10K2IqcykrIiwiKyh0aGlzLl95MT1lK2IqbCl9ZWxzZSB0aGlzLl8rPSJMIisodGhpcy5feDE9dCkrIiwiKyh0aGlzLl95MT1lKTtlbHNlO30sYXJjOmZ1bmN0aW9uKHQsZSxuLGkscixvKXt0PSt0LGU9K2Usbz0hIW87dmFyIGE9KG49K24pKk1hdGguY29zKGkpLHM9bipNYXRoLnNpbihpKSxsPXQrYSxjPWUrcyx1PTFebyxoPW8/aS1yOnItaTtpZihuPDApdGhyb3cgbmV3IEVycm9yKCJuZWdhdGl2ZSByYWRpdXM6ICIrbik7bnVsbD09PXRoaXMuX3gxP3RoaXMuXys9Ik0iK2wrIiwiK2M6KE1hdGguYWJzKHRoaXMuX3gxLWwpPkk4fHxNYXRoLmFicyh0aGlzLl95MS1jKT5JOCkmJih0aGlzLl8rPSJMIitsKyIsIitjKSxuJiYoaDwwJiYoaD1oJU44K044KSxoPlI4P3RoaXMuXys9IkEiK24rIiwiK24rIiwwLDEsIit1KyIsIisodC1hKSsiLCIrKGUtcykrIkEiK24rIiwiK24rIiwwLDEsIit1KyIsIisodGhpcy5feDE9bCkrIiwiKyh0aGlzLl95MT1jKTpoPkk4JiYodGhpcy5fKz0iQSIrbisiLCIrbisiLDAsIisgKyhoPj1QOCkrIiwiK3UrIiwiKyh0aGlzLl94MT10K24qTWF0aC5jb3MocikpKyIsIisodGhpcy5feTE9ZStuKk1hdGguc2luKHIpKSkpfSxyZWN0OmZ1bmN0aW9uKHQsZSxuLGkpe3RoaXMuXys9Ik0iKyh0aGlzLl94MD10aGlzLl94MT0rdCkrIiwiKyh0aGlzLl95MD10aGlzLl95MT0rZSkrImgiKyArbisidiIrICtpKyJoIistbisiWiJ9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX319O3ZhciBCOD1NYXRoLmFicyxIOD1NYXRoLmF0YW4yLEY4PU1hdGguY29zLFY4PU1hdGgubWF4LFU4PU1hdGgubWluLGo4PU1hdGguc2luLEc4PU1hdGguc3FydCxXOD0xZS0xMixxOD1NYXRoLlBJLFk4PXE4LzIsWDg9MipxODtmdW5jdGlvbiAkOCh0KXtyZXR1cm4gdD4xPzA6dDwtMT9xODpNYXRoLmFjb3ModCl9ZnVuY3Rpb24gSzgodCl7cmV0dXJuIHQ+PTE/WTg6dDw9LTE/LVk4Ok1hdGguYXNpbih0KX1mdW5jdGlvbiBaOCh0KXtyZXR1cm4gdC5pbm5lclJhZGl1c31mdW5jdGlvbiBKOCh0KXtyZXR1cm4gdC5vdXRlclJhZGl1c31mdW5jdGlvbiBROCh0KXtyZXR1cm4gdC5zdGFydEFuZ2xlfWZ1bmN0aW9uIHQ3KHQpe3JldHVybiB0LmVuZEFuZ2xlfWZ1bmN0aW9uIGU3KHQpe3JldHVybiB0JiZ0LnBhZEFuZ2xlfWZ1bmN0aW9uIG43KHQsZSxuLGkscixvLGEscyl7dmFyIGw9bi10LGM9aS1lLHU9YS1yLGg9cy1vLGQ9KHUqKGUtbyktaCoodC1yKSkvKGgqbC11KmMpO3JldHVyblt0K2QqbCxlK2QqY119ZnVuY3Rpb24gaTcodCxlLG4saSxyLG8sYSl7dmFyIHM9dC1uLGw9ZS1pLGM9KGE/bzotbykvRzgocypzK2wqbCksdT1jKmwsaD0tYypzLGQ9dCt1LHA9ZStoLGY9bit1LG09aStoLGc9KGQrZikvMixfPShwK20pLzIseT1mLWQsdj1tLXAsYj15Knkrdip2LHg9ci1vLHc9ZCptLWYqcCxTPSh2PDA/LTE6MSkqRzgoVjgoMCx4KngqYi13KncpKSxNPSh3KnYteSpTKS9iLEU9KC13KnktdipTKS9iLFQ9KHcqdit5KlMpL2IsQz0oLXcqeSt2KlMpL2IsQT1NLWcsaz1FLV8sTD1ULWcsUD1DLV87cmV0dXJuIEEqQStrKms+TCpMK1AqUCYmKE09VCxFPUMpLHtjeDpNLGN5OkUseDAxOi11LHkwMTotaCx4MTE6TSooci94LTEpLHkxMTpFKihyL3gtMSl9fWZ1bmN0aW9uIHI3KHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBvNyh0KXtyZXR1cm4gbmV3IHI3KHQpfWZ1bmN0aW9uIGE3KHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIHM3KHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIGw3KCl7dmFyIHQ9YTcsZT1zNyxuPUQ4KCEwKSxpPW51bGwscj1vNyxvPW51bGw7ZnVuY3Rpb24gYShhKXt2YXIgcyxsLGMsdT1hLmxlbmd0aCxoPSExO2ZvcihudWxsPT1pJiYobz1yKGM9ejgoKSkpLHM9MDtzPD11OysrcykhKHM8dSYmbihsPWFbc10scyxhKSk9PT1oJiYoKGg9IWgpP28ubGluZVN0YXJ0KCk6by5saW5lRW5kKCkpLGgmJm8ucG9pbnQoK3QobCxzLGEpLCtlKGwscyxhKSk7aWYoYylyZXR1cm4gbz1udWxsLGMrIiJ8fG51bGx9cmV0dXJuIGEueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOkQ4KCtlKSxhKTp0fSxhLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpEOCgrdCksYSk6ZX0sYS5kZWZpbmVkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoISF0KSxhKTpufSxhLmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsbnVsbCE9aSYmKG89cihpKSksYSk6cn0sYS5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P2k9bz1udWxsOm89cihpPXQpLGEpOml9LGF9ZnVuY3Rpb24gYzcoKXt2YXIgdD1hNyxlPW51bGwsbj1EOCgwKSxpPXM3LHI9RDgoITApLG89bnVsbCxhPW83LHM9bnVsbDtmdW5jdGlvbiBsKGwpe3ZhciBjLHUsaCxkLHAsZj1sLmxlbmd0aCxtPSExLGc9bmV3IEFycmF5KGYpLF89bmV3IEFycmF5KGYpO2ZvcihudWxsPT1vJiYocz1hKHA9ejgoKSkpLGM9MDtjPD1mOysrYyl7aWYoIShjPGYmJnIoZD1sW2NdLGMsbCkpPT09bSlpZihtPSFtKXU9YyxzLmFyZWFTdGFydCgpLHMubGluZVN0YXJ0KCk7ZWxzZXtmb3Iocy5saW5lRW5kKCkscy5saW5lU3RhcnQoKSxoPWMtMTtoPj11Oy0taClzLnBvaW50KGdbaF0sX1toXSk7cy5saW5lRW5kKCkscy5hcmVhRW5kKCl9bSYmKGdbY109K3QoZCxjLGwpLF9bY109K24oZCxjLGwpLHMucG9pbnQoZT8rZShkLGMsbCk6Z1tjXSxpPytpKGQsYyxsKTpfW2NdKSl9aWYocClyZXR1cm4gcz1udWxsLHArIiJ8fG51bGx9ZnVuY3Rpb24gYygpe3JldHVybiBsNygpLmRlZmluZWQocikuY3VydmUoYSkuY29udGV4dChvKX1yZXR1cm4gbC54PWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBuP246RDgoK24pLGU9bnVsbCxsKTp0fSxsLngwPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6RDgoK2UpLGwpOnR9LGwueDE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9bnVsbD09dD9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoK3QpLGwpOmV9LGwueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxpPW51bGwsbCk6bn0sbC55MD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxsKTpufSxsLnkxPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxsKTppfSxsLmxpbmVYMD1sLmxpbmVZMD1mdW5jdGlvbigpe3JldHVybiBjKCkueCh0KS55KG4pfSxsLmxpbmVZMT1mdW5jdGlvbigpe3JldHVybiBjKCkueCh0KS55KGkpfSxsLmxpbmVYMT1mdW5jdGlvbigpe3JldHVybiBjKCkueChlKS55KG4pfSxsLmRlZmluZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpEOCghIXQpLGwpOnJ9LGwuY3VydmU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCxudWxsIT1vJiYocz1hKG8pKSxsKTphfSxsLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG51bGw9PXQ/bz1zPW51bGw6cz1hKG89dCksbCk6b30sbH1mdW5jdGlvbiB1Nyh0LGUpe3JldHVybiBlPHQ/LTE6ZT50PzE6ZT49dD8wOk5hTn1mdW5jdGlvbiBoNyh0KXtyZXR1cm4gdH1yNy5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2RlZmF1bHQ6dGhpcy5fY29udGV4dC5saW5lVG8odCxlKX19fTt2YXIgZDc9ZjcobzcpO2Z1bmN0aW9uIHA3KHQpe3RoaXMuX2N1cnZlPXR9ZnVuY3Rpb24gZjcodCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4gbmV3IHA3KHQoZSkpfXJldHVybiBlLl9jdXJ2ZT10LGV9ZnVuY3Rpb24gbTcodCl7dmFyIGU9dC5jdXJ2ZTtyZXR1cm4gdC5hbmdsZT10LngsZGVsZXRlIHQueCx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0LmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP2UoZjcodCkpOmUoKS5fY3VydmV9LHR9ZnVuY3Rpb24gZzcoKXtyZXR1cm4gbTcobDcoKS5jdXJ2ZShkNykpfWZ1bmN0aW9uIF83KCl7dmFyIHQ9YzcoKS5jdXJ2ZShkNyksZT10LmN1cnZlLG49dC5saW5lWDAsaT10LmxpbmVYMSxyPXQubGluZVkwLG89dC5saW5lWTE7cmV0dXJuIHQuYW5nbGU9dC54LGRlbGV0ZSB0LngsdC5zdGFydEFuZ2xlPXQueDAsZGVsZXRlIHQueDAsdC5lbmRBbmdsZT10LngxLGRlbGV0ZSB0LngxLHQucmFkaXVzPXQueSxkZWxldGUgdC55LHQuaW5uZXJSYWRpdXM9dC55MCxkZWxldGUgdC55MCx0Lm91dGVyUmFkaXVzPXQueTEsZGVsZXRlIHQueTEsdC5saW5lU3RhcnRBbmdsZT1mdW5jdGlvbigpe3JldHVybiBtNyhuKCkpfSxkZWxldGUgdC5saW5lWDAsdC5saW5lRW5kQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gbTcoaSgpKX0sZGVsZXRlIHQubGluZVgxLHQubGluZUlubmVyUmFkaXVzPWZ1bmN0aW9uKCl7cmV0dXJuIG03KHIoKSl9LGRlbGV0ZSB0LmxpbmVZMCx0LmxpbmVPdXRlclJhZGl1cz1mdW5jdGlvbigpe3JldHVybiBtNyhvKCkpfSxkZWxldGUgdC5saW5lWTEsdC5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9lKGY3KHQpKTplKCkuX2N1cnZlfSx0fWZ1bmN0aW9uIHk3KHQsZSl7cmV0dXJuWyhlPStlKSpNYXRoLmNvcyh0LT1NYXRoLlBJLzIpLGUqTWF0aC5zaW4odCldfXA3LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fY3VydmUuYXJlYVN0YXJ0KCl9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9jdXJ2ZS5hcmVhRW5kKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX2N1cnZlLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dGhpcy5fY3VydmUubGluZUVuZCgpfSxwb2ludDpmdW5jdGlvbih0LGUpe3RoaXMuX2N1cnZlLnBvaW50KGUqTWF0aC5zaW4odCksZSotTWF0aC5jb3ModCkpfX07dmFyIHY3PUFycmF5LnByb3RvdHlwZS5zbGljZTtmdW5jdGlvbiBiNyh0KXtyZXR1cm4gdC5zb3VyY2V9ZnVuY3Rpb24geDcodCl7cmV0dXJuIHQudGFyZ2V0fWZ1bmN0aW9uIHc3KHQpe3ZhciBlPWI3LG49eDcsaT1hNyxyPXM3LG89bnVsbDtmdW5jdGlvbiBhKCl7dmFyIGEscz12Ny5jYWxsKGFyZ3VtZW50cyksbD1lLmFwcGx5KHRoaXMscyksYz1uLmFwcGx5KHRoaXMscyk7aWYob3x8KG89YT16OCgpKSx0KG8sK2kuYXBwbHkodGhpcywoc1swXT1sLHMpKSwrci5hcHBseSh0aGlzLHMpLCtpLmFwcGx5KHRoaXMsKHNbMF09YyxzKSksK3IuYXBwbHkodGhpcyxzKSksYSlyZXR1cm4gbz1udWxsLGErIiJ8fG51bGx9cmV0dXJuIGEuc291cmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXQsYSk6ZX0sYS50YXJnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxhKTpufSxhLng9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpEOCgrdCksYSk6aX0sYS55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoK3QpLGEpOnJ9LGEuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz1udWxsPT10P251bGw6dCxhKTpvfSxhfWZ1bmN0aW9uIFM3KHQsZSxuLGkscil7dC5tb3ZlVG8oZSxuKSx0LmJlemllckN1cnZlVG8oZT0oZStpKS8yLG4sZSxyLGkscil9ZnVuY3Rpb24gTTcodCxlLG4saSxyKXt0Lm1vdmVUbyhlLG4pLHQuYmV6aWVyQ3VydmVUbyhlLG49KG4rcikvMixpLG4saSxyKX1mdW5jdGlvbiBFNyh0LGUsbixpLHIpe3ZhciBvPXk3KGUsbiksYT15NyhlLG49KG4rcikvMikscz15NyhpLG4pLGw9eTcoaSxyKTt0Lm1vdmVUbyhvWzBdLG9bMV0pLHQuYmV6aWVyQ3VydmVUbyhhWzBdLGFbMV0sc1swXSxzWzFdLGxbMF0sbFsxXSl9dmFyIFQ3PXtkcmF3OmZ1bmN0aW9uKHQsZSl7dmFyIG49TWF0aC5zcXJ0KGUvcTgpO3QubW92ZVRvKG4sMCksdC5hcmMoMCwwLG4sMCxYOCl9fSxDNz17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciBuPU1hdGguc3FydChlLzUpLzI7dC5tb3ZlVG8oLTMqbiwtbiksdC5saW5lVG8oLW4sLW4pLHQubGluZVRvKC1uLC0zKm4pLHQubGluZVRvKG4sLTMqbiksdC5saW5lVG8obiwtbiksdC5saW5lVG8oMypuLC1uKSx0LmxpbmVUbygzKm4sbiksdC5saW5lVG8obixuKSx0LmxpbmVUbyhuLDMqbiksdC5saW5lVG8oLW4sMypuKSx0LmxpbmVUbygtbixuKSx0LmxpbmVUbygtMypuLG4pLHQuY2xvc2VQYXRoKCl9fSxBNz1NYXRoLnNxcnQoMS8zKSxrNz0yKkE3LEw3PXtkcmF3OmZ1bmN0aW9uKHQsZSl7dmFyIG49TWF0aC5zcXJ0KGUvazcpLGk9bipBNzt0Lm1vdmVUbygwLC1uKSx0LmxpbmVUbyhpLDApLHQubGluZVRvKDAsbiksdC5saW5lVG8oLWksMCksdC5jbG9zZVBhdGgoKX19LFA3PU1hdGguc2luKHE4LzEwKS9NYXRoLnNpbig3KnE4LzEwKSxONz1NYXRoLnNpbihYOC8xMCkqUDcsSTc9LU1hdGguY29zKFg4LzEwKSpQNyxSNz17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciBuPU1hdGguc3FydCguODkwODEzMDkxNTI5Mjg1MiplKSxpPU43Km4scj1JNypuO3QubW92ZVRvKDAsLW4pLHQubGluZVRvKGkscik7Zm9yKHZhciBvPTE7bzw1Oysrbyl7dmFyIGE9WDgqby81LHM9TWF0aC5jb3MoYSksbD1NYXRoLnNpbihhKTt0LmxpbmVUbyhsKm4sLXMqbiksdC5saW5lVG8ocyppLWwqcixsKmkrcypyKX10LmNsb3NlUGF0aCgpfX0sTzc9e2RyYXc6ZnVuY3Rpb24odCxlKXt2YXIgbj1NYXRoLnNxcnQoZSksaT0tbi8yO3QucmVjdChpLGksbixuKX19LHo3PU1hdGguc3FydCgzKSxENz17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciBuPS1NYXRoLnNxcnQoZS8oMyp6NykpO3QubW92ZVRvKDAsMipuKSx0LmxpbmVUbygtejcqbiwtbiksdC5saW5lVG8oejcqbiwtbiksdC5jbG9zZVBhdGgoKX19LEI3PS0uNSxINz1NYXRoLnNxcnQoMykvMixGNz0xL01hdGguc3FydCgxMiksVjc9MyooRjcvMisxKSxVNz17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciBuPU1hdGguc3FydChlL1Y3KSxpPW4vMixyPW4qRjcsbz1pLGE9bipGNytuLHM9LW8sbD1hO3QubW92ZVRvKGksciksdC5saW5lVG8obyxhKSx0LmxpbmVUbyhzLGwpLHQubGluZVRvKEI3KmktSDcqcixINyppK0I3KnIpLHQubGluZVRvKEI3Km8tSDcqYSxINypvK0I3KmEpLHQubGluZVRvKEI3KnMtSDcqbCxINypzK0I3KmwpLHQubGluZVRvKEI3KmkrSDcqcixCNypyLUg3KmkpLHQubGluZVRvKEI3Km8rSDcqYSxCNyphLUg3Km8pLHQubGluZVRvKEI3KnMrSDcqbCxCNypsLUg3KnMpLHQuY2xvc2VQYXRoKCl9fSxqNz1bVDcsQzcsTDcsTzcsUjcsRDcsVTddO2Z1bmN0aW9uIEc3KCl7fWZ1bmN0aW9uIFc3KHQsZSxuKXt0Ll9jb250ZXh0LmJlemllckN1cnZlVG8oKDIqdC5feDArdC5feDEpLzMsKDIqdC5feTArdC5feTEpLzMsKHQuX3gwKzIqdC5feDEpLzMsKHQuX3kwKzIqdC5feTEpLzMsKHQuX3gwKzQqdC5feDErZSkvNiwodC5feTArNCp0Ll95MStuKS82KX1mdW5jdGlvbiBxNyh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gWTcodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIFg3KHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiAkNyh0LGUpe3RoaXMuX2Jhc2lzPW5ldyBxNyh0KSx0aGlzLl9iZXRhPWV9cTcucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feTA9dGhpcy5feTE9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMzpXNyh0aGlzLHRoaXMuX3gxLHRoaXMuX3kxKTtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDEsdGhpcy5feTEpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl9jb250ZXh0LmxpbmVUbygoNSp0aGlzLl94MCt0aGlzLl94MSkvNiwoNSp0aGlzLl95MCt0aGlzLl95MSkvNik7ZGVmYXVsdDpXNyh0aGlzLHQsZSl9dGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT1lfX0sWTcucHJvdG90eXBlPXthcmVhU3RhcnQ6RzcsYXJlYUVuZDpHNyxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl94Mz10aGlzLl94ND10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj10aGlzLl95Mz10aGlzLl95ND1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAxOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gyLHRoaXMuX3kyKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMjp0aGlzLl9jb250ZXh0Lm1vdmVUbygodGhpcy5feDIrMip0aGlzLl94MykvMywodGhpcy5feTIrMip0aGlzLl95MykvMyksdGhpcy5fY29udGV4dC5saW5lVG8oKHRoaXMuX3gzKzIqdGhpcy5feDIpLzMsKHRoaXMuX3kzKzIqdGhpcy5feTIpLzMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAzOnRoaXMucG9pbnQodGhpcy5feDIsdGhpcy5feTIpLHRoaXMucG9pbnQodGhpcy5feDMsdGhpcy5feTMpLHRoaXMucG9pbnQodGhpcy5feDQsdGhpcy5feTQpfX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl94Mj10LHRoaXMuX3kyPWU7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTIsdGhpcy5feDM9dCx0aGlzLl95Mz1lO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX3g0PXQsdGhpcy5feTQ9ZSx0aGlzLl9jb250ZXh0Lm1vdmVUbygodGhpcy5feDArNCp0aGlzLl94MSt0KS82LCh0aGlzLl95MCs0KnRoaXMuX3kxK2UpLzYpO2JyZWFrO2RlZmF1bHQ6VzcodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9ZX19LFg3LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3kwPXRoaXMuX3kxPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYzPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zO3ZhciBuPSh0aGlzLl94MCs0KnRoaXMuX3gxK3QpLzYsaT0odGhpcy5feTArNCp0aGlzLl95MStlKS82O3RoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8obixpKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyhuLGkpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6VzcodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9ZX19LCQ3LnByb3RvdHlwZT17bGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feD1bXSx0aGlzLl95PVtdLHRoaXMuX2Jhc2lzLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5feCxlPXRoaXMuX3ksbj10Lmxlbmd0aC0xO2lmKG4+MClmb3IodmFyIGkscj10WzBdLG89ZVswXSxhPXRbbl0tcixzPWVbbl0tbyxsPS0xOysrbDw9bjspdGhpcy5fYmFzaXMucG9pbnQodGhpcy5fYmV0YSp0W2xdKygxLXRoaXMuX2JldGEpKihyKyhpPWwvbikqYSksdGhpcy5fYmV0YSplW2xdKygxLXRoaXMuX2JldGEpKihvK2kqcykpO3RoaXMuX3g9dGhpcy5feT1udWxsLHRoaXMuX2Jhc2lzLmxpbmVFbmQoKX0scG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLl94LnB1c2goK3QpLHRoaXMuX3kucHVzaCgrZSl9fTt2YXIgSzc9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gMT09PWU/bmV3IHE3KHQpOm5ldyAkNyh0LGUpfXJldHVybiBuLmJldGE9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoLjg1KTtmdW5jdGlvbiBaNyh0LGUsbil7dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKHQuX3gxK3QuX2sqKHQuX3gyLXQuX3gwKSx0Ll95MSt0Ll9rKih0Ll95Mi10Ll95MCksdC5feDIrdC5fayoodC5feDEtZSksdC5feTIrdC5fayoodC5feTEtbiksdC5feDIsdC5feTIpfWZ1bmN0aW9uIEo3KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2s9KDEtZSkvNn1KNy5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTticmVhaztjYXNlIDM6WjcodGhpcyx0aGlzLl94MSx0aGlzLl95MSl9KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX3gxPXQsdGhpcy5feTE9ZTticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9MztkZWZhdWx0Olo3KHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10aGlzLl94Mix0aGlzLl94Mj10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPXRoaXMuX3kyLHRoaXMuX3kyPWV9fTt2YXIgUTc9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gbmV3IEo3KHQsZSl9cmV0dXJuIG4udGVuc2lvbj1mdW5jdGlvbihlKXtyZXR1cm4gdCgrZSl9LG59KSgwKTtmdW5jdGlvbiB0dHQodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5faz0oMS1lKS82fXR0dC5wcm90b3R5cGU9e2FyZWFTdGFydDpHNyxhcmVhRW5kOkc3LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3gzPXRoaXMuX3g0PXRoaXMuX3g1PXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPXRoaXMuX3kzPXRoaXMuX3k0PXRoaXMuX3k1PU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDE6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDMsdGhpcy5feTMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMzp0aGlzLnBvaW50KHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLnBvaW50KHRoaXMuX3g0LHRoaXMuX3k0KSx0aGlzLnBvaW50KHRoaXMuX3g1LHRoaXMuX3k1KX19LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5feDM9dCx0aGlzLl95Mz1lO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3g0PXQsdGhpcy5feTQ9ZSk7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5feDU9dCx0aGlzLl95NT1lO2JyZWFrO2RlZmF1bHQ6WjcodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciBldHQ9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gbmV3IHR0dCh0LGUpfXJldHVybiBuLnRlbnNpb249ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoMCk7ZnVuY3Rpb24gbnR0KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2s9KDEtZSkvNn1udHQucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXsodGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjM9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTE7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Mix0aGlzLl95Mik6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6WjcodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciBpdHQ9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gbmV3IG50dCh0LGUpfXJldHVybiBuLnRlbnNpb249ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoMCk7ZnVuY3Rpb24gcnR0KHQsZSxuKXt2YXIgaT10Ll94MSxyPXQuX3kxLG89dC5feDIsYT10Ll95MjtpZih0Ll9sMDFfYT5XOCl7dmFyIHM9Mip0Ll9sMDFfMmErMyp0Ll9sMDFfYSp0Ll9sMTJfYSt0Ll9sMTJfMmEsbD0zKnQuX2wwMV9hKih0Ll9sMDFfYSt0Ll9sMTJfYSk7aT0oaSpzLXQuX3gwKnQuX2wxMl8yYSt0Ll94Mip0Ll9sMDFfMmEpL2wscj0ocipzLXQuX3kwKnQuX2wxMl8yYSt0Ll95Mip0Ll9sMDFfMmEpL2x9aWYodC5fbDIzX2E+Vzgpe3ZhciBjPTIqdC5fbDIzXzJhKzMqdC5fbDIzX2EqdC5fbDEyX2ErdC5fbDEyXzJhLHU9Myp0Ll9sMjNfYSoodC5fbDIzX2ErdC5fbDEyX2EpO289KG8qYyt0Ll94MSp0Ll9sMjNfMmEtZSp0Ll9sMTJfMmEpL3UsYT0oYSpjK3QuX3kxKnQuX2wyM18yYS1uKnQuX2wxMl8yYSkvdX10Ll9jb250ZXh0LmJlemllckN1cnZlVG8oaSxyLG8sYSx0Ll94Mix0Ll95Mil9ZnVuY3Rpb24gb3R0KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2FscGhhPWV9b3R0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9sMDFfYT10aGlzLl9sMTJfYT10aGlzLl9sMjNfYT10aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhPXRoaXMuX2wyM18yYT10aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzp0aGlzLnBvaW50KHRoaXMuX3gyLHRoaXMuX3kyKX0odGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjE9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7aWYodD0rdCxlPStlLHRoaXMuX3BvaW50KXt2YXIgbj10aGlzLl94Mi10LGk9dGhpcy5feTItZTt0aGlzLl9sMjNfYT1NYXRoLnNxcnQodGhpcy5fbDIzXzJhPU1hdGgucG93KG4qbitpKmksdGhpcy5fYWxwaGEpKX1zd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zO2RlZmF1bHQ6cnR0KHRoaXMsdCxlKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX07dmFyIGF0dD0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBlP25ldyBvdHQodCxlKTpuZXcgSjcodCwwKX1yZXR1cm4gbi5hbHBoYT1mdW5jdGlvbihlKXtyZXR1cm4gdCgrZSl9LG59KSguNSk7ZnVuY3Rpb24gc3R0KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2FscGhhPWV9c3R0LnByb3RvdHlwZT17YXJlYVN0YXJ0Okc3LGFyZWFFbmQ6RzcsbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feDM9dGhpcy5feDQ9dGhpcy5feDU9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9dGhpcy5feTM9dGhpcy5feTQ9dGhpcy5feTU9TmFOLHRoaXMuX2wwMV9hPXRoaXMuX2wxMl9hPXRoaXMuX2wyM19hPXRoaXMuX2wwMV8yYT10aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhPXRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTticmVhaztjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDMsdGhpcy5feTMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAzOnRoaXMucG9pbnQodGhpcy5feDMsdGhpcy5feTMpLHRoaXMucG9pbnQodGhpcy5feDQsdGhpcy5feTQpLHRoaXMucG9pbnQodGhpcy5feDUsdGhpcy5feTUpfX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtpZih0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe3ZhciBuPXRoaXMuX3gyLXQsaT10aGlzLl95Mi1lO3RoaXMuX2wyM19hPU1hdGguc3FydCh0aGlzLl9sMjNfMmE9TWF0aC5wb3cobipuK2kqaSx0aGlzLl9hbHBoYSkpfXN3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5feDM9dCx0aGlzLl95Mz1lO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3g0PXQsdGhpcy5feTQ9ZSk7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5feDU9dCx0aGlzLl95NT1lO2JyZWFrO2RlZmF1bHQ6cnR0KHRoaXMsdCxlKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX07dmFyIGx0dD0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBlP25ldyBzdHQodCxlKTpuZXcgdHR0KHQsMCl9cmV0dXJuIG4uYWxwaGE9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoLjUpO2Z1bmN0aW9uIGN0dCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9hbHBoYT1lfWN0dC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj1OYU4sdGhpcy5fbDAxX2E9dGhpcy5fbDEyX2E9dGhpcy5fbDIzX2E9dGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmE9dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpeyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMz09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtpZih0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe3ZhciBuPXRoaXMuX3gyLXQsaT10aGlzLl95Mi1lO3RoaXMuX2wyM19hPU1hdGguc3FydCh0aGlzLl9sMjNfMmE9TWF0aC5wb3cobipuK2kqaSx0aGlzLl9hbHBoYSkpfXN3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTE7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Mix0aGlzLl95Mik6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6cnR0KHRoaXMsdCxlKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX07dmFyIHV0dD0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBlP25ldyBjdHQodCxlKTpuZXcgbnR0KHQsMCl9cmV0dXJuIG4uYWxwaGE9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoLjUpO2Z1bmN0aW9uIGh0dCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gZHR0KHQpe3JldHVybiB0PDA/LTE6MX1mdW5jdGlvbiBwdHQodCxlLG4pe3ZhciBpPXQuX3gxLXQuX3gwLHI9ZS10Ll94MSxvPSh0Ll95MS10Ll95MCkvKGl8fHI8MCYmLTApLGE9KG4tdC5feTEpLyhyfHxpPDAmJi0wKSxzPShvKnIrYSppKS8oaStyKTtyZXR1cm4oZHR0KG8pK2R0dChhKSkqTWF0aC5taW4oTWF0aC5hYnMobyksTWF0aC5hYnMoYSksLjUqTWF0aC5hYnMocykpfHwwfWZ1bmN0aW9uIGZ0dCh0LGUpe3ZhciBuPXQuX3gxLXQuX3gwO3JldHVybiBuPygzKih0Ll95MS10Ll95MCkvbi1lKS8yOmV9ZnVuY3Rpb24gbXR0KHQsZSxuKXt2YXIgaT10Ll94MCxyPXQuX3gxLG89dC5feTEsYT0oci1pKS8zO3QuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyhpK2EsdC5feTArYSplLHItYSxvLWEqbixyLG8pfWZ1bmN0aW9uIGd0dCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gX3R0KHQpe3RoaXMuX2NvbnRleHQ9bmV3IHl0dCh0KX1mdW5jdGlvbiB5dHQodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIHZ0dCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gYnR0KHQpe3ZhciBlLG4saT10Lmxlbmd0aC0xLHI9bmV3IEFycmF5KGkpLG89bmV3IEFycmF5KGkpLGE9bmV3IEFycmF5KGkpO2ZvcihyWzBdPTAsb1swXT0yLGFbMF09dFswXSsyKnRbMV0sZT0xO2U8aS0xOysrZSlyW2VdPTEsb1tlXT00LGFbZV09NCp0W2VdKzIqdFtlKzFdO2ZvcihyW2ktMV09MixvW2ktMV09NyxhW2ktMV09OCp0W2ktMV0rdFtpXSxlPTE7ZTxpOysrZSlvW2VdLT1uPXJbZV0vb1tlLTFdLGFbZV0tPW4qYVtlLTFdO2ZvcihyW2ktMV09YVtpLTFdL29baS0xXSxlPWktMjtlPj0wOy0tZSlyW2VdPShhW2VdLXJbZSsxXSkvb1tlXTtmb3Iob1tpLTFdPSh0W2ldK3JbaS0xXSkvMixlPTA7ZTxpLTE7KytlKW9bZV09Mip0W2UrMV0tcltlKzFdO3JldHVybltyLG9dfWZ1bmN0aW9uIHh0dCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl90PWV9ZnVuY3Rpb24gd3R0KHQsZSl7aWYoKHI9dC5sZW5ndGgpPjEpZm9yKHZhciBuLGkscixvPTEsYT10W2VbMF1dLHM9YS5sZW5ndGg7bzxyOysrbylmb3IoaT1hLGE9dFtlW29dXSxuPTA7bjxzOysrbilhW25dWzFdKz1hW25dWzBdPWlzTmFOKGlbbl1bMV0pP2lbbl1bMF06aVtuXVsxXX1mdW5jdGlvbiBTdHQodCl7Zm9yKHZhciBlPXQubGVuZ3RoLG49bmV3IEFycmF5KGUpOy0tZT49MDspbltlXT1lO3JldHVybiBufWZ1bmN0aW9uIE10dCh0LGUpe3JldHVybiB0W2VdfWZ1bmN0aW9uIEV0dCh0KXt2YXIgZT10Lm1hcChUdHQpO3JldHVybiBTdHQodCkuc29ydCgoZnVuY3Rpb24odCxuKXtyZXR1cm4gZVt0XS1lW25dfSkpfWZ1bmN0aW9uIFR0dCh0KXtmb3IodmFyIGUsbj0wLGk9LTEscj10Lmxlbmd0aDsrK2k8cjspKGU9K3RbaV1bMV0pJiYobis9ZSk7cmV0dXJuIG59aHR0LnByb3RvdHlwZT17YXJlYVN0YXJ0Okc3LGFyZWFFbmQ6RzcsbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3RoaXMuX3BvaW50JiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpfSxwb2ludDpmdW5jdGlvbih0LGUpe3Q9K3QsZT0rZSx0aGlzLl9wb2ludD90aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpOih0aGlzLl9wb2ludD0xLHRoaXMuX2NvbnRleHQubW92ZVRvKHQsZSkpfX0sZ3R0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3QwPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDEsdGhpcy5feTEpO2JyZWFrO2Nhc2UgMzptdHQodGhpcyx0aGlzLl90MCxmdHQodGhpcyx0aGlzLl90MCkpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXt2YXIgbj1OYU47aWYoZT0rZSwodD0rdCkhPT10aGlzLl94MXx8ZSE9PXRoaXMuX3kxKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLG10dCh0aGlzLGZ0dCh0aGlzLG49cHR0KHRoaXMsdCxlKSksbik7YnJlYWs7ZGVmYXVsdDptdHQodGhpcyx0aGlzLl90MCxuPXB0dCh0aGlzLHQsZSkpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9ZSx0aGlzLl90MD1ufX19LChfdHQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZ3R0LnByb3RvdHlwZSkpLnBvaW50PWZ1bmN0aW9uKHQsZSl7Z3R0LnByb3RvdHlwZS5wb2ludC5jYWxsKHRoaXMsZSx0KX0seXR0LnByb3RvdHlwZT17bW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fY29udGV4dC5tb3ZlVG8oZSx0KX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7dGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKX0sbGluZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fY29udGV4dC5saW5lVG8oZSx0KX0sYmV6aWVyQ3VydmVUbzpmdW5jdGlvbih0LGUsbixpLHIsbyl7dGhpcy5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKGUsdCxpLG4sbyxyKX19LHZ0dC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94PVtdLHRoaXMuX3k9W119LGxpbmVFbmQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl94LGU9dGhpcy5feSxuPXQubGVuZ3RoO2lmKG4paWYodGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0WzBdLGVbMF0pOnRoaXMuX2NvbnRleHQubW92ZVRvKHRbMF0sZVswXSksMj09PW4pdGhpcy5fY29udGV4dC5saW5lVG8odFsxXSxlWzFdKTtlbHNlIGZvcih2YXIgaT1idHQodCkscj1idHQoZSksbz0wLGE9MTthPG47KytvLCsrYSl0aGlzLl9jb250ZXh0LmJlemllckN1cnZlVG8oaVswXVtvXSxyWzBdW29dLGlbMV1bb10sclsxXVtvXSx0W2FdLGVbYV0pOyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PW4pJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lLHRoaXMuX3g9dGhpcy5feT1udWxsfSxwb2ludDpmdW5jdGlvbih0LGUpe3RoaXMuX3gucHVzaCgrdCksdGhpcy5feS5wdXNoKCtlKX19LHh0dC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94PXRoaXMuX3k9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXswPHRoaXMuX3QmJnRoaXMuX3Q8MSYmMj09PXRoaXMuX3BvaW50JiZ0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94LHRoaXMuX3kpLCh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPj0wJiYodGhpcy5fdD0xLXRoaXMuX3QsdGhpcy5fbGluZT0xLXRoaXMuX2xpbmUpfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2RlZmF1bHQ6aWYodGhpcy5fdDw9MCl0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94LGUpLHRoaXMuX2NvbnRleHQubGluZVRvKHQsZSk7ZWxzZXt2YXIgbj10aGlzLl94KigxLXRoaXMuX3QpK3QqdGhpcy5fdDt0aGlzLl9jb250ZXh0LmxpbmVUbyhuLHRoaXMuX3kpLHRoaXMuX2NvbnRleHQubGluZVRvKG4sZSl9fXRoaXMuX3g9dCx0aGlzLl95PWV9fTt2YXIgQ3R0PW5ldyBEYXRlLEF0dD1uZXcgRGF0ZTtmdW5jdGlvbiBrdHQodCxlLG4saSl7ZnVuY3Rpb24gcihlKXtyZXR1cm4gdChlPW5ldyBEYXRlKCtlKSksZX1yZXR1cm4gci5mbG9vcj1yLHIuY2VpbD1mdW5jdGlvbihuKXtyZXR1cm4gdChuPW5ldyBEYXRlKG4tMSkpLGUobiwxKSx0KG4pLG59LHIucm91bmQ9ZnVuY3Rpb24odCl7dmFyIGU9cih0KSxuPXIuY2VpbCh0KTtyZXR1cm4gdC1lPG4tdD9lOm59LHIub2Zmc2V0PWZ1bmN0aW9uKHQsbil7cmV0dXJuIGUodD1uZXcgRGF0ZSgrdCksbnVsbD09bj8xOk1hdGguZmxvb3IobikpLHR9LHIucmFuZ2U9ZnVuY3Rpb24obixpLG8pe3ZhciBhLHM9W107aWYobj1yLmNlaWwobiksbz1udWxsPT1vPzE6TWF0aC5mbG9vcihvKSwhKG48aSYmbz4wKSlyZXR1cm4gcztkb3tzLnB1c2goYT1uZXcgRGF0ZSgrbikpLGUobixvKSx0KG4pfXdoaWxlKGE8biYmbjxpKTtyZXR1cm4gc30sci5maWx0ZXI9ZnVuY3Rpb24obil7cmV0dXJuIGt0dCgoZnVuY3Rpb24oZSl7aWYoZT49ZSlmb3IoO3QoZSksIW4oZSk7KWUuc2V0VGltZShlLTEpfSksKGZ1bmN0aW9uKHQsaSl7aWYodD49dClpZihpPDApZm9yKDsrK2k8PTA7KWZvcig7ZSh0LC0xKSwhbih0KTspO2Vsc2UgZm9yKDstLWk+PTA7KWZvcig7ZSh0LDEpLCFuKHQpOyk7fSkpfSxuJiYoci5jb3VudD1mdW5jdGlvbihlLGkpe3JldHVybiBDdHQuc2V0VGltZSgrZSksQXR0LnNldFRpbWUoK2kpLHQoQ3R0KSx0KEF0dCksTWF0aC5mbG9vcihuKEN0dCxBdHQpKX0sci5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP3IuZmlsdGVyKGk/ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSkldD09MH06ZnVuY3Rpb24oZSl7cmV0dXJuIHIuY291bnQoMCxlKSV0PT0wfSk6cjpudWxsfSkscn12YXIgTHR0PWt0dCgoZnVuY3Rpb24oKXt9KSwoZnVuY3Rpb24odCxlKXt0LnNldFRpbWUoK3QrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS10fSkpO0x0dC5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP2t0dCgoZnVuY3Rpb24oZSl7ZS5zZXRUaW1lKE1hdGguZmxvb3IoZS90KSp0KX0pLChmdW5jdGlvbihlLG4pe2Uuc2V0VGltZSgrZStuKnQpfSksKGZ1bmN0aW9uKGUsbil7cmV0dXJuKG4tZSkvdH0pKTpMdHQ6bnVsbH07dmFyIFB0dD1MdHQucmFuZ2UsTnR0PTFlMyxJdHQ9NmU0LFJ0dD0zNmU1LE90dD04NjRlNSx6dHQ9NjA0OGU1LER0dD1rdHQoKGZ1bmN0aW9uKHQpe3Quc2V0VGltZShNYXRoLmZsb29yKHQvTnR0KSpOdHQpfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqTnR0KX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL050dH0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENTZWNvbmRzKCl9KSksQnR0PUR0dC5yYW5nZSxIdHQ9a3R0KChmdW5jdGlvbih0KXt0LnNldFRpbWUoTWF0aC5mbG9vcih0L0l0dCkqSXR0KX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VGltZSgrdCtlKkl0dCl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS9JdHR9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0TWludXRlcygpfSkpLEZ0dD1IdHQucmFuZ2UsVnR0PWt0dCgoZnVuY3Rpb24odCl7dmFyIGU9dC5nZXRUaW1lem9uZU9mZnNldCgpKkl0dCVSdHQ7ZTwwJiYoZSs9UnR0KSx0LnNldFRpbWUoTWF0aC5mbG9vcigoK3QtZSkvUnR0KSpSdHQrZSl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFRpbWUoK3QrZSpSdHQpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvUnR0fSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldEhvdXJzKCl9KSksVXR0PVZ0dC5yYW5nZSxqdHQ9a3R0KChmdW5jdGlvbih0KXt0LnNldEhvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXREYXRlKHQuZ2V0RGF0ZSgpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdC0oZS5nZXRUaW1lem9uZU9mZnNldCgpLXQuZ2V0VGltZXpvbmVPZmZzZXQoKSkqSXR0KS9PdHR9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0RGF0ZSgpLTF9KSksR3R0PWp0dC5yYW5nZTtmdW5jdGlvbiBXdHQodCl7cmV0dXJuIGt0dCgoZnVuY3Rpb24oZSl7ZS5zZXREYXRlKGUuZ2V0RGF0ZSgpLShlLmdldERheSgpKzctdCklNyksZS5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RGF0ZSh0LmdldERhdGUoKSs3KmUpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdC0oZS5nZXRUaW1lem9uZU9mZnNldCgpLXQuZ2V0VGltZXpvbmVPZmZzZXQoKSkqSXR0KS96dHR9KSl9dmFyIHF0dD1XdHQoMCksWXR0PVd0dCgxKSxYdHQ9V3R0KDIpLCR0dD1XdHQoMyksS3R0PVd0dCg0KSxadHQ9V3R0KDUpLEp0dD1XdHQoNiksUXR0PXF0dC5yYW5nZSx0ZXQ9WXR0LnJhbmdlLGVldD1YdHQucmFuZ2UsbmV0PSR0dC5yYW5nZSxpZXQ9S3R0LnJhbmdlLHJldD1adHQucmFuZ2Usb2V0PUp0dC5yYW5nZSxhZXQ9a3R0KChmdW5jdGlvbih0KXt0LnNldERhdGUoMSksdC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0TW9udGgodC5nZXRNb250aCgpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0TW9udGgoKS10LmdldE1vbnRoKCkrMTIqKGUuZ2V0RnVsbFllYXIoKS10LmdldEZ1bGxZZWFyKCkpfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldE1vbnRoKCl9KSksc2V0PWFldC5yYW5nZSxjZXQ9a3R0KChmdW5jdGlvbih0KXt0LnNldE1vbnRoKDAsMSksdC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0RnVsbFllYXIoKS10LmdldEZ1bGxZZWFyKCl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0RnVsbFllYXIoKX0pKTtjZXQuZXZlcnk9ZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9TWF0aC5mbG9vcih0KSkmJnQ+MD9rdHQoKGZ1bmN0aW9uKGUpe2Uuc2V0RnVsbFllYXIoTWF0aC5mbG9vcihlLmdldEZ1bGxZZWFyKCkvdCkqdCksZS5zZXRNb250aCgwLDEpLGUuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24oZSxuKXtlLnNldEZ1bGxZZWFyKGUuZ2V0RnVsbFllYXIoKStuKnQpfSkpOm51bGx9O3ZhciB1ZXQ9Y2V0LnJhbmdlLGhldD1rdHQoKGZ1bmN0aW9uKHQpe3Quc2V0VVRDU2Vjb25kcygwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqSXR0KX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL0l0dH0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENNaW51dGVzKCl9KSksZGV0PWhldC5yYW5nZSxwZXQ9a3R0KChmdW5jdGlvbih0KXt0LnNldFVUQ01pbnV0ZXMoMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqUnR0KX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL1J0dH0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENIb3VycygpfSkpLGZldD1wZXQucmFuZ2UsbWV0PWt0dCgoZnVuY3Rpb24odCl7dC5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VVRDRGF0ZSh0LmdldFVUQ0RhdGUoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL090dH0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENEYXRlKCktMX0pKSxnZXQ9bWV0LnJhbmdlO2Z1bmN0aW9uIF9ldCh0KXtyZXR1cm4ga3R0KChmdW5jdGlvbihlKXtlLnNldFVUQ0RhdGUoZS5nZXRVVENEYXRlKCktKGUuZ2V0VVRDRGF5KCkrNy10KSU3KSxlLnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRVVENEYXRlKHQuZ2V0VVRDRGF0ZSgpKzcqZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS96dHR9KSl9dmFyIHlldD1fZXQoMCksdmV0PV9ldCgxKSxiZXQ9X2V0KDIpLHhldD1fZXQoMyksd2V0PV9ldCg0KSxNZXQ9X2V0KDUpLEVldD1fZXQoNiksVGV0PXlldC5yYW5nZSxDZXQ9dmV0LnJhbmdlLEFldD1iZXQucmFuZ2Usa2V0PXhldC5yYW5nZSxMZXQ9d2V0LnJhbmdlLFBldD1NZXQucmFuZ2UsTmV0PUVldC5yYW5nZSxJZXQ9a3R0KChmdW5jdGlvbih0KXt0LnNldFVUQ0RhdGUoMSksdC5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VVRDTW9udGgodC5nZXRVVENNb250aCgpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0VVRDTW9udGgoKS10LmdldFVUQ01vbnRoKCkrMTIqKGUuZ2V0VVRDRnVsbFllYXIoKS10LmdldFVUQ0Z1bGxZZWFyKCkpfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ01vbnRoKCl9KSksUmV0PUlldC5yYW5nZSxPZXQ9a3R0KChmdW5jdGlvbih0KXt0LnNldFVUQ01vbnRoKDAsMSksdC5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VVRDRnVsbFllYXIodC5nZXRVVENGdWxsWWVhcigpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0VVRDRnVsbFllYXIoKS10LmdldFVUQ0Z1bGxZZWFyKCl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDRnVsbFllYXIoKX0pKTtPZXQuZXZlcnk9ZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9TWF0aC5mbG9vcih0KSkmJnQ+MD9rdHQoKGZ1bmN0aW9uKGUpe2Uuc2V0VVRDRnVsbFllYXIoTWF0aC5mbG9vcihlLmdldFVUQ0Z1bGxZZWFyKCkvdCkqdCksZS5zZXRVVENNb250aCgwLDEpLGUuc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24oZSxuKXtlLnNldFVUQ0Z1bGxZZWFyKGUuZ2V0VVRDRnVsbFllYXIoKStuKnQpfSkpOm51bGx9O3ZhciB6ZXQ9T2V0LnJhbmdlLERldD1uZXcgRGF0ZSxCZXQ9bmV3IERhdGU7ZnVuY3Rpb24gSGV0KHQsZSxuLGkpe2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHQoZT0wPT09YXJndW1lbnRzLmxlbmd0aD9uZXcgRGF0ZTpuZXcgRGF0ZSgrZSkpLGV9cmV0dXJuIHIuZmxvb3I9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZT1uZXcgRGF0ZSgrZSkpLGV9LHIuY2VpbD1mdW5jdGlvbihuKXtyZXR1cm4gdChuPW5ldyBEYXRlKG4tMSkpLGUobiwxKSx0KG4pLG59LHIucm91bmQ9ZnVuY3Rpb24odCl7dmFyIGU9cih0KSxuPXIuY2VpbCh0KTtyZXR1cm4gdC1lPG4tdD9lOm59LHIub2Zmc2V0PWZ1bmN0aW9uKHQsbil7cmV0dXJuIGUodD1uZXcgRGF0ZSgrdCksbnVsbD09bj8xOk1hdGguZmxvb3IobikpLHR9LHIucmFuZ2U9ZnVuY3Rpb24obixpLG8pe3ZhciBhLHM9W107aWYobj1yLmNlaWwobiksbz1udWxsPT1vPzE6TWF0aC5mbG9vcihvKSwhKG48aSYmbz4wKSlyZXR1cm4gcztkb3tzLnB1c2goYT1uZXcgRGF0ZSgrbikpLGUobixvKSx0KG4pfXdoaWxlKGE8biYmbjxpKTtyZXR1cm4gc30sci5maWx0ZXI9ZnVuY3Rpb24obil7cmV0dXJuIEhldCgoZnVuY3Rpb24oZSl7aWYoZT49ZSlmb3IoO3QoZSksIW4oZSk7KWUuc2V0VGltZShlLTEpfSksKGZ1bmN0aW9uKHQsaSl7aWYodD49dClpZihpPDApZm9yKDsrK2k8PTA7KWZvcig7ZSh0LC0xKSwhbih0KTspO2Vsc2UgZm9yKDstLWk+PTA7KWZvcig7ZSh0LDEpLCFuKHQpOyk7fSkpfSxuJiYoci5jb3VudD1mdW5jdGlvbihlLGkpe3JldHVybiBEZXQuc2V0VGltZSgrZSksQmV0LnNldFRpbWUoK2kpLHQoRGV0KSx0KEJldCksTWF0aC5mbG9vcihuKERldCxCZXQpKX0sci5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP3IuZmlsdGVyKGk/ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSkldD09MH06ZnVuY3Rpb24oZSl7cmV0dXJuIHIuY291bnQoMCxlKSV0PT0wfSk6cjpudWxsfSkscn12YXIgRmV0PTg2NGU1LFZldD02MDQ4ZTUsVWV0PUhldCgoZnVuY3Rpb24odCl7dC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RGF0ZSh0LmdldERhdGUoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQtNmU0KihlLmdldFRpbWV6b25lT2Zmc2V0KCktdC5nZXRUaW1lem9uZU9mZnNldCgpKSkvRmV0fSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldERhdGUoKS0xfSkpO2Z1bmN0aW9uIGpldCh0KXtyZXR1cm4gSGV0KChmdW5jdGlvbihlKXtlLnNldERhdGUoZS5nZXREYXRlKCktKGUuZ2V0RGF5KCkrNy10KSU3KSxlLnNldEhvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXREYXRlKHQuZ2V0RGF0ZSgpKzcqZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10LTZlNCooZS5nZXRUaW1lem9uZU9mZnNldCgpLXQuZ2V0VGltZXpvbmVPZmZzZXQoKSkpL1ZldH0pKX12YXIgR2V0PWpldCgwKSxXZXQ9amV0KDEpO2pldCgyKSxqZXQoMyk7dmFyIHFldD1qZXQoNCk7amV0KDUpLGpldCg2KTt2YXIgWWV0PUhldCgoZnVuY3Rpb24odCl7dC5zZXRNb250aCgwLDEpLHQuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldEZ1bGxZZWFyKHQuZ2V0RnVsbFllYXIoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLmdldEZ1bGxZZWFyKCktdC5nZXRGdWxsWWVhcigpfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldEZ1bGxZZWFyKCl9KSk7WWV0LmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiBpc0Zpbml0ZSh0PU1hdGguZmxvb3IodCkpJiZ0PjA/SGV0KChmdW5jdGlvbihlKXtlLnNldEZ1bGxZZWFyKE1hdGguZmxvb3IoZS5nZXRGdWxsWWVhcigpL3QpKnQpLGUuc2V0TW9udGgoMCwxKSxlLnNldEhvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRGdWxsWWVhcihlLmdldEZ1bGxZZWFyKCkrbip0KX0pKTpudWxsfTt2YXIgWGV0PVlldCwkZXQ9SGV0KChmdW5jdGlvbih0KXt0LnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRVVENEYXRlKHQuZ2V0VVRDRGF0ZSgpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvRmV0fSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ0RhdGUoKS0xfSkpO2Z1bmN0aW9uIEtldCh0KXtyZXR1cm4gSGV0KChmdW5jdGlvbihlKXtlLnNldFVUQ0RhdGUoZS5nZXRVVENEYXRlKCktKGUuZ2V0VVRDRGF5KCkrNy10KSU3KSxlLnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRVVENEYXRlKHQuZ2V0VVRDRGF0ZSgpKzcqZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS9WZXR9KSl9dmFyIFpldD1LZXQoMCksSmV0PUtldCgxKTtLZXQoMiksS2V0KDMpO3ZhciBRZXQ9S2V0KDQpO0tldCg1KSxLZXQoNik7dmFyIHRudD1IZXQoKGZ1bmN0aW9uKHQpe3Quc2V0VVRDTW9udGgoMCwxKSx0LnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRVVENGdWxsWWVhcih0LmdldFVUQ0Z1bGxZZWFyKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5nZXRVVENGdWxsWWVhcigpLXQuZ2V0VVRDRnVsbFllYXIoKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENGdWxsWWVhcigpfSkpO3RudC5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gaXNGaW5pdGUodD1NYXRoLmZsb29yKHQpKSYmdD4wP0hldCgoZnVuY3Rpb24oZSl7ZS5zZXRVVENGdWxsWWVhcihNYXRoLmZsb29yKGUuZ2V0VVRDRnVsbFllYXIoKS90KSp0KSxlLnNldFVUQ01vbnRoKDAsMSksZS5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbihlLG4pe2Uuc2V0VVRDRnVsbFllYXIoZS5nZXRVVENGdWxsWWVhcigpK24qdCl9KSk6bnVsbH07dmFyIGVudD10bnQ7ZnVuY3Rpb24gbm50KHQpe2lmKDA8PXQueSYmdC55PDEwMCl7dmFyIGU9bmV3IERhdGUoLTEsdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpO3JldHVybiBlLnNldEZ1bGxZZWFyKHQueSksZX1yZXR1cm4gbmV3IERhdGUodC55LHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKX1mdW5jdGlvbiBpbnQodCl7aWYoMDw9dC55JiZ0Lnk8MTAwKXt2YXIgZT1uZXcgRGF0ZShEYXRlLlVUQygtMSx0Lm0sdC5kLHQuSCx0Lk0sdC5TLHQuTCkpO3JldHVybiBlLnNldFVUQ0Z1bGxZZWFyKHQueSksZX1yZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEModC55LHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKSl9ZnVuY3Rpb24gcm50KHQpe3JldHVybnt5OnQsbTowLGQ6MSxIOjAsTTowLFM6MCxMOjB9fWZ1bmN0aW9uIG9udCh0KXt2YXIgZT10LmRhdGVUaW1lLG49dC5kYXRlLGk9dC50aW1lLHI9dC5wZXJpb2RzLG89dC5kYXlzLGE9dC5zaG9ydERheXMscz10Lm1vbnRocyxsPXQuc2hvcnRNb250aHMsYz1fbnQociksdT15bnQociksaD1fbnQobyksZD15bnQobykscD1fbnQoYSksZj15bnQoYSksbT1fbnQocyksZz15bnQocyksXz1fbnQobCkseT15bnQobCksdj17YTpmdW5jdGlvbiBiKHQpe3JldHVybiBhW3QuZ2V0RGF5KCldfSxBOmZ1bmN0aW9uIHgodCl7cmV0dXJuIG9bdC5nZXREYXkoKV19LGI6ZnVuY3Rpb24gdyh0KXtyZXR1cm4gbFt0LmdldE1vbnRoKCldfSxCOmZ1bmN0aW9uIFModCl7cmV0dXJuIHNbdC5nZXRNb250aCgpXX0sYzpudWxsLGQ6Qm50LGU6Qm50LGY6am50LEg6SG50LEk6Rm50LGo6Vm50LEw6VW50LG06R250LE06V250LHA6ZnVuY3Rpb24gTSh0KXtyZXR1cm4gclsrKHQuZ2V0SG91cnMoKT49MTIpXX0sUTp2aXQsczpiaXQsUzpxbnQsdTpZbnQsVTpYbnQsVjokbnQsdzpLbnQsVzpabnQseDpudWxsLFg6bnVsbCx5OkpudCxZOlFudCxaOnRpdCwiJSI6eWl0fSxFPXthOmZ1bmN0aW9uIFQodCl7cmV0dXJuIGFbdC5nZXRVVENEYXkoKV19LEE6ZnVuY3Rpb24gQyh0KXtyZXR1cm4gb1t0LmdldFVUQ0RheSgpXX0sYjpmdW5jdGlvbiBBKHQpe3JldHVybiBsW3QuZ2V0VVRDTW9udGgoKV19LEI6ZnVuY3Rpb24gayh0KXtyZXR1cm4gc1t0LmdldFVUQ01vbnRoKCldfSxjOm51bGwsZDplaXQsZTplaXQsZjphaXQsSDpuaXQsSTppaXQsajpyaXQsTDpvaXQsbTpzaXQsTTpsaXQscDpmdW5jdGlvbiBMKHQpe3JldHVybiByWysodC5nZXRVVENIb3VycygpPj0xMildfSxROnZpdCxzOmJpdCxTOmNpdCx1OnVpdCxVOmhpdCxWOmRpdCx3OnBpdCxXOmZpdCx4Om51bGwsWDpudWxsLHk6bWl0LFk6Z2l0LFo6X2l0LCIlIjp5aXR9LFA9e2E6ZnVuY3Rpb24gTih0LGUsbil7dmFyIGk9cC5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0Lnc9ZltpWzBdLnRvTG93ZXJDYXNlKCldLG4raVswXS5sZW5ndGgpOi0xfSxBOmZ1bmN0aW9uIEkodCxlLG4pe3ZhciBpPWguZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC53PWRbaVswXS50b0xvd2VyQ2FzZSgpXSxuK2lbMF0ubGVuZ3RoKTotMX0sYjpmdW5jdGlvbiBSKHQsZSxuKXt2YXIgaT1fLmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIGk/KHQubT15W2lbMF0udG9Mb3dlckNhc2UoKV0sbitpWzBdLmxlbmd0aCk6LTF9LEI6ZnVuY3Rpb24gTyh0LGUsbil7dmFyIGk9bS5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0Lm09Z1tpWzBdLnRvTG93ZXJDYXNlKCldLG4raVswXS5sZW5ndGgpOi0xfSxjOmZ1bmN0aW9uIHoodCxuLGkpe3JldHVybiBVKHQsZSxuLGkpfSxkOkFudCxlOkFudCxmOlJudCxIOkxudCxJOkxudCxqOmtudCxMOkludCxtOkNudCxNOlBudCxwOmZ1bmN0aW9uIEQodCxlLG4pe3ZhciBpPWMuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC5wPXVbaVswXS50b0xvd2VyQ2FzZSgpXSxuK2lbMF0ubGVuZ3RoKTotMX0sUTp6bnQsczpEbnQsUzpObnQsdTpibnQsVTp4bnQsVjp3bnQsdzp2bnQsVzpTbnQseDpmdW5jdGlvbiBCKHQsZSxpKXtyZXR1cm4gVSh0LG4sZSxpKX0sWDpmdW5jdGlvbiBIKHQsZSxuKXtyZXR1cm4gVSh0LGksZSxuKX0seTpFbnQsWTpNbnQsWjpUbnQsIiUiOk9udH07ZnVuY3Rpb24gRih0LGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgaSxyLG8sYT1bXSxzPS0xLGw9MCxjPXQubGVuZ3RoO2ZvcihuIGluc3RhbmNlb2YgRGF0ZXx8KG49bmV3IERhdGUoK24pKTsrK3M8YzspMzc9PT10LmNoYXJDb2RlQXQocykmJihhLnB1c2godC5zbGljZShsLHMpKSxudWxsIT0ocj1obnRbaT10LmNoYXJBdCgrK3MpXSk/aT10LmNoYXJBdCgrK3MpOnI9ImUiPT09aT8iICI6IjAiLChvPWVbaV0pJiYoaT1vKG4scikpLGEucHVzaChpKSxsPXMrMSk7cmV0dXJuIGEucHVzaCh0LnNsaWNlKGwscykpLGEuam9pbigiIil9fWZ1bmN0aW9uIFYodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGkscixvPXJudCgxOTAwKTtpZihVKG8sdCxuKz0iIiwwKSE9bi5sZW5ndGgpcmV0dXJuIG51bGw7aWYoIlEiaW4gbylyZXR1cm4gbmV3IERhdGUoby5RKTtpZigicCJpbiBvJiYoby5IPW8uSCUxMisxMipvLnApLCJWImluIG8pe2lmKG8uVjwxfHxvLlY+NTMpcmV0dXJuIG51bGw7InciaW4gb3x8KG8udz0xKSwiWiJpbiBvPyhyPShpPWludChybnQoby55KSkpLmdldFVUQ0RheSgpLGk9cj40fHwwPT09cj9KZXQuY2VpbChpKTpKZXQoaSksaT0kZXQub2Zmc2V0KGksNyooby5WLTEpKSxvLnk9aS5nZXRVVENGdWxsWWVhcigpLG8ubT1pLmdldFVUQ01vbnRoKCksby5kPWkuZ2V0VVRDRGF0ZSgpKyhvLncrNiklNyk6KHI9KGk9ZShybnQoby55KSkpLmdldERheSgpLGk9cj40fHwwPT09cj9XZXQuY2VpbChpKTpXZXQoaSksaT1VZXQub2Zmc2V0KGksNyooby5WLTEpKSxvLnk9aS5nZXRGdWxsWWVhcigpLG8ubT1pLmdldE1vbnRoKCksby5kPWkuZ2V0RGF0ZSgpKyhvLncrNiklNyl9ZWxzZSgiVyJpbiBvfHwiVSJpbiBvKSYmKCJ3ImluIG98fChvLnc9InUiaW4gbz9vLnUlNzoiVyJpbiBvPzE6MCkscj0iWiJpbiBvP2ludChybnQoby55KSkuZ2V0VVRDRGF5KCk6ZShybnQoby55KSkuZ2V0RGF5KCksby5tPTAsby5kPSJXImluIG8/KG8udys2KSU3Kzcqby5XLShyKzUpJTc6by53Kzcqby5VLShyKzYpJTcpO3JldHVybiJaImluIG8/KG8uSCs9by5aLzEwMHwwLG8uTSs9by5aJTEwMCxpbnQobykpOmUobyl9fWZ1bmN0aW9uIFUodCxlLG4saSl7Zm9yKHZhciByLG8sYT0wLHM9ZS5sZW5ndGgsbD1uLmxlbmd0aDthPHM7KXtpZihpPj1sKXJldHVybi0xO2lmKDM3PT09KHI9ZS5jaGFyQ29kZUF0KGErKykpKXtpZihyPWUuY2hhckF0KGErKyksIShvPVBbciBpbiBobnQ/ZS5jaGFyQXQoYSsrKTpyXSl8fChpPW8odCxuLGkpKTwwKXJldHVybi0xfWVsc2UgaWYociE9bi5jaGFyQ29kZUF0KGkrKykpcmV0dXJuLTF9cmV0dXJuIGl9cmV0dXJuIHYueD1GKG4sdiksdi5YPUYoaSx2KSx2LmM9RihlLHYpLEUueD1GKG4sRSksRS5YPUYoaSxFKSxFLmM9RihlLEUpLHtmb3JtYXQ6ZnVuY3Rpb24odCl7dmFyIGU9Rih0Kz0iIix2KTtyZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxlfSxwYXJzZTpmdW5jdGlvbih0KXt2YXIgZT1WKHQrPSIiLG5udCk7cmV0dXJuIGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sZX0sdXRjRm9ybWF0OmZ1bmN0aW9uKHQpe3ZhciBlPUYodCs9IiIsRSk7cmV0dXJuIGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sZX0sdXRjUGFyc2U6ZnVuY3Rpb24odCl7dmFyIGU9Vih0LGludCk7cmV0dXJuIGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sZX19fXZhciBhbnQsc250LGxudCxjbnQsdW50LGhudD17Ii0iOiIiLF86IiAiLDA6IjAifSxkbnQ9L15ccypcZCsvLHBudD0vXiUvLGZudD0vW1xcXiQqKz98W1xdKCkue31dL2c7ZnVuY3Rpb24gbW50KHQsZSxuKXt2YXIgaT10PDA/Ii0iOiIiLHI9KGk/LXQ6dCkrIiIsbz1yLmxlbmd0aDtyZXR1cm4gaSsobzxuP25ldyBBcnJheShuLW8rMSkuam9pbihlKStyOnIpfWZ1bmN0aW9uIGdudCh0KXtyZXR1cm4gdC5yZXBsYWNlKGZudCwiXFwkJiIpfWZ1bmN0aW9uIF9udCh0KXtyZXR1cm4gbmV3IFJlZ0V4cCgiXig/OiIrdC5tYXAoZ250KS5qb2luKCJ8IikrIikiLCJpIil9ZnVuY3Rpb24geW50KHQpe2Zvcih2YXIgZT17fSxuPS0xLGk9dC5sZW5ndGg7KytuPGk7KWVbdFtuXS50b0xvd2VyQ2FzZSgpXT1uO3JldHVybiBlfWZ1bmN0aW9uIHZudCh0LGUsbil7dmFyIGk9ZG50LmV4ZWMoZS5zbGljZShuLG4rMSkpO3JldHVybiBpPyh0Lnc9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gYm50KHQsZSxuKXt2YXIgaT1kbnQuZXhlYyhlLnNsaWNlKG4sbisxKSk7cmV0dXJuIGk/KHQudT0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB4bnQodCxlLG4pe3ZhciBpPWRudC5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5VPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHdudCh0LGUsbil7dmFyIGk9ZG50LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0LlY9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gU250KHQsZSxuKXt2YXIgaT1kbnQuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuVz0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBNbnQodCxlLG4pe3ZhciBpPWRudC5leGVjKGUuc2xpY2UobixuKzQpKTtyZXR1cm4gaT8odC55PStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIEVudCh0LGUsbil7dmFyIGk9ZG50LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0Lnk9K2lbMF0rKCtpWzBdPjY4PzE5MDA6MmUzKSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBUbnQodCxlLG4pe3ZhciBpPS9eKFopfChbKy1dXGRcZCkoPzo6PyhcZFxkKSk/Ly5leGVjKGUuc2xpY2UobixuKzYpKTtyZXR1cm4gaT8odC5aPWlbMV0/MDotKGlbMl0rKGlbM118fCIwMCIpKSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBDbnQodCxlLG4pe3ZhciBpPWRudC5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5tPWlbMF0tMSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBBbnQodCxlLG4pe3ZhciBpPWRudC5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5kPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGtudCh0LGUsbil7dmFyIGk9ZG50LmV4ZWMoZS5zbGljZShuLG4rMykpO3JldHVybiBpPyh0Lm09MCx0LmQ9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gTG50KHQsZSxuKXt2YXIgaT1kbnQuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuSD0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBQbnQodCxlLG4pe3ZhciBpPWRudC5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5NPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIE5udCh0LGUsbil7dmFyIGk9ZG50LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0LlM9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gSW50KHQsZSxuKXt2YXIgaT1kbnQuZXhlYyhlLnNsaWNlKG4sbiszKSk7cmV0dXJuIGk/KHQuTD0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBSbnQodCxlLG4pe3ZhciBpPWRudC5leGVjKGUuc2xpY2UobixuKzYpKTtyZXR1cm4gaT8odC5MPU1hdGguZmxvb3IoaVswXS8xZTMpLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIE9udCh0LGUsbil7dmFyIGk9cG50LmV4ZWMoZS5zbGljZShuLG4rMSkpO3JldHVybiBpP24raVswXS5sZW5ndGg6LTF9ZnVuY3Rpb24gem50KHQsZSxuKXt2YXIgaT1kbnQuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC5RPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIERudCh0LGUsbil7dmFyIGk9ZG50LmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIGk/KHQuUT0xZTMqK2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gQm50KHQsZSl7cmV0dXJuIG1udCh0LmdldERhdGUoKSxlLDIpfWZ1bmN0aW9uIEhudCh0LGUpe3JldHVybiBtbnQodC5nZXRIb3VycygpLGUsMil9ZnVuY3Rpb24gRm50KHQsZSl7cmV0dXJuIG1udCh0LmdldEhvdXJzKCklMTJ8fDEyLGUsMil9ZnVuY3Rpb24gVm50KHQsZSl7cmV0dXJuIG1udCgxK1VldC5jb3VudChYZXQodCksdCksZSwzKX1mdW5jdGlvbiBVbnQodCxlKXtyZXR1cm4gbW50KHQuZ2V0TWlsbGlzZWNvbmRzKCksZSwzKX1mdW5jdGlvbiBqbnQodCxlKXtyZXR1cm4gVW50KHQsZSkrIjAwMCJ9ZnVuY3Rpb24gR250KHQsZSl7cmV0dXJuIG1udCh0LmdldE1vbnRoKCkrMSxlLDIpfWZ1bmN0aW9uIFdudCh0LGUpe3JldHVybiBtbnQodC5nZXRNaW51dGVzKCksZSwyKX1mdW5jdGlvbiBxbnQodCxlKXtyZXR1cm4gbW50KHQuZ2V0U2Vjb25kcygpLGUsMil9ZnVuY3Rpb24gWW50KHQpe3ZhciBlPXQuZ2V0RGF5KCk7cmV0dXJuIDA9PT1lPzc6ZX1mdW5jdGlvbiBYbnQodCxlKXtyZXR1cm4gbW50KEdldC5jb3VudChYZXQodCksdCksZSwyKX1mdW5jdGlvbiAkbnQodCxlKXt2YXIgbj10LmdldERheSgpO3JldHVybiB0PW4+PTR8fDA9PT1uP3FldCh0KTpxZXQuY2VpbCh0KSxtbnQocWV0LmNvdW50KFhldCh0KSx0KSsoND09PVhldCh0KS5nZXREYXkoKSksZSwyKX1mdW5jdGlvbiBLbnQodCl7cmV0dXJuIHQuZ2V0RGF5KCl9ZnVuY3Rpb24gWm50KHQsZSl7cmV0dXJuIG1udChXZXQuY291bnQoWGV0KHQpLHQpLGUsMil9ZnVuY3Rpb24gSm50KHQsZSl7cmV0dXJuIG1udCh0LmdldEZ1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gUW50KHQsZSl7cmV0dXJuIG1udCh0LmdldEZ1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gdGl0KHQpe3ZhciBlPXQuZ2V0VGltZXpvbmVPZmZzZXQoKTtyZXR1cm4oZT4wPyItIjooZSo9LTEsIisiKSkrbW50KGUvNjB8MCwiMCIsMikrbW50KGUlNjAsIjAiLDIpfWZ1bmN0aW9uIGVpdCh0LGUpe3JldHVybiBtbnQodC5nZXRVVENEYXRlKCksZSwyKX1mdW5jdGlvbiBuaXQodCxlKXtyZXR1cm4gbW50KHQuZ2V0VVRDSG91cnMoKSxlLDIpfWZ1bmN0aW9uIGlpdCh0LGUpe3JldHVybiBtbnQodC5nZXRVVENIb3VycygpJTEyfHwxMixlLDIpfWZ1bmN0aW9uIHJpdCh0LGUpe3JldHVybiBtbnQoMSskZXQuY291bnQoZW50KHQpLHQpLGUsMyl9ZnVuY3Rpb24gb2l0KHQsZSl7cmV0dXJuIG1udCh0LmdldFVUQ01pbGxpc2Vjb25kcygpLGUsMyl9ZnVuY3Rpb24gYWl0KHQsZSl7cmV0dXJuIG9pdCh0LGUpKyIwMDAifWZ1bmN0aW9uIHNpdCh0LGUpe3JldHVybiBtbnQodC5nZXRVVENNb250aCgpKzEsZSwyKX1mdW5jdGlvbiBsaXQodCxlKXtyZXR1cm4gbW50KHQuZ2V0VVRDTWludXRlcygpLGUsMil9ZnVuY3Rpb24gY2l0KHQsZSl7cmV0dXJuIG1udCh0LmdldFVUQ1NlY29uZHMoKSxlLDIpfWZ1bmN0aW9uIHVpdCh0KXt2YXIgZT10LmdldFVUQ0RheSgpO3JldHVybiAwPT09ZT83OmV9ZnVuY3Rpb24gaGl0KHQsZSl7cmV0dXJuIG1udChaZXQuY291bnQoZW50KHQpLHQpLGUsMil9ZnVuY3Rpb24gZGl0KHQsZSl7dmFyIG49dC5nZXRVVENEYXkoKTtyZXR1cm4gdD1uPj00fHwwPT09bj9RZXQodCk6UWV0LmNlaWwodCksbW50KFFldC5jb3VudChlbnQodCksdCkrKDQ9PT1lbnQodCkuZ2V0VVRDRGF5KCkpLGUsMil9ZnVuY3Rpb24gcGl0KHQpe3JldHVybiB0LmdldFVUQ0RheSgpfWZ1bmN0aW9uIGZpdCh0LGUpe3JldHVybiBtbnQoSmV0LmNvdW50KGVudCh0KSx0KSxlLDIpfWZ1bmN0aW9uIG1pdCh0LGUpe3JldHVybiBtbnQodC5nZXRVVENGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uIGdpdCh0LGUpe3JldHVybiBtbnQodC5nZXRVVENGdWxsWWVhcigpJTFlNCxlLDQpfWZ1bmN0aW9uIF9pdCgpe3JldHVybiIrMDAwMCJ9ZnVuY3Rpb24geWl0KCl7cmV0dXJuIiUifWZ1bmN0aW9uIHZpdCh0KXtyZXR1cm4rdH1mdW5jdGlvbiBiaXQodCl7cmV0dXJuIE1hdGguZmxvb3IoK3QvMWUzKX1mdW5jdGlvbiB4aXQodCl7cmV0dXJuIGFudD1vbnQodCksc250PWFudC5mb3JtYXQsbG50PWFudC5wYXJzZSxjbnQ9YW50LnV0Y0Zvcm1hdCx1bnQ9YW50LnV0Y1BhcnNlLGFudH14aXQoe2RhdGVUaW1lOiIleCwgJVgiLGRhdGU6IiUtbS8lLWQvJVkiLHRpbWU6IiUtSTolTTolUyAlcCIscGVyaW9kczpbIkFNIiwiUE0iXSxkYXlzOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSxzaG9ydERheXM6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSxtb250aHM6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLHNob3J0TW9udGhzOlsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl19KTt2YXIgd2l0PSIlWS0lbS0lZFQlSDolTTolUy4lTFoiO3ZhciBTaXQ9RGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmc/ZnVuY3Rpb24gTWl0KHQpe3JldHVybiB0LnRvSVNPU3RyaW5nKCl9OmNudCh3aXQpO3ZhciBFaXQsVGl0LENpdD0rbmV3IERhdGUoIjIwMDAtMDEtMDFUMDA6MDA6MDAuMDAwWiIpP2Z1bmN0aW9uIEFpdCh0KXt2YXIgZT1uZXcgRGF0ZSh0KTtyZXR1cm4gaXNOYU4oZSk/bnVsbDplfTp1bnQod2l0KSxraXQ9MCxMaXQ9MCxQaXQ9MCxOaXQ9MCxJaXQ9MCxSaXQ9MCxPaXQ9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlOkRhdGUseml0PSJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQodCwxNyl9O2Z1bmN0aW9uIERpdCgpe3JldHVybiBJaXR8fCh6aXQoQml0KSxJaXQ9T2l0Lm5vdygpK1JpdCl9ZnVuY3Rpb24gQml0KCl7SWl0PTB9ZnVuY3Rpb24gSGl0KCl7dGhpcy5fY2FsbD10aGlzLl90aW1lPXRoaXMuX25leHQ9bnVsbH1mdW5jdGlvbiBGaXQodCxlLG4pe3ZhciBpPW5ldyBIaXQ7cmV0dXJuIGkucmVzdGFydCh0LGUsbiksaX1mdW5jdGlvbiBWaXQoKXtEaXQoKSwrK2tpdDtmb3IodmFyIHQsZT1FaXQ7ZTspKHQ9SWl0LWUuX3RpbWUpPj0wJiZlLl9jYWxsLmNhbGwobnVsbCx0KSxlPWUuX25leHQ7LS1raXR9ZnVuY3Rpb24gVWl0KCl7SWl0PShOaXQ9T2l0Lm5vdygpKStSaXQsa2l0PUxpdD0wO3RyeXtWaXQoKX1maW5hbGx5e2tpdD0wLChmdW5jdGlvbiB0KCl7dmFyIHQsZSxuPUVpdCxpPTEvMDtmb3IoO247KW4uX2NhbGw/KGk+bi5fdGltZSYmKGk9bi5fdGltZSksdD1uLG49bi5fbmV4dCk6KGU9bi5fbmV4dCxuLl9uZXh0PW51bGwsbj10P3QuX25leHQ9ZTpFaXQ9ZSk7VGl0PXQsR2l0KGkpfSkoKSxJaXQ9MH19ZnVuY3Rpb24gaml0KCl7dmFyIHQ9T2l0Lm5vdygpLGU9dC1OaXQ7ZT4xZTMmJihSaXQtPWUsTml0PXQpfWZ1bmN0aW9uIEdpdCh0KXtraXR8fChMaXQmJihMaXQ9Y2xlYXJUaW1lb3V0KExpdCkpLHQtSWl0PjI0Pyh0PDEvMCYmKExpdD1zZXRUaW1lb3V0KFVpdCx0LU9pdC5ub3coKS1SaXQpKSxQaXQmJihQaXQ9Y2xlYXJJbnRlcnZhbChQaXQpKSk6KFBpdHx8KE5pdD1PaXQubm93KCksUGl0PXNldEludGVydmFsKGppdCwxZTMpKSxraXQ9MSx6aXQoVWl0KSkpfUhpdC5wcm90b3R5cGU9Rml0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6SGl0LHJlc3RhcnQ6ZnVuY3Rpb24odCxlLG4pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoImNhbGxiYWNrIGlzIG5vdCBhIGZ1bmN0aW9uIik7bj0obnVsbD09bj9EaXQoKTorbikrKG51bGw9PWU/MDorZSksdGhpcy5fbmV4dHx8VGl0PT09dGhpc3x8KFRpdD9UaXQuX25leHQ9dGhpczpFaXQ9dGhpcyxUaXQ9dGhpcyksdGhpcy5fY2FsbD10LHRoaXMuX3RpbWU9bixHaXQoKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuX2NhbGwmJih0aGlzLl9jYWxsPW51bGwsdGhpcy5fdGltZT0xLzAsR2l0KCkpfX07dmFyIFdpdD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIscWl0PXtzdmc6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix4aHRtbDpXaXQseGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHhtbDoiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8ifTtmdW5jdGlvbiBZaXQodCl7dmFyIGU9dCs9IiIsbj1lLmluZGV4T2YoIjoiKTtyZXR1cm4gbj49MCYmInhtbG5zIiE9PShlPXQuc2xpY2UoMCxuKSkmJih0PXQuc2xpY2UobisxKSkscWl0Lmhhc093blByb3BlcnR5KGUpP3tzcGFjZTpxaXRbZV0sbG9jYWw6dH06dH1mdW5jdGlvbiBYaXQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vd25lckRvY3VtZW50LG49dGhpcy5uYW1lc3BhY2VVUkk7cmV0dXJuIG49PT1XaXQmJmUuZG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVSST09PVdpdD9lLmNyZWF0ZUVsZW1lbnQodCk6ZS5jcmVhdGVFbGVtZW50TlMobix0KX19ZnVuY3Rpb24gJGl0KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIEtpdCh0KXt2YXIgZT1ZaXQodCk7cmV0dXJuKGUubG9jYWw/JGl0OlhpdCkoZSl9ZnVuY3Rpb24gWml0KCl7fWZ1bmN0aW9uIEppdCh0KXtyZXR1cm4gbnVsbD09dD9aaXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yKHQpfX1mdW5jdGlvbiBRaXQoKXtyZXR1cm5bXX1mdW5jdGlvbiB0cnQodCl7cmV0dXJuIG51bGw9PXQ/UWl0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvckFsbCh0KX19ZnVuY3Rpb24gZXJ0KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hdGNoZXModCl9fWZ1bmN0aW9uIG5ydCh0KXtyZXR1cm4gbmV3IEFycmF5KHQubGVuZ3RoKX1mdW5jdGlvbiBpcnQodCxlKXt0aGlzLm93bmVyRG9jdW1lbnQ9dC5vd25lckRvY3VtZW50LHRoaXMubmFtZXNwYWNlVVJJPXQubmFtZXNwYWNlVVJJLHRoaXMuX25leHQ9bnVsbCx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9fZGF0YV9fPWV9aXJ0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6aXJ0LGFwcGVuZENoaWxkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsdGhpcy5fbmV4dCl9LGluc2VydEJlZm9yZTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsZSl9LHF1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yKHQpfSxxdWVyeVNlbGVjdG9yQWxsOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3RvckFsbCh0KX19O2Z1bmN0aW9uIHJydCh0LGUsbixpLHIsbyl7Zm9yKHZhciBhLHM9MCxsPWUubGVuZ3RoLGM9by5sZW5ndGg7czxjOysrcykoYT1lW3NdKT8oYS5fX2RhdGFfXz1vW3NdLGlbc109YSk6bltzXT1uZXcgaXJ0KHQsb1tzXSk7Zm9yKDtzPGw7KytzKShhPWVbc10pJiYocltzXT1hKX1mdW5jdGlvbiBvcnQodCxlLG4saSxyLG8sYSl7dmFyIHMsbCxjLHU9e30saD1lLmxlbmd0aCxkPW8ubGVuZ3RoLHA9bmV3IEFycmF5KGgpO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmKHBbc109Yz0iJCIrYS5jYWxsKGwsbC5fX2RhdGFfXyxzLGUpLGMgaW4gdT9yW3NdPWw6dVtjXT1sKTtmb3Iocz0wO3M8ZDsrK3MpKGw9dVtjPSIkIithLmNhbGwodCxvW3NdLHMsbyldKT8oaVtzXT1sLGwuX19kYXRhX189b1tzXSx1W2NdPW51bGwpOm5bc109bmV3IGlydCh0LG9bc10pO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmdVtwW3NdXT09PWwmJihyW3NdPWwpfWZ1bmN0aW9uIGFydCh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBzcnQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIGxydCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIGNydCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlKHQsZSl9fWZ1bmN0aW9uIHVydCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUpfX1mdW5jdGlvbiBocnQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpOnRoaXMuc2V0QXR0cmlidXRlKHQsbil9fWZ1bmN0aW9uIGRydCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpOnRoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLG4pfX1mdW5jdGlvbiBwcnQodCl7cmV0dXJuIHQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx0LmRvY3VtZW50JiZ0fHx0LmRlZmF1bHRWaWV3fWZ1bmN0aW9uIGZydCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX1mdW5jdGlvbiBtcnQodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxlLG4pfX1mdW5jdGlvbiBncnQodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBpPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PWk/dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KTp0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsaSxuKX19ZnVuY3Rpb24gX3J0KHQsZSl7cmV0dXJuIHQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShlKXx8cHJ0KHQpLmdldENvbXB1dGVkU3R5bGUodCxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKGUpfWZ1bmN0aW9uIHlydCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtkZWxldGUgdGhpc1t0XX19ZnVuY3Rpb24gdnJ0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpc1t0XT1lfX1mdW5jdGlvbiBicnQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP2RlbGV0ZSB0aGlzW3RdOnRoaXNbdF09bn19ZnVuY3Rpb24geHJ0KHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKX1mdW5jdGlvbiB3cnQodCl7cmV0dXJuIHQuY2xhc3NMaXN0fHxuZXcgU3J0KHQpfWZ1bmN0aW9uIFNydCh0KXt0aGlzLl9ub2RlPXQsdGhpcy5fbmFtZXM9eHJ0KHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9ZnVuY3Rpb24gTXJ0KHQsZSl7Zm9yKHZhciBuPXdydCh0KSxpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KW4uYWRkKGVbaV0pfWZ1bmN0aW9uIEVydCh0LGUpe2Zvcih2YXIgbj13cnQodCksaT0tMSxyPWUubGVuZ3RoOysraTxyOyluLnJlbW92ZShlW2ldKX1mdW5jdGlvbiBUcnQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7TXJ0KHRoaXMsdCl9fWZ1bmN0aW9uIENydCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtFcnQodGhpcyx0KX19ZnVuY3Rpb24gQXJ0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7KGUuYXBwbHkodGhpcyxhcmd1bWVudHMpP01ydDpFcnQpKHRoaXMsdCl9fWZ1bmN0aW9uIGtydCgpe3RoaXMudGV4dENvbnRlbnQ9IiJ9ZnVuY3Rpb24gTHJ0KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMudGV4dENvbnRlbnQ9dH19ZnVuY3Rpb24gUHJ0KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfX1mdW5jdGlvbiBOcnQoKXt0aGlzLmlubmVySFRNTD0iIn1mdW5jdGlvbiBJcnQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5pbm5lckhUTUw9dH19ZnVuY3Rpb24gUnJ0KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuaW5uZXJIVE1MPW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24gT3J0KCl7dGhpcy5uZXh0U2libGluZyYmdGhpcy5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHRoaXMpfWZ1bmN0aW9uIHpydCgpe3RoaXMucHJldmlvdXNTaWJsaW5nJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMsdGhpcy5wYXJlbnROb2RlLmZpcnN0Q2hpbGQpfWZ1bmN0aW9uIERydCgpe3JldHVybiBudWxsfWZ1bmN0aW9uIEJydCgpe3ZhciB0PXRoaXMucGFyZW50Tm9kZTt0JiZ0LnJlbW92ZUNoaWxkKHRoaXMpfWZ1bmN0aW9uIEhydCgpe3ZhciB0PXRoaXMuY2xvbmVOb2RlKCExKSxlPXRoaXMucGFyZW50Tm9kZTtyZXR1cm4gZT9lLmluc2VydEJlZm9yZSh0LHRoaXMubmV4dFNpYmxpbmcpOnR9ZnVuY3Rpb24gRnJ0KCl7dmFyIHQ9dGhpcy5jbG9uZU5vZGUoITApLGU9dGhpcy5wYXJlbnROb2RlO3JldHVybiBlP2UuaW5zZXJ0QmVmb3JlKHQsdGhpcy5uZXh0U2libGluZyk6dH1TcnQucHJvdG90eXBlPXthZGQ6ZnVuY3Rpb24odCl7dGhpcy5fbmFtZXMuaW5kZXhPZih0KTwwJiYodGhpcy5fbmFtZXMucHVzaCh0KSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbmFtZXMuaW5kZXhPZih0KTtlPj0wJiYodGhpcy5fbmFtZXMuc3BsaWNlKGUsMSksdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLl9uYW1lcy5qb2luKCIgIikpKX0sY29udGFpbnM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX25hbWVzLmluZGV4T2YodCk+PTB9fTt2YXIgVnJ0PXt9OyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJigib25tb3VzZWVudGVyImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8KFZydD17bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9KSk7ZnVuY3Rpb24gVXJ0KHQsZSxuKXtyZXR1cm4gdD1qcnQodCxlLG4pLGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVsYXRlZFRhcmdldDtuJiYobj09PXRoaXN8fDgmbi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzKSl8fHQuY2FsbCh0aGlzLGUpfX1mdW5jdGlvbiBqcnQodCxlLG4pe3JldHVybiBmdW5jdGlvbihpKXt0cnl7dC5jYWxsKHRoaXMsdGhpcy5fX2RhdGFfXyxlLG4pfWZpbmFsbHl7fX19ZnVuY3Rpb24gR3J0KHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKS5tYXAoKGZ1bmN0aW9uKHQpe3ZhciBlPSIiLG49dC5pbmRleE9mKCIuIik7cmV0dXJuIG4+PTAmJihlPXQuc2xpY2UobisxKSx0PXQuc2xpY2UoMCxuKSkse3R5cGU6dCxuYW1lOmV9fSkpfWZ1bmN0aW9uIFdydCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9fb247aWYoZSl7Zm9yKHZhciBuLGk9MCxyPS0xLG89ZS5sZW5ndGg7aTxvOysraSluPWVbaV0sdC50eXBlJiZuLnR5cGUhPT10LnR5cGV8fG4ubmFtZSE9PXQubmFtZT9lWysrcl09bjp0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIobi50eXBlLG4ubGlzdGVuZXIsbi5jYXB0dXJlKTsrK3I/ZS5sZW5ndGg9cjpkZWxldGUgdGhpcy5fX29ufX19ZnVuY3Rpb24gcXJ0KHQsZSxuKXt2YXIgaT1WcnQuaGFzT3duUHJvcGVydHkodC50eXBlKT9VcnQ6anJ0O3JldHVybiBmdW5jdGlvbihyLG8sYSl7dmFyIHMsbD10aGlzLl9fb24sYz1pKGUsbyxhKTtpZihsKWZvcih2YXIgdT0wLGg9bC5sZW5ndGg7dTxoOysrdSlpZigocz1sW3VdKS50eXBlPT09dC50eXBlJiZzLm5hbWU9PT10Lm5hbWUpcmV0dXJuIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcixzLmNhcHR1cmUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcj1jLHMuY2FwdHVyZT1uKSx2b2lkKHMudmFsdWU9ZSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKHQudHlwZSxjLG4pLHM9e3R5cGU6dC50eXBlLG5hbWU6dC5uYW1lLHZhbHVlOmUsbGlzdGVuZXI6YyxjYXB0dXJlOm59LGw/bC5wdXNoKHMpOnRoaXMuX19vbj1bc119fWZ1bmN0aW9uIFlydCh0LGUsbil7dmFyIGk9cHJ0KHQpLHI9aS5DdXN0b21FdmVudDsiZnVuY3Rpb24iPT10eXBlb2Ygcj9yPW5ldyByKGUsbik6KHI9aS5kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSxuPyhyLmluaXRFdmVudChlLG4uYnViYmxlcyxuLmNhbmNlbGFibGUpLHIuZGV0YWlsPW4uZGV0YWlsKTpyLmluaXRFdmVudChlLCExLCExKSksdC5kaXNwYXRjaEV2ZW50KHIpfWZ1bmN0aW9uIFhydCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBZcnQodGhpcyx0LGUpfX1mdW5jdGlvbiAkcnQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gWXJ0KHRoaXMsdCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXZhciBLcnQ9W251bGxdO2Z1bmN0aW9uIFpydCh0LGUpe3RoaXMuX2dyb3Vwcz10LHRoaXMuX3BhcmVudHM9ZX1mdW5jdGlvbiBKcnQoKXtyZXR1cm4gbmV3IFpydChbW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudF1dLEtydCl9WnJ0LnByb3RvdHlwZT1KcnQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpacnQsc2VsZWN0OmZ1bmN0aW9uIFFydCh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9Sml0KHQpKTtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49ZS5sZW5ndGgsaT1uZXcgQXJyYXkobikscj0wO3I8bjsrK3IpZm9yKHZhciBvLGEscz1lW3JdLGw9cy5sZW5ndGgsYz1pW3JdPW5ldyBBcnJheShsKSx1PTA7dTxsOysrdSkobz1zW3VdKSYmKGE9dC5jYWxsKG8sby5fX2RhdGFfXyx1LHMpKSYmKCJfX2RhdGFfXyJpbiBvJiYoYS5fX2RhdGFfXz1vLl9fZGF0YV9fKSxjW3VdPWEpO3JldHVybiBuZXcgWnJ0KGksdGhpcy5fcGFyZW50cyl9LHNlbGVjdEFsbDpmdW5jdGlvbiB0b3QodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PXRydCh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9W10scj1bXSxvPTA7bzxuOysrbylmb3IodmFyIGEscz1lW29dLGw9cy5sZW5ndGgsYz0wO2M8bDsrK2MpKGE9c1tjXSkmJihpLnB1c2godC5jYWxsKGEsYS5fX2RhdGFfXyxjLHMpKSxyLnB1c2goYSkpO3JldHVybiBuZXcgWnJ0KGkscil9LGZpbHRlcjpmdW5jdGlvbiBlb3QodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PWVydCh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhPWVbcl0scz1hLmxlbmd0aCxsPWlbcl09W10sYz0wO2M8czsrK2MpKG89YVtjXSkmJnQuY2FsbChvLG8uX19kYXRhX18sYyxhKSYmbC5wdXNoKG8pO3JldHVybiBuZXcgWnJ0KGksdGhpcy5fcGFyZW50cyl9LGRhdGE6ZnVuY3Rpb24gbm90KHQsZSl7aWYoIXQpcmV0dXJuIGY9bmV3IEFycmF5KHRoaXMuc2l6ZSgpKSx1PS0xLHRoaXMuZWFjaCgoZnVuY3Rpb24odCl7ZlsrK3VdPXR9KSksZjt2YXIgbj1lP29ydDpycnQsaT10aGlzLl9wYXJlbnRzLHI9dGhpcy5fZ3JvdXBzOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD0oZnVuY3Rpb24gbyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19KSh0KSk7Zm9yKHZhciBhPXIubGVuZ3RoLHM9bmV3IEFycmF5KGEpLGw9bmV3IEFycmF5KGEpLGM9bmV3IEFycmF5KGEpLHU9MDt1PGE7Kyt1KXt2YXIgaD1pW3VdLGQ9clt1XSxwPWQubGVuZ3RoLGY9dC5jYWxsKGgsaCYmaC5fX2RhdGFfXyx1LGkpLG09Zi5sZW5ndGgsZz1sW3VdPW5ldyBBcnJheShtKSxfPXNbdV09bmV3IEFycmF5KG0pO24oaCxkLGcsXyxjW3VdPW5ldyBBcnJheShwKSxmLGUpO2Zvcih2YXIgeSx2LGI9MCx4PTA7YjxtOysrYilpZih5PWdbYl0pe2ZvcihiPj14JiYoeD1iKzEpOyEodj1fW3hdKSYmKyt4PG07KTt5Ll9uZXh0PXZ8fG51bGx9fXJldHVybihzPW5ldyBacnQocyxpKSkuX2VudGVyPWwscy5fZXhpdD1jLHN9LGVudGVyOmZ1bmN0aW9uIGlvdCgpe3JldHVybiBuZXcgWnJ0KHRoaXMuX2VudGVyfHx0aGlzLl9ncm91cHMubWFwKG5ydCksdGhpcy5fcGFyZW50cyl9LGV4aXQ6ZnVuY3Rpb24gcm90KCl7cmV0dXJuIG5ldyBacnQodGhpcy5fZXhpdHx8dGhpcy5fZ3JvdXBzLm1hcChucnQpLHRoaXMuX3BhcmVudHMpfSxqb2luOmZ1bmN0aW9uIG9vdCh0LGUsbil7dmFyIGk9dGhpcy5lbnRlcigpLHI9dGhpcyxvPXRoaXMuZXhpdCgpO3JldHVybiBpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3QoaSk6aS5hcHBlbmQodCsiIiksbnVsbCE9ZSYmKHI9ZShyKSksbnVsbD09bj9vLnJlbW92ZSgpOm4obyksaSYmcj9pLm1lcmdlKHIpLm9yZGVyKCk6cn0sbWVyZ2U6ZnVuY3Rpb24gYW90KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsaT1lLmxlbmd0aCxyPU1hdGgubWluKGksbi5sZW5ndGgpLG89bmV3IEFycmF5KGkpLGE9MDthPHI7KythKWZvcih2YXIgcyxsPWVbYV0sYz1uW2FdLHU9bC5sZW5ndGgsaD1vW2FdPW5ldyBBcnJheSh1KSxkPTA7ZDx1OysrZCkocz1sW2RdfHxjW2RdKSYmKGhbZF09cyk7Zm9yKDthPGk7KythKW9bYV09ZVthXTtyZXR1cm4gbmV3IFpydChvLHRoaXMuX3BhcmVudHMpfSxvcmRlcjpmdW5jdGlvbiBzb3QoKXtmb3IodmFyIHQ9dGhpcy5fZ3JvdXBzLGU9LTEsbj10Lmxlbmd0aDsrK2U8bjspZm9yKHZhciBpLHI9dFtlXSxvPXIubGVuZ3RoLTEsYT1yW29dOy0tbz49MDspKGk9cltvXSkmJihhJiY0XmkuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkmJmEucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaSxhKSxhPWkpO3JldHVybiB0aGlzfSxzb3J0OmZ1bmN0aW9uIGxvdCh0KXtmdW5jdGlvbiBlKGUsbil7cmV0dXJuIGUmJm4/dChlLl9fZGF0YV9fLG4uX19kYXRhX18pOiFlLSFufXR8fCh0PWFydCk7Zm9yKHZhciBuPXRoaXMuX2dyb3VwcyxpPW4ubGVuZ3RoLHI9bmV3IEFycmF5KGkpLG89MDtvPGk7KytvKXtmb3IodmFyIGEscz1uW29dLGw9cy5sZW5ndGgsYz1yW29dPW5ldyBBcnJheShsKSx1PTA7dTxsOysrdSkoYT1zW3VdKSYmKGNbdV09YSk7Yy5zb3J0KGUpfXJldHVybiBuZXcgWnJ0KHIsdGhpcy5fcGFyZW50cykub3JkZXIoKX0sY2FsbDpmdW5jdGlvbiBjb3QoKXt2YXIgdD1hcmd1bWVudHNbMF07cmV0dXJuIGFyZ3VtZW50c1swXT10aGlzLHQuYXBwbHkobnVsbCxhcmd1bWVudHMpLHRoaXN9LG5vZGVzOmZ1bmN0aW9uIHVvdCgpe3ZhciB0PW5ldyBBcnJheSh0aGlzLnNpemUoKSksZT0tMTtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3RbKytlXT10aGlzfSkpLHR9LG5vZGU6ZnVuY3Rpb24gaG90KCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPTAsbj10Lmxlbmd0aDtlPG47KytlKWZvcih2YXIgaT10W2VdLHI9MCxvPWkubGVuZ3RoO3I8bzsrK3Ipe3ZhciBhPWlbcl07aWYoYSlyZXR1cm4gYX1yZXR1cm4gbnVsbH0sc2l6ZTpmdW5jdGlvbiBkb3QoKXt2YXIgdD0wO3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7Kyt0fSkpLHR9LGVtcHR5OmZ1bmN0aW9uIHBvdCgpe3JldHVybiF0aGlzLm5vZGUoKX0sZWFjaDpmdW5jdGlvbiBmb3QodCl7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPTAsaT1lLmxlbmd0aDtuPGk7KytuKWZvcih2YXIgcixvPWVbbl0sYT0wLHM9by5sZW5ndGg7YTxzOysrYSkocj1vW2FdKSYmdC5jYWxsKHIsci5fX2RhdGFfXyxhLG8pO3JldHVybiB0aGlzfSxhdHRyOmZ1bmN0aW9uIG1vdCh0LGUpe3ZhciBuPVlpdCh0KTtpZihhcmd1bWVudHMubGVuZ3RoPDIpe3ZhciBpPXRoaXMubm9kZSgpO3JldHVybiBuLmxvY2FsP2kuZ2V0QXR0cmlidXRlTlMobi5zcGFjZSxuLmxvY2FsKTppLmdldEF0dHJpYnV0ZShuKX1yZXR1cm4gdGhpcy5lYWNoKChudWxsPT1lP24ubG9jYWw/bHJ0OnNydDoiZnVuY3Rpb24iPT10eXBlb2YgZT9uLmxvY2FsP2RydDpocnQ6bi5sb2NhbD91cnQ6Y3J0KShuLGUpKX0sc3R5bGU6ZnVuY3Rpb24gZ290KHQsZSxuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaCgobnVsbD09ZT9mcnQ6ImZ1bmN0aW9uIj09dHlwZW9mIGU/Z3J0Om1ydCkodCxlLG51bGw9PW4/IiI6bikpOl9ydCh0aGlzLm5vZGUoKSx0KX0scHJvcGVydHk6ZnVuY3Rpb24gX290KHQsZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goKG51bGw9PWU/eXJ0OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2JydDp2cnQpKHQsZSkpOnRoaXMubm9kZSgpW3RdfSxjbGFzc2VkOmZ1bmN0aW9uIHlvdCh0LGUpe3ZhciBuPXhydCh0KyIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgaT13cnQodGhpcy5ub2RlKCkpLHI9LTEsbz1uLmxlbmd0aDsrK3I8bzspaWYoIWkuY29udGFpbnMobltyXSkpcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuIHRoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIGU/QXJ0OmU/VHJ0OkNydCkobixlKSl9LHRleHQ6ZnVuY3Rpb24gdm90KHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChudWxsPT10P2tydDooImZ1bmN0aW9uIj09dHlwZW9mIHQ/UHJ0OkxydCkodCkpOnRoaXMubm9kZSgpLnRleHRDb250ZW50fSxodG1sOmZ1bmN0aW9uIGJvdCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9OcnQ6KCJmdW5jdGlvbiI9PXR5cGVvZiB0P1JydDpJcnQpKHQpKTp0aGlzLm5vZGUoKS5pbm5lckhUTUx9LHJhaXNlOmZ1bmN0aW9uIHhvdCgpe3JldHVybiB0aGlzLmVhY2goT3J0KX0sbG93ZXI6ZnVuY3Rpb24gd290KCl7cmV0dXJuIHRoaXMuZWFjaCh6cnQpfSxhcHBlbmQ6ZnVuY3Rpb24gU290KHQpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6S2l0KHQpO3JldHVybiB0aGlzLnNlbGVjdCgoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcHBlbmRDaGlsZChlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9KSl9LGluc2VydDpmdW5jdGlvbiBNb3QodCxlKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OktpdCh0KSxpPW51bGw9PWU/RHJ0OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6Sml0KGUpO3JldHVybiB0aGlzLnNlbGVjdCgoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbnNlcnRCZWZvcmUobi5hcHBseSh0aGlzLGFyZ3VtZW50cyksaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fG51bGwpfSkpfSxyZW1vdmU6ZnVuY3Rpb24gRW90KCl7cmV0dXJuIHRoaXMuZWFjaChCcnQpfSxjbG9uZTpmdW5jdGlvbiBUb3QodCl7cmV0dXJuIHRoaXMuc2VsZWN0KHQ/RnJ0OkhydCl9LGRhdHVtOmZ1bmN0aW9uIENvdCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLnByb3BlcnR5KCJfX2RhdGFfXyIsdCk6dGhpcy5ub2RlKCkuX19kYXRhX199LG9uOmZ1bmN0aW9uIEFvdCh0LGUsbil7dmFyIGkscixvPUdydCh0KyIiKSxhPW8ubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7Zm9yKHM9ZT9xcnQ6V3J0LG51bGw9PW4mJihuPSExKSxpPTA7aTxhOysraSl0aGlzLmVhY2gocyhvW2ldLGUsbikpO3JldHVybiB0aGlzfXZhciBzPXRoaXMubm9kZSgpLl9fb247aWYocylmb3IodmFyIGwsYz0wLHU9cy5sZW5ndGg7Yzx1OysrYylmb3IoaT0wLGw9c1tjXTtpPGE7KytpKWlmKChyPW9baV0pLnR5cGU9PT1sLnR5cGUmJnIubmFtZT09PWwubmFtZSlyZXR1cm4gbC52YWx1ZX0sZGlzcGF0Y2g6ZnVuY3Rpb24ga290KHQsZSl7cmV0dXJuIHRoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIGU/JHJ0OlhydCkodCxlKSl9fTt2YXIgTG90PXt2YWx1ZTpmdW5jdGlvbigpe319O2Z1bmN0aW9uIFBvdCgpe2Zvcih2YXIgdCxlPTAsbj1hcmd1bWVudHMubGVuZ3RoLGk9e307ZTxuOysrZSl7aWYoISh0PWFyZ3VtZW50c1tlXSsiIil8fHQgaW4gaXx8L1tccy5dLy50ZXN0KHQpKXRocm93IG5ldyBFcnJvcigiaWxsZWdhbCB0eXBlOiAiK3QpO2lbdF09W119cmV0dXJuIG5ldyBOb3QoaSl9ZnVuY3Rpb24gTm90KHQpe3RoaXMuXz10fWZ1bmN0aW9uIElvdCh0LGUpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKS5tYXAoKGZ1bmN0aW9uKHQpe3ZhciBuPSIiLGk9dC5pbmRleE9mKCIuIik7aWYoaT49MCYmKG49dC5zbGljZShpKzEpLHQ9dC5zbGljZSgwLGkpKSx0JiYhZS5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtyZXR1cm57dHlwZTp0LG5hbWU6bn19KSl9ZnVuY3Rpb24gUm90KHQsZSl7Zm9yKHZhciBuLGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYoKG49dFtpXSkubmFtZT09PWUpcmV0dXJuIG4udmFsdWV9ZnVuY3Rpb24gT290KHQsZSxuKXtmb3IodmFyIGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYodFtpXS5uYW1lPT09ZSl7dFtpXT1Mb3QsdD10LnNsaWNlKDAsaSkuY29uY2F0KHQuc2xpY2UoaSsxKSk7YnJlYWt9cmV0dXJuIG51bGwhPW4mJnQucHVzaCh7bmFtZTplLHZhbHVlOm59KSx0fU5vdC5wcm90b3R5cGU9UG90LnByb3RvdHlwZT17Y29uc3RydWN0b3I6Tm90LG9uOmZ1bmN0aW9uKHQsZSl7dmFyIG4saT10aGlzLl8scj1Jb3QodCsiIixpKSxvPS0xLGE9ci5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtpZihudWxsIT1lJiYiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2FsbGJhY2s6ICIrZSk7Zm9yKDsrK288YTspaWYobj0odD1yW29dKS50eXBlKWlbbl09T290KGlbbl0sdC5uYW1lLGUpO2Vsc2UgaWYobnVsbD09ZSlmb3IobiBpbiBpKWlbbl09T290KGlbbl0sdC5uYW1lLG51bGwpO3JldHVybiB0aGlzfWZvcig7KytvPGE7KWlmKChuPSh0PXJbb10pLnR5cGUpJiYobj1Sb3QoaVtuXSx0Lm5hbWUpKSlyZXR1cm4gbn0sY29weTpmdW5jdGlvbigpe3ZhciB0PXt9LGU9dGhpcy5fO2Zvcih2YXIgbiBpbiBlKXRbbl09ZVtuXS5zbGljZSgpO3JldHVybiBuZXcgTm90KHQpfSxjYWxsOmZ1bmN0aW9uKHQsZSl7aWYoKG49YXJndW1lbnRzLmxlbmd0aC0yKT4wKWZvcih2YXIgbixpLHI9bmV3IEFycmF5KG4pLG89MDtvPG47KytvKXJbb109YXJndW1lbnRzW28rMl07aWYoIXRoaXMuXy5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtmb3Iobz0wLG49KGk9dGhpcy5fW3RdKS5sZW5ndGg7bzxuOysrbylpW29dLnZhbHVlLmFwcGx5KGUscil9LGFwcGx5OmZ1bmN0aW9uKHQsZSxuKXtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2Zvcih2YXIgaT10aGlzLl9bdF0scj0wLG89aS5sZW5ndGg7cjxvOysrcilpW3JdLnZhbHVlLmFwcGx5KGUsbil9fTt2YXIgem90LERvdCxCb3Q9MCxIb3Q9MCxGb3Q9MCxWb3Q9MCxVb3Q9MCxqb3Q9MCxHb3Q9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlOkRhdGUsV290PSJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQodCwxNyl9O2Z1bmN0aW9uIHFvdCgpe3JldHVybiBVb3R8fChXb3QoWW90KSxVb3Q9R290Lm5vdygpK2pvdCl9ZnVuY3Rpb24gWW90KCl7VW90PTB9ZnVuY3Rpb24gWG90KCl7dGhpcy5fY2FsbD10aGlzLl90aW1lPXRoaXMuX25leHQ9bnVsbH1mdW5jdGlvbiAkb3QodCxlLG4pe3ZhciBpPW5ldyBYb3Q7cmV0dXJuIGkucmVzdGFydCh0LGUsbiksaX1mdW5jdGlvbiBLb3QoKXtVb3Q9KFZvdD1Hb3Qubm93KCkpK2pvdCxCb3Q9SG90PTA7dHJ5eyEoZnVuY3Rpb24gdCgpe3FvdCgpLCsrQm90O2Zvcih2YXIgdCxlPXpvdDtlOykodD1Vb3QtZS5fdGltZSk+PTAmJmUuX2NhbGwuY2FsbChudWxsLHQpLGU9ZS5fbmV4dDstLUJvdH0pKCl9ZmluYWxseXtCb3Q9MCwoZnVuY3Rpb24gZSgpe3ZhciB0LGUsbj16b3QsaT0xLzA7Zm9yKDtuOyluLl9jYWxsPyhpPm4uX3RpbWUmJihpPW4uX3RpbWUpLHQ9bixuPW4uX25leHQpOihlPW4uX25leHQsbi5fbmV4dD1udWxsLG49dD90Ll9uZXh0PWU6em90PWUpO0RvdD10LEpvdChpKX0pKCksVW90PTB9fWZ1bmN0aW9uIFpvdCgpe3ZhciB0PUdvdC5ub3coKSxlPXQtVm90O2U+MWUzJiYoam90LT1lLFZvdD10KX1mdW5jdGlvbiBKb3QodCl7Qm90fHwoSG90JiYoSG90PWNsZWFyVGltZW91dChIb3QpKSx0LVVvdD4yND8odDwxLzAmJihIb3Q9c2V0VGltZW91dChLb3QsdC1Hb3Qubm93KCktam90KSksRm90JiYoRm90PWNsZWFySW50ZXJ2YWwoRm90KSkpOihGb3R8fChWb3Q9R290Lm5vdygpLEZvdD1zZXRJbnRlcnZhbChab3QsMWUzKSksQm90PTEsV290KEtvdCkpKX1mdW5jdGlvbiBRb3QodCxlLG4pe3ZhciBpPW5ldyBYb3Q7cmV0dXJuIGkucmVzdGFydCgoZnVuY3Rpb24obil7aS5zdG9wKCksdChuK2UpfSksZT1udWxsPT1lPzA6K2UsbiksaX1Yb3QucHJvdG90eXBlPSRvdC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlhvdCxyZXN0YXJ0OmZ1bmN0aW9uKHQsZSxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBpcyBub3QgYSBmdW5jdGlvbiIpO249KG51bGw9PW4/cW90KCk6K24pKyhudWxsPT1lPzA6K2UpLHRoaXMuX25leHR8fERvdD09PXRoaXN8fChEb3Q/RG90Ll9uZXh0PXRoaXM6em90PXRoaXMsRG90PXRoaXMpLHRoaXMuX2NhbGw9dCx0aGlzLl90aW1lPW4sSm90KCl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLl9jYWxsJiYodGhpcy5fY2FsbD1udWxsLHRoaXMuX3RpbWU9MS8wLEpvdCgpKX19O3ZhciB0YXQ9UG90KCJzdGFydCIsImVuZCIsImludGVycnVwdCIpLGVhdD1bXTtmdW5jdGlvbiBuYXQodCxlLG4saSxyLG8pe3ZhciBhPXQuX190cmFuc2l0aW9uO2lmKGEpe2lmKG4gaW4gYSlyZXR1cm59ZWxzZSB0Ll9fdHJhbnNpdGlvbj17fTshKGZ1bmN0aW9uIHModCxlLG4pe3ZhciBpLHI9dC5fX3RyYW5zaXRpb247ZnVuY3Rpb24gbyh0KXtuLnN0YXRlPTEsbi50aW1lci5yZXN0YXJ0KGEsbi5kZWxheSxuLnRpbWUpLG4uZGVsYXk8PXQmJmEodC1uLmRlbGF5KX1mdW5jdGlvbiBhKG8pe3ZhciBjLHUsaCxkO2lmKDEhPT1uLnN0YXRlKXJldHVybiBsKCk7Zm9yKGMgaW4gcilpZigoZD1yW2NdKS5uYW1lPT09bi5uYW1lKXtpZigzPT09ZC5zdGF0ZSlyZXR1cm4gUW90KGEpOzQ9PT1kLnN0YXRlPyhkLnN0YXRlPTYsZC50aW1lci5zdG9wKCksZC5vbi5jYWxsKCJpbnRlcnJ1cHQiLHQsdC5fX2RhdGFfXyxkLmluZGV4LGQuZ3JvdXApLGRlbGV0ZSByW2NdKTorYzxlJiYoZC5zdGF0ZT02LGQudGltZXIuc3RvcCgpLGRlbGV0ZSByW2NdKX1pZihRb3QoKGZ1bmN0aW9uKCl7Mz09PW4uc3RhdGUmJihuLnN0YXRlPTQsbi50aW1lci5yZXN0YXJ0KHMsbi5kZWxheSxuLnRpbWUpLHMobykpfSkpLG4uc3RhdGU9MixuLm9uLmNhbGwoInN0YXJ0Iix0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSwyPT09bi5zdGF0ZSl7Zm9yKG4uc3RhdGU9MyxpPW5ldyBBcnJheShoPW4udHdlZW4ubGVuZ3RoKSxjPTAsdT0tMTtjPGg7KytjKShkPW4udHdlZW5bY10udmFsdWUuY2FsbCh0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSkmJihpWysrdV09ZCk7aS5sZW5ndGg9dSsxfX1mdW5jdGlvbiBzKGUpe2Zvcih2YXIgcj1lPG4uZHVyYXRpb24/bi5lYXNlLmNhbGwobnVsbCxlL24uZHVyYXRpb24pOihuLnRpbWVyLnJlc3RhcnQobCksbi5zdGF0ZT01LDEpLG89LTEsYT1pLmxlbmd0aDsrK288YTspaVtvXS5jYWxsKG51bGwscik7NT09PW4uc3RhdGUmJihuLm9uLmNhbGwoImVuZCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksbCgpKX1mdW5jdGlvbiBsKCl7Zm9yKHZhciBpIGluIG4uc3RhdGU9NixuLnRpbWVyLnN0b3AoKSxkZWxldGUgcltlXSxyKXJldHVybjtkZWxldGUgdC5fX3RyYW5zaXRpb259cltlXT1uLG4udGltZXI9JG90KG8sMCxuLnRpbWUpfSkodCxuLHtuYW1lOmUsaW5kZXg6aSxncm91cDpyLG9uOnRhdCx0d2VlbjplYXQsdGltZTpvLnRpbWUsZGVsYXk6by5kZWxheSxkdXJhdGlvbjpvLmR1cmF0aW9uLGVhc2U6by5lYXNlLHRpbWVyOm51bGwsc3RhdGU6MH0pfWZ1bmN0aW9uIGlhdCh0LGUpe3ZhciBuPW9hdCh0LGUpO2lmKG4uc3RhdGU+MCl0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHNjaGVkdWxlZCIpO3JldHVybiBufWZ1bmN0aW9uIHJhdCh0LGUpe3ZhciBuPW9hdCh0LGUpO2lmKG4uc3RhdGU+Mil0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHN0YXJ0ZWQiKTtyZXR1cm4gbn1mdW5jdGlvbiBvYXQodCxlKXt2YXIgbj10Ll9fdHJhbnNpdGlvbjtpZighbnx8IShuPW5bZV0pKXRocm93IG5ldyBFcnJvcigidHJhbnNpdGlvbiBub3QgZm91bmQiKTtyZXR1cm4gbn1mdW5jdGlvbiBhYXQodCxlKXt2YXIgbixpLHIsbz10Ll9fdHJhbnNpdGlvbixhPSEwO2lmKG8pe2ZvcihyIGluIGU9bnVsbD09ZT9udWxsOmUrIiIsbykobj1vW3JdKS5uYW1lPT09ZT8oaT1uLnN0YXRlPjImJm4uc3RhdGU8NSxuLnN0YXRlPTYsbi50aW1lci5zdG9wKCksaSYmbi5vbi5jYWxsKCJpbnRlcnJ1cHQiLHQsdC5fX2RhdGFfXyxuLmluZGV4LG4uZ3JvdXApLGRlbGV0ZSBvW3JdKTphPSExO2EmJmRlbGV0ZSB0Ll9fdHJhbnNpdGlvbn19ZnVuY3Rpb24gc2F0KHQsZSxuKXt0LnByb3RvdHlwZT1lLnByb3RvdHlwZT1uLG4uY29uc3RydWN0b3I9dH1mdW5jdGlvbiBsYXQodCxlKXt2YXIgbj1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIGkgaW4gZSluW2ldPWVbaV07cmV0dXJuIG59ZnVuY3Rpb24gY2F0KCl7fXZhciB1YXQ9LjcsaGF0PTEvdWF0LGRhdD0iXFxzKihbKy1dP1xcZCspXFxzKiIscGF0PSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KVxccyoiLGZhdD0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPyklXFxzKiIsbWF0PS9eIyhbMC05YS1mXXszLDh9KSQvLGdhdD1uZXcgUmVnRXhwKCJecmdiXFwoIitbZGF0LGRhdCxkYXRdKyJcXCkkIiksX2F0PW5ldyBSZWdFeHAoIl5yZ2JcXCgiK1tmYXQsZmF0LGZhdF0rIlxcKSQiKSx5YXQ9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tkYXQsZGF0LGRhdCxwYXRdKyJcXCkkIiksdmF0PW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbZmF0LGZhdCxmYXQscGF0XSsiXFwpJCIpLGJhdD1uZXcgUmVnRXhwKCJeaHNsXFwoIitbcGF0LGZhdCxmYXRdKyJcXCkkIikseGF0PW5ldyBSZWdFeHAoIl5oc2xhXFwoIitbcGF0LGZhdCxmYXQscGF0XSsiXFwpJCIpLHdhdD17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiBTYXQoKXtyZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRIZXgoKX1mdW5jdGlvbiBNYXQoKXtyZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRSZ2IoKX1mdW5jdGlvbiBFYXQodCl7dmFyIGUsbjtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKGU9bWF0LmV4ZWModCkpPyhuPWVbMV0ubGVuZ3RoLGU9cGFyc2VJbnQoZVsxXSwxNiksNj09PW4/VGF0KGUpOjM9PT1uP25ldyBMYXQoZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgxNSZlKTw8NHwxNSZlLDEpOjg9PT1uP0NhdChlPj4yNCYyNTUsZT4+MTYmMjU1LGU+PjgmMjU1LCgyNTUmZSkvMjU1KTo0PT09bj9DYXQoZT4+MTImMTV8ZT4+OCYyNDAsZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgoMTUmZSk8PDR8MTUmZSkvMjU1KTpudWxsKTooZT1nYXQuZXhlYyh0KSk/bmV3IExhdChlWzFdLGVbMl0sZVszXSwxKTooZT1fYXQuZXhlYyh0KSk/bmV3IExhdCgyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCwxKTooZT15YXQuZXhlYyh0KSk/Q2F0KGVbMV0sZVsyXSxlWzNdLGVbNF0pOihlPXZhdC5leGVjKHQpKT9DYXQoMjU1KmVbMV0vMTAwLDI1NSplWzJdLzEwMCwyNTUqZVszXS8xMDAsZVs0XSk6KGU9YmF0LmV4ZWModCkpP1JhdChlWzFdLGVbMl0vMTAwLGVbM10vMTAwLDEpOihlPXhhdC5leGVjKHQpKT9SYXQoZVsxXSxlWzJdLzEwMCxlWzNdLzEwMCxlWzRdKTp3YXQuaGFzT3duUHJvcGVydHkodCk/VGF0KHdhdFt0XSk6InRyYW5zcGFyZW50Ij09PXQ/bmV3IExhdChOYU4sTmFOLE5hTiwwKTpudWxsfWZ1bmN0aW9uIFRhdCh0KXtyZXR1cm4gbmV3IExhdCh0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnQsMSl9ZnVuY3Rpb24gQ2F0KHQsZSxuLGkpe3JldHVybiBpPD0wJiYodD1lPW49TmFOKSxuZXcgTGF0KHQsZSxuLGkpfWZ1bmN0aW9uIEFhdCh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGNhdHx8KHQ9RWF0KHQpKSx0P25ldyBMYXQoKHQ9dC5yZ2IoKSkucix0LmcsdC5iLHQub3BhY2l0eSk6bmV3IExhdH1mdW5jdGlvbiBrYXQodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP0FhdCh0KTpuZXcgTGF0KHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBMYXQodCxlLG4saSl7dGhpcy5yPSt0LHRoaXMuZz0rZSx0aGlzLmI9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIFBhdCgpe3JldHVybiIjIitJYXQodGhpcy5yKStJYXQodGhpcy5nKStJYXQodGhpcy5iKX1mdW5jdGlvbiBOYXQoKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJyZ2IoIjoicmdiYSgiKStNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMucil8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5nKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmIpfHwwKSkrKDE9PT10PyIpIjoiLCAiK3QrIikiKX1mdW5jdGlvbiBJYXQodCl7cmV0dXJuKCh0PU1hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodCl8fDApKSk8MTY/IjAiOiIiKSt0LnRvU3RyaW5nKDE2KX1mdW5jdGlvbiBSYXQodCxlLG4saSl7cmV0dXJuIGk8PTA/dD1lPW49TmFOOm48PTB8fG4+PTE/dD1lPU5hTjplPD0wJiYodD1OYU4pLG5ldyB6YXQodCxlLG4saSl9ZnVuY3Rpb24gT2F0KHQpe2lmKHQgaW5zdGFuY2VvZiB6YXQpcmV0dXJuIG5ldyB6YXQodC5oLHQucyx0LmwsdC5vcGFjaXR5KTtpZih0IGluc3RhbmNlb2YgY2F0fHwodD1FYXQodCkpLCF0KXJldHVybiBuZXcgemF0O2lmKHQgaW5zdGFuY2VvZiB6YXQpcmV0dXJuIHQ7dmFyIGU9KHQ9dC5yZ2IoKSkuci8yNTUsbj10LmcvMjU1LGk9dC5iLzI1NSxyPU1hdGgubWluKGUsbixpKSxvPU1hdGgubWF4KGUsbixpKSxhPU5hTixzPW8tcixsPShvK3IpLzI7cmV0dXJuIHM/KGE9ZT09PW8/KG4taSkvcys2KihuPGkpOm49PT1vPyhpLWUpL3MrMjooZS1uKS9zKzQscy89bDwuNT9vK3I6Mi1vLXIsYSo9NjApOnM9bD4wJiZsPDE/MDphLG5ldyB6YXQoYSxzLGwsdC5vcGFjaXR5KX1mdW5jdGlvbiB6YXQodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIERhdCh0LGUsbil7cmV0dXJuIDI1NSoodDw2MD9lKyhuLWUpKnQvNjA6dDwxODA/bjp0PDI0MD9lKyhuLWUpKigyNDAtdCkvNjA6ZSl9ZnVuY3Rpb24gQmF0KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBIYXQodCl7cmV0dXJuIDE9PSh0PSt0KT9GYXQ6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbi1lPyhmdW5jdGlvbiBpKHQsZSxuKXtyZXR1cm4gdD1NYXRoLnBvdyh0LG4pLGU9TWF0aC5wb3coZSxuKS10LG49MS9uLGZ1bmN0aW9uKGkpe3JldHVybiBNYXRoLnBvdyh0K2kqZSxuKX19KShlLG4sdCk6QmF0KGlzTmFOKGUpP246ZSl9fWZ1bmN0aW9uIEZhdCh0LGUpe3ZhciBuPWUtdDtyZXR1cm4gbj8oZnVuY3Rpb24gaSh0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdCtuKmV9fSkodCxuKTpCYXQoaXNOYU4odCk/ZTp0KX1zYXQoY2F0LEVhdCx7Y29weTpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgdGhpcy5jb25zdHJ1Y3Rvcix0aGlzLHQpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJnYigpLmRpc3BsYXlhYmxlKCl9LGhleDpTYXQsZm9ybWF0SGV4OlNhdCxmb3JtYXRIc2w6ZnVuY3Rpb24gVmF0KCl7cmV0dXJuIE9hdCh0aGlzKS5mb3JtYXRIc2woKX0sZm9ybWF0UmdiOk1hdCx0b1N0cmluZzpNYXR9KSxzYXQoTGF0LGthdCxsYXQoY2F0LHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P2hhdDpNYXRoLnBvdyhoYXQsdCksbmV3IExhdCh0aGlzLnIqdCx0aGlzLmcqdCx0aGlzLmIqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD91YXQ6TWF0aC5wb3codWF0LHQpLG5ldyBMYXQodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuLS41PD10aGlzLnImJnRoaXMucjwyNTUuNSYmLS41PD10aGlzLmcmJnRoaXMuZzwyNTUuNSYmLS41PD10aGlzLmImJnRoaXMuYjwyNTUuNSYmMDw9dGhpcy5vcGFjaXR5JiZ0aGlzLm9wYWNpdHk8PTF9LGhleDpQYXQsZm9ybWF0SGV4OlBhdCxmb3JtYXRSZ2I6TmF0LHRvU3RyaW5nOk5hdH0pKSxzYXQoemF0LChmdW5jdGlvbiBVYXQodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP09hdCh0KTpuZXcgemF0KHQsZSxuLG51bGw9PWk/MTppKX0pLGxhdChjYXQse2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/aGF0Ok1hdGgucG93KGhhdCx0KSxuZXcgemF0KHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/dWF0Ok1hdGgucG93KHVhdCx0KSxuZXcgemF0KHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5oJTM2MCszNjAqKHRoaXMuaDwwKSxlPWlzTmFOKHQpfHxpc05hTih0aGlzLnMpPzA6dGhpcy5zLG49dGhpcy5sLGk9bisobjwuNT9uOjEtbikqZSxyPTIqbi1pO3JldHVybiBuZXcgTGF0KERhdCh0Pj0yNDA/dC0yNDA6dCsxMjAscixpKSxEYXQodCxyLGkpLERhdCh0PDEyMD90KzI0MDp0LTEyMCxyLGkpLHRoaXMub3BhY2l0eSl9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuKDA8PXRoaXMucyYmdGhpcy5zPD0xfHxpc05hTih0aGlzLnMpKSYmMDw9dGhpcy5sJiZ0aGlzLmw8PTEmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxmb3JtYXRIc2w6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJoc2woIjoiaHNsYSgiKSsodGhpcy5ofHwwKSsiLCAiKzEwMCoodGhpcy5zfHwwKSsiJSwgIisxMDAqKHRoaXMubHx8MCkrIiUiKygxPT09dD8iKSI6IiwgIit0KyIpIil9fSkpO3ZhciBqYXQ9KGZ1bmN0aW9uIHQoZSl7dmFyIG49SGF0KGUpO2Z1bmN0aW9uIGkodCxlKXt2YXIgaT1uKCh0PWthdCh0KSkuciwoZT1rYXQoZSkpLnIpLHI9bih0LmcsZS5nKSxvPW4odC5iLGUuYiksYT1GYXQodC5vcGFjaXR5LGUub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LnI9aShlKSx0Lmc9cihlKSx0LmI9byhlKSx0Lm9wYWNpdHk9YShlKSx0KyIifX1yZXR1cm4gaS5nYW1tYT10LGl9KSgxKTtmdW5jdGlvbiBHYXQodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiB0KigxLW4pK2Uqbn19dmFyIFdhdD0vWy0rXT8oPzpcZCtcLj9cZCp8XC4/XGQrKSg/OltlRV1bLStdP1xkKyk/L2cscWF0PW5ldyBSZWdFeHAoV2F0LnNvdXJjZSwiZyIpO2Z1bmN0aW9uIFlhdCh0LGUpe3ZhciBuLGkscixvPVdhdC5sYXN0SW5kZXg9cWF0Lmxhc3RJbmRleD0wLGE9LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsobj1XYXQuZXhlYyh0KSkmJihpPXFhdC5leGVjKGUpKTspKHI9aS5pbmRleCk+byYmKHI9ZS5zbGljZShvLHIpLHNbYV0/c1thXSs9cjpzWysrYV09ciksKG49blswXSk9PT0oaT1pWzBdKT9zW2FdP3NbYV0rPWk6c1srK2FdPWk6KHNbKythXT1udWxsLGwucHVzaCh7aTphLHg6R2F0KG4saSl9KSksbz1xYXQubGFzdEluZGV4O3JldHVybiBvPGUubGVuZ3RoJiYocj1lLnNsaWNlKG8pLHNbYV0/c1thXSs9cjpzWysrYV09cikscy5sZW5ndGg8Mj9sWzBdPyhmdW5jdGlvbiBjKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdChlKSsiIn19KShsWzBdLngpOihmdW5jdGlvbiB1KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX0pKGUpOihlPWwubGVuZ3RoLGZ1bmN0aW9uKHQpe2Zvcih2YXIgbixpPTA7aTxlOysraSlzWyhuPWxbaV0pLmldPW4ueCh0KTtyZXR1cm4gcy5qb2luKCIiKX0pfXZhciBYYXQsJGF0LEthdCxaYXQsSmF0PTE4MC9NYXRoLlBJLFFhdD17dHJhbnNsYXRlWDowLHRyYW5zbGF0ZVk6MCxyb3RhdGU6MCxza2V3WDowLHNjYWxlWDoxLHNjYWxlWToxfTtmdW5jdGlvbiB0c3QodCxlLG4saSxyLG8pe3ZhciBhLHMsbDtyZXR1cm4oYT1NYXRoLnNxcnQodCp0K2UqZSkpJiYodC89YSxlLz1hKSwobD10Km4rZSppKSYmKG4tPXQqbCxpLT1lKmwpLChzPU1hdGguc3FydChuKm4raSppKSkmJihuLz1zLGkvPXMsbC89cyksdCppPGUqbiYmKHQ9LXQsZT0tZSxsPS1sLGE9LWEpLHt0cmFuc2xhdGVYOnIsdHJhbnNsYXRlWTpvLHJvdGF0ZTpNYXRoLmF0YW4yKGUsdCkqSmF0LHNrZXdYOk1hdGguYXRhbihsKSpKYXQsc2NhbGVYOmEsc2NhbGVZOnN9fWZ1bmN0aW9uIGVzdCh0LGUsbixpKXtmdW5jdGlvbiByKHQpe3JldHVybiB0Lmxlbmd0aD90LnBvcCgpKyIgIjoiIn1yZXR1cm4gZnVuY3Rpb24obyxhKXt2YXIgcz1bXSxsPVtdO3JldHVybiBvPXQobyksYT10KGEpLChmdW5jdGlvbiBjKHQsaSxyLG8sYSxzKXtpZih0IT09cnx8aSE9PW8pe3ZhciBsPWEucHVzaCgidHJhbnNsYXRlKCIsbnVsbCxlLG51bGwsbik7cy5wdXNoKHtpOmwtNCx4OkdhdCh0LHIpfSx7aTpsLTIseDpHYXQoaSxvKX0pfWVsc2Uocnx8bykmJmEucHVzaCgidHJhbnNsYXRlKCIrcitlK28rbil9KShvLnRyYW5zbGF0ZVgsby50cmFuc2xhdGVZLGEudHJhbnNsYXRlWCxhLnRyYW5zbGF0ZVkscyxsKSwoZnVuY3Rpb24gdSh0LGUsbixvKXt0IT09ZT8odC1lPjE4MD9lKz0zNjA6ZS10PjE4MCYmKHQrPTM2MCksby5wdXNoKHtpOm4ucHVzaChyKG4pKyJyb3RhdGUoIixudWxsLGkpLTIseDpHYXQodCxlKX0pKTplJiZuLnB1c2gocihuKSsicm90YXRlKCIrZStpKX0pKG8ucm90YXRlLGEucm90YXRlLHMsbCksKGZ1bmN0aW9uIGgodCxlLG4sbyl7dCE9PWU/by5wdXNoKHtpOm4ucHVzaChyKG4pKyJza2V3WCgiLG51bGwsaSktMix4OkdhdCh0LGUpfSk6ZSYmbi5wdXNoKHIobikrInNrZXdYKCIrZStpKX0pKG8uc2tld1gsYS5za2V3WCxzLGwpLChmdW5jdGlvbiBkKHQsZSxuLGksbyxhKXtpZih0IT09bnx8ZSE9PWkpe3ZhciBzPW8ucHVzaChyKG8pKyJzY2FsZSgiLG51bGwsIiwiLG51bGwsIikiKTthLnB1c2goe2k6cy00LHg6R2F0KHQsbil9LHtpOnMtMix4OkdhdChlLGkpfSl9ZWxzZSAxPT09biYmMT09PWl8fG8ucHVzaChyKG8pKyJzY2FsZSgiK24rIiwiK2krIikiKX0pKG8uc2NhbGVYLG8uc2NhbGVZLGEuc2NhbGVYLGEuc2NhbGVZLHMsbCksbz1hPW51bGwsZnVuY3Rpb24odCl7Zm9yKHZhciBlLG49LTEsaT1sLmxlbmd0aDsrK248aTspc1soZT1sW25dKS5pXT1lLngodCk7cmV0dXJuIHMuam9pbigiIil9fX12YXIgbnN0PWVzdCgoZnVuY3Rpb24gaXN0KHQpe3JldHVybiJub25lIj09PXQ/UWF0OihYYXR8fChYYXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiRElWIiksJGF0PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxLYXQ9ZG9jdW1lbnQuZGVmYXVsdFZpZXcpLFhhdC5zdHlsZS50cmFuc2Zvcm09dCx0PUthdC5nZXRDb21wdXRlZFN0eWxlKCRhdC5hcHBlbmRDaGlsZChYYXQpLG51bGwpLmdldFByb3BlcnR5VmFsdWUoInRyYW5zZm9ybSIpLCRhdC5yZW1vdmVDaGlsZChYYXQpLHRzdCgrKHQ9dC5zbGljZSg3LC0xKS5zcGxpdCgiLCIpKVswXSwrdFsxXSwrdFsyXSwrdFszXSwrdFs0XSwrdFs1XSkpfSksInB4LCAiLCJweCkiLCJkZWcpIikscnN0PWVzdCgoZnVuY3Rpb24gb3N0KHQpe3JldHVybiBudWxsPT10P1FhdDooWmF0fHwoWmF0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJnIikpLFphdC5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsdCksKHQ9WmF0LnRyYW5zZm9ybS5iYXNlVmFsLmNvbnNvbGlkYXRlKCkpP3RzdCgodD10Lm1hdHJpeCkuYSx0LmIsdC5jLHQuZCx0LmUsdC5mKTpRYXQpfSksIiwgIiwiKSIsIikiKTtmdW5jdGlvbiBhc3QodCxlKXt2YXIgbixpO3JldHVybiBmdW5jdGlvbigpe3ZhciByPXJhdCh0aGlzLHQpLG89ci50d2VlbjtpZihvIT09bilmb3IodmFyIGE9MCxzPShpPW49bykubGVuZ3RoO2E8czsrK2EpaWYoaVthXS5uYW1lPT09ZSl7KGk9aS5zbGljZSgpKS5zcGxpY2UoYSwxKTticmVha31yLnR3ZWVuPWl9fWZ1bmN0aW9uIHNzdCh0LGUsbil7dmFyIGkscjtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG89cmF0KHRoaXMsdCksYT1vLnR3ZWVuO2lmKGEhPT1pKXtyPShpPWEpLnNsaWNlKCk7Zm9yKHZhciBzPXtuYW1lOmUsdmFsdWU6bn0sbD0wLGM9ci5sZW5ndGg7bDxjOysrbClpZihyW2xdLm5hbWU9PT1lKXtyW2xdPXM7YnJlYWt9bD09PWMmJnIucHVzaChzKX1vLnR3ZWVuPXJ9fWZ1bmN0aW9uIGxzdCh0LGUsbil7dmFyIGk9dC5faWQ7cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24oKXt2YXIgdD1yYXQodGhpcyxpKTsodC52YWx1ZXx8KHQudmFsdWU9e30pKVtlXT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pKSxmdW5jdGlvbih0KXtyZXR1cm4gb2F0KHQsaSkudmFsdWVbZV19fWZ1bmN0aW9uIGNzdCh0LGUpe3ZhciBuO3JldHVybigibnVtYmVyIj09dHlwZW9mIGU/R2F0OmUgaW5zdGFuY2VvZiBFYXQ/amF0OihuPUVhdChlKSk/KGU9bixqYXQpOllhdCkodCxlKX1mdW5jdGlvbiB1c3QodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIGhzdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIGRzdCh0LGUsbil7dmFyIGkscjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz10aGlzLmdldEF0dHJpYnV0ZSh0KTtyZXR1cm4gbz09PW4/bnVsbDpvPT09aT9yOnI9ZShpPW8sbil9fWZ1bmN0aW9uIHBzdCh0LGUsbil7dmFyIGkscjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz10aGlzLmdldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCk7cmV0dXJuIG89PT1uP251bGw6bz09PWk/cjpyPWUoaT1vLG4pfX1mdW5jdGlvbiBmc3QodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYSxzPW4odGhpcyk7aWYobnVsbCE9cylyZXR1cm4oYT10aGlzLmdldEF0dHJpYnV0ZSh0KSk9PT1zP251bGw6YT09PWkmJnM9PT1yP286bz1lKGk9YSxyPXMpO3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpfX1mdW5jdGlvbiBtc3QodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYSxzPW4odGhpcyk7aWYobnVsbCE9cylyZXR1cm4oYT10aGlzLmdldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCkpPT09cz9udWxsOmE9PT1pJiZzPT09cj9vOm89ZShpPWEscj1zKTt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIGdzdCh0LGUpe2Z1bmN0aW9uIG4oKXt2YXIgbj10aGlzLGk9ZS5hcHBseShuLGFyZ3VtZW50cyk7cmV0dXJuIGkmJmZ1bmN0aW9uKGUpe24uc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGkoZSkpfX1yZXR1cm4gbi5fdmFsdWU9ZSxufWZ1bmN0aW9uIF9zdCh0LGUpe2Z1bmN0aW9uIG4oKXt2YXIgbj10aGlzLGk9ZS5hcHBseShuLGFyZ3VtZW50cyk7cmV0dXJuIGkmJmZ1bmN0aW9uKGUpe24uc2V0QXR0cmlidXRlKHQsaShlKSl9fXJldHVybiBuLl92YWx1ZT1lLG59ZnVuY3Rpb24geXN0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7aWF0KHRoaXMsdCkuZGVsYXk9K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiB2c3QodCxlKXtyZXR1cm4gZT0rZSxmdW5jdGlvbigpe2lhdCh0aGlzLHQpLmRlbGF5PWV9fWZ1bmN0aW9uIGJzdCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JhdCh0aGlzLHQpLmR1cmF0aW9uPStlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19ZnVuY3Rpb24geHN0KHQsZSl7cmV0dXJuIGU9K2UsZnVuY3Rpb24oKXtyYXQodGhpcyx0KS5kdXJhdGlvbj1lfX1mdW5jdGlvbiB3c3QodCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIGZ1bmN0aW9uKCl7cmF0KHRoaXMsdCkuZWFzZT1lfX1mdW5jdGlvbiBTc3QodCxlLG4pe3ZhciBpLHIsbz0oZnVuY3Rpb24gYSh0KXtyZXR1cm4odCsiIikudHJpbSgpLnNwbGl0KC9efFxzKy8pLmV2ZXJ5KChmdW5jdGlvbih0KXt2YXIgZT10LmluZGV4T2YoIi4iKTtyZXR1cm4gZT49MCYmKHQ9dC5zbGljZSgwLGUpKSwhdHx8InN0YXJ0Ij09PXR9KSl9KShlKT9pYXQ6cmF0O3JldHVybiBmdW5jdGlvbigpe3ZhciBhPW8odGhpcyx0KSxzPWEub247cyE9PWkmJihyPShpPXMpLmNvcHkoKSkub24oZSxuKSxhLm9uPXJ9fXZhciBNc3Q9SnJ0LnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtmdW5jdGlvbiBFc3QodCxlLG4pe2Z1bmN0aW9uIGkoKXt2YXIgaT10aGlzLHI9ZS5hcHBseShpLGFyZ3VtZW50cyk7cmV0dXJuIHImJmZ1bmN0aW9uKGUpe2kuc3R5bGUuc2V0UHJvcGVydHkodCxyKGUpLG4pfX1yZXR1cm4gaS5fdmFsdWU9ZSxpfXZhciBUc3Q9MDtmdW5jdGlvbiBDc3QodCxlLG4saSl7dGhpcy5fZ3JvdXBzPXQsdGhpcy5fcGFyZW50cz1lLHRoaXMuX25hbWU9bix0aGlzLl9pZD1pfWZ1bmN0aW9uIEFzdCh0KXtyZXR1cm4gSnJ0KCkudHJhbnNpdGlvbih0KX1mdW5jdGlvbiBrc3QoKXtyZXR1cm4rK1RzdH12YXIgTHN0PUpydC5wcm90b3R5cGU7Q3N0LnByb3RvdHlwZT1Bc3QucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpDc3Qsc2VsZWN0OmZ1bmN0aW9uIFBzdCh0KXt2YXIgZT10aGlzLl9uYW1lLG49dGhpcy5faWQ7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PUppdCh0KSk7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89bmV3IEFycmF5KHIpLGE9MDthPHI7KythKWZvcih2YXIgcyxsLGM9aVthXSx1PWMubGVuZ3RoLGg9b1thXT1uZXcgQXJyYXkodSksZD0wO2Q8dTsrK2QpKHM9Y1tkXSkmJihsPXQuY2FsbChzLHMuX19kYXRhX18sZCxjKSkmJigiX19kYXRhX18iaW4gcyYmKGwuX19kYXRhX189cy5fX2RhdGFfXyksaFtkXT1sLG5hdChoW2RdLGUsbixkLGgsb2F0KHMsbikpKTtyZXR1cm4gbmV3IENzdChvLHRoaXMuX3BhcmVudHMsZSxuKX0sc2VsZWN0QWxsOmZ1bmN0aW9uIE5zdCh0KXt2YXIgZT10aGlzLl9uYW1lLG49dGhpcy5faWQ7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PXRydCh0KSk7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89W10sYT1bXSxzPTA7czxyOysrcylmb3IodmFyIGwsYz1pW3NdLHU9Yy5sZW5ndGgsaD0wO2g8dTsrK2gpaWYobD1jW2hdKXtmb3IodmFyIGQscD10LmNhbGwobCxsLl9fZGF0YV9fLGgsYyksZj1vYXQobCxuKSxtPTAsZz1wLmxlbmd0aDttPGc7KyttKShkPXBbbV0pJiZuYXQoZCxlLG4sbSxwLGYpO28ucHVzaChwKSxhLnB1c2gobCl9cmV0dXJuIG5ldyBDc3QobyxhLGUsbil9LGZpbHRlcjpmdW5jdGlvbiBJc3QodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PWVydCh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhPWVbcl0scz1hLmxlbmd0aCxsPWlbcl09W10sYz0wO2M8czsrK2MpKG89YVtjXSkmJnQuY2FsbChvLG8uX19kYXRhX18sYyxhKSYmbC5wdXNoKG8pO3JldHVybiBuZXcgQ3N0KGksdGhpcy5fcGFyZW50cyx0aGlzLl9uYW1lLHRoaXMuX2lkKX0sbWVyZ2U6ZnVuY3Rpb24gUnN0KHQpe2lmKHQuX2lkIT09dGhpcy5faWQpdGhyb3cgbmV3IEVycm9yO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsaT1lLmxlbmd0aCxyPU1hdGgubWluKGksbi5sZW5ndGgpLG89bmV3IEFycmF5KGkpLGE9MDthPHI7KythKWZvcih2YXIgcyxsPWVbYV0sYz1uW2FdLHU9bC5sZW5ndGgsaD1vW2FdPW5ldyBBcnJheSh1KSxkPTA7ZDx1OysrZCkocz1sW2RdfHxjW2RdKSYmKGhbZF09cyk7Zm9yKDthPGk7KythKW9bYV09ZVthXTtyZXR1cm4gbmV3IENzdChvLHRoaXMuX3BhcmVudHMsdGhpcy5fbmFtZSx0aGlzLl9pZCl9LHNlbGVjdGlvbjpmdW5jdGlvbiBPc3QoKXtyZXR1cm4gbmV3IE1zdCh0aGlzLl9ncm91cHMsdGhpcy5fcGFyZW50cyl9LHRyYW5zaXRpb246ZnVuY3Rpb24genN0KCl7Zm9yKHZhciB0PXRoaXMuX25hbWUsZT10aGlzLl9pZCxuPWtzdCgpLGk9dGhpcy5fZ3JvdXBzLHI9aS5sZW5ndGgsbz0wO288cjsrK28pZm9yKHZhciBhLHM9aVtvXSxsPXMubGVuZ3RoLGM9MDtjPGw7KytjKWlmKGE9c1tjXSl7dmFyIHU9b2F0KGEsZSk7bmF0KGEsdCxuLGMscyx7dGltZTp1LnRpbWUrdS5kZWxheSt1LmR1cmF0aW9uLGRlbGF5OjAsZHVyYXRpb246dS5kdXJhdGlvbixlYXNlOnUuZWFzZX0pfXJldHVybiBuZXcgQ3N0KGksdGhpcy5fcGFyZW50cyx0LG4pfSxjYWxsOkxzdC5jYWxsLG5vZGVzOkxzdC5ub2Rlcyxub2RlOkxzdC5ub2RlLHNpemU6THN0LnNpemUsZW1wdHk6THN0LmVtcHR5LGVhY2g6THN0LmVhY2gsb246ZnVuY3Rpb24gRHN0KHQsZSl7dmFyIG49dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8Mj9vYXQodGhpcy5ub2RlKCksbikub24ub24odCk6dGhpcy5lYWNoKFNzdChuLHQsZSkpfSxhdHRyOmZ1bmN0aW9uIEJzdCh0LGUpe3ZhciBuPVlpdCh0KSxpPSJ0cmFuc2Zvcm0iPT09bj9yc3Q6Y3N0O3JldHVybiB0aGlzLmF0dHJUd2Vlbih0LCJmdW5jdGlvbiI9PXR5cGVvZiBlPyhuLmxvY2FsP21zdDpmc3QpKG4saSxsc3QodGhpcywiYXR0ci4iK3QsZSkpOm51bGw9PWU/KG4ubG9jYWw/aHN0OnVzdCkobik6KG4ubG9jYWw/cHN0OmRzdCkobixpLGUrIiIpKX0sYXR0clR3ZWVuOmZ1bmN0aW9uIEhzdCh0LGUpe3ZhciBuPSJhdHRyLiIrdDtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKG49dGhpcy50d2VlbihuKSkmJm4uX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4obixudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7dmFyIGk9WWl0KHQpO3JldHVybiB0aGlzLnR3ZWVuKG4sKGkubG9jYWw/Z3N0Ol9zdCkoaSxlKSl9LHN0eWxlOmZ1bmN0aW9uIEZzdCh0LGUsbil7dmFyIGk9InRyYW5zZm9ybSI9PSh0Kz0iIik/bnN0OmNzdDtyZXR1cm4gbnVsbD09ZT90aGlzLnN0eWxlVHdlZW4odCwoZnVuY3Rpb24gbyh0LGUpe3ZhciBuLGkscjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz1fcnQodGhpcyx0KSxhPSh0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLF9ydCh0aGlzLHQpKTtyZXR1cm4gbz09PWE/bnVsbDpvPT09biYmYT09PWk/cjpyPWUobj1vLGk9YSl9fSkodCxpKSkub24oImVuZC5zdHlsZS4iK3QsKGZ1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KX19KSh0KSk6dGhpcy5zdHlsZVR3ZWVuKHQsImZ1bmN0aW9uIj09dHlwZW9mIGU/KGZ1bmN0aW9uIGEodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYT1fcnQodGhpcyx0KSxzPW4odGhpcyk7cmV0dXJuIG51bGw9PXMmJih0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLHM9X3J0KHRoaXMsdCkpLGE9PT1zP251bGw6YT09PWkmJnM9PT1yP286bz1lKGk9YSxyPXMpfX0pKHQsaSxsc3QodGhpcywic3R5bGUuIit0LGUpKTooZnVuY3Rpb24gcyh0LGUsbil7dmFyIGkscjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz1fcnQodGhpcyx0KTtyZXR1cm4gbz09PW4/bnVsbDpvPT09aT9yOnI9ZShpPW8sbil9fSkodCxpLGUrIiIpLG4pfSxzdHlsZVR3ZWVuOmZ1bmN0aW9uIFZzdCh0LGUsbil7dmFyIGk9InN0eWxlLiIrKHQrPSIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKGk9dGhpcy50d2VlbihpKSkmJmkuX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4oaSxudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHRoaXMudHdlZW4oaSxFc3QodCxlLG51bGw9PW4/IiI6bikpfSx0ZXh0OmZ1bmN0aW9uIFVzdCh0KXtyZXR1cm4gdGhpcy50d2VlbigidGV4dCIsImZ1bmN0aW9uIj09dHlwZW9mIHQ/KGZ1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKTt0aGlzLnRleHRDb250ZW50PW51bGw9PWU/IiI6ZX19KShsc3QodGhpcywidGV4dCIsdCkpOihmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMudGV4dENvbnRlbnQ9dH19KShudWxsPT10PyIiOnQrIiIpKX0scmVtb3ZlOmZ1bmN0aW9uIGpzdCgpe3JldHVybiB0aGlzLm9uKCJlbmQucmVtb3ZlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD10aGlzLnBhcmVudE5vZGU7Zm9yKHZhciBuIGluIHRoaXMuX190cmFuc2l0aW9uKWlmKCtuIT09ZSlyZXR1cm47dCYmdC5yZW1vdmVDaGlsZCh0aGlzKX19KSh0aGlzLl9pZCkpfSx0d2VlbjpmdW5jdGlvbiBHc3QodCxlKXt2YXIgbj10aGlzLl9pZDtpZih0Kz0iIixhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgaSxyPW9hdCh0aGlzLm5vZGUoKSxuKS50d2VlbixvPTAsYT1yLmxlbmd0aDtvPGE7KytvKWlmKChpPXJbb10pLm5hbWU9PT10KXJldHVybiBpLnZhbHVlO3JldHVybiBudWxsfXJldHVybiB0aGlzLmVhY2goKG51bGw9PWU/YXN0OnNzdCkobix0LGUpKX0sZGVsYXk6ZnVuY3Rpb24gV3N0KHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIHQ/eXN0OnZzdCkoZSx0KSk6b2F0KHRoaXMubm9kZSgpLGUpLmRlbGF5fSxkdXJhdGlvbjpmdW5jdGlvbiBxc3QodCl7dmFyIGU9dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgdD9ic3Q6eHN0KShlLHQpKTpvYXQodGhpcy5ub2RlKCksZSkuZHVyYXRpb259LGVhc2U6ZnVuY3Rpb24gWXN0KHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCh3c3QoZSx0KSk6b2F0KHRoaXMubm9kZSgpLGUpLmVhc2V9fTt2YXIgWHN0PXt0aW1lOm51bGwsZGVsYXk6MCxkdXJhdGlvbjoyNTAsZWFzZTpxZn07ZnVuY3Rpb24gJHN0KHQsZSl7Zm9yKHZhciBuOyEobj10Ll9fdHJhbnNpdGlvbil8fCEobj1uW2VdKTspaWYoISh0PXQucGFyZW50Tm9kZSkpcmV0dXJuIFhzdC50aW1lPXFvdCgpLFhzdDtyZXR1cm4gbn1KcnQucHJvdG90eXBlLmludGVycnVwdD1mdW5jdGlvbiBLc3QodCl7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXthYXQodGhpcyx0KX0pKX0sSnJ0LnByb3RvdHlwZS50cmFuc2l0aW9uPWZ1bmN0aW9uIFpzdCh0KXt2YXIgZSxuO3QgaW5zdGFuY2VvZiBDc3Q/KGU9dC5faWQsdD10Ll9uYW1lKTooZT1rc3QoKSwobj1Yc3QpLnRpbWU9cW90KCksdD1udWxsPT10P251bGw6dCsiIik7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89MDtvPHI7KytvKWZvcih2YXIgYSxzPWlbb10sbD1zLmxlbmd0aCxjPTA7YzxsOysrYykoYT1zW2NdKSYmbmF0KGEsdCxlLGMscyxufHwkc3QoYSxlKSk7cmV0dXJuIG5ldyBDc3QoaSx0aGlzLl9wYXJlbnRzLHQsZSl9O3ZhciBKc3Q9W251bGxdO2Z1bmN0aW9uIFFzdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gdGx0KHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIGVsdCh0KXtyZXR1cm4gdFsxXX1mdW5jdGlvbiBubHQoKXt0aGlzLl89bnVsbH1mdW5jdGlvbiBpbHQodCl7dC5VPXQuQz10Lkw9dC5SPXQuUD10Lk49bnVsbH1mdW5jdGlvbiBybHQodCxlKXt2YXIgbj1lLGk9ZS5SLHI9bi5VO3I/ci5MPT09bj9yLkw9aTpyLlI9aTp0Ll89aSxpLlU9cixuLlU9aSxuLlI9aS5MLG4uUiYmKG4uUi5VPW4pLGkuTD1ufWZ1bmN0aW9uIG9sdCh0LGUpe3ZhciBuPWUsaT1lLkwscj1uLlU7cj9yLkw9PT1uP3IuTD1pOnIuUj1pOnQuXz1pLGkuVT1yLG4uVT1pLG4uTD1pLlIsbi5MJiYobi5MLlU9biksaS5SPW59ZnVuY3Rpb24gYWx0KHQpe2Zvcig7dC5MOyl0PXQuTDtyZXR1cm4gdH1mdW5jdGlvbiBzbHQodCxlLG4saSl7dmFyIHI9W251bGwsbnVsbF0sbz1QbHQucHVzaChyKS0xO3JldHVybiByLmxlZnQ9dCxyLnJpZ2h0PWUsbiYmY2x0KHIsdCxlLG4pLGkmJmNsdChyLGUsdCxpKSxrbHRbdC5pbmRleF0uaGFsZmVkZ2VzLnB1c2gobyksa2x0W2UuaW5kZXhdLmhhbGZlZGdlcy5wdXNoKG8pLHJ9ZnVuY3Rpb24gbGx0KHQsZSxuKXt2YXIgaT1bZSxuXTtyZXR1cm4gaS5sZWZ0PXQsaX1mdW5jdGlvbiBjbHQodCxlLG4saSl7dFswXXx8dFsxXT90LmxlZnQ9PT1uP3RbMV09aTp0WzBdPWk6KHRbMF09aSx0LmxlZnQ9ZSx0LnJpZ2h0PW4pfWZ1bmN0aW9uIHVsdCh0LGUsbixpLHIpe3ZhciBvLGE9dFswXSxzPXRbMV0sbD1hWzBdLGM9YVsxXSx1PTAsaD0xLGQ9c1swXS1sLHA9c1sxXS1jO2lmKG89ZS1sLGR8fCEobz4wKSl7aWYoby89ZCxkPDApe2lmKG88dSlyZXR1cm47bzxoJiYoaD1vKX1lbHNlIGlmKGQ+MCl7aWYobz5oKXJldHVybjtvPnUmJih1PW8pfWlmKG89aS1sLGR8fCEobzwwKSl7aWYoby89ZCxkPDApe2lmKG8+aClyZXR1cm47bz51JiYodT1vKX1lbHNlIGlmKGQ+MCl7aWYobzx1KXJldHVybjtvPGgmJihoPW8pfWlmKG89bi1jLHB8fCEobz4wKSl7aWYoby89cCxwPDApe2lmKG88dSlyZXR1cm47bzxoJiYoaD1vKX1lbHNlIGlmKHA+MCl7aWYobz5oKXJldHVybjtvPnUmJih1PW8pfWlmKG89ci1jLHB8fCEobzwwKSl7aWYoby89cCxwPDApe2lmKG8+aClyZXR1cm47bz51JiYodT1vKX1lbHNlIGlmKHA+MCl7aWYobzx1KXJldHVybjtvPGgmJihoPW8pfXJldHVybiEodT4wfHxoPDEpfHwodT4wJiYodFswXT1bbCt1KmQsYyt1KnBdKSxoPDEmJih0WzFdPVtsK2gqZCxjK2gqcF0pLCEwKX19fX19ZnVuY3Rpb24gaGx0KHQsZSxuLGkscil7dmFyIG89dFsxXTtpZihvKXJldHVybiEwO3ZhciBhLHMsbD10WzBdLGM9dC5sZWZ0LHU9dC5yaWdodCxoPWNbMF0sZD1jWzFdLHA9dVswXSxmPXVbMV0sbT0oaCtwKS8yO2lmKGY9PT1kKXtpZihtPGV8fG0+PWkpcmV0dXJuO2lmKGg+cCl7aWYobCl7aWYobFsxXT49cilyZXR1cm59ZWxzZSBsPVttLG5dO289W20scl19ZWxzZXtpZihsKXtpZihsWzFdPG4pcmV0dXJufWVsc2UgbD1bbSxyXTtvPVttLG5dfX1lbHNlIGlmKHM9KGQrZikvMi0oYT0oaC1wKS8oZi1kKSkqbSxhPC0xfHxhPjEpaWYoaD5wKXtpZihsKXtpZihsWzFdPj1yKXJldHVybn1lbHNlIGw9WyhuLXMpL2Esbl07bz1bKHItcykvYSxyXX1lbHNle2lmKGwpe2lmKGxbMV08bilyZXR1cm59ZWxzZSBsPVsoci1zKS9hLHJdO289WyhuLXMpL2Esbl19ZWxzZSBpZihkPGYpe2lmKGwpe2lmKGxbMF0+PWkpcmV0dXJufWVsc2UgbD1bZSxhKmUrc107bz1baSxhKmkrc119ZWxzZXtpZihsKXtpZihsWzBdPGUpcmV0dXJufWVsc2UgbD1baSxhKmkrc107bz1bZSxhKmUrc119cmV0dXJuIHRbMF09bCx0WzFdPW8sITB9ZnVuY3Rpb24gZGx0KHQsZSl7dmFyIG49dC5zaXRlLGk9ZS5sZWZ0LHI9ZS5yaWdodDtyZXR1cm4gbj09PXImJihyPWksaT1uKSxyP01hdGguYXRhbjIoclsxXS1pWzFdLHJbMF0taVswXSk6KG49PT1pPyhpPWVbMV0scj1lWzBdKTooaT1lWzBdLHI9ZVsxXSksTWF0aC5hdGFuMihpWzBdLXJbMF0sclsxXS1pWzFdKSl9ZnVuY3Rpb24gcGx0KHQsZSl7cmV0dXJuIGVbKyhlLmxlZnQhPT10LnNpdGUpXX1mdW5jdGlvbiBmbHQodCxlKXtyZXR1cm4gZVsrKGUubGVmdD09PXQuc2l0ZSldfW5sdC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOm5sdCxpbnNlcnQ6ZnVuY3Rpb24odCxlKXt2YXIgbixpLHI7aWYodCl7aWYoZS5QPXQsZS5OPXQuTix0Lk4mJih0Lk4uUD1lKSx0Lk49ZSx0LlIpe2Zvcih0PXQuUjt0Lkw7KXQ9dC5MO3QuTD1lfWVsc2UgdC5SPWU7bj10fWVsc2UgdGhpcy5fPyh0PWFsdCh0aGlzLl8pLGUuUD1udWxsLGUuTj10LHQuUD10Lkw9ZSxuPXQpOihlLlA9ZS5OPW51bGwsdGhpcy5fPWUsbj1udWxsKTtmb3IoZS5MPWUuUj1udWxsLGUuVT1uLGUuQz0hMCx0PWU7biYmbi5DOyluPT09KGk9bi5VKS5MPyhyPWkuUikmJnIuQz8obi5DPXIuQz0hMSxpLkM9ITAsdD1pKToodD09PW4uUiYmKHJsdCh0aGlzLG4pLG49KHQ9bikuVSksbi5DPSExLGkuQz0hMCxvbHQodGhpcyxpKSk6KHI9aS5MKSYmci5DPyhuLkM9ci5DPSExLGkuQz0hMCx0PWkpOih0PT09bi5MJiYob2x0KHRoaXMsbiksbj0odD1uKS5VKSxuLkM9ITEsaS5DPSEwLHJsdCh0aGlzLGkpKSxuPXQuVTt0aGlzLl8uQz0hMX0scmVtb3ZlOmZ1bmN0aW9uKHQpe3QuTiYmKHQuTi5QPXQuUCksdC5QJiYodC5QLk49dC5OKSx0Lk49dC5QPW51bGw7dmFyIGUsbixpLHI9dC5VLG89dC5MLGE9dC5SO2lmKG49bz9hP2FsdChhKTpvOmEscj9yLkw9PT10P3IuTD1uOnIuUj1uOnRoaXMuXz1uLG8mJmE/KGk9bi5DLG4uQz10LkMsbi5MPW8sby5VPW4sbiE9PWE/KHI9bi5VLG4uVT10LlUsci5MPXQ9bi5SLG4uUj1hLGEuVT1uKToobi5VPXIscj1uLHQ9bi5SKSk6KGk9dC5DLHQ9biksdCYmKHQuVT1yKSwhaSlpZih0JiZ0LkMpdC5DPSExO2Vsc2V7ZG97aWYodD09PXRoaXMuXylicmVhaztpZih0PT09ci5MKXtpZigoZT1yLlIpLkMmJihlLkM9ITEsci5DPSEwLHJsdCh0aGlzLHIpLGU9ci5SKSxlLkwmJmUuTC5DfHxlLlImJmUuUi5DKXtlLlImJmUuUi5DfHwoZS5MLkM9ITEsZS5DPSEwLG9sdCh0aGlzLGUpLGU9ci5SKSxlLkM9ci5DLHIuQz1lLlIuQz0hMSxybHQodGhpcyxyKSx0PXRoaXMuXzticmVha319ZWxzZSBpZigoZT1yLkwpLkMmJihlLkM9ITEsci5DPSEwLG9sdCh0aGlzLHIpLGU9ci5MKSxlLkwmJmUuTC5DfHxlLlImJmUuUi5DKXtlLkwmJmUuTC5DfHwoZS5SLkM9ITEsZS5DPSEwLHJsdCh0aGlzLGUpLGU9ci5MKSxlLkM9ci5DLHIuQz1lLkwuQz0hMSxvbHQodGhpcyxyKSx0PXRoaXMuXzticmVha31lLkM9ITAsdD1yLHI9ci5VfXdoaWxlKCF0LkMpO3QmJih0LkM9ITEpfX19O3ZhciBtbHQsZ2x0PVtdO2Z1bmN0aW9uIF9sdCgpe2lsdCh0aGlzKSx0aGlzLng9dGhpcy55PXRoaXMuYXJjPXRoaXMuc2l0ZT10aGlzLmN5PW51bGx9ZnVuY3Rpb24geWx0KHQpe3ZhciBlPXQuUCxuPXQuTjtpZihlJiZuKXt2YXIgaT1lLnNpdGUscj10LnNpdGUsbz1uLnNpdGU7aWYoaSE9PW8pe3ZhciBhPXJbMF0scz1yWzFdLGw9aVswXS1hLGM9aVsxXS1zLHU9b1swXS1hLGg9b1sxXS1zLGQ9MioobCpoLWMqdSk7aWYoIShkPj0tSWx0KSl7dmFyIHA9bCpsK2MqYyxmPXUqdStoKmgsbT0oaCpwLWMqZikvZCxnPShsKmYtdSpwKS9kLF89Z2x0LnBvcCgpfHxuZXcgX2x0O18uYXJjPXQsXy5zaXRlPXIsXy54PW0rYSxfLnk9KF8uY3k9ZytzKStNYXRoLnNxcnQobSptK2cqZyksdC5jaXJjbGU9Xztmb3IodmFyIHk9bnVsbCx2PUxsdC5fO3Y7KWlmKF8ueTx2Lnl8fF8ueT09PXYueSYmXy54PD12Lngpe2lmKCF2Lkwpe3k9di5QO2JyZWFrfXY9di5MfWVsc2V7aWYoIXYuUil7eT12O2JyZWFrfXY9di5SfUxsdC5pbnNlcnQoeSxfKSx5fHwobWx0PV8pfX19fWZ1bmN0aW9uIHZsdCh0KXt2YXIgZT10LmNpcmNsZTtlJiYoZS5QfHwobWx0PWUuTiksTGx0LnJlbW92ZShlKSxnbHQucHVzaChlKSxpbHQoZSksdC5jaXJjbGU9bnVsbCl9dmFyIGJsdD1bXTtmdW5jdGlvbiB4bHQoKXtpbHQodGhpcyksdGhpcy5lZGdlPXRoaXMuc2l0ZT10aGlzLmNpcmNsZT1udWxsfWZ1bmN0aW9uIHdsdCh0KXt2YXIgZT1ibHQucG9wKCl8fG5ldyB4bHQ7cmV0dXJuIGUuc2l0ZT10LGV9ZnVuY3Rpb24gU2x0KHQpe3ZsdCh0KSxBbHQucmVtb3ZlKHQpLGJsdC5wdXNoKHQpLGlsdCh0KX1mdW5jdGlvbiBNbHQodCl7dmFyIGU9dC5jaXJjbGUsbj1lLngsaT1lLmN5LHI9W24saV0sbz10LlAsYT10Lk4scz1bdF07U2x0KHQpO2Zvcih2YXIgbD1vO2wuY2lyY2xlJiZNYXRoLmFicyhuLWwuY2lyY2xlLngpPE5sdCYmTWF0aC5hYnMoaS1sLmNpcmNsZS5jeSk8Tmx0OylvPWwuUCxzLnVuc2hpZnQobCksU2x0KGwpLGw9bztzLnVuc2hpZnQobCksdmx0KGwpO2Zvcih2YXIgYz1hO2MuY2lyY2xlJiZNYXRoLmFicyhuLWMuY2lyY2xlLngpPE5sdCYmTWF0aC5hYnMoaS1jLmNpcmNsZS5jeSk8Tmx0OylhPWMuTixzLnB1c2goYyksU2x0KGMpLGM9YTtzLnB1c2goYyksdmx0KGMpO3ZhciB1LGg9cy5sZW5ndGg7Zm9yKHU9MTt1PGg7Kyt1KWNsdCgoYz1zW3VdKS5lZGdlLChsPXNbdS0xXSkuc2l0ZSxjLnNpdGUscik7KGM9c1toLTFdKS5lZGdlPXNsdCgobD1zWzBdKS5zaXRlLGMuc2l0ZSxudWxsLHIpLHlsdChsKSx5bHQoYyl9ZnVuY3Rpb24gRWx0KHQpe2Zvcih2YXIgZSxuLGkscixvPXRbMF0sYT10WzFdLHM9QWx0Ll87czspaWYoKGk9VGx0KHMsYSktbyk+Tmx0KXM9cy5MO2Vsc2V7aWYoISgocj1vLUNsdChzLGEpKT5ObHQpKXtpPi1ObHQ/KGU9cy5QLG49cyk6cj4tTmx0PyhlPXMsbj1zLk4pOmU9bj1zO2JyZWFrfWlmKCFzLlIpe2U9czticmVha31zPXMuUn0hKGZ1bmN0aW9uIGwodCl7cmV0dXJuIGtsdFt0LmluZGV4XT17c2l0ZTp0LGhhbGZlZGdlczpbXX19KSh0KTt2YXIgYz13bHQodCk7aWYoQWx0Lmluc2VydChlLGMpLGV8fG4pe2lmKGU9PT1uKXJldHVybiB2bHQoZSksbj13bHQoZS5zaXRlKSxBbHQuaW5zZXJ0KGMsbiksYy5lZGdlPW4uZWRnZT1zbHQoZS5zaXRlLGMuc2l0ZSkseWx0KGUpLHZvaWQgeWx0KG4pO2lmKG4pe3ZsdChlKSx2bHQobik7dmFyIHU9ZS5zaXRlLGg9dVswXSxkPXVbMV0scD10WzBdLWgsZj10WzFdLWQsbT1uLnNpdGUsZz1tWzBdLWgsXz1tWzFdLWQseT0yKihwKl8tZipnKSx2PXAqcCtmKmYsYj1nKmcrXypfLHg9WyhfKnYtZipiKS95K2gsKHAqYi1nKnYpL3krZF07Y2x0KG4uZWRnZSx1LG0seCksYy5lZGdlPXNsdCh1LHQsbnVsbCx4KSxuLmVkZ2U9c2x0KHQsbSxudWxsLHgpLHlsdChlKSx5bHQobil9ZWxzZSBjLmVkZ2U9c2x0KGUuc2l0ZSxjLnNpdGUpfX1mdW5jdGlvbiBUbHQodCxlKXt2YXIgbj10LnNpdGUsaT1uWzBdLHI9blsxXSxvPXItZTtpZighbylyZXR1cm4gaTt2YXIgYT10LlA7aWYoIWEpcmV0dXJuLTEvMDt2YXIgcz0obj1hLnNpdGUpWzBdLGw9blsxXSxjPWwtZTtpZighYylyZXR1cm4gczt2YXIgdT1zLWksaD0xL28tMS9jLGQ9dS9jO3JldHVybiBoPygtZCtNYXRoLnNxcnQoZCpkLTIqaCoodSp1LygtMipjKS1sK2MvMityLW8vMikpKS9oK2k6KGkrcykvMn1mdW5jdGlvbiBDbHQodCxlKXt2YXIgbj10Lk47aWYobilyZXR1cm4gVGx0KG4sZSk7dmFyIGk9dC5zaXRlO3JldHVybiBpWzFdPT09ZT9pWzBdOjEvMH12YXIgQWx0LGtsdCxMbHQsUGx0LE5sdD0xZS02LElsdD0xZS0xMjtmdW5jdGlvbiBSbHQodCxlLG4pe3JldHVybih0WzBdLW5bMF0pKihlWzFdLXRbMV0pLSh0WzBdLWVbMF0pKihuWzFdLXRbMV0pfWZ1bmN0aW9uIE9sdCh0LGUpe3JldHVybiBlWzFdLXRbMV18fGVbMF0tdFswXX1mdW5jdGlvbiB6bHQodCxlKXt2YXIgbixpLHIsbz10LnNvcnQoT2x0KS5wb3AoKTtmb3IoUGx0PVtdLGtsdD1uZXcgQXJyYXkodC5sZW5ndGgpLEFsdD1uZXcgbmx0LExsdD1uZXcgbmx0OzspaWYocj1tbHQsbyYmKCFyfHxvWzFdPHIueXx8b1sxXT09PXIueSYmb1swXTxyLngpKW9bMF09PT1uJiZvWzFdPT09aXx8KEVsdChvKSxuPW9bMF0saT1vWzFdKSxvPXQucG9wKCk7ZWxzZXtpZighcilicmVhaztNbHQoci5hcmMpfWlmKChmdW5jdGlvbiBhKCl7Zm9yKHZhciB0LGUsbixpLHI9MCxvPWtsdC5sZW5ndGg7cjxvOysrcilpZigodD1rbHRbcl0pJiYoaT0oZT10LmhhbGZlZGdlcykubGVuZ3RoKSl7dmFyIGE9bmV3IEFycmF5KGkpLHM9bmV3IEFycmF5KGkpO2ZvcihuPTA7bjxpOysrbilhW25dPW4sc1tuXT1kbHQodCxQbHRbZVtuXV0pO2ZvcihhLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHNbZV0tc1t0XX0pKSxuPTA7bjxpOysrbilzW25dPWVbYVtuXV07Zm9yKG49MDtuPGk7KytuKWVbbl09c1tuXX19KSgpLGUpe3ZhciBzPStlWzBdWzBdLGw9K2VbMF1bMV0sYz0rZVsxXVswXSx1PStlWzFdWzFdOyEoZnVuY3Rpb24gaCh0LGUsbixpKXtmb3IodmFyIHIsbz1QbHQubGVuZ3RoO28tLTspaGx0KHI9UGx0W29dLHQsZSxuLGkpJiZ1bHQocix0LGUsbixpKSYmKE1hdGguYWJzKHJbMF1bMF0tclsxXVswXSk+Tmx0fHxNYXRoLmFicyhyWzBdWzFdLXJbMV1bMV0pPk5sdCl8fGRlbGV0ZSBQbHRbb119KShzLGwsYyx1KSwoZnVuY3Rpb24gZCh0LGUsbixpKXt2YXIgcixvLGEscyxsLGMsdSxoLGQscCxmLG0sZz1rbHQubGVuZ3RoLF89ITA7Zm9yKHI9MDtyPGc7KytyKWlmKG89a2x0W3JdKXtmb3IoYT1vLnNpdGUscz0obD1vLmhhbGZlZGdlcykubGVuZ3RoO3MtLTspUGx0W2xbc11dfHxsLnNwbGljZShzLDEpO2ZvcihzPTAsYz1sLmxlbmd0aDtzPGM7KWY9KHA9Zmx0KG8sUGx0W2xbc11dKSlbMF0sbT1wWzFdLGg9KHU9cGx0KG8sUGx0W2xbKytzJWNdXSkpWzBdLGQ9dVsxXSwoTWF0aC5hYnMoZi1oKT5ObHR8fE1hdGguYWJzKG0tZCk+Tmx0KSYmKGwuc3BsaWNlKHMsMCxQbHQucHVzaChsbHQoYSxwLE1hdGguYWJzKGYtdCk8Tmx0JiZpLW0+Tmx0P1t0LE1hdGguYWJzKGgtdCk8Tmx0P2Q6aV06TWF0aC5hYnMobS1pKTxObHQmJm4tZj5ObHQ/W01hdGguYWJzKGQtaSk8Tmx0P2g6bixpXTpNYXRoLmFicyhmLW4pPE5sdCYmbS1lPk5sdD9bbixNYXRoLmFicyhoLW4pPE5sdD9kOmVdOk1hdGguYWJzKG0tZSk8Tmx0JiZmLXQ+Tmx0P1tNYXRoLmFicyhkLWUpPE5sdD9oOnQsZV06bnVsbCkpLTEpLCsrYyk7YyYmKF89ITEpfWlmKF8pe3ZhciB5LHYsYix4PTEvMDtmb3Iocj0wLF89bnVsbDtyPGc7KytyKShvPWtsdFtyXSkmJihiPSh5PShhPW8uc2l0ZSlbMF0tdCkqeSsodj1hWzFdLWUpKnYpPHgmJih4PWIsXz1vKTtpZihfKXt2YXIgdz1bdCxlXSxTPVt0LGldLE09W24saV0sRT1bbixlXTtfLmhhbGZlZGdlcy5wdXNoKFBsdC5wdXNoKGxsdChhPV8uc2l0ZSx3LFMpKS0xLFBsdC5wdXNoKGxsdChhLFMsTSkpLTEsUGx0LnB1c2gobGx0KGEsTSxFKSktMSxQbHQucHVzaChsbHQoYSxFLHcpKS0xKX19Zm9yKHI9MDtyPGc7KytyKShvPWtsdFtyXSkmJihvLmhhbGZlZGdlcy5sZW5ndGh8fGRlbGV0ZSBrbHRbcl0pfSkocyxsLGMsdSl9dGhpcy5lZGdlcz1QbHQsdGhpcy5jZWxscz1rbHQsQWx0PUxsdD1QbHQ9a2x0PW51bGx9emx0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6emx0LHBvbHlnb25zOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lZGdlcztyZXR1cm4gdGhpcy5jZWxscy5tYXAoKGZ1bmN0aW9uKGUpe3ZhciBuPWUuaGFsZmVkZ2VzLm1hcCgoZnVuY3Rpb24obil7cmV0dXJuIHBsdChlLHRbbl0pfSkpO3JldHVybiBuLmRhdGE9ZS5zaXRlLmRhdGEsbn0pKX0sdHJpYW5nbGVzOmZ1bmN0aW9uKCl7dmFyIHQ9W10sZT10aGlzLmVkZ2VzO3JldHVybiB0aGlzLmNlbGxzLmZvckVhY2goKGZ1bmN0aW9uKG4saSl7aWYobz0ocj1uLmhhbGZlZGdlcykubGVuZ3RoKWZvcih2YXIgcixvLGEscz1uLnNpdGUsbD0tMSxjPWVbcltvLTFdXSx1PWMubGVmdD09PXM/Yy5yaWdodDpjLmxlZnQ7KytsPG87KWE9dSx1PShjPWVbcltsXV0pLmxlZnQ9PT1zP2MucmlnaHQ6Yy5sZWZ0LGEmJnUmJmk8YS5pbmRleCYmaTx1LmluZGV4JiZSbHQocyxhLHUpPDAmJnQucHVzaChbcy5kYXRhLGEuZGF0YSx1LmRhdGFdKX0pKSx0fSxsaW5rczpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZ2VzLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQucmlnaHR9KSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm57c291cmNlOnQubGVmdC5kYXRhLHRhcmdldDp0LnJpZ2h0LmRhdGF9fSkpfSxmaW5kOmZ1bmN0aW9uKHQsZSxuKXtmb3IodmFyIGkscixvPXRoaXMsYT1vLl9mb3VuZHx8MCxzPW8uY2VsbHMubGVuZ3RoOyEocj1vLmNlbGxzW2FdKTspaWYoKythPj1zKXJldHVybiBudWxsO3ZhciBsPXQtci5zaXRlWzBdLGM9ZS1yLnNpdGVbMV0sdT1sKmwrYypjO2Rve3I9by5jZWxsc1tpPWFdLGE9bnVsbCxyLmhhbGZlZGdlcy5mb3JFYWNoKChmdW5jdGlvbihuKXt2YXIgaT1vLmVkZ2VzW25dLHM9aS5sZWZ0O2lmKHMhPT1yLnNpdGUmJnN8fChzPWkucmlnaHQpKXt2YXIgbD10LXNbMF0sYz1lLXNbMV0saD1sKmwrYypjO2g8dSYmKHU9aCxhPXMuaW5kZXgpfX0pKX13aGlsZShudWxsIT09YSk7cmV0dXJuIG8uX2ZvdW5kPWksbnVsbD09bnx8dTw9bipuP3Iuc2l0ZTpudWxsfX07dmFyIERsdD17dmFsdWU6ZnVuY3Rpb24oKXt9fTtmdW5jdGlvbiBCbHQoKXtmb3IodmFyIHQsZT0wLG49YXJndW1lbnRzLmxlbmd0aCxpPXt9O2U8bjsrK2Upe2lmKCEodD1hcmd1bWVudHNbZV0rIiIpfHx0IGluIGl8fC9bXHMuXS8udGVzdCh0KSl0aHJvdyBuZXcgRXJyb3IoImlsbGVnYWwgdHlwZTogIit0KTtpW3RdPVtdfXJldHVybiBuZXcgSGx0KGkpfWZ1bmN0aW9uIEhsdCh0KXt0aGlzLl89dH1mdW5jdGlvbiBGbHQodCxlKXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKChmdW5jdGlvbih0KXt2YXIgbj0iIixpPXQuaW5kZXhPZigiLiIpO2lmKGk+PTAmJihuPXQuc2xpY2UoaSsxKSx0PXQuc2xpY2UoMCxpKSksdCYmIWUuaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7cmV0dXJue3R5cGU6dCxuYW1lOm59fSkpfWZ1bmN0aW9uIFZsdCh0LGUpe2Zvcih2YXIgbixpPTAscj10Lmxlbmd0aDtpPHI7KytpKWlmKChuPXRbaV0pLm5hbWU9PT1lKXJldHVybiBuLnZhbHVlfWZ1bmN0aW9uIFVsdCh0LGUsbil7Zm9yKHZhciBpPTAscj10Lmxlbmd0aDtpPHI7KytpKWlmKHRbaV0ubmFtZT09PWUpe3RbaV09RGx0LHQ9dC5zbGljZSgwLGkpLmNvbmNhdCh0LnNsaWNlKGkrMSkpO2JyZWFrfXJldHVybiBudWxsIT1uJiZ0LnB1c2goe25hbWU6ZSx2YWx1ZTpufSksdH1IbHQucHJvdG90eXBlPUJsdC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOkhsdCxvbjpmdW5jdGlvbih0LGUpe3ZhciBuLGk9dGhpcy5fLHI9Rmx0KHQrIiIsaSksbz0tMSxhPXIubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7aWYobnVsbCE9ZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrOiAiK2UpO2Zvcig7KytvPGE7KWlmKG49KHQ9cltvXSkudHlwZSlpW25dPVVsdChpW25dLHQubmFtZSxlKTtlbHNlIGlmKG51bGw9PWUpZm9yKG4gaW4gaSlpW25dPVVsdChpW25dLHQubmFtZSxudWxsKTtyZXR1cm4gdGhpc31mb3IoOysrbzxhOylpZigobj0odD1yW29dKS50eXBlKSYmKG49Vmx0KGlbbl0sdC5uYW1lKSkpcmV0dXJuIG59LGNvcHk6ZnVuY3Rpb24oKXt2YXIgdD17fSxlPXRoaXMuXztmb3IodmFyIG4gaW4gZSl0W25dPWVbbl0uc2xpY2UoKTtyZXR1cm4gbmV3IEhsdCh0KX0sY2FsbDpmdW5jdGlvbih0LGUpe2lmKChuPWFyZ3VtZW50cy5sZW5ndGgtMik+MClmb3IodmFyIG4saSxyPW5ldyBBcnJheShuKSxvPTA7bzxuOysrbylyW29dPWFyZ3VtZW50c1tvKzJdO2lmKCF0aGlzLl8uaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7Zm9yKG89MCxuPShpPXRoaXMuX1t0XSkubGVuZ3RoO288bjsrK28paVtvXS52YWx1ZS5hcHBseShlLHIpfSxhcHBseTpmdW5jdGlvbih0LGUsbil7aWYoIXRoaXMuXy5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtmb3IodmFyIGk9dGhpcy5fW3RdLHI9MCxvPWkubGVuZ3RoO3I8bzsrK3IpaVtyXS52YWx1ZS5hcHBseShlLG4pfX07dmFyIGpsdD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsR2x0PXtzdmc6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix4aHRtbDpqbHQseGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHhtbDoiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8ifTtmdW5jdGlvbiBXbHQodCl7dmFyIGU9dCs9IiIsbj1lLmluZGV4T2YoIjoiKTtyZXR1cm4gbj49MCYmInhtbG5zIiE9PShlPXQuc2xpY2UoMCxuKSkmJih0PXQuc2xpY2UobisxKSksR2x0Lmhhc093blByb3BlcnR5KGUpP3tzcGFjZTpHbHRbZV0sbG9jYWw6dH06dH1mdW5jdGlvbiBxbHQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vd25lckRvY3VtZW50LG49dGhpcy5uYW1lc3BhY2VVUkk7cmV0dXJuIG49PT1qbHQmJmUuZG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVSST09PWpsdD9lLmNyZWF0ZUVsZW1lbnQodCk6ZS5jcmVhdGVFbGVtZW50TlMobix0KX19ZnVuY3Rpb24gWWx0KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIFhsdCh0KXt2YXIgZT1XbHQodCk7cmV0dXJuKGUubG9jYWw/WWx0OnFsdCkoZSl9ZnVuY3Rpb24gJGx0KCl7fWZ1bmN0aW9uIEtsdCh0KXtyZXR1cm4gbnVsbD09dD8kbHQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yKHQpfX1mdW5jdGlvbiBabHQoKXtyZXR1cm5bXX1mdW5jdGlvbiBKbHQodCl7cmV0dXJuIG51bGw9PXQ/Wmx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvckFsbCh0KX19ZnVuY3Rpb24gUWx0KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hdGNoZXModCl9fWZ1bmN0aW9uIHRjdCh0KXtyZXR1cm4gbmV3IEFycmF5KHQubGVuZ3RoKX1mdW5jdGlvbiBlY3QodCxlKXt0aGlzLm93bmVyRG9jdW1lbnQ9dC5vd25lckRvY3VtZW50LHRoaXMubmFtZXNwYWNlVVJJPXQubmFtZXNwYWNlVVJJLHRoaXMuX25leHQ9bnVsbCx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9fZGF0YV9fPWV9ZWN0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6ZWN0LGFwcGVuZENoaWxkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsdGhpcy5fbmV4dCl9LGluc2VydEJlZm9yZTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsZSl9LHF1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yKHQpfSxxdWVyeVNlbGVjdG9yQWxsOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3RvckFsbCh0KX19O2Z1bmN0aW9uIG5jdCh0LGUsbixpLHIsbyl7Zm9yKHZhciBhLHM9MCxsPWUubGVuZ3RoLGM9by5sZW5ndGg7czxjOysrcykoYT1lW3NdKT8oYS5fX2RhdGFfXz1vW3NdLGlbc109YSk6bltzXT1uZXcgZWN0KHQsb1tzXSk7Zm9yKDtzPGw7KytzKShhPWVbc10pJiYocltzXT1hKX1mdW5jdGlvbiBpY3QodCxlLG4saSxyLG8sYSl7dmFyIHMsbCxjLHU9e30saD1lLmxlbmd0aCxkPW8ubGVuZ3RoLHA9bmV3IEFycmF5KGgpO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmKHBbc109Yz0iJCIrYS5jYWxsKGwsbC5fX2RhdGFfXyxzLGUpLGMgaW4gdT9yW3NdPWw6dVtjXT1sKTtmb3Iocz0wO3M8ZDsrK3MpKGw9dVtjPSIkIithLmNhbGwodCxvW3NdLHMsbyldKT8oaVtzXT1sLGwuX19kYXRhX189b1tzXSx1W2NdPW51bGwpOm5bc109bmV3IGVjdCh0LG9bc10pO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmdVtwW3NdXT09PWwmJihyW3NdPWwpfWZ1bmN0aW9uIHJjdCh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBvY3QodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIGFjdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIHNjdCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlKHQsZSl9fWZ1bmN0aW9uIGxjdCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUpfX1mdW5jdGlvbiBjY3QodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpOnRoaXMuc2V0QXR0cmlidXRlKHQsbil9fWZ1bmN0aW9uIHVjdCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpOnRoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLG4pfX1mdW5jdGlvbiBoY3QodCl7cmV0dXJuIHQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx0LmRvY3VtZW50JiZ0fHx0LmRlZmF1bHRWaWV3fWZ1bmN0aW9uIGRjdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX1mdW5jdGlvbiBwY3QodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxlLG4pfX1mdW5jdGlvbiBmY3QodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBpPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PWk/dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KTp0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsaSxuKX19ZnVuY3Rpb24gbWN0KHQsZSl7cmV0dXJuIHQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShlKXx8aGN0KHQpLmdldENvbXB1dGVkU3R5bGUodCxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKGUpfWZ1bmN0aW9uIGdjdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtkZWxldGUgdGhpc1t0XX19ZnVuY3Rpb24gX2N0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpc1t0XT1lfX1mdW5jdGlvbiB5Y3QodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP2RlbGV0ZSB0aGlzW3RdOnRoaXNbdF09bn19ZnVuY3Rpb24gdmN0KHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKX1mdW5jdGlvbiBiY3QodCl7cmV0dXJuIHQuY2xhc3NMaXN0fHxuZXcgeGN0KHQpfWZ1bmN0aW9uIHhjdCh0KXt0aGlzLl9ub2RlPXQsdGhpcy5fbmFtZXM9dmN0KHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9ZnVuY3Rpb24gd2N0KHQsZSl7Zm9yKHZhciBuPWJjdCh0KSxpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KW4uYWRkKGVbaV0pfWZ1bmN0aW9uIFNjdCh0LGUpe2Zvcih2YXIgbj1iY3QodCksaT0tMSxyPWUubGVuZ3RoOysraTxyOyluLnJlbW92ZShlW2ldKX1mdW5jdGlvbiBNY3QodCl7cmV0dXJuIGZ1bmN0aW9uKCl7d2N0KHRoaXMsdCl9fWZ1bmN0aW9uIEVjdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtTY3QodGhpcyx0KX19ZnVuY3Rpb24gVGN0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7KGUuYXBwbHkodGhpcyxhcmd1bWVudHMpP3djdDpTY3QpKHRoaXMsdCl9fWZ1bmN0aW9uIENjdCgpe3RoaXMudGV4dENvbnRlbnQ9IiJ9ZnVuY3Rpb24gQWN0KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMudGV4dENvbnRlbnQ9dH19ZnVuY3Rpb24ga2N0KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfX1mdW5jdGlvbiBMY3QoKXt0aGlzLmlubmVySFRNTD0iIn1mdW5jdGlvbiBQY3QodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5pbm5lckhUTUw9dH19ZnVuY3Rpb24gTmN0KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuaW5uZXJIVE1MPW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24gSWN0KCl7dGhpcy5uZXh0U2libGluZyYmdGhpcy5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHRoaXMpfWZ1bmN0aW9uIFJjdCgpe3RoaXMucHJldmlvdXNTaWJsaW5nJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMsdGhpcy5wYXJlbnROb2RlLmZpcnN0Q2hpbGQpfWZ1bmN0aW9uIE9jdCgpe3JldHVybiBudWxsfWZ1bmN0aW9uIHpjdCgpe3ZhciB0PXRoaXMucGFyZW50Tm9kZTt0JiZ0LnJlbW92ZUNoaWxkKHRoaXMpfWZ1bmN0aW9uIERjdCgpe3ZhciB0PXRoaXMuY2xvbmVOb2RlKCExKSxlPXRoaXMucGFyZW50Tm9kZTtyZXR1cm4gZT9lLmluc2VydEJlZm9yZSh0LHRoaXMubmV4dFNpYmxpbmcpOnR9ZnVuY3Rpb24gQmN0KCl7dmFyIHQ9dGhpcy5jbG9uZU5vZGUoITApLGU9dGhpcy5wYXJlbnROb2RlO3JldHVybiBlP2UuaW5zZXJ0QmVmb3JlKHQsdGhpcy5uZXh0U2libGluZyk6dH14Y3QucHJvdG90eXBlPXthZGQ6ZnVuY3Rpb24odCl7dGhpcy5fbmFtZXMuaW5kZXhPZih0KTwwJiYodGhpcy5fbmFtZXMucHVzaCh0KSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbmFtZXMuaW5kZXhPZih0KTtlPj0wJiYodGhpcy5fbmFtZXMuc3BsaWNlKGUsMSksdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLl9uYW1lcy5qb2luKCIgIikpKX0sY29udGFpbnM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX25hbWVzLmluZGV4T2YodCk+PTB9fTt2YXIgSGN0PXt9LEZjdD1udWxsOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJigib25tb3VzZWVudGVyImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8KEhjdD17bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9KSk7ZnVuY3Rpb24gVmN0KHQsZSxuKXtyZXR1cm4gdD1VY3QodCxlLG4pLGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVsYXRlZFRhcmdldDtuJiYobj09PXRoaXN8fDgmbi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzKSl8fHQuY2FsbCh0aGlzLGUpfX1mdW5jdGlvbiBVY3QodCxlLG4pe3JldHVybiBmdW5jdGlvbihpKXt2YXIgcj1GY3Q7RmN0PWk7dHJ5e3QuY2FsbCh0aGlzLHRoaXMuX19kYXRhX18sZSxuKX1maW5hbGx5e0ZjdD1yfX19ZnVuY3Rpb24gamN0KHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKS5tYXAoKGZ1bmN0aW9uKHQpe3ZhciBlPSIiLG49dC5pbmRleE9mKCIuIik7cmV0dXJuIG4+PTAmJihlPXQuc2xpY2UobisxKSx0PXQuc2xpY2UoMCxuKSkse3R5cGU6dCxuYW1lOmV9fSkpfWZ1bmN0aW9uIEdjdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9fb247aWYoZSl7Zm9yKHZhciBuLGk9MCxyPS0xLG89ZS5sZW5ndGg7aTxvOysraSluPWVbaV0sdC50eXBlJiZuLnR5cGUhPT10LnR5cGV8fG4ubmFtZSE9PXQubmFtZT9lWysrcl09bjp0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIobi50eXBlLG4ubGlzdGVuZXIsbi5jYXB0dXJlKTsrK3I/ZS5sZW5ndGg9cjpkZWxldGUgdGhpcy5fX29ufX19ZnVuY3Rpb24gV2N0KHQsZSxuKXt2YXIgaT1IY3QuaGFzT3duUHJvcGVydHkodC50eXBlKT9WY3Q6VWN0O3JldHVybiBmdW5jdGlvbihyLG8sYSl7dmFyIHMsbD10aGlzLl9fb24sYz1pKGUsbyxhKTtpZihsKWZvcih2YXIgdT0wLGg9bC5sZW5ndGg7dTxoOysrdSlpZigocz1sW3VdKS50eXBlPT09dC50eXBlJiZzLm5hbWU9PT10Lm5hbWUpcmV0dXJuIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcixzLmNhcHR1cmUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcj1jLHMuY2FwdHVyZT1uKSx2b2lkKHMudmFsdWU9ZSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKHQudHlwZSxjLG4pLHM9e3R5cGU6dC50eXBlLG5hbWU6dC5uYW1lLHZhbHVlOmUsbGlzdGVuZXI6YyxjYXB0dXJlOm59LGw/bC5wdXNoKHMpOnRoaXMuX19vbj1bc119fWZ1bmN0aW9uIHFjdCh0LGUsbil7dmFyIGk9aGN0KHQpLHI9aS5DdXN0b21FdmVudDsiZnVuY3Rpb24iPT10eXBlb2Ygcj9yPW5ldyByKGUsbik6KHI9aS5kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSxuPyhyLmluaXRFdmVudChlLG4uYnViYmxlcyxuLmNhbmNlbGFibGUpLHIuZGV0YWlsPW4uZGV0YWlsKTpyLmluaXRFdmVudChlLCExLCExKSksdC5kaXNwYXRjaEV2ZW50KHIpfWZ1bmN0aW9uIFljdCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBxY3QodGhpcyx0LGUpfX1mdW5jdGlvbiBYY3QodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gcWN0KHRoaXMsdCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXZhciAkY3Q9W251bGxdO2Z1bmN0aW9uIEtjdCh0LGUpe3RoaXMuX2dyb3Vwcz10LHRoaXMuX3BhcmVudHM9ZX1mdW5jdGlvbiBaY3QoKXtyZXR1cm4gbmV3IEtjdChbW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudF1dLCRjdCl9ZnVuY3Rpb24gSmN0KHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD9uZXcgS2N0KFtbZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0KV1dLFtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdKTpuZXcgS2N0KFtbdF1dLCRjdCl9ZnVuY3Rpb24gUWN0KCl7Zm9yKHZhciB0LGU9RmN0O3Q9ZS5zb3VyY2VFdmVudDspZT10O3JldHVybiBlfWZ1bmN0aW9uIHR1dCh0LGUpe3ZhciBuPXQub3duZXJTVkdFbGVtZW50fHx0O2lmKG4uY3JlYXRlU1ZHUG9pbnQpe3ZhciBpPW4uY3JlYXRlU1ZHUG9pbnQoKTtyZXR1cm4gaS54PWUuY2xpZW50WCxpLnk9ZS5jbGllbnRZLFsoaT1pLm1hdHJpeFRyYW5zZm9ybSh0LmdldFNjcmVlbkNUTSgpLmludmVyc2UoKSkpLngsaS55XX12YXIgcj10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybltlLmNsaWVudFgtci5sZWZ0LXQuY2xpZW50TGVmdCxlLmNsaWVudFktci50b3AtdC5jbGllbnRUb3BdfWZ1bmN0aW9uIGV1dCh0KXt2YXIgZT1RY3QoKTtyZXR1cm4gZS5jaGFuZ2VkVG91Y2hlcyYmKGU9ZS5jaGFuZ2VkVG91Y2hlc1swXSksdHV0KHQsZSl9ZnVuY3Rpb24gbnV0KHQsZSxuKXthcmd1bWVudHMubGVuZ3RoPDMmJihuPWUsZT1RY3QoKS5jaGFuZ2VkVG91Y2hlcyk7Zm9yKHZhciBpLHI9MCxvPWU/ZS5sZW5ndGg6MDtyPG87KytyKWlmKChpPWVbcl0pLmlkZW50aWZpZXI9PT1uKXJldHVybiB0dXQodCxpKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBpdXQoKXtGY3QucHJldmVudERlZmF1bHQoKSxGY3Quc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gcnV0KHQpe3ZhciBlPXQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG49SmN0KHQpLm9uKCJkcmFnc3RhcnQuZHJhZyIsaXV0LCEwKTsib25zZWxlY3RzdGFydCJpbiBlP24ub24oInNlbGVjdHN0YXJ0LmRyYWciLGl1dCwhMCk6KGUuX19ub3NlbGVjdD1lLnN0eWxlLk1velVzZXJTZWxlY3QsZS5zdHlsZS5Nb3pVc2VyU2VsZWN0PSJub25lIil9ZnVuY3Rpb24gb3V0KHQsZSl7dmFyIG49dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsaT1KY3QodCkub24oImRyYWdzdGFydC5kcmFnIixudWxsKTtlJiYoaS5vbigiY2xpY2suZHJhZyIsaXV0LCEwKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2kub24oImNsaWNrLmRyYWciLG51bGwpfSksMCkpLCJvbnNlbGVjdHN0YXJ0ImluIG4/aS5vbigic2VsZWN0c3RhcnQuZHJhZyIsbnVsbCk6KG4uc3R5bGUuTW96VXNlclNlbGVjdD1uLl9fbm9zZWxlY3QsZGVsZXRlIG4uX19ub3NlbGVjdCl9ZnVuY3Rpb24gYXV0KHQsZSxuKXt0LnByb3RvdHlwZT1lLnByb3RvdHlwZT1uLG4uY29uc3RydWN0b3I9dH1mdW5jdGlvbiBzdXQodCxlKXt2YXIgbj1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIGkgaW4gZSluW2ldPWVbaV07cmV0dXJuIG59ZnVuY3Rpb24gbHV0KCl7fUtjdC5wcm90b3R5cGU9WmN0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6S2N0LHNlbGVjdDpmdW5jdGlvbiBjdXQodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PUtsdCh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhLHM9ZVtyXSxsPXMubGVuZ3RoLGM9aVtyXT1uZXcgQXJyYXkobCksdT0wO3U8bDsrK3UpKG89c1t1XSkmJihhPXQuY2FsbChvLG8uX19kYXRhX18sdSxzKSkmJigiX19kYXRhX18iaW4gbyYmKGEuX19kYXRhX189by5fX2RhdGFfXyksY1t1XT1hKTtyZXR1cm4gbmV3IEtjdChpLHRoaXMuX3BhcmVudHMpfSxzZWxlY3RBbGw6ZnVuY3Rpb24gdXV0KHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1KbHQodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPVtdLHI9W10sbz0wO288bjsrK28pZm9yKHZhciBhLHM9ZVtvXSxsPXMubGVuZ3RoLGM9MDtjPGw7KytjKShhPXNbY10pJiYoaS5wdXNoKHQuY2FsbChhLGEuX19kYXRhX18sYyxzKSksci5wdXNoKGEpKTtyZXR1cm4gbmV3IEtjdChpLHIpfSxmaWx0ZXI6ZnVuY3Rpb24gaHV0KHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1RbHQodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPW5ldyBBcnJheShuKSxyPTA7cjxuOysrcilmb3IodmFyIG8sYT1lW3JdLHM9YS5sZW5ndGgsbD1pW3JdPVtdLGM9MDtjPHM7KytjKShvPWFbY10pJiZ0LmNhbGwobyxvLl9fZGF0YV9fLGMsYSkmJmwucHVzaChvKTtyZXR1cm4gbmV3IEtjdChpLHRoaXMuX3BhcmVudHMpfSxkYXRhOmZ1bmN0aW9uIGR1dCh0LGUpe2lmKCF0KXJldHVybiBmPW5ldyBBcnJheSh0aGlzLnNpemUoKSksdT0tMSx0aGlzLmVhY2goKGZ1bmN0aW9uKHQpe2ZbKyt1XT10fSkpLGY7dmFyIG49ZT9pY3Q6bmN0LGk9dGhpcy5fcGFyZW50cyxyPXRoaXMuX2dyb3VwczsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9KGZ1bmN0aW9uIG8odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkodCkpO2Zvcih2YXIgYT1yLmxlbmd0aCxzPW5ldyBBcnJheShhKSxsPW5ldyBBcnJheShhKSxjPW5ldyBBcnJheShhKSx1PTA7dTxhOysrdSl7dmFyIGg9aVt1XSxkPXJbdV0scD1kLmxlbmd0aCxmPXQuY2FsbChoLGgmJmguX19kYXRhX18sdSxpKSxtPWYubGVuZ3RoLGc9bFt1XT1uZXcgQXJyYXkobSksXz1zW3VdPW5ldyBBcnJheShtKTtuKGgsZCxnLF8sY1t1XT1uZXcgQXJyYXkocCksZixlKTtmb3IodmFyIHksdixiPTAseD0wO2I8bTsrK2IpaWYoeT1nW2JdKXtmb3IoYj49eCYmKHg9YisxKTshKHY9X1t4XSkmJisreDxtOyk7eS5fbmV4dD12fHxudWxsfX1yZXR1cm4ocz1uZXcgS2N0KHMsaSkpLl9lbnRlcj1sLHMuX2V4aXQ9YyxzfSxlbnRlcjpmdW5jdGlvbiBwdXQoKXtyZXR1cm4gbmV3IEtjdCh0aGlzLl9lbnRlcnx8dGhpcy5fZ3JvdXBzLm1hcCh0Y3QpLHRoaXMuX3BhcmVudHMpfSxleGl0OmZ1bmN0aW9uIGZ1dCgpe3JldHVybiBuZXcgS2N0KHRoaXMuX2V4aXR8fHRoaXMuX2dyb3Vwcy5tYXAodGN0KSx0aGlzLl9wYXJlbnRzKX0sam9pbjpmdW5jdGlvbiBtdXQodCxlLG4pe3ZhciBpPXRoaXMuZW50ZXIoKSxyPXRoaXMsbz10aGlzLmV4aXQoKTtyZXR1cm4gaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90KGkpOmkuYXBwZW5kKHQrIiIpLG51bGwhPWUmJihyPWUocikpLG51bGw9PW4/by5yZW1vdmUoKTpuKG8pLGkmJnI/aS5tZXJnZShyKS5vcmRlcigpOnJ9LG1lcmdlOmZ1bmN0aW9uIGd1dCh0KXtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49dC5fZ3JvdXBzLGk9ZS5sZW5ndGgscj1NYXRoLm1pbihpLG4ubGVuZ3RoKSxvPW5ldyBBcnJheShpKSxhPTA7YTxyOysrYSlmb3IodmFyIHMsbD1lW2FdLGM9blthXSx1PWwubGVuZ3RoLGg9b1thXT1uZXcgQXJyYXkodSksZD0wO2Q8dTsrK2QpKHM9bFtkXXx8Y1tkXSkmJihoW2RdPXMpO2Zvcig7YTxpOysrYSlvW2FdPWVbYV07cmV0dXJuIG5ldyBLY3Qobyx0aGlzLl9wYXJlbnRzKX0sb3JkZXI6ZnVuY3Rpb24gX3V0KCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPS0xLG49dC5sZW5ndGg7KytlPG47KWZvcih2YXIgaSxyPXRbZV0sbz1yLmxlbmd0aC0xLGE9cltvXTstLW8+PTA7KShpPXJbb10pJiYoYSYmNF5pLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpJiZhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGksYSksYT1pKTtyZXR1cm4gdGhpc30sc29ydDpmdW5jdGlvbiB5dXQodCl7ZnVuY3Rpb24gZShlLG4pe3JldHVybiBlJiZuP3QoZS5fX2RhdGFfXyxuLl9fZGF0YV9fKTohZS0hbn10fHwodD1yY3QpO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsaT1uLmxlbmd0aCxyPW5ldyBBcnJheShpKSxvPTA7bzxpOysrbyl7Zm9yKHZhciBhLHM9bltvXSxsPXMubGVuZ3RoLGM9cltvXT1uZXcgQXJyYXkobCksdT0wO3U8bDsrK3UpKGE9c1t1XSkmJihjW3VdPWEpO2Muc29ydChlKX1yZXR1cm4gbmV3IEtjdChyLHRoaXMuX3BhcmVudHMpLm9yZGVyKCl9LGNhbGw6ZnVuY3Rpb24gdnV0KCl7dmFyIHQ9YXJndW1lbnRzWzBdO3JldHVybiBhcmd1bWVudHNbMF09dGhpcyx0LmFwcGx5KG51bGwsYXJndW1lbnRzKSx0aGlzfSxub2RlczpmdW5jdGlvbiBidXQoKXt2YXIgdD1uZXcgQXJyYXkodGhpcy5zaXplKCkpLGU9LTE7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt0WysrZV09dGhpc30pKSx0fSxub2RlOmZ1bmN0aW9uIHh1dCgpe2Zvcih2YXIgdD10aGlzLl9ncm91cHMsZT0wLG49dC5sZW5ndGg7ZTxuOysrZSlmb3IodmFyIGk9dFtlXSxyPTAsbz1pLmxlbmd0aDtyPG87KytyKXt2YXIgYT1pW3JdO2lmKGEpcmV0dXJuIGF9cmV0dXJuIG51bGx9LHNpemU6ZnVuY3Rpb24gd3V0KCl7dmFyIHQ9MDtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpeysrdH0pKSx0fSxlbXB0eTpmdW5jdGlvbiBTdXQoKXtyZXR1cm4hdGhpcy5ub2RlKCl9LGVhY2g6ZnVuY3Rpb24gTXV0KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj0wLGk9ZS5sZW5ndGg7bjxpOysrbilmb3IodmFyIHIsbz1lW25dLGE9MCxzPW8ubGVuZ3RoO2E8czsrK2EpKHI9b1thXSkmJnQuY2FsbChyLHIuX19kYXRhX18sYSxvKTtyZXR1cm4gdGhpc30sYXR0cjpmdW5jdGlvbiBFdXQodCxlKXt2YXIgbj1XbHQodCk7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXt2YXIgaT10aGlzLm5vZGUoKTtyZXR1cm4gbi5sb2NhbD9pLmdldEF0dHJpYnV0ZU5TKG4uc3BhY2Usbi5sb2NhbCk6aS5nZXRBdHRyaWJ1dGUobil9cmV0dXJuIHRoaXMuZWFjaCgobnVsbD09ZT9uLmxvY2FsP2FjdDpvY3Q6ImZ1bmN0aW9uIj09dHlwZW9mIGU/bi5sb2NhbD91Y3Q6Y2N0Om4ubG9jYWw/bGN0OnNjdCkobixlKSl9LHN0eWxlOmZ1bmN0aW9uIFR1dCh0LGUsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goKG51bGw9PWU/ZGN0OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2ZjdDpwY3QpKHQsZSxudWxsPT1uPyIiOm4pKTptY3QodGhpcy5ub2RlKCksdCl9LHByb3BlcnR5OmZ1bmN0aW9uIEN1dCh0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/dGhpcy5lYWNoKChudWxsPT1lP2djdDoiZnVuY3Rpb24iPT10eXBlb2YgZT95Y3Q6X2N0KSh0LGUpKTp0aGlzLm5vZGUoKVt0XX0sY2xhc3NlZDpmdW5jdGlvbiBBdXQodCxlKXt2YXIgbj12Y3QodCsiIik7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXtmb3IodmFyIGk9YmN0KHRoaXMubm9kZSgpKSxyPS0xLG89bi5sZW5ndGg7KytyPG87KWlmKCFpLmNvbnRhaW5zKG5bcl0pKXJldHVybiExO3JldHVybiEwfXJldHVybiB0aGlzLmVhY2goKCJmdW5jdGlvbiI9PXR5cGVvZiBlP1RjdDplP01jdDpFY3QpKG4sZSkpfSx0ZXh0OmZ1bmN0aW9uIGt1dCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9DY3Q6KCJmdW5jdGlvbiI9PXR5cGVvZiB0P2tjdDpBY3QpKHQpKTp0aGlzLm5vZGUoKS50ZXh0Q29udGVudH0saHRtbDpmdW5jdGlvbiBMdXQodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKG51bGw9PXQ/TGN0OigiZnVuY3Rpb24iPT10eXBlb2YgdD9OY3Q6UGN0KSh0KSk6dGhpcy5ub2RlKCkuaW5uZXJIVE1MfSxyYWlzZTpmdW5jdGlvbiBQdXQoKXtyZXR1cm4gdGhpcy5lYWNoKEljdCl9LGxvd2VyOmZ1bmN0aW9uIE51dCgpe3JldHVybiB0aGlzLmVhY2goUmN0KX0sYXBwZW5kOmZ1bmN0aW9uIEl1dCh0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlhsdCh0KTtyZXR1cm4gdGhpcy5zZWxlY3QoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXBwZW5kQ2hpbGQoZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSkpfSxpbnNlcnQ6ZnVuY3Rpb24gUnV0KHQsZSl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpYbHQodCksaT1udWxsPT1lP09jdDoiZnVuY3Rpb24iPT10eXBlb2YgZT9lOktsdChlKTtyZXR1cm4gdGhpcy5zZWxlY3QoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5zZXJ0QmVmb3JlKG4uYXBwbHkodGhpcyxhcmd1bWVudHMpLGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfHxudWxsKX0pKX0scmVtb3ZlOmZ1bmN0aW9uIE91dCgpe3JldHVybiB0aGlzLmVhY2goemN0KX0sY2xvbmU6ZnVuY3Rpb24genV0KHQpe3JldHVybiB0aGlzLnNlbGVjdCh0P0JjdDpEY3QpfSxkYXR1bTpmdW5jdGlvbiBEdXQodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5wcm9wZXJ0eSgiX19kYXRhX18iLHQpOnRoaXMubm9kZSgpLl9fZGF0YV9ffSxvbjpmdW5jdGlvbiBCdXQodCxlLG4pe3ZhciBpLHIsbz1qY3QodCsiIiksYT1vLmxlbmd0aDtpZighKGFyZ3VtZW50cy5sZW5ndGg8Mikpe2ZvcihzPWU/V2N0OkdjdCxudWxsPT1uJiYobj0hMSksaT0wO2k8YTsrK2kpdGhpcy5lYWNoKHMob1tpXSxlLG4pKTtyZXR1cm4gdGhpc312YXIgcz10aGlzLm5vZGUoKS5fX29uO2lmKHMpZm9yKHZhciBsLGM9MCx1PXMubGVuZ3RoO2M8dTsrK2MpZm9yKGk9MCxsPXNbY107aTxhOysraSlpZigocj1vW2ldKS50eXBlPT09bC50eXBlJiZyLm5hbWU9PT1sLm5hbWUpcmV0dXJuIGwudmFsdWV9LGRpc3BhdGNoOmZ1bmN0aW9uIEh1dCh0LGUpe3JldHVybiB0aGlzLmVhY2goKCJmdW5jdGlvbiI9PXR5cGVvZiBlP1hjdDpZY3QpKHQsZSkpfX07dmFyIEZ1dD0uNyxWdXQ9MS9GdXQsVXV0PSJcXHMqKFsrLV0/XFxkKylcXHMqIixqdXQ9IlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pXFxzKiIsR3V0PSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KSVcXHMqIixXdXQ9L14jKFswLTlhLWZdezMsOH0pJC8scXV0PW5ldyBSZWdFeHAoIl5yZ2JcXCgiK1tVdXQsVXV0LFV1dF0rIlxcKSQiKSxZdXQ9bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW0d1dCxHdXQsR3V0XSsiXFwpJCIpLFh1dD1uZXcgUmVnRXhwKCJecmdiYVxcKCIrW1V1dCxVdXQsVXV0LGp1dF0rIlxcKSQiKSwkdXQ9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tHdXQsR3V0LEd1dCxqdXRdKyJcXCkkIiksS3V0PW5ldyBSZWdFeHAoIl5oc2xcXCgiK1tqdXQsR3V0LEd1dF0rIlxcKSQiKSxadXQ9bmV3IFJlZ0V4cCgiXmhzbGFcXCgiK1tqdXQsR3V0LEd1dCxqdXRdKyJcXCkkIiksSnV0PXthbGljZWJsdWU6MTU3OTIzODMsYW50aXF1ZXdoaXRlOjE2NDQ0Mzc1LGFxdWE6NjU1MzUsYXF1YW1hcmluZTo4Mzg4NTY0LGF6dXJlOjE1Nzk0MTc1LGJlaWdlOjE2MTE5MjYwLGJpc3F1ZToxNjc3MDI0NCxibGFjazowLGJsYW5jaGVkYWxtb25kOjE2NzcyMDQ1LGJsdWU6MjU1LGJsdWV2aW9sZXQ6OTA1NTIwMixicm93bjoxMDgyNDIzNCxidXJseXdvb2Q6MTQ1OTYyMzEsY2FkZXRibHVlOjYyNjY1MjgsY2hhcnRyZXVzZTo4Mzg4MzUyLGNob2NvbGF0ZToxMzc4OTQ3MCxjb3JhbDoxNjc0NDI3Mixjb3JuZmxvd2VyYmx1ZTo2NTkxOTgxLGNvcm5zaWxrOjE2Nzc1Mzg4LGNyaW1zb246MTQ0MjMxMDAsY3lhbjo2NTUzNSxkYXJrYmx1ZToxMzksZGFya2N5YW46MzU3MjMsZGFya2dvbGRlbnJvZDoxMjA5MjkzOSxkYXJrZ3JheToxMTExOTAxNyxkYXJrZ3JlZW46MjU2MDAsZGFya2dyZXk6MTExMTkwMTcsZGFya2toYWtpOjEyNDMzMjU5LGRhcmttYWdlbnRhOjkxMDk2NDMsZGFya29saXZlZ3JlZW46NTU5Nzk5OSxkYXJrb3JhbmdlOjE2NzQ3NTIwLGRhcmtvcmNoaWQ6MTAwNDAwMTIsZGFya3JlZDo5MTA5NTA0LGRhcmtzYWxtb246MTUzMDg0MTAsZGFya3NlYWdyZWVuOjk0MTk5MTksZGFya3NsYXRlYmx1ZTo0NzM0MzQ3LGRhcmtzbGF0ZWdyYXk6MzEwMDQ5NSxkYXJrc2xhdGVncmV5OjMxMDA0OTUsZGFya3R1cnF1b2lzZTo1Mjk0NSxkYXJrdmlvbGV0Ojk2OTk1MzksZGVlcHBpbms6MTY3MTY5NDcsZGVlcHNreWJsdWU6NDkxNTEsZGltZ3JheTo2OTA4MjY1LGRpbWdyZXk6NjkwODI2NSxkb2RnZXJibHVlOjIwMDMxOTksZmlyZWJyaWNrOjExNjc0MTQ2LGZsb3JhbHdoaXRlOjE2Nzc1OTIwLGZvcmVzdGdyZWVuOjIyNjM4NDIsZnVjaHNpYToxNjcxMTkzNSxnYWluc2Jvcm86MTQ0NzQ0NjAsZ2hvc3R3aGl0ZToxNjMxNjY3MSxnb2xkOjE2NzY2NzIwLGdvbGRlbnJvZDoxNDMyOTEyMCxncmF5Ojg0MjE1MDQsZ3JlZW46MzI3NjgsZ3JlZW55ZWxsb3c6MTE0MDMwNTUsZ3JleTo4NDIxNTA0LGhvbmV5ZGV3OjE1Nzk0MTYwLGhvdHBpbms6MTY3Mzg3NDAsaW5kaWFucmVkOjEzNDU4NTI0LGluZGlnbzo0OTE1MzMwLGl2b3J5OjE2Nzc3MjAwLGtoYWtpOjE1Nzg3NjYwLGxhdmVuZGVyOjE1MTMyNDEwLGxhdmVuZGVyYmx1c2g6MTY3NzMzNjUsbGF3bmdyZWVuOjgxOTA5NzYsbGVtb25jaGlmZm9uOjE2Nzc1ODg1LGxpZ2h0Ymx1ZToxMTM5MzI1NCxsaWdodGNvcmFsOjE1NzYxNTM2LGxpZ2h0Y3lhbjoxNDc0NTU5OSxsaWdodGdvbGRlbnJvZHllbGxvdzoxNjQ0ODIxMCxsaWdodGdyYXk6MTM4ODIzMjMsbGlnaHRncmVlbjo5NDk4MjU2LGxpZ2h0Z3JleToxMzg4MjMyMyxsaWdodHBpbms6MTY3NTg0NjUsbGlnaHRzYWxtb246MTY3NTI3NjIsbGlnaHRzZWFncmVlbjoyMTQyODkwLGxpZ2h0c2t5Ymx1ZTo4OTAwMzQ2LGxpZ2h0c2xhdGVncmF5Ojc4MzM3NTMsbGlnaHRzbGF0ZWdyZXk6NzgzMzc1MyxsaWdodHN0ZWVsYmx1ZToxMTU4NDczNCxsaWdodHllbGxvdzoxNjc3NzE4NCxsaW1lOjY1MjgwLGxpbWVncmVlbjozMzI5MzMwLGxpbmVuOjE2NDQ1NjcwLG1hZ2VudGE6MTY3MTE5MzUsbWFyb29uOjgzODg2MDgsbWVkaXVtYXF1YW1hcmluZTo2NzM3MzIyLG1lZGl1bWJsdWU6MjA1LG1lZGl1bW9yY2hpZDoxMjIxMTY2NyxtZWRpdW1wdXJwbGU6OTY2MjY4MyxtZWRpdW1zZWFncmVlbjozOTc4MDk3LG1lZGl1bXNsYXRlYmx1ZTo4MDg3NzkwLG1lZGl1bXNwcmluZ2dyZWVuOjY0MTU0LG1lZGl1bXR1cnF1b2lzZTo0NzcyMzAwLG1lZGl1bXZpb2xldHJlZDoxMzA0NzE3MyxtaWRuaWdodGJsdWU6MTY0NDkxMixtaW50Y3JlYW06MTYxMjE4NTAsbWlzdHlyb3NlOjE2NzcwMjczLG1vY2Nhc2luOjE2NzcwMjI5LG5hdmFqb3doaXRlOjE2NzY4Njg1LG5hdnk6MTI4LG9sZGxhY2U6MTY2NDM1NTgsb2xpdmU6ODQyMTM3NixvbGl2ZWRyYWI6NzA0ODczOSxvcmFuZ2U6MTY3NTM5MjAsb3JhbmdlcmVkOjE2NzI5MzQ0LG9yY2hpZDoxNDMxNTczNCxwYWxlZ29sZGVucm9kOjE1NjU3MTMwLHBhbGVncmVlbjoxMDAyNTg4MCxwYWxldHVycXVvaXNlOjExNTI5OTY2LHBhbGV2aW9sZXRyZWQ6MTQzODEyMDMscGFwYXlhd2hpcDoxNjc3MzA3NyxwZWFjaHB1ZmY6MTY3Njc2NzMscGVydToxMzQ2ODk5MSxwaW5rOjE2NzYxMDM1LHBsdW06MTQ1MjQ2MzcscG93ZGVyYmx1ZToxMTU5MTkxMCxwdXJwbGU6ODM4ODczNixyZWJlY2NhcHVycGxlOjY2OTc4ODEscmVkOjE2NzExNjgwLHJvc3licm93bjoxMjM1NzUxOSxyb3lhbGJsdWU6NDI4Njk0NSxzYWRkbGVicm93bjo5MTI3MTg3LHNhbG1vbjoxNjQxNjg4MixzYW5keWJyb3duOjE2MDMyODY0LHNlYWdyZWVuOjMwNTAzMjcsc2Vhc2hlbGw6MTY3NzQ2Mzgsc2llbm5hOjEwNTA2Nzk3LHNpbHZlcjoxMjYzMjI1Nixza3libHVlOjg5MDAzMzEsc2xhdGVibHVlOjY5NzAwNjEsc2xhdGVncmF5OjczNzI5NDQsc2xhdGVncmV5OjczNzI5NDQsc25vdzoxNjc3NTkzMCxzcHJpbmdncmVlbjo2NTQwNyxzdGVlbGJsdWU6NDYyMDk4MCx0YW46MTM4MDg3ODAsdGVhbDozMjg5Nix0aGlzdGxlOjE0MjA0ODg4LHRvbWF0bzoxNjczNzA5NSx0dXJxdW9pc2U6NDI1MTg1Nix2aW9sZXQ6MTU2MzEwODYsd2hlYXQ6MTYxMTMzMzEsd2hpdGU6MTY3NzcyMTUsd2hpdGVzbW9rZToxNjExOTI4NSx5ZWxsb3c6MTY3NzY5NjAseWVsbG93Z3JlZW46MTAxNDUwNzR9O2Z1bmN0aW9uIFF1dCgpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdEhleCgpfWZ1bmN0aW9uIHRodCgpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdFJnYigpfWZ1bmN0aW9uIGVodCh0KXt2YXIgZSxuO3JldHVybiB0PSh0KyIiKS50cmltKCkudG9Mb3dlckNhc2UoKSwoZT1XdXQuZXhlYyh0KSk/KG49ZVsxXS5sZW5ndGgsZT1wYXJzZUludChlWzFdLDE2KSw2PT09bj9uaHQoZSk6Mz09PW4/bmV3IGFodChlPj44JjE1fGU+PjQmMjQwLGU+PjQmMTV8MjQwJmUsKDE1JmUpPDw0fDE1JmUsMSk6OD09PW4/aWh0KGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsKDI1NSZlKS8yNTUpOjQ9PT1uP2lodChlPj4xMiYxNXxlPj44JjI0MCxlPj44JjE1fGU+PjQmMjQwLGU+PjQmMTV8MjQwJmUsKCgxNSZlKTw8NHwxNSZlKS8yNTUpOm51bGwpOihlPXF1dC5leGVjKHQpKT9uZXcgYWh0KGVbMV0sZVsyXSxlWzNdLDEpOihlPVl1dC5leGVjKHQpKT9uZXcgYWh0KDI1NSplWzFdLzEwMCwyNTUqZVsyXS8xMDAsMjU1KmVbM10vMTAwLDEpOihlPVh1dC5leGVjKHQpKT9paHQoZVsxXSxlWzJdLGVbM10sZVs0XSk6KGU9JHV0LmV4ZWModCkpP2lodCgyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCxlWzRdKTooZT1LdXQuZXhlYyh0KSk/dWh0KGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsMSk6KGU9WnV0LmV4ZWModCkpP3VodChlWzFdLGVbMl0vMTAwLGVbM10vMTAwLGVbNF0pOkp1dC5oYXNPd25Qcm9wZXJ0eSh0KT9uaHQoSnV0W3RdKToidHJhbnNwYXJlbnQiPT09dD9uZXcgYWh0KE5hTixOYU4sTmFOLDApOm51bGx9ZnVuY3Rpb24gbmh0KHQpe3JldHVybiBuZXcgYWh0KHQ+PjE2JjI1NSx0Pj44JjI1NSwyNTUmdCwxKX1mdW5jdGlvbiBpaHQodCxlLG4saSl7cmV0dXJuIGk8PTAmJih0PWU9bj1OYU4pLG5ldyBhaHQodCxlLG4saSl9ZnVuY3Rpb24gcmh0KHQpe3JldHVybiB0IGluc3RhbmNlb2YgbHV0fHwodD1laHQodCkpLHQ/bmV3IGFodCgodD10LnJnYigpKS5yLHQuZyx0LmIsdC5vcGFjaXR5KTpuZXcgYWh0fWZ1bmN0aW9uIG9odCh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/cmh0KHQpOm5ldyBhaHQodCxlLG4sbnVsbD09aT8xOmkpfWZ1bmN0aW9uIGFodCh0LGUsbixpKXt0aGlzLnI9K3QsdGhpcy5nPStlLHRoaXMuYj0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24gc2h0KCl7cmV0dXJuIiMiK2NodCh0aGlzLnIpK2NodCh0aGlzLmcpK2NodCh0aGlzLmIpfWZ1bmN0aW9uIGxodCgpe3ZhciB0PXRoaXMub3BhY2l0eTtyZXR1cm4oMT09PSh0PWlzTmFOKHQpPzE6TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSk/InJnYigiOiJyZ2JhKCIpK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5yKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmcpfHwwKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMuYil8fDApKSsoMT09PXQ/IikiOiIsICIrdCsiKSIpfWZ1bmN0aW9uIGNodCh0KXtyZXR1cm4oKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0KXx8MCkpKTwxNj8iMCI6IiIpK3QudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIHVodCh0LGUsbixpKXtyZXR1cm4gaTw9MD90PWU9bj1OYU46bjw9MHx8bj49MT90PWU9TmFOOmU8PTAmJih0PU5hTiksbmV3IGRodCh0LGUsbixpKX1mdW5jdGlvbiBoaHQodCl7aWYodCBpbnN0YW5jZW9mIGRodClyZXR1cm4gbmV3IGRodCh0LmgsdC5zLHQubCx0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBsdXR8fCh0PWVodCh0KSksIXQpcmV0dXJuIG5ldyBkaHQ7aWYodCBpbnN0YW5jZW9mIGRodClyZXR1cm4gdDt2YXIgZT0odD10LnJnYigpKS5yLzI1NSxuPXQuZy8yNTUsaT10LmIvMjU1LHI9TWF0aC5taW4oZSxuLGkpLG89TWF0aC5tYXgoZSxuLGkpLGE9TmFOLHM9by1yLGw9KG8rcikvMjtyZXR1cm4gcz8oYT1lPT09bz8obi1pKS9zKzYqKG48aSk6bj09PW8/KGktZSkvcysyOihlLW4pL3MrNCxzLz1sPC41P28rcjoyLW8tcixhKj02MCk6cz1sPjAmJmw8MT8wOmEsbmV3IGRodChhLHMsbCx0Lm9wYWNpdHkpfWZ1bmN0aW9uIGRodCh0LGUsbixpKXt0aGlzLmg9K3QsdGhpcy5zPStlLHRoaXMubD0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24gcGh0KHQsZSxuKXtyZXR1cm4gMjU1Kih0PDYwP2UrKG4tZSkqdC82MDp0PDE4MD9uOnQ8MjQwP2UrKG4tZSkqKDI0MC10KS82MDplKX1mdW5jdGlvbiBmaHQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIG1odCh0KXtyZXR1cm4gMT09KHQ9K3QpP2dodDpmdW5jdGlvbihlLG4pe3JldHVybiBuLWU/KGZ1bmN0aW9uIGkodCxlLG4pe3JldHVybiB0PU1hdGgucG93KHQsbiksZT1NYXRoLnBvdyhlLG4pLXQsbj0xL24sZnVuY3Rpb24oaSl7cmV0dXJuIE1hdGgucG93KHQraSplLG4pfX0pKGUsbix0KTpmaHQoaXNOYU4oZSk/bjplKX19ZnVuY3Rpb24gZ2h0KHQsZSl7dmFyIG49ZS10O3JldHVybiBuPyhmdW5jdGlvbiBpKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0K24qZX19KSh0LG4pOmZodChpc05hTih0KT9lOnQpfWF1dChsdXQsZWh0LHtjb3B5OmZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuYXNzaWduKG5ldyB0aGlzLmNvbnN0cnVjdG9yLHRoaXMsdCl9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkuZGlzcGxheWFibGUoKX0saGV4OlF1dCxmb3JtYXRIZXg6UXV0LGZvcm1hdEhzbDpmdW5jdGlvbiBfaHQoKXtyZXR1cm4gaGh0KHRoaXMpLmZvcm1hdEhzbCgpfSxmb3JtYXRSZ2I6dGh0LHRvU3RyaW5nOnRodH0pLGF1dChhaHQsb2h0LHN1dChsdXQse2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/VnV0Ok1hdGgucG93KFZ1dCx0KSxuZXcgYWh0KHRoaXMucip0LHRoaXMuZyp0LHRoaXMuYip0LHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P0Z1dDpNYXRoLnBvdyhGdXQsdCksbmV3IGFodCh0aGlzLnIqdCx0aGlzLmcqdCx0aGlzLmIqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sZGlzcGxheWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4tLjU8PXRoaXMuciYmdGhpcy5yPDI1NS41JiYtLjU8PXRoaXMuZyYmdGhpcy5nPDI1NS41JiYtLjU8PXRoaXMuYiYmdGhpcy5iPDI1NS41JiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0saGV4OnNodCxmb3JtYXRIZXg6c2h0LGZvcm1hdFJnYjpsaHQsdG9TdHJpbmc6bGh0fSkpLGF1dChkaHQsKGZ1bmN0aW9uIHlodCh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/aGh0KHQpOm5ldyBkaHQodCxlLG4sbnVsbD09aT8xOmkpfSksc3V0KGx1dCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9WdXQ6TWF0aC5wb3coVnV0LHQpLG5ldyBkaHQodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9GdXQ6TWF0aC5wb3coRnV0LHQpLG5ldyBkaHQodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmglMzYwKzM2MCoodGhpcy5oPDApLGU9aXNOYU4odCl8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsbj10aGlzLmwsaT1uKyhuPC41P246MS1uKSplLHI9MipuLWk7cmV0dXJuIG5ldyBhaHQocGh0KHQ+PTI0MD90LTI0MDp0KzEyMCxyLGkpLHBodCh0LHIsaSkscGh0KHQ8MTIwP3QrMjQwOnQtMTIwLHIsaSksdGhpcy5vcGFjaXR5KX0sZGlzcGxheWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4oMDw9dGhpcy5zJiZ0aGlzLnM8PTF8fGlzTmFOKHRoaXMucykpJiYwPD10aGlzLmwmJnRoaXMubDw9MSYmMDw9dGhpcy5vcGFjaXR5JiZ0aGlzLm9wYWNpdHk8PTF9LGZvcm1hdEhzbDpmdW5jdGlvbigpe3ZhciB0PXRoaXMub3BhY2l0eTtyZXR1cm4oMT09PSh0PWlzTmFOKHQpPzE6TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSk/ImhzbCgiOiJoc2xhKCIpKyh0aGlzLmh8fDApKyIsICIrMTAwKih0aGlzLnN8fDApKyIlLCAiKzEwMCoodGhpcy5sfHwwKSsiJSIrKDE9PT10PyIpIjoiLCAiK3QrIikiKX19KSk7dmFyIHZodD0oZnVuY3Rpb24gdChlKXt2YXIgbj1taHQoZSk7ZnVuY3Rpb24gaSh0LGUpe3ZhciBpPW4oKHQ9b2h0KHQpKS5yLChlPW9odChlKSkucikscj1uKHQuZyxlLmcpLG89bih0LmIsZS5iKSxhPWdodCh0Lm9wYWNpdHksZS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQucj1pKGUpLHQuZz1yKGUpLHQuYj1vKGUpLHQub3BhY2l0eT1hKGUpLHQrIiJ9fXJldHVybiBpLmdhbW1hPXQsaX0pKDEpO2Z1bmN0aW9uIGJodCh0LGUpe3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24obil7cmV0dXJuIHQqKDEtbikrZSpufX12YXIgeGh0PS9bLStdPyg/OlxkK1wuP1xkKnxcLj9cZCspKD86W2VFXVstK10/XGQrKT8vZyx3aHQ9bmV3IFJlZ0V4cCh4aHQuc291cmNlLCJnIik7ZnVuY3Rpb24gU2h0KHQsZSl7dmFyIG4saSxyLG89eGh0Lmxhc3RJbmRleD13aHQubGFzdEluZGV4PTAsYT0tMSxzPVtdLGw9W107Zm9yKHQrPSIiLGUrPSIiOyhuPXhodC5leGVjKHQpKSYmKGk9d2h0LmV4ZWMoZSkpOykocj1pLmluZGV4KT5vJiYocj1lLnNsaWNlKG8sciksc1thXT9zW2FdKz1yOnNbKythXT1yKSwobj1uWzBdKT09PShpPWlbMF0pP3NbYV0/c1thXSs9aTpzWysrYV09aTooc1srK2FdPW51bGwsbC5wdXNoKHtpOmEseDpiaHQobixpKX0pKSxvPXdodC5sYXN0SW5kZXg7cmV0dXJuIG88ZS5sZW5ndGgmJihyPWUuc2xpY2Uobyksc1thXT9zW2FdKz1yOnNbKythXT1yKSxzLmxlbmd0aDwyP2xbMF0/KGZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpKyIifX0pKGxbMF0ueCk6KGZ1bmN0aW9uIHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkoZSk6KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciBuLGk9MDtpPGU7KytpKXNbKG49bFtpXSkuaV09bi54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9dmFyIE1odCxFaHQsVGh0LENodCxBaHQ9MTgwL01hdGguUEksa2h0PXt0cmFuc2xhdGVYOjAsdHJhbnNsYXRlWTowLHJvdGF0ZTowLHNrZXdYOjAsc2NhbGVYOjEsc2NhbGVZOjF9O2Z1bmN0aW9uIExodCh0LGUsbixpLHIsbyl7dmFyIGEscyxsO3JldHVybihhPU1hdGguc3FydCh0KnQrZSplKSkmJih0Lz1hLGUvPWEpLChsPXQqbitlKmkpJiYobi09dCpsLGktPWUqbCksKHM9TWF0aC5zcXJ0KG4qbitpKmkpKSYmKG4vPXMsaS89cyxsLz1zKSx0Kmk8ZSpuJiYodD0tdCxlPS1lLGw9LWwsYT0tYSkse3RyYW5zbGF0ZVg6cix0cmFuc2xhdGVZOm8scm90YXRlOk1hdGguYXRhbjIoZSx0KSpBaHQsc2tld1g6TWF0aC5hdGFuKGwpKkFodCxzY2FsZVg6YSxzY2FsZVk6c319ZnVuY3Rpb24gUGh0KHQsZSxuLGkpe2Z1bmN0aW9uIHIodCl7cmV0dXJuIHQubGVuZ3RoP3QucG9wKCkrIiAiOiIifXJldHVybiBmdW5jdGlvbihvLGEpe3ZhciBzPVtdLGw9W107cmV0dXJuIG89dChvKSxhPXQoYSksKGZ1bmN0aW9uIGModCxpLHIsbyxhLHMpe2lmKHQhPT1yfHxpIT09byl7dmFyIGw9YS5wdXNoKCJ0cmFuc2xhdGUoIixudWxsLGUsbnVsbCxuKTtzLnB1c2goe2k6bC00LHg6Ymh0KHQscil9LHtpOmwtMix4OmJodChpLG8pfSl9ZWxzZShyfHxvKSYmYS5wdXNoKCJ0cmFuc2xhdGUoIityK2UrbytuKX0pKG8udHJhbnNsYXRlWCxvLnRyYW5zbGF0ZVksYS50cmFuc2xhdGVYLGEudHJhbnNsYXRlWSxzLGwpLChmdW5jdGlvbiB1KHQsZSxuLG8pe3QhPT1lPyh0LWU+MTgwP2UrPTM2MDplLXQ+MTgwJiYodCs9MzYwKSxvLnB1c2goe2k6bi5wdXNoKHIobikrInJvdGF0ZSgiLG51bGwsaSktMix4OmJodCh0LGUpfSkpOmUmJm4ucHVzaChyKG4pKyJyb3RhdGUoIitlK2kpfSkoby5yb3RhdGUsYS5yb3RhdGUscyxsKSwoZnVuY3Rpb24gaCh0LGUsbixvKXt0IT09ZT9vLnB1c2goe2k6bi5wdXNoKHIobikrInNrZXdYKCIsbnVsbCxpKS0yLHg6Ymh0KHQsZSl9KTplJiZuLnB1c2gocihuKSsic2tld1goIitlK2kpfSkoby5za2V3WCxhLnNrZXdYLHMsbCksKGZ1bmN0aW9uIGQodCxlLG4saSxvLGEpe2lmKHQhPT1ufHxlIT09aSl7dmFyIHM9by5wdXNoKHIobykrInNjYWxlKCIsbnVsbCwiLCIsbnVsbCwiKSIpO2EucHVzaCh7aTpzLTQseDpiaHQodCxuKX0se2k6cy0yLHg6Ymh0KGUsaSl9KX1lbHNlIDE9PT1uJiYxPT09aXx8by5wdXNoKHIobykrInNjYWxlKCIrbisiLCIraSsiKSIpfSkoby5zY2FsZVgsby5zY2FsZVksYS5zY2FsZVgsYS5zY2FsZVkscyxsKSxvPWE9bnVsbCxmdW5jdGlvbih0KXtmb3IodmFyIGUsbj0tMSxpPWwubGVuZ3RoOysrbjxpOylzWyhlPWxbbl0pLmldPWUueCh0KTtyZXR1cm4gcy5qb2luKCIiKX19fXZhciBOaHQ9UGh0KChmdW5jdGlvbiBJaHQodCl7cmV0dXJuIm5vbmUiPT09dD9raHQ6KE1odHx8KE1odD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJESVYiKSxFaHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LFRodD1kb2N1bWVudC5kZWZhdWx0VmlldyksTWh0LnN0eWxlLnRyYW5zZm9ybT10LHQ9VGh0LmdldENvbXB1dGVkU3R5bGUoRWh0LmFwcGVuZENoaWxkKE1odCksbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgidHJhbnNmb3JtIiksRWh0LnJlbW92ZUNoaWxkKE1odCksTGh0KCsodD10LnNsaWNlKDcsLTEpLnNwbGl0KCIsIikpWzBdLCt0WzFdLCt0WzJdLCt0WzNdLCt0WzRdLCt0WzVdKSl9KSwicHgsICIsInB4KSIsImRlZykiKSxSaHQ9UGh0KChmdW5jdGlvbiBPaHQodCl7cmV0dXJuIG51bGw9PXQ/a2h0OihDaHR8fChDaHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImciKSksQ2h0LnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIix0KSwodD1DaHQudHJhbnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKSk/TGh0KCh0PXQubWF0cml4KS5hLHQuYix0LmMsdC5kLHQuZSx0LmYpOmtodCl9KSwiLCAiLCIpIiwiKSIpLHpodD1NYXRoLlNRUlQyO2Z1bmN0aW9uIERodCh0KXtyZXR1cm4oKHQ9TWF0aC5leHAodCkpKzEvdCkvMn1mdW5jdGlvbiBCaHQodCxlKXt2YXIgbixpLHI9dFswXSxvPXRbMV0sYT10WzJdLHM9ZVsyXSxsPWVbMF0tcixjPWVbMV0tbyx1PWwqbCtjKmM7aWYodTwxZS0xMilpPU1hdGgubG9nKHMvYSkvemh0LG49ZnVuY3Rpb24odCl7cmV0dXJuW3IrdCpsLG8rdCpjLGEqTWF0aC5leHAoemh0KnQqaSldfTtlbHNle3ZhciBoPU1hdGguc3FydCh1KSxkPShzKnMtYSphKzQqdSkvKDIqYSoyKmgpLHA9KHMqcy1hKmEtNCp1KS8oMipzKjIqaCksZj1NYXRoLmxvZyhNYXRoLnNxcnQoZCpkKzEpLWQpLG09TWF0aC5sb2coTWF0aC5zcXJ0KHAqcCsxKS1wKTtpPShtLWYpL3podCxuPWZ1bmN0aW9uKHQpe3ZhciBlPXQqaSxuPURodChmKSxzPWEvKDIqaCkqKG4qKGZ1bmN0aW9uIHUodCl7cmV0dXJuKCh0PU1hdGguZXhwKDIqdCkpLTEpLyh0KzEpfSkoemh0KmUrZiktKGZ1bmN0aW9uIGQodCl7cmV0dXJuKCh0PU1hdGguZXhwKHQpKS0xL3QpLzJ9KShmKSk7cmV0dXJuW3IrcypsLG8rcypjLGEqbi9EaHQoemh0KmUrZildfX1yZXR1cm4gbi5kdXJhdGlvbj0xZTMqaSxufXZhciBIaHQsRmh0LFZodD0wLFVodD0wLGpodD0wLEdodD0wLFdodD0wLHFodD0wLFlodD0ib2JqZWN0Ij09dHlwZW9mIHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5ub3c/cGVyZm9ybWFuY2U6RGF0ZSxYaHQ9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdyk6ZnVuY3Rpb24odCl7c2V0VGltZW91dCh0LDE3KX07ZnVuY3Rpb24gJGh0KCl7cmV0dXJuIFdodHx8KFhodChLaHQpLFdodD1ZaHQubm93KCkrcWh0KX1mdW5jdGlvbiBLaHQoKXtXaHQ9MH1mdW5jdGlvbiBaaHQoKXt0aGlzLl9jYWxsPXRoaXMuX3RpbWU9dGhpcy5fbmV4dD1udWxsfWZ1bmN0aW9uIEpodCh0LGUsbil7dmFyIGk9bmV3IFpodDtyZXR1cm4gaS5yZXN0YXJ0KHQsZSxuKSxpfWZ1bmN0aW9uIFFodCgpe1dodD0oR2h0PVlodC5ub3coKSkrcWh0LFZodD1VaHQ9MDt0cnl7IShmdW5jdGlvbiB0KCl7JGh0KCksKytWaHQ7Zm9yKHZhciB0LGU9SGh0O2U7KSh0PVdodC1lLl90aW1lKT49MCYmZS5fY2FsbC5jYWxsKG51bGwsdCksZT1lLl9uZXh0Oy0tVmh0fSkoKX1maW5hbGx5e1ZodD0wLChmdW5jdGlvbiBlKCl7dmFyIHQsZSxuPUhodCxpPTEvMDtmb3IoO247KW4uX2NhbGw/KGk+bi5fdGltZSYmKGk9bi5fdGltZSksdD1uLG49bi5fbmV4dCk6KGU9bi5fbmV4dCxuLl9uZXh0PW51bGwsbj10P3QuX25leHQ9ZTpIaHQ9ZSk7Rmh0PXQsZWR0KGkpfSkoKSxXaHQ9MH19ZnVuY3Rpb24gdGR0KCl7dmFyIHQ9WWh0Lm5vdygpLGU9dC1HaHQ7ZT4xZTMmJihxaHQtPWUsR2h0PXQpfWZ1bmN0aW9uIGVkdCh0KXtWaHR8fChVaHQmJihVaHQ9Y2xlYXJUaW1lb3V0KFVodCkpLHQtV2h0PjI0Pyh0PDEvMCYmKFVodD1zZXRUaW1lb3V0KFFodCx0LVlodC5ub3coKS1xaHQpKSxqaHQmJihqaHQ9Y2xlYXJJbnRlcnZhbChqaHQpKSk6KGpodHx8KEdodD1ZaHQubm93KCksamh0PXNldEludGVydmFsKHRkdCwxZTMpKSxWaHQ9MSxYaHQoUWh0KSkpfWZ1bmN0aW9uIG5kdCh0LGUsbil7dmFyIGk9bmV3IFpodDtyZXR1cm4gaS5yZXN0YXJ0KChmdW5jdGlvbihuKXtpLnN0b3AoKSx0KG4rZSl9KSxlPW51bGw9PWU/MDorZSxuKSxpfVpodC5wcm90b3R5cGU9Smh0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6Wmh0LHJlc3RhcnQ6ZnVuY3Rpb24odCxlLG4pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoImNhbGxiYWNrIGlzIG5vdCBhIGZ1bmN0aW9uIik7bj0obnVsbD09bj8kaHQoKTorbikrKG51bGw9PWU/MDorZSksdGhpcy5fbmV4dHx8Rmh0PT09dGhpc3x8KEZodD9GaHQuX25leHQ9dGhpczpIaHQ9dGhpcyxGaHQ9dGhpcyksdGhpcy5fY2FsbD10LHRoaXMuX3RpbWU9bixlZHQoKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuX2NhbGwmJih0aGlzLl9jYWxsPW51bGwsdGhpcy5fdGltZT0xLzAsZWR0KCkpfX07dmFyIGlkdD1CbHQoInN0YXJ0IiwiZW5kIiwiY2FuY2VsIiwiaW50ZXJydXB0IikscmR0PVtdO2Z1bmN0aW9uIG9kdCh0LGUsbixpLHIsbyl7dmFyIGE9dC5fX3RyYW5zaXRpb247aWYoYSl7aWYobiBpbiBhKXJldHVybn1lbHNlIHQuX190cmFuc2l0aW9uPXt9OyEoZnVuY3Rpb24gcyh0LGUsbil7dmFyIGkscj10Ll9fdHJhbnNpdGlvbjtmdW5jdGlvbiBvKHQpe24uc3RhdGU9MSxuLnRpbWVyLnJlc3RhcnQoYSxuLmRlbGF5LG4udGltZSksbi5kZWxheTw9dCYmYSh0LW4uZGVsYXkpfWZ1bmN0aW9uIGEobyl7dmFyIGMsdSxoLGQ7aWYoMSE9PW4uc3RhdGUpcmV0dXJuIGwoKTtmb3IoYyBpbiByKWlmKChkPXJbY10pLm5hbWU9PT1uLm5hbWUpe2lmKDM9PT1kLnN0YXRlKXJldHVybiBuZHQoYSk7ND09PWQuc3RhdGU/KGQuc3RhdGU9NixkLnRpbWVyLnN0b3AoKSxkLm9uLmNhbGwoImludGVycnVwdCIsdCx0Ll9fZGF0YV9fLGQuaW5kZXgsZC5ncm91cCksZGVsZXRlIHJbY10pOitjPGUmJihkLnN0YXRlPTYsZC50aW1lci5zdG9wKCksZC5vbi5jYWxsKCJjYW5jZWwiLHQsdC5fX2RhdGFfXyxkLmluZGV4LGQuZ3JvdXApLGRlbGV0ZSByW2NdKX1pZihuZHQoKGZ1bmN0aW9uKCl7Mz09PW4uc3RhdGUmJihuLnN0YXRlPTQsbi50aW1lci5yZXN0YXJ0KHMsbi5kZWxheSxuLnRpbWUpLHMobykpfSkpLG4uc3RhdGU9MixuLm9uLmNhbGwoInN0YXJ0Iix0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSwyPT09bi5zdGF0ZSl7Zm9yKG4uc3RhdGU9MyxpPW5ldyBBcnJheShoPW4udHdlZW4ubGVuZ3RoKSxjPTAsdT0tMTtjPGg7KytjKShkPW4udHdlZW5bY10udmFsdWUuY2FsbCh0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSkmJihpWysrdV09ZCk7aS5sZW5ndGg9dSsxfX1mdW5jdGlvbiBzKGUpe2Zvcih2YXIgcj1lPG4uZHVyYXRpb24/bi5lYXNlLmNhbGwobnVsbCxlL24uZHVyYXRpb24pOihuLnRpbWVyLnJlc3RhcnQobCksbi5zdGF0ZT01LDEpLG89LTEsYT1pLmxlbmd0aDsrK288YTspaVtvXS5jYWxsKHQscik7NT09PW4uc3RhdGUmJihuLm9uLmNhbGwoImVuZCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksbCgpKX1mdW5jdGlvbiBsKCl7Zm9yKHZhciBpIGluIG4uc3RhdGU9NixuLnRpbWVyLnN0b3AoKSxkZWxldGUgcltlXSxyKXJldHVybjtkZWxldGUgdC5fX3RyYW5zaXRpb259cltlXT1uLG4udGltZXI9Smh0KG8sMCxuLnRpbWUpfSkodCxuLHtuYW1lOmUsaW5kZXg6aSxncm91cDpyLG9uOmlkdCx0d2VlbjpyZHQsdGltZTpvLnRpbWUsZGVsYXk6by5kZWxheSxkdXJhdGlvbjpvLmR1cmF0aW9uLGVhc2U6by5lYXNlLHRpbWVyOm51bGwsc3RhdGU6MH0pfWZ1bmN0aW9uIGFkdCh0LGUpe3ZhciBuPWxkdCh0LGUpO2lmKG4uc3RhdGU+MCl0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHNjaGVkdWxlZCIpO3JldHVybiBufWZ1bmN0aW9uIHNkdCh0LGUpe3ZhciBuPWxkdCh0LGUpO2lmKG4uc3RhdGU+Myl0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHJ1bm5pbmciKTtyZXR1cm4gbn1mdW5jdGlvbiBsZHQodCxlKXt2YXIgbj10Ll9fdHJhbnNpdGlvbjtpZighbnx8IShuPW5bZV0pKXRocm93IG5ldyBFcnJvcigidHJhbnNpdGlvbiBub3QgZm91bmQiKTtyZXR1cm4gbn1mdW5jdGlvbiBjZHQodCxlKXt2YXIgbixpLHIsbz10Ll9fdHJhbnNpdGlvbixhPSEwO2lmKG8pe2ZvcihyIGluIGU9bnVsbD09ZT9udWxsOmUrIiIsbykobj1vW3JdKS5uYW1lPT09ZT8oaT1uLnN0YXRlPjImJm4uc3RhdGU8NSxuLnN0YXRlPTYsbi50aW1lci5zdG9wKCksbi5vbi5jYWxsKGk/ImludGVycnVwdCI6ImNhbmNlbCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksZGVsZXRlIG9bcl0pOmE9ITE7YSYmZGVsZXRlIHQuX190cmFuc2l0aW9ufX1mdW5jdGlvbiB1ZHQodCxlKXt2YXIgbixpO3JldHVybiBmdW5jdGlvbigpe3ZhciByPXNkdCh0aGlzLHQpLG89ci50d2VlbjtpZihvIT09bilmb3IodmFyIGE9MCxzPShpPW49bykubGVuZ3RoO2E8czsrK2EpaWYoaVthXS5uYW1lPT09ZSl7KGk9aS5zbGljZSgpKS5zcGxpY2UoYSwxKTticmVha31yLnR3ZWVuPWl9fWZ1bmN0aW9uIGhkdCh0LGUsbil7dmFyIGkscjtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG89c2R0KHRoaXMsdCksYT1vLnR3ZWVuO2lmKGEhPT1pKXtyPShpPWEpLnNsaWNlKCk7Zm9yKHZhciBzPXtuYW1lOmUsdmFsdWU6bn0sbD0wLGM9ci5sZW5ndGg7bDxjOysrbClpZihyW2xdLm5hbWU9PT1lKXtyW2xdPXM7YnJlYWt9bD09PWMmJnIucHVzaChzKX1vLnR3ZWVuPXJ9fWZ1bmN0aW9uIGRkdCh0LGUsbil7dmFyIGk9dC5faWQ7cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24oKXt2YXIgdD1zZHQodGhpcyxpKTsodC52YWx1ZXx8KHQudmFsdWU9e30pKVtlXT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pKSxmdW5jdGlvbih0KXtyZXR1cm4gbGR0KHQsaSkudmFsdWVbZV19fWZ1bmN0aW9uIHBkdCh0LGUpe3ZhciBuO3JldHVybigibnVtYmVyIj09dHlwZW9mIGU/Ymh0OmUgaW5zdGFuY2VvZiBlaHQ/dmh0OihuPWVodChlKSk/KGU9bix2aHQpOlNodCkodCxlKX1mdW5jdGlvbiBmZHQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIG1kdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIGdkdCh0LGUsbil7dmFyIGkscixvPW4rIiI7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRBdHRyaWJ1dGUodCk7cmV0dXJuIGE9PT1vP251bGw6YT09PWk/cjpyPWUoaT1hLG4pfX1mdW5jdGlvbiBfZHQodCxlLG4pe3ZhciBpLHIsbz1uKyIiO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKTtyZXR1cm4gYT09PW8/bnVsbDphPT09aT9yOnI9ZShpPWEsbil9fWZ1bmN0aW9uIHlkdCh0LGUsbil7dmFyIGkscixvO3JldHVybiBmdW5jdGlvbigpe3ZhciBhLHMsbD1uKHRoaXMpO2lmKG51bGwhPWwpcmV0dXJuKGE9dGhpcy5nZXRBdHRyaWJ1dGUodCkpPT09KHM9bCsiIik/bnVsbDphPT09aSYmcz09PXI/bzoocj1zLG89ZShpPWEsbCkpO3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpfX1mdW5jdGlvbiB2ZHQodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYSxzLGw9bih0aGlzKTtpZihudWxsIT1sKXJldHVybihhPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKSk9PT0ocz1sKyIiKT9udWxsOmE9PT1pJiZzPT09cj9vOihyPXMsbz1lKGk9YSxsKSk7dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpfX1mdW5jdGlvbiBiZHQodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dGhpcy5zZXRBdHRyaWJ1dGUodCxlLmNhbGwodGhpcyxuKSl9fWZ1bmN0aW9uIHhkdCh0LGUpe3JldHVybiBmdW5jdGlvbihuKXt0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxlLmNhbGwodGhpcyxuKSl9fWZ1bmN0aW9uIHdkdCh0LGUpe3ZhciBuLGk7ZnVuY3Rpb24gcigpe3ZhciByPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiByIT09aSYmKG49KGk9cikmJnhkdCh0LHIpKSxufXJldHVybiByLl92YWx1ZT1lLHJ9ZnVuY3Rpb24gU2R0KHQsZSl7dmFyIG4saTtmdW5jdGlvbiByKCl7dmFyIHI9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHIhPT1pJiYobj0oaT1yKSYmYmR0KHQscikpLG59cmV0dXJuIHIuX3ZhbHVlPWUscn1mdW5jdGlvbiBNZHQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXthZHQodGhpcyx0KS5kZWxheT0rZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIEVkdCh0LGUpe3JldHVybiBlPStlLGZ1bmN0aW9uKCl7YWR0KHRoaXMsdCkuZGVsYXk9ZX19ZnVuY3Rpb24gVGR0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7c2R0KHRoaXMsdCkuZHVyYXRpb249K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBDZHQodCxlKXtyZXR1cm4gZT0rZSxmdW5jdGlvbigpe3NkdCh0aGlzLHQpLmR1cmF0aW9uPWV9fWZ1bmN0aW9uIEFkdCh0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcjtyZXR1cm4gZnVuY3Rpb24oKXtzZHQodGhpcyx0KS5lYXNlPWV9fWZ1bmN0aW9uIGtkdCh0LGUsbil7dmFyIGkscixvPShmdW5jdGlvbiBhKHQpe3JldHVybih0KyIiKS50cmltKCkuc3BsaXQoL158XHMrLykuZXZlcnkoKGZ1bmN0aW9uKHQpe3ZhciBlPXQuaW5kZXhPZigiLiIpO3JldHVybiBlPj0wJiYodD10LnNsaWNlKDAsZSkpLCF0fHwic3RhcnQiPT09dH0pKX0pKGUpP2FkdDpzZHQ7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9byh0aGlzLHQpLHM9YS5vbjtzIT09aSYmKHI9KGk9cykuY29weSgpKS5vbihlLG4pLGEub249cn19dmFyIExkdD1aY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yO2Z1bmN0aW9uIFBkdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX1mdW5jdGlvbiBOZHQodCxlLG4pe3JldHVybiBmdW5jdGlvbihpKXt0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsZS5jYWxsKHRoaXMsaSksbil9fWZ1bmN0aW9uIElkdCh0LGUsbil7dmFyIGkscjtmdW5jdGlvbiBvKCl7dmFyIG89ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG8hPT1yJiYoaT0ocj1vKSYmTmR0KHQsbyxuKSksaX1yZXR1cm4gby5fdmFsdWU9ZSxvfWZ1bmN0aW9uIFJkdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dGhpcy50ZXh0Q29udGVudD10LmNhbGwodGhpcyxlKX19ZnVuY3Rpb24gT2R0KHQpe3ZhciBlLG47ZnVuY3Rpb24gaSgpe3ZhciBpPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBpIT09biYmKGU9KG49aSkmJlJkdChpKSksZX1yZXR1cm4gaS5fdmFsdWU9dCxpfXZhciB6ZHQ9MDtmdW5jdGlvbiBEZHQodCxlLG4saSl7dGhpcy5fZ3JvdXBzPXQsdGhpcy5fcGFyZW50cz1lLHRoaXMuX25hbWU9bix0aGlzLl9pZD1pfWZ1bmN0aW9uIEJkdCgpe3JldHVybisremR0fXZhciBIZHQ9WmN0LnByb3RvdHlwZTtEZHQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpEZHQsc2VsZWN0OmZ1bmN0aW9uIEZkdCh0KXt2YXIgZT10aGlzLl9uYW1lLG49dGhpcy5faWQ7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PUtsdCh0KSk7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89bmV3IEFycmF5KHIpLGE9MDthPHI7KythKWZvcih2YXIgcyxsLGM9aVthXSx1PWMubGVuZ3RoLGg9b1thXT1uZXcgQXJyYXkodSksZD0wO2Q8dTsrK2QpKHM9Y1tkXSkmJihsPXQuY2FsbChzLHMuX19kYXRhX18sZCxjKSkmJigiX19kYXRhX18iaW4gcyYmKGwuX19kYXRhX189cy5fX2RhdGFfXyksaFtkXT1sLG9kdChoW2RdLGUsbixkLGgsbGR0KHMsbikpKTtyZXR1cm4gbmV3IERkdChvLHRoaXMuX3BhcmVudHMsZSxuKX0sc2VsZWN0QWxsOmZ1bmN0aW9uIFZkdCh0KXt2YXIgZT10aGlzLl9uYW1lLG49dGhpcy5faWQ7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PUpsdCh0KSk7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89W10sYT1bXSxzPTA7czxyOysrcylmb3IodmFyIGwsYz1pW3NdLHU9Yy5sZW5ndGgsaD0wO2g8dTsrK2gpaWYobD1jW2hdKXtmb3IodmFyIGQscD10LmNhbGwobCxsLl9fZGF0YV9fLGgsYyksZj1sZHQobCxuKSxtPTAsZz1wLmxlbmd0aDttPGc7KyttKShkPXBbbV0pJiZvZHQoZCxlLG4sbSxwLGYpO28ucHVzaChwKSxhLnB1c2gobCl9cmV0dXJuIG5ldyBEZHQobyxhLGUsbil9LGZpbHRlcjpmdW5jdGlvbiBVZHQodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVFsdCh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhPWVbcl0scz1hLmxlbmd0aCxsPWlbcl09W10sYz0wO2M8czsrK2MpKG89YVtjXSkmJnQuY2FsbChvLG8uX19kYXRhX18sYyxhKSYmbC5wdXNoKG8pO3JldHVybiBuZXcgRGR0KGksdGhpcy5fcGFyZW50cyx0aGlzLl9uYW1lLHRoaXMuX2lkKX0sbWVyZ2U6ZnVuY3Rpb24gamR0KHQpe2lmKHQuX2lkIT09dGhpcy5faWQpdGhyb3cgbmV3IEVycm9yO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsaT1lLmxlbmd0aCxyPU1hdGgubWluKGksbi5sZW5ndGgpLG89bmV3IEFycmF5KGkpLGE9MDthPHI7KythKWZvcih2YXIgcyxsPWVbYV0sYz1uW2FdLHU9bC5sZW5ndGgsaD1vW2FdPW5ldyBBcnJheSh1KSxkPTA7ZDx1OysrZCkocz1sW2RdfHxjW2RdKSYmKGhbZF09cyk7Zm9yKDthPGk7KythKW9bYV09ZVthXTtyZXR1cm4gbmV3IERkdChvLHRoaXMuX3BhcmVudHMsdGhpcy5fbmFtZSx0aGlzLl9pZCl9LHNlbGVjdGlvbjpmdW5jdGlvbiBHZHQoKXtyZXR1cm4gbmV3IExkdCh0aGlzLl9ncm91cHMsdGhpcy5fcGFyZW50cyl9LHRyYW5zaXRpb246ZnVuY3Rpb24gV2R0KCl7Zm9yKHZhciB0PXRoaXMuX25hbWUsZT10aGlzLl9pZCxuPUJkdCgpLGk9dGhpcy5fZ3JvdXBzLHI9aS5sZW5ndGgsbz0wO288cjsrK28pZm9yKHZhciBhLHM9aVtvXSxsPXMubGVuZ3RoLGM9MDtjPGw7KytjKWlmKGE9c1tjXSl7dmFyIHU9bGR0KGEsZSk7b2R0KGEsdCxuLGMscyx7dGltZTp1LnRpbWUrdS5kZWxheSt1LmR1cmF0aW9uLGRlbGF5OjAsZHVyYXRpb246dS5kdXJhdGlvbixlYXNlOnUuZWFzZX0pfXJldHVybiBuZXcgRGR0KGksdGhpcy5fcGFyZW50cyx0LG4pfSxjYWxsOkhkdC5jYWxsLG5vZGVzOkhkdC5ub2Rlcyxub2RlOkhkdC5ub2RlLHNpemU6SGR0LnNpemUsZW1wdHk6SGR0LmVtcHR5LGVhY2g6SGR0LmVhY2gsb246ZnVuY3Rpb24gcWR0KHQsZSl7dmFyIG49dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8Mj9sZHQodGhpcy5ub2RlKCksbikub24ub24odCk6dGhpcy5lYWNoKGtkdChuLHQsZSkpfSxhdHRyOmZ1bmN0aW9uIFlkdCh0LGUpe3ZhciBuPVdsdCh0KSxpPSJ0cmFuc2Zvcm0iPT09bj9SaHQ6cGR0O3JldHVybiB0aGlzLmF0dHJUd2Vlbih0LCJmdW5jdGlvbiI9PXR5cGVvZiBlPyhuLmxvY2FsP3ZkdDp5ZHQpKG4saSxkZHQodGhpcywiYXR0ci4iK3QsZSkpOm51bGw9PWU/KG4ubG9jYWw/bWR0OmZkdCkobik6KG4ubG9jYWw/X2R0OmdkdCkobixpLGUpKX0sYXR0clR3ZWVuOmZ1bmN0aW9uIFhkdCh0LGUpe3ZhciBuPSJhdHRyLiIrdDtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKG49dGhpcy50d2VlbihuKSkmJm4uX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4obixudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7dmFyIGk9V2x0KHQpO3JldHVybiB0aGlzLnR3ZWVuKG4sKGkubG9jYWw/d2R0OlNkdCkoaSxlKSl9LHN0eWxlOmZ1bmN0aW9uICRkdCh0LGUsbil7dmFyIGk9InRyYW5zZm9ybSI9PSh0Kz0iIik/Tmh0OnBkdDtyZXR1cm4gbnVsbD09ZT90aGlzLnN0eWxlVHdlZW4odCwoZnVuY3Rpb24gcih0LGUpe3ZhciBuLGkscjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz1tY3QodGhpcyx0KSxhPSh0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLG1jdCh0aGlzLHQpKTtyZXR1cm4gbz09PWE/bnVsbDpvPT09biYmYT09PWk/cjpyPWUobj1vLGk9YSl9fSkodCxpKSkub24oImVuZC5zdHlsZS4iK3QsUGR0KHQpKToiZnVuY3Rpb24iPT10eXBlb2YgZT90aGlzLnN0eWxlVHdlZW4odCwoZnVuY3Rpb24gYSh0LGUsbil7dmFyIGkscixvO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPW1jdCh0aGlzLHQpLHM9bih0aGlzKSxsPXMrIiI7cmV0dXJuIG51bGw9PXMmJih0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLGw9cz1tY3QodGhpcyx0KSksYT09PWw/bnVsbDphPT09aSYmbD09PXI/bzoocj1sLG89ZShpPWEscykpfX0pKHQsaSxkZHQodGhpcywic3R5bGUuIit0LGUpKSkuZWFjaCgoZnVuY3Rpb24gbyh0LGUpe3ZhciBuLGkscixvLGE9InN0eWxlLiIrZSxzPSJlbmQuIithO3JldHVybiBmdW5jdGlvbigpe3ZhciBsPXNkdCh0aGlzLHQpLGM9bC5vbix1PW51bGw9PWwudmFsdWVbYV0/b3x8KG89UGR0KGUpKTp2b2lkIDA7Yz09PW4mJnI9PT11fHwoaT0obj1jKS5jb3B5KCkpLm9uKHMscj11KSxsLm9uPWl9fSkodGhpcy5faWQsdCkpOnRoaXMuc3R5bGVUd2Vlbih0LChmdW5jdGlvbiBzKHQsZSxuKXt2YXIgaSxyLG89bisiIjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYT1tY3QodGhpcyx0KTtyZXR1cm4gYT09PW8/bnVsbDphPT09aT9yOnI9ZShpPWEsbil9fSkodCxpLGUpLG4pLm9uKCJlbmQuc3R5bGUuIit0LG51bGwpfSxzdHlsZVR3ZWVuOmZ1bmN0aW9uIEtkdCh0LGUsbil7dmFyIGk9InN0eWxlLiIrKHQrPSIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKGk9dGhpcy50d2VlbihpKSkmJmkuX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4oaSxudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHRoaXMudHdlZW4oaSxJZHQodCxlLG51bGw9PW4/IiI6bikpfSx0ZXh0OmZ1bmN0aW9uIFpkdCh0KXtyZXR1cm4gdGhpcy50d2VlbigidGV4dCIsImZ1bmN0aW9uIj09dHlwZW9mIHQ/KGZ1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKTt0aGlzLnRleHRDb250ZW50PW51bGw9PWU/IiI6ZX19KShkZHQodGhpcywidGV4dCIsdCkpOihmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMudGV4dENvbnRlbnQ9dH19KShudWxsPT10PyIiOnQrIiIpKX0sdGV4dFR3ZWVuOmZ1bmN0aW9uIEpkdCh0KXt2YXIgZT0idGV4dCI7aWYoYXJndW1lbnRzLmxlbmd0aDwxKXJldHVybihlPXRoaXMudHdlZW4oZSkpJiZlLl92YWx1ZTtpZihudWxsPT10KXJldHVybiB0aGlzLnR3ZWVuKGUsbnVsbCk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yO3JldHVybiB0aGlzLnR3ZWVuKGUsT2R0KHQpKX0scmVtb3ZlOmZ1bmN0aW9uIFFkdCgpe3JldHVybiB0aGlzLm9uKCJlbmQucmVtb3ZlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD10aGlzLnBhcmVudE5vZGU7Zm9yKHZhciBuIGluIHRoaXMuX190cmFuc2l0aW9uKWlmKCtuIT09ZSlyZXR1cm47dCYmdC5yZW1vdmVDaGlsZCh0aGlzKX19KSh0aGlzLl9pZCkpfSx0d2VlbjpmdW5jdGlvbiB0cHQodCxlKXt2YXIgbj10aGlzLl9pZDtpZih0Kz0iIixhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgaSxyPWxkdCh0aGlzLm5vZGUoKSxuKS50d2VlbixvPTAsYT1yLmxlbmd0aDtvPGE7KytvKWlmKChpPXJbb10pLm5hbWU9PT10KXJldHVybiBpLnZhbHVlO3JldHVybiBudWxsfXJldHVybiB0aGlzLmVhY2goKG51bGw9PWU/dWR0OmhkdCkobix0LGUpKX0sZGVsYXk6ZnVuY3Rpb24gZXB0KHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIHQ/TWR0OkVkdCkoZSx0KSk6bGR0KHRoaXMubm9kZSgpLGUpLmRlbGF5fSxkdXJhdGlvbjpmdW5jdGlvbiBucHQodCl7dmFyIGU9dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgdD9UZHQ6Q2R0KShlLHQpKTpsZHQodGhpcy5ub2RlKCksZSkuZHVyYXRpb259LGVhc2U6ZnVuY3Rpb24gaXB0KHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChBZHQoZSx0KSk6bGR0KHRoaXMubm9kZSgpLGUpLmVhc2V9LGVuZDpmdW5jdGlvbiBycHQoKXt2YXIgdCxlLG49dGhpcyxpPW4uX2lkLHI9bi5zaXplKCk7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihvLGEpe3ZhciBzPXt2YWx1ZTphfSxsPXt2YWx1ZTpmdW5jdGlvbigpezA9PS0tciYmbygpfX07bi5lYWNoKChmdW5jdGlvbigpe3ZhciBuPXNkdCh0aGlzLGkpLHI9bi5vbjtyIT09dCYmKChlPSh0PXIpLmNvcHkoKSkuXy5jYW5jZWwucHVzaChzKSxlLl8uaW50ZXJydXB0LnB1c2gocyksZS5fLmVuZC5wdXNoKGwpKSxuLm9uPWV9KSl9KSl9fTt2YXIgb3B0PXt0aW1lOm51bGwsZGVsYXk6MCxkdXJhdGlvbjoyNTAsZWFzZTpxZn07ZnVuY3Rpb24gYXB0KHQsZSl7Zm9yKHZhciBuOyEobj10Ll9fdHJhbnNpdGlvbil8fCEobj1uW2VdKTspaWYoISh0PXQucGFyZW50Tm9kZSkpcmV0dXJuIG9wdC50aW1lPSRodCgpLG9wdDtyZXR1cm4gbn1mdW5jdGlvbiBzcHQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIGxwdCh0LGUsbil7dGhpcy50YXJnZXQ9dCx0aGlzLnR5cGU9ZSx0aGlzLnRyYW5zZm9ybT1ufWZ1bmN0aW9uIGNwdCh0LGUsbil7dGhpcy5rPXQsdGhpcy54PWUsdGhpcy55PW59WmN0LnByb3RvdHlwZS5pbnRlcnJ1cHQ9ZnVuY3Rpb24gdXB0KHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7Y2R0KHRoaXMsdCl9KSl9LFpjdC5wcm90b3R5cGUudHJhbnNpdGlvbj1mdW5jdGlvbiBocHQodCl7dmFyIGUsbjt0IGluc3RhbmNlb2YgRGR0PyhlPXQuX2lkLHQ9dC5fbmFtZSk6KGU9QmR0KCksKG49b3B0KS50aW1lPSRodCgpLHQ9bnVsbD09dD9udWxsOnQrIiIpO2Zvcih2YXIgaT10aGlzLl9ncm91cHMscj1pLmxlbmd0aCxvPTA7bzxyOysrbylmb3IodmFyIGEscz1pW29dLGw9cy5sZW5ndGgsYz0wO2M8bDsrK2MpKGE9c1tjXSkmJm9kdChhLHQsZSxjLHMsbnx8YXB0KGEsZSkpO3JldHVybiBuZXcgRGR0KGksdGhpcy5fcGFyZW50cyx0LGUpfSxjcHQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpjcHQsc2NhbGU6ZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10P3RoaXM6bmV3IGNwdCh0aGlzLmsqdCx0aGlzLngsdGhpcy55KX0sdHJhbnNsYXRlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIDA9PT10JjA9PT1lP3RoaXM6bmV3IGNwdCh0aGlzLmssdGhpcy54K3RoaXMuayp0LHRoaXMueSt0aGlzLmsqZSl9LGFwcGx5OmZ1bmN0aW9uKHQpe3JldHVyblt0WzBdKnRoaXMuayt0aGlzLngsdFsxXSp0aGlzLmsrdGhpcy55XX0sYXBwbHlYOmZ1bmN0aW9uKHQpe3JldHVybiB0KnRoaXMuayt0aGlzLnh9LGFwcGx5WTpmdW5jdGlvbih0KXtyZXR1cm4gdCp0aGlzLmsrdGhpcy55fSxpbnZlcnQ6ZnVuY3Rpb24odCl7cmV0dXJuWyh0WzBdLXRoaXMueCkvdGhpcy5rLCh0WzFdLXRoaXMueSkvdGhpcy5rXX0saW52ZXJ0WDpmdW5jdGlvbih0KXtyZXR1cm4odC10aGlzLngpL3RoaXMua30saW52ZXJ0WTpmdW5jdGlvbih0KXtyZXR1cm4odC10aGlzLnkpL3RoaXMua30scmVzY2FsZVg6ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weSgpLmRvbWFpbih0LnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0WCx0aGlzKS5tYXAodC5pbnZlcnQsdCkpfSxyZXNjYWxlWTpmdW5jdGlvbih0KXtyZXR1cm4gdC5jb3B5KCkuZG9tYWluKHQucmFuZ2UoKS5tYXAodGhpcy5pbnZlcnRZLHRoaXMpLm1hcCh0LmludmVydCx0KSl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInRyYW5zbGF0ZSgiK3RoaXMueCsiLCIrdGhpcy55KyIpIHNjYWxlKCIrdGhpcy5rKyIpIn19O3ZhciBkcHQ9bmV3IGNwdCgxLDAsMCk7ZnVuY3Rpb24gcHB0KHQpe3JldHVybiB0Ll9fem9vbXx8ZHB0fWZ1bmN0aW9uIGZwdCgpe0ZjdC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBtcHQoKXtGY3QucHJldmVudERlZmF1bHQoKSxGY3Quc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZ3B0KCl7cmV0dXJuIUZjdC5idXR0b259ZnVuY3Rpb24gX3B0KCl7dmFyIHQsZSxuPXRoaXM7cmV0dXJuIG4gaW5zdGFuY2VvZiBTVkdFbGVtZW50Pyh0PShuPW4ub3duZXJTVkdFbGVtZW50fHxuKS53aWR0aC5iYXNlVmFsLnZhbHVlLGU9bi5oZWlnaHQuYmFzZVZhbC52YWx1ZSk6KHQ9bi5jbGllbnRXaWR0aCxlPW4uY2xpZW50SGVpZ2h0KSxbWzAsMF0sW3QsZV1dfWZ1bmN0aW9uIHlwdCgpe3JldHVybiB0aGlzLl9fem9vbXx8ZHB0fWZ1bmN0aW9uIHZwdCgpe3JldHVybi1GY3QuZGVsdGFZKihGY3QuZGVsdGFNb2RlPzEyMDoxKS81MDB9ZnVuY3Rpb24gYnB0KCl7cmV0dXJuIm9udG91Y2hzdGFydCJpbiB0aGlzfWZ1bmN0aW9uIHhwdCh0LGUsbil7dmFyIGk9dC5pbnZlcnRYKGVbMF1bMF0pLW5bMF1bMF0scj10LmludmVydFgoZVsxXVswXSktblsxXVswXSxvPXQuaW52ZXJ0WShlWzBdWzFdKS1uWzBdWzFdLGE9dC5pbnZlcnRZKGVbMV1bMV0pLW5bMV1bMV07cmV0dXJuIHQudHJhbnNsYXRlKHI+aT8oaStyKS8yOk1hdGgubWluKDAsaSl8fE1hdGgubWF4KDAsciksYT5vPyhvK2EpLzI6TWF0aC5taW4oMCxvKXx8TWF0aC5tYXgoMCxhKSl9cHB0LnByb3RvdHlwZT1jcHQucHJvdG90eXBlO3ZhciB3cHQ9TWUoT2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsdmVyc2lvbjoiNC4xMy4wIixiaXNlY3Q6ZXosYmlzZWN0UmlnaHQ6ZXosYmlzZWN0TGVmdDpueixhc2NlbmRpbmc6Sk8sYmlzZWN0b3I6UU8sY3Jvc3M6ZnVuY3Rpb24gU3B0KHQsZSxuKXt2YXIgaSxyLG8sYSxzPXQubGVuZ3RoLGw9ZS5sZW5ndGgsYz1uZXcgQXJyYXkocypsKTtmb3IobnVsbD09biYmKG49aXopLGk9bz0wO2k8czsrK2kpZm9yKGE9dFtpXSxyPTA7cjxsOysrciwrK28pY1tvXT1uKGEsZVtyXSk7cmV0dXJuIGN9LGRlc2NlbmRpbmc6ZnVuY3Rpb24gTXB0KHQsZSl7cmV0dXJuIGU8dD8tMTplPnQ/MTplPj10PzA6TmFOfSxkZXZpYXRpb246YXosZXh0ZW50OnN6LGhpc3RvZ3JhbTpmdW5jdGlvbiBFcHQoKXt2YXIgdD1keixlPXN6LG49dno7ZnVuY3Rpb24gaShpKXt2YXIgcixvLGE9aS5sZW5ndGgscz1uZXcgQXJyYXkoYSk7Zm9yKHI9MDtyPGE7KytyKXNbcl09dChpW3JdLHIsaSk7dmFyIGw9ZShzKSxjPWxbMF0sdT1sWzFdLGg9bihzLGMsdSk7QXJyYXkuaXNBcnJheShoKXx8KGg9eXooYyx1LGgpLGg9cHooTWF0aC5jZWlsKGMvaCkqaCxNYXRoLmZsb29yKHUvaCkqaCxoKSk7Zm9yKHZhciBkPWgubGVuZ3RoO2hbMF08PWM7KWguc2hpZnQoKSwtLWQ7Zm9yKDtoW2QtMV0+dTspaC5wb3AoKSwtLWQ7dmFyIHAsZj1uZXcgQXJyYXkoZCsxKTtmb3Iocj0wO3I8PWQ7KytyKShwPWZbcl09W10pLngwPXI+MD9oW3ItMV06YyxwLngxPXI8ZD9oW3JdOnU7Zm9yKHI9MDtyPGE7KytyKWM8PShvPXNbcl0pJiZvPD11JiZmW2V6KGgsbywwLGQpXS5wdXNoKGlbcl0pO3JldHVybiBmfXJldHVybiBpLnZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6aHooZSksaSk6dH0saS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpoeihbdFswXSx0WzFdXSksaSk6ZX0saS50aHJlc2hvbGRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QXJyYXkuaXNBcnJheSh0KT9oeihjei5jYWxsKHQpKTpoeih0KSxpKTpufSxpfSx0aHJlc2hvbGRGcmVlZG1hbkRpYWNvbmlzOmZ1bmN0aW9uIFRwdCh0LGUsbil7cmV0dXJuIHQ9dXouY2FsbCh0LHJ6KS5zb3J0KEpPKSxNYXRoLmNlaWwoKG4tZSkvKDIqKGJ6KHQsLjc1KS1ieih0LC4yNSkpKk1hdGgucG93KHQubGVuZ3RoLC0xLzMpKSl9LHRocmVzaG9sZFNjb3R0OmZ1bmN0aW9uIENwdCh0LGUsbil7cmV0dXJuIE1hdGguY2VpbCgobi1lKS8oMy41KmF6KHQpKk1hdGgucG93KHQubGVuZ3RoLC0xLzMpKSl9LHRocmVzaG9sZFN0dXJnZXM6dnosbWF4OmZ1bmN0aW9uIEFwdCh0LGUpe3ZhciBuLGkscj10Lmxlbmd0aCxvPS0xO2lmKG51bGw9PWUpe2Zvcig7KytvPHI7KWlmKG51bGwhPShuPXRbb10pJiZuPj1uKWZvcihpPW47KytvPHI7KW51bGwhPShuPXRbb10pJiZuPmkmJihpPW4pfWVsc2UgZm9yKDsrK288cjspaWYobnVsbCE9KG49ZSh0W29dLG8sdCkpJiZuPj1uKWZvcihpPW47KytvPHI7KW51bGwhPShuPWUodFtvXSxvLHQpKSYmbj5pJiYoaT1uKTtyZXR1cm4gaX0sbWVhbjpmdW5jdGlvbiBrcHQodCxlKXt2YXIgbixpPXQubGVuZ3RoLHI9aSxvPS0xLGE9MDtpZihudWxsPT1lKWZvcig7KytvPGk7KWlzTmFOKG49cnoodFtvXSkpPy0tcjphKz1uO2Vsc2UgZm9yKDsrK288aTspaXNOYU4obj1yeihlKHRbb10sbyx0KSkpPy0tcjphKz1uO2lmKHIpcmV0dXJuIGEvcn0sbWVkaWFuOmZ1bmN0aW9uIExwdCh0LGUpe3ZhciBuLGk9dC5sZW5ndGgscj0tMSxvPVtdO2lmKG51bGw9PWUpZm9yKDsrK3I8aTspaXNOYU4obj1yeih0W3JdKSl8fG8ucHVzaChuKTtlbHNlIGZvcig7KytyPGk7KWlzTmFOKG49cnooZSh0W3JdLHIsdCkpKXx8by5wdXNoKG4pO3JldHVybiBieihvLnNvcnQoSk8pLC41KX0sbWVyZ2U6ZnVuY3Rpb24gUHB0KHQpe2Zvcih2YXIgZSxuLGkscj10Lmxlbmd0aCxvPS0xLGE9MDsrK288cjspYSs9dFtvXS5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KGEpOy0tcj49MDspZm9yKGU9KGk9dFtyXSkubGVuZ3RoOy0tZT49MDspblstLWFdPWlbZV07cmV0dXJuIG59LG1pbjp4eixwYWlyczpmdW5jdGlvbiBOcHQodCxlKXtudWxsPT1lJiYoZT1peik7Zm9yKHZhciBuPTAsaT10Lmxlbmd0aC0xLHI9dFswXSxvPW5ldyBBcnJheShpPDA/MDppKTtuPGk7KW9bbl09ZShyLHI9dFsrK25dKTtyZXR1cm4gb30scGVybXV0ZTpmdW5jdGlvbiBJcHQodCxlKXtmb3IodmFyIG49ZS5sZW5ndGgsaT1uZXcgQXJyYXkobik7bi0tOylpW25dPXRbZVtuXV07cmV0dXJuIGl9LHF1YW50aWxlOmJ6LHJhbmdlOnB6LHNjYW46ZnVuY3Rpb24gUnB0KHQsZSl7aWYobj10Lmxlbmd0aCl7dmFyIG4saSxyPTAsbz0wLGE9dFtvXTtmb3IobnVsbD09ZSYmKGU9Sk8pOysrcjxuOykoZShpPXRbcl0sYSk8MHx8MCE9PWUoYSxhKSkmJihhPWksbz1yKTtyZXR1cm4gMD09PWUoYSxhKT9vOnZvaWQgMH19LHNodWZmbGU6ZnVuY3Rpb24gT3B0KHQsZSxuKXtmb3IodmFyIGkscixvPShudWxsPT1uP3QubGVuZ3RoOm4pLShlPW51bGw9PWU/MDorZSk7bzspcj1NYXRoLnJhbmRvbSgpKm8tLXwwLGk9dFtvK2VdLHRbbytlXT10W3IrZV0sdFtyK2VdPWk7cmV0dXJuIHR9LHN1bTpmdW5jdGlvbiB6cHQodCxlKXt2YXIgbixpPXQubGVuZ3RoLHI9LTEsbz0wO2lmKG51bGw9PWUpZm9yKDsrK3I8aTspKG49K3Rbcl0pJiYobys9bik7ZWxzZSBmb3IoOysrcjxpOykobj0rZSh0W3JdLHIsdCkpJiYobys9bik7cmV0dXJuIG99LHRpY2tzOmZ1bmN0aW9uIERwdCh0LGUsbil7dmFyIGkscixvLGEscz0tMTtpZihuPStuLCh0PSt0KT09PShlPStlKSYmbj4wKXJldHVyblt0XTtpZigoaT1lPHQpJiYocj10LHQ9ZSxlPXIpLDA9PT0oYT1feih0LGUsbikpfHwhaXNGaW5pdGUoYSkpcmV0dXJuW107aWYoYT4wKWZvcih0PU1hdGguY2VpbCh0L2EpLGU9TWF0aC5mbG9vcihlL2EpLG89bmV3IEFycmF5KHI9TWF0aC5jZWlsKGUtdCsxKSk7KytzPHI7KW9bc109KHQrcykqYTtlbHNlIGZvcih0PU1hdGguZmxvb3IodCphKSxlPU1hdGguY2VpbChlKmEpLG89bmV3IEFycmF5KHI9TWF0aC5jZWlsKHQtZSsxKSk7KytzPHI7KW9bc109KHQtcykvYTtyZXR1cm4gaSYmby5yZXZlcnNlKCksb30sdGlja0luY3JlbWVudDpfeix0aWNrU3RlcDp5eix0cmFuc3Bvc2U6d3osdmFyaWFuY2U6b3osemlwOmZ1bmN0aW9uIEJwdCgpe3JldHVybiB3eihhcmd1bWVudHMpfSxheGlzVG9wOmZ1bmN0aW9uIEhwdCh0KXtyZXR1cm4gTnooMSx0KX0sYXhpc1JpZ2h0OmZ1bmN0aW9uIEZwdCh0KXtyZXR1cm4gTnooMix0KX0sYXhpc0JvdHRvbTpmdW5jdGlvbiBWcHQodCl7cmV0dXJuIE56KDMsdCl9LGF4aXNMZWZ0OmZ1bmN0aW9uIFVwdCh0KXtyZXR1cm4gTnooNCx0KX0sYnJ1c2g6ZnVuY3Rpb24ganB0KCl7cmV0dXJuIEVWKGZWKX0sYnJ1c2hYOmZ1bmN0aW9uIEdwdCgpe3JldHVybiBFVihkVil9LGJydXNoWTpmdW5jdGlvbiBXcHQoKXtyZXR1cm4gRVYocFYpfSxicnVzaFNlbGVjdGlvbjpmdW5jdGlvbiBxcHQodCl7dmFyIGU9dC5fX2JydXNoO3JldHVybiBlP2UuZGltLm91dHB1dChlLnNlbGVjdGlvbik6bnVsbH0sY2hvcmQ6ZnVuY3Rpb24gWXB0KCl7dmFyIHQ9MCxlPW51bGwsbj1udWxsLGk9bnVsbDtmdW5jdGlvbiByKHIpe3ZhciBvLGEscyxsLGMsdSxoPXIubGVuZ3RoLGQ9W10scD1DVihoKSxmPVtdLG09W10sZz1tLmdyb3Vwcz1uZXcgQXJyYXkoaCksXz1uZXcgQXJyYXkoaCpoKTtmb3Iobz0wLGM9LTE7KytjPGg7KXtmb3IoYT0wLHU9LTE7Kyt1PGg7KWErPXJbY11bdV07ZC5wdXNoKGEpLGYucHVzaChDVihoKSksbys9YX1mb3IoZSYmcC5zb3J0KChmdW5jdGlvbih0LG4pe3JldHVybiBlKGRbdF0sZFtuXSl9KSksbiYmZi5mb3JFYWNoKChmdW5jdGlvbih0LGUpe3Quc29ydCgoZnVuY3Rpb24odCxpKXtyZXR1cm4gbihyW2VdW3RdLHJbZV1baV0pfSkpfSkpLGw9KG89UlYoMCxJVi10KmgpL28pP3Q6SVYvaCxhPTAsYz0tMTsrK2M8aDspe2ZvcihzPWEsdT0tMTsrK3U8aDspe3ZhciB5PXBbY10sdj1mW3ldW3VdLGI9clt5XVt2XSx4PWEsdz1hKz1iKm87X1t2KmgreV09e2luZGV4Onksc3ViaW5kZXg6dixzdGFydEFuZ2xlOngsZW5kQW5nbGU6dyx2YWx1ZTpifX1nW3ldPXtpbmRleDp5LHN0YXJ0QW5nbGU6cyxlbmRBbmdsZTphLHZhbHVlOmRbeV19LGErPWx9Zm9yKGM9LTE7KytjPGg7KWZvcih1PWMtMTsrK3U8aDspe3ZhciBTPV9bdSpoK2NdLE09X1tjKmgrdV07KFMudmFsdWV8fE0udmFsdWUpJiZtLnB1c2goUy52YWx1ZTxNLnZhbHVlP3tzb3VyY2U6TSx0YXJnZXQ6U306e3NvdXJjZTpTLHRhcmdldDpNfSl9cmV0dXJuIGk/bS5zb3J0KGkpOm19cmV0dXJuIHIucGFkQW5nbGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9UlYoMCxlKSxyKTp0fSxyLnNvcnRHcm91cHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxyKTplfSxyLnNvcnRTdWJncm91cHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxyKTpufSxyLnNvcnRDaG9yZHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG51bGw9PXQ/aT1udWxsOihpPU9WKHQpKS5fPXQscik6aSYmaS5ffSxyfSxyaWJib246ZnVuY3Rpb24gWHB0KCl7dmFyIHQ9R1YsZT1XVixuPXFWLGk9WVYscj1YVixvPW51bGw7ZnVuY3Rpb24gYSgpe3ZhciBhLHM9elYuY2FsbChhcmd1bWVudHMpLGw9dC5hcHBseSh0aGlzLHMpLGM9ZS5hcHBseSh0aGlzLHMpLHU9K24uYXBwbHkodGhpcywoc1swXT1sLHMpKSxoPWkuYXBwbHkodGhpcyxzKS1OVixkPXIuYXBwbHkodGhpcyxzKS1OVixwPXUqa1YoaCksZj11KkxWKGgpLG09K24uYXBwbHkodGhpcywoc1swXT1jLHMpKSxnPWkuYXBwbHkodGhpcyxzKS1OVixfPXIuYXBwbHkodGhpcyxzKS1OVjtpZihvfHwobz1hPWpWKCkpLG8ubW92ZVRvKHAsZiksby5hcmMoMCwwLHUsaCxkKSxoPT09ZyYmZD09PV98fChvLnF1YWRyYXRpY0N1cnZlVG8oMCwwLG0qa1YoZyksbSpMVihnKSksby5hcmMoMCwwLG0sZyxfKSksby5xdWFkcmF0aWNDdXJ2ZVRvKDAsMCxwLGYpLG8uY2xvc2VQYXRoKCksYSlyZXR1cm4gbz1udWxsLGErIiJ8fG51bGx9cmV0dXJuIGEucmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RFYoK3QpLGEpOm59LGEuc3RhcnRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkRWKCt0KSxhKTppfSxhLmVuZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RFYoK3QpLGEpOnJ9LGEuc291cmNlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUsYSk6dH0sYS50YXJnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxhKTplfSxhLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89bnVsbD09dD9udWxsOnQsYSk6b30sYX0sbmVzdDpmdW5jdGlvbiAkcHQoKXt2YXIgdCxlLG4saT1bXSxyPVtdO2Z1bmN0aW9uIG8obixyLGEscyl7aWYocj49aS5sZW5ndGgpcmV0dXJuIG51bGwhPXQmJm4uc29ydCh0KSxudWxsIT1lP2Uobik6bjtmb3IodmFyIGwsYyx1LGg9LTEsZD1uLmxlbmd0aCxwPWlbcisrXSxmPVpWKCksbT1hKCk7KytoPGQ7KSh1PWYuZ2V0KGw9cChjPW5baF0pKyIiKSk/dS5wdXNoKGMpOmYuc2V0KGwsW2NdKTtyZXR1cm4gZi5lYWNoKChmdW5jdGlvbih0LGUpe3MobSxlLG8odCxyLGEscykpfSkpLG19ZnVuY3Rpb24gYSh0LG4pe2lmKCsrbj5pLmxlbmd0aClyZXR1cm4gdDt2YXIgbyxzPXJbbi0xXTtyZXR1cm4gbnVsbCE9ZSYmbj49aS5sZW5ndGg/bz10LmVudHJpZXMoKToobz1bXSx0LmVhY2goKGZ1bmN0aW9uKHQsZSl7by5wdXNoKHtrZXk6ZSx2YWx1ZXM6YSh0LG4pfSl9KSkpLG51bGwhPXM/by5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiBzKHQua2V5LGUua2V5KX0pKTpvfXJldHVybiBuPXtvYmplY3Q6ZnVuY3Rpb24odCl7cmV0dXJuIG8odCwwLEpWLFFWKX0sbWFwOmZ1bmN0aW9uKHQpe3JldHVybiBvKHQsMCx0VSxlVSl9LGVudHJpZXM6ZnVuY3Rpb24odCl7cmV0dXJuIGEobyh0LDAsdFUsZVUpLDApfSxrZXk6ZnVuY3Rpb24odCl7cmV0dXJuIGkucHVzaCh0KSxufSxzb3J0S2V5czpmdW5jdGlvbih0KXtyZXR1cm4gcltpLmxlbmd0aC0xXT10LG59LHNvcnRWYWx1ZXM6ZnVuY3Rpb24oZSl7cmV0dXJuIHQ9ZSxufSxyb2xsdXA6ZnVuY3Rpb24odCl7cmV0dXJuIGU9dCxufX19LHNldDpyVSxtYXA6WlYsa2V5czpmdW5jdGlvbiBLcHQodCl7dmFyIGU9W107Zm9yKHZhciBuIGluIHQpZS5wdXNoKG4pO3JldHVybiBlfSx2YWx1ZXM6ZnVuY3Rpb24gWnB0KHQpe3ZhciBlPVtdO2Zvcih2YXIgbiBpbiB0KWUucHVzaCh0W25dKTtyZXR1cm4gZX0sZW50cmllczpmdW5jdGlvbiBKcHQodCl7dmFyIGU9W107Zm9yKHZhciBuIGluIHQpZS5wdXNoKHtrZXk6bix2YWx1ZTp0W25dfSk7cmV0dXJuIGV9LGNvbG9yOndVLHJnYjpUVSxoc2w6TFUsbGFiOlZVLGhjbDpYVSxjdWJlaGVsaXg6b2osZGlzcGF0Y2g6bGosZHJhZzpmdW5jdGlvbiBRcHQoKXt2YXIgdCxlLG4saSxyPURHLG89QkcsYT1IRyxzPUZHLGw9e30sYz1maigic3RhcnQiLCJkcmFnIiwiZW5kIiksdT0wLGg9MDtmdW5jdGlvbiBkKHQpe3Qub24oIm1vdXNlZG93bi5kcmFnIixwKS5maWx0ZXIocykub24oInRvdWNoc3RhcnQuZHJhZyIsZykub24oInRvdWNobW92ZS5kcmFnIixfKS5vbigidG91Y2hlbmQuZHJhZyB0b3VjaGNhbmNlbC5kcmFnIix5KS5zdHlsZSgidG91Y2gtYWN0aW9uIiwibm9uZSIpLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiLCJyZ2JhKDAsMCwwLDApIil9ZnVuY3Rpb24gcCgpe2lmKCFpJiZyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIGE9digibW91c2UiLG8uYXBwbHkodGhpcyxhcmd1bWVudHMpLGtHLHRoaXMsYXJndW1lbnRzKTthJiYoVEcoZkcudmlldykub24oIm1vdXNlbW92ZS5kcmFnIixmLCEwKS5vbigibW91c2V1cC5kcmFnIixtLCEwKSxJRyhmRy52aWV3KSxQRygpLG49ITEsdD1mRy5jbGllbnRYLGU9ZkcuY2xpZW50WSxhKCJzdGFydCIpKX19ZnVuY3Rpb24gZigpe2lmKE5HKCksIW4pe3ZhciBpPWZHLmNsaWVudFgtdCxyPWZHLmNsaWVudFktZTtuPWkqaStyKnI+aH1sLm1vdXNlKCJkcmFnIil9ZnVuY3Rpb24gbSgpe1RHKGZHLnZpZXcpLm9uKCJtb3VzZW1vdmUuZHJhZyBtb3VzZXVwLmRyYWciLG51bGwpLFJHKGZHLnZpZXcsbiksTkcoKSxsLm1vdXNlKCJlbmQiKX1mdW5jdGlvbiBnKCl7aWYoci5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciB0LGUsbj1mRy5jaGFuZ2VkVG91Y2hlcyxpPW8uYXBwbHkodGhpcyxhcmd1bWVudHMpLGE9bi5sZW5ndGg7Zm9yKHQ9MDt0PGE7Kyt0KShlPXYoblt0XS5pZGVudGlmaWVyLGksTEcsdGhpcyxhcmd1bWVudHMpKSYmKFBHKCksZSgic3RhcnQiKSl9fWZ1bmN0aW9uIF8oKXt2YXIgdCxlLG49ZkcuY2hhbmdlZFRvdWNoZXMsaT1uLmxlbmd0aDtmb3IodD0wO3Q8aTsrK3QpKGU9bFtuW3RdLmlkZW50aWZpZXJdKSYmKE5HKCksZSgiZHJhZyIpKX1mdW5jdGlvbiB5KCl7dmFyIHQsZSxuPWZHLmNoYW5nZWRUb3VjaGVzLHI9bi5sZW5ndGg7Zm9yKGkmJmNsZWFyVGltZW91dChpKSxpPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aT1udWxsfSksNTAwKSx0PTA7dDxyOysrdCkoZT1sW25bdF0uaWRlbnRpZmllcl0pJiYoUEcoKSxlKCJlbmQiKSl9ZnVuY3Rpb24gdih0LGUsbixpLHIpe3ZhciBvLHMsaCxwPW4oZSx0KSxmPWMuY29weSgpO2lmKGJHKG5ldyB6RyhkLCJiZWZvcmVzdGFydCIsbyx0LHUscFswXSxwWzFdLDAsMCxmKSwoZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9KGZHLnN1YmplY3Q9bz1hLmFwcGx5KGkscikpJiYocz1vLngtcFswXXx8MCxoPW8ueS1wWzFdfHwwLCEwKX0pKSlyZXR1cm4gZnVuY3Rpb24gYShjKXt2YXIgbSxnPXA7c3dpdGNoKGMpe2Nhc2Uic3RhcnQiOmxbdF09YSxtPXUrKzticmVhaztjYXNlImVuZCI6ZGVsZXRlIGxbdF0sLS11O2Nhc2UiZHJhZyI6cD1uKGUsdCksbT11fWJHKG5ldyB6RyhkLGMsbyx0LG0scFswXStzLHBbMV0raCxwWzBdLWdbMF0scFsxXS1nWzFdLGYpLGYuYXBwbHksZixbYyxpLHJdKX19cmV0dXJuIGQuZmlsdGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6T0coISF0KSxkKTpyfSxkLmNvbnRhaW5lcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90Ok9HKHQpLGQpOm99LGQuc3ViamVjdD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90Ok9HKHQpLGQpOmF9LGQudG91Y2hhYmxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6T0coISF0KSxkKTpzfSxkLm9uPWZ1bmN0aW9uKCl7dmFyIHQ9Yy5vbi5hcHBseShjLGFyZ3VtZW50cyk7cmV0dXJuIHQ9PT1jP2Q6dH0sZC5jbGlja0Rpc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPSh0PSt0KSp0LGQpOk1hdGguc3FydChoKX0sZH0sZHJhZ0Rpc2FibGU6SUcsZHJhZ0VuYWJsZTpSRyxkc3ZGb3JtYXQ6eFcsY3N2UGFyc2U6U1csY3N2UGFyc2VSb3dzOk1XLGNzdkZvcm1hdDpFVyxjc3ZGb3JtYXRSb3dzOlRXLHRzdlBhcnNlOkFXLHRzdlBhcnNlUm93czprVyx0c3ZGb3JtYXQ6TFcsdHN2Rm9ybWF0Um93czpQVyxlYXNlTGluZWFyOmZ1bmN0aW9uIHRmdCh0KXtyZXR1cm4rdH0sZWFzZVF1YWQ6TlcsZWFzZVF1YWRJbjpmdW5jdGlvbiBlZnQodCl7cmV0dXJuIHQqdH0sZWFzZVF1YWRPdXQ6ZnVuY3Rpb24gbmZ0KHQpe3JldHVybiB0KigyLXQpfSxlYXNlUXVhZEluT3V0Ok5XLGVhc2VDdWJpYzpJVyxlYXNlQ3ViaWNJbjpmdW5jdGlvbiBpZnQodCl7cmV0dXJuIHQqdCp0fSxlYXNlQ3ViaWNPdXQ6ZnVuY3Rpb24gcmZ0KHQpe3JldHVybi0tdCp0KnQrMX0sZWFzZUN1YmljSW5PdXQ6SVcsZWFzZVBvbHk6elcsZWFzZVBvbHlJbjpSVyxlYXNlUG9seU91dDpPVyxlYXNlUG9seUluT3V0OnpXLGVhc2VTaW46SFcsZWFzZVNpbkluOmZ1bmN0aW9uIG9mdCh0KXtyZXR1cm4gMS1NYXRoLmNvcyh0KkJXKX0sZWFzZVNpbk91dDpmdW5jdGlvbiBhZnQodCl7cmV0dXJuIE1hdGguc2luKHQqQlcpfSxlYXNlU2luSW5PdXQ6SFcsZWFzZUV4cDpGVyxlYXNlRXhwSW46ZnVuY3Rpb24gc2Z0KHQpe3JldHVybiBNYXRoLnBvdygyLDEwKnQtMTApfSxlYXNlRXhwT3V0OmZ1bmN0aW9uIGxmdCh0KXtyZXR1cm4gMS1NYXRoLnBvdygyLC0xMCp0KX0sZWFzZUV4cEluT3V0OkZXLGVhc2VDaXJjbGU6VlcsZWFzZUNpcmNsZUluOmZ1bmN0aW9uIGNmdCh0KXtyZXR1cm4gMS1NYXRoLnNxcnQoMS10KnQpfSxlYXNlQ2lyY2xlT3V0OmZ1bmN0aW9uIHVmdCh0KXtyZXR1cm4gTWF0aC5zcXJ0KDEtIC0tdCp0KX0sZWFzZUNpcmNsZUluT3V0OlZXLGVhc2VCb3VuY2U6R1csZWFzZUJvdW5jZUluOmZ1bmN0aW9uIGhmdCh0KXtyZXR1cm4gMS1HVygxLXQpfSxlYXNlQm91bmNlT3V0OkdXLGVhc2VCb3VuY2VJbk91dDpmdW5jdGlvbiBkZnQodCl7cmV0dXJuKCh0Kj0yKTw9MT8xLUdXKDEtdCk6R1codC0xKSsxKS8yfSxlYXNlQmFjazpYVyxlYXNlQmFja0luOnFXLGVhc2VCYWNrT3V0OllXLGVhc2VCYWNrSW5PdXQ6WFcsZWFzZUVsYXN0aWM6WlcsZWFzZUVsYXN0aWNJbjpLVyxlYXNlRWxhc3RpY091dDpaVyxlYXNlRWxhc3RpY0luT3V0OkpXLGZvcmNlQ2VudGVyOmZ1bmN0aW9uIHBmdCh0LGUpe3ZhciBuO2Z1bmN0aW9uIGkoKXt2YXIgaSxyLG89bi5sZW5ndGgsYT0wLHM9MDtmb3IoaT0wO2k8bzsrK2kpYSs9KHI9bltpXSkueCxzKz1yLnk7Zm9yKGE9YS9vLXQscz1zL28tZSxpPTA7aTxvOysraSkocj1uW2ldKS54LT1hLHIueS09c31yZXR1cm4gbnVsbD09dCYmKHQ9MCksbnVsbD09ZSYmKGU9MCksaS5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe249dH0saS54PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PStlLGkpOnR9LGkueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdCxpKTplfSxpfSxmb3JjZUNvbGxpZGU6ZnVuY3Rpb24gZmZ0KHQpe3ZhciBlLG4saT0xLHI9MTtmdW5jdGlvbiBvKCl7Zm9yKHZhciB0LG8scyxsLGMsdSxoLGQ9ZS5sZW5ndGgscD0wO3A8cjsrK3ApZm9yKG89b3EoZSxjcSx1cSkudmlzaXRBZnRlcihhKSx0PTA7dDxkOysrdCloPSh1PW5bKHM9ZVt0XSkuaW5kZXhdKSp1LGw9cy54K3MudngsYz1zLnkrcy52eSxvLnZpc2l0KGYpO2Z1bmN0aW9uIGYodCxlLG4scixvKXt2YXIgYT10LmRhdGEsZD10LnIscD11K2Q7aWYoIWEpcmV0dXJuIGU+bCtwfHxyPGwtcHx8bj5jK3B8fG88Yy1wO2lmKGEuaW5kZXg+cy5pbmRleCl7dmFyIGY9bC1hLngtYS52eCxtPWMtYS55LWEudnksZz1mKmYrbSptO2c8cCpwJiYoMD09PWYmJihnKz0oZj10cSgpKSpmKSwwPT09bSYmKGcrPShtPXRxKCkpKm0pLGc9KHAtKGc9TWF0aC5zcXJ0KGcpKSkvZyppLHMudngrPShmKj1nKSoocD0oZCo9ZCkvKGgrZCkpLHMudnkrPShtKj1nKSpwLGEudngtPWYqKHA9MS1wKSxhLnZ5LT1tKnApfX19ZnVuY3Rpb24gYSh0KXtpZih0LmRhdGEpcmV0dXJuIHQucj1uW3QuZGF0YS5pbmRleF07Zm9yKHZhciBlPXQucj0wO2U8NDsrK2UpdFtlXSYmdFtlXS5yPnQuciYmKHQucj10W2VdLnIpfWZ1bmN0aW9uIHMoKXtpZihlKXt2YXIgaSxyLG89ZS5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KG8pLGk9MDtpPG87KytpKW5bKHI9ZVtpXSkuaW5kZXhdPSt0KHIsaSxlKX19cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVFXKG51bGw9PXQ/MTordCkpLG8uaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtlPXQscygpfSxvLml0ZXJhdGlvbnM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9K3Qsbyk6cn0sby5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxvKTppfSxvLnJhZGl1cz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOlFXKCtlKSxzKCksbyk6dH0sb30sZm9yY2VMaW5rOmZ1bmN0aW9uIG1mdCh0KXt2YXIgZSxuLGkscixvLGE9THEscz1mdW5jdGlvbiBsKHQpe3JldHVybiAxL01hdGgubWluKHJbdC5zb3VyY2UuaW5kZXhdLHJbdC50YXJnZXQuaW5kZXhdKX0sYz1RVygzMCksdT0xO2Z1bmN0aW9uIGgoaSl7Zm9yKHZhciByPTAsYT10Lmxlbmd0aDtyPHU7KytyKWZvcih2YXIgcyxsLGMsaCxkLHAsZixtPTA7bTxhOysrbSloPShjPShzPXRbbV0pLnRhcmdldCkueCtjLnZ4LShsPXMuc291cmNlKS54LWwudnh8fHRxKCksZD1jLnkrYy52eS1sLnktbC52eXx8dHEoKSxkKj1wPSgocD1NYXRoLnNxcnQoaCpoK2QqZCkpLW5bbV0pL3AqaSplW21dLGMudngtPShoKj1wKSooZj1vW21dKSxjLnZ5LT1kKmYsbC52eCs9aCooZj0xLWYpLGwudnkrPWQqZn1mdW5jdGlvbiBkKCl7aWYoaSl7dmFyIHMsbCxjPWkubGVuZ3RoLHU9dC5sZW5ndGgsaD1DcShpLGEpO2ZvcihzPTAscj1uZXcgQXJyYXkoYyk7czx1OysrcykobD10W3NdKS5pbmRleD1zLCJvYmplY3QiIT10eXBlb2YgbC5zb3VyY2UmJihsLnNvdXJjZT1QcShoLGwuc291cmNlKSksIm9iamVjdCIhPXR5cGVvZiBsLnRhcmdldCYmKGwudGFyZ2V0PVBxKGgsbC50YXJnZXQpKSxyW2wuc291cmNlLmluZGV4XT0ocltsLnNvdXJjZS5pbmRleF18fDApKzEscltsLnRhcmdldC5pbmRleF09KHJbbC50YXJnZXQuaW5kZXhdfHwwKSsxO2ZvcihzPTAsbz1uZXcgQXJyYXkodSk7czx1OysrcylvW3NdPXJbKGw9dFtzXSkuc291cmNlLmluZGV4XS8ocltsLnNvdXJjZS5pbmRleF0rcltsLnRhcmdldC5pbmRleF0pO2U9bmV3IEFycmF5KHUpLHAoKSxuPW5ldyBBcnJheSh1KSxmKCl9fWZ1bmN0aW9uIHAoKXtpZihpKWZvcih2YXIgbj0wLHI9dC5sZW5ndGg7bjxyOysrbillW25dPStzKHRbbl0sbix0KX1mdW5jdGlvbiBmKCl7aWYoaSlmb3IodmFyIGU9MCxyPXQubGVuZ3RoO2U8cjsrK2UpbltlXT0rYyh0W2VdLGUsdCl9cmV0dXJuIG51bGw9PXQmJih0PVtdKSxoLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7aT10LGQoKX0saC5saW5rcz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1lLGQoKSxoKTp0fSxoLmlkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQsaCk6YX0saC5pdGVyYXRpb25zPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSt0LGgpOnV9LGguc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpRVygrdCkscCgpLGgpOnN9LGguZGlzdGFuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpRVygrdCksZigpLGgpOmN9LGh9LGZvcmNlTWFueUJvZHk6ZnVuY3Rpb24gZ2Z0KCl7dmFyIHQsZSxuLGkscj1RVygtMzApLG89MSxhPTEvMCxzPS44MTtmdW5jdGlvbiBsKGkpe3ZhciByLG89dC5sZW5ndGgsYT1vcSh0LGVZLG5ZKS52aXNpdEFmdGVyKHUpO2ZvcihuPWkscj0wO3I8bzsrK3IpZT10W3JdLGEudmlzaXQoaCl9ZnVuY3Rpb24gYygpe2lmKHQpe3ZhciBlLG4sbz10Lmxlbmd0aDtmb3IoaT1uZXcgQXJyYXkobyksZT0wO2U8bzsrK2UpaVsobj10W2VdKS5pbmRleF09K3IobixlLHQpfX1mdW5jdGlvbiB1KHQpe3ZhciBlLG4scixvLGEscz0wLGw9MDtpZih0Lmxlbmd0aCl7Zm9yKHI9bz1hPTA7YTw0OysrYSkoZT10W2FdKSYmKG49TWF0aC5hYnMoZS52YWx1ZSkpJiYocys9ZS52YWx1ZSxsKz1uLHIrPW4qZS54LG8rPW4qZS55KTt0Lng9ci9sLHQueT1vL2x9ZWxzZXsoZT10KS54PWUuZGF0YS54LGUueT1lLmRhdGEueTtkb3tzKz1pW2UuZGF0YS5pbmRleF19d2hpbGUoZT1lLm5leHQpfXQudmFsdWU9c31mdW5jdGlvbiBoKHQscixsLGMpe2lmKCF0LnZhbHVlKXJldHVybiEwO3ZhciB1PXQueC1lLngsaD10LnktZS55LGQ9Yy1yLHA9dSp1K2gqaDtpZihkKmQvczxwKXJldHVybiBwPGEmJigwPT09dSYmKHArPSh1PXRxKCkpKnUpLDA9PT1oJiYocCs9KGg9dHEoKSkqaCkscDxvJiYocD1NYXRoLnNxcnQobypwKSksZS52eCs9dSp0LnZhbHVlKm4vcCxlLnZ5Kz1oKnQudmFsdWUqbi9wKSwhMDtpZighKHQubGVuZ3RofHxwPj1hKSl7KHQuZGF0YSE9PWV8fHQubmV4dCkmJigwPT09dSYmKHArPSh1PXRxKCkpKnUpLDA9PT1oJiYocCs9KGg9dHEoKSkqaCkscDxvJiYocD1NYXRoLnNxcnQobypwKSkpO2Rve3QuZGF0YSE9PWUmJihlLnZ4Kz11KihkPWlbdC5kYXRhLmluZGV4XSpuL3ApLGUudnkrPWgqZCl9d2hpbGUodD10Lm5leHQpfX1yZXR1cm4gbC5pbml0aWFsaXplPWZ1bmN0aW9uKGUpe3Q9ZSxjKCl9LGwuc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpRVygrdCksYygpLGwpOnJ9LGwuZGlzdGFuY2VNaW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89dCp0LGwpOk1hdGguc3FydChvKX0sbC5kaXN0YW5jZU1heD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT10KnQsbCk6TWF0aC5zcXJ0KGEpfSxsLnRoZXRhPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPXQqdCxsKTpNYXRoLnNxcnQocyl9LGx9LGZvcmNlUmFkaWFsOmZ1bmN0aW9uIF9mdCh0LGUsbil7dmFyIGkscixvLGE9UVcoLjEpO2Z1bmN0aW9uIHModCl7Zm9yKHZhciBhPTAscz1pLmxlbmd0aDthPHM7KythKXt2YXIgbD1pW2FdLGM9bC54LWV8fDFlLTYsdT1sLnktbnx8MWUtNixoPU1hdGguc3FydChjKmMrdSp1KSxkPShvW2FdLWgpKnJbYV0qdC9oO2wudngrPWMqZCxsLnZ5Kz11KmR9fWZ1bmN0aW9uIGwoKXtpZihpKXt2YXIgZSxuPWkubGVuZ3RoO2ZvcihyPW5ldyBBcnJheShuKSxvPW5ldyBBcnJheShuKSxlPTA7ZTxuOysrZSlvW2VdPSt0KGlbZV0sZSxpKSxyW2VdPWlzTmFOKG9bZV0pPzA6K2EoaVtlXSxlLGkpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9UVcoK3QpKSxudWxsPT1lJiYoZT0wKSxudWxsPT1uJiYobj0wKSxzLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7aT10LGwoKX0scy5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlFXKCt0KSxsKCkscyk6YX0scy5yYWRpdXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpRVygrZSksbCgpLHMpOnR9LHMueD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdCxzKTplfSxzLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3Qscyk6bn0sc30sZm9yY2VTaW11bGF0aW9uOmZ1bmN0aW9uIHlmdCh0KXt2YXIgZSxuPTEsaT0uMDAxLHI9MS1NYXRoLnBvdyhpLDEvMzAwKSxvPTAsYT0uNixzPUNxKCksbD1acSh1KSxjPUlxKCJ0aWNrIiwiZW5kIik7ZnVuY3Rpb24gdSgpe2goKSxjLmNhbGwoInRpY2siLGUpLG48aSYmKGwuc3RvcCgpLGMuY2FsbCgiZW5kIixlKSl9ZnVuY3Rpb24gaCgpe3ZhciBlLGksbD10Lmxlbmd0aDtmb3Iobis9KG8tbikqcixzLmVhY2goKGZ1bmN0aW9uKHQpe3Qobil9KSksZT0wO2U8bDsrK2UpbnVsbD09KGk9dFtlXSkuZng/aS54Kz1pLnZ4Kj1hOihpLng9aS5meCxpLnZ4PTApLG51bGw9PWkuZnk/aS55Kz1pLnZ5Kj1hOihpLnk9aS5meSxpLnZ5PTApfWZ1bmN0aW9uIGQoKXtmb3IodmFyIGUsbj0wLGk9dC5sZW5ndGg7bjxpOysrbil7aWYoKGU9dFtuXSkuaW5kZXg9bixpc05hTihlLngpfHxpc05hTihlLnkpKXt2YXIgcj0xMCpNYXRoLnNxcnQobiksbz1uKnJZO2UueD1yKk1hdGguY29zKG8pLGUueT1yKk1hdGguc2luKG8pfShpc05hTihlLnZ4KXx8aXNOYU4oZS52eSkpJiYoZS52eD1lLnZ5PTApfX1mdW5jdGlvbiBwKGUpe3JldHVybiBlLmluaXRpYWxpemUmJmUuaW5pdGlhbGl6ZSh0KSxlfXJldHVybiBudWxsPT10JiYodD1bXSksZCgpLGU9e3RpY2s6aCxyZXN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucmVzdGFydCh1KSxlfSxzdG9wOmZ1bmN0aW9uKCl7cmV0dXJuIGwuc3RvcCgpLGV9LG5vZGVzOmZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PW4sZCgpLHMuZWFjaChwKSxlKTp0fSxhbHBoYTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdCxlKTpufSxhbHBoYU1pbjpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxlKTppfSxhbHBoYURlY2F5OmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSt0LGUpOityfSxhbHBoYVRhcmdldDpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0rdCxlKTpvfSx2ZWxvY2l0eURlY2F5OmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPTEtdCxlKToxLWF9LGZvcmNlOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT8obnVsbD09bj9zLnJlbW92ZSh0KTpzLnNldCh0LHAobikpLGUpOnMuZ2V0KHQpfSxmaW5kOmZ1bmN0aW9uKGUsbixpKXt2YXIgcixvLGEscyxsLGM9MCx1PXQubGVuZ3RoO2ZvcihudWxsPT1pP2k9MS8wOmkqPWksYz0wO2M8dTsrK2MpKGE9KHI9ZS0ocz10W2NdKS54KSpyKyhvPW4tcy55KSpvKTxpJiYobD1zLGk9YSk7cmV0dXJuIGx9LG9uOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT8oYy5vbih0LG4pLGUpOmMub24odCl9fX0sZm9yY2VYOmZ1bmN0aW9uIHZmdCh0KXt2YXIgZSxuLGkscj1RVyguMSk7ZnVuY3Rpb24gbyh0KXtmb3IodmFyIHIsbz0wLGE9ZS5sZW5ndGg7bzxhOysrbykocj1lW29dKS52eCs9KGlbb10tci54KSpuW29dKnR9ZnVuY3Rpb24gYSgpe2lmKGUpe3ZhciBvLGE9ZS5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KGEpLGk9bmV3IEFycmF5KGEpLG89MDtvPGE7KytvKW5bb109aXNOYU4oaVtvXT0rdChlW29dLG8sZSkpPzA6K3IoZVtvXSxvLGUpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9UVcobnVsbD09dD8wOit0KSksby5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe2U9dCxhKCl9LG8uc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpRVygrdCksYSgpLG8pOnJ9LG8ueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOlFXKCtlKSxhKCksbyk6dH0sb30sZm9yY2VZOmZ1bmN0aW9uIGJmdCh0KXt2YXIgZSxuLGkscj1RVyguMSk7ZnVuY3Rpb24gbyh0KXtmb3IodmFyIHIsbz0wLGE9ZS5sZW5ndGg7bzxhOysrbykocj1lW29dKS52eSs9KGlbb10tci55KSpuW29dKnR9ZnVuY3Rpb24gYSgpe2lmKGUpe3ZhciBvLGE9ZS5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KGEpLGk9bmV3IEFycmF5KGEpLG89MDtvPGE7KytvKW5bb109aXNOYU4oaVtvXT0rdChlW29dLG8sZSkpPzA6K3IoZVtvXSxvLGUpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9UVcobnVsbD09dD8wOit0KSksby5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe2U9dCxhKCl9LG8uc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpRVygrdCksYSgpLG8pOnJ9LG8ueT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOlFXKCtlKSxhKCksbyk6dH0sb30sZm9ybWF0RGVmYXVsdExvY2FsZTpiWSxnZXQgZm9ybWF0KCl7cmV0dXJuIGdZfSxnZXQgZm9ybWF0UHJlZml4KCl7cmV0dXJuIF9ZfSxmb3JtYXRMb2NhbGU6dlksZm9ybWF0U3BlY2lmaWVyOmRZLHByZWNpc2lvbkZpeGVkOmZ1bmN0aW9uIHhmdCh0KXtyZXR1cm4gTWF0aC5tYXgoMCwtYVkoTWF0aC5hYnModCkpKX0scHJlY2lzaW9uUHJlZml4OmZ1bmN0aW9uIHdmdCh0LGUpe3JldHVybiBNYXRoLm1heCgwLDMqTWF0aC5tYXgoLTgsTWF0aC5taW4oOCxNYXRoLmZsb29yKGFZKGUpLzMpKSktYVkoTWF0aC5hYnModCkpKX0scHJlY2lzaW9uUm91bmQ6ZnVuY3Rpb24gU2Z0KHQsZSl7cmV0dXJuIHQ9TWF0aC5hYnModCksZT1NYXRoLmFicyhlKS10LE1hdGgubWF4KDAsYVkoZSktYVkodCkpKzF9LGdlb0FyZWE6ZnVuY3Rpb24gTWZ0KHQpe3JldHVybiBhWC5yZXNldCgpLFFZKHQsc1gpLDIqYVh9LGdlb0JvdW5kczpmdW5jdGlvbiBFZnQodCl7dmFyIGUsbixpLHIsbyxhLHM7aWYod1g9eFg9LSh2WD1iWD0xLzApLENYPVtdLFFZKHQscVgpLG49Q1gubGVuZ3RoKXtmb3IoQ1guc29ydChlJCksZT0xLG89W2k9Q1hbMF1dO2U8bjsrK2UpbiQoaSwocj1DWFtlXSlbMF0pfHxuJChpLHJbMV0pPyh0JChpWzBdLHJbMV0pPnQkKGlbMF0saVsxXSkmJihpWzFdPXJbMV0pLHQkKHJbMF0saVsxXSk+dCQoaVswXSxpWzFdKSYmKGlbMF09clswXSkpOm8ucHVzaChpPXIpO2ZvcihhPS0xLzAsZT0wLGk9b1tuPW8ubGVuZ3RoLTFdO2U8PW47aT1yLCsrZSkocz10JChpWzFdLChyPW9bZV0pWzBdKSk+YSYmKGE9cyx2WD1yWzBdLHhYPWlbMV0pfXJldHVybiBDWD1BWD1udWxsLHZYPT09MS8wfHxiWD09PTEvMD9bW05hTixOYU5dLFtOYU4sTmFOXV06W1t2WCxiWF0sW3hYLHdYXV19LGdlb0NlbnRyb2lkOmZ1bmN0aW9uIFRmdCh0KXtrWD1MWD1QWD1OWD1JWD1SWD1PWD16WD1EWD1CWD1IWD0wLFFZKHQsaSQpO3ZhciBlPURYLG49QlgsaT1IWCxyPWUqZStuKm4raSppO3JldHVybiByPDFlLTEyJiYoZT1SWCxuPU9YLGk9elgsTFg8RVkmJihlPVBYLG49TlgsaT1JWCksKHI9ZSplK24qbitpKmkpPDFlLTEyKT9bTmFOLE5hTl06W1JZKG4sZSkqTFksV1koaS9VWShyKSkqTFldfSxnZW9DaXJjbGU6ZnVuY3Rpb24gQ2Z0KCl7dmFyIHQsZSxuPWYkKFswLDBdKSxpPWYkKDkwKSxyPWYkKDYpLG89e3BvaW50OmZ1bmN0aW9uIGEobixpKXt0LnB1c2gobj1lKG4saSkpLG5bMF0qPUxZLG5bMV0qPUxZfX07ZnVuY3Rpb24gcygpe3ZhciBhPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpLHM9aS5hcHBseSh0aGlzLGFyZ3VtZW50cykqUFksbD1yLmFwcGx5KHRoaXMsYXJndW1lbnRzKSpQWTtyZXR1cm4gdD1bXSxlPV8kKC1hWzBdKlBZLC1hWzFdKlBZLDApLmludmVydCx3JChvLHMsbCwxKSxhPXt0eXBlOiJQb2x5Z29uIixjb29yZGluYXRlczpbdF19LHQ9ZT1udWxsLGF9cmV0dXJuIHMuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZiQoWyt0WzBdLCt0WzFdXSkscyk6bn0scy5yYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpmJCgrdCkscyk6aX0scy5wcmVjaXNpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpmJCgrdCkscyk6cn0sc30sZ2VvQ2xpcEFudGltZXJpZGlhbjpCJCxnZW9DbGlwQ2lyY2xlOlYkLGdlb0NsaXBFeHRlbnQ6ZnVuY3Rpb24gQWZ0KCl7dmFyIHQsZSxuLGk9MCxyPTAsbz05NjAsYT01MDA7cmV0dXJuIG49e3N0cmVhbTpmdW5jdGlvbihuKXtyZXR1cm4gdCYmZT09PW4/dDp0PUckKGkscixvLGEpKGU9bil9LGV4dGVudDpmdW5jdGlvbihzKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rc1swXVswXSxyPStzWzBdWzFdLG89K3NbMV1bMF0sYT0rc1sxXVsxXSx0PWU9bnVsbCxuKTpbW2kscl0sW28sYV1dfX19LGdlb0NsaXBSZWN0YW5nbGU6RyQsZ2VvQ29udGFpbnM6ZnVuY3Rpb24ga2Z0KHQsZSl7cmV0dXJuKHQmJnJLLmhhc093blByb3BlcnR5KHQudHlwZSk/cktbdC50eXBlXTphSykodCxlKX0sZ2VvRGlzdGFuY2U6aUssZ2VvR3JhdGljdWxlOmZLLGdlb0dyYXRpY3VsZTEwOmZ1bmN0aW9uIExmdCgpe3JldHVybiBmSygpKCl9LGdlb0ludGVycG9sYXRlOmZ1bmN0aW9uIFBmdCh0LGUpe3ZhciBuPXRbMF0qUFksaT10WzFdKlBZLHI9ZVswXSpQWSxvPWVbMV0qUFksYT1PWShpKSxzPUZZKGkpLGw9T1kobyksYz1GWShvKSx1PWEqT1kobiksaD1hKkZZKG4pLGQ9bCpPWShyKSxwPWwqRlkociksZj0yKldZKFVZKHFZKG8taSkrYSpsKnFZKHItbikpKSxtPUZZKGYpLGc9Zj9mdW5jdGlvbih0KXt2YXIgZT1GWSh0Kj1mKS9tLG49RlkoZi10KS9tLGk9bip1K2UqZCxyPW4qaCtlKnAsbz1uKnMrZSpjO3JldHVybltSWShyLGkpKkxZLFJZKG8sVVkoaSppK3IqcikpKkxZXX06ZnVuY3Rpb24oKXtyZXR1cm5bbipMWSxpKkxZXX07cmV0dXJuIGcuZGlzdGFuY2U9ZixnfSxnZW9MZW5ndGg6dEssZ2VvUGF0aDpmdW5jdGlvbiBOZnQodCxlKXt2YXIgbixpLHI9NC41O2Z1bmN0aW9uIG8odCl7cmV0dXJuIHQmJigiZnVuY3Rpb24iPT10eXBlb2YgciYmaS5wb2ludFJhZGl1cygrci5hcHBseSh0aGlzLGFyZ3VtZW50cykpLFFZKHQsbihpKSkpLGkucmVzdWx0KCl9cmV0dXJuIG8uYXJlYT1mdW5jdGlvbih0KXtyZXR1cm4gUVkodCxuKHdLKSksd0sucmVzdWx0KCl9LG8ubWVhc3VyZT1mdW5jdGlvbih0KXtyZXR1cm4gUVkodCxuKGNaKSksY1oucmVzdWx0KCl9LG8uYm91bmRzPWZ1bmN0aW9uKHQpe3JldHVybiBRWSh0LG4oUEspKSxQSy5yZXN1bHQoKX0sby5jZW50cm9pZD1mdW5jdGlvbih0KXtyZXR1cm4gUVkodCxuKHFLKSkscUsucmVzdWx0KCl9LG8ucHJvamVjdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1udWxsPT1lPyh0PW51bGwsbUspOih0PWUpLnN0cmVhbSxvKTp0fSxvLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9bnVsbD09dD8oZT1udWxsLG5ldyBkWik6bmV3IG5aKGU9dCksImZ1bmN0aW9uIiE9dHlwZW9mIHImJmkucG9pbnRSYWRpdXMociksbyk6ZX0sby5wb2ludFJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OihpLnBvaW50UmFkaXVzKCt0KSwrdCksbyk6cn0sby5wcm9qZWN0aW9uKHQpLmNvbnRleHQoZSl9LGdlb0FsYmVyczprWixnZW9BbGJlcnNVc2E6ZnVuY3Rpb24gSWZ0KCl7dmFyIHQsZSxuLGkscixvLGE9a1ooKSxzPUFaKCkucm90YXRlKFsxNTQsMF0pLmNlbnRlcihbLTIsNTguNV0pLnBhcmFsbGVscyhbNTUsNjVdKSxsPUFaKCkucm90YXRlKFsxNTcsMF0pLmNlbnRlcihbLTMsMTkuOV0pLnBhcmFsbGVscyhbOCwxOF0pLGM9e3BvaW50OmZ1bmN0aW9uKHQsZSl7bz1bdCxlXX19O2Z1bmN0aW9uIHUodCl7dmFyIGU9dFswXSxhPXRbMV07cmV0dXJuIG89bnVsbCxuLnBvaW50KGUsYSksb3x8KGkucG9pbnQoZSxhKSxvKXx8KHIucG9pbnQoZSxhKSxvKX1mdW5jdGlvbiBoKCl7cmV0dXJuIHQ9ZT1udWxsLHV9cmV0dXJuIHUuaW52ZXJ0PWZ1bmN0aW9uKHQpe3ZhciBlPWEuc2NhbGUoKSxuPWEudHJhbnNsYXRlKCksaT0odFswXS1uWzBdKS9lLHI9KHRbMV0tblsxXSkvZTtyZXR1cm4ocj49LjEyJiZyPC4yMzQmJmk+PS0uNDI1JiZpPC0uMjE0P3M6cj49LjE2NiYmcjwuMjM0JiZpPj0tLjIxNCYmaTwtLjExNT9sOmEpLmludmVydCh0KX0sdS5zdHJlYW09ZnVuY3Rpb24obil7cmV0dXJuIHQmJmU9PT1uP3Q6dD0oZnVuY3Rpb24gaSh0KXt2YXIgZT10Lmxlbmd0aDtyZXR1cm57cG9pbnQ6ZnVuY3Rpb24obixpKXtmb3IodmFyIHI9LTE7KytyPGU7KXRbcl0ucG9pbnQobixpKX0sc3BoZXJlOmZ1bmN0aW9uKCl7Zm9yKHZhciBuPS0xOysrbjxlOyl0W25dLnNwaGVyZSgpfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXtmb3IodmFyIG49LTE7KytuPGU7KXRbbl0ubGluZVN0YXJ0KCl9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtmb3IodmFyIG49LTE7KytuPGU7KXRbbl0ubGluZUVuZCgpfSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtmb3IodmFyIG49LTE7KytuPGU7KXRbbl0ucG9seWdvblN0YXJ0KCl9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtmb3IodmFyIG49LTE7KytuPGU7KXRbbl0ucG9seWdvbkVuZCgpfX19KShbYS5zdHJlYW0oZT1uKSxzLnN0cmVhbShuKSxsLnN0cmVhbShuKV0pfSx1LnByZWNpc2lvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYS5wcmVjaXNpb24odCkscy5wcmVjaXNpb24odCksbC5wcmVjaXNpb24odCksaCgpKTphLnByZWNpc2lvbigpfSx1LnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhLnNjYWxlKHQpLHMuc2NhbGUoLjM1KnQpLGwuc2NhbGUodCksdS50cmFuc2xhdGUoYS50cmFuc2xhdGUoKSkpOmEuc2NhbGUoKX0sdS50cmFuc2xhdGU9ZnVuY3Rpb24odCl7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGEudHJhbnNsYXRlKCk7dmFyIGU9YS5zY2FsZSgpLG89K3RbMF0sdT0rdFsxXTtyZXR1cm4gbj1hLnRyYW5zbGF0ZSh0KS5jbGlwRXh0ZW50KFtbby0uNDU1KmUsdS0uMjM4KmVdLFtvKy40NTUqZSx1Ky4yMzgqZV1dKS5zdHJlYW0oYyksaT1zLnRyYW5zbGF0ZShbby0uMzA3KmUsdSsuMjAxKmVdKS5jbGlwRXh0ZW50KFtbby0uNDI1KmUrRVksdSsuMTIqZStFWV0sW28tLjIxNCplLUVZLHUrLjIzNCplLUVZXV0pLnN0cmVhbShjKSxyPWwudHJhbnNsYXRlKFtvLS4yMDUqZSx1Ky4yMTIqZV0pLmNsaXBFeHRlbnQoW1tvLS4yMTQqZStFWSx1Ky4xNjYqZStFWV0sW28tLjExNSplLUVZLHUrLjIzNCplLUVZXV0pLnN0cmVhbShjKSxoKCl9LHUuZml0RXh0ZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIF9aKHUsdCxlKX0sdS5maXRTaXplPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHlaKHUsdCxlKX0sdS5maXRXaWR0aD1mdW5jdGlvbih0LGUpe3JldHVybiB2Wih1LHQsZSl9LHUuZml0SGVpZ2h0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGJaKHUsdCxlKX0sdS5zY2FsZSgxMDcwKX0sZ2VvQXppbXV0aGFsRXF1YWxBcmVhOmZ1bmN0aW9uIFJmdCgpe3JldHVybiBNWihOWikuc2NhbGUoMTI0Ljc1KS5jbGlwQW5nbGUoMTc5Ljk5OSl9LGdlb0F6aW11dGhhbEVxdWFsQXJlYVJhdzpOWixnZW9BemltdXRoYWxFcXVpZGlzdGFudDpmdW5jdGlvbiBPZnQoKXtyZXR1cm4gTVooSVopLnNjYWxlKDc5LjQxODgpLmNsaXBBbmdsZSgxNzkuOTk5KX0sZ2VvQXppbXV0aGFsRXF1aWRpc3RhbnRSYXc6SVosZ2VvQ29uaWNDb25mb3JtYWw6ZnVuY3Rpb24gemZ0KCl7cmV0dXJuIFRaKERaKS5zY2FsZSgxMDkuNSkucGFyYWxsZWxzKFszMCwzMF0pfSxnZW9Db25pY0NvbmZvcm1hbFJhdzpEWixnZW9Db25pY0VxdWFsQXJlYTpBWixnZW9Db25pY0VxdWFsQXJlYVJhdzpDWixnZW9Db25pY0VxdWlkaXN0YW50OmZ1bmN0aW9uIERmdCgpe3JldHVybiBUWihIWikuc2NhbGUoMTMxLjE1NCkuY2VudGVyKFswLDEzLjkzODldKX0sZ2VvQ29uaWNFcXVpZGlzdGFudFJhdzpIWixnZW9FcXVpcmVjdGFuZ3VsYXI6ZnVuY3Rpb24gQmZ0KCl7cmV0dXJuIE1aKEJaKS5zY2FsZSgxNTIuNjMpfSxnZW9FcXVpcmVjdGFuZ3VsYXJSYXc6QlosZ2VvR25vbW9uaWM6ZnVuY3Rpb24gSGZ0KCl7cmV0dXJuIE1aKEZaKS5zY2FsZSgxNDQuMDQ5KS5jbGlwQW5nbGUoNjApfSxnZW9Hbm9tb25pY1JhdzpGWixnZW9JZGVudGl0eTpmdW5jdGlvbiBGZnQoKXt2YXIgdCxlLG4saSxyLG8sYT0xLHM9MCxsPTAsYz0xLHU9MSxoPW1LLGQ9bnVsbCxwPW1LO2Z1bmN0aW9uIGYoKXtyZXR1cm4gaT1yPW51bGwsb31yZXR1cm4gbz17c3RyZWFtOmZ1bmN0aW9uKHQpe3JldHVybiBpJiZyPT09dD9pOmk9aChwKHI9dCkpfSxwb3N0Y2xpcDpmdW5jdGlvbihpKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocD1pLGQ9dD1lPW49bnVsbCxmKCkpOnB9LGNsaXBFeHRlbnQ6ZnVuY3Rpb24oaSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHA9bnVsbD09aT8oZD10PWU9bj1udWxsLG1LKTpHJChkPStpWzBdWzBdLHQ9K2lbMF1bMV0sZT0raVsxXVswXSxuPStpWzFdWzFdKSxmKCkpOm51bGw9PWQ/bnVsbDpbW2QsdF0sW2Usbl1dfSxzY2FsZTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaD1WWigoYT0rdCkqYyxhKnUscyxsKSxmKCkpOmF9LHRyYW5zbGF0ZTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaD1WWihhKmMsYSp1LHM9K3RbMF0sbD0rdFsxXSksZigpKTpbcyxsXX0scmVmbGVjdFg6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGg9VlooYSooYz10Py0xOjEpLGEqdSxzLGwpLGYoKSk6YzwwfSxyZWZsZWN0WTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaD1WWihhKmMsYSoodT10Py0xOjEpLHMsbCksZigpKTp1PDB9LGZpdEV4dGVudDpmdW5jdGlvbih0LGUpe3JldHVybiBfWihvLHQsZSl9LGZpdFNpemU6ZnVuY3Rpb24odCxlKXtyZXR1cm4geVoobyx0LGUpfSxmaXRXaWR0aDpmdW5jdGlvbih0LGUpe3JldHVybiB2WihvLHQsZSl9LGZpdEhlaWdodDpmdW5jdGlvbih0LGUpe3JldHVybiBiWihvLHQsZSl9fX0sZ2VvUHJvamVjdGlvbjpNWixnZW9Qcm9qZWN0aW9uTXV0YXRvcjpFWixnZW9NZXJjYXRvcjpmdW5jdGlvbiBWZnQoKXtyZXR1cm4gT1ooUlopLnNjYWxlKDk2MS9rWSl9LGdlb01lcmNhdG9yUmF3OlJaLGdlb05hdHVyYWxFYXJ0aDE6ZnVuY3Rpb24gVWZ0KCl7cmV0dXJuIE1aKFVaKS5zY2FsZSgxNzUuMjk1KX0sZ2VvTmF0dXJhbEVhcnRoMVJhdzpVWixnZW9PcnRob2dyYXBoaWM6ZnVuY3Rpb24gamZ0KCl7cmV0dXJuIE1aKGpaKS5zY2FsZSgyNDkuNSkuY2xpcEFuZ2xlKDkwLjAwMDAwMSl9LGdlb09ydGhvZ3JhcGhpY1JhdzpqWixnZW9TdGVyZW9ncmFwaGljOmZ1bmN0aW9uIEdmdCgpe3JldHVybiBNWihHWikuc2NhbGUoMjUwKS5jbGlwQW5nbGUoMTQyKX0sZ2VvU3RlcmVvZ3JhcGhpY1JhdzpHWixnZW9UcmFuc3ZlcnNlTWVyY2F0b3I6ZnVuY3Rpb24gV2Z0KCl7dmFyIHQ9T1ooV1opLGU9dC5jZW50ZXIsbj10LnJvdGF0ZTtyZXR1cm4gdC5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/ZShbLXRbMV0sdFswXV0pOlsodD1lKCkpWzFdLC10WzBdXX0sdC5yb3RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/bihbdFswXSx0WzFdLHQubGVuZ3RoPjI/dFsyXSs5MDo5MF0pOlsodD1uKCkpWzBdLHRbMV0sdFsyXS05MF19LG4oWzAsMCw5MF0pLnNjYWxlKDE1OS4xNTUpfSxnZW9UcmFuc3ZlcnNlTWVyY2F0b3JSYXc6V1osZ2VvUm90YXRpb246eCQsZ2VvU3RyZWFtOlFZLGdlb1RyYW5zZm9ybTpmdW5jdGlvbiBxZnQodCl7cmV0dXJue3N0cmVhbTpmWih0KX19LGNsdXN0ZXI6ZnVuY3Rpb24gWWZ0KCl7dmFyIHQ9cVosZT0xLG49MSxpPSExO2Z1bmN0aW9uIHIocil7dmFyIG8sYT0wO3IuZWFjaEFmdGVyKChmdW5jdGlvbihlKXt2YXIgbj1lLmNoaWxkcmVuO24/KGUueD0oZnVuY3Rpb24gaSh0KXtyZXR1cm4gdC5yZWR1Y2UoWVosMCkvdC5sZW5ndGh9KShuKSxlLnk9KGZ1bmN0aW9uIHIodCl7cmV0dXJuIDErdC5yZWR1Y2UoWFosMCl9KShuKSk6KGUueD1vP2ErPXQoZSxvKTowLGUueT0wLG89ZSl9KSk7dmFyIHM9KGZ1bmN0aW9uIGwodCl7Zm9yKHZhciBlO2U9dC5jaGlsZHJlbjspdD1lWzBdO3JldHVybiB0fSkociksYz0oZnVuY3Rpb24gdSh0KXtmb3IodmFyIGU7ZT10LmNoaWxkcmVuOyl0PWVbZS5sZW5ndGgtMV07cmV0dXJuIHR9KShyKSxoPXMueC10KHMsYykvMixkPWMueCt0KGMscykvMjtyZXR1cm4gci5lYWNoQWZ0ZXIoaT9mdW5jdGlvbih0KXt0Lng9KHQueC1yLngpKmUsdC55PShyLnktdC55KSpufTpmdW5jdGlvbih0KXt0Lng9KHQueC1oKS8oZC1oKSplLHQueT0oMS0oci55P3QueS9yLnk6MSkpKm59KX1yZXR1cm4gci5zZXBhcmF0aW9uPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUscik6dH0sci5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSExLGU9K3RbMF0sbj0rdFsxXSxyKTppP251bGw6W2Usbl19LHIubm9kZVNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ITAsZT0rdFswXSxuPSt0WzFdLHIpOmk/W2Usbl06bnVsbH0scn0saGllcmFyY2h5OktaLHBhY2s6ZnVuY3Rpb24gWGZ0KCl7dmFyIHQ9bnVsbCxlPTEsbj0xLGk9a0o7ZnVuY3Rpb24gcihyKXtyZXR1cm4gci54PWUvMixyLnk9bi8yLHQ/ci5lYWNoQmVmb3JlKE5KKHQpKS5lYWNoQWZ0ZXIoSUooaSwuNSkpLmVhY2hCZWZvcmUoUkooMSkpOnIuZWFjaEJlZm9yZShOSihQSikpLmVhY2hBZnRlcihJSihrSiwxKSkuZWFjaEFmdGVyKElKKGksci5yL01hdGgubWluKGUsbikpKS5lYWNoQmVmb3JlKFJKKE1hdGgubWluKGUsbikvKDIqci5yKSkpLHJ9cmV0dXJuIHIucmFkaXVzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PUNKKGUpLHIpOnR9LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdFswXSxuPSt0WzFdLHIpOltlLG5dfSxyLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpMSigrdCkscik6aX0scn0scGFja1NpYmxpbmdzOmZ1bmN0aW9uICRmdCh0KXtyZXR1cm4gVEoodCksdH0scGFja0VuY2xvc2U6ZkoscGFydGl0aW9uOmZ1bmN0aW9uIEtmdCgpe3ZhciB0PTEsZT0xLG49MCxpPSExO2Z1bmN0aW9uIHIocil7dmFyIG89ci5oZWlnaHQrMTtyZXR1cm4gci54MD1yLnkwPW4sci54MT10LHIueTE9ZS9vLHIuZWFjaEJlZm9yZSgoZnVuY3Rpb24gYSh0LGUpe3JldHVybiBmdW5jdGlvbihpKXtpLmNoaWxkcmVuJiZ6SihpLGkueDAsdCooaS5kZXB0aCsxKS9lLGkueDEsdCooaS5kZXB0aCsyKS9lKTt2YXIgcj1pLngwLG89aS55MCxhPWkueDEtbixzPWkueTEtbjthPHImJihyPWE9KHIrYSkvMiksczxvJiYobz1zPShvK3MpLzIpLGkueDA9cixpLnkwPW8saS54MT1hLGkueTE9c319KShlLG8pKSxpJiZyLmVhY2hCZWZvcmUoT0opLHJ9cmV0dXJuIHIucm91bmQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ISF0LHIpOml9LHIuc2l6ZT1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rblswXSxlPStuWzFdLHIpOlt0LGVdfSxyLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3Qscik6bn0scn0sc3RyYXRpZnk6ZnVuY3Rpb24gWmZ0KCl7dmFyIHQ9SEosZT1GSjtmdW5jdGlvbiBuKG4pe3ZhciBpLHIsbyxhLHMsbCxjLHU9bi5sZW5ndGgsaD1uZXcgQXJyYXkodSksZD17fTtmb3Iocj0wO3I8dTsrK3Ipcz1oW3JdPW5ldyB0SihpPW5bcl0pLG51bGwhPShsPXQoaSxyLG4pKSYmKGwrPSIiKSYmKGRbYz0iJCIrKHMuaWQ9bCldPWMgaW4gZD9CSjpzKTtmb3Iocj0wO3I8dTsrK3IpaWYocz1oW3JdLG51bGwhPShsPWUobltyXSxyLG4pKSYmKGwrPSIiKSl7aWYoIShhPWRbIiQiK2xdKSl0aHJvdyBuZXcgRXJyb3IoIm1pc3Npbmc6ICIrbCk7aWYoYT09PUJKKXRocm93IG5ldyBFcnJvcigiYW1iaWd1b3VzOiAiK2wpO2EuY2hpbGRyZW4/YS5jaGlsZHJlbi5wdXNoKHMpOmEuY2hpbGRyZW49W3NdLHMucGFyZW50PWF9ZWxzZXtpZihvKXRocm93IG5ldyBFcnJvcigibXVsdGlwbGUgcm9vdHMiKTtvPXN9aWYoIW8pdGhyb3cgbmV3IEVycm9yKCJubyByb290Iik7aWYoby5wYXJlbnQ9REosby5lYWNoQmVmb3JlKChmdW5jdGlvbih0KXt0LmRlcHRoPXQucGFyZW50LmRlcHRoKzEsLS11fSkpLmVhY2hCZWZvcmUoUVopLG8ucGFyZW50PW51bGwsdT4wKXRocm93IG5ldyBFcnJvcigiY3ljbGUiKTtyZXR1cm4gb31yZXR1cm4gbi5pZD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1BSihlKSxuKTp0fSxuLnBhcmVudElkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPUFKKHQpLG4pOmV9LG59LHRyZWU6ZnVuY3Rpb24gSmZ0KCl7dmFyIHQ9VkosZT0xLG49MSxpPW51bGw7ZnVuY3Rpb24gcihyKXt2YXIgbD0oZnVuY3Rpb24gYyh0KXtmb3IodmFyIGUsbixpLHIsbyxhPW5ldyBxSih0LDApLHM9W2FdO2U9cy5wb3AoKTspaWYoaT1lLl8uY2hpbGRyZW4pZm9yKGUuY2hpbGRyZW49bmV3IEFycmF5KG89aS5sZW5ndGgpLHI9by0xO3I+PTA7LS1yKXMucHVzaChuPWUuY2hpbGRyZW5bcl09bmV3IHFKKGlbcl0scikpLG4ucGFyZW50PWU7cmV0dXJuKGEucGFyZW50PW5ldyBxSihudWxsLDApKS5jaGlsZHJlbj1bYV0sYX0pKHIpO2lmKGwuZWFjaEFmdGVyKG8pLGwucGFyZW50Lm09LWwueixsLmVhY2hCZWZvcmUoYSksaSlyLmVhY2hCZWZvcmUocyk7ZWxzZXt2YXIgdT1yLGg9cixkPXI7ci5lYWNoQmVmb3JlKChmdW5jdGlvbih0KXt0Lng8dS54JiYodT10KSx0Lng+aC54JiYoaD10KSx0LmRlcHRoPmQuZGVwdGgmJihkPXQpfSkpO3ZhciBwPXU9PT1oPzE6dCh1LGgpLzIsZj1wLXUueCxtPWUvKGgueCtwK2YpLGc9bi8oZC5kZXB0aHx8MSk7ci5lYWNoQmVmb3JlKChmdW5jdGlvbih0KXt0Lng9KHQueCtmKSptLHQueT10LmRlcHRoKmd9KSl9cmV0dXJuIHJ9ZnVuY3Rpb24gbyhlKXt2YXIgbj1lLmNoaWxkcmVuLGk9ZS5wYXJlbnQuY2hpbGRyZW4scj1lLmk/aVtlLmktMV06bnVsbDtpZihuKXshKGZ1bmN0aW9uIG8odCl7Zm9yKHZhciBlLG49MCxpPTAscj10LmNoaWxkcmVuLG89ci5sZW5ndGg7LS1vPj0wOykoZT1yW29dKS56Kz1uLGUubSs9bixuKz1lLnMrKGkrPWUuYyl9KShlKTt2YXIgYT0oblswXS56K25bbi5sZW5ndGgtMV0ueikvMjtyPyhlLno9ci56K3QoZS5fLHIuXyksZS5tPWUuei1hKTplLno9YX1lbHNlIHImJihlLno9ci56K3QoZS5fLHIuXykpO2UucGFyZW50LkE9KGZ1bmN0aW9uIHMoZSxuLGkpe2lmKG4pe2Zvcih2YXIgcixvPWUsYT1lLHM9bixsPW8ucGFyZW50LmNoaWxkcmVuWzBdLGM9by5tLHU9YS5tLGg9cy5tLGQ9bC5tO3M9akoocyksbz1VSihvKSxzJiZvOylsPVVKKGwpLChhPWpKKGEpKS5hPWUsKHI9cy56K2gtby56LWMrdChzLl8sby5fKSk+MCYmKEdKKFdKKHMsZSxpKSxlLHIpLGMrPXIsdSs9ciksaCs9cy5tLGMrPW8ubSxkKz1sLm0sdSs9YS5tO3MmJiFqSihhKSYmKGEudD1zLGEubSs9aC11KSxvJiYhVUoobCkmJihsLnQ9byxsLm0rPWMtZCxpPWUpfXJldHVybiBpfSkoZSxyLGUucGFyZW50LkF8fGlbMF0pfWZ1bmN0aW9uIGEodCl7dC5fLng9dC56K3QucGFyZW50Lm0sdC5tKz10LnBhcmVudC5tfWZ1bmN0aW9uIHModCl7dC54Kj1lLHQueT10LmRlcHRoKm59cmV0dXJuIHIuc2VwYXJhdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1lLHIpOnR9LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0hMSxlPSt0WzBdLG49K3RbMV0scik6aT9udWxsOltlLG5dfSxyLm5vZGVTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSEwLGU9K3RbMF0sbj0rdFsxXSxyKTppP1tlLG5dOm51bGx9LHJ9LHRyZWVtYXA6ZnVuY3Rpb24gUWZ0KCl7dmFyIHQ9S0osZT0hMSxuPTEsaT0xLHI9WzBdLG89a0osYT1rSixzPWtKLGw9a0osYz1rSjtmdW5jdGlvbiB1KHQpe3JldHVybiB0LngwPXQueTA9MCx0LngxPW4sdC55MT1pLHQuZWFjaEJlZm9yZShoKSxyPVswXSxlJiZ0LmVhY2hCZWZvcmUoT0opLHR9ZnVuY3Rpb24gaChlKXt2YXIgbj1yW2UuZGVwdGhdLGk9ZS54MCtuLHU9ZS55MCtuLGg9ZS54MS1uLGQ9ZS55MS1uO2g8aSYmKGk9aD0oaStoKS8yKSxkPHUmJih1PWQ9KHUrZCkvMiksZS54MD1pLGUueTA9dSxlLngxPWgsZS55MT1kLGUuY2hpbGRyZW4mJihuPXJbZS5kZXB0aCsxXT1vKGUpLzIsaSs9YyhlKS1uLHUrPWEoZSktbiwoaC09cyhlKS1uKTxpJiYoaT1oPShpK2gpLzIpLChkLT1sKGUpLW4pPHUmJih1PWQ9KHUrZCkvMiksdChlLGksdSxoLGQpKX1yZXR1cm4gdS5yb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0hIXQsdSk6ZX0sdS5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSt0WzBdLGk9K3RbMV0sdSk6W24saV19LHUudGlsZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1BSihlKSx1KTp0fSx1LnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dS5wYWRkaW5nSW5uZXIodCkucGFkZGluZ091dGVyKHQpOnUucGFkZGluZ0lubmVyKCl9LHUucGFkZGluZ0lubmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TEooK3QpLHUpOm99LHUucGFkZGluZ091dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3UucGFkZGluZ1RvcCh0KS5wYWRkaW5nUmlnaHQodCkucGFkZGluZ0JvdHRvbSh0KS5wYWRkaW5nTGVmdCh0KTp1LnBhZGRpbmdUb3AoKX0sdS5wYWRkaW5nVG9wPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TEooK3QpLHUpOmF9LHUucGFkZGluZ1JpZ2h0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TEooK3QpLHUpOnN9LHUucGFkZGluZ0JvdHRvbT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkxKKCt0KSx1KTpsfSx1LnBhZGRpbmdMZWZ0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TEooK3QpLHUpOmN9LHV9LHRyZWVtYXBCaW5hcnk6ZnVuY3Rpb24gdG10KHQsZSxuLGkscil7dmFyIG8sYSxzPXQuY2hpbGRyZW4sbD1zLmxlbmd0aCxjPW5ldyBBcnJheShsKzEpO2ZvcihjWzBdPWE9bz0wO288bDsrK28pY1tvKzFdPWErPXNbb10udmFsdWU7IShmdW5jdGlvbiB0KGUsbixpLHIsbyxhLGwpe2lmKGU+PW4tMSl7dmFyIHU9c1tlXTtyZXR1cm4gdS54MD1yLHUueTA9byx1LngxPWEsdm9pZCh1LnkxPWwpfXZhciBoPWNbZV0sZD1pLzIraCxwPWUrMSxmPW4tMTtmb3IoO3A8Zjspe3ZhciBtPXArZj4+PjE7Y1ttXTxkP3A9bSsxOmY9bX1kLWNbcC0xXTxjW3BdLWQmJmUrMTxwJiYtLXA7dmFyIGc9Y1twXS1oLF89aS1nO2lmKGEtcj5sLW8pe3ZhciB5PShyKl8rYSpnKS9pO3QoZSxwLGcscixvLHksbCksdChwLG4sXyx5LG8sYSxsKX1lbHNle3ZhciB2PShvKl8rbCpnKS9pO3QoZSxwLGcscixvLGEsdiksdChwLG4sXyxyLHYsYSxsKX19KSgwLGwsdC52YWx1ZSxlLG4saSxyKX0sdHJlZW1hcERpY2U6ekosdHJlZW1hcFNsaWNlOllKLHRyZWVtYXBTbGljZURpY2U6ZnVuY3Rpb24gZW10KHQsZSxuLGkscil7KDEmdC5kZXB0aD9ZSjp6SikodCxlLG4saSxyKX0sdHJlZW1hcFNxdWFyaWZ5OktKLHRyZWVtYXBSZXNxdWFyaWZ5OlpKLGludGVycG9sYXRlOkUxLGludGVycG9sYXRlQXJyYXk6eTEsaW50ZXJwb2xhdGVCYXNpczpzMSxpbnRlcnBvbGF0ZUJhc2lzQ2xvc2VkOmwxLGludGVycG9sYXRlRGF0ZTp2MSxpbnRlcnBvbGF0ZU51bWJlcjpiMSxpbnRlcnBvbGF0ZU9iamVjdDp4MSxpbnRlcnBvbGF0ZVJvdW5kOmZ1bmN0aW9uIG5tdCh0LGUpe3JldHVybiBlLT10PSt0LGZ1bmN0aW9uKG4pe3JldHVybiBNYXRoLnJvdW5kKHQrZSpuKX19LGludGVycG9sYXRlU3RyaW5nOk0xLGludGVycG9sYXRlVHJhbnNmb3JtQ3NzOlIxLGludGVycG9sYXRlVHJhbnNmb3JtU3ZnOnoxLGludGVycG9sYXRlWm9vbTpmdW5jdGlvbiBpbXQodCxlKXt2YXIgbixpLHI9dFswXSxvPXRbMV0sYT10WzJdLHM9ZVsyXSxsPWVbMF0tcixjPWVbMV0tbyx1PWwqbCtjKmM7aWYodTwxZS0xMilpPU1hdGgubG9nKHMvYSkvQjEsbj1mdW5jdGlvbih0KXtyZXR1cm5bcit0Kmwsbyt0KmMsYSpNYXRoLmV4cChCMSp0KmkpXX07ZWxzZXt2YXIgaD1NYXRoLnNxcnQodSksZD0ocypzLWEqYSs0KnUpLygyKmEqMipoKSxwPShzKnMtYSphLTQqdSkvKDIqcyoyKmgpLGY9TWF0aC5sb2coTWF0aC5zcXJ0KGQqZCsxKS1kKSxtPU1hdGgubG9nKE1hdGguc3FydChwKnArMSktcCk7aT0obS1mKS9CMSxuPWZ1bmN0aW9uKHQpe3ZhciBlPXQqaSxuPUgxKGYpLHM9YS8oMipoKSoobiooZnVuY3Rpb24gdSh0KXtyZXR1cm4oKHQ9TWF0aC5leHAoMip0KSktMSkvKHQrMSl9KShCMSplK2YpLShmdW5jdGlvbiBkKHQpe3JldHVybigodD1NYXRoLmV4cCh0KSktMS90KS8yfSkoZikpO3JldHVybltyK3MqbCxvK3MqYyxhKm4vSDEoQjEqZStmKV19fXJldHVybiBuLmR1cmF0aW9uPTFlMyppLG59LGludGVycG9sYXRlUmdiOmYxLGludGVycG9sYXRlUmdiQmFzaXM6ZzEsaW50ZXJwb2xhdGVSZ2JCYXNpc0Nsb3NlZDpfMSxpbnRlcnBvbGF0ZUhzbDpWMSxpbnRlcnBvbGF0ZUhzbExvbmc6VTEsaW50ZXJwb2xhdGVMYWI6ZnVuY3Rpb24gcm10KHQsZSl7dmFyIG49cDEoKHQ9SFEodCkpLmwsKGU9SFEoZSkpLmwpLGk9cDEodC5hLGUuYSkscj1wMSh0LmIsZS5iKSxvPXAxKHQub3BhY2l0eSxlLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5sPW4oZSksdC5hPWkoZSksdC5iPXIoZSksdC5vcGFjaXR5PW8oZSksdCsiIn19LGludGVycG9sYXRlSGNsOkcxLGludGVycG9sYXRlSGNsTG9uZzpXMSxpbnRlcnBvbGF0ZUN1YmVoZWxpeDpZMSxpbnRlcnBvbGF0ZUN1YmVoZWxpeExvbmc6WDEscXVhbnRpemU6ZnVuY3Rpb24gb210KHQsZSl7Zm9yKHZhciBuPW5ldyBBcnJheShlKSxpPTA7aTxlOysraSluW2ldPXQoaS8oZS0xKSk7cmV0dXJuIG59LHBhdGg6dDAscG9seWdvbkFyZWE6ZnVuY3Rpb24gYW10KHQpe2Zvcih2YXIgZSxuPS0xLGk9dC5sZW5ndGgscj10W2ktMV0sbz0wOysrbjxpOylvKz0oZT1yKVsxXSoocj10W25dKVswXS1lWzBdKnJbMV07cmV0dXJuIG8vMn0scG9seWdvbkNlbnRyb2lkOmZ1bmN0aW9uIHNtdCh0KXtmb3IodmFyIGUsbixpPS0xLHI9dC5sZW5ndGgsbz0wLGE9MCxzPXRbci0xXSxsPTA7KytpPHI7KWwrPW49KGU9cylbMF0qKHM9dFtpXSlbMV0tc1swXSplWzFdLG8rPShlWzBdK3NbMF0pKm4sYSs9KGVbMV0rc1sxXSkqbjtyZXR1cm5bby8obCo9MyksYS9sXX0scG9seWdvbkh1bGw6ZnVuY3Rpb24gbG10KHQpe2lmKChuPXQubGVuZ3RoKTwzKXJldHVybiBudWxsO3ZhciBlLG4saT1uZXcgQXJyYXkobikscj1uZXcgQXJyYXkobik7Zm9yKGU9MDtlPG47KytlKWlbZV09Wyt0W2VdWzBdLCt0W2VdWzFdLGVdO2ZvcihpLnNvcnQobjApLGU9MDtlPG47KytlKXJbZV09W2lbZV1bMF0sLWlbZV1bMV1dO3ZhciBvPWkwKGkpLGE9aTAocikscz1hWzBdPT09b1swXSxsPWFbYS5sZW5ndGgtMV09PT1vW28ubGVuZ3RoLTFdLGM9W107Zm9yKGU9by5sZW5ndGgtMTtlPj0wOy0tZSljLnB1c2godFtpW29bZV1dWzJdXSk7Zm9yKGU9K3M7ZTxhLmxlbmd0aC1sOysrZSljLnB1c2godFtpW2FbZV1dWzJdXSk7cmV0dXJuIGN9LHBvbHlnb25Db250YWluczpmdW5jdGlvbiBjbXQodCxlKXtmb3IodmFyIG4saSxyPXQubGVuZ3RoLG89dFtyLTFdLGE9ZVswXSxzPWVbMV0sbD1vWzBdLGM9b1sxXSx1PSExLGg9MDtoPHI7KytoKW49KG89dFtoXSlbMF0sKGk9b1sxXSk+cyE9Yz5zJiZhPChsLW4pKihzLWkpLyhjLWkpK24mJih1PSF1KSxsPW4sYz1pO3JldHVybiB1fSxwb2x5Z29uTGVuZ3RoOmZ1bmN0aW9uIHVtdCh0KXtmb3IodmFyIGUsbixpPS0xLHI9dC5sZW5ndGgsbz10W3ItMV0sYT1vWzBdLHM9b1sxXSxsPTA7KytpPHI7KWU9YSxuPXMsZS09YT0obz10W2ldKVswXSxuLT1zPW9bMV0sbCs9TWF0aC5zcXJ0KGUqZStuKm4pO3JldHVybiBsfSxxdWFkdHJlZTpsMCxxdWV1ZTpJMCxyYW5kb21Vbmlmb3JtOk8wLHJhbmRvbU5vcm1hbDp6MCxyYW5kb21Mb2dOb3JtYWw6RDAscmFuZG9tQmF0ZXM6SDAscmFuZG9tSXJ3aW5IYWxsOkIwLHJhbmRvbUV4cG9uZW50aWFsOkYwLHJlcXVlc3Q6VjAsaHRtbDpqMCxqc29uOkcwLHRleHQ6VzAseG1sOnEwLGNzdjokMCx0c3Y6SzAsc2NhbGVCYW5kOnkyLHNjYWxlUG9pbnQ6ZnVuY3Rpb24gaG10KCl7cmV0dXJuIHYyKHkyKCkucGFkZGluZ0lubmVyKDEpKX0sc2NhbGVJZGVudGl0eTpmdW5jdGlvbiB0KCl7dmFyIGU9WzAsMV07ZnVuY3Rpb24gbih0KXtyZXR1cm4rdH1yZXR1cm4gbi5pbnZlcnQ9bixuLmRvbWFpbj1uLnJhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPWYyLmNhbGwodCxQNSksbik6ZS5zbGljZSgpfSxuLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLmRvbWFpbihlKX0sbjMobil9LHNjYWxlTGluZWFyOmZ1bmN0aW9uIHQoKXt2YXIgZT1ENShJNSxiNSk7cmV0dXJuIGUuY29weT1mdW5jdGlvbigpe3JldHVybiB6NShlLHQoKSl9LG4zKGUpfSxzY2FsZUxvZzpmdW5jdGlvbiB0KCl7dmFyIGU9RDUocjMsbzMpLmRvbWFpbihbMSwxMF0pLG49ZS5kb21haW4saT0xMCxyPWwzKDEwKSxvPXMzKDEwKTtmdW5jdGlvbiBhKCl7cmV0dXJuIHI9bDMoaSksbz1zMyhpKSxuKClbMF08MCYmKHI9YzMociksbz1jMyhvKSksZX1yZXR1cm4gZS5iYXNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSt0LGEoKSk6aX0sZS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG4odCksYSgpKTpuKCl9LGUudGlja3M9ZnVuY3Rpb24odCl7dmFyIGUsYT1uKCkscz1hWzBdLGw9YVthLmxlbmd0aC0xXTsoZT1sPHMpJiYoZD1zLHM9bCxsPWQpO3ZhciBjLHUsaCxkPXIocykscD1yKGwpLGY9bnVsbD09dD8xMDordCxtPVtdO2lmKCEoaSUxKSYmcC1kPGYpe2lmKGQ9TWF0aC5yb3VuZChkKS0xLHA9TWF0aC5yb3VuZChwKSsxLHM+MCl7Zm9yKDtkPHA7KytkKWZvcih1PTEsYz1vKGQpO3U8aTsrK3UpaWYoISgoaD1jKnUpPHMpKXtpZihoPmwpYnJlYWs7bS5wdXNoKGgpfX1lbHNlIGZvcig7ZDxwOysrZClmb3IodT1pLTEsYz1vKGQpO3U+PTE7LS11KWlmKCEoKGg9Yyp1KTxzKSl7aWYoaD5sKWJyZWFrO20ucHVzaChoKX19ZWxzZSBtPXIyKGQscCxNYXRoLm1pbihwLWQsZikpLm1hcChvKTtyZXR1cm4gZT9tLnJldmVyc2UoKTptfSxlLnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCxuKXtpZihudWxsPT1uJiYobj0xMD09PWk/Ii4wZSI6IiwiKSwiZnVuY3Rpb24iIT10eXBlb2YgbiYmKG49SzUobikpLHQ9PT0xLzApcmV0dXJuIG47bnVsbD09dCYmKHQ9MTApO3ZhciBhPU1hdGgubWF4KDEsaSp0L2UudGlja3MoKS5sZW5ndGgpO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT10L28oTWF0aC5yb3VuZChyKHQpKSk7cmV0dXJuIGUqaTxpLS41JiYoZSo9aSksZTw9YT9uKHQpOiIifX0sZS5uaWNlPWZ1bmN0aW9uKCl7cmV0dXJuIG4oaTMobigpLHtmbG9vcjpmdW5jdGlvbih0KXtyZXR1cm4gbyhNYXRoLmZsb29yKHIodCkpKX0sY2VpbDpmdW5jdGlvbih0KXtyZXR1cm4gbyhNYXRoLmNlaWwocih0KSkpfX0pKX0sZS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHo1KGUsdCgpLmJhc2UoaSkpfSxlfSxzY2FsZU9yZGluYWw6XzIsc2NhbGVJbXBsaWNpdDpnMixzY2FsZVBvdzpoMyxzY2FsZVNxcnQ6ZnVuY3Rpb24gZG10KCl7cmV0dXJuIGgzKCkuZXhwb25lbnQoLjUpfSxzY2FsZVF1YW50aWxlOmZ1bmN0aW9uIHQoKXt2YXIgZT1bXSxuPVtdLGk9W107ZnVuY3Rpb24gcigpe3ZhciB0PTAscj1NYXRoLm1heCgxLG4ubGVuZ3RoKTtmb3IoaT1uZXcgQXJyYXkoci0xKTsrK3Q8cjspaVt0LTFdPXMyKGUsdC9yKTtyZXR1cm4gb31mdW5jdGlvbiBvKHQpe2lmKCFpc05hTih0PSt0KSlyZXR1cm4gbltRMChpLHQpXX1yZXR1cm4gby5pbnZlcnRFeHRlbnQ9ZnVuY3Rpb24odCl7dmFyIHI9bi5pbmRleE9mKHQpO3JldHVybiByPDA/W05hTixOYU5dOltyPjA/aVtyLTFdOmVbMF0scjxpLmxlbmd0aD9pW3JdOmVbZS5sZW5ndGgtMV1dfSxvLmRvbWFpbj1mdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZS5zbGljZSgpO2U9W107Zm9yKHZhciBuLGk9MCxvPXQubGVuZ3RoO2k8bzsrK2kpbnVsbD09KG49dFtpXSl8fGlzTmFOKG49K24pfHxlLnB1c2gobik7cmV0dXJuIGUuc29ydChaMCkscigpfSxvLnJhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW0yLmNhbGwodCkscigpKTpuLnNsaWNlKCl9LG8ucXVhbnRpbGVzPWZ1bmN0aW9uKCl7cmV0dXJuIGkuc2xpY2UoKX0sby5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoKS5kb21haW4oZSkucmFuZ2Uobil9LG99LHNjYWxlUXVhbnRpemU6ZnVuY3Rpb24gdCgpe3ZhciBlPTAsbj0xLGk9MSxyPVsuNV0sbz1bMCwxXTtmdW5jdGlvbiBhKHQpe2lmKHQ8PXQpcmV0dXJuIG9bUTAocix0LDAsaSldfWZ1bmN0aW9uIHMoKXt2YXIgdD0tMTtmb3Iocj1uZXcgQXJyYXkoaSk7Kyt0PGk7KXJbdF09KCh0KzEpKm4tKHQtaSkqZSkvKGkrMSk7cmV0dXJuIGF9cmV0dXJuIGEuZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSt0WzBdLG49K3RbMV0scygpKTpbZSxuXX0sYS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0obz1tMi5jYWxsKHQpKS5sZW5ndGgtMSxzKCkpOm8uc2xpY2UoKX0sYS5pbnZlcnRFeHRlbnQ9ZnVuY3Rpb24odCl7dmFyIGE9by5pbmRleE9mKHQpO3JldHVybiBhPDA/W05hTixOYU5dOmE8MT9bZSxyWzBdXTphPj1pP1tyW2ktMV0sbl06W3JbYS0xXSxyW2FdXX0sYS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoKS5kb21haW4oW2Usbl0pLnJhbmdlKG8pfSxuMyhhKX0sc2NhbGVUaHJlc2hvbGQ6ZnVuY3Rpb24gdCgpe3ZhciBlPVsuNV0sbj1bMCwxXSxpPTE7ZnVuY3Rpb24gcih0KXtpZih0PD10KXJldHVybiBuW1EwKGUsdCwwLGkpXX1yZXR1cm4gci5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9bTIuY2FsbCh0KSxpPU1hdGgubWluKGUubGVuZ3RoLG4ubGVuZ3RoLTEpLHIpOmUuc2xpY2UoKX0sci5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1tMi5jYWxsKHQpLGk9TWF0aC5taW4oZS5sZW5ndGgsbi5sZW5ndGgtMSkscik6bi5zbGljZSgpfSxyLmludmVydEV4dGVudD1mdW5jdGlvbih0KXt2YXIgaT1uLmluZGV4T2YodCk7cmV0dXJuW2VbaS0xXSxlW2ldXX0sci5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoKS5kb21haW4oZSkucmFuZ2Uobil9LHJ9LHNjYWxlVGltZTpmdW5jdGlvbiBwbXQoKXtyZXR1cm4gdzYoSTMsUDMsQTMsVDMsRTMsTTMsUzMsXzMsWDMpLmRvbWFpbihbbmV3IERhdGUoMmUzLDAsMSksbmV3IERhdGUoMmUzLDAsMildKX0sc2NhbGVVdGM6ZnVuY3Rpb24gZm10KCl7cmV0dXJuIHc2KGozLFYzLEIzLHozLE8zLFIzLFMzLF8zLCQzKS5kb21haW4oW0RhdGUuVVRDKDJlMywwLDEpLERhdGUuVVRDKDJlMywwLDIpXSl9LHNjaGVtZUNhdGVnb3J5MTA6TTYsc2NoZW1lQ2F0ZWdvcnkyMGI6RTYsc2NoZW1lQ2F0ZWdvcnkyMGM6VDYsc2NoZW1lQ2F0ZWdvcnkyMDpDNixpbnRlcnBvbGF0ZUN1YmVoZWxpeERlZmF1bHQ6QTYsaW50ZXJwb2xhdGVSYWluYm93OmZ1bmN0aW9uIG1tdCh0KXsodDwwfHx0PjEpJiYodC09TWF0aC5mbG9vcih0KSk7dmFyIGU9TWF0aC5hYnModC0uNSk7cmV0dXJuIFA2Lmg9MzYwKnQtMTAwLFA2LnM9MS41LTEuNSplLFA2Lmw9LjgtLjkqZSxQNisiIn0saW50ZXJwb2xhdGVXYXJtOms2LGludGVycG9sYXRlQ29vbDpMNixpbnRlcnBvbGF0ZVZpcmlkaXM6STYsaW50ZXJwb2xhdGVNYWdtYTpSNixpbnRlcnBvbGF0ZUluZmVybm86TzYsaW50ZXJwb2xhdGVQbGFzbWE6ejYsc2NhbGVTZXF1ZW50aWFsOmZ1bmN0aW9uIHQoZSl7dmFyIG49MCxpPTEscj0hMTtmdW5jdGlvbiBvKHQpe3ZhciBvPSh0LW4pLyhpLW4pO3JldHVybiBlKHI/TWF0aC5tYXgoMCxNYXRoLm1pbigxLG8pKTpvKX1yZXR1cm4gby5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3RbMF0saT0rdFsxXSxvKTpbbixpXX0sby5jbGFtcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0hIXQsbyk6cn0sby5pbnRlcnBvbGF0b3I9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxvKTplfSxvLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gdChlKS5kb21haW4oW24saV0pLmNsYW1wKHIpfSxuMyhvKX0sY3JlYXRlOmZ1bmN0aW9uIGdtdCh0KXtyZXR1cm4gJDkoVTYodCkuY2FsbChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKX0sY3JlYXRvcjpVNixsb2NhbDpDOCxtYXRjaGVyOks2LG1vdXNlOmZ1bmN0aW9uIF9tdCh0KXt2YXIgZT1rOCgpO3JldHVybiBlLmNoYW5nZWRUb3VjaGVzJiYoZT1lLmNoYW5nZWRUb3VjaGVzWzBdKSxMOCh0LGUpfSxuYW1lc3BhY2U6SDYsbmFtZXNwYWNlczpCNixjbGllbnRQb2ludDpMOCxzZWxlY3Q6JDksc2VsZWN0QWxsOmZ1bmN0aW9uIHltdCh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/bmV3IFk5KFtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHQpXSxbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSk6bmV3IFk5KFtudWxsPT10P1tdOnRdLHE5KX0sc2VsZWN0aW9uOlg5LHNlbGVjdG9yOkc2LHNlbGVjdG9yQWxsOnE2LHN0eWxlOmQ5LHRvdWNoOmZ1bmN0aW9uIHZtdCh0LGUsbil7YXJndW1lbnRzLmxlbmd0aDwzJiYobj1lLGU9azgoKS5jaGFuZ2VkVG91Y2hlcyk7Zm9yKHZhciBpLHI9MCxvPWU/ZS5sZW5ndGg6MDtyPG87KytyKWlmKChpPWVbcl0pLmlkZW50aWZpZXI9PT1uKXJldHVybiBMOCh0LGkpO3JldHVybiBudWxsfSx0b3VjaGVzOmZ1bmN0aW9uIGJtdCh0LGUpe251bGw9PWUmJihlPWs4KCkudG91Y2hlcyk7Zm9yKHZhciBuPTAsaT1lP2UubGVuZ3RoOjAscj1uZXcgQXJyYXkoaSk7bjxpOysrbilyW25dPUw4KHQsZVtuXSk7cmV0dXJuIHJ9LHdpbmRvdzpsOSxnZXQgZXZlbnQoKXtyZXR1cm4gRDl9LGN1c3RvbUV2ZW50OmZ1bmN0aW9uIHhtdCh0LGUsbixpKXt2YXIgcj1EOTt0LnNvdXJjZUV2ZW50PUQ5LEQ5PXQ7dHJ5e3JldHVybiBlLmFwcGx5KG4saSl9ZmluYWxseXtEOT1yfX0sYXJjOmZ1bmN0aW9uIHdtdCgpe3ZhciB0PVo4LGU9Sjgsbj1EOCgwKSxpPW51bGwscj1ROCxvPXQ3LGE9ZTcscz1udWxsO2Z1bmN0aW9uIGwoKXt2YXIgbCxjLHU9K3QuYXBwbHkodGhpcyxhcmd1bWVudHMpLGg9K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpLGQ9ci5hcHBseSh0aGlzLGFyZ3VtZW50cyktWTgscD1vLmFwcGx5KHRoaXMsYXJndW1lbnRzKS1ZOCxmPUI4KHAtZCksbT1wPmQ7aWYoc3x8KHM9bD16OCgpKSxoPHUmJihjPWgsaD11LHU9YyksaD5XOClpZihmPlg4LVc4KXMubW92ZVRvKGgqRjgoZCksaCpqOChkKSkscy5hcmMoMCwwLGgsZCxwLCFtKSx1Plc4JiYocy5tb3ZlVG8odSpGOChwKSx1Kmo4KHApKSxzLmFyYygwLDAsdSxwLGQsbSkpO2Vsc2V7dmFyIGcsXyx5PWQsdj1wLGI9ZCx4PXAsdz1mLFM9ZixNPWEuYXBwbHkodGhpcyxhcmd1bWVudHMpLzIsRT1NPlc4JiYoaT8raS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6RzgodSp1K2gqaCkpLFQ9VTgoQjgoaC11KS8yLCtuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksQz1ULEE9VDtpZihFPlc4KXt2YXIgaz1LOChFL3UqajgoTSkpLEw9SzgoRS9oKmo4KE0pKTsody09MiprKT5XOD8oYis9ayo9bT8xOi0xLHgtPWspOih3PTAsYj14PShkK3ApLzIpLChTLT0yKkwpPlc4Pyh5Kz1MKj1tPzE6LTEsdi09TCk6KFM9MCx5PXY9KGQrcCkvMil9dmFyIFA9aCpGOCh5KSxOPWgqajgoeSksST11KkY4KHgpLFI9dSpqOCh4KTtpZihUPlc4KXt2YXIgTz1oKkY4KHYpLHo9aCpqOCh2KSxEPXUqRjgoYiksQj11Kmo4KGIpO2lmKGY8cTgpe3ZhciBIPXc+Vzg/bjcoUCxOLEQsQixPLHosSSxSKTpbSSxSXSxGPVAtSFswXSxWPU4tSFsxXSxVPU8tSFswXSxqPXotSFsxXSxHPTEvajgoJDgoKEYqVStWKmopLyhHOChGKkYrVipWKSpHOChVKlUraipqKSkpLzIpLFc9RzgoSFswXSpIWzBdK0hbMV0qSFsxXSk7Qz1VOChULCh1LVcpLyhHLTEpKSxBPVU4KFQsKGgtVykvKEcrMSkpfX1TPlc4P0E+Vzg/KGc9aTcoRCxCLFAsTixoLEEsbSksXz1pNyhPLHosSSxSLGgsQSxtKSxzLm1vdmVUbyhnLmN4K2cueDAxLGcuY3krZy55MDEpLEE8VD9zLmFyYyhnLmN4LGcuY3ksQSxIOChnLnkwMSxnLngwMSksSDgoXy55MDEsXy54MDEpLCFtKToocy5hcmMoZy5jeCxnLmN5LEEsSDgoZy55MDEsZy54MDEpLEg4KGcueTExLGcueDExKSwhbSkscy5hcmMoMCwwLGgsSDgoZy5jeStnLnkxMSxnLmN4K2cueDExKSxIOChfLmN5K18ueTExLF8uY3grXy54MTEpLCFtKSxzLmFyYyhfLmN4LF8uY3ksQSxIOChfLnkxMSxfLngxMSksSDgoXy55MDEsXy54MDEpLCFtKSkpOihzLm1vdmVUbyhQLE4pLHMuYXJjKDAsMCxoLHksdiwhbSkpOnMubW92ZVRvKFAsTiksdT5XOCYmdz5XOD9DPlc4PyhnPWk3KEksUixPLHosdSwtQyxtKSxfPWk3KFAsTixELEIsdSwtQyxtKSxzLmxpbmVUbyhnLmN4K2cueDAxLGcuY3krZy55MDEpLEM8VD9zLmFyYyhnLmN4LGcuY3ksQyxIOChnLnkwMSxnLngwMSksSDgoXy55MDEsXy54MDEpLCFtKToocy5hcmMoZy5jeCxnLmN5LEMsSDgoZy55MDEsZy54MDEpLEg4KGcueTExLGcueDExKSwhbSkscy5hcmMoMCwwLHUsSDgoZy5jeStnLnkxMSxnLmN4K2cueDExKSxIOChfLmN5K18ueTExLF8uY3grXy54MTEpLG0pLHMuYXJjKF8uY3gsXy5jeSxDLEg4KF8ueTExLF8ueDExKSxIOChfLnkwMSxfLngwMSksIW0pKSk6cy5hcmMoMCwwLHUseCxiLG0pOnMubGluZVRvKEksUil9ZWxzZSBzLm1vdmVUbygwLDApO2lmKHMuY2xvc2VQYXRoKCksbClyZXR1cm4gcz1udWxsLGwrIiJ8fG51bGx9cmV0dXJuIGwuY2VudHJvaWQ9ZnVuY3Rpb24oKXt2YXIgbj0oK3QuYXBwbHkodGhpcyxhcmd1bWVudHMpKyArZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpLzIsaT0oK3IuYXBwbHkodGhpcyxhcmd1bWVudHMpKyArby5hcHBseSh0aGlzLGFyZ3VtZW50cykpLzItcTgvMjtyZXR1cm5bRjgoaSkqbixqOChpKSpuXX0sbC5pbm5lclJhZGl1cz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOkQ4KCtlKSxsKTp0fSxsLm91dGVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoK3QpLGwpOmV9LGwuY29ybmVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoK3QpLGwpOm59LGwucGFkUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxsKTppfSxsLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpEOCgrdCksbCk6cn0sbC5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxsKTpvfSxsLnBhZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoK3QpLGwpOmF9LGwuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz1udWxsPT10P251bGw6dCxsKTpzfSxsfSxhcmVhOmM3LGxpbmU6bDcscGllOmZ1bmN0aW9uIFNtdCgpe3ZhciB0PWg3LGU9dTcsbj1udWxsLGk9RDgoMCkscj1EOChYOCksbz1EOCgwKTtmdW5jdGlvbiBhKGEpe3ZhciBzLGwsYyx1LGgsZD1hLmxlbmd0aCxwPTAsZj1uZXcgQXJyYXkoZCksbT1uZXcgQXJyYXkoZCksZz0raS5hcHBseSh0aGlzLGFyZ3VtZW50cyksXz1NYXRoLm1pbihYOCxNYXRoLm1heCgtWDgsci5hcHBseSh0aGlzLGFyZ3VtZW50cyktZykpLHk9TWF0aC5taW4oTWF0aC5hYnMoXykvZCxvLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksdj15KihfPDA/LTE6MSk7Zm9yKHM9MDtzPGQ7KytzKShoPW1bZltzXT1zXT0rdChhW3NdLHMsYSkpPjAmJihwKz1oKTtmb3IobnVsbCE9ZT9mLnNvcnQoKGZ1bmN0aW9uKHQsbil7cmV0dXJuIGUobVt0XSxtW25dKX0pKTpudWxsIT1uJiZmLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4oYVt0XSxhW2VdKX0pKSxzPTAsYz1wPyhfLWQqdikvcDowO3M8ZDsrK3MsZz11KW1bbD1mW3NdXT17ZGF0YTphW2xdLGluZGV4OnMsdmFsdWU6aD1tW2xdLHN0YXJ0QW5nbGU6ZyxlbmRBbmdsZTp1PWcrKGg+MD9oKmM6MCkrdixwYWRBbmdsZTp5fTtyZXR1cm4gbX1yZXR1cm4gYS52YWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOkQ4KCtlKSxhKTp0fSxhLnNvcnRWYWx1ZXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxuPW51bGwsYSk6ZX0sYS5zb3J0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsZT1udWxsLGEpOm59LGEuc3RhcnRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxhKTppfSxhLmVuZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoK3QpLGEpOnJ9LGEucGFkQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpEOCgrdCksYSk6b30sYX0sYXJlYVJhZGlhbDpfNyxyYWRpYWxBcmVhOl83LGxpbmVSYWRpYWw6ZzcscmFkaWFsTGluZTpnNyxwb2ludFJhZGlhbDp5NyxsaW5rSG9yaXpvbnRhbDpmdW5jdGlvbiBNbXQoKXtyZXR1cm4gdzcoUzcpfSxsaW5rVmVydGljYWw6ZnVuY3Rpb24gRW10KCl7cmV0dXJuIHc3KE03KX0sbGlua1JhZGlhbDpmdW5jdGlvbiBUbXQoKXt2YXIgdD13NyhFNyk7cmV0dXJuIHQuYW5nbGU9dC54LGRlbGV0ZSB0LngsdC5yYWRpdXM9dC55LGRlbGV0ZSB0LnksdH0sc3ltYm9sOmZ1bmN0aW9uIENtdCgpe3ZhciB0PUQ4KFQ3KSxlPUQ4KDY0KSxuPW51bGw7ZnVuY3Rpb24gaSgpe3ZhciBpO2lmKG58fChuPWk9ejgoKSksdC5hcHBseSh0aGlzLGFyZ3VtZW50cykuZHJhdyhuLCtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksaSlyZXR1cm4gbj1udWxsLGkrIiJ8fG51bGx9cmV0dXJuIGkudHlwZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOkQ4KGUpLGkpOnR9LGkuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxpKTplfSxpLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49bnVsbD09dD9udWxsOnQsaSk6bn0saX0sc3ltYm9sczpqNyxzeW1ib2xDaXJjbGU6VDcsc3ltYm9sQ3Jvc3M6Qzcsc3ltYm9sRGlhbW9uZDpMNyxzeW1ib2xTcXVhcmU6Tzcsc3ltYm9sU3RhcjpSNyxzeW1ib2xUcmlhbmdsZTpENyxzeW1ib2xXeWU6VTcsY3VydmVCYXNpc0Nsb3NlZDpmdW5jdGlvbiBBbXQodCl7cmV0dXJuIG5ldyBZNyh0KX0sY3VydmVCYXNpc09wZW46ZnVuY3Rpb24ga210KHQpe3JldHVybiBuZXcgWDcodCl9LGN1cnZlQmFzaXM6ZnVuY3Rpb24gTG10KHQpe3JldHVybiBuZXcgcTcodCl9LGN1cnZlQnVuZGxlOks3LGN1cnZlQ2FyZGluYWxDbG9zZWQ6ZXR0LGN1cnZlQ2FyZGluYWxPcGVuOml0dCxjdXJ2ZUNhcmRpbmFsOlE3LGN1cnZlQ2F0bXVsbFJvbUNsb3NlZDpsdHQsY3VydmVDYXRtdWxsUm9tT3Blbjp1dHQsY3VydmVDYXRtdWxsUm9tOmF0dCxjdXJ2ZUxpbmVhckNsb3NlZDpmdW5jdGlvbiBQbXQodCl7cmV0dXJuIG5ldyBodHQodCl9LGN1cnZlTGluZWFyOm83LGN1cnZlTW9ub3RvbmVYOmZ1bmN0aW9uIE5tdCh0KXtyZXR1cm4gbmV3IGd0dCh0KX0sY3VydmVNb25vdG9uZVk6ZnVuY3Rpb24gSW10KHQpe3JldHVybiBuZXcgX3R0KHQpfSxjdXJ2ZU5hdHVyYWw6ZnVuY3Rpb24gUm10KHQpe3JldHVybiBuZXcgdnR0KHQpfSxjdXJ2ZVN0ZXA6ZnVuY3Rpb24gT210KHQpe3JldHVybiBuZXcgeHR0KHQsLjUpfSxjdXJ2ZVN0ZXBBZnRlcjpmdW5jdGlvbiB6bXQodCl7cmV0dXJuIG5ldyB4dHQodCwxKX0sY3VydmVTdGVwQmVmb3JlOmZ1bmN0aW9uIERtdCh0KXtyZXR1cm4gbmV3IHh0dCh0LDApfSxzdGFjazpmdW5jdGlvbiBCbXQoKXt2YXIgdD1EOChbXSksZT1TdHQsbj13dHQsaT1NdHQ7ZnVuY3Rpb24gcihyKXt2YXIgbyxhLHM9dC5hcHBseSh0aGlzLGFyZ3VtZW50cyksbD1yLmxlbmd0aCxjPXMubGVuZ3RoLHU9bmV3IEFycmF5KGMpO2ZvcihvPTA7bzxjOysrbyl7Zm9yKHZhciBoLGQ9c1tvXSxwPXVbb109bmV3IEFycmF5KGwpLGY9MDtmPGw7KytmKXBbZl09aD1bMCwraShyW2ZdLGQsZixyKV0saC5kYXRhPXJbZl07cC5rZXk9ZH1mb3Iobz0wLGE9ZSh1KTtvPGM7KytvKXVbYVtvXV0uaW5kZXg9bztyZXR1cm4gbih1LGEpLHV9cmV0dXJuIHIua2V5cz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOkQ4KHY3LmNhbGwoZSkpLHIpOnR9LHIudmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpEOCgrdCkscik6aX0sci5vcmRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT1udWxsPT10P1N0dDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KHY3LmNhbGwodCkpLHIpOmV9LHIub2Zmc2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW51bGw9PXQ/d3R0OnQscik6bn0scn0sc3RhY2tPZmZzZXRFeHBhbmQ6ZnVuY3Rpb24gSG10KHQsZSl7aWYoKGk9dC5sZW5ndGgpPjApe2Zvcih2YXIgbixpLHIsbz0wLGE9dFswXS5sZW5ndGg7bzxhOysrbyl7Zm9yKHI9bj0wO248aTsrK24pcis9dFtuXVtvXVsxXXx8MDtpZihyKWZvcihuPTA7bjxpOysrbil0W25dW29dWzFdLz1yfXd0dCh0LGUpfX0sc3RhY2tPZmZzZXREaXZlcmdpbmc6ZnVuY3Rpb24gRm10KHQsZSl7aWYoKHM9dC5sZW5ndGgpPjEpZm9yKHZhciBuLGkscixvLGEscyxsPTAsYz10W2VbMF1dLmxlbmd0aDtsPGM7KytsKWZvcihvPWE9MCxuPTA7bjxzOysrbikocj0oaT10W2Vbbl1dW2xdKVsxXS1pWzBdKT49MD8oaVswXT1vLGlbMV09bys9cik6cjwwPyhpWzFdPWEsaVswXT1hKz1yKTppWzBdPW99LHN0YWNrT2Zmc2V0Tm9uZTp3dHQsc3RhY2tPZmZzZXRTaWxob3VldHRlOmZ1bmN0aW9uIFZtdCh0LGUpe2lmKChuPXQubGVuZ3RoKT4wKXtmb3IodmFyIG4saT0wLHI9dFtlWzBdXSxvPXIubGVuZ3RoO2k8bzsrK2kpe2Zvcih2YXIgYT0wLHM9MDthPG47KythKXMrPXRbYV1baV1bMV18fDA7cltpXVsxXSs9cltpXVswXT0tcy8yfXd0dCh0LGUpfX0sc3RhY2tPZmZzZXRXaWdnbGU6ZnVuY3Rpb24gVW10KHQsZSl7aWYoKHI9dC5sZW5ndGgpPjAmJihpPShuPXRbZVswXV0pLmxlbmd0aCk+MCl7Zm9yKHZhciBuLGkscixvPTAsYT0xO2E8aTsrK2Epe2Zvcih2YXIgcz0wLGw9MCxjPTA7czxyOysrcyl7Zm9yKHZhciB1PXRbZVtzXV0saD11W2FdWzFdfHwwLGQ9KGgtKHVbYS0xXVsxXXx8MCkpLzIscD0wO3A8czsrK3Ape3ZhciBmPXRbZVtwXV07ZCs9KGZbYV1bMV18fDApLShmW2EtMV1bMV18fDApfWwrPWgsYys9ZCpofW5bYS0xXVsxXSs9blthLTFdWzBdPW8sbCYmKG8tPWMvbCl9blthLTFdWzFdKz1uW2EtMV1bMF09byx3dHQodCxlKX19LHN0YWNrT3JkZXJBc2NlbmRpbmc6RXR0LHN0YWNrT3JkZXJEZXNjZW5kaW5nOmZ1bmN0aW9uIGptdCh0KXtyZXR1cm4gRXR0KHQpLnJldmVyc2UoKX0sc3RhY2tPcmRlckluc2lkZU91dDpmdW5jdGlvbiBHbXQodCl7dmFyIGUsbixpPXQubGVuZ3RoLHI9dC5tYXAoVHR0KSxvPVN0dCh0KS5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiByW2VdLXJbdF19KSksYT0wLHM9MCxsPVtdLGM9W107Zm9yKGU9MDtlPGk7KytlKW49b1tlXSxhPHM/KGErPXJbbl0sbC5wdXNoKG4pKToocys9cltuXSxjLnB1c2gobikpO3JldHVybiBjLnJldmVyc2UoKS5jb25jYXQobCl9LHN0YWNrT3JkZXJOb25lOlN0dCxzdGFja09yZGVyUmV2ZXJzZTpmdW5jdGlvbiBXbXQodCl7cmV0dXJuIFN0dCh0KS5yZXZlcnNlKCl9LHRpbWVJbnRlcnZhbDprdHQsdGltZU1pbGxpc2Vjb25kOkx0dCx0aW1lTWlsbGlzZWNvbmRzOlB0dCx1dGNNaWxsaXNlY29uZDpMdHQsdXRjTWlsbGlzZWNvbmRzOlB0dCx0aW1lU2Vjb25kOkR0dCx0aW1lU2Vjb25kczpCdHQsdXRjU2Vjb25kOkR0dCx1dGNTZWNvbmRzOkJ0dCx0aW1lTWludXRlOkh0dCx0aW1lTWludXRlczpGdHQsdGltZUhvdXI6VnR0LHRpbWVIb3VyczpVdHQsdGltZURheTpqdHQsdGltZURheXM6R3R0LHRpbWVXZWVrOnF0dCx0aW1lV2Vla3M6UXR0LHRpbWVTdW5kYXk6cXR0LHRpbWVTdW5kYXlzOlF0dCx0aW1lTW9uZGF5Oll0dCx0aW1lTW9uZGF5czp0ZXQsdGltZVR1ZXNkYXk6WHR0LHRpbWVUdWVzZGF5czplZXQsdGltZVdlZG5lc2RheTokdHQsdGltZVdlZG5lc2RheXM6bmV0LHRpbWVUaHVyc2RheTpLdHQsdGltZVRodXJzZGF5czppZXQsdGltZUZyaWRheTpadHQsdGltZUZyaWRheXM6cmV0LHRpbWVTYXR1cmRheTpKdHQsdGltZVNhdHVyZGF5czpvZXQsdGltZU1vbnRoOmFldCx0aW1lTW9udGhzOnNldCx0aW1lWWVhcjpjZXQsdGltZVllYXJzOnVldCx1dGNNaW51dGU6aGV0LHV0Y01pbnV0ZXM6ZGV0LHV0Y0hvdXI6cGV0LHV0Y0hvdXJzOmZldCx1dGNEYXk6bWV0LHV0Y0RheXM6Z2V0LHV0Y1dlZWs6eWV0LHV0Y1dlZWtzOlRldCx1dGNTdW5kYXk6eWV0LHV0Y1N1bmRheXM6VGV0LHV0Y01vbmRheTp2ZXQsdXRjTW9uZGF5czpDZXQsdXRjVHVlc2RheTpiZXQsdXRjVHVlc2RheXM6QWV0LHV0Y1dlZG5lc2RheTp4ZXQsdXRjV2VkbmVzZGF5czprZXQsdXRjVGh1cnNkYXk6d2V0LHV0Y1RodXJzZGF5czpMZXQsdXRjRnJpZGF5Ok1ldCx1dGNGcmlkYXlzOlBldCx1dGNTYXR1cmRheTpFZXQsdXRjU2F0dXJkYXlzOk5ldCx1dGNNb250aDpJZXQsdXRjTW9udGhzOlJldCx1dGNZZWFyOk9ldCx1dGNZZWFyczp6ZXQsdGltZUZvcm1hdERlZmF1bHRMb2NhbGU6eGl0LGdldCB0aW1lRm9ybWF0KCl7cmV0dXJuIHNudH0sZ2V0IHRpbWVQYXJzZSgpe3JldHVybiBsbnR9LGdldCB1dGNGb3JtYXQoKXtyZXR1cm4gY250fSxnZXQgdXRjUGFyc2UoKXtyZXR1cm4gdW50fSx0aW1lRm9ybWF0TG9jYWxlOm9udCxpc29Gb3JtYXQ6U2l0LGlzb1BhcnNlOkNpdCxub3c6RGl0LHRpbWVyOkZpdCx0aW1lckZsdXNoOlZpdCx0aW1lb3V0OmZ1bmN0aW9uIHFtdCh0LGUsbil7dmFyIGk9bmV3IEhpdDtyZXR1cm4gaS5yZXN0YXJ0KChmdW5jdGlvbihuKXtpLnN0b3AoKSx0KG4rZSl9KSxlPW51bGw9PWU/MDorZSxuKSxpfSxpbnRlcnZhbDpmdW5jdGlvbiBZbXQodCxlLG4pe3ZhciBpPW5ldyBIaXQscj1lO3JldHVybiBudWxsPT1lPyhpLnJlc3RhcnQodCxlLG4pLGkpOihlPStlLG49bnVsbD09bj9EaXQoKTorbixpLnJlc3RhcnQoKGZ1bmN0aW9uIG8oYSl7YSs9cixpLnJlc3RhcnQobyxyKz1lLG4pLHQoYSl9KSxlLG4pLGkpfSx0cmFuc2l0aW9uOkFzdCxhY3RpdmU6ZnVuY3Rpb24gWG10KHQsZSl7dmFyIG4saSxyPXQuX190cmFuc2l0aW9uO2lmKHIpZm9yKGkgaW4gZT1udWxsPT1lP251bGw6ZSsiIixyKWlmKChuPXJbaV0pLnN0YXRlPjEmJm4ubmFtZT09PWUpcmV0dXJuIG5ldyBDc3QoW1t0XV0sSnN0LGUsK2kpO3JldHVybiBudWxsfSxpbnRlcnJ1cHQ6YWF0LHZvcm9ub2k6ZnVuY3Rpb24gJG10KCl7dmFyIHQ9dGx0LGU9ZWx0LG49bnVsbDtmdW5jdGlvbiBpKGkpe3JldHVybiBuZXcgemx0KGkubWFwKChmdW5jdGlvbihuLHIpe3ZhciBvPVtNYXRoLnJvdW5kKHQobixyLGkpL05sdCkqTmx0LE1hdGgucm91bmQoZShuLHIsaSkvTmx0KSpObHRdO3JldHVybiBvLmluZGV4PXIsby5kYXRhPW4sb30pKSxuKX1yZXR1cm4gaS5wb2x5Z29ucz1mdW5jdGlvbih0KXtyZXR1cm4gaSh0KS5wb2x5Z29ucygpfSxpLmxpbmtzPWZ1bmN0aW9uKHQpe3JldHVybiBpKHQpLmxpbmtzKCl9LGkudHJpYW5nbGVzPWZ1bmN0aW9uKHQpe3JldHVybiBpKHQpLnRyaWFuZ2xlcygpfSxpLng9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpRc3QoK2UpLGkpOnR9LGkueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlFzdCgrdCksaSk6ZX0saS5leHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49bnVsbD09dD9udWxsOltbK3RbMF1bMF0sK3RbMF1bMV1dLFsrdFsxXVswXSwrdFsxXVsxXV1dLGkpOm4mJltbblswXVswXSxuWzBdWzFdXSxbblsxXVswXSxuWzFdWzFdXV19LGkuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1udWxsPT10P251bGw6W1swLDBdLFsrdFswXSwrdFsxXV1dLGkpOm4mJltuWzFdWzBdLW5bMF1bMF0sblsxXVsxXS1uWzBdWzFdXX0saX0sem9vbTpmdW5jdGlvbiBLbXQoKXt2YXIgdCxlLG49Z3B0LGk9X3B0LHI9eHB0LG89dnB0LGE9YnB0LHM9WzAsMS8wXSxsPVtbLTEvMCwtMS8wXSxbMS8wLDEvMF1dLGM9MjUwLHU9Qmh0LGg9W10sZD1CbHQoInN0YXJ0Iiwiem9vbSIsImVuZCIpLHA9NTAwLGY9MDtmdW5jdGlvbiBtKHQpe3QucHJvcGVydHkoIl9fem9vbSIseXB0KS5vbigid2hlZWwuem9vbSIsdykub24oIm1vdXNlZG93bi56b29tIixTKS5vbigiZGJsY2xpY2suem9vbSIsTSkuZmlsdGVyKGEpLm9uKCJ0b3VjaHN0YXJ0Lnpvb20iLEUpLm9uKCJ0b3VjaG1vdmUuem9vbSIsVCkub24oInRvdWNoZW5kLnpvb20gdG91Y2hjYW5jZWwuem9vbSIsQykuc3R5bGUoInRvdWNoLWFjdGlvbiIsIm5vbmUiKS5zdHlsZSgiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIiwicmdiYSgwLDAsMCwwKSIpfWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4oZT1NYXRoLm1heChzWzBdLE1hdGgubWluKHNbMV0sZSkpKT09PXQuaz90Om5ldyBjcHQoZSx0LngsdC55KX1mdW5jdGlvbiBfKHQsZSxuKXt2YXIgaT1lWzBdLW5bMF0qdC5rLHI9ZVsxXS1uWzFdKnQuaztyZXR1cm4gaT09PXQueCYmcj09PXQueT90Om5ldyBjcHQodC5rLGkscil9ZnVuY3Rpb24geSh0KXtyZXR1cm5bKCt0WzBdWzBdKyArdFsxXVswXSkvMiwoK3RbMF1bMV0rICt0WzFdWzFdKS8yXX1mdW5jdGlvbiB2KHQsZSxuKXt0Lm9uKCJzdGFydC56b29tIiwoZnVuY3Rpb24oKXtiKHRoaXMsYXJndW1lbnRzKS5zdGFydCgpfSkpLm9uKCJpbnRlcnJ1cHQuem9vbSBlbmQuem9vbSIsKGZ1bmN0aW9uKCl7Yih0aGlzLGFyZ3VtZW50cykuZW5kKCl9KSkudHdlZW4oInpvb20iLChmdW5jdGlvbigpe3ZhciB0PXRoaXMscj1hcmd1bWVudHMsbz1iKHQsciksYT1pLmFwcGx5KHQscikscz1ufHx5KGEpLGw9TWF0aC5tYXgoYVsxXVswXS1hWzBdWzBdLGFbMV1bMV0tYVswXVsxXSksYz10Ll9fem9vbSxoPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2UuYXBwbHkodCxyKTplLGQ9dShjLmludmVydChzKS5jb25jYXQobC9jLmspLGguaW52ZXJ0KHMpLmNvbmNhdChsL2guaykpO3JldHVybiBmdW5jdGlvbih0KXtpZigxPT09dCl0PWg7ZWxzZXt2YXIgZT1kKHQpLG49bC9lWzJdO3Q9bmV3IGNwdChuLHNbMF0tZVswXSpuLHNbMV0tZVsxXSpuKX1vLnpvb20obnVsbCx0KX19KSl9ZnVuY3Rpb24gYih0LGUpe2Zvcih2YXIgbixpPTAscj1oLmxlbmd0aDtpPHI7KytpKWlmKChuPWhbaV0pLnRoYXQ9PT10KXJldHVybiBuO3JldHVybiBuZXcgeCh0LGUpfWZ1bmN0aW9uIHgodCxlKXt0aGlzLnRoYXQ9dCx0aGlzLmFyZ3M9ZSx0aGlzLmluZGV4PS0xLHRoaXMuYWN0aXZlPTAsdGhpcy5leHRlbnQ9aS5hcHBseSh0LGUpfWZ1bmN0aW9uIHcoKXtpZihuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIHQ9Yih0aGlzLGFyZ3VtZW50cyksZT10aGlzLl9fem9vbSxpPU1hdGgubWF4KHNbMF0sTWF0aC5taW4oc1sxXSxlLmsqTWF0aC5wb3coMixvLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkpKSxhPWV1dCh0aGlzKTtpZih0LndoZWVsKXQubW91c2VbMF1bMF09PT1hWzBdJiZ0Lm1vdXNlWzBdWzFdPT09YVsxXXx8KHQubW91c2VbMV09ZS5pbnZlcnQodC5tb3VzZVswXT1hKSksY2xlYXJUaW1lb3V0KHQud2hlZWwpO2Vsc2V7aWYoZS5rPT09aSlyZXR1cm47dC5tb3VzZT1bYSxlLmludmVydChhKV0sY2R0KHRoaXMpLHQuc3RhcnQoKX1tcHQoKSx0LndoZWVsPXNldFRpbWVvdXQoYywxNTApLHQuem9vbSgibW91c2UiLHIoXyhnKGUsaSksdC5tb3VzZVswXSx0Lm1vdXNlWzFdKSx0LmV4dGVudCxsKSl9ZnVuY3Rpb24gYygpe3Qud2hlZWw9bnVsbCx0LmVuZCgpfX1mdW5jdGlvbiBTKCl7aWYoIWUmJm4uYXBwbHkodGhpcyxhcmd1bWVudHMpKXt2YXIgdD1iKHRoaXMsYXJndW1lbnRzKSxpPUpjdChGY3Qudmlldykub24oIm1vdXNlbW92ZS56b29tIixjLCEwKS5vbigibW91c2V1cC56b29tIix1LCEwKSxvPWV1dCh0aGlzKSxhPUZjdC5jbGllbnRYLHM9RmN0LmNsaWVudFk7cnV0KEZjdC52aWV3KSxmcHQoKSx0Lm1vdXNlPVtvLHRoaXMuX196b29tLmludmVydChvKV0sY2R0KHRoaXMpLHQuc3RhcnQoKX1mdW5jdGlvbiBjKCl7aWYobXB0KCksIXQubW92ZWQpe3ZhciBlPUZjdC5jbGllbnRYLWEsbj1GY3QuY2xpZW50WS1zO3QubW92ZWQ9ZSplK24qbj5mfXQuem9vbSgibW91c2UiLHIoXyh0LnRoYXQuX196b29tLHQubW91c2VbMF09ZXV0KHQudGhhdCksdC5tb3VzZVsxXSksdC5leHRlbnQsbCkpfWZ1bmN0aW9uIHUoKXtpLm9uKCJtb3VzZW1vdmUuem9vbSBtb3VzZXVwLnpvb20iLG51bGwpLG91dChGY3Qudmlldyx0Lm1vdmVkKSxtcHQoKSx0LmVuZCgpfX1mdW5jdGlvbiBNKCl7aWYobi5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciB0PXRoaXMuX196b29tLGU9ZXV0KHRoaXMpLG89dC5pbnZlcnQoZSksYT10LmsqKEZjdC5zaGlmdEtleT8uNToyKSxzPXIoXyhnKHQsYSksZSxvKSxpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxsKTttcHQoKSxjPjA/SmN0KHRoaXMpLnRyYW5zaXRpb24oKS5kdXJhdGlvbihjKS5jYWxsKHYscyxlKTpKY3QodGhpcykuY2FsbChtLnRyYW5zZm9ybSxzKX19ZnVuY3Rpb24gRSgpe2lmKG4uYXBwbHkodGhpcyxhcmd1bWVudHMpKXt2YXIgZSxpLHIsbyxhPWIodGhpcyxhcmd1bWVudHMpLHM9RmN0LmNoYW5nZWRUb3VjaGVzLGw9cy5sZW5ndGg7Zm9yKGZwdCgpLGk9MDtpPGw7KytpKW89W289bnV0KHRoaXMscywocj1zW2ldKS5pZGVudGlmaWVyKSx0aGlzLl9fem9vbS5pbnZlcnQobyksci5pZGVudGlmaWVyXSxhLnRvdWNoMD9hLnRvdWNoMXx8KGEudG91Y2gxPW8pOihhLnRvdWNoMD1vLGU9ITApO2lmKHQmJih0PWNsZWFyVGltZW91dCh0KSwhYS50b3VjaDEpKXJldHVybiBhLmVuZCgpLHZvaWQoKG89SmN0KHRoaXMpLm9uKCJkYmxjbGljay56b29tIikpJiZvLmFwcGx5KHRoaXMsYXJndW1lbnRzKSk7ZSYmKHQ9c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0PW51bGx9KSxwKSxjZHQodGhpcyksYS5zdGFydCgpKX19ZnVuY3Rpb24gVCgpe3ZhciBlLG4saSxvLGE9Yih0aGlzLGFyZ3VtZW50cykscz1GY3QuY2hhbmdlZFRvdWNoZXMsYz1zLmxlbmd0aDtmb3IobXB0KCksdCYmKHQ9Y2xlYXJUaW1lb3V0KHQpKSxlPTA7ZTxjOysrZSlpPW51dCh0aGlzLHMsKG49c1tlXSkuaWRlbnRpZmllciksYS50b3VjaDAmJmEudG91Y2gwWzJdPT09bi5pZGVudGlmaWVyP2EudG91Y2gwWzBdPWk6YS50b3VjaDEmJmEudG91Y2gxWzJdPT09bi5pZGVudGlmaWVyJiYoYS50b3VjaDFbMF09aSk7aWYobj1hLnRoYXQuX196b29tLGEudG91Y2gxKXt2YXIgdT1hLnRvdWNoMFswXSxoPWEudG91Y2gwWzFdLGQ9YS50b3VjaDFbMF0scD1hLnRvdWNoMVsxXSxmPShmPWRbMF0tdVswXSkqZisoZj1kWzFdLXVbMV0pKmYsbT0obT1wWzBdLWhbMF0pKm0rKG09cFsxXS1oWzFdKSptO249ZyhuLE1hdGguc3FydChmL20pKSxpPVsodVswXStkWzBdKS8yLCh1WzFdK2RbMV0pLzJdLG89WyhoWzBdK3BbMF0pLzIsKGhbMV0rcFsxXSkvMl19ZWxzZXtpZighYS50b3VjaDApcmV0dXJuO2k9YS50b3VjaDBbMF0sbz1hLnRvdWNoMFsxXX1hLnpvb20oInRvdWNoIixyKF8obixpLG8pLGEuZXh0ZW50LGwpKX1mdW5jdGlvbiBDKCl7dmFyIHQsbixpPWIodGhpcyxhcmd1bWVudHMpLHI9RmN0LmNoYW5nZWRUb3VjaGVzLG89ci5sZW5ndGg7Zm9yKGZwdCgpLGUmJmNsZWFyVGltZW91dChlKSxlPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZT1udWxsfSkscCksdD0wO3Q8bzsrK3Qpbj1yW3RdLGkudG91Y2gwJiZpLnRvdWNoMFsyXT09PW4uaWRlbnRpZmllcj9kZWxldGUgaS50b3VjaDA6aS50b3VjaDEmJmkudG91Y2gxWzJdPT09bi5pZGVudGlmaWVyJiZkZWxldGUgaS50b3VjaDE7aS50b3VjaDEmJiFpLnRvdWNoMCYmKGkudG91Y2gwPWkudG91Y2gxLGRlbGV0ZSBpLnRvdWNoMSksaS50b3VjaDA/aS50b3VjaDBbMV09dGhpcy5fX3pvb20uaW52ZXJ0KGkudG91Y2gwWzBdKTppLmVuZCgpfXJldHVybiBtLnRyYW5zZm9ybT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuc2VsZWN0aW9uP3Quc2VsZWN0aW9uKCk6dDtuLnByb3BlcnR5KCJfX3pvb20iLHlwdCksdCE9PW4/dih0LGUpOm4uaW50ZXJydXB0KCkuZWFjaCgoZnVuY3Rpb24oKXtiKHRoaXMsYXJndW1lbnRzKS5zdGFydCgpLnpvb20obnVsbCwiZnVuY3Rpb24iPT10eXBlb2YgZT9lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTplKS5lbmQoKX0pKX0sbS5zY2FsZUJ5PWZ1bmN0aW9uKHQsZSl7bS5zY2FsZVRvKHQsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fX3pvb20uayxuPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2UuYXBwbHkodGhpcyxhcmd1bWVudHMpOmU7cmV0dXJuIHQqbn0pKX0sbS5zY2FsZVRvPWZ1bmN0aW9uKHQsZSl7bS50cmFuc2Zvcm0odCwoZnVuY3Rpb24oKXt2YXIgdD1pLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxuPXRoaXMuX196b29tLG89eSh0KSxhPW4uaW52ZXJ0KG8pLHM9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6ZTtyZXR1cm4gcihfKGcobixzKSxvLGEpLHQsbCl9KSl9LG0udHJhbnNsYXRlQnk9ZnVuY3Rpb24odCxlLG4pe20udHJhbnNmb3JtKHQsKGZ1bmN0aW9uKCl7cmV0dXJuIHIodGhpcy5fX3pvb20udHJhbnNsYXRlKCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UuYXBwbHkodGhpcyxhcmd1bWVudHMpOmUsImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6biksaS5hcHBseSh0aGlzLGFyZ3VtZW50cyksbCl9KSl9LG0udHJhbnNsYXRlVG89ZnVuY3Rpb24odCxlLG4pe20udHJhbnNmb3JtKHQsKGZ1bmN0aW9uKCl7dmFyIHQ9aS5hcHBseSh0aGlzLGFyZ3VtZW50cyksbz10aGlzLl9fem9vbSxhPXkodCk7cmV0dXJuIHIoZHB0LnRyYW5zbGF0ZShhWzBdLGFbMV0pLnNjYWxlKG8uaykudHJhbnNsYXRlKCJmdW5jdGlvbiI9PXR5cGVvZiBlPy1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTotZSwiZnVuY3Rpb24iPT10eXBlb2Ygbj8tbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6LW4pLHQsbCl9KSl9LHgucHJvdG90eXBlPXtzdGFydDpmdW5jdGlvbigpe3JldHVybiAxPT0rK3RoaXMuYWN0aXZlJiYodGhpcy5pbmRleD1oLnB1c2godGhpcyktMSx0aGlzLmVtaXQoInN0YXJ0IikpLHRoaXN9LHpvb206ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5tb3VzZSYmIm1vdXNlIiE9PXQmJih0aGlzLm1vdXNlWzFdPWUuaW52ZXJ0KHRoaXMubW91c2VbMF0pKSx0aGlzLnRvdWNoMCYmInRvdWNoIiE9PXQmJih0aGlzLnRvdWNoMFsxXT1lLmludmVydCh0aGlzLnRvdWNoMFswXSkpLHRoaXMudG91Y2gxJiYidG91Y2giIT09dCYmKHRoaXMudG91Y2gxWzFdPWUuaW52ZXJ0KHRoaXMudG91Y2gxWzBdKSksdGhpcy50aGF0Ll9fem9vbT1lLHRoaXMuZW1pdCgiem9vbSIpLHRoaXN9LGVuZDpmdW5jdGlvbigpe3JldHVybiAwPT0tLXRoaXMuYWN0aXZlJiYoaC5zcGxpY2UodGhpcy5pbmRleCwxKSx0aGlzLmluZGV4PS0xLHRoaXMuZW1pdCgiZW5kIikpLHRoaXN9LGVtaXQ6ZnVuY3Rpb24odCl7IShmdW5jdGlvbiBlKHQsbixpLHIpe3ZhciBvPUZjdDt0LnNvdXJjZUV2ZW50PUZjdCxGY3Q9dDt0cnl7cmV0dXJuIG4uYXBwbHkoaSxyKX1maW5hbGx5e0ZjdD1vfX0pKG5ldyBscHQobSx0LHRoaXMudGhhdC5fX3pvb20pLGQuYXBwbHksZCxbdCx0aGlzLnRoYXQsdGhpcy5hcmdzXSl9fSxtLndoZWVsRGVsdGE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpzcHQoK3QpLG0pOm99LG0uZmlsdGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6c3B0KCEhdCksbSk6bn0sbS50b3VjaGFibGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpzcHQoISF0KSxtKTphfSxtLmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnNwdChbWyt0WzBdWzBdLCt0WzBdWzFdXSxbK3RbMV1bMF0sK3RbMV1bMV1dXSksbSk6aX0sbS5zY2FsZUV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oc1swXT0rdFswXSxzWzFdPSt0WzFdLG0pOltzWzBdLHNbMV1dfSxtLnRyYW5zbGF0ZUV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obFswXVswXT0rdFswXVswXSxsWzFdWzBdPSt0WzFdWzBdLGxbMF1bMV09K3RbMF1bMV0sbFsxXVsxXT0rdFsxXVsxXSxtKTpbW2xbMF1bMF0sbFswXVsxXV0sW2xbMV1bMF0sbFsxXVsxXV1dfSxtLmNvbnN0cmFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LG0pOnJ9LG0uZHVyYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGM9K3QsbSk6Y30sbS5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT10LG0pOnV9LG0ub249ZnVuY3Rpb24oKXt2YXIgdD1kLm9uLmFwcGx5KGQsYXJndW1lbnRzKTtyZXR1cm4gdD09PWQ/bTp0fSxtLmNsaWNrRGlzdGFuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9KHQ9K3QpKnQsbSk6TWF0aC5zcXJ0KGYpfSxtfSx6b29tVHJhbnNmb3JtOnBwdCx6b29tSWRlbnRpdHk6ZHB0fSkpOwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqCiAgICAgKiBAZmlsZW92ZXJ2aWV3IG1hbnVhbGx5IGFkZCBkMy1zZWxlY3Rpb24tbXVsdGkgdG8gZDMgZGVmYXVsdCBidW5kbGUuIE1vc3Qgb2YgdGhpcyBjb2RlIGlzCiAgICAgKiBjb3BpZWQgZnJvbSBkMy1zZWxlY3Rpb24tbXVsdGlAMS4wLjAuCiAgICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2QzL2QzLXNlbGVjdGlvbi1tdWx0aS9pc3N1ZXMvMTEgZm9yIHdoeSB3ZSBoYXZlIHRvIGRvIHRoaXMKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBabXQ9d3B0LEptdD13cHQ7ZnVuY3Rpb24gUW10KHQsZSl7cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24oKXt2YXIgdD1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxuPVptdC5zZWxlY3QodGhpcyk7Zm9yKHZhciBpIGluIHQpbi5hdHRyKGksdFtpXSl9KSl9ZnVuY3Rpb24gdGd0KHQsZSl7Zm9yKHZhciBuIGluIGUpdC5hdHRyKG4sZVtuXSk7cmV0dXJuIHR9ZnVuY3Rpb24gZWd0KHQsZSxuKXtyZXR1cm4gdC5lYWNoKChmdW5jdGlvbigpe3ZhciB0PWUuYXBwbHkodGhpcyxhcmd1bWVudHMpLGk9Wm10LnNlbGVjdCh0aGlzKTtmb3IodmFyIHIgaW4gdClpLnN0eWxlKHIsdFtyXSxuKX0pKX1mdW5jdGlvbiBuZ3QodCxlLG4pe2Zvcih2YXIgaSBpbiBlKXQuc3R5bGUoaSxlW2ldLG4pO3JldHVybiB0fWZ1bmN0aW9uIGlndCh0LGUpe3JldHVybiB0LmVhY2goKGZ1bmN0aW9uKCl7dmFyIHQ9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyksbj1abXQuc2VsZWN0KHRoaXMpO2Zvcih2YXIgaSBpbiB0KW4ucHJvcGVydHkoaSx0W2ldKX0pKX1mdW5jdGlvbiByZ3QodCxlKXtmb3IodmFyIG4gaW4gZSl0LnByb3BlcnR5KG4sZVtuXSk7cmV0dXJuIHR9ZnVuY3Rpb24gb2d0KHQsZSl7cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxpPVptdC5zZWxlY3QodGhpcykudHJhbnNpdGlvbih0KTtmb3IodmFyIHIgaW4gbilpLmF0dHIocixuW3JdKX0pKX1mdW5jdGlvbiBhZ3QodCxlKXtmb3IodmFyIG4gaW4gZSl0LmF0dHIobixlW25dKTtyZXR1cm4gdH1mdW5jdGlvbiBzZ3QodCxlLG4pe3JldHVybiB0LmVhY2goKGZ1bmN0aW9uKCl7dmFyIGk9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cykscj1abXQuc2VsZWN0KHRoaXMpLnRyYW5zaXRpb24odCk7Zm9yKHZhciBvIGluIGkpci5zdHlsZShvLGlbb10sbil9KSl9ZnVuY3Rpb24gbGd0KHQsZSxuKXtmb3IodmFyIGkgaW4gZSl0LnN0eWxlKGksZVtpXSxuKTtyZXR1cm4gdH1abXQuc2VsZWN0aW9uLnByb3RvdHlwZS5hdHRycz1mdW5jdGlvbiBjZ3QodCl7cmV0dXJuKCJmdW5jdGlvbiI9PXR5cGVvZiB0P1FtdDp0Z3QpKHRoaXMsdCl9LFptdC5zZWxlY3Rpb24ucHJvdG90eXBlLnN0eWxlcz1mdW5jdGlvbiB1Z3QodCxlKXtyZXR1cm4oImZ1bmN0aW9uIj09dHlwZW9mIHQ/ZWd0Om5ndCkodGhpcyx0LG51bGw9PWU/IiI6ZSl9LFptdC5zZWxlY3Rpb24ucHJvdG90eXBlLnByb3BlcnRpZXM9ZnVuY3Rpb24gaGd0KHQpe3JldHVybigiZnVuY3Rpb24iPT10eXBlb2YgdD9pZ3Q6cmd0KSh0aGlzLHQpfSxKbXQudHJhbnNpdGlvbi5wcm90b3R5cGUuYXR0cnM9ZnVuY3Rpb24gZGd0KHQpe3JldHVybigiZnVuY3Rpb24iPT10eXBlb2YgdD9vZ3Q6YWd0KSh0aGlzLHQpfSxKbXQudHJhbnNpdGlvbi5wcm90b3R5cGUuc3R5bGVzPWZ1bmN0aW9uIHBndCh0LGUpe3JldHVybigiZnVuY3Rpb24iPT10eXBlb2YgdD9zZ3Q6bGd0KSh0aGlzLHQsbnVsbD09ZT8iIjplKX07dmFyIGZndD17fSxtZ3Q9e30sZ2d0PU1lKEZtKSxfZ3Q9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KF9ndCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHlndD13cHQ7X2d0LmNvZXJjZUV4dGVybmFsRDM9ZnVuY3Rpb24gdmd0KHQpe2lmKG51bGw9PXQuYXR0cnMpe2lmKG51bGw9PXQubm9kZXMpe3ZhciBlPVtdO3JldHVybiB0LmVhY2goKGZ1bmN0aW9uKCl7ZS5wdXNoKHRoaXMpfSkpLHlndC5zZWxlY3RBbGwoZSl9cmV0dXJuIHlndC5zZWxlY3RBbGwodC5ub2RlcygpKX1yZXR1cm4gdH07dmFyIGJndD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoYmd0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxiZ3QubWFrZUVudW09ZnVuY3Rpb24geGd0KHQpe3JldHVybiB0LnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdFtlXT1lLHR9KSx7fSl9LAovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkobWd0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgd2d0PV9ndCxTZ3Q9e2xpbmVhcjpnZ3QuZWFzZUxpbmVhcixxdWFkOmdndC5lYXNlUXVhZCxxdWFkSW46Z2d0LmVhc2VRdWFkSW4scXVhZE91dDpnZ3QuZWFzZVF1YWRPdXQscXVhZEluT3V0OmdndC5lYXNlUXVhZEluT3V0LGN1YmljOmdndC5lYXNlQ3ViaWMsY3ViaWNJbjpnZ3QuZWFzZUN1YmljSW4sY3ViaWNPdXQ6Z2d0LmVhc2VDdWJpY091dCxjdWJpY0luT3V0OmdndC5lYXNlQ3ViaWNJbk91dCxwb2x5OmdndC5lYXNlUG9seSxwb2x5SW46Z2d0LmVhc2VQb2x5SW4scG9seU91dDpnZ3QuZWFzZVBvbHlPdXQscG9seUluT3V0OmdndC5lYXNlUG9seUluT3V0LHNpbjpnZ3QuZWFzZVNpbixzaW5JbjpnZ3QuZWFzZVNpbkluLHNpbk91dDpnZ3QuZWFzZVNpbk91dCxzaW5Jbk91dDpnZ3QuZWFzZVNpbkluT3V0LGV4cDpnZ3QuZWFzZUV4cCxleHBJbjpnZ3QuZWFzZUV4cEluLGV4cE91dDpnZ3QuZWFzZUV4cE91dCxleHBJbk91dDpnZ3QuZWFzZUV4cEluT3V0LGNpcmNsZTpnZ3QuZWFzZUNpcmNsZSxjaXJjbGVJbjpnZ3QuZWFzZUNpcmNsZUluLGNpcmNsZU91dDpnZ3QuZWFzZUNpcmNsZU91dCxjaXJjbGVJbk91dDpnZ3QuZWFzZUNpcmNsZUluT3V0LGJvdW5jZTpnZ3QuZWFzZUJvdW5jZSxib3VuY2VJbjpnZ3QuZWFzZUJvdW5jZUluLGJvdW5jZU91dDpnZ3QuZWFzZUJvdW5jZU91dCxib3VuY2VJbk91dDpnZ3QuZWFzZUJvdW5jZUluT3V0LGJhY2s6Z2d0LmVhc2VCYWNrLGJhY2tJbjpnZ3QuZWFzZUJhY2tJbixiYWNrT3V0OmdndC5lYXNlQmFja091dCxiYWNrSW5PdXQ6Z2d0LmVhc2VCYWNrSW5PdXQsZWxhc3RpYzpnZ3QuZWFzZUVsYXN0aWMsZWxhc3RpY0luOmdndC5lYXNlRWxhc3RpY0luLGVsYXN0aWNPdXQ6Z2d0LmVhc2VFbGFzdGljT3V0LGVsYXN0aWNJbk91dDpnZ3QuZWFzZUVsYXN0aWNJbk91dH07bWd0LkVhc2VOYW1lPWJndC5tYWtlRW51bShbImxpbmVhciIsInF1YWQiLCJxdWFkSW4iLCJxdWFkT3V0IiwicXVhZEluT3V0IiwiY3ViaWMiLCJjdWJpY0luIiwiY3ViaWNPdXQiLCJjdWJpY0luT3V0IiwicG9seSIsInBvbHlJbiIsInBvbHlPdXQiLCJwb2x5SW5PdXQiLCJzaW4iLCJzaW5JbiIsInNpbk91dCIsInNpbkluT3V0IiwiZXhwIiwiZXhwSW4iLCJleHBPdXQiLCJleHBJbk91dCIsImNpcmNsZSIsImNpcmNsZUluIiwiY2lyY2xlT3V0IiwiY2lyY2xlSW5PdXQiLCJib3VuY2UiLCJib3VuY2VJbiIsImJvdW5jZU91dCIsImJvdW5jZUluT3V0IiwiYmFjayIsImJhY2tJbiIsImJhY2tPdXQiLCJiYWNrSW5PdXQiLCJlbGFzdGljIiwiZWxhc3RpY0luIiwiZWxhc3RpY091dCIsImVsYXN0aWNJbk91dCJdKTt2YXIgTWd0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLl9zdGFydERlbGF5PXQuX0RFRkFVTFRfU1RBUlRfREVMQVlfTUlMTElTRUNPTkRTLHRoaXMuX3N0ZXBEdXJhdGlvbj10Ll9ERUZBVUxUX1NURVBfRFVSQVRJT05fTUlMTElTRUNPTkRTLHRoaXMuX3N0ZXBEZWxheT10Ll9ERUZBVUxUX0lURVJBVElWRV9ERUxBWV9NSUxMSVNFQ09ORFMsdGhpcy5fbWF4VG90YWxEdXJhdGlvbj10Ll9ERUZBVUxUX01BWF9UT1RBTF9EVVJBVElPTl9NSUxMSVNFQ09ORFMsdGhpcy5fZWFzaW5nTW9kZT10Ll9ERUZBVUxUX0VBU0lOR19NT0RFfXJldHVybiB0LnByb3RvdHlwZS50b3RhbFRpbWU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fZ2V0QWRqdXN0ZWRJdGVyYXRpdmVEZWxheSh0KTtyZXR1cm4gdGhpcy5zdGFydERlbGF5KCkrZSpNYXRoLm1heCh0LTEsMCkrdGhpcy5zdGVwRHVyYXRpb24oKX0sdC5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMsaT0odD13Z3QuY29lcmNlRXh0ZXJuYWxEMyh0KSkuc2l6ZSgpLHI9dGhpcy5fZ2V0QWRqdXN0ZWRJdGVyYXRpdmVEZWxheShpKTtyZXR1cm4gdC50cmFuc2l0aW9uKCkuZWFzZSh0aGlzLl9nZXRFYXNlRmFjdG9yeSgpKS5kdXJhdGlvbih0aGlzLnN0ZXBEdXJhdGlvbigpKS5kZWxheSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5zdGFydERlbGF5KCkrciplfSkpLmF0dHJzKGUpfSx0LnByb3RvdHlwZS5zdGFydERlbGF5PWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3N0YXJ0RGVsYXk6KHRoaXMuX3N0YXJ0RGVsYXk9dCx0aGlzKX0sdC5wcm90b3R5cGUuc3RlcER1cmF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P01hdGgubWluKHRoaXMuX3N0ZXBEdXJhdGlvbix0aGlzLl9tYXhUb3RhbER1cmF0aW9uKToodGhpcy5fc3RlcER1cmF0aW9uPXQsdGhpcyl9LHQucHJvdG90eXBlLnN0ZXBEZWxheT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9zdGVwRGVsYXk6KHRoaXMuX3N0ZXBEZWxheT10LHRoaXMpfSx0LnByb3RvdHlwZS5tYXhUb3RhbER1cmF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX21heFRvdGFsRHVyYXRpb246KHRoaXMuX21heFRvdGFsRHVyYXRpb249dCx0aGlzKX0sdC5wcm90b3R5cGUuZWFzaW5nTW9kZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9lYXNpbmdNb2RlOih0aGlzLl9lYXNpbmdNb2RlPXQsdGhpcyl9LHQucHJvdG90eXBlLl9nZXRFYXNlRmFjdG9yeT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZWFzaW5nTW9kZSgpO2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIGU9U2d0W3RdO3JldHVybiBudWxsPT1lP1NndC5saW5lYXI6ZX1yZXR1cm4gdH0sdC5wcm90b3R5cGUuX2dldEFkanVzdGVkSXRlcmF0aXZlRGVsYXk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5tYXhUb3RhbER1cmF0aW9uKCktdGhpcy5zdGVwRHVyYXRpb24oKSxuPShlPU1hdGgubWF4KGUsMCkpL01hdGgubWF4KHQtMSwxKTtyZXR1cm4gTWF0aC5taW4odGhpcy5zdGVwRGVsYXkoKSxuKX0sdC5fREVGQVVMVF9TVEFSVF9ERUxBWV9NSUxMSVNFQ09ORFM9MCx0Ll9ERUZBVUxUX1NURVBfRFVSQVRJT05fTUlMTElTRUNPTkRTPTMwMCx0Ll9ERUZBVUxUX0lURVJBVElWRV9ERUxBWV9NSUxMSVNFQ09ORFM9MTUsdC5fREVGQVVMVF9NQVhfVE9UQUxfRFVSQVRJT05fTUlMTElTRUNPTkRTPTEvMCx0Ll9ERUZBVUxUX0VBU0lOR19NT0RFPSJleHBPdXQiLHR9KSgpO21ndC5FYXNpbmc9TWd0O3ZhciBFZ3Q9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEVndCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFRndD1fZ3QsQ2d0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLnRvdGFsVGltZT1mdW5jdGlvbih0KXtyZXR1cm4gMH0sdC5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbih0LGUpe3JldHVybih0PVRndC5jb2VyY2VFeHRlcm5hbEQzKHQpKS5hdHRycyhlKX0sdH0pKCk7RWd0Lk51bGw9Q2d0LChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPO2UuX19leHBvcnRTdGFyKG1ndCx0KSxlLl9fZXhwb3J0U3RhcihFZ3QsdCl9KShmZ3QpO3ZhciBBZ3Q9e30sa2d0PXt9LExndD17fSxQZ3Q9e30sTmd0PXt9LElndD17fSxSZ3Q9e30sT2d0PXt9LHpndD17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoemd0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgRGd0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5jYWNoZT17fSx0aGlzLmNvbXB1dGU9dH1yZXR1cm4gdC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNhY2hlLmhhc093blByb3BlcnR5KHQpfHwodGhpcy5jYWNoZVt0XT10aGlzLmNvbXB1dGUodCkpLHRoaXMuY2FjaGVbdF19LHQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2FjaGU9e30sdGhpc30sdH0pKCk7emd0LkNhY2hlPURndDt2YXIgQmd0PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShCZ3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBIZ3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5hcnJheUVxPWZ1bmN0aW9uKHQsZSl7aWYobnVsbD09dHx8bnVsbD09ZSlyZXR1cm4gdD09PWU7aWYodC5sZW5ndGghPT1lLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKylpZih0W25dIT09ZVtuXSlyZXR1cm4hMTtyZXR1cm4hMH0sdC5vYmpFcT1mdW5jdGlvbihlLG4pe2lmKG51bGw9PWV8fG51bGw9PW4pcmV0dXJuIGU9PT1uO3ZhciBpPU9iamVjdC5rZXlzKGUpLnNvcnQoKSxyPU9iamVjdC5rZXlzKG4pLnNvcnQoKSxvPWkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX0pKSxhPXIubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gblt0XX0pKTtyZXR1cm4gdC5hcnJheUVxKGkscikmJnQuYXJyYXlFcShvLGEpfSx0LnN0cmljdEVxPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lfSx0LmRlZmF1bHRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW24tMV09YXJndW1lbnRzW25dO2lmKG51bGw9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0Iik7dmFyIGk9T2JqZWN0KHQpO3JldHVybiBlLmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKG51bGwhPXQpZm9yKHZhciBlIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSkmJihpW2VdPXRbZV0pfSkpLGl9LHR9KSgpO0JndC5NZXRob2RzPUhndDt2YXIgRmd0PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShGZ3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBWZ3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5jb21iaW5lV2hpdGVzcGFjZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKC9bIFx0XSsvZywiICIpfSx0LmlzTm90RW1wdHlTdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiIiIT09dC50cmltKCl9LHQudHJpbVN0YXJ0PWZ1bmN0aW9uKGUsbil7aWYoIWUpcmV0dXJuIGU7dmFyIGk9ZS5zcGxpdCgiIikscj1uP2Z1bmN0aW9uKGUpe3JldHVybiBlLnNwbGl0KG4pLnNvbWUodC5pc05vdEVtcHR5U3RyaW5nKX06dC5pc05vdEVtcHR5U3RyaW5nO3JldHVybiBpLnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gcih0K2UpP3QrZTp0fSksIiIpfSx0LnRyaW1FbmQ9ZnVuY3Rpb24oZSxuKXtpZighZSlyZXR1cm4gZTt2YXIgaT1lLnNwbGl0KCIiKTtyZXR1cm4gaS5yZXZlcnNlKCksKGk9dC50cmltU3RhcnQoaS5qb2luKCIiKSxuKS5zcGxpdCgiIikpLnJldmVyc2UoKSxpLmpvaW4oIiIpfSx0fSkoKTtGZ3QuU3RyaW5nTWV0aG9kcz1WZ3Q7dmFyIFVndD17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoVWd0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgamd0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLldvcmREaXZpZGVyUmVnRXhwPW5ldyBSZWdFeHAoIlxcVyIpLHRoaXMuV2hpdGVzcGFjZVJlZ0V4cD1uZXcgUmVnRXhwKCJcXHMiKX1yZXR1cm4gdC5wcm90b3R5cGUudG9rZW5pemU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gdC5zcGxpdCgiIikucmVkdWNlKChmdW5jdGlvbih0LG4pe3JldHVybiB0LnNsaWNlKDAsLTEpLmNvbmNhdChlLnNob3VsZENyZWF0ZU5ld1Rva2VuKHRbdC5sZW5ndGgtMV0sbikpfSksWyIiXSl9LHQucHJvdG90eXBlLnNob3VsZENyZWF0ZU5ld1Rva2VuPWZ1bmN0aW9uKHQsZSl7aWYoIXQpcmV0dXJuW2VdO3ZhciBuPXRbdC5sZW5ndGgtMV07cmV0dXJuIHRoaXMuV2hpdGVzcGFjZVJlZ0V4cC50ZXN0KG4pJiZ0aGlzLldoaXRlc3BhY2VSZWdFeHAudGVzdChlKT9bdCtlXTp0aGlzLldoaXRlc3BhY2VSZWdFeHAudGVzdChuKXx8dGhpcy5XaGl0ZXNwYWNlUmVnRXhwLnRlc3QoZSk/W3QsZV06dGhpcy5Xb3JkRGl2aWRlclJlZ0V4cC50ZXN0KG4pP249PT1lP1t0K2VdOlt0LGVdOlt0K2VdfSx0fSkoKTtVZ3QuVG9rZW5pemVyPWpndCwoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXtmb3IodmFyIG4gaW4gZSl0Lmhhc093blByb3BlcnR5KG4pfHwodFtuXT1lW25dKX1PYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZSh6Z3QpLGUoQmd0KSxlKEZndCksZShVZ3QpfSkoT2d0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUmd0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgR2d0PU9ndCxXZ3Q9e3RleHRSb3RhdGlvbjowLHRleHRTaGVhcjowLHhBbGlnbjoibGVmdCIseUFsaWduOiJ0b3AifSxxZ3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7dGhpcy5fbWVhc3VyZXI9dCx0aGlzLl9wZW5GYWN0b3J5PWUsdGhpcy5fd3JhcHBlcj1ufXJldHVybiB0LnByb3RvdHlwZS5tZWFzdXJlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbWVhc3VyZXI9dCx0aGlzfSx0LnByb3RvdHlwZS53cmFwcGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl93cmFwcGVyPXQsdGhpc30sdC5wcm90b3R5cGUucGVuRmFjdG9yeT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGVuRmFjdG9yeT10LHRoaXN9LHQucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUsbixpLHIsbyl7aWYodm9pZCAwPT09ciYmKHI9e30pLHI9R2d0Lk1ldGhvZHMuZGVmYXVsdHMoe30sV2d0LHIpLC0xPT09dC5TdXBwb3J0ZWRSb3RhdGlvbi5pbmRleE9mKHIudGV4dFJvdGF0aW9uKSl0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIHJvdGF0aW9uIC0gIityLnRleHRSb3RhdGlvbisiLiBTdXBwb3J0ZWQgcm90YXRpb25zIGFyZSAiK3QuU3VwcG9ydGVkUm90YXRpb24uam9pbigiLCAiKSk7aWYobnVsbCE9ci50ZXh0U2hlYXImJnIudGV4dFNoZWFyPC04MHx8ci50ZXh0U2hlYXI+ODApdGhyb3cgbmV3IEVycm9yKCJ1bnN1cHBvcnRlZCBzaGVhciBhbmdsZSAtICIrci50ZXh0U2hlYXIrIi4gTXVzdCBiZSBiZXR3ZWVuIC04MCBhbmQgODAiKTt2YXIgYT1NYXRoLmFicyhNYXRoLmFicyhyLnRleHRSb3RhdGlvbiktOTApPjQ1LHM9YT9uOmksbD1hP2k6bixjPXIudGV4dFNoZWFyLHU9YypNYXRoLlBJLzE4MCxoPXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoKS5oZWlnaHQsZD1oKk1hdGgudGFuKHUpLHA9cy9NYXRoLmNvcyh1KS1NYXRoLmFicyhkKSxmPWwqTWF0aC5jb3ModSksbT1HZ3QuU3RyaW5nTWV0aG9kcy5jb21iaW5lV2hpdGVzcGFjZShlKSxnPSh0aGlzLl93cmFwcGVyP3RoaXMuX3dyYXBwZXIud3JhcChtLHRoaXMuX21lYXN1cmVyLHAsZikud3JhcHBlZFRleHQ6bSkuc3BsaXQoIlxuIiksXz10LlhPZmZzZXRGYWN0b3Jbci54QWxpZ25dKnAqTWF0aC5zaW4odSktdC5ZT2Zmc2V0RmFjdG9yW3IueUFsaWduXSooZi1nLmxlbmd0aCpoKSx5PVswLDBdLHY9ci50ZXh0Um90YXRpb24rYztzd2l0Y2goci50ZXh0Um90YXRpb24pe2Nhc2UgOTA6eT1bbitfLDBdO2JyZWFrO2Nhc2UtOTA6eT1bLV8saV07YnJlYWs7Y2FzZSAxODA6eT1bbixpK19dO2JyZWFrO2RlZmF1bHQ6eT1bMCwtX119dmFyIGI9dGhpcy5fcGVuRmFjdG9yeS5jcmVhdGVQZW4oZSx7dHJhbnNsYXRlOnkscm90YXRlOnZ9LG8pO3RoaXMud3JpdGVMaW5lcyhnLGIscCxoLGQsci54QWxpZ24pLG51bGwhPWIuZGVzdHJveSYmYi5kZXN0cm95KCl9LHQucHJvdG90eXBlLndyaXRlTGluZXM9ZnVuY3Rpb24odCxlLG4saSxyLG8pe3QuZm9yRWFjaCgoZnVuY3Rpb24odCxhKXtlLndyaXRlKHQsbixvLHI+MD8oYSsxKSpyOmEqciwoYSsxKSppKX0pKX0sdH0pKCk7cWd0LlhPZmZzZXRGYWN0b3I9e2NlbnRlcjouNSxsZWZ0OjAscmlnaHQ6MX0scWd0LllPZmZzZXRGYWN0b3I9e2JvdHRvbToxLGNlbnRlcjouNSx0b3A6MH0scWd0LlN1cHBvcnRlZFJvdGF0aW9uPVstOTAsMCwxODAsOTBdLFJndC5Xcml0ZXI9cWd0LChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksKGZ1bmN0aW9uIGUobil7Zm9yKHZhciBpIGluIG4pdC5oYXNPd25Qcm9wZXJ0eShpKXx8KHRbaV09bltpXSl9KShSZ3QpfSkoSWd0KTt2YXIgWWd0PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShZZ3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBYZ3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5hcHBlbmQ9ZnVuY3Rpb24oZSxuKXtmb3IodmFyIGk9W10scj0yO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspaVtyLTJdPWFyZ3VtZW50c1tyXTt2YXIgbz10LmNyZWF0ZS5hcHBseSh0LFtuXS5jb25jYXQoaSkpO3JldHVybiBlLmFwcGVuZENoaWxkKG8pLG99LHQuY3JlYXRlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1bXSxpPTE7aTxhcmd1bWVudHMubGVuZ3RoO2krKyluW2ktMV09YXJndW1lbnRzW2ldO3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSk7cmV0dXJuIHQuYWRkQ2xhc3Nlcy5hcHBseSh0LFtyXS5jb25jYXQobikpLHJ9LHQuYWRkQ2xhc3Nlcz1mdW5jdGlvbih0KXtmb3IodmFyIGU9W10sbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuLTFdPWFyZ3VtZW50c1tuXTtlPWUuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dH0pKSxudWxsIT10LmNsYXNzTGlzdD9lLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuY2xhc3NMaXN0LmFkZChlKX0pKTp0LnNldEF0dHJpYnV0ZSgiY2xhc3MiLGUuam9pbigiICIpKX0sdC5nZXREaW1lbnNpb25zPWZ1bmN0aW9uKHQpe2lmKHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KXRyeXt2YXIgZT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybnt3aWR0aDplLndpZHRoLGhlaWdodDplLmhlaWdodH19Y2F0Y2godCl7fXJldHVybntoZWlnaHQ6MCx3aWR0aDowfX0sdH0pKCk7WWd0Lkh0bWxVdGlscz1YZ3Q7dmFyICRndD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSxuKXt2b2lkIDA9PT1uJiYobj0hMSk7dmFyIGk9dGhpczt0aGlzLmVsZW1lbnQ9dCx0aGlzLmNsYXNzTmFtZT1lLHRoaXMuYWRkVGl0bGU9bix0aGlzLmNyZWF0ZVJ1bGVyPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPVhndC5hcHBlbmQoaS5lbGVtZW50LCJzcGFuIiwidGV4dC10bXAiLGkuY2xhc3NOYW1lKTtlLnRleHRDb250ZW50PXQ7dmFyIG49WGd0LmdldERpbWVuc2lvbnMoZSk7cmV0dXJuIGkuZWxlbWVudC5yZW1vdmVDaGlsZChlKSxufX0sdGhpcy5jcmVhdGVQZW49ZnVuY3Rpb24odCxlLG4pe251bGw9PW4mJihuPWkuZWxlbWVudCk7dmFyIHI9WGd0LmFwcGVuZChuLCJkaXYiLCJ0ZXh0LWJsb2NrIixpLmNsYXNzTmFtZSk7cmV0dXJuIHIuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIixyLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIC0xZW0pIHRyYW5zbGF0ZSgiK2UudHJhbnNsYXRlWzBdKyJweCwgIitlLnRyYW5zbGF0ZVsxXSsicHgpIHJvdGF0ZSgiK2Uucm90YXRlKyJkZWcpIixyLnN0eWxlLnRyYW5zZm9ybU9yaWdpbj0iMCAxLjJlbSIsaS5hZGRUaXRsZSYmci5zZXRBdHRyaWJ1dGUoInRpdGxlIix0KSxpLmNyZWF0ZUh0bWxMaW5lUGVuKHIpfX1yZXR1cm4gdC5wcm90b3R5cGUuc2V0QWRkVGl0bGU9ZnVuY3Rpb24odCl7dGhpcy5hZGRUaXRsZT10fSx0LnByb3RvdHlwZS5jcmVhdGVIdG1sTGluZVBlbj1mdW5jdGlvbih0KXtyZXR1cm57d3JpdGU6ZnVuY3Rpb24oZSxuLGkscixvKXt2YXIgYT1YZ3QuYXBwZW5kKHQsImRpdiIsInRleHQtbGluZSIpO2EudGV4dENvbnRlbnQ9ZSxhLnN0eWxlLndpZHRoPW4rInB4IixhLnN0eWxlLnRleHRBbGlnbj1pLGEuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixhLnN0eWxlLndoaXRlU3BhY2U9Im5vd3JhcCIsYS5zdHlsZS50b3A9bysicHgiLGEuc3R5bGUubGVmdD1yKyJweCJ9fX0sdH0pKCk7WWd0Lkh0bWxDb250ZXh0PSRndCxPYmplY3QuZGVmaW5lUHJvcGVydHkoTmd0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgS2d0PUlndCxaZ3Q9WWd0LEpndD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiB0LmFwcGVuZD1mdW5jdGlvbihlLG4pe2Zvcih2YXIgaT1bXSxyPTI7cjxhcmd1bWVudHMubGVuZ3RoO3IrKylpW3ItMl09YXJndW1lbnRzW3JdO3ZhciBvPXQuY3JlYXRlLmFwcGx5KHQsW25dLmNvbmNhdChpKSk7cmV0dXJuIGUuYXBwZW5kQ2hpbGQobyksb30sdC5jcmVhdGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPVtdLGk9MTtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKW5baS0xXT1hcmd1bWVudHNbaV07dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuU1ZHX05TLGUpO3JldHVybiBaZ3QuSHRtbFV0aWxzLmFkZENsYXNzZXMuYXBwbHkoWmd0Lkh0bWxVdGlscyxbcl0uY29uY2F0KG4pKSxyfSx0LmdldERpbWVuc2lvbnM9ZnVuY3Rpb24odCl7aWYodC5nZXRCQm94KXRyeXt2YXIgZT10LmdldEJCb3goKTtyZXR1cm57d2lkdGg6ZS53aWR0aCxoZWlnaHQ6ZS5oZWlnaHR9fWNhdGNoKHQpe31yZXR1cm57aGVpZ2h0OjAsd2lkdGg6MH19LHR9KSgpO0pndC5TVkdfTlM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixOZ3QuU3ZnVXRpbHM9Smd0O3ZhciBRZ3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7dm9pZCAwPT09biYmKG49ITEpO3ZhciBpPXRoaXM7dGhpcy5lbGVtZW50PXQsdGhpcy5jbGFzc05hbWU9ZSx0aGlzLmFkZFRpdGxlRWxlbWVudD1uLHRoaXMuY3JlYXRlUnVsZXI9ZnVuY3Rpb24oKXt2YXIgdD1pLmdldFRleHRFbGVtZW50cyhpLmVsZW1lbnQpLGU9dC5wYXJlbnRFbGVtZW50LG49dC5jb250YWluZXJFbGVtZW50LHI9dC50ZXh0RWxlbWVudDtyZXR1cm4gZnVuY3Rpb24odCl7ZS5hcHBlbmRDaGlsZChuKSxyLnRleHRDb250ZW50PXQ7dmFyIGk9Smd0LmdldERpbWVuc2lvbnMocik7cmV0dXJuIGUucmVtb3ZlQ2hpbGQobiksaX19LHRoaXMuY3JlYXRlUGVuPWZ1bmN0aW9uKHQsZSxuKXtudWxsPT1uJiYobj1pLmVsZW1lbnQpO3ZhciByPUpndC5hcHBlbmQobiwiZyIsInRleHQtY29udGFpbmVyIixpLmNsYXNzTmFtZSk7aS5hZGRUaXRsZUVsZW1lbnQmJihKZ3QuYXBwZW5kKHIsInRpdGxlIikudGV4dENvbnRlbnQ9dCxyLnNldEF0dHJpYnV0ZSgidGl0bGUiLHQpKTt2YXIgbz1KZ3QuYXBwZW5kKHIsImciLCJ0ZXh0LWFyZWEiKTtyZXR1cm4gby5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK2UudHJhbnNsYXRlWzBdKyIsIitlLnRyYW5zbGF0ZVsxXSsiKXJvdGF0ZSgiK2Uucm90YXRlKyIpIiksaS5jcmVhdGVTdmdMaW5lUGVuKG8pfX1yZXR1cm4gdC5wcm90b3R5cGUuc2V0QWRkVGl0bGVFbGVtZW50PWZ1bmN0aW9uKHQpe3RoaXMuYWRkVGl0bGVFbGVtZW50PXR9LHQucHJvdG90eXBlLmNyZWF0ZVN2Z0xpbmVQZW49ZnVuY3Rpb24oZSl7cmV0dXJue3dyaXRlOmZ1bmN0aW9uKG4saSxyLG8sYSl7bys9aSpLZ3QuV3JpdGVyLlhPZmZzZXRGYWN0b3Jbcl07dmFyIHM9Smd0LmFwcGVuZChlLCJ0ZXh0IiwidGV4dC1saW5lIik7cy50ZXh0Q29udGVudD1uLHMuc2V0QXR0cmlidXRlKCJ0ZXh0LWFuY2hvciIsdC5BbmNob3JNYXBbcl0pLHMuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitvKyIsIithKyIpIikscy5zZXRBdHRyaWJ1dGUoInkiLCItMC4yNWVtIil9fX0sdC5wcm90b3R5cGUuZ2V0VGV4dEVsZW1lbnRzPWZ1bmN0aW9uKHQpe2lmKCJ0ZXh0Ij09PXQudGFnTmFtZSlyZXR1cm4gbnVsbD09KGU9dC5wYXJlbnRFbGVtZW50KSYmKGU9dC5wYXJlbnROb2RlKSxlLnJlbW92ZUNoaWxkKHQpLHtjb250YWluZXJFbGVtZW50OnQscGFyZW50RWxlbWVudDplLHRleHRFbGVtZW50OnR9O3ZhciBlLG49dC5xdWVyeVNlbGVjdG9yKCJ0ZXh0Iik7aWYobnVsbCE9bilyZXR1cm4gbnVsbD09KGU9bi5wYXJlbnRFbGVtZW50KSYmKGU9bi5wYXJlbnROb2RlKSxlLnJlbW92ZUNoaWxkKG4pLHtjb250YWluZXJFbGVtZW50Om4scGFyZW50RWxlbWVudDplLHRleHRFbGVtZW50Om59O3ZhciBpPUpndC5jcmVhdGUoInRleHQiLHRoaXMuY2xhc3NOYW1lKTtyZXR1cm57Y29udGFpbmVyRWxlbWVudDppLHBhcmVudEVsZW1lbnQ6dCx0ZXh0RWxlbWVudDppfX0sdH0pKCk7UWd0LkFuY2hvck1hcD17Y2VudGVyOiJtaWRkbGUiLGxlZnQ6InN0YXJ0IixyaWdodDoiZW5kIn0sTmd0LlN2Z0NvbnRleHQ9UWd0O3ZhciB0X3Q9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KHRfdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGVfdD1JZ3Qsbl90PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlLG4pe3ZvaWQgMD09PWUmJihlPTEwKSx2b2lkIDA9PT1uJiYobj17fSk7dmFyIGk9dGhpczt0aGlzLmN0eD10LHRoaXMubGluZUhlaWdodD1lLHRoaXMuc3R5bGU9bix0aGlzLmNyZWF0ZVJ1bGVyPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBpLmN0eC5mb250PWkuc3R5bGUuZm9udCx7d2lkdGg6aS5jdHgubWVhc3VyZVRleHQodCkud2lkdGgsaGVpZ2h0OmkubGluZUhlaWdodH19fSx0aGlzLmNyZWF0ZVBlbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIG51bGw9PW4mJihuPWkuY3R4KSxuLnNhdmUoKSxuLnRyYW5zbGF0ZShlLnRyYW5zbGF0ZVswXSxlLnRyYW5zbGF0ZVsxXSksbi5yb3RhdGUoZS5yb3RhdGUqTWF0aC5QSS8xODApLGkuY3JlYXRlQ2FudmFzUGVuKG4pfSx2b2lkIDA9PT10aGlzLnN0eWxlLmZpbGwmJih0aGlzLnN0eWxlLmZpbGw9IiM0NDQiKX1yZXR1cm4gdC5wcm90b3R5cGUuY3JlYXRlQ2FudmFzUGVuPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7cmV0dXJue2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0LnJlc3RvcmUoKX0sd3JpdGU6ZnVuY3Rpb24obixpLHIsbyxhKXtvKz1pKmVfdC5Xcml0ZXIuWE9mZnNldEZhY3RvcltyXSx0LnRleHRBbGlnbj1yLG51bGwhPWUuc3R5bGUuZm9udCYmKHQuZm9udD1lLnN0eWxlLmZvbnQpLG51bGwhPWUuc3R5bGUuZmlsbCYmKHQuZmlsbFN0eWxlPWUuc3R5bGUuZmlsbCx0LmZpbGxUZXh0KG4sbyxhKSksbnVsbCE9ZS5zdHlsZS5zdHJva2UmJih0LnN0cm9rZVN0eWxlPWUuc3R5bGUuZmlsbCx0LnN0cm9rZVRleHQobixvLGEpKX19fSx0fSkoKTt0X3QuQ2FudmFzQ29udGV4dD1uX3QsKGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7Zm9yKHZhciBuIGluIGUpdC5oYXNPd25Qcm9wZXJ0eShuKXx8KHRbbl09ZVtuXSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUoTmd0KSxlKHRfdCksZShZZ3QpfSkoUGd0KTt2YXIgaV90PXt9LHJfdD17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkocl90LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgb190PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5ydWxlcj1udWxsIT10LmNyZWF0ZVJ1bGVyP3QuY3JlYXRlUnVsZXIoKTp0fXJldHVybiB0LnByb3RvdHlwZS5tZWFzdXJlPWZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT10LkhFSUdIVF9URVhUKSx0aGlzLnJ1bGVyKGUpfSx0fSkoKTtvX3QuSEVJR0hUX1RFWFQ9ImJkcHFsIixyX3QuQWJzdHJhY3RNZWFzdXJlcj1vX3Q7dmFyIGFfdD17fSxzX3Q9e30sbF90PXt9LGNfdD1TZSYmU2UuX19leHRlbmRzfHwoZnVuY3Rpb24oKXt2YXIgdD1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodFtuXT1lW25dKX07cmV0dXJuIGZ1bmN0aW9uKGUsbil7ZnVuY3Rpb24gaSgpe3RoaXMuY29uc3RydWN0b3I9ZX10KGUsbiksZS5wcm90b3R5cGU9bnVsbD09PW4/T2JqZWN0LmNyZWF0ZShuKTooaS5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IGkpfX0pKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGxfdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHVfdD1yX3QsaF90PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUsbil7dm9pZCAwPT09biYmKG49ITEpO3ZhciBpPXQuY2FsbCh0aGlzLGUpfHx0aGlzO3JldHVybiBpLnVzZUd1YXJkcz1uLGl9cmV0dXJuIGNfdChlLHQpLGUucHJvdG90eXBlLl9hZGRHdWFyZHM9ZnVuY3Rpb24odCl7cmV0dXJuIHVfdC5BYnN0cmFjdE1lYXN1cmVyLkhFSUdIVF9URVhUK3QrdV90LkFic3RyYWN0TWVhc3VyZXIuSEVJR0hUX1RFWFR9LGUucHJvdG90eXBlLl9tZWFzdXJlTGluZT1mdW5jdGlvbihlLG4pe3ZvaWQgMD09PW4mJihuPSExKTt2YXIgaT10aGlzLnVzZUd1YXJkc3x8bnx8L15bXHQgXSQvLnRlc3QoZSkscj1pP3RoaXMuX2FkZEd1YXJkcyhlKTplLG89dC5wcm90b3R5cGUubWVhc3VyZS5jYWxsKHRoaXMscik7cmV0dXJuIG8ud2lkdGgtPWk/Mip0aGlzLmdldEd1YXJkV2lkdGgoKTowLG99LGUucHJvdG90eXBlLm1lYXN1cmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZih2b2lkIDA9PT10JiYodD11X3QuQWJzdHJhY3RNZWFzdXJlci5IRUlHSFRfVEVYVCksIiI9PT10LnRyaW0oKSlyZXR1cm57d2lkdGg6MCxoZWlnaHQ6MH07dmFyIG49dC50cmltKCkuc3BsaXQoIlxuIikubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fbWVhc3VyZUxpbmUodCl9KSk7cmV0dXJue2hlaWdodDpuLnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCtlLmhlaWdodH0pLDApLHdpZHRoOm4ucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiBNYXRoLm1heCh0LGUud2lkdGgpfSksMCl9fSxlLnByb3RvdHlwZS5nZXRHdWFyZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PXRoaXMuZ3VhcmRXaWR0aCYmKHRoaXMuZ3VhcmRXaWR0aD10LnByb3RvdHlwZS5tZWFzdXJlLmNhbGwodGhpcykud2lkdGgpLHRoaXMuZ3VhcmRXaWR0aH0sZX0pKHVfdC5BYnN0cmFjdE1lYXN1cmVyKTtsX3QuTWVhc3VyZXI9aF90O3ZhciBkX3Q9U2UmJlNlLl9fZXh0ZW5kc3x8KGZ1bmN0aW9uKCl7dmFyIHQ9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX18fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbbl09ZVtuXSl9O3JldHVybiBmdW5jdGlvbihlLG4pe2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLG4pLGUucHJvdG90eXBlPW51bGw9PT1uP09iamVjdC5jcmVhdGUobik6KGkucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyBpKX19KSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShzX3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBwX3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBkX3QoZSx0KSxlLnByb3RvdHlwZS5fbWVhc3VyZUNoYXJhY3Rlcj1mdW5jdGlvbihlKXtyZXR1cm4gdC5wcm90b3R5cGUuX21lYXN1cmVMaW5lLmNhbGwodGhpcyxlKX0sZS5wcm90b3R5cGUuX21lYXN1cmVMaW5lPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10LnNwbGl0KCIiKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9tZWFzdXJlQ2hhcmFjdGVyKHQpfSkpO3JldHVybntoZWlnaHQ6bi5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWF4KHQsZS5oZWlnaHQpfSksMCksd2lkdGg6bi5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrZS53aWR0aH0pLDApfX0sZX0pKGxfdC5NZWFzdXJlcik7c190LkNoYXJhY3Rlck1lYXN1cmVyPXBfdDt2YXIgZl90PVNlJiZTZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciB0PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0W25dPWVbbl0pfTtyZXR1cm4gZnVuY3Rpb24oZSxuKXtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfXQoZSxuKSxlLnByb3RvdHlwZT1udWxsPT09bj9PYmplY3QuY3JlYXRlKG4pOihpLnByb3RvdHlwZT1uLnByb3RvdHlwZSxuZXcgaSl9fSkoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoYV90LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbV90PU9ndCxnX3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxuKXt2YXIgaT10LmNhbGwodGhpcyxlLG4pfHx0aGlzO3JldHVybiBpLmNhY2hlPW5ldyBtX3QuQ2FjaGUoKGZ1bmN0aW9uKHQpe3JldHVybiBpLl9tZWFzdXJlQ2hhcmFjdGVyTm90RnJvbUNhY2hlKHQpfSkpLGl9cmV0dXJuIGZfdChlLHQpLGUucHJvdG90eXBlLl9tZWFzdXJlQ2hhcmFjdGVyTm90RnJvbUNhY2hlPWZ1bmN0aW9uKGUpe3JldHVybiB0LnByb3RvdHlwZS5fbWVhc3VyZUNoYXJhY3Rlci5jYWxsKHRoaXMsZSl9LGUucHJvdG90eXBlLl9tZWFzdXJlQ2hhcmFjdGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNhY2hlLmdldCh0KX0sZS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmNhY2hlLmNsZWFyKCl9LGV9KShzX3QuQ2hhcmFjdGVyTWVhc3VyZXIpO2FfdC5DYWNoZUNoYXJhY3Rlck1lYXN1cmVyPWdfdDt2YXIgX190PXt9LHlfdD1TZSYmU2UuX19leHRlbmRzfHwoZnVuY3Rpb24oKXt2YXIgdD1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodFtuXT1lW25dKX07cmV0dXJuIGZ1bmN0aW9uKGUsbil7ZnVuY3Rpb24gaSgpe3RoaXMuY29uc3RydWN0b3I9ZX10KGUsbiksZS5wcm90b3R5cGU9bnVsbD09PW4/T2JqZWN0LmNyZWF0ZShuKTooaS5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IGkpfX0pKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KF9fdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHZfdD1PZ3QsYl90PXJfdCx4X3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dmFyIG49dC5jYWxsKHRoaXMsZSl8fHRoaXM7cmV0dXJuIG4uZGltQ2FjaGU9bmV3IHZfdC5DYWNoZSgoZnVuY3Rpb24odCl7cmV0dXJuIG4uX21lYXN1cmVOb3RGcm9tQ2FjaGUodCl9KSksbn1yZXR1cm4geV90KGUsdCksZS5wcm90b3R5cGUuX21lYXN1cmVOb3RGcm9tQ2FjaGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQucHJvdG90eXBlLm1lYXN1cmUuY2FsbCh0aGlzLGUpfSxlLnByb3RvdHlwZS5tZWFzdXJlPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10JiYodD1iX3QuQWJzdHJhY3RNZWFzdXJlci5IRUlHSFRfVEVYVCksdGhpcy5kaW1DYWNoZS5nZXQodCl9LGUucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5kaW1DYWNoZS5jbGVhcigpLHQucHJvdG90eXBlLnJlc2V0LmNhbGwodGhpcyl9LGV9KShhX3QuQ2FjaGVDaGFyYWN0ZXJNZWFzdXJlcik7X190LkNhY2hlTWVhc3VyZXI9eF90LChmdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUpe2Zvcih2YXIgbiBpbiBlKXQuaGFzT3duUHJvcGVydHkobil8fCh0W25dPWVbbl0pfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlKHJfdCksZShhX3QpLGUoX190KSxlKHNfdCksZShsX3QpfSkoaV90KTt2YXIgd190PXt9LFNfdD17fSxNX3Q9e30sRV90PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShFX3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBUX3Q9T2d0LENfdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dGhpcy5tYXhMaW5lcygxLzApLHRoaXMudGV4dFRyaW1taW5nKCJlbGxpcHNpcyIpLHRoaXMuYWxsb3dCcmVha2luZ1dvcmRzKCExKSx0aGlzLl90b2tlbml6ZXI9bmV3IFRfdC5Ub2tlbml6ZXIsdGhpcy5fYnJlYWtpbmdDaGFyYWN0ZXI9Ii0ifXJldHVybiB0LnByb3RvdHlwZS5tYXhMaW5lcz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9tYXhMaW5lczoodGhpcy5fbWF4TGluZXM9dCx0aGlzKX0sdC5wcm90b3R5cGUudGV4dFRyaW1taW5nPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3RleHRUcmltbWluZztpZigiZWxsaXBzaXMiIT09dCYmIm5vbmUiIT09dCl0aHJvdyBuZXcgRXJyb3IodCsiIC0gdW5zdXBwb3J0ZWQgdGV4dCB0cmltbWluZyBvcHRpb24uIik7cmV0dXJuIHRoaXMuX3RleHRUcmltbWluZz10LHRoaXN9LHQucHJvdG90eXBlLmFsbG93QnJlYWtpbmdXb3Jkcz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9hbGxvd0JyZWFraW5nV29yZHM6KHRoaXMuX2FsbG93QnJlYWtpbmdXb3Jkcz10LHRoaXMpfSx0LnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByPXRoaXM7dm9pZCAwPT09aSYmKGk9MS8wKTt2YXIgbz17bm9Ccm9rZVdvcmRzOjAsbm9MaW5lczowLG9yaWdpbmFsVGV4dDp0LHRydW5jYXRlZFRleHQ6IiIsd3JhcHBlZFRleHQ6IiJ9LGE9e2F2YWlsYWJsZUxpbmVzOk1hdGgubWluKE1hdGguZmxvb3IoaS9lLm1lYXN1cmUoKS5oZWlnaHQpLHRoaXMuX21heExpbmVzKSxhdmFpbGFibGVXaWR0aDpuLGNhbkZpdFRleHQ6ITAsY3VycmVudExpbmU6IiIsd3JhcHBpbmc6b30scz10LnNwbGl0KCJcbiIpO3JldHVybiBzLnJlZHVjZSgoZnVuY3Rpb24odCxuLGkpe3JldHVybiByLmJyZWFrTGluZVRvRml0V2lkdGgodCxuLGkhPT1zLmxlbmd0aC0xLGUpfSksYSkud3JhcHBpbmd9LHQucHJvdG90eXBlLmJyZWFrTGluZVRvRml0V2lkdGg9ZnVuY3Rpb24odCxlLG4saSl7dmFyIHI9dGhpczt0LmNhbkZpdFRleHR8fCIiPT09dC53cmFwcGluZy50cnVuY2F0ZWRUZXh0fHwodC53cmFwcGluZy50cnVuY2F0ZWRUZXh0Kz0iXG4iKSx0PXRoaXMuX3Rva2VuaXplci50b2tlbml6ZShlKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIud3JhcE5leHRUb2tlbihlLHQsaSl9KSx0KTt2YXIgbz1UX3QuU3RyaW5nTWV0aG9kcy50cmltRW5kKHQuY3VycmVudExpbmUpO3JldHVybiB0LndyYXBwaW5nLm5vTGluZXMrPSsoIiIhPT1vKSx0LndyYXBwaW5nLm5vTGluZXM9PT10LmF2YWlsYWJsZUxpbmVzJiYibm9uZSIhPT10aGlzLl90ZXh0VHJpbW1pbmcmJm4/dC5jYW5GaXRUZXh0PSExOnQud3JhcHBpbmcud3JhcHBlZFRleHQrPW8sdC5jdXJyZW50TGluZT0iXG4iLHR9LHQucHJvdG90eXBlLmNhbkZpdFRva2VuPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10aGlzLHI9dC5zcGxpdCgiIikubWFwKChmdW5jdGlvbihlLG4pe3JldHVybiBuIT09dC5sZW5ndGgtMT9lK2kuX2JyZWFraW5nQ2hhcmFjdGVyOmV9KSk7cmV0dXJuIG4ubWVhc3VyZSh0KS53aWR0aDw9ZXx8ci5ldmVyeSgoZnVuY3Rpb24odCl7cmV0dXJuIG4ubWVhc3VyZSh0KS53aWR0aDw9ZX0pKX0sdC5wcm90b3R5cGUuYWRkRWxsaXBzaXM9ZnVuY3Rpb24odCxlLG4pe2lmKCJub25lIj09PXRoaXMuX3RleHRUcmltbWluZylyZXR1cm57cmVtYWluaW5nVG9rZW46IiIsd3JhcHBlZFRva2VuOnR9O3ZhciBpPXQuc3Vic3RyaW5nKDApLnRyaW0oKSxyPW4ubWVhc3VyZShpKS53aWR0aCxvPW4ubWVhc3VyZSgiLi4uIikud2lkdGgsYT10Lmxlbmd0aD4wJiYiXG4iPT09dFswXT8iXG4iOiIiO2lmKGU8PW8pe3ZhciBzPU1hdGguZmxvb3IoZS8oby8zKSk7cmV0dXJue3JlbWFpbmluZ1Rva2VuOnQsd3JhcHBlZFRva2VuOmErIi4uLiIuc3Vic3RyKDAscyl9fWZvcig7citvPmU7KWk9VF90LlN0cmluZ01ldGhvZHMudHJpbUVuZChpLnN1YnN0cigwLGkubGVuZ3RoLTEpKSxyPW4ubWVhc3VyZShpKS53aWR0aDtyZXR1cm57cmVtYWluaW5nVG9rZW46VF90LlN0cmluZ01ldGhvZHMudHJpbUVuZCh0LnN1YnN0cmluZyhpLmxlbmd0aCksIi0iKS50cmltKCksd3JhcHBlZFRva2VuOmEraSsiLi4uIn19LHQucHJvdG90eXBlLndyYXBOZXh0VG9rZW49ZnVuY3Rpb24odCxlLG4pe2lmKCFlLmNhbkZpdFRleHR8fGUuYXZhaWxhYmxlTGluZXM9PT1lLndyYXBwaW5nLm5vTGluZXN8fCF0aGlzLmNhbkZpdFRva2VuKHQsZS5hdmFpbGFibGVXaWR0aCxuKSlyZXR1cm4gdGhpcy5maW5pc2hXcmFwcGluZyh0LGUsbik7Zm9yKHZhciBpPXQ7aTspe3ZhciByPXRoaXMuYnJlYWtUb2tlblRvRml0SW5XaWR0aChpLGUuY3VycmVudExpbmUsZS5hdmFpbGFibGVXaWR0aCxuKTtpZihlLmN1cnJlbnRMaW5lPXIubGluZSxudWxsIT0oaT1yLnJlbWFpbmluZ1Rva2VuKSl7aWYoZS53cmFwcGluZy5ub0Jyb2tlV29yZHMrPStyLmJyZWFrV29yZCwrK2Uud3JhcHBpbmcubm9MaW5lcyxlLmF2YWlsYWJsZUxpbmVzPT09ZS53cmFwcGluZy5ub0xpbmVzKXt2YXIgbz10aGlzLmFkZEVsbGlwc2lzKGUuY3VycmVudExpbmUsZS5hdmFpbGFibGVXaWR0aCxuKTtyZXR1cm4gZS53cmFwcGluZy53cmFwcGVkVGV4dCs9by53cmFwcGVkVG9rZW4sZS53cmFwcGluZy50cnVuY2F0ZWRUZXh0Kz1vLnJlbWFpbmluZ1Rva2VuK2ksZS5jdXJyZW50TGluZT0iXG4iLGV9ZS53cmFwcGluZy53cmFwcGVkVGV4dCs9VF90LlN0cmluZ01ldGhvZHMudHJpbUVuZChlLmN1cnJlbnRMaW5lKSxlLmN1cnJlbnRMaW5lPSJcbiJ9fXJldHVybiBlfSx0LnByb3RvdHlwZS5maW5pc2hXcmFwcGluZz1mdW5jdGlvbih0LGUsbil7aWYoZS5jYW5GaXRUZXh0JiZlLmF2YWlsYWJsZUxpbmVzIT09ZS53cmFwcGluZy5ub0xpbmVzJiYibm9uZSIhPT10aGlzLl90ZXh0VHJpbW1pbmcpe3ZhciBpPXRoaXMuYWRkRWxsaXBzaXMoZS5jdXJyZW50TGluZSt0LGUuYXZhaWxhYmxlV2lkdGgsbik7ZS53cmFwcGluZy53cmFwcGVkVGV4dCs9aS53cmFwcGVkVG9rZW4sZS53cmFwcGluZy50cnVuY2F0ZWRUZXh0Kz1pLnJlbWFpbmluZ1Rva2VuLGUud3JhcHBpbmcubm9Ccm9rZVdvcmRzKz0rKGkucmVtYWluaW5nVG9rZW4ubGVuZ3RoPHQubGVuZ3RoKSxlLndyYXBwaW5nLm5vTGluZXMrPSsoaS53cmFwcGVkVG9rZW4ubGVuZ3RoPjApLGUuY3VycmVudExpbmU9IiJ9ZWxzZSBlLndyYXBwaW5nLnRydW5jYXRlZFRleHQrPXQ7cmV0dXJuIGUuY2FuRml0VGV4dD0hMSxlfSx0LnByb3RvdHlwZS5icmVha1Rva2VuVG9GaXRJbldpZHRoPWZ1bmN0aW9uKHQsZSxuLGkscil7aWYodm9pZCAwPT09ciYmKHI9dGhpcy5fYnJlYWtpbmdDaGFyYWN0ZXIpLGkubWVhc3VyZShlK3QpLndpZHRoPD1uKXJldHVybnticmVha1dvcmQ6ITEsbGluZTplK3QscmVtYWluaW5nVG9rZW46bnVsbH07aWYoIiI9PT10LnRyaW0oKSlyZXR1cm57YnJlYWtXb3JkOiExLGxpbmU6ZSxyZW1haW5pbmdUb2tlbjoiIn07aWYoIXRoaXMuX2FsbG93QnJlYWtpbmdXb3JkcyYmIiIhPT1lLnRyaW0oKSlyZXR1cm57YnJlYWtXb3JkOiExLGxpbmU6ZSxyZW1haW5pbmdUb2tlbjp0fTtmb3IodmFyIG89MDtvPHQubGVuZ3RoJiZpLm1lYXN1cmUoZSt0LnN1YnN0cmluZygwLG8rMSkrcikud2lkdGg8PW47KSsrbzt2YXIgYT0iIjtyZXR1cm4gbz4wJiYoYT1yKSx7YnJlYWtXb3JkOm8+MCxsaW5lOmUrdC5zdWJzdHJpbmcoMCxvKSthLHJlbWFpbmluZ1Rva2VuOnQuc3Vic3RyaW5nKG8pfX0sdH0pKCk7RV90LldyYXBwZXI9Q190O3ZhciBBX3Q9U2UmJlNlLl9fZXh0ZW5kc3x8KGZ1bmN0aW9uKCl7dmFyIHQ9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX18fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbbl09ZVtuXSl9O3JldHVybiBmdW5jdGlvbihlLG4pe2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLG4pLGUucHJvdG90eXBlPW51bGw9PT1uP09iamVjdC5jcmVhdGUobik6KGkucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyBpKX19KSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShNX3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBrX3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBBX3QoZSx0KSxlLnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKG4saSxyLG8pe3ZhciBhPXRoaXM7aWYodm9pZCAwPT09byYmKG89MS8wKSxuLnNwbGl0KCJcbiIpLmxlbmd0aD4xKXRocm93IG5ldyBFcnJvcigiU2luZ2xlTGluZVdyYXBwZXIgaXMgZGVzaWduZWQgdG8gd29yayBvbmx5IG9uIHNpbmdsZSBsaW5lIik7dmFyIHM9ZnVuY3Rpb24oZSl7cmV0dXJuIHQucHJvdG90eXBlLndyYXAuY2FsbChhLG4saSxlLG8pfSxsPXMocik7aWYobC5ub0xpbmVzPDIpcmV0dXJuIGw7Zm9yKHZhciBjPTAsdT1yLGg9MDtoPGUuTk9fV1JBUF9JVEVSQVRJT05TJiZ1PmM7KytoKXt2YXIgZD0odStjKS8yLHA9cyhkKTt0aGlzLmFyZVNhbWVSZXN1bHRzKGwscCk/KHU9ZCxsPXApOmM9ZH1yZXR1cm4gbH0sZS5wcm90b3R5cGUuYXJlU2FtZVJlc3VsdHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5ub0xpbmVzPT09ZS5ub0xpbmVzJiZ0LnRydW5jYXRlZFRleHQ9PT1lLnRydW5jYXRlZFRleHR9LGV9KShFX3QuV3JhcHBlcik7a190Lk5PX1dSQVBfSVRFUkFUSU9OUz01LE1fdC5TaW5nbGVMaW5lV3JhcHBlcj1rX3QsKGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7Zm9yKHZhciBuIGluIGUpdC5oYXNPd25Qcm9wZXJ0eShuKXx8KHRbbl09ZVtuXSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUoTV90KSxlKEVfdCl9KShTX3QpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3X3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBMX3Q9UGd0LFBfdD1pX3QsTl90PVNfdCxJX3Q9SWd0LFJfdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMuY29udGV4dD10LHRoaXMubWVhc3VyZXI9bmV3IFBfdC5DYWNoZU1lYXN1cmVyKHRoaXMuY29udGV4dCksdGhpcy53cmFwcGVyPW5ldyBOX3QuV3JhcHBlcix0aGlzLndyaXRlcj1uZXcgSV90LldyaXRlcih0aGlzLm1lYXN1cmVyLHRoaXMuY29udGV4dCx0aGlzLndyYXBwZXIpfXJldHVybiB0LnN2Zz1mdW5jdGlvbihlLG4saSl7cmV0dXJuIG5ldyB0KG5ldyBMX3QuU3ZnQ29udGV4dChlLG4saSkpfSx0LmNhbnZhcz1mdW5jdGlvbihlLG4saSl7cmV0dXJuIG5ldyB0KG5ldyBMX3QuQ2FudmFzQ29udGV4dChlLG4saSkpfSx0Lmh0bWw9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBuZXcgdChuZXcgTF90Lkh0bWxDb250ZXh0KGUsbixpKSl9LHQucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQsZSxuLGkscil7dGhpcy53cml0ZXIud3JpdGUodCxlLG4saSxyKX0sdC5wcm90b3R5cGUuY2xlYXJNZWFzdXJlckNhY2hlPWZ1bmN0aW9uKCl7dGhpcy5tZWFzdXJlci5yZXNldCgpfSx0fSkoKTt3X3QuVHlwZXNldHRlcj1SX3QsKGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7Zm9yKHZhciBuIGluIGUpdC5oYXNPd25Qcm9wZXJ0eShuKXx8KHRbbl09ZVtuXSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUoUGd0KSxlKGlfdCksZSh3X3QpLGUoT2d0KSxlKFNfdCksZShJZ3QpfSkoTGd0KTt2YXIgT190PXt9LHpfdD17fSxEX3Q9e30sQl90PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoQl90LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgSF90PXdwdCxGX3Q9d2luZG93LkFycmF5O0JfdC5hZGQ9ZnVuY3Rpb24gVl90KHQsZSl7aWYodC5sZW5ndGghPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImF0dGVtcHRlZCB0byBhZGQgYXJyYXlzIG9mIHVuZXF1YWwgbGVuZ3RoIik7cmV0dXJuIHQubWFwKChmdW5jdGlvbihuLGkpe3JldHVybiB0W2ldK2VbaV19KSl9LEJfdC51bmlxPWZ1bmN0aW9uIFVfdCh0KXt2YXIgZT1IX3Quc2V0KCksbj1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtlLmhhcyhTdHJpbmcodCkpfHwoZS5hZGQoU3RyaW5nKHQpKSxuLnB1c2godCkpfSkpLG59LEJfdC5mbGF0dGVuPWZ1bmN0aW9uIGpfdCh0KXtyZXR1cm4gRl90LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sdCl9LEJfdC5jcmVhdGVGaWxsZWRBcnJheT1mdW5jdGlvbiBHX3QodCxlKXtmb3IodmFyIG49W10saT0wO2k8ZTtpKyspbltpXT0iZnVuY3Rpb24iPT10eXBlb2YgdD90KGkpOnQ7cmV0dXJuIG59O3ZhciBXX3Q9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KFdfdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHFfdD13cHQsWV90PXdpbmRvdy5NYXRoO2Z1bmN0aW9uIFhfdCh0KXt2YXIgZT1xX3QucmdiKHQpLG49ZnVuY3Rpb24odCl7cmV0dXJuKHQvPTI1NSk8PS4wMzkyOD90LzEyLjkyOllfdC5wb3coKHQrLjA1NSkvMS4wNTUsMi40KX07cmV0dXJuLjIxMjYqbihlLnIpKy43MTUyKm4oZS5nKSsuMDcyMipuKGUuYil9V190LmNvbnRyYXN0PWZ1bmN0aW9uICRfdCh0LGUpe3ZhciBuPVhfdCh0KSsuMDUsaT1YX3QoZSkrLjA1O3JldHVybiBuPmk/bi9pOmkvbn0sV190LmxpZ2h0ZW5Db2xvcj1mdW5jdGlvbiBLX3QodCxlKXtyZXR1cm4gcV90LmNvbG9yKHQpLmJyaWdodGVyKGUpLnJnYigpLnRvU3RyaW5nKCl9LFdfdC5jb2xvclRlc3Q9ZnVuY3Rpb24gWl90KHQsZSl7dC5jbGFzc2VkKGUsITApO3ZhciBuPXQuc3R5bGUoImJhY2tncm91bmQtY29sb3IiKTtpZigidHJhbnNwYXJlbnQiPT09bilyZXR1cm4gbnVsbDt2YXIgaT0vXCgoLispXCkvLmV4ZWMobik7aWYoIWkpcmV0dXJuIG51bGw7dmFyIHI9aVsxXS5zcGxpdCgiLCIpLm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9K3Qsbj1lLnRvU3RyaW5nKDE2KTtyZXR1cm4gZTwxNj8iMCIrbjpufSkpO2lmKDQ9PT1yLmxlbmd0aCYmIjAwIj09PXJbM10pcmV0dXJuIG51bGw7dmFyIG89IiMiK3Iuam9pbigiIik7cmV0dXJuIHQuY2xhc3NlZChlLCExKSxvfTt2YXIgSl90PXt9OyEoZnVuY3Rpb24odCl7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZT13cHQsbj13aW5kb3cuTWF0aDtmdW5jdGlvbiBpKHQpe3ZhciBlO3RyeXtlPXQubm9kZSgpLmdldEJCb3goKX1jYXRjaCh0KXtlPXt4OjAseTowLHdpZHRoOjAsaGVpZ2h0OjB9fXJldHVybiBlfXQuY29udGFpbnM9ZnVuY3Rpb24gcih0LGUpe2Zvcih2YXIgbj1lO251bGwhPW4mJm4hPT10OyluPW4ucGFyZW50Tm9kZTtyZXR1cm4gbj09PXR9LHQuZWxlbWVudEJCb3g9aSx0LmVudGl0eUJvdW5kcz1mdW5jdGlvbiBvKHQpe2lmKHQgaW5zdGFuY2VvZiBTVkdFbGVtZW50KXJldHVybiBpKGUuc2VsZWN0KHQpKTtpZih0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpe3ZhciBuPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue3g6bi5sZWZ0LHk6bi50b3Asd2lkdGg6bi53aWR0aCxoZWlnaHQ6bi5oZWlnaHR9fXJldHVybnt4OjAseTowLHdpZHRoOjAsaGVpZ2h0OjB9fSx0LlNDUkVFTl9SRUZSRVNIX1JBVEVfTUlMTElTRUNPTkRTPTFlMy82MCx0LnJlcXVlc3RBbmltYXRpb25GcmFtZVBvbHlmaWxsPWZ1bmN0aW9uIGEoZSl7bnVsbCE9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpOnNldFRpbWVvdXQoZSx0LlNDUkVFTl9SRUZSRVNIX1JBVEVfTUlMTElTRUNPTkRTKX0sdC5lbGVtZW50V2lkdGg9ZnVuY3Rpb24gcyh0KXt2YXIgbj10IGluc3RhbmNlb2YgZS5zZWxlY3Rpb24/dC5ub2RlKCk6dCxpPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG4pO3JldHVybiBtKGksIndpZHRoIikrbShpLCJwYWRkaW5nLWxlZnQiKSttKGksInBhZGRpbmctcmlnaHQiKSttKGksImJvcmRlci1sZWZ0LXdpZHRoIikrbShpLCJib3JkZXItcmlnaHQtd2lkdGgiKX0sdC5lbGVtZW50SGVpZ2h0PWZ1bmN0aW9uIGwodCl7dmFyIG49dCBpbnN0YW5jZW9mIGUuc2VsZWN0aW9uP3Qubm9kZSgpOnQsaT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShuKTtyZXR1cm4gbShpLCJoZWlnaHQiKSttKGksInBhZGRpbmctdG9wIikrbShpLCJwYWRkaW5nLWJvdHRvbSIpK20oaSwiYm9yZGVyLXRvcC13aWR0aCIpK20oaSwiYm9yZGVyLWJvdHRvbS13aWR0aCIpfTt2YXIgYz0iKD86Wy0rXT9bMC05XSpcXC4/WzAtOV0rKSIsdT0iKD86KD86XFxzKyw/XFxzKil8KD86LFxccyopKSIsaD1uZXcgUmVnRXhwKCJ0cmFuc2xhdGVcXHMqXFwoXFxzKigiK2MrIikoPzoiK3UrIigiK2MrIikpPyIrIlxccypcXCkiKSxkPW5ldyBSZWdFeHAoInJvdGF0ZVxccypcXChcXHMqKCIrYysiKSIrIlxccypcXCkiKSxwPW5ldyBSZWdFeHAoInNjYWxlXFxzKlxcKFxccyooIitjKyIpKD86Iit1KyIoIitjKyIpKT8iKyJcXHMqXFwpIik7ZnVuY3Rpb24gZih0KXtpZigibnVtYmVyIj09dHlwZW9mIHQpe3JldHVybnttaW46dCxtYXg6dH19aWYodCBpbnN0YW5jZW9mIE9iamVjdCYmIm1pbiJpbiB0JiYibWF4ImluIHQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJpbnB1dCAnIit0KyInIGNhbid0IGJlIHBhcnNlZCBhcyBhbiBSYW5nZSIpfWZ1bmN0aW9uIG0odCxlKXt2YXIgbj10LmdldFByb3BlcnR5VmFsdWUoZSk7cmV0dXJuIHBhcnNlRmxvYXQobil8fDB9dC5nZXRUcmFuc2xhdGVWYWx1ZXM9ZnVuY3Rpb24gZyh0KXt2YXIgZT1oLmV4ZWModC5hdHRyKCJ0cmFuc2Zvcm0iKSk7aWYobnVsbCE9ZSl7dmFyIG49ZVsyXTtyZXR1cm5bK2VbMV0sKyh2b2lkIDA9PT1uPzA6bildfXJldHVyblswLDBdfSx0LmdldFJvdGF0ZT1mdW5jdGlvbiBfKHQpe3ZhciBlPWQuZXhlYyh0LmF0dHIoInRyYW5zZm9ybSIpKTtyZXR1cm4gbnVsbCE9ZT8rZVsxXTowfSx0LmdldFNjYWxlVmFsdWVzPWZ1bmN0aW9uIHkodCl7dmFyIGU9cC5leGVjKHQuYXR0cigidHJhbnNmb3JtIikpO2lmKG51bGwhPWUpe3ZhciBuPWVbMV0saT1lWzJdO3JldHVyblsrbixudWxsPT1pPytuOitpXX1yZXR1cm5bMCwwXX0sdC5jbGllbnRSZWN0c092ZXJsYXA9ZnVuY3Rpb24gdih0LGUpe3JldHVybiEobi5mbG9vcih0LnJpZ2h0KTw9bi5jZWlsKGUubGVmdCkpJiYoIShuLmNlaWwodC5sZWZ0KT49bi5mbG9vcihlLnJpZ2h0KSkmJighKG4uZmxvb3IodC5ib3R0b20pPD1uLmNlaWwoZS50b3ApKSYmIShuLmNlaWwodC50b3ApPj1uLmZsb29yKGUuYm90dG9tKSkpKX0sdC5leHBhbmRSZWN0PWZ1bmN0aW9uIGIodCxlKXtyZXR1cm57bGVmdDp0LmxlZnQtZSx0b3A6dC50b3AtZSxyaWdodDp0LnJpZ2h0K2UsYm90dG9tOnQuYm90dG9tK2Usd2lkdGg6dC53aWR0aCsyKmUsaGVpZ2h0OnQuaGVpZ2h0KzIqZX19LHQuY2xpZW50UmVjdEluc2lkZT1mdW5jdGlvbiB4KHQsZSl7cmV0dXJuIG4uZmxvb3IoZS5sZWZ0KTw9bi5jZWlsKHQubGVmdCkmJm4uZmxvb3IoZS50b3ApPD1uLmNlaWwodC50b3ApJiZuLmZsb29yKHQucmlnaHQpPD1uLmNlaWwoZS5yaWdodCkmJm4uZmxvb3IodC5ib3R0b20pPD1uLmNlaWwoZS5ib3R0b20pfSx0LmludGVyc2VjdHNCQm94PWZ1bmN0aW9uIHcodCxlLG4saSl7dm9pZCAwPT09aSYmKGk9LjUpO3ZhciByPWYodCksbz1mKGUpO3JldHVybiBuLngrbi53aWR0aD49ci5taW4taSYmbi54PD1yLm1heCtpJiZuLnkrbi5oZWlnaHQ+PW8ubWluLWkmJm4ueTw9by5tYXgraX0sdC5nZXRIdG1sRWxlbWVudEFuY2VzdG9ycz1mdW5jdGlvbiBTKHQpe2Zvcih2YXIgZT1bXTt0JiZ0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ7KWUucHVzaCh0KSx0PXQucGFyZW50RWxlbWVudDtyZXR1cm4gZX0sdC5nZXRFbGVtZW50VHJhbnNmb3JtPWZ1bmN0aW9uIE0odCl7dmFyIGU9d2luZG93LmdldENvbXB1dGVkU3R5bGUodCxudWxsKTtyZXR1cm4oZnVuY3Rpb24gbih0KXtpZihudWxsPT10fHwibm9uZSI9PT10KXJldHVybiBudWxsO3ZhciBlPXQubWF0Y2goRSk7aWYobnVsbD09ZXx8ZS5sZW5ndGg8MilyZXR1cm4gbnVsbDt2YXIgbj1lWzFdLnNwbGl0KFQpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHBhcnNlRmxvYXQodCl9KSk7aWYoNiE9bi5sZW5ndGgpcmV0dXJuIG51bGw7cmV0dXJuIG59KShlLmdldFByb3BlcnR5VmFsdWUoIi13ZWJraXQtdHJhbnNmb3JtIil8fGUuZ2V0UHJvcGVydHlWYWx1ZSgiLW1vei10cmFuc2Zvcm0iKXx8ZS5nZXRQcm9wZXJ0eVZhbHVlKCItbXMtdHJhbnNmb3JtIil8fGUuZ2V0UHJvcGVydHlWYWx1ZSgiLW8tdHJhbnNmb3JtIil8fGUuZ2V0UHJvcGVydHlWYWx1ZSgidHJhbnNmb3JtIikpfTt2YXIgRT0vXm1hdHJpeFwoKFteKV0rKVwpJC8sVD0vWywgXSsvfSkoSl90KTt2YXIgUV90PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShRX3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB0eXQ9d3B0LGV5dD1KX3Qsbnl0PXdpbmRvdy5NYXRoLGl5dD1bMSwwLDAsMSwwLDBdO2Z1bmN0aW9uIHJ5dCh0LGUpe3JldHVyblt0WzBdKmVbMF0rdFsyXSplWzFdLHRbMV0qZVswXSt0WzNdKmVbMV0sdFswXSplWzJdK3RbMl0qZVszXSx0WzFdKmVbMl0rdFszXSplWzNdLHRbMF0qZVs0XSt0WzJdKmVbNV0rdFs0XSx0WzFdKmVbNF0rdFszXSplWzVdK3RbNV1dfWZ1bmN0aW9uIG95dCh0LGUpe3JldHVyblt0WzBdLHRbMV0sdFsyXSx0WzNdLHRbMF0qZVswXSt0WzJdKmVbMV0rdFs0XSx0WzFdKmVbMF0rdFszXSplWzFdK3RbNV1dfWZ1bmN0aW9uIGF5dCh0KXt2YXIgZT10WzBdKnRbM10tdFsxXSp0WzJdO2lmKDA9PT1lKXRocm93IG5ldyBFcnJvcigic2luZ3VsYXIgbWF0cml4Iik7dmFyIG49MS9lO3JldHVybltuKnRbM10sbiotdFsxXSxuKi10WzJdLG4qdFswXSxuKigtdFszXSp0WzRdK3RbMl0qdFs1XSksbioodFsxXSp0WzRdKy10WzBdKnRbNV0pXX1RX3QuaW5SYW5nZT1mdW5jdGlvbiBzeXQodCxlLG4pe3JldHVybiBueXQubWluKGUsbik8PXQmJnQ8PW55dC5tYXgoZSxuKX0sUV90LmNsYW1wPWZ1bmN0aW9uIGx5dCh0LGUsbil7cmV0dXJuIG55dC5taW4obnl0Lm1heChlLHQpLG4pfSxRX3QubWF4PWZ1bmN0aW9uIGN5dCh0LGUsbil7dmFyIGk9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHI9bnVsbD09aT9lOm4sbz1udWxsPT1pP3R5dC5tYXgodCk6dHl0Lm1heCh0LGkpO3JldHVybiB2b2lkIDAhPT1vP286cn0sUV90Lm1pbj1mdW5jdGlvbiB1eXQodCxlLG4pe3ZhciBpPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6bnVsbCxyPW51bGw9PWk/ZTpuLG89bnVsbD09aT90eXQubWluKHQpOnR5dC5taW4odCxpKTtyZXR1cm4gdm9pZCAwIT09bz9vOnJ9LFFfdC5pc05hTj1mdW5jdGlvbiBoeXQodCl7cmV0dXJuIHQhPXR9LFFfdC5pc1ZhbGlkTnVtYmVyPWZ1bmN0aW9uIGR5dCh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJnQtdDwxfSxRX3QucmFuZ2U9ZnVuY3Rpb24gcHl0KHQsZSxuKXtpZih2b2lkIDA9PT1uJiYobj0xKSwwPT09bil0aHJvdyBuZXcgRXJyb3IoInN0ZXAgY2Fubm90IGJlIDAiKTtmb3IodmFyIGk9bnl0Lm1heChueXQuY2VpbCgoZS10KS9uKSwwKSxyPVtdLG89MDtvPGk7KytvKXJbb109dCtuKm87cmV0dXJuIHJ9LFFfdC5kaXN0YW5jZVNxdWFyZWQ9ZnVuY3Rpb24gZnl0KHQsZSl7cmV0dXJuIG55dC5wb3coZS55LXQueSwyKStueXQucG93KGUueC10LngsMil9LFFfdC5kZWdyZWVzVG9SYWRpYW5zPWZ1bmN0aW9uIG15dCh0KXtyZXR1cm4gdC8zNjAqbnl0LlBJKjJ9LFFfdC53aXRoaW49ZnVuY3Rpb24gZ3l0KHQsZSl7cmV0dXJuIGUudG9wTGVmdC54PD10LngmJmUuYm90dG9tUmlnaHQueD49dC54JiZlLnRvcExlZnQueTw9dC55JiZlLmJvdHRvbVJpZ2h0Lnk+PXQueX0sUV90LmJvdW5kc0ludGVyc2VjdHM9ZnVuY3Rpb24gX3l0KHQsZSxuLGkscixvLGEscyl7cmV0dXJuIHQ8PXIrYSYmcjw9dCtuJiZlPD1vK3MmJm88PWUraX0sUV90LmdldEN1bXVsYXRpdmVUcmFuc2Zvcm09ZnVuY3Rpb24geXl0KHQpe2Zvcih2YXIgZT1leXQuZ2V0SHRtbEVsZW1lbnRBbmNlc3RvcnModCksbj1peXQsaT1udWxsLHI9MCxvPWU7cjxvLmxlbmd0aDtyKyspe3ZhciBhPW9bcl0scz1leXQuZ2V0RWxlbWVudFRyYW5zZm9ybShhKTtpZihudWxsIT1zKXt2YXIgbD1hLmNsaWVudFdpZHRoLzIsYz1hLmNsaWVudEhlaWdodC8yO249b3l0KG4sW2wsY10pLG49b3l0KG49cnl0KG4sYXl0KHMpKSxbLWwsLWNdKX12YXIgdT1hLnNjcm9sbExlZnQsaD1hLnNjcm9sbFRvcDtudWxsIT09aSYmYSE9PWl8fCh1LT1hLm9mZnNldExlZnQrYS5jbGllbnRMZWZ0LGgtPWEub2Zmc2V0VG9wK2EuY2xpZW50VG9wLGk9YS5vZmZzZXRQYXJlbnQpLG49b3l0KG4sW3UsaF0pfXJldHVybiBufSxRX3QubXVsdGlwbHlNYXRyaXg9cnl0LFFfdC5wcmVtdWx0aXBseVRyYW5zbGF0ZT1mdW5jdGlvbiB2eXQodCxlKXtyZXR1cm5bZVswXSxlWzFdLGVbMl0sZVszXSxlWzRdK3RbMF0sZVs1XSt0WzFdXX0sUV90Lm11bHRpcGx5VHJhbnNsYXRlPW95dCxRX3QuaW52ZXJ0TWF0cml4PWF5dCxRX3QuYXBwbHlUcmFuc2Zvcm09ZnVuY3Rpb24gYnl0KHQsZSl7cmV0dXJue3g6dFswXSplLngrdFsyXSplLnkrdFs0XSx5OnRbMV0qZS54K3RbM10qZS55K3RbNV19fTt2YXIgeHl0PXt9LHd5dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNy1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHd5dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFN5dD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiB0LnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj1NYXRoLmNlaWwodC5sZW5ndGgvMiksaT0wO2k8bjtpKyspZVswXS5pbnNlcnQodFtpXSk7Zm9yKGk9bjtpPHQubGVuZ3RoO2krKyllWzFdLmluc2VydCh0W2ldKX0sdH0pKCk7d3l0LlNwbGl0U3RyYXRlZ3lUcml2aWFsPVN5dDt2YXIgTXl0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7Zm9yKHQ9dC5zbGljZSgpLHRoaXMuY2hvb3NlRmlyc3RTcGxpdCh0LGUpO3QubGVuZ3RoPjA7KXRoaXMuYWRkTmV4dCh0LGUpfSx0LnByb3RvdHlwZS5jaG9vc2VGaXJzdFNwbGl0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTAsaT0wLHI9dC5sZW5ndGgtMSxvPXQubGVuZ3RoLTEsYT0xO2E8dC5sZW5ndGgtMTthKyspe3ZhciBzPXRbYV07cy5ib3VuZHMueGw+dFtyXS5ib3VuZHMueGw/cj1hOnMuYm91bmRzLnhoPHRbbl0uYm91bmRzLnhoJiYobj1hKSxzLmJvdW5kcy55bD50W29dLmJvdW5kcy55bD9vPWE6cy5ib3VuZHMueWg8dFtpXS5ib3VuZHMueWgmJihpPWEpfXZhciBsPU1hdGguYWJzKHRbbl0uYm91bmRzLnhoLXRbcl0uYm91bmRzLnhsKT5NYXRoLmFicyh0W2ldLmJvdW5kcy55aC10W29dLmJvdW5kcy55bCk/W24scl06W2ksb10sYz1sWzBdLHU9bFsxXTtjPT09dSYmKGM9MCx1PXQubGVuZ3RoLTEpLGVbMF0uaW5zZXJ0KHQuc3BsaWNlKE1hdGgubWF4KGMsdSksMSlbMF0pLGVbMV0uaW5zZXJ0KHQuc3BsaWNlKE1hdGgubWluKGMsdSksMSlbMF0pfSx0LnByb3RvdHlwZS5hZGROZXh0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPW51bGwsaT1udWxsLHI9bnVsbCxvPTA7bzx0Lmxlbmd0aDtvKyspe3ZhciBhPXRbb10scz1lWzBdLnVuaW9uQXJlYURpZmZlcmVuY2UoYS5ib3VuZHMpLGw9ZVsxXS51bmlvbkFyZWFEaWZmZXJlbmNlKGEuYm91bmRzKTsoczxpfHxudWxsPT1uKSYmKG49byxpPXMscj1lWzBdKSxsPGkmJihuPW8saT1sLHI9ZVsxXSl9ci5pbnNlcnQodC5zcGxpY2UobiwxKVswXSl9LHR9KSgpO3d5dC5TcGxpdFN0cmF0ZWd5TGluZWFyPU15dCwoZnVuY3Rpb24odCl7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTctcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZSxuPW5ldyB3eXQuU3BsaXRTdHJhdGVneUxpbmVhcjtmdW5jdGlvbiBpKHQsbixpKXt2YXIgcj0xLzAsbz0xLzA7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBzPW4oYS5ib3VuZHMsdCksbD1pKGEuYm91bmRzLHQpO3JldHVybiBudWxsIT1hLnZhbHVlP3M8cj8ocj1zLG89bCxlLlBBU1NfQU5EX09WRVJXUklURSk6cz09PXI/ZS5QQVNTOmUuRkFJTDpzPm8/ZS5GQUlMOihvPU1hdGgubWF4KGwsbyksZS5QQVNTKX19ZnVuY3Rpb24gcih0LGUpe3JldHVybiBmdW5jdGlvbihuLGkpe3JldHVybiBlKGkuYm91bmRzLHQpLWUobi5ib3VuZHMsdCl9fSEoZnVuY3Rpb24odCl7dFt0LlBBU1M9MF09IlBBU1MiLHRbdC5GQUlMPTFdPSJGQUlMIix0W3QuUEFTU19BTkRfT1ZFUldSSVRFPTJdPSJQQVNTX0FORF9PVkVSV1JJVEUifSkoZT10LlF1ZXJ5UHJlZGljYXRlUmVzdWx0fHwodC5RdWVyeVByZWRpY2F0ZVJlc3VsdD17fSkpLHQuY3JlYXRlTWluaW1pemluZ05vZGVQcmVkaWNhdGU9aSx0LmNyZWF0ZU5vZGVTb3J0PXI7dmFyIG89KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe3ZvaWQgMD09PXQmJih0PTUpLHZvaWQgMD09PWUmJihlPW4pLHRoaXMubWF4Tm9kZUNoaWxkcmVuPXQsdGhpcy5zcGxpdFN0cmF0ZWd5PWUsdGhpcy5yb290PW5ldyBhKCEwKSx0aGlzLnNpemU9MH1yZXR1cm4gdC5wcm90b3R5cGUuZ2V0Um9vdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJvb3R9LHQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5yb290PW5ldyBhKCEwKSx0aGlzLnNpemU9MH0sdC5wcm90b3R5cGUuaW5zZXJ0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXRoaXMucm9vdDshbi5sZWFmOyluPW4uc3VidHJlZSh0KTt2YXIgaT1hLnZhbHVlTm9kZSh0LGUpO2ZvcihuLmluc2VydChpKSx0aGlzLnNpemUrPTE7bi5vdmVyZmxvdyh0aGlzLm1heE5vZGVDaGlsZHJlbik7KW51bGw9PShuPW4uc3BsaXQodGhpcy5zcGxpdFN0cmF0ZWd5KSkucGFyZW50JiYodGhpcy5yb290PW4pO3JldHVybiBpfSx0LnByb3RvdHlwZS5sb2NhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucXVlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmNvbnRhaW5zKHQpfSkpfSx0LnByb3RvdHlwZS5sb2NhdGVOZWFyZXN0PWZ1bmN0aW9uKHQpe3ZhciBlPWkodCxzLmRpc3RhbmNlU3F1YXJlZFRvTmVhckVkZ2Uscy5kaXN0YW5jZVNxdWFyZWRUb0ZhckVkZ2UpO3JldHVybiB0aGlzLnF1ZXJ5Tm9kZXMoZSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC52YWx1ZX0pKX0sdC5wcm90b3R5cGUubG9jYXRlTmVhcmVzdFg9ZnVuY3Rpb24odCl7dmFyIGU9aSh0LHMuYWJzb2x1dGVEaXN0YW5jZVRvTmVhckVkZ2VYLHMuYWJzb2x1dGVEaXN0YW5jZVRvRmFyRWRnZVgpLG49dGhpcy5xdWVyeU5vZGVzKGUpO3JldHVybiBuLnNvcnQocih0LHMuYWJzb2x1dGVEaXN0YW5jZVRvTmVhckVkZ2VZKSksbi5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnZhbHVlfSkpfSx0LnByb3RvdHlwZS5sb2NhdGVOZWFyZXN0WT1mdW5jdGlvbih0KXt2YXIgZT1pKHQscy5hYnNvbHV0ZURpc3RhbmNlVG9OZWFyRWRnZVkscy5hYnNvbHV0ZURpc3RhbmNlVG9GYXJFZGdlWSksbj10aGlzLnF1ZXJ5Tm9kZXMoZSk7cmV0dXJuIG4uc29ydChyKHQscy5hYnNvbHV0ZURpc3RhbmNlVG9OZWFyRWRnZVgpKSxuLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudmFsdWV9KSl9LHQucHJvdG90eXBlLmludGVyc2VjdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5xdWVyeSgoZnVuY3Rpb24oZSl7cmV0dXJuIHMuaXNCb3VuZHNPdmVybGFwQm91bmRzKGUsdCl9KSl9LHQucHJvdG90eXBlLmludGVyc2VjdFg9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucXVlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiBzLmlzQm91bmRzT3ZlcmxhcFgoZSx0KX0pKX0sdC5wcm90b3R5cGUuaW50ZXJzZWN0WT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5xdWVyeSgoZnVuY3Rpb24oZSl7cmV0dXJuIHMuaXNCb3VuZHNPdmVybGFwWShlLHQpfSkpfSx0LnByb3RvdHlwZS5xdWVyeT1mdW5jdGlvbih0KXt2YXIgZT1bXTtpZihudWxsIT10aGlzLnJvb3QuYm91bmRzJiYhdCh0aGlzLnJvb3QuYm91bmRzKSlyZXR1cm4gZTtmb3IodmFyIG49W3RoaXMucm9vdF07bi5sZW5ndGg+MDspZm9yKHZhciBpPW4uc2hpZnQoKSxyPTA7cjxpLmVudHJpZXMubGVuZ3RoO3IrKyl7dmFyIG89aS5lbnRyaWVzW3JdO3Qoby5ib3VuZHMpJiYoaS5sZWFmP2UucHVzaChvLnZhbHVlKTpuLnB1c2gobykpfXJldHVybiBlfSx0LnByb3RvdHlwZS5xdWVyeU5vZGVzPWZ1bmN0aW9uKHQpe3ZhciBuPVtdO2lmKG51bGwhPXRoaXMucm9vdC5ib3VuZHMmJnQodGhpcy5yb290KT09PWUuRkFJTClyZXR1cm4gbjtmb3IodmFyIGk9W3RoaXMucm9vdF07aS5sZW5ndGg+MDspZm9yKHZhciByPWkuc2hpZnQoKSxvPTA7bzxyLmVudHJpZXMubGVuZ3RoO28rKyl7dmFyIGE9ci5lbnRyaWVzW29dLHM9dChhKTtzPT09ZS5QQVNTX0FORF9PVkVSV1JJVEUmJihuPVtdKSxzIT09ZS5QQVNTJiZzIT09ZS5QQVNTX0FORF9PVkVSV1JJVEV8fChyLmxlYWY/bi5wdXNoKGEpOmkucHVzaChhKSl9cmV0dXJuIG59LHR9KSgpO3QuUlRyZWU9bzt2YXIgYT0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMubGVhZj10LHRoaXMuYm91bmRzPW51bGwsdGhpcy5lbnRyaWVzPVtdLHRoaXMucGFyZW50PW51bGwsdGhpcy52YWx1ZT1udWxsfXJldHVybiB0LnZhbHVlTm9kZT1mdW5jdGlvbihlLG4pe3ZhciBpPW5ldyB0KCEwKTtyZXR1cm4gaS5ib3VuZHM9ZSxpLnZhbHVlPW4saX0sdC5wcm90b3R5cGUub3ZlcmZsb3c9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZW50cmllcy5sZW5ndGg+dH0sdC5wcm90b3R5cGUuaW5zZXJ0PWZ1bmN0aW9uKHQpe3RoaXMuZW50cmllcy5wdXNoKHQpLHQucGFyZW50PXRoaXM7Zm9yKHZhciBlPXRoaXM7bnVsbCE9ZTspZS5ib3VuZHM9cy51bmlvbkFsbChbZS5ib3VuZHMsdC5ib3VuZHNdKSxlPWUucGFyZW50O3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5lbnRyaWVzLmluZGV4T2YodCk7aWYoZT49MCl7dGhpcy5lbnRyaWVzLnNwbGljZShlLDEpO2Zvcih2YXIgbj10aGlzO251bGwhPW47KW4uYm91bmRzPXMudW5pb25BbGwobi5lbnRyaWVzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuYm91bmRzfSkpKSxuPW4ucGFyZW50fXJldHVybiB0aGlzfSx0LnByb3RvdHlwZS5zdWJ0cmVlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0xLzAsbj1udWxsLGk9MDtpPHRoaXMuZW50cmllcy5sZW5ndGg7aSsrKXt2YXIgcj10aGlzLmVudHJpZXNbaV0sbz1yLnVuaW9uQXJlYURpZmZlcmVuY2UodCk7KG88ZXx8bz09PWUmJm51bGwhPW4mJnIuZW50cmllcy5sZW5ndGg8bi5lbnRyaWVzLmxlbmd0aCkmJihuPXIpfXJldHVybiBufSx0LnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbihlKXtudWxsIT10aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQucmVtb3ZlKHRoaXMpO3ZhciBuPVtuZXcgdCh0aGlzLmxlYWYpLG5ldyB0KHRoaXMubGVhZildO2Uuc3BsaXQodGhpcy5lbnRyaWVzLG4pO3ZhciBpPW51bGwhPXRoaXMucGFyZW50P3RoaXMucGFyZW50Om5ldyB0KCExKTtyZXR1cm4gaS5pbnNlcnQoblswXSksaS5pbnNlcnQoblsxXSksaS5sZWFmPSExLGl9LHQucHJvdG90eXBlLnVuaW9uQXJlYURpZmZlcmVuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGguYWJzKHMudW5pb24odGhpcy5ib3VuZHMsdCkuYXJlYSgpLXRoaXMuYm91bmRzLmFyZWEoKSl9LHQucHJvdG90eXBlLm1heERlcHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVhZj8xOjErdGhpcy5lbnRyaWVzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQubWF4RGVwdGgoKX0pKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWF4KHQsZSl9KSl9LHR9KSgpO3QuUlRyZWVOb2RlPWE7dmFyIHM9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbixpKXt0aGlzLnhsPXQsdGhpcy55bD1lLHRoaXMueGg9bix0aGlzLnloPWksdGhpcy53aWR0aD10aGlzLnhoLXRoaXMueGwsdGhpcy5oZWlnaHQ9dGhpcy55aC10aGlzLnlsfXJldHVybiB0Lnh5d2g9ZnVuY3Rpb24oZSxuLGkscil7cmV0dXJuIG5ldyB0KGUsbixlK2ksbityKX0sdC5lbnRpdHlCb3VuZHM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0KGUueCxlLnksZS54K2Uud2lkdGgsZS55K2UuaGVpZ2h0KX0sdC5ib3VuZHM9ZnVuY3Rpb24oZSl7cmV0dXJuIHQucG9pbnRQYWlyKGUudG9wTGVmdCxlLmJvdHRvbVJpZ2h0KX0sdC5wb2ludFBhaXI9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbmV3IHQoTWF0aC5taW4oZS54LG4ueCksTWF0aC5taW4oZS55LG4ueSksTWF0aC5tYXgoZS54LG4ueCksTWF0aC5tYXgoZS55LG4ueSkpfSx0LnBvaW50cz1mdW5jdGlvbihlKXtpZihlLmxlbmd0aDwyKXRocm93IG5ldyBFcnJvcigibmVlZCBhdCBsZWFzdCAyIHBvaW50cyB0byBjcmVhdGUgYm91bmRzIik7dmFyIG49ZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lnh9KSksaT1lLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQueX0pKTtyZXR1cm4gbmV3IHQobi5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWluKHQsZSl9KSksaS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWluKHQsZSl9KSksbi5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWF4KHQsZSl9KSksaS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWF4KHQsZSl9KSkpfSx0LnVuaW9uPWZ1bmN0aW9uKGUsbil7cmV0dXJuIG5ldyB0KE1hdGgubWluKGUueGwsbi54bCksTWF0aC5taW4oZS55bCxuLnlsKSxNYXRoLm1heChlLnhoLG4ueGgpLE1hdGgubWF4KGUueWgsbi55aCkpfSx0LnVuaW9uQWxsPWZ1bmN0aW9uKGUpe3JldHVybiAwPT09KGU9ZS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10fSkpKS5sZW5ndGg/bnVsbDplLnJlZHVjZSgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC51bmlvbihlLG4pfSkpfSx0LmlzQm91bmRzT3ZlcmxhcEJvdW5kcz1mdW5jdGlvbihlLG4pe3JldHVybiB0LmlzQm91bmRzT3ZlcmxhcFgoZSxuKSYmdC5pc0JvdW5kc092ZXJsYXBZKGUsbil9LHQuaXNCb3VuZHNPdmVybGFwWD1mdW5jdGlvbih0LGUpe3JldHVybiEodC54aDxlLnhsfHx0LnhsPmUueGgpfSx0LmlzQm91bmRzT3ZlcmxhcFk9ZnVuY3Rpb24odCxlKXtyZXR1cm4hKHQueWg8ZS55bHx8dC55bD5lLnloKX0sdC5hYnNvbHV0ZURpc3RhbmNlVG9OZWFyRWRnZVg9ZnVuY3Rpb24odCxlKXt2YXIgbj10LndpZHRoLzI7cmV0dXJuIE1hdGgubWF4KE1hdGguYWJzKGUueC0odC54bCtuKSktbiwwKX0sdC5hYnNvbHV0ZURpc3RhbmNlVG9OZWFyRWRnZVk9ZnVuY3Rpb24odCxlKXt2YXIgbj10LmhlaWdodC8yO3JldHVybiBNYXRoLm1heChNYXRoLmFicyhlLnktKHQueWwrbikpLW4sMCl9LHQuYWJzb2x1dGVEaXN0YW5jZVRvRmFyRWRnZVg9ZnVuY3Rpb24oZSxuKXt2YXIgaT10LmFic29sdXRlRGlzdGFuY2VUb05lYXJFZGdlWChlLG4pO3JldHVybiAwPT09aT8wOmkrZS53aWR0aH0sdC5hYnNvbHV0ZURpc3RhbmNlVG9GYXJFZGdlWT1mdW5jdGlvbihlLG4pe3ZhciBpPXQuYWJzb2x1dGVEaXN0YW5jZVRvTmVhckVkZ2VZKGUsbik7cmV0dXJuIDA9PT1pPzA6aStlLmhlaWdodH0sdC5kaXN0YW5jZVNxdWFyZWRUb05lYXJFZGdlPWZ1bmN0aW9uKGUsbil7dmFyIGk9dC5hYnNvbHV0ZURpc3RhbmNlVG9OZWFyRWRnZVgoZSxuKSxyPXQuYWJzb2x1dGVEaXN0YW5jZVRvTmVhckVkZ2VZKGUsbik7cmV0dXJuIGkqaStyKnJ9LHQuZGlzdGFuY2VTcXVhcmVkVG9GYXJFZGdlPWZ1bmN0aW9uKGUsbil7dmFyIGk9dC5hYnNvbHV0ZURpc3RhbmNlVG9GYXJFZGdlWChlLG4pLHI9dC5hYnNvbHV0ZURpc3RhbmNlVG9GYXJFZGdlWShlLG4pO3JldHVybiBpKmkrcipyfSx0LnByb3RvdHlwZS5hcmVhPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PXRoaXMuYXJlYUNhY2hlZCYmKHRoaXMuYXJlYUNhY2hlZD0odGhpcy54aC10aGlzLnhsKSoodGhpcy55aC10aGlzLnlsKSksdGhpcy5hcmVhQ2FjaGVkfSx0LnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54bDw9dC54JiZ0aGlzLnhoPj10LngmJnRoaXMueWw8PXQueSYmdGhpcy55aD49dC55fSx0fSkoKTt0LlJUcmVlQm91bmRzPXN9KSh4eXQpO3ZhciBFeXQ9e307IShmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPXdwdCxuPUNlLmV4cG9ydHMsaT1EX3Q7dC5JU3RhY2tpbmdPcmRlcj1iZ3QubWFrZUVudW0oWyJ0b3Bkb3duIiwiYm90dG9tdXAiXSk7dmFyIHI9d2luZG93Lk1hdGg7dC5zdGFjaz1mdW5jdGlvbiBvKG4scixhLHMpe3ZvaWQgMD09PXMmJihzPSJib3R0b211cCIpO3ZhciBsPWUubWFwKCksYz1lLm1hcCgpLHU9bmV3IGkuTWFwOyJ0b3Bkb3duIj09PXMmJihuPW4uc2xpY2UoKSkucmV2ZXJzZSgpO2Zvcih2YXIgaD0wLGQ9bjtoPGQubGVuZ3RoO2grKyl7Zm9yKHZhciBwPWRbaF0sZj1uZXcgaS5NYXAsbT1wLmRhdGEoKSxnPW0ubGVuZ3RoLF89MDtfPGc7XysrKXt2YXIgeT1tW19dLHY9cih5LF8scCksYj10Lm5vcm1hbGl6ZUtleSh2KSx4PSthKHksXyxwKSx3PXZvaWQgMCxTPXg+PTA/bDpjO1MuaGFzKGIpPyh3PVMuZ2V0KGIpLFMuc2V0KGIsdyt4KSk6KHc9MCxTLnNldChiLHgpKSxmLnNldChiLHtvZmZzZXQ6dyx2YWx1ZTp4LGF4aXNWYWx1ZTp2LG9yaWdpbmFsRGF0dW06eSxvcmlnaW5hbERhdGFzZXQ6cCxvcmlnaW5hbEluZGV4Ol99KX11LnNldChwLGYpfXJldHVybiB1fSx0LnN0YWNrZWRFeHRlbnRzPWZ1bmN0aW9uIGEodCl7dmFyIGU9bmV3IGkuTWFwLG49bmV3IGkuTWFwO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuZm9yRWFjaCgoZnVuY3Rpb24odCxyKXt2YXIgbz10Lm9mZnNldCt0LnZhbHVlLGE9aS5NYXRoLm1heChbbyx0Lm9mZnNldF0sdC5vZmZzZXQpLHM9aS5NYXRoLm1pbihbbyx0Lm9mZnNldF0sdC5vZmZzZXQpLGw9dC5heGlzVmFsdWU7ZS5oYXMocik/ZS5nZXQocikuZXh0ZW50PGEmJmUuc2V0KHIse2V4dGVudDphLGF4aXNWYWx1ZTpsLHN0YWNrZWREYXR1bTp0fSk6ZS5zZXQocix7ZXh0ZW50OmEsYXhpc1ZhbHVlOmwsc3RhY2tlZERhdHVtOnR9KSxuLmhhcyhyKT9uLmdldChyKS5leHRlbnQ+cyYmbi5zZXQocix7ZXh0ZW50OnMsYXhpc1ZhbHVlOmwsc3RhY2tlZERhdHVtOnR9KTpuLnNldChyLHtleHRlbnQ6cyxheGlzVmFsdWU6bCxzdGFja2VkRGF0dW06dH0pfSkpfSkpLHttYXhpbXVtRXh0ZW50czplLG1pbmltdW1FeHRlbnRzOm59fSx0LnN0YWNrZWRFeHRlbnQ9ZnVuY3Rpb24gcyhlLG4sbyl7dmFyIGE9W107ZS5mb3JFYWNoKChmdW5jdGlvbihlLGkpe2Zvcih2YXIgcj1pLmRhdGEoKSxzPXIubGVuZ3RoLGw9MDtsPHM7bCsrKXt2YXIgYz1yW2xdO2lmKG51bGw9PW98fG8oYyxsLGkpKXt2YXIgdT1lLmdldCh0Lm5vcm1hbGl6ZUtleShuKGMsbCxpKSkpO2EucHVzaCh1LnZhbHVlK3Uub2Zmc2V0KX19fSkpO3ZhciBzPWkuTWF0aC5tYXgoYSwwKSxsPWkuTWF0aC5taW4oYSwwKTtyZXR1cm5bci5taW4obCwwKSxyLm1heCgwLHMpXX0sdC5ub3JtYWxpemVLZXk9bi5tZW1vaXplKChmdW5jdGlvbih0KXtyZXR1cm4gU3RyaW5nKHQpfSkpfSkoRXl0KTt2YXIgVHl0PXt9LEN5dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KEN5dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQ3l0LlNIT1dfV0FSTklOR1M9ITAsQ3l0LkFERF9USVRMRV9FTEVNRU5UUz0hMCwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KFR5dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEF5dD1DeXQ7ZnVuY3Rpb24ga3l0KHQpe0F5dC5TSE9XX1dBUk5JTkdTJiZjb25zb2xlLndhcm4odCl9ZnVuY3Rpb24gTHl0KHQsZSl7Zm9yKHZhciBuPVtdLGk9MjtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKW5baS0yXT1hcmd1bWVudHNbaV07cmV0dXJuIDA9PT1lPyh0KG4pLC0xKTp3aW5kb3cuc2V0VGltZW91dCh0LGUsbil9VHl0Lndhcm49a3l0LFR5dC5zZXRUaW1lb3V0PUx5dCxUeXQuZGVib3VuY2U9ZnVuY3Rpb24gUHl0KHQsZSxuKXt2YXIgaT1udWxsLHI9W10sbz1mdW5jdGlvbigpe2UuYXBwbHkobixyKX07cmV0dXJuIGZ1bmN0aW9uKCl7cj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLGNsZWFyVGltZW91dChpKSxpPUx5dChvLHQpfX0sVHl0LmRlcHJlY2F0ZWQ9ZnVuY3Rpb24gTnl0KHQsZSxuKXt2b2lkIDA9PT1uJiYobj0iIiksa3l0KCJNZXRob2QgIit0KyIgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiB2ZXJzaW9uICIrZSsiLiBQbGVhc2UgcmVmZXIgdG8gdGhlIHJlbGVhc2Ugbm90ZXMuICIrbil9O3ZhciBJeXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTctcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEl5dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFJ5dD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSxuKXt0aGlzLmVudHJ5SW5kZXg9dCx0aGlzLmV4aXRJbmRleD10LHRoaXMubWluSW5kZXg9dCx0aGlzLm1heEluZGV4PXQsdGhpcy5idWNrZXRWYWx1ZT1lLHRoaXMubWluVmFsdWU9bix0aGlzLm1heFZhbHVlPW59cmV0dXJuIHQucHJvdG90eXBlLmlzSW5CdWNrZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PXRoaXMuYnVja2V0VmFsdWV9LHQucHJvdG90eXBlLmFkZFRvQnVja2V0PWZ1bmN0aW9uKHQsZSl7dDx0aGlzLm1pblZhbHVlJiYodGhpcy5taW5WYWx1ZT10LHRoaXMubWluSW5kZXg9ZSksdD50aGlzLm1heFZhbHVlJiYodGhpcy5tYXhWYWx1ZT10LHRoaXMubWF4SW5kZXg9ZSksdGhpcy5leGl0SW5kZXg9ZX0sdC5wcm90b3R5cGUuZ2V0VW5pcXVlSW5kaWNlcz1mdW5jdGlvbigpe3ZhciB0PVt0aGlzLmVudHJ5SW5kZXgsdGhpcy5tYXhJbmRleCx0aGlzLm1pbkluZGV4LHRoaXMuZXhpdEluZGV4XTtyZXR1cm4gdC5maWx0ZXIoKGZ1bmN0aW9uKGUsbil7cmV0dXJuIDA9PW58fGUhPXRbbi0xXX0pKX0sdH0pKCk7SXl0LkJ1Y2tldD1SeXQ7dmFyIE95dD17fSx6eXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh6eXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBEeXQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpeyJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuU2V0P3RoaXMuX2VzNlNldD1uZXcgd2luZG93LlNldDp0aGlzLl92YWx1ZXM9W10sdGhpcy5zaXplPTB9cmV0dXJuIHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dGhpcy5fZXM2U2V0Pyh0aGlzLl9lczZTZXQuYWRkKHQpLHRoaXMuc2l6ZT10aGlzLl9lczZTZXQuc2l6ZSx0aGlzKToodGhpcy5oYXModCl8fCh0aGlzLl92YWx1ZXMucHVzaCh0KSx0aGlzLnNpemU9dGhpcy5fdmFsdWVzLmxlbmd0aCksdGhpcyl9LHQucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbih0KXtpZihudWxsIT10aGlzLl9lczZTZXQpe3ZhciBlPXRoaXMuX2VzNlNldC5kZWxldGUodCk7cmV0dXJuIHRoaXMuc2l6ZT10aGlzLl9lczZTZXQuc2l6ZSxlfXZhciBuPXRoaXMuX3ZhbHVlcy5pbmRleE9mKHQpO3JldHVybi0xIT09biYmKHRoaXMuX3ZhbHVlcy5zcGxpY2UobiwxKSx0aGlzLnNpemU9dGhpcy5fdmFsdWVzLmxlbmd0aCwhMCl9LHQucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dGhpcy5fZXM2U2V0P3RoaXMuX2VzNlNldC5oYXModCk6LTEhPT10aGlzLl92YWx1ZXMuaW5kZXhPZih0KX0sdC5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXM7aWYobnVsbD09dGhpcy5fZXM2U2V0KXRoaXMuX3ZhbHVlcy5mb3JFYWNoKChmdW5jdGlvbihpKXt0LmNhbGwoZSxpLGksbil9KSk7ZWxzZXt0aGlzLl9lczZTZXQuZm9yRWFjaCgoZnVuY3Rpb24oaSxyKXtyZXR1cm4gdC5jYWxsKGUsaSxyLG4pfSksZSl9fSx0fSkoKTt6eXQuU2V0PUR5dCwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KE95dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEJ5dD1CTyxIeXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBCeXQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuY2FsbENhbGxiYWNrcz1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLGU9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuXT1hcmd1bWVudHNbbl07cmV0dXJuIHRoaXMuZm9yRWFjaCgoZnVuY3Rpb24obil7bi5hcHBseSh0LGUpfSkpLHRoaXN9LGV9KSh6eXQuU2V0KTtPeXQuQ2FsbGJhY2tTZXQ9SHl0O3ZhciBGeXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ5dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFZ5dD14eXQsVXl0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLl9lbnRpdGllcz1bXSx0aGlzLl9ydHJlZT1uZXcgVnl0LlJUcmVlfXJldHVybiB0LnByb3RvdHlwZS5hZGRBbGw9ZnVuY3Rpb24odCxlLG4pe2lmKHRoaXMuX2VudGl0aWVzPXRoaXMuX2VudGl0aWVzLmNvbmNhdCh0KSx2b2lkIDAhPT1uKWZvcih2YXIgaT1WeXQuUlRyZWVCb3VuZHMuYm91bmRzKG4pLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG89Vnl0LlJUcmVlQm91bmRzLmVudGl0eUJvdW5kcyhlKGE9dFtyXSkpO1Z5dC5SVHJlZUJvdW5kcy5pc0JvdW5kc092ZXJsYXBCb3VuZHMoaSxvKSYmdGhpcy5fcnRyZWUuaW5zZXJ0KG8sYSl9ZWxzZSBmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgYTtvPVZ5dC5SVHJlZUJvdW5kcy5lbnRpdHlCb3VuZHMoZShhPXRbcl0pKTt0aGlzLl9ydHJlZS5pbnNlcnQobyxhKX19LHQucHJvdG90eXBlLmVudGl0eU5lYXJlc3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3J0cmVlLmxvY2F0ZU5lYXJlc3QodCkucG9wKCl9LHQucHJvdG90eXBlLmVudGl0eU5lYXJlc3RYPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9ydHJlZS5sb2NhdGVOZWFyZXN0WCh0KS5wb3AoKX0sdC5wcm90b3R5cGUuZW50aXR5TmVhcmVzdFk9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3J0cmVlLmxvY2F0ZU5lYXJlc3RZKHQpLnBvcCgpfSx0LnByb3RvdHlwZS5lbnRpdGllc0luQm91bmRzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9ydHJlZS5pbnRlcnNlY3QoVnl0LlJUcmVlQm91bmRzLmVudGl0eUJvdW5kcyh0KSl9LHQucHJvdG90eXBlLmVudGl0aWVzSW5YQm91bmRzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9ydHJlZS5pbnRlcnNlY3RYKFZ5dC5SVHJlZUJvdW5kcy5lbnRpdHlCb3VuZHModCkpfSx0LnByb3RvdHlwZS5lbnRpdGllc0luWUJvdW5kcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcnRyZWUuaW50ZXJzZWN0WShWeXQuUlRyZWVCb3VuZHMuZW50aXR5Qm91bmRzKHQpKX0sdC5wcm90b3R5cGUuZW50aXRpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZW50aXRpZXN9LHR9KSgpO0Z5dC5FbnRpdHlTdG9yZT1VeXQ7dmFyIGp5dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoanl0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgR3l0PVFfdCxXeXQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpeyJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuTWFwP3RoaXMuX2VzNk1hcD1uZXcgd2luZG93Lk1hcDp0aGlzLl9rZXlWYWx1ZVBhaXJzPVtdfXJldHVybiB0LnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxlKXtpZihHeXQuaXNOYU4odCkpdGhyb3cgbmV3IEVycm9yKCJOYU4gbWF5IG5vdCBiZSB1c2VkIGFzIGEga2V5IHRvIHRoZSBNYXAiKTtpZihudWxsIT10aGlzLl9lczZNYXApcmV0dXJuIHRoaXMuX2VzNk1hcC5zZXQodCxlKSx0aGlzO2Zvcih2YXIgbj0wO248dGhpcy5fa2V5VmFsdWVQYWlycy5sZW5ndGg7bisrKWlmKHRoaXMuX2tleVZhbHVlUGFpcnNbbl0ua2V5PT09dClyZXR1cm4gdGhpcy5fa2V5VmFsdWVQYWlyc1tuXS52YWx1ZT1lLHRoaXM7cmV0dXJuIHRoaXMuX2tleVZhbHVlUGFpcnMucHVzaCh7a2V5OnQsdmFsdWU6ZX0pLHRoaXN9LHQucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXtpZihudWxsIT10aGlzLl9lczZNYXApcmV0dXJuIHRoaXMuX2VzNk1hcC5nZXQodCk7Zm9yKHZhciBlPTA7ZTx0aGlzLl9rZXlWYWx1ZVBhaXJzLmxlbmd0aDtlKyspaWYodGhpcy5fa2V5VmFsdWVQYWlyc1tlXS5rZXk9PT10KXJldHVybiB0aGlzLl9rZXlWYWx1ZVBhaXJzW2VdLnZhbHVlfSx0LnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7aWYobnVsbCE9dGhpcy5fZXM2TWFwKXJldHVybiB0aGlzLl9lczZNYXAuaGFzKHQpO2Zvcih2YXIgZT0wO2U8dGhpcy5fa2V5VmFsdWVQYWlycy5sZW5ndGg7ZSsrKWlmKHRoaXMuX2tleVZhbHVlUGFpcnNbZV0ua2V5PT09dClyZXR1cm4hMDtyZXR1cm4hMX0sdC5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXM7aWYobnVsbD09dGhpcy5fZXM2TWFwKXRoaXMuX2tleVZhbHVlUGFpcnMuZm9yRWFjaCgoZnVuY3Rpb24oaSl7dC5jYWxsKGUsaS52YWx1ZSxpLmtleSxuKX0pKTtlbHNle3RoaXMuX2VzNk1hcC5mb3JFYWNoKChmdW5jdGlvbihpLHIpe3JldHVybiB0LmNhbGwoZSxpLHIsbil9KSxlKX19LHQucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbih0KXtpZihudWxsIT10aGlzLl9lczZNYXApcmV0dXJuIHRoaXMuX2VzNk1hcC5kZWxldGUodCk7Zm9yKHZhciBlPTA7ZTx0aGlzLl9rZXlWYWx1ZVBhaXJzLmxlbmd0aDtlKyspaWYodGhpcy5fa2V5VmFsdWVQYWlyc1tlXS5rZXk9PT10KXJldHVybiB0aGlzLl9rZXlWYWx1ZVBhaXJzLnNwbGljZShlLDEpLCEwO3JldHVybiExfSx0fSkoKTtqeXQuTWFwPVd5dDt2YXIgcXl0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE3LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShxeXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHF5dC5hc3NpZ249ZnVuY3Rpb24gWXl0KCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO2Zvcih2YXIgbj17fSxpPTAscj10O2k8ci5sZW5ndGg7aSsrKWZvcih2YXIgbz1yW2ldLGE9T2JqZWN0LmtleXMobykscz0wLGw9YTtzPGwubGVuZ3RoO3MrKyl7dmFyIGM9bFtzXTtuW2NdPW9bY119cmV0dXJuIG59O3ZhciBYeXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTctcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KFh5dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyICR5dD1EX3QsS3l0PSJfX1Bsb3R0YWJsZV9DbGllbnRUcmFuc2xhdG9yIjtYeXQuZ2V0VHJhbnNsYXRvcj1mdW5jdGlvbiBaeXQodCl7dmFyIGU9dC5yb290KCkucm9vdEVsZW1lbnQoKS5ub2RlKCksbj1lW0t5dF07cmV0dXJuIG51bGw9PW4mJihuPW5ldyBKeXQoZSksZVtLeXRdPW4pLG59O3ZhciBKeXQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLl9yb290RWxlbWVudD10fXJldHVybiB0LnByb3RvdHlwZS5jb21wdXRlUG9zaXRpb249ZnVuY3Rpb24odCxlKXt2YXIgbj17eDp0LHk6ZX0saT0keXQuTWF0aC5nZXRDdW11bGF0aXZlVHJhbnNmb3JtKHRoaXMuX3Jvb3RFbGVtZW50KTtyZXR1cm4gbnVsbD09aT9uOiR5dC5NYXRoLmFwcGx5VHJhbnNmb3JtKGksbil9LHQuaXNFdmVudEluc2lkZT1mdW5jdGlvbih0LGUpe3JldHVybiAkeXQuRE9NLmNvbnRhaW5zKHQucm9vdCgpLnJvb3RFbGVtZW50KCkubm9kZSgpLGUudGFyZ2V0KX0sdH0pKCk7WHl0LlRyYW5zbGF0b3I9Snl0LChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPO3QuQXJyYXk9Ql90LHQuQ29sb3I9V190LHQuRE9NPUpfdCx0Lk1hdGg9UV90LHQuUlRyZWU9eHl0LHQuU3RhY2tpbmc9RXl0LHQuV2luZG93PVR5dCxlLl9fZXhwb3J0U3RhcihJeXQsdCksZS5fX2V4cG9ydFN0YXIoT3l0LHQpLGUuX19leHBvcnRTdGFyKF9ndCx0KSxlLl9fZXhwb3J0U3RhcihGeXQsdCksZS5fX2V4cG9ydFN0YXIoanl0LHQpLGUuX19leHBvcnRTdGFyKHF5dCx0KSxlLl9fZXhwb3J0U3Rhcih6eXQsdCksZS5fX2V4cG9ydFN0YXIoWHl0LHQpfSkoRF90KTt2YXIgUXl0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShReXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB0dnQ9RF90LGV2dD16X3QsbnZ0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe2V2dC5mbHVzaCgpfSx0fSkoKTtReXQuSW1tZWRpYXRlPW52dDt2YXIgaXZ0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe3R2dC5ET00ucmVxdWVzdEFuaW1hdGlvbkZyYW1lUG9seWZpbGwoZXZ0LmZsdXNoKX0sdH0pKCk7UXl0LkFuaW1hdGlvbkZyYW1lPWl2dDt2YXIgcnZ0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLl90aW1lb3V0TXNlYz10dnQuRE9NLlNDUkVFTl9SRUZSRVNIX1JBVEVfTUlMTElTRUNPTkRTfXJldHVybiB0LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGV2dC5mbHVzaCx0aGlzLl90aW1lb3V0TXNlYyl9LHR9KSgpO1F5dC5UaW1lb3V0PXJ2dCwoZnVuY3Rpb24odCl7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZT1EX3Qsbj1iZ3QsaT1ReXQscj1uZXcgZS5TZXQsbz1uZXcgZS5TZXQsYT0hMSxzPSExO3QuUG9saWN5PW4ubWFrZUVudW0oWyJpbW1lZGlhdGUiLCJhbmltYXRpb25GcmFtZSIsInRpbWVvdXQiXSk7dmFyIGw9bmV3IGkuQW5pbWF0aW9uRnJhbWU7ZnVuY3Rpb24gYyh0KXtvLmFkZCh0KSxyLmFkZCh0KSx1KCl9ZnVuY3Rpb24gdSgpe2F8fChhPSEwLGwucmVuZGVyKCkpfXQucmVuZGVyUG9saWN5PWZ1bmN0aW9uIGgobil7aWYobnVsbD09bilyZXR1cm4gbDtzd2l0Y2gobil7Y2FzZSB0LlBvbGljeS5pbW1lZGlhdGU6bD1uZXcgaS5JbW1lZGlhdGU7YnJlYWs7Y2FzZSB0LlBvbGljeS5hbmltYXRpb25GcmFtZTpsPW5ldyBpLkFuaW1hdGlvbkZyYW1lO2JyZWFrO2Nhc2UgdC5Qb2xpY3kudGltZW91dDpsPW5ldyBpLlRpbWVvdXQ7YnJlYWs7ZGVmYXVsdDplLldpbmRvdy53YXJuKCJVbnJlY29nbml6ZWQgcmVuZGVyUG9saWN5OiAiK24pfX0sdC5yZWdpc3RlclRvUmVuZGVyPWZ1bmN0aW9uIGQodCl7cyYmZS5XaW5kb3cud2FybigiUmVnaXN0ZXJlZCB0byByZW5kZXIgd2hpbGUgb3RoZXIgY29tcG9uZW50cyBhcmUgZmx1c2hpbmc6IHJlcXVlc3QgbWF5IGJlIGlnbm9yZWQiKSxyLmFkZCh0KSx1KCl9LHQucmVnaXN0ZXJUb0NvbXB1dGVMYXlvdXRBbmRSZW5kZXI9Yyx0LnJlZ2lzdGVyVG9Db21wdXRlTGF5b3V0PWZ1bmN0aW9uIHAodCl7Yyh0KX0sdC5mbHVzaD1mdW5jdGlvbiBmKCl7aWYoYSl7by5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jb21wdXRlTGF5b3V0KCl9KSksci5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZW5kZXIoKX0pKSxzPSEwO3ZhciB0PW5ldyBlLlNldDtyLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RyeXtlLnJlbmRlckltbWVkaWF0ZWx5KCl9Y2F0Y2gobil7d2luZG93LnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dGhyb3cgbn0pLDApLHQuYWRkKGUpfX0pKSxvPW5ldyBlLlNldCxyPXQsYT0hMSxzPSExfX19KSh6X3QpLAovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoT190LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgb3Z0PXdwdCxhdnQ9el90LHN2dD1EX3QsbHZ0PUNlLmV4cG9ydHMsY3Z0PV9ndCx1dnQ9Ymd0O09fdC5YQWxpZ25tZW50PXV2dC5tYWtlRW51bShbImxlZnQiLCJjZW50ZXIiLCJyaWdodCJdKSxPX3QuWUFsaWdubWVudD11dnQubWFrZUVudW0oWyJ0b3AiLCJjZW50ZXIiLCJib3R0b20iXSk7dmFyIGh2dD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dGhpcy5fb3ZlcmZsb3dIaWRkZW49ITEsdGhpcy5fb3JpZ2luPXt4OjAseTowfSx0aGlzLl94QWxpZ25tZW50PSJsZWZ0Iix0aGlzLl95QWxpZ25tZW50PSJ0b3AiLHRoaXMuX2lzU2V0dXA9ITEsdGhpcy5faXNBbmNob3JlZD0hMSx0aGlzLl9jc3NDbGFzc2VzPW5ldyBzdnQuU2V0LHRoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9vbkFuY2hvckNhbGxiYWNrcz1uZXcgc3Z0LkNhbGxiYWNrU2V0LHRoaXMuX29uRGV0YWNoQ2FsbGJhY2tzPW5ldyBzdnQuQ2FsbGJhY2tTZXQsdGhpcy5fY3NzQ2xhc3Nlcy5hZGQoImNvbXBvbmVudCIpfXJldHVybiB0LnByb3RvdHlwZS5hbmNob3I9ZnVuY3Rpb24odCl7aWYodD1jdnQuY29lcmNlRXh0ZXJuYWxEMyh0KSx0aGlzLl9kZXN0cm95ZWQpdGhyb3cgbmV3IEVycm9yKCJDYW4ndCByZXVzZSBkZXN0cm95KCktZWQgQ29tcG9uZW50cyEiKTtyZXR1cm4gdGhpcy5pc1Jvb3QoKSYmKHRoaXMuX3Jvb3RFbGVtZW50PXQsdGhpcy5fcm9vdEVsZW1lbnQuY2xhc3NlZCgicGxvdHRhYmxlIiwhMCkpLG51bGwhPXRoaXMuX2VsZW1lbnQ/dC5ub2RlKCkuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudC5ub2RlKCkpOih0aGlzLl9lbGVtZW50PXQuYXBwZW5kKCJkaXYiKSx0aGlzLl9zZXR1cCgpKSx0aGlzLl9pc0FuY2hvcmVkPSEwLHRoaXMuX29uQW5jaG9yQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcyksdGhpc30sdC5wcm90b3R5cGUub25BbmNob3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2lzQW5jaG9yZWQmJnQodGhpcyksdGhpcy5fb25BbmNob3JDYWxsYmFja3MuYWRkKHQpLHRoaXN9LHQucHJvdG90eXBlLm9mZkFuY2hvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fb25BbmNob3JDYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LHQucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5faXNTZXR1cHx8KHRoaXMuX2Nzc0NsYXNzZXMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dC5fZWxlbWVudC5jbGFzc2VkKGUsITApfSkpLHRoaXMuX2Nzc0NsYXNzZXM9bmV3IHN2dC5TZXQsdGhpcy5fYmFja2dyb3VuZENvbnRhaW5lcj10aGlzLl9lbGVtZW50LmFwcGVuZCgic3ZnIikuY2xhc3NlZCgiYmFja2dyb3VuZC1jb250YWluZXIiLCEwKSx0aGlzLl9jb250ZW50PXRoaXMuX2VsZW1lbnQuYXBwZW5kKCJzdmciKS5jbGFzc2VkKCJjb250ZW50IiwhMCksdGhpcy5fZm9yZWdyb3VuZENvbnRhaW5lcj10aGlzLl9lbGVtZW50LmFwcGVuZCgic3ZnIikuY2xhc3NlZCgiZm9yZWdyb3VuZC1jb250YWluZXIiLCEwKSx0aGlzLl9jb250ZW50LmNsYXNzZWQodGhpcy5fb3ZlcmZsb3dIaWRkZW4/ImNvbXBvbmVudC1vdmVyZmxvdy1oaWRkZW4iOiJjb21wb25lbnQtb3ZlcmZsb3ctdmlzaWJsZSIsITApLHRoaXMuX2lzU2V0dXA9ITApfSx0LnByb3RvdHlwZS5yZXF1ZXN0ZWRTcGFjZT1mdW5jdGlvbih0LGUpe3JldHVybnttaW5XaWR0aDowLG1pbkhlaWdodDowfX0sdC5wcm90b3R5cGUuY29tcHV0ZUxheW91dD1mdW5jdGlvbihlLG4saSl7aWYobnVsbD09ZXx8bnVsbD09bnx8bnVsbD09aSl7aWYobnVsbD09dGhpcy5fZWxlbWVudCl0aHJvdyBuZXcgRXJyb3IoImFuY2hvcigpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBjb21wdXRlTGF5b3V0KCkiKTtpZihudWxsPT10aGlzLl9yb290RWxlbWVudCl0aHJvdyBuZXcgRXJyb3IoIm51bGwgYXJndW1lbnRzIGNhbm5vdCBiZSBwYXNzZWQgdG8gY29tcHV0ZUxheW91dCgpIG9uIGEgbm9uLXJvb3QsIHVuYW5jaG9yZWQgbm9kZSIpO2U9e3g6MCx5OjB9O3ZhciByPXRoaXMuX3Jvb3RFbGVtZW50Lm5vZGUoKTtuPXN2dC5ET00uZWxlbWVudFdpZHRoKHIpLGk9c3Z0LkRPTS5lbGVtZW50SGVpZ2h0KHIpfXZhciBvPXRoaXMuX3NpemVGcm9tT2ZmZXIobixpKSxhPW8uaGVpZ2h0LHM9by53aWR0aDtyZXR1cm4gdGhpcy5zZXRCb3VuZHMocyxhLGUueCsobi1zKSp0Ll94QWxpZ25Ub1Byb3BvcnRpb25bdGhpcy5feEFsaWdubWVudF0sZS55KyhpLWEpKnQuX3lBbGlnblRvUHJvcG9ydGlvblt0aGlzLl95QWxpZ25tZW50XSksdGhpc30sdC5wcm90b3R5cGUuc2V0Qm91bmRzPWZ1bmN0aW9uKHQsZSxuLGkpe3JldHVybiB2b2lkIDA9PT1uJiYobj0wKSx2b2lkIDA9PT1pJiYoaT0wKSx0aGlzLl93aWR0aD10LHRoaXMuX2hlaWdodD1lLHRoaXMuX29yaWdpbj17eDpuLHk6aX0sbnVsbCE9dGhpcy5fZWxlbWVudCYmdGhpcy5fZWxlbWVudC5zdHlsZXMoe2xlZnQ6bisicHgiLGhlaWdodDplKyJweCIsdG9wOmkrInB4Iix3aWR0aDp0KyJweCJ9KSxudWxsIT10aGlzLl9yZXNpemVIYW5kbGVyJiZ0aGlzLl9yZXNpemVIYW5kbGVyKHt3aWR0aDp0LGhlaWdodDplfSksdGhpc30sdC5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXI9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLnJlcXVlc3RlZFNwYWNlKHQsZSk7cmV0dXJue3dpZHRoOnRoaXMuZml4ZWRXaWR0aCgpP01hdGgubWluKHQsbi5taW5XaWR0aCk6dCxoZWlnaHQ6dGhpcy5maXhlZEhlaWdodCgpP01hdGgubWluKGUsbi5taW5IZWlnaHQpOmV9fSx0LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNBbmNob3JlZCYmdGhpcy5faXNTZXR1cCYmdGhpcy53aWR0aCgpPj0wJiZ0aGlzLmhlaWdodCgpPj0wJiZhdnQucmVnaXN0ZXJUb1JlbmRlcih0aGlzKSx0aGlzfSx0LnByb3RvdHlwZS5yZW5kZXJMb3dQcmlvcml0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJlbmRlcigpfSx0LnByb3RvdHlwZS5fc2NoZWR1bGVDb21wdXRlTGF5b3V0PWZ1bmN0aW9uKCl7dGhpcy5faXNBbmNob3JlZCYmdGhpcy5faXNTZXR1cCYmYXZ0LnJlZ2lzdGVyVG9Db21wdXRlTGF5b3V0QW5kUmVuZGVyKHRoaXMpfSx0LnByb3RvdHlwZS5vblJlc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmVzaXplSGFuZGxlcj10LHRoaXN9LHQucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLnJlZHJhdz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9pc0FuY2hvcmVkJiZ0aGlzLl9pc1NldHVwJiYodGhpcy5pc1Jvb3QoKT90aGlzLl9zY2hlZHVsZUNvbXB1dGVMYXlvdXQoKTp0aGlzLnBhcmVudCgpLnJlZHJhdygpKSx0aGlzfSx0LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXt9LHQucHJvdG90eXBlLnJlbmRlclRvPWZ1bmN0aW9uKHQpe2lmKHRoaXMuZGV0YWNoKCksbnVsbCE9dCl7dmFyIGU9dm9pZCAwO2lmKCEoZT0ic3RyaW5nIj09dHlwZW9mIHR8fGx2dC5pc0VsZW1lbnQodCk/b3Z0LnNlbGVjdCh0KTpjdnQuY29lcmNlRXh0ZXJuYWxEMyh0KSkubm9kZSgpfHxudWxsPT1lLm5vZGUoKS5ub2RlTmFtZSl0aHJvdyBuZXcgRXJyb3IoIlBsb3R0YWJsZSByZXF1aXJlcyBhIHZhbGlkIEVsZW1lbnQgdG8gcmVuZGVyVG8iKTtpZigic3ZnIj09PWUubm9kZSgpLm5vZGVOYW1lKXRocm93IG5ldyBFcnJvcigiUGxvdHRhYmxlIDMueCBhbmQgbGF0ZXIgY2FuIG9ubHkgcmVuZGVyVG8gYW4gSFRNTCBjb21wb25lbnQ7IHBhc3MgYSBkaXYgaW5zdGVhZCEiKTt0aGlzLmFuY2hvcihlKX1pZihudWxsPT10aGlzLl9lbGVtZW50KXRocm93IG5ldyBFcnJvcigiSWYgYSBDb21wb25lbnQgaGFzIG5ldmVyIGJlZW4gcmVuZGVyZWQgYmVmb3JlLCB0aGVuIHJlbmRlclRvIG11c3QgYmUgZ2l2ZW4gYSBub2RlIHRvIHJlbmRlciB0bywgb3IgYSBkMy5TZWxlY3Rpb24sIG9yIGEgc2VsZWN0b3Igc3RyaW5nIik7cmV0dXJuIGF2dC5yZWdpc3RlclRvQ29tcHV0ZUxheW91dEFuZFJlbmRlcih0aGlzKSxhdnQuZmx1c2goKSx0aGlzfSx0LnByb3RvdHlwZS54QWxpZ25tZW50PWZ1bmN0aW9uKGUpe2lmKG51bGw9PWUpcmV0dXJuIHRoaXMuX3hBbGlnbm1lbnQ7aWYoZT1lLnRvTG93ZXJDYXNlKCksbnVsbD09dC5feEFsaWduVG9Qcm9wb3J0aW9uW2VdKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgYWxpZ25tZW50OiAiK2UpO3JldHVybiB0aGlzLl94QWxpZ25tZW50PWUsdGhpcy5yZWRyYXcoKSx0aGlzfSx0LnByb3RvdHlwZS55QWxpZ25tZW50PWZ1bmN0aW9uKGUpe2lmKG51bGw9PWUpcmV0dXJuIHRoaXMuX3lBbGlnbm1lbnQ7aWYoZT1lLnRvTG93ZXJDYXNlKCksbnVsbD09dC5feUFsaWduVG9Qcm9wb3J0aW9uW2VdKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgYWxpZ25tZW50OiAiK2UpO3JldHVybiB0aGlzLl95QWxpZ25tZW50PWUsdGhpcy5yZWRyYXcoKSx0aGlzfSx0LnByb3RvdHlwZS5oYXNDbGFzcz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dCYmKG51bGw9PXRoaXMuX2VsZW1lbnQ/dGhpcy5fY3NzQ2xhc3Nlcy5oYXModCk6dGhpcy5fZWxlbWVudC5jbGFzc2VkKHQpKX0sdC5wcm90b3R5cGUuYWRkQ2xhc3M9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR8fChudWxsPT10aGlzLl9lbGVtZW50P3RoaXMuX2Nzc0NsYXNzZXMuYWRkKHQpOnRoaXMuX2VsZW1lbnQuY2xhc3NlZCh0LCEwKSksdGhpc30sdC5wcm90b3R5cGUucmVtb3ZlQ2xhc3M9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR8fChudWxsPT10aGlzLl9lbGVtZW50P3RoaXMuX2Nzc0NsYXNzZXMuZGVsZXRlKHQpOnRoaXMuX2VsZW1lbnQuY2xhc3NlZCh0LCExKSksdGhpc30sdC5wcm90b3R5cGUuZml4ZWRXaWR0aD1mdW5jdGlvbigpe3JldHVybiExfSx0LnByb3RvdHlwZS5maXhlZEhlaWdodD1mdW5jdGlvbigpe3JldHVybiExfSx0LnByb3RvdHlwZS5kZXRhY2g9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQobnVsbCksdGhpcy5faXNBbmNob3JlZCYmdGhpcy5fZWxlbWVudC5yZW1vdmUoKSx0aGlzLl9pc0FuY2hvcmVkPSExLHRoaXMuX29uRGV0YWNoQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcyksdGhpc30sdC5wcm90b3R5cGUub25EZXRhY2g9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX29uRGV0YWNoQ2FsbGJhY2tzLmFkZCh0KSx0aGlzfSx0LnByb3RvdHlwZS5vZmZEZXRhY2g9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX29uRGV0YWNoQ2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSx0LnByb3RvdHlwZS5wYXJlbnQ9ZnVuY3Rpb24odCl7aWYodm9pZCAwPT09dClyZXR1cm4gdGhpcy5fcGFyZW50O2lmKG51bGwhPT10JiYhdC5oYXModGhpcykpdGhyb3cgbmV3IEVycm9yKCJQYXNzZWQgaW52YWxpZCBwYXJlbnQiKTtyZXR1cm4gdGhpcy5fcGFyZW50PXQsdGhpc30sdC5wcm90b3R5cGUuYm91bmRzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcmlnaW4oKTtyZXR1cm57dG9wTGVmdDp0LGJvdHRvbVJpZ2h0Ont4OnQueCt0aGlzLndpZHRoKCkseTp0LnkrdGhpcy5oZWlnaHQoKX19fSx0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5fZGVzdHJveWVkPSEwLHRoaXMuZGV0YWNoKCl9LHQucHJvdG90eXBlLndpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpZHRofSx0LnByb3RvdHlwZS5oZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faGVpZ2h0fSx0LnByb3RvdHlwZS5vcmlnaW49ZnVuY3Rpb24oKXtyZXR1cm57eDp0aGlzLl9vcmlnaW4ueCx5OnRoaXMuX29yaWdpbi55fX0sdC5wcm90b3R5cGUub3JpZ2luVG9Sb290PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMub3JpZ2luKCksZT10aGlzLnBhcmVudCgpO251bGwhPWU7KXt2YXIgbj1lLm9yaWdpbigpO3QueCs9bi54LHQueSs9bi55LGU9ZS5wYXJlbnQoKX1yZXR1cm4gdH0sdC5wcm90b3R5cGUucm9vdD1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzOyF0LmlzUm9vdCgpOyl0PXQucGFyZW50KCk7cmV0dXJuIHR9LHQucHJvdG90eXBlLmlzUm9vdD1mdW5jdGlvbigpe3JldHVybiBudWxsPT10aGlzLnBhcmVudCgpfSx0LnByb3RvdHlwZS5mb3JlZ3JvdW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZvcmVncm91bmRDb250YWluZXJ9LHQucHJvdG90eXBlLmNvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29udGVudH0sdC5wcm90b3R5cGUuZWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbGVtZW50fSx0LnByb3RvdHlwZS5yb290RWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJvb3QoKS5fcm9vdEVsZW1lbnR9LHQucHJvdG90eXBlLmJhY2tncm91bmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvbnRhaW5lcn0sdC5feEFsaWduVG9Qcm9wb3J0aW9uPXtsZWZ0OjAsY2VudGVyOi41LHJpZ2h0OjF9LHQuX3lBbGlnblRvUHJvcG9ydGlvbj17dG9wOjAsY2VudGVyOi41LGJvdHRvbToxfSx0fSkoKTtPX3QuQ29tcG9uZW50PWh2dDt2YXIgZHZ0PXt9LHB2dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHB2dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGZ2dD13cHQ7ZnVuY3Rpb24gbXZ0KHQpe3JldHVybiB2b2lkIDA9PT10JiYodD0zKSxndnQodCksZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9GaXhlZCh0KX19ZnVuY3Rpb24gZ3Z0KHQpe2lmKHQ8MHx8dD4yMCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0dGVyIHByZWNpc2lvbiBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjAiKTtpZih0IT09TWF0aC5mbG9vcih0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0dGVyIHByZWNpc2lvbiBtdXN0IGJlIGFuIGludGVnZXIiKX0KLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9wdnQuY3VycmVuY3k9ZnVuY3Rpb24gX3Z0KHQsZSxuKXt2b2lkIDA9PT10JiYodD0yKSx2b2lkIDA9PT1lJiYoZT0iJCIpLHZvaWQgMD09PW4mJihuPSEwKTt2YXIgaT1tdnQodCk7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciByPWkoTWF0aC5hYnModCkpO3JldHVybiIiIT09ciYmKG4/cj1lK3I6cis9ZSx0PDAmJihyPSItIityKSkscn19LHB2dC5maXhlZD1tdnQscHZ0LmdlbmVyYWw9ZnVuY3Rpb24geXZ0KHQpe3JldHVybiB2b2lkIDA9PT10JiYodD0zKSxndnQodCksZnVuY3Rpb24oZSl7aWYoIm51bWJlciI9PXR5cGVvZiBlKXt2YXIgbj1NYXRoLnBvdygxMCx0KTtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoZSpuKS9uKX1yZXR1cm4gU3RyaW5nKGUpfX0scHZ0LmlkZW50aXR5PWZ1bmN0aW9uIHZ2dCgpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gU3RyaW5nKHQpfX0scHZ0LnBlcmNlbnRhZ2U9ZnVuY3Rpb24gYnZ0KHQpe3ZvaWQgMD09PXQmJih0PTApO3ZhciBlPW12dCh0KTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49MTAwKnQsaT10LnRvU3RyaW5nKCkscj1NYXRoLnBvdygxMCxpLmxlbmd0aC0oaS5pbmRleE9mKCIuIikrMSkpO3JldHVybiBuPXBhcnNlSW50KChuKnIpLnRvU3RyaW5nKCksMTApL3IsZShuKSsiJSJ9fSxwdnQuc2lTdWZmaXg9ZnVuY3Rpb24geHZ0KHQpe3JldHVybiB2b2lkIDA9PT10JiYodD0zKSxndnQodCksZnVuY3Rpb24oZSl7cmV0dXJuIGZ2dC5mb3JtYXQoIi4iK3QrInMiKShlKX19LHB2dC5zaG9ydFNjYWxlPWZ1bmN0aW9uIHd2dCh0KXt2b2lkIDA9PT10JiYodD0zKSxndnQodCk7dmFyIGU9IktNQlRRIixuPWZ2dC5mb3JtYXQoIi4iK3QrImUiKSxpPWZ2dC5mb3JtYXQoIi4iK3QrImYiKSxyPU1hdGgucG93KDEwLDMqKGUubGVuZ3RoKzEpKSxvPU1hdGgucG93KDEwLC10KTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGE9TWF0aC5hYnModCk7aWYoKGE8b3x8YT49cikmJjAhPT1hKXJldHVybiBuKHQpO2Zvcih2YXIgcz0tMTthPj1NYXRoLnBvdygxZTMscysyKSYmczxlLmxlbmd0aC0xOylzKys7dmFyIGw9IiI7cmV0dXJuIGw9LTE9PT1zP2kodCk6aSh0L01hdGgucG93KDFlMyxzKzEpKStlW3NdLCh0PjAmJiIxMDAwIj09PWwuc3Vic3RyKDAsNCl8fHQ8MCYmIi0xMDAwIj09PWwuc3Vic3RyKDAsNSkpJiYoczxlLmxlbmd0aC0xPyhzKyssbD1pKHQvTWF0aC5wb3coMWUzLHMrMSkpK2Vbc10pOmw9bih0KSksbH19LHB2dC5tdWx0aVRpbWU9ZnVuY3Rpb24gU3Z0KCl7dmFyIHQ9W3tzcGVjaWZpZXI6Ii4lTCIscHJlZGljYXRlOmZ1bmN0aW9uKHQpe3JldHVybiAwIT09dC5nZXRNaWxsaXNlY29uZHMoKX19LHtzcGVjaWZpZXI6IjolUyIscHJlZGljYXRlOmZ1bmN0aW9uKHQpe3JldHVybiAwIT09dC5nZXRTZWNvbmRzKCl9fSx7c3BlY2lmaWVyOiIlSTolTSIscHJlZGljYXRlOmZ1bmN0aW9uKHQpe3JldHVybiAwIT09dC5nZXRNaW51dGVzKCl9fSx7c3BlY2lmaWVyOiIlSSAlcCIscHJlZGljYXRlOmZ1bmN0aW9uKHQpe3JldHVybiAwIT09dC5nZXRIb3VycygpfX0se3NwZWNpZmllcjoiJWEgJWQiLHByZWRpY2F0ZTpmdW5jdGlvbih0KXtyZXR1cm4gMCE9PXQuZ2V0RGF5KCkmJjEhPT10LmdldERhdGUoKX19LHtzcGVjaWZpZXI6IiViICVkIixwcmVkaWNhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIDEhPT10LmdldERhdGUoKX19LHtzcGVjaWZpZXI6IiViIixwcmVkaWNhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIDAhPT10LmdldE1vbnRoKCl9fV07cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPXQuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5wcmVkaWNhdGUoZSl9KSk7cmV0dXJuIGZ2dC50aW1lRm9ybWF0KG4ubGVuZ3RoPjA/blswXS5zcGVjaWZpZXI6IiVZIikoZSl9fSxwdnQudGltZT1mdW5jdGlvbiBNdnQodCxlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9ZmFsc2UpLGU/ZnZ0LnV0Y0Zvcm1hdCh0KTpmdnQudGltZUZvcm1hdCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGR2dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEV2dD1CTyxUdnQ9d3B0LEN2dD1MZ3QsQXZ0PU9fdCxrdnQ9cHZ0LEx2dD1EX3Q7ZHZ0LkF4aXNPcmllbnRhdGlvbj1iZ3QubWFrZUVudW0oWyJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJ0b3AiXSk7dmFyIFB2dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLG4pe3ZhciBpPXQuY2FsbCh0aGlzKXx8dGhpcztpZihpLl9lbmRUaWNrTGVuZ3RoPTUsaS5faW5uZXJUaWNrTGVuZ3RoPTUsaS5fdGlja0xhYmVsUGFkZGluZz0xMCxpLl9tYXJnaW49MTUsaS5fc2hvd0VuZFRpY2tMYWJlbHM9ITEsaS5fYW5ub3RhdGlvbnNFbmFibGVkPSExLGkuX2Fubm90YXRpb25UaWVyQ291bnQ9MSxudWxsPT1lfHxudWxsPT1uKXRocm93IG5ldyBFcnJvcigiQXhpcyByZXF1aXJlcyBhIHNjYWxlIGFuZCBvcmllbnRhdGlvbiIpO3JldHVybiBpLl9zY2FsZT1lLGkub3JpZW50YXRpb24obiksaS5fc2V0RGVmYXVsdEFsaWdubWVudCgpLGkuYWRkQ2xhc3MoImF4aXMiKSxpLmlzSG9yaXpvbnRhbCgpP2kuYWRkQ2xhc3MoIngtYXhpcyIpOmkuYWRkQ2xhc3MoInktYXhpcyIpLGkuZm9ybWF0dGVyKGt2dC5pZGVudGl0eSgpKSxpLl9yZXNjYWxlQ2FsbGJhY2s9ZnVuY3Rpb24odCl7cmV0dXJuIGkuX3Jlc2NhbGUoKX0saS5fc2NhbGUub25VcGRhdGUoaS5fcmVzY2FsZUNhbGxiYWNrKSxpLl9hbm5vdGF0ZWRUaWNrcz1bXSxpLl9hbm5vdGF0aW9uRm9ybWF0dGVyPWt2dC5pZGVudGl0eSgpLGl9cmV0dXJuIEV2dC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpLHRoaXMuX3NjYWxlLm9mZlVwZGF0ZSh0aGlzLl9yZXNjYWxlQ2FsbGJhY2spfSxlLnByb3RvdHlwZS50aWNrTGFiZWxEYXRhT25FbGVtZW50PWZ1bmN0aW9uKHQpe2lmKG51bGwhPXQpe2Zvcih2YXIgbjtudWxsIT10JiZ0LmNsYXNzTGlzdCYmdm9pZCAwPT09bjspdC5jbGFzc0xpc3QuY29udGFpbnMoZS5USUNLX0xBQkVMX0NMQVNTKT9uPXQ6dD10LnBhcmVudE5vZGU7cmV0dXJuIHZvaWQgMD09PXQ/dm9pZCAwOlR2dC5zZWxlY3QodCkuZGF0dW0oKX19LGUucHJvdG90eXBlLl9jb21wdXRlV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWF4TGFiZWxUaWNrTGVuZ3RoKCl9LGUucHJvdG90eXBlLl9jb21wdXRlSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpfSxlLnByb3RvdHlwZS5yZXF1ZXN0ZWRTcGFjZT1mdW5jdGlvbih0LG4pe3ZhciBpPTAscj0wO3RoaXMuaXNIb3Jpem9udGFsKCk/KHI9dGhpcy5fY29tcHV0ZUhlaWdodCgpK3RoaXMuX21hcmdpbix0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpJiYocis9KHRoaXMuX2Fubm90YXRpb25NZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0KzIqZS5fQU5OT1RBVElPTl9MQUJFTF9QQURESU5HKSp0aGlzLmFubm90YXRpb25UaWVyQ291bnQoKSkpOihpPXRoaXMuX2NvbXB1dGVXaWR0aCgpK3RoaXMuX21hcmdpbix0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpJiYoaSs9KHRoaXMuX2Fubm90YXRpb25NZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0KzIqZS5fQU5OT1RBVElPTl9MQUJFTF9QQURESU5HKSp0aGlzLmFubm90YXRpb25UaWVyQ291bnQoKSkpO3JldHVybnttaW5XaWR0aDppLG1pbkhlaWdodDpyfX0sZS5wcm90b3R5cGUuZml4ZWRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0hvcml6b250YWwoKX0sZS5wcm90b3R5cGUuZml4ZWRXaWR0aD1mdW5jdGlvbigpe3JldHVybiF0aGlzLmlzSG9yaXpvbnRhbCgpfSxlLnByb3RvdHlwZS5fcmVzY2FsZT1mdW5jdGlvbigpe3RoaXMucmVuZGVyKCl9LGUucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiB0LnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxlLG4saSksdGhpcy5pc0hvcml6b250YWwoKT90aGlzLl9zY2FsZS5yYW5nZShbMCx0aGlzLndpZHRoKCldKTp0aGlzLl9zY2FsZS5yYW5nZShbdGhpcy5oZWlnaHQoKSwwXSksdGhpc30sZS5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXI9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLnJlcXVlc3RlZFNwYWNlKHQsZSk7cmV0dXJuIHRoaXMuaXNIb3Jpem9udGFsKCk/e3dpZHRoOnQsaGVpZ2h0Om4ubWluSGVpZ2h0fTp7aGVpZ2h0OmUsd2lkdGg6bi5taW5XaWR0aH19LGUucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3QucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpLHRoaXMuX3RpY2tNYXJrQ29udGFpbmVyPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5USUNLX01BUktfQ0xBU1MrIi1jb250YWluZXIiLCEwKSx0aGlzLl90aWNrTGFiZWxDb250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZChlLlRJQ0tfTEFCRUxfQ0xBU1MrIi1jb250YWluZXIiLCEwKSx0aGlzLl9iYXNlbGluZT10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKCJiYXNlbGluZSIsITApLHRoaXMuX2Fubm90YXRpb25Db250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ub3RhdGlvbi1jb250YWluZXIiLCEwKSx0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImFubm90YXRpb24tbGluZS1jb250YWluZXIiLCEwKSx0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImFubm90YXRpb24tY2lyY2xlLWNvbnRhaW5lciIsITApLHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ub3RhdGlvbi1yZWN0LWNvbnRhaW5lciIsITApO3ZhciBuPXRoaXMuX2Fubm90YXRpb25Db250YWluZXIuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ub3RhdGlvbi1sYWJlbC1jb250YWluZXIiLCEwKSxpPW5ldyBDdnQuU3ZnQ29udGV4dChuLm5vZGUoKSk7dGhpcy5fYW5ub3RhdGlvbk1lYXN1cmVyPW5ldyBDdnQuQ2FjaGVNZWFzdXJlcihpKSx0aGlzLl9hbm5vdGF0aW9uV3JpdGVyPW5ldyBDdnQuV3JpdGVyKHRoaXMuX2Fubm90YXRpb25NZWFzdXJlcixpKX0sZS5wcm90b3R5cGUuX2dldFRpY2tWYWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm5bXX0sZS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9nZXRUaWNrVmFsdWVzKCksbj10aGlzLl90aWNrTWFya0NvbnRhaW5lci5zZWxlY3RBbGwoIi4iK2UuVElDS19NQVJLX0NMQVNTKS5kYXRhKHQpLGk9bi5lbnRlcigpLmFwcGVuZCgibGluZSIpLmNsYXNzZWQoZS5USUNLX01BUktfQ0xBU1MsITApLm1lcmdlKG4pO3JldHVybiBpLmF0dHJzKHRoaXMuX2dlbmVyYXRlVGlja01hcmtBdHRySGFzaCgpKSxUdnQuc2VsZWN0KGkubm9kZXMoKVswXSkuY2xhc3NlZChlLkVORF9USUNLX01BUktfQ0xBU1MsITApLmF0dHJzKHRoaXMuX2dlbmVyYXRlVGlja01hcmtBdHRySGFzaCghMCkpLFR2dC5zZWxlY3QoaS5ub2RlcygpW3QubGVuZ3RoLTFdKS5jbGFzc2VkKGUuRU5EX1RJQ0tfTUFSS19DTEFTUywhMCkuYXR0cnModGhpcy5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoKCEwKSksbi5leGl0KCkucmVtb3ZlKCksdGhpcy5fYmFzZWxpbmUuYXR0cnModGhpcy5fZ2VuZXJhdGVCYXNlbGluZUF0dHJIYXNoKCkpLHRoaXMuYW5ub3RhdGlvbnNFbmFibGVkKCk/dGhpcy5fZHJhd0Fubm90YXRpb25zKCk6dGhpcy5fcmVtb3ZlQW5ub3RhdGlvbnMoKSx0aGlzfSxlLnByb3RvdHlwZS5hbm5vdGF0ZWRUaWNrcz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9hbm5vdGF0ZWRUaWNrczoodGhpcy5fYW5ub3RhdGVkVGlja3M9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5hbm5vdGF0aW9uRm9ybWF0dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2Fubm90YXRpb25Gb3JtYXR0ZXI6KHRoaXMuX2Fubm90YXRpb25Gb3JtYXR0ZXI9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5hbm5vdGF0aW9uc0VuYWJsZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fYW5ub3RhdGlvbnNFbmFibGVkOih0aGlzLl9hbm5vdGF0aW9uc0VuYWJsZWQ9dCx0aGlzLnJlZHJhdygpLHRoaXMpfSxlLnByb3RvdHlwZS5hbm5vdGF0aW9uVGllckNvdW50PWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX2Fubm90YXRpb25UaWVyQ291bnQ7aWYodDwwKXRocm93IG5ldyBFcnJvcigiYW5ub3RhdGlvblRpZXJDb3VudCBjYW5ub3QgYmUgbmVnYXRpdmUiKTtyZXR1cm4gdGhpcy5fYW5ub3RhdGlvblRpZXJDb3VudD10LHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUuX2RyYXdBbm5vdGF0aW9ucz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsbj1lLl9BTk5PVEFUSU9OX0xBQkVMX1BBRERJTkcsaT1uZXcgTHZ0Lk1hcCxyPXRoaXMuX2Fubm90YXRlZFRpY2tzVG9SZW5kZXIoKTtyLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciByPXQuX2Fubm90YXRpb25NZWFzdXJlci5tZWFzdXJlKHQuYW5ub3RhdGlvbkZvcm1hdHRlcigpKGUpKTtpLnNldChlLHt3aWR0aDpyLndpZHRoKzIqbixoZWlnaHQ6ci5oZWlnaHQrMipufSl9KSk7dmFyIG89dGhpcy5fYW5ub3RhdGlvbk1lYXN1cmVyLm1lYXN1cmUoKS5oZWlnaHQrMipuLGE9dGhpcy5fYW5ub3RhdGlvblRvVGllcihpKSxzPW5ldyBMdnQuU2V0LGw9dGhpcy5pc0hvcml6b250YWwoKT90aGlzLmhlaWdodCgpOnRoaXMud2lkdGgoKSxjPXRoaXMuX2NvcmVTaXplKCksdT1NYXRoLm1pbih0aGlzLmFubm90YXRpb25UaWVyQ291bnQoKSxNYXRoLmZsb29yKChsLWMpL28pKTthLmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7KC0xPT09dHx8dD49dSkmJnMuYWRkKGUpfSkpO3ZhciBoLGQ9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPXQuc2VsZWN0QWxsKCIuIituKS5kYXRhKHIpLG89aS5lbnRlcigpLmFwcGVuZChlKS5jbGFzc2VkKG4sITApLm1lcmdlKGkpO3JldHVybiBpLmV4aXQoKS5yZW1vdmUoKSxvfSxwPWZ1bmN0aW9uKGUpe3N3aXRjaCh0Lm9yaWVudGF0aW9uKCkpe2Nhc2UiYm90dG9tIjpjYXNlInJpZ2h0IjpyZXR1cm4gYS5nZXQoZSkqbytjO2Nhc2UidG9wIjpjYXNlImxlZnQiOnJldHVybiBsLWMtYS5nZXQoZSkqb319LGY9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuX3NjYWxlLnNjYWxlKGUpfSxtPWZ1bmN0aW9uKHQpe3JldHVybiBzLmhhcyh0KT8iaGlkZGVuIjoidmlzaWJsZSJ9O3N3aXRjaCh0aGlzLm9yaWVudGF0aW9uKCkpe2Nhc2UiYm90dG9tIjpjYXNlInJpZ2h0IjpoPTA7YnJlYWs7Y2FzZSJ0b3AiOmg9dGhpcy5oZWlnaHQoKTticmVhaztjYXNlImxlZnQiOmg9dGhpcy53aWR0aCgpfXZhciBnPXRoaXMuaXNIb3Jpem9udGFsKCk7ZCh0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLnNlbGVjdCgiLmFubm90YXRpb24tbGluZS1jb250YWluZXIiKSwibGluZSIsZS5BTk5PVEFUSU9OX0xJTkVfQ0xBU1MpLmF0dHJzKHt4MTpnP2Y6aCx4MjpnP2Y6cCx5MTpnP2g6Zix5MjpnP3A6Zix2aXNpYmlsaXR5Om19KSxkKHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0KCIuYW5ub3RhdGlvbi1jaXJjbGUtY29udGFpbmVyIiksImNpcmNsZSIsZS5BTk5PVEFUSU9OX0NJUkNMRV9DTEFTUykuYXR0cnMoe2N4Omc/ZjpoLGN5Omc/aDpmLHI6M30pO3ZhciBfPWZ1bmN0aW9uKGUpe3N3aXRjaCh0Lm9yaWVudGF0aW9uKCkpe2Nhc2UiYm90dG9tIjpjYXNlInJpZ2h0IjpyZXR1cm4gcChlKTtjYXNlInRvcCI6Y2FzZSJsZWZ0IjpyZXR1cm4gcChlKS1pLmdldChlKS5oZWlnaHR9fTtkKHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0KCIuYW5ub3RhdGlvbi1yZWN0LWNvbnRhaW5lciIpLCJyZWN0IixlLkFOTk9UQVRJT05fUkVDVF9DTEFTUykuYXR0cnMoe3g6Zz9mOl8seTpnP186Zix3aWR0aDpnP2Z1bmN0aW9uKHQpe3JldHVybiBpLmdldCh0KS53aWR0aH06ZnVuY3Rpb24odCl7cmV0dXJuIGkuZ2V0KHQpLmhlaWdodH0saGVpZ2h0Omc/ZnVuY3Rpb24odCl7cmV0dXJuIGkuZ2V0KHQpLmhlaWdodH06ZnVuY3Rpb24odCl7cmV0dXJuIGkuZ2V0KHQpLndpZHRofSx2aXNpYmlsaXR5Om19KTt2YXIgeT10aGlzLl9hbm5vdGF0aW9uV3JpdGVyLHY9dGhpcy5hbm5vdGF0aW9uRm9ybWF0dGVyKCksYj1kKHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0KCIuYW5ub3RhdGlvbi1sYWJlbC1jb250YWluZXIiKSwiZyIsZS5BTk5PVEFUSU9OX0xBQkVMX0NMQVNTKTtiLnNlbGVjdEFsbCgiLnRleHQtY29udGFpbmVyIikucmVtb3ZlKCksYi5hdHRycyh7dHJhbnNmb3JtOmZ1bmN0aW9uKHQpe3JldHVybiJ0cmFuc2xhdGUoIisoZz9mKHQpOl8odCkpKyIsIisoZz9fKHQpOmYodCkpKyIpIn0sdmlzaWJpbGl0eTptfSkuZWFjaCgoZnVuY3Rpb24odCl7eS53cml0ZSh2KHQpLGc/aS5nZXQodCkud2lkdGg6aS5nZXQodCkuaGVpZ2h0LGc/aS5nZXQodCkuaGVpZ2h0OmkuZ2V0KHQpLndpZHRoLHt4QWxpZ246ImNlbnRlciIseUFsaWduOiJjZW50ZXIiLHRleHRSb3RhdGlvbjpnPzA6OTB9LFR2dC5zZWxlY3QodGhpcykubm9kZSgpKX0pKX0sZS5wcm90b3R5cGUuX2Fubm90YXRlZFRpY2tzVG9SZW5kZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5fc2NhbGUucmFuZ2UoKTtyZXR1cm4gTHZ0LkFycmF5LnVuaXEodGhpcy5hbm5vdGF0ZWRUaWNrcygpLmZpbHRlcigoZnVuY3Rpb24obil7cmV0dXJuIG51bGwhPW4mJkx2dC5NYXRoLmluUmFuZ2UodC5fc2NhbGUuc2NhbGUobiksZVswXSxlWzFdKX0pKSl9LGUucHJvdG90eXBlLl9jb3JlU2l6ZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuaXNIb3Jpem9udGFsKCk/dGhpcy5oZWlnaHQoKTp0aGlzLndpZHRoKCksZT10aGlzLmlzSG9yaXpvbnRhbCgpP3RoaXMuX2NvbXB1dGVIZWlnaHQoKTp0aGlzLl9jb21wdXRlV2lkdGgoKTtyZXR1cm4gTWF0aC5taW4oZSx0KX0sZS5wcm90b3R5cGUuX2Fubm90YXRpb25UaWVySGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Fubm90YXRpb25NZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0KzIqZS5fQU5OT1RBVElPTl9MQUJFTF9QQURESU5HfSxlLnByb3RvdHlwZS5fYW5ub3RhdGlvblRvVGllcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49W1tdXSxpPW5ldyBMdnQuTWFwLHI9dGhpcy5pc0hvcml6b250YWwoKT90aGlzLndpZHRoKCk6dGhpcy5oZWlnaHQoKTtyZXR1cm4gdGhpcy5fYW5ub3RhdGVkVGlja3NUb1JlbmRlcigpLmZvckVhY2goKGZ1bmN0aW9uKG8pe3ZhciBhPWUuX3NjYWxlLnNjYWxlKG8pLHM9dC5nZXQobykud2lkdGg7aWYoYTwwfHxhK3M+cilpLnNldChvLC0xKTtlbHNle2Zvcih2YXIgbD0wO25bbF0uc29tZSgoZnVuY3Rpb24obil7dmFyIGk9ZS5fc2NhbGUuc2NhbGUobikscj10LmdldChuKS53aWR0aDtyZXR1cm4gYStzPj1pJiZhPD1pK3J9KSk7KWwrKyxuLmxlbmd0aD09PWwmJm4ucHVzaChbXSk7bltsXS5wdXNoKG8pLGkuc2V0KG8sbCl9fSkpLGl9LGUucHJvdG90eXBlLl9yZW1vdmVBbm5vdGF0aW9ucz1mdW5jdGlvbigpe3RoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0QWxsKCIuYW5ub3RhdGlvbi1saW5lIikucmVtb3ZlKCksdGhpcy5fYW5ub3RhdGlvbkNvbnRhaW5lci5zZWxlY3RBbGwoIi5hbm5vdGF0aW9uLWNpcmNsZSIpLnJlbW92ZSgpLHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0QWxsKCIuYW5ub3RhdGlvbi1yZWN0IikucmVtb3ZlKCksdGhpcy5fYW5ub3RhdGlvbkNvbnRhaW5lci5zZWxlY3RBbGwoIi5hbm5vdGF0aW9uLWxhYmVsIikucmVtb3ZlKCl9LGUucHJvdG90eXBlLl9nZW5lcmF0ZUJhc2VsaW5lQXR0ckhhc2g9ZnVuY3Rpb24oKXt2YXIgdD17eDE6MCx5MTowLHgyOjAseTI6MH07c3dpdGNoKHRoaXMuX29yaWVudGF0aW9uKXtjYXNlImJvdHRvbSI6dC54Mj10aGlzLndpZHRoKCk7YnJlYWs7Y2FzZSJ0b3AiOnQueDI9dGhpcy53aWR0aCgpLHQueTE9dGhpcy5oZWlnaHQoKSx0LnkyPXRoaXMuaGVpZ2h0KCk7YnJlYWs7Y2FzZSJsZWZ0Ijp0LngxPXRoaXMud2lkdGgoKSx0LngyPXRoaXMud2lkdGgoKSx0LnkyPXRoaXMuaGVpZ2h0KCk7YnJlYWs7Y2FzZSJyaWdodCI6dC55Mj10aGlzLmhlaWdodCgpfXJldHVybiB0fSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dm9pZCAwPT09dCYmKHQ9ITEpO3ZhciBuPXt4MTowLHkxOjAseDI6MCx5MjowfSxpPWZ1bmN0aW9uKHQpe3JldHVybiBlLl9zY2FsZS5zY2FsZSh0KX07dGhpcy5pc0hvcml6b250YWwoKT8obi54MT1pLG4ueDI9aSk6KG4ueTE9aSxuLnkyPWkpO3ZhciByPXQ/dGhpcy5fZW5kVGlja0xlbmd0aDp0aGlzLl9pbm5lclRpY2tMZW5ndGg7c3dpdGNoKHRoaXMuX29yaWVudGF0aW9uKXtjYXNlImJvdHRvbSI6bi55Mj1yO2JyZWFrO2Nhc2UidG9wIjpuLnkxPXRoaXMuaGVpZ2h0KCksbi55Mj10aGlzLmhlaWdodCgpLXI7YnJlYWs7Y2FzZSJsZWZ0IjpuLngxPXRoaXMud2lkdGgoKSxuLngyPXRoaXMud2lkdGgoKS1yO2JyZWFrO2Nhc2UicmlnaHQiOm4ueDI9cn1yZXR1cm4gbn0sZS5wcm90b3R5cGUuX3NldERlZmF1bHRBbGlnbm1lbnQ9ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fb3JpZW50YXRpb24pe2Nhc2UiYm90dG9tIjp0aGlzLnlBbGlnbm1lbnQoInRvcCIpO2JyZWFrO2Nhc2UidG9wIjp0aGlzLnlBbGlnbm1lbnQoImJvdHRvbSIpO2JyZWFrO2Nhc2UibGVmdCI6dGhpcy54QWxpZ25tZW50KCJyaWdodCIpO2JyZWFrO2Nhc2UicmlnaHQiOnRoaXMueEFsaWdubWVudCgibGVmdCIpfX0sZS5wcm90b3R5cGUuaXNIb3Jpem9udGFsPWZ1bmN0aW9uKCl7cmV0dXJuInRvcCI9PT10aGlzLl9vcmllbnRhdGlvbnx8ImJvdHRvbSI9PT10aGlzLl9vcmllbnRhdGlvbn0sZS5wcm90b3R5cGUuZ2V0U2NhbGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2NhbGV9LGUucHJvdG90eXBlLmZvcm1hdHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9mb3JtYXR0ZXI6KHRoaXMuX2Zvcm1hdHRlcj10LHRoaXMucmVkcmF3KCksdGhpcyl9LGUucHJvdG90eXBlLmlubmVyVGlja0xlbmd0aD1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl9pbm5lclRpY2tMZW5ndGg7aWYodDwwKXRocm93IG5ldyBFcnJvcigiaW5uZXIgdGljayBsZW5ndGggbXVzdCBiZSBwb3NpdGl2ZSIpO3JldHVybiB0aGlzLl9pbm5lclRpY2tMZW5ndGg9dCx0aGlzLnJlZHJhdygpLHRoaXN9LGUucHJvdG90eXBlLmVuZFRpY2tMZW5ndGg9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fZW5kVGlja0xlbmd0aDtpZih0PDApdGhyb3cgbmV3IEVycm9yKCJlbmQgdGljayBsZW5ndGggbXVzdCBiZSBwb3NpdGl2ZSIpO3JldHVybiB0aGlzLl9lbmRUaWNrTGVuZ3RoPXQsdGhpcy5yZWRyYXcoKSx0aGlzfSxlLnByb3RvdHlwZS5fbWF4TGFiZWxUaWNrTGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hvd0VuZFRpY2tMYWJlbHMoKT9NYXRoLm1heCh0aGlzLmlubmVyVGlja0xlbmd0aCgpLHRoaXMuZW5kVGlja0xlbmd0aCgpKTp0aGlzLmlubmVyVGlja0xlbmd0aCgpfSxlLnByb3RvdHlwZS50aWNrTGFiZWxQYWRkaW5nPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3RpY2tMYWJlbFBhZGRpbmc7aWYodDwwKXRocm93IG5ldyBFcnJvcigidGljayBsYWJlbCBwYWRkaW5nIG11c3QgYmUgcG9zaXRpdmUiKTtyZXR1cm4gdGhpcy5fdGlja0xhYmVsUGFkZGluZz10LHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUubWFyZ2luPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX21hcmdpbjtpZih0PDApdGhyb3cgbmV3IEVycm9yKCJtYXJnaW4gc2l6ZSBtdXN0IGJlIHBvc2l0aXZlIik7cmV0dXJuIHRoaXMuX21hcmdpbj10LHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUub3JpZW50YXRpb249ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fb3JpZW50YXRpb247dmFyIGU9dC50b0xvd2VyQ2FzZSgpO2lmKCJ0b3AiIT09ZSYmImJvdHRvbSIhPT1lJiYibGVmdCIhPT1lJiYicmlnaHQiIT09ZSl0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIG9yaWVudGF0aW9uIik7cmV0dXJuIHRoaXMuX29yaWVudGF0aW9uPWUsdGhpcy5yZWRyYXcoKSx0aGlzfSxlLnByb3RvdHlwZS5zaG93RW5kVGlja0xhYmVscz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9zaG93RW5kVGlja0xhYmVsczoodGhpcy5fc2hvd0VuZFRpY2tMYWJlbHM9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5fc2hvd0FsbFRpY2tNYXJrcz1mdW5jdGlvbigpe3RoaXMuX3RpY2tNYXJrQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrZS5USUNLX01BUktfQ0xBU1MpLmVhY2goKGZ1bmN0aW9uKCl7VHZ0LnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIsImluaGVyaXQiKX0pKX0sZS5wcm90b3R5cGUuX3Nob3dBbGxUaWNrTGFiZWxzPWZ1bmN0aW9uKCl7dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrZS5USUNLX0xBQkVMX0NMQVNTKS5lYWNoKChmdW5jdGlvbigpe1R2dC5zZWxlY3QodGhpcykuc3R5bGUoInZpc2liaWxpdHkiLCJpbmhlcml0Iil9KSl9LGUucHJvdG90eXBlLl9oaWRlT3ZlcmZsb3dpbmdUaWNrTGFiZWxzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbGVtZW50KCkubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrZS5USUNLX0xBQkVMX0NMQVNTKTtuLmVtcHR5KCl8fG4uZWFjaCgoZnVuY3Rpb24oZSxuKXtMdnQuRE9NLmNsaWVudFJlY3RJbnNpZGUodGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0KXx8VHZ0LnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIsImhpZGRlbiIpfSkpfSxlLnByb3RvdHlwZS5faGlkZVRpY2tNYXJrc1dpdGhvdXRMYWJlbD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3RpY2tNYXJrQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrZS5USUNLX01BUktfQ0xBU1MpLG49dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrZS5USUNLX0xBQkVMX0NMQVNTKS5maWx0ZXIoKGZ1bmN0aW9uKHQsZSl7dmFyIG49VHZ0LnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIpO3JldHVybiJpbmhlcml0Ij09PW58fCJ2aXNpYmxlIj09PW59KSkuZGF0YSgpO3QuZWFjaCgoZnVuY3Rpb24odCxlKXstMT09PW4uaW5kZXhPZih0KSYmVHZ0LnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIsImhpZGRlbiIpfSkpfSxlLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGUuY2FsbCh0aGlzKSx0aGlzLl9hbm5vdGF0aW9uTWVhc3VyZXIucmVzZXQoKX0sZS5FTkRfVElDS19NQVJLX0NMQVNTPSJlbmQtdGljay1tYXJrIixlLlRJQ0tfTUFSS19DTEFTUz0idGljay1tYXJrIixlLlRJQ0tfTEFCRUxfQ0xBU1M9InRpY2stbGFiZWwiLGUuQU5OT1RBVElPTl9MSU5FX0NMQVNTPSJhbm5vdGF0aW9uLWxpbmUiLGUuQU5OT1RBVElPTl9SRUNUX0NMQVNTPSJhbm5vdGF0aW9uLXJlY3QiLGUuQU5OT1RBVElPTl9DSVJDTEVfQ0xBU1M9ImFubm90YXRpb24tY2lyY2xlIixlLkFOTk9UQVRJT05fTEFCRUxfQ0xBU1M9ImFubm90YXRpb24tbGFiZWwiLGUuX0FOTk9UQVRJT05fTEFCRUxfUEFERElORz00LGV9KShBdnQuQ29tcG9uZW50KTtkdnQuQXhpcz1QdnQsCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShrZ3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBOdnQ9Qk8sSXZ0PXdwdCxSdnQ9TGd0LE92dD1PX3QsenZ0PURfdCxEdnQ9ZHZ0LEJ2dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLG4pe3ZvaWQgMD09PW4mJihuPSJib3R0b20iKTt2YXIgaT10LmNhbGwodGhpcyxlLG4pfHx0aGlzO3JldHVybiBpLl90aWNrTGFiZWxBbmdsZT0wLGkuX3RpY2tMYWJlbFNoZWFyQW5nbGU9MCxpLmFkZENsYXNzKCJjYXRlZ29yeS1heGlzIiksaX1yZXR1cm4gTnZ0Ll9fZXh0ZW5kcyhlLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiX3dyYXBwZXIiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgdD1uZXcgUnZ0LldyYXBwZXI7cmV0dXJuIG51bGwhPXRoaXMuX3RpY2tMYWJlbE1heExpbmVzJiZ0Lm1heExpbmVzKHRoaXMuX3RpY2tMYWJlbE1heExpbmVzKSx0fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiX3dyaXRlciIse2dldDpmdW5jdGlvbigpe3JldHVybiBuZXcgUnZ0LldyaXRlcih0aGlzLl9tZWFzdXJlcix0aGlzLl90eXBlc2V0dGVyQ29udGV4dCx0aGlzLl93cmFwcGVyKX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKSx0aGlzLl90eXBlc2V0dGVyQ29udGV4dD1uZXcgUnZ0LlN2Z0NvbnRleHQodGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLm5vZGUoKSksdGhpcy5fbWVhc3VyZXI9bmV3IFJ2dC5DYWNoZU1lYXN1cmVyKHRoaXMuX3R5cGVzZXR0ZXJDb250ZXh0KX0sZS5wcm90b3R5cGUuX3Jlc2NhbGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZWRyYXcoKX0sZS5wcm90b3R5cGUucmVxdWVzdGVkU3BhY2U9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLmlzSG9yaXpvbnRhbCgpPzA6dGhpcy5fdGlja1NwYWNlUmVxdWlyZWQoKSt0aGlzLm1hcmdpbigpLGk9dGhpcy5pc0hvcml6b250YWwoKT90aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpK3RoaXMubWFyZ2luKCk6MDtpZigwPT09dGhpcy5fc2NhbGUuZG9tYWluKCkubGVuZ3RoKXJldHVybnttaW5XaWR0aDowLG1pbkhlaWdodDowfTtpZih0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpKXt2YXIgcj10aGlzLl9hbm5vdGF0aW9uVGllckhlaWdodCgpKnRoaXMuYW5ub3RhdGlvblRpZXJDb3VudCgpO3RoaXMuaXNIb3Jpem9udGFsKCk/aSs9cjpuKz1yfXZhciBvPXRoaXMuX21lYXN1cmVUaWNrTGFiZWxzKHQsZSk7cmV0dXJue21pbldpZHRoOm8udXNlZFdpZHRoK24sbWluSGVpZ2h0Om8udXNlZEhlaWdodCtpfX0sZS5wcm90b3R5cGUuX2NvcmVTaXplPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5pc0hvcml6b250YWwoKT90aGlzLmhlaWdodCgpOnRoaXMud2lkdGgoKSxlPXRoaXMuaXNIb3Jpem9udGFsKCk/dGhpcy5yZXF1ZXN0ZWRTcGFjZSh0aGlzLndpZHRoKCksdGhpcy5oZWlnaHQoKSkubWluSGVpZ2h0OnRoaXMucmVxdWVzdGVkU3BhY2UodGhpcy53aWR0aCgpLHRoaXMuaGVpZ2h0KCkpLm1pbldpZHRoLG49dGhpcy5tYXJnaW4oKSt0aGlzLl9hbm5vdGF0aW9uVGllckhlaWdodCgpO3JldHVybiBNYXRoLm1pbihlLW4sdCl9LGUucHJvdG90eXBlLl9nZXRUaWNrVmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0RG93bnNhbXBsZUluZm8oKS5kb21haW59LGUucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE92dC5Db21wb25lbnQucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyLmNhbGwodGhpcyx0LGUpfSxlLnByb3RvdHlwZS5nZXREb3duc2FtcGxlSW5mbz1mdW5jdGlvbih0LG4pe3ZvaWQgMD09PXQmJih0PXRoaXMuX3NjYWxlKSx2b2lkIDA9PT1uJiYobj10LmludmVydFJhbmdlKCkpO3ZhciBpPTA9PT10aGlzLl90aWNrTGFiZWxBbmdsZT8xOjEvTWF0aC5jb3ModGhpcy5fdGlja0xhYmVsU2hlYXJBbmdsZS8xODAqTWF0aC5QSSkscj1NYXRoLmNlaWwoZS5fTUlOSU1VTV9XSURUSF9QRVJfTEFCRUxfUFgqaS90LnN0ZXBXaWR0aCgpKTtyZXR1cm57ZG9tYWluOm4uZmlsdGVyKChmdW5jdGlvbih0LGUpe3JldHVybiBlJXI9PTB9KSksc3RlcFdpZHRoOnIqdC5zdGVwV2lkdGgoKX19LGUucHJvdG90eXBlLnRpY2tMYWJlbEFuZ2xlPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3RpY2tMYWJlbEFuZ2xlO2lmKDAhPT10JiY5MCE9PXQmJi05MCE9PXQpdGhyb3cgbmV3IEVycm9yKCJBbmdsZSAiK3QrIiBub3Qgc3VwcG9ydGVkOyBvbmx5IDAsIDkwLCBhbmQgLTkwIGFyZSB2YWxpZCB2YWx1ZXMiKTtyZXR1cm4gdGhpcy5fdGlja0xhYmVsQW5nbGU9dCx0aGlzLnJlZHJhdygpLHRoaXN9LGUucHJvdG90eXBlLnRpY2tMYWJlbFNoZWFyQW5nbGU9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fdGlja0xhYmVsU2hlYXJBbmdsZTtpZih0PC04MHx8dD44MCl0aHJvdyBuZXcgRXJyb3IoIkFuZ2xlICIrdCsiIG5vdCBzdXBwb3J0ZWQ7IE11c3QgYmUgYmV0d2VlbiBbLTgwLCA4MF0iKTtyZXR1cm4gdGhpcy5fdGlja0xhYmVsU2hlYXJBbmdsZT10LHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUudGlja0xhYmVsTWF4V2lkdGg9ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMuX3RpY2tMYWJlbE1heFdpZHRoOih0aGlzLl90aWNrTGFiZWxNYXhXaWR0aD10LHRoaXMucmVkcmF3KCksdGhpcyl9LGUucHJvdG90eXBlLnRpY2tMYWJlbE1heExpbmVzPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLl90aWNrTGFiZWxNYXhMaW5lczoodGhpcy5fdGlja0xhYmVsTWF4TGluZXM9dCx0aGlzLnJlZHJhdygpLHRoaXMpfSxlLnByb3RvdHlwZS5fdGlja1NwYWNlUmVxdWlyZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWF4TGFiZWxUaWNrTGVuZ3RoKCkrdGhpcy50aWNrTGFiZWxQYWRkaW5nKCl9LGUucHJvdG90eXBlLl9kcmF3VGlja3M9ZnVuY3Rpb24odCxlKXt2YXIgbixpLHI9dGhpcztzd2l0Y2godGhpcy50aWNrTGFiZWxBbmdsZSgpKXtjYXNlIDA6bj17bGVmdDoicmlnaHQiLHJpZ2h0OiJsZWZ0Iix0b3A6ImNlbnRlciIsYm90dG9tOiJjZW50ZXIifSxpPXtsZWZ0OiJjZW50ZXIiLHJpZ2h0OiJjZW50ZXIiLHRvcDoiYm90dG9tIixib3R0b206InRvcCJ9O2JyZWFrO2Nhc2UgOTA6bj17bGVmdDoiY2VudGVyIixyaWdodDoiY2VudGVyIix0b3A6InJpZ2h0Iixib3R0b206ImxlZnQifSxpPXtsZWZ0OiJ0b3AiLHJpZ2h0OiJib3R0b20iLHRvcDoiY2VudGVyIixib3R0b206ImNlbnRlciJ9O2JyZWFrO2Nhc2UtOTA6bj17bGVmdDoiY2VudGVyIixyaWdodDoiY2VudGVyIix0b3A6ImxlZnQiLGJvdHRvbToicmlnaHQifSxpPXtsZWZ0OiJib3R0b20iLHJpZ2h0OiJ0b3AiLHRvcDoiY2VudGVyIixib3R0b206ImNlbnRlciJ9fWUuZWFjaCgoZnVuY3Rpb24oZSl7dmFyIG89SXZ0LnNlbGVjdCh0aGlzKSxhPXIuaXNIb3Jpem9udGFsKCk/dDpyLndpZHRoKCktci5fdGlja1NwYWNlUmVxdWlyZWQoKSxzPXIuaXNIb3Jpem9udGFsKCk/ci5oZWlnaHQoKS1yLl90aWNrU3BhY2VSZXF1aXJlZCgpOnQsbD17eEFsaWduOm5bci5vcmllbnRhdGlvbigpXSx5QWxpZ246aVtyLm9yaWVudGF0aW9uKCldLHRleHRSb3RhdGlvbjpyLnRpY2tMYWJlbEFuZ2xlKCksdGV4dFNoZWFyOnIudGlja0xhYmVsU2hlYXJBbmdsZSgpfTtpZihudWxsIT1yLl90aWNrTGFiZWxNYXhXaWR0aCl7aWYoImxlZnQiPT09ci5vcmllbnRhdGlvbigpJiZhPnIuX3RpY2tMYWJlbE1heFdpZHRoKXt2YXIgYz1hLXIuX3RpY2tMYWJlbE1heFdpZHRoLHU9by5hdHRyKCJ0cmFuc2Zvcm0iKSsiIHRyYW5zbGF0ZSgiK2MrIiwgMCkiO28uYXR0cigidHJhbnNmb3JtIix1KX1hPU1hdGgubWluKGEsci5fdGlja0xhYmVsTWF4V2lkdGgpfXIuX3dyaXRlci53cml0ZShyLmZvcm1hdHRlcigpKGUpLGEscyxsLG8ubm9kZSgpKX0pKX0sZS5wcm90b3R5cGUuX21lYXN1cmVUaWNrTGFiZWxzPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcyxpPXRoaXMuX3NjYWxlLmNsb25lV2l0aG91dFByb3ZpZGVycygpLnJhbmdlKFswLHRoaXMuaXNIb3Jpem9udGFsKCk/dDplXSkscj10aGlzLmdldERvd25zYW1wbGVJbmZvKGkpLG89ci5kb21haW4sYT1yLnN0ZXBXaWR0aCxzPXQtdGhpcy5fdGlja1NwYWNlUmVxdWlyZWQoKTt0aGlzLmlzSG9yaXpvbnRhbCgpJiYocz1hLDAhPT10aGlzLl90aWNrTGFiZWxBbmdsZSYmKHM9ZS10aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpKSxzPU1hdGgubWF4KHMsMCkpO3ZhciBsPWE7dGhpcy5pc0hvcml6b250YWwoKSYmKGw9ZS10aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpLDAhPT10aGlzLl90aWNrTGFiZWxBbmdsZSYmKGw9dC10aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpKSxsPU1hdGgubWF4KGwsMCkpLG51bGwhPXRoaXMuX3RpY2tMYWJlbE1heFdpZHRoJiYocz1NYXRoLm1pbihzLHRoaXMuX3RpY2tMYWJlbE1heFdpZHRoKSk7dmFyIGMsdT1vLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG4uX3dyYXBwZXIud3JhcChuLmZvcm1hdHRlcigpKHQpLG4uX21lYXN1cmVyLHMsbCl9KSksaD10aGlzLmlzSG9yaXpvbnRhbCgpJiYwPT09dGhpcy5fdGlja0xhYmVsQW5nbGU/SXZ0LnN1bTp6dnQuTWF0aC5tYXgsZD10aGlzLmlzSG9yaXpvbnRhbCgpJiYwPT09dGhpcy5fdGlja0xhYmVsQW5nbGU/enZ0Lk1hdGgubWF4Okl2dC5zdW0scD1oKHUsKGZ1bmN0aW9uKHQpe3JldHVybiBuLl9tZWFzdXJlci5tZWFzdXJlKHQud3JhcHBlZFRleHQpLndpZHRofSksMCksZj1kKHUsKGZ1bmN0aW9uKHQpe3JldHVybiBuLl9tZWFzdXJlci5tZWFzdXJlKHQud3JhcHBlZFRleHQpLmhlaWdodH0pLDApO3JldHVybiAwIT09dGhpcy5fdGlja0xhYmVsQW5nbGUmJihwPShjPVtmLHBdKVswXSxmPWNbMV0pLHt1c2VkV2lkdGg6cCx1c2VkSGVpZ2h0OmZ9fSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt2YXIgbj10aGlzLl9zY2FsZSxpPXRoaXMuZ2V0RG93bnNhbXBsZUluZm8obikscj1pLmRvbWFpbixvPWkuc3RlcFdpZHRoLGE9bzt0aGlzLmlzSG9yaXpvbnRhbCgpJiZudWxsIT10aGlzLl90aWNrTGFiZWxNYXhXaWR0aCYmKGE9TWF0aC5taW4oYSx0aGlzLl90aWNrTGFiZWxNYXhXaWR0aCkpO3ZhciBzPXRoaXMuX3RpY2tMYWJlbENvbnRhaW5lci5zZWxlY3RBbGwoIi4iK0R2dC5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MpLmRhdGEociksbD1zLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChEdnQuQXhpcy5USUNLX0xBQkVMX0NMQVNTLCEwKS5tZXJnZShzKTtzLmV4aXQoKS5yZW1vdmUoKSxsLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQsaSl7dmFyIHI9bi5zY2FsZSh0KS1hLzI7cmV0dXJuInRyYW5zbGF0ZSgiKyhlLmlzSG9yaXpvbnRhbCgpP3I6MCkrIiwiKyhlLmlzSG9yaXpvbnRhbCgpPzA6cikrIikifSkpLGwudGV4dCgiIiksdGhpcy5fZHJhd1RpY2tzKG8sbCk7dmFyIGM9InJpZ2h0Ij09PXRoaXMub3JpZW50YXRpb24oKT90aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpOjAsdT0iYm90dG9tIj09PXRoaXMub3JpZW50YXRpb24oKT90aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpOjA7cmV0dXJuIHRoaXMuX3RpY2tMYWJlbENvbnRhaW5lci5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitjKyIsIit1KyIpIiksdGhpcy5fc2hvd0FsbFRpY2tNYXJrcygpLHRoaXMuX3Nob3dBbGxUaWNrTGFiZWxzKCksdGhpcy5faGlkZVRpY2tNYXJrc1dpdGhvdXRMYWJlbCgpLHRoaXN9LGUucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiB0LnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxlLG4saSksdGhpcy5pc0hvcml6b250YWwoKXx8dGhpcy5fc2NhbGUucmFuZ2UoWzAsdGhpcy5oZWlnaHQoKV0pLHRoaXN9LGUucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT1mdW5jdGlvbigpe3QucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZS5jYWxsKHRoaXMpLHRoaXMuX21lYXN1cmVyLnJlc2V0KCl9LGUuX01JTklNVU1fV0lEVEhfUEVSX0xBQkVMX1BYPTE1LGV9KShEdnQuQXhpcyk7a2d0LkNhdGVnb3J5PUJ2dDt2YXIgSHZ0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShIdnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBGdnQ9Qk8sVnZ0PXdwdCxVdnQ9TGd0LGp2dD1wdnQsR3Z0PURfdCxXdnQ9ZHZ0LHF2dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLG4pe3ZhciBpPXQuY2FsbCh0aGlzLGUsbil8fHRoaXM7cmV0dXJuIGkuX3RpY2tMYWJlbFBvc2l0aW9uaW5nPSJjZW50ZXIiLGkuX3VzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uPSExLGkuZm9ybWF0dGVyKGp2dC5nZW5lcmFsKCkpLGl9cmV0dXJuIEZ2dC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKTt2YXIgZT1uZXcgVXZ0LlN2Z0NvbnRleHQodGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLm5vZGUoKSxXdnQuQXhpcy5USUNLX0xBQkVMX0NMQVNTKTt0aGlzLl9tZWFzdXJlcj1uZXcgVXZ0LkNhY2hlTWVhc3VyZXIoZSksdGhpcy5fd3JhcHBlcj0obmV3IFV2dC5XcmFwcGVyKS5tYXhMaW5lcygxKX0sZS5wcm90b3R5cGUuX2NvbXB1dGVXaWR0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3VzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uP3RoaXMuX2NvbXB1dGVBcHByb3hpbWF0ZVRleHRXaWR0aCgpOnRoaXMuX2NvbXB1dGVFeGFjdFRleHRXaWR0aCgpO3JldHVybiJjZW50ZXIiPT09dGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmc/dGhpcy5fbWF4TGFiZWxUaWNrTGVuZ3RoKCkrdGhpcy50aWNrTGFiZWxQYWRkaW5nKCkrdDpNYXRoLm1heCh0aGlzLl9tYXhMYWJlbFRpY2tMZW5ndGgoKSx0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKSt0KX0sZS5wcm90b3R5cGUuX2NvbXB1dGVFeGFjdFRleHRXaWR0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9nZXRUaWNrVmFsdWVzKCkubWFwKChmdW5jdGlvbihlKXt2YXIgbj10LmZvcm1hdHRlcigpKGUpO3JldHVybiB0Ll9tZWFzdXJlci5tZWFzdXJlKG4pLndpZHRofSkpO3JldHVybiBHdnQuTWF0aC5tYXgoZSwwKX0sZS5wcm90b3R5cGUuX2NvbXB1dGVBcHByb3hpbWF0ZVRleHRXaWR0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9nZXRUaWNrVmFsdWVzKCksbj10aGlzLl9tZWFzdXJlci5tZWFzdXJlKCJNIikud2lkdGgsaT1lLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQuZm9ybWF0dGVyKCkoZSkubGVuZ3RoKm59KSk7cmV0dXJuIEd2dC5NYXRoLm1heChpLDApfSxlLnByb3RvdHlwZS5fY29tcHV0ZUhlaWdodD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoKS5oZWlnaHQ7cmV0dXJuImNlbnRlciI9PT10aGlzLl90aWNrTGFiZWxQb3NpdGlvbmluZz90aGlzLl9tYXhMYWJlbFRpY2tMZW5ndGgoKSt0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKSt0Ok1hdGgubWF4KHRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpLHRoaXMudGlja0xhYmVsUGFkZGluZygpK3QpfSxlLnByb3RvdHlwZS5fZ2V0VGlja1ZhbHVlcz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3NjYWxlLGU9dC5kb21haW4oKSxuPWVbMF08PWVbMV0/ZVswXTplWzFdLGk9ZVswXT49ZVsxXT9lWzBdOmVbMV07cmV0dXJuIHQudGlja3MoKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0Pj1uJiZ0PD1pfSkpfSxlLnByb3RvdHlwZS5fcmVzY2FsZT1mdW5jdGlvbigpe2lmKHRoaXMuX2lzU2V0dXApe2lmKCF0aGlzLmlzSG9yaXpvbnRhbCgpKXt2YXIgdD10aGlzLl9jb21wdXRlV2lkdGgoKTtpZih0PnRoaXMud2lkdGgoKXx8dDx0aGlzLndpZHRoKCktdGhpcy5tYXJnaW4oKSlyZXR1cm4gdm9pZCB0aGlzLnJlZHJhdygpfXRoaXMucmVuZGVyKCl9fSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt2YXIgbj17eDowLHk6MCxkeDoiMGVtIixkeToiMC4zZW0ifSxpPXRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpLHI9dGhpcy50aWNrTGFiZWxQYWRkaW5nKCksbz0ibWlkZGxlIixhPTAscz0wLGw9MCxjPTA7aWYodGhpcy5pc0hvcml6b250YWwoKSlzd2l0Y2godGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmcpe2Nhc2UibGVmdCI6bz0iZW5kIixhPS1yLGM9cjticmVhaztjYXNlImNlbnRlciI6Yz1pK3I7YnJlYWs7Y2FzZSJyaWdodCI6bz0ic3RhcnQiLGE9cixjPXJ9ZWxzZSBzd2l0Y2godGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmcpe2Nhc2UidG9wIjpuLmR5PSItMC4zZW0iLGw9cixzPS1yO2JyZWFrO2Nhc2UiY2VudGVyIjpsPWkrcjticmVhaztjYXNlImJvdHRvbSI6bi5keT0iMWVtIixsPXIscz1yfXZhciB1PXRoaXMuX2dlbmVyYXRlVGlja01hcmtBdHRySGFzaCgpO3N3aXRjaCh0aGlzLm9yaWVudGF0aW9uKCkpe2Nhc2UiYm90dG9tIjpuLng9dS54MSxuLmR5PSIwLjk1ZW0iLHM9dS55MStjO2JyZWFrO2Nhc2UidG9wIjpuLng9dS54MSxuLmR5PSItLjI1ZW0iLHM9dS55MS1jO2JyZWFrO2Nhc2UibGVmdCI6bz0iZW5kIixhPXUueDEtbCxuLnk9dS55MTticmVhaztjYXNlInJpZ2h0IjpvPSJzdGFydCIsYT11LngxK2wsbi55PXUueTF9dmFyIGg9dGhpcy5fZ2V0VGlja1ZhbHVlcygpLGQ9dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrV3Z0LkF4aXMuVElDS19MQUJFTF9DTEFTUykuZGF0YShoKTtyZXR1cm4gZC5leGl0KCkucmVtb3ZlKCksZC5lbnRlcigpLmFwcGVuZCgidGV4dCIpLmNsYXNzZWQoV3Z0LkF4aXMuVElDS19MQUJFTF9DTEFTUywhMCkubWVyZ2UoZCkuc3R5bGUoInRleHQtYW5jaG9yIixvKS5zdHlsZSgidmlzaWJpbGl0eSIsImluaGVyaXQiKS5hdHRycyhuKS50ZXh0KChmdW5jdGlvbih0KXtyZXR1cm4gZS5mb3JtYXR0ZXIoKSh0KX0pKSx0aGlzLl90aWNrTGFiZWxDb250YWluZXIuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrYSsiLCAiK3MrIikiKSx0aGlzLl9zaG93QWxsVGlja01hcmtzKCksdGhpcy5zaG93RW5kVGlja0xhYmVscygpfHx0aGlzLl9oaWRlRW5kVGlja0xhYmVscygpLHRoaXMuX2hpZGVPdmVyZmxvd2luZ1RpY2tMYWJlbHMoKSx0aGlzLl9oaWRlT3ZlcmxhcHBpbmdUaWNrTGFiZWxzKCksImNlbnRlciIhPT10aGlzLl90aWNrTGFiZWxQb3NpdGlvbmluZyYmdGhpcy5faGlkZVRpY2tNYXJrc1dpdGhvdXRMYWJlbCgpLHRoaXN9LGUucHJvdG90eXBlLnRpY2tMYWJlbFBvc2l0aW9uPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3RpY2tMYWJlbFBvc2l0aW9uaW5nO3ZhciBlPXQudG9Mb3dlckNhc2UoKTtpZih0aGlzLmlzSG9yaXpvbnRhbCgpKXtpZigibGVmdCIhPT1lJiYiY2VudGVyIiE9PWUmJiJyaWdodCIhPT1lKXRocm93IG5ldyBFcnJvcihlKyIgaXMgbm90IGEgdmFsaWQgdGljayBsYWJlbCBwb3NpdGlvbiBmb3IgYSBob3Jpem9udGFsIE51bWVyaWNBeGlzIil9ZWxzZSBpZigidG9wIiE9PWUmJiJjZW50ZXIiIT09ZSYmImJvdHRvbSIhPT1lKXRocm93IG5ldyBFcnJvcihlKyIgaXMgbm90IGEgdmFsaWQgdGljayBsYWJlbCBwb3NpdGlvbiBmb3IgYSB2ZXJ0aWNhbCBOdW1lcmljQXhpcyIpO3JldHVybiB0aGlzLl90aWNrTGFiZWxQb3NpdGlvbmluZz1lLHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUudXNlc1RleHRXaWR0aEFwcHJveGltYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fdXNlc1RleHRXaWR0aEFwcHJveGltYXRpb246KHRoaXMuX3VzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uPXQsdGhpcyl9LGUucHJvdG90eXBlLl9oaWRlRW5kVGlja0xhYmVscz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZWxlbWVudCgpLm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxlPXRoaXMuX3RpY2tMYWJlbENvbnRhaW5lci5zZWxlY3RBbGwoIi4iK1d2dC5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MpO2lmKDAhPT1lLnNpemUoKSl7dmFyIG49ZS5ub2RlcygpWzBdO0d2dC5ET00uY2xpZW50UmVjdEluc2lkZShuLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQpfHxWdnQuc2VsZWN0KG4pLnN0eWxlKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIik7dmFyIGk9ZS5ub2RlcygpW2Uuc2l6ZSgpLTFdO0d2dC5ET00uY2xpZW50UmVjdEluc2lkZShpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQpfHxWdnQuc2VsZWN0KGkpLnN0eWxlKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIil9fSxlLnByb3RvdHlwZS5faGlkZU92ZXJsYXBwaW5nVGlja0xhYmVscz1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLl90aWNrTGFiZWxDb250YWluZXIuc2VsZWN0QWxsKCIuIitXdnQuQXhpcy5USUNLX0xBQkVMX0NMQVNTKS5maWx0ZXIoKGZ1bmN0aW9uKHQsZSl7dmFyIG49VnZ0LnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIpO3JldHVybiJpbmhlcml0Ij09PW58fCJ2aXNpYmxlIj09PW59KSksZT10Lm5vZGVzKCkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0pKSxuPTE7IXRoaXMuX2hhc092ZXJsYXBXaXRoSW50ZXJ2YWwobixlKSYmbjxlLmxlbmd0aDspbis9MTt0LmVhY2goKGZ1bmN0aW9uKHQsZSl7dmFyIGk9VnZ0LnNlbGVjdCh0aGlzKTtlJW4hPTAmJmkuc3R5bGUoInZpc2liaWxpdHkiLCJoaWRkZW4iKX0pKX0sZS5wcm90b3R5cGUuX2hhc092ZXJsYXBXaXRoSW50ZXJ2YWw9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49ImNlbnRlciI9PT10aGlzLl90aWNrTGFiZWxQb3NpdGlvbmluZz90aGlzLnRpY2tMYWJlbFBhZGRpbmcoKTozKnRoaXMudGlja0xhYmVsUGFkZGluZygpLGk9ZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBHdnQuRE9NLmV4cGFuZFJlY3QodCxuKX0pKSxyPTA7cjxpLmxlbmd0aC10O3IrPXQpe2lmKEd2dC5ET00uY2xpZW50UmVjdHNPdmVybGFwKGlbcl0saVtyK3RdKSlyZXR1cm4hMX1yZXR1cm4hMH0sZS5wcm90b3R5cGUuaW52YWxpZGF0ZUNhY2hlPWZ1bmN0aW9uKCl7dC5wcm90b3R5cGUuaW52YWxpZGF0ZUNhY2hlLmNhbGwodGhpcyksdGhpcy5fbWVhc3VyZXIucmVzZXQoKX0sZX0pKFd2dC5BeGlzKTtIdnQuTnVtZXJpYz1xdnQ7dmFyIFl2dD17fSxYdnQ9e30sJHZ0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoJHZ0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgS3Z0PURfdDskdnQuaW50ZXJ2YWxUaWNrR2VuZXJhdG9yPWZ1bmN0aW9uIFp2dCh0KXtpZih0PD0wKXRocm93IG5ldyBFcnJvcigiaW50ZXJ2YWwgbXVzdCBiZSBwb3NpdGl2ZSBudW1iZXIiKTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49ZS5kb21haW4oKSxpPU1hdGgubWluKG5bMF0sblsxXSkscj1NYXRoLm1heChuWzBdLG5bMV0pLG89TWF0aC5jZWlsKGkvdCkqdCxhPU1hdGguZmxvb3IoKHItbykvdCkrMSxzPWkldD09MD9bXTpbaV0sbD1LdnQuTWF0aC5yYW5nZSgwLGEpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIG8rZSp0fSkpLGM9ciV0PT0wP1tdOltyXTtyZXR1cm4gcy5jb25jYXQobCkuY29uY2F0KGMpfX0sJHZ0LmludGVnZXJUaWNrR2VuZXJhdG9yPWZ1bmN0aW9uIEp2dCgpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT10LmRlZmF1bHRUaWNrcygpO3JldHVybiBlLmZpbHRlcigoZnVuY3Rpb24odCxuKXtyZXR1cm4gdCUxPT0wfHwwPT09bnx8bj09PWUubGVuZ3RoLTF9KSl9fTt2YXIgUXZ0PXt9LHRidD17fTtmdW5jdGlvbiBlYnQodCxlLG4pe3JldHVybiBuLShuLXQpKmV9ZnVuY3Rpb24gbmJ0KHQsZSxuKXtyZXR1cm4odCplLW4pLyhlLTEpfWZ1bmN0aW9uIGlidCh0LGUsbixpKXt2YXIgcj1lPjEsbz1yP2k6bjtpZihudWxsPT1vKXJldHVybiBlO3ZhciBhPXQuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKSxzPU1hdGguYWJzKGFbMV0tYVswXSk7cmV0dXJuKHI/TWF0aC5taW46TWF0aC5tYXgpKGUsby9zKX1mdW5jdGlvbiByYnQodCxlLG4saSxyKXtpZihlPD0xKXJldHVybntjZW50ZXJQb2ludDpuLHpvb21BbW91bnQ6ZX07aWYobnVsbD09aSYmbnVsbD09cilyZXR1cm57Y2VudGVyUG9pbnQ6bix6b29tQW1vdW50OmV9O3ZhciBvPW9idCh0KSxhPShmdW5jdGlvbiBzKHQpe3ZhciBlPXQuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKTtyZXR1cm4gZVsxXTxlWzBdfSkodCk7aT1udWxsPT1pP2E/MS8wOi0xLzA6aSxyPW51bGw9PXI/YT8tMS8wOjEvMDpyO3ZhciBsPXQuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKSxjPWxbMF0sdT1sWzFdLGg9dC5zY2FsZVRyYW5zZm9ybWF0aW9uKHIpLGQ9dC5zY2FsZVRyYW5zZm9ybWF0aW9uKHUpLHA9ZWJ0KGQsZSxuKSxmPXQuc2NhbGVUcmFuc2Zvcm1hdGlvbihpKSxtPXQuc2NhbGVUcmFuc2Zvcm1hdGlvbihjKSxnPWVidChtLGUsbiksXz1NYXRoLmFicyhoLWYpO2lmKE1hdGguYWJzKHAtZyk+Xyl7dmFyIHk9KGgtZikvKGQtbSk7cmV0dXJuIDEhPT15P3tjZW50ZXJQb2ludDpuYnQoZCx5LGgpLHpvb21BbW91bnQ6eX06e2NlbnRlclBvaW50Om4sem9vbUFtb3VudDp5fX1yZXR1cm4gcD5oIT1vP3tjZW50ZXJQb2ludDpuYnQoZCxlLGgpLHpvb21BbW91bnQ6ZX06ZzxmIT1vP3tjZW50ZXJQb2ludDpuYnQobSxlLGYpLHpvb21BbW91bnQ6ZX06e2NlbnRlclBvaW50Om4sem9vbUFtb3VudDplfX1mdW5jdGlvbiBvYnQodCl7dmFyIGU9dC5yYW5nZSgpO3JldHVybiBlWzFdPGVbMF19Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTctcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHRidC56b29tT3V0PWVidCx0YnQuY29uc3RyYWluZWRab29tPWZ1bmN0aW9uIGFidCh0LGUsbixpLHIsbyxhKXtyZXR1cm4gcmJ0KHQsZT1pYnQodCxlLGksciksbixvLGEpfSx0YnQuY29uc3RyYWluWm9vbUV4dGVudHM9aWJ0LHRidC5jb25zdHJhaW5ab29tVmFsdWVzPXJidCx0YnQuY29uc3RyYWluZWRUcmFuc2xhdGlvbj1mdW5jdGlvbiBzYnQodCxlLG4saSl7dmFyIHIsbz10LmdldFRyYW5zZm9ybWF0aW9uRG9tYWluKCksYT1vWzBdLHM9b1sxXSxsPW9idCh0KTtpZihlPjAhPT1sKXtpZihudWxsIT0ocj1pKSl7dmFyIGM9dC5zY2FsZVRyYW5zZm9ybWF0aW9uKHMpLHU9dC5zY2FsZVRyYW5zZm9ybWF0aW9uKHIpO2U9KGw/TWF0aC5tYXg6TWF0aC5taW4pKGMrZSx1KS1jfX1lbHNlIGlmKG51bGwhPShyPW4pKXt2YXIgaD10LnNjYWxlVHJhbnNmb3JtYXRpb24oYSksZD10LnNjYWxlVHJhbnNmb3JtYXRpb24ocik7ZT0obD9NYXRoLm1pbjpNYXRoLm1heCkoaCtlLGQpLWh9cmV0dXJuIGV9O3ZhciBsYnQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KGxidCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGNidD1EX3QsdWJ0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLl9hdXRvRG9tYWluQXV0b21hdGljYWxseT0hMCx0aGlzLl9kb21haW5Nb2RpZmljYXRpb25JblByb2dyZXNzPSExLHRoaXMuX3VwZGF0ZUlkPTAsdGhpcy5fY2FsbGJhY2tzPW5ldyBjYnQuQ2FsbGJhY2tTZXQsdGhpcy5faW5jbHVkZWRWYWx1ZXNQcm92aWRlcnM9bmV3IGNidC5TZXR9cmV0dXJuIHQucHJvdG90eXBlLmV4dGVudE9mVmFsdWVzPWZ1bmN0aW9uKHQpe3JldHVybltdfSx0LnByb3RvdHlwZS5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt2b2lkIDA9PT10JiYodD0hMSk7dmFyIG49W107cmV0dXJuIHRoaXMuX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXJzLmZvckVhY2goKGZ1bmN0aW9uKGkpe3ZhciByPWkoZSx0KTtuPW4uY29uY2F0KHIpfSkpLG59LHQucHJvdG90eXBlLl9nZXRFeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm5bXX0sdC5wcm90b3R5cGUub25VcGRhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2NhbGxiYWNrcy5hZGQodCksdGhpc30sdC5wcm90b3R5cGUub2ZmVXBkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LHQucHJvdG90eXBlLl9kaXNwYXRjaFVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUlkKyssdGhpcy5fY2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcyl9LHQucHJvdG90eXBlLmF1dG9Eb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYXV0b0RvbWFpbkF1dG9tYXRpY2FsbHk9ITAsdGhpcy5fc2V0RG9tYWluKHRoaXMuX2dldEV4dGVudCgpKSx0aGlzfSx0LnByb3RvdHlwZS5hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlPWZ1bmN0aW9uKCl7dGhpcy5fYXV0b0RvbWFpbkF1dG9tYXRpY2FsbHkmJnRoaXMuYXV0b0RvbWFpbigpfSx0LnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoIlN1YmNsYXNzZXMgc2hvdWxkIG92ZXJyaWRlIHNjYWxlIil9LHQucHJvdG90eXBlLnRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tYWluKCl9LHQucHJvdG90eXBlLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9nZXREb21haW4oKToodGhpcy5fYXV0b0RvbWFpbkF1dG9tYXRpY2FsbHk9ITEsdGhpcy5fc2V0RG9tYWluKHQpLHRoaXMpfSx0LnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBfZ2V0RG9tYWluIil9LHQucHJvdG90eXBlLl9zZXREb21haW49ZnVuY3Rpb24odCl7dGhpcy5fZG9tYWluTW9kaWZpY2F0aW9uSW5Qcm9ncmVzc3x8KHRoaXMuX2RvbWFpbk1vZGlmaWNhdGlvbkluUHJvZ3Jlc3M9ITAsdGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKHQpLHRoaXMuX2Rpc3BhdGNoVXBkYXRlKCksdGhpcy5fZG9tYWluTW9kaWZpY2F0aW9uSW5Qcm9ncmVzcz0hMSl9LHQucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBfYmFja2luZ0RvbWFpbiIpfSx0LnByb3RvdHlwZS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9nZXRSYW5nZSgpOih0aGlzLl9zZXRSYW5nZSh0KSx0aGlzKX0sdC5wcm90b3R5cGUuX2dldFJhbmdlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBfZ2V0UmFuZ2UiKX0sdC5wcm90b3R5cGUuX3NldFJhbmdlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgX3NldFJhbmdlIil9LHQucHJvdG90eXBlLmFkZEluY2x1ZGVkVmFsdWVzUHJvdmlkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXJzLmFkZCh0KSx0aGlzLmF1dG9Eb21haW5JZkF1dG9tYXRpY01vZGUoKSx0aGlzfSx0LnByb3RvdHlwZS5yZW1vdmVJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pbmNsdWRlZFZhbHVlc1Byb3ZpZGVycy5kZWxldGUodCksdGhpcy5hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCksdGhpc30sdC5wcm90b3R5cGUudXBkYXRlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdXBkYXRlSWR9LHR9KSgpO2xidC5TY2FsZT11YnQsCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShRdnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBoYnQ9Qk8sZGJ0PXdwdCxwYnQ9dGJ0LGZidD1EX3QsbWJ0PVswLDFdLGdidD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBuPXQuY2FsbCh0aGlzKXx8dGhpcztuLl9yYW5nZT1bMCwxXSxuLl9kM1NjYWxlPWRidC5zY2FsZUJhbmQoKSxuLl9kM1NjYWxlLnJhbmdlKG1idCksbi5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlPWRidC5zY2FsZUxpbmVhcigpLG4uX2QzVHJhbnNmb3JtYXRpb25TY2FsZS5kb21haW4obWJ0KTtyZXR1cm4gbi5faW5uZXJQYWRkaW5nPWUuX2NvbnZlcnRUb1Bsb3R0YWJsZUlubmVyUGFkZGluZyguMyksbi5fb3V0ZXJQYWRkaW5nPWUuX2NvbnZlcnRUb1Bsb3R0YWJsZU91dGVyUGFkZGluZyguNSwuMyksbn1yZXR1cm4gaGJ0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmNsb25lV2l0aG91dFByb3ZpZGVycz1mdW5jdGlvbigpe3ZhciB0PShuZXcgZSkuZG9tYWluKHRoaXMuZG9tYWluKCkpLnJhbmdlKHRoaXMucmFuZ2UoKSkuaW5uZXJQYWRkaW5nKHRoaXMuaW5uZXJQYWRkaW5nKCkpLm91dGVyUGFkZGluZyh0aGlzLm91dGVyUGFkZGluZygpKTtyZXR1cm4gdC5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmRvbWFpbih0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUuZG9tYWluKCkpLHR9LGUucHJvdG90eXBlLmV4dGVudE9mVmFsdWVzPWZ1bmN0aW9uKHQpe3JldHVybiBmYnQuQXJyYXkudW5pcSh0KX0sZS5wcm90b3R5cGUuX2dldEV4dGVudD1mdW5jdGlvbigpe3JldHVybiBmYnQuQXJyYXkudW5pcSh0aGlzLl9nZXRBbGxJbmNsdWRlZFZhbHVlcygpKX0sZS5wcm90b3R5cGUuZG9tYWluPWZ1bmN0aW9uKGUpe3JldHVybiB0LnByb3RvdHlwZS5kb21haW4uY2FsbCh0aGlzLGUpfSxlLnByb3RvdHlwZS5pbnZlcnRSYW5nZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3ZvaWQgMD09PXQmJih0PXRoaXMucmFuZ2UoKSk7dmFyIG49dGhpcy5fZDNTY2FsZS5iYW5kd2lkdGgoKSxpPXRoaXMuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbih0WzBdKSxyPXRoaXMuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbih0WzFdKSxvPXRoaXMuX2QzU2NhbGUuZG9tYWluKCksYT1vLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2QzU2NhbGUodCkrbi8yfSkpLHM9ZGJ0LmJpc2VjdChhLGkpLGw9ZGJ0LmJpc2VjdChhLHIpO3JldHVybiBvLnNsaWNlKHMsbCl9LGUucHJvdG90eXBlLnJhbmdlPWZ1bmN0aW9uKGUpe3JldHVybiB0LnByb3RvdHlwZS5yYW5nZS5jYWxsKHRoaXMsZSl9LGUuX2NvbnZlcnRUb1Bsb3R0YWJsZUlubmVyUGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gMS8oMS10KS0xfSxlLl9jb252ZXJ0VG9QbG90dGFibGVPdXRlclBhZGRpbmc9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC8oMS1lKX0sZS5wcm90b3R5cGUuX3NldEJhbmRzPWZ1bmN0aW9uKCl7dmFyIHQ9MS0xLygxK3RoaXMuaW5uZXJQYWRkaW5nKCkpLGU9dGhpcy5vdXRlclBhZGRpbmcoKS8oMSt0aGlzLmlubmVyUGFkZGluZygpKTt0aGlzLl9kM1NjYWxlLnBhZGRpbmdJbm5lcih0KSx0aGlzLl9kM1NjYWxlLnBhZGRpbmdPdXRlcihlKX0sZS5wcm90b3R5cGUucmFuZ2VCYW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Jlc2NhbGVCYW5kKHRoaXMuX2QzU2NhbGUuYmFuZHdpZHRoKCkpfSxlLnByb3RvdHlwZS5zdGVwV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVzY2FsZUJhbmQodGhpcy5fZDNTY2FsZS5iYW5kd2lkdGgoKSooMSt0aGlzLmlubmVyUGFkZGluZygpKSl9LGUucHJvdG90eXBlLnRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tYWluKCl9LGUucHJvdG90eXBlLmlubmVyUGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9pbm5lclBhZGRpbmc6KHRoaXMuX2lubmVyUGFkZGluZz10LHRoaXMucmFuZ2UodGhpcy5yYW5nZSgpKSx0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpLHRoaXMpfSxlLnByb3RvdHlwZS5vdXRlclBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fb3V0ZXJQYWRkaW5nOih0aGlzLl9vdXRlclBhZGRpbmc9dCx0aGlzLnJhbmdlKHRoaXMucmFuZ2UoKSksdGhpcy5fZGlzcGF0Y2hVcGRhdGUoKSx0aGlzKX0sZS5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fZDNTY2FsZSh0KSt0aGlzLl9kM1NjYWxlLmJhbmR3aWR0aCgpLzI7cmV0dXJuIHRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZShlKX0sZS5wcm90b3R5cGUuem9vbT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXM7dGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmRvbWFpbih0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUucmFuZ2UoKS5tYXAoKGZ1bmN0aW9uKGkpe3JldHVybiBuLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUuaW52ZXJ0KHBidC56b29tT3V0KGksdCxlKSl9KSkpLHRoaXMuX2Rpc3BhdGNoVXBkYXRlKCl9LGUucHJvdG90eXBlLnBhbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZS5kb21haW4odGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLnJhbmdlKCkubWFwKChmdW5jdGlvbihuKXtyZXR1cm4gZS5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmludmVydChuK3QpfSkpKSx0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpfSxlLnByb3RvdHlwZS5zY2FsZVRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUodCl9LGUucHJvdG90eXBlLmludmVydGVkVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZS5pbnZlcnQodCl9LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIG1idH0sZS5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmRvbWFpbigpfSxlLnByb3RvdHlwZS5zZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbj1mdW5jdGlvbih0KXt0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUuZG9tYWluKHQpLHRoaXMuX2Rpc3BhdGNoVXBkYXRlKCl9LGUucHJvdG90eXBlLl9nZXREb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKCl9LGUucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZDNTY2FsZS5kb21haW4oKToodGhpcy5fZDNTY2FsZS5kb21haW4odCksdGhpcy5fc2V0QmFuZHMoKSx0aGlzKX0sZS5wcm90b3R5cGUuX2dldFJhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JhbmdlfSxlLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24odCl7dGhpcy5fcmFuZ2U9dCx0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUucmFuZ2UodCksdGhpcy5fc2V0QmFuZHMoKX0sZS5wcm90b3R5cGUuX3Jlc2NhbGVCYW5kPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLmFicyh0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUodCktdGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlKDApKX0sZX0pKGxidC5TY2FsZSk7UXZ0LkNhdGVnb3J5PWdidDt2YXIgX2J0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShfYnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB5YnQ9Qk8sdmJ0PXdwdCxiYnQ9RF90LHhidD1sYnQsd2J0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLmNvdW50PTAsdGhpcy50cmFja2VyPXt9fXJldHVybiB0LnByb3RvdHlwZS5nZXRJbmRleD1mdW5jdGlvbih0KXtpZihudWxsIT10aGlzLnRyYWNrZXJbdF0pcmV0dXJuIHRoaXMudHJhY2tlclt0XTt2YXIgZT10aGlzLmNvdW50O3JldHVybiB0aGlzLnRyYWNrZXJbdF09ZSx0aGlzLmNvdW50Kz0xLGV9LHQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5jb3VudD0wLHRoaXMudHJhY2tlcj17fX0sdH0pKCksU2J0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKG4pe3ZhciBpLHI9dC5jYWxsKHRoaXMpfHx0aGlzO3N3aXRjaChyLl9yYW5nZUxlbmd0aD0xLHIuX3RyYWNrZXI9bmV3IHdidCxuKXtjYXNlIG51bGw6Y2FzZSB2b2lkIDA6bnVsbD09ZS5fcGxvdHRhYmxlQ29sb3JDYWNoZSYmKGUuX3Bsb3R0YWJsZUNvbG9yQ2FjaGU9ZS5fZ2V0UGxvdHRhYmxlQ29sb3JzKCkpLGk9dmJ0LnNjYWxlT3JkaW5hbCgpLnJhbmdlKGUuX3Bsb3R0YWJsZUNvbG9yQ2FjaGUpO2JyZWFrO2Nhc2UiQ2F0ZWdvcnkxMCI6Y2FzZSJjYXRlZ29yeTEwIjpjYXNlIjEwIjppPXZidC5zY2FsZU9yZGluYWwodmJ0LnNjaGVtZUNhdGVnb3J5MTApO2JyZWFrO2Nhc2UiQ2F0ZWdvcnkyMCI6Y2FzZSJjYXRlZ29yeTIwIjpjYXNlIjIwIjppPXZidC5zY2FsZU9yZGluYWwodmJ0LnNjaGVtZUNhdGVnb3J5MjApO2JyZWFrO2Nhc2UiQ2F0ZWdvcnkyMGIiOmNhc2UiY2F0ZWdvcnkyMGIiOmNhc2UiMjBiIjppPXZidC5zY2FsZU9yZGluYWwodmJ0LnNjaGVtZUNhdGVnb3J5MjBiKTticmVhaztjYXNlIkNhdGVnb3J5MjBjIjpjYXNlImNhdGVnb3J5MjBjIjpjYXNlIjIwYyI6aT12YnQuc2NhbGVPcmRpbmFsKHZidC5zY2hlbWVDYXRlZ29yeTIwYyk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIENvbG9yU2NhbGUgdHlwZSIpfXJldHVybiByLl9kM1NjYWxlPWksci5fcmFuZ2VMZW5ndGg9ci5fZDNTY2FsZS5yYW5nZSgpLmxlbmd0aCxyfXJldHVybiB5YnQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuZXh0ZW50T2ZWYWx1ZXM9ZnVuY3Rpb24odCl7cmV0dXJuIGJidC5BcnJheS51bmlxKHQpfSxlLnByb3RvdHlwZS5fZ2V0RXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGJidC5BcnJheS51bmlxKHRoaXMuX2dldEFsbEluY2x1ZGVkVmFsdWVzKCkpfSxlLmludmFsaWRhdGVDb2xvckNhY2hlPWZ1bmN0aW9uKCl7ZS5fcGxvdHRhYmxlQ29sb3JDYWNoZT1udWxsfSxlLl9nZXRQbG90dGFibGVDb2xvcnM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT12YnQuc2VsZWN0KCJib2R5IikuYXBwZW5kKCJwbG90dGFibGUtY29sb3ItdGVzdGVyIiksbj1iYnQuQ29sb3IuY29sb3JUZXN0KGUsIiIpLGk9MCxyPWJidC5Db2xvci5jb2xvclRlc3QoZSwicGxvdHRhYmxlLWNvbG9ycy0wIik7bnVsbCE9ciYmaTx0aGlzLl9NQVhJTVVNX0NPTE9SU19GUk9NX0NTUyYmKHIhPT1ufHxyIT09dFt0Lmxlbmd0aC0xXSk7KXQucHVzaChyKSxpKysscj1iYnQuQ29sb3IuY29sb3JUZXN0KGUsInBsb3R0YWJsZS1jb2xvcnMtIitpKTtyZXR1cm4gZS5yZW1vdmUoKSx0fSxlLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0KXt2YXIgbj10aGlzLl9kM1NjYWxlKHQpLGk9dGhpcy5fdHJhY2tlci5nZXRJbmRleCh0KSxyPU1hdGguZmxvb3IoaS90aGlzLl9yYW5nZUxlbmd0aCk7aWYoMD09PXIpcmV0dXJuIG47dmFyIG89TWF0aC5sb2cociplLl9MT09QX0xJR0hURU5fRkFDVE9SKzEpO3JldHVybiBiYnQuQ29sb3IubGlnaHRlbkNvbG9yKG4sbyl9LGUucHJvdG90eXBlLl9nZXREb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKCl9LGUucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZDNTY2FsZS5kb21haW4oKToodGhpcy5fZDNTY2FsZS5kb21haW4odCksdGhpcy5fdHJhY2tlci5jbGVhcigpLHRoaXMpfSxlLnByb3RvdHlwZS5fZ2V0UmFuZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS5yYW5nZSgpfSxlLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24odCl7dGhpcy5fZDNTY2FsZS5yYW5nZSh0KSx0aGlzLl9yYW5nZUxlbmd0aD10Lmxlbmd0aH0sZS5fTE9PUF9MSUdIVEVOX0ZBQ1RPUj0xLjYsZS5fTUFYSU1VTV9DT0xPUlNfRlJPTV9DU1M9MjU2LGV9KSh4YnQuU2NhbGUpO19idC5Db2xvcj1TYnQ7dmFyIE1idD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoTWJ0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgRWJ0PUJPLFRidD13cHQsQ2J0PURfdCxBYnQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUobil7dm9pZCAwPT09biYmKG49ImxpbmVhciIpO3ZhciBpPXQuY2FsbCh0aGlzKXx8dGhpcztzd2l0Y2gobil7Y2FzZSJsaW5lYXIiOmkuX2NvbG9yU2NhbGU9VGJ0LnNjYWxlTGluZWFyKCk7YnJlYWs7Y2FzZSJsb2ciOmkuX2NvbG9yU2NhbGU9VGJ0LnNjYWxlTG9nKCk7YnJlYWs7Y2FzZSJzcXJ0IjppLl9jb2xvclNjYWxlPVRidC5zY2FsZVNxcnQoKTticmVhaztjYXNlInBvdyI6aS5fY29sb3JTY2FsZT1UYnQuc2NhbGVQb3coKX1pZihudWxsPT1pLl9jb2xvclNjYWxlKXRocm93IG5ldyBFcnJvcigidW5rbm93biBRdWFudGl0YXRpdmVTY2FsZSBzY2FsZSB0eXBlICIrbik7cmV0dXJuIGkucmFuZ2UoZS5SRURTKSxpfXJldHVybiBFYnQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuZXh0ZW50T2ZWYWx1ZXM9ZnVuY3Rpb24odCl7dmFyIGU9VGJ0LmV4dGVudCh0KTtyZXR1cm4gbnVsbD09ZVswXXx8bnVsbD09ZVsxXT9bXTplfSxlLnByb3RvdHlwZS5fZDNJbnRlcnBvbGF0ZWRTY2FsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb2xvclNjYWxlLnJhbmdlKFswLDFdKS5pbnRlcnBvbGF0ZSh0aGlzLl9pbnRlcnBvbGF0ZUNvbG9ycygpKX0sZS5wcm90b3R5cGUuX2ludGVycG9sYXRlQ29sb3JzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fY29sb3JSYW5nZTtpZih0Lmxlbmd0aDwyKXRocm93IG5ldyBFcnJvcigiQ29sb3Igc2NhbGUgYXJyYXlzIG11c3QgaGF2ZSBhdCBsZWFzdCB0d28gZWxlbWVudHMuIik7cmV0dXJuIGZ1bmN0aW9uKGUsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPShlPU1hdGgubWF4KDAsTWF0aC5taW4oMSxlKSkpKih0Lmxlbmd0aC0xKSxpPU1hdGguZmxvb3Iobikscj1NYXRoLmNlaWwobiksbz1uLWk7cmV0dXJuIFRidC5pbnRlcnBvbGF0ZUxhYih0W2ldLHRbcl0pKG8pfX19LGUucHJvdG90eXBlLl9yZXNldFNjYWxlPWZ1bmN0aW9uKCl7dGhpcy5fZDNTY2FsZT10aGlzLl9kM0ludGVycG9sYXRlZFNjYWxlKCksdGhpcy5hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCksdGhpcy5fZGlzcGF0Y2hVcGRhdGUoKX0sZS5wcm90b3R5cGUuYXV0b0RvbWFpbj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2dldEFsbEluY2x1ZGVkVmFsdWVzKCk7cmV0dXJuIHQubGVuZ3RoPjAmJnRoaXMuX3NldERvbWFpbihbQ2J0Lk1hdGgubWluKHQsMCksQ2J0Lk1hdGgubWF4KHQsMCldKSx0aGlzfSxlLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZDNTY2FsZSh0KX0sZS5wcm90b3R5cGUuX2dldERvbWFpbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iYWNraW5nU2NhbGVEb21haW4oKX0sZS5wcm90b3R5cGUuX2JhY2tpbmdTY2FsZURvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9kM1NjYWxlLmRvbWFpbigpOih0aGlzLl9kM1NjYWxlLmRvbWFpbih0KSx0aGlzKX0sZS5wcm90b3R5cGUuX2dldFJhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbG9yUmFuZ2V9LGUucHJvdG90eXBlLl9zZXRSYW5nZT1mdW5jdGlvbih0KXt0aGlzLl9jb2xvclJhbmdlPXQsdGhpcy5fcmVzZXRTY2FsZSgpfSxlLlJFRFM9WyIjRkZGRkZGIiwiI0ZGRjZFMSIsIiNGRUY0QzAiLCIjRkVEOTc2IiwiI0ZFQjI0QyIsIiNGRDhEM0MiLCIjRkM0RTJBIiwiI0UzMUExQyIsIiNCMTAwMjYiXSxlLkJMVUVTPVsiI0ZGRkZGRiIsIiNDQ0ZGRkYiLCIjQTVGRkZEIiwiIzg1RjdGQiIsIiM2RUQzRUYiLCIjNTVBN0UwIiwiIzQxN0ZEMCIsIiMyNTQ1RDMiLCIjMEIwMkUxIl0sZS5QT1NORUc9WyIjMEIwMkUxIiwiIzI1NDVEMyIsIiM0MTdGRDAiLCIjNTVBN0UwIiwiIzZFRDNFRiIsIiM4NUY3RkIiLCIjQTVGRkZEIiwiI0NDRkZGRiIsIiNGRkZGRkYiLCIjRkZGNkUxIiwiI0ZFRjRDMCIsIiNGRUQ5NzYiLCIjRkVCMjRDIiwiI0ZEOEQzQyIsIiNGQzRFMkEiLCIjRTMxQTFDIiwiI0IxMDAyNiJdLGV9KShsYnQuU2NhbGUpO01idC5JbnRlcnBvbGF0ZWRDb2xvcj1BYnQ7dmFyIGtidD17fSxMYnQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShMYnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBQYnQ9Qk8sTmJ0PXdwdCxJYnQ9dGJ0LFJidD1EX3QsT2J0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBlLl90aWNrR2VuZXJhdG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0LmRlZmF1bHRUaWNrcygpfSxlLl9wYWRQcm9wb3J0aW9uPS4wNSxlLl9zbmFwcGluZ0RvbWFpbkVuYWJsZWQ9ITAsZS5fcGFkZGluZ0V4Y2VwdGlvbnNQcm92aWRlcnM9bmV3IFJidC5TZXQsZX1yZXR1cm4gUGJ0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmF1dG9Eb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZG9tYWluTWluPW51bGwsdGhpcy5fZG9tYWluTWF4PW51bGwsdC5wcm90b3R5cGUuYXV0b0RvbWFpbi5jYWxsKHRoaXMpLHRoaXN9LGUucHJvdG90eXBlLmF1dG9Eb21haW5JZkF1dG9tYXRpY01vZGU9ZnVuY3Rpb24oKXtpZihudWxsPT10aGlzLl9kb21haW5NaW58fG51bGw9PXRoaXMuX2RvbWFpbk1heCl7dmFyIGU9dGhpcy5fZ2V0RXh0ZW50KCk7aWYobnVsbCE9dGhpcy5fZG9tYWluTWluKXt2YXIgbj1lWzFdO3JldHVybiB0aGlzLl9kb21haW5NaW4+PW4mJihuPXRoaXMuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluKFt0aGlzLl9kb21haW5NaW4sdGhpcy5fZG9tYWluTWluXSlbMV0pLHZvaWQgdGhpcy5fc2V0RG9tYWluKFt0aGlzLl9kb21haW5NaW4sbl0pfWlmKG51bGwhPXRoaXMuX2RvbWFpbk1heCl7dmFyIGk9ZVswXTtyZXR1cm4gdGhpcy5fZG9tYWluTWF4PD1pJiYoaT10aGlzLl9leHBhbmRTaW5nbGVWYWx1ZURvbWFpbihbdGhpcy5fZG9tYWluTWF4LHRoaXMuX2RvbWFpbk1heF0pWzBdKSx2b2lkIHRoaXMuX3NldERvbWFpbihbaSx0aGlzLl9kb21haW5NYXhdKX10LnByb3RvdHlwZS5hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlLmNhbGwodGhpcyl9ZWxzZSB0aGlzLl9zZXREb21haW4oW3RoaXMuX2RvbWFpbk1pbix0aGlzLl9kb21haW5NYXhdKX0sZS5wcm90b3R5cGUuX2dldFVuYm91bmRlZEV4dGVudD1mdW5jdGlvbih0KXt2b2lkIDA9PT10JiYodD0hMSk7dmFyIGU9dGhpcy5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXModCksbj10aGlzLl9kZWZhdWx0RXh0ZW50KCk7aWYoMCE9PWUubGVuZ3RoKXt2YXIgaT1bUmJ0Lk1hdGgubWluKGUsblswXSksUmJ0Lk1hdGgubWF4KGUsblsxXSldO249dGhpcy5fcGFkRG9tYWluKGkpfXJldHVybiBufSxlLnByb3RvdHlwZS5fZ2V0RXh0ZW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0VW5ib3VuZGVkRXh0ZW50KCk7cmV0dXJuIG51bGwhPXRoaXMuX2RvbWFpbk1pbiYmKHRbMF09dGhpcy5fZG9tYWluTWluKSxudWxsIT10aGlzLl9kb21haW5NYXgmJih0WzFdPXRoaXMuX2RvbWFpbk1heCksdH0sZS5wcm90b3R5cGUuYWRkUGFkZGluZ0V4Y2VwdGlvbnNQcm92aWRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGFkZGluZ0V4Y2VwdGlvbnNQcm92aWRlcnMuYWRkKHQpLHRoaXMuYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpLHRoaXN9LGUucHJvdG90eXBlLnJlbW92ZVBhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXJzLmRlbGV0ZSh0KSx0aGlzLmF1dG9Eb21haW5JZkF1dG9tYXRpY01vZGUoKSx0aGlzfSxlLnByb3RvdHlwZS5wYWRQcm9wb3J0aW9uPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3BhZFByb3BvcnRpb247aWYodDwwKXRocm93IG5ldyBFcnJvcigicGFkUHJvcG9ydGlvbiBtdXN0IGJlIG5vbi1uZWdhdGl2ZSIpO3JldHVybiB0aGlzLl9wYWRQcm9wb3J0aW9uPXQsdGhpcy5hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCksdGhpc30sZS5wcm90b3R5cGUuX3BhZERvbWFpbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKHRbMF0udmFsdWVPZigpPT09dFsxXS52YWx1ZU9mKCkpcmV0dXJuIHRoaXMuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluKHQpO2lmKDA9PT10aGlzLl9wYWRQcm9wb3J0aW9uKXJldHVybiB0O3ZhciBuPXRoaXMuX3BhZFByb3BvcnRpb24vMixpPXRbMF0scj10WzFdLG89ITEsYT0hMTt0aGlzLl9wYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVycy5mb3JFYWNoKChmdW5jdGlvbih0KXt0KGUpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QudmFsdWVPZigpPT09aS52YWx1ZU9mKCkmJihvPSEwKSx0LnZhbHVlT2YoKT09PXIudmFsdWVPZigpJiYoYT0hMCl9KSl9KSk7dmFyIHM9dGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKCk7dGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKHQpO3ZhciBsPW8/aTp0aGlzLmludmVydCh0aGlzLnNjYWxlKGkpLSh0aGlzLnNjYWxlKHIpLXRoaXMuc2NhbGUoaSkpKm4pLGM9YT9yOnRoaXMuaW52ZXJ0KHRoaXMuc2NhbGUocikrKHRoaXMuc2NhbGUociktdGhpcy5zY2FsZShpKSkqbik7cmV0dXJuIHRoaXMuX2JhY2tpbmdTY2FsZURvbWFpbihzKSx0aGlzLl9zbmFwcGluZ0RvbWFpbkVuYWJsZWQ/dGhpcy5fbmljZURvbWFpbihbbCxjXSk6W2wsY119LGUucHJvdG90eXBlLnNuYXBwaW5nRG9tYWluRW5hYmxlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9zbmFwcGluZ0RvbWFpbkVuYWJsZWQ6KHRoaXMuX3NuYXBwaW5nRG9tYWluRW5hYmxlZD10LHRoaXMuYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpLHRoaXMpfSxlLnByb3RvdHlwZS5fZXhwYW5kU2luZ2xlVmFsdWVEb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIHR9LGUucHJvdG90eXBlLmludmVydD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoIlN1YmNsYXNzZXMgc2hvdWxkIG92ZXJyaWRlIGludmVydCIpfSxlLnByb3RvdHlwZS5kb21haW49ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUmJih0aGlzLl9kb21haW5NaW49ZVswXSx0aGlzLl9kb21haW5NYXg9ZVsxXSksdC5wcm90b3R5cGUuZG9tYWluLmNhbGwodGhpcyxlKX0sZS5wcm90b3R5cGUuZG9tYWluTWluPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuZG9tYWluKClbMF06KHRoaXMuX2RvbWFpbk1pbj10LHRoaXMuYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpLHRoaXMpfSxlLnByb3RvdHlwZS5kb21haW5NYXg9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5kb21haW4oKVsxXToodGhpcy5fZG9tYWluTWF4PXQsdGhpcy5hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCksdGhpcyl9LGUucHJvdG90eXBlLmV4dGVudE9mVmFsdWVzPWZ1bmN0aW9uKHQpe3ZhciBlPU5idC5leHRlbnQodC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBSYnQuTWF0aC5pc1ZhbGlkTnVtYmVyKCt0KX0pKSk7cmV0dXJuIG51bGw9PWVbMF18fG51bGw9PWVbMV0/W106ZX0sZS5wcm90b3R5cGUuem9vbT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXM7dGhpcy5kb21haW4odGhpcy5yYW5nZSgpLm1hcCgoZnVuY3Rpb24oaSl7cmV0dXJuIG4uaW52ZXJ0KElidC56b29tT3V0KGksdCxlKSl9KSkpfSxlLnByb3RvdHlwZS5wYW49ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt0aGlzLmRvbWFpbih0aGlzLnJhbmdlKCkubWFwKChmdW5jdGlvbihuKXtyZXR1cm4gZS5pbnZlcnQobit0KX0pKSl9LGUucHJvdG90eXBlLnNjYWxlVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBzY2FsZVRyYW5zZm9ybWF0aW9uIil9LGUucHJvdG90eXBlLmludmVydGVkVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBpbnZlcnRlZFRyYW5zZm9ybWF0aW9uIil9LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBnZXRUcmFuc2Zvcm1hdGlvbkV4dGVudCIpfSxlLnByb3RvdHlwZS5nZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbj1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4iKX0sZS5wcm90b3R5cGUuc2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBzZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbiIpfSxlLnByb3RvdHlwZS5fc2V0RG9tYWluPWZ1bmN0aW9uKGUpe3ZhciBuPWZ1bmN0aW9uKHQpe3JldHVybiBSYnQuTWF0aC5pc05hTih0KXx8dD09PTEvMHx8dD09PS0xLzB9O24oZVswXSl8fG4oZVsxXSk/UmJ0LldpbmRvdy53YXJuKCJXYXJuaW5nOiBRdWFudGl0YXRpdmVTY2FsZXMgY2Fubm90IHRha2UgTmFOIG9yIEluZmluaXR5IGFzIGEgZG9tYWluIHZhbHVlLiBJZ25vcmluZy4iKTp0LnByb3RvdHlwZS5fc2V0RG9tYWluLmNhbGwodGhpcyxlKX0sZS5wcm90b3R5cGUuZGVmYXVsdFRpY2tzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBfZ2V0RGVmYXVsdFRpY2tzIil9LGUucHJvdG90eXBlLnRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RpY2tHZW5lcmF0b3IodGhpcyl9LGUucHJvdG90eXBlLl9uaWNlRG9tYWluPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBfbmljZURvbWFpbiIpfSxlLnByb3RvdHlwZS5fZGVmYXVsdEV4dGVudD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgX2RlZmF1bHRFeHRlbnQiKX0sZS5wcm90b3R5cGUudGlja0dlbmVyYXRvcj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl90aWNrR2VuZXJhdG9yOih0aGlzLl90aWNrR2VuZXJhdG9yPXQsdGhpcyl9LGUuX0RFRkFVTFRfTlVNX1RJQ0tTPTEwLGV9KShsYnQuU2NhbGUpO0xidC5RdWFudGl0YXRpdmVTY2FsZT1PYnQsCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShrYnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB6YnQ9Qk8sRGJ0PXdwdCxCYnQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGUuX2QzU2NhbGU9RGJ0LnNjYWxlTGluZWFyKCksZX1yZXR1cm4gemJ0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9kZWZhdWx0RXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuWzAsMV19LGUucHJvdG90eXBlLl9leHBhbmRTaW5nbGVWYWx1ZURvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gdFswXT09PXRbMV0/W3RbMF0tMSx0WzFdKzFdOnR9LGUucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kM1NjYWxlKHQpfSxlLnByb3RvdHlwZS5zY2FsZVRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnNjYWxlKHQpfSxlLnByb3RvdHlwZS5pbnZlcnRlZFRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmludmVydCh0KX0sZS5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25FeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZ2V0VW5ib3VuZGVkRXh0ZW50KCEwKX0sZS5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21haW4oKX0sZS5wcm90b3R5cGUuc2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24odCl7dGhpcy5kb21haW4odCl9LGUucHJvdG90eXBlLl9nZXREb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKCl9LGUucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZDNTY2FsZS5kb21haW4oKToodGhpcy5fZDNTY2FsZS5kb21haW4odCksdGhpcyl9LGUucHJvdG90eXBlLl9nZXRSYW5nZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kM1NjYWxlLnJhbmdlKCl9LGUucHJvdG90eXBlLl9zZXRSYW5nZT1mdW5jdGlvbih0KXt0aGlzLl9kM1NjYWxlLnJhbmdlKHQpfSxlLnByb3RvdHlwZS5pbnZlcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUuaW52ZXJ0KHQpfSxlLnByb3RvdHlwZS5kZWZhdWx0VGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS50aWNrcyhlLl9ERUZBVUxUX05VTV9USUNLUyl9LGUucHJvdG90eXBlLl9uaWNlRG9tYWluPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2QzU2NhbGUuY29weSgpLmRvbWFpbih0KS5uaWNlKGUpLmRvbWFpbigpfSxlfSkoTGJ0LlF1YW50aXRhdGl2ZVNjYWxlKTtrYnQuTGluZWFyPUJidDt2YXIgSGJ0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShIYnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBGYnQ9Qk8sVmJ0PXdwdCxVYnQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dm9pZCAwPT09ZSYmKGU9MTApO3ZhciBuPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gbi5fZDNTY2FsZT1WYnQuc2NhbGVMb2coKS5iYXNlKGUpLG4uX3NldERvbWFpbihuLl9kZWZhdWx0RXh0ZW50KCkpLG59cmV0dXJuIEZidC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fZGVmYXVsdEV4dGVudD1mdW5jdGlvbigpe3JldHVyblsxLHRoaXMuX2QzU2NhbGUuYmFzZSgpXX0sZS5wcm90b3R5cGUuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiB0WzBdPT09dFsxXT9bdFswXS90aGlzLl9kM1NjYWxlLmJhc2UoKSx0WzFdKnRoaXMuX2QzU2NhbGUuYmFzZSgpXTp0fSxlLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZDNTY2FsZSh0KX0sZS5wcm90b3R5cGUuc2NhbGVUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zY2FsZSh0KX0sZS5wcm90b3R5cGUuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbnZlcnQodCl9LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2dldFVuYm91bmRlZEV4dGVudCghMCl9LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tYWluKCl9LGUucHJvdG90eXBlLnNldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKHQpe3RoaXMuZG9tYWluKHQpfSxlLnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JhY2tpbmdTY2FsZURvbWFpbigpfSxlLnByb3RvdHlwZS5fYmFja2luZ1NjYWxlRG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2QzU2NhbGUuZG9tYWluKCk6KHRoaXMuX2QzU2NhbGUuZG9tYWluKHQpLHRoaXMpfSxlLnByb3RvdHlwZS5fZ2V0UmFuZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS5yYW5nZSgpfSxlLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24odCl7dGhpcy5fZDNTY2FsZS5yYW5nZSh0KX0sZS5wcm90b3R5cGUuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kM1NjYWxlLmludmVydCh0KX0sZS5wcm90b3R5cGUuZGVmYXVsdFRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUudGlja3MoZS5fREVGQVVMVF9OVU1fVElDS1MpfSxlLnByb3RvdHlwZS5fbmljZURvbWFpbj1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9kM1NjYWxlLmNvcHkoKS5kb21haW4odCkubmljZSgpLmRvbWFpbigpfSxlfSkoTGJ0LlF1YW50aXRhdGl2ZVNjYWxlKTtIYnQuTG9nPVVidDt2YXIgamJ0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShqYnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBHYnQ9Qk8sV2J0PXdwdCxxYnQ9RF90LFlidD1YdnQsWGJ0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUpe3ZvaWQgMD09PWUmJihlPTEwKTt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7aWYobi5fbG9nVGlja0dlbmVyYXRvcj1mdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuW3QsZSxuXS5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiB0LWV9KSlbMV19LGk9cWJ0Lk1hdGgubWluKG4uX3VudHJhbnNmb3JtZWREb21haW4sMCkscj1xYnQuTWF0aC5tYXgobi5fdW50cmFuc2Zvcm1lZERvbWFpbiwwKSxvPWksYT1lKGksciwtbi5fcGl2b3QpLHM9ZShpLHIsbi5fcGl2b3QpLGw9cixjPW4uX2xvZ1RpY2tzKC1hLC1vKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybi10fSkpLnJldmVyc2UoKSx1PW4uX2xvZ1RpY2tzKHMsbCksaD1NYXRoLm1heChpLC1uLl9waXZvdCksZD1NYXRoLm1pbihyLG4uX3Bpdm90KSxwPVdidC5zY2FsZUxpbmVhcigpLmRvbWFpbihbaCxkXSkudGlja3Mobi5faG93TWFueVRpY2tzKGgsZCkpLGY9Yy5jb25jYXQocCkuY29uY2F0KHUpO3JldHVybiBmLmxlbmd0aDw9MSYmKGY9V2J0LnNjYWxlTGluZWFyKCkuZG9tYWluKFtpLHJdKS50aWNrcyhZYnQuTW9kaWZpZWRMb2cuX0RFRkFVTFRfTlVNX1RJQ0tTKSksZn0sbi5fZDNTY2FsZT1XYnQuc2NhbGVMaW5lYXIoKSxuLl9iYXNlPWUsbi5fcGl2b3Q9bi5fYmFzZSxuLl9zZXREb21haW4obi5fZGVmYXVsdEV4dGVudCgpKSxuLnRpY2tHZW5lcmF0b3Iobi5fbG9nVGlja0dlbmVyYXRvciksZTw9MSl0aHJvdyBuZXcgRXJyb3IoIk1vZGlmaWVkTG9nU2NhbGU6IFRoZSBiYXNlIG11c3QgYmUgPiAxIik7cmV0dXJuIG59cmV0dXJuIEdidC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fYWRqdXN0ZWRMb2c9ZnVuY3Rpb24odCl7dmFyIGU9dDwwPy0xOjE7cmV0dXJuKHQqPWUpPHRoaXMuX3Bpdm90JiYodCs9KHRoaXMuX3Bpdm90LXQpL3RoaXMuX3Bpdm90KSx0PU1hdGgubG9nKHQpL01hdGgubG9nKHRoaXMuX2Jhc2UpLHQqPWV9LGUucHJvdG90eXBlLl9pbnZlcnRlZEFkanVzdGVkTG9nPWZ1bmN0aW9uKHQpe3ZhciBlPXQ8MD8tMToxO3JldHVybiB0Kj1lLCh0PU1hdGgucG93KHRoaXMuX2Jhc2UsdCkpPHRoaXMuX3Bpdm90JiYodD10aGlzLl9waXZvdCoodC0xKS8odGhpcy5fcGl2b3QtMSkpLHQqPWV9LGUucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kM1NjYWxlKHRoaXMuX2FkanVzdGVkTG9nKHQpKX0sZS5wcm90b3R5cGUuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pbnZlcnRlZEFkanVzdGVkTG9nKHRoaXMuX2QzU2NhbGUuaW52ZXJ0KHQpKX0sZS5wcm90b3R5cGUuc2NhbGVUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zY2FsZSh0KX0sZS5wcm90b3R5cGUuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbnZlcnQodCl9LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2dldFVuYm91bmRlZEV4dGVudCghMCl9LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tYWluKCl9LGUucHJvdG90eXBlLnNldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKHQpe3RoaXMuZG9tYWluKHQpfSxlLnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3VudHJhbnNmb3JtZWREb21haW59LGUucHJvdG90eXBlLl9zZXREb21haW49ZnVuY3Rpb24oZSl7dGhpcy5fdW50cmFuc2Zvcm1lZERvbWFpbj1lO3ZhciBuPVt0aGlzLl9hZGp1c3RlZExvZyhlWzBdKSx0aGlzLl9hZGp1c3RlZExvZyhlWzFdKV07dC5wcm90b3R5cGUuX3NldERvbWFpbi5jYWxsKHRoaXMsbil9LGUucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZDNTY2FsZS5kb21haW4oKToodGhpcy5fZDNTY2FsZS5kb21haW4odCksdGhpcyl9LGUucHJvdG90eXBlLl9sb2dUaWNrcz1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMsaT10aGlzLl9ob3dNYW55VGlja3ModCxlKTtpZigwPT09aSlyZXR1cm5bXTt2YXIgcj1NYXRoLmZsb29yKE1hdGgubG9nKHQpL01hdGgubG9nKHRoaXMuX2Jhc2UpKSxvPU1hdGguY2VpbChNYXRoLmxvZyhlKS9NYXRoLmxvZyh0aGlzLl9iYXNlKSksYT1XYnQucmFuZ2UobyxyLC1NYXRoLmNlaWwoKG8tcikvaSkpLHM9V2J0LnJhbmdlKHRoaXMuX2Jhc2UsMSwtKHRoaXMuX2Jhc2UtMSkpLm1hcChNYXRoLmZsb29yKSxsPXFidC5BcnJheS51bmlxKHMpLGM9YS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBsLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgucG93KG4uX2Jhc2UsdC0xKSplfSkpfSkpO3JldHVybiBxYnQuQXJyYXkuZmxhdHRlbihjKS5maWx0ZXIoKGZ1bmN0aW9uKG4pe3JldHVybiB0PD1uJiZuPD1lfSkpLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQtZX0pKX0sZS5wcm90b3R5cGUuX2hvd01hbnlUaWNrcz1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX2FkanVzdGVkTG9nKHFidC5NYXRoLm1pbih0aGlzLl91bnRyYW5zZm9ybWVkRG9tYWluLDApKSxpPXRoaXMuX2FkanVzdGVkTG9nKHFidC5NYXRoLm1heCh0aGlzLl91bnRyYW5zZm9ybWVkRG9tYWluLDApKSxyPXRoaXMuX2FkanVzdGVkTG9nKHQpLG89dGhpcy5fYWRqdXN0ZWRMb2coZSk7cmV0dXJuIE1hdGguY2VpbCgoby1yKS8oaS1uKSpZYnQuTW9kaWZpZWRMb2cuX0RFRkFVTFRfTlVNX1RJQ0tTKX0sZS5wcm90b3R5cGUuX25pY2VEb21haW49ZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0sZS5wcm90b3R5cGUuX2RlZmF1bHRFeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm5bMCx0aGlzLl9iYXNlXX0sZS5wcm90b3R5cGUuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluPWZ1bmN0aW9uKHQpe2lmKHRbMF09PT10WzFdKXt2YXIgZT10WzBdO3JldHVybiBlPjA/W2UvdGhpcy5fYmFzZSxlKnRoaXMuX2Jhc2VdOjA9PT1lP1stdGhpcy5fYmFzZSx0aGlzLl9iYXNlXTpbZSp0aGlzLl9iYXNlLGUvdGhpcy5fYmFzZV19cmV0dXJuIHR9LGUucHJvdG90eXBlLl9nZXRSYW5nZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kM1NjYWxlLnJhbmdlKCl9LGUucHJvdG90eXBlLl9zZXRSYW5nZT1mdW5jdGlvbih0KXt0aGlzLl9kM1NjYWxlLnJhbmdlKHQpfSxlLnByb3RvdHlwZS5kZWZhdWx0VGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS50aWNrcyhZYnQuTW9kaWZpZWRMb2cuX0RFRkFVTFRfTlVNX1RJQ0tTKX0sZX0pKExidC5RdWFudGl0YXRpdmVTY2FsZSk7amJ0Lk1vZGlmaWVkTG9nPVhidDt2YXIgJGJ0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkYnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBLYnQ9Qk8sWmJ0PXdwdCxKYnQ9WXZ0LFFidD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gZS5fZDNTY2FsZT1aYnQuc2NhbGVUaW1lKCksZS5hdXRvRG9tYWluKCksZX1yZXR1cm4gS2J0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLnRpY2tJbnRlcnZhbD1mdW5jdGlvbih0LG4saSl7dm9pZCAwPT09biYmKG49MSksdm9pZCAwPT09aSYmKGk9ITEpO3ZhciByPVpidC5zY2FsZVRpbWUoKSxvPWUudGltZUludGVydmFsVG9EM1RpbWUodCxpKS5ldmVyeShuKTtyZXR1cm4gci5kb21haW4odGhpcy5kb21haW4oKSksci5yYW5nZSh0aGlzLnJhbmdlKCkpLHIudGlja3Mobyl9LGUucHJvdG90eXBlLl9zZXREb21haW49ZnVuY3Rpb24oZSl7aWYoZVsxXTxlWzBdKXRocm93IG5ldyBFcnJvcigiU2NhbGUuVGltZSBkb21haW4gdmFsdWVzIG11c3QgYmUgaW4gY2hyb25vbG9naWNhbCBvcmRlciIpO3JldHVybiB0LnByb3RvdHlwZS5fc2V0RG9tYWluLmNhbGwodGhpcyxlKX0sZS5wcm90b3R5cGUuX2RlZmF1bHRFeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm5bbmV3IERhdGUoIjE5NzAtMDEtMDEiKSxuZXcgRGF0ZSgiMTk3MC0wMS0wMiIpXX0sZS5wcm90b3R5cGUuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluPWZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0uZ2V0VGltZSgpLG49dFsxXS5nZXRUaW1lKCk7aWYoZT09PW4pe3ZhciBpPW5ldyBEYXRlKGUpO2kuc2V0RGF0ZShpLmdldERhdGUoKS0xKTt2YXIgcj1uZXcgRGF0ZShuKTtyZXR1cm4gci5zZXREYXRlKHIuZ2V0RGF0ZSgpKzEpLFtpLHJdfXJldHVybiB0fSxlLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZDNTY2FsZSh0KX0sZS5wcm90b3R5cGUuc2NhbGVUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zY2FsZShuZXcgRGF0ZSh0KSl9LGUucHJvdG90eXBlLmludmVydGVkVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW52ZXJ0KHQpLmdldFRpbWUoKX0sZS5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25FeHRlbnQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9nZXRVbmJvdW5kZWRFeHRlbnQoITApO3JldHVyblt0WzBdLnZhbHVlT2YoKSx0WzFdLnZhbHVlT2YoKV19LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5kb21haW4oKTtyZXR1cm5bdFswXS52YWx1ZU9mKCksdFsxXS52YWx1ZU9mKCldfSxlLnByb3RvdHlwZS5zZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbj1mdW5jdGlvbih0KXt2YXIgZT10WzFdO3RoaXMuZG9tYWluKFtuZXcgRGF0ZSh0WzBdKSxuZXcgRGF0ZShlKV0pfSxlLnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JhY2tpbmdTY2FsZURvbWFpbigpfSxlLnByb3RvdHlwZS5fYmFja2luZ1NjYWxlRG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2QzU2NhbGUuZG9tYWluKCk6KHRoaXMuX2QzU2NhbGUuZG9tYWluKHQpLHRoaXMpfSxlLnByb3RvdHlwZS5fZ2V0UmFuZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS5yYW5nZSgpfSxlLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24odCl7dGhpcy5fZDNTY2FsZS5yYW5nZSh0KX0sZS5wcm90b3R5cGUuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kM1NjYWxlLmludmVydCh0KX0sZS5wcm90b3R5cGUuZGVmYXVsdFRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUudGlja3MoZS5fREVGQVVMVF9OVU1fVElDS1MpfSxlLnByb3RvdHlwZS5fbmljZURvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZDNTY2FsZS5jb3B5KCkuZG9tYWluKHQpLm5pY2UoKS5kb21haW4oKX0sZS50aW1lSW50ZXJ2YWxUb0QzVGltZT1mdW5jdGlvbih0LGUpe3N3aXRjaCh0KXtjYXNlIEpidC5UaW1lSW50ZXJ2YWwuc2Vjb25kOnJldHVybiBlP1pidC51dGNTZWNvbmQ6WmJ0LnRpbWVTZWNvbmQ7Y2FzZSBKYnQuVGltZUludGVydmFsLm1pbnV0ZTpyZXR1cm4gZT9aYnQudXRjTWludXRlOlpidC50aW1lTWludXRlO2Nhc2UgSmJ0LlRpbWVJbnRlcnZhbC5ob3VyOnJldHVybiBlP1pidC51dGNIb3VyOlpidC50aW1lSG91cjtjYXNlIEpidC5UaW1lSW50ZXJ2YWwuZGF5OnJldHVybiBlP1pidC51dGNEYXk6WmJ0LnRpbWVEYXk7Y2FzZSBKYnQuVGltZUludGVydmFsLndlZWs6cmV0dXJuIGU/WmJ0LnV0Y1dlZWs6WmJ0LnRpbWVXZWVrO2Nhc2UgSmJ0LlRpbWVJbnRlcnZhbC5tb250aDpyZXR1cm4gZT9aYnQudXRjTW9udGg6WmJ0LnRpbWVNb250aDtjYXNlIEpidC5UaW1lSW50ZXJ2YWwueWVhcjpyZXR1cm4gZT9aYnQudXRjWWVhcjpaYnQudGltZVllYXI7ZGVmYXVsdDp0aHJvdyBFcnJvcigiVGltZUludGVydmFsIHNwZWNpZmllZCBkb2VzIG5vdCBleGlzdDogIit0KX19LGV9KShMYnQuUXVhbnRpdGF0aXZlU2NhbGUpOyRidC5UaW1lPVFidCwoZnVuY3Rpb24odCl7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZT1CTzt0LlRpY2tHZW5lcmF0b3JzPSR2dCxlLl9fZXhwb3J0U3RhcihRdnQsdCksZS5fX2V4cG9ydFN0YXIoX2J0LHQpLGUuX19leHBvcnRTdGFyKE1idCx0KSxlLl9fZXhwb3J0U3RhcihrYnQsdCksZS5fX2V4cG9ydFN0YXIoSGJ0LHQpLGUuX19leHBvcnRTdGFyKGpidCx0KSxlLl9fZXhwb3J0U3RhcigkYnQsdCk7dmFyIG49UXZ0LGk9TGJ0O3QuaXNUcmFuc2Zvcm1hYmxlPWZ1bmN0aW9uIHIodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBpLlF1YW50aXRhdGl2ZVNjYWxlfHx0IGluc3RhbmNlb2Ygbi5DYXRlZ29yeX19KShYdnQpLChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPLG49d3B0LGk9TGd0LHI9cHZ0LG89WHZ0LGE9RF90LHM9Ymd0LGw9ZHZ0O3QuVGltZUludGVydmFsPXMubWFrZUVudW0oWyJzZWNvbmQiLCJtaW51dGUiLCJob3VyIiwiZGF5Iiwid2VlayIsIm1vbnRoIiwieWVhciJdKSx0LlRpbWVBeGlzT3JpZW50YXRpb249cy5tYWtlRW51bShbInRvcCIsImJvdHRvbSJdKSx0LlRpZXJMYWJlbFBvc2l0aW9uPXMubWFrZUVudW0oWyJiZXR3ZWVuIiwiY2VudGVyIl0pO3ZhciBjLHU9KGZ1bmN0aW9uKHMpe2Z1bmN0aW9uIHUodCxlLG4pe3ZhciBpPXMuY2FsbCh0aGlzLHQsZSl8fHRoaXM7cmV0dXJuIGkuX21heFRpbWVJbnRlcnZhbFByZWNpc2lvbj1udWxsLGkuX3RpZXJMYWJlbFBvc2l0aW9ucz1bXSxpLl91c2VVVEM9bixpLmFkZENsYXNzKCJ0aW1lLWF4aXMiKSxpLnRpY2tMYWJlbFBhZGRpbmcoNSksaS5heGlzQ29uZmlndXJhdGlvbnModS5fREVGQVVMVF9USU1FX0FYSVNfQ09ORklHVVJBVElPTlMoaS5fdXNlVVRDKSksaS5hbm5vdGF0aW9uRm9ybWF0dGVyKHIudGltZSgiJWEgJWIgJWQsICVZIixpLl91c2VVVEMpKSxpfXJldHVybiBlLl9fZXh0ZW5kcyh1LHMpLHUucHJvdG90eXBlLnRpZXJMYWJlbFBvc2l0aW9ucz1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl90aWVyTGFiZWxQb3NpdGlvbnM7aWYoIXQuZXZlcnkoKGZ1bmN0aW9uKHQpe3JldHVybiJiZXR3ZWVuIj09PXQudG9Mb3dlckNhc2UoKXx8ImNlbnRlciI9PT10LnRvTG93ZXJDYXNlKCl9KSkpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBwb3NpdGlvbiBmb3IgdGllciBsYWJlbHMiKTtyZXR1cm4gdGhpcy5fdGllckxhYmVsUG9zaXRpb25zPXQsdGhpcy5yZWRyYXcoKSx0aGlzfSx1LnByb3RvdHlwZS5tYXhUaW1lSW50ZXJ2YWxQcmVjaXNpb249ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fbWF4VGltZUludGVydmFsUHJlY2lzaW9uOih0aGlzLl9tYXhUaW1lSW50ZXJ2YWxQcmVjaXNpb249dCx0aGlzLnJlZHJhdygpLHRoaXMpfSx1LnByb3RvdHlwZS5jdXJyZW50QXhpc0NvbmZpZ3VyYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zW3RoaXMuX21vc3RQcmVjaXNlQ29uZmlnSW5kZXhdfSx1LnByb3RvdHlwZS5heGlzQ29uZmlndXJhdGlvbnM9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zO3RoaXMuX3Bvc3NpYmxlVGltZUF4aXNDb25maWd1cmF0aW9ucz10LHRoaXMuX251bVRpZXJzPWEuTWF0aC5tYXgodGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQubGVuZ3RofSkpLDApLHRoaXMuX2lzQW5jaG9yZWQmJnRoaXMuX3NldHVwRG9tRWxlbWVudHMoKTtmb3IodmFyIGU9dGhpcy50aWVyTGFiZWxQb3NpdGlvbnMoKSxuPVtdLGk9MDtpPHRoaXMuX251bVRpZXJzO2krKyluLnB1c2goZVtpXXx8ImJldHdlZW4iKTtyZXR1cm4gdGhpcy50aWVyTGFiZWxQb3NpdGlvbnMobiksdGhpcy5yZWRyYXcoKSx0aGlzfSx1LnByb3RvdHlwZS5fZ2V0TW9zdFByZWNpc2VDb25maWd1cmF0aW9uSW5kZXg9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zLmxlbmd0aDtyZXR1cm4gdGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zLmZvckVhY2goKGZ1bmN0aW9uKG4saSl7aTxlJiZuLmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4gdC5fY2hlY2tUaW1lQXhpc1RpZXJDb25maWd1cmF0aW9uKGUpfSkpJiYoZT1pKX0pKSxlPT09dGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zLmxlbmd0aCYmKGEuV2luZG93Lndhcm4oInpvb21lZCBvdXQgdG9vIGZhcjogY291bGQgbm90IGZpbmQgc3VpdGFibGUgaW50ZXJ2YWwgdG8gZGlzcGxheSBsYWJlbHMiKSwtLWUpLGV9LHUucHJvdG90eXBlLm9yaWVudGF0aW9uPWZ1bmN0aW9uKHQpe2lmKHQmJigicmlnaHQiPT09dC50b0xvd2VyQ2FzZSgpfHwibGVmdCI9PT10LnRvTG93ZXJDYXNlKCkpKXRocm93IG5ldyBFcnJvcih0KyIgaXMgbm90IGEgc3VwcG9ydGVkIG9yaWVudGF0aW9uIGZvciBUaW1lQXhpcyAtIG9ubHkgaG9yaXpvbnRhbCBvcmllbnRhdGlvbnMgYXJlIHN1cHBvcnRlZCIpO3JldHVybiBzLnByb3RvdHlwZS5vcmllbnRhdGlvbi5jYWxsKHRoaXMsdCl9LHUucHJvdG90eXBlLl9jb21wdXRlSGVpZ2h0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fbWVhc3VyZXIubWVhc3VyZSgpLmhlaWdodDt0aGlzLl90aWVySGVpZ2h0cz1bXTtmb3IodmFyIGU9MDtlPHRoaXMuX251bVRpZXJzO2UrKyl0aGlzLl90aWVySGVpZ2h0cy5wdXNoKHQrdGhpcy50aWNrTGFiZWxQYWRkaW5nKCkrKCJiZXR3ZWVuIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1tlXT8wOnRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpKSk7cmV0dXJuIG4uc3VtKHRoaXMuX3RpZXJIZWlnaHRzKX0sdS5wcm90b3R5cGUuX2dldEludGVydmFsTGVuZ3RoPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3NjYWxlLmRvbWFpbigpWzBdLG49by5UaW1lLnRpbWVJbnRlcnZhbFRvRDNUaW1lKHQuaW50ZXJ2YWwsdGhpcy5fdXNlVVRDKS5vZmZzZXQoZSx0LnN0ZXApO3JldHVybiBuPnRoaXMuX3NjYWxlLmRvbWFpbigpWzFdP3RoaXMud2lkdGgoKTpNYXRoLmFicyh0aGlzLl9zY2FsZS5zY2FsZShuKS10aGlzLl9zY2FsZS5zY2FsZShlKSl9LHUucHJvdG90eXBlLl9tYXhXaWR0aEZvckludGVydmFsPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9tZWFzdXJlci5tZWFzdXJlKHQuZm9ybWF0dGVyKHUuX0xPTkdfREFURSkpLndpZHRofSx1LnByb3RvdHlwZS5fY2hlY2tUaW1lQXhpc1RpZXJDb25maWd1cmF0aW9uPWZ1bmN0aW9uKHQpe2lmKG51bGwhPXRoaXMuX21heFRpbWVJbnRlcnZhbFByZWNpc2lvbil7dmFyIGU9dS5fU09SVEVEX1RJTUVfSU5URVJWQUxfSU5ERVhbdGhpcy5fbWF4VGltZUludGVydmFsUHJlY2lzaW9uXSxuPXUuX1NPUlRFRF9USU1FX0lOVEVSVkFMX0lOREVYW3QuaW50ZXJ2YWxdO2lmKG51bGwhPWUmJm51bGwhPW4mJm48ZSlyZXR1cm4hMX12YXIgaT10aGlzLl9tYXhXaWR0aEZvckludGVydmFsKHQpKzIqdGhpcy50aWNrTGFiZWxQYWRkaW5nKCk7cmV0dXJuIE1hdGgubWluKHRoaXMuX2dldEludGVydmFsTGVuZ3RoKHQpLHRoaXMud2lkdGgoKSk+PWl9LHUucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyPWZ1bmN0aW9uKHQsZSl7dmFyIG49cy5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXIuY2FsbCh0aGlzLHQsZSksaT10aGlzLl90aWVySGVpZ2h0cy5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSxpLHIpe3JldHVybiB0K2U+bi5oZWlnaHQ/dDp0K2V9KSkscj10aGlzLm1hcmdpbigpKyh0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpP3RoaXMuYW5ub3RhdGlvblRpZXJDb3VudCgpKnRoaXMuX2Fubm90YXRpb25UaWVySGVpZ2h0KCk6MCk7cmV0dXJuIG4uaGVpZ2h0PU1hdGgubWluKG4uaGVpZ2h0LGkrciksbn0sdS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7cy5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyksdGhpcy5fc2V0dXBEb21FbGVtZW50cygpfSx1LnByb3RvdHlwZS5fc2V0dXBEb21FbGVtZW50cz1mdW5jdGlvbigpe3RoaXMuY29udGVudCgpLnNlbGVjdEFsbCgiLiIrdS5USU1FX0FYSVNfVElFUl9DTEFTUykucmVtb3ZlKCksdGhpcy5fdGllckxhYmVsQ29udGFpbmVycz1bXSx0aGlzLl90aWVyTWFya0NvbnRhaW5lcnM9W10sdGhpcy5fdGllckJhc2VsaW5lcz1bXSx0aGlzLl90aWNrTGFiZWxDb250YWluZXIucmVtb3ZlKCksdGhpcy5fYmFzZWxpbmUucmVtb3ZlKCk7Zm9yKHZhciB0PTA7dDx0aGlzLl9udW1UaWVyczsrK3Qpe3ZhciBlPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQodS5USU1FX0FYSVNfVElFUl9DTEFTUywhMCk7dGhpcy5fdGllckxhYmVsQ29udGFpbmVycy5wdXNoKGUuYXBwZW5kKCJnIikuY2xhc3NlZChsLkF4aXMuVElDS19MQUJFTF9DTEFTUysiLWNvbnRhaW5lciIsITApKSx0aGlzLl90aWVyTWFya0NvbnRhaW5lcnMucHVzaChlLmFwcGVuZCgiZyIpLmNsYXNzZWQobC5BeGlzLlRJQ0tfTUFSS19DTEFTUysiLWNvbnRhaW5lciIsITApKSx0aGlzLl90aWVyQmFzZWxpbmVzLnB1c2goZS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKCJiYXNlbGluZSIsITApKX12YXIgbj1uZXcgaS5TdmdDb250ZXh0KHRoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnNbMF0ubm9kZSgpKTt0aGlzLl9tZWFzdXJlcj1uZXcgaS5DYWNoZU1lYXN1cmVyKG4pfSx1LnByb3RvdHlwZS5fZ2V0VGlja0ludGVydmFsVmFsdWVzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9zY2FsZS50aWNrSW50ZXJ2YWwodC5pbnRlcnZhbCx0LnN0ZXAsdGhpcy5fdXNlVVRDKX0sdS5wcm90b3R5cGUuX2dldFRpY2tWYWx1ZXM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLl9wb3NzaWJsZVRpbWVBeGlzQ29uZmlndXJhdGlvbnNbdGhpcy5fbW9zdFByZWNpc2VDb25maWdJbmRleF0ucmVkdWNlKChmdW5jdGlvbihlLG4pe3JldHVybiBlLmNvbmNhdCh0Ll9nZXRUaWNrSW50ZXJ2YWxWYWx1ZXMobikpfSksW10pfSx1LnByb3RvdHlwZS5fY2xlYW5UaWVycz1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8dGhpcy5fdGllckxhYmVsQ29udGFpbmVycy5sZW5ndGg7dCsrKXRoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnNbdF0uc2VsZWN0QWxsKCIuIitsLkF4aXMuVElDS19MQUJFTF9DTEFTUykucmVtb3ZlKCksdGhpcy5fdGllck1hcmtDb250YWluZXJzW3RdLnNlbGVjdEFsbCgiLiIrbC5BeGlzLlRJQ0tfTUFSS19DTEFTUykucmVtb3ZlKCksdGhpcy5fdGllckJhc2VsaW5lc1t0XS5zdHlsZSgidmlzaWJpbGl0eSIsImhpZGRlbiIpfSx1LnByb3RvdHlwZS5fZ2V0VGlja1ZhbHVlc0ZvckNvbmZpZ3VyYXRpb249ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fc2NhbGUudGlja0ludGVydmFsKHQuaW50ZXJ2YWwsdC5zdGVwLHRoaXMuX3VzZVVUQyksbj10aGlzLl9zY2FsZS5kb21haW4oKSxpPWUubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC52YWx1ZU9mKCl9KSk7cmV0dXJuLTE9PT1pLmluZGV4T2YoblswXS52YWx1ZU9mKCkpJiZlLnVuc2hpZnQoblswXSksLTE9PT1pLmluZGV4T2YoblsxXS52YWx1ZU9mKCkpJiZlLnB1c2goblsxXSksZX0sdS5wcm90b3R5cGUuX3JlbmRlclRpZXJMYWJlbHM9ZnVuY3Rpb24odCxlLGkpe3ZhciByPXRoaXMsbz10aGlzLl9nZXRUaWNrVmFsdWVzRm9yQ29uZmlndXJhdGlvbihlKSxhPVtdOyJiZXR3ZWVuIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1tpXSYmMT09PWUuc3RlcD9vLm1hcCgoZnVuY3Rpb24odCxlKXtlKzE+PW8ubGVuZ3RofHxhLnB1c2gobmV3IERhdGUoKG9bZSsxXS52YWx1ZU9mKCktb1tlXS52YWx1ZU9mKCkpLzIrb1tlXS52YWx1ZU9mKCkpKX0pKTphPW87dmFyIHM9dC5zZWxlY3RBbGwoIi4iK2wuQXhpcy5USUNLX0xBQkVMX0NMQVNTKS5kYXRhKGEsKGZ1bmN0aW9uKHQpe3JldHVybiBTdHJpbmcodC52YWx1ZU9mKCkpfSkpLGM9cy5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQobC5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MsITApO2MuYXBwZW5kKCJ0ZXh0Iik7dmFyIHUsaD0iY2VudGVyIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1tpXXx8MT09PWUuc3RlcD8wOnRoaXMudGlja0xhYmVsUGFkZGluZygpO3U9ImJvdHRvbSI9PT10aGlzLm9yaWVudGF0aW9uKCk/bi5zdW0odGhpcy5fdGllckhlaWdodHMuc2xpY2UoMCxpKzEpKS10aGlzLnRpY2tMYWJlbFBhZGRpbmcoKToiY2VudGVyIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1tpXT90aGlzLmhlaWdodCgpLW4uc3VtKHRoaXMuX3RpZXJIZWlnaHRzLnNsaWNlKDAsaSkpLXRoaXMudGlja0xhYmVsUGFkZGluZygpLXRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpOnRoaXMuaGVpZ2h0KCktbi5zdW0odGhpcy5fdGllckhlaWdodHMuc2xpY2UoMCxpKSktdGhpcy50aWNrTGFiZWxQYWRkaW5nKCk7dmFyIGQ9cy5tZXJnZShjKSxwPWQuc2VsZWN0QWxsKCJ0ZXh0Iik7cC5zaXplKCk+MCYmcC5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitoKyIsIit1KyIpIikscy5leGl0KCkucmVtb3ZlKCksZC5hdHRyKCJ0cmFuc2Zvcm0iLChmdW5jdGlvbih0KXtyZXR1cm4idHJhbnNsYXRlKCIrci5fc2NhbGUuc2NhbGUodCkrIiwwKSJ9KSk7dmFyIGY9ImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbaV18fDE9PT1lLnN0ZXA/Im1pZGRsZSI6InN0YXJ0IjtkLnNlbGVjdEFsbCgidGV4dCIpLnRleHQoZS5mb3JtYXR0ZXIpLnN0eWxlKCJ0ZXh0LWFuY2hvciIsZil9LHUucHJvdG90eXBlLl9yZW5kZXJUaWNrTWFya3M9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLl90aWVyTWFya0NvbnRhaW5lcnNbZV0uc2VsZWN0QWxsKCIuIitsLkF4aXMuVElDS19NQVJLX0NMQVNTKS5kYXRhKHQpLHI9aS5lbnRlcigpLmFwcGVuZCgibGluZSIpLmNsYXNzZWQobC5BeGlzLlRJQ0tfTUFSS19DTEFTUywhMCkubWVyZ2UoaSksbz10aGlzLl9nZW5lcmF0ZVRpY2tNYXJrQXR0ckhhc2goKSxhPXRoaXMuX3RpZXJIZWlnaHRzLnNsaWNlKDAsZSkucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiB0K2V9KSwwKTsiYm90dG9tIj09PXRoaXMub3JpZW50YXRpb24oKT8oby55MT1hLG8ueTI9YSsoImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbZV0/dGhpcy5pbm5lclRpY2tMZW5ndGgoKTp0aGlzLl90aWVySGVpZ2h0c1tlXSkpOihvLnkxPXRoaXMuaGVpZ2h0KCktYSxvLnkyPXRoaXMuaGVpZ2h0KCktKGErKCJjZW50ZXIiPT09dGhpcy5fdGllckxhYmVsUG9zaXRpb25zW2VdP3RoaXMuaW5uZXJUaWNrTGVuZ3RoKCk6dGhpcy5fdGllckhlaWdodHNbZV0pKSksci5hdHRycyhvKSwiYm90dG9tIj09PXRoaXMub3JpZW50YXRpb24oKT8oby55MT1hLG8ueTI9YSsoImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbZV0/dGhpcy5lbmRUaWNrTGVuZ3RoKCk6dGhpcy5fdGllckhlaWdodHNbZV0pKTooby55MT10aGlzLmhlaWdodCgpLWEsby55Mj10aGlzLmhlaWdodCgpLShhKygiY2VudGVyIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1tlXT90aGlzLmVuZFRpY2tMZW5ndGgoKTp0aGlzLl90aWVySGVpZ2h0c1tlXSkpKSxuLnNlbGVjdChyLm5vZGVzKClbMF0pLmF0dHJzKG8pLG4uc2VsZWN0KHIubm9kZXMoKVtyLnNpemUoKS0xXSkuYXR0cnMobyksbi5zZWxlY3Qoci5ub2RlcygpWzBdKS5jbGFzc2VkKGwuQXhpcy5FTkRfVElDS19NQVJLX0NMQVNTLCEwKSxuLnNlbGVjdChyLm5vZGVzKClbci5zaXplKCktMV0pLmNsYXNzZWQobC5BeGlzLkVORF9USUNLX01BUktfQ0xBU1MsITApLGkuZXhpdCgpLnJlbW92ZSgpfSx1LnByb3RvdHlwZS5fcmVuZGVyTGFiZWxsZXNzVGlja01hcmtzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3RpY2tNYXJrQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrbC5BeGlzLlRJQ0tfTUFSS19DTEFTUykuZGF0YSh0KSxuPWUuZW50ZXIoKS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKGwuQXhpcy5USUNLX01BUktfQ0xBU1MsITApLm1lcmdlKGUpLGk9dGhpcy5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoKCk7aS55Mj0iYm90dG9tIj09PXRoaXMub3JpZW50YXRpb24oKT90aGlzLnRpY2tMYWJlbFBhZGRpbmcoKTp0aGlzLmhlaWdodCgpLXRoaXMudGlja0xhYmVsUGFkZGluZygpLG4uYXR0cnMoaSksZS5leGl0KCkucmVtb3ZlKCl9LHUucHJvdG90eXBlLl9nZW5lcmF0ZUxhYmVsbGVzc1RpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21vc3RQcmVjaXNlQ29uZmlnSW5kZXg8MT9bXTp0aGlzLl9nZXRUaWNrSW50ZXJ2YWxWYWx1ZXModGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zW3RoaXMuX21vc3RQcmVjaXNlQ29uZmlnSW5kZXgtMV1bMF0pfSx1LnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fbW9zdFByZWNpc2VDb25maWdJbmRleD10aGlzLl9nZXRNb3N0UHJlY2lzZUNvbmZpZ3VyYXRpb25JbmRleCgpO3ZhciBlPXRoaXMuX3Bvc3NpYmxlVGltZUF4aXNDb25maWd1cmF0aW9uc1t0aGlzLl9tb3N0UHJlY2lzZUNvbmZpZ0luZGV4XTt0aGlzLl9jbGVhblRpZXJzKCksZS5mb3JFYWNoKChmdW5jdGlvbihlLG4pe3JldHVybiB0Ll9yZW5kZXJUaWVyTGFiZWxzKHQuX3RpZXJMYWJlbENvbnRhaW5lcnNbbl0sZSxuKX0pKTtmb3IodmFyIG49ZS5tYXAoKGZ1bmN0aW9uKGUsbil7cmV0dXJuIHQuX2dldFRpY2tWYWx1ZXNGb3JDb25maWd1cmF0aW9uKGUpfSkpLGk9MCxyPTA7cjxNYXRoLm1heChlLmxlbmd0aCwxKTsrK3Ipe3ZhciBvPXRoaXMuX2dlbmVyYXRlQmFzZWxpbmVBdHRySGFzaCgpO28ueTErPSJib3R0b20iPT09dGhpcy5vcmllbnRhdGlvbigpP2k6LWksby55Mj1vLnkxLHRoaXMuX3RpZXJCYXNlbGluZXNbcl0uYXR0cnMobykuc3R5bGUoInZpc2liaWxpdHkiLCJpbmhlcml0IiksaSs9dGhpcy5fdGllckhlaWdodHNbcl19dmFyIGE9W10scz10aGlzLl9zY2FsZS5kb21haW4oKSxsPXRoaXMuX3NjYWxlLnNjYWxlKHNbMV0pLXRoaXMuX3NjYWxlLnNjYWxlKHNbMF0pOzEuNSp0aGlzLl9nZXRJbnRlcnZhbExlbmd0aChlWzBdKT49bCYmKGE9dGhpcy5fZ2VuZXJhdGVMYWJlbGxlc3NUaWNrcygpKSx0aGlzLl9yZW5kZXJMYWJlbGxlc3NUaWNrTWFya3MoYSksdGhpcy5faGlkZU92ZXJmbG93aW5nVGllcnMoKTtmb3Iocj0wO3I8ZS5sZW5ndGg7KytyKXRoaXMuX3JlbmRlclRpY2tNYXJrcyhuW3JdLHIpLHRoaXMuX2hpZGVPdmVybGFwcGluZ0FuZEN1dE9mZkxhYmVscyhyKTtyZXR1cm4gdGhpcy5hbm5vdGF0aW9uc0VuYWJsZWQoKT90aGlzLl9kcmF3QW5ub3RhdGlvbnMoKTp0aGlzLl9yZW1vdmVBbm5vdGF0aW9ucygpLHRoaXN9LHUucHJvdG90eXBlLl9oaWRlT3ZlcmZsb3dpbmdUaWVycz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLmhlaWdodCgpLG49MDt0aGlzLmNvbnRlbnQoKS5zZWxlY3RBbGwoIi4iK3UuVElNRV9BWElTX1RJRVJfQ0xBU1MpLmF0dHIoInZpc2liaWxpdHkiLChmdW5jdGlvbihpLHIpe3JldHVybihuKz10Ll90aWVySGVpZ2h0c1tyXSk8PWU/ImluaGVyaXQiOiJoaWRkZW4ifSkpfSx1LnByb3RvdHlwZS5faGlkZU92ZXJsYXBwaW5nQW5kQ3V0T2ZmTGFiZWxzPWZ1bmN0aW9uKHQpe3ZhciBlLGk9dGhpcyxyPXRoaXMuZWxlbWVudCgpLm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPXRoaXMuX3RpZXJNYXJrQ29udGFpbmVyc1t0XS5zZWxlY3RBbGwoIi4iK2wuQXhpcy5USUNLX01BUktfQ0xBU1MpLmZpbHRlcigoZnVuY3Rpb24odCxlKXt2YXIgaT1uLnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIpO3JldHVybiJ2aXNpYmxlIj09PWl8fCJpbmhlcml0Ij09PWl9KSkubm9kZXMoKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfSkpO3RoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnNbdF0uc2VsZWN0QWxsKCIuIitsLkF4aXMuVElDS19MQUJFTF9DTEFTUykuZmlsdGVyKChmdW5jdGlvbih0LGUpe3ZhciBpPW4uc2VsZWN0KHRoaXMpLnN0eWxlKCJ2aXNpYmlsaXR5Iik7cmV0dXJuInZpc2libGUiPT09aXx8ImluaGVyaXQiPT09aX0pKS5lYWNoKChmdW5jdGlvbih0LHMpe3ZhciBsLGM9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx1PW4uc2VsZWN0KHRoaXMpLGg9b1tzXSxkPW9bcysxXSxwPW51bGwhPWUmJmEuRE9NLmNsaWVudFJlY3RzT3ZlcmxhcChjLGUpLGY9bnVsbCE9aCYmYS5ET00uY2xpZW50UmVjdHNPdmVybGFwKGMsaCksbT1udWxsIT1kJiZhLkRPTS5jbGllbnRSZWN0c092ZXJsYXAoYyxkKTtsPWMsIShNYXRoLmZsb29yKHIubGVmdCk8PU1hdGguY2VpbChsLmxlZnQpJiZNYXRoLmZsb29yKHIudG9wKTw9TWF0aC5jZWlsKGwudG9wKSYmTWF0aC5mbG9vcihsLnJpZ2h0KTw9TWF0aC5jZWlsKHIubGVmdCtpLndpZHRoKCkpJiZNYXRoLmZsb29yKGwuYm90dG9tKTw9TWF0aC5jZWlsKHIudG9wK2kuaGVpZ2h0KCkpKXx8cHx8Znx8bT91LnN0eWxlKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIik6KGU9Yyx1LnN0eWxlKCJ2aXNpYmlsaXR5IiwiaW5oZXJpdCIpKX0pKX0sdS5wcm90b3R5cGUuaW52YWxpZGF0ZUNhY2hlPWZ1bmN0aW9uKCl7cy5wcm90b3R5cGUuaW52YWxpZGF0ZUNhY2hlLmNhbGwodGhpcyksdGhpcy5fbWVhc3VyZXIucmVzZXQoKX0sdS5USU1FX0FYSVNfVElFUl9DTEFTUz0idGltZS1heGlzLXRpZXIiLHUuX1NPUlRFRF9USU1FX0lOVEVSVkFMX0lOREVYPSgoYz17fSlbdC5UaW1lSW50ZXJ2YWwuc2Vjb25kXT0wLGNbdC5UaW1lSW50ZXJ2YWwubWludXRlXT0xLGNbdC5UaW1lSW50ZXJ2YWwuaG91cl09MixjW3QuVGltZUludGVydmFsLmRheV09MyxjW3QuVGltZUludGVydmFsLndlZWtdPTQsY1t0LlRpbWVJbnRlcnZhbC5tb250aF09NSxjW3QuVGltZUludGVydmFsLnllYXJdPTYsYyksdS5fREVGQVVMVF9USU1FX0FYSVNfQ09ORklHVVJBVElPTlM9ZnVuY3Rpb24oZSl7dmFyIG49ZnVuY3Rpb24odCl7cmV0dXJuIHIudGltZSh0LGUpfTtyZXR1cm5bW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5zZWNvbmQsc3RlcDoxLGZvcm1hdHRlcjpuKCIlSTolTTolUyAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLnNlY29uZCxzdGVwOjUsZm9ybWF0dGVyOm4oIiVJOiVNOiVTICVwIil9LHtpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpuKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6MTAsZm9ybWF0dGVyOm4oIiVJOiVNOiVTICVwIil9LHtpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpuKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6MTUsZm9ybWF0dGVyOm4oIiVJOiVNOiVTICVwIil9LHtpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpuKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6MzAsZm9ybWF0dGVyOm4oIiVJOiVNOiVTICVwIil9LHtpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpuKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwubWludXRlLHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUk6JU0gJXAiKX0se2ludGVydmFsOnQuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOm4oIiVCICVlLCAlWSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5taW51dGUsc3RlcDo1LGZvcm1hdHRlcjpuKCIlSTolTSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLm1pbnV0ZSxzdGVwOjEwLGZvcm1hdHRlcjpuKCIlSTolTSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLm1pbnV0ZSxzdGVwOjE1LGZvcm1hdHRlcjpuKCIlSTolTSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLm1pbnV0ZSxzdGVwOjMwLGZvcm1hdHRlcjpuKCIlSTolTSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLmhvdXIsc3RlcDoxLGZvcm1hdHRlcjpuKCIlSSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLmhvdXIsc3RlcDozLGZvcm1hdHRlcjpuKCIlSSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLmhvdXIsc3RlcDo2LGZvcm1hdHRlcjpuKCIlSSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLmhvdXIsc3RlcDoxMixmb3JtYXR0ZXI6bigiJUkgJXAiKX0se2ludGVydmFsOnQuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOm4oIiVCICVlLCAlWSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpuKCIlYSAlZSIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwubW9udGgsc3RlcDoxLGZvcm1hdHRlcjpuKCIlQiAlWSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpuKCIlZSIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwubW9udGgsc3RlcDoxLGZvcm1hdHRlcjpuKCIlQiAlWSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5tb250aCxzdGVwOjEsZm9ybWF0dGVyOm4oIiVCIil9LHtpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MSxmb3JtYXR0ZXI6bigiJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwubW9udGgsc3RlcDoxLGZvcm1hdHRlcjpuKCIlYiIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjEsZm9ybWF0dGVyOm4oIiVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLm1vbnRoLHN0ZXA6Myxmb3JtYXR0ZXI6bigiJWIiKX0se2ludGVydmFsOnQuVGltZUludGVydmFsLnllYXIsc3RlcDoxLGZvcm1hdHRlcjpuKCIlWSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5tb250aCxzdGVwOjYsZm9ybWF0dGVyOm4oIiViIil9LHtpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MSxmb3JtYXR0ZXI6bigiJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjEsZm9ybWF0dGVyOm4oIiVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLnllYXIsc3RlcDoxLGZvcm1hdHRlcjpuKCIleSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6NSxmb3JtYXR0ZXI6bigiJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjI1LGZvcm1hdHRlcjpuKCIlWSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6NTAsZm9ybWF0dGVyOm4oIiVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLnllYXIsc3RlcDoxMDAsZm9ybWF0dGVyOm4oIiVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLnllYXIsc3RlcDoyMDAsZm9ybWF0dGVyOm4oIiVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLnllYXIsc3RlcDo1MDAsZm9ybWF0dGVyOm4oIiVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLnllYXIsc3RlcDoxZTMsZm9ybWF0dGVyOm4oIiVZIil9XV19LHUuX0xPTkdfREFURT1uZXcgRGF0ZSg5OTk5LDgsMjksMTIsNTksOTk5OSksdX0pKGwuQXhpcyk7dC5UaW1lPXV9KShZdnQpLChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPO2UuX19leHBvcnRTdGFyKGtndCx0KSxlLl9fZXhwb3J0U3RhcihIdnQsdCksZS5fX2V4cG9ydFN0YXIoWXZ0LHQpfSkoQWd0KTt2YXIgdHh0PXt9LGV4dD17fSxueHQ9e30saXh0PXt9LHJ4dD17fSxveHQ9e30sYXh0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoYXh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgc3h0PURfdCxseHQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3RoaXMuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb249e30sdGhpcy5fZXZlbnRUYXJnZXQ9ZG9jdW1lbnQsdGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldD17fSx0aGlzLl9jb25uZWN0ZWQ9ITF9cmV0dXJuIHQucHJvdG90eXBlLl9oYXNOb0NhbGxiYWNrcz1mdW5jdGlvbigpe2Zvcih2YXIgdD1PYmplY3Qua2V5cyh0aGlzLl9ldmVudE5hbWVUb0NhbGxiYWNrU2V0KSxlPTA7ZTx0Lmxlbmd0aDtlKyspaWYoMCE9PXRoaXMuX2V2ZW50TmFtZVRvQ2FsbGJhY2tTZXRbdFtlXV0uc2l6ZSlyZXR1cm4hMTtyZXR1cm4hMH0sdC5wcm90b3R5cGUuX2Nvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuX2Nvbm5lY3RlZHx8KE9iamVjdC5rZXlzKHRoaXMuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb24pLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuX2V2ZW50VGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZSx0Ll9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW2VdLCJ3aGVlbCI9PT1lP3twYXNzaXZlOiExfTp2b2lkIDApfSkpLHRoaXMuX2Nvbm5lY3RlZD0hMCl9LHQucHJvdG90eXBlLl9kaXNjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLl9jb25uZWN0ZWQmJnRoaXMuX2hhc05vQ2FsbGJhY2tzKCkmJihPYmplY3Qua2V5cyh0aGlzLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uKS5mb3JFYWNoKChmdW5jdGlvbihlKXt0Ll9ldmVudFRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKGUsdC5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltlXSl9KSksdGhpcy5fY29ubmVjdGVkPSExKX0sdC5wcm90b3R5cGUuX2FkZENhbGxiYWNrRm9yRXZlbnQ9ZnVuY3Rpb24odCxlKXtudWxsPT10aGlzLl9ldmVudE5hbWVUb0NhbGxiYWNrU2V0W3RdJiYodGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFt0XT1uZXcgc3h0LkNhbGxiYWNrU2V0KSx0aGlzLl9ldmVudE5hbWVUb0NhbGxiYWNrU2V0W3RdLmFkZChlKSx0aGlzLl9jb25uZWN0KCl9LHQucHJvdG90eXBlLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50PWZ1bmN0aW9uKHQsZSl7bnVsbCE9dGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFt0XSYmdGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFt0XS5kZWxldGUoZSksdGhpcy5fZGlzY29ubmVjdCgpfSx0LnByb3RvdHlwZS5fY2FsbENhbGxiYWNrc0ZvckV2ZW50PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW24tMV09YXJndW1lbnRzW25dO3ZhciBpPXRoaXMuX2V2ZW50TmFtZVRvQ2FsbGJhY2tTZXRbdF07bnVsbCE9aSYmaS5jYWxsQ2FsbGJhY2tzLmFwcGx5KGksZSl9LHR9KSgpO2F4dC5EaXNwYXRjaGVyPWx4dCwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KG94dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGN4dD1CTyx1eHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4uX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bZS5fS0VZRE9XTl9FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gbi5fcHJvY2Vzc0tleWRvd24odCl9LG4uX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bZS5fS0VZVVBfRVZFTlRfTkFNRV09ZnVuY3Rpb24odCl7cmV0dXJuIG4uX3Byb2Nlc3NLZXl1cCh0KX0sbn1yZXR1cm4gY3h0Ll9fZXh0ZW5kcyhlLHQpLGUuZ2V0RGlzcGF0Y2hlcj1mdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50W2UuX0RJU1BBVENIRVJfS0VZXTtyZXR1cm4gbnVsbD09dCYmKHQ9bmV3IGUsZG9jdW1lbnRbZS5fRElTUEFUQ0hFUl9LRVldPXQpLHR9LGUucHJvdG90eXBlLl9wcm9jZXNzS2V5ZG93bj1mdW5jdGlvbih0KXt0aGlzLl9jYWxsQ2FsbGJhY2tzRm9yRXZlbnQoZS5fS0VZRE9XTl9FVkVOVF9OQU1FLHQua2V5Q29kZSx0KX0sZS5wcm90b3R5cGUuX3Byb2Nlc3NLZXl1cD1mdW5jdGlvbih0KXt0aGlzLl9jYWxsQ2FsbGJhY2tzRm9yRXZlbnQoZS5fS0VZVVBfRVZFTlRfTkFNRSx0LmtleUNvZGUsdCl9LGUucHJvdG90eXBlLm9uS2V5RG93bj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChlLl9LRVlET1dOX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub2ZmS2V5RG93bj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmVtb3ZlQ2FsbGJhY2tGb3JFdmVudChlLl9LRVlET1dOX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub25LZXlVcD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChlLl9LRVlVUF9FVkVOVF9OQU1FLHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZktleVVwPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KGUuX0tFWVVQX0VWRU5UX05BTUUsdCksdGhpc30sZS5fRElTUEFUQ0hFUl9LRVk9Il9fUGxvdHRhYmxlX0Rpc3BhdGNoZXJfS2V5IixlLl9LRVlET1dOX0VWRU5UX05BTUU9ImtleWRvd24iLGUuX0tFWVVQX0VWRU5UX05BTUU9ImtleXVwIixlfSkoYXh0LkRpc3BhdGNoZXIpO294dC5LZXk9dXh0O3ZhciBoeHQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KGh4dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGR4dD1CTyxweHQ9RF90LGZ4dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShuKXt2YXIgaT10LmNhbGwodGhpcyl8fHRoaXM7aS5fbGFzdE1vdXNlUG9zaXRpb249e3g6LTEseTotMX0saS5fdHJhbnNsYXRvcj1weHQuZ2V0VHJhbnNsYXRvcihuKTt2YXIgcj1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9NT1VTRU1PVkVfRVZFTlRfTkFNRSwicGFnZSIpfTtyZXR1cm4gaS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltlLl9NT1VTRU9WRVJfRVZFTlRfTkFNRV09cixpLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW2UuX01PVVNFTU9WRV9FVkVOVF9OQU1FXT1yLGkuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bZS5fTU9VU0VPVVRfRVZFTlRfTkFNRV09cixpLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW2UuX01PVVNFRE9XTl9FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9NT1VTRURPV05fRVZFTlRfTkFNRSl9LGkuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bZS5fTU9VU0VVUF9FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9NT1VTRVVQX0VWRU5UX05BTUUsInBhZ2UiKX0saS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltlLl9XSEVFTF9FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9XSEVFTF9FVkVOVF9OQU1FKX0saS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltlLl9EQkxDTElDS19FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9EQkxDTElDS19FVkVOVF9OQU1FKX0saX1yZXR1cm4gZHh0Ll9fZXh0ZW5kcyhlLHQpLGUuZ2V0RGlzcGF0Y2hlcj1mdW5jdGlvbih0KXt2YXIgbj10LnJvb3QoKS5yb290RWxlbWVudCgpLGk9bltlLl9ESVNQQVRDSEVSX0tFWV07cmV0dXJuIG51bGw9PWkmJihpPW5ldyBlKHQpLG5bZS5fRElTUEFUQ0hFUl9LRVldPWkpLGl9LGUucHJvdG90eXBlLm9uTW91c2VNb3ZlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KGUuX01PVVNFTU9WRV9FVkVOVF9OQU1FLHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZk1vdXNlTW92ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmVtb3ZlQ2FsbGJhY2tGb3JFdmVudChlLl9NT1VTRU1PVkVfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vbk1vdXNlRG93bj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChlLl9NT1VTRURPV05fRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZNb3VzZURvd249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQoZS5fTU9VU0VET1dOX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub25Nb3VzZVVwPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KGUuX01PVVNFVVBfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZNb3VzZVVwPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KGUuX01PVVNFVVBfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vbldoZWVsPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KGUuX1dIRUVMX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub2ZmV2hlZWw9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQoZS5fV0hFRUxfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vbkRibENsaWNrPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KGUuX0RCTENMSUNLX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub2ZmRGJsQ2xpY2s9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQoZS5fREJMQ0xJQ0tfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5fbWVhc3VyZUFuZERpc3BhdGNoPWZ1bmN0aW9uKHQsZSxuLGkpe2lmKHZvaWQgMD09PWkmJihpPSJlbGVtZW50IiksInBhZ2UiIT09aSYmImVsZW1lbnQiIT09aSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2NvcGUgJyIraSsiJywgbXVzdCBiZSAnZWxlbWVudCcgb3IgJ3BhZ2UnIik7aWYoInBhZ2UiPT09aXx8dGhpcy5ldmVudEluc2lkZSh0LGUpKXt2YXIgcj10aGlzLl90cmFuc2xhdG9yLmNvbXB1dGVQb3NpdGlvbihlLmNsaWVudFgsZS5jbGllbnRZKTt0aGlzLl9sYXN0TW91c2VQb3NpdGlvbj1yLHRoaXMuX2NhbGxDYWxsYmFja3NGb3JFdmVudChuLHRoaXMubGFzdE1vdXNlUG9zaXRpb24oKSxlKX19LGUucHJvdG90eXBlLmV2ZW50SW5zaWRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHB4dC5UcmFuc2xhdG9yLmlzRXZlbnRJbnNpZGUodCxlKX0sZS5wcm90b3R5cGUubGFzdE1vdXNlUG9zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbGFzdE1vdXNlUG9zaXRpb259LGUuX0RJU1BBVENIRVJfS0VZPSJfX1Bsb3R0YWJsZV9EaXNwYXRjaGVyX01vdXNlIixlLl9NT1VTRU9WRVJfRVZFTlRfTkFNRT0ibW91c2VvdmVyIixlLl9NT1VTRU1PVkVfRVZFTlRfTkFNRT0ibW91c2Vtb3ZlIixlLl9NT1VTRU9VVF9FVkVOVF9OQU1FPSJtb3VzZW91dCIsZS5fTU9VU0VET1dOX0VWRU5UX05BTUU9Im1vdXNlZG93biIsZS5fTU9VU0VVUF9FVkVOVF9OQU1FPSJtb3VzZXVwIixlLl9XSEVFTF9FVkVOVF9OQU1FPSJ3aGVlbCIsZS5fREJMQ0xJQ0tfRVZFTlRfTkFNRT0iZGJsY2xpY2siLGV9KShheHQuRGlzcGF0Y2hlcik7aHh0Lk1vdXNlPWZ4dDt2YXIgbXh0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShteHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBneHQ9Qk8sX3h0PURfdCx5eHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUobil7dmFyIGk9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBpLl90cmFuc2xhdG9yPV94dC5nZXRUcmFuc2xhdG9yKG4pLGkuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bZS5fVE9VQ0hTVEFSVF9FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9UT1VDSFNUQVJUX0VWRU5UX05BTUUsInBhZ2UiKX0saS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltlLl9UT1VDSE1PVkVfRVZFTlRfTkFNRV09ZnVuY3Rpb24odCl7cmV0dXJuIGkuX21lYXN1cmVBbmREaXNwYXRjaChuLHQsZS5fVE9VQ0hNT1ZFX0VWRU5UX05BTUUsInBhZ2UiKX0saS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltlLl9UT1VDSEVORF9FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9UT1VDSEVORF9FVkVOVF9OQU1FLCJwYWdlIil9LGkuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bZS5fVE9VQ0hDQU5DRUxfRVZFTlRfTkFNRV09ZnVuY3Rpb24odCl7cmV0dXJuIGkuX21lYXN1cmVBbmREaXNwYXRjaChuLHQsZS5fVE9VQ0hDQU5DRUxfRVZFTlRfTkFNRSwicGFnZSIpfSxpfXJldHVybiBneHQuX19leHRlbmRzKGUsdCksZS5nZXREaXNwYXRjaGVyPWZ1bmN0aW9uKHQpe3ZhciBuPXQucm9vdCgpLnJvb3RFbGVtZW50KCksaT1uW2UuX0RJU1BBVENIRVJfS0VZXTtyZXR1cm4gbnVsbD09aSYmKGk9bmV3IGUodCksbltlLl9ESVNQQVRDSEVSX0tFWV09aSksaX0sZS5wcm90b3R5cGUub25Ub3VjaFN0YXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KGUuX1RPVUNIU1RBUlRfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZUb3VjaFN0YXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KGUuX1RPVUNIU1RBUlRfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vblRvdWNoTW92ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChlLl9UT1VDSE1PVkVfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZUb3VjaE1vdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQoZS5fVE9VQ0hNT1ZFX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub25Ub3VjaEVuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChlLl9UT1VDSEVORF9FVkVOVF9OQU1FLHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZlRvdWNoRW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KGUuX1RPVUNIRU5EX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub25Ub3VjaENhbmNlbD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChlLl9UT1VDSENBTkNFTF9FVkVOVF9OQU1FLHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZlRvdWNoQ2FuY2VsPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KGUuX1RPVUNIQ0FOQ0VMX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUuX21lYXN1cmVBbmREaXNwYXRjaD1mdW5jdGlvbih0LGUsbixpKXtpZih2b2lkIDA9PT1pJiYoaT0iZWxlbWVudCIpLCJwYWdlIiE9PWkmJiJlbGVtZW50IiE9PWkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHNjb3BlICciK2krIicsIG11c3QgYmUgJ2VsZW1lbnQnIG9yICdwYWdlJyIpO2lmKCJlbGVtZW50IiE9PWl8fHRoaXMuZXZlbnRJbnNpZGUodCxlKSl7Zm9yKHZhciByPWUuY2hhbmdlZFRvdWNoZXMsbz17fSxhPVtdLHM9MDtzPHIubGVuZ3RoO3MrKyl7dmFyIGw9cltzXSxjPWwuaWRlbnRpZmllcix1PXRoaXMuX3RyYW5zbGF0b3IuY29tcHV0ZVBvc2l0aW9uKGwuY2xpZW50WCxsLmNsaWVudFkpO251bGwhPXUmJihvW2NdPXUsYS5wdXNoKGMpKX1hLmxlbmd0aD4wJiZ0aGlzLl9jYWxsQ2FsbGJhY2tzRm9yRXZlbnQobixhLG8sZSl9fSxlLnByb3RvdHlwZS5ldmVudEluc2lkZT1mdW5jdGlvbih0LGUpe3JldHVybiBfeHQuVHJhbnNsYXRvci5pc0V2ZW50SW5zaWRlKHQsZSl9LGUuX0RJU1BBVENIRVJfS0VZPSJfX1Bsb3R0YWJsZV9EaXNwYXRjaGVyX1RvdWNoIixlLl9UT1VDSFNUQVJUX0VWRU5UX05BTUU9InRvdWNoc3RhcnQiLGUuX1RPVUNITU9WRV9FVkVOVF9OQU1FPSJ0b3VjaG1vdmUiLGUuX1RPVUNIRU5EX0VWRU5UX05BTUU9InRvdWNoZW5kIixlLl9UT1VDSENBTkNFTF9FVkVOVF9OQU1FPSJ0b3VjaGNhbmNlbCIsZX0pKGF4dC5EaXNwYXRjaGVyKTtteHQuVG91Y2g9eXh0LChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPO2UuX19leHBvcnRTdGFyKG94dCx0KSxlLl9fZXhwb3J0U3RhcihoeHQsdCksZS5fX2V4cG9ydFN0YXIobXh0LHQpfSkocnh0KTt2YXIgdnh0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eSh2eHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBieHQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3ZhciB0PXRoaXM7dGhpcy5fYW5jaG9yQ2FsbGJhY2s9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuX2FuY2hvcihlKX0sdGhpcy5fZW5hYmxlZD0hMH1yZXR1cm4gdC5wcm90b3R5cGUuYXR0YWNoVG89ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2Rpc2Nvbm5lY3QoKSx0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvPXQsdGhpcy5fY29ubmVjdCgpLHRoaXN9LHQucHJvdG90eXBlLmRldGFjaEZyb209ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZGV0YWNoKCl9LHQucHJvdG90eXBlLmRldGFjaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kaXNjb25uZWN0KCksdGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbz1udWxsLHRoaXN9LHQucHJvdG90eXBlLmVuYWJsZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZW5hYmxlZDoodGhpcy5fZW5hYmxlZD10LHRoaXMuX2VuYWJsZWQ/dGhpcy5fY29ubmVjdCgpOnRoaXMuX2Rpc2Nvbm5lY3QoKSx0aGlzKX0sdC5wcm90b3R5cGUuX2FuY2hvcj1mdW5jdGlvbih0KXt0aGlzLl9pc0FuY2hvcmVkPSEwfSx0LnByb3RvdHlwZS5fdW5hbmNob3I9ZnVuY3Rpb24oKXt0aGlzLl9pc0FuY2hvcmVkPSExfSx0LnByb3RvdHlwZS5fdHJhbnNsYXRlVG9Db21wb25lbnRTcGFjZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLm9yaWdpblRvUm9vdCgpO3JldHVybnt4OnQueC1lLngseTp0LnktZS55fX0sdC5wcm90b3R5cGUuX2lzSW5zaWRlQ29tcG9uZW50PWZ1bmN0aW9uKHQpe3JldHVybiAwPD10LngmJjA8PXQueSYmdC54PD10aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLndpZHRoKCkmJnQueTw9dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby5oZWlnaHQoKX0sdC5wcm90b3R5cGUuX2Nvbm5lY3Q9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQoKSYmbnVsbCE9dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyYmIXRoaXMuX2lzQW5jaG9yZWQmJnRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8ub25BbmNob3IodGhpcy5fYW5jaG9yQ2FsbGJhY2spfSx0LnByb3RvdHlwZS5fZGlzY29ubmVjdD1mdW5jdGlvbigpe3RoaXMuX2lzQW5jaG9yZWQmJnRoaXMuX3VuYW5jaG9yKCksbnVsbCE9dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyYmdGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby5vZmZBbmNob3IodGhpcy5fYW5jaG9yQ2FsbGJhY2spfSx0fSkoKTt2eHQuSW50ZXJhY3Rpb249Ynh0LAovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoaXh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgeHh0PUJPLHd4dD1yeHQsU3h0PURfdCxNeHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT1udWxsIT09dCYmdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7cmV0dXJuIGUuX2NsaWNrZWREb3duPSExLGUuX2RvdWJsZUNsaWNraW5nPSExLGUuX29uQ2xpY2tDYWxsYmFja3M9bmV3IFN4dC5DYWxsYmFja1NldCxlLl9vbkRvdWJsZUNsaWNrQ2FsbGJhY2tzPW5ldyBTeHQuQ2FsbGJhY2tTZXQsZS5fbW91c2VEb3duQ2FsbGJhY2s9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5faGFuZGxlQ2xpY2tEb3duKHQsbil9LGUuX21vdXNlVXBDYWxsYmFjaz1mdW5jdGlvbih0LG4pe3JldHVybiBlLl9oYW5kbGVDbGlja1VwKHQsbil9LGUuX2RibENsaWNrQ2FsbGJhY2s9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5faGFuZGxlRGJsQ2xpY2sodCxuKX0sZS5fdG91Y2hTdGFydENhbGxiYWNrPWZ1bmN0aW9uKHQsbixpKXtyZXR1cm4gZS5faGFuZGxlQ2xpY2tEb3duKG5bdFswXV0saSl9LGUuX3RvdWNoRW5kQ2FsbGJhY2s9ZnVuY3Rpb24odCxuLGkpe3JldHVybiBlLl9oYW5kbGVDbGlja1VwKG5bdFswXV0saSl9LGUuX3RvdWNoQ2FuY2VsQ2FsbGJhY2s9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5fY2xpY2tlZERvd249ITF9LGV9cmV0dXJuIHh4dC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fYW5jaG9yPWZ1bmN0aW9uKGUpe3QucHJvdG90eXBlLl9hbmNob3IuY2FsbCh0aGlzLGUpLHRoaXMuX21vdXNlRGlzcGF0Y2hlcj13eHQuTW91c2UuZ2V0RGlzcGF0Y2hlcihlKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub25Nb3VzZURvd24odGhpcy5fbW91c2VEb3duQ2FsbGJhY2spLHRoaXMuX21vdXNlRGlzcGF0Y2hlci5vbk1vdXNlVXAodGhpcy5fbW91c2VVcENhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub25EYmxDbGljayh0aGlzLl9kYmxDbGlja0NhbGxiYWNrKSx0aGlzLl90b3VjaERpc3BhdGNoZXI9d3h0LlRvdWNoLmdldERpc3BhdGNoZXIoZSksdGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hTdGFydCh0aGlzLl90b3VjaFN0YXJ0Q2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoRW5kKHRoaXMuX3RvdWNoRW5kQ2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoQ2FuY2VsKHRoaXMuX3RvdWNoQ2FuY2VsQ2FsbGJhY2spfSxlLnByb3RvdHlwZS5fdW5hbmNob3I9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fdW5hbmNob3IuY2FsbCh0aGlzKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub2ZmTW91c2VEb3duKHRoaXMuX21vdXNlRG93bkNhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub2ZmTW91c2VVcCh0aGlzLl9tb3VzZVVwQ2FsbGJhY2spLHRoaXMuX21vdXNlRGlzcGF0Y2hlci5vZmZEYmxDbGljayh0aGlzLl9kYmxDbGlja0NhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXI9bnVsbCx0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hTdGFydCh0aGlzLl90b3VjaFN0YXJ0Q2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaEVuZCh0aGlzLl90b3VjaEVuZENhbGxiYWNrKSx0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hDYW5jZWwodGhpcy5fdG91Y2hDYW5jZWxDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyPW51bGx9LGUucHJvdG90eXBlLl9oYW5kbGVDbGlja0Rvd249ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHQpO3RoaXMuX2lzSW5zaWRlQ29tcG9uZW50KG4pJiYodGhpcy5fY2xpY2tlZERvd249ITAsdGhpcy5fY2xpY2tlZFBvaW50PW4pfSxlLnByb3RvdHlwZS5faGFuZGxlQ2xpY2tVcD1mdW5jdGlvbih0LG4pe3ZhciBpPXRoaXMscj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHQpO3RoaXMuX2NsaWNrZWREb3duJiZlLl9wb2ludHNFcXVhbChyLHRoaXMuX2NsaWNrZWRQb2ludCkmJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aS5fZG91YmxlQ2xpY2tpbmd8fGkuX29uQ2xpY2tDYWxsYmFja3MuY2FsbENhbGxiYWNrcyhyLG4pfSksMCksdGhpcy5fY2xpY2tlZERvd249ITF9LGUucHJvdG90eXBlLl9oYW5kbGVEYmxDbGljaz1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMsaT10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHQpO3RoaXMuX2RvdWJsZUNsaWNraW5nPSEwLHRoaXMuX29uRG91YmxlQ2xpY2tDYWxsYmFja3MuY2FsbENhbGxiYWNrcyhpLGUpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIG4uX2RvdWJsZUNsaWNraW5nPSExfSksMCl9LGUuX3BvaW50c0VxdWFsPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQueD09PWUueCYmdC55PT09ZS55fSxlLnByb3RvdHlwZS5vbkNsaWNrPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9vbkNsaWNrQ2FsbGJhY2tzLmFkZCh0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZDbGljaz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fb25DbGlja0NhbGxiYWNrcy5kZWxldGUodCksdGhpc30sZS5wcm90b3R5cGUub25Eb3VibGVDbGljaz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fb25Eb3VibGVDbGlja0NhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmRG91YmxlQ2xpY2s9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX29uRG91YmxlQ2xpY2tDYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LGV9KSh2eHQuSW50ZXJhY3Rpb24pO2l4dC5DbGljaz1NeHQ7dmFyIEV4dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoRXh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgVHh0PUJPLEN4dD1yeHQsQXh0PURfdCxreHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUobil7dmFyIGk9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBpLl9kcmFnZ2luZz0hMSxpLl9jb25zdHJhaW5lZFRvQ29tcG9uZW50PSEwLGkuX21vdXNlRmlsdGVyPWUuX0RFRkFVTFRfTU9VU0VfRklMVEVSLGkuX2RyYWdTdGFydENhbGxiYWNrcz1uZXcgQXh0LkNhbGxiYWNrU2V0LGkuX2RyYWdDYWxsYmFja3M9bmV3IEF4dC5DYWxsYmFja1NldCxpLl9kcmFnRW5kQ2FsbGJhY2tzPW5ldyBBeHQuQ2FsbGJhY2tTZXQsaS5fbW91c2VEb3duQ2FsbGJhY2s9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaS5fc3RhcnREcmFnKHQsZSl9LGkuX21vdXNlTW92ZUNhbGxiYWNrPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkuX2RvRHJhZyh0LGUpfSxpLl9tb3VzZVVwQ2FsbGJhY2s9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaS5fZW5kRHJhZyh0LGUpfSxpLl90b3VjaFN0YXJ0Q2FsbGJhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBpLl9zdGFydERyYWcoZVt0WzBdXSxuKX0saS5fdG91Y2hNb3ZlQ2FsbGJhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBpLl9kb0RyYWcoZVt0WzBdXSxuKX0saS5fdG91Y2hFbmRDYWxsYmFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGkuX2VuZERyYWcoZVt0WzBdXSxuKX0saS5fbW91c2VCdXR0b249dm9pZCAwIT09bj9uOjAsaX1yZXR1cm4gVHh0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24oZSl7dC5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsZSksdGhpcy5fbW91c2VEaXNwYXRjaGVyPUN4dC5Nb3VzZS5nZXREaXNwYXRjaGVyKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8pLHRoaXMuX21vdXNlRGlzcGF0Y2hlci5vbk1vdXNlRG93bih0aGlzLl9tb3VzZURvd25DYWxsYmFjayksdGhpcy5fbW91c2VEaXNwYXRjaGVyLm9uTW91c2VNb3ZlKHRoaXMuX21vdXNlTW92ZUNhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub25Nb3VzZVVwKHRoaXMuX21vdXNlVXBDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyPUN4dC5Ub3VjaC5nZXREaXNwYXRjaGVyKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8pLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoU3RhcnQodGhpcy5fdG91Y2hTdGFydENhbGxiYWNrKSx0aGlzLl90b3VjaERpc3BhdGNoZXIub25Ub3VjaE1vdmUodGhpcy5fdG91Y2hNb3ZlQ2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoRW5kKHRoaXMuX3RvdWNoRW5kQ2FsbGJhY2spfSxlLnByb3RvdHlwZS5fdW5hbmNob3I9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fdW5hbmNob3IuY2FsbCh0aGlzKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub2ZmTW91c2VEb3duKHRoaXMuX21vdXNlRG93bkNhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub2ZmTW91c2VNb3ZlKHRoaXMuX21vdXNlTW92ZUNhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub2ZmTW91c2VVcCh0aGlzLl9tb3VzZVVwQ2FsbGJhY2spLHRoaXMuX21vdXNlRGlzcGF0Y2hlcj1udWxsLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaFN0YXJ0KHRoaXMuX3RvdWNoU3RhcnRDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9mZlRvdWNoTW92ZSh0aGlzLl90b3VjaE1vdmVDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9mZlRvdWNoRW5kKHRoaXMuX3RvdWNoRW5kQ2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlcj1udWxsfSxlLnByb3RvdHlwZS5fdHJhbnNsYXRlQW5kQ29uc3RyYWluPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3RyYW5zbGF0ZVRvQ29tcG9uZW50U3BhY2UodCk7cmV0dXJuIHRoaXMuX2NvbnN0cmFpbmVkVG9Db21wb25lbnQ/e3g6QXh0Lk1hdGguY2xhbXAoZS54LDAsdGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby53aWR0aCgpKSx5OkF4dC5NYXRoLmNsYW1wKGUueSwwLHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8uaGVpZ2h0KCkpfTplfSxlLnByb3RvdHlwZS5fc3RhcnREcmFnPWZ1bmN0aW9uKHQsZSl7aWYoIShlIGluc3RhbmNlb2YgTW91c2VFdmVudCl8fHRoaXMuX21vdXNlRmlsdGVyKGUpKXt2YXIgbj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHQpO3RoaXMuX2lzSW5zaWRlQ29tcG9uZW50KG4pJiYoZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2RyYWdnaW5nPSEwLHRoaXMuX2RyYWdPcmlnaW49bix0aGlzLl9kcmFnU3RhcnRDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh0aGlzLl9kcmFnT3JpZ2luKSl9fSxlLnByb3RvdHlwZS5fZG9EcmFnPWZ1bmN0aW9uKHQsZSl7dGhpcy5fZHJhZ2dpbmcmJnRoaXMuX2RyYWdDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh0aGlzLl9kcmFnT3JpZ2luLHRoaXMuX3RyYW5zbGF0ZUFuZENvbnN0cmFpbih0KSl9LGUucHJvdG90eXBlLl9lbmREcmFnPWZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIE1vdXNlRXZlbnQmJmUuYnV0dG9uIT09dGhpcy5fbW91c2VCdXR0b258fHRoaXMuX2RyYWdnaW5nJiYodGhpcy5fZHJhZ2dpbmc9ITEsdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKHRoaXMuX2RyYWdPcmlnaW4sdGhpcy5fdHJhbnNsYXRlQW5kQ29uc3RyYWluKHQpKSl9LGUucHJvdG90eXBlLmNvbnN0cmFpbmVkVG9Db21wb25lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fY29uc3RyYWluZWRUb0NvbXBvbmVudDoodGhpcy5fY29uc3RyYWluZWRUb0NvbXBvbmVudD10LHRoaXMpfSxlLnByb3RvdHlwZS5tb3VzZUZpbHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5fbW91c2VGaWx0ZXI6KHRoaXMuX21vdXNlRmlsdGVyPXQsdGhpcyl9LGUucHJvdG90eXBlLm9uRHJhZ1N0YXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kcmFnU3RhcnRDYWxsYmFja3MuYWRkKHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZkRyYWdTdGFydD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlLnByb3RvdHlwZS5vbkRyYWc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdDYWxsYmFja3MuYWRkKHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZkRyYWc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdDYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LGUucHJvdG90eXBlLm9uRHJhZ0VuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmRHJhZ0VuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5kZWxldGUodCksdGhpc30sZS5fREVGQVVMVF9NT1VTRV9GSUxURVI9ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10LmJ1dHRvbn0sZX0pKHZ4dC5JbnRlcmFjdGlvbik7RXh0LkRyYWc9a3h0O3ZhciBMeHQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEx4dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFB4dD1CTyxOeHQ9cnh0LEl4dD1EX3QsUnh0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9bnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO3JldHVybiBlLl9rZXlQcmVzc0NhbGxiYWNrcz17fSxlLl9rZXlSZWxlYXNlQ2FsbGJhY2tzPXt9LGUuX21vdXNlTW92ZUNhbGxiYWNrPWZ1bmN0aW9uKHQpe3JldHVybiExfSxlLl9kb3duZWRLZXlzPW5ldyBJeHQuU2V0LGUuX2tleURvd25DYWxsYmFjaz1mdW5jdGlvbih0LG4pe3JldHVybiBlLl9oYW5kbGVLZXlEb3duRXZlbnQodCxuKX0sZS5fa2V5VXBDYWxsYmFjaz1mdW5jdGlvbih0KXtyZXR1cm4gZS5faGFuZGxlS2V5VXBFdmVudCh0KX0sZX1yZXR1cm4gUHh0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24oZSl7dC5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsZSksdGhpcy5fcG9zaXRpb25EaXNwYXRjaGVyPU54dC5Nb3VzZS5nZXREaXNwYXRjaGVyKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8pLHRoaXMuX3Bvc2l0aW9uRGlzcGF0Y2hlci5vbk1vdXNlTW92ZSh0aGlzLl9tb3VzZU1vdmVDYWxsYmFjayksdGhpcy5fa2V5RGlzcGF0Y2hlcj1OeHQuS2V5LmdldERpc3BhdGNoZXIoKSx0aGlzLl9rZXlEaXNwYXRjaGVyLm9uS2V5RG93bih0aGlzLl9rZXlEb3duQ2FsbGJhY2spLHRoaXMuX2tleURpc3BhdGNoZXIub25LZXlVcCh0aGlzLl9rZXlVcENhbGxiYWNrKX0sZS5wcm90b3R5cGUuX3VuYW5jaG9yPWZ1bmN0aW9uKCl7dC5wcm90b3R5cGUuX3VuYW5jaG9yLmNhbGwodGhpcyksdGhpcy5fcG9zaXRpb25EaXNwYXRjaGVyLm9mZk1vdXNlTW92ZSh0aGlzLl9tb3VzZU1vdmVDYWxsYmFjayksdGhpcy5fcG9zaXRpb25EaXNwYXRjaGVyPW51bGwsdGhpcy5fa2V5RGlzcGF0Y2hlci5vZmZLZXlEb3duKHRoaXMuX2tleURvd25DYWxsYmFjayksdGhpcy5fa2V5RGlzcGF0Y2hlci5vZmZLZXlVcCh0aGlzLl9rZXlVcENhbGxiYWNrKSx0aGlzLl9rZXlEaXNwYXRjaGVyPW51bGx9LGUucHJvdG90eXBlLl9oYW5kbGVLZXlEb3duRXZlbnQ9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHRoaXMuX3Bvc2l0aW9uRGlzcGF0Y2hlci5sYXN0TW91c2VQb3NpdGlvbigpKTt0aGlzLl9pc0luc2lkZUNvbXBvbmVudChuKSYmIWUucmVwZWF0JiYodGhpcy5fa2V5UHJlc3NDYWxsYmFja3NbdF0mJnRoaXMuX2tleVByZXNzQ2FsbGJhY2tzW3RdLmNhbGxDYWxsYmFja3ModCksdGhpcy5fZG93bmVkS2V5cy5hZGQodCkpfSxlLnByb3RvdHlwZS5faGFuZGxlS2V5VXBFdmVudD1mdW5jdGlvbih0KXt0aGlzLl9kb3duZWRLZXlzLmhhcyh0KSYmdGhpcy5fa2V5UmVsZWFzZUNhbGxiYWNrc1t0XSYmdGhpcy5fa2V5UmVsZWFzZUNhbGxiYWNrc1t0XS5jYWxsQ2FsbGJhY2tzKHQpLHRoaXMuX2Rvd25lZEtleXMuZGVsZXRlKHQpfSxlLnByb3RvdHlwZS5vbktleVByZXNzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2tleVByZXNzQ2FsbGJhY2tzW3RdfHwodGhpcy5fa2V5UHJlc3NDYWxsYmFja3NbdF09bmV3IEl4dC5DYWxsYmFja1NldCksdGhpcy5fa2V5UHJlc3NDYWxsYmFja3NbdF0uYWRkKGUpLHRoaXN9LGUucHJvdG90eXBlLm9mZktleVByZXNzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2tleVByZXNzQ2FsbGJhY2tzW3RdLmRlbGV0ZShlKSwwPT09dGhpcy5fa2V5UHJlc3NDYWxsYmFja3NbdF0uc2l6ZSYmZGVsZXRlIHRoaXMuX2tleVByZXNzQ2FsbGJhY2tzW3RdLHRoaXN9LGUucHJvdG90eXBlLm9uS2V5UmVsZWFzZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9rZXlSZWxlYXNlQ2FsbGJhY2tzW3RdfHwodGhpcy5fa2V5UmVsZWFzZUNhbGxiYWNrc1t0XT1uZXcgSXh0LkNhbGxiYWNrU2V0KSx0aGlzLl9rZXlSZWxlYXNlQ2FsbGJhY2tzW3RdLmFkZChlKSx0aGlzfSxlLnByb3RvdHlwZS5vZmZLZXlSZWxlYXNlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2tleVJlbGVhc2VDYWxsYmFja3NbdF0uZGVsZXRlKGUpLDA9PT10aGlzLl9rZXlSZWxlYXNlQ2FsbGJhY2tzW3RdLnNpemUmJmRlbGV0ZSB0aGlzLl9rZXlSZWxlYXNlQ2FsbGJhY2tzW3RdLHRoaXN9LGV9KSh2eHQuSW50ZXJhY3Rpb24pO0x4dC5LZXk9Unh0O3ZhciBPeHQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KE94dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHp4dD1CTyxEeHQ9d3B0LEJ4dD1yeHQsSHh0PVh2dCxGeHQ9RF90LFZ4dD1ueHQsVXh0PXRidCxqeHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxuKXt2YXIgaT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGkuX3doZWVsRmlsdGVyPWZ1bmN0aW9uKHQpe3JldHVybiEwfSxpLl93aGVlbENhbGxiYWNrPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkuX2hhbmRsZVdoZWVsRXZlbnQodCxlKX0saS5fdG91Y2hTdGFydENhbGxiYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gaS5faGFuZGxlVG91Y2hTdGFydCh0LGUsbil9LGkuX3RvdWNoTW92ZUNhbGxiYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gaS5faGFuZGxlUGluY2godCxlLG4pfSxpLl90b3VjaEVuZENhbGxiYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gaS5faGFuZGxlVG91Y2hFbmQodCxlLG4pfSxpLl90b3VjaENhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gaS5faGFuZGxlVG91Y2hFbmQodCxlLG4pfSxpLl9wYW5FbmRDYWxsYmFja3M9bmV3IEZ4dC5DYWxsYmFja1NldCxpLl96b29tRW5kQ2FsbGJhY2tzPW5ldyBGeHQuQ2FsbGJhY2tTZXQsaS5fcGFuWm9vbVVwZGF0ZUNhbGxiYWNrcz1uZXcgRnh0LkNhbGxiYWNrU2V0LGkuX3hTY2FsZXM9bmV3IEZ4dC5TZXQsaS5feVNjYWxlcz1uZXcgRnh0LlNldCxpLl9kcmFnSW50ZXJhY3Rpb249bmV3IFZ4dC5EcmFnLGkuX3NldHVwRHJhZ0ludGVyYWN0aW9uKCksaS5fdG91Y2hJZHM9RHh0Lm1hcCgpLGkuX21pbkRvbWFpbkV4dGVudHM9bmV3IEZ4dC5NYXAsaS5fbWF4RG9tYWluRXh0ZW50cz1uZXcgRnh0Lk1hcCxpLl9taW5Eb21haW5WYWx1ZXM9bmV3IEZ4dC5NYXAsaS5fbWF4RG9tYWluVmFsdWVzPW5ldyBGeHQuTWFwLG51bGwhPWUmJmkuYWRkWFNjYWxlKGUpLG51bGwhPW4mJmkuYWRkWVNjYWxlKG4pLGl9cmV0dXJuIHp4dC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5kcmFnSW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhZ0ludGVyYWN0aW9ufSxlLnByb3RvdHlwZS53aGVlbEZpbHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5fd2hlZWxGaWx0ZXI6KHRoaXMuX3doZWVsRmlsdGVyPXQsdGhpcyl9LGUucHJvdG90eXBlLnBhbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMueFNjYWxlcygpLmZvckVhY2goKGZ1bmN0aW9uKG4pe24ucGFuKGUuX2NvbnN0cmFpbmVkVHJhbnNsYXRpb24obix0LngpKX0pKSx0aGlzLnlTY2FsZXMoKS5mb3JFYWNoKChmdW5jdGlvbihuKXtuLnBhbihlLl9jb25zdHJhaW5lZFRyYW5zbGF0aW9uKG4sdC55KSl9KSksdGhpcy5fcGFuWm9vbVVwZGF0ZUNhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKCl9LGUucHJvdG90eXBlLnpvb209ZnVuY3Rpb24odCxlLG4pe3ZhciBpLHIsbz10aGlzO3JldHVybiB2b2lkIDA9PT1uJiYobj0hMCksbnVsbCE9ZSYmKGk9ZS54LHI9ZS55LG4mJih0aGlzLnhTY2FsZXMoKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1vLl9jb25zdHJhaW5lZFpvb20oZSx0LGkpO2k9bi5jZW50ZXJQb2ludCx0PW4uem9vbUFtb3VudH0pKSx0aGlzLnlTY2FsZXMoKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1vLl9jb25zdHJhaW5lZFpvb20oZSx0LHIpO3I9bi5jZW50ZXJQb2ludCx0PW4uem9vbUFtb3VudH0pKSkpLHRoaXMueFNjYWxlcygpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPWUucmFuZ2UoKTtlLnpvb20odCxudWxsPT1pPyhuWzFdK25bMF0pLzI6aSl9KSksdGhpcy55U2NhbGVzKCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZS5yYW5nZSgpO2Uuem9vbSh0LG51bGw9PXI/KG5bMV0rblswXSkvMjpyKX0pKSx0aGlzLl9wYW5ab29tVXBkYXRlQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MoKSx7em9vbUFtb3VudDp0LGNlbnRlclZhbHVlOntjZW50ZXJYOmksY2VudGVyWTpyfX19LGUucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24oZSl7dC5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsZSksdGhpcy5fZHJhZ0ludGVyYWN0aW9uLmF0dGFjaFRvKGUpLHRoaXMuX21vdXNlRGlzcGF0Y2hlcj1CeHQuTW91c2UuZ2V0RGlzcGF0Y2hlcih0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub25XaGVlbCh0aGlzLl93aGVlbENhbGxiYWNrKSx0aGlzLl90b3VjaERpc3BhdGNoZXI9Qnh0LlRvdWNoLmdldERpc3BhdGNoZXIodGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyksdGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hTdGFydCh0aGlzLl90b3VjaFN0YXJ0Q2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoTW92ZSh0aGlzLl90b3VjaE1vdmVDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hFbmQodGhpcy5fdG91Y2hFbmRDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hDYW5jZWwodGhpcy5fdG91Y2hDYW5jZWxDYWxsYmFjayl9LGUucHJvdG90eXBlLl91bmFuY2hvcj1mdW5jdGlvbigpe3QucHJvdG90eXBlLl91bmFuY2hvci5jYWxsKHRoaXMpLHRoaXMuX21vdXNlRGlzcGF0Y2hlci5vZmZXaGVlbCh0aGlzLl93aGVlbENhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXI9bnVsbCx0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hTdGFydCh0aGlzLl90b3VjaFN0YXJ0Q2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaE1vdmUodGhpcy5fdG91Y2hNb3ZlQ2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaEVuZCh0aGlzLl90b3VjaEVuZENhbGxiYWNrKSx0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hDYW5jZWwodGhpcy5fdG91Y2hDYW5jZWxDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyPW51bGwsdGhpcy5fZHJhZ0ludGVyYWN0aW9uLmRldGFjaCgpfSxlLnByb3RvdHlwZS5faGFuZGxlVG91Y2hTdGFydD1mdW5jdGlvbih0LGUsbil7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aCYmdGhpcy5fdG91Y2hJZHMuc2l6ZSgpPDI7aSsrKXt2YXIgcj10W2ldO3RoaXMuX3RvdWNoSWRzLnNldChyLnRvU3RyaW5nKCksdGhpcy5fdHJhbnNsYXRlVG9Db21wb25lbnRTcGFjZShlW3JdKSl9fSxlLnByb3RvdHlwZS5faGFuZGxlUGluY2g9ZnVuY3Rpb24odCxuLGkpe3ZhciByPXRoaXM7aWYoISh0aGlzLl90b3VjaElkcy5zaXplKCk8Mikpe3ZhciBvPXRoaXMuX3RvdWNoSWRzLnZhbHVlcygpO2lmKHRoaXMuX2lzSW5zaWRlQ29tcG9uZW50KHRoaXMuX3RyYW5zbGF0ZVRvQ29tcG9uZW50U3BhY2Uob1swXSkpJiZ0aGlzLl9pc0luc2lkZUNvbXBvbmVudCh0aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKG9bMV0pKSl7dmFyIGE9ZS5fcG9pbnREaXN0YW5jZShvWzBdLG9bMV0pO2lmKDAhPT1hKXt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3IuX3RvdWNoSWRzLmhhcyh0LnRvU3RyaW5nKCkpJiZyLl90b3VjaElkcy5zZXQodC50b1N0cmluZygpLHIuX3RyYW5zbGF0ZVRvQ29tcG9uZW50U3BhY2Uoblt0XSkpfSkpO3ZhciBzPXRoaXMuX3RvdWNoSWRzLnZhbHVlcygpLGw9ZS5fcG9pbnREaXN0YW5jZShzWzBdLHNbMV0pO2lmKDAhPT1sKXt2YXIgYz1hL2wsdT1zLm1hcCgoZnVuY3Rpb24odCxlKXtyZXR1cm57eDoodC54LW9bZV0ueCkvYyx5Oih0Lnktb1tlXS55KS9jfX0pKSxoPWUuY2VudGVyUG9pbnQob1swXSxvWzFdKSxkPXRoaXMuem9vbShjLGgpLHA9ZC5jZW50ZXJWYWx1ZSxmPWQuem9vbUFtb3VudCxtPXAuY2VudGVyWCxnPXAuY2VudGVyWSxfPW8ubWFwKChmdW5jdGlvbih0LGUpe3JldHVybnt4OnVbZV0ueCpmK3QueCx5OnVbZV0ueSpmK3QueX19KSk7dGhpcy5wYW4oe3g6bS0oX1swXS54K19bMV0ueCkvMix5OmctKF9bMF0ueStfWzFdLnkpLzJ9KX19fX19LGUuY2VudGVyUG9pbnQ9ZnVuY3Rpb24odCxlKXt2YXIgbj1NYXRoLm1pbih0LngsZS54KSxpPU1hdGgubWF4KHQueCxlLngpLHI9TWF0aC5taW4odC55LGUueSk7cmV0dXJue3g6KG4raSkvMix5OihNYXRoLm1heCh0LnksZS55KStyKS8yfX0sZS5fcG9pbnREaXN0YW5jZT1mdW5jdGlvbih0LGUpe3ZhciBuPU1hdGgubWluKHQueCxlLngpLGk9TWF0aC5tYXgodC54LGUueCkscj1NYXRoLm1pbih0LnksZS55KSxvPU1hdGgubWF4KHQueSxlLnkpO3JldHVybiBNYXRoLnNxcnQoTWF0aC5wb3coaS1uLDIpK01hdGgucG93KG8tciwyKSl9LGUucHJvdG90eXBlLl9oYW5kbGVUb3VjaEVuZD1mdW5jdGlvbih0LGUsbil7dmFyIGk9dGhpczt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2kuX3RvdWNoSWRzLnJlbW92ZSh0LnRvU3RyaW5nKCkpfSkpLHRoaXMuX3RvdWNoSWRzLnNpemUoKT4wJiZ0aGlzLl96b29tRW5kQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MoKX0sZS5wcm90b3R5cGUuX2hhbmRsZVdoZWVsRXZlbnQ9ZnVuY3Rpb24odCxuKXtpZih0aGlzLl93aGVlbEZpbHRlcihuKSl7dmFyIGk9dGhpcy5fdHJhbnNsYXRlVG9Db21wb25lbnRTcGFjZSh0KTtpZih0aGlzLl9pc0luc2lkZUNvbXBvbmVudChpKSl7bi5wcmV2ZW50RGVmYXVsdCgpO3ZhciByPU1hdGgucG93KDIsLjAwMiooKDAhPT1uLmRlbHRhWT9uLmRlbHRhWTpuLmRlbHRhWCkqKG4uZGVsdGFNb2RlP2UuX1BJWEVMU19QRVJfTElORToxKSkpO3RoaXMuem9vbShyLGkpLHRoaXMuX3pvb21FbmRDYWxsYmFja3MuY2FsbENhbGxiYWNrcygpfX19LGUucHJvdG90eXBlLl9jb25zdHJhaW5lZFpvb209ZnVuY3Rpb24odCxlLG4pe3JldHVybiBVeHQuY29uc3RyYWluZWRab29tKHQsZSxuLHRoaXMubWluRG9tYWluRXh0ZW50KHQpLHRoaXMubWF4RG9tYWluRXh0ZW50KHQpLHRoaXMubWluRG9tYWluVmFsdWUodCksdGhpcy5tYXhEb21haW5WYWx1ZSh0KSl9LGUucHJvdG90eXBlLl9jb25zdHJhaW5lZFRyYW5zbGF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFV4dC5jb25zdHJhaW5lZFRyYW5zbGF0aW9uKHQsZSx0aGlzLm1pbkRvbWFpblZhbHVlKHQpLHRoaXMubWF4RG9tYWluVmFsdWUodCkpfSxlLnByb3RvdHlwZS5fc2V0dXBEcmFnSW50ZXJhY3Rpb249ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXM7dGhpcy5fZHJhZ0ludGVyYWN0aW9uLmNvbnN0cmFpbmVkVG9Db21wb25lbnQoITEpLHRoaXMuX2RyYWdJbnRlcmFjdGlvbi5vbkRyYWdTdGFydCgoZnVuY3Rpb24oKXtyZXR1cm4gdD1udWxsfSkpLHRoaXMuX2RyYWdJbnRlcmFjdGlvbi5vbkRyYWcoKGZ1bmN0aW9uKG4saSl7ZS5fdG91Y2hJZHMuc2l6ZSgpPj0yfHwoZS5wYW4oe3g6KG51bGw9PXQ/bi54OnQueCktaS54LHk6KG51bGw9PXQ/bi55OnQueSktaS55fSksdD1pKX0pKSx0aGlzLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnRW5kKChmdW5jdGlvbigpe3JldHVybiBlLl9wYW5FbmRDYWxsYmFja3MuY2FsbENhbGxiYWNrcygpfSkpfSxlLnByb3RvdHlwZS5fbm9uTGluZWFyU2NhbGVXaXRoRXh0ZW50cz1mdW5jdGlvbih0KXtyZXR1cm4hKG51bGw9PXRoaXMubWluRG9tYWluRXh0ZW50KHQpfHxudWxsPT10aGlzLm1heERvbWFpbkV4dGVudCh0KXx8dCBpbnN0YW5jZW9mIEh4dC5MaW5lYXJ8fHQgaW5zdGFuY2VvZiBIeHQuVGltZSl9LGUucHJvdG90eXBlLnhTY2FsZXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZihudWxsPT10KXt2YXIgbj1bXTtyZXR1cm4gdGhpcy5feFNjYWxlcy5mb3JFYWNoKChmdW5jdGlvbih0KXtuLnB1c2godCl9KSksbn1yZXR1cm4gdGhpcy5feFNjYWxlcz1uZXcgRnh0LlNldCx0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2UuYWRkWFNjYWxlKHQpfSkpLHRoaXN9LGUucHJvdG90eXBlLnlTY2FsZXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZihudWxsPT10KXt2YXIgbj1bXTtyZXR1cm4gdGhpcy5feVNjYWxlcy5mb3JFYWNoKChmdW5jdGlvbih0KXtuLnB1c2godCl9KSksbn1yZXR1cm4gdGhpcy5feVNjYWxlcz1uZXcgRnh0LlNldCx0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2UuYWRkWVNjYWxlKHQpfSkpLHRoaXN9LGUucHJvdG90eXBlLmFkZFhTY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5feFNjYWxlcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUucmVtb3ZlWFNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl94U2NhbGVzLmRlbGV0ZSh0KSx0aGlzLl9taW5Eb21haW5FeHRlbnRzLmRlbGV0ZSh0KSx0aGlzLl9tYXhEb21haW5FeHRlbnRzLmRlbGV0ZSh0KSx0aGlzLl9taW5Eb21haW5WYWx1ZXMuZGVsZXRlKHQpLHRoaXMuX21heERvbWFpblZhbHVlcy5kZWxldGUodCksdGhpc30sZS5wcm90b3R5cGUuYWRkWVNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl95U2NhbGVzLmFkZCh0KSx0aGlzfSxlLnByb3RvdHlwZS5yZW1vdmVZU2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3lTY2FsZXMuZGVsZXRlKHQpLHRoaXMuX21pbkRvbWFpbkV4dGVudHMuZGVsZXRlKHQpLHRoaXMuX21heERvbWFpbkV4dGVudHMuZGVsZXRlKHQpLHRoaXMuX21pbkRvbWFpblZhbHVlcy5kZWxldGUodCksdGhpcy5fbWF4RG9tYWluVmFsdWVzLmRlbGV0ZSh0KSx0aGlzfSxlLnByb3RvdHlwZS5taW5Eb21haW5FeHRlbnQ9ZnVuY3Rpb24odCxlKXtpZihudWxsPT1lKXJldHVybiB0aGlzLl9taW5Eb21haW5FeHRlbnRzLmdldCh0KTtpZihlLnZhbHVlT2YoKTwwKXRocm93IG5ldyBFcnJvcigiZXh0ZW50IG11c3QgYmUgbm9uLW5lZ2F0aXZlIik7dmFyIG49dGhpcy5tYXhEb21haW5FeHRlbnQodCk7aWYobnVsbCE9biYmbi52YWx1ZU9mKCk8ZS52YWx1ZU9mKCkpdGhyb3cgbmV3IEVycm9yKCJtaW5Eb21haW5FeHRlbnQgbXVzdCBiZSBzbWFsbGVyIHRoYW4gbWF4RG9tYWluRXh0ZW50IGZvciB0aGUgc2FtZSBTY2FsZSIpO3JldHVybiB0aGlzLl9ub25MaW5lYXJTY2FsZVdpdGhFeHRlbnRzKHQpJiZGeHQuV2luZG93Lndhcm4oIlBhbm5pbmcgYW5kIHpvb21pbmcgd2l0aCBleHRlbnRzIG9uIGEgbm9ubGluZWFyIHNjYWxlIG1heSBoYXZlIHVuaW50ZW5kZWQgYmVoYXZpb3IuIiksdGhpcy5fbWluRG9tYWluRXh0ZW50cy5zZXQodCxlKSx0aGlzfSxlLnByb3RvdHlwZS5tYXhEb21haW5FeHRlbnQ9ZnVuY3Rpb24odCxlKXtpZihudWxsPT1lKXJldHVybiB0aGlzLl9tYXhEb21haW5FeHRlbnRzLmdldCh0KTtpZihlLnZhbHVlT2YoKTw9MCl0aHJvdyBuZXcgRXJyb3IoImV4dGVudCBtdXN0IGJlIHBvc2l0aXZlIik7dmFyIG49dGhpcy5taW5Eb21haW5FeHRlbnQodCk7aWYobnVsbCE9biYmZS52YWx1ZU9mKCk8bi52YWx1ZU9mKCkpdGhyb3cgbmV3IEVycm9yKCJtYXhEb21haW5FeHRlbnQgbXVzdCBiZSBsYXJnZXIgdGhhbiBtaW5Eb21haW5FeHRlbnQgZm9yIHRoZSBzYW1lIFNjYWxlIik7cmV0dXJuIHRoaXMuX25vbkxpbmVhclNjYWxlV2l0aEV4dGVudHModCkmJkZ4dC5XaW5kb3cud2FybigiUGFubmluZyBhbmQgem9vbWluZyB3aXRoIGV4dGVudHMgb24gYSBub25saW5lYXIgc2NhbGUgbWF5IGhhdmUgdW5pbnRlbmRlZCBiZWhhdmlvci4iKSx0aGlzLl9tYXhEb21haW5FeHRlbnRzLnNldCh0LGUpLHRoaXN9LGUucHJvdG90eXBlLm1pbkRvbWFpblZhbHVlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PWU/dGhpcy5fbWluRG9tYWluVmFsdWVzLmdldCh0KToodGhpcy5fbWluRG9tYWluVmFsdWVzLnNldCh0LGUpLHRoaXMpfSxlLnByb3RvdHlwZS5tYXhEb21haW5WYWx1ZT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT1lP3RoaXMuX21heERvbWFpblZhbHVlcy5nZXQodCk6KHRoaXMuX21heERvbWFpblZhbHVlcy5zZXQodCxlKSx0aGlzKX0sZS5wcm90b3R5cGUuc2V0TWluTWF4RG9tYWluVmFsdWVzVG89ZnVuY3Rpb24odCl7dGhpcy5fbWluRG9tYWluVmFsdWVzLmRlbGV0ZSh0KSx0aGlzLl9tYXhEb21haW5WYWx1ZXMuZGVsZXRlKHQpO3ZhciBlPXQuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKSxuPWVbMV07cmV0dXJuIHRoaXMubWluRG9tYWluVmFsdWUodCxlWzBdKSx0aGlzLm1heERvbWFpblZhbHVlKHQsbiksdGhpc30sZS5wcm90b3R5cGUub25QYW5FbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhbkVuZENhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmUGFuRW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYW5FbmRDYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LGUucHJvdG90eXBlLm9uWm9vbUVuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fem9vbUVuZENhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmWm9vbUVuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fem9vbUVuZENhbGxiYWNrcy5kZWxldGUodCksdGhpc30sZS5wcm90b3R5cGUub25QYW5ab29tVXBkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYW5ab29tVXBkYXRlQ2FsbGJhY2tzLmFkZCh0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZQYW5ab29tVXBkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYW5ab29tVXBkYXRlQ2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlLl9QSVhFTFNfUEVSX0xJTkU9MTIwLGV9KSh2eHQuSW50ZXJhY3Rpb24pO094dC5QYW5ab29tPWp4dDt2YXIgR3h0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShHeHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBXeHQ9Qk8scXh0PXJ4dCxZeHQ9RF90LFh4dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPW51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztyZXR1cm4gZS5fb3ZlckNvbXBvbmVudD0hMSxlLl9wb2ludGVyRW50ZXJDYWxsYmFja3M9bmV3IFl4dC5DYWxsYmFja1NldCxlLl9wb2ludGVyTW92ZUNhbGxiYWNrcz1uZXcgWXh0LkNhbGxiYWNrU2V0LGUuX3BvaW50ZXJFeGl0Q2FsbGJhY2tzPW5ldyBZeHQuQ2FsbGJhY2tTZXQsZS5fbW91c2VNb3ZlQ2FsbGJhY2s9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5faGFuZGxlTW91c2VFdmVudCh0LG4pfSxlLl90b3VjaFN0YXJ0Q2FsbGJhY2s9ZnVuY3Rpb24odCxuLGkpe3JldHVybiBlLl9oYW5kbGVUb3VjaEV2ZW50KG5bdFswXV0saSl9LGV9cmV0dXJuIFd4dC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fYW5jaG9yPWZ1bmN0aW9uKGUpe3QucHJvdG90eXBlLl9hbmNob3IuY2FsbCh0aGlzLGUpLHRoaXMuX21vdXNlRGlzcGF0Y2hlcj1xeHQuTW91c2UuZ2V0RGlzcGF0Y2hlcih0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub25Nb3VzZU1vdmUodGhpcy5fbW91c2VNb3ZlQ2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlcj1xeHQuVG91Y2guZ2V0RGlzcGF0Y2hlcih0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvKSx0aGlzLl90b3VjaERpc3BhdGNoZXIub25Ub3VjaFN0YXJ0KHRoaXMuX3RvdWNoU3RhcnRDYWxsYmFjayl9LGUucHJvdG90eXBlLl91bmFuY2hvcj1mdW5jdGlvbigpe3QucHJvdG90eXBlLl91bmFuY2hvci5jYWxsKHRoaXMpLHRoaXMuX21vdXNlRGlzcGF0Y2hlci5vZmZNb3VzZU1vdmUodGhpcy5fbW91c2VNb3ZlQ2FsbGJhY2spLHRoaXMuX21vdXNlRGlzcGF0Y2hlcj1udWxsLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaFN0YXJ0KHRoaXMuX3RvdWNoU3RhcnRDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyPW51bGx9LGUucHJvdG90eXBlLl9oYW5kbGVNb3VzZUV2ZW50PWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fbW91c2VEaXNwYXRjaGVyLmV2ZW50SW5zaWRlKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8sZSk7dGhpcy5faGFuZGxlUG9pbnRlckV2ZW50KHQsbil9LGUucHJvdG90eXBlLl9oYW5kbGVUb3VjaEV2ZW50PWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fdG91Y2hEaXNwYXRjaGVyLmV2ZW50SW5zaWRlKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8sZSk7dGhpcy5faGFuZGxlUG9pbnRlckV2ZW50KHQsbil9LGUucHJvdG90eXBlLl9oYW5kbGVQb2ludGVyRXZlbnQ9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHQpLGk9dGhpcy5faXNJbnNpZGVDb21wb25lbnQobik7aSYmZT8odGhpcy5fb3ZlckNvbXBvbmVudHx8dGhpcy5fcG9pbnRlckVudGVyQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MobiksdGhpcy5fcG9pbnRlck1vdmVDYWxsYmFja3MuY2FsbENhbGxiYWNrcyhuKSk6dGhpcy5fb3ZlckNvbXBvbmVudCYmdGhpcy5fcG9pbnRlckV4aXRDYWxsYmFja3MuY2FsbENhbGxiYWNrcyhuKSx0aGlzLl9vdmVyQ29tcG9uZW50PWkmJmV9LGUucHJvdG90eXBlLm9uUG9pbnRlckVudGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wb2ludGVyRW50ZXJDYWxsYmFja3MuYWRkKHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZlBvaW50ZXJFbnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcG9pbnRlckVudGVyQ2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlLnByb3RvdHlwZS5vblBvaW50ZXJNb3ZlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wb2ludGVyTW92ZUNhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmUG9pbnRlck1vdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BvaW50ZXJNb3ZlQ2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlLnByb3RvdHlwZS5vblBvaW50ZXJFeGl0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wb2ludGVyRXhpdENhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmUG9pbnRlckV4aXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BvaW50ZXJFeGl0Q2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlfSkodnh0LkludGVyYWN0aW9uKTtHeHQuUG9pbnRlcj1YeHQsKGZ1bmN0aW9uKHQpewovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGU9Qk87ZS5fX2V4cG9ydFN0YXIoaXh0LHQpLGUuX19leHBvcnRTdGFyKEV4dCx0KSxlLl9fZXhwb3J0U3RhcihMeHQsdCksZS5fX2V4cG9ydFN0YXIoT3h0LHQpLGUuX19leHBvcnRTdGFyKEd4dCx0KSx0Lnpvb21PdXQ9dGJ0Lnpvb21PdXR9KShueHQpO3ZhciAkeHQ9e307IShmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlLG49Qk8saT1EX3Qscj1PX3Q7IShmdW5jdGlvbih0KXt0W3QuVkFMVUU9MF09IlZBTFVFIix0W3QuUElYRUw9MV09IlBJWEVMIn0pKGU9dC5Qcm9wZXJ0eU1vZGV8fCh0LlByb3BlcnR5TW9kZT17fSkpO3ZhciBvPShmdW5jdGlvbih0KXtmdW5jdGlvbiByKCl7dmFyIG49dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBuLl9ib3hWaXNpYmxlPSExLG4uX2JveEJvdW5kcz17dG9wTGVmdDp7eDowLHk6MH0sYm90dG9tUmlnaHQ6e3g6MCx5OjB9fSxuLl94Qm91bmRzTW9kZT1lLlBJWEVMLG4uX3lCb3VuZHNNb2RlPWUuUElYRUwsbi5hZGRDbGFzcygic2VsZWN0aW9uLWJveC1sYXllciIpLG4uX2FkanVzdEJvdW5kc0NhbGxiYWNrPWZ1bmN0aW9uKCl7bi5yZW5kZXIoKX0sbi5fb3ZlcmZsb3dIaWRkZW49ITAsbi5feEV4dGVudD1bdm9pZCAwLHZvaWQgMF0sbi5feUV4dGVudD1bdm9pZCAwLHZvaWQgMF0sbn1yZXR1cm4gbi5fX2V4dGVuZHMocix0KSxyLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKSx0aGlzLl9ib3g9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCgic2VsZWN0aW9uLWJveCIsITApLnJlbW92ZSgpLHRoaXMuX2JveEFyZWE9dGhpcy5fYm94LmFwcGVuZCgicmVjdCIpLmNsYXNzZWQoInNlbGVjdGlvbi1hcmVhIiwhMCl9LHIucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJue3dpZHRoOnQsaGVpZ2h0OmV9fSxyLnByb3RvdHlwZS5ib3VuZHM9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZ2V0Qm91bmRzKCk6KHRoaXMuX3NldEJvdW5kcyh0KSx0aGlzLl94Qm91bmRzTW9kZT1lLlBJWEVMLHRoaXMuX3lCb3VuZHNNb2RlPWUuUElYRUwsdGhpcy5yZW5kZXIoKSx0aGlzKX0sci5wcm90b3R5cGUuX3NldEJvdW5kcz1mdW5jdGlvbih0KXt2YXIgZT17eDpNYXRoLm1pbih0LnRvcExlZnQueCx0LmJvdHRvbVJpZ2h0LngpLHk6TWF0aC5taW4odC50b3BMZWZ0LnksdC5ib3R0b21SaWdodC55KX0sbj17eDpNYXRoLm1heCh0LnRvcExlZnQueCx0LmJvdHRvbVJpZ2h0LngpLHk6TWF0aC5tYXgodC50b3BMZWZ0LnksdC5ib3R0b21SaWdodC55KX07dGhpcy5fYm94Qm91bmRzPXt0b3BMZWZ0OmUsYm90dG9tUmlnaHQ6bn19LHIucHJvdG90eXBlLl9nZXRCb3VuZHM9ZnVuY3Rpb24oKXtyZXR1cm57dG9wTGVmdDp7eDp0aGlzLl94Qm91bmRzTW9kZT09PWUuUElYRUw/dGhpcy5fYm94Qm91bmRzLnRvcExlZnQueDpudWxsPT10aGlzLl94U2NhbGU/MDpNYXRoLm1pbih0aGlzLnhTY2FsZSgpLnNjYWxlKHRoaXMueEV4dGVudCgpWzBdKSx0aGlzLnhTY2FsZSgpLnNjYWxlKHRoaXMueEV4dGVudCgpWzFdKSkseTp0aGlzLl95Qm91bmRzTW9kZT09PWUuUElYRUw/dGhpcy5fYm94Qm91bmRzLnRvcExlZnQueTpudWxsPT10aGlzLl95U2NhbGU/MDpNYXRoLm1pbih0aGlzLnlTY2FsZSgpLnNjYWxlKHRoaXMueUV4dGVudCgpWzBdKSx0aGlzLnlTY2FsZSgpLnNjYWxlKHRoaXMueUV4dGVudCgpWzFdKSl9LGJvdHRvbVJpZ2h0Ont4OnRoaXMuX3hCb3VuZHNNb2RlPT09ZS5QSVhFTD90aGlzLl9ib3hCb3VuZHMuYm90dG9tUmlnaHQueDpudWxsPT10aGlzLl94U2NhbGU/MDpNYXRoLm1heCh0aGlzLnhTY2FsZSgpLnNjYWxlKHRoaXMueEV4dGVudCgpWzBdKSx0aGlzLnhTY2FsZSgpLnNjYWxlKHRoaXMueEV4dGVudCgpWzFdKSkseTp0aGlzLl95Qm91bmRzTW9kZT09PWUuUElYRUw/dGhpcy5fYm94Qm91bmRzLmJvdHRvbVJpZ2h0Lnk6bnVsbD09dGhpcy5feVNjYWxlPzA6TWF0aC5tYXgodGhpcy55U2NhbGUoKS5zY2FsZSh0aGlzLnlFeHRlbnQoKVswXSksdGhpcy55U2NhbGUoKS5zY2FsZSh0aGlzLnlFeHRlbnQoKVsxXSkpfX19LHIucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7aWYodC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKSx0aGlzLl9ib3hWaXNpYmxlKXt2YXIgZT10aGlzLmJvdW5kcygpLG49ZS50b3BMZWZ0Lnkscj1lLmJvdHRvbVJpZ2h0Lnksbz1lLnRvcExlZnQueCxhPWUuYm90dG9tUmlnaHQueDtpZighKGkuTWF0aC5pc1ZhbGlkTnVtYmVyKG4pJiZpLk1hdGguaXNWYWxpZE51bWJlcihyKSYmaS5NYXRoLmlzVmFsaWROdW1iZXIobykmJmkuTWF0aC5pc1ZhbGlkTnVtYmVyKGEpKSl0aHJvdyBuZXcgRXJyb3IoImJvdW5kcyBoYXZlIG5vdCBiZWVuIHByb3Blcmx5IHNldCIpO3RoaXMuX2JveEFyZWEuYXR0cnMoe3g6byx5Om4sd2lkdGg6YS1vLGhlaWdodDpyLW59KSx0aGlzLmNvbnRlbnQoKS5ub2RlKCkuYXBwZW5kQ2hpbGQodGhpcy5fYm94Lm5vZGUoKSl9ZWxzZSB0aGlzLl9ib3gucmVtb3ZlKCk7cmV0dXJuIHRoaXN9LHIucHJvdG90eXBlLmJveFZpc2libGU9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fYm94VmlzaWJsZToodGhpcy5fYm94VmlzaWJsZT10LHRoaXMucmVuZGVyKCksdGhpcyl9LHIucHJvdG90eXBlLmZpeGVkV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4hMH0sci5wcm90b3R5cGUuZml4ZWRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4hMH0sci5wcm90b3R5cGUueFNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3hTY2FsZToobnVsbCE9dGhpcy5feFNjYWxlJiZ0aGlzLl94U2NhbGUub2ZmVXBkYXRlKHRoaXMuX2FkanVzdEJvdW5kc0NhbGxiYWNrKSx0aGlzLl94U2NhbGU9dCx0aGlzLl94Qm91bmRzTW9kZT1lLlZBTFVFLHRoaXMuX3hTY2FsZS5vblVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayksdGhpcy5yZW5kZXIoKSx0aGlzKX0sci5wcm90b3R5cGUueVNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3lTY2FsZToobnVsbCE9dGhpcy5feVNjYWxlJiZ0aGlzLl95U2NhbGUub2ZmVXBkYXRlKHRoaXMuX2FkanVzdEJvdW5kc0NhbGxiYWNrKSx0aGlzLl95U2NhbGU9dCx0aGlzLl95Qm91bmRzTW9kZT1lLlZBTFVFLHRoaXMuX3lTY2FsZS5vblVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayksdGhpcy5yZW5kZXIoKSx0aGlzKX0sci5wcm90b3R5cGUueEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9nZXRYRXh0ZW50KCk6KHRoaXMuX3NldFhFeHRlbnQodCksdGhpcy5feEJvdW5kc01vZGU9ZS5WQUxVRSx0aGlzLnJlbmRlcigpLHRoaXMpfSxyLnByb3RvdHlwZS5fZ2V0WEV4dGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl94Qm91bmRzTW9kZT09PWUuVkFMVUU/dGhpcy5feEV4dGVudDpudWxsPT10aGlzLl94U2NhbGU/W3ZvaWQgMCx2b2lkIDBdOlt0aGlzLl94U2NhbGUuaW52ZXJ0KHRoaXMuX2JveEJvdW5kcy50b3BMZWZ0LngpLHRoaXMuX3hTY2FsZS5pbnZlcnQodGhpcy5fYm94Qm91bmRzLmJvdHRvbVJpZ2h0LngpXX0sci5wcm90b3R5cGUuX3NldFhFeHRlbnQ9ZnVuY3Rpb24odCl7dGhpcy5feEV4dGVudD10fSxyLnByb3RvdHlwZS55RXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2dldFlFeHRlbnQoKToodGhpcy5fc2V0WUV4dGVudCh0KSx0aGlzLl95Qm91bmRzTW9kZT1lLlZBTFVFLHRoaXMucmVuZGVyKCksdGhpcyl9LHIucHJvdG90eXBlLl9nZXRZRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3lCb3VuZHNNb2RlPT09ZS5WQUxVRT90aGlzLl95RXh0ZW50Om51bGw9PXRoaXMuX3lTY2FsZT9bdm9pZCAwLHZvaWQgMF06W3RoaXMuX3lTY2FsZS5pbnZlcnQodGhpcy5fYm94Qm91bmRzLnRvcExlZnQueSksdGhpcy5feVNjYWxlLmludmVydCh0aGlzLl9ib3hCb3VuZHMuYm90dG9tUmlnaHQueSldfSxyLnByb3RvdHlwZS5fc2V0WUV4dGVudD1mdW5jdGlvbih0KXt0aGlzLl95RXh0ZW50PXR9LHIucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksbnVsbCE9dGhpcy5feFNjYWxlJiZ0aGlzLnhTY2FsZSgpLm9mZlVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayksbnVsbCE9dGhpcy5feVNjYWxlJiZ0aGlzLnlTY2FsZSgpLm9mZlVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayl9LHJ9KShyLkNvbXBvbmVudCk7dC5TZWxlY3Rpb25Cb3hMYXllcj1vfSkoJHh0KSwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEt4dD1CTyxaeHQ9bnh0LEp4dD1EX3QsUXh0PV9ndCx0d3Q9dHh0LGV3dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gZS5fZGV0ZWN0aW9uUmFkaXVzPTMsZS5fcmVzaXphYmxlPSExLGUuX21vdmFibGU9ITEsZS5faGFzQ29ybmVycz0hMCxlLmFkZENsYXNzKCJkcmFnLWJveC1sYXllciIpLGUuX2RyYWdJbnRlcmFjdGlvbj1uZXcgWnh0LkRyYWcsZS5fc2V0VXBDYWxsYmFja3MoKSxlLl9kcmFnSW50ZXJhY3Rpb24uYXR0YWNoVG8oZSksZS5fZHJhZ1N0YXJ0Q2FsbGJhY2tzPW5ldyBKeHQuQ2FsbGJhY2tTZXQsZS5fZHJhZ0NhbGxiYWNrcz1uZXcgSnh0LkNhbGxiYWNrU2V0LGUuX2RyYWdFbmRDYWxsYmFja3M9bmV3IEp4dC5DYWxsYmFja1NldCxlfXJldHVybiBLeHQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuX3NldFVwQ2FsbGJhY2tzPWZ1bmN0aW9uKCl7dmFyIHQsZSxuLGkscj10aGlzLG89MCxhPTEscz0yLGw9byxjPWZ1bmN0aW9uKGMpe3Q9ci5fZ2V0UmVzaXppbmdFZGdlcyhjKTt2YXIgdT1yLmJvdW5kcygpLGg9dS50b3BMZWZ0Lng8PWMueCYmYy54PD11LmJvdHRvbVJpZ2h0LngmJnUudG9wTGVmdC55PD1jLnkmJmMueTw9dS5ib3R0b21SaWdodC55O3IuYm94VmlzaWJsZSgpJiYodC50b3B8fHQuYm90dG9tfHx0LmxlZnR8fHQucmlnaHQpP2w9YTpyLmJveFZpc2libGUoKSYmci5tb3ZhYmxlKCkmJmg/bD1zOihsPW8sci5fc2V0Qm91bmRzKHt0b3BMZWZ0OmMsYm90dG9tUmlnaHQ6Y30pLHIuX3hCb3VuZHNNb2RlPT09dHd0LlByb3BlcnR5TW9kZS5WQUxVRSYmbnVsbCE9ci54U2NhbGUoKSYmci5fc2V0WEV4dGVudChbci54U2NhbGUoKS5pbnZlcnQoYy54KSxyLnhTY2FsZSgpLmludmVydChjLngpXSksci5feUJvdW5kc01vZGU9PT10d3QuUHJvcGVydHlNb2RlLlZBTFVFJiZudWxsIT1yLnlTY2FsZSgpJiZyLl9zZXRZRXh0ZW50KFtyLnlTY2FsZSgpLmludmVydChjLnkpLHIueVNjYWxlKCkuaW52ZXJ0KGMueSldKSxyLnJlbmRlcigpKSxyLmJveFZpc2libGUoITApLHU9ci5ib3VuZHMoKSxlPXt4OnUudG9wTGVmdC54LHk6dS50b3BMZWZ0Lnl9LG49e3g6dS5ib3R0b21SaWdodC54LHk6dS5ib3R0b21SaWdodC55fSxpPWMsci5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModSl9LHU9ZnVuY3Rpb24oYyx1KXtzd2l0Y2gobCl7Y2FzZSBvOm4ueD11Lngsbi55PXUueTticmVhaztjYXNlIGE6dC5ib3R0b20/bi55PXUueTp0LnRvcCYmKGUueT11LnkpLHQucmlnaHQ/bi54PXUueDp0LmxlZnQmJihlLng9dS54KTticmVhaztjYXNlIHM6dmFyIGg9dS54LWkueCxkPXUueS1pLnk7ZS54Kz1oLGUueSs9ZCxuLngrPWgsbi55Kz1kLGk9dX1yLl9zZXRCb3VuZHMoe3RvcExlZnQ6ZSxib3R0b21SaWdodDpufSksci5feEJvdW5kc01vZGU9PT10d3QuUHJvcGVydHlNb2RlLlZBTFVFJiZudWxsIT1yLnhTY2FsZSgpJiZyLl9zZXRYRXh0ZW50KFtyLnhTY2FsZSgpLmludmVydChlLngpLHIueFNjYWxlKCkuaW52ZXJ0KG4ueCldKSxyLl95Qm91bmRzTW9kZT09PXR3dC5Qcm9wZXJ0eU1vZGUuVkFMVUUmJm51bGwhPXIueVNjYWxlKCkmJnIuX3NldFlFeHRlbnQoW3IueVNjYWxlKCkuaW52ZXJ0KGUueSksci55U2NhbGUoKS5pbnZlcnQobi55KV0pLHIucmVuZGVyKCksci5fZHJhZ0NhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKHIuYm91bmRzKCkpfSxoPWZ1bmN0aW9uKHQsZSl7bD09PW8mJnQueD09PWUueCYmdC55PT09ZS55JiZyLmJveFZpc2libGUoITEpLHIuX2RyYWdFbmRDYWxsYmFja3MuY2FsbENhbGxiYWNrcyhyLmJvdW5kcygpKX07dGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZ1N0YXJ0KGMpLHRoaXMuX2RyYWdJbnRlcmFjdGlvbi5vbkRyYWcodSksdGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZ0VuZChoKSx0aGlzLl9kaXNjb25uZWN0SW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyLl9kcmFnSW50ZXJhY3Rpb24ub2ZmRHJhZ1N0YXJ0KGMpLHIuX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnKHUpLHIuX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnRW5kKGgpLHIuX2RyYWdJbnRlcmFjdGlvbi5kZXRhY2goKX19LGUucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyk7dmFyIG49ZnVuY3Rpb24oKXtyZXR1cm4gZS5fYm94LmFwcGVuZCgibGluZSIpLnN0eWxlcyh7b3BhY2l0eTowLHN0cm9rZToicGluayIsInBvaW50ZXItZXZlbnRzIjoidmlzaWJsZVN0cm9rZSJ9KX07aWYodGhpcy5fZGV0ZWN0aW9uRWRnZVQ9bigpLmNsYXNzZWQoImRyYWctZWRnZS10YiIsITApLHRoaXMuX2RldGVjdGlvbkVkZ2VCPW4oKS5jbGFzc2VkKCJkcmFnLWVkZ2UtdGIiLCEwKSx0aGlzLl9kZXRlY3Rpb25FZGdlTD1uKCkuY2xhc3NlZCgiZHJhZy1lZGdlLWxyIiwhMCksdGhpcy5fZGV0ZWN0aW9uRWRnZVI9bigpLmNsYXNzZWQoImRyYWctZWRnZS1sciIsITApLHRoaXMuX2hhc0Nvcm5lcnMpe3ZhciBpPWZ1bmN0aW9uKCl7cmV0dXJuIGUuX2JveC5hcHBlbmQoImNpcmNsZSIpLnN0eWxlcyh7b3BhY2l0eTowLGZpbGw6InBpbmsiLCJwb2ludGVyLWV2ZW50cyI6InZpc2libGVGaWxsIn0pfTt0aGlzLl9kZXRlY3Rpb25Db3JuZXJUTD1pKCkuY2xhc3NlZCgiZHJhZy1jb3JuZXItdGwiLCEwKSx0aGlzLl9kZXRlY3Rpb25Db3JuZXJUUj1pKCkuY2xhc3NlZCgiZHJhZy1jb3JuZXItdHIiLCEwKSx0aGlzLl9kZXRlY3Rpb25Db3JuZXJCTD1pKCkuY2xhc3NlZCgiZHJhZy1jb3JuZXItYmwiLCEwKSx0aGlzLl9kZXRlY3Rpb25Db3JuZXJCUj1pKCkuY2xhc3NlZCgiZHJhZy1jb3JuZXItYnIiLCEwKX19LGUucHJvdG90eXBlLl9nZXRSZXNpemluZ0VkZ2VzPWZ1bmN0aW9uKHQpe3ZhciBlPXt0b3A6ITEsYm90dG9tOiExLGxlZnQ6ITEscmlnaHQ6ITF9O2lmKCF0aGlzLnJlc2l6YWJsZSgpKXJldHVybiBlO3ZhciBuPXRoaXMuYm91bmRzKCksaT1uLnRvcExlZnQueSxyPW4uYm90dG9tUmlnaHQueSxvPW4udG9wTGVmdC54LGE9bi5ib3R0b21SaWdodC54LHM9dGhpcy5fZGV0ZWN0aW9uUmFkaXVzO3JldHVybiBvLXM8PXQueCYmdC54PD1hK3MmJihlLnRvcD1pLXM8PXQueSYmdC55PD1pK3MsZS5ib3R0b209ci1zPD10LnkmJnQueTw9citzKSxpLXM8PXQueSYmdC55PD1yK3MmJihlLmxlZnQ9by1zPD10LngmJnQueDw9bytzLGUucmlnaHQ9YS1zPD10LngmJnQueDw9YStzKSxlfSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe2lmKHQucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5LmNhbGwodGhpcyksdGhpcy5ib3hWaXNpYmxlKCkpe3ZhciBlPXRoaXMuYm91bmRzKCksbj1lLnRvcExlZnQueSxpPWUuYm90dG9tUmlnaHQueSxyPWUudG9wTGVmdC54LG89ZS5ib3R0b21SaWdodC54O3RoaXMuX2RldGVjdGlvbkVkZ2VULmF0dHJzKHt4MTpyLHkxOm4seDI6byx5MjpuLCJzdHJva2Utd2lkdGgiOjIqdGhpcy5fZGV0ZWN0aW9uUmFkaXVzfSksdGhpcy5fZGV0ZWN0aW9uRWRnZUIuYXR0cnMoe3gxOnIseTE6aSx4MjpvLHkyOmksInN0cm9rZS13aWR0aCI6Mip0aGlzLl9kZXRlY3Rpb25SYWRpdXN9KSx0aGlzLl9kZXRlY3Rpb25FZGdlTC5hdHRycyh7eDE6cix5MTpuLHgyOnIseTI6aSwic3Ryb2tlLXdpZHRoIjoyKnRoaXMuX2RldGVjdGlvblJhZGl1c30pLHRoaXMuX2RldGVjdGlvbkVkZ2VSLmF0dHJzKHt4MTpvLHkxOm4seDI6byx5MjppLCJzdHJva2Utd2lkdGgiOjIqdGhpcy5fZGV0ZWN0aW9uUmFkaXVzfSksdGhpcy5faGFzQ29ybmVycyYmKHRoaXMuX2RldGVjdGlvbkNvcm5lclRMLmF0dHJzKHtjeDpyLGN5Om4scjp0aGlzLl9kZXRlY3Rpb25SYWRpdXN9KSx0aGlzLl9kZXRlY3Rpb25Db3JuZXJUUi5hdHRycyh7Y3g6byxjeTpuLHI6dGhpcy5fZGV0ZWN0aW9uUmFkaXVzfSksdGhpcy5fZGV0ZWN0aW9uQ29ybmVyQkwuYXR0cnMoe2N4OnIsY3k6aSxyOnRoaXMuX2RldGVjdGlvblJhZGl1c30pLHRoaXMuX2RldGVjdGlvbkNvcm5lckJSLmF0dHJzKHtjeDpvLGN5Omkscjp0aGlzLl9kZXRlY3Rpb25SYWRpdXN9KSl9cmV0dXJuIHRoaXN9LGUucHJvdG90eXBlLmRldGVjdGlvblJhZGl1cz1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl9kZXRlY3Rpb25SYWRpdXM7aWYodDwwKXRocm93IG5ldyBFcnJvcigiZGV0ZWN0aW9uIHJhZGl1cyBjYW5ub3QgYmUgbmVnYXRpdmUuIik7cmV0dXJuIHRoaXMuX2RldGVjdGlvblJhZGl1cz10LHRoaXMucmVuZGVyKCksdGhpc30sZS5wcm90b3R5cGUucmVzaXphYmxlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3Jlc2l6YWJsZToodGhpcy5fcmVzaXphYmxlPXQsdGhpcy5fc2V0UmVzaXphYmxlQ2xhc3Nlcyh0KSx0aGlzKX0sZS5wcm90b3R5cGUuX3NldFJlc2l6YWJsZUNsYXNzZXM9ZnVuY3Rpb24odCl7dCYmdGhpcy5lbmFibGVkKCk/KHRoaXMuYWRkQ2xhc3MoIngtcmVzaXphYmxlIiksdGhpcy5hZGRDbGFzcygieS1yZXNpemFibGUiKSk6KHRoaXMucmVtb3ZlQ2xhc3MoIngtcmVzaXphYmxlIiksdGhpcy5yZW1vdmVDbGFzcygieS1yZXNpemFibGUiKSl9LGUucHJvdG90eXBlLm1vdmFibGU9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fbW92YWJsZToodGhpcy5fbW92YWJsZT10LHRoaXMuX3NldE1vdmFibGVDbGFzcygpLHRoaXMpfSxlLnByb3RvdHlwZS5fc2V0TW92YWJsZUNsYXNzPWZ1bmN0aW9uKCl7dGhpcy5tb3ZhYmxlKCkmJnRoaXMuZW5hYmxlZCgpP3RoaXMuYWRkQ2xhc3MoIm1vdmFibGUiKTp0aGlzLnJlbW92ZUNsYXNzKCJtb3ZhYmxlIil9LGUucHJvdG90eXBlLm9uRHJhZ1N0YXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kcmFnU3RhcnRDYWxsYmFja3MuYWRkKHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZkRyYWdTdGFydD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlLnByb3RvdHlwZS5vbkRyYWc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdDYWxsYmFja3MuYWRkKHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZkRyYWc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdDYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LGUucHJvdG90eXBlLm9uRHJhZ0VuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmRHJhZ0VuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5kZWxldGUodCksdGhpc30sZS5wcm90b3R5cGUuZHJhZ0ludGVyYWN0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RyYWdJbnRlcmFjdGlvbn0sZS5wcm90b3R5cGUuZW5hYmxlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9kcmFnSW50ZXJhY3Rpb24uZW5hYmxlZCgpOih0aGlzLl9kcmFnSW50ZXJhY3Rpb24uZW5hYmxlZCh0KSx0aGlzLl9zZXRSZXNpemFibGVDbGFzc2VzKHRoaXMucmVzaXphYmxlKCkpLHRoaXMuX3NldE1vdmFibGVDbGFzcygpLHRoaXMpfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksdGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZSh0KX0pKSx0aGlzLl9kcmFnQ2FsbGJhY2tzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZSh0KX0pKSx0aGlzLl9kcmFnRW5kQ2FsbGJhY2tzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9kcmFnRW5kQ2FsbGJhY2tzLmRlbGV0ZSh0KX0pKSx0aGlzLl9kaXNjb25uZWN0SW50ZXJhY3Rpb24oKX0sZS5wcm90b3R5cGUuZGV0YWNoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Jlc2V0U3RhdGUoKSx0aGlzLl9kcmFnSW50ZXJhY3Rpb24uZGV0YWNoKCksdC5wcm90b3R5cGUuZGV0YWNoLmNhbGwodGhpcyksdGhpc30sZS5wcm90b3R5cGUuYW5jaG9yPWZ1bmN0aW9uKGUpe3JldHVybiBlPVF4dC5jb2VyY2VFeHRlcm5hbEQzKGUpLHRoaXMuX2RyYWdJbnRlcmFjdGlvbi5hdHRhY2hUbyh0aGlzKSx0LnByb3RvdHlwZS5hbmNob3IuY2FsbCh0aGlzLGUpLHRoaXN9LGUucHJvdG90eXBlLl9yZXNldFN0YXRlPWZ1bmN0aW9uKCl7dGhpcy5ib3VuZHMoe3RvcExlZnQ6e3g6MCx5OjB9LGJvdHRvbVJpZ2h0Ont4OjAseTowfX0pfSxlfSkoJHh0LlNlbGVjdGlvbkJveExheWVyKTtleHQuRHJhZ0JveExheWVyPWV3dDt2YXIgbnd0PXt9LGl3dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KGl3dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHJ3dCxvd3Q9Qk8sYXd0PURfdCxzd3Q9T190OyEoZnVuY3Rpb24odCl7dFt0LlZBTFVFPTBdPSJWQUxVRSIsdFt0LlBJWEVMPTFdPSJQSVhFTCJ9KShyd3R8fChyd3Q9e30pKTt2YXIgbHd0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKG4pe3ZhciBpPXQuY2FsbCh0aGlzKXx8dGhpcztpZihpLl9tb2RlPXJ3dC5WQUxVRSxuIT09ZS5PUklFTlRBVElPTl9WRVJUSUNBTCYmbiE9PWUuT1JJRU5UQVRJT05fSE9SSVpPTlRBTCl0aHJvdyBuZXcgRXJyb3IobisiIGlzIG5vdCBhIHZhbGlkIG9yaWVudGF0aW9uIGZvciBHdWlkZUxpbmVMYXllciIpO3JldHVybiBpLl9vcmllbnRhdGlvbj1uLGkuX292ZXJmbG93SGlkZGVuPSEwLGkuYWRkQ2xhc3MoImd1aWRlLWxpbmUtbGF5ZXIiKSxpLl9pc1ZlcnRpY2FsKCk/aS5hZGRDbGFzcygidmVydGljYWwiKTppLmFkZENsYXNzKCJob3Jpem9udGFsIiksaS5fc2NhbGVVcGRhdGVDYWxsYmFjaz1mdW5jdGlvbigpe2kuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWUoKSxpLnJlbmRlcigpfSxpfXJldHVybiBvd3QuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7dC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyksdGhpcy5fZ3VpZGVMaW5lPXRoaXMuY29udGVudCgpLmFwcGVuZCgibGluZSIpLmNsYXNzZWQoImd1aWRlLWxpbmUiLCEwKX0sZS5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm57d2lkdGg6dCxoZWlnaHQ6ZX19LGUucHJvdG90eXBlLl9pc1ZlcnRpY2FsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29yaWVudGF0aW9uPT09ZS5PUklFTlRBVElPTl9WRVJUSUNBTH0sZS5wcm90b3R5cGUuZml4ZWRXaWR0aD1mdW5jdGlvbigpe3JldHVybiEwfSxlLnByb3RvdHlwZS5maXhlZEhlaWdodD1mdW5jdGlvbigpe3JldHVybiEwfSxlLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gdC5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMsZSxuLGkpLG51bGwhPXRoaXMuc2NhbGUoKSYmKHRoaXMuX2lzVmVydGljYWwoKT90aGlzLnNjYWxlKCkucmFuZ2UoWzAsdGhpcy53aWR0aCgpXSk6dGhpcy5zY2FsZSgpLnJhbmdlKFt0aGlzLmhlaWdodCgpLDBdKSksdGhpc30sZS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtyZXR1cm4gdC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKSx0aGlzLl9zeW5jUGl4ZWxQb3NpdGlvbkFuZFZhbHVlKCksdGhpcy5fZ3VpZGVMaW5lLmF0dHJzKHt4MTp0aGlzLl9pc1ZlcnRpY2FsKCk/dGhpcy5waXhlbFBvc2l0aW9uKCk6MCx5MTp0aGlzLl9pc1ZlcnRpY2FsKCk/MDp0aGlzLnBpeGVsUG9zaXRpb24oKSx4Mjp0aGlzLl9pc1ZlcnRpY2FsKCk/dGhpcy5waXhlbFBvc2l0aW9uKCk6dGhpcy53aWR0aCgpLHkyOnRoaXMuX2lzVmVydGljYWwoKT90aGlzLmhlaWdodCgpOnRoaXMucGl4ZWxQb3NpdGlvbigpfSksdGhpc30sZS5wcm90b3R5cGUuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWU9ZnVuY3Rpb24oKXtudWxsIT10aGlzLnNjYWxlKCkmJih0aGlzLl9tb2RlPT09cnd0LlZBTFVFJiZudWxsIT10aGlzLnZhbHVlKCk/dGhpcy5fcGl4ZWxQb3NpdGlvbj10aGlzLnNjYWxlKCkuc2NhbGUodGhpcy52YWx1ZSgpKTp0aGlzLl9tb2RlPT09cnd0LlBJWEVMJiZudWxsIT10aGlzLnBpeGVsUG9zaXRpb24oKSYmKHRoaXMuX3ZhbHVlPXRoaXMuc2NhbGUoKS5pbnZlcnQodGhpcy5waXhlbFBvc2l0aW9uKCkpKSl9LGUucHJvdG90eXBlLl9zZXRQaXhlbFBvc2l0aW9uV2l0aG91dENoYW5naW5nTW9kZT1mdW5jdGlvbih0KXt0aGlzLl9waXhlbFBvc2l0aW9uPXQsbnVsbCE9dGhpcy5zY2FsZSgpJiYodGhpcy5fdmFsdWU9dGhpcy5zY2FsZSgpLmludmVydCh0aGlzLnBpeGVsUG9zaXRpb24oKSkpLHRoaXMucmVuZGVyKCl9LGUucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3NjYWxlO3ZhciBlPXRoaXMuX3NjYWxlO3JldHVybiBudWxsIT1lJiZlLm9mZlVwZGF0ZSh0aGlzLl9zY2FsZVVwZGF0ZUNhbGxiYWNrKSx0aGlzLl9zY2FsZT10LHRoaXMuX3NjYWxlLm9uVXBkYXRlKHRoaXMuX3NjYWxlVXBkYXRlQ2FsbGJhY2spLHRoaXMuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWUoKSx0aGlzLnJlZHJhdygpLHRoaXN9LGUucHJvdG90eXBlLnZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3ZhbHVlOih0aGlzLl92YWx1ZT10LHRoaXMuX21vZGU9cnd0LlZBTFVFLHRoaXMuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWUoKSx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5waXhlbFBvc2l0aW9uPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3BpeGVsUG9zaXRpb247aWYoIWF3dC5NYXRoLmlzVmFsaWROdW1iZXIodCkpdGhyb3cgbmV3IEVycm9yKCJwaXhlbFBvc2l0aW9uIG11c3QgYmUgYSBmaW5pdGUgbnVtYmVyIik7cmV0dXJuIHRoaXMuX3BpeGVsUG9zaXRpb249dCx0aGlzLl9tb2RlPXJ3dC5QSVhFTCx0aGlzLl9zeW5jUGl4ZWxQb3NpdGlvbkFuZFZhbHVlKCksdGhpcy5yZW5kZXIoKSx0aGlzfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpLG51bGwhPXRoaXMuc2NhbGUoKSYmdGhpcy5zY2FsZSgpLm9mZlVwZGF0ZSh0aGlzLl9zY2FsZVVwZGF0ZUNhbGxiYWNrKX0sZS5PUklFTlRBVElPTl9WRVJUSUNBTD0idmVydGljYWwiLGUuT1JJRU5UQVRJT05fSE9SSVpPTlRBTD0iaG9yaXpvbnRhbCIsZX0pKHN3dC5Db21wb25lbnQpO2l3dC5HdWlkZUxpbmVMYXllcj1sd3QsCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShud3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBjd3Q9Qk8sdXd0PW54dCxod3Q9RF90LGR3dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt2YXIgbj10LmNhbGwodGhpcyxlKXx8dGhpcztuLl9kZXRlY3Rpb25SYWRpdXM9MyxuLl9lbmFibGVkPSEwLG4uYWRkQ2xhc3MoImRyYWctbGluZS1sYXllciIpLG4uYWRkQ2xhc3MoImVuYWJsZWQiKSxuLl9kcmFnSW50ZXJhY3Rpb249bmV3IHV3dC5EcmFnLG4uX2RyYWdJbnRlcmFjdGlvbi5hdHRhY2hUbyhuKTt2YXIgaT0hMSxyPWZ1bmN0aW9uKHQpeyhmdW5jdGlvbih0KXtyZXR1cm4gbi5faXNWZXJ0aWNhbCgpJiZuLnBpeGVsUG9zaXRpb24oKS1uLmRldGVjdGlvblJhZGl1cygpPD10LngmJnQueDw9bi5waXhlbFBvc2l0aW9uKCkrbi5kZXRlY3Rpb25SYWRpdXMoKXx8IW4uX2lzVmVydGljYWwoKSYmbi5waXhlbFBvc2l0aW9uKCktbi5kZXRlY3Rpb25SYWRpdXMoKTw9dC55JiZ0Lnk8PW4ucGl4ZWxQb3NpdGlvbigpK24uZGV0ZWN0aW9uUmFkaXVzKCl9KSh0KSYmKGk9ITAsbi5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmNhbGxDYWxsYmFja3MobikpfTtuLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnU3RhcnQocik7dmFyIG89ZnVuY3Rpb24odCxlKXtpJiYobi5fc2V0UGl4ZWxQb3NpdGlvbldpdGhvdXRDaGFuZ2luZ01vZGUobi5faXNWZXJ0aWNhbCgpP2UueDplLnkpLG4uX2RyYWdDYWxsYmFja3MuY2FsbENhbGxiYWNrcyhuKSl9O24uX2RyYWdJbnRlcmFjdGlvbi5vbkRyYWcobyk7dmFyIGE9ZnVuY3Rpb24odCxlKXtpJiYoaT0hMSxuLl9kcmFnRW5kQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MobikpfTtyZXR1cm4gbi5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZ0VuZChhKSxuLl9kaXNjb25uZWN0SW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtuLl9kcmFnSW50ZXJhY3Rpb24ub2ZmRHJhZ1N0YXJ0KHIpLG4uX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnKG8pLG4uX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnRW5kKGEpLG4uX2RyYWdJbnRlcmFjdGlvbi5kZXRhY2goKX0sbi5fZHJhZ1N0YXJ0Q2FsbGJhY2tzPW5ldyBod3QuQ2FsbGJhY2tTZXQsbi5fZHJhZ0NhbGxiYWNrcz1uZXcgaHd0LkNhbGxiYWNrU2V0LG4uX2RyYWdFbmRDYWxsYmFja3M9bmV3IGh3dC5DYWxsYmFja1NldCxufXJldHVybiBjd3QuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7dC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyksdGhpcy5fZGV0ZWN0aW9uRWRnZT10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImxpbmUiKS5zdHlsZXMoe29wYWNpdHk6MCxzdHJva2U6InBpbmsiLCJwb2ludGVyLWV2ZW50cyI6InZpc2libGVTdHJva2UifSkuY2xhc3NlZCgiZHJhZy1lZGdlIiwhMCl9LGUucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7cmV0dXJuIHQucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5LmNhbGwodGhpcyksdGhpcy5fZGV0ZWN0aW9uRWRnZS5hdHRycyh7eDE6dGhpcy5faXNWZXJ0aWNhbCgpP3RoaXMucGl4ZWxQb3NpdGlvbigpOjAseTE6dGhpcy5faXNWZXJ0aWNhbCgpPzA6dGhpcy5waXhlbFBvc2l0aW9uKCkseDI6dGhpcy5faXNWZXJ0aWNhbCgpP3RoaXMucGl4ZWxQb3NpdGlvbigpOnRoaXMud2lkdGgoKSx5Mjp0aGlzLl9pc1ZlcnRpY2FsKCk/dGhpcy5oZWlnaHQoKTp0aGlzLnBpeGVsUG9zaXRpb24oKSwic3Ryb2tlLXdpZHRoIjoyKnRoaXMuX2RldGVjdGlvblJhZGl1c30pLHRoaXN9LGUucHJvdG90eXBlLmRldGVjdGlvblJhZGl1cz1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl9kZXRlY3Rpb25SYWRpdXM7aWYodDwwKXRocm93IG5ldyBFcnJvcigiZGV0ZWN0aW9uIHJhZGl1cyBjYW5ub3QgYmUgbmVnYXRpdmUuIik7cmV0dXJuIHRoaXMuX2RldGVjdGlvblJhZGl1cz10LHRoaXMucmVuZGVyKCksdGhpc30sZS5wcm90b3R5cGUuZW5hYmxlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9lbmFibGVkOih0aGlzLl9lbmFibGVkPXQsdD90aGlzLmFkZENsYXNzKCJlbmFibGVkIik6dGhpcy5yZW1vdmVDbGFzcygiZW5hYmxlZCIpLHRoaXMuX2RyYWdJbnRlcmFjdGlvbi5lbmFibGVkKHQpLHRoaXMpfSxlLnByb3RvdHlwZS5vbkRyYWdTdGFydD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmFkZCh0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZEcmFnU3RhcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdTdGFydENhbGxiYWNrcy5kZWxldGUodCksdGhpc30sZS5wcm90b3R5cGUub25EcmFnPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kcmFnQ2FsbGJhY2tzLmFkZCh0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZEcmFnPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlLnByb3RvdHlwZS5vbkRyYWdFbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdFbmRDYWxsYmFja3MuYWRkKHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZkRyYWdFbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdFbmRDYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3QucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKSx0aGlzLl9kcmFnU3RhcnRDYWxsYmFja3MuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2RyYWdTdGFydENhbGxiYWNrcy5kZWxldGUodCl9KSksdGhpcy5fZHJhZ0NhbGxiYWNrcy5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fZHJhZ0NhbGxiYWNrcy5kZWxldGUodCl9KSksdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fZHJhZ0VuZENhbGxiYWNrcy5kZWxldGUodCl9KSksdGhpcy5fZGlzY29ubmVjdEludGVyYWN0aW9uKCl9LGV9KShpd3QuR3VpZGVMaW5lTGF5ZXIpO253dC5EcmFnTGluZUxheWVyPWR3dDt2YXIgcHd0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShwd3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBmd3Q9Qk87ZnVuY3Rpb24gbXd0KHQsZSxuKXt2YXIgaT17fTtpZih2b2lkIDAhPT1uKWZvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKXtpW25bcl1dPW5bci0xXX1yZXR1cm4gZnVuY3Rpb24obil7dmFyIHIsbz10LnNjYWxlKG4pO2lmKCFlKXJldHVybiBvO3ZhciBhPXZvaWQgMD09PWlbbl0/dm9pZCAwOnQuc2NhbGUoaVtuXSk7cmV0dXJuIHZvaWQgMCE9PWEmJihyPWErKG8tYSkvMikscn19dmFyIGd3dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLG4pe3ZhciBpPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gaS5hZGRDbGFzcygiZ3JpZGxpbmVzIiksaS5feFNjYWxlPWUsaS5feVNjYWxlPW4saS5fcmVuZGVyQ2FsbGJhY2s9ZnVuY3Rpb24odCl7cmV0dXJuIGkucmVuZGVyKCl9LGkuX3hTY2FsZSYmaS5feFNjYWxlLm9uVXBkYXRlKGkuX3JlbmRlckNhbGxiYWNrKSxpLl95U2NhbGUmJmkuX3lTY2FsZS5vblVwZGF0ZShpLl9yZW5kZXJDYWxsYmFjayksaX1yZXR1cm4gZnd0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmJldHdlZW5YPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10P3RoaXMuX2JldHdlZW5YOih0IT09dGhpcy5fYmV0d2VlblgmJih0aGlzLl9iZXR3ZWVuWD10LHRoaXMucmVuZGVyKCkpLHRoaXMpfSxlLnByb3RvdHlwZS5iZXR3ZWVuWT1mdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dD90aGlzLl9iZXR3ZWVuWToodCE9PXRoaXMuX2JldHdlZW5ZJiYodGhpcy5fYmV0d2Vlblk9dCx0aGlzLnJlbmRlcigpKSx0aGlzKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3JldHVybiB0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksdGhpcy5feFNjYWxlJiZ0aGlzLl94U2NhbGUub2ZmVXBkYXRlKHRoaXMuX3JlbmRlckNhbGxiYWNrKSx0aGlzLl95U2NhbGUmJnRoaXMuX3lTY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVuZGVyQ2FsbGJhY2spLHRoaXN9LGUucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3QucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpLHRoaXMuX3hMaW5lc0NvbnRhaW5lcj10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJ4LWdyaWRsaW5lcyIsITApLHRoaXMuX3lMaW5lc0NvbnRhaW5lcj10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJ5LWdyaWRsaW5lcyIsITApfSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3JldHVybiB0LnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpLHRoaXMuX3JlZHJhd1hMaW5lcygpLHRoaXMuX3JlZHJhd1lMaW5lcygpLHRoaXN9LGUucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiB0LnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxlLG4saSksbnVsbCE9dGhpcy5feFNjYWxlJiZ0aGlzLl94U2NhbGUucmFuZ2UoWzAsdGhpcy53aWR0aCgpXSksbnVsbCE9dGhpcy5feVNjYWxlJiZ0aGlzLl95U2NhbGUucmFuZ2UoW3RoaXMuaGVpZ2h0KCksMF0pLHRoaXN9LGUucHJvdG90eXBlLl9yZWRyYXdYTGluZXM9ZnVuY3Rpb24oKXtpZih0aGlzLl94U2NhbGUpe3ZhciB0PXRoaXMuYmV0d2VlblgoKSxlPXRoaXMuX3hTY2FsZS50aWNrcygpLnNsaWNlKHQ/MTowKSxuPXRoaXMuX3hMaW5lc0NvbnRhaW5lci5zZWxlY3RBbGwoImxpbmUiKS5kYXRhKGUpO24uZW50ZXIoKS5hcHBlbmQoImxpbmUiKS5tZXJnZShuKS5hdHRyKCJ4MSIsbXd0KHRoaXMuX3hTY2FsZSx0LHRoaXMuX3hTY2FsZS50aWNrcygpKSkuYXR0cigieTEiLDApLmF0dHIoIngyIixtd3QodGhpcy5feFNjYWxlLHQsdGhpcy5feFNjYWxlLnRpY2tzKCkpKS5hdHRyKCJ5MiIsdGhpcy5oZWlnaHQoKSkuY2xhc3NlZCgiYmV0d2VlbmxpbmUiLHQpLmNsYXNzZWQoInplcm9saW5lIiwoZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10fSkpLG4uZXhpdCgpLnJlbW92ZSgpfX0sZS5wcm90b3R5cGUuX3JlZHJhd1lMaW5lcz1mdW5jdGlvbigpe2lmKHRoaXMuX3lTY2FsZSl7dmFyIHQ9dGhpcy5iZXR3ZWVuWSgpLGU9dGhpcy5feVNjYWxlLnRpY2tzKCkuc2xpY2UodD8xOjApLG49dGhpcy5feUxpbmVzQ29udGFpbmVyLnNlbGVjdEFsbCgibGluZSIpLmRhdGEoZSk7bi5lbnRlcigpLmFwcGVuZCgibGluZSIpLm1lcmdlKG4pLmF0dHIoIngxIiwwKS5hdHRyKCJ5MSIsbXd0KHRoaXMuX3lTY2FsZSx0LHRoaXMuX3lTY2FsZS50aWNrcygpKSkuYXR0cigieDIiLHRoaXMud2lkdGgoKSkuYXR0cigieTIiLG13dCh0aGlzLl95U2NhbGUsdCx0aGlzLl95U2NhbGUudGlja3MoKSkpLmNsYXNzZWQoImJldHdlZW5saW5lIix0KS5jbGFzc2VkKCJ6ZXJvbGluZSIsKGZ1bmN0aW9uKHQpe3JldHVybiAwPT09dH0pKSxuLmV4aXQoKS5yZW1vdmUoKX19LGV9KShPX3QuQ29tcG9uZW50KTtwd3QuR3JpZGxpbmVzPWd3dDt2YXIgX3d0PXt9LHl3dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHl3dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHZ3dD1CTyxid3Q9X2d0LHh3dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gZS5fZGV0YWNoQ2FsbGJhY2s9ZnVuY3Rpb24odCl7cmV0dXJuIGUucmVtb3ZlKHQpfSxlfXJldHVybiB2d3QuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuYW5jaG9yPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXM7cmV0dXJuIGU9Ynd0LmNvZXJjZUV4dGVybmFsRDMoZSksdC5wcm90b3R5cGUuYW5jaG9yLmNhbGwodGhpcyxlKSx0aGlzLl9mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5hbmNob3Iobi5lbGVtZW50KCkpfSkpLHRoaXN9LGUucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZW5kZXIoKX0pKSx0aGlzfSxlLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJoYXMoKSBpcyBub3QgaW1wbGVtZW50ZWQgb24gQ29tcG9uZW50Q29udGFpbmVyIil9LGUucHJvdG90eXBlLl9hZG9wdEFuZEFuY2hvcj1mdW5jdGlvbih0KXt0LnBhcmVudCh0aGlzKSx0Lm9uRGV0YWNoKHRoaXMuX2RldGFjaENhbGxiYWNrKSx0aGlzLl9pc0FuY2hvcmVkJiZ0LmFuY2hvcih0aGlzLmVsZW1lbnQoKSl9LGUucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5oYXModCkmJih0Lm9mZkRldGFjaCh0aGlzLl9kZXRhY2hDYWxsYmFjayksdGhpcy5fcmVtb3ZlKHQpLHQuZGV0YWNoKCksdGhpcy5yZWRyYXcoKSksdGhpc30sZS5wcm90b3R5cGUuX3JlbW92ZT1mdW5jdGlvbih0KXtyZXR1cm4hMX0sZS5wcm90b3R5cGUuX2ZvckVhY2g9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJfZm9yRWFjaCgpIGlzIG5vdCBpbXBsZW1lbnRlZCBvbiBDb21wb25lbnRDb250YWluZXIiKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3QucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKSx0aGlzLl9mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5kZXN0cm95KCl9KSl9LGUucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT1mdW5jdGlvbigpe3RoaXMuX2ZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiB0LmludmFsaWRhdGVDYWNoZSgpfSkpfSxlfSkoT190LkNvbXBvbmVudCk7eXd0LkNvbXBvbmVudENvbnRhaW5lcj14d3QsCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfd3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB3d3Q9Qk8sU3d0PURfdCxNd3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dm9pZCAwPT09ZSYmKGU9W10pO3ZhciBuPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gbi5fY29tcG9uZW50cz1bXSxuLmFkZENsYXNzKCJjb21wb25lbnQtZ3JvdXAiKSxlLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBuLmFwcGVuZCh0KX0pKSxufXJldHVybiB3d3QuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuX2ZvckVhY2g9ZnVuY3Rpb24odCl7dGhpcy5jb21wb25lbnRzKCkuZm9yRWFjaCh0KX0sZS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9jb21wb25lbnRzLmluZGV4T2YodCk+PTB9LGUucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fY29tcG9uZW50cy5tYXAoKGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcXVlc3RlZFNwYWNlKHQsZSl9KSk7cmV0dXJue21pbldpZHRoOlN3dC5NYXRoLm1heChuLChmdW5jdGlvbih0KXtyZXR1cm4gdC5taW5XaWR0aH0pLDApLG1pbkhlaWdodDpTd3QuTWF0aC5tYXgobiwoZnVuY3Rpb24odCl7cmV0dXJuIHQubWluSGVpZ2h0fSksMCl9fSxlLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKGUsbixpKXt2YXIgcj10aGlzO3JldHVybiB0LnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxlLG4saSksdGhpcy5fZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5jb21wdXRlTGF5b3V0KHt4OjAseTowfSxyLndpZHRoKCksci5oZWlnaHQoKSl9KSksdGhpc30sZS5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm57d2lkdGg6dCxoZWlnaHQ6ZX19LGUucHJvdG90eXBlLmZpeGVkV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29tcG9uZW50cy5ldmVyeSgoZnVuY3Rpb24odCl7cmV0dXJuIHQuZml4ZWRXaWR0aCgpfSkpfSxlLnByb3RvdHlwZS5maXhlZEhlaWdodD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb21wb25lbnRzLmV2ZXJ5KChmdW5jdGlvbih0KXtyZXR1cm4gdC5maXhlZEhlaWdodCgpfSkpfSxlLnByb3RvdHlwZS5jb21wb25lbnRzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbXBvbmVudHMuc2xpY2UoKX0sZS5wcm90b3R5cGUuYXBwZW5kPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10fHx0aGlzLmhhcyh0KXx8KHQuZGV0YWNoKCksdGhpcy5fY29tcG9uZW50cy5wdXNoKHQpLHRoaXMuX2Fkb3B0QW5kQW5jaG9yKHQpLHRoaXMucmVkcmF3KCkpLHRoaXN9LGUucHJvdG90eXBlLl9yZW1vdmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fY29tcG9uZW50cy5pbmRleE9mKHQpO3JldHVybiBlPj0wJiYodGhpcy5fY29tcG9uZW50cy5zcGxpY2UoZSwxKSwhMCl9LGV9KSh5d3QuQ29tcG9uZW50Q29udGFpbmVyKTtfd3QuR3JvdXA9TXd0O3ZhciBFd3Q9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEV3dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFR3dD1CTyxDd3Q9TGd0LEF3dD1DeXQsa3d0PXB2dCxMd3Q9RF90LFB3dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7aWYobi5fdGV4dFBhZGRpbmc9NSxudWxsPT1lKXRocm93IG5ldyBFcnJvcigiSW50ZXJwb2xhdGVkQ29sb3JMZWdlbmQgcmVxdWlyZXMgYSBpbnRlcnBvbGF0ZWRDb2xvclNjYWxlIik7cmV0dXJuIG4uX3NjYWxlPWUsbi5fcmVkcmF3Q2FsbGJhY2s9ZnVuY3Rpb24odCl7cmV0dXJuIG4ucmVkcmF3KCl9LG4uX3NjYWxlLm9uVXBkYXRlKG4uX3JlZHJhd0NhbGxiYWNrKSxuLl9mb3JtYXR0ZXI9a3d0LmdlbmVyYWwoKSxuLl9vcmllbnRhdGlvbj0iaG9yaXpvbnRhbCIsbi5fZXhwYW5kcz0hMSxuLmFkZENsYXNzKCJsZWdlbmQiKSxuLmFkZENsYXNzKCJpbnRlcnBvbGF0ZWQtY29sb3ItbGVnZW5kIiksbn1yZXR1cm4gVHd0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksdGhpcy5fc2NhbGUub2ZmVXBkYXRlKHRoaXMuX3JlZHJhd0NhbGxiYWNrKX0sZS5wcm90b3R5cGUuZm9ybWF0dGVyPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10P3RoaXMuX2Zvcm1hdHRlcjoodGhpcy5fZm9ybWF0dGVyPXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUuZXhwYW5kcz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9leHBhbmRzOih0aGlzLl9leHBhbmRzPXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5fZW5zdXJlT3JpZW50YXRpb249ZnVuY3Rpb24odCl7aWYoImhvcml6b250YWwiPT09KHQ9dC50b0xvd2VyQ2FzZSgpKXx8ImxlZnQiPT09dHx8InJpZ2h0Ij09PXQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCciJyt0KyciIGlzIG5vdCBhIHZhbGlkIG9yaWVudGF0aW9uIGZvciBJbnRlcnBvbGF0ZWRDb2xvckxlZ2VuZCcpfSxlLnByb3RvdHlwZS5vcmllbnRhdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9vcmllbnRhdGlvbjoodGhpcy5fb3JpZW50YXRpb249ZS5fZW5zdXJlT3JpZW50YXRpb24odCksdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUuZml4ZWRXaWR0aD1mdW5jdGlvbigpe3JldHVybiF0aGlzLmV4cGFuZHMoKXx8dGhpcy5faXNWZXJ0aWNhbCgpfSxlLnByb3RvdHlwZS5maXhlZEhlaWdodD1mdW5jdGlvbigpe3JldHVybiF0aGlzLmV4cGFuZHMoKXx8IXRoaXMuX2lzVmVydGljYWwoKX0sZS5wcm90b3R5cGUuX2dlbmVyYXRlVGlja3M9ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9ZS5fREVGQVVMVF9OVU1fU1dBVENIRVMpO3ZhciBuPXRoaXMuX3NjYWxlLmRvbWFpbigpO2lmKDE9PT10KXJldHVybltuWzBdXTtmb3IodmFyIGk9KG5bMV0tblswXSkvKHQtMSkscj1bXSxvPTA7bzx0O28rKylyLnB1c2goblswXStpKm8pO3JldHVybiByfSxlLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKSx0aGlzLl9zd2F0Y2hDb250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCgic3dhdGNoLWNvbnRhaW5lciIsITApLHRoaXMuX3N3YXRjaEJvdW5kaW5nQm94PXRoaXMuY29udGVudCgpLmFwcGVuZCgicmVjdCIpLmNsYXNzZWQoInN3YXRjaC1ib3VuZGluZy1ib3giLCEwKSx0aGlzLl9sb3dlckxhYmVsPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5MRUdFTkRfTEFCRUxfQ0xBU1MsITApLHRoaXMuX3VwcGVyTGFiZWw9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZChlLkxFR0VORF9MQUJFTF9DTEFTUywhMCk7dmFyIG49bmV3IEN3dC5TdmdDb250ZXh0KHRoaXMuY29udGVudCgpLm5vZGUoKSk7dGhpcy5fbWVhc3VyZXI9bmV3IEN3dC5NZWFzdXJlcihuKSx0aGlzLl93cmFwcGVyPW5ldyBDd3QuV3JhcHBlcix0aGlzLl93cml0ZXI9bmV3IEN3dC5Xcml0ZXIodGhpcy5fbWVhc3VyZXIsbix0aGlzLl93cmFwcGVyKX0sZS5wcm90b3R5cGUucmVxdWVzdGVkU3BhY2U9ZnVuY3Rpb24odCxuKXt2YXIgaSxyLG89dGhpcyxhPXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoKS5oZWlnaHQscz1hLGw9dGhpcy5fc2NhbGUuZG9tYWluKCkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gby5fbWVhc3VyZXIubWVhc3VyZShvLl9mb3JtYXR0ZXIodCkpLndpZHRofSkpLGM9ZS5fREVGQVVMVF9OVU1fU1dBVENIRVM7aWYodGhpcy5faXNWZXJ0aWNhbCgpKXt2YXIgdT1Md3QuTWF0aC5tYXgobCwwKTtyPXMrYSt0aGlzLl90ZXh0UGFkZGluZyt1K3RoaXMuX3RleHRQYWRkaW5nLGk9YyphfWVsc2UgaT1zK2ErcyxyPXRoaXMuX3RleHRQYWRkaW5nK2xbMF0rYyphK2xbMV0rdGhpcy5fdGV4dFBhZGRpbmc7cmV0dXJue21pbldpZHRoOnIsbWluSGVpZ2h0Oml9fSxlLnByb3RvdHlwZS5faXNWZXJ0aWNhbD1mdW5jdGlvbigpe3JldHVybiJob3Jpem9udGFsIiE9PXRoaXMuX29yaWVudGF0aW9ufSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt2YXIgbixpLHIsbyxhLHMsbD10aGlzLl9zY2FsZS5kb21haW4oKSxjPXRoaXMuX2Zvcm1hdHRlcihsWzBdKSx1PXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoYykud2lkdGgsaD10aGlzLl9mb3JtYXR0ZXIobFsxXSksZD10aGlzLl9tZWFzdXJlci5tZWFzdXJlKGgpLndpZHRoLHA9dGhpcy5fbWVhc3VyZXIubWVhc3VyZSgpLmhlaWdodCxmPXRoaXMuX3RleHRQYWRkaW5nLG09e3g6MCx5OjB9LGc9e3g6MCx5OjB9LF89e3hBbGlnbjoiY2VudGVyIix5QWxpZ246ImNlbnRlciIsdGV4dFJvdGF0aW9uOjB9LHk9e3hBbGlnbjoiY2VudGVyIix5QWxpZ246ImNlbnRlciIsdGV4dFJvdGF0aW9uOjB9LHY9e3g6MCx5OjAsd2lkdGg6MCxoZWlnaHQ6MH07aWYodGhpcy5faXNWZXJ0aWNhbCgpKXtzPU1hdGguZmxvb3IodGhpcy5oZWlnaHQoKSk7dmFyIGI9TWF0aC5tYXgodSxkKTthPSh0aGlzLndpZHRoKCktYi0yKnRoaXMuX3RleHRQYWRkaW5nKS8yLG49TWF0aC5tYXgodGhpcy53aWR0aCgpLWEtMipmLWIsMCksaT0xLG89ZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5oZWlnaHQoKS0obisxKX0seS55QWxpZ249InRvcCIsbS55PTAsXy55QWxpZ249ImJvdHRvbSIsZy55PTAsImxlZnQiPT09dGhpcy5fb3JpZW50YXRpb24/KHI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZitiK2Z9LHkueEFsaWduPSJyaWdodCIsbS54PS0oYStuK2YpLF8ueEFsaWduPSJyaWdodCIsZy54PS0oYStuK2YpKToocj1mdW5jdGlvbih0LGUpe3JldHVybiBhfSx5LnhBbGlnbj0ibGVmdCIsbS54PWErbitmLF8ueEFsaWduPSJsZWZ0IixnLng9YStuK2YpLHYud2lkdGg9bix2LmhlaWdodD1zKml9ZWxzZSBhPU1hdGgubWF4KGYsKHRoaXMuaGVpZ2h0KCktcCkvMikscz1NYXRoLm1heChNYXRoLmZsb29yKHRoaXMud2lkdGgoKS00KmYtdS1kKSwwKSxuPTEsaT1NYXRoLm1heCh0aGlzLmhlaWdodCgpLTIqYSwwKSxyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGguZmxvb3IodSsyKmYpK2V9LG89ZnVuY3Rpb24odCxlKXtyZXR1cm4gYX0seS54QWxpZ249InJpZ2h0IixtLng9LWYsXy54QWxpZ249ImxlZnQiLGcueD1mLHYueT1hLHYud2lkdGg9cypuLHYuaGVpZ2h0PWk7di54PXIobnVsbCwwKSx0aGlzLl91cHBlckxhYmVsLnRleHQoIiIpLHRoaXMuX3dyaXRlci53cml0ZShoLHRoaXMud2lkdGgoKSx0aGlzLmhlaWdodCgpLHksdGhpcy5fdXBwZXJMYWJlbC5ub2RlKCkpLHRoaXMuX3VwcGVyTGFiZWwuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrbS54KyIsICIrbS55KyIpIiksdGhpcy5fbG93ZXJMYWJlbC50ZXh0KCIiKSx0aGlzLl93cml0ZXIud3JpdGUoYyx0aGlzLndpZHRoKCksdGhpcy5oZWlnaHQoKSxfLHRoaXMuX2xvd2VyTGFiZWwubm9kZSgpKSx0aGlzLl9sb3dlckxhYmVsLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK2cueCsiLCAiK2cueSsiKSIpLHRoaXMuX3N3YXRjaEJvdW5kaW5nQm94LmF0dHJzKHYpO3ZhciB4PXRoaXMuX2dlbmVyYXRlVGlja3Mocyksdz10aGlzLl9zd2F0Y2hDb250YWluZXIuc2VsZWN0QWxsKCJyZWN0LnN3YXRjaCIpLmRhdGEoeCksUz13LmVudGVyKCkuYXBwZW5kKCJyZWN0IikuY2xhc3NlZCgic3dhdGNoIiwhMCksTT13Lm1lcmdlKFMpO3JldHVybiB3LmV4aXQoKS5yZW1vdmUoKSxNLmF0dHJzKHtmaWxsOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGUuX3NjYWxlLnNjYWxlKHQpfSx3aWR0aDpuLGhlaWdodDppLHg6cix5Om8sInNoYXBlLXJlbmRlcmluZyI6ImNyaXNwRWRnZXMifSksQXd0LkFERF9USVRMRV9FTEVNRU5UUyYmUy5hcHBlbmQoInRpdGxlIikudGV4dCgoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2Zvcm1hdHRlcih0KX0pKSx0aGlzfSxlLl9ERUZBVUxUX05VTV9TV0FUQ0hFUz0xMSxlLkxFR0VORF9MQUJFTF9DTEFTUz0ibGVnZW5kLWxhYmVsIixlfSkoT190LkNvbXBvbmVudCk7RXd0LkludGVycG9sYXRlZENvbG9yTGVnZW5kPVB3dDt2YXIgTnd0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShOd3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBJd3Q9Qk8sUnd0PUxndCxPd3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxuKXt2b2lkIDA9PT1lJiYoZT0iIiksdm9pZCAwPT09biYmKG49MCk7dmFyIGk9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBpLmFkZENsYXNzKCJsYWJlbCIpLGkudGV4dChlKSxpLmFuZ2xlKG4pLGkueEFsaWdubWVudCgiY2VudGVyIikueUFsaWdubWVudCgiY2VudGVyIiksaS5fcGFkZGluZz0wLGl9cmV0dXJuIEl3dC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5yZXF1ZXN0ZWRTcGFjZT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX21lYXN1cmVyLm1lYXN1cmUodGhpcy5fdGV4dCk7cmV0dXJue21pbldpZHRoOigwPT09dGhpcy5hbmdsZSgpP24ud2lkdGg6bi5oZWlnaHQpKzIqdGhpcy5wYWRkaW5nKCksbWluSGVpZ2h0OigwPT09dGhpcy5hbmdsZSgpP24uaGVpZ2h0Om4ud2lkdGgpKzIqdGhpcy5wYWRkaW5nKCl9fSxlLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKSx0aGlzLl90ZXh0Q29udGFpbmVyPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpO3ZhciBlPW5ldyBSd3QuU3ZnQ29udGV4dCh0aGlzLl90ZXh0Q29udGFpbmVyLm5vZGUoKSk7dGhpcy5fbWVhc3VyZXI9bmV3IFJ3dC5DYWNoZU1lYXN1cmVyKGUpLHRoaXMuX3dyYXBwZXI9bmV3IFJ3dC5XcmFwcGVyLHRoaXMuX3dyaXRlcj1uZXcgUnd0LldyaXRlcih0aGlzLl9tZWFzdXJlcixlLHRoaXMuX3dyYXBwZXIpLHRoaXMudGV4dCh0aGlzLl90ZXh0KX0sZS5wcm90b3R5cGUudGV4dD1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl90ZXh0O2lmKCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoIkxhYmVsLnRleHQoKSBvbmx5IHRha2VzIHN0cmluZ3MgYXMgaW5wdXQiKTtyZXR1cm4gdGhpcy5fdGV4dD10LHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUuYW5nbGU9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fYW5nbGU7aWYoKHQlPTM2MCk+MTgwP3QtPTM2MDp0PC0xODAmJih0Kz0zNjApLC05MCE9PXQmJjAhPT10JiY5MCE9PXQpdGhyb3cgbmV3IEVycm9yKHQrIiBpcyBub3QgYSB2YWxpZCBhbmdsZSBmb3IgTGFiZWwiKTtyZXR1cm4gdGhpcy5fYW5nbGU9dCx0aGlzLnJlZHJhdygpLHRoaXN9LGUucHJvdG90eXBlLnBhZGRpbmc9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fcGFkZGluZztpZigodD0rdCk8MCl0aHJvdyBuZXcgRXJyb3IodCsiIGlzIG5vdCBhIHZhbGlkIHBhZGRpbmcgdmFsdWUuIENhbm5vdCBiZSBsZXNzIHRoYW4gMC4iKTtyZXR1cm4gdGhpcy5fcGFkZGluZz10LHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUuZml4ZWRXaWR0aD1mdW5jdGlvbigpe3JldHVybiEwfSxlLnByb3RvdHlwZS5maXhlZEhlaWdodD1mdW5jdGlvbigpe3JldHVybiEwfSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3QucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5LmNhbGwodGhpcyksdGhpcy5fdGV4dENvbnRhaW5lci5zZWxlY3RBbGwoImciKS5yZW1vdmUoKTt2YXIgZT10aGlzLl9tZWFzdXJlci5tZWFzdXJlKHRoaXMuX3RleHQpLG49TWF0aC5tYXgoTWF0aC5taW4oKHRoaXMuaGVpZ2h0KCktZS5oZWlnaHQpLzIsdGhpcy5wYWRkaW5nKCkpLDApLGk9TWF0aC5tYXgoTWF0aC5taW4oKHRoaXMud2lkdGgoKS1lLndpZHRoKS8yLHRoaXMucGFkZGluZygpKSwwKTt0aGlzLl90ZXh0Q29udGFpbmVyLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK2krIiwiK24rIikiKTt2YXIgcj10aGlzLndpZHRoKCktMippLG89dGhpcy5oZWlnaHQoKS0yKm4sYT17eEFsaWduOnRoaXMueEFsaWdubWVudCgpLHlBbGlnbjp0aGlzLnlBbGlnbm1lbnQoKSx0ZXh0Um90YXRpb246dGhpcy5hbmdsZSgpfTtyZXR1cm4gdGhpcy5fd3JpdGVyLndyaXRlKHRoaXMuX3RleHQscixvLGEpLHRoaXN9LGUucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT1mdW5jdGlvbigpe3QucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZS5jYWxsKHRoaXMpLHRoaXMuX21lYXN1cmVyLnJlc2V0KCl9LGV9KShPX3QuQ29tcG9uZW50KTtOd3QuTGFiZWw9T3d0O3ZhciB6d3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUobixpKXt2YXIgcj10LmNhbGwodGhpcyxuLGkpfHx0aGlzO3JldHVybiByLmFkZENsYXNzKGUuVElUTEVfTEFCRUxfQ0xBU1MpLHJ9cmV0dXJuIEl3dC5fX2V4dGVuZHMoZSx0KSxlLlRJVExFX0xBQkVMX0NMQVNTPSJ0aXRsZS1sYWJlbCIsZX0pKE93dCk7Tnd0LlRpdGxlTGFiZWw9end0O3ZhciBEd3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUobixpKXt2YXIgcj10LmNhbGwodGhpcyxuLGkpfHx0aGlzO3JldHVybiByLmFkZENsYXNzKGUuQVhJU19MQUJFTF9DTEFTUykscn1yZXR1cm4gSXd0Ll9fZXh0ZW5kcyhlLHQpLGUuQVhJU19MQUJFTF9DTEFTUz0iYXhpcy1sYWJlbCIsZX0pKE93dCk7Tnd0LkF4aXNMYWJlbD1Ed3Q7dmFyIEJ3dD17fSxId3Q9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShId3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBGd3Q9d3B0O0h3dC5jaXJjbGU9ZnVuY3Rpb24gVnd0KCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBGd3Quc3ltYm9sKCkudHlwZShGd3Quc3ltYm9sQ2lyY2xlKS5zaXplKE1hdGguUEkqTWF0aC5wb3codC8yLDIpKX19LEh3dC5zcXVhcmU9ZnVuY3Rpb24gVXd0KCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBGd3Quc3ltYm9sKCkudHlwZShGd3Quc3ltYm9sU3F1YXJlKS5zaXplKE1hdGgucG93KHQsMikpfX0sSHd0LmNyb3NzPWZ1bmN0aW9uIGp3dCgpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gRnd0LnN5bWJvbCgpLnR5cGUoRnd0LnN5bWJvbENyb3NzKS5zaXplKDUvOSpNYXRoLnBvdyh0LDIpKX19LEh3dC5kaWFtb25kPWZ1bmN0aW9uIEd3dCgpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gRnd0LnN5bWJvbCgpLnR5cGUoRnd0LnN5bWJvbERpYW1vbmQpLnNpemUoTWF0aC50YW4oTWF0aC5QSS82KSpNYXRoLnBvdyh0LDIpLzIpfX0sSHd0LnRyaWFuZ2xlPWZ1bmN0aW9uIFd3dCgpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gRnd0LnN5bWJvbCgpLnR5cGUoRnd0LnN5bWJvbFRyaWFuZ2xlKS5zaXplKE1hdGguc3FydCgzKSpNYXRoLnBvdyh0LzIsMikpfX07SHd0LnN0YXI9ZnVuY3Rpb24gcXd0KCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBGd3Quc3ltYm9sKCkudHlwZShGd3Quc3ltYm9sU3Rhcikuc2l6ZSguODkwODEzMDkxNTI5Mjg1MipNYXRoLnBvdyh0LzIsMikpfX07dmFyIFl3dD0zKigxL01hdGguc3FydCgxMikvMisxKTtId3Qud3llPWZ1bmN0aW9uIFh3dCgpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gRnd0LnN5bWJvbCgpLnR5cGUoRnd0LnN5bWJvbFd5ZSkuc2l6ZShZd3QqTWF0aC5wb3codC8yLjQsMikpfX0sCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShCd3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciAkd3Q9Qk8sS3d0PXdwdCxad3Q9TGd0LEp3dD1DeXQsUXd0PXB2dCx0U3Q9SHd0LGVTdD1EX3QsblN0PU9fdCxpU3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7dm9pZCAwPT09dCYmKHQ9W10pLHZvaWQgMD09PWUmJihlPTApLHZvaWQgMD09PW4mJihuPTEvMCksdGhpcy5jb2x1bW5zPXQsdGhpcy5ib3R0b21QYWRkaW5nPWUsdGhpcy5tYXhXaWR0aD1ufXJldHVybiB0LnByb3RvdHlwZS5hZGRDb2x1bW49ZnVuY3Rpb24odCl7dmFyIGU9dC53aWR0aCxuPXRoaXMuZ2V0V2lkdGhBdmFpbGFibGUoKTt0LndpZHRoPU1hdGgubWluKG4sZSksdGhpcy5jb2x1bW5zLnB1c2godCl9LHQucHJvdG90eXBlLmdldEJvdW5kcz1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5jb2x1bW5zW3RdLG49MCxpPTA7aTx0O2krKyluKz10aGlzLmNvbHVtbnNbaV0ud2lkdGg7cmV0dXJue3RvcExlZnQ6e3g6bix5OjB9LGJvdHRvbVJpZ2h0Ont4Om4rZS53aWR0aCx5OmUuaGVpZ2h0fX19LHQucHJvdG90eXBlLmdldEhlaWdodD1mdW5jdGlvbigpe3JldHVybiBlU3QuTWF0aC5tYXgodGhpcy5jb2x1bW5zLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuaGVpZ2h0fSkpLDApK3RoaXMuYm90dG9tUGFkZGluZ30sdC5wcm90b3R5cGUuZ2V0V2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5taW4odGhpcy5jb2x1bW5zLnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCtlLndpZHRofSksMCksdGhpcy5tYXhXaWR0aCl9LHQucHJvdG90eXBlLmdldFdpZHRoQXZhaWxhYmxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5nZXRXaWR0aCgpO3JldHVybiBNYXRoLm1heCh0aGlzLm1heFdpZHRoLXQsMCl9LHR9KSgpLHJTdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSxuLGkpe3ZvaWQgMD09PXQmJih0PTEvMCksdm9pZCAwPT09ZSYmKGU9MS8wKSx2b2lkIDA9PT1uJiYobj0wKSx2b2lkIDA9PT1pJiYoaT1bXSksdGhpcy5tYXhXaWR0aD10LHRoaXMubWF4SGVpZ2h0PWUsdGhpcy5wYWRkaW5nPW4sdGhpcy5yb3dzPWl9cmV0dXJuIHQucHJvdG90eXBlLmFkZFJvdz1mdW5jdGlvbih0KXt0Lm1heFdpZHRoPXRoaXMubWF4V2lkdGgtMip0aGlzLnBhZGRpbmcsdGhpcy5yb3dzLnB1c2godCl9LHQucHJvdG90eXBlLmdldENvbHVtbkJvdW5kcz1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuZ2V0Um93Qm91bmRzKHQpLGk9dGhpcy5yb3dzW3RdLmdldEJvdW5kcyhlKTtyZXR1cm4gaS50b3BMZWZ0LngrPW4udG9wTGVmdC54LGkuYm90dG9tUmlnaHQueCs9bi50b3BMZWZ0LngsaS50b3BMZWZ0LnkrPW4udG9wTGVmdC55LGkuYm90dG9tUmlnaHQueSs9bi50b3BMZWZ0LnksaX0sdC5wcm90b3R5cGUuZ2V0Um93Qm91bmRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLnBhZGRpbmcsbj10aGlzLnBhZGRpbmcsaT0wO2k8dDtpKyspbis9dGhpcy5yb3dzW2ldLmdldEhlaWdodCgpO3JldHVybnt0b3BMZWZ0Ont4OmUseTpufSxib3R0b21SaWdodDp7eDplK3RoaXMucm93c1t0XS5nZXRXaWR0aCgpLHk6bit0aGlzLnJvd3NbdF0uZ2V0SGVpZ2h0KCl9fX0sdC5wcm90b3R5cGUuZ2V0SGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgubWluKHRoaXMucm93cy5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrZS5nZXRIZWlnaHQoKX0pLDApKzIqdGhpcy5wYWRkaW5nLHRoaXMubWF4SGVpZ2h0KX0sdC5wcm90b3R5cGUuZ2V0V2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5taW4oZVN0Lk1hdGgubWF4KHRoaXMucm93cy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFdpZHRoKCl9KSksMCkrMip0aGlzLnBhZGRpbmcsdGhpcy5tYXhXaWR0aCl9LHR9KSgpLG9TdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7aWYobi5fcGFkZGluZz01LG4uX3Jvd0JvdHRvbVBhZGRpbmc9MyxuLmFkZENsYXNzKCJsZWdlbmQiKSxuLm1heEVudHJpZXNQZXJSb3coMSksbnVsbD09ZSl0aHJvdyBuZXcgRXJyb3IoIkxlZ2VuZCByZXF1aXJlcyBhIGNvbG9yU2NhbGUiKTtyZXR1cm4gbi5fY29sb3JTY2FsZT1lLG4uX3JlZHJhd0NhbGxiYWNrPWZ1bmN0aW9uKHQpe3JldHVybiBuLnJlZHJhdygpfSxuLl9jb2xvclNjYWxlLm9uVXBkYXRlKG4uX3JlZHJhd0NhbGxiYWNrKSxuLl9mb3JtYXR0ZXI9UXd0LmlkZW50aXR5KCksbi5tYXhMaW5lc1BlckVudHJ5KDEpLG4ueEFsaWdubWVudCgicmlnaHQiKS55QWxpZ25tZW50KCJ0b3AiKSxuLmNvbXBhcmF0b3IoKGZ1bmN0aW9uKHQsZSl7dmFyIGk9bi5fY29sb3JTY2FsZS5kb21haW4oKS5zbGljZSgpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG4uX2Zvcm1hdHRlcih0KX0pKTtyZXR1cm4gaS5pbmRleE9mKHQpLWkuaW5kZXhPZihlKX0pKSxuLl9zeW1ib2xGYWN0b3J5QWNjZXNzb3I9ZnVuY3Rpb24oKXtyZXR1cm4gdFN0LmNpcmNsZSgpfSxuLl9zeW1ib2xPcGFjaXR5QWNjZXNzb3I9ZnVuY3Rpb24oKXtyZXR1cm4gMX0sbn1yZXR1cm4gJHd0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3QucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3ZhciBuPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5MRUdFTkRfUk9XX0NMQVNTLCEwKTtuLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5MRUdFTkRfRU5UUllfQ0xBU1MsITApLmFwcGVuZCgidGV4dCIpO3ZhciBpPW5ldyBad3QuU3ZnQ29udGV4dChuLm5vZGUoKSxudWxsLEp3dC5BRERfVElUTEVfRUxFTUVOVFMpO3RoaXMuX21lYXN1cmVyPW5ldyBad3QuQ2FjaGVNZWFzdXJlcihpKSx0aGlzLl93cmFwcGVyPShuZXcgWnd0LldyYXBwZXIpLm1heExpbmVzKHRoaXMubWF4TGluZXNQZXJFbnRyeSgpKSx0aGlzLl93cml0ZXI9bmV3IFp3dC5Xcml0ZXIodGhpcy5fbWVhc3VyZXIsaSx0aGlzLl93cmFwcGVyKX0sZS5wcm90b3R5cGUuZm9ybWF0dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2Zvcm1hdHRlcjoodGhpcy5fZm9ybWF0dGVyPXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUubWF4RW50cmllc1BlclJvdz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9tYXhFbnRyaWVzUGVyUm93Oih0aGlzLl9tYXhFbnRyaWVzUGVyUm93PXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUubWF4TGluZXNQZXJFbnRyeT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9tYXhMaW5lc1BlckVudHJ5Oih0aGlzLl9tYXhMaW5lc1BlckVudHJ5PXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUubWF4V2lkdGg9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fbWF4V2lkdGg6KHRoaXMuX21heFdpZHRoPXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUuY29tcGFyYXRvcj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9jb21wYXJhdG9yOih0aGlzLl9jb21wYXJhdG9yPXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUuY29sb3JTY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dD8odGhpcy5fY29sb3JTY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVkcmF3Q2FsbGJhY2spLHRoaXMuX2NvbG9yU2NhbGU9dCx0aGlzLl9jb2xvclNjYWxlLm9uVXBkYXRlKHRoaXMuX3JlZHJhd0NhbGxiYWNrKSx0aGlzLnJlZHJhdygpLHRoaXMpOnRoaXMuX2NvbG9yU2NhbGV9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksdGhpcy5fY29sb3JTY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVkcmF3Q2FsbGJhY2spfSxlLnByb3RvdHlwZS5fYnVpbGRMZWdlbmRUYWJsZT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMsaT10aGlzLl9tZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0LHI9bmV3IHJTdCh0LGUsdGhpcy5fcGFkZGluZyksbz10aGlzLl9jb2xvclNjYWxlLmRvbWFpbigpLnNsaWNlKCkuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5fY29tcGFyYXRvcihuLl9mb3JtYXR0ZXIodCksbi5fZm9ybWF0dGVyKGUpKX0pKSxhPW5ldyBpU3Q7cmV0dXJuIHIuYWRkUm93KGEpLGEuYm90dG9tUGFkZGluZz10aGlzLl9yb3dCb3R0b21QYWRkaW5nLG8uZm9yRWFjaCgoZnVuY3Rpb24odCxlKXthLmNvbHVtbnMubGVuZ3RoLzI9PT1uLm1heEVudHJpZXNQZXJSb3coKSYmKChhPW5ldyBpU3QpLmJvdHRvbVBhZGRpbmc9bi5fcm93Qm90dG9tUGFkZGluZyxyLmFkZFJvdyhhKSk7dmFyIG89YS5nZXRXaWR0aEF2YWlsYWJsZSgpLHM9bi5fZm9ybWF0dGVyKHQpLGw9bi5fbWVhc3VyZXIubWVhc3VyZShzKS53aWR0aDtvLWktbDwwJiZhLmNvbHVtbnMubGVuZ3RoPjEmJigoYT1uZXcgaVN0KS5ib3R0b21QYWRkaW5nPW4uX3Jvd0JvdHRvbVBhZGRpbmcsci5hZGRSb3coYSkpLGEuYWRkQ29sdW1uKHt3aWR0aDppLGhlaWdodDppLGRhdGE6e25hbWU6dCx0eXBlOiJzeW1ib2wifX0pLG89YS5nZXRXaWR0aEF2YWlsYWJsZSgpO3ZhciBjPU1hdGgubWluKG8sbCk7bi5fd3JhcHBlci5tYXhMaW5lcyhuLm1heExpbmVzUGVyRW50cnkoKSk7dmFyIHU9bi5fd3JhcHBlci53cmFwKHMsbi5fbWVhc3VyZXIsYykubm9MaW5lczthLmFkZENvbHVtbih7d2lkdGg6YyxoZWlnaHQ6dSppLGRhdGE6e25hbWU6dCx0eXBlOiJ0ZXh0In19KX0pKSxyfSxlLnByb3RvdHlwZS5yZXF1ZXN0ZWRTcGFjZT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX2J1aWxkTGVnZW5kVGFibGUoZVN0Lk1hdGgubWluKFt0aGlzLm1heFdpZHRoKCksdF0sdCksZSk7cmV0dXJue21pbkhlaWdodDpuLmdldEhlaWdodCgpLG1pbldpZHRoOm4uZ2V0V2lkdGgoKX19LGUucHJvdG90eXBlLmVudGl0aWVzQXQ9ZnVuY3Rpb24odCl7dmFyIG49dGhpcztpZighdGhpcy5faXNTZXR1cClyZXR1cm5bXTt2YXIgaT10aGlzLl9idWlsZExlZ2VuZFRhYmxlKHRoaXMud2lkdGgoKSx0aGlzLmhlaWdodCgpKTtyZXR1cm4gaS5yb3dzLnJlZHVjZSgoZnVuY3Rpb24ocixvLGEpe2lmKDAhPT1yLmxlbmd0aClyZXR1cm4gcjt2YXIgcz1pLmdldFJvd0JvdW5kcyhhKTtyZXR1cm4gZVN0Lk1hdGgud2l0aGluKHQscyk/by5jb2x1bW5zLnJlZHVjZSgoZnVuY3Rpb24ocixvLHMpe3ZhciBsPWkuZ2V0Q29sdW1uQm91bmRzKGEscyk7aWYoZVN0Lk1hdGgud2l0aGluKHQsbCkpe3ZhciBjPW4uY29udGVudCgpLnNlbGVjdEFsbCgiLiIrZS5MRUdFTkRfUk9XX0NMQVNTKS5ub2RlcygpW2FdLHU9S3d0LnNlbGVjdChjKS5zZWxlY3RBbGwoIi4iK2UuTEVHRU5EX0VOVFJZX0NMQVNTKS5ub2RlcygpW01hdGguZmxvb3Iocy8yKV0saD1Ld3Quc2VsZWN0KHUpLnNlbGVjdCgiLiIrZS5MRUdFTkRfU1lNQk9MX0NMQVNTKSxkPWVTdC5ET00uZ2V0VHJhbnNsYXRlVmFsdWVzKEt3dC5zZWxlY3QoYykpLHA9ZVN0LkRPTS5nZXRUcmFuc2xhdGVWYWx1ZXMoaCk7cmV0dXJuW3tib3VuZHM6ZVN0LkRPTS5lbGVtZW50QkJveChLd3Quc2VsZWN0KGMpKSxkYXR1bTpvLmRhdGEubmFtZSxwb3NpdGlvbjp7eDpkWzBdK3BbMF0seTpkWzFdK3BbMV19LHNlbGVjdGlvbjpLd3Quc2VsZWN0KHUpLGNvbXBvbmVudDpufV19cmV0dXJuIHJ9KSxyKTpyfSksW10pfSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3QucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5LmNhbGwodGhpcyk7dmFyIG49dGhpcy5fYnVpbGRMZWdlbmRUYWJsZSh0aGlzLndpZHRoKCksdGhpcy5oZWlnaHQoKSk7dGhpcy5jb250ZW50KCkuc2VsZWN0QWxsKCIqIikucmVtb3ZlKCk7dmFyIGk9dGhpcy5jb250ZW50KCkuc2VsZWN0QWxsKCJnLiIrZS5MRUdFTkRfUk9XX0NMQVNTKS5kYXRhKG4ucm93cykscj1pLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChlLkxFR0VORF9ST1dfQ0xBU1MsITApLm1lcmdlKGkpO2kuZXhpdCgpLnJlbW92ZSgpLHIuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCxlKXt2YXIgaT1uLmdldFJvd0JvdW5kcyhlKTtyZXR1cm4idHJhbnNsYXRlKCIraS50b3BMZWZ0LngrIiwgIitpLnRvcExlZnQueSsiKSJ9KSk7dmFyIG89dGhpcztyZXR1cm4gci5lYWNoKChmdW5jdGlvbih0LGkpe2Zvcih2YXIgcj1bXSxhPTA7YTx0LmNvbHVtbnMubGVuZ3RoO2ErPTIpci5wdXNoKFt0LmNvbHVtbnNbYV0sdC5jb2x1bW5zW2ErMV1dKTt2YXIgcz1Ld3Quc2VsZWN0KHRoaXMpLnNlbGVjdEFsbCgiZy4iK2UuTEVHRU5EX0VOVFJZX0NMQVNTKS5kYXRhKHIpLGw9cy5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5MRUdFTkRfRU5UUllfQ0xBU1MsITApLm1lcmdlKHMpO2wuYXBwZW5kKCJwYXRoIikuYXR0cigiZCIsKGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtyZXR1cm4gby5zeW1ib2woKShuLmRhdGEubmFtZSxpKSguNipuLmhlaWdodCkobnVsbCl9KSkuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCxlKXt2YXIgcj10WzBdLG89bi5yb3dzW2ldLmNvbHVtbnMuaW5kZXhPZihyKTtyZXR1cm4idHJhbnNsYXRlKCIrKG4uZ2V0Q29sdW1uQm91bmRzKGksbykudG9wTGVmdC54K3Iud2lkdGgvMikrIiwgIityLmhlaWdodC8yKyIpIn0pKS5hdHRyKCJmaWxsIiwoZnVuY3Rpb24odCl7cmV0dXJuIG8uX2NvbG9yU2NhbGUuc2NhbGUodFswXS5kYXRhLm5hbWUpfSkpLmF0dHIoIm9wYWNpdHkiLChmdW5jdGlvbih0LGUpe3JldHVybiBvLnN5bWJvbE9wYWNpdHkoKSh0WzBdLmRhdGEubmFtZSxpKX0pKS5jbGFzc2VkKGUuTEVHRU5EX1NZTUJPTF9DTEFTUywhMCksbC5hcHBlbmQoImciKS5jbGFzc2VkKCJ0ZXh0LWNvbnRhaW5lciIsITApLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQsZSl7dmFyIHI9bi5yb3dzW2ldLmNvbHVtbnMuaW5kZXhPZih0WzFdKTtyZXR1cm4idHJhbnNsYXRlKCIrbi5nZXRDb2x1bW5Cb3VuZHMoaSxyKS50b3BMZWZ0LngrIiwgMCkifSkpLmVhY2goKGZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1Ld3Quc2VsZWN0KHRoaXMpLHI9dFsxXTtvLl93cml0ZXIud3JpdGUoby5fZm9ybWF0dGVyKHIuZGF0YS5uYW1lKSxyLndpZHRoLG8uaGVpZ2h0KCkse3hBbGlnbjoibGVmdCIseUFsaWduOiJ0b3AiLHRleHRSb3RhdGlvbjowfSxpLm5vZGUoKSl9KSkscy5leGl0KCkucmVtb3ZlKCl9KSksdGhpc30sZS5wcm90b3R5cGUuc3ltYm9sPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3N5bWJvbEZhY3RvcnlBY2Nlc3NvcjoodGhpcy5fc3ltYm9sRmFjdG9yeUFjY2Vzc29yPXQsdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUuc3ltYm9sT3BhY2l0eT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9zeW1ib2xPcGFjaXR5QWNjZXNzb3I6KHRoaXMuX3N5bWJvbE9wYWNpdHlBY2Nlc3Nvcj0ibnVtYmVyIj09dHlwZW9mIHQ/ZnVuY3Rpb24oKXtyZXR1cm4gdH06dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuITB9LGUucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuITB9LGUucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT1mdW5jdGlvbigpe3QucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZS5jYWxsKHRoaXMpLHRoaXMuX21lYXN1cmVyLnJlc2V0KCl9LGUuTEVHRU5EX1JPV19DTEFTUz0ibGVnZW5kLXJvdyIsZS5MRUdFTkRfRU5UUllfQ0xBU1M9ImxlZ2VuZC1lbnRyeSIsZS5MRUdFTkRfU1lNQk9MX0NMQVNTPSJsZWdlbmQtc3ltYm9sIixlfSkoblN0LkNvbXBvbmVudCk7Qnd0LkxlZ2VuZD1vU3Q7dmFyIGFTdD17fSxzU3Q9e30sbFN0PXt9OyEoZnVuY3Rpb24odCl7dmFyIGU7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSwoZT10LkFuaW1hdG9yfHwodC5BbmltYXRvcj17fSkpLk1BSU49Im1haW4iLGUuUkVTRVQ9InJlc2V0In0pKGxTdCk7dmFyIGNTdD17fSx1U3Q9e30saFN0PXt9LGRTdD1mdW5jdGlvbiB0KGUpe3JldHVybiBudWxsIT1lJiYib2JqZWN0Ij09dHlwZW9mIGUmJiExPT09QXJyYXkuaXNBcnJheShlKX07ZnVuY3Rpb24gcFN0KHQpe3JldHVybiEwPT09ZFN0KHQpJiYiW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX12YXIgZlN0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZlN0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbVN0PURfdCxnU3Q9MCxfU3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe3ZvaWQgMD09PXQmJih0PVtdKSx2b2lkIDA9PT1lJiYoZT17fSksdGhpcy5fdXBkYXRlSWQ9Z1N0KyssdGhpcy5fZGF0YT10LHRoaXMuX21ldGFkYXRhPWUsdGhpcy5fY2FsbGJhY2tzPW5ldyBtU3QuQ2FsbGJhY2tTZXR9cmV0dXJuIHQucHJvdG90eXBlLm9uVXBkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3MuYWRkKHQpLHRoaXN9LHQucHJvdG90eXBlLm9mZlVwZGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fY2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSx0LnByb3RvdHlwZS5kYXRhPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2RhdGE6KHRoaXMuX2RhdGE9dCx0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpLHRoaXMpfSx0LnByb3RvdHlwZS5tZXRhZGF0YT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9tZXRhZGF0YToodGhpcy5fbWV0YWRhdGE9dCx0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpLHRoaXMpfSx0LnByb3RvdHlwZS51cGRhdGVJZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl91cGRhdGVJZH0sdC5wcm90b3R5cGUuX2Rpc3BhdGNoVXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlSWQ9Z1N0KyssdGhpcy5fY2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcyl9LHR9KSgpO2ZTdC5EYXRhc2V0PV9TdCwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKiBAZmlsZW92ZXJ2aWV3IEltcGxlbWVudHMgdGhlIFNpZ25hdHVyZSBBUEkgdG8gaGVscCBpbiBjb21wYXJpbmcgd2hlbiB0d28KICAgICAqIFBsb3R0YWJsZSBvYmplY3RzIGhhdmUgImNoYW5nZWQiLgogICAgICoKICAgICAqIE1lbW9pemF0aW9uIGluIFBsb3R0YWJsZSBpcyBjb21wbGljYXRlZCBieSBtdXRhYmxlIHNjYWxlcyBhbmQgZGF0YXNldHMuIFdlIGNhbm5vdCBzaW1wbHkKICAgICAqIHJlZmVyZW5jZSBjb21wYXJlIHR3byBlLmcuIHNjYWxlcyBzaW5jZSBpdCBtYXkgaGF2ZSBpbnRlcm5hbGx5IG11dGF0ZWQuIFRvIHJlc29sdmUgdGhpcywKICAgICAqIHdlIHdyaXRlIGEgcmVjdXJzaXZlIFNpZ25hdHVyZSBpbnRlcmZhY2UgdGhhdCBob2xkcyBhbiBpbW11dGFibGUgc25hcHNob3Qgb2Ygd2hhdGV2ZXIKICAgICAqIHN0YXRlIHRoZSBzY2FsZS9kYXRhIHdhcyBpbiBhdCB0aGUgdGltZS4gVGhlbiBvbiBtZW1vaXplZCBmdW5jdGlvbiBpbnZvY2F0aW9uIHdlIHNpZ24gdGhlCiAgICAgKiBuZXcgaW5wdXRzIGFuZCBjb21wYXJlIHRoZSBzaWduYXR1cmVzIHRvIGRlY2lkZSBpZiB3ZSBzaG91bGQgcmVjb21wdXRlLgogICAgICoKICAgICAqIFdlIG11c3QgaGFuZC13cml0ZSBhIHNpZ25hdHVyZSBmb3IgZWFjaCBjdXN0b20gY2xhc3Mgd2Ugd2lzaCB0byBzdXBwb3J0LgogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShoU3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB5U3Q9Qk8sdlN0PWZ1bmN0aW9uIHQoZSl7dmFyIG4saTtyZXR1cm4hMSE9PXBTdChlKSYmKCJmdW5jdGlvbiI9PXR5cGVvZihuPWUuY29uc3RydWN0b3IpJiYoITEhPT1wU3QoaT1uLnByb3RvdHlwZSkmJiExIT09aS5oYXNPd25Qcm9wZXJ0eSgiaXNQcm90b3R5cGVPZiIpKSl9LGJTdD1mU3QseFN0PWxidDtmdW5jdGlvbiB3U3QodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBBU3Q/dDp0IGluc3RhbmNlb2YgRGF0ZT9FU3QodC52YWx1ZU9mKCkpOnQgaW5zdGFuY2VvZiB4U3QuU2NhbGU/U1N0KHQpOnQgaW5zdGFuY2VvZiBiU3QuRGF0YXNldD9NU3QodCk6dlN0KHQpP0NTdCh0KTpBcnJheS5pc0FycmF5KHQpP1RTdCh0KTpFU3QodCl9ZnVuY3Rpb24gU1N0KHQpe3JldHVybiBDU3Qoe2RvbWFpbjp0LmRvbWFpbigpLHJhbmdlOnQucmFuZ2UoKSx1cGRhdGVJZDp0LnVwZGF0ZUlkKCkscmVmOkVTdCh0KX0pfWZ1bmN0aW9uIE1TdCh0KXtyZXR1cm4gQ1N0KHtyZWY6RVN0KHQpLHVwZGF0ZUlkOnQudXBkYXRlSWQoKX0pfWZ1bmN0aW9uIEVTdCh0KXtyZXR1cm4gbmV3IExTdCh0KX1mdW5jdGlvbiBUU3QodCl7cmV0dXJuIG5ldyBrU3QodC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB3U3QodCl9KSkpfWZ1bmN0aW9uIENTdCh0KXt2YXIgZT17fTtmb3IodmFyIG4gaW4gdCl0Lmhhc093blByb3BlcnR5KG4pJiYoZVtuXT13U3QodFtuXSkpO3JldHVybiBuZXcgUFN0KGUpfWhTdC5zaWduPXdTdCxoU3Quc2lnblNjYWxlPVNTdCxoU3Quc2lnbkRhdGFzZXQ9TVN0LGhTdC5zaWduUmVmPUVTdCxoU3Quc2lnbkFycmF5PVRTdCxoU3Quc2lnbk9iaj1DU3Q7dmFyIEFTdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiB0LnByb3RvdHlwZS5pc0RpZmZlcmVudD1mdW5jdGlvbih0KXtyZXR1cm4hKHQgaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yKXx8dGhpcy5pc1NpZ25hdHVyZURpZmZlcmVudCh0KX0sdH0pKCk7aFN0LlNpZ25hdHVyZT1BU3Q7dmFyIGtTdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4uYXJyYXk9ZSxufXJldHVybiB5U3QuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuaXNTaWduYXR1cmVEaWZmZXJlbnQ9ZnVuY3Rpb24odCl7aWYodC5hcnJheS5sZW5ndGghPT10aGlzLmFycmF5Lmxlbmd0aClyZXR1cm4hMDtmb3IodmFyIGU9MDtlPHRoaXMuYXJyYXkubGVuZ3RoO2UrKylpZih0aGlzLmFycmF5W2VdLmlzRGlmZmVyZW50KHQuYXJyYXlbZV0pKXJldHVybiEwO3JldHVybiExfSxlfSkoQVN0KTtoU3QuQXJyYXlTaWduYXR1cmU9a1N0O3ZhciBMU3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dmFyIG49dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBuLnJlZj1lLG59cmV0dXJuIHlTdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5pc1NpZ25hdHVyZURpZmZlcmVudD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZWYhPT10LnJlZn0sZX0pKEFTdCk7aFN0LlJlZmVyZW5jZVNpZ25hdHVyZT1MU3Q7dmFyIFBTdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4ub2JqPWUsbn1yZXR1cm4geVN0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmlzU2lnbmF0dXJlRGlmZmVyZW50PWZ1bmN0aW9uKHQpe3ZhciBlPU9iamVjdC5rZXlzKHRoaXMub2JqKSxuPU9iamVjdC5rZXlzKHQub2JqKTtpZihlLmxlbmd0aCE9PW4ubGVuZ3RoKXJldHVybiEwO2Zvcih2YXIgaT0wLHI9ZTtpPHIubGVuZ3RoO2krKyl7dmFyIG89cltpXTtpZighdC5vYmouaGFzT3duUHJvcGVydHkobykpcmV0dXJuITA7aWYodGhpcy5vYmpbb10uaXNEaWZmZXJlbnQodC5vYmpbb10pKXJldHVybiEwfXJldHVybiExfSxlfSkoQVN0KTtoU3QuT2JqZWN0U2lnbmF0dXJlPVBTdCwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKiBAZmlsZW92ZXJ2aWV3IEltcGxlbWVudHMgYSBmdW5jdGlvbiBtZW1vaXplciB1c2luZyB0aGUgU2lnbmF0dXJlIEFQSS4KICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkodVN0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgTlN0PWhTdDt1U3QubWVtb2l6ZT1mdW5jdGlvbiBJU3QodCl7dmFyIGUsbj12b2lkIDAsaT0hMSxyPSExLG89ZnVuY3Rpb24oKXtmb3IodmFyIG89W10sYT0wO2E8YXJndW1lbnRzLmxlbmd0aDthKyspb1thXT1hcmd1bWVudHNbYV07aWYoaSlyZXR1cm4gZTt2YXIgcz1OU3Quc2lnbkFycmF5KG8pO3JldHVybiB2b2lkIDA9PT1ufHxuLmlzRGlmZmVyZW50KHMpPyhyJiZjb25zb2xlLndhcm4oImNhY2hlIG1pc3MhIGNvbXB1dGluZyIpLG49cyxlPXQuYXBwbHkodGhpcyxvKSk6ciYmY29uc29sZS53YXJuKCJjYWNoZSBoaXQhIiksZX07cmV0dXJuIG8uZG9Mb2NrZWQ9ZnVuY3Rpb24odCl7aWYoaSl0aHJvdyBuZXcgRXJyb3IoIkxvY2tpbmcgYW4gYWxyZWFkeSBsb2NrZWQgbWVtb2l6ZSBmdW5jdGlvbiEiKTtpPSEwO3ZhciBlPXQuYXBwbHkodGhpcyk7cmV0dXJuIGk9ITEsZX0sby5sb2dQZXJmb3JtYW5jZT1mdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9ITApLHI9dCx0aGlzfSxvfTt2YXIgUlN0PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShSU3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBPU3Q9Q2UuZXhwb3J0cyx6U3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3RoaXMubWFwPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5leGlzdHM9T2JqZWN0LmNyZWF0ZShudWxsKX1yZXR1cm4gdC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3JldHVybiBkZWxldGUgdGhpcy5tYXBbdF0sZGVsZXRlIHRoaXMuZXhpc3RzW3RdLCEwfSx0LnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubWFwW3RdfSx0LnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuISF0aGlzLmV4aXN0c1t0XX0sdC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMubWFwW3RdPWUsdGhpcy5leGlzdHNbdF09ITAsdGhpc30sdH0pKCksRFN0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLm1hcD1uZXcgelN0fXJldHVybiB0LnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubWFwLmdldCh0WzBdKS5nZXQodFsxXSl9LHQucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tYXAuaGFzKHRbMF0pJiZ0aGlzLm1hcC5nZXQodFswXSkuaGFzKHRbMV0pfSx0LnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5tYXAuaGFzKHRbMF0pfHx0aGlzLm1hcC5zZXQodFswXSxuZXcgelN0KSx0aGlzLm1hcC5nZXQodFswXSkuc2V0KHRbMV0sZSksdGhpc30sdC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm1hcC5oYXModFswXSkmJnRoaXMubWFwLmdldCh0WzBdKS5kZWxldGUodFsxXSksITB9LHQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5tYXA9bmV3IHpTdH0sdC5yZXNvbHZlcj1mdW5jdGlvbih0LGUsbil7cmV0dXJuW24udXBkYXRlSWQoKSxlXX0sdH0pKCk7ZnVuY3Rpb24gQlN0KHQpe3ZhciBlPU9TdC5tZW1vaXplKHQsRFN0LnJlc29sdmVyKTtyZXR1cm4gZS5jYWNoZT1uZXcgRFN0LGV9UlN0Lm1lbW9pemVQcm9qZWN0b3I9QlN0LFJTdC5tZW1vaXplUHJvamVjdG9ycz1mdW5jdGlvbiBIU3QodCl7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RbZV09QlN0KHRbZV0pfSkpLHR9O3ZhciBGU3Q9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICogQGZpbGVvdmVydmlldyBJbXBsZW1lbnRzIGEgY29udmVuaWVudCB0aHVuayBmdW5jdGlvbiB0byBoYW5kbGUgdGhlIGNvbW1vbiBjYXNlCiAgICAgKiBvZiBjcmVhdGluZyBhIG1lbW9pemVkIGZ1bmN0aW9uIHRoYXQgdGFrZXMgaXRzIGlucHV0cyBmcm9tIG11dGFibGUgY2xhc3MgcHJvcGVydGllcy4KICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShGU3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBWU3Q9Y1N0O0ZTdC5tZW1UaHVuaz1mdW5jdGlvbiBVU3QoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49dC5zbGljZSgwLC0xKSxpPXRbdC5sZW5ndGgtMV0scj1WU3QubWVtb2l6ZShpKSxvPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPW4ubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5hcHBseSh0KX0pKTtyZXR1cm4gci5hcHBseSh2b2lkIDAsZSl9O3JldHVybiBvfSwoZnVuY3Rpb24odCl7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZT1CTztlLl9fZXhwb3J0U3Rhcih1U3QsdCksZS5fX2V4cG9ydFN0YXIoUlN0LHQpLGUuX19leHBvcnRTdGFyKEZTdCx0KSx0LnNpZ249aFN0LnNpZ259KShjU3QpO3ZhciBqU3Q9e307IShmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPXdwdCxuPShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5fZHJhd1N0ZXA9ZX1yZXR1cm4gdC5wcm90b3R5cGUuZ2V0RHJhd1N0ZXA9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhd1N0ZXB9LHQucHJvdG90eXBlLmRyYXc9ZnVuY3Rpb24odCxlKXt2YXIgbj1lW2UubGVuZ3RoLTFdLmF0dHJUb0FwcGxpZWRQcm9qZWN0b3I7dGhpcy5fY29udGV4dC5zYXZlKCksdGhpcy5fZHJhd1N0ZXAodGhpcy5fY29udGV4dCx0LG4pLHRoaXMuX2NvbnRleHQucmVzdG9yZSgpfSx0LnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVzPWZ1bmN0aW9uKCl7cmV0dXJuW119LHQucHJvdG90eXBlLmdldFZpc3VhbFByaW1pdGl2ZUF0SW5kZXg9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGx9LHQucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe30sdH0pKCk7ZnVuY3Rpb24gaSh0LGUsbixpKXtmb3IodmFyIHI9e30sbz0wLGE9ZTtvPGEubGVuZ3RoO28rKyl7dmFyIHM9YVtvXTt0Lmhhc093blByb3BlcnR5KHMpJiYocltzXT10W3NdKG4saSkpfXJldHVybiByfWZ1bmN0aW9uIHIodCl7cmV0dXJuIG51bGwhPXRbInN0cm9rZS13aWR0aCJdP3BhcnNlRmxvYXQodFsic3Ryb2tlLXdpZHRoIl0pOjF9ZnVuY3Rpb24gbyh0KXt2YXIgZT10WyJzdHJva2UtZGFzaGFycmF5Il07aWYobnVsbCE9ZSl0cnl7cmV0dXJuIGUuc3BsaXQoL1sgLF0rLykubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gcGFyc2VJbnQodCwxMCl9KSl9Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoImdldFN0cm9rZURhc2hBcnJheSBmYWlsZWQgd2l0aDogIit0KSxbXX1yZXR1cm5bXX1mdW5jdGlvbiBhKHQsbil7aWYobi5zdHJva2Upe3QubGluZVdpZHRoPXIobik7dmFyIGk9ZS5jb2xvcihuLnN0cm9rZSksYT1vKG4pO3Quc2V0TGluZURhc2goYSksaS5vcGFjaXR5Kj0oZnVuY3Rpb24gcyh0KXt2YXIgZT1udWxsIT10Lm9wYWNpdHk/cGFyc2VGbG9hdCh0Lm9wYWNpdHkpOjE7cmV0dXJuKG51bGwhPXRbInN0cm9rZS1vcGFjaXR5Il0/cGFyc2VGbG9hdCh0WyJzdHJva2Utb3BhY2l0eSJdKToxKSplfSkobiksdC5zdHJva2VTdHlsZT1pLnRvU3RyaW5nKCksdC5zdHJva2UoKX1pZihuLmZpbGwpe3ZhciBsPWUuY29sb3Iobi5maWxsKTtsLm9wYWNpdHkqPShmdW5jdGlvbiBjKHQpe3ZhciBlPW51bGwhPXQub3BhY2l0eT9wYXJzZUZsb2F0KHQub3BhY2l0eSk6MTtyZXR1cm4obnVsbCE9dFsiZmlsbC1vcGFjaXR5Il0/cGFyc2VGbG9hdCh0WyJmaWxsLW9wYWNpdHkiXSk6MSkqZX0pKG4pLHQuZmlsbFN0eWxlPWwudG9TdHJpbmcoKSx0LmZpbGwoKX19dC5DYW52YXNEcmF3ZXI9bix0LkNvbnRleHRTdHlsZUF0dHJzPVsiZmlsbC1vcGFjaXR5IiwiZmlsbCIsIm9wYWNpdHkiLCJzdHJva2Utb3BhY2l0eSIsInN0cm9rZS13aWR0aCIsInN0cm9rZSIsInN0cm9rZS1kYXNoYXJyYXkiXSx0LnJlc29sdmVBdHRyaWJ1dGVzU3Vic2V0V2l0aFN0eWxlcz1mdW5jdGlvbiBzKGUsbixyLG8pe3JldHVybiBpKGUsdC5Db250ZXh0U3R5bGVBdHRycy5jb25jYXQobikscixvKX0sdC5yZXNvbHZlQXR0cmlidXRlcz1pLHQuZ2V0U3Ryb2tlV2lkdGg9cix0LmdldFN0cm9rZURhc2hBcnJheT1vLHQucmVuZGVyQXJlYT1mdW5jdGlvbiBsKHQsZSxuLGkpe3Quc2F2ZSgpLHQuYmVnaW5QYXRoKCksZS5jb250ZXh0KHQpLGUobiksdC5saW5lSm9pbj0icm91bmQiLGEodCxpKSx0LnJlc3RvcmUoKX0sdC5yZW5kZXJMaW5lPWZ1bmN0aW9uIGModCxlLG4saSl7dC5zYXZlKCksdC5iZWdpblBhdGgoKSxlLmNvbnRleHQodCksZShuKSx0LmxpbmVKb2luPSJyb3VuZCIsYSh0LGkpLHQucmVzdG9yZSgpfSx0LnJlbmRlclBhdGhXaXRoU3R5bGU9YX0pKGpTdCk7dmFyIEdTdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoR1N0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgV1N0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlKXt0aGlzLl9zdmdEcmF3ZXJGYWN0b3J5PXQsdGhpcy5fY2FudmFzRHJhd2VyRmFjdG9yeT1lfXJldHVybiB0LnByb3RvdHlwZS51c2VTVkc9ZnVuY3Rpb24odCl7bnVsbCE9dGhpcy5fY3VycmVudERyYXdlciYmdGhpcy5fY3VycmVudERyYXdlci5yZW1vdmUoKTt2YXIgZT10aGlzLl9zdmdEcmF3ZXJGYWN0b3J5KCk7ZS5hdHRhY2hUbyh0KSx0aGlzLl9jdXJyZW50RHJhd2VyPWV9LHQucHJvdG90eXBlLnVzZUNhbnZhcz1mdW5jdGlvbih0KXtudWxsIT10aGlzLl9jdXJyZW50RHJhd2VyJiZ0aGlzLl9jdXJyZW50RHJhd2VyLnJlbW92ZSgpLHRoaXMuX2N1cnJlbnREcmF3ZXI9dGhpcy5fY2FudmFzRHJhd2VyRmFjdG9yeSh0Lm5vZGUoKS5nZXRDb250ZXh0KCIyZCIpKX0sdC5wcm90b3R5cGUuZ2V0RHJhd2VyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnREcmF3ZXJ9LHQucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe251bGwhPXRoaXMuX2N1cnJlbnREcmF3ZXImJnRoaXMuX2N1cnJlbnREcmF3ZXIucmVtb3ZlKCl9LHQucHJvdG90eXBlLmRyYXc9ZnVuY3Rpb24odCxlKXt0aGlzLl9jdXJyZW50RHJhd2VyLmRyYXcodCxlKX0sdC5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jdXJyZW50RHJhd2VyLmdldFZpc3VhbFByaW1pdGl2ZXMoKX0sdC5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlQXRJbmRleD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fY3VycmVudERyYXdlci5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4KHQpfSx0fSkoKTtHU3QuUHJveHlEcmF3ZXI9V1N0O3ZhciBxU3Q9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KHFTdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFlTdD13cHQsWFN0PURfdCwkU3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe3RoaXMuX3Jvb3Q9WVN0LnNlbGVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpKSx0aGlzLl9jbGFzc05hbWU9ZSx0aGlzLl9zdmdFbGVtZW50TmFtZT10fXJldHVybiB0LnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpczt0aGlzLl9jcmVhdGVBbmREZXN0cm95RE9NRWxlbWVudHModCk7Zm9yKHZhciBpPTAscj1lLmxlbmd0aCxvPWZ1bmN0aW9uKHIpe3ZhciBvPWVbcl07WFN0LldpbmRvdy5zZXRUaW1lb3V0KChmdW5jdGlvbigpe3JldHVybiBuLl9kcmF3U3RlcChvKX0pLGkpLGkrPW8uYW5pbWF0b3IudG90YWxUaW1lKHQubGVuZ3RoKX0sYT0wO2E8cjthKyspbyhhKX0sdC5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlcz1mdW5jdGlvbigpe3JldHVybiBudWxsPT10aGlzLl9jYWNoZWRWaXN1YWxQcmltaXRpdmVzTm9kZXMmJih0aGlzLl9jYWNoZWRWaXN1YWxQcmltaXRpdmVzTm9kZXM9dGhpcy5fc2VsZWN0aW9uLm5vZGVzKCkpLHRoaXMuX2NhY2hlZFZpc3VhbFByaW1pdGl2ZXNOb2Rlc30sdC5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlQXRJbmRleD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dGhpcy5fY2FjaGVkVmlzdWFsUHJpbWl0aXZlc05vZGVNYXA/bnVsbDp0aGlzLl9jYWNoZWRWaXN1YWxQcmltaXRpdmVzTm9kZU1hcC5nZXQodCl9LHQucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3RoaXMuX3Jvb3QucmVtb3ZlKCl9LHQucHJvdG90eXBlLmF0dGFjaFRvPWZ1bmN0aW9uKHQpe3Qubm9kZSgpLmFwcGVuZENoaWxkKHRoaXMuX3Jvb3Qubm9kZSgpKX0sdC5wcm90b3R5cGUuZ2V0Um9vdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9yb290fSx0LnByb3RvdHlwZS5zZWxlY3Rvcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdmdFbGVtZW50TmFtZX0sdC5wcm90b3R5cGUuX2FwcGx5RGVmYXVsdEF0dHJpYnV0ZXM9ZnVuY3Rpb24odCl7fSx0LnByb3RvdHlwZS5fY3JlYXRlQW5kRGVzdHJveURPTUVsZW1lbnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQubWFwKChmdW5jdGlvbih0LGUpe3JldHVybiBudWxsIT10P3tkOnQsaTplfTpudWxsfSkpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXR9KSksbj10aGlzLl9yb290LnNlbGVjdEFsbCh0aGlzLnNlbGVjdG9yKCkpLmRhdGEoZSk7dGhpcy5fc2VsZWN0aW9uPW4uZW50ZXIoKS5hcHBlbmQodGhpcy5fc3ZnRWxlbWVudE5hbWUpLm1lcmdlKG4pLG4uZXhpdCgpLnJlbW92ZSgpO3ZhciBpPW5ldyBYU3QuTWFwO3RoaXMuX3NlbGVjdGlvbi5lYWNoKChmdW5jdGlvbih0KXtpLnNldCh0LmksdGhpcyl9KSksdGhpcy5fY2FjaGVkVmlzdWFsUHJpbWl0aXZlc05vZGVNYXA9aSx0aGlzLl9jYWNoZWRWaXN1YWxQcmltaXRpdmVzTm9kZXM9bnVsbCx0aGlzLl9zZWxlY3Rpb24uZGF0YSh0aGlzLl9zZWxlY3Rpb24uZGF0YSgpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuZH0pKSksbnVsbCE9dGhpcy5fY2xhc3NOYW1lJiZ0aGlzLl9zZWxlY3Rpb24uY2xhc3NlZCh0aGlzLl9jbGFzc05hbWUsITApLHRoaXMuX2FwcGx5RGVmYXVsdEF0dHJpYnV0ZXModGhpcy5fc2VsZWN0aW9uKX0sdC5wcm90b3R5cGUuX2RyYXdTdGVwPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7WyJmaWxsIiwic3Ryb2tlIl0uZm9yRWFjaCgoZnVuY3Rpb24obil7bnVsbCE9dC5hdHRyVG9BcHBsaWVkUHJvamVjdG9yW25dJiZlLl9zZWxlY3Rpb24uYXR0cihuLHQuYXR0clRvQXBwbGllZFByb2plY3RvcltuXSl9KSksdC5hbmltYXRvci5hbmltYXRlKHRoaXMuX3NlbGVjdGlvbix0LmF0dHJUb0FwcGxpZWRQcm9qZWN0b3IpLG51bGwhPXRoaXMuX2NsYXNzTmFtZSYmdGhpcy5fc2VsZWN0aW9uLmNsYXNzZWQodGhpcy5fY2xhc3NOYW1lLCEwKX0sdH0pKCk7cVN0LlNWR0RyYXdlcj0kU3Q7dmFyIEtTdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNy1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoS1N0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgWlN0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt2YXIgdD10aGlzO3RoaXMuc2NhbGU9MCx0aGlzLnRyYW5zbGF0ZT0wLHRoaXMuY2FjaGVkRG9tYWluPVtudWxsLG51bGxdLHRoaXMubGFzdFNlZW5Eb21haW49W251bGwsbnVsbF0sdGhpcy51cGRhdGVEb21haW49ZnVuY3Rpb24oZSl7dC5sYXN0U2VlbkRvbWFpbj1lLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluKCk7dmFyIG49ZS5zY2FsZVRyYW5zZm9ybWF0aW9uKHQuY2FjaGVkRG9tYWluWzFdKS1lLnNjYWxlVHJhbnNmb3JtYXRpb24odC5jYWNoZWREb21haW5bMF0pLGk9ZS5zY2FsZVRyYW5zZm9ybWF0aW9uKHQubGFzdFNlZW5Eb21haW5bMV0pLWUuc2NhbGVUcmFuc2Zvcm1hdGlvbih0Lmxhc3RTZWVuRG9tYWluWzBdKTt0LnNjYWxlPW4vaXx8MSx0LnRyYW5zbGF0ZT1lLnNjYWxlVHJhbnNmb3JtYXRpb24odC5jYWNoZWREb21haW5bMF0pLWUuc2NhbGVUcmFuc2Zvcm1hdGlvbih0Lmxhc3RTZWVuRG9tYWluWzBdKSp0LnNjYWxlfHwwfX1yZXR1cm4gdC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLnNjYWxlPTEsdGhpcy50cmFuc2xhdGU9MCx0aGlzLmNhY2hlZERvbWFpbj10aGlzLmxhc3RTZWVuRG9tYWlufSx0LnByb3RvdHlwZS5zZXREb21haW49ZnVuY3Rpb24odCl7dGhpcy5jYWNoZWREb21haW49dC5nZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbigpfSx0fSkoKSxKU3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4pe3ZhciBpPXRoaXM7dGhpcy5yZW5kZXJDYWxsYmFjaz1lLHRoaXMuYXBwbHlUcmFuc2Zvcm1DYWxsYmFjaz1uLHRoaXMuZG9tYWluVHJhbnNmb3JtWD1uZXcgWlN0LHRoaXMuZG9tYWluVHJhbnNmb3JtWT1uZXcgWlN0LHRoaXMucmVuZGVyRGVmZXJyZWQ9ZnVuY3Rpb24oKXtpLmFwcGx5VHJhbnNmb3JtKCksY2xlYXJUaW1lb3V0KGkudGltZW91dFRva2VuKSxpLnRpbWVvdXRUb2tlbj1zZXRUaW1lb3V0KChmdW5jdGlvbigpe2kucmVuZGVyQ2FsbGJhY2soKX0pLHQuREVGRVJSRURfUkVOREVSSU5HX0RFTEFZKX19cmV0dXJuIHQucHJvdG90eXBlLnNldERvbWFpbnM9ZnVuY3Rpb24odCxlKXt0JiZ0aGlzLmRvbWFpblRyYW5zZm9ybVguc2V0RG9tYWluKHQpLGUmJnRoaXMuZG9tYWluVHJhbnNmb3JtWS5zZXREb21haW4oZSksdGhpcy5yZW5kZXJEZWZlcnJlZCgpfSx0LnByb3RvdHlwZS51cGRhdGVEb21haW5zPWZ1bmN0aW9uKHQsZSl7dCYmdGhpcy5kb21haW5UcmFuc2Zvcm1YLnVwZGF0ZURvbWFpbih0KSxlJiZ0aGlzLmRvbWFpblRyYW5zZm9ybVkudXBkYXRlRG9tYWluKGUpLHRoaXMucmVuZGVyRGVmZXJyZWQoKX0sdC5wcm90b3R5cGUucmVzZXRUcmFuc2Zvcm1zPWZ1bmN0aW9uKCl7dGhpcy5kb21haW5UcmFuc2Zvcm1YLnJlc2V0KCksdGhpcy5kb21haW5UcmFuc2Zvcm1ZLnJlc2V0KCksdGhpcy5hcHBseVRyYW5zZm9ybSgpfSx0LnByb3RvdHlwZS5hcHBseVRyYW5zZm9ybT1mdW5jdGlvbigpe3RoaXMuYXBwbHlUcmFuc2Zvcm1DYWxsYmFjayh0aGlzLmRvbWFpblRyYW5zZm9ybVgudHJhbnNsYXRlLHRoaXMuZG9tYWluVHJhbnNmb3JtWS50cmFuc2xhdGUsdGhpcy5kb21haW5UcmFuc2Zvcm1YLnNjYWxlLHRoaXMuZG9tYWluVHJhbnNmb3JtWS5zY2FsZSl9LHQuREVGRVJSRURfUkVOREVSSU5HX0RFTEFZPTIwMCx0fSkoKTtLU3QuRGVmZXJyZWRSZW5kZXJlcj1KU3QsCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShzU3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBRU3Q9Qk8sdE10PXdwdCxlTXQ9Zmd0LG5NdD1EX3QsaU10PWxTdCxyTXQ9Y1N0LG9NdD1PX3QsYU10PWpTdCxzTXQ9R1N0LGxNdD1xU3QsY010PV9ndCx1TXQ9S1N0O3NTdC5SZW5kZXJlcj1iZ3QubWFrZUVudW0oWyJzdmciLCJjYW52YXMiXSk7dmFyIGhNdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBuPXQuY2FsbCh0aGlzKXx8dGhpcztuLl9kYXRhQ2hhbmdlZD0hMSxuLl9hdHRyRXh0ZW50cz17fSxuLl9hbmltYXRlPSExLG4uX2FuaW1hdG9ycz17fSxuLl9wcm9wZXJ0eUV4dGVudHM9e30sbi5fcmVzZXRFbnRpdHlTdG9yZT1mdW5jdGlvbigpe24uX2NhY2hlZEVudGl0eVN0b3JlPXZvaWQgMH0sbi5fb3ZlcmZsb3dIaWRkZW49ITAsbi5hZGRDbGFzcygicGxvdCIpLG4uX2RhdGFzZXRUb0RyYXdlcj1uZXcgbk10Lk1hcCxuLl9hdHRyQmluZGluZ3M9dE10Lm1hcCgpLG4uX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5faW5jbHVkZWRWYWx1ZXNGb3JTY2FsZSh0LGUpfSxuLl9yZW5kZXJDYWxsYmFjaz1mdW5jdGlvbigpe3JldHVybiBuLnJlbmRlcigpfSxuLl9vbkRhdGFzZXRVcGRhdGVDYWxsYmFjaz1mdW5jdGlvbigpe3JldHVybiBuLl9vbkRhdGFzZXRVcGRhdGUoKX0sbi5fcHJvcGVydHlCaW5kaW5ncz10TXQubWFwKCk7dmFyIGk9KG5ldyBlTXQuRWFzaW5nKS5tYXhUb3RhbER1cmF0aW9uKGUuX0FOSU1BVElPTl9NQVhfRFVSQVRJT04pO3JldHVybiBuLmFuaW1hdG9yKGlNdC5BbmltYXRvci5NQUlOLGkpLG4uYW5pbWF0b3IoaU10LkFuaW1hdG9yLlJFU0VULG5ldyBlTXQuTnVsbCksbi5fZGVmZXJyZWRSZXNldEVudGl0eVN0b3JlPW5NdC5XaW5kb3cuZGVib3VuY2UodU10LkRlZmVycmVkUmVuZGVyZXIuREVGRVJSRURfUkVOREVSSU5HX0RFTEFZLG4uX3Jlc2V0RW50aXR5U3RvcmUpLG59cmV0dXJuIFFTdC5fX2V4dGVuZHMoZSx0KSxlLmdldFRvdGFsRHJhd1RpbWU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5yZWR1Y2UoKGZ1bmN0aW9uKGUsbil7cmV0dXJuIGUrbi5hbmltYXRvci50b3RhbFRpbWUodC5sZW5ndGgpfSksMCl9LGUuYXBwbHlEcmF3U3RlcHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5tYXAoKGZ1bmN0aW9uKHQpe3ZhciBuPXQuYXR0clRvUHJvamVjdG9yLGk9e307cmV0dXJuIE9iamVjdC5rZXlzKG4pLmZvckVhY2goKGZ1bmN0aW9uKHQpe2lbdF09ZnVuY3Rpb24oaSxyKXtyZXR1cm4gblt0XShpLHIsZSl9fSkpLHthdHRyVG9BcHBsaWVkUHJvamVjdG9yOmksYW5pbWF0b3I6dC5hbmltYXRvcn19KSl9LGUucHJvdG90eXBlLmFuY2hvcj1mdW5jdGlvbihlKXtyZXR1cm4gZT1jTXQuY29lcmNlRXh0ZXJuYWxEMyhlKSx0LnByb3RvdHlwZS5hbmNob3IuY2FsbCh0aGlzLGUpLHRoaXMuX2RhdGFDaGFuZ2VkPSEwLHRoaXMuX3Jlc2V0RW50aXR5U3RvcmUoKSx0aGlzLl91cGRhdGVFeHRlbnRzKCksdGhpc30sZS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9pc1NldHVwfHwodC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyksbnVsbCE9dGhpcy5fY2FudmFzJiZ0aGlzLl9hcHBlbmRDYW52YXNOb2RlKCksdGhpcy5fcmVuZGVyQXJlYT10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJyZW5kZXItYXJlYSIsITApLHRoaXMuZGF0YXNldHMoKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0KHQpfSkpKX0sZS5wcm90b3R5cGUuX2FwcGVuZENhbnZhc05vZGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVsZW1lbnQoKS5zZWxlY3QoIi5wbG90LWNhbnZhcy1jb250YWluZXIiKTt0LmVtcHR5KCkmJih0PXRoaXMuZWxlbWVudCgpLmFwcGVuZCgiZGl2IikuY2xhc3NlZCgicGxvdC1jYW52YXMtY29udGFpbmVyIiwhMCkpLm5vZGUoKS5hcHBlbmRDaGlsZCh0aGlzLl9jYW52YXMubm9kZSgpKX0sZS5wcm90b3R5cGUuc2V0Qm91bmRzPWZ1bmN0aW9uKGUsbixpLHIpe2lmKHQucHJvdG90eXBlLnNldEJvdW5kcy5jYWxsKHRoaXMsZSxuLGksciksdGhpcy5fdXBkYXRlRXh0ZW50cygpLG51bGwhPXRoaXMuX2NhbnZhcyl7aWYodGhpcy5fYnVmZmVyQ2FudmFzJiYhdGhpcy5fYnVmZmVyQ2FudmFzVmFsaWQpe3RoaXMuX2J1ZmZlckNhbnZhcy5hdHRyKCJ3aWR0aCIsdGhpcy5fY2FudmFzLmF0dHIoIndpZHRoIikpLHRoaXMuX2J1ZmZlckNhbnZhcy5hdHRyKCJoZWlnaHQiLHRoaXMuX2NhbnZhcy5hdHRyKCJoZWlnaHQiKSk7dmFyIG89dGhpcy5fYnVmZmVyQ2FudmFzLm5vZGUoKS5nZXRDb250ZXh0KCIyZCIpO2lmKG8pe3ZhciBhPXRoaXMuX2NhbnZhcy5ub2RlKCk7YS53aWR0aD4wJiZhLmhlaWdodD4wP28uY2FudmFzLndpZHRoPjAmJm8uY2FudmFzLmhlaWdodD4wJiZvLmRyYXdJbWFnZShhLDAsMCk6Y29uc29sZS53YXJuKCJGYWlsZWQgdG8gZmlsbCBidWZmZXIgY2FudmFzIHdpdGggd2l0aCAweDAgY2FudmFzIil9dGhpcy5fYnVmZmVyQ2FudmFzVmFsaWQ9ITB9dmFyIHM9bnVsbCE9d2luZG93LmRldmljZVBpeGVsUmF0aW8/d2luZG93LmRldmljZVBpeGVsUmF0aW86MTt0aGlzLl9jYW52YXMuYXR0cigid2lkdGgiLGUqcyksdGhpcy5fY2FudmFzLmF0dHIoImhlaWdodCIsbipzKTt2YXIgbD10aGlzLl9jYW52YXMubm9kZSgpLmdldENvbnRleHQoIjJkIik7aWYobCYmKGwuc2V0VHJhbnNmb3JtKHMsMCwwLHMsMCwwKSx0aGlzLl9idWZmZXJDYW52YXMpKXt2YXIgYz10aGlzLl9idWZmZXJDYW52YXMubm9kZSgpO2Mud2lkdGg+MCYmYy5oZWlnaHQ+MD9sLmNhbnZhcy53aWR0aD4wJiZsLmNhbnZhcy5oZWlnaHQ+MCYmbC5kcmF3SW1hZ2UoYywwLDAsZSxuKTpjb25zb2xlLndhcm4oIkZhaWxlZCB0byBmaWxsIGNhbnZhcyB3aXRoIDB4MCBidWZmZXIgY2FudmFzIil9fXJldHVybiB0aGlzfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksdGhpcy5fc2NhbGVzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQub2ZmVXBkYXRlKGUuX3JlbmRlckNhbGxiYWNrKX0pKSx0aGlzLmRhdGFzZXRzKFtdKX0sZS5wcm90b3R5cGUuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9kYXRhc2V0VG9EcmF3ZXIuZ2V0KHQpO3JldHVybiJzdmciPT09dGhpcy5yZW5kZXJlcigpP2UudXNlU1ZHKHRoaXMuX3JlbmRlckFyZWEpOmUudXNlQ2FudmFzKHRoaXMuX2NhbnZhcyksZX0sZS5wcm90b3R5cGUuX2NyZWF0ZURyYXdlcj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHNNdC5Qcm94eURyYXdlcigoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGxNdC5TVkdEcmF3ZXIoInBhdGgiLCIiKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGFNdC5DYW52YXNEcmF3ZXIodCwoZnVuY3Rpb24oKXt9KSl9KSl9LGUucHJvdG90eXBlLl9nZXRBbmltYXRvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYW5pbWF0ZU9uTmV4dFJlbmRlcigpJiZ0aGlzLl9hbmltYXRvcnNbdF18fG5ldyBlTXQuTnVsbH0sZS5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUV4dGVudHMoKSx0aGlzLl9kYXRhQ2hhbmdlZD0hMCx0aGlzLl9yZXNldEVudGl0eVN0b3JlKCksdGhpcy5yZW5kZXJMb3dQcmlvcml0eSgpfSxlLnByb3RvdHlwZS5hdHRyPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbnVsbD09ZT90aGlzLl9hdHRyQmluZGluZ3MuZ2V0KHQpOih0aGlzLl9iaW5kQXR0cih0LGUsbiksdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUuX2JpbmRQcm9wZXJ0eT1mdW5jdGlvbih0LGUsbixpKXt2YXIgcj10aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldCh0KSxvPW51bGwhPXI/ci5zY2FsZTpudWxsO3RoaXMuX3Byb3BlcnR5QmluZGluZ3Muc2V0KHQse2FjY2Vzc29yOiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6ZnVuY3Rpb24oKXtyZXR1cm4gZX0sc2NhbGU6bixwb3N0U2NhbGU6aX0pLG51bGwhPW8mJnRoaXMuX3VuaW5zdGFsbFNjYWxlRm9yS2V5KG8sdCksbnVsbCE9biYmdGhpcy5faW5zdGFsbFNjYWxlRm9yS2V5KG4sdCksdGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpfSxlLnByb3RvdHlwZS5fYmluZEF0dHI9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPXRoaXMuX2F0dHJCaW5kaW5ncy5nZXQodCkscj1udWxsIT1pP2kuc2NhbGU6bnVsbDt0aGlzLl9hdHRyQmluZGluZ3Muc2V0KHQse2FjY2Vzc29yOiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6ZnVuY3Rpb24oKXtyZXR1cm4gZX0sc2NhbGU6bn0pLG51bGwhPXImJnRoaXMuX3VuaW5zdGFsbFNjYWxlRm9yS2V5KHIsdCksbnVsbCE9biYmdGhpcy5faW5zdGFsbFNjYWxlRm9yS2V5KG4sdCksdGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpfSxlLnByb3RvdHlwZS5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZT1mdW5jdGlvbigpe2RlbGV0ZSB0aGlzLl9jYWNoZWRBdHRyVG9Qcm9qZWN0b3J9LGUucHJvdG90eXBlLl9nZXRBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXtpZihudWxsPT10aGlzLl9jYWNoZWRBdHRyVG9Qcm9qZWN0b3Ipe3ZhciB0PXRoaXMuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yKCk7ZS5PUFRJTUlaRV9NRU1PSVpFX1BST0pFQ1RPUlMmJih0PXJNdC5tZW1vaXplUHJvamVjdG9ycyh0KSksdGhpcy5fY2FjaGVkQXR0clRvUHJvamVjdG9yPXR9cmV0dXJuIG5NdC5hc3NpZ24oe30sdGhpcy5fY2FjaGVkQXR0clRvUHJvamVjdG9yKX0sZS5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yPWZ1bmN0aW9uKCl7dmFyIHQ9e307dGhpcy5fYXR0ckJpbmRpbmdzLmVhY2goKGZ1bmN0aW9uKG4saSl7dFtpXT1lLl9zY2FsZWRBY2Nlc3NvcihuKX0pKTt2YXIgbj10aGlzLl9wcm9wZXJ0eVByb2plY3RvcnMoKTtyZXR1cm4gT2JqZWN0LmtleXMobikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7bnVsbD09dFtlXSYmKHRbZV09bltlXSl9KSksdH0sZS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtyZXR1cm4gdC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKSx0aGlzLl9pc0FuY2hvcmVkJiYodGhpcy5fcGFpbnQoKSx0aGlzLl9kYXRhQ2hhbmdlZD0hMSksdGhpc30sZS5wcm90b3R5cGUucmVuZGVyTG93UHJpb3JpdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVuZGVyQ2FsbGJhY2soKSx0aGlzfSxlLnByb3RvdHlwZS5hbmltYXRlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9hbmltYXRlOih0aGlzLl9hbmltYXRlPXQsdGhpcyl9LGUucHJvdG90eXBlLmRldGFjaD1mdW5jdGlvbigpe3JldHVybiB0LnByb3RvdHlwZS5kZXRhY2guY2FsbCh0aGlzKSx0aGlzLl91cGRhdGVFeHRlbnRzKCksdGhpc30sZS5wcm90b3R5cGUuX3NjYWxlcz1mdW5jdGlvbigpe3ZhciB0PVtdO3JldHVybiB0aGlzLl9hdHRyQmluZGluZ3MuZWFjaCgoZnVuY3Rpb24oZSxuKXt2YXIgaT1lLnNjYWxlO251bGwhPWkmJi0xPT09dC5pbmRleE9mKGkpJiZ0LnB1c2goaSl9KSksdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5lYWNoKChmdW5jdGlvbihlLG4pe3ZhciBpPWUuc2NhbGU7bnVsbCE9aSYmLTE9PT10LmluZGV4T2YoaSkmJnQucHVzaChpKX0pKSx0fSxlLnByb3RvdHlwZS5fdXBkYXRlRXh0ZW50cz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fcmVzZXRFbnRpdHlTdG9yZSgpLHRoaXMuX3NjYWxlcygpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlLmFkZEluY2x1ZGVkVmFsdWVzUHJvdmlkZXIodC5faW5jbHVkZWRWYWx1ZXNQcm92aWRlcil9KSl9LGUucHJvdG90eXBlLl9maWx0ZXJGb3JQcm9wZXJ0eT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbH0sZS5wcm90b3R5cGUuZ2V0RXh0ZW50c0ZvckF0dHI9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZihudWxsPT10aGlzLl9hdHRyRXh0ZW50c1t0XSl7dmFyIG49ck10Lm1lbVRodW5rKChmdW5jdGlvbigpe3JldHVybiBlLmRhdGFzZXRzKCl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZS5fYXR0ckJpbmRpbmdzLmdldCh0KX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT1lfHxudWxsPT1lLmFjY2Vzc29yP251bGw6dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBkTXQodCxlLG51bGwpfSkpfSkpO3RoaXMuX2F0dHJFeHRlbnRzW3RdPW59cmV0dXJuIHRoaXMuX2F0dHJFeHRlbnRzW3RdKCl9LGUucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKG51bGw9PXRoaXMuX3Byb3BlcnR5RXh0ZW50c1t0XSl7dmFyIG49ck10Lm1lbVRodW5rKChmdW5jdGlvbigpe3JldHVybiBlLmRhdGFzZXRzKCl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZS5fcHJvcGVydHlCaW5kaW5ncy5nZXQodCl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZS5fZmlsdGVyRm9yUHJvcGVydHkodCl9KSwoZnVuY3Rpb24odCxlLG4pe3JldHVybiBudWxsPT1lfHxudWxsPT1lLmFjY2Vzc29yP251bGw6dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBkTXQodCxlLG4pfSkpfSkpO3RoaXMuX3Byb3BlcnR5RXh0ZW50c1t0XT1ufXJldHVybiB0aGlzLl9wcm9wZXJ0eUV4dGVudHNbdF0oKX0sZS5wcm90b3R5cGUuX2luY2x1ZGVkVmFsdWVzRm9yU2NhbGU9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2lmKCF0aGlzLl9pc0FuY2hvcmVkJiYhZSlyZXR1cm5bXTt2YXIgaT1bXTtyZXR1cm4gdGhpcy5fYXR0ckJpbmRpbmdzLmVhY2goKGZ1bmN0aW9uKGUscil7aWYoZS5zY2FsZT09PXQpe3ZhciBvPW4uZ2V0RXh0ZW50c0ZvckF0dHIocik7bnVsbCE9byYmKGk9aS5jb25jYXQodE10Lm1lcmdlKG8pKSl9fSkpLHRoaXMuX3Byb3BlcnR5QmluZGluZ3MuZWFjaCgoZnVuY3Rpb24oZSxyKXtpZihlLnNjYWxlPT09dCl7dmFyIG89bi5nZXRFeHRlbnRzRm9yUHJvcGVydHkocik7bnVsbCE9byYmKGk9aS5jb25jYXQodE10Lm1lcmdlKG8pKSl9fSkpLGl9LGUucHJvdG90eXBlLmFuaW1hdG9yPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWU/dGhpcy5fYW5pbWF0b3JzW3RdOih0aGlzLl9hbmltYXRvcnNbdF09ZSx0aGlzKX0sZS5wcm90b3R5cGUucmVuZGVyZXI9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gdm9pZCAwPT09dD9udWxsPT10aGlzLl9jYW52YXM/InN2ZyI6ImNhbnZhcyI6KG51bGw9PXRoaXMuX2NhbnZhcyYmImNhbnZhcyI9PT10Pyh0aGlzLl9jYW52YXM9dE10LnNlbGVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSkuY2xhc3NlZCgicGxvdC1jYW52YXMiLCEwKSx0aGlzLl9idWZmZXJDYW52YXM9dE10LnNlbGVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSksbnVsbCE9dGhpcy5lbGVtZW50KCkmJnRoaXMuX2FwcGVuZENhbnZhc05vZGUoKSx0aGlzLl9kYXRhc2V0VG9EcmF3ZXIuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC51c2VDYW52YXMoZS5fY2FudmFzKX0pKSx0aGlzLnJlbmRlcigpKTpudWxsIT10aGlzLl9jYW52YXMmJiJzdmciPT10JiYodGhpcy5fY2FudmFzLnJlbW92ZSgpLHRoaXMuX2NhbnZhcz1udWxsLHRoaXMuX2J1ZmZlckNhbnZhcz1udWxsLHRoaXMuX2RhdGFzZXRUb0RyYXdlci5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnVzZVNWRyhlLl9yZW5kZXJBcmVhKX0pKSx0aGlzLnJlbmRlcigpKSx0aGlzKX0sZS5wcm90b3R5cGUuYWRkRGF0YXNldD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkRGF0YXNldCh0KSx0aGlzLl9vbkRhdGFzZXRVcGRhdGUoKSx0aGlzfSxlLnByb3RvdHlwZS5fYWRkRGF0YXNldD1mdW5jdGlvbih0KXt0aGlzLl9yZW1vdmVEYXRhc2V0KHQpO3ZhciBlPXRoaXMuX2NyZWF0ZURyYXdlcih0KTtyZXR1cm4gdGhpcy5fZGF0YXNldFRvRHJhd2VyLnNldCh0LGUpLHRoaXMuX2lzU2V0dXAmJnRoaXMuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldCh0KSx0Lm9uVXBkYXRlKHRoaXMuX29uRGF0YXNldFVwZGF0ZUNhbGxiYWNrKSx0aGlzfSxlLnByb3RvdHlwZS5yZW1vdmVEYXRhc2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yZW1vdmVEYXRhc2V0KHQpLHRoaXMuX29uRGF0YXNldFVwZGF0ZSgpLHRoaXN9LGUucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0PWZ1bmN0aW9uKHQpe3JldHVybi0xPT09dGhpcy5kYXRhc2V0cygpLmluZGV4T2YodCl8fCh0aGlzLl9yZW1vdmVEYXRhc2V0Tm9kZXModCksdC5vZmZVcGRhdGUodGhpcy5fb25EYXRhc2V0VXBkYXRlQ2FsbGJhY2spLHRoaXMuX2RhdGFzZXRUb0RyYXdlci5kZWxldGUodCkpLHRoaXN9LGUucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0Tm9kZXM9ZnVuY3Rpb24odCl7dGhpcy5fZGF0YXNldFRvRHJhd2VyLmdldCh0KS5yZW1vdmUoKX0sZS5wcm90b3R5cGUuZGF0YXNldHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPVtdO3JldHVybiB0aGlzLl9kYXRhc2V0VG9EcmF3ZXIuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5wdXNoKGUpfSkpLG51bGw9PXQ/bjoobi5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fcmVtb3ZlRGF0YXNldCh0KX0pKSx0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9hZGREYXRhc2V0KHQpfSkpLHRoaXMuX29uRGF0YXNldFVwZGF0ZSgpLHRoaXMpfSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVEcmF3U3RlcHM9ZnVuY3Rpb24oKXtyZXR1cm5be2F0dHJUb1Byb2plY3Rvcjp0aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxhbmltYXRvcjpuZXcgZU10Lk51bGx9XX0sZS5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbih0KXt9LGUucHJvdG90eXBlLl9idWlsZExpZ2h0d2VpZ2h0UGxvdEVudGl0aWVzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0LGkpe2Zvcih2YXIgcj1lLl9kYXRhc2V0VG9EcmF3ZXIuZ2V0KHQpLG89MCxhPXQuZGF0YSgpLHM9YS5sZW5ndGgsbD1mdW5jdGlvbihzKXt2YXIgbD1hW3NdLGM9ZS5fcGl4ZWxQb2ludChsLHMsdCk7aWYobk10Lk1hdGguaXNOYU4oYy54KXx8bk10Lk1hdGguaXNOYU4oYy55KSlyZXR1cm4iY29udGludWUiO3ZhciB1PWU7bi5wdXNoKHtkYXR1bTpsLGdldCBwb3NpdGlvbigpe3JldHVybiB1Ll9waXhlbFBvaW50LmNhbGwodSxsLHMsdCl9LGluZGV4OnMsZGF0YXNldDp0LGRhdGFzZXRJbmRleDppLGNvbXBvbmVudDplLGRyYXdlcjpyLHZhbGlkRGF0dW1JbmRleDpvfSksbysrfSxjPTA7YzxzO2MrKylsKGMpfSkpLG59LGUucHJvdG90eXBlLl9nZXREYXRhVG9EcmF3PWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IG5NdC5NYXA7cmV0dXJuIHRoaXMuZGF0YXNldHMoKS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gdC5zZXQoZSxlLmRhdGEoKSl9KSksdH0sZS5wcm90b3R5cGUuX3BhaW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztkZWxldGUgdGhpcy5fY2FjaGVkQXR0clRvUHJvamVjdG9yO3ZhciBuPXRoaXMuX2dlbmVyYXRlRHJhd1N0ZXBzKCksaT10aGlzLl9nZXREYXRhVG9EcmF3KCkscj10aGlzLmRhdGFzZXRzKCkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fZGF0YXNldFRvRHJhd2VyLmdldChlKX0pKTtpZigiY2FudmFzIj09PXRoaXMucmVuZGVyZXIoKSl7dmFyIG89dGhpcy5fY2FudmFzLm5vZGUoKTtvLmdldENvbnRleHQoIjJkIikuY2xlYXJSZWN0KDAsMCxvLmNsaWVudFdpZHRoLG8uY2xpZW50SGVpZ2h0KSx0aGlzLl9idWZmZXJDYW52YXNWYWxpZD0hMX10aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCxvKXt2YXIgYT1lLmFwcGx5RHJhd1N0ZXBzKG4sdCk7cltvXS5kcmF3KGkuZ2V0KHQpLGEpfSkpO3ZhciBhPXRoaXMuZGF0YXNldHMoKS5tYXAoKGZ1bmN0aW9uKHQscil7cmV0dXJuIGUuZ2V0VG90YWxEcmF3VGltZShpLmdldCh0KSxuKX0pKSxzPW5NdC5NYXRoLm1heChhLDApO3RoaXMuX2FkZGl0aW9uYWxQYWludChzKX0sZS5wcm90b3R5cGUuc2VsZWN0aW9ucz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKHZvaWQgMD09PXQmJih0PXRoaXMuZGF0YXNldHMoKSksImNhbnZhcyI9PT10aGlzLnJlbmRlcmVyKCkpcmV0dXJuIHRNdC5zZWxlY3RBbGwoKTt2YXIgbj1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgaT1lLl9kYXRhc2V0VG9EcmF3ZXIuZ2V0KHQpO2lmKG51bGwhPWkpe3ZhciByPWkuZ2V0VmlzdWFsUHJpbWl0aXZlcygpO24ucHVzaC5hcHBseShuLHIpfX0pKSx0TXQuc2VsZWN0QWxsKG4pfSxlLnByb3RvdHlwZS5lbnRpdGllcz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiB0aGlzLl9nZXRFbnRpdHlTdG9yZSh0KS5lbnRpdGllcygpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eSh0KX0pKX0sZS5wcm90b3R5cGUuZmlsdGVyRW50aXRpZXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5fZ2V0RW50aXR5U3RvcmUoKS5lbnRpdGllcygpLmZpbHRlcih0KS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9saWdodHdlaWdodFBsb3RFbnRpdHlUb1Bsb3RFbnRpdHkodCl9KSl9LGUucHJvdG90eXBlLl9nZXRFbnRpdHlTdG9yZT1mdW5jdGlvbih0KXt2YXIgZSxuPXRoaXMsaT1mdW5jdGlvbih0KXtyZXR1cm4gbi5fZW50aXR5Qm91bmRzKHQpfTtyZXR1cm4gdm9pZCAwIT09dD8oKGU9bmV3IG5NdC5FbnRpdHlTdG9yZSkuYWRkQWxsKHRoaXMuX2J1aWxkTGlnaHR3ZWlnaHRQbG90RW50aXRpZXModCksaSx0aGlzLl9sb2NhbE9yaWdpbkJvdW5kcygpKSxlKToodm9pZCAwPT09dGhpcy5fY2FjaGVkRW50aXR5U3RvcmUmJigoZT1uZXcgbk10LkVudGl0eVN0b3JlKS5hZGRBbGwodGhpcy5fYnVpbGRMaWdodHdlaWdodFBsb3RFbnRpdGllcyh0aGlzLmRhdGFzZXRzKCkpLGksdGhpcy5fbG9jYWxPcmlnaW5Cb3VuZHMoKSksdGhpcy5fY2FjaGVkRW50aXR5U3RvcmU9ZSksdGhpcy5fY2FjaGVkRW50aXR5U3RvcmUpfSxlLnByb3RvdHlwZS5fbG9jYWxPcmlnaW5Cb3VuZHM9ZnVuY3Rpb24oKXtyZXR1cm57dG9wTGVmdDp7eDowLHk6MH0sYm90dG9tUmlnaHQ6e3g6dGhpcy53aWR0aCgpLHk6dGhpcy5oZWlnaHQoKX19fSxlLnByb3RvdHlwZS5fZW50aXR5Qm91bmRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3BpeGVsUG9pbnQodC5kYXR1bSx0LmluZGV4LHQuZGF0YXNldCk7cmV0dXJue3g6ZS54LHk6ZS55LHdpZHRoOjAsaGVpZ2h0OjB9fSxlLnByb3RvdHlwZS5fbGlnaHR3ZWlnaHRQbG90RW50aXR5VG9QbG90RW50aXR5PWZ1bmN0aW9uKHQpe3JldHVybntib3VuZHM6dGhpcy5fZW50aXR5Qm91bmRzKHQpLGNvbXBvbmVudDp0LmNvbXBvbmVudCxkYXRhc2V0OnQuZGF0YXNldCxkYXRhc2V0SW5kZXg6dC5kYXRhc2V0SW5kZXgsZGF0dW06dC5kYXR1bSxpbmRleDp0LmluZGV4LHBvc2l0aW9uOnQucG9zaXRpb24sc2VsZWN0aW9uOnRNdC5zZWxlY3QodC5kcmF3ZXIuZ2V0VmlzdWFsUHJpbWl0aXZlQXRJbmRleCh0LnZhbGlkRGF0dW1JbmRleCkpfX0sZS5wcm90b3R5cGUuZW50aXRpZXNBdD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoInBsb3RzIG11c3QgaW1wbGVtZW50IGVudGl0aWVzQXQiKX0sZS5wcm90b3R5cGUuZW50aXR5TmVhcmVzdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0eU5lYXJlc3QodCk7cmV0dXJuIHZvaWQgMD09PWU/dm9pZCAwOnRoaXMuX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eShlKX0sZS5wcm90b3R5cGUuZW50aXRpZXNJbj1mdW5jdGlvbih0LGUpe3ZhciBuO2lmKG51bGw9PWUpe249e3g6dC50b3BMZWZ0LngseTp0LnRvcExlZnQueSx3aWR0aDp0LmJvdHRvbVJpZ2h0LngtdC50b3BMZWZ0LngsaGVpZ2h0OnQuYm90dG9tUmlnaHQueS10LnRvcExlZnQueX19ZWxzZXtuPXt4OnQubWluLHk6ZS5taW4sd2lkdGg6dC5tYXgtdC5taW4saGVpZ2h0OmUubWF4LWUubWlufX1yZXR1cm4gdGhpcy5lbnRpdGllc0luQm91bmRzKG4pfSxlLnByb3RvdHlwZS5lbnRpdGllc0luQm91bmRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0aWVzSW5Cb3VuZHModCk7aWYobilyZXR1cm4gbi5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9saWdodHdlaWdodFBsb3RFbnRpdHlUb1Bsb3RFbnRpdHkodCl9KSl9LGUucHJvdG90eXBlLmVudGl0aWVzSW5YQm91bmRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0aWVzSW5YQm91bmRzKHQpO2lmKG4pcmV0dXJuIG4ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fbGlnaHR3ZWlnaHRQbG90RW50aXR5VG9QbG90RW50aXR5KHQpfSkpfSxlLnByb3RvdHlwZS5lbnRpdGllc0luWUJvdW5kcz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49dGhpcy5fZ2V0RW50aXR5U3RvcmUoKS5lbnRpdGllc0luWUJvdW5kcyh0KTtpZihuKXJldHVybiBuLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eSh0KX0pKX0sZS5wcm90b3R5cGUuX3VuaW5zdGFsbFNjYWxlRm9yS2V5PWZ1bmN0aW9uKHQsZSl7dC5vZmZVcGRhdGUodGhpcy5fcmVuZGVyQ2FsbGJhY2spLHQub2ZmVXBkYXRlKHRoaXMuX2RlZmVycmVkUmVzZXRFbnRpdHlTdG9yZSksdC5yZW1vdmVJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKHRoaXMuX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXIpfSxlLnByb3RvdHlwZS5faW5zdGFsbFNjYWxlRm9yS2V5PWZ1bmN0aW9uKHQsZSl7dC5vblVwZGF0ZSh0aGlzLl9yZW5kZXJDYWxsYmFjayksdC5vblVwZGF0ZSh0aGlzLl9kZWZlcnJlZFJlc2V0RW50aXR5U3RvcmUpLHQuYWRkSW5jbHVkZWRWYWx1ZXNQcm92aWRlcih0aGlzLl9pbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKX0sZS5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycz1mdW5jdGlvbigpe3JldHVybnt9fSxlLl9zY2FsZWRBY2Nlc3Nvcj1mdW5jdGlvbih0KXt2YXIgZT10LnNjYWxlLG49dC5hY2Nlc3NvcixpPXQucG9zdFNjYWxlLHI9bnVsbD09ZT9uOmZ1bmN0aW9uKHQsaSxyKXtyZXR1cm4gZS5zY2FsZShuKHQsaSxyKSl9O3JldHVybiBudWxsPT1pP3I6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBpKHIodCxlLG4pLHQsZSxuKX19LGUucHJvdG90eXBlLl9waXhlbFBvaW50PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm57eDowLHk6MH19LGUucHJvdG90eXBlLl9hbmltYXRlT25OZXh0UmVuZGVyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FuaW1hdGUmJnRoaXMuX2RhdGFDaGFuZ2VkfSxlLk9QVElNSVpFX01FTU9JWkVfUFJPSkVDVE9SUz0hMSxlLl9BTklNQVRJT05fTUFYX0RVUkFUSU9OPTYwMCxlfSkob010LkNvbXBvbmVudCk7ZnVuY3Rpb24gZE10KHQsZSxuKXt2YXIgaT1lLmFjY2Vzc29yLHI9ZS5zY2FsZTtpZihudWxsPT1yKXJldHVybltdO3ZhciBvPXQuZGF0YSgpO251bGwhPW4mJihvPW8uZmlsdGVyKChmdW5jdGlvbihlLGkpe3JldHVybiBuKGUsaSx0KX0pKSk7dmFyIGE9by5tYXAoKGZ1bmN0aW9uKGUsbil7cmV0dXJuIGkoZSxuLHQpfSkpO3JldHVybiByLmV4dGVudE9mVmFsdWVzKGEpfQovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL3NTdC5QbG90PWhNdCxPYmplY3QuZGVmaW5lUHJvcGVydHkoYVN0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcE10PUJPLGZNdD1zU3QsbU10PURfdCxnTXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBwTXQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuZW50aXR5TmVhcmVzdD1mdW5jdGlvbih0KXt2YXIgZSxuPTEvMDtyZXR1cm4gdGhpcy5jb21wb25lbnRzKCkuZm9yRWFjaCgoZnVuY3Rpb24oaSl7dmFyIHI9aS5lbnRpdHlOZWFyZXN0KHQpO2lmKG51bGwhPXIpe3ZhciBvPW1NdC5NYXRoLmRpc3RhbmNlU3F1YXJlZChyLnBvc2l0aW9uLHQpO288PW4mJihuPW8sZT1yKX19KSksZX0sZS5wcm90b3R5cGUuYXBwZW5kPWZ1bmN0aW9uKGUpe2lmKG51bGwhPWUmJiEoZSBpbnN0YW5jZW9mIGZNdC5QbG90KSl0aHJvdyBuZXcgRXJyb3IoIlBsb3QgR3JvdXAgb25seSBhY2NlcHRzIHBsb3RzIik7cmV0dXJuIHQucHJvdG90eXBlLmFwcGVuZC5jYWxsKHRoaXMsZSksdGhpc30sZX0pKF93dC5Hcm91cCk7YVN0LlBsb3RHcm91cD1nTXQ7dmFyIF9NdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoX010LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgeU10PUJPLHZNdD13cHQsYk10PURfdCx4TXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dm9pZCAwPT09ZSYmKGU9W10pO3ZhciBuPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gbi5fcm93UGFkZGluZz0wLG4uX2NvbHVtblBhZGRpbmc9MCxuLl9yb3dzPVtdLG4uX3Jvd1dlaWdodHM9W10sbi5fY29sdW1uV2VpZ2h0cz1bXSxuLl9uUm93cz0wLG4uX25Db2xzPTAsbi5fY2FsY3VsYXRlZExheW91dD1udWxsLG4uYWRkQ2xhc3MoInRhYmxlIiksZS5mb3JFYWNoKChmdW5jdGlvbih0LGUpe3QuZm9yRWFjaCgoZnVuY3Rpb24odCxpKXtudWxsIT10JiZuLmFkZCh0LGUsaSl9KSl9KSksbn1yZXR1cm4geU10Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9mb3JFYWNoPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dGhpcy5fblJvd3M7ZSsrKWZvcih2YXIgbj0wO248dGhpcy5fbkNvbHM7bisrKW51bGwhPXRoaXMuX3Jvd3NbZV1bbl0mJnQodGhpcy5fcm93c1tlXVtuXSl9LGUucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPHRoaXMuX25Sb3dzO2UrKylmb3IodmFyIG49MDtuPHRoaXMuX25Db2xzO24rKylpZih0aGlzLl9yb3dzW2VdW25dPT09dClyZXR1cm4hMDtyZXR1cm4hMX0sZS5wcm90b3R5cGUuY29tcG9uZW50QXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdDwwfHx0Pj10aGlzLl9uUm93c3x8ZTwwfHxlPj10aGlzLl9uQ29scz9udWxsOnRoaXMuX3Jvd3NbdF1bZV19LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0LGUsbil7aWYobnVsbD09dCl0aHJvdyBFcnJvcigiQ2Fubm90IGFkZCBudWxsIHRvIGEgdGFibGUgY2VsbCIpO2lmKCF0aGlzLmhhcyh0KSl7aWYobnVsbCE9KHRoaXMuX3Jvd3NbZV0mJnRoaXMuX3Jvd3NbZV1bbl0pKXRocm93IG5ldyBFcnJvcigiY2VsbCBpcyBvY2N1cGllZCIpO3QuZGV0YWNoKCksdGhpcy5fblJvd3M9TWF0aC5tYXgoZSsxLHRoaXMuX25Sb3dzKSx0aGlzLl9uQ29scz1NYXRoLm1heChuKzEsdGhpcy5fbkNvbHMpLHRoaXMuX3BhZFRhYmxlVG9TaXplKHRoaXMuX25Sb3dzLHRoaXMuX25Db2xzKSx0aGlzLl9yb3dzW2VdW25dPXQsdGhpcy5fYWRvcHRBbmRBbmNob3IodCksdGhpcy5yZWRyYXcoKX1yZXR1cm4gdGhpc30sZS5wcm90b3R5cGUuX3JlbW92ZT1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPHRoaXMuX25Sb3dzO2UrKylmb3IodmFyIG49MDtuPHRoaXMuX25Db2xzO24rKylpZih0aGlzLl9yb3dzW2VdW25dPT09dClyZXR1cm4gdGhpcy5fcm93c1tlXVtuXT1udWxsLCEwO3JldHVybiExfSxlLnByb3RvdHlwZS5faXRlcmF0ZUxheW91dD1mdW5jdGlvbih0LG4saSl7dm9pZCAwPT09aSYmKGk9ITEpO2Zvcih2YXIgcixvLGEscyxsLGM9dGhpcy5fcm93cyx1PXZNdC50cmFuc3Bvc2UodGhpcy5fcm93cyksaD10LXRoaXMuX2NvbHVtblBhZGRpbmcqKHRoaXMuX25Db2xzLTEpLGQ9bi10aGlzLl9yb3dQYWRkaW5nKih0aGlzLl9uUm93cy0xKSxwPWUuX2NhbGNDb21wb25lbnRXZWlnaHRzKHRoaXMuX3Jvd1dlaWdodHMsYywoZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR8fHQuZml4ZWRIZWlnaHQoKX0pKSxmPWUuX2NhbGNDb21wb25lbnRXZWlnaHRzKHRoaXMuX2NvbHVtbldlaWdodHMsdSwoZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR8fHQuZml4ZWRXaWR0aCgpfSkpLG09Zi5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiAwPT09dD8uNTp0fSkpLGc9cC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiAwPT09dD8uNTp0fSkpLF89ZS5fY2FsY1Byb3BvcnRpb25hbFNwYWNlKG0saCkseT1lLl9jYWxjUHJvcG9ydGlvbmFsU3BhY2UoZyxkKSx2PWJNdC5BcnJheS5jcmVhdGVGaWxsZWRBcnJheSgwLHRoaXMuX25Db2xzKSxiPWJNdC5BcnJheS5jcmVhdGVGaWxsZWRBcnJheSgwLHRoaXMuX25Sb3dzKSx4PTA7Oyl7dmFyIHc9Yk10LkFycmF5LmFkZChiLHkpLFM9Yk10LkFycmF5LmFkZCh2LF8pO3Y9KGE9dGhpcy5fZGV0ZXJtaW5lR3VhcmFudGVlcyhTLHcsaSkpLmd1YXJhbnRlZWRXaWR0aHMsYj1hLmd1YXJhbnRlZWRIZWlnaHRzLHM9YS53YW50c1dpZHRoQXJyLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0fSkpLGw9YS53YW50c0hlaWdodEFyci5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKTt2YXIgTT1yLEU9bztyPWgtdk10LnN1bShhLmd1YXJhbnRlZWRXaWR0aHMpLG89ZC12TXQuc3VtKGEuZ3VhcmFudGVlZEhlaWdodHMpO3ZhciBUPXZvaWQgMDtzPyhUPWEud2FudHNXaWR0aEFyci5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0Py4xOjB9KSksVD1iTXQuQXJyYXkuYWRkKFQsZikpOlQ9Zjt2YXIgQz12b2lkIDA7aWYobD8oQz1hLndhbnRzSGVpZ2h0QXJyLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQ/LjE6MH0pKSxDPWJNdC5BcnJheS5hZGQoQyxwKSk6Qz1wLF89ZS5fY2FsY1Byb3BvcnRpb25hbFNwYWNlKFQscikseT1lLl9jYWxjUHJvcG9ydGlvbmFsU3BhY2UoQyxvKSx4KyssIShyPjAmJnIhPT1NKSYmIShvPjAmJm8hPT1FKSlicmVhaztpZih4PjUpYnJlYWt9cmV0dXJuIHI9aC12TXQuc3VtKGEuZ3VhcmFudGVlZFdpZHRocyksbz1kLXZNdC5zdW0oYS5ndWFyYW50ZWVkSGVpZ2h0cykse2NvbFByb3BvcnRpb25hbFNwYWNlOl89ZS5fY2FsY1Byb3BvcnRpb25hbFNwYWNlKGYscikscm93UHJvcG9ydGlvbmFsU3BhY2U6eT1lLl9jYWxjUHJvcG9ydGlvbmFsU3BhY2UocCxvKSxndWFyYW50ZWVkV2lkdGhzOmEuZ3VhcmFudGVlZFdpZHRocyxndWFyYW50ZWVkSGVpZ2h0czphLmd1YXJhbnRlZWRIZWlnaHRzLHdhbnRzV2lkdGg6cyx3YW50c0hlaWdodDpsfX0sZS5wcm90b3R5cGUuX2RldGVybWluZUd1YXJhbnRlZXM9ZnVuY3Rpb24odCxlLG4pe3ZvaWQgMD09PW4mJihuPSExKTt2YXIgaT1iTXQuQXJyYXkuY3JlYXRlRmlsbGVkQXJyYXkoMCx0aGlzLl9uQ29scykscj1iTXQuQXJyYXkuY3JlYXRlRmlsbGVkQXJyYXkoMCx0aGlzLl9uUm93cyksbz1iTXQuQXJyYXkuY3JlYXRlRmlsbGVkQXJyYXkoITEsdGhpcy5fbkNvbHMpLGE9Yk10LkFycmF5LmNyZWF0ZUZpbGxlZEFycmF5KCExLHRoaXMuX25Sb3dzKTtyZXR1cm4gdGhpcy5fcm93cy5mb3JFYWNoKChmdW5jdGlvbihzLGwpe3MuZm9yRWFjaCgoZnVuY3Rpb24ocyxjKXt2YXIgdTt1PW51bGwhPXM/cy5yZXF1ZXN0ZWRTcGFjZSh0W2NdLGVbbF0pOnttaW5XaWR0aDowLG1pbkhlaWdodDowfTt2YXIgaD1uP01hdGgubWluKHUubWluV2lkdGgsdFtjXSk6dS5taW5XaWR0aDtpW2NdPU1hdGgubWF4KGlbY10saCk7dmFyIGQ9bj9NYXRoLm1pbih1Lm1pbkhlaWdodCxlW2xdKTp1Lm1pbkhlaWdodDtyW2xdPU1hdGgubWF4KHJbbF0sZCksb1tjXT1vW2NdfHx1Lm1pbldpZHRoPnRbY10sYVtsXT1hW2xdfHx1Lm1pbkhlaWdodD5lW2xdfSkpfSkpLHtndWFyYW50ZWVkV2lkdGhzOmksZ3VhcmFudGVlZEhlaWdodHM6cix3YW50c1dpZHRoQXJyOm8sd2FudHNIZWlnaHRBcnI6YX19LGUucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2NhbGN1bGF0ZWRMYXlvdXQ9dGhpcy5faXRlcmF0ZUxheW91dCh0LGUpLHttaW5XaWR0aDp2TXQuc3VtKHRoaXMuX2NhbGN1bGF0ZWRMYXlvdXQuZ3VhcmFudGVlZFdpZHRocyksbWluSGVpZ2h0OnZNdC5zdW0odGhpcy5fY2FsY3VsYXRlZExheW91dC5ndWFyYW50ZWVkSGVpZ2h0cyl9fSxlLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKGUsbixpKXt2YXIgcj10aGlzO3QucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQuY2FsbCh0aGlzLGUsbixpKTt2YXIgbz12TXQuc3VtKHRoaXMuX2NhbGN1bGF0ZWRMYXlvdXQuZ3VhcmFudGVlZFdpZHRocyksYT12TXQuc3VtKHRoaXMuX2NhbGN1bGF0ZWRMYXlvdXQuZ3VhcmFudGVlZEhlaWdodHMpLHM9dGhpcy5fY2FsY3VsYXRlZExheW91dDsobz50aGlzLndpZHRoKCl8fGE+dGhpcy5oZWlnaHQoKSkmJihzPXRoaXMuX2l0ZXJhdGVMYXlvdXQodGhpcy53aWR0aCgpLHRoaXMuaGVpZ2h0KCksITApKTt2YXIgbD0wLGM9Yk10LkFycmF5LmFkZChzLnJvd1Byb3BvcnRpb25hbFNwYWNlLHMuZ3VhcmFudGVlZEhlaWdodHMpLHU9Yk10LkFycmF5LmFkZChzLmNvbFByb3BvcnRpb25hbFNwYWNlLHMuZ3VhcmFudGVlZFdpZHRocyk7cmV0dXJuIHRoaXMuX3Jvd3MuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXt2YXIgbj0wO3QuZm9yRWFjaCgoZnVuY3Rpb24odCxpKXtudWxsIT10JiZ0LmNvbXB1dGVMYXlvdXQoe3g6bix5Omx9LHVbaV0sY1tlXSksbis9dVtpXStyLl9jb2x1bW5QYWRkaW5nfSkpLGwrPWNbZV0rci5fcm93UGFkZGluZ30pKSx0aGlzfSxlLnByb3RvdHlwZS5yb3dQYWRkaW5nPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3Jvd1BhZGRpbmc7aWYoIWJNdC5NYXRoLmlzVmFsaWROdW1iZXIodCl8fHQ8MCl0aHJvdyBFcnJvcigicm93UGFkZGluZyBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGZpbml0ZSB2YWx1ZSIpO3JldHVybiB0aGlzLl9yb3dQYWRkaW5nPXQsdGhpcy5yZWRyYXcoKSx0aGlzfSxlLnByb3RvdHlwZS5jb2x1bW5QYWRkaW5nPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX2NvbHVtblBhZGRpbmc7aWYoIWJNdC5NYXRoLmlzVmFsaWROdW1iZXIodCl8fHQ8MCl0aHJvdyBFcnJvcigiY29sdW1uUGFkZGluZyBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGZpbml0ZSB2YWx1ZSIpO3JldHVybiB0aGlzLl9jb2x1bW5QYWRkaW5nPXQsdGhpcy5yZWRyYXcoKSx0aGlzfSxlLnByb3RvdHlwZS5yb3dXZWlnaHQ9ZnVuY3Rpb24odCxlKXtpZihudWxsPT1lKXJldHVybiB0aGlzLl9yb3dXZWlnaHRzW3RdO2lmKCFiTXQuTWF0aC5pc1ZhbGlkTnVtYmVyKGUpfHxlPDApdGhyb3cgRXJyb3IoInJvd1dlaWdodCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGZpbml0ZSB2YWx1ZSIpO3JldHVybiB0aGlzLl9yb3dXZWlnaHRzW3RdPWUsdGhpcy5yZWRyYXcoKSx0aGlzfSxlLnByb3RvdHlwZS5jb2x1bW5XZWlnaHQ9ZnVuY3Rpb24odCxlKXtpZihudWxsPT1lKXJldHVybiB0aGlzLl9jb2x1bW5XZWlnaHRzW3RdO2lmKCFiTXQuTWF0aC5pc1ZhbGlkTnVtYmVyKGUpfHxlPDApdGhyb3cgRXJyb3IoImNvbHVtbldlaWdodCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGZpbml0ZSB2YWx1ZSIpO3JldHVybiB0aGlzLl9jb2x1bW5XZWlnaHRzW3RdPWUsdGhpcy5yZWRyYXcoKSx0aGlzfSxlLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7dmFyIHQ9dk10LnRyYW5zcG9zZSh0aGlzLl9yb3dzKTtyZXR1cm4gZS5fZml4ZWRTcGFjZSh0LChmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dHx8dC5maXhlZFdpZHRoKCl9KSl9LGUucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIGUuX2ZpeGVkU3BhY2UodGhpcy5fcm93cywoZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR8fHQuZml4ZWRIZWlnaHQoKX0pKX0sZS5wcm90b3R5cGUuX3BhZFRhYmxlVG9TaXplPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTA7bjx0O24rKyl7dm9pZCAwPT09dGhpcy5fcm93c1tuXSYmKHRoaXMuX3Jvd3Nbbl09W10sdGhpcy5fcm93V2VpZ2h0c1tuXT1udWxsKTtmb3IodmFyIGk9MDtpPGU7aSsrKXZvaWQgMD09PXRoaXMuX3Jvd3Nbbl1baV0mJih0aGlzLl9yb3dzW25dW2ldPW51bGwpfWZvcihpPTA7aTxlO2krKyl2b2lkIDA9PT10aGlzLl9jb2x1bW5XZWlnaHRzW2ldJiYodGhpcy5fY29sdW1uV2VpZ2h0c1tpXT1udWxsKX0sZS5fY2FsY0NvbXBvbmVudFdlaWdodHM9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0Lm1hcCgoZnVuY3Rpb24odCxpKXtyZXR1cm4gbnVsbCE9dD90OmVbaV0ubWFwKG4pLnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCYmZX0pLCEwKT8wOjF9KSl9LGUuX2NhbGNQcm9wb3J0aW9uYWxTcGFjZT1mdW5jdGlvbih0LGUpe3ZhciBuPXZNdC5zdW0odCk7cmV0dXJuIDA9PT1uP2JNdC5BcnJheS5jcmVhdGVGaWxsZWRBcnJheSgwLHQubGVuZ3RoKTp0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGUqdC9ufSkpfSxlLl9maXhlZFNwYWNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiB0JiZlfSksITApfTtyZXR1cm4gbih0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG4odC5tYXAoZSkpfSkpKX0sZX0pKHl3dC5Db21wb25lbnRDb250YWluZXIpO19NdC5UYWJsZT14TXQ7dmFyIHdNdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkod010LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgU010PUJPLE1NdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPW51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztyZXR1cm4gZS5fbWF4TGluZXM9MixlfXJldHVybiBTTXQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUucmVxdWVzdGVkU3BhY2U9ZnVuY3Rpb24odCxlKXt0aGlzLl93cmFwcGVyLm1heExpbmVzKHRoaXMuX21heExpbmVzKTt2YXIgbj0wPT09dGhpcy5hbmdsZSgpP3Q6ZTswPT09biYmKG49MS8wKTt2YXIgaT10aGlzLl93cmFwcGVyLndyYXAodGhpcy5fdGV4dCx0aGlzLl9tZWFzdXJlcixuKSxyPXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoaS53cmFwcGVkVGV4dCk7cmV0dXJue21pbldpZHRoOigwPT09dGhpcy5hbmdsZSgpP3Iud2lkdGg6ci5oZWlnaHQpKzIqdGhpcy5wYWRkaW5nKCksbWluSGVpZ2h0OigwPT09dGhpcy5hbmdsZSgpP3IuaGVpZ2h0OnIud2lkdGgpKzIqdGhpcy5wYWRkaW5nKCl9fSxlLnByb3RvdHlwZS5tYXhMaW5lcz1mdW5jdGlvbih0KXtyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5fbWF4TGluZXM6KHRoaXMuX21heExpbmVzPXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZX0pKE53dC5MYWJlbCk7d010LldyYXBwZWRMYWJlbD1NTXQ7dmFyIEVNdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoRU10LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgVE10PUJPLENNdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gZS5hZGRDbGFzcygieC1kcmFnLWJveC1sYXllciIpLGUuX2hhc0Nvcm5lcnM9ITEsZX1yZXR1cm4gVE10Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiB0LnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxlLG4saSksdGhpcy5fc2V0Qm91bmRzKHRoaXMuYm91bmRzKCkpLHRoaXN9LGUucHJvdG90eXBlLl9zZXRCb3VuZHM9ZnVuY3Rpb24oZSl7dC5wcm90b3R5cGUuX3NldEJvdW5kcy5jYWxsKHRoaXMse3RvcExlZnQ6e3g6ZS50b3BMZWZ0LngseTowfSxib3R0b21SaWdodDp7eDplLmJvdHRvbVJpZ2h0LngseTp0aGlzLmhlaWdodCgpfX0pfSxlLnByb3RvdHlwZS5fc2V0UmVzaXphYmxlQ2xhc3Nlcz1mdW5jdGlvbih0KXt0JiZ0aGlzLmVuYWJsZWQoKT90aGlzLmFkZENsYXNzKCJ4LXJlc2l6YWJsZSIpOnRoaXMucmVtb3ZlQ2xhc3MoIngtcmVzaXphYmxlIil9LGUucHJvdG90eXBlLnlTY2FsZT1mdW5jdGlvbihlKXtpZihudWxsPT1lKXJldHVybiB0LnByb3RvdHlwZS55U2NhbGUuY2FsbCh0aGlzKTt0aHJvdyBuZXcgRXJyb3IoInlTY2FsZXMgY2Fubm90IGJlIHNldCBvbiBhbiBYRHJhZ0JveExheWVyIil9LGUucHJvdG90eXBlLnlFeHRlbnQ9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gdC5wcm90b3R5cGUueUV4dGVudC5jYWxsKHRoaXMpO3Rocm93IG5ldyBFcnJvcigiWERyYWdCb3hMYXllciBoYXMgbm8geUV4dGVudCIpfSxlfSkoZXh0LkRyYWdCb3hMYXllcik7RU10LlhEcmFnQm94TGF5ZXI9Q010O3ZhciBBTXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEFNdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGtNdD1CTyxMTXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGUuYWRkQ2xhc3MoInktZHJhZy1ib3gtbGF5ZXIiKSxlLl9oYXNDb3JuZXJzPSExLGV9cmV0dXJuIGtNdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gdC5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMsZSxuLGkpLHRoaXMuX3NldEJvdW5kcyh0aGlzLmJvdW5kcygpKSx0aGlzfSxlLnByb3RvdHlwZS5fc2V0Qm91bmRzPWZ1bmN0aW9uKGUpe3QucHJvdG90eXBlLl9zZXRCb3VuZHMuY2FsbCh0aGlzLHt0b3BMZWZ0Ont4OjAseTplLnRvcExlZnQueX0sYm90dG9tUmlnaHQ6e3g6dGhpcy53aWR0aCgpLHk6ZS5ib3R0b21SaWdodC55fX0pfSxlLnByb3RvdHlwZS5fc2V0UmVzaXphYmxlQ2xhc3Nlcz1mdW5jdGlvbih0KXt0JiZ0aGlzLmVuYWJsZWQoKT90aGlzLmFkZENsYXNzKCJ5LXJlc2l6YWJsZSIpOnRoaXMucmVtb3ZlQ2xhc3MoInktcmVzaXphYmxlIil9LGUucHJvdG90eXBlLnhTY2FsZT1mdW5jdGlvbihlKXtpZihudWxsPT1lKXJldHVybiB0LnByb3RvdHlwZS54U2NhbGUuY2FsbCh0aGlzKTt0aHJvdyBuZXcgRXJyb3IoInhTY2FsZXMgY2Fubm90IGJlIHNldCBvbiBhbiBZRHJhZ0JveExheWVyIil9LGUucHJvdG90eXBlLnhFeHRlbnQ9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gdC5wcm90b3R5cGUueEV4dGVudC5jYWxsKHRoaXMpO3Rocm93IG5ldyBFcnJvcigiWURyYWdCb3hMYXllciBoYXMgbm8geEV4dGVudCIpfSxlfSkoZXh0LkRyYWdCb3hMYXllcik7QU10LllEcmFnQm94TGF5ZXI9TE10LChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPO2UuX19leHBvcnRTdGFyKGV4dCx0KSxlLl9fZXhwb3J0U3Rhcihud3QsdCksZS5fX2V4cG9ydFN0YXIocHd0LHQpLGUuX19leHBvcnRTdGFyKF93dCx0KSxlLl9fZXhwb3J0U3Rhcihpd3QsdCksZS5fX2V4cG9ydFN0YXIoRXd0LHQpLGUuX19leHBvcnRTdGFyKE53dCx0KSxlLl9fZXhwb3J0U3RhcihCd3QsdCksZS5fX2V4cG9ydFN0YXIoYVN0LHQpLGUuX19leHBvcnRTdGFyKCR4dCx0KSxlLl9fZXhwb3J0U3RhcihfTXQsdCksZS5fX2V4cG9ydFN0YXIod010LHQpLGUuX19leHBvcnRTdGFyKEVNdCx0KSxlLl9fZXhwb3J0U3RhcihBTXQsdCl9KSh0eHQpO3ZhciBQTXQ9e30sTk10PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoTk10LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgSU10PUJPLFJNdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3JldHVybiB0LmNhbGwodGhpcywicGF0aCIsImFyYyBmaWxsIil8fHRoaXN9cmV0dXJuIElNdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fYXBwbHlEZWZhdWx0QXR0cmlidXRlcz1mdW5jdGlvbih0KXt0LnN0eWxlKCJzdHJva2UiLCJub25lIil9LGV9KShxU3QuU1ZHRHJhd2VyKTtOTXQuQXJjU1ZHRHJhd2VyPVJNdDt2YXIgT010PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShPTXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB6TXQ9Qk8sRE10PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIHQuY2FsbCh0aGlzLCJwYXRoIiwiYXJjIG91dGxpbmUiKXx8dGhpc31yZXR1cm4gek10Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9hcHBseURlZmF1bHRBdHRyaWJ1dGVzPWZ1bmN0aW9uKHQpe3Quc3R5bGUoImZpbGwiLCJub25lIil9LGV9KShxU3QuU1ZHRHJhd2VyKTtPTXQuQXJjT3V0bGluZVNWR0RyYXdlcj1ETXQ7dmFyIEJNdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoQk10LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgSE10PUJPLEZNdD1qU3QsVk10PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIHQuY2FsbCh0aGlzLCJwYXRoIiwiYXJlYSIpfHx0aGlzfXJldHVybiBITXQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuX2FwcGx5RGVmYXVsdEF0dHJpYnV0ZXM9ZnVuY3Rpb24odCl7dC5zdHlsZSgic3Ryb2tlIiwibm9uZSIpfSxlLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4PWZ1bmN0aW9uKGUpe3JldHVybiB0LnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4LmNhbGwodGhpcywwKX0sZX0pKHFTdC5TVkdEcmF3ZXIpO0JNdC5BcmVhU1ZHRHJhd2VyPVZNdDt2YXIgVU10PVsib3BhY2l0eSIsImZpbGwiLCJmaWxsLW9wYWNpdHkiXSxqTXQ9WyJvcGFjaXR5Iiwic3Ryb2tlIiwic3Ryb2tlLXdpZHRoIl07Qk10Lm1ha2VBcmVhQ2FudmFzRHJhd1N0ZXA9ZnVuY3Rpb24gR010KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSxyKXt2YXIgbz1GTXQucmVzb2x2ZUF0dHJpYnV0ZXMocixVTXQsaVswXSwwKTtGTXQucmVuZGVyQXJlYShuLHQoKSxpWzBdLG8pO3ZhciBhPUZNdC5yZXNvbHZlQXR0cmlidXRlcyhyLGpNdCxpWzBdLDApO0ZNdC5yZW5kZXJMaW5lKG4sZSgpLGlbMF0sYSl9fTt2YXIgV010PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShXTXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBxTXQ9Qk8sWU10PWpTdCxYTXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gdC5jYWxsKHRoaXMsInBhdGgiLCJsaW5lIil8fHRoaXN9cmV0dXJuIHFNdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fYXBwbHlEZWZhdWx0QXR0cmlidXRlcz1mdW5jdGlvbih0KXt0LnN0eWxlKCJmaWxsIiwibm9uZSIpfSxlLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4PWZ1bmN0aW9uKGUpe3JldHVybiB0LnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4LmNhbGwodGhpcywwKX0sZX0pKHFTdC5TVkdEcmF3ZXIpO1dNdC5MaW5lU1ZHRHJhd2VyPVhNdDt2YXIgJE10PVsib3BhY2l0eSIsInN0cm9rZS1vcGFjaXR5Iiwic3Ryb2tlLXdpZHRoIiwic3Ryb2tlIiwic3Ryb2tlLWRhc2hhcnJheSJdO1dNdC5tYWtlTGluZUNhbnZhc0RyYXdTdGVwPWZ1bmN0aW9uIEtNdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLGkpe3ZhciByPVlNdC5yZXNvbHZlQXR0cmlidXRlcyhpLCRNdCxuWzBdLDApO1lNdC5yZW5kZXJMaW5lKGUsdCgpLG5bMF0scil9fTt2YXIgWk10PXt9OyEoZnVuY3Rpb24odCl7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZT1CTyxuPWpTdCxpPShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUpe3ZvaWQgMD09PWUmJihlPSIiKTt2YXIgbj10LmNhbGwodGhpcywicmVjdCIsIiIpfHx0aGlzO3JldHVybiBuLl9yb290Q2xhc3NOYW1lPWUsbi5fcm9vdC5jbGFzc2VkKG4uX3Jvb3RDbGFzc05hbWUsITApLG59cmV0dXJuIGUuX19leHRlbmRzKG4sdCksbn0pKHFTdC5TVkdEcmF3ZXIpO3QuUmVjdGFuZ2xlU1ZHRHJhd2VyPWk7dmFyIHI9bi5Db250ZXh0U3R5bGVBdHRycy5jb25jYXQoWyJ4IiwieSIsIndpZHRoIiwiaGVpZ2h0Il0pO3QuUmVjdGFuZ2xlQ2FudmFzRHJhd1N0ZXA9ZnVuY3Rpb24odCxlLGkpe3Quc2F2ZSgpO2Zvcih2YXIgbz1lLmxlbmd0aCxhPTA7YTxvO2ErKyl7dmFyIHM9ZVthXTtpZihudWxsIT1zKXt2YXIgbD1uLnJlc29sdmVBdHRyaWJ1dGVzKGkscixzLGEpO3QuYmVnaW5QYXRoKCksdC5yZWN0KGwueCxsLnksbC53aWR0aCxsLmhlaWdodCksbi5yZW5kZXJQYXRoV2l0aFN0eWxlKHQsbCl9fXQucmVzdG9yZSgpfTt2YXIgbz0oZnVuY3Rpb24obil7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbi5jYWxsKHRoaXMsZSx0LlJlY3RhbmdsZUNhbnZhc0RyYXdTdGVwKXx8dGhpc31yZXR1cm4gZS5fX2V4dGVuZHMoaSxuKSxpfSkobi5DYW52YXNEcmF3ZXIpO3QuUmVjdGFuZ2xlQ2FudmFzRHJhd2VyPW99KShaTXQpO3ZhciBKTXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEpNdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFFNdD1CTyx0RXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gdC5jYWxsKHRoaXMsImxpbmUiLCIiKXx8dGhpc31yZXR1cm4gUU10Ll9fZXh0ZW5kcyhlLHQpLGV9KShxU3QuU1ZHRHJhd2VyKTtKTXQuU2VnbWVudFNWR0RyYXdlcj10RXQ7dmFyIGVFdD17fSxuRXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTctcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShuRXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpRXQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4saSl7dm9pZCAwPT09aSYmKGk9d2luZG93LmRldmljZVBpeGVsUmF0aW8pLHRoaXMuc2NyZWVuV2lkdGg9ZSx0aGlzLnNjcmVlbkhlaWdodD1uLHRoaXMuZGV2aWNlUGl4ZWxSYXRpbz1pLHRoaXMucGl4ZWxXaWR0aD1lKmksdGhpcy5waXhlbEhlaWdodD1uKmksdGhpcy5jYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksdGhpcy5jdHg9dGhpcy5jYW52YXMuZ2V0Q29udGV4dCgiMmQiKSx0LnNpemVQaXhlbHModGhpcy5jdHgsZSxuLGkpfXJldHVybiB0LnNpemVQaXhlbHM9ZnVuY3Rpb24odCxlLG4saSl7dmFyIHI9dC5jYW52YXM7ci53aWR0aD1lKmksci5oZWlnaHQ9bippLHIuc3R5bGUud2lkdGg9ZSsicHgiLHIuc3R5bGUuaGVpZ2h0PW4rInB4Iix0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksdC5zY2FsZShpLGkpfSx0LnByb3RvdHlwZS5ibGl0PWZ1bmN0aW9uKHQsZSxuKXt2b2lkIDA9PT1lJiYoZT0wKSx2b2lkIDA9PT1uJiYobj0wKSx0LmRyYXdJbWFnZSh0aGlzLmNhbnZhcyxlLG4sdGhpcy5zY3JlZW5XaWR0aCx0aGlzLnNjcmVlbkhlaWdodCl9LHQucHJvdG90eXBlLmJsaXRDZW50ZXI9ZnVuY3Rpb24odCxlLG4pe3ZvaWQgMD09PWUmJihlPTApLHZvaWQgMD09PW4mJihuPTApLHRoaXMuYmxpdCh0LE1hdGguZmxvb3IoZS10aGlzLnNjcmVlbldpZHRoLzIpLE1hdGguZmxvb3Iobi10aGlzLnNjcmVlbkhlaWdodC8yKSl9LHQucHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbihlLG4saSl7dm9pZCAwPT09aSYmKGk9ITEpO3ZhciByPXRoaXMuZGV2aWNlUGl4ZWxSYXRpbztyZXR1cm4gdGhpcy5zY3JlZW5XaWR0aD1lLHRoaXMuc2NyZWVuSGVpZ2h0PW4sdGhpcy5waXhlbFdpZHRoPWUqcix0aGlzLnBpeGVsSGVpZ2h0PW4qcix0LnNpemVQaXhlbHModGhpcy5jdHgsZSxuLHIpLGkmJnRoaXMuY3R4LnRyYW5zbGF0ZShlLzIsZS8yKSx0aGlzfSx0LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49ZS5waXhlbFdpZHRoLGk9ZS5waXhlbEhlaWdodCxyPWUuY3R4O3JldHVybiByLnNhdmUoKSxyLnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksbnVsbD09dD9yLmNsZWFyUmVjdCgwLDAsbixpKTooci5maWxsU3R5bGU9dCxyLmZpbGxSZWN0KDAsMCxuLGkpKSxyLnJlc3RvcmUoKSx0aGlzfSx0LnByb3RvdHlwZS5nZXRJbWFnZURhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdHguZ2V0SW1hZ2VEYXRhKDAsMCx0aGlzLnBpeGVsV2lkdGgsdGhpcy5waXhlbEhlaWdodCl9LHR9KSgpO25FdC5DYW52YXNCdWZmZXI9aUV0LAovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZUV0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgckV0PUJPLG9FdD1qU3QsYUV0PW5FdCxzRXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gdC5jYWxsKHRoaXMsInBhdGgiLCJzeW1ib2wiKXx8dGhpc31yZXR1cm4gckV0Ll9fZXh0ZW5kcyhlLHQpLGV9KShxU3QuU1ZHRHJhd2VyKTtlRXQuU3ltYm9sU1ZHRHJhd2VyPXNFdDt2YXIgbEV0PW9FdC5Db250ZXh0U3R5bGVBdHRycy5jb25jYXQoWyJ4IiwieSJdKTtmdW5jdGlvbiBjRXQodCxlLG4saSxyKXtyZXR1cm4gbityPj0wJiZuLXI8PXQmJmkrcj49MCYmaS1yPD1lfWZ1bmN0aW9uIHVFdCh0LGUsbil7aWYobnVsbD09dClyZXR1cm4hMTtmb3IodmFyIGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIHI9bltpXTtpZih0W3JdIT1lW3JdKXJldHVybiExfXJldHVybiEwfWVFdC5tYWtlU3ltYm9sQ2FudmFzRHJhd1N0ZXA9ZnVuY3Rpb24gaEV0KHQsZSxuLGkpe3ZhciByPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKG8sYSxzKXtmb3IodmFyIGw9by5jYW52YXMsYz1sLmNsaWVudFdpZHRoLHU9bC5jbGllbnRIZWlnaHQsaD12b2lkIDA9PT1pP25ldyBhRXQuQ2FudmFzQnVmZmVyKDAsMCk6aSxkPWUoKSxwPW4oKSxmPW51bGwsbT1udWxsLGc9bnVsbCxfPTA7XzxhLmxlbmd0aDtfKyspe3ZhciB5PWFbX107aWYobnVsbCE9eSl7dmFyIHY9b0V0LnJlc29sdmVBdHRyaWJ1dGVzKHMsbEV0LHksXyksYj1wKHksXyx0KTtpZihjRXQoYyx1LHYueCx2LnksYikpe3ZhciB4PXVFdChmLHYsb0V0LkNvbnRleHRTdHlsZUF0dHJzKSx3PWQoeSxfLHIuX2RhdGFzZXQpO2lmKHgmJmc9PWImJm09PXcpO2Vsc2V7dmFyIFM9YitvRXQuZ2V0U3Ryb2tlV2lkdGgodikrMTsoUz5oLnNjcmVlbldpZHRofHxTPmguc2NyZWVuSGVpZ2h0KSYmaC5yZXNpemUoUyxTLCEwKSxoLmNsZWFyKCk7dmFyIE09aC5jdHg7TS5iZWdpblBhdGgoKSx3KGIpLmNvbnRleHQoTSkobnVsbCksTS5jbG9zZVBhdGgoKSxvRXQucmVuZGVyUGF0aFdpdGhTdHlsZShNLHYpLG09dyxnPWIsZj12fWguYmxpdENlbnRlcihvLHYueCx2LnkpfX19fX0sKGZ1bmN0aW9uKHQpewovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGU9Qk87ZS5fX2V4cG9ydFN0YXIoTk10LHQpLGUuX19leHBvcnRTdGFyKE9NdCx0KSxlLl9fZXhwb3J0U3RhcihCTXQsdCksZS5fX2V4cG9ydFN0YXIoalN0LHQpLGUuX19leHBvcnRTdGFyKEdTdCx0KSxlLl9fZXhwb3J0U3RhcihXTXQsdCksZS5fX2V4cG9ydFN0YXIoWk10LHQpLGUuX19leHBvcnRTdGFyKEpNdCx0KSxlLl9fZXhwb3J0U3RhcihxU3QsdCksZS5fX2V4cG9ydFN0YXIoZUV0LHQpfSkoUE10KTt2YXIgZEV0PXt9LHBFdD17fSxmRXQ9e30sbUV0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkobUV0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZ0V0PUJPLF9FdD1YdnQseUV0PURfdCx2RXQ9S1N0LGJFdD1zU3QseEV0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBlLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluPSExLGUuX2F1dG9BZGp1c3RZU2NhbGVEb21haW49ITEsZS5fZGVmZXJyZWRSZW5kZXJpbmc9ITEsZS5fYXBwbHlEZWZlcnJlZFJlbmRlcmluZ1RyYW5zZm9ybT1mdW5jdGlvbih0LG4saSxyKXtlLl9pc0FuY2hvcmVkJiYobnVsbCE9ZS5fcmVuZGVyQXJlYSYmZS5fcmVuZGVyQXJlYS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIit0KyIsICIrbisiKSBzY2FsZSgiK2krIiwgIityKyIpIiksbnVsbCE9ZS5fY2FudmFzJiZlLl9jYW52YXMuc3R5bGUoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK3QrInB4LCAiK24rInB4KSBzY2FsZSgiK2krIiwgIityKyIpIikpfSxlLmFkZENsYXNzKCJ4eS1wbG90IiksZS5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVhDYWxsYmFjaz1mdW5jdGlvbih0KXtyZXR1cm4gZS5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVgoKX0sZS5fYWRqdXN0WERvbWFpbk9uQ2hhbmdlRnJvbVlDYWxsYmFjaz1mdW5jdGlvbih0KXtyZXR1cm4gZS5fYWRqdXN0WERvbWFpbk9uQ2hhbmdlRnJvbVkoKX0sZS5fcmVuZGVyQ2FsbGJhY2s9ZnVuY3Rpb24oKXtpZihlLmRlZmVycmVkUmVuZGVyaW5nKCkpe3ZhciB0PWUueCgpJiZlLngoKS5zY2FsZSxuPWUueSgpJiZlLnkoKS5zY2FsZTtlLl9kZWZlcnJlZFJlbmRlcmVyLnVwZGF0ZURvbWFpbnModCxuKX1lbHNlIGUucmVuZGVyKCl9LGUuX2RlZmVycmVkUmVuZGVyZXI9bmV3IHZFdC5EZWZlcnJlZFJlbmRlcmVyKChmdW5jdGlvbigpe3JldHVybiBlLnJlbmRlcigpfSksZS5fYXBwbHlEZWZlcnJlZFJlbmRlcmluZ1RyYW5zZm9ybSksZX1yZXR1cm4gZ0V0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRlZmVycmVkUmVuZGVyaW5nKCkmJnRoaXMuX2RlZmVycmVkUmVuZGVyZXIucmVzZXRUcmFuc2Zvcm1zKCksdC5wcm90b3R5cGUucmVuZGVyLmNhbGwodGhpcyl9LGUucHJvdG90eXBlLmRlZmVycmVkUmVuZGVyaW5nPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX2RlZmVycmVkUmVuZGVyaW5nO2lmKHQpe3ZhciBlPXRoaXMueCgpJiZ0aGlzLngoKS5zY2FsZSxuPXRoaXMueSgpJiZ0aGlzLnkoKS5zY2FsZTt0aGlzLl9kZWZlcnJlZFJlbmRlcmVyLnNldERvbWFpbnMoZSxuKX1yZXR1cm4gdGhpcy5fZGVmZXJyZWRSZW5kZXJpbmc9dCx0aGlzfSxlLnByb3RvdHlwZS54PWZ1bmN0aW9uKHQsbixpKXtpZihudWxsPT10KXJldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChlLl9YX0tFWSk7dGhpcy5fYmluZFByb3BlcnR5KGUuX1hfS0VZLHQsbixpKTt2YXIgcj10aGlzLndpZHRoKCk7cmV0dXJuIG51bGwhPW4mJm51bGwhPXImJm4ucmFuZ2UoWzAscl0pLHRoaXMuX2F1dG9BZGp1c3RZU2NhbGVEb21haW4mJnRoaXMuX3VwZGF0ZVlFeHRlbnRzQW5kQXV0b2RvbWFpbigpLHRoaXMucmVuZGVyKCksdGhpc30sZS5wcm90b3R5cGUueT1mdW5jdGlvbih0LG4saSl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoZS5fWV9LRVkpO3RoaXMuX2JpbmRQcm9wZXJ0eShlLl9ZX0tFWSx0LG4saSk7dmFyIHI9dGhpcy5oZWlnaHQoKTtyZXR1cm4gbnVsbCE9biYmbnVsbCE9ciYmbi5yYW5nZShuIGluc3RhbmNlb2YgX0V0LkNhdGVnb3J5P1swLHJdOltyLDBdKSx0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluJiZ0aGlzLl91cGRhdGVYRXh0ZW50c0FuZEF1dG9kb21haW4oKSx0aGlzLnJlbmRlcigpLHRoaXN9LGUucHJvdG90eXBlLl9maWx0ZXJGb3JQcm9wZXJ0eT1mdW5jdGlvbih0KXtyZXR1cm4ieCI9PT10JiZ0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluP3RoaXMuX21ha2VGaWx0ZXJCeVByb3BlcnR5KCJ5Iik6InkiIT09dCYmInkwIiE9PXR8fCF0aGlzLl9hdXRvQWRqdXN0WVNjYWxlRG9tYWluP251bGw6dGhpcy5fbWFrZUZpbHRlckJ5UHJvcGVydHkoIngiKX0sZS5wcm90b3R5cGUuX21ha2VGaWx0ZXJCeVByb3BlcnR5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KHQpO2lmKG51bGwhPWUpe3ZhciBuPWUuYWNjZXNzb3IsaT1lLnNjYWxlO2lmKG51bGwhPWkpcmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXt2YXIgbz1pLnJhbmdlKCk7cmV0dXJuIHlFdC5NYXRoLmluUmFuZ2UoaS5zY2FsZShuKHQsZSxyKSksb1swXSxvWzFdKX19cmV0dXJuIG51bGx9LGUucHJvdG90eXBlLl91bmluc3RhbGxTY2FsZUZvcktleT1mdW5jdGlvbihuLGkpe3QucHJvdG90eXBlLl91bmluc3RhbGxTY2FsZUZvcktleS5jYWxsKHRoaXMsbixpKSxuLm9mZlVwZGF0ZShpPT09ZS5fWF9LRVk/dGhpcy5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVhDYWxsYmFjazp0aGlzLl9hZGp1c3RYRG9tYWluT25DaGFuZ2VGcm9tWUNhbGxiYWNrKX0sZS5wcm90b3R5cGUuX2luc3RhbGxTY2FsZUZvcktleT1mdW5jdGlvbihuLGkpe3QucHJvdG90eXBlLl9pbnN0YWxsU2NhbGVGb3JLZXkuY2FsbCh0aGlzLG4saSksbi5vblVwZGF0ZShpPT09ZS5fWF9LRVk/dGhpcy5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVhDYWxsYmFjazp0aGlzLl9hZGp1c3RYRG9tYWluT25DaGFuZ2VGcm9tWUNhbGxiYWNrKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3JldHVybiB0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksdGhpcy54KCkuc2NhbGUmJnRoaXMueCgpLnNjYWxlLm9mZlVwZGF0ZSh0aGlzLl9hZGp1c3RZRG9tYWluT25DaGFuZ2VGcm9tWENhbGxiYWNrKSx0aGlzLnkoKS5zY2FsZSYmdGhpcy55KCkuc2NhbGUub2ZmVXBkYXRlKHRoaXMuX2FkanVzdFhEb21haW5PbkNoYW5nZUZyb21ZQ2FsbGJhY2spLHRoaXN9LGUucHJvdG90eXBlLmF1dG9yYW5nZU1vZGU9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fYXV0b0FkanVzdFhTY2FsZURvbWFpbj8ieCI6dGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbj8ieSI6Im5vbmUiO3N3aXRjaCh0KXtjYXNlIngiOnRoaXMuX2F1dG9BZGp1c3RYU2NhbGVEb21haW49ITAsdGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbj0hMSx0aGlzLl9hZGp1c3RYRG9tYWluT25DaGFuZ2VGcm9tWSgpO2JyZWFrO2Nhc2UieSI6dGhpcy5fYXV0b0FkanVzdFhTY2FsZURvbWFpbj0hMSx0aGlzLl9hdXRvQWRqdXN0WVNjYWxlRG9tYWluPSEwLHRoaXMuX2FkanVzdFlEb21haW5PbkNoYW5nZUZyb21YKCk7YnJlYWs7Y2FzZSJub25lIjp0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluPSExLHRoaXMuX2F1dG9BZGp1c3RZU2NhbGVEb21haW49ITE7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2NhbGUgbmFtZSAnIit0KyInLCBtdXN0IGJlICd4JywgJ3knIG9yICdub25lJyIpfXJldHVybiB0aGlzfSxlLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKGUsbixpKXt0LnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxlLG4saSk7dmFyIHI9dGhpcy54KCksbz1yJiZyLnNjYWxlO251bGwhPW8mJm8ucmFuZ2UoWzAsdGhpcy53aWR0aCgpXSk7dmFyIGE9dGhpcy55KCkscz1hJiZhLnNjYWxlO3JldHVybiBudWxsIT1zJiZzLnJhbmdlKHMgaW5zdGFuY2VvZiBfRXQuQ2F0ZWdvcnk/WzAsdGhpcy5oZWlnaHQoKV06W3RoaXMuaGVpZ2h0KCksMF0pLHRoaXN9LGUucHJvdG90eXBlLl91cGRhdGVYRXh0ZW50c0FuZEF1dG9kb21haW49ZnVuY3Rpb24oKXt2YXIgdD10aGlzLngoKS5zY2FsZTtudWxsIT10JiZ0LmF1dG9Eb21haW4oKX0sZS5wcm90b3R5cGUuX3VwZGF0ZVlFeHRlbnRzQW5kQXV0b2RvbWFpbj1mdW5jdGlvbigpe3ZhciB0PXRoaXMueSgpLnNjYWxlO251bGwhPXQmJnQuYXV0b0RvbWFpbigpfSxlLnByb3RvdHlwZS5zaG93QWxsRGF0YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl91cGRhdGVYRXh0ZW50c0FuZEF1dG9kb21haW4oKSx0aGlzLl91cGRhdGVZRXh0ZW50c0FuZEF1dG9kb21haW4oKSx0aGlzfSxlLnByb3RvdHlwZS5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVg9ZnVuY3Rpb24oKXt0aGlzLl9wcm9qZWN0b3JzUmVhZHkoKSYmdGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbiYmdGhpcy5fdXBkYXRlWUV4dGVudHNBbmRBdXRvZG9tYWluKCl9LGUucHJvdG90eXBlLl9hZGp1c3RYRG9tYWluT25DaGFuZ2VGcm9tWT1mdW5jdGlvbigpe3RoaXMuX3Byb2plY3RvcnNSZWFkeSgpJiZ0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluJiZ0aGlzLl91cGRhdGVYRXh0ZW50c0FuZEF1dG9kb21haW4oKX0sZS5wcm90b3R5cGUuX3Byb2plY3RvcnNSZWFkeT1mdW5jdGlvbigpe3ZhciB0PXRoaXMueCgpLGU9dGhpcy55KCk7cmV0dXJuIG51bGwhPXQmJm51bGwhPXQuYWNjZXNzb3ImJm51bGwhPWUmJm51bGwhPWUuYWNjZXNzb3J9LGUucHJvdG90eXBlLl9waXhlbFBvaW50PWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1iRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLHI9YkV0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKTtyZXR1cm57eDppKHQsZSxuKSx5OnIodCxlLG4pfX0sZS5wcm90b3R5cGUuX2dldERhdGFUb0RyYXc9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49dC5wcm90b3R5cGUuX2dldERhdGFUb0RyYXcuY2FsbCh0aGlzKSxpPXRoaXMuYXR0cigiZGVmaW5lZCIpO3JldHVybiB0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7bi5zZXQodCxuLmdldCh0KS5maWx0ZXIoKGZ1bmN0aW9uKG4scil7cmV0dXJuKGZ1bmN0aW9uKHQsbixyKXt2YXIgbz1iRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IoZS54KCkpKHQsbixyKSxhPWJFdC5QbG90Ll9zY2FsZWRBY2Nlc3NvcihlLnkoKSkodCxuLHIpO3JldHVybighaXx8ITEhPT1pLmFjY2Vzc29yKHQsbixyKSkmJnlFdC5NYXRoLmlzVmFsaWROdW1iZXIobykmJnlFdC5NYXRoLmlzVmFsaWROdW1iZXIoYSl9KShuLHIsdCl9KSkpfSkpLG59LGUuX1hfS0VZPSJ4IixlLl9ZX0tFWT0ieSIsZX0pKGJFdC5QbG90KTttRXQuWFlQbG90PXhFdCwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KGZFdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHdFdD1CTyxTRXQ9d3B0LE1FdD1mZ3QsRUV0PVBNdCxURXQ9R1N0LENFdD1XTXQsQUV0PVh2dCxrRXQ9TGJ0LExFdD1EX3QsUEV0PWRFdCxORXQ9c1N0LElFdD1tRXQsUkV0PXtsaW5lYXI6U0V0LmN1cnZlTGluZWFyLGxpbmVhckNsb3NlZDpTRXQuY3VydmVMaW5lYXJDbG9zZWQsc3RlcDpTRXQuY3VydmVTdGVwLHN0ZXBCZWZvcmU6U0V0LmN1cnZlU3RlcEJlZm9yZSxzdGVwQWZ0ZXI6U0V0LmN1cnZlU3RlcEFmdGVyLGJhc2lzOlNFdC5jdXJ2ZUJhc2lzLGJhc2lzT3BlbjpTRXQuY3VydmVCYXNpc09wZW4sYmFzaXNDbG9zZWQ6U0V0LmN1cnZlQmFzaXNDbG9zZWQsYnVuZGxlOlNFdC5jdXJ2ZUJ1bmRsZSxjYXJkaW5hbDpTRXQuY3VydmVDYXJkaW5hbCxjYXJkaW5hbE9wZW46U0V0LmN1cnZlQ2FyZGluYWxPcGVuLGNhcmRpbmFsQ2xvc2VkOlNFdC5jdXJ2ZUNhcmRpbmFsQ2xvc2VkLG1vbm90b25lOlNFdC5jdXJ2ZU1vbm90b25lWH07ZkV0LkN1cnZlTmFtZT1iZ3QubWFrZUVudW0oWyJsaW5lYXIiLCJsaW5lYXJDbG9zZWQiLCJzdGVwIiwic3RlcEJlZm9yZSIsInN0ZXBBZnRlciIsImJhc2lzIiwiYmFzaXNPcGVuIiwiYmFzaXNDbG9zZWQiLCJidW5kbGUiLCJjYXJkaW5hbCIsImNhcmRpbmFsT3BlbiIsImNhcmRpbmFsQ2xvc2VkIiwibW9ub3RvbmUiXSk7dmFyIE9FdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztlLl9jdXJ2ZT0ibGluZWFyIixlLl9hdXRvcmFuZ2VTbW9vdGg9ITEsZS5fY3JvcHBlZFJlbmRlcmluZ0VuYWJsZWQ9ITAsZS5fY29sbGFwc2VEZW5zZVZlcnRpY2FsTGluZXNFbmFibGVkPSExLGUuX2Rvd25zYW1wbGluZ0VuYWJsZWQ9ITEsZS5hZGRDbGFzcygibGluZS1wbG90Iik7dmFyIG49bmV3IE1FdC5FYXNpbmc7cmV0dXJuIG4uc3RlcER1cmF0aW9uKE5FdC5QbG90Ll9BTklNQVRJT05fTUFYX0RVUkFUSU9OKSxuLmVhc2luZ01vZGUoImV4cEluT3V0Iiksbi5tYXhUb3RhbER1cmF0aW9uKE5FdC5QbG90Ll9BTklNQVRJT05fTUFYX0RVUkFUSU9OKSxlLmFuaW1hdG9yKFBFdC5BbmltYXRvci5NQUlOLG4pLGUuYXR0cigic3Ryb2tlIiwobmV3IEFFdC5Db2xvcikucmFuZ2UoKVswXSksZS5hdHRyKCJzdHJva2Utd2lkdGgiLCIycHgiKSxlfXJldHVybiB3RXQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUueD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIG51bGw9PWU/dC5wcm90b3R5cGUueC5jYWxsKHRoaXMpOih0LnByb3RvdHlwZS54LmNhbGwodGhpcyxlLG4saSksdGhpcy5fc2V0U2NhbGVTbmFwcGluZygpLHRoaXMpfSxlLnByb3RvdHlwZS55PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gbnVsbD09ZT90LnByb3RvdHlwZS55LmNhbGwodGhpcyk6KHQucHJvdG90eXBlLnkuY2FsbCh0aGlzLGUsbixpKSx0aGlzLl9zZXRTY2FsZVNuYXBwaW5nKCksdGhpcyl9LGUucHJvdG90eXBlLmF1dG9yYW5nZU1vZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/dC5wcm90b3R5cGUuYXV0b3JhbmdlTW9kZS5jYWxsKHRoaXMpOih0LnByb3RvdHlwZS5hdXRvcmFuZ2VNb2RlLmNhbGwodGhpcyxlKSx0aGlzLl9zZXRTY2FsZVNuYXBwaW5nKCksdGhpcyl9LGUucHJvdG90eXBlLmF1dG9yYW5nZVNtb290aD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9hdXRvcmFuZ2VTbW9vdGg6KHRoaXMuX2F1dG9yYW5nZVNtb290aD10LHRoaXMuX3NldFNjYWxlU25hcHBpbmcoKSx0aGlzKX0sZS5wcm90b3R5cGUuX3NldFNjYWxlU25hcHBpbmc9ZnVuY3Rpb24oKXsieCI9PT10aGlzLmF1dG9yYW5nZU1vZGUoKSYmdGhpcy54KCkmJnRoaXMueCgpLnNjYWxlJiZ0aGlzLngoKS5zY2FsZSBpbnN0YW5jZW9mIGtFdC5RdWFudGl0YXRpdmVTY2FsZSYmdGhpcy54KCkuc2NhbGUuc25hcHBpbmdEb21haW5FbmFibGVkKCF0aGlzLmF1dG9yYW5nZVNtb290aCgpKSwieSI9PT10aGlzLmF1dG9yYW5nZU1vZGUoKSYmdGhpcy55KCkmJnRoaXMueSgpLnNjYWxlJiZ0aGlzLnkoKS5zY2FsZSBpbnN0YW5jZW9mIGtFdC5RdWFudGl0YXRpdmVTY2FsZSYmdGhpcy55KCkuc2NhbGUuc25hcHBpbmdEb21haW5FbmFibGVkKCF0aGlzLmF1dG9yYW5nZVNtb290aCgpKX0sZS5wcm90b3R5cGUuY3VydmU9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fY3VydmU6KHRoaXMuX2N1cnZlPXQsdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUuZG93bnNhbXBsaW5nRW5hYmxlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9kb3duc2FtcGxpbmdFbmFibGVkOih0aGlzLl9kb3duc2FtcGxpbmdFbmFibGVkPXQsdGhpcyl9LGUucHJvdG90eXBlLmNyb3BwZWRSZW5kZXJpbmdFbmFibGVkPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2Nyb3BwZWRSZW5kZXJpbmdFbmFibGVkOih0aGlzLl9jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZD10LHRoaXMucmVuZGVyKCksdGhpcyl9LGUucHJvdG90eXBlLmNvbGxhcHNlRGVuc2VMaW5lc0VuYWJsZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fY29sbGFwc2VEZW5zZVZlcnRpY2FsTGluZXNFbmFibGVkOih0aGlzLl9jb2xsYXBzZURlbnNlVmVydGljYWxMaW5lc0VuYWJsZWQ9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5fY3JlYXRlRHJhd2VyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7cmV0dXJuIG5ldyBURXQuUHJveHlEcmF3ZXIoKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBDRXQuTGluZVNWR0RyYXdlcn0pLChmdW5jdGlvbihuKXtyZXR1cm4gbmV3IEVFdC5DYW52YXNEcmF3ZXIobixDRXQubWFrZUxpbmVDYW52YXNEcmF3U3RlcCgoZnVuY3Rpb24oKXtyZXR1cm4gZS5fZDNMaW5lRmFjdG9yeSh0KX0pKSl9KSl9LGUucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbihlKXt2YXIgbj10LnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHkuY2FsbCh0aGlzLGUpO2lmKCF0aGlzLl9hdXRvcmFuZ2VTbW9vdGgpcmV0dXJuIG47aWYodGhpcy5hdXRvcmFuZ2VNb2RlKCkhPT1lKXJldHVybiBuO2lmKCJ4IiE9PXRoaXMuYXV0b3JhbmdlTW9kZSgpJiYieSIhPT10aGlzLmF1dG9yYW5nZU1vZGUoKSlyZXR1cm4gbjt2YXIgaSxyPXRoaXMuX2dldEVkZ2VJbnRlcnNlY3Rpb25Qb2ludHMoKTtyZXR1cm4gaT0ieSI9PT10aGlzLmF1dG9yYW5nZU1vZGUoKT9yLmxlZnQuY29uY2F0KHIucmlnaHQpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQueX0pKTpyLnRvcC5jb25jYXQoci5ib3R0b20pLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQueH0pKSxuLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIFNFdC5leHRlbnQoU0V0Lm1lcmdlKFt0LGldKSl9KSl9LGUucHJvdG90eXBlLl9nZXRFZGdlSW50ZXJzZWN0aW9uUG9pbnRzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZighKHRoaXMueSgpLnNjYWxlIGluc3RhbmNlb2Yga0V0LlF1YW50aXRhdGl2ZVNjYWxlJiZ0aGlzLngoKS5zY2FsZSBpbnN0YW5jZW9mIGtFdC5RdWFudGl0YXRpdmVTY2FsZSkpcmV0dXJue2xlZnQ6W10scmlnaHQ6W10sdG9wOltdLGJvdHRvbTpbXX07dmFyIGU9dGhpcy55KCkuc2NhbGUsbj10aGlzLngoKS5zY2FsZSxpPXtsZWZ0OltdLHJpZ2h0OltdLHRvcDpbXSxib3R0b206W119LHI9bi5zY2FsZShuLmRvbWFpbigpWzBdKSxvPW4uc2NhbGUobi5kb21haW4oKVsxXSksYT1lLnNjYWxlKGUuZG9tYWluKClbMF0pLHM9ZS5zY2FsZShlLmRvbWFpbigpWzFdKTtyZXR1cm4gdGhpcy5kYXRhc2V0cygpLmZvckVhY2goKGZ1bmN0aW9uKGwpe2Zvcih2YXIgYyx1LGgsZCxwPWwuZGF0YSgpLGY9MTtmPHAubGVuZ3RoO2YrKyljPWh8fG4uc2NhbGUodC54KCkuYWNjZXNzb3IocFtmLTFdLGYtMSxsKSksdT1kfHxlLnNjYWxlKHQueSgpLmFjY2Vzc29yKHBbZi0xXSxmLTEsbCkpLGg9bi5zY2FsZSh0LngoKS5hY2Nlc3NvcihwW2ZdLGYsbCkpLGQ9ZS5zY2FsZSh0LnkoKS5hY2Nlc3NvcihwW2ZdLGYsbCkpLGM8cj09cjw9aCYmaS5sZWZ0LnB1c2goe3g6cix5OmUuaW52ZXJ0KHUrKHItYykqKGQtdSkvKGgtYykpfSksYzxvPT1vPD1oJiZpLnJpZ2h0LnB1c2goe3g6byx5OmUuaW52ZXJ0KHUrKG8tYykqKGQtdSkvKGgtYykpfSksdTxzPT1zPD1kJiZpLnRvcC5wdXNoKHt4Om4uaW52ZXJ0KGMrKHMtdSkqKGgtYykvKGQtdSkpLHk6c30pLHU8YT09YTw9ZCYmaS5ib3R0b20ucHVzaCh7eDpuLmludmVydChjKyhhLXUpKihoLWMpLyhkLXUpKSx5OmF9KX0pKSxpfSxlLnByb3RvdHlwZS5fZ2V0UmVzZXRZRnVuY3Rpb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnkoKS5zY2FsZS5kb21haW4oKSxlPU1hdGgubWF4KHRbMF0sdFsxXSksbj1NYXRoLm1pbih0WzBdLHRbMV0pLGk9ZTwwJiZlfHxuPjAmJm58fDAscj10aGlzLnkoKS5zY2FsZS5zY2FsZShpKTtyZXR1cm4gZnVuY3Rpb24odCxlLG4pe3JldHVybiByfX0sZS5wcm90b3R5cGUuX2dlbmVyYXRlRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7dmFyIHQ9W107aWYodGhpcy5fYW5pbWF0ZU9uTmV4dFJlbmRlcigpKXt2YXIgZT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTtlLmQ9dGhpcy5fY29uc3RydWN0TGluZVByb2plY3RvcihORXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLHRoaXMuX2dldFJlc2V0WUZ1bmN0aW9uKCkpLHQucHVzaCh7YXR0clRvUHJvamVjdG9yOmUsYW5pbWF0b3I6dGhpcy5fZ2V0QW5pbWF0b3IoUEV0LkFuaW1hdG9yLlJFU0VUKX0pfXJldHVybiB0LnB1c2goe2F0dHJUb1Byb2plY3Rvcjp0aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihQRXQuQW5pbWF0b3IuTUFJTil9KSx0fSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgZT10LnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3IuY2FsbCh0aGlzKTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7aWYoImQiIT09dCl7dmFyIG49ZVt0XTtlW3RdPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdC5sZW5ndGg+MD9uKHRbMF0sZSxpKTpudWxsfX19KSksZX0sZS5wcm90b3R5cGUuZW50aXRpZXNBdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmVudGl0eU5lYXJlc3RCeVhUaGVuWSh0KTtyZXR1cm4gbnVsbCE9ZT9bZV06W119LGUucHJvdG90eXBlLmVudGl0eU5lYXJlc3RCeVhUaGVuWT1mdW5jdGlvbih0KXtmb3IodmFyIGUsbj0xLzAsaT0xLzAscj10aGlzLmJvdW5kcygpLG89dGhpcy5lbnRpdGllcygpLGE9by5sZW5ndGgscz0wO3M8YTtzKyspe3ZhciBsPW9bc107aWYoTEV0Lk1hdGgud2l0aGluKGwucG9zaXRpb24scikpe3ZhciBjPU1hdGguYWJzKHQueC1sLnBvc2l0aW9uLngpLHU9TWF0aC5hYnModC55LWwucG9zaXRpb24ueSk7KGM8bnx8Yz09PW4mJnU8aSkmJihlPWwsbj1jLGk9dSl9fXJldHVybiBlfSxlLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIGU9dC5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycy5jYWxsKHRoaXMpO3JldHVybiBlLmQ9dGhpcy5fY29uc3RydWN0TGluZVByb2plY3RvcihORXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLE5FdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSkpLGV9LGUucHJvdG90eXBlLl9jb25zdHJ1Y3RMaW5lUHJvamVjdG9yPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztyZXR1cm4gZnVuY3Rpb24oaSxyLG8pe3JldHVybiBuLl9kM0xpbmVGYWN0b3J5KG8sdCxlKShpKX19LGUucHJvdG90eXBlLl9kM0xpbmVGYWN0b3J5PWZ1bmN0aW9uKHQsZSxuKXt2b2lkIDA9PT1lJiYoZT1ORXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpKSx2b2lkIDA9PT1uJiYobj1ORXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpKTtyZXR1cm4gU0V0LmxpbmUoKS54KChmdW5jdGlvbihuLGkpe3JldHVybiBlKG4saSx0KX0pKS55KChmdW5jdGlvbihlLGkpe3JldHVybiBuKGUsaSx0KX0pKS5jdXJ2ZSh0aGlzLl9nZXRDdXJ2ZUZhY3RvcnkoKSkuZGVmaW5lZCgoZnVuY3Rpb24oaSxyKXtyZXR1cm4oZnVuY3Rpb24odCxpLHIpe3ZhciBvPWUodCxpLHIpLGE9bih0LGkscik7cmV0dXJuIExFdC5NYXRoLmlzVmFsaWROdW1iZXIobykmJkxFdC5NYXRoLmlzVmFsaWROdW1iZXIoYSl9KShpLHIsdCl9KSl9LGUucHJvdG90eXBlLl9nZXRDdXJ2ZUZhY3Rvcnk9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmN1cnZlKCk7aWYoInN0cmluZyI9PXR5cGVvZiB0KXt2YXIgZT1SRXRbdF07cmV0dXJuIG51bGw9PWU/UkV0LmxpbmVhcjplfXJldHVybiB0fSxlLnByb3RvdHlwZS5fZ2V0RGF0YVRvRHJhdz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT1uZXcgTEV0Lk1hcDtyZXR1cm4gdGhpcy5kYXRhc2V0cygpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciBpPW4uZGF0YSgpO2lmKHQuX2Nyb3BwZWRSZW5kZXJpbmdFbmFibGVkfHx0Ll9kb3duc2FtcGxpbmdFbmFibGVkKXtmb3IodmFyIHI9W10sbz1pLmxlbmd0aCxhPTA7YTxvO2ErKylyW2FdPWE7dC5fY3JvcHBlZFJlbmRlcmluZ0VuYWJsZWQmJihyPXQuX2ZpbHRlckNyb3BwZWRSZW5kZXJpbmcobixyKSksdC5fZG93bnNhbXBsaW5nRW5hYmxlZCYmKHI9dC5fZmlsdGVyRG93bnNhbXBsaW5nKG4scikpLHQuX2NvbGxhcHNlRGVuc2VWZXJ0aWNhbExpbmVzRW5hYmxlZCYmKHI9dC5fZmlsdGVyRGVuc2VMaW5lcyhuLHIpKTt2YXIgcz1bXSxsPXIubGVuZ3RoO2ZvcihhPTA7YTxsO2ErKyl7c1thXT1pW3JbYV1dfWUuc2V0KG4sW3NdKX1lbHNlIGUuc2V0KG4sW2ldKX0pKSxlfSxlLnByb3RvdHlwZS5fZmlsdGVyQ3JvcHBlZFJlbmRlcmluZz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10aGlzLGk9TkV0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxyPU5FdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSksbz10LmRhdGEoKSxhPVtdLHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gTEV0Lk1hdGguaW5SYW5nZSh0LDAsbi53aWR0aCgpKSYmTEV0Lk1hdGguaW5SYW5nZShlLDAsbi5oZWlnaHQoKSl9LGw9MDtsPGUubGVuZ3RoO2wrKyl7dmFyIGM9cyhpKG9bZVtsXV0sZVtsXSx0KSxyKG9bZVtsXV0sZVtsXSx0KSk7aWYoIWMmJm51bGwhPWVbbC0xXSYmbnVsbCE9b1tlW2wtMV1dKXt2YXIgdT1pKG9bZVtsLTFdXSxlW2wtMV0sdCksaD1yKG9bZVtsLTFdXSxlW2wtMV0sdCk7Yz1jfHxzKHUsaCl9aWYoIWMmJm51bGwhPWVbbCsxXSYmbnVsbCE9b1tlW2wrMV1dKXt2YXIgZD1pKG9bZVtsKzFdXSxlW2wrMV0sdCkscD1yKG9bZVtsKzFdXSxlW2wrMV0sdCk7Yz1jfHxzKGQscCl9YyYmYS5wdXNoKGVbbF0pfXJldHVybiBhfSxlLnByb3RvdHlwZS5fZmlsdGVyRG93bnNhbXBsaW5nPWZ1bmN0aW9uKHQsZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybltdO2Zvcih2YXIgbj10LmRhdGEoKSxpPU5FdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSkscj1ORXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpLG89W2VbMF1dLGE9ZnVuY3Rpb24obyxhKXt2YXIgcz1pKG5bZVtvXV0sZVtvXSx0KSxsPXIobltlW29dXSxlW29dLHQpLGM9aShuW2VbbysxXV0sZVtvKzFdLHQpLHU9cihuW2VbbysxXV0sZVtvKzFdLHQpO2lmKGE9PT0xLzApcmV0dXJuIE1hdGguZmxvb3Iocyk9PT1NYXRoLmZsb29yKGMpO3ZhciBoPWwrKGMtcykqYTtyZXR1cm4gTWF0aC5mbG9vcih1KT09PU1hdGguZmxvb3IoaCl9LHM9MDtzPGUubGVuZ3RoLTE7KXtmb3IodmFyIGw9ZVtzXSxjPWkobltlW3NdXSxlW3NdLHQpLHU9cihuW2Vbc11dLGVbc10sdCksaD1pKG5bZVtzKzFdXSxlW3MrMV0sdCksZD1yKG5bZVtzKzFdXSxlW3MrMV0sdCkscD1NYXRoLmZsb29yKGMpPT09TWF0aC5mbG9vcihoKT8xLzA6KGQtdSkvKGgtYyksZj1lW3NdLG09cD09PTEvMD91OmMsZz1mLF89bSx5PSEwO3M8ZS5sZW5ndGgtMSYmKHl8fGEocyxwKSk7KXtzKysseT0hMTt2YXIgdj1wPT09MS8wP3IobltlW3NdXSxlW3NdLHQpOmkobltlW3NdXSxlW3NdLHQpO3Y+XyYmKF89dixnPWVbc10pLHY8bSYmKG09dixmPWVbc10pfXZhciBiPWVbc107ZiE9PWwmJm8ucHVzaChmKSxnIT09ZiYmZyE9PWwmJm8ucHVzaChnKSxiIT09bCYmYiE9PWYmJmIhPT1nJiZvLnB1c2goYil9cmV0dXJuIG99LGUucHJvdG90eXBlLl9maWx0ZXJEZW5zZUxpbmVzPWZ1bmN0aW9uKHQsZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybltdO3ZhciBuPXQuZGF0YSgpLGk9TkV0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxyPU5FdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSk7cmV0dXJuIHRoaXMuX2J1Y2tldEJ5WCh0LGUsKGZ1bmN0aW9uKGUpe3JldHVybiBpKG5bZV0sZSx0KX0pLChmdW5jdGlvbihlKXtyZXR1cm4gcihuW2VdLGUsdCl9KSl9LGUucHJvdG90eXBlLl9idWNrZXRCeVg9ZnVuY3Rpb24odCxlLG4saSl7Zm9yKHZhciByPVtdLG89dC5kYXRhKCksYT1udWxsLHM9ZS5sZW5ndGgsbD0wO2w8PXM7KytsKXt2YXIgYz1lW2xdO2lmKG51bGwhPW9bY10pe3ZhciB1PU1hdGguZmxvb3IobihjKSksaD1pKGMpO251bGw9PWE/YT1uZXcgTEV0LkJ1Y2tldChjLHUsaCk6YS5pc0luQnVja2V0KHUpP2EuYWRkVG9CdWNrZXQoaCxjKTooci5wdXNoLmFwcGx5KHIsYS5nZXRVbmlxdWVJbmRpY2VzKCkpLGE9bmV3IExFdC5CdWNrZXQoYyx1LGgpKX19cmV0dXJuIG51bGwhPWEmJnIucHVzaC5hcHBseShyLGEuZ2V0VW5pcXVlSW5kaWNlcygpKSxyfSxlfSkoSUV0LlhZUGxvdCk7ZkV0LkxpbmU9T0V0LAovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkocEV0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgekV0PUJPLERFdD13cHQsQkV0PVh2dCxIRXQ9RF90LEZFdD1QTXQsVkV0PUJNdCxVRXQ9R1N0LGpFdD1XTXQsR0V0PWRFdCxXRXQ9c1N0LHFFdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gZS5hZGRDbGFzcygiYXJlYS1wbG90IiksZS55MCgwKSxlLmF0dHIoImZpbGwtb3BhY2l0eSIsLjI1KSxlLmF0dHIoImZpbGwiLChuZXcgQkV0LkNvbG9yKS5yYW5nZSgpWzBdKSxlLl9saW5lRHJhd2Vycz1uZXcgSEV0Lk1hcCxlfXJldHVybiB6RXQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUueT1mdW5jdGlvbihuLGkpe2lmKG51bGw9PW4pcmV0dXJuIHQucHJvdG90eXBlLnkuY2FsbCh0aGlzKTtpZihudWxsPT1pP3QucHJvdG90eXBlLnkuY2FsbCh0aGlzLG4pOnQucHJvdG90eXBlLnkuY2FsbCh0aGlzLG4saSksbnVsbCE9aSl7dmFyIHI9dGhpcy55MCgpLmFjY2Vzc29yO251bGwhPXImJnRoaXMuX2JpbmRQcm9wZXJ0eShlLl9ZMF9LRVkscixpKSx0aGlzLl91cGRhdGVZU2NhbGUoKX1yZXR1cm4gdGhpc30sZS5wcm90b3R5cGUueTA9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoZS5fWTBfS0VZKTt2YXIgbj10aGlzLnkoKTtyZXR1cm4gdGhpcy5fYmluZFByb3BlcnR5KGUuX1kwX0tFWSx0LG4mJm4uc2NhbGUpLHRoaXMuX3VwZGF0ZVlTY2FsZSgpLHRoaXMucmVuZGVyKCksdGhpc30sZS5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZT1mdW5jdGlvbigpe3QucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGUuY2FsbCh0aGlzKSx0aGlzLl91cGRhdGVZU2NhbGUoKX0sZS5wcm90b3R5cGUuX2FkZERhdGFzZXQ9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztyZXR1cm4gdGhpcy5fbGluZURyYXdlcnMuc2V0KGUsbmV3IEZFdC5Qcm94eURyYXdlcigoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGpFdC5MaW5lU1ZHRHJhd2VyfSksKGZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRkV0LkNhbnZhc0RyYXdlcih0LGpFdC5tYWtlTGluZUNhbnZhc0RyYXdTdGVwKChmdW5jdGlvbigpe3ZhciB0PVdFdC5QbG90Ll9zY2FsZWRBY2Nlc3NvcihuLngoKSksaT1XRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3Iobi55KCkpO3JldHVybiBuLl9kM0xpbmVGYWN0b3J5KGUsdCxpKX0pKSl9KSkpLHQucHJvdG90eXBlLl9hZGREYXRhc2V0LmNhbGwodGhpcyxlKSx0aGlzfSxlLnByb3RvdHlwZS5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0PWZ1bmN0aW9uKGUpe3QucHJvdG90eXBlLl9jcmVhdGVOb2Rlc0ZvckRhdGFzZXQuY2FsbCh0aGlzLGUpO3ZhciBuPXRoaXMuX2xpbmVEcmF3ZXJzLmdldChlKTtyZXR1cm4ic3ZnIj09PXRoaXMucmVuZGVyZXIoKT9uLnVzZVNWRyh0aGlzLl9yZW5kZXJBcmVhKTpuLnVzZUNhbnZhcyh0aGlzLl9jYW52YXMpLG59LGUucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0Tm9kZXM9ZnVuY3Rpb24oZSl7dC5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXROb2Rlcy5jYWxsKHRoaXMsZSksdGhpcy5fbGluZURyYXdlcnMuZ2V0KGUpLnJlbW92ZSgpfSxlLnByb3RvdHlwZS5fYWRkaXRpb25hbFBhaW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuX2dlbmVyYXRlTGluZURyYXdTdGVwcygpLG49dGhpcy5fZ2V0RGF0YVRvRHJhdygpO3RoaXMuZGF0YXNldHMoKS5mb3JFYWNoKChmdW5jdGlvbihpKXt2YXIgcj1XRXQuUGxvdC5hcHBseURyYXdTdGVwcyhlLGkpO3QuX2xpbmVEcmF3ZXJzLmdldChpKS5kcmF3KG4uZ2V0KGkpLHIpfSkpfSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVMaW5lRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7dmFyIHQ9W107aWYodGhpcy5fYW5pbWF0ZU9uTmV4dFJlbmRlcigpKXt2YXIgZT10aGlzLl9nZW5lcmF0ZUxpbmVBdHRyVG9Qcm9qZWN0b3IoKTtlLmQ9dGhpcy5fY29uc3RydWN0TGluZVByb2plY3RvcihXRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLHRoaXMuX2dldFJlc2V0WUZ1bmN0aW9uKCkpLHQucHVzaCh7YXR0clRvUHJvamVjdG9yOmUsYW5pbWF0b3I6dGhpcy5fZ2V0QW5pbWF0b3IoR0V0LkFuaW1hdG9yLlJFU0VUKX0pfXJldHVybiB0LnB1c2goe2F0dHJUb1Byb2plY3Rvcjp0aGlzLl9nZW5lcmF0ZUxpbmVBdHRyVG9Qcm9qZWN0b3IoKSxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihHRXQuQW5pbWF0b3IuTUFJTil9KSx0fSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVMaW5lQXR0clRvUHJvamVjdG9yPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCk7cmV0dXJuIHQuZD10aGlzLl9jb25zdHJ1Y3RMaW5lUHJvamVjdG9yKFdFdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksV0V0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKSksdH0sZS5wcm90b3R5cGUuX2NyZWF0ZURyYXdlcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiBuZXcgVUV0LlByb3h5RHJhd2VyKChmdW5jdGlvbigpe3JldHVybiBuZXcgVkV0LkFyZWFTVkdEcmF3ZXJ9KSwoZnVuY3Rpb24obil7cmV0dXJuIG5ldyBGRXQuQ2FudmFzRHJhd2VyKG4sVkV0Lm1ha2VBcmVhQ2FudmFzRHJhd1N0ZXAoKGZ1bmN0aW9uKCl7dmFyIG49ZS5fY29vcmRpbmF0ZVByb2plY3RvcnMoKSxpPW5bMF0scj1uWzFdLG89blsyXSxhPWUuX2NyZWF0ZURlZmluZWRQcm9qZWN0b3IoaSxyKTtyZXR1cm4gZS5fY3JlYXRlQXJlYUdlbmVyYXRvcihpLHIsbyxhLHQpfSksKGZ1bmN0aW9uKCl7dmFyIG49ZS5fY29vcmRpbmF0ZVByb2plY3RvcnMoKSxpPW5bMF0scj1uWzFdLG89ZS5fY3JlYXRlRGVmaW5lZFByb2plY3RvcihpLHIpO3JldHVybiBlLl9jcmVhdGVUb3BMaW5lR2VuZXJhdG9yKGkscixvLHQpfSkpKX0pKX0sZS5wcm90b3R5cGUuX2dlbmVyYXRlRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7dmFyIHQ9W107aWYodGhpcy5fYW5pbWF0ZU9uTmV4dFJlbmRlcigpKXt2YXIgZT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTtlLmQ9dGhpcy5fY29uc3RydWN0QXJlYVByb2plY3RvcihXRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLHRoaXMuX2dldFJlc2V0WUZ1bmN0aW9uKCksV0V0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueTAoKSkpLHQucHVzaCh7YXR0clRvUHJvamVjdG9yOmUsYW5pbWF0b3I6dGhpcy5fZ2V0QW5pbWF0b3IoR0V0LkFuaW1hdG9yLlJFU0VUKX0pfXJldHVybiB0LnB1c2goe2F0dHJUb1Byb2plY3Rvcjp0aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihHRXQuQW5pbWF0b3IuTUFJTil9KSx0fSxlLnByb3RvdHlwZS5fdXBkYXRlWVNjYWxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5nZXRFeHRlbnRzRm9yUHJvcGVydHkoInkwIiksZT1IRXQuQXJyYXkuZmxhdHRlbih0KSxuPUhFdC5BcnJheS51bmlxKGUpLGk9MT09PW4ubGVuZ3RoP25bMF06bnVsbCxyPXRoaXMueSgpLG89ciYmci5zY2FsZTtudWxsIT1vJiYobnVsbCE9dGhpcy5fY29uc3RhbnRCYXNlbGluZVZhbHVlUHJvdmlkZXImJihvLnJlbW92ZVBhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXIodGhpcy5fY29uc3RhbnRCYXNlbGluZVZhbHVlUHJvdmlkZXIpLHRoaXMuX2NvbnN0YW50QmFzZWxpbmVWYWx1ZVByb3ZpZGVyPW51bGwpLG51bGwhPWkmJih0aGlzLl9jb25zdGFudEJhc2VsaW5lVmFsdWVQcm92aWRlcj1mdW5jdGlvbigpe3JldHVybltpXX0sby5hZGRQYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVyKHRoaXMuX2NvbnN0YW50QmFzZWxpbmVWYWx1ZVByb3ZpZGVyKSkpfSxlLnByb3RvdHlwZS5fZ2V0UmVzZXRZRnVuY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4gV0V0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueTAoKSl9LGUucHJvdG90eXBlLl9jb29yZGluYXRlUHJvamVjdG9ycz1mdW5jdGlvbigpe3JldHVybltXRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLFdFdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSksV0V0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueTAoKSldfSxlLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIGU9dC5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycy5jYWxsKHRoaXMpLG49dGhpcy5fY29vcmRpbmF0ZVByb2plY3RvcnMoKTtyZXR1cm4gZS5kPXRoaXMuX2NvbnN0cnVjdEFyZWFQcm9qZWN0b3IoblswXSxuWzFdLG5bMl0pLGV9LGUucHJvdG90eXBlLnNlbGVjdGlvbnM9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztpZih2b2lkIDA9PT1lJiYoZT10aGlzLmRhdGFzZXRzKCkpLCJjYW52YXMiPT09dGhpcy5yZW5kZXJlcigpKXJldHVybiBERXQuc2VsZWN0QWxsKCk7dmFyIGk9dC5wcm90b3R5cGUuc2VsZWN0aW9ucy5jYWxsKHRoaXMsZSkubm9kZXMoKTtyZXR1cm4gZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBuLl9saW5lRHJhd2Vycy5nZXQodCl9KSkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dH0pKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gaS5wdXNoLmFwcGx5KGksdC5nZXRWaXN1YWxQcmltaXRpdmVzKCkpfSkpLERFdC5zZWxlY3RBbGwoaSl9LGUucHJvdG90eXBlLl9jb25zdHJ1Y3RBcmVhUHJvamVjdG9yPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10aGlzLHI9dGhpcy5fY3JlYXRlRGVmaW5lZFByb2plY3RvcihXRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLFdFdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSkpO3JldHVybiBmdW5jdGlvbihvLGEscyl7cmV0dXJuIGkuX2NyZWF0ZUFyZWFHZW5lcmF0b3IodCxlLG4scixzKShvKX19LGUucHJvdG90eXBlLl9jcmVhdGVEZWZpbmVkUHJvamVjdG9yPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSxyKXt2YXIgbz10KG4saSxyKSxhPWUobixpLHIpO3JldHVybiBIRXQuTWF0aC5pc1ZhbGlkTnVtYmVyKG8pJiZIRXQuTWF0aC5pc1ZhbGlkTnVtYmVyKGEpfX0sZS5wcm90b3R5cGUuX2NyZWF0ZUFyZWFHZW5lcmF0b3I9ZnVuY3Rpb24odCxlLG4saSxyKXt2YXIgbz10aGlzLl9nZXRDdXJ2ZUZhY3RvcnkoKTtyZXR1cm4gREV0LmFyZWEoKS54KChmdW5jdGlvbihlLG4pe3JldHVybiB0KGUsbixyKX0pKS55MSgoZnVuY3Rpb24odCxuKXtyZXR1cm4gZSh0LG4scil9KSkueTAoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odCxlLHIpfSkpLmN1cnZlKG8pLmRlZmluZWQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkodCxlLHIpfSkpfSxlLnByb3RvdHlwZS5fY3JlYXRlVG9wTGluZUdlbmVyYXRvcj1mdW5jdGlvbih0LGUsbixpKXt2YXIgcj10aGlzLl9nZXRDdXJ2ZUZhY3RvcnkoKTtyZXR1cm4gREV0LmxpbmUoKS54KChmdW5jdGlvbihlLG4pe3JldHVybiB0KGUsbixpKX0pKS55KChmdW5jdGlvbih0LG4pe3JldHVybiBlKHQsbixpKX0pKS5jdXJ2ZShyKS5kZWZpbmVkKChmdW5jdGlvbih0LGUpe3JldHVybiBuKHQsZSxpKX0pKX0sZS5fWTBfS0VZPSJ5MCIsZX0pKGZFdC5MaW5lKTtwRXQuQXJlYT1xRXQ7dmFyIFlFdD17fTshKGZ1bmN0aW9uKHQpewovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGU9Qk8sbj13cHQsaT1MZ3Qscj1mZ3Qsbz1wdnQsYT1QTXQscz1HU3QsbD1aTXQsYz1jU3QsdT1YdnQsaD1MYnQsZD1EX3QscD1iZ3QsZj1kRXQsbT1zU3QsZz1tRXQ7dC5CYXJPcmllbnRhdGlvbj1wLm1ha2VFbnVtKFsidmVydGljYWwiLCJob3Jpem9udGFsIl0pLHQuTGFiZWxzUG9zaXRpb249cC5tYWtlRW51bShbInN0YXJ0IiwibWlkZGxlIiwiZW5kIiwib3V0c2lkZSJdKSx0LkJhckFsaWdubWVudD1wLm1ha2VFbnVtKFsic3RhcnQiLCJtaWRkbGUiLCJlbmQiXSk7dmFyIF89KGZ1bmN0aW9uKHApe2Z1bmN0aW9uIGcoZSl7dm9pZCAwPT09ZSYmKGU9InZlcnRpY2FsIik7dmFyIG49cC5jYWxsKHRoaXMpfHx0aGlzO2lmKG4uX2xhYmVsRm9ybWF0dGVyPW8uaWRlbnRpdHkoKSxuLl9sYWJlbHNFbmFibGVkPSExLG4uX2xhYmVsc1Bvc2l0aW9uPXQuTGFiZWxzUG9zaXRpb24uZW5kLG4uX2hpZGVCYXJzSWZBbnlBcmVUb29XaWRlPSEwLG4uX2JhckFsaWdubWVudD0ibWlkZGxlIixuLl9jb21wdXRlQmFyUGl4ZWxUaGlja25lc3M9Yy5tZW1vaXplKHkpLG4uX2ZpeGVkQmFyUGl4ZWxUaGlja25lc3M9ITAsbi5hZGRDbGFzcygiYmFyLXBsb3QiKSwidmVydGljYWwiIT09ZSYmImhvcml6b250YWwiIT09ZSl0aHJvdyBuZXcgRXJyb3IoZSsiIGlzIG5vdCBhIHZhbGlkIG9yaWVudGF0aW9uIGZvciBQbG90cy5CYXIiKTtyZXR1cm4gbi5faXNWZXJ0aWNhbD0idmVydGljYWwiPT09ZSxuLmFuaW1hdG9yKCJiYXNlbGluZSIsbmV3IHIuTnVsbCksbi5hdHRyKCJmaWxsIiwobmV3IHUuQ29sb3IpLnJhbmdlKClbMF0pLG4uYXR0cihnLl9CQVJfVEhJQ0tORVNTX0tFWSwoZnVuY3Rpb24oKXtyZXR1cm4gbi5fYmFyUGl4ZWxUaGlja25lc3MoKX0pKSxuLl9sYWJlbENvbmZpZz1uZXcgZC5NYXAsbi5fYmFzZWxpbmVWYWx1ZVByb3ZpZGVyPWZ1bmN0aW9uKCl7cmV0dXJuW24uYmFzZWxpbmVWYWx1ZSgpXX0sbn1yZXR1cm4gZS5fX2V4dGVuZHMoZyxwKSxnLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gcC5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMsdCxlLG4pLHRoaXMuX3VwZGF0ZUV4dGVudHMoKSx0aGlzfSxnLnByb3RvdHlwZS54PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQ/cC5wcm90b3R5cGUueC5jYWxsKHRoaXMpOihudWxsPT1lP3AucHJvdG90eXBlLnguY2FsbCh0aGlzLHQpOnAucHJvdG90eXBlLnguY2FsbCh0aGlzLHQsZSksdGhpcy5fdXBkYXRlVGhpY2tuZXNzQXR0cigpLHRoaXMuX3VwZGF0ZUxlbmd0aFNjYWxlKCksdGhpcyl9LGcucHJvdG90eXBlLnk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbnVsbD09dD9wLnByb3RvdHlwZS55LmNhbGwodGhpcyk6KG51bGw9PWU/cC5wcm90b3R5cGUueS5jYWxsKHRoaXMsdCk6cC5wcm90b3R5cGUueS5jYWxsKHRoaXMsdCxlKSx0aGlzLl91cGRhdGVMZW5ndGhTY2FsZSgpLHRoaXMpfSxnLnByb3RvdHlwZS5sZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNWZXJ0aWNhbD90aGlzLnkoKTp0aGlzLngoKX0sZy5wcm90b3R5cGUucG9zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNWZXJ0aWNhbD90aGlzLngoKTp0aGlzLnkoKX0sZy5wcm90b3R5cGUuYmFyRW5kPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KGcuX0JBUl9FTkRfS0VZKTt2YXIgZT10aGlzLnBvc2l0aW9uKCk7cmV0dXJuIHRoaXMuX2JpbmRQcm9wZXJ0eShnLl9CQVJfRU5EX0tFWSx0LGUmJmUuc2NhbGUpLHRoaXMuX3VwZGF0ZVRoaWNrbmVzc0F0dHIoKSx0aGlzLl91cGRhdGVMZW5ndGhTY2FsZSgpLHRoaXMucmVuZGVyKCksdGhpc30sZy5wcm90b3R5cGUuYmFyQWxpZ25tZW50PWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2JhckFsaWdubWVudDoodGhpcy5fYmFyQWxpZ25tZW50PXQsdGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpLHRoaXMucmVuZGVyKCksdGhpcyl9LGcucHJvdG90eXBlLm9yaWVudGF0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzVmVydGljYWw/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCJ9LGcucHJvdG90eXBlLl9jcmVhdGVEcmF3ZXI9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHMuUHJveHlEcmF3ZXIoKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBsLlJlY3RhbmdsZVNWR0RyYXdlcihnLl9CQVJfQVJFQV9DTEFTUyl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBhLlJlY3RhbmdsZUNhbnZhc0RyYXdlcih0KX0pKX0sZy5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7cC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyksdGhpcy5fYmFzZWxpbmU9dGhpcy5fcmVuZGVyQXJlYS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKCJiYXNlbGluZSIsITApfSxnLnByb3RvdHlwZS5iYXNlbGluZVZhbHVlPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpe2lmKG51bGwhPXRoaXMuX2Jhc2VsaW5lVmFsdWUpcmV0dXJuIHRoaXMuX2Jhc2VsaW5lVmFsdWU7aWYoIXRoaXMuX3Byb2plY3RvcnNSZWFkeSgpKXJldHVybiAwO3ZhciBlPXRoaXMubGVuZ3RoKCkuc2NhbGU7cmV0dXJuIGUmJmUgaW5zdGFuY2VvZiB1LlRpbWU/bmV3IERhdGUoMCk6MH1yZXR1cm4gdGhpcy5fYmFzZWxpbmVWYWx1ZT10LHRoaXMuX3VwZGF0ZUxlbmd0aFNjYWxlKCksdGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpLHRoaXMucmVuZGVyKCksdGhpc30sZy5wcm90b3R5cGUuYWRkRGF0YXNldD1mdW5jdGlvbih0KXtyZXR1cm4gcC5wcm90b3R5cGUuYWRkRGF0YXNldC5jYWxsKHRoaXMsdCksdGhpc30sZy5wcm90b3R5cGUuX2FkZERhdGFzZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHAucHJvdG90eXBlLl9hZGREYXRhc2V0LmNhbGwodGhpcyx0KSx0aGlzfSxnLnByb3RvdHlwZS5yZW1vdmVEYXRhc2V0PWZ1bmN0aW9uKHQpe3JldHVybiBwLnByb3RvdHlwZS5yZW1vdmVEYXRhc2V0LmNhbGwodGhpcyx0KSx0aGlzfSxnLnByb3RvdHlwZS5fcmVtb3ZlRGF0YXNldD1mdW5jdGlvbih0KXtyZXR1cm4gcC5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXQuY2FsbCh0aGlzLHQpLHRoaXN9LGcucHJvdG90eXBlLmRhdGFzZXRzPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3AucHJvdG90eXBlLmRhdGFzZXRzLmNhbGwodGhpcyk6KHAucHJvdG90eXBlLmRhdGFzZXRzLmNhbGwodGhpcyx0KSx0aGlzKX0sZy5wcm90b3R5cGUubGFiZWxzRW5hYmxlZD1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3RoaXMuX2xhYmVsc0VuYWJsZWQ6KHRoaXMuX2xhYmVsc0VuYWJsZWQ9dCxudWxsIT1lJiYodGhpcy5fbGFiZWxzUG9zaXRpb249ZSksdGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpLHRoaXMucmVuZGVyKCksdGhpcyl9LGcucHJvdG90eXBlLmxhYmVsRm9ybWF0dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2xhYmVsRm9ybWF0dGVyOih0aGlzLl9sYWJlbEZvcm1hdHRlcj10LHRoaXMuX2NsZWFyQXR0clRvUHJvamVjdG9yQ2FjaGUoKSx0aGlzLnJlbmRlcigpLHRoaXMpfSxnLnByb3RvdHlwZS5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0PWZ1bmN0aW9uKHQpe3ZhciBlPXAucHJvdG90eXBlLl9jcmVhdGVOb2Rlc0ZvckRhdGFzZXQuY2FsbCh0aGlzLHQpLG49dGhpcy5fcmVuZGVyQXJlYS5hcHBlbmQoImciKS5jbGFzc2VkKGcuX0xBQkVMX0FSRUFfQ0xBU1MsITApLHI9bmV3IGkuU3ZnQ29udGV4dChuLm5vZGUoKSksbz1uZXcgaS5DYWNoZU1lYXN1cmVyKHIpLGE9bmV3IGkuV3JpdGVyKG8scik7cmV0dXJuIHRoaXMuX2xhYmVsQ29uZmlnLnNldCh0LHtsYWJlbEFyZWE6bixtZWFzdXJlcjpvLHdyaXRlcjphfSksZX0sZy5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXROb2Rlcz1mdW5jdGlvbih0KXtwLnByb3RvdHlwZS5fcmVtb3ZlRGF0YXNldE5vZGVzLmNhbGwodGhpcyx0KTt2YXIgZT10aGlzLl9sYWJlbENvbmZpZy5nZXQodCk7bnVsbCE9ZSYmKGUubGFiZWxBcmVhLnJlbW92ZSgpLHRoaXMuX2xhYmVsQ29uZmlnLmRlbGV0ZSh0KSl9LGcucHJvdG90eXBlLmVudGl0eU5lYXJlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPWZ1bmN0aW9uKCl7dmFyIG49ZS5faXNWZXJ0aWNhbD9lLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0eU5lYXJlc3RYKHQpOmUuX2dldEVudGl0eVN0b3JlKCkuZW50aXR5TmVhcmVzdFkodCk7cmV0dXJuIHZvaWQgMD09PW4/dm9pZCAwOmUuX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eShuKX07cmV0dXJuIHRoaXMuX2ZpeGVkQmFyUGl4ZWxUaGlja25lc3M/dGhpcy5fY29tcHV0ZUJhclBpeGVsVGhpY2tuZXNzLmRvTG9ja2VkKG4pOm4oKX0sZy5wcm90b3R5cGUuZW50aXRpZXNBdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49ZnVuY3Rpb24oKXtyZXR1cm4gZS5fZW50aXRpZXNJbnRlcnNlY3RpbmcodC54LHQueSl9O3JldHVybiB0aGlzLl9maXhlZEJhclBpeGVsVGhpY2tuZXNzP3RoaXMuX2NvbXB1dGVCYXJQaXhlbFRoaWNrbmVzcy5kb0xvY2tlZChuKTpuKCl9LGcucHJvdG90eXBlLmVudGl0aWVzSW5Cb3VuZHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPWZ1bmN0aW9uKCl7cmV0dXJuIHAucHJvdG90eXBlLmVudGl0aWVzSW5Cb3VuZHMuY2FsbChlLHQpfTtyZXR1cm4gdGhpcy5fZml4ZWRCYXJQaXhlbFRoaWNrbmVzcz90aGlzLl9jb21wdXRlQmFyUGl4ZWxUaGlja25lc3MuZG9Mb2NrZWQobik6bigpfSxnLnByb3RvdHlwZS5lbnRpdGllc0luWEJvdW5kcz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49ZnVuY3Rpb24oKXtyZXR1cm4gcC5wcm90b3R5cGUuZW50aXRpZXNJblhCb3VuZHMuY2FsbChlLHQpfTtyZXR1cm4gdGhpcy5fZml4ZWRCYXJQaXhlbFRoaWNrbmVzcz90aGlzLl9jb21wdXRlQmFyUGl4ZWxUaGlja25lc3MuZG9Mb2NrZWQobik6bigpfSxnLnByb3RvdHlwZS5lbnRpdGllc0luWUJvdW5kcz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49ZnVuY3Rpb24oKXtyZXR1cm4gcC5wcm90b3R5cGUuZW50aXRpZXNJbllCb3VuZHMuY2FsbChlLHQpfTtyZXR1cm4gdGhpcy5fZml4ZWRCYXJQaXhlbFRoaWNrbmVzcz90aGlzLl9jb21wdXRlQmFyUGl4ZWxUaGlja25lc3MuZG9Mb2NrZWQobik6bigpfSxnLnByb3RvdHlwZS5fZW50aXRpZXNJbnRlcnNlY3Rpbmc9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49W10saT10aGlzLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0aWVzKCkscj1pLmxlbmd0aCxvPTA7bzxyO28rKyl7dmFyIGE9aVtvXTtkLkRPTS5pbnRlcnNlY3RzQkJveCh0LGUsdGhpcy5fZW50aXR5Qm91bmRzKGEpKSYmbi5wdXNoKHRoaXMuX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eShhKSl9cmV0dXJuIG59LGcucHJvdG90eXBlLl91cGRhdGVMZW5ndGhTY2FsZT1mdW5jdGlvbigpe2lmKHRoaXMuX3Byb2plY3RvcnNSZWFkeSgpKXt2YXIgdD10aGlzLmxlbmd0aCgpLnNjYWxlO3QgaW5zdGFuY2VvZiBoLlF1YW50aXRhdGl2ZVNjYWxlJiYodC5hZGRQYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVyKHRoaXMuX2Jhc2VsaW5lVmFsdWVQcm92aWRlciksdC5hZGRJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKHRoaXMuX2Jhc2VsaW5lVmFsdWVQcm92aWRlcikpfX0sZy5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLl9iYXJQaXhlbFRoaWNrbmVzcygpLHRoaXMuX2NvbXB1dGVCYXJQaXhlbFRoaWNrbmVzcy5kb0xvY2tlZCgoZnVuY3Rpb24oKXtyZXR1cm4gcC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0KX0pKX0sZy5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49dGhpcy5sZW5ndGgoKS5zY2FsZS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSksaT17eDE6dGhpcy5faXNWZXJ0aWNhbD8wOm4seTE6dGhpcy5faXNWZXJ0aWNhbD9uOjAseDI6dGhpcy5faXNWZXJ0aWNhbD90aGlzLndpZHRoKCk6bix5Mjp0aGlzLl9pc1ZlcnRpY2FsP246dGhpcy5oZWlnaHQoKX07dGhpcy5fZ2V0QW5pbWF0b3IoImJhc2VsaW5lIikuYW5pbWF0ZSh0aGlzLl9iYXNlbGluZSxpKSx0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2xhYmVsQ29uZmlnLmdldCh0KS5sYWJlbEFyZWEuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCl9KSksdGhpcy5fbGFiZWxzRW5hYmxlZCYmZC5XaW5kb3cuc2V0VGltZW91dCgoZnVuY3Rpb24oKXtyZXR1cm4gZS5fZHJhd0xhYmVscygpfSksdCl9LGcucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbih0KXt2YXIgZSxpPXRoaXMscj1wLnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHkuY2FsbCh0aGlzLHQpO2lmKCJ4Ij09PXQmJnRoaXMuX2lzVmVydGljYWwpZT10aGlzLngoKTtlbHNle2lmKCJ5IiE9PXR8fHRoaXMuX2lzVmVydGljYWwpcmV0dXJuIHI7ZT10aGlzLnkoKX1pZighKGUmJmUuc2NhbGUmJmUuc2NhbGUgaW5zdGFuY2VvZiBoLlF1YW50aXRhdGl2ZVNjYWxlKSlyZXR1cm4gcjt2YXIgbz1lLnNjYWxlLGE9dGhpcy5fYmFyUGl4ZWxUaGlja25lc3MoKTtyZXR1cm4gcj1yLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG4uZXh0ZW50KFtvLmludmVydChpLl9nZXRQb3NpdGlvbkF0dHIoby5zY2FsZSh0WzBdKSxhKSksby5pbnZlcnQoaS5fZ2V0UG9zaXRpb25BdHRyKG8uc2NhbGUodFswXSksYSkrYSksby5pbnZlcnQoaS5fZ2V0UG9zaXRpb25BdHRyKG8uc2NhbGUodFsxXSksYSkpLG8uaW52ZXJ0KGkuX2dldFBvc2l0aW9uQXR0cihvLnNjYWxlKHRbMV0pLGEpK2EpXSl9KSl9LGcucHJvdG90eXBlLl9nZXRQb3NpdGlvbkF0dHI9ZnVuY3Rpb24odCxlKXtzd2l0Y2godGhpcy5faXNWZXJ0aWNhbHx8KHQtPWUsZSo9LTEpLHRoaXMuX2JhckFsaWdubWVudCl7Y2FzZSJzdGFydCI6cmV0dXJuIHQ7Y2FzZSJlbmQiOnJldHVybiB0LWU7Y2FzZSJtaWRkbGUiOmRlZmF1bHQ6cmV0dXJuIHQtZS8yfX0sZy5wcm90b3R5cGUuX2RyYXdMYWJlbHM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5fZ2V0RGF0YVRvRHJhdygpLG49dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksaT10aGlzLmRhdGFzZXRzKCkuc29tZSgoZnVuY3Rpb24oaSl7cmV0dXJuIGUuZ2V0KGkpLnNvbWUoKGZ1bmN0aW9uKGUscil7cmV0dXJuIG51bGwhPWUmJnQuX2RyYXdMYWJlbChlLHIsaSxuKX0pKX0pKTt0aGlzLl9oaWRlQmFyc0lmQW55QXJlVG9vV2lkZSYmaSYmdGhpcy5kYXRhc2V0cygpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiB0Ll9sYWJlbENvbmZpZy5nZXQoZSkubGFiZWxBcmVhLnNlbGVjdEFsbCgiZyIpLnJlbW92ZSgpfSkpfSxnLnByb3RvdHlwZS5fZHJhd0xhYmVsPWZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByPXRoaXMuX2xhYmVsQ29uZmlnLmdldChuKSxvPXIubGFiZWxBcmVhLGE9ci5tZWFzdXJlcixzPXIud3JpdGVyLGw9KDAsdGhpcy5sZW5ndGgoKS5hY2Nlc3NvcikodCxlLG4pLGM9dGhpcy5sZW5ndGgoKS5zY2FsZSx1PW51bGwhPWM/Yy5zY2FsZShsKTpsLGg9bnVsbCE9Yz9jLnNjYWxlKHRoaXMuYmFzZWxpbmVWYWx1ZSgpKTp0aGlzLmJhc2VsaW5lVmFsdWUoKSxkPXt4OmkueCh0LGUsbikseTppLnkodCxlLG4pfSxwPXt3aWR0aDppLndpZHRoKHQsZSxuKSxoZWlnaHQ6aS5oZWlnaHQodCxlLG4pfSxmPXRoaXMuX2xhYmVsRm9ybWF0dGVyKGwsdCxlLG4pLG09YS5tZWFzdXJlKGYpLGc9dGhpcy5fc2hvdWxkU2hvd0xhYmVsT25CYXIoZCxwLG0pLF89dGhpcy5fY2FsY3VsYXRlTGFiZWxQcm9wZXJ0aWVzKGQscCxtLGcsdGhpcy5faXNWZXJ0aWNhbD91PD1oOnU8aCkseT1fLmNvbnRhaW5lckRpbWVuc2lvbnMsdj1fLmxhYmVsQ29udGFpbmVyT3JpZ2luLGI9Xy5sYWJlbE9yaWdpbix4PV8uYWxpZ25tZW50LHc9aS5maWxsKHQsZSxuKSxTPXRoaXMuX2NyZWF0ZUxhYmVsQ29udGFpbmVyKG8sdixiLG0sZyx3KTtyZXR1cm4gcy53cml0ZShmLHkud2lkdGgseS5oZWlnaHQse3hBbGlnbjp4LngseUFsaWduOngueX0sUy5ub2RlKCkpLHRoaXMuX2lzVmVydGljYWw/cC53aWR0aDxtLndpZHRoOnAuaGVpZ2h0PG0uaGVpZ2h0fSxnLnByb3RvdHlwZS5fc2hvdWxkU2hvd0xhYmVsT25CYXI9ZnVuY3Rpb24oZSxuLGkpe2lmKHRoaXMuX2xhYmVsc1Bvc2l0aW9uPT09dC5MYWJlbHNQb3NpdGlvbi5vdXRzaWRlKXJldHVybiExO3ZhciByPXRoaXMuX2lzVmVydGljYWw/ZS55OmUueCxvPXRoaXMuX2lzVmVydGljYWw/bi5oZWlnaHQ6bi53aWR0aCxhPXRoaXMuX2lzVmVydGljYWw/dGhpcy5oZWlnaHQoKTp0aGlzLndpZHRoKCkscz1yK28sbD1vO3JldHVybiBzPmE/bD1hLXI6cjwwJiYobD1zKSwodGhpcy5faXNWZXJ0aWNhbD9pLmhlaWdodDppLndpZHRoKStnLl9MQUJFTF9NQVJHSU5fSU5TSURFX0JBUjw9bH0sZy5wcm90b3R5cGUuX2NhbGN1bGF0ZUxhYmVsUHJvcGVydGllcz1mdW5jdGlvbihlLG4saSxyLG8pe3ZhciBhPXRoaXMscz10aGlzLl9pc1ZlcnRpY2FsP2UueTplLngsbD10aGlzLl9pc1ZlcnRpY2FsP24uaGVpZ2h0Om4ud2lkdGgsYz10aGlzLl9pc1ZlcnRpY2FsP2kuaGVpZ2h0Omkud2lkdGgsdT0iY2VudGVyIixoPWwsZD1zLHA9cyxmPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlInRvcExlZnQiOnJldHVybiB1PWEuX2lzVmVydGljYWw/InRvcCI6ImxlZnQiLGQrPWcuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSLHZvaWQocCs9Zy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVIpO2Nhc2UiY2VudGVyIjpyZXR1cm4gdm9pZChwKz0obCtjKS8yKTtjYXNlImJvdHRvbVJpZ2h0IjpyZXR1cm4gdT1hLl9pc1ZlcnRpY2FsPyJib3R0b20iOiJyaWdodCIsZC09Zy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVIsdm9pZChwKz1oLWcuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSLWMpfX07aWYocilzd2l0Y2godGhpcy5fbGFiZWxzUG9zaXRpb24pe2Nhc2UgdC5MYWJlbHNQb3NpdGlvbi5zdGFydDpmKG8/ImJvdHRvbVJpZ2h0IjoidG9wTGVmdCIpO2JyZWFrO2Nhc2UgdC5MYWJlbHNQb3NpdGlvbi5taWRkbGU6ZigiY2VudGVyIik7YnJlYWs7Y2FzZSB0LkxhYmVsc1Bvc2l0aW9uLmVuZDpmKG8/InRvcExlZnQiOiJib3R0b21SaWdodCIpfWVsc2Ugbz8odT10aGlzLl9pc1ZlcnRpY2FsPyJ0b3AiOiJsZWZ0IixoPWwrZy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVIrYyxkLT1nLl9MQUJFTF9NQVJHSU5fSU5TSURFX0JBUitjLHAtPWcuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSK2MpOih1PXRoaXMuX2lzVmVydGljYWw/ImJvdHRvbSI6InJpZ2h0IixoPWwrZy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVIrYyxwKz1sK2cuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSKTtyZXR1cm57Y29udGFpbmVyRGltZW5zaW9uczp7d2lkdGg6dGhpcy5faXNWZXJ0aWNhbD9uLndpZHRoOmgsaGVpZ2h0OnRoaXMuX2lzVmVydGljYWw/aDpuLmhlaWdodH0sbGFiZWxDb250YWluZXJPcmlnaW46e3g6dGhpcy5faXNWZXJ0aWNhbD9lLng6ZCx5OnRoaXMuX2lzVmVydGljYWw/ZDplLnl9LGxhYmVsT3JpZ2luOnt4OnRoaXMuX2lzVmVydGljYWw/ZS54K24ud2lkdGgvMi1pLndpZHRoLzI6cCx5OnRoaXMuX2lzVmVydGljYWw/cDplLnkrbi5oZWlnaHQvMi1pLmhlaWdodC8yfSxhbGlnbm1lbnQ6e3g6dGhpcy5faXNWZXJ0aWNhbD8iY2VudGVyIjp1LHk6dGhpcy5faXNWZXJ0aWNhbD91OiJjZW50ZXIifX19LGcucHJvdG90eXBlLl9jcmVhdGVMYWJlbENvbnRhaW5lcj1mdW5jdGlvbih0LGUsbixpLHIsbyl7dmFyIGE9dC5hcHBlbmQoImciKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitlLngrIiwgIitlLnkrIikiKTtpZihyKXthLmNsYXNzZWQoIm9uLWJhci1sYWJlbCIsITApO3ZhciBzPTEuNipkLkNvbG9yLmNvbnRyYXN0KCJ3aGl0ZSIsbyk8ZC5Db2xvci5jb250cmFzdCgiYmxhY2siLG8pO2EuY2xhc3NlZChzPyJkYXJrLWxhYmVsIjoibGlnaHQtbGFiZWwiLCEwKX1lbHNlIGEuY2xhc3NlZCgib2ZmLWJhci1sYWJlbCIsITApO3JldHVybiBhfSxnLnByb3RvdHlwZS5fZ2VuZXJhdGVEcmF3U3RlcHM9ZnVuY3Rpb24oKXt2YXIgdD1bXTtpZih0aGlzLl9hbmltYXRlT25OZXh0UmVuZGVyKCkpe3ZhciBlPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLG49dGhpcy5sZW5ndGgoKS5zY2FsZS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSksaT10aGlzLl9pc1ZlcnRpY2FsPyJoZWlnaHQiOiJ3aWR0aCI7ZVt0aGlzLl9pc1ZlcnRpY2FsPyJ5IjoieCJdPWZ1bmN0aW9uKCl7cmV0dXJuIG59LGVbaV09ZnVuY3Rpb24oKXtyZXR1cm4gMH0sdC5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6ZSxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihmLkFuaW1hdG9yLlJFU0VUKX0pfXJldHVybiB0LnB1c2goe2F0dHJUb1Byb2plY3Rvcjp0aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihmLkFuaW1hdG9yLk1BSU4pfSksdH0sZy5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXAucHJvdG90eXBlLl9nZW5lcmF0ZUF0dHJUb1Byb2plY3Rvci5jYWxsKHRoaXMpLG49dGhpcy5sZW5ndGgoKS5zY2FsZS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSksaT10aGlzLl9pc1ZlcnRpY2FsPyJ5IjoieCIscj10aGlzLl9pc1ZlcnRpY2FsPyJ4IjoieSIsbz1tLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMucG9zaXRpb24oKSksYT1tLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMubGVuZ3RoKCkpLHM9ZnVuY3Rpb24odCxlLGkpe3JldHVybiBNYXRoLmFicyhuLWEodCxlLGkpKX0sbD1lW2cuX0JBUl9USElDS05FU1NfS0VZXSxjPWUuZ2FwLHU9bnVsbD09Yz9sOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1sKHQsZSxuKTtyZXR1cm4gaTxnLl9CQVJfR0FQTEVTU19USFJFU0hPTERfUFg/aTppLWModCxlLG4pfTtyZXR1cm4gZS53aWR0aD10aGlzLl9pc1ZlcnRpY2FsP3U6cyxlLmhlaWdodD10aGlzLl9pc1ZlcnRpY2FsP3M6dSxlW2ldPWZ1bmN0aW9uKHQsZSxpKXt2YXIgcj1hKHQsZSxpKTtyZXR1cm4gcj5uP246cn0sZVtyXT1mdW5jdGlvbihlLG4saSl7cmV0dXJuIHQuX2dldFBvc2l0aW9uQXR0cihvKGUsbixpKSxsKGUsbixpKSl9LGV9LGcucHJvdG90eXBlLl91cGRhdGVUaGlja25lc3NBdHRyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMucG9zaXRpb24oKSxuPXRoaXMuYmFyRW5kKCk7bnVsbCE9ZSYmbnVsbCE9bj8odGhpcy5fZml4ZWRCYXJQaXhlbFRoaWNrbmVzcz0hMSx0aGlzLmF0dHIoZy5fQkFSX1RISUNLTkVTU19LRVksKGZ1bmN0aW9uKHQsaSxyKXt2YXIgbz1lLmFjY2Vzc29yKHQsaSxyKSxhPW4uYWNjZXNzb3IodCxpLHIpO3JldHVybiBvPWUuc2NhbGU/ZS5zY2FsZS5zY2FsZShvKTpvLGE9bi5zY2FsZT9uLnNjYWxlLnNjYWxlKGEpOmEsTWF0aC5hYnMoYS1vKX0pKSk6KHRoaXMuX2ZpeGVkQmFyUGl4ZWxUaGlja25lc3M9ITAsdGhpcy5hdHRyKGcuX0JBUl9USElDS05FU1NfS0VZLChmdW5jdGlvbigpe3JldHVybiB0Ll9iYXJQaXhlbFRoaWNrbmVzcygpfSkpKX0sZy5wcm90b3R5cGUuX2JhclBpeGVsVGhpY2tuZXNzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZpeGVkQmFyUGl4ZWxUaGlja25lc3MmJnRoaXMuX3Byb2plY3RvcnNSZWFkeSgpP3RoaXMuX2NvbXB1dGVCYXJQaXhlbFRoaWNrbmVzcyh0aGlzLnBvc2l0aW9uKCksdGhpcy5kYXRhc2V0cygpLHRoaXMuX2lzVmVydGljYWw/dGhpcy53aWR0aCgpOnRoaXMuaGVpZ2h0KCkpOjB9LGcucHJvdG90eXBlLmVudGl0aWVzPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10JiYodD10aGlzLmRhdGFzZXRzKCkpLHRoaXMuX3Byb2plY3RvcnNSZWFkeSgpP3AucHJvdG90eXBlLmVudGl0aWVzLmNhbGwodGhpcyx0KTpbXX0sZy5wcm90b3R5cGUuX2VudGl0eUJvdW5kcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGl4ZWxCb3VuZHModC5kYXR1bSx0LmluZGV4LHQuZGF0YXNldCl9LGcucHJvdG90eXBlLl9waXhlbEJvdW5kcz1mdW5jdGlvbih0LGUsbil7dmFyIGk9dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCk7cmV0dXJue3g6aS54KHQsZSxuKSx5OmkueSh0LGUsbiksd2lkdGg6aS53aWR0aCh0LGUsbiksaGVpZ2h0OmkuaGVpZ2h0KHQsZSxuKX19LGcucHJvdG90eXBlLl9waXhlbFBvaW50PWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10aGlzLl9waXhlbEJvdW5kcyh0LGUsbikscj1tLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMuX2lzVmVydGljYWw/dGhpcy55KCk6dGhpcy54KCkpKHQsZSxuKSxvPSh0aGlzLl9pc1ZlcnRpY2FsP3RoaXMueSgpLnNjYWxlOnRoaXMueCgpLnNjYWxlKS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSk7cmV0dXJuIHRoaXMuX3BpeGVsUG9pbnRCYXIocixvLGkpfSxnLnByb3RvdHlwZS5fcGl4ZWxQb2ludEJhcj1mdW5jdGlvbih0LGUsbil7dmFyIGkscjtyZXR1cm4gdGhpcy5faXNWZXJ0aWNhbD8oaT1uLngrbi53aWR0aC8yLHI9dDw9ZT9uLnk6bi55K24uaGVpZ2h0KTooaT10Pj1lP24ueCtuLndpZHRoOm4ueCxyPW4ueStuLmhlaWdodC8yKSx7eDppLHk6cn19LGcucHJvdG90eXBlLl91bmluc3RhbGxTY2FsZUZvcktleT1mdW5jdGlvbih0LGUpe3AucHJvdG90eXBlLl91bmluc3RhbGxTY2FsZUZvcktleS5jYWxsKHRoaXMsdCxlKX0sZy5wcm90b3R5cGUuX2dldERhdGFUb0RyYXc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9bmV3IGQuTWFwLG49dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksaT10aGlzLndpZHRoKCkscj10aGlzLmhlaWdodCgpO3JldHVybiB0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24obyl7dmFyIGE9by5kYXRhKCkubWFwKChmdW5jdGlvbihlLGEpe3JldHVybiB0Ll9pc0RhdHVtT25TY3JlZW4obixpLHIsZSxhLG8pP2U6bnVsbH0pKTtlLnNldChvLGEpfSkpLGV9LGcucHJvdG90eXBlLl9pc0RhdHVtT25TY3JlZW49ZnVuY3Rpb24odCxlLG4saSxyLG8pe3ZhciBhPXQueChpLHIsbykscz10LnkoaSxyLG8pLGw9dC53aWR0aChpLHIsbyksYz10LmhlaWdodChpLHIsbyk7cmV0dXJuISEoZC5NYXRoLmlzVmFsaWROdW1iZXIoYSkmJmQuTWF0aC5pc1ZhbGlkTnVtYmVyKHMpJiZkLk1hdGguaXNWYWxpZE51bWJlcihsKSYmZC5NYXRoLmlzVmFsaWROdW1iZXIoYykpJiZkLk1hdGguYm91bmRzSW50ZXJzZWN0cyhhLHMsbCxjLDAsMCxlLG4pfSxnLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3AucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZS5jYWxsKHRoaXMpLHRoaXMuZGF0YXNldHMoKS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fbGFiZWxDb25maWcuZ2V0KGUpLm1lYXN1cmVyLnJlc2V0KCl9KSl9LGcuX0JBUl9USElDS05FU1NfUkFUSU89Ljk1LGcuX0JBUl9HQVBMRVNTX1RIUkVTSE9MRF9QWD0zLGcuX1NJTkdMRV9CQVJfRElNRU5TSU9OX1JBVElPPS40LGcuX0JBUl9BUkVBX0NMQVNTPSJiYXItYXJlYSIsZy5fQkFSX0VORF9LRVk9ImJhckVuZCIsZy5fQkFSX1RISUNLTkVTU19LRVk9IndpZHRoIixnLl9MQUJFTF9BUkVBX0NMQVNTPSJiYXItbGFiZWwtdGV4dC1hcmVhIixnLl9MQUJFTF9NQVJHSU5fSU5TSURFX0JBUj0xMCxnfSkoZy5YWVBsb3QpO2Z1bmN0aW9uIHkodCxlLGkpe3ZhciByLG89dC5zY2FsZTtpZihvIGluc3RhbmNlb2YgdS5DYXRlZ29yeSlyPW8ucmFuZ2VCYW5kKCk7ZWxzZXt2YXIgYT10LmFjY2Vzc29yLHM9bi5zZXQoZC5BcnJheS5mbGF0dGVuKGUubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5kYXRhKCkubWFwKChmdW5jdGlvbihlLG4pe3JldHVybiBhKGUsbix0KX0pKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10fSkpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudmFsdWVPZigpfSkpfSkpKSkudmFsdWVzKCkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4rdH0pKTtzLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQtZX0pKTt2YXIgbD1zLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG8uc2NhbGUodCl9KSksYz1uLnBhaXJzKGwpO3I9ZC5NYXRoLm1pbihjLChmdW5jdGlvbih0LGUpe3JldHVybiBNYXRoLmFicyh0WzFdLXRbMF0pfSksaSpfLl9TSU5HTEVfQkFSX0RJTUVOU0lPTl9SQVRJTykscio9Xy5fQkFSX1RISUNLTkVTU19SQVRJT31yZXR1cm4gcn10LkJhcj1ffSkoWUV0KTt2YXIgWEV0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShYRXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciAkRXQ9Qk8sS0V0PVh2dCxaRXQ9RF90LEpFdD1ZRXQsUUV0PXNTdCx0VHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dm9pZCAwPT09ZSYmKGU9InZlcnRpY2FsIik7dmFyIG49dC5jYWxsKHRoaXMsZSl8fHRoaXM7cmV0dXJuIG4uX2NsdXN0ZXJPZmZzZXRzPW5ldyBaRXQuTWFwLG59cmV0dXJuICRFdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49dC5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yLmNhbGwodGhpcyksaT10aGlzLl9tYWtlSW5uZXJTY2FsZSgpLHI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaS5yYW5nZUJhbmQoKX07bi53aWR0aD10aGlzLl9pc1ZlcnRpY2FsP3I6bi53aWR0aCxuLmhlaWdodD10aGlzLl9pc1ZlcnRpY2FsP24uaGVpZ2h0OnI7dmFyIG89bi54LGE9bi55O3JldHVybiBuLng9dGhpcy5faXNWZXJ0aWNhbD9mdW5jdGlvbih0LG4saSl7cmV0dXJuIG8odCxuLGkpK2UuX2NsdXN0ZXJPZmZzZXRzLmdldChpKX06ZnVuY3Rpb24odCxlLG4pe3JldHVybiBvKHQsZSxuKX0sbi55PXRoaXMuX2lzVmVydGljYWw/ZnVuY3Rpb24odCxlLG4pe3JldHVybiBhKHQsZSxuKX06ZnVuY3Rpb24odCxuLGkpe3JldHVybiBhKHQsbixpKStlLl9jbHVzdGVyT2Zmc2V0cy5nZXQoaSl9LG59LGUucHJvdG90eXBlLl91cGRhdGVDbHVzdGVyUG9zaXRpb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5fbWFrZUlubmVyU2NhbGUoKTt0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24obixpKXtyZXR1cm4gdC5fY2x1c3Rlck9mZnNldHMuc2V0KG4sZS5zY2FsZShTdHJpbmcoaSkpLWUucmFuZ2VCYW5kKCkvMil9KSl9LGUucHJvdG90eXBlLl9tYWtlSW5uZXJTY2FsZT1mdW5jdGlvbigpe3ZhciB0PW5ldyBLRXQuQ2F0ZWdvcnk7dC5kb21haW4odGhpcy5kYXRhc2V0cygpLm1hcCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gU3RyaW5nKGUpfSkpKTt2YXIgZT1RRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5hdHRyKEpFdC5CYXIuX0JBUl9USElDS05FU1NfS0VZKSk7cmV0dXJuIHQucmFuZ2UoWzAsZShudWxsLDAsbnVsbCldKSx0fSxlLnByb3RvdHlwZS5fZ2V0RGF0YVRvRHJhdz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl91cGRhdGVDbHVzdGVyUG9zaXRpb24oKSx0LnByb3RvdHlwZS5fZ2V0RGF0YVRvRHJhdy5jYWxsKHRoaXMpfSxlfSkoSkV0LkJhcik7WEV0LkNsdXN0ZXJlZEJhcj10VHQ7dmFyIGVUdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoZVR0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgblR0PUJPLGlUdD13cHQsclR0PUxndCxvVHQ9Zmd0LGFUdD1wdnQsc1R0PVh2dCxsVHQ9RF90LGNUdD1OTXQsdVR0PU9NdCxoVHQ9R1N0LGRUdD1UeXQscFR0PXNTdCxmVHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGUuX3N0YXJ0QW5nbGU9MCxlLl9lbmRBbmdsZT0yKk1hdGguUEksZS5fbGFiZWxGb3JtYXR0ZXI9YVR0LmlkZW50aXR5KCksZS5fbGFiZWxzRW5hYmxlZD0hMSxlLmlubmVyUmFkaXVzKDApLGUub3V0ZXJSYWRpdXMoKGZ1bmN0aW9uKCl7dmFyIHQ9ZS5fcGllQ2VudGVyKCk7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KGUud2lkdGgoKS10LngsdC54KSxNYXRoLm1heChlLmhlaWdodCgpLXQueSx0LnkpKX0pKSxlLmFkZENsYXNzKCJwaWUtcGxvdCIpLGUuYXR0cigiZmlsbCIsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIFN0cmluZyhlKX0pLG5ldyBzVHQuQ29sb3IpLGUuX3N0cm9rZURyYXdlcnM9bmV3IGxUdC5NYXAsZX1yZXR1cm4gblR0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyksdGhpcy5fc3Ryb2tlRHJhd2Vycy5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5hdHRhY2hUbyhlLl9yZW5kZXJBcmVhKX0pKX0sZS5wcm90b3R5cGUuY29tcHV0ZUxheW91dD1mdW5jdGlvbihlLG4saSl7dC5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMsZSxuLGkpO3ZhciByPXRoaXMuX3BpZUNlbnRlcigpO3RoaXMuX3JlbmRlckFyZWEuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrci54KyIsIityLnkrIikiKTt2YXIgbz1NYXRoLm1pbihNYXRoLm1heCh0aGlzLndpZHRoKCktci54LHIueCksTWF0aC5tYXgodGhpcy5oZWlnaHQoKS1yLnksci55KSk7cmV0dXJuIG51bGwhPXRoaXMuaW5uZXJSYWRpdXMoKS5zY2FsZSYmdGhpcy5pbm5lclJhZGl1cygpLnNjYWxlLnJhbmdlKFswLG9dKSxudWxsIT10aGlzLm91dGVyUmFkaXVzKCkuc2NhbGUmJnRoaXMub3V0ZXJSYWRpdXMoKS5zY2FsZS5yYW5nZShbMCxvXSksdGhpc30sZS5wcm90b3R5cGUuYWRkRGF0YXNldD1mdW5jdGlvbihlKXtyZXR1cm4gdC5wcm90b3R5cGUuYWRkRGF0YXNldC5jYWxsKHRoaXMsZSksdGhpc30sZS5wcm90b3R5cGUuX2FkZERhdGFzZXQ9ZnVuY3Rpb24oZSl7aWYoMT09PXRoaXMuZGF0YXNldHMoKS5sZW5ndGgpcmV0dXJuIGxUdC5XaW5kb3cud2FybigiT25seSBvbmUgZGF0YXNldCBpcyBzdXBwb3J0ZWQgaW4gUGllIHBsb3RzIiksdGhpczt0aGlzLl91cGRhdGVQaWVBbmdsZXMoKSx0LnByb3RvdHlwZS5fYWRkRGF0YXNldC5jYWxsKHRoaXMsZSk7dmFyIG49bmV3IHVUdC5BcmNPdXRsaW5lU1ZHRHJhd2VyO3JldHVybiB0aGlzLl9pc1NldHVwJiZuLmF0dGFjaFRvKHRoaXMuX3JlbmRlckFyZWEpLHRoaXMuX3N0cm9rZURyYXdlcnMuc2V0KGUsbiksdGhpc30sZS5wcm90b3R5cGUucmVtb3ZlRGF0YXNldD1mdW5jdGlvbihlKXtyZXR1cm4gdC5wcm90b3R5cGUucmVtb3ZlRGF0YXNldC5jYWxsKHRoaXMsZSksdGhpc30sZS5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXROb2Rlcz1mdW5jdGlvbihlKXt0LnByb3RvdHlwZS5fcmVtb3ZlRGF0YXNldE5vZGVzLmNhbGwodGhpcyxlKSx0aGlzLl9zdHJva2VEcmF3ZXJzLmdldChlKS5yZW1vdmUoKX0sZS5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHQucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0LmNhbGwodGhpcyxlKSx0aGlzLl9zdHJva2VEcmF3ZXJzLmRlbGV0ZShlKSx0aGlzLl9zdGFydEFuZ2xlcz1bXSx0aGlzLl9lbmRBbmdsZXM9W10sdGhpc30sZS5wcm90b3R5cGUuc2VsZWN0aW9ucz1mdW5jdGlvbihlKXt2YXIgbj10aGlzO3ZvaWQgMD09PWUmJihlPXRoaXMuZGF0YXNldHMoKSk7dmFyIGk9dC5wcm90b3R5cGUuc2VsZWN0aW9ucy5jYWxsKHRoaXMsZSkubm9kZXMoKTtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT1uLl9zdHJva2VEcmF3ZXJzLmdldCh0KTtudWxsIT1lJiZpLnB1c2guYXBwbHkoaSxlLmdldFZpc3VhbFByaW1pdGl2ZXMoKSl9KSksaVR0LnNlbGVjdEFsbChpKX0sZS5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZT1mdW5jdGlvbigpe3QucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGUuY2FsbCh0aGlzKSx0aGlzLl91cGRhdGVQaWVBbmdsZXMoKSx0aGlzLnJlbmRlcigpfSxlLnByb3RvdHlwZS5fY3JlYXRlRHJhd2VyPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBoVHQuUHJveHlEcmF3ZXIoKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBjVHQuQXJjU1ZHRHJhd2VyfSksKGZ1bmN0aW9uKCl7cmV0dXJuIGRUdC53YXJuKCJjYW52YXMgcmVuZGVyZXIgaXMgbm90IHN1cHBvcnRlZCBvbiBQaWUgUGxvdCEiKSxudWxsfSkpfSxlLnByb3RvdHlwZS5lbnRpdGllcz1mdW5jdGlvbihlKXt2YXIgbj10aGlzO3JldHVybiB2b2lkIDA9PT1lJiYoZT10aGlzLmRhdGFzZXRzKCkpLHQucHJvdG90eXBlLmVudGl0aWVzLmNhbGwodGhpcyxlKS5tYXAoKGZ1bmN0aW9uKHQpe3QucG9zaXRpb24ueCs9bi53aWR0aCgpLzIsdC5wb3NpdGlvbi55Kz1uLmhlaWdodCgpLzI7dmFyIGU9aVR0LnNlbGVjdChuLl9zdHJva2VEcmF3ZXJzLmdldCh0LmRhdGFzZXQpLmdldFZpc3VhbFByaW1pdGl2ZUF0SW5kZXgodC5pbmRleCkpLGk9dDtyZXR1cm4gaS5zdHJva2VTZWxlY3Rpb249ZSxpfSkpfSxlLnByb3RvdHlwZS5zZWN0b3JWYWx1ZT1mdW5jdGlvbih0LG4pe3JldHVybiBudWxsPT10P3RoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KGUuX1NFQ1RPUl9WQUxVRV9LRVkpOih0aGlzLl9iaW5kUHJvcGVydHkoZS5fU0VDVE9SX1ZBTFVFX0tFWSx0LG4pLHRoaXMuX3VwZGF0ZVBpZUFuZ2xlcygpLHRoaXMucmVuZGVyKCksdGhpcyl9LGUucHJvdG90eXBlLmlubmVyUmFkaXVzPWZ1bmN0aW9uKHQsbil7cmV0dXJuIG51bGw9PXQ/dGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoZS5fSU5ORVJfUkFESVVTX0tFWSk6KHRoaXMuX2JpbmRQcm9wZXJ0eShlLl9JTk5FUl9SQURJVVNfS0VZLHQsbiksdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUub3V0ZXJSYWRpdXM9ZnVuY3Rpb24odCxuKXtyZXR1cm4gbnVsbD09dD90aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChlLl9PVVRFUl9SQURJVVNfS0VZKToodGhpcy5fYmluZFByb3BlcnR5KGUuX09VVEVSX1JBRElVU19LRVksdCxuKSx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5zdGFydEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3N0YXJ0QW5nbGU6KHRoaXMuX3N0YXJ0QW5nbGU9dCx0aGlzLl91cGRhdGVQaWVBbmdsZXMoKSx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9lbmRBbmdsZToodGhpcy5fZW5kQW5nbGU9dCx0aGlzLl91cGRhdGVQaWVBbmdsZXMoKSx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5sYWJlbHNFbmFibGVkPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2xhYmVsc0VuYWJsZWQ6KHRoaXMuX2xhYmVsc0VuYWJsZWQ9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5sYWJlbEZvcm1hdHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9sYWJlbEZvcm1hdHRlcjoodGhpcy5fbGFiZWxGb3JtYXR0ZXI9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5lbnRpdGllc0F0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMud2lkdGgoKS8yLG49dGhpcy5oZWlnaHQoKS8yLGk9dGhpcy5fc2xpY2VJbmRleEZvclBvaW50KHt4OnQueC1lLHk6dC55LW59KTtyZXR1cm4gbnVsbD09aT9bXTpbdGhpcy5lbnRpdGllcygpW2ldXX0sZS5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycz1mdW5jdGlvbigpe3ZhciBlPXRoaXMsbj10LnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzLmNhbGwodGhpcyksaT1wVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5pbm5lclJhZGl1cygpKSxyPXBUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLm91dGVyUmFkaXVzKCkpO3JldHVybiBuLmQ9ZnVuY3Rpb24odCxuLG8pe3JldHVybiBpVHQuYXJjKCkuaW5uZXJSYWRpdXMoaSh0LG4sbykpLm91dGVyUmFkaXVzKHIodCxuLG8pKS5zdGFydEFuZ2xlKGUuX3N0YXJ0QW5nbGVzW25dKS5lbmRBbmdsZShlLl9lbmRBbmdsZXNbbl0pKHQsbil9LG59LGUucHJvdG90eXBlLl91cGRhdGVQaWVBbmdsZXM9ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLnNlY3RvclZhbHVlKCkmJjAhPT10aGlzLmRhdGFzZXRzKCkubGVuZ3RoKXt2YXIgdD1wVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5zZWN0b3JWYWx1ZSgpKSxlPXRoaXMuZGF0YXNldHMoKVswXSxuPXRoaXMuX2dldERhdGFUb0RyYXcoKS5nZXQoZSksaT1pVHQucGllKCkuc29ydChudWxsKS5zdGFydEFuZ2xlKHRoaXMuX3N0YXJ0QW5nbGUpLmVuZEFuZ2xlKHRoaXMuX2VuZEFuZ2xlKS52YWx1ZSgoZnVuY3Rpb24obixpKXtyZXR1cm4gdChuLGksZSl9KSkobik7dGhpcy5fc3RhcnRBbmdsZXM9aS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnN0YXJ0QW5nbGV9KSksdGhpcy5fZW5kQW5nbGVzPWkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5lbmRBbmdsZX0pKX19LGUucHJvdG90eXBlLl9waWVDZW50ZXI9ZnVuY3Rpb24oKXt2YXIgdCxlLG4saSxyPXRoaXMuX3N0YXJ0QW5nbGU8dGhpcy5fZW5kQW5nbGU/dGhpcy5fc3RhcnRBbmdsZTp0aGlzLl9lbmRBbmdsZSxvPXRoaXMuX3N0YXJ0QW5nbGU8dGhpcy5fZW5kQW5nbGU/dGhpcy5fZW5kQW5nbGU6dGhpcy5fc3RhcnRBbmdsZSxhPU1hdGguc2luKHIpLHM9TWF0aC5jb3MociksbD1NYXRoLnNpbihvKSxjPU1hdGguY29zKG8pO3JldHVybiBhPj0wJiZsPj0wP3M+PTAmJmM+PTA/KHQ9cyxlPTAsaT0wLG49bCk6czwwJiZjPDA/KHQ9MCxlPS1jLGk9MCxuPWEpOnM+PTAmJmM8MD8odD1zLGU9LWMsaT0wLG49YSk6czwwJiZjPj0wJiYodD0xLGU9MSxpPTEsbj1NYXRoLm1heChhLGwpKTphPj0wJiZsPDA/cz49MCYmYz49MD8odD1NYXRoLm1heChzLGMpLGU9MSxpPTEsbj0xKTpzPDAmJmM8MD8odD0wLGU9MSxpPS1sLG49YSk6cz49MCYmYzwwPyh0PXMsZT0xLGk9LWwsbj0xKTpzPDAmJmM+PTAmJih0PWMsZT0xLGk9MSxuPWEpOmE8MCYmbD49MD9zPj0wJiZjPj0wPyh0PTEsZT0wLGk9LWEsbj1sKTpzPDAmJmM8MD8odD0xLGU9TWF0aC5tYXgoLXMsLWMpLGk9MSxuPTEpOnM+PTAmJmM8MD8odD0xLGU9LWMsaT0tYSxuPTEpOnM8MCYmYz49MCYmKHQ9MSxlPS1zLGk9MSxuPWwpOmE8MCYmbDwwJiYocz49MCYmYz49MD8odD1jLGU9MCxpPS1hLG49MCk6czwwJiZjPDA/KHQ9MCxlPS1zLGk9LWwsbj0wKTpzPj0wJiZjPDA/KHQ9MSxlPTEsaT1NYXRoLm1heChzLC1jKSxuPTEpOnM8MCYmYz49MCYmKHQ9YyxlPS1zLGk9MSxuPTApKSx7eDppK249PTA/MDppLyhpK24pKnRoaXMud2lkdGgoKSx5OnQrZT09MD8wOnQvKHQrZSkqdGhpcy5oZWlnaHQoKX19LGUucHJvdG90eXBlLl9nZXREYXRhVG9EcmF3PWZ1bmN0aW9uKCl7dmFyIG49dC5wcm90b3R5cGUuX2dldERhdGFUb0RyYXcuY2FsbCh0aGlzKTtpZigwPT09dGhpcy5kYXRhc2V0cygpLmxlbmd0aClyZXR1cm4gbjt2YXIgaT1wVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5zZWN0b3JWYWx1ZSgpKSxyPXRoaXMuZGF0YXNldHMoKVswXSxvPW4uZ2V0KHIpLmZpbHRlcigoZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5faXNWYWxpZERhdGEoaSh0LG4scikpfSkpO3JldHVybiBuLnNldChyLG8pLG59LGUuX2lzVmFsaWREYXRhPWZ1bmN0aW9uKHQpe3JldHVybiBsVHQuTWF0aC5pc1ZhbGlkTnVtYmVyKHQpJiZ0Pj0wfSxlLnByb3RvdHlwZS5fcGl4ZWxQb2ludD1mdW5jdGlvbih0LG4saSl7dmFyIHI9cFR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMuc2VjdG9yVmFsdWUoKSk7aWYoIWUuX2lzVmFsaWREYXRhKHIodCxuLGkpKSlyZXR1cm57eDpOYU4seTpOYU59O3ZhciBvPShwVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5pbm5lclJhZGl1cygpKSh0LG4saSkrcFR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMub3V0ZXJSYWRpdXMoKSkodCxuLGkpKS8yLGE9aVR0LnBpZSgpLnNvcnQobnVsbCkudmFsdWUoKGZ1bmN0aW9uKHQsbil7dmFyIG89cih0LG4saSk7cmV0dXJuIGUuX2lzVmFsaWREYXRhKG8pP286MH0pKS5zdGFydEFuZ2xlKHRoaXMuX3N0YXJ0QW5nbGUpLmVuZEFuZ2xlKHRoaXMuX2VuZEFuZ2xlKShpLmRhdGEoKSkscz0oYVtuXS5zdGFydEFuZ2xlK2Fbbl0uZW5kQW5nbGUpLzI7cmV0dXJue3g6bypNYXRoLnNpbihzKSx5Oi1vKk1hdGguY29zKHMpfX0sZS5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuX3JlbmRlckFyZWEuc2VsZWN0KCIubGFiZWwtYXJlYSIpLnJlbW92ZSgpLHRoaXMuX2xhYmVsc0VuYWJsZWQmJmxUdC5XaW5kb3cuc2V0VGltZW91dCgoZnVuY3Rpb24oKXtyZXR1cm4gZS5fZHJhd0xhYmVscygpfSksdCk7dmFyIG49dGhpcy5fZ2VuZXJhdGVTdHJva2VEcmF3U3RlcHMoKSxpPXRoaXMuX2dldERhdGFUb0RyYXcoKTt0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIHI9cFR0LlBsb3QuYXBwbHlEcmF3U3RlcHMobix0KTtlLl9zdHJva2VEcmF3ZXJzLmdldCh0KS5kcmF3KGkuZ2V0KHQpLHIpfSkpfSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVTdHJva2VEcmF3U3RlcHM9ZnVuY3Rpb24oKXtyZXR1cm5be2F0dHJUb1Byb2plY3Rvcjp0aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxhbmltYXRvcjpuZXcgb1R0Lk51bGx9XX0sZS5wcm90b3R5cGUuX3NsaWNlSW5kZXhGb3JQb2ludD1mdW5jdGlvbih0KXt2YXIgZSxuPU1hdGguc3FydChNYXRoLnBvdyh0LngsMikrTWF0aC5wb3codC55LDIpKSxpPU1hdGguYWNvcygtdC55L24pO3QueDwwJiYoaT0yKk1hdGguUEktaSk7Zm9yKHZhciByPTA7cjx0aGlzLl9zdGFydEFuZ2xlcy5sZW5ndGg7cisrKWlmKHRoaXMuX3N0YXJ0QW5nbGVzW3JdPGkmJnRoaXMuX2VuZEFuZ2xlc1tyXT5pKXtlPXI7YnJlYWt9aWYodm9pZCAwIT09ZSl7dmFyIG89dGhpcy5kYXRhc2V0cygpWzBdLGE9by5kYXRhKClbZV0scz10aGlzLmlubmVyUmFkaXVzKCkuYWNjZXNzb3IoYSxlLG8pLGw9dGhpcy5vdXRlclJhZGl1cygpLmFjY2Vzc29yKGEsZSxvKTtpZihuPnMmJm48bClyZXR1cm4gZX1yZXR1cm4gbnVsbH0sZS5wcm90b3R5cGUuX2RyYXdMYWJlbHM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcyxlPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLG49dGhpcy5fcmVuZGVyQXJlYS5hcHBlbmQoImciKS5jbGFzc2VkKCJsYWJlbC1hcmVhIiwhMCksaT1uZXcgclR0LlN2Z0NvbnRleHQobi5ub2RlKCkpLHI9bmV3IHJUdC5DYWNoZU1lYXN1cmVyKGkpLG89bmV3IHJUdC5Xcml0ZXIocixpKSxhPXRoaXMuZGF0YXNldHMoKVswXSxzPXRoaXMuX2dldERhdGFUb0RyYXcoKS5nZXQoYSksbD1zLmxlbmd0aCxjPWZ1bmN0aW9uKGkpe3ZhciBsPXNbaV0sYz11LnNlY3RvclZhbHVlKCkuYWNjZXNzb3IobCxpLGEpO2lmKCFsVHQuTWF0aC5pc1ZhbGlkTnVtYmVyKGMpKXJldHVybiJjb250aW51ZSI7Yz11Ll9sYWJlbEZvcm1hdHRlcihjLGwsaSxhKTt2YXIgaD1yLm1lYXN1cmUoYyksZD0odS5fZW5kQW5nbGVzW2ldK3UuX3N0YXJ0QW5nbGVzW2ldKS8yLHA9dS5vdXRlclJhZGl1cygpLmFjY2Vzc29yKGwsaSxhKTt1Lm91dGVyUmFkaXVzKCkuc2NhbGUmJihwPXUub3V0ZXJSYWRpdXMoKS5zY2FsZS5zY2FsZShwKSk7dmFyIGY9dS5pbm5lclJhZGl1cygpLmFjY2Vzc29yKGwsaSxhKTt1LmlubmVyUmFkaXVzKCkuc2NhbGUmJihmPXUuaW5uZXJSYWRpdXMoKS5zY2FsZS5zY2FsZShmKSk7dmFyIG09KHArZikvMixnPU1hdGguc2luKGQpKm0taC53aWR0aC8yLF89LU1hdGguY29zKGQpKm0taC5oZWlnaHQvMix5PVt7eDpnLHk6X30se3g6Zyx5Ol8raC5oZWlnaHR9LHt4OmcraC53aWR0aCx5Ol99LHt4OmcraC53aWR0aCx5Ol8raC5oZWlnaHR9XSx2PXkuZXZlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLmFicyhlLngpPD10LndpZHRoKCkvMiYmTWF0aC5hYnMoZS55KTw9dC5oZWlnaHQoKS8yfSkpO3YmJih2PXkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fc2xpY2VJbmRleEZvclBvaW50KGUpfSkpLmV2ZXJ5KChmdW5jdGlvbih0KXtyZXR1cm4gdD09PWl9KSkpO3ZhciBiPWUuZmlsbChsLGksYSkseD0xLjYqbFR0LkNvbG9yLmNvbnRyYXN0KCJ3aGl0ZSIsYik8bFR0LkNvbG9yLmNvbnRyYXN0KCJibGFjayIsYiksdz1uLmFwcGVuZCgiZyIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK2crIiwiK18rIikiKTt3LmNsYXNzZWQoeD8iZGFyay1sYWJlbCI6ImxpZ2h0LWxhYmVsIiwhMCksdy5zdHlsZSgidmlzaWJpbGl0eSIsdj8iaW5oZXJpdCI6ImhpZGRlbiIpLG8ud3JpdGUoYyxoLndpZHRoLGguaGVpZ2h0LHt4QWxpZ246ImNlbnRlciIseUFsaWduOiJjZW50ZXIifSx3Lm5vZGUoKSl9LHU9dGhpcyxoPTA7aDxsO2grKyljKGgpfSxlLl9JTk5FUl9SQURJVVNfS0VZPSJpbm5lci1yYWRpdXMiLGUuX09VVEVSX1JBRElVU19LRVk9Im91dGVyLXJhZGl1cyIsZS5fU0VDVE9SX1ZBTFVFX0tFWT0ic2VjdG9yLXZhbHVlIixlfSkocFR0LlBsb3QpO2VUdC5QaWU9ZlR0O3ZhciBtVHQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KG1UdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGdUdD1CTyxfVHQ9d3B0LHlUdD1MZ3QsdlR0PWZndCxiVHQ9UE10LHhUdD1HU3Qsd1R0PVpNdCxTVHQ9WHZ0LE1UdD1EX3QsRVR0PXNTdCxUVHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGUuX2xhYmVsc0VuYWJsZWQ9ITEsZS5fbGFiZWw9bnVsbCxlLmFuaW1hdG9yKCJyZWN0YW5nbGVzIixuZXcgdlR0Lk51bGwpLGUuYWRkQ2xhc3MoInJlY3RhbmdsZS1wbG90IiksZS5hdHRyKCJmaWxsIiwobmV3IFNUdC5Db2xvcikucmFuZ2UoKVswXSksZX1yZXR1cm4gZ1R0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9jcmVhdGVEcmF3ZXI9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHhUdC5Qcm94eURyYXdlcigoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHdUdC5SZWN0YW5nbGVTVkdEcmF3ZXJ9KSwoZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBiVHQuUmVjdGFuZ2xlQ2FudmFzRHJhd2VyKHQpfSkpfSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgbj10aGlzLGk9dC5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yLmNhbGwodGhpcykscj1FVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLG89aVtlLl9YMl9LRVldLGE9RVR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKSxzPWlbZS5fWTJfS0VZXSxsPXRoaXMueCgpLnNjYWxlLGM9dGhpcy55KCkuc2NhbGU7cmV0dXJuIG51bGwhPW8/KGkud2lkdGg9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBNYXRoLmFicyhvKHQsZSxuKS1yKHQsZSxuKSl9LGkueD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIE1hdGgubWluKG8odCxlLG4pLHIodCxlLG4pKX0pOihpLndpZHRoPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gbi5fcmVjdGFuZ2xlV2lkdGgobCl9LGkueD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHIodCxlLG4pLS41Kmkud2lkdGgodCxlLG4pfSksbnVsbCE9cz8oaS5oZWlnaHQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBNYXRoLmFicyhzKHQsZSxuKS1hKHQsZSxuKSl9LGkueT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIE1hdGgubWF4KHModCxlLG4pLGEodCxlLG4pKS1pLmhlaWdodCh0LGUsbil9KTooaS5oZWlnaHQ9ZnVuY3Rpb24odCxlLGkpe3JldHVybiBuLl9yZWN0YW5nbGVXaWR0aChjKX0saS55PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gYSh0LGUsbiktLjUqaS5oZWlnaHQodCxlLG4pfSksZGVsZXRlIGlbZS5fWDJfS0VZXSxkZWxldGUgaVtlLl9ZMl9LRVldLGl9LGUucHJvdG90eXBlLl9nZW5lcmF0ZURyYXdTdGVwcz1mdW5jdGlvbigpe3JldHVyblt7YXR0clRvUHJvamVjdG9yOnRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLGFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKCJyZWN0YW5nbGVzIil9XX0sZS5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5PWZ1bmN0aW9uKGUpe3JldHVybiB0LnByb3RvdHlwZS5fZmlsdGVyRm9yUHJvcGVydHkuY2FsbCh0aGlzLCJ4MiI9PT1lPyJ4IjoieTIiPT09ZT8ieSI6ZSl9LGUucHJvdG90eXBlLng9ZnVuY3Rpb24obixpLHIpe2lmKG51bGw9PW4pcmV0dXJuIHQucHJvdG90eXBlLnguY2FsbCh0aGlzKTtpZihudWxsPT1pP3QucHJvdG90eXBlLnguY2FsbCh0aGlzLG4pOnQucHJvdG90eXBlLnguY2FsbCh0aGlzLG4saSxyKSxudWxsIT1pKXt2YXIgbz10aGlzLngyKCksYT1vJiZvLmFjY2Vzc29yO251bGwhPWEmJnRoaXMuX2JpbmRQcm9wZXJ0eShlLl9YMl9LRVksYSxpLG8ucG9zdFNjYWxlKX1yZXR1cm4gaSBpbnN0YW5jZW9mIFNUdC5DYXRlZ29yeSYmaS5pbm5lclBhZGRpbmcoMCkub3V0ZXJQYWRkaW5nKDApLHRoaXN9LGUucHJvdG90eXBlLngyPWZ1bmN0aW9uKHQsbil7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoZS5fWDJfS0VZKTt2YXIgaT10aGlzLngoKTtyZXR1cm4gdGhpcy5fYmluZFByb3BlcnR5KGUuX1gyX0tFWSx0LGkmJmkuc2NhbGUsbiksdGhpcy5yZW5kZXIoKSx0aGlzfSxlLnByb3RvdHlwZS55PWZ1bmN0aW9uKG4saSxyKXtpZihudWxsPT1uKXJldHVybiB0LnByb3RvdHlwZS55LmNhbGwodGhpcyk7aWYobnVsbD09aT90LnByb3RvdHlwZS55LmNhbGwodGhpcyxuKTp0LnByb3RvdHlwZS55LmNhbGwodGhpcyxuLGksciksbnVsbCE9aSl7dmFyIG89dGhpcy55MigpLGE9byYmby5hY2Nlc3NvcjtudWxsIT1hJiZ0aGlzLl9iaW5kUHJvcGVydHkoZS5fWTJfS0VZLGEsaSxvLnBvc3RTY2FsZSl9cmV0dXJuIGkgaW5zdGFuY2VvZiBTVHQuQ2F0ZWdvcnkmJmkuaW5uZXJQYWRkaW5nKDApLm91dGVyUGFkZGluZygwKSx0aGlzfSxlLnByb3RvdHlwZS55Mj1mdW5jdGlvbih0LG4pe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KGUuX1kyX0tFWSk7dmFyIGk9dGhpcy55KCk7cmV0dXJuIHRoaXMuX2JpbmRQcm9wZXJ0eShlLl9ZMl9LRVksdCxpJiZpLnNjYWxlLG4pLHRoaXMucmVuZGVyKCksdGhpc30sZS5wcm90b3R5cGUuZW50aXRpZXNBdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTtyZXR1cm4gdGhpcy5lbnRpdGllcygpLmZpbHRlcigoZnVuY3Rpb24obil7dmFyIGk9bi5kYXR1bSxyPW4uaW5kZXgsbz1uLmRhdGFzZXQsYT1lLngoaSxyLG8pLHM9ZS55KGkscixvKSxsPWUud2lkdGgoaSxyLG8pLGM9ZS5oZWlnaHQoaSxyLG8pO3JldHVybiBhPD10LngmJnQueDw9YStsJiZzPD10LnkmJnQueTw9cytjfSkpfSxlLnByb3RvdHlwZS5fZW50aXR5Qm91bmRzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9lbnRpdHlCQm94KHQuZGF0dW0sdC5pbmRleCx0LmRhdGFzZXQsdGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCkpfSxlLnByb3RvdHlwZS5fZW50aXR5QkJveD1mdW5jdGlvbih0LGUsbixpKXtyZXR1cm57eDppLngodCxlLG4pLHk6aS55KHQsZSxuKSx3aWR0aDppLndpZHRoKHQsZSxuKSxoZWlnaHQ6aS5oZWlnaHQodCxlLG4pfX0sZS5wcm90b3R5cGUubGFiZWw9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fbGFiZWw6KHRoaXMuX2xhYmVsPXQsdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUubGFiZWxzRW5hYmxlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9sYWJlbHNFbmFibGVkOih0aGlzLl9sYWJlbHNFbmFibGVkPXQsdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycz1mdW5jdGlvbigpe3ZhciBlPXQucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnMuY2FsbCh0aGlzKTtyZXR1cm4gbnVsbCE9dGhpcy54MigpJiYoZS54Mj1FVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54MigpKSksbnVsbCE9dGhpcy55MigpJiYoZS55Mj1FVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55MigpKSksZX0sZS5wcm90b3R5cGUuX3BpeGVsUG9pbnQ9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLHI9aS54KHQsZSxuKSxvPWkueSh0LGUsbik7cmV0dXJue3g6citpLndpZHRoKHQsZSxuKS8yLHk6bytpLmhlaWdodCh0LGUsbikvMn19LGUucHJvdG90eXBlLl9yZWN0YW5nbGVXaWR0aD1mdW5jdGlvbih0KXtpZih0IGluc3RhbmNlb2YgU1R0LkNhdGVnb3J5KXJldHVybiB0LnJhbmdlQmFuZCgpO3ZhciBlPXQ9PT10aGlzLngoKS5zY2FsZT90aGlzLngoKS5hY2Nlc3Nvcjp0aGlzLnkoKS5hY2Nlc3NvcixuPV9UdC5zZXQoTVR0LkFycmF5LmZsYXR0ZW4odGhpcy5kYXRhc2V0cygpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuZGF0YSgpLm1hcCgoZnVuY3Rpb24obixpKXtyZXR1cm4gZShuLGksdCkudmFsdWVPZigpfSkpfSkpKSkudmFsdWVzKCkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4rdH0pKSxpPU1UdC5NYXRoLm1pbihuLDApLHI9TVR0Lk1hdGgubWF4KG4sMCksbz10LnNjYWxlKGkpO3JldHVybih0LnNjYWxlKHIpLW8pL01hdGguYWJzKHItaSl9LGUucHJvdG90eXBlLl9nZXREYXRhVG9EcmF3PWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IE1UdC5NYXAsZT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTtyZXR1cm4gdGhpcy5kYXRhc2V0cygpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciBpPW4uZGF0YSgpLm1hcCgoZnVuY3Rpb24odCxpKXtyZXR1cm4gTVR0Lk1hdGguaXNWYWxpZE51bWJlcihlLngodCxpLG4pKSYmTVR0Lk1hdGguaXNWYWxpZE51bWJlcihlLnkodCxpLG4pKSYmTVR0Lk1hdGguaXNWYWxpZE51bWJlcihlLndpZHRoKHQsaSxuKSkmJk1UdC5NYXRoLmlzVmFsaWROdW1iZXIoZS5oZWlnaHQodCxpLG4pKT90Om51bGx9KSk7dC5zZXQobixpKX0pKSx0fSxlLnByb3RvdHlwZS5fYWRkaXRpb25hbFBhaW50PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dGhpcy5fcmVuZGVyQXJlYS5zZWxlY3RBbGwoIi5sYWJlbC1hcmVhIikucmVtb3ZlKCksdGhpcy5fbGFiZWxzRW5hYmxlZCYmbnVsbCE9dGhpcy5sYWJlbCgpJiZNVHQuV2luZG93LnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2RyYXdMYWJlbHMoKX0pLHQpfSxlLnByb3RvdHlwZS5fZHJhd0xhYmVscz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9nZXREYXRhVG9EcmF3KCk7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goKGZ1bmN0aW9uKG4saSl7cmV0dXJuIHQuX2RyYXdMYWJlbChlLG4saSl9KSl9LGUucHJvdG90eXBlLl9kcmF3TGFiZWw9ZnVuY3Rpb24odCxlLG4pe2Zvcih2YXIgaT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxyPXRoaXMuX3JlbmRlckFyZWEuYXBwZW5kKCJnIikuY2xhc3NlZCgibGFiZWwtYXJlYSIsITApLG89bmV3IHlUdC5TdmdDb250ZXh0KHIubm9kZSgpKSxhPW5ldyB5VHQuQ2FjaGVNZWFzdXJlcihvKSxzPW5ldyB5VHQuV3JpdGVyKGEsbyksbD10aGlzLngoKS5zY2FsZS5yYW5nZSgpLGM9dGhpcy55KCkuc2NhbGUucmFuZ2UoKSx1PU1hdGgubWluLmFwcGx5KG51bGwsbCksaD1NYXRoLm1heC5hcHBseShudWxsLGwpLGQ9TWF0aC5taW4uYXBwbHkobnVsbCxjKSxwPU1hdGgubWF4LmFwcGx5KG51bGwsYyksZj10LmdldChlKSxtPWYubGVuZ3RoLGc9MDtnPG07ZysrKXt2YXIgXz1mW2ddO2lmKG51bGwhPV8pe3ZhciB5PSIiK3RoaXMubGFiZWwoKShfLGcsZSksdj1hLm1lYXN1cmUoeSksYj1pLngoXyxnLGUpLHg9aS55KF8sZyxlKSx3PWkud2lkdGgoXyxnLGUpLFM9aS5oZWlnaHQoXyxnLGUpO2lmKHYuaGVpZ2h0PD1TJiZ2LndpZHRoPD13KXt2YXIgTT17bWluOmIrPSh3LXYud2lkdGgpLzIsbWF4OmIrdi53aWR0aH0sRT17bWluOngrPShTLXYuaGVpZ2h0KS8yLG1heDp4K3YuaGVpZ2h0fTtpZihNLm1pbjx1fHxNLm1heD5ofHxFLm1pbjxkfHxFLm1heD5wKWNvbnRpbnVlO2lmKHRoaXMuX292ZXJsYXlMYWJlbChNLEUsZyxuLHQpKWNvbnRpbnVlO3ZhciBUPWkuZmlsbChfLGcsZSksQz0xLjYqTVR0LkNvbG9yLmNvbnRyYXN0KCJ3aGl0ZSIsVCk8TVR0LkNvbG9yLmNvbnRyYXN0KCJibGFjayIsVCksQT1yLmFwcGVuZCgiZyIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK2IrIiwiK3grIikiKTtBLmNsYXNzZWQoQz8iZGFyay1sYWJlbCI6ImxpZ2h0LWxhYmVsIiwhMCkscy53cml0ZSh5LHYud2lkdGgsdi5oZWlnaHQse3hBbGlnbjoiY2VudGVyIix5QWxpZ246ImNlbnRlciJ9LEEubm9kZSgpKX19fX0sZS5wcm90b3R5cGUuX292ZXJsYXlMYWJlbD1mdW5jdGlvbih0LGUsbixpLHIpe2Zvcih2YXIgbz10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxhPXRoaXMuZGF0YXNldHMoKSxzPWk7czxhLmxlbmd0aDtzKyspZm9yKHZhciBsPWFbc10sYz1yLmdldChsKSx1PWMubGVuZ3RoLGg9cz09PWk/bisxOjA7aDx1O2grKylpZihNVHQuRE9NLmludGVyc2VjdHNCQm94KHQsZSx0aGlzLl9lbnRpdHlCQm94KGNbaF0saCxsLG8pKSlyZXR1cm4hMDtyZXR1cm4hMX0sZS5fWDJfS0VZPSJ4MiIsZS5fWTJfS0VZPSJ5MiIsZX0pKG1FdC5YWVBsb3QpO21UdC5SZWN0YW5nbGU9VFR0O3ZhciBDVHQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KENUdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEFUdD1CTyxrVHQ9TGd0LExUdD1wdnQsUFR0PUh3dCxOVHQ9R1N0LElUdD1lRXQsUlR0PWZndCxPVHQ9UE10LHpUdD1YdnQsRFR0PURfdCxCVHQ9ZEV0LEhUdD1zU3QsRlR0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9dC5jYWxsKHRoaXMpfHx0aGlzO2UuX2xhYmVsRm9ybWF0dGVyPUxUdC5pZGVudGl0eSgpLGUuX2xhYmVsc0VuYWJsZWQ9ITEsZS5hZGRDbGFzcygic2NhdHRlci1wbG90Iik7dmFyIG49bmV3IFJUdC5FYXNpbmc7bi5zdGFydERlbGF5KDUpLG4uc3RlcER1cmF0aW9uKDI1MCksbi5tYXhUb3RhbER1cmF0aW9uKEhUdC5QbG90Ll9BTklNQVRJT05fTUFYX0RVUkFUSU9OKSxlLmFuaW1hdG9yKEJUdC5BbmltYXRvci5NQUlOLG4pLGUuYXR0cigib3BhY2l0eSIsLjYpLGUuYXR0cigiZmlsbCIsKG5ldyB6VHQuQ29sb3IpLnJhbmdlKClbMF0pLGUuc2l6ZSg2KTt2YXIgaT1QVHQuY2lyY2xlKCk7cmV0dXJuIGUuc3ltYm9sKChmdW5jdGlvbigpe3JldHVybiBpfSkpLGUuX2xhYmVsQ29uZmlnPW5ldyBEVHQuTWFwLGV9cmV0dXJuIEFUdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fYnVpbGRMaWdodHdlaWdodFBsb3RFbnRpdGllcz1mdW5jdGlvbihlKXt2YXIgbj10aGlzO3JldHVybiB0LnByb3RvdHlwZS5fYnVpbGRMaWdodHdlaWdodFBsb3RFbnRpdGllcy5jYWxsKHRoaXMsZSkubWFwKChmdW5jdGlvbih0KXt2YXIgZT1IVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3Iobi5zaXplKCkpKHQuZGF0dW0sdC5pbmRleCx0LmRhdGFzZXQpO3JldHVybiB0LmRpYW1ldGVyPWUsdH0pKX0sZS5wcm90b3R5cGUuX2NyZWF0ZURyYXdlcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiBuZXcgTlR0LlByb3h5RHJhd2VyKChmdW5jdGlvbigpe3JldHVybiBuZXcgSVR0LlN5bWJvbFNWR0RyYXdlcn0pLChmdW5jdGlvbihuKXtyZXR1cm4gbmV3IE9UdC5DYW52YXNEcmF3ZXIobixJVHQubWFrZVN5bWJvbENhbnZhc0RyYXdTdGVwKHQsKGZ1bmN0aW9uKCl7cmV0dXJuIEhUdC5QbG90Ll9zY2FsZWRBY2Nlc3NvcihlLnN5bWJvbCgpKX0pLChmdW5jdGlvbigpe3JldHVybiBIVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IoZS5zaXplKCkpfSkpKX0pKX0sZS5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbih0LG4pe3JldHVybiBudWxsPT10P3RoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KGUuX1NJWkVfS0VZKToodGhpcy5fYmluZFByb3BlcnR5KGUuX1NJWkVfS0VZLHQsbiksdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUuc3ltYm9sPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KGUuX1NZTUJPTF9LRVkpOih0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLnNldChlLl9TWU1CT0xfS0VZLHthY2Nlc3Nvcjp0fSksdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUuX2dlbmVyYXRlRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7dmFyIHQ9W107aWYodGhpcy5fYW5pbWF0ZU9uTmV4dFJlbmRlcigpKXt2YXIgZT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxuPUhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnN5bWJvbCgpKTtlLmQ9ZnVuY3Rpb24odCxlLGkpe3JldHVybiBuKHQsZSxpKSgwKShudWxsKX0sdC5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6ZSxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihCVHQuQW5pbWF0b3IuUkVTRVQpfSl9cmV0dXJuIHQucHVzaCh7YXR0clRvUHJvamVjdG9yOnRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLGFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKEJUdC5BbmltYXRvci5NQUlOKX0pLHR9LGUucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnM9ZnVuY3Rpb24oKXt2YXIgZT10LnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzLmNhbGwodGhpcyksbj1IVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLGk9SFR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKTtyZXR1cm4gZS54PW4sZS55PWksZS50cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIpe3JldHVybiJ0cmFuc2xhdGUoIituKHQsZSxyKSsiLCIraSh0LGUscikrIikifSxlLmQ9dGhpcy5fY29uc3RydWN0U3ltYm9sR2VuZXJhdG9yKCksZX0sZS5wcm90b3R5cGUuX2NvbnN0cnVjdFN5bWJvbEdlbmVyYXRvcj1mdW5jdGlvbigpe3ZhciB0PUhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnN5bWJvbCgpKSxlPUhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnNpemUoKSk7cmV0dXJuIGZ1bmN0aW9uKG4saSxyKXtyZXR1cm4gdChuLGkscikoZShuLGkscikpKG51bGwpfX0sZS5wcm90b3R5cGUuX2VudGl0eUJvdW5kcz1mdW5jdGlvbih0KXtyZXR1cm57eDp0LnBvc2l0aW9uLngtdC5kaWFtZXRlci8yLHk6dC5wb3NpdGlvbi55LXQuZGlhbWV0ZXIvMix3aWR0aDp0LmRpYW1ldGVyLGhlaWdodDp0LmRpYW1ldGVyfX0sZS5wcm90b3R5cGUuX2VudGl0eVZpc2libGVPblBsb3Q9ZnVuY3Rpb24odCxlKXt2YXIgbj17bWluOmUudG9wTGVmdC54LG1heDplLmJvdHRvbVJpZ2h0Lnh9LGk9e21pbjplLnRvcExlZnQueSxtYXg6ZS5ib3R0b21SaWdodC55fSxyPXRoaXMuX2VudGl0eUJvdW5kcyh0KTtyZXR1cm4gRFR0LkRPTS5pbnRlcnNlY3RzQkJveChuLGkscil9LGUucHJvdG90eXBlLmVudGl0aWVzQXQ9ZnVuY3Rpb24odCl7dmFyIGU9SFR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxuPUhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSksaT1IVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5zaXplKCkpO3JldHVybiB0aGlzLmVudGl0aWVzKCkuZmlsdGVyKChmdW5jdGlvbihyKXt2YXIgbz1yLmRhdHVtLGE9ci5pbmRleCxzPXIuZGF0YXNldCxsPWUobyxhLHMpLGM9bihvLGEscyksdT1pKG8sYSxzKTtyZXR1cm4gbC11LzI8PXQueCYmdC54PD1sK3UvMiYmYy11LzI8PXQueSYmdC55PD1jK3UvMn0pKX0sZS5wcm90b3R5cGUubGFiZWxzRW5hYmxlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9sYWJlbHNFbmFibGVkOih0aGlzLl9sYWJlbHNFbmFibGVkPXQsdGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpLHRoaXMucmVuZGVyKCksdGhpcyl9LGUucHJvdG90eXBlLl9jcmVhdGVOb2Rlc0ZvckRhdGFzZXQ9ZnVuY3Rpb24obil7dmFyIGk9dC5wcm90b3R5cGUuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldC5jYWxsKHRoaXMsbikscj10aGlzLl9yZW5kZXJBcmVhLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5fTEFCRUxfQVJFQV9DTEFTUywhMCksbz1uZXcga1R0LlN2Z0NvbnRleHQoci5ub2RlKCkpLGE9bmV3IGtUdC5DYWNoZU1lYXN1cmVyKG8pLHM9bmV3IGtUdC5Xcml0ZXIoYSxvKTtyZXR1cm4gdGhpcy5fbGFiZWxDb25maWcuc2V0KG4se2xhYmVsQXJlYTpyLG1lYXN1cmVyOmEsd3JpdGVyOnN9KSxpfSxlLnByb3RvdHlwZS5fcmVtb3ZlRGF0YXNldE5vZGVzPWZ1bmN0aW9uKGUpe3QucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0Tm9kZXMuY2FsbCh0aGlzLGUpO3ZhciBuPXRoaXMuX2xhYmVsQ29uZmlnLmdldChlKTtudWxsIT1uJiYobi5sYWJlbEFyZWEucmVtb3ZlKCksdGhpcy5fbGFiZWxDb25maWcuZGVsZXRlKGUpKX0sZS5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuZGF0YXNldHMoKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fbGFiZWxDb25maWcuZ2V0KHQpLmxhYmVsQXJlYS5zZWxlY3RBbGwoImciKS5yZW1vdmUoKX0pKSx0aGlzLl9sYWJlbHNFbmFibGVkJiZEVHQuV2luZG93LnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2RyYXdMYWJlbHMoKX0pLHQpfSxlLnByb3RvdHlwZS5fZHJhd0xhYmVscz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9nZXREYXRhVG9EcmF3KCksbj10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTt0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24oaSl7Zm9yKHZhciByPWUuZ2V0KGkpLG89ci5sZW5ndGgsYT0wO2E8bzthKyspe3ZhciBzPXJbYV07bnVsbCE9cyYmdC5fZHJhd0xhYmVsKHMsYSxpLG4pfX0pKX0sZS5wcm90b3R5cGUuX2RyYXdMYWJlbD1mdW5jdGlvbih0LGUsbixpKXtpZihudWxsIT10LmxhYmVsKXt2YXIgcj10aGlzLl9sYWJlbENvbmZpZy5nZXQobiksbz1yLmxhYmVsQXJlYSxhPXIubWVhc3VyZXIscz1yLndyaXRlcixsPXt4OmkueCh0LGUsbikseTppLnkodCxlLG4pfSxjPUhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnNpemUoKSkodCxlLG4pLHU9dGhpcy5fbGFiZWxGb3JtYXR0ZXIodC5sYWJlbCx0LGUsbiksaD1hLm1lYXN1cmUodSksZD10aGlzLl9jYWxjdWxhdGVMYWJlbFByb3BlcnRpZXMobCxjLGgpLHA9ZC5jb250YWluZXJEaW1lbnNpb25zLGY9ZC5hbGlnbm1lbnQsbT10aGlzLl9jcmVhdGVMYWJlbENvbnRhaW5lcihvLGQubGFiZWxDb250YWluZXJPcmlnaW4sZC5sYWJlbE9yaWdpbixoKTtzLndyaXRlKHUscC53aWR0aCxwLmhlaWdodCx7eEFsaWduOmYueCx5QWxpZ246Zi55fSxtLm5vZGUoKSl9fSxlLnByb3RvdHlwZS5fY2FsY3VsYXRlTGFiZWxQcm9wZXJ0aWVzPWZ1bmN0aW9uKHQsbixpKXtyZXR1cm57Y29udGFpbmVyRGltZW5zaW9uczp7d2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHR9LGxhYmVsQ29udGFpbmVyT3JpZ2luOnt4OnQueC1pLndpZHRoLzIseTp0LnktaS5oZWlnaHQvMisobjxpLmhlaWdodD9uLzIrZS5fTEFCRUxfTUFSR0lOX0ZST01fQlVCQkxFOjApfSxsYWJlbE9yaWdpbjp7eDp0LngseTp0Lnl9LGFsaWdubWVudDp7eDoiY2VudGVyIix5OiJjZW50ZXIifX19LGUucHJvdG90eXBlLl9jcmVhdGVMYWJlbENvbnRhaW5lcj1mdW5jdGlvbih0LGUsbixpKXt2YXIgcj10LmFwcGVuZCgiZyIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK2UueCsiLCAiK2UueSsiKSIpO3JldHVybiByLmNsYXNzZWQoIm9uLWJhci1sYWJlbCIsITApLHJ9LGUuX1NJWkVfS0VZPSJzaXplIixlLl9TWU1CT0xfS0VZPSJzeW1ib2wiLGUuX0xBQkVMX0FSRUFfQ0xBU1M9InNjYXR0ZXItbGFiZWwtdGV4dC1hcmVhIixlLl9MQUJFTF9NQVJHSU5fRlJPTV9CVUJCTEU9MTUsZX0pKG1FdC5YWVBsb3QpO0NUdC5TY2F0dGVyPUZUdDt2YXIgVlR0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShWVHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBVVHQ9Qk8salR0PWZndCxHVHQ9R1N0LFdUdD1KTXQscVR0PVh2dCxZVHQ9VHl0LFhUdD1zU3QsJFR0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBlLmFkZENsYXNzKCJzZWdtZW50LXBsb3QiKSxlLmF0dHIoInN0cm9rZSIsKG5ldyBxVHQuQ29sb3IpLnJhbmdlKClbMF0pLGUuYXR0cigic3Ryb2tlLXdpZHRoIiwiMnB4IiksZX1yZXR1cm4gVVR0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9jcmVhdGVEcmF3ZXI9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEdUdC5Qcm94eURyYXdlcigoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFdUdC5TZWdtZW50U1ZHRHJhd2VyfSksKGZ1bmN0aW9uKCl7cmV0dXJuIFlUdC53YXJuKCJjYW52YXMgcmVuZGVyZXIgaXMgbm90IHN1cHBvcnRlZCBvbiBTZWdtZW50IFBsb3QhIiksbnVsbH0pKX0sZS5wcm90b3R5cGUuX2dlbmVyYXRlRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7cmV0dXJuW3thdHRyVG9Qcm9qZWN0b3I6dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksYW5pbWF0b3I6bmV3IGpUdC5OdWxsfV19LGUucHJvdG90eXBlLl9maWx0ZXJGb3JQcm9wZXJ0eT1mdW5jdGlvbihlKXtyZXR1cm4gdC5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5LmNhbGwodGhpcywieDIiPT09ZT8ieCI6InkyIj09PWU/InkiOmUpfSxlLnByb3RvdHlwZS54PWZ1bmN0aW9uKG4saSl7aWYobnVsbD09bilyZXR1cm4gdC5wcm90b3R5cGUueC5jYWxsKHRoaXMpO2lmKG51bGw9PWkpdC5wcm90b3R5cGUueC5jYWxsKHRoaXMsbik7ZWxzZXt0LnByb3RvdHlwZS54LmNhbGwodGhpcyxuLGkpO3ZhciByPXRoaXMueDIoKSxvPXImJnIuYWNjZXNzb3I7bnVsbCE9byYmdGhpcy5fYmluZFByb3BlcnR5KGUuX1gyX0tFWSxvLGkpfXJldHVybiB0aGlzfSxlLnByb3RvdHlwZS54Mj1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChlLl9YMl9LRVkpO3ZhciBuPXRoaXMueCgpO3JldHVybiB0aGlzLl9iaW5kUHJvcGVydHkoZS5fWDJfS0VZLHQsbiYmbi5zY2FsZSksdGhpcy5yZW5kZXIoKSx0aGlzfSxlLnByb3RvdHlwZS55PWZ1bmN0aW9uKG4saSl7aWYobnVsbD09bilyZXR1cm4gdC5wcm90b3R5cGUueS5jYWxsKHRoaXMpO2lmKG51bGw9PWkpdC5wcm90b3R5cGUueS5jYWxsKHRoaXMsbik7ZWxzZXt0LnByb3RvdHlwZS55LmNhbGwodGhpcyxuLGkpO3ZhciByPXRoaXMueTIoKSxvPXImJnIuYWNjZXNzb3I7bnVsbCE9byYmdGhpcy5fYmluZFByb3BlcnR5KGUuX1kyX0tFWSxvLGkpfXJldHVybiB0aGlzfSxlLnByb3RvdHlwZS55Mj1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChlLl9ZMl9LRVkpO3ZhciBuPXRoaXMueSgpO3JldHVybiB0aGlzLl9iaW5kUHJvcGVydHkoZS5fWTJfS0VZLHQsbiYmbi5zY2FsZSksdGhpcy5yZW5kZXIoKSx0aGlzfSxlLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIGU9dC5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycy5jYWxsKHRoaXMpO3JldHVybiBlLngxPVhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksZS54Mj1udWxsPT10aGlzLngyKCk/WFR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKTpYVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54MigpKSxlLnkxPVhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSksZS55Mj1udWxsPT10aGlzLnkyKCk/WFR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKTpYVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55MigpKSxlfSxlLnByb3RvdHlwZS5lbnRpdGllc0F0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZW50aXR5TmVhcmVzdCh0KTtyZXR1cm4gbnVsbCE9ZT9bZV06W119LGUucHJvdG90eXBlLmVudGl0aWVzSW49ZnVuY3Rpb24odCxlKXt2YXIgbixpO2lmKG51bGw9PWUpe249e21pbjp0LnRvcExlZnQueCxtYXg6dC5ib3R0b21SaWdodC54fSxpPXttaW46dC50b3BMZWZ0LnksbWF4OnQuYm90dG9tUmlnaHQueX19ZWxzZSBuPXQsaT1lO3JldHVybiB0aGlzLl9lbnRpdGllc0ludGVyc2VjdGluZyhuLGkpfSxlLnByb3RvdHlwZS5fZW50aXRpZXNJbnRlcnNlY3Rpbmc9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49W10saT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxyPXRoaXMuZW50aXRpZXMoKSxvPXIubGVuZ3RoLGE9MDthPG87YSsrKXt2YXIgcz1yW2FdO3RoaXMuX2xpbmVJbnRlcnNlY3RzQm94KHMsdCxlLGkpJiZuLnB1c2gocyl9cmV0dXJuIG59LGUucHJvdG90eXBlLl9saW5lSW50ZXJzZWN0c0JveD1mdW5jdGlvbih0LGUsbixpKXt2YXIgcj10aGlzLG89aS54MSh0LmRhdHVtLHQuaW5kZXgsdC5kYXRhc2V0KSxhPWkueDIodC5kYXR1bSx0LmluZGV4LHQuZGF0YXNldCkscz1pLnkxKHQuZGF0dW0sdC5pbmRleCx0LmRhdGFzZXQpLGw9aS55Mih0LmRhdHVtLHQuaW5kZXgsdC5kYXRhc2V0KTtpZihlLm1pbjw9byYmbzw9ZS5tYXgmJm4ubWluPD1zJiZzPD1uLm1heHx8ZS5taW48PWEmJmE8PWUubWF4JiZuLm1pbjw9bCYmbDw9bi5tYXgpcmV0dXJuITA7dmFyIGM9e3g6byx5OnN9LHU9e3g6YSx5Omx9LGg9W3t4OmUubWluLHk6bi5taW59LHt4OmUubWluLHk6bi5tYXh9LHt4OmUubWF4LHk6bi5tYXh9LHt4OmUubWF4LHk6bi5taW59XTtyZXR1cm4gaC5maWx0ZXIoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIDAhPT1lJiYoci5fbGluZUludGVyc2VjdHNTZWdtZW50KGMsdSx0LGhbZS0xXSkmJnIuX2xpbmVJbnRlcnNlY3RzU2VnbWVudCh0LGhbZS0xXSxjLHUpKX0pKS5sZW5ndGg+MH0sZS5wcm90b3R5cGUuX2xpbmVJbnRlcnNlY3RzU2VnbWVudD1mdW5jdGlvbih0LGUsbixpKXt2YXIgcj1mdW5jdGlvbih0LGUsbil7cmV0dXJuKGUueC10LngpKihuLnktZS55KS0oZS55LXQueSkqKG4ueC1lLngpfTtyZXR1cm4gcih0LGUsbikqcih0LGUsaSk8MH0sZS5fWDJfS0VZPSJ4MiIsZS5fWTJfS0VZPSJ5MiIsZX0pKG1FdC5YWVBsb3QpO1ZUdC5TZWdtZW50PSRUdDt2YXIgS1R0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShLVHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBaVHQ9Qk8sSlR0PXdwdCxRVHQ9Zmd0LHRDdD1jU3QsZUN0PURfdCxuQ3Q9c1N0LGlDdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gZS5fc3RhY2tpbmdSZXN1bHQ9dEN0Lm1lbVRodW5rKChmdW5jdGlvbigpe3JldHVybiBlLmRhdGFzZXRzKCl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZS54KCkuYWNjZXNzb3J9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZS55KCkuYWNjZXNzb3J9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZS5fc3RhY2tpbmdPcmRlcn0pLChmdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gZUN0LlN0YWNraW5nLnN0YWNrKHQsZSxuLGkpfSkpLGUuX3N0YWNrZWRFeHRlbnQ9dEN0Lm1lbVRodW5rKGUuX3N0YWNraW5nUmVzdWx0LChmdW5jdGlvbigpe3JldHVybiBlLngoKS5hY2Nlc3Nvcn0pLChmdW5jdGlvbigpe3JldHVybiBlLl9maWx0ZXJGb3JQcm9wZXJ0eSgieSIpfSksKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZUN0LlN0YWNraW5nLnN0YWNrZWRFeHRlbnQodCxlLG4pfSkpLGUuX2Jhc2VsaW5lVmFsdWU9MCxlLl9zdGFja2luZ09yZGVyPSJib3R0b211cCIsZS5hZGRDbGFzcygic3RhY2tlZC1hcmVhLXBsb3QiKSxlLl9iYXNlbGluZVZhbHVlUHJvdmlkZXI9ZnVuY3Rpb24oKXtyZXR1cm5bZS5fYmFzZWxpbmVWYWx1ZV19LGUuY3JvcHBlZFJlbmRlcmluZ0VuYWJsZWQoITEpLGV9cmV0dXJuIFpUdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT90LnByb3RvdHlwZS5jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZC5jYWxsKHRoaXMpOmU/KGVDdC5XaW5kb3cud2FybigiV2FybmluZzogU3RhY2tlZCBBcmVhIFBsb3QgZG9lcyBub3Qgc3VwcG9ydCBjcm9wcGVkIHJlbmRlcmluZy4iKSx0aGlzKTp0LnByb3RvdHlwZS5jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZC5jYWxsKHRoaXMsZSl9LGUucHJvdG90eXBlLl9nZXRBbmltYXRvcj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IFFUdC5OdWxsfSxlLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKSx0aGlzLl9iYXNlbGluZT10aGlzLl9yZW5kZXJBcmVhLmFwcGVuZCgibGluZSIpLmNsYXNzZWQoImJhc2VsaW5lIiwhMCl9LGUucHJvdG90eXBlLng9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbnVsbD09ZT90LnByb3RvdHlwZS54LmNhbGwodGhpcyk6KG51bGw9PW4/dC5wcm90b3R5cGUueC5jYWxsKHRoaXMsZSk6dC5wcm90b3R5cGUueC5jYWxsKHRoaXMsZSxuKSx0aGlzLl9jaGVja1NhbWVEb21haW4oKSx0aGlzKX0sZS5wcm90b3R5cGUueT1mdW5jdGlvbihlLG4pe3JldHVybiBudWxsPT1lP3QucHJvdG90eXBlLnkuY2FsbCh0aGlzKToobnVsbD09bj90LnByb3RvdHlwZS55LmNhbGwodGhpcyxlKTp0LnByb3RvdHlwZS55LmNhbGwodGhpcyxlLG4pLHRoaXMuX2NoZWNrU2FtZURvbWFpbigpLHRoaXMpfSxlLnByb3RvdHlwZS55T2Zmc2V0PWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fc3RhY2tpbmdSZXN1bHQoKTtpZihudWxsIT1uKXt2YXIgaT1uLmdldCh0KTtpZihudWxsIT1pKXt2YXIgcj1pLmdldChTdHJpbmcoZSkpO2lmKG51bGwhPXIpcmV0dXJuIHIub2Zmc2V0fX19LGUucHJvdG90eXBlLnN0YWNraW5nT3JkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fc3RhY2tpbmdPcmRlcjoodGhpcy5fc3RhY2tpbmdPcmRlcj10LHRoaXMuX29uRGF0YXNldFVwZGF0ZSgpLHRoaXMpfSxlLnByb3RvdHlwZS5kb3duc2FtcGxpbmdFbmFibGVkPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP3QucHJvdG90eXBlLmRvd25zYW1wbGluZ0VuYWJsZWQuY2FsbCh0aGlzKTooZUN0LldpbmRvdy53YXJuKCJXYXJuaW5nOiBTdGFja2VkIEFyZWEgUGxvdCBkb2VzIG5vdCBzdXBwb3J0IGRvd25zYW1wbGluZyIpLHRoaXMpfSxlLnByb3RvdHlwZS5fYWRkaXRpb25hbFBhaW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy55KCkuc2NhbGUuc2NhbGUodGhpcy5fYmFzZWxpbmVWYWx1ZSksZT17eDE6MCx5MTp0LHgyOnRoaXMud2lkdGgoKSx5Mjp0fTt0aGlzLl9nZXRBbmltYXRvcigiYmFzZWxpbmUiKS5hbmltYXRlKHRoaXMuX2Jhc2VsaW5lLGUpfSxlLnByb3RvdHlwZS5fdXBkYXRlWVNjYWxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy55KCksZT10JiZ0LnNjYWxlO251bGwhPWUmJihlLmFkZFBhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXIodGhpcy5fYmFzZWxpbmVWYWx1ZVByb3ZpZGVyKSxlLmFkZEluY2x1ZGVkVmFsdWVzUHJvdmlkZXIodGhpcy5fYmFzZWxpbmVWYWx1ZVByb3ZpZGVyKSl9LGUucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2hlY2tTYW1lRG9tYWluKCksdC5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZS5jYWxsKHRoaXMpLHRoaXN9LGUucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbihlKXtyZXR1cm4ieSI9PT1lP1t0aGlzLl9zdGFja2VkRXh0ZW50KCldOnQucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eS5jYWxsKHRoaXMsZSl9LGUucHJvdG90eXBlLl9jaGVja1NhbWVEb21haW49ZnVuY3Rpb24oKXtpZih0aGlzLl9wcm9qZWN0b3JzUmVhZHkoKSl7dmFyIHQ9dGhpcy5kYXRhc2V0cygpLG49dGhpcy54KCkuYWNjZXNzb3IsaT10Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIEpUdC5zZXQodC5kYXRhKCkubWFwKChmdW5jdGlvbihlLGkpe3JldHVybiBlQ3QuU3RhY2tpbmcubm9ybWFsaXplS2V5KG4oZSxpLHQpKX0pKSkudmFsdWVzKCl9KSkscj1lLl9kb21haW5LZXlzKHQsbik7aS5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gdC5sZW5ndGghPT1yLmxlbmd0aH0pKSYmZUN0LldpbmRvdy53YXJuKCJ0aGUgZG9tYWlucyBhY3Jvc3MgdGhlIGRhdGFzZXRzIGFyZSBub3QgdGhlIHNhbWUuIFBsb3QgbWF5IHByb2R1Y2UgdW5pbnRlbmRlZCBiZWhhdmlvci4iKX19LGUuX2RvbWFpbktleXM9ZnVuY3Rpb24odCxlKXt2YXIgbj1KVHQuc2V0KCk7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7Zm9yKHZhciBpPXQuZGF0YSgpLHI9aS5sZW5ndGgsbz0wO288cjtvKyspe24uYWRkKGUoaVtvXSxvLHQpKX19KSksbi52YWx1ZXMoKX0sZS5wcm90b3R5cGUuX2Nvb3JkaW5hdGVQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPW5DdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksbj10aGlzLnkoKS5hY2Nlc3NvcixpPXRoaXMueCgpLmFjY2Vzc29yLHI9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlQ3QuU3RhY2tpbmcubm9ybWFsaXplS2V5KGkodCxlLG4pKX0sbz10aGlzLl9zdGFja2luZ1Jlc3VsdCgpO3JldHVybltlLGZ1bmN0aW9uKGUsaSxhKXt2YXIgcz0rbihlLGksYSksbD1vLmdldChhKS5nZXQocihlLGksYSkpLm9mZnNldDtyZXR1cm4gdC55KCkuc2NhbGUuc2NhbGUocytsKX0sZnVuY3Rpb24oZSxuLGkpe3ZhciBhPW8uZ2V0KGkpLmdldChyKGUsbixpKSkub2Zmc2V0O3JldHVybiB0LnkoKS5zY2FsZS5zY2FsZShhKX1dfSxlLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIGU9dC5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycy5jYWxsKHRoaXMpLG49dGhpcy5fY29vcmRpbmF0ZVByb2plY3RvcnMoKTtyZXR1cm4gZS5kPXRoaXMuX2NvbnN0cnVjdEFyZWFQcm9qZWN0b3IoblswXSxuWzFdLG5bMl0pLGV9LGUucHJvdG90eXBlLl9waXhlbFBvaW50PWZ1bmN0aW9uKGUsbixpKXt2YXIgcj10LnByb3RvdHlwZS5fcGl4ZWxQb2ludC5jYWxsKHRoaXMsZSxuLGkpLG89dGhpcy54KCkuYWNjZXNzb3IoZSxuLGkpLGE9dGhpcy55KCkuYWNjZXNzb3IoZSxuLGkpLHM9dGhpcy55KCkuc2NhbGUuc2NhbGUoK2ErdGhpcy5fc3RhY2tpbmdSZXN1bHQoKS5nZXQoaSkuZ2V0KGVDdC5TdGFja2luZy5ub3JtYWxpemVLZXkobykpLm9mZnNldCk7cmV0dXJue3g6ci54LHk6c319LGV9KShwRXQuQXJlYSk7S1R0LlN0YWNrZWRBcmVhPWlDdDt2YXIgckN0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShyQ3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBvQ3Q9Qk8sYUN0PUxndCxzQ3Q9cHZ0LGxDdD1jU3QsY0N0PURfdCx1Q3Q9WUV0LGhDdD1zU3QsZEN0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUpe3ZvaWQgMD09PWUmJihlPSJ2ZXJ0aWNhbCIpO3ZhciBuPXQuY2FsbCh0aGlzLGUpfHx0aGlzO3JldHVybiBuLl9leHRyZW1hRm9ybWF0dGVyPXNDdC5pZGVudGl0eSgpLG4uX3N0YWNraW5nUmVzdWx0PWxDdC5tZW1UaHVuaygoZnVuY3Rpb24oKXtyZXR1cm4gbi5kYXRhc2V0cygpfSksKGZ1bmN0aW9uKCl7cmV0dXJuIG4ucG9zaXRpb24oKS5hY2Nlc3Nvcn0pLChmdW5jdGlvbigpe3JldHVybiBuLmxlbmd0aCgpLmFjY2Vzc29yfSksKGZ1bmN0aW9uKCl7cmV0dXJuIG4uX3N0YWNraW5nT3JkZXJ9KSwoZnVuY3Rpb24odCxlLG4saSl7cmV0dXJuIGNDdC5TdGFja2luZy5zdGFjayh0LGUsbixpKX0pKSxuLl9zdGFja2VkRXh0ZW50PWxDdC5tZW1UaHVuayhuLl9zdGFja2luZ1Jlc3VsdCwoZnVuY3Rpb24oKXtyZXR1cm4gbi5wb3NpdGlvbigpLmFjY2Vzc29yfSksKGZ1bmN0aW9uKCl7cmV0dXJuIG4uX2ZpbHRlckZvclByb3BlcnR5KG4uX2lzVmVydGljYWw/InkiOiJ4Iil9KSwoZnVuY3Rpb24odCxlLG4pe3JldHVybiBjQ3QuU3RhY2tpbmcuc3RhY2tlZEV4dGVudCh0LGUsbil9KSksbi5hZGRDbGFzcygic3RhY2tlZC1iYXItcGxvdCIpLG4uX3N0YWNraW5nT3JkZXI9ImJvdHRvbXVwIixufXJldHVybiBvQ3QuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuc3RhY2tpbmdPcmRlcj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9zdGFja2luZ09yZGVyOih0aGlzLl9zdGFja2luZ09yZGVyPXQsdGhpcy5fb25EYXRhc2V0VXBkYXRlKCksdGhpcyl9LGUucHJvdG90eXBlLmV4dHJlbWFGb3JtYXR0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMuX2V4dHJlbWFGb3JtYXR0ZXI6KHRoaXMuX2V4dHJlbWFGb3JtYXR0ZXI9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKSx0aGlzLl9sYWJlbEFyZWE9dGhpcy5fcmVuZGVyQXJlYS5hcHBlbmQoImciKS5jbGFzc2VkKHVDdC5CYXIuX0xBQkVMX0FSRUFfQ0xBU1MsITApO3ZhciBlPW5ldyBhQ3QuU3ZnQ29udGV4dCh0aGlzLl9sYWJlbEFyZWEubm9kZSgpKTt0aGlzLl9tZWFzdXJlcj1uZXcgYUN0LkNhY2hlTWVhc3VyZXIoZSksdGhpcy5fd3JpdGVyPW5ldyBhQ3QuV3JpdGVyKHRoaXMuX21lYXN1cmVyLGUpfSxlLnByb3RvdHlwZS5fZHJhd0xhYmVscz1mdW5jdGlvbigpe3ZhciBuPXRoaXM7dC5wcm90b3R5cGUuX2RyYXdMYWJlbHMuY2FsbCh0aGlzKSx0aGlzLl9sYWJlbEFyZWEuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCk7dmFyIGk9K3RoaXMuYmFzZWxpbmVWYWx1ZSgpLHI9dGhpcy5wb3NpdGlvbigpLnNjYWxlLG89dGhpcy5sZW5ndGgoKS5zY2FsZSxhPWNDdC5TdGFja2luZy5zdGFja2VkRXh0ZW50cyh0aGlzLl9zdGFja2luZ1Jlc3VsdCgpKSxzPWEubWluaW11bUV4dGVudHMsbD1bXSxjPWZ1bmN0aW9uKHQsZSl7dmFyIGE9bi5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3IoKSxzPW4ud2lkdGgoKSxjPW4uaGVpZ2h0KCk7dC5mb3JFYWNoKChmdW5jdGlvbih0KXtpZih0LmV4dGVudCE9PWkpe3ZhciB1PW4uZXh0cmVtYUZvcm1hdHRlcigpKHQuZXh0ZW50KSxoPW4uX21lYXN1cmVyLm1lYXN1cmUodSksZD10LnN0YWNrZWREYXR1bSxwPWQub3JpZ2luYWxEYXR1bSxmPWQub3JpZ2luYWxJbmRleCxtPWQub3JpZ2luYWxEYXRhc2V0O2lmKCFuLl9pc0RhdHVtT25TY3JlZW4oYSxzLGMscCxmLG0pKXJldHVybjt2YXIgZz1oQ3QuUGxvdC5fc2NhbGVkQWNjZXNzb3Iobi5hdHRyKHVDdC5CYXIuX0JBUl9USElDS05FU1NfS0VZKSkocCxmLG0pLF89by5zY2FsZSh0LmV4dGVudCkseT1uLl9nZXRQb3NpdGlvbkF0dHIoci5zY2FsZSh0LmF4aXNWYWx1ZSksZykrZy8yLHY9ZShuLl9pc1ZlcnRpY2FsP3t4OnkseTpffTp7eDpfLHk6eX0saCxnKSxiPShmdW5jdGlvbih0LGUsaSl7dmFyIHI9ZS50b3BMZWZ0LG89ci54LGE9ci55LHM9ZS5ib3R0b21SaWdodC54LWUudG9wTGVmdC54LGw9ZS5ib3R0b21SaWdodC55LWUudG9wTGVmdC55LGM9bi5faXNWZXJ0aWNhbD9zPmk6bD5pO2lmKCFjKXt2YXIgdT1uLl9sYWJlbEFyZWEuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrbysiLCAiK2ErIikiKTt1LmNsYXNzZWQoInN0YWNrZWQtYmFyLWxhYmVsIiwhMCksbi5fd3JpdGVyLndyaXRlKHQscyxsLHt4QWxpZ246ImNlbnRlciIseUFsaWduOiJjZW50ZXIifSx1Lm5vZGUoKSl9cmV0dXJuIGN9KSh1LHt0b3BMZWZ0OnYsYm90dG9tUmlnaHQ6e3g6di54K2gud2lkdGgseTp2LnkraC5oZWlnaHR9fSxnKTtsLnB1c2goYil9fSkpfTtjKGEubWF4aW11bUV4dGVudHMsKGZ1bmN0aW9uKHQsaSxyKXt2YXIgbz1uLl9pc1ZlcnRpY2FsP2kud2lkdGg6aS5oZWlnaHQ7cmV0dXJue3g6bi5faXNWZXJ0aWNhbD90Lngtby8yOnQueCtlLl9FWFRSRU1BX0xBQkVMX01BUkdJTl9GUk9NX0JBUix5Om4uX2lzVmVydGljYWw/dC55LShuLl9pc1ZlcnRpY2FsP2kuaGVpZ2h0Omkud2lkdGgpOnQueS1vLzJ9fSkpLGMocywoZnVuY3Rpb24odCxpLHIpe3ZhciBvPW4uX2lzVmVydGljYWw/aS53aWR0aDppLmhlaWdodDtyZXR1cm57eDpuLl9pc1ZlcnRpY2FsP3QueC1vLzI6dC54LShuLl9pc1ZlcnRpY2FsP2kuaGVpZ2h0Omkud2lkdGgpLHk6bi5faXNWZXJ0aWNhbD90LnkrZS5fRVhUUkVNQV9MQUJFTF9NQVJHSU5fRlJPTV9CQVI6dC55LW8vMn19KSksbC5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKSYmdGhpcy5fbGFiZWxBcmVhLnNlbGVjdEFsbCgiZyIpLnJlbW92ZSgpfSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49dC5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yLmNhbGwodGhpcyksaT10aGlzLl9pc1ZlcnRpY2FsPyJ5IjoieCIscj10aGlzLmxlbmd0aCgpLnNjYWxlLG89dGhpcy5sZW5ndGgoKS5hY2Nlc3NvcixhPXRoaXMucG9zaXRpb24oKS5hY2Nlc3NvcixzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gY0N0LlN0YWNraW5nLm5vcm1hbGl6ZUtleShhKHQsZSxuKSl9LGw9dGhpcy5fc3RhY2tpbmdSZXN1bHQoKSxjPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gci5zY2FsZShsLmdldChuKS5nZXQocyh0LGUsbikpLm9mZnNldCl9LHU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiByLnNjYWxlKCtvKHQsZSxuKStsLmdldChuKS5nZXQocyh0LGUsbikpLm9mZnNldCl9LGg9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBNYXRoLmFicyh1KHQsZSxuKS1jKHQsZSxuKSl9O25bdGhpcy5faXNWZXJ0aWNhbD8iaGVpZ2h0Ijoid2lkdGgiXT1oO3ZhciBkPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4rbyh0LGUsbik8MD9jKHQsZSxuKTp1KHQsZSxuKX07cmV0dXJuIG5baV09ZnVuY3Rpb24odCxuLGkpe3JldHVybiBlLl9pc1ZlcnRpY2FsP2QodCxuLGkpOmQodCxuLGkpLWgodCxuLGkpfSxufSxlLnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHk9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT0odGhpcy5faXNWZXJ0aWNhbD8ieSI6IngiKT9bdGhpcy5fc3RhY2tlZEV4dGVudCgpXTp0LnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHkuY2FsbCh0aGlzLGUpfSxlLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGUuY2FsbCh0aGlzKSx0aGlzLl9tZWFzdXJlci5yZXNldCgpfSxlLl9FWFRSRU1BX0xBQkVMX01BUkdJTl9GUk9NX0JBUj01LGV9KSh1Q3QuQmFyKTtyQ3QuU3RhY2tlZEJhcj1kQ3Q7dmFyIHBDdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkocEN0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZkN0PUJPLG1DdD1EX3QsZ0N0PXNTdCxfQ3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGUuX2Nvbm5lY3RvcnNFbmFibGVkPSExLGUuYWRkQ2xhc3MoIndhdGVyZmFsbC1wbG90IiksZX1yZXR1cm4gZkN0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmNvbm5lY3RvcnNFbmFibGVkPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2Nvbm5lY3RvcnNFbmFibGVkOih0aGlzLl9jb25uZWN0b3JzRW5hYmxlZD10LHRoaXMpfSxlLnByb3RvdHlwZS50b3RhbD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChlLl9UT1RBTF9LRVkpOih0aGlzLl9iaW5kUHJvcGVydHkoZS5fVE9UQUxfS0VZLHQsbnVsbCksdGhpcyl9LGUucHJvdG90eXBlLl9hZGRpdGlvbmFsUGFpbnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt0aGlzLl9jb25uZWN0b3JBcmVhLnNlbGVjdEFsbCgibGluZSIpLnJlbW92ZSgpLHRoaXMuX2Nvbm5lY3RvcnNFbmFibGVkJiZtQ3QuV2luZG93LnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2RyYXdDb25uZWN0b3JzKCl9KSx0KX0sZS5wcm90b3R5cGUuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldD1mdW5jdGlvbihuKXt2YXIgaT10LnByb3RvdHlwZS5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0LmNhbGwodGhpcyxuKTtyZXR1cm4gdGhpcy5fY29ubmVjdG9yQXJlYT10aGlzLl9yZW5kZXJBcmVhLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5fQ09OTkVDVE9SX0FSRUFfQ0xBU1MsITApLGl9LGUucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbihlKXtyZXR1cm4ieSI9PT1lP1t0aGlzLl9leHRlbnRdOnQucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eS5jYWxsKHRoaXMsZSl9LGUucHJvdG90eXBlLl9nZW5lcmF0ZUF0dHJUb1Byb2plY3Rvcj1mdW5jdGlvbigpe3ZhciBuPXRoaXMsaT10LnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3IuY2FsbCh0aGlzKSxyPXRoaXMueSgpLnNjYWxlLG89Z0N0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMudG90YWwoKSk7cmV0dXJuIG51bGw9PXRoaXMuYXR0cigieSIpJiYoaS55PWZ1bmN0aW9uKHQsZSxpKXt2YXIgYT1uLnkoKS5hY2Nlc3Nvcih0LGUsaSk7aWYobyh0LGUsaSkpcmV0dXJuIE1hdGgubWluKHIuc2NhbGUoYSksci5zY2FsZSgwKSk7dmFyIHM9bi5fc3VidG90YWxzW2VdO2lmKDA9PT1lKXJldHVybiByLnNjYWxlKGE8MD9zLWE6cyk7dmFyIGw9bi5fc3VidG90YWxzW2UtMV07cmV0dXJuIHIuc2NhbGUocz5sP3M6bCl9KSxudWxsPT10aGlzLmF0dHIoImhlaWdodCIpJiYoaS5oZWlnaHQ9ZnVuY3Rpb24odCxlLGkpe3ZhciBhPW8odCxlLGkpLHM9bi55KCkuYWNjZXNzb3IodCxlLGkpO2lmKGEpcmV0dXJuIE1hdGguYWJzKHIuc2NhbGUocyktci5zY2FsZSgwKSk7dmFyIGw9bi5fc3VidG90YWxzW2VdO2lmKDA9PT1lKXJldHVybiBNYXRoLmFicyhyLnNjYWxlKGwpLXIuc2NhbGUobC1zKSk7dmFyIGM9bi5fc3VidG90YWxzW2UtMV07cmV0dXJuIE1hdGguYWJzKHIuc2NhbGUobCktci5zY2FsZShjKSl9KSxpLmNsYXNzPWZ1bmN0aW9uKHQsaSxyKXt2YXIgYT0iIjtyZXR1cm4gbnVsbCE9bi5hdHRyKCJjbGFzcyIpJiYoYT1uLmF0dHIoImNsYXNzIikuYWNjZXNzb3IodCxpLHIpKyIgIiksbyh0LGkscik/YStlLl9CQVJfVE9UQUxfQ0xBU1M6YSsobi55KCkuYWNjZXNzb3IodCxpLHIpPjA/ZS5fQkFSX0dST1dUSF9DTEFTUzplLl9CQVJfREVDTElORV9DTEFTUyl9LGl9LGUucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdXBkYXRlU3VidG90YWxzKCksdC5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZS5jYWxsKHRoaXMpLHRoaXN9LGUucHJvdG90eXBlLl9jYWxjdWxhdGVTdWJ0b3RhbHNBbmRFeHRlbnQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPU51bWJlci5NQVhfVkFMVUUsbj1OdW1iZXIuTUlOX1ZBTFVFLGk9MCxyPSExLG89dC5kYXRhKCksYT1vLmxlbmd0aCxzPTA7czxhO3MrKyl7dmFyIGw9b1tzXSxjPXRoaXMueSgpLmFjY2Vzc29yKGwscyx0KSx1PXRoaXMudG90YWwoKS5hY2Nlc3NvcihsLHMsdCk7aWYodSYmMCE9PXN8fChpKz1jKSx0aGlzLl9zdWJ0b3RhbHMucHVzaChpKSxpPGUmJihlPWkpLGk+biYmKG49aSksdSYmKGM8ZSYmKGU9YyksYz5uJiYobj1jKSksIXImJnUpe2Zvcih2YXIgaD1jLWksZD0wO2Q8dGhpcy5fc3VidG90YWxzLmxlbmd0aDtkKyspdGhpcy5fc3VidG90YWxzW2RdKz1oO3I9ITAsaSs9aCxlKz1oLG4rPWh9fXRoaXMuX2V4dGVudD1bZSxuXX0sZS5wcm90b3R5cGUuX2RyYXdDb25uZWN0b3JzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLG49dGhpcy5kYXRhc2V0cygpWzBdLGk9MTtpPG4uZGF0YSgpLmxlbmd0aDtpKyspe3ZhciByPWktMSxvPW4uZGF0YSgpW2ldLGE9bi5kYXRhKClbcl0scz10LngoYSxyLG4pLGw9dC54KG8saSxuKSt0LndpZHRoKG8saSxuKSxjPXQueShvLGksbik7KHRoaXMuX3N1YnRvdGFsc1tpXT4wJiZ0aGlzLl9zdWJ0b3RhbHNbaV0+dGhpcy5fc3VidG90YWxzW3JdfHx0aGlzLl9zdWJ0b3RhbHNbaV08MCYmdGhpcy5fc3VidG90YWxzW2ldPj10aGlzLl9zdWJ0b3RhbHNbcl0pJiYoYz10LnkobyxpLG4pK3QuaGVpZ2h0KG8saSxuKSksdGhpcy5fY29ubmVjdG9yQXJlYS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKGUuX0NPTk5FQ1RPUl9DTEFTUywhMCkuYXR0cigieDEiLHMpLmF0dHIoIngyIixsKS5hdHRyKCJ5MSIsYykuYXR0cigieTIiLGMpfX0sZS5wcm90b3R5cGUuX3VwZGF0ZVN1YnRvdGFscz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZGF0YXNldHMoKTtpZih0Lmxlbmd0aD4wKXt2YXIgZT10W3QubGVuZ3RoLTFdO3RoaXMuX3N1YnRvdGFscz1uZXcgQXJyYXksdGhpcy5fY2FsY3VsYXRlU3VidG90YWxzQW5kRXh0ZW50KGUpfX0sZS5fQkFSX0RFQ0xJTkVfQ0xBU1M9IndhdGVyZmFsbC1kZWNsaW5lIixlLl9CQVJfR1JPV1RIX0NMQVNTPSJ3YXRlcmZhbGwtZ3Jvd3RoIixlLl9CQVJfVE9UQUxfQ0xBU1M9IndhdGVyZmFsbC10b3RhbCIsZS5fQ09OTkVDVE9SX0NMQVNTPSJjb25uZWN0b3IiLGUuX0NPTk5FQ1RPUl9BUkVBX0NMQVNTPSJjb25uZWN0b3ItYXJlYSIsZS5fVE9UQUxfS0VZPSJ0b3RhbCIsZX0pKFlFdC5CYXIpO3BDdC5XYXRlcmZhbGw9X0N0LChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPO2UuX19leHBvcnRTdGFyKHBFdCx0KSxlLl9fZXhwb3J0U3RhcihZRXQsdCksZS5fX2V4cG9ydFN0YXIobFN0LHQpLGUuX19leHBvcnRTdGFyKFhFdCx0KSxlLl9fZXhwb3J0U3RhcihmRXQsdCksZS5fX2V4cG9ydFN0YXIoZVR0LHQpLGUuX19leHBvcnRTdGFyKG1UdCx0KSxlLl9fZXhwb3J0U3RhcihDVHQsdCksZS5fX2V4cG9ydFN0YXIoVlR0LHQpLGUuX19leHBvcnRTdGFyKEtUdCx0KSxlLl9fZXhwb3J0U3RhcihyQ3QsdCksZS5fX2V4cG9ydFN0YXIocEN0LHQpfSkoZEV0KTt2YXIgeUN0LHZDdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9mdW5jdGlvbiBiQ3QodCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5sb2FkS2V5PSIiLHRoaXMuZGF0YVRvTG9hZD1bXSx0aGlzLmdldERhdGFMb2FkTmFtZT10PT5TdHJpbmcodCksdGhpcy5kYXRhTG9hZGluZz0hMSx0aGlzLmRhdGFMb2FkZWRBdExlYXN0T25jZT0hMSx0aGlzLl9pc0Nvbm5lY3RlZD0hMSx0aGlzLl9kYXRhTG9hZFN0YXRlPW5ldyBNYXAsdGhpcy5fY2FuY2VsbGVyPW5ldyB4Tyx0aGlzLl9sb2FkRGF0YUFzeW5jPW51bGwsdGhpcy5fbG9hZERhdGE9Q2UuZXhwb3J0cy50aHJvdHRsZSh0aGlzLl9sb2FkRGF0YUltcGwsMTAwLHtsZWFkaW5nOiEwLHRyYWlsaW5nOiEwfSl9Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuX2lzQ29ubmVjdGVkPSEwfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl9pc0Nvbm5lY3RlZD0hMX1zdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57YWN0aXZlOnt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9sb2FkRGF0YUlmQWN0aXZlIn0sX2lzQ29ubmVjdGVkOnt0eXBlOkJvb2xlYW59LGxvYWRLZXk6e3R5cGU6U3RyaW5nfSxkYXRhVG9Mb2FkOnt0eXBlOkFycmF5fSxnZXREYXRhTG9hZE5hbWU6e3R5cGU6T2JqZWN0fSxsb2FkRGF0YUNhbGxiYWNrOnt0eXBlOk9iamVjdH0scmVxdWVzdERhdGE6e3R5cGU6T2JqZWN0fX19c3RhdGljIGdldCBvYnNlcnZlcnMoKXtyZXR1cm5bIl9kYXRhVG9Mb2FkQ2hhbmdlZChfaXNDb25uZWN0ZWQsIGRhdGFUb0xvYWQuKikiXX1vbkxvYWRGaW5pc2goKXt9cmVsb2FkKCl7dGhpcy5fZGF0YUxvYWRTdGF0ZS5jbGVhcigpLHRoaXMuX2xvYWREYXRhKCl9cmVzZXQoKXtudWxsIT10aGlzLl9sb2FkRGF0YUFzeW5jJiYoY2xlYXJUaW1lb3V0KHRoaXMuX2xvYWREYXRhQXN5bmMpLHRoaXMuX2xvYWREYXRhQXN5bmM9bnVsbCksdGhpcy5fY2FuY2VsbGVyJiZ0aGlzLl9jYW5jZWxsZXIuY2FuY2VsQWxsKCksdGhpcy5fZGF0YUxvYWRTdGF0ZSYmdGhpcy5fZGF0YUxvYWRTdGF0ZS5jbGVhcigpLHRoaXMuX2lzQ29ubmVjdGVkJiZ0aGlzLl9sb2FkRGF0YSgpfV9kYXRhVG9Mb2FkQ2hhbmdlZCgpe3RoaXMuX2lzQ29ubmVjdGVkJiZ0aGlzLl9sb2FkRGF0YSgpfWRldGFjaGVkKCl7bnVsbCE9dGhpcy5fbG9hZERhdGFBc3luYyYmKGNsZWFyVGltZW91dCh0aGlzLl9sb2FkRGF0YUFzeW5jKSx0aGlzLl9sb2FkRGF0YUFzeW5jPW51bGwpfV9sb2FkRGF0YUlmQWN0aXZlKCl7dGhpcy5hY3RpdmUmJnRoaXMuX2xvYWREYXRhKCl9X2xvYWREYXRhSW1wbCgpe3RoaXMuYWN0aXZlJiYobnVsbCE9PXRoaXMuX2xvYWREYXRhQXN5bmMmJmNsZWFyVGltZW91dCh0aGlzLl9sb2FkRGF0YUFzeW5jKSx0aGlzLl9sb2FkRGF0YUFzeW5jPXNldFRpbWVvdXQodGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKCh0PT57aWYodC5jYW5jZWxsZWQpcmV0dXJuO3RoaXMuZGF0YUxvYWRpbmc9ITA7Y29uc3QgZT10aGlzLmRhdGFUb0xvYWQuZmlsdGVyKCh0PT57Y29uc3QgZT10aGlzLmdldERhdGFMb2FkTmFtZSh0KTtyZXR1cm4hdGhpcy5fZGF0YUxvYWRTdGF0ZS5oYXMoZSl9KSk7Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3QgZT10aGlzLmdldERhdGFMb2FkTmFtZSh0KTt0aGlzLl9kYXRhTG9hZFN0YXRlLnNldChlLHlDdC5MT0FESU5HKX1jb25zdCBuPXRoaXMuX2NhbmNlbGxlci5jYW5jZWxsYWJsZSgodD0+e2lmKHQuY2FuY2VsbGVkKXJldHVybjtjb25zdHtpdGVtOmUsZGF0YTpufT10LnZhbHVlLGk9dGhpcy5nZXREYXRhTG9hZE5hbWUoZSk7dGhpcy5fZGF0YUxvYWRTdGF0ZS5zZXQoaSx5Q3QuTE9BREVEKSx0aGlzLmxvYWREYXRhQ2FsbGJhY2sodGhpcyxlLG4pfSkpLGk9dGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKCh0PT57aWYoIXQuY2FuY2VsbGVkKXtjb25zdCB0PW5ldyBTZXQoZS5tYXAoKHQ9PnRoaXMuZ2V0RGF0YUxvYWROYW1lKHQpKSkpO3RoaXMuZGF0YVRvTG9hZC5zb21lKChlPT50Lmhhcyh0aGlzLmdldERhdGFMb2FkTmFtZShlKSkpKSYmdGhpcy5vbkxvYWRGaW5pc2goKSx0aGlzLl9sb2FkRGF0YUFzeW5jPW51bGwsdGhpcy5kYXRhTG9hZGVkQXRMZWFzdE9uY2U9ITB9QXJyYXkuZnJvbSh0aGlzLl9kYXRhTG9hZFN0YXRlLnZhbHVlcygpKS5pbmNsdWRlcyh5Q3QuTE9BRElORyl8fCh0aGlzLmRhdGFMb2FkaW5nPSExKX0pKTt0aGlzLnJlcXVlc3REYXRhKGUsbiwoKCk9Pmkodm9pZCAwKSkpfSkpKSl9fX1PYmplY3QuZGVmaW5lUHJvcGVydHkodkN0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx2Q3QudmVyc2lvbj0iMy45LjAiLChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGU9Qk87dC5BbmltYXRvcnM9Zmd0LHQuQXhlcz1BZ3QsdC5Db21wb25lbnRzPXR4dCx0LkNvbmZpZ3M9Q3l0LHQuRm9ybWF0dGVycz1wdnQsdC5SZW5kZXJDb250cm9sbGVyPXpfdCx0LlJlbmRlclBvbGljaWVzPVF5dCx0LlN5bWJvbEZhY3Rvcmllcz1Id3QsdC5EaXNwYXRjaGVycz1yeHQsdC5EcmF3ZXJzPVBNdCx0LkludGVyYWN0aW9ucz1ueHQsdC5QbG90cz1kRXQsdC5TY2FsZXM9WHZ0LHQuVXRpbHM9RF90LGUuX19leHBvcnRTdGFyKGR2dCx0KSx0LlRpbWVJbnRlcnZhbD1ZdnQuVGltZUludGVydmFsLGUuX19leHBvcnRTdGFyKE9fdCx0KSxlLl9fZXhwb3J0U3Rhcih5d3QsdCksZS5fX2V4cG9ydFN0YXIoZlN0LHQpLHQudmVyc2lvbj12Q3QudmVyc2lvbixlLl9fZXhwb3J0U3RhcihheHQsdCksZS5fX2V4cG9ydFN0YXIoR1N0LHQpLGUuX19leHBvcnRTdGFyKHZ4dCx0KSxlLl9fZXhwb3J0U3RhcihMeHQsdCksZS5fX2V4cG9ydFN0YXIobUV0LHQpLGUuX19leHBvcnRTdGFyKHNTdCx0KSxlLl9fZXhwb3J0U3RhcihMYnQsdCksZS5fX2V4cG9ydFN0YXIobGJ0LHQpfSkoTk8pLChmdW5jdGlvbih0KXt0W3QuTE9BRElORz0wXT0iTE9BRElORyIsdFt0LkxPQURFRD0xXT0iTE9BREVEIn0pKHlDdHx8KHlDdD17fSkpO2NvbnN0IHhDdD1be2NoYXJhY3Rlcjoi4pe8IixtZXRob2Q6Tk8uU3ltYm9sRmFjdG9yaWVzLnNxdWFyZX0se2NoYXJhY3Rlcjoi4peGIixtZXRob2Q6Tk8uU3ltYm9sRmFjdG9yaWVzLmRpYW1vbmR9LHtjaGFyYWN0ZXI6IuKWsiIsbWV0aG9kOk5PLlN5bWJvbEZhY3Rvcmllcy50cmlhbmdsZX0se2NoYXJhY3Rlcjoi4piFIixtZXRob2Q6Tk8uU3ltYm9sRmFjdG9yaWVzLnN0YXJ9LHtjaGFyYWN0ZXI6IuKcmiIsbWV0aG9kOk5PLlN5bWJvbEZhY3Rvcmllcy5jcm9zc31dO3ZhciB3Q3Q7IShmdW5jdGlvbih0KXt0LlNURVA9InN0ZXAiLHQuUkVMQVRJVkU9InJlbGF0aXZlIix0LldBTExfVElNRT0id2FsbF90aW1lIn0pKHdDdHx8KHdDdD17fSkpO2Z1bmN0aW9uIFNDdCh0KXtyZXR1cm4gZT0+e2xldCBuLGk9TWF0aC5hYnMoZSk7cmV0dXJuIGk8MWUtMTUmJihpPTApLG49RHkoaT49MWU0fHxpPjAmJmk8LjAxPyIuIit0KyJ+ZSI6Ii4iK3QrIn5nIiksbihlKX19Y29uc3QgTUN0PUR5KCIuNH5zIik7ZnVuY3Rpb24gRUN0KCl7bGV0IHQ9bmV3IE5PLlNjYWxlcy5MaW5lYXI7dC50aWNrR2VuZXJhdG9yKE5PLlNjYWxlcy5UaWNrR2VuZXJhdG9ycy5pbnRlZ2VyVGlja0dlbmVyYXRvcigpKTtsZXQgZT1uZXcgTk8uQXhlcy5OdW1lcmljKHQsImJvdHRvbSIpO3JldHVybiBlLmZvcm1hdHRlcihNQ3QpLHtzY2FsZTp0LGF4aXM6ZSxhY2Nlc3Nvcjp0PT50LnN0ZXB9fWxldCBUQ3Q9Tk8uRm9ybWF0dGVycy50aW1lKCIlYSAlYiAlZSwgJUg6JU06JVMiKTtsZXQgQ0N0PSh0LGUsbik9PntpZihudWxsIT10LnJlbGF0aXZlKXJldHVybiB0LnJlbGF0aXZlO2xldCBpPW4uZGF0YSgpO3JldHVybigrdC53YWxsX3RpbWUtKGkubGVuZ3RoPjA/K2lbMF0ud2FsbF90aW1lOjApKS8zNmU1fSxBQ3Q9dD0+e2xldCBlPSIiLG49TWF0aC5mbG9vcih0LzI0KTt0LT0yNCpuLG4mJihlKz1uKyJkICIpO2xldCBpPU1hdGguZmxvb3IodCk7dC09aSx0Kj02MCwoaXx8bikmJihlKz1pKyJoICIpO2xldCByPU1hdGguZmxvb3IodCk7cmV0dXJuIHQtPXIsdCo9NjAsKHJ8fGl8fG4pJiYoZSs9cisibSAiKSxlK01hdGguZmxvb3IodCkrInMifTtmdW5jdGlvbiBrQ3QodCl7c3dpdGNoKHQpe2Nhc2Ugd0N0LlNURVA6cmV0dXJuIEVDdCgpO2Nhc2Ugd0N0LldBTExfVElNRTpyZXR1cm4oZnVuY3Rpb24gZSgpe2xldCB0PW5ldyBOTy5TY2FsZXMuVGltZTtyZXR1cm57c2NhbGU6dCxheGlzOm5ldyBOTy5BeGVzLlRpbWUodCwiYm90dG9tIiksYWNjZXNzb3I6dD0+dC53YWxsX3RpbWV9fSkoKTtjYXNlIHdDdC5SRUxBVElWRTpyZXR1cm4oZnVuY3Rpb24gbigpe2xldCB0PW5ldyBOTy5TY2FsZXMuTGluZWFyO3JldHVybntzY2FsZTp0LGF4aXM6bmV3IE5PLkF4ZXMuTnVtZXJpYyh0LCJib3R0b20iKSxhY2Nlc3NvcjpDQ3R9fSkoKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW52YWxpZCB4VHlwZTogIit0KX19Y29uc3QgTEN0PVsxLDAsMCwxLDAsMF07ZnVuY3Rpb24gUEN0KHQpe2NvbnN0IGU9KGZ1bmN0aW9uIG4odCl7Y29uc3QgZT1bXTtmb3IoO3QmJnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudDspaWYoZS5wdXNoKHQpLHQuYXNzaWduZWRTbG90KXQ9dC5hc3NpZ25lZFNsb3Q7ZWxzZSBpZih0LnBhcmVudEVsZW1lbnQpdD10LnBhcmVudEVsZW1lbnQ7ZWxzZXtjb25zdCBlPXQucGFyZW50Tm9kZTt0PWUgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50P2UuaG9zdDplIT09dD9lOm51bGx9cmV0dXJuIGV9KSh0KTtsZXQgaT1MQ3Qscj1udWxsO2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9Tk8uVXRpbHMuRE9NLmdldEVsZW1lbnRUcmFuc2Zvcm0odCk7aWYobnVsbCE9ZSl7Y29uc3Qgbj10LmNsaWVudFdpZHRoLzIscj10LmNsaWVudEhlaWdodC8yO2k9Tk8uVXRpbHMuTWF0aC5tdWx0aXBseVRyYW5zbGF0ZShpLFtuLHJdKSxpPU5PLlV0aWxzLk1hdGgubXVsdGlwbHlNYXRyaXgoaSxOTy5VdGlscy5NYXRoLmludmVydE1hdHJpeChlKSksaT1OTy5VdGlscy5NYXRoLm11bHRpcGx5VHJhbnNsYXRlKGksWy1uLC1yXSl9bGV0IG49dC5zY3JvbGxMZWZ0LG89dC5zY3JvbGxUb3A7bnVsbCE9PXImJnQhPT1yfHwobi09dC5vZmZzZXRMZWZ0K3QuY2xpZW50TGVmdCxvLT10Lm9mZnNldFRvcCt0LmNsaWVudFRvcCxyPXQub2Zmc2V0UGFyZW50KSxpPU5PLlV0aWxzLk1hdGgubXVsdGlwbHlUcmFuc2xhdGUoaSxbbixvXSl9cmV0dXJuIGl9Y2xhc3MgTkN0IGV4dGVuZHMgTk8uVXRpbHMuVHJhbnNsYXRvcntjb21wdXRlUG9zaXRpb24odCxlKXtjb25zdCBuPXt4OnQseTplfSxpPVBDdCh0aGlzLl9yb290RWxlbWVudCk7aWYobnVsbD09aSlyZXR1cm4gbjtyZXR1cm4gTk8uVXRpbHMuTWF0aC5hcHBseVRyYW5zZm9ybShpLG4pfX1jbGFzcyBJQ3QgZXh0ZW5kcyBOTy5EaXNwYXRjaGVycy5Nb3VzZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLl9ldmVudFRhcmdldD10LnJvb3QoKS5yb290RWxlbWVudCgpLm5vZGUoKSx0aGlzLl90cmFuc2xhdG9yPW5ldyBOQ3QodC5yb290KCkucm9vdEVsZW1lbnQoKS5ub2RlKCkpfXN0YXRpYyBnZXREaXNwYXRjaGVyKHQpe2NvbnN0IGU9dC5yb290KCkucm9vdEVsZW1lbnQoKTtsZXQgbj1lW0lDdC5fRElTUEFUQ0hFUl9LRVldO3JldHVybiBufHwobj1uZXcgSUN0KHQpLGVbSUN0Ll9ESVNQQVRDSEVSX0tFWV09biksbn19Y2xhc3MgUkN0IGV4dGVuZHMgTk8uRGlzcGF0Y2hlcnMuVG91Y2h7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fZXZlbnRUYXJnZXQ9dC5yb290KCkucm9vdEVsZW1lbnQoKS5ub2RlKCksdGhpcy5fdHJhbnNsYXRvcj1uZXcgTkN0KHQucm9vdCgpLnJvb3RFbGVtZW50KCkubm9kZSgpKX1zdGF0aWMgZ2V0RGlzcGF0Y2hlcih0KXtjb25zdCBlPXQucm9vdCgpLnJvb3RFbGVtZW50KCk7bGV0IG49ZVtSQ3QuX0RJU1BBVENIRVJfS0VZXTtyZXR1cm4gbnx8KG49bmV3IFJDdCh0KSxlW1JDdC5fRElTUEFUQ0hFUl9LRVldPW4pLG59fU5PLkludGVyYWN0aW9uLnByb3RvdHlwZS5faXNJbnNpZGVDb21wb25lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIDA8PXQueCYmMDw9dC55JiZ0Lng8dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby53aWR0aCgpJiZ0Lnk8dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby5oZWlnaHQoKX07Y2xhc3MgT0N0IGV4dGVuZHMgTk8uSW50ZXJhY3Rpb25zLlBvaW50ZXJ7X2FuY2hvcih0KXtjb25zdCBlPXRoaXM7ZS5faXNBbmNob3JlZD0hMCxlLl9tb3VzZURpc3BhdGNoZXI9SUN0LmdldERpc3BhdGNoZXIoZS5fY29tcG9uZW50QXR0YWNoZWRUbyksZS5fbW91c2VEaXNwYXRjaGVyLm9uTW91c2VNb3ZlKGUuX21vdXNlTW92ZUNhbGxiYWNrKSxlLl90b3VjaERpc3BhdGNoZXI9UkN0LmdldERpc3BhdGNoZXIoZS5fY29tcG9uZW50QXR0YWNoZWRUbyksZS5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hTdGFydChlLl90b3VjaFN0YXJ0Q2FsbGJhY2spfX12YXIgekN0OyEoZnVuY3Rpb24odCl7dC5BVVRPPSJhdXRvIix0LkJPVFRPTT0iYm90dG9tIix0LlJJR0hUPSJyaWdodCJ9KSh6Q3R8fCh6Q3Q9e30pKTtjb25zdCBEQ3Q9e2JveFNoYWRvdzoiMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgLjMpIixvcGFjaXR5OjAscG9zaXRpb246ImZpeGVkIix3aWxsQ2hhbmdlOiJ0cmFuc2Zvcm0iLHpJbmRleDo1fTtsZXQgQkN0PWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5wb3NpdGlvbj16Q3QuQVVUTyx0aGlzLm1pbkRpc3RGcm9tRWRnZT0xNSx0aGlzLl9zdHlsZUNhY2hlPW51bGwsdGhpcy5fcmFmPW51bGwsdGhpcy5fdHVubmVsPW51bGx9cmVhZHkoKXt0aGlzLl9zdHlsZUNhY2hlPW51bGwsdGhpcy5fcmFmPW51bGwsdGhpcy5fdHVubmVsPW51bGx9YXR0YWNoZWQoKXt0aGlzLl90dW5uZWw9dGhpcy5fY3JlYXRlVHVubmVsKCksdGhpcy5faGlkZU9uQmx1cj0oKT0+e2RvY3VtZW50LmhpZGRlbiYmdGhpcy5oaWRlKCl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9oaWRlT25CbHVyKX1kZXRhY2hlZCgpe3RoaXMuaGlkZSgpLHRoaXMuX3JlbW92ZVR1bm5lbCh0aGlzLl90dW5uZWwpLHRoaXMuX3R1bm5lbD1udWxsLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9oaWRlT25CbHVyKX1jb250ZW50KCl7cmV0dXJuIHRoaXMuX3R1bm5lbC5zaGFkb3dSb290fWhpZGUoKXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmFmKSx0aGlzLl9zdHlsZUNhY2hlPW51bGwsdGhpcy5fdHVubmVsLnN0eWxlLm9wYWNpdHk9MH11cGRhdGVBbmRQb3NpdGlvbih0KXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmFmKSx0aGlzLl9yYWY9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLmlzQXR0YWNoZWQmJnRoaXMuX3JlcG9zaXRpb25JbXBsKHQpfSkpfV9yZXBvc2l0aW9uSW1wbCh0KXtjb25zdCBlPXRoaXMuX3R1bm5lbCxuPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHI9d2luZG93LmlubmVySGVpZ2h0LG89ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCxhPW4udG9wLHM9YStuLmhlaWdodCxsPWkuaGVpZ2h0KzIwO2xldCBjPW51bGwsdT1NYXRoLm1heCh0aGlzLm1pbkRpc3RGcm9tRWRnZSxuLmxlZnQpLGg9bnVsbCxkPWE7dGhpcy5wb3NpdGlvbj09ekN0LlJJR0hUP3U9bi5yaWdodDooZD1zKzIwLG88dStpLndpZHRoK3RoaXMubWluRGlzdEZyb21FZGdlJiYodT1udWxsLGg9dGhpcy5taW5EaXN0RnJvbUVkZ2UpKSx0aGlzLnBvc2l0aW9uPT16Q3QuQVVUTyYmbi50b3AtbD4wJiZyPG4udG9wK24uaGVpZ2h0K2wmJihkPW51bGwsYz1yLWErMjApO2NvbnN0IHA9e2NvbnRhaW46ImNvbnRlbnQiLG9wYWNpdHk6MSxsZWZ0OnU/YCR7dX1weGA6bnVsbCxyaWdodDpoP2Ake2h9cHhgOm51bGwsdG9wOmQ/YCR7ZH1weGA6bnVsbCxib3R0b206Yz9gJHtjfXB4YDpudWxsfTtDZS5leHBvcnRzLmlzRXF1YWwodGhpcy5fc3R5bGVDYWNoZSxwKXx8KE9iamVjdC5hc3NpZ24oZS5zdHlsZSxwKSx0aGlzLl9zdHlsZUNhY2hlPXApfV9jcmVhdGVUdW5uZWwoKXtpZighdGhpcy5jb250ZW50Q29tcG9uZW50TmFtZSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiUmVxdWlyZSBgY29udGVudENvbXBvbmVudE5hbWVgIHRvIGJlIGEgbmFtZSBvZiBhIFBvbHltZXIgY29tcG9uZW50Iik7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHRoaXMuY29udGVudENvbXBvbmVudE5hbWUpO3JldHVybiBPYmplY3QuYXNzaWduKHQuc3R5bGUsREN0KSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpLHR9X3JlbW92ZVR1bm5lbCh0KXtkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpfX07dChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQkN0LnByb3RvdHlwZSwiY29udGVudENvbXBvbmVudE5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQkN0LnByb3RvdHlwZSwicG9zaXRpb24iLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sQkN0LnByb3RvdHlwZSwibWluRGlzdEZyb21FZGdlIix2b2lkIDApLEJDdD10KFtpKCJ2ei1jaGFydC10b29sdGlwIildLEJDdCk7Y29uc3QgSEN0PUR5KCIuMn5lIiksRkN0PUR5KCIuNH5yIiksVkN0PUR5KCIsfiIpO2Z1bmN0aW9uIFVDdCh0KXtpZigwPT09dClyZXR1cm4iMCI7Y29uc3QgZT1NYXRoLmFicyh0KTtyZXR1cm4gZT49MWU0fHxlPC4wMDE/SEN0KHQpOkZDdCh0KX1jb25zdCBqQ3Q9e2Zvcm1hdFRpY2s6VUN0LGZvcm1hdFNob3J0OlVDdCxmb3JtYXRSZWFkYWJsZSh0KXtjb25zdCBlPU1hdGguYWJzKHQpO3JldHVybiBlPj0xZTR8fGU8LjAwMT9IQ3QodCk6VkN0KHQpfSxmb3JtYXRMb25nOlZDdH07RHkoIjAuM35zIiksRHkoIiwuM35mIiksRHkoIi40fiIpO2NvbnN0IEdDdD16QSgpLnRpY2tGb3JtYXQoKTtsZXQgV0N0O2NvbnN0IHFDdD17Zm9ybWF0VGljazp0PT5HQ3QobmV3IERhdGUodCkpLGZvcm1hdFNob3J0OnQ9Pm5ldyBEYXRlKHQpLnRvTG9jYWxlU3RyaW5nKFdDdCx7eWVhcjoibnVtZXJpYyIsbW9udGg6InNob3J0IixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIn0pLGZvcm1hdFJlYWRhYmxlOnQ9Pm5ldyBEYXRlKHQpLnRvTG9jYWxlU3RyaW5nKFdDdCx7eWVhcjoibnVtZXJpYyIsbW9udGg6InNob3J0IixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIix0aW1lWm9uZU5hbWU6InNob3J0In0pLGZvcm1hdExvbmc6dD0+bmV3IERhdGUodCkudG9Mb2NhbGVTdHJpbmcoV0N0LHt5ZWFyOiJudW1lcmljIixtb250aDoibG9uZyIsZGF5OiJudW1lcmljIixob3VyOiJudW1lcmljIixtaW51dGU6Im51bWVyaWMiLHNlY29uZDoibnVtZXJpYyIsdGltZVpvbmVOYW1lOiJzaG9ydCIsZnJhY3Rpb25hbFNlY29uZERpZ2l0czozfSl9O3ZhciBZQ3Q7IShmdW5jdGlvbih0KXt0W3QuTElORUFSPTBdPSJMSU5FQVIiLHRbdC5MT0cxMD0xXT0iTE9HMTAiLHRbdC5USU1FPTJdPSJUSU1FIn0pKFlDdHx8KFlDdD17fSkpO2NsYXNzIFhDdHtjb25zdHJ1Y3Rvcigpe3RoaXMuZGVmYXVsdEZvcm1hdHRlcj1qQ3R9dHJhbnNmb3JtKHQsZSxuKXtjb25zdFtpLHJdPXQsbz1yLWksW2Esc109ZTtyZXR1cm4gMD09PW8/YToocy1hKS9vKihuLWkpK2F9Zm9yd2FyZCh0LGUsbil7cmV0dXJuIHRoaXMudHJhbnNmb3JtKHQsZSxuKX1yZXZlcnNlKHQsZSxuKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0oZSx0LG4pfW5pY2VEb21haW4odCl7bGV0W2Usbl09dDtpZihuPGUpdGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkIGlucHV0OiBtaW4gaXMgbGFyZ2VyIHRoYW4gbWF4Iik7aWYobj09PWUpcmV0dXJuIDA9PT1lP1stMSwxXTplPDA/WzIqZSwwXTpbMCwyKmVdO2NvbnN0IGk9Y0UoKSxyPS4wNSoobi1lK051bWJlci5FUFNJTE9OKSxbbyxhXT1pLmRvbWFpbihbZS1yLG4rcl0pLm5pY2UoKS5kb21haW4oKTtyZXR1cm5bbyxhXX10aWNrcyh0LGUpe3JldHVybiBjRSgpLmRvbWFpbih0KS50aWNrcyhlKX1pc1NhZmVOdW1iZXIodCl7cmV0dXJuIE51bWJlci5pc0Zpbml0ZSh0KX19Y2xhc3MgJEN0e2NvbnN0cnVjdG9yKCl7dGhpcy5kZWZhdWx0Rm9ybWF0dGVyPWpDdH10cmFuc2Zvcm0odCl7cmV0dXJuIE1hdGgubG9nMTAodD4wP3Q6TnVtYmVyLk1JTl9WQUxVRSl9dW50cmFuc2Zvcm0odCl7cmV0dXJuIE1hdGguZXhwKHQvTWF0aC5MT0cxMEUpfWZvcndhcmQodCxlLG4pe2lmKG48PTApcmV0dXJuIGVbMF07Y29uc3RbaSxyXT10LFtvLGFdPWUscz10aGlzLnRyYW5zZm9ybShpKSxsPXRoaXMudHJhbnNmb3JtKHIpLXMsYz1hLW87cmV0dXJuIG49dGhpcy50cmFuc2Zvcm0obiksYy8obCtOdW1iZXIuRVBTSUxPTikqKG4tcykrb31yZXZlcnNlKHQsZSxuKXtjb25zdFtpLHJdPXQsW28sYV09ZSxzPXRoaXMudHJhbnNmb3JtKGkpLGw9dGhpcy50cmFuc2Zvcm0ocik7cmV0dXJuIHRoaXMudW50cmFuc2Zvcm0oKGwtcykvKGEtbytOdW1iZXIuRVBTSUxPTikqKG4tbykrcyl9bmljZURvbWFpbih0KXtjb25zdFtlLG5dPXQ7aWYoZT5uKXRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBpbnB1dDogbWluIGlzIGxhcmdlciB0aGFuIG1heCIpO2NvbnN0IGk9TWF0aC5tYXgoZSxOdW1iZXIuTUlOX1ZBTFVFKSxyPU1hdGgubWF4KG4sTnVtYmVyLk1JTl9WQUxVRSk7cmV0dXJuIG48PTA/W051bWJlci5NSU5fVkFMVUUsMV06W01hdGgubWF4KE51bWJlci5NSU5fVkFMVUUsLjUqaSksMipyXX10aWNrcyh0LGUpe2NvbnN0IG49dFswXTw9MD9OdW1iZXIuTUlOX1ZBTFVFOnRbMF0saT10WzFdPD0wP051bWJlci5NSU5fVkFMVUU6dFsxXSxyPXlFKCkuZG9tYWluKFtuLGldKS50aWNrcyhlKTtyZXR1cm4gci5sZW5ndGg/cjp0fWlzU2FmZU51bWJlcih0KXtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHQpJiZ0PjB9fWNsYXNzIEtDdHtjb25zdHJ1Y3Rvcigpe3RoaXMuc2NhbGU9ekEoKSx0aGlzLmRlZmF1bHRGb3JtYXR0ZXI9cUN0fWZvcndhcmQodCxlLG4pe3JldHVybiB0aGlzLnNjYWxlLmRvbWFpbih0KS5yYW5nZShlKShuKX1yZXZlcnNlKHQsZSxuKXtyZXR1cm4gdGhpcy5zY2FsZS5kb21haW4odCkucmFuZ2UoZSkuaW52ZXJ0KG4pLmdldFRpbWUoKX1uaWNlRG9tYWluKHQpe2NvbnN0W2Usbl09dGhpcy5zY2FsZS5kb21haW4odCkubmljZSgpLmRvbWFpbigpO3JldHVybltlLmdldFRpbWUoKSxuLmdldFRpbWUoKV19dGlja3ModCxlKXtyZXR1cm4gdGhpcy5zY2FsZS5kb21haW4odCkudGlja3MoZSkubWFwKCh0PT50LmdldFRpbWUoKSkpfWlzU2FmZU51bWJlcih0KXtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHQpfX1jbGFzcyBaQ3QgZXh0ZW5kcyBOTy5TY2FsZXMuTGluZWFye2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9pZ25vcmVPdXRsaWVyPSExLHRoaXMucGFkUHJvcG9ydGlvbiguMil9c2V0VmFsdWVQcm92aWRlckZvckRvbWFpbih0KXtyZXR1cm4gdGhpcy5fdmFsdWVQcm92aWRlckZvckRvbWFpbj10LHRoaXN9X25pY2VEb21haW4odCxlKXtjb25zdFtuLGldPXQ7cmV0dXJuKGZ1bmN0aW9uIHIodCl7c3dpdGNoKHQpe2Nhc2UgWUN0LkxJTkVBUjpyZXR1cm4gbmV3IFhDdDtjYXNlIFlDdC5MT0cxMDpyZXR1cm4gbmV3ICRDdDtjYXNlIFlDdC5USU1FOnJldHVybiBuZXcgS0N0O2RlZmF1bHQ6dGhyb3cgbmV3IFJhbmdlRXJyb3IoYFNjYWxlVHlwZSAke3R9IG5vdCBzdXBwb3J0ZWQuYCl9fSkoWUN0LkxJTkVBUikubmljZURvbWFpbihbbixpXSl9X2dldFVuYm91bmRlZEV4dGVudCh0KXtjb25zdCBlPXRoaXMuX2dldEFsbEluY2x1ZGVkVmFsdWVzKHQpO2xldCBuPXRoaXMuX2RlZmF1bHRFeHRlbnQoKTtpZigwIT09ZS5sZW5ndGgpe2NvbnN0IHQ9W05PLlV0aWxzLk1hdGgubWluKGUsblswXSksTk8uVXRpbHMuTWF0aC5tYXgoZSxuWzFdKV07bj10aGlzLl9uaWNlRG9tYWluKHQpfXJldHVybiBufV9nZXRBbGxJbmNsdWRlZFZhbHVlcyh0PSExKXtjb25zdCBlPXRoaXMuX3ZhbHVlUHJvdmlkZXJGb3JEb21haW4/dGhpcy5fdmFsdWVQcm92aWRlckZvckRvbWFpbigpOltdO3JldHVybiB0aGlzLmV4dGVudE9mVmFsdWVzKGUpfWV4dGVudE9mVmFsdWVzKHQpe2NvbnN0IGU9dC5maWx0ZXIoKHQ9Pk5PLlV0aWxzLk1hdGguaXNWYWxpZE51bWJlcih0KSkpO2xldCBuPWU7aWYodGhpcy5pZ25vcmVPdXRsaWVyKCkpe2NvbnN0IHQ9ZS5zb3J0KCgodCxlKT0+dC1lKSksaT1yYyh0LC4wNSkscj1yYyh0LC45NSk7bj1lLmZpbHRlcigodD0+dD49aSYmdDw9cikpfWNvbnN0IGk9R2wobik7cmV0dXJuIG51bGw9PWlbMF18fG51bGw9PWlbMV0/W106aX1pZ25vcmVPdXRsaWVyKHQpe3JldHVybiJib29sZWFuIj09dHlwZW9mIHQ/KHRoaXMuX2lnbm9yZU91dGxpZXI9dCx0aGlzKTp0aGlzLl9pZ25vcmVPdXRsaWVyfX1jbGFzcyBKQ3QgZXh0ZW5kcyBOTy5RdWFudGl0YXRpdmVTY2FsZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5faWdub3JlT3V0bGllcj0hMX1zZXRWYWx1ZVByb3ZpZGVyRm9yRG9tYWluKHQpe3JldHVybiB0aGlzLl92YWx1ZVByb3ZpZGVyRm9yRG9tYWluPXQsdGhpc31pZ25vcmVPdXRsaWVyKHQpe3JldHVybiJib29sZWFuIj09dHlwZW9mIHQ/KHRoaXMuX2lnbm9yZU91dGxpZXI9dCx0aGlzKTp0aGlzLl9pZ25vcmVPdXRsaWVyfV9nZXRBbGxJbmNsdWRlZFZhbHVlcyh0PSExKXtjb25zdCBlPXRoaXMuX3ZhbHVlUHJvdmlkZXJGb3JEb21haW4/dGhpcy5fdmFsdWVQcm92aWRlckZvckRvbWFpbigpOltdO3JldHVybiB0aGlzLmV4dGVudE9mVmFsdWVzKGUpfX1jb25zdCBRQ3Q9TWF0aC5wb3coMiwtMTA3NCk7ZnVuY3Rpb24gdEF0KHQpe3JldHVybiBNYXRoLmxvZzEwKHQpfWZ1bmN0aW9uIGVBdCh0KXtyZXR1cm4gTWF0aC5wb3coMTAsdCl9Y2xhc3MgbkF0IGV4dGVuZHMgSkN0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9kM0xvZ1NjYWxlPXlFKCksdGhpcy5wYWRQcm9wb3J0aW9uKC4yKX1zY2FsZSh0KXtyZXR1cm4gdDw9MD9OYU46dGhpcy5fZDNMb2dTY2FsZSh0KX1pbnZlcnQodCl7cmV0dXJuIHRoaXMuX2QzTG9nU2NhbGUuaW52ZXJ0KHQpfXNjYWxlVHJhbnNmb3JtYXRpb24odCl7cmV0dXJuIHRoaXMuc2NhbGUodCl9aW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbih0KXtyZXR1cm4gdGhpcy5pbnZlcnQodCl9Z2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKXtyZXR1cm4gdGhpcy5kb21haW4oKX1zZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbih0KXt0aGlzLmRvbWFpbih0KX1nZXRUcmFuc2Zvcm1hdGlvbkV4dGVudCgpe3JldHVybiB0aGlzLl9nZXRVbmJvdW5kZWRFeHRlbnQoITApfV9nZXREb21haW4oKXtyZXR1cm4gdGhpcy5fdW50cmFuc2Zvcm1lZERvbWFpbn1fc2V0RG9tYWluKHQpe3RoaXMuX3VudHJhbnNmb3JtZWREb21haW49dDtjb25zdFtlLG5dPXQ7c3VwZXIuX3NldERvbWFpbihbTWF0aC5tYXgoUUN0LGUpLG5dKX1fbmljZURvbWFpbih0LGUpe2NvbnN0W24saV09dCxyPU1hdGgubWF4KHRBdChRQ3QpLHRBdChuKSksbz10QXQoaSksYT1vLXIscz1hP2EqdGhpcy5wYWRQcm9wb3J0aW9uKCk6MTtyZXR1cm5bZUF0KE1hdGgubWF4KHRBdChRQ3QpLHItcykpLGVBdChvK3MpXX1fZ2V0VW5ib3VuZGVkRXh0ZW50KHQpe2NvbnN0IGU9dGhpcy5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXModCk7bGV0IG49dGhpcy5fZGVmYXVsdEV4dGVudCgpO2lmKDAhPT1lLmxlbmd0aCl7Y29uc3QgdD1bTk8uVXRpbHMuTWF0aC5taW4oZSxuWzBdKSxOTy5VdGlscy5NYXRoLm1heChlLG5bMV0pXTtuPXRoaXMuX25pY2VEb21haW4odCl9cmV0dXJuIG59X2dldEFsbEluY2x1ZGVkVmFsdWVzKHQ9ITEpe3JldHVybiBzdXBlci5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXMoKS5tYXAoKHQ9PnQ+MD90OlFDdCkpfV9kZWZhdWx0RXh0ZW50KCl7cmV0dXJuWzEsMTBdfV9iYWNraW5nU2NhbGVEb21haW4odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZDNMb2dTY2FsZS5kb21haW4oKToodGhpcy5fZDNMb2dTY2FsZS5kb21haW4odCksdGhpcyl9X2dldFJhbmdlKCl7cmV0dXJuIHRoaXMuX2QzTG9nU2NhbGUucmFuZ2UoKX1fc2V0UmFuZ2UodCl7dGhpcy5fZDNMb2dTY2FsZS5yYW5nZSh0KX1kZWZhdWx0VGlja3MoKXtyZXR1cm4gdGhpcy5fZDNMb2dTY2FsZS50aWNrcygxKX10aWNrcygpe3JldHVybiB0aGlzLl9kM0xvZ1NjYWxlLnRpY2tzKCl9ZXh0ZW50T2ZWYWx1ZXModCl7Y29uc3QgZT10LmZpbHRlcigodD0+Tk8uVXRpbHMuTWF0aC5pc1ZhbGlkTnVtYmVyKHQpJiZ0PjApKTtsZXQgbj1lO2lmKHRoaXMuaWdub3JlT3V0bGllcigpKXtjb25zdCB0PWUubWFwKHRBdCkuc29ydCgoKHQsZSk9PnQtZSkpLGk9cmModCwuMDUpLHI9cmModCwuOTUpO249dC5maWx0ZXIoKHQ9PnQ+PWkmJnQ8PXIpKS5tYXAoZUF0KX1jb25zdCBpPUdsKG4pO3JldHVybiBudWxsPT1pWzBdfHxudWxsPT1pWzFdP1tdOml9fWNsYXNzIGlBdCBleHRlbmRzIE5PLkNvbXBvbmVudHMuU2VsZWN0aW9uQm94TGF5ZXJ7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKCksdGhpcy5lYXNlRm49cWYsdGhpcy5fYW5pbWF0aW9uVGltZT03NTAsdGhpcy54U2NhbGUodCksdGhpcy55U2NhbGUoZSksdGhpcy5fZHJhZ0ludGVyYWN0aW9uPW5ldyBOTy5JbnRlcmFjdGlvbnMuRHJhZyx0aGlzLl9kb3VibGVDbGlja0ludGVyYWN0aW9uPW5ldyBOTy5JbnRlcmFjdGlvbnMuQ2xpY2ssdGhpcy5zZXR1cENhbGxiYWNrcygpLHRoaXMudW56b29tTWV0aG9kPW4sdGhpcy5vbkRldGFjaCgoKCk9Pnt0aGlzLl9kb3VibGVDbGlja0ludGVyYWN0aW9uLmRldGFjaEZyb20odGhpcyksdGhpcy5fZHJhZ0ludGVyYWN0aW9uLmRldGFjaEZyb20odGhpcyl9KSksdGhpcy5vbkFuY2hvcigoKCk9Pnt0aGlzLl9kb3VibGVDbGlja0ludGVyYWN0aW9uLmF0dGFjaFRvKHRoaXMpLHRoaXMuX2RyYWdJbnRlcmFjdGlvbi5hdHRhY2hUbyh0aGlzKX0pKX1pbnRlcmFjdGlvblN0YXJ0KHQpe3RoaXMub25TdGFydD10fWludGVyYWN0aW9uRW5kKHQpe3RoaXMub25FbmQ9dH1kcmFnSW50ZXJhY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhZ0ludGVyYWN0aW9ufXNldHVwQ2FsbGJhY2tzKCl7bGV0IHQ9ITE7dGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZ1N0YXJ0KCh0PT57dGhpcy5ib3VuZHMoe3RvcExlZnQ6dCxib3R0b21SaWdodDp0fSksdGhpcy5vblN0YXJ0KCl9KSksdGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZygoKGUsbik9Pnt0aGlzLmJvdW5kcyh7dG9wTGVmdDplLGJvdHRvbVJpZ2h0Om59KSx0aGlzLmJveFZpc2libGUoITApLHQ9ITB9KSksdGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZ0VuZCgoKGUsbik9Pnt0aGlzLmJveFZpc2libGUoITEpLHRoaXMuYm91bmRzKHt0b3BMZWZ0OmUsYm90dG9tUmlnaHQ6bn0pLHQ/dGhpcy56b29tKCk6dGhpcy5vbkVuZCgpLHQ9ITF9KSksdGhpcy5fZG91YmxlQ2xpY2tJbnRlcmFjdGlvbi5vbkRvdWJsZUNsaWNrKHRoaXMudW56b29tLmJpbmQodGhpcykpfWFuaW1hdGlvblRpbWUodCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fYW5pbWF0aW9uVGltZTtpZih0PDApdGhyb3cgbmV3IEVycm9yKCJhbmltYXRpb25UaW1lIGNhbm5vdCBiZSBuZWdhdGl2ZSIpO3JldHVybiB0aGlzLl9hbmltYXRpb25UaW1lPXQsdGhpc31lYXNlKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiZWFzZSBmdW5jdGlvbiBtdXN0IGJlIGEgZnVuY3Rpb24iKTtyZXR1cm4gMD09PXQoMCkmJjE9PT10KDEpfHxOTy5VdGlscy5XaW5kb3cud2FybigiRWFzaW5nIGZ1bmN0aW9uIGRvZXMgbm90IG1haW50YWluIGludmFyaWFudCBmKDApPT0wICYmIGYoMSk9PTEuIEJhZCBiZWhhdmlvciBtYXkgcmVzdWx0LiIpLHRoaXMuZWFzZUZuPXQsdGhpc316b29tKCl7bGV0IHQ9dGhpcy54RXh0ZW50KClbMF0udmFsdWVPZigpLGU9dGhpcy54RXh0ZW50KClbMV0udmFsdWVPZigpLG49dGhpcy55RXh0ZW50KClbMV0udmFsdWVPZigpLGk9dGhpcy55RXh0ZW50KClbMF0udmFsdWVPZigpO3QhPT1lJiZuIT09aSYmdGhpcy5pbnRlcnBvbGF0ZVpvb20odCxlLG4saSl9dW56b29tKCl7bGV0IHQ9dGhpcy54U2NhbGUoKTt0Ll9kb21haW5NaW49bnVsbCx0Ll9kb21haW5NYXg9bnVsbDtsZXQgZT10Ll9nZXRFeHRlbnQoKTt0aGlzLnhTY2FsZSgpLmRvbWFpbihlKSx0aGlzLnVuem9vbU1ldGhvZCgpfWlzWm9vbWluZyh0KXt0aGlzLl9kcmFnSW50ZXJhY3Rpb24uZW5hYmxlZCghdCksdGhpcy5fZG91YmxlQ2xpY2tJbnRlcmFjdGlvbi5lbmFibGVkKCF0KX1pbnRlcnBvbGF0ZVpvb20odCxlLG4saSl7bGV0IHI9dGhpcy54U2NhbGUoKS5kb21haW4oKVswXS52YWx1ZU9mKCksbz10aGlzLnhTY2FsZSgpLmRvbWFpbigpWzFdLnZhbHVlT2YoKSxhPXRoaXMueVNjYWxlKCkuZG9tYWluKClbMF0udmFsdWVPZigpLHM9dGhpcy55U2NhbGUoKS5kb21haW4oKVsxXS52YWx1ZU9mKCksbD10aGlzLmVhc2VGbixjPSh0LGUsbik9PnJwKHQsZSkobChuKSk7dGhpcy5pc1pvb21pbmcoITApO2xldCB1PURhdGUubm93KCksaD0oKT0+e2xldCBsPURhdGUubm93KCksZD0wPT09dGhpcy5fYW5pbWF0aW9uVGltZT8xOk1hdGgubWluKDEsKGwtdSkvdGhpcy5fYW5pbWF0aW9uVGltZSkscD1jKHIsdCxkKSxmPWMobyxlLGQpLG09YyhhLG4sZCksZz1jKHMsaSxkKTt0aGlzLnhTY2FsZSgpLmRvbWFpbihbcCxmXSksdGhpcy55U2NhbGUoKS5kb21haW4oW20sZ10pLGQ8MT9OTy5VdGlscy5ET00ucmVxdWVzdEFuaW1hdGlvbkZyYW1lUG9seWZpbGwoaCk6KHRoaXMub25FbmQoKSx0aGlzLmlzWm9vbWluZyghMSkpfTtoKCl9fXZhciByQXQsb0F0LGFBdDshKGZ1bmN0aW9uKHQpe3RbdC5OT05FPTBdPSJOT05FIix0W3QuRFJBR19aT09NSU5HPTFdPSJEUkFHX1pPT01JTkciLHRbdC5QQU5OSU5HPTJdPSJQQU5OSU5HIn0pKHJBdHx8KHJBdD17fSkpO2NsYXNzIHNBdCBleHRlbmRzIE5PLkNvbXBvbmVudHMuR3JvdXB7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKCksdGhpcy5zdGF0ZT1yQXQuTk9ORSx0aGlzLnBhblN0YXJ0Q2FsbGJhY2s9bmV3IE5PLlV0aWxzLkNhbGxiYWNrU2V0LHRoaXMucGFuRW5kQ2FsbGJhY2s9bmV3IE5PLlV0aWxzLkNhbGxiYWNrU2V0LHRoaXMucGFuWm9vbT1uZXcgTk8uSW50ZXJhY3Rpb25zLlBhblpvb20odCxlKSx0aGlzLnBhblpvb20uZHJhZ0ludGVyYWN0aW9uKCkubW91c2VGaWx0ZXIoKHQ9PnNBdC5pc1BhbktleSh0KSYmMD09PXQuYnV0dG9uKSksdGhpcy5wYW5ab29tLndoZWVsRmlsdGVyKHRoaXMuY2FuU2Nyb2xsWm9vbSksdGhpcy5kcmFnWm9vbUxheWVyPW5ldyBpQXQodCxlLG4pLHRoaXMuZHJhZ1pvb21MYXllci5kcmFnSW50ZXJhY3Rpb24oKS5tb3VzZUZpbHRlcigodD0+IXNBdC5pc1BhbktleSh0KSYmMD09PXQuYnV0dG9uKSksdGhpcy5hcHBlbmQodGhpcy5kcmFnWm9vbUxheWVyKTtjb25zdCBpPXRoaXMub25XaGVlbC5iaW5kKHRoaXMpO3RoaXMub25BbmNob3IoKCgpPT57dGhpcy5fbW91c2VEaXNwYXRjaGVyPU5PLkRpc3BhdGNoZXJzLk1vdXNlLmdldERpc3BhdGNoZXIodGhpcyksdGhpcy5fbW91c2VEaXNwYXRjaGVyLm9uV2hlZWwoaSksdGhpcy5wYW5ab29tLmF0dGFjaFRvKHRoaXMpfSkpLHRoaXMub25EZXRhY2goKCgpPT57dGhpcy5wYW5ab29tLmRldGFjaEZyb20odGhpcyksdGhpcy5fbW91c2VEaXNwYXRjaGVyJiYodGhpcy5fbW91c2VEaXNwYXRjaGVyLm9mZldoZWVsKGkpLHRoaXMuX21vdXNlRGlzcGF0Y2hlcj1udWxsKX0pKSx0aGlzLnBhblpvb20uZHJhZ0ludGVyYWN0aW9uKCkub25EcmFnU3RhcnQoKCgpPT57dGhpcy5zdGF0ZT09ckF0Lk5PTkUmJnRoaXMuc2V0U3RhdGUockF0LlBBTk5JTkcpfSkpLHRoaXMucGFuWm9vbS5kcmFnSW50ZXJhY3Rpb24oKS5vbkRyYWdFbmQoKCgpPT57dGhpcy5zdGF0ZT09ckF0LlBBTk5JTkcmJnRoaXMuc2V0U3RhdGUockF0Lk5PTkUpfSkpLHRoaXMuZHJhZ1pvb21MYXllci5kcmFnSW50ZXJhY3Rpb24oKS5vbkRyYWdTdGFydCgoKCk9Pnt0aGlzLnN0YXRlPT1yQXQuTk9ORSYmdGhpcy5zZXRTdGF0ZShyQXQuRFJBR19aT09NSU5HKX0pKSx0aGlzLmRyYWdab29tTGF5ZXIuZHJhZ0ludGVyYWN0aW9uKCkub25EcmFnRW5kKCgoKT0+e3RoaXMuc3RhdGU9PXJBdC5EUkFHX1pPT01JTkcmJnRoaXMuc2V0U3RhdGUockF0Lk5PTkUpfSkpfW9uV2hlZWwodCxlKXtpZih0aGlzLmNhblNjcm9sbFpvb20oZSkpcmV0dXJuO2NvbnN0IG49dGhpcy5lbGVtZW50KCk7aWYoIW4uc2VsZWN0KCIuaGVscCIpLmVtcHR5KCkpcmV0dXJuO2NvbnN0IGk9bi5hcHBlbmQoImRpdiIpLmNsYXNzZWQoImhlbHAiLCEwKTtpLmFwcGVuZCgic3BhbiIpLnRleHQoIkFsdCArIFNjcm9sbCB0byBab29tIiksaS5vbigiYW5pbWF0aW9uZW5kIiwoKCk9PntpLnJlbW92ZSgpfSkpfXN0YXRpYyBpc1BhbktleSh0KXtyZXR1cm4gQm9vbGVhbih0LmFsdEtleSl8fEJvb2xlYW4odC5zaGlmdEtleSl9Y2FuU2Nyb2xsWm9vbSh0KXtyZXR1cm4gdC5hbHRLZXl9c2V0U3RhdGUodCl7aWYodGhpcy5zdGF0ZT09dClyZXR1cm47Y29uc3QgZT10aGlzLnN0YXRlO3RoaXMuc3RhdGU9dCx0aGlzLnJvb3QoKS5yZW1vdmVDbGFzcyh0aGlzLnN0YXRlQ2xhc3NOYW1lKGUpKSx0aGlzLnJvb3QoKS5hZGRDbGFzcyh0aGlzLnN0YXRlQ2xhc3NOYW1lKHQpKSxlPT1yQXQuUEFOTklORyYmdGhpcy5wYW5FbmRDYWxsYmFjay5jYWxsQ2FsbGJhY2tzKCksdD09ckF0LlBBTk5JTkcmJnRoaXMucGFuU3RhcnRDYWxsYmFjay5jYWxsQ2FsbGJhY2tzKCl9c3RhdGVDbGFzc05hbWUodCl7c3dpdGNoKHQpe2Nhc2UgckF0LlBBTk5JTkc6cmV0dXJuInBhbm5pbmciO2Nhc2UgckF0LkRSQUdfWk9PTUlORzpyZXR1cm4iZHJhZy16b29taW5nIjtjYXNlIHJBdC5OT05FOmRlZmF1bHQ6cmV0dXJuIiJ9fW9uUGFuU3RhcnQodCl7dGhpcy5wYW5TdGFydENhbGxiYWNrLmFkZCh0KX1vblBhbkVuZCh0KXt0aGlzLnBhbkVuZENhbGxiYWNrLmFkZCh0KX1vblNjcm9sbFpvb20odCl7dGhpcy5wYW5ab29tLm9uWm9vbUVuZCh0KX1vbkRyYWdab29tU3RhcnQodCl7dGhpcy5kcmFnWm9vbUxheWVyLmludGVyYWN0aW9uU3RhcnQodCl9b25EcmFnWm9vbUVuZCh0KXt0aGlzLmRyYWdab29tTGF5ZXIuaW50ZXJhY3Rpb25FbmQodCl9fSEoZnVuY3Rpb24odCl7dFt0LlRFWFQ9MF09IlRFWFQiLHRbdC5ET009MV09IkRPTSJ9KShvQXR8fChvQXQ9e30pKSwoZnVuY3Rpb24odCl7dC5MT0c9ImxvZyIsdC5MSU5FQVI9ImxpbmVhciJ9KShhQXR8fChhQXQ9e30pKTtjbGFzcyBsQXR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8sYSxzLGwsYyx1KXt0aGlzLmRpcnR5RGF0YXNldHM9bmV3IFNldCx0aGlzLnNlcmllc05hbWVzPVtdLHRoaXMubmFtZTJkYXRhc2V0cz17fSx0aGlzLmNvbG9yU2NhbGU9aSx0aGlzLnRvb2x0aXA9cix0aGlzLmRhdGFzZXRzPVtdLHRoaXMuX2lnbm9yZVlPdXRsaWVycz0hMSx0aGlzLmxhc3RQb2ludHNEYXRhc2V0PW5ldyBOTy5EYXRhc2V0LHRoaXMubmFuRGF0YXNldD1uZXcgTk8uRGF0YXNldCx0aGlzLnlWYWx1ZUFjY2Vzc29yPWUsdGhpcy5zeW1ib2xGdW5jdGlvbj1jLHRoaXMuX2RlZmF1bHRYUmFuZ2U9cyx0aGlzLl9kZWZhdWx0WVJhbmdlPWwsdGhpcy50b29sdGlwQ29sdW1ucz1vLHRoaXMuYnVpbGRDaGFydCh0LGUsbixhLHUpfWJ1aWxkQ2hhcnQodCxlLG4saSxyKXt0aGlzLmRlc3Ryb3koKTtjb25zdCBvPXQoKTt0aGlzLnhBY2Nlc3Nvcj1vLmFjY2Vzc29yLHRoaXMueFNjYWxlPW8uc2NhbGUsdGhpcy54QXhpcz1vLmF4aXMsdGhpcy54QXhpcy5tYXJnaW4oMSkudGlja0xhYmVsUGFkZGluZygzKSxyJiZ0aGlzLnhBeGlzLmZvcm1hdHRlcihyKSx0aGlzLnlTY2FsZT1sQXQuZ2V0WVNjYWxlRnJvbVR5cGUobiksdGhpcy55U2NhbGUuc2V0VmFsdWVQcm92aWRlckZvckRvbWFpbigoKCk9PnRoaXMuZ2V0VmFsdWVzRm9yWUF4aXNEb21haW5Db21wdXRlKCkpKSx0aGlzLnlBeGlzPW5ldyBOTy5BeGVzLk51bWVyaWModGhpcy55U2NhbGUsImxlZnQiKTtsZXQgYT1TQ3QoMyk7dGhpcy55QXhpcy5tYXJnaW4oMCkudGlja0xhYmVsUGFkZGluZyg1KS5mb3JtYXR0ZXIoYSksdGhpcy55QXhpcy51c2VzVGV4dFdpZHRoQXBwcm94aW1hdGlvbighMCksdGhpcy5maWxsQXJlYT1pO2NvbnN0IHM9bmV3IHNBdCh0aGlzLnhTY2FsZSx0aGlzLnlTY2FsZSwoKCk9PnRoaXMucmVzZXREb21haW4oKSkpO3RoaXMudG9vbHRpcEludGVyYWN0aW9uPXRoaXMuY3JlYXRlVG9vbHRpcEludGVyYWN0aW9uKHMpLHRoaXMudG9vbHRpcFBvaW50c0NvbXBvbmVudD1uZXcgTk8uQ29tcG9uZW50O2NvbnN0IGw9dGhpcy5idWlsZFBsb3QodGhpcy54U2NhbGUsdGhpcy55U2NhbGUsaSk7dGhpcy5ncmlkbGluZXM9bmV3IE5PLkNvbXBvbmVudHMuR3JpZGxpbmVzKHRoaXMueFNjYWxlLHRoaXMueVNjYWxlKTtsZXQgYz1udWxsO24hPT1hQXQuTE9HJiYoYz1uZXcgTk8uQ29tcG9uZW50cy5HdWlkZUxpbmVMYXllcigiaG9yaXpvbnRhbCIpLGMuc2NhbGUodGhpcy55U2NhbGUpLnZhbHVlKDApKTtsZXQgdT1uZXcgTk8uQ29tcG9uZW50cy5HdWlkZUxpbmVMYXllcigidmVydGljYWwiKTt1LnNjYWxlKHRoaXMueFNjYWxlKS52YWx1ZSgwKSx0aGlzLmNlbnRlcj1uZXcgTk8uQ29tcG9uZW50cy5Hcm91cChbdGhpcy5ncmlkbGluZXMsYyx1LGwsdGhpcy50b29sdGlwUG9pbnRzQ29tcG9uZW50LHNdKSx0aGlzLmNlbnRlci5hZGRDbGFzcygibWFpbiIpLHRoaXMub3V0ZXI9bmV3IE5PLkNvbXBvbmVudHMuVGFibGUoW1t0aGlzLnlBeGlzLHRoaXMuY2VudGVyXSxbbnVsbCx0aGlzLnhBeGlzXV0pfWJ1aWxkUGxvdCh0LGUsbil7biYmKHRoaXMubWFyZ2luQXJlYVBsb3Q9bmV3IE5PLlBsb3RzLkFyZWEsdGhpcy5tYXJnaW5BcmVhUGxvdC54KHRoaXMueEFjY2Vzc29yLHQpLHRoaXMubWFyZ2luQXJlYVBsb3QueShuLmhpZ2hlckFjY2Vzc29yLGUpLHRoaXMubWFyZ2luQXJlYVBsb3QueTAobi5sb3dlckFjY2Vzc29yKSx0aGlzLm1hcmdpbkFyZWFQbG90LmF0dHIoImZpbGwiLCgodCxlLG4pPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUobi5tZXRhZGF0YSgpLm5hbWUpKSksdGhpcy5tYXJnaW5BcmVhUGxvdC5hdHRyKCJmaWxsLW9wYWNpdHkiLC4zKSx0aGlzLm1hcmdpbkFyZWFQbG90LmF0dHIoInN0cm9rZS13aWR0aCIsMCkpLHRoaXMuc21vb3RoZWRBY2Nlc3Nvcj10PT50LnNtb290aGVkO2xldCBpPW5ldyBOTy5QbG90cy5MaW5lO2kueCh0aGlzLnhBY2Nlc3Nvcix0KSxpLnkodGhpcy55VmFsdWVBY2Nlc3NvcixlKSxpLmF0dHIoInN0cm9rZSIsKCh0LGUsbik9PnRoaXMuY29sb3JTY2FsZS5zY2FsZShuLm1ldGFkYXRhKCkubmFtZSkpKSx0aGlzLmxpbmVQbG90PWksdGhpcy5zZXR1cFRvb2x0aXBzKGkpO2xldCByPW5ldyBOTy5QbG90cy5MaW5lO2lmKHIueCh0aGlzLnhBY2Nlc3Nvcix0KSxyLnkodGhpcy5zbW9vdGhlZEFjY2Vzc29yLGUpLHIuYXR0cigic3Ryb2tlIiwoKHQsZSxuKT0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKG4ubWV0YWRhdGEoKS5uYW1lKSkpLHRoaXMuc21vb3RoTGluZVBsb3Q9cix0aGlzLnN5bWJvbEZ1bmN0aW9uKXtjb25zdCBuPW5ldyBOTy5QbG90cy5TY2F0dGVyO24ueCh0aGlzLnhBY2Nlc3Nvcix0KSxuLnkodGhpcy55VmFsdWVBY2Nlc3NvcixlKSxuLmF0dHIoImZpbGwiLCgodCxlLG4pPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUobi5tZXRhZGF0YSgpLm5hbWUpKSksbi5hdHRyKCJvcGFjaXR5IiwxKSxuLnNpemUoOCksbi5zeW1ib2woKCh0LGUsbik9PnRoaXMuc3ltYm9sRnVuY3Rpb24obi5tZXRhZGF0YSgpLm5hbWUpKSksdGhpcy5tYXJrZXJzU2NhdHRlclBsb3Q9bn1sZXQgbz1uZXcgTk8uUGxvdHMuU2NhdHRlcjtvLngodGhpcy54QWNjZXNzb3IsdCksby55KHRoaXMueVZhbHVlQWNjZXNzb3IsZSksby5hdHRyKCJmaWxsIiwodD0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKHQubmFtZSkpKSxvLmF0dHIoIm9wYWNpdHkiLDEpLG8uc2l6ZSg4KSxvLmRhdGFzZXRzKFt0aGlzLmxhc3RQb2ludHNEYXRhc2V0XSksdGhpcy5zY2F0dGVyUGxvdD1vO2xldCBhPW5ldyBOTy5QbG90cy5TY2F0dGVyO2EueCh0aGlzLnhBY2Nlc3Nvcix0KSxhLnkoKHQ9PnQuZGlzcGxheVkpLGUpLGEuYXR0cigiZmlsbCIsKHQ9PnRoaXMuY29sb3JTY2FsZS5zY2FsZSh0Lm5hbWUpKSksYS5hdHRyKCJvcGFjaXR5IiwxKSxhLnNpemUoMTIpLGEuZGF0YXNldHMoW3RoaXMubmFuRGF0YXNldF0pLGEuc3ltYm9sKE5PLlN5bWJvbEZhY3Rvcmllcy50cmlhbmdsZSksdGhpcy5uYW5EaXNwbGF5PWE7Y29uc3Qgcz1bYSxvLHIsaV07cmV0dXJuIHRoaXMubWFyZ2luQXJlYVBsb3QmJnMucHVzaCh0aGlzLm1hcmdpbkFyZWFQbG90KSx0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdCYmcy5wdXNoKHRoaXMubWFya2Vyc1NjYXR0ZXJQbG90KSxuZXcgTk8uQ29tcG9uZW50cy5Hcm91cChzKX1pZ25vcmVZT3V0bGllcnModCl7dCE9PXRoaXMuX2lnbm9yZVlPdXRsaWVycyYmKHRoaXMuX2lnbm9yZVlPdXRsaWVycz10LHRoaXMudXBkYXRlU3BlY2lhbERhdGFzZXRzKCksdGhpcy55U2NhbGUuaWdub3JlT3V0bGllcih0KSx0aGlzLnJlc2V0WURvbWFpbigpKX1nZXRWYWx1ZXNGb3JZQXhpc0RvbWFpbkNvbXB1dGUoKXtjb25zdCB0PXRoaXMuZ2V0QWNjZXNzb3JzRm9yQ29tcHV0aW5nWVJhbmdlKCk7cmV0dXJuIENlLmV4cG9ydHMuZmxhdHRlbkRlZXAodGhpcy5kYXRhc2V0cy5tYXAoKGU9PnQubWFwKCh0PT5lLmRhdGEoKS5tYXAoKG49PnQobiwtMSxlKSkpKSkpKSkuZmlsdGVyKGlzRmluaXRlKX11cGRhdGVTcGVjaWFsRGF0YXNldHMoKXtjb25zdCB0PXRoaXMuZ2V0WUF4aXNBY2Nlc3NvcigpO2xldCBlPXRoaXMuZGF0YXNldHMubWFwKChlPT57bGV0IG49bnVsbCxpPWUuZGF0YSgpLmZpbHRlcigobj0+IWlzTmFOKHQobiwtMSxlKSkpKTtpZihpLmxlbmd0aD4wKXtuPWlbaS5sZW5ndGgtMV0sbi5uYW1lPWUubWV0YWRhdGEoKS5uYW1lLG4ucmVsYXRpdmU9Q0N0KG4sMCxlKX1yZXR1cm4gbn0pKS5maWx0ZXIoKHQ9Pm51bGwhPXQpKTt0aGlzLmxhc3RQb2ludHNEYXRhc2V0LmRhdGEoZSksdGhpcy5tYXJrZXJzU2NhdHRlclBsb3QmJnRoaXMubWFya2Vyc1NjYXR0ZXJQbG90LmRhdGFzZXRzKHRoaXMuZGF0YXNldHMubWFwKHRoaXMuY3JlYXRlU2FtcGxlZERhdGFzZXRGb3JNYXJrZXJzKSk7bGV0IG49Q2UuZXhwb3J0cy5mbGF0dGVuKHRoaXMuZGF0YXNldHMubWFwKChlPT57bGV0IG49bnVsbCxpPWUuZGF0YSgpLHI9MDtmb3IoO3I8aS5sZW5ndGgmJm51bGw9PW47KWlzTmFOKHQoaVtyXSwtMSxlKSl8fChuPXQoaVtyXSwtMSxlKSkscisrO251bGw9PW4mJihuPTApO2xldCBvPVtdO2ZvcihyPTA7cjxpLmxlbmd0aDtyKyspaXNOYU4odChpW3JdLC0xLGUpKT8oaVtyXS5uYW1lPWUubWV0YWRhdGEoKS5uYW1lLGlbcl0uZGlzcGxheVk9bixpW3JdLnJlbGF0aXZlPUNDdChpW3JdLDAsZSksby5wdXNoKGlbcl0pKTpuPXQoaVtyXSwtMSxlKTtyZXR1cm4gb30pKSk7dGhpcy5uYW5EYXRhc2V0LmRhdGEobil9cmVzZXREb21haW4oKXt0aGlzLnJlc2V0WERvbWFpbigpLHRoaXMucmVzZXRZRG9tYWluKCl9cmVzZXRYRG9tYWluKCl7bGV0IHQ7aWYobnVsbCE9dGhpcy5fZGVmYXVsdFhSYW5nZSl0PXRoaXMuX2RlZmF1bHRYUmFuZ2U7ZWxzZXtjb25zdCBlPXRoaXMueFNjYWxlO2UuX2RvbWFpbk1pbj1udWxsLGUuX2RvbWFpbk1heD1udWxsLHQ9ZS5fZ2V0RXh0ZW50KCl9dGhpcy54U2NhbGUuZG9tYWluKHQpfXJlc2V0WURvbWFpbigpe251bGwhPXRoaXMuX2RlZmF1bHRZUmFuZ2U/dGhpcy55U2NhbGUuZG9tYWluKHRoaXMuX2RlZmF1bHRZUmFuZ2UpOih0aGlzLnlTY2FsZS5hdXRvRG9tYWluKCksdGhpcy55U2NhbGUuZG9tYWluKHRoaXMueVNjYWxlLmRvbWFpbigpKSl9Z2V0QWNjZXNzb3JzRm9yQ29tcHV0aW5nWVJhbmdlKCl7Y29uc3QgdD1bdGhpcy5nZXRZQXhpc0FjY2Vzc29yKCldO3JldHVybiB0aGlzLmZpbGxBcmVhJiZ0LnB1c2godGhpcy5maWxsQXJlYS5sb3dlckFjY2Vzc29yLHRoaXMuZmlsbEFyZWEuaGlnaGVyQWNjZXNzb3IpLHR9Z2V0WUF4aXNBY2Nlc3Nvcigpe3JldHVybiB0aGlzLnNtb290aGluZ0VuYWJsZWQ/dGhpcy5zbW9vdGhlZEFjY2Vzc29yOnRoaXMueVZhbHVlQWNjZXNzb3J9Y3JlYXRlVG9vbHRpcEludGVyYWN0aW9uKHQpe2NvbnN0IGU9bmV3IE9DdCxuPSgpPT57ZS5lbmFibGVkKCExKSx0aGlzLmhpZGVUb29sdGlwcygpfSxpPSgpPT5lLmVuYWJsZWQoITApO3JldHVybiB0Lm9uUGFuU3RhcnQobiksdC5vbkRyYWdab29tU3RhcnQobiksdC5vblBhbkVuZChpKSx0Lm9uRHJhZ1pvb21FbmQoaSksdC5vblNjcm9sbFpvb20oKCgpPT50aGlzLnVwZGF0ZVRvb2x0aXBDb250ZW50KHRoaXMuX2xhc3RNb3VzZVBvc2l0aW9uKSkpLGUub25Qb2ludGVyTW92ZSgodD0+e3RoaXMuX2xhc3RNb3VzZVBvc2l0aW9uPXQsdGhpcy51cGRhdGVUb29sdGlwQ29udGVudCh0KX0pKSxlLm9uUG9pbnRlckV4aXQoKCgpPT50aGlzLmhpZGVUb29sdGlwcygpKSksZX11cGRhdGVUb29sdGlwQ29udGVudCh0KXt0aGlzLmxpbmVQbG90JiYod2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3Rvb2x0aXBVcGRhdGVBbmltYXRpb25GcmFtZSksdGhpcy5fdG9vbHRpcFVwZGF0ZUFuaW1hdGlvbkZyYW1lPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57bGV0IGU9e3g6dC54LHk6dC55LGRhdHVtOm51bGwsZGF0YXNldDpudWxsfSxuPXRoaXMuZ3JpZGxpbmVzLmNvbnRlbnQoKS5ub2RlKCkuZ2V0QkJveCgpLGk9dGhpcy5saW5lUGxvdC5kYXRhc2V0cygpLm1hcCgodD0+dGhpcy5maW5kQ2xvc2VzdFBvaW50KGUsdCkpKS5maWx0ZXIoQm9vbGVhbikscj1OTy5VdGlscy5ET00uaW50ZXJzZWN0c0JCb3gsbz1pLmZpbHRlcigodD0+cih0LngsdC55LG4pfHxpc05hTih0aGlzLnlWYWx1ZUFjY2Vzc29yKHQuZGF0dW0sMCx0LmRhdGFzZXQpKSkpLGE9by5maWx0ZXIoKHQ9PiFpc05hTih0aGlzLnlWYWx1ZUFjY2Vzc29yKHQuZGF0dW0sMCx0LmRhdGFzZXQpKSkpO2lmKDAhPT1pLmxlbmd0aCl7dGhpcy5zY2F0dGVyUGxvdC5hdHRyKCJkaXNwbGF5Iiwibm9uZSIpO2NvbnN0IHQ9dGhpcy50b29sdGlwUG9pbnRzQ29tcG9uZW50LmNvbnRlbnQoKS5zZWxlY3RBbGwoIi5wb2ludCIpLmRhdGEoYSwodD0+dC5kYXRhc2V0Lm1ldGFkYXRhKCkubmFtZSkpO3QuZW50ZXIoKS5hcHBlbmQoImNpcmNsZSIpLmNsYXNzZWQoInBvaW50IiwhMCksdC5hdHRyKCJyIiw0KS5hdHRyKCJjeCIsKHQ9PnQueCkpLmF0dHIoImN5IiwodD0+dC55KSkuc3R5bGUoInN0cm9rZSIsIm5vbmUiKS5hdHRyKCJmaWxsIiwodD0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKHQuZGF0YXNldC5tZXRhZGF0YSgpLm5hbWUpKSksdC5leGl0KCkucmVtb3ZlKCksdGhpcy5kcmF3VG9vbHRpcHMobyxlLHRoaXMudG9vbHRpcENvbHVtbnMpfWVsc2UgdGhpcy5oaWRlVG9vbHRpcHMoKX0pKSl9aGlkZVRvb2x0aXBzKCl7d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3Rvb2x0aXBVcGRhdGVBbmltYXRpb25GcmFtZSksdGhpcy50b29sdGlwLmhpZGUoKSx0aGlzLnNjYXR0ZXJQbG90LmF0dHIoImRpc3BsYXkiLCJibG9jayIpLHRoaXMudG9vbHRpcFBvaW50c0NvbXBvbmVudC5jb250ZW50KCkuc2VsZWN0QWxsKCIucG9pbnQiKS5yZW1vdmUoKX1zZXR1cFRvb2x0aXBzKHQpe3Qub25EZXRhY2goKCgpPT57dGhpcy50b29sdGlwSW50ZXJhY3Rpb24uZGV0YWNoRnJvbSh0KSx0aGlzLnRvb2x0aXBJbnRlcmFjdGlvbi5lbmFibGVkKCExKX0pKSx0Lm9uQW5jaG9yKCgoKT0+e3RoaXMudG9vbHRpcEludGVyYWN0aW9uLmF0dGFjaFRvKHQpLHRoaXMudG9vbHRpcEludGVyYWN0aW9uLmVuYWJsZWQoITApfSkpfWRyYXdUb29sdGlwcyh0LGUsbil7aWYoIXQubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMudG9vbHRpcC5oaWRlKCk7Y29uc3R7Y29sb3JTY2FsZTppfT10aGlzO249W3t0aXRsZToiIixzdGF0aWM6ITEsZXZhbFR5cGU6b0F0LkRPTSxldmFsdWF0ZSh0KXtyZXR1cm4gRHUodGhpcykuc2VsZWN0KCJzcGFuIikuc3R5bGUoImJhY2tncm91bmQtY29sb3IiLCgoKT0+aS5zY2FsZSh0LmRhdGFzZXQubWV0YWRhdGEoKS5uYW1lKSkpLCIifSxlbnRlcih0KXtEdSh0aGlzKS5hcHBlbmQoInNwYW4iKS5jbGFzc2VkKCJzd2F0Y2giLCEwKS5zdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsKCgpPT5pLnNjYWxlKHQuZGF0YXNldC5tZXRhZGF0YSgpLm5hbWUpKSl9fSwuLi5uXTtjb25zdCByPXQ9Pk1hdGgucG93KHQueC1lLngsMikrTWF0aC5wb3codC55LWUueSwyKSxvPUNlLmV4cG9ydHMubWluKHQubWFwKHIpKSxhPXRoaXMuc21vb3RoaW5nRW5hYmxlZD90aGlzLnNtb290aGVkQWNjZXNzb3I6dGhpcy55VmFsdWVBY2Nlc3Nvcjt0PSJhc2NlbmRpbmciPT09dGhpcy50b29sdGlwU29ydGluZ01ldGhvZD9DZS5leHBvcnRzLnNvcnRCeSh0LCh0PT5hKHQuZGF0dW0sLTEsdC5kYXRhc2V0KSkpOiJkZXNjZW5kaW5nIj09PXRoaXMudG9vbHRpcFNvcnRpbmdNZXRob2Q/Q2UuZXhwb3J0cy5zb3J0QnkodCwodD0+YSh0LmRhdHVtLC0xLHQuZGF0YXNldCkpKS5yZXZlcnNlKCk6Im5lYXJlc3QiPT09dGhpcy50b29sdGlwU29ydGluZ01ldGhvZD9DZS5leHBvcnRzLnNvcnRCeSh0LHIpOnQuc2xpY2UoMCkucmV2ZXJzZSgpO2NvbnN0IHM9dGhpcyxsPUR1KHRoaXMudG9vbHRpcC5jb250ZW50KCkpLnNlbGVjdCgidGFibGUiKSxjPWwuc2VsZWN0KCJ0aGVhZCIpLnNlbGVjdEFsbCgidGgiKS5kYXRhKG4sKCh0LGUsbik9PnQudGl0bGUpKTtjLmVudGVyKCkuYXBwZW5kKCJ0aCIpLnRleHQoKHQ9PnQudGl0bGUpKS5ub2RlcygpLGMuZXhpdCgpLnJlbW92ZSgpO2NvbnN0IHU9bC5zZWxlY3QoInRib2R5Iikuc2VsZWN0QWxsKCJ0ciIpLmRhdGEodCwoKHQsZSxuKT0+dC5kYXRhc2V0Lm1ldGFkYXRhKCkubmFtZSkpO3UuY2xhc3NlZCgiZGlzdGFudCIsKHQ9PntsZXQgbj10LmRhdGFzZXQuZGF0YSgpWzBdLGk9Q2UuZXhwb3J0cy5sYXN0KHQuZGF0YXNldC5kYXRhKCkpLHI9dGhpcy54U2NhbGUuc2NhbGUodGhpcy54QWNjZXNzb3IobiwwLHQuZGF0YXNldCkpLG89dGhpcy54U2NhbGUuc2NhbGUodGhpcy54QWNjZXNzb3IoaSwwLHQuZGF0YXNldCkpLGE9dGhpcy5zbW9vdGhpbmdFbmFibGVkP3QuZGF0dW0uc21vb3RoZWQ6dGhpcy55VmFsdWVBY2Nlc3Nvcih0LmRhdHVtLDAsdC5kYXRhc2V0KTtyZXR1cm4gZS54PHJ8fGUueD5vfHxpc05hTihhKX0pKS5jbGFzc2VkKCJjbG9zZXN0IiwodD0+cih0KT09PW8pKS5lYWNoKChmdW5jdGlvbih0KXtzLmRyYXdUb29sdGlwUm93KHRoaXMsbix0KX0pKS5vcmRlcigpLHUuZXhpdCgpLnJlbW92ZSgpLHUuZW50ZXIoKS5hcHBlbmQoInRyIikuZWFjaCgoZnVuY3Rpb24odCl7cy5kcmF3VG9vbHRpcFJvdyh0aGlzLG4sdCl9KSkubm9kZXMoKSx0aGlzLnRvb2x0aXAudXBkYXRlQW5kUG9zaXRpb24odGhpcy50YXJnZXRTVkcubm9kZSgpKX1kcmF3VG9vbHRpcFJvdyh0LGUsbil7Y29uc3QgaT10aGlzLHI9RHUodCkuc2VsZWN0QWxsKCJ0ZCIpLmRhdGEoZSk7ci5lYWNoKChmdW5jdGlvbih0KXt0LnN0YXRpY3x8aS5kcmF3VG9vbHRpcENvbHVtbi5jYWxsKGksdGhpcyx0LG4pfSkpLHIuZXhpdCgpLnJlbW92ZSgpLHIuZW50ZXIoKS5hcHBlbmQoInRkIikuZWFjaCgoZnVuY3Rpb24odCl7aWYoImVudGVyImluIHQmJnQuZW50ZXIpe3QuZW50ZXIuY2FsbCh0aGlzLG4pfWkuZHJhd1Rvb2x0aXBDb2x1bW4uY2FsbChpLHRoaXMsdCxuKX0pKX1kcmF3VG9vbHRpcENvbHVtbih0LGUsbil7Y29uc3R7c21vb3RoaW5nRW5hYmxlZDppfT10aGlzOyJldmFsVHlwZSJpbiBlJiZlLmV2YWxUeXBlPT1vQXQuRE9NP2UuZXZhbHVhdGUuY2FsbCh0LG4se3Ntb290aGluZ0VuYWJsZWQ6aX0pOkR1KHQpLnRleHQoZS5ldmFsdWF0ZS5jYWxsKHQsbix7c21vb3RoaW5nRW5hYmxlZDppfSkpfWZpbmRDbG9zZXN0UG9pbnQodCxlKXtjb25zdCBuPWUuZGF0YSgpLm1hcCgoKHQsbik9PnRoaXMueFNjYWxlLnNjYWxlKHRoaXMueEFjY2Vzc29yKHQsbixlKSkpKTtsZXQgaT1DZS5leHBvcnRzLnNvcnRlZEluZGV4KG4sdC54KTtpZigwPT1uLmxlbmd0aClyZXR1cm4gbnVsbDtpZihpPT09bi5sZW5ndGgpaS09MTtlbHNlIGlmKDAhPT1pKXtpPU1hdGguYWJzKG5baS0xXS10LngpPE1hdGguYWJzKG5baV0tdC54KT9pLTE6aX1jb25zdCByPWUuZGF0YSgpW2ldLG89dGhpcy5zbW9vdGhpbmdFbmFibGVkP3RoaXMuc21vb3RoZWRBY2Nlc3NvcihyLGksZSk6dGhpcy55VmFsdWVBY2Nlc3NvcihyLGksZSk7cmV0dXJue3g6bltpXSx5OnRoaXMueVNjYWxlLnNjYWxlKG8pLGRhdHVtOnIsZGF0YXNldDplfX1yZXNtb290aERhdGFzZXQodCl7bGV0IGU9dC5kYXRhKCk7Y29uc3Qgbj10aGlzLnNtb290aGluZ1dlaWdodDtsZXQgaT1lLmxlbmd0aD4wPzA6TmFOLHI9MDtjb25zdCBvPWUubWFwKCgoZSxuKT0+dGhpcy55VmFsdWVBY2Nlc3NvcihlLG4sdCkpKSxhPW8uZXZlcnkoKHQ9PnQ9PW9bMF0pKTtlLmZvckVhY2goKCh0LGUpPT57Y29uc3Qgcz1vW2VdO2lmKGF8fCFOdW1iZXIuaXNGaW5pdGUocykpdC5zbW9vdGhlZD1zO2Vsc2V7aT1pKm4rKDEtbikqcyxyKys7bGV0IGU9MTsxIT09biYmKGU9MS1NYXRoLnBvdyhuLHIpKSx0LnNtb290aGVkPWkvZX19KSl9Z2V0RGF0YXNldCh0KXtyZXR1cm4gdm9pZCAwPT09dGhpcy5uYW1lMmRhdGFzZXRzW3RdJiYodGhpcy5uYW1lMmRhdGFzZXRzW3RdPW5ldyBOTy5EYXRhc2V0KFtdLHtuYW1lOnQsbWV0YTpudWxsfSkpLHRoaXMubmFtZTJkYXRhc2V0c1t0XX1zdGF0aWMgZ2V0WVNjYWxlRnJvbVR5cGUodCl7aWYodD09PWFBdC5MT0cpcmV0dXJuIG5ldyBuQXQ7aWYodD09PWFBdC5MSU5FQVIpcmV0dXJuIG5ldyBaQ3Q7dGhyb3cgbmV3IEVycm9yKCJVbnJlY29nbml6ZWQgeVNjYWxlIHR5cGUgIit0KX1zZXRWaXNpYmxlU2VyaWVzKHQpe3RoaXMuZGlzYWJsZUNoYW5nZXMoKSwodD10LnNvcnQoKSkucmV2ZXJzZSgpLHRoaXMuc2VyaWVzTmFtZXM9dH1kaXNhYmxlQ2hhbmdlcygpe3RoaXMuZGlydHlEYXRhc2V0cy5zaXplfHwodGhpcy5saW5lUGxvdC5kYXRhc2V0cyhbXSksdGhpcy5zbW9vdGhMaW5lUGxvdCYmdGhpcy5zbW9vdGhMaW5lUGxvdC5kYXRhc2V0cyhbXSksdGhpcy5tYXJnaW5BcmVhUGxvdCYmdGhpcy5tYXJnaW5BcmVhUGxvdC5kYXRhc2V0cyhbXSkpfWNvbW1pdENoYW5nZXMoKXt0aGlzLmRhdGFzZXRzPXRoaXMuc2VyaWVzTmFtZXMubWFwKCh0PT50aGlzLmdldERhdGFzZXQodCkpKSxbLi4udGhpcy5kaXJ0eURhdGFzZXRzXS5mb3JFYWNoKCh0PT57dGhpcy5zbW9vdGhpbmdFbmFibGVkJiZ0aGlzLnJlc21vb3RoRGF0YXNldCh0aGlzLmdldERhdGFzZXQodCkpfSkpLHRoaXMudXBkYXRlU3BlY2lhbERhdGFzZXRzKCksdGhpcy5saW5lUGxvdC5kYXRhc2V0cyh0aGlzLmRhdGFzZXRzKSx0aGlzLnNtb290aGluZ0VuYWJsZWQmJnRoaXMuc21vb3RoTGluZVBsb3QuZGF0YXNldHModGhpcy5kYXRhc2V0cyksdGhpcy5tYXJnaW5BcmVhUGxvdCYmdGhpcy5tYXJnaW5BcmVhUGxvdC5kYXRhc2V0cyh0aGlzLmRhdGFzZXRzKSx0aGlzLm1lYXN1cmVCQm94QW5kTWF5YmVJbnZhbGlkYXRlTGF5b3V0SW5SYWYoKSx0aGlzLmRpcnR5RGF0YXNldHMuY2xlYXIoKX1jcmVhdGVTYW1wbGVkRGF0YXNldEZvck1hcmtlcnModCl7Y29uc3QgZT10LmRhdGEoKTtpZihlLmxlbmd0aDw9MjApcmV0dXJuIHQ7Y29uc3Qgbj1NYXRoLmNlaWwoZS5sZW5ndGgvMjApLGk9bmV3IEFycmF5KE1hdGguZmxvb3IoZS5sZW5ndGgvbikpO2ZvcihsZXQgdD0wLHI9MDt0PGkubGVuZ3RoO3QrKyxyKz1uKWlbdF09ZVtyXTtyZXR1cm4gbmV3IE5PLkRhdGFzZXQoaSx0Lm1ldGFkYXRhKCkpfXNldFNlcmllc0RhdGEodCxlKXt0aGlzLmRpc2FibGVDaGFuZ2VzKCksdGhpcy5nZXREYXRhc2V0KHQpLmRhdGEoZSksdGhpcy5kaXJ0eURhdGFzZXRzLmFkZCh0KX1zZXRTZXJpZXNNZXRhZGF0YSh0LGUpe3RoaXMuZGlzYWJsZUNoYW5nZXMoKSx0aGlzLmdldERhdGFzZXQodCkubWV0YWRhdGEoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMuZ2V0RGF0YXNldCh0KS5tZXRhZGF0YSgpKSx7bWV0YTplfSkpLHRoaXMuZGlydHlEYXRhc2V0cy5hZGQodCl9c21vb3RoaW5nVXBkYXRlKHQpe3RoaXMuc21vb3RoaW5nV2VpZ2h0PXQsdGhpcy5kYXRhc2V0cy5mb3JFYWNoKCh0PT50aGlzLnJlc21vb3RoRGF0YXNldCh0KSkpLHRoaXMuc21vb3RoaW5nRW5hYmxlZHx8KHRoaXMubGluZVBsb3QuYWRkQ2xhc3MoImdob3N0IiksdGhpcy5zY2F0dGVyUGxvdC55KHRoaXMuc21vb3RoZWRBY2Nlc3Nvcix0aGlzLnlTY2FsZSksdGhpcy5zbW9vdGhpbmdFbmFibGVkPSEwLHRoaXMuc21vb3RoTGluZVBsb3QuZGF0YXNldHModGhpcy5kYXRhc2V0cykpLHRoaXMubWFya2Vyc1NjYXR0ZXJQbG90JiZ0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdC55KHRoaXMuZ2V0WUF4aXNBY2Nlc3NvcigpLHRoaXMueVNjYWxlKSx0aGlzLnVwZGF0ZVNwZWNpYWxEYXRhc2V0cygpfXNtb290aGluZ0Rpc2FibGUoKXt0aGlzLnNtb290aGluZ0VuYWJsZWQmJih0aGlzLmxpbmVQbG90LnJlbW92ZUNsYXNzKCJnaG9zdCIpLHRoaXMuc2NhdHRlclBsb3QueSh0aGlzLnlWYWx1ZUFjY2Vzc29yLHRoaXMueVNjYWxlKSx0aGlzLnNtb290aExpbmVQbG90LmRhdGFzZXRzKFtdKSx0aGlzLnNtb290aGluZ0VuYWJsZWQ9ITEsdGhpcy51cGRhdGVTcGVjaWFsRGF0YXNldHMoKSksdGhpcy5tYXJrZXJzU2NhdHRlclBsb3QmJnRoaXMubWFya2Vyc1NjYXR0ZXJQbG90LnkodGhpcy5nZXRZQXhpc0FjY2Vzc29yKCksdGhpcy55U2NhbGUpfXNldENvbG9yU2NhbGUodCl7dGhpcy5jb2xvclNjYWxlPXR9c2V0VG9vbHRpcENvbHVtbnModCl7dGhpcy50b29sdGlwQ29sdW1ucz10fXNldFRvb2x0aXBTb3J0aW5nTWV0aG9kKHQpe3RoaXMudG9vbHRpcFNvcnRpbmdNZXRob2Q9dH1yZW5kZXJUbyh0KXt0aGlzLnRhcmdldFNWRz10LHRoaXMub3V0ZXIucmVuZGVyVG8odCksbnVsbCE9dGhpcy5fZGVmYXVsdFhSYW5nZSYmdGhpcy5yZXNldFhEb21haW4oKSxudWxsIT10aGlzLl9kZWZhdWx0WVJhbmdlJiZ0aGlzLnJlc2V0WURvbWFpbigpLHRoaXMubWVhc3VyZUJCb3hBbmRNYXliZUludmFsaWRhdGVMYXlvdXRJblJhZigpfXJlZHJhdygpe3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yZWRyYXdSYWYpLHRoaXMuX3JlZHJhd1JhZj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMubWVhc3VyZUJCb3hBbmRNYXliZUludmFsaWRhdGVMYXlvdXQoKSx0aGlzLm91dGVyLnJlZHJhdygpfSkpfW1lYXN1cmVCQm94QW5kTWF5YmVJbnZhbGlkYXRlTGF5b3V0SW5SYWYoKXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5faW52YWxpZGF0ZUxheW91dFJhZiksdGhpcy5faW52YWxpZGF0ZUxheW91dFJhZj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMubWVhc3VyZUJCb3hBbmRNYXliZUludmFsaWRhdGVMYXlvdXQoKX0pKX1tZWFzdXJlQkJveEFuZE1heWJlSW52YWxpZGF0ZUxheW91dCgpe2lmKHRoaXMuX2xhc3REcmF3QkJveCl7Y29uc3R7d2lkdGg6dH09dGhpcy5fbGFzdERyYXdCQm94LHt3aWR0aDplfT10aGlzLnRhcmdldFNWRy5ub2RlKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7MD09dCYmdDxlJiZ0aGlzLm91dGVyLmludmFsaWRhdGVDYWNoZSgpfXRoaXMuX2xhc3REcmF3QkJveD10aGlzLnRhcmdldFNWRy5ub2RlKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9ZGVzdHJveSgpe3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yZWRyYXdSYWYpLHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9pbnZhbGlkYXRlTGF5b3V0UmFmKSx0aGlzLm91dGVyJiZ0aGlzLm91dGVyLmRlc3Ryb3koKX1vbkFuY2hvcih0KXt0aGlzLm91dGVyJiZ0aGlzLm91dGVyLm9uQW5jaG9yKHQpfWlzRGF0YUZpdFRvRG9tYWluKCl7cmV0dXJuIHQodGhpcy54QXhpcy5nZXRTY2FsZSgpKSYmdCh0aGlzLnlBeGlzLmdldFNjYWxlKCkpO2Z1bmN0aW9uIHQodCl7Y29uc3QgZT10LmdldFRyYW5zZm9ybWF0aW9uRG9tYWluKCksbj10LmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50KCk7cmV0dXJuIG5bMF09PT1lWzBdJiZuWzFdPT09ZVsxXX19fXZhciBjQXQ7bWwoe21vZHVsZU5hbWU6InBsb3R0YWJsZS1zdHlsZSIsc3R5bGVDb250ZW50OiJcbiAgICBcbi5wbG90dGFibGUtY29sb3JzLTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTI3OWM3OyAvKiBJTkRJR08gKi9cbn1cblxuLnBsb3R0YWJsZS1jb2xvcnMtMSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZDM3M2U7IC8qIENPUkFMX1JFRCAqL1xufVxuXG4ucGxvdHRhYmxlLWNvbG9ycy0yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYzYzI2MTsgLyogRkVSTiAqL1xufVxuXG4ucGxvdHRhYmxlLWNvbG9ycy0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZDQxOTsgLyogQlJJR0hUX1NVTiAqL1xufVxuXG4ucGxvdHRhYmxlLWNvbG9ycy00IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmI2ZjsgLyogSkFDQVJUQSAqL1xufVxuXG4ucGxvdHRhYmxlLWNvbG9ycy01IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzkzOTsgLyogQlVSTklOR19PUkFOR0UgKi9cbn1cblxuLnBsb3R0YWJsZS1jb2xvcnMtNiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYjJlNjU7IC8qIENFUklTRV9SRUQgKi9cbn1cblxuLnBsb3R0YWJsZS1jb2xvcnMtNyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OWNlNTA7IC8qIENPTklGRVIgKi9cbn1cblxuLnBsb3R0YWJsZS1jb2xvcnMtOCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NjI1NjU7IC8qIFJPWUFMX0hFQVRIICovXG59XG5cbi5wbG90dGFibGUtY29sb3JzLTkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZjY2NjOyAvKiBST0JJTlNfRUdHX0JMVUUgKi9cbn1cblxuLyoqXG4gKiBVc2VyLXN1cHBsaWVkIHJlbmRlclRvIGVsZW1lbnQuXG4gKi9cbi5wbG90dGFibGUge1xuICBkaXNwbGF5OiBibG9jazsgLyogbXVzdCBiZSBibG9jayBlbGVtZW50cyBmb3Igd2lkdGgvaGVpZ2h0IGNhbGN1bGF0aW9ucyB0byB3b3JrIGluIEZpcmVmb3guICovXG4gIHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlRmlsbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKipcbiAgICogUHJlIDMuMCwgdXNlcnMgY291bGQgc2V0IHRoZSBkaW1lbnNpb24gb2YgdGhlIHJvb3QgZWxlbWVudCBpbiB0d28gd2F5czogZWl0aGVyIHVzaW5nIENTU1xuICAgKiAoaW5saW5lIG9yIHRocm91Z2ggYSBzdHlsZXNoZWV0KSwgb3IgdXNpbmcgdGhlIFNWRyB3aWR0aC9oZWlnaHQgYXR0cmlidXRlcy4gQnkgZGVmYXVsdCwgd2VcbiAgICogc2V0IHRoZSBTVkcgd2lkdGgvaGVpZ2h0IGF0dHJpYnV0ZXMgdG8gMTAwJS5cbiAgICpcbiAgICogUG9zdCAzLjAgdGhlIHJvb3QgZWxlbWVudCBpcyBhbHdheXMgYSBub3JtYWwgZGl2IGFuZCB0aGUgb25seSB3YXkgdG8gc2V0IHRoZSBkaW1lbnNpb25zIGlzXG4gICAqIHRvIHVzZSBDU1MuIFRvIHJlcGxpY2F0ZSB0aGUgXCIxMDAlLWJ5LWRlZmF1bHRcIiBiZWhhdmlvciwgd2UgYXBwbHkgd2lkdGgvaGVpZ2h0IDEwMCUuXG4gICAqL1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKipcbiAqIFRoZSBfZWxlbWVudCB0aGF0IHJvb3RzIGVhY2ggQ29tcG9uZW50J3MgRE9NLlxuICovXG4ucGxvdHRhYmxlIC5jb21wb25lbnQge1xuICAvKiBBbGxvdyBjb21wb25lbnRzIHRvIGJlIHBvc2l0aW9uZWQgd2l0aCBleHBsaWNpdCBsZWZ0L3RvcC93aWR0aC9oZWlnaHQgc3R5bGVzICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnBsb3R0YWJsZSAuYmFja2dyb3VuZC1jb250YWluZXIsXG4ucGxvdHRhYmxlIC5jb250ZW50LFxuLnBsb3R0YWJsZSAuZm9yZWdyb3VuZC1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qKlxuICogRG9uJ3QgYWxsb3cgc3ZnIGVsZW1lbnRzIGFib3ZlIHRoZSBjb250ZW50IHRvIHN0ZWFsIGV2ZW50c1xuICovXG4ucGxvdHRhYmxlIC5mb3JlZ3JvdW5kLWNvbnRhaW5lciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucGxvdHRhYmxlIC5jb21wb25lbnQtb3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBsb3R0YWJsZSAuY29tcG9uZW50LW92ZXJmbG93LXZpc2libGUge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnBsb3R0YWJsZSAucGxvdC1jYW52YXMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBsb3R0YWJsZSAucGxvdC1jYW52YXMge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKipcbiAgICogUGxheSB3ZWxsIHdpdGggZGVmZXJyZWQgcmVuZGVyaW5nLlxuICAgKi9cbiAgdHJhbnNmb3JtLW9yaWdpbjogMHB4IDBweCAwcHg7XG59XG5cbi5wbG90dGFibGUgdGV4dCB7XG4gIHRleHQtcmVuZGVyaW5nOiBnZW9tZXRyaWNQcmVjaXNpb247XG59XG5cbi5wbG90dGFibGUgLmxhYmVsIHRleHQge1xuICBmaWxsOiAjMzIzMTNGO1xufVxuXG4ucGxvdHRhYmxlIC5iYXItbGFiZWwtdGV4dC1hcmVhIHRleHQsXG4ucGxvdHRhYmxlIC5zY2F0dGVyLWxhYmVsLXRleHQtYXJlYSB0ZXh0IHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucGxvdHRhYmxlIC5sYWJlbC1hcmVhIHRleHQge1xuICBmaWxsOiAjMzIzMTNGO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5wbG90dGFibGUgLmxpZ2h0LWxhYmVsIHRleHQge1xuICBmaWxsOiB3aGl0ZTtcbn1cblxuLnBsb3R0YWJsZSAuZGFyay1sYWJlbCB0ZXh0IHtcbiAgZmlsbDogIzMyMzEzRjtcbn1cblxuLnBsb3R0YWJsZSAub2ZmLWJhci1sYWJlbCB0ZXh0IHtcbiAgZmlsbDogIzMyMzEzRjtcbn1cblxuLnBsb3R0YWJsZSAuc3RhY2tlZC1iYXItbGFiZWwgdGV4dCB7XG4gIGZpbGw6ICMzMjMxM0Y7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLnBsb3R0YWJsZSAuc3RhY2tlZC1iYXItcGxvdCAub2ZmLWJhci1sYWJlbCB7XG4gIC8qIEhBQ0tIQUNLICMyNzk1OiBjb3JyZWN0IG9mZi1iYXIgbGFiZWwgbG9naWMgdG8gYmUgaW1wbGVtZW50ZWQgb24gU3RhY2tlZEJhciAqL1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLnBsb3R0YWJsZSAuYXhpcy1sYWJlbCB0ZXh0IHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnBsb3R0YWJsZSAudGl0bGUtbGFiZWwgdGV4dCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5wbG90dGFibGUgLmF4aXMgbGluZS5iYXNlbGluZSB7XG4gIHN0cm9rZTogI0NDQztcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG59XG5cbi5wbG90dGFibGUgLmF4aXMgbGluZS50aWNrLW1hcmsge1xuICBzdHJva2U6ICNDQ0M7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xufVxuXG4ucGxvdHRhYmxlIC5heGlzIHRleHQge1xuICBmaWxsOiAjMzIzMTNGO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi5wbG90dGFibGUgLmF4aXMgLmFubm90YXRpb24tY2lyY2xlIHtcbiAgZmlsbDogd2hpdGU7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xuICBzdHJva2U6ICNDQ0M7XG59XG5cbi5wbG90dGFibGUgLmF4aXMgLmFubm90YXRpb24tbGluZSB7XG4gIHN0cm9rZTogI0NDQztcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG59XG5cbi5wbG90dGFibGUgLmF4aXMgLmFubm90YXRpb24tcmVjdCB7XG4gIHN0cm9rZTogI0NDQztcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG4gIGZpbGw6IHdoaXRlO1xufVxuXG4ucGxvdHRhYmxlIC5iYXItcGxvdCAuYmFzZWxpbmUge1xuICBzdHJva2U6ICM5OTk7XG59XG5cbi5wbG90dGFibGUgLmdyaWRsaW5lcyBsaW5lIHtcbiAgc3Ryb2tlOiAjM0MzQzNDOyAvKiBoYWNraGFjazogZ3JpZGxpbmVzIHNob3VsZCBiZSBzb2xpZDsgc2VlICM4MjAgKi9cbiAgb3BhY2l0eTogMC4yNTtcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG59XG5cbi5wbG90dGFibGUgLnNlbGVjdGlvbi1ib3gtbGF5ZXIgLnNlbGVjdGlvbi1hcmVhIHtcbiAgZmlsbDogYmxhY2s7XG4gIGZpbGwtb3BhY2l0eTogMC4wMztcbiAgc3Ryb2tlOiAjQ0NDO1xufVxuLyogRHJhZ0JveExheWVyICovXG4ucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci54LXJlc2l6YWJsZSAuZHJhZy1lZGdlLWxyIHtcbiAgY3Vyc29yOiBldy1yZXNpemU7XG59XG4ucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci55LXJlc2l6YWJsZSAuZHJhZy1lZGdlLXRiIHtcbiAgY3Vyc29yOiBucy1yZXNpemU7XG59XG5cbi5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLngtcmVzaXphYmxlLnktcmVzaXphYmxlIC5kcmFnLWNvcm5lci10bCB7XG4gIGN1cnNvcjogbndzZS1yZXNpemU7XG59XG4ucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci54LXJlc2l6YWJsZS55LXJlc2l6YWJsZSAuZHJhZy1jb3JuZXItdHIge1xuICBjdXJzb3I6IG5lc3ctcmVzaXplO1xufVxuLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIueC1yZXNpemFibGUueS1yZXNpemFibGUgLmRyYWctY29ybmVyLWJsIHtcbiAgY3Vyc29yOiBuZXN3LXJlc2l6ZTtcbn1cbi5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLngtcmVzaXphYmxlLnktcmVzaXphYmxlIC5kcmFnLWNvcm5lci1iciB7XG4gIGN1cnNvcjogbndzZS1yZXNpemU7XG59XG5cbi5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLm1vdmFibGUgLnNlbGVjdGlvbi1hcmVhIHtcbiAgY3Vyc29yOiBtb3ZlOyAvKiBJRSBmYWxsYmFjayAqL1xuICBjdXJzb3I6IC1tb3otZ3JhYjtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIubW92YWJsZSAuc2VsZWN0aW9uLWFyZWE6YWN0aXZlIHtcbiAgY3Vyc29yOiAtbW96LWdyYWJiaW5nO1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG4vKiAvRHJhZ0JveExheWVyICovXG5cbi5wbG90dGFibGUgLmd1aWRlLWxpbmUtbGF5ZXIgbGluZS5ndWlkZS1saW5lIHtcbiAgc3Ryb2tlOiAjQ0NDO1xuICBzdHJva2Utd2lkdGg6IDFweDtcbn1cblxuLnBsb3R0YWJsZSAuZHJhZy1saW5lLWxheWVyLmVuYWJsZWQudmVydGljYWwgbGluZS5kcmFnLWVkZ2Uge1xuICBjdXJzb3I6IGV3LXJlc2l6ZTtcbn1cblxuLnBsb3R0YWJsZSAuZHJhZy1saW5lLWxheWVyLmVuYWJsZWQuaG9yaXpvbnRhbCBsaW5lLmRyYWctZWRnZSB7XG4gIGN1cnNvcjogbnMtcmVzaXplO1xufVxuXG4ucGxvdHRhYmxlIC5sZWdlbmQgdGV4dCB7XG4gIGZpbGw6ICMzMjMxM0Y7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi5wbG90dGFibGUgLmludGVycG9sYXRlZC1jb2xvci1sZWdlbmQgcmVjdC5zd2F0Y2gtYm91bmRpbmctYm94IHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlOiAjQ0NDO1xuICBzdHJva2Utd2lkdGg6IDFweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wbG90dGFibGUgLndhdGVyZmFsbC1wbG90IGxpbmUuY29ubmVjdG9yIHtcbiAgc3Ryb2tlOiAjQ0NDO1xuICBzdHJva2Utd2lkdGg6IDFweDtcbn1cblxuLnBsb3R0YWJsZSAucGllLXBsb3QgLmFyYy5vdXRsaW5lIHtcbiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbn1cblxuIn0pLChmdW5jdGlvbih0KXt0LkdST1VQPSJHIix0LkRJVj0iRElWIix0LlNWRz0iU1ZHIix0LlRFWFQ9IlRFWFQifSkoY0F0fHwoY0F0PXt9KSk7Y2xhc3MgdUF0IGV4dGVuZHMgY2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy51bmlxdWVJZD0wLHRoaXMucm9vdD10fWV4cG9ydEFzU3RyaW5nKCl7Y29uc3QgdD10aGlzLmNvbnZlcnQodGhpcy5yb290KTtpZighdClyZXR1cm4iIjtjb25zdCBlPXRoaXMuY3JlYXRlUm9vdFN2ZygpO3JldHVybiBlLmFwcGVuZENoaWxkKHQpLGUub3V0ZXJIVE1MfWNyZWF0ZVVuaXF1ZUlkKHQpe3JldHVybmAke3R9XyR7dGhpcy51bmlxdWVJZCsrfWB9Z2V0U2l6ZSgpe3JldHVybiB0aGlzLnJvb3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y3JlYXRlUm9vdFN2Zygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3ZnIiksZT10aGlzLmdldFNpemUoKTtyZXR1cm4gdC5zZXRBdHRyaWJ1dGVOUygic3ZnIiwidmlld0JveCIsYDAgMCAke2Uud2lkdGh9ICR7ZS5oZWlnaHR9YCksdC5zZXRBdHRyaWJ1dGUoInhtbG5zIiwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKSx0fWNvbnZlcnQodCl7bGV0IGU9bnVsbDtjb25zdCBuPXQubm9kZU5hbWUudG9VcHBlckNhc2UoKTtpZih0Lm5vZGVUeXBlIT1Ob2RlLkVMRU1FTlRfTk9ERXx8biE9Y0F0LkRJViYmbiE9Y0F0LlNWRyllPXQuY2xvbmVOb2RlKCk7ZWxzZXtlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoY0F0LkdST1VQKTtjb25zdCBuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLGk9cGFyc2VJbnQobi5sZWZ0LDEwKSxyPXBhcnNlSW50KG4udG9wLDEwKTtpZihpfHxyKXtjb25zdCB0PXRoaXMuY3JlYXRlVW5pcXVlSWQoImNsaXAiKTtlLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIixgdHJhbnNsYXRlKCR7aX0sICR7cn0pYCksZS5zZXRBdHRyaWJ1dGUoImNsaXAtcGF0aCIsYHVybCgjJHt0fSlgKTtjb25zdCBvPXBhcnNlSW50KG4ud2lkdGgsMTApLGE9cGFyc2VJbnQobi5oZWlnaHQsMTApLHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicmVjdCIpO3Muc2V0QXR0cmlidXRlKCJ3aWR0aCIsU3RyaW5nKG8pKSxzLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IixTdHJpbmcoYSkpO2NvbnN0IGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJzdmciLCJjbGlwUGF0aCIpO2wuaWQ9dCxsLmFwcGVuZENoaWxkKHMpLGUuYXBwZW5kQ2hpbGQobCl9fUFycmF5LmZyb20odC5jaGlsZE5vZGVzKS5tYXAoKHQ9PnRoaXMuY29udmVydCh0KSkpLmZpbHRlcihCb29sZWFuKS5mb3JFYWNoKCh0PT5lLmFwcGVuZENoaWxkKHQpKSk7cmV0dXJuIGUubm9kZU5hbWUudG9VcHBlckNhc2UoKT09Y0F0LkdST1VQJiYhZS5oYXNDaGlsZE5vZGVzKCl8fHRoaXMuc2hvdWxkT21pdE5vZGUodCk/bnVsbDp0aGlzLnN0cmlwQ2xhc3ModGhpcy50cmFuc2ZlclN0eWxlKHQsZSkpfXN0cmlwQ2xhc3ModCl7cmV0dXJuIHQubm9kZVR5cGU9PU5vZGUuRUxFTUVOVF9OT0RFJiZ0LnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKSx0fXRyYW5zZmVyU3R5bGUodCxlKXtpZihlLm5vZGVUeXBlIT1Ob2RlLkVMRU1FTlRfTk9ERSlyZXR1cm4gZTtjb25zdCBuPWUsaT1lLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCkscj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KTtyZXR1cm4gaT09Y0F0LlRFWFQmJk9iamVjdC5hc3NpZ24obi5zdHlsZSx7Zm9udEZhbWlseTpyLmZvbnRGYW1pbHksZm9udFNpemU6ci5mb250U2l6ZSxmb250V2VpZ2h0OnIuZm9udFdlaWdodH0pLGkhPWNBdC5HUk9VUCYmKG4uc2V0QXR0cmlidXRlKCJmaWxsIixyLmZpbGwpLG4uc2V0QXR0cmlidXRlKCJzdHJva2UiLHIuc3Ryb2tlKSxuLnNldEF0dHJpYnV0ZSgic3Ryb2tlLXdpZHRoIixyLnN0cm9rZVdpZHRoKSksIjEiIT1yLm9wYWNpdHkmJm4uc2V0QXR0cmlidXRlKCJvcGFjaXR5IixyLm9wYWNpdHkpLGV9c2hvdWxkT21pdE5vZGUodCl7cmV0dXJuITF9fXtzaG91bGRPbWl0Tm9kZSh0KXtyZXR1cm4gdC5ub2RlVHlwZT09Tm9kZS5FTEVNRU5UX05PREUmJnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJzY2F0dGVyLXBsb3QiKX19bWwoe21vZHVsZU5hbWU6InZ6LXBhbi16b29tLXN0eWxlIixzdHlsZUNvbnRlbnQ6IlxuICAgIC5oZWxwIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlLW91dDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAuaGVscCA+IHNwYW4ge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGZhZGUtb3V0IHtcbiAgICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICAifSk7Y29uc3QgaEF0PVNDdCg0KSxkQXQ9dD0+aXNOYU4odCk/Ik5hTiI6aEF0KHQpLHBBdD1be3RpdGxlOiJOYW1lIixldmFsdWF0ZTp0PT50LmRhdGFzZXQubWV0YWRhdGEoKS5uYW1lfSx7dGl0bGU6IlNtb290aGVkIixldmFsdWF0ZSh0LGUpe2NvbnN0e3Ntb290aGluZ0VuYWJsZWQ6bn09ZTtyZXR1cm4gZEF0KG4/dC5kYXR1bS5zbW9vdGhlZDp0LmRhdHVtLnNjYWxhcil9fSx7dGl0bGU6IlZhbHVlIixldmFsdWF0ZTp0PT5kQXQodC5kYXR1bS5zY2FsYXIpfSx7dGl0bGU6IlN0ZXAiLGV2YWx1YXRlOnQ9Pk1DdCh0LmRhdHVtLnN0ZXApfSx7dGl0bGU6IlRpbWUiLGV2YWx1YXRlOnQ9PlRDdCh0LmRhdHVtLndhbGxfdGltZSl9LHt0aXRsZToiUmVsYXRpdmUiLGV2YWx1YXRlOnQ9PkFDdChDQ3QodC5kYXR1bSwwLHQuZGF0YXNldCkpfV07bGV0IGZBdD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuY29sb3JTY2FsZT0obmV3IE5PLlNjYWxlcy5Db2xvcikucmFuZ2UoakEuc2xpY2UoMCkpLHRoaXMuc21vb3RoaW5nRW5hYmxlZD0hMSx0aGlzLnNtb290aGluZ1dlaWdodD0uNix0aGlzLnhUeXBlPW51bGwsdGhpcy54Q29tcG9uZW50c0NyZWF0aW9uTWV0aG9kPW51bGwsdGhpcy55VmFsdWVBY2Nlc3Nvcj10PT50LnNjYWxhcix0aGlzLnRvb2x0aXBDb2x1bW5zPXBBdCx0aGlzLnlTY2FsZVR5cGU9YUF0LkxJTkVBUix0aGlzLmlnbm9yZVlPdXRsaWVycz0hMSx0aGlzLnRvb2x0aXBTb3J0aW5nTWV0aG9kPSJkZWZhdWx0Iix0aGlzLnRvb2x0aXBQb3NpdGlvbj16Q3QuQk9UVE9NLHRoaXMuX3Zpc2libGVTZXJpZXNDYWNoZT1bXSx0aGlzLl9zZXJpZXNEYXRhQ2FjaGU9e30sdGhpcy5fc2VyaWVzTWV0YWRhdGFDYWNoZT17fSx0aGlzLl9tYWtlQ2hhcnRBc3luY0NhbGxiYWNrSWQ9bnVsbH1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLmNoYXJ0ZGl2LCEwKX1hdHRhY2hlZCgpe2NvbnN0IHQ9e2NhcHR1cmU6ITAscGFzc2l2ZTohMH07dGhpcy5fbGlzdGVuKHRoaXMsIm1vdXNlZG93biIsdGhpcy5fb25Nb3VzZURvd24uYmluZCh0aGlzKSx0KSx0aGlzLl9saXN0ZW4odGhpcywibW91c2V1cCIsdGhpcy5fb25Nb3VzZVVwLmJpbmQodGhpcyksdCksdGhpcy5fbGlzdGVuKHdpbmRvdywia2V5ZG93biIsdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyksdCksdGhpcy5fbGlzdGVuKHdpbmRvdywia2V5dXAiLHRoaXMuX29uS2V5VXAuYmluZCh0aGlzKSx0KX1kZXRhY2hlZCgpe3RoaXMuY2FuY2VsQXN5bmModGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkKSx0aGlzLl9jaGFydCYmKHRoaXMuX2NoYXJ0LmRlc3Ryb3koKSx0aGlzLl9jaGFydD12b2lkIDApLHRoaXMuX2xpc3RlbmVycyYmKHRoaXMuX2xpc3RlbmVycy5mb3JFYWNoKCgoe25vZGU6dCxldmVudE5hbWU6ZSxmdW5jOm4sb3B0aW9uOml9KT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4saSl9KSksdGhpcy5fbGlzdGVuZXJzLmNsZWFyKCkpfV9saXN0ZW4odCxlLG4saT17fSl7dGhpcy5fbGlzdGVuZXJzfHwodGhpcy5fbGlzdGVuZXJzPW5ldyBTZXQpLHRoaXMuX2xpc3RlbmVycy5hZGQoe25vZGU6dCxldmVudE5hbWU6ZSxmdW5jOm4sb3B0aW9uOml9KSx0LmFkZEV2ZW50TGlzdGVuZXIoZSxuLGkpfV9vbktleURvd24odCl7dGhpcy50b2dnbGVDbGFzcygicGFua2V5IixzQXQuaXNQYW5LZXkodCkpfV9vbktleVVwKHQpe3RoaXMudG9nZ2xlQ2xhc3MoInBhbmtleSIsc0F0LmlzUGFuS2V5KHQpKX1fb25Nb3VzZURvd24odCl7dGhpcy50b2dnbGVDbGFzcygibW91c2Vkb3duIiwhMCl9X29uTW91c2VVcCh0KXt0aGlzLnRvZ2dsZUNsYXNzKCJtb3VzZWRvd24iLCExKX1pc0RhdGFGaXRUb0RvbWFpbigpe3JldHVybiF0aGlzLl9jaGFydHx8dGhpcy5fY2hhcnQuaXNEYXRhRml0VG9Eb21haW4oKX1zZXRWaXNpYmxlU2VyaWVzKHQpe0NlLmV4cG9ydHMuaXNFcXVhbCh0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUsdCl8fCh0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGU9dCl9c2V0U2VyaWVzRGF0YSh0LGUpe3RoaXMuX3Nlcmllc0RhdGFDYWNoZVt0XT1lLHRoaXMuX2NoYXJ0JiZ0aGlzLl9jaGFydC5zZXRTZXJpZXNEYXRhKHQsZSl9c2V0U2VyaWVzTWV0YWRhdGEodCxlKXt0aGlzLl9zZXJpZXNNZXRhZGF0YUNhY2hlW3RdPWUsdGhpcy5fY2hhcnQmJnRoaXMuX2NoYXJ0LnNldFNlcmllc01ldGFkYXRhKHQsZSl9Y29tbWl0Q2hhbmdlcygpe3RoaXMuX2NoYXJ0JiZ0aGlzLl9jaGFydC5jb21taXRDaGFuZ2VzKCl9cmVzZXREb21haW4oKXt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQucmVzZXREb21haW4oKX1yZWRyYXcoKXt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQucmVkcmF3KCl9X21ha2VDaGFydCgpe251bGwhPT10aGlzLl9tYWtlQ2hhcnRBc3luY0NhbGxiYWNrSWQmJih0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZCksdGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPW51bGwpLHRoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZD10aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZD1udWxsO2xldCB0PXRoaXMueENvbXBvbmVudHNDcmVhdGlvbk1ldGhvZDtpZih0aGlzLnhUeXBlfHx0P3RoaXMueFR5cGUmJih0PSgpPT5rQ3QodGhpcy54VHlwZSkpOnQ9RUN0LHQmJnRoaXMueVZhbHVlQWNjZXNzb3ImJnRoaXMudG9vbHRpcENvbHVtbnMpe3ZhciBlPW5ldyBsQXQodCx0aGlzLnlWYWx1ZUFjY2Vzc29yLHRoaXMueVNjYWxlVHlwZSx0aGlzLmNvbG9yU2NhbGUsdGhpcy4kLnRvb2x0aXAsdGhpcy50b29sdGlwQ29sdW1ucyx0aGlzLmZpbGxBcmVhLHRoaXMuZGVmYXVsdFhSYW5nZSx0aGlzLmRlZmF1bHRZUmFuZ2UsdGhpcy5zeW1ib2xGdW5jdGlvbix0aGlzLnhBeGlzRm9ybWF0dGVyKSxuPUR1KHRoaXMuJC5jaGFydGRpdik7ZS5yZW5kZXJUbyhuKSx0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuZGVzdHJveSgpLHRoaXMuX2NoYXJ0PWUsdGhpcy5fY2hhcnQub25BbmNob3IoKCgpPT50aGlzLmZpcmUoImNoYXJ0LWF0dGFjaGVkIikpKX19KSwzNTApfV9yZWxvYWRGcm9tQ2FjaGUoKXt0aGlzLl9jaGFydCYmKHRoaXMuX3Zpc2libGVTZXJpZXNDYWNoZS5mb3JFYWNoKCh0PT57dGhpcy5fY2hhcnQuc2V0U2VyaWVzRGF0YSh0LHRoaXMuX3Nlcmllc0RhdGFDYWNoZVt0XXx8W10pfSkpLHRoaXMuX3Zpc2libGVTZXJpZXNDYWNoZS5maWx0ZXIoKHQ9PnRoaXMuX3Nlcmllc01ldGFkYXRhQ2FjaGVbdF0pKS5mb3JFYWNoKCh0PT57dGhpcy5fY2hhcnQuc2V0U2VyaWVzTWV0YWRhdGEodCx0aGlzLl9zZXJpZXNNZXRhZGF0YUNhY2hlW3RdKX0pKSx0aGlzLl9jaGFydC5zZXRWaXNpYmxlU2VyaWVzKHRoaXMuX3Zpc2libGVTZXJpZXNDYWNoZSksdGhpcy5fY2hhcnQuY29tbWl0Q2hhbmdlcygpKX1fc21vb3RoaW5nQ2hhbmdlZCgpe3RoaXMuX2NoYXJ0JiYodGhpcy5zbW9vdGhpbmdFbmFibGVkP3RoaXMuX2NoYXJ0LnNtb290aGluZ1VwZGF0ZSh0aGlzLnNtb290aGluZ1dlaWdodCk6dGhpcy5fY2hhcnQuc21vb3RoaW5nRGlzYWJsZSgpKX1fb3V0bGllcnNDaGFuZ2VkKCl7dGhpcy5fY2hhcnQmJnRoaXMuX2NoYXJ0Lmlnbm9yZVlPdXRsaWVycyh0aGlzLmlnbm9yZVlPdXRsaWVycyl9X2NvbG9yU2NhbGVDaGFuZ2VkKCl7dGhpcy5fY2hhcnQmJih0aGlzLl9jaGFydC5zZXRDb2xvclNjYWxlKHRoaXMuY29sb3JTY2FsZSksdGhpcy5fY2hhcnQucmVkcmF3KCkpfV90b29sdGlwQ29sdW1uc0NoYW5nZWQoKXt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuc2V0VG9vbHRpcENvbHVtbnModGhpcy50b29sdGlwQ29sdW1ucyl9X3Rvb2x0aXBTb3J0aW5nTWV0aG9kQ2hhbmdlZCgpe3RoaXMuX2NoYXJ0JiZ0aGlzLl9jaGFydC5zZXRUb29sdGlwU29ydGluZ01ldGhvZCh0aGlzLnRvb2x0aXBTb3J0aW5nTWV0aG9kKX1nZXRFeHBvcnRlcigpe3JldHVybiBuZXcgdUF0KHRoaXMuJC5jaGFydGRpdil9fTtmQXQudGVtcGxhdGU9eGVgCiAgICA8ZGl2IGlkPSJjaGFydGRpdiI+PC9kaXY+CiAgICA8dnotY2hhcnQtdG9vbHRpcAogICAgICBpZD0idG9vbHRpcCIKICAgICAgcG9zaXRpb249IltbdG9vbHRpcFBvc2l0aW9uXV0iCiAgICAgIGNvbnRlbnQtY29tcG9uZW50LW5hbWU9InZ6LWxpbmUtY2hhcnQtdG9vbHRpcCIKICAgID48L3Z6LWNoYXJ0LXRvb2x0aXA+CiAgICA8c3R5bGUgaW5jbHVkZT0icGxvdHRhYmxlLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlIGluY2x1ZGU9InZ6LXBhbi16b29tLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQogICAgICBkaXYgewogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgIH0KCiAgICAgICNjaGFydGRpdiAubWFpbiB7CiAgICAgICAgY29udGFpbjogc3RyaWN0OwogICAgICAgIGN1cnNvcjogY3Jvc3NoYWlyOwogICAgICB9CgogICAgICA6aG9zdCgucGFua2V5KSAjY2hhcnRkaXYgOm5vdCguZHJhZy16b29taW5nKSAubWFpbiB7CiAgICAgICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7CiAgICAgICAgY3Vyc29yOiBncmFiOwogICAgICB9CgogICAgICA6aG9zdCgubW91c2Vkb3duKSAjY2hhcnRkaXYgLnBhbm5pbmcgLm1haW4gewogICAgICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZzsKICAgICAgICBjdXJzb3I6IGdyYWJiaW5nOwogICAgICB9CgogICAgICAjY2hhcnRkaXYgewogICAgICAgIGNvbnRhaW46IHN0cmljdDsKICAgICAgfQoKICAgICAgI2NoYXJ0ZGl2IGxpbmUuZ3VpZGUtbGluZSB7CiAgICAgICAgc3Ryb2tlOiAjOTk5OwogICAgICAgIHN0cm9rZS13aWR0aDogMS41cHg7CiAgICAgIH0KICAgICAgI2NoYXJ0ZGl2OmhvdmVyIC5tYWluIHsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CgogICAgICAuZ2hvc3QgewogICAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgICBzdHJva2Utd2lkdGg6IDFweDsKICAgICAgfQoKICAgICAgLnBsb3R0YWJsZSAuYXhpcyB0ZXh0IHsKICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7CiAgICAgIH0KCiAgICAgIC5wbG90dGFibGUgLmdyaWRsaW5lcyBsaW5lIHsKICAgICAgICBzdHJva2U6IHZhcigtLXRiLXNlY29uZGFyeS10ZXh0LWNvbG9yKTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE5PLlNjYWxlcy5Db2xvcildLGZBdC5wcm90b3R5cGUsImNvbG9yU2NhbGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSxmQXQucHJvdG90eXBlLCJzeW1ib2xGdW5jdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxmQXQucHJvdG90eXBlLCJzbW9vdGhpbmdFbmFibGVkIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGZBdC5wcm90b3R5cGUsInNtb290aGluZ1dlaWdodCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxmQXQucHJvdG90eXBlLCJ4VHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLGZBdC5wcm90b3R5cGUsInhDb21wb25lbnRzQ3JlYXRpb25NZXRob2QiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSxmQXQucHJvdG90eXBlLCJ4QXhpc0Zvcm1hdHRlciIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLGZBdC5wcm90b3R5cGUsInlWYWx1ZUFjY2Vzc29yIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxmQXQucHJvdG90eXBlLCJ0b29sdGlwQ29sdW1ucyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxmQXQucHJvdG90eXBlLCJmaWxsQXJlYSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sZkF0LnByb3RvdHlwZSwiZGVmYXVsdFhSYW5nZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sZkF0LnByb3RvdHlwZSwiZGVmYXVsdFlSYW5nZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxmQXQucHJvdG90eXBlLCJ5U2NhbGVUeXBlIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sZkF0LnByb3RvdHlwZSwiaWdub3JlWU91dGxpZXJzIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGZBdC5wcm90b3R5cGUsInRvb2x0aXBTb3J0aW5nTWV0aG9kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGZBdC5wcm90b3R5cGUsInRvb2x0aXBQb3NpdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxmQXQucHJvdG90eXBlLCJfY2hhcnQiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLGZBdC5wcm90b3R5cGUsIl92aXNpYmxlU2VyaWVzQ2FjaGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZkF0LnByb3RvdHlwZSwiX3Nlcmllc0RhdGFDYWNoZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxmQXQucHJvdG90eXBlLCJfc2VyaWVzTWV0YWRhdGFDYWNoZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxmQXQucHJvdG90eXBlLCJfbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkIix2b2lkIDApLHQoW2EoInhDb21wb25lbnRzQ3JlYXRpb25NZXRob2QiLCJ4VHlwZSIsInlWYWx1ZUFjY2Vzc29yIiwieVNjYWxlVHlwZSIsImlzQXR0YWNoZWQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGZBdC5wcm90b3R5cGUsIl9tYWtlQ2hhcnQiLG51bGwpLHQoW2EoIl9jaGFydCIsIl92aXNpYmxlU2VyaWVzQ2FjaGUiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGZBdC5wcm90b3R5cGUsIl9yZWxvYWRGcm9tQ2FjaGUiLG51bGwpLHQoW2EoInNtb290aGluZ0VuYWJsZWQiLCJzbW9vdGhpbmdXZWlnaHQiLCJfY2hhcnQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGZBdC5wcm90b3R5cGUsIl9zbW9vdGhpbmdDaGFuZ2VkIixudWxsKSx0KFthKCJpZ25vcmVZT3V0bGllcnMiLCJfY2hhcnQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGZBdC5wcm90b3R5cGUsIl9vdXRsaWVyc0NoYW5nZWQiLG51bGwpLHQoW2EoImNvbG9yU2NhbGUiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGZBdC5wcm90b3R5cGUsIl9jb2xvclNjYWxlQ2hhbmdlZCIsbnVsbCksdChbYSgidG9vbHRpcENvbHVtbnMiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGZBdC5wcm90b3R5cGUsIl90b29sdGlwQ29sdW1uc0NoYW5nZWQiLG51bGwpLHQoW2EoInRvb2x0aXBTb3J0aW5nTWV0aG9kIiwiX2NoYXJ0IiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxmQXQucHJvdG90eXBlLCJfdG9vbHRpcFNvcnRpbmdNZXRob2RDaGFuZ2VkIixudWxsKSxmQXQ9dChbaSgidnotbGluZS1jaGFydDIiKV0sZkF0KTtsZXQgbUF0PWNsYXNzIGV4dGVuZHMgd2V7fTttQXQudGVtcGxhdGU9eGVgCiAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgPHRhYmxlPgogICAgICAgIDx0aGVhZD48L3RoZWFkPgogICAgICAgIDx0Ym9keT48L3Rib2R5PgogICAgICA8L3RhYmxlPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgdGFibGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07CiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgIH0KCiAgICAgIHRoZWFkIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIHRib2R5IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgdGQgewogICAgICAgIHBhZGRpbmc6IDAgNXB4OwogICAgICB9CgogICAgICAuc3dhdGNoIHsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIHdpZHRoOiAxOHB4OwogICAgICB9CgogICAgICAuY2xvc2VzdCAuc3dhdGNoIHsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggI2ZmZjsKICAgICAgfQoKICAgICAgdGggewogICAgICAgIHBhZGRpbmc6IDAgNXB4OwogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgIH0KCiAgICAgIC5kaXN0YW50IHRkOm5vdCguc3dhdGNoKSB7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICB9CgogICAgICAuZ2hvc3QgewogICAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgICBzdHJva2Utd2lkdGg6IDFweDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLG1BdD10KFtpKCJ2ei1saW5lLWNoYXJ0LXRvb2x0aXAiKV0sbUF0KTtjb25zdCBnQXQ9W107Y29uc3QgX0F0PUNlLmV4cG9ydHMudGhyb3R0bGUoKGZ1bmN0aW9uIHQoKXtpZigwPT1nQXQubGVuZ3RoKXJldHVybjtjb25zdCBlPWdBdC5zaGlmdCgpO2UmJmUuYWN0aXZlJiYoZS5yZWRyYXcoKSxlLl9tYXliZVJlbmRlcmVkSW5CYWRTdGF0ZT0hMSksd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKDApLHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodCl9KSwxMDApO2xldCB5QXQ9Y2xhc3MgZXh0ZW5kcyhiQ3QoY3Iod2UpKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3JlZHJhd1JhZj1udWxsLHRoaXMuYWN0aXZlPSExLHRoaXMubG9nU2NhbGVBY3RpdmU9ITEsdGhpcy5jb2xvclNjYWxlPXtzY2FsZTpfT30sdGhpcy5fcmVzZXREb21haW5Pbk5leHRMb2FkPSEwLHRoaXMuX21heWJlUmVuZGVyZWRJbkJhZFN0YXRlPSExfW9uTG9hZEZpbmlzaCgpe3RoaXMuY29tbWl0Q2hhbmdlcygpLHRoaXMuZGF0YVRvTG9hZC5sZW5ndGg+MCYmdGhpcy5fcmVzZXREb21haW5Pbk5leHRMb2FkJiYodGhpcy5fcmVzZXREb21haW5Pbk5leHRMb2FkPSExLHRoaXMuZ2V0Q2hhcnQoKS5yZXNldERvbWFpbigpKSx0aGlzLnJlZHJhdygpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSxudWxsIT09dGhpcy5fcmVkcmF3UmFmJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yZWRyYXdSYWYpfWV4cG9ydEFzU3ZnU3RyaW5nKCl7cmV0dXJuIHRoaXMuZ2V0Q2hhcnQoKS5nZXRFeHBvcnRlcigpLmV4cG9ydEFzU3RyaW5nKCl9Z2V0Q2hhcnQoKXtyZXR1cm4gdGhpcy4kLmNoYXJ0fXJlc2V0RG9tYWluKCl7dGhpcy5nZXRDaGFydCgpLnJlc2V0RG9tYWluKCl9c2V0U2VyaWVzRGF0YSh0LGUpe3RoaXMuZ2V0Q2hhcnQoKS5zZXRTZXJpZXNEYXRhKHQsZSl9c2V0U2VyaWVzTWV0YWRhdGEodCxlKXt0aGlzLmdldENoYXJ0KCkuc2V0U2VyaWVzTWV0YWRhdGEodCxlKX1jb21taXRDaGFuZ2VzKCl7dGhpcy5nZXRDaGFydCgpLmNvbW1pdENoYW5nZXMoKX1yZWRyYXcoKXtudWxsIT09dGhpcy5fcmVkcmF3UmFmJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yZWRyYXdSYWYpLHRoaXMuX3JlZHJhd1JhZj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuYWN0aXZlP3RoaXMuZ2V0Q2hhcnQoKS5yZWRyYXcoKTp0aGlzLl9tYXliZVJlbmRlcmVkSW5CYWRTdGF0ZT0hMH0pKX1fbG9hZEtleUNoYW5nZWQoKXt0aGlzLnJlc2V0KCksdGhpcy5fcmVzZXREb21haW5Pbk5leHRMb2FkPSEwfV9kYXRhU2VyaWVzQ2hhbmdlZCgpe3RoaXMuZ2V0Q2hhcnQoKS5zZXRWaXNpYmxlU2VyaWVzKHRoaXMuZGF0YVNlcmllcyl9X2xvZ1NjYWxlQ2hhbmdlZCh0KXt0aGlzLmdldENoYXJ0KCkueVNjYWxlVHlwZT10P2FBdC5MT0c6YUF0LkxJTkVBUix0aGlzLnJlZHJhdygpfV9maXhCYWRTdGF0ZVdoZW5BY3RpdmUoKXt0aGlzLmFjdGl2ZSYmdGhpcy5fbWF5YmVSZW5kZXJlZEluQmFkU3RhdGUmJihnQXQucHVzaCh0aGlzKSxfQXQoKSl9X29uQ2hhcnRBdHRhY2hlZCgpe3RoaXMuYWN0aXZlfHwodGhpcy5fbWF5YmVSZW5kZXJlZEluQmFkU3RhdGU9ITApfX07eUF0LnRlbXBsYXRlPXhlYAogICAgPGRpdiBpZD0iY2hhcnQtYW5kLXNwaW5uZXItY29udGFpbmVyIj4KICAgICAgPHZ6LWxpbmUtY2hhcnQyCiAgICAgICAgaWQ9ImNoYXJ0IgogICAgICAgIGRhdGEtbG9hZGluZyQ9IltbZGF0YUxvYWRpbmddXSIKICAgICAgICBkYXRhLWxvYWRlZC1vbmNlJD0iW1tkYXRhTG9hZGVkQXRMZWFzdE9uY2VdXSIKICAgICAgICBjb2xvci1zY2FsZT0iW1tjb2xvclNjYWxlXV0iCiAgICAgICAgZGVmYXVsdC14LXJhbmdlPSJbW2RlZmF1bHRYUmFuZ2VdXSIKICAgICAgICBkZWZhdWx0LXktcmFuZ2U9IltbZGVmYXVsdFlSYW5nZV1dIgogICAgICAgIGZpbGwtYXJlYT0iW1tmaWxsQXJlYV1dIgogICAgICAgIGlnbm9yZS15LW91dGxpZXJzPSJbW2lnbm9yZVlPdXRsaWVyc11dIgogICAgICAgIG9uLWNoYXJ0LWF0dGFjaGVkPSJfb25DaGFydEF0dGFjaGVkIgogICAgICAgIHNtb290aGluZy1lbmFibGVkPSJbW3Ntb290aGluZ0VuYWJsZWRdXSIKICAgICAgICBzbW9vdGhpbmctd2VpZ2h0PSJbW3Ntb290aGluZ1dlaWdodF1dIgogICAgICAgIHN5bWJvbC1mdW5jdGlvbj0iW1tzeW1ib2xGdW5jdGlvbl1dIgogICAgICAgIHRvb2x0aXAtY29sdW1ucz0iW1t0b29sdGlwQ29sdW1uc11dIgogICAgICAgIHRvb2x0aXAtcG9zaXRpb249IltbdG9vbHRpcFBvc2l0aW9uXV0iCiAgICAgICAgdG9vbHRpcC1zb3J0aW5nLW1ldGhvZD0iW1t0b29sdGlwU29ydGluZ01ldGhvZF1dIgogICAgICAgIHgtY29tcG9uZW50cy1jcmVhdGlvbi1tZXRob2Q9IltbeENvbXBvbmVudHNDcmVhdGlvbk1ldGhvZF1dIgogICAgICAgIHgtdHlwZT0iW1t4VHlwZV1dIgogICAgICAgIHktdmFsdWUtYWNjZXNzb3I9IltbeVZhbHVlQWNjZXNzb3JdXSIKICAgICAgPjwvdnotbGluZS1jaGFydDI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tkYXRhTG9hZGluZ11dIj4KICAgICAgICA8ZGl2IGlkPSJsb2FkaW5nLXNwaW5uZXItY29udGFpbmVyIj4KICAgICAgICAgIDxwYXBlci1zcGlubmVyLWxpdGUgYWN0aXZlPSIiPjwvcGFwZXItc3Bpbm5lci1saXRlPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICA6aG9zdChbX21heWJlLXJlbmRlcmVkLWluLWJhZC1zdGF0ZV0pIHZ6LWxpbmUtY2hhcnQgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgI2NoYXJ0LWFuZC1zcGlubmVyLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAjbG9hZGluZy1zcGlubmVyLWNvbnRhaW5lciB7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgfQoKICAgICAgdnotbGluZS1jaGFydDIgewogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgdnotbGluZS1jaGFydDJbZGF0YS1sb2FkaW5nXSB7CiAgICAgICAgb3BhY2l0eTogMC4zOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfZml4QmFkU3RhdGVXaGVuQWN0aXZlIn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0seUF0LnByb3RvdHlwZSwiYWN0aXZlIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSx5QXQucHJvdG90eXBlLCJkYXRhU2VyaWVzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0seUF0LnByb3RvdHlwZSwicmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfbG9nU2NhbGVDaGFuZ2VkIn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0seUF0LnByb3RvdHlwZSwibG9nU2NhbGVBY3RpdmUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0seUF0LnByb3RvdHlwZSwieENvbXBvbmVudHNDcmVhdGlvbk1ldGhvZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx5QXQucHJvdG90eXBlLCJ4VHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLHlBdC5wcm90b3R5cGUsInlWYWx1ZUFjY2Vzc29yIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHlBdC5wcm90b3R5cGUsImZpbGxBcmVhIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0seUF0LnByb3RvdHlwZSwic21vb3RoaW5nRW5hYmxlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSx5QXQucHJvdG90eXBlLCJzbW9vdGhpbmdXZWlnaHQiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLHlBdC5wcm90b3R5cGUsInRvb2x0aXBDb2x1bW5zIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHlBdC5wcm90b3R5cGUsInRvb2x0aXBTb3J0aW5nTWV0aG9kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHlBdC5wcm90b3R5cGUsInRvb2x0aXBQb3NpdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHlBdC5wcm90b3R5cGUsImlnbm9yZVlPdXRsaWVycyIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0seUF0LnByb3RvdHlwZSwiZGVmYXVsdFhSYW5nZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0seUF0LnByb3RvdHlwZSwiZGVmYXVsdFlSYW5nZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLHlBdC5wcm90b3R5cGUsInN5bWJvbEZ1bmN0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHlBdC5wcm90b3R5cGUsImNvbG9yU2NhbGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSx5QXQucHJvdG90eXBlLCJfcmVzZXREb21haW5Pbk5leHRMb2FkIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHlBdC5wcm90b3R5cGUsIl9tYXliZVJlbmRlcmVkSW5CYWRTdGF0ZSIsdm9pZCAwKSx0KFthKCJsb2FkS2V5IiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSx5QXQucHJvdG90eXBlLCJfbG9hZEtleUNoYW5nZWQiLG51bGwpLHQoW2EoImRhdGFTZXJpZXMuKiIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0seUF0LnByb3RvdHlwZSwiX2RhdGFTZXJpZXNDaGFuZ2VkIixudWxsKSx5QXQ9dChbaSgidGYtbGluZS1jaGFydC1kYXRhLWxvYWRlciIpXSx5QXQpLG1sKHttb2R1bGVOYW1lOiJ0Zi1jdXN0b20tc2NhbGFyLWNhcmQtc3R5bGUiLHN0eWxlQ29udGVudDoiXG4gICAgOmhvc3Qge1xuICAgICAgbWFyZ2luOiA1cHggMTBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAzMzBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICB9XG5cbiAgICA6aG9zdChbX2V4cGFuZGVkXSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgOmhvc3QoW19leHBhbmRlZF0pICN0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgI3RmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAjYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICBwYXBlci1pY29uLWJ1dHRvbiB7XG4gICAgICBjb2xvcjogIzIxOTZmMztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIHBhZGRpbmc6IDRweDtcbiAgICB9XG5cbiAgICBwYXBlci1pY29uLWJ1dHRvbltzZWxlY3RlZF0ge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTtcbiAgICB9XG5cbiAgICAuZG93bmxvYWQtbGlua3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICB9XG5cbiAgICAuZG93bmxvYWQtbGlua3MgYSB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDJweDtcbiAgICB9XG5cbiAgICAuZG93bmxvYWQtbGlua3MgcGFwZXItZHJvcGRvd24tbWVudSB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDoge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB9XG4gICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDoge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICAifSk7Y2xhc3MgdkF0e2NvbnN0cnVjdG9yKHQsZSxuLGkscil7dGhpcy5ydW49dCx0aGlzLnRhZz1lLHRoaXMubmFtZT1uLHRoaXMuc2NhbGFyRGF0YT1pLHRoaXMuc3ltYm9sPXJ9Z2V0TmFtZSgpe3JldHVybiB0aGlzLm5hbWV9c2V0RGF0YSh0KXt0aGlzLnNjYWxhckRhdGE9dH1nZXREYXRhKCl7cmV0dXJuIHRoaXMuc2NhbGFyRGF0YX1nZXRSdW4oKXtyZXR1cm4gdGhpcy5ydW59Z2V0VGFnKCl7cmV0dXJuIHRoaXMudGFnfWdldFN5bWJvbCgpe3JldHVybiB0aGlzLnN5bWJvbH19ZnVuY3Rpb24gYkF0KHQsZSl7cmV0dXJuYCR7ZX0gKCR7dH0pYH1jbGFzcyB4QXR7Y29uc3RydWN0b3IodCl7dGhpcy5ydW5CYXNlZENvbG9yU2NhbGU9dH1zY2FsZSh0KXtyZXR1cm4gdGhpcy5ydW5CYXNlZENvbG9yU2NhbGUuc2NhbGUodGhpcy5wYXJzZVJ1bk5hbWUodCkpfXBhcnNlUnVuTmFtZSh0KXtjb25zdCBlPXQubWF0Y2goL1woKC4qKVwpJC8pO3JldHVybiBlP2VbMV06IiJ9fWxldCB3QXQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmFjdGl2ZT0hMCx0aGlzLl9jb2xvclNjYWxlPW5ldyB4QXQoe3NjYWxlOl9PfSksdGhpcy5fbmFtZVRvRGF0YVNlcmllcz17fSx0aGlzLl9leHBhbmRlZD0hMSx0aGlzLl9yZXF1ZXN0RGF0YT0odCxlLG4pPT57Y29uc3QgaT1FcigpLnBsdWdpblJvdXRlKCJjdXN0b21fc2NhbGFycyIsIi9zY2FsYXJzIik7UHJvbWlzZS5hbGwodC5tYXAoKHQ9Pntjb25zdCBuPVBPKGkse3RhZzp0aGlzLl90YWdGaWx0ZXIscnVuOnR9KTtyZXR1cm4gdGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KG4pLnRoZW4oKG49PntlKHtpdGVtOnQsZGF0YTpufSl9KSl9KSkpLmZpbmFsbHkoKCgpPT57bigpfSkpfSx0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleD17fSx0aGlzLl9tYXRjaGVzTGlzdE9wZW5lZD0hMSx0aGlzLl9maWxsQXJlYT17bG93ZXJBY2Nlc3Nvcjp0PT50Lmxvd2VyLGhpZ2hlckFjY2Vzc29yOnQ9PnQudXBwZXJ9LHRoaXMuX3Rvb2x0aXBDb2x1bW5zPSgoKT0+e2NvbnN0IHQ9U0N0KDQpLGU9ZT0+aXNOYU4oZSk/Ik5hTiI6dChlKTtyZXR1cm5be3RpdGxlOiJOYW1lIixldmFsdWF0ZTp0PT50LmRhdGFzZXQubWV0YWRhdGEoKS5uYW1lfSx7dGl0bGU6IlZhbHVlIixldmFsdWF0ZTp0PT5lKHQuZGF0dW0uc2NhbGFyKX0se3RpdGxlOiJMb3dlciBNYXJnaW4iLGV2YWx1YXRlOnQ9PmUodC5kYXR1bS5sb3dlcil9LHt0aXRsZToiVXBwZXIgTWFyZ2luIixldmFsdWF0ZTp0PT5lKHQuZGF0dW0udXBwZXIpfSx7dGl0bGU6IlN0ZXAiLGV2YWx1YXRlOnQ9Pk1DdCh0LmRhdHVtLnN0ZXApfSx7dGl0bGU6IlRpbWUiLGV2YWx1YXRlOnQ9PlRDdCh0LmRhdHVtLndhbGxfdGltZSl9LHt0aXRsZToiUmVsYXRpdmUiLGV2YWx1YXRlOnQ9PkFDdChDQ3QodC5kYXR1bSwwLHQuZGF0YXNldCkpfV19KSgpLHRoaXMuX21pc3NpbmdUYWdzPVtdLHRoaXMuX21pc3NpbmdUYWdzQ29sbGFwc2libGVPcGVuZWQ9ITF9cmVsb2FkKCl7dGhpcy4kLmxvYWRlci5yZWxvYWQoKX1yZWRyYXcoKXt0aGlzLiQubG9hZGVyLnJlZHJhdygpfV90b2dnbGVFeHBhbmRlZCh0KXt0aGlzLnNldCgiX2V4cGFuZGVkIiwhdGhpcy5fZXhwYW5kZWQpLHRoaXMucmVkcmF3KCl9X3RvZ2dsZUxvZ1NjYWxlKCl7dGhpcy5zZXQoIl9sb2dTY2FsZUFjdGl2ZSIsIXRoaXMuX2xvZ1NjYWxlQWN0aXZlKX1fcmVzZXREb21haW4oKXtjb25zdCB0PXRoaXMuJC5sb2FkZXI7dCYmdC5yZXNldERvbWFpbigpfV9jc3ZVcmwodCxlKXtpZighZSlyZXR1cm4iIjtyZXR1cm4gUE8odGhpcy5fZG93bmxvYWREYXRhVXJsKHQsZSkse2Zvcm1hdDoiY3N2In0pfV9qc29uVXJsKHQsZSl7aWYoIWUpcmV0dXJuIiI7cmV0dXJuIFBPKHRoaXMuX2Rvd25sb2FkRGF0YVVybCh0LGUpLHtmb3JtYXQ6Impzb24ifSl9X2Rvd25sb2FkRGF0YVVybCh0LGUpe2NvbnN0IG49dFtlXSxpPXt0YWc6bi5nZXRUYWcoKSxydW46bi5nZXRSdW4oKX07cmV0dXJuIFBPKEVyKCkucGx1Z2luUm91dGUoImN1c3RvbV9zY2FsYXJzIiwiL2Rvd25sb2FkX2RhdGEiKSxpKX1fY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbih0KXtyZXR1cm4oZSxuLGkpPT57aWYoIWkucmVnZXhfdmFsaWQpcmV0dXJuIHZvaWQgdGhpcy5zZXQoIl90YWdGaWx0ZXJJbnZhbGlkIiwhMCk7Y29uc3Qgcj1DZS5leHBvcnRzLmNsb25lKHRoaXMuX25hbWVUb0RhdGFTZXJpZXMpLG89W107Q2UuZXhwb3J0cy5mb3JFYWNoKHQsKHQ9PntsZXQgZT0hMTtjb25zdCBhPWkudGFnX3RvX2V2ZW50c1t0LnZhbHVlXSxzPWkudGFnX3RvX2V2ZW50c1t0Lmxvd2VyXSxsPWkudGFnX3RvX2V2ZW50c1t0LnVwcGVyXTtpZihDZS5leHBvcnRzLmlzVW5kZWZpbmVkKGEpJiYoby5wdXNoKHQudmFsdWUpLGU9ITApLENlLmV4cG9ydHMuaXNVbmRlZmluZWQocykmJihvLnB1c2godC5sb3dlciksZT0hMCksQ2UuZXhwb3J0cy5pc1VuZGVmaW5lZChsKSYmKG8ucHVzaCh0LnVwcGVyKSxlPSEwKSxlKXJldHVybjtjb25zdCBjPXQ9PnRbMV0sdT10aGlzLl9maW5kU3RlcE1pc21hdGNoKHQsYS5tYXAoYykscy5tYXAoYyksbC5tYXAoYykpO2lmKHUpcmV0dXJuIHZvaWQgdGhpcy5zZXQoIl9zdGVwc01pc21hdGNoIix1KTtjb25zdCBoPXQ9PnRbMl0sZD1hLm1hcCgoKHQsZSk9Pih7d2FsbF90aW1lOm5ldyBEYXRlKDFlMyp0WzBdKSxzdGVwOmModCksc2NhbGFyOmgodCksbG93ZXI6aChzW2VdKSx1cHBlcjpoKGxbZV0pfSkpKSxwPWJBdChuLHQudmFsdWUpLGY9cltwXTtpZihmKWYuc2V0RGF0YShkKTtlbHNle2NvbnN0IGU9dGhpcy5fY3JlYXRlTmV3RGF0YVNlcmllcyhuLHQudmFsdWUscCxkKTtyW3BdPWV9fSkpLHRoaXMuc2V0KCJfbmFtZVRvRGF0YVNlcmllcyIscik7Y29uc3QgYT1DZS5leHBvcnRzLmZpbmRJbmRleCh0aGlzLl9taXNzaW5nVGFncywodD0+dC5ydW49PT1uKSk7aWYoby5sZW5ndGgmJjMhPW8ubGVuZ3RoKXtjb25zdCB0PXtydW46bix0YWdzOm99O2E+PTA/dGhpcy5zcGxpY2UoIl9taXNzaW5nVGFncyIsYSwxLHQpOnRoaXMucHVzaCgiX21pc3NpbmdUYWdzIix0KX1lbHNlIGE+PTAmJnRoaXMuc3BsaWNlKCJfbWlzc2luZ1RhZ3MiLGEsMSl9fV9maW5kU3RlcE1pc21hdGNoKHQsZSxuLGkpe3JldHVybiBDZS5leHBvcnRzLmlzRXF1YWwobixlKSYmQ2UuZXhwb3J0cy5pc0VxdWFsKGksZSk/bnVsbDp7c2VyaWVzT2JqZWN0OnQsdmFsdWVTdGVwczplLGxvd2VyU3RlcHM6bix1cHBlclN0ZXBzOml9fV9jcmVhdGVOZXdEYXRhU2VyaWVzKHQsZSxuLGkpe3RoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W3RdfD0wO2NvbnN0IHI9bmV3IHZBdCh0LGUsbixpLHhDdFt0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleFt0XV0pO3JldHVybiB0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleFt0XT0odGhpcy5fcnVuVG9OZXh0QXZhaWxhYmxlU3ltYm9sSW5kZXhbdF0rMSkleEN0Lmxlbmd0aCxyfV91cGRhdGVDaGFydCgpe0NlLmV4cG9ydHMuZm9yT3duKHRoaXMuX25hbWVUb0RhdGFTZXJpZXMsKHQ9Pnt0aGlzLiQubG9hZGVyLnNldFNlcmllc0RhdGEodC5nZXROYW1lKCksdC5nZXREYXRhKCkpfSkpLHRoaXMuJC5sb2FkZXIuY29tbWl0Q2hhbmdlcygpfWdldCBfc2VyaWVzTmFtZXMoKXtjb25zdCB0PW5ldyBTZXQodGhpcy5ydW5zKTtyZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy5fbmFtZVRvRGF0YVNlcmllcykuZmlsdGVyKCgoW2Usbl0pPT50LmhhcyhuLnJ1bikpKS5tYXAoKChbdF0pPT50KSl9X2RldGVybWluZUNvbG9yKHQsZSl7cmV0dXJuIHQuc2NhbGUoZSl9X3JlZnJlc2hEYXRhU2VyaWVzKCl7dGhpcy5zZXQoIl9uYW1lVG9EYXRhU2VyaWVzIix7fSl9X2NyZWF0ZVN5bWJvbEZ1bmN0aW9uKCl7cmV0dXJuIHQ9PnRoaXMuX25hbWVUb0RhdGFTZXJpZXNbdF0uZ2V0U3ltYm9sKCkubWV0aG9kKCl9X2RldGVybWluZVN5bWJvbCh0LGUpe3JldHVybiB0W2VdLmdldFN5bWJvbCgpLmNoYXJhY3Rlcn1nZXQgX3RhZ0ZpbHRlcigpe3JldHVybiBDZS5leHBvcnRzLmZsYXR0ZW4odGhpcy5tYXJnaW5DaGFydFNlcmllcy5tYXAoKHQ9Plt0LnZhbHVlLHQubG93ZXIsdC51cHBlcl0pKSkubWFwKCh0PT4iKCIrdGhpcy5fZXNjYXBlUmVnZXhDaGFyYWN0ZXJzKHQpKyIpIikpLmpvaW4oInwiKX1fZXNjYXBlUmVnZXhDaGFyYWN0ZXJzKHQpe3JldHVybiB0LnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLCJcXCQmIil9X2dldFRvZ2dsZUNvbGxhcHNpYmxlSWNvbih0KXtyZXR1cm4gdD8iZXhwYW5kLWxlc3MiOiJleHBhbmQtbW9yZSJ9X3RvZ2dsZU1hdGNoZXNPcGVuKCl7dGhpcy5zZXQoIl9tYXRjaGVzTGlzdE9wZW5lZCIsIXRoaXMuX21hdGNoZXNMaXN0T3BlbmVkKX1nZXQgX3RpdGxlRGlzcGxheVN0cmluZygpe3JldHVybiB0aGlzLnRpdGxlfHwidW50aXRsZWQifV9zZXBhcmF0ZVdpdGhDb21tYXModCl7cmV0dXJuIHQuam9pbigiLCAiKX1fdG9nZ2xlTWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW4oKXt0aGlzLnNldCgiX21pc3NpbmdUYWdzQ29sbGFwc2libGVPcGVuZWQiLCF0aGlzLl9taXNzaW5nVGFnc0NvbGxhcHNpYmxlT3BlbmVkKX1fbWF0Y2hMaXN0RW50cnlDb2xvclVwZGF0ZWQoKXtjb25zdCB0PXRoaXMuJCQoIiNtYXRjaC1saXN0LXJlcGVhdCIpO3QmJnRoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIubWF0Y2gtbGlzdC1lbnRyeSIpLmZvckVhY2goKGU9Pntjb25zdCBuPXQuaXRlbUZvckVsZW1lbnQoZSk7ZS5zdHlsZS5jb2xvcj10aGlzLl9kZXRlcm1pbmVDb2xvcih0aGlzLl9jb2xvclNjYWxlLG4pfSkpfX07d0F0LnRlbXBsYXRlPXhlYAogICAgPHRmLWNhcmQtaGVhZGluZyBkaXNwbGF5LW5hbWU9IltbX3RpdGxlRGlzcGxheVN0cmluZ11dIj48L3RmLWNhcmQtaGVhZGluZz4KICAgIDxkaXYgaWQ9InRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIj4KICAgICAgPHRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIKICAgICAgICBpZD0ibG9hZGVyIgogICAgICAgIGFjdGl2ZT0iW1thY3RpdmVdXSIKICAgICAgICBjb2xvci1zY2FsZT0iW1tfY29sb3JTY2FsZV1dIgogICAgICAgIGRhdGEtc2VyaWVzPSJbW19zZXJpZXNOYW1lc11dIgogICAgICAgIGZpbGwtYXJlYT0iW1tfZmlsbEFyZWFdXSIKICAgICAgICBpZ25vcmUteS1vdXRsaWVycz0iW1tpZ25vcmVZT3V0bGllcnNdXSIKICAgICAgICBsb2FkLWtleT0iW1tfdGFnRmlsdGVyXV0iCiAgICAgICAgZGF0YS10by1sb2FkPSJbW3J1bnNdXSIKICAgICAgICByZXF1ZXN0LWRhdGE9IltbX3JlcXVlc3REYXRhXV0iCiAgICAgICAgbG9nLXNjYWxlLWFjdGl2ZT0iW1tfbG9nU2NhbGVBY3RpdmVdXSIKICAgICAgICBsb2FkLWRhdGEtY2FsbGJhY2s9IltbX2NyZWF0ZVByb2Nlc3NEYXRhRnVuY3Rpb24obWFyZ2luQ2hhcnRTZXJpZXMpXV0iCiAgICAgICAgcmVxdWVzdC1tYW5hZ2VyPSJbW3JlcXVlc3RNYW5hZ2VyXV0iCiAgICAgICAgc3ltYm9sLWZ1bmN0aW9uPSJbW19jcmVhdGVTeW1ib2xGdW5jdGlvbigpXV0iCiAgICAgICAgdG9vbHRpcC1jb2x1bW5zPSJbW190b29sdGlwQ29sdW1uc11dIgogICAgICAgIHRvb2x0aXAtc29ydGluZy1tZXRob2Q9IltbdG9vbHRpcFNvcnRpbmdNZXRob2RdXSIKICAgICAgICB4LXR5cGU9IltbeFR5cGVdXSIKICAgICAgPgogICAgICA8L3RmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXI+CiAgICA8L2Rpdj4KICAgIDxkaXYgaWQ9ImJ1dHRvbnMiPgogICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICBzZWxlY3RlZCQ9IltbX2V4cGFuZGVkXV0iCiAgICAgICAgaWNvbj0iZnVsbHNjcmVlbiIKICAgICAgICBvbi10YXA9Il90b2dnbGVFeHBhbmRlZCIKICAgICAgPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgIHNlbGVjdGVkJD0iW1tfbG9nU2NhbGVBY3RpdmVdXSIKICAgICAgICBpY29uPSJsaW5lLXdlaWdodCIKICAgICAgICBvbi10YXA9Il90b2dnbGVMb2dTY2FsZSIKICAgICAgICB0aXRsZT0iVG9nZ2xlIHktYXhpcyBsb2cgc2NhbGUiCiAgICAgID48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICBpY29uPSJzZXR0aW5ncy1vdmVyc2NhbiIKICAgICAgICBvbi10YXA9Il9yZXNldERvbWFpbiIKICAgICAgICB0aXRsZT0iRml0IGRvbWFpbiB0byBkYXRhIgogICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPHNwYW4gc3R5bGU9ImZsZXgtZ3JvdzogMSI+PC9zcGFuPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Iltbc2hvd0Rvd25sb2FkTGlua3NdXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZG93bmxvYWQtbGlua3MiPgogICAgICAgICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUKICAgICAgICAgICAgbm8tbGFiZWwtZmxvYXQ9InRydWUiCiAgICAgICAgICAgIGxhYmVsPSJzZXJpZXMgdG8gZG93bmxvYWQiCiAgICAgICAgICAgIHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X2RhdGFTZXJpZXNOYW1lVG9Eb3dubG9hZH19IgogICAgICAgICAgPgogICAgICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2xvdD0iZHJvcGRvd24tY29udGVudCI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlCiAgICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICAgIGl0ZW1zPSJbW19zZXJpZXNOYW1lc11dIgogICAgICAgICAgICAgICAgYXM9ImRhdGFTZXJpZXNOYW1lIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIgogICAgICAgICAgICAgICAgICA+W1tkYXRhU2VyaWVzTmFtZV1dPC9wYXBlci1pdGVtCiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgICAgICAgPGEKICAgICAgICAgICAgZG93bmxvYWQ9IltbX2RhdGFTZXJpZXNOYW1lVG9Eb3dubG9hZF1dLmNzdiIKICAgICAgICAgICAgaHJlZj0iW1tfY3N2VXJsKF9uYW1lVG9EYXRhU2VyaWVzLCBfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkKV1dIgogICAgICAgICAgICA+Q1NWPC9hCiAgICAgICAgICA+CiAgICAgICAgICA8YQogICAgICAgICAgICBkb3dubG9hZD0iW1tfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkXV0uanNvbiIKICAgICAgICAgICAgaHJlZj0iW1tfanNvblVybChfbmFtZVRvRGF0YVNlcmllcywgX2RhdGFTZXJpZXNOYW1lVG9Eb3dubG9hZCldXSIKICAgICAgICAgICAgPkpTT048L2EKICAgICAgICAgID4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvZGl2PgoKICAgIDwhLS0gaGVyZSAtLT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfbWlzc2luZ1RhZ3MubGVuZ3RoXV0iPgogICAgICA8ZGl2IGNsYXNzPSJjb2xsYXBzaWJsZS1saXN0LXRpdGxlIj4KICAgICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICAgIGljb249IltbX2dldFRvZ2dsZUNvbGxhcHNpYmxlSWNvbihfbWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW5lZCldXSIKICAgICAgICAgIG9uLWNsaWNrPSJfdG9nZ2xlTWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW4iCiAgICAgICAgICBjbGFzcz0idG9nZ2xlLWNvbGxhcHNpYmxlLWJ1dHRvbiIKICAgICAgICA+CiAgICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICA8c3BhbiBjbGFzcz0iY29sbGFwc2libGUtdGl0bGUtdGV4dCI+CiAgICAgICAgICA8aXJvbi1pY29uIGljb249Imljb25zOmVycm9yIj48L2lyb24taWNvbj4gTWlzc2luZyBUYWdzCiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJbW19taXNzaW5nVGFnc0NvbGxhcHNpYmxlT3BlbmVkXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLWNvbnRlbnQiPgogICAgICAgICAgPGlyb24taWNvbiBjbGFzcz0iZXJyb3ItaWNvbiIgaWNvbj0iaWNvbnM6ZXJyb3IiPjwvaXJvbi1pY29uPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfbWlzc2luZ1RhZ3NdXSIgYXM9Im1pc3NpbmdFbnRyeSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pc3NpbmctdGFncy1mb3ItcnVuLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgUnVuICJbW21pc3NpbmdFbnRyeS5ydW5dXSIgbGFja3MgZGF0YSBmb3IgdGFncwogICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZQogICAgICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICAgICAgaXRlbXM9IltbbWlzc2luZ0VudHJ5LnRhZ3NdXSIKICAgICAgICAgICAgICAgICAgYXM9InRhZyIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgPGxpPltbdGFnXV08L2xpPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvaXJvbi1jb2xsYXBzZT4KICAgIDwvdGVtcGxhdGU+CgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW190YWdGaWx0ZXJJbnZhbGlkXV0iPgogICAgICA8ZGl2IGNsYXNzPSJlcnJvci1jb250ZW50Ij4KICAgICAgICA8aXJvbi1pY29uIGNsYXNzPSJlcnJvci1pY29uIiBpY29uPSJpY29uczplcnJvciI+PC9pcm9uLWljb24+CiAgICAgICAgVGhpcyByZWd1bGFyIGV4cHJlc2lvbiBpcyBpbnZhbGlkOjxiciAvPgogICAgICAgIDxzcGFuIGNsYXNzPSJpbnZhbGlkLXJlZ2V4Ij5bW190YWdGaWx0ZXJdXTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L3RlbXBsYXRlPgoKICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc3RlcHNNaXNtYXRjaF1dIj4KICAgICAgPGRpdiBjbGFzcz0iZXJyb3ItY29udGVudCI+CiAgICAgICAgPGlyb24taWNvbiBjbGFzcz0iZXJyb3ItaWNvbiIgaWNvbj0iaWNvbnM6ZXJyb3IiPjwvaXJvbi1pY29uPgogICAgICAgIFRoZSBzdGVwcyBmb3IgdmFsdWUsIGxvd2VyLCBhbmQgdXBwZXIgdGFncyBkbyBub3QgbWF0Y2g6CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFnLW5hbWUiPltbX3N0ZXBzTWlzbWF0Y2guc2VyaWVzT2JqZWN0LnZhbHVlXV08L3NwYW4+OgogICAgICAgICAgICBbW19zZXBhcmF0ZVdpdGhDb21tYXMoX3N0ZXBzTWlzbWF0Y2gudmFsdWVTdGVwcyldXQogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhZy1uYW1lIj5bW19zdGVwc01pc21hdGNoLnNlcmllc09iamVjdC5sb3dlcl1dPC9zcGFuPjoKICAgICAgICAgICAgW1tfc2VwYXJhdGVXaXRoQ29tbWFzKF9zdGVwc01pc21hdGNoLmxvd2VyU3RlcHMpXV0KICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWctbmFtZSI+W1tfc3RlcHNNaXNtYXRjaC5zZXJpZXNPYmplY3QudXBwZXJdXTwvc3Bhbj46CiAgICAgICAgICAgIFtbX3NlcGFyYXRlV2l0aENvbW1hcyhfc3RlcHNNaXNtYXRjaC51cHBlclN0ZXBzKV1dCiAgICAgICAgICA8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KCiAgICA8ZGl2IGlkPSJtYXRjaGVzLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbGxhcHNpYmxlLWxpc3QtdGl0bGUiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0iPgogICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgICAgIGljb249IltbX2dldFRvZ2dsZUNvbGxhcHNpYmxlSWNvbihfbWF0Y2hlc0xpc3RPcGVuZWQpXV0iCiAgICAgICAgICAgIG9uLWNsaWNrPSJfdG9nZ2xlTWF0Y2hlc09wZW4iCiAgICAgICAgICAgIGNsYXNzPSJ0b2dnbGUtbWF0Y2hlcy1idXR0b24iCiAgICAgICAgICA+CiAgICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgIDwvdGVtcGxhdGU+CgogICAgICAgIDxzcGFuIGNsYXNzPSJjb2xsYXBzaWJsZS10aXRsZS10ZXh0Ij4KICAgICAgICAgIE1hdGNoZXMgKFtbX3Nlcmllc05hbWVzLmxlbmd0aF1dKQogICAgICAgIDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0iPgogICAgICAgIDxpcm9uLWNvbGxhcHNlIG9wZW5lZD0iW1tfbWF0Y2hlc0xpc3RPcGVuZWRdXSI+CiAgICAgICAgICA8ZGl2IGlkPSJtYXRjaGVzLWxpc3QiPgogICAgICAgICAgICA8dGVtcGxhdGUKICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICBpdGVtcz0iW1tfc2VyaWVzTmFtZXNdXSIKICAgICAgICAgICAgICBhcz0ic2VyaWVzTmFtZSIKICAgICAgICAgICAgICBpZD0ibWF0Y2gtbGlzdC1yZXBlYXQiCiAgICAgICAgICAgICAgb24tZG9tLWNoYW5nZT0iX21hdGNoTGlzdEVudHJ5Q29sb3JVcGRhdGVkIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0Y2gtbGlzdC1lbnRyeSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWF0Y2gtZW50cnktc3ltYm9sIj4KICAgICAgICAgICAgICAgICAgW1tfZGV0ZXJtaW5lU3ltYm9sKF9uYW1lVG9EYXRhU2VyaWVzLCBzZXJpZXNOYW1lKV1dCiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICBbW3Nlcmllc05hbWVdXQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9pcm9uLWNvbGxhcHNlPgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CgogICAgPHN0eWxlIGluY2x1ZGU9InRmLWN1c3RvbS1zY2FsYXItY2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLmVycm9yLWNvbnRlbnQgewogICAgICAgIGJhY2tncm91bmQ6ICNmMDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIG1hcmdpbjogMTBweCAwIDAgMDsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICB9CgogICAgICAuZXJyb3ItaWNvbiB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZmlsbDogI2ZmZjsKICAgICAgICBtYXJnaW46IDAgYXV0byA1cHggYXV0bzsKICAgICAgfQoKICAgICAgLmludmFsaWQtcmVnZXggewogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CgogICAgICAuZXJyb3ItY29udGVudCB1bCB7CiAgICAgICAgbWFyZ2luOiAxcHggMCAwIDA7CiAgICAgICAgcGFkZGluZzogMCAwIDAgMTlweDsKICAgICAgfQoKICAgICAgLnRhZy1uYW1lIHsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQoKICAgICAgLmNvbGxhcHNpYmxlLWxpc3QtdGl0bGUgewogICAgICAgIG1hcmdpbjogMTBweCAwIDVweCAwOwogICAgICB9CgogICAgICAuY29sbGFwc2libGUtdGl0bGUtdGV4dCB7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgfQoKICAgICAgI21hdGNoZXMtbGlzdCB7CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQoKICAgICAgLm1hdGNoLWxpc3QtZW50cnkgewogICAgICAgIG1hcmdpbjogMCAwIDVweCAwOwogICAgICB9CgogICAgICAubWF0Y2gtZW50cnktc3ltYm9sIHsKICAgICAgICBmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiAxMHB4OwogICAgICB9CgogICAgICAubWlzc2luZy10YWdzLWZvci1ydW4tY29udGFpbmVyIHsKICAgICAgICBtYXJnaW46IDhweCAwIDAgMDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSx3QXQucHJvdG90eXBlLCJydW5zIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHdBdC5wcm90b3R5cGUsInhUeXBlIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sd0F0LnByb3RvdHlwZSwiYWN0aXZlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHdBdC5wcm90b3R5cGUsInRpdGxlIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSx3QXQucHJvdG90eXBlLCJtYXJnaW5DaGFydFNlcmllcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHdBdC5wcm90b3R5cGUsImlnbm9yZVlPdXRsaWVycyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixicildLHdBdC5wcm90b3R5cGUsInJlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sd0F0LnByb3RvdHlwZSwic2hvd0Rvd25sb2FkTGlua3MiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sd0F0LnByb3RvdHlwZSwidGFnTWV0YWRhdGEiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sd0F0LnByb3RvdHlwZSwidG9vbHRpcFNvcnRpbmdNZXRob2QiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sd0F0LnByb3RvdHlwZSwiX2NvbG9yU2NhbGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSx3QXQucHJvdG90eXBlLCJfdGFnRmlsdGVySW52YWxpZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx3QXQucHJvdG90eXBlLCJfbmFtZVRvRGF0YVNlcmllcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSx3QXQucHJvdG90eXBlLCJfZXhwYW5kZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSx3QXQucHJvdG90eXBlLCJfbG9nU2NhbGVBY3RpdmUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSx3QXQucHJvdG90eXBlLCJfcmVxdWVzdERhdGEiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sd0F0LnByb3RvdHlwZSwiX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sd0F0LnByb3RvdHlwZSwiX21hdGNoZXNMaXN0T3BlbmVkIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHdBdC5wcm90b3R5cGUsIl9maWxsQXJlYSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sd0F0LnByb3RvdHlwZSwiX3Rvb2x0aXBDb2x1bW5zIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSx3QXQucHJvdG90eXBlLCJfbWlzc2luZ1RhZ3MiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSx3QXQucHJvdG90eXBlLCJfbWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW5lZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx3QXQucHJvdG90eXBlLCJfc3RlcHNNaXNtYXRjaCIsdm9pZCAwKSx0KFthKCJfbmFtZVRvRGF0YVNlcmllcyIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sd0F0LnByb3RvdHlwZSwiX3VwZGF0ZUNoYXJ0IixudWxsKSx0KFtzKCJfbmFtZVRvRGF0YVNlcmllcyIsInJ1bnMiKSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSx3QXQucHJvdG90eXBlLCJfc2VyaWVzTmFtZXMiLG51bGwpLHQoW2EoIl90YWdGaWx0ZXIiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLHdBdC5wcm90b3R5cGUsIl9yZWZyZXNoRGF0YVNlcmllcyIsbnVsbCksdChbcygibWFyZ2luQ2hhcnRTZXJpZXMiKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSx3QXQucHJvdG90eXBlLCJfdGFnRmlsdGVyIixudWxsKSx0KFtzKCJ0aXRsZSIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLHdBdC5wcm90b3R5cGUsIl90aXRsZURpc3BsYXlTdHJpbmciLG51bGwpLHdBdD10KFtpKCJ0Zi1jdXN0b20tc2NhbGFyLW1hcmdpbi1jaGFydC1jYXJkIildLHdBdCk7dmFyIFNBdD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxUWVBFUzpbXSxnZXRSdW5zTmFtZWQ6ZnVuY3Rpb24gTUF0KHQpe3JldHVybiBDZS5leHBvcnRzLmtleXModCkuc29ydCh1cil9LGdldFRhZ3M6ZnIsZmlsdGVyVGFnczpmdW5jdGlvbiBFQXQodCxlKXtsZXQgbj1bXTtyZXR1cm4gZS5mb3JFYWNoKChlPT5uPW4uY29uY2F0KHRbZV0pKSksQ2UuZXhwb3J0cy51bmlxKG4pLnNvcnQodXIpfSxMaXN0ZW5LZXk6QWwsQmFzZVN0b3JlOmtsLENhbmNlbGxlcjp4TyxFbnZpcm9ubWVudFN0b3JlOkxsLGVudmlyb25tZW50U3RvcmU6UGwsRXhwZXJpbWVudHNTdG9yZTpkTyxleHBlcmltZW50c1N0b3JlOnBPLFJlcXVlc3RDYW5jZWxsYXRpb25FcnJvcjptcixJbnZhbGlkUmVxdWVzdE9wdGlvbnNFcnJvcjpncixSZXF1ZXN0TmV0d29ya0Vycm9yOl9yLGdldCBIdHRwTWV0aG9kVHlwZSgpe3JldHVybiB5cn0sUmVxdWVzdE9wdGlvbnM6dnIsUmVxdWVzdE1hbmFnZXI6YnIsY3JlYXRlUm91dGVyOk1yLGdldFJvdXRlcjpFcixzZXRSb3V0ZXI6ZnVuY3Rpb24gVEF0KHQpe2lmKG51bGw9PXQpdGhyb3cgbmV3IEVycm9yKCJSb3V0ZXIgcmVxdWlyZWQsIGJ1dCBnb3Q6ICIrdCk7U3I9dH0sY3JlYXRlU2VhcmNoUGFyYW06Q3IsUnVuc1N0b3JlOk5sLHJ1bnNTdG9yZTpJbCxhZGRQYXJhbXM6UE99KTtsZXQgQ0F0PWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5hY3RpdmU9ITAsdGhpcy5fY29sb3JTY2FsZT1uZXcgeEF0KHtzY2FsZTpfT30pLHRoaXMuX25hbWVUb0RhdGFTZXJpZXM9e30sdGhpcy5fZXhwYW5kZWQ9ITEsdGhpcy5fcmVxdWVzdERhdGE9KHQsZSxuKT0+e2NvbnN0IGk9RXIoKS5wbHVnaW5Sb3V0ZSgiY3VzdG9tX3NjYWxhcnMiLCIvc2NhbGFycyIpO1Byb21pc2UuYWxsKHQubWFwKCh0PT57Y29uc3Qgbj1QTyhpLHt0YWc6dGhpcy5fdGFnRmlsdGVyLHJ1bjp0fSk7cmV0dXJuIHRoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdChuKS50aGVuKChuPT57ZSh7aXRlbTp0LGRhdGE6bn0pfSkpfSkpKS5maW5hbGx5KCgoKT0+e24oKX0pKX0sdGhpcy5fcnVuVG9OZXh0QXZhaWxhYmxlU3ltYm9sSW5kZXg9e30sdGhpcy5fbWF0Y2hlc0xpc3RPcGVuZWQ9ITF9cmVsb2FkKCl7dGhpcy4kLmxvYWRlci5yZWxvYWQoKX1yZWRyYXcoKXt0aGlzLiQubG9hZGVyLnJlZHJhdygpfV90b2dnbGVFeHBhbmRlZCh0KXt0aGlzLnNldCgiX2V4cGFuZGVkIiwhdGhpcy5fZXhwYW5kZWQpLHRoaXMucmVkcmF3KCl9X3RvZ2dsZUxvZ1NjYWxlKCl7dGhpcy5zZXQoIl9sb2dTY2FsZUFjdGl2ZSIsIXRoaXMuX2xvZ1NjYWxlQWN0aXZlKX1fcmVzZXREb21haW4oKXtjb25zdCB0PXRoaXMuJC5sb2FkZXI7dCYmdC5yZXNldERvbWFpbigpfV9jc3ZVcmwodCxlKXtpZighZSlyZXR1cm4iIjtyZXR1cm4gUE8odGhpcy5fZG93bmxvYWREYXRhVXJsKHQsZSkse2Zvcm1hdDoiY3N2In0pfV9qc29uVXJsKHQsZSl7aWYoIWUpcmV0dXJuIiI7cmV0dXJuIFBPKHRoaXMuX2Rvd25sb2FkRGF0YVVybCh0LGUpLHtmb3JtYXQ6Impzb24ifSl9X2Rvd25sb2FkRGF0YVVybCh0LGUpe2NvbnN0IG49dFtlXSxpPXt0YWc6bi5nZXRUYWcoKSxydW46bi5nZXRSdW4oKX07cmV0dXJuIFBPKEVyKCkucGx1Z2luUm91dGUoImN1c3RvbV9zY2FsYXJzIiwiL2Rvd25sb2FkX2RhdGEiKSxpKX1fY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbigpe3JldHVybih0LGUsbik9PntpZihuLnJlZ2V4X3ZhbGlkKXtjb25zdCB0PUNlLmV4cG9ydHMuY2xvbmUodGhpcy5fbmFtZVRvRGF0YVNlcmllcyk7Q2UuZXhwb3J0cy5mb3JPd24obi50YWdfdG9fZXZlbnRzLCgobixpKT0+e2NvbnN0IHI9bi5tYXAoKHQ9Pih7d2FsbF90aW1lOm5ldyBEYXRlKDFlMyp0WzBdKSxzdGVwOnRbMV0sc2NhbGFyOnRbMl19KSkpLG89YkF0KGUsaSksYT10W29dO2lmKGEpYS5zZXREYXRhKHIpO2Vsc2V7Q2UuZXhwb3J0cy5pc1VuZGVmaW5lZCh0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleFtlXSkmJih0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleFtlXT0wKTtjb25zdCBuPW5ldyB2QXQoZSxpLG8scix4Q3RbdGhpcy5fcnVuVG9OZXh0QXZhaWxhYmxlU3ltYm9sSW5kZXhbZV1dKTt0W29dPW47dGhpcy5fcnVuVG9OZXh0QXZhaWxhYmxlU3ltYm9sSW5kZXhbZV09KHRoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2VdKzEpJXhDdC5sZW5ndGh9fSkpLHRoaXMuc2V0KCJfbmFtZVRvRGF0YVNlcmllcyIsdCl9fX1fdXBkYXRlQ2hhcnQoKXtPYmplY3QuZW50cmllcyh0aGlzLl9uYW1lVG9EYXRhU2VyaWVzKS5mb3JFYWNoKCgoW3QsZV0pPT57dGhpcy4kLmxvYWRlci5zZXRTZXJpZXNEYXRhKHQsZS5nZXREYXRhKCkpfSkpLHRoaXMuJC5sb2FkZXIuY29tbWl0Q2hhbmdlcygpfV9jb21wdXRlU2VsZWN0ZWRSdW5zU2V0KHQpe2NvbnN0IGU9e307cmV0dXJuIENlLmV4cG9ydHMuZm9yRWFjaCh0LCh0PT57ZVt0XT0xfSkpLGV9Z2V0IF9zZXJpZXNOYW1lcygpe2NvbnN0IHQ9bmV3IFNldCh0aGlzLnJ1bnMpO3JldHVybiBPYmplY3QuZW50cmllcyh0aGlzLl9uYW1lVG9EYXRhU2VyaWVzKS5maWx0ZXIoKChbZSxuXSk9PnQuaGFzKG4ucnVuKSkpLm1hcCgoKFt0XSk9PnQpKX1fZGV0ZXJtaW5lQ29sb3IodCxlKXtyZXR1cm4gdC5zY2FsZShlKX1fcmVmcmVzaERhdGFTZXJpZXMoKXt0aGlzLnNldCgiX25hbWVUb0RhdGFTZXJpZXMiLHt9KX1fY3JlYXRlU3ltYm9sRnVuY3Rpb24oKXtyZXR1cm4gdD0+dGhpcy5fbmFtZVRvRGF0YVNlcmllc1t0XS5nZXRTeW1ib2woKS5tZXRob2QoKX1fZGV0ZXJtaW5lU3ltYm9sKHQsZSl7cmV0dXJuIHRbZV0uZ2V0U3ltYm9sKCkuY2hhcmFjdGVyfWdldCBfdGFnRmlsdGVyKCl7dmFyIHQ9dGhpcy50YWdSZWdleGVzO3JldHVybiAxPT09dC5sZW5ndGg/dFswXTp0Lm1hcCgodD0+IigiK3QrIikiKSkuam9pbigifCIpfV9nZXRUb2dnbGVNYXRjaGVzSWNvbih0KXtyZXR1cm4gdD8iZXhwYW5kLWxlc3MiOiJleHBhbmQtbW9yZSJ9X3RvZ2dsZU1hdGNoZXNPcGVuKCl7dGhpcy5zZXQoIl9tYXRjaGVzTGlzdE9wZW5lZCIsIXRoaXMuX21hdGNoZXNMaXN0T3BlbmVkKX1nZXQgX3RpdGxlRGlzcGxheVN0cmluZygpe3JldHVybiB0aGlzLnRpdGxlfHwidW50aXRsZWQifV9tYXRjaExpc3RFbnRyeUNvbG9yVXBkYXRlZCh0KXtjb25zdCBlPXRoaXMuJCQoIiNtYXRjaC1saXN0LXJlcGVhdCIpO2UmJnRoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIubWF0Y2gtbGlzdC1lbnRyeSIpLmZvckVhY2goKHQ9Pntjb25zdCBuPWUuaXRlbUZvckVsZW1lbnQodCk7dC5zdHlsZS5jb2xvcj10aGlzLl9kZXRlcm1pbmVDb2xvcih0aGlzLl9jb2xvclNjYWxlLG4pfSkpfX07Q0F0LnRlbXBsYXRlPXhlYAogICAgPHRmLWNhcmQtaGVhZGluZyBkaXNwbGF5LW5hbWU9IltbX3RpdGxlRGlzcGxheVN0cmluZ11dIj48L3RmLWNhcmQtaGVhZGluZz4KICAgIDxkaXYgaWQ9InRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIj4KICAgICAgPHRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIKICAgICAgICBpZD0ibG9hZGVyIgogICAgICAgIGFjdGl2ZT0iW1thY3RpdmVdXSIKICAgICAgICBjb2xvci1zY2FsZT0iW1tfY29sb3JTY2FsZV1dIgogICAgICAgIGRhdGEtc2VyaWVzPSJbW19zZXJpZXNOYW1lc11dIgogICAgICAgIGlnbm9yZS15LW91dGxpZXJzPSJbW2lnbm9yZVlPdXRsaWVyc11dIgogICAgICAgIGxvYWQta2V5PSJbW190YWdGaWx0ZXJdXSIKICAgICAgICBkYXRhLXRvLWxvYWQ9IltbcnVuc11dIgogICAgICAgIHJlcXVlc3QtZGF0YT0iW1tfcmVxdWVzdERhdGFdXSIKICAgICAgICBsb2ctc2NhbGUtYWN0aXZlPSJbW19sb2dTY2FsZUFjdGl2ZV1dIgogICAgICAgIGxvYWQtZGF0YS1jYWxsYmFjaz0iW1tfY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbigpXV0iCiAgICAgICAgcmVxdWVzdC1tYW5hZ2VyPSJbW3JlcXVlc3RNYW5hZ2VyXV0iCiAgICAgICAgc21vb3RoaW5nLWVuYWJsZWQ9Iltbc21vb3RoaW5nRW5hYmxlZF1dIgogICAgICAgIHNtb290aGluZy13ZWlnaHQ9Iltbc21vb3RoaW5nV2VpZ2h0XV0iCiAgICAgICAgc3ltYm9sLWZ1bmN0aW9uPSJbW19jcmVhdGVTeW1ib2xGdW5jdGlvbigpXV0iCiAgICAgICAgdG9vbHRpcC1zb3J0aW5nLW1ldGhvZD0iW1t0b29sdGlwU29ydGluZ01ldGhvZF1dIgogICAgICAgIHgtdHlwZT0iW1t4VHlwZV1dIgogICAgICA+CiAgICAgIDwvdGYtbGluZS1jaGFydC1kYXRhLWxvYWRlcj4KICAgIDwvZGl2PgogICAgPGRpdiBpZD0iYnV0dG9ucyI+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgIHNlbGVjdGVkJD0iW1tfZXhwYW5kZWRdXSIKICAgICAgICBpY29uPSJmdWxsc2NyZWVuIgogICAgICAgIG9uLXRhcD0iX3RvZ2dsZUV4cGFuZGVkIgogICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgc2VsZWN0ZWQkPSJbW19sb2dTY2FsZUFjdGl2ZV1dIgogICAgICAgIGljb249ImxpbmUtd2VpZ2h0IgogICAgICAgIG9uLXRhcD0iX3RvZ2dsZUxvZ1NjYWxlIgogICAgICAgIHRpdGxlPSJUb2dnbGUgeS1heGlzIGxvZyBzY2FsZSIKICAgICAgPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgIGljb249InNldHRpbmdzLW92ZXJzY2FuIgogICAgICAgIG9uLXRhcD0iX3Jlc2V0RG9tYWluIgogICAgICAgIHRpdGxlPSJGaXQgZG9tYWluIHRvIGRhdGEiCiAgICAgID48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8c3BhbiBzdHlsZT0iZmxleC1ncm93OiAxIj48L3NwYW4+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tzaG93RG93bmxvYWRMaW5rc11dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkb3dubG9hZC1saW5rcyI+CiAgICAgICAgICA8cGFwZXItZHJvcGRvd24tbWVudQogICAgICAgICAgICBuby1sYWJlbC1mbG9hdD0idHJ1ZSIKICAgICAgICAgICAgbGFiZWw9InNlcmllcyB0byBkb3dubG9hZCIKICAgICAgICAgICAgc2VsZWN0ZWQtaXRlbS1sYWJlbD0ie3tfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkfX0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzbG90PSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICAgICAgICA8dGVtcGxhdGUKICAgICAgICAgICAgICAgIGlzPSJkb20tcmVwZWF0IgogICAgICAgICAgICAgICAgaXRlbXM9IltbX3Nlcmllc05hbWVzXV0iCiAgICAgICAgICAgICAgICBhcz0iZGF0YVNlcmllc05hbWUiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiCiAgICAgICAgICAgICAgICAgID5bW2RhdGFTZXJpZXNOYW1lXV08L3BhcGVyLWl0ZW0KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgICA8YQogICAgICAgICAgICBkb3dubG9hZD0iW1tfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkXV0uY3N2IgogICAgICAgICAgICBocmVmPSJbW19jc3ZVcmwoX25hbWVUb0RhdGFTZXJpZXMsIF9kYXRhU2VyaWVzTmFtZVRvRG93bmxvYWQpXV0iCiAgICAgICAgICAgID5DU1Y8L2EKICAgICAgICAgID4KICAgICAgICAgIDxhCiAgICAgICAgICAgIGRvd25sb2FkPSJbW19kYXRhU2VyaWVzTmFtZVRvRG93bmxvYWRdXS5qc29uIgogICAgICAgICAgICBocmVmPSJbW19qc29uVXJsKF9uYW1lVG9EYXRhU2VyaWVzLCBfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkKV1dIgogICAgICAgICAgICA+SlNPTjwvYQogICAgICAgICAgPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJtYXRjaGVzLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9Im1hdGNoZXMtbGlzdC10aXRsZSI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19zZXJpZXNOYW1lcy5sZW5ndGhdXSI+CiAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICAgICAgaWNvbj0iW1tfZ2V0VG9nZ2xlTWF0Y2hlc0ljb24oX21hdGNoZXNMaXN0T3BlbmVkKV1dIgogICAgICAgICAgICBvbi1jbGljaz0iX3RvZ2dsZU1hdGNoZXNPcGVuIgogICAgICAgICAgICBjbGFzcz0idG9nZ2xlLW1hdGNoZXMtYnV0dG9uIgogICAgICAgICAgPgogICAgICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICA8c3BhbiBjbGFzcz0ibWF0Y2hlcy10ZXh0Ij4gTWF0Y2hlcyAoW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0pIDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0iPgogICAgICAgIDxpcm9uLWNvbGxhcHNlIG9wZW5lZD0iW1tfbWF0Y2hlc0xpc3RPcGVuZWRdXSI+CiAgICAgICAgICA8ZGl2IGlkPSJtYXRjaGVzLWxpc3QiPgogICAgICAgICAgICA8dGVtcGxhdGUKICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICBpdGVtcz0iW1tfc2VyaWVzTmFtZXNdXSIKICAgICAgICAgICAgICBhcz0ic2VyaWVzTmFtZSIKICAgICAgICAgICAgICBpZD0ibWF0Y2gtbGlzdC1yZXBlYXQiCiAgICAgICAgICAgICAgb24tZG9tLWNoYW5nZT0iX21hdGNoTGlzdEVudHJ5Q29sb3JVcGRhdGVkIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0Y2gtbGlzdC1lbnRyeSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWF0Y2gtZW50cnktc3ltYm9sIj4KICAgICAgICAgICAgICAgICAgW1tfZGV0ZXJtaW5lU3ltYm9sKF9uYW1lVG9EYXRhU2VyaWVzLCBzZXJpZXNOYW1lKV1dCiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICBbW3Nlcmllc05hbWVdXQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9pcm9uLWNvbGxhcHNlPgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CgogICAgPHN0eWxlIGluY2x1ZGU9InRmLWN1c3RvbS1zY2FsYXItY2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgI21hdGNoZXMtbGlzdC10aXRsZSB7CiAgICAgICAgbWFyZ2luOiAxMHB4IDAgNXB4IDA7CiAgICAgIH0KCiAgICAgICNtYXRjaGVzLWxpc3QgewogICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KCiAgICAgIC5tYXRjaC1saXN0LWVudHJ5IHsKICAgICAgICBtYXJnaW46IDAgMCA1cHggMDsKICAgICAgfQoKICAgICAgLm1hdGNoLWVudHJ5LXN5bWJvbCB7CiAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICB3aWR0aDogMTBweDsKICAgICAgfQoKICAgICAgLm1hdGNoZXMtdGV4dCB7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxDQXQucHJvdG90eXBlLCJydW5zIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLENBdC5wcm90b3R5cGUsInhUeXBlIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sQ0F0LnByb3RvdHlwZSwiYWN0aXZlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLENBdC5wcm90b3R5cGUsInRpdGxlIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxDQXQucHJvdG90eXBlLCJ0YWdSZWdleGVzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sQ0F0LnByb3RvdHlwZSwiaWdub3JlWU91dGxpZXJzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0sQ0F0LnByb3RvdHlwZSwicmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDQXQucHJvdG90eXBlLCJzaG93RG93bmxvYWRMaW5rcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLENBdC5wcm90b3R5cGUsInNtb290aGluZ0VuYWJsZWQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sQ0F0LnByb3RvdHlwZSwic21vb3RoaW5nV2VpZ2h0Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLENBdC5wcm90b3R5cGUsInRhZ01ldGFkYXRhIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLENBdC5wcm90b3R5cGUsInRvb2x0aXBTb3J0aW5nTWV0aG9kIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHhBdCldLENBdC5wcm90b3R5cGUsIl9jb2xvclNjYWxlIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLENBdC5wcm90b3R5cGUsIl9uYW1lVG9EYXRhU2VyaWVzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLENBdC5wcm90b3R5cGUsIl9leHBhbmRlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLENBdC5wcm90b3R5cGUsIl9sb2dTY2FsZUFjdGl2ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLENBdC5wcm90b3R5cGUsIl9yZXF1ZXN0RGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxDQXQucHJvdG90eXBlLCJfcnVuVG9OZXh0QXZhaWxhYmxlU3ltYm9sSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDQXQucHJvdG90eXBlLCJfbWF0Y2hlc0xpc3RPcGVuZWQiLHZvaWQgMCksdChbYSgiX25hbWVUb0RhdGFTZXJpZXMiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLENBdC5wcm90b3R5cGUsIl91cGRhdGVDaGFydCIsbnVsbCksdChbcygiX25hbWVUb0RhdGFTZXJpZXMiLCJydW5zIiksZSgiZGVzaWduOnR5cGUiLE9iamVjdCksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sQ0F0LnByb3RvdHlwZSwiX3Nlcmllc05hbWVzIixudWxsKSx0KFthKCJfdGFnRmlsdGVyIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxDQXQucHJvdG90eXBlLCJfcmVmcmVzaERhdGFTZXJpZXMiLG51bGwpLHQoW3MoInRhZ1JlZ2V4ZXMiKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxDQXQucHJvdG90eXBlLCJfdGFnRmlsdGVyIixudWxsKSx0KFtzKCJ0aXRsZSIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLENBdC5wcm90b3R5cGUsIl90aXRsZURpc3BsYXlTdHJpbmciLG51bGwpLENBdD10KFtpKCJ0Zi1jdXN0b20tc2NhbGFyLW11bHRpLWxpbmUtY2hhcnQtY2FyZCIpXSxDQXQpO2xldCBBQXQ9Y2xhc3MgZXh0ZW5kcyB3ZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fcmVxdWVzdE1hbmFnZXI9bmV3IGJyKDUwKSx0aGlzLl9jYW5jZWxsZXI9bmV3IHhPLHRoaXMuX3Nob3dEb3dubG9hZExpbmtzPVFzKCJfc2hvd0Rvd25sb2FkTGlua3MiLHtkZWZhdWx0VmFsdWU6ITEsdXNlTG9jYWxTdG9yYWdlOiEwfSkuY2FsbCh0aGlzKSx0aGlzLl9zbW9vdGhpbmdXZWlnaHQ9cmwoIl9zbW9vdGhpbmdXZWlnaHQiLHtkZWZhdWx0VmFsdWU6LjZ9KS5jYWxsKHRoaXMpLHRoaXMuX2lnbm9yZVlPdXRsaWVycz1RcygiX2lnbm9yZVlPdXRsaWVycyIse2RlZmF1bHRWYWx1ZTohMCx1c2VMb2NhbFN0b3JhZ2U6ITB9KS5jYWxsKHRoaXMpLHRoaXMuX3hUeXBlPSJzdGVwIix0aGlzLl9hY3RpdmU9ITAsdGhpcy5yZWxvYWRPblJlYWR5PSEwLHRoaXMuX3Nob3dEb3dubG9hZExpbmtzT2JzZXJ2ZXI9dGwoIl9zaG93RG93bmxvYWRMaW5rcyIse2RlZmF1bHRWYWx1ZTohMSx1c2VMb2NhbFN0b3JhZ2U6ITB9KSx0aGlzLl9zbW9vdGhpbmdXZWlnaHRPYnNlcnZlcj1vbCgiX3Ntb290aGluZ1dlaWdodCIse2RlZmF1bHRWYWx1ZTouNn0pLHRoaXMuX2lnbm9yZVlPdXRsaWVyc09ic2VydmVyPXRsKCJfaWdub3JlWU91dGxpZXJzIix7ZGVmYXVsdFZhbHVlOiEwLHVzZUxvY2FsU3RvcmFnZTohMH0pfXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLnJlbG9hZE9uUmVhZHkmJnRoaXMucmVsb2FkKCl9cmVsb2FkKCl7Y29uc3QgdD1FcigpLnBsdWdpbnNMaXN0aW5nKCksZT10aGlzLl9jYW5jZWxsZXIuY2FuY2VsbGFibGUoKHQ9Pnt0LmNhbmNlbGxlZHx8KHRoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwhdC52YWx1ZS5jdXN0b21fc2NhbGFycyksdGhpcy5fZGF0YU5vdEZvdW5kfHx0aGlzLl9yZXRyaWV2ZUxheW91dEFuZERhdGEoKSl9KSk7dGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0KS50aGVuKGUpfV9yZWxvYWRDaGFydHMoKXt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtY3VzdG9tLXNjYWxhci1tYXJnaW4tY2hhcnQtY2FyZCwgdGYtY3VzdG9tLXNjYWxhci1tdWx0aS1saW5lLWNoYXJ0LWNhcmQiKS5mb3JFYWNoKCh0PT57dC5yZWxvYWQoKX0pKX1fcmV0cmlldmVMYXlvdXRBbmREYXRhKCl7Y29uc3QgdD1FcigpLnBsdWdpblJvdXRlKCJjdXN0b21fc2NhbGFycyIsIi9sYXlvdXQiKSxlPXRoaXMuX2NhbmNlbGxlci5jYW5jZWxsYWJsZSgodD0+e3QuY2FuY2VsbGVkfHwodGhpcy5zZXQoIl9sYXlvdXQiLHQudmFsdWUpLHRoaXMuX2RhdGFOb3RGb3VuZHx8dGhpcy5fcmVsb2FkQ2hhcnRzKCkpfSkpO3RoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodCkudGhlbihlKX1nZXQgX3Ntb290aGluZ0VuYWJsZWQoKXtyZXR1cm4gdGhpcy5fc21vb3RoaW5nV2VpZ2h0PjB9Z2V0IF9jYXRlZ29yaWVzKCl7dmFyIHQ9dGhpcy5fbGF5b3V0O2lmKCF0LmNhdGVnb3J5KXJldHVybltdO2xldCBlPSExO3RoaXMuX29wZW5lZENhdGVnb3JpZXN8fChlPSEwLHRoaXMuX29wZW5lZENhdGVnb3JpZXM9e30pO3JldHVybiB0LmNhdGVnb3J5Lm1hcCgodD0+KGUmJiF0LmNsb3NlZCYmKHRoaXMuX29wZW5lZENhdGVnb3JpZXNbdC50aXRsZV09ITApLHtuYW1lOnQudGl0bGUsaXRlbXM6dC5jaGFydCxtZXRhZGF0YTp7dHlwZTpBci5QUkVGSVhfR1JPVVAsb3BlbmVkOiEhdGhpcy5fb3BlbmVkQ2F0ZWdvcmllc1t0LnRpdGxlXX19KSkpfV9jYXRlZ29yeU9wZW5lZFRvZ2dsZWQodCl7Y29uc3QgZT10LnRhcmdldDtlLm9wZW5lZD90aGlzLl9vcGVuZWRDYXRlZ29yaWVzW2UuY2F0ZWdvcnkubmFtZV09ITA6ZGVsZXRlIHRoaXMuX29wZW5lZENhdGVnb3JpZXNbZS5jYXRlZ29yeS5uYW1lXX19O0FBdC50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e19zaG93RG93bmxvYWRMaW5rc319IgogICAgICAgICAgICAgICAgPlNob3cgZGF0YSBkb3dubG9hZCBsaW5rczwvcGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e19pZ25vcmVZT3V0bGllcnN9fSIKICAgICAgICAgICAgICAgID5JZ25vcmUgb3V0bGllcnMgaW4gY2hhcnQgc2NhbGluZzwvcGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJ0b29sdGlwLXNvcnRpbmciPgogICAgICAgICAgICAgIDxkaXYgaWQ9InRvb2x0aXAtc29ydGluZy1sYWJlbCI+VG9vbHRpcCBzb3J0aW5nIG1ldGhvZDo8L2Rpdj4KICAgICAgICAgICAgICA8cGFwZXItZHJvcGRvd24tbWVudQogICAgICAgICAgICAgICAgbm8tbGFiZWwtZmxvYXQ9IiIKICAgICAgICAgICAgICAgIHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X3Rvb2x0aXBTb3J0aW5nTWV0aG9kfX0iCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPHBhcGVyLWxpc3Rib3gKICAgICAgICAgICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPSIwIgogICAgICAgICAgICAgICAgICBzbG90PSJkcm9wZG93bi1jb250ZW50IgogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5kZWZhdWx0PC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5kZXNjZW5kaW5nPC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5hc2NlbmRpbmc8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPm5lYXJlc3Q8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLXNtb290aGluZy1pbnB1dAogICAgICAgICAgICAgIHdlaWdodD0ie3tfc21vb3RoaW5nV2VpZ2h0fX0iCiAgICAgICAgICAgICAgc3RlcD0iMC4wMDEiCiAgICAgICAgICAgICAgbWluPSIwIgogICAgICAgICAgICAgIG1heD0iMSIKICAgICAgICAgICAgPjwvdGYtc21vb3RoaW5nLWlucHV0PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgICA8dGYtb3B0aW9uLXNlbGVjdG9yCiAgICAgICAgICAgICAgaWQ9IngtdHlwZS1zZWxlY3RvciIKICAgICAgICAgICAgICBuYW1lPSJIb3Jpem9udGFsIEF4aXMiCiAgICAgICAgICAgICAgc2VsZWN0ZWQtaWQ9Int7X3hUeXBlfX0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJzdGVwIj5zdGVwPC9wYXBlci1idXR0b24KICAgICAgICAgICAgICA+PCEtLQogICAgICAgICAgICAtLT48cGFwZXItYnV0dG9uIGlkPSJyZWxhdGl2ZSI+cmVsYXRpdmU8L3BhcGVyLWJ1dHRvbgogICAgICAgICAgICAgID48IS0tCiAgICAgICAgICAgIC0tPjxwYXBlci1idXR0b24gaWQ9IndhbGxfdGltZSI+d2FsbDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8L3RmLW9wdGlvbi1zZWxlY3Rvcj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiBydW5zLXNlbGVjdG9yIj4KICAgICAgICAgIDx0Zi1ydW5zLXNlbGVjdG9yIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319Ij4KICAgICAgICAgIDwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIiBpZD0iY2F0ZWdvcmllcy1jb250YWluZXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPlRoZSBjdXN0b20gc2NhbGFycyBkYXNoYm9hcmQgaXMgaW5hY3RpdmUuPC9oMz4KICAgICAgICAgICAgPHA+UHJvYmFibGUgY2F1c2VzOjwvcD4KICAgICAgICAgICAgPG9sPgogICAgICAgICAgICAgIDxsaT5Zb3UgaGF2ZW4ndCBsYWlkIG91dCB0aGUgZGFzaGJvYXJkLjwvbGk+CiAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgc2NhbGFyIGRhdGEgdG8geW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L29sPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgVG8gbGF5IG91dCB0aGUgZGFzaGJvYXJkLCBwYXNzIGEgPGNvZGU+TGF5b3V0PC9jb2RlPiBwcm90b2J1ZmZlcgogICAgICAgICAgICAgIHRvIHRoZSA8Y29kZT5zZXRfbGF5b3V0PC9jb2RlPiBtZXRob2QuIEZvciBleGFtcGxlLAogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxwcmU+CmZyb20gdGVuc29yYm9hcmQgaW1wb3J0IHN1bW1hcnkKZnJvbSB0ZW5zb3Jib2FyZC5wbHVnaW5zLmN1c3RvbV9zY2FsYXIgaW1wb3J0IGxheW91dF9wYjIKLi4uCiMgVGhpcyBhY3Rpb24gZG9lcyBub3QgaGF2ZSB0byBiZSBwZXJmb3JtZWQgYXQgZXZlcnkgc3RlcCwgc28gdGhlIGFjdGlvbiBpcyBub3QKIyB0YWtlbiBjYXJlIG9mIGJ5IGFuIG9wIGluIHRoZSBncmFwaC4gV2Ugb25seSBuZWVkIHRvIHNwZWNpZnkgdGhlIGxheW91dCBvbmNlCiMgKGluc3RlYWQgb2YgcGVyIHN0ZXApLgpsYXlvdXRfc3VtbWFyeSA9IHN1bW1hcnlfbGliLmN1c3RvbV9zY2FsYXJfcGIobGF5b3V0X3BiMi5MYXlvdXQoCiAgY2F0ZWdvcnk9WwogICAgbGF5b3V0X3BiMi5DYXRlZ29yeSgKICAgICAgdGl0bGU9J2xvc3NlcycsCiAgICAgIGNoYXJ0PVsKICAgICAgICAgIGxheW91dF9wYjIuQ2hhcnQoCiAgICAgICAgICAgICAgdGl0bGU9J2xvc3NlcycsCiAgICAgICAgICAgICAgbXVsdGlsaW5lPWxheW91dF9wYjIuTXVsdGlsaW5lQ2hhcnRDb250ZW50KAogICAgICAgICAgICAgICAgdGFnPVtyJ2xvc3MuKiddLAogICAgICAgICAgICAgICkpLAogICAgICAgICAgbGF5b3V0X3BiMi5DaGFydCgKICAgICAgICAgICAgICB0aXRsZT0nYmF6JywKICAgICAgICAgICAgICBtYXJnaW49bGF5b3V0X3BiMi5NYXJnaW5DaGFydENvbnRlbnQoCiAgICAgICAgICAgICAgICBzZXJpZXM9WwogICAgICAgICAgICAgICAgICBsYXlvdXRfcGIyLk1hcmdpbkNoYXJ0Q29udGVudC5TZXJpZXMoCiAgICAgICAgICAgICAgICAgICAgdmFsdWU9J2xvc3MvYmF6L3NjYWxhcl9zdW1tYXJ5JywKICAgICAgICAgICAgICAgICAgICBsb3dlcj0nYmF6X2xvd2VyL2Jhei9zY2FsYXJfc3VtbWFyeScsCiAgICAgICAgICAgICAgICAgICAgdXBwZXI9J2Jhel91cHBlci9iYXovc2NhbGFyX3N1bW1hcnknKSwKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgKSksCiAgICAgIF0pLAogICAgbGF5b3V0X3BiMi5DYXRlZ29yeSgKICAgICAgdGl0bGU9J3RyaWcgZnVuY3Rpb25zJywKICAgICAgY2hhcnQ9WwogICAgICAgICAgbGF5b3V0X3BiMi5DaGFydCgKICAgICAgICAgICAgICB0aXRsZT0nd2F2ZSB0cmlnIGZ1bmN0aW9ucycsCiAgICAgICAgICAgICAgbXVsdGlsaW5lPWxheW91dF9wYjIuTXVsdGlsaW5lQ2hhcnRDb250ZW50KAogICAgICAgICAgICAgICAgdGFnPVtyJ3RyaWdGdW5jdGlvbnMvY29zaW5lJywgcid0cmlnRnVuY3Rpb25zL3NpbmUnXSwKICAgICAgICAgICAgICApKSwKICAgICAgICAgICMgVGhlIHJhbmdlIG9mIHRhbmdlbnQgaXMgZGlmZmVyZW50LiBMZXQncyBnaXZlIGl0IGl0cyBvd24gY2hhcnQuCiAgICAgICAgICBsYXlvdXRfcGIyLkNoYXJ0KAogICAgICAgICAgICAgIHRpdGxlPSd0YW4nLAogICAgICAgICAgICAgIG11bHRpbGluZT1sYXlvdXRfcGIyLk11bHRpbGluZUNoYXJ0Q29udGVudCgKICAgICAgICAgICAgICAgIHRhZz1bcid0cmlnRnVuY3Rpb25zL3RhbmdlbnQnXSwKICAgICAgICAgICAgICApKSwKICAgICAgXSwKICAgICAgIyBUaGlzIGNhdGVnb3J5IHdlIGNhcmUgbGVzcyBhYm91dC4gTGV0J3MgbWFrZSBpdCBpbml0aWFsbHkgY2xvc2VkLgogICAgICBjbG9zZWQ9VHJ1ZSksCiAgXSkpCndyaXRlci5hZGRfc3VtbWFyeShsYXlvdXRfc3VtbWFyeSkKPC9wcmUKICAgICAgICAgICAgPgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiCiAgICAgICAgICAgICAgICA+UkVBRE1FPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgICAgPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hCiAgICAgICAgICAgICAgPi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldwogICAgICAgICAgICAgIGFzPSJjaGFydCIKICAgICAgICAgICAgICBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIgogICAgICAgICAgICAgIGRpc2FibGUtcGFnaW5hdGlvbgogICAgICAgICAgICAgIGluaXRpYWwtb3BlbmVkPSJbW2NhdGVnb3J5Lm1ldGFkYXRhLm9wZW5lZF1dIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2NoYXJ0Lm11bHRpbGluZV1dIj4KICAgICAgICAgICAgICAgICAgPHRmLWN1c3RvbS1zY2FsYXItbXVsdGktbGluZS1jaGFydC1jYXJkCiAgICAgICAgICAgICAgICAgICAgYWN0aXZlPSJbW2FjdGl2ZV1dIgogICAgICAgICAgICAgICAgICAgIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSIKICAgICAgICAgICAgICAgICAgICBydW5zPSJbW19zZWxlY3RlZFJ1bnNdXSIKICAgICAgICAgICAgICAgICAgICB0aXRsZT0iW1tjaGFydC50aXRsZV1dIgogICAgICAgICAgICAgICAgICAgIHgtdHlwZT0iW1tfeFR5cGVdXSIKICAgICAgICAgICAgICAgICAgICBzbW9vdGhpbmctZW5hYmxlZD0iW1tfc21vb3RoaW5nRW5hYmxlZF1dIgogICAgICAgICAgICAgICAgICAgIHNtb290aGluZy13ZWlnaHQ9IltbX3Ntb290aGluZ1dlaWdodF1dIgogICAgICAgICAgICAgICAgICAgIHRvb2x0aXAtc29ydGluZy1tZXRob2Q9IltbdG9vbHRpcFNvcnRpbmdNZXRob2RdXSIKICAgICAgICAgICAgICAgICAgICBpZ25vcmUteS1vdXRsaWVycz0iW1tfaWdub3JlWU91dGxpZXJzXV0iCiAgICAgICAgICAgICAgICAgICAgc2hvdy1kb3dubG9hZC1saW5rcz0iW1tfc2hvd0Rvd25sb2FkTGlua3NdXSIKICAgICAgICAgICAgICAgICAgICB0YWctcmVnZXhlcz0iW1tjaGFydC5tdWx0aWxpbmUudGFnXV0iCiAgICAgICAgICAgICAgICAgID48L3RmLWN1c3RvbS1zY2FsYXItbXVsdGktbGluZS1jaGFydC1jYXJkPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tjaGFydC5tYXJnaW5dXSI+CiAgICAgICAgICAgICAgICAgIDx0Zi1jdXN0b20tc2NhbGFyLW1hcmdpbi1jaGFydC1jYXJkCiAgICAgICAgICAgICAgICAgICAgYWN0aXZlPSJbW2FjdGl2ZV1dIgogICAgICAgICAgICAgICAgICAgIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSIKICAgICAgICAgICAgICAgICAgICBydW5zPSJbW19zZWxlY3RlZFJ1bnNdXSIKICAgICAgICAgICAgICAgICAgICB0aXRsZT0iW1tjaGFydC50aXRsZV1dIgogICAgICAgICAgICAgICAgICAgIHgtdHlwZT0iW1tfeFR5cGVdXSIKICAgICAgICAgICAgICAgICAgICB0b29sdGlwLXNvcnRpbmctbWV0aG9kPSJbW3Rvb2x0aXBTb3J0aW5nTWV0aG9kXV0iCiAgICAgICAgICAgICAgICAgICAgaWdub3JlLXktb3V0bGllcnM9IltbX2lnbm9yZVlPdXRsaWVyc11dIgogICAgICAgICAgICAgICAgICAgIHNob3ctZG93bmxvYWQtbGlua3M9IltbX3Nob3dEb3dubG9hZExpbmtzXV0iCiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWNoYXJ0LXNlcmllcz0iW1tjaGFydC5tYXJnaW4uc2VyaWVzXV0iCiAgICAgICAgICAgICAgICAgID48L3RmLWN1c3RvbS1zY2FsYXItbWFyZ2luLWNoYXJ0LWNhcmQ+CiAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgICN0b29sdGlwLXNvcnRpbmcgewogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsKICAgICAgfQogICAgICAjdG9vbHRpcC1zb3J0aW5nIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OwogICAgICAgIC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWZvY3VzLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICB3aWR0aDogMTA1cHg7CiAgICAgIH0KICAgICAgLmxpbmUtaXRlbSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZy10b3A6IDVweDsKICAgICAgfQogICAgICAubm8tZGF0YS13YXJuaW5nIHsKICAgICAgICBtYXgtd2lkdGg6IDU0MHB4OwogICAgICAgIG1hcmdpbjogODBweCBhdXRvIDAgYXV0bzsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0sQUF0LnByb3RvdHlwZSwiX3JlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHhPKV0sQUF0LnByb3RvdHlwZSwiX2NhbmNlbGxlciIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sQUF0LnByb3RvdHlwZSwiX3NlbGVjdGVkUnVucyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwLG9ic2VydmVyOiJfc2hvd0Rvd25sb2FkTGlua3NPYnNlcnZlciJ9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLEFBdC5wcm90b3R5cGUsIl9zaG93RG93bmxvYWRMaW5rcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcixub3RpZnk6ITAsb2JzZXJ2ZXI6Il9zbW9vdGhpbmdXZWlnaHRPYnNlcnZlciJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sQUF0LnByb3RvdHlwZSwiX3Ntb290aGluZ1dlaWdodCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9pZ25vcmVZT3V0bGllcnNPYnNlcnZlciJ9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLEFBdC5wcm90b3R5cGUsIl9pZ25vcmVZT3V0bGllcnMiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQUF0LnByb3RvdHlwZSwiX3hUeXBlIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEFBdC5wcm90b3R5cGUsIl9sYXlvdXQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxBQXQucHJvdG90eXBlLCJfZGF0YU5vdEZvdW5kIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEFBdC5wcm90b3R5cGUsIl9vcGVuZWRDYXRlZ29yaWVzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sQUF0LnByb3RvdHlwZSwiX2FjdGl2ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLEFBdC5wcm90b3R5cGUsInJlbG9hZE9uUmVhZHkiLHZvaWQgMCksdChbcygiX3Ntb290aGluZ1dlaWdodCIpLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxBQXQucHJvdG90eXBlLCJfc21vb3RoaW5nRW5hYmxlZCIsbnVsbCksdChbcygiX2xheW91dCIpLGUoImRlc2lnbjp0eXBlIixBcnJheSksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sQUF0LnByb3RvdHlwZSwiX2NhdGVnb3JpZXMiLG51bGwpLEFBdD10KFtpKCJ0Zi1jdXN0b20tc2NhbGFyLWRhc2hib2FyZCIpXSxBQXQpO2NsYXNzIGtBdHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMucnVuMmRhdGFzZXRzPXt9LHRoaXMuY29sb3JTY2FsZT1lLHRoaXMuYnVpbGRDaGFydCh0KX1nZXREYXRhc2V0KHQpe3JldHVybiB2b2lkIDA9PT10aGlzLnJ1bjJkYXRhc2V0c1t0XSYmKHRoaXMucnVuMmRhdGFzZXRzW3RdPW5ldyBOTy5EYXRhc2V0KFtdLHtydW46dH0pKSx0aGlzLnJ1bjJkYXRhc2V0c1t0XX1idWlsZENoYXJ0KHQpe3RoaXMub3V0ZXImJnRoaXMub3V0ZXIuZGVzdHJveSgpO2xldCBlPWtDdCh0KTt0aGlzLnhBY2Nlc3Nvcj1lLmFjY2Vzc29yLHRoaXMueFNjYWxlPWUuc2NhbGUsdGhpcy54QXhpcz1lLmF4aXMsdGhpcy54QXhpcy5tYXJnaW4oMCksdGhpcy54QXhpcy50aWNrTGFiZWxQYWRkaW5nKDMpLHRoaXMueVNjYWxlPW5ldyBOTy5TY2FsZXMuTGluZWFyLHRoaXMueUF4aXM9bmV3IE5PLkF4ZXMuTnVtZXJpYyh0aGlzLnlTY2FsZSwibGVmdCIpO2xldCBuPVNDdCgzKTt0aGlzLnlBeGlzLm1hcmdpbigwKS50aWNrTGFiZWxQYWRkaW5nKDUpLmZvcm1hdHRlcihuKSx0aGlzLnlBeGlzLnVzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uKCEwKTtsZXQgaT10aGlzLmJ1aWxkUGxvdCh0aGlzLnhBY2Nlc3Nvcix0aGlzLnhTY2FsZSx0aGlzLnlTY2FsZSk7dGhpcy5ncmlkbGluZXM9bmV3IE5PLkNvbXBvbmVudHMuR3JpZGxpbmVzKHRoaXMueFNjYWxlLHRoaXMueVNjYWxlKSx0aGlzLmNlbnRlcj1uZXcgTk8uQ29tcG9uZW50cy5Hcm91cChbdGhpcy5ncmlkbGluZXMsaV0pLHRoaXMub3V0ZXI9bmV3IE5PLkNvbXBvbmVudHMuVGFibGUoW1t0aGlzLnlBeGlzLHRoaXMuY2VudGVyXSxbbnVsbCx0aGlzLnhBeGlzXV0pfWJ1aWxkUGxvdCh0LGUsbil7bGV0IGk9WzAsMjI4LDE1ODcsMzA4NSw1ZTMsNjkxNSw4NDEzLDk3NzIsMWU0XSxyPUNlLmV4cG9ydHMucmFuZ2UoaS5sZW5ndGgtMSkubWFwKCh0PT4oaVt0KzFdLWlbdF0pLzI1MDApKSxvPWkubWFwKCgodCxlKT0+dD0+dFtlXVsxXSkpLGE9b1s0XSxzPUNlLmV4cG9ydHMucmFuZ2Uoby5sZW5ndGgtMSkubWFwKChpPT57bGV0IGE9bmV3IE5PLlBsb3RzLkFyZWE7YS54KHQsZSk7bGV0IHM9aT40P29baV06b1tpKzFdO3JldHVybiBhLnkoaT40P29baSsxXTpvW2ldLG4pLGEueTAocyksYS5hdHRyKCJmaWxsIiwoKHQsZSxuKT0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKG4ubWV0YWRhdGEoKS5ydW4pKSksYS5hdHRyKCJzdHJva2UiLCgodCxlLG4pPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUobi5tZXRhZGF0YSgpLnJ1bikpKSxhLmF0dHIoInN0cm9rZS13ZWlnaHQiLCgodCxlLG4pPT4iMC41cHgiKSksYS5hdHRyKCJzdHJva2Utb3BhY2l0eSIsKCgpPT5yW2ldKSksYS5hdHRyKCJmaWxsLW9wYWNpdHkiLCgoKT0+cltpXSkpLGF9KSksbD1uZXcgTk8uUGxvdHMuTGluZTtyZXR1cm4gbC54KHQsZSksbC55KGEsbiksbC5hdHRyKCJzdHJva2UiLCgodCxlLG4pPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUobi5ydW4pKSksdGhpcy5wbG90cz1zLG5ldyBOTy5Db21wb25lbnRzLkdyb3VwKHMpfXNldFZpc2libGVTZXJpZXModCl7dGhpcy5ydW5zPXQ7bGV0IGU9dC5tYXAoKHQ9PnRoaXMuZ2V0RGF0YXNldCh0KSkpO3RoaXMucGxvdHMuZm9yRWFjaCgodD0+dC5kYXRhc2V0cyhlKSkpfXNldFNlcmllc0RhdGEodCxlKXt0aGlzLmdldERhdGFzZXQodCkuZGF0YShlKX1yZW5kZXJUbyh0KXt0aGlzLnRhcmdldFNWRz10LHRoaXMub3V0ZXIucmVuZGVyVG8odCl9cmVkcmF3KCl7dGhpcy5vdXRlci5yZWRyYXcoKX1kZXN0cm95KCl7dGhpcy5vdXRlci5kZXN0cm95KCl9fWxldCBMQXQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmNvbG9yU2NhbGU9KG5ldyBOTy5TY2FsZXMuQ29sb3IpLnJhbmdlKGpBLnNsaWNlKCkpLHRoaXMueFR5cGU9InN0ZXAiLHRoaXMuX3Zpc2libGVTZXJpZXNDYWNoZT1bXSx0aGlzLl9zZXJpZXNEYXRhQ2FjaGU9e30sdGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPW51bGx9c2V0VmlzaWJsZVNlcmllcyh0KXt0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGU9dCx0aGlzLl9jaGFydCYmKHRoaXMuX2NoYXJ0LnNldFZpc2libGVTZXJpZXModCksdGhpcy5yZWRyYXcoKSl9c2V0U2VyaWVzRGF0YSh0LGUpe3RoaXMuX3Nlcmllc0RhdGFDYWNoZVt0XT1lLHRoaXMuX2NoYXJ0JiZ0aGlzLl9jaGFydC5zZXRTZXJpZXNEYXRhKHQsZSl9cmVkcmF3KCl7dGhpcy5fY2hhcnQucmVkcmF3KCl9X21ha2VDaGFydCgpe3ZhciB0PXRoaXMueFR5cGUsZT10aGlzLmNvbG9yU2NhbGUsbj10aGlzLl9hdHRhY2hlZDtudWxsPT09dGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkJiZ0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZCksdGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPXRoaXMuYXN5bmMoKGZ1bmN0aW9uKCl7aWYodGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPW51bGwsbil7dGhpcy5fY2hhcnQmJnRoaXMuX2NoYXJ0LmRlc3Ryb3koKTt2YXIgaT1uZXcga0F0KHQsZSkscj1EdSh0aGlzLiQuY2hhcnRkaXYpO2kucmVuZGVyVG8ociksdGhpcy5fY2hhcnQ9aX19KSwzNTApfV9yZWxvYWRGcm9tQ2FjaGUoKXt0aGlzLl9jaGFydCYmKHRoaXMuX2NoYXJ0LnNldFZpc2libGVTZXJpZXModGhpcy5fdmlzaWJsZVNlcmllc0NhY2hlKSx0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUuZm9yRWFjaChmdW5jdGlvbih0KXt0aGlzLl9jaGFydC5zZXRTZXJpZXNEYXRhKHQsdGhpcy5fc2VyaWVzRGF0YUNhY2hlW3RdfHxbXSl9LmJpbmQodGhpcykpKX1hdHRhY2hlZCgpe3RoaXMuX2F0dGFjaGVkPSEwfWRldGFjaGVkKCl7dGhpcy5fYXR0YWNoZWQ9ITF9fTtMQXQudGVtcGxhdGU9eGVgCiAgICA8c3R5bGUgaW5jbHVkZT0icGxvdHRhYmxlLXN0eWxlIj48L3N0eWxlPgogICAgPGRpdiBpZD0iY2hhcnRkaXYiPjwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICAgICNjaGFydGRpdiB7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgfQogICAgICAucGxvdHRhYmxlIC5heGlzIHRleHQgewogICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE5PLlNjYWxlcy5Db2xvcildLExBdC5wcm90b3R5cGUsImNvbG9yU2NhbGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sTEF0LnByb3RvdHlwZSwieFR5cGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxMQXQucHJvdG90eXBlLCJfYXR0YWNoZWQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsa0F0KV0sTEF0LnByb3RvdHlwZSwiX2NoYXJ0Iix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxMQXQucHJvdG90eXBlLCJfdmlzaWJsZVNlcmllc0NhY2hlIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLExBdC5wcm90b3R5cGUsIl9zZXJpZXNEYXRhQ2FjaGUiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sTEF0LnByb3RvdHlwZSwiX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZCIsdm9pZCAwKSx0KFthKCJ4VHlwZSIsImNvbG9yU2NhbGUiLCJfYXR0YWNoZWQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLExBdC5wcm90b3R5cGUsIl9tYWtlQ2hhcnQiLG51bGwpLHQoW2EoIl9jaGFydCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sTEF0LnByb3RvdHlwZSwiX3JlbG9hZEZyb21DYWNoZSIsbnVsbCksTEF0PXQoW2koInZ6LWRpc3RyaWJ1dGlvbi1jaGFydCIpXSxMQXQpO2xldCBQQXQ9Y2xhc3MgZXh0ZW5kcyhiQ3QoY3Iod2UpKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuZ2V0RGF0YUxvYWROYW1lPSh7cnVuOnR9KT0+dCx0aGlzLnJlcXVlc3REYXRhPSh0LGUsbik9Pntjb25zdCBpPUVyKCkucGx1Z2luUm91dGUoImRpc3RyaWJ1dGlvbnMiLCIvZGlzdHJpYnV0aW9ucyIpO1Byb21pc2UuYWxsKHQubWFwKCh0PT57Y29uc3Qgbj1QTyhpLHt0YWc6dC50YWcscnVuOnQucnVufSk7cmV0dXJuIHRoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdChuKS50aGVuKChuPT57ZSh7aXRlbTp0LGRhdGE6bn0pfSkpfSkpKS5maW5hbGx5KCgoKT0+e24oKX0pKX0sdGhpcy5sb2FkRGF0YUNhbGxiYWNrPSh0LGUsbik9Pntjb25zdCBpPW4ubWFwKCh0PT57Y29uc3RbZSxuLGldPXQ7cmV0dXJuIGkud2FsbF90aW1lPW5ldyBEYXRlKDFlMyplKSxpLnN0ZXA9bixpfSkpLHI9dGhpcy5nZXREYXRhTG9hZE5hbWUoZSk7dGhpcy4kLmNoYXJ0LnNldFNlcmllc0RhdGEocixpKSx0aGlzLiQuY2hhcnQuc2V0VmlzaWJsZVNlcmllcyhbcl0pfSx0aGlzLl9jb2xvclNjYWxlPXtzY2FsZTpfT30sdGhpcy5fZXhwYW5kZWQ9ITEsdGhpcy5fY2FuY2VsbGVyPW5ldyB4T31fcmVsb2FkT25SdW5UYWdDaGFuZ2UoKXt0aGlzLnJlbG9hZCgpfV91cGRhdGVEYXRhVG9Mb2FkKCl7dGhpcy5kYXRhVG9Mb2FkPVt7cnVuOnRoaXMucnVuLHRhZzp0aGlzLnRhZ31dfWdldCBfcnVuQ29sb3IoKXtyZXR1cm4gdGhpcy5fY29sb3JTY2FsZS5zY2FsZSh0aGlzLnJ1bil9cmVkcmF3KCl7dGhpcy4kLmNoYXJ0LnJlZHJhdygpfV90b2dnbGVFeHBhbmRlZCh0KXt0aGlzLnNldCgiX2V4cGFuZGVkIiwhdGhpcy5fZXhwYW5kZWQpLHRoaXMucmVkcmF3KCl9fTtQQXQudGVtcGxhdGU9eGVgCiAgICA8dGYtY2FyZC1oZWFkaW5nCiAgICAgIHRhZz0iW1t0YWddXSIKICAgICAgcnVuPSJbW3J1bl1dIgogICAgICBkaXNwbGF5LW5hbWU9IltbdGFnTWV0YWRhdGEuZGlzcGxheU5hbWVdXSIKICAgICAgZGVzY3JpcHRpb249IltbdGFnTWV0YWRhdGEuZGVzY3JpcHRpb25dXSIKICAgICAgY29sb3I9IltbX3J1bkNvbG9yXV0iCiAgICA+PC90Zi1jYXJkLWhlYWRpbmc+CiAgICA8IS0tCiAgICAgIFRoZSBtYWluIGRpc3RyaWJ1dGlvbiB0aGF0IHdlIHJlbmRlci4gRGF0YSBpcyBzZXQgZGlyZWN0bHkgd2l0aAogICAgICBcYHNldFNlcmllc0RhdGFcYCwgbm90IHdpdGggYSBib3VuZCBwcm9wZXJ0eS4KICAgIC0tPgogICAgPHZ6LWRpc3RyaWJ1dGlvbi1jaGFydAogICAgICBpZD0iY2hhcnQiCiAgICAgIHgtdHlwZT0iW1t4VHlwZV1dIgogICAgICBjb2xvci1zY2FsZT0iW1tfY29sb3JTY2FsZV1dIgogICAgPjwvdnotZGlzdHJpYnV0aW9uLWNoYXJ0PgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsiPgogICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICBzZWxlY3RlZCQ9IltbX2V4cGFuZGVkXV0iCiAgICAgICAgaWNvbj0iZnVsbHNjcmVlbiIKICAgICAgICBvbi10YXA9Il90b2dnbGVFeHBhbmRlZCIKICAgICAgPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICB3aWR0aDogMzMwcHg7CiAgICAgICAgaGVpZ2h0OiAyMzVweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgfQogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgewogICAgICAgIHdpZHRoOiA3MDBweDsKICAgICAgICBoZWlnaHQ6IDUwMHB4OwogICAgICB9CgogICAgICB2ei1oaXN0b2dyYW0tdGltZXNlcmllcyB7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICBwYXBlci1pY29uLWJ1dHRvbiB7CiAgICAgICAgY29sb3I6ICMyMTk2ZjM7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CiAgICAgIHBhcGVyLWljb24tYnV0dG9uW3NlbGVjdGVkXSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTsKICAgICAgfQoKICAgICAgdGYtY2FyZC1oZWFkaW5nIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sUEF0LnByb3RvdHlwZSwicnVuIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFBBdC5wcm90b3R5cGUsInRhZyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxQQXQucHJvdG90eXBlLCJ0YWdNZXRhZGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxQQXQucHJvdG90eXBlLCJ4VHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxQQXQucHJvdG90eXBlLCJnZXREYXRhTG9hZE5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sUEF0LnByb3RvdHlwZSwibG9hZERhdGFDYWxsYmFjayIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxQQXQucHJvdG90eXBlLCJfY29sb3JTY2FsZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxQQXQucHJvdG90eXBlLCJfZXhwYW5kZWQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxQQXQucHJvdG90eXBlLCJyZXF1ZXN0TWFuYWdlciIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIix4TyldLFBBdC5wcm90b3R5cGUsIl9jYW5jZWxsZXIiLHZvaWQgMCksdChbYSgicnVuIiwidGFnIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxQQXQucHJvdG90eXBlLCJfcmVsb2FkT25SdW5UYWdDaGFuZ2UiLG51bGwpLHQoW2EoInJ1biIsInRhZyIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sUEF0LnByb3RvdHlwZSwiX3VwZGF0ZURhdGFUb0xvYWQiLG51bGwpLHQoW3MoInJ1biIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLFBBdC5wcm90b3R5cGUsIl9ydW5Db2xvciIsbnVsbCksUEF0PXQoW2koInRmLWRpc3RyaWJ1dGlvbi1sb2FkZXIiKV0sUEF0KTtsZXQgTkF0PWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5yZWxvYWRPblJlYWR5PSEwLHRoaXMuX3hUeXBlPSJzdGVwIix0aGlzLl9yZXF1ZXN0TWFuYWdlcj1uZXcgYnJ9cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMucmVsb2FkT25SZWFkeSYmdGhpcy5yZWxvYWQoKX1yZWxvYWQoKXt0aGlzLl9mZXRjaFRhZ3MoKS50aGVuKCgoKT0+e3RoaXMuX3JlbG9hZERpc3RyaWJ1dGlvbnMoKX0pKX1fZmV0Y2hUYWdzKCl7Y29uc3QgdD1FcigpLnBsdWdpblJvdXRlKCJkaXN0cmlidXRpb25zIiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0KS50aGVuKCh0PT57aWYoQ2UuZXhwb3J0cy5pc0VxdWFsKHQsdGhpcy5fcnVuVG9UYWdJbmZvKSlyZXR1cm47Y29uc3QgZT1DZS5leHBvcnRzLm1hcFZhbHVlcyh0LCh0PT5PYmplY3Qua2V5cyh0KSkpLG49ZnIoZSk7dGhpcy5zZXQoIl9kYXRhTm90Rm91bmQiLDA9PT1uLmxlbmd0aCksdGhpcy5zZXQoIl9ydW5Ub1RhZyIsZSksdGhpcy5zZXQoIl9ydW5Ub1RhZ0luZm8iLHQpLHRoaXMuYXN5bmMoKCgpPT57dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pKX0pKX1fcmVsb2FkRGlzdHJpYnV0aW9ucygpe3RoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1kaXN0cmlidXRpb24tbG9hZGVyIikuZm9yRWFjaCgodD0+e3QucmVsb2FkKCl9KSl9X3Nob3VsZE9wZW4odCl7cmV0dXJuIHQ8PTJ9Z2V0IF9jYXRlZ29yaWVzKCl7cmV0dXJuIElyKHRoaXMuX3J1blRvVGFnLHRoaXMuX3NlbGVjdGVkUnVucyx0aGlzLl90YWdGaWx0ZXIpfV90YWdNZXRhZGF0YSh0LGUsbil7cmV0dXJuIHRbZV1bbl19fTtOQXQudGVtcGxhdGU9eGVgCiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciIgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3MiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvcgogICAgICAgICAgICAgIGlkPSJ4VHlwZVNlbGVjdG9yIgogICAgICAgICAgICAgIG5hbWU9Ikhvcml6b250YWwgYXhpcyIKICAgICAgICAgICAgICBzZWxlY3RlZC1pZD0ie3tfeFR5cGV9fSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24gaWQ9InN0ZXAiPnN0ZXA8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJyZWxhdGl2ZSI+cmVsYXRpdmU8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJ3YWxsX3RpbWUiPndhbGw8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24gcnVucy1zZWxlY3RvciI+CiAgICAgICAgICA8dGYtcnVucy1zZWxlY3RvciBzZWxlY3RlZC1ydW5zPSJ7e19zZWxlY3RlZFJ1bnN9fSI+CiAgICAgICAgICA8L3RmLXJ1bnMtc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iY2VudGVyIiBzbG90PSJjZW50ZXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPk5vIGRpc3RyaWJ1dGlvbiBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgWW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSBoaXN0b2dyYW0gZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLgogICAgICAgICAgICAgICAgKEhpc3RvZ3JhbXMgYW5kIGRpc3RyaWJ1dGlvbnMgYm90aCB1c2UgdGhlIGhpc3RvZ3JhbSBzdW1tYXJ5CiAgICAgICAgICAgICAgICBvcGVyYXRpb24uKQogICAgICAgICAgICAgIDwvbGk+CgogICAgICAgICAgICAgIDxsaT5UZW5zb3JCb2FyZCBjYW7igJl0IGZpbmQgeW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8KICAgICAgICAgICAgICBhZGQgZGF0YSBhbmQgc2V0IHVwIHlvdXIgZXZlbnQgZmlsZXMsIGNoZWNrIG91dCB0aGUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIgogICAgICAgICAgICAgICAgPlJFQURNRTwvYQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvc3VtbWFyaWVzX2FuZF90ZW5zb3Jib2FyZCIKICAgICAgICAgICAgICAgID5UZW5zb3JCb2FyZCB0dXRvcmlhbDwvYQogICAgICAgICAgICAgID4uCiAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdSB0aGluayBUZW5zb3JCb2FyZCBpcyBjb25maWd1cmVkIHByb3Blcmx5LCBwbGVhc2Ugc2VlCiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciCiAgICAgICAgICAgICAgICA+dGhlIHNlY3Rpb24gb2YgdGhlIFJFQURNRSBkZXZvdGVkIHRvIG1pc3NpbmcgZGF0YSBwcm9ibGVtczwvYQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8dGYtdGFnLWZpbHRlcmVyIHRhZy1maWx0ZXI9Int7X3RhZ0ZpbHRlcn19Ij48L3RmLXRhZy1maWx0ZXJlcj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2NhdGVnb3JpZXNdXSIgYXM9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgPHRmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3CiAgICAgICAgICAgICAgY2F0ZWdvcnk9IltbY2F0ZWdvcnldXSIKICAgICAgICAgICAgICBpbml0aWFsLW9wZW5lZD0iW1tfc2hvdWxkT3BlbihpbmRleCldXSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDx0Zi1kaXN0cmlidXRpb24tbG9hZGVyCiAgICAgICAgICAgICAgICAgIGFjdGl2ZT0iW1thY3RpdmVdXSIKICAgICAgICAgICAgICAgICAgcnVuPSJbW2l0ZW0ucnVuXV0iCiAgICAgICAgICAgICAgICAgIHRhZz0iW1tpdGVtLnRhZ11dIgogICAgICAgICAgICAgICAgICB0YWctbWV0YWRhdGE9IltbX3RhZ01ldGFkYXRhKF9ydW5Ub1RhZ0luZm8sIGl0ZW0ucnVuLCBpdGVtLnRhZyldXSIKICAgICAgICAgICAgICAgICAgeC10eXBlPSJbW194VHlwZV1dIgogICAgICAgICAgICAgICAgICByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iCiAgICAgICAgICAgICAgICA+PC90Zi1kaXN0cmlidXRpb24tbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxOQXQucHJvdG90eXBlLCJyZWxvYWRPblJlYWR5Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLE5BdC5wcm90b3R5cGUsIl94VHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sTkF0LnByb3RvdHlwZSwiX3NlbGVjdGVkUnVucyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxOQXQucHJvdG90eXBlLCJfcnVuVG9UYWciLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sTkF0LnByb3RvdHlwZSwiX3J1blRvVGFnSW5mbyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLE5BdC5wcm90b3R5cGUsIl9kYXRhTm90Rm91bmQiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sTkF0LnByb3RvdHlwZSwiX3RhZ0ZpbHRlciIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLE5BdC5wcm90b3R5cGUsIl9jYXRlZ29yaWVzRG9tUmVhZHkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxOQXQucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbcygiX3J1blRvVGFnIiwiX3NlbGVjdGVkUnVucyIsIl90YWdGaWx0ZXIiLCJfY2F0ZWdvcmllc0RvbVJlYWR5IiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxOQXQucHJvdG90eXBlLCJfY2F0ZWdvcmllcyIsbnVsbCksTkF0PXQoW2koInRmLWRpc3RyaWJ1dGlvbi1kYXNoYm9hcmQiKV0sTkF0KTt2YXIgSUF0PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLExpc3RlbktleTpNcyxhZGRIYXNoTGlzdGVuZXI6Q3MsYWRkU3RvcmFnZUxpc3RlbmVyOkFzLGZpcmVTdG9yYWdlQ2hhbmdlZDprcyxyZW1vdmVIYXNoTGlzdGVuZXJCeUtleTpMcyxyZW1vdmVTdG9yYWdlTGlzdGVuZXJCeUtleTpQcyxnZXRVcmxIYXNoRGljdDpmdW5jdGlvbiBSQXQoKXtyZXR1cm4gRnN9LERJU0FNQklHVUFUT1I6V3MsZ2V0U3RyaW5nOnFzLHNldFN0cmluZzpZcyxnZXRTdHJpbmdJbml0aWFsaXplcjpYcyxnZXRTdHJpbmdPYnNlcnZlcjokcyxkaXNwb3NlU3RyaW5nQmluZGluZzpLcyxnZXRCb29sZWFuOlpzLHNldEJvb2xlYW46SnMsZ2V0Qm9vbGVhbkluaXRpYWxpemVyOlFzLGdldEJvb2xlYW5PYnNlcnZlcjp0bCxkaXNwb3NlQm9vbGVhbkJpbmRpbmc6ZWwsZ2V0TnVtYmVyOm5sLHNldE51bWJlcjppbCxnZXROdW1iZXJJbml0aWFsaXplcjpybCxnZXROdW1iZXJPYnNlcnZlcjpvbCxkaXNwb3NlTnVtYmVyQmluZGluZzphbCxnZXRPYmplY3Q6c2wsc2V0T2JqZWN0OmxsLGdldE9iamVjdEluaXRpYWxpemVyOmNsLGdldE9iamVjdE9ic2VydmVyOnVsLGRpc3Bvc2VPYmplY3RCaW5kaW5nOmhsLG1ha2VCaW5kaW5nczpkbCxtaWdyYXRlTGVnYWN5VVJMU2NoZW1lOmZ1bmN0aW9uIE9BdCgpe2NvbnN0IHQ9bmV3IFNldChbImV4YW1wbGVzUGF0aCIsImhpZGVNb2RlbFBhbmUyIiwibW9kZWxOYW1lMSIsIm1vZGVsTmFtZTIiLCJpbmZlcmVuY2VBZGRyZXNzMSIsImluZmVyZW5jZUFkZHJlc3MyIiwibW9kZWxUeXBlIiwibW9kZWxWZXJzaW9uMSIsIm1vZGVsVmVyc2lvbjIiLCJtb2RlbFNpZ25hdHVyZTEiLCJtb2RlbFNpZ25hdHVyZTIiLCJtYXhFeGFtcGxlcyIsImxhYmVsVm9jYWJQYXRoIiwibXVsdGlDbGFzcyIsInNlcXVlbmNlRXhhbXBsZXMiLCJtYXhDbGFzc2VzVG9EaXNwbGF5Iiwic2FtcGxpbmdPZGRzIiwidXNlUHJlZGljdEFwaSIsInByZWRpY3RJbnB1dFRlbnNvciIsInByZWRpY3RPdXRwdXRUZW5zb3IiXSksZT1VcyhWcygpKTtpZigid2hhdGlmIj09PWUuX190YWJfXylmb3IobGV0IG4gb2YgdClpZihuIGluIGUpe2VbYHAud2hhdGlmLiR7bn1gXT1lW25dfWpzKEdzKGUpKSwoZnVuY3Rpb24gbih0KXtGcz10fSkoZSl9fSk7dmFyIHpBdCxEQXQ7IShmdW5jdGlvbih0KXt0LkZFVENIX1BCVFhUX0JZVEVTPSJGRVRDSF9QQlRYVF9CWVRFUyIsdC5GRVRDSF9QQlRYVF9CWVRFU19GUk9NX0ZJTEVTWVNURU09IkZFVENIX1BCVFhUX0JZVEVTX0ZST01fRklMRVNZU1RFTSIsdC5GRVRDSF9QQlRYVF9CWVRFU19GUk9NX1NFUlZFUj0iRkVUQ0hfUEJUWFRfQllURVNfRlJPTV9TRVJWRVIiLHQuUEFSU0VfUEJUWFRfSU5UT19PQkpFQ1Q9IlBBUlNFX1BCVFhUX0lOVE9fT0JKRUNUIix0LkZFVENIX01FVEFEQVRBX1BCVFhUX0JZVEVTPSJGRVRDSF9NRVRBREFUQV9QQlRYVF9CWVRFUyIsdC5QQVJTRV9NRVRBREFUQV9QQlRYVF9JTlRPX09CSkVDVD0iUEFSU0VfTUVUQURBVEFfUEJUWFRfSU5UT19PQkpFQ1QiLHQuTk9STUFMSVpJTkdfTkFNRVM9Ik5PUk1BTElaSU5HX05BTUVTIix0LkJVSUxEX1NMSU1fR1JBUEg9IkJVSUxEX1NMSU1fR1JBUEgiLHQuSElFUkFSQ0hZX0FERF9OT0RFUz0iSElFUkFSQ0hZX0FERF9OT0RFUyIsdC5ISUVSQVJDSFlfREVURUNUX1NFUklFUz0iSElFUkFSQ0hZX0RFVEVDVF9TRVJJRVMiLHQuSElFUkFSQ0hZX0FERF9FREdFUz0iSElFUkFSQ0hZX0FERF9FREdFUyIsdC5ISUVSQVJDSFlfRklORF9TSU1JTEFSX1NVQkdSQVBIUz0iSElFUkFSQ0hZX0ZJTkRfU0lNSUxBUl9TVUJHUkFQSFMiLHQuUkVOREVSX0JVSUxEX0hJRVJBUkNIWT0iUkVOREVSX0JVSUxEX0hJRVJBUkNIWSIsdC5SRU5ERVJfU0NFTkVfTEFZT1VUPSJSRU5ERVJfU0NFTkVfTEFZT1VUIix0LlJFTkRFUl9TQ0VORV9CVUlMRF9TQ0VORT0iUkVOREVSX1NDRU5FX0JVSUxEX1NDRU5FIix0LkdSQVBIX0xPQURfU1VDQ0VFREVEPSJHUkFQSF9MT0FEX1NVQ0NFRURFRCIsdC5HUkFQSF9MT0FEX0ZBSUxFRD0iR1JBUEhfTE9BRF9GQUlMRUQifSkoekF0fHwoekF0PXt9KSksKGZ1bmN0aW9uKHQpe3QuTk9ERV9FWFBBTlNJT05fVE9HR0xFRD0iTk9ERV9FWFBBTlNJT05fVE9HR0xFRCIsdC5OT0RFX1NFQVJDSF9SRVNVTFRfRk9DVVNFRD0iTk9ERV9TRUFSQ0hfUkVTVUxUX0ZPQ1VTRUQiLHQuTk9ERV9BVVhJTElBUllfRVhUUkFDVElPTl9DSEFOR0VEPSJOT0RFX0FVWElMSUFSWV9FWFRSQUNUSU9OX0NIQU5HRUQiLHQuR1JBUEhfVFlQRV9DSEFOR0VEPSJHUkFQSF9UWVBFX0NIQU5HRUQiLHQuVFJBQ0VfSU5QVVRfTU9ERV9UT0dHTEVEPSJUUkFDRV9JTlBVVF9NT0RFX1RPR0dMRUQiLHQuTk9ERV9DT0xPUl9NT0RFX0NIQU5HRUQ9Ik5PREVfQ09MT1JfTU9ERV9DSEFOR0VEIix0LlVQTE9BREVEX0dSQVBIX0ZST01fRklMRVNZU1RFTT0iVVBMT0FERURfR1JBUEhfRlJPTV9GSUxFU1lTVEVNIn0pKERBdHx8KERBdD17fSkpO2NvbnN0IEJBdD1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sekF0KSxEQXQpO3ZhciBIQXQ9ZnVuY3Rpb24gRkF0KHQsZSl7cmV0dXJuIHQ9PT1lfHx0IT10JiZlIT1lfSxWQXQ9SEF0O3ZhciBVQXQ9ZnVuY3Rpb24gakF0KHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoVkF0KHRbbl1bMF0sZSkpcmV0dXJuIG47cmV0dXJuLTF9LEdBdD1VQXQsV0F0PUFycmF5LnByb3RvdHlwZS5zcGxpY2U7dmFyIHFBdD1VQXQ7dmFyIFlBdD1VQXQ7dmFyIFhBdD1VQXQ7dmFyICRBdD1mdW5jdGlvbiBLQXQodCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPUdBdChlLHQpO3JldHVybiEobjwwKSYmKG49PWUubGVuZ3RoLTE/ZS5wb3AoKTpXQXQuY2FsbChlLG4sMSksLS10aGlzLnNpemUsITApfSxaQXQ9ZnVuY3Rpb24gSkF0KHQpe3ZhciBlPXRoaXMuX19kYXRhX18sbj1xQXQoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfSxRQXQ9ZnVuY3Rpb24gdGt0KHQpe3JldHVybiBZQXQodGhpcy5fX2RhdGFfXyx0KT4tMX0sZWt0PWZ1bmN0aW9uIG5rdCh0LGUpe3ZhciBuPXRoaXMuX19kYXRhX18saT1YQXQobix0KTtyZXR1cm4gaTwwPygrK3RoaXMuc2l6ZSxuLnB1c2goW3QsZV0pKTpuW2ldWzFdPWUsdGhpc307ZnVuY3Rpb24gaWt0KHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgaT10W2VdO3RoaXMuc2V0KGlbMF0saVsxXSl9fWlrdC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24gcmt0KCl7dGhpcy5fX2RhdGFfXz1bXSx0aGlzLnNpemU9MH0saWt0LnByb3RvdHlwZS5kZWxldGU9JEF0LGlrdC5wcm90b3R5cGUuZ2V0PVpBdCxpa3QucHJvdG90eXBlLmhhcz1RQXQsaWt0LnByb3RvdHlwZS5zZXQ9ZWt0O3ZhciBva3Q9aWt0LGFrdD1va3Q7dmFyIHNrdD1mdW5jdGlvbiBsa3QoKXt0aGlzLl9fZGF0YV9fPW5ldyBha3QsdGhpcy5zaXplPTB9O3ZhciBja3Q9ZnVuY3Rpb24gdWt0KHQpe3ZhciBlPXRoaXMuX19kYXRhX18sbj1lLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPWUuc2l6ZSxufTt2YXIgaGt0PWZ1bmN0aW9uIGRrdCh0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5nZXQodCl9O3ZhciBwa3Q9ZnVuY3Rpb24gZmt0KHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmhhcyh0KX0sbWt0PSJvYmplY3QiPT10eXBlb2YgU2UmJlNlJiZTZS5PYmplY3Q9PT1PYmplY3QmJlNlLGdrdD0ib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLF9rdD1ta3R8fGdrdHx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSx5a3Q9X2t0LlN5bWJvbCx2a3Q9T2JqZWN0LnByb3RvdHlwZSxia3Q9dmt0Lmhhc093blByb3BlcnR5LHhrdD12a3QudG9TdHJpbmcsd2t0PXlrdD95a3QudG9TdHJpbmdUYWc6dm9pZCAwO3ZhciBTa3Q9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzt2YXIgTWt0PWZ1bmN0aW9uIEVrdCh0KXt2YXIgZT1ia3QuY2FsbCh0LHdrdCksbj10W3drdF07dHJ5e3Rbd2t0XT12b2lkIDA7dmFyIGk9ITB9Y2F0Y2godCl7fXZhciByPXhrdC5jYWxsKHQpO3JldHVybiBpJiYoZT90W3drdF09bjpkZWxldGUgdFt3a3RdKSxyfSxUa3Q9ZnVuY3Rpb24gQ2t0KHQpe3JldHVybiBTa3QuY2FsbCh0KX0sQWt0PXlrdD95a3QudG9TdHJpbmdUYWc6dm9pZCAwO3ZhciBra3Q9ZnVuY3Rpb24gTGt0KHQpe3JldHVybiBudWxsPT10P3ZvaWQgMD09PXQ/IltvYmplY3QgVW5kZWZpbmVkXSI6IltvYmplY3QgTnVsbF0iOkFrdCYmQWt0IGluIE9iamVjdCh0KT9Na3QodCk6VGt0KHQpfTt2YXIgUGt0PWZ1bmN0aW9uIE5rdCh0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4gbnVsbCE9dCYmKCJvYmplY3QiPT1lfHwiZnVuY3Rpb24iPT1lKX0sSWt0PWtrdCxSa3Q9UGt0O3ZhciBPa3Qsemt0PWZ1bmN0aW9uIERrdCh0KXtpZighUmt0KHQpKXJldHVybiExO3ZhciBlPUlrdCh0KTtyZXR1cm4iW29iamVjdCBGdW5jdGlvbl0iPT1lfHwiW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0iPT1lfHwiW29iamVjdCBBc3luY0Z1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IFByb3h5XSI9PWV9LEJrdD1fa3RbIl9fY29yZS1qc19zaGFyZWRfXyJdLEhrdD0oT2t0PS9bXi5dKyQvLmV4ZWMoQmt0JiZCa3Qua2V5cyYmQmt0LmtleXMuSUVfUFJPVE98fCIiKSk/IlN5bWJvbChzcmMpXzEuIitPa3Q6IiI7dmFyIEZrdD1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7dmFyIFZrdD1mdW5jdGlvbiBVa3QodCl7aWYobnVsbCE9dCl7dHJ5e3JldHVybiBGa3QuY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9LGprdD16a3QsR2t0PWZ1bmN0aW9uIFdrdCh0KXtyZXR1cm4hIUhrdCYmSGt0IGluIHR9LHFrdD1Qa3QsWWt0PVZrdCxYa3Q9L15cW29iamVjdCAuKz9Db25zdHJ1Y3RvclxdJC8sJGt0PVJlZ0V4cCgiXiIrRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSkucmVwbGFjZSgvW1xcXiQuKis/KClbXF17fXxdL2csIlxcJCYiKS5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcKCl8IGZvciAuKz8oPz1cXFxdKS9nLCIkMS4qPyIpKyIkIik7dmFyIEtrdD1mdW5jdGlvbiBaa3QodCl7cmV0dXJuISghcWt0KHQpfHxHa3QodCkpJiYoamt0KHQpPyRrdDpYa3QpLnRlc3QoWWt0KHQpKX0sSmt0PWZ1bmN0aW9uIFFrdCh0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTt2YXIgdEx0PWZ1bmN0aW9uIGVMdCh0LGUpe3ZhciBuPUprdCh0LGUpO3JldHVybiBLa3Qobik/bjp2b2lkIDB9LG5MdD10THQoX2t0LCJNYXAiKSxpTHQ9dEx0KE9iamVjdCwiY3JlYXRlIiksckx0PWlMdDt2YXIgb0x0PWlMdCxhTHQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgc0x0PWlMdCxsTHQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgY0x0PWlMdDt2YXIgdUx0PWZ1bmN0aW9uIGhMdCh0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX0sZEx0PWZ1bmN0aW9uIHBMdCh0KXt2YXIgZT10aGlzLl9fZGF0YV9fO2lmKG9MdCl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBhTHQuY2FsbChlLHQpP2VbdF06dm9pZCAwfSxmTHQ9ZnVuY3Rpb24gbUx0KHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIHNMdD92b2lkIDAhPT1lW3RdOmxMdC5jYWxsKGUsdCl9LGdMdD1mdW5jdGlvbiBfTHQodCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fO3JldHVybiB0aGlzLnNpemUrPXRoaXMuaGFzKHQpPzA6MSxuW3RdPWNMdCYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiB5THQodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBpPXRbZV07dGhpcy5zZXQoaVswXSxpWzFdKX19eUx0LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbiB2THQoKXt0aGlzLl9fZGF0YV9fPXJMdD9yTHQobnVsbCk6e30sdGhpcy5zaXplPTB9LHlMdC5wcm90b3R5cGUuZGVsZXRlPXVMdCx5THQucHJvdG90eXBlLmdldD1kTHQseUx0LnByb3RvdHlwZS5oYXM9Zkx0LHlMdC5wcm90b3R5cGUuc2V0PWdMdDt2YXIgYkx0PXlMdCx4THQ9b2t0LHdMdD1uTHQ7dmFyIFNMdD1mdW5jdGlvbiBNTHQodCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07dmFyIEVMdD1mdW5jdGlvbiBUTHQodCxlKXt2YXIgbj10Ll9fZGF0YV9fO3JldHVybiBTTHQoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH0sQ0x0PUVMdDt2YXIgQUx0PUVMdDt2YXIga0x0PUVMdDt2YXIgTEx0PUVMdDt2YXIgUEx0PWZ1bmN0aW9uIE5MdCh0KXt2YXIgZT1DTHQodGhpcyx0KS5kZWxldGUodCk7cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX0sSUx0PWZ1bmN0aW9uIFJMdCh0KXtyZXR1cm4gQUx0KHRoaXMsdCkuZ2V0KHQpfSxPTHQ9ZnVuY3Rpb24gekx0KHQpe3JldHVybiBrTHQodGhpcyx0KS5oYXModCl9LERMdD1mdW5jdGlvbiBCTHQodCxlKXt2YXIgbj1MTHQodGhpcyx0KSxpPW4uc2l6ZTtyZXR1cm4gbi5zZXQodCxlKSx0aGlzLnNpemUrPW4uc2l6ZT09aT8wOjEsdGhpc307ZnVuY3Rpb24gSEx0KHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgaT10W2VdO3RoaXMuc2V0KGlbMF0saVsxXSl9fUhMdC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24gRkx0KCl7dGhpcy5zaXplPTAsdGhpcy5fX2RhdGFfXz17aGFzaDpuZXcgYkx0LG1hcDpuZXcod0x0fHx4THQpLHN0cmluZzpuZXcgYkx0fX0sSEx0LnByb3RvdHlwZS5kZWxldGU9UEx0LEhMdC5wcm90b3R5cGUuZ2V0PUlMdCxITHQucHJvdG90eXBlLmhhcz1PTHQsSEx0LnByb3RvdHlwZS5zZXQ9REx0O3ZhciBWTHQ9SEx0LFVMdD1va3Qsakx0PW5MdCxHTHQ9Vkx0O3ZhciBXTHQ9b2t0LHFMdD1ja3QsWUx0PWhrdCxYTHQ9cGt0LCRMdD1mdW5jdGlvbiBLTHQodCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fO2lmKG4gaW5zdGFuY2VvZiBVTHQpe3ZhciBpPW4uX19kYXRhX187aWYoIWpMdHx8aS5sZW5ndGg8MTk5KXJldHVybiBpLnB1c2goW3QsZV0pLHRoaXMuc2l6ZT0rK24uc2l6ZSx0aGlzO249dGhpcy5fX2RhdGFfXz1uZXcgR0x0KGkpfXJldHVybiBuLnNldCh0LGUpLHRoaXMuc2l6ZT1uLnNpemUsdGhpc307ZnVuY3Rpb24gWkx0KHQpe3ZhciBlPXRoaXMuX19kYXRhX189bmV3IFdMdCh0KTt0aGlzLnNpemU9ZS5zaXplfVpMdC5wcm90b3R5cGUuY2xlYXI9c2t0LFpMdC5wcm90b3R5cGUuZGVsZXRlPXFMdCxaTHQucHJvdG90eXBlLmdldD1ZTHQsWkx0LnByb3RvdHlwZS5oYXM9WEx0LFpMdC5wcm90b3R5cGUuc2V0PSRMdDt2YXIgSkx0PVpMdDt2YXIgUUx0PWZ1bmN0aW9uIHRQdCh0LGUpe2Zvcih2YXIgbj0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK248aSYmITEhPT1lKHRbbl0sbix0KTspO3JldHVybiB0fSxlUHQ9dEx0LG5QdD0oZnVuY3Rpb24oKXt0cnl7dmFyIHQ9ZVB0KE9iamVjdCwiZGVmaW5lUHJvcGVydHkiKTtyZXR1cm4gdCh7fSwiIix7fSksdH1jYXRjaCh0KXt9fSkoKSxpUHQ9blB0O3ZhciByUHQ9ZnVuY3Rpb24gb1B0KHQsZSxuKXsiX19wcm90b19fIj09ZSYmaVB0P2lQdCh0LGUse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOm4sd3JpdGFibGU6ITB9KTp0W2VdPW59LGFQdD1yUHQsc1B0PUhBdCxsUHQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgY1B0PWZ1bmN0aW9uIHVQdCh0LGUsbil7dmFyIGk9dFtlXTtsUHQuY2FsbCh0LGUpJiZzUHQoaSxuKSYmKHZvaWQgMCE9PW58fGUgaW4gdCl8fGFQdCh0LGUsbil9LGhQdD1jUHQsZFB0PXJQdDt2YXIgcFB0PWZ1bmN0aW9uIGZQdCh0LGUsbixpKXt2YXIgcj0hbjtufHwobj17fSk7Zm9yKHZhciBvPS0xLGE9ZS5sZW5ndGg7KytvPGE7KXt2YXIgcz1lW29dLGw9aT9pKG5bc10sdFtzXSxzLG4sdCk6dm9pZCAwO3ZvaWQgMD09PWwmJihsPXRbc10pLHI/ZFB0KG4scyxsKTpoUHQobixzLGwpfXJldHVybiBufTt2YXIgbVB0PWZ1bmN0aW9uIGdQdCh0LGUpe2Zvcih2YXIgbj0tMSxpPUFycmF5KHQpOysrbjx0OylpW25dPWUobik7cmV0dXJuIGl9O3ZhciBfUHQ9ZnVuY3Rpb24geVB0KHQpe3JldHVybiBudWxsIT10JiYib2JqZWN0Ij09dHlwZW9mIHR9LHZQdD1ra3QsYlB0PV9QdDt2YXIgeFB0PWZ1bmN0aW9uIHdQdCh0KXtyZXR1cm4gYlB0KHQpJiYiW29iamVjdCBBcmd1bWVudHNdIj09dlB0KHQpfSxTUHQ9X1B0LE1QdD1PYmplY3QucHJvdG90eXBlLEVQdD1NUHQuaGFzT3duUHJvcGVydHksVFB0PU1QdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSxDUHQ9eFB0KChmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KSgpKT94UHQ6ZnVuY3Rpb24odCl7cmV0dXJuIFNQdCh0KSYmRVB0LmNhbGwodCwiY2FsbGVlIikmJiFUUHQuY2FsbCh0LCJjYWxsZWUiKX0sQVB0PUFycmF5LmlzQXJyYXksa1B0PXtleHBvcnRzOnt9fTt2YXIgTFB0PWZ1bmN0aW9uIFBQdCgpe3JldHVybiExfTshKGZ1bmN0aW9uKHQsZSl7dmFyIG49ZSYmIWUubm9kZVR5cGUmJmUsaT1uJiZ0JiYhdC5ub2RlVHlwZSYmdCxyPWkmJmkuZXhwb3J0cz09PW4/X2t0LkJ1ZmZlcjp2b2lkIDA7dC5leHBvcnRzPShyP3IuaXNCdWZmZXI6dm9pZCAwKXx8TFB0fSkoa1B0LGtQdC5leHBvcnRzKTt2YXIgTlB0PS9eKD86MHxbMS05XVxkKikkLzt2YXIgSVB0PWZ1bmN0aW9uIFJQdCh0LGUpe3ZhciBuPXR5cGVvZiB0O3JldHVybiEhKGU9bnVsbD09ZT85MDA3MTk5MjU0NzQwOTkxOmUpJiYoIm51bWJlciI9PW58fCJzeW1ib2wiIT1uJiZOUHQudGVzdCh0KSkmJnQ+LTEmJnQlMT09MCYmdDxlfTt2YXIgT1B0PWZ1bmN0aW9uIHpQdCh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJnQ+LTEmJnQlMT09MCYmdDw9OTAwNzE5OTI1NDc0MDk5MX0sRFB0PWtrdCxCUHQ9T1B0LEhQdD1fUHQsRlB0PXt9O0ZQdFsiW29iamVjdCBGbG9hdDMyQXJyYXldIl09RlB0WyJbb2JqZWN0IEZsb2F0NjRBcnJheV0iXT1GUHRbIltvYmplY3QgSW50OEFycmF5XSJdPUZQdFsiW29iamVjdCBJbnQxNkFycmF5XSJdPUZQdFsiW29iamVjdCBJbnQzMkFycmF5XSJdPUZQdFsiW29iamVjdCBVaW50OEFycmF5XSJdPUZQdFsiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iXT1GUHRbIltvYmplY3QgVWludDE2QXJyYXldIl09RlB0WyJbb2JqZWN0IFVpbnQzMkFycmF5XSJdPSEwLEZQdFsiW29iamVjdCBBcmd1bWVudHNdIl09RlB0WyJbb2JqZWN0IEFycmF5XSJdPUZQdFsiW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1GUHRbIltvYmplY3QgQm9vbGVhbl0iXT1GUHRbIltvYmplY3QgRGF0YVZpZXddIl09RlB0WyJbb2JqZWN0IERhdGVdIl09RlB0WyJbb2JqZWN0IEVycm9yXSJdPUZQdFsiW29iamVjdCBGdW5jdGlvbl0iXT1GUHRbIltvYmplY3QgTWFwXSJdPUZQdFsiW29iamVjdCBOdW1iZXJdIl09RlB0WyJbb2JqZWN0IE9iamVjdF0iXT1GUHRbIltvYmplY3QgUmVnRXhwXSJdPUZQdFsiW29iamVjdCBTZXRdIl09RlB0WyJbb2JqZWN0IFN0cmluZ10iXT1GUHRbIltvYmplY3QgV2Vha01hcF0iXT0hMTt2YXIgVlB0PWZ1bmN0aW9uIFVQdCh0KXtyZXR1cm4gSFB0KHQpJiZCUHQodC5sZW5ndGgpJiYhIUZQdFtEUHQodCldfTt2YXIgalB0PWZ1bmN0aW9uIEdQdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fSxXUHQ9e2V4cG9ydHM6e319OyEoZnVuY3Rpb24odCxlKXt2YXIgbj1lJiYhZS5ub2RlVHlwZSYmZSxpPW4mJnQmJiF0Lm5vZGVUeXBlJiZ0LHI9aSYmaS5leHBvcnRzPT09biYmbWt0LnByb2Nlc3Msbz0oZnVuY3Rpb24oKXt0cnl7dmFyIHQ9aSYmaS5yZXF1aXJlJiZpLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8ciYmci5iaW5kaW5nJiZyLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSkoKTt0LmV4cG9ydHM9b30pKFdQdCxXUHQuZXhwb3J0cyk7dmFyIHFQdD1WUHQsWVB0PVdQdC5leHBvcnRzLFhQdD1ZUHQmJllQdC5pc1R5cGVkQXJyYXksJFB0PVhQdD9qUHQoWFB0KTpxUHQsS1B0PW1QdCxaUHQ9Q1B0LEpQdD1BUHQsUVB0PWtQdC5leHBvcnRzLHROdD1JUHQsZU50PSRQdCxuTnQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgaU50PWZ1bmN0aW9uIHJOdCh0LGUpe3ZhciBuPUpQdCh0KSxpPSFuJiZaUHQodCkscj0hbiYmIWkmJlFQdCh0KSxvPSFuJiYhaSYmIXImJmVOdCh0KSxhPW58fGl8fHJ8fG8scz1hP0tQdCh0Lmxlbmd0aCxTdHJpbmcpOltdLGw9cy5sZW5ndGg7Zm9yKHZhciBjIGluIHQpIWUmJiFuTnQuY2FsbCh0LGMpfHxhJiYoImxlbmd0aCI9PWN8fHImJigib2Zmc2V0Ij09Y3x8InBhcmVudCI9PWMpfHxvJiYoImJ1ZmZlciI9PWN8fCJieXRlTGVuZ3RoIj09Y3x8ImJ5dGVPZmZzZXQiPT1jKXx8dE50KGMsbCkpfHxzLnB1c2goYyk7cmV0dXJuIHN9LG9OdD1PYmplY3QucHJvdG90eXBlO3ZhciBhTnQ9ZnVuY3Rpb24gc050KHQpe3ZhciBlPXQmJnQuY29uc3RydWN0b3I7cmV0dXJuIHQ9PT0oImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUucHJvdG90eXBlfHxvTnQpfTt2YXIgbE50PWZ1bmN0aW9uIGNOdCh0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdChlKG4pKX19LHVOdD1sTnQoT2JqZWN0LmtleXMsT2JqZWN0KSxoTnQ9YU50LGROdD11TnQscE50PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIGZOdD1mdW5jdGlvbiBtTnQodCl7aWYoIWhOdCh0KSlyZXR1cm4gZE50KHQpO3ZhciBlPVtdO2Zvcih2YXIgbiBpbiBPYmplY3QodCkpcE50LmNhbGwodCxuKSYmImNvbnN0cnVjdG9yIiE9biYmZS5wdXNoKG4pO3JldHVybiBlfSxnTnQ9emt0LF9OdD1PUHQ7dmFyIHlOdD1mdW5jdGlvbiB2TnQodCl7cmV0dXJuIG51bGwhPXQmJl9OdCh0Lmxlbmd0aCkmJiFnTnQodCl9LGJOdD1pTnQseE50PWZOdCx3TnQ9eU50O3ZhciBTTnQ9ZnVuY3Rpb24gTU50KHQpe3JldHVybiB3TnQodCk/Yk50KHQpOnhOdCh0KX0sRU50PXBQdCxUTnQ9U050O3ZhciBDTnQ9ZnVuY3Rpb24gQU50KHQsZSl7cmV0dXJuIHQmJkVOdChlLFROdChlKSx0KX07dmFyIGtOdD1Qa3QsTE50PWFOdCxQTnQ9ZnVuY3Rpb24gTk50KHQpe3ZhciBlPVtdO2lmKG51bGwhPXQpZm9yKHZhciBuIGluIE9iamVjdCh0KSllLnB1c2gobik7cmV0dXJuIGV9LElOdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciBSTnQ9aU50LE9OdD1mdW5jdGlvbiB6TnQodCl7aWYoIWtOdCh0KSlyZXR1cm4gUE50KHQpO3ZhciBlPUxOdCh0KSxuPVtdO2Zvcih2YXIgaSBpbiB0KSgiY29uc3RydWN0b3IiIT1pfHwhZSYmSU50LmNhbGwodCxpKSkmJm4ucHVzaChpKTtyZXR1cm4gbn0sRE50PXlOdDt2YXIgQk50PWZ1bmN0aW9uIEhOdCh0KXtyZXR1cm4gRE50KHQpP1JOdCh0LCEwKTpPTnQodCl9LEZOdD1wUHQsVk50PUJOdDt2YXIgVU50PWZ1bmN0aW9uIGpOdCh0LGUpe3JldHVybiB0JiZGTnQoZSxWTnQoZSksdCl9LEdOdD17ZXhwb3J0czp7fX07IShmdW5jdGlvbih0LGUpe3ZhciBuPWUmJiFlLm5vZGVUeXBlJiZlLGk9biYmdCYmIXQubm9kZVR5cGUmJnQscj1pJiZpLmV4cG9ydHM9PT1uP19rdC5CdWZmZXI6dm9pZCAwLG89cj9yLmFsbG9jVW5zYWZlOnZvaWQgMDt0LmV4cG9ydHM9ZnVuY3Rpb24gYSh0LGUpe2lmKGUpcmV0dXJuIHQuc2xpY2UoKTt2YXIgbj10Lmxlbmd0aCxpPW8/byhuKTpuZXcgdC5jb25zdHJ1Y3RvcihuKTtyZXR1cm4gdC5jb3B5KGkpLGl9fSkoR050LEdOdC5leHBvcnRzKTt2YXIgV050PWZ1bmN0aW9uIHFOdCh0LGUpe3ZhciBuPS0xLGk9dC5sZW5ndGg7Zm9yKGV8fChlPUFycmF5KGkpKTsrK248aTspZVtuXT10W25dO3JldHVybiBlfTt2YXIgWU50PWZ1bmN0aW9uIFhOdCh0LGUpe2Zvcih2YXIgbj0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aCxyPTAsbz1bXTsrK248aTspe3ZhciBhPXRbbl07ZShhLG4sdCkmJihvW3IrK109YSl9cmV0dXJuIG99O3ZhciAkTnQ9ZnVuY3Rpb24gS050KCl7cmV0dXJuW119LFpOdD1ZTnQsSk50PU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsUU50PU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsdEl0PVFOdD9mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9bXToodD1PYmplY3QodCksWk50KFFOdCh0KSwoZnVuY3Rpb24oZSl7cmV0dXJuIEpOdC5jYWxsKHQsZSl9KSkpfTokTnQsZUl0PXBQdCxuSXQ9dEl0O3ZhciBpSXQ9ZnVuY3Rpb24gckl0KHQsZSl7cmV0dXJuIGVJdCh0LG5JdCh0KSxlKX07dmFyIG9JdD1mdW5jdGlvbiBhSXQodCxlKXtmb3IodmFyIG49LTEsaT1lLmxlbmd0aCxyPXQubGVuZ3RoOysrbjxpOyl0W3Irbl09ZVtuXTtyZXR1cm4gdH0sc0l0PWxOdChPYmplY3QuZ2V0UHJvdG90eXBlT2YsT2JqZWN0KSxsSXQ9b0l0LGNJdD1zSXQsdUl0PXRJdCxoSXQ9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz9mdW5jdGlvbih0KXtmb3IodmFyIGU9W107dDspbEl0KGUsdUl0KHQpKSx0PWNJdCh0KTtyZXR1cm4gZX06JE50LGRJdD1wUHQscEl0PWhJdDt2YXIgZkl0PWZ1bmN0aW9uIG1JdCh0LGUpe3JldHVybiBkSXQodCxwSXQodCksZSl9LGdJdD1vSXQsX0l0PUFQdDt2YXIgeUl0PWZ1bmN0aW9uIHZJdCh0LGUsbil7dmFyIGk9ZSh0KTtyZXR1cm4gX0l0KHQpP2k6Z0l0KGksbih0KSl9LGJJdD15SXQseEl0PXRJdCx3SXQ9U050O3ZhciBTSXQ9ZnVuY3Rpb24gTUl0KHQpe3JldHVybiBiSXQodCx3SXQseEl0KX0sRUl0PXlJdCxUSXQ9aEl0LENJdD1CTnQ7dmFyIEFJdD1mdW5jdGlvbiBrSXQodCl7cmV0dXJuIEVJdCh0LENJdCxUSXQpfSxMSXQ9dEx0KF9rdCwiRGF0YVZpZXciKSxQSXQ9dEx0KF9rdCwiUHJvbWlzZSIpLE5JdD10THQoX2t0LCJTZXQiKSxJSXQ9TEl0LFJJdD1uTHQsT0l0PVBJdCx6SXQ9Tkl0LERJdD10THQoX2t0LCJXZWFrTWFwIiksQkl0PWtrdCxISXQ9Vmt0LEZJdD0iW29iamVjdCBNYXBdIixWSXQ9IltvYmplY3QgUHJvbWlzZV0iLFVJdD0iW29iamVjdCBTZXRdIixqSXQ9IltvYmplY3QgV2Vha01hcF0iLEdJdD0iW29iamVjdCBEYXRhVmlld10iLFdJdD1ISXQoSUl0KSxxSXQ9SEl0KFJJdCksWUl0PUhJdChPSXQpLFhJdD1ISXQoekl0KSwkSXQ9SEl0KERJdCksS0l0PUJJdDsoSUl0JiZLSXQobmV3IElJdChuZXcgQXJyYXlCdWZmZXIoMSkpKSE9R0l0fHxSSXQmJktJdChuZXcgUkl0KSE9Rkl0fHxPSXQmJktJdChPSXQucmVzb2x2ZSgpKSE9Vkl0fHx6SXQmJktJdChuZXcgekl0KSE9VUl0fHxESXQmJktJdChuZXcgREl0KSE9akl0KSYmKEtJdD1mdW5jdGlvbih0KXt2YXIgZT1CSXQodCksbj0iW29iamVjdCBPYmplY3RdIj09ZT90LmNvbnN0cnVjdG9yOnZvaWQgMCxpPW4/SEl0KG4pOiIiO2lmKGkpc3dpdGNoKGkpe2Nhc2UgV0l0OnJldHVybiBHSXQ7Y2FzZSBxSXQ6cmV0dXJuIEZJdDtjYXNlIFlJdDpyZXR1cm4gVkl0O2Nhc2UgWEl0OnJldHVybiBVSXQ7Y2FzZSAkSXQ6cmV0dXJuIGpJdH1yZXR1cm4gZX0pO3ZhciBaSXQ9S0l0LEpJdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciBRSXQ9ZnVuY3Rpb24gdFJ0KHQpe3ZhciBlPXQubGVuZ3RoLG49bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIGUmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmSkl0LmNhbGwodCwiaW5kZXgiKSYmKG4uaW5kZXg9dC5pbmRleCxuLmlucHV0PXQuaW5wdXQpLG59LGVSdD1fa3QuVWludDhBcnJheSxuUnQ9ZVJ0O3ZhciBpUnQ9ZnVuY3Rpb24gclJ0KHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuYnl0ZUxlbmd0aCk7cmV0dXJuIG5ldyBuUnQoZSkuc2V0KG5ldyBuUnQodCkpLGV9LG9SdD1pUnQ7dmFyIGFSdD0vXHcqJC87dmFyIHNSdD15a3Q/eWt0LnByb3RvdHlwZTp2b2lkIDAsbFJ0PXNSdD9zUnQudmFsdWVPZjp2b2lkIDA7dmFyIGNSdD1pUnQ7dmFyIHVSdD1mdW5jdGlvbiBoUnQodCxlKXt2YXIgbj1lP2NSdCh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKG4sdC5ieXRlT2Zmc2V0LHQubGVuZ3RoKX0sZFJ0PWlSdCxwUnQ9ZnVuY3Rpb24gZlJ0KHQsZSl7dmFyIG49ZT9vUnQodC5idWZmZXIpOnQuYnVmZmVyO3JldHVybiBuZXcgdC5jb25zdHJ1Y3RvcihuLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpfSxtUnQ9ZnVuY3Rpb24gZ1J0KHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLGFSdC5leGVjKHQpKTtyZXR1cm4gZS5sYXN0SW5kZXg9dC5sYXN0SW5kZXgsZX0sX1J0PWZ1bmN0aW9uIHlSdCh0KXtyZXR1cm4gbFJ0P09iamVjdChsUnQuY2FsbCh0KSk6e319LHZSdD11UnQ7dmFyIGJSdD1mdW5jdGlvbiB4UnQodCxlLG4pe3ZhciBpPXQuY29uc3RydWN0b3I7c3dpdGNoKGUpe2Nhc2UiW29iamVjdCBBcnJheUJ1ZmZlcl0iOnJldHVybiBkUnQodCk7Y2FzZSJbb2JqZWN0IEJvb2xlYW5dIjpjYXNlIltvYmplY3QgRGF0ZV0iOnJldHVybiBuZXcgaSgrdCk7Y2FzZSJbb2JqZWN0IERhdGFWaWV3XSI6cmV0dXJuIHBSdCh0LG4pO2Nhc2UiW29iamVjdCBGbG9hdDMyQXJyYXldIjpjYXNlIltvYmplY3QgRmxvYXQ2NEFycmF5XSI6Y2FzZSJbb2JqZWN0IEludDhBcnJheV0iOmNhc2UiW29iamVjdCBJbnQxNkFycmF5XSI6Y2FzZSJbb2JqZWN0IEludDMyQXJyYXldIjpjYXNlIltvYmplY3QgVWludDhBcnJheV0iOmNhc2UiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MTZBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MzJBcnJheV0iOnJldHVybiB2UnQodCxuKTtjYXNlIltvYmplY3QgTWFwXSI6cmV0dXJuIG5ldyBpO2Nhc2UiW29iamVjdCBOdW1iZXJdIjpjYXNlIltvYmplY3QgU3RyaW5nXSI6cmV0dXJuIG5ldyBpKHQpO2Nhc2UiW29iamVjdCBSZWdFeHBdIjpyZXR1cm4gbVJ0KHQpO2Nhc2UiW29iamVjdCBTZXRdIjpyZXR1cm4gbmV3IGk7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOnJldHVybiBfUnQodCl9fSx3UnQ9UGt0LFNSdD1PYmplY3QuY3JlYXRlLE1SdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiBmdW5jdGlvbihlKXtpZighd1J0KGUpKXJldHVybnt9O2lmKFNSdClyZXR1cm4gU1J0KGUpO3QucHJvdG90eXBlPWU7dmFyIG49bmV3IHQ7cmV0dXJuIHQucHJvdG90eXBlPXZvaWQgMCxufX0pKCksRVJ0PU1SdCxUUnQ9c0l0LENSdD1hTnQ7dmFyIEFSdD1mdW5jdGlvbiBrUnQodCl7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQuY29uc3RydWN0b3J8fENSdCh0KT97fTpFUnQoVFJ0KHQpKX0sTFJ0PVpJdCxQUnQ9X1B0O3ZhciBOUnQ9ZnVuY3Rpb24gSVJ0KHQpe3JldHVybiBQUnQodCkmJiJbb2JqZWN0IE1hcF0iPT1MUnQodCl9LFJSdD1XUHQuZXhwb3J0cyxPUnQ9UlJ0JiZSUnQuaXNNYXAselJ0PU9SdD9qUHQoT1J0KTpOUnQsRFJ0PVpJdCxCUnQ9X1B0O3ZhciBIUnQ9ZnVuY3Rpb24gRlJ0KHQpe3JldHVybiBCUnQodCkmJiJbb2JqZWN0IFNldF0iPT1EUnQodCl9LFZSdD1XUHQuZXhwb3J0cyxVUnQ9VlJ0JiZWUnQuaXNTZXQsalJ0PVVSdD9qUHQoVVJ0KTpIUnQsR1J0PUpMdCxXUnQ9UUx0LHFSdD1jUHQsWVJ0PUNOdCxYUnQ9VU50LCRSdD1HTnQuZXhwb3J0cyxLUnQ9V050LFpSdD1pSXQsSlJ0PWZJdCxRUnQ9U0l0LHRPdD1BSXQsZU90PVpJdCxuT3Q9UUl0LGlPdD1iUnQsck90PUFSdCxvT3Q9QVB0LGFPdD1rUHQuZXhwb3J0cyxzT3Q9elJ0LGxPdD1Qa3QsY090PWpSdCx1T3Q9U050LGhPdD1CTnQsZE90PSJbb2JqZWN0IEFyZ3VtZW50c10iLHBPdD0iW29iamVjdCBGdW5jdGlvbl0iLGZPdD0iW29iamVjdCBPYmplY3RdIixtT3Q9e307bU90W2RPdF09bU90WyJbb2JqZWN0IEFycmF5XSJdPW1PdFsiW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1tT3RbIltvYmplY3QgRGF0YVZpZXddIl09bU90WyJbb2JqZWN0IEJvb2xlYW5dIl09bU90WyJbb2JqZWN0IERhdGVdIl09bU90WyJbb2JqZWN0IEZsb2F0MzJBcnJheV0iXT1tT3RbIltvYmplY3QgRmxvYXQ2NEFycmF5XSJdPW1PdFsiW29iamVjdCBJbnQ4QXJyYXldIl09bU90WyJbb2JqZWN0IEludDE2QXJyYXldIl09bU90WyJbb2JqZWN0IEludDMyQXJyYXldIl09bU90WyJbb2JqZWN0IE1hcF0iXT1tT3RbIltvYmplY3QgTnVtYmVyXSJdPW1PdFtmT3RdPW1PdFsiW29iamVjdCBSZWdFeHBdIl09bU90WyJbb2JqZWN0IFNldF0iXT1tT3RbIltvYmplY3QgU3RyaW5nXSJdPW1PdFsiW29iamVjdCBTeW1ib2xdIl09bU90WyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09bU90WyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPW1PdFsiW29iamVjdCBVaW50MTZBcnJheV0iXT1tT3RbIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsbU90WyJbb2JqZWN0IEVycm9yXSJdPW1PdFtwT3RdPW1PdFsiW29iamVjdCBXZWFrTWFwXSJdPSExO3ZhciBnT3Q9ZnVuY3Rpb24gdChlLG4saSxyLG8sYSl7dmFyIHMsbD0xJm4sYz0yJm4sdT00Jm47aWYoaSYmKHM9bz9pKGUscixvLGEpOmkoZSkpLHZvaWQgMCE9PXMpcmV0dXJuIHM7aWYoIWxPdChlKSlyZXR1cm4gZTt2YXIgaD1vT3QoZSk7aWYoaCl7aWYocz1uT3QoZSksIWwpcmV0dXJuIEtSdChlLHMpfWVsc2V7dmFyIGQ9ZU90KGUpLHA9ZD09cE90fHwiW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0iPT1kO2lmKGFPdChlKSlyZXR1cm4gJFJ0KGUsbCk7aWYoZD09Zk90fHxkPT1kT3R8fHAmJiFvKXtpZihzPWN8fHA/e306ck90KGUpLCFsKXJldHVybiBjP0pSdChlLFhSdChzLGUpKTpaUnQoZSxZUnQocyxlKSl9ZWxzZXtpZighbU90W2RdKXJldHVybiBvP2U6e307cz1pT3QoZSxkLGwpfX1hfHwoYT1uZXcgR1J0KTt2YXIgZj1hLmdldChlKTtpZihmKXJldHVybiBmO2Euc2V0KGUscyksY090KGUpP2UuZm9yRWFjaCgoZnVuY3Rpb24ocil7cy5hZGQodChyLG4saSxyLGUsYSkpfSkpOnNPdChlKSYmZS5mb3JFYWNoKChmdW5jdGlvbihyLG8pe3Muc2V0KG8sdChyLG4saSxvLGUsYSkpfSkpO3ZhciBtPWg/dm9pZCAwOih1P2M/dE90OlFSdDpjP2hPdDp1T3QpKGUpO3JldHVybiBXUnQobXx8ZSwoZnVuY3Rpb24ocixvKXttJiYocj1lW289cl0pLHFSdChzLG8sdChyLG4saSxvLGUsYSkpfSkpLHN9LF9PdD1nT3Q7dmFyIHlPdD1mdW5jdGlvbiB2T3QodCl7cmV0dXJuIF9PdCh0LDQpfTt2YXIgYk90PWZ1bmN0aW9uIHhPdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19O3ZhciB3T3Q9KGZ1bmN0aW9uIFNPdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLGkpe2Zvcih2YXIgcj0tMSxvPU9iamVjdChlKSxhPWkoZSkscz1hLmxlbmd0aDtzLS07KXt2YXIgbD1hW3Q/czorK3JdO2lmKCExPT09bihvW2xdLGwsbykpYnJlYWt9cmV0dXJuIGV9fSkoKSxNT3Q9d090LEVPdD1TTnQ7dmFyIFRPdD1mdW5jdGlvbiBDT3QodCxlKXtyZXR1cm4gdCYmTU90KHQsZSxFT3QpfSxBT3Q9eU50O3ZhciBrT3Q9KGZ1bmN0aW9uIExPdCh0LGUpe3JldHVybiBmdW5jdGlvbihuLGkpe2lmKG51bGw9PW4pcmV0dXJuIG47aWYoIUFPdChuKSlyZXR1cm4gdChuLGkpO2Zvcih2YXIgcj1uLmxlbmd0aCxvPWU/cjotMSxhPU9iamVjdChuKTsoZT9vLS06KytvPHIpJiYhMSE9PWkoYVtvXSxvLGEpOyk7cmV0dXJuIG59fSkoVE90KTt2YXIgUE90PWZ1bmN0aW9uIE5PdCh0KXtyZXR1cm4gdH0sSU90PVBPdDt2YXIgUk90PWZ1bmN0aW9uIE9PdCh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90OklPdH0sek90PVFMdCxET3Q9a090LEJPdD1ST3QsSE90PUFQdDt2YXIgRk90PWZ1bmN0aW9uIFZPdCh0LGUpe3JldHVybihIT3QodCk/ek90OkRPdCkodCxCT3QoZSkpfSxVT3Q9Rk90LGpPdD1rT3Q7dmFyIEdPdD1mdW5jdGlvbiBXT3QodCxlKXt2YXIgbj1bXTtyZXR1cm4gak90KHQsKGZ1bmN0aW9uKHQsaSxyKXtlKHQsaSxyKSYmbi5wdXNoKHQpfSkpLG59O3ZhciBxT3Q9Vkx0LFlPdD1mdW5jdGlvbiBYT3QodCl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHQpfTtmdW5jdGlvbiAkT3QodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuX19kYXRhX189bmV3IHFPdDsrK2U8bjspdGhpcy5hZGQodFtlXSl9JE90LnByb3RvdHlwZS5hZGQ9JE90LnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uIEtPdCh0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQodCwiX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIpLHRoaXN9LCRPdC5wcm90b3R5cGUuaGFzPVlPdDt2YXIgWk90PSRPdDt2YXIgSk90PWZ1bmN0aW9uIFFPdCh0LGUpe3JldHVybiB0LmhhcyhlKX0sdHp0PVpPdCxlenQ9ZnVuY3Rpb24gbnp0KHQsZSl7Zm9yKHZhciBuPS0xLGk9bnVsbD09dD8wOnQubGVuZ3RoOysrbjxpOylpZihlKHRbbl0sbix0KSlyZXR1cm4hMDtyZXR1cm4hMX0saXp0PUpPdDt2YXIgcnp0PWZ1bmN0aW9uIG96dCh0LGUsbixpLHIsbyl7dmFyIGE9MSZuLHM9dC5sZW5ndGgsbD1lLmxlbmd0aDtpZihzIT1sJiYhKGEmJmw+cykpcmV0dXJuITE7dmFyIGM9by5nZXQodCksdT1vLmdldChlKTtpZihjJiZ1KXJldHVybiBjPT1lJiZ1PT10O3ZhciBoPS0xLGQ9ITAscD0yJm4/bmV3IHR6dDp2b2lkIDA7Zm9yKG8uc2V0KHQsZSksby5zZXQoZSx0KTsrK2g8czspe3ZhciBmPXRbaF0sbT1lW2hdO2lmKGkpdmFyIGc9YT9pKG0sZixoLGUsdCxvKTppKGYsbSxoLHQsZSxvKTtpZih2b2lkIDAhPT1nKXtpZihnKWNvbnRpbnVlO2Q9ITE7YnJlYWt9aWYocCl7aWYoIWV6dChlLChmdW5jdGlvbih0LGUpe2lmKCFpenQocCxlKSYmKGY9PT10fHxyKGYsdCxuLGksbykpKXJldHVybiBwLnB1c2goZSl9KSkpe2Q9ITE7YnJlYWt9fWVsc2UgaWYoZiE9PW0mJiFyKGYsbSxuLGksbykpe2Q9ITE7YnJlYWt9fXJldHVybiBvLmRlbGV0ZSh0KSxvLmRlbGV0ZShlKSxkfTt2YXIgYXp0PWZ1bmN0aW9uIHN6dCh0KXt2YXIgZT0tMSxuPUFycmF5KHQuc2l6ZSk7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7blsrK2VdPXR9KSksbn0sbHp0PWVSdCxjenQ9SEF0LHV6dD1yenQsaHp0PWZ1bmN0aW9uIGR6dCh0KXt2YXIgZT0tMSxuPUFycmF5KHQuc2l6ZSk7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCxpKXtuWysrZV09W2ksdF19KSksbn0scHp0PWF6dCxmenQ9eWt0P3lrdC5wcm90b3R5cGU6dm9pZCAwLG16dD1menQ/Znp0LnZhbHVlT2Y6dm9pZCAwO3ZhciBnenQ9U0l0LF96dD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciB5enQ9Skx0LHZ6dD1yenQsYnp0PWZ1bmN0aW9uIHh6dCh0LGUsbixpLHIsbyxhKXtzd2l0Y2gobil7Y2FzZSJbb2JqZWN0IERhdGFWaWV3XSI6aWYodC5ieXRlTGVuZ3RoIT1lLmJ5dGVMZW5ndGh8fHQuYnl0ZU9mZnNldCE9ZS5ieXRlT2Zmc2V0KXJldHVybiExO3Q9dC5idWZmZXIsZT1lLmJ1ZmZlcjtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4hKHQuYnl0ZUxlbmd0aCE9ZS5ieXRlTGVuZ3RofHwhbyhuZXcgbHp0KHQpLG5ldyBsenQoZSkpKTtjYXNlIltvYmplY3QgQm9vbGVhbl0iOmNhc2UiW29iamVjdCBEYXRlXSI6Y2FzZSJbb2JqZWN0IE51bWJlcl0iOnJldHVybiBjenQoK3QsK2UpO2Nhc2UiW29iamVjdCBFcnJvcl0iOnJldHVybiB0Lm5hbWU9PWUubmFtZSYmdC5tZXNzYWdlPT1lLm1lc3NhZ2U7Y2FzZSJbb2JqZWN0IFJlZ0V4cF0iOmNhc2UiW29iamVjdCBTdHJpbmddIjpyZXR1cm4gdD09ZSsiIjtjYXNlIltvYmplY3QgTWFwXSI6dmFyIHM9aHp0O2Nhc2UiW29iamVjdCBTZXRdIjppZihzfHwocz1wenQpLHQuc2l6ZSE9ZS5zaXplJiYhKDEmaSkpcmV0dXJuITE7dmFyIGw9YS5nZXQodCk7aWYobClyZXR1cm4gbD09ZTtpfD0yLGEuc2V0KHQsZSk7dmFyIGM9dXp0KHModCkscyhlKSxpLHIsbyxhKTtyZXR1cm4gYS5kZWxldGUodCksYztjYXNlIltvYmplY3QgU3ltYm9sXSI6aWYobXp0KXJldHVybiBtenQuY2FsbCh0KT09bXp0LmNhbGwoZSl9cmV0dXJuITF9LHd6dD1mdW5jdGlvbiBTenQodCxlLG4saSxyLG8pe3ZhciBhPTEmbixzPWd6dCh0KSxsPXMubGVuZ3RoO2lmKGwhPWd6dChlKS5sZW5ndGgmJiFhKXJldHVybiExO2Zvcih2YXIgYz1sO2MtLTspe3ZhciB1PXNbY107aWYoIShhP3UgaW4gZTpfenQuY2FsbChlLHUpKSlyZXR1cm4hMX12YXIgaD1vLmdldCh0KSxkPW8uZ2V0KGUpO2lmKGgmJmQpcmV0dXJuIGg9PWUmJmQ9PXQ7dmFyIHA9ITA7by5zZXQodCxlKSxvLnNldChlLHQpO2Zvcih2YXIgZj1hOysrYzxsOyl7dmFyIG09dFt1PXNbY11dLGc9ZVt1XTtpZihpKXZhciBfPWE/aShnLG0sdSxlLHQsbyk6aShtLGcsdSx0LGUsbyk7aWYoISh2b2lkIDA9PT1fP209PT1nfHxyKG0sZyxuLGksbyk6Xykpe3A9ITE7YnJlYWt9Znx8KGY9ImNvbnN0cnVjdG9yIj09dSl9aWYocCYmIWYpe3ZhciB5PXQuY29uc3RydWN0b3Isdj1lLmNvbnN0cnVjdG9yO3k9PXZ8fCEoImNvbnN0cnVjdG9yImluIHQpfHwhKCJjb25zdHJ1Y3RvciJpbiBlKXx8ImZ1bmN0aW9uIj09dHlwZW9mIHkmJnkgaW5zdGFuY2VvZiB5JiYiZnVuY3Rpb24iPT10eXBlb2YgdiYmdiBpbnN0YW5jZW9mIHZ8fChwPSExKX1yZXR1cm4gby5kZWxldGUodCksby5kZWxldGUoZSkscH0sTXp0PVpJdCxFenQ9QVB0LFR6dD1rUHQuZXhwb3J0cyxDenQ9JFB0LEF6dD0iW29iamVjdCBBcmd1bWVudHNdIixrenQ9IltvYmplY3QgQXJyYXldIixMenQ9IltvYmplY3QgT2JqZWN0XSIsUHp0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIE56dD1mdW5jdGlvbiBJenQodCxlLG4saSxyLG8pe3ZhciBhPUV6dCh0KSxzPUV6dChlKSxsPWE/a3p0Ok16dCh0KSxjPXM/a3p0Ok16dChlKSx1PShsPWw9PUF6dD9MenQ6bCk9PUx6dCxoPShjPWM9PUF6dD9MenQ6Yyk9PUx6dCxkPWw9PWM7aWYoZCYmVHp0KHQpKXtpZighVHp0KGUpKXJldHVybiExO2E9ITAsdT0hMX1pZihkJiYhdSlyZXR1cm4gb3x8KG89bmV3IHl6dCksYXx8Q3p0KHQpP3Z6dCh0LGUsbixpLHIsbyk6Ynp0KHQsZSxsLG4saSxyLG8pO2lmKCEoMSZuKSl7dmFyIHA9dSYmUHp0LmNhbGwodCwiX193cmFwcGVkX18iKSxmPWgmJlB6dC5jYWxsKGUsIl9fd3JhcHBlZF9fIik7aWYocHx8Zil7dmFyIG09cD90LnZhbHVlKCk6dCxnPWY/ZS52YWx1ZSgpOmU7cmV0dXJuIG98fChvPW5ldyB5enQpLHIobSxnLG4saSxvKX19cmV0dXJuISFkJiYob3x8KG89bmV3IHl6dCksd3p0KHQsZSxuLGkscixvKSl9LFJ6dD1fUHQ7dmFyIE96dD1mdW5jdGlvbiB0KGUsbixpLHIsbyl7cmV0dXJuIGU9PT1ufHwobnVsbD09ZXx8bnVsbD09bnx8IVJ6dChlKSYmIVJ6dChuKT9lIT1lJiZuIT1uOk56dChlLG4saSxyLHQsbykpfSx6enQ9Skx0LER6dD1PenQ7dmFyIEJ6dD1Qa3Q7dmFyIEh6dD1mdW5jdGlvbiBGenQodCl7cmV0dXJuIHQ9PXQmJiFCenQodCl9LFZ6dD1IenQsVXp0PVNOdDt2YXIganp0PWZ1bmN0aW9uIEd6dCh0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbnVsbCE9biYmKG5bdF09PT1lJiYodm9pZCAwIT09ZXx8dCBpbiBPYmplY3QobikpKX19LFd6dD1mdW5jdGlvbiBxenQodCxlLG4saSl7dmFyIHI9bi5sZW5ndGgsbz1yLGE9IWk7aWYobnVsbD09dClyZXR1cm4hbztmb3IodD1PYmplY3QodCk7ci0tOyl7dmFyIHM9bltyXTtpZihhJiZzWzJdP3NbMV0hPT10W3NbMF1dOiEoc1swXWluIHQpKXJldHVybiExfWZvcig7KytyPG87KXt2YXIgbD0ocz1uW3JdKVswXSxjPXRbbF0sdT1zWzFdO2lmKGEmJnNbMl0pe2lmKHZvaWQgMD09PWMmJiEobCBpbiB0KSlyZXR1cm4hMX1lbHNle3ZhciBoPW5ldyB6enQ7aWYoaSl2YXIgZD1pKGMsdSxsLHQsZSxoKTtpZighKHZvaWQgMD09PWQ/RHp0KHUsYywzLGksaCk6ZCkpcmV0dXJuITF9fXJldHVybiEwfSxZenQ9ZnVuY3Rpb24gWHp0KHQpe2Zvcih2YXIgZT1VenQodCksbj1lLmxlbmd0aDtuLS07KXt2YXIgaT1lW25dLHI9dFtpXTtlW25dPVtpLHIsVnp0KHIpXX1yZXR1cm4gZX0sJHp0PWp6dDt2YXIgS3p0PWZ1bmN0aW9uIFp6dCh0KXt2YXIgZT1ZenQodCk7cmV0dXJuIDE9PWUubGVuZ3RoJiZlWzBdWzJdPyR6dChlWzBdWzBdLGVbMF1bMV0pOmZ1bmN0aW9uKG4pe3JldHVybiBuPT09dHx8V3p0KG4sdCxlKX19LEp6dD1ra3QsUXp0PV9QdDt2YXIgdER0PWZ1bmN0aW9uIGVEdCh0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR8fFF6dCh0KSYmIltvYmplY3QgU3ltYm9sXSI9PUp6dCh0KX0sbkR0PUFQdCxpRHQ9dER0LHJEdD0vXC58XFsoPzpbXltcXV0qfChbIiddKSg/Oig/IVwxKVteXFxdfFxcLikqP1wxKVxdLyxvRHQ9L15cdyokLzt2YXIgYUR0PWZ1bmN0aW9uIHNEdCh0LGUpe2lmKG5EdCh0KSlyZXR1cm4hMTt2YXIgbj10eXBlb2YgdDtyZXR1cm4hKCJudW1iZXIiIT1uJiYic3ltYm9sIiE9biYmImJvb2xlYW4iIT1uJiZudWxsIT10JiYhaUR0KHQpKXx8KG9EdC50ZXN0KHQpfHwhckR0LnRlc3QodCl8fG51bGwhPWUmJnQgaW4gT2JqZWN0KGUpKX0sbER0PVZMdDtmdW5jdGlvbiBjRHQodCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdHx8bnVsbCE9ZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBmdW5jdGlvbiIpO3ZhciBuPWZ1bmN0aW9uKCl7dmFyIGk9YXJndW1lbnRzLHI9ZT9lLmFwcGx5KHRoaXMsaSk6aVswXSxvPW4uY2FjaGU7aWYoby5oYXMocikpcmV0dXJuIG8uZ2V0KHIpO3ZhciBhPXQuYXBwbHkodGhpcyxpKTtyZXR1cm4gbi5jYWNoZT1vLnNldChyLGEpfHxvLGF9O3JldHVybiBuLmNhY2hlPW5ldyhjRHQuQ2FjaGV8fGxEdCksbn1jRHQuQ2FjaGU9bER0O3ZhciB1RHQ9Y0R0O3ZhciBoRHQ9L1teLltcXV0rfFxbKD86KC0/XGQrKD86XC5cZCspPyl8KFsiJ10pKCg/Oig/IVwyKVteXFxdfFxcLikqPylcMilcXXwoPz0oPzpcLnxcW1xdKSg/OlwufFxbXF18JCkpL2csZER0PS9cXChcXCk/L2cscER0PShmdW5jdGlvbiBmRHQodCl7dmFyIGU9dUR0KHQsKGZ1bmN0aW9uKHQpe3JldHVybiA1MDA9PT1uLnNpemUmJm4uY2xlYXIoKSx0fSkpLG49ZS5jYWNoZTtyZXR1cm4gZX0pKChmdW5jdGlvbih0KXt2YXIgZT1bXTtyZXR1cm4gNDY9PT10LmNoYXJDb2RlQXQoMCkmJmUucHVzaCgiIiksdC5yZXBsYWNlKGhEdCwoZnVuY3Rpb24odCxuLGkscil7ZS5wdXNoKGk/ci5yZXBsYWNlKGREdCwiJDEiKTpufHx0KX0pKSxlfSkpO3ZhciBtRHQ9ZnVuY3Rpb24gZ0R0KHQsZSl7Zm9yKHZhciBuPS0xLGk9bnVsbD09dD8wOnQubGVuZ3RoLHI9QXJyYXkoaSk7KytuPGk7KXJbbl09ZSh0W25dLG4sdCk7cmV0dXJuIHJ9LF9EdD1tRHQseUR0PUFQdCx2RHQ9dER0LGJEdD15a3Q/eWt0LnByb3RvdHlwZTp2b2lkIDAseER0PWJEdD9iRHQudG9TdHJpbmc6dm9pZCAwO3ZhciB3RHQ9ZnVuY3Rpb24gdChlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGU7aWYoeUR0KGUpKXJldHVybiBfRHQoZSx0KSsiIjtpZih2RHQoZSkpcmV0dXJuIHhEdD94RHQuY2FsbChlKToiIjt2YXIgbj1lKyIiO3JldHVybiIwIj09biYmMS9lPT0tSW5maW5pdHk/Ii0wIjpufTt2YXIgU0R0PWZ1bmN0aW9uIE1EdCh0KXtyZXR1cm4gbnVsbD09dD8iIjp3RHQodCl9LEVEdD1BUHQsVER0PWFEdCxDRHQ9cER0LEFEdD1TRHQ7dmFyIGtEdD1mdW5jdGlvbiBMRHQodCxlKXtyZXR1cm4gRUR0KHQpP3Q6VER0KHQsZSk/W3RdOkNEdChBRHQodCkpfSxQRHQ9dER0O3ZhciBORHQ9ZnVuY3Rpb24gSUR0KHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdHx8UER0KHQpKXJldHVybiB0O3ZhciBlPXQrIiI7cmV0dXJuIjAiPT1lJiYxL3Q9PS1JbmZpbml0eT8iLTAiOmV9LFJEdD1rRHQsT0R0PU5EdDt2YXIgekR0PWZ1bmN0aW9uIEREdCh0LGUpe2Zvcih2YXIgbj0wLGk9KGU9UkR0KGUsdCkpLmxlbmd0aDtudWxsIT10JiZuPGk7KXQ9dFtPRHQoZVtuKytdKV07cmV0dXJuIG4mJm49PWk/dDp2b2lkIDB9LEJEdD16RHQ7dmFyIEhEdD1rRHQsRkR0PUNQdCxWRHQ9QVB0LFVEdD1JUHQsakR0PU9QdCxHRHQ9TkR0O3ZhciBXRHQ9ZnVuY3Rpb24gcUR0KHQsZSxuKXtmb3IodmFyIGk9LTEscj0oZT1IRHQoZSx0KSkubGVuZ3RoLG89ITE7KytpPHI7KXt2YXIgYT1HRHQoZVtpXSk7aWYoIShvPW51bGwhPXQmJm4odCxhKSkpYnJlYWs7dD10W2FdfXJldHVybiBvfHwrK2khPXI/bzohIShyPW51bGw9PXQ/MDp0Lmxlbmd0aCkmJmpEdChyKSYmVUR0KGEscikmJihWRHQodCl8fEZEdCh0KSl9LFlEdD1mdW5jdGlvbiBYRHQodCxlKXtyZXR1cm4gbnVsbCE9dCYmZSBpbiBPYmplY3QodCl9LCREdD1XRHQ7dmFyIEtEdD1mdW5jdGlvbiBaRHQodCxlKXtyZXR1cm4gbnVsbCE9dCYmJER0KHQsZSxZRHQpfSxKRHQ9T3p0LFFEdD1mdW5jdGlvbiB0QnQodCxlLG4pe3ZhciBpPW51bGw9PXQ/dm9pZCAwOkJEdCh0LGUpO3JldHVybiB2b2lkIDA9PT1pP246aX0sZUJ0PUtEdCxuQnQ9YUR0LGlCdD1IenQsckJ0PWp6dCxvQnQ9TkR0O3ZhciBhQnQ9ZnVuY3Rpb24gc0J0KHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT92b2lkIDA6ZVt0XX19LGxCdD16RHQ7dmFyIGNCdD1hQnQsdUJ0PWZ1bmN0aW9uIGhCdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGxCdChlLHQpfX0sZEJ0PWFEdCxwQnQ9TkR0O3ZhciBmQnQ9S3p0LG1CdD1mdW5jdGlvbiBnQnQodCxlKXtyZXR1cm4gbkJ0KHQpJiZpQnQoZSk/ckJ0KG9CdCh0KSxlKTpmdW5jdGlvbihuKXt2YXIgaT1RRHQobix0KTtyZXR1cm4gdm9pZCAwPT09aSYmaT09PWU/ZUJ0KG4sdCk6SkR0KGUsaSwzKX19LF9CdD1QT3QseUJ0PUFQdCx2QnQ9ZnVuY3Rpb24gYkJ0KHQpe3JldHVybiBkQnQodCk/Y0J0KHBCdCh0KSk6dUJ0KHQpfTt2YXIgeEJ0PWZ1bmN0aW9uIHdCdCh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90Om51bGw9PXQ/X0J0OiJvYmplY3QiPT10eXBlb2YgdD95QnQodCk/bUJ0KHRbMF0sdFsxXSk6ZkJ0KHQpOnZCdCh0KX0sU0J0PVlOdCxNQnQ9R090LEVCdD14QnQsVEJ0PUFQdDt2YXIgQ0J0PWZ1bmN0aW9uIEFCdCh0LGUpe3JldHVybihUQnQodCk/U0J0Ok1CdCkodCxFQnQoZSkpfSxrQnQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgTEJ0PWZ1bmN0aW9uIFBCdCh0LGUpe3JldHVybiBudWxsIT10JiZrQnQuY2FsbCh0LGUpfSxOQnQ9V0R0O3ZhciBJQnQ9ZnVuY3Rpb24gUkJ0KHQsZSl7cmV0dXJuIG51bGwhPXQmJk5CdCh0LGUsTEJ0KX0sT0J0PWZOdCx6QnQ9Wkl0LERCdD1DUHQsQkJ0PUFQdCxIQnQ9eU50LEZCdD1rUHQuZXhwb3J0cyxWQnQ9YU50LFVCdD0kUHQsakJ0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIEdCdD1mdW5jdGlvbiBXQnQodCl7aWYobnVsbD09dClyZXR1cm4hMDtpZihIQnQodCkmJihCQnQodCl8fCJzdHJpbmciPT10eXBlb2YgdHx8ImZ1bmN0aW9uIj09dHlwZW9mIHQuc3BsaWNlfHxGQnQodCl8fFVCdCh0KXx8REJ0KHQpKSlyZXR1cm4hdC5sZW5ndGg7dmFyIGU9ekJ0KHQpO2lmKCJbb2JqZWN0IE1hcF0iPT1lfHwiW29iamVjdCBTZXRdIj09ZSlyZXR1cm4hdC5zaXplO2lmKFZCdCh0KSlyZXR1cm4hT0J0KHQpLmxlbmd0aDtmb3IodmFyIG4gaW4gdClpZihqQnQuY2FsbCh0LG4pKXJldHVybiExO3JldHVybiEwfTt2YXIgcUJ0PWZ1bmN0aW9uIFlCdCh0KXtyZXR1cm4gdm9pZCAwPT09dH0sWEJ0PWtPdCwkQnQ9eU50O3ZhciBLQnQ9ZnVuY3Rpb24gWkJ0KHQsZSl7dmFyIG49LTEsaT0kQnQodCk/QXJyYXkodC5sZW5ndGgpOltdO3JldHVybiBYQnQodCwoZnVuY3Rpb24odCxyLG8pe2lbKytuXT1lKHQscixvKX0pKSxpfSxKQnQ9bUR0LFFCdD14QnQsdEh0PUtCdCxlSHQ9QVB0O3ZhciBuSHQ9ZnVuY3Rpb24gaUh0KHQsZSl7cmV0dXJuKGVIdCh0KT9KQnQ6dEh0KSh0LFFCdChlKSl9O3ZhciBySHQ9ZnVuY3Rpb24gb0h0KHQsZSxuLGkpe3ZhciByPS0xLG89bnVsbD09dD8wOnQubGVuZ3RoO2ZvcihpJiZvJiYobj10Wysrcl0pOysrcjxvOyluPWUobix0W3JdLHIsdCk7cmV0dXJuIG59LGFIdD1rT3Qsc0h0PXhCdCxsSHQ9ZnVuY3Rpb24gY0h0KHQsZSxuLGkscil7cmV0dXJuIHIodCwoZnVuY3Rpb24odCxyLG8pe249aT8oaT0hMSx0KTplKG4sdCxyLG8pfSkpLG59LHVIdD1BUHQ7dmFyIGhIdD1mdW5jdGlvbiBkSHQodCxlLG4pe3ZhciBpPXVIdCh0KT9ySHQ6bEh0LHI9YXJndW1lbnRzLmxlbmd0aDwzO3JldHVybiBpKHQsc0h0KGUpLG4scixhSHQpfSxwSHQ9a2t0LGZIdD1BUHQsbUh0PV9QdDt2YXIgZ0h0PWZ1bmN0aW9uIF9IdCh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR8fCFmSHQodCkmJm1IdCh0KSYmIltvYmplY3QgU3RyaW5nXSI9PXBIdCh0KX0seUh0PWFCdCgibGVuZ3RoIiksdkh0PVJlZ0V4cCgiW1xcdTIwMGRcXHVkODAwLVxcdWRmZmZcXHUwMzAwLVxcdTAzNmZcXHVmZTIwLVxcdWZlMmZcXHUyMGQwLVxcdTIwZmZcXHVmZTBlXFx1ZmUwZl0iKTt2YXIgYkh0PWZ1bmN0aW9uIHhIdCh0KXtyZXR1cm4gdkh0LnRlc3QodCl9LHdIdD0iW1xcdWQ4MDAtXFx1ZGZmZl0iLFNIdD0iW1xcdTAzMDAtXFx1MDM2ZlxcdWZlMjAtXFx1ZmUyZlxcdTIwZDAtXFx1MjBmZl0iLE1IdD0iXFx1ZDgzY1tcXHVkZmZiLVxcdWRmZmZdIixFSHQ9IlteXFx1ZDgwMC1cXHVkZmZmXSIsVEh0PSIoPzpcXHVkODNjW1xcdWRkZTYtXFx1ZGRmZl0pezJ9IixDSHQ9IltcXHVkODAwLVxcdWRiZmZdW1xcdWRjMDAtXFx1ZGZmZl0iLEFIdD0iKD86IitTSHQrInwiK01IdCsiKSIrIj8iLGtIdD0iW1xcdWZlMGVcXHVmZTBmXT8iLExIdD1rSHQrQUh0KygiKD86XFx1MjAwZCg/OiIrW0VIdCxUSHQsQ0h0XS5qb2luKCJ8IikrIikiK2tIdCtBSHQrIikqIiksUEh0PSIoPzoiK1tFSHQrU0h0KyI/IixTSHQsVEh0LENIdCx3SHRdLmpvaW4oInwiKSsiKSIsTkh0PVJlZ0V4cChNSHQrIig/PSIrTUh0KyIpfCIrUEh0K0xIdCwiZyIpO3ZhciBJSHQ9eUh0LFJIdD1iSHQsT0h0PWZ1bmN0aW9uIHpIdCh0KXtmb3IodmFyIGU9Tkh0Lmxhc3RJbmRleD0wO05IdC50ZXN0KHQpOykrK2U7cmV0dXJuIGV9O3ZhciBESHQ9Zk50LEJIdD1aSXQsSEh0PXlOdCxGSHQ9Z0h0LFZIdD1mdW5jdGlvbiBVSHQodCl7cmV0dXJuIFJIdCh0KT9PSHQodCk6SUh0KHQpfTt2YXIgakh0PWZ1bmN0aW9uIEdIdCh0KXtpZihudWxsPT10KXJldHVybiAwO2lmKEhIdCh0KSlyZXR1cm4gRkh0KHQpP1ZIdCh0KTp0Lmxlbmd0aDt2YXIgZT1CSHQodCk7cmV0dXJuIltvYmplY3QgTWFwXSI9PWV8fCJbb2JqZWN0IFNldF0iPT1lP3Quc2l6ZTpESHQodCkubGVuZ3RofSxXSHQ9UUx0LHFIdD1NUnQsWUh0PVRPdCxYSHQ9eEJ0LCRIdD1zSXQsS0h0PUFQdCxaSHQ9a1B0LmV4cG9ydHMsSkh0PXprdCxRSHQ9UGt0LHRGdD0kUHQ7dmFyIGVGdD1mdW5jdGlvbiBuRnQodCxlLG4pe3ZhciBpPUtIdCh0KSxyPWl8fFpIdCh0KXx8dEZ0KHQpO2lmKGU9WEh0KGUpLG51bGw9PW4pe3ZhciBvPXQmJnQuY29uc3RydWN0b3I7bj1yP2k/bmV3IG86W106UUh0KHQpJiZKSHQobyk/cUh0KCRIdCh0KSk6e319cmV0dXJuKHI/V0h0OllIdCkodCwoZnVuY3Rpb24odCxpLHIpe3JldHVybiBlKG4sdCxpLHIpfSkpLG59LGlGdD1DUHQsckZ0PUFQdCxvRnQ9eWt0P3lrdC5pc0NvbmNhdFNwcmVhZGFibGU6dm9pZCAwO3ZhciBhRnQ9b0l0LHNGdD1mdW5jdGlvbiBsRnQodCl7cmV0dXJuIHJGdCh0KXx8aUZ0KHQpfHwhIShvRnQmJnQmJnRbb0Z0XSl9O3ZhciBjRnQ9ZnVuY3Rpb24gdChlLG4saSxyLG8pe3ZhciBhPS0xLHM9ZS5sZW5ndGg7Zm9yKGl8fChpPXNGdCksb3x8KG89W10pOysrYTxzOyl7dmFyIGw9ZVthXTtuPjAmJmkobCk/bj4xP3QobCxuLTEsaSxyLG8pOmFGdChvLGwpOnJ8fChvW28ubGVuZ3RoXT1sKX1yZXR1cm4gb307dmFyIHVGdD1mdW5jdGlvbiBoRnQodCxlLG4pe3N3aXRjaChuLmxlbmd0aCl7Y2FzZSAwOnJldHVybiB0LmNhbGwoZSk7Y2FzZSAxOnJldHVybiB0LmNhbGwoZSxuWzBdKTtjYXNlIDI6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSk7Y2FzZSAzOnJldHVybiB0LmNhbGwoZSxuWzBdLG5bMV0sblsyXSl9cmV0dXJuIHQuYXBwbHkoZSxuKX0sZEZ0PU1hdGgubWF4O3ZhciBwRnQ9ZnVuY3Rpb24gZkZ0KHQsZSxuKXtyZXR1cm4gZT1kRnQodm9pZCAwPT09ZT90Lmxlbmd0aC0xOmUsMCksZnVuY3Rpb24oKXtmb3IodmFyIGk9YXJndW1lbnRzLHI9LTEsbz1kRnQoaS5sZW5ndGgtZSwwKSxhPUFycmF5KG8pOysrcjxvOylhW3JdPWlbZStyXTtyPS0xO2Zvcih2YXIgcz1BcnJheShlKzEpOysrcjxlOylzW3JdPWlbcl07cmV0dXJuIHNbZV09bihhKSx1RnQodCx0aGlzLHMpfX0sbUZ0PWJPdCxnRnQ9blB0LF9GdD1EYXRlLm5vdzt2YXIgeUZ0PShmdW5jdGlvbiB2RnQodCl7dmFyIGU9MCxuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGk9X0Z0KCkscj0xNi0oaS1uKTtpZihuPWkscj4wKXtpZigrK2U+PTgwMClyZXR1cm4gYXJndW1lbnRzWzBdfWVsc2UgZT0wO3JldHVybiB0LmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX0pKGdGdD9mdW5jdGlvbih0LGUpe3JldHVybiBnRnQodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTptRnQoZSksd3JpdGFibGU6ITB9KX06UE90KSxiRnQ9UE90LHhGdD1wRnQsd0Z0PXlGdDt2YXIgU0Z0PWZ1bmN0aW9uIE1GdCh0LGUpe3JldHVybiB3RnQoeEZ0KHQsZSxiRnQpLHQrIiIpfTt2YXIgRUZ0PWZ1bmN0aW9uIFRGdCh0LGUsbixpKXtmb3IodmFyIHI9dC5sZW5ndGgsbz1uKyhpPzE6LTEpO2k/by0tOisrbzxyOylpZihlKHRbb10sbyx0KSlyZXR1cm4gbztyZXR1cm4tMX07dmFyIENGdD1FRnQsQUZ0PWZ1bmN0aW9uIGtGdCh0KXtyZXR1cm4gdCE9dH0sTEZ0PWZ1bmN0aW9uIFBGdCh0LGUsbil7Zm9yKHZhciBpPW4tMSxyPXQubGVuZ3RoOysraTxyOylpZih0W2ldPT09ZSlyZXR1cm4gaTtyZXR1cm4tMX07dmFyIE5GdD1mdW5jdGlvbiBJRnQodCxlLG4pe3JldHVybiBlPT1lP0xGdCh0LGUsbik6Q0Z0KHQsQUZ0LG4pfTt2YXIgUkZ0PWZ1bmN0aW9uIE9GdCh0LGUpe3JldHVybiEhKG51bGw9PXQ/MDp0Lmxlbmd0aCkmJk5GdCh0LGUsMCk+LTF9O3ZhciB6RnQ9ZnVuY3Rpb24gREZ0KHQsZSxuKXtmb3IodmFyIGk9LTEscj1udWxsPT10PzA6dC5sZW5ndGg7KytpPHI7KWlmKG4oZSx0W2ldKSlyZXR1cm4hMDtyZXR1cm4hMX07dmFyIEJGdD1OSXQsSEZ0PWZ1bmN0aW9uIEZGdCgpe30sVkZ0PUJGdCYmMS9henQobmV3IEJGdChbLC0wXSkpWzFdPT0xLzA/ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBCRnQodCl9OkhGdCxVRnQ9Wk90LGpGdD1SRnQsR0Z0PXpGdCxXRnQ9Sk90LHFGdD1WRnQsWUZ0PWF6dDt2YXIgWEZ0PXlOdCwkRnQ9X1B0O3ZhciBLRnQ9ZnVuY3Rpb24gWkZ0KHQpe3JldHVybiAkRnQodCkmJlhGdCh0KX0sSkZ0PWNGdCxRRnQ9ZnVuY3Rpb24gdFZ0KHQsZSxuKXt2YXIgaT0tMSxyPWpGdCxvPXQubGVuZ3RoLGE9ITAscz1bXSxsPXM7aWYobilhPSExLHI9R0Z0O2Vsc2UgaWYobz49MjAwKXt2YXIgYz1lP251bGw6cUZ0KHQpO2lmKGMpcmV0dXJuIFlGdChjKTthPSExLHI9V0Z0LGw9bmV3IFVGdH1lbHNlIGw9ZT9bXTpzO3Q6Zm9yKDsrK2k8bzspe3ZhciB1PXRbaV0saD1lP2UodSk6dTtpZih1PW58fDAhPT11P3U6MCxhJiZoPT1oKXtmb3IodmFyIGQ9bC5sZW5ndGg7ZC0tOylpZihsW2RdPT09aCljb250aW51ZSB0O2UmJmwucHVzaChoKSxzLnB1c2godSl9ZWxzZSByKGwsaCxuKXx8KGwhPT1zJiZsLnB1c2goaCkscy5wdXNoKHUpKX1yZXR1cm4gc30sZVZ0PUtGdCxuVnQ9U0Z0KChmdW5jdGlvbih0KXtyZXR1cm4gUUZ0KEpGdCh0LDEsZVZ0LCEwKSl9KSksaVZ0PW1EdDt2YXIgclZ0PWZ1bmN0aW9uIG9WdCh0LGUpe3JldHVybiBpVnQoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSl9LGFWdD1TTnQ7dmFyIHNWdCxsVnQ9ZnVuY3Rpb24gY1Z0KHQpe3JldHVybiBudWxsPT10P1tdOnJWdCh0LGFWdCh0KSl9O3RyeXtzVnQ9e2Nsb25lOnlPdCxjb25zdGFudDpiT3QsZWFjaDpVT3QsZmlsdGVyOkNCdCxoYXM6SUJ0LGlzQXJyYXk6QVB0LGlzRW1wdHk6R0J0LGlzRnVuY3Rpb246emt0LGlzVW5kZWZpbmVkOnFCdCxrZXlzOlNOdCxtYXA6bkh0LHJlZHVjZTpoSHQsc2l6ZTpqSHQsdHJhbnNmb3JtOmVGdCx1bmlvbjpuVnQsdmFsdWVzOmxWdH19Y2F0Y2godCl7fXNWdHx8KHNWdD13aW5kb3cuXyk7dmFyIHVWdD1zVnQsaFZ0PXVWdCxkVnQ9ZlZ0LHBWdD0iXDAiO2Z1bmN0aW9uIGZWdCh0KXt0aGlzLl9pc0RpcmVjdGVkPSFoVnQuaGFzKHQsImRpcmVjdGVkIil8fHQuZGlyZWN0ZWQsdGhpcy5faXNNdWx0aWdyYXBoPSEhaFZ0Lmhhcyh0LCJtdWx0aWdyYXBoIikmJnQubXVsdGlncmFwaCx0aGlzLl9pc0NvbXBvdW5kPSEhaFZ0Lmhhcyh0LCJjb21wb3VuZCIpJiZ0LmNvbXBvdW5kLHRoaXMuX2xhYmVsPXZvaWQgMCx0aGlzLl9kZWZhdWx0Tm9kZUxhYmVsRm49aFZ0LmNvbnN0YW50KHZvaWQgMCksdGhpcy5fZGVmYXVsdEVkZ2VMYWJlbEZuPWhWdC5jb25zdGFudCh2b2lkIDApLHRoaXMuX25vZGVzPXt9LHRoaXMuX2lzQ29tcG91bmQmJih0aGlzLl9wYXJlbnQ9e30sdGhpcy5fY2hpbGRyZW49e30sdGhpcy5fY2hpbGRyZW5bIlwwIl09e30pLHRoaXMuX2luPXt9LHRoaXMuX3ByZWRzPXt9LHRoaXMuX291dD17fSx0aGlzLl9zdWNzPXt9LHRoaXMuX2VkZ2VPYmpzPXt9LHRoaXMuX2VkZ2VMYWJlbHM9e319ZnVuY3Rpb24gbVZ0KHQsZSl7dFtlXT90W2VdKys6dFtlXT0xfWZ1bmN0aW9uIGdWdCh0LGUpey0tdFtlXXx8ZGVsZXRlIHRbZV19ZnVuY3Rpb24gX1Z0KHQsZSxuLGkpe3ZhciByPSIiK2Usbz0iIituO2lmKCF0JiZyPm8pe3ZhciBhPXI7cj1vLG89YX1yZXR1cm4gcisiASIrbysiASIrKGhWdC5pc1VuZGVmaW5lZChpKT8iXDAiOmkpfWZ1bmN0aW9uIHlWdCh0LGUsbixpKXt2YXIgcj0iIitlLG89IiIrbjtpZighdCYmcj5vKXt2YXIgYT1yO3I9byxvPWF9dmFyIHM9e3Y6cix3Om99O3JldHVybiBpJiYocy5uYW1lPWkpLHN9ZnVuY3Rpb24gdlZ0KHQsZSl7cmV0dXJuIF9WdCh0LGUudixlLncsZS5uYW1lKX1mVnQucHJvdG90eXBlLl9ub2RlQ291bnQ9MCxmVnQucHJvdG90eXBlLl9lZGdlQ291bnQ9MCxmVnQucHJvdG90eXBlLmlzRGlyZWN0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNEaXJlY3RlZH0sZlZ0LnByb3RvdHlwZS5pc011bHRpZ3JhcGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNdWx0aWdyYXBofSxmVnQucHJvdG90eXBlLmlzQ29tcG91bmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNDb21wb3VuZH0sZlZ0LnByb3RvdHlwZS5zZXRHcmFwaD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbGFiZWw9dCx0aGlzfSxmVnQucHJvdG90eXBlLmdyYXBoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xhYmVsfSxmVnQucHJvdG90eXBlLnNldERlZmF1bHROb2RlTGFiZWw9ZnVuY3Rpb24odCl7cmV0dXJuIGhWdC5pc0Z1bmN0aW9uKHQpfHwodD1oVnQuY29uc3RhbnQodCkpLHRoaXMuX2RlZmF1bHROb2RlTGFiZWxGbj10LHRoaXN9LGZWdC5wcm90b3R5cGUubm9kZUNvdW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25vZGVDb3VudH0sZlZ0LnByb3RvdHlwZS5ub2Rlcz1mdW5jdGlvbigpe3JldHVybiBoVnQua2V5cyh0aGlzLl9ub2Rlcyl9LGZWdC5wcm90b3R5cGUuc291cmNlcz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIGhWdC5maWx0ZXIodGhpcy5ub2RlcygpLChmdW5jdGlvbihlKXtyZXR1cm4gaFZ0LmlzRW1wdHkodC5faW5bZV0pfSkpfSxmVnQucHJvdG90eXBlLnNpbmtzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gaFZ0LmZpbHRlcih0aGlzLm5vZGVzKCksKGZ1bmN0aW9uKGUpe3JldHVybiBoVnQuaXNFbXB0eSh0Ll9vdXRbZV0pfSkpfSxmVnQucHJvdG90eXBlLnNldE5vZGVzPWZ1bmN0aW9uKHQsZSl7dmFyIG49YXJndW1lbnRzLGk9dGhpcztyZXR1cm4gaFZ0LmVhY2godCwoZnVuY3Rpb24odCl7bi5sZW5ndGg+MT9pLnNldE5vZGUodCxlKTppLnNldE5vZGUodCl9KSksdGhpc30sZlZ0LnByb3RvdHlwZS5zZXROb2RlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGhWdC5oYXModGhpcy5fbm9kZXMsdCk/KGFyZ3VtZW50cy5sZW5ndGg+MSYmKHRoaXMuX25vZGVzW3RdPWUpLHRoaXMpOih0aGlzLl9ub2Rlc1t0XT1hcmd1bWVudHMubGVuZ3RoPjE/ZTp0aGlzLl9kZWZhdWx0Tm9kZUxhYmVsRm4odCksdGhpcy5faXNDb21wb3VuZCYmKHRoaXMuX3BhcmVudFt0XT1wVnQsdGhpcy5fY2hpbGRyZW5bdF09e30sdGhpcy5fY2hpbGRyZW5bIlwwIl1bdF09ITApLHRoaXMuX2luW3RdPXt9LHRoaXMuX3ByZWRzW3RdPXt9LHRoaXMuX291dFt0XT17fSx0aGlzLl9zdWNzW3RdPXt9LCsrdGhpcy5fbm9kZUNvdW50LHRoaXMpfSxmVnQucHJvdG90eXBlLm5vZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX25vZGVzW3RdfSxmVnQucHJvdG90eXBlLmhhc05vZGU9ZnVuY3Rpb24odCl7cmV0dXJuIGhWdC5oYXModGhpcy5fbm9kZXMsdCl9LGZWdC5wcm90b3R5cGUucmVtb3ZlTm9kZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKGhWdC5oYXModGhpcy5fbm9kZXMsdCkpe3ZhciBuPWZ1bmN0aW9uKHQpe2UucmVtb3ZlRWRnZShlLl9lZGdlT2Jqc1t0XSl9O2RlbGV0ZSB0aGlzLl9ub2Rlc1t0XSx0aGlzLl9pc0NvbXBvdW5kJiYodGhpcy5fcmVtb3ZlRnJvbVBhcmVudHNDaGlsZExpc3QodCksZGVsZXRlIHRoaXMuX3BhcmVudFt0XSxoVnQuZWFjaCh0aGlzLmNoaWxkcmVuKHQpLChmdW5jdGlvbih0KXtlLnNldFBhcmVudCh0KX0pKSxkZWxldGUgdGhpcy5fY2hpbGRyZW5bdF0pLGhWdC5lYWNoKGhWdC5rZXlzKHRoaXMuX2luW3RdKSxuKSxkZWxldGUgdGhpcy5faW5bdF0sZGVsZXRlIHRoaXMuX3ByZWRzW3RdLGhWdC5lYWNoKGhWdC5rZXlzKHRoaXMuX291dFt0XSksbiksZGVsZXRlIHRoaXMuX291dFt0XSxkZWxldGUgdGhpcy5fc3Vjc1t0XSwtLXRoaXMuX25vZGVDb3VudH1yZXR1cm4gdGhpc30sZlZ0LnByb3RvdHlwZS5zZXRQYXJlbnQ9ZnVuY3Rpb24odCxlKXtpZighdGhpcy5faXNDb21wb3VuZCl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgcGFyZW50IGluIGEgbm9uLWNvbXBvdW5kIGdyYXBoIik7aWYoaFZ0LmlzVW5kZWZpbmVkKGUpKWU9cFZ0O2Vsc2V7Zm9yKHZhciBuPWUrPSIiOyFoVnQuaXNVbmRlZmluZWQobik7bj10aGlzLnBhcmVudChuKSlpZihuPT09dCl0aHJvdyBuZXcgRXJyb3IoIlNldHRpbmcgIitlKyIgYXMgcGFyZW50IG9mICIrdCsiIHdvdWxkIGNyZWF0ZSBhIGN5Y2xlIik7dGhpcy5zZXROb2RlKGUpfXJldHVybiB0aGlzLnNldE5vZGUodCksdGhpcy5fcmVtb3ZlRnJvbVBhcmVudHNDaGlsZExpc3QodCksdGhpcy5fcGFyZW50W3RdPWUsdGhpcy5fY2hpbGRyZW5bZV1bdF09ITAsdGhpc30sZlZ0LnByb3RvdHlwZS5fcmVtb3ZlRnJvbVBhcmVudHNDaGlsZExpc3Q9ZnVuY3Rpb24odCl7ZGVsZXRlIHRoaXMuX2NoaWxkcmVuW3RoaXMuX3BhcmVudFt0XV1bdF19LGZWdC5wcm90b3R5cGUucGFyZW50PWZ1bmN0aW9uKHQpe2lmKHRoaXMuX2lzQ29tcG91bmQpe3ZhciBlPXRoaXMuX3BhcmVudFt0XTtpZihlIT09cFZ0KXJldHVybiBlfX0sZlZ0LnByb3RvdHlwZS5jaGlsZHJlbj1mdW5jdGlvbih0KXtpZihoVnQuaXNVbmRlZmluZWQodCkmJih0PXBWdCksdGhpcy5faXNDb21wb3VuZCl7dmFyIGU9dGhpcy5fY2hpbGRyZW5bdF07aWYoZSlyZXR1cm4gaFZ0LmtleXMoZSl9ZWxzZXtpZih0PT09cFZ0KXJldHVybiB0aGlzLm5vZGVzKCk7aWYodGhpcy5oYXNOb2RlKHQpKXJldHVybltdfX0sZlZ0LnByb3RvdHlwZS5wcmVkZWNlc3NvcnM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fcHJlZHNbdF07aWYoZSlyZXR1cm4gaFZ0LmtleXMoZSl9LGZWdC5wcm90b3R5cGUuc3VjY2Vzc29ycz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9zdWNzW3RdO2lmKGUpcmV0dXJuIGhWdC5rZXlzKGUpfSxmVnQucHJvdG90eXBlLm5laWdoYm9ycz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnByZWRlY2Vzc29ycyh0KTtpZihlKXJldHVybiBoVnQudW5pb24oZSx0aGlzLnN1Y2Nlc3NvcnModCkpfSxmVnQucHJvdG90eXBlLmlzTGVhZj1mdW5jdGlvbih0KXtyZXR1cm4gMD09PSh0aGlzLmlzRGlyZWN0ZWQoKT90aGlzLnN1Y2Nlc3NvcnModCk6dGhpcy5uZWlnaGJvcnModCkpLmxlbmd0aH0sZlZ0LnByb3RvdHlwZS5maWx0ZXJOb2Rlcz1mdW5jdGlvbih0KXt2YXIgZT1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih7ZGlyZWN0ZWQ6dGhpcy5faXNEaXJlY3RlZCxtdWx0aWdyYXBoOnRoaXMuX2lzTXVsdGlncmFwaCxjb21wb3VuZDp0aGlzLl9pc0NvbXBvdW5kfSk7ZS5zZXRHcmFwaCh0aGlzLmdyYXBoKCkpO3ZhciBuPXRoaXM7aFZ0LmVhY2godGhpcy5fbm9kZXMsKGZ1bmN0aW9uKG4saSl7dChpKSYmZS5zZXROb2RlKGksbil9KSksaFZ0LmVhY2godGhpcy5fZWRnZU9ianMsKGZ1bmN0aW9uKHQpe2UuaGFzTm9kZSh0LnYpJiZlLmhhc05vZGUodC53KSYmZS5zZXRFZGdlKHQsbi5lZGdlKHQpKX0pKTt2YXIgaT17fTtmdW5jdGlvbiByKHQpe3ZhciBvPW4ucGFyZW50KHQpO3JldHVybiB2b2lkIDA9PT1vfHxlLmhhc05vZGUobyk/KGlbdF09byxvKTpvIGluIGk/aVtvXTpyKG8pfXJldHVybiB0aGlzLl9pc0NvbXBvdW5kJiZoVnQuZWFjaChlLm5vZGVzKCksKGZ1bmN0aW9uKHQpe2Uuc2V0UGFyZW50KHQscih0KSl9KSksZX0sZlZ0LnByb3RvdHlwZS5zZXREZWZhdWx0RWRnZUxhYmVsPWZ1bmN0aW9uKHQpe3JldHVybiBoVnQuaXNGdW5jdGlvbih0KXx8KHQ9aFZ0LmNvbnN0YW50KHQpKSx0aGlzLl9kZWZhdWx0RWRnZUxhYmVsRm49dCx0aGlzfSxmVnQucHJvdG90eXBlLmVkZ2VDb3VudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9lZGdlQ291bnR9LGZWdC5wcm90b3R5cGUuZWRnZXM9ZnVuY3Rpb24oKXtyZXR1cm4gaFZ0LnZhbHVlcyh0aGlzLl9lZGdlT2Jqcyl9LGZWdC5wcm90b3R5cGUuc2V0UGF0aD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMsaT1hcmd1bWVudHM7cmV0dXJuIGhWdC5yZWR1Y2UodCwoZnVuY3Rpb24odCxyKXtyZXR1cm4gaS5sZW5ndGg+MT9uLnNldEVkZ2UodCxyLGUpOm4uc2V0RWRnZSh0LHIpLHJ9KSksdGhpc30sZlZ0LnByb3RvdHlwZS5zZXRFZGdlPWZ1bmN0aW9uKCl7dmFyIHQsZSxuLGkscj0hMSxvPWFyZ3VtZW50c1swXTsib2JqZWN0Ij09dHlwZW9mIG8mJm51bGwhPT1vJiYidiJpbiBvPyh0PW8udixlPW8udyxuPW8ubmFtZSwyPT09YXJndW1lbnRzLmxlbmd0aCYmKGk9YXJndW1lbnRzWzFdLHI9ITApKToodD1vLGU9YXJndW1lbnRzWzFdLG49YXJndW1lbnRzWzNdLGFyZ3VtZW50cy5sZW5ndGg+MiYmKGk9YXJndW1lbnRzWzJdLHI9ITApKSx0PSIiK3QsZT0iIitlLGhWdC5pc1VuZGVmaW5lZChuKXx8KG49IiIrbik7dmFyIGE9X1Z0KHRoaXMuX2lzRGlyZWN0ZWQsdCxlLG4pO2lmKGhWdC5oYXModGhpcy5fZWRnZUxhYmVscyxhKSlyZXR1cm4gciYmKHRoaXMuX2VkZ2VMYWJlbHNbYV09aSksdGhpcztpZighaFZ0LmlzVW5kZWZpbmVkKG4pJiYhdGhpcy5faXNNdWx0aWdyYXBoKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNldCBhIG5hbWVkIGVkZ2Ugd2hlbiBpc011bHRpZ3JhcGggPSBmYWxzZSIpO3RoaXMuc2V0Tm9kZSh0KSx0aGlzLnNldE5vZGUoZSksdGhpcy5fZWRnZUxhYmVsc1thXT1yP2k6dGhpcy5fZGVmYXVsdEVkZ2VMYWJlbEZuKHQsZSxuKTt2YXIgcz15VnQodGhpcy5faXNEaXJlY3RlZCx0LGUsbik7cmV0dXJuIHQ9cy52LGU9cy53LE9iamVjdC5mcmVlemUocyksdGhpcy5fZWRnZU9ianNbYV09cyxtVnQodGhpcy5fcHJlZHNbZV0sdCksbVZ0KHRoaXMuX3N1Y3NbdF0sZSksdGhpcy5faW5bZV1bYV09cyx0aGlzLl9vdXRbdF1bYV09cyx0aGlzLl9lZGdlQ291bnQrKyx0aGlzfSxmVnQucHJvdG90eXBlLmVkZ2U9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPTE9PT1hcmd1bWVudHMubGVuZ3RoP3ZWdCh0aGlzLl9pc0RpcmVjdGVkLGFyZ3VtZW50c1swXSk6X1Z0KHRoaXMuX2lzRGlyZWN0ZWQsdCxlLG4pO3JldHVybiB0aGlzLl9lZGdlTGFiZWxzW2ldfSxmVnQucHJvdG90eXBlLmhhc0VkZ2U9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPTE9PT1hcmd1bWVudHMubGVuZ3RoP3ZWdCh0aGlzLl9pc0RpcmVjdGVkLGFyZ3VtZW50c1swXSk6X1Z0KHRoaXMuX2lzRGlyZWN0ZWQsdCxlLG4pO3JldHVybiBoVnQuaGFzKHRoaXMuX2VkZ2VMYWJlbHMsaSl9LGZWdC5wcm90b3R5cGUucmVtb3ZlRWRnZT1mdW5jdGlvbih0LGUsbil7dmFyIGk9MT09PWFyZ3VtZW50cy5sZW5ndGg/dlZ0KHRoaXMuX2lzRGlyZWN0ZWQsYXJndW1lbnRzWzBdKTpfVnQodGhpcy5faXNEaXJlY3RlZCx0LGUsbikscj10aGlzLl9lZGdlT2Jqc1tpXTtyZXR1cm4gciYmKHQ9ci52LGU9ci53LGRlbGV0ZSB0aGlzLl9lZGdlTGFiZWxzW2ldLGRlbGV0ZSB0aGlzLl9lZGdlT2Jqc1tpXSxnVnQodGhpcy5fcHJlZHNbZV0sdCksZ1Z0KHRoaXMuX3N1Y3NbdF0sZSksZGVsZXRlIHRoaXMuX2luW2VdW2ldLGRlbGV0ZSB0aGlzLl9vdXRbdF1baV0sdGhpcy5fZWRnZUNvdW50LS0pLHRoaXN9LGZWdC5wcm90b3R5cGUuaW5FZGdlcz1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX2luW3RdO2lmKG4pe3ZhciBpPWhWdC52YWx1ZXMobik7cmV0dXJuIGU/aFZ0LmZpbHRlcihpLChmdW5jdGlvbih0KXtyZXR1cm4gdC52PT09ZX0pKTppfX0sZlZ0LnByb3RvdHlwZS5vdXRFZGdlcz1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX291dFt0XTtpZihuKXt2YXIgaT1oVnQudmFsdWVzKG4pO3JldHVybiBlP2hWdC5maWx0ZXIoaSwoZnVuY3Rpb24odCl7cmV0dXJuIHQudz09PWV9KSk6aX19LGZWdC5wcm90b3R5cGUubm9kZUVkZ2VzPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5pbkVkZ2VzKHQsZSk7aWYobilyZXR1cm4gbi5jb25jYXQodGhpcy5vdXRFZGdlcyh0LGUpKX07dmFyIGJWdD17R3JhcGg6ZFZ0LHZlcnNpb246IjIuMS44In0seFZ0PXVWdCx3VnQ9ZFZ0LFNWdD17d3JpdGU6ZnVuY3Rpb24gTVZ0KHQpe3ZhciBlPXtvcHRpb25zOntkaXJlY3RlZDp0LmlzRGlyZWN0ZWQoKSxtdWx0aWdyYXBoOnQuaXNNdWx0aWdyYXBoKCksY29tcG91bmQ6dC5pc0NvbXBvdW5kKCl9LG5vZGVzOlRWdCh0KSxlZGdlczpDVnQodCl9O3hWdC5pc1VuZGVmaW5lZCh0LmdyYXBoKCkpfHwoZS52YWx1ZT14VnQuY2xvbmUodC5ncmFwaCgpKSk7cmV0dXJuIGV9LHJlYWQ6ZnVuY3Rpb24gRVZ0KHQpe3ZhciBlPW5ldyB3VnQodC5vcHRpb25zKS5zZXRHcmFwaCh0LnZhbHVlKTtyZXR1cm4geFZ0LmVhY2godC5ub2RlcywoZnVuY3Rpb24odCl7ZS5zZXROb2RlKHQudix0LnZhbHVlKSx0LnBhcmVudCYmZS5zZXRQYXJlbnQodC52LHQucGFyZW50KX0pKSx4VnQuZWFjaCh0LmVkZ2VzLChmdW5jdGlvbih0KXtlLnNldEVkZ2Uoe3Y6dC52LHc6dC53LG5hbWU6dC5uYW1lfSx0LnZhbHVlKX0pKSxlfX07ZnVuY3Rpb24gVFZ0KHQpe3JldHVybiB4VnQubWFwKHQubm9kZXMoKSwoZnVuY3Rpb24oZSl7dmFyIG49dC5ub2RlKGUpLGk9dC5wYXJlbnQoZSkscj17djplfTtyZXR1cm4geFZ0LmlzVW5kZWZpbmVkKG4pfHwoci52YWx1ZT1uKSx4VnQuaXNVbmRlZmluZWQoaSl8fChyLnBhcmVudD1pKSxyfSkpfWZ1bmN0aW9uIENWdCh0KXtyZXR1cm4geFZ0Lm1hcCh0LmVkZ2VzKCksKGZ1bmN0aW9uKGUpe3ZhciBuPXQuZWRnZShlKSxpPXt2OmUudix3OmUud307cmV0dXJuIHhWdC5pc1VuZGVmaW5lZChlLm5hbWUpfHwoaS5uYW1lPWUubmFtZSkseFZ0LmlzVW5kZWZpbmVkKG4pfHwoaS52YWx1ZT1uKSxpfSkpfXZhciBBVnQ9dVZ0LGtWdD1mdW5jdGlvbiBMVnQodCl7dmFyIGUsbj17fSxpPVtdO2Z1bmN0aW9uIHIoaSl7QVZ0LmhhcyhuLGkpfHwobltpXT0hMCxlLnB1c2goaSksQVZ0LmVhY2godC5zdWNjZXNzb3JzKGkpLHIpLEFWdC5lYWNoKHQucHJlZGVjZXNzb3JzKGkpLHIpKX1yZXR1cm4gQVZ0LmVhY2godC5ub2RlcygpLChmdW5jdGlvbih0KXtlPVtdLHIodCksZS5sZW5ndGgmJmkucHVzaChlKX0pKSxpfTt2YXIgUFZ0PXVWdCxOVnQ9SVZ0O2Z1bmN0aW9uIElWdCgpe3RoaXMuX2Fycj1bXSx0aGlzLl9rZXlJbmRpY2VzPXt9fUlWdC5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcnIubGVuZ3RofSxJVnQucHJvdG90eXBlLmtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYXJyLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQua2V5fSkpfSxJVnQucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gUFZ0Lmhhcyh0aGlzLl9rZXlJbmRpY2VzLHQpfSxJVnQucHJvdG90eXBlLnByaW9yaXR5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2tleUluZGljZXNbdF07aWYodm9pZCAwIT09ZSlyZXR1cm4gdGhpcy5fYXJyW2VdLnByaW9yaXR5fSxJVnQucHJvdG90eXBlLm1pbj1mdW5jdGlvbigpe2lmKDA9PT10aGlzLnNpemUoKSl0aHJvdyBuZXcgRXJyb3IoIlF1ZXVlIHVuZGVyZmxvdyIpO3JldHVybiB0aGlzLl9hcnJbMF0ua2V5fSxJVnQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX2tleUluZGljZXM7aWYodD1TdHJpbmcodCksIVBWdC5oYXMobix0KSl7dmFyIGk9dGhpcy5fYXJyLHI9aS5sZW5ndGg7cmV0dXJuIG5bdF09cixpLnB1c2goe2tleTp0LHByaW9yaXR5OmV9KSx0aGlzLl9kZWNyZWFzZShyKSwhMH1yZXR1cm4hMX0sSVZ0LnByb3RvdHlwZS5yZW1vdmVNaW49ZnVuY3Rpb24oKXt0aGlzLl9zd2FwKDAsdGhpcy5fYXJyLmxlbmd0aC0xKTt2YXIgdD10aGlzLl9hcnIucG9wKCk7cmV0dXJuIGRlbGV0ZSB0aGlzLl9rZXlJbmRpY2VzW3Qua2V5XSx0aGlzLl9oZWFwaWZ5KDApLHQua2V5fSxJVnQucHJvdG90eXBlLmRlY3JlYXNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fa2V5SW5kaWNlc1t0XTtpZihlPnRoaXMuX2FycltuXS5wcmlvcml0eSl0aHJvdyBuZXcgRXJyb3IoIk5ldyBwcmlvcml0eSBpcyBncmVhdGVyIHRoYW4gY3VycmVudCBwcmlvcml0eS4gS2V5OiAiK3QrIiBPbGQ6ICIrdGhpcy5fYXJyW25dLnByaW9yaXR5KyIgTmV3OiAiK2UpO3RoaXMuX2FycltuXS5wcmlvcml0eT1lLHRoaXMuX2RlY3JlYXNlKG4pfSxJVnQucHJvdG90eXBlLl9oZWFwaWZ5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2FycixuPTIqdCxpPW4rMSxyPXQ7bjxlLmxlbmd0aCYmKHI9ZVtuXS5wcmlvcml0eTxlW3JdLnByaW9yaXR5P246cixpPGUubGVuZ3RoJiYocj1lW2ldLnByaW9yaXR5PGVbcl0ucHJpb3JpdHk/aTpyKSxyIT09dCYmKHRoaXMuX3N3YXAodCxyKSx0aGlzLl9oZWFwaWZ5KHIpKSl9LElWdC5wcm90b3R5cGUuX2RlY3JlYXNlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPXRoaXMuX2FycixpPW5bdF0ucHJpb3JpdHk7MCE9PXQmJiEobltlPXQ+PjFdLnByaW9yaXR5PGkpOyl0aGlzLl9zd2FwKHQsZSksdD1lfSxJVnQucHJvdG90eXBlLl9zd2FwPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fYXJyLGk9dGhpcy5fa2V5SW5kaWNlcyxyPW5bdF0sbz1uW2VdO25bdF09byxuW2VdPXIsaVtvLmtleV09dCxpW3Iua2V5XT1lfTt2YXIgUlZ0PU5WdCxPVnQ9ZnVuY3Rpb24gelZ0KHQsZSxuLGkpe3JldHVybihmdW5jdGlvbiByKHQsZSxuLGkpe3ZhciByLG8sYT17fSxzPW5ldyBSVnQsbD1mdW5jdGlvbih0KXt2YXIgZT10LnYhPT1yP3Qudjp0LncsaT1hW2VdLGw9bih0KSxjPW8uZGlzdGFuY2UrbDtpZihsPDApdGhyb3cgbmV3IEVycm9yKCJkaWprc3RyYSBkb2VzIG5vdCBhbGxvdyBuZWdhdGl2ZSBlZGdlIHdlaWdodHMuIEJhZCBlZGdlOiAiK3QrIiBXZWlnaHQ6ICIrbCk7YzxpLmRpc3RhbmNlJiYoaS5kaXN0YW5jZT1jLGkucHJlZGVjZXNzb3I9cixzLmRlY3JlYXNlKGUsYykpfTt0Lm5vZGVzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIG49dD09PWU/MDpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7YVt0XT17ZGlzdGFuY2U6bn0scy5hZGQodCxuKX0pKTtmb3IoO3Muc2l6ZSgpPjAmJihyPXMucmVtb3ZlTWluKCksKG89YVtyXSkuZGlzdGFuY2UhPT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOylpKHIpLmZvckVhY2gobCk7cmV0dXJuIGF9KSh0LFN0cmluZyhlKSxufHxEVnQsaXx8ZnVuY3Rpb24oZSl7cmV0dXJuIHQub3V0RWRnZXMoZSl9KX0sRFZ0PXVWdC5jb25zdGFudCgxKTt2YXIgQlZ0PU9WdCxIVnQ9dVZ0LEZWdD1mdW5jdGlvbiBWVnQodCxlLG4pe3JldHVybiBIVnQudHJhbnNmb3JtKHQubm9kZXMoKSwoZnVuY3Rpb24oaSxyKXtpW3JdPUJWdCh0LHIsZSxuKX0pLHt9KX07dmFyIFVWdD11VnQsalZ0PWZ1bmN0aW9uIEdWdCh0KXt2YXIgZT0wLG49W10saT17fSxyPVtdO2Z1bmN0aW9uIG8oYSl7dmFyIHM9aVthXT17b25TdGFjazohMCxsb3dsaW5rOmUsaW5kZXg6ZSsrfTtpZihuLnB1c2goYSksdC5zdWNjZXNzb3JzKGEpLmZvckVhY2goKGZ1bmN0aW9uKHQpe1VWdC5oYXMoaSx0KT9pW3RdLm9uU3RhY2smJihzLmxvd2xpbms9TWF0aC5taW4ocy5sb3dsaW5rLGlbdF0uaW5kZXgpKToobyh0KSxzLmxvd2xpbms9TWF0aC5taW4ocy5sb3dsaW5rLGlbdF0ubG93bGluaykpfSkpLHMubG93bGluaz09PXMuaW5kZXgpe3ZhciBsLGM9W107ZG97bD1uLnBvcCgpLGlbbF0ub25TdGFjaz0hMSxjLnB1c2gobCl9d2hpbGUoYSE9PWwpO3IucHVzaChjKX19cmV0dXJuIHQubm9kZXMoKS5mb3JFYWNoKChmdW5jdGlvbih0KXtVVnQuaGFzKGksdCl8fG8odCl9KSkscn07dmFyIFdWdD11VnQscVZ0PWpWdCxZVnQ9ZnVuY3Rpb24gWFZ0KHQpe3JldHVybiBXVnQuZmlsdGVyKHFWdCh0KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUubGVuZ3RoPjF8fDE9PT1lLmxlbmd0aCYmdC5oYXNFZGdlKGVbMF0sZVswXSl9KSl9O3ZhciAkVnQ9ZnVuY3Rpb24gS1Z0KHQsZSxuKXtyZXR1cm4oZnVuY3Rpb24gaSh0LGUsbil7dmFyIGk9e30scj10Lm5vZGVzKCk7cmV0dXJuIHIuZm9yRWFjaCgoZnVuY3Rpb24odCl7aVt0XT17fSxpW3RdW3RdPXtkaXN0YW5jZTowfSxyLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QhPT1lJiYoaVt0XVtlXT17ZGlzdGFuY2U6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZfSl9KSksbih0KS5mb3JFYWNoKChmdW5jdGlvbihuKXt2YXIgcj1uLnY9PT10P24udzpuLnYsbz1lKG4pO2lbdF1bcl09e2Rpc3RhbmNlOm8scHJlZGVjZXNzb3I6dH19KSl9KSksci5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT1pW3RdO3IuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIG89aVtuXTtyLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciBpPWVbbl0scj1vW25dLGE9b1t0XS5kaXN0YW5jZStpLmRpc3RhbmNlO2E8ci5kaXN0YW5jZSYmKHIuZGlzdGFuY2U9YSxyLnByZWRlY2Vzc29yPWkucHJlZGVjZXNzb3IpfSkpfSkpfSkpLGl9KSh0LGV8fFpWdCxufHxmdW5jdGlvbihlKXtyZXR1cm4gdC5vdXRFZGdlcyhlKX0pfSxaVnQ9dVZ0LmNvbnN0YW50KDEpO3ZhciBKVnQ9dVZ0LFFWdD10VXQ7ZnVuY3Rpb24gdFV0KHQpe3ZhciBlPXt9LG49e30saT1bXTtpZihKVnQuZWFjaCh0LnNpbmtzKCksKGZ1bmN0aW9uIHIobyl7aWYoSlZ0LmhhcyhuLG8pKXRocm93IG5ldyBlVXQ7SlZ0LmhhcyhlLG8pfHwobltvXT0hMCxlW29dPSEwLEpWdC5lYWNoKHQucHJlZGVjZXNzb3JzKG8pLHIpLGRlbGV0ZSBuW29dLGkucHVzaChvKSl9KSksSlZ0LnNpemUoZSkhPT10Lm5vZGVDb3VudCgpKXRocm93IG5ldyBlVXQ7cmV0dXJuIGl9ZnVuY3Rpb24gZVV0KCl7fXRVdC5DeWNsZUV4Y2VwdGlvbj1lVXQsZVV0LnByb3RvdHlwZT1uZXcgRXJyb3I7dmFyIG5VdD1RVnQ7dmFyIGlVdD11VnQsclV0PWZ1bmN0aW9uIG9VdCh0LGUsbil7aVV0LmlzQXJyYXkoZSl8fChlPVtlXSk7dmFyIGk9KHQuaXNEaXJlY3RlZCgpP3Quc3VjY2Vzc29yczp0Lm5laWdoYm9ycykuYmluZCh0KSxyPVtdLG89e307cmV0dXJuIGlVdC5lYWNoKGUsKGZ1bmN0aW9uKGUpe2lmKCF0Lmhhc05vZGUoZSkpdGhyb3cgbmV3IEVycm9yKCJHcmFwaCBkb2VzIG5vdCBoYXZlIG5vZGU6ICIrZSk7YVV0KHQsZSwicG9zdCI9PT1uLG8saSxyKX0pKSxyfTtmdW5jdGlvbiBhVXQodCxlLG4saSxyLG8pe2lVdC5oYXMoaSxlKXx8KGlbZV09ITAsbnx8by5wdXNoKGUpLGlVdC5lYWNoKHIoZSksKGZ1bmN0aW9uKGUpe2FVdCh0LGUsbixpLHIsbyl9KSksbiYmby5wdXNoKGUpKX12YXIgc1V0PXJVdDt2YXIgbFV0PXJVdDt2YXIgY1V0PXVWdCx1VXQ9ZFZ0LGhVdD1OVnQ7dmFyIGRVdCxwVXQ9e0dyYXBoOmJWdC5HcmFwaCxqc29uOlNWdCxhbGc6e2NvbXBvbmVudHM6a1Z0LGRpamtzdHJhOk9WdCxkaWprc3RyYUFsbDpGVnQsZmluZEN5Y2xlczpZVnQsZmxveWRXYXJzaGFsbDokVnQsaXNBY3ljbGljOmZ1bmN0aW9uIGZVdCh0KXt0cnl7blV0KHQpfWNhdGNoKHQpe2lmKHQgaW5zdGFuY2VvZiBuVXQuQ3ljbGVFeGNlcHRpb24pcmV0dXJuITE7dGhyb3cgdH1yZXR1cm4hMH0scG9zdG9yZGVyOmZ1bmN0aW9uIG1VdCh0LGUpe3JldHVybiBzVXQodCxlLCJwb3N0Iil9LHByZW9yZGVyOmZ1bmN0aW9uIGdVdCh0LGUpe3JldHVybiBsVXQodCxlLCJwcmUiKX0scHJpbTpmdW5jdGlvbiBfVXQodCxlKXt2YXIgbixpPW5ldyB1VXQscj17fSxvPW5ldyBoVXQ7ZnVuY3Rpb24gYSh0KXt2YXIgaT10LnY9PT1uP3Qudzp0LnYsYT1vLnByaW9yaXR5KGkpO2lmKHZvaWQgMCE9PWEpe3ZhciBzPWUodCk7czxhJiYocltpXT1uLG8uZGVjcmVhc2UoaSxzKSl9fWlmKDA9PT10Lm5vZGVDb3VudCgpKXJldHVybiBpO2NVdC5lYWNoKHQubm9kZXMoKSwoZnVuY3Rpb24odCl7by5hZGQodCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLGkuc2V0Tm9kZSh0KX0pKSxvLmRlY3JlYXNlKHQubm9kZXMoKVswXSwwKTt2YXIgcz0hMTtmb3IoO28uc2l6ZSgpPjA7KXtpZihuPW8ucmVtb3ZlTWluKCksY1V0LmhhcyhyLG4pKWkuc2V0RWRnZShuLHJbbl0pO2Vsc2V7aWYocyl0aHJvdyBuZXcgRXJyb3IoIklucHV0IGdyYXBoIGlzIG5vdCBjb25uZWN0ZWQ6ICIrdCk7cz0hMH10Lm5vZGVFZGdlcyhuKS5mb3JFYWNoKGEpfXJldHVybiBpfSx0YXJqYW46alZ0LHRvcHNvcnQ6UVZ0fSx2ZXJzaW9uOmJWdC52ZXJzaW9ufTt0cnl7ZFV0PXBVdH1jYXRjaCh0KXt9ZFV0fHwoZFV0PXdpbmRvdy5ncmFwaGxpYik7dmFyIHlVdD1kVXQsdlV0PWdPdDt2YXIgYlV0PWZ1bmN0aW9uIHhVdCh0KXtyZXR1cm4gdlV0KHQsNSl9LHdVdD1IQXQsU1V0PXlOdCxNVXQ9SVB0LEVVdD1Qa3Q7dmFyIFRVdD1mdW5jdGlvbiBDVXQodCxlLG4pe2lmKCFFVXQobikpcmV0dXJuITE7dmFyIGk9dHlwZW9mIGU7cmV0dXJuISEoIm51bWJlciI9PWk/U1V0KG4pJiZNVXQoZSxuLmxlbmd0aCk6InN0cmluZyI9PWkmJmUgaW4gbikmJndVdChuW2VdLHQpfSxBVXQ9SEF0LGtVdD1UVXQsTFV0PUJOdCxQVXQ9T2JqZWN0LnByb3RvdHlwZSxOVXQ9UFV0Lmhhc093blByb3BlcnR5LElVdD1TRnQoKGZ1bmN0aW9uKHQsZSl7dD1PYmplY3QodCk7dmFyIG49LTEsaT1lLmxlbmd0aCxyPWk+Mj9lWzJdOnZvaWQgMDtmb3IociYma1V0KGVbMF0sZVsxXSxyKSYmKGk9MSk7KytuPGk7KWZvcih2YXIgbz1lW25dLGE9TFV0KG8pLHM9LTEsbD1hLmxlbmd0aDsrK3M8bDspe3ZhciBjPWFbc10sdT10W2NdOyh2b2lkIDA9PT11fHxBVXQodSxQVXRbY10pJiYhTlV0LmNhbGwodCxjKSkmJih0W2NdPW9bY10pfXJldHVybiB0fSkpLFJVdD14QnQsT1V0PXlOdCx6VXQ9U050O3ZhciBEVXQ9L1xzLzt2YXIgQlV0PWZ1bmN0aW9uIEhVdCh0KXtmb3IodmFyIGU9dC5sZW5ndGg7ZS0tJiZEVXQudGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX0sRlV0PS9eXHMrLzt2YXIgVlV0PWZ1bmN0aW9uIFVVdCh0KXtyZXR1cm4gdD90LnNsaWNlKDAsQlV0KHQpKzEpLnJlcGxhY2UoRlV0LCIiKTp0fSxqVXQ9UGt0LEdVdD10RHQsV1V0PS9eWy0rXTB4WzAtOWEtZl0rJC9pLHFVdD0vXjBiWzAxXSskL2ksWVV0PS9eMG9bMC03XSskL2ksWFV0PXBhcnNlSW50O3ZhciAkVXQ9ZnVuY3Rpb24gS1V0KHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZihHVXQodCkpcmV0dXJuIE5hTjtpZihqVXQodCkpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0LnZhbHVlT2Y/dC52YWx1ZU9mKCk6dDt0PWpVdChlKT9lKyIiOmV9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9VlV0KHQpO3ZhciBuPXFVdC50ZXN0KHQpO3JldHVybiBufHxZVXQudGVzdCh0KT9YVXQodC5zbGljZSgyKSxuPzI6OCk6V1V0LnRlc3QodCk/TmFOOit0fSxaVXQ9MS8wO3ZhciBKVXQ9ZnVuY3Rpb24gUVV0KHQpe3JldHVybiB0Pyh0PSRVdCh0KSk9PT1aVXR8fHQ9PT0tMS8wPzE3OTc2OTMxMzQ4NjIzMTU3ZTI5MioodDwwPy0xOjEpOnQ9PXQ/dDowOjA9PT10P3Q6MH0sdGp0PUpVdDt2YXIgZWp0PUVGdCxuanQ9eEJ0LGlqdD1mdW5jdGlvbiByanQodCl7dmFyIGU9dGp0KHQpLG49ZSUxO3JldHVybiBlPT1lP24/ZS1uOmU6MH0sb2p0PU1hdGgubWF4O3ZhciBhanQ9KGZ1bmN0aW9uIGxqdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLGkpe3ZhciByPU9iamVjdChlKTtpZighT1V0KGUpKXt2YXIgbz1SVXQobik7ZT16VXQoZSksbj1mdW5jdGlvbih0KXtyZXR1cm4gbyhyW3RdLHQscil9fXZhciBhPXQoZSxuLGkpO3JldHVybiBhPi0xP3Jbbz9lW2FdOmFdOnZvaWQgMH19KSgoZnVuY3Rpb24gc2p0KHQsZSxuKXt2YXIgaT1udWxsPT10PzA6dC5sZW5ndGg7aWYoIWkpcmV0dXJuLTE7dmFyIHI9bnVsbD09bj8wOmlqdChuKTtyZXR1cm4gcjwwJiYocj1vanQoaStyLDApKSxlanQodCxuanQoZSkscil9KSksY2p0PWNGdDt2YXIgdWp0PWZ1bmN0aW9uIGhqdCh0KXtyZXR1cm4obnVsbD09dD8wOnQubGVuZ3RoKT9janQodCwxKTpbXX0sZGp0PXdPdCxwanQ9Uk90LGZqdD1CTnQ7dmFyIG1qdD1mdW5jdGlvbiBnanQodCxlKXtyZXR1cm4gbnVsbD09dD90OmRqdCh0LHBqdChlKSxmanQpfTt2YXIgX2p0PWZ1bmN0aW9uIHlqdCh0KXt2YXIgZT1udWxsPT10PzA6dC5sZW5ndGg7cmV0dXJuIGU/dFtlLTFdOnZvaWQgMH0sdmp0PXJQdCxianQ9VE90LHhqdD14QnQ7dmFyIHdqdD1mdW5jdGlvbiBTanQodCxlKXt2YXIgbj17fTtyZXR1cm4gZT14anQoZSksYmp0KHQsKGZ1bmN0aW9uKHQsaSxyKXt2anQobixpLGUodCxpLHIpKX0pKSxufSxNanQ9dER0O3ZhciBFanQ9ZnVuY3Rpb24gVGp0KHQsZSxuKXtmb3IodmFyIGk9LTEscj10Lmxlbmd0aDsrK2k8cjspe3ZhciBvPXRbaV0sYT1lKG8pO2lmKG51bGwhPWEmJih2b2lkIDA9PT1zP2E9PWEmJiFNanQoYSk6bihhLHMpKSl2YXIgcz1hLGw9b31yZXR1cm4gbH07dmFyIENqdD1FanQsQWp0PWZ1bmN0aW9uIGtqdCh0LGUpe3JldHVybiB0PmV9LExqdD1QT3Q7dmFyIFBqdD1mdW5jdGlvbiBOanQodCl7cmV0dXJuIHQmJnQubGVuZ3RoP0NqdCh0LExqdCxBanQpOnZvaWQgMH0sSWp0PXJQdCxSanQ9SEF0O3ZhciBPanQ9ZnVuY3Rpb24gemp0KHQsZSxuKXsodm9pZCAwIT09biYmIVJqdCh0W2VdLG4pfHx2b2lkIDA9PT1uJiYhKGUgaW4gdCkpJiZJanQodCxlLG4pfSxEanQ9a2t0LEJqdD1zSXQsSGp0PV9QdCxGanQ9RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLFZqdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LFVqdD1GanQuY2FsbChPYmplY3QpO3ZhciBqanQ9ZnVuY3Rpb24gR2p0KHQsZSl7aWYoKCJjb25zdHJ1Y3RvciIhPT1lfHwiZnVuY3Rpb24iIT10eXBlb2YgdFtlXSkmJiJfX3Byb3RvX18iIT1lKXJldHVybiB0W2VdfSxXanQ9cFB0LHFqdD1CTnQ7dmFyIFlqdD1PanQsWGp0PUdOdC5leHBvcnRzLCRqdD11UnQsS2p0PVdOdCxaanQ9QVJ0LEpqdD1DUHQsUWp0PUFQdCx0R3Q9S0Z0LGVHdD1rUHQuZXhwb3J0cyxuR3Q9emt0LGlHdD1Qa3Qsckd0PWZ1bmN0aW9uIG9HdCh0KXtpZighSGp0KHQpfHwiW29iamVjdCBPYmplY3RdIiE9RGp0KHQpKXJldHVybiExO3ZhciBlPUJqdCh0KTtpZihudWxsPT09ZSlyZXR1cm4hMDt2YXIgbj1WanQuY2FsbChlLCJjb25zdHJ1Y3RvciIpJiZlLmNvbnN0cnVjdG9yO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBuJiZuIGluc3RhbmNlb2YgbiYmRmp0LmNhbGwobik9PVVqdH0sYUd0PSRQdCxzR3Q9amp0LGxHdD1mdW5jdGlvbiBjR3QodCl7cmV0dXJuIFdqdCh0LHFqdCh0KSl9O3ZhciB1R3Q9Skx0LGhHdD1PanQsZEd0PXdPdCxwR3Q9ZnVuY3Rpb24gZkd0KHQsZSxuLGkscixvLGEpe3ZhciBzPXNHdCh0LG4pLGw9c0d0KGUsbiksYz1hLmdldChsKTtpZihjKVlqdCh0LG4sYyk7ZWxzZXt2YXIgdT1vP28ocyxsLG4rIiIsdCxlLGEpOnZvaWQgMCxoPXZvaWQgMD09PXU7aWYoaCl7dmFyIGQ9UWp0KGwpLHA9IWQmJmVHdChsKSxmPSFkJiYhcCYmYUd0KGwpO3U9bCxkfHxwfHxmP1FqdChzKT91PXM6dEd0KHMpP3U9S2p0KHMpOnA/KGg9ITEsdT1YanQobCwhMCkpOmY/KGg9ITEsdT0kanQobCwhMCkpOnU9W106ckd0KGwpfHxKanQobCk/KHU9cyxKanQocyk/dT1sR3Qocyk6aUd0KHMpJiYhbkd0KHMpfHwodT1aanQobCkpKTpoPSExfWgmJihhLnNldChsLHUpLHIodSxsLGksbyxhKSxhLmRlbGV0ZShsKSksWWp0KHQsbix1KX19LG1HdD1Qa3QsZ0d0PUJOdCxfR3Q9amp0O3ZhciB5R3Q9U0Z0LHZHdD1UVXQ7dmFyIGJHdD1mdW5jdGlvbiB0KGUsbixpLHIsbyl7ZSE9PW4mJmRHdChuLChmdW5jdGlvbihhLHMpe2lmKG98fChvPW5ldyB1R3QpLG1HdChhKSlwR3QoZSxuLHMsaSx0LHIsbyk7ZWxzZXt2YXIgbD1yP3IoX0d0KGUscyksYSxzKyIiLGUsbixvKTp2b2lkIDA7dm9pZCAwPT09bCYmKGw9YSksaEd0KGUscyxsKX19KSxnR3QpfSx4R3Q9KGZ1bmN0aW9uIHdHdCh0KXtyZXR1cm4geUd0KChmdW5jdGlvbihlLG4pe3ZhciBpPS0xLHI9bi5sZW5ndGgsbz1yPjE/bltyLTFdOnZvaWQgMCxhPXI+Mj9uWzJdOnZvaWQgMDtmb3Iobz10Lmxlbmd0aD4zJiYiZnVuY3Rpb24iPT10eXBlb2Ygbz8oci0tLG8pOnZvaWQgMCxhJiZ2R3QoblswXSxuWzFdLGEpJiYobz1yPDM/dm9pZCAwOm8scj0xKSxlPU9iamVjdChlKTsrK2k8cjspe3ZhciBzPW5baV07cyYmdChlLHMsaSxvKX1yZXR1cm4gZX0pKX0pKChmdW5jdGlvbih0LGUsbil7Ykd0KHQsZSxuKX0pKTt2YXIgU0d0PWZ1bmN0aW9uIE1HdCh0LGUpe3JldHVybiB0PGV9LEVHdD1FanQsVEd0PVNHdCxDR3Q9UE90O3ZhciBBR3Q9ZnVuY3Rpb24ga0d0KHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9FR3QodCxDR3QsVEd0KTp2b2lkIDB9LExHdD1FanQsUEd0PXhCdCxOR3Q9U0d0O3ZhciBJR3Q9ZnVuY3Rpb24gUkd0KHQsZSl7cmV0dXJuIHQmJnQubGVuZ3RoP0xHdCh0LFBHdChlKSxOR3QpOnZvaWQgMH0sT0d0PV9rdCx6R3Q9ZnVuY3Rpb24oKXtyZXR1cm4gT0d0LkRhdGUubm93KCl9LERHdD1jUHQsQkd0PWtEdCxIR3Q9SVB0LEZHdD1Qa3QsVkd0PU5EdDt2YXIgVUd0PXpEdCxqR3Q9ZnVuY3Rpb24gR0d0KHQsZSxuLGkpe2lmKCFGR3QodCkpcmV0dXJuIHQ7Zm9yKHZhciByPS0xLG89KGU9Qkd0KGUsdCkpLmxlbmd0aCxhPW8tMSxzPXQ7bnVsbCE9cyYmKytyPG87KXt2YXIgbD1WR3QoZVtyXSksYz1uO2lmKCJfX3Byb3RvX18iPT09bHx8ImNvbnN0cnVjdG9yIj09PWx8fCJwcm90b3R5cGUiPT09bClyZXR1cm4gdDtpZihyIT1hKXt2YXIgdT1zW2xdO3ZvaWQgMD09PShjPWk/aSh1LGwscyk6dm9pZCAwKSYmKGM9Rkd0KHUpP3U6SEd0KGVbcisxXSk/W106e30pfURHdChzLGwsYykscz1zW2xdfXJldHVybiB0fSxXR3Q9a0R0O3ZhciBxR3Q9ZnVuY3Rpb24gWUd0KHQsZSxuKXtmb3IodmFyIGk9LTEscj1lLmxlbmd0aCxvPXt9OysraTxyOyl7dmFyIGE9ZVtpXSxzPVVHdCh0LGEpO24ocyxhKSYmakd0KG8sV0d0KGEsdCkscyl9cmV0dXJuIG99LFhHdD1LRHQ7dmFyICRHdD11anQsS0d0PXBGdCxaR3Q9eUZ0O3ZhciBKR3Q9ZnVuY3Rpb24gUUd0KHQsZSl7cmV0dXJuIHFHdCh0LGUsKGZ1bmN0aW9uKGUsbil7cmV0dXJuIFhHdCh0LG4pfSkpfSx0V3Q9KGZ1bmN0aW9uIGVXdCh0KXtyZXR1cm4gWkd0KEtHdCh0LHZvaWQgMCwkR3QpLHQrIiIpfSkoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQ/e306Skd0KHQsZSl9KSksbld0PU1hdGguY2VpbCxpV3Q9TWF0aC5tYXg7dmFyIHJXdD1mdW5jdGlvbiBvV3QodCxlLG4saSl7Zm9yKHZhciByPS0xLG89aVd0KG5XdCgoZS10KS8obnx8MSkpLDApLGE9QXJyYXkobyk7by0tOylhW2k/bzorK3JdPXQsdCs9bjtyZXR1cm4gYX0sYVd0PVRVdCxzV3Q9SlV0O3ZhciBsV3Q9KGZ1bmN0aW9uIGNXdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpJiYibnVtYmVyIiE9dHlwZW9mIGkmJmFXdChlLG4saSkmJihuPWk9dm9pZCAwKSxlPXNXdChlKSx2b2lkIDA9PT1uPyhuPWUsZT0wKTpuPXNXdChuKSxpPXZvaWQgMD09PWk/ZTxuPzE6LTE6c1d0KGkpLHJXdChlLG4saSx0KX19KSgpO3ZhciB1V3Q9dER0O3ZhciBoV3Q9ZnVuY3Rpb24gZFd0KHQsZSl7aWYodCE9PWUpe3ZhciBuPXZvaWQgMCE9PXQsaT1udWxsPT09dCxyPXQ9PXQsbz11V3QodCksYT12b2lkIDAhPT1lLHM9bnVsbD09PWUsbD1lPT1lLGM9dVd0KGUpO2lmKCFzJiYhYyYmIW8mJnQ+ZXx8byYmYSYmbCYmIXMmJiFjfHxpJiZhJiZsfHwhbiYmbHx8IXIpcmV0dXJuIDE7aWYoIWkmJiFvJiYhYyYmdDxlfHxjJiZuJiZyJiYhaSYmIW98fHMmJm4mJnJ8fCFhJiZyfHwhbClyZXR1cm4tMX1yZXR1cm4gMH07dmFyIHBXdD1tRHQsZld0PXpEdCxtV3Q9eEJ0LGdXdD1LQnQsX1d0PWZ1bmN0aW9uIHlXdCh0LGUpe3ZhciBuPXQubGVuZ3RoO2Zvcih0LnNvcnQoZSk7bi0tOyl0W25dPXRbbl0udmFsdWU7cmV0dXJuIHR9LHZXdD1qUHQsYld0PWZ1bmN0aW9uIHhXdCh0LGUsbil7Zm9yKHZhciBpPS0xLHI9dC5jcml0ZXJpYSxvPWUuY3JpdGVyaWEsYT1yLmxlbmd0aCxzPW4ubGVuZ3RoOysraTxhOyl7dmFyIGw9aFd0KHJbaV0sb1tpXSk7aWYobClyZXR1cm4gaT49cz9sOmwqKCJkZXNjIj09bltpXT8tMToxKX1yZXR1cm4gdC5pbmRleC1lLmluZGV4fSx3V3Q9UE90LFNXdD1BUHQ7dmFyIE1XdD1jRnQsRVd0PWZ1bmN0aW9uIFRXdCh0LGUsbil7ZT1lLmxlbmd0aD9wV3QoZSwoZnVuY3Rpb24odCl7cmV0dXJuIFNXdCh0KT9mdW5jdGlvbihlKXtyZXR1cm4gZld0KGUsMT09PXQubGVuZ3RoP3RbMF06dCl9OnR9KSk6W3dXdF07dmFyIGk9LTE7ZT1wV3QoZSx2V3QobVd0KSk7dmFyIHI9Z1d0KHQsKGZ1bmN0aW9uKHQsbixyKXtyZXR1cm57Y3JpdGVyaWE6cFd0KGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlKHQpfSkpLGluZGV4OisraSx2YWx1ZTp0fX0pKTtyZXR1cm4gX1d0KHIsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGJXdCh0LGUsbil9KSl9LENXdD1UVXQsQVd0PVNGdCgoZnVuY3Rpb24odCxlKXtpZihudWxsPT10KXJldHVybltdO3ZhciBuPWUubGVuZ3RoO3JldHVybiBuPjEmJkNXdCh0LGVbMF0sZVsxXSk/ZT1bXTpuPjImJkNXdChlWzBdLGVbMV0sZVsyXSkmJihlPVtlWzBdXSksRVd0KHQsTVd0KGUsMSksW10pfSkpLGtXdD1TRHQsTFd0PTA7dmFyIFBXdD1mdW5jdGlvbiBOV3QodCl7dmFyIGU9KytMV3Q7cmV0dXJuIGtXdCh0KStlfTt2YXIgSVd0PWNQdCxSV3Q9ZnVuY3Rpb24gT1d0KHQsZSxuKXtmb3IodmFyIGk9LTEscj10Lmxlbmd0aCxvPWUubGVuZ3RoLGE9e307KytpPHI7KXtuKGEsdFtpXSxpPG8/ZVtpXTp2b2lkIDApfXJldHVybiBhfTt2YXIgeld0LERXdD1mdW5jdGlvbiBCV3QodCxlKXtyZXR1cm4gUld0KHR8fFtdLGV8fFtdLElXdCl9O3RyeXt6V3Q9e2Nsb25lRGVlcDpiVXQsY29uc3RhbnQ6Yk90LGRlZmF1bHRzOklVdCxlYWNoOlVPdCxmaWx0ZXI6Q0J0LGZpbmQ6YWp0LGZsYXR0ZW46dWp0LGZvckVhY2g6Rk90LGZvckluOm1qdCxoYXM6SUJ0LGlzVW5kZWZpbmVkOnFCdCxsYXN0Ol9qdCxtYXA6bkh0LG1hcFZhbHVlczp3anQsbWF4OlBqdCxtZXJnZTp4R3QsbWluOkFHdCxtaW5CeTpJR3Qsbm93OnpHdCxwaWNrOnRXdCxyYW5nZTpsV3QscmVkdWNlOmhIdCxzb3J0Qnk6QVd0LHVuaXF1ZUlkOlBXdCx2YWx1ZXM6bFZ0LHppcE9iamVjdDpEV3R9fWNhdGNoKHQpe316V3R8fCh6V3Q9d2luZG93Ll8pO3ZhciBIV3Q9eld0LEZXdD1WV3Q7ZnVuY3Rpb24gVld0KCl7dmFyIHQ9e307dC5fbmV4dD10Ll9wcmV2PXQsdGhpcy5fc2VudGluZWw9dH1mdW5jdGlvbiBVV3QodCl7dC5fcHJldi5fbmV4dD10Ll9uZXh0LHQuX25leHQuX3ByZXY9dC5fcHJldixkZWxldGUgdC5fbmV4dCxkZWxldGUgdC5fcHJldn1mdW5jdGlvbiBqV3QodCxlKXtpZigiX25leHQiIT09dCYmIl9wcmV2IiE9PXQpcmV0dXJuIGV9Vld0LnByb3RvdHlwZS5kZXF1ZXVlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fc2VudGluZWwsZT10Ll9wcmV2O2lmKGUhPT10KXJldHVybiBVV3QoZSksZX0sVld0LnByb3RvdHlwZS5lbnF1ZXVlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3NlbnRpbmVsO3QuX3ByZXYmJnQuX25leHQmJlVXdCh0KSx0Ll9uZXh0PWUuX25leHQsZS5fbmV4dC5fcHJldj10LGUuX25leHQ9dCx0Ll9wcmV2PWV9LFZXdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT10aGlzLl9zZW50aW5lbCxuPWUuX3ByZXY7biE9PWU7KXQucHVzaChKU09OLnN0cmluZ2lmeShuLGpXdCkpLG49bi5fcHJldjtyZXR1cm4iWyIrdC5qb2luKCIsICIpKyJdIn07dmFyIEdXdD1IV3QsV1d0PXlVdC5HcmFwaCxxV3Q9Rld0LFlXdD1mdW5jdGlvbiBYV3QodCxlKXtpZih0Lm5vZGVDb3VudCgpPD0xKXJldHVybltdO3ZhciBuPShmdW5jdGlvbiBpKHQsZSl7dmFyIG49bmV3IFdXdCxpPTAscj0wO0dXdC5mb3JFYWNoKHQubm9kZXMoKSwoZnVuY3Rpb24odCl7bi5zZXROb2RlKHQse3Y6dCxpbjowLG91dDowfSl9KSksR1d0LmZvckVhY2godC5lZGdlcygpLChmdW5jdGlvbih0KXt2YXIgbz1uLmVkZ2UodC52LHQudyl8fDAsYT1lKHQpO24uc2V0RWRnZSh0LnYsdC53LG8rYSkscj1NYXRoLm1heChyLG4ubm9kZSh0LnYpLm91dCs9YSksaT1NYXRoLm1heChpLG4ubm9kZSh0LncpLmluKz1hKX0pKTt2YXIgbz1HV3QucmFuZ2UocitpKzMpLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHFXdH0pKSxhPWkrMTtyZXR1cm4gR1d0LmZvckVhY2gobi5ub2RlcygpLChmdW5jdGlvbih0KXtaV3QobyxhLG4ubm9kZSh0KSl9KSkse2dyYXBoOm4sYnVja2V0czpvLHplcm9JZHg6YX19KSh0LGV8fCRXdCkscj0oZnVuY3Rpb24gbyh0LGUsbil7dmFyIGkscj1bXSxvPWVbZS5sZW5ndGgtMV0sYT1lWzBdO2Zvcig7dC5ub2RlQ291bnQoKTspe2Zvcig7aT1hLmRlcXVldWUoKTspS1d0KHQsZSxuLGkpO2Zvcig7aT1vLmRlcXVldWUoKTspS1d0KHQsZSxuLGkpO2lmKHQubm9kZUNvdW50KCkpZm9yKHZhciBzPWUubGVuZ3RoLTI7cz4wOy0tcylpZihpPWVbc10uZGVxdWV1ZSgpKXtyPXIuY29uY2F0KEtXdCh0LGUsbixpLCEwKSk7YnJlYWt9fXJldHVybiByfSkobi5ncmFwaCxuLmJ1Y2tldHMsbi56ZXJvSWR4KTtyZXR1cm4gR1d0LmZsYXR0ZW4oR1d0Lm1hcChyLChmdW5jdGlvbihlKXtyZXR1cm4gdC5vdXRFZGdlcyhlLnYsZS53KX0pKSwhMCl9LCRXdD1HV3QuY29uc3RhbnQoMSk7ZnVuY3Rpb24gS1d0KHQsZSxuLGkscil7dmFyIG89cj9bXTp2b2lkIDA7cmV0dXJuIEdXdC5mb3JFYWNoKHQuaW5FZGdlcyhpLnYpLChmdW5jdGlvbihpKXt2YXIgYT10LmVkZ2UoaSkscz10Lm5vZGUoaS52KTtyJiZvLnB1c2goe3Y6aS52LHc6aS53fSkscy5vdXQtPWEsWld0KGUsbixzKX0pKSxHV3QuZm9yRWFjaCh0Lm91dEVkZ2VzKGkudiksKGZ1bmN0aW9uKGkpe3ZhciByPXQuZWRnZShpKSxvPXQubm9kZShpLncpO28uaW4tPXIsWld0KGUsbixvKX0pKSx0LnJlbW92ZU5vZGUoaS52KSxvfWZ1bmN0aW9uIFpXdCh0LGUsbil7bi5vdXQ/bi5pbj90W24ub3V0LW4uaW4rZV0uZW5xdWV1ZShuKTp0W3QubGVuZ3RoLTFdLmVucXVldWUobik6dFswXS5lbnF1ZXVlKG4pfXZhciBKV3Q9SFd0LFFXdD1ZV3QsdHF0PXtydW46ZnVuY3Rpb24gZXF0KHQpe3ZhciBlPSJncmVlZHkiPT09dC5ncmFwaCgpLmFjeWNsaWNlcj9RV3QodCwoZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuZWRnZShlKS53ZWlnaHR9fSkodCkpOihmdW5jdGlvbiBpKHQpe3ZhciBlPVtdLG49e30saT17fTtmdW5jdGlvbiByKG8pe0pXdC5oYXMoaSxvKXx8KGlbb109ITAsbltvXT0hMCxKV3QuZm9yRWFjaCh0Lm91dEVkZ2VzKG8pLChmdW5jdGlvbih0KXtKV3QuaGFzKG4sdC53KT9lLnB1c2godCk6cih0LncpfSkpLGRlbGV0ZSBuW29dKX1yZXR1cm4gSld0LmZvckVhY2godC5ub2RlcygpLHIpLGV9KSh0KTtKV3QuZm9yRWFjaChlLChmdW5jdGlvbihlKXt2YXIgbj10LmVkZ2UoZSk7dC5yZW1vdmVFZGdlKGUpLG4uZm9yd2FyZE5hbWU9ZS5uYW1lLG4ucmV2ZXJzZWQ9ITAsdC5zZXRFZGdlKGUudyxlLnYsbixKV3QudW5pcXVlSWQoInJldiIpKX0pKX0sdW5kbzpmdW5jdGlvbiBucXQodCl7Sld0LmZvckVhY2godC5lZGdlcygpLChmdW5jdGlvbihlKXt2YXIgbj10LmVkZ2UoZSk7aWYobi5yZXZlcnNlZCl7dC5yZW1vdmVFZGdlKGUpO3ZhciBpPW4uZm9yd2FyZE5hbWU7ZGVsZXRlIG4ucmV2ZXJzZWQsZGVsZXRlIG4uZm9yd2FyZE5hbWUsdC5zZXRFZGdlKGUudyxlLnYsbixpKX19KSl9fTt2YXIgaXF0PUhXdCxycXQ9eVV0LkdyYXBoLG9xdD17YWRkRHVtbXlOb2RlOnlxdCxzaW1wbGlmeTpmdW5jdGlvbiBhcXQodCl7dmFyIGU9KG5ldyBycXQpLnNldEdyYXBoKHQuZ3JhcGgoKSk7cmV0dXJuIGlxdC5mb3JFYWNoKHQubm9kZXMoKSwoZnVuY3Rpb24obil7ZS5zZXROb2RlKG4sdC5ub2RlKG4pKX0pKSxpcXQuZm9yRWFjaCh0LmVkZ2VzKCksKGZ1bmN0aW9uKG4pe3ZhciBpPWUuZWRnZShuLnYsbi53KXx8e3dlaWdodDowLG1pbmxlbjoxfSxyPXQuZWRnZShuKTtlLnNldEVkZ2Uobi52LG4udyx7d2VpZ2h0Omkud2VpZ2h0K3Iud2VpZ2h0LG1pbmxlbjpNYXRoLm1heChpLm1pbmxlbixyLm1pbmxlbil9KX0pKSxlfSxhc05vbkNvbXBvdW5kR3JhcGg6ZnVuY3Rpb24gc3F0KHQpe3ZhciBlPW5ldyBycXQoe211bHRpZ3JhcGg6dC5pc011bHRpZ3JhcGgoKX0pLnNldEdyYXBoKHQuZ3JhcGgoKSk7cmV0dXJuIGlxdC5mb3JFYWNoKHQubm9kZXMoKSwoZnVuY3Rpb24obil7dC5jaGlsZHJlbihuKS5sZW5ndGh8fGUuc2V0Tm9kZShuLHQubm9kZShuKSl9KSksaXF0LmZvckVhY2godC5lZGdlcygpLChmdW5jdGlvbihuKXtlLnNldEVkZ2Uobix0LmVkZ2UobikpfSkpLGV9LHN1Y2Nlc3NvcldlaWdodHM6ZnVuY3Rpb24gbHF0KHQpe3ZhciBlPWlxdC5tYXAodC5ub2RlcygpLChmdW5jdGlvbihlKXt2YXIgbj17fTtyZXR1cm4gaXF0LmZvckVhY2godC5vdXRFZGdlcyhlKSwoZnVuY3Rpb24oZSl7bltlLnddPShuW2Uud118fDApK3QuZWRnZShlKS53ZWlnaHR9KSksbn0pKTtyZXR1cm4gaXF0LnppcE9iamVjdCh0Lm5vZGVzKCksZSl9LHByZWRlY2Vzc29yV2VpZ2h0czpmdW5jdGlvbiBjcXQodCl7dmFyIGU9aXF0Lm1hcCh0Lm5vZGVzKCksKGZ1bmN0aW9uKGUpe3ZhciBuPXt9O3JldHVybiBpcXQuZm9yRWFjaCh0LmluRWRnZXMoZSksKGZ1bmN0aW9uKGUpe25bZS52XT0obltlLnZdfHwwKSt0LmVkZ2UoZSkud2VpZ2h0fSkpLG59KSk7cmV0dXJuIGlxdC56aXBPYmplY3QodC5ub2RlcygpLGUpfSxpbnRlcnNlY3RSZWN0OmZ1bmN0aW9uIHVxdCh0LGUpe3ZhciBuLGkscj10Lngsbz10LnksYT1lLngtcixzPWUueS1vLGw9dC53aWR0aC8yLGM9dC5oZWlnaHQvMjtpZighYSYmIXMpdGhyb3cgbmV3IEVycm9yKCJOb3QgcG9zc2libGUgdG8gZmluZCBpbnRlcnNlY3Rpb24gaW5zaWRlIG9mIHRoZSByZWN0YW5nbGUiKTtNYXRoLmFicyhzKSpsPk1hdGguYWJzKGEpKmM/KHM8MCYmKGM9LWMpLG49YyphL3MsaT1jKTooYTwwJiYobD0tbCksbj1sLGk9bCpzL2EpO3JldHVybnt4OnIrbix5Om8raX19LGJ1aWxkTGF5ZXJNYXRyaXg6ZnVuY3Rpb24gaHF0KHQpe3ZhciBlPWlxdC5tYXAoaXF0LnJhbmdlKHZxdCh0KSsxKSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pKTtyZXR1cm4gaXF0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbihuKXt2YXIgaT10Lm5vZGUobikscj1pLnJhbms7aXF0LmlzVW5kZWZpbmVkKHIpfHwoZVtyXVtpLm9yZGVyXT1uKX0pKSxlfSxub3JtYWxpemVSYW5rczpmdW5jdGlvbiBkcXQodCl7dmFyIGU9aXF0Lm1pbihpcXQubWFwKHQubm9kZXMoKSwoZnVuY3Rpb24oZSl7cmV0dXJuIHQubm9kZShlKS5yYW5rfSkpKTtpcXQuZm9yRWFjaCh0Lm5vZGVzKCksKGZ1bmN0aW9uKG4pe3ZhciBpPXQubm9kZShuKTtpcXQuaGFzKGksInJhbmsiKSYmKGkucmFuay09ZSl9KSl9LHJlbW92ZUVtcHR5UmFua3M6ZnVuY3Rpb24gcHF0KHQpe3ZhciBlPWlxdC5taW4oaXF0Lm1hcCh0Lm5vZGVzKCksKGZ1bmN0aW9uKGUpe3JldHVybiB0Lm5vZGUoZSkucmFua30pKSksbj1bXTtpcXQuZm9yRWFjaCh0Lm5vZGVzKCksKGZ1bmN0aW9uKGkpe3ZhciByPXQubm9kZShpKS5yYW5rLWU7bltyXXx8KG5bcl09W10pLG5bcl0ucHVzaChpKX0pKTt2YXIgaT0wLHI9dC5ncmFwaCgpLm5vZGVSYW5rRmFjdG9yO2lxdC5mb3JFYWNoKG4sKGZ1bmN0aW9uKGUsbil7aXF0LmlzVW5kZWZpbmVkKGUpJiZuJXIhPTA/LS1pOmkmJmlxdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKGUpe3Qubm9kZShlKS5yYW5rKz1pfSkpfSkpfSxhZGRCb3JkZXJOb2RlOmZ1bmN0aW9uIGZxdCh0LGUsbixpKXt2YXIgcj17d2lkdGg6MCxoZWlnaHQ6MH07YXJndW1lbnRzLmxlbmd0aD49NCYmKHIucmFuaz1uLHIub3JkZXI9aSk7cmV0dXJuIHlxdCh0LCJib3JkZXIiLHIsZSl9LG1heFJhbms6dnF0LHBhcnRpdGlvbjpmdW5jdGlvbiBtcXQodCxlKXt2YXIgbj17bGhzOltdLHJoczpbXX07cmV0dXJuIGlxdC5mb3JFYWNoKHQsKGZ1bmN0aW9uKHQpe2UodCk/bi5saHMucHVzaCh0KTpuLnJocy5wdXNoKHQpfSkpLG59LHRpbWU6ZnVuY3Rpb24gZ3F0KHQsZSl7dmFyIG49aXF0Lm5vdygpO3RyeXtyZXR1cm4gZSgpfWZpbmFsbHl7Y29uc29sZS5sb2codCsiIHRpbWU6ICIrKGlxdC5ub3coKS1uKSsibXMiKX19LG5vdGltZTpmdW5jdGlvbiBfcXQodCxlKXtyZXR1cm4gZSgpfX07ZnVuY3Rpb24geXF0KHQsZSxuLGkpe3ZhciByO2Rve3I9aXF0LnVuaXF1ZUlkKGkpfXdoaWxlKHQuaGFzTm9kZShyKSk7cmV0dXJuIG4uZHVtbXk9ZSx0LnNldE5vZGUocixuKSxyfWZ1bmN0aW9uIHZxdCh0KXtyZXR1cm4gaXF0Lm1heChpcXQubWFwKHQubm9kZXMoKSwoZnVuY3Rpb24oZSl7dmFyIG49dC5ub2RlKGUpLnJhbms7aWYoIWlxdC5pc1VuZGVmaW5lZChuKSlyZXR1cm4gbn0pKSl9dmFyIGJxdD1IV3QseHF0PW9xdCx3cXQ9e3J1bjpmdW5jdGlvbiBTcXQodCl7dC5ncmFwaCgpLmR1bW15Q2hhaW5zPVtdLGJxdC5mb3JFYWNoKHQuZWRnZXMoKSwoZnVuY3Rpb24oZSl7IShmdW5jdGlvbiBuKHQsZSl7dmFyIG4saSxyLG89ZS52LGE9dC5ub2RlKG8pLnJhbmsscz1lLncsbD10Lm5vZGUocykucmFuayxjPWUubmFtZSx1PXQuZWRnZShlKSxoPXUubGFiZWxSYW5rO2lmKGw9PT1hKzEpcmV0dXJuO2Zvcih0LnJlbW92ZUVkZ2UoZSkscj0wLCsrYTthPGw7KytyLCsrYSl1LnBvaW50cz1bXSxuPXhxdC5hZGREdW1teU5vZGUodCwiZWRnZSIsaT17d2lkdGg6MCxoZWlnaHQ6MCxlZGdlTGFiZWw6dSxlZGdlT2JqOmUscmFuazphfSwiX2QiKSxhPT09aCYmKGkud2lkdGg9dS53aWR0aCxpLmhlaWdodD11LmhlaWdodCxpLmR1bW15PSJlZGdlLWxhYmVsIixpLmxhYmVscG9zPXUubGFiZWxwb3MpLHQuc2V0RWRnZShvLG4se3dlaWdodDp1LndlaWdodH0sYyksMD09PXImJnQuZ3JhcGgoKS5kdW1teUNoYWlucy5wdXNoKG4pLG89bjt0LnNldEVkZ2UobyxzLHt3ZWlnaHQ6dS53ZWlnaHR9LGMpfSkodCxlKX0pKX0sdW5kbzpmdW5jdGlvbiBNcXQodCl7YnF0LmZvckVhY2godC5ncmFwaCgpLmR1bW15Q2hhaW5zLChmdW5jdGlvbihlKXt2YXIgbixpPXQubm9kZShlKSxyPWkuZWRnZUxhYmVsO2Zvcih0LnNldEVkZ2UoaS5lZGdlT2JqLHIpO2kuZHVtbXk7KW49dC5zdWNjZXNzb3JzKGUpWzBdLHQucmVtb3ZlTm9kZShlKSxyLnBvaW50cy5wdXNoKHt4OmkueCx5OmkueX0pLCJlZGdlLWxhYmVsIj09PWkuZHVtbXkmJihyLng9aS54LHIueT1pLnksci53aWR0aD1pLndpZHRoLHIuaGVpZ2h0PWkuaGVpZ2h0KSxpPXQubm9kZShlPW4pfSkpfX07dmFyIEVxdD1IV3QsVHF0PXtsb25nZXN0UGF0aDpmdW5jdGlvbiBDcXQodCl7dmFyIGU9e307RXF0LmZvckVhY2godC5zb3VyY2VzKCksKGZ1bmN0aW9uIG4oaSl7dmFyIHI9dC5ub2RlKGkpO2lmKEVxdC5oYXMoZSxpKSlyZXR1cm4gci5yYW5rO2VbaV09ITA7dmFyIG89RXF0Lm1pbihFcXQubWFwKHQub3V0RWRnZXMoaSksKGZ1bmN0aW9uKGUpe3JldHVybiBuKGUudyktdC5lZGdlKGUpLm1pbmxlbn0pKSk7cmV0dXJuIG8hPT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkmJm51bGwhPW98fChvPTApLHIucmFuaz1vfSkpfSxzbGFjazpmdW5jdGlvbiBBcXQodCxlKXtyZXR1cm4gdC5ub2RlKGUudykucmFuay10Lm5vZGUoZS52KS5yYW5rLXQuZWRnZShlKS5taW5sZW59fTt2YXIga3F0PUhXdCxMcXQ9eVV0LkdyYXBoLFBxdD1UcXQuc2xhY2ssTnF0PWZ1bmN0aW9uIElxdCh0KXt2YXIgZSxuLGk9bmV3IExxdCh7ZGlyZWN0ZWQ6ITF9KSxyPXQubm9kZXMoKVswXSxvPXQubm9kZUNvdW50KCk7aS5zZXROb2RlKHIse30pO2Zvcig7UnF0KGksdCk8bzspZT1PcXQoaSx0KSxuPWkuaGFzTm9kZShlLnYpP1BxdCh0LGUpOi1QcXQodCxlKSx6cXQoaSx0LG4pO3JldHVybiBpfTtmdW5jdGlvbiBScXQodCxlKXtyZXR1cm4ga3F0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbiBuKGkpe2txdC5mb3JFYWNoKGUubm9kZUVkZ2VzKGkpLChmdW5jdGlvbihyKXt2YXIgbz1yLnYsYT1pPT09bz9yLnc6bzt0Lmhhc05vZGUoYSl8fFBxdChlLHIpfHwodC5zZXROb2RlKGEse30pLHQuc2V0RWRnZShpLGEse30pLG4oYSkpfSkpfSkpLHQubm9kZUNvdW50KCl9ZnVuY3Rpb24gT3F0KHQsZSl7cmV0dXJuIGtxdC5taW5CeShlLmVkZ2VzKCksKGZ1bmN0aW9uKG4pe2lmKHQuaGFzTm9kZShuLnYpIT09dC5oYXNOb2RlKG4udykpcmV0dXJuIFBxdChlLG4pfSkpfWZ1bmN0aW9uIHpxdCh0LGUsbil7a3F0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbih0KXtlLm5vZGUodCkucmFuays9bn0pKX12YXIgRHF0PUhXdCxCcXQ9TnF0LEhxdD1UcXQuc2xhY2ssRnF0PVRxdC5sb25nZXN0UGF0aCxWcXQ9eVV0LmFsZy5wcmVvcmRlcixVcXQ9eVV0LmFsZy5wb3N0b3JkZXIsanF0PW9xdC5zaW1wbGlmeSxHcXQ9V3F0O2Z1bmN0aW9uIFdxdCh0KXt0PWpxdCh0KSxGcXQodCk7dmFyIGUsbj1CcXQodCk7Zm9yKFhxdChuKSxxcXQobix0KTtlPUtxdChuKTspSnF0KG4sdCxlLFpxdChuLHQsZSkpfWZ1bmN0aW9uIHFxdCh0LGUpe3ZhciBuPVVxdCh0LHQubm9kZXMoKSk7bj1uLnNsaWNlKDAsbi5sZW5ndGgtMSksRHF0LmZvckVhY2gobiwoZnVuY3Rpb24obil7IShmdW5jdGlvbiBpKHQsZSxuKXt2YXIgaT10Lm5vZGUobik7dC5lZGdlKG4saS5wYXJlbnQpLmN1dHZhbHVlPVlxdCh0LGUsbil9KSh0LGUsbil9KSl9ZnVuY3Rpb24gWXF0KHQsZSxuKXt2YXIgaT10Lm5vZGUobikucGFyZW50LHI9ITAsbz1lLmVkZ2UobixpKSxhPTA7cmV0dXJuIG98fChyPSExLG89ZS5lZGdlKGksbikpLGE9by53ZWlnaHQsRHF0LmZvckVhY2goZS5ub2RlRWRnZXMobiksKGZ1bmN0aW9uKG8pe3ZhciBzPW8udj09PW4sbD1zP28udzpvLnY7aWYobCE9PWkpe3ZhciBjPXM9PT1yLHU9ZS5lZGdlKG8pLndlaWdodDtpZihhKz1jP3U6LXUsKGZ1bmN0aW9uIGgodCxlLG4pe3JldHVybiB0Lmhhc0VkZ2UoZSxuKX0pKHQsbixsKSl7dmFyIGQ9dC5lZGdlKG4sbCkuY3V0dmFsdWU7YSs9Yz8tZDpkfX19KSksYX1mdW5jdGlvbiBYcXQodCxlKXthcmd1bWVudHMubGVuZ3RoPDImJihlPXQubm9kZXMoKVswXSksJHF0KHQse30sMSxlKX1mdW5jdGlvbiAkcXQodCxlLG4saSxyKXt2YXIgbz1uLGE9dC5ub2RlKGkpO3JldHVybiBlW2ldPSEwLERxdC5mb3JFYWNoKHQubmVpZ2hib3JzKGkpLChmdW5jdGlvbihyKXtEcXQuaGFzKGUscil8fChuPSRxdCh0LGUsbixyLGkpKX0pKSxhLmxvdz1vLGEubGltPW4rKyxyP2EucGFyZW50PXI6ZGVsZXRlIGEucGFyZW50LG59ZnVuY3Rpb24gS3F0KHQpe3JldHVybiBEcXQuZmluZCh0LmVkZ2VzKCksKGZ1bmN0aW9uKGUpe3JldHVybiB0LmVkZ2UoZSkuY3V0dmFsdWU8MH0pKX1mdW5jdGlvbiBacXQodCxlLG4pe3ZhciBpPW4udixyPW4udztlLmhhc0VkZ2UoaSxyKXx8KGk9bi53LHI9bi52KTt2YXIgbz10Lm5vZGUoaSksYT10Lm5vZGUocikscz1vLGw9ITE7by5saW0+YS5saW0mJihzPWEsbD0hMCk7dmFyIGM9RHF0LmZpbHRlcihlLmVkZ2VzKCksKGZ1bmN0aW9uKGUpe3JldHVybiBsPT09UXF0KHQsdC5ub2RlKGUudikscykmJmwhPT1RcXQodCx0Lm5vZGUoZS53KSxzKX0pKTtyZXR1cm4gRHF0Lm1pbkJ5KGMsKGZ1bmN0aW9uKHQpe3JldHVybiBIcXQoZSx0KX0pKX1mdW5jdGlvbiBKcXQodCxlLG4saSl7dC5yZW1vdmVFZGdlKG4udixuLncpLHQuc2V0RWRnZShpLnYsaS53LHt9KSxYcXQodCkscXF0KHQsZSksKGZ1bmN0aW9uIHIodCxlKXt2YXIgbj1EcXQuZmluZCh0Lm5vZGVzKCksKGZ1bmN0aW9uKHQpe3JldHVybiFlLm5vZGUodCkucGFyZW50fSkpLGk9VnF0KHQsbik7aT1pLnNsaWNlKDEpLERxdC5mb3JFYWNoKGksKGZ1bmN0aW9uKG4pe3ZhciBpPXQubm9kZShuKS5wYXJlbnQscj1lLmVkZ2UobixpKSxvPSExO3J8fChyPWUuZWRnZShpLG4pLG89ITApLGUubm9kZShuKS5yYW5rPWUubm9kZShpKS5yYW5rKyhvP3IubWlubGVuOi1yLm1pbmxlbil9KSl9KSh0LGUpfWZ1bmN0aW9uIFFxdCh0LGUsbil7cmV0dXJuIG4ubG93PD1lLmxpbSYmZS5saW08PW4ubGltfVdxdC5pbml0TG93TGltVmFsdWVzPVhxdCxXcXQuaW5pdEN1dFZhbHVlcz1xcXQsV3F0LmNhbGNDdXRWYWx1ZT1ZcXQsV3F0LmxlYXZlRWRnZT1LcXQsV3F0LmVudGVyRWRnZT1acXQsV3F0LmV4Y2hhbmdlRWRnZXM9SnF0O3ZhciB0WXQ9VHF0Lmxvbmdlc3RQYXRoLGVZdD1OcXQsbll0PUdxdCxpWXQ9ZnVuY3Rpb24gcll0KHQpe3N3aXRjaCh0LmdyYXBoKCkucmFua2VyKXtjYXNlIm5ldHdvcmstc2ltcGxleCI6YVl0KHQpO2JyZWFrO2Nhc2UidGlnaHQtdHJlZSI6IShmdW5jdGlvbiBlKHQpe3RZdCh0KSxlWXQodCl9KSh0KTticmVhaztjYXNlImxvbmdlc3QtcGF0aCI6b1l0KHQpO2JyZWFrO2RlZmF1bHQ6YVl0KHQpfX07dmFyIG9ZdD10WXQ7ZnVuY3Rpb24gYVl0KHQpe25ZdCh0KX12YXIgc1l0PUhXdDt2YXIgbFl0PUhXdCxjWXQ9b3F0O2Z1bmN0aW9uIHVZdCh0LGUsbixpLHIsbyxhKXt2YXIgcz10LmNoaWxkcmVuKGEpO2lmKHMubGVuZ3RoKXt2YXIgbD1jWXQuYWRkQm9yZGVyTm9kZSh0LCJfYnQiKSxjPWNZdC5hZGRCb3JkZXJOb2RlKHQsIl9iYiIpLHU9dC5ub2RlKGEpO3Quc2V0UGFyZW50KGwsYSksdS5ib3JkZXJUb3A9bCx0LnNldFBhcmVudChjLGEpLHUuYm9yZGVyQm90dG9tPWMsbFl0LmZvckVhY2gocywoZnVuY3Rpb24ocyl7dVl0KHQsZSxuLGkscixvLHMpO3ZhciB1PXQubm9kZShzKSxoPXUuYm9yZGVyVG9wP3UuYm9yZGVyVG9wOnMsZD11LmJvcmRlckJvdHRvbT91LmJvcmRlckJvdHRvbTpzLHA9dS5ib3JkZXJUb3A/aToyKmksZj1oIT09ZD8xOnItb1thXSsxO3Quc2V0RWRnZShsLGgse3dlaWdodDpwLG1pbmxlbjpmLG5lc3RpbmdFZGdlOiEwfSksdC5zZXRFZGdlKGQsYyx7d2VpZ2h0OnAsbWlubGVuOmYsbmVzdGluZ0VkZ2U6ITB9KX0pKSx0LnBhcmVudChhKXx8dC5zZXRFZGdlKGUsbCx7d2VpZ2h0OjAsbWlubGVuOnIrb1thXX0pfWVsc2UgYSE9PWUmJnQuc2V0RWRnZShlLGEse3dlaWdodDowLG1pbmxlbjpufSl9dmFyIGhZdD1IV3QsZFl0PW9xdCxwWXQ9ZnVuY3Rpb24gZll0KHQpe2hZdC5mb3JFYWNoKHQuY2hpbGRyZW4oKSwoZnVuY3Rpb24gZShuKXt2YXIgaT10LmNoaWxkcmVuKG4pLHI9dC5ub2RlKG4pO2lmKGkubGVuZ3RoJiZoWXQuZm9yRWFjaChpLGUpLGhZdC5oYXMociwibWluUmFuayIpKXtyLmJvcmRlckxlZnQ9W10sci5ib3JkZXJSaWdodD1bXTtmb3IodmFyIG89ci5taW5SYW5rLGE9ci5tYXhSYW5rKzE7bzxhOysrbyltWXQodCwiYm9yZGVyTGVmdCIsIl9ibCIsbixyLG8pLG1ZdCh0LCJib3JkZXJSaWdodCIsIl9iciIsbixyLG8pfX0pKX07ZnVuY3Rpb24gbVl0KHQsZSxuLGkscixvKXt2YXIgYT1yW2VdW28tMV0scz1kWXQuYWRkRHVtbXlOb2RlKHQsImJvcmRlciIse3dpZHRoOjAsaGVpZ2h0OjAscmFuazpvLGJvcmRlclR5cGU6ZX0sbik7cltlXVtvXT1zLHQuc2V0UGFyZW50KHMsaSksYSYmdC5zZXRFZGdlKGEscyx7d2VpZ2h0OjF9KX12YXIgZ1l0PUhXdDtmdW5jdGlvbiBfWXQodCl7Z1l0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbihlKXt5WXQodC5ub2RlKGUpKX0pKSxnWXQuZm9yRWFjaCh0LmVkZ2VzKCksKGZ1bmN0aW9uKGUpe3lZdCh0LmVkZ2UoZSkpfSkpfWZ1bmN0aW9uIHlZdCh0KXt2YXIgZT10LndpZHRoO3Qud2lkdGg9dC5oZWlnaHQsdC5oZWlnaHQ9ZX1mdW5jdGlvbiB2WXQodCl7dC55PS10Lnl9ZnVuY3Rpb24gYll0KHQpe3ZhciBlPXQueDt0Lng9dC55LHQueT1lfXZhciB4WXQ9SFd0O3ZhciB3WXQ9SFd0O2Z1bmN0aW9uIFNZdCh0LGUsbil7Zm9yKHZhciBpPXdZdC56aXBPYmplY3Qobix3WXQubWFwKG4sKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV9KSkpLHI9d1l0LmZsYXR0ZW4od1l0Lm1hcChlLChmdW5jdGlvbihlKXtyZXR1cm4gd1l0LnNvcnRCeSh3WXQubWFwKHQub3V0RWRnZXMoZSksKGZ1bmN0aW9uKGUpe3JldHVybntwb3M6aVtlLnddLHdlaWdodDp0LmVkZ2UoZSkud2VpZ2h0fX0pKSwicG9zIil9KSksITApLG89MTtvPG4ubGVuZ3RoOylvPDw9MTt2YXIgYT0yKm8tMTtvLT0xO3ZhciBzPXdZdC5tYXAobmV3IEFycmF5KGEpLChmdW5jdGlvbigpe3JldHVybiAwfSkpLGw9MDtyZXR1cm4gd1l0LmZvckVhY2goci5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10LnBvcytvO3NbZV0rPXQud2VpZ2h0O2Zvcih2YXIgbj0wO2U+MDspZSUyJiYobis9c1tlKzFdKSxzW2U9ZS0xPj4xXSs9dC53ZWlnaHQ7bCs9dC53ZWlnaHQqbn0pKSksbH12YXIgTVl0PUhXdDt2YXIgRVl0PUhXdDt2YXIgVFl0PUhXdCxDWXQ9b3F0O2Z1bmN0aW9uIEFZdCh0LGUsbil7Zm9yKHZhciBpO2UubGVuZ3RoJiYoaT1UWXQubGFzdChlKSkuaTw9bjspZS5wb3AoKSx0LnB1c2goaS52cyksbisrO3JldHVybiBufXZhciBrWXQ9SFd0LExZdD1mdW5jdGlvbiBQWXQodCxlKXtyZXR1cm4gTVl0Lm1hcChlLChmdW5jdGlvbihlKXt2YXIgbj10LmluRWRnZXMoZSk7aWYobi5sZW5ndGgpe3ZhciBpPU1ZdC5yZWR1Y2UobiwoZnVuY3Rpb24oZSxuKXt2YXIgaT10LmVkZ2Uobikscj10Lm5vZGUobi52KTtyZXR1cm57c3VtOmUuc3VtK2kud2VpZ2h0KnIub3JkZXIsd2VpZ2h0OmUud2VpZ2h0K2kud2VpZ2h0fX0pLHtzdW06MCx3ZWlnaHQ6MH0pO3JldHVybnt2OmUsYmFyeWNlbnRlcjppLnN1bS9pLndlaWdodCx3ZWlnaHQ6aS53ZWlnaHR9fXJldHVybnt2OmV9fSkpfSxOWXQ9ZnVuY3Rpb24gSVl0KHQsZSl7dmFyIG49e307cmV0dXJuIEVZdC5mb3JFYWNoKHQsKGZ1bmN0aW9uKHQsZSl7dmFyIGk9blt0LnZdPXtpbmRlZ3JlZTowLGluOltdLG91dDpbXSx2czpbdC52XSxpOmV9O0VZdC5pc1VuZGVmaW5lZCh0LmJhcnljZW50ZXIpfHwoaS5iYXJ5Y2VudGVyPXQuYmFyeWNlbnRlcixpLndlaWdodD10LndlaWdodCl9KSksRVl0LmZvckVhY2goZS5lZGdlcygpLChmdW5jdGlvbih0KXt2YXIgZT1uW3Qudl0saT1uW3Qud107RVl0LmlzVW5kZWZpbmVkKGUpfHxFWXQuaXNVbmRlZmluZWQoaSl8fChpLmluZGVncmVlKyssZS5vdXQucHVzaChuW3Qud10pKX0pKSwoZnVuY3Rpb24gaSh0KXt2YXIgZT1bXTtmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbihlKXtlLm1lcmdlZHx8KEVZdC5pc1VuZGVmaW5lZChlLmJhcnljZW50ZXIpfHxFWXQuaXNVbmRlZmluZWQodC5iYXJ5Y2VudGVyKXx8ZS5iYXJ5Y2VudGVyPj10LmJhcnljZW50ZXIpJiYoZnVuY3Rpb24gbih0LGUpe3ZhciBuPTAsaT0wO3Qud2VpZ2h0JiYobis9dC5iYXJ5Y2VudGVyKnQud2VpZ2h0LGkrPXQud2VpZ2h0KTtlLndlaWdodCYmKG4rPWUuYmFyeWNlbnRlciplLndlaWdodCxpKz1lLndlaWdodCk7dC52cz1lLnZzLmNvbmNhdCh0LnZzKSx0LmJhcnljZW50ZXI9bi9pLHQud2VpZ2h0PWksdC5pPU1hdGgubWluKGUuaSx0LmkpLGUubWVyZ2VkPSEwfSkodCxlKX19ZnVuY3Rpb24gaShlKXtyZXR1cm4gZnVuY3Rpb24obil7bi5pbi5wdXNoKGUpLDA9PS0tbi5pbmRlZ3JlZSYmdC5wdXNoKG4pfX1mb3IoO3QubGVuZ3RoOyl7dmFyIHI9dC5wb3AoKTtlLnB1c2gociksRVl0LmZvckVhY2goci5pbi5yZXZlcnNlKCksbihyKSksRVl0LmZvckVhY2goci5vdXQsaShyKSl9cmV0dXJuIEVZdC5tYXAoRVl0LmZpbHRlcihlLChmdW5jdGlvbih0KXtyZXR1cm4hdC5tZXJnZWR9KSksKGZ1bmN0aW9uKHQpe3JldHVybiBFWXQucGljayh0LFsidnMiLCJpIiwiYmFyeWNlbnRlciIsIndlaWdodCJdKX0pKX0pKEVZdC5maWx0ZXIobiwoZnVuY3Rpb24odCl7cmV0dXJuIXQuaW5kZWdyZWV9KSkpfSxSWXQ9ZnVuY3Rpb24gT1l0KHQsZSl7dmFyIG49Q1l0LnBhcnRpdGlvbih0LChmdW5jdGlvbih0KXtyZXR1cm4gVFl0Lmhhcyh0LCJiYXJ5Y2VudGVyIil9KSksaT1uLmxocyxyPVRZdC5zb3J0Qnkobi5yaHMsKGZ1bmN0aW9uKHQpe3JldHVybi10Lml9KSksbz1bXSxhPTAscz0wLGw9MDtpLnNvcnQoKGZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7cmV0dXJuIGUuYmFyeWNlbnRlcjxuLmJhcnljZW50ZXI/LTE6ZS5iYXJ5Y2VudGVyPm4uYmFyeWNlbnRlcj8xOnQ/bi5pLWUuaTplLmktbi5pfX0pKCEhZSkpLGw9QVl0KG8scixsKSxUWXQuZm9yRWFjaChpLChmdW5jdGlvbih0KXtsKz10LnZzLmxlbmd0aCxvLnB1c2godC52cyksYSs9dC5iYXJ5Y2VudGVyKnQud2VpZ2h0LHMrPXQud2VpZ2h0LGw9QVl0KG8scixsKX0pKTt2YXIgdT17dnM6VFl0LmZsYXR0ZW4obywhMCl9O3MmJih1LmJhcnljZW50ZXI9YS9zLHUud2VpZ2h0PXMpO3JldHVybiB1fTt2YXIgell0PUhXdCxEWXQ9eVV0LkdyYXBoO3ZhciBCWXQ9SFd0O3ZhciBIWXQ9SFd0LEZZdD1mdW5jdGlvbiBWWXQodCl7dmFyIGU9e30sbj14WXQuZmlsdGVyKHQubm9kZXMoKSwoZnVuY3Rpb24oZSl7cmV0dXJuIXQuY2hpbGRyZW4oZSkubGVuZ3RofSkpLGk9eFl0Lm1heCh4WXQubWFwKG4sKGZ1bmN0aW9uKGUpe3JldHVybiB0Lm5vZGUoZSkucmFua30pKSkscj14WXQubWFwKHhZdC5yYW5nZShpKzEpLChmdW5jdGlvbigpe3JldHVybltdfSkpO2Z1bmN0aW9uIG8obil7aWYoIXhZdC5oYXMoZSxuKSl7ZVtuXT0hMDt2YXIgaT10Lm5vZGUobik7cltpLnJhbmtdLnB1c2gobikseFl0LmZvckVhY2godC5zdWNjZXNzb3JzKG4pLG8pfX12YXIgYT14WXQuc29ydEJ5KG4sKGZ1bmN0aW9uKGUpe3JldHVybiB0Lm5vZGUoZSkucmFua30pKTtyZXR1cm4geFl0LmZvckVhY2goYSxvKSxyfSxVWXQ9ZnVuY3Rpb24gall0KHQsZSl7Zm9yKHZhciBuPTAsaT0xO2k8ZS5sZW5ndGg7KytpKW4rPVNZdCh0LGVbaS0xXSxlW2ldKTtyZXR1cm4gbn0sR1l0PWZ1bmN0aW9uIHQoZSxuLGkscil7dmFyIG89ZS5jaGlsZHJlbihuKSxhPWUubm9kZShuKSxzPWE/YS5ib3JkZXJMZWZ0OnZvaWQgMCxsPWE/YS5ib3JkZXJSaWdodDp2b2lkIDAsYz17fTtzJiYobz1rWXQuZmlsdGVyKG8sKGZ1bmN0aW9uKHQpe3JldHVybiB0IT09cyYmdCE9PWx9KSkpO3ZhciB1PUxZdChlLG8pO2tZdC5mb3JFYWNoKHUsKGZ1bmN0aW9uKG4pe2lmKGUuY2hpbGRyZW4obi52KS5sZW5ndGgpe3ZhciBvPXQoZSxuLnYsaSxyKTtjW24udl09byxrWXQuaGFzKG8sImJhcnljZW50ZXIiKSYmKGZ1bmN0aW9uIGEodCxlKXtrWXQuaXNVbmRlZmluZWQodC5iYXJ5Y2VudGVyKT8odC5iYXJ5Y2VudGVyPWUuYmFyeWNlbnRlcix0LndlaWdodD1lLndlaWdodCk6KHQuYmFyeWNlbnRlcj0odC5iYXJ5Y2VudGVyKnQud2VpZ2h0K2UuYmFyeWNlbnRlciplLndlaWdodCkvKHQud2VpZ2h0K2Uud2VpZ2h0KSx0LndlaWdodCs9ZS53ZWlnaHQpfSkobixvKX19KSk7dmFyIGg9Tll0KHUsaSk7IShmdW5jdGlvbiBkKHQsZSl7a1l0LmZvckVhY2godCwoZnVuY3Rpb24odCl7dC52cz1rWXQuZmxhdHRlbih0LnZzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGVbdF0/ZVt0XS52czp0fSkpLCEwKX0pKX0pKGgsYyk7dmFyIHA9Ull0KGgscik7aWYocyYmKHAudnM9a1l0LmZsYXR0ZW4oW3MscC52cyxsXSwhMCksZS5wcmVkZWNlc3NvcnMocykubGVuZ3RoKSl7dmFyIGY9ZS5ub2RlKGUucHJlZGVjZXNzb3JzKHMpWzBdKSxtPWUubm9kZShlLnByZWRlY2Vzc29ycyhsKVswXSk7a1l0LmhhcyhwLCJiYXJ5Y2VudGVyIil8fChwLmJhcnljZW50ZXI9MCxwLndlaWdodD0wKSxwLmJhcnljZW50ZXI9KHAuYmFyeWNlbnRlcipwLndlaWdodCtmLm9yZGVyK20ub3JkZXIpLyhwLndlaWdodCsyKSxwLndlaWdodCs9Mn1yZXR1cm4gcH0sV1l0PWZ1bmN0aW9uIHFZdCh0LGUsbil7dmFyIGk9KGZ1bmN0aW9uIHIodCl7dmFyIGU7Zm9yKDt0Lmhhc05vZGUoZT16WXQudW5pcXVlSWQoIl9yb290IikpOyk7cmV0dXJuIGV9KSh0KSxvPW5ldyBEWXQoe2NvbXBvdW5kOiEwfSkuc2V0R3JhcGgoe3Jvb3Q6aX0pLnNldERlZmF1bHROb2RlTGFiZWwoKGZ1bmN0aW9uKGUpe3JldHVybiB0Lm5vZGUoZSl9KSk7cmV0dXJuIHpZdC5mb3JFYWNoKHQubm9kZXMoKSwoZnVuY3Rpb24ocil7dmFyIGE9dC5ub2RlKHIpLHM9dC5wYXJlbnQocik7KGEucmFuaz09PWV8fGEubWluUmFuazw9ZSYmZTw9YS5tYXhSYW5rKSYmKG8uc2V0Tm9kZShyKSxvLnNldFBhcmVudChyLHN8fGkpLHpZdC5mb3JFYWNoKHRbbl0ociksKGZ1bmN0aW9uKGUpe3ZhciBuPWUudj09PXI/ZS53OmUudixpPW8uZWRnZShuLHIpLGE9ell0LmlzVW5kZWZpbmVkKGkpPzA6aS53ZWlnaHQ7by5zZXRFZGdlKG4scix7d2VpZ2h0OnQuZWRnZShlKS53ZWlnaHQrYX0pfSkpLHpZdC5oYXMoYSwibWluUmFuayIpJiZvLnNldE5vZGUocix7Ym9yZGVyTGVmdDphLmJvcmRlckxlZnRbZV0sYm9yZGVyUmlnaHQ6YS5ib3JkZXJSaWdodFtlXX0pKX0pKSxvfSxZWXQ9ZnVuY3Rpb24gWFl0KHQsZSxuKXt2YXIgaSxyPXt9O0JZdC5mb3JFYWNoKG4sKGZ1bmN0aW9uKG4pe2Zvcih2YXIgbyxhLHM9dC5wYXJlbnQobik7czspe2lmKChvPXQucGFyZW50KHMpKT8oYT1yW29dLHJbb109cyk6KGE9aSxpPXMpLGEmJmEhPT1zKXJldHVybiB2b2lkIGUuc2V0RWRnZShhLHMpO3M9b319KSl9LCRZdD15VXQuR3JhcGgsS1l0PW9xdDtmdW5jdGlvbiBaWXQodCxlLG4pe3JldHVybiBIWXQubWFwKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBXWXQodCxlLG4pfSkpfWZ1bmN0aW9uIEpZdCh0LGUpe3ZhciBuPW5ldyAkWXQ7SFl0LmZvckVhY2godCwoZnVuY3Rpb24odCl7dmFyIGk9dC5ncmFwaCgpLnJvb3Qscj1HWXQodCxpLG4sZSk7SFl0LmZvckVhY2goci52cywoZnVuY3Rpb24oZSxuKXt0Lm5vZGUoZSkub3JkZXI9bn0pKSxZWXQodCxuLHIudnMpfSkpfWZ1bmN0aW9uIFFZdCh0LGUpe0hZdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKGUpe0hZdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKGUsbil7dC5ub2RlKGUpLm9yZGVyPW59KSl9KSl9dmFyIHRYdD1IV3QsZVh0PXlVdC5HcmFwaCxuWHQ9b3F0LGlYdD1mdW5jdGlvbiByWHQodCl7dmFyIGUsbj1uWHQuYnVpbGRMYXllck1hdHJpeCh0KSxpPXRYdC5tZXJnZShvWHQodCxuKSxhWHQodCxuKSkscj17fTt0WHQuZm9yRWFjaChbInUiLCJkIl0sKGZ1bmN0aW9uKG8pe2U9InUiPT09bz9uOnRYdC52YWx1ZXMobikucmV2ZXJzZSgpLHRYdC5mb3JFYWNoKFsibCIsInIiXSwoZnVuY3Rpb24obil7InIiPT09biYmKGU9dFh0Lm1hcChlLChmdW5jdGlvbih0KXtyZXR1cm4gdFh0LnZhbHVlcyh0KS5yZXZlcnNlKCl9KSkpO3ZhciBhPSgidSI9PT1vP3QucHJlZGVjZXNzb3JzOnQuc3VjY2Vzc29ycykuYmluZCh0KSxzPWNYdCh0LGUsaSxhKSxsPXVYdCh0LGUscy5yb290LHMuYWxpZ24sInIiPT09bik7InIiPT09biYmKGw9dFh0Lm1hcFZhbHVlcyhsLChmdW5jdGlvbih0KXtyZXR1cm4tdH0pKSkscltvK25dPWx9KSl9KSk7dmFyIG89aFh0KHQscik7cmV0dXJuIGRYdChyLG8pLHBYdChyLHQuZ3JhcGgoKS5hbGlnbil9O2Z1bmN0aW9uIG9YdCh0LGUpe3ZhciBuPXt9O3JldHVybiB0WHQucmVkdWNlKGUsKGZ1bmN0aW9uIGkoZSxyKXt2YXIgbz0wLGE9MCxzPWUubGVuZ3RoLGw9dFh0Lmxhc3Qocik7cmV0dXJuIHRYdC5mb3JFYWNoKHIsKGZ1bmN0aW9uKGUsaSl7dmFyIGM9KGZ1bmN0aW9uIHUodCxlKXtpZih0Lm5vZGUoZSkuZHVtbXkpcmV0dXJuIHRYdC5maW5kKHQucHJlZGVjZXNzb3JzKGUpLChmdW5jdGlvbihlKXtyZXR1cm4gdC5ub2RlKGUpLmR1bW15fSkpfSkodCxlKSxoPWM/dC5ub2RlKGMpLm9yZGVyOnM7KGN8fGU9PT1sKSYmKHRYdC5mb3JFYWNoKHIuc2xpY2UoYSxpKzEpLChmdW5jdGlvbihlKXt0WHQuZm9yRWFjaCh0LnByZWRlY2Vzc29ycyhlKSwoZnVuY3Rpb24oaSl7dmFyIHI9dC5ub2RlKGkpLGE9ci5vcmRlcjshKGE8b3x8aDxhKXx8ci5kdW1teSYmdC5ub2RlKGUpLmR1bW15fHxzWHQobixpLGUpfSkpfSkpLGE9aSsxLG89aCl9KSkscn0pKSxufWZ1bmN0aW9uIGFYdCh0LGUpe3ZhciBuPXt9O2Z1bmN0aW9uIGkoZSxpLHIsbyxhKXt2YXIgczt0WHQuZm9yRWFjaCh0WHQucmFuZ2UoaSxyKSwoZnVuY3Rpb24oaSl7dC5ub2RlKHM9ZVtpXSkuZHVtbXkmJnRYdC5mb3JFYWNoKHQucHJlZGVjZXNzb3JzKHMpLChmdW5jdGlvbihlKXt2YXIgaT10Lm5vZGUoZSk7aS5kdW1teSYmKGkub3JkZXI8b3x8aS5vcmRlcj5hKSYmc1h0KG4sZSxzKX0pKX0pKX1yZXR1cm4gdFh0LnJlZHVjZShlLChmdW5jdGlvbiByKGUsbil7dmFyIHIsbz0tMSxhPTA7cmV0dXJuIHRYdC5mb3JFYWNoKG4sKGZ1bmN0aW9uKHMsbCl7aWYoImJvcmRlciI9PT10Lm5vZGUocykuZHVtbXkpe3ZhciBjPXQucHJlZGVjZXNzb3JzKHMpO2MubGVuZ3RoJiYocj10Lm5vZGUoY1swXSkub3JkZXIsaShuLGEsbCxvLHIpLGE9bCxvPXIpfWkobixhLG4ubGVuZ3RoLHIsZS5sZW5ndGgpfSkpLG59KSksbn1mdW5jdGlvbiBzWHQodCxlLG4pe2lmKGU+bil7dmFyIGk9ZTtlPW4sbj1pfXZhciByPXRbZV07cnx8KHRbZV09cj17fSkscltuXT0hMH1mdW5jdGlvbiBsWHQodCxlLG4pe2lmKGU+bil7dmFyIGk9ZTtlPW4sbj1pfXJldHVybiB0WHQuaGFzKHRbZV0sbil9ZnVuY3Rpb24gY1h0KHQsZSxuLGkpe3ZhciByPXt9LG89e30sYT17fTtyZXR1cm4gdFh0LmZvckVhY2goZSwoZnVuY3Rpb24odCl7dFh0LmZvckVhY2godCwoZnVuY3Rpb24odCxlKXtyW3RdPXQsb1t0XT10LGFbdF09ZX0pKX0pKSx0WHQuZm9yRWFjaChlLChmdW5jdGlvbih0KXt2YXIgZT0tMTt0WHQuZm9yRWFjaCh0LChmdW5jdGlvbih0KXt2YXIgcz1pKHQpO2lmKHMubGVuZ3RoKWZvcih2YXIgbD0oKHM9dFh0LnNvcnRCeShzLChmdW5jdGlvbih0KXtyZXR1cm4gYVt0XX0pKSkubGVuZ3RoLTEpLzIsYz1NYXRoLmZsb29yKGwpLHU9TWF0aC5jZWlsKGwpO2M8PXU7KytjKXt2YXIgaD1zW2NdO29bdF09PT10JiZlPGFbaF0mJiFsWHQobix0LGgpJiYob1toXT10LG9bdF09clt0XT1yW2hdLGU9YVtoXSl9fSkpfSkpLHtyb290OnIsYWxpZ246b319ZnVuY3Rpb24gdVh0KHQsZSxuLGkscil7dmFyIG89e30sYT0oZnVuY3Rpb24gcyh0LGUsbixpKXt2YXIgcj1uZXcgZVh0LG89dC5ncmFwaCgpLGE9KGZ1bmN0aW9uIHModCxlLG4pe3JldHVybiBmdW5jdGlvbihpLHIsbyl7dmFyIGEscz1pLm5vZGUociksbD1pLm5vZGUobyksYz0wO2lmKGMrPXMud2lkdGgvMix0WHQuaGFzKHMsImxhYmVscG9zIikpc3dpdGNoKHMubGFiZWxwb3MudG9Mb3dlckNhc2UoKSl7Y2FzZSJsIjphPS1zLndpZHRoLzI7YnJlYWs7Y2FzZSJyIjphPXMud2lkdGgvMn1pZihhJiYoYys9bj9hOi1hKSxhPTAsYys9KHMuZHVtbXk/ZTp0KS8yLGMrPShsLmR1bW15P2U6dCkvMixjKz1sLndpZHRoLzIsdFh0LmhhcyhsLCJsYWJlbHBvcyIpKXN3aXRjaChsLmxhYmVscG9zLnRvTG93ZXJDYXNlKCkpe2Nhc2UibCI6YT1sLndpZHRoLzI7YnJlYWs7Y2FzZSJyIjphPS1sLndpZHRoLzJ9cmV0dXJuIGEmJihjKz1uP2E6LWEpLGE9MCxjfX0pKG8ubm9kZXNlcCxvLmVkZ2VzZXAsaSk7cmV0dXJuIHRYdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKGUpe3ZhciBpO3RYdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKGUpe3ZhciBvPW5bZV07aWYoci5zZXROb2RlKG8pLGkpe3ZhciBzPW5baV0sbD1yLmVkZ2UocyxvKTtyLnNldEVkZ2UocyxvLE1hdGgubWF4KGEodCxlLGkpLGx8fDApKX1pPWV9KSl9KSkscn0pKHQsZSxuLHIpLGw9cj8iYm9yZGVyTGVmdCI6ImJvcmRlclJpZ2h0IjtmdW5jdGlvbiBjKHQsZSl7Zm9yKHZhciBuPWEubm9kZXMoKSxpPW4ucG9wKCkscj17fTtpOylyW2ldP3QoaSk6KHJbaV09ITAsbi5wdXNoKGkpLG49bi5jb25jYXQoZShpKSkpLGk9bi5wb3AoKX1yZXR1cm4gYygoZnVuY3Rpb24gdSh0KXtvW3RdPWEuaW5FZGdlcyh0KS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWF4KHQsb1tlLnZdK2EuZWRnZShlKSl9KSwwKX0pLGEucHJlZGVjZXNzb3JzLmJpbmQoYSkpLGMoKGZ1bmN0aW9uIGgoZSl7dmFyIG49YS5vdXRFZGdlcyhlKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWluKHQsb1tlLnddLWEuZWRnZShlKSl9KSxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLGk9dC5ub2RlKGUpO24hPT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkmJmkuYm9yZGVyVHlwZSE9PWwmJihvW2VdPU1hdGgubWF4KG9bZV0sbikpfSksYS5zdWNjZXNzb3JzLmJpbmQoYSkpLHRYdC5mb3JFYWNoKGksKGZ1bmN0aW9uKHQpe29bdF09b1tuW3RdXX0pKSxvfWZ1bmN0aW9uIGhYdCh0LGUpe3JldHVybiB0WHQubWluQnkodFh0LnZhbHVlcyhlKSwoZnVuY3Rpb24oZSl7dmFyIG49TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLGk9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO3JldHVybiB0WHQuZm9ySW4oZSwoZnVuY3Rpb24oZSxyKXt2YXIgbz0oZnVuY3Rpb24gYSh0LGUpe3JldHVybiB0Lm5vZGUoZSkud2lkdGh9KSh0LHIpLzI7bj1NYXRoLm1heChlK28sbiksaT1NYXRoLm1pbihlLW8saSl9KSksbi1pfSkpfWZ1bmN0aW9uIGRYdCh0LGUpe3ZhciBuPXRYdC52YWx1ZXMoZSksaT10WHQubWluKG4pLHI9dFh0Lm1heChuKTt0WHQuZm9yRWFjaChbInUiLCJkIl0sKGZ1bmN0aW9uKG4pe3RYdC5mb3JFYWNoKFsibCIsInIiXSwoZnVuY3Rpb24obyl7dmFyIGEscz1uK28sbD10W3NdO2lmKGwhPT1lKXt2YXIgYz10WHQudmFsdWVzKGwpOyhhPSJsIj09PW8/aS10WHQubWluKGMpOnItdFh0Lm1heChjKSkmJih0W3NdPXRYdC5tYXBWYWx1ZXMobCwoZnVuY3Rpb24odCl7cmV0dXJuIHQrYX0pKSl9fSkpfSkpfWZ1bmN0aW9uIHBYdCh0LGUpe3JldHVybiB0WHQubWFwVmFsdWVzKHQudWwsKGZ1bmN0aW9uKG4saSl7aWYoZSlyZXR1cm4gdFtlLnRvTG93ZXJDYXNlKCldW2ldO3ZhciByPXRYdC5zb3J0QnkodFh0Lm1hcCh0LGkpKTtyZXR1cm4oclsxXStyWzJdKS8yfSkpfXZhciBmWHQ9SFd0LG1YdD1vcXQsZ1h0PWlYdDt2YXIgX1h0PUhXdCx5WHQ9dHF0LHZYdD13cXQsYlh0PWlZdCx4WHQ9b3F0Lm5vcm1hbGl6ZVJhbmtzLHdYdD1mdW5jdGlvbiBTWHQodCl7dmFyIGU9KGZ1bmN0aW9uIG4odCl7dmFyIGU9e30sbj0wO2Z1bmN0aW9uIGkocil7dmFyIG89bjtzWXQuZm9yRWFjaCh0LmNoaWxkcmVuKHIpLGkpLGVbcl09e2xvdzpvLGxpbTpuKyt9fXJldHVybiBzWXQuZm9yRWFjaCh0LmNoaWxkcmVuKCksaSksZX0pKHQpO3NZdC5mb3JFYWNoKHQuZ3JhcGgoKS5kdW1teUNoYWlucywoZnVuY3Rpb24obil7Zm9yKHZhciBpPXQubm9kZShuKSxyPWkuZWRnZU9iaixvPShmdW5jdGlvbiBhKHQsZSxuLGkpe3ZhciByLG8sYT1bXSxzPVtdLGw9TWF0aC5taW4oZVtuXS5sb3csZVtpXS5sb3cpLGM9TWF0aC5tYXgoZVtuXS5saW0sZVtpXS5saW0pO3I9bjtkb3tyPXQucGFyZW50KHIpLGEucHVzaChyKX13aGlsZShyJiYoZVtyXS5sb3c+bHx8Yz5lW3JdLmxpbSkpO289cixyPWk7Zm9yKDsocj10LnBhcmVudChyKSkhPT1vOylzLnB1c2gocik7cmV0dXJue3BhdGg6YS5jb25jYXQocy5yZXZlcnNlKCkpLGxjYTpvfX0pKHQsZSxyLnYsci53KSxzPW8ucGF0aCxsPW8ubGNhLGM9MCx1PXNbY10saD0hMDtuIT09ci53Oyl7aWYoaT10Lm5vZGUobiksaCl7Zm9yKDsodT1zW2NdKSE9PWwmJnQubm9kZSh1KS5tYXhSYW5rPGkucmFuazspYysrO3U9PT1sJiYoaD0hMSl9aWYoIWgpe2Zvcig7YzxzLmxlbmd0aC0xJiZ0Lm5vZGUodT1zW2MrMV0pLm1pblJhbms8PWkucmFuazspYysrO3U9c1tjXX10LnNldFBhcmVudChuLHUpLG49dC5zdWNjZXNzb3JzKG4pWzBdfX0pKX0sTVh0PW9xdC5yZW1vdmVFbXB0eVJhbmtzLEVYdD17cnVuOmZ1bmN0aW9uIFRYdCh0KXt2YXIgZT1jWXQuYWRkRHVtbXlOb2RlKHQsInJvb3QiLHt9LCJfcm9vdCIpLG49KGZ1bmN0aW9uIGkodCl7dmFyIGU9e307ZnVuY3Rpb24gbihpLHIpe3ZhciBvPXQuY2hpbGRyZW4oaSk7byYmby5sZW5ndGgmJmxZdC5mb3JFYWNoKG8sKGZ1bmN0aW9uKHQpe24odCxyKzEpfSkpLGVbaV09cn1yZXR1cm4gbFl0LmZvckVhY2godC5jaGlsZHJlbigpLChmdW5jdGlvbih0KXtuKHQsMSl9KSksZX0pKHQpLHI9bFl0Lm1heChsWXQudmFsdWVzKG4pKS0xLG89MipyKzE7dC5ncmFwaCgpLm5lc3RpbmdSb290PWUsbFl0LmZvckVhY2godC5lZGdlcygpLChmdW5jdGlvbihlKXt0LmVkZ2UoZSkubWlubGVuKj1vfSkpO3ZhciBhPShmdW5jdGlvbiBzKHQpe3JldHVybiBsWXQucmVkdWNlKHQuZWRnZXMoKSwoZnVuY3Rpb24oZSxuKXtyZXR1cm4gZSt0LmVkZ2Uobikud2VpZ2h0fSksMCl9KSh0KSsxO2xZdC5mb3JFYWNoKHQuY2hpbGRyZW4oKSwoZnVuY3Rpb24oaSl7dVl0KHQsZSxvLGEscixuLGkpfSkpLHQuZ3JhcGgoKS5ub2RlUmFua0ZhY3Rvcj1vfSxjbGVhbnVwOmZ1bmN0aW9uIENYdCh0KXt2YXIgZT10LmdyYXBoKCk7dC5yZW1vdmVOb2RlKGUubmVzdGluZ1Jvb3QpLGRlbGV0ZSBlLm5lc3RpbmdSb290LGxZdC5mb3JFYWNoKHQuZWRnZXMoKSwoZnVuY3Rpb24oZSl7dC5lZGdlKGUpLm5lc3RpbmdFZGdlJiZ0LnJlbW92ZUVkZ2UoZSl9KSl9fSxBWHQ9cFl0LGtYdD17YWRqdXN0OmZ1bmN0aW9uIExYdCh0KXt2YXIgZT10LmdyYXBoKCkucmFua2Rpci50b0xvd2VyQ2FzZSgpOyJsciIhPT1lJiYicmwiIT09ZXx8X1l0KHQpfSx1bmRvOmZ1bmN0aW9uIFBYdCh0KXt2YXIgZT10LmdyYXBoKCkucmFua2Rpci50b0xvd2VyQ2FzZSgpOyJidCIhPT1lJiYicmwiIT09ZXx8KGZ1bmN0aW9uIG4odCl7Z1l0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbihlKXt2WXQodC5ub2RlKGUpKX0pKSxnWXQuZm9yRWFjaCh0LmVkZ2VzKCksKGZ1bmN0aW9uKGUpe3ZhciBuPXQuZWRnZShlKTtnWXQuZm9yRWFjaChuLnBvaW50cyx2WXQpLGdZdC5oYXMobiwieSIpJiZ2WXQobil9KSl9KSh0KTsibHIiIT09ZSYmInJsIiE9PWV8fCghKGZ1bmN0aW9uIGkodCl7Z1l0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbihlKXtiWXQodC5ub2RlKGUpKX0pKSxnWXQuZm9yRWFjaCh0LmVkZ2VzKCksKGZ1bmN0aW9uKGUpe3ZhciBuPXQuZWRnZShlKTtnWXQuZm9yRWFjaChuLnBvaW50cyxiWXQpLGdZdC5oYXMobiwieCIpJiZiWXQobil9KSl9KSh0KSxfWXQodCkpfX0sTlh0PWZ1bmN0aW9uIElYdCh0KXt2YXIgZT1LWXQubWF4UmFuayh0KSxuPVpZdCh0LEhZdC5yYW5nZSgxLGUrMSksImluRWRnZXMiKSxpPVpZdCh0LEhZdC5yYW5nZShlLTEsLTEsLTEpLCJvdXRFZGdlcyIpLHI9Rll0KHQpO1FZdCh0LHIpO2Zvcih2YXIgbyxhPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxzPTAsbD0wO2w8NDsrK3MsKytsKXtKWXQocyUyP246aSxzJTQ+PTIpLHI9S1l0LmJ1aWxkTGF5ZXJNYXRyaXgodCk7dmFyIGM9VVl0KHQscik7YzxhJiYobD0wLG89SFl0LmNsb25lRGVlcChyKSxhPWMpfVFZdCh0LG8pfSxSWHQ9ZnVuY3Rpb24gT1h0KHQpeyhmdW5jdGlvbiBlKHQpe3ZhciBlPW1YdC5idWlsZExheWVyTWF0cml4KHQpLG49dC5ncmFwaCgpLnJhbmtzZXAsaT0wO2ZYdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKGUpe3ZhciByPWZYdC5tYXgoZlh0Lm1hcChlLChmdW5jdGlvbihlKXtyZXR1cm4gdC5ub2RlKGUpLmhlaWdodH0pKSk7Zlh0LmZvckVhY2goZSwoZnVuY3Rpb24oZSl7dC5ub2RlKGUpLnk9aStyLzJ9KSksaSs9citufSkpfSkodD1tWHQuYXNOb25Db21wb3VuZEdyYXBoKHQpKSxmWHQuZm9yRWFjaChnWHQodCksKGZ1bmN0aW9uKGUsbil7dC5ub2RlKG4pLng9ZX0pKX0selh0PW9xdCxEWHQ9eVV0LkdyYXBoLEJYdD1mdW5jdGlvbiBIWHQodCxlKXt2YXIgbj1lJiZlLmRlYnVnVGltaW5nP3pYdC50aW1lOnpYdC5ub3RpbWU7bigibGF5b3V0IiwoZnVuY3Rpb24oKXt2YXIgZT1uKCIgIGJ1aWxkTGF5b3V0R3JhcGgiLChmdW5jdGlvbigpe3JldHVybihmdW5jdGlvbiBlKHQpe3ZhciBlPW5ldyBEWHQoe211bHRpZ3JhcGg6ITAsY29tcG91bmQ6ITB9KSxuPSRYdCh0LmdyYXBoKCkpO3JldHVybiBlLnNldEdyYXBoKF9YdC5tZXJnZSh7fSxWWHQsWFh0KG4sRlh0KSxfWHQucGljayhuLFVYdCkpKSxfWHQuZm9yRWFjaCh0Lm5vZGVzKCksKGZ1bmN0aW9uKG4pe3ZhciBpPSRYdCh0Lm5vZGUobikpO2Uuc2V0Tm9kZShuLF9YdC5kZWZhdWx0cyhYWHQoaSxqWHQpLEdYdCkpLGUuc2V0UGFyZW50KG4sdC5wYXJlbnQobikpfSkpLF9YdC5mb3JFYWNoKHQuZWRnZXMoKSwoZnVuY3Rpb24obil7dmFyIGk9JFh0KHQuZWRnZShuKSk7ZS5zZXRFZGdlKG4sX1h0Lm1lcmdlKHt9LHFYdCxYWHQoaSxXWHQpLF9YdC5waWNrKGksWVh0KSkpfSkpLGV9KSh0KX0pKTtuKCIgIHJ1bkxheW91dCIsKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiB0KGUsbil7bigiICAgIG1ha2VTcGFjZUZvckVkZ2VMYWJlbHMiLChmdW5jdGlvbigpeyEoZnVuY3Rpb24gdChlKXt2YXIgbj1lLmdyYXBoKCk7bi5yYW5rc2VwLz0yLF9YdC5mb3JFYWNoKGUuZWRnZXMoKSwoZnVuY3Rpb24odCl7dmFyIGk9ZS5lZGdlKHQpO2kubWlubGVuKj0yLCJjIiE9PWkubGFiZWxwb3MudG9Mb3dlckNhc2UoKSYmKCJUQiI9PT1uLnJhbmtkaXJ8fCJCVCI9PT1uLnJhbmtkaXI/aS53aWR0aCs9aS5sYWJlbG9mZnNldDppLmhlaWdodCs9aS5sYWJlbG9mZnNldCl9KSl9KShlKX0pKSxuKCIgICAgcmVtb3ZlU2VsZkVkZ2VzIiwoZnVuY3Rpb24oKXshKGZ1bmN0aW9uIHQoZSl7X1h0LmZvckVhY2goZS5lZGdlcygpLChmdW5jdGlvbih0KXtpZih0LnY9PT10Lncpe3ZhciBuPWUubm9kZSh0LnYpO24uc2VsZkVkZ2VzfHwobi5zZWxmRWRnZXM9W10pLG4uc2VsZkVkZ2VzLnB1c2goe2U6dCxsYWJlbDplLmVkZ2UodCl9KSxlLnJlbW92ZUVkZ2UodCl9fSkpfSkoZSl9KSksbigiICAgIGFjeWNsaWMiLChmdW5jdGlvbigpe3lYdC5ydW4oZSl9KSksbigiICAgIG5lc3RpbmdHcmFwaC5ydW4iLChmdW5jdGlvbigpe0VYdC5ydW4oZSl9KSksbigiICAgIHJhbmsiLChmdW5jdGlvbigpe2JYdCh6WHQuYXNOb25Db21wb3VuZEdyYXBoKGUpKX0pKSxuKCIgICAgaW5qZWN0RWRnZUxhYmVsUHJveGllcyIsKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiB0KGUpe19YdC5mb3JFYWNoKGUuZWRnZXMoKSwoZnVuY3Rpb24odCl7dmFyIG49ZS5lZGdlKHQpO2lmKG4ud2lkdGgmJm4uaGVpZ2h0KXt2YXIgaT1lLm5vZGUodC52KSxyPWUubm9kZSh0LncpO3pYdC5hZGREdW1teU5vZGUoZSwiZWRnZS1wcm94eSIse3Jhbms6KHIucmFuay1pLnJhbmspLzIraS5yYW5rLGU6dH0sIl9lcCIpfX0pKX0pKGUpfSkpLG4oIiAgICByZW1vdmVFbXB0eVJhbmtzIiwoZnVuY3Rpb24oKXtNWHQoZSl9KSksbigiICAgIG5lc3RpbmdHcmFwaC5jbGVhbnVwIiwoZnVuY3Rpb24oKXtFWHQuY2xlYW51cChlKX0pKSxuKCIgICAgbm9ybWFsaXplUmFua3MiLChmdW5jdGlvbigpe3hYdChlKX0pKSxuKCIgICAgYXNzaWduUmFua01pbk1heCIsKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiB0KGUpe3ZhciBuPTA7X1h0LmZvckVhY2goZS5ub2RlcygpLChmdW5jdGlvbih0KXt2YXIgaT1lLm5vZGUodCk7aS5ib3JkZXJUb3AmJihpLm1pblJhbms9ZS5ub2RlKGkuYm9yZGVyVG9wKS5yYW5rLGkubWF4UmFuaz1lLm5vZGUoaS5ib3JkZXJCb3R0b20pLnJhbmssbj1fWHQubWF4KG4saS5tYXhSYW5rKSl9KSksZS5ncmFwaCgpLm1heFJhbms9bn0pKGUpfSkpLG4oIiAgICByZW1vdmVFZGdlTGFiZWxQcm94aWVzIiwoZnVuY3Rpb24oKXshKGZ1bmN0aW9uIHQoZSl7X1h0LmZvckVhY2goZS5ub2RlcygpLChmdW5jdGlvbih0KXt2YXIgbj1lLm5vZGUodCk7ImVkZ2UtcHJveHkiPT09bi5kdW1teSYmKGUuZWRnZShuLmUpLmxhYmVsUmFuaz1uLnJhbmssZS5yZW1vdmVOb2RlKHQpKX0pKX0pKGUpfSkpLG4oIiAgICBub3JtYWxpemUucnVuIiwoZnVuY3Rpb24oKXt2WHQucnVuKGUpfSkpLG4oIiAgICBwYXJlbnREdW1teUNoYWlucyIsKGZ1bmN0aW9uKCl7d1h0KGUpfSkpLG4oIiAgICBhZGRCb3JkZXJTZWdtZW50cyIsKGZ1bmN0aW9uKCl7QVh0KGUpfSkpLG4oIiAgICBvcmRlciIsKGZ1bmN0aW9uKCl7Tlh0KGUpfSkpLG4oIiAgICBpbnNlcnRTZWxmRWRnZXMiLChmdW5jdGlvbigpeyEoZnVuY3Rpb24gdChlKXt2YXIgbj16WHQuYnVpbGRMYXllck1hdHJpeChlKTtfWHQuZm9yRWFjaChuLChmdW5jdGlvbih0KXt2YXIgbj0wO19YdC5mb3JFYWNoKHQsKGZ1bmN0aW9uKHQsaSl7dmFyIHI9ZS5ub2RlKHQpO3Iub3JkZXI9aStuLF9YdC5mb3JFYWNoKHIuc2VsZkVkZ2VzLChmdW5jdGlvbih0KXt6WHQuYWRkRHVtbXlOb2RlKGUsInNlbGZlZGdlIix7d2lkdGg6dC5sYWJlbC53aWR0aCxoZWlnaHQ6dC5sYWJlbC5oZWlnaHQscmFuazpyLnJhbmssb3JkZXI6aSsgKytuLGU6dC5lLGxhYmVsOnQubGFiZWx9LCJfc2UiKX0pKSxkZWxldGUgci5zZWxmRWRnZXN9KSl9KSl9KShlKX0pKSxuKCIgICAgYWRqdXN0Q29vcmRpbmF0ZVN5c3RlbSIsKGZ1bmN0aW9uKCl7a1h0LmFkanVzdChlKX0pKSxuKCIgICAgcG9zaXRpb24iLChmdW5jdGlvbigpe1JYdChlKX0pKSxuKCIgICAgcG9zaXRpb25TZWxmRWRnZXMiLChmdW5jdGlvbigpeyEoZnVuY3Rpb24gdChlKXtfWHQuZm9yRWFjaChlLm5vZGVzKCksKGZ1bmN0aW9uKHQpe3ZhciBuPWUubm9kZSh0KTtpZigic2VsZmVkZ2UiPT09bi5kdW1teSl7dmFyIGk9ZS5ub2RlKG4uZS52KSxyPWkueCtpLndpZHRoLzIsbz1pLnksYT1uLngtcixzPWkuaGVpZ2h0LzI7ZS5zZXRFZGdlKG4uZSxuLmxhYmVsKSxlLnJlbW92ZU5vZGUodCksbi5sYWJlbC5wb2ludHM9W3t4OnIrMiphLzMseTpvLXN9LHt4OnIrNSphLzYseTpvLXN9LHt4OnIrYSx5Om99LHt4OnIrNSphLzYseTpvK3N9LHt4OnIrMiphLzMseTpvK3N9XSxuLmxhYmVsLng9bi54LG4ubGFiZWwueT1uLnl9fSkpfSkoZSl9KSksbigiICAgIHJlbW92ZUJvcmRlck5vZGVzIiwoZnVuY3Rpb24oKXshKGZ1bmN0aW9uIHQoZSl7X1h0LmZvckVhY2goZS5ub2RlcygpLChmdW5jdGlvbih0KXtpZihlLmNoaWxkcmVuKHQpLmxlbmd0aCl7dmFyIG49ZS5ub2RlKHQpLGk9ZS5ub2RlKG4uYm9yZGVyVG9wKSxyPWUubm9kZShuLmJvcmRlckJvdHRvbSksbz1lLm5vZGUoX1h0Lmxhc3Qobi5ib3JkZXJMZWZ0KSksYT1lLm5vZGUoX1h0Lmxhc3Qobi5ib3JkZXJSaWdodCkpO24ud2lkdGg9TWF0aC5hYnMoYS54LW8ueCksbi5oZWlnaHQ9TWF0aC5hYnMoci55LWkueSksbi54PW8ueCtuLndpZHRoLzIsbi55PWkueStuLmhlaWdodC8yfX0pKSxfWHQuZm9yRWFjaChlLm5vZGVzKCksKGZ1bmN0aW9uKHQpeyJib3JkZXIiPT09ZS5ub2RlKHQpLmR1bW15JiZlLnJlbW92ZU5vZGUodCl9KSl9KShlKX0pKSxuKCIgICAgbm9ybWFsaXplLnVuZG8iLChmdW5jdGlvbigpe3ZYdC51bmRvKGUpfSkpLG4oIiAgICBmaXh1cEVkZ2VMYWJlbENvb3JkcyIsKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiB0KGUpe19YdC5mb3JFYWNoKGUuZWRnZXMoKSwoZnVuY3Rpb24odCl7dmFyIG49ZS5lZGdlKHQpO2lmKF9YdC5oYXMobiwieCIpKXN3aXRjaCgibCIhPT1uLmxhYmVscG9zJiYiciIhPT1uLmxhYmVscG9zfHwobi53aWR0aC09bi5sYWJlbG9mZnNldCksbi5sYWJlbHBvcyl7Y2FzZSJsIjpuLngtPW4ud2lkdGgvMituLmxhYmVsb2Zmc2V0O2JyZWFrO2Nhc2UiciI6bi54Kz1uLndpZHRoLzIrbi5sYWJlbG9mZnNldH19KSl9KShlKX0pKSxuKCIgICAgdW5kb0Nvb3JkaW5hdGVTeXN0ZW0iLChmdW5jdGlvbigpe2tYdC51bmRvKGUpfSkpLG4oIiAgICB0cmFuc2xhdGVHcmFwaCIsKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiB0KGUpe3ZhciBuPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxpPTAscj1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksbz0wLGE9ZS5ncmFwaCgpLHM9YS5tYXJnaW54fHwwLGw9YS5tYXJnaW55fHwwO2Z1bmN0aW9uIGModCl7dmFyIGU9dC54LGE9dC55LHM9dC53aWR0aCxsPXQuaGVpZ2h0O249TWF0aC5taW4obixlLXMvMiksaT1NYXRoLm1heChpLGUrcy8yKSxyPU1hdGgubWluKHIsYS1sLzIpLG89TWF0aC5tYXgobyxhK2wvMil9X1h0LmZvckVhY2goZS5ub2RlcygpLChmdW5jdGlvbih0KXtjKGUubm9kZSh0KSl9KSksX1h0LmZvckVhY2goZS5lZGdlcygpLChmdW5jdGlvbih0KXt2YXIgbj1lLmVkZ2UodCk7X1h0LmhhcyhuLCJ4IikmJmMobil9KSksbi09cyxyLT1sLF9YdC5mb3JFYWNoKGUubm9kZXMoKSwoZnVuY3Rpb24odCl7dmFyIGk9ZS5ub2RlKHQpO2kueC09bixpLnktPXJ9KSksX1h0LmZvckVhY2goZS5lZGdlcygpLChmdW5jdGlvbih0KXt2YXIgaT1lLmVkZ2UodCk7X1h0LmZvckVhY2goaS5wb2ludHMsKGZ1bmN0aW9uKHQpe3QueC09bix0LnktPXJ9KSksX1h0LmhhcyhpLCJ4IikmJihpLngtPW4pLF9YdC5oYXMoaSwieSIpJiYoaS55LT1yKX0pKSxhLndpZHRoPWktbitzLGEuaGVpZ2h0PW8tcitsfSkoZSl9KSksbigiICAgIGFzc2lnbk5vZGVJbnRlcnNlY3RzIiwoZnVuY3Rpb24oKXshKGZ1bmN0aW9uIHQoZSl7X1h0LmZvckVhY2goZS5lZGdlcygpLChmdW5jdGlvbih0KXt2YXIgbixpLHI9ZS5lZGdlKHQpLG89ZS5ub2RlKHQudiksYT1lLm5vZGUodC53KTtyLnBvaW50cz8obj1yLnBvaW50c1swXSxpPXIucG9pbnRzW3IucG9pbnRzLmxlbmd0aC0xXSk6KHIucG9pbnRzPVtdLG49YSxpPW8pLHIucG9pbnRzLnVuc2hpZnQoelh0LmludGVyc2VjdFJlY3QobyxuKSksci5wb2ludHMucHVzaCh6WHQuaW50ZXJzZWN0UmVjdChhLGkpKX0pKX0pKGUpfSkpLG4oIiAgICByZXZlcnNlUG9pbnRzIiwoZnVuY3Rpb24oKXshKGZ1bmN0aW9uIHQoZSl7X1h0LmZvckVhY2goZS5lZGdlcygpLChmdW5jdGlvbih0KXt2YXIgbj1lLmVkZ2UodCk7bi5yZXZlcnNlZCYmbi5wb2ludHMucmV2ZXJzZSgpfSkpfSkoZSl9KSksbigiICAgIGFjeWNsaWMudW5kbyIsKGZ1bmN0aW9uKCl7eVh0LnVuZG8oZSl9KSl9KShlLG4pfSkpLG4oIiAgdXBkYXRlSW5wdXRHcmFwaCIsKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiBuKHQsZSl7X1h0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbihuKXt2YXIgaT10Lm5vZGUobikscj1lLm5vZGUobik7aSYmKGkueD1yLngsaS55PXIueSxlLmNoaWxkcmVuKG4pLmxlbmd0aCYmKGkud2lkdGg9ci53aWR0aCxpLmhlaWdodD1yLmhlaWdodCkpfSkpLF9YdC5mb3JFYWNoKHQuZWRnZXMoKSwoZnVuY3Rpb24obil7dmFyIGk9dC5lZGdlKG4pLHI9ZS5lZGdlKG4pO2kucG9pbnRzPXIucG9pbnRzLF9YdC5oYXMociwieCIpJiYoaS54PXIueCxpLnk9ci55KX0pKSx0LmdyYXBoKCkud2lkdGg9ZS5ncmFwaCgpLndpZHRoLHQuZ3JhcGgoKS5oZWlnaHQ9ZS5ncmFwaCgpLmhlaWdodH0pKHQsZSl9KSl9KSl9O3ZhciBGWHQ9WyJub2Rlc2VwIiwiZWRnZXNlcCIsInJhbmtzZXAiLCJtYXJnaW54IiwibWFyZ2lueSJdLFZYdD17cmFua3NlcDo1MCxlZGdlc2VwOjIwLG5vZGVzZXA6NTAscmFua2RpcjoidGIifSxVWHQ9WyJhY3ljbGljZXIiLCJyYW5rZXIiLCJyYW5rZGlyIiwiYWxpZ24iXSxqWHQ9WyJ3aWR0aCIsImhlaWdodCJdLEdYdD17d2lkdGg6MCxoZWlnaHQ6MH0sV1h0PVsibWlubGVuIiwid2VpZ2h0Iiwid2lkdGgiLCJoZWlnaHQiLCJsYWJlbG9mZnNldCJdLHFYdD17bWlubGVuOjEsd2VpZ2h0OjEsd2lkdGg6MCxoZWlnaHQ6MCxsYWJlbG9mZnNldDoxMCxsYWJlbHBvczoiciJ9LFlYdD1bImxhYmVscG9zIl07ZnVuY3Rpb24gWFh0KHQsZSl7cmV0dXJuIF9YdC5tYXBWYWx1ZXMoX1h0LnBpY2sodCxlKSxOdW1iZXIpfWZ1bmN0aW9uICRYdCh0KXt2YXIgZT17fTtyZXR1cm4gX1h0LmZvckVhY2godCwoZnVuY3Rpb24odCxuKXtlW24udG9Mb3dlckNhc2UoKV09dH0pKSxlfXZhciBLWHQ9SFd0LFpYdD1vcXQsSlh0PXlVdC5HcmFwaDt2YXIgUVh0LHQkdD17Z3JhcGhsaWI6eVV0LGxheW91dDpCWHQsZGVidWc6e2RlYnVnT3JkZXJpbmc6ZnVuY3Rpb24gZSR0KHQpe3ZhciBlPVpYdC5idWlsZExheWVyTWF0cml4KHQpLG49bmV3IEpYdCh7Y29tcG91bmQ6ITAsbXVsdGlncmFwaDohMH0pLnNldEdyYXBoKHt9KTtyZXR1cm4gS1h0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbihlKXtuLnNldE5vZGUoZSx7bGFiZWw6ZX0pLG4uc2V0UGFyZW50KGUsImxheWVyIit0Lm5vZGUoZSkucmFuayl9KSksS1h0LmZvckVhY2godC5lZGdlcygpLChmdW5jdGlvbih0KXtuLnNldEVkZ2UodC52LHQudyx7fSx0Lm5hbWUpfSkpLEtYdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKHQsZSl7bi5zZXROb2RlKCJsYXllciIrZSx7cmFuazoic2FtZSJ9KSxLWHQucmVkdWNlKHQsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4uc2V0RWRnZSh0LGUse3N0eWxlOiJpbnZpcyJ9KSxlfSkpfSkpLG59fSx1dGlsOnt0aW1lOm9xdC50aW1lLG5vdGltZTpvcXQubm90aW1lfSx2ZXJzaW9uOiIwLjguNSJ9OyEoZnVuY3Rpb24odCl7dC5PUF9HUkFQSD0ib3BfZ3JhcGgiLHQuQ09OQ0VQVFVBTF9HUkFQSD0iY29uY2VwdHVhbF9ncmFwaCIsdC5QUk9GSUxFPSJwcm9maWxlIn0pKFFYdHx8KFFYdD17fSkpO2xldCBuJHQ9e05vZGU6e0NPTlRBSU5FUjoibm9kZXMiLEdST1VQOiJub2RlIixTSEFQRToibm9kZXNoYXBlIixDT0xPUl9UQVJHRVQ6Im5vZGVjb2xvcnRhcmdldCIsTEFCRUw6Im5vZGVsYWJlbCIsQlVUVE9OX0NPTlRBSU5FUjoiYnV0dG9uY29udGFpbmVyIixCVVRUT05fQ0lSQ0xFOiJidXR0b25jaXJjbGUiLEVYUEFORF9CVVRUT046ImV4cGFuZGJ1dHRvbiIsQ09MTEFQU0VfQlVUVE9OOiJjb2xsYXBzZWJ1dHRvbiJ9LEVkZ2U6e0NPTlRBSU5FUjoiZWRnZXMiLEdST1VQOiJlZGdlIixMSU5FOiJlZGdlbGluZSIsUkVGRVJFTkNFX0VER0U6InJlZmVyZW5jZWVkZ2UiLFJFRl9MSU5FOiJyZWZsaW5lIixTRUxFQ1RBQkxFOiJzZWxlY3RhYmxlZWRnZSIsU0VMRUNURUQ6InNlbGVjdGVkZWRnZSIsU1RSVUNUVVJBTDoic3RydWN0dXJhbCJ9LEFubm90YXRpb246e09VVEJPWDoib3V0LWFubm90YXRpb25zIixJTkJPWDoiaW4tYW5ub3RhdGlvbnMiLEdST1VQOiJhbm5vdGF0aW9uIixOT0RFOiJhbm5vdGF0aW9uLW5vZGUiLEVER0U6ImFubm90YXRpb24tZWRnZSIsQ09OVFJPTF9FREdFOiJhbm5vdGF0aW9uLWNvbnRyb2wtZWRnZSIsTEFCRUw6ImFubm90YXRpb24tbGFiZWwiLEVMTElQU0lTOiJhbm5vdGF0aW9uLWVsbGlwc2lzIn0sU2NlbmU6e0dST1VQOiJzY2VuZSIsQ09SRToiY29yZSIsRlVOQ1RJT05fTElCUkFSWToiZnVuY3Rpb24tbGlicmFyeSIsSU5FWFRSQUNUOiJpbi1leHRyYWN0IixPVVRFWFRSQUNUOiJvdXQtZXh0cmFjdCJ9LFN1YnNjZW5lOntHUk9VUDoic3Vic2NlbmUifSxPUE5PREU6Im9wIixNRVRBTk9ERToibWV0YSIsU0VSSUVTTk9ERToic2VyaWVzIixCUklER0VOT0RFOiJicmlkZ2UiLEVMTElQU0lTTk9ERToiZWxsaXBzaXMifTtjb25zdCBpJHQ9e0xBQkVMOjV9LHIkdD17RVhQQU5ERURfTEFCRUw6OSxTRVJJRVNfTEFCRUw6OCxPUF9MQUJFTDo2LEhFQUxUSF9QSUxMX1NUQVRfTEFCRUw6NH0sbyR0PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7ZnVuY3Rpb24gYSR0KHQsZSxuKXtsZXQgaT10Lm5vZGUoKS5jaGlsZE5vZGVzO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtsZXQgcj1pW3RdO2lmKHIudGFnTmFtZT09PWUpaWYobiBpbnN0YW5jZW9mIEFycmF5KXtsZXQgdD0hMDtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKyl0PXQmJnIuY2xhc3NMaXN0LmNvbnRhaW5zKG5bZV0pO2lmKHQpcmV0dXJuIER1KHIpfWVsc2UgaWYoIW58fHIuY2xhc3NMaXN0LmNvbnRhaW5zKG4pKXJldHVybiBEdShyKX1yZXR1cm4gRHUobnVsbCl9ZnVuY3Rpb24gcyR0KHQsZSxuLGkpe2xldCByPWEkdCh0LGUsbik7aWYoIXIuZW1wdHkoKSlyZXR1cm4gcjtsZXQgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixlKTtpZihuIGluc3RhbmNlb2YgQXJyYXkpZm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspby5jbGFzc0xpc3QuYWRkKG5bdF0pO2Vsc2Ugby5jbGFzc0xpc3QuYWRkKG4pO3JldHVybiBpP3Qubm9kZSgpLmluc2VydEJlZm9yZShvLGkpOnQubm9kZSgpLmFwcGVuZENoaWxkKG8pLER1KG8pLmRhdHVtKHQuZGF0dW0oKSl9Y2xhc3MgbCR0e2NvbnN0cnVjdG9yKHQpe3RoaXMudG90YWxCeXRlcz0wLHRoaXMub3V0cHV0U2l6ZT10fWFkZEV4ZWN1dGlvblRpbWUodCxlKXt0aGlzLnN0YXJ0VGltZT1udWxsIT10aGlzLnN0YXJ0VGltZT9NYXRoLm1pbih0aGlzLnN0YXJ0VGltZSx0KTp0LHRoaXMuZW5kVGltZT1udWxsIT10aGlzLmVuZFRpbWU/TWF0aC5tYXgodGhpcy5lbmRUaW1lLGUpOmV9YWRkQnl0ZXNBbGxvY2F0aW9uKHQpe3RoaXMudG90YWxCeXRlcz1udWxsIT10aGlzLnRvdGFsQnl0ZXM/TWF0aC5tYXgodGhpcy50b3RhbEJ5dGVzLHQpOnR9Y29tYmluZSh0KXtudWxsIT10LnRvdGFsQnl0ZXMmJih0aGlzLnRvdGFsQnl0ZXMrPXQudG90YWxCeXRlcyksbnVsbCE9dC5nZXRUb3RhbE1pY3JvcygpJiZ0aGlzLmFkZEV4ZWN1dGlvblRpbWUodC5zdGFydFRpbWUsdC5lbmRUaW1lKX1nZXRUb3RhbE1pY3Jvcygpe3JldHVybiBudWxsPT10aGlzLnN0YXJ0VGltZXx8bnVsbD09dGhpcy5lbmRUaW1lP251bGw6dGhpcy5lbmRUaW1lLXRoaXMuc3RhcnRUaW1lfX1jb25zdCBjJHQ9Ljc1LHUkdD1URSgpLmV4cG9uZW50KC4zKS5kb21haW4oWzEsNWU2XSkucmFuZ2UoW2MkdCwxMl0pLmNsYW1wKCEwKTtmdW5jdGlvbiBoJHQodCl7IShmdW5jdGlvbiBlKHQpe3JldHVybiB0Lmhhc093blByb3BlcnR5KCJ0aW1pbmdJZCIpfSkodCl9ZnVuY3Rpb24gZCR0KHQsZSxuKXtsZXQgaT1EYXRlLm5vdygpLHI9ZSgpO2NvbnN0IG89RGF0ZS5ub3coKS1pO3JldHVybiBjb25zb2xlLmxvZyh0LCI6IixvLCJtcyIpLG4mJmgkdCh7dGltaW5nSWQ6bixldmVudFZhbHVlOm99KSxyfWZ1bmN0aW9uIHAkdCh0KXtyZXR1cm57c2V0TWVzc2FnZTpmdW5jdGlvbihlKXt0LnNldCgicHJvZ3Jlc3MiLHt2YWx1ZTp0LnByb2dyZXNzLnZhbHVlLG1zZzplfSl9LHVwZGF0ZVByb2dyZXNzOmZ1bmN0aW9uKGUpe3Quc2V0KCJwcm9ncmVzcyIse3ZhbHVlOnQucHJvZ3Jlc3MudmFsdWUrZSxtc2c6dC5wcm9ncmVzcy5tc2d9KX0scmVwb3J0RXJyb3I6ZnVuY3Rpb24oZSxuKXtjb25zb2xlLmVycm9yKG4uc3RhY2spLHQuc2V0KCJwcm9ncmVzcyIse3ZhbHVlOnQucHJvZ3Jlc3MudmFsdWUsbXNnOmUsZXJyb3I6ITB9KX19fWZ1bmN0aW9uIGYkdCh0LGUsbil7cmV0dXJue3NldE1lc3NhZ2U6ZnVuY3Rpb24oZSl7dC5zZXRNZXNzYWdlKG4rIjogIitlKX0sdXBkYXRlUHJvZ3Jlc3M6ZnVuY3Rpb24obil7dC51cGRhdGVQcm9ncmVzcyhuKmUvMTAwKX0scmVwb3J0RXJyb3I6ZnVuY3Rpb24oZSxpKXt0LnJlcG9ydEVycm9yKG4rIjogIitlLGkpfX19ZnVuY3Rpb24gbSR0KHQsZSxuLGkscil7cmV0dXJuIG5ldyBQcm9taXNlKCgobyxhKT0+e2kuc2V0TWVzc2FnZSh0KSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe3RyeXtsZXQgYT1kJHQodCxuLHIpO2kudXBkYXRlUHJvZ3Jlc3MoZSksbyhhKX1jYXRjaChlKXtpLnJlcG9ydEVycm9yKCJGYWlsZWQgIit0LGUpfX0pLDIwKX0pKX1mdW5jdGlvbiBnJHQodCxlLG4saSxyKXtyZXR1cm4gbmV3IFByb21pc2UoKChvLGEpPT57bGV0IHM9ZnVuY3Rpb24oZSl7aS5yZXBvcnRFcnJvcigiRmFpbGVkICIrdCxlKSxhKGUpfTtpLnNldE1lc3NhZ2UodCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0cnl7bGV0IGE9RGF0ZS5ub3coKTtuKCkudGhlbigoZnVuY3Rpb24obil7Y29uc3Qgcz1EYXRlLm5vdygpLWE7Y29uc29sZS5sb2codCwiOiIscywibXMiKSxpLnVwZGF0ZVByb2dyZXNzKGUpLGgkdCh7dGltaW5nSWQ6cixldmVudFZhbHVlOnN9KSxvKG4pfSkpLmNhdGNoKHMpfWNhdGNoKHQpe3ModCl9fSksMjApfSkpfWNvbnN0IF8kdD1be3N5bWJvbDoiQiJ9LHtzeW1ib2w6IktCIixudW1Vbml0czoxMDI0fSx7c3ltYm9sOiJNQiIsbnVtVW5pdHM6MTAyNH0se3N5bWJvbDoiR0IiLG51bVVuaXRzOjEwMjR9LHtzeW1ib2w6IlRCIixudW1Vbml0czoxMDI0fSx7c3ltYm9sOiJQQiIsbnVtVW5pdHM6MTAyNH1dLHkkdD1be3N5bWJvbDoiwrVzIn0se3N5bWJvbDoibXMiLG51bVVuaXRzOjFlM30se3N5bWJvbDoicyIsbnVtVW5pdHM6MWUzfSx7c3ltYm9sOiJtaW4iLG51bVVuaXRzOjYwfSx7c3ltYm9sOiJociIsbnVtVW5pdHM6NjB9LHtzeW1ib2w6ImRheXMiLG51bVVuaXRzOjI0fV07ZnVuY3Rpb24gdiR0KHQsZSxuPTApe3JldHVybiBuKzE8ZS5sZW5ndGgmJnQ+PWVbbisxXS5udW1Vbml0cz92JHQodC9lW24rMV0ubnVtVW5pdHMsZSxuKzEpOk51bWJlcih0LnRvUHJlY2lzaW9uKDMpKSsiICIrZVtuXS5zeW1ib2x9ZnVuY3Rpb24gYiR0KHQpe3JldHVybiEoIXR8fCEodC50b3RhbEJ5dGVzPjB8fHQuZ2V0VG90YWxNaWNyb3MoKT4wfHx0Lm91dHB1dFNpemUpKX1mdW5jdGlvbiB4JHQodCl7aWYodC5sZW5ndGg8MilyZXR1cm4gdDtsZXQgZT0wLG49MCxpPUNlLmV4cG9ydHMubWluKENlLmV4cG9ydHMubWFwKHQsKHQ9PnQubGVuZ3RoKSkpO2Zvcig7Oyl7ZSsrO2xldCByPUNlLmV4cG9ydHMubWFwKHQsKHQ9PnQuc3Vic3RyaW5nKDAsZSkpKTtpZighci5ldmVyeSgoKHQsZSk9PjA9PT1lfHx0PT09cltlLTFdKSkpYnJlYWs7aWYoZT49aSlyZXR1cm4gdDtuPWV9cmV0dXJuIENlLmV4cG9ydHMubWFwKHQsKHQ9PnQuc3Vic3RyaW5nKG4pKSl9Y29uc3QgdyR0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIik7ZnVuY3Rpb24gUyR0KHQsZSl7cmV0dXJuIHckdC5mb250PWAke2V9cHggUm9ib3RvLCBzYW5zLXNlcmlmYCx3JHQubWVhc3VyZVRleHQodCkud2lkdGh9Y29uc3QgTSR0PSIvIixFJHQ9Il9fcm9vdF9fIixUJHQ9Il9fZnVuY3Rpb25fbGlicmFyeV9fIjt2YXIgQyR0LEEkdCxrJHQsTCR0OyEoZnVuY3Rpb24odCl7dFt0LkZVTEw9MF09IkZVTEwiLHRbdC5FTUJFRERFRD0xXT0iRU1CRURERUQiLHRbdC5NRVRBPTJdPSJNRVRBIix0W3QuU0VSSUVTPTNdPSJTRVJJRVMiLHRbdC5DT1JFPTRdPSJDT1JFIix0W3QuU0hBRE9XPTVdPSJTSEFET1ciLHRbdC5CUklER0U9Nl09IkJSSURHRSIsdFt0LkVER0U9N109IkVER0UifSkoQyR0fHwoQyR0PXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5NRVRBPTBdPSJNRVRBIix0W3QuT1A9MV09Ik9QIix0W3QuU0VSSUVTPTJdPSJTRVJJRVMiLHRbdC5CUklER0U9M109IkJSSURHRSIsdFt0LkVMTElQU0lTPTRdPSJFTExJUFNJUyJ9KShBJHR8fChBJHQ9e30pKSwoZnVuY3Rpb24odCl7dFt0LklOQ0xVREU9MF09IklOQ0xVREUiLHRbdC5FWENMVURFPTFdPSJFWENMVURFIix0W3QuVU5TUEVDSUZJRUQ9Ml09IlVOU1BFQ0lGSUVEIn0pKGskdHx8KGskdD17fSkpLChmdW5jdGlvbih0KXt0W3QuR1JPVVA9MF09IkdST1VQIix0W3QuVU5HUk9VUD0xXT0iVU5HUk9VUCJ9KShMJHR8fChMJHQ9e30pKTtjb25zdCBQJHQ9Il9vdXRwdXRfc2hhcGVzIixOJHQ9Il9YbGFDbHVzdGVyIjtjbGFzcyBJJHR7Y29uc3RydWN0b3IoKXt0aGlzLm5vZGVzPXt9LHRoaXMuZWRnZXM9W119fWNsYXNzIFIkdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnR5cGU9QSR0LkVMTElQU0lTLHRoaXMuaXNHcm91cE5vZGU9ITEsdGhpcy5jYXJkaW5hbGl0eT0xLHRoaXMucGFyZW50Tm9kZT1udWxsLHRoaXMuc3RhdHM9bnVsbCx0aGlzLnNldE51bU1vcmVOb2Rlcyh0KSx0aGlzLmluY2x1ZGU9ayR0LlVOU1BFQ0lGSUVEfXNldE51bU1vcmVOb2Rlcyh0KXt0aGlzLm51bU1vcmVOb2Rlcz10LHRoaXMubmFtZT0iLi4uICIrdCsiIG1vcmUifX1jbGFzcyBPJHR7Y29uc3RydWN0b3IodCl7dGhpcy5vcD10Lm9wLHRoaXMubmFtZT10Lm5hbWUsdGhpcy5kZXZpY2U9dC5kZXZpY2UsdGhpcy5hdHRyPXQuYXR0cix0aGlzLmlucHV0cz0oZnVuY3Rpb24gZSh0KXtjb25zdCBlPVtdO2xldCBuPW51bGw7Zm9yKGxldCBpIG9mIHR8fFtdKXtjb25zdCB0PWkuc3RhcnRzV2l0aCgiXiIpO3QmJihpPWkuc3Vic3RyaW5nKDEpKTtsZXQgcj1pLG89IjAiO2NvbnN0IGE9aS5pbmNsdWRlcygiOiIpJiZpLm1hdGNoKGokdCk7YSYmKHI9YVsxXSxvPWFbMl0pLG4hPT1yJiYobj1yLGUucHVzaCh7bmFtZTpyLG91dHB1dFRlbnNvcktleTpvLGlzQ29udHJvbERlcGVuZGVuY3k6dH0pKX1yZXR1cm4gZX0pKHQuaW5wdXQpLHRoaXMub3V0cHV0U2hhcGVzPShmdW5jdGlvbiBuKHQpe2lmKCF0KXJldHVybiBudWxsO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtsZXR7a2V5Om4sdmFsdWU6aX09dFtlXTtpZihuPT09UCR0KXtpZighaS5saXN0fHwhaS5saXN0LnNoYXBlKXJldHVybiBudWxsO2xldCBuPWkubGlzdC5zaGFwZS5tYXAoKHQ9PnQudW5rbm93bl9yYW5rP251bGw6bnVsbD09dC5kaW18fDE9PT10LmRpbS5sZW5ndGgmJm51bGw9PXQuZGltWzBdLnNpemU/W106dC5kaW0ubWFwKCh0PT50LnNpemUpKSkpO3JldHVybiB0LnNwbGljZShlLDEpLG59fXJldHVybiBudWxsfSkodC5hdHRyKSx0aGlzLnhsYUNsdXN0ZXI9KGZ1bmN0aW9uIGkodCl7aWYoIXQpcmV0dXJuIG51bGw7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspaWYodFtlXS5rZXk9PT1OJHQpcmV0dXJuIHRbZV0udmFsdWUuc3x8bnVsbDtyZXR1cm4gbnVsbH0pKHQuYXR0ciksdGhpcy5jb21wYXRpYmxlPSExLHRoaXMudHlwZT1BJHQuT1AsdGhpcy5pc0dyb3VwTm9kZT0hMSx0aGlzLmNhcmRpbmFsaXR5PTEsdGhpcy5pbkVtYmVkZGluZ3M9W10sdGhpcy5vdXRFbWJlZGRpbmdzPVtdLHRoaXMucGFyZW50Tm9kZT1udWxsLHRoaXMuaW5jbHVkZT1rJHQuVU5TUEVDSUZJRUQsdGhpcy5vd25pbmdTZXJpZXM9bnVsbH19ZnVuY3Rpb24geiR0KHQsZT17fSl7cmV0dXJuIG5ldyBEJHQodCxlKX1jbGFzcyBEJHR7Y29uc3RydWN0b3IodCxlPXt9KXt0aGlzLm5hbWU9dCx0aGlzLnR5cGU9QSR0Lk1FVEEsdGhpcy5kZXB0aD0xLHRoaXMuaXNHcm91cE5vZGU9ITAsdGhpcy5jYXJkaW5hbGl0eT0wLHRoaXMubWV0YWdyYXBoPVkkdCh0LEMkdC5NRVRBLGUpLHRoaXMuYnJpZGdlZ3JhcGg9bnVsbCx0aGlzLm9wSGlzdG9ncmFtPXt9LHRoaXMuZGV2aWNlSGlzdG9ncmFtPXt9LHRoaXMueGxhQ2x1c3Rlckhpc3RvZ3JhbT17fSx0aGlzLmNvbXBhdGliaWxpdHlIaXN0b2dyYW09e2NvbXBhdGlibGU6MCxpbmNvbXBhdGlibGU6MH0sdGhpcy50ZW1wbGF0ZUlkPW51bGwsdGhpcy5wYXJlbnROb2RlPW51bGwsdGhpcy5oYXNOb25Db250cm9sRWRnZXM9ITEsdGhpcy5pbmNsdWRlPWskdC5VTlNQRUNJRklFRCx0aGlzLmFzc29jaWF0ZWRGdW5jdGlvbj0iIn1nZXRGaXJzdENoaWxkKCl7cmV0dXJuIHRoaXMubWV0YWdyYXBoLm5vZGUodGhpcy5tZXRhZ3JhcGgubm9kZXMoKVswXSl9Z2V0Um9vdE9wKCl7bGV0IHQ9dGhpcy5uYW1lLnNwbGl0KCIvIik7cmV0dXJuIHRoaXMubWV0YWdyYXBoLm5vZGUodGhpcy5uYW1lKyIvKCIrdFt0Lmxlbmd0aC0xXSsiKSIpfWxlYXZlcygpe2xldCB0LGU9W10sbj1bdGhpc107Zm9yKDtuLmxlbmd0aDspe2xldCBpPW4uc2hpZnQoKTtpLmlzR3JvdXBOb2RlPyh0PWkubWV0YWdyYXBoLENlLmV4cG9ydHMuZWFjaCh0Lm5vZGVzKCksKGU9Pm4ucHVzaCh0Lm5vZGUoZSkpKSkpOmUucHVzaChpLm5hbWUpfXJldHVybiBlfX1mdW5jdGlvbiBCJHQodCxlKXtyZXR1cm4gbmV3IEgkdCh0LGUpfWNsYXNzIEgkdHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMudj10LHRoaXMudz1lLHRoaXMuYmFzZUVkZ2VMaXN0PVtdLHRoaXMuaW5ib3VuZD1udWxsLHRoaXMubnVtUmVndWxhckVkZ2VzPTAsdGhpcy5udW1Db250cm9sRWRnZXM9MCx0aGlzLm51bVJlZkVkZ2VzPTAsdGhpcy50b3RhbFNpemU9MH1hZGRCYXNlRWRnZSh0LGUpe3RoaXMuYmFzZUVkZ2VMaXN0LnB1c2godCksdC5pc0NvbnRyb2xEZXBlbmRlbmN5P3RoaXMubnVtQ29udHJvbEVkZ2VzKz0xOnRoaXMubnVtUmVndWxhckVkZ2VzKz0xLHQuaXNSZWZlcmVuY2VFZGdlJiYodGhpcy5udW1SZWZFZGdlcys9MSksdGhpcy50b3RhbFNpemUrPUgkdC5jb21wdXRlU2l6ZU9mRWRnZSh0LGUpLGUubWF4TWV0YUVkZ2VTaXplPU1hdGgubWF4KGUubWF4TWV0YUVkZ2VTaXplLHRoaXMudG90YWxTaXplKX1zdGF0aWMgY29tcHV0ZVNpemVPZkVkZ2UodCxlKXtsZXQgbj1lLm5vZGUodC52KTtpZighbi5vdXRwdXRTaGFwZXMpcmV0dXJuIDE7ZS5oYXNTaGFwZUluZm89ITA7Y29uc3QgaT1PYmplY3Qua2V5cyhuLm91dHB1dFNoYXBlcykubWFwKCh0PT5uLm91dHB1dFNoYXBlc1t0XSkpLm1hcCgodD0+bnVsbD09dD8xOnQucmVkdWNlKCgodCxlKT0+KC0xPT09ZSYmKGU9MSksdCplKSksMSkpKTtyZXR1cm4gQ2UuZXhwb3J0cy5zdW0oaSl9fWZ1bmN0aW9uIEYkdCh0LGUsbixpLHIsbyl7cmV0dXJuIG5ldyBVJHQodCxlLG4saSxyLG8pfWZ1bmN0aW9uIFYkdCh0LGUsbixpLHIpe3JldHVybihuP24rIi8iOiIiKSsodCsodm9pZCAwIT09aSYmdm9pZCAwIT09cj8iWyIraSsiLSIrcisiXSI6IiMiKStlKX1jbGFzcyBVJHR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8pe3RoaXMubmFtZT1yfHxWJHQodCxlLG4pLHRoaXMudHlwZT1BJHQuU0VSSUVTLHRoaXMuaGFzTG9vcD0hMSx0aGlzLnByZWZpeD10LHRoaXMuc3VmZml4PWUsdGhpcy5jbHVzdGVySWQ9aSx0aGlzLmlkcz1bXSx0aGlzLnBhcmVudD1uLHRoaXMuaXNHcm91cE5vZGU9ITAsdGhpcy5jYXJkaW5hbGl0eT0wLHRoaXMubWV0YWdyYXBoPVkkdChyLEMkdC5TRVJJRVMsbyksdGhpcy5icmlkZ2VncmFwaD1udWxsLHRoaXMucGFyZW50Tm9kZT1udWxsLHRoaXMuZGV2aWNlSGlzdG9ncmFtPXt9LHRoaXMueGxhQ2x1c3Rlckhpc3RvZ3JhbT17fSx0aGlzLmNvbXBhdGliaWxpdHlIaXN0b2dyYW09e2NvbXBhdGlibGU6MCxpbmNvbXBhdGlibGU6MH0sdGhpcy5oYXNOb25Db250cm9sRWRnZXM9ITEsdGhpcy5pbmNsdWRlPWskdC5VTlNQRUNJRklFRH19Y29uc3QgaiR0PS9eKFteOl0rKTooKFx3Kzp8KVxkKykkLztmdW5jdGlvbiBHJHQodCxlLG4saSxyLG8pe2lmKGU9PT1uLm5hbWUpcmV0dXJuO3QuZWRnZXMucHVzaCh7djplLHc6bi5uYW1lLG91dHB1dFRlbnNvcktleTppLm91dHB1dFRlbnNvcktleSxpc0NvbnRyb2xEZXBlbmRlbmN5OmkuaXNDb250cm9sRGVwZW5kZW5jeSxpc1JlZmVyZW5jZUVkZ2U6ITA9PT1yLnJlZkVkZ2VzW24ub3ArIiAiK29dfSl9Y29uc3QgVyR0PXtlbmFibGVFbWJlZGRpbmc6ITAsaW5FbWJlZGRpbmdUeXBlczpbIkNvbnN0Il0sb3V0RW1iZWRkaW5nVHlwZXM6WyJeW2EtekEtWl0rU3VtbWFyeSQiXSxyZWZFZGdlczp7IkFzc2lnbiAwIjohMCwiQXNzaWduQWRkIDAiOiEwLCJBc3NpZ25TdWIgMCI6ITAsImFzc2lnbiAwIjohMCwiYXNzaWduX2FkZCAwIjohMCwiYXNzaWduX3N1YiAwIjohMCwiY291bnRfdXBfdG8gMCI6ITAsIlNjYXR0ZXJBZGQgMCI6ITAsIlNjYXR0ZXJTdWIgMCI6ITAsIlNjYXR0ZXJVcGRhdGUgMCI6ITAsInNjYXR0ZXJfYWRkIDAiOiEwLCJzY2F0dGVyX3N1YiAwIjohMCwic2NhdHRlcl91cGRhdGUgMCI6ITB9fTtmdW5jdGlvbiBxJHQodCxlLG4pe2xldCBpPXt9LHI9e30sbz17fSxhPVgkdChlLmluRW1iZWRkaW5nVHlwZXMpLHM9WCR0KGUub3V0RW1iZWRkaW5nVHlwZXMpLGw9W10sYz10Lm5vZGUsdT1uZXcgQXJyYXkoYy5sZW5ndGgpO3JldHVybiBtJHQoIk5vcm1hbGl6aW5nIG5hbWVzIiwzMCwoKCk9PntsZXQgZT1uZXcgQXJyYXkoYy5sZW5ndGgpLG49MDtjb25zdCBoPXQ9PntsZXQgYz1uZXcgTyR0KHQpO3JldHVybiBhKGMpPyhsLnB1c2goYy5uYW1lKSxpW2MubmFtZV09YyxjKTpzKGMpPyhsLnB1c2goYy5uYW1lKSxyW2MubmFtZV09YyxDZS5leHBvcnRzLmVhY2goYy5pbnB1dHMsKHQ9PntsZXQgZT10Lm5hbWU7b1tlXT1vW2VdfHxbXSxvW2VdLnB1c2goYyl9KSksYyk6KGVbbl09Yyx1W25dPWMubmFtZSxuKyssYyl9O0NlLmV4cG9ydHMuZWFjaChjLGgpO2NvbnN0IGQ9dD0+e2NvbnN0IGU9VCR0K3Quc2lnbmF0dXJlLm5hbWU7aWYoaCh7bmFtZTplLGlucHV0OltdLGRldmljZToiIixvcDoiIixhdHRyOltdfSksdC5zaWduYXR1cmUuaW5wdXRfYXJnKXtsZXQgbj0wO2NvbnN0IGk9dD0+e2goe25hbWU6ZStNJHQrdC5uYW1lLGlucHV0OltdLGRldmljZToiIixvcDoiaW5wdXRfYXJnIixhdHRyOlt7a2V5OiJUIix2YWx1ZTp7dHlwZTp0LnR5cGV9fV19KS5mdW5jdGlvbklucHV0SW5kZXg9bixuKyt9O3Quc2lnbmF0dXJlLmlucHV0X2FyZy5uYW1lP2kodC5zaWduYXR1cmUuaW5wdXRfYXJnKTpDZS5leHBvcnRzLmVhY2godC5zaWduYXR1cmUuaW5wdXRfYXJnLGkpfWxldCBuPTA7Y29uc3QgaT17fTtpZih0LnNpZ25hdHVyZS5vdXRwdXRfYXJnKXtjb25zdCByPXQ9PntpW2UrTSR0K3QubmFtZV09bixuKyt9O3Quc2lnbmF0dXJlLm91dHB1dF9hcmcubmFtZT9yKHQuc2lnbmF0dXJlLm91dHB1dF9hcmcpOkNlLmV4cG9ydHMuZWFjaCh0LnNpZ25hdHVyZS5vdXRwdXRfYXJnLHIpfUNlLmV4cG9ydHMuZWFjaCh0Lm5vZGVfZGVmLCh0PT57dC5uYW1lPWUrIi8iK3QubmFtZSwic3RyaW5nIj09dHlwZW9mIHQuaW5wdXQmJih0LmlucHV0PVt0LmlucHV0XSk7Y29uc3Qgbj1oKHQpO0NlLmV4cG9ydHMuaXNOdW1iZXIoaVt0Lm5hbWVdKSYmKG4uZnVuY3Rpb25PdXRwdXRJbmRleD1pW3QubmFtZV0pLENlLmV4cG9ydHMuZWFjaChuLmlucHV0cywodD0+e3QubmFtZT1lK00kdCt0Lm5hbWV9KSl9KSl9O3JldHVybiB0LmxpYnJhcnkmJnQubGlicmFyeS5mdW5jdGlvbiYmQ2UuZXhwb3J0cy5lYWNoKHQubGlicmFyeS5mdW5jdGlvbixkKSxlLnNwbGljZShuKSx1LnNwbGljZShuKSxlfSksbixCQXQuTk9STUFMSVpJTkdfTkFNRVMpLnRoZW4oKHQ9Pm0kdCgiQnVpbGRpbmcgdGhlIGRhdGEgc3RydWN0dXJlIiw3MCwoKCk9PntsZXQgbj0oZnVuY3Rpb24gYSh0LGUpe2xldCBuPXt9LGk9e307dC5zb3J0KCk7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aC0xOysrZSl7bGV0IHI9dFtlXTtDZS5leHBvcnRzLmVhY2goWiR0KHIpLnNsaWNlKDAsLTEpLCh0PT57aVt0XT0hMH0pKTtmb3IobGV0IGk9ZSsxO2k8dC5sZW5ndGg7KytpKXtsZXQgZT10W2ldO2lmKCFDZS5leHBvcnRzLnN0YXJ0c1dpdGgoZSxyKSlicmVhaztpZihlLmxlbmd0aD5yLmxlbmd0aCYmZS5jaGFyQXQoci5sZW5ndGgpPT09TSR0KXtuW3JdPSQkdChyKTticmVha319fXJldHVybiBDZS5leHBvcnRzLmVhY2goZSwodD0+e3QgaW4gaSYmKG5bdF09JCR0KHQpKX0pKSxufSkodSxsKSxzPW5ldyBJJHQ7cmV0dXJuIENlLmV4cG9ydHMuZWFjaCh0LCh0PT57bGV0IGU9blt0Lm5hbWVdfHx0Lm5hbWU7cy5ub2Rlc1tlXT10LHQubmFtZSBpbiBvJiYodC5vdXRFbWJlZGRpbmdzPW9bdC5uYW1lXSxDZS5leHBvcnRzLmVhY2godC5vdXRFbWJlZGRpbmdzLCh0PT57dC5uYW1lPW5bdC5uYW1lXXx8dC5uYW1lfSkpKSx0Lm5hbWU9ZX0pKSxDZS5leHBvcnRzLmVhY2godCwodD0+e0NlLmV4cG9ydHMuZWFjaCh0LmlucHV0cywoKG8sYSk9PntsZXQgbD1vLm5hbWU7aWYobCBpbiBpKXtsZXQgcj1pW2xdO3QuaW5FbWJlZGRpbmdzLnB1c2gocik7Zm9yKGxldCBpIG9mIHIuaW5wdXRzKUckdChzLG5baS5uYW1lXXx8aS5uYW1lLHQsaSxlLGEpfWVsc2UgaWYobCBpbiByKXtsZXQgaT1yW2xdO2ZvcihsZXQgciBvZiBpLmlucHV0cylHJHQocyxuW3IubmFtZV18fHIubmFtZSx0LG8sZSxhKX1lbHNlIEckdChzLG5bbF18fGwsdCxvLGUsYSl9KSl9KSksQ2UuZXhwb3J0cy5lYWNoKGksKCh0LGUpPT57dC5uYW1lPW5bdC5uYW1lXXx8dC5uYW1lfSkpLHN9KSxuLEJBdC5CVUlMRF9TTElNX0dSQVBIKSkpfWZ1bmN0aW9uIFkkdCh0LGUsbj17fSl7Y29uc3QgaT1uZXcgdCR0LmdyYXBobGliLkdyYXBoKG4pO3JldHVybiBpLnNldEdyYXBoKHtuYW1lOnQscmFua2RpcjpuLnJhbmtkaXJ8fCJCVCIsdHlwZTplfSksaX1mdW5jdGlvbiBYJHQodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtsZXQgaT1uZXcgUmVnRXhwKHRbbl0pO2lmKCJzdHJpbmciPT10eXBlb2YgZS5vcCYmZS5vcC5tYXRjaChpKSlyZXR1cm4hMH1yZXR1cm4hMX19ZnVuY3Rpb24gJCR0KHQpe2xldCBlPXQuc3BsaXQoTSR0KTtyZXR1cm4gdCtNJHQrIigiK2VbZS5sZW5ndGgtMV0rIikifWZ1bmN0aW9uIEskdCh0KXtsZXQgZT10Lm5vZGVzKCkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC5uZWlnaGJvcnMoZSkubGVuZ3RofSkpO3JldHVybiBlLnNvcnQoKSxlfWZ1bmN0aW9uIFokdCh0LGUpe2xldCBuPVtdLGk9dC5pbmRleE9mKE0kdCk7Zm9yKDtpPj0wOyluLnB1c2godC5zdWJzdHJpbmcoMCxpKSksaT10LmluZGV4T2YoTSR0LGkrMSk7aWYoZSl7bGV0IGk9ZVt0XTtpJiZuLnB1c2goaSl9cmV0dXJuIG4ucHVzaCh0KSxufWZ1bmN0aW9uIEokdCh0KXtyZXR1cm4gdD09PWskdC5FWENMVURFPyJBZGQgdG8gbWFpbiBncmFwaCI6IlJlbW92ZSBmcm9tIG1haW4gZ3JhcGgifWZ1bmN0aW9uIFEkdCh0LGUpe2xldCBuPShmdW5jdGlvbiByKHQsZSl7cmV0dXJuIENlLmV4cG9ydHMucmVkdWNlKHQsKGZ1bmN0aW9uKHQsbil7bGV0IGk9blswXSxyPVtdO3JldHVybiBuWzFdLm5vZGVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2ZvcihsZXQgbj0wO248ci5sZW5ndGg7bisrKXtpZighZXx8ZUt0KHJbbl0ubWV0YW5vZGUubWV0YWdyYXBoLHQubWV0YWdyYXBoKSlyZXR1cm4gdC50ZW1wbGF0ZUlkPXJbbl0ubWV0YW5vZGUudGVtcGxhdGVJZCx2b2lkIHJbbl0ubWVtYmVycy5wdXNoKHQubmFtZSl9dC50ZW1wbGF0ZUlkPWkrIlsiK3IubGVuZ3RoKyJdIixyLnB1c2goe21ldGFub2RlOnQsbWVtYmVyczpbdC5uYW1lXX0pfSkpLHIuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dFtlLm1ldGFub2RlLnRlbXBsYXRlSWRdPXtsZXZlbDpuWzFdLmxldmVsLG5vZGVzOmUubWVtYmVyc319KSksdH0pLHt9KX0pKChmdW5jdGlvbiBpKHQpe2NvbnN0IGU9dC5nZXROb2RlTWFwKCk7bGV0IG49T2JqZWN0LmtleXMoZSkucmVkdWNlKCgodCxuKT0+e2NvbnN0IGk9ZVtuXTtpZihpLnR5cGUhPT1BJHQuTUVUQSlyZXR1cm4gdDtsZXQgcj1uLnNwbGl0KCIvIikubGVuZ3RoLTEsbz0oZnVuY3Rpb24gYSh0KXtsZXQgZT1DZS5leHBvcnRzLm1hcCh7ZGVwdGg6dC5kZXB0aCwifFZ8Ijp0Lm1ldGFncmFwaC5ub2RlcygpLmxlbmd0aCwifEV8Ijp0Lm1ldGFncmFwaC5lZGdlcygpLmxlbmd0aH0sKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUrIj0iK3R9KSkuam9pbigiICIpLG49Q2UuZXhwb3J0cy5tYXAodC5vcEhpc3RvZ3JhbSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZSsiPSIrdH0pKS5qb2luKCIsIik7cmV0dXJuIGUrIiBbb3BzXSAiK259KShpKSxzPXRbb118fHtub2RlczpbXSxsZXZlbDpyfTtyZXR1cm4gdFtvXT1zLHMubm9kZXMucHVzaChpKSxzLmxldmVsPnImJihzLmxldmVsPXIpLHR9KSx7fSk7cmV0dXJuIE9iamVjdC5rZXlzKG4pLm1hcCgodD0+W3Qsblt0XV0pKS5maWx0ZXIoKChbdCxlXSk9Pntjb25zdHtub2RlczpufT1lO2lmKG4ubGVuZ3RoPjEpcmV0dXJuITA7Y29uc3QgaT1uWzBdO3JldHVybiBpLnR5cGU9PT1BJHQuTUVUQSYmaS5hc3NvY2lhdGVkRnVuY3Rpb259KSkuc29ydCgoKFt0LGVdKT0+ZS5ub2Rlc1swXS5kZXB0aCkpfSkodCksZSk7cmV0dXJuIE9iamVjdC5rZXlzKG4pLnNvcnQoKHQ9Pm5bdF0ubGV2ZWwpKS5yZWR1Y2UoKCh0LGUpPT4odFtlXT1uW2VdLHQpKSx7fSl9ZnVuY3Rpb24gdEt0KHQsZSxuKXtyZXR1cm4gQ2UuZXhwb3J0cy5zb3J0QnkodCxbdD0+ZS5ub2RlKHQpLm9wLHQ9PmUubm9kZSh0KS50ZW1wbGF0ZUlkLHQ9PmUubmVpZ2hib3JzKHQpLmxlbmd0aCx0PT5lLnByZWRlY2Vzc29ycyh0KS5sZW5ndGgsdD0+ZS5zdWNjZXNzb3JzKHQpLmxlbmd0aCx0PT50LnN1YnN0cihuLmxlbmd0aCldKX1mdW5jdGlvbiBlS3QodCxlKXtpZighKGZ1bmN0aW9uIG4odCxlKXtsZXQgbj1LJHQodCksaT1LJHQoZSk7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0KyspaWYoblt0XSE9PWlbdF0pcmV0dXJuITE7cmV0dXJuITB9KSh0LGUpKXJldHVybiExO2xldCBpPXQuZ3JhcGgoKS5uYW1lLHI9ZS5ncmFwaCgpLm5hbWUsbz17fSxhPXt9LHM9W107ZnVuY3Rpb24gbCh0LGUpe2xldCBuPXQuc3Vic3RyKGkubGVuZ3RoKSxsPWUuc3Vic3RyKHIubGVuZ3RoKTtyZXR1cm4gb1tuXV5hW2xdPyhjb25zb2xlLndhcm4oImRpZmZlcmVudCB2aXNpdCBwYXR0ZXJuIiwiWyIraSsiXSIsbiwiWyIrcisiXSIsbCksITApOihvW25dfHwob1tuXT1hW2xdPSEwLHMucHVzaCh7bjE6dCxuMjplfSkpLCExKX1sZXQgYz10LnNvdXJjZXMoKSx1PWUuc291cmNlcygpO2lmKGMubGVuZ3RoIT09dS5sZW5ndGgpcmV0dXJuIGNvbnNvbGUubG9nKCJkaWZmZXJlbnQgc291cmNlIGxlbmd0aCIpLCExO2M9dEt0KGMsdCxpKSx1PXRLdCh1LGUscik7Zm9yKGxldCB0PTA7dDxjLmxlbmd0aDt0Kyspe2lmKGwoY1t0XSx1W3RdKSlyZXR1cm4hMX1mb3IoO3MubGVuZ3RoPjA7KXtsZXQgbj1zLnBvcCgpO2lmKCFuS3QodC5ub2RlKG4ubjEpLGUubm9kZShuLm4yKSkpcmV0dXJuITE7bGV0IG89dC5zdWNjZXNzb3JzKG4ubjEpLGE9ZS5zdWNjZXNzb3JzKG4ubjIpO2lmKG8ubGVuZ3RoIT09YS5sZW5ndGgpcmV0dXJuIGNvbnNvbGUubG9nKCIjIG9mIHN1Y2Nlc3NvcnMgbWlzbWF0Y2giLG8sYSksITE7bz10S3Qobyx0LGkpLGE9dEt0KGEsZSxyKTtmb3IobGV0IHQ9MDt0PG8ubGVuZ3RoO3QrKyl7aWYobChvW3RdLGFbdF0pKXJldHVybiExfX1yZXR1cm4hMH1mdW5jdGlvbiBuS3QodCxlKXtpZih0LnR5cGU9PT1BJHQuTUVUQSl7bGV0IG49dCxpPWU7cmV0dXJuIG4udGVtcGxhdGVJZCYmaS50ZW1wbGF0ZUlkJiZuLnRlbXBsYXRlSWQ9PT1pLnRlbXBsYXRlSWR9aWYodC50eXBlPT09QSR0Lk9QJiZlLnR5cGU9PT1BJHQuT1ApcmV0dXJuIHQub3A9PT1lLm9wO2lmKHQudHlwZT09PUEkdC5TRVJJRVMmJmUudHlwZT09PUEkdC5TRVJJRVMpe2xldCBuPXQsaT1lLHI9bi5tZXRhZ3JhcGgubm9kZUNvdW50KCk7cmV0dXJuIHI9PT1pLm1ldGFncmFwaC5ub2RlQ291bnQoKSYmKDA9PT1yfHxuLm1ldGFncmFwaC5ub2RlKG4ubWV0YWdyYXBoLm5vZGVzKClbMF0pLm9wPT09aS5tZXRhZ3JhcGgubm9kZShpLm1ldGFncmFwaC5ub2RlcygpWzBdKS5vcCl9cmV0dXJuITF9dmFyIGlLdDshKGZ1bmN0aW9uKHQpe3RbdC5URU1QTEFURVNfVVBEQVRFRD0wXT0iVEVNUExBVEVTX1VQREFURUQifSkoaUt0fHwoaUt0PXt9KSk7Y2xhc3Mgckt0IGV4dGVuZHMgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50VHlwZVRvTGlzdGVuZXJzPW5ldyBNYXB9Z2V0TGlzdGVuZXJzKHQpe3JldHVybiB0aGlzLmV2ZW50VHlwZVRvTGlzdGVuZXJzLmhhcyh0KXx8dGhpcy5ldmVudFR5cGVUb0xpc3RlbmVycy5zZXQodCxbXSksdGhpcy5ldmVudFR5cGVUb0xpc3RlbmVycy5nZXQodCl9YWRkTGlzdGVuZXIodCxlKXt0aGlzLmdldExpc3RlbmVycyh0KS5wdXNoKGUpfXJlbW92ZUxpc3RlbmVyKHQsZSl7Y29uc3Qgbj10aGlzLmdldExpc3RlbmVycyh0KS5maWx0ZXIoKHQ9PnQhPT1lKSk7dGhpcy5ldmVudFR5cGVUb0xpc3RlbmVycy5zZXQodCxuKX1kaXNwYXRjaEV2ZW50KHQsZSl7Zm9yKGNvbnN0IG4gb2YgdGhpcy5nZXRMaXN0ZW5lcnModCkpbihlKX19e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5oYXNTaGFwZUluZm89ITEsdGhpcy5tYXhNZXRhRWRnZVNpemU9MSx0aGlzLmdyYXBoT3B0aW9ucz17fSx0aGlzLnRlbXBsYXRlcz1udWxsLHRoaXMuZ3JhcGhPcHRpb25zLmNvbXBvdW5kPSEwLHRoaXMuZ3JhcGhPcHRpb25zLnJhbmtkaXI9dC5yYW5rRGlyZWN0aW9uLHRoaXMucm9vdD16JHQoRSR0LHRoaXMuZ3JhcGhPcHRpb25zKSx0aGlzLmxpYnJhcnlGdW5jdGlvbnM9e30sdGhpcy5zZXJpZXNHcm91cE1hcD1uZXcgTWFwKHQuc2VyaWVzTWFwKSx0aGlzLmRldmljZXM9bnVsbCx0aGlzLnhsYUNsdXN0ZXJzPW51bGwsdGhpcy52ZXJpZnlUZW1wbGF0ZT10LnZlcmlmeVRlbXBsYXRlLHRoaXMuaW5kZXg9e30sdGhpcy5pbmRleC5fX3Jvb3RfXz10aGlzLnJvb3QsdGhpcy5vcmRlcmluZ3M9e319Z2V0U2VyaWVzR3JvdXBUeXBlKHQpe3ZhciBlO3JldHVybiBudWxsIT09KGU9dGhpcy5zZXJpZXNHcm91cE1hcC5nZXQodCkpJiZ2b2lkIDAhPT1lP2U6TCR0LkdST1VQfXNldFNlcmllc0dyb3VwVHlwZSh0LGUpe3JldHVybiB0aGlzLnNlcmllc0dyb3VwTWFwLnNldCh0LGUpfWJ1aWxkU2VyaWVzR3JvdXBNYXBUb2dnbGVkKHQpe2NvbnN0IGU9dGhpcy5nZXRTZXJpZXNHcm91cFR5cGUodCk9PT1MJHQuR1JPVVA/TCR0LlVOR1JPVVA6TCR0LkdST1VQO3JldHVybiBuZXcgTWFwKFsuLi50aGlzLnNlcmllc0dyb3VwTWFwLFt0LGVdXSl9Z2V0Tm9kZU1hcCgpe3JldHVybiB0aGlzLmluZGV4fW5vZGUodCl7cmV0dXJuIHRoaXMuaW5kZXhbdF19c2V0Tm9kZSh0LGUpe3RoaXMuaW5kZXhbdF09ZX1nZXRCcmlkZ2VncmFwaCh0KXtsZXQgZT10aGlzLmluZGV4W3RdO2lmKCFlKXRocm93IEVycm9yKCJDb3VsZCBub3QgZmluZCBub2RlIGluIGhpZXJhcmNoeTogIit0KTtpZighKCJtZXRhZ3JhcGgiaW4gZSkpcmV0dXJuIG51bGw7aWYoZS5icmlkZ2VncmFwaClyZXR1cm4gZS5icmlkZ2VncmFwaDtsZXQgbj1lLmJyaWRnZWdyYXBoPVkkdCgiQlJJREdFR1JBUEgiLEMkdC5CUklER0UsdGhpcy5ncmFwaE9wdGlvbnMpO2lmKCFlLnBhcmVudE5vZGV8fCEoIm1ldGFncmFwaCJpbiBlLnBhcmVudE5vZGUpKXJldHVybiBuO2xldCBpPWUucGFyZW50Tm9kZSxyPWkubWV0YWdyYXBoLG89dGhpcy5nZXRCcmlkZ2VncmFwaChpLm5hbWUpO3JldHVybiBDZS5leHBvcnRzLmVhY2goW3Isb10sKGU9PntlLmVkZ2VzKCkuZmlsdGVyKChlPT5lLnY9PT10fHxlLnc9PT10KSkuZm9yRWFjaCgoaT0+e2xldCByPWkudz09PXQsbz1lLmVkZ2UoaSk7Q2UuZXhwb3J0cy5lYWNoKG8uYmFzZUVkZ2VMaXN0LChlPT57bGV0W28sYV09cj9bZS53LGkudl06W2UudixpLnddLHM9dGhpcy5nZXRDaGlsZE5hbWUodCxvKSxsPXt2OnI/YTpzLHc6cj9zOmF9LGM9bi5lZGdlKGwpO2N8fChjPUIkdChsLnYsbC53KSxjLmluYm91bmQ9cixuLnNldEVkZ2UobC52LGwudyxjKSksYy5hZGRCYXNlRWRnZShlLHRoaXMpfSkpfSkpfSkpLG59Z2V0Q2hpbGROYW1lKHQsZSl7bGV0IG49dGhpcy5pbmRleFtlXTtmb3IoO247KXtpZihuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5uYW1lPT09dClyZXR1cm4gbi5uYW1lO249bi5wYXJlbnROb2RlfXRocm93IEVycm9yKCJDb3VsZCBub3QgZmluZCBpbW1lZGlhdGUgY2hpbGQgZm9yIGRlc2NlbmRhbnQ6ICIrZSl9Z2V0UHJlZGVjZXNzb3JzKHQpe2xldCBlPXRoaXMuaW5kZXhbdF07aWYoIWUpdGhyb3cgRXJyb3IoIkNvdWxkIG5vdCBmaW5kIG5vZGUgd2l0aCBuYW1lOiAiK3QpO2xldCBuPXRoaXMuZ2V0T25lV2F5RWRnZXMoZSwhMCk7cmV0dXJuIGUuaXNHcm91cE5vZGV8fENlLmV4cG9ydHMuZWFjaChlLmluRW1iZWRkaW5ncywoaT0+e0NlLmV4cG9ydHMuZWFjaChlLmlucHV0cywoZT0+e2lmKGUubmFtZT09PWkubmFtZSl7bGV0IHI9bmV3IEgkdChpLm5hbWUsdCk7ci5hZGRCYXNlRWRnZSh7aXNDb250cm9sRGVwZW5kZW5jeTplLmlzQ29udHJvbERlcGVuZGVuY3ksb3V0cHV0VGVuc29yS2V5OmUub3V0cHV0VGVuc29yS2V5LGlzUmVmZXJlbmNlRWRnZTohMSx2OmkubmFtZSx3OnR9LHRoaXMpLG4ucmVndWxhci5wdXNoKHIpfX0pKX0pKSxufWdldFN1Y2Nlc3NvcnModCl7bGV0IGU9dGhpcy5pbmRleFt0XTtpZighZSl0aHJvdyBFcnJvcigiQ291bGQgbm90IGZpbmQgbm9kZSB3aXRoIG5hbWU6ICIrdCk7bGV0IG49dGhpcy5nZXRPbmVXYXlFZGdlcyhlLCExKTtyZXR1cm4gZS5pc0dyb3VwTm9kZXx8Q2UuZXhwb3J0cy5lYWNoKGUub3V0RW1iZWRkaW5ncywoZT0+e0NlLmV4cG9ydHMuZWFjaChlLmlucHV0cywoaT0+e2lmKGkubmFtZT09PXQpe2xldCByPW5ldyBIJHQodCxlLm5hbWUpO3IuYWRkQmFzZUVkZ2Uoe2lzQ29udHJvbERlcGVuZGVuY3k6aS5pc0NvbnRyb2xEZXBlbmRlbmN5LG91dHB1dFRlbnNvcktleTppLm91dHB1dFRlbnNvcktleSxpc1JlZmVyZW5jZUVkZ2U6ITEsdjp0LHc6ZS5uYW1lfSx0aGlzKSxuLnJlZ3VsYXIucHVzaChyKX19KSl9KSksbn1nZXRPbmVXYXlFZGdlcyh0LGUpe2xldCBuPXtjb250cm9sOltdLHJlZ3VsYXI6W119O2lmKCF0LnBhcmVudE5vZGV8fCF0LnBhcmVudE5vZGUuaXNHcm91cE5vZGUpcmV0dXJuIG47bGV0IGk9dC5wYXJlbnROb2RlLHI9aS5tZXRhZ3JhcGgsbz10aGlzLmdldEJyaWRnZWdyYXBoKGkubmFtZSk7cmV0dXJuIG9LdChyLHQsZSxuKSxvS3Qobyx0LGUsbiksbn1nZXRUb3BvbG9naWNhbE9yZGVyaW5nKHQpe2xldCBlPXRoaXMuaW5kZXhbdF07aWYoIWUpdGhyb3cgRXJyb3IoIkNvdWxkIG5vdCBmaW5kIG5vZGUgd2l0aCBuYW1lOiAiK3QpO2lmKCFlLmlzR3JvdXBOb2RlKXJldHVybiBudWxsO2lmKHQgaW4gdGhpcy5vcmRlcmluZ3MpcmV0dXJuIHRoaXMub3JkZXJpbmdzW3RdO2xldCBuPXt9LGk9e30scj1lLm1ldGFncmFwaDtDZS5leHBvcnRzLmVhY2goci5lZGdlcygpLCh0PT57ci5lZGdlKHQpLm51bVJlZ3VsYXJFZGdlcyYmKHQudiBpbiBufHwoblt0LnZdPVtdKSxuW3Qudl0ucHVzaCh0LncpLGlbdC53XT0hMCl9KSk7bGV0IG89Q2UuZXhwb3J0cy5kaWZmZXJlbmNlKENlLmV4cG9ydHMua2V5cyhuKSxDZS5leHBvcnRzLmtleXMoaSkpLGE9dGhpcy5vcmRlcmluZ3NbdF09e30scz0wO2Zvcig7by5sZW5ndGg7KXtsZXQgdD1vLnNoaWZ0KCk7YVt0XT1zKyssQ2UuZXhwb3J0cy5lYWNoKG5bdF0sKHQ9Pm8ucHVzaCh0KSkpLGRlbGV0ZSBuW3RdfXJldHVybiBhfWdldFRlbXBsYXRlSW5kZXgoKXtpZighdGhpcy50ZW1wbGF0ZXMpcmV0dXJuIG51bGw7bGV0IHQ9WmcodGhpcy50ZW1wbGF0ZXMpO2lmKCF0Lmxlbmd0aClyZXR1cm4gbnVsbDtsZXQgZT1ZTSgpLmRvbWFpbih0KS5yYW5nZShLbCgwLHQubGVuZ3RoKSk7cmV0dXJuIHQ9PmUodCl9dXBkYXRlVGVtcGxhdGVzKCl7ZCR0KCJGaW5kaW5nIHNpbWlsYXIgc3ViZ3JhcGhzIiwoKCk9Pnt0aGlzLnRlbXBsYXRlcz1RJHQodGhpcyx0aGlzLnZlcmlmeVRlbXBsYXRlKSx0aGlzLmRpc3BhdGNoRXZlbnQoaUt0LlRFTVBMQVRFU19VUERBVEVEKX0pLEJBdC5ISUVSQVJDSFlfRklORF9TSU1JTEFSX1NVQkdSQVBIUyl9fWZ1bmN0aW9uIG9LdCh0LGUsbixpKXtsZXQgcj1uP3QuaW5FZGdlcyhlLm5hbWUpOnQub3V0RWRnZXMoZS5uYW1lKTtDZS5leHBvcnRzLmVhY2gociwoZT0+e2xldCBuPXQuZWRnZShlKTsobi5udW1SZWd1bGFyRWRnZXM/aS5yZWd1bGFyOmkuY29udHJvbCkucHVzaChuKX0pKX1jb25zdCBhS3Q9e3ZlcmlmeVRlbXBsYXRlOiEwLHNlcmllc05vZGVNaW5TaXplOjUsc2VyaWVzTWFwOm5ldyBNYXAscmFua0RpcmVjdGlvbjoiQlQiLHVzZUdlbmVyYWxpemVkU2VyaWVzUGF0dGVybnM6ITF9O2Z1bmN0aW9uIHNLdCh0LGUsbil7Y29uc3QgaT1uZXcgckt0KGUpLHI9e307cmV0dXJuIG0kdCgiQWRkaW5nIG5vZGVzIiwzMCwoKCk9PntsZXQgZT17fSxuPXt9O0NlLmV4cG9ydHMuZWFjaCh0Lm5vZGVzLCgodCxpKT0+e3QuZGV2aWNlJiYoZVt0LmRldmljZV09ITApLHQueGxhQ2x1c3RlciYmKG5bdC54bGFDbHVzdGVyXT0hMCl9KSksaS5kZXZpY2VzPUNlLmV4cG9ydHMua2V5cyhlKSxpLnhsYUNsdXN0ZXJzPUNlLmV4cG9ydHMua2V5cyhuKSwoZnVuY3Rpb24gcih0LGUpe2NvbnN0IG49e307Q2UuZXhwb3J0cy5lYWNoKGUubm9kZXMsKChlLGkpPT57bGV0IHI9WiR0KGUubmFtZSksbz10LnJvb3Q7by5kZXB0aD1NYXRoLm1heChyLmxlbmd0aCxvLmRlcHRoKSxuW2Uub3BdfHwobltlLm9wXT1bXSksbltlLm9wXS5wdXNoKGUpO2ZvcihsZXQgaT0wO2k8ci5sZW5ndGgmJihvLmRlcHRoPU1hdGgubWF4KG8uZGVwdGgsci5sZW5ndGgtaSksby5jYXJkaW5hbGl0eSs9ZS5jYXJkaW5hbGl0eSxvLm9wSGlzdG9ncmFtW2Uub3BdPShvLm9wSGlzdG9ncmFtW2Uub3BdfHwwKSsxLG51bGwhPWUuZGV2aWNlJiYoby5kZXZpY2VIaXN0b2dyYW1bZS5kZXZpY2VdPShvLmRldmljZUhpc3RvZ3JhbVtlLmRldmljZV18fDApKzEpLG51bGwhPWUueGxhQ2x1c3RlciYmKG8ueGxhQ2x1c3Rlckhpc3RvZ3JhbVtlLnhsYUNsdXN0ZXJdPShvLnhsYUNsdXN0ZXJIaXN0b2dyYW1bZS54bGFDbHVzdGVyXXx8MCkrMSksZS5jb21wYXRpYmxlP28uY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlPShvLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZXx8MCkrMTpvLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlPShvLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlfHwwKSsxLENlLmV4cG9ydHMuZWFjaChlLmluRW1iZWRkaW5ncywodD0+e3QuY29tcGF0aWJsZT9vLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZT0oby5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGV8fDApKzE6by5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZT0oby5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZXx8MCkrMX0pKSxDZS5leHBvcnRzLmVhY2goZS5vdXRFbWJlZGRpbmdzLCh0PT57dC5jb21wYXRpYmxlP28uY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlPShvLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZXx8MCkrMTpvLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlPShvLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlfHwwKSsxfSkpLGkhPT1yLmxlbmd0aC0xKTtpKyspe2xldCBlPXJbaV0sYT10Lm5vZGUoZSk7aWYoIWEmJihhPXokdChlLHQuZ3JhcGhPcHRpb25zKSxhLnBhcmVudE5vZGU9byx0LnNldE5vZGUoZSxhKSxvLm1ldGFncmFwaC5zZXROb2RlKGUsYSksMD09PWUuaW5kZXhPZihUJHQpJiZvLm5hbWU9PT1FJHQpKXtjb25zdCBpPWUuc3Vic3RyaW5nKFQkdC5sZW5ndGgpO25baV18fChuW2ldPVtdKSx0LmxpYnJhcnlGdW5jdGlvbnNbaV09e25vZGU6YSx1c2FnZXM6bltpXX0sYS5hc3NvY2lhdGVkRnVuY3Rpb249aX1vPWF9dC5zZXROb2RlKGUubmFtZSxlKSxlLnBhcmVudE5vZGU9byxvLm1ldGFncmFwaC5zZXROb2RlKGUubmFtZSxlKSxDZS5leHBvcnRzLmVhY2goZS5pbkVtYmVkZGluZ3MsKGZ1bmN0aW9uKG4pe3Quc2V0Tm9kZShuLm5hbWUsbiksbi5wYXJlbnROb2RlPWV9KSksQ2UuZXhwb3J0cy5lYWNoKGUub3V0RW1iZWRkaW5ncywoZnVuY3Rpb24obil7dC5zZXROb2RlKG4ubmFtZSxuKSxuLnBhcmVudE5vZGU9ZX0pKX0pKX0pKGksdCl9KSxuLEJBdC5ISUVSQVJDSFlfQUREX05PREVTKS50aGVuKCgoKT0+bSR0KCJEZXRlY3Qgc2VyaWVzIiwzMCwoKCk9PntlLnNlcmllc05vZGVNaW5TaXplPjAmJmxLdChpLnJvb3QsaSxyLGUuc2VyaWVzTm9kZU1pblNpemUsZS5zZXJpZXNNYXAsZS51c2VHZW5lcmFsaXplZFNlcmllc1BhdHRlcm5zKX0pLG4sQkF0LkhJRVJBUkNIWV9ERVRFQ1RfU0VSSUVTKSkpLnRoZW4oKCgpPT5tJHQoIkFkZGluZyBlZGdlcyIsNDAsKCgpPT57IShmdW5jdGlvbiBlKHQsbixpKXtsZXQgcj10LmdldE5vZGVNYXAoKSxvPVtdLGE9W10scz0odCxlKT0+e2xldCBuPTA7Zm9yKDt0OyllW24rK109dC5uYW1lLHQ9dC5wYXJlbnROb2RlO3JldHVybiBuLTF9O0NlLmV4cG9ydHMuZWFjaChuLmVkZ2VzLChlPT57bGV0IGk9cyhuLm5vZGVzW2Uudl0sbyksbD1zKG4ubm9kZXNbZS53XSxhKTtpZigtMT09PWl8fC0xPT09bClyZXR1cm47Zm9yKDtvW2ldPT09YVtsXTspaWYoaS0tLGwtLSxpPDB8fGw8MCl0aHJvdyBFcnJvcigiTm8gZGlmZmVyZW5jZSBmb3VuZCBiZXR3ZWVuIGFuY2VzdG9yIHBhdGhzLiIpO2xldCBjPXJbb1tpKzFdXSx1PW9baV0saD1hW2xdLGQ9Yy5tZXRhZ3JhcGguZWRnZSh1LGgpO2R8fChkPUIkdCh1LGgpLGMubWV0YWdyYXBoLnNldEVkZ2UodSxoLGQpKSxjLmhhc05vbkNvbnRyb2xFZGdlc3x8ZS5pc0NvbnRyb2xEZXBlbmRlbmN5fHwoYy5oYXNOb25Db250cm9sRWRnZXM9ITApLGQuYWRkQmFzZUVkZ2UoZSx0KX0pKX0pKGksdCl9KSxuLEJBdC5ISUVSQVJDSFlfQUREX0VER0VTKSkpLnRoZW4oKCgpPT5pKSl9ZnVuY3Rpb24gbEt0KHQsZSxuLGkscixvKXtsZXQgYT10Lm1ldGFncmFwaDtDZS5leHBvcnRzLmVhY2goYS5ub2RlcygpLCh0PT57bGV0IHM9YS5ub2RlKHQpO3MudHlwZT09PUEkdC5NRVRBJiZsS3QocyxlLG4saSxyLG8pfSkpO2xldCBzPShmdW5jdGlvbiBsKHQpe2xldCBlPXt9O3JldHVybiBDZS5leHBvcnRzLnJlZHVjZSh0Lm5vZGVzKCksKChlLG4pPT57bGV0IGk9dC5ub2RlKG4pO2lmKGkudHlwZT09PUEkdC5NRVRBKXJldHVybiBlO2xldCByPWkub3A7cmV0dXJuIHImJihlW3JdPWVbcl18fFtdLGVbcl0ucHVzaChpLm5hbWUpKSxlfSksZSl9KShhKTtsZXQgYz0obz91S3Q6Y0t0KShzLGEsZS5ncmFwaE9wdGlvbnMpO0NlLmV4cG9ydHMuZWFjaChjLChmdW5jdGlvbih0LHIpe2xldCBvPXQubWV0YWdyYXBoLm5vZGVzKCk7Q2UuZXhwb3J0cy5lYWNoKG8sKHQ9PntsZXQgZT1hLm5vZGUodCk7ZS5vd25pbmdTZXJpZXN8fChlLm93bmluZ1Nlcmllcz1yKX0pKSxvLmxlbmd0aDxpJiZlLmdldFNlcmllc0dyb3VwVHlwZSh0Lm5hbWUpPT09TCR0LkdST1VQJiZlLnNldFNlcmllc0dyb3VwVHlwZSh0Lm5hbWUsTCR0LlVOR1JPVVApLGUuZ2V0U2VyaWVzR3JvdXBUeXBlKHQubmFtZSkhPT1MJHQuVU5HUk9VUCYmKGUuc2V0Tm9kZShyLHQpLGEuc2V0Tm9kZShyLHQpLENlLmV4cG9ydHMuZWFjaChvLChlPT57bGV0IGk9YS5ub2RlKGUpO3QubWV0YWdyYXBoLnNldE5vZGUoZSxpKSx0LnBhcmVudE5vZGU9aS5wYXJlbnROb2RlLHQuY2FyZGluYWxpdHkrKyxudWxsIT1pLmRldmljZSYmKHQuZGV2aWNlSGlzdG9ncmFtW2kuZGV2aWNlXT0odC5kZXZpY2VIaXN0b2dyYW1baS5kZXZpY2VdfHwwKSsxKSxudWxsIT1pLnhsYUNsdXN0ZXImJih0LnhsYUNsdXN0ZXJIaXN0b2dyYW1baS54bGFDbHVzdGVyXT0odC54bGFDbHVzdGVySGlzdG9ncmFtW2kueGxhQ2x1c3Rlcl18fDApKzEpLGkuY29tcGF0aWJsZT90LmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZT0odC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGV8fDApKzE6dC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZT0odC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZXx8MCkrMSxDZS5leHBvcnRzLmVhY2goaS5pbkVtYmVkZGluZ3MsKGU9PntlLmNvbXBhdGlibGU/dC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGU9KHQuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlfHwwKSsxOnQuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGU9KHQuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGV8fDApKzF9KSksQ2UuZXhwb3J0cy5lYWNoKGkub3V0RW1iZWRkaW5ncywoZT0+e2UuY29tcGF0aWJsZT90LmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZT0odC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGV8fDApKzE6dC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZT0odC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZXx8MCkrMX0pKSxpLnBhcmVudE5vZGU9dCxuW2VdPXIsYS5yZW1vdmVOb2RlKGUpfSkpKX0pKX1mdW5jdGlvbiBjS3QodCxlLG4pe2xldCBpPXt9O3JldHVybiBDZS5leHBvcnRzLmVhY2godCwoZnVuY3Rpb24odCxyKXtpZih0Lmxlbmd0aDw9MSlyZXR1cm47bGV0IG89e307Q2UuZXhwb3J0cy5lYWNoKHQsKGZ1bmN0aW9uKHQpe2NvbnN0IGU9IioiPT09dC5jaGFyQXQodC5sZW5ndGgtMSksaT10LnNwbGl0KCIvIikscj1pW2kubGVuZ3RoLTFdLGE9aS5zbGljZSgwLGkubGVuZ3RoLTEpLmpvaW4oIi8iKSxzPXIubWF0Y2goL14oXEQqKShcZCspJC8pO2xldCBsLGMsdT0iIjtzPyhsPXNbMV0sYz1zWzJdKToobD1lP3Iuc3Vic3RyKDAsci5sZW5ndGgtMSk6cixjPTAsdT1lPyIqIjoiIik7Y29uc3QgaD1WJHQobCx1LGEpO29baF09b1toXXx8W107Y29uc3QgZD1GJHQobCx1LGEsK2MsdCxuKTtvW2hdLnB1c2goZCl9KSksQ2UuZXhwb3J0cy5lYWNoKG8sKGZ1bmN0aW9uKHQsbyl7aWYodC5sZW5ndGg8MilyZXR1cm47dC5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybit0LmNsdXN0ZXJJZC0rZS5jbHVzdGVySWR9KSk7bGV0IGE9W3RbMF1dO2ZvcihsZXQgbz0xO288dC5sZW5ndGg7bysrKXtsZXQgcz10W29dO3MuY2x1c3RlcklkIT09YVthLmxlbmd0aC0xXS5jbHVzdGVySWQrMT8oaEt0KGEsaSwrcixlLG4pLGE9W3NdKTphLnB1c2gocyl9aEt0KGEsaSwrcixlLG4pfSkpfSkpLGl9ZnVuY3Rpb24gdUt0KHQsZSxuKXtsZXQgaT17fTtyZXR1cm4gQ2UuZXhwb3J0cy5lYWNoKHQsKGZ1bmN0aW9uKHQscil7aWYodC5sZW5ndGg8PTEpcmV0dXJuO2xldCBvPXt9LGE9e307Q2UuZXhwb3J0cy5lYWNoKHQsKGZ1bmN0aW9uKHQpe2xldCBlPSIqIj09PXQuY2hhckF0KHQubGVuZ3RoLTEpLGk9dC5zcGxpdCgiLyIpLHI9aVtpLmxlbmd0aC0xXSxzPWkuc2xpY2UoMCxpLmxlbmd0aC0xKS5qb2luKCIvIik7Y29uc3QgbD0vKFxkKykvZztsZXQgYyx1LGgsZCxwLGY9MDtmb3IoO2M9bC5leGVjKHIpOykrK2YsdT1yLnNsaWNlKDAsYy5pbmRleCksaD1jWzBdLGQ9ci5zbGljZShjLmluZGV4K2NbMF0ubGVuZ3RoKSxwPVYkdCh1LGQscyksb1twXT1vW3BdLG9bcF18fChvW3BdPUYkdCh1LGQscywraCx0LG4pKSxvW3BdLmlkcy5wdXNoKGgpLGFbdF09YVt0XXx8W10sYVt0XS5wdXNoKFtwLGhdKTtmPDEmJih1PWU/ci5zdWJzdHIoMCxyLmxlbmd0aC0xKTpyLGg9MCxkPWU/IioiOiIiLHA9ViR0KHUsZCxzKSxvW3BdPW9bcF0sb1twXXx8KG9bcF09RiR0KHUsZCxzLCtoLHQsbikpLG9bcF0uaWRzLnB1c2goaCksYVt0XT1hW3RdfHxbXSxhW3RdLnB1c2goW3AsaF0pKX0pKTt2YXIgcz17fTtDZS5leHBvcnRzLmVhY2goYSwoZnVuY3Rpb24odCxlKXt0LnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG9bZVswXV0uaWRzLmxlbmd0aC1vW3RbMF1dLmlkcy5sZW5ndGh9KSk7dmFyIGk9dFswXVswXSxyPXRbMF1bMV07c1tpXT1zW2ldfHxbXTtjb25zdCBhPWUuc3BsaXQoIi8iKSxsPWEuc2xpY2UoMCxhLmxlbmd0aC0xKS5qb2luKCIvIik7dmFyIGM9RiR0KG9baV0ucHJlZml4LG9baV0uc3VmZml4LGwsK3IsZSxuKTtzW2ldLnB1c2goYyl9KSksQ2UuZXhwb3J0cy5lYWNoKHMsKGZ1bmN0aW9uKHQsbyl7aWYodC5sZW5ndGg8MilyZXR1cm47dC5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybit0LmNsdXN0ZXJJZC0rZS5jbHVzdGVySWR9KSk7bGV0IGE9W3RbMF1dO2ZvcihsZXQgbz0xO288dC5sZW5ndGg7bysrKXtsZXQgcz10W29dO3MuY2x1c3RlcklkIT09YVthLmxlbmd0aC0xXS5jbHVzdGVySWQrMT8oaEt0KGEsaSwrcixlLG4pLGE9W3NdKTphLnB1c2gocyl9aEt0KGEsaSwrcixlLG4pfSkpfSkpLGl9ZnVuY3Rpb24gaEt0KHQsZSxuLGkscil7aWYodC5sZW5ndGg+MSl7bGV0IG89ViR0KHRbMF0ucHJlZml4LHRbMF0uc3VmZml4LHRbMF0ucGFyZW50LHRbMF0uY2x1c3RlcklkLHRbdC5sZW5ndGgtMV0uY2x1c3RlcklkKSxhPUYkdCh0WzBdLnByZWZpeCx0WzBdLnN1ZmZpeCx0WzBdLnBhcmVudCxuLG8scik7Q2UuZXhwb3J0cy5lYWNoKHQsKGZ1bmN0aW9uKHQpe2EuaWRzLnB1c2godC5jbHVzdGVySWQpLGEubWV0YWdyYXBoLnNldE5vZGUodC5uYW1lLGkubm9kZSh0Lm5hbWUpKX0pKSxlW29dPWF9fWxldCBkS3Q9IiNmZmZmZmYiLHBLdD0iI2IyYjJiMiIsZkt0PSIjMGY5ZDU4IixtS3Q9IiNkYjQ0MzciLGdLdD17REVGQVVMVF9GSUxMOiIjZDlkOWQ5IixERUZBVUxUX1NUUk9LRToiI2E2YTZhNiIsU0FUVVJBVElPTjouNixMSUdIVE5FU1M6Ljg1LEVYUEFOREVEX0NPTE9SOiIjZjBmMGYwIixIVUVTOlsyMjAsMTAwLDE4MCw0MCwyMCwzNDAsMjYwLDMwMCwxNDAsNjBdLFNUUlVDVFVSRV9QQUxFVFRFKHQsZSl7bGV0IG49Z0t0LkhVRVMsaT1uW3Qlbi5sZW5ndGhdLHI9TWF0aC5zaW4oaSpNYXRoLlBJLzM2MCk7cmV0dXJuIGNkKGksLjAxKihlPzMwOjkwLTYwKnIpLC4wMSooZT85NTo4MCkpLnRvU3RyaW5nKCl9LERFVklDRV9QQUxFVFRFOnQ9PmdLdC5TVFJVQ1RVUkVfUEFMRVRURSh0KSxYTEFfQ0xVU1RFUl9QQUxFVFRFOnQ9PmdLdC5TVFJVQ1RVUkVfUEFMRVRURSh0KSxVTktOT1dOOiIjZWVlIixHUkFESUVOVF9PVVRMSU5FOiIjODg4In0sX0t0PSJ3aGl0ZSIseUt0PSIjYjJiMmIyIjtjb25zdCB2S3Q9MTUsYkt0PTUseEt0PTQsd0t0PTQsU0t0PVsiTm9PcCJdLE1LdD1bXSxFS3Q9WyIjZmZmNWYwIiwiI2ZiNmE0YSJdLFRLdD01LENLdD1uZXcgUmVnRXhwKCJeKD86X19mdW5jdGlvbl9saWJyYXJ5X18pPyhcXHcrKV9bYS16MC05XXs4fSg/Ol9cXGQrKT8kIik7Y2xhc3MgQUt0e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmhpZXJhcmNoeT10LHRoaXMuZGlzcGxheWluZ1N0YXRzPWUsdGhpcy5hdXRvRXh0cmFjdE5vZGVzPW4sdGhpcy5pbmRleD17fSx0aGlzLnJlbmRlcmVkT3BOYW1lcz1bXSx0aGlzLmNvbXB1dGVTY2FsZXMoKSx0aGlzLmhhc1N1YmhpZXJhcmNoeT17fSx0aGlzLnJvb3Q9bmV3IHpLdCh0LnJvb3QsdC5ncmFwaE9wdGlvbnMpLHRoaXMuaW5kZXhbdC5yb290Lm5hbWVdPXRoaXMucm9vdCx0aGlzLnJlbmRlcmVkT3BOYW1lcy5wdXNoKHQucm9vdC5uYW1lKSx0aGlzLmJ1aWxkU3ViaGllcmFyY2h5KHQucm9vdC5uYW1lKSx0aGlzLnJvb3QuZXhwYW5kZWQ9ITAsdGhpcy50cmFjZUlucHV0cz0hMX1jb21wdXRlU2NhbGVzKCl7dGhpcy5kZXZpY2VDb2xvck1hcD1ZTSgpLmRvbWFpbih0aGlzLmhpZXJhcmNoeS5kZXZpY2VzKS5yYW5nZShDZS5leHBvcnRzLm1hcChLbCh0aGlzLmhpZXJhcmNoeS5kZXZpY2VzLmxlbmd0aCksZ0t0LkRFVklDRV9QQUxFVFRFKSksdGhpcy54bGFDbHVzdGVyQ29sb3JNYXA9WU0oKS5kb21haW4odGhpcy5oaWVyYXJjaHkueGxhQ2x1c3RlcnMpLnJhbmdlKENlLmV4cG9ydHMubWFwKEtsKHRoaXMuaGllcmFyY2h5LnhsYUNsdXN0ZXJzLmxlbmd0aCksZ0t0LlhMQV9DTFVTVEVSX1BBTEVUVEUpKTtsZXQgdD10aGlzLmhpZXJhcmNoeS5yb290Lm1ldGFncmFwaCxlPW9jKHQubm9kZXMoKSwoKGUsbik9PntsZXQgaT10Lm5vZGUoZSk7aWYobnVsbCE9aS5zdGF0cylyZXR1cm4gaS5zdGF0cy50b3RhbEJ5dGVzfSkpO3RoaXMubWVtb3J5VXNhZ2VTY2FsZT1jRSgpLmRvbWFpbihbMCxlXSkucmFuZ2UoRUt0KTtsZXQgbj1vYyh0Lm5vZGVzKCksKChlLG4pPT57bGV0IGk9dC5ub2RlKGUpO2lmKG51bGwhPWkuc3RhdHMpcmV0dXJuIGkuc3RhdHMuZ2V0VG90YWxNaWNyb3MoKX0pKTt0aGlzLmNvbXB1dGVUaW1lU2NhbGU9Y0UoKS5kb21haW4oWzAsbl0pLnJhbmdlKEVLdCksdGhpcy5lZGdlV2lkdGhTaXplZEJhc2VkU2NhbGU9dGhpcy5oaWVyYXJjaHkuaGFzU2hhcGVJbmZvP3UkdDpjRSgpLmRvbWFpbihbMSx0aGlzLmhpZXJhcmNoeS5tYXhNZXRhRWRnZVNpemVdKS5yYW5nZShbYyR0LDEyXSl9Z2V0UmVuZGVyTm9kZUJ5TmFtZSh0KXtyZXR1cm4gdGhpcy5pbmRleFt0XX1nZXROb2RlQnlOYW1lKHQpe3JldHVybiB0aGlzLmhpZXJhcmNoeS5ub2RlKHQpfWNvbG9ySGlzdG9ncmFtKHQsZSl7aWYoT2JqZWN0LmtleXModCkubGVuZ3RoPjApe2NvbnN0IG49Q2UuZXhwb3J0cy5zdW0oT2JqZWN0LmtleXModCkubWFwKChlPT50W2VdKSkpO3JldHVybiBPYmplY3Qua2V5cyh0KS5tYXAoKGk9Pih7Y29sb3I6ZShpKSxwcm9wb3J0aW9uOnRbaV0vbn0pKSl9cmV0dXJuIG51bGx9Z2V0T3JDcmVhdGVSZW5kZXJOb2RlQnlOYW1lKHQpe2lmKCF0KXJldHVybiBudWxsO2lmKHQgaW4gdGhpcy5pbmRleClyZXR1cm4gdGhpcy5pbmRleFt0XTtsZXQgZT10aGlzLmhpZXJhcmNoeS5ub2RlKHQpO2lmKCFlKXJldHVybiBudWxsO2xldCBuPWUuaXNHcm91cE5vZGU/bmV3IHpLdChlLHRoaXMuaGllcmFyY2h5LmdyYXBoT3B0aW9ucyk6bmV3IE5LdChlKTt0aGlzLmluZGV4W3RdPW4sdGhpcy5yZW5kZXJlZE9wTmFtZXMucHVzaCh0KSxlLnN0YXRzJiYobi5tZW1vcnlDb2xvcj10aGlzLm1lbW9yeVVzYWdlU2NhbGUoZS5zdGF0cy50b3RhbEJ5dGVzKSxuLmNvbXB1dGVUaW1lQ29sb3I9dGhpcy5jb21wdXRlVGltZVNjYWxlKGUuc3RhdHMuZ2V0VG90YWxNaWNyb3MoKSkpLG4uaXNGYWRlZE91dD10aGlzLmRpc3BsYXlpbmdTdGF0cyYmIWIkdChlLnN0YXRzKTt2YXIgaT1udWxsLHI9bnVsbCxvPW51bGw7aWYoZS5pc0dyb3VwTm9kZSl7aT1lLmRldmljZUhpc3RvZ3JhbSxyPWUueGxhQ2x1c3Rlckhpc3RvZ3JhbTtsZXQgdD1lLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZSxuPWUuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGU7MD09dCYmMD09bnx8KG89dC8odCtuKSl9ZWxzZXtsZXQgdD1uLm5vZGUuZGV2aWNlO3QmJihpPXtbdF06MX0pO2xldCBlPW4ubm9kZS54bGFDbHVzdGVyO2UmJihyPXtbZV06MX0pLG4ubm9kZS50eXBlPT09QSR0Lk9QJiYobz1uLm5vZGUuY29tcGF0aWJsZT8xOjApfXJldHVybiBpJiYobi5kZXZpY2VDb2xvcnM9dGhpcy5jb2xvckhpc3RvZ3JhbShpLHRoaXMuZGV2aWNlQ29sb3JNYXApKSxyJiYobi54bGFDbHVzdGVyQ29sb3JzPXRoaXMuY29sb3JIaXN0b2dyYW0ocix0aGlzLnhsYUNsdXN0ZXJDb2xvck1hcCkpLG51bGwhPW8mJihuLmNvbXBhdGliaWxpdHlDb2xvcnM9W3tjb2xvcjpmS3QscHJvcG9ydGlvbjpvfSx7Y29sb3I6bUt0LHByb3BvcnRpb246MS1vfV0pLHRoaXMuaW5kZXhbdF19Z2V0TmVhcmVzdFZpc2libGVBbmNlc3Rvcih0KXtsZXQgZT1aJHQodCksbj0wLGk9bnVsbCxyPXQ7Zm9yKDtuPGUubGVuZ3RoJiYocj1lW25dLGk9dGhpcy5nZXRSZW5kZXJOb2RlQnlOYW1lKHIpLGkuZXhwYW5kZWQpO24rKyk7aWYobj09ZS5sZW5ndGgtMil7bGV0IHQ9ZVtuKzFdO2lmKGkuaW5Bbm5vdGF0aW9ucy5ub2RlTmFtZXNbdF0pcmV0dXJuIHQ7aWYoaS5vdXRBbm5vdGF0aW9ucy5ub2RlTmFtZXNbdF0pcmV0dXJuIHR9cmV0dXJuIHJ9c2V0RGVwdGgodCl7REt0KHRoaXMucm9vdCwrdCl9aXNOb2RlQXV4aWxpYXJ5KHQpe2xldCBlPXRoaXMuZ2V0UmVuZGVyTm9kZUJ5TmFtZSh0Lm5vZGUucGFyZW50Tm9kZS5uYW1lKSxuPUNlLmV4cG9ydHMuZmluZChlLmlzb2xhdGVkSW5FeHRyYWN0LChlPT5lLm5vZGUubmFtZT09PXQubm9kZS5uYW1lKSk7cmV0dXJuISFufHwobj1DZS5leHBvcnRzLmZpbmQoZS5pc29sYXRlZE91dEV4dHJhY3QsKGU9PmUubm9kZS5uYW1lPT09dC5ub2RlLm5hbWUpKSwhIW4pfWdldE5hbWVzT2ZSZW5kZXJlZE9wcygpe3JldHVybiB0aGlzLnJlbmRlcmVkT3BOYW1lc31jbG9uZUFuZEFkZEZ1bmN0aW9uT3BOb2RlKHQsZSxuLGkpe2NvbnN0IHI9bi5uYW1lLnJlcGxhY2UoZSxpKTtsZXQgbz10Lm1ldGFncmFwaC5ub2RlKHIpO2lmKG8pcmV0dXJuIG87bz1uZXcgTyR0KHtuYW1lOnIsaW5wdXQ6W10sZGV2aWNlOm4uZGV2aWNlLG9wOm4ub3AsYXR0cjpDZS5leHBvcnRzLmNsb25lRGVlcChuLmF0dHIpfSksby5jYXJkaW5hbGl0eT1uLmNhcmRpbmFsaXR5LG8uaW5jbHVkZT1uLmluY2x1ZGUsby5vdXRwdXRTaGFwZXM9Q2UuZXhwb3J0cy5jbG9uZURlZXAobi5vdXRwdXRTaGFwZXMpLG8ueGxhQ2x1c3Rlcj1uLnhsYUNsdXN0ZXIsby5mdW5jdGlvbklucHV0SW5kZXg9bi5mdW5jdGlvbklucHV0SW5kZXgsby5mdW5jdGlvbk91dHB1dEluZGV4PW4uZnVuY3Rpb25PdXRwdXRJbmRleCxvLmlucHV0cz1uLmlucHV0cy5tYXAoKHQ9Pntjb25zdCBuPUNlLmV4cG9ydHMuY2xvbmUodCk7cmV0dXJuIG4ubmFtZT10Lm5hbWUucmVwbGFjZShlLGkpLG59KSksby5wYXJlbnROb2RlPXQsdC5tZXRhZ3JhcGguc2V0Tm9kZShvLm5hbWUsbyksdGhpcy5oaWVyYXJjaHkuc2V0Tm9kZShvLm5hbWUsbyk7Y29uc3QgYT1uPT50aGlzLmNsb25lQW5kQWRkRnVuY3Rpb25PcE5vZGUodCxlLG4saSk7cmV0dXJuIG8uaW5FbWJlZGRpbmdzPW4uaW5FbWJlZGRpbmdzLm1hcChhKSxvLm91dEVtYmVkZGluZ3M9bi5vdXRFbWJlZGRpbmdzLm1hcChhKSxvfWNsb25lRnVuY3Rpb25MaWJyYXJ5TWV0YW5vZGUodCxlLG4saSxyKXtjb25zdCBvPXt9LGE9dGhpcy5jbG9uZUZ1bmN0aW9uTGlicmFyeU1ldGFub2RlSGVscGVyKHQsZSxuLGkscixvKTtyZXR1cm4gQ2UuZXhwb3J0cy5pc0VtcHR5KG8pfHx0aGlzLnBhdGNoRWRnZXNGcm9tRnVuY3Rpb25PdXRwdXRzKGUsbyksYX1jbG9uZUZ1bmN0aW9uTGlicmFyeU1ldGFub2RlSGVscGVyKHQsZSxuLGkscixvKXtjb25zdCBhPXokdChuLm5hbWUucmVwbGFjZShpLHIpKTtyZXR1cm4gYS5kZXB0aD1uLmRlcHRoLGEuY2FyZGluYWxpdHk9bi5jYXJkaW5hbGl0eSxhLnRlbXBsYXRlSWQ9bi50ZW1wbGF0ZUlkLGEub3BIaXN0b2dyYW09Q2UuZXhwb3J0cy5jbG9uZShuLm9wSGlzdG9ncmFtKSxhLmRldmljZUhpc3RvZ3JhbT1DZS5leHBvcnRzLmNsb25lKG4uZGV2aWNlSGlzdG9ncmFtKSxhLnhsYUNsdXN0ZXJIaXN0b2dyYW09Q2UuZXhwb3J0cy5jbG9uZShuLnhsYUNsdXN0ZXJIaXN0b2dyYW0pLGEuaGFzTm9uQ29udHJvbEVkZ2VzPW4uaGFzTm9uQ29udHJvbEVkZ2VzLGEuaW5jbHVkZT1uLmluY2x1ZGUsYS5ub2RlQXR0cmlidXRlcz1DZS5leHBvcnRzLmNsb25lKG4ubm9kZUF0dHJpYnV0ZXMpLGEuYXNzb2NpYXRlZEZ1bmN0aW9uPW4uYXNzb2NpYXRlZEZ1bmN0aW9uLENlLmV4cG9ydHMuZWFjaChuLm1ldGFncmFwaC5ub2RlcygpLChzPT57Y29uc3QgbD1uLm1ldGFncmFwaC5ub2RlKHMpO3N3aXRjaChsLnR5cGUpe2Nhc2UgQSR0Lk1FVEE6Y29uc3Qgbj10aGlzLmNsb25lRnVuY3Rpb25MaWJyYXJ5TWV0YW5vZGVIZWxwZXIodCxlLGwsaSxyLG8pO24ucGFyZW50Tm9kZT1hLGEubWV0YWdyYXBoLnNldE5vZGUobi5uYW1lLG4pLHRoaXMuaGllcmFyY2h5LnNldE5vZGUobi5uYW1lLG4pO2JyZWFrO2Nhc2UgQSR0Lk9QOmNvbnN0IHM9dGhpcy5jbG9uZUFuZEFkZEZ1bmN0aW9uT3BOb2RlKGEsaSxsLHIpO0NlLmV4cG9ydHMuaXNOdW1iZXIocy5mdW5jdGlvbklucHV0SW5kZXgpJiZ0aGlzLnBhdGNoRWRnZXNJbnRvRnVuY3Rpb25JbnB1dHMoZSxzKSxDZS5leHBvcnRzLmlzTnVtYmVyKHMuZnVuY3Rpb25PdXRwdXRJbmRleCkmJihvW3MuZnVuY3Rpb25PdXRwdXRJbmRleF09cyk7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLndhcm4obC5uYW1lKyIgaXMgb2RkbHkgbmVpdGhlciBhIG1ldGFub2RlIG5vciBhbiBvcG5vZGUuIil9fSkpLHRoaXMuY2xvbmVMaWJyYXJ5TWV0YW5vZGVFZGdlcyhuLGEsaSxyKSxhfWNsb25lTGlicmFyeU1ldGFub2RlRWRnZXModCxlLG4saSl7Q2UuZXhwb3J0cy5lYWNoKHQubWV0YWdyYXBoLmVkZ2VzKCksKHI9Pntjb25zdCBvPXQubWV0YWdyYXBoLmVkZ2UociksYT1vLnYucmVwbGFjZShuLGkpLHM9by53LnJlcGxhY2UobixpKSxsPW5ldyBIJHQoYSxzKTtsLmluYm91bmQ9by5pbmJvdW5kLGwubnVtUmVndWxhckVkZ2VzPW8ubnVtUmVndWxhckVkZ2VzLGwubnVtQ29udHJvbEVkZ2VzPW8ubnVtQ29udHJvbEVkZ2VzLGwubnVtUmVmRWRnZXM9by5udW1SZWZFZGdlcyxsLnRvdGFsU2l6ZT1vLnRvdGFsU2l6ZSxvLmJhc2VFZGdlTGlzdCYmKGwuYmFzZUVkZ2VMaXN0PW8uYmFzZUVkZ2VMaXN0Lm1hcCgodD0+e2NvbnN0IGU9Q2UuZXhwb3J0cy5jbG9uZSh0KTtyZXR1cm4gZS52PXQudi5yZXBsYWNlKG4saSksZS53PXQudy5yZXBsYWNlKG4saSksZX0pKSksZS5tZXRhZ3JhcGgubm9kZShzKT9lLm1ldGFncmFwaC5zZXRFZGdlKGEscyxsKTplLm1ldGFncmFwaC5zZXRFZGdlKHMsYSxsKX0pKX1wYXRjaEVkZ2VzSW50b0Z1bmN0aW9uSW5wdXRzKHQsZSl7bGV0IG49TWF0aC5taW4oZS5mdW5jdGlvbklucHV0SW5kZXgsdC5pbnB1dHMubGVuZ3RoLTEpLGk9Q2UuZXhwb3J0cy5jbG9uZSh0LmlucHV0c1tuXSk7Zm9yKDtpLmlzQ29udHJvbERlcGVuZGVuY3k7KW4rKyxpPXQuaW5wdXRzW25dO2UuaW5wdXRzLnB1c2goaSk7Y29uc3Qgcj10aGlzLmhpZXJhcmNoeS5nZXRQcmVkZWNlc3NvcnModC5uYW1lKTtsZXQgbyxhPTA7Q2UuZXhwb3J0cy5lYWNoKHIucmVndWxhciwodD0+e2lmKGErPXQubnVtUmVndWxhckVkZ2VzLGE+bilyZXR1cm4gbz10LCExfSkpLENlLmV4cG9ydHMuZWFjaChvLmJhc2VFZGdlTGlzdCwobj0+e24udz09PXQubmFtZSYmKG4udz1lLm5hbWUpLG4udj09PXQubmFtZSYmKG4udj1lLm5hbWUpfSkpfXBhdGNoRWRnZXNGcm9tRnVuY3Rpb25PdXRwdXRzKHQsZSl7Y29uc3Qgbj10aGlzLmhpZXJhcmNoeS5nZXRTdWNjZXNzb3JzKHQubmFtZSk7Q2UuZXhwb3J0cy5lYWNoKG4ucmVndWxhciwobj0+e0NlLmV4cG9ydHMuZWFjaChuLmJhc2VFZGdlTGlzdCwobj0+e2NvbnN0IGk9dGhpcy5oaWVyYXJjaHkubm9kZShuLncpO0NlLmV4cG9ydHMuZWFjaChpLmlucHV0cywoaT0+e2lmKGkubmFtZT09PXQubmFtZSl7aS5uYW1lPWVbaS5vdXRwdXRUZW5zb3JLZXldLm5hbWUsaS5vdXRwdXRUZW5zb3JLZXk9bi5vdXRwdXRUZW5zb3JLZXl9fSkpfSkpLENlLmV4cG9ydHMuZWFjaChuLmJhc2VFZGdlTGlzdCwodD0+e3Qudj1lW3Qub3V0cHV0VGVuc29yS2V5XS5uYW1lLHQub3V0cHV0VGVuc29yS2V5PSIwIn0pKX0pKX1idWlsZFN1YmhpZXJhcmNoeSh0KXtpZih0IGluIHRoaXMuaGFzU3ViaGllcmFyY2h5KXJldHVybjt0aGlzLmhhc1N1YmhpZXJhcmNoeVt0XT0hMDtsZXQgZT10aGlzLmluZGV4W3RdO2lmKGUubm9kZS50eXBlIT09QSR0Lk1FVEEmJmUubm9kZS50eXBlIT09QSR0LlNFUklFUylyZXR1cm47bGV0IG49ZSxpPW4ubm9kZS5tZXRhZ3JhcGgscj1uLmNvcmVHcmFwaDtjb25zdCBvPVtdLGE9W107Q2UuZXhwb3J0cy5pc0VtcHR5KHRoaXMuaGllcmFyY2h5LmxpYnJhcnlGdW5jdGlvbnMpfHwoQ2UuZXhwb3J0cy5lYWNoKGkubm9kZXMoKSwodD0+e2NvbnN0IGU9aS5ub2RlKHQpLG49dGhpcy5oaWVyYXJjaHkubGlicmFyeUZ1bmN0aW9uc1tlLm9wXTtpZighbilyZXR1cm47aWYoMD09PXQuaW5kZXhPZihUJHQpKXJldHVybjtjb25zdCByPXRoaXMuY2xvbmVGdW5jdGlvbkxpYnJhcnlNZXRhbm9kZShpLGUsbi5ub2RlLG4ubm9kZS5uYW1lLGUubmFtZSk7by5wdXNoKGUpLGEucHVzaChyKX0pKSxDZS5leHBvcnRzLmVhY2goYSwoKHQsZSk9Pntjb25zdCBuPW9bZV07dC5wYXJlbnROb2RlPW4ucGFyZW50Tm9kZSxpLnNldE5vZGUobi5uYW1lLHQpLHRoaXMuaGllcmFyY2h5LnNldE5vZGUobi5uYW1lLHQpfSkpKSxDZS5leHBvcnRzLmVhY2goaS5ub2RlcygpLCh0PT57bGV0IGU9dGhpcy5nZXRPckNyZWF0ZVJlbmRlck5vZGVCeU5hbWUodCksbj1lLm5vZGU7ci5zZXROb2RlKHQsZSksbi5pc0dyb3VwTm9kZXx8KENlLmV4cG9ydHMuZWFjaChuLmluRW1iZWRkaW5ncywodD0+e2xldCBuPW5ldyBJS3QobnVsbCksaT1uZXcgTkt0KHQpO1JLdChlLHQsaSxuLExLdC5DT05TVEFOVCksdGhpcy5pbmRleFt0Lm5hbWVdPWl9KSksQ2UuZXhwb3J0cy5lYWNoKG4ub3V0RW1iZWRkaW5ncywodD0+e2xldCBuPW5ldyBJS3QobnVsbCksaT1uZXcgTkt0KHQpO09LdChlLHQsaSxuLExLdC5TVU1NQVJZKSx0aGlzLmluZGV4W3QubmFtZV09aX0pKSl9KSksQ2UuZXhwb3J0cy5lYWNoKGkuZWRnZXMoKSwodD0+e2xldCBlPWkuZWRnZSh0KSxuPW5ldyBJS3QoZSk7bi5pc0ZhZGVkT3V0PXRoaXMuaW5kZXhbdC52XS5pc0ZhZGVkT3V0fHx0aGlzLmluZGV4W3Qud10uaXNGYWRlZE91dCxyLnNldEVkZ2UodC52LHQudyxuKX0pKSxuLm5vZGUudHlwZT09PUEkdC5NRVRBJiYoZnVuY3Rpb24gcyh0LGUpeyhmdW5jdGlvbiBuKHQpe2xldCBlPXQuY29yZUdyYXBoO0NlLmV4cG9ydHMuZWFjaChlLm5vZGVzKCksKG49PntlLm5vZGUobikubm9kZS5pbmNsdWRlIT09ayR0LkVYQ0xVREV8fG4uc3RhcnRzV2l0aChUJHQpfHwodC5jb3JlR3JhcGgub3V0RWRnZXMobikubGVuZ3RoPnQuY29yZUdyYXBoLmluRWRnZXMobikubGVuZ3RoP0hLdCh0LG4pOkZLdCh0LG4pKX0pKX0pKHQpLFNLdC5sZW5ndGgmJihmdW5jdGlvbiBpKHQpe2xldCBlPXQuY29yZUdyYXBoO0NlLmV4cG9ydHMuZWFjaChlLm5vZGVzKCksKG49PntsZXQgaT1lLm5vZGUobik7aS5ub2RlLmluY2x1ZGU9PT1rJHQuVU5TUEVDSUZJRUQmJlZLdChpLm5vZGUsU0t0KSYmSEt0KHQsbil9KSl9KSh0KTtNS3QubGVuZ3RoJiYoZnVuY3Rpb24gcih0KXtsZXQgZT10LmNvcmVHcmFwaDtDZS5leHBvcnRzLmVhY2goZS5ub2RlcygpLChuPT57bGV0IGk9ZS5ub2RlKG4pO2kubm9kZS5pbmNsdWRlPT09ayR0LlVOU1BFQ0lGSUVEJiZWS3QoaS5ub2RlLE1LdCkmJkZLdCh0LG4pfSkpfSkodCk7ZSYmKGZ1bmN0aW9uIG8odCl7bGV0IGU9dC5jb3JlR3JhcGgsbj17fSxpPXt9LHI9MDtpZihDZS5leHBvcnRzLmVhY2goZS5ub2RlcygpLCh0PT57aWYoZS5ub2RlKHQpLm5vZGUuaW5jbHVkZSE9PWskdC5VTlNQRUNJRklFRClyZXR1cm47bGV0IG89Q2UuZXhwb3J0cy5yZWR1Y2UoZS5wcmVkZWNlc3NvcnModCksKChuLGkpPT5uKyhlLmVkZ2UoaSx0KS5tZXRhZWRnZS5udW1SZWd1bGFyRWRnZXM/MTowKSksMCk7MD09PW8mJmUucHJlZGVjZXNzb3JzKHQpLmxlbmd0aD4wJiYobz1lLnByZWRlY2Vzc29ycyh0KS5sZW5ndGgpO2xldCBhPUNlLmV4cG9ydHMucmVkdWNlKGUuc3VjY2Vzc29ycyh0KSwoKG4saSk9Pm4rKGUuZWRnZSh0LGkpLm1ldGFlZGdlLm51bVJlZ3VsYXJFZGdlcz8xOjApKSwwKTswPT09YSYmZS5zdWNjZXNzb3JzKHQpLmxlbmd0aD4wJiYoYT1lLnN1Y2Nlc3NvcnModCkubGVuZ3RoKSxuW3RdPW8saVt0XT1hLHIrK30pKSxyPHZLdClyZXR1cm47bGV0IG89Ykt0LTEsYT1NYXRoLnJvdW5kKC43NSpyKSxzPU1hdGgucm91bmQoLjI1KnIpLGw9T2JqZWN0LmtleXMobikuc29ydCgoKHQsZSk9Pm5bdF0tbltlXSkpLGM9bltsW2FdXSx1PWMrYy1uW2xbc11dO3U9TWF0aC5tYXgodSxvKTtmb3IobGV0IGU9ci0xO25bbFtlXV0+dTtlLS0pRkt0KHQsbFtlXSk7bGV0IGg9T2JqZWN0LmtleXMoaSkuc29ydCgoKHQsZSk9PmlbdF0taVtlXSkpLGQ9aVtoW2FdXSxwPWQrNCooZC1pW2hbc11dKTtwPU1hdGgubWF4KHAsbyk7Zm9yKGxldCBuPXItMTtpW2hbbl1dPnA7bi0tKXtsZXQgaT1lLm5vZGUoaFtuXSk7aSYmIWkuaXNJbkV4dHJhY3QmJkhLdCh0LGhbbl0pfX0pKHQpOyEoZnVuY3Rpb24gYSh0KXtsZXQgZT10LmNvcmVHcmFwaCxuPXt9O0NlLmV4cG9ydHMuZWFjaChlLmVkZ2VzKCksKHQ9PntlLmVkZ2UodCkubWV0YWVkZ2UubnVtUmVndWxhckVkZ2VzfHwoKG5bdC52XT1uW3Qudl18fFtdKS5wdXNoKHQpLChuW3Qud109blt0LnddfHxbXSkucHVzaCh0KSl9KSksQ2UuZXhwb3J0cy5lYWNoKG4sKCh0LG4pPT57dC5sZW5ndGg+eEt0JiZDZS5leHBvcnRzLmVhY2godCwodD0+Qkt0KGUsdC52LHQudykpKX0pKX0pKHQpO2xldCBzPXQuY29yZUdyYXBoO0NlLmV4cG9ydHMuZWFjaChzLm5vZGVzKCksKGU9PntsZXQgbj1zLm5vZGUoZSksaT1zLm5laWdoYm9ycyhlKS5sZW5ndGg7aWYobi5ub2RlLmluY2x1ZGU9PT1rJHQuVU5TUEVDSUZJRUQmJjA9PT1pKXtsZXQgaT1uLm91dEFubm90YXRpb25zLmxpc3QubGVuZ3RoPjAscj1uLmluQW5ub3RhdGlvbnMubGlzdC5sZW5ndGg+MDtuLmlzSW5FeHRyYWN0Pyh0Lmlzb2xhdGVkSW5FeHRyYWN0LnB1c2gobiksbi5ub2RlLmluY2x1ZGU9ayR0LkVYQ0xVREUscy5yZW1vdmVOb2RlKGUpKTpuLmlzT3V0RXh0cmFjdD8odC5pc29sYXRlZE91dEV4dHJhY3QucHVzaChuKSxuLm5vZGUuaW5jbHVkZT1rJHQuRVhDTFVERSxzLnJlbW92ZU5vZGUoZSkpOmkmJiFyPyhuLmlzSW5FeHRyYWN0PSEwLHQuaXNvbGF0ZWRJbkV4dHJhY3QucHVzaChuKSxuLm5vZGUuaW5jbHVkZT1rJHQuRVhDTFVERSxzLnJlbW92ZU5vZGUoZSkpOnImJiFpJiYobi5pc091dEV4dHJhY3Q9ITAsdC5pc29sYXRlZE91dEV4dHJhY3QucHVzaChuKSxuLm5vZGUuaW5jbHVkZT1rJHQuRVhDTFVERSxzLnJlbW92ZU5vZGUoZSkpfX0pKX0pKG4sdGhpcy5hdXRvRXh0cmFjdE5vZGVzKSxDZS5leHBvcnRzLmlzRW1wdHkodGhpcy5oaWVyYXJjaHkubGlicmFyeUZ1bmN0aW9ucyl8fHRoaXMuYnVpbGRTdWJoaWVyYXJjaGllc0Zvck5lZWRlZEZ1bmN0aW9ucyhpKSx0PT09RSR0JiZDZS5leHBvcnRzLmZvck93bih0aGlzLmhpZXJhcmNoeS5saWJyYXJ5RnVuY3Rpb25zLCgodCxlKT0+e2NvbnN0IGk9dC5ub2RlLG89dGhpcy5nZXRPckNyZWF0ZVJlbmRlck5vZGVCeU5hbWUoaS5uYW1lKTtuLmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0LnB1c2gobyksby5ub2RlLmluY2x1ZGU9ayR0LkVYQ0xVREUsci5yZW1vdmVOb2RlKGkubmFtZSl9KSk7bGV0IGw9bi5ub2RlLnBhcmVudE5vZGU7aWYoIWwpcmV0dXJuO2xldCBjPXRoaXMuaW5kZXhbbC5uYW1lXSx1PSh0LC4uLmUpPT5lLmNvbmNhdChbdD8iSU4iOiJPVVQiXSkuam9pbigifn4iKSxoPXRoaXMuaGllcmFyY2h5LmdldEJyaWRnZWdyYXBoKHQpLGQ9e2luOnt9LG91dDp7fSxjb250cm9sOnt9fTtDZS5leHBvcnRzLmVhY2goaC5lZGdlcygpLCh0PT57bGV0IGU9ISFpLm5vZGUodC53KSxuPWU/dC52OnQudztoLmVkZ2UodCkubnVtUmVndWxhckVkZ2VzP2U/ZC5vdXRbbl09KGQub3V0W25dfHwwKSsxOmQuaW5bbl09KGQuaW5bbl18fDApKzE6ZC5jb250cm9sW25dPShkLmNvbnRyb2xbbl18fDApKzF9KSk7bGV0IHA9dGhpcy5oaWVyYXJjaHkuZ2V0Tm9kZU1hcCgpO0NlLmV4cG9ydHMuZWFjaChoLmVkZ2VzKCksKG49PntsZXQgbz1oLmVkZ2UobiksYT0hIWkubm9kZShuLncpLFtzLGZdPWE/W24udyxuLnZdOltuLnYsbi53XSxtPXRoaXMuaW5kZXhbc10sZz10aGlzLmluZGV4W2ZdLF89Zz9nLm5vZGU6cFtmXSx5PSFvLm51bVJlZ3VsYXJFZGdlcyYmZC5jb250cm9sW2ZdPnhLdCxbLHZdPWE/W2UuaW5Bbm5vdGF0aW9ucyxtLmluQW5ub3RhdGlvbnNdOltlLm91dEFubm90YXRpb25zLG0ub3V0QW5ub3RhdGlvbnNdLGI9bnVsbCx4PSExO2lmKCEoKGE/ZC5vdXQ6ZC5pbilbZl0+d0t0KSYmIXkmJm0uaXNJbkNvcmUoKSl7bGV0IGU9ZT0+Yy5jb3JlR3JhcGguZWRnZShhP3t2OmUsdzp0fTp7djp0LHc6ZX0pO2I9ZShmKSxifHwoYj1lKHUoYSxmLGwubmFtZSkpKSx4PSEhYn1sZXQgdz0hMTtpZihiJiYhby5udW1SZWd1bGFyRWRnZXMpe2xldCB0PWIsZT1jLm5vZGU7Zm9yKDt0LmFkam9pbmluZ01ldGFlZGdlOyl0PXQuYWRqb2luaW5nTWV0YWVkZ2UsZT1lLnBhcmVudE5vZGU7bGV0IG49dGhpcy5oaWVyYXJjaHkuZ2V0VG9wb2xvZ2ljYWxPcmRlcmluZyhlLm5hbWUpLGk9dC5tZXRhZWRnZTt3PW5baS52XT5uW2kud119aWYoeD14JiYhdywheClyZXR1cm4gdm9pZCB2LnB1c2gobmV3IGtLdChfLGcsbmV3IElLdChvKSxMS3QuU0hPUlRDVVQsYSkpO2xldCBTPXUoYSx0KSxNPXUoYSxmLHQpLEU9ci5ub2RlKE0pO2lmKCFFKXtsZXQgdD1yLm5vZGUoUyk7aWYoIXQpe3Q9bmV3IE5LdCh7bmFtZTpTLHR5cGU6QSR0LkJSSURHRSxpc0dyb3VwTm9kZTohMSxjYXJkaW5hbGl0eTowLHBhcmVudE5vZGU6bnVsbCxzdGF0czpudWxsLGluY2x1ZGU6ayR0LlVOU1BFQ0lGSUVELGluYm91bmQ6YSxub2RlQXR0cmlidXRlczp7fX0pLHRoaXMuaW5kZXhbU109dCxyLnNldE5vZGUoUyx0KX1FPW5ldyBOS3Qoe25hbWU6TSx0eXBlOkEkdC5CUklER0UsaXNHcm91cE5vZGU6ITEsY2FyZGluYWxpdHk6MSxwYXJlbnROb2RlOm51bGwsc3RhdHM6bnVsbCxpbmNsdWRlOmskdC5VTlNQRUNJRklFRCxpbmJvdW5kOmEsbm9kZUF0dHJpYnV0ZXM6e319KSx0aGlzLmluZGV4W01dPUUsci5zZXROb2RlKE0sRSksci5zZXRQYXJlbnQoTSxTKSx0Lm5vZGUuY2FyZGluYWxpdHkrK31sZXQgVD1uZXcgSUt0KG8pO1QuYWRqb2luaW5nTWV0YWVkZ2U9YixhP3Iuc2V0RWRnZShNLHMsVCk6ci5zZXRFZGdlKHMsTSxUKX0pKSxDZS5leHBvcnRzLmVhY2goWyEwLCExXSwoZT0+e2xldCBuPXUoZSx0KSxpPXIubm9kZShuKTtpJiZDZS5leHBvcnRzLmVhY2goci5ub2RlcygpLChvPT57aWYoci5ub2RlKG8pLm5vZGUudHlwZT09PUEkdC5CUklER0UpcmV0dXJuO2lmKCEoZT8hci5wcmVkZWNlc3NvcnMobykubGVuZ3RoOiFyLnN1Y2Nlc3NvcnMobykubGVuZ3RoKSlyZXR1cm47bGV0IGE9dShlLHQsIlNUUlVDVFVSQUxfVEFSR0VUIikscz1yLm5vZGUoYSk7aWYoIXMpe3M9bmV3IE5LdCh7bmFtZTphLHR5cGU6QSR0LkJSSURHRSxpc0dyb3VwTm9kZTohMSxjYXJkaW5hbGl0eToxLHBhcmVudE5vZGU6bnVsbCxzdGF0czpudWxsLGluY2x1ZGU6ayR0LlVOU1BFQ0lGSUVELGluYm91bmQ6ZSxub2RlQXR0cmlidXRlczp7fX0pLHMuc3RydWN0dXJhbD0hMCx0aGlzLmluZGV4W2FdPXMsci5zZXROb2RlKGEscyksaS5ub2RlLmNhcmRpbmFsaXR5Kyssci5zZXRQYXJlbnQoYSxuKX1sZXQgbD1uZXcgSUt0KG51bGwpO2wuc3RydWN0dXJhbD0hMCxsLndlaWdodC0tLGU/ci5zZXRFZGdlKGEsbyxsKTpyLnNldEVkZ2UobyxhLGwpfSkpfSkpfWJ1aWxkU3ViaGllcmFyY2hpZXNGb3JOZWVkZWRGdW5jdGlvbnModCl7Q2UuZXhwb3J0cy5lYWNoKHQuZWRnZXMoKSwoZT0+e2xldCBuPXQuZWRnZShlKSxpPW5ldyBJS3Qobik7Q2UuZXhwb3J0cy5mb3JFYWNoKGkubWV0YWVkZ2UuYmFzZUVkZ2VMaXN0LCh0PT57Y29uc3QgZT10LnYuc3BsaXQoTSR0KTtmb3IobGV0IHQ9ZS5sZW5ndGg7dD49MDt0LS0pe2NvbnN0IG49ZS5zbGljZSgwLHQpLGk9dGhpcy5oaWVyYXJjaHkubm9kZShuLmpvaW4oTSR0KSk7aWYoaSl7aWYoaS50eXBlPT09QSR0Lk9QJiZ0aGlzLmhpZXJhcmNoeS5saWJyYXJ5RnVuY3Rpb25zW2kub3BdKWZvcihsZXQgdD0xO3Q8bi5sZW5ndGg7dCsrKXtjb25zdCBlPW4uc2xpY2UoMCx0KS5qb2luKE0kdCk7ZSYmdGhpcy5idWlsZFN1YmhpZXJhcmNoeShlKX1icmVha319fSkpfSkpfX1jbGFzcyBrS3R7Y29uc3RydWN0b3IodCxlLG4saSxyKXt0aGlzLm5vZGU9dCx0aGlzLnJlbmRlck5vZGVJbmZvPWUsdGhpcy5yZW5kZXJNZXRhZWRnZUluZm89bix0aGlzLmFubm90YXRpb25UeXBlPWksdGhpcy5keD0wLHRoaXMuZHk9MCx0aGlzLndpZHRoPTAsdGhpcy5oZWlnaHQ9MCxuJiZuLm1ldGFlZGdlJiYodGhpcy52PW4ubWV0YWVkZ2Uudix0aGlzLnc9bi5tZXRhZWRnZS53KSx0aGlzLmlzSW49cix0aGlzLnBvaW50cz1bXX19dmFyIExLdDshKGZ1bmN0aW9uKHQpe3RbdC5TSE9SVENVVD0wXT0iU0hPUlRDVVQiLHRbdC5DT05TVEFOVD0xXT0iQ09OU1RBTlQiLHRbdC5TVU1NQVJZPTJdPSJTVU1NQVJZIix0W3QuRUxMSVBTSVM9M109IkVMTElQU0lTIn0pKExLdHx8KExLdD17fSkpO2NsYXNzIFBLdHtjb25zdHJ1Y3Rvcigpe3RoaXMubGlzdD1bXSx0aGlzLm5vZGVOYW1lcz17fX1wdXNoKHQpe2lmKHQubm9kZS5uYW1lIGluIHRoaXMubm9kZU5hbWVzKXJldHVybjtpZih0aGlzLm5vZGVOYW1lc1t0Lm5vZGUubmFtZV09ITAsdGhpcy5saXN0Lmxlbmd0aDxUS3QpcmV0dXJuIHZvaWQgdGhpcy5saXN0LnB1c2godCk7bGV0IGU9dGhpcy5saXN0W3RoaXMubGlzdC5sZW5ndGgtMV07aWYoZS5hbm5vdGF0aW9uVHlwZT09PUxLdC5FTExJUFNJUyl7bGV0IHQ9ZS5ub2RlO3JldHVybiB2b2lkIHQuc2V0TnVtTW9yZU5vZGVzKCsrdC5udW1Nb3JlTm9kZXMpfWxldCBuPW5ldyBSJHQoMSk7dGhpcy5saXN0LnB1c2gobmV3IGtLdChuLG5ldyBOS3QobiksbnVsbCxMS3QuRUxMSVBTSVMsdC5pc0luKSl9fWNsYXNzIE5LdHtjb25zdHJ1Y3Rvcih0KXtpZih0aGlzLm5vZGU9dCx0aGlzLmV4cGFuZGVkPSExLHRoaXMuaW5Bbm5vdGF0aW9ucz1uZXcgUEt0LHRoaXMub3V0QW5ub3RhdGlvbnM9bmV3IFBLdCx0aGlzLng9MCx0aGlzLnk9MCx0aGlzLndpZHRoPTAsdGhpcy5oZWlnaHQ9MCx0aGlzLmluYm94V2lkdGg9MCx0aGlzLm91dGJveFdpZHRoPTAsdGhpcy5leGNsdWRlZD0hMSx0aGlzLnN0cnVjdHVyYWw9ITEsdGhpcy5sYWJlbE9mZnNldD0wLHRoaXMucmFkaXVzPTAsdGhpcy5sYWJlbEhlaWdodD0wLHRoaXMucGFkZGluZ1RvcD0wLHRoaXMucGFkZGluZ0xlZnQ9MCx0aGlzLnBhZGRpbmdSaWdodD0wLHRoaXMucGFkZGluZ0JvdHRvbT0wLHRoaXMuaXNJbkV4dHJhY3Q9ITEsdGhpcy5pc091dEV4dHJhY3Q9ITEsdGhpcy5jb3JlQm94PXt3aWR0aDowLGhlaWdodDowfSx0aGlzLmlzRmFkZWRPdXQ9ITEsdGhpcy5kaXNwbGF5TmFtZT10Lm5hbWUuc3Vic3RyaW5nKHQubmFtZS5sYXN0SW5kZXhPZihNJHQpKzEpLHQudHlwZT09PUEkdC5NRVRBJiZ0LmFzc29jaWF0ZWRGdW5jdGlvbil7Y29uc3QgdD10aGlzLmRpc3BsYXlOYW1lLm1hdGNoKENLdCk7dD90aGlzLmRpc3BsYXlOYW1lPXRbMV06Q2UuZXhwb3J0cy5zdGFydHNXaXRoKHRoaXMuZGlzcGxheU5hbWUsVCR0KSYmKHRoaXMuZGlzcGxheU5hbWU9dGhpcy5kaXNwbGF5TmFtZS5zdWJzdHJpbmcoVCR0Lmxlbmd0aCkpfX1pc0luQ29yZSgpe3JldHVybiF0aGlzLmlzSW5FeHRyYWN0JiYhdGhpcy5pc091dEV4dHJhY3QmJiF0aGlzLmlzTGlicmFyeUZ1bmN0aW9ufX1jbGFzcyBJS3R7Y29uc3RydWN0b3IodCl7dGhpcy5tZXRhZWRnZT10LHRoaXMuYWRqb2luaW5nTWV0YWVkZ2U9bnVsbCx0aGlzLnN0cnVjdHVyYWw9ITEsdGhpcy53ZWlnaHQ9MSx0aGlzLmlzRmFkZWRPdXQ9ITF9fWZ1bmN0aW9uIFJLdCh0LGUsbixpLHIpe2xldCBvPW5ldyBrS3QoZSxuLGksciwhMCk7dC5pbkFubm90YXRpb25zLnB1c2gobyl9ZnVuY3Rpb24gT0t0KHQsZSxuLGkscil7bGV0IG89bmV3IGtLdChlLG4saSxyLCExKTt0Lm91dEFubm90YXRpb25zLnB1c2gobyl9Y2xhc3Mgekt0IGV4dGVuZHMgTkt0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIodCk7bGV0IG49dC5tZXRhZ3JhcGguZ3JhcGgoKTt0aGlzLmNvcmVHcmFwaD1ZJHQobi5uYW1lLEMkdC5DT1JFLGUpLHRoaXMuaW5FeHRyYWN0Qm94PXt3aWR0aDowLGhlaWdodDowfSx0aGlzLm91dEV4dHJhY3RCb3g9e3dpZHRoOjAsaGVpZ2h0OjB9LHRoaXMubGlicmFyeUZ1bmN0aW9uc0JveD17d2lkdGg6MCxoZWlnaHQ6MH0sdGhpcy5pc29sYXRlZEluRXh0cmFjdD1bXSx0aGlzLmlzb2xhdGVkT3V0RXh0cmFjdD1bXSx0aGlzLmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0PVtdfX1mdW5jdGlvbiBES3QodCxlKXt0LmNvcmVHcmFwaCYmKGZ1bmN0aW9uIG4odCxlKXtDZS5leHBvcnRzLmVhY2godC5ub2RlcygpLChuPT57bGV0IGk9dC5ub2RlKG4pO2lmKGkuZXhwYW5kZWQ9ZT4xLGU+MClzd2l0Y2goaS5ub2RlLnR5cGUpe2Nhc2UgQSR0Lk1FVEE6Y2FzZSBBJHQuU0VSSUVTOkRLdChpLGUtMSl9fSkpfSkodC5jb3JlR3JhcGgsZSl9ZnVuY3Rpb24gQkt0KHQsZSxuKXtsZXQgaT10Lm5vZGUoZSkscj10Lm5vZGUobiksbz10LmVkZ2UoZSxuKTsoaS5ub2RlLmluY2x1ZGUhPT1rJHQuSU5DTFVERSYmci5ub2RlLmluY2x1ZGUhPT1rJHQuSU5DTFVERXx8aS5ub2RlLmluY2x1ZGU9PT1rJHQuRVhDTFVERXx8ci5ub2RlLmluY2x1ZGU9PT1rJHQuRVhDTFVERSkmJihPS3QoaSxyLm5vZGUscixvLExLdC5TSE9SVENVVCksUkt0KHIsaS5ub2RlLGksbyxMS3QuU0hPUlRDVVQpLHQucmVtb3ZlRWRnZShlLG4pKX1mdW5jdGlvbiBIS3QodCxlLG4pe2xldCBpPXQuY29yZUdyYXBoLHI9aS5ub2RlKGUpO3IuaXNPdXRFeHRyYWN0PSEwLENlLmV4cG9ydHMuZWFjaChpLnByZWRlY2Vzc29ycyhlKSwoKHQsbik9PntCS3QoaSx0LGUpfSkpLENlLmV4cG9ydHMuZWFjaChpLnN1Y2Nlc3NvcnMoZSksKCh0LG4pPT57Qkt0KGksZSx0KX0pKSwwPT09aS5uZWlnaGJvcnMoZSkubGVuZ3RoJiYoci5ub2RlLmluY2x1ZGU9ayR0LkVYQ0xVREUsdC5pc29sYXRlZE91dEV4dHJhY3QucHVzaChyKSxpLnJlbW92ZU5vZGUoZSkpfWZ1bmN0aW9uIEZLdCh0LGUsbil7bGV0IGk9dC5jb3JlR3JhcGgscj1pLm5vZGUoZSk7ci5pc0luRXh0cmFjdD0hMCxDZS5leHBvcnRzLmVhY2goaS5zdWNjZXNzb3JzKGUpLCgodCxuKT0+e0JLdChpLGUsdCl9KSksQ2UuZXhwb3J0cy5lYWNoKGkucHJlZGVjZXNzb3JzKGUpLCgodCxuKT0+e0JLdChpLHQsZSl9KSksMD09PWkubmVpZ2hib3JzKGUpLmxlbmd0aCYmKHIubm9kZS5pbmNsdWRlPWskdC5FWENMVURFLHQuaXNvbGF0ZWRJbkV4dHJhY3QucHVzaChyKSxpLnJlbW92ZU5vZGUoZSkpfWZ1bmN0aW9uIFZLdCh0LGUpe2lmKHQudHlwZT09PUEkdC5PUCl7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspaWYodC5vcD09PWVbbl0pcmV0dXJuITB9ZWxzZSBpZih0LnR5cGU9PT1BJHQuTUVUQSl7bGV0IG49dC5nZXRSb290T3AoKTtpZihuKWZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKG4ub3A9PT1lW3RdKXJldHVybiEwfXJldHVybiExfWNvbnN0IFVLdD17YW5pbWF0aW9uOntkdXJhdGlvbjoyNTB9LGdyYXBoOnttZXRhOntub2RlU2VwOjUscmFua1NlcDoyNSxlZGdlU2VwOjV9LHNlcmllczp7bm9kZVNlcDo1LHJhbmtTZXA6MjUsZWRnZVNlcDo1fSxwYWRkaW5nOntwYWRkaW5nVG9wOjQwLHBhZGRpbmdMZWZ0OjIwfX0sc3Vic2NlbmU6e21ldGE6e3BhZGRpbmdUb3A6MTAscGFkZGluZ0JvdHRvbToxMCxwYWRkaW5nTGVmdDoxMCxwYWRkaW5nUmlnaHQ6MTAsbGFiZWxIZWlnaHQ6MjAsZXh0cmFjdFhPZmZzZXQ6MTUsZXh0cmFjdFlPZmZzZXQ6MjB9LHNlcmllczp7cGFkZGluZ1RvcDoxMCxwYWRkaW5nQm90dG9tOjEwLHBhZGRpbmdMZWZ0OjEwLHBhZGRpbmdSaWdodDoxMCxsYWJlbEhlaWdodDoxMH19LG5vZGVTaXplOnttZXRhOntyYWRpdXM6NSx3aWR0aDo2MCxtYXhMYWJlbFdpZHRoOjUyLGhlaWdodDpjRSgpLmRvbWFpbihbMSwyMDBdKS5yYW5nZShbMTUsNjBdKS5jbGFtcCghMCksZXhwYW5kQnV0dG9uUmFkaXVzOjN9LG9wOnt3aWR0aDoxNSxoZWlnaHQ6NixyYWRpdXM6MyxsYWJlbE9mZnNldDotOCxtYXhMYWJlbFdpZHRoOjMwfSxzZXJpZXM6e2V4cGFuZGVkOntyYWRpdXM6MTAsbGFiZWxPZmZzZXQ6MH0sdmVydGljYWw6e3dpZHRoOjE2LGhlaWdodDoxMyxsYWJlbE9mZnNldDotMTN9LGhvcml6b250YWw6e3dpZHRoOjI0LGhlaWdodDo4LHJhZGl1czoxMCxsYWJlbE9mZnNldDotMTB9fSxicmlkZ2U6e3dpZHRoOjIwLGhlaWdodDoyMCxyYWRpdXM6MixsYWJlbE9mZnNldDowfX0sc2hvcnRjdXRTaXplOntvcDp7d2lkdGg6MTAsaGVpZ2h0OjR9LG1ldGE6e3dpZHRoOjEyLGhlaWdodDo0LHJhZGl1czoxfSxzZXJpZXM6e3dpZHRoOjE0LGhlaWdodDo0fX0sYW5ub3RhdGlvbnM6e2luYm94V2lkdGg6NTAsb3V0Ym94V2lkdGg6NTAseE9mZnNldDoxMCx5T2Zmc2V0OjMsbGFiZWxPZmZzZXQ6MixtYXhMYWJlbFdpZHRoOjQwfSxjb25zdGFudDp7c2l6ZTp7d2lkdGg6NCxoZWlnaHQ6NH19LHNlcmllczp7bWF4U3RhY2tDb3VudDozLHBhcmFsbGVsU3RhY2tPZmZzZXRSYXRpbzouMix0b3dlclN0YWNrT2Zmc2V0UmF0aW86LjV9LG1pbmltYXA6e3NpemU6MTUwfX0sakt0PTE0MDtmdW5jdGlvbiBHS3QodCl7dC5ub2RlLmlzR3JvdXBOb2RlJiYoZnVuY3Rpb24gZSh0KXtsZXQgZT10LmNvcmVHcmFwaC5ub2RlcygpLm1hcCgoZT0+dC5jb3JlR3JhcGgubm9kZShlKSkpLmNvbmNhdCh0Lmlzb2xhdGVkSW5FeHRyYWN0LHQuaXNvbGF0ZWRPdXRFeHRyYWN0LHQubGlicmFyeUZ1bmN0aW9uc0V4dHJhY3QpO0NlLmV4cG9ydHMuZWFjaChlLCh0PT57c3dpdGNoKHQubm9kZS50eXBlKXtjYXNlIEEkdC5PUDpDZS5leHBvcnRzLmV4dGVuZCh0LFVLdC5ub2RlU2l6ZS5vcCk7YnJlYWs7Y2FzZSBBJHQuQlJJREdFOkNlLmV4cG9ydHMuZXh0ZW5kKHQsVUt0Lm5vZGVTaXplLmJyaWRnZSk7YnJlYWs7Y2FzZSBBJHQuTUVUQTppZih0LmV4cGFuZGVkKXtHS3QodCl9ZWxzZSBDZS5leHBvcnRzLmV4dGVuZCh0LFVLdC5ub2RlU2l6ZS5tZXRhKSx0LmhlaWdodD1VS3Qubm9kZVNpemUubWV0YS5oZWlnaHQodC5ub2RlLmNhcmRpbmFsaXR5KTticmVhaztjYXNlIEEkdC5TRVJJRVM6aWYodC5leHBhbmRlZCl7Q2UuZXhwb3J0cy5leHRlbmQodCxVS3Qubm9kZVNpemUuc2VyaWVzLmV4cGFuZGVkKSxHS3QodCl9ZWxzZXtDZS5leHBvcnRzLmV4dGVuZCh0LHQubm9kZS5oYXNOb25Db250cm9sRWRnZXM/VUt0Lm5vZGVTaXplLnNlcmllcy52ZXJ0aWNhbDpVS3Qubm9kZVNpemUuc2VyaWVzLmhvcml6b250YWwpfWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVucmVjb2duaXplZCBub2RlIHR5cGU6ICIrdC5ub2RlLnR5cGUpfXQuZXhwYW5kZWR8fChmdW5jdGlvbiBlKHQpe3QuaW5ib3hXaWR0aD10LmluQW5ub3RhdGlvbnMubGlzdC5sZW5ndGg+MD9VS3QuYW5ub3RhdGlvbnMuaW5ib3hXaWR0aDowLHQub3V0Ym94V2lkdGg9dC5vdXRBbm5vdGF0aW9ucy5saXN0Lmxlbmd0aD4wP1VLdC5hbm5vdGF0aW9ucy5vdXRib3hXaWR0aDowLHQuY29yZUJveC53aWR0aD10LndpZHRoLHQuY29yZUJveC5oZWlnaHQ9dC5oZWlnaHQsdC53aWR0aD1NYXRoLm1heCh0LmNvcmVCb3gud2lkdGgrdC5pbmJveFdpZHRoK3Qub3V0Ym94V2lkdGgsMyp0LmRpc3BsYXlOYW1lLmxlbmd0aCl9KSh0KSwoZnVuY3Rpb24gbih0KXtpZih0LmV4cGFuZGVkKXJldHVybjtsZXQgZT10LmluQW5ub3RhdGlvbnMubGlzdCxuPXQub3V0QW5ub3RhdGlvbnMubGlzdDtDZS5leHBvcnRzLmVhY2goZSwodD0+cUt0KHQpKSksQ2UuZXhwb3J0cy5lYWNoKG4sKHQ9PnFLdCh0KSkpO2xldCBpPVVLdC5hbm5vdGF0aW9ucyxyPUNlLmV4cG9ydHMucmVkdWNlKGUsKChlLG4scik9PntsZXQgbz1yPjA/aS55T2Zmc2V0OjA7cmV0dXJuIG4uZHg9LSh0LmNvcmVCb3gud2lkdGgrbi53aWR0aCkvMi1pLnhPZmZzZXQsbi5keT1lK28rbi5oZWlnaHQvMixlK28rbi5oZWlnaHR9KSwwKTtDZS5leHBvcnRzLmVhY2goZSwodD0+e3QuZHktPXIvMix0LmxhYmVsT2Zmc2V0PWkubGFiZWxPZmZzZXR9KSk7bGV0IG89Q2UuZXhwb3J0cy5yZWR1Y2UobiwoKGUsbixyKT0+e2xldCBvPXI+MD9pLnlPZmZzZXQ6MDtyZXR1cm4gbi5keD0odC5jb3JlQm94LndpZHRoK24ud2lkdGgpLzIraS54T2Zmc2V0LG4uZHk9ZStvK24uaGVpZ2h0LzIsZStvK24uaGVpZ2h0fSksMCk7Q2UuZXhwb3J0cy5lYWNoKG4sKHQ9Pnt0LmR5LT1vLzIsdC5sYWJlbE9mZnNldD1pLmxhYmVsT2Zmc2V0fSkpO2xldCBhPU1hdGgubWluKHQuaGVpZ2h0LzItdC5yYWRpdXMsci8yKTthPWE8MD8wOmE7bGV0IHM9Y0UoKS5kb21haW4oWzAsZS5sZW5ndGgtMV0pLnJhbmdlKFstYSxhXSk7Q2UuZXhwb3J0cy5lYWNoKGUsKChuLGkpPT57bi5wb2ludHM9W3tkeDpuLmR4K24ud2lkdGgvMixkeTpuLmR5fSx7ZHg6LXQuY29yZUJveC53aWR0aC8yLGR5OmUubGVuZ3RoPjE/cyhpKTowfV19KSk7bGV0IGw9TWF0aC5taW4odC5oZWlnaHQvMi10LnJhZGl1cyxvLzIpO2w9bDwwPzA6bDtsZXQgYz1jRSgpLmRvbWFpbihbMCxuLmxlbmd0aC0xXSkucmFuZ2UoWy1sLGxdKTtDZS5leHBvcnRzLmVhY2gobiwoKGUsaSk9PntlLnBvaW50cz1be2R4OnQuY29yZUJveC53aWR0aC8yLGR5Om4ubGVuZ3RoPjE/YyhpKTowfSx7ZHg6ZS5keC1lLndpZHRoLzIsZHk6ZS5keX1dfSkpLHQuaGVpZ2h0PU1hdGgubWF4KHQuaGVpZ2h0LHIsbyl9KSh0KX0pKX0pKHQpLHQubm9kZS50eXBlPT09QSR0Lk1FVEE/KGZ1bmN0aW9uIG4odCl7bGV0IGU9VUt0LnN1YnNjZW5lLm1ldGE7Q2UuZXhwb3J0cy5leHRlbmQodCxlKSxDZS5leHBvcnRzLmV4dGVuZCh0LmNvcmVCb3gsV0t0KHQuY29yZUdyYXBoLFVLdC5ncmFwaC5tZXRhKSk7bGV0IG49dC5pc29sYXRlZEluRXh0cmFjdC5sZW5ndGg/Q2UuZXhwb3J0cy5tYXhCeSh0Lmlzb2xhdGVkSW5FeHRyYWN0LCh0PT50LndpZHRoKSkud2lkdGg6bnVsbDt0LmluRXh0cmFjdEJveC53aWR0aD1udWxsIT1uP246MCx0LmluRXh0cmFjdEJveC5oZWlnaHQ9Q2UuZXhwb3J0cy5yZWR1Y2UodC5pc29sYXRlZEluRXh0cmFjdCwoKHQsbixpKT0+e2xldCByPWk+MD9lLmV4dHJhY3RZT2Zmc2V0OjA7cmV0dXJuIG4ueD0wLG4ueT10K3Irbi5oZWlnaHQvMix0K3Irbi5oZWlnaHR9KSwwKTtsZXQgaT10Lmlzb2xhdGVkT3V0RXh0cmFjdC5sZW5ndGg/Q2UuZXhwb3J0cy5tYXhCeSh0Lmlzb2xhdGVkT3V0RXh0cmFjdCwodD0+dC53aWR0aCkpLndpZHRoOm51bGw7dC5vdXRFeHRyYWN0Qm94LndpZHRoPW51bGwhPWk/aTowLHQub3V0RXh0cmFjdEJveC5oZWlnaHQ9Q2UuZXhwb3J0cy5yZWR1Y2UodC5pc29sYXRlZE91dEV4dHJhY3QsKCh0LG4saSk9PntsZXQgcj1pPjA/ZS5leHRyYWN0WU9mZnNldDowO3JldHVybiBuLng9MCxuLnk9dCtyK24uaGVpZ2h0LzIsdCtyK24uaGVpZ2h0fSksMCk7bGV0IHI9dC5saWJyYXJ5RnVuY3Rpb25zRXh0cmFjdC5sZW5ndGg/Q2UuZXhwb3J0cy5tYXhCeSh0LmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0LCh0PT50LndpZHRoKSkud2lkdGg6bnVsbDt0LmxpYnJhcnlGdW5jdGlvbnNCb3gud2lkdGg9bnVsbCE9cj9yOjAsdC5saWJyYXJ5RnVuY3Rpb25zQm94LmhlaWdodD1DZS5leHBvcnRzLnJlZHVjZSh0LmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0LCgodCxuLGkpPT57bGV0IHI9aT4wP2UuZXh0cmFjdFlPZmZzZXQ6MDtyZXR1cm4gbi54PTAsbi55PXQrcituLmhlaWdodC8yLHQrcituLmhlaWdodH0pLDApO2xldCBvPTA7dC5pc29sYXRlZEluRXh0cmFjdC5sZW5ndGg+MCYmbysrO3QuaXNvbGF0ZWRPdXRFeHRyYWN0Lmxlbmd0aD4wJiZvKys7dC5saWJyYXJ5RnVuY3Rpb25zRXh0cmFjdC5sZW5ndGg+MCYmbysrO3QuY29yZUdyYXBoLm5vZGVDb3VudCgpPjAmJm8rKztsZXQgYT1VS3Quc3Vic2NlbmUubWV0YS5leHRyYWN0WE9mZnNldCxzPW88PTE/MDpvKmE7Y29uc3QgbD1NYXRoLm1heChqS3QsdC5pbkV4dHJhY3RCb3gud2lkdGgrdC5vdXRFeHRyYWN0Qm94LndpZHRoKTt0LmNvcmVCb3gud2lkdGgrPWwrcyt0LmxpYnJhcnlGdW5jdGlvbnNCb3gud2lkdGgrcyx0LmNvcmVCb3guaGVpZ2h0PWUubGFiZWxIZWlnaHQrTWF0aC5tYXgodC5pbkV4dHJhY3RCb3guaGVpZ2h0LHQuY29yZUJveC5oZWlnaHQsdC5saWJyYXJ5RnVuY3Rpb25zQm94LmhlaWdodCx0Lm91dEV4dHJhY3RCb3guaGVpZ2h0KSx0LndpZHRoPXQuY29yZUJveC53aWR0aCtlLnBhZGRpbmdMZWZ0K2UucGFkZGluZ1JpZ2h0LHQuaGVpZ2h0PXQucGFkZGluZ1RvcCt0LmNvcmVCb3guaGVpZ2h0K3QucGFkZGluZ0JvdHRvbX0pKHQpOnQubm9kZS50eXBlPT09QSR0LlNFUklFUyYmKGZ1bmN0aW9uIGkodCl7bGV0IGU9dC5jb3JlR3JhcGgsbj1VS3Quc3Vic2NlbmUuc2VyaWVzO0NlLmV4cG9ydHMuZXh0ZW5kKHQsbiksQ2UuZXhwb3J0cy5leHRlbmQodC5jb3JlQm94LFdLdCh0LmNvcmVHcmFwaCxVS3QuZ3JhcGguc2VyaWVzKSksQ2UuZXhwb3J0cy5lYWNoKGUubm9kZXMoKSwodD0+e2Uubm9kZSh0KS5leGNsdWRlZD0hMX0pKSx0LndpZHRoPXQuY29yZUJveC53aWR0aCtuLnBhZGRpbmdMZWZ0K24ucGFkZGluZ1JpZ2h0LHQuaGVpZ2h0PXQuY29yZUJveC5oZWlnaHQrbi5wYWRkaW5nVG9wK24ucGFkZGluZ0JvdHRvbX0pKHQpfWZ1bmN0aW9uIFdLdCh0LGUpe0NlLmV4cG9ydHMuZXh0ZW5kKHQuZ3JhcGgoKSx7bm9kZXNlcDplLm5vZGVTZXAscmFua3NlcDplLnJhbmtTZXAsZWRnZXNlcDplLmVkZ2VTZXB9KTtsZXQgbj1bXTtpZihDZS5leHBvcnRzLmVhY2godC5ub2RlcygpLChlPT57dC5ub2RlKGUpLm5vZGUudHlwZT09PUEkdC5CUklER0V8fG4ucHVzaChlKX0pKSwhbi5sZW5ndGgpcmV0dXJue3dpZHRoOjAsaGVpZ2h0OjB9O3QkdC5sYXlvdXQodCk7bGV0IGk9MS8wLHI9MS8wLG89LTEvMCxhPS0xLzA7cmV0dXJuIENlLmV4cG9ydHMuZWFjaChuLChlPT57bGV0IG49dC5ub2RlKGUpLHM9LjUqbi53aWR0aCxsPW4ueC1zLGM9bi54K3M7aT1sPGk/bDppLG89Yz5vP2M6bztsZXQgdT0uNSpuLmhlaWdodCxoPW4ueS11LGQ9bi55K3U7cj1oPHI/aDpyLGE9ZD5hP2Q6YX0pKSxDZS5leHBvcnRzLmVhY2godC5lZGdlcygpLChlPT57bGV0IG49dC5lZGdlKGUpO2lmKG4uc3RydWN0dXJhbClyZXR1cm47bGV0IHM9dC5ub2RlKG4ubWV0YWVkZ2UudiksbD10Lm5vZGUobi5tZXRhZWRnZS53KTtpZigzPT09bi5wb2ludHMubGVuZ3RoJiYoZnVuY3Rpb24gYyh0KXtsZXQgZT1YS3QodFswXSx0WzFdKTtmb3IobGV0IG49MTtuPHQubGVuZ3RoLTE7bisrKXtsZXQgaT1YS3QodFtuXSx0W24rMV0pO2lmKE1hdGguYWJzKGktZSk+MSlyZXR1cm4hMTtlPWl9cmV0dXJuITB9KShuLnBvaW50cykpe2lmKG51bGwhPXMpe2xldCB0PXMuZXhwYW5kZWQ/cy54OllLdChzKTtuLnBvaW50c1swXS54PXR9aWYobnVsbCE9bCl7bGV0IHQ9bC5leHBhbmRlZD9sLng6WUt0KGwpO24ucG9pbnRzWzJdLng9dH1uLnBvaW50cz1bbi5wb2ludHNbMF0sbi5wb2ludHNbMV1dfW51bGwhPWwmJihuLnBvaW50c1tuLnBvaW50cy5sZW5ndGgtMV09JEt0KG4ucG9pbnRzW24ucG9pbnRzLmxlbmd0aC0yXSxsKSksbnVsbCE9cyYmKG4ucG9pbnRzWzBdPSRLdChuLnBvaW50c1sxXSxzKSksQ2UuZXhwb3J0cy5lYWNoKG4ucG9pbnRzLCh0PT57aT10Lng8aT90Lng6aSxvPXQueD5vP3QueDpvLHI9dC55PHI/dC55OnIsYT10Lnk+YT90Lnk6YX0pKX0pKSxDZS5leHBvcnRzLmVhY2godC5ub2RlcygpLChlPT57bGV0IG49dC5ub2RlKGUpO24ueC09aSxuLnktPXJ9KSksQ2UuZXhwb3J0cy5lYWNoKHQuZWRnZXMoKSwoZT0+e0NlLmV4cG9ydHMuZWFjaCh0LmVkZ2UoZSkucG9pbnRzLCh0PT57dC54LT1pLHQueS09cn0pKX0pKSx7d2lkdGg6by1pLGhlaWdodDphLXJ9fWZ1bmN0aW9uIHFLdCh0KXtzd2l0Y2godC5hbm5vdGF0aW9uVHlwZSl7Y2FzZSBMS3QuQ09OU1RBTlQ6Q2UuZXhwb3J0cy5leHRlbmQodCxVS3QuY29uc3RhbnQuc2l6ZSk7YnJlYWs7Y2FzZSBMS3QuU0hPUlRDVVQ6aWYodC5ub2RlLnR5cGU9PT1BJHQuT1ApQ2UuZXhwb3J0cy5leHRlbmQodCxVS3Quc2hvcnRjdXRTaXplLm9wKTtlbHNlIGlmKHQubm9kZS50eXBlPT09QSR0Lk1FVEEpQ2UuZXhwb3J0cy5leHRlbmQodCxVS3Quc2hvcnRjdXRTaXplLm1ldGEpO2Vsc2V7aWYodC5ub2RlLnR5cGUhPT1BJHQuU0VSSUVTKXRocm93IEVycm9yKCJJbnZhbGlkIG5vZGUgdHlwZTogIit0Lm5vZGUudHlwZSk7Q2UuZXhwb3J0cy5leHRlbmQodCxVS3Quc2hvcnRjdXRTaXplLnNlcmllcyl9YnJlYWs7Y2FzZSBMS3QuU1VNTUFSWTpDZS5leHBvcnRzLmV4dGVuZCh0LFVLdC5jb25zdGFudC5zaXplKX19ZnVuY3Rpb24gWUt0KHQpe2lmKHQuZXhwYW5kZWQpcmV0dXJuIHQueDtyZXR1cm4gdC54LXQud2lkdGgvMisodC5pbkFubm90YXRpb25zLmxpc3QubGVuZ3RoP3QuaW5ib3hXaWR0aDowKSt0LmNvcmVCb3gud2lkdGgvMn1mdW5jdGlvbiBYS3QodCxlKXtyZXR1cm4gMTgwKk1hdGguYXRhbigoZS55LXQueSkvKGUueC10LngpKS9NYXRoLlBJfWZ1bmN0aW9uICRLdCh0LGUpe2xldCBuLGkscj1lLmV4cGFuZGVkP2UueDpZS3QoZSksbz1lLnksYT10LngtcixzPXQueS1vLGw9ZS5leHBhbmRlZD9lLndpZHRoOmUuY29yZUJveC53aWR0aCxjPWUuZXhwYW5kZWQ/ZS5oZWlnaHQ6ZS5jb3JlQm94LmhlaWdodDtyZXR1cm4gTWF0aC5hYnMocykqbC8yPk1hdGguYWJzKGEpKmMvMj8oczwwJiYoYz0tYyksbj0wPT09cz8wOmMvMiphL3MsaT1jLzIpOihhPDAmJihsPS1sKSxuPWwvMixpPTA9PT1hPzA6bC8yKnMvYSkse3g6cituLHk6bytpfX1jb25zdCBLS3Q9YSR0LFpLdD1uJHQ7bGV0IEpLdD1be2JhY2tncm91bmRfY29sb3I6IiNDQzJGMkMiLGxhYmVsOiJOYU4ifSx7YmFja2dyb3VuZF9jb2xvcjoiI0ZGOEQwMCIsbGFiZWw6Ii3iiJ4ifSx7YmFja2dyb3VuZF9jb2xvcjoiI0VBRUFFQSIsbGFiZWw6Ii0ifSx7YmFja2dyb3VuZF9jb2xvcjoiI0E1QTVBNSIsbGFiZWw6IjAifSx7YmFja2dyb3VuZF9jb2xvcjoiIzI2MjYyNiIsbGFiZWw6IisifSx7YmFja2dyb3VuZF9jb2xvcjoiIzAwM0VENCIsbGFiZWw6IiviiJ4ifV07ZnVuY3Rpb24gUUt0KHQsZSxuKXtudWxsIT10LmF0dHIoInRyYW5zZm9ybSIpJiYodD10LnRyYW5zaXRpb24oInBvc2l0aW9uIikpLHQuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrZSsiLCIrbisiKSIpfWZ1bmN0aW9uIHRadCh0LGUsbixpLHIpe3QudHJhbnNpdGlvbigpLmF0dHIoIngiLGUtaS8yKS5hdHRyKCJ5IixuLXIvMikuYXR0cigid2lkdGgiLGkpLmF0dHIoImhlaWdodCIscil9ZnVuY3Rpb24gZVp0KHQsZSxuLGkscil7dC50cmFuc2l0aW9uKCkuYXR0cigiY3giLGUpLmF0dHIoImN5IixuKS5hdHRyKCJyeCIsaS8yKS5hdHRyKCJyeSIsci8yKX1mdW5jdGlvbiBuWnQodCxlKXtyZXR1cm4gZT90LnRvRml4ZWQoMCk6TWF0aC5hYnModCk+PTE/dC50b0ZpeGVkKDEpOnQudG9FeHBvbmVudGlhbCgxKX1mdW5jdGlvbiBpWnQodCxlLG4saSxyPTYwLG89MTAsYT0wLHMpe2lmKER1KHQucGFyZW50Tm9kZSkuc2VsZWN0QWxsKCIuaGVhbHRoLXBpbGwiKS5yZW1vdmUoKSwhZSlyZXR1cm47Y29uc3QgbD1lLnZhbHVlLGM9bC5zbGljZSgyLDgpLHU9Y1swXSxoPWNbMV0sZD1jWzVdO2xldCBwPWxbMV07Y29uc3QgZj17bWluOmxbOF0sbWF4OmxbOV0sbWVhbjpsWzEwXSxzdGRkZXY6TWF0aC5zcXJ0KGxbMTFdKX07bnVsbD09ciYmKHI9NjApLG51bGw9PW8mJihvPTEwKSxudWxsPT1hJiYoYT0wKSxudWxsIT1uJiZuLm5vZGUudHlwZT09PUEkdC5PUCYmKHIvPTIsby89Mik7bGV0IG09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG8kdCwiZyIpO20uY2xhc3NMaXN0LmFkZCgiaGVhbHRoLXBpbGwiKTtsZXQgZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobyR0LCJkZWZzIik7bS5hcHBlbmRDaGlsZChnKTtsZXQgXz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobyR0LCJsaW5lYXJHcmFkaWVudCIpO2NvbnN0IHk9ImhlYWx0aC1waWxsLWdyYWRpZW50LSIraTtfLnNldEF0dHJpYnV0ZSgiaWQiLHkpO2xldCB2PTAsYj0iMCUiO2ZvcihsZXQgdD0wO3Q8Yy5sZW5ndGg7dCsrKXtpZighY1t0XSljb250aW51ZTt2Kz1jW3RdO2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhvJHQsInN0b3AiKTtlLnNldEF0dHJpYnV0ZSgib2Zmc2V0IixiKSxlLnNldEF0dHJpYnV0ZSgic3RvcC1jb2xvciIsSkt0W3RdLmJhY2tncm91bmRfY29sb3IpLF8uYXBwZW5kQ2hpbGQoZSk7bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG8kdCwic3RvcCIpLGk9MTAwKnYvcCsiJSI7bi5zZXRBdHRyaWJ1dGUoIm9mZnNldCIsaSksbi5zZXRBdHRyaWJ1dGUoInN0b3AtY29sb3IiLEpLdFt0XS5iYWNrZ3JvdW5kX2NvbG9yKSxfLmFwcGVuZENoaWxkKG4pLGI9aX1nLmFwcGVuZENoaWxkKF8pO2xldCB4PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhvJHQsInJlY3QiKTt4LnNldEF0dHJpYnV0ZSgiZmlsbCIsInVybCgjIit5KyIpIikseC5zZXRBdHRyaWJ1dGUoIndpZHRoIixTdHJpbmcocikpLHguc2V0QXR0cmlidXRlKCJoZWlnaHQiLFN0cmluZyhvKSkseC5zZXRBdHRyaWJ1dGUoInkiLFN0cmluZyhhKSksbS5hcHBlbmRDaGlsZCh4KTtsZXQgdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobyR0LCJ0aXRsZSIpO3cudGV4dENvbnRlbnQ9KGZ1bmN0aW9uIFModCxlLG4saSl7bGV0IHI9IkRldmljZTogIit0LmRldmljZV9uYW1lKyJcbiI7cis9ImR0eXBlOiAiK3QuZHR5cGUrIlxuIjtsZXQgbz0iKHNjYWxhcikiO3Quc2hhcGUubGVuZ3RoPjAmJihvPSIoIit0LnNoYXBlLmpvaW4oIiwiKSsiKSIpLHIrPSJcbnNoYXBlOiAiK28rIlxuXG4iLHIrPSIjKGVsZW1lbnRzKTogIitlKyJcbiI7Y29uc3QgYT1bXTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyluW3RdPjAmJmEucHVzaCgiIygiK0pLdFt0XS5sYWJlbCsiKTogIituW3RdKTtyZXR1cm4gcis9YS5qb2luKCIsICIpKyJcblxuIixpLm1heD49aS5taW4mJihyKz0ibWluOiAiK2kubWluKyIsIG1heDogIitpLm1heCsiXG4iLHIrPSJtZWFuOiAiK2kubWVhbisiLCBzdGRkZXY6ICIraS5zdGRkZXYpLHJ9KShlLHAsYyxmKSxtLmFwcGVuZENoaWxkKHcpO2xldCBNPSExO2lmKG51bGwhPW4pe2xldCB0PW4ueS1vLW4uaGVpZ2h0LzItMjtpZihuLmxhYmVsT2Zmc2V0PDAmJih0Kz1uLmxhYmVsT2Zmc2V0KSxtLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrKG4ueC1yLzIpKyIsICIrdCsiKSIpLGNbMl18fGNbM118fGNbNF0pe2xldCB0PW4ubm9kZS5hdHRyO2lmKHQmJnQubGVuZ3RoKWZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKCJUIj09PXRbZV0ua2V5KXtsZXQgbj10W2VdLnZhbHVlLnR5cGU7TT1uJiYvXkRUXyhCT09MfElOVHxVSU5UKS8udGVzdChuKTticmVha319fWxldCBFPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhvJHQsInRleHQiKTtpZihOdW1iZXIuaXNGaW5pdGUoZi5taW4pJiZOdW1iZXIuaXNGaW5pdGUoZi5tYXgpKXtjb25zdCB0PW5adChmLm1pbixNKSxlPW5adChmLm1heCxNKTtpZihFLnRleHRDb250ZW50PXA+MT90KyIgfiAiK2U6dCx1PjB8fGg+MHx8ZD4wKXtFLnRleHRDb250ZW50Kz0iICgiO2NvbnN0IHQ9W107dT4wJiZ0LnB1c2goYE5hTsOXJHt1fWApLGg+MCYmdC5wdXNoKGAt4oiew5cke2h9YCksZD4wJiZ0LnB1c2goYCviiJ7DlyR7ZH1gKSxFLnRleHRDb250ZW50Kz10LmpvaW4oIjsgIikrIikifX1lbHNlIEUudGV4dENvbnRlbnQ9IihObyBmaW5pdGUgZWxlbWVudHMpIjtFLmNsYXNzTGlzdC5hZGQoImhlYWx0aC1waWxsLXN0YXRzIiksbnVsbD09cyYmKHM9ci8yKSxFLnNldEF0dHJpYnV0ZSgieCIsU3RyaW5nKHMpKSxFLnNldEF0dHJpYnV0ZSgieSIsU3RyaW5nKGEtMikpLG0uYXBwZW5kQ2hpbGQoRSksZXIodC5wYXJlbnROb2RlKS5hcHBlbmRDaGlsZChtKX12YXIgclp0O2Z1bmN0aW9uIG9adCh0LGUpe2NvbnN0IG49dC5nZXRDb250ZXh0TWVudSgpLGk9RHUodC5nZXRDb250ZXh0TWVudSgpKTtyZXR1cm4gZnVuY3Rpb24ocixvKXtsZXQgYT1NdTtjb25zdCBzPShmdW5jdGlvbiBsKHQpe2xldCBlPTAsbj0wLGk9dDtmb3IoO2kmJmkub2Zmc2V0TGVmdD49MCYmaS5vZmZzZXRUb3A+PTA7KWUrPWkub2Zmc2V0TGVmdC1pLnNjcm9sbExlZnQsbis9aS5vZmZzZXRUb3AtaS5zY3JvbGxUb3AsaT1pLm9mZnNldFBhcmVudDtyZXR1cm57bGVmdDplLHRvcDpufX0pKHQpO2Z1bmN0aW9uIGModCl7dCYmdC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyhuKXx8KGkuc3R5bGUoImRpc3BsYXkiLCJub25lIiksZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGMse2NhcHR1cmU6ITB9KSl9aS5zdHlsZSgiZGlzcGxheSIsImJsb2NrIikuc3R5bGUoImxlZnQiLGEuY2xpZW50WC1zLmxlZnQrMSsicHgiKS5zdHlsZSgidG9wIixhLmNsaWVudFktcy50b3ArMSsicHgiKSxhLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKSxkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsYyx7Y2FwdHVyZTohMH0pLGkuaHRtbCgiIiksaS5hcHBlbmQoInVsIikuc2VsZWN0QWxsKCJsaSIpLmRhdGEoZSkuZW50ZXIoKS5hcHBlbmQoImxpIikub24oImNsaWNrIiwoKHQsZSk9Pnt0LmFjdGlvbih0aGlzLHIsbyksYygpfSkpLmh0bWwoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRpdGxlKHIpfSkpfX0hKGZ1bmN0aW9uKHQpe3QuTk9ORT0ibm9uZSIsdC5DT01QVVRFX1RJTUU9ImNvbXB1dGVfdGltZSIsdC5ERVZJQ0U9ImRldmljZSIsdC5NRU1PUlk9Im1lbW9yeSIsdC5PUF9DT01QQVRJQklMSVRZPSJvcF9jb21wYXRpYmlsaXR5Iix0LlNUUlVDVFVSRT0ic3RydWN0dXJlIix0LlhMQV9DTFVTVEVSPSJ4bGFfY2x1c3RlciJ9KShyWnR8fChyWnQ9e30pKTtsZXQgYVp0PUFFKCkuZG9tYWluKFtjJHQsMTJdKS5yYW5nZShbInNtYWxsIiwibWVkaXVtIiwibGFyZ2UiLCJ4bGFyZ2UiXSk7ZnVuY3Rpb24gc1p0KHQpe3JldHVybiB0LnYrIi0tIit0Lnd9ZnVuY3Rpb24gbFp0KHQsZSxuKXtjb25zdCBpPW47bGV0IHI9W107cj1DZS5leHBvcnRzLnJlZHVjZShlLmVkZ2VzKCksKCh0LG4pPT57bGV0IGk9ZS5lZGdlKG4pO3JldHVybiB0LnB1c2goe3Y6bi52LHc6bi53LGxhYmVsOml9KSx0fSkscik7bGV0IG89cyR0KHQsImciLG4kdC5FZGdlLkNPTlRBSU5FUikuc2VsZWN0QWxsKChmdW5jdGlvbigpe3JldHVybiB0aGlzLmNoaWxkTm9kZXN9KSkuZGF0YShyLHNadCk7cmV0dXJuIG8uZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsbiR0LkVkZ2UuR1JPVVApLmF0dHIoImRhdGEtZWRnZSIsc1p0KS5lYWNoKChmdW5jdGlvbih0KXtsZXQgZT1EdSh0aGlzKTt0LmxhYmVsLmVkZ2VHcm91cD1lLGkuX2VkZ2VHcm91cEluZGV4W3NadCh0KV09ZSxpLmhhbmRsZUVkZ2VTZWxlY3RlZCYmZS5vbigiY2xpY2siLCh0PT57TXUuc3RvcFByb3BhZ2F0aW9uKCksaS5maXJlKCJlZGdlLXNlbGVjdCIse2VkZ2VEYXRhOnQsZWRnZUdyb3VwOmV9KX0pKSxwWnQoZSx0LGkpfSkpLm1lcmdlKG8pLmVhY2goKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiB0KGUsbil7RHUobikuc2VsZWN0KCJwYXRoLiIrbiR0LkVkZ2UuTElORSkudHJhbnNpdGlvbigpLmF0dHJUd2VlbigiZCIsKGZ1bmN0aW9uKHQsbixpKXtyZXR1cm4oZnVuY3Rpb24gcih0LGUsbixpLG8pe2xldCBhPW4ubGFiZWwscz1hLmFkam9pbmluZ01ldGFlZGdlLGw9YS5wb2ludHM7Y29uc3R7c2hhZG93Um9vdDpjfT10O24ubGFiZWwuc3RhcnRNYXJrZXJJZCYmKGw9ZFp0KGwsRHUoYy5xdWVyeVNlbGVjdG9yKCIjIituLmxhYmVsLnN0YXJ0TWFya2VySWQpKSwhMCkpO24ubGFiZWwuZW5kTWFya2VySWQmJihsPWRadChsLER1KGMucXVlcnlTZWxlY3RvcigiIyIrbi5sYWJlbC5lbmRNYXJrZXJJZCkpLCExKSk7aWYoIXMpcmV0dXJuIGNwKG8sZlp0KGwpKTtsZXQgdT1zLmVkZ2VHcm91cC5ub2RlKCkuZmlyc3RDaGlsZCxoPWEubWV0YWVkZ2UuaW5ib3VuZDtyZXR1cm4gZnVuY3Rpb24odCl7bGV0IG49dS5nZXRQb2ludEF0TGVuZ3RoKGg/dS5nZXRUb3RhbExlbmd0aCgpOjApLm1hdHJpeFRyYW5zZm9ybSh1LmdldENUTSgpKS5tYXRyaXhUcmFuc2Zvcm0oZS5nZXRDVE0oKS5pbnZlcnNlKCkpLGk9aD8wOmwubGVuZ3RoLTE7cmV0dXJuIGxbaV0ueD1uLngsbFtpXS55PW4ueSxmWnQobCl9fSkoZSx0aGlzLHQsMCxpKX0pKX0pKG4sdGhpcyl9KSkuZWFjaCgoZnVuY3Rpb24odCl7IShmdW5jdGlvbiBlKHQsbixpKXt0LmNsYXNzZWQoImZhZGVkIixuLmxhYmVsLmlzRmFkZWRPdXQpO2xldCByPW4ubGFiZWwubWV0YWVkZ2U7dC5zZWxlY3QoInBhdGguIituJHQuRWRnZS5MSU5FKS5jbGFzc2VkKCJjb250cm9sLWRlcCIsciYmIXIubnVtUmVndWxhckVkZ2VzKX0pKER1KHRoaXMpLHQpfSkpLG8uZXhpdCgpLmVhY2goKHQ9PntkZWxldGUgaS5fZWRnZUdyb3VwSW5kZXhbc1p0KHQpXX0pKS5yZW1vdmUoKSxvfWZ1bmN0aW9uIGNadCh0LGUpe2xldCBuPWUuZ2V0Tm9kZUJ5TmFtZSh0LnYpO2lmKG51bGw9PW4ub3V0cHV0U2hhcGVzfHxDZS5leHBvcnRzLmlzRW1wdHkobi5vdXRwdXRTaGFwZXMpKXJldHVybiBudWxsO2xldCBpPW4ub3V0cHV0U2hhcGVzW3Qub3V0cHV0VGVuc29yS2V5XTtyZXR1cm4gbnVsbD09aT9udWxsOjA9PT1pLmxlbmd0aD8ic2NhbGFyIjppLm1hcCgodD0+LTE9PT10PyI/Ijp0KSkuam9pbigiw5ciKX1mdW5jdGlvbiB1WnQodCxlKXtpZihlLmVkZ2VMYWJlbEZ1bmN0aW9uKXJldHVybiBlLmVkZ2VMYWJlbEZ1bmN0aW9uKHQsZSk7cmV0dXJuIHQuYmFzZUVkZ2VMaXN0Lmxlbmd0aD4xP3QuYmFzZUVkZ2VMaXN0Lmxlbmd0aCsiIHRlbnNvcnMiOmNadCh0LmJhc2VFZGdlTGlzdFswXSxlKX1mdW5jdGlvbiBoWnQodCxlLG4pe2NvbnN0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG8kdCwicGF0aCIpO2ZvcihsZXQgcj0xO3I8dC5sZW5ndGg7cisrKWlmKGkuc2V0QXR0cmlidXRlKCJkIixuKHQuc2xpY2UoMCxyKSkpLGkuZ2V0VG90YWxMZW5ndGgoKT5lKXJldHVybiByLTE7cmV0dXJuIHQubGVuZ3RoLTF9ZnVuY3Rpb24gZFp0KHQsZSxuKXtsZXQgaT1ETCgpLngoKHQ9PnQueCkpLnkoKHQ9PnQueSkpLHI9RHUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInBhdGgiKSkuYXR0cigiZCIsaSh0KSksbz0rZS5hdHRyKCJtYXJrZXJXaWR0aCIpLGE9ZS5hdHRyKCJ2aWV3Qm94Iikuc3BsaXQoIiAiKS5tYXAoTnVtYmVyKSxzPWFbMl0tYVswXSxsPStlLmF0dHIoInJlZlgiKSxjPXIubm9kZSgpO2lmKG4pe2NvbnN0IGU9byooMS1sL3MpLG49Yy5nZXRQb2ludEF0TGVuZ3RoKGUpLHI9aFp0KHQsZSxpKTtyZXR1cm4gdFtyLTFdPXt4Om4ueCx5Om4ueX0sdC5zbGljZShyLTEpfXtjb25zdCBlPTEtbC9zLG49Yy5nZXRUb3RhbExlbmd0aCgpLW8qZSxyPWMuZ2V0UG9pbnRBdExlbmd0aChuKSxhPWhadCh0LG4saSk7cmV0dXJuIHRbYV09e3g6ci54LHk6ci55fSx0LnNsaWNlKDAsYSsxKX19ZnVuY3Rpb24gcFp0KHQsZSxuLGkpe2k9aXx8biR0LkVkZ2UuTElORSxlLmxhYmVsJiZlLmxhYmVsLnN0cnVjdHVyYWwmJihpKz0iICIrbiR0LkVkZ2UuU1RSVUNUVVJBTCksZS5sYWJlbCYmZS5sYWJlbC5tZXRhZWRnZSYmZS5sYWJlbC5tZXRhZWRnZS5udW1SZWZFZGdlcyYmKGkrPSIgIituJHQuRWRnZS5SRUZFUkVOQ0VfRURHRSksbi5oYW5kbGVFZGdlU2VsZWN0ZWQmJihpKz0iICIrbiR0LkVkZ2UuU0VMRUNUQUJMRSk7bGV0IHIsbz0icGF0aF8iK3NadChlKTtpZihuLnJlbmRlckhpZXJhcmNoeS5lZGdlV2lkdGhGdW5jdGlvbilyPW4ucmVuZGVySGllcmFyY2h5LmVkZ2VXaWR0aEZ1bmN0aW9uKGUsaSk7ZWxzZXtsZXQgdD0xO251bGwhPWUubGFiZWwmJm51bGwhPWUubGFiZWwubWV0YWVkZ2UmJih0PWUubGFiZWwubWV0YWVkZ2UudG90YWxTaXplKSxyPW4ucmVuZGVySGllcmFyY2h5LmVkZ2VXaWR0aFNpemVkQmFzZWRTY2FsZSh0KX1sZXQgYT10LmFwcGVuZCgicGF0aCIpLmF0dHIoImlkIixvKS5hdHRyKCJjbGFzcyIsaSkuc3R5bGUoInN0cm9rZS13aWR0aCIscisicHgiKTtpZihlLmxhYmVsJiZlLmxhYmVsLm1ldGFlZGdlKWlmKGUubGFiZWwubWV0YWVkZ2UubnVtUmVmRWRnZXMpe2NvbnN0IHQ9YHJlZmVyZW5jZS1hcnJvd2hlYWQtJHthWnQocil9YDthLnN0eWxlKCJtYXJrZXItc3RhcnQiLGB1cmwoIyR7dH0pYCksZS5sYWJlbC5zdGFydE1hcmtlcklkPXR9ZWxzZXtjb25zdCB0PWBkYXRhZmxvdy1hcnJvd2hlYWQtJHthWnQocil9YDthLnN0eWxlKCJtYXJrZXItZW5kIixgdXJsKCMke3R9KWApLGUubGFiZWwuZW5kTWFya2VySWQ9dH1pZihudWxsPT1lLmxhYmVsfHxudWxsPT1lLmxhYmVsLm1ldGFlZGdlKXJldHVybjtsZXQgcz11WnQoZS5sYWJlbC5tZXRhZWRnZSxuLnJlbmRlckhpZXJhcmNoeSk7bnVsbCE9cyYmdC5hcHBlbmQoInRleHQiKS5hcHBlbmQoInRleHRQYXRoIikuYXR0cigieGxpbms6aHJlZiIsIiMiK28pLmF0dHIoInN0YXJ0T2Zmc2V0IiwiNTAlIikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKS5hdHRyKCJkb21pbmFudC1iYXNlbGluZSIsImNlbnRyYWwiKS50ZXh0KHMpfWxldCBmWnQ9REwoKS5jdXJ2ZSh3UCkueCgodD0+dC54KSkueSgodD0+dC55KSk7ZnVuY3Rpb24gbVp0KHQsZSxuKXtsZXQgaT1zJHQodCwiZyIsbiR0Lk5vZGUuQ09OVEFJTkVSKS5zZWxlY3RBbGwoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlc30pKS5kYXRhKGUsKHQ9PnQubm9kZS5uYW1lKyI6Iit0Lm5vZGUudHlwZSkpO3JldHVybiBpLmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiZGF0YS1uYW1lIiwodD0+dC5ub2RlLm5hbWUpKS5lYWNoKChmdW5jdGlvbih0KXtsZXQgZT1EdSh0aGlzKTtuLmFkZE5vZGVHcm91cCh0Lm5vZGUubmFtZSxlKX0pKS5tZXJnZShpKS5hdHRyKCJjbGFzcyIsKHQ9Pm4kdC5Ob2RlLkdST1VQKyIgIitUWnQodCkpKS5lYWNoKChmdW5jdGlvbih0KXtsZXQgZT1EdSh0aGlzKTt6WnQocyR0KGUsImciLG4kdC5Bbm5vdGF0aW9uLklOQk9YKSx0LmluQW5ub3RhdGlvbnMsdCxuKSx6WnQocyR0KGUsImciLG4kdC5Bbm5vdGF0aW9uLk9VVEJPWCksdC5vdXRBbm5vdGF0aW9ucyx0LG4pO2xldCBpPUVadChlLHQsbiR0Lk5vZGUuU0hBUEUpO3Qubm9kZS5pc0dyb3VwTm9kZSYmKGZ1bmN0aW9uIHIodCxlLG4pe2xldCBpPXMkdCh0LCJnIixuJHQuTm9kZS5CVVRUT05fQ09OVEFJTkVSKTtzJHQoaSwiY2lyY2xlIixuJHQuTm9kZS5CVVRUT05fQ0lSQ0xFKSxzJHQoaSwicGF0aCIsbiR0Lk5vZGUuRVhQQU5EX0JVVFRPTikuYXR0cigiZCIsIk0wLC0yLjIgVjIuMiBNLTIuMiwwIEgyLjIiKSxzJHQoaSwicGF0aCIsbiR0Lk5vZGUuQ09MTEFQU0VfQlVUVE9OKS5hdHRyKCJkIiwiTS0yLjIsMCBIMi4yIiksaS5vbigiY2xpY2siLCh0PT57TXUuc3RvcFByb3BhZ2F0aW9uKCksbi5maXJlKCJub2RlLXRvZ2dsZS1leHBhbmQiLHtuYW1lOnQubm9kZS5uYW1lfSl9KSksKGZ1bmN0aW9uIHIodCxlKXtsZXQgbj1ZS3QoZSkrKGUuZXhwYW5kZWQ/ZS53aWR0aDplLmNvcmVCb3gud2lkdGgpLzItNixpPWUueS0oZS5leHBhbmRlZD9lLmhlaWdodDplLmNvcmVCb3guaGVpZ2h0KS8yKzY7ZS5ub2RlLnR5cGUhPT1BJHQuU0VSSUVTfHxlLmV4cGFuZGVkfHwobis9MTAsaS09Mik7bGV0IHI9InRyYW5zbGF0ZSgiK24rIiwiK2krIikiO3Quc2VsZWN0QWxsKCJwYXRoIikudHJhbnNpdGlvbigpLmF0dHIoInRyYW5zZm9ybSIsciksdC5zZWxlY3QoImNpcmNsZSIpLnRyYW5zaXRpb24oKS5hdHRyKHtjeDpuLGN5OmkscjpVS3Qubm9kZVNpemUubWV0YS5leHBhbmRCdXR0b25SYWRpdXN9KX0pKGksZSl9KShpLHQsbiksX1p0KGksdCxuKSwoZnVuY3Rpb24gbyh0LGUsbil7aWYoZS5ub2RlLmlzR3JvdXBOb2RlKXtpZihlLmV4cGFuZGVkKXJldHVybiBCWnQodCxlLG4sbiR0LlN1YnNjZW5lLkdST1VQKTtLS3QodCwiZyIsbiR0LlN1YnNjZW5lLkdST1VQKS5yZW1vdmUoKX1yZXR1cm4gbnVsbH0pKGUsdCxuKSxfWnQoKGZ1bmN0aW9uIGEodCxlLG4pe2xldCBpPWUuZGlzcGxheU5hbWUscj1lLm5vZGUudHlwZT09PUEkdC5NRVRBJiYhZS5leHBhbmRlZCxvPXMkdCh0LCJ0ZXh0IixuJHQuTm9kZS5MQUJFTCksYT1vLm5vZGUoKTthLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoYSksby5hdHRyKCJkeSIsIi4zNWVtIikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKTtsZXQgcz04O3N3aXRjaChlLm5vZGUudHlwZSl7Y2FzZSBBJHQuTUVUQTpzPWUuZXhwYW5kZWQ/ciR0LkVYUEFOREVEX0xBQkVMOnIkdC5TRVJJRVNfTEFCRUw7YnJlYWs7Y2FzZSBBJHQuT1A6cz1yJHQuT1BfTEFCRUx9aWYocil7aS5sZW5ndGg+bi5tYXhNZXRhbm9kZUxhYmVsTGVuZ3RoJiYoaT1pLnN1YnN0cigwLG4ubWF4TWV0YW5vZGVMYWJlbExlbmd0aC0yKSsi4oCmIik7bGV0IHQ9KGZ1bmN0aW9uIGwodCl7U1p0fHwoU1p0PWNFKCkuZG9tYWluKFt0Lm1heE1ldGFub2RlTGFiZWxMZW5ndGhMYXJnZUZvbnQsdC5tYXhNZXRhbm9kZUxhYmVsTGVuZ3RoXSkucmFuZ2UoW3QubWF4TWV0YW5vZGVMYWJlbExlbmd0aEZvbnRTaXplLHQubWluTWV0YW5vZGVMYWJlbExlbmd0aEZvbnRTaXplXSkuY2xhbXAoITApKTtyZXR1cm4gU1p0fSkobik7by5hdHRyKCJmb250LXNpemUiLHQoaS5sZW5ndGgpKyJweCIpLHM9dChpLmxlbmd0aCl9cmV0dXJuIHdadChvLnRleHQoaSksZS5ub2RlLnR5cGUscyxlKSxvfSkoZSx0LG4pLHQsbix0Lm5vZGUudHlwZT09PUEkdC5NRVRBKSxMWnQoZSx0LG4pLChmdW5jdGlvbiBzKHQsZSl7bGV0IG49S0t0KHQsImciLG4kdC5Ob2RlLlNIQVBFKSxpPVlLdChlKTtzd2l0Y2goZS5ub2RlLnR5cGUpe2Nhc2UgQSR0Lk9QOntjb25zdCByPWUubm9kZTtpZihDZS5leHBvcnRzLmlzTnVtYmVyKHIuZnVuY3Rpb25JbnB1dEluZGV4KXx8Q2UuZXhwb3J0cy5pc051bWJlcihyLmZ1bmN0aW9uT3V0cHV0SW5kZXgpKXshKGZ1bmN0aW9uIHIodCxlLG4saSxvKXtjb25zdCBhPW8vMixzPWkvMixsPVtbZSxuLWFdLFtlK3MsbithXSxbZS1zLG4rYV1dO3QudHJhbnNpdGlvbigpLmF0dHIoInBvaW50cyIsbC5tYXAoKHQ9PnQuam9pbigiLCIpKSkuam9pbigiICIpKX0pKEtLdChuLCJwb2x5Z29uIiksZS54LGUueSxlLmNvcmVCb3gud2lkdGgsZS5jb3JlQm94LmhlaWdodCl9ZWxzZXtlWnQoS0t0KG4sImVsbGlwc2UiKSxpLGUueSxlLmNvcmVCb3gud2lkdGgsZS5jb3JlQm94LmhlaWdodCl9TVp0KHQsaSxlLnksZS5sYWJlbE9mZnNldCk7YnJlYWt9Y2FzZSBBJHQuTUVUQTp7bGV0IHI9bi5zZWxlY3RBbGwoInJlY3QiKTtlLmV4cGFuZGVkPyh0WnQocixlLngsZS55LGUud2lkdGgsZS5oZWlnaHQpLGdadCh0LGUpLE1adCh0LGksZS55LC1lLmhlaWdodC8yK2UubGFiZWxIZWlnaHQvMikpOih0WnQocixpLGUueSxlLmNvcmVCb3gud2lkdGgsZS5jb3JlQm94LmhlaWdodCksTVp0KHQsaSxlLnksMCkpO2JyZWFrfWNhc2UgQSR0LlNFUklFUzp7bGV0IHI9S0t0KG4sInVzZSIpO2UuZXhwYW5kZWQ/KHRadChyLGUueCxlLnksZS53aWR0aCxlLmhlaWdodCksZ1p0KHQsZSksTVp0KHQsaSxlLnksLWUuaGVpZ2h0LzIrZS5sYWJlbEhlaWdodC8yKSk6KHRadChyLGksZS55LGUuY29yZUJveC53aWR0aCxlLmNvcmVCb3guaGVpZ2h0KSxNWnQodCxpLGUueSxlLmxhYmVsT2Zmc2V0KSk7YnJlYWt9Y2FzZSBBJHQuQlJJREdFOnRadChLS3QobiwicmVjdCIpLGUueCxlLnksZS53aWR0aCxlLmhlaWdodCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5yZWNvZ25pemVkIG5vZGUgdHlwZTogIitlLm5vZGUudHlwZSl9fSkoZSx0KX0pKSxpLmV4aXQoKS5lYWNoKChmdW5jdGlvbih0KXtuLnJlbW92ZU5vZGVHcm91cCh0Lm5vZGUubmFtZSk7bGV0IGU9RHUodGhpcyk7dC5pbkFubm90YXRpb25zLmxpc3QubGVuZ3RoPjAmJmUuc2VsZWN0KCIuIituJHQuQW5ub3RhdGlvbi5JTkJPWCkuc2VsZWN0QWxsKCIuIituJHQuQW5ub3RhdGlvbi5HUk9VUCkuZWFjaCgoZT0+e24ucmVtb3ZlQW5ub3RhdGlvbkdyb3VwKGUsdCl9KSksdC5vdXRBbm5vdGF0aW9ucy5saXN0Lmxlbmd0aD4wJiZlLnNlbGVjdCgiLiIrbiR0LkFubm90YXRpb24uT1VUQk9YKS5zZWxlY3RBbGwoIi4iK24kdC5Bbm5vdGF0aW9uLkdST1VQKS5lYWNoKChlPT57bi5yZW1vdmVBbm5vdGF0aW9uR3JvdXAoZSx0KX0pKX0pKS5yZW1vdmUoKSxpfWZ1bmN0aW9uIGdadCh0LGUpe2xldCBuPWUueC1lLndpZHRoLzIrZS5wYWRkaW5nTGVmdCxpPWUueS1lLmhlaWdodC8yK2UucGFkZGluZ1RvcDtRS3QoS0t0KHQsImciLG4kdC5TdWJzY2VuZS5HUk9VUCksbixpKX1mdW5jdGlvbiBfWnQodCxlLG4saSl7aWYoaSlyZXR1cm4gdm9pZCB0LmF0dHIoInBvaW50ZXItZXZlbnRzIiwibm9uZSIpO2xldCByPW9adChuLHladChlLm5vZGUsbikpO3Qub24oImRibGNsaWNrIiwodD0+e24uZmlyZSgibm9kZS10b2dnbGUtZXhwYW5kIix7bmFtZTp0Lm5vZGUubmFtZX0pfSkpLm9uKCJtb3VzZW92ZXIiLCh0PT57bi5pc05vZGVFeHBhbmRlZCh0KXx8bi5maXJlKCJub2RlLWhpZ2hsaWdodCIse25hbWU6dC5ub2RlLm5hbWV9KX0pKS5vbigibW91c2VvdXQiLCh0PT57bi5pc05vZGVFeHBhbmRlZCh0KXx8bi5maXJlKCJub2RlLXVuaGlnaGxpZ2h0Iix7bmFtZTp0Lm5vZGUubmFtZX0pfSkpLm9uKCJjbGljayIsKHQ9PntNdS5zdG9wUHJvcGFnYXRpb24oKSxuLmZpcmUoIm5vZGUtc2VsZWN0Iix7bmFtZTp0Lm5vZGUubmFtZX0pfSkpLm9uKCJjb250ZXh0bWVudSIsKCh0LGUpPT57bi5maXJlKCJub2RlLXNlbGVjdCIse25hbWU6dC5ub2RlLm5hbWV9KSxyLmNhbGwodCxlKX0pKX1mdW5jdGlvbiB5WnQodCxlKXtsZXQgbj1be3RpdGxlOmU9PkokdCh0LmluY2x1ZGUpLGFjdGlvbjoobixpLHIpPT57ZS5maXJlKCJub2RlLXRvZ2dsZS1leHRyYWN0Iix7bmFtZTp0Lm5hbWV9KX19XTtyZXR1cm4gZS5ub2RlQ29udGV4dE1lbnVJdGVtcyYmKG49bi5jb25jYXQoZS5ub2RlQ29udGV4dE1lbnVJdGVtcykpLHZadCh0KSYmbi5wdXNoKHt0aXRsZTplPT54WnQodCksYWN0aW9uOihuLGkscik9PntlLmZpcmUoIm5vZGUtdG9nZ2xlLXNlcmllc2dyb3VwIix7bmFtZTpiWnQodCl9KX19KSxufWZ1bmN0aW9uIHZadCh0KXtyZXR1cm4gbnVsbCE9PWJadCh0KX1mdW5jdGlvbiBiWnQodCl7aWYoIXQpcmV0dXJuIG51bGw7aWYodC50eXBlPT09QSR0LlNFUklFUylyZXR1cm4gdC5uYW1lO2lmKHQudHlwZT09PUEkdC5PUCl7cmV0dXJuIHQub3duaW5nU2VyaWVzfXJldHVybiBudWxsfWZ1bmN0aW9uIHhadCh0KXtyZXR1cm4oZnVuY3Rpb24gbih0KXtyZXR1cm4gdD09PUwkdC5HUk9VUD8iVW5ncm91cCB0aGlzIHNlcmllcyBvZiBub2RlcyI6Ikdyb3VwIHRoaXMgc2VyaWVzIG9mIG5vZGVzIn0pKG51bGwhPT0oZnVuY3Rpb24gZSh0KXtsZXQgZT1udWxsO3JldHVybiB0Pyh0LnR5cGU9PT1BJHQuU0VSSUVTP2U9dDp0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS50eXBlPT09QSR0LlNFUklFUyYmKGU9dC5wYXJlbnROb2RlKSxlKTpudWxsfSkodCk/TCR0LkdST1VQOkwkdC5VTkdST1VQKX1mdW5jdGlvbiB3WnQodCxlLG4saSl7bGV0IHI9dC5ub2RlKCksbz1yLnRleHRDb250ZW50LGE9bnVsbDtzd2l0Y2goZSl7Y2FzZSBBJHQuTUVUQTppJiYhaS5leHBhbmRlZCYmKGE9VUt0Lm5vZGVTaXplLm1ldGEubWF4TGFiZWxXaWR0aCk7YnJlYWs7Y2FzZSBBJHQuT1A6YT1VS3Qubm9kZVNpemUub3AubWF4TGFiZWxXaWR0aDticmVhaztjYXNlLTE6YT1VS3QuYW5ub3RhdGlvbnMubWF4TGFiZWxXaWR0aH1pZihudWxsIT09YSlyZXR1cm4gci50ZXh0Q29udGVudD0oZnVuY3Rpb24gcyh0LGUsbil7aWYoIXQpcmV0dXJuIiI7aWYoUyR0KHQsZSk8PW4pcmV0dXJuIHQ7bGV0IGk9MCxyPXQubGVuZ3RoO2Zvcig7aTxyOyl7Y29uc3Qgbz1pK01hdGgucm91bmQoKHItaSkvMik7UyR0KHQuc2xpY2UoMCxvKSsi4oCmIixlKTw9bj9pPW86cj1vLTF9cmV0dXJuIDA9PT1pP3RbMF06dC5zbGljZSgwLGkpKyLigKYifSkoci50ZXh0Q29udGVudCxuLGEpLHQuYXBwZW5kKCJ0aXRsZSIpLnRleHQobyl9bGV0IFNadD1udWxsO2Z1bmN0aW9uIE1adCh0LGUsbixpKXtLS3QodCwidGV4dCIsbiR0Lk5vZGUuTEFCRUwpLnRyYW5zaXRpb24oKS5hdHRyKCJ4IixlKS5hdHRyKCJ5IixuK2kpfWZ1bmN0aW9uIEVadCh0LGUsbil7bGV0IGk9cyR0KHQsImciLG4pO3N3aXRjaChlLm5vZGUudHlwZSl7Y2FzZSBBJHQuT1A6Y29uc3QgdD1lLm5vZGU7aWYoQ2UuZXhwb3J0cy5pc051bWJlcih0LmZ1bmN0aW9uSW5wdXRJbmRleCl8fENlLmV4cG9ydHMuaXNOdW1iZXIodC5mdW5jdGlvbk91dHB1dEluZGV4KSl7cyR0KGksInBvbHlnb24iLG4kdC5Ob2RlLkNPTE9SX1RBUkdFVCk7YnJlYWt9cyR0KGksImVsbGlwc2UiLG4kdC5Ob2RlLkNPTE9SX1RBUkdFVCk7YnJlYWs7Y2FzZSBBJHQuU0VSSUVTOmxldCBuPSJhbm5vdGF0aW9uIixyPWU7ci5jb3JlR3JhcGgmJihuPXIubm9kZS5oYXNOb25Db250cm9sRWRnZXM/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCIpO2xldCBvPVtuJHQuTm9kZS5DT0xPUl9UQVJHRVRdO3IuaXNGYWRlZE91dCYmby5wdXNoKCJmYWRlZC1lbGxpcHNlIikscyR0KGksInVzZSIsbykuYXR0cigieGxpbms6aHJlZiIsIiNvcC1zZXJpZXMtIituKyItc3RhbXAiKSxzJHQoaSwicmVjdCIsbiR0Lk5vZGUuQ09MT1JfVEFSR0VUKS5hdHRyKCJyeCIsZS5yYWRpdXMpLmF0dHIoInJ5IixlLnJhZGl1cyk7YnJlYWs7Y2FzZSBBJHQuQlJJREdFOmNhc2UgQSR0Lk1FVEE6cyR0KGksInJlY3QiLG4kdC5Ob2RlLkNPTE9SX1RBUkdFVCkuYXR0cigicngiLGUucmFkaXVzKS5hdHRyKCJyeSIsZS5yYWRpdXMpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVucmVjb2duaXplZCBub2RlIHR5cGU6ICIrZS5ub2RlLnR5cGUpfXJldHVybiBpfWZ1bmN0aW9uIFRadCh0KXtzd2l0Y2godC5ub2RlLnR5cGUpe2Nhc2UgQSR0Lk9QOnJldHVybiBuJHQuT1BOT0RFO2Nhc2UgQSR0Lk1FVEE6cmV0dXJuIG4kdC5NRVRBTk9ERTtjYXNlIEEkdC5TRVJJRVM6cmV0dXJuIG4kdC5TRVJJRVNOT0RFO2Nhc2UgQSR0LkJSSURHRTpyZXR1cm4gbiR0LkJSSURHRU5PREU7Y2FzZSBBJHQuRUxMSVBTSVM6cmV0dXJuIG4kdC5FTExJUFNJU05PREV9dGhyb3cgRXJyb3IoIlVucmVjb2duaXplZCBub2RlIHR5cGU6ICIrdC5ub2RlLnR5cGUpfWZ1bmN0aW9uIENadCh0LGUsbil7bGV0IGk9KGZ1bmN0aW9uIHIodCl7cmV0dXJuIHQucmVwbGFjZSgvKFs6LlxbXF0sL1xcXChcKV0pL2csIlxcJDEiKX0pKHQpO2lmKCFuKXJldHVybmB1cmwoIyR7aX0pYDtsZXQgbz1EdShuKSxhPW8uc2VsZWN0KCJkZWZzI19ncmFwaC1ncmFkaWVudHMiKTthLmVtcHR5KCkmJihhPW8uYXBwZW5kKCJkZWZzIikuYXR0cigiaWQiLCJfZ3JhcGgtZ3JhZGllbnRzIikpO2xldCBzPWEuc2VsZWN0KCJsaW5lYXJHcmFkaWVudCMiK2kpO2lmKHMuZW1wdHkoKSl7cz1hLmFwcGVuZCgibGluZWFyR3JhZGllbnQiKS5hdHRyKCJpZCIsdCkscy5zZWxlY3RBbGwoIioiKS5yZW1vdmUoKTtsZXQgbj0wO0NlLmV4cG9ydHMuZWFjaChlLCh0PT57bGV0IGU9dC5jb2xvcjtzLmFwcGVuZCgic3RvcCIpLmF0dHIoIm9mZnNldCIsbikuYXR0cigic3RvcC1jb2xvciIsZSkscy5hcHBlbmQoInN0b3AiKS5hdHRyKCJvZmZzZXQiLG4rdC5wcm9wb3J0aW9uKS5hdHRyKCJzdG9wLWNvbG9yIixlKSxuKz10LnByb3BvcnRpb259KSl9cmV0dXJuYHVybCgjJHtpfSlgfWZ1bmN0aW9uIEFadCh0KXtEdSh0KS5zZWxlY3QoImRlZnMjX2dyYXBoLWdyYWRpZW50cyIpLnJlbW92ZSgpfWZ1bmN0aW9uIGtadCh0LGUsbixpLHIpe2xldCBvPWdLdDtzd2l0Y2godD10fHwoKCk9PjApLGUpe2Nhc2Ugclp0Lk5PTkU6Y2FzZSByWnQuU1RSVUNUVVJFOmlmKG4ubm9kZS50eXBlPT09QSR0Lk1FVEEpe2xldCByPW4ubm9kZS50ZW1wbGF0ZUlkO3JldHVybiBlPT09clp0LlNUUlVDVFVSRSYmbnVsbCE9PXI/by5TVFJVQ1RVUkVfUEFMRVRURSh0KHIpLGkpOm8uVU5LTk9XTn1yZXR1cm4gbi5ub2RlLnR5cGU9PT1BJHQuU0VSSUVTP2k/by5FWFBBTkRFRF9DT0xPUjoid2hpdGUiOm4ubm9kZS50eXBlPT09QSR0LkJSSURHRT9uLnN0cnVjdHVyYWw/IiNmMGUiOm4ubm9kZS5pbmJvdW5kPyIjMGVmIjoiI2ZlMCI6Q2UuZXhwb3J0cy5pc051bWJlcihuLm5vZGUuZnVuY3Rpb25JbnB1dEluZGV4KT8iIzc5NTU0OCI6Q2UuZXhwb3J0cy5pc051bWJlcihuLm5vZGUuZnVuY3Rpb25PdXRwdXRJbmRleCk/IiMwMDk2ODgiOiJ3aGl0ZSI7Y2FzZSByWnQuREVWSUNFOnJldHVybiBudWxsPT1uLmRldmljZUNvbG9ycz9vLlVOS05PV046aT9vLkVYUEFOREVEX0NPTE9SOkNadCgiZGV2aWNlLSIrbi5ub2RlLm5hbWUsbi5kZXZpY2VDb2xvcnMscik7Y2FzZSByWnQuWExBX0NMVVNURVI6cmV0dXJuIG51bGw9PW4ueGxhQ2x1c3RlckNvbG9ycz9vLlVOS05PV046aT9vLkVYUEFOREVEX0NPTE9SOkNadCgieGxhLSIrbi5ub2RlLm5hbWUsbi54bGFDbHVzdGVyQ29sb3JzLHIpO2Nhc2Ugclp0LkNPTVBVVEVfVElNRTpyZXR1cm4gaT9vLkVYUEFOREVEX0NPTE9SOm4uY29tcHV0ZVRpbWVDb2xvcnx8by5VTktOT1dOO2Nhc2Ugclp0Lk1FTU9SWTpyZXR1cm4gaT9vLkVYUEFOREVEX0NPTE9SOm4ubWVtb3J5Q29sb3J8fG8uVU5LTk9XTjtjYXNlIHJadC5PUF9DT01QQVRJQklMSVRZOnJldHVybiBudWxsPT1uLmNvbXBhdGliaWxpdHlDb2xvcnM/by5VTktOT1dOOmk/by5FWFBBTkRFRF9DT0xPUjpDWnQoIm9wLWNvbXBhdC0iK24ubm9kZS5uYW1lLG4uY29tcGF0aWJpbGl0eUNvbG9ycyxyKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBjYXNlIHRvIGNvbG9yIG5vZGVzIGJ5Iil9fWZ1bmN0aW9uIExadCh0LGUsbixpKXtpPWl8fG4kdC5Ob2RlLlNIQVBFO2NvbnN0IHI9bi5pc05vZGVIaWdobGlnaHRlZChlLm5vZGUubmFtZSksbz1uLmlzTm9kZVNlbGVjdGVkKGUubm9kZS5uYW1lKSxhPWUuaXNJbkV4dHJhY3R8fGUuaXNPdXRFeHRyYWN0fHxlLmlzTGlicmFyeUZ1bmN0aW9uLHM9ZS5leHBhbmRlZCYmaSE9PW4kdC5Bbm5vdGF0aW9uLk5PREUsbD1lLmlzRmFkZWRPdXQ7dC5jbGFzc2VkKCJoaWdobGlnaHRlZCIsciksdC5jbGFzc2VkKCJzZWxlY3RlZCIsbyksdC5jbGFzc2VkKCJleHRyYWN0IixhKSx0LmNsYXNzZWQoImV4cGFuZGVkIixzKSx0LmNsYXNzZWQoImZhZGVkIixsKTtjb25zdCBjPXQuc2VsZWN0KCIuIitpKyIgLiIrbiR0Lk5vZGUuQ09MT1JfVEFSR0VUKSx1PWtadChuLnRlbXBsYXRlSW5kZXgsbi5jb2xvckJ5LGUscyxuLmdldEdyYXBoU3ZnUm9vdCgpKTtjLnN0eWxlKCJmaWxsIix1KSxjLnN0eWxlKCJzdHJva2UiLG8/bnVsbDpQWnQodSkpfWZ1bmN0aW9uIFBadCh0KXtyZXR1cm4idXJsIj09PXQuc3Vic3RyaW5nKDAsMyk/Z0t0LkdSQURJRU5UX09VVExJTkU6bmQodCkuZGFya2VyKCkudG9TdHJpbmcoKX1mdW5jdGlvbiBOWnQodCxlLG4saSl7Y29uc3Qgcj1EdSh0KTtpZihyLnNlbGVjdEFsbCgiLmlucHV0LWhpZ2hsaWdodCIpLmNsYXNzZWQoImlucHV0LWhpZ2hsaWdodCIsITEpLHIuc2VsZWN0QWxsKCIubm9uLWlucHV0IikuY2xhc3NlZCgibm9uLWlucHV0IiwhMSksci5zZWxlY3RBbGwoIi5pbnB1dC1wYXJlbnQiKS5jbGFzc2VkKCJpbnB1dC1wYXJlbnQiLCExKSxyLnNlbGVjdEFsbCgiLmlucHV0LWNoaWxkIikuY2xhc3NlZCgiaW5wdXQtY2hpbGQiLCExKSxyLnNlbGVjdEFsbCgiLmlucHV0LWVkZ2UtaGlnaGxpZ2h0IikuY2xhc3NlZCgiaW5wdXQtZWRnZS1oaWdobGlnaHQiLCExKSxyLnNlbGVjdEFsbCgiLm5vbi1pbnB1dC1lZGdlLWhpZ2hsaWdodCIpLmNsYXNzZWQoIm5vbi1pbnB1dC1lZGdlLWhpZ2hsaWdodCIsITEpLHIuc2VsZWN0QWxsKCIuaW5wdXQtaGlnaGxpZ2h0LXNlbGVjdGVkIikuY2xhc3NlZCgiaW5wdXQtaGlnaGxpZ2h0LXNlbGVjdGVkIiwhMSksIWV8fCFpfHwhbilyZXR1cm47bGV0IG89SVp0KG4sZSksYT17fTtDZS5leHBvcnRzLmVhY2gobywoZnVuY3Rpb24obil7YT1SWnQodCxlLG4sYSl9KSk7bGV0IHM9T2JqZWN0LmtleXMoYSksbD0oZnVuY3Rpb24gYyh0LGUpe2xldCBuPXt9O3JldHVybiBDZS5leHBvcnRzLmVhY2goZSwoZnVuY3Rpb24oZSl7bGV0IGk9dC5nZXROb2RlQnlOYW1lKGUpLHI9T1p0KHQsaSk7bltyLm5hbWVdPXJ9KSksbn0pKGUscyk7IShmdW5jdGlvbiB1KHQsZSl7Q2UuZXhwb3J0cy5mb3JPd24oZSwoZnVuY3Rpb24oZSl7bGV0IG49ZTtmb3IoO24ubmFtZSE9PUUkdDspe2NvbnN0IGU9RHUodCkuc2VsZWN0KGAubm9kZVtkYXRhLW5hbWU9IiR7bi5uYW1lfSJdYCk7IWUubm9kZXMoKS5sZW5ndGh8fGUuY2xhc3NlZCgiaW5wdXQtaGlnaGxpZ2h0Iil8fGUuY2xhc3NlZCgic2VsZWN0ZWQiKXx8ZS5jbGFzc2VkKCJvcCIpfHxlLmNsYXNzZWQoImlucHV0LXBhcmVudCIsITApLG49bi5wYXJlbnROb2RlfX0pKX0pKHQsbCksci5zZWxlY3RBbGwoImcubm9kZTpub3QoLnNlbGVjdGVkKTpub3QoLmlucHV0LWhpZ2hsaWdodCk6bm90KC5pbnB1dC1wYXJlbnQpOm5vdCguaW5wdXQtY2hpbGRyZW4pIikuY2xhc3NlZCgibm9uLWlucHV0IiwhMCkuZWFjaCgoZnVuY3Rpb24odCl7ci5zZWxlY3RBbGwoYFtkYXRhLW5hbWU9IiR7dC5ub2RlLm5hbWV9Il1gKS5jbGFzc2VkKCJub24taW5wdXQiLCEwKX0pKSxyLnNlbGVjdEFsbCgiZy5lZGdlOm5vdCguaW5wdXQtZWRnZS1oaWdobGlnaHQpIikuY2xhc3NlZCgibm9uLWlucHV0LWVkZ2UtaGlnaGxpZ2h0IiwhMCl9ZnVuY3Rpb24gSVp0KHQsZSl7bGV0IG49W10saT1lLmdldE5vZGVCeU5hbWUodCk7aWYoaSBpbnN0YW5jZW9mIE8kdClyZXR1cm5baV0uY29uY2F0KGkuaW5FbWJlZGRpbmdzKTtsZXQgcj1pLm1ldGFncmFwaC5ub2RlcygpO3JldHVybiBDZS5leHBvcnRzLmVhY2gociwoZnVuY3Rpb24odCl7bj1uLmNvbmNhdChJWnQodCxlKSl9KSksbn1mdW5jdGlvbiBSWnQodCxlLG4saSl7aWYoaVtuLm5hbWVdKXJldHVybiBpO2lbbi5uYW1lXT0hMDtsZXQgcj1uLmlucHV0cyxvPU9adChlLG4pO0R1KHQpLnNlbGVjdChgLm5vZGVbZGF0YS1uYW1lPSIke28ubmFtZX0iXWApLmNsYXNzZWQoImlucHV0LWhpZ2hsaWdodCIsITApO2xldCBhPXt9O0NlLmV4cG9ydHMuZWFjaChyLChmdW5jdGlvbih0KXtsZXQgbj1lLmdldE5vZGVCeU5hbWUodC5uYW1lKTtpZih2b2lkIDA9PT1uKXJldHVybjtpZihuIGluc3RhbmNlb2YgRCR0KXtsZXQgdD0kJHQobi5uYW1lKTtuPWUuZ2V0Tm9kZUJ5TmFtZSh0KX1sZXQgaT1PWnQoZSxuKSxyPWFbaS5uYW1lXTtyP3Iub3BOb2Rlcy5wdXNoKG4pOmFbaS5uYW1lXT17dmlzaWJsZVBhcmVudDppLG9wTm9kZXM6W25dfX0pKTtsZXQgcz17fSxsPVtvXTtzW28ubmFtZV09e3RyYWNlZDohMSxpbmRleDowLGNvbm5lY3Rpb25FbmRwb2ludHM6W119O2xldCBjPW87Zm9yKGxldCB0PTE7Yy5uYW1lIT09RSR0O3QrKyljPWMucGFyZW50Tm9kZSxzW2MubmFtZV09e3RyYWNlZDohMSxpbmRleDp0LGNvbm5lY3Rpb25FbmRwb2ludHM6W119LGxbdF09YztyZXR1cm4gQ2UuZXhwb3J0cy5mb3JPd24oYSwoZnVuY3Rpb24obixyKXtsZXQgYT1uLnZpc2libGVQYXJlbnQ7Q2UuZXhwb3J0cy5lYWNoKG4ub3BOb2RlcywoZnVuY3Rpb24obil7aT1SWnQodCxlLG4saSl9KSksYS5uYW1lIT09by5uYW1lJiYoZnVuY3Rpb24gYyh0LGUsbixpKXtsZXQgcj1lLG89ZSxhPVtdO2Zvcig7IW5bci5uYW1lXTspby5uYW1lIT09ci5uYW1lJiZhLnB1c2goW28scl0pLG89cixyPXIucGFyZW50Tm9kZTtsZXQgcz1uW3IubmFtZV0uaW5kZXgsbD1pW01hdGgubWF4KHMtMSwwKV0ubmFtZSxjPWwsdT1vLm5hbWUsaD1vLm5hbWU7Y29uc3QgZD1EdSh0KTtkLnNlbGVjdEFsbChgW2RhdGEtZWRnZT0iJHtofS0tJHtsfSJdYCkuY2xhc3NlZCgiaW5wdXQtZWRnZS1oaWdobGlnaHQiLCEwKSxDZS5leHBvcnRzLmVhY2goYSwoZnVuY3Rpb24odCl7ZC5zZWxlY3RBbGwoYFtkYXRhLWVkZ2U9IiR7dFswXS5uYW1lfS0tJHtjfX5+JHt0WzFdLm5hbWV9fn5PVVQiXWApLmNsYXNzZWQoImlucHV0LWVkZ2UtaGlnaGxpZ2h0IiwhMCl9KSk7Zm9yKGxldCB0PTE7dDxzO3QrKyl7ZC5zZWxlY3RBbGwoYFtkYXRhLWVkZ2U9IiR7dX1+fiR7aVt0XS5uYW1lfX5+SU4tLSR7aVt0LTFdLm5hbWV9Il1gKS5jbGFzc2VkKCJpbnB1dC1lZGdlLWhpZ2hsaWdodCIsITApfX0pKHQsYSxzLGwpfSkpLGl9ZnVuY3Rpb24gT1p0KHQsZSl7bGV0IG49ITEsaT1lO2Zvcig7IW47KWlmKGk9KGU9aSkucGFyZW50Tm9kZSx2b2lkIDA9PT1pKW49ITA7ZWxzZXtsZXQgZT10LmdldFJlbmRlck5vZGVCeU5hbWUoaS5uYW1lKTtlJiYoZS5leHBhbmRlZHx8aSBpbnN0YW5jZW9mIE8kdCkmJihuPSEwKX1yZXR1cm4gZX1mdW5jdGlvbiB6WnQodCxlLG4saSl7bGV0IHI9dC5zZWxlY3RBbGwoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlc30pKS5kYXRhKGUubGlzdCwodD0+dC5ub2RlLm5hbWUpKTtyZXR1cm4gci5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImRhdGEtbmFtZSIsKHQ9PnQubm9kZS5uYW1lKSkuZWFjaCgoZnVuY3Rpb24odCl7bGV0IGU9RHUodGhpcyk7aS5hZGRBbm5vdGF0aW9uR3JvdXAodCxuLGUpO2xldCByPW4kdC5Bbm5vdGF0aW9uLkVER0Usbz10LnJlbmRlck1ldGFlZGdlSW5mbyYmdC5yZW5kZXJNZXRhZWRnZUluZm8ubWV0YWVkZ2U7byYmIW8ubnVtUmVndWxhckVkZ2VzJiYocis9IiAiK24kdC5Bbm5vdGF0aW9uLkNPTlRST0xfRURHRSksbyYmby5udW1SZWZFZGdlcyYmKHIrPSIgIituJHQuRWRnZS5SRUZfTElORSkscFp0KGUsdCxpLHIpLHQuYW5ub3RhdGlvblR5cGUhPT1MS3QuRUxMSVBTSVM/KCEoZnVuY3Rpb24gYSh0LGUpe2xldCBuPWUubm9kZS5uYW1lLnNwbGl0KCIvIik7cmV0dXJuIERadCh0LG5bbi5sZW5ndGgtMV0sZSxudWxsKX0pKGUsdCksKGZ1bmN0aW9uIHModCxlKXtpZihlLmFubm90YXRpb25UeXBlPT09TEt0LlNVTU1BUlkpe3MkdCh0LCJ1c2UiKS5hdHRyKCJjbGFzcyIsInN1bW1hcnkiKS5hdHRyKCJ4bGluazpocmVmIiwiI3N1bW1hcnktaWNvbiIpLmF0dHIoImN1cnNvciIsInBvaW50ZXIiKX1lbHNle3MkdChFWnQodCxlLG4kdC5Bbm5vdGF0aW9uLk5PREUpLCJ0aXRsZSIpLnRleHQoZS5ub2RlLm5hbWUpfX0pKGUsdCkpOkRadChlLHQubm9kZS5uYW1lLHQsbiR0LkFubm90YXRpb24uRUxMSVBTSVMpfSkpLm1lcmdlKHIpLmF0dHIoImNsYXNzIiwodD0+biR0LkFubm90YXRpb24uR1JPVVArIiAiKyhmdW5jdGlvbiBlKHQpe3JldHVybihMS3RbdF18fCIiKS50b0xvd2VyQ2FzZSgpfHxudWxsfSkodC5hbm5vdGF0aW9uVHlwZSkrIiAiK1RadCh0KSkpLmVhY2goKGZ1bmN0aW9uKHQpe2xldCBlPUR1KHRoaXMpOyEoZnVuY3Rpb24gcih0LGUsbixpKXtsZXQgcj1ZS3QoZSk7bi5yZW5kZXJOb2RlSW5mbyYmbi5hbm5vdGF0aW9uVHlwZSE9PUxLdC5FTExJUFNJUyYmTFp0KHQsbi5yZW5kZXJOb2RlSW5mbyxpLG4kdC5Bbm5vdGF0aW9uLk5PREUpO24uYW5ub3RhdGlvblR5cGU9PT1MS3QuU1VNTUFSWSYmKG4ud2lkdGgrPTEwKTt0LnNlbGVjdCgidGV4dC4iK24kdC5Bbm5vdGF0aW9uLkxBQkVMKS50cmFuc2l0aW9uKCkuYXR0cigieCIscituLmR4KyhuLmlzSW4/LTE6MSkqKG4ud2lkdGgvMituLmxhYmVsT2Zmc2V0KSkuYXR0cigieSIsZS55K24uZHkpLHQuc2VsZWN0KCJ1c2Uuc3VtbWFyeSIpLnRyYW5zaXRpb24oKS5hdHRyKCJ4IixyK24uZHgtMykuYXR0cigieSIsZS55K24uZHktNiksZVp0KHQuc2VsZWN0KCIuIituJHQuQW5ub3RhdGlvbi5OT0RFKyIgZWxsaXBzZSIpLHIrbi5keCxlLnkrbi5keSxuLndpZHRoLG4uaGVpZ2h0KSx0WnQodC5zZWxlY3QoIi4iK24kdC5Bbm5vdGF0aW9uLk5PREUrIiByZWN0IikscituLmR4LGUueStuLmR5LG4ud2lkdGgsbi5oZWlnaHQpLHRadCh0LnNlbGVjdCgiLiIrbiR0LkFubm90YXRpb24uTk9ERSsiIHVzZSIpLHIrbi5keCxlLnkrbi5keSxuLndpZHRoLG4uaGVpZ2h0KSx0LnNlbGVjdCgicGF0aC4iK24kdC5Bbm5vdGF0aW9uLkVER0UpLnRyYW5zaXRpb24oKS5hdHRyKCJkIiwodD0+e2xldCBuPXQucG9pbnRzLm1hcCgodD0+KHt4OnQuZHgrcix5OnQuZHkrZS55fSkpKTtyZXR1cm4gZlp0KG4pfSkpfSkoZSxuLHQsaSksdC5hbm5vdGF0aW9uVHlwZSE9PUxLdC5FTExJUFNJUyYmKGZ1bmN0aW9uIG8odCxlLG4saSl7dC5vbigibW91c2VvdmVyIiwodD0+e2kuZmlyZSgiYW5ub3RhdGlvbi1oaWdobGlnaHQiLHtuYW1lOnQubm9kZS5uYW1lLGhvc3ROYW1lOmUubm9kZS5uYW1lfSl9KSkub24oIm1vdXNlb3V0IiwodD0+e2kuZmlyZSgiYW5ub3RhdGlvbi11bmhpZ2hsaWdodCIse25hbWU6dC5ub2RlLm5hbWUsaG9zdE5hbWU6ZS5ub2RlLm5hbWV9KX0pKS5vbigiY2xpY2siLCh0PT57TXUuc3RvcFByb3BhZ2F0aW9uKCksaS5maXJlKCJhbm5vdGF0aW9uLXNlbGVjdCIse25hbWU6dC5ub2RlLm5hbWUsaG9zdE5hbWU6ZS5ub2RlLm5hbWV9KX0pKSxuLmFubm90YXRpb25UeXBlIT09TEt0LlNVTU1BUlkmJm4uYW5ub3RhdGlvblR5cGUhPT1MS3QuQ09OU1RBTlQmJnQub24oImNvbnRleHRtZW51IixvWnQoaSx5WnQobi5ub2RlLGkpKSl9KShlLG4sdCxpKX0pKSxyLmV4aXQoKS5lYWNoKChmdW5jdGlvbih0KXtpLnJlbW92ZUFubm90YXRpb25Hcm91cCh0LG4pfSkpLnJlbW92ZSgpLHJ9ZnVuY3Rpb24gRFp0KHQsZSxuLGkpe2xldCByPW4kdC5Bbm5vdGF0aW9uLkxBQkVMO3JldHVybiBpJiYocis9IiAiK2kpLHdadCh0LmFwcGVuZCgidGV4dCIpLmF0dHIoImNsYXNzIixyKS5hdHRyKCJkeSIsIi4zNWVtIikuYXR0cigidGV4dC1hbmNob3IiLG4uaXNJbj8iZW5kIjoic3RhcnQiKS50ZXh0KGUpLC0xLGkkdC5MQUJFTCl9ZnVuY3Rpb24gQlp0KHQsZSxuLGkpe2xldCByPWEkdCh0LCJnIixpPWl8fG4kdC5TY2VuZS5HUk9VUCkuZW1wdHkoKSxvPXMkdCh0LCJnIixpKSxhPXMkdChvLCJnIixuJHQuU2NlbmUuQ09SRSkscz1DZS5leHBvcnRzLnJlZHVjZShlLmNvcmVHcmFwaC5ub2RlcygpLCgodCxuKT0+e2xldCBpPWUuY29yZUdyYXBoLm5vZGUobik7cmV0dXJuIGkuZXhjbHVkZWR8fHQucHVzaChpKSx0fSksW10pO2lmKGUubm9kZS50eXBlPT09QSR0LlNFUklFUyYmcy5yZXZlcnNlKCksbFp0KGEsZS5jb3JlR3JhcGgsbiksbVp0KGEscyxuKSxlLmlzb2xhdGVkSW5FeHRyYWN0Lmxlbmd0aD4wKXttWnQocyR0KG8sImciLG4kdC5TY2VuZS5JTkVYVFJBQ1QpLGUuaXNvbGF0ZWRJbkV4dHJhY3Qsbil9ZWxzZSBhJHQobywiZyIsbiR0LlNjZW5lLklORVhUUkFDVCkucmVtb3ZlKCk7aWYoZS5pc29sYXRlZE91dEV4dHJhY3QubGVuZ3RoPjApe21adChzJHQobywiZyIsbiR0LlNjZW5lLk9VVEVYVFJBQ1QpLGUuaXNvbGF0ZWRPdXRFeHRyYWN0LG4pfWVsc2UgYSR0KG8sImciLG4kdC5TY2VuZS5PVVRFWFRSQUNUKS5yZW1vdmUoKTtpZihlLmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0Lmxlbmd0aD4wKXttWnQocyR0KG8sImciLG4kdC5TY2VuZS5GVU5DVElPTl9MSUJSQVJZKSxlLmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0LG4pfWVsc2UgYSR0KG8sImciLG4kdC5TY2VuZS5GVU5DVElPTl9MSUJSQVJZKS5yZW1vdmUoKTtyZXR1cm4oZnVuY3Rpb24gbCh0LGUpe2xldCBuPWUubm9kZS50eXBlPT09QSR0LlNFUklFUz8wOlVLdC5zdWJzY2VuZS5tZXRhLmxhYmVsSGVpZ2h0O1FLdChLS3QodCwiZyIsWkt0LlNjZW5lLkNPUkUpLDAsbik7bGV0IGk9ZS5pc29sYXRlZEluRXh0cmFjdC5sZW5ndGg+MCxyPWUuaXNvbGF0ZWRPdXRFeHRyYWN0Lmxlbmd0aD4wLG89ZS5saWJyYXJ5RnVuY3Rpb25zRXh0cmFjdC5sZW5ndGg+MCxhPVVLdC5zdWJzY2VuZS5tZXRhLmV4dHJhY3RYT2Zmc2V0LHM9MDtpZihpJiYocys9ZS5vdXRFeHRyYWN0Qm94LndpZHRoKSxyJiYocys9ZS5vdXRFeHRyYWN0Qm94LndpZHRoKSxpKXtsZXQgaT1lLmNvcmVCb3gud2lkdGg7aT1zPGpLdD9pLWpLdCtlLmluRXh0cmFjdEJveC53aWR0aC8yOmktZS5pbkV4dHJhY3RCb3gud2lkdGgvMi1lLm91dEV4dHJhY3RCb3gud2lkdGgtKHI/YTowKSxpPWktZS5saWJyYXJ5RnVuY3Rpb25zQm94LndpZHRoLShvP2E6MCksUUt0KEtLdCh0LCJnIixaS3QuU2NlbmUuSU5FWFRSQUNUKSxpLG4pfWlmKHIpe2xldCBpPWUuY29yZUJveC53aWR0aDtzPGpLdD9pPWktakt0K2Uub3V0RXh0cmFjdEJveC53aWR0aC8yOmktPWUub3V0RXh0cmFjdEJveC53aWR0aC8yLGk9aS1lLmxpYnJhcnlGdW5jdGlvbnNCb3gud2lkdGgtKG8/YTowKSxRS3QoS0t0KHQsImciLFpLdC5TY2VuZS5PVVRFWFRSQUNUKSxpLG4pfWlmKG8pe2xldCBpPWUuY29yZUJveC53aWR0aC1lLmxpYnJhcnlGdW5jdGlvbnNCb3gud2lkdGgvMjtRS3QoS0t0KHQsImciLFpLdC5TY2VuZS5GVU5DVElPTl9MSUJSQVJZKSxpLG4pfX0pKG8sZSksciYmby5hdHRyKCJvcGFjaXR5IiwwKS50cmFuc2l0aW9uKCkuYXR0cigib3BhY2l0eSIsMSksb31jbGFzcyBIWnR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8pe3RoaXMuc3ZnPXQsdGhpcy5sYWJlbFBhZGRpbmc9byx0aGlzLnpvb21HPWUsdGhpcy5tYWluWm9vbT1uLHRoaXMubWF4V2FuZEg9cjtsZXQgYT1EdShpLnNoYWRvd1Jvb3QpLHM9YS5zZWxlY3QoInN2ZyIpLGw9cy5zZWxlY3QoInJlY3QiKTt0aGlzLnZpZXdwb2ludENvb3JkPXt4OjAseTowfTtsZXQgYz1JaCgpLnN1YmplY3QoT2JqZWN0KS5vbigiZHJhZyIsKHQ9Pnt0aGlzLnZpZXdwb2ludENvb3JkLng9TXUueCx0aGlzLnZpZXdwb2ludENvb3JkLnk9TXUueSx0aGlzLnVwZGF0ZVZpZXdwb2ludCgpfSkpO2wuZGF0dW0odGhpcy52aWV3cG9pbnRDb29yZCkuY2FsbChjKSxzLm9uKCJjbGljayIsKCgpPT57aWYoTXUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47bGV0IHQ9TnVtYmVyKGwuYXR0cigid2lkdGgiKSksZT1OdW1iZXIobC5hdHRyKCJoZWlnaHQiKSksbj1iaChzLm5vZGUoKSk7dGhpcy52aWV3cG9pbnRDb29yZC54PW5bMF0tdC8yLHRoaXMudmlld3BvaW50Q29vcmQueT1uWzFdLWUvMix0aGlzLnVwZGF0ZVZpZXdwb2ludCgpfSkpLHRoaXMudmlld3BvaW50PWwubm9kZSgpLHRoaXMubWluaW1hcFN2Zz1zLm5vZGUoKSx0aGlzLm1pbmltYXA9aSx0aGlzLmNhbnZhcz1hLnNlbGVjdCgiY2FudmFzLmZpcnN0Iikubm9kZSgpLHRoaXMuY2FudmFzQnVmZmVyPWEuc2VsZWN0KCJjYW52YXMuc2Vjb25kIikubm9kZSgpLHRoaXMuZG93bmxvYWRDYW52YXM9YS5zZWxlY3QoImNhbnZhcy5kb3dubG9hZCIpLm5vZGUoKSxEdSh0aGlzLmRvd25sb2FkQ2FudmFzKS5zdHlsZSgiZGlzcGxheSIsIm5vbmUiKSx0aGlzLnVwZGF0ZSgpfXVwZGF0ZVZpZXdwb2ludCgpe0R1KHRoaXMudmlld3BvaW50KS5hdHRyKCJ4Iix0aGlzLnZpZXdwb2ludENvb3JkLngpLmF0dHIoInkiLHRoaXMudmlld3BvaW50Q29vcmQueSk7bGV0IHQ9LXRoaXMudmlld3BvaW50Q29vcmQueCp0aGlzLnNjYWxlTWFpbi90aGlzLnNjYWxlTWluaW1hcCxlPS10aGlzLnZpZXdwb2ludENvb3JkLnkqdGhpcy5zY2FsZU1haW4vdGhpcy5zY2FsZU1pbmltYXA7RHUodGhpcy5zdmcpLmNhbGwodGhpcy5tYWluWm9vbS50cmFuc2Zvcm0scU4udHJhbnNsYXRlKHQsZSkuc2NhbGUodGhpcy5zY2FsZU1haW4pKX1nZXRJbWFnZUJsb2IoKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9Pnt0aGlzLmRvd25sb2FkQ2FudmFzLnRvQmxvYigoZT0+e3QoZSl9KSwiaW1hZ2UvcG5nIil9KSl9dXBkYXRlKCl7bGV0IHQ9bnVsbDt0cnl7aWYodD10aGlzLnpvb21HLmdldEJCb3goKSwwPT09dC53aWR0aClyZXR1cm59Y2F0Y2godCl7cmV0dXJufWxldCBlPUR1KHRoaXMuc3ZnKSxuPSIiO2NvbnN0IGk9dGhpcy5zdmcscj0oaS5nZXRSb290Tm9kZT9pLmdldFJvb3ROb2RlKCk6dGhpcy5zdmcucGFyZW50Tm9kZSkuc3R5bGVTaGVldHM7Zm9yKGxldCB0PTA7dDxyLmxlbmd0aDt0KyspdHJ5e2xldCBlPXJbdF0uY3NzUnVsZXN8fHJbdF0ucnVsZXM7aWYobnVsbD09ZSljb250aW51ZTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyluKz1lW3RdLmNzc1RleHQucmVwbGFjZSgvID90Zi1bXHctXSsgPy9nLCIiKSsiXG4ifWNhdGNoKHQpe2lmKCJTZWN1cml0eUVycm9yIiE9PXQubmFtZSl0aHJvdyB0fWxldCBvPWUuYXBwZW5kKCJzdHlsZSIpO28udGV4dChuKTtsZXQgYT1EdSh0aGlzLnpvb21HKSxzPWEuYXR0cigidHJhbnNmb3JtIik7YS5hdHRyKCJ0cmFuc2Zvcm0iLG51bGwpLHQuaGVpZ2h0Kz10LnksdC53aWR0aCs9dC54LHQuaGVpZ2h0Kz0yKnRoaXMubGFiZWxQYWRkaW5nLHQud2lkdGgrPTIqdGhpcy5sYWJlbFBhZGRpbmcsZS5hdHRyKCJ3aWR0aCIsdC53aWR0aCkuYXR0cigiaGVpZ2h0Iix0LmhlaWdodCksdGhpcy5zY2FsZU1pbmltYXA9dGhpcy5tYXhXYW5kSC9NYXRoLm1heCh0LndpZHRoLHQuaGVpZ2h0KSx0aGlzLm1pbmltYXBTaXplPXt3aWR0aDp0LndpZHRoKnRoaXMuc2NhbGVNaW5pbWFwLGhlaWdodDp0LmhlaWdodCp0aGlzLnNjYWxlTWluaW1hcH0sRHUodGhpcy5taW5pbWFwU3ZnKS5hdHRyKHRoaXMubWluaW1hcFNpemUpLER1KHRoaXMuY2FudmFzQnVmZmVyKS5hdHRyKHRoaXMubWluaW1hcFNpemUpO2NvbnN0IGw9RHUodGhpcy5kb3dubG9hZENhbnZhcyk7bC5zdHlsZSgid2lkdGgiLHQud2lkdGgpLGwuc3R5bGUoImhlaWdodCIsdC5oZWlnaHQpLGwuYXR0cigid2lkdGgiLDMqdC53aWR0aCksbC5hdHRyKCJoZWlnaHQiLDMqdC5oZWlnaHQpLG51bGwhPXRoaXMudHJhbnNsYXRlJiZudWxsIT10aGlzLnpvb20mJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PnRoaXMuem9vbSgpKSk7bGV0IGM9KG5ldyBYTUxTZXJpYWxpemVyKS5zZXJpYWxpemVUb1N0cmluZyh0aGlzLnN2Zyk7by5yZW1vdmUoKSxlLmF0dHIoIndpZHRoIixudWxsKS5hdHRyKCJoZWlnaHQiLG51bGwpLGEuYXR0cigidHJhbnNmb3JtIixzKTtsZXQgdT1uZXcgSW1hZ2U7dS5vbmxvYWQ9KCk9PntsZXQgdD10aGlzLmNhbnZhc0J1ZmZlci5nZXRDb250ZXh0KCIyZCIpO3QuY2xlYXJSZWN0KDAsMCx0aGlzLmNhbnZhc0J1ZmZlci53aWR0aCx0aGlzLmNhbnZhc0J1ZmZlci5oZWlnaHQpLHQuZHJhd0ltYWdlKHUsMCwwLHRoaXMubWluaW1hcFNpemUud2lkdGgsdGhpcy5taW5pbWFwU2l6ZS5oZWlnaHQpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntEdSh0aGlzLmNhbnZhc0J1ZmZlcikuc3R5bGUoImRpc3BsYXkiLG51bGwpLER1KHRoaXMuY2FudmFzKS5zdHlsZSgiZGlzcGxheSIsIm5vbmUiKSxbdGhpcy5jYW52YXMsdGhpcy5jYW52YXNCdWZmZXJdPVt0aGlzLmNhbnZhc0J1ZmZlcix0aGlzLmNhbnZhc119KSk7bGV0IGU9dGhpcy5kb3dubG9hZENhbnZhcy5nZXRDb250ZXh0KCIyZCIpO2UuY2xlYXJSZWN0KDAsMCx0aGlzLmRvd25sb2FkQ2FudmFzLndpZHRoLHRoaXMuZG93bmxvYWRDYW52YXMuaGVpZ2h0KSxlLmRyYXdJbWFnZSh1LDAsMCx0aGlzLmRvd25sb2FkQ2FudmFzLndpZHRoLHRoaXMuZG93bmxvYWRDYW52YXMuaGVpZ2h0KX0sdS5vbmVycm9yPSgpPT57bGV0IHQ9bmV3IEJsb2IoW2NdLHt0eXBlOiJpbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgifSk7dS5zcmM9VVJMLmNyZWF0ZU9iamVjdFVSTCh0KX0sdS5zcmM9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCIrZW5jb2RlVVJJQ29tcG9uZW50KGMpfXpvb20odCl7aWYobnVsbD09dGhpcy5zY2FsZU1pbmltYXApcmV0dXJuO3QmJih0aGlzLnRyYW5zbGF0ZT1bdC54LHQueV0sdGhpcy5zY2FsZU1haW49dC5rKTtsZXQgZT10aGlzLnN2Zy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPUR1KHRoaXMudmlld3BvaW50KTt0aGlzLnZpZXdwb2ludENvb3JkLng9LXRoaXMudHJhbnNsYXRlWzBdKnRoaXMuc2NhbGVNaW5pbWFwL3RoaXMuc2NhbGVNYWluLHRoaXMudmlld3BvaW50Q29vcmQueT0tdGhpcy50cmFuc2xhdGVbMV0qdGhpcy5zY2FsZU1pbmltYXAvdGhpcy5zY2FsZU1haW47bGV0IGk9ZS53aWR0aCp0aGlzLnNjYWxlTWluaW1hcC90aGlzLnNjYWxlTWFpbixyPWUuaGVpZ2h0KnRoaXMuc2NhbGVNaW5pbWFwL3RoaXMuc2NhbGVNYWluO24uYXR0cigieCIsdGhpcy52aWV3cG9pbnRDb29yZC54KS5hdHRyKCJ5Iix0aGlzLnZpZXdwb2ludENvb3JkLnkpLmF0dHIoIndpZHRoIixpKS5hdHRyKCJoZWlnaHQiLHIpO2xldCBvPXRoaXMubWluaW1hcFNpemUud2lkdGgsYT10aGlzLm1pbmltYXBTaXplLmhlaWdodCxzPXRoaXMudmlld3BvaW50Q29vcmQueCxsPXRoaXMudmlld3BvaW50Q29vcmQueTsoTWF0aC5taW4oTWF0aC5tYXgoMCxzK2kpLG8pLU1hdGgubWluKE1hdGgubWF4KDAscyksbykpKihNYXRoLm1pbihNYXRoLm1heCgwLGwrciksYSktTWF0aC5taW4oTWF0aC5tYXgoMCxsKSxhKSkvKG8qYSk8Ljg/dGhpcy5taW5pbWFwLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOnRoaXMubWluaW1hcC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX19bGV0IEZadD1jbGFzcyBleHRlbmRzIHdle2luaXQodCxlLG4saSxyKXtyZXR1cm4gbmV3IEhadCh0LGUsbix0aGlzLGkscil9fTtGWnQudGVtcGxhdGU9eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICA6aG9zdCguaGlkZGVuKSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgY2FudmFzIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5OwogICAgICB9CgogICAgICByZWN0IHsKICAgICAgICBmaWxsOiB3aGl0ZTsKICAgICAgICBzdHJva2U6ICMxMTExMTE7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgICAgICAgZmlsbC1vcGFjaXR5OiAwOwogICAgICAgIGZpbHRlcjogdXJsKCNtaW5pbWFwRHJvcFNoYWRvdyk7CiAgICAgICAgY3Vyc29yOiBtb3ZlOwogICAgICB9CgogICAgICBzdmcgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxzdmc+CiAgICAgIDxkZWZzPgogICAgICAgIDxmaWx0ZXIKICAgICAgICAgIGlkPSJtaW5pbWFwRHJvcFNoYWRvdyIKICAgICAgICAgIHg9Ii0yMCUiCiAgICAgICAgICB5PSItMjAlIgogICAgICAgICAgd2lkdGg9IjE1MCUiCiAgICAgICAgICBoZWlnaHQ9IjE1MCUiCiAgICAgICAgPgogICAgICAgICAgPGZlT2Zmc2V0IHJlc3VsdD0ib2ZmT3V0IiBpbj0iU291cmNlR3JhcGhpYyIgZHg9IjEiIGR5PSIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgPGZlQ29sb3JNYXRyaXgKICAgICAgICAgICAgcmVzdWx0PSJtYXRyaXhPdXQiCiAgICAgICAgICAgIGluPSJvZmZPdXQiCiAgICAgICAgICAgIHR5cGU9Im1hdHJpeCIKICAgICAgICAgICAgdmFsdWVzPSIwLjEgMCAwIDAgMCAwIDAuMSAwIDAgMCAwIDAgMC4xIDAgMCAwIDAgMCAwLjUgMCIKICAgICAgICAgID48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIKICAgICAgICAgICAgcmVzdWx0PSJibHVyT3V0IgogICAgICAgICAgICBpbj0ibWF0cml4T3V0IgogICAgICAgICAgICBzdGREZXZpYXRpb249IjIiCiAgICAgICAgICA+PC9mZUdhdXNzaWFuQmx1cj4KICAgICAgICAgIDxmZUJsZW5kIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImJsdXJPdXQiIG1vZGU9Im5vcm1hbCI+PC9mZUJsZW5kPgogICAgICAgIDwvZmlsdGVyPgogICAgICA8L2RlZnM+CiAgICAgIDxyZWN0PjwvcmVjdD4KICAgIDwvc3ZnPgogICAgPGNhbnZhcyBjbGFzcz0iZmlyc3QiPjwvY2FudmFzPgogICAgPCEtLSBBZGRpdGlvbmFsIGNhbnZhcyB0byB1c2UgYXMgYnVmZmVyIHRvIGF2b2lkIGZsaWNrZXJpbmcgYmV0d2VlbiB1cGRhdGVzIC0tPgogICAgPGNhbnZhcyBjbGFzcz0ic2Vjb25kIj48L2NhbnZhcz4KICAgIDxjYW52YXMgY2xhc3M9ImRvd25sb2FkIj48L2NhbnZhcz4KICBgLEZadD10KFtpKCJ0Zi1ncmFwaC1taW5pbWFwIildLEZadCk7Y29uc3QgVlp0PXhlYAogIDxzdHlsZT4KICAgIDpob3N0KC5kYXJrLW1vZGUpIHsKICAgICAgZmlsdGVyOiBpbnZlcnQoMSk7CiAgICB9CgogICAgOmhvc3QgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgI3N2ZyB7CiAgICAgIGZsZXg6IDE7CiAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgI2hpZGRlbiB7CiAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgdG9wOiAwcHg7CiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIH0KCiAgICB0ZXh0IHsKICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB9CgogICAgLyogLS0tIE5vZGUgYW5kIGFubm90YXRpb24tbm9kZSBmb3IgTWV0YW5vZGUgLS0tICovCgogICAgLm1ldGEgPiAubm9kZXNoYXBlID4gcmVjdCwKICAgIC5tZXRhID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIGZpbGw6IGhzbCgwLCAwJSwgNzAlKTsKICAgIH0KICAgIC5ub2RlLm1ldGEuaGlnaGxpZ2h0ZWQgPiAubm9kZXNoYXBlID4gcmVjdCwKICAgIC5ub2RlLm1ldGEuaGlnaGxpZ2h0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gcmVjdCB7CiAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgIH0KICAgIC5hbm5vdGF0aW9uLm1ldGEuaGlnaGxpZ2h0ZWQgPiAubm9kZXNoYXBlID4gcmVjdCwKICAgIC5hbm5vdGF0aW9uLm1ldGEuaGlnaGxpZ2h0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gcmVjdCB7CiAgICAgIHN0cm9rZS13aWR0aDogMTsKICAgIH0KICAgIC5tZXRhLnNlbGVjdGVkID4gLm5vZGVzaGFwZSA+IHJlY3QsCiAgICAubWV0YS5zZWxlY3RlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0IHsKICAgICAgc3Ryb2tlOiByZWQ7CiAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgIH0KICAgIC5ub2RlLm1ldGEuc2VsZWN0ZWQuZXhwYW5kZWQgPiAubm9kZXNoYXBlID4gcmVjdCwKICAgIC5ub2RlLm1ldGEuc2VsZWN0ZWQuZXhwYW5kZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gcmVjdCB7CiAgICAgIHN0cm9rZTogcmVkOwogICAgICBzdHJva2Utd2lkdGg6IDM7CiAgICB9CiAgICAuYW5ub3RhdGlvbi5tZXRhLnNlbGVjdGVkID4gLm5vZGVzaGFwZSA+IHJlY3QsCiAgICAuYW5ub3RhdGlvbi5tZXRhLnNlbGVjdGVkID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICBzdHJva2U6IHJlZDsKICAgICAgc3Ryb2tlLXdpZHRoOiAyOwogICAgfQogICAgLm5vZGUubWV0YS5zZWxlY3RlZC5leHBhbmRlZC5oaWdobGlnaHRlZCA+IC5ub2Rlc2hhcGUgPiByZWN0LAogICAgLm5vZGUubWV0YS5zZWxlY3RlZC5leHBhbmRlZC5oaWdobGlnaHRlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0IHsKICAgICAgc3Ryb2tlOiByZWQ7CiAgICAgIHN0cm9rZS13aWR0aDogNDsKICAgIH0KCiAgICAuZmFkZWQsCiAgICAuZmFkZWQgcmVjdCwKICAgIC5mYWRlZCBlbGxpcHNlLAogICAgLmZhZGVkIHBhdGgsCiAgICAuZmFkZWQgdXNlLAogICAgI3JlY3RIYXRjaCBsaW5lLAogICAgI2VsbGlwc2VIYXRjaCBsaW5lIHsKICAgICAgY29sb3I6ICNlMGQ0YjMgIWltcG9ydGFudDsKICAgICAgZmlsbDogd2hpdGU7CiAgICAgIHN0cm9rZTogI2UwZDRiMyAhaW1wb3J0YW50OwogICAgfQoKICAgIC5mYWRlZCBwYXRoIHsKICAgICAgc3Ryb2tlLXdpZHRoOiAxcHggIWltcG9ydGFudDsKICAgIH0KCiAgICAuZmFkZWQgcmVjdCB7CiAgICAgIGZpbGw6IHVybCgjcmVjdEhhdGNoKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5mYWRlZCBlbGxpcHNlLAogICAgLmZhZGVkIHVzZSB7CiAgICAgIGZpbGw6IHVybCgjZWxsaXBzZUhhdGNoKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5mYWRlZCB0ZXh0IHsKICAgICAgb3BhY2l0eTogMDsKICAgIH0KCiAgICAvKiBSdWxlcyB1c2VkIGZvciBpbnB1dC10cmFjaW5nLiAqLwogICAgLmlucHV0LWhpZ2hsaWdodCA+ICogPiByZWN0LAogICAgLmlucHV0LWhpZ2hsaWdodCA+ICogPiBlbGxpcHNlLAogICAgLmlucHV0LWhpZ2hsaWdodCA+ICogPiB1c2UgewogICAgICBmaWxsOiB3aGl0ZTsKICAgICAgc3Ryb2tlOiAjZmY5ODAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLyogIC0gRmFkZWQgbm9uLWlucHV0IHN0eWxpbmcgKi8KICAgIC5ub24taW5wdXQgPiAqID4gcmVjdCwKLm5vbi1pbnB1dCA+ICogPiBlbGxpcHNlLAoubm9uLWlucHV0ID4gKiA+IHVzZSwKLyogRm9yIENvbnN0IG5vZGVzLiAqLwoubm9uLWlucHV0ID4gKiA+IC5jb25zdGFudDpub3QoW2NsYXNzKj0iaW5wdXQtaGlnaGxpZ2h0Il0pID4KICAuYW5ub3RhdGlvbi1ub2RlID4gZWxsaXBzZSwKLyogRm9yIHN0eWxpbmcgb2YgYW5ub3RhdGlvbiBub2RlcyBvZiBub24taW5wdXQgbm9kZXMuICovCi5ub24taW5wdXQgPiBnID4gLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1ub2RlID4gcmVjdCB7CiAgICAgIHN0cm9rZTogI2UwZDRiMyAhaW1wb3J0YW50OwogICAgICBzdHJva2Utd2lkdGg6IGluaGVyaXQ7CiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IGluaGVyaXQ7CiAgICB9CgogICAgLm5vbi1pbnB1dCBwYXRoIHsKICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgfQoKICAgIC5ub24taW5wdXQgPiAubm9kZXNoYXBlID4gcmVjdCwKLm5vbi1pbnB1dCA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0LAovKiBGb3Igc3R5bGluZyBvZiBhbm5vdGF0aW9uIG5vZGVzIG9mIG5vbi1pbnB1dCBub2Rlcy4gKi8KLm5vbi1pbnB1dCA+IGcgPiAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0IHsKICAgICAgZmlsbDogdXJsKCNyZWN0SGF0Y2gpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLm5vbi1pbnB1dCBlbGxpcHNlLAogICAgLm5vbi1pbnB1dCB1c2UgewogICAgICBmaWxsOiB1cmwoI2VsbGlwc2VIYXRjaCkgIWltcG9ydGFudDsKICAgIH0KCiAgICAubm9uLWlucHV0ID4gdGV4dCB7CiAgICAgIG9wYWNpdHk6IDA7CiAgICB9CgogICAgLm5vbi1pbnB1dCAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLWVkZ2UgewogICAgICBtYXJrZXItZW5kOiB1cmwoI2Fubm90YXRpb24tYXJyb3doZWFkLWZhZGVkKTsKICAgIH0KCiAgICAubm9uLWlucHV0IC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tZWRnZS5yZWZsaW5lIHsKICAgICAgbWFya2VyLXN0YXJ0OiB1cmwoI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCk7CiAgICB9CgogICAgLyogSW5wdXQgZWRnZXMuICovCiAgICAuaW5wdXQtZWRnZS1oaWdobGlnaHQgPiB0ZXh0IHsKICAgICAgZmlsbDogYmxhY2sgIWltcG9ydGFudDsKICAgIH0KICAgIC5pbnB1dC1oaWdobGlnaHQgPiAuaW4tYW5ub3RhdGlvbnMgPiAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLWVkZ2UsCiAgICAuaW5wdXQtaGlnaGxpZ2h0LXNlbGVjdGVkCiAgICAgID4gLmluLWFubm90YXRpb25zCiAgICAgID4gLmFubm90YXRpb24KICAgICAgPiAuYW5ub3RhdGlvbi1lZGdlIHsKICAgICAgc3Ryb2tlOiAjOTk5ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLyogTm9uLWlucHV0IGVkZ2VzLiAqLwogICAgLm5vbi1pbnB1dC1lZGdlLWhpZ2hsaWdodCwKLm5vbi1pbnB1dCA+IGcgPiAuYW5ub3RhdGlvbiA+IHBhdGgsCi8qIEFubm90YXRpb24gc3R5bGVzIChsYWJlbCBhbmQgZWRnZXMgcmVzcGVjdGl2ZWx5KS4gKi8KLm5vbi1pbnB1dCA+IGcgPgouYW5ub3RhdGlvbjpub3QoLmlucHV0LWhpZ2hsaWdodCk6bm90KC5pbnB1dC1oaWdobGlnaHQtc2VsZWN0ZWQpID4KLmFubm90YXRpb24tbGFiZWwKLyouYW5ub3RhdGlvbi1lZGdlKi8gewogICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICB9CgogICAgLyogLS0tIE9wIE5vZGUgLS0tICovCgogICAgLm9wID4gLm5vZGVzaGFwZSA+IC5ub2RlY29sb3J0YXJnZXQsCiAgICAub3AgPiAuYW5ub3RhdGlvbi1ub2RlID4gLm5vZGVjb2xvcnRhcmdldCB7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgZmlsbDogI2ZmZjsKICAgICAgc3Ryb2tlOiAjY2NjOwogICAgfQoKICAgIC5vcC5zZWxlY3RlZCA+IC5ub2Rlc2hhcGUgPiAubm9kZWNvbG9ydGFyZ2V0LAogICAgLm9wLnNlbGVjdGVkID4gLmFubm90YXRpb24tbm9kZSA+IC5ub2RlY29sb3J0YXJnZXQgewogICAgICBzdHJva2U6IHJlZDsKICAgICAgc3Ryb2tlLXdpZHRoOiAyOwogICAgfQoKICAgIC5vcC5oaWdobGlnaHRlZCA+IC5ub2Rlc2hhcGUgPiAubm9kZWNvbG9ydGFyZ2V0LAogICAgLm9wLmhpZ2hsaWdodGVkID4gLmFubm90YXRpb24tbm9kZSA+IC5ub2RlY29sb3J0YXJnZXQgewogICAgICBzdHJva2Utd2lkdGg6IDI7CiAgICB9CgogICAgLyogLS0tIFNlcmllcyBOb2RlIC0tLSAqLwoKICAgIC8qIEJ5IGRlZmF1bHQsIGRvbid0IHNob3cgdGhlIHNlcmllcyBiYWNrZ3JvdW5kIDxyZWN0Pi4gKi8KICAgIC5zZXJpZXMgPiAubm9kZXNoYXBlID4gcmVjdCB7CiAgICAgIGZpbGw6IGhzbCgwLCAwJSwgNzAlKTsKICAgICAgZmlsbC1vcGFjaXR5OiAwOwogICAgICBzdHJva2UtZGFzaGFycmF5OiA1LCA1OwogICAgICBzdHJva2Utb3BhY2l0eTogMDsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgfQoKICAgIC8qIE9uY2UgZXhwYW5kZWQsIHNob3cgdGhlIHNlcmllcyBiYWNrZ3JvdW5kIDxyZWN0PiBhbmQgaGlkZSB0aGUgPHVzZT4uICovCiAgICAuc2VyaWVzLmV4cGFuZGVkID4gLm5vZGVzaGFwZSA+IHJlY3QgewogICAgICBmaWxsLW9wYWNpdHk6IDAuMTU7CiAgICAgIHN0cm9rZTogaHNsKDAsIDAlLCA3MCUpOwogICAgICBzdHJva2Utb3BhY2l0eTogMTsKICAgIH0KICAgIC5zZXJpZXMuZXhwYW5kZWQgPiAubm9kZXNoYXBlID4gdXNlIHsKICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgfQoKICAgIC8qKgogKiBUT0RPOiBTaW1wbGlmeSB0aGlzIGJ5IGFwcGx5aW5nIGEgc3RhYmxlIGNsYXNzIG5hbWUgdG8gYWxsIDxnPgogKiBlbGVtZW50cyB0aGF0IGN1cnJlbnRseSBoYXZlIGVpdGhlciB0aGUgbm9kZXNoYXBlIG9yIGFubm90YXRpb24tbm9kZSBjbGFzc2VzLgogKi8KICAgIC5zZXJpZXMgPiAubm9kZXNoYXBlID4gdXNlLAogICAgLnNlcmllcyA+IC5hbm5vdGF0aW9uLW5vZGUgPiB1c2UgewogICAgICBzdHJva2U6ICNjY2M7CiAgICB9CiAgICAuc2VyaWVzLmhpZ2hsaWdodGVkID4gLm5vZGVzaGFwZSA+IHVzZSwKICAgIC5zZXJpZXMuaGlnaGxpZ2h0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gdXNlIHsKICAgICAgc3Ryb2tlLXdpZHRoOiAyOwogICAgfQogICAgLnNlcmllcy5zZWxlY3RlZCA+IC5ub2Rlc2hhcGUgPiB1c2UsCiAgICAuc2VyaWVzLnNlbGVjdGVkID4gLmFubm90YXRpb24tbm9kZSA+IHVzZSB7CiAgICAgIHN0cm9rZTogcmVkOwogICAgICBzdHJva2Utd2lkdGg6IDI7CiAgICB9CgogICAgLnNlcmllcy5zZWxlY3RlZCA+IC5ub2Rlc2hhcGUgPiByZWN0IHsKICAgICAgc3Ryb2tlOiByZWQ7CiAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgIH0KCiAgICAuYW5ub3RhdGlvbi5zZXJpZXMuc2VsZWN0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gdXNlIHsKICAgICAgc3Ryb2tlOiByZWQ7CiAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgIH0KCiAgICAvKiAtLS0gQnJpZGdlIE5vZGUgLS0tICovCiAgICAuYnJpZGdlID4gLm5vZGVzaGFwZSA+IHJlY3QgewogICAgICBzdHJva2U6ICNmMGY7CiAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAvKiAtLS0gU3RydWN0dXJhbCBFbGVtZW50cyAtLS0gKi8KICAgIC5lZGdlID4gcGF0aC5lZGdlbGluZS5zdHJ1Y3R1cmFsIHsKICAgICAgc3Ryb2tlOiAjZjBmOwogICAgICBvcGFjaXR5OiAwLjI7CiAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogUmVmZXJlbmNlIEVkZ2UgKi8KICAgIC5lZGdlID4gcGF0aC5lZGdlbGluZS5yZWZlcmVuY2VlZGdlIHsKICAgICAgc3Ryb2tlOiAjZmZiNzRkOwogICAgICBvcGFjaXR5OiAxOwogICAgfQoKICAgIC8qIC0tLSBTZXJpZXMgTm9kZXMgLS0tICovCgogICAgLyogSGlkZSB0aGUgcmVjdCBmb3IgYSBzZXJpZXMnIGFubm90YXRpb24uICovCiAgICAuc2VyaWVzID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC8qIC0tLSBOb2RlIGxhYmVsIC0tLSAqLwoKICAgIC5ub2RlIHsKICAgICAgLyogUHJvdmlkZSBhIGhpbnQgdG8gYnJvd3NlcnMgdG8gYXZvaWQgdXNpbmcgdGhlaXIgc3RhdGljIHJhc3Rlcml6YXRpb24KICAgICAgYXQgaW5pdGlhbCBzY2FsZSwgd2hpY2ggbG9va3MgdmVyeSBwaXhlbGF0ZWQgb24gQ2hyb21pdW0gd2hlbiB6b29tZWQgaW4uCiAgICAgIE5vdGUgdGhhdCB3ZSBpbnRlbnRpb25hbGx5IGRvICpub3QqIHVzZSAnd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybScgYW5kCiAgICAgICd0cmFuc2xhdGVaKDApIGhlcmUsIHdoaWNoIGludHJvZHVjZSBibHVycmluZXNzIG9uIEZpcmVmb3guCiAgICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9pc3N1ZXMvNDc0NCAqLwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMXB4KTsKICAgIH0KCiAgICAubm9kZSA+IHRleHQubm9kZWxhYmVsIHsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICBmaWxsOiAjNDQ0OwogICAgfQoKICAgIC5tZXRhLmV4cGFuZGVkID4gdGV4dC5ub2RlbGFiZWwgewogICAgICBmb250LXNpemU6IDlweDsKICAgIH0KCiAgICAuc2VyaWVzID4gdGV4dC5ub2RlbGFiZWwgewogICAgICBmb250LXNpemU6IDhweDsKICAgIH0KCiAgICAub3AgPiB0ZXh0Lm5vZGVsYWJlbCB7CiAgICAgIGZvbnQtc2l6ZTogNnB4OwogICAgfQoKICAgIC5icmlkZ2UgPiB0ZXh0Lm5vZGVsYWJlbCB7CiAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLm5vZGUubWV0YS5leHBhbmRlZCA+IHRleHQubm9kZWxhYmVsIHsKICAgICAgY3Vyc29yOiBub3JtYWw7CiAgICB9CgogICAgLmFubm90YXRpb24ubWV0YS5oaWdobGlnaHRlZCA+IHRleHQuYW5ub3RhdGlvbi1sYWJlbCB7CiAgICAgIGZpbGw6ICM1MGEzZjc7CiAgICB9CgogICAgLmFubm90YXRpb24ubWV0YS5zZWxlY3RlZCA+IHRleHQuYW5ub3RhdGlvbi1sYWJlbCB7CiAgICAgIGZpbGw6ICM0Mjg1ZjQ7CiAgICB9CgogICAgLyogLS0tIEFubm90YXRpb24gLS0tICovCgogICAgLyogb25seSBhcHBsaWVkIGZvciBhbm5vdGF0aW9ucyB0aGF0IGFyZSBub3Qgc3VtbWFyeSBvciBjb25zdGFudC4KKC5zdW1tYXJ5LCAuY29uc3RhbnQgZ2V0cyBvdmVycmlkZGVuIGJlbG93KSAqLwogICAgLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1ub2RlID4gKiB7CiAgICAgIHN0cm9rZS13aWR0aDogMC41OwogICAgICBzdHJva2UtZGFzaGFycmF5OiAxLCAxOwogICAgfQoKICAgIC5hbm5vdGF0aW9uLnN1bW1hcnkgPiAuYW5ub3RhdGlvbi1ub2RlID4gKiwKICAgIC5hbm5vdGF0aW9uLmNvbnN0YW50ID4gLmFubm90YXRpb24tbm9kZSA+ICogewogICAgICBzdHJva2Utd2lkdGg6IDE7CiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IG5vbmU7CiAgICB9CgogICAgLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1lZGdlIHsKICAgICAgZmlsbDogbm9uZTsKICAgICAgc3Ryb2tlOiAjYWFhOwogICAgICBzdHJva2Utd2lkdGg6IDAuNTsKICAgICAgbWFya2VyLWVuZDogdXJsKCNhbm5vdGF0aW9uLWFycm93aGVhZCk7CiAgICB9CgogICAgLmZhZGVkIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tZWRnZSB7CiAgICAgIG1hcmtlci1lbmQ6IHVybCgjYW5ub3RhdGlvbi1hcnJvd2hlYWQtZmFkZWQpOwogICAgfQoKICAgIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tZWRnZS5yZWZsaW5lIHsKICAgICAgbWFya2VyLXN0YXJ0OiB1cmwoI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZCk7CiAgICB9CgogICAgLmZhZGVkIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tZWRnZS5yZWZsaW5lIHsKICAgICAgbWFya2VyLXN0YXJ0OiB1cmwoI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCk7CiAgICB9CgogICAgLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1jb250cm9sLWVkZ2UgewogICAgICBzdHJva2UtZGFzaGFycmF5OiAxLCAxOwogICAgfQoKICAgICNhbm5vdGF0aW9uLWFycm93aGVhZCB7CiAgICAgIGZpbGw6ICNhYWE7CiAgICB9CgogICAgI2Fubm90YXRpb24tYXJyb3doZWFkLWZhZGVkIHsKICAgICAgZmlsbDogI2UwZDRiMzsKICAgIH0KCiAgICAjcmVmLWFubm90YXRpb24tYXJyb3doZWFkIHsKICAgICAgZmlsbDogI2FhYTsKICAgIH0KCiAgICAjcmVmLWFubm90YXRpb24tYXJyb3doZWFkLWZhZGVkIHsKICAgICAgZmlsbDogI2UwZDRiMzsKICAgIH0KCiAgICAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLWxhYmVsIHsKICAgICAgZm9udC1zaXplOiA1cHg7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIH0KICAgIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tbGFiZWwuYW5ub3RhdGlvbi1lbGxpcHNpcyB7CiAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgIH0KCiAgICAvKiBIaWRlIGFubm90YXRpb25zIG9uIGV4cGFuZGVkIG1ldGEgbm9kZXMgc2luY2UgdGhleSdyZSByZWR1bmRhbnQuICovCiAgICAuZXhwYW5kZWQgPiAuaW4tYW5ub3RhdGlvbnMsCiAgICAuZXhwYW5kZWQgPiAub3V0LWFubm90YXRpb25zIHsKICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAvKiAtLS0gQW5ub3RhdGlvbjogQ29uc3RhbnQgLS0tICovCgogICAgLmNvbnN0YW50ID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIGZpbGw6IHdoaXRlOwogICAgICBzdHJva2U6ICM4NDg0ODQ7CiAgICB9CgogICAgLmNvbnN0YW50LnNlbGVjdGVkID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICBmaWxsOiB3aGl0ZTsKICAgICAgc3Ryb2tlOiByZWQ7CiAgICB9CgogICAgLmNvbnN0YW50LmhpZ2hsaWdodGVkID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICBzdHJva2Utd2lkdGg6IDEuNTsKICAgIH0KCiAgICAvKiAtLS0gQW5ub3RhdGlvbjogU3VtbWFyeSAtLS0gKi8KCiAgICAuc3VtbWFyeSA+IC5hbm5vdGF0aW9uLW5vZGUgPiBlbGxpcHNlIHsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICBmaWxsOiAjZGI0NDM3OwogICAgICBzdHJva2U6ICNkYjQ0Mzc7CiAgICB9CgogICAgLnN1bW1hcnkuc2VsZWN0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gZWxsaXBzZSB7CiAgICAgIGZpbGw6ICNhNTI3MTQ7CiAgICAgIHN0cm9rZTogI2E1MjcxNDsKICAgIH0KCiAgICAuc3VtbWFyeS5oaWdobGlnaHRlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiBlbGxpcHNlIHsKICAgICAgc3Ryb2tlLXdpZHRoOiAxLjU7CiAgICB9CgogICAgLyogLS0tIEVkZ2UgLS0tICovCgogICAgLmVkZ2UgPiBwYXRoLmVkZ2VsaW5lIHsKICAgICAgZmlsbDogbm9uZTsKICAgICAgc3Ryb2tlOiAjYmJiOwogICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7CiAgICAgIHN0cm9rZS13aWR0aDogMC43NTsKICAgIH0KCiAgICAuZWRnZSAuc2VsZWN0YWJsZWVkZ2UgewogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB9CgogICAgLnNlbGVjdGVkZWRnZSA+IHBhdGguZWRnZWxpbmUgewogICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIHN0cm9rZTogI2YwMDsKICAgIH0KCiAgICAuZWRnZS5zZWxlY3RlZGVkZ2UgdGV4dCB7CiAgICAgIGZpbGw6ICMwMDA7CiAgICB9CgogICAgLyogTGFiZWxzIHNob3dpbmcgdGVuc29yIHNoYXBlcyBvbiBlZGdlcyAqLwogICAgLmVkZ2UgPiB0ZXh0IHsKICAgICAgZm9udC1zaXplOiAzLjVweDsKICAgICAgZmlsbDogIzY2NjsKICAgIH0KCiAgICAuZGF0YWZsb3ctYXJyb3doZWFkIHsKICAgICAgZmlsbDogI2JiYjsKICAgIH0KCiAgICAucmVmZXJlbmNlLWFycm93aGVhZCB7CiAgICAgIGZpbGw6ICNmZmI3NGQ7CiAgICB9CgogICAgLnNlbGVjdGVkLWFycm93aGVhZCB7CiAgICAgIGZpbGw6ICNmMDA7CiAgICB9CgogICAgLmVkZ2UgLmNvbnRyb2wtZGVwIHsKICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMiwgMjsKICAgIH0KCiAgICAvKiAtLS0gR3JvdXAgbm9kZSBleHBhbmQvY29sbGFwc2UgYnV0dG9uIC0tLSAqLwoKICAgIC8qIEhpZGVzIGV4cGFuZC9jb2xsYXBzZSBidXR0b25zIHdoZW4gYSBub2RlIGlzbid0IGV4cGFuZGVkIG9yIGhpZ2hsaWdodGVkLiBVc2luZwogICBpbmNyZWRpYmx5IHNtYWxsIG9wYWNpdHkgc28gdGhhdCB0aGUgYm91bmRpbmcgYm94IG9mIHRoZSA8Zz4gcGFyZW50IHN0aWxsIHRha2VzCiAgIHRoaXMgY29udGFpbmVyIGludG8gYWNjb3VudCBldmVuIHdoZW4gaXQgaXNuJ3QgdmlzaWJsZSAqLwogICAgLm5vZGU6bm90KC5oaWdobGlnaHRlZCk6bm90KC5leHBhbmRlZCkgPiAubm9kZXNoYXBlID4gLmJ1dHRvbmNvbnRhaW5lciB7CiAgICAgIG9wYWNpdHk6IDAuMDE7CiAgICB9CiAgICAubm9kZS5oaWdobGlnaHRlZCA+IC5ub2Rlc2hhcGUgPiAuYnV0dG9uY29udGFpbmVyIHsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgfQogICAgLmJ1dHRvbmNpcmNsZSB7CiAgICAgIGZpbGw6ICNlNzgxMWQ7CiAgICB9CiAgICAuYnV0dG9uY2lyY2xlOmhvdmVyIHsKICAgICAgZmlsbDogI2I5NjcxNzsKICAgIH0KICAgIC5leHBhbmRidXR0b24sCiAgICAuY29sbGFwc2VidXR0b24gewogICAgICBzdHJva2U6IHdoaXRlOwogICAgfQogICAgLyogRG8gbm90IGxldCB0aGUgcGF0aCBlbGVtZW50cyBpbiB0aGUgYnV0dG9uIHRha2UgcG9pbnRlciBmb2N1cyAqLwogICAgLm5vZGUgPiAubm9kZXNoYXBlID4gLmJ1dHRvbmNvbnRhaW5lciA+IC5leHBhbmRidXR0b24sCiAgICAubm9kZSA+IC5ub2Rlc2hhcGUgPiAuYnV0dG9uY29udGFpbmVyID4gLmNvbGxhcHNlYnV0dG9uIHsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB9CiAgICAvKiBPbmx5IHNob3cgdGhlIGV4cGFuZCBidXR0b24gd2hlbiBhIG5vZGUgaXMgY29sbGFwc2VkIGFuZCBvbmx5IHNob3cgdGhlCiAgIGNvbGxhcHNlIGJ1dHRvbiB3aGVuIGEgbm9kZSBpcyBleHBhbmRlZC4gKi8KICAgIC5ub2RlLmV4cGFuZGVkID4gLm5vZGVzaGFwZSA+IC5idXR0b25jb250YWluZXIgPiAuZXhwYW5kYnV0dG9uIHsKICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KICAgIC5ub2RlOm5vdCguZXhwYW5kZWQpID4gLm5vZGVzaGFwZSA+IC5idXR0b25jb250YWluZXIgPiAuY29sbGFwc2VidXR0b24gewogICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC5oZWFsdGgtcGlsbC1zdGF0cyB7CiAgICAgIGZvbnQtc2l6ZTogNHB4OwogICAgICB0ZXh0LWFuY2hvcjogbWlkZGxlOwogICAgfQoKICAgIC5oZWFsdGgtcGlsbCByZWN0IHsKICAgICAgZmlsdGVyOiB1cmwoI2hlYWx0aC1waWxsLXNoYWRvdyk7CiAgICAgIHJ4OiAzOwogICAgICByeTogMzsKICAgIH0KCiAgICAudGl0bGVDb250YWluZXIgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHRvcDogMjBweDsKICAgIH0KCiAgICAudGl0bGUsCiAgICAuYXV4VGl0bGUsCiAgICAuZnVuY3Rpb25MaWJyYXJ5VGl0bGUgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB9CgogICAgI21pbmltYXAgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHJpZ2h0OiAyMHB4OwogICAgICBib3R0b206IDIwcHg7CiAgICB9CgogICAgLmNvbnRleHQtbWVudSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTJlMjsKICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIG1pbi13aWR0aDogMTUwcHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDQ7CiAgICB9CgogICAgLmNvbnRleHQtbWVudSB1bCB7CiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICAgICAgbWFyZ2luOiAwOwogICAgICBwYWRkaW5nOiAwOwogICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICB9CgogICAgLmNvbnRleHQtbWVudSB1bCBsaSB7CiAgICAgIHBhZGRpbmc6IDRweCAxNnB4OwogICAgfQoKICAgIC5jb250ZXh0LW1lbnUgdWwgbGk6aG92ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjM5MTNlOwogICAgICBjb2xvcjogd2hpdGU7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJ0aXRsZUNvbnRhaW5lciI+CiAgICA8ZGl2IGlkPSJ0aXRsZSIgY2xhc3M9InRpdGxlIj5NYWluIEdyYXBoPC9kaXY+CiAgICA8ZGl2IGlkPSJhdXhUaXRsZSIgY2xhc3M9ImF1eFRpdGxlIj5BdXhpbGlhcnkgTm9kZXM8L2Rpdj4KICAgIDxkaXYgaWQ9ImZ1bmN0aW9uTGlicmFyeVRpdGxlIiBjbGFzcz0iZnVuY3Rpb25MaWJyYXJ5VGl0bGUiPkZ1bmN0aW9uczwvZGl2PgogIDwvZGl2PgogIDxzdmcgaWQ9InN2ZyI+CiAgICA8ZGVmcz4KICAgICAgPCEtLSBBcnJvdyBoZWFkcyBmb3IgcmVmZXJlbmNlIGVkZ2UgcGF0aHMgb2YgZGlmZmVyZW50IHByZWRlZmluZWQgc2l6ZXMgcGVyIGNvbG9yLiAtLT4KICAgICAgPHBhdGgKICAgICAgICBpZD0icmVmZXJlbmNlLWFycm93aGVhZC1wYXRoIgogICAgICAgIGQ9Ik0gMCwwIEwgMTAsNSBMIDAsMTAgQyAzLDcgMywzIDAsMCIKICAgICAgPjwvcGF0aD4KICAgICAgPG1hcmtlcgogICAgICAgIGNsYXNzPSJyZWZlcmVuY2UtYXJyb3doZWFkIgogICAgICAgIGlkPSJyZWZlcmVuY2UtYXJyb3doZWFkLXNtYWxsIgogICAgICAgIHZpZXdCb3g9IjAgMCAxMCAxMCIKICAgICAgICBtYXJrZXJXaWR0aD0iNSIKICAgICAgICBtYXJrZXJIZWlnaHQ9IjUiCiAgICAgICAgcmVmWD0iMiIKICAgICAgICByZWZZPSI1IgogICAgICAgIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIgogICAgICAgIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgPgogICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3JlZmVyZW5jZS1hcnJvd2hlYWQtcGF0aCI+PC91c2U+CiAgICAgIDwvbWFya2VyPgogICAgICA8bWFya2VyCiAgICAgICAgY2xhc3M9InJlZmVyZW5jZS1hcnJvd2hlYWQiCiAgICAgICAgaWQ9InJlZmVyZW5jZS1hcnJvd2hlYWQtbWVkaXVtIgogICAgICAgIHZpZXdCb3g9IjAgMCAxMCAxMCIKICAgICAgICBtYXJrZXJXaWR0aD0iMTMiCiAgICAgICAgbWFya2VySGVpZ2h0PSIxMyIKICAgICAgICByZWZYPSIyIgogICAgICAgIHJlZlk9IjUiCiAgICAgICAgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiCiAgICAgICAgbWFya2VyVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICA+CiAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcmVmZXJlbmNlLWFycm93aGVhZC1wYXRoIj48L3VzZT4KICAgICAgPC9tYXJrZXI+CiAgICAgIDxtYXJrZXIKICAgICAgICBjbGFzcz0icmVmZXJlbmNlLWFycm93aGVhZCIKICAgICAgICBpZD0icmVmZXJlbmNlLWFycm93aGVhZC1sYXJnZSIKICAgICAgICB2aWV3Qm94PSIwIDAgMTAgMTAiCiAgICAgICAgbWFya2VyV2lkdGg9IjE2IgogICAgICAgIG1hcmtlckhlaWdodD0iMTYiCiAgICAgICAgcmVmWD0iMiIKICAgICAgICByZWZZPSI1IgogICAgICAgIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIgogICAgICAgIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgPgogICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3JlZmVyZW5jZS1hcnJvd2hlYWQtcGF0aCI+PC91c2U+CiAgICAgIDwvbWFya2VyPgogICAgICA8bWFya2VyCiAgICAgICAgY2xhc3M9InJlZmVyZW5jZS1hcnJvd2hlYWQiCiAgICAgICAgaWQ9InJlZmVyZW5jZS1hcnJvd2hlYWQteGxhcmdlIgogICAgICAgIHZpZXdCb3g9IjAgMCAxMCAxMCIKICAgICAgICBtYXJrZXJXaWR0aD0iMjAiCiAgICAgICAgbWFya2VySGVpZ2h0PSIyMCIKICAgICAgICByZWZYPSIyIgogICAgICAgIHJlZlk9IjUiCiAgICAgICAgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiCiAgICAgICAgbWFya2VyVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICA+CiAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcmVmZXJlbmNlLWFycm93aGVhZC1wYXRoIj48L3VzZT4KICAgICAgPC9tYXJrZXI+CgogICAgICA8IS0tIEFycm93IGhlYWRzIGZvciBkYXRhZmxvdyBlZGdlIHBhdGhzIG9mIGRpZmZlcmVudCBwcmVkZWZpbmVkIHNpemVzIHBlciBjb2xvci4gLS0+CiAgICAgIDxwYXRoCiAgICAgICAgaWQ9ImRhdGFmbG93LWFycm93aGVhZC1wYXRoIgogICAgICAgIGQ9Ik0gMCwwIEwgMTAsNSBMIDAsMTAgQyAzLDcgMywzIDAsMCIKICAgICAgPjwvcGF0aD4KICAgICAgPG1hcmtlcgogICAgICAgIGNsYXNzPSJkYXRhZmxvdy1hcnJvd2hlYWQiCiAgICAgICAgaWQ9ImRhdGFmbG93LWFycm93aGVhZC1zbWFsbCIKICAgICAgICB2aWV3Qm94PSIwIDAgMTAgMTAiCiAgICAgICAgbWFya2VyV2lkdGg9IjUiCiAgICAgICAgbWFya2VySGVpZ2h0PSI1IgogICAgICAgIHJlZlg9IjIiCiAgICAgICAgcmVmWT0iNSIKICAgICAgICBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSIKICAgICAgICBtYXJrZXJVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgID4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNkYXRhZmxvdy1hcnJvd2hlYWQtcGF0aCI+PC91c2U+CiAgICAgIDwvbWFya2VyPgogICAgICA8bWFya2VyCiAgICAgICAgY2xhc3M9ImRhdGFmbG93LWFycm93aGVhZCIKICAgICAgICBpZD0iZGF0YWZsb3ctYXJyb3doZWFkLW1lZGl1bSIKICAgICAgICB2aWV3Qm94PSIwIDAgMTAgMTAiCiAgICAgICAgbWFya2VyV2lkdGg9IjEzIgogICAgICAgIG1hcmtlckhlaWdodD0iMTMiCiAgICAgICAgcmVmWD0iMiIKICAgICAgICByZWZZPSI1IgogICAgICAgIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIgogICAgICAgIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgPgogICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2RhdGFmbG93LWFycm93aGVhZC1wYXRoIj48L3VzZT4KICAgICAgPC9tYXJrZXI+CiAgICAgIDxtYXJrZXIKICAgICAgICBjbGFzcz0iZGF0YWZsb3ctYXJyb3doZWFkIgogICAgICAgIGlkPSJkYXRhZmxvdy1hcnJvd2hlYWQtbGFyZ2UiCiAgICAgICAgdmlld0JveD0iMCAwIDEwIDEwIgogICAgICAgIG1hcmtlcldpZHRoPSIxNiIKICAgICAgICBtYXJrZXJIZWlnaHQ9IjE2IgogICAgICAgIHJlZlg9IjIiCiAgICAgICAgcmVmWT0iNSIKICAgICAgICBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSIKICAgICAgICBtYXJrZXJVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgID4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNkYXRhZmxvdy1hcnJvd2hlYWQtcGF0aCI+PC91c2U+CiAgICAgIDwvbWFya2VyPgogICAgICA8bWFya2VyCiAgICAgICAgY2xhc3M9ImRhdGFmbG93LWFycm93aGVhZCIKICAgICAgICBpZD0iZGF0YWZsb3ctYXJyb3doZWFkLXhsYXJnZSIKICAgICAgICB2aWV3Qm94PSIwIDAgMTAgMTAiCiAgICAgICAgbWFya2VyV2lkdGg9IjIwIgogICAgICAgIG1hcmtlckhlaWdodD0iMjAiCiAgICAgICAgcmVmWD0iMiIKICAgICAgICByZWZZPSI1IgogICAgICAgIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIgogICAgICAgIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgPgogICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2RhdGFmbG93LWFycm93aGVhZC1wYXRoIj48L3VzZT4KICAgICAgPC9tYXJrZXI+CgogICAgICA8IS0tIEFycm93IGhlYWQgZm9yIGFubm90YXRpb24gZWRnZSBwYXRocy4gLS0+CiAgICAgIDxtYXJrZXIKICAgICAgICBpZD0iYW5ub3RhdGlvbi1hcnJvd2hlYWQiCiAgICAgICAgbWFya2VyV2lkdGg9IjUiCiAgICAgICAgbWFya2VySGVpZ2h0PSI1IgogICAgICAgIHJlZlg9IjUiCiAgICAgICAgcmVmWT0iMi41IgogICAgICAgIG9yaWVudD0iYXV0byIKICAgICAgPgogICAgICAgIDxwYXRoIGQ9Ik0gMCwwIEwgNSwyLjUgTCAwLDUgTCAwLDAiPjwvcGF0aD4KICAgICAgPC9tYXJrZXI+CiAgICAgIDxtYXJrZXIKICAgICAgICBpZD0iYW5ub3RhdGlvbi1hcnJvd2hlYWQtZmFkZWQiCiAgICAgICAgbWFya2VyV2lkdGg9IjUiCiAgICAgICAgbWFya2VySGVpZ2h0PSI1IgogICAgICAgIHJlZlg9IjUiCiAgICAgICAgcmVmWT0iMi41IgogICAgICAgIG9yaWVudD0iYXV0byIKICAgICAgPgogICAgICAgIDxwYXRoIGQ9Ik0gMCwwIEwgNSwyLjUgTCAwLDUgTCAwLDAiPjwvcGF0aD4KICAgICAgPC9tYXJrZXI+CiAgICAgIDxtYXJrZXIKICAgICAgICBpZD0icmVmLWFubm90YXRpb24tYXJyb3doZWFkIgogICAgICAgIG1hcmtlcldpZHRoPSI1IgogICAgICAgIG1hcmtlckhlaWdodD0iNSIKICAgICAgICByZWZYPSIwIgogICAgICAgIHJlZlk9IjIuNSIKICAgICAgICBvcmllbnQ9ImF1dG8iCiAgICAgID4KICAgICAgICA8cGF0aCBkPSJNIDUsMCBMIDAsMi41IEwgNSw1IEwgNSwwIj48L3BhdGg+CiAgICAgIDwvbWFya2VyPgogICAgICA8bWFya2VyCiAgICAgICAgaWQ9InJlZi1hbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCIKICAgICAgICBtYXJrZXJXaWR0aD0iNSIKICAgICAgICBtYXJrZXJIZWlnaHQ9IjUiCiAgICAgICAgcmVmWD0iMCIKICAgICAgICByZWZZPSIyLjUiCiAgICAgICAgb3JpZW50PSJhdXRvIgogICAgICA+CiAgICAgICAgPHBhdGggZD0iTSA1LDAgTCAwLDIuNSBMIDUsNSBMIDUsMCI+PC9wYXRoPgogICAgICA8L21hcmtlcj4KICAgICAgPCEtLSBUZW1wbGF0ZSBmb3IgYW4gT3Agbm9kZSBlbGxpcHNlLiAtLT4KICAgICAgPGVsbGlwc2UKICAgICAgICBpZD0ib3Atbm9kZS1zdGFtcCIKICAgICAgICByeD0iNy41IgogICAgICAgIHJ5PSIzIgogICAgICAgIHN0cm9rZT0iaW5oZXJpdCIKICAgICAgICBmaWxsPSJpbmhlcml0IgogICAgICA+PC9lbGxpcHNlPgogICAgICA8IS0tIFRlbXBsYXRlIGZvciBhbiBPcCBub2RlIGFubm90YXRpb24gZWxsaXBzZSAoc21hbGxlcikuIC0tPgogICAgICA8ZWxsaXBzZQogICAgICAgIGlkPSJvcC1ub2RlLWFubm90YXRpb24tc3RhbXAiCiAgICAgICAgcng9IjUiCiAgICAgICAgcnk9IjIiCiAgICAgICAgc3Ryb2tlPSJpbmhlcml0IgogICAgICAgIGZpbGw9ImluaGVyaXQiCiAgICAgID48L2VsbGlwc2U+CiAgICAgIDwhLS0gVmVydGljYWxseSBzdGFja2VkIHNlcmllcyBvZiBPcCBub2RlcyB3aGVuIHVuZXhwYW5kZWQuIC0tPgogICAgICA8ZyBpZD0ib3Atc2VyaWVzLXZlcnRpY2FsLXN0YW1wIj4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSI4IiB5PSI5Ij48L3VzZT4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSI4IiB5PSI2Ij48L3VzZT4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSI4IiB5PSIzIj48L3VzZT4KICAgICAgPC9nPgogICAgICA8IS0tIEhvcml6b250YWxseSBzdGFja2VkIHNlcmllcyBvZiBPcCBub2RlcyB3aGVuIHVuZXhwYW5kZWQuIC0tPgogICAgICA8ZyBpZD0ib3Atc2VyaWVzLWhvcml6b250YWwtc3RhbXAiPgogICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIHg9IjE2IiB5PSI0Ij48L3VzZT4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSIxMiIgeT0iNCI+PC91c2U+CiAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iOCIgeT0iNCI+PC91c2U+CiAgICAgIDwvZz4KICAgICAgPCEtLSBIb3Jpem9udGFsbHkgc3RhY2tlZCBzZXJpZXMgb2YgT3Agbm9kZXMgZm9yIGFubm90YXRpb24uIC0tPgogICAgICA8ZyBpZD0ib3Atc2VyaWVzLWFubm90YXRpb24tc3RhbXAiPgogICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtYW5ub3RhdGlvbi1zdGFtcCIgeD0iOSIgeT0iMiI+PC91c2U+CiAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1hbm5vdGF0aW9uLXN0YW1wIiB4PSI3IiB5PSIyIj48L3VzZT4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLWFubm90YXRpb24tc3RhbXAiIHg9IjUiIHk9IjIiPjwvdXNlPgogICAgICA8L2c+CiAgICAgIDxzdmcKICAgICAgICBpZD0ic3VtbWFyeS1pY29uIgogICAgICAgIGZpbGw9IiM4NDg0ODQiCiAgICAgICAgaGVpZ2h0PSIxMiIKICAgICAgICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgICAgICAgd2lkdGg9IjEyIgogICAgICA+CiAgICAgICAgPHBhdGgKICAgICAgICAgIGQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnpNOSAxN0g3di03aDJ2N3ptNCAwaC0yVjdoMnYxMHptNCAwaC0ydi00aDJ2NHoiCiAgICAgICAgPjwvcGF0aD4KICAgICAgPC9zdmc+CgogICAgICA8IS0tIEhhdGNoIHBhdHRlcm5zIGZvciBmYWRlZCBvdXQgbm9kZXMuIC0tPgogICAgICA8cGF0dGVybgogICAgICAgIGlkPSJyZWN0SGF0Y2giCiAgICAgICAgcGF0dGVyblRyYW5zZm9ybT0icm90YXRlKDQ1IDAgMCkiCiAgICAgICAgd2lkdGg9IjUiCiAgICAgICAgaGVpZ2h0PSI1IgogICAgICAgIHBhdHRlcm5Vbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgID4KICAgICAgICA8bGluZSB4MT0iMCIgeTE9IjAiIHgyPSIwIiB5Mj0iNSIgc3R5bGU9InN0cm9rZS13aWR0aDogMSI+PC9saW5lPgogICAgICA8L3BhdHRlcm4+CiAgICAgIDxwYXR0ZXJuCiAgICAgICAgaWQ9ImVsbGlwc2VIYXRjaCIKICAgICAgICBwYXR0ZXJuVHJhbnNmb3JtPSJyb3RhdGUoNDUgMCAwKSIKICAgICAgICB3aWR0aD0iMiIKICAgICAgICBoZWlnaHQ9IjIiCiAgICAgICAgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgPgogICAgICAgIDxsaW5lIHgxPSIwIiB5MT0iMCIgeDI9IjAiIHkyPSIyIiBzdHlsZT0ic3Ryb2tlLXdpZHRoOiAxIj48L2xpbmU+CiAgICAgIDwvcGF0dGVybj4KCiAgICAgIDwhLS0gQSBzaGFkb3cgZm9yIGhlYWx0aCBwaWxscy4gLS0+CiAgICAgIDxmaWx0ZXIKICAgICAgICBpZD0iaGVhbHRoLXBpbGwtc2hhZG93IgogICAgICAgIHg9Ii00MCUiCiAgICAgICAgeT0iLTQwJSIKICAgICAgICB3aWR0aD0iMTgwJSIKICAgICAgICBoZWlnaHQ9IjE4MCUiCiAgICAgID4KICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgaW49IlNvdXJjZUFscGhhIiBzdGREZXZpYXRpb249IjAuOCI+PC9mZUdhdXNzaWFuQmx1cj4KICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIwIiByZXN1bHQ9Im9mZnNldGJsdXIiPjwvZmVPZmZzZXQ+CiAgICAgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9IiMwMDAwMDAiPjwvZmVGbG9vZD4KICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJvZmZzZXRibHVyIiBvcGVyYXRvcj0iaW4iPjwvZmVDb21wb3NpdGU+CiAgICAgICAgPGZlTWVyZ2U+CiAgICAgICAgICA8ZmVNZXJnZU5vZGU+PC9mZU1lcmdlTm9kZT4KICAgICAgICAgIDxmZU1lcmdlTm9kZSBpbj0iU291cmNlR3JhcGhpYyI+PC9mZU1lcmdlTm9kZT4KICAgICAgICA8L2ZlTWVyZ2U+CiAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPCEtLSBNYWtlIGEgbGFyZ2UgcmVjdGFuZ2xlIHRoYXQgZmlsbHMgdGhlIHN2ZyBzcGFjZSBzbyB0aGF0CiAgem9vbSBldmVudHMgZ2V0IGNhcHR1cmVkIG9uIHNhZmFyaSAtLT4KICAgIDxyZWN0IGZpbGw9IndoaXRlIiB3aWR0aD0iMTAwMDAiIGhlaWdodD0iMTAwMDAiPjwvcmVjdD4KICAgIDxnIGlkPSJyb290Ij48L2c+CiAgPC9zdmc+CiAgPHRmLWdyYXBoLW1pbmltYXAgaWQ9Im1pbmltYXAiPjwvdGYtZ3JhcGgtbWluaW1hcD4KICA8ZGl2IGlkPSJjb250ZXh0TWVudSIgY2xhc3M9ImNvbnRleHQtbWVudSI+PC9kaXY+CmA7bGV0IFVadD1jbGFzcyBleHRlbmRzKGNyKGdsKHdlKSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl96b29tZWQ9ITEsdGhpcy5fem9vbVN0YXJ0Q29vcmRzPW51bGwsdGhpcy5fem9vbVRyYW5zZm9ybT1udWxsLHRoaXMuX21heFpvb21EaXN0YW5jZUZvckNsaWNrPTIwLHRoaXMuX25vZGVHcm91cEluZGV4PXt9LHRoaXMuX2Fubm90YXRpb25Hcm91cEluZGV4PXt9LHRoaXMuX2VkZ2VHcm91cEluZGV4PXt9LHRoaXMubWF4TWV0YW5vZGVMYWJlbExlbmd0aEZvbnRTaXplPTksdGhpcy5taW5NZXRhbm9kZUxhYmVsTGVuZ3RoRm9udFNpemU9Nix0aGlzLm1heE1ldGFub2RlTGFiZWxMZW5ndGhMYXJnZUZvbnQ9MTEsdGhpcy5tYXhNZXRhbm9kZUxhYmVsTGVuZ3RoPTE4fWdldE5vZGUodCl7cmV0dXJuIHRoaXMucmVuZGVySGllcmFyY2h5LmdldFJlbmRlck5vZGVCeU5hbWUodCl9aXNOb2RlRXhwYW5kZWQodCl7cmV0dXJuIHQuZXhwYW5kZWR9c2V0Tm9kZUV4cGFuZGVkKHQpe3RoaXMuX2J1aWxkKHRoaXMucmVuZGVySGllcmFyY2h5KSx0aGlzLl91cGRhdGVMYWJlbHMoIXRoaXMuX3pvb21lZCl9cGFuVG9Ob2RlKHQpeyhmdW5jdGlvbiBlKHQsbixpLHIpe2NvbnN0IG89RHUobikuc2VsZWN0KGBbZGF0YS1uYW1lPSIke3R9Il1gKS5ub2RlKCk7aWYoIW8pcmV0dXJuIGNvbnNvbGUud2FybihgcGFuVG9Ob2RlKCkgZmFpbGVkIGZvciBub2RlIG5hbWUgIiR7dH0iYCksITE7bGV0IGE9by5nZXRCQm94KCkscz1vLmdldFNjcmVlbkNUTSgpLGw9bi5jcmVhdGVTVkdQb2ludCgpLGM9bi5jcmVhdGVTVkdQb2ludCgpO2wueD1hLngsbC55PWEueSxjLng9YS54K2Eud2lkdGgsYy55PWEueSthLmhlaWdodCxsPWwubWF0cml4VHJhbnNmb3JtKHMpLGM9Yy5tYXRyaXhUcmFuc2Zvcm0ocyk7bGV0IHU9KHQsZSxuLGkpPT4hKHQ+biYmZTxpKSxoPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Y29uc3QgZD1oLnRvcCtoLmhlaWdodC0xNTA7aWYodShsLngsYy54LGgubGVmdCxoLmxlZnQraC53aWR0aC0zMjApfHx1KGwueSxjLnksaC50b3AsZCkpe2xldCB0PWgubGVmdCtoLndpZHRoLzItKGwueCtjLngpLzIsZT1oLnRvcCtoLmhlaWdodC8yLShsLnkrYy55KS8yO2NvbnN0IGk9WU4obik7cmV0dXJuIER1KG4pLnRyYW5zaXRpb24oKS5kdXJhdGlvbig1MDApLmNhbGwoci50cmFuc2xhdGVCeSx0L2kuayxlL2kuayksITB9cmV0dXJuITF9KSh0LHRoaXMuJC5zdmcsMCx0aGlzLl96b29tKSYmKHRoaXMuX3pvb21lZD0hMCl9Z2V0R3JhcGhTdmdSb290KCl7cmV0dXJuIHRoaXMuJC5zdmd9Z2V0Q29udGV4dE1lbnUoKXtyZXR1cm4gdGhpcy4kLmNvbnRleHRNZW51fV9yZXNldFN0YXRlKCl7dGhpcy5fbm9kZUdyb3VwSW5kZXg9e30sdGhpcy5fYW5ub3RhdGlvbkdyb3VwSW5kZXg9e30sdGhpcy5fZWRnZUdyb3VwSW5kZXg9e30sdGhpcy5fdXBkYXRlTGFiZWxzKCExKSxEdSh0aGlzLiQuc3ZnKS5zZWxlY3QoIiNyb290Iikuc2VsZWN0QWxsKCIqIikucmVtb3ZlKCksQVp0KHRoaXMuJC5zdmcpfV9idWlsZCh0KXt0aGlzLnRlbXBsYXRlSW5kZXg9dC5oaWVyYXJjaHkuZ2V0VGVtcGxhdGVJbmRleCgpLGQkdCgidGYtZ3JhcGgtc2NlbmUgKGxheW91dCk6IixmdW5jdGlvbigpe0dLdCh0LnJvb3QpfS5iaW5kKHRoaXMpLEJBdC5SRU5ERVJfU0NFTkVfTEFZT1VUKSxkJHQoInRmLWdyYXBoLXNjZW5lIChidWlsZCBzY2VuZSk6IixmdW5jdGlvbigpe0JadChEdSh0aGlzLiQucm9vdCksdC5yb290LHRoaXMpLChmdW5jdGlvbiBlKHQsbil7RHUodCkub24oImNsaWNrIiwoKCk9PntuLmZpcmUoImdyYXBoLXNlbGVjdCIpfSkpfSkodGhpcy4kLnN2Zyx0aGlzKSx0aGlzLl91cGRhdGVJbnB1dFRyYWNlKCl9LmJpbmQodGhpcyksQkF0LlJFTkRFUl9TQ0VORV9CVUlMRF9TQ0VORSksc2V0VGltZW91dChmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUhlYWx0aFBpbGxzKHRoaXMubm9kZU5hbWVzVG9IZWFsdGhQaWxscyx0aGlzLmhlYWx0aFBpbGxTdGVwSW5kZXgpLHRoaXMubWluaW1hcC51cGRhdGUoKX0uYmluZCh0aGlzKSxVS3QuYW5pbWF0aW9uLmR1cmF0aW9uKX1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5fem9vbT1uSSgpLm9uKCJlbmQiLGZ1bmN0aW9uKCl7dGhpcy5fem9vbVN0YXJ0Q29vcmRzJiYoTWF0aC5zcXJ0KE1hdGgucG93KHRoaXMuX3pvb21TdGFydENvb3Jkcy54LXRoaXMuX3pvb21UcmFuc2Zvcm0ueCwyKStNYXRoLnBvdyh0aGlzLl96b29tU3RhcnRDb29yZHMueS10aGlzLl96b29tVHJhbnNmb3JtLnksMikpPHRoaXMuX21heFpvb21EaXN0YW5jZUZvckNsaWNrP3RoaXMuX2ZpcmVFbmFibGVDbGljaygpOnNldFRpbWVvdXQodGhpcy5fZmlyZUVuYWJsZUNsaWNrLmJpbmQodGhpcyksNTApKTt0aGlzLl96b29tU3RhcnRDb29yZHM9bnVsbH0uYmluZCh0aGlzKSkub24oInpvb20iLGZ1bmN0aW9uKCl7dGhpcy5fem9vbVRyYW5zZm9ybT1NdS50cmFuc2Zvcm0sdGhpcy5fem9vbVN0YXJ0Q29vcmRzfHwodGhpcy5fem9vbVN0YXJ0Q29vcmRzPXRoaXMuX3pvb21UcmFuc2Zvcm0sdGhpcy5maXJlKCJkaXNhYmxlLWNsaWNrIikpLHRoaXMuX3pvb21lZD0hMCxEdSh0aGlzLiQucm9vdCkuYXR0cigidHJhbnNmb3JtIixNdS50cmFuc2Zvcm0pLHRoaXMubWluaW1hcC56b29tKE11LnRyYW5zZm9ybSl9LmJpbmQodGhpcykpLER1KHRoaXMuJC5zdmcpLmNhbGwodGhpcy5fem9vbSkub24oImRibGNsaWNrLnpvb20iLG51bGwpLER1KHdpbmRvdykub24oInJlc2l6ZSIsZnVuY3Rpb24oKXt0aGlzLm1pbmltYXAuem9vbSgpfS5iaW5kKHRoaXMpKSx0aGlzLm1pbmltYXA9dGhpcy4kLm1pbmltYXAuaW5pdCh0aGlzLiQuc3ZnLHRoaXMuJC5yb290LHRoaXMuX3pvb20sVUt0Lm1pbmltYXAuc2l6ZSxVS3Quc3Vic2NlbmUubWV0YS5sYWJlbEhlaWdodCl9YXR0YWNoZWQoKXt0aGlzLnNldCgiX2lzQXR0YWNoZWQiLCEwKX1kZXRhY2hlZCgpe3RoaXMuc2V0KCJfaXNBdHRhY2hlZCIsITEpfV9yZW5kZXJIaWVyYXJjaHlDaGFuZ2VkKCl7dmFyIHQ9dGhpcy5yZW5kZXJIaWVyYXJjaHk7dGhpcy5faGFzUmVuZGVySGllcmFyY2h5QmVlbkZpdE9uY2U9ITEsdGhpcy5fcmVzZXRTdGF0ZSgpLHRoaXMuX2J1aWxkKHQpfV9hbmltYXRlQW5kRml0KCl7IXRoaXMuX2hhc1JlbmRlckhpZXJhcmNoeUJlZW5GaXRPbmNlJiZ0aGlzLl9pc0F0dGFjaGVkJiZzZXRUaW1lb3V0KHRoaXMuZml0LmJpbmQodGhpcyksVUt0LmFuaW1hdGlvbi5kdXJhdGlvbil9X3VwZGF0ZUxhYmVscyh0KXt2YXIgZT10aGlzLiQkKCIudGl0bGUiKSxuPWUuc3R5bGUsaT10aGlzLiQkKCIuYXV4VGl0bGUiKSxyPWkuc3R5bGUsbz10aGlzLiQkKCIuZnVuY3Rpb25MaWJyYXJ5VGl0bGUiKS5zdHlsZTtjb25zdCBhPUR1KHRoaXMuJC5zdmcpO3ZhciBzPWEuc2VsZWN0KCIuIitaS3QuU2NlbmUuR1JPVVArIj4uIitaS3QuU2NlbmUuQ09SRSkubm9kZSgpO2lmKHQmJnMmJnRoaXMucHJvZ3Jlc3MmJjEwMD09PXRoaXMucHJvZ3Jlc3MudmFsdWUpe3ZhciBsPWEuc2VsZWN0KCIuIitaS3QuU2NlbmUuR1JPVVArIj4uIitaS3QuU2NlbmUuSU5FWFRSQUNUKS5ub2RlKCl8fGEuc2VsZWN0KCIuIitaS3QuU2NlbmUuR1JPVVArIj4uIitaS3QuU2NlbmUuT1VURVhUUkFDVCkubm9kZSgpLGM9cy5nZXRDVE0oKS5lLHU9bD9sLmdldENUTSgpLmU6bnVsbDtuLmRpc3BsYXk9ImlubGluZSIsbi5sZWZ0PWMrInB4IixudWxsIT09dSYmdSE9PWM/KHIuZGlzcGxheT0iaW5saW5lIix1PU1hdGgubWF4KGMrZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCx1KSxyLmxlZnQ9dSsicHgiKTpyLmRpc3BsYXk9Im5vbmUiO2xldCB0PWEuc2VsZWN0KCIuIitaS3QuU2NlbmUuR1JPVVArIj4uIitaS3QuU2NlbmUuRlVOQ1RJT05fTElCUkFSWSkubm9kZSgpLGg9dD90LmdldENUTSgpLmU6bnVsbDtudWxsIT09aCYmaCE9PXU/KG8uZGlzcGxheT0iaW5saW5lIixoPU1hdGgubWF4KHUraS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCxoKSxvLmxlZnQ9aCsicHgiKTpvLmRpc3BsYXk9Im5vbmUifWVsc2Ugbi5kaXNwbGF5PSJub25lIixyLmRpc3BsYXk9Im5vbmUiLG8uZGlzcGxheT0ibm9uZSJ9bm9kZUNvbG9yc0NoYW5nZWQoKXtudWxsIT10aGlzLnJlbmRlckhpZXJhcmNoeSYmKHRoaXMudGVtcGxhdGVJbmRleD10aGlzLnJlbmRlckhpZXJhcmNoeS5oaWVyYXJjaHkuZ2V0VGVtcGxhdGVJbmRleCgpLENlLmV4cG9ydHMuZWFjaCh0aGlzLl9ub2RlR3JvdXBJbmRleCwoKHQsZSk9Pnt0aGlzLl91cGRhdGVOb2RlU3RhdGUoZSl9KSksdGhpcy5taW5pbWFwLnVwZGF0ZSgpKX1maXQoKXt0aGlzLl9oYXNSZW5kZXJIaWVyYXJjaHlCZWVuRml0T25jZT0hMCwoZnVuY3Rpb24gdChlLG4saSxyKXtsZXQgbz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9bnVsbDt0cnl7aWYoYT1uLmdldEJCb3goKSwwPT09YS53aWR0aClyZXR1cm59Y2F0Y2godCl7cmV0dXJufWxldCBzPS45Kk1hdGgubWluKG8ud2lkdGgvYS53aWR0aCxvLmhlaWdodC9hLmhlaWdodCwyKSxsPVVLdC5ncmFwaDtjb25zdCBjPXFOLnNjYWxlKHMpLnRyYW5zbGF0ZShsLnBhZGRpbmcucGFkZGluZ0xlZnQsbC5wYWRkaW5nLnBhZGRpbmdUb3ApO0R1KGUpLnRyYW5zaXRpb24oKS5kdXJhdGlvbig1MDApLmNhbGwoaS50cmFuc2Zvcm0sYykub24oImVuZC5maXR0ZWQiLCgoKT0+e2kub24oImVuZC5maXR0ZWQiLG51bGwpLHIoKX0pKX0pKHRoaXMuJC5zdmcsdGhpcy4kLnJvb3QsdGhpcy5fem9vbSxmdW5jdGlvbigpe3RoaXMuX3pvb21lZD0hMX0uYmluZCh0aGlzKSl9Z2V0SW1hZ2VCbG9iKCl7cmV0dXJuIHRoaXMubWluaW1hcC5nZXRJbWFnZUJsb2IoKX1pc05vZGVTZWxlY3RlZCh0KXtyZXR1cm4gdD09PXRoaXMuc2VsZWN0ZWROb2RlfWlzTm9kZUhpZ2hsaWdodGVkKHQpe3JldHVybiB0PT09dGhpcy5oaWdobGlnaHRlZE5vZGV9YWRkQW5ub3RhdGlvbkdyb3VwKHQsZSxuKXt2YXIgaT10Lm5vZGUubmFtZTt0aGlzLl9hbm5vdGF0aW9uR3JvdXBJbmRleFtpXT10aGlzLl9hbm5vdGF0aW9uR3JvdXBJbmRleFtpXXx8e30sdGhpcy5fYW5ub3RhdGlvbkdyb3VwSW5kZXhbaV1bZS5ub2RlLm5hbWVdPW59Z2V0QW5ub3RhdGlvbkdyb3Vwc0luZGV4KHQpe3JldHVybiB0aGlzLl9hbm5vdGF0aW9uR3JvdXBJbmRleFt0XX1yZW1vdmVBbm5vdGF0aW9uR3JvdXAodCxlKXtkZWxldGUgdGhpcy5fYW5ub3RhdGlvbkdyb3VwSW5kZXhbdC5ub2RlLm5hbWVdW2Uubm9kZS5uYW1lXX1hZGROb2RlR3JvdXAodCxlKXt0aGlzLl9ub2RlR3JvdXBJbmRleFt0XT1lfWdldE5vZGVHcm91cCh0KXtyZXR1cm4gdGhpcy5fbm9kZUdyb3VwSW5kZXhbdF19cmVtb3ZlTm9kZUdyb3VwKHQpe2RlbGV0ZSB0aGlzLl9ub2RlR3JvdXBJbmRleFt0XX1hZGRFZGdlR3JvdXAodCxlKXt0aGlzLl9lZGdlR3JvdXBJbmRleFt0XT1lfWdldEVkZ2VHcm91cCh0KXtyZXR1cm4gdGhpcy5fZWRnZUdyb3VwSW5kZXhbdF19X3VwZGF0ZUhlYWx0aFBpbGxzKCl7IShmdW5jdGlvbiB0KGUsbixpKXtpZighbilyZXR1cm47bGV0IHI9MTtEdShlKS5zZWxlY3RBbGwoImcubm9kZXNoYXBlIikuZWFjaCgoZnVuY3Rpb24odCl7Y29uc3QgZT1uW3Qubm9kZS5uYW1lXTtpWnQodGhpcyxlP2VbaV06bnVsbCx0LHIrKyl9KSl9KSh0aGlzLiQuc3ZnLHRoaXMubm9kZU5hbWVzVG9IZWFsdGhQaWxscyx0aGlzLmhlYWx0aFBpbGxTdGVwSW5kZXgpfV91cGRhdGVOb2RlU3RhdGUodCl7dmFyIGU9dGhpcy5nZXROb2RlKHQpLG49dGhpcy5nZXROb2RlR3JvdXAodCk7KG4mJkxadChuLGUsdGhpcyksZS5ub2RlLnR5cGU9PT1BJHQuTUVUQSYmZS5ub2RlLmFzc29jaWF0ZWRGdW5jdGlvbiYmIWUuaXNMaWJyYXJ5RnVuY3Rpb24pJiZMWnQoRHUoIi4iK1pLdC5TY2VuZS5HUk9VUCsiPi4iK1pLdC5TY2VuZS5GVU5DVElPTl9MSUJSQVJZKycgZ1tkYXRhLW5hbWU9IicrKFQkdCtlLm5vZGUuYXNzb2NpYXRlZEZ1bmN0aW9uKSsnIl0nKSxlLHRoaXMpO3ZhciBpPXRoaXMuZ2V0QW5ub3RhdGlvbkdyb3Vwc0luZGV4KHQpO0NlLmV4cG9ydHMuZWFjaChpLCgodCxuKT0+e0xadCh0LGUsdGhpcyxaS3QuQW5ub3RhdGlvbi5OT0RFKX0pKX1fc2VsZWN0ZWROb2RlQ2hhbmdlZCh0LGUpe2lmKHQhPT1lJiYoZSYmdGhpcy5fdXBkYXRlTm9kZVN0YXRlKGUpLHQpKXt0aGlzLm1pbmltYXAudXBkYXRlKCk7Zm9yKHZhciBuLGk9dGhpcy5yZW5kZXJIaWVyYXJjaHkuaGllcmFyY2h5Lm5vZGUodCkscj1bXTtudWxsIT1pLnBhcmVudE5vZGUmJmkucGFyZW50Tm9kZS5uYW1lIT1FJHQ7KXIucHVzaCgoaT1pLnBhcmVudE5vZGUpLm5hbWUpO0NlLmV4cG9ydHMuZm9yRWFjaFJpZ2h0KHIsKHQ9Pnt0aGlzLnJlbmRlckhpZXJhcmNoeS5idWlsZFN1YmhpZXJhcmNoeSh0KTt2YXIgZT10aGlzLnJlbmRlckhpZXJhcmNoeS5nZXRSZW5kZXJOb2RlQnlOYW1lKHQpO2Uubm9kZS5pc0dyb3VwTm9kZSYmIWUuZXhwYW5kZWQmJihlLmV4cGFuZGVkPSEwLG58fChuPWUpKX0pKSxuJiYodGhpcy5zZXROb2RlRXhwYW5kZWQobiksdGhpcy5fem9vbWVkPSEwKSx0JiZ0aGlzLl91cGRhdGVOb2RlU3RhdGUodCksc2V0VGltZW91dCgoKCk9Pnt0aGlzLnBhblRvTm9kZSh0KX0pLFVLdC5hbmltYXRpb24uZHVyYXRpb24pfX1faGlnaGxpZ2h0ZWROb2RlQ2hhbmdlZCh0LGUpe3QhPT1lJiYodCYmdGhpcy5fdXBkYXRlTm9kZVN0YXRlKHQpLGUmJnRoaXMuX3VwZGF0ZU5vZGVTdGF0ZShlKSl9X29uWm9vbUNoYW5nZWQoKXt0aGlzLl91cGRhdGVMYWJlbHMoIXRoaXMuX3pvb21lZCl9X2ZpcmVFbmFibGVDbGljaygpe3RoaXMuZmlyZSgiZW5hYmxlLWNsaWNrIil9X3VwZGF0ZUlucHV0VHJhY2UoKXtOWnQodGhpcy5nZXRHcmFwaFN2Z1Jvb3QoKSx0aGlzLnJlbmRlckhpZXJhcmNoeSx0aGlzLnNlbGVjdGVkTm9kZSx0aGlzLnRyYWNlSW5wdXRzKX19O1VadC50ZW1wbGF0ZT1WWnQsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsQUt0KV0sVVp0LnByb3RvdHlwZSwicmVuZGVySGllcmFyY2h5Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFVadC5wcm90b3R5cGUsIm5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sVVp0LnByb3RvdHlwZSwiY29sb3JCeSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFVadC5wcm90b3R5cGUsInRyYWNlSW5wdXRzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sVVp0LnByb3RvdHlwZSwiX2hhc1JlbmRlckhpZXJhcmNoeUJlZW5GaXRPbmNlIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sVVp0LnByb3RvdHlwZSwiX2lzQXR0YWNoZWQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVVp0LnByb3RvdHlwZSwiX3pvb20iLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsb2JzZXJ2ZXI6Il9oaWdobGlnaHRlZE5vZGVDaGFuZ2VkIn0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxVWnQucHJvdG90eXBlLCJoaWdobGlnaHRlZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsb2JzZXJ2ZXI6Il9zZWxlY3RlZE5vZGVDaGFuZ2VkIn0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxVWnQucHJvdG90eXBlLCJzZWxlY3RlZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVVp0LnByb3RvdHlwZSwiaGFuZGxlRWRnZVNlbGVjdGVkIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX29uWm9vbUNoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxVWnQucHJvdG90eXBlLCJfem9vbWVkIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFVadC5wcm90b3R5cGUsIl96b29tU3RhcnRDb29yZHMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVVp0LnByb3RvdHlwZSwiX3pvb21UcmFuc2Zvcm0iLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sVVp0LnByb3RvdHlwZSwiX21heFpvb21EaXN0YW5jZUZvckNsaWNrIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKV0sVVp0LnByb3RvdHlwZSwidGVtcGxhdGVJbmRleCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxVWnQucHJvdG90eXBlLCJfbm9kZUdyb3VwSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVVp0LnByb3RvdHlwZSwiX2Fubm90YXRpb25Hcm91cEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFVadC5wcm90b3R5cGUsIl9lZGdlR3JvdXBJbmRleCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxVWnQucHJvdG90eXBlLCJtYXhNZXRhbm9kZUxhYmVsTGVuZ3RoRm9udFNpemUiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sVVp0LnByb3RvdHlwZSwibWluTWV0YW5vZGVMYWJlbExlbmd0aEZvbnRTaXplIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLFVadC5wcm90b3R5cGUsIm1heE1ldGFub2RlTGFiZWxMZW5ndGhMYXJnZUZvbnQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sVVp0LnByb3RvdHlwZSwibWF4TWV0YW5vZGVMYWJlbExlbmd0aCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxVWnQucHJvdG90eXBlLCJwcm9ncmVzcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sVVp0LnByb3RvdHlwZSwibm9kZUNvbnRleHRNZW51SXRlbXMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVVp0LnByb3RvdHlwZSwibm9kZU5hbWVzVG9IZWFsdGhQaWxscyIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxVWnQucHJvdG90eXBlLCJoZWFsdGhQaWxsU3RlcEluZGV4Iix2b2lkIDApLHQoW2EoInJlbmRlckhpZXJhcmNoeSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sVVp0LnByb3RvdHlwZSwiX3JlbmRlckhpZXJhcmNoeUNoYW5nZWQiLG51bGwpLHQoW2EoIl9pc0F0dGFjaGVkIiwicmVuZGVySGllcmFyY2h5IiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxVWnQucHJvdG90eXBlLCJfYW5pbWF0ZUFuZEZpdCIsbnVsbCksdChbYSgiY29sb3JCeSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sVVp0LnByb3RvdHlwZSwibm9kZUNvbG9yc0NoYW5nZWQiLG51bGwpLHQoW2EoIm5vZGVOYW1lc1RvSGVhbHRoUGlsbHMiLCJoZWFsdGhQaWxsU3RlcEluZGV4IiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxVWnQucHJvdG90eXBlLCJfdXBkYXRlSGVhbHRoUGlsbHMiLG51bGwpLHQoW2EoInRyYWNlSW5wdXRzIiwic2VsZWN0ZWROb2RlIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxVWnQucHJvdG90eXBlLCJfdXBkYXRlSW5wdXRUcmFjZSIsbnVsbCksVVp0PXQoW2koInRmLWdyYXBoLXNjZW5lIildLFVadCk7bGV0IGpadD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3JlbmRlckRlcHRoPTEsdGhpcy5fYWxsb3dHcmFwaFNlbGVjdD0hMCx0aGlzLmVkZ2VXaWR0aEZ1bmN0aW9uPSIiLHRoaXMuaGFuZGxlTm9kZVNlbGVjdGVkPSIiLHRoaXMuZWRnZUxhYmVsRnVuY3Rpb249IiIsdGhpcy5oYW5kbGVFZGdlU2VsZWN0ZWQ9IiJ9cGFuVG9Ob2RlKHQpe3RoaXMuJCQoInRmLWdyYXBoLXNjZW5lIikucGFuVG9Ob2RlKHQpfV9hdXRvRXh0cmFjdE5vZGVzQ2hhbmdlZCgpe3ZhciB0PXRoaXMuZ3JhcGhIaWVyYXJjaHk7aWYodCl7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LnZhbHVlcyh0LmdldE5vZGVNYXAoKSkpZS5pbmNsdWRlPWskdC5VTlNQRUNJRklFRDt0aGlzLl9idWlsZFJlbmRlckhpZXJhcmNoeSh0KX19X2J1aWxkTmV3UmVuZGVySGllcmFyY2h5KCl7dmFyIHQ9dGhpcy5ncmFwaEhpZXJhcmNoeTt0JiZ0aGlzLl9idWlsZFJlbmRlckhpZXJhcmNoeSh0KX1fc3RhdHNDaGFuZ2VkKCl7dmFyIHQ9dGhpcy5zdGF0cyxlPXRoaXMuZGV2aWNlc0ZvclN0YXRzO3RoaXMuZ3JhcGhIaWVyYXJjaHkmJih0JiZlJiYoIShmdW5jdGlvbiBuKHQsZSxpKXtDZS5leHBvcnRzLmVhY2godC5ub2RlcywodD0+e3Quc3RhdHM9bnVsbH0pKSxDZS5leHBvcnRzLmVhY2goZS5kZXZfc3RhdHMsKGU9PntpJiYhaVtlLmRldmljZV18fENlLmV4cG9ydHMuZWFjaChlLm5vZGVfc3RhdHMsKG49PntsZXQgaT1uLm5vZGVfbmFtZSBpbiB0Lm5vZGVzP24ubm9kZV9uYW1lOiQkdChuLm5vZGVfbmFtZSk7aWYoIShpIGluIHQubm9kZXMpKXJldHVybjtsZXQgcj0wO24ubWVtb3J5JiZDZS5leHBvcnRzLmVhY2gobi5tZW1vcnksKHQ9Pnt0LnRvdGFsX2J5dGVzJiYodC50b3RhbF9ieXRlcz4wP3IrPU51bWJlcih0LnRvdGFsX2J5dGVzKTpjb25zb2xlLmxvZygiaWdub3JpbmcgbmVnYXRpdmUgbWVtb3J5IGFsbG9jYXRpb24gZm9yICIraSkpfSkpO2xldCBvPW51bGw7bi5vdXRwdXQmJihvPUNlLmV4cG9ydHMubWFwKG4ub3V0cHV0LCh0PT5DZS5leHBvcnRzLm1hcCh0LnRlbnNvcl9kZXNjcmlwdGlvbi5zaGFwZS5kaW0sKHQ9Pk51bWJlcih0LnNpemUpKSkpKSksdC5ub2Rlc1tpXS5kZXZpY2U9ZS5kZXZpY2UsbnVsbD09dC5ub2Rlc1tpXS5zdGF0cyYmKHQubm9kZXNbaV0uc3RhdHM9bmV3IGwkdChvKSksdC5ub2Rlc1tpXS5zdGF0cy5hZGRCeXRlc0FsbG9jYXRpb24ociksbi5hbGxfZW5kX3JlbF9taWNyb3MmJihuLmFsbF9lbmRfcmVsX21pY3Jvcz4wP3Qubm9kZXNbaV0uc3RhdHMuYWRkRXhlY3V0aW9uVGltZShuLmFsbF9zdGFydF9taWNyb3Msbi5hbGxfc3RhcnRfbWljcm9zK24uYWxsX2VuZF9yZWxfbWljcm9zKTpjb25zb2xlLmxvZygiaWdub3JpbmcgbmVnYXRpdmUgcnVudGltZSBmb3IgIitpKSl9KSl9KSl9KSh0aGlzLmJhc2ljR3JhcGgsdCxlKSwoZnVuY3Rpb24gaSh0LGUpe2xldCBuPXt9LGk9e307Q2UuZXhwb3J0cy5lYWNoKHQucm9vdC5sZWF2ZXMoKSwoZT0+e2xldCByPXQubm9kZShlKTtudWxsIT1yLmRldmljZSYmKG5bci5kZXZpY2VdPSEwKSxudWxsIT1yLnhsYUNsdXN0ZXImJihpW3IueGxhQ2x1c3Rlcl09ITApfSkpLHQuZGV2aWNlcz1DZS5leHBvcnRzLmtleXMobiksdC54bGFDbHVzdGVycz1DZS5leHBvcnRzLmtleXMoaSksQ2UuZXhwb3J0cy5lYWNoKHQuZ2V0Tm9kZU1hcCgpLCgodCxlKT0+e3QuaXNHcm91cE5vZGUmJih0LnN0YXRzPW5ldyBsJHQobnVsbCksdC5kZXZpY2VIaXN0b2dyYW09e30pfSkpLENlLmV4cG9ydHMuZWFjaCh0LnJvb3QubGVhdmVzKCksKGU9PntsZXQgbj10Lm5vZGUoZSksaT1uO2Zvcig7bnVsbCE9aS5wYXJlbnROb2RlOyl7aWYobnVsbCE9bi5kZXZpY2Upe2xldCB0PWkucGFyZW50Tm9kZS5kZXZpY2VIaXN0b2dyYW07dFtuLmRldmljZV09KHRbbi5kZXZpY2VdfHwwKSsxfWlmKG51bGwhPW4ueGxhQ2x1c3Rlcil7bGV0IHQ9aS5wYXJlbnROb2RlLnhsYUNsdXN0ZXJIaXN0b2dyYW07dFtuLnhsYUNsdXN0ZXJdPSh0W24ueGxhQ2x1c3Rlcl18fDApKzF9bnVsbCE9bi5zdGF0cyYmaS5wYXJlbnROb2RlLnN0YXRzLmNvbWJpbmUobi5zdGF0cyksaT1pLnBhcmVudE5vZGV9fSkpfSkodGhpcy5ncmFwaEhpZXJhcmNoeSkpLHRoaXMuX2J1aWxkUmVuZGVySGllcmFyY2h5KHRoaXMuZ3JhcGhIaWVyYXJjaHkpKX1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJncmFwaC1zZWxlY3QiLHRoaXMuX2dyYXBoU2VsZWN0ZWQuYmluZCh0aGlzKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJkaXNhYmxlLWNsaWNrIix0aGlzLl9kaXNhYmxlQ2xpY2suYmluZCh0aGlzKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJlbmFibGUtY2xpY2siLHRoaXMuX2VuYWJsZUNsaWNrLmJpbmQodGhpcykpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigibm9kZS10b2dnbGUtZXhwYW5kIix0aGlzLl9ub2RlVG9nZ2xlRXhwYW5kLmJpbmQodGhpcykpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigibm9kZS1zZWxlY3QiLHRoaXMuX25vZGVTZWxlY3RlZC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoIm5vZGUtaGlnaGxpZ2h0Iix0aGlzLl9ub2RlSGlnaGxpZ2h0ZWQuYmluZCh0aGlzKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJub2RlLXVuaGlnaGxpZ2h0Iix0aGlzLl9ub2RlVW5oaWdobGlnaHRlZC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoIm5vZGUtdG9nZ2xlLWV4dHJhY3QiLHRoaXMuX25vZGVUb2dnbGVFeHRyYWN0LmJpbmQodGhpcykpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigibm9kZS10b2dnbGUtc2VyaWVzZ3JvdXAiLHRoaXMuX25vZGVUb2dnbGVTZXJpZXNHcm91cC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImVkZ2Utc2VsZWN0Iix0aGlzLl9lZGdlU2VsZWN0ZWQuYmluZCh0aGlzKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJhbm5vdGF0aW9uLXNlbGVjdCIsdGhpcy5fbm9kZVNlbGVjdGVkLmJpbmQodGhpcykpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiYW5ub3RhdGlvbi1oaWdobGlnaHQiLHRoaXMuX25vZGVIaWdobGlnaHRlZC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImFubm90YXRpb24tdW5oaWdobGlnaHQiLHRoaXMuX25vZGVVbmhpZ2hsaWdodGVkLmJpbmQodGhpcykpfV9idWlsZFJlbmRlckhpZXJhcmNoeSh0KXtpZih0LnJvb3QudHlwZSE9PUEkdC5NRVRBKXJldHVybjtjb25zdCBlPXRoaXMsbj1kJHQoIm5ldyB0Zl9ncmFwaF9yZW5kZXIuSGllcmFyY2h5IiwoKCk9Pntjb25zdCBuPW5ldyBBS3QodCwhIXRoaXMuc3RhdHMsdGhpcy5hdXRvRXh0cmFjdE5vZGVzKTtmdW5jdGlvbiBpKHQpe3JldHVybnttaW5WYWx1ZTp0LmRvbWFpbigpWzBdLG1heFZhbHVlOnQuZG9tYWluKClbMV0sc3RhcnRDb2xvcjp0LnJhbmdlKClbMF0sZW5kQ29sb3I6dC5yYW5nZSgpWzFdfX1yZXR1cm4gbi5lZGdlTGFiZWxGdW5jdGlvbj10aGlzLmVkZ2VMYWJlbEZ1bmN0aW9uLG4uZWRnZVdpZHRoRnVuY3Rpb249dGhpcy5lZGdlV2lkdGhGdW5jdGlvbixlLl9zZXRDb2xvckJ5UGFyYW1zKHtjb21wdXRlX3RpbWU6aShuLmNvbXB1dGVUaW1lU2NhbGUpLG1lbW9yeTppKG4ubWVtb3J5VXNhZ2VTY2FsZSksZGV2aWNlOkNlLmV4cG9ydHMubWFwKG4uZGV2aWNlQ29sb3JNYXAuZG9tYWluKCksKGZ1bmN0aW9uKHQpe3JldHVybntkZXZpY2U6dCxjb2xvcjpuLmRldmljZUNvbG9yTWFwKHQpfX0pKSx4bGFfY2x1c3RlcjpDZS5leHBvcnRzLm1hcChuLnhsYUNsdXN0ZXJDb2xvck1hcC5kb21haW4oKSwoZnVuY3Rpb24odCl7cmV0dXJue3hsYV9jbHVzdGVyOnQsY29sb3I6bi54bGFDbHVzdGVyQ29sb3JNYXAodCl9fSkpfSksbn0pLEJBdC5SRU5ERVJfQlVJTERfSElFUkFSQ0hZKTtlLl9zZXRSZW5kZXJIaWVyYXJjaHkobil9X2dldFZpc2libGUodCl7cmV0dXJuIHQ/dGhpcy5yZW5kZXJIaWVyYXJjaHkuZ2V0TmVhcmVzdFZpc2libGVBbmNlc3Rvcih0KTp0fWZpdCgpe3RoaXMuJC5zY2VuZS5maXQoKX1nZXRJbWFnZUJsb2IoKXtyZXR1cm4gdGhpcy4kLnNjZW5lLmdldEltYWdlQmxvYigpfV9ncmFwaENoYW5nZWQoKXt0aGlzLmdyYXBoSGllcmFyY2h5JiYodGhpcy5ncmFwaEhpZXJhcmNoeS5hZGRMaXN0ZW5lcihpS3QuVEVNUExBVEVTX1VQREFURUQsKCgpPT57dGhpcy4kLnNjZW5lLm5vZGVDb2xvcnNDaGFuZ2VkKCl9KSksdGhpcy5maXJlKCJncmFwaC1zZWxlY3QiKSl9X2dyYXBoU2VsZWN0ZWQodCl7dGhpcy5fYWxsb3dHcmFwaFNlbGVjdCYmKHRoaXMuc2V0KCJzZWxlY3RlZE5vZGUiLG51bGwpLHRoaXMuc2V0KCJzZWxlY3RlZEVkZ2UiLG51bGwpKSx0aGlzLl9hbGxvd0dyYXBoU2VsZWN0PSEwfV9kaXNhYmxlQ2xpY2sodCl7dGhpcy5fYWxsb3dHcmFwaFNlbGVjdD0hMX1fZW5hYmxlQ2xpY2sodCl7dGhpcy5fYWxsb3dHcmFwaFNlbGVjdD0hMH1fc2VsZWN0ZWROb2RlQ2hhbmdlZCgpe3RoaXMuaGFuZGxlTm9kZVNlbGVjdGVkJiZ0aGlzLmhhbmRsZU5vZGVTZWxlY3RlZCh0aGlzLnNlbGVjdGVkTm9kZSl9X3NlbGVjdGVkRWRnZUNoYW5nZWQoKXt2YXIgdD10aGlzLnNlbGVjdGVkRWRnZTt0aGlzLl9kZXNlbGVjdFByZXZpb3VzRWRnZSgpLHQmJih0aGlzLl9sYXN0U2VsZWN0ZWRFZGdlR3JvdXAuY2xhc3NlZChaS3QuRWRnZS5TRUxFQ1RFRCwhMCksdGhpcy5fdXBkYXRlTWFya2VyT2ZTZWxlY3RlZEVkZ2UodCkpLHRoaXMuaGFuZGxlRWRnZVNlbGVjdGVkJiZ0aGlzLmhhbmRsZUVkZ2VTZWxlY3RlZCh0KX1fbm9kZVNlbGVjdGVkKHQpe3RoaXMuX2FsbG93R3JhcGhTZWxlY3QmJnRoaXMuc2V0KCJzZWxlY3RlZE5vZGUiLHQuZGV0YWlsLm5hbWUpLHRoaXMuX2FsbG93R3JhcGhTZWxlY3Q9ITB9X2VkZ2VTZWxlY3RlZCh0KXt0aGlzLl9hbGxvd0dyYXBoU2VsZWN0JiYodGhpcy5zZXQoIl9sYXN0U2VsZWN0ZWRFZGdlR3JvdXAiLHQuZGV0YWlsLmVkZ2VHcm91cCksdGhpcy5zZXQoInNlbGVjdGVkRWRnZSIsdC5kZXRhaWwuZWRnZURhdGEpKSx0aGlzLl9hbGxvd0dyYXBoU2VsZWN0PSEwfV9ub2RlSGlnaGxpZ2h0ZWQodCl7dGhpcy5zZXQoImhpZ2hsaWdodGVkTm9kZSIsdC5kZXRhaWwubmFtZSl9X25vZGVVbmhpZ2hsaWdodGVkKHQpe3RoaXMuc2V0KCJoaWdobGlnaHRlZE5vZGUiLG51bGwpfV9ub2RlVG9nZ2xlRXhwYW5kKHQpe3RoaXMuX25vZGVTZWxlY3RlZCh0KTt2YXIgZT10LmRldGFpbC5uYW1lLG49dGhpcy5yZW5kZXJIaWVyYXJjaHkuZ2V0UmVuZGVyTm9kZUJ5TmFtZShlKTtuLm5vZGUudHlwZSE9PUEkdC5PUCYmKHRoaXMucmVuZGVySGllcmFyY2h5LmJ1aWxkU3ViaGllcmFyY2h5KGUpLG4uZXhwYW5kZWQ9IW4uZXhwYW5kZWQsdGhpcy5hc3luYygoZnVuY3Rpb24oKXt0aGlzLiQuc2NlbmUuc2V0Tm9kZUV4cGFuZGVkKG4pfSksNzUpLGgkdCh7YWN0aW9uSWQ6QkF0Lk5PREVfRVhQQU5TSU9OX1RPR0dMRUQsZXZlbnRMYWJlbDpuLmV4cGFuZGVkPyJleHBhbmRlZCI6ImNvbGxhcHNlZCJ9KSl9X25vZGVUb2dnbGVFeHRyYWN0KHQpe3RoaXMubm9kZVRvZ2dsZUV4dHJhY3QodC5kZXRhaWwubmFtZSl9bm9kZVRvZ2dsZUV4dHJhY3QodCl7Y29uc3QgZT10aGlzLnJlbmRlckhpZXJhcmNoeS5nZXRSZW5kZXJOb2RlQnlOYW1lKHQpO2Uubm9kZS5pbmNsdWRlPWUubm9kZS5pbmNsdWRlPT1rJHQuSU5DTFVERT9rJHQuRVhDTFVERTplLm5vZGUuaW5jbHVkZT09ayR0LkVYQ0xVREV8fHRoaXMucmVuZGVySGllcmFyY2h5LmlzTm9kZUF1eGlsaWFyeShlKT9rJHQuSU5DTFVERTprJHQuRVhDTFVERSx0aGlzLl9idWlsZFJlbmRlckhpZXJhcmNoeSh0aGlzLmdyYXBoSGllcmFyY2h5KSxoJHQoe2FjdGlvbklkOkJBdC5OT0RFX0FVWElMSUFSWV9FWFRSQUNUSU9OX0NIQU5HRUQsZXZlbnRMYWJlbDplLm5vZGUuaW5jbHVkZT09PWskdC5JTkNMVURFPyJBdXhpbGlhcnkgdG8gTWFpbiI6Ik1haW4gdG8gQXV4aWxpYXJ5In0pfV9ub2RlVG9nZ2xlU2VyaWVzR3JvdXAodCl7dGhpcy5ub2RlVG9nZ2xlU2VyaWVzR3JvdXAodC5kZXRhaWwubmFtZSl9bm9kZVRvZ2dsZVNlcmllc0dyb3VwKHQpe3RoaXMuc2V0KCJwcm9ncmVzcyIse3ZhbHVlOjAsbXNnOiIifSk7dmFyIGU9ZiR0KHAkdCh0aGlzKSwxMDAsIk5hbWVzcGFjZSBoaWVyYXJjaHkiKTtjb25zdCBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0aGlzLmhpZXJhcmNoeVBhcmFtcykse3Nlcmllc01hcDp0aGlzLmdyYXBoSGllcmFyY2h5LmJ1aWxkU2VyaWVzR3JvdXBNYXBUb2dnbGVkKHQpfSk7c0t0KHRoaXMuYmFzaWNHcmFwaCxuLGUpLnRoZW4oZnVuY3Rpb24odCl7dGhpcy5zZXQoImdyYXBoSGllcmFyY2h5Iix0KSx0aGlzLl9idWlsZFJlbmRlckhpZXJhcmNoeSh0aGlzLmdyYXBoSGllcmFyY2h5KX0uYmluZCh0aGlzKSl9X2Rlc2VsZWN0UHJldmlvdXNFZGdlKCl7RHUoIi4iK1pLdC5FZGdlLlNFTEVDVEVEKS5jbGFzc2VkKFpLdC5FZGdlLlNFTEVDVEVELCExKS5lYWNoKCgodCxlKT0+e2lmKHQubGFiZWwpe2NvbnN0IGU9RHUodGhpcykuc2VsZWN0QWxsKCJwYXRoLmVkZ2VsaW5lIik7dC5sYWJlbC5zdGFydE1hcmtlcklkJiZlLnN0eWxlKCJtYXJrZXItc3RhcnQiLGB1cmwoIyR7dC5sYWJlbC5zdGFydE1hcmtlcklkfSlgKSx0LmxhYmVsLmVuZE1hcmtlcklkJiZlLnN0eWxlKCJtYXJrZXItZW5kIixgdXJsKCMke3QubGFiZWwuZW5kTWFya2VySWR9KWApfX0pKX1fdXBkYXRlTWFya2VyT2ZTZWxlY3RlZEVkZ2UodCl7aWYodC5sYWJlbCl7Y29uc3QgZT10LmxhYmVsLnN0YXJ0TWFya2VySWR8fHQubGFiZWwuZW5kTWFya2VySWQ7aWYoZSl7Y29uc3Qgbj1lLnJlcGxhY2UoImRhdGFmbG93LSIsInNlbGVjdGVkLSIpO2xldCBpPXRoaXMuJCQoIiMiK24pO2lmKCFpKXtjb25zdCB0PXRoaXMuJC5zY2VuZS5xdWVyeVNlbGVjdG9yKCIjIitlKTtpPXQuY2xvbmVOb2RlKCEwKSxpLnNldEF0dHJpYnV0ZSgiaWQiLG4pLGkuY2xhc3NMaXN0LmFkZCgic2VsZWN0ZWQtYXJyb3doZWFkIiksdC5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGkpfWNvbnN0IHI9dC5sYWJlbC5zdGFydE1hcmtlcklkPyJtYXJrZXItc3RhcnQiOiJtYXJrZXItZW5kIjt0aGlzLl9sYXN0U2VsZWN0ZWRFZGdlR3JvdXAuc2VsZWN0QWxsKCJwYXRoLmVkZ2VsaW5lIikuc3R5bGUocixgdXJsKCMke259KWApfX19bm90KHQpe3JldHVybiF0fX07alp0LnRlbXBsYXRlPXhlYAogICAgPHN0eWxlPgogICAgICAuY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKICAgICAgfQoKICAgICAgLnZlcnRpY2FsIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICB9CgogICAgICAuYXV0byB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtdmVydGljYWw7CiAgICAgIH0KCiAgICAgIGgyIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIHBhcGVyLWJ1dHRvbiB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJ2ZXJ0aWNhbCI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3RpdGxlXV0iPgogICAgICAgICAgPGgyPltbdGl0bGVdXTwvaDI+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGYtZ3JhcGgtc2NlbmUKICAgICAgICAgIGlkPSJzY2VuZSIKICAgICAgICAgIGNsYXNzPSJhdXRvIgogICAgICAgICAgcmVuZGVyLWhpZXJhcmNoeT0iW1tyZW5kZXJIaWVyYXJjaHldXSIKICAgICAgICAgIGhpZ2hsaWdodGVkLW5vZGU9IltbX2dldFZpc2libGUoaGlnaGxpZ2h0ZWROb2RlKV1dIgogICAgICAgICAgc2VsZWN0ZWQtbm9kZT0ie3tzZWxlY3RlZE5vZGV9fSIKICAgICAgICAgIHNlbGVjdGVkLWVkZ2U9Int7c2VsZWN0ZWRFZGdlfX0iCiAgICAgICAgICBjb2xvci1ieT0iW1tjb2xvckJ5XV0iCiAgICAgICAgICBwcm9ncmVzcz0iW1twcm9ncmVzc11dIgogICAgICAgICAgbm9kZS1jb250ZXh0LW1lbnUtaXRlbXM9Iltbbm9kZUNvbnRleHRNZW51SXRlbXNdXSIKICAgICAgICAgIG5vZGUtbmFtZXMtdG8taGVhbHRoLXBpbGxzPSJbW25vZGVOYW1lc1RvSGVhbHRoUGlsbHNdXSIKICAgICAgICAgIGhlYWx0aC1waWxsLXN0ZXAtaW5kZXg9Int7aGVhbHRoUGlsbFN0ZXBJbmRleH19IgogICAgICAgICAgaGFuZGxlLWVkZ2Utc2VsZWN0ZWQ9IltbaGFuZGxlRWRnZVNlbGVjdGVkXV0iCiAgICAgICAgICB0cmFjZS1pbnB1dHM9IltbdHJhY2VJbnB1dHNdXSIKICAgICAgICA+PC90Zi1ncmFwaC1zY2VuZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICBgLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMCxvYnNlcnZlcjoiX2dyYXBoQ2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsckt0KV0salp0LnByb3RvdHlwZSwiZ3JhcGhIaWVyYXJjaHkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsSSR0KV0salp0LnByb3RvdHlwZSwiYmFzaWNHcmFwaCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxqWnQucHJvdG90eXBlLCJzdGF0cyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxqWnQucHJvdG90eXBlLCJkZXZpY2VzRm9yU3RhdHMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0salp0LnByb3RvdHlwZSwiaGllcmFyY2h5UGFyYW1zIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxqWnQucHJvdG90eXBlLCJwcm9ncmVzcyIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxqWnQucHJvdG90eXBlLCJ0aXRsZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0salp0LnByb3RvdHlwZSwic2VsZWN0ZWROb2RlIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxqWnQucHJvdG90eXBlLCJzZWxlY3RlZEVkZ2UiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0salp0LnByb3RvdHlwZSwiX2xhc3RTZWxlY3RlZEVkZ2VHcm91cCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0salp0LnByb3RvdHlwZSwiaGlnaGxpZ2h0ZWROb2RlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGpadC5wcm90b3R5cGUsImNvbG9yQnkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsbm90aWZ5OiEwLHJlYWRPbmx5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGpadC5wcm90b3R5cGUsImNvbG9yQnlQYXJhbXMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEFLdCldLGpadC5wcm90b3R5cGUsInJlbmRlckhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGpadC5wcm90b3R5cGUsInRyYWNlSW5wdXRzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0salp0LnByb3RvdHlwZSwiYXV0b0V4dHJhY3ROb2RlcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0salp0LnByb3RvdHlwZSwibm9kZUNvbnRleHRNZW51SXRlbXMiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0salp0LnByb3RvdHlwZSwiX3JlbmRlckRlcHRoIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0salp0LnByb3RvdHlwZSwiX2FsbG93R3JhcGhTZWxlY3QiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0salp0LnByb3RvdHlwZSwibm9kZU5hbWVzVG9IZWFsdGhQaWxscyIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxqWnQucHJvdG90eXBlLCJoZWFsdGhQaWxsU3RlcEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGpadC5wcm90b3R5cGUsImVkZ2VXaWR0aEZ1bmN0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGpadC5wcm90b3R5cGUsImhhbmRsZU5vZGVTZWxlY3RlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxqWnQucHJvdG90eXBlLCJlZGdlTGFiZWxGdW5jdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxqWnQucHJvdG90eXBlLCJoYW5kbGVFZGdlU2VsZWN0ZWQiLHZvaWQgMCksdChbYSgiYXV0b0V4dHJhY3ROb2RlcyIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0salp0LnByb3RvdHlwZSwiX2F1dG9FeHRyYWN0Tm9kZXNDaGFuZ2VkIixudWxsKSx0KFthKCJncmFwaEhpZXJhcmNoeSIsImVkZ2VXaWR0aEZ1bmN0aW9uIiwiaGFuZGxlTm9kZVNlbGVjdGVkIiwiZWRnZUxhYmVsRnVuY3Rpb24iLCJoYW5kbGVFZGdlU2VsZWN0ZWQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGpadC5wcm90b3R5cGUsIl9idWlsZE5ld1JlbmRlckhpZXJhcmNoeSIsbnVsbCksdChbYSgic3RhdHMiLCJkZXZpY2VzRm9yU3RhdHMiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGpadC5wcm90b3R5cGUsIl9zdGF0c0NoYW5nZWQiLG51bGwpLHQoW2EoInNlbGVjdGVkTm9kZSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0salp0LnByb3RvdHlwZSwiX3NlbGVjdGVkTm9kZUNoYW5nZWQiLG51bGwpLHQoW2EoInNlbGVjdGVkRWRnZSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0salp0LnByb3RvdHlwZSwiX3NlbGVjdGVkRWRnZUNoYW5nZWQiLG51bGwpLGpadD10KFtpKCJ0Zi1ncmFwaCIpXSxqWnQpO2xldCBHWnQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnNwZWNpZmljSGVhbHRoUGlsbFN0ZXA9MCx0aGlzLmhlYWx0aFBpbGxFbnRyaWVzPUpLdH1yZWFkeSgpe3N1cGVyLnJlYWR5KCk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW5Db250YWluZXIiKSxlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInRmLWRhc2hib2FyZC1sYXlvdXQgLnNjcm9sbGJhciIpO3QmJmUmJih0LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLGUuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIpfV9oZWFsdGhQaWxsc0F2YWlsYWJsZSh0LGUpe3JldHVybiB0JiZlfV9jb21wdXRlVGVuc29yQ291bnRTdHJpbmcodCxlKXtyZXR1cm4gdD90W2VdLnRvRml4ZWQoMCk6IiJ9Z2V0IGhlYWx0aFBpbGxWYWx1ZXNGb3JTZWxlY3RlZE5vZGUoKXt2YXIgdD10aGlzLnNlbGVjdGVkTm9kZTtpZih0aGlzLmFyZUhlYWx0aFBpbGxzTG9hZGluZylyZXR1cm4gbnVsbDtpZighdClyZXR1cm4gbnVsbDtjb25zdCBlPXRoaXMubm9kZU5hbWVzVG9IZWFsdGhQaWxsc1t0XTtpZighZSlyZXR1cm4gbnVsbDtjb25zdCBuPWVbdGhpcy5hbGxTdGVwc01vZGVFbmFibGVkPzA6dGhpcy5oZWFsdGhQaWxsU3RlcEluZGV4XTtyZXR1cm4gbj9uLnZhbHVlLnNsaWNlKDIsOCk6bnVsbH1nZXQgX2N1cnJlbnRTdGVwRGlzcGxheVZhbHVlKCl7dmFyIHQ9dGhpcy5ub2RlTmFtZXNUb0hlYWx0aFBpbGxzLGU9dGhpcy5oZWFsdGhQaWxsU3RlcEluZGV4LG49dGhpcy5hcmVIZWFsdGhQaWxsc0xvYWRpbmc7aWYodGhpcy5hbGxTdGVwc01vZGVFbmFibGVkKXJldHVybiB0aGlzLnNwZWNpZmljSGVhbHRoUGlsbFN0ZXAudG9GaXhlZCgwKTtpZihuKXJldHVybiAwO2ZvcihsZXQgbiBpbiB0KXJldHVybiB0W25dW2VdLnN0ZXAudG9GaXhlZCgwKTtyZXR1cm4gMH1nZXQgX2JpZ2dlc3RTdGVwRXZlclNlZW4oKXt2YXIgdD10aGlzLm5vZGVOYW1lc1RvSGVhbHRoUGlsbHM7Zm9yKGxldCBuIGluIHQpe3ZhciBlPXRbbl07cmV0dXJuIE1hdGgubWF4KHRoaXMuX2JpZ2dlc3RTdGVwRXZlclNlZW4sZVtlLmxlbmd0aC0xXS5zdGVwKX1yZXR1cm4gdGhpcy5fYmlnZ2VzdFN0ZXBFdmVyU2Vlbnx8MH1nZXQgX21heFN0ZXBJbmRleCgpe3ZhciB0PXRoaXMubm9kZU5hbWVzVG9IZWFsdGhQaWxscztmb3IobGV0IGUgaW4gdClyZXR1cm4gdFtlXS5sZW5ndGgtMTtyZXR1cm4gMH1faGFzRGVidWdnZXJOdW1lcmljQWxlcnRzKHQpe3JldHVybiB0JiZ0Lmxlbmd0aH1fdXBkYXRlQWxlcnRzTGlzdCgpe3ZhciB0PXRoaXMuZGVidWdnZXJOdW1lcmljQWxlcnRzLGU9dGhpcy4kJCgiI251bWVyaWMtYWxlcnRzLWJvZHkiKTtpZihlKXtlLmlubmVyVGV4dD0iIjtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGk9dFtuXSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIiksbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpO28uaW5uZXJUZXh0PShmPWkuZmlyc3RfdGltZXN0YW1wLG09dm9pZCAwLChtPStuZXcgRGF0ZS0rbmV3IERhdGUoZi8xZTMpKTwzZTQ/Imp1c3Qgbm93IjptPDZlND9NYXRoLmZsb29yKG0vMWUzKSsiIHNlY29uZHMgYWdvIjptPDEyZTQ/ImEgbWludXRlIGFnbyI6bTwzNmU1P01hdGguZmxvb3IobS82ZTQpKyIgbWludXRlcyBhZ28iOjE9PU1hdGguZmxvb3IobS8zNmU1KT8iYW4gaG91ciBhZ28iOm08ODY0ZTU/TWF0aC5mbG9vcihtLzM2ZTUpKyIgaG91cnMgYWdvIjptPDE3MjhlNT8ieWVzdGVyZGF5IjpNYXRoLmZsb29yKG0vODY0ZTUpKyIgZGF5cyBhZ28iKSxvLmNsYXNzTGlzdC5hZGQoImZpcnN0LW9mZmVuc2UtdGQiKSxyLmFwcGVuZENoaWxkKG8pO3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7YS5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3ItZGV2aWNlLXRkIik7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cy5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itc2VjdGlvbi13aXRoaW4tdGFibGUiKSxzLmlubmVyVGV4dD1pLnRlbnNvcl9uYW1lLHRoaXMuX2FkZE9wRXhwYW5zaW9uTGlzdGVuZXIocyxpLnRlbnNvcl9uYW1lKSxhLmFwcGVuZENoaWxkKHMpO3ZhciBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2wuY2xhc3NMaXN0LmFkZCgiZGV2aWNlLXNlY3Rpb24td2l0aGluLXRhYmxlIiksbC5pbm5lclRleHQ9IigiK2kuZGV2aWNlX25hbWUrIikiLGEuYXBwZW5kQ2hpbGQobCksci5hcHBlbmRDaGlsZChhKTt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtjLmNsYXNzTGlzdC5hZGQoIm1pbmktaGVhbHRoLXBpbGwiKTt2YXIgdT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpO2lmKHUuY2xhc3NMaXN0LmFkZCgibWluaS1oZWFsdGgtcGlsbC10ZCIpLHUuYXBwZW5kQ2hpbGQoYyksci5hcHBlbmRDaGlsZCh1KSxpLm5lZ19pbmZfZXZlbnRfY291bnQpe3ZhciBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2guY2xhc3NMaXN0LmFkZCgibmVnYXRpdmUtaW5mLW1pbmktaGVhbHRoLXBpbGwtc2VjdGlvbiIpLGguaW5uZXJUZXh0PWkubmVnX2luZl9ldmVudF9jb3VudCxoLnNldEF0dHJpYnV0ZSgidGl0bGUiLGkubmVnX2luZl9ldmVudF9jb3VudCsiIGV2ZW50cyB3aXRoIC3iiJ4iKSxjLmFwcGVuZENoaWxkKGgpfWlmKGkucG9zX2luZl9ldmVudF9jb3VudCl7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZC5jbGFzc0xpc3QuYWRkKCJwb3NpdGl2ZS1pbmYtbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uIiksZC5pbm5lclRleHQ9aS5wb3NfaW5mX2V2ZW50X2NvdW50LGQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsaS5wb3NfaW5mX2V2ZW50X2NvdW50KyIgZXZlbnRzIHdpdGggK+KIniIpLGMuYXBwZW5kQ2hpbGQoZCl9aWYoaS5uYW5fZXZlbnRfY291bnQpe3ZhciBwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3AuY2xhc3NMaXN0LmFkZCgibmFuLW1pbmktaGVhbHRoLXBpbGwtc2VjdGlvbiIpLHAuaW5uZXJUZXh0PWkubmFuX2V2ZW50X2NvdW50LHAuc2V0QXR0cmlidXRlKCJ0aXRsZSIsaS5uYW5fZXZlbnRfY291bnQrIiBldmVudHMgd2l0aCBOYU4iKSxjLmFwcGVuZENoaWxkKHApfWVyKGUpLmFwcGVuZENoaWxkKHIpfXZhciBmLG19fV9hZGRPcEV4cGFuc2lvbkxpc3RlbmVyKHQsZSl7dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCgpPT57dmFyIHQsbj0oZnVuY3Rpb24gaSh0LGUsbil7Y29uc3QgaT1uLnNwbGl0KCIvIikscj1pW2kubGVuZ3RoLTFdLm1hdGNoKC8oLiopOlx3Ky8pOzI9PT1yLmxlbmd0aCYmKGlbaS5sZW5ndGgtMV09clsxXSk7bGV0IG89aVswXSxhPWUuZ2V0UmVuZGVyTm9kZUJ5TmFtZShvKTtmb3IobGV0IG49MTtuPGkubGVuZ3RoJiZhLm5vZGUudHlwZSE9PUEkdC5PUDtuKyspZS5idWlsZFN1YmhpZXJhcmNoeShvKSxhLmV4cGFuZGVkPSEwLHQuc2V0Tm9kZUV4cGFuZGVkKGEpLG8rPSIvIitpW25dLGE9ZS5nZXRSZW5kZXJOb2RlQnlOYW1lKG8pO3JldHVybiBhLm5vZGUubmFtZX0pKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY2VuZSIpLHRoaXMucmVuZGVySGllcmFyY2h5LGUpLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidGYtZ3JhcGgtaW5mbyNncmFwaC1pbmZvIik7ciYmKHQ9ci5zY3JvbGxIZWlnaHQtci5zY3JvbGxUb3ApO3ZhciBvPXRoaXMuc2VsZWN0ZWROb2RlO3RoaXMuc2V0KCJzZWxlY3RlZE5vZGUiLG4pO3ZhciBhPSgpPT57ci5zY3JvbGxUb3A9ci5zY3JvbGxIZWlnaHQtdH07ciYmKG8/YSgpOndpbmRvdy5zZXRUaW1lb3V0KGEsMjApKX0pKX19O3ZhciBXWnQ7R1p0LnRlbXBsYXRlPXhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICBoMiB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAuaGVhbHRoLXBpbGwtbGVnZW5kIHsKICAgICAgICBwYWRkaW5nOiAxNXB4OwogICAgICB9CgogICAgICAuaGVhbHRoLXBpbGwtbGVnZW5kIGgyIHsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICB9CgogICAgICAuaGVhbHRoLXBpbGwtZW50cnkgewogICAgICAgIG1hcmdpbjogMTBweCAxMHB4IDEwcHggMDsKICAgICAgfQoKICAgICAgLmhlYWx0aC1waWxsLWVudHJ5IC5jb2xvci1wcmV2aWV3IHsKICAgICAgICB3aWR0aDogMjZweDsKICAgICAgICBoZWlnaHQ6IDI2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7CiAgICAgIH0KCiAgICAgIC5oZWFsdGgtcGlsbC1lbnRyeSAuY29sb3ItbGFiZWwsCiAgICAgIC5oZWFsdGgtcGlsbC1lbnRyeSAudGVuc29yLWNvdW50IHsKICAgICAgICBjb2xvcjogIzc3NzsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAyNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMjJweDsKICAgICAgICBsaW5lLWhlaWdodDogMjZweDsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgICB9CgogICAgICAuaGVhbHRoLXBpbGwtZW50cnkgLnRlbnNvci1jb3VudCB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICB9CgogICAgICAjaGVhbHRoLXBpbGwtc3RlcC1zbGlkZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1hcmdpbjogMCAwIDAgLTE1cHg7CiAgICAgICAgLyogMzEgY29tZXMgZnJvbSBhZGRpbmcgYSBwYWRkaW5nIG9mIDE1cHggZnJvbSBib3RoIHNpZGVzIG9mIHRoZSBwYXBlci1zbGlkZXIsIHN1YnRyYWN0aW5nCiAgICogMXB4IHNvIHRoYXQgdGhlIHNsaWRlciB3aWR0aCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UgKHRoZSBsYXN0IHNsaWRlciBtYXJrZXIgdGFrZXMgdXAgMXB4KSwKICAgKiBhbmQgYWRkaW5nIDJweCB0byBhY2NvdW50IGZvciBhIGJvcmRlciBvZiAxcHggb24gYm90aCBzaWRlcyBvZiB0aGUgaW1hZ2UuIDMwIC0gMSArIDIuCiAgICogQXBwYXJlbnRseSwgdGhlIHBhcGVyLXNsaWRlciBsYWNrcyBhIG1peGluIGZvciB0aG9zZSBwYWRkaW5nIHZhbHVlcy4gKi8KICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMzFweCk7CiAgICAgIH0KCiAgICAgICNoZWFsdGgtcGlsbHMtbG9hZGluZy1zcGlubmVyIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgICAgfQoKICAgICAgI2hlYWx0aC1waWxsLXN0ZXAtbnVtYmVyLWlucHV0IHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgICAgfQoKICAgICAgI251bWVyaWMtYWxlcnRzLXRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KCiAgICAgICNudW1lcmljLWFsZXJ0cy10YWJsZSB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgfQoKICAgICAgI251bWVyaWMtYWxlcnRzLXRhYmxlIHRkIHsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgICB9CgogICAgICAjbnVtZXJpYy1hbGVydHMtdGFibGUgLmZpcnN0LW9mZmVuc2UtdGQgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgLmZpcnN0LW9mZmVuc2UtdGQgewogICAgICAgIHdpZHRoOiA4MHB4OwogICAgICB9CgogICAgICAudGVuc29yLWRldmljZS10ZCB7CiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDsKICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgIH0KCiAgICAgIC50ZW5zb3Itc2VjdGlvbi13aXRoaW4tdGFibGUgewogICAgICAgIGNvbG9yOiAjMjY2MjM2OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC50ZW5zb3Itc2VjdGlvbi13aXRoaW4tdGFibGU6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5kZXZpY2Utc2VjdGlvbi13aXRoaW4tdGFibGUgewogICAgICAgIGNvbG9yOiAjNjY2OwogICAgICB9CgogICAgICAubWluaS1oZWFsdGgtcGlsbCB7CiAgICAgICAgd2lkdGg6IDEzMHB4OwogICAgICB9CgogICAgICAubWluaS1oZWFsdGgtcGlsbCA+IGRpdiB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiA2MHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgI2V2ZW50LWNvdW50cy10aCB7CiAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDsKICAgICAgfQoKICAgICAgLm5lZ2F0aXZlLWluZi1taW5pLWhlYWx0aC1waWxsLXNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6IHJnYigyNTUsIDE0MSwgMCk7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5wb3NpdGl2ZS1pbmYtbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMCwgNjIsIDIxMik7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5uYW4tbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMjA0LCA0NywgNDQpOwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICB9CgogICAgICAubmVnYXRpdmUtaW5mLW1pbmktaGVhbHRoLXBpbGwtc2VjdGlvbiwKICAgICAgLnBvc2l0aXZlLWluZi1taW5pLWhlYWx0aC1waWxsLXNlY3Rpb24sCiAgICAgIC5uYW4tbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uIHsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5uby1udW1lcmljLWFsZXJ0cy1ub3RpZmljYXRpb24gewogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxwYXBlci1tYXRlcmlhbCBlbGV2YXRpb249IjEiIGNsYXNzPSJjYXJkIGhlYWx0aC1waWxsLWxlZ2VuZCI+CiAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj4KICAgICAgICBFbmFibGUgYWxsIChub3QganVzdCBzYW1wbGVkKSBzdGVwcy4gUmVxdWlyZXMgc2xvdyBkaXNrIHJlYWQuCiAgICAgIDwvZGl2PgogICAgICA8cGFwZXItdG9nZ2xlLWJ1dHRvbgogICAgICAgIGlkPSJlbmFibGVBbGxTdGVwc01vZGVUb2dnbGUiCiAgICAgICAgY2hlY2tlZD0ie3thbGxTdGVwc01vZGVFbmFibGVkfX0iCiAgICAgID4KICAgICAgPC9wYXBlci10b2dnbGUtYnV0dG9uPgogICAgICA8aDI+CiAgICAgICAgU3RlcCBvZiBIZWFsdGggUGlsbHM6CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2FsbFN0ZXBzTW9kZUVuYWJsZWRdXSI+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0ibnVtYmVyIgogICAgICAgICAgICBpZD0iaGVhbHRoLXBpbGwtc3RlcC1udW1iZXItaW5wdXQiCiAgICAgICAgICAgIG1pbj0iMCIKICAgICAgICAgICAgbWF4PSJbW19iaWdnZXN0U3RlcEV2ZXJTZWVuXV0iCiAgICAgICAgICAgIHZhbHVlPSJ7e3NwZWNpZmljSGVhbHRoUGlsbFN0ZXA6OmlucHV0fX0iCiAgICAgICAgICAvPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFhbGxTdGVwc01vZGVFbmFibGVkXV0iPgogICAgICAgICAgW1tfY3VycmVudFN0ZXBEaXNwbGF5VmFsdWVdXQogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHBhcGVyLXNwaW5uZXItbGl0ZQogICAgICAgICAgYWN0aXZlCiAgICAgICAgICBoaWRkZW4kPSJbWyFhcmVIZWFsdGhQaWxsc0xvYWRpbmddXSIKICAgICAgICAgIGlkPSJoZWFsdGgtcGlsbHMtbG9hZGluZy1zcGlubmVyIgogICAgICAgID48L3BhcGVyLXNwaW5uZXItbGl0ZT4KICAgICAgPC9oMj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2FsbFN0ZXBzTW9kZUVuYWJsZWRdXSI+CiAgICAgICAgPHBhcGVyLXNsaWRlcgogICAgICAgICAgaWQ9ImhlYWx0aC1waWxsLXN0ZXAtc2xpZGVyIgogICAgICAgICAgaW1tZWRpYXRlLXZhbHVlPSJ7e3NwZWNpZmljSGVhbHRoUGlsbFN0ZXB9fSIKICAgICAgICAgIG1heD0iW1tfYmlnZ2VzdFN0ZXBFdmVyU2Vlbl1dIgogICAgICAgICAgc25hcHMKICAgICAgICAgIHN0ZXA9IjEiCiAgICAgICAgICB2YWx1ZT0ie3tzcGVjaWZpY0hlYWx0aFBpbGxTdGVwfX0iCiAgICAgICAgPjwvcGFwZXItc2xpZGVyPgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIWFsbFN0ZXBzTW9kZUVuYWJsZWRdXSI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19tYXhTdGVwSW5kZXhdXSI+CiAgICAgICAgICA8cGFwZXItc2xpZGVyCiAgICAgICAgICAgIGlkPSJoZWFsdGgtcGlsbC1zdGVwLXNsaWRlciIKICAgICAgICAgICAgaW1tZWRpYXRlLXZhbHVlPSJ7e2hlYWx0aFBpbGxTdGVwSW5kZXh9fSIKICAgICAgICAgICAgbWF4PSJbW19tYXhTdGVwSW5kZXhdXSIKICAgICAgICAgICAgc25hcHMKICAgICAgICAgICAgc3RlcD0iMSIKICAgICAgICAgICAgdmFsdWU9Int7aGVhbHRoUGlsbFN0ZXBJbmRleH19IgogICAgICAgICAgPjwvcGFwZXItc2xpZGVyPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDxoMj4KICAgICAgICBIZWFsdGggUGlsbAogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1toZWFsdGhQaWxsVmFsdWVzRm9yU2VsZWN0ZWROb2RlXV0iPgogICAgICAgICAgQ291bnRzIGZvciBTZWxlY3RlZCBOb2RlCiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIWhlYWx0aFBpbGxWYWx1ZXNGb3JTZWxlY3RlZE5vZGVdXSI+CiAgICAgICAgICBMZWdlbmQKICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2gyPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW2hlYWx0aFBpbGxFbnRyaWVzXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWx0aC1waWxsLWVudHJ5Ij4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9ImNvbG9yLXByZXZpZXciCiAgICAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kOltbaXRlbS5iYWNrZ3JvdW5kX2NvbG9yXV0iCiAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sYWJlbCI+W1tpdGVtLmxhYmVsXV08L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRlbnNvci1jb3VudCI+CiAgICAgICAgICAgIFtbX2NvbXB1dGVUZW5zb3JDb3VudFN0cmluZyhoZWFsdGhQaWxsVmFsdWVzRm9yU2VsZWN0ZWROb2RlLAogICAgICAgICAgICBpbmRleCldXQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDxkaXYgaGlkZGVuJD0iW1shX2hhc0RlYnVnZ2VyTnVtZXJpY0FsZXJ0cyhkZWJ1Z2dlck51bWVyaWNBbGVydHMpXV0iPgogICAgICAgIDxoMiBpZD0ibnVtZXJpYy1hbGVydHMtaGVhZGVyIj5OdW1lcmljIEFsZXJ0czwvaDI+CiAgICAgICAgPHA+QWxlcnRzIGFyZSBzb3J0ZWQgZnJvbSB0b3AgdG8gYm90dG9tIGJ5IGluY3JlYXNpbmcgdGltZXN0YW1wLjwvcD4KICAgICAgICA8ZGl2IGlkPSJudW1lcmljLWFsZXJ0cy10YWJsZS1jb250YWluZXIiPgogICAgICAgICAgPHRhYmxlIGlkPSJudW1lcmljLWFsZXJ0cy10YWJsZSI+CiAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGg+Rmlyc3QgT2ZmZW5zZTwvdGg+CiAgICAgICAgICAgICAgICA8dGg+VGVuc29yIChEZXZpY2UpPC90aD4KICAgICAgICAgICAgICAgIDx0aCBpZD0iZXZlbnQtY291bnRzLXRoIj5FdmVudCBDb3VudHM8L3RoPgogICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgIDx0Ym9keSBpZD0ibnVtZXJpYy1hbGVydHMtYm9keSI+PC90Ym9keT4KICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8dGVtcGxhdGUKICAgICAgICBpcz0iZG9tLWlmIgogICAgICAgIGlmPSJbWyFfaGFzRGVidWdnZXJOdW1lcmljQWxlcnRzKGRlYnVnZ2VyTnVtZXJpY0FsZXJ0cyldXSIKICAgICAgPgogICAgICAgIDxwIGNsYXNzPSJuby1udW1lcmljLWFsZXJ0cy1ub3RpZmljYXRpb24iPgogICAgICAgICAgTm8gbnVtZXJpYyBhbGVydHMgc28gZmFyLiBUaGF0IGlzIGxpa2VseSBnb29kLiBBbGVydHMgaW5kaWNhdGUgdGhlCiAgICAgICAgICBwcmVzZW5jZSBvZiBOYU4gb3IgKCsvLSkgSW5maW5pdHkgdmFsdWVzLCB3aGljaCBtYXkgYmUgY29uY2VybmluZy4KICAgICAgICA8L3A+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L3BhcGVyLW1hdGVyaWFsPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsQUt0KV0sR1p0LnByb3RvdHlwZSwicmVuZGVySGllcmFyY2h5Iix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXksbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEdadC5wcm90b3R5cGUsImRlYnVnZ2VyTnVtZXJpY0FsZXJ0cyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxHWnQucHJvdG90eXBlLCJub2RlTmFtZXNUb0hlYWx0aFBpbGxzIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxHWnQucHJvdG90eXBlLCJoZWFsdGhQaWxsU3RlcEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxHWnQucHJvdG90eXBlLCJzcGVjaWZpY0hlYWx0aFBpbGxTdGVwIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxHWnQucHJvdG90eXBlLCJzZWxlY3RlZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEdadC5wcm90b3R5cGUsImhpZ2hsaWdodGVkTm9kZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcixub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sR1p0LnByb3RvdHlwZSwic2VsZWN0ZWROb2RlSW5jbHVkZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sR1p0LnByb3RvdHlwZSwiYXJlSGVhbHRoUGlsbHNMb2FkaW5nIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxHWnQucHJvdG90eXBlLCJoZWFsdGhQaWxsRW50cmllcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEdadC5wcm90b3R5cGUsImFsbFN0ZXBzTW9kZUVuYWJsZWQiLHZvaWQgMCksdChbcygibm9kZU5hbWVzVG9IZWFsdGhQaWxscyIsImhlYWx0aFBpbGxTdGVwSW5kZXgiLCJzZWxlY3RlZE5vZGUiLCJhbGxTdGVwc01vZGVFbmFibGVkIiwiYXJlSGVhbHRoUGlsbHNMb2FkaW5nIiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxHWnQucHJvdG90eXBlLCJoZWFsdGhQaWxsVmFsdWVzRm9yU2VsZWN0ZWROb2RlIixudWxsKSx0KFtzKCJub2RlTmFtZXNUb0hlYWx0aFBpbGxzIiwiaGVhbHRoUGlsbFN0ZXBJbmRleCIsImFsbFN0ZXBzTW9kZUVuYWJsZWQiLCJzcGVjaWZpY0hlYWx0aFBpbGxTdGVwIiwiYXJlSGVhbHRoUGlsbHNMb2FkaW5nIiksZSgiZGVzaWduOnR5cGUiLE9iamVjdCksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sR1p0LnByb3RvdHlwZSwiX2N1cnJlbnRTdGVwRGlzcGxheVZhbHVlIixudWxsKSx0KFtzKCJub2RlTmFtZXNUb0hlYWx0aFBpbGxzIiksZSgiZGVzaWduOnR5cGUiLE51bWJlciksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sR1p0LnByb3RvdHlwZSwiX2JpZ2dlc3RTdGVwRXZlclNlZW4iLG51bGwpLHQoW3MoIm5vZGVOYW1lc1RvSGVhbHRoUGlsbHMiKSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxHWnQucHJvdG90eXBlLCJfbWF4U3RlcEluZGV4IixudWxsKSx0KFthKCJkZWJ1Z2dlck51bWVyaWNBbGVydHMiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLEdadC5wcm90b3R5cGUsIl91cGRhdGVBbGVydHNMaXN0IixudWxsKSxHWnQ9dChbaSgidGYtZ3JhcGgtZGVidWdnZXItZGF0YS1jYXJkIildLEdadCksKGZ1bmN0aW9uKHQpe3QuQ09OU1Q9IkNPTlNUIix0Lk1FVEE9Ik1FVEEiLHQuT1A9Ik9QIix0LlNFUklFUz0iU0VSSUVTIix0LlNVTU1BUlk9IlNVTU1BUlkifSkoV1p0fHwoV1p0PXt9KSk7bGV0IHFadD1jbGFzcyBleHRlbmRzKGNyKGdsKHdlKSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnZlcnRpY2FsPSExLHRoaXMuZmlsbE92ZXJyaWRlPW51bGwsdGhpcy5zdHJva2VPdmVycmlkZT1udWxsLHRoaXMuaGVpZ2h0PTIwLHRoaXMuZmFkZWQ9ITF9Z2V0U3ZnRGVmaW5hYmxlRWxlbWVudCgpe3JldHVybiB0aGlzLiQuc3ZnRGVmc31nZXQgX2ZpbGwoKXt2YXIgdD10aGlzLmZpbGxPdmVycmlkZTtpZihudWxsIT10KXJldHVybiB0O3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UgV1p0Lk1FVEE6cmV0dXJuIGdLdC5ERUZBVUxUX0ZJTEw7Y2FzZSBXWnQuU0VSSUVTOnJldHVybiBfS3Q7ZGVmYXVsdDpyZXR1cm4gZEt0fX1nZXQgX3N0cm9rZSgpe3ZhciB0PXRoaXMuc3Ryb2tlT3ZlcnJpZGU7aWYobnVsbCE9dClyZXR1cm4gdDtzd2l0Y2godGhpcy50eXBlKXtjYXNlIFdadC5NRVRBOnJldHVybiBnS3QuREVGQVVMVF9TVFJPS0U7Y2FzZSBXWnQuU0VSSUVTOnJldHVybiB5S3Q7ZGVmYXVsdDpyZXR1cm4gcEt0fX1faXNUeXBlKHQsZSl7cmV0dXJuIHQ9PT1lfV9mYWRlZENsYXNzKHQsZSl7cmV0dXJuIHQ/ImZhZGVkLSIrZToiIn19O3FadC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGZvbnQtc2l6ZTogMDsKICAgICAgfQoKICAgICAgOmhvc3QoLmRhcmstbW9kZSkgc3ZnIHsKICAgICAgICBmaWx0ZXI6IGludmVydCgxKTsKICAgICAgfQoKICAgICAgLmZhZGVkLXJlY3QgewogICAgICAgIGZpbGw6IHVybCgjcmVjdEhhdGNoKTsKICAgICAgfQoKICAgICAgLmZhZGVkLWVsbGlwc2UgewogICAgICAgIGZpbGw6IHVybCgjZWxsaXBzZUhhdGNoKTsKICAgICAgfQoKICAgICAgLmZhZGVkLXJlY3QsCiAgICAgIC5mYWRlZC1lbGxpcHNlLAogICAgICAuZmFkZWQtc2VyaWVzIHsKICAgICAgICBzdHJva2U6IHZhcigtLXRiLWdyYXBoLWZhZGVkKSAhaW1wb3J0YW50OwogICAgICB9CiAgICAgICNyZWN0SGF0Y2ggbGluZSwKICAgICAgI2VsbGlwc2VIYXRjaCBsaW5lIHsKICAgICAgICBjb2xvcjogI2UwZDRiMyAhaW1wb3J0YW50OwogICAgICAgIGZpbGw6IHdoaXRlOwogICAgICAgIHN0cm9rZTogI2UwZDRiMyAhaW1wb3J0YW50OwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPCEtLSBTVkcgZm9yIGRlZmluaXRpb25zIC0tPgogICAgPHN2ZyBoZWlnaHQ9IjAiIHdpZHRoPSIwIiBpZD0ic3ZnRGVmcyI+CiAgICAgIDxkZWZzPgogICAgICAgIDwhLS0gSGF0Y2ggcGF0dGVybnMgZm9yIGZhZGVkIG91dCBub2Rlcy4gLS0+CiAgICAgICAgPHBhdHRlcm4KICAgICAgICAgIGlkPSJyZWN0SGF0Y2giCiAgICAgICAgICBwYXR0ZXJuVHJhbnNmb3JtPSJyb3RhdGUoNDUgMCAwKSIKICAgICAgICAgIHdpZHRoPSI1IgogICAgICAgICAgaGVpZ2h0PSI1IgogICAgICAgICAgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgICA+CiAgICAgICAgICA8bGluZSB4MT0iMCIgeTE9IjAiIHgyPSIwIiB5Mj0iNSIgc3R5bGU9InN0cm9rZS13aWR0aDogMSI+PC9saW5lPgogICAgICAgIDwvcGF0dGVybj4KICAgICAgICA8cGF0dGVybgogICAgICAgICAgaWQ9ImVsbGlwc2VIYXRjaCIKICAgICAgICAgIHBhdHRlcm5UcmFuc2Zvcm09InJvdGF0ZSg0NSAwIDApIgogICAgICAgICAgd2lkdGg9IjIiCiAgICAgICAgICBoZWlnaHQ9IjIiCiAgICAgICAgICBwYXR0ZXJuVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgID4KICAgICAgICAgIDxsaW5lIHgxPSIwIiB5MT0iMCIgeDI9IjAiIHkyPSIyIiBzdHlsZT0ic3Ryb2tlLXdpZHRoOiAxIj48L2xpbmU+CiAgICAgICAgPC9wYXR0ZXJuPgogICAgICAgIDwhLS0gVGVtcGxhdGUgZm9yIGFuIE9wIG5vZGUgZWxsaXBzZS4gLS0+CiAgICAgICAgPGVsbGlwc2UKICAgICAgICAgIGlkPSJvcC1ub2RlLXN0YW1wIgogICAgICAgICAgcng9IjcuNSIKICAgICAgICAgIHJ5PSIzIgogICAgICAgICAgc3Ryb2tlPSJpbmhlcml0IgogICAgICAgICAgZmlsbD0iaW5oZXJpdCIKICAgICAgICA+PC9lbGxpcHNlPgogICAgICAgIDwhLS0gVGVtcGxhdGUgZm9yIGFuIE9wIG5vZGUgYW5ub3RhdGlvbiBlbGxpcHNlIChzbWFsbGVyKS4gLS0+CiAgICAgICAgPGVsbGlwc2UKICAgICAgICAgIGlkPSJvcC1ub2RlLWFubm90YXRpb24tc3RhbXAiCiAgICAgICAgICByeD0iNSIKICAgICAgICAgIHJ5PSIyIgogICAgICAgICAgc3Ryb2tlPSJpbmhlcml0IgogICAgICAgICAgZmlsbD0iaW5oZXJpdCIKICAgICAgICA+PC9lbGxpcHNlPgogICAgICAgIDwhLS0gVmVydGljYWxseSBzdGFja2VkIHNlcmllcyBvZiBPcCBub2RlcyB3aGVuIHVuZXhwYW5kZWQuIC0tPgogICAgICAgIDxnIGlkPSJvcC1zZXJpZXMtdmVydGljYWwtc3RhbXAiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iOCIgeT0iOSI+PC91c2U+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSI4IiB5PSI2Ij48L3VzZT4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIHg9IjgiIHk9IjMiPjwvdXNlPgogICAgICAgIDwvZz4KICAgICAgICA8ZyBpZD0ib3Atc2VyaWVzLWhvcml6b250YWwtc3RhbXAiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iMTYiIHk9IjQiPjwvdXNlPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iMTIiIHk9IjQiPjwvdXNlPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iOCIgeT0iNCI+PC91c2U+CiAgICAgICAgPC9nPgogICAgICAgIDxnCiAgICAgICAgICBpZD0ic3VtbWFyeS1pY29uIgogICAgICAgICAgZmlsbD0iIzg0ODQ4NCIKICAgICAgICAgIGhlaWdodD0iMTIiCiAgICAgICAgICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgICAgICAgICB3aWR0aD0iMTIiCiAgICAgICAgPgogICAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yek05IDE3SDd2LTdoMnY3em00IDBoLTJWN2gydjEwem00IDBoLTJ2LTRoMnY0eiIKICAgICAgICAgID48L3BhdGg+CiAgICAgICAgPC9nPgogICAgICA8L2RlZnM+CiAgICA8L3N2Zz4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNUeXBlKHR5cGUsICdDT05TVCcpXV0iPgogICAgICA8c3ZnCiAgICAgICAgaGVpZ2h0JD0iW1toZWlnaHRdXSIKICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pZCBtZWV0IgogICAgICAgIHZpZXdCb3g9IjAgMCAxMCAxMCIKICAgICAgPgogICAgICAgIDxjaXJjbGUKICAgICAgICAgIGN4PSI1IgogICAgICAgICAgY3k9IjUiCiAgICAgICAgICByPSIzIgogICAgICAgICAgZmlsbCQ9IltbX2ZpbGxdXSIKICAgICAgICAgIHN0cm9rZSQ9IltbX3N0cm9rZV1dIgogICAgICAgID48L2NpcmNsZT4KICAgICAgPC9zdmc+CiAgICA8L3RlbXBsYXRlPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1R5cGUodHlwZSwgJ1NVTU1BUlknKV1dIj4KICAgICAgPHN2ZwogICAgICAgIHdpZHRoJD0iW1toZWlnaHRdXSIKICAgICAgICBoZWlnaHQkPSJbW2hlaWdodF1dIgogICAgICAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgICAgICBmaWxsPSIjODQ4NDg0IgogICAgICA+CiAgICAgICAgPHBhdGgKICAgICAgICAgIGQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnpNOSAxN0g3di03aDJ2N3ptNCAwaC0yVjdoMnYxMHptNCAwaC0ydi00aDJ2NHoiCiAgICAgICAgPjwvcGF0aD4KICAgICAgPC9zdmc+CiAgICA8L3RlbXBsYXRlPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1R5cGUodHlwZSwgJ09QJyldXSI+CiAgICAgIDxzdmcKICAgICAgICBoZWlnaHQkPSJbW2hlaWdodF1dIgogICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWlkIG1lZXQiCiAgICAgICAgdmlld0JveD0iMCAwIDE2IDgiCiAgICAgID4KICAgICAgICA8dXNlCiAgICAgICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIgogICAgICAgICAgZmlsbCQ9IltbX2ZpbGxdXSIKICAgICAgICAgIHN0cm9rZSQ9IltbX3N0cm9rZV1dIgogICAgICAgICAgY2xhc3MkPSJ7e19mYWRlZENsYXNzKGZhZGVkLCAnZWxsaXBzZScpfX0iCiAgICAgICAgICB4PSI4IgogICAgICAgICAgeT0iNCIKICAgICAgICA+PC91c2U+CiAgICAgIDwvc3ZnPgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNUeXBlKHR5cGUsICdNRVRBJyldXSI+CiAgICAgIDxzdmcKICAgICAgICBoZWlnaHQkPSJbW2hlaWdodF1dIgogICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWlkIG1lZXQiCiAgICAgICAgdmlld0JveD0iMCAwIDM3IDE2IgogICAgICA+CiAgICAgICAgPHJlY3QKICAgICAgICAgIHg9IjEiCiAgICAgICAgICB5PSIxIgogICAgICAgICAgZmlsbCQ9IltbX2ZpbGxdXSIKICAgICAgICAgIHN0cm9rZSQ9IltbX3N0cm9rZV1dIgogICAgICAgICAgY2xhc3MkPSJ7e19mYWRlZENsYXNzKGZhZGVkLCAncmVjdCcpfX0iCiAgICAgICAgICBzdHJva2Utd2lkdGg9IjJweCIKICAgICAgICAgIGhlaWdodD0iMTQiCiAgICAgICAgICB3aWR0aD0iMzUiCiAgICAgICAgICByeD0iNSIKICAgICAgICAgIHJ5PSI1IgogICAgICAgID48L3JlY3Q+CiAgICAgIDwvc3ZnPgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNUeXBlKHR5cGUsICdTRVJJRVMnKV1dIj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3ZlcnRpY2FsXV0iPgogICAgICAgIDxzdmcKICAgICAgICAgIGhlaWdodCQ9IltbaGVpZ2h0XV0iCiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pZCBtZWV0IgogICAgICAgICAgdmlld0JveD0iMCAwIDE2IDE1IgogICAgICAgID4KICAgICAgICAgIDx1c2UKICAgICAgICAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgICAgICAgICAgIHhsaW5rOmhyZWY9IiNvcC1zZXJpZXMtdmVydGljYWwtc3RhbXAiCiAgICAgICAgICAgIGZpbGwkPSJbW19maWxsXV0iCiAgICAgICAgICAgIHN0cm9rZSQ9IltbX3N0cm9rZV1dIgogICAgICAgICAgICBjbGFzcyQ9Int7X2ZhZGVkQ2xhc3MoZmFkZWQsICdzZXJpZXMnKX19IgogICAgICAgICAgICB4PSIwIgogICAgICAgICAgICB5PSIyIgogICAgICAgICAgPjwvdXNlPgogICAgICAgIDwvc3ZnPgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIXZlcnRpY2FsXV0iPgogICAgICAgIDxzdmcKICAgICAgICAgIGhlaWdodCQ9IltbaGVpZ2h0XV0iCiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pZCBtZWV0IgogICAgICAgICAgdmlld0JveD0iMCAwIDI0IDEwIgogICAgICAgID4KICAgICAgICAgIDx1c2UKICAgICAgICAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgICAgICAgICAgIHhsaW5rOmhyZWY9IiNvcC1zZXJpZXMtaG9yaXpvbnRhbC1zdGFtcCIKICAgICAgICAgICAgZmlsbCQ9IltbX2ZpbGxdXSIKICAgICAgICAgICAgc3Ryb2tlJD0iW1tfc3Ryb2tlXV0iCiAgICAgICAgICAgIGNsYXNzJD0ie3tfZmFkZWRDbGFzcyhmYWRlZCwgJ3NlcmllcycpfX0iCiAgICAgICAgICAgIHg9IjAiCiAgICAgICAgICAgIHk9IjEiCiAgICAgICAgICA+PC91c2U+CiAgICAgICAgPC9zdmc+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L3RlbXBsYXRlPgogIGAsdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0scVp0LnByb3RvdHlwZSwidHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHFadC5wcm90b3R5cGUsInZlcnRpY2FsIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHFadC5wcm90b3R5cGUsImZpbGxPdmVycmlkZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxxWnQucHJvdG90eXBlLCJzdHJva2VPdmVycmlkZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxxWnQucHJvdG90eXBlLCJoZWlnaHQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxxWnQucHJvdG90eXBlLCJmYWRlZCIsdm9pZCAwKSx0KFtzKCJ0eXBlIiwiZmlsbE92ZXJyaWRlIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0scVp0LnByb3RvdHlwZSwiX2ZpbGwiLG51bGwpLHQoW3MoInR5cGUiLCJzdHJva2VPdmVycmlkZSIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLHFadC5wcm90b3R5cGUsIl9zdHJva2UiLG51bGwpLHFadD10KFtpKCJ0Zi1ncmFwaC1pY29uIildLHFadCk7dmFyIFladD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxnZXQgR3JhcGhJY29uVHlwZSgpe3JldHVybiBXWnR9fSk7bGV0IFhadD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubm9kZT1udWxsLHRoaXMucmVuZGVySW5mbz1udWxsLHRoaXMuY29sb3JCeT1yWnQuU1RSVUNUVVJFLHRoaXMudGVtcGxhdGVJbmRleD1udWxsLHRoaXMudHlwZT1udWxsLHRoaXMudmVydGljYWw9ITEsdGhpcy5jb25zdD0hMSx0aGlzLnN1bW1hcnk9ITEsdGhpcy5maWxsPW51bGwsdGhpcy5oZWlnaHQ9MjB9X2NvbXB1dGVGaWxsT3ZlcnJpZGUodCxlLG4saSxyKXtyZXR1cm4gdCYmZSYmaT9rWnQoaSxuLGUsITEpOnJ9X2dldFN0cm9rZU92ZXJyaWRlKHQpe3JldHVybiB0P1BadCh0KTpudWxsfV9nZXRUeXBlKHQsZSxuLGkpe2NvbnN0e0dyYXBoSWNvblR5cGU6cn09WVp0O2lmKHQpc3dpdGNoKHQudHlwZSl7Y2FzZSBBJHQuT1A6e2NvbnN0IGk9dC5vcDtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGk/ci5PUDoiQ29uc3QiPT09aXx8bj9yLkNPTlNUOmkuZW5kc1dpdGgoIlN1bW1hcnkiKXx8ZT9yLlNVTU1BUlk6ci5PUH1jYXNlIEEkdC5NRVRBOnJldHVybiByLk1FVEE7Y2FzZSBBJHQuU0VSSUVTOnJldHVybiByLlNFUklFU31yZXR1cm4gaX1faXNWZXJ0aWNhbCh0LGUpe3JldHVybiB0P3QuaGFzTm9uQ29udHJvbEVkZ2VzOiEhZX1fZ2V0RmFkZWQodCl7cmV0dXJuIHQmJnQuaXNGYWRlZE91dH1fb25GaWxsT3ZlcnJpZGVDaGFuZ2VkKHQsZSl7Y29uc3R7bm9kZTpuLHJlbmRlckluZm86aSxjb2xvckJ5OnIsdGVtcGxhdGVJbmRleDpvfT10aGlzO3QhPT1lJiZBWnQodGhpcy4kLmljb24uZ2V0U3ZnRGVmaW5hYmxlRWxlbWVudCgpKSxuJiZpJiZvJiZrWnQobyxyLGksITEsdGhpcy4kLmljb24uZ2V0U3ZnRGVmaW5hYmxlRWxlbWVudCgpKX19O1hadC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgdGYtZ3JhcGgtaWNvbiB7CiAgICAgICAgLS10Yi1ncmFwaC1mYWRlZDogdmFyKC0tdGItZ3JhcGgtZmFkZWQpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPHRmLWdyYXBoLWljb24KICAgICAgaWQ9Imljb24iCiAgICAgIHR5cGU9IltbX2dldFR5cGUobm9kZSwgc3VtbWFyeSwgY29uc3QsIHR5cGUpXV0iCiAgICAgIGhlaWdodD0iW1toZWlnaHRdXSIKICAgICAgZmlsbC1vdmVycmlkZT0iW1tfZmlsbE92ZXJyaWRlXV0iCiAgICAgIHN0cm9rZS1vdmVycmlkZT0iW1tfZ2V0U3Ryb2tlT3ZlcnJpZGUoX2ZpbGxPdmVycmlkZSldXSIKICAgICAgZmFkZWQ9IltbX2dldEZhZGVkKHJlbmRlckluZm8pXV0iCiAgICAgIHZlcnRpY2FsPSJbW19pc1ZlcnRpY2FsKG5vZGUsIHZlcnRpY2FsKV1dIgogICAgPjwvdGYtZ3JhcGgtaWNvbj4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFhadC5wcm90b3R5cGUsIm5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWFp0LnByb3RvdHlwZSwicmVuZGVySW5mbyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxYWnQucHJvdG90eXBlLCJjb2xvckJ5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKV0sWFp0LnByb3RvdHlwZSwidGVtcGxhdGVJbmRleCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxYWnQucHJvdG90eXBlLCJ0eXBlIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sWFp0LnByb3RvdHlwZSwidmVydGljYWwiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxYWnQucHJvdG90eXBlLCJjb25zdCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFhadC5wcm90b3R5cGUsInN1bW1hcnkiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sWFp0LnByb3RvdHlwZSwiZmlsbCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxYWnQucHJvdG90eXBlLCJoZWlnaHQiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9jb21wdXRlRmlsbE92ZXJyaWRlKG5vZGUsIHJlbmRlckluZm8sIGNvbG9yQnksIHRlbXBsYXRlSW5kZXgsIGZpbGwpIixvYnNlcnZlcjoiX29uRmlsbE92ZXJyaWRlQ2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sWFp0LnByb3RvdHlwZSwiX2ZpbGxPdmVycmlkZSIsdm9pZCAwKSxYWnQ9dChbaSgidGYtbm9kZS1pY29uIildLFhadCk7bGV0ICRadD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7X2l0ZW1UeXBlQ2hhbmdlZCgpeyJzdWJub2RlIiE9PXRoaXMuaXRlbVR5cGU/dGhpcy4kWyJsaXN0LWl0ZW0iXS5jbGFzc0xpc3QuYWRkKCJjbGlja2FibGUiKTp0aGlzLiRbImxpc3QtaXRlbSJdLmNsYXNzTGlzdC5yZW1vdmUoImNsaWNrYWJsZSIpfV9ub2RlTGlzdGVuZXIodCl7dGhpcy5maXJlKCJub2RlLWxpc3QtaXRlbS0iK3QudHlwZSx7bm9kZU5hbWU6dGhpcy5uYW1lLHR5cGU6dGhpcy5pdGVtVHlwZX0pfV9mYWRlZENsYXNzKHQpe3JldHVybiB0JiZ0LmlzRmFkZWRPdXQ/ImZhZGVkIjoiIn19OyRadC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgI2xpc3QtaXRlbSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKTsKICAgICAgICBmb250LXNpemU6IDExcHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAjbGlzdC1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb29nbGUteWVsbG93LTEwMCk7CiAgICAgIH0KCiAgICAgIC5jbGlja2FibGUgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbSBzcGFuIHsKICAgICAgICBtYXJnaW4tbGVmdDogNDBweDsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbS5leGNsdWRlZCBzcGFuIHsKICAgICAgICBjb2xvcjogIzk5OTsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbSBzcGFuLmVkZ2UtbGFiZWwgewogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsKICAgICAgfQoKICAgICAgLm5vZGUtaWNvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMXB4OwogICAgICAgIGxlZnQ6IDJweDsKICAgICAgfQoKICAgICAgLmZhZGVkIHNwYW4gewogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1ncmFwaC1mYWRlZCk7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdgogICAgICBpZD0ibGlzdC1pdGVtIgogICAgICBvbi1tb3VzZW92ZXI9Il9ub2RlTGlzdGVuZXIiCiAgICAgIG9uLW1vdXNlb3V0PSJfbm9kZUxpc3RlbmVyIgogICAgICBvbi1jbGljaz0iX25vZGVMaXN0ZW5lciIKICAgID4KICAgICAgPGRpdiBjbGFzcyQ9Int7X2ZhZGVkQ2xhc3MoaXRlbVJlbmRlckluZm8pfX0iPgogICAgICAgIDx0Zi1ub2RlLWljb24KICAgICAgICAgIGNsYXNzPSJub2RlLWljb24iCiAgICAgICAgICBoZWlnaHQ9IjEyIgogICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgY29sb3ItYnktcGFyYW1zPSJbW2NvbG9yQnlQYXJhbXNdXSIKICAgICAgICAgIG5vZGU9IltbaXRlbU5vZGVdXSIKICAgICAgICAgIHJlbmRlci1pbmZvPSJbW2l0ZW1SZW5kZXJJbmZvXV0iCiAgICAgICAgICB0ZW1wbGF0ZS1pbmRleD0iW1t0ZW1wbGF0ZUluZGV4XV0iCiAgICAgICAgPgogICAgICAgIDwvdGYtbm9kZS1pY29uPgogICAgICAgIDxzcGFuIHRpdGxlJD0iW1tuYW1lXV0iPltbbmFtZV1dPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sJFp0LnByb3RvdHlwZSwiY2FyZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sJFp0LnByb3RvdHlwZSwiaXRlbU5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sJFp0LnByb3RvdHlwZSwiZWRnZUxhYmVsIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLCRadC5wcm90b3R5cGUsIml0ZW1SZW5kZXJJbmZvIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLCRadC5wcm90b3R5cGUsIm5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsb2JzZXJ2ZXI6Il9pdGVtVHlwZUNoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLCRadC5wcm90b3R5cGUsIml0ZW1UeXBlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLCRadC5wcm90b3R5cGUsImNvbG9yQnkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sJFp0LnByb3RvdHlwZSwiY29sb3JCeVBhcmFtcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLCRadC5wcm90b3R5cGUsInRlbXBsYXRlSW5kZXgiLHZvaWQgMCksJFp0PXQoW2koInRmLWdyYXBoLW9wLWNvbXBhdC1saXN0LWl0ZW0iKV0sJFp0KTtsZXQgS1p0PWNsYXNzIGV4dGVuZHMoY3IoZ2wod2UpKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2V4cGFuZGVkPSEwLHRoaXMuX29wQ29tcGF0Q29sb3I9Zkt0LHRoaXMuX29wSW5jb21wYXRDb2xvcj1tS3QsdGhpcy5fdGVtcGxhdGVJbmRleD1udWxsfV9nZXROb2RlKHQsZSl7cmV0dXJuIGUubm9kZSh0KX1fZ2V0UmVuZGVySW5mbyh0LGUpe3JldHVybiB0aGlzLnJlbmRlckhpZXJhcmNoeS5nZXRPckNyZWF0ZVJlbmRlck5vZGVCeU5hbWUodCl9X3RvZ2dsZUV4cGFuZGVkKCl7dGhpcy5fZXhwYW5kZWQ9IXRoaXMuX2V4cGFuZGVkfV9nZXRUb2dnbGVJY29uKHQpe3JldHVybiB0PyJleHBhbmQtbGVzcyI6ImV4cGFuZC1tb3JlIn1fcmVzaXplTGlzdCh0KXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpO2UmJmUuZmlyZSgiaXJvbi1yZXNpemUiKX1nZXQgX2luY29tcGF0aWJsZU9wTm9kZXMoKXtjb25zdCB0PXRoaXMuZ3JhcGhIaWVyYXJjaHk7cmV0dXJuIHQmJnQucm9vdD8odGhpcy5hc3luYyh0aGlzLl9yZXNpemVMaXN0LmJpbmQodGhpcywiI2luY29tcGF0aWJsZU9wc0xpc3QiKSksKGZ1bmN0aW9uIGUodCl7Y29uc3QgZT1bXSxuPXt9O3JldHVybiBDZS5leHBvcnRzLmVhY2godC5yb290LmxlYXZlcygpLChpPT57bGV0IHI9dC5ub2RlKGkpO2lmKHIudHlwZT09QSR0Lk9QKXtsZXQgaT1yO2lmKCFpLmNvbXBhdGlibGUpaWYoaS5vd25pbmdTZXJpZXMpe2lmKHQuZ2V0U2VyaWVzR3JvdXBUeXBlKGkub3duaW5nU2VyaWVzKT09PUwkdC5VTkdST1VQKWUucHVzaChpKTtlbHNlIGlmKCFuW2kub3duaW5nU2VyaWVzXSl7bGV0IHI9dC5ub2RlKGkub3duaW5nU2VyaWVzKTtyJiYobltpLm93bmluZ1Nlcmllc109cixlLnB1c2gocikpfX1lbHNlIGUucHVzaChpKTtDZS5leHBvcnRzLmVhY2goaS5pbkVtYmVkZGluZ3MsKHQ9Pnt0LmNvbXBhdGlibGV8fGUucHVzaCh0KX0pKSxDZS5leHBvcnRzLmVhY2goaS5vdXRFbWJlZGRpbmdzLCh0PT57dC5jb21wYXRpYmxlfHxlLnB1c2godCl9KSl9fSkpLGV9KSh0KSk6W119Z2V0IF9vcENvbXBhdFNjb3JlKCl7dmFyIHQ9dGhpcy5ncmFwaEhpZXJhcmNoeTtpZih0JiZ0LnJvb3Qpe3ZhciBlPXQucm9vdCxuPWUuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlLGk9ZS5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZTtyZXR1cm4gMD09biYmMD09aT8wOk1hdGguZmxvb3IoMTAwKm4vKG4raSkpLzEwMH1yZXR1cm4gMH1nZXQgX29wQ29tcGF0U2NvcmVMYWJlbCgpe3ZhciB0PXRoaXMuX29wQ29tcGF0U2NvcmU7cmV0dXJuIER5KCIuMCUiKSh0KX1nZXQgX3RvdGFsSW5jb21wYXRPcHMoKXt2YXIgdD10aGlzLmdyYXBoSGllcmFyY2h5O3JldHVybiB0JiZ0LnJvb3Q/dC5yb290LmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlOjB9X2dyYXBoSGllcmFyY2h5Q2hhbmdlZCgpe3RoaXMuX3RlbXBsYXRlSW5kZXg9dGhpcy5ncmFwaEhpZXJhcmNoeS5nZXRUZW1wbGF0ZUluZGV4KCksdGhpcy5ncmFwaEhpZXJhcmNoeS5hZGRMaXN0ZW5lcihpS3QuVEVNUExBVEVTX1VQREFURUQsKCgpPT57dGhpcy5fdGVtcGxhdGVJbmRleD10aGlzLmdyYXBoSGllcmFyY2h5LmdldFRlbXBsYXRlSW5kZXgoKX0pKX19O0tadC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OwogICAgICB9CgogICAgICAuaW5jb21wYXRpYmxlLW9wcy1saXN0IHsKICAgICAgICBoZWlnaHQ6IDM1MHB4OwogICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIH0KCiAgICAgIGlyb24tbGlzdCB7CiAgICAgICAgZmxleDogMSAxIGF1dG87CiAgICAgIH0KCiAgICAgIHBhcGVyLWl0ZW0gewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3IpOwogICAgICB9CgogICAgICBwYXBlci1pdGVtLWJvZHlbdHdvLWxpbmVdIHsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDRweDsKICAgICAgfQoKICAgICAgLmV4cGFuZGVkSW5mbyB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDEycHQ7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5ub2RlLW5hbWUgewogICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIGZvbnQtc2l6ZTogMTRwdDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcik7CiAgICAgICAgZm9udC1zaXplOiAxMnB0OwogICAgICB9CgogICAgICAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAyMHB4OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC5ub24tY29udHJvbC1saXN0LWl0ZW0gewogICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsKICAgICAgfQoKICAgICAgZGl2Lm9wLWNvbXBhdC1kaXNwbGF5IHsKICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFNhZGx5LCBiZWNhdXNlIHRoZSB3aG9sZSBib2R5IGlzIGludmVydGVkIGluIGNvbG9yLCBsZWdlbmRzIGFsc28gbmVlZAogICAgICAgKiB0byBiZSBpbnZlcnRlZC4KICAgICAgICoqLwogICAgICA6aG9zdCguZGFyay1tb2RlKSBkaXYub3AtY29tcGF0LWRpc3BsYXkgewogICAgICAgIGZpbHRlcjogaW52ZXJ0KDEpOwogICAgICB9CgogICAgICBzdmcub3AtY29tcGF0IHsKICAgICAgICB3aWR0aDogMjUwcHg7CiAgICAgICAgaGVpZ2h0OiAyNXB4OwogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgICB9CgogICAgICBkaXYub3AtY29tcGF0LXZhbHVlIHsKICAgICAgICBmbG9hdDogcmlnaHQ7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogYmxhY2s7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPHBhcGVyLWl0ZW0+CiAgICAgIDxwYXBlci1pdGVtLWJvZHkgdHdvLWxpbmU+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgICAgICBpY29uPSJ7e19nZXRUb2dnbGVJY29uKF9leHBhbmRlZCl9fSIKICAgICAgICAgICAgb24tY2xpY2s9Il90b2dnbGVFeHBhbmRlZCIKICAgICAgICAgICAgY2xhc3M9InRvZ2dsZS1idXR0b24iCiAgICAgICAgICA+CiAgICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm9kZS1uYW1lIiBpZD0ibm9kZXRpdGxlIj5bW25vZGVUaXRsZV1dPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBzZWNvbmRhcnk+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wLWNvbXBhdC1kaXNwbGF5Ij4KICAgICAgICAgICAgICA8c3ZnCiAgICAgICAgICAgICAgICBjbGFzcz0ib3AtY29tcGF0IgogICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaWQgbWVldCIKICAgICAgICAgICAgICAgIHZpZXdCb3g9IjAgMCAyNTAgMjUiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZnM+CiAgICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ib3AtY29tcGF0LWZpbGwiPgogICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvciQ9IltbX29wQ29tcGF0Q29sb3JdXSI+PC9zdG9wPgogICAgICAgICAgICAgICAgICAgIDxzdG9wCiAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQkPSJbW19vcENvbXBhdFNjb3JlXV0iCiAgICAgICAgICAgICAgICAgICAgICBzdG9wLWNvbG9yJD0iW1tfb3BDb21wYXRDb2xvcl1dIgogICAgICAgICAgICAgICAgICAgID48L3N0b3A+CiAgICAgICAgICAgICAgICAgICAgPHN0b3AKICAgICAgICAgICAgICAgICAgICAgIG9mZnNldCQ9IltbX29wQ29tcGF0U2NvcmVdXSIKICAgICAgICAgICAgICAgICAgICAgIHN0b3AtY29sb3IkPSJbW19vcEluY29tcGF0Q29sb3JdXSIKICAgICAgICAgICAgICAgICAgICA+PC9zdG9wPgogICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvciQ9IltbX29wSW5jb21wYXRDb2xvciBdXSI+PC9zdG9wPgogICAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgICAgICAgICAgPC9kZWZzPgogICAgICAgICAgICAgICAgPHJlY3QKICAgICAgICAgICAgICAgICAgaGVpZ2h0PSIyNSIKICAgICAgICAgICAgICAgICAgd2lkdGg9IjI1MCIKICAgICAgICAgICAgICAgICAgcng9IjUiCiAgICAgICAgICAgICAgICAgIHJ5PSI1IgogICAgICAgICAgICAgICAgICBzdHlsZT0iZmlsbDogdXJsKCcjb3AtY29tcGF0LWZpbGwnKTsiCiAgICAgICAgICAgICAgICA+PC9yZWN0PgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wLWNvbXBhdC12YWx1ZSI+W1tfb3BDb21wYXRTY29yZUxhYmVsXV08L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9wYXBlci1pdGVtLWJvZHk+CiAgICA8L3BhcGVyLWl0ZW0+CgogICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJ7e19leHBhbmRlZH19Ij4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJ7e19leHBhbmRlZH19IiByZXN0YW1wPSJ0cnVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJleHBhbmRlZEluZm8iPgogICAgICAgICAgSW5jb21wYXRpYmxlIE9wZXJhdGlvbnM6ICg8c3Bhbj5bW190b3RhbEluY29tcGF0T3BzXV08L3NwYW4+KQogICAgICAgICAgPGlyb24tbGlzdAogICAgICAgICAgICBjbGFzcz0iaW5jb21wYXRpYmxlLW9wcy1saXN0IgogICAgICAgICAgICBpZD0iaW5jb21wYXRpYmxlT3BzTGlzdCIKICAgICAgICAgICAgaXRlbXM9IltbX2luY29tcGF0aWJsZU9wTm9kZXNdXSIKICAgICAgICAgID4KICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgIDx0Zi1ncmFwaC1vcC1jb21wYXQtbGlzdC1pdGVtCiAgICAgICAgICAgICAgICBjbGFzcz0ibm9uLWNvbnRyb2wtbGlzdC1pdGVtIgogICAgICAgICAgICAgICAgaXRlbS1ub2RlPSJbW2l0ZW1dXSIKICAgICAgICAgICAgICAgIGl0ZW0tcmVuZGVyLWluZm89IltbX2dldFJlbmRlckluZm8oaXRlbS5uYW1lLCByZW5kZXJIaWVyYXJjaHkpXV0iCiAgICAgICAgICAgICAgICBuYW1lPSJbW2l0ZW0ubmFtZV1dIgogICAgICAgICAgICAgICAgdGVtcGxhdGUtaW5kZXg9IltbX3RlbXBsYXRlSW5kZXhdXSIKICAgICAgICAgICAgICAgIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIKICAgICAgICAgICAgICAgIGl0ZW0tdHlwZT0iaW5jb21wYXRpYmxlLW9wcyIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPC90Zi1ncmFwaC1vcC1jb21wYXQtbGlzdC1pdGVtPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2lyb24tY29sbGFwc2U+CiAgYCx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixyS3QpXSxLWnQucHJvdG90eXBlLCJncmFwaEhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixBS3QpXSxLWnQucHJvdG90eXBlLCJyZW5kZXJIaWVyYXJjaHkiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sS1p0LnByb3RvdHlwZSwibm9kZVRpdGxlIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sS1p0LnByb3RvdHlwZSwiX2V4cGFuZGVkIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEtadC5wcm90b3R5cGUsIl9vcENvbXBhdENvbG9yIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEtadC5wcm90b3R5cGUsIl9vcEluY29tcGF0Q29sb3IiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSxLWnQucHJvdG90eXBlLCJfdGVtcGxhdGVJbmRleCIsdm9pZCAwKSx0KFtzKCJncmFwaEhpZXJhcmNoeSIpLGUoImRlc2lnbjp0eXBlIixBcnJheSksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sS1p0LnByb3RvdHlwZSwiX2luY29tcGF0aWJsZU9wTm9kZXMiLG51bGwpLHQoW3MoImdyYXBoSGllcmFyY2h5IiksZSgiZGVzaWduOnR5cGUiLE51bWJlciksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sS1p0LnByb3RvdHlwZSwiX29wQ29tcGF0U2NvcmUiLG51bGwpLHQoW3MoIl9vcENvbXBhdFNjb3JlIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sS1p0LnByb3RvdHlwZSwiX29wQ29tcGF0U2NvcmVMYWJlbCIsbnVsbCksdChbcygiZ3JhcGhIaWVyYXJjaHkiKSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxLWnQucHJvdG90eXBlLCJfdG90YWxJbmNvbXBhdE9wcyIsbnVsbCksdChbYSgiZ3JhcGhIaWVyYXJjaHkiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLEtadC5wcm90b3R5cGUsIl9ncmFwaEhpZXJhcmNoeUNoYW5nZWQiLG51bGwpLEtadD10KFtpKCJ0Zi1ncmFwaC1vcC1jb21wYXQtY2FyZCIpXSxLWnQpO2xldCBaWnQ9Y2xhc3MgZXh0ZW5kcyhjcihnbCh3ZSkpKXtfaXRlbVR5cGVDaGFuZ2VkKCl7InN1Ym5vZGUiIT09dGhpcy5pdGVtVHlwZT90aGlzLiRbImxpc3QtaXRlbSJdLmNsYXNzTGlzdC5hZGQoImNsaWNrYWJsZSIpOnRoaXMuJFsibGlzdC1pdGVtIl0uY2xhc3NMaXN0LnJlbW92ZSgiY2xpY2thYmxlIil9X25vZGVMaXN0ZW5lcih0KXt0aGlzLmZpcmUoIm5vZGUtbGlzdC1pdGVtLSIrdC50eXBlLHtjYXJkTm9kZTp0aGlzLmNhcmROb2RlLm5hbWUsbm9kZU5hbWU6dGhpcy5uYW1lLHR5cGU6dGhpcy5pdGVtVHlwZX0pfV9mYWRlZENsYXNzKHQpe3JldHVybiB0JiZ0LmlzRmFkZWRPdXQ/ImZhZGVkIjoiIn19O1padC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgI2xpc3QtaXRlbSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKTsKICAgICAgICBmb250LXNpemU6IDExcHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAjbGlzdC1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb29nbGUteWVsbG93LTEwMCk7CiAgICAgIH0KCiAgICAgIDpob3N0KC5kYXJrLW1vZGUpICNsaXN0LWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXllbGxvdy05MDApOwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICB9CgogICAgICAuY2xpY2thYmxlIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgICNsaXN0LWl0ZW0gc3BhbiB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7CiAgICAgIH0KCiAgICAgICNsaXN0LWl0ZW0uZXhjbHVkZWQgc3BhbiB7CiAgICAgICAgY29sb3I6ICM5OTk7CiAgICAgIH0KCiAgICAgICNsaXN0LWl0ZW0gc3Bhbi5lZGdlLWxhYmVsIHsKICAgICAgICBmbG9hdDogcmlnaHQ7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgICAgIH0KCiAgICAgIC5ub2RlLWljb24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDFweDsKICAgICAgICBsZWZ0OiAycHg7CiAgICAgIH0KCiAgICAgIC5mYWRlZCBzcGFuIHsKICAgICAgICBjb2xvcjogdmFyKC0tdGItZ3JhcGgtZmFkZWQpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGRpdgogICAgICBpZD0ibGlzdC1pdGVtIgogICAgICBvbi1tb3VzZW92ZXI9Il9ub2RlTGlzdGVuZXIiCiAgICAgIG9uLW1vdXNlb3V0PSJfbm9kZUxpc3RlbmVyIgogICAgICBvbi1jbGljaz0iX25vZGVMaXN0ZW5lciIKICAgID4KICAgICAgPGRpdiBjbGFzcyQ9Int7X2ZhZGVkQ2xhc3MoaXRlbVJlbmRlckluZm8pfX0iPgogICAgICAgIDx0Zi1ub2RlLWljb24KICAgICAgICAgIGNsYXNzPSJub2RlLWljb24iCiAgICAgICAgICBoZWlnaHQ9IjEyIgogICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgY29sb3ItYnktcGFyYW1zPSJbW2NvbG9yQnlQYXJhbXNdXSIKICAgICAgICAgIG5vZGU9IltbaXRlbU5vZGVdXSIKICAgICAgICAgIHJlbmRlci1pbmZvPSJbW2l0ZW1SZW5kZXJJbmZvXV0iCiAgICAgICAgICB0ZW1wbGF0ZS1pbmRleD0iW1t0ZW1wbGF0ZUluZGV4XV0iCiAgICAgICAgPjwvdGYtbm9kZS1pY29uPgogICAgICAgIDxzcGFuIHRpdGxlJD0iW1tuYW1lXV0iPltbbmFtZV1dPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJlZGdlLWxhYmVsIj5bW2VkZ2VMYWJlbF1dPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWlp0LnByb3RvdHlwZSwiY2FyZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWlp0LnByb3RvdHlwZSwiaXRlbU5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sWlp0LnByb3RvdHlwZSwiZWRnZUxhYmVsIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFpadC5wcm90b3R5cGUsIml0ZW1SZW5kZXJJbmZvIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFpadC5wcm90b3R5cGUsIm5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsb2JzZXJ2ZXI6Il9pdGVtVHlwZUNoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFpadC5wcm90b3R5cGUsIml0ZW1UeXBlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFpadC5wcm90b3R5cGUsImNvbG9yQnkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWlp0LnByb3RvdHlwZSwiY29sb3JCeVBhcmFtcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxaWnQucHJvdG90eXBlLCJ0ZW1wbGF0ZUluZGV4Iix2b2lkIDApLFpadD10KFtpKCJ0Zi1ub2RlLWxpc3QtaXRlbSIpXSxaWnQpO2xldCBKWnQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9leHBhbmRlZD0hMCx0aGlzLl9vcGVuZWRDb250cm9sUHJlZD0hMSx0aGlzLl9vcGVuZWRDb250cm9sU3VjYz0hMSx0aGlzLl90ZW1wbGF0ZUluZGV4PW51bGx9ZXhwYW5kTm9kZSgpe3RoaXMuZmlyZSgiX25vZGUuZXhwYW5kIix0aGlzLm5vZGUpfV9nZXROb2RlKHQsZSl7cmV0dXJuIGUubm9kZSh0KX1fZ2V0Tm9kZVN0YXRzKHQsZSl7dmFyIG49dGhpcy5fZ2V0Tm9kZSh0LGUpO3JldHVybiBuP24uc3RhdHM6bnVsbH1fZ2V0VG90YWxNaWNyb3ModCl7cmV0dXJuIHQ/dC5nZXRUb3RhbE1pY3JvcygpOjB9Z2V0IF9oYXNEaXNwbGF5YWJsZU5vZGVTdGF0cygpe3JldHVybiBiJHQodGhpcy5fbm9kZVN0YXRzKX1nZXQgX25vZGVTdGF0c0Zvcm1hdHRlZEJ5dGVzKCl7dmFyIHQ9dGhpcy5fbm9kZVN0YXRzO2lmKHQmJnQudG90YWxCeXRlcylyZXR1cm4gdiR0KHQudG90YWxCeXRlcyxfJHQpfWdldCBfbm9kZVN0YXRzRm9ybWF0dGVkQ29tcHV0ZVRpbWUoKXt2YXIgdD10aGlzLl9ub2RlU3RhdHM7aWYodCYmdC5nZXRUb3RhbE1pY3JvcygpKXJldHVybiB2JHQodC5nZXRUb3RhbE1pY3JvcygpLHkkdCl9Z2V0IF9ub2RlU3RhdHNGb3JtYXR0ZWRPdXRwdXRTaXplcygpe3ZhciB0PXRoaXMuX25vZGVTdGF0cztpZih0JiZ0Lm91dHB1dFNpemUmJnQub3V0cHV0U2l6ZS5sZW5ndGgpcmV0dXJuIENlLmV4cG9ydHMubWFwKHQub3V0cHV0U2l6ZSwoZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10Lmxlbmd0aD8ic2NhbGFyIjoiWyIrdC5qb2luKCIsICIpKyJdIn0pKX1fZ2V0UmVuZGVySW5mbyh0LGUpe3JldHVybiB0aGlzLnJlbmRlckhpZXJhcmNoeS5nZXRPckNyZWF0ZVJlbmRlck5vZGVCeU5hbWUodCl9Z2V0IF9hdHRyaWJ1dGVzKCl7dmFyIHQ9dGhpcy5fbm9kZTtpZih0aGlzLmFzeW5jKHRoaXMuX3Jlc2l6ZUxpc3QuYmluZCh0aGlzLCIjYXR0cmlidXRlc0xpc3QiKSksIXR8fCF0LmF0dHIpcmV0dXJuW107dmFyIGU9W107cmV0dXJuIENlLmV4cG9ydHMuZWFjaCh0LmF0dHIsKGZ1bmN0aW9uKHQpeyJfdG9vX2xhcmdlX2F0dHJzIj09PXQua2V5P2U9ZS5jb25jYXQodC52YWx1ZS5saXN0LnMubWFwKChmdW5jdGlvbih0KXtyZXR1cm57a2V5OnQsdmFsdWU6IlRvbyBsYXJnZSB0byBzaG93Li4uIn19KSkpOmUucHVzaCh7a2V5OnQua2V5LHZhbHVlOkpTT04uc3RyaW5naWZ5KHQudmFsdWUpfSl9KSksZX1nZXQgX2RldmljZSgpe3ZhciB0PXRoaXMuX25vZGU7cmV0dXJuIHQ/dC5kZXZpY2U6bnVsbH1nZXQgX3N1Y2Nlc3NvcnMoKXt2YXIgdD10aGlzLl9ub2RlLGU9dGhpcy5ncmFwaEhpZXJhcmNoeTtyZXR1cm4gdGhpcy5fcmVmcmVzaE5vZGVJdGVtTGlzdCgiaW5wdXRzTGlzdCIpLHQ/dGhpcy5fY29udmVydEVkZ2VMaXN0VG9FZGdlSW5mb0xpc3QoZS5nZXRTdWNjZXNzb3JzKHQubmFtZSksITEsdC5pc0dyb3VwTm9kZSk6e3JlZ3VsYXI6W10sY29udHJvbDpbXX19Z2V0IF9wcmVkZWNlc3NvcnMoKXt2YXIgdD10aGlzLl9ub2RlLGU9dGhpcy5ncmFwaEhpZXJhcmNoeTtyZXR1cm4gdGhpcy5fcmVmcmVzaE5vZGVJdGVtTGlzdCgib3V0cHV0c0xpc3QiKSx0P3RoaXMuX2NvbnZlcnRFZGdlTGlzdFRvRWRnZUluZm9MaXN0KGUuZ2V0UHJlZGVjZXNzb3JzKHQubmFtZSksITAsdC5pc0dyb3VwTm9kZSk6e3JlZ3VsYXI6W10sY29udHJvbDpbXX19Z2V0IF9mdW5jdGlvblVzYWdlcygpe3ZhciB0PXRoaXMuX25vZGUsZT10aGlzLmdyYXBoSGllcmFyY2h5O2lmKHRoaXMuX3JlZnJlc2hOb2RlSXRlbUxpc3QoImZ1bmN0aW9uVXNhZ2VzTGlzdCIpLCF0fHx0LnR5cGUhPT1BJHQuTUVUQSlyZXR1cm5bXTtjb25zdCBuPWUubGlicmFyeUZ1bmN0aW9uc1t0LmFzc29jaWF0ZWRGdW5jdGlvbl07cmV0dXJuIG4/bi51c2FnZXM6W119X3JlZnJlc2hOb2RlSXRlbUxpc3QodCl7dGhpcy5hc3luYyh0aGlzLl9yZXNpemVMaXN0LmJpbmQodGhpcyxgIyR7dH1gKSl9X2NvbnZlcnRFZGdlTGlzdFRvRWRnZUluZm9MaXN0KHQsZSxuKXt2YXIgaT10PT5DZS5leHBvcnRzLm1hcCh0LmJhc2VFZGdlTGlzdCwodD0+e3ZhciBuPWU/dC52OnQudztyZXR1cm57bmFtZTpuLG5vZGU6dGhpcy5fZ2V0Tm9kZShuLHRoaXMuZ3JhcGhIaWVyYXJjaHkpLGVkZ2VMYWJlbDpjWnQodCx0aGlzLnJlbmRlckhpZXJhcmNoeSkscmVuZGVySW5mbzp0aGlzLl9nZXRSZW5kZXJJbmZvKG4sdGhpcy5yZW5kZXJIaWVyYXJjaHkpfX0pKSxyPWZ1bmN0aW9uKHQpe3ZhciByPVtdO3JldHVybiBDZS5leHBvcnRzLmVhY2godCwodD0+e3ZhciBvPWU/dC52OnQudztuJiYxIT10LmJhc2VFZGdlTGlzdC5sZW5ndGg/ci5wdXNoKHtuYW1lOm8sbm9kZTp0aGlzLl9nZXROb2RlKG8sdGhpcy5ncmFwaEhpZXJhcmNoeSksZWRnZUxhYmVsOnVadCh0LHRoaXMucmVuZGVySGllcmFyY2h5KSxyZW5kZXJJbmZvOnRoaXMuX2dldFJlbmRlckluZm8obyx0aGlzLnJlbmRlckhpZXJhcmNoeSl9KTpyPXIuY29uY2F0KGkodCkpfSkpLHJ9LmJpbmQodGhpcyk7cmV0dXJue3JlZ3VsYXI6cih0LnJlZ3VsYXIpLGNvbnRyb2w6cih0LmNvbnRyb2wpfX1nZXQgX3N1Ym5vZGVzKCl7dmFyIHQ9dGhpcy5fbm9kZTtyZXR1cm4gdCYmdC5tZXRhZ3JhcGg/dC5tZXRhZ3JhcGgubm9kZXMoKTpudWxsfWdldCBfdG90YWxQcmVkZWNlc3NvcnMoKXt2YXIgdD10aGlzLl9wcmVkZWNlc3NvcnM7cmV0dXJuIHQucmVndWxhci5sZW5ndGgrdC5jb250cm9sLmxlbmd0aH1nZXQgX3RvdGFsU3VjY2Vzc29ycygpe3ZhciB0PXRoaXMuX3N1Y2Nlc3NvcnM7cmV0dXJuIHQucmVndWxhci5sZW5ndGgrdC5jb250cm9sLmxlbmd0aH1fdG9nZ2xlQ29udHJvbFByZWQoKXt0aGlzLl9vcGVuZWRDb250cm9sUHJlZD0hdGhpcy5fb3BlbmVkQ29udHJvbFByZWR9X3RvZ2dsZUNvbnRyb2xTdWNjKCl7dGhpcy5fb3BlbmVkQ29udHJvbFN1Y2M9IXRoaXMuX29wZW5lZENvbnRyb2xTdWNjfV90b2dnbGVFeHBhbmRlZCgpe3RoaXMuX2V4cGFuZGVkPSF0aGlzLl9leHBhbmRlZH1fZ2V0VG9nZ2xlSWNvbih0KXtyZXR1cm4gdD8iZXhwYW5kLWxlc3MiOiJleHBhbmQtbW9yZSJ9X3Jlc2V0U3RhdGUoKXt0aGlzLl9vcGVuZWRDb250cm9sUHJlZD0hMSx0aGlzLl9vcGVuZWRDb250cm9sU3VjYz0hMSx0aGlzLnNldCgiX2dyb3VwQnV0dG9uVGV4dCIseFp0KHRoaXMuX25vZGUpKX1fcmVzaXplTGlzdCh0KXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpO2UmJmUuZmlyZSgiaXJvbi1yZXNpemUiKX1fdG9nZ2xlSW5jbHVkZSgpe3RoaXMuZmlyZSgibm9kZS10b2dnbGUtaW5jbHVzaW9uIix7bmFtZTp0aGlzLmdyYXBoTm9kZU5hbWV9KX1fbm9kZUluY2x1ZGVTdGF0ZUNoYW5nZWQodCxlKXt0aGlzLnNldCgiX2F1eEJ1dHRvblRleHQiLEokdCh0KSl9X3RvZ2dsZUdyb3VwKCl7dmFyIHQ9Ylp0KHRoaXMuX25vZGUpO3RoaXMuZmlyZSgibm9kZS10b2dnbGUtc2VyaWVzZ3JvdXAiLHtuYW1lOnR9KX1faXNMaWJyYXJ5RnVuY3Rpb24odCl7cmV0dXJuIHQmJnQubmFtZS5zdGFydHNXaXRoKFQkdCl9X2lzSW5TZXJpZXModCl7cmV0dXJuIHZadCh0KX1fZ3JhcGhIaWVyYXJjaHlDaGFuZ2VkKCl7dGhpcy5fdGVtcGxhdGVJbmRleD10aGlzLmdyYXBoSGllcmFyY2h5LmdldFRlbXBsYXRlSW5kZXgoKSx0aGlzLmdyYXBoSGllcmFyY2h5LmFkZExpc3RlbmVyKGlLdC5URU1QTEFURVNfVVBEQVRFRCwoKCk9Pnt0aGlzLl90ZW1wbGF0ZUluZGV4PXRoaXMuZ3JhcGhIaWVyYXJjaHkuZ2V0VGVtcGxhdGVJbmRleCgpfSkpfX07Slp0LnRlbXBsYXRlPXhlYAogICAgPHN0eWxlPgogICAgICAuc3ViLWxpc3QtZ3JvdXAgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxMnB0OwogICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5zdWItbGlzdCB7CiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOwogICAgICB9CgogICAgICAuYXR0ci1sZWZ0IHsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgICB3aWR0aDogMzAlOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpOwogICAgICAgIGZvbnQtc2l6ZTogMTFwdDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICB9CgogICAgICAuYXR0ci1yaWdodCB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwJTsKICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKTsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICB9CgogICAgICAuc3ViLWxpc3QtdGFibGUgewogICAgICAgIGRpc3BsYXk6IHRhYmxlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuc3ViLWxpc3QtdGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7CiAgICAgIH0KCiAgICAgIC5zdWItbGlzdC10YWJsZS1yb3cgLnN1Yi1saXN0LXRhYmxlLWNlbGw6bGFzdC1jaGlsZCB7CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgIH0KCiAgICAgIC5zdWItbGlzdC10YWJsZS1jZWxsIHsKICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpOwogICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7CiAgICAgICAgZm9udC1zaXplOiAxMXB0OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDsKICAgICAgICBwYWRkaW5nOiAwIDRweDsKICAgICAgfQoKICAgICAgcGFwZXItaXRlbSB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWJhY2tncm91bmQtY29sb3IpOwogICAgICB9CgogICAgICBwYXBlci1pdGVtLWJvZHlbdHdvLWxpbmVdIHsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDRweDsKICAgICAgfQoKICAgICAgLmV4cGFuZGVkSW5mbyB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgIH0KCiAgICAgIC5jb250cm9sRGVwcyB7CiAgICAgICAgcGFkZGluZzogMCAwIDAgOHB4OwogICAgICB9CgogICAgICAubm9kZS1uYW1lIHsKICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBmb250LXNpemU6IDE0cHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLm5vZGUtaWNvbiB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcik7CiAgICAgICAgZm9udC1zaXplOiAxMnB0OwogICAgICB9CgogICAgICAuY29udHJvbExpbmUgewogICAgICAgIGZvbnQtc2l6ZTogMTFwdDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICB9CgogICAgICAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAyMHB4OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC5jb250cm9sLXRvZ2dsZS1idXR0b24gewogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAyMHB4OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtaW5jbHVkZS1ncm91cCB7CiAgICAgICAgcGFkZGluZy10b3A6IDRweDsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1pbmNsdWRlIHsKICAgICAgICBtYXJnaW46IDVweCA2cHg7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgcGFkZGluZzogNHB4IDZweDsKICAgICAgICBmb250LXNpemU6IDEwcHQ7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsKICAgICAgICBjb2xvcjogIzY2NjsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1pbmNsdWRlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb29nbGUteWVsbG93LTEwMCk7CiAgICAgIH0KCiAgICAgIC5ub24tY29udHJvbC1saXN0LWl0ZW0gewogICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxwYXBlci1pdGVtPgogICAgICA8cGFwZXItaXRlbS1ib2R5IHR3by1saW5lPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICAgICAgaWNvbj0ie3tfZ2V0VG9nZ2xlSWNvbihfZXhwYW5kZWQpfX0iCiAgICAgICAgICAgIG9uLWNsaWNrPSJfdG9nZ2xlRXhwYW5kZWQiCiAgICAgICAgICAgIGNsYXNzPSJ0b2dnbGUtYnV0dG9uIgogICAgICAgICAgPgogICAgICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vZGUtbmFtZSI+CiAgICAgICAgICAgIDx0Zi13YnItc3RyaW5nIHZhbHVlPSJbW19ub2RlLm5hbWVdXSIgZGVsaW1pdGVyLXBhdHRlcm49Ii8iPgogICAgICAgICAgICA8L3RmLXdici1zdHJpbmc+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNlY29uZGFyeT4KICAgICAgICAgIDx0Zi1ub2RlLWljb24KICAgICAgICAgICAgY2xhc3M9Im5vZGUtaWNvbiIKICAgICAgICAgICAgbm9kZT0iW1tfbm9kZV1dIgogICAgICAgICAgICByZW5kZXItaW5mbz0iW1tfZ2V0UmVuZGVySW5mbyhncmFwaE5vZGVOYW1lLCByZW5kZXJIaWVyYXJjaHkpXV0iCiAgICAgICAgICAgIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIKICAgICAgICAgICAgdGVtcGxhdGUtaW5kZXg9IltbX3RlbXBsYXRlSW5kZXhdXSIKICAgICAgICAgID48L3RmLW5vZGUtaWNvbj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0ie3tfbm9kZS5vcH19Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VidGl0bGUiPgogICAgICAgICAgICAgIE9wZXJhdGlvbjoKICAgICAgICAgICAgICA8c3Bhbj5bW19ub2RlLm9wXV08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0ie3tfbm9kZS5tZXRhZ3JhcGh9fSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj4KICAgICAgICAgICAgICBTdWJncmFwaDoKICAgICAgICAgICAgICA8c3Bhbj5bW19ub2RlLmNhcmRpbmFsaXR5XV08L3NwYW4+IG5vZGVzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9wYXBlci1pdGVtLWJvZHk+CiAgICA8L3BhcGVyLWl0ZW0+CiAgICA8aXJvbi1jb2xsYXBzZSBvcGVuZWQ9Int7X2V4cGFuZGVkfX0iPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X2V4cGFuZGVkfX0iIHJlc3RhbXA9InRydWUiPgogICAgICAgIDxkaXYgY2xhc3M9ImV4cGFuZGVkSW5mbyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC1ncm91cCBhdHRyaWJ1dGVzIj4KICAgICAgICAgICAgQXR0cmlidXRlcyAoPHNwYW4+W1tfYXR0cmlidXRlcy5sZW5ndGhdXTwvc3Bhbj4pCiAgICAgICAgICAgIDxpcm9uLWxpc3QKICAgICAgICAgICAgICBjbGFzcz0ic3ViLWxpc3QiCiAgICAgICAgICAgICAgaWQ9ImF0dHJpYnV0ZXNMaXN0IgogICAgICAgICAgICAgIGl0ZW1zPSJbW19hdHRyaWJ1dGVzXV0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyLWxlZnQiPltbaXRlbS5rZXldXTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyLXJpZ2h0Ij5bW2l0ZW0udmFsdWVdXTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X2RldmljZX19Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3ViLWxpc3QtZ3JvdXAgZGV2aWNlIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyLWxlZnQiPkRldmljZTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF0dHItcmlnaHQiPltbX2RldmljZV1dPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC1ncm91cCBwcmVkZWNlc3NvcnMiPgogICAgICAgICAgICBJbnB1dHMgKDxzcGFuPltbX3RvdGFsUHJlZGVjZXNzb3JzXV08L3NwYW4+KQogICAgICAgICAgICA8aXJvbi1saXN0CiAgICAgICAgICAgICAgY2xhc3M9InN1Yi1saXN0IgogICAgICAgICAgICAgIGlkPSJpbnB1dHNMaXN0IgogICAgICAgICAgICAgIGl0ZW1zPSJbW19wcmVkZWNlc3NvcnMucmVndWxhcl1dIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLW5vZGUtbGlzdC1pdGVtCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJub24tY29udHJvbC1saXN0LWl0ZW0iCiAgICAgICAgICAgICAgICAgIGNhcmQtbm9kZT0iW1tfbm9kZV1dIgogICAgICAgICAgICAgICAgICBpdGVtLW5vZGU9IltbaXRlbS5ub2RlXV0iCiAgICAgICAgICAgICAgICAgIGVkZ2UtbGFiZWw9IltbaXRlbS5lZGdlTGFiZWxdXSIKICAgICAgICAgICAgICAgICAgaXRlbS1yZW5kZXItaW5mbz0iW1tpdGVtLnJlbmRlckluZm9dXSIKICAgICAgICAgICAgICAgICAgbmFtZT0iW1tpdGVtLm5hbWVdXSIKICAgICAgICAgICAgICAgICAgaXRlbS10eXBlPSJwcmVkZWNlc3NvcnMiCiAgICAgICAgICAgICAgICAgIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIKICAgICAgICAgICAgICAgICAgdGVtcGxhdGUtaW5kZXg9IltbX3RlbXBsYXRlSW5kZXhdXSIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDwvdGYtbm9kZS1saXN0LWl0ZW0+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfcHJlZGVjZXNzb3JzLmNvbnRyb2wubGVuZ3RoXV0iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xEZXBzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xMaW5lIj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgICAgICAgICAgICAgaWNvbj0ie3tfZ2V0VG9nZ2xlSWNvbihfb3BlbmVkQ29udHJvbFByZWQpfX0iCiAgICAgICAgICAgICAgICAgICAgb24tY2xpY2s9Il90b2dnbGVDb250cm9sUHJlZCIKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY29udHJvbC10b2dnbGUtYnV0dG9uIgogICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgICAgICAgICAgIENvbnRyb2wgZGVwZW5kZW5jaWVzCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxpcm9uLWNvbGxhcHNlIG9wZW5lZD0ie3tfb3BlbmVkQ29udHJvbFByZWR9fSIgbm8tYW5pbWF0aW9uPgogICAgICAgICAgICAgICAgICA8dGVtcGxhdGUKICAgICAgICAgICAgICAgICAgICBpcz0iZG9tLWlmIgogICAgICAgICAgICAgICAgICAgIGlmPSJ7e19vcGVuZWRDb250cm9sUHJlZH19IgogICAgICAgICAgICAgICAgICAgIHJlc3RhbXA9InRydWUiCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICA8aXJvbi1saXN0CiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3ViLWxpc3QiCiAgICAgICAgICAgICAgICAgICAgICBpdGVtcz0iW1tfcHJlZGVjZXNzb3JzLmNvbnRyb2xdXSIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0Zi1ub2RlLWxpc3QtaXRlbQogICAgICAgICAgICAgICAgICAgICAgICAgIGNhcmQtbm9kZT0iW1tfbm9kZV1dIgogICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0tbm9kZT0iW1tpdGVtLm5vZGVdXSIKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLXJlbmRlci1pbmZvPSJbW2l0ZW0ucmVuZGVySW5mb11dIgogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9IltbaXRlbS5uYW1lXV0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS10eXBlPSJwcmVkZWNlc3NvcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlLWluZGV4PSJbW190ZW1wbGF0ZUluZGV4XV0iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgPC90Zi1ub2RlLWxpc3QtaXRlbT4KICAgICAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8L2lyb24tY29sbGFwc2U+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC1ncm91cCBzdWNjZXNzb3JzIj4KICAgICAgICAgICAgT3V0cHV0cyAoPHNwYW4+W1tfdG90YWxTdWNjZXNzb3JzXV08L3NwYW4+KQogICAgICAgICAgICA8aXJvbi1saXN0CiAgICAgICAgICAgICAgY2xhc3M9InN1Yi1saXN0IgogICAgICAgICAgICAgIGlkPSJvdXRwdXRzTGlzdCIKICAgICAgICAgICAgICBpdGVtcz0iW1tfc3VjY2Vzc29ycy5yZWd1bGFyXV0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtbm9kZS1saXN0LWl0ZW0KICAgICAgICAgICAgICAgICAgY2xhc3M9Im5vbi1jb250cm9sLWxpc3QtaXRlbSIKICAgICAgICAgICAgICAgICAgY2FyZC1ub2RlPSJbW19ub2RlXV0iCiAgICAgICAgICAgICAgICAgIGl0ZW0tbm9kZT0iW1tpdGVtLm5vZGVdXSIKICAgICAgICAgICAgICAgICAgZWRnZS1sYWJlbD0iW1tpdGVtLmVkZ2VMYWJlbF1dIgogICAgICAgICAgICAgICAgICBpdGVtLXJlbmRlci1pbmZvPSJbW2l0ZW0ucmVuZGVySW5mb11dIgogICAgICAgICAgICAgICAgICBuYW1lPSJbW2l0ZW0ubmFtZV1dIgogICAgICAgICAgICAgICAgICBpdGVtLXR5cGU9InN1Y2Nlc3NvciIKICAgICAgICAgICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgICAgICAgICB0ZW1wbGF0ZS1pbmRleD0iW1tfdGVtcGxhdGVJbmRleF1dIgogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPC90Zi1ub2RlLWxpc3QtaXRlbT4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L2lyb24tbGlzdD4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19zdWNjZXNzb3JzLmNvbnRyb2wubGVuZ3RoXV0iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xEZXBzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xMaW5lIj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgICAgICAgICAgICAgaWNvbj0ie3tfZ2V0VG9nZ2xlSWNvbihfb3BlbmVkQ29udHJvbFN1Y2MpfX0iCiAgICAgICAgICAgICAgICAgICAgb24tY2xpY2s9Il90b2dnbGVDb250cm9sU3VjYyIKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY29udHJvbC10b2dnbGUtYnV0dG9uIgogICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgICAgICAgICAgIENvbnRyb2wgZGVwZW5kZW5jaWVzCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxpcm9uLWNvbGxhcHNlIG9wZW5lZD0ie3tfb3BlbmVkQ29udHJvbFN1Y2N9fSIgbm8tYW5pbWF0aW9uPgogICAgICAgICAgICAgICAgICA8dGVtcGxhdGUKICAgICAgICAgICAgICAgICAgICBpcz0iZG9tLWlmIgogICAgICAgICAgICAgICAgICAgIGlmPSJ7e19vcGVuZWRDb250cm9sU3VjY319IgogICAgICAgICAgICAgICAgICAgIHJlc3RhbXA9InRydWUiCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICA8aXJvbi1saXN0IGNsYXNzPSJzdWItbGlzdCIgaXRlbXM9IltbX3N1Y2Nlc3NvcnMuY29udHJvbF1dIj4KICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHRmLW5vZGUtbGlzdC1pdGVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FyZC1ub2RlPSJbW19ub2RlXV0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS1ub2RlPSJbW2l0ZW0ubm9kZV1dIgogICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0tcmVuZGVyLWluZm89IltbaXRlbS5yZW5kZXJJbmZvXV0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iW1tpdGVtLm5hbWVdXSIKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLXR5cGU9InN1Y2Nlc3NvcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlLWluZGV4PSJbW190ZW1wbGF0ZUluZGV4XV0iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgPC90Zi1ub2RlLWxpc3QtaXRlbT4KICAgICAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8L2lyb24tY29sbGFwc2U+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0ie3tfaGFzRGlzcGxheWFibGVOb2RlU3RhdHN9fSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LWdyb3VwIG5vZGUtc3RhdHMiPgogICAgICAgICAgICAgIE5vZGUgU3RhdHMKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZSI+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X25vZGVTdGF0cy50b3RhbEJ5dGVzfX0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPk1lbW9yeTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgW1tfbm9kZVN0YXRzRm9ybWF0dGVkQnl0ZXNdXQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X2dldFRvdGFsTWljcm9zKF9ub2RlU3RhdHMpfX0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPkNvbXB1dGUgVGltZTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgW1tfbm9kZVN0YXRzRm9ybWF0dGVkQ29tcHV0ZVRpbWVdXQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X25vZGVTdGF0cy5vdXRwdXRTaXplfX0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPlRlbnNvciBPdXRwdXQgU2l6ZXM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1jZWxsIj4KICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZQogICAgICAgICAgICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM9Int7X25vZGVTdGF0c0Zvcm1hdHRlZE91dHB1dFNpemVzfX0iCiAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFtbaXRlbV1dIDxiciAvPgogICAgICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19mdW5jdGlvblVzYWdlcy5sZW5ndGhdXSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LWdyb3VwIHByZWRlY2Vzc29ycyI+CiAgICAgICAgICAgICAgVXNhZ2VzIG9mIHRoZSBGdW5jdGlvbiAoPHNwYW4+W1tfZnVuY3Rpb25Vc2FnZXMubGVuZ3RoXV08L3NwYW4+KQogICAgICAgICAgICAgIDxpcm9uLWxpc3QKICAgICAgICAgICAgICAgIGNsYXNzPSJzdWItbGlzdCIKICAgICAgICAgICAgICAgIGlkPSJmdW5jdGlvblVzYWdlc0xpc3QiCiAgICAgICAgICAgICAgICBpdGVtcz0iW1tfZnVuY3Rpb25Vc2FnZXNdXSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICAgIDx0Zi1ub2RlLWxpc3QtaXRlbQogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJub24tY29udHJvbC1saXN0LWl0ZW0iCiAgICAgICAgICAgICAgICAgICAgY2FyZC1ub2RlPSJbW19ub2RlXV0iCiAgICAgICAgICAgICAgICAgICAgaXRlbS1ub2RlPSJbW2l0ZW1dXSIKICAgICAgICAgICAgICAgICAgICBuYW1lPSJbW2l0ZW0ubmFtZV1dIgogICAgICAgICAgICAgICAgICAgIGl0ZW0tdHlwZT0iZnVuY3Rpb25Vc2FnZXMiCiAgICAgICAgICAgICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlLWluZGV4PSJbW190ZW1wbGF0ZUluZGV4XV0iCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgPC90Zi1ub2RlLWxpc3QtaXRlbT4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9pc0xpYnJhcnlGdW5jdGlvbihfbm9kZSldXSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1pbmNsdWRlLWdyb3VwIj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgICByYWlzZWQKICAgICAgICAgICAgICAgIGNsYXNzPSJ0b2dnbGUtaW5jbHVkZSIKICAgICAgICAgICAgICAgIG9uLWNsaWNrPSJfdG9nZ2xlSW5jbHVkZSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8c3Bhbj5bW19hdXhCdXR0b25UZXh0XV08L3NwYW4+CiAgICAgICAgICAgICAgPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X2lzSW5TZXJpZXMoX25vZGUpfX0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtaW5jbHVkZS1ncm91cCI+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbgogICAgICAgICAgICAgICAgcmFpc2VkCiAgICAgICAgICAgICAgICBjbGFzcz0idG9nZ2xlLWluY2x1ZGUiCiAgICAgICAgICAgICAgICBvbi1jbGljaz0iX3RvZ2dsZUdyb3VwIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxzcGFuPltbX2dyb3VwQnV0dG9uVGV4dF1dPC9zcGFuPgogICAgICAgICAgICAgIDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2lyb24tY29sbGFwc2U+CiAgYCx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxKWnQucHJvdG90eXBlLCJncmFwaE5vZGVOYW1lIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHJLdCldLEpadC5wcm90b3R5cGUsImdyYXBoSGllcmFyY2h5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEpadC5wcm90b3R5cGUsInJlbmRlckhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxKWnQucHJvdG90eXBlLCJjb2xvckJ5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfZ2V0Tm9kZShncmFwaE5vZGVOYW1lLCBncmFwaEhpZXJhcmNoeSkiLG9ic2VydmVyOiJfcmVzZXRTdGF0ZSJ9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sSlp0LnByb3RvdHlwZSwiX25vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3QsY29tcHV0ZWQ6Il9nZXROb2RlU3RhdHMoZ3JhcGhOb2RlTmFtZSwgZ3JhcGhIaWVyYXJjaHkpIixvYnNlcnZlcjoiX3Jlc2V0U3RhdGUifSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEpadC5wcm90b3R5cGUsIl9ub2RlU3RhdHMiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXIsb2JzZXJ2ZXI6Il9ub2RlSW5jbHVkZVN0YXRlQ2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sSlp0LnByb3RvdHlwZSwibm9kZUluY2x1ZGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxKWnQucHJvdG90eXBlLCJfZXhwYW5kZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxKWnQucHJvdG90eXBlLCJfb3BlbmVkQ29udHJvbFByZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxKWnQucHJvdG90eXBlLCJfb3BlbmVkQ29udHJvbFN1Y2MiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sSlp0LnByb3RvdHlwZSwiX2F1eEJ1dHRvblRleHQiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sSlp0LnByb3RvdHlwZSwiX2dyb3VwQnV0dG9uVGV4dCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLEpadC5wcm90b3R5cGUsIl90ZW1wbGF0ZUluZGV4Iix2b2lkIDApLHQoW3MoIl9ub2RlU3RhdHMiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sSlp0LnByb3RvdHlwZSwiX2hhc0Rpc3BsYXlhYmxlTm9kZVN0YXRzIixudWxsKSx0KFtzKCJfbm9kZVN0YXRzIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sSlp0LnByb3RvdHlwZSwiX25vZGVTdGF0c0Zvcm1hdHRlZEJ5dGVzIixudWxsKSx0KFtzKCJfbm9kZVN0YXRzIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sSlp0LnByb3RvdHlwZSwiX25vZGVTdGF0c0Zvcm1hdHRlZENvbXB1dGVUaW1lIixudWxsKSx0KFtzKCJfbm9kZVN0YXRzIiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfbm9kZVN0YXRzRm9ybWF0dGVkT3V0cHV0U2l6ZXMiLG51bGwpLHQoW3MoIl9ub2RlIiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfYXR0cmlidXRlcyIsbnVsbCksdChbcygiX25vZGUiKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfZGV2aWNlIixudWxsKSx0KFtzKCJfbm9kZSIsImdyYXBoSGllcmFyY2h5IiksZSgiZGVzaWduOnR5cGUiLE9iamVjdCksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sSlp0LnByb3RvdHlwZSwiX3N1Y2Nlc3NvcnMiLG51bGwpLHQoW3MoIl9ub2RlIiwiZ3JhcGhIaWVyYXJjaHkiKSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfcHJlZGVjZXNzb3JzIixudWxsKSx0KFtzKCJfbm9kZSIsImdyYXBoSGllcmFyY2h5IiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfZnVuY3Rpb25Vc2FnZXMiLG51bGwpLHQoW3MoIl9ub2RlIiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfc3Vibm9kZXMiLG51bGwpLHQoW3MoIl9wcmVkZWNlc3NvcnMiKSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfdG90YWxQcmVkZWNlc3NvcnMiLG51bGwpLHQoW3MoIl9zdWNjZXNzb3JzIiksZSgiZGVzaWduOnR5cGUiLE51bWJlciksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sSlp0LnByb3RvdHlwZSwiX3RvdGFsU3VjY2Vzc29ycyIsbnVsbCksdChbYSgiZ3JhcGhIaWVyYXJjaHkiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLEpadC5wcm90b3R5cGUsIl9ncmFwaEhpZXJhcmNoeUNoYW5nZWQiLG51bGwpLEpadD10KFtpKCJ0Zi1ub2RlLWluZm8iKV0sSlp0KTtsZXQgUVp0PWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtyZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJub2RlLWxpc3QtaXRlbS1jbGljayIsdGhpcy5fbm9kZUxpc3RJdGVtQ2xpY2tlZC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoIm5vZGUtbGlzdC1pdGVtLW1vdXNlb3ZlciIsdGhpcy5fbm9kZUxpc3RJdGVtTW91c2VvdmVyLmJpbmQodGhpcykpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigibm9kZS1saXN0LWl0ZW0tbW91c2VvdXQiLHRoaXMuX25vZGVMaXN0SXRlbU1vdXNlb3V0LmJpbmQodGhpcykpfV9ub2RlTGlzdEl0ZW1DbGlja2VkKHQpe3RoaXMuc2VsZWN0ZWROb2RlPXQuZGV0YWlsLm5vZGVOYW1lfV9ub2RlTGlzdEl0ZW1Nb3VzZW92ZXIodCl7dGhpcy5oaWdobGlnaHRlZE5vZGU9dC5kZXRhaWwubm9kZU5hbWV9X25vZGVMaXN0SXRlbU1vdXNlb3V0KCl7dGhpcy5oaWdobGlnaHRlZE5vZGU9bnVsbH1faGVhbHRoUGlsbHNBdmFpbGFibGUodCxlKXtyZXR1cm4gdCYmZSYmT2JqZWN0LmtleXMoZSkubGVuZ3RoPjB9X2VxdWFscyh0LGUpe3JldHVybiB0PT09ZX19O1FadC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG9yKTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWF4LWhlaWdodDogNjUwcHg7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KCiAgICAgIGgyIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7c2VsZWN0ZWROb2RlfX0iPgogICAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPHRmLW5vZGUtaW5mbwogICAgICAgICAgZ3JhcGgtaGllcmFyY2h5PSJbW2dyYXBoSGllcmFyY2h5XV0iCiAgICAgICAgICByZW5kZXItaGllcmFyY2h5PSJbW3JlbmRlckhpZXJhcmNoeV1dIgogICAgICAgICAgZmxhdC1ncmFwaD0iW1tncmFwaF1dIgogICAgICAgICAgZ3JhcGgtbm9kZS1uYW1lPSJbW3NlbGVjdGVkTm9kZV1dIgogICAgICAgICAgbm9kZS1pbmNsdWRlPSJbW3NlbGVjdGVkTm9kZUluY2x1ZGVdXSIKICAgICAgICAgIGhpZ2hsaWdodGVkLW5vZGU9Int7aGlnaGxpZ2h0ZWROb2RlfX0iCiAgICAgICAgICBjb2xvci1ieT0iW1tjb2xvckJ5XV0iCiAgICAgICAgPgogICAgICAgIDwvdGYtbm9kZS1pbmZvPgogICAgICA8L3BhcGVyLW1hdGVyaWFsPgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZXF1YWxzKGNvbG9yQnksICdvcF9jb21wYXRpYmlsaXR5JyldXSI+CiAgICAgIDx0Zi1ncmFwaC1vcC1jb21wYXQtY2FyZAogICAgICAgIGdyYXBoLWhpZXJhcmNoeT0iW1tncmFwaEhpZXJhcmNoeV1dIgogICAgICAgIHJlbmRlci1oaWVyYXJjaHk9IltbcmVuZGVySGllcmFyY2h5XV0iCiAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgIG5vZGUtdGl0bGU9IltbY29tcGF0Tm9kZVRpdGxlXV0iCiAgICAgID4KICAgICAgPC90Zi1ncmFwaC1vcC1jb21wYXQtY2FyZD4KICAgIDwvdGVtcGxhdGU+CiAgICA8dGVtcGxhdGUKICAgICAgaXM9ImRvbS1pZiIKICAgICAgaWY9IltbX2hlYWx0aFBpbGxzQXZhaWxhYmxlKGRlYnVnZ2VyRGF0YUVuYWJsZWQsIG5vZGVOYW1lc1RvSGVhbHRoUGlsbHMpXV0iCiAgICA+CiAgICAgIDx0Zi1ncmFwaC1kZWJ1Z2dlci1kYXRhLWNhcmQKICAgICAgICByZW5kZXItaGllcmFyY2h5PSJbW3JlbmRlckhpZXJhcmNoeV1dIgogICAgICAgIGRlYnVnZ2VyLW51bWVyaWMtYWxlcnRzPSJbW2RlYnVnZ2VyTnVtZXJpY0FsZXJ0c11dIgogICAgICAgIG5vZGUtbmFtZXMtdG8taGVhbHRoLXBpbGxzPSJbW25vZGVOYW1lc1RvSGVhbHRoUGlsbHNdXSIKICAgICAgICBzZWxlY3RlZC1ub2RlPSJ7e3NlbGVjdGVkTm9kZX19IgogICAgICAgIGhpZ2hsaWdodGVkLW5vZGU9Int7aGlnaGxpZ2h0ZWROb2RlfX0iCiAgICAgICAgYXJlLWhlYWx0aC1waWxscy1sb2FkaW5nPSJbW2FyZUhlYWx0aFBpbGxzTG9hZGluZ11dIgogICAgICAgIGFsbC1zdGVwcy1tb2RlLWVuYWJsZWQ9Int7YWxsU3RlcHNNb2RlRW5hYmxlZH19IgogICAgICAgIHNwZWNpZmljLWhlYWx0aC1waWxsLXN0ZXA9Int7c3BlY2lmaWNIZWFsdGhQaWxsU3RlcH19IgogICAgICAgIGhlYWx0aC1waWxsLXN0ZXAtaW5kZXg9Int7aGVhbHRoUGlsbFN0ZXBJbmRleH19IgogICAgICA+CiAgICAgIDwvdGYtZ3JhcGgtZGVidWdnZXItZGF0YS1jYXJkPgogICAgPC90ZW1wbGF0ZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFFadC5wcm90b3R5cGUsInRpdGxlIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHJLdCldLFFadC5wcm90b3R5cGUsImdyYXBoSGllcmFyY2h5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLEkkdCldLFFadC5wcm90b3R5cGUsImdyYXBoIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLEFLdCldLFFadC5wcm90b3R5cGUsInJlbmRlckhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxRWnQucHJvdG90eXBlLCJub2RlTmFtZXNUb0hlYWx0aFBpbGxzIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxRWnQucHJvdG90eXBlLCJoZWFsdGhQaWxsU3RlcEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFFadC5wcm90b3R5cGUsImNvbG9yQnkiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sUVp0LnByb3RvdHlwZSwiY29tcGF0Tm9kZVRpdGxlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxRWnQucHJvdG90eXBlLCJzZWxlY3RlZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFFadC5wcm90b3R5cGUsImhpZ2hsaWdodGVkTm9kZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcixub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sUVp0LnByb3RvdHlwZSwic2VsZWN0ZWROb2RlSW5jbHVkZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFFadC5wcm90b3R5cGUsImRlYnVnZ2VyRGF0YUVuYWJsZWQiLHZvaWQgMCksUVp0PXQoW2koInRmLWdyYXBoLWluZm8iKV0sUVp0KTtjb25zdCB0SnQ9e01BWF9OT0RFX0NPVU5UOjFlNCxNQVhfRURHRV9DT1VOVDoxZTR9O2xldCBlSnQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmhpZXJhcmNoeVBhcmFtcz1hS3QsdGhpcy5hbGxTdGVwc01vZGVFbmFibGVkPSExLHRoaXMuc3BlY2lmaWNIZWFsdGhQaWxsU3RlcD0wLHRoaXMuY29tcGF0Tm9kZVRpdGxlPSJUUFUgQ29tcGF0aWJpbGl0eSJ9Zml0KCl7dGhpcy4kLmdyYXBoLmZpdCgpfWRvd25sb2FkQXNJbWFnZSh0KXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0IGU9eWllbGQgdGhpcy4kLmdyYXBoLmdldEltYWdlQmxvYigpLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO24uaHJlZj1VUkwuY3JlYXRlT2JqZWN0VVJMKGUpLG4uZG93bmxvYWQ9dCxuLmNsaWNrKCksVVJMLnJldm9rZU9iamVjdFVSTChuLmhyZWYpfSkpfV9pc05vdENvbXBsZXRlKHQpe3JldHVybiB0LnZhbHVlPDEwMH1fZ2V0Q29udGFpbmVyQ2xhc3ModCl7dmFyIGU9ImNvbnRhaW5lciI7cmV0dXJuIHQuZXJyb3ImJihlKz0iIGVycm9yIiksdGhpcy5faXNOb3RDb21wbGV0ZSh0KSYmKGUrPSIgbG9hZGluZyIpLGV9X29uTm9kZUluY2x1c2lvblRvZ2dsZWQodCl7dGhpcy4kLmdyYXBoLm5vZGVUb2dnbGVFeHRyYWN0KHQuZGV0YWlsLm5hbWUpfV9vbk5vZGVTZXJpZXNHcm91cFRvZ2dsZWQodCl7dGhpcy4kLmdyYXBoLm5vZGVUb2dnbGVTZXJpZXNHcm91cCh0LmRldGFpbC5uYW1lKX1fdXBkYXRlTm9kZUluY2x1ZGUoKXtjb25zdCB0PXRoaXMucmVuZGVySGllcmFyY2h5P3RoaXMucmVuZGVySGllcmFyY2h5LmdldE5vZGVCeU5hbWUodGhpcy5zZWxlY3RlZE5vZGUpOm51bGw7dGhpcy5fc2VsZWN0ZWROb2RlSW5jbHVkZT10P3QuaW5jbHVkZTprJHQuVU5TUEVDSUZJRUR9X3NsaW1HcmFwaENoYW5nZWQoKXtpZighdGhpcy5ncmFwaClyZXR1cm47Y29uc3R7TUFYX05PREVfQ09VTlQ6dCxNQVhfRURHRV9DT1VOVDplfT10SnQ7T2JqZWN0LmtleXModGhpcy5ncmFwaC5ub2RlcykubGVuZ3RoPnQmJnRoaXMuZ3JhcGguZWRnZXMubGVuZ3RoPmUmJnRoaXMuY29sb3JCeT09PXJadC5TVFJVQ1RVUkUmJih0aGlzLmNvbG9yQnk9clp0Lk5PTkUpfV9lbnN1cmVUZW1wbGF0ZXMoKXt0aGlzLmdyYXBoSGllcmFyY2h5JiZ0aGlzLmNvbG9yQnk9PT1yWnQuU1RSVUNUVVJFJiYodGhpcy5ncmFwaEhpZXJhcmNoeS5nZXRUZW1wbGF0ZUluZGV4KCl8fHRoaXMuZ3JhcGhIaWVyYXJjaHkudXBkYXRlVGVtcGxhdGVzKCkpfX07ZUp0LnRlbXBsYXRlPXhlYAogICAgPHN0eWxlPgogICAgICA6Omhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAvZGVlcC8gLmNsb3NlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGxlZnQ6IDE1cHg7CiAgICAgICAgYm90dG9tOiAxNXB4OwogICAgICB9CgogICAgICAuY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLmNvbnRhaW5lci5sb2FkaW5nIHsKICAgICAgICBjdXJzb3I6IHByb2dyZXNzOwogICAgICAgIG9wYWNpdHk6IDAuMTsKICAgICAgfQoKICAgICAgLmNvbnRhaW5lci5sb2FkaW5nLmVycm9yIHsKICAgICAgICBjdXJzb3I6IGF1dG87CiAgICAgIH0KCiAgICAgICNpbmZvIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDVweDsKICAgICAgICB0b3A6IDVweDsKICAgICAgICBwYWRkaW5nOiAwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAzODBweDsKICAgICAgICBtaW4td2lkdGg6IDMyMHB4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsKICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTJkcDsKICAgICAgfQoKICAgICAgI21haW4gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgI3Byb2dyZXNzLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNDBweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgI3Byb2dyZXNzLW1zZyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgICB3aWR0aDogNDAwcHg7CiAgICAgIH0KCiAgICAgIHBhcGVyLXByb2dyZXNzIHsKICAgICAgICB3aWR0aDogNDAwcHg7CiAgICAgICAgLS1wYXBlci1wcm9ncmVzcy1oZWlnaHQ6IDZweDsKICAgICAgICAtLXBhcGVyLXByb2dyZXNzLWFjdGl2ZS1jb2xvcjogI2YzOTEzZTsKICAgICAgfQoKICAgICAgLmNvbnRleHQtbWVudSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTJlMjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1pbi13aWR0aDogMTUwcHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q0ZDRkNDsKICAgICAgfQoKICAgICAgL2RlZXAvIC5jb250ZXh0LW1lbnUgdWwgewogICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC9kZWVwLyAuY29udGV4dC1tZW51IHVsIGxpIHsKICAgICAgICBwYWRkaW5nOiA0cHggMTZweDsKICAgICAgfQoKICAgICAgL2RlZXAvIC5jb250ZXh0LW1lbnUgdWwgbGk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMzkxM2U7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc05vdENvbXBsZXRlKHByb2dyZXNzKV1dIj4KICAgICAgPGRpdiBpZD0icHJvZ3Jlc3MtYmFyIj4KICAgICAgICA8ZGl2IGlkPSJwcm9ncmVzcy1tc2ciPltbcHJvZ3Jlc3MubXNnXV08L2Rpdj4KICAgICAgICA8cGFwZXItcHJvZ3Jlc3MgdmFsdWU9IltbcHJvZ3Jlc3MudmFsdWVdXSI+PC9wYXBlci1wcm9ncmVzcz4KICAgICAgPC9kaXY+CiAgICA8L3RlbXBsYXRlPgogICAgPGRpdiBjbGFzcyQ9IltbX2dldENvbnRhaW5lckNsYXNzKHByb2dyZXNzKV1dIj4KICAgICAgPGRpdiBpZD0ibWFpbiI+CiAgICAgICAgPHRmLWdyYXBoCiAgICAgICAgICBpZD0iZ3JhcGgiCiAgICAgICAgICBncmFwaC1oaWVyYXJjaHk9Int7Z3JhcGhIaWVyYXJjaHl9fSIKICAgICAgICAgIGJhc2ljLWdyYXBoPSJbW2dyYXBoXV0iCiAgICAgICAgICBoaWVyYXJjaHktcGFyYW1zPSJbW2hpZXJhcmNoeVBhcmFtc11dIgogICAgICAgICAgcmVuZGVyLWhpZXJhcmNoeT0ie3tyZW5kZXJIaWVyYXJjaHl9fSIKICAgICAgICAgIGRldmljZXMtZm9yLXN0YXRzPSJbW2RldmljZXNGb3JTdGF0c11dIgogICAgICAgICAgc3RhdHM9Iltbc3RhdHNdXSIKICAgICAgICAgIHNlbGVjdGVkLW5vZGU9Int7c2VsZWN0ZWROb2RlfX0iCiAgICAgICAgICBoaWdobGlnaHRlZC1ub2RlPSJ7e19oaWdobGlnaHRlZE5vZGV9fSIKICAgICAgICAgIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIKICAgICAgICAgIGNvbG9yLWJ5LXBhcmFtcz0ie3tjb2xvckJ5UGFyYW1zfX0iCiAgICAgICAgICBwcm9ncmVzcz0ie3twcm9ncmVzc319IgogICAgICAgICAgZWRnZS1sYWJlbC1mdW5jdGlvbj0iW1tlZGdlTGFiZWxGdW5jdGlvbl1dIgogICAgICAgICAgZWRnZS13aWR0aC1mdW5jdGlvbj0iW1tlZGdlV2lkdGhGdW5jdGlvbl1dIgogICAgICAgICAgbm9kZS1uYW1lcy10by1oZWFsdGgtcGlsbHM9Iltbbm9kZU5hbWVzVG9IZWFsdGhQaWxsc11dIgogICAgICAgICAgaGVhbHRoLXBpbGwtc3RlcC1pbmRleD0iW1toZWFsdGhQaWxsU3RlcEluZGV4XV0iCiAgICAgICAgICBoYW5kbGUtbm9kZS1zZWxlY3RlZD0iW1toYW5kbGVOb2RlU2VsZWN0ZWRdXSIKICAgICAgICAgIGhhbmRsZS1lZGdlLXNlbGVjdGVkPSJbW2hhbmRsZUVkZ2VTZWxlY3RlZF1dIgogICAgICAgICAgdHJhY2UtaW5wdXRzPSJbW3RyYWNlSW5wdXRzXV0iCiAgICAgICAgICBhdXRvLWV4dHJhY3Qtbm9kZXM9IltbYXV0b0V4dHJhY3ROb2Rlc11dIgogICAgICAgID48L3RmLWdyYXBoPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBpZD0iaW5mbyI+CiAgICAgICAgPHRmLWdyYXBoLWluZm8KICAgICAgICAgIGlkPSJncmFwaC1pbmZvIgogICAgICAgICAgdGl0bGU9InNlbGVjdGVkIgogICAgICAgICAgZ3JhcGgtaGllcmFyY2h5PSJbW2dyYXBoSGllcmFyY2h5XV0iCiAgICAgICAgICByZW5kZXItaGllcmFyY2h5PSJbW3JlbmRlckhpZXJhcmNoeV1dIgogICAgICAgICAgZ3JhcGg9IltbZ3JhcGhdXSIKICAgICAgICAgIHNlbGVjdGVkLW5vZGU9Int7c2VsZWN0ZWROb2RlfX0iCiAgICAgICAgICBzZWxlY3RlZC1ub2RlLWluY2x1ZGU9Int7X3NlbGVjdGVkTm9kZUluY2x1ZGV9fSIKICAgICAgICAgIGhpZ2hsaWdodGVkLW5vZGU9Int7X2hpZ2hsaWdodGVkTm9kZX19IgogICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgY29sb3ItYnktcGFyYW1zPSJbW2NvbG9yQnlQYXJhbXNdXSIKICAgICAgICAgIGRlYnVnZ2VyLWRhdGEtZW5hYmxlZD0iW1tkZWJ1Z2dlckRhdGFFbmFibGVkXV0iCiAgICAgICAgICBhcmUtaGVhbHRoLXBpbGxzLWxvYWRpbmc9IltbYXJlSGVhbHRoUGlsbHNMb2FkaW5nXV0iCiAgICAgICAgICBkZWJ1Z2dlci1udW1lcmljLWFsZXJ0cz0iW1tkZWJ1Z2dlck51bWVyaWNBbGVydHNdXSIKICAgICAgICAgIG5vZGUtbmFtZXMtdG8taGVhbHRoLXBpbGxzPSJbW25vZGVOYW1lc1RvSGVhbHRoUGlsbHNdXSIKICAgICAgICAgIGFsbC1zdGVwcy1tb2RlLWVuYWJsZWQ9Int7YWxsU3RlcHNNb2RlRW5hYmxlZH19IgogICAgICAgICAgc3BlY2lmaWMtaGVhbHRoLXBpbGwtc3RlcD0ie3tzcGVjaWZpY0hlYWx0aFBpbGxTdGVwfX0iCiAgICAgICAgICBoZWFsdGgtcGlsbC1zdGVwLWluZGV4PSJ7e2hlYWx0aFBpbGxTdGVwSW5kZXh9fSIKICAgICAgICAgIGNvbXBhdC1ub2RlLXRpdGxlPSJbW2NvbXBhdE5vZGVUaXRsZV1dIgogICAgICAgICAgb24tbm9kZS10b2dnbGUtaW5jbHVzaW9uPSJfb25Ob2RlSW5jbHVzaW9uVG9nZ2xlZCIKICAgICAgICAgIG9uLW5vZGUtdG9nZ2xlLXNlcmllc2dyb3VwPSJfb25Ob2RlU2VyaWVzR3JvdXBUb2dnbGVkIgogICAgICAgID48L3RmLWdyYXBoLWluZm8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYCx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixyS3QpXSxlSnQucHJvdG90eXBlLCJncmFwaEhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixJJHQpXSxlSnQucHJvdG90eXBlLCJncmFwaCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxlSnQucHJvdG90eXBlLCJoaWVyYXJjaHlQYXJhbXMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZUp0LnByb3RvdHlwZSwic3RhdHMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZUp0LnByb3RvdHlwZSwicHJvZ3Jlc3MiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxlSnQucHJvdG90eXBlLCJ0cmFjZUlucHV0cyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGVKdC5wcm90b3R5cGUsImF1dG9FeHRyYWN0Tm9kZXMiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGVKdC5wcm90b3R5cGUsImNvbG9yQnkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGVKdC5wcm90b3R5cGUsImNvbG9yQnlQYXJhbXMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEFLdCldLGVKdC5wcm90b3R5cGUsInJlbmRlckhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGVKdC5wcm90b3R5cGUsImRlYnVnZ2VyRGF0YUVuYWJsZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxlSnQucHJvdG90eXBlLCJhcmVIZWFsdGhQaWxsc0xvYWRpbmciLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheSxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxlSnQucHJvdG90eXBlLCJkZWJ1Z2dlck51bWVyaWNBbGVydHMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZUp0LnByb3RvdHlwZSwibm9kZU5hbWVzVG9IZWFsdGhQaWxscyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxlSnQucHJvdG90eXBlLCJhbGxTdGVwc01vZGVFbmFibGVkIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxlSnQucHJvdG90eXBlLCJzcGVjaWZpY0hlYWx0aFBpbGxTdGVwIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGVKdC5wcm90b3R5cGUsImhlYWx0aFBpbGxTdGVwSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGVKdC5wcm90b3R5cGUsInNlbGVjdGVkTm9kZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxlSnQucHJvdG90eXBlLCJjb21wYXROb2RlVGl0bGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZUp0LnByb3RvdHlwZSwiZWRnZVdpZHRoRnVuY3Rpb24iLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sZUp0LnByb3RvdHlwZSwiX3NlbGVjdGVkTm9kZUluY2x1ZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sZUp0LnByb3RvdHlwZSwiX2hpZ2hsaWdodGVkTm9kZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxlSnQucHJvdG90eXBlLCJoYW5kbGVOb2RlU2VsZWN0ZWQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZUp0LnByb3RvdHlwZSwiZWRnZUxhYmVsRnVuY3Rpb24iLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZUp0LnByb3RvdHlwZSwiaGFuZGxlRWRnZVNlbGVjdGVkIix2b2lkIDApLHQoW2EoInNlbGVjdGVkTm9kZSIsInJlbmRlckhpZXJhcmNoeSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sZUp0LnByb3RvdHlwZSwiX3VwZGF0ZU5vZGVJbmNsdWRlIixudWxsKSx0KFthKCJncmFwaCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sZUp0LnByb3RvdHlwZSwiX3NsaW1HcmFwaENoYW5nZWQiLG51bGwpLHQoW2EoImNvbG9yQnkiLCJncmFwaEhpZXJhcmNoeSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sZUp0LnByb3RvdHlwZSwiX2Vuc3VyZVRlbXBsYXRlcyIsbnVsbCksZUp0PXQoW2koInRmLWdyYXBoLWJvYXJkIildLGVKdCk7Y2xhc3Mgbkp0e2lzTm90VHB1T3AodCl7cmV0dXJuLTEhPXQudG9Mb3dlckNhc2UoKS5zZWFyY2goImNwdToiKXx8KC0xIT10LnRvTG93ZXJDYXNlKCkuc2VhcmNoKCJncHU6Iil8fC0xPT10LnRvTG93ZXJDYXNlKCkuc2VhcmNoKCJ0cHUiKSl9b3BWYWxpZCh0KXtyZXR1cm4gMD09dC5uYW1lLnNlYXJjaChUJHQpfHwoIXQub3B8fCghKCF0LmRldmljZXx8IXRoaXMuaXNOb3RUcHVPcCh0LmRldmljZSkpfHwoISghdC5kZXZpY2V8fC0xPT10LmRldmljZS5zZWFyY2goIlRQVV9TWVNURU0iKSl8fENlLmV4cG9ydHMuaW5jbHVkZXMobkp0LldISVRFTElTVCx0Lm9wKSkpKX19bkp0LldISVRFTElTVD1bIkFicyIsIkFjb3MiLCJBY29zaCIsIkFkZCIsIkFkZE4iLCJBZGRWMiIsIkFkanVzdENvbnRyYXN0djIiLCJBZGp1c3RIdWUiLCJBZGp1c3RTYXR1cmF0aW9uIiwiQWxsIiwiQWxsVG9BbGwiLCJBbmdsZSIsIkFueSIsIkFwcHJveGltYXRlRXF1YWwiLCJBcmdNYXgiLCJBcmdNaW4iLCJBc2luIiwiQXNpbmgiLCJBc3NlcnQiLCJBc3NpZ25BZGRWYXJpYWJsZU9wIiwiQXNzaWduU3ViVmFyaWFibGVPcCIsIkFzc2lnblZhcmlhYmxlT3AiLCJBdGFuIiwiQXRhbjIiLCJBdGFuaCIsIkF2Z1Bvb2wiLCJBdmdQb29sM0QiLCJBdmdQb29sM0RHcmFkIiwiQXZnUG9vbEdyYWQiLCJCYXRjaE1hdE11bCIsIkJhdGNoTWF0TXVsVjIiLCJCYXRjaFRvU3BhY2UiLCJCYXRjaFRvU3BhY2VORCIsIkJlc3NlbEkwZSIsIkJlc3NlbEkxZSIsIkJldGFpbmMiLCJCaWFzQWRkIiwiQmlhc0FkZEdyYWQiLCJCaWFzQWRkVjEiLCJCaXRjYXN0IiwiQml0d2lzZUFuZCIsIkJpdHdpc2VPciIsIkJpdHdpc2VYb3IiLCJCcm9hZGNhc3RBcmdzIiwiQnJvYWRjYXN0R3JhZGllbnRBcmdzIiwiQnJvYWRjYXN0VG8iLCJCdWNrZXRpemUiLCJDYXNlIiwiQ2FzdCIsIkNlaWwiLCJDaGVja051bWVyaWNzIiwiQ2hvbGVza3kiLCJDbGlwQnlWYWx1ZSIsIkNvbGxlY3RpdmVQZXJtdXRlIiwiQ29sbGVjdGl2ZVJlZHVjZVYyIiwiQ29tcGxleCIsIkNvbXBsZXhBYnMiLCJDb25jYXQiLCJDb25jYXRPZmZzZXQiLCJDb25jYXRWMiIsIkNvbmoiLCJDb25qdWdhdGVUcmFuc3Bvc2UiLCJDb25zdCIsIkNvbnRyb2xUcmlnZ2VyIiwiQ29udjJEIiwiQ29udjJEQmFja3Byb3BGaWx0ZXIiLCJDb252MkRCYWNrcHJvcElucHV0IiwiQ29udjNEIiwiQ29udjNEQmFja3Byb3BGaWx0ZXJWMiIsIkNvbnYzREJhY2twcm9wSW5wdXRWMiIsIkNvcyIsIkNvc2giLCJDcm9zcyIsIkNyb3NzUmVwbGljYVN1bSIsIkN1bXByb2QiLCJDdW1zdW0iLCJEYXRhRm9ybWF0RGltTWFwIiwiRGF0YUZvcm1hdFZlY1Blcm11dGUiLCJEZXB0aFRvU3BhY2UiLCJEZXB0aHdpc2VDb252MmROYXRpdmUiLCJEZXB0aHdpc2VDb252MmROYXRpdmVCYWNrcHJvcEZpbHRlciIsIkRlcHRod2lzZUNvbnYyZE5hdGl2ZUJhY2twcm9wSW5wdXQiLCJEZXF1YW50aXplIiwiRGV2aWNlSW5kZXgiLCJEaWFnIiwiRGlhZ1BhcnQiLCJEaWdhbW1hIiwiRGl2IiwiRGl2Tm9OYW4iLCJEeW5hbWljU3RpdGNoIiwiRWluc3VtIiwiRWx1IiwiRWx1R3JhZCIsIkVtcHR5IiwiRW1wdHlUZW5zb3JMaXN0IiwiRW5zdXJlU2hhcGUiLCJFcXVhbCIsIkVyZiIsIkVyZmMiLCJFcmZpbnYiLCJFeHAiLCJFeHBhbmREaW1zIiwiRXhwbTEiLCJFeHRyYWN0SW1hZ2VQYXRjaGVzIiwiRkZUIiwiRkZUMkQiLCJGRlQzRCIsIkZha2VQYXJhbSIsIkZha2VRdWFudFdpdGhNaW5NYXhBcmdzIiwiRmFrZVF1YW50V2l0aE1pbk1heEFyZ3NHcmFkaWVudCIsIkZha2VRdWFudFdpdGhNaW5NYXhWYXJzIiwiRmFrZVF1YW50V2l0aE1pbk1heFZhcnNHcmFkaWVudCIsIkZpbGwiLCJGbG9vciIsIkZsb29yRGl2IiwiRmxvb3JNb2QiLCJGdXNlZEJhdGNoTm9ybSIsIkZ1c2VkQmF0Y2hOb3JtR3JhZCIsIkZ1c2VkQmF0Y2hOb3JtR3JhZFYyIiwiRnVzZWRCYXRjaE5vcm1HcmFkVjMiLCJGdXNlZEJhdGNoTm9ybVYyIiwiRnVzZWRCYXRjaE5vcm1WMyIsIkdhdGhlciIsIkdhdGhlck5kIiwiR2F0aGVyVjIiLCJHZXRJdGVtIiwiR3JlYXRlciIsIkdyZWF0ZXJFcXVhbCIsIkhTVlRvUkdCIiwiSUZGVCIsIklGRlQyRCIsIklGRlQzRCIsIklSRkZUIiwiSVJGRlQyRCIsIklSRkZUM0QiLCJJZGVudGl0eSIsIklkZW50aXR5TiIsIklmIiwiSWdhbW1hIiwiSWdhbW1hR3JhZEEiLCJJZ2FtbWFjIiwiSW1hZyIsIkluVG9wS1YyIiwiSW5mZWVkRGVxdWV1ZSIsIkluZmVlZERlcXVldWVUdXBsZSIsIklucGxhY2VBZGQiLCJJbnBsYWNlVXBkYXRlIiwiSW52IiwiSW52ZXJ0IiwiSW52ZXJ0UGVybXV0YXRpb24iLCJJc0Zpbml0ZSIsIklzSW5mIiwiSXNOYW4iLCJLdGhPcmRlclN0YXRpc3RpYyIsIkwyTG9zcyIsIkxSTiIsIkxSTkdyYWQiLCJMZWFreVJlbHUiLCJMZWFreVJlbHVHcmFkIiwiTGVmdFNoaWZ0IiwiTGVzcyIsIkxlc3NFcXVhbCIsIkxnYW1tYSIsIkxpblNwYWNlIiwiTGlzdERpZmYiLCJMb2ciLCJMb2cxcCIsIkxvZ1NvZnRtYXgiLCJMb2dpY2FsQW5kIiwiTG9naWNhbE5vdCIsIkxvZ2ljYWxPciIsIkxvd2VyQm91bmQiLCJNYWtlVW5pcXVlIiwiTWF0TXVsIiwiTWF0cml4QmFuZFBhcnQiLCJNYXRyaXhEaWFnIiwiTWF0cml4RGlhZ1BhcnQiLCJNYXRyaXhEaWFnUGFydFYyIiwiTWF0cml4RGlhZ1BhcnRWMyIsIk1hdHJpeERpYWdWMiIsIk1hdHJpeERpYWdWMyIsIk1hdHJpeEludmVyc2UiLCJNYXRyaXhTZXREaWFnIiwiTWF0cml4U2V0RGlhZ1YyIiwiTWF0cml4U2V0RGlhZ1YzIiwiTWF0cml4U29sdmUiLCJNYXRyaXhUcmlhbmd1bGFyU29sdmUiLCJNYXgiLCJNYXhQb29sIiwiTWF4UG9vbDNEIiwiTWF4UG9vbDNER3JhZCIsIk1heFBvb2wzREdyYWRHcmFkIiwiTWF4UG9vbEdyYWQiLCJNYXhQb29sR3JhZEdyYWQiLCJNYXhQb29sR3JhZEdyYWRWMiIsIk1heFBvb2xHcmFkVjIiLCJNYXhQb29sVjIiLCJNYXhpbXVtIiwiTWVhbiIsIk1pbiIsIk1pbmltdW0iLCJNaXJyb3JQYWQiLCJNaXJyb3JQYWRHcmFkIiwiTW9kIiwiTXVsIiwiTXVsTm9OYW4iLCJNdWx0aW5vbWlhbCIsIk5kdHJpIiwiTmVnIiwiTmV4dEFmdGVyIiwiTm9PcCIsIk5vbk1heFN1cHByZXNzaW9uVjQiLCJOb3RFcXVhbCIsIk9uZUhvdCIsIk9uZXNMaWtlIiwiT3V0ZmVlZEVucXVldWUiLCJPdXRmZWVkRW5xdWV1ZVR1cGxlIiwiUGFjayIsIlBhZCIsIlBhZFYyIiwiUGFyYWxsZWxEeW5hbWljU3RpdGNoIiwiUGFyYW1ldGVyaXplZFRydW5jYXRlZE5vcm1hbCIsIlBhcnRpdGlvbmVkQ2FsbCIsIlBsYWNlaG9sZGVyV2l0aERlZmF1bHQiLCJQb2x5Z2FtbWEiLCJQb3B1bGF0aW9uQ291bnQiLCJQb3ciLCJQcmV2ZW50R3JhZGllbnQiLCJQcm9kIiwiUXIiLCJRdWFudGl6ZUFuZERlcXVhbnRpemVWMiIsIlF1YW50aXplQW5kRGVxdWFudGl6ZVYzIiwiUkZGVCIsIlJGRlQyRCIsIlJGRlQzRCIsIlJHQlRvSFNWIiwiUmFuZG9tR2FtbWFHcmFkIiwiUmFuZG9tU2h1ZmZsZSIsIlJhbmRvbVN0YW5kYXJkTm9ybWFsIiwiUmFuZG9tVW5pZm9ybSIsIlJhbmRvbVVuaWZvcm1JbnQiLCJSYW5nZSIsIlJhbmsiLCJSZWFkVmFyaWFibGVPcCIsIlJlYWwiLCJSZWFsRGl2IiwiUmVjaXByb2NhbCIsIlJlY2lwcm9jYWxHcmFkIiwiUmVsdSIsIlJlbHU2IiwiUmVsdTZHcmFkIiwiUmVsdUdyYWQiLCJSZXNoYXBlIiwiUmVzaXplQmlsaW5lYXIiLCJSZXNpemVCaWxpbmVhckdyYWQiLCJSZXNpemVOZWFyZXN0TmVpZ2hib3IiLCJSZXNpemVOZWFyZXN0TmVpZ2hib3JHcmFkIiwiUmVzb3VyY2VBcHBseUFkYU1heCIsIlJlc291cmNlQXBwbHlBZGFkZWx0YSIsIlJlc291cmNlQXBwbHlBZGFncmFkIiwiUmVzb3VyY2VBcHBseUFkYWdyYWREQSIsIlJlc291cmNlQXBwbHlBZGFncmFkVjIiLCJSZXNvdXJjZUFwcGx5QWRhbSIsIlJlc291cmNlQXBwbHlBZGRTaWduIiwiUmVzb3VyY2VBcHBseUNlbnRlcmVkUk1TUHJvcCIsIlJlc291cmNlQXBwbHlGdHJsIiwiUmVzb3VyY2VBcHBseUZ0cmxWMiIsIlJlc291cmNlQXBwbHlHcmFkaWVudERlc2NlbnQiLCJSZXNvdXJjZUFwcGx5S2VyYXNNb21lbnR1bSIsIlJlc291cmNlQXBwbHlNb21lbnR1bSIsIlJlc291cmNlQXBwbHlQb3dlclNpZ24iLCJSZXNvdXJjZUFwcGx5UHJveGltYWxBZGFncmFkIiwiUmVzb3VyY2VBcHBseVByb3hpbWFsR3JhZGllbnREZXNjZW50IiwiUmVzb3VyY2VBcHBseVJNU1Byb3AiLCJSZXNvdXJjZUdhdGhlciIsIlJlc291cmNlU2NhdHRlckFkZCIsIlJlc291cmNlU2NhdHRlckRpdiIsIlJlc291cmNlU2NhdHRlck1heCIsIlJlc291cmNlU2NhdHRlck1pbiIsIlJlc291cmNlU2NhdHRlck11bCIsIlJlc291cmNlU2NhdHRlck5kQWRkIiwiUmVzb3VyY2VTY2F0dGVyTmRTdWIiLCJSZXNvdXJjZVNjYXR0ZXJOZFVwZGF0ZSIsIlJlc291cmNlU2NhdHRlclN1YiIsIlJlc291cmNlU2NhdHRlclVwZGF0ZSIsIlJlc291cmNlU3RyaWRlZFNsaWNlQXNzaWduIiwiUmV2ZXJzZSIsIlJldmVyc2VTZXF1ZW5jZSIsIlJldmVyc2VWMiIsIlJpZ2h0U2hpZnQiLCJSaW50IiwiUm5nUmVhZEFuZFNraXAiLCJSbmdTa2lwIiwiUm9sbCIsIlJvdW5kIiwiUnNxcnQiLCJSc3FydEdyYWQiLCJTY2F0dGVyTmQiLCJTZWxlY3QiLCJTZWxlY3RWMiIsIlNlbGZBZGpvaW50RWlnVjIiLCJTZWx1IiwiU2VsdUdyYWQiLCJTaGFwZSIsIlNoYXBlTiIsIlNpZ21vaWQiLCJTaWdtb2lkR3JhZCIsIlNpZ24iLCJTaW4iLCJTaW5oIiwiU2l6ZSIsIlNsaWNlIiwiU25hcHNob3QiLCJTb2Z0bWF4IiwiU29mdG1heENyb3NzRW50cm9weVdpdGhMb2dpdHMiLCJTb2Z0cGx1cyIsIlNvZnRwbHVzR3JhZCIsIlNvZnRzaWduIiwiU29mdHNpZ25HcmFkIiwiU3BhY2VUb0JhdGNoIiwiU3BhY2VUb0JhdGNoTkQiLCJTcGFjZVRvRGVwdGgiLCJTcGFyc2VNYXRNdWwiLCJTcGFyc2VTb2Z0bWF4Q3Jvc3NFbnRyb3B5V2l0aExvZ2l0cyIsIlNwYXJzZVRvRGVuc2UiLCJTcGxpdCIsIlNwbGl0ViIsIlNxcnQiLCJTcXJ0R3JhZCIsIlNxdWFyZSIsIlNxdWFyZWREaWZmZXJlbmNlIiwiU3F1ZWV6ZSIsIlN0YWNrQ2xvc2VWMiIsIlN0YWNrUG9wVjIiLCJTdGFja1B1c2hWMiIsIlN0YWNrVjIiLCJTdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbCIsIlN0YXRlZnVsU3RhbmRhcmROb3JtYWxWMiIsIlN0YXRlZnVsVHJ1bmNhdGVkTm9ybWFsIiwiU3RhdGVmdWxVbmlmb3JtIiwiU3RhdGVmdWxVbmlmb3JtRnVsbEludCIsIlN0YXRlZnVsVW5pZm9ybUludCIsIlN0YXRlbGVzc0Nhc2UiLCJTdGF0ZWxlc3NJZiIsIlN0YXRlbGVzc011bHRpbm9taWFsIiwiU3RhdGVsZXNzUmFuZG9tR2V0QWxnIiwiU3RhdGVsZXNzUmFuZG9tR2V0S2V5Q291bnRlciIsIlN0YXRlbGVzc1JhbmRvbUdldEtleUNvdW50ZXJBbGciLCJTdGF0ZWxlc3NSYW5kb21Ob3JtYWwiLCJTdGF0ZWxlc3NSYW5kb21Ob3JtYWxWMiIsIlN0YXRlbGVzc1JhbmRvbVVuaWZvcm0iLCJTdGF0ZWxlc3NSYW5kb21Vbmlmb3JtRnVsbEludCIsIlN0YXRlbGVzc1JhbmRvbVVuaWZvcm1GdWxsSW50VjIiLCJTdGF0ZWxlc3NSYW5kb21Vbmlmb3JtSW50IiwiU3RhdGVsZXNzUmFuZG9tVW5pZm9ybUludFYyIiwiU3RhdGVsZXNzUmFuZG9tVW5pZm9ybVYyIiwiU3RhdGVsZXNzVHJ1bmNhdGVkTm9ybWFsIiwiU3RhdGVsZXNzVHJ1bmNhdGVkTm9ybWFsVjIiLCJTdGF0ZWxlc3NXaGlsZSIsIlN0b3BHcmFkaWVudCIsIlN0cmlkZWRTbGljZSIsIlN0cmlkZWRTbGljZUdyYWQiLCJTdWIiLCJTdW0iLCJTdmQiLCJTeW1ib2xpY0dyYWRpZW50IiwiVFBVRW1iZWRkaW5nQWN0aXZhdGlvbnMiLCJUYW4iLCJUYW5oIiwiVGFuaEdyYWQiLCJUZW5zb3JBcnJheUNsb3NlVjMiLCJUZW5zb3JBcnJheUNvbmNhdFYzIiwiVGVuc29yQXJyYXlHYXRoZXJWMyIsIlRlbnNvckFycmF5R3JhZFYzIiwiVGVuc29yQXJyYXlSZWFkVjMiLCJUZW5zb3JBcnJheVNjYXR0ZXJWMyIsIlRlbnNvckFycmF5U2l6ZVYzIiwiVGVuc29yQXJyYXlTcGxpdFYzIiwiVGVuc29yQXJyYXlWMyIsIlRlbnNvckFycmF5V3JpdGVWMyIsIlRlbnNvckxpc3RDb25jYXRWMiIsIlRlbnNvckxpc3RFbGVtZW50U2hhcGUiLCJUZW5zb3JMaXN0RnJvbVRlbnNvciIsIlRlbnNvckxpc3RHYXRoZXIiLCJUZW5zb3JMaXN0R2V0SXRlbSIsIlRlbnNvckxpc3RMZW5ndGgiLCJUZW5zb3JMaXN0UG9wQmFjayIsIlRlbnNvckxpc3RQdXNoQmFjayIsIlRlbnNvckxpc3RSZXNlcnZlIiwiVGVuc29yTGlzdFNldEl0ZW0iLCJUZW5zb3JMaXN0U3BsaXQiLCJUZW5zb3JMaXN0U3RhY2siLCJUZW5zb3JTY2F0dGVyQWRkIiwiVGVuc29yU2NhdHRlck1heCIsIlRlbnNvclNjYXR0ZXJNaW4iLCJUZW5zb3JTY2F0dGVyU3ViIiwiVGVuc29yU2NhdHRlclVwZGF0ZSIsIlRlbnNvclN0cmlkZWRTbGljZVVwZGF0ZSIsIlRpbGUiLCJUb3BLVW5pcXVlIiwiVG9wS1YyIiwiVG9wS1dpdGhVbmlxdWUiLCJUcmFuc3Bvc2UiLCJUcmlkaWFnb25hbFNvbHZlIiwiVHJ1bmNhdGVEaXYiLCJUcnVuY2F0ZU1vZCIsIlRydW5jYXRlZE5vcm1hbCIsIlVuaXF1ZSIsIlVucGFjayIsIlVuc29ydGVkU2VnbWVudE1heCIsIlVuc29ydGVkU2VnbWVudE1pbiIsIlVuc29ydGVkU2VnbWVudFByb2QiLCJVbnNvcnRlZFNlZ21lbnRTdW0iLCJVcHBlckJvdW5kIiwiVmFySXNJbml0aWFsaXplZE9wIiwiVmFyaWFibGVTaGFwZSIsIldoZXJlIiwiV2hpbGUiLCJYZGl2eSIsIlhsYUJyb2FkY2FzdEhlbHBlciIsIlhsYUNvbnYiLCJYbGFDb252VjIiLCJYbGFEZXF1YW50aXplIiwiWGxhRG90IiwiWGxhRG90VjIiLCJYbGFEeW5hbWljU2xpY2UiLCJYbGFEeW5hbWljVXBkYXRlU2xpY2UiLCJYbGFFaW5zdW0iLCJYbGFHYXRoZXIiLCJYbGFIb3N0Q29tcHV0ZSIsIlhsYUlmIiwiWGxhS2V5VmFsdWVTb3J0IiwiWGxhUGFkIiwiWGxhUmVjdiIsIlhsYVJlY3ZGcm9tSG9zdCIsIlhsYVJlZHVjZSIsIlhsYVJlZHVjZVdpbmRvdyIsIlhsYVJlcGxpY2FJZCIsIlhsYVNjYXR0ZXIiLCJYbGFTZWxlY3RBbmRTY2F0dGVyIiwiWGxhU2VsZkFkam9pbnRFaWciLCJYbGFTZW5kIiwiWGxhU2VuZFRvSG9zdCIsIlhsYVNldEJvdW5kIiwiWGxhU2V0RHluYW1pY0RpbWVuc2lvblNpemUiLCJYbGFTaGFyZGluZyIsIlhsYVNvcnQiLCJYbGFTcG1kRnVsbFRvU2hhcmRTaGFwZSIsIlhsYVNwbWRTaGFyZFRvRnVsbFNoYXBlIiwiWGxhU3ZkIiwiWGxhVmFyaWFkaWNSZWR1Y2UiLCJYbGFWYXJpYWRpY1NvcnQiLCJYbGFXaGlsZSIsIlhsb2cxcHkiLCJYbG9neSIsIlplcm9zTGlrZSIsIlpldGEiLCJFbnRlciIsIkV4aXQiLCJMb29wQ29uZCIsIk1lcmdlIiwiTmV4dEl0ZXJhdGlvbiIsIlN3aXRjaCIsIl9BcmciLCJfQXJyYXlUb0xpc3QiLCJfRnVzZWRCYXRjaE5vcm1FeCIsIl9MaXN0VG9BcnJheSIsIl9QYXJhbGxlbENvbmNhdFVwZGF0ZSIsIl9SZWN2VFBVRW1iZWRkaW5nQWN0aXZhdGlvbnMiLCJfUmVjdlRQVUVtYmVkZGluZ0RlZHVwbGljYXRpb25EYXRhIiwiX1JldHZhbCIsIl9TZW5kVFBVRW1iZWRkaW5nR3JhZGllbnRzIiwiX1RQVUNvbXBpbGUiLCJfVFBVRXhlY3V0ZSIsIl9VbmFyeU9wc0NvbXBvc2l0aW9uIiwiVFBVQ29tcGlsYXRpb25SZXN1bHQiLCJUUFVSZXBsaWNhdGVkSW5wdXQiLCJUUFVSZXBsaWNhdGVkT3V0cHV0IiwiVFBVUmVwbGljYXRlTWV0YWRhdGEiLCJNZXJnZVYyQ2hlY2twb2ludHMiLCJSZXN0b3JlVjIiLCJTYXZlVjIiLCJBYm9ydCIsIkFzc2VydCIsIkFzc2lnbiIsIlBsYWNlaG9sZGVyIiwiUGxhY2Vob2xkZXJWMiIsIlNoYXJkZWRGaWxlbmFtZSIsIlN0cmluZ0pvaW4iLCJWYXJpYWJsZSIsIlZhcmlhYmxlVjIiLCJWYXJIYW5kbGVPcCIsIkF1ZGlvU3VtbWFyeSIsIkF1ZGlvU3VtbWFyeVYyIiwiRGVidWdOdW1lcmljU3VtbWFyeSIsIkhpc3RvZ3JhbVN1bW1hcnkiLCJJbWFnZVN1bW1hcnkiLCJNZXJnZVN1bW1hcnkiLCJTY2FsYXJTdW1tYXJ5IiwiU3RhdHNBZ2dyZWdhdG9yU3VtbWFyeSJdO2xldCBpSnQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9yYXdSZWdleElucHV0PSIiLHRoaXMuX3ByZXZpb3VzUmVnZXhJbnB1dD0iIix0aGlzLl9zZWFyY2hUaW1lb3V0RGVsYXk9MTUwLHRoaXMuX21heFJlZ2V4UmVzdWx0cz00Mn1nZXQgX3JlZ2V4SW5wdXQoKXtyZXR1cm4gdGhpcy5fcmF3UmVnZXhJbnB1dC50cmltKCl9X3JlZ2V4SW5wdXRDaGFuZ2VkKCl7dGhpcy5fcmVxdWVzdFNlYXJjaCgpfV9jbGVhclNlYXJjaFJlc3VsdHMoKXt0aGlzLnNldCgiX3JlZ2V4TWF0Y2hlcyIsW10pfV9yZXF1ZXN0U2VhcmNoKCl7dGhpcy5fc2VhcmNoUGVuZGluZ3x8KHRoaXMuX3JlZ2V4SW5wdXQhPT10aGlzLl9wcmV2aW91c1JlZ2V4SW5wdXQ/KHRoaXMuX3NlYXJjaFBlbmRpbmc9ITAsdGhpcy5fZXhlY3V0ZVNlYXJjaCgpLHRoaXMuYXN5bmMoKCgpPT57dGhpcy5fc2VhcmNoUGVuZGluZz0hMSx0aGlzLl9yZXF1ZXN0U2VhcmNoKCl9KSx0aGlzLl9zZWFyY2hUaW1lb3V0RGVsYXkpKTp0aGlzLl9zZWFyY2hQZW5kaW5nPSExKX1fZXhlY3V0ZVNlYXJjaCgpe2lmKHRoaXMuX3ByZXZpb3VzUmVnZXhJbnB1dD10aGlzLl9yZWdleElucHV0LCF0aGlzLl9yZWdleElucHV0KXJldHVybiB2b2lkIHRoaXMuX2NsZWFyU2VhcmNoUmVzdWx0cygpO3RyeXt2YXIgdD1uZXcgUmVnRXhwKHRoaXMuX3JlZ2V4SW5wdXQpfWNhdGNoKHQpe3JldHVybiB2b2lkIHRoaXMuX2NsZWFyU2VhcmNoUmVzdWx0cygpfWNvbnN0IGU9W10sbj10aGlzLnJlbmRlckhpZXJhcmNoeS5oaWVyYXJjaHkuZ2V0Tm9kZU1hcCgpO0NlLmV4cG9ydHMuZWFjaChuLCgobixpKT0+e2lmKGUubGVuZ3RoPj10aGlzLl9tYXhSZWdleFJlc3VsdHMpcmV0dXJuITE7dC50ZXN0KGkpJiZlLnB1c2goaSl9KSksdGhpcy5zZXQoIl9yZWdleE1hdGNoZXMiLGUpfV9tYXRjaENsaWNrZWQodCl7dGhpcy5zZXQoInNlbGVjdGVkTm9kZSIsdC5tb2RlbC5pdGVtKSxoJHQoe2FjdGlvbklkOkJBdC5OT0RFX1NFQVJDSF9SRVNVTFRfRk9DVVNFRH0pfX07aUp0LnRlbXBsYXRlPXhlYAogICAgPGRpdiBpZD0ic2VhcmNoLWNvbnRhaW5lciI+CiAgICAgIDxwYXBlci1pbnB1dAogICAgICAgIGlkPSJydW5zLXJlZ2V4IgogICAgICAgIGxhYmVsPSJTZWFyY2ggbm9kZXMgKHJlZ2V4KSIKICAgICAgICB2YWx1ZT0ie3tfcmF3UmVnZXhJbnB1dH19IgogICAgICA+CiAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgIDxkaXYgaWQ9InNlYXJjaC1yZXN1bHRzLWFuY2hvciI+CiAgICAgICAgPGRpdiBpZD0ic2VhcmNoLXJlc3VsdHMiPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfcmVnZXhNYXRjaGVzXV0iPgogICAgICAgICAgICA8ZGl2IGlkPSJzZWFyY2gtbWF0Y2giIG9uLWNsaWNrPSJfbWF0Y2hDbGlja2VkIj5bW2l0ZW1dXTwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgI3NlYXJjaC1jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgICB9CgogICAgICAjcnVucy1yZWdleCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNzZWFyY2gtcmVzdWx0cy1hbmNob3IgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgI3NlYXJjaC1yZXN1bHRzIHsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgICNzZWFyY2gtbWF0Y2ggewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIHBhZGRpbmc6IDNweDsKICAgICAgICBmbG9hdDogcmlnaHQ7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBkaXJlY3Rpb246IHJ0bDsKICAgICAgfQoKICAgICAgI3NlYXJjaC1tYXRjaDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItb3JhbmdlLXdlYWspOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGlKdC5wcm90b3R5cGUsInJlbmRlckhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0saUp0LnByb3RvdHlwZSwic2VsZWN0ZWROb2RlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGlKdC5wcm90b3R5cGUsIl9yYXdSZWdleElucHV0Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGlKdC5wcm90b3R5cGUsIl9wcmV2aW91c1JlZ2V4SW5wdXQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0saUp0LnByb3RvdHlwZSwiX3NlYXJjaFRpbWVvdXREZWxheSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGlKdC5wcm90b3R5cGUsIl9zZWFyY2hQZW5kaW5nIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGlKdC5wcm90b3R5cGUsIl9tYXhSZWdleFJlc3VsdHMiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLGlKdC5wcm90b3R5cGUsIl9yZWdleE1hdGNoZXMiLHZvaWQgMCksdChbcygicmVuZGVySGllcmFyY2h5IiwiX3Jhd1JlZ2V4SW5wdXQiKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxpSnQucHJvdG90eXBlLCJfcmVnZXhJbnB1dCIsbnVsbCksdChbYSgiX3JlZ2V4SW5wdXQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGlKdC5wcm90b3R5cGUsIl9yZWdleElucHV0Q2hhbmdlZCIsbnVsbCksaUp0PXQoW2koInRmLWdyYXBoLW5vZGUtc2VhcmNoIildLGlKdCk7Y29uc3Qgckp0PS9kZXZpY2U6KFteOl0rOlswLTldKykkLyxvSnQ9W3tyZWdleDpySnR9XSxhSnQ9W10sc0p0PW5ldyBTZXQoW3JadC5DT01QVVRFX1RJTUUsclp0Lk1FTU9SWV0pO2xldCBsSnQ9Y2xhc3MgZXh0ZW5kcyhjcihnbCh3ZSkpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5Db2xvckJ5PXJadCx0aGlzLnN0YXRzPW51bGwsdGhpcy5kZXZpY2VzRm9yU3RhdHM9bnVsbCx0aGlzLmNvbG9yQnk9clp0LlNUUlVDVFVSRSx0aGlzLmRhdGFzZXRzPVtdLHRoaXMuX3NlbGVjdGVkUnVuSW5kZXg9MCx0aGlzLnRyYWNlSW5wdXRzPSExLHRoaXMuYXV0b0V4dHJhY3ROb2Rlcz0hMCx0aGlzLl9zZWxlY3RlZFRhZ0luZGV4PTAsdGhpcy5fc2VsZWN0ZWRHcmFwaFR5cGU9UVh0Lk9QX0dSQVBILHRoaXMuc2hvd1Nlc3Npb25SdW5zRHJvcGRvd249ITAsdGhpcy5zaG93VXBsb2FkQnV0dG9uPSEwLHRoaXMuX2xlZ2VuZE9wZW5lZD0hMCx0aGlzLl9kb3dubG9hZEZpbGVuYW1lPSJncmFwaC5wbmcifV9vbkdyYXBoVHlwZUNoYW5nZWRCeVVzZXJHZXN0dXJlKCl7aCR0KHthY3Rpb25JZDpCQXQuR1JBUEhfVFlQRV9DSEFOR0VELGV2ZW50TGFiZWw6dGhpcy5fc2VsZWN0ZWRHcmFwaFR5cGV9KX1fb25Db2xvckJ5Q2hhbmdlZEJ5VXNlckdlc3R1cmUoKXtoJHQoe2FjdGlvbklkOkJBdC5OT0RFX0NPTE9SX01PREVfQ0hBTkdFRCxldmVudExhYmVsOnRoaXMuY29sb3JCeX0pfV9vblRyYWNlSW5wdXRzQ2hhbmdlZEJ5VXNlckdlc3R1cmUoKXtoJHQoe2FjdGlvbklkOkJBdC5UUkFDRV9JTlBVVF9NT0RFX1RPR0dMRUR9KX1feGxhQ2x1c3RlcnNQcm92aWRlZCh0KXtyZXR1cm4gdCYmdC5oaWVyYXJjaHkmJnQuaGllcmFyY2h5LnhsYUNsdXN0ZXJzLmxlbmd0aD4wfV9zdGF0c0NoYW5nZWQodCl7aWYobnVsbCE9dCl7dmFyIGU9e307Q2UuZXhwb3J0cy5lYWNoKHQuZGV2X3N0YXRzLChmdW5jdGlvbih0KXt2YXIgbj1DZS5leHBvcnRzLnNvbWUob0p0LChmdW5jdGlvbihlKXtyZXR1cm4gZS5yZWdleC50ZXN0KHQuZGV2aWNlKX0pKSxpPUNlLmV4cG9ydHMuc29tZShhSnQsKGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlZ2V4LnRlc3QodC5kZXZpY2UpfSkpO24mJiFpJiYoZVt0LmRldmljZV09ITApfSkpLHRoaXMuc2V0KCJkZXZpY2VzRm9yU3RhdHMiLGUpfX1nZXQgX2N1cnJlbnREZXZpY2VzKCl7dmFyIHQ9dGhpcy5kZXZpY2VzRm9yU3RhdHM7Y29uc3QgZT10aGlzLnN0YXRzLG49KGU/ZS5kZXZfc3RhdHM6W10pLm1hcCgodD0+dC5kZXZpY2UpKS5maWx0ZXIoKHQ9Pm9KdC5zb21lKChlPT5lLnJlZ2V4LnRlc3QodCkpKSkpLGk9eCR0KG4pO2lmKDE9PWkubGVuZ3RoKXtjb25zdCB0PWlbMF0ubWF0Y2gockp0KTt0JiYoaVswXT10WzFdKX1yZXR1cm4gbi5tYXAoKChlLG4pPT57bGV0IHI9bnVsbDtyZXR1cm4gYUp0LmZvckVhY2goKHQ9Pnt0LnJlZ2V4LnRlc3QoZSkmJihyPXQubXNnKX0pKSx7ZGV2aWNlOmUsc3VmZml4Omlbbl0sdXNlZDp0W2VdLGlnbm9yZWRNc2c6cn19KSl9X2RldmljZUNoZWNrYm94Q2xpY2tlZCh0KXtjb25zdCBlPXQudGFyZ2V0LG49T2JqZWN0LmFzc2lnbih7fSx0aGlzLmRldmljZXNGb3JTdGF0cyksaT1lLnZhbHVlO2UuY2hlY2tlZD9uW2ldPSEwOmRlbGV0ZSBuW2ldLHRoaXMuc2V0KCJkZXZpY2VzRm9yU3RhdHMiLG4pfV9udW1UYWdzKHQsZSl7cmV0dXJuIHRoaXMuX2dldFRhZ3ModCxlKS5sZW5ndGh9X2dldFRhZ3ModCxlKXtyZXR1cm4gdCYmdFtlXT90W2VdLnRhZ3M6W119X2ZpdCgpe3RoaXMuZmlyZSgiZml0LXRhcCIpfV9pc0dyYWRpZW50Q29sb3JpbmcodCxlKXtyZXR1cm4gc0p0LmhhcyhlKSYmbnVsbCE9dH1fZXF1YWxzKHQsZSl7cmV0dXJuIHQ9PT1lfWdldCBfY3VycmVudERldmljZVBhcmFtcygpe2NvbnN0IHQ9dGhpcy5jb2xvckJ5UGFyYW1zLmRldmljZS5maWx0ZXIoKHQ9Pm9KdC5zb21lKChlPT5lLnJlZ2V4LnRlc3QodC5kZXZpY2UpKSkpKSxlPXgkdCh0Lm1hcCgodD0+dC5kZXZpY2UpKSk7aWYoMT09ZS5sZW5ndGgpe3ZhciBuPWVbMF0ubWF0Y2gockp0KTtuJiYoZVswXT1uWzFdKX1yZXR1cm4gdC5tYXAoKCh0LG4pPT4oe2RldmljZTplW25dLGNvbG9yOnQuY29sb3J9KSkpfWdldCBfY3VycmVudFhsYUNsdXN0ZXJQYXJhbXMoKXtyZXR1cm4gdGhpcy5jb2xvckJ5UGFyYW1zLnhsYV9jbHVzdGVyfWdldCBfY3VycmVudEdyYWRpZW50UGFyYW1zKCl7dmFyIHQ9dGhpcy5jb2xvckJ5UGFyYW1zLGU9dGhpcy5jb2xvckJ5O2lmKCF0aGlzLl9pc0dyYWRpZW50Q29sb3JpbmcodGhpcy5zdGF0cyxlKSlyZXR1cm47Y29uc3Qgbj10W2VdO2xldCBpPW4ubWluVmFsdWUscj1uLm1heFZhbHVlO3JldHVybiBlPT09clp0Lk1FTU9SWT8oaT12JHQoaSxfJHQpLHI9diR0KHIsXyR0KSk6ZT09PXJadC5DT01QVVRFX1RJTUUmJihpPXYkdChpLHkkdCkscj12JHQocix5JHQpKSx7bWluVmFsdWU6aSxtYXhWYWx1ZTpyLHN0YXJ0Q29sb3I6bi5zdGFydENvbG9yLGVuZENvbG9yOm4uZW5kQ29sb3J9fWRvd25sb2FkKCl7dGhpcy5maXJlKCJkb3dubG9hZC1pbWFnZS1yZXF1ZXN0ZWQiLHRoaXMuX2Rvd25sb2FkRmlsZW5hbWUpfV91cGRhdGVGaWxlSW5wdXQodCl7Y29uc3QgZT10LnRhcmdldC5maWxlc1swXTtpZighZSlyZXR1cm47bGV0IG49ZS5uYW1lO2NvbnN0IGk9bi5sYXN0SW5kZXhPZigiLiIpO2k+PTAmJihuPW4uc3Vic3RyaW5nKDAsaSkpO2NvbnN0IHI9bi5sYXN0SW5kZXhPZigiLyIpO3I+PTAmJihuPW4uc3Vic3RyaW5nKHIrMSkpLHRoaXMuX3NldERvd25sb2FkRmlsZW5hbWUobiksdGhpcy5zZXQoInNlbGVjdGVkRmlsZSIsdCksaCR0KHthY3Rpb25JZDpCQXQuVVBMT0FERURfR1JBUEhfRlJPTV9GSUxFU1lTVEVNfSl9X2RhdGFzZXRzQ2hhbmdlZCh0LGUpe3ZhciBuO251bGwhPWUmJih0aGlzLl9zZWxlY3RlZFJ1bkluZGV4PTApLHRoaXMuX3NldERvd25sb2FkRmlsZW5hbWUobnVsbD09PShuPXRoaXMuZGF0YXNldHNbdGhpcy5fc2VsZWN0ZWRSdW5JbmRleF0pfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLm5hbWUpfV9jb21wdXRlU2VsZWN0aW9uKHQsZSxuLGkpe3JldHVybiB0W2VdJiZ0W2VdLnRhZ3Nbbl0/e3J1bjp0W2VdLm5hbWUsdGFnOnRbZV0udGFnc1tuXS50YWcsdHlwZTppfTpudWxsfV9zZWxlY3RlZFJ1bkluZGV4Q2hhbmdlZCh0KXt2YXIgZTt0aGlzLmRhdGFzZXRzJiYodGhpcy5jb2xvckJ5PXJadC5TVFJVQ1RVUkUsdGhpcy5fc2VsZWN0ZWRUYWdJbmRleD0wLHRoaXMuX3NlbGVjdGVkR3JhcGhUeXBlPXRoaXMuX2dldERlZmF1bHRTZWxlY3Rpb25UeXBlKCksdGhpcy50cmFjZUlucHV0cz0hMSx0aGlzLl9zZXREb3dubG9hZEZpbGVuYW1lKG51bGw9PT0oZT10aGlzLmRhdGFzZXRzW3RdKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5uYW1lKSl9X3NlbGVjdGVkVGFnSW5kZXhDaGFuZ2VkKCl7dGhpcy5fc2VsZWN0ZWRHcmFwaFR5cGU9dGhpcy5fZ2V0RGVmYXVsdFNlbGVjdGlvblR5cGUoKX1fZ2V0RGVmYXVsdFNlbGVjdGlvblR5cGUoKXtjb25zdHtkYXRhc2V0czp0LF9zZWxlY3RlZFJ1bkluZGV4OmUsX3NlbGVjdGVkVGFnSW5kZXg6bn09dGhpcztpZighdHx8IXRbZV18fCF0W2VdLnRhZ3Nbbl18fHRbZV0udGFnc1tuXS5vcEdyYXBoKXJldHVybiBRWHQuT1BfR1JBUEg7Y29uc3QgaT10W2VdO3JldHVybiBpLnRhZ3Nbbl0ucHJvZmlsZT9RWHQuUFJPRklMRTppLnRhZ3Nbbl0uY29uY2VwdHVhbEdyYXBoP1FYdC5DT05DRVBUVUFMX0dSQVBIOlFYdC5PUF9HUkFQSH1fZ2V0RmlsZSgpe3RoaXMuJCQoIiNmaWxlIikuY2xpY2soKX1fc2V0RG93bmxvYWRGaWxlbmFtZSh0KXt0aGlzLl9kb3dubG9hZEZpbGVuYW1lPSh0fHwiZ3JhcGgiKSsiLnBuZyJ9X3N0YXRzTm90TnVsbCh0KXtyZXR1cm4gbnVsbCE9PXR9X3RvZ2dsZUxlZ2VuZE9wZW4oKXt0aGlzLnNldCgiX2xlZ2VuZE9wZW5lZCIsIXRoaXMuX2xlZ2VuZE9wZW5lZCl9X2dldFRvZ2dsZUxlZ2VuZEljb24odCl7cmV0dXJuIHQ/ImV4cGFuZC1tb3JlIjoiZXhwYW5kLWxlc3MifV9nZXRTZWxlY3Rpb25PcEdyYXBoRGlzYWJsZWQodCxlLG4pe3JldHVybiF0W2VdfHwhdFtlXS50YWdzW25dfHwhdFtlXS50YWdzW25dLm9wR3JhcGh9X2dldFNlbGVjdGlvblByb2ZpbGVEaXNhYmxlZCh0LGUsbil7cmV0dXJuIXRbZV18fCF0W2VdLnRhZ3Nbbl18fCF0W2VdLnRhZ3Nbbl0ucHJvZmlsZX1fZ2V0U2VsZWN0aW9uQ29uY2VwdHVhbEdyYXBoRGlzYWJsZWQodCxlLG4pe3JldHVybiF0W2VdfHwhdFtlXS50YWdzW25dfHwhdFtlXS50YWdzW25dLmNvbmNlcHR1YWxHcmFwaH19O2Z1bmN0aW9uIGNKdCh0KXtyZXR1cm4gbmV3IFByb21pc2UoKChlLG4pPT57ZmV0Y2godCkudGhlbigodD0+e3Qub2s/dC5hcnJheUJ1ZmZlcigpLnRoZW4oZSxuKTp0LnRleHQoKS50aGVuKG4sbil9KSl9KSl9ZnVuY3Rpb24gdUp0KHQsZSl7cmV0dXJuKGZ1bmN0aW9uIG4odCxlLGkscixvKXtyLnNldE1lc3NhZ2UodCk7dHJ5e2xldCBuPWQkdCh0LGksbyk7cmV0dXJuIHIudXBkYXRlUHJvZ3Jlc3MoZSksbn1jYXRjaChlKXtyLnJlcG9ydEVycm9yKCJGYWlsZWQgIit0LGUpfX0pKCJSZWFkaW5nIG1ldGFkYXRhIHBidHh0Iiw0MCwoKCk9Pm51bGw9PXQ/UHJvbWlzZS5yZXNvbHZlKG51bGwpOmNKdCh0KSksZSxCQXQuRkVUQ0hfTUVUQURBVEFfUEJUWFRfQllURVMpLnRoZW4oKHQ9PmckdCgiUGFyc2luZyBtZXRhZGF0YS5wYnR4dCIsNjAsKCgpPT5udWxsIT10PyhmdW5jdGlvbiBlKHQpe3JldHVybiBmSnQodCxwSnQpLnRoZW4oKHQ9PnQuc3RlcF9zdGF0cykpfSkodCk6UHJvbWlzZS5yZXNvbHZlKG51bGwpKSxlLEJBdC5QQVJTRV9NRVRBREFUQV9QQlRYVF9JTlRPX09CSkVDVCkpKX1mdW5jdGlvbiBoSnQodCxlLGkpe3JldHVybiBnJHQoIlJlYWRpbmcgZ3JhcGggcGJ0eHQiLDQwLCgoKT0+bih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0IG49RGF0ZS5ub3coKTtpZihlKXtjb25zdCB0PXlpZWxkIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LG4pe2xldCBpPW5ldyBGaWxlUmVhZGVyO2kub25sb2FkPSgpPT50KGkucmVzdWx0KSxpLm9uZXJyb3I9KCk9Pm4oaS5lcnJvciksaS5yZWFkQXNBcnJheUJ1ZmZlcihlKX0pKTtyZXR1cm4gaCR0KHt0aW1pbmdJZDpCQXQuRkVUQ0hfUEJUWFRfQllURVNfRlJPTV9GSUxFU1lTVEVNLGV2ZW50VmFsdWU6RGF0ZS5ub3coKS1ufSksdH1jb25zdCBpPXlpZWxkIGNKdCh0KTtyZXR1cm4gaCR0KHt0aW1pbmdJZDpCQXQuRkVUQ0hfUEJUWFRfQllURVNfRlJPTV9TRVJWRVIsZXZlbnRWYWx1ZTpEYXRlLm5vdygpLW59KSxpfSkpKSxpLEJBdC5GRVRDSF9QQlRYVF9CWVRFUykudGhlbigodD0+ZyR0KCJQYXJzaW5nIGdyYXBoLnBidHh0Iiw2MCwoKCk9PihmdW5jdGlvbiBlKHQpe3JldHVybiBmSnQodCxkSnQpfSkodCkpLGksQkF0LlBBUlNFX1BCVFhUX0lOVE9fT0JKRUNUKSkpfWxKdC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGNvbG9yOiAjNTU1OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgLS10Yi1ncmFwaC1jb250cm9scy10aXRsZS1jb2xvcjogIzAwMDsKICAgICAgICAtLXRiLWdyYXBoLWNvbnRyb2xzLWxlZ2VuZC10ZXh0LWNvbG9yOiAjMDAwOwogICAgICAgIC0tdGItZ3JhcGgtY29udHJvbHMtdGV4dC1jb2xvcjogIzU1NTsKICAgICAgICAtLXRiLWdyYXBoLWNvbnRyb2xzLXRpdGxlLWZvbnQtc2l6ZTogMTRweDsKICAgICAgICAtLXRiLWdyYXBoLWNvbnRyb2xzLXN1YnRpdGxlLWZvbnQtc2l6ZTogMTRweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1zaGFyZWQtaW5wdXQtc3R5bGVfLV9mb250LXNpemU6IDE0cHg7CiAgICAgICAgLS1wYXBlci1mb250LXN1YmhlYWRfLV9mb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KC5kYXJrLW1vZGUpIHsKICAgICAgICAtLXRiLWdyYXBoLWNvbnRyb2xzLXRpdGxlLWNvbG9yOiAjZmZmOwogICAgICAgIC0tdGItZ3JhcGgtY29udHJvbHMtbGVnZW5kLXRleHQtY29sb3I6ICNmM2YzZjM7CiAgICAgICAgLS10Yi1ncmFwaC1jb250cm9scy10ZXh0LWNvbG9yOiAjZWVlOwogICAgICB9CgogICAgICBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtaW5wdXQ6IHsKICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICBjb2xvcjogZ3JheTsKICAgICAgICB9CiAgICAgICAgLS1pcm9uLWljb24td2lkdGg6IDE1cHg7CiAgICAgICAgLS1pcm9uLWljb24taGVpZ2h0OiAxNXB4OwogICAgICAgIC0tcHJpbWFyeS10ZXh0LWNvbG9yOiBncmF5OwogICAgICAgIC0tcGFwZXItaXRlbS1taW4taGVpZ2h0OiAzMHB4OwogICAgICB9CgogICAgICBwYXBlci1idXR0b25bcmFpc2VkXS5rZXlib2FyZC1mb2N1cyB7CiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgfQoKICAgICAgLnJ1bi1kcm9wZG93biB7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXI6IHsKICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCA1cHg7CiAgICAgICAgfQogICAgICB9CgogICAgICB0YWJsZSB7CiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgICAgICBib3JkZXItc3BhY2luZzogMDsKICAgICAgfQoKICAgICAgdGFibGUgdHIgewogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgfQoKICAgICAgdGFibGUgdGQgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAuYWxsY29udHJvbHMgewogICAgICAgIHBhZGRpbmc6IDAgMjBweCAyMHB4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICAubGVnZW5kLWhvbGRlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3IpOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLWdyYXBoLWNvbnRyb2xzLXRleHQtY29sb3IpOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAubGVnZW5kLXRvb2xiYXIgewogICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYzsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsKICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1ncmFwaC1jb250cm9scy1sZWdlbmQtdGV4dC1jb2xvcik7CiAgICAgICAgZm9udDogaW5oZXJpdDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAubGVnZW5kLXRvb2xiYXIsCiAgICAgIC5sZWdlbmQtY29udGVudCB7CiAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtbGVnZW5kLWJ1dHRvbiB7CiAgICAgICAgbWF4LWhlaWdodDogMjBweDsKICAgICAgICBtYXgtd2lkdGg6IDIwcHg7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1sZWdlbmQtdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS10Yi1ncmFwaC1jb250cm9scy1zdWJ0aXRsZS1mb250LXNpemUpOwogICAgICB9CgogICAgICBwYXBlci1yYWRpby1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDVweDsKICAgICAgfQogICAgICBzdmcuaWNvbiwKICAgICAgdGYtZ3JhcGgtaWNvbiB7CiAgICAgICAgd2lkdGg6IDYwcHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICB9CiAgICAgIC5kb21haW5WYWx1ZXMgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgd2lkdGg6IDE2NXB4OwogICAgICB9CiAgICAgIC5kb21haW5TdGFydCB7CiAgICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgIH0KICAgICAgLmRvbWFpbkVuZCB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICB9CiAgICAgIC5jb2xvckJveCB7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5pbWFnZS1pY29uIHsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5oZWxwLWljb24gewogICAgICAgIGhlaWdodDogMTVweDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLmdyYXkgewogICAgICAgIGNvbG9yOiAjNjY2OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGItZ3JhcGgtY29udHJvbHMtdGl0bGUtZm9udC1zaXplKTsKICAgICAgICBtYXJnaW46IDhweCA1cHggOHB4IDA7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLWdyYXBoLWNvbnRyb2xzLXRpdGxlLWNvbG9yKTsKICAgICAgfQogICAgICAudGl0bGUgc21hbGwgewogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIH0KICAgICAgLmRldmljZUxpc3QsCiAgICAgIC54bGFDbHVzdGVyTGlzdCB7CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQoKICAgICAgI2ZpbGUgewogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICB9CgogICAgICAuY29sb3ItbGVnZW5kLXJvdyB7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBjbGVhcjogYm90aDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgIH0KCiAgICAgIC5jb2xvci1sZWdlbmQtcm93IC5sYWJlbCwKICAgICAgLmNvbG9yLWxlZ2VuZC1yb3cgc3ZnLAogICAgICAuY29sb3ItbGVnZW5kLXJvdyB0Zi1ncmFwaC1pY29uIHsKICAgICAgICBmbGV4OiAwIDAgNDBweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5kZXZpY2VzLWNoZWNrYm94IGlucHV0IHsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC5jb250cm9sLWhvbGRlciAuaWNvbi1idXR0b24gewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGItZ3JhcGgtY29udHJvbHMtc3VidGl0bGUtZm9udC1zaXplKTsKICAgICAgICBtYXJnaW46IDAgLTVweDsKICAgICAgICBwYWRkaW5nOiA1cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLWdyYXBoLWNvbnRyb2xzLXRleHQtY29sb3IpOwogICAgICB9CgogICAgICAuYnV0dG9uLXRleHQgewogICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgfQoKICAgICAgLnVwbG9hZC1idXR0b24gewogICAgICAgIHdpZHRoOiAxNjVweDsKICAgICAgICBoZWlnaHQ6IDI1cHg7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICB9CgogICAgICAuYnV0dG9uLWljb24gewogICAgICAgIHdpZHRoOiAyNnB4OwogICAgICAgIGhlaWdodDogMjZweDsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItb3JhbmdlLTUwMCk7CiAgICAgIH0KCiAgICAgIC5oaWRkZW4taW5wdXQgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5hbGxjb250cm9scyAuY29udHJvbC1ob2xkZXIgewogICAgICAgIGNsZWFyOiBib3RoOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICB9CgogICAgICAuYWxsY29udHJvbHMgLmNvbnRyb2wtaG9sZGVyLmNvbnRyb2wtb3B0aW9ucyB7CiAgICAgICAgcGFkZGluZzogMCAwIDE1cHggMTVweDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICAuYWxsY29udHJvbHMgLmNvbnRyb2wtaG9sZGVyIHBhcGVyLXRvZ2dsZS1idXR0b24gewogICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgfQoKICAgICAgc3Bhbi5jb3VudGVyIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXRiLWdyYXBoLWNvbnRyb2xzLXN1YnRpdGxlLWZvbnQtc2l6ZSk7CiAgICAgICAgY29sb3I6IGdyYXk7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsKICAgICAgfQoKICAgICAgLnJ1bnMtcm93IC50aXRsZSwKICAgICAgLnRhZ3Mtcm93IC50aXRsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgIH0KCiAgICAgIC5ydW5zLXJvdyBwYXBlci1pdGVtLAogICAgICAudGFncy1yb3cgcGFwZXItaXRlbSB7CiAgICAgICAgLS1wYXBlci1pdGVtOiB7CiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdGFibGUuY29udHJvbC1ob2xkZXIgewogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgICB9CgogICAgICB0YWJsZS50Zi1ncmFwaC1jb250cm9scyB0ZC5pbnB1dC1lbGVtZW50LXRhYmxlLWRhdGEgewogICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7CiAgICAgIH0KCiAgICAgIC5zcGFjZXIgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQoKICAgICAgLmNvbG9yLXRleHQgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5jb2xvci10ZXh0LmdyYWRpZW50LWNvbnRhaW5lciB7CiAgICAgICAgbWFyZ2luOiAwIDVweDsKICAgICAgfQoKICAgICAgLyoqIE92ZXJyaWRlIGlubGluZSBzdHlsZXMgdGhhdCBzdXBwcmVzcyBwb2ludGVyIGV2ZW50cyBmb3IgZGlzYWJsZWQgYnV0dG9ucy4gT3RoZXJ3aXNlLCB0aGUgKi8KICAgICAgLyogIHRvb2x0aXBzIGRvIG5vdCBhcHBlYXIuICovCiAgICAgIHBhcGVyLXJhZGlvLWdyb3VwIHBhcGVyLXJhZGlvLWJ1dHRvbiB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmxlZ2VuZC1jbGFyaWZpZXIgewogICAgICAgIGNvbG9yOiAjMjY2MjM2OwogICAgICAgIGN1cnNvcjogaGVscDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5sZWdlbmQtY2xhcmlmaWVyIHBhcGVyLXRvb2x0aXAgewogICAgICAgIHdpZHRoOiAxNTBweDsKICAgICAgfQoKICAgICAgLyoqIE90aGVyd2lzZSwgcG9seW1lciBVSSBjb250cm9scyBhcHBlYXIgYXRvcCBub2RlIHNlYXJjaC4gKi8KICAgICAgdGYtZ3JhcGgtbm9kZS1zZWFyY2ggewogICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJhbGxjb250cm9scyI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtaG9sZGVyIj4KICAgICAgICA8dGYtZ3JhcGgtbm9kZS1zZWFyY2gKICAgICAgICAgIHNlbGVjdGVkLW5vZGU9Int7c2VsZWN0ZWROb2RlfX0iCiAgICAgICAgICByZW5kZXItaGllcmFyY2h5PSJbW3JlbmRlckhpZXJhcmNoeV1dIgogICAgICAgID48L3RmLWdyYXBoLW5vZGUtc2VhcmNoPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIiPgogICAgICAgIDxwYXBlci1idXR0b24gY2xhc3M9Imljb24tYnV0dG9uIiBvbi10YXA9Il9maXQiIGFsdD0iRml0IHRvIHNjcmVlbiI+CiAgICAgICAgICA8aXJvbi1pY29uIGljb249ImFzcGVjdC1yYXRpbyIgY2xhc3M9ImJ1dHRvbi1pY29uIj48L2lyb24taWNvbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJidXR0b24tdGV4dCI+Rml0IHRvIHNjcmVlbjwvc3Bhbj4KICAgICAgICA8L3BhcGVyLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtaG9sZGVyIj4KICAgICAgICA8cGFwZXItYnV0dG9uCiAgICAgICAgICBjbGFzcz0iaWNvbi1idXR0b24iCiAgICAgICAgICBvbi1jbGljaz0iZG93bmxvYWQiCiAgICAgICAgICBhbHQ9IkRvd25sb2FkIFBORyIKICAgICAgICA+CiAgICAgICAgICA8aXJvbi1pY29uIGljb249ImZpbGUtZG93bmxvYWQiIGNsYXNzPSJidXR0b24taWNvbiI+PC9pcm9uLWljb24+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iYnV0dG9uLXRleHQiPkRvd25sb2FkIFBORzwvc3Bhbj4KICAgICAgICA8L3BhcGVyLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tzaG93VXBsb2FkQnV0dG9uXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtaG9sZGVyIj4KICAgICAgICAgIDxwYXBlci1idXR0b24KICAgICAgICAgICAgY2xhc3M9Imljb24tYnV0dG9uIgogICAgICAgICAgICBvbi1jbGljaz0iX2dldEZpbGUiCiAgICAgICAgICAgIGFsdD0iVXBsb2FkIGZpbGUiCiAgICAgICAgICAgIHRpdGxlPSJVcGxvYWQgYSBwYnR4dCBmaWxlIHRvIHZpZXcgYSBncmFwaCBmcm9tIHRoZSBsb2NhbCBmaWxlc3lzdGVtIgogICAgICAgICAgPgogICAgICAgICAgICA8aXJvbi1pY29uIGljb249ImZpbGUtdXBsb2FkIiBjbGFzcz0iYnV0dG9uLWljb24iPjwvaXJvbi1pY29uPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYnV0dG9uLXRleHQiPlVwbG9hZCBmaWxlPC9zcGFuPgogICAgICAgICAgPC9wYXBlci1idXR0b24+CgogICAgICAgICAgPGRpdiBjbGFzcz0iaGlkZGVuLWlucHV0Ij4KICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgdHlwZT0iZmlsZSIKICAgICAgICAgICAgICBpZD0iZmlsZSIKICAgICAgICAgICAgICBuYW1lPSJmaWxlIgogICAgICAgICAgICAgIG9uLWNoYW5nZT0iX3VwZGF0ZUZpbGVJbnB1dCIKICAgICAgICAgICAgICBhY2NlcHQ9Ii5wYnR4dCIKICAgICAgICAgICAgLz4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWhvbGRlciBydW5zLXJvdyI+CiAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPgogICAgICAgICAgUnVuIDxzcGFuIGNsYXNzPSJjb3VudGVyIj4oW1tkYXRhc2V0cy5sZW5ndGhdXSk8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUKICAgICAgICAgIG5vLWxhYmVsLWZsb2F0CiAgICAgICAgICBuby1hbmltYXRpb25zCiAgICAgICAgICBub2luawogICAgICAgICAgaG9yaXpvbnRhbC1hbGlnbj0ibGVmdCIKICAgICAgICAgIGNsYXNzPSJydW4tZHJvcGRvd24iCiAgICAgICAgPgogICAgICAgICAgPHBhcGVyLWxpc3Rib3gKICAgICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICAgIHNlbGVjdGVkPSJ7e19zZWxlY3RlZFJ1bkluZGV4fX0iCiAgICAgICAgICAgIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICA+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbZGF0YXNldHNdXSI+CiAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+W1tpdGVtLm5hbWVdXTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgIDwvZGl2PgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Iltbc2hvd1Nlc3Npb25SdW5zRHJvcGRvd25dXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIgdGFncy1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPgogICAgICAgICAgICBUYWcKICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvdW50ZXIiCiAgICAgICAgICAgICAgPihbW19udW1UYWdzKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCldXSk8L3NwYW4KICAgICAgICAgICAgPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8cGFwZXItZHJvcGRvd24tbWVudQogICAgICAgICAgICBuby1sYWJlbC1mbG9hdAogICAgICAgICAgICBuby1hbmltYXRpb25zCiAgICAgICAgICAgIGhvcml6b250YWwtYWxpZ249ImxlZnQiCiAgICAgICAgICAgIG5vaW5rCiAgICAgICAgICAgIGNsYXNzPSJydW4tZHJvcGRvd24iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxwYXBlci1saXN0Ym94CiAgICAgICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICAgICAgc2VsZWN0ZWQ9Int7X3NlbGVjdGVkVGFnSW5kZXh9fSIKICAgICAgICAgICAgICBzbG90PSJkcm9wZG93bi1jb250ZW50IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHRlbXBsYXRlCiAgICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICAgIGl0ZW1zPSJbW19nZXRUYWdzKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCldXSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5bW2l0ZW0uZGlzcGxheU5hbWVdXTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5HcmFwaCB0eXBlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtaG9sZGVyIGNvbnRyb2wtb3B0aW9ucyI+CiAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwCiAgICAgICAgICBzZWxlY3RlZD0ie3tfc2VsZWN0ZWRHcmFwaFR5cGV9fSIKICAgICAgICAgIG9uLXBhcGVyLXJhZGlvLWdyb3VwLWNoYW5nZWQ9Il9vbkdyYXBoVHlwZUNoYW5nZWRCeVVzZXJHZXN0dXJlIgogICAgICAgID4KICAgICAgICAgIDwhLS0gTm90ZSB0aGF0IHRoZSBuYW1lIGhhcyB0byBtYXRjaCB0aGF0IG9mIHRmX2dyYXBoX2NvbW1vbi5TZWxlY3Rpb25UeXBlLiAtLT4KICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24KICAgICAgICAgICAgbmFtZT0ib3BfZ3JhcGgiCiAgICAgICAgICAgIGRpc2FibGVkPSJbW19nZXRTZWxlY3Rpb25PcEdyYXBoRGlzYWJsZWQoZGF0YXNldHMsIF9zZWxlY3RlZFJ1bkluZGV4LCBfc2VsZWN0ZWRUYWdJbmRleCldXSIKICAgICAgICAgICAgPk9wIGdyYXBoPC9wYXBlci1yYWRpby1idXR0b24KICAgICAgICAgID4KICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24KICAgICAgICAgICAgbmFtZT0iY29uY2VwdHVhbF9ncmFwaCIKICAgICAgICAgICAgZGlzYWJsZWQ9IltbX2dldFNlbGVjdGlvbkNvbmNlcHR1YWxHcmFwaERpc2FibGVkKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCwgX3NlbGVjdGVkVGFnSW5kZXgpXV0iCiAgICAgICAgICAgID5Db25jZXB0dWFsIGdyYXBoPC9wYXBlci1yYWRpby1idXR0b24KICAgICAgICAgID4KICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24KICAgICAgICAgICAgbmFtZT0icHJvZmlsZSIKICAgICAgICAgICAgZGlzYWJsZWQ9IltbX2dldFNlbGVjdGlvblByb2ZpbGVEaXNhYmxlZChkYXRhc2V0cywgX3NlbGVjdGVkUnVuSW5kZXgsIF9zZWxlY3RlZFRhZ0luZGV4KV1dIgogICAgICAgICAgICA+UHJvZmlsZTwvcGFwZXItcmFkaW8tYnV0dG9uCiAgICAgICAgICA+CiAgICAgICAgPC9wYXBlci1yYWRpby1ncm91cD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5Ob2RlIG9wdGlvbnM8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIgY29udHJvbC1vcHRpb25zIj4KICAgICAgICA8cGFwZXItdG9nZ2xlLWJ1dHRvbgogICAgICAgICAgY2hlY2tlZD0ie3t0cmFjZUlucHV0c319IgogICAgICAgICAgb24tY2hhbmdlPSJfb25UcmFjZUlucHV0c0NoYW5nZWRCeVVzZXJHZXN0dXJlIgogICAgICAgID4KICAgICAgICAgIFRyYWNlIGlucHV0cwogICAgICAgIDwvcGFwZXItdG9nZ2xlLWJ1dHRvbj4KICAgICAgICA8cGFwZXItdG9nZ2xlLWJ1dHRvbiBjaGVja2VkPSJ7e2F1dG9FeHRyYWN0Tm9kZXN9fSI+CiAgICAgICAgICBBdXRvLWV4dHJhY3QgaGlnaC1kZWdyZWUgbm9kZXMKICAgICAgICA8L3BhcGVyLXRvZ2dsZS1idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbaGVhbHRoUGlsbHNGZWF0dXJlRW5hYmxlZF1dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWhvbGRlciI+CiAgICAgICAgICA8cGFwZXItdG9nZ2xlLWJ1dHRvbiBjaGVja2VkPSJ7e2hlYWx0aFBpbGxzVG9nZ2xlZE9ufX0iCiAgICAgICAgICAgID5TaG93IGhlYWx0aCBwaWxsczwvcGFwZXItdG9nZ2xlLWJ1dHRvbgogICAgICAgICAgPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+Q29sb3IgYnk8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIgY29udHJvbC1vcHRpb25zIj4KICAgICAgICA8cGFwZXItcmFkaW8tZ3JvdXAKICAgICAgICAgIHNlbGVjdGVkPSJ7e2NvbG9yQnl9fSIKICAgICAgICAgIG9uLXBhcGVyLXJhZGlvLWdyb3VwLWNoYW5nZWQ9Il9vbkNvbG9yQnlDaGFuZ2VkQnlVc2VyR2VzdHVyZSIKICAgICAgICA+CiAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIG5hbWU9IltbQ29sb3JCeS5OT05FXV0iPk5vbmU8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KCiAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIG5hbWU9IltbQ29sb3JCeS5TVFJVQ1RVUkVdXSIKICAgICAgICAgICAgPlN0cnVjdHVyZTwvcGFwZXItcmFkaW8tYnV0dG9uCiAgICAgICAgICA+CgogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJbW0NvbG9yQnkuREVWSUNFXV0iCiAgICAgICAgICAgID5EZXZpY2U8L3BhcGVyLXJhZGlvLWJ1dHRvbgogICAgICAgICAgPgoKICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24KICAgICAgICAgICAgaWQ9InhsYS1jbHVzdGVyLXJhZGlvLWJ1dHRvbiIKICAgICAgICAgICAgbmFtZT0iW1tDb2xvckJ5LlhMQV9DTFVTVEVSXV0iCiAgICAgICAgICAgIGRpc2FibGVkPSJbWyFfeGxhQ2x1c3RlcnNQcm92aWRlZChyZW5kZXJIaWVyYXJjaHkpXV0iCiAgICAgICAgICA+CiAgICAgICAgICAgIFhMQSBjbHVzdGVyCiAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgIDxwYXBlci10b29sdGlwCiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheT0iMCIKICAgICAgICAgICAgZm9yPSJ4bGEtY2x1c3Rlci1yYWRpby1idXR0b24iCiAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgPgogICAgICAgICAgICBDb2xvcmluZyBieSBYTEEgY2x1c3RlciBpcyBvbmx5IGVuYWJsZWQgaWYgYXQgbGVhc3QgMSBvcCBzcGVjaWZpZXMKICAgICAgICAgICAgYW4gWExBIGNsdXN0ZXIuCiAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CgogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbgogICAgICAgICAgICBpZD0iY29tcHV0ZS10aW1lLXJhZGlvLWJ1dHRvbiIKICAgICAgICAgICAgbmFtZT0iW1tDb2xvckJ5LkNPTVBVVEVfVElNRV1dIgogICAgICAgICAgICBkaXNhYmxlZD0iW1shc3RhdHNdXSIKICAgICAgICAgID4KICAgICAgICAgICAgQ29tcHV0ZSB0aW1lCiAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgIDxwYXBlci10b29sdGlwCiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheT0iMCIKICAgICAgICAgICAgZm9yPSJjb21wdXRlLXRpbWUtcmFkaW8tYnV0dG9uIgogICAgICAgICAgICBwb3NpdGlvbj0icmlnaHQiCiAgICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgID4KICAgICAgICAgICAgQ29sb3JpbmcgYnkgY29tcHV0ZSB0aW1lIGlzIG9ubHkgZW5hYmxlZCBpZiB0aGUgUnVuTWV0YWRhdGEgcHJvdG8gaXMKICAgICAgICAgICAgcGFzc2VkIHRvIHRoZSBGaWxlV3JpdGVyIHdoZW4gYSBzcGVjaWZpYyBzZXNzaW9uIGlzIHJ1bi4KICAgICAgICAgIDwvcGFwZXItdG9vbHRpcD4KCiAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uCiAgICAgICAgICAgIGlkPSJtZW1vcnktcmFkaW8tYnV0dG9uIgogICAgICAgICAgICBuYW1lPSJbW0NvbG9yQnkuTUVNT1JZXV0iCiAgICAgICAgICAgIGRpc2FibGVkPSJbWyFzdGF0c11dIgogICAgICAgICAgPgogICAgICAgICAgICBNZW1vcnkKICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICBmb3I9Im1lbW9yeS1yYWRpby1idXR0b24iCiAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgPgogICAgICAgICAgICBDb2xvcmluZyBieSBtZW1vcnkgaXMgb25seSBlbmFibGVkIGlmIHRoZSBSdW5NZXRhZGF0YSBwcm90byBpcwogICAgICAgICAgICBwYXNzZWQgdG8gdGhlIEZpbGVXcml0ZXIgd2hlbiBhIHNwZWNpZmljIHNlc3Npb24gaXMgcnVuLgogICAgICAgICAgPC9wYXBlci10b29sdGlwPgoKICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24KICAgICAgICAgICAgaWQ9InRwdS1jb21wYXRpYmlsaXR5LXJhZGlvLWJ1dHRvbiIKICAgICAgICAgICAgbmFtZT0iW1tDb2xvckJ5Lk9QX0NPTVBBVElCSUxJVFldXSIKICAgICAgICAgID4KICAgICAgICAgICAgVFBVIGNvbXBhdGliaWxpdHkKICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICBmb3I9InRwdS1jb21wYXRpYmlsaXR5LXJhZGlvLWJ1dHRvbiIKICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgICA+CiAgICAgICAgICAgIENvbG9yaW5nIGJ5IHdoZXRoZXIgYW4gb3BlcmF0aW9uIGlzIGNvbXBhdGlibGUgZm9yIHRoZSBUUFUgZGV2aWNlLgogICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgIDwvcGFwZXItcmFkaW8tZ3JvdXA+CiAgICAgICAgPHNwYW4gY2xhc3M9InNwYWNlciI+PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibGVnZW5kLWhvbGRlciI+CiAgICAgIDxidXR0b24gY2xhc3M9ImxlZ2VuZC10b29sYmFyIiBvbi1jbGljaz0iX3RvZ2dsZUxlZ2VuZE9wZW4iPgogICAgICAgIDxzcGFuIGNsYXNzPSJ0b2dnbGUtbGVnZW5kLXRleHQiPkxlZ2VuZDwvc3Bhbj4KICAgICAgICA8aXJvbi1pY29uCiAgICAgICAgICBpY29uPSJbW19nZXRUb2dnbGVMZWdlbmRJY29uKF9sZWdlbmRPcGVuZWQpXV0iCiAgICAgICAgICBjbGFzcz0idG9nZ2xlLWxlZ2VuZC1idXR0b24iCiAgICAgICAgPgogICAgICAgIDwvaXJvbi1pY29uPgogICAgICA8L2J1dHRvbj4KICAgICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJbW19sZWdlbmRPcGVuZWRdXSIgY2xhc3M9ImxlZ2VuZC1jb250ZW50Ij4KICAgICAgICA8IS0tIENvbG9yLW1vZGUtc3BlY2lmaWMgbGVnZW5kIGl0ZW1zIC0tPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzR3JhZGllbnRDb2xvcmluZyhzdGF0cywgY29sb3JCeSldXSI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0MCIgaGVpZ2h0PSIyMCIgY2xhc3M9ImNvbG9yLXRleHQgZ3JhZGllbnQtY29udGFpbmVyIj4KICAgICAgICAgICAgICA8ZGVmcz4KICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgICAgICAgICAgICBpZD0ibGluZWFyR3JhZGllbnQiCiAgICAgICAgICAgICAgICAgIHgxPSIwJSIKICAgICAgICAgICAgICAgICAgeTE9IjAlIgogICAgICAgICAgICAgICAgICB4Mj0iMTAwJSIKICAgICAgICAgICAgICAgICAgeTI9IjAlIgogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICA8c3RvcAogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzdGFydCIKICAgICAgICAgICAgICAgICAgICBvZmZzZXQ9IjAlIgogICAgICAgICAgICAgICAgICAgIHN0b3AtY29sb3IkPSJbW19jdXJyZW50R3JhZGllbnRQYXJhbXMuc3RhcnRDb2xvcl1dIgogICAgICAgICAgICAgICAgICA+PC9zdG9wPgogICAgICAgICAgICAgICAgICA8c3RvcAogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJlbmQiCiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIxMDAlIgogICAgICAgICAgICAgICAgICAgIHN0b3AtY29sb3IkPSJbW19jdXJyZW50R3JhZGllbnRQYXJhbXMuZW5kQ29sb3JdXSIKICAgICAgICAgICAgICAgICAgPjwvc3RvcD4KICAgICAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgICAgICAgPC9kZWZzPgogICAgICAgICAgICAgIDxyZWN0CiAgICAgICAgICAgICAgICB4PSIwIgogICAgICAgICAgICAgICAgeT0iMCIKICAgICAgICAgICAgICAgIHdpZHRoPSIxMzUiCiAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwIgogICAgICAgICAgICAgICAgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudCkiCiAgICAgICAgICAgICAgICBzdHJva2U9ImJsYWNrIgogICAgICAgICAgICAgID48L3JlY3Q+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkb21haW5WYWx1ZXMgY29sb3ItdGV4dCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG9tYWluU3RhcnQiPltbX2N1cnJlbnRHcmFkaWVudFBhcmFtcy5taW5WYWx1ZV1dPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG9tYWluRW5kIj5bW19jdXJyZW50R3JhZGllbnRQYXJhbXMubWF4VmFsdWVdXTwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGJyIHN0eWxlPSJjbGVhcjogYm90aCIgLz4KICAgICAgICAgICAgPGRpdj5EZXZpY2VzIGluY2x1ZGVkIGluIHN0YXRzOjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXZpY2VMaXN0Ij4KICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jdXJyZW50RGV2aWNlc11dIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3cgZGV2aWNlcy1jaGVja2JveCI+CiAgICAgICAgICAgICAgICAgIDxzcGFuCiAgICAgICAgICAgICAgICAgICAgPjxpbnB1dAogICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2hlY2tib3giCiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSQ9IltbaXRlbS5kZXZpY2VdXSIKICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQkPSJbW2l0ZW0udXNlZF1dIgogICAgICAgICAgICAgICAgICAgICAgb24tY2xpY2s9Il9kZXZpY2VDaGVja2JveENsaWNrZWQiCiAgICAgICAgICAgICAgICAgIC8+PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3Bhbj5bW2l0ZW0uc3VmZml4XV08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tpdGVtLmlnbm9yZWRNc2ddXSI+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgICAgICAgICAgICAgICBpY29uPSJoZWxwIgogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImhlbHAtaWNvbiIKICAgICAgICAgICAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcAogICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICAgICAgPltbaXRlbS5pZ25vcmVkTXNnXV08L3BhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2VxdWFscyhjb2xvckJ5LCAnc3RydWN0dXJlJyldXSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLXRleHQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIj4gY29sb3JzIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1sZWdlbmQtdmFsdWUiPnNhbWUgc3Vic3RydWN0dXJlPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICAgICAgPHRmLWdyYXBoLWljb24KICAgICAgICAgICAgICAgICAgdHlwZT0iTUVUQSIKICAgICAgICAgICAgICAgICAgaGVpZ2h0PSIxNiIKICAgICAgICAgICAgICAgICAgZmlsbC1vdmVycmlkZT0iI2VlZSIKICAgICAgICAgICAgICAgICAgc3Ryb2tlLW92ZXJyaWRlPSIjYTZhNmE2IgogICAgICAgICAgICAgICAgPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1sZWdlbmQtdmFsdWUiPnVuaXF1ZSBzdWJzdHJ1Y3R1cmU8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZXF1YWxzKGNvbG9yQnksICdkZXZpY2UnKV1dIj4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jdXJyZW50RGV2aWNlUGFyYW1zXV0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGVnZW5kLXJvdyI+CiAgICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uCiAgICAgICAgICAgICAgICAgICAgdHlwZT0iTUVUQSIKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgICAgICAgICAgICAgIGZpbGwtb3ZlcnJpZGU9IltbaXRlbS5jb2xvcl1dIgogICAgICAgICAgICAgICAgICAgIHN0cm9rZS1vdmVycmlkZT0iI2E2YTZhNiIKICAgICAgICAgICAgICAgICAgPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWxlZ2VuZC12YWx1ZSI+W1tpdGVtLmRldmljZV1dPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sZWdlbmQtcm93Ij4KICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uCiAgICAgICAgICAgICAgICAgIHR5cGU9Ik1FVEEiCiAgICAgICAgICAgICAgICAgIGhlaWdodD0iMTYiCiAgICAgICAgICAgICAgICAgIGZpbGwtb3ZlcnJpZGU9IiNlZWUiCiAgICAgICAgICAgICAgICAgIHN0cm9rZS1vdmVycmlkZT0iI2E2YTZhNiIKICAgICAgICAgICAgICAgID48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj51bmtub3duIGRldmljZTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19lcXVhbHMoY29sb3JCeSwgJ3hsYV9jbHVzdGVyJyldXSI+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY3VycmVudFhsYUNsdXN0ZXJQYXJhbXNdXSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sZWdlbmQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHN2Zz4KICAgICAgICAgICAgICAgICAgICA8dXNlCiAgICAgICAgICAgICAgICAgICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgIHhsaW5rOmhyZWY9IiN1bmZpbGxlZC1yZWN0IgogICAgICAgICAgICAgICAgICAgICAgeD0iMCIKICAgICAgICAgICAgICAgICAgICAgIHk9IjAiCiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZmlsbDpbW2l0ZW0uY29sb3JdXSIKICAgICAgICAgICAgICAgICAgICA+PC91c2U+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj5bW2l0ZW0ueGxhX2NsdXN0ZXJdXTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGVnZW5kLXJvdyI+CiAgICAgICAgICAgICAgICA8c3ZnPgogICAgICAgICAgICAgICAgICA8dXNlCiAgICAgICAgICAgICAgICAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgICAgICAgICAgICAgICAgICAgeGxpbms6aHJlZj0iI2dyZXktcmVjdCIKICAgICAgICAgICAgICAgICAgICB4PSIwIgogICAgICAgICAgICAgICAgICAgIHk9IjAiCiAgICAgICAgICAgICAgICAgID48L3VzZT4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWxlZ2VuZC12YWx1ZSI+dW5rbm93biBYTEEgY2x1c3Rlcjwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19lcXVhbHMoY29sb3JCeSwgJ29wX2NvbXBhdGliaWxpdHknKV1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItdGV4dCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGVnZW5kLXJvdyI+CiAgICAgICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbgogICAgICAgICAgICAgICAgICB0eXBlPSJPUCIKICAgICAgICAgICAgICAgICAgaGVpZ2h0PSIxNiIKICAgICAgICAgICAgICAgICAgZmlsbC1vdmVycmlkZT0iIzBmOWQ1OCIKICAgICAgICAgICAgICAgICAgc3Ryb2tlLW92ZXJyaWRlPSIjY2NjIgogICAgICAgICAgICAgICAgPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1sZWdlbmQtdmFsdWUiPlZhbGlkIE9wPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICAgICAgPHRmLWdyYXBoLWljb24KICAgICAgICAgICAgICAgICAgdHlwZT0iT1AiCiAgICAgICAgICAgICAgICAgIGhlaWdodD0iMTYiCiAgICAgICAgICAgICAgICAgIGZpbGwtb3ZlcnJpZGU9IiNkYjQ0MzciCiAgICAgICAgICAgICAgICAgIHN0cm9rZS1vdmVycmlkZT0iI2NjYyIKICAgICAgICAgICAgICAgID48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj5JbnZhbGlkIE9wPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3N0YXRzTm90TnVsbChzdGF0cyldXSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9Ik1FVEEiIGhlaWdodD0iMTYiIGZhZGVkPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj51bnVzZWQgc3Vic3RydWN0dXJlPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gQ29tbW9uIGxlZ2VuZCBpdGVtcyAtLT4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHRhYmxlPgogICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgPHRkPjwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+KCogPSBleHBhbmRhYmxlKTwvdGQ+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uCiAgICAgICAgICAgICAgICAgICAgdHlwZT0iTUVUQSIKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgICAgICAgICAgICAgIGZpbGwtb3ZlcnJpZGU9IiNkOWQ5ZDkiCiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLW92ZXJyaWRlPSIjY2NjIgogICAgICAgICAgICAgICAgICA+PC90Zi1ncmFwaC1pY29uPgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgTmFtZXNwYWNlPHNwYW4gY2xhc3M9ImdyYXkiPio8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheT0iMCIKICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICBFbmNhcHN1bGF0ZXMgYSBzZXQgb2Ygbm9kZXMuIE5hbWVzcGFjZSBpcyBoaWVyYXJjaGljYWwgYW5kCiAgICAgICAgICAgICAgICAgICAgICBiYXNlZCBvbiBzY29wZS4KICAgICAgICAgICAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgPHRmLWdyYXBoLWljb24gdHlwZT0iT1AiIGhlaWdodD0iMTYiPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIE9wTm9kZQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWdlbmQtY2xhcmlmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj4/PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxwYXBlci10b29sdGlwCiAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk9IjAiCiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbj0icmlnaHQiCiAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgTm9kZSB0aGF0IHBlcmZvcm1zIGFuIG9wZXJhdGlvbi4gVGhlc2Ugbm9kZXMgY2Fubm90CiAgICAgICAgICAgICAgICAgICAgICBleHBhbmQuCiAgICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9IlNFUklFUyIgaGVpZ2h0PSIxNiI+PC90Zi1ncmFwaC1pY29uPgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgVW5jb25uZWN0ZWQgc2VyaWVzPHNwYW4gY2xhc3M9ImdyYXkiPio8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheT0iMCIKICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICBTZXF1ZW5jZSBvZiBudW1iZXJlZCBub2RlcyB0aGF0IGFyZSBub3QgY29ubmVjdGVkIHRvIGVhY2gKICAgICAgICAgICAgICAgICAgICAgIG90aGVyLgogICAgICAgICAgICAgICAgICAgIDwvcGFwZXItdG9vbHRpcD4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbgogICAgICAgICAgICAgICAgICAgIHR5cGU9IlNFUklFUyIKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsCiAgICAgICAgICAgICAgICAgID48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICBDb25uZWN0ZWQgc2VyaWVzPHNwYW4gY2xhc3M9ImdyYXkiPio8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheT0iMCIKICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICBTZXF1ZW5jZSBvZiBudW1iZXJlZCBub2RlcyB0aGF0IGFyZSBjb25uZWN0ZWQgdG8gZWFjaAogICAgICAgICAgICAgICAgICAgICAgb3RoZXIuCiAgICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Imljb24iPgogICAgICAgICAgICAgICAgICAgIDxjaXJjbGUKICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IndoaXRlIgogICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPSIjODQ4NDg0IgogICAgICAgICAgICAgICAgICAgICAgY3g9IjEwIgogICAgICAgICAgICAgICAgICAgICAgY3k9IjEwIgogICAgICAgICAgICAgICAgICAgICAgcj0iNSIKICAgICAgICAgICAgICAgICAgICA+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgQ29uc3RhbnQKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcAogICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgIE5vZGUgdGhhdCBvdXRwdXRzIGEgY29uc3RhbnQgdmFsdWUuCiAgICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9IlNVTU1BUlkiIGhlaWdodD0iMjAiPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIFN1bW1hcnkKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcAogICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgIE5vZGUgdGhhdCBjb2xsZWN0cyBkYXRhIGZvciB2aXN1YWxpemF0aW9uIHdpdGhpbgogICAgICAgICAgICAgICAgICAgICAgVGVuc29yQm9hcmQuCiAgICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIDxzdmcKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaWNvbiIKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE1cHgiCiAgICAgICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaWQgbWVldCIKICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PSIwIDAgMTUgMTUiCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICA8ZGVmcz4KICAgICAgICAgICAgICAgICAgICAgIDxtYXJrZXIKICAgICAgICAgICAgICAgICAgICAgICAgaWQ9ImRhdGFmbG93LWFycm93aGVhZC1sZWdlbmQiCiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiNiYmIiCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtlcldpZHRoPSIxMCIKICAgICAgICAgICAgICAgICAgICAgICAgbWFya2VySGVpZ2h0PSIxMCIKICAgICAgICAgICAgICAgICAgICAgICAgcmVmWD0iOSIKICAgICAgICAgICAgICAgICAgICAgICAgcmVmWT0iNSIKICAgICAgICAgICAgICAgICAgICAgICAgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiCiAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0gMCwwIEwgMTAsNSBMIDAsMTAgQyAzLDcgMywzIDAsMCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgPC9tYXJrZXI+CiAgICAgICAgICAgICAgICAgICAgPC9kZWZzPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICBtYXJrZXItZW5kPSJ1cmwoI2RhdGFmbG93LWFycm93aGVhZC1sZWdlbmQpIgogICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPSIjYmJiIgogICAgICAgICAgICAgICAgICAgICAgZD0iTTIgOSBsIDI5IDAiCiAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD0icm91bmQiCiAgICAgICAgICAgICAgICAgICAgPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICBEYXRhZmxvdyBlZGdlCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheT0iMCIKICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICBFZGdlIHNob3dpbmcgdGhlIGRhdGEgZmxvdyBiZXR3ZWVuIG9wZXJhdGlvbnMuIEVkZ2VzIGZsb3cKICAgICAgICAgICAgICAgICAgICAgIHVwd2FyZHMgdW5sZXNzIGFycm93aGVhZHMgc3BlY2lmeSBvdGhlcndpc2UuCiAgICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIDxzdmcKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaWNvbiIKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE1cHgiCiAgICAgICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaWQgbWVldCIKICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PSIwIDAgMTUgMTUiCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPSIjYmJiIgogICAgICAgICAgICAgICAgICAgICAgZD0iTTIgOSBsIDI5IDAiCiAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD0icm91bmQiCiAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PSIyLCAyIgogICAgICAgICAgICAgICAgICAgID48L3BhdGg+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgQ29udHJvbCBkZXBlbmRlbmN5IGVkZ2UKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcAogICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgIEVkZ2Ugc2hvd2luZyB0aGUgY29udHJvbCBkZXBlbmRlbmN5IGJldHdlZW4gb3BlcmF0aW9ucy4KICAgICAgICAgICAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgPHN2ZwogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpY29uIgogICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMTVweCIKICAgICAgICAgICAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pZCBtZWV0IgogICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9IjAgMCAxNSAxNSIKICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgIDxkZWZzPgogICAgICAgICAgICAgICAgICAgICAgPG1hcmtlcgogICAgICAgICAgICAgICAgICAgICAgICBpZD0icmVmZXJlbmNlLWFycm93aGVhZC1sZWdlbmQiCiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiNGRkI3NEQiCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtlcldpZHRoPSIxMCIKICAgICAgICAgICAgICAgICAgICAgICAgbWFya2VySGVpZ2h0PSIxMCIKICAgICAgICAgICAgICAgICAgICAgICAgcmVmWD0iOSIKICAgICAgICAgICAgICAgICAgICAgICAgcmVmWT0iNSIKICAgICAgICAgICAgICAgICAgICAgICAgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiCiAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0gMCwwIEwgMTAsNSBMIDAsMTAgQyAzLDcgMywzIDAsMCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgPC9tYXJrZXI+CiAgICAgICAgICAgICAgICAgICAgPC9kZWZzPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICBtYXJrZXItZW5kPSJ1cmwoI3JlZmVyZW5jZS1hcnJvd2hlYWQtbGVnZW5kKSIKICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT0iI0ZGQjc0RCIKICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0yIDkgbCAyOSAwIgogICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogICAgICAgICAgICAgICAgICAgID48L3BhdGg+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgUmVmZXJlbmNlIGVkZ2UKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcAogICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgIEVkZ2Ugc2hvd2luZyB0aGF0IHRoZSBvdXRnb2luZyBvcGVyYXRpb24gbm9kZSBjYW4gbXV0YXRlCiAgICAgICAgICAgICAgICAgICAgICB0aGUgaW5jb21pbmcgdGVuc29yLgogICAgICAgICAgICAgICAgICAgIDwvcGFwZXItdG9vbHRpcD4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvZGl2PgogICAgICA8L2lyb24tY29sbGFwc2U+CiAgICA8L2Rpdj4KICBgLHQoW28oe3R5cGU6T2JqZWN0LG9ic2VydmVyOiJfc3RhdHNDaGFuZ2VkIn0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxsSnQucHJvdG90eXBlLCJzdGF0cyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sbEp0LnByb3RvdHlwZSwiZGV2aWNlc0ZvclN0YXRzIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxsSnQucHJvdG90eXBlLCJjb2xvckJ5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxsSnQucHJvdG90eXBlLCJjb2xvckJ5UGFyYW1zIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXksb2JzZXJ2ZXI6Il9kYXRhc2V0c0NoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGxKdC5wcm90b3R5cGUsImRhdGFzZXRzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLEFLdCldLGxKdC5wcm90b3R5cGUsInJlbmRlckhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxub3RpZnk6ITAscmVhZE9ubHk6ITAsY29tcHV0ZWQ6Il9jb21wdXRlU2VsZWN0aW9uKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCwgX3NlbGVjdGVkVGFnSW5kZXgsIF9zZWxlY3RlZEdyYXBoVHlwZSkifSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGxKdC5wcm90b3R5cGUsInNlbGVjdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sbEp0LnByb3RvdHlwZSwic2VsZWN0ZWRGaWxlIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG9ic2VydmVyOiJfc2VsZWN0ZWRSdW5JbmRleENoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGxKdC5wcm90b3R5cGUsIl9zZWxlY3RlZFJ1bkluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGxKdC5wcm90b3R5cGUsInRyYWNlSW5wdXRzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGxKdC5wcm90b3R5cGUsImF1dG9FeHRyYWN0Tm9kZXMiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXIsb2JzZXJ2ZXI6Il9zZWxlY3RlZFRhZ0luZGV4Q2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sbEp0LnByb3RvdHlwZSwiX3NlbGVjdGVkVGFnSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sbEp0LnByb3RvdHlwZSwiX3NlbGVjdGVkR3JhcGhUeXBlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxsSnQucHJvdG90eXBlLCJzZWxlY3RlZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxsSnQucHJvdG90eXBlLCJzaG93U2Vzc2lvblJ1bnNEcm9wZG93biIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGxKdC5wcm90b3R5cGUsInNob3dVcGxvYWRCdXR0b24iLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxsSnQucHJvdG90eXBlLCJoZWFsdGhQaWxsc0ZlYXR1cmVFbmFibGVkIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGxKdC5wcm90b3R5cGUsImhlYWx0aFBpbGxzVG9nZ2xlZE9uIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sbEp0LnByb3RvdHlwZSwiX2xlZ2VuZE9wZW5lZCIsdm9pZCAwKSx0KFtzKCJkZXZpY2VzRm9yU3RhdHMiKSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLGxKdC5wcm90b3R5cGUsIl9jdXJyZW50RGV2aWNlcyIsbnVsbCksdChbcygiY29sb3JCeVBhcmFtcyIpLGUoImRlc2lnbjp0eXBlIixBcnJheSksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sbEp0LnByb3RvdHlwZSwiX2N1cnJlbnREZXZpY2VQYXJhbXMiLG51bGwpLHQoW3MoImNvbG9yQnlQYXJhbXMiKSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLGxKdC5wcm90b3R5cGUsIl9jdXJyZW50WGxhQ2x1c3RlclBhcmFtcyIsbnVsbCksdChbcygiY29sb3JCeVBhcmFtcyIsImNvbG9yQnkiKSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxsSnQucHJvdG90eXBlLCJfY3VycmVudEdyYWRpZW50UGFyYW1zIixudWxsKSxsSnQ9dChbaSgidGYtZ3JhcGgtY29udHJvbHMiKV0sbEp0KTtjb25zdCBkSnQ9eyJsaWJyYXJ5LmZ1bmN0aW9uIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZiI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuaW5wdXQiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUubGlzdC5iIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3QuZiI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LmZ1bmMiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUubGlzdC5pIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3QucyI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LnNoYXBlIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3Quc2hhcGUuZGltIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3QudGVuc29yIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3QudHlwZSI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5zaGFwZS5kaW0iOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUudGVuc29yLnN0cmluZ192YWwiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUudGVuc29yLnRlbnNvcl9zaGFwZS5kaW0iOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLnNpZ25hdHVyZS5pbnB1dF9hcmciOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLnNpZ25hdHVyZS5vdXRwdXRfYXJnIjohMCwibGlicmFyeS52ZXJzaW9ucyI6ITAsbm9kZTohMCwibm9kZS5pbnB1dCI6ITAsIm5vZGUuYXR0ciI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LmIiOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC5mIjohMCwibm9kZS5hdHRyLnZhbHVlLmxpc3QuZnVuYyI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LmkiOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC5zIjohMCwibm9kZS5hdHRyLnZhbHVlLmxpc3Quc2hhcGUiOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC5zaGFwZS5kaW0iOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC50ZW5zb3IiOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC50eXBlIjohMCwibm9kZS5hdHRyLnZhbHVlLnNoYXBlLmRpbSI6ITAsIm5vZGUuYXR0ci52YWx1ZS50ZW5zb3Iuc3RyaW5nX3ZhbCI6ITAsIm5vZGUuYXR0ci52YWx1ZS50ZW5zb3IudGVuc29yX3NoYXBlLmRpbSI6ITB9LHBKdD17InN0ZXBfc3RhdHMuZGV2X3N0YXRzIjohMCwic3RlcF9zdGF0cy5kZXZfc3RhdHMubm9kZV9zdGF0cyI6ITAsInN0ZXBfc3RhdHMuZGV2X3N0YXRzLm5vZGVfc3RhdHMub3V0cHV0IjohMCwic3RlcF9zdGF0cy5kZXZfc3RhdHMubm9kZV9zdGF0cy5tZW1vcnkiOiEwLCJzdGVwX3N0YXRzLmRldl9zdGF0cy5ub2RlX3N0YXRzLm91dHB1dC50ZW5zb3JfZGVzY3JpcHRpb24uc2hhcGUuZGltIjohMH07ZnVuY3Rpb24gZkp0KHQsZSl7bGV0IG49e30saT1bXSxyPVtdLG89bjtmdW5jdGlvbiBhKHQpe2xldCBlPXQuaW5kZXhPZigiOiIpO3JldHVybntuYW1lOnQuc3Vic3RyaW5nKDAsZSkudHJpbSgpLHZhbHVlOihmdW5jdGlvbiBuKHQpe2lmKCJ0cnVlIj09PXQpcmV0dXJuITA7aWYoImZhbHNlIj09PXQpcmV0dXJuITE7aWYoJyInPT09dFswXSlyZXR1cm4gdC5zdWJzdHJpbmcoMSx0Lmxlbmd0aC0xKTtsZXQgZT1wYXJzZUZsb2F0KHQpO3JldHVybiBpc05hTihlKT90OmV9KSh0LnN1YnN0cmluZyhlKzIpLnRyaW0oKSl9fWZ1bmN0aW9uIHModCxuLGkscil7bGV0IG89dFtuXTtudWxsPT1vP3Rbbl09ci5qb2luKCIuIilpbiBlP1tpXTppOkFycmF5LmlzQXJyYXkobyk/by5wdXNoKGkpOnRbbl09W28saV19cmV0dXJuKGZ1bmN0aW9uIGwodCxlLG49MWU2LGk9IlxuIil7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihyLG8peyEoZnVuY3Rpb24gYShzLGwsYyl7Y29uc3QgdT1jPj10LmJ5dGVMZW5ndGgsaD1sLnNwbGl0KGkpO2hbMF09cytoWzBdO2NvbnN0IGQ9dT8iIjpoLnBvcCgpO2ZvcihsZXQgdCBvZiBoKXRyeXtlKHQpfWNhdGNoKHQpe3JldHVybiB2b2lkIG8odCl9aWYodSlyZXR1cm4gdm9pZCByKCEwKTtjb25zdCBwPW5ldyBCbG9iKFt0LnNsaWNlKGMsYytuKV0pLGY9bmV3IEZpbGVSZWFkZXI7Zi5vbmxvYWQ9ZnVuY3Rpb24odCl7YShkLHQudGFyZ2V0LnJlc3VsdCxjK24pfSxmLnJlYWRBc1RleHQocCl9KSgiIiwiIiwwKX0pKX0pKHQsKGZ1bmN0aW9uKHQpe2lmKHQ9dC50cmltKCkpc3dpdGNoKHRbdC5sZW5ndGgtMV0pe2Nhc2UieyI6bGV0IGU9dC5zdWJzdHJpbmcoMCx0Lmxlbmd0aC0yKS50cmltKCksbj17fTtpLnB1c2gobyksci5wdXNoKGUpLHMobyxlLG4sciksbz1uO2JyZWFrO2Nhc2UifSI6bz1pLnBvcCgpLHIucG9wKCk7YnJlYWs7ZGVmYXVsdDpsZXQgbD1hKHQpO3MobyxsLm5hbWUsbC52YWx1ZSxyLmNvbmNhdChsLm5hbWUpKX19KSkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKX1mdW5jdGlvbiBtSnQodCxlLGkscj1uZXcgbkp0LG89YUt0KXtjb25zdCBhPWYkdCh0LDMwLCJEYXRhIikscz1mJHQodCwyMCwiR3JhcGgiKSxsPWYkdCh0LDUwLCJOYW1lc3BhY2UgaGllcmFyY2h5IiksYz1EYXRlLm5vdygpO3JldHVybiBoSnQoZSxpLGEpLnRoZW4oKGZ1bmN0aW9uKHQpe2lmKCF0Lm5vZGUpdGhyb3cgbmV3IEVycm9yKCJUaGUgZ3JhcGggaXMgZW1wdHkuIFRoaXMgY2FuIGhhcHBlbiB3aGVuIFRlbnNvckZsb3cgY291bGQgbm90IHRyYWNlIGFueSBncmFwaC4gUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2lzc3Vlcy8xOTYxIGZvciBtb3JlIGluZm9ybWF0aW9uLiIpO3JldHVybiBxJHQodCxXJHQscyl9KSwoKCk9Pnt0aHJvdyBuZXcgRXJyb3IoIk1hbGZvcm1lZCBHcmFwaERlZi4gVGhpcyBjYW4gc29tZXRpbWVzIGJlIGNhdXNlZCBieSBhIGJhZCBuZXR3b3JrIGNvbm5lY3Rpb24gb3IgZGlmZmljdWx0eSByZWNvbmNpbGluZyBtdWx0aXBsZSBHcmFwaERlZnM7IGZvciB0aGUgbGF0dGVyIGNhc2UsIHBsZWFzZSByZWZlciB0byBodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9pc3N1ZXMvMTkyOS4iKX0pKS50aGVuKCh0PT5uKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7IShmdW5jdGlvbiBlKHQsbil7aWYobnVsbD09PW4pdGhyb3cgbmV3IEVycm9yKCJDb21wYXRpYmlsaXR5IHByb3ZpZGVyIHJlcXVpcmVkLCBidXQgZ290OiAiK24pO0NlLmV4cG9ydHMuZWFjaCh0Lm5vZGVzLCh0PT57dC5jb21wYXRpYmxlPW4ub3BWYWxpZCh0KSxDZS5leHBvcnRzLmVhY2godC5pbkVtYmVkZGluZ3MsKHQ9Pnt0LmNvbXBhdGlibGU9bi5vcFZhbGlkKHQpfSkpLENlLmV4cG9ydHMuZWFjaCh0Lm91dEVtYmVkZGluZ3MsKHQ9Pnt0LmNvbXBhdGlibGU9bi5vcFZhbGlkKHQpfSkpfSkpfSkodCxyKTtjb25zdCBuPXlpZWxkIHNLdCh0LG8sbCk7cmV0dXJuIGgkdCh7dGltaW5nSWQ6QkF0LkdSQVBIX0xPQURfU1VDQ0VFREVELGV2ZW50VmFsdWU6RGF0ZS5ub3coKS1jfSkse2dyYXBoOnQsZ3JhcGhIaWVyYXJjaHk6bn19KSkpKS5jYXRjaCgoZT0+e3Rocm93IHQucmVwb3J0RXJyb3IoYEdyYXBoIHZpc3VhbGl6YXRpb24gZmFpbGVkLlxuXG4ke2V9YCxlKSxoJHQoe3RpbWluZ0lkOkJBdC5HUkFQSF9MT0FEX0ZBSUxFRCxldmVudFZhbHVlOkRhdGUubm93KCktY30pLGV9KSl9bGV0IGdKdD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuY29tcGF0aWJpbGl0eVByb3ZpZGVyPW5ldyBuSnQsdGhpcy5oaWVyYXJjaHlQYXJhbXM9YUt0LHRoaXMuX3RlbXBsYXRlPW51bGx9X3NlbGVjdGlvbkNoYW5nZWQoKXt0aGlzLnNlbGVjdGlvbiYmdGhpcy5kZWJvdW5jZSgic2VsZWN0aW9uY2hhbmdlIiwoKCk9Pnt0aGlzLl9sb2FkKHRoaXMuc2VsZWN0aW9uKX0pKX1fbG9hZCh0KXtjb25zdHtydW46ZSx0YWc6bix0eXBlOml9PXQ7c3dpdGNoKGkpe2Nhc2UgUVh0Lk9QX0dSQVBIOmNhc2UgUVh0LkNPTkNFUFRVQUxfR1JBUEg6eyhmdW5jdGlvbigpe3RoaXMuX3NldE91dFN0YXRzKG51bGwpfSkuYmluZCh0aGlzKSgpO2NvbnN0IHQ9bmV3IFVSTFNlYXJjaFBhcmFtczt0LnNldCgicnVuIixlKSx0LnNldCgiY29uY2VwdHVhbCIsU3RyaW5nKGk9PT1RWHQuQ09OQ0VQVFVBTF9HUkFQSCkpLG4mJnQuc2V0KCJ0YWciLG4pO2NvbnN0IHI9RXIoKS5wbHVnaW5Sb3V0ZSgiZ3JhcGhzIiwiL2dyYXBoIix0KTtyZXR1cm4gdGhpcy5fZmV0Y2hBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaChyKS50aGVuKCgoKT0+e3RoaXMuX2dyYXBoUnVuVGFnPXtydW46ZSx0YWc6bn19KSl9Y2FzZSBRWHQuUFJPRklMRTp7Y29uc3R7dGFnczp0fT10aGlzLmRhdGFzZXRzLmZpbmQoKCh7bmFtZTp0fSk9PnQ9PT1lKSksaT10LmZpbmQoKHQ9PnQudGFnPT09bikpLm9wR3JhcGg/bjpudWxsO2NvbnNvbGUuYXNzZXJ0KHQuZmluZCgodD0+dC50YWc9PT1pKSksYFJlcXVpcmVkIHRhZyAoJHtpfSkgaXMgbWlzc2luZy5gKTtjb25zdCByPSF0aGlzLl9ncmFwaFJ1blRhZ3x8dGhpcy5fZ3JhcGhSdW5UYWcucnVuIT09ZXx8dGhpcy5fZ3JhcGhSdW5UYWcudGFnIT09aT90aGlzLl9sb2FkKHtydW46ZSx0YWc6aSx0eXBlOlFYdC5PUF9HUkFQSH0pOlByb21pc2UucmVzb2x2ZSgpLG89bmV3IFVSTFNlYXJjaFBhcmFtcztvLnNldCgidGFnIixuKSxvLnNldCgicnVuIixlKTtjb25zdCBhPUVyKCkucGx1Z2luUm91dGUoImdyYXBocyIsIi9ydW5fbWV0YWRhdGEiLG8pO3JldHVybiByLnRoZW4oKCgpPT50aGlzLl9yZWFkQW5kUGFyc2VNZXRhZGF0YShhKSkpfWRlZmF1bHQ6cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBzZWxlY3Rpb24gdHlwZTogJHtpfWApKX19X3JlYWRBbmRQYXJzZU1ldGFkYXRhKHQpe3RoaXMuc2V0KCJwcm9ncmVzcyIse3ZhbHVlOjAsbXNnOiIifSksdUp0KHQscCR0KHRoaXMpKS50aGVuKGZ1bmN0aW9uKHQpe3RoaXMuX3NldE91dFN0YXRzKHQpfS5iaW5kKHRoaXMpKX1fZmV0Y2hBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaCh0LGUpe3RoaXMuc2V0KCJwcm9ncmVzcyIse3ZhbHVlOjAsbXNnOiIifSk7cmV0dXJuIG1KdChwJHQodGhpcyksdCxlLHRoaXMuY29tcGF0aWJpbGl0eVByb3ZpZGVyLHRoaXMuaGllcmFyY2h5UGFyYW1zKS50aGVuKGZ1bmN0aW9uKHtncmFwaDp0LGdyYXBoSGllcmFyY2h5OmV9KXt0aGlzLl9zZXRPdXRHcmFwaCh0KSx0aGlzLl9zZXRPdXRHcmFwaEhpZXJhcmNoeShlKX0uYmluZCh0aGlzKSl9X3NlbGVjdGVkRmlsZUNoYW5nZWQoKXt2YXIgdD10aGlzLnNlbGVjdGVkRmlsZTtpZighdClyZXR1cm47Y29uc3QgZT10LnRhcmdldCxuPWUuZmlsZXNbMF07biYmKGUudmFsdWU9IiIsdGhpcy5fZmV0Y2hBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaChudWxsLG4pKX19O3QoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxnSnQucHJvdG90eXBlLCJkYXRhc2V0cyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZ0p0LnByb3RvdHlwZSwicHJvZ3Jlc3MiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZ0p0LnByb3RvdHlwZSwic2VsZWN0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGdKdC5wcm90b3R5cGUsInNlbGVjdGVkRmlsZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxnSnQucHJvdG90eXBlLCJjb21wYXRpYmlsaXR5UHJvdmlkZXIiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZ0p0LnByb3RvdHlwZSwiaGllcmFyY2h5UGFyYW1zIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LHJlYWRPbmx5OiEwLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixyS3QpXSxnSnQucHJvdG90eXBlLCJvdXRHcmFwaEhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxyZWFkT25seTohMCxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsSSR0KV0sZ0p0LnByb3RvdHlwZSwib3V0R3JhcGgiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGdKdC5wcm90b3R5cGUsIm91dFN0YXRzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGdKdC5wcm90b3R5cGUsIl9ncmFwaFJ1blRhZyIsdm9pZCAwKSx0KFthKCJzZWxlY3Rpb24iLCJjb21wYXRpYmlsaXR5UHJvdmlkZXIiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGdKdC5wcm90b3R5cGUsIl9zZWxlY3Rpb25DaGFuZ2VkIixudWxsKSx0KFthKCJzZWxlY3RlZEZpbGUiLCJjb21wYXRpYmlsaXR5UHJvdmlkZXIiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGdKdC5wcm90b3R5cGUsIl9zZWxlY3RlZEZpbGVDaGFuZ2VkIixudWxsKSxnSnQ9dChbaSgidGYtZ3JhcGgtZGFzaGJvYXJkLWxvYWRlciIpXSxnSnQpO2xldCBfSnQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kYXRhc2V0cz1bXSx0aGlzLl9kYXRhc2V0c0ZldGNoZWQ9ITEsdGhpcy5fc2VsZWN0ZWREYXRhc2V0PTAsdGhpcy5fcmVxdWVzdE1hbmFnZXI9bmV3IGJyLHRoaXMuX2NhbmNlbGxlcj1uZXcgeE8sdGhpcy5zcGVjaWZpY0hlYWx0aFBpbGxTdGVwPTAsdGhpcy5oZWFsdGhQaWxsc1RvZ2dsZWRPbj0hMSx0aGlzLl9kZWJ1Z2dlck51bWVyaWNBbGVydHM9W10sdGhpcy5fbm9kZU5hbWVzVG9IZWFsdGhQaWxscz17fSx0aGlzLl9oZWFsdGhQaWxsUmVxdWVzdElkPTEsdGhpcy5faGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJEZWxheT01MDAsdGhpcy5ydW49WHMoInJ1biIse2RlZmF1bHRWYWx1ZToiIix1c2VMb2NhbFN0b3JhZ2U6ITF9KS5jYWxsKHRoaXMpLHRoaXMuX3J1bk9ic2VydmVyPSRzKCJydW4iLHtkZWZhdWx0VmFsdWU6IiIscG9seW1lclByb3BlcnR5OiJydW4iLHVzZUxvY2FsU3RvcmFnZTohMX0pfWF0dGFjaGVkKCl7dGhpcy5zZXQoIl9pc0F0dGFjaGVkIiwhMCl9ZGV0YWNoZWQoKXt0aGlzLnNldCgiX2lzQXR0YWNoZWQiLCExKX1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJub2RlLXRvZ2dsZS1leHBhbmQiLHRoaXMuX2hhbmRsZU5vZGVUb2dnbGVFeHBhbmQuYmluZCh0aGlzKSl9cmVsb2FkKCl7dGhpcy5fZGVidWdnZXJEYXRhRW5hYmxlZHx8dGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChFcigpLnBsdWdpbnNMaXN0aW5nKCkpLnRoZW4odGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKCh0PT57dC5jYW5jZWxsZWR8fHQudmFsdWUuZGVidWdnZXImJnRoaXMuc2V0KCJfZGVidWdnZXJEYXRhRW5hYmxlZCIsITApfSkpKSx0aGlzLl9tYXliZUZldGNoSGVhbHRoUGlsbHMoKX1fZml0KCl7dGhpcy4kJCgiI2dyYXBoYm9hcmQiKS5maXQoKX1fb25Eb3dubG9hZEltYWdlUmVxdWVzdGVkKHQpe3RoaXMuJCQoIiNncmFwaGJvYXJkIikuZG93bmxvYWRBc0ltYWdlKHQuZGV0YWlsKX1fZ2V0R3JhcGhEaXNwbGF5Q2xhc3NOYW1lKHQsZSl7cmV0dXJuIHR8fGUubGVuZ3RoPyIiOiJuby1ncmFwaCJ9X2ZldGNoRGF0YXNldCgpe3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KEVyKCkucGx1Z2luUm91dGUoImdyYXBocyIsIi9pbmZvIikpfV9mZXRjaEhlYWx0aFBpbGxzKHQsZSl7Y29uc3Qgbj17bm9kZV9uYW1lczpKU09OLnN0cmluZ2lmeSh0KSxydW46Il9fZGVidWdnZXJfZGF0YV9fIn07dm9pZCAwIT09ZSYmKG4uc3RlcD1lKTtjb25zdCBpPUVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL2hlYWx0aF9waWxscyIpO3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGksbil9X2ZldGNoRGVidWdnZXJOdW1lcmljc0FsZXJ0cygpe3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KEVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL251bWVyaWNzX2FsZXJ0X3JlcG9ydCIpKX1fZ3JhcGhVcmwodCxlLG4pe3JldHVybiBFcigpLnBsdWdpblJvdXRlKCJncmFwaHMiLCIvZ3JhcGgiLG5ldyBVUkxTZWFyY2hQYXJhbXMoe3J1bjp0LGxpbWl0X2F0dHJfc2l6ZTplLGxhcmdlX2F0dHJzX2tleTpufSkpfV9zaG91bGRSZXF1ZXN0SGVhbHRoUGlsbHMoKXtyZXR1cm4gdGhpcy5fZGVidWdnZXJEYXRhRW5hYmxlZCYmdGhpcy5oZWFsdGhQaWxsc1RvZ2dsZWRPbiYmdGhpcy5fcmVuZGVySGllcmFyY2h5JiZ0aGlzLl9kYXRhc2V0c1N0YXRlKHRoaXMuX2RhdGFzZXRzRmV0Y2hlZCx0aGlzLl9kYXRhc2V0cywiUFJFU0VOVCIpfV9tYXliZUluaXRpYWxpemVEYXNoYm9hcmQoKXshdGhpcy5faW5pdGlhbGl6ZWQmJnRoaXMuX2lzQXR0YWNoZWQmJih0aGlzLnNldCgiX2NvbXBhdGliaWxpdHlQcm92aWRlciIsbmV3IG5KdCksdGhpcy5faW5pdGlhbGl6ZWQ9ITAsdGhpcy5fZmV0Y2hEYXRhc2V0KCkudGhlbigodD0+e2NvbnN0IGU9T2JqZWN0LmtleXModCk7dGhpcy5fZGF0YXNldHM9ZS5zb3J0KHVyKS5tYXAoKGU9Pntjb25zdCBuPXRbZV0saT1PYmplY3Qua2V5cyhuLnRhZ3MpLnNvcnQodXIpLm1hcCgodD0+bi50YWdzW3RdKSkubWFwKCgoe3RhZzp0LGNvbmNlcHR1YWxfZ3JhcGg6ZSxvcF9ncmFwaDpuLHByb2ZpbGU6aX0pPT4oe3RhZzp0LGRpc3BsYXlOYW1lOnQsY29uY2VwdHVhbEdyYXBoOmUsb3BHcmFwaDpuLHByb2ZpbGU6aX0pKSk7cmV0dXJue25hbWU6ZSx0YWdzOm4ucnVuX2dyYXBoP1t7dGFnOm51bGwsZGlzcGxheU5hbWU6IkRlZmF1bHQiLGNvbmNlcHR1YWxHcmFwaDohMSxvcEdyYXBoOiEwLHByb2ZpbGU6ITF9LC4uLmldOml9fSkpLHRoaXMuX2RhdGFzZXRzRmV0Y2hlZD0hMH0pKSl9X2RldGVybWluZVNlbGVjdGVkRGF0YXNldCgpe3ZhciB0PXRoaXMuX2RhdGFzZXRzRmV0Y2hlZCxlPXRoaXMuX2RhdGFzZXRzLG49dGhpcy5ydW47aWYoIW4pcmV0dXJuIHZvaWQgdGhpcy5zZXQoIl9zZWxlY3RlZERhdGFzZXQiLDApO2NvbnN0IGk9ZS5maW5kSW5kZXgoKHQ9PnQubmFtZT09PW4pKTtpZigtMSE9PWkpdGhpcy5zZXQoIl9zZWxlY3RlZERhdGFzZXQiLGkpO2Vsc2UgaWYodCl7Y29uc3QgdD10aGlzLiQkKCIjZXJyb3ItZGlhbG9nIik7dC50ZXh0Q29udGVudD1gTm8gZGF0YXNldCBuYW1lZCAiJHtufSIgY291bGQgYmUgZm91bmQuYCx0Lm9wZW4oKX19X3VwZGF0ZVNlbGVjdGVkRGF0YXNldE5hbWUoKXt2YXIgdD10aGlzLl9kYXRhc2V0cyxlPXRoaXMuX3NlbGVjdGVkRGF0YXNldDt0aGlzLl9kYXRhc2V0c0ZldGNoZWQmJih0Lmxlbmd0aDw9ZXx8dGhpcy5zZXQoInJ1biIsdFtlXS5uYW1lKSl9X3JlcXVlc3RIZWFsdGhQaWxscygpe3RoaXMuc2V0KCJfYXJlSGVhbHRoUGlsbHNMb2FkaW5nIiwhMCk7dmFyIHQ9Kyt0aGlzLl9oZWFsdGhQaWxsUmVxdWVzdElkO251bGwhPT10aGlzLl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkJiYod2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkKSx0aGlzLl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkPW51bGwpLHRoaXMuYWxsU3RlcHNNb2RlRW5hYmxlZD90aGlzLl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkPW51bGwsdGhpcy5faW5pdGlhdGVOZXR3b3JrUmVxdWVzdEZvckhlYWx0aFBpbGxzKHQpfS5iaW5kKHRoaXMpLHRoaXMuX2hlYWx0aFBpbGxTdGVwUmVxdWVzdFRpbWVyRGVsYXkpOnRoaXMuX2luaXRpYXRlTmV0d29ya1JlcXVlc3RGb3JIZWFsdGhQaWxscyh0KX1faW5pdGlhdGVOZXR3b3JrUmVxdWVzdEZvckhlYWx0aFBpbGxzKHQpe2lmKHRoaXMuX2hlYWx0aFBpbGxSZXF1ZXN0SWQhPT10KXJldHVybjtjb25zdCBlPXRoaXMuYWxsU3RlcHNNb2RlRW5hYmxlZD90aGlzLnNwZWNpZmljSGVhbHRoUGlsbFN0ZXA6dm9pZCAwLG49dGhpcy5fZmV0Y2hIZWFsdGhQaWxscyh0aGlzLl9yZW5kZXJIaWVyYXJjaHkuZ2V0TmFtZXNPZlJlbmRlcmVkT3BzKCksZSksaT10aGlzLl9mZXRjaERlYnVnZ2VyTnVtZXJpY3NBbGVydHMoKTtQcm9taXNlLmFsbChbbixpXSkudGhlbihmdW5jdGlvbihlKXt2YXIgbj1lWzBdLGk9ZVsxXTtpZih0aGlzLmhlYWx0aFBpbGxzVG9nZ2xlZE9uJiZ0PT09dGhpcy5faGVhbHRoUGlsbFJlcXVlc3RJZCl7Zm9yKHZhciByIGluIG4pe3RoaXMuc2V0KCJfaGVhbHRoUGlsbFN0ZXBJbmRleCIsbltyXS5sZW5ndGgtMSk7YnJlYWt9dGhpcy5zZXQoIl9kZWJ1Z2dlck51bWVyaWNBbGVydHMiLGkpLHRoaXMuc2V0KCJfbm9kZU5hbWVzVG9IZWFsdGhQaWxscyIsbiksdGhpcy5zZXQoIl9hcmVIZWFsdGhQaWxsc0xvYWRpbmciLCExKSx0aGlzLnNldCgiX2hlYWx0aFBpbGxTdGVwUmVxdWVzdFRpbWVySWQiLG51bGwpfX0uYmluZCh0aGlzKSl9X2RhdGFzZXRzU3RhdGUodCxlLG4pe3JldHVybiB0P2UmJmUubGVuZ3RoPyJQUkVTRU5UIj09PW46IkVNUFRZIj09PW46Ik5PVF9MT0FERUQiPT09bn1fcmVuZGVySGllcmFyY2h5Q2hhbmdlZCh0KXt0aGlzLnJlbG9hZCgpfV9oYW5kbGVOb2RlVG9nZ2xlRXhwYW5kKCl7dGhpcy5fbWF5YmVGZXRjaEhlYWx0aFBpbGxzKCl9X2hlYWx0aFBpbGxzVG9nZ2xlZE9uQ2hhbmdlZCh0KXt0P3RoaXMucmVsb2FkKCk6dGhpcy5zZXQoIl9ub2RlTmFtZXNUb0hlYWx0aFBpbGxzIix7fSl9X21heWJlRmV0Y2hIZWFsdGhQaWxscygpe3RoaXMuX3Nob3VsZFJlcXVlc3RIZWFsdGhQaWxscygpJiZ0aGlzLl9yZXF1ZXN0SGVhbHRoUGlsbHMoKX19O19KdC50ZW1wbGF0ZT14ZWAKICAgIDxwYXBlci1kaWFsb2cgaWQ9ImVycm9yLWRpYWxvZyIgd2l0aC1iYWNrZHJvcD48L3BhcGVyLWRpYWxvZz4KICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8dGYtZ3JhcGgtY29udHJvbHMKICAgICAgICBpZD0iY29udHJvbHMiCiAgICAgICAgY2xhc3M9InNpZGViYXIiCiAgICAgICAgc2xvdD0ic2lkZWJhciIKICAgICAgICBkZXZpY2VzLWZvci1zdGF0cz0ie3tfZGV2aWNlc0ZvclN0YXRzfX0iCiAgICAgICAgY29sb3ItYnktcGFyYW1zPSJbW19jb2xvckJ5UGFyYW1zXV0iCiAgICAgICAgc3RhdHM9IltbX3N0YXRzXV0iCiAgICAgICAgY29sb3ItYnk9Int7X2NvbG9yQnl9fSIKICAgICAgICBkYXRhc2V0cz0iW1tfZGF0YXNldHNdXSIKICAgICAgICByZW5kZXItaGllcmFyY2h5PSJbW19yZW5kZXJIaWVyYXJjaHldXSIKICAgICAgICBzZWxlY3Rpb249Int7X3NlbGVjdGlvbn19IgogICAgICAgIHNlbGVjdGVkLWZpbGU9Int7X3NlbGVjdGVkRmlsZX19IgogICAgICAgIHNlbGVjdGVkLW5vZGU9Int7X3NlbGVjdGVkTm9kZX19IgogICAgICAgIGhlYWx0aC1waWxscy1mZWF0dXJlLWVuYWJsZWQ9IltbX2RlYnVnZ2VyRGF0YUVuYWJsZWRdXSIKICAgICAgICBoZWFsdGgtcGlsbHMtdG9nZ2xlZC1vbj0ie3toZWFsdGhQaWxsc1RvZ2dsZWRPbn19IgogICAgICAgIG9uLWZpdC10YXA9Il9maXQiCiAgICAgICAgdHJhY2UtaW5wdXRzPSJ7e190cmFjZUlucHV0c319IgogICAgICAgIGF1dG8tZXh0cmFjdC1ub2Rlcz0ie3tfYXV0b0V4dHJhY3ROb2Rlc319IgogICAgICAgIG9uLWRvd25sb2FkLWltYWdlLXJlcXVlc3RlZD0iX29uRG93bmxvYWRJbWFnZVJlcXVlc3RlZCIKICAgICAgPjwvdGYtZ3JhcGgtY29udHJvbHM+CiAgICAgIDxkaXYKICAgICAgICBjbGFzcyQ9ImNlbnRlciBbW19nZXRHcmFwaERpc3BsYXlDbGFzc05hbWUoX3NlbGVjdGVkRmlsZSwgX2RhdGFzZXRzKV1dIgogICAgICAgIHNsb3Q9ImNlbnRlciIKICAgICAgPgogICAgICAgIDx0Zi1ncmFwaC1kYXNoYm9hcmQtbG9hZGVyCiAgICAgICAgICBpZD0ibG9hZGVyIgogICAgICAgICAgZGF0YXNldHM9IltbX2RhdGFzZXRzXV0iCiAgICAgICAgICBzZWxlY3Rpb249IltbX3NlbGVjdGlvbl1dIgogICAgICAgICAgc2VsZWN0ZWQtZmlsZT0iW1tfc2VsZWN0ZWRGaWxlXV0iCiAgICAgICAgICBvdXQtZ3JhcGgtaGllcmFyY2h5PSJ7e19ncmFwaEhpZXJhcmNoeX19IgogICAgICAgICAgb3V0LWdyYXBoPSJ7e19ncmFwaH19IgogICAgICAgICAgb3V0LXN0YXRzPSJ7e19zdGF0c319IgogICAgICAgICAgcHJvZ3Jlc3M9Int7X3Byb2dyZXNzfX0iCiAgICAgICAgICBoaWVyYXJjaHktcGFyYW1zPSJbW19oaWVyYXJjaHlQYXJhbXNdXSIKICAgICAgICAgIGNvbXBhdGliaWxpdHktcHJvdmlkZXI9IltbX2NvbXBhdGliaWxpdHlQcm92aWRlcl1dIgogICAgICAgID48L3RmLWdyYXBoLWRhc2hib2FyZC1sb2FkZXI+CiAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS1tZXNzYWdlIj4KICAgICAgICAgIDxoMz5ObyBncmFwaCBkZWZpbml0aW9uIGZpbGVzIHdlcmUgZm91bmQuPC9oMz4KICAgICAgICAgIDxwPgogICAgICAgICAgICBUbyBzdG9yZSBhIGdyYXBoLCBjcmVhdGUgYQogICAgICAgICAgICA8Y29kZT50Zi5zdW1tYXJ5LkZpbGVXcml0ZXI8L2NvZGU+CiAgICAgICAgICAgIGFuZCBwYXNzIHRoZSBncmFwaCBlaXRoZXIgdmlhIHRoZSBjb25zdHJ1Y3Rvciwgb3IgYnkgY2FsbGluZyBpdHMKICAgICAgICAgICAgPGNvZGU+YWRkX2dyYXBoKCk8L2NvZGU+IG1ldGhvZC4gWW91IG1heSB3YW50IHRvIGNoZWNrIG91dCB0aGUKICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvdGVuc29yYm9hcmQvZ3JhcGhzIgogICAgICAgICAgICAgID5leGFtaW5pbmcgdGhlIFRlbnNvckZsb3cgZ3JhcGggdHV0b3JpYWw8L2EKICAgICAgICAgICAgPi4KICAgICAgICAgIDwvcD4KCiAgICAgICAgICA8cD4KICAgICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8gYWRkCiAgICAgICAgICAgIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIgogICAgICAgICAgICAgID5SRUFETUU8L2EKICAgICAgICAgICAgPgogICAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgICAgPGEKICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgID5UZW5zb3JCb2FyZCB0dXRvcmlhbDwvYQogICAgICAgICAgICA+LgogICAgICAgICAgPC9wPgoKICAgICAgICAgIDxwPgogICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICA8YQogICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciCiAgICAgICAgICAgICAgPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2EKICAgICAgICAgICAgPgogICAgICAgICAgICBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJncmFwaGJvYXJkIj4KICAgICAgICAgIDx0Zi1ncmFwaC1ib2FyZAogICAgICAgICAgICBpZD0iZ3JhcGhib2FyZCIKICAgICAgICAgICAgZGV2aWNlcy1mb3Itc3RhdHM9IltbX2RldmljZXNGb3JTdGF0c11dIgogICAgICAgICAgICBjb2xvci1ieT0ie3tfY29sb3JCeX19IgogICAgICAgICAgICBjb2xvci1ieS1wYXJhbXM9Int7X2NvbG9yQnlQYXJhbXN9fSIKICAgICAgICAgICAgZ3JhcGgtaGllcmFyY2h5PSJbW19ncmFwaEhpZXJhcmNoeV1dIgogICAgICAgICAgICBncmFwaD0iW1tfZ3JhcGhdXSIKICAgICAgICAgICAgaGllcmFyY2h5LXBhcmFtcz0iW1tfaGllcmFyY2h5UGFyYW1zXV0iCiAgICAgICAgICAgIHByb2dyZXNzPSJbW19wcm9ncmVzc11dIgogICAgICAgICAgICBkZWJ1Z2dlci1kYXRhLWVuYWJsZWQ9IltbX2RlYnVnZ2VyRGF0YUVuYWJsZWRdXSIKICAgICAgICAgICAgYXJlLWhlYWx0aC1waWxscy1sb2FkaW5nPSJbW19hcmVIZWFsdGhQaWxsc0xvYWRpbmddXSIKICAgICAgICAgICAgZGVidWdnZXItbnVtZXJpYy1hbGVydHM9IltbX2RlYnVnZ2VyTnVtZXJpY0FsZXJ0c11dIgogICAgICAgICAgICBub2RlLW5hbWVzLXRvLWhlYWx0aC1waWxscz0iW1tfbm9kZU5hbWVzVG9IZWFsdGhQaWxsc11dIgogICAgICAgICAgICBhbGwtc3RlcHMtbW9kZS1lbmFibGVkPSJ7e2FsbFN0ZXBzTW9kZUVuYWJsZWR9fSIKICAgICAgICAgICAgc3BlY2lmaWMtaGVhbHRoLXBpbGwtc3RlcD0ie3tzcGVjaWZpY0hlYWx0aFBpbGxTdGVwfX0iCiAgICAgICAgICAgIGhlYWx0aC1waWxsLXN0ZXAtaW5kZXg9IltbX2hlYWx0aFBpbGxTdGVwSW5kZXhdXSIKICAgICAgICAgICAgcmVuZGVyLWhpZXJhcmNoeT0ie3tfcmVuZGVySGllcmFyY2h5fX0iCiAgICAgICAgICAgIHNlbGVjdGVkLW5vZGU9Int7X3NlbGVjdGVkTm9kZX19IgogICAgICAgICAgICBzdGF0cz0iW1tfc3RhdHNdXSIKICAgICAgICAgICAgdHJhY2UtaW5wdXRzPSJbW190cmFjZUlucHV0c11dIgogICAgICAgICAgICBhdXRvLWV4dHJhY3Qtbm9kZXM9IltbX2F1dG9FeHRyYWN0Tm9kZXNdXSIKICAgICAgICAgID48L3RmLWdyYXBoLWJvYXJkPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgL2RlZXAvIHsKICAgICAgICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5zaWRlYmFyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNlbnRlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgcGFwZXItZGlhbG9nIHsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICB9CgogICAgICAubm8tZGF0YS1tZXNzYWdlIHsKICAgICAgICBtYXgtd2lkdGg6IDU0MHB4OwogICAgICAgIG1hcmdpbjogODBweCBhdXRvIDAgYXV0bzsKICAgICAgfQoKICAgICAgLmdyYXBoYm9hcmQgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLm5vLWdyYXBoIC5ncmFwaGJvYXJkIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAuY2VudGVyOm5vdCgubm8tZ3JhcGgpIC5uby1kYXRhLW1lc3NhZ2UgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIGEgewogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1saW5rKTsKICAgICAgfQoKICAgICAgYTp2aXNpdGVkIHsKICAgICAgICBjb2xvcjogdmFyKC0tdGItbGluay12aXNpdGVkKTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxfSnQucHJvdG90eXBlLCJfZGF0YXNldHMiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxfSnQucHJvdG90eXBlLCJfZGF0YXNldHNGZXRjaGVkIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLF9KdC5wcm90b3R5cGUsIl9zZWxlY3RlZERhdGFzZXQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il9yZW5kZXJIaWVyYXJjaHlDaGFuZ2VkIn0pLGUoImRlc2lnbjp0eXBlIixBS3QpXSxfSnQucHJvdG90eXBlLCJfcmVuZGVySGllcmFyY2h5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0sX0p0LnByb3RvdHlwZSwiX3JlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHhPKV0sX0p0LnByb3RvdHlwZSwiX2NhbmNlbGxlciIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF9KdC5wcm90b3R5cGUsIl9kZWJ1Z2dlckRhdGFFbmFibGVkIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sX0p0LnByb3RvdHlwZSwiYWxsU3RlcHNNb2RlRW5hYmxlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxfSnQucHJvdG90eXBlLCJzcGVjaWZpY0hlYWx0aFBpbGxTdGVwIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX2hlYWx0aFBpbGxzVG9nZ2xlZE9uQ2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF9KdC5wcm90b3R5cGUsImhlYWx0aFBpbGxzVG9nZ2xlZE9uIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxfSnQucHJvdG90eXBlLCJzZWxlY3RlZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxfSnQucHJvdG90eXBlLCJfaXNBdHRhY2hlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF9KdC5wcm90b3R5cGUsIl9pbml0aWFsaXplZCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF9KdC5wcm90b3R5cGUsIl9hcmVIZWFsdGhQaWxsc0xvYWRpbmciLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheSxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxfSnQucHJvdG90eXBlLCJfZGVidWdnZXJOdW1lcmljQWxlcnRzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLF9KdC5wcm90b3R5cGUsIl9ub2RlTmFtZXNUb0hlYWx0aFBpbGxzIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLF9KdC5wcm90b3R5cGUsIl9oZWFsdGhQaWxsU3RlcEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLF9KdC5wcm90b3R5cGUsIl9oZWFsdGhQaWxsUmVxdWVzdElkIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLF9KdC5wcm90b3R5cGUsIl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLF9KdC5wcm90b3R5cGUsIl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lckRlbGF5Iix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxfSnQucHJvdG90eXBlLCJydW5zIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMCxvYnNlcnZlcjoiX3J1bk9ic2VydmVyIn0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxfSnQucHJvdG90eXBlLCJydW4iLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sX0p0LnByb3RvdHlwZSwiX3NlbGVjdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxfSnQucHJvdG90eXBlLCJfY29tcGF0aWJpbGl0eVByb3ZpZGVyIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sX0p0LnByb3RvdHlwZSwiX3RyYWNlSW5wdXRzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sX0p0LnByb3RvdHlwZSwiX2F1dG9FeHRyYWN0Tm9kZXMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sX0p0LnByb3RvdHlwZSwiX3NlbGVjdGVkRmlsZSIsdm9pZCAwKSx0KFthKCJfaXNBdHRhY2hlZCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sX0p0LnByb3RvdHlwZSwiX21heWJlSW5pdGlhbGl6ZURhc2hib2FyZCIsbnVsbCksdChbYSgiX2RhdGFzZXRzRmV0Y2hlZCIsIl9kYXRhc2V0cyIsInJ1biIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sX0p0LnByb3RvdHlwZSwiX2RldGVybWluZVNlbGVjdGVkRGF0YXNldCIsbnVsbCksdChbYSgiX2RhdGFzZXRzRmV0Y2hlZCIsIl9kYXRhc2V0cyIsIl9zZWxlY3RlZERhdGFzZXQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLF9KdC5wcm90b3R5cGUsIl91cGRhdGVTZWxlY3RlZERhdGFzZXROYW1lIixudWxsKSxfSnQ9dChbaSgidGYtZ3JhcGgtZGFzaGJvYXJkIildLF9KdCk7Y29uc3QgeUp0PWlJO2xldCB2SnQ9Y2xhc3MgZXh0ZW5kcyhjcihnbCh3ZSkpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5tb2RlPSJvZmZzZXQiLHRoaXMudGltZVByb3BlcnR5PSJzdGVwIix0aGlzLmJpbnM9ImJpbnMiLHRoaXMueD0ieCIsdGhpcy5keD0iZHgiLHRoaXMueT0ieSIsdGhpcy5jb2xvclNjYWxlPXlKdC5zY2FsZU9yZGluYWwoeUp0LnNjaGVtZUNhdGVnb3J5MTApLHRoaXMubW9kZVRyYW5zaXRpb25EdXJhdGlvbj01MDAsdGhpcy5fbmFtZT1udWxsLHRoaXMuX2RhdGE9bnVsbH1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLnN2ZywhMCl9YXR0YWNoZWQoKXt0aGlzLl9hdHRhY2hlZD0hMH1kZXRhY2hlZCgpe3RoaXMuX2F0dGFjaGVkPSExfXNldFNlcmllc0RhdGEodCxlKXt0aGlzLl9uYW1lPXQsdGhpcy5fZGF0YT1lLHRoaXMucmVkcmF3KCl9X3JlZHJhd09uQ2hhbmdlKCl7dGhpcy5yZWRyYXcoKX1yZWRyYXcoKXt0aGlzLl9kcmF3KDApfV9tb2RlUmVkcmF3KCl7dGhpcy5fZHJhdyh0aGlzLm1vZGVUcmFuc2l0aW9uRHVyYXRpb24pfV9kcmF3KHQpe2lmKCF0aGlzLl9hdHRhY2hlZHx8IXRoaXMuX2RhdGEpcmV0dXJuO2lmKHZvaWQgMD09PXQpdGhyb3cgbmV3IEVycm9yKCJ2ei1oaXN0b2dyYW0tdGltZXNlcmllcyBfZHJhdyBuZWVkcyBkdXJhdGlvbiIpO2lmKHRoaXMuX2RhdGEubGVuZ3RoPD0wKXRocm93IG5ldyBFcnJvcigiTm90IGVub3VnaCBzdGVwcyBpbiB0aGUgZGF0YSIpO2lmKCF0aGlzLl9kYXRhWzBdLmhhc093blByb3BlcnR5KHRoaXMuYmlucykpdGhyb3cgbmV3IEVycm9yKCJObyBiaW5zIHByb3BlcnR5IG9mICciK3RoaXMuYmlucysiJyBpbiBkYXRhIik7aWYodGhpcy5fZGF0YVswXVt0aGlzLmJpbnNdLmxlbmd0aDw9MCl0aHJvdyBuZXcgRXJyb3IoIk11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgYmluIGluIGJpbnMgaW4gZGF0YSIpO2lmKCF0aGlzLl9kYXRhWzBdW3RoaXMuYmluc11bMF0uaGFzT3duUHJvcGVydHkodGhpcy54KSl0aHJvdyBuZXcgRXJyb3IoIk5vIHggcHJvcGVydHkgJyIrdGhpcy54KyInIG9uIGJpbnMgZGF0YSIpO2lmKCF0aGlzLl9kYXRhWzBdW3RoaXMuYmluc11bMF0uaGFzT3duUHJvcGVydHkodGhpcy5keCkpdGhyb3cgbmV3IEVycm9yKCJObyBkeCBwcm9wZXJ0eSAnIit0aGlzLmR4KyInIG9uIGJpbnMgZGF0YSIpO2lmKCF0aGlzLl9kYXRhWzBdW3RoaXMuYmluc11bMF0uaGFzT3duUHJvcGVydHkodGhpcy55KSl0aHJvdyBuZXcgRXJyb3IoIk5vIHkgcHJvcGVydHkgJyIrdGhpcy55KyInIG9uIGJpbnMgZGF0YSIpO3ZhciBlPXRoaXMudGltZVByb3BlcnR5LG49dGhpcy54LGk9dGhpcy5iaW5zLHI9dGhpcy5keCxvPXRoaXMueSxhPXRoaXMuX2RhdGEscz10aGlzLm1vZGUsbD15SnQuaGNsKHRoaXMuY29sb3JTY2FsZSh0aGlzLl9uYW1lKSksYz15SnQuc2VsZWN0KHRoaXMuJC50b29sdGlwKSx1PWZ1bmN0aW9uKHQpe3JldHVybiB0W25dfSxoPWZ1bmN0aW9uKHQpe3JldHVybiB0W29dfSxkPWZ1bmN0aW9uKHQpe3JldHVybiB0W25dK3Rbcl19LHA9ZnVuY3Rpb24odCl7cmV0dXJuIHRbZV19OyJyZWxhdGl2ZSI9PT1lJiYocD1mdW5jdGlvbih0KXtyZXR1cm4gdC53YWxsX3RpbWUtYVswXS53YWxsX3RpbWV9KTt2YXIgZixtPXRoaXMuJC5zdmcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZz1tLndpZHRoLF89bS5oZWlnaHQseT17dG9wOjUscmlnaHQ6NjAsYm90dG9tOjIwLGxlZnQ6MjR9OyJvZmZzZXQiPT09cz95LnRvcD0oZj1fLzIuNSkrNTpmPV8teS50b3AteS5ib3R0b207dmFyIHY9Zy15LmxlZnQteS5yaWdodCxiPV8teS50b3AteS5ib3R0b207eUp0Lm1pbihhLHUpLHlKdC5tYXgoYSxkKTt2YXIgeD15SnQuZm9ybWF0KCIuM24iKSx3PXlKdC5mb3JtYXQoIi4wZiIpOyJ3YWxsX3RpbWUiPT09ZT93PXlKdC50aW1lRm9ybWF0KCIlbS8lZCAlWCIpOiJyZWxhdGl2ZSI9PT1lJiYodz1mdW5jdGlvbih0KXtyZXR1cm4geUp0LmZvcm1hdCgiLjFyIikodC8zNmU1KSsiaCJ9KTt2YXIgUz1hLm1hcCgoZnVuY3Rpb24odCxlKXtyZXR1cm5beUp0Lm1pbih0W2ldLHUpLHlKdC5tYXgodFtpXSxkKV19KSksTT1hLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHlKdC5leHRlbnQodFtpXSxoKX0pKSxFPTUwMCxUPXlKdC5leHRlbnQoYSxwKSxDPSgid2FsbF90aW1lIj09PWU/eUp0LnNjYWxlVGltZSgpOnlKdC5zY2FsZUxpbmVhcigpKS5kb21haW4oVCkucmFuZ2UoWzAsIm9mZnNldCI9PT1zP2I6MF0pLEE9eUp0LnNjYWxlTGluZWFyKCkuZG9tYWluKFswLHlKdC5tYXgoYSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gTVtlXVsxXX0pKV0pLnJhbmdlKFtmLDBdKSxrPXlKdC5zY2FsZUxpbmVhcigpLmRvbWFpbihBLmRvbWFpbigpKS5yYW5nZShbRSwwXSksTD15SnQuc2NhbGVMaW5lYXIoKS5kb21haW4oW3lKdC5taW4oYSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gU1tlXVswXX0pKSx5SnQubWF4KGEsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIFNbZV1bMV19KSldKS5uaWNlKCkucmFuZ2UoWzAsdl0pLFA9eUp0LnNjYWxlTGluZWFyKCkuZG9tYWluKEwuZG9tYWluKCkpLnJhbmdlKFswLEVdKTtjb25zdCBOPXlKdC5zY2FsZUxpbmVhcigpLmRvbWFpbih5SnQuZXh0ZW50KGEscCkpLnJhbmdlKFtsLmJyaWdodGVyKCksbC5kYXJrZXIoKV0pLmludGVycG9sYXRlKHlKdC5pbnRlcnBvbGF0ZUhjbCk7dmFyIEk9eUp0LmF4aXNCb3R0b20oTCkudGlja3MoTWF0aC5tYXgoMix2LzIwKSksUj15SnQuYXhpc1JpZ2h0KEMpLnRpY2tzKE1hdGgubWF4KDIsYi8xNSkpLnRpY2tGb3JtYXQodyksTz15SnQuYXhpc1JpZ2h0KEEpLnRpY2tzKE1hdGgubWF4KDIsYi8xNSkpLnRpY2tTaXplKHYrNSkudGlja0Zvcm1hdCh4KSx6PWZ1bmN0aW9uKHQpe3JldHVybiB0W25dK3Rbcl0vMn0sRD15SnQubGluZSgpLngoKGZ1bmN0aW9uKHQpe3JldHVybiBQKHoodCkpfSkpLnkoKGZ1bmN0aW9uKHQpe3JldHVybiBrKHRbb10pfSkpLEI9dGhpcy4kLnN2ZyxIPXlKdC5zZWxlY3QoQiksRj1ILnRyYW5zaXRpb24oKS5kdXJhdGlvbih0KSxWPUguc2VsZWN0KCJnIikuY2xhc3NlZCgic21hbGwiLChmdW5jdGlvbigpe3JldHVybiB2PjAmJnY8PTE1MH0pKS5jbGFzc2VkKCJtZWRpdW0iLChmdW5jdGlvbigpe3JldHVybiB2PjE1MCYmdjw9MzAwfSkpLmNsYXNzZWQoImxhcmdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gdj4zMDB9KSksVT1GLnNlbGVjdCgiZyIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK3kubGVmdCsiLCIreS50b3ArIikiKSxqPXlKdC5iaXNlY3RvcihkKS5sZWZ0LEc9Vi5zZWxlY3QoIi5zdGFnZSIpLm9uKCJtb3VzZW92ZXIiLChmdW5jdGlvbigpe0ouc3R5bGUoIm9wYWNpdHkiLDEpLGV0LnN0eWxlKCJvcGFjaXR5IiwxKSxydC5zdHlsZSgib3BhY2l0eSIsMSksc3Quc3R5bGUoIm9wYWNpdHkiLDEpLGMuc3R5bGUoIm9wYWNpdHkiLDEpfSkpLm9uKCJtb3VzZW91dCIsKGZ1bmN0aW9uKCl7Si5zdHlsZSgib3BhY2l0eSIsMCksZXQuc3R5bGUoIm9wYWNpdHkiLDApLHJ0LnN0eWxlKCJvcGFjaXR5IiwwKSxzdC5zdHlsZSgib3BhY2l0eSIsMCksSi5jbGFzc2VkKCJob3Zlci1jbG9zZXN0IiwhMSksSy5jbGFzc2VkKCJvdXRsaW5lLWhvdmVyIiwhMSksYy5zdHlsZSgib3BhY2l0eSIsMCl9KSkub24oIm1vdXNlbW92ZSIsKGZ1bmN0aW9uIFcoKXt2YXIgdCxhPXlKdC5tb3VzZSh0aGlzKSxsPUwuaW52ZXJ0KGFbMF0pO2Z1bmN0aW9uIHUodCl7cmV0dXJuIE1hdGgubWluKHRbaV0ubGVuZ3RoLTEsaih0W2ldLGwpKX1DLmludmVydChhWzFdKTt2YXIgaCxkPTEvMDtKLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKGUsbCl7dmFyIGM9dShlKTtoPWU7dmFyIG09TChlW2ldW2NdW25dK2VbaV1bY11bcl0vMiksZz1BKGVbaV1bY11bb10pLF89Im9mZnNldCI9PT1zP0MocChlKSktKGYtZyk6Zyx5PU1hdGguYWJzKGFbMV0tXyk7cmV0dXJuIHk8ZCYmKGQ9eSx0PWUpLCJ0cmFuc2xhdGUoIittKyIsIitnKyIpIn0pKSxKLnNlbGVjdCgidGV4dCIpLnRleHQoKGZ1bmN0aW9uKHQpe3ZhciBlPXUodCk7cmV0dXJuIHRbaV1bZV1bb119KSksSi5jbGFzc2VkKCJob3Zlci1jbG9zZXN0IiwoZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10fSkpLEsuY2xhc3NlZCgib3V0bGluZS1ob3ZlciIsKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dH0pKTt2YXIgbT11KGgpO2V0LmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQpe3JldHVybiJ0cmFuc2xhdGUoIitMKGhbaV1bbV1bbl0raFtpXVttXVtyXS8yKSsiLCAiK2IrIikifSkpLnNlbGVjdCgidGV4dCIpLnRleHQoKGZ1bmN0aW9uKHQpe3JldHVybiB4KGhbaV1bbV1bbl0raFtpXVttXVtyXS8yKX0pKTt2YXIgZz1SLnRpY2tGb3JtYXQoKTtydC5hdHRyKCJ0cmFuc2Zvcm0iLChmdW5jdGlvbihlKXtyZXR1cm4idHJhbnNsYXRlKCIrdisiLCAiKygib2Zmc2V0Ij09PXM/QyhwKHQpKTowKSsiKSJ9KSkuc3R5bGUoImRpc3BsYXkiLCJvZmZzZXQiPT09cz8iIjoibm9uZSIpLnNlbGVjdCgidGV4dCIpLnRleHQoKGZ1bmN0aW9uKGUpe3JldHVybiBnKHAodCkpfSkpO3ZhciBfPU8udGlja0Zvcm1hdCgpO3N0LmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKGUpe3JldHVybiJ0cmFuc2xhdGUoIit2KyIsICIrKCJvZmZzZXQiPT09cz8wOkEodFtpXVttXVtvXSkpKyIpIn0pKS5zdHlsZSgiZGlzcGxheSIsIm9mZnNldCI9PT1zPyJub25lIjoiIikuc2VsZWN0KCJ0ZXh0IikudGV4dCgoZnVuY3Rpb24oZSl7cmV0dXJuIF8odFtpXVttXVtvXSl9KSk7dmFyIHk9eUp0Lm1vdXNlKEIpO2Muc3R5bGUoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiKyh5WzBdKzE1KSsicHgsIisoeVsxXS0xNSkrInB4KSIpLnNlbGVjdCgic3BhbiIpLnRleHQoIm9mZnNldCI9PT1zP18odFtpXVttXVtvXSk6KCJzdGVwIj09PWU/InN0ZXAgIjoiIikrZyhwKHQpKSl9KSk7Ry5zZWxlY3QoIi5iYWNrZ3JvdW5kIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrLXkubGVmdCsiLCIrLXkudG9wKyIpIikuYXR0cigid2lkdGgiLGcpLmF0dHIoImhlaWdodCIsXyk7dmFyIHE9Ry5zZWxlY3RBbGwoIi5oaXN0b2dyYW0iKS5kYXRhKGEpO3EuZXhpdCgpLnJlbW92ZSgpO3ZhciBZPXEuZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsImhpc3RvZ3JhbSIpLFg9WS5tZXJnZShxKS5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiBwKHQpLXAoZSl9KSksJD1VLnNlbGVjdEFsbCgiLmhpc3RvZ3JhbSIpLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQpe3JldHVybiJ0cmFuc2xhdGUoMCwgIisoIm9mZnNldCI9PT1zP0MocCh0KSktZjowKSsiKSJ9KSk7WS5hcHBlbmQoImxpbmUiKS5hdHRyKCJjbGFzcyIsImJhc2VsaW5lIiksJC5zZWxlY3QoIi5iYXNlbGluZSIpLnN0eWxlKCJzdHJva2Utb3BhY2l0eSIsKGZ1bmN0aW9uKHQpe3JldHVybiJvZmZzZXQiPT09cz8uMTowfSkpLmF0dHIoInkxIixmKS5hdHRyKCJ5MiIsZikuYXR0cigieDIiLHYpLFkuYXBwZW5kKCJwYXRoIikuYXR0cigiY2xhc3MiLCJvdXRsaW5lIik7dmFyIEs9WC5zZWxlY3QoIi5vdXRsaW5lIikuYXR0cigidmVjdG9yLWVmZmVjdCIsIm5vbi1zY2FsaW5nLXN0cm9rZSIpLmF0dHIoImQiLChmdW5jdGlvbih0KXtyZXR1cm4oZnVuY3Rpb24odCl7cmV0dXJuIk0iK1Aoeih0WzBdKSkrIiwiK2soMCkrIkwiK0QodCkuc2xpY2UoMSkrIkwiK1Aoeih0W3QubGVuZ3RoLTFdKSkrIiwiK2soMCl9KSh0W2ldKX0pKS5zdHlsZSgic3Ryb2tlLXdpZHRoIiwxKTskLnNlbGVjdCgiLm91dGxpbmUiKS5hdHRyKCJ0cmFuc2Zvcm0iLCJzY2FsZSgiK3YvRSsiLCAiK2YvRSsiKSIpLnN0eWxlKCJzdHJva2UiLChmdW5jdGlvbih0KXtyZXR1cm4ib2Zmc2V0Ij09PXM/IiI6TihwKHQpKX0pKS5zdHlsZSgiZmlsbC1vcGFjaXR5IiwoZnVuY3Rpb24odCl7cmV0dXJuIm9mZnNldCI9PT1zPzE6MH0pKS5zdHlsZSgiZmlsbCIsKGZ1bmN0aW9uKHQpe3JldHVybiBOKHAodCkpfSkpO3ZhciBaPVkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJob3ZlciIpLEo9WC5zZWxlY3QoIi5ob3ZlciIpLnN0eWxlKCJmaWxsIiwoZnVuY3Rpb24odCl7cmV0dXJuIE4ocCh0KSl9KSk7Wi5hcHBlbmQoImNpcmNsZSIpLmF0dHIoInIiLDIpLFouYXBwZW5kKCJ0ZXh0Iikuc3R5bGUoImRpc3BsYXkiLCJub25lIikuYXR0cigiZHgiLDQpO3ZhciBRPVYuc2VsZWN0KCIueC1heGlzLWhvdmVyIikuc2VsZWN0QWxsKCIubGFiZWwiKS5kYXRhKFsieCJdKSx0dD1RLmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJsYWJlbCIpLGV0PVEubWVyZ2UodHQpO3R0LmFwcGVuZCgicmVjdCIpLmF0dHIoIngiLC0yMCkuYXR0cigieSIsNikuYXR0cigid2lkdGgiLDQwKS5hdHRyKCJoZWlnaHQiLDE0KSx0dC5hcHBlbmQoImxpbmUiKS5hdHRyKCJ4MSIsMCkuYXR0cigieDIiLDApLmF0dHIoInkxIiwwKS5hdHRyKCJ5MiIsNiksdHQuYXBwZW5kKCJ0ZXh0IikuYXR0cigiZHkiLDE4KTt2YXIgbnQ9Vi5zZWxlY3QoIi55LWF4aXMtaG92ZXIiKS5zZWxlY3RBbGwoIi5sYWJlbCIpLmRhdGEoWyJ5Il0pLGl0PW50LmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJsYWJlbCIpLHJ0PW50Lm1lcmdlKGl0KTtpdC5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4Iiw4KS5hdHRyKCJ5IiwtNikuYXR0cigid2lkdGgiLDQwKS5hdHRyKCJoZWlnaHQiLDE0KSxpdC5hcHBlbmQoImxpbmUiKS5hdHRyKCJ4MSIsMCkuYXR0cigieDIiLDYpLmF0dHIoInkxIiwwKS5hdHRyKCJ5MiIsMCksaXQuYXBwZW5kKCJ0ZXh0IikuYXR0cigiZHgiLDgpLmF0dHIoImR5Iiw0KTt2YXIgb3Q9Vi5zZWxlY3QoIi55LXNsaWNlLWF4aXMtaG92ZXIiKS5zZWxlY3RBbGwoIi5sYWJlbCIpLmRhdGEoWyJ5Il0pLGF0PW90LmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJsYWJlbCIpLHN0PW90Lm1lcmdlKGF0KTthdC5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4Iiw4KS5hdHRyKCJ5IiwtNikuYXR0cigid2lkdGgiLDQwKS5hdHRyKCJoZWlnaHQiLDE0KSxhdC5hcHBlbmQoImxpbmUiKS5hdHRyKCJ4MSIsMCkuYXR0cigieDIiLDYpLmF0dHIoInkxIiwwKS5hdHRyKCJ5MiIsMCksYXQuYXBwZW5kKCJ0ZXh0IikuYXR0cigiZHgiLDgpLmF0dHIoImR5Iiw0KSxVLnNlbGVjdCgiLnkuYXhpcy5zbGljZSIpLnN0eWxlKCJvcGFjaXR5Iiwib2Zmc2V0Ij09PXM/MDoxKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoMCwgIisoIm9mZnNldCI9PT1zPy1mOjApKyIpIikuY2FsbChPKSxVLnNlbGVjdCgiLnguYXhpcyIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgwLCAiK2IrIikiKS5jYWxsKEkpLFUuc2VsZWN0KCIueS5heGlzIikuc3R5bGUoIm9wYWNpdHkiLCJvZmZzZXQiPT09cz8xOjApLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK3YrIiwgIisoIm9mZnNldCI9PT1zPzA6YikrIikiKS5jYWxsKFIpLFUuc2VsZWN0QWxsKCIudGljayB0ZXh0IikuYXR0cigiZmlsbCIsIiNhYWEiKSxVLnNlbGVjdEFsbCgiLmF4aXMgcGF0aC5kb21haW4iKS5hdHRyKCJzdHJva2UiLCJub25lIil9fTtmdW5jdGlvbiBiSnQodCl7Y29uc3RbZSxuLGldPXQ7cmV0dXJue3dhbGxfdGltZTplLHN0ZXA6bixtaW46c2MoaS5tYXAoKChbdCwsXSk9PnQpKSksbWF4Om9jKGkubWFwKCgoWyx0XSk9PnQpKSksYnVja2V0czppLm1hcCgoKFt0LGUsbl0pPT4oe2xlZnQ6dCxyaWdodDplLGNvdW50Om59KSkpfX1mdW5jdGlvbiB4SnQodCxlLG4saT0zMCl7dm9pZCAwIT09ZSYmbnVsbCE9bnx8KGU9MCxuPTApLG49PT1lJiYobj0xLjEqZSsxLGU9ZS8xLjEtMSk7Y29uc3Qgcj0obi1lKS9pO2xldCBvPTA7Y29uc3QgYT1bXTtmb3IobGV0IHM9MDtzPGk7cysrKXtjb25zdCBpPWUrcypyLGw9aStyO2xldCBjPTA7Zm9yKDtvPHQuYnVja2V0cy5sZW5ndGg7KXtjb25zdCByPU1hdGgubWluKG4sdC5idWNrZXRzW29dLnJpZ2h0KSxhPU1hdGgubWF4KGUsdC5idWNrZXRzW29dLmxlZnQpO2lmKHItYT4wKXtjb25zdCBlPU1hdGgubWluKHIsbCktTWF0aC5tYXgoYSxpKSxuPWUvKHItYSkqdC5idWNrZXRzW29dLmNvdW50O2MrPWU+MD9uOjB9ZWxzZXtjb25zdCBlPWw+PW47Yys9aTw9YSYmKGU/cjw9bDpyPGwpP3QuYnVja2V0c1tvXS5jb3VudDowfWlmKHI+bClicmVhaztvKyt9YS5wdXNoKHt4OmksZHg6cix5OmN9KX1yZXR1cm4gYX12SnQudGVtcGxhdGU9eGVgCiAgICA8ZGl2IGlkPSJ0b29sdGlwIj48c3Bhbj48L3NwYW4+PC9kaXY+CiAgICA8c3ZnIGlkPSJzdmciPgogICAgICA8Zz4KICAgICAgICA8ZyBjbGFzcz0iYXhpcyB4Ij48L2c+CiAgICAgICAgPGcgY2xhc3M9ImF4aXMgeSI+PC9nPgogICAgICAgIDxnIGNsYXNzPSJheGlzIHkgc2xpY2UiPjwvZz4KICAgICAgICA8ZyBjbGFzcz0ic3RhZ2UiPgogICAgICAgICAgPHJlY3QgY2xhc3M9ImJhY2tncm91bmQiPjwvcmVjdD4KICAgICAgICA8L2c+CiAgICAgICAgPGcgY2xhc3M9IngtYXhpcy1ob3ZlciI+PC9nPgogICAgICAgIDxnIGNsYXNzPSJ5LWF4aXMtaG92ZXIiPjwvZz4KICAgICAgICA8ZyBjbGFzcz0ieS1zbGljZS1heGlzLWhvdmVyIj48L2c+CiAgICAgIDwvZz4KICAgIDwvc3ZnPgoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGNvbG9yOiAjYWFhOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIC0tdnotaGlzdG9ncmFtLXRpbWVzZXJpZXMtaG92ZXItYmctY29sb3I6ICNmZmY7CiAgICAgICAgLS12ei1oaXN0b2dyYW0tdGltZXNlcmllcy1vdXRsaW5lLWNvbG9yOiAjZmZmOwogICAgICAgIC0tdnotaGlzdG9ncmFtLXRpbWVzZXJpZXMtaG92ZXItb3V0bGluZS1jb2xvcjogIzAwMDsKICAgICAgfQoKICAgICAgOmhvc3QoLmRhcmstbW9kZSkgewogICAgICAgIC0tdnotaGlzdG9ncmFtLXRpbWVzZXJpZXMtaG92ZXItYmctY29sb3I6IHZhcigKICAgICAgICAgIC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yCiAgICAgICAgKTsKICAgICAgICAtLXZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzLW91dGxpbmUtY29sb3I6IHZhcigtLXBhcGVyLWdyZXktNjAwKTsKICAgICAgICAtLXZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzLWhvdmVyLW91dGxpbmUtY29sb3I6ICNmZmY7CiAgICAgIH0KCiAgICAgIHN2ZyB7CiAgICAgICAgZm9udC1mYW1pbHk6IHJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgIH0KCiAgICAgIHRleHQgewogICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsKICAgICAgfQoKICAgICAgI3Rvb2x0aXAgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQgewogICAgICAgIGZpbGwtb3BhY2l0eTogMDsKICAgICAgICBmaWxsOiByZWQ7CiAgICAgIH0KCiAgICAgIC5oaXN0b2dyYW0gewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuaG92ZXIgewogICAgICAgIGZvbnQtc2l6ZTogOXB4OwogICAgICAgIGRvbWluYW50LWJhc2VsaW5lOiBtaWRkbGU7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQoKICAgICAgLmhvdmVyIGNpcmNsZSB7CiAgICAgICAgc3Ryb2tlOiB3aGl0ZTsKICAgICAgICBzdHJva2Utb3BhY2l0eTogMC41OwogICAgICAgIHN0cm9rZS13aWR0aDogMXB4OwogICAgICB9CgogICAgICAuaG92ZXIgdGV4dCB7CiAgICAgICAgZmlsbDogYmxhY2s7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQoKICAgICAgLmhvdmVyLmhvdmVyLWNsb3Nlc3QgY2lyY2xlIHsKICAgICAgICBmaWxsOiB2YXIoLS12ei1oaXN0b2dyYW0tdGltZXNlcmllcy1ob3Zlci1vdXRsaW5lLWNvbG9yKSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuaG92ZXIuaG92ZXItY2xvc2VzdCB0ZXh0IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuYmFzZWxpbmUgewogICAgICAgIHN0cm9rZTogYmxhY2s7CiAgICAgICAgc3Ryb2tlLW9wYWNpdHk6IDAuMTsKICAgICAgfQoKICAgICAgLm91dGxpbmUgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgICAgc3Ryb2tlOiB2YXIoLS12ei1oaXN0b2dyYW0tdGltZXNlcmllcy1vdXRsaW5lLWNvbG9yKTsKICAgICAgICBzdHJva2Utb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAub3V0bGluZS5vdXRsaW5lLWhvdmVyIHsKICAgICAgICBzdHJva2U6IHZhcigtLXZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzLWhvdmVyLW91dGxpbmUtY29sb3IpICFpbXBvcnRhbnQ7CiAgICAgICAgc3Ryb2tlLW9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC54LWF4aXMtaG92ZXIsCiAgICAgIC55LWF4aXMtaG92ZXIsCiAgICAgIC55LXNsaWNlLWF4aXMtaG92ZXIgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAueC1heGlzLWhvdmVyIC5sYWJlbCwKICAgICAgLnktYXhpcy1ob3ZlciAubGFiZWwsCiAgICAgIC55LXNsaWNlLWF4aXMtaG92ZXIgLmxhYmVsIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICB0ZXh0LWFuY2hvcjogZW5kOwogICAgICB9CgogICAgICAueC1heGlzLWhvdmVyIHRleHQgewogICAgICAgIHRleHQtYW5jaG9yOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC55LWF4aXMtaG92ZXIgdGV4dCwKICAgICAgLnktc2xpY2UtYXhpcy1ob3ZlciB0ZXh0IHsKICAgICAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7CiAgICAgIH0KCiAgICAgIC54LWF4aXMtaG92ZXIgbGluZSwKICAgICAgLnktYXhpcy1ob3ZlciBsaW5lLAogICAgICAueS1zbGljZS1heGlzLWhvdmVyIGxpbmUgewogICAgICAgIHN0cm9rZTogY3VycmVudENvbG9yOwogICAgICB9CgogICAgICAueC1heGlzLWhvdmVyIHJlY3QsCiAgICAgIC55LWF4aXMtaG92ZXIgcmVjdCwKICAgICAgLnktc2xpY2UtYXhpcy1ob3ZlciByZWN0IHsKICAgICAgICBmaWxsOiB2YXIoLS12ei1oaXN0b2dyYW0tdGltZXNlcmllcy1ob3Zlci1iZy1jb2xvcik7CiAgICAgIH0KCiAgICAgICN0b29sdGlwLAogICAgICAueC1heGlzLWhvdmVyIHRleHQsCiAgICAgIC55LWF4aXMtaG92ZXIgdGV4dCwKICAgICAgLnktc2xpY2UtYXhpcy1ob3ZlciB0ZXh0IHsKICAgICAgICBjb2xvcjogdmFyKC0tdnotaGlzdG9ncmFtLXRpbWVzZXJpZXMtaG92ZXItb3V0bGluZS1jb2xvcik7CiAgICAgIH0KCiAgICAgIC5heGlzIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIH0KCiAgICAgIC5heGlzIHBhdGguZG9tYWluIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuYXhpcyAudGljayBsaW5lIHsKICAgICAgICBzdHJva2U6ICNkZGQ7CiAgICAgIH0KCiAgICAgIC5heGlzLnNsaWNlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAuYXhpcy5zbGljZSAudGljayBsaW5lIHsKICAgICAgICBzdHJva2UtZGFzaGFycmF5OiAyOwogICAgICB9CgogICAgICAuc21hbGwgLmF4aXMgdGV4dCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICAuc21hbGwgLmF4aXMgLnRpY2s6Zmlyc3Qtb2YtdHlwZSB0ZXh0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuc21hbGwgLmF4aXMgLnRpY2s6bGFzdC1vZi10eXBlIHRleHQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5tZWRpdW0gLmF4aXMgdGV4dCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICAubWVkaXVtIC5heGlzIC50aWNrOm50aC1jaGlsZCgybiArIDEpIHRleHQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5sYXJnZSAuYXhpcyB0ZXh0IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICAgIC5sYXJnZSAuYXhpcyAudGljazpudGgtY2hpbGQoMm4gKyAxKSB0ZXh0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHZKdC5wcm90b3R5cGUsIm1vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sdkp0LnByb3RvdHlwZSwidGltZVByb3BlcnR5Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHZKdC5wcm90b3R5cGUsImJpbnMiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sdkp0LnByb3RvdHlwZSwieCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx2SnQucHJvdG90eXBlLCJkeCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx2SnQucHJvdG90eXBlLCJ5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHZKdC5wcm90b3R5cGUsImNvbG9yU2NhbGUiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sdkp0LnByb3RvdHlwZSwibW9kZVRyYW5zaXRpb25EdXJhdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHZKdC5wcm90b3R5cGUsIl9hdHRhY2hlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx2SnQucHJvdG90eXBlLCJfbmFtZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sdkp0LnByb3RvdHlwZSwiX2RhdGEiLHZvaWQgMCksdChbYSgidGltZVByb3BlcnR5IiwiY29sb3JTY2FsZSIsIl9hdHRhY2hlZCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sdkp0LnByb3RvdHlwZSwiX3JlZHJhd09uQ2hhbmdlIixudWxsKSx0KFthKCJtb2RlIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSx2SnQucHJvdG90eXBlLCJfbW9kZVJlZHJhdyIsbnVsbCksdkp0PXQoW2koInZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzIildLHZKdCk7bGV0IHdKdD1jbGFzcyBleHRlbmRzKGJDdChjcih3ZSkpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5nZXREYXRhTG9hZE5hbWU9KHtydW46dH0pPT50LHRoaXMucmVxdWVzdERhdGE9KHQsZSxuKT0+e2NvbnN0IGk9RXIoKS5wbHVnaW5Sb3V0ZSgiaGlzdG9ncmFtcyIsIi9oaXN0b2dyYW1zIik7UHJvbWlzZS5hbGwodC5tYXAoKHQ9Pntjb25zdCBuPVBPKGkse3RhZzp0LnRhZyxydW46dC5ydW59KTtyZXR1cm4gdGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KG4pLnRoZW4oKG49PntlKHtpdGVtOnQsZGF0YTpufSl9KSl9KSkpLmZpbmFsbHkoKCgpPT57bigpfSkpfSx0aGlzLmxvYWREYXRhQ2FsbGJhY2s9KHQsZSxuKT0+e2NvbnN0IGk9KGZ1bmN0aW9uIHIodCl7Y29uc3QgZT10Lm1hcChiSnQpLG49c2MoZSwodD0+dC5taW4pKSxpPW9jKGUsKHQ9PnQubWF4KSk7cmV0dXJuIGUubWFwKCh0PT4oe3dhbGxfdGltZTp0LndhbGxfdGltZSxzdGVwOnQuc3RlcCxiaW5zOnhKdCh0LG4saSl9KSkpfSkobiksbz10aGlzLmdldERhdGFMb2FkTmFtZShlKTt0aGlzLiQuY2hhcnQuc2V0U2VyaWVzRGF0YShvLGkpfSx0aGlzLl9jb2xvclNjYWxlRnVuY3Rpb249X08sdGhpcy5fZXhwYW5kZWQ9ITF9X3JlbG9hZE9uUnVuVGFnUmVxdWVzdE1hbmFnZXJDaGFuZ2UoKXt0aGlzLnJlbG9hZCgpfV91cGRhdGVEYXRhVG9Mb2FkKCl7dGhpcy5kYXRhVG9Mb2FkPVt7cnVuOnRoaXMucnVuLHRhZzp0aGlzLnRhZ31dfWdldCBfcnVuQ29sb3IoKXtyZXR1cm4gdGhpcy5fY29sb3JTY2FsZUZ1bmN0aW9uKHRoaXMucnVuKX1yZWRyYXcoKXt0aGlzLiQuY2hhcnQucmVkcmF3KCl9X3RvZ2dsZUV4cGFuZGVkKHQpe3RoaXMuc2V0KCJfZXhwYW5kZWQiLCF0aGlzLl9leHBhbmRlZCksdGhpcy5yZWRyYXcoKX19O3dKdC50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1jYXJkLWhlYWRpbmcKICAgICAgdGFnPSJbW3RhZ11dIgogICAgICBydW49IltbcnVuXV0iCiAgICAgIGRpc3BsYXktbmFtZT0iW1t0YWdNZXRhZGF0YS5kaXNwbGF5TmFtZV1dIgogICAgICBkZXNjcmlwdGlvbj0iW1t0YWdNZXRhZGF0YS5kZXNjcmlwdGlvbl1dIgogICAgICBjb2xvcj0iW1tfcnVuQ29sb3JdXSIKICAgID48L3RmLWNhcmQtaGVhZGluZz4KICAgIDwhLS0KICAgICAgVGhlIG1haW4gaGlzdG9ncmFtIHRoYXQgd2UgcmVuZGVyLiBEYXRhIGlzIHNldCBkaXJlY3RseSB3aXRoCiAgICAgIFxgc2V0U2VyaWVzRGF0YVxgLCBub3Qgd2l0aCBhIGJvdW5kIHByb3BlcnR5LgogICAgLS0+CiAgICA8dnotaGlzdG9ncmFtLXRpbWVzZXJpZXMKICAgICAgaWQ9ImNoYXJ0IgogICAgICB0aW1lLXByb3BlcnR5PSJbW3RpbWVQcm9wZXJ0eV1dIgogICAgICBtb2RlPSJbW2hpc3RvZ3JhbU1vZGVdXSIKICAgICAgY29sb3Itc2NhbGU9IltbX2NvbG9yU2NhbGVGdW5jdGlvbl1dIgogICAgPjwvdnotaGlzdG9ncmFtLXRpbWVzZXJpZXM+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogcm93OyI+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgIHNlbGVjdGVkJD0iW1tfZXhwYW5kZWRdXSIKICAgICAgICBpY29uPSJmdWxsc2NyZWVuIgogICAgICAgIG9uLXRhcD0iX3RvZ2dsZUV4cGFuZGVkIgogICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHdpZHRoOiAzMzBweDsKICAgICAgICBoZWlnaHQ6IDIzNXB4OwogICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICB9CiAgICAgIDpob3N0KFtfZXhwYW5kZWRdKSB7CiAgICAgICAgd2lkdGg6IDcwMHB4OwogICAgICAgIGhlaWdodDogNTAwcHg7CiAgICAgIH0KCiAgICAgIHZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzIHsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGNvbG9yOiAjMjE5NmYzOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b25bc2VsZWN0ZWRdIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10Yi11aS1saWdodC1hY2NlbnQpOwogICAgICB9CgogICAgICB0Zi1jYXJkLWhlYWRpbmcgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgd2lkdGg6IDkwJTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHdKdC5wcm90b3R5cGUsInJ1biIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx3SnQucHJvdG90eXBlLCJ0YWciLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sd0p0LnByb3RvdHlwZSwiZ2V0RGF0YUxvYWROYW1lIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0sd0p0LnByb3RvdHlwZSwicmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sd0p0LnByb3RvdHlwZSwibG9hZERhdGFDYWxsYmFjayIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx3SnQucHJvdG90eXBlLCJ0YWdNZXRhZGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx3SnQucHJvdG90eXBlLCJ0aW1lUHJvcGVydHkiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sd0p0LnByb3RvdHlwZSwiaGlzdG9ncmFtTW9kZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLHdKdC5wcm90b3R5cGUsIl9jb2xvclNjYWxlRnVuY3Rpb24iLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sd0p0LnByb3RvdHlwZSwiX2V4cGFuZGVkIix2b2lkIDApLHQoW2EoInJ1biIsInRhZyIsInJlcXVlc3RNYW5hZ2VyIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSx3SnQucHJvdG90eXBlLCJfcmVsb2FkT25SdW5UYWdSZXF1ZXN0TWFuYWdlckNoYW5nZSIsbnVsbCksdChbYSgicnVuIiwidGFnIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSx3SnQucHJvdG90eXBlLCJfdXBkYXRlRGF0YVRvTG9hZCIsbnVsbCksdChbcygicnVuIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sd0p0LnByb3RvdHlwZSwiX3J1bkNvbG9yIixudWxsKSx3SnQ9dChbaSgidGYtaGlzdG9ncmFtLWxvYWRlciIpXSx3SnQpO2xldCBTSnQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJlbG9hZE9uUmVhZHk9ITAsdGhpcy5faGlzdG9ncmFtTW9kZT0ib2Zmc2V0Iix0aGlzLl90aW1lUHJvcGVydHk9InN0ZXAiLHRoaXMuX3Jlc3RhbXA9ITEsdGhpcy5fcmVxdWVzdE1hbmFnZXI9bmV3IGJyfV9yZWRyYXdDYXRlZ29yeVBhbmUodCxlKXtlJiZ0LnRhcmdldC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1oaXN0b2dyYW0tbG9hZGVyIikuZm9yRWFjaCgodD0+dC5yZWRyYXcoKSkpfXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLnJlbG9hZE9uUmVhZHkmJnRoaXMucmVsb2FkKCl9cmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKCk9Pnt0aGlzLl9yZWxvYWRIaXN0b2dyYW1zKCl9KSl9X2ZldGNoVGFncygpe2NvbnN0IHQ9RXIoKS5wbHVnaW5Sb3V0ZSgiaGlzdG9ncmFtcyIsIi90YWdzIik7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodCkudGhlbigodD0+e2lmKENlLmV4cG9ydHMuaXNFcXVhbCh0LHRoaXMuX3J1blRvVGFnSW5mbykpcmV0dXJuO2NvbnN0IGU9Q2UuZXhwb3J0cy5tYXBWYWx1ZXModCwodD0+T2JqZWN0LmtleXModCkpKSxuPWZyKGUpO3RoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwwPT09bi5sZW5ndGgpLHRoaXMuc2V0KCJfcnVuVG9UYWciLGUpLHRoaXMuc2V0KCJfcnVuVG9UYWdJbmZvIix0KSx0aGlzLmFzeW5jKCgoKT0+e3RoaXMuc2V0KCJfY2F0ZWdvcmllc0RvbVJlYWR5IiwhMCl9KSl9KSl9X3JlbG9hZEhpc3RvZ3JhbXMoKXt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtaGlzdG9ncmFtLWxvYWRlciIpLmZvckVhY2goKHQ9Pnt0LnJlbG9hZCgpfSkpfV9zaG91bGRPcGVuKHQpe3JldHVybiB0PD0yfWdldCBfY2F0ZWdvcmllcygpe3JldHVybiBJcih0aGlzLl9ydW5Ub1RhZyx0aGlzLl9zZWxlY3RlZFJ1bnMsdGhpcy5fdGFnRmlsdGVyKX1fdGFnTWV0YWRhdGEodCxlLG4pe3JldHVybiB0W2VdW25dfX07U0p0LnRlbXBsYXRlPXhlYAogICAgPHRmLWRhc2hib2FyZC1sYXlvdXQ+CiAgICAgIDxkaXYgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3MiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvcgogICAgICAgICAgICAgIGlkPSJoaXN0b2dyYW1Nb2RlU2VsZWN0b3IiCiAgICAgICAgICAgICAgbmFtZT0iSGlzdG9ncmFtIG1vZGUiCiAgICAgICAgICAgICAgc2VsZWN0ZWQtaWQ9Int7X2hpc3RvZ3JhbU1vZGV9fSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24gaWQ9Im92ZXJsYXkiPm92ZXJsYXk8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJvZmZzZXQiPm9mZnNldDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8L3RmLW9wdGlvbi1zZWxlY3Rvcj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvcgogICAgICAgICAgICAgIGlkPSJ0aW1lUHJvcGVydHlTZWxlY3RvciIKICAgICAgICAgICAgICBuYW1lPSJPZmZzZXQgdGltZSBheGlzIgogICAgICAgICAgICAgIHNlbGVjdGVkLWlkPSJ7e190aW1lUHJvcGVydHl9fSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24gaWQ9InN0ZXAiPnN0ZXA8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJyZWxhdGl2ZSI+cmVsYXRpdmU8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJ3YWxsX3RpbWUiPndhbGw8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24gcnVucy1zZWxlY3RvciI+CiAgICAgICAgICA8dGYtcnVucy1zZWxlY3RvciBzZWxlY3RlZC1ydW5zPSJ7e19zZWxlY3RlZFJ1bnN9fSI+CiAgICAgICAgICA8L3RmLXJ1bnMtc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IHNsb3Q9ImNlbnRlciI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJuby1kYXRhLXdhcm5pbmciPgogICAgICAgICAgICA8aDM+Tm8gaGlzdG9ncmFtIGRhdGEgd2FzIGZvdW5kLjwvaDM+CiAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICBZb3UgaGF2ZW7igJl0IHdyaXR0ZW4gYW55IGhpc3RvZ3JhbSBkYXRhIHRvIHlvdXIgZXZlbnQgZmlsZXMuCiAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICA8bGk+VGVuc29yQm9hcmQgY2Fu4oCZdCBmaW5kIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdeKAmXJlIG5ldyB0byB1c2luZyBUZW5zb3JCb2FyZCwgYW5kIHdhbnQgdG8gZmluZCBvdXQgaG93IHRvCiAgICAgICAgICAgICAgYWRkIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCIKICAgICAgICAgICAgICAgID5SRUFETUU8L2EKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgYW5kIHBlcmhhcHMgdGhlCiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL2dldF9zdGFydGVkL3N1bW1hcmllc19hbmRfdGVuc29yYm9hcmQiCiAgICAgICAgICAgICAgICA+VGVuc29yQm9hcmQgdHV0b3JpYWw8L2EKICAgICAgICAgICAgICA+LgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQjbXktdGVuc29yYm9hcmQtaXNudC1zaG93aW5nLWFueS1kYXRhLXdoYXRzLXdyb25nIgogICAgICAgICAgICAgICAgPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2EKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRmLXRhZy1maWx0ZXJlciB0YWctZmlsdGVyPSJ7e190YWdGaWx0ZXJ9fSI+PC90Zi10YWctZmlsdGVyZXI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldwogICAgICAgICAgICAgIGNhdGVnb3J5PSJbW2NhdGVnb3J5XV0iCiAgICAgICAgICAgICAgaW5pdGlhbC1vcGVuZWQ9IltbX3Nob3VsZE9wZW4oaW5kZXgpXV0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtaGlzdG9ncmFtLWxvYWRlcgogICAgICAgICAgICAgICAgICBydW49IltbaXRlbS5ydW5dXSIKICAgICAgICAgICAgICAgICAgdGFnPSJbW2l0ZW0udGFnXV0iCiAgICAgICAgICAgICAgICAgIGFjdGl2ZT0iW1thY3RpdmVdXSIKICAgICAgICAgICAgICAgICAgdGFnLW1ldGFkYXRhPSJbW190YWdNZXRhZGF0YShfcnVuVG9UYWdJbmZvLCBpdGVtLnJ1biwgaXRlbS50YWcpXV0iCiAgICAgICAgICAgICAgICAgIHRpbWUtcHJvcGVydHk9IltbX3RpbWVQcm9wZXJ0eV1dIgogICAgICAgICAgICAgICAgICBoaXN0b2dyYW0tbW9kZT0iW1tfaGlzdG9ncmFtTW9kZV1dIgogICAgICAgICAgICAgICAgICByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iCiAgICAgICAgICAgICAgICA+PC90Zi1oaXN0b2dyYW0tbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxTSnQucHJvdG90eXBlLCJyZWxvYWRPblJlYWR5Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFNKdC5wcm90b3R5cGUsIl9oaXN0b2dyYW1Nb2RlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFNKdC5wcm90b3R5cGUsIl90aW1lUHJvcGVydHkiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLFNKdC5wcm90b3R5cGUsIl9zZWxlY3RlZFJ1bnMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sU0p0LnByb3RvdHlwZSwiX3J1blRvVGFnIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFNKdC5wcm90b3R5cGUsIl9ydW5Ub1RhZ0luZm8iLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxTSnQucHJvdG90eXBlLCJfZGF0YU5vdEZvdW5kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFNKdC5wcm90b3R5cGUsIl90YWdGaWx0ZXIiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxTSnQucHJvdG90eXBlLCJfcmVzdGFtcCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFNKdC5wcm90b3R5cGUsIl9jYXRlZ29yaWVzRG9tUmVhZHkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxTSnQucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbcygiX3J1blRvVGFnIiwiX3NlbGVjdGVkUnVucyIsIl90YWdGaWx0ZXIiLCJfY2F0ZWdvcmllc0RvbVJlYWR5IiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxTSnQucHJvdG90eXBlLCJfY2F0ZWdvcmllcyIsbnVsbCksU0p0PXQoW2koInRmLWhpc3RvZ3JhbS1kYXNoYm9hcmQiKV0sU0p0KTtjbGFzcyBNSnR7Y29uc3RydWN0b3IodCxlLG49ITApe3RoaXMuX2FwaVVybD10LHRoaXMuX3JlcXVlc3RNYW5hZ2VyPWUsdGhpcy5fdXNlSHR0cEdldD1ufWdldEV4cGVyaW1lbnQodCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJleHBlcmltZW50Iix0KX1nZXREb3dubG9hZFVybCh0LGUsbil7cmV0dXJuIHRoaXMuX2FwaVVybCsiL2Rvd25sb2FkX2RhdGE/IituZXcgVVJMU2VhcmNoUGFyYW1zKHtmb3JtYXQ6dCxjb2x1bW5zVmlzaWJpbGl0eTpKU09OLnN0cmluZ2lmeShuKSxyZXF1ZXN0OkpTT04uc3RyaW5naWZ5KGUpfSl9bGlzdFNlc3Npb25Hcm91cHModCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJzZXNzaW9uX2dyb3VwcyIsdCl9bGlzdE1ldHJpY0V2YWxzKHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgibWV0cmljX2V2YWxzIix0KX1fc2VuZFJlcXVlc3QodCxlKXtpZih0aGlzLl91c2VIdHRwR2V0KXtjb25zdCBuPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShlKSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodGhpcy5fYXBpVXJsKyIvIit0KyI/cmVxdWVzdD0iK24pfWNvbnN0IG49bmV3IHZyO24ud2l0aENyZWRlbnRpYWxzPSEwLG4ubWV0aG9kVHlwZT15ci5QT1NULG4uY29udGVudFR5cGU9InRleHQvcGxhaW4iLG4uYm9keT1KU09OLnN0cmluZ2lmeShlKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdFdpdGhPcHRpb25zKHRoaXMuX2FwaVVybCsiLyIrdCxuKX19bGV0IEVKdD1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm9yaWVudGF0aW9uPSJob3Jpem9udGFsIn19O2Z1bmN0aW9uIFRKdCh0KXtyZXR1cm4iIiE9PXQuZGlzcGxheU5hbWUmJnZvaWQgMCE9PXQuZGlzcGxheU5hbWU/dC5kaXNwbGF5TmFtZTp0Lm5hbWV9ZnVuY3Rpb24gQ0p0KHQpe2lmKCIiIT09dC5kaXNwbGF5TmFtZSYmdm9pZCAwIT09dC5kaXNwbGF5TmFtZSlyZXR1cm4gdC5kaXNwbGF5TmFtZTtsZXQgZT10Lm5hbWUuZ3JvdXAsbj10Lm5hbWUudGFnO3JldHVybiB2b2lkIDA9PT1lJiYoZT0iIiksdm9pZCAwPT09biYmKG49IiIpLCIiPT09ZT9uOmUrIi4iK259ZnVuY3Rpb24gQUp0KHQsZSl7aWYoZTx0LmhwYXJhbUNvbHVtbnMubGVuZ3RoKXJldHVybiBUSnQodC5ocGFyYW1Db2x1bW5zW2VdLmhwYXJhbUluZm8pO3JldHVybiBDSnQodC5tZXRyaWNDb2x1bW5zW2UtdC5ocGFyYW1Db2x1bW5zLmxlbmd0aF0ubWV0cmljSW5mbyl9ZnVuY3Rpb24ga0p0KHQpe3JldHVybiB0LmhwYXJhbUNvbHVtbnMubGVuZ3RofWZ1bmN0aW9uIExKdCh0KXtyZXR1cm4gdC5tZXRyaWNDb2x1bW5zLmxlbmd0aH1mdW5jdGlvbiBQSnQodCl7cmV0dXJuIGtKdCh0KStMSnQodCl9ZnVuY3Rpb24gTkp0KHQsZSl7cmV0dXJuIHRbZV19ZnVuY3Rpb24gSUp0KHQsZSl7cmV0dXJuIHQuZmluZCgodD0+Q2UuZXhwb3J0cy5pc0VxdWFsKHQubmFtZSxlKSkpfWZ1bmN0aW9uIFJKdCh0LGUsbil7cmV0dXJuIGUuaHBhcmFtc1t0LmhwYXJhbUNvbHVtbnNbbl0uaHBhcmFtSW5mby5uYW1lXX1mdW5jdGlvbiBPSnQodCxlLG4pe2NvbnN0IGk9SUp0KGUubWV0cmljVmFsdWVzLHQubWV0cmljQ29sdW1uc1tuXS5tZXRyaWNJbmZvLm5hbWUpO3JldHVybiB2b2lkIDA9PT1pP3ZvaWQgMDppLnZhbHVlfWZ1bmN0aW9uIHpKdCh0LGUsbil7cmV0dXJuIG48dC5ocGFyYW1Db2x1bW5zLmxlbmd0aD9SSnQodCxlLG4pOk9KdCh0LGUsbi10LmhwYXJhbUNvbHVtbnMubGVuZ3RoKX1mdW5jdGlvbiBESnQodCxlLG4pe3JldHVybiBHbChlLChlPT56SnQodCxlLG4pKSl9ZnVuY3Rpb24gQkp0KHQsZSxuKXtsZXQgaTtpZihuPGUuaHBhcmFtSW5mb3MubGVuZ3RoKWk9dC5ocGFyYW1Db2x1bW5zLmZpbmRJbmRleCgodD0+dC5ocGFyYW1JbmZvLm5hbWU9PT1lLmhwYXJhbUluZm9zW25dLm5hbWUpKTtlbHNle2NvbnN0IHI9ZS5tZXRyaWNJbmZvc1tuLWUuaHBhcmFtSW5mb3MubGVuZ3RoXS5uYW1lO2k9dC5ocGFyYW1Db2x1bW5zLmxlbmd0aCt0Lm1ldHJpY0NvbHVtbnMuZmluZEluZGV4KCh0PT50Lm1ldHJpY0luZm8ubmFtZT09PXIpKX1yZXR1cm4gY29uc29sZS5hc3NlcnQoLTEhPT1pKSxpfWZ1bmN0aW9uIEhKdCh0KXtyZXR1cm4gdC5ocGFyYW1JbmZvcy5sZW5ndGh9ZnVuY3Rpb24gRkp0KHQpe3JldHVybiB0Lm1ldHJpY0luZm9zLmxlbmd0aH1mdW5jdGlvbiBWSnQodCxlLG4pe3JldHVybiBHbChlLChlPT5XSnQodCxlLG4pKSl9ZnVuY3Rpb24gVUp0KHQsZSl7cmV0dXJuIHQuZmluZCgodD0+dC5uYW1lPT09ZSkpfWZ1bmN0aW9uIGpKdCh0LGUsbil7cmV0dXJuIGUuaHBhcmFtc1t0LmhwYXJhbUluZm9zW25dLm5hbWVdfWZ1bmN0aW9uIEdKdCh0LGUsbil7Y29uc3QgaT1JSnQoZS5tZXRyaWNWYWx1ZXMsdC5tZXRyaWNJbmZvc1tuXS5uYW1lKTtyZXR1cm4gdm9pZCAwPT09aT92b2lkIDA6aS52YWx1ZX1mdW5jdGlvbiBXSnQodCxlLG4pe3JldHVybiBuPHQuaHBhcmFtSW5mb3MubGVuZ3RoP2pKdCh0LGUsbik6R0p0KHQsZSxuLXQuaHBhcmFtSW5mb3MubGVuZ3RoKX1mdW5jdGlvbiBxSnQodCl7cmV0dXJuIENlLmV4cG9ydHMuaXNOdW1iZXIodCk/dC50b1ByZWNpc2lvbig1KTp2b2lkIDA9PT10PyIiOnQudG9TdHJpbmcoKX1mdW5jdGlvbiBZSnQodCxlKXtyZXR1cm4gdCp0K2UqZX1mdW5jdGlvbiBYSnQodCxlLG4saSl7cmV0dXJuIE1hdGguc3FydChZSnQodC1uLGUtaSkpfWZ1bmN0aW9uICRKdCh0LGUsbixpLHIsbyl7aWYodDxuJiZlPGkpcmV0dXJuIFhKdCh0LGUsbixpKTtpZihuPD10JiZ0PHImJmU8aSlyZXR1cm4gaS1lO2lmKHI8PXQmJmU8aSlyZXR1cm4gWEp0KHQsZSxyLGkpO2lmKHQ8biYmaTw9ZSYmZTxvKXJldHVybiBuLXQ7aWYobjw9dCYmdDxyJiZpPD1lJiZlPG8pcmV0dXJuIDA7aWYocjw9dCYmaTw9ZSYmZTxvKXJldHVybiB0LXI7aWYodDxuJiZvPD1lKXJldHVybiBYSnQodCxlLG4sbyk7aWYobjw9dCYmdDxyJiZvPD1lKXJldHVybiBlLW87aWYocjw9dCYmbzw9ZSlyZXR1cm4gWEp0KHQsZSxyLG8pO3Rocm93IlBvaW50ICh4LHkpIG11c3QgYmUgaW4gb25lIG9mIHRoZSByZWdpb25zIGRlZmluZWQgYWJvdmUuIn1mdW5jdGlvbiBLSnQodCxlKXtyZXR1cm4gdm9pZCAwPT09ZT8idHJhbnNsYXRlKCIrdCsiKSI6InRyYW5zbGF0ZSgiK3QrIiwiK2UrIikifWZ1bmN0aW9uIFpKdCh0LGUsbil7Y29uc3QgaT10LmdldChlLHQpO0FycmF5LmlzQXJyYXkoaSk/dC5zcGxpY2UuYXBwbHkodCxbZSwwLGkubGVuZ3RoXS5jb25jYXQobikpOnQuc2V0KGUsbil9ZnVuY3Rpb24gSkp0KHQpe2xldCBlPTA7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDsrK24pZT0zMSplK3QuY2hhckNvZGVBdChuKSY0Mjk0OTY3Mjk1O3JldHVybiBlK01hdGgucG93KDIsMzEpfUVKdC50ZW1wbGF0ZT14ZWAKICAgIDxzbG90IG5hbWU9ImNvbnRlbnQiPjwvc2xvdD4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgOmhvc3Qgc2xvdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIDpob3N0IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgZmxleDogMCAwIGF1dG87CiAgICAgIH0KCiAgICAgIDpob3N0KFtvcmllbnRhdGlvbj0naG9yaXpvbnRhbCddKSBzbG90IHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgIH0KCiAgICAgIDpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXSkgc2xvdCB7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICA6aG9zdCA6OnNsb3R0ZWQoKjpub3QoOmxhc3QtY2hpbGQpKSB7CiAgICAgICAgYm9yZGVyOiAwIHNvbGlkIHZhcigtLWRpdmlkZXItY29sb3IsICNjY2MpOwogICAgICB9CgogICAgICA6aG9zdChbb3JpZW50YXRpb249J3ZlcnRpY2FsJ10pIDo6c2xvdHRlZCgqOm5vdCg6bGFzdC1jaGlsZCkpIHsKICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiA1cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtvcmllbnRhdGlvbj0naG9yaXpvbnRhbCddKSA6OnNsb3R0ZWQoKjpub3QoOmxhc3QtY2hpbGQpKSB7CiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiA1cHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOlN0cmluZyxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRUp0LnByb3RvdHlwZSwib3JpZW50YXRpb24iLHZvaWQgMCksRUp0PXQoW2koImhwYXJhbXMtc3BsaXQtbGF5b3V0IildLEVKdCk7dmFyIFFKdD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxocGFyYW1OYW1lOlRKdCxtZXRyaWNOYW1lOkNKdCxzY2hlbWFDb2x1bW5OYW1lOkFKdCxudW1IUGFyYW1zOmtKdCxudW1NZXRyaWNzOkxKdCxudW1Db2x1bW5zOlBKdCxocGFyYW1WYWx1ZUJ5TmFtZTpOSnQsbWV0cmljVmFsdWVCeU5hbWU6SUp0LGhwYXJhbVZhbHVlQnlJbmRleDpSSnQsbWV0cmljVmFsdWVCeUluZGV4Ok9KdCxjb2x1bW5WYWx1ZUJ5SW5kZXg6ekp0LG51bWVyaWNDb2x1bW5FeHRlbnQ6REp0LGdldEFic29sdXRlQ29sdW1uSW5kZXg6Qkp0LHNjaGVtYVZpc2libGVDb2x1bW5OYW1lOmZ1bmN0aW9uIHRRdCh0LGUpe3JldHVybiBlPHQuaHBhcmFtSW5mb3MubGVuZ3RoP1RKdCh0LmhwYXJhbUluZm9zW2VdKTpDSnQodC5tZXRyaWNJbmZvc1tlLXQuaHBhcmFtSW5mb3MubGVuZ3RoXSl9LG51bVZpc2libGVIUGFyYW1zOkhKdCxudW1WaXNpYmxlTWV0cmljczpGSnQsbnVtVmlzaWJsZUNvbHVtbnM6ZnVuY3Rpb24gZVF0KHQpe3JldHVybiBISnQodCkrRkp0KHQpfSx2aXNpYmxlTnVtZXJpY0NvbHVtbkV4dGVudDpWSnQscHJldHR5UHJpbnRIUGFyYW1WYWx1ZUJ5TmFtZTpmdW5jdGlvbiBuUXQodCxlKXtyZXR1cm4gcUp0KE5KdCh0LGUpKX0scHJldHR5UHJpbnRNZXRyaWNWYWx1ZUJ5TmFtZTpmdW5jdGlvbiBpUXQodCxlKXtyZXR1cm4gcUp0KElKdCh0LGUpKX0sc2Vzc2lvbkdyb3VwV2l0aE5hbWU6VUp0LGhwYXJhbVZhbHVlQnlWaXNpYmxlSW5kZXg6akp0LG1ldHJpY1ZhbHVlQnlWaXNpYmxlSW5kZXg6R0p0LGNvbHVtblZhbHVlQnlWaXNpYmxlSW5kZXg6V0p0LHByZXR0eVByaW50OnFKdCxsMk5vcm1TcXVhcmVkOllKdCxldWNsaWRlYW5EaXN0OlhKdCxwb2ludFRvUmVjdGFuZ2xlRGlzdDokSnQsdHJhbnNsYXRlU3RyOktKdCxyb3RhdGVTdHI6ZnVuY3Rpb24gclF0KHQsZSxuKXtsZXQgaT0icm90YXRlKCIrdDtyZXR1cm4gdm9pZCAwIT09ZSYmdm9pZCAwIT09biYmKGk9aSsiLCIrZSsiLCIrbiksaSs9IikiLGl9LGlzTnVsbE9yVW5kZWZpbmVkOmZ1bmN0aW9uIG9RdCh0KXtyZXR1cm4gbnVsbD09dH0scXVhZFRyZWVWaXNpdFBvaW50c0luUmVjdDpmdW5jdGlvbiBhUXQodCxlLG4saSxyLG8pe3QudmlzaXQoKChhLHMsbCxjLHUpPT57aWYodm9pZCAwPT09YS5sZW5ndGgpe2Rve2NvbnN0IHM9dC54KCkoYS5kYXRhKSxsPXQueSgpKGEuZGF0YSk7ZTw9cyYmczxpJiZuPD1sJiZsPHImJm8oYS5kYXRhKX13aGlsZShhPWEubmV4dCk7cmV0dXJuITB9cmV0dXJuIHM+PWl8fGM8PWV8fGw+PXJ8fHU8PW59KSl9LHF1YWRUcmVlVmlzaXRQb2ludHNJbkRpc2s6ZnVuY3Rpb24gc1F0KHQsZSxuLGkscil7dC52aXNpdCgoKG8sYSxzLGwsYyk9PntpZih2b2lkIDA9PT1vLmxlbmd0aCl7ZG97Y29uc3QgYT10LngoKShvLmRhdGEpLHM9dC55KCkoby5kYXRhKSxsPVhKdChlLG4sYSxzKTtsPD1pJiZyKG8uZGF0YSxsKX13aGlsZShvPW8ubmV4dCk7cmV0dXJuITB9cmV0dXJuICRKdChlLG4sYSxzLGwsYyk+aX0pKX0sZmlsdGVyU2V0OmZ1bmN0aW9uIGxRdCh0LGUpe2NvbnN0IG49bmV3IFNldDtyZXR1cm4gdC5mb3JFYWNoKCh0PT57ZSh0KSYmbi5hZGQodCl9KSksbn0sc2V0QXJyYXlPYnNlcnZhYmx5OlpKdCxoYXNoT2ZTdHJpbmc6Skp0fSk7bGV0IGNRdD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuY29uZmlndXJhdGlvbj17c2NoZW1hOntocGFyYW1Db2x1bW5zOltdLG1ldHJpY0NvbHVtbnM6W119LGNvbHVtbnNWaXNpYmlsaXR5OltdLHZpc2libGVTY2hlbWE6e2hwYXJhbUluZm9zOltdLG1ldHJpY0luZm9zOltdfX0sdGhpcy5zZXNzaW9uR3JvdXBzPVtdLHRoaXMuZGF0YUxvYWRlZFdpdGhOb25FbXB0eUhwYXJhbXM9ITEsdGhpcy5kYXRhTG9hZGVkV2l0aEVtcHR5SHBhcmFtcz0hMSx0aGlzLl9zdGF0dXNlcz1be3ZhbHVlOiJTVEFUVVNfVU5LTk9XTiIsZGlzcGxheU5hbWU6IlVua25vd24iLGFsbG93ZWQ6ITB9LHt2YWx1ZToiU1RBVFVTX1NVQ0NFU1MiLGRpc3BsYXlOYW1lOiJTdWNjZXNzIixhbGxvd2VkOiEwfSx7dmFsdWU6IlNUQVRVU19GQUlMVVJFIixkaXNwbGF5TmFtZToiRmFpbHVyZSIsYWxsb3dlZDohMH0se3ZhbHVlOiJTVEFUVVNfUlVOTklORyIsZGlzcGxheU5hbWU6IlJ1bm5pbmciLGFsbG93ZWQ6ITB9XSx0aGlzLl9nZXRFeHBlcmltZW50UmVzb2x2ZWQ9bmV3IFByb21pc2UoKHQ9Pnt0aGlzLl9yZXNvbHZlR2V0RXhwZXJpbWVudD10fSkpLHRoaXMuX2xpc3RTZXNzaW9uR3JvdXBzQ2FuY2VsbGVyPW5ldyB4Tyx0aGlzLl9wYWdlU2l6ZUlucHV0PXt2YWx1ZToiMTAwIixpbnZhbGlkOiExfSx0aGlzLl9wYWdlTnVtYmVySW5wdXQ9e3ZhbHVlOiIxIixpbnZhbGlkOiExfSx0aGlzLl9wYWdlQ291bnRTdHI9Ij8iLHRoaXMuX2hwYXJhbU5hbWU9VEp0LHRoaXMuX21ldHJpY05hbWU9Q0p0LHRoaXMuX3ByZXR0eVByaW50PXFKdH1yZWxvYWQoKXt0aGlzLl9xdWVyeVNlcnZlcigpfV9jc3ZVcmwodCxlKXtyZXR1cm4gdGhpcy5fZG93bmxvYWREYXRhVXJsKHQsZSwiY3N2Iil9X2pzb25VcmwodCxlKXtyZXR1cm4gdGhpcy5fZG93bmxvYWREYXRhVXJsKHQsZSwianNvbiIpfV9sYXRleFVybCh0LGUpe3JldHVybiB0aGlzLl9kb3dubG9hZERhdGFVcmwodCxlLCJsYXRleCIpfV9kb3dubG9hZERhdGFVcmwodCxlLG4pe3JldHVybiB0aGlzLmJhY2tlbmQuZ2V0RG93bmxvYWRVcmwobix0LGUuY29sdW1uc1Zpc2liaWxpdHkpfV9jb21wdXRlRXhwZXJpbWVudEFuZFJlbGF0ZWRQcm9wcygpe2NvbnN0IHQ9UUp0O2lmKHQuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5iYWNrZW5kKXx8dC5pc051bGxPclVuZGVmaW5lZCh0aGlzLmV4cGVyaW1lbnROYW1lKSlyZXR1cm47dGhpcy5iYWNrZW5kLmdldEV4cGVyaW1lbnQoe2V4cGVyaW1lbnROYW1lOnRoaXMuZXhwZXJpbWVudE5hbWV9KS50aGVuKCh0PT57Q2UuZXhwb3J0cy5pc0VxdWFsKHQsdGhpcy5fZXhwZXJpbWVudCl8fCh0aGlzLnNldCgiX2V4cGVyaW1lbnQiLHQpLHRoaXMuX2NvbXB1dGVIUGFyYW1zKCksdGhpcy5fY29tcHV0ZU1ldHJpY3MoKSx0aGlzLl9xdWVyeVNlcnZlcigpLHRoaXMuX3Jlc29sdmVHZXRFeHBlcmltZW50KCkpfSkpLmZpbmFsbHkoKCgpPT57dGhpcy5fY29tcHV0ZURhdGFGb3VuZCgpfSkpfV9jb21wdXRlRGF0YUZvdW5kKCl7Y29uc3QgdD1Cb29sZWFuKHRoaXMuX2V4cGVyaW1lbnQmJnRoaXMuX2V4cGVyaW1lbnQuaHBhcmFtSW5mb3MmJnRoaXMuX2V4cGVyaW1lbnQuaHBhcmFtSW5mb3MubGVuZ3RoPjAmJnRoaXMuX2V4cGVyaW1lbnQubWV0cmljSW5mb3MmJnRoaXMuX2V4cGVyaW1lbnQubWV0cmljSW5mb3MubGVuZ3RoPjApO3RoaXMuc2V0KCJkYXRhTG9hZGVkV2l0aE5vbkVtcHR5SHBhcmFtcyIsdCksdGhpcy5zZXQoImRhdGFMb2FkZWRXaXRoRW1wdHlIcGFyYW1zIiwhdCl9X2NvbXB1dGVIUGFyYW1zKCl7Y29uc3QgdD1bXTt0aGlzLl9leHBlcmltZW50LmhwYXJhbUluZm9zLmZvckVhY2goKChlLG4pPT57Y29uc3QgaT17aW5mbzplLGRpc3BsYXllZDpuPDUsZmlsdGVyOnt9fTtpLmluZm8uaGFzT3duUHJvcGVydHkoImRvbWFpbkRpc2NyZXRlIik/KGkuZmlsdGVyLmRvbWFpbkRpc2NyZXRlPVtdLGkuaW5mby5kb21haW5EaXNjcmV0ZS5mb3JFYWNoKCh0PT57aS5maWx0ZXIuZG9tYWluRGlzY3JldGUucHVzaCh7dmFsdWU6dCxjaGVja2VkOiEwfSl9KSkpOiJEQVRBX1RZUEVfQk9PTCI9PT1pLmluZm8udHlwZT9pLmZpbHRlci5kb21haW5EaXNjcmV0ZT1be3ZhbHVlOiExLGNoZWNrZWQ6ITB9LHt2YWx1ZTohMCxjaGVja2VkOiEwfV06IkRBVEFfVFlQRV9GTE9BVDY0Ij09PWkuaW5mby50eXBlP2kuZmlsdGVyLmludGVydmFsPXttaW46e3ZhbHVlOiIiLGludmFsaWQ6ITF9LG1heDp7dmFsdWU6IiIsaW52YWxpZDohMX19OiJEQVRBX1RZUEVfU1RSSU5HIj09PWkuaW5mby50eXBlP2kuZmlsdGVyLnJlZ2V4cD0iIjpjb25zb2xlLndhcm4oInVua25vd24gaHBhcmFtLmluZm8udHlwZTogJXMiLGkuaW5mby50eXBlKSx0LnB1c2goaSl9KSksdGhpcy5zZXQoIl9ocGFyYW1zIix0KX1fY29tcHV0ZU1ldHJpY3MoKXtjb25zdCB0PVtdO3RoaXMuX2V4cGVyaW1lbnQubWV0cmljSW5mb3MuZm9yRWFjaCgoKGUsbik9Pnt0LnB1c2goe2luZm86ZSxmaWx0ZXI6e2ludGVydmFsOnttaW46e3ZhbHVlOiIiLGludmFsaWQ6ITF9LG1heDp7dmFsdWU6IiIsaW52YWxpZDohMX19fSxkaXNwbGF5ZWQ6bjw1fSl9KSksdGhpcy5zZXQoIl9tZXRyaWNzIix0KX1fY29tcHV0ZVNjaGVtYSgpe3JldHVybiB0aGlzLl9ocGFyYW1zJiZ0aGlzLl9tZXRyaWNzP3tocGFyYW1Db2x1bW5zOnRoaXMuX2hwYXJhbXMubWFwKCh0PT4oe2hwYXJhbUluZm86dC5pbmZvfSkpKSxtZXRyaWNDb2x1bW5zOnRoaXMuX21ldHJpY3MubWFwKCh0PT4oe21ldHJpY0luZm86dC5pbmZvfSkpKX06e2hwYXJhbUNvbHVtbnM6W10sbWV0cmljQ29sdW1uczpbXX19X3VwZGF0ZUNvbmZpZ3VyYXRpb24oKXt0aGlzLmRlYm91bmNlKCJfdXBkYXRlQ29uZmlndXJhdGlvbiIsKCgpPT57dGhpcy5jb25maWd1cmF0aW9uPXtzY2hlbWE6dGhpcy5fY29tcHV0ZVNjaGVtYSgpLGNvbHVtbnNWaXNpYmlsaXR5OnRoaXMuX2NvbXB1dGVDb2x1bW5zVmlzaWJpbGl0eSgpLHZpc2libGVTY2hlbWE6dGhpcy5fY29tcHV0ZVZpc2libGVTY2hlbWEoKX19KSl9X2NvbXB1dGVDb2x1bW5zVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9ocGFyYW1zJiZ0aGlzLl9tZXRyaWNzP3RoaXMuX2hwYXJhbXMubWFwKCh0PT50LmRpc3BsYXllZCkpLmNvbmNhdCh0aGlzLl9tZXRyaWNzLm1hcCgodD0+dC5kaXNwbGF5ZWQpKSk6W119X2NvbXB1dGVWaXNpYmxlU2NoZW1hKCl7aWYoIXRoaXMuX2hwYXJhbXN8fCF0aGlzLl9tZXRyaWNzKXJldHVybntocGFyYW1JbmZvczpbXSxtZXRyaWNJbmZvczpbXX07cmV0dXJue2hwYXJhbUluZm9zOnRoaXMuX2hwYXJhbXMuZmlsdGVyKCh0PT50LmRpc3BsYXllZCkpLm1hcCgodD0+dC5pbmZvKSksbWV0cmljSW5mb3M6dGhpcy5fbWV0cmljcy5maWx0ZXIoKHQ9PnQuZGlzcGxheWVkKSkubWFwKCh0PT50LmluZm8pKX19X3F1ZXJ5U2VydmVyKCl7dGhpcy5kZWJvdW5jZSgicXVlcnlTZXJ2ZXIiLCgoKT0+dGhpcy5fcXVlcnlTZXJ2ZXJOb0RlYm91bmNlKCkpLDEwMCl9X3F1ZXJ5U2VydmVyTm9EZWJvdW5jZSgpe2lmKHRoaXMuX2hwYXJhbXMmJnRoaXMuX21ldHJpY3MpcmV0dXJuIHRoaXMuX3NlbmRMaXN0U2Vzc2lvbkdyb3Vwc1JlcXVlc3QoKS50aGVuKHRoaXMuX2xpc3RTZXNzaW9uR3JvdXBzQ2FuY2VsbGVyLmNhbmNlbGxhYmxlKCgoe3ZhbHVlOnQsY2FuY2VsbGVkOmV9KT0+e2lmKCFlKXtpZih0LnRvdGFsU2l6ZT49MCl7dGhpcy5zZXQoIl9wYWdlQ291bnRTdHIiLFN0cmluZyhNYXRoLmNlaWwodC50b3RhbFNpemUvK3RoaXMuX3BhZ2VTaXplSW5wdXQudmFsdWUpKSksdGhpcy5zZXQoIl90b3RhbFNlc3Npb25Hcm91cHNDb3VudFN0ciIsdC50b3RhbFNpemUpfWVsc2UgdGhpcy5zZXQoIl9wYWdlQ291bnRTdHIiLCI/IiksdGhpcy5zZXQoIl90b3RhbFNlc3Npb25Hcm91cHNDb3VudFN0ciIsIlVua25vd24iKTtaSnQodGhpcywic2Vzc2lvbkdyb3VwcyIsdC5zZXNzaW9uR3JvdXBzKX19KSkpfV9zZW5kTGlzdFNlc3Npb25Hcm91cHNSZXF1ZXN0KCl7Y29uc3QgdD10aGlzLl9idWlsZExpc3RTZXNzaW9uR3JvdXBzUmVxdWVzdCgpO2lmKG51bGwhPT10KXJldHVybiB0aGlzLnNldCgiX3Nlc3Npb25Hcm91cHNSZXF1ZXN0Iix0KSx0aGlzLl9saXN0U2Vzc2lvbkdyb3Vwc0NhbmNlbGxlci5jYW5jZWxBbGwoKSx0aGlzLmJhY2tlbmQubGlzdFNlc3Npb25Hcm91cHModCl9X2J1aWxkTGlzdFNlc3Npb25Hcm91cHNSZXF1ZXN0KCl7Y29uc3QgdD10aGlzO2xldCBlPSEwO2Z1bmN0aW9uIG4obil7Y29uc3QgaT10LmdldChuKyIubWluLnZhbHVlIik7Y29uc29sZS5hc3NlcnQodm9pZCAwIT09aSk7Y29uc3Qgcj0iIj09PWk/Ii1JbmZpbml0eSI6K2k7dC5zZXQobisiLm1pbi5pbnZhbGlkIixpc05hTihyKSksZT1lJiYhaXNOYU4ocik7Y29uc3Qgbz10LmdldChuKyIubWF4LnZhbHVlIik7Y29uc29sZS5hc3NlcnQodm9pZCAwIT09byk7Y29uc3QgYT0iIj09PW8/IkluZmluaXR5IjorbztyZXR1cm4gdC5zZXQobisiLm1heC5pbnZhbGlkIixpc05hTihhKSksZT1lJiYhaXNOYU4oYSksaXNOYU4ocil8fGlzTmFOKGEpP251bGw6e21pblZhbHVlOnIsbWF4VmFsdWU6YX19ZnVuY3Rpb24gaShuKXtjb25zdCBpPXQuZ2V0KG4rIi52YWx1ZSIpO2NvbnNvbGUuYXNzZXJ0KHZvaWQgMCE9PWkpO2NvbnN0IHI9K2ksbz1OdW1iZXIuaXNJbnRlZ2VyKHIpJiZyPjA7cmV0dXJuIHQuc2V0KG4rIi5pbnZhbGlkIiwhbyksZT1lJiZvLG8/cjpudWxsfWNvbnN0IHI9dGhpcy5fc3RhdHVzZXMuZmlsdGVyKCh0PT50LmFsbG93ZWQpKS5tYXAoKHQ9PnQudmFsdWUpKTtsZXQgbz1bXTtpZih0aGlzLl9ocGFyYW1zLmZvckVhY2goKCh0LGUpPT57bGV0IGk9e2hwYXJhbTp0LmluZm8ubmFtZX07aWYodC5maWx0ZXIuZG9tYWluRGlzY3JldGUpaS5maWx0ZXJEaXNjcmV0ZT1bXSx0LmZpbHRlci5kb21haW5EaXNjcmV0ZS5mb3JFYWNoKCh0PT57dC5jaGVja2VkJiZpLmZpbHRlckRpc2NyZXRlLnB1c2godC52YWx1ZSl9KSk7ZWxzZSBpZih0LmZpbHRlci5pbnRlcnZhbClpLmZpbHRlckludGVydmFsPW4oIl9ocGFyYW1zLiIrZSsiLmZpbHRlci5pbnRlcnZhbCIpO2Vsc2V7aWYoIXQuZmlsdGVyLnJlZ2V4cClyZXR1cm4gY29uc29sZS5lcnJvcigiaHBhcmFtLmZpbHRlciB3aXRoIG5vIGRvbWFpbkRpc2NyZXRlLCBpbnRlcnZhbCBvciByZWdleHAgcHJvcGVydGllcyBzZXQ6ICVzIix0KSxudWxsO2kuZmlsdGVyUmVnZXhwPXQuZmlsdGVyLnJlZ2V4cH1vLnB1c2goaSl9KSksdGhpcy5fbWV0cmljcy5mb3JFYWNoKCgodCxlKT0+e2xldCBpPXttZXRyaWM6dC5pbmZvLm5hbWUsZmlsdGVySW50ZXJ2YWw6bigiX21ldHJpY3MuIitlKyIuZmlsdGVyLmludGVydmFsIil9O28ucHVzaChpKX0pKSx2b2lkIDAhPT10aGlzLl9zb3J0QnlJbmRleCYmdm9pZCAwIT09dGhpcy5fc29ydERpcmVjdGlvbil7aWYoISh0aGlzLl9zb3J0QnlJbmRleCBpbiBvKSlyZXR1cm4gY29uc29sZS5lcnJvcigiTm8gY29sdW1uIGluIGNvbFBhcmFtcyB3aXRoIGluZGV4IHNvcnRCeUluZGV4OiAlcyIsdGhpcy5fc29ydEJ5SW5kZXgpLG51bGw7b1t0aGlzLl9zb3J0QnlJbmRleF0ub3JkZXI9MD09PXRoaXMuX3NvcnREaXJlY3Rpb24/Ik9SREVSX0FTQyI6Ik9SREVSX0RFU0MifWNvbnN0IGE9aSgiX3BhZ2VOdW1iZXJJbnB1dCIpLHM9aSgiX3BhZ2VTaXplSW5wdXQiKTtpZighZSlyZXR1cm4gbnVsbDtyZXR1cm57ZXhwZXJpbWVudE5hbWU6dGhpcy5leHBlcmltZW50TmFtZSxhbGxvd2VkU3RhdHVzZXM6cixjb2xQYXJhbXM6byxzdGFydEluZGV4OnMqKGEtMSksc2xpY2VTaXplOnN9fV9tZXRyaWNTb3J0QnlJbmRleCh0KXtyZXR1cm4gdCt0aGlzLl9ocGFyYW1zLmxlbmd0aH19O2NRdC50ZW1wbGF0ZT14ZWAKICAgIDxocGFyYW1zLXNwbGl0LWxheW91dCBvcmllbnRhdGlvbj0idmVydGljYWwiPgogICAgICA8ZGl2IHNsb3Q9ImNvbnRlbnQiIGNsYXNzPSJzZWN0aW9uIGh5cGVycGFyYW1ldGVycyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SHlwZXJwYXJhbWV0ZXJzPC9kaXY+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0ie3tfaHBhcmFtc319IiBhcz0iaHBhcmFtIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhwYXJhbSI+CiAgICAgICAgICAgIDxwYXBlci1jaGVja2JveAogICAgICAgICAgICAgIGNoZWNrZWQ9Int7aHBhcmFtLmRpc3BsYXllZH19IgogICAgICAgICAgICAgIGNsYXNzPSJocGFyYW0tY2hlY2tib3giCiAgICAgICAgICAgID4KICAgICAgICAgICAgICBbW19ocGFyYW1OYW1lKGhwYXJhbS5pbmZvKV1dCiAgICAgICAgICAgIDwvcGFwZXItY2hlY2tib3g+CiAgICAgICAgICAgIDwhLS0gUHJlY2lzZWx5IG9uZSBvZiB0aGUgdGVtcGxhdGVzIGJlbG93IHdpbGwgYmUgc3RhbXBlZC4tLT4KICAgICAgICAgICAgPCEtLSAxLiBBIGxpc3Qgb2YgY2hlY2tib3hlcyAtLT4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2hwYXJhbS5maWx0ZXIuZG9tYWluRGlzY3JldGVdXSI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlCiAgICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICAgIGl0ZW1zPSJbW2hwYXJhbS5maWx0ZXIuZG9tYWluRGlzY3JldGVdXSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8cGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICAgICAgY2hlY2tlZD0ie3tpdGVtLmNoZWNrZWR9fSIKICAgICAgICAgICAgICAgICAgY2xhc3M9ImRpc2NyZXRlLXZhbHVlLWNoZWNrYm94IgogICAgICAgICAgICAgICAgICBvbi1jaGFuZ2U9Il9xdWVyeVNlcnZlciIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgW1tfcHJldHR5UHJpbnQoaXRlbS52YWx1ZSldXQogICAgICAgICAgICAgICAgPC9wYXBlci1jaGVja2JveD4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8IS0tIDIuIEEgbnVtZXJpYyBpbnRlcnZhbCAtLT4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2hwYXJhbS5maWx0ZXIuaW50ZXJ2YWxdXSI+CiAgICAgICAgICAgICAgPHBhcGVyLWlucHV0CiAgICAgICAgICAgICAgICBsYWJlbD0iTWluIgogICAgICAgICAgICAgICAgdmFsdWU9Int7aHBhcmFtLmZpbHRlci5pbnRlcnZhbC5taW4udmFsdWV9fSIKICAgICAgICAgICAgICAgIGFsbG93ZWRfcGF0dGVybj0iWzAtOS5lXFwtXSIKICAgICAgICAgICAgICAgIG9uLXZhbHVlLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIKICAgICAgICAgICAgICAgIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiCiAgICAgICAgICAgICAgICBpbnZhbGlkPSJbW2hwYXJhbS5maWx0ZXIuaW50ZXJ2YWwubWluLmludmFsaWRdXSIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSItaW5maW5pdHkiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgICAgPHBhcGVyLWlucHV0CiAgICAgICAgICAgICAgICBsYWJlbD0iTWF4IgogICAgICAgICAgICAgICAgdmFsdWU9Int7aHBhcmFtLmZpbHRlci5pbnRlcnZhbC5tYXgudmFsdWV9fSIKICAgICAgICAgICAgICAgIGFsbG93ZWRfcGF0dGVybj0iWzAtOS5lXFwtXSIKICAgICAgICAgICAgICAgIG9uLXZhbHVlLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIKICAgICAgICAgICAgICAgIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiCiAgICAgICAgICAgICAgICBpbnZhbGlkPSJbW2hwYXJhbS5maWx0ZXIuaW50ZXJ2YWwubWF4LmludmFsaWRdXSIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSIraW5maW5pdHkiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwhLS0gMy4gQSByZWdleHAgLS0+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tocGFyYW0uZmlsdGVyLnJlZ2V4cF1dIj4KICAgICAgICAgICAgICA8cGFwZXItaW5wdXQKICAgICAgICAgICAgICAgIGxhYmVsPSJSZWd1bGFyIGV4cHJlc3Npb24iCiAgICAgICAgICAgICAgICB2YWx1ZT0ie3tocGFyYW0uZmlsdGVyLnJlZ2V4cH19IgogICAgICAgICAgICAgICAgb24tdmFsdWUtY2hhbmdlZD0iX3F1ZXJ5U2VydmVyIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgc2xvdD0iY29udGVudCIgY2xhc3M9InNlY3Rpb24gbWV0cmljcyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TWV0cmljczwvZGl2PgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9Int7X21ldHJpY3N9fSIgYXM9Im1ldHJpYyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPgogICAgICAgICAgICA8IS0tIFRPRE8oZXJleik6IE1ha2UgaXQgZWFzaWVyIHRvIGhhbmRsZSBhIGxhcmdlIG51bWJlciBvZgogICAgICAgICAgICAgICAgICBtZXRyaWNzOgogICAgICAgICAgICAgICAgICAxLiBBZGQgYW4gJ2lzb2xhdG9yJyByYWRpby1idXR0b24gdG8gc2VsZWN0IGp1c3Qgb25lCiAgICAgICAgICAgICAgICAgIG1ldHJpYyBhbmQKICAgICAgICAgICAgICAgICAgaGlkZSBhbGwgdGhlIHJlc3QKICAgICAgICAgICAgICAgICAgMi4gQWRkIGEgJ3RvZ2dsZS1hbGwnIGJ1dHRvbiB0aGF0IHdpbGwgaGlkZS91bmhpZGUKICAgICAgICAgICAgICAgICAgICBhbGwgdGhlCiAgICAgICAgICAgICAgICAgIG1ldHJpY3MuCiAgICAgICAgICAgICAgICAgIFVzZSBzaW1pbGFyIGxvZ2ljL2FwcGVhcmFuY2UgdG8gdGhlIHJ1bi1zZWxlY3RvciBvZgogICAgICAgICAgICAgICAgICBzY2FsYXJzLi0tPgogICAgICAgICAgICA8cGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICBjaGVja2VkPSJ7e21ldHJpYy5kaXNwbGF5ZWR9fSIKICAgICAgICAgICAgICBjbGFzcz0ibWV0cmljLWNoZWNrYm94IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgW1tfbWV0cmljTmFtZShtZXRyaWMuaW5mbyldXQogICAgICAgICAgICA8L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZWxlbWVudCI+CiAgICAgICAgICAgICAgPHBhcGVyLWlucHV0CiAgICAgICAgICAgICAgICBsYWJlbD0iTWluIgogICAgICAgICAgICAgICAgdmFsdWU9Int7bWV0cmljLmZpbHRlci5pbnRlcnZhbC5taW4udmFsdWV9fSIKICAgICAgICAgICAgICAgIGFsbG93ZWQtcGF0dGVybj0iWzAtOS5lXFwtXSIKICAgICAgICAgICAgICAgIG9uLXZhbHVlLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIKICAgICAgICAgICAgICAgIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiCiAgICAgICAgICAgICAgICBpbnZhbGlkPSJ7e21ldHJpYy5maWx0ZXIuaW50ZXJ2YWwubWluLmludmFsaWR9fSIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSItaW5maW5pdHkiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZWxlbWVudCI+CiAgICAgICAgICAgICAgPHBhcGVyLWlucHV0CiAgICAgICAgICAgICAgICBsYWJlbD0iTWF4IgogICAgICAgICAgICAgICAgYWxsb3dlZC1wYXR0ZXJuPSJbMC05LmVcXC1dIgogICAgICAgICAgICAgICAgdmFsdWU9Int7bWV0cmljLmZpbHRlci5pbnRlcnZhbC5tYXgudmFsdWV9fSIKICAgICAgICAgICAgICAgIG9uLXZhbHVlLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIKICAgICAgICAgICAgICAgIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiCiAgICAgICAgICAgICAgICBpbnZhbGlkPSJ7e21ldHJpYy5maWx0ZXIuaW50ZXJ2YWwubWF4LmludmFsaWR9fSIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSIraW5maW5pdHkiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgc2xvdD0iY29udGVudCIgY2xhc3M9InNlY3Rpb24gc3RhdHVzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TdGF0dXM8L2Rpdj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19zdGF0dXNlc11dIiBhcz0ic3RhdHVzIj4KICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e3N0YXR1cy5hbGxvd2VkfX0iIG9uLWNoYW5nZT0iX3F1ZXJ5U2VydmVyIj4KICAgICAgICAgICAgW1tzdGF0dXMuZGlzcGxheU5hbWVdXQogICAgICAgICAgPC9wYXBlci1jaGVja2JveD4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBzbG90PSJjb250ZW50IiBjbGFzcz0ic2VjdGlvbiBzb3J0aW5nIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Tb3J0aW5nPC9kaXY+CiAgICAgICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUKICAgICAgICAgIGxhYmVsPSJTb3J0IGJ5IgogICAgICAgICAgb24tc2VsZWN0ZWQtaXRlbS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiCiAgICAgICAgICBob3Jpem9udGFsLWFsaWduPSJsZWZ0IgogICAgICAgID4KICAgICAgICAgIDxwYXBlci1saXN0Ym94CiAgICAgICAgICAgIGNsYXNzPSJkcm9wZG93bi1jb250ZW50IgogICAgICAgICAgICBzbG90PSJkcm9wZG93bi1jb250ZW50IgogICAgICAgICAgICBzZWxlY3RlZD0ie3tfc29ydEJ5SW5kZXh9fSIKICAgICAgICAgICAgb24tc2VsZWN0ZWQtaXRlbS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiCiAgICAgICAgICA+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2hwYXJhbXNdXSIgYXM9ImhwYXJhbSI+CiAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+IFtbX2hwYXJhbU5hbWUoaHBhcmFtLmluZm8pXV0gPC9wYXBlci1pdGVtPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19tZXRyaWNzXV0iIGFzPSJtZXRyaWMiPgogICAgICAgICAgICAgIDxwYXBlci1pdGVtPiBbW19tZXRyaWNOYW1lKG1ldHJpYy5pbmZvKV1dIDwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUKICAgICAgICAgIGxhYmVsPSJEaXJlY3Rpb24iCiAgICAgICAgICBvbi1zZWxlY3RlZC1pdGVtLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIKICAgICAgICAgIGhvcml6b250YWwtYWxpZ249ImxlZnQiCiAgICAgICAgPgogICAgICAgICAgPHBhcGVyLWxpc3Rib3gKICAgICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICAgIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICAgIHNlbGVjdGVkPSJ7e19zb3J0RGlyZWN0aW9ufX0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxwYXBlci1pdGVtPkFzY2VuZGluZzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0+RGVzY2VuZGluZzwvcGFwZXItaXRlbT4KICAgICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IHNsb3Q9ImNvbnRlbnQiIGNsYXNzPSJzZWN0aW9uIHBhZ2luZyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UGFnaW5nPC9kaXY+CiAgICAgICAgPGRpdj4KICAgICAgICAgIE51bWJlciBvZiBtYXRjaGluZyBzZXNzaW9uIGdyb3VwczogW1tfdG90YWxTZXNzaW9uR3JvdXBzQ291bnRTdHJdXQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImlubGluZS1lbGVtZW50IHBhZ2UtbnVtYmVyLWlucHV0Ij4KICAgICAgICAgIDxwYXBlci1pbnB1dAogICAgICAgICAgICBsYWJlbD0iUGFnZSAjIgogICAgICAgICAgICB2YWx1ZT0ie3tfcGFnZU51bWJlcklucHV0LnZhbHVlfX0iCiAgICAgICAgICAgIGFsbG93ZWQtcGF0dGVybj0iWzAtOV0iCiAgICAgICAgICAgIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiCiAgICAgICAgICAgIGludmFsaWQ9IltbX3BhZ2VOdW1iZXJJbnB1dC5pbnZhbGlkXV0iCiAgICAgICAgICAgIG9uLXZhbHVlLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIKICAgICAgICAgID4KICAgICAgICAgICAgPGRpdiBzbG90PSJzdWZmaXgiIGNsYXNzPSJwYWdlLXN1ZmZpeCI+LyBbW19wYWdlQ291bnRTdHJdXTwvZGl2PgogICAgICAgICAgPC9wYXBlci1pbnB1dD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZWxlbWVudCBwYWdlLXNpemUtaW5wdXQiPgogICAgICAgICAgPHBhcGVyLWlucHV0CiAgICAgICAgICAgIGxhYmVsPSJNYXggIyBvZiBzZXNzaW9uIGdyb3VwcyBwZXIgcGFnZToiCiAgICAgICAgICAgIHZhbHVlPSJ7e19wYWdlU2l6ZUlucHV0LnZhbHVlfX0iCiAgICAgICAgICAgIGFsbG93ZWQtcGF0dGVybj0iWzAtOV0iCiAgICAgICAgICAgIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiCiAgICAgICAgICAgIGludmFsaWQ9IltbX3BhZ2VTaXplSW5wdXQuaW52YWxpZF1dIgogICAgICAgICAgICBvbi12YWx1ZS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiCiAgICAgICAgICA+CiAgICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBzbG90PSJjb250ZW50IiBjbGFzcz0ic2VjdGlvbiBkb3dubG9hZCI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19zZXNzaW9uR3JvdXBzUmVxdWVzdF1dIj4KICAgICAgICAgIERvd25sb2FkIGRhdGEgYXMKICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICA8YQogICAgICAgICAgICAgIGlkPSJjc3ZMaW5rIgogICAgICAgICAgICAgIGRvd25sb2FkPSJocGFyYW1zX3RhYmxlLmNzdiIKICAgICAgICAgICAgICBocmVmPSJbW19jc3ZVcmwoX3Nlc3Npb25Hcm91cHNSZXF1ZXN0LCBjb25maWd1cmF0aW9uKV1dIgogICAgICAgICAgICAgID5DU1Y8L2EKICAgICAgICAgICAgPgogICAgICAgICAgICA8YQogICAgICAgICAgICAgIGlkPSJqc29uTGluayIKICAgICAgICAgICAgICBkb3dubG9hZD0iaHBhcmFtc190YWJsZS5qc29uIgogICAgICAgICAgICAgIGhyZWY9IltbX2pzb25VcmwoX3Nlc3Npb25Hcm91cHNSZXF1ZXN0LCBjb25maWd1cmF0aW9uKV1dIgogICAgICAgICAgICAgID5KU09OPC9hCiAgICAgICAgICAgID4KICAgICAgICAgICAgPGEKICAgICAgICAgICAgICBpZD0ibGF0ZXhMaW5rIgogICAgICAgICAgICAgIGRvd25sb2FkPSJocGFyYW1zX3RhYmxlLnRleCIKICAgICAgICAgICAgICBocmVmPSJbW19sYXRleFVybChfc2Vzc2lvbkdyb3Vwc1JlcXVlc3QsIGNvbmZpZ3VyYXRpb24pXV0iCiAgICAgICAgICAgICAgPkxhVGVYPC9hCiAgICAgICAgICAgID4KICAgICAgICAgIDwvc3Bhbj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvaHBhcmFtcy1zcGxpdC1sYXlvdXQ+CiAgICA8c3R5bGU+CiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICB9CiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7CiAgICAgIH0KICAgICAgLmRpc2NyZXRlLXZhbHVlLWNoZWNrYm94LAogICAgICAubWV0cmljLWNoZWNrYm94LAogICAgICAuaHBhcmFtLWNoZWNrYm94IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuZGlzY3JldGUtdmFsdWUtY2hlY2tib3ggewogICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OwogICAgICB9CiAgICAgIC5ocGFyYW0sCiAgICAgIC5tZXRyaWMgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5pbmxpbmUtZWxlbWVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiA0MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgICAgIH0KICAgICAgLnBhZ2UtbnVtYmVyLWlucHV0IHsKICAgICAgICB3aWR0aDogMjAlOwogICAgICB9CiAgICAgIC5wYWdlLXNpemUtaW5wdXQgewogICAgICAgIHdpZHRoOiA2MCU7CiAgICAgIH0KICAgICAgdmFhZGluLXNwbGl0LWxheW91dCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICAgIHBhcGVyLWxpc3Rib3ggewogICAgICAgIG1heC1oZWlnaHQ6IDE1ZW07CiAgICAgIH0KICAgICAgLnBhZ2Utc3VmZml4IHsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sY1F0LnByb3RvdHlwZSwiZXhwZXJpbWVudE5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGNRdC5wcm90b3R5cGUsImNvbmZpZ3VyYXRpb24iLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheSxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sY1F0LnByb3RvdHlwZSwic2Vzc2lvbkdyb3VwcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxjUXQucHJvdG90eXBlLCJkYXRhTG9hZGVkV2l0aE5vbkVtcHR5SHBhcmFtcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxjUXQucHJvdG90eXBlLCJkYXRhTG9hZGVkV2l0aEVtcHR5SHBhcmFtcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxjUXQucHJvdG90eXBlLCJfZXhwZXJpbWVudCIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sY1F0LnByb3RvdHlwZSwiX2hwYXJhbXMiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLGNRdC5wcm90b3R5cGUsIl9tZXRyaWNzIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sY1F0LnByb3RvdHlwZSwiX3N0YXR1c2VzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGNRdC5wcm90b3R5cGUsIl9nZXRFeHBlcmltZW50UmVzb2x2ZWQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSxjUXQucHJvdG90eXBlLCJfcmVzb2x2ZUdldEV4cGVyaW1lbnQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sY1F0LnByb3RvdHlwZSwiX2xpc3RTZXNzaW9uR3JvdXBzQ2FuY2VsbGVyIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGNRdC5wcm90b3R5cGUsIl9zb3J0QnlJbmRleCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxjUXQucHJvdG90eXBlLCJfc29ydERpcmVjdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxjUXQucHJvdG90eXBlLCJfcGFnZVNpemVJbnB1dCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxjUXQucHJvdG90eXBlLCJfcGFnZU51bWJlcklucHV0Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGNRdC5wcm90b3R5cGUsIl9wYWdlQ291bnRTdHIiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sY1F0LnByb3RvdHlwZSwiX3RvdGFsU2Vzc2lvbkdyb3Vwc0NvdW50U3RyIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGNRdC5wcm90b3R5cGUsIl9zZXNzaW9uR3JvdXBzUmVxdWVzdCIsdm9pZCAwKSx0KFthKCJiYWNrZW5kIiwiZXhwZXJpbWVudE5hbWUiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGNRdC5wcm90b3R5cGUsIl9jb21wdXRlRXhwZXJpbWVudEFuZFJlbGF0ZWRQcm9wcyIsbnVsbCksdChbYSgiX2hwYXJhbXMuKiIsIl9tZXRyaWNzLioiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGNRdC5wcm90b3R5cGUsIl91cGRhdGVDb25maWd1cmF0aW9uIixudWxsKSxjUXQ9dChbaSgidGYtaHBhcmFtcy1xdWVyeS1wYW5lIildLGNRdCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICAgKiBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgICogc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAgKi8KY29uc3QgdVF0PSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZudWxsIT13aW5kb3cuY3VzdG9tRWxlbWVudHMmJnZvaWQgMCE9PXdpbmRvdy5jdXN0b21FbGVtZW50cy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrLGhRdD0odCxlLG49bnVsbCk9Pntmb3IoO2UhPT1uOyl7Y29uc3Qgbj1lLm5leHRTaWJsaW5nO3QucmVtb3ZlQ2hpbGQoZSksZT1ufX0sZFF0PWB7e2xpdC0ke1N0cmluZyhNYXRoLnJhbmRvbSgpKS5zbGljZSgyKX19fWAscFF0PWBceDNjIS0tJHtkUXR9LS1ceDNlYCxmUXQ9bmV3IFJlZ0V4cChgJHtkUXR9fCR7cFF0fWApLG1RdD0iJGxpdCQiO2NsYXNzIGdRdHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMucGFydHM9W10sdGhpcy5lbGVtZW50PWU7Y29uc3Qgbj1bXSxpPVtdLHI9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihlLmNvbnRlbnQsMTMzLG51bGwsITEpO2xldCBvPTAsYT0tMSxzPTA7Y29uc3R7c3RyaW5nczpsLHZhbHVlczp7bGVuZ3RoOmN9fT10O2Zvcig7czxjOyl7Y29uc3QgdD1yLm5leHROb2RlKCk7aWYobnVsbCE9PXQpe2lmKGErKywxPT09dC5ub2RlVHlwZSl7aWYodC5oYXNBdHRyaWJ1dGVzKCkpe2NvbnN0IGU9dC5hdHRyaWJ1dGVzLHtsZW5ndGg6bn09ZTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8bjt0KyspX1F0KGVbdF0ubmFtZSxtUXQpJiZpKys7Zm9yKDtpLS0gPjA7KXtjb25zdCBlPWJRdC5leGVjKGxbc10pWzJdLG49ZS50b0xvd2VyQ2FzZSgpK21RdCxpPXQuZ2V0QXR0cmlidXRlKG4pO3QucmVtb3ZlQXR0cmlidXRlKG4pO2NvbnN0IHI9aS5zcGxpdChmUXQpO3RoaXMucGFydHMucHVzaCh7dHlwZToiYXR0cmlidXRlIixpbmRleDphLG5hbWU6ZSxzdHJpbmdzOnJ9KSxzKz1yLmxlbmd0aC0xfX0iVEVNUExBVEUiPT09dC50YWdOYW1lJiYoaS5wdXNoKHQpLHIuY3VycmVudE5vZGU9dC5jb250ZW50KX1lbHNlIGlmKDM9PT10Lm5vZGVUeXBlKXtjb25zdCBlPXQuZGF0YTtpZihlLmluZGV4T2YoZFF0KT49MCl7Y29uc3QgaT10LnBhcmVudE5vZGUscj1lLnNwbGl0KGZRdCksbz1yLmxlbmd0aC0xO2ZvcihsZXQgZT0wO2U8bztlKyspe2xldCBuLG89cltlXTtpZigiIj09PW8pbj12UXQoKTtlbHNle2NvbnN0IHQ9YlF0LmV4ZWMobyk7bnVsbCE9PXQmJl9RdCh0WzJdLG1RdCkmJihvPW8uc2xpY2UoMCx0LmluZGV4KSt0WzFdK3RbMl0uc2xpY2UoMCwtbVF0Lmxlbmd0aCkrdFszXSksbj1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShvKX1pLmluc2VydEJlZm9yZShuLHQpLHRoaXMucGFydHMucHVzaCh7dHlwZToibm9kZSIsaW5kZXg6KythfSl9IiI9PT1yW29dPyhpLmluc2VydEJlZm9yZSh2UXQoKSx0KSxuLnB1c2godCkpOnQuZGF0YT1yW29dLHMrPW99fWVsc2UgaWYoOD09PXQubm9kZVR5cGUpaWYodC5kYXRhPT09ZFF0KXtjb25zdCBlPXQucGFyZW50Tm9kZTtudWxsIT09dC5wcmV2aW91c1NpYmxpbmcmJmEhPT1vfHwoYSsrLGUuaW5zZXJ0QmVmb3JlKHZRdCgpLHQpKSxvPWEsdGhpcy5wYXJ0cy5wdXNoKHt0eXBlOiJub2RlIixpbmRleDphfSksbnVsbD09PXQubmV4dFNpYmxpbmc/dC5kYXRhPSIiOihuLnB1c2godCksYS0tKSxzKyt9ZWxzZXtsZXQgZT0tMTtmb3IoOy0xIT09KGU9dC5kYXRhLmluZGV4T2YoZFF0LGUrMSkpOyl0aGlzLnBhcnRzLnB1c2goe3R5cGU6Im5vZGUiLGluZGV4Oi0xfSkscysrfX1lbHNlIHIuY3VycmVudE5vZGU9aS5wb3AoKX1mb3IoY29uc3QgdCBvZiBuKXQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KX19Y29uc3QgX1F0PSh0LGUpPT57Y29uc3Qgbj10Lmxlbmd0aC1lLmxlbmd0aDtyZXR1cm4gbj49MCYmdC5zbGljZShuKT09PWV9LHlRdD10PT4tMSE9PXQuaW5kZXgsdlF0PSgpPT5kb2N1bWVudC5jcmVhdGVDb21tZW50KCIiKSxiUXQ9LyhbIFx4MDlceDBhXHgwY1x4MGRdKShbXlwwLVx4MUZceDdGLVx4OUYgIic+PS9dKykoWyBceDA5XHgwYVx4MGNceDBkXSo9WyBceDA5XHgwYVx4MGNceDBkXSooPzpbXiBceDA5XHgwYVx4MGNceDBkIidgPD49XSp8IlteIl0qfCdbXiddKikpJC87ZnVuY3Rpb24geFF0KHQsZSl7Y29uc3R7ZWxlbWVudDp7Y29udGVudDpufSxwYXJ0czppfT10LHI9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihuLDEzMyxudWxsLCExKTtsZXQgbz1TUXQoaSksYT1pW29dLHM9LTEsbD0wO2NvbnN0IGM9W107bGV0IHU9bnVsbDtmb3IoO3IubmV4dE5vZGUoKTspe3MrKztjb25zdCB0PXIuY3VycmVudE5vZGU7Zm9yKHQucHJldmlvdXNTaWJsaW5nPT09dSYmKHU9bnVsbCksZS5oYXModCkmJihjLnB1c2godCksbnVsbD09PXUmJih1PXQpKSxudWxsIT09dSYmbCsrO3ZvaWQgMCE9PWEmJmEuaW5kZXg9PT1zOylhLmluZGV4PW51bGwhPT11Py0xOmEuaW5kZXgtbCxvPVNRdChpLG8pLGE9aVtvXX1jLmZvckVhY2goKHQ9PnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSkpfWNvbnN0IHdRdD10PT57bGV0IGU9MTE9PT10Lm5vZGVUeXBlPzA6MTtjb25zdCBuPWRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIodCwxMzMsbnVsbCwhMSk7Zm9yKDtuLm5leHROb2RlKCk7KWUrKztyZXR1cm4gZX0sU1F0PSh0LGU9LTEpPT57Zm9yKGxldCBuPWUrMTtuPHQubGVuZ3RoO24rKyl7aWYoeVF0KHRbbl0pKXJldHVybiBufXJldHVybi0xfTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgICAqIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgICAqIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgICAqIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICAgKiBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICAqLwpjb25zdCBNUXQ9bmV3IFdlYWtNYXAsRVF0PXt9LFRRdD17fTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgICAqIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgICAqIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgICAqIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICAgKiBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICAqLwpjbGFzcyBDUXR7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuX19wYXJ0cz1bXSx0aGlzLnRlbXBsYXRlPXQsdGhpcy5wcm9jZXNzb3I9ZSx0aGlzLm9wdGlvbnM9bn11cGRhdGUodCl7bGV0IGU9MDtmb3IoY29uc3QgbiBvZiB0aGlzLl9fcGFydHMpdm9pZCAwIT09biYmbi5zZXRWYWx1ZSh0W2VdKSxlKys7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fX3BhcnRzKXZvaWQgMCE9PXQmJnQuY29tbWl0KCl9X2Nsb25lKCl7Y29uc3QgdD11UXQ/dGhpcy50ZW1wbGF0ZS5lbGVtZW50LmNvbnRlbnQuY2xvbmVOb2RlKCEwKTpkb2N1bWVudC5pbXBvcnROb2RlKHRoaXMudGVtcGxhdGUuZWxlbWVudC5jb250ZW50LCEwKSxlPVtdLG49dGhpcy50ZW1wbGF0ZS5wYXJ0cyxpPWRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIodCwxMzMsbnVsbCwhMSk7bGV0IHIsbz0wLGE9MCxzPWkubmV4dE5vZGUoKTtmb3IoO288bi5sZW5ndGg7KWlmKHI9bltvXSx5UXQocikpe2Zvcig7YTxyLmluZGV4OylhKyssIlRFTVBMQVRFIj09PXMubm9kZU5hbWUmJihlLnB1c2gocyksaS5jdXJyZW50Tm9kZT1zLmNvbnRlbnQpLG51bGw9PT0ocz1pLm5leHROb2RlKCkpJiYoaS5jdXJyZW50Tm9kZT1lLnBvcCgpLHM9aS5uZXh0Tm9kZSgpKTtpZigibm9kZSI9PT1yLnR5cGUpe2NvbnN0IHQ9dGhpcy5wcm9jZXNzb3IuaGFuZGxlVGV4dEV4cHJlc3Npb24odGhpcy5vcHRpb25zKTt0Lmluc2VydEFmdGVyTm9kZShzLnByZXZpb3VzU2libGluZyksdGhpcy5fX3BhcnRzLnB1c2godCl9ZWxzZSB0aGlzLl9fcGFydHMucHVzaCguLi50aGlzLnByb2Nlc3Nvci5oYW5kbGVBdHRyaWJ1dGVFeHByZXNzaW9ucyhzLHIubmFtZSxyLnN0cmluZ3MsdGhpcy5vcHRpb25zKSk7bysrfWVsc2UgdGhpcy5fX3BhcnRzLnB1c2godm9pZCAwKSxvKys7cmV0dXJuIHVRdCYmKGRvY3VtZW50LmFkb3B0Tm9kZSh0KSxjdXN0b21FbGVtZW50cy51cGdyYWRlKHQpKSx0fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgICAqIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgICAqIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgICAqIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICAgKiBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICAqL2NvbnN0IEFRdD13aW5kb3cudHJ1c3RlZFR5cGVzJiZ0cnVzdGVkVHlwZXMuY3JlYXRlUG9saWN5KCJsaXQtaHRtbCIse2NyZWF0ZUhUTUw6dD0+dH0pLGtRdD1gICR7ZFF0fSBgO2NsYXNzIExRdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnZhbHVlPXZvaWQgMCx0aGlzLl9fcGVuZGluZ1ZhbHVlPXZvaWQgMCx0aGlzLm9wdGlvbnM9dH1hcHBlbmRJbnRvKHQpe3RoaXMuc3RhcnROb2RlPXQuYXBwZW5kQ2hpbGQodlF0KCkpLHRoaXMuZW5kTm9kZT10LmFwcGVuZENoaWxkKHZRdCgpKX1pbnNlcnRBZnRlck5vZGUodCl7dGhpcy5zdGFydE5vZGU9dCx0aGlzLmVuZE5vZGU9dC5uZXh0U2libGluZ31hcHBlbmRJbnRvUGFydCh0KXt0Ll9faW5zZXJ0KHRoaXMuc3RhcnROb2RlPXZRdCgpKSx0Ll9faW5zZXJ0KHRoaXMuZW5kTm9kZT12UXQoKSl9aW5zZXJ0QWZ0ZXJQYXJ0KHQpe3QuX19pbnNlcnQodGhpcy5zdGFydE5vZGU9dlF0KCkpLHRoaXMuZW5kTm9kZT10LmVuZE5vZGUsdC5lbmROb2RlPXRoaXMuc3RhcnROb2RlfXNldFZhbHVlKHQpe3RoaXMuX19wZW5kaW5nVmFsdWU9dH1jb21taXQoKXtpZihudWxsPT09dGhpcy5zdGFydE5vZGUucGFyZW50Tm9kZSlyZXR1cm47Zm9yKDsiZnVuY3Rpb24iPT10eXBlb2YodD10aGlzLl9fcGVuZGluZ1ZhbHVlKSYmTVF0Lmhhcyh0KTspe2NvbnN0IHQ9dGhpcy5fX3BlbmRpbmdWYWx1ZTt0aGlzLl9fcGVuZGluZ1ZhbHVlPUVRdCx0KHRoaXMpfXZhciB0O2NvbnN0IGU9dGhpcy5fX3BlbmRpbmdWYWx1ZTtlIT09RVF0JiYoKHQ9Pm51bGw9PT10fHwhKCJvYmplY3QiPT10eXBlb2YgdHx8ImZ1bmN0aW9uIj09dHlwZW9mIHQpKShlKT9lIT09dGhpcy52YWx1ZSYmdGhpcy5fX2NvbW1pdFRleHQoZSk6ZSBpbnN0YW5jZW9mIGNsYXNze2NvbnN0cnVjdG9yKHQsZSxuLGkpe3RoaXMuc3RyaW5ncz10LHRoaXMudmFsdWVzPWUsdGhpcy50eXBlPW4sdGhpcy5wcm9jZXNzb3I9aX1nZXRIVE1MKCl7Y29uc3QgdD10aGlzLnN0cmluZ3MubGVuZ3RoLTE7bGV0IGU9IiIsbj0hMTtmb3IobGV0IGk9MDtpPHQ7aSsrKXtjb25zdCB0PXRoaXMuc3RyaW5nc1tpXSxyPXQubGFzdEluZGV4T2YoIlx4M2MhLS0iKTtuPShyPi0xfHxuKSYmLTE9PT10LmluZGV4T2YoIi0tXHgzZSIscisxKTtjb25zdCBvPWJRdC5leGVjKHQpO2UrPW51bGw9PT1vP3QrKG4/a1F0OnBRdCk6dC5zdWJzdHIoMCxvLmluZGV4KStvWzFdK29bMl0rbVF0K29bM10rZFF0fXJldHVybiBlKz10aGlzLnN0cmluZ3NbdF0sZX1nZXRUZW1wbGF0ZUVsZW1lbnQoKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIik7bGV0IGU9dGhpcy5nZXRIVE1MKCk7cmV0dXJuIHZvaWQgMCE9PUFRdCYmKGU9QVF0LmNyZWF0ZUhUTUwoZSkpLHQuaW5uZXJIVE1MPWUsdH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICAgKiBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgICogc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAgKi8/dGhpcy5fX2NvbW1pdFRlbXBsYXRlUmVzdWx0KGUpOmUgaW5zdGFuY2VvZiBOb2RlP3RoaXMuX19jb21taXROb2RlKGUpOih0PT5BcnJheS5pc0FycmF5KHQpfHwhKCF0fHwhdFtTeW1ib2wuaXRlcmF0b3JdKSkoZSk/dGhpcy5fX2NvbW1pdEl0ZXJhYmxlKGUpOmU9PT1UUXQ/KHRoaXMudmFsdWU9VFF0LHRoaXMuY2xlYXIoKSk6dGhpcy5fX2NvbW1pdFRleHQoZSkpfV9faW5zZXJ0KHQpe3RoaXMuZW5kTm9kZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0LHRoaXMuZW5kTm9kZSl9X19jb21taXROb2RlKHQpe3RoaXMudmFsdWUhPT10JiYodGhpcy5jbGVhcigpLHRoaXMuX19pbnNlcnQodCksdGhpcy52YWx1ZT10KX1fX2NvbW1pdFRleHQodCl7Y29uc3QgZT10aGlzLnN0YXJ0Tm9kZS5uZXh0U2libGluZyxuPSJzdHJpbmciPT10eXBlb2YodD1udWxsPT10PyIiOnQpP3Q6U3RyaW5nKHQpO2U9PT10aGlzLmVuZE5vZGUucHJldmlvdXNTaWJsaW5nJiYzPT09ZS5ub2RlVHlwZT9lLmRhdGE9bjp0aGlzLl9fY29tbWl0Tm9kZShkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShuKSksdGhpcy52YWx1ZT10fV9fY29tbWl0VGVtcGxhdGVSZXN1bHQodCl7Y29uc3QgZT10aGlzLm9wdGlvbnMudGVtcGxhdGVGYWN0b3J5KHQpO2lmKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBDUXQmJnRoaXMudmFsdWUudGVtcGxhdGU9PT1lKXRoaXMudmFsdWUudXBkYXRlKHQudmFsdWVzKTtlbHNle2NvbnN0IG49bmV3IENRdChlLHQucHJvY2Vzc29yLHRoaXMub3B0aW9ucyksaT1uLl9jbG9uZSgpO24udXBkYXRlKHQudmFsdWVzKSx0aGlzLl9fY29tbWl0Tm9kZShpKSx0aGlzLnZhbHVlPW59fV9fY29tbWl0SXRlcmFibGUodCl7QXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKXx8KHRoaXMudmFsdWU9W10sdGhpcy5jbGVhcigpKTtjb25zdCBlPXRoaXMudmFsdWU7bGV0IG4saT0wO2Zvcihjb25zdCByIG9mIHQpbj1lW2ldLHZvaWQgMD09PW4mJihuPW5ldyBMUXQodGhpcy5vcHRpb25zKSxlLnB1c2gobiksMD09PWk/bi5hcHBlbmRJbnRvUGFydCh0aGlzKTpuLmluc2VydEFmdGVyUGFydChlW2ktMV0pKSxuLnNldFZhbHVlKHIpLG4uY29tbWl0KCksaSsrO2k8ZS5sZW5ndGgmJihlLmxlbmd0aD1pLHRoaXMuY2xlYXIobiYmbi5lbmROb2RlKSl9Y2xlYXIodD10aGlzLnN0YXJ0Tm9kZSl7aFF0KHRoaXMuc3RhcnROb2RlLnBhcmVudE5vZGUsdC5uZXh0U2libGluZyx0aGlzLmVuZE5vZGUpfX1sZXQgUFF0PSExOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgICogVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgICAqIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgICogQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgICAqIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgICovCmZ1bmN0aW9uIE5RdCh0KXtsZXQgZT1JUXQuZ2V0KHQudHlwZSk7dm9pZCAwPT09ZSYmKGU9e3N0cmluZ3NBcnJheTpuZXcgV2Vha01hcCxrZXlTdHJpbmc6bmV3IE1hcH0sSVF0LnNldCh0LnR5cGUsZSkpO2xldCBuPWUuc3RyaW5nc0FycmF5LmdldCh0LnN0cmluZ3MpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG47Y29uc3QgaT10LnN0cmluZ3Muam9pbihkUXQpO3JldHVybiBuPWUua2V5U3RyaW5nLmdldChpKSx2b2lkIDA9PT1uJiYobj1uZXcgZ1F0KHQsdC5nZXRUZW1wbGF0ZUVsZW1lbnQoKSksZS5rZXlTdHJpbmcuc2V0KGksbikpLGUuc3RyaW5nc0FycmF5LnNldCh0LnN0cmluZ3Msbiksbn0oKCk9Pnt0cnl7Y29uc3QgdD17Z2V0IGNhcHR1cmUoKXtyZXR1cm4gUFF0PSEwLCExfX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLHQsdCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLHQsdCl9Y2F0Y2godCl7fX0pKCk7Y29uc3QgSVF0PW5ldyBNYXAsUlF0PW5ldyBXZWFrTWFwOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgICogVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgICAqIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgICogQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgICAqIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgICovCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICAgKiBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgICogc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAgKi8KInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cubGl0SHRtbFZlcnNpb25zfHwod2luZG93LmxpdEh0bWxWZXJzaW9ucz1bXSkpLnB1c2goIjEuNC4xIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICAgKiBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgICogc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAgKi9jb25zdCBPUXQ9KHQsZSk9PmAke3R9LS0ke2V9YDtsZXQgelF0PSEwO3ZvaWQgMD09PXdpbmRvdy5TaGFkeUNTUz96UXQ9ITE6dm9pZCAwPT09d2luZG93LlNoYWR5Q1NTLnByZXBhcmVUZW1wbGF0ZURvbSYmKGNvbnNvbGUud2FybigiSW5jb21wYXRpYmxlIFNoYWR5Q1NTIHZlcnNpb24gZGV0ZWN0ZWQuIFBsZWFzZSB1cGRhdGUgdG8gYXQgbGVhc3QgQHdlYmNvbXBvbmVudHMvd2ViY29tcG9uZW50c2pzQDIuMC4yIGFuZCBAd2ViY29tcG9uZW50cy9zaGFkeWNzc0AxLjMuMS4iKSx6UXQ9ITEpO2NvbnN0IERRdD10PT5lPT57Y29uc3Qgbj1PUXQoZS50eXBlLHQpO2xldCBpPUlRdC5nZXQobik7dm9pZCAwPT09aSYmKGk9e3N0cmluZ3NBcnJheTpuZXcgV2Vha01hcCxrZXlTdHJpbmc6bmV3IE1hcH0sSVF0LnNldChuLGkpKTtsZXQgcj1pLnN0cmluZ3NBcnJheS5nZXQoZS5zdHJpbmdzKTtpZih2b2lkIDAhPT1yKXJldHVybiByO2NvbnN0IG89ZS5zdHJpbmdzLmpvaW4oZFF0KTtpZihyPWkua2V5U3RyaW5nLmdldChvKSx2b2lkIDA9PT1yKXtjb25zdCBuPWUuZ2V0VGVtcGxhdGVFbGVtZW50KCk7elF0JiZ3aW5kb3cuU2hhZHlDU1MucHJlcGFyZVRlbXBsYXRlRG9tKG4sdCkscj1uZXcgZ1F0KGUsbiksaS5rZXlTdHJpbmcuc2V0KG8scil9cmV0dXJuIGkuc3RyaW5nc0FycmF5LnNldChlLnN0cmluZ3Mscikscn0sQlF0PVsiaHRtbCIsInN2ZyJdLEhRdD1uZXcgU2V0LEZRdD0odCxlLG4pPT57SFF0LmFkZCh0KTtjb25zdCBpPW4/bi5lbGVtZW50OmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIikscj1lLnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlIikse2xlbmd0aDpvfT1yO2lmKDA9PT1vKXJldHVybiB2b2lkIHdpbmRvdy5TaGFkeUNTUy5wcmVwYXJlVGVtcGxhdGVTdHlsZXMoaSx0KTtjb25zdCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7Zm9yKGxldCB0PTA7dDxvO3QrKyl7Y29uc3QgZT1yW3RdO2UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKSxhLnRleHRDb250ZW50Kz1lLnRleHRDb250ZW50fSh0PT57QlF0LmZvckVhY2goKGU9Pntjb25zdCBuPUlRdC5nZXQoT1F0KGUsdCkpO3ZvaWQgMCE9PW4mJm4ua2V5U3RyaW5nLmZvckVhY2goKHQ9Pntjb25zdHtlbGVtZW50Ontjb250ZW50OmV9fT10LG49bmV3IFNldDtBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgic3R5bGUiKSkuZm9yRWFjaCgodD0+e24uYWRkKHQpfSkpLHhRdCh0LG4pfSkpfSkpfSkodCk7Y29uc3Qgcz1pLmNvbnRlbnQ7bj8oZnVuY3Rpb24gbCh0LGUsbj1udWxsKXtjb25zdHtlbGVtZW50Ontjb250ZW50Oml9LHBhcnRzOnJ9PXQ7aWYobnVsbD09bilyZXR1cm4gdm9pZCBpLmFwcGVuZENoaWxkKGUpO2NvbnN0IG89ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihpLDEzMyxudWxsLCExKTtsZXQgYT1TUXQocikscz0wLGw9LTE7Zm9yKDtvLm5leHROb2RlKCk7KWZvcihsKyssby5jdXJyZW50Tm9kZT09PW4mJihzPXdRdChlKSxuLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsbikpOy0xIT09YSYmclthXS5pbmRleD09PWw7KXtpZihzPjApe2Zvcig7LTEhPT1hOylyW2FdLmluZGV4Kz1zLGE9U1F0KHIsYSk7cmV0dXJufWE9U1F0KHIsYSl9fSkobixhLHMuZmlyc3RDaGlsZCk6cy5pbnNlcnRCZWZvcmUoYSxzLmZpcnN0Q2hpbGQpLHdpbmRvdy5TaGFkeUNTUy5wcmVwYXJlVGVtcGxhdGVTdHlsZXMoaSx0KTtjb25zdCBjPXMucXVlcnlTZWxlY3Rvcigic3R5bGUiKTtpZih3aW5kb3cuU2hhZHlDU1MubmF0aXZlU2hhZG93JiZudWxsIT09YyllLmluc2VydEJlZm9yZShjLmNsb25lTm9kZSghMCksZS5maXJzdENoaWxkKTtlbHNlIGlmKG4pe3MuaW5zZXJ0QmVmb3JlKGEscy5maXJzdENoaWxkKTtjb25zdCB0PW5ldyBTZXQ7dC5hZGQoYSkseFF0KG4sdCl9fTt3aW5kb3cuSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eT0odCxlKT0+dDtjb25zdCBWUXQ9e3RvQXR0cmlidXRlKHQsZSl7c3dpdGNoKGUpe2Nhc2UgQm9vbGVhbjpyZXR1cm4gdD8iIjpudWxsO2Nhc2UgT2JqZWN0OmNhc2UgQXJyYXk6cmV0dXJuIG51bGw9PXQ/dDpKU09OLnN0cmluZ2lmeSh0KX1yZXR1cm4gdH0sZnJvbUF0dHJpYnV0ZSh0LGUpe3N3aXRjaChlKXtjYXNlIEJvb2xlYW46cmV0dXJuIG51bGwhPT10O2Nhc2UgTnVtYmVyOnJldHVybiBudWxsPT09dD9udWxsOk51bWJlcih0KTtjYXNlIE9iamVjdDpjYXNlIEFycmF5OnJldHVybiBKU09OLnBhcnNlKHQpfXJldHVybiB0fX0sVVF0PSh0LGUpPT5lIT09dCYmKGU9PWV8fHQ9PXQpLGpRdD17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjpWUXQscmVmbGVjdDohMSxoYXNDaGFuZ2VkOlVRdH0sR1F0PSJmaW5hbGl6ZWQiO2NsYXNzIFdRdCBleHRlbmRzIEhUTUxFbGVtZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmluaXRpYWxpemUoKX1zdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe3RoaXMuZmluYWxpemUoKTtjb25zdCB0PVtdO3JldHVybiB0aGlzLl9jbGFzc1Byb3BlcnRpZXMuZm9yRWFjaCgoKGUsbik9Pntjb25zdCBpPXRoaXMuX2F0dHJpYnV0ZU5hbWVGb3JQcm9wZXJ0eShuLGUpO3ZvaWQgMCE9PWkmJih0aGlzLl9hdHRyaWJ1dGVUb1Byb3BlcnR5TWFwLnNldChpLG4pLHQucHVzaChpKSl9KSksdH1zdGF0aWMgX2Vuc3VyZUNsYXNzUHJvcGVydGllcygpe2lmKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9jbGFzc1Byb3BlcnRpZXMiLHRoaXMpKSl7dGhpcy5fY2xhc3NQcm9wZXJ0aWVzPW5ldyBNYXA7Y29uc3QgdD1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykuX2NsYXNzUHJvcGVydGllczt2b2lkIDAhPT10JiZ0LmZvckVhY2goKCh0LGUpPT50aGlzLl9jbGFzc1Byb3BlcnRpZXMuc2V0KGUsdCkpKX19c3RhdGljIGNyZWF0ZVByb3BlcnR5KHQsZT1qUXQpe2lmKHRoaXMuX2Vuc3VyZUNsYXNzUHJvcGVydGllcygpLHRoaXMuX2NsYXNzUHJvcGVydGllcy5zZXQodCxlKSxlLm5vQWNjZXNzb3J8fHRoaXMucHJvdG90eXBlLmhhc093blByb3BlcnR5KHQpKXJldHVybjtjb25zdCBuPSJzeW1ib2wiPT10eXBlb2YgdD9TeW1ib2woKTpgX18ke3R9YCxpPXRoaXMuZ2V0UHJvcGVydHlEZXNjcmlwdG9yKHQsbixlKTt2b2lkIDAhPT1pJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5wcm90b3R5cGUsdCxpKX1zdGF0aWMgZ2V0UHJvcGVydHlEZXNjcmlwdG9yKHQsZSxuKXtyZXR1cm57Z2V0KCl7cmV0dXJuIHRoaXNbZV19LHNldChpKXtjb25zdCByPXRoaXNbdF07dGhpc1tlXT1pLHRoaXMucmVxdWVzdFVwZGF0ZUludGVybmFsKHQscixuKX0sY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITB9fXN0YXRpYyBnZXRQcm9wZXJ0eU9wdGlvbnModCl7cmV0dXJuIHRoaXMuX2NsYXNzUHJvcGVydGllcyYmdGhpcy5fY2xhc3NQcm9wZXJ0aWVzLmdldCh0KXx8alF0fXN0YXRpYyBmaW5hbGl6ZSgpe2NvbnN0IHQ9T2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpO2lmKHQuaGFzT3duUHJvcGVydHkoR1F0KXx8dC5maW5hbGl6ZSgpLHRoaXMuZmluYWxpemVkPSEwLHRoaXMuX2Vuc3VyZUNsYXNzUHJvcGVydGllcygpLHRoaXMuX2F0dHJpYnV0ZVRvUHJvcGVydHlNYXA9bmV3IE1hcCx0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoInByb3BlcnRpZXMiLHRoaXMpKSl7Y29uc3QgdD10aGlzLnByb3BlcnRpZXMsZT1bLi4uT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModCksLi4uImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KTpbXV07Zm9yKGNvbnN0IG4gb2YgZSl0aGlzLmNyZWF0ZVByb3BlcnR5KG4sdFtuXSl9fXN0YXRpYyBfYXR0cmlidXRlTmFtZUZvclByb3BlcnR5KHQsZSl7Y29uc3Qgbj1lLmF0dHJpYnV0ZTtyZXR1cm4hMT09PW4/dm9pZCAwOiJzdHJpbmciPT10eXBlb2Ygbj9uOiJzdHJpbmciPT10eXBlb2YgdD90LnRvTG93ZXJDYXNlKCk6dm9pZCAwfXN0YXRpYyBfdmFsdWVIYXNDaGFuZ2VkKHQsZSxuPVVRdCl7cmV0dXJuIG4odCxlKX1zdGF0aWMgX3Byb3BlcnR5VmFsdWVGcm9tQXR0cmlidXRlKHQsZSl7Y29uc3Qgbj1lLmNvbnZlcnRlcnx8VlF0LGk9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpuLmZyb21BdHRyaWJ1dGU7cmV0dXJuIGk/aSh0LGUudHlwZSk6dH1zdGF0aWMgX3Byb3BlcnR5VmFsdWVUb0F0dHJpYnV0ZSh0LGUpe2lmKHZvaWQgMD09PWUucmVmbGVjdClyZXR1cm47Y29uc3Qgbj1lLmNvbnZlcnRlcjtyZXR1cm4obiYmbi50b0F0dHJpYnV0ZXx8VlF0LnRvQXR0cmlidXRlKSh0LGUudHlwZSl9aW5pdGlhbGl6ZSgpe3RoaXMuX3VwZGF0ZVN0YXRlPTAsdGhpcy5fdXBkYXRlUHJvbWlzZT1uZXcgUHJvbWlzZSgodD0+dGhpcy5fZW5hYmxlVXBkYXRpbmdSZXNvbHZlcj10KSksdGhpcy5fY2hhbmdlZFByb3BlcnRpZXM9bmV3IE1hcCx0aGlzLl9zYXZlSW5zdGFuY2VQcm9wZXJ0aWVzKCksdGhpcy5yZXF1ZXN0VXBkYXRlSW50ZXJuYWwoKX1fc2F2ZUluc3RhbmNlUHJvcGVydGllcygpe3RoaXMuY29uc3RydWN0b3IuX2NsYXNzUHJvcGVydGllcy5mb3JFYWNoKCgodCxlKT0+e2lmKHRoaXMuaGFzT3duUHJvcGVydHkoZSkpe2NvbnN0IHQ9dGhpc1tlXTtkZWxldGUgdGhpc1tlXSx0aGlzLl9pbnN0YW5jZVByb3BlcnRpZXN8fCh0aGlzLl9pbnN0YW5jZVByb3BlcnRpZXM9bmV3IE1hcCksdGhpcy5faW5zdGFuY2VQcm9wZXJ0aWVzLnNldChlLHQpfX0pKX1fYXBwbHlJbnN0YW5jZVByb3BlcnRpZXMoKXt0aGlzLl9pbnN0YW5jZVByb3BlcnRpZXMuZm9yRWFjaCgoKHQsZSk9PnRoaXNbZV09dCkpLHRoaXMuX2luc3RhbmNlUHJvcGVydGllcz12b2lkIDB9Y29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLmVuYWJsZVVwZGF0aW5nKCl9ZW5hYmxlVXBkYXRpbmcoKXt2b2lkIDAhPT10aGlzLl9lbmFibGVVcGRhdGluZ1Jlc29sdmVyJiYodGhpcy5fZW5hYmxlVXBkYXRpbmdSZXNvbHZlcigpLHRoaXMuX2VuYWJsZVVwZGF0aW5nUmVzb2x2ZXI9dm9pZCAwKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe31hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4pe2UhPT1uJiZ0aGlzLl9hdHRyaWJ1dGVUb1Byb3BlcnR5KHQsbil9X3Byb3BlcnR5VG9BdHRyaWJ1dGUodCxlLG49alF0KXtjb25zdCBpPXRoaXMuY29uc3RydWN0b3Iscj1pLl9hdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkodCxuKTtpZih2b2lkIDAhPT1yKXtjb25zdCB0PWkuX3Byb3BlcnR5VmFsdWVUb0F0dHJpYnV0ZShlLG4pO2lmKHZvaWQgMD09PXQpcmV0dXJuO3RoaXMuX3VwZGF0ZVN0YXRlPTh8dGhpcy5fdXBkYXRlU3RhdGUsbnVsbD09dD90aGlzLnJlbW92ZUF0dHJpYnV0ZShyKTp0aGlzLnNldEF0dHJpYnV0ZShyLHQpLHRoaXMuX3VwZGF0ZVN0YXRlPS05JnRoaXMuX3VwZGF0ZVN0YXRlfX1fYXR0cmlidXRlVG9Qcm9wZXJ0eSh0LGUpe2lmKDgmdGhpcy5fdXBkYXRlU3RhdGUpcmV0dXJuO2NvbnN0IG49dGhpcy5jb25zdHJ1Y3RvcixpPW4uX2F0dHJpYnV0ZVRvUHJvcGVydHlNYXAuZ2V0KHQpO2lmKHZvaWQgMCE9PWkpe2NvbnN0IHQ9bi5nZXRQcm9wZXJ0eU9wdGlvbnMoaSk7dGhpcy5fdXBkYXRlU3RhdGU9MTZ8dGhpcy5fdXBkYXRlU3RhdGUsdGhpc1tpXT1uLl9wcm9wZXJ0eVZhbHVlRnJvbUF0dHJpYnV0ZShlLHQpLHRoaXMuX3VwZGF0ZVN0YXRlPS0xNyZ0aGlzLl91cGRhdGVTdGF0ZX19cmVxdWVzdFVwZGF0ZUludGVybmFsKHQsZSxuKXtsZXQgaT0hMDtpZih2b2lkIDAhPT10KXtjb25zdCByPXRoaXMuY29uc3RydWN0b3I7bj1ufHxyLmdldFByb3BlcnR5T3B0aW9ucyh0KSxyLl92YWx1ZUhhc0NoYW5nZWQodGhpc1t0XSxlLG4uaGFzQ2hhbmdlZCk/KHRoaXMuX2NoYW5nZWRQcm9wZXJ0aWVzLmhhcyh0KXx8dGhpcy5fY2hhbmdlZFByb3BlcnRpZXMuc2V0KHQsZSksITAhPT1uLnJlZmxlY3R8fDE2JnRoaXMuX3VwZGF0ZVN0YXRlfHwodm9pZCAwPT09dGhpcy5fcmVmbGVjdGluZ1Byb3BlcnRpZXMmJih0aGlzLl9yZWZsZWN0aW5nUHJvcGVydGllcz1uZXcgTWFwKSx0aGlzLl9yZWZsZWN0aW5nUHJvcGVydGllcy5zZXQodCxuKSkpOmk9ITF9IXRoaXMuX2hhc1JlcXVlc3RlZFVwZGF0ZSYmaSYmKHRoaXMuX3VwZGF0ZVByb21pc2U9dGhpcy5fZW5xdWV1ZVVwZGF0ZSgpKX1yZXF1ZXN0VXBkYXRlKHQsZSl7cmV0dXJuIHRoaXMucmVxdWVzdFVwZGF0ZUludGVybmFsKHQsZSksdGhpcy51cGRhdGVDb21wbGV0ZX1hc3luYyBfZW5xdWV1ZVVwZGF0ZSgpe3RoaXMuX3VwZGF0ZVN0YXRlPTR8dGhpcy5fdXBkYXRlU3RhdGU7dHJ5e2F3YWl0IHRoaXMuX3VwZGF0ZVByb21pc2V9Y2F0Y2godCl7fWNvbnN0IHQ9dGhpcy5wZXJmb3JtVXBkYXRlKCk7cmV0dXJuIG51bGwhPXQmJmF3YWl0IHQsIXRoaXMuX2hhc1JlcXVlc3RlZFVwZGF0ZX1nZXQgX2hhc1JlcXVlc3RlZFVwZGF0ZSgpe3JldHVybiA0JnRoaXMuX3VwZGF0ZVN0YXRlfWdldCBoYXNVcGRhdGVkKCl7cmV0dXJuIDEmdGhpcy5fdXBkYXRlU3RhdGV9cGVyZm9ybVVwZGF0ZSgpe2lmKCF0aGlzLl9oYXNSZXF1ZXN0ZWRVcGRhdGUpcmV0dXJuO3RoaXMuX2luc3RhbmNlUHJvcGVydGllcyYmdGhpcy5fYXBwbHlJbnN0YW5jZVByb3BlcnRpZXMoKTtsZXQgdD0hMTtjb25zdCBlPXRoaXMuX2NoYW5nZWRQcm9wZXJ0aWVzO3RyeXt0PXRoaXMuc2hvdWxkVXBkYXRlKGUpLHQ/dGhpcy51cGRhdGUoZSk6dGhpcy5fbWFya1VwZGF0ZWQoKX1jYXRjaChlKXt0aHJvdyB0PSExLHRoaXMuX21hcmtVcGRhdGVkKCksZX10JiYoMSZ0aGlzLl91cGRhdGVTdGF0ZXx8KHRoaXMuX3VwZGF0ZVN0YXRlPTF8dGhpcy5fdXBkYXRlU3RhdGUsdGhpcy5maXJzdFVwZGF0ZWQoZSkpLHRoaXMudXBkYXRlZChlKSl9X21hcmtVcGRhdGVkKCl7dGhpcy5fY2hhbmdlZFByb3BlcnRpZXM9bmV3IE1hcCx0aGlzLl91cGRhdGVTdGF0ZT0tNSZ0aGlzLl91cGRhdGVTdGF0ZX1nZXQgdXBkYXRlQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5fZ2V0VXBkYXRlQ29tcGxldGUoKX1fZ2V0VXBkYXRlQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5nZXRVcGRhdGVDb21wbGV0ZSgpfWdldFVwZGF0ZUNvbXBsZXRlKCl7cmV0dXJuIHRoaXMuX3VwZGF0ZVByb21pc2V9c2hvdWxkVXBkYXRlKHQpe3JldHVybiEwfXVwZGF0ZSh0KXt2b2lkIDAhPT10aGlzLl9yZWZsZWN0aW5nUHJvcGVydGllcyYmdGhpcy5fcmVmbGVjdGluZ1Byb3BlcnRpZXMuc2l6ZT4wJiYodGhpcy5fcmVmbGVjdGluZ1Byb3BlcnRpZXMuZm9yRWFjaCgoKHQsZSk9PnRoaXMuX3Byb3BlcnR5VG9BdHRyaWJ1dGUoZSx0aGlzW2VdLHQpKSksdGhpcy5fcmVmbGVjdGluZ1Byb3BlcnRpZXM9dm9pZCAwKSx0aGlzLl9tYXJrVXBkYXRlZCgpfXVwZGF0ZWQodCl7fWZpcnN0VXBkYXRlZCh0KXt9fVdRdC5maW5hbGl6ZWQ9ITA7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxOSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBxUXQ9d2luZG93LlNoYWRvd1Jvb3QmJih2b2lkIDA9PT13aW5kb3cuU2hhZHlDU1N8fHdpbmRvdy5TaGFkeUNTUy5uYXRpdmVTaGFkb3cpJiYiYWRvcHRlZFN0eWxlU2hlZXRzImluIERvY3VtZW50LnByb3RvdHlwZSYmInJlcGxhY2UiaW4gQ1NTU3R5bGVTaGVldC5wcm90b3R5cGUsWVF0PVN5bWJvbCgpO2NsYXNzIFhRdHtjb25zdHJ1Y3Rvcih0LGUpe2lmKGUhPT1ZUXQpdGhyb3cgbmV3IEVycm9yKCJDU1NSZXN1bHQgaXMgbm90IGNvbnN0cnVjdGFibGUuIFVzZSBgdW5zYWZlQ1NTYCBvciBgY3NzYCBpbnN0ZWFkLiIpO3RoaXMuY3NzVGV4dD10fWdldCBzdHlsZVNoZWV0KCl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX3N0eWxlU2hlZXQmJihxUXQ/KHRoaXMuX3N0eWxlU2hlZXQ9bmV3IENTU1N0eWxlU2hlZXQsdGhpcy5fc3R5bGVTaGVldC5yZXBsYWNlU3luYyh0aGlzLmNzc1RleHQpKTp0aGlzLl9zdHlsZVNoZWV0PW51bGwpLHRoaXMuX3N0eWxlU2hlZXR9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5jc3NUZXh0fX1jb25zdCAkUXQ9KHQsLi4uZSk9Pntjb25zdCBuPWUucmVkdWNlKCgoZSxuLGkpPT5lKyh0PT57aWYodCBpbnN0YW5jZW9mIFhRdClyZXR1cm4gdC5jc3NUZXh0O2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoYFZhbHVlIHBhc3NlZCB0byAnY3NzJyBmdW5jdGlvbiBtdXN0IGJlIGEgJ2NzcycgZnVuY3Rpb24gcmVzdWx0OiAke3R9LiBVc2UgJ3Vuc2FmZUNTUycgdG8gcGFzcyBub24tbGl0ZXJhbCB2YWx1ZXMsIGJ1dFxuICAgICAgICAgICAgdGFrZSBjYXJlIHRvIGVuc3VyZSBwYWdlIHNlY3VyaXR5LmApfSkobikrdFtpKzFdKSx0WzBdKTtyZXR1cm4gbmV3IFhRdChuLFlRdCl9OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgICogVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgICAqIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgICogQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgICAqIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgICovCih3aW5kb3cubGl0RWxlbWVudFZlcnNpb25zfHwod2luZG93LmxpdEVsZW1lbnRWZXJzaW9ucz1bXSkpLnB1c2goIjIuNS4xIik7Y29uc3QgS1F0PXt9O2NsYXNzIFpRdCBleHRlbmRzIFdRdHtzdGF0aWMgZ2V0U3R5bGVzKCl7cmV0dXJuIHRoaXMuc3R5bGVzfXN0YXRpYyBfZ2V0VW5pcXVlU3R5bGVzKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJfc3R5bGVzIix0aGlzKSkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5nZXRTdHlsZXMoKTtpZihBcnJheS5pc0FycmF5KHQpKXtjb25zdCBlPSh0LG4pPT50LnJlZHVjZVJpZ2h0KCgodCxuKT0+QXJyYXkuaXNBcnJheShuKT9lKG4sdCk6KHQuYWRkKG4pLHQpKSxuKSxuPWUodCxuZXcgU2V0KSxpPVtdO24uZm9yRWFjaCgodD0+aS51bnNoaWZ0KHQpKSksdGhpcy5fc3R5bGVzPWl9ZWxzZSB0aGlzLl9zdHlsZXM9dm9pZCAwPT09dD9bXTpbdF07dGhpcy5fc3R5bGVzPXRoaXMuX3N0eWxlcy5tYXAoKHQ9PntpZih0IGluc3RhbmNlb2YgQ1NTU3R5bGVTaGVldCYmIXFRdCl7cmV0dXJuKHQ9Pm5ldyBYUXQoU3RyaW5nKHQpLFlRdCkpKEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQuY3NzUnVsZXMpLnJlZHVjZSgoKHQsZSk9PnQrZS5jc3NUZXh0KSwiIikpfXJldHVybiB0fSkpfWluaXRpYWxpemUoKXtzdXBlci5pbml0aWFsaXplKCksdGhpcy5jb25zdHJ1Y3Rvci5fZ2V0VW5pcXVlU3R5bGVzKCksdGhpcy5yZW5kZXJSb290PXRoaXMuY3JlYXRlUmVuZGVyUm9vdCgpLHdpbmRvdy5TaGFkb3dSb290JiZ0aGlzLnJlbmRlclJvb3QgaW5zdGFuY2VvZiB3aW5kb3cuU2hhZG93Um9vdCYmdGhpcy5hZG9wdFN0eWxlcygpfWNyZWF0ZVJlbmRlclJvb3QoKXtyZXR1cm4gdGhpcy5hdHRhY2hTaGFkb3codGhpcy5jb25zdHJ1Y3Rvci5zaGFkb3dSb290T3B0aW9ucyl9YWRvcHRTdHlsZXMoKXtjb25zdCB0PXRoaXMuY29uc3RydWN0b3IuX3N0eWxlczswIT09dC5sZW5ndGgmJih2b2lkIDA9PT13aW5kb3cuU2hhZHlDU1N8fHdpbmRvdy5TaGFkeUNTUy5uYXRpdmVTaGFkb3c/cVF0P3RoaXMucmVuZGVyUm9vdC5hZG9wdGVkU3R5bGVTaGVldHM9dC5tYXAoKHQ9PnQgaW5zdGFuY2VvZiBDU1NTdHlsZVNoZWV0P3Q6dC5zdHlsZVNoZWV0KSk6dGhpcy5fbmVlZHNTaGltQWRvcHRlZFN0eWxlU2hlZXRzPSEwOndpbmRvdy5TaGFkeUNTUy5TY29waW5nU2hpbS5wcmVwYXJlQWRvcHRlZENzc1RleHQodC5tYXAoKHQ9PnQuY3NzVGV4dCkpLHRoaXMubG9jYWxOYW1lKSl9Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaGFzVXBkYXRlZCYmdm9pZCAwIT09d2luZG93LlNoYWR5Q1NTJiZ3aW5kb3cuU2hhZHlDU1Muc3R5bGVFbGVtZW50KHRoaXMpfXVwZGF0ZSh0KXtjb25zdCBlPXRoaXMucmVuZGVyKCk7c3VwZXIudXBkYXRlKHQpLGUhPT1LUXQmJnRoaXMuY29uc3RydWN0b3IucmVuZGVyKGUsdGhpcy5yZW5kZXJSb290LHtzY29wZU5hbWU6dGhpcy5sb2NhbE5hbWUsZXZlbnRDb250ZXh0OnRoaXN9KSx0aGlzLl9uZWVkc1NoaW1BZG9wdGVkU3R5bGVTaGVldHMmJih0aGlzLl9uZWVkc1NoaW1BZG9wdGVkU3R5bGVTaGVldHM9ITEsdGhpcy5jb25zdHJ1Y3Rvci5fc3R5bGVzLmZvckVhY2goKHQ9Pntjb25zdCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7ZS50ZXh0Q29udGVudD10LmNzc1RleHQsdGhpcy5yZW5kZXJSb290LmFwcGVuZENoaWxkKGUpfSkpKX1yZW5kZXIoKXtyZXR1cm4gS1F0fX1aUXQuZmluYWxpemVkPSEwLFpRdC5yZW5kZXI9KHQsZSxuKT0+e2lmKCFufHwib2JqZWN0IiE9dHlwZW9mIG58fCFuLnNjb3BlTmFtZSl0aHJvdyBuZXcgRXJyb3IoIlRoZSBgc2NvcGVOYW1lYCBvcHRpb24gaXMgcmVxdWlyZWQuIik7Y29uc3QgaT1uLnNjb3BlTmFtZSxyPVJRdC5oYXMoZSksbz16UXQmJjExPT09ZS5ub2RlVHlwZSYmISFlLmhvc3QsYT1vJiYhSFF0LmhhcyhpKSxzPWE/ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOmU7aWYoKCh0LGUsbik9PntsZXQgaT1SUXQuZ2V0KGUpO3ZvaWQgMD09PWkmJihoUXQoZSxlLmZpcnN0Q2hpbGQpLFJRdC5zZXQoZSxpPW5ldyBMUXQoT2JqZWN0LmFzc2lnbih7dGVtcGxhdGVGYWN0b3J5Ok5RdH0sbikpKSxpLmFwcGVuZEludG8oZSkpLGkuc2V0VmFsdWUodCksaS5jb21taXQoKX0pKHQscyxPYmplY3QuYXNzaWduKHt0ZW1wbGF0ZUZhY3Rvcnk6RFF0KGkpfSxuKSksYSl7Y29uc3QgdD1SUXQuZ2V0KHMpO1JRdC5kZWxldGUocyk7RlF0KGkscyx0LnZhbHVlIGluc3RhbmNlb2YgQ1F0P3QudmFsdWUudGVtcGxhdGU6dm9pZCAwKSxoUXQoZSxlLmZpcnN0Q2hpbGQpLGUuYXBwZW5kQ2hpbGQocyksUlF0LnNldChlLHQpfSFyJiZvJiZ3aW5kb3cuU2hhZHlDU1Muc3R5bGVFbGVtZW50KGUuaG9zdCl9LFpRdC5zaGFkb3dSb290T3B0aW9ucz17bW9kZToib3BlbiJ9O2xldCBKUXQ9MDtjb25zdCBRUXQ9e30sdDF0PSh0LGUsbik9Pntjb25zdCBpPW4mJm4ubW9kdWxlSWR8fCJjdXN0b20tc3R5bGUtbW9kdWxlLSIrSlF0Kys7QXJyYXkuaXNBcnJheShlKXx8KGU9ZT9bZV06W10pLGUuZm9yRWFjaCgodD0+e2lmKCEodCBpbnN0YW5jZW9mIFhRdCkpdGhyb3cgbmV3IEVycm9yKCJBbiBpdGVtIGluIHN0eWxlcyBpcyBub3Qgb2YgdHlwZSBDU1NSZXN1bHQuIFVzZSBgdW5zYWZlQ1NTYCBvciBgY3NzYC4iKTtpZighUVF0W3RdKXtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRvbS1tb2R1bGUiKTtlLmlubmVySFRNTD1gXG4gICAgICAgIDx0ZW1wbGF0ZT5cbiAgICAgICAgICA8c3R5bGU+JHt0LnRvU3RyaW5nKCl9PC9zdHlsZT5cbiAgICAgICAgPC90ZW1wbGF0ZT5cbiAgICAgIGA7Y29uc3Qgbj0iY3VzdG9tLXN0eWxlLW1vZHVsZS0iK0pRdCsrO2UucmVnaXN0ZXIobiksUVF0W3RdPW59fSkpO2NvbnN0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZG9tLW1vZHVsZSIpO2lmKHQpe2NvbnN0IGU9Y3VzdG9tRWxlbWVudHMuZ2V0KHQpO2UmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCJfX2ZpbmFsaXplZCIpJiZjb25zb2xlLndhcm4oYFRoZSBjdXN0b20gZWxlbWVudCBkZWZpbml0aW9uIGZvciAiJHt0fSJcbiAgICAgIHdhcyBmaW5hbGl6ZWQgYmVmb3JlIGEgc3R5bGUgbW9kdWxlIHdhcyByZWdpc3RlcmVkLlxuICAgICAgTWFrZSBzdXJlIHRvIGFkZCBjb21wb25lbnQgc3BlY2lmaWMgc3R5bGUgbW9kdWxlcyBiZWZvcmVcbiAgICAgIGltcG9ydGluZyB0aGUgY29ycmVzcG9uZGluZyBjdXN0b20gZWxlbWVudC5gKSxyLnNldEF0dHJpYnV0ZSgidGhlbWUtZm9yIix0KX1yLmlubmVySFRNTD1gXG4gICAgPHRlbXBsYXRlPlxuICAgICAgJHsobiYmbi5pbmNsdWRlfHxbXSkubWFwKCh0PT5gPHN0eWxlIGluY2x1ZGU9JHt0fT48L3N0eWxlPmApKX1cbiAgICAgICR7ZS5tYXAoKHQ9PmA8c3R5bGUgaW5jbHVkZT0ke1FRdFt0XX0+PC9zdHlsZT5gKSl9XG4gICAgPC90ZW1wbGF0ZT5cbiAgYCxyLnJlZ2lzdGVyKGkpfTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi8KY2xhc3MgZTF0IGV4dGVuZHMgSFRNTEVsZW1lbnR7c3RhdGljIGdldCB2ZXJzaW9uKCl7cmV0dXJuIjIwLjAuMiJ9fWN1c3RvbUVsZW1lbnRzLmRlZmluZSgidmFhZGluLWx1bW8tc3R5bGVzIixlMXQpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLwpjb25zdCBuMXQ9JFF0YAogIDpob3N0IHsKICAgIC8qIEJhc2UgKGJhY2tncm91bmQpICovCiAgICAtLWx1bW8tYmFzZS1jb2xvcjogI2ZmZjsKCiAgICAvKiBUaW50ICovCiAgICAtLWx1bW8tdGludC01cGN0OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjMpOwogICAgLS1sdW1vLXRpbnQtMTBwY3Q6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMzcpOwogICAgLS1sdW1vLXRpbnQtMjBwY3Q6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNDQpOwogICAgLS1sdW1vLXRpbnQtMzBwY3Q6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNSk7CiAgICAtLWx1bW8tdGludC00MHBjdDogaHNsYSgwLCAwJSwgMTAwJSwgMC41Nyk7CiAgICAtLWx1bW8tdGludC01MHBjdDogaHNsYSgwLCAwJSwgMTAwJSwgMC42NCk7CiAgICAtLWx1bW8tdGludC02MHBjdDogaHNsYSgwLCAwJSwgMTAwJSwgMC43KTsKICAgIC0tbHVtby10aW50LTcwcGN0OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjc3KTsKICAgIC0tbHVtby10aW50LTgwcGN0OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjg0KTsKICAgIC0tbHVtby10aW50LTkwcGN0OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjkpOwogICAgLS1sdW1vLXRpbnQ6ICNmZmY7CgogICAgLyogU2hhZGUgKi8KICAgIC0tbHVtby1zaGFkZS01cGN0OiBoc2xhKDIxNCwgNjElLCAyNSUsIDAuMDUpOwogICAgLS1sdW1vLXNoYWRlLTEwcGN0OiBoc2xhKDIxNCwgNTclLCAyNCUsIDAuMSk7CiAgICAtLWx1bW8tc2hhZGUtMjBwY3Q6IGhzbGEoMjE0LCA1MyUsIDIzJSwgMC4xNik7CiAgICAtLWx1bW8tc2hhZGUtMzBwY3Q6IGhzbGEoMjE0LCA1MCUsIDIyJSwgMC4yNik7CiAgICAtLWx1bW8tc2hhZGUtNDBwY3Q6IGhzbGEoMjE0LCA0NyUsIDIxJSwgMC4zOCk7CiAgICAtLWx1bW8tc2hhZGUtNTBwY3Q6IGhzbGEoMjE0LCA0NSUsIDIwJSwgMC41KTsKICAgIC0tbHVtby1zaGFkZS02MHBjdDogaHNsYSgyMTQsIDQzJSwgMTklLCAwLjYxKTsKICAgIC0tbHVtby1zaGFkZS03MHBjdDogaHNsYSgyMTQsIDQyJSwgMTglLCAwLjcyKTsKICAgIC0tbHVtby1zaGFkZS04MHBjdDogaHNsYSgyMTQsIDQxJSwgMTclLCAwLjgzKTsKICAgIC0tbHVtby1zaGFkZS05MHBjdDogaHNsYSgyMTQsIDQwJSwgMTYlLCAwLjk0KTsKICAgIC0tbHVtby1zaGFkZTogaHNsKDIxNCwgMzUlLCAxNSUpOwoKICAgIC8qIENvbnRyYXN0ICovCiAgICAtLWx1bW8tY29udHJhc3QtNXBjdDogdmFyKC0tbHVtby1zaGFkZS01cGN0KTsKICAgIC0tbHVtby1jb250cmFzdC0xMHBjdDogdmFyKC0tbHVtby1zaGFkZS0xMHBjdCk7CiAgICAtLWx1bW8tY29udHJhc3QtMjBwY3Q6IHZhcigtLWx1bW8tc2hhZGUtMjBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTMwcGN0OiB2YXIoLS1sdW1vLXNoYWRlLTMwcGN0KTsKICAgIC0tbHVtby1jb250cmFzdC00MHBjdDogdmFyKC0tbHVtby1zaGFkZS00MHBjdCk7CiAgICAtLWx1bW8tY29udHJhc3QtNTBwY3Q6IHZhcigtLWx1bW8tc2hhZGUtNTBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTYwcGN0OiB2YXIoLS1sdW1vLXNoYWRlLTYwcGN0KTsKICAgIC0tbHVtby1jb250cmFzdC03MHBjdDogdmFyKC0tbHVtby1zaGFkZS03MHBjdCk7CiAgICAtLWx1bW8tY29udHJhc3QtODBwY3Q6IHZhcigtLWx1bW8tc2hhZGUtODBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTkwcGN0OiB2YXIoLS1sdW1vLXNoYWRlLTkwcGN0KTsKICAgIC0tbHVtby1jb250cmFzdDogdmFyKC0tbHVtby1zaGFkZSk7CgogICAgLyogVGV4dCAqLwogICAgLS1sdW1vLWhlYWRlci10ZXh0LWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0KTsKICAgIC0tbHVtby1ib2R5LXRleHQtY29sb3I6IHZhcigtLWx1bW8tY29udHJhc3QtOTBwY3QpOwogICAgLS1sdW1vLXNlY29uZGFyeS10ZXh0LWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTcwcGN0KTsKICAgIC0tbHVtby10ZXJ0aWFyeS10ZXh0LWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTUwcGN0KTsKICAgIC0tbHVtby1kaXNhYmxlZC10ZXh0LWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTMwcGN0KTsKCiAgICAvKiBQcmltYXJ5ICovCiAgICAtLWx1bW8tcHJpbWFyeS1jb2xvcjogaHNsKDIxNCwgOTAlLCA1MiUpOwogICAgLS1sdW1vLXByaW1hcnktY29sb3ItNTBwY3Q6IGhzbGEoMjE0LCA5MCUsIDUyJSwgMC41KTsKICAgIC0tbHVtby1wcmltYXJ5LWNvbG9yLTEwcGN0OiBoc2xhKDIxNCwgOTAlLCA1MiUsIDAuMSk7CiAgICAtLWx1bW8tcHJpbWFyeS10ZXh0LWNvbG9yOiB2YXIoLS1sdW1vLXByaW1hcnktY29sb3IpOwogICAgLS1sdW1vLXByaW1hcnktY29udHJhc3QtY29sb3I6ICNmZmY7CgogICAgLyogRXJyb3IgKi8KICAgIC0tbHVtby1lcnJvci1jb2xvcjogaHNsKDMsIDEwMCUsIDYxJSk7CiAgICAtLWx1bW8tZXJyb3ItY29sb3ItNTBwY3Q6IGhzbGEoMywgMTAwJSwgNjAlLCAwLjUpOwogICAgLS1sdW1vLWVycm9yLWNvbG9yLTEwcGN0OiBoc2xhKDMsIDEwMCUsIDYwJSwgMC4xKTsKICAgIC0tbHVtby1lcnJvci10ZXh0LWNvbG9yOiBoc2woMywgOTIlLCA1MyUpOwogICAgLS1sdW1vLWVycm9yLWNvbnRyYXN0LWNvbG9yOiAjZmZmOwoKICAgIC8qIFN1Y2Nlc3MgKi8KICAgIC0tbHVtby1zdWNjZXNzLWNvbG9yOiBoc2woMTQ1LCA4MCUsIDQyJSk7IC8qIGhzbCgxNDQsODIlLDM3JSk7ICovCiAgICAtLWx1bW8tc3VjY2Vzcy1jb2xvci01MHBjdDogaHNsYSgxNDUsIDc2JSwgNDQlLCAwLjU1KTsKICAgIC0tbHVtby1zdWNjZXNzLWNvbG9yLTEwcGN0OiBoc2xhKDE0NSwgNzYlLCA0NCUsIDAuMTIpOwogICAgLS1sdW1vLXN1Y2Nlc3MtdGV4dC1jb2xvcjogaHNsKDE0NSwgMTAwJSwgMzIlKTsKICAgIC0tbHVtby1zdWNjZXNzLWNvbnRyYXN0LWNvbG9yOiAjZmZmOwogIH0KYCxpMXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtpMXQuaW5uZXJIVE1MPWA8c3R5bGU+JHtuMXQudG9TdHJpbmcoKS5yZXBsYWNlKCI6aG9zdCIsImh0bWwiKX08L3N0eWxlPmAsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpMXQuY29udGVudCk7dDF0KCIiLCRRdGAKICBbdGhlbWV+PSdkYXJrJ10gewogICAgLyogQmFzZSAoYmFja2dyb3VuZCkgKi8KICAgIC0tbHVtby1iYXNlLWNvbG9yOiBoc2woMjE0LCAzNSUsIDIxJSk7CgogICAgLyogVGludCAqLwogICAgLS1sdW1vLXRpbnQtNXBjdDogaHNsYSgyMTQsIDY1JSwgODUlLCAwLjA2KTsKICAgIC0tbHVtby10aW50LTEwcGN0OiBoc2xhKDIxNCwgNjAlLCA4MCUsIDAuMTQpOwogICAgLS1sdW1vLXRpbnQtMjBwY3Q6IGhzbGEoMjE0LCA2NCUsIDgyJSwgMC4yMyk7CiAgICAtLWx1bW8tdGludC0zMHBjdDogaHNsYSgyMTQsIDY5JSwgODQlLCAwLjMyKTsKICAgIC0tbHVtby10aW50LTQwcGN0OiBoc2xhKDIxNCwgNzMlLCA4NiUsIDAuNDEpOwogICAgLS1sdW1vLXRpbnQtNTBwY3Q6IGhzbGEoMjE0LCA3OCUsIDg4JSwgMC41KTsKICAgIC0tbHVtby10aW50LTYwcGN0OiBoc2xhKDIxNCwgODIlLCA5MCUsIDAuNik7CiAgICAtLWx1bW8tdGludC03MHBjdDogaHNsYSgyMTQsIDg3JSwgOTIlLCAwLjcpOwogICAgLS1sdW1vLXRpbnQtODBwY3Q6IGhzbGEoMjE0LCA5MSUsIDk0JSwgMC44KTsKICAgIC0tbHVtby10aW50LTkwcGN0OiBoc2xhKDIxNCwgOTYlLCA5NiUsIDAuOSk7CiAgICAtLWx1bW8tdGludDogaHNsKDIxNCwgMTAwJSwgOTglKTsKCiAgICAvKiBTaGFkZSAqLwogICAgLS1sdW1vLXNoYWRlLTVwY3Q6IGhzbGEoMjE0LCAwJSwgMCUsIDAuMDcpOwogICAgLS1sdW1vLXNoYWRlLTEwcGN0OiBoc2xhKDIxNCwgNCUsIDIlLCAwLjE1KTsKICAgIC0tbHVtby1zaGFkZS0yMHBjdDogaHNsYSgyMTQsIDglLCA0JSwgMC4yMyk7CiAgICAtLWx1bW8tc2hhZGUtMzBwY3Q6IGhzbGEoMjE0LCAxMiUsIDYlLCAwLjMyKTsKICAgIC0tbHVtby1zaGFkZS00MHBjdDogaHNsYSgyMTQsIDE2JSwgOCUsIDAuNDEpOwogICAgLS1sdW1vLXNoYWRlLTUwcGN0OiBoc2xhKDIxNCwgMjAlLCAxMCUsIDAuNSk7CiAgICAtLWx1bW8tc2hhZGUtNjBwY3Q6IGhzbGEoMjE0LCAyNCUsIDEyJSwgMC42KTsKICAgIC0tbHVtby1zaGFkZS03MHBjdDogaHNsYSgyMTQsIDI4JSwgMTMlLCAwLjcpOwogICAgLS1sdW1vLXNoYWRlLTgwcGN0OiBoc2xhKDIxNCwgMzIlLCAxMyUsIDAuOCk7CiAgICAtLWx1bW8tc2hhZGUtOTBwY3Q6IGhzbGEoMjE0LCAzMyUsIDEzJSwgMC45KTsKICAgIC0tbHVtby1zaGFkZTogaHNsKDIxNCwgMzMlLCAxMyUpOwoKICAgIC8qIENvbnRyYXN0ICovCiAgICAtLWx1bW8tY29udHJhc3QtNXBjdDogdmFyKC0tbHVtby10aW50LTVwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTEwcGN0OiB2YXIoLS1sdW1vLXRpbnQtMTBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTIwcGN0OiB2YXIoLS1sdW1vLXRpbnQtMjBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTMwcGN0OiB2YXIoLS1sdW1vLXRpbnQtMzBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTQwcGN0OiB2YXIoLS1sdW1vLXRpbnQtNDBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTUwcGN0OiB2YXIoLS1sdW1vLXRpbnQtNTBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTYwcGN0OiB2YXIoLS1sdW1vLXRpbnQtNjBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTcwcGN0OiB2YXIoLS1sdW1vLXRpbnQtNzBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTgwcGN0OiB2YXIoLS1sdW1vLXRpbnQtODBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTkwcGN0OiB2YXIoLS1sdW1vLXRpbnQtOTBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0OiB2YXIoLS1sdW1vLXRpbnQpOwoKICAgIC8qIFRleHQgKi8KICAgIC0tbHVtby1oZWFkZXItdGV4dC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdCk7CiAgICAtLWx1bW8tYm9keS10ZXh0LWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTkwcGN0KTsKICAgIC0tbHVtby1zZWNvbmRhcnktdGV4dC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC03MHBjdCk7CiAgICAtLWx1bW8tdGVydGlhcnktdGV4dC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC01MHBjdCk7CiAgICAtLWx1bW8tZGlzYWJsZWQtdGV4dC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC0zMHBjdCk7CgogICAgLyogUHJpbWFyeSAqLwogICAgLS1sdW1vLXByaW1hcnktY29sb3I6IGhzbCgyMTQsIDg2JSwgNTUlKTsKICAgIC0tbHVtby1wcmltYXJ5LWNvbG9yLTUwcGN0OiBoc2xhKDIxNCwgODYlLCA1NSUsIDAuNSk7CiAgICAtLWx1bW8tcHJpbWFyeS1jb2xvci0xMHBjdDogaHNsYSgyMTQsIDkwJSwgNjMlLCAwLjEpOwogICAgLS1sdW1vLXByaW1hcnktdGV4dC1jb2xvcjogaHNsKDIxNCwgMTAwJSwgNzAlKTsKICAgIC0tbHVtby1wcmltYXJ5LWNvbnRyYXN0LWNvbG9yOiAjZmZmOwoKICAgIC8qIEVycm9yICovCiAgICAtLWx1bW8tZXJyb3ItY29sb3I6IGhzbCgzLCA5MCUsIDYzJSk7CiAgICAtLWx1bW8tZXJyb3ItY29sb3ItNTBwY3Q6IGhzbGEoMywgOTAlLCA2MyUsIDAuNSk7CiAgICAtLWx1bW8tZXJyb3ItY29sb3ItMTBwY3Q6IGhzbGEoMywgOTAlLCA2MyUsIDAuMSk7CiAgICAtLWx1bW8tZXJyb3ItdGV4dC1jb2xvcjogaHNsKDMsIDEwMCUsIDY3JSk7CgogICAgLyogU3VjY2VzcyAqLwogICAgLS1sdW1vLXN1Y2Nlc3MtY29sb3I6IGhzbCgxNDUsIDY1JSwgNDIlKTsKICAgIC0tbHVtby1zdWNjZXNzLWNvbG9yLTUwcGN0OiBoc2xhKDE0NSwgNjUlLCA0MiUsIDAuNSk7CiAgICAtLWx1bW8tc3VjY2Vzcy1jb2xvci0xMHBjdDogaHNsYSgxNDUsIDY1JSwgNDIlLCAwLjEpOwogICAgLS1sdW1vLXN1Y2Nlc3MtdGV4dC1jb2xvcjogaHNsKDE0NSwgODUlLCA0NyUpOwogIH0KCiAgaHRtbCB7CiAgICBjb2xvcjogdmFyKC0tbHVtby1ib2R5LXRleHQtY29sb3IpOwogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1iYXNlLWNvbG9yKTsKICB9CgogIFt0aGVtZX49J2RhcmsnXSB7CiAgICBjb2xvcjogdmFyKC0tbHVtby1ib2R5LXRleHQtY29sb3IpOwogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1iYXNlLWNvbG9yKTsKICB9CgogIGgxLAogIGgyLAogIGgzLAogIGg0LAogIGg1LAogIGg2IHsKICAgIGNvbG9yOiB2YXIoLS1sdW1vLWhlYWRlci10ZXh0LWNvbG9yKTsKICB9CgogIGEgewogICAgY29sb3I6IHZhcigtLWx1bW8tcHJpbWFyeS10ZXh0LWNvbG9yKTsKICB9CgogIGJsb2NrcXVvdGUgewogICAgY29sb3I6IHZhcigtLWx1bW8tc2Vjb25kYXJ5LXRleHQtY29sb3IpOwogIH0KCiAgY29kZSwKICBwcmUgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC0xMHBjdCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdW1vLWJvcmRlci1yYWRpdXMtbSk7CiAgfQpgLHttb2R1bGVJZDoibHVtby1jb2xvciJ9KTt0MXQoIiIsJFF0YAogIDpob3N0IHsKICAgIGNvbG9yOiB2YXIoLS1sdW1vLWJvZHktdGV4dC1jb2xvcikgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx1bW8tYmFzZS1jb2xvcikgIWltcG9ydGFudDsKICB9CmAse21vZHVsZUlkOiJsdW1vLWNvbG9yLWxlZ2FjeSIsaW5jbHVkZTpbImx1bW8tY29sb3IiXX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLwpjb25zdCByMXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtyMXQuaW5uZXJIVE1MPSdcbiAgPHN0eWxlPlxuICAgIEBmb250LWZhY2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwnbHVtby1pY29uc1wnO1xuICAgICAgc3JjOiB1cmwoZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsZDA5R1JnQUJBQUFBQUJFY0FBc0FBQUFBSWl3QUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJIVTFWQ0FBQUJDQUFBQURzQUFBQlVJSXNsZWs5VEx6SUFBQUZFQUFBQVF3QUFBRlpBSVV1S1kyMWhjQUFBQVlnQUFBRDRBQUFEcnNDVThkNW5iSGxtQUFBQ2dBQUFDMk1BQUJkNGg5VG8yV2hsWVdRQUFBM2tBQUFBTUFBQUFEWmEvNlNzYUdobFlRQUFEaFFBQUFBZEFBQUFKQWJwQTM1b2JYUjRBQUFPTkFBQUFCQUFBQUNzcEJBQUFHeHZZMkVBQUE1RUFBQUFXQUFBQUZoNTVJQXNiV0Y0Y0FBQURwd0FBQUFmQUFBQUlBRktBWEJ1WVcxbEFBQU92QUFBQVRFQUFBSXVVVUpaQ0hCdmMzUUFBQS93QUFBQkt3QUFBZWxtOFN6VmVKeGpZR1JnWU9CaU1HQ3dZMkJ5Y2ZNSlllRExTU3pKWTVCaVlHR0FBSkE4TXBzeEp6TTlrWUVEeGdQS3NZQnBEaUJtZzRnQ0FDWTdCVWdBZUp4allHUyt5RGlCZ1pXQmdhbUthUThEQTBNUGhHWjh3R0RJeUFRVVpXQmxac0FLQXRKY1V4Z2NYakcrMG1JTytwL0ZFTVVjeERBTktNd0lrZ01BQm44TUxRQjRuTzNTV1c2RE1BQkYwVXR3Q0VuSVBNL3poTEs4THFoZlhSeWJTUDE0WFVZdEhWOWhHWVF3UUJOSW8zY1VJUGtoUWVNN3JpYjFla3FuWGc5ODFYdUMxcXZ5ODRsem9qbGVoM3B1eEwwaFBqR2pSVTQ3M3RlbG9FZWZBVU5Hakprd1pjYWNCVXRXck5td1pjZWVBMGRPbkxsdzVjYWRCMDllbFBHaEdmK2owTlRJLzY1S2ZYZXJUNkpocUtucFJLdGdPcHVxYVRydEtqUFVscUhtaHRvMjFJN3BMNmk2aGxxWTNxN3FHV3JmVUFlR09qVFVrYUdPRFhWaXFGTkRuUm5xM0ZBWGhybzAxSldocmcxMVk2aGJROTBaNnQ1UUQ0WjZOTlNUb1o0TjlXS29WME85R2VyZFVCK0cralRVbDZHV1J2a0wyNEJrRVhpY3RWaDliRnZWRmIvbnh2YnorN1JmL042ekhjZDJiQ2ZQK1dnYzFaOU4wanBObkVMNmtiUlZTNkhBMmhRWUdoOVRHUjFDYkNxYTJyWHJXT2tRRS9zSE5KZ210WnZvVk5acUUxQjFETkh4elRReENlaFVUWWlKVFF5RU51aTBxU0xlenIzUGR1eVFmZ21SV09mZGU4Kzk1NTF6N3Jubi9PNGpMb0ovYlJQMFVhS1FNTEZKanBCQXZwaExaQzNEazBvazdXQnpSMi91cEpzN1J5dy9uZkZibG4vdXVOL2FwQ3Z3cktMclN2VXFSdWZibTVwbjBmczB3NGdZeG5HVlA2cUhuTzRiV2lEUUdRZ3d0UzZsbTNsQjNRb1gxTTJ2d0VtdXppckYzOXkrRXMyK0RKOGQxcGt5cUJJcW96ZTNEMStaejREckZvYXp4SThkV3dNckRsWjJETXFRQVI5QVJPc0pVKzJjbWxUUGF6VGNvNTJGMXhUYTJhMitLOHZ2cTkyZFZIbXRMb1BlUVgvQVpQUllHdGhEWU9lWmpCaktvRnNWR3VsUjNsV1U5NVdlQ0s0NHFIVTdNaFdVR1VLWkRUM29LVWNHMkdXdWgrRUREZlVZQS9qaEFobDBUT3NKTllTRXU3bVFtaTNVemZYd1pLQTRCc1ZzSExYUVlHZ1JXOTV1RXRwSjFWZm45WGlMcmlSQmxGRXF4c0RqQTA5eUNOVW9ReHh3ZDdLV1NUdDJ5M0dUS2lmbHFIUlNvV1pjM20xMVdhL2ZKZEZnWEQ0c1NZZmxlSkJLZDhHTXo3SjhkWm4vY0dSQ2NLR0RuQTJHZTNmS3pjdmxuVEROdGhHV0xYelgvV2FYdFVBbVJnZUxsSFNyMzByMEc5VVRYTWIwQXRtd3pPb3k3M2ZrU2xIWmtkdXcvVFl1VTljQUQ0WXV0UG94VFRzQTM3OTd3VnI0Wi8xTkM1ekFSSHI0dnR4Smp4SWZpWk1oTWtiV2srMTRCbkpaS3dxR1p3RGZzd0x5eFdEU2cxMXJGTEpGN05vcHhqZDFoMS9RT1Qrb2V6Z2Z1M1lxK0hrK2R1ZjV4KzQwbzFHVGthSWdpa0svSUVuQzZhWXhDVUJhWkpTTjRYVFlGalUvWU1OSUtxSndoREdPQ0NJOEZEWG5YbVhqdEdoR0p5U2hxakFPbkJPa1cySkc5UzdHZ1llTVdBVTVKemhuV21CT2FPTStDS0VQb3FTZkZEQzJVbnErRExsVWdVVlVGRkxaR0pnNmp0bG9qc2RzYThrUE9iUHVKZGk1ZG5CZEJzTEpNR1RXRGE0dDJKdnR3dVBvOXMrWTg2c3V2L1czM1FHMXJBYU9BVVYrdng0SzZmMkQwNFBWS2xDN1dMU3JaekFpNDVaVjZsSUM3V29YcW1SeXZVcW9Wd3J6VW9Wc0lqZVRYV1F2K1JINUdUbEJYaUIvSW44bG4wSWJCQ0FGT2FqQUpyZ1pZeU9IV3FPZlVlL2FIakkxMlI2T1FvMWpDZ3QyMTVsKzRmNlhQYiswTU5vdTBWKzQzbjJGNzd0U2ZSYjI0ZDd6aXRnbkttdllIczY5enVnYVB2Qnd2NmlvWGtiMkxkTDY1QXR3NTF1TGtYbHUxYmhNTVJjWFNQY1lvcUtJUmxoMzRsUVA4LzVKYnVVRnllNHZ4RDYvNk14RkYxMUMwdVZMcjlVbGd3NDR0UzNwTVZpTkxVRXhieWNGZ0xJY3QrUURNaWJSaW14MXlkVXo4RlhaaXVPSURCT01WWDJuVVpjK2h1TkU1WFVKODF1aUpvaWFid3FhVkYwdWFjS2JhdS9wbDRSMlZXMFhYbEpyYTZib1ZyWUc2NDZURjVOWXp3eTR2akVOVnJEbGNOcFpQbDhESDZYWDhYV0N4MG12V1ZaWTZLRkxydnNZNjYvelBpY3Q1Rm54YU5VUi9qdXZaQ00zVHZENjBFMlcxdFppemJYVFBEdWFiY20wbmJienBXS3BtQTFheUJROGdpZWRMVU0rQTBrTmpCalFqbXVZejdZcmdJWFl2bUY2M1pMQndTWHJwbjlUYjl3d2RkL1UxSDBQTVFLM1hjTzh1bDNXVDdQeVBQZHB5MFRlbUt4TlJjSk5hdWlYSm5uVURwVXBwUVdzNFNuVUl5MEVFU0dZcUpZUUxHSHh6YUdXd1ZJYVM2WTdtUUZNOFpqWURRM2F4amY2MVNXalUzM0p3T1pBMXB3YUcxTDltemY3MWFIUmRYMUpIdzZGcDBhWGhOd2JxeWVHTmc0TmJkekdDQnhvejRaWGp5NE51NjlacjZzRFk2dk1yTFU1bkExUDhKa2JkV1hKNkVSZk1yeXZOaDFKZlE5K1Q0ZEloR3ZLOXczZHhqQkJ6YXRzUS9NbE9IVklEbllwRHo2b2RBWGxRMDF0MlBhNUlhZmQ4TU1weEFlREtQMEM2Q2pnVkxUNW9zQjZpY1V4MDFsV2pYeHpUL0d5UkYyd2VsRU01Wi83akczVmpRMVNyTm41SWJ5ek9HNWRvYkIzL1FIeHladnNYY296OElvRXdTN3BsQ2crenhIUWs0MjRxOUJmRXBrRVNKYkZIUXVzREJTV0ZrdUJrb1BPMGtMS3dSVllqeEdYbEhUY1REUU1KL0g2VFg5YWZrTzdtbnJhVE8xZmVUblpBWEx1NGNwN0hBWE1tTkcxeWVGazlUZ1MvTkhoWlIvNFFvQlRyL1pCKzZoQ2d5bDE1TnExVWJONm5FMS9ablAxVTJjaXpDQnB2czhjSlFaSjRMa1l4NU4veVpQQVVaTlFRMFY0ZjNCUWxsV3JLM1lSemwzMGRPVDZSVm4ydXBOdXI2d29TYThDcXBkVC9hS25CTTRvM2pOdXI5ZDl4cXRVVDZ2ZUJFdDlDYTlhdCtFUnpFRWhVa1I4c2E1bVE0YVZ2Sm9WZUVBOHpJNGVpNW1VTFhGR3lVN3ovNlRBZVlMVmNwelNXWlk4UFlZRjV5clRWNjBzVDArWFYxNDF2WCsrV2YxNlYyYkZlR1ZQWlh4RnBrdnllS1RXTGx6ZlcwbW5LeHNZNlkzMjk0LzA5OThTQ2ZYMWJsbTVwYmN2RkdscS9yMDdNUkFNaFlJRGlXNUpGS1dXM3ZkckVwQ3NaU0pHK29tN1p1L1BTU2NaSmhOa0xibVc1V3NyMTJwV3FXNXpLdGx3UlM0YkZPeFV3MTdtQ3p5Nmxza0NEbDFXWU9HV0RZckFEck1BN0JERHdlV1dOZDVrb2lKblIxZHoreXRMUDJxMFNxUEIxbG5LMmNjQjdSWWU0RlNvUGtzM2lCM3Q0dHhUU0hjdGIyc3kxaXZrMHB2SHVDTm02dzFmNnd4djMrT0NnTjc4THFkUW5VVmg3UjBvVEFwMHpPZjJyYlc3NzBWdTVDMmRJeUdkVG5Ibzh6U2ppN2RwcGowVVNvVkN6K2xoUk1UaDUzVGVxOVZiR2ZianVTYkFvb1NkWGF5WTRQWUhnMzc0QzZmN2dsMUIvRFh1SjQvUVh4T0JkSkZKc3BGc0kzZWdwb1dVVUNqbFRJRm5OWU5sK1p5WkttQmVZS0dIa0QxUXlEbGhhS2JLd0tjSUpxSjRUTEoyT21kWS9KV1hhZTREZEdCdzhIWjdlWGNnRkYyenIyU29hbERyeTVpS3FvYTBQdWhlM2hQUTJzM2VsVFlNK01JK24zckswS2dMNy9MYTNHZU1MdDZtN3U5MTJ2R252dE9SaUlhMHFCbWhxVmkrWFc5WE5CbXFiOGVWZ0t6SUhmR0k1Yk5vRzdYMFVDemVJU21xSWNPL25ZOEZIN1U4YXZYOWZ4L1NUK2h4MHNlelB3OVF5OE11bTNHV2YyTjRVeS95SVlHVkJYYkpIV0lacDdkZlRjcHRkTVRyOVFtcTdEYWlLL3VrcUNMNGt0NFJVZlM1WFBuTXRtVDIyL21RRnFGN2VtU3F0cmx1OFNWRWx4RFJKclpPRGtwdXdlMFZmVGZqZEVwMWY3QTd2K2Zvek5CWFVKLzZXVHVLMlR0RmxwRlZaQVozTGNGdlVpMVoycDJZVCtFTUFrR0pWU3RPekxUQVBnNElxV0lBbHpSU2pPQmtsMnp4ajNUS3ljcHpUL01udlgzdWFTTVdNK2dVMHJrWGpvaGhlZlZSTWFwczMva0xNU0t2MjNsVDIzdXhRcmtRanlPSmxlTURzZGhBbkQ2WkdFbFdaNU1qQ1h6Q0UvaGtXWCtXRjRrbnpHaFZPeUsyZVFaZWtWM2V5bzB6TDhrdVlXQ25EQ3ZqamhBa2NUUE9CRFhWZG9hdjNIVmNGblFqTHZ0VjlTMnAwekE2SmVnUHdNUXh0K3lGYjNsbDl6R2xxLzVkUktiM2NFeVFZb2FOWXBoYXJKN3hDQjdBV3hzTFkzampaWFkwWHNaajBXandjOUk2UFAvZEtBQm5DWmFxSHBhWkVBQ3hrNFplTFpTS05nWkFCbCtsWVFYMXNKUU9TWDNuNnI0MTBldmNvdWQ1SmVBR1VYVlA5SDF0Wk9LZWpUcTRPbm8wejBlcnJvMUZybk9wb2h2YTFkL2hUZHRWc1FkS041VzlSbFQzTmpEMG56bnlLTlRnS0FNZldOV2N5b2RWMElHTFBJSE9GMG80SnlxdWZhSzR6NldJSXp1R2gzZDhjOGN3UWc4RVIrT1Z4eXJqZG04dk51aHRzNExvT2loR3hJTXVVZGd6d2lZTjd4aGgxK29abkpOdVRHN2dRWnZ1NFhXWjlHQVpaakdFdWJ3ZVBxWWh0S0RUSCs5VlFrbDE3L2lHeWJzbkorOCtzS3R5UHJjbGw5dHk2NVpzZHN0LzlpcXBFS2g3TTVWZEJ4aDNjc09kTmM2dFczSTF1eU0xUHpPWGVnU09yTEZzRk5JMk8yN00rVEYyQXBuTjlNVXY1dWQ2TGp4SXZFUW5IUnp4SXU0SXNBOU1MRmtKbjJ0Y1pvWjdPTjdkWGU3dWpyYzhIcnVzUEthbWxxWHdkNzdsUVV1THBpbGF1NFBVTWFwdWVCYjdpclU0Um9VWEVZWHVWdUlHbFJHbU9wKzJsTmthUlBWemlPcW1sYVp2YXFHNGRGZ1NqMGp4RUpXcnYxMklVV250bXcrcmZRYXJSRTBBcGg0b2NJNm5sVWxHcXMrdTMvK1QvZXRoVzYyUHBIcDJlSGJac3RuaC93T085NXlEQUhpY1kyQmtZR0FBNHBtSjZRSHgvRFpmR2JpWlh3QkZHR3BVTnpRaTZQK3ZtYWN5M1FKeU9SaVlRS0lBTm9VTFZYaWNZMkJrWUdBTytwOEZKRjh3QUFIelZBWkdCbFNnRFFCVzlnTnZBQUFBZUp4allHQmdZSDR4TkRBQXp3UW1qd0FBQUFBQVRnQ2FBT2dCQ2dFc0FVNEJjQUdhQWNRQjdnSWFBcHdDNkFTYUJMd0UxZ1R5QlE0RktnVjZCZEFGL2daRUJtWUd0Z2NZQjVBSUdBaFNDR29JL2dsR0NiNEoyZ29FQ2p3S2dncTRDdkFMVUF1V0M3eDRuR05nWkdCZzBHWk1ZUkJsQUFFbUlPWUNRZ2FHLzJBK0F3QVlsQUc4QUhpY2JaRTlUc013R0liZjlBL1JTZ2dFWW1IeEFndHErak4yWkdqM0R0M1QxR2xUT1hIa3VCVzlBeWZnRUJ5Q2dUTndDQTdCVy9OSmxWQnR5ZC9qeCs4WEt3bUFhM3dod25GRTZJYjFPQnE0NE82UG02UWI0UmI1UWJpTkhoNkZPL1JENFM2ZU1SSHU0UmFhVDRoYWx6UjNlQlZ1NEFwdndrMzZkK0VXK1VPNGpYdDhDbmZvdjRXN1dPQkh1SWVuNk1Yc0N0dlBVMXZXYzczZW1jU2R4SWtXMnRXNUxkVW9IcDdrVEpmYUpWNnYxUEtnNnYxNjdIMm1NbWNMTmJXbDE4WllWVG03MWFtUE45NVhrOEVnRXgrbnRvREJEZ1VzK3NpUnNwYW9NZWY3cnVrTkVyaXppWE51d1M3SG1vZTl3Z2d4ditlNTVJekpNcVFUZU5ZVjAwc2N1TmJZOCtZeHJVZkdmY2FNWmIvQ05QUWUwNGJUMGxUaGJFdVQwc2ZZaEs2Sy8yM0FtZjNMeCtIMjRoY2o0R1NjQUFBQWVKeHRqdGx1Z3pBUVJia0pVRUpJdXUvN3ZxUjhsR05QQWNXeDBZQWI1ZS9Ma2xSOTZFZ2VuU3VmR1kwMzhQcUt2ZjlyaGdHRzhCRWd4QTRpakJCampBUVRUTEdMUGV6akFJYzR3akZPY0lvem5PTUNsN2pDTlc1d2l6dmM0d0dQZU1Jelh2Q0tON3pqQXpOOGVvblFSV1pTU2FZbWp2dWc2YXNlOThoRmx0ZXhNSm1tVk5tVjJXQnZkTmdaVWMrdWpBV3pYVzNVRG51MXc0M2FzU3RIYzhHcHpBWFgvcHkwanFUUVpKVGdrY3hKTHBhQ0YwbEQzMnhOdCs0M3RBc24yOURmdDAydURLUzJjakdVTmdzazI2cUsybEZ0aFlvVTI3SU5QcW1pRHFnNWdvZTBwcVI1cVNvcU1kZWsvQ1VaRnl3TDQ2ckVzaUltbGVxaXFvTXl0NGJhWGx1LzFHTGRORmY1emJjTm1kcjFZVVdDWmU0N28relVtYi9Eb1N0YnczY1ZzZWY5QUxqamlQUUEpIGZvcm1hdChcJ3dvZmZcJyk7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cblxuICAgIGh0bWwge1xuICAgICAgLS1sdW1vLWljb25zLWFsaWduLWNlbnRlcjogIlxcZWEwMSI7XG4gICAgICAtLWx1bW8taWNvbnMtYWxpZ24tbGVmdDogIlxcZWEwMiI7XG4gICAgICAtLWx1bW8taWNvbnMtYWxpZ24tcmlnaHQ6ICJcXGVhMDMiO1xuICAgICAgLS1sdW1vLWljb25zLWFuZ2xlLWRvd246ICJcXGVhMDQiO1xuICAgICAgLS1sdW1vLWljb25zLWFuZ2xlLWxlZnQ6ICJcXGVhMDUiO1xuICAgICAgLS1sdW1vLWljb25zLWFuZ2xlLXJpZ2h0OiAiXFxlYTA2IjtcbiAgICAgIC0tbHVtby1pY29ucy1hbmdsZS11cDogIlxcZWEwNyI7XG4gICAgICAtLWx1bW8taWNvbnMtYXJyb3ctZG93bjogIlxcZWEwOCI7XG4gICAgICAtLWx1bW8taWNvbnMtYXJyb3ctbGVmdDogIlxcZWEwOSI7XG4gICAgICAtLWx1bW8taWNvbnMtYXJyb3ctcmlnaHQ6ICJcXGVhMGEiO1xuICAgICAgLS1sdW1vLWljb25zLWFycm93LXVwOiAiXFxlYTBiIjtcbiAgICAgIC0tbHVtby1pY29ucy1iYXItY2hhcnQ6ICJcXGVhMGMiO1xuICAgICAgLS1sdW1vLWljb25zLWJlbGw6ICJcXGVhMGQiO1xuICAgICAgLS1sdW1vLWljb25zLWNhbGVuZGFyOiAiXFxlYTBlIjtcbiAgICAgIC0tbHVtby1pY29ucy1jaGVja21hcms6ICJcXGVhMGYiO1xuICAgICAgLS1sdW1vLWljb25zLWNoZXZyb24tZG93bjogIlxcZWExMCI7XG4gICAgICAtLWx1bW8taWNvbnMtY2hldnJvbi1sZWZ0OiAiXFxlYTExIjtcbiAgICAgIC0tbHVtby1pY29ucy1jaGV2cm9uLXJpZ2h0OiAiXFxlYTEyIjtcbiAgICAgIC0tbHVtby1pY29ucy1jaGV2cm9uLXVwOiAiXFxlYTEzIjtcbiAgICAgIC0tbHVtby1pY29ucy1jbG9jazogIlxcZWExNCI7XG4gICAgICAtLWx1bW8taWNvbnMtY29nOiAiXFxlYTE1IjtcbiAgICAgIC0tbHVtby1pY29ucy1jcm9zczogIlxcZWExNiI7XG4gICAgICAtLWx1bW8taWNvbnMtZG93bmxvYWQ6ICJcXGVhMTciO1xuICAgICAgLS1sdW1vLWljb25zLWRyb3Bkb3duOiAiXFxlYTE4IjtcbiAgICAgIC0tbHVtby1pY29ucy1lZGl0OiAiXFxlYTE5IjtcbiAgICAgIC0tbHVtby1pY29ucy1lcnJvcjogIlxcZWExYSI7XG4gICAgICAtLWx1bW8taWNvbnMtZXllOiAiXFxlYTFiIjtcbiAgICAgIC0tbHVtby1pY29ucy1leWUtZGlzYWJsZWQ6ICJcXGVhMWMiO1xuICAgICAgLS1sdW1vLWljb25zLW1lbnU6ICJcXGVhMWQiO1xuICAgICAgLS1sdW1vLWljb25zLW1pbnVzOiAiXFxlYTFlIjtcbiAgICAgIC0tbHVtby1pY29ucy1vcmRlcmVkLWxpc3Q6ICJcXGVhMWYiO1xuICAgICAgLS1sdW1vLWljb25zLXBob25lOiAiXFxlYTIwIjtcbiAgICAgIC0tbHVtby1pY29ucy1waG90bzogIlxcZWEyMSI7XG4gICAgICAtLWx1bW8taWNvbnMtcGxheTogIlxcZWEyMiI7XG4gICAgICAtLWx1bW8taWNvbnMtcGx1czogIlxcZWEyMyI7XG4gICAgICAtLWx1bW8taWNvbnMtcmVkbzogIlxcZWEyNCI7XG4gICAgICAtLWx1bW8taWNvbnMtcmVsb2FkOiAiXFxlYTI1IjtcbiAgICAgIC0tbHVtby1pY29ucy1zZWFyY2g6ICJcXGVhMjYiO1xuICAgICAgLS1sdW1vLWljb25zLXVuZG86ICJcXGVhMjciO1xuICAgICAgLS1sdW1vLWljb25zLXVub3JkZXJlZC1saXN0OiAiXFxlYTI4IjtcbiAgICAgIC0tbHVtby1pY29ucy11cGxvYWQ6ICJcXGVhMjkiO1xuICAgICAgLS1sdW1vLWljb25zLXVzZXI6ICJcXGVhMmEiO1xuICAgIH1cbiAgPC9zdHlsZT5cbicsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChyMXQuY29udGVudCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovCmNvbnN0IG8xdD0kUXRgCiAgOmhvc3QgewogICAgLS1sdW1vLXNpemUteHM6IDEuNjI1cmVtOwogICAgLS1sdW1vLXNpemUtczogMS44NzVyZW07CiAgICAtLWx1bW8tc2l6ZS1tOiAyLjI1cmVtOwogICAgLS1sdW1vLXNpemUtbDogMi43NXJlbTsKICAgIC0tbHVtby1zaXplLXhsOiAzLjVyZW07CgogICAgLyogSWNvbnMgKi8KICAgIC0tbHVtby1pY29uLXNpemUtczogMS4yNWVtOwogICAgLS1sdW1vLWljb24tc2l6ZS1tOiAxLjVlbTsKICAgIC0tbHVtby1pY29uLXNpemUtbDogMi4yNWVtOwogICAgLyogRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5ICovCiAgICAtLWx1bW8taWNvbi1zaXplOiB2YXIoLS1sdW1vLWljb24tc2l6ZS1tKTsKICB9CmAsYTF0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIik7YTF0LmlubmVySFRNTD1gPHN0eWxlPiR7bzF0LnRvU3RyaW5nKCkucmVwbGFjZSgiOmhvc3QiLCJodG1sIil9PC9zdHlsZT5gLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYTF0LmNvbnRlbnQpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLwpjb25zdCBzMXQ9JFF0YAogIDpob3N0IHsKICAgIC8qIFNxdWFyZSAqLwogICAgLS1sdW1vLXNwYWNlLXhzOiAwLjI1cmVtOwogICAgLS1sdW1vLXNwYWNlLXM6IDAuNXJlbTsKICAgIC0tbHVtby1zcGFjZS1tOiAxcmVtOwogICAgLS1sdW1vLXNwYWNlLWw6IDEuNXJlbTsKICAgIC0tbHVtby1zcGFjZS14bDogMi41cmVtOwoKICAgIC8qIFdpZGUgKi8KICAgIC0tbHVtby1zcGFjZS13aWRlLXhzOiBjYWxjKHZhcigtLWx1bW8tc3BhY2UteHMpIC8gMikgdmFyKC0tbHVtby1zcGFjZS14cyk7CiAgICAtLWx1bW8tc3BhY2Utd2lkZS1zOiBjYWxjKHZhcigtLWx1bW8tc3BhY2UtcykgLyAyKSB2YXIoLS1sdW1vLXNwYWNlLXMpOwogICAgLS1sdW1vLXNwYWNlLXdpZGUtbTogY2FsYyh2YXIoLS1sdW1vLXNwYWNlLW0pIC8gMikgdmFyKC0tbHVtby1zcGFjZS1tKTsKICAgIC0tbHVtby1zcGFjZS13aWRlLWw6IGNhbGModmFyKC0tbHVtby1zcGFjZS1sKSAvIDIpIHZhcigtLWx1bW8tc3BhY2UtbCk7CiAgICAtLWx1bW8tc3BhY2Utd2lkZS14bDogY2FsYyh2YXIoLS1sdW1vLXNwYWNlLXhsKSAvIDIpIHZhcigtLWx1bW8tc3BhY2UteGwpOwoKICAgIC8qIFRhbGwgKi8KICAgIC0tbHVtby1zcGFjZS10YWxsLXhzOiB2YXIoLS1sdW1vLXNwYWNlLXhzKSBjYWxjKHZhcigtLWx1bW8tc3BhY2UteHMpIC8gMik7CiAgICAtLWx1bW8tc3BhY2UtdGFsbC1zOiB2YXIoLS1sdW1vLXNwYWNlLXMpIGNhbGModmFyKC0tbHVtby1zcGFjZS1zKSAvIDIpOwogICAgLS1sdW1vLXNwYWNlLXRhbGwtbTogdmFyKC0tbHVtby1zcGFjZS1tKSBjYWxjKHZhcigtLWx1bW8tc3BhY2UtbSkgLyAyKTsKICAgIC0tbHVtby1zcGFjZS10YWxsLWw6IHZhcigtLWx1bW8tc3BhY2UtbCkgY2FsYyh2YXIoLS1sdW1vLXNwYWNlLWwpIC8gMik7CiAgICAtLWx1bW8tc3BhY2UtdGFsbC14bDogdmFyKC0tbHVtby1zcGFjZS14bCkgY2FsYyh2YXIoLS1sdW1vLXNwYWNlLXhsKSAvIDIpOwogIH0KYCxsMXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtsMXQuaW5uZXJIVE1MPWA8c3R5bGU+JHtzMXQudG9TdHJpbmcoKS5yZXBsYWNlKCI6aG9zdCIsImh0bWwiKX08L3N0eWxlPmAsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsMXQuY29udGVudCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovCmNvbnN0IGMxdD0kUXRgCiAgOmhvc3QgewogICAgLyogQm9yZGVyIHJhZGl1cyAqLwogICAgLS1sdW1vLWJvcmRlci1yYWRpdXMtczogMC4yNWVtOyAvKiBDaGVja2JveCwgYmFkZ2UsIGRhdGUtcGlja2VyIHllYXIgaW5kaWNhdG9yLCBldGMgKi8KICAgIC0tbHVtby1ib3JkZXItcmFkaXVzLW06IHZhcigtLWx1bW8tYm9yZGVyLXJhZGl1cywgMC4yNWVtKTsgLyogQnV0dG9uLCB0ZXh0IGZpZWxkLCBtZW51IG92ZXJsYXksIGV0YyAqLwogICAgLS1sdW1vLWJvcmRlci1yYWRpdXMtbDogMC41ZW07IC8qIERpYWxvZywgbm90aWZpY2F0aW9uLCBldGMgKi8KICAgIC0tbHVtby1ib3JkZXItcmFkaXVzOiAwLjI1ZW07IC8qIERlcHJlY2F0ZWQgKi8KCiAgICAvKiBTaGFkb3cgKi8KICAgIC0tbHVtby1ib3gtc2hhZG93LXhzOiAwIDFweCA0cHggLTFweCB2YXIoLS1sdW1vLXNoYWRlLTUwcGN0KTsKICAgIC0tbHVtby1ib3gtc2hhZG93LXM6IDAgMnB4IDRweCAtMXB4IHZhcigtLWx1bW8tc2hhZGUtMjBwY3QpLCAwIDNweCAxMnB4IC0xcHggdmFyKC0tbHVtby1zaGFkZS0zMHBjdCk7CiAgICAtLWx1bW8tYm94LXNoYWRvdy1tOiAwIDJweCA2cHggLTFweCB2YXIoLS1sdW1vLXNoYWRlLTIwcGN0KSwgMCA4cHggMjRweCAtNHB4IHZhcigtLWx1bW8tc2hhZGUtNDBwY3QpOwogICAgLS1sdW1vLWJveC1zaGFkb3ctbDogMCAzcHggMThweCAtMnB4IHZhcigtLWx1bW8tc2hhZGUtMjBwY3QpLCAwIDEycHggNDhweCAtNnB4IHZhcigtLWx1bW8tc2hhZGUtNDBwY3QpOwogICAgLS1sdW1vLWJveC1zaGFkb3cteGw6IDAgNHB4IDI0cHggLTNweCB2YXIoLS1sdW1vLXNoYWRlLTIwcGN0KSwgMCAxOHB4IDY0cHggLThweCB2YXIoLS1sdW1vLXNoYWRlLTQwcGN0KTsKCiAgICAvKiBDbGlja2FibGUgZWxlbWVudCBjdXJzb3IgKi8KICAgIC0tbHVtby1jbGlja2FibGUtY3Vyc29yOiBkZWZhdWx0OwogIH0KYCx1MXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTt1MXQuaW5uZXJIVE1MPWA8c3R5bGU+JHtjMXQudG9TdHJpbmcoKS5yZXBsYWNlKCI6aG9zdCIsImh0bWwiKX08L3N0eWxlPmAsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh1MXQuY29udGVudCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovCmNvbnN0IGgxdD0kUXRgCiAgOmhvc3QgewogICAgLyogcHJldHRpZXItaWdub3JlICovCiAgICAtLWx1bW8tZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1JvYm90bycsICdTZWdvZSBVSScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsICdBcHBsZSBDb2xvciBFbW9qaScsICdTZWdvZSBVSSBFbW9qaScsICdTZWdvZSBVSSBTeW1ib2wnOwoKICAgIC8qIEZvbnQgc2l6ZXMgKi8KICAgIC0tbHVtby1mb250LXNpemUteHhzOiAwLjc1cmVtOwogICAgLS1sdW1vLWZvbnQtc2l6ZS14czogMC44MTI1cmVtOwogICAgLS1sdW1vLWZvbnQtc2l6ZS1zOiAwLjg3NXJlbTsKICAgIC0tbHVtby1mb250LXNpemUtbTogMXJlbTsKICAgIC0tbHVtby1mb250LXNpemUtbDogMS4xMjVyZW07CiAgICAtLWx1bW8tZm9udC1zaXplLXhsOiAxLjM3NXJlbTsKICAgIC0tbHVtby1mb250LXNpemUteHhsOiAxLjc1cmVtOwogICAgLS1sdW1vLWZvbnQtc2l6ZS14eHhsOiAyLjVyZW07CgogICAgLyogTGluZSBoZWlnaHRzICovCiAgICAtLWx1bW8tbGluZS1oZWlnaHQteHM6IDEuMjU7CiAgICAtLWx1bW8tbGluZS1oZWlnaHQtczogMS4zNzU7CiAgICAtLWx1bW8tbGluZS1oZWlnaHQtbTogMS42MjU7CiAgfQpgLGQxdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO2QxdC5pbm5lckhUTUw9YDxzdHlsZT4ke2gxdC50b1N0cmluZygpLnJlcGxhY2UoIjpob3N0IiwiaHRtbCIpfTwvc3R5bGU+YCxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGQxdC5jb250ZW50KTt0MXQoIiIsJFF0YAogIGh0bWwgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWx1bW8tZm9udC1mYW1pbHkpOwogICAgZm9udC1zaXplOiB2YXIoLS1sdW1vLWZvbnQtc2l6ZSwgdmFyKC0tbHVtby1mb250LXNpemUtbSkpOwogICAgbGluZS1oZWlnaHQ6IHZhcigtLWx1bW8tbGluZS1oZWlnaHQtbSk7CiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgfQoKICAvKiBDYW7igJl0IGNvbWJpbmUgd2l0aCB0aGUgYWJvdmUgc2VsZWN0b3IgYmVjYXVzZSB0aGF0IGRvZXNu4oCZdCB3b3JrIGluIGJyb3dzZXJzIHdpdGhvdXQgbmF0aXZlIHNoYWRvdyBkb20gKi8KICA6aG9zdCB7CiAgICBmb250LWZhbWlseTogdmFyKC0tbHVtby1mb250LWZhbWlseSk7CiAgICBmb250LXNpemU6IHZhcigtLWx1bW8tZm9udC1zaXplLCB2YXIoLS1sdW1vLWZvbnQtc2l6ZS1tKSk7CiAgICBsaW5lLWhlaWdodDogdmFyKC0tbHVtby1saW5lLWhlaWdodC1tKTsKICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsKICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICB9CgogIHNtYWxsLAogIFt0aGVtZX49J2ZvbnQtc2l6ZS1zJ10gewogICAgZm9udC1zaXplOiB2YXIoLS1sdW1vLWZvbnQtc2l6ZS1zKTsKICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1sdW1vLWxpbmUtaGVpZ2h0LXMpOwogIH0KCiAgW3RoZW1lfj0nZm9udC1zaXplLXhzJ10gewogICAgZm9udC1zaXplOiB2YXIoLS1sdW1vLWZvbnQtc2l6ZS14cyk7CiAgICBsaW5lLWhlaWdodDogdmFyKC0tbHVtby1saW5lLWhlaWdodC14cyk7CiAgfQoKICBoMSwKICBoMiwKICBoMywKICBoNCwKICBoNSwKICBoNiB7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGluZS1oZWlnaHQ6IHZhcigtLWx1bW8tbGluZS1oZWlnaHQteHMpOwogICAgbWFyZ2luLXRvcDogMS4yNWVtOwogIH0KCiAgaDEgewogICAgZm9udC1zaXplOiB2YXIoLS1sdW1vLWZvbnQtc2l6ZS14eHhsKTsKICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTsKICB9CgogIGgyIHsKICAgIGZvbnQtc2l6ZTogdmFyKC0tbHVtby1mb250LXNpemUteHhsKTsKICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOwogIH0KCiAgaDMgewogICAgZm9udC1zaXplOiB2YXIoLS1sdW1vLWZvbnQtc2l6ZS14bCk7CiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsKICB9CgogIGg0IHsKICAgIGZvbnQtc2l6ZTogdmFyKC0tbHVtby1mb250LXNpemUtbCk7CiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsKICB9CgogIGg1IHsKICAgIGZvbnQtc2l6ZTogdmFyKC0tbHVtby1mb250LXNpemUtbSk7CiAgICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07CiAgfQoKICBoNiB7CiAgICBmb250LXNpemU6IHZhcigtLWx1bW8tZm9udC1zaXplLXhzKTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTsKICB9CgogIHAsCiAgYmxvY2txdW90ZSB7CiAgICBtYXJnaW4tdG9wOiAwLjVlbTsKICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTsKICB9CgogIGEgewogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIH0KCiAgYTpob3ZlciB7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9CgogIGhyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgYWxpZ24tc2VsZjogc3RyZXRjaDsKICAgIGhlaWdodDogMXB4OwogICAgYm9yZGVyOiAwOwogICAgcGFkZGluZzogMDsKICAgIG1hcmdpbjogdmFyKC0tbHVtby1zcGFjZS1zKSBjYWxjKHZhcigtLWx1bW8tYm9yZGVyLXJhZGl1cy1tKSAvIDIpOwogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC0xMHBjdCk7CiAgfQoKICBibG9ja3F1b3RlIHsKICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tbHVtby1jb250cmFzdC0zMHBjdCk7CiAgfQoKICBiLAogIHN0cm9uZyB7CiAgICBmb250LXdlaWdodDogNjAwOwogIH0KCiAgLyogUlRMIHNwZWNpZmljIHN0eWxlcyAqLwoKICBibG9ja3F1b3RlW2Rpcj0ncnRsJ10gewogICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB2YXIoLS1sdW1vLWNvbnRyYXN0LTMwcGN0KTsKICB9CmAse21vZHVsZUlkOiJsdW1vLXR5cG9ncmFwaHkifSksdDF0KCJ2YWFkaW4tY2hlY2tib3giLCRRdGAKICAgIDpob3N0IHsKICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgb3V0bGluZTogbm9uZTsKICAgIH0KCiAgICBbcGFydD0nbGFiZWwnXTpub3QoW2VtcHR5XSkgewogICAgICBtYXJnaW46IDAuMTg3NWVtIDAuODc1ZW0gMC4xODc1ZW0gMC4zNzVlbTsKICAgIH0KCiAgICBbcGFydD0nY2hlY2tib3gnXSB7CiAgICAgIHdpZHRoOiBjYWxjKDFlbSArIDJweCk7CiAgICAgIGhlaWdodDogY2FsYygxZW0gKyAycHgpOwogICAgICBtYXJnaW46IDAuMTg3NWVtOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWx1bW8tYm9yZGVyLXJhZGl1cy1zKTsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC0yMHBjdCk7CiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjEyLCAwLjMyLCAwLjU0LCAyKSwgYmFja2dyb3VuZC1jb2xvciAwLjE1czsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICB9CgogICAgOmhvc3QoW2luZGV0ZXJtaW5hdGVdKSBbcGFydD0nY2hlY2tib3gnXSwKICAgIDpob3N0KFtjaGVja2VkXSkgW3BhcnQ9J2NoZWNrYm94J10gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdW1vLXByaW1hcnktY29sb3IpOwogICAgfQoKICAgIC8qIE5lZWRlZCB0byBhbGlnbiB0aGUgY2hlY2tib3ggbmljZWx5IG9uIHRoZSBiYXNlbGluZSAqLwogICAgW3BhcnQ9J2NoZWNrYm94J106OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICdcXDIwMDMnOwogICAgfQoKICAgIC8qIENoZWNrbWFyayAqLwogICAgW3BhcnQ9J2NoZWNrYm94J106OmFmdGVyIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgd2lkdGg6IDA7CiAgICAgIGhlaWdodDogMDsKICAgICAgYm9yZGVyOiAwIHNvbGlkIHZhcigtLWx1bW8tcHJpbWFyeS1jb250cmFzdC1jb2xvcik7CiAgICAgIGJvcmRlci13aWR0aDogMC4xODc1ZW0gMCAwIDAuMTg3NWVtOwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwLjgxMjVlbTsKICAgICAgbGVmdDogMC41ZW07CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41NSkgcm90YXRlKC0xMzVkZWcpOwogICAgICBvcGFjaXR5OiAwOwogICAgfQoKICAgIDpob3N0KFtjaGVja2VkXSkgW3BhcnQ9J2NoZWNrYm94J106OmFmdGVyIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgd2lkdGg6IDAuNjI1ZW07CiAgICAgIGhlaWdodDogMS4wNjI1ZW07CiAgICB9CgogICAgLyogSW5kZXRlcm1pbmF0ZSBjaGVja21hcmsgKi8KICAgIDpob3N0KFtpbmRldGVybWluYXRlXSkgW3BhcnQ9J2NoZWNrYm94J106OmFmdGVyIHsKICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICBvcGFjaXR5OiAxOwogICAgICB0b3A6IDQ1JTsKICAgICAgaGVpZ2h0OiAxMCU7CiAgICAgIGxlZnQ6IDIyJTsKICAgICAgcmlnaHQ6IDIyJTsKICAgICAgd2lkdGg6IGF1dG87CiAgICAgIGJvcmRlcjogMDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1wcmltYXJ5LWNvbnRyYXN0LWNvbG9yKTsKICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1czsKICAgIH0KCiAgICAvKiBGb2N1cyByaW5nICovCiAgICA6aG9zdChbZm9jdXMtcmluZ10pIFtwYXJ0PSdjaGVja2JveCddIHsKICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWx1bW8tcHJpbWFyeS1jb2xvci01MHBjdCk7CiAgICB9CgogICAgLyogRGlzYWJsZWQgKi8KICAgIDpob3N0KFtkaXNhYmxlZF0pIHsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIGNvbG9yOiB2YXIoLS1sdW1vLWRpc2FibGVkLXRleHQtY29sb3IpOwogICAgfQoKICAgIDpob3N0KFtkaXNhYmxlZF0pIFtwYXJ0PSdsYWJlbCddIDo6c2xvdHRlZCgqKSB7CiAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgfQoKICAgIDpob3N0KFtkaXNhYmxlZF0pIFtwYXJ0PSdjaGVja2JveCddIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC0xMHBjdCk7CiAgICB9CgogICAgOmhvc3QoW2Rpc2FibGVkXSkgW3BhcnQ9J2NoZWNrYm94J106OmFmdGVyIHsKICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTMwcGN0KTsKICAgIH0KCiAgICA6aG9zdChbaW5kZXRlcm1pbmF0ZV1bZGlzYWJsZWRdKSBbcGFydD0nY2hlY2tib3gnXTo6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTMwcGN0KTsKICAgIH0KCiAgICAvKiBSVEwgc3BlY2lmaWMgc3R5bGVzICovCiAgICA6aG9zdChbZGlyPSdydGwnXSkgW3BhcnQ9J2xhYmVsJ106bm90KFtlbXB0eV0pIHsKICAgICAgbWFyZ2luOiAwLjE4NzVlbSAwLjM3NWVtIDAuMTg3NWVtIDAuODc1ZW07CiAgICB9CgogICAgLyogVHJhbnNpdGlvbiB0aGUgY2hlY2ttYXJrIGlmIGFjdGl2YXRlZCB3aXRoIHRoZSBtb3VzZSAoZGlzYWJsZWQgZm9yIGdyaWQgc2VsZWN0LWFsbCB0aGlzIHdheSkgKi8KICAgIDpob3N0KDpob3ZlcikgW3BhcnQ9J2NoZWNrYm94J106OmFmdGVyIHsKICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4xcywgaGVpZ2h0IDAuMjVzOwogICAgfQoKICAgIC8qIFVzZWQgZm9yIGFjdGl2YXRpb24gImhhbG8iICovCiAgICBbcGFydD0nY2hlY2tib3gnXTo6YmVmb3JlIHsKICAgICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTsKICAgICAgb3BhY2l0eTogMDsKICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMsIG9wYWNpdHkgMC44czsKICAgIH0KCiAgICAvKiBIb3ZlciAqLwogICAgOmhvc3QoOm5vdChbY2hlY2tlZF0pOm5vdChbaW5kZXRlcm1pbmF0ZV0pOm5vdChbZGlzYWJsZWRdKTpob3ZlcikgW3BhcnQ9J2NoZWNrYm94J10gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTMwcGN0KTsKICAgIH0KCiAgICAvKiBEaXNhYmxlIGhvdmVyIGZvciB0b3VjaCBkZXZpY2VzICovCiAgICBAbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkgewogICAgICA6aG9zdCg6bm90KFtjaGVja2VkXSk6bm90KFtpbmRldGVybWluYXRlXSk6bm90KFtkaXNhYmxlZF0pOmhvdmVyKSBbcGFydD0nY2hlY2tib3gnXSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC0yMHBjdCk7CiAgICAgIH0KICAgIH0KCiAgICAvKiBBY3RpdmUgKi8KICAgIDpob3N0KFthY3RpdmVdKSBbcGFydD0nY2hlY2tib3gnXSB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTsKICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wNXM7CiAgICB9CgogICAgOmhvc3QoW2FjdGl2ZV1bY2hlY2tlZF0pIFtwYXJ0PSdjaGVja2JveCddIHsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogICAgfQoKICAgIDpob3N0KFthY3RpdmVdOm5vdChbY2hlY2tlZF0pKSBbcGFydD0nY2hlY2tib3gnXTo6YmVmb3JlIHsKICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMXMsIDAuMDFzOwogICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgICBvcGFjaXR5OiAwLjQ7CiAgICB9CiAgYCx7bW9kdWxlSWQ6Imx1bW8tY2hlY2tib3gifSk7Y29uc3QgcDF0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57dGhlbWU6e3R5cGU6U3RyaW5nLHJlYWRPbmx5OiEwfX19YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHQsZSxuKXtzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4pLCJ0aGVtZSI9PT10JiZ0aGlzLl9zZXRUaGVtZShuKX19LGYxdD10PT5jbGFzcyBleHRlbmRzKHAxdCh0KSl7c3RhdGljIGZpbmFsaXplKCl7c3VwZXIuZmluYWxpemUoKTtjb25zdCB0PXRoaXMucHJvdG90eXBlLl90ZW1wbGF0ZSxlPU9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzLnByb3RvdHlwZSkuX3RlbXBsYXRlO2UmJkFycmF5LmZyb20oZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlW2luY2x1ZGVdIikpLmZvckVhY2goKGU9Pnt0aGlzLl9pbmNsdWRlU3R5bGUoZS5nZXRBdHRyaWJ1dGUoImluY2x1ZGUiKSx0KX0pKSx0aGlzLl9pbmNsdWRlTWF0Y2hpbmdUaGVtZXModCl9c3RhdGljIF9pbmNsdWRlTWF0Y2hpbmdUaGVtZXModCl7Y29uc3QgZT1CLnByb3RvdHlwZS5tb2R1bGVzO2xldCBuPSExO2NvbnN0IGk9dGhpcy5pcysiLWRlZmF1bHQtdGhlbWUiO09iamVjdC5rZXlzKGUpLnNvcnQoKCh0LGUpPT57Y29uc3Qgbj0wPT09dC5pbmRleE9mKCJ2YWFkaW4tIiksaT0wPT09ZS5pbmRleE9mKCJ2YWFkaW4tIikscj1bImx1bW8tIiwibWF0ZXJpYWwtIl0sbz1yLmZpbHRlcigoZT0+MD09PXQuaW5kZXhPZihlKSkpLmxlbmd0aD4wLGE9ci5maWx0ZXIoKHQ9PjA9PT1lLmluZGV4T2YodCkpKS5sZW5ndGg+MDtyZXR1cm4gbiE9PWk/bj8tMToxOm8hPT1hP28/LTE6MTowfSkpLmZvckVhY2goKHI9PntpZihyIT09aSl7Y29uc3QgaT1lW3JdLmdldEF0dHJpYnV0ZSgidGhlbWUtZm9yIik7aSYmaS5zcGxpdCgiICIpLmZvckVhY2goKGU9PntuZXcgUmVnRXhwKCJeIitlLnNwbGl0KCIqIikuam9pbigiLioiKSsiJCIpLnRlc3QodGhpcy5pcykmJihuPSEwLHRoaXMuX2luY2x1ZGVTdHlsZShyLHQpKX0pKX19KSksIW4mJmVbaV0mJnRoaXMuX2luY2x1ZGVTdHlsZShpLHQpfXN0YXRpYyBfaW5jbHVkZVN0eWxlKHQsZSl7aWYoZSYmIWUuY29udGVudC5xdWVyeVNlbGVjdG9yKGBzdHlsZVtpbmNsdWRlPSIke3R9Il1gKSl7Y29uc3Qgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO24uc2V0QXR0cmlidXRlKCJpbmNsdWRlIix0KSxlLmNvbnRlbnQuYXBwZW5kQ2hpbGQobil9fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi87bGV0IG0xdD0hMTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKCgpPT57bTF0PSEwfSkse2NhcHR1cmU6ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwoKCk9PnttMXQ9ITF9KSx7Y2FwdHVyZTohMH0pO2NvbnN0IGcxdD10PT5jbGFzcyBleHRlbmRzKCh0PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue3RhYmluZGV4Ont0eXBlOk51bWJlcix2YWx1ZTowLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxvYnNlcnZlcjoiX3RhYmluZGV4Q2hhbmdlZCJ9fX19KSh0KSl7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue2F1dG9mb2N1czp7dHlwZTpCb29sZWFufSxfcHJldmlvdXNUYWJJbmRleDp7dHlwZTpOdW1iZXJ9LGRpc2FibGVkOnt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9kaXNhYmxlZENoYW5nZWQiLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sX2lzU2hpZnRUYWJiaW5nOnt0eXBlOkJvb2xlYW59fX1yZWFkeSgpe3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsKHQ9Pnt0LmNvbXBvc2VkUGF0aCgpWzBdPT09dGhpcz90aGlzLmNvbnRhaW5zKHQucmVsYXRlZFRhcmdldCl8fHRoaXMuX2ZvY3VzKCk6LTE9PT10LmNvbXBvc2VkUGF0aCgpLmluZGV4T2YodGhpcy5mb2N1c0VsZW1lbnQpfHx0aGlzLmRpc2FibGVkfHx0aGlzLl9zZXRGb2N1c2VkKCEwKX0pKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IiwoKCk9PnRoaXMuX3NldEZvY3VzZWQoITEpKSksc3VwZXIucmVhZHkoKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCh0PT57IXQuZGVmYXVsdFByZXZlbnRlZCYmOT09PXQua2V5Q29kZSYmdC5zaGlmdEtleSYmKHRoaXMuX2lzU2hpZnRUYWJiaW5nPSEwLEhUTUxFbGVtZW50LnByb3RvdHlwZS5mb2N1cy5hcHBseSh0aGlzKSx0aGlzLl9zZXRGb2N1c2VkKCExKSxzZXRUaW1lb3V0KCgoKT0+dGhpcy5faXNTaGlmdFRhYmJpbmc9ITEpLDApKX0pKSx0aGlzLmF1dG9mb2N1cyYmIXRoaXMuZGlzYWJsZWQmJndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57dGhpcy5fZm9jdXMoKSx0aGlzLl9zZXRGb2N1c2VkKCEwKSx0aGlzLnNldEF0dHJpYnV0ZSgiZm9jdXMtcmluZyIsIiIpfSkpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmhhc0F0dHJpYnV0ZSgiZm9jdXNlZCIpJiZ0aGlzLl9zZXRGb2N1c2VkKCExKX1fc2V0Rm9jdXNlZCh0KXt0P3RoaXMuc2V0QXR0cmlidXRlKCJmb2N1c2VkIiwiIik6dGhpcy5yZW1vdmVBdHRyaWJ1dGUoImZvY3VzZWQiKSx0JiZtMXQ/dGhpcy5zZXRBdHRyaWJ1dGUoImZvY3VzLXJpbmciLCIiKTp0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiZm9jdXMtcmluZyIpfWdldCBmb2N1c0VsZW1lbnQoKXtyZXR1cm4gd2luZG93LmNvbnNvbGUud2FybihgUGxlYXNlIGltcGxlbWVudCB0aGUgJ2ZvY3VzRWxlbWVudCcgcHJvcGVydHkgaW4gPCR7dGhpcy5sb2NhbE5hbWV9PmApLHRoaXN9X2ZvY3VzKCl7dGhpcy5mb2N1c0VsZW1lbnQmJiF0aGlzLl9pc1NoaWZ0VGFiYmluZyYmKHRoaXMuZm9jdXNFbGVtZW50LmZvY3VzKCksdGhpcy5fc2V0Rm9jdXNlZCghMCkpfWZvY3VzKCl7dGhpcy5mb2N1c0VsZW1lbnQmJiF0aGlzLmRpc2FibGVkJiYodGhpcy5mb2N1c0VsZW1lbnQuZm9jdXMoKSx0aGlzLl9zZXRGb2N1c2VkKCEwKSl9Ymx1cigpe3RoaXMuZm9jdXNFbGVtZW50JiYodGhpcy5mb2N1c0VsZW1lbnQuYmx1cigpLHRoaXMuX3NldEZvY3VzZWQoITEpKX1fZGlzYWJsZWRDaGFuZ2VkKHQpe3RoaXMuZm9jdXNFbGVtZW50LmRpc2FibGVkPXQsdD8odGhpcy5ibHVyKCksdGhpcy5fcHJldmlvdXNUYWJJbmRleD10aGlzLnRhYmluZGV4LHRoaXMudGFiaW5kZXg9LTEsdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIikpOih2b2lkIDAhPT10aGlzLl9wcmV2aW91c1RhYkluZGV4JiYodGhpcy50YWJpbmRleD10aGlzLl9wcmV2aW91c1RhYkluZGV4KSx0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIpKX1fdGFiaW5kZXhDaGFuZ2VkKHQpe3ZvaWQgMCE9PXQmJih0aGlzLmZvY3VzRWxlbWVudC50YWJJbmRleD10KSx0aGlzLmRpc2FibGVkJiZ0aGlzLnRhYmluZGV4JiYoLTEhPT10aGlzLnRhYmluZGV4JiYodGhpcy5fcHJldmlvdXNUYWJJbmRleD10aGlzLnRhYmluZGV4KSx0aGlzLnRhYmluZGV4PXQ9dm9pZCAwKX1jbGljaygpe3RoaXMuZGlzYWJsZWR8fHN1cGVyLmNsaWNrKCl9fSxfMXQ9L1wvXCpcKlxzK3ZhYWRpbi1kZXYtbW9kZTpzdGFydChbXHNcU10qKXZhYWRpbi1kZXYtbW9kZTplbmRccytcKlwqXC8vaSx5MXQ9d2luZG93LlZhYWRpbiYmd2luZG93LlZhYWRpbi5GbG93JiZ3aW5kb3cuVmFhZGluLkZsb3cuY2xpZW50cztmdW5jdGlvbiB2MXQodCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdClyZXR1cm47Y29uc3Qgbj1fMXQuZXhlYyh0LnRvU3RyaW5nKCkpO2lmKG4pdHJ5e3Q9bmV3IEZ1bmN0aW9uKG5bMV0pfWNhdGNoKHQpe2NvbnNvbGUubG9nKCJ2YWFkaW4tZGV2ZWxvcG1lbnQtbW9kZS1kZXRlY3RvcjogdW5jb21tZW50QW5kUnVuKCkgZmFpbGVkIix0KX1yZXR1cm4gdChlKX13aW5kb3cuVmFhZGluPXdpbmRvdy5WYWFkaW58fHt9O2NvbnN0IGIxdD1mdW5jdGlvbih0LGUpe2lmKHdpbmRvdy5WYWFkaW4uZGV2ZWxvcG1lbnRNb2RlKXJldHVybiB2MXQodCxlKX07ZnVuY3Rpb24geDF0KCl7fXZvaWQgMD09PXdpbmRvdy5WYWFkaW4uZGV2ZWxvcG1lbnRNb2RlJiYod2luZG93LlZhYWRpbi5kZXZlbG9wbWVudE1vZGU9KGZ1bmN0aW9uIHcxdCgpe3RyeXtyZXR1cm4hIShmdW5jdGlvbiB0KCl7cmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ2YWFkaW4uZGV2ZWxvcG1lbnRtb2RlLmZvcmNlIil9KSgpfHwhIShmdW5jdGlvbiBlKCl7cmV0dXJuWyJsb2NhbGhvc3QiLCIxMjcuMC4wLjEiXS5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk+PTB9KSgpJiYoeTF0PyEoZnVuY3Rpb24gbigpe3JldHVybiEhKHkxdCYmT2JqZWN0LmtleXMoeTF0KS5tYXAoKHQ9PnkxdFt0XSkpLmZpbHRlcigodD0+dC5wcm9kdWN0aW9uTW9kZSkpLmxlbmd0aD4wKX0pKCk6IShmdW5jdGlvbiBpKCl7cmV0dXJuIHYxdCgoZnVuY3Rpb24gdCgpe3JldHVybiEwfSkpfSkoKSl9Y2F0Y2godCl7cmV0dXJuITF9fSkoKSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovCmNsYXNzIFMxdHtzdGF0aWMgZGV0ZWN0U2Nyb2xsVHlwZSgpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC50ZXh0Q29udGVudD0iQUJDRCIsdC5kaXI9InJ0bCIsdC5zdHlsZS5mb250U2l6ZT0iMTRweCIsdC5zdHlsZS53aWR0aD0iNHB4Iix0LnN0eWxlLmhlaWdodD0iMXB4Iix0LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdC5zdHlsZS50b3A9Ii0xMDAwcHgiLHQuc3R5bGUub3ZlcmZsb3c9InNjcm9sbCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KTtsZXQgZT0icmV2ZXJzZSI7cmV0dXJuIHQuc2Nyb2xsTGVmdD4wP2U9ImRlZmF1bHQiOih0LnNjcm9sbExlZnQ9Mix0LnNjcm9sbExlZnQ8MiYmKGU9Im5lZ2F0aXZlIikpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCksZX1zdGF0aWMgZ2V0Tm9ybWFsaXplZFNjcm9sbExlZnQodCxlLG4pe2NvbnN0e3Njcm9sbExlZnQ6aX09bjtpZigicnRsIiE9PWV8fCF0KXJldHVybiBpO3N3aXRjaCh0KXtjYXNlIm5lZ2F0aXZlIjpyZXR1cm4gbi5zY3JvbGxXaWR0aC1uLmNsaWVudFdpZHRoK2k7Y2FzZSJyZXZlcnNlIjpyZXR1cm4gbi5zY3JvbGxXaWR0aC1uLmNsaWVudFdpZHRoLWl9cmV0dXJuIGl9c3RhdGljIHNldE5vcm1hbGl6ZWRTY3JvbGxMZWZ0KHQsZSxuLGkpe2lmKCJydGwiPT09ZSYmdClzd2l0Y2godCl7Y2FzZSJuZWdhdGl2ZSI6bi5zY3JvbGxMZWZ0PW4uY2xpZW50V2lkdGgtbi5zY3JvbGxXaWR0aCtpO2JyZWFrO2Nhc2UicmV2ZXJzZSI6bi5zY3JvbGxMZWZ0PW4uc2Nyb2xsV2lkdGgtbi5jbGllbnRXaWR0aC1pO2JyZWFrO2RlZmF1bHQ6bi5zY3JvbGxMZWZ0PWl9ZWxzZSBuLnNjcm9sbExlZnQ9aX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovY29uc3QgTTF0PVtdO2xldCBFMXQ7bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKGZ1bmN0aW9uKCl7Y29uc3QgdD1DMXQoKTtNMXQuZm9yRWFjaCgoZT0+e1QxdChlLHQpfSkpfSkpLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHthdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbImRpciJdfSk7Y29uc3QgVDF0PWZ1bmN0aW9uKHQsZSxuPXQuZ2V0QXR0cmlidXRlKCJkaXIiKSl7ZT90LnNldEF0dHJpYnV0ZSgiZGlyIixlKTpudWxsIT1uJiZ0LnJlbW92ZUF0dHJpYnV0ZSgiZGlyIil9LEMxdD1mdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkaXIiKX0sQTF0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57ZGlyOnt0eXBlOlN0cmluZyx2YWx1ZToiIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9fX1zdGF0aWMgZmluYWxpemUoKXtzdXBlci5maW5hbGl6ZSgpLEUxdHx8KEUxdD1TMXQuZGV0ZWN0U2Nyb2xsVHlwZSgpKX1jb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5oYXNBdHRyaWJ1dGUoImRpciIpfHwodGhpcy5fX3N1YnNjcmliZSgpLFQxdCh0aGlzLEMxdCgpLG51bGwpKX1hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4pe2lmKHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LGUsbiksImRpciIhPT10KXJldHVybjtjb25zdCBpPUMxdCgpLHI9bj09PWkmJi0xPT09TTF0LmluZGV4T2YodGhpcyksbz0hbiYmZSYmLTE9PT1NMXQuaW5kZXhPZih0aGlzKSxhPW4hPT1pJiZlPT09aTtyfHxvPyh0aGlzLl9fc3Vic2NyaWJlKCksVDF0KHRoaXMsaSxuKSk6YSYmdGhpcy5fX3N1YnNjcmliZSghMSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuX19zdWJzY3JpYmUoITEpLHRoaXMucmVtb3ZlQXR0cmlidXRlKCJkaXIiKX1fdmFsdWVUb05vZGVBdHRyaWJ1dGUodCxlLG4peygiZGlyIiE9PW58fCIiIT09ZXx8dC5oYXNBdHRyaWJ1dGUoImRpciIpKSYmc3VwZXIuX3ZhbHVlVG9Ob2RlQXR0cmlidXRlKHQsZSxuKX1fYXR0cmlidXRlVG9Qcm9wZXJ0eSh0LGUsbil7ImRpciIhPT10fHxlP3N1cGVyLl9hdHRyaWJ1dGVUb1Byb3BlcnR5KHQsZSxuKTp0aGlzLmRpcj0iIn1fX3N1YnNjcmliZSh0PSEwKXt0Py0xPT09TTF0LmluZGV4T2YodGhpcykmJk0xdC5wdXNoKHRoaXMpOk0xdC5pbmRleE9mKHRoaXMpPi0xJiZNMXQuc3BsaWNlKE0xdC5pbmRleE9mKHRoaXMpLDEpfV9fZ2V0Tm9ybWFsaXplZFNjcm9sbExlZnQodCl7cmV0dXJuIFMxdC5nZXROb3JtYWxpemVkU2Nyb2xsTGVmdChFMXQsdGhpcy5nZXRBdHRyaWJ1dGUoImRpciIpfHwibHRyIix0KX1fX3NldE5vcm1hbGl6ZWRTY3JvbGxMZWZ0KHQsZSl7cmV0dXJuIFMxdC5zZXROb3JtYWxpemVkU2Nyb2xsTGVmdChFMXQsdGhpcy5nZXRBdHRyaWJ1dGUoImRpciIpfHwibHRyIix0LGUpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi87bGV0IGsxdDt3aW5kb3cuVmFhZGluPXdpbmRvdy5WYWFkaW58fHt9LHdpbmRvdy5WYWFkaW4ucmVnaXN0cmF0aW9ucz13aW5kb3cuVmFhZGluLnJlZ2lzdHJhdGlvbnN8fFtdLHdpbmRvdy5WYWFkaW4uZGV2ZWxvcG1lbnRNb2RlQ2FsbGJhY2s9d2luZG93LlZhYWRpbi5kZXZlbG9wbWVudE1vZGVDYWxsYmFja3x8e30sd2luZG93LlZhYWRpbi5kZXZlbG9wbWVudE1vZGVDYWxsYmFja1sidmFhZGluLXVzYWdlLXN0YXRpc3RpY3MiXT1mdW5jdGlvbigpe2IxdCh4MXQpfTtjb25zdCBMMXQ9bmV3IFNldCxQMXQ9dD0+Y2xhc3MgZXh0ZW5kcyhBMXQodCkpe3N0YXRpYyBmaW5hbGl6ZSgpe3N1cGVyLmZpbmFsaXplKCk7Y29uc3R7aXM6dH09dGhpczt0JiYhTDF0Lmhhcyh0KSYmKHdpbmRvdy5WYWFkaW4ucmVnaXN0cmF0aW9ucy5wdXNoKHRoaXMpLEwxdC5hZGQodCksd2luZG93LlZhYWRpbi5kZXZlbG9wbWVudE1vZGVDYWxsYmFjayYmKGsxdD1Obi5kZWJvdW5jZShrMXQseXQsKCgpPT57d2luZG93LlZhYWRpbi5kZXZlbG9wbWVudE1vZGVDYWxsYmFja1sidmFhZGluLXVzYWdlLXN0YXRpc3RpY3MiXSgpfSkpLFJuKGsxdCkpKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksbnVsbD09PWRvY3VtZW50LmRvY3R5cGUmJmNvbnNvbGUud2FybignVmFhZGluIGNvbXBvbmVudHMgcmVxdWlyZSB0aGUgInN0YW5kYXJkcyBtb2RlIiBkZWNsYXJhdGlvbi4gUGxlYXNlIGFkZCA8IURPQ1RZUEUgaHRtbD4gdG8gdGhlIEhUTUwgZG9jdW1lbnQuJyl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLztjbGFzcyBOMXQgZXh0ZW5kcyhQMXQoZzF0KGYxdChiaSh3ZSkpKSkpe3N0YXRpYyBnZXQgdGVtcGxhdGUoKXtyZXR1cm4geGVgCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgfQoKICAgICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICAgIH0KCiAgICAgICAgbGFiZWwgewogICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIH0KCiAgICAgICAgW3BhcnQ9J2NoZWNrYm94J10gewogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgZmxleDogbm9uZTsKICAgICAgICB9CgogICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgdG9wOiAwOwogICAgICAgICAgbGVmdDogMDsKICAgICAgICAgIHJpZ2h0OiAwOwogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgY3Vyc29yOiBpbmhlcml0OwogICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIH0KCiAgICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgewogICAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CgogICAgICA8bGFiZWw+CiAgICAgICAgPHNwYW4gcGFydD0iY2hlY2tib3giPgogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIHR5cGU9ImNoZWNrYm94IgogICAgICAgICAgICBjaGVja2VkPSJ7e2NoZWNrZWQ6OmNoYW5nZX19IgogICAgICAgICAgICBkaXNhYmxlZCQ9IltbZGlzYWJsZWRdXSIKICAgICAgICAgICAgaW5kZXRlcm1pbmF0ZT0ie3tpbmRldGVybWluYXRlOjpjaGFuZ2V9fSIKICAgICAgICAgICAgcm9sZT0icHJlc2VudGF0aW9uIgogICAgICAgICAgICB0YWJpbmRleD0iLTEiCiAgICAgICAgICAvPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgPHNwYW4gcGFydD0ibGFiZWwiPgogICAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICAgIDwvc3Bhbj4KICAgICAgPC9sYWJlbD4KICAgIGB9c3RhdGljIGdldCBpcygpe3JldHVybiJ2YWFkaW4tY2hlY2tib3gifXN0YXRpYyBnZXQgdmVyc2lvbigpe3JldHVybiIyMC4wLjIifXN0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybntjaGVja2VkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwLG9ic2VydmVyOiJfY2hlY2tlZENoYW5nZWQiLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0saW5kZXRlcm1pbmF0ZTp7dHlwZTpCb29sZWFuLG5vdGlmeTohMCxvYnNlcnZlcjoiX2luZGV0ZXJtaW5hdGVDaGFuZ2VkIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdmFsdWU6ITF9LHZhbHVlOnt0eXBlOlN0cmluZyx2YWx1ZToib24ifSxfbmF0aXZlQ2hlY2tib3g6e3R5cGU6T2JqZWN0fX19Y29uc3RydWN0b3IoKXtzdXBlcigpfWdldCBuYW1lKCl7cmV0dXJuIHRoaXMuY2hlY2tlZD90aGlzLl9zdG9yZWROYW1lOiIifXNldCBuYW1lKHQpe3RoaXMuX3N0b3JlZE5hbWU9dH1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5zZXRBdHRyaWJ1dGUoInJvbGUiLCJjaGVja2JveCIpLHRoaXMuX25hdGl2ZUNoZWNrYm94PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdpbnB1dFt0eXBlPSJjaGVja2JveCJdJyksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5faGFuZGxlQ2xpY2suYmluZCh0aGlzKSksdGhpcy5fYWRkQWN0aXZlTGlzdGVuZXJzKCk7Y29uc3QgdD10aGlzLmdldEF0dHJpYnV0ZSgibmFtZSIpO3QmJih0aGlzLm5hbWU9dCksdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ1twYXJ0fj0ibGFiZWwiXScpLnF1ZXJ5U2VsZWN0b3IoInNsb3QiKS5hZGRFdmVudExpc3RlbmVyKCJzbG90Y2hhbmdlIix0aGlzLl91cGRhdGVMYWJlbEF0dHJpYnV0ZS5iaW5kKHRoaXMpKSx0aGlzLl91cGRhdGVMYWJlbEF0dHJpYnV0ZSgpfV91cGRhdGVMYWJlbEF0dHJpYnV0ZSgpe2NvbnN0IHQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ1twYXJ0fj0ibGFiZWwiXScpLGU9dC5maXJzdEVsZW1lbnRDaGlsZC5hc3NpZ25lZE5vZGVzKCk7dGhpcy5faXNBc3NpZ25lZE5vZGVzRW1wdHkoZSk/dC5zZXRBdHRyaWJ1dGUoImVtcHR5IiwiIik6dC5yZW1vdmVBdHRyaWJ1dGUoImVtcHR5Iil9X2lzQXNzaWduZWROb2Rlc0VtcHR5KHQpe3JldHVybiAwPT09dC5sZW5ndGh8fDE9PXQubGVuZ3RoJiZ0WzBdLm5vZGVUeXBlPT1Ob2RlLlRFWFRfTk9ERSYmIiI9PT10WzBdLnRleHRDb250ZW50LnRyaW0oKX1fY2hlY2tlZENoYW5nZWQodCl7dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsdGhpcy5pbmRldGVybWluYXRlPyJtaXhlZCI6Qm9vbGVhbih0KSl9X2luZGV0ZXJtaW5hdGVDaGFuZ2VkKHQpe3RoaXMuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLHQ/Im1peGVkIjp0aGlzLmNoZWNrZWQpfV9hZGRBY3RpdmVMaXN0ZW5lcnMoKXt0aGlzLl9hZGRFdmVudExpc3RlbmVyVG9Ob2RlKHRoaXMsImRvd24iLCh0PT57dGhpcy5fX2ludGVyYWN0aW9uc0FsbG93ZWQodCkmJnRoaXMuc2V0QXR0cmlidXRlKCJhY3RpdmUiLCIiKX0pKSx0aGlzLl9hZGRFdmVudExpc3RlbmVyVG9Ob2RlKHRoaXMsInVwIiwoKCk9PnRoaXMucmVtb3ZlQXR0cmlidXRlKCJhY3RpdmUiKSkpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKHQ9Pnt0aGlzLl9faW50ZXJhY3Rpb25zQWxsb3dlZCh0KSYmMzI9PT10LmtleUNvZGUmJih0LnByZXZlbnREZWZhdWx0KCksdGhpcy5zZXRBdHRyaWJ1dGUoImFjdGl2ZSIsIiIpKX0pKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIiwodD0+e3RoaXMuX19pbnRlcmFjdGlvbnNBbGxvd2VkKHQpJiYzMj09PXQua2V5Q29kZSYmKHQucHJldmVudERlZmF1bHQoKSx0aGlzLl90b2dnbGVDaGVja2VkKCksdGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFjdGl2ZSIpLHRoaXMuaW5kZXRlcm1pbmF0ZSYmKHRoaXMuaW5kZXRlcm1pbmF0ZT0hMSkpfSkpfWdldCBmb2N1c0VsZW1lbnQoKXtyZXR1cm4gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImlucHV0Iil9X19pbnRlcmFjdGlvbnNBbGxvd2VkKHQpe3JldHVybiF0aGlzLmRpc2FibGVkJiYiYSIhPT10LnRhcmdldC5sb2NhbE5hbWV9X2hhbmRsZUNsaWNrKHQpe3RoaXMuX19pbnRlcmFjdGlvbnNBbGxvd2VkKHQpJiYodGhpcy5pbmRldGVybWluYXRlPyh0aGlzLmluZGV0ZXJtaW5hdGU9ITEsdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX3RvZ2dsZUNoZWNrZWQoKSk6dC5jb21wb3NlZFBhdGgoKVswXSE9PXRoaXMuX25hdGl2ZUNoZWNrYm94JiYodC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX3RvZ2dsZUNoZWNrZWQoKSkpfV90b2dnbGVDaGVja2VkKCl7dGhpcy5jaGVja2VkPSF0aGlzLmNoZWNrZWQsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2hhbmdlIix7Y29tcG9zZWQ6ITEsYnViYmxlczohMH0pKX19Y3VzdG9tRWxlbWVudHMuZGVmaW5lKE4xdC5pcyxOMXQpLHQxdCgidmFhZGluLWdyaWQiLCRRdGAKICAgIDpob3N0IHsKICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWx1bW8tZm9udC1mYW1pbHkpOwogICAgICBmb250LXNpemU6IHZhcigtLWx1bW8tZm9udC1zaXplLW0pOwogICAgICBsaW5lLWhlaWdodDogdmFyKC0tbHVtby1saW5lLWhlaWdodC1zKTsKICAgICAgY29sb3I6IHZhcigtLWx1bW8tYm9keS10ZXh0LWNvbG9yKTsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1iYXNlLWNvbG9yKTsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOwogICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKCiAgICAgIC8qIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqLwogICAgICAtLV9sdW1vLWdyaWQtYm9yZGVyLWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTIwcGN0KTsKICAgICAgLS1fbHVtby1ncmlkLXNlY29uZGFyeS1ib3JkZXItY29sb3I6IHZhcigtLWx1bW8tY29udHJhc3QtMTBwY3QpOwogICAgICAtLV9sdW1vLWdyaWQtYm9yZGVyLXdpZHRoOiAxcHg7CiAgICAgIC0tX2x1bW8tZ3JpZC1zZWxlY3RlZC1yb3ctY29sb3I6IHZhcigtLWx1bW8tcHJpbWFyeS1jb2xvci0xMHBjdCk7CiAgICB9CgogICAgLyogTm8gKG91dGVyKSBib3JkZXIgKi8KCiAgICA6aG9zdCg6bm90KFt0aGVtZX49J25vLWJvcmRlciddKSkgewogICAgICBib3JkZXI6IHZhcigtLV9sdW1vLWdyaWQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1fbHVtby1ncmlkLWJvcmRlci1jb2xvcik7CiAgICB9CgogICAgLyogQ2VsbCBzdHlsZXMgKi8KCiAgICBbcGFydH49J2NlbGwnXSB7CiAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWx1bW8tc2l6ZS1tKTsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1iYXNlLWNvbG9yKTsKICAgIH0KCiAgICBbcGFydH49J2NlbGwnXSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgcGFkZGluZzogdmFyKC0tbHVtby1zcGFjZS14cykgdmFyKC0tbHVtby1zcGFjZS1tKTsKICAgIH0KCiAgICAvKiBBcHBseSByb3cgYm9yZGVycyBieSBkZWZhdWx0IGFuZCBpbnRyb2R1Y2UgdGhlICJuby1yb3ctYm9yZGVycyIgdmFyaWFudCAqLwogICAgOmhvc3QoOm5vdChbdGhlbWV+PSduby1yb3ctYm9yZGVycyddKSkgW3BhcnR+PSdjZWxsJ106bm90KFtwYXJ0fj0nZGV0YWlscy1jZWxsJ10pIHsKICAgICAgYm9yZGVyLXRvcDogdmFyKC0tX2x1bW8tZ3JpZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLV9sdW1vLWdyaWQtc2Vjb25kYXJ5LWJvcmRlci1jb2xvcik7CiAgICB9CgogICAgLyogSGlkZSBmaXJzdCBib2R5IHJvdyB0b3AgYm9yZGVyICovCiAgICA6aG9zdCg6bm90KFt0aGVtZX49J25vLXJvdy1ib3JkZXJzJ10pKSBbcGFydD0ncm93J11bZmlyc3RdIFtwYXJ0fj0nY2VsbCddOm5vdChbcGFydH49J2RldGFpbHMtY2VsbCddKSB7CiAgICAgIGJvcmRlci10b3A6IDA7CiAgICAgIG1pbi1oZWlnaHQ6IGNhbGModmFyKC0tbHVtby1zaXplLW0pIC0gdmFyKC0tX2x1bW8tZ3JpZC1ib3JkZXItd2lkdGgpKTsKICAgIH0KCiAgICAvKiBGb2N1cy1yaW5nICovCgogICAgW3BhcnR+PSdjZWxsJ106Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQoKICAgIDpob3N0KFtuYXZpZ2F0aW5nXSkgW3BhcnR+PSdjZWxsJ106Zm9jdXM6OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICcnOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIGJvdHRvbTogMDsKICAgICAgbGVmdDogMDsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB2YXIoLS1sdW1vLXByaW1hcnktY29sb3ItNTBwY3QpOwogICAgfQoKICAgIC8qIERyYWcgYW5kIERyb3Agc3R5bGVzICovCiAgICA6aG9zdChbZHJhZ292ZXJdKTo6YWZ0ZXIgewogICAgICBjb250ZW50OiAnJzsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB6LWluZGV4OiAxMDA7CiAgICAgIHRvcDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIGJvdHRvbTogMDsKICAgICAgbGVmdDogMDsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB2YXIoLS1sdW1vLXByaW1hcnktY29sb3ItNTBwY3QpOwogICAgfQoKICAgIFtwYXJ0fj0ncm93J11bZHJhZ292ZXJdIHsKICAgICAgei1pbmRleDogMTAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgW3BhcnR+PSdyb3cnXVtkcmFnb3Zlcl0gW3BhcnR+PSdjZWxsJ10gewogICAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgIH0KCiAgICBbcGFydH49J3JvdyddW2RyYWdvdmVyXSBbcGFydH49J2NlbGwnXTo6YWZ0ZXIgewogICAgICBjb250ZW50OiAnJzsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDA7CiAgICAgIHJpZ2h0OiAwOwogICAgICBib3R0b206IDA7CiAgICAgIGxlZnQ6IDA7CiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1fbHVtby1ncmlkLWJvcmRlci13aWR0aCkgKyAycHgpOwogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tbHVtby1wcmltYXJ5LWNvbG9yLTUwcGN0KTsKICAgIH0KCiAgICA6aG9zdChbdGhlbWV+PSduby1yb3ctYm9yZGVycyddKSBbZHJhZ292ZXJdIFtwYXJ0fj0nY2VsbCddOjphZnRlciB7CiAgICAgIGhlaWdodDogMnB4OwogICAgfQoKICAgIFtwYXJ0fj0ncm93J11bZHJhZ292ZXI9J2JlbG93J10gW3BhcnR+PSdjZWxsJ106OmFmdGVyIHsKICAgICAgdG9wOiAxMDAlOwogICAgICBib3R0b206IGF1dG87CiAgICAgIG1hcmdpbi10b3A6IC0xcHg7CiAgICB9CgogICAgW3BhcnR+PSdyb3cnXVtkcmFnb3Zlcj0nYWJvdmUnXSBbcGFydH49J2NlbGwnXTo6YWZ0ZXIgewogICAgICB0b3A6IGF1dG87CiAgICAgIGJvdHRvbTogMTAwJTsKICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDsKICAgIH0KCiAgICBbcGFydH49J3JvdyddW2RldGFpbHMtb3BlbmVkXVtkcmFnb3Zlcj0nYmVsb3cnXSBbcGFydH49J2NlbGwnXTpub3QoW3BhcnR+PSdkZXRhaWxzLWNlbGwnXSk6OmFmdGVyLAogICAgW3BhcnR+PSdyb3cnXVtkZXRhaWxzLW9wZW5lZF1bZHJhZ292ZXI9J2Fib3ZlJ10gW3BhcnR+PSdkZXRhaWxzLWNlbGwnXTo6YWZ0ZXIgewogICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIFtwYXJ0fj0ncm93J11bZHJhZ292ZXJdW2RyYWdvdmVyPSdvbi10b3AnXSBbcGFydH49J2NlbGwnXTo6YWZ0ZXIgewogICAgICBoZWlnaHQ6IDEwMCU7CiAgICB9CgogICAgW3BhcnR+PSdyb3cnXVtkcmFnc3RhcnRdIHsKICAgICAgLyogQWRkIGJvdHRvbS1zcGFjZSB0byB0aGUgcm93IHNvIHRoZSBkcmFnIG51bWJlciBkb2Vzbid0IGdldCBjbGlwcGVkLiBOZWVkZWQgZm9yIElFL0VkZ2UgKi8KICAgICAgYm9yZGVyLWJvdHRvbTogMTAwcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgIHotaW5kZXg6IDEwMCAhaW1wb3J0YW50OwogICAgICBvcGFjaXR5OiAwLjk7CiAgICB9CgogICAgW3BhcnR+PSdyb3cnXVtkcmFnc3RhcnRdIFtwYXJ0fj0nY2VsbCddIHsKICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7CiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICBbcGFydH49J3JvdyddW2RyYWdzdGFydF0gW3BhcnR+PSdjZWxsJ11bbGFzdC1jb2x1bW5dIHsKICAgICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1sdW1vLWJvcmRlci1yYWRpdXMtcykgdmFyKC0tbHVtby1ib3JkZXItcmFkaXVzLXMpIDA7CiAgICB9CgogICAgW3BhcnR+PSdyb3cnXVtkcmFnc3RhcnRdIFtwYXJ0fj0nY2VsbCddW2ZpcnN0LWNvbHVtbl0gewogICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdW1vLWJvcmRlci1yYWRpdXMtcykgMCAwIHZhcigtLWx1bW8tYm9yZGVyLXJhZGl1cy1zKTsKICAgIH0KCiAgICBbaW9zXSBbcGFydH49J3JvdyddW2RyYWdzdGFydF0gW3BhcnR+PSdjZWxsJ10gewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1sdW1vLXByaW1hcnktY29sb3ItNTBwY3QpOwogICAgfQoKICAgICNzY3JvbGxlcjpub3QoW2lvc10pIFtwYXJ0fj0ncm93J11bZHJhZ3N0YXJ0XTpub3QoW2RyYWdzdGFydD0nJ10pOjphZnRlciB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGxlZnQ6IHZhcigtLV9ncmlkLWRyYWctc3RhcnQteCk7CiAgICAgIHRvcDogdmFyKC0tX2dyaWQtZHJhZy1zdGFydC15KTsKICAgICAgei1pbmRleDogMTAwOwogICAgICBjb250ZW50OiBhdHRyKGRyYWdzdGFydCk7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWx1bW8tc3BhY2UteHMpICogMC44KTsKICAgICAgY29sb3I6IHZhcigtLWx1bW8tZXJyb3ItY29udHJhc3QtY29sb3IpOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdW1vLWVycm9yLWNvbG9yKTsKICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbHVtby1ib3JkZXItcmFkaXVzLW0pOwogICAgICBmb250LWZhbWlseTogdmFyKC0tbHVtby1mb250LWZhbWlseSk7CiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbHVtby1mb250LXNpemUteHhzKTsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsOwogICAgICBsZXR0ZXItc3BhY2luZzogaW5pdGlhbDsKICAgICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLWx1bW8tc2l6ZS1zKSAqIDAuNyk7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIH0KCiAgICAvKiBIZWFkZXJzIGFuZCBmb290ZXJzICovCgogICAgW3BhcnR+PSdoZWFkZXItY2VsbCddIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpLAogICAgW3BhcnR+PSdmb290ZXItY2VsbCddIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpLAogICAgW3BhcnR+PSdyZW9yZGVyLWdob3N0J10gewogICAgICBmb250LXNpemU6IHZhcigtLWx1bW8tZm9udC1zaXplLXMpOwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQoKICAgIFtwYXJ0fj0nZm9vdGVyLWNlbGwnXSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICB9CgogICAgW3BhcnQ9J3JvdyddOm9ubHktY2hpbGQgW3BhcnR+PSdoZWFkZXItY2VsbCddIHsKICAgICAgbWluLWhlaWdodDogdmFyKC0tbHVtby1zaXplLXhsKTsKICAgIH0KCiAgICAvKiBIZWFkZXIgYm9yZGVycyAqLwoKICAgIC8qIEhpZGUgZmlyc3QgaGVhZGVyIHJvdyB0b3AgYm9yZGVyICovCiAgICA6aG9zdCg6bm90KFt0aGVtZX49J25vLXJvdy1ib3JkZXJzJ10pKSBbcGFydD0ncm93J106Zmlyc3QtY2hpbGQgW3BhcnR+PSdoZWFkZXItY2VsbCddIHsKICAgICAgYm9yZGVyLXRvcDogMDsKICAgIH0KCiAgICBbcGFydD0ncm93J106bGFzdC1jaGlsZCBbcGFydH49J2hlYWRlci1jZWxsJ10gewogICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1fbHVtby1ncmlkLWJvcmRlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7CiAgICB9CgogICAgOmhvc3QoOm5vdChbdGhlbWV+PSduby1yb3ctYm9yZGVycyddKSkgW3BhcnQ9J3JvdyddOmxhc3QtY2hpbGQgW3BhcnR+PSdoZWFkZXItY2VsbCddIHsKICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tX2x1bW8tZ3JpZC1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTsKICAgIH0KCiAgICAvKiBPdmVyZmxvdyB1c2VzIGEgc3Ryb25nZXIgYm9yZGVyIGNvbG9yICovCiAgICA6aG9zdChbb3ZlcmZsb3d+PSd0b3AnXSkgW3BhcnQ9J3JvdyddOmxhc3QtY2hpbGQgW3BhcnR+PSdoZWFkZXItY2VsbCddIHsKICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tX2x1bW8tZ3JpZC1ib3JkZXItY29sb3IpOwogICAgfQoKICAgIC8qIEZvb3RlciBib3JkZXJzICovCgogICAgW3BhcnQ9J3JvdyddOmZpcnN0LWNoaWxkIFtwYXJ0fj0nZm9vdGVyLWNlbGwnXSB7CiAgICAgIGJvcmRlci10b3A6IHZhcigtLV9sdW1vLWdyaWQtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDsKICAgIH0KCiAgICA6aG9zdCg6bm90KFt0aGVtZX49J25vLXJvdy1ib3JkZXJzJ10pKSBbcGFydD0ncm93J106Zmlyc3QtY2hpbGQgW3BhcnR+PSdmb290ZXItY2VsbCddIHsKICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tX2x1bW8tZ3JpZC1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTsKICAgIH0KCiAgICAvKiBPdmVyZmxvdyB1c2VzIGEgc3Ryb25nZXIgYm9yZGVyIGNvbG9yICovCiAgICA6aG9zdChbb3ZlcmZsb3d+PSdib3R0b20nXSkgW3BhcnQ9J3JvdyddOmZpcnN0LWNoaWxkIFtwYXJ0fj0nZm9vdGVyLWNlbGwnXSB7CiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLV9sdW1vLWdyaWQtYm9yZGVyLWNvbG9yKTsKICAgIH0KCiAgICAvKiBDb2x1bW4gcmVvcmRlcmluZyAqLwoKICAgIDpob3N0KFtyZW9yZGVyaW5nXSkgW3BhcnR+PSdjZWxsJ10gewogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tbHVtby1zaGFkZS0yMHBjdCksIHZhcigtLWx1bW8tc2hhZGUtMjBwY3QpKSB2YXIoLS1sdW1vLWJhc2UtY29sb3IpOwogICAgfQoKICAgIDpob3N0KFtyZW9yZGVyaW5nXSkgW3BhcnR+PSdjZWxsJ11bcmVvcmRlci1zdGF0dXM9J2FsbG93ZWQnXSB7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWx1bW8tYmFzZS1jb2xvcik7CiAgICB9CgogICAgOmhvc3QoW3Jlb3JkZXJpbmddKSBbcGFydH49J2NlbGwnXVtyZW9yZGVyLXN0YXR1cz0nZHJhZ2dpbmcnXSB7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1sdW1vLWNvbnRyYXN0LTVwY3QpLCB2YXIoLS1sdW1vLWNvbnRyYXN0LTVwY3QpKSB2YXIoLS1sdW1vLWJhc2UtY29sb3IpOwogICAgfQoKICAgIFtwYXJ0fj0ncmVvcmRlci1naG9zdCddIHsKICAgICAgb3BhY2l0eTogMC44NTsKICAgICAgYm94LXNoYWRvdzogdmFyKC0tbHVtby1ib3gtc2hhZG93LXMpOwogICAgICAvKiBUT0RPIFVzZSB0aGUgc2FtZSBzdHlsZXMgYXMgZm9yIHRoZSBjZWxsIGVsZW1lbnQgKHJlb3JkZXItZ2hvc3QgY29waWVzIHN0eWxlcyBmcm9tIHRoZSBjZWxsIGVsZW1lbnQpICovCiAgICAgIHBhZGRpbmc6IHZhcigtLWx1bW8tc3BhY2UtcykgdmFyKC0tbHVtby1zcGFjZS1tKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC8qIENvbHVtbiByZXNpemluZyAqLwoKICAgIFtwYXJ0PSdyZXNpemUtaGFuZGxlJ10gewogICAgICB3aWR0aDogM3B4OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdW1vLXByaW1hcnktY29sb3ItNTBwY3QpOwogICAgICBvcGFjaXR5OiAwOwogICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7CiAgICB9CgogICAgOmhvc3QoOm5vdChbcmVvcmRlcmluZ10pKSAqOm5vdChbY29sdW1uLXJlc2l6aW5nXSkgW3BhcnR+PSdjZWxsJ106aG92ZXIgW3BhcnQ9J3Jlc2l6ZS1oYW5kbGUnXSwKICAgIFtwYXJ0PSdyZXNpemUtaGFuZGxlJ106YWN0aXZlIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xNXM7CiAgICB9CgogICAgLyogQ29sdW1uIGJvcmRlcnMgKi8KCiAgICA6aG9zdChbdGhlbWV+PSdjb2x1bW4tYm9yZGVycyddKSBbcGFydH49J2NlbGwnXTpub3QoW2xhc3QtY29sdW1uXSk6bm90KFtwYXJ0fj0nZGV0YWlscy1jZWxsJ10pIHsKICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1fbHVtby1ncmlkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tX2x1bW8tZ3JpZC1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTsKICAgIH0KCiAgICAvKiBGcm96ZW4gY29sdW1ucyAqLwoKICAgIFtsYXN0LWZyb3plbl0gewogICAgICBib3JkZXItcmlnaHQ6IHZhcigtLV9sdW1vLWdyaWQtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCiAgICA6aG9zdChbb3ZlcmZsb3d+PSdsZWZ0J10pIFtwYXJ0fj0nY2VsbCddW2xhc3QtZnJvemVuXTpub3QoW3BhcnR+PSdkZXRhaWxzLWNlbGwnXSkgewogICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLV9sdW1vLWdyaWQtYm9yZGVyLWNvbG9yKTsKICAgIH0KCiAgICAvKiBSb3cgc3RyaXBlcyAqLwoKICAgIDpob3N0KFt0aGVtZX49J3Jvdy1zdHJpcGVzJ10pIFtwYXJ0fj0ncm93J106bm90KFtvZGRdKSBbcGFydH49J2JvZHktY2VsbCddLAogICAgOmhvc3QoW3RoZW1lfj0ncm93LXN0cmlwZXMnXSkgW3BhcnR+PSdyb3cnXTpub3QoW29kZF0pIFtwYXJ0fj0nZGV0YWlscy1jZWxsJ10gewogICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tbHVtby1jb250cmFzdC01cGN0KSwgdmFyKC0tbHVtby1jb250cmFzdC01cGN0KSk7CiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsKICAgIH0KCiAgICAvKiBTZWxlY3RlZCByb3cgKi8KCiAgICAvKiBSYWlzZSB0aGUgc2VsZWN0ZWQgcm93cyBhYm92ZSB1bnNlbGVjdGVkIHJvd3MgKHNvIHRoYXQgYm94LXNoYWRvdyBjYW4gY292ZXIgdW5zZWxlY3RlZCByb3dzKSAqLwogICAgOmhvc3QoOm5vdChbcmVvcmRlcmluZ10pKSBbcGFydH49J3JvdyddW3NlbGVjdGVkXSB7CiAgICAgIHotaW5kZXg6IDE7CiAgICB9CgogICAgOmhvc3QoOm5vdChbcmVvcmRlcmluZ10pKSBbcGFydH49J3JvdyddW3NlbGVjdGVkXSBbcGFydH49J2JvZHktY2VsbCddOm5vdChbcGFydH49J2RldGFpbHMtY2VsbCddKSB7CiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1fbHVtby1ncmlkLXNlbGVjdGVkLXJvdy1jb2xvciksIHZhcigtLV9sdW1vLWdyaWQtc2VsZWN0ZWQtcm93LWNvbG9yKSk7CiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7CiAgICB9CgogICAgLyogQ292ZXIgdGhlIGJvcmRlciBvZiBhbiB1bnNlbGVjdGVkIHJvdyAqLwogICAgOmhvc3QoOm5vdChbdGhlbWV+PSduby1yb3ctYm9yZGVycyddKSkgW3BhcnR+PSdyb3cnXVtzZWxlY3RlZF0gW3BhcnR+PSdjZWxsJ106bm90KFtwYXJ0fj0nZGV0YWlscy1jZWxsJ10pIHsKICAgICAgYm94LXNoYWRvdzogMCB2YXIoLS1fbHVtby1ncmlkLWJvcmRlci13aWR0aCkgMCAwIHZhcigtLV9sdW1vLWdyaWQtc2VsZWN0ZWQtcm93LWNvbG9yKTsKICAgIH0KCiAgICAvKiBDb21wYWN0ICovCgogICAgOmhvc3QoW3RoZW1lfj0nY29tcGFjdCddKSBbcGFydD0ncm93J106b25seS1jaGlsZCBbcGFydH49J2hlYWRlci1jZWxsJ10gewogICAgICBtaW4taGVpZ2h0OiB2YXIoLS1sdW1vLXNpemUtbSk7CiAgICB9CgogICAgOmhvc3QoW3RoZW1lfj0nY29tcGFjdCddKSBbcGFydH49J2NlbGwnXSB7CiAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWx1bW8tc2l6ZS1zKTsKICAgIH0KCiAgICA6aG9zdChbdGhlbWV+PSdjb21wYWN0J10pIFtwYXJ0PSdyb3cnXVtmaXJzdF0gW3BhcnR+PSdjZWxsJ106bm90KFtwYXJ0fj0nZGV0YWlscy1jZWxsJ10pIHsKICAgICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1sdW1vLXNpemUtcykgLSB2YXIoLS1fbHVtby1ncmlkLWJvcmRlci13aWR0aCkpOwogICAgfQoKICAgIDpob3N0KFt0aGVtZX49J2NvbXBhY3QnXSkgW3BhcnR+PSdjZWxsJ10gOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICBwYWRkaW5nOiB2YXIoLS1sdW1vLXNwYWNlLXhzKSB2YXIoLS1sdW1vLXNwYWNlLXMpOwogICAgfQoKICAgIC8qIFdyYXAgY2VsbCBjb250ZW50cyAqLwoKICAgIDpob3N0KFt0aGVtZX49J3dyYXAtY2VsbC1jb250ZW50J10pIFtwYXJ0fj0nY2VsbCddIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsKICAgIH0KCiAgICAvKiBSVEwgc3BlY2lmaWMgc3R5bGVzICovCgogICAgOmhvc3QoW2Rpcj0ncnRsJ10pIFtwYXJ0fj0ncm93J11bZHJhZ3N0YXJ0XSBbcGFydH49J2NlbGwnXVtsYXN0LWNvbHVtbl0gewogICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdW1vLWJvcmRlci1yYWRpdXMtcykgMCAwIHZhcigtLWx1bW8tYm9yZGVyLXJhZGl1cy1zKTsKICAgIH0KCiAgICA6aG9zdChbZGlyPSdydGwnXSkgW3BhcnR+PSdyb3cnXVtkcmFnc3RhcnRdIFtwYXJ0fj0nY2VsbCddW2ZpcnN0LWNvbHVtbl0gewogICAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLWx1bW8tYm9yZGVyLXJhZGl1cy1zKSB2YXIoLS1sdW1vLWJvcmRlci1yYWRpdXMtcykgMDsKICAgIH0KCiAgICA6aG9zdChbZGlyPSdydGwnXVt0aGVtZX49J2NvbHVtbi1ib3JkZXJzJ10pIFtwYXJ0fj0nY2VsbCddOm5vdChbbGFzdC1jb2x1bW5dKTpub3QoW3BhcnR+PSdkZXRhaWxzLWNlbGwnXSkgewogICAgICBib3JkZXItcmlnaHQ6IG5vbmU7CiAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1fbHVtby1ncmlkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tX2x1bW8tZ3JpZC1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTsKICAgIH0KCiAgICA6aG9zdChbZGlyPSdydGwnXSkgW2xhc3QtZnJvemVuXSB7CiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsKICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLV9sdW1vLWdyaWQtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDsKICAgIH0KCiAgICA6aG9zdChbZGlyPSdydGwnXVtvdmVyZmxvd349J3JpZ2h0J10pIFtwYXJ0fj0nY2VsbCddW2xhc3QtZnJvemVuXTpub3QoW3BhcnR+PSdkZXRhaWxzLWNlbGwnXSkgewogICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tX2x1bW8tZ3JpZC1ib3JkZXItY29sb3IpOwogICAgfQogIGAse21vZHVsZUlkOiJsdW1vLWdyaWQifSksdDF0KCJ2YWFkaW4tY2hlY2tib3giLCRRdGAKICAgIDpob3N0KC52YWFkaW4tZ3JpZC1zZWxlY3QtYWxsLWNoZWNrYm94KSB7CiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbHVtby1mb250LXNpemUtbSk7CiAgICB9CiAgYCx7bW9kdWxlSWQ6InZhYWRpbi1ncmlkLXNlbGVjdC1hbGwtY2hlY2tib3gtbHVtbyJ9KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE2IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgSTF0PW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lQKD86aG9uZXxhZDsoPzogVTspPyBDUFUpIE9TIChcZCspLyksUjF0PUkxdCYmSTF0WzFdPj04LE8xdD1Vcih7YmVoYXZpb3JzOltDbywkb10sX3JhdGlvOi41LF9zY3JvbGxlclBhZGRpbmdUb3A6MCxfc2Nyb2xsUG9zaXRpb246MCxfcGh5c2ljYWxTaXplOjAsX3BoeXNpY2FsQXZlcmFnZTowLF9waHlzaWNhbEF2ZXJhZ2VDb3VudDowLF9waHlzaWNhbFRvcDowLF92aXJ0dWFsQ291bnQ6MCxfZXN0U2Nyb2xsSGVpZ2h0OjAsX3Njcm9sbEhlaWdodDowLF92aWV3cG9ydEhlaWdodDowLF92aWV3cG9ydFdpZHRoOjAsX3BoeXNpY2FsSXRlbXM6bnVsbCxfcGh5c2ljYWxTaXplczpudWxsLF9maXJzdFZpc2libGVJbmRleFZhbDpudWxsLF9sYXN0VmlzaWJsZUluZGV4VmFsOm51bGwsX21heFBhZ2VzOjIsX2ZvY3VzZWRWaXJ0dWFsSW5kZXg6LTEsX3RlbXBsYXRlQ29zdDowLGdldCBfcGh5c2ljYWxCb3R0b20oKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fcGh5c2ljYWxTaXplfSxnZXQgX3Njcm9sbEJvdHRvbSgpe3JldHVybiB0aGlzLl9zY3JvbGxQb3NpdGlvbit0aGlzLl92aWV3cG9ydEhlaWdodH0sZ2V0IF92aXJ0dWFsRW5kKCl7cmV0dXJuIHRoaXMuX3ZpcnR1YWxTdGFydCt0aGlzLl9waHlzaWNhbENvdW50LTF9LGdldCBfaGlkZGVuQ29udGVudFNpemUoKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxTaXplLXRoaXMuX3ZpZXdwb3J0SGVpZ2h0fSxnZXQgX21heFNjcm9sbFRvcCgpe3JldHVybiB0aGlzLl9lc3RTY3JvbGxIZWlnaHQtdGhpcy5fdmlld3BvcnRIZWlnaHQrdGhpcy5fc2Nyb2xsT2Zmc2V0fSxnZXQgX21heFZpcnR1YWxTdGFydCgpe3JldHVybiBNYXRoLm1heCgwLHRoaXMuX3ZpcnR1YWxDb3VudC10aGlzLl9waHlzaWNhbENvdW50KX0sc2V0IF92aXJ0dWFsU3RhcnQodCl7dD10aGlzLl9jbGFtcCh0LDAsdGhpcy5fbWF4VmlydHVhbFN0YXJ0KSx0aGlzLl92aXJ0dWFsU3RhcnRWYWw9dH0sZ2V0IF92aXJ0dWFsU3RhcnQoKXtyZXR1cm4gdGhpcy5fdmlydHVhbFN0YXJ0VmFsfHwwfSxzZXQgX3BoeXNpY2FsU3RhcnQodCl7KHQlPXRoaXMuX3BoeXNpY2FsQ291bnQpPDAmJih0PXRoaXMuX3BoeXNpY2FsQ291bnQrdCksdGhpcy5fcGh5c2ljYWxTdGFydFZhbD10fSxnZXQgX3BoeXNpY2FsU3RhcnQoKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxTdGFydFZhbHx8MH0sZ2V0IF9waHlzaWNhbEVuZCgpe3JldHVybih0aGlzLl9waHlzaWNhbFN0YXJ0K3RoaXMuX3BoeXNpY2FsQ291bnQtMSkldGhpcy5fcGh5c2ljYWxDb3VudH0sc2V0IF9waHlzaWNhbENvdW50KHQpe3RoaXMuX3BoeXNpY2FsQ291bnRWYWw9dH0sZ2V0IF9waHlzaWNhbENvdW50KCl7cmV0dXJuIHRoaXMuX3BoeXNpY2FsQ291bnRWYWx8fDB9LGdldCBfb3B0UGh5c2ljYWxTaXplKCl7cmV0dXJuIDA9PT10aGlzLl92aWV3cG9ydEhlaWdodD8xLzA6dGhpcy5fdmlld3BvcnRIZWlnaHQqdGhpcy5fbWF4UGFnZXN9LGdldCBfaXNWaXNpYmxlKCl7cmV0dXJuIEJvb2xlYW4odGhpcy5vZmZzZXRXaWR0aHx8dGhpcy5vZmZzZXRIZWlnaHQpfSxnZXQgZmlyc3RWaXNpYmxlSW5kZXgoKXtsZXQgdD10aGlzLl9maXJzdFZpc2libGVJbmRleFZhbDtpZihudWxsPT10KXtsZXQgZT10aGlzLl9waHlzaWNhbFRvcCt0aGlzLl9zY3JvbGxPZmZzZXQ7dD10aGlzLl9pdGVyYXRlSXRlbXMoKGZ1bmN0aW9uKHQsbil7aWYoZSs9dGhpcy5fcGh5c2ljYWxTaXplc1t0XSxlPnRoaXMuX3Njcm9sbFBvc2l0aW9uKXJldHVybiBufSkpfHwwLHRoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPXR9cmV0dXJuIHR9LGdldCBsYXN0VmlzaWJsZUluZGV4KCl7bGV0IHQ9dGhpcy5fbGFzdFZpc2libGVJbmRleFZhbDtpZihudWxsPT10KXtsZXQgZT10aGlzLl9waHlzaWNhbFRvcCt0aGlzLl9zY3JvbGxPZmZzZXQ7dGhpcy5faXRlcmF0ZUl0ZW1zKChmdW5jdGlvbihuLGkpe2U8dGhpcy5fc2Nyb2xsQm90dG9tJiYodD1pKSxlKz10aGlzLl9waHlzaWNhbFNpemVzW25dfSkpLHRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9dH1yZXR1cm4gdH0sZ2V0IF9zY3JvbGxPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsZXJQYWRkaW5nVG9wfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2RlYm91bmNlKCJfcmVuZGVyIix0aGlzLl9yZW5kZXIsX3QpLHRoaXMubGlzdGVuKHRoaXMsImlyb24tcmVzaXplIiwiX3Jlc2l6ZUhhbmRsZXIiKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnVubGlzdGVuKHRoaXMsImlyb24tcmVzaXplIiwiX3Jlc2l6ZUhhbmRsZXIiKX0sdXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzOmZ1bmN0aW9uKCl7Y29uc3QgdD13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKTt0aGlzLl9zY3JvbGxlclBhZGRpbmdUb3A9dGhpcy5zY3JvbGxUYXJnZXQ9PT10aGlzPzA6cGFyc2VJbnQodFsicGFkZGluZy10b3AiXSwxMCksdGhpcy5faXNSVEw9Qm9vbGVhbigicnRsIj09PXQuZGlyZWN0aW9uKSx0aGlzLl92aWV3cG9ydFdpZHRoPXRoaXMuJC5pdGVtcy5vZmZzZXRXaWR0aCx0aGlzLl92aWV3cG9ydEhlaWdodD10aGlzLl9zY3JvbGxUYXJnZXRIZWlnaHR9LF9zY3JvbGxIYW5kbGVyOmZ1bmN0aW9uKCl7Y29uc3QgdD1NYXRoLm1heCgwLE1hdGgubWluKHRoaXMuX21heFNjcm9sbFRvcCx0aGlzLl9zY3JvbGxUb3ApKTtsZXQgZT10LXRoaXMuX3Njcm9sbFBvc2l0aW9uO2NvbnN0IG49ZT49MDtpZih0aGlzLl9zY3JvbGxQb3NpdGlvbj10LHRoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPW51bGwsdGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD1udWxsLE1hdGguYWJzKGUpPnRoaXMuX3BoeXNpY2FsU2l6ZSYmdGhpcy5fcGh5c2ljYWxTaXplPjApe2UtPXRoaXMuX3Njcm9sbE9mZnNldDtjb25zdCB0PU1hdGgucm91bmQoZS90aGlzLl9waHlzaWNhbEF2ZXJhZ2UpO3RoaXMuX3ZpcnR1YWxTdGFydD10aGlzLl92aXJ0dWFsU3RhcnQrdCx0aGlzLl9waHlzaWNhbFN0YXJ0PXRoaXMuX3BoeXNpY2FsU3RhcnQrdCx0aGlzLl9waHlzaWNhbFRvcD1NYXRoLmZsb29yKHRoaXMuX3ZpcnR1YWxTdGFydCkqdGhpcy5fcGh5c2ljYWxBdmVyYWdlLHRoaXMuX3VwZGF0ZSgpfWVsc2UgaWYodGhpcy5fcGh5c2ljYWxDb3VudD4wKXtjb25zdHtwaHlzaWNhbFRvcDp0LGluZGV4ZXM6ZX09dGhpcy5fZ2V0UmV1c2FibGVzKG4pO24/KHRoaXMuX3BoeXNpY2FsVG9wPXQsdGhpcy5fdmlydHVhbFN0YXJ0PXRoaXMuX3ZpcnR1YWxTdGFydCtlLmxlbmd0aCx0aGlzLl9waHlzaWNhbFN0YXJ0PXRoaXMuX3BoeXNpY2FsU3RhcnQrZS5sZW5ndGgpOih0aGlzLl92aXJ0dWFsU3RhcnQ9dGhpcy5fdmlydHVhbFN0YXJ0LWUubGVuZ3RoLHRoaXMuX3BoeXNpY2FsU3RhcnQ9dGhpcy5fcGh5c2ljYWxTdGFydC1lLmxlbmd0aCksdGhpcy5fdXBkYXRlKGUsbj9udWxsOmUpLHRoaXMuX2RlYm91bmNlKCJfaW5jcmVhc2VQb29sSWZOZWVkZWQiLHRoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkLmJpbmQodGhpcywwKSx2dCl9fSxfZ2V0UmV1c2FibGVzOmZ1bmN0aW9uKHQpe2xldCBlLG4saTtjb25zdCByPVtdLG89dGhpcy5faGlkZGVuQ29udGVudFNpemUqdGhpcy5fcmF0aW8sYT10aGlzLl92aXJ0dWFsU3RhcnQscz10aGlzLl92aXJ0dWFsRW5kLGw9dGhpcy5fcGh5c2ljYWxDb3VudDtsZXQgYz10aGlzLl9waHlzaWNhbFRvcCt0aGlzLl9zY3JvbGxPZmZzZXQ7Y29uc3QgdT10aGlzLl9zY3JvbGxUb3AsaD10aGlzLl9zY3JvbGxCb3R0b207Zm9yKHQ/KGU9dGhpcy5fcGh5c2ljYWxTdGFydCxuPXUtYyk6KGU9dGhpcy5fcGh5c2ljYWxFbmQsbj10aGlzLl9waHlzaWNhbEJvdHRvbSt0aGlzLl9zY3JvbGxPZmZzZXQtaCk7aT10aGlzLl9waHlzaWNhbFNpemVzW2VdLG4tPWksIShyLmxlbmd0aD49bHx8bjw9byk7KWlmKHQpe2lmKHMrci5sZW5ndGgrMT49dGhpcy5fdmlydHVhbENvdW50KWJyZWFrO2lmKGMraT49dS10aGlzLl9zY3JvbGxPZmZzZXQpYnJlYWs7ci5wdXNoKGUpLGMrPWksZT0oZSsxKSVsfWVsc2V7aWYoYS1yLmxlbmd0aDw9MClicmVhaztpZihjK3RoaXMuX3BoeXNpY2FsU2l6ZS1pPD1oKWJyZWFrO3IucHVzaChlKSxjLT1pLGU9MD09PWU/bC0xOmUtMX1yZXR1cm57aW5kZXhlczpyLHBoeXNpY2FsVG9wOmMtdGhpcy5fc2Nyb2xsT2Zmc2V0fX0sX3VwZGF0ZTpmdW5jdGlvbih0LGUpe2lmKCEodCYmMD09PXQubGVuZ3RofHwwPT09dGhpcy5fcGh5c2ljYWxDb3VudCkpe2lmKHRoaXMuX2Fzc2lnbk1vZGVscyh0KSx0aGlzLl91cGRhdGVNZXRyaWNzKHQpLGUpZm9yKDtlLmxlbmd0aDspe2NvbnN0IHQ9ZS5wb3AoKTt0aGlzLl9waHlzaWNhbFRvcC09dGhpcy5fcGh5c2ljYWxTaXplc1t0XX10aGlzLl9wb3NpdGlvbkl0ZW1zKCksdGhpcy5fdXBkYXRlU2Nyb2xsZXJTaXplKCl9fSxfaXNDbGllbnRGdWxsOmZ1bmN0aW9uKCl7cmV0dXJuIDAhPXRoaXMuX3Njcm9sbEJvdHRvbSYmdGhpcy5fcGh5c2ljYWxCb3R0b20tMT49dGhpcy5fc2Nyb2xsQm90dG9tJiZ0aGlzLl9waHlzaWNhbFRvcDw9dGhpcy5fc2Nyb2xsUG9zaXRpb259LF9pbmNyZWFzZVBvb2xJZk5lZWRlZDpmdW5jdGlvbih0KXtjb25zdCBlPXRoaXMuX2NsYW1wKHRoaXMuX3BoeXNpY2FsQ291bnQrdCwzLHRoaXMuX3ZpcnR1YWxDb3VudC10aGlzLl92aXJ0dWFsU3RhcnQpLXRoaXMuX3BoeXNpY2FsQ291bnQ7bGV0IG49TWF0aC5yb3VuZCguNSp0aGlzLl9waHlzaWNhbENvdW50KTtpZighKGU8MCkpe2lmKGU+MCl7Y29uc3QgdD13aW5kb3cucGVyZm9ybWFuY2Uubm93KCk7W10ucHVzaC5hcHBseSh0aGlzLl9waHlzaWNhbEl0ZW1zLHRoaXMuX2NyZWF0ZVBvb2woZSkpO2ZvcihsZXQgdD0wO3Q8ZTt0KyspdGhpcy5fcGh5c2ljYWxTaXplcy5wdXNoKDApO3RoaXMuX3BoeXNpY2FsQ291bnQ9dGhpcy5fcGh5c2ljYWxDb3VudCtlLHRoaXMuX3BoeXNpY2FsU3RhcnQ+dGhpcy5fcGh5c2ljYWxFbmQmJnRoaXMuX2lzSW5kZXhSZW5kZXJlZCh0aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4KSYmdGhpcy5fZ2V0UGh5c2ljYWxJbmRleCh0aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4KTx0aGlzLl9waHlzaWNhbEVuZCYmKHRoaXMuX3BoeXNpY2FsU3RhcnQ9dGhpcy5fcGh5c2ljYWxTdGFydCtlKSx0aGlzLl91cGRhdGUoKSx0aGlzLl90ZW1wbGF0ZUNvc3Q9KHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS10KS9lLG49TWF0aC5yb3VuZCguNSp0aGlzLl9waHlzaWNhbENvdW50KX10aGlzLl92aXJ0dWFsRW5kPj10aGlzLl92aXJ0dWFsQ291bnQtMXx8MD09PW58fCh0aGlzLl9pc0NsaWVudEZ1bGwoKT90aGlzLl9waHlzaWNhbFNpemU8dGhpcy5fb3B0UGh5c2ljYWxTaXplJiZ0aGlzLl9kZWJvdW5jZSgiX2luY3JlYXNlUG9vbElmTmVlZGVkIix0aGlzLl9pbmNyZWFzZVBvb2xJZk5lZWRlZC5iaW5kKHRoaXMsdGhpcy5fY2xhbXAoTWF0aC5yb3VuZCg1MC90aGlzLl90ZW1wbGF0ZUNvc3QpLDEsbikpLHl0KTp0aGlzLl9kZWJvdW5jZSgiX2luY3JlYXNlUG9vbElmTmVlZGVkIix0aGlzLl9pbmNyZWFzZVBvb2xJZk5lZWRlZC5iaW5kKHRoaXMsbiksdnQpKX19LF9yZW5kZXI6ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXR0YWNoZWQmJnRoaXMuX2lzVmlzaWJsZSlpZigwIT09dGhpcy5fcGh5c2ljYWxDb3VudCl7Y29uc3R7cGh5c2ljYWxUb3A6dCxpbmRleGVzOmV9PXRoaXMuX2dldFJldXNhYmxlcyghMCk7dGhpcy5fcGh5c2ljYWxUb3A9dCx0aGlzLl92aXJ0dWFsU3RhcnQ9dGhpcy5fdmlydHVhbFN0YXJ0K2UubGVuZ3RoLHRoaXMuX3BoeXNpY2FsU3RhcnQ9dGhpcy5fcGh5c2ljYWxTdGFydCtlLmxlbmd0aCx0aGlzLl91cGRhdGUoZSksdGhpcy5fdXBkYXRlKCksdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQoMCl9ZWxzZSB0aGlzLl92aXJ0dWFsQ291bnQ+MCYmKHRoaXMudXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzKCksdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQoMykpfSxfaXRlbXNDaGFuZ2VkOmZ1bmN0aW9uKHQpeyJpdGVtcyI9PT10LnBhdGgmJih0aGlzLl92aXJ0dWFsU3RhcnQ9MCx0aGlzLl9waHlzaWNhbFRvcD0wLHRoaXMuX3ZpcnR1YWxDb3VudD10aGlzLml0ZW1zP3RoaXMuaXRlbXMubGVuZ3RoOjAsdGhpcy5fcGh5c2ljYWxJbmRleEZvcktleT17fSx0aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsLHRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLl9waHlzaWNhbENvdW50PXRoaXMuX3BoeXNpY2FsQ291bnR8fDAsdGhpcy5fcGh5c2ljYWxJdGVtcz10aGlzLl9waHlzaWNhbEl0ZW1zfHxbXSx0aGlzLl9waHlzaWNhbFNpemVzPXRoaXMuX3BoeXNpY2FsU2l6ZXN8fFtdLHRoaXMuX3BoeXNpY2FsU3RhcnQ9MCx0aGlzLl9zY3JvbGxUb3A+dGhpcy5fc2Nyb2xsT2Zmc2V0JiZ0aGlzLl9yZXNldFNjcm9sbFBvc2l0aW9uKDApLHRoaXMuX2RlYm91bmNlKCJfcmVuZGVyIix0aGlzLl9yZW5kZXIsX3QpKX0sX2l0ZXJhdGVJdGVtczpmdW5jdGlvbih0LGUpe2xldCBuLGkscixvO2lmKDI9PT1hcmd1bWVudHMubGVuZ3RoJiZlKXtmb3Iobz0wO288ZS5sZW5ndGg7bysrKWlmKG49ZVtvXSxpPXRoaXMuX2NvbXB1dGVWaWR4KG4pLG51bGwhPShyPXQuY2FsbCh0aGlzLG4saSkpKXJldHVybiByfWVsc2V7Zm9yKG49dGhpcy5fcGh5c2ljYWxTdGFydCxpPXRoaXMuX3ZpcnR1YWxTdGFydDtuPHRoaXMuX3BoeXNpY2FsQ291bnQ7bisrLGkrKylpZihudWxsIT0ocj10LmNhbGwodGhpcyxuLGkpKSlyZXR1cm4gcjtmb3Iobj0wO248dGhpcy5fcGh5c2ljYWxTdGFydDtuKyssaSsrKWlmKG51bGwhPShyPXQuY2FsbCh0aGlzLG4saSkpKXJldHVybiByfX0sX2NvbXB1dGVWaWR4OmZ1bmN0aW9uKHQpe3JldHVybiB0Pj10aGlzLl9waHlzaWNhbFN0YXJ0P3RoaXMuX3ZpcnR1YWxTdGFydCsodC10aGlzLl9waHlzaWNhbFN0YXJ0KTp0aGlzLl92aXJ0dWFsU3RhcnQrKHRoaXMuX3BoeXNpY2FsQ291bnQtdGhpcy5fcGh5c2ljYWxTdGFydCkrdH0sX3VwZGF0ZU1ldHJpY3M6ZnVuY3Rpb24odCl7aWYoIXRoaXMuX2lzVmlzaWJsZSlyZXR1cm47V2koKTtsZXQgZT0wLG49MDtjb25zdCBpPXRoaXMuX3BoeXNpY2FsQXZlcmFnZUNvdW50LHI9dGhpcy5fcGh5c2ljYWxBdmVyYWdlO3RoaXMuX2l0ZXJhdGVJdGVtcygoZnVuY3Rpb24odCl7bis9dGhpcy5fcGh5c2ljYWxTaXplc1t0XSx0aGlzLl9waHlzaWNhbFNpemVzW3RdPXRoaXMuX3BoeXNpY2FsSXRlbXNbdF0ub2Zmc2V0SGVpZ2h0LGUrPXRoaXMuX3BoeXNpY2FsU2l6ZXNbdF0sdGhpcy5fcGh5c2ljYWxBdmVyYWdlQ291bnQrPXRoaXMuX3BoeXNpY2FsU2l6ZXNbdF0/MTowfSksdCksdGhpcy5fcGh5c2ljYWxTaXplPXRoaXMuX3BoeXNpY2FsU2l6ZStlLW4sdGhpcy5fcGh5c2ljYWxBdmVyYWdlQ291bnQhPT1pJiYodGhpcy5fcGh5c2ljYWxBdmVyYWdlPU1hdGgucm91bmQoKHIqaStlKS90aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudCkpfSxfcG9zaXRpb25JdGVtczpmdW5jdGlvbigpe3RoaXMuX2FkanVzdFNjcm9sbFBvc2l0aW9uKCk7bGV0IHQ9dGhpcy5fcGh5c2ljYWxUb3A7dGhpcy5faXRlcmF0ZUl0ZW1zKChmdW5jdGlvbihlKXt0aGlzLnRyYW5zbGF0ZTNkKDAsdCsicHgiLDAsdGhpcy5fcGh5c2ljYWxJdGVtc1tlXSksdCs9dGhpcy5fcGh5c2ljYWxTaXplc1tlXX0pKX0sX2FkanVzdFNjcm9sbFBvc2l0aW9uOmZ1bmN0aW9uKCl7Y29uc3QgdD0wPT09dGhpcy5fdmlydHVhbFN0YXJ0P3RoaXMuX3BoeXNpY2FsVG9wOk1hdGgubWluKHRoaXMuX3Njcm9sbFBvc2l0aW9uK3RoaXMuX3BoeXNpY2FsVG9wLDApO2lmKDAhPT10KXt0aGlzLl9waHlzaWNhbFRvcD10aGlzLl9waHlzaWNhbFRvcC10O2NvbnN0IGU9dGhpcy5fc2Nyb2xsVG9wOyFSMXQmJmU+MCYmdGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbihlLXQpfX0sX3Jlc2V0U2Nyb2xsUG9zaXRpb246ZnVuY3Rpb24odCl7dGhpcy5zY3JvbGxUYXJnZXQmJnQ+PTAmJih0aGlzLl9zY3JvbGxUb3A9dCx0aGlzLl9zY3JvbGxQb3NpdGlvbj10aGlzLl9zY3JvbGxUb3ApfSxfdXBkYXRlU2Nyb2xsZXJTaXplOmZ1bmN0aW9uKHQpe3RoaXMuX2VzdFNjcm9sbEhlaWdodD10aGlzLl9waHlzaWNhbEJvdHRvbStNYXRoLm1heCh0aGlzLl92aXJ0dWFsQ291bnQtdGhpcy5fcGh5c2ljYWxDb3VudC10aGlzLl92aXJ0dWFsU3RhcnQsMCkqdGhpcy5fcGh5c2ljYWxBdmVyYWdlLCgodD0odD10fHwwPT09dGhpcy5fc2Nyb2xsSGVpZ2h0KXx8dGhpcy5fc2Nyb2xsUG9zaXRpb24+PXRoaXMuX2VzdFNjcm9sbEhlaWdodC10aGlzLl9waHlzaWNhbFNpemUpfHxNYXRoLmFicyh0aGlzLl9lc3RTY3JvbGxIZWlnaHQtdGhpcy5fc2Nyb2xsSGVpZ2h0KT49dGhpcy5fdmlld3BvcnRIZWlnaHQpJiYodGhpcy4kLml0ZW1zLnN0eWxlLmhlaWdodD10aGlzLl9lc3RTY3JvbGxIZWlnaHQrInB4Iix0aGlzLl9zY3JvbGxIZWlnaHQ9dGhpcy5fZXN0U2Nyb2xsSGVpZ2h0KX0sc2Nyb2xsVG9JbmRleDpmdW5jdGlvbih0KXtpZigibnVtYmVyIiE9dHlwZW9mIHR8fHQ8MHx8dD50aGlzLml0ZW1zLmxlbmd0aC0xKXJldHVybjtpZihXaSgpLDA9PT10aGlzLl9waHlzaWNhbENvdW50KXJldHVybjt0PXRoaXMuX2NsYW1wKHQsMCx0aGlzLl92aXJ0dWFsQ291bnQtMSksKCF0aGlzLl9pc0luZGV4UmVuZGVyZWQodCl8fHQ+PXRoaXMuX21heFZpcnR1YWxTdGFydCkmJih0aGlzLl92aXJ0dWFsU3RhcnQ9dC0xKSx0aGlzLl9hc3NpZ25Nb2RlbHMoKSx0aGlzLl91cGRhdGVNZXRyaWNzKCksdGhpcy5fcGh5c2ljYWxUb3A9TWF0aC5mbG9vcih0aGlzLl92aXJ0dWFsU3RhcnQpKnRoaXMuX3BoeXNpY2FsQXZlcmFnZTtsZXQgZT10aGlzLl9waHlzaWNhbFN0YXJ0LG49dGhpcy5fdmlydHVhbFN0YXJ0LGk9MDtjb25zdCByPXRoaXMuX2hpZGRlbkNvbnRlbnRTaXplO2Zvcig7bjx0JiZpPD1yOylpKz10aGlzLl9waHlzaWNhbFNpemVzW2VdLGU9KGUrMSkldGhpcy5fcGh5c2ljYWxDb3VudCxuKys7dGhpcy5fdXBkYXRlU2Nyb2xsZXJTaXplKCEwKSx0aGlzLl9wb3NpdGlvbkl0ZW1zKCksdGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbih0aGlzLl9waHlzaWNhbFRvcCt0aGlzLl9zY3JvbGxPZmZzZXQraSksdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQoMCksdGhpcy5fZmlyc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPW51bGx9LF9yZXNldEF2ZXJhZ2U6ZnVuY3Rpb24oKXt0aGlzLl9waHlzaWNhbEF2ZXJhZ2U9MCx0aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudD0wfSxfcmVzaXplSGFuZGxlcjpmdW5jdGlvbigpe3RoaXMuX2RlYm91bmNlKCJfcmVuZGVyIiwoZnVuY3Rpb24oKXt0aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsLHRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLnVwZGF0ZVZpZXdwb3J0Qm91bmRhcmllcygpLHRoaXMuX2lzVmlzaWJsZT8odGhpcy50b2dnbGVTY3JvbGxMaXN0ZW5lcighMCksdGhpcy5fcmVzZXRBdmVyYWdlKCksdGhpcy5fcmVuZGVyKCkpOnRoaXMudG9nZ2xlU2Nyb2xsTGlzdGVuZXIoITEpfSksX3QpfSxfaXNJbmRleFJlbmRlcmVkOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj10aGlzLl92aXJ0dWFsU3RhcnQmJnQ8PXRoaXMuX3ZpcnR1YWxFbmR9LF9nZXRQaHlzaWNhbEluZGV4OmZ1bmN0aW9uKHQpe3JldHVybih0aGlzLl9waHlzaWNhbFN0YXJ0Kyh0LXRoaXMuX3ZpcnR1YWxTdGFydCkpJXRoaXMuX3BoeXNpY2FsQ291bnR9LF9jbGFtcDpmdW5jdGlvbih0LGUsbil7cmV0dXJuIE1hdGgubWluKG4sTWF0aC5tYXgoZSx0KSl9LF9kZWJvdW5jZTpmdW5jdGlvbih0LGUsbil7dGhpcy5fZGVib3VuY2Vycz10aGlzLl9kZWJvdW5jZXJzfHx7fSx0aGlzLl9kZWJvdW5jZXJzW3RdPU5uLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlcnNbdF0sbixlLmJpbmQodGhpcykpLFJuKHRoaXMuX2RlYm91bmNlcnNbdF0pfX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLwpjbGFzcyB6MXQgZXh0ZW5kcyBPMXR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue3NpemU6e3R5cGU6TnVtYmVyLG5vdGlmeTohMH0sX3ZpZHhPZmZzZXQ6e3R5cGU6TnVtYmVyLHZhbHVlOjB9fX1zdGF0aWMgZ2V0IG9ic2VydmVycygpe3JldHVyblsiX2VmZmVjdGl2ZVNpemVDaGFuZ2VkKF9lZmZlY3RpdmVTaXplKSJdfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl9zY3JvbGxIYW5kbGVyKCl9X3VwZGF0ZVNjcm9sbGVySXRlbSgpe31fYWZ0ZXJTY3JvbGwoKXt9X2dldFJvd1RhcmdldCgpe31fY3JlYXRlU2Nyb2xsZXJSb3dzKCl7fV9jYW5Qb3B1bGF0ZSgpe31zY3JvbGxUb0luZGV4KHQpe3RoaXMuX3dhcm5Qcml2YXRlQVBJQWNjZXNzKCJzY3JvbGxUb0luZGV4IiksdGhpcy5fc2Nyb2xsaW5nVG9JbmRleD0hMCx0PU1hdGgubWluKE1hdGgubWF4KHQsMCksdGhpcy5fZWZmZWN0aXZlU2l6ZS0xKSx0aGlzLiQudGFibGUuc2Nyb2xsVG9wPXQvdGhpcy5fZWZmZWN0aXZlU2l6ZSoodGhpcy4kLnRhYmxlLnNjcm9sbEhlaWdodC10aGlzLiQudGFibGUub2Zmc2V0SGVpZ2h0KSx0aGlzLl9zY3JvbGxIYW5kbGVyKCksdGhpcy5fYWNjZXNzSXJvbkxpc3RBUEkoKCgpPT50aGlzLl9tYXhTY3JvbGxUb3ApKSYmdGhpcy5fdmlydHVhbENvdW50PHRoaXMuX2VmZmVjdGl2ZVNpemUmJnRoaXMuX2FkanVzdFZpcnR1YWxJbmRleE9mZnNldCgxZTYpLHRoaXMuX2FjY2Vzc0lyb25MaXN0QVBJKCgoKT0+c3VwZXIuc2Nyb2xsVG9JbmRleCh0LXRoaXMuX3ZpZHhPZmZzZXQpKSksdGhpcy5fc2Nyb2xsSGFuZGxlcigpO2NvbnN0IGU9QXJyYXkuZnJvbSh0aGlzLiQuaXRlbXMuY2hpbGRyZW4pLmZpbHRlcigoZT0+ZS5pbmRleD09PXQpKVswXTtpZihlKXtjb25zdCB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLXRoaXMuJC5oZWFkZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tO01hdGguYWJzKHQpPjEmJih0aGlzLiQudGFibGUuc2Nyb2xsVG9wKz10LHRoaXMuX3Njcm9sbEhhbmRsZXIoKSl9dGhpcy5fc2Nyb2xsaW5nVG9JbmRleD0hMX1fZWZmZWN0aXZlU2l6ZUNoYW5nZWQodCl7bGV0IGUsbj0wO2lmKHRoaXMuX2l0ZXJhdGVJdGVtcygoKHQsaSk9PntpZihpPT09dGhpcy5fZmlyc3RWaXNpYmxlSW5kZXgpe2NvbnN0IGk9dGhpcy5fcGh5c2ljYWxJdGVtc1t0XTtlPWkuaW5kZXgsbj1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcH19KSksdGhpcy5pdGVtcyYmdDx0aGlzLml0ZW1zLmxlbmd0aCYmKHRoaXMuX3Njcm9sbFRvcD0wKSwhQXJyYXkuaXNBcnJheSh0aGlzLml0ZW1zKSl7dGhpcy5pdGVtcz17bGVuZ3RoOk1hdGgubWluKHQsMWU1KX19dGhpcy5fYWNjZXNzSXJvbkxpc3RBUEkoKCgpPT5zdXBlci5faXRlbXNDaGFuZ2VkKHtwYXRoOiJpdGVtcyJ9KSkpLHRoaXMuX3ZpcnR1YWxDb3VudD1NYXRoLm1pbih0aGlzLml0ZW1zLmxlbmd0aCx0KXx8MCwwPT09dGhpcy5fc2Nyb2xsVG9wJiYodGhpcy5fYWNjZXNzSXJvbkxpc3RBUEkoKCgpPT50aGlzLl9zY3JvbGxUb0luZGV4KE1hdGgubWluKHQtMSxlKSkpKSx0aGlzLl9pdGVyYXRlSXRlbXMoKHQ9Pntjb25zdCBpPXRoaXMuX3BoeXNpY2FsSXRlbXNbdF07aWYoaS5pbmRleD09PWUmJih0aGlzLiQudGFibGUuc2Nyb2xsVG9wKz1NYXRoLnJvdW5kKGkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLW4pKSxpLmluZGV4PT09dGhpcy5fZm9jdXNlZEl0ZW1JbmRleCYmdGhpcy5faXRlbXNGb2N1c2FibGUmJnRoaXMuJC5pdGVtcy5jb250YWlucyh0aGlzLnNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudCkpe2NvbnN0IHQ9QXJyYXkuZnJvbSh0aGlzLl9pdGVtc0ZvY3VzYWJsZS5wYXJlbnRFbGVtZW50LmNoaWxkcmVuKS5pbmRleE9mKHRoaXMuX2l0ZW1zRm9jdXNhYmxlKTtpLmNoaWxkcmVuW3RdLmZvY3VzKCl9fSkpKSx0aGlzLl9hc3NpZ25Nb2RlbHMoKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLl91cGRhdGUoKSkpLHRoaXMuX191cGRhdGVGb290ZXJQb3NpdGlvbmluZygpfV9wb3NpdGlvbkl0ZW1zKCl7bGV0IHQ7dGhpcy5fYWRqdXN0U2Nyb2xsUG9zaXRpb24oKSxpc05hTih0aGlzLl9waHlzaWNhbFRvcCkmJih0PSEwLHRoaXMuX3BoeXNpY2FsVG9wPTApO2xldCBlPXRoaXMuX3BoeXNpY2FsVG9wO3RoaXMuX2l0ZXJhdGVJdGVtcygodD0+e3RoaXMuX3BoeXNpY2FsSXRlbXNbdF0uc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGVZKCR7ZX1weClgLGUrPXRoaXMuX3BoeXNpY2FsU2l6ZXNbdF19KSksdCYmdGhpcy5fc2Nyb2xsVG9JbmRleCgwKX1faW5jcmVhc2VQb29sSWZOZWVkZWQodCl7MD09PXQmJnRoaXMuX3Njcm9sbGluZ1RvSW5kZXh8fCF0aGlzLl9jYW5Qb3B1bGF0ZSgpfHwhdGhpcy5fZWZmZWN0aXZlU2l6ZXx8KHRoaXMuX2luaXRpYWxQb29sQ3JlYXRlZD90aGlzLl9vcHRQaHlzaWNhbFNpemUhPT0xLzAmJih0aGlzLl9kZWJvdW5jZUluY3JlYXNlUG9vbD1Obi5kZWJvdW5jZSh0aGlzLl9kZWJvdW5jZUluY3JlYXNlUG9vbCxfdCwoKCk9Pnt0aGlzLl91cGRhdGVNZXRyaWNzKCk7bGV0IHQ9TWF0aC5jZWlsKCh0aGlzLl9vcHRQaHlzaWNhbFNpemUtdGhpcy5fcGh5c2ljYWxTaXplKS90aGlzLl9waHlzaWNhbEF2ZXJhZ2UpO3RoaXMuX3BoeXNpY2FsQ291bnQrdD50aGlzLl9lZmZlY3RpdmVTaXplJiYodD1NYXRoLm1heCgwLHRoaXMuX2VmZmVjdGl2ZVNpemUtdGhpcy5fcGh5c2ljYWxDb3VudCkpLHRoaXMuX3BoeXNpY2FsU2l6ZSYmdD4wJiZ0aGlzLl9vcHRQaHlzaWNhbFNpemUhPT0xLzAmJihzdXBlci5faW5jcmVhc2VQb29sSWZOZWVkZWQodCksdGhpcy5fX3Jlb3JkZXJDaGlsZE5vZGVzKCkpfSkpKToodGhpcy5faW5pdGlhbFBvb2xDcmVhdGVkPSEwLHN1cGVyLl9pbmNyZWFzZVBvb2xJZk5lZWRlZCgyNSkpKX1fX3Jlb3JkZXJDaGlsZE5vZGVzKCl7Y29uc3QgdD1BcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZE5vZGVzKTshIXQucmVkdWNlKCgodCxlLG4saSk9PntpZigwPT09bnx8aVtuLTFdLmluZGV4PT09ZS5pbmRleC0xKXJldHVybiB0fSksITApfHx0LnNvcnQoKCh0LGUpPT50LmluZGV4LWUuaW5kZXgpKS5mb3JFYWNoKCh0PT50aGlzLiQuaXRlbXMuYXBwZW5kQ2hpbGQodCkpKX1fY3JlYXRlUG9vbCh0KXtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxuPXRoaXMuX2NyZWF0ZVNjcm9sbGVyUm93cyh0KTtuLmZvckVhY2goKHQ9PmUuYXBwZW5kQ2hpbGQodCkpKSx0aGlzLl9nZXRSb3dUYXJnZXQoKS5hcHBlbmRDaGlsZChlKTtjb25zdCBpPXRoaXMucXVlcnlTZWxlY3RvcigiW3Nsb3RdIik7aWYoaSl7Y29uc3QgdD1pLmdldEF0dHJpYnV0ZSgic2xvdCIpO2kuc2V0QXR0cmlidXRlKCJzbG90IiwiZm9vLWJhciIpLGkuc2V0QXR0cmlidXRlKCJzbG90Iix0KX1yZXR1cm4gRGkodGhpcywoKCk9PnRoaXMubm90aWZ5UmVzaXplKCkpKSxufV9hc3NpZ25Nb2RlbHModCl7dGhpcy5faXRlcmF0ZUl0ZW1zKCgodCxlKT0+e2NvbnN0IG49dGhpcy5fcGh5c2ljYWxJdGVtc1t0XTt0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImhpZGRlbiIsZT49dGhpcy5fZWZmZWN0aXZlU2l6ZSxuKSx0aGlzLl91cGRhdGVTY3JvbGxlckl0ZW0obixlKyh0aGlzLl92aWR4T2Zmc2V0fHwwKSl9KSx0KX1fc2Nyb2xsSGFuZGxlcigpe2NvbnN0IHQ9dGhpcy4kLnRhYmxlLnNjcm9sbFRvcC10aGlzLl9zY3JvbGxQb3NpdGlvbjt0aGlzLl9hY2Nlc3NJcm9uTGlzdEFQSShzdXBlci5fc2Nyb2xsSGFuZGxlcik7Y29uc3QgZT10aGlzLl92aWR4T2Zmc2V0O3RoaXMuX2FjY2Vzc0lyb25MaXN0QVBJKCgoKT0+dGhpcy5fbWF4U2Nyb2xsVG9wKSkmJnRoaXMuX3ZpcnR1YWxDb3VudDx0aGlzLl9lZmZlY3RpdmVTaXplP3RoaXMuX2FkanVzdFZpcnR1YWxJbmRleE9mZnNldCh0KTp0aGlzLl92aWR4T2Zmc2V0PTAsdGhpcy5fdmlkeE9mZnNldCE9PWUmJnRoaXMuX3VwZGF0ZSgpLHRoaXMuX2FmdGVyU2Nyb2xsKCl9X2FkanVzdFZpcnR1YWxJbmRleE9mZnNldCh0KXtpZihNYXRoLmFicyh0KT4xZTQpe2lmKHRoaXMuX25vU2NhbGUpcmV0dXJuIHZvaWQodGhpcy5fbm9TY2FsZT0hMSk7Y29uc3QgdD10aGlzLiQudGFibGUuc2Nyb2xsVG9wLyh0aGlzLiQudGFibGUuc2Nyb2xsSGVpZ2h0LXRoaXMuJC50YWJsZS5vZmZzZXRIZWlnaHQpO3RoaXMuX3ZpZHhPZmZzZXQ9TWF0aC5yb3VuZCh0KnRoaXMuX2VmZmVjdGl2ZVNpemUtdCp0aGlzLl92aXJ0dWFsQ291bnQpfWVsc2V7Y29uc3QgdD10aGlzLl92aWR4T2Zmc2V0fHwwLGU9MWUzLG49MTAwOzA9PT10aGlzLl9zY3JvbGxUb3A/KHRoaXMuX3ZpZHhPZmZzZXQ9MCx0IT09dGhpcy5fdmlkeE9mZnNldCYmc3VwZXIuc2Nyb2xsVG9JbmRleCgwKSk6dGhpcy5maXJzdFZpc2libGVJbmRleDxlJiZ0aGlzLl92aWR4T2Zmc2V0PjAmJih0aGlzLl92aWR4T2Zmc2V0LT1NYXRoLm1pbih0aGlzLl92aWR4T2Zmc2V0LG4pLHQhPT10aGlzLl92aWR4T2Zmc2V0JiZzdXBlci5zY3JvbGxUb0luZGV4KHRoaXMuZmlyc3RWaXNpYmxlSW5kZXgrKHQtdGhpcy5fdmlkeE9mZnNldCkpLHRoaXMuX25vU2NhbGU9ITApO2NvbnN0IGk9dGhpcy5fZWZmZWN0aXZlU2l6ZS10aGlzLl92aXJ0dWFsQ291bnQ7dGhpcy5fc2Nyb2xsVG9wPj10aGlzLl9tYXhTY3JvbGxUb3AmJnRoaXMuX21heFNjcm9sbFRvcD4wPyh0aGlzLl92aWR4T2Zmc2V0PWksdCE9PXRoaXMuX3ZpZHhPZmZzZXQmJnN1cGVyLnNjcm9sbFRvSW5kZXgodGhpcy5fdmlydHVhbENvdW50KSk6dGhpcy5maXJzdFZpc2libGVJbmRleD50aGlzLl92aXJ0dWFsQ291bnQtZSYmdGhpcy5fdmlkeE9mZnNldDxpJiYodGhpcy5fdmlkeE9mZnNldCs9TWF0aC5taW4oaS10aGlzLl92aWR4T2Zmc2V0LG4pLHQhPT10aGlzLl92aWR4T2Zmc2V0JiZzdXBlci5zY3JvbGxUb0luZGV4KHRoaXMuZmlyc3RWaXNpYmxlSW5kZXgtKHRoaXMuX3ZpZHhPZmZzZXQtdCkpLHRoaXMuX25vU2NhbGU9ITApfX1fYWNjZXNzSXJvbkxpc3RBUEkodCl7dGhpcy5fd2FyblByaXZhdGVBUElBY2Nlc3NBc3luY0VuYWJsZWQ9ITE7Y29uc3QgZT10LmFwcGx5KHRoaXMpO3JldHVybiB0aGlzLl9kZWJvdW5jZXJXYXJuUHJpdmF0ZUFQSUFjY2Vzcz1Obi5kZWJvdW5jZSh0aGlzLl9kZWJvdW5jZXJXYXJuUHJpdmF0ZUFQSUFjY2VzcyxfdCwoKCk9PnRoaXMuX3dhcm5Qcml2YXRlQVBJQWNjZXNzQXN5bmNFbmFibGVkPSEwKSksZX1fZGVib3VuY2VSZW5kZXIodCxlKXtzdXBlci5fZGVib3VuY2VSZW5kZXIoKCgpPT50aGlzLl9hY2Nlc3NJcm9uTGlzdEFQSSh0KSksZSl9X3dhcm5Qcml2YXRlQVBJQWNjZXNzKHQpe3RoaXMuX3dhcm5Qcml2YXRlQVBJQWNjZXNzQXN5bmNFbmFibGVkJiZjb25zb2xlLndhcm4oYEFjY2Vzc2luZyBwcml2YXRlIEFQSSAoJHt0fSkhYCl9X3JlbmRlcigpe3RoaXMuX2FjY2Vzc0lyb25MaXN0QVBJKHN1cGVyLl9yZW5kZXIpfV9pdGVtc0NoYW5nZWQoKXt9Z2V0IF9maXJzdFZpc2libGVJbmRleCgpe3JldHVybiB0aGlzLl9hY2Nlc3NJcm9uTGlzdEFQSSgoKCk9PnN1cGVyLmZpcnN0VmlzaWJsZUluZGV4KSl9Z2V0IF9sYXN0VmlzaWJsZUluZGV4KCl7cmV0dXJuIHRoaXMuX2FjY2Vzc0lyb25MaXN0QVBJKCgoKT0+c3VwZXIubGFzdFZpc2libGVJbmRleCkpfV9zY3JvbGxUb0luZGV4KHQpe3RoaXMuX2FjY2Vzc0lyb25MaXN0QVBJKCgoKT0+dGhpcy5zY3JvbGxUb0luZGV4KHQpKSl9Z2V0IGZpcnN0VmlzaWJsZUluZGV4KCl7cmV0dXJuIHRoaXMuX3dhcm5Qcml2YXRlQVBJQWNjZXNzKCJmaXJzdFZpc2libGVJbmRleCIpLHN1cGVyLmZpcnN0VmlzaWJsZUluZGV4fXNldCBmaXJzdFZpc2libGVJbmRleCh0KXt0aGlzLl93YXJuUHJpdmF0ZUFQSUFjY2VzcygiZmlyc3RWaXNpYmxlSW5kZXgiKSxzdXBlci5maXJzdFZpc2libGVJbmRleD10fWdldCBsYXN0VmlzaWJsZUluZGV4KCl7cmV0dXJuIHRoaXMuX3dhcm5Qcml2YXRlQVBJQWNjZXNzKCJsYXN0VmlzaWJsZUluZGV4Iiksc3VwZXIubGFzdFZpc2libGVJbmRleH1zZXQgbGFzdFZpc2libGVJbmRleCh0KXt0aGlzLl93YXJuUHJpdmF0ZUFQSUFjY2VzcygibGFzdFZpc2libGVJbmRleCIpLHN1cGVyLmxhc3RWaXNpYmxlSW5kZXg9dH11cGRhdGVWaWV3cG9ydEJvdW5kYXJpZXMoKXt0aGlzLl93YXJuUHJpdmF0ZUFQSUFjY2VzcygidXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzIiksc3VwZXIudXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1fcmVzaXplSGFuZGxlcigpe3N1cGVyLl9yZXNpemVIYW5kbGVyKCksV2koKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovY29uc3QgRDF0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IG9ic2VydmVycygpe3JldHVyblsiX2ExMXlVcGRhdGVHcmlkU2l6ZShzaXplLCBfY29sdW1uVHJlZSwgX2NvbHVtblRyZWUuKikiXX1fYTExeUdldEhlYWRlclJvd0NvdW50KHQpe3JldHVybiB0LmZpbHRlcigodD0+dC5zb21lKCh0PT50Ll9oZWFkZXJUZW1wbGF0ZXx8dC5oZWFkZXJSZW5kZXJlcnx8dC5wYXRofHx0LmhlYWRlcikpKSkubGVuZ3RofV9hMTF5R2V0Rm9vdGVyUm93Q291bnQodCl7cmV0dXJuIHQuZmlsdGVyKCh0PT50LnNvbWUoKHQ9PnQuX2hlYWRlclRlbXBsYXRlfHx0LmhlYWRlclJlbmRlcmVyKSkpKS5sZW5ndGh9X2ExMXlVcGRhdGVHcmlkU2l6ZSh0LGUpe2lmKHZvaWQgMD09PXR8fHZvaWQgMD09PWUpcmV0dXJuO2NvbnN0IG49ZVtlLmxlbmd0aC0xXTt0aGlzLiQudGFibGUuc2V0QXR0cmlidXRlKCJhcmlhLXJvd2NvdW50Iix0K3RoaXMuX2ExMXlHZXRIZWFkZXJSb3dDb3VudChlKSt0aGlzLl9hMTF5R2V0Rm9vdGVyUm93Q291bnQoZSkpLHRoaXMuJC50YWJsZS5zZXRBdHRyaWJ1dGUoImFyaWEtY29sY291bnQiLG4mJm4ubGVuZ3RofHwwKSx0aGlzLl9hMTF5VXBkYXRlSGVhZGVyUm93cygpLHRoaXMuX2ExMXlVcGRhdGVGb290ZXJSb3dzKCl9X2ExMXlVcGRhdGVIZWFkZXJSb3dzKCl7QXJyYXkuZnJvbSh0aGlzLiQuaGVhZGVyLmNoaWxkcmVuKS5mb3JFYWNoKCgodCxlKT0+dC5zZXRBdHRyaWJ1dGUoImFyaWEtcm93aW5kZXgiLGUrMSkpKX1fYTExeVVwZGF0ZUZvb3RlclJvd3MoKXtBcnJheS5mcm9tKHRoaXMuJC5mb290ZXIuY2hpbGRyZW4pLmZvckVhY2goKCh0LGUpPT50LnNldEF0dHJpYnV0ZSgiYXJpYS1yb3dpbmRleCIsdGhpcy5fYTExeUdldEhlYWRlclJvd0NvdW50KHRoaXMuX2NvbHVtblRyZWUpK3RoaXMuc2l6ZStlKzEpKSl9X2ExMXlVcGRhdGVSb3dSb3dpbmRleCh0LGUpe3Quc2V0QXR0cmlidXRlKCJhcmlhLXJvd2luZGV4IixlK3RoaXMuX2ExMXlHZXRIZWFkZXJSb3dDb3VudCh0aGlzLl9jb2x1bW5UcmVlKSsxKX1fYTExeVVwZGF0ZVJvd1NlbGVjdGVkKHQsZSl7dC5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLEJvb2xlYW4oZSkpLEFycmF5LmZyb20odC5jaGlsZHJlbikuZm9yRWFjaCgodD0+dC5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLEJvb2xlYW4oZSkpKSl9X2ExMXlVcGRhdGVSb3dMZXZlbCh0LGUpe3Quc2V0QXR0cmlidXRlKCJhcmlhLWxldmVsIixlKzEpfV9hMTF5VXBkYXRlUm93RGV0YWlsc09wZW5lZCh0LGUpe0FycmF5LmZyb20odC5jaGlsZHJlbikuZm9yRWFjaCgodD0+eyJib29sZWFuIj09dHlwZW9mIGU/dC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLGUpOnQuaGFzQXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIikmJnQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIil9KSl9X2ExMXlTZXRSb3dEZXRhaWxzQ2VsbCh0LGUpe0FycmF5LmZyb20odC5jaGlsZHJlbikuZm9yRWFjaCgodD0+e3QhPT1lJiZ0LnNldEF0dHJpYnV0ZSgiYXJpYS1jb250cm9scyIsZS5pZCl9KSl9X2ExMXlVcGRhdGVDZWxsQ29sc3Bhbih0LGUpe3Quc2V0QXR0cmlidXRlKCJhcmlhLWNvbHNwYW4iLE51bWJlcihlKSl9X2ExMXlVcGRhdGVTb3J0ZXJzKCl7QXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoInZhYWRpbi1ncmlkLXNvcnRlciIpKS5mb3JFYWNoKCh0PT57bGV0IGU9dC5wYXJlbnROb2RlO2Zvcig7ZSYmInZhYWRpbi1ncmlkLWNlbGwtY29udGVudCIhPT1lLmxvY2FsTmFtZTspZT1lLnBhcmVudE5vZGU7aWYoZSYmZS5hc3NpZ25lZFNsb3Qpe2UuYXNzaWduZWRTbG90LnBhcmVudE5vZGUuc2V0QXR0cmlidXRlKCJhcmlhLXNvcnQiLHthc2M6ImFzY2VuZGluZyIsZGVzYzoiZGVzY2VuZGluZyJ9W1N0cmluZyh0LmRpcmVjdGlvbildfHwibm9uZSIpfX0pKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLEIxdD10PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue2FjdGl2ZUl0ZW06e3R5cGU6T2JqZWN0LG5vdGlmeTohMCx2YWx1ZTpudWxsfX19cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMuJC5zY3JvbGxlci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5fb25DbGljay5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImNlbGwtYWN0aXZhdGUiLHRoaXMuX2FjdGl2YXRlSXRlbS5iaW5kKHRoaXMpKX1fYWN0aXZhdGVJdGVtKHQpe2NvbnN0IGU9dC5kZXRhaWwubW9kZWwsbj1lP2UuaXRlbTpudWxsO24mJih0aGlzLmFjdGl2ZUl0ZW09dGhpcy5faXRlbXNFcXVhbCh0aGlzLmFjdGl2ZUl0ZW0sbik/bnVsbDpuKX1fb25DbGljayh0KXtpZih0LmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2NvbnN0IGU9dC5jb21wb3NlZFBhdGgoKSxuPWVbZS5pbmRleE9mKHRoaXMuJC50YWJsZSktM107aWYoIW58fG4uZ2V0QXR0cmlidXRlKCJwYXJ0IikuaW5kZXhPZigiZGV0YWlscy1jZWxsIik+LTEpcmV0dXJuO2NvbnN0IGk9bi5fY29udGVudCxyPXRoaXMuZ2V0Um9vdE5vZGUoKS5hY3RpdmVFbGVtZW50O2kuY29udGFpbnMocil8fHRoaXMuX2lzRm9jdXNhYmxlKHQudGFyZ2V0KXx8dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2VsbC1hY3RpdmF0ZSIse2RldGFpbDp7bW9kZWw6dGhpcy5fX2dldFJvd01vZGVsKG4ucGFyZW50RWxlbWVudCl9fSkpfV9pc0ZvY3VzYWJsZSh0KXtyZXR1cm4gSDF0KHQpfX0sSDF0PXQ9PntpZighdC5wYXJlbnROb2RlKXJldHVybiExO2NvbnN0IGU9LTEhPT1BcnJheS5mcm9tKHQucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yQWxsKCJbdGFiaW5kZXhdLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBvYmplY3QsIGlmcmFtZSwgbGFiZWwsIGFbaHJlZl0sIGFyZWFbaHJlZl0iKSkuZmlsdGVyKCh0PT4iY2VsbCBib2R5LWNlbGwiIT09dC5nZXRBdHRyaWJ1dGUoInBhcnQiKSkpLmluZGV4T2YodCk7cmV0dXJuIXQuZGlzYWJsZWQmJmV9LEYxdD10PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue2l0ZW1zOkFycmF5fX1zdGF0aWMgZ2V0IG9ic2VydmVycygpe3JldHVyblsiX2l0ZW1zQ2hhbmdlZChpdGVtcywgaXRlbXMuKiwgaXNBdHRhY2hlZCkiXX1faXRlbXNDaGFuZ2VkKHQsZSxuKXtpZihuKXtpZighQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gbnVsbD09dCYmKHRoaXMuc2l6ZT0wKSx2b2lkKHRoaXMuZGF0YVByb3ZpZGVyPT09dGhpcy5fYXJyYXlEYXRhUHJvdmlkZXImJih0aGlzLmRhdGFQcm92aWRlcj12b2lkIDApKTt0aGlzLnNpemU9dC5sZW5ndGgsdGhpcy5kYXRhUHJvdmlkZXI9dGhpcy5kYXRhUHJvdmlkZXJ8fHRoaXMuX2FycmF5RGF0YVByb3ZpZGVyLHRoaXMuY2xlYXJDYWNoZSgpLHRoaXMuX2Vuc3VyZUZpcnN0UGFnZUxvYWRlZCgpfX1fYXJyYXlEYXRhUHJvdmlkZXIodCxlKXtsZXQgbj0oQXJyYXkuaXNBcnJheSh0aGlzLml0ZW1zKT90aGlzLml0ZW1zOltdKS5zbGljZSgwKTt0aGlzLl9maWx0ZXJzJiZ0aGlzLl9jaGVja1BhdGhzKHRoaXMuX2ZpbHRlcnMsImZpbHRlcmluZyIsbikmJihuPXRoaXMuX2ZpbHRlcihuKSksdGhpcy5zaXplPW4ubGVuZ3RoLHQuc29ydE9yZGVycy5sZW5ndGgmJnRoaXMuX2NoZWNrUGF0aHModGhpcy5fc29ydGVycywic29ydGluZyIsbikmJihuPW4uc29ydCh0aGlzLl9tdWx0aVNvcnQuYmluZCh0aGlzKSkpO2NvbnN0IGk9dC5wYWdlKnQucGFnZVNpemU7ZShuLnNsaWNlKGksaSt0LnBhZ2VTaXplKSxuLmxlbmd0aCl9X2NoZWNrUGF0aHModCxlLG4pe2lmKCFuLmxlbmd0aClyZXR1cm4hMTtsZXQgaT0hMDtmb3IobGV0IHIgaW4gdCl7Y29uc3Qgbz10W3JdLnBhdGg7aWYoIW98fC0xPT09by5pbmRleE9mKCIuIikpY29udGludWU7Y29uc3QgYT1vLnJlcGxhY2UoL1wuW14uXSokLywiIik7dm9pZCAwPT09RW8uZ2V0KGEsblswXSkmJihjb25zb2xlLndhcm4oYFBhdGggIiR7b30iIHVzZWQgZm9yICR7ZX0gZG9lcyBub3QgZXhpc3QgaW4gYWxsIG9mIHRoZSBpdGVtcywgJHtlfSBpcyBkaXNhYmxlZC5gKSxpPSExKX1yZXR1cm4gaX1fbXVsdGlTb3J0KHQsZSl7cmV0dXJuIHRoaXMuX3NvcnRlcnMubWFwKChuPT4iYXNjIj09PW4uZGlyZWN0aW9uP3RoaXMuX2NvbXBhcmUoRW8uZ2V0KG4ucGF0aCx0KSxFby5nZXQobi5wYXRoLGUpKToiZGVzYyI9PT1uLmRpcmVjdGlvbj90aGlzLl9jb21wYXJlKEVvLmdldChuLnBhdGgsZSksRW8uZ2V0KG4ucGF0aCx0KSk6MCkpLnJlZHVjZSgoKHQsZSk9PnR8fGUpLDApfV9ub3JtYWxpemVFbXB0eVZhbHVlKHQpe3JldHVyblt2b2lkIDAsbnVsbF0uaW5kZXhPZih0KT49MD8iIjppc05hTih0KT90LnRvU3RyaW5nKCk6dH1fY29tcGFyZSh0LGUpe3JldHVybih0PXRoaXMuX25vcm1hbGl6ZUVtcHR5VmFsdWUodCkpPChlPXRoaXMuX25vcm1hbGl6ZUVtcHR5VmFsdWUoZSkpPy0xOnQ+ZT8xOjB9X2ZpbHRlcih0KXtyZXR1cm4gdC5maWx0ZXIoKHQ9PjA9PT10aGlzLl9maWx0ZXJzLmZpbHRlcigoZT0+e2NvbnN0IG49dGhpcy5fbm9ybWFsaXplRW1wdHlWYWx1ZShFby5nZXQoZS5wYXRoLHQpKSxpPXRoaXMuX25vcm1hbGl6ZUVtcHR5VmFsdWUoZS52YWx1ZSkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO3JldHVybi0xPT09bi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihpKX0pKS5sZW5ndGgpKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLFYxdD10PT5jbGFzcyBleHRlbmRzKGJpKHQpKXtyZWFkeSgpe3N1cGVyLnJlYWR5KCk7Y29uc3QgdD10aGlzLiQuc2Nyb2xsZXI7Y2kodCwidHJhY2siLHRoaXMuX29uSGVhZGVyVHJhY2suYmluZCh0aGlzKSksdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLChlPT50Lmhhc0F0dHJpYnV0ZSgiY29sdW1uLXJlc2l6aW5nIikmJmUucHJldmVudERlZmF1bHQoKSkpLHQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLCh0PT4icmVzaXplLWhhbmRsZSI9PXQudGFyZ2V0LmdldEF0dHJpYnV0ZSgicGFydCIpJiZ0LnByZXZlbnREZWZhdWx0KCkpKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsKHQ9PiJyZXNpemUtaGFuZGxlIj09PXQudGFyZ2V0LmdldEF0dHJpYnV0ZSgicGFydCIpJiZ0LnByZXZlbnREZWZhdWx0KCkpKX1fb25IZWFkZXJUcmFjayh0KXtjb25zdCBlPXQudGFyZ2V0O2lmKCJyZXNpemUtaGFuZGxlIj09PWUuZ2V0QXR0cmlidXRlKCJwYXJ0Iikpe2xldCBuPWUucGFyZW50RWxlbWVudC5fY29sdW1uO2Zvcih0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImNvbHVtbi1yZXNpemluZyIsITAsdGhpcy4kLnNjcm9sbGVyKTsidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIj09PW4ubG9jYWxOYW1lOyluPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG4uX2NoaWxkQ29sdW1ucywwKS5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiB0Ll9vcmRlci1lLl9vcmRlcn0pKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiF0LmhpZGRlbn0pKS5wb3AoKTtjb25zdCBpPUFycmF5LmZyb20odGhpcy4kLmhlYWRlci5xdWVyeVNlbGVjdG9yQWxsKCdbcGFydH49InJvdyJdOmxhc3QtY2hpbGQgW3BhcnR+PSJjZWxsIl0nKSkscj1pLmZpbHRlcigodD0+dC5fY29sdW1uPT09bikpWzBdO2lmKHIub2Zmc2V0V2lkdGgpe2NvbnN0IGU9d2luZG93LmdldENvbXB1dGVkU3R5bGUociksaT0xMCtwYXJzZUludChlLnBhZGRpbmdMZWZ0KStwYXJzZUludChlLnBhZGRpbmdSaWdodCkrcGFyc2VJbnQoZS5ib3JkZXJMZWZ0V2lkdGgpK3BhcnNlSW50KGUuYm9yZGVyUmlnaHRXaWR0aCkrcGFyc2VJbnQoZS5tYXJnaW5MZWZ0KStwYXJzZUludChlLm1hcmdpblJpZ2h0KSxvPXIub2Zmc2V0V2lkdGgrKHRoaXMuX19pc1JUTD9yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQtdC5kZXRhaWwueDp0LmRldGFpbC54LXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQpO24ud2lkdGg9TWF0aC5tYXgoaSxvKSsicHgiLG4uZmxleEdyb3c9MH1pLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuX2NvbHVtbi5fb3JkZXItZS5fY29sdW1uLl9vcmRlcn0pKS5mb3JFYWNoKChmdW5jdGlvbih0LGUsbil7ZTxuLmluZGV4T2YocikmJih0Ll9jb2x1bW4ud2lkdGg9dC5vZmZzZXRXaWR0aCsicHgiLHQuX2NvbHVtbi5mbGV4R3Jvdz0wKX0pKSwiZW5kIj09PXQuZGV0YWlsLnN0YXRlJiYodGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJjb2x1bW4tcmVzaXppbmciLCExLHRoaXMuJC5zY3JvbGxlciksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29sdW1uLXJlc2l6ZSIse2RldGFpbDp7cmVzaXplZENvbHVtbjpufX0pKSksdGhpcy5fcmVzaXplSGFuZGxlcigpfX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLFUxdD1jbGFzcyB0e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmdyaWQ9dCx0aGlzLnBhcmVudENhY2hlPWUsdGhpcy5wYXJlbnRJdGVtPW4sdGhpcy5pdGVtQ2FjaGVzPXt9LHRoaXMuaXRlbXM9e30sdGhpcy5lZmZlY3RpdmVTaXplPTAsdGhpcy5zaXplPTAsdGhpcy5wZW5kaW5nUmVxdWVzdHM9e319aXNMb2FkaW5nKCl7cmV0dXJuIEJvb2xlYW4oT2JqZWN0LmtleXModGhpcy5wZW5kaW5nUmVxdWVzdHMpLmxlbmd0aHx8T2JqZWN0LmtleXModGhpcy5pdGVtQ2FjaGVzKS5maWx0ZXIoKHQ9PnRoaXMuaXRlbUNhY2hlc1t0XS5pc0xvYWRpbmcoKSkpWzBdKX1nZXRJdGVtRm9ySW5kZXgodCl7Y29uc3R7Y2FjaGU6ZSxzY2FsZWRJbmRleDpufT10aGlzLmdldENhY2hlQW5kSW5kZXgodCk7cmV0dXJuIGUuaXRlbXNbbl19dXBkYXRlU2l6ZSgpe3RoaXMuZWZmZWN0aXZlU2l6ZT0hdGhpcy5wYXJlbnRJdGVtfHx0aGlzLmdyaWQuX2lzRXhwYW5kZWQodGhpcy5wYXJlbnRJdGVtKT90aGlzLnNpemUrT2JqZWN0LmtleXModGhpcy5pdGVtQ2FjaGVzKS5yZWR1Y2UoKCh0LGUpPT57Y29uc3Qgbj10aGlzLml0ZW1DYWNoZXNbZV07cmV0dXJuIG4udXBkYXRlU2l6ZSgpLHQrbi5lZmZlY3RpdmVTaXplfSksMCk6MH1lbnN1cmVTdWJDYWNoZUZvclNjYWxlZEluZGV4KGUpe2lmKCF0aGlzLml0ZW1DYWNoZXNbZV0pe2NvbnN0IG49bmV3IHQodGhpcy5ncmlkLHRoaXMsdGhpcy5pdGVtc1tlXSk7dGhpcy5pdGVtQ2FjaGVzW2VdPW4sdGhpcy5ncmlkLl9sb2FkUGFnZSgwLG4pfX1nZXRDYWNoZUFuZEluZGV4KHQpe2xldCBlPXQ7Y29uc3Qgbj1PYmplY3Qua2V5cyh0aGlzLml0ZW1DYWNoZXMpO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXtjb25zdCBpPU51bWJlcihuW3RdKSxyPXRoaXMuaXRlbUNhY2hlc1tpXTtpZihlPD1pKXJldHVybntjYWNoZTp0aGlzLHNjYWxlZEluZGV4OmV9O2lmKGU8PWkrci5lZmZlY3RpdmVTaXplKXJldHVybiByLmdldENhY2hlQW5kSW5kZXgoZS1pLTEpO2UtPXIuZWZmZWN0aXZlU2l6ZX1yZXR1cm57Y2FjaGU6dGhpcyxzY2FsZWRJbmRleDplfX19LGoxdD10PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue3BhZ2VTaXplOnt0eXBlOk51bWJlcix2YWx1ZTo1MCxvYnNlcnZlcjoiX3BhZ2VTaXplQ2hhbmdlZCJ9LGRhdGFQcm92aWRlcjp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwLG9ic2VydmVyOiJfZGF0YVByb3ZpZGVyQ2hhbmdlZCJ9LGxvYWRpbmc6e3R5cGU6Qm9vbGVhbixub3RpZnk6ITAscmVhZE9ubHk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfY2FjaGU6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBVMXQodGhpcyl9fSxpdGVtSWRQYXRoOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxleHBhbmRlZEl0ZW1zOnt0eXBlOk9iamVjdCxub3RpZnk6ITAsdmFsdWU6KCk9PltdfX19c3RhdGljIGdldCBvYnNlcnZlcnMoKXtyZXR1cm5bIl9zaXplQ2hhbmdlZChzaXplKSIsIl9pdGVtSWRQYXRoQ2hhbmdlZChpdGVtSWRQYXRoKSIsIl9leHBhbmRlZEl0ZW1zQ2hhbmdlZChleHBhbmRlZEl0ZW1zLiopIl19X3NpemVDaGFuZ2VkKHQpe2NvbnN0IGU9dC10aGlzLl9jYWNoZS5zaXplO3RoaXMuX2NhY2hlLnNpemUrPWUsdGhpcy5fY2FjaGUuZWZmZWN0aXZlU2l6ZSs9ZSx0aGlzLl9lZmZlY3RpdmVTaXplPXRoaXMuX2NhY2hlLmVmZmVjdGl2ZVNpemUsdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQoMCksdGhpcy5fZGVib3VuY2VJbmNyZWFzZVBvb2wmJnRoaXMuX2RlYm91bmNlSW5jcmVhc2VQb29sLmZsdXNoKCl9X2dldEl0ZW0odCxlKXtpZih0Pj10aGlzLl9lZmZlY3RpdmVTaXplKXJldHVybjtlLmluZGV4PXQ7Y29uc3R7Y2FjaGU6bixzY2FsZWRJbmRleDppfT10aGlzLl9jYWNoZS5nZXRDYWNoZUFuZEluZGV4KHQpLHI9bi5pdGVtc1tpXTtyPyh0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImxvYWRpbmciLCExLGUpLHRoaXMuX3VwZGF0ZUl0ZW0oZSxyKSx0aGlzLl9pc0V4cGFuZGVkKHIpJiZuLmVuc3VyZVN1YkNhY2hlRm9yU2NhbGVkSW5kZXgoaSkpOih0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImxvYWRpbmciLCEwLGUpLHRoaXMuX2xvYWRQYWdlKHRoaXMuX2dldFBhZ2VGb3JJbmRleChpKSxuKSl9X2V4cGFuZGVkSW5zdGFuY2VDaGFuZ2VkQ2FsbGJhY2sodCxlKXt2b2lkIDAhPT10Lml0ZW0mJihlP3RoaXMuZXhwYW5kSXRlbSh0Lml0ZW0pOnRoaXMuY29sbGFwc2VJdGVtKHQuaXRlbSkpfWdldEl0ZW1JZCh0KXtyZXR1cm4gdGhpcy5pdGVtSWRQYXRoP3RoaXMuZ2V0KHRoaXMuaXRlbUlkUGF0aCx0KTp0fV9pc0V4cGFuZGVkKHQpe3JldHVybiB0aGlzLl9fZXhwYW5kZWRLZXlzLmhhcyh0aGlzLmdldEl0ZW1JZCh0KSl9X2V4cGFuZGVkSXRlbXNDaGFuZ2VkKCl7dGhpcy5fX2NhY2hlRXhwYW5kZWRLZXlzKCksdGhpcy5fY2FjaGUudXBkYXRlU2l6ZSgpLHRoaXMuX2VmZmVjdGl2ZVNpemU9dGhpcy5fY2FjaGUuZWZmZWN0aXZlU2l6ZSx0aGlzLl9hc3NpZ25Nb2RlbHMoKX1faXRlbUlkUGF0aENoYW5nZWQoKXt0aGlzLl9fY2FjaGVFeHBhbmRlZEtleXMoKX1fX2NhY2hlRXhwYW5kZWRLZXlzKCl7dGhpcy5leHBhbmRlZEl0ZW1zJiYodGhpcy5fX2V4cGFuZGVkS2V5cz1uZXcgU2V0LHRoaXMuZXhwYW5kZWRJdGVtcy5mb3JFYWNoKCh0PT57dGhpcy5fX2V4cGFuZGVkS2V5cy5hZGQodGhpcy5nZXRJdGVtSWQodCkpfSkpKX1leHBhbmRJdGVtKHQpe3RoaXMuX2lzRXhwYW5kZWQodCl8fCh0aGlzLmV4cGFuZGVkSXRlbXM9Wy4uLnRoaXMuZXhwYW5kZWRJdGVtcyx0XSl9Y29sbGFwc2VJdGVtKHQpe3RoaXMuX2lzRXhwYW5kZWQodCkmJih0aGlzLmV4cGFuZGVkSXRlbXM9dGhpcy5leHBhbmRlZEl0ZW1zLmZpbHRlcigoZT0+IXRoaXMuX2l0ZW1zRXF1YWwoZSx0KSkpKX1fZ2V0SW5kZXhMZXZlbCh0KXtsZXR7Y2FjaGU6ZX09dGhpcy5fY2FjaGUuZ2V0Q2FjaGVBbmRJbmRleCh0KSxuPTA7Zm9yKDtlLnBhcmVudENhY2hlOyllPWUucGFyZW50Q2FjaGUsbisrO3JldHVybiBufV9jYW5Qb3B1bGF0ZSgpe3JldHVybiBCb29sZWFuKHRoaXMuX2hhc0RhdGEmJnRoaXMuX2NvbHVtblRyZWUpfV9sb2FkUGFnZSh0LGUpe2lmKCFlLnBlbmRpbmdSZXF1ZXN0c1t0XSYmdGhpcy5kYXRhUHJvdmlkZXIpe3RoaXMuX3NldExvYWRpbmcoITApLGUucGVuZGluZ1JlcXVlc3RzW3RdPSEwO2NvbnN0IG49e3BhZ2U6dCxwYWdlU2l6ZTp0aGlzLnBhZ2VTaXplLHNvcnRPcmRlcnM6dGhpcy5fbWFwU29ydGVycygpLGZpbHRlcnM6dGhpcy5fbWFwRmlsdGVycygpLHBhcmVudEl0ZW06ZS5wYXJlbnRJdGVtfTt0aGlzLl9kZWJvdW5jZUluY3JlYXNlUG9vbCYmdGhpcy5fZGVib3VuY2VJbmNyZWFzZVBvb2wuZmx1c2goKSx0aGlzLmRhdGFQcm92aWRlcihuLCgoaSxyKT0+e3ZvaWQgMCE9PXI/ZS5zaXplPXI6bi5wYXJlbnRJdGVtJiYoZS5zaXplPWkubGVuZ3RoKTtjb25zdCBvPUFycmF5LmZyb20odGhpcy4kLml0ZW1zLmNoaWxkcmVuKS5tYXAoKHQ9PnQuX2l0ZW0pKTtpLmZvckVhY2goKChuLGkpPT57Y29uc3Qgcj10KnRoaXMucGFnZVNpemUraTtlLml0ZW1zW3JdPW4sdGhpcy5faXNFeHBhbmRlZChuKSYmby5pbmRleE9mKG4pPi0xJiZlLmVuc3VyZVN1YkNhY2hlRm9yU2NhbGVkSW5kZXgocil9KSksdGhpcy5faGFzRGF0YT0hMCxkZWxldGUgZS5wZW5kaW5nUmVxdWVzdHNbdF0sdGhpcy5fZGVib3VuY2VyQXBwbHlDYWNoZWREYXRhPU5uLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlckFwcGx5Q2FjaGVkRGF0YSxndC5hZnRlcigwKSwoKCk9Pnt0aGlzLl9zZXRMb2FkaW5nKCExKSx0aGlzLl9jYWNoZS51cGRhdGVTaXplKCksdGhpcy5fZWZmZWN0aXZlU2l6ZT10aGlzLl9jYWNoZS5lZmZlY3RpdmVTaXplLEFycmF5LmZyb20odGhpcy4kLml0ZW1zLmNoaWxkcmVuKS5maWx0ZXIoKHQ9PiF0LmhpZGRlbikpLmZvckVhY2goKHQ9Pnt0aGlzLl9jYWNoZS5nZXRJdGVtRm9ySW5kZXgodC5pbmRleCkmJnRoaXMuX2dldEl0ZW0odC5pbmRleCx0KX0pKSx0aGlzLl9pbmNyZWFzZVBvb2xJZk5lZWRlZCgwKSx0aGlzLl9fc2Nyb2xsVG9QZW5kaW5nSW5kZXgoKX0pKSx0aGlzLl9jYWNoZS5pc0xvYWRpbmcoKXx8dGhpcy5fZGVib3VuY2VyQXBwbHlDYWNoZWREYXRhLmZsdXNoKCksdGhpcy5fX2l0ZW1zUmVjZWl2ZWQoKX0pKX19X2dldFBhZ2VGb3JJbmRleCh0KXtyZXR1cm4gTWF0aC5mbG9vcih0L3RoaXMucGFnZVNpemUpfWNsZWFyQ2FjaGUoKXt0aGlzLl9jYWNoZT1uZXcgVTF0KHRoaXMpLEFycmF5LmZyb20odGhpcy4kLml0ZW1zLmNoaWxkcmVuKS5mb3JFYWNoKCh0PT57QXJyYXkuZnJvbSh0LmNoaWxkcmVuKS5mb3JFYWNoKCh0PT57dC5faW5zdGFuY2UmJnQuX2luc3RhbmNlLl9zZXRQZW5kaW5nUHJvcGVydHkoIml0ZW0iLHt9LCExKX0pKX0pKSx0aGlzLl9jYWNoZS5zaXplPXRoaXMuc2l6ZXx8MCx0aGlzLl9jYWNoZS51cGRhdGVTaXplKCksdGhpcy5faGFzRGF0YT0hMSx0aGlzLl9hc3NpZ25Nb2RlbHMoKSx0aGlzLl9lZmZlY3RpdmVTaXplJiZ0aGlzLl9pbml0aWFsUG9vbENyZWF0ZWR8fHRoaXMuX2xvYWRQYWdlKDAsdGhpcy5fY2FjaGUpfV9wYWdlU2l6ZUNoYW5nZWQodCxlKXt2b2lkIDAhPT1lJiZ0IT09ZSYmdGhpcy5jbGVhckNhY2hlKCl9X2NoZWNrU2l6ZSgpe3ZvaWQgMD09PXRoaXMuc2l6ZSYmMD09PXRoaXMuX2VmZmVjdGl2ZVNpemUmJmNvbnNvbGUud2FybigiVGhlIDx2YWFkaW4tZ3JpZD4gbmVlZHMgdGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcyBpbiBvcmRlciB0byBkaXNwbGF5IHJvd3MuIFNldCB0aGUgdG90YWwgbnVtYmVyIG9mIGl0ZW1zIHRvIHRoZSBgc2l6ZWAgcHJvcGVydHksIG9yIHByb3ZpZGUgdGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgc2Vjb25kIGFyZ3VtZW50IG9mIHRoZSBgZGF0YVByb3ZpZGVyYOKAmXMgYGNhbGxiYWNrYCBjYWxsLiIpfV9kYXRhUHJvdmlkZXJDaGFuZ2VkKHQsZSl7dm9pZCAwIT09ZSYmdGhpcy5jbGVhckNhY2hlKCksdCYmdGhpcy5pdGVtcyYmdGhpcy5pdGVtcy5sZW5ndGgmJnRoaXMuX3Njcm9sbFRvSW5kZXgodGhpcy5fZmlyc3RWaXNpYmxlSW5kZXgpLHRoaXMuX2Vuc3VyZUZpcnN0UGFnZUxvYWRlZCgpLHRoaXMuX2RlYm91bmNlckNoZWNrU2l6ZT1Obi5kZWJvdW5jZSh0aGlzLl9kZWJvdW5jZXJDaGVja1NpemUsZ3QuYWZ0ZXIoMmUzKSx0aGlzLl9jaGVja1NpemUuYmluZCh0aGlzKSksdGhpcy5fc2Nyb2xsSGFuZGxlcigpfV9lbnN1cmVGaXJzdFBhZ2VMb2FkZWQoKXt0aGlzLl9oYXNEYXRhfHx0aGlzLl9sb2FkUGFnZSgwLHRoaXMuX2NhY2hlKX1faXRlbXNFcXVhbCh0LGUpe3JldHVybiB0aGlzLmdldEl0ZW1JZCh0KT09PXRoaXMuZ2V0SXRlbUlkKGUpfV9nZXRJdGVtSW5kZXhJbkFycmF5KHQsZSl7bGV0IG49LTE7cmV0dXJuIGUuZm9yRWFjaCgoKGUsaSk9Pnt0aGlzLl9pdGVtc0VxdWFsKGUsdCkmJihuPWkpfSkpLG59c2Nyb2xsVG9JbmRleCh0KXtzdXBlci5zY3JvbGxUb0luZGV4KHQpLGlzTmFOKHQpfHwhdGhpcy5fY2FjaGUuaXNMb2FkaW5nKCkmJnRoaXMuY2xpZW50SGVpZ2h0fHwodGhpcy5fX3BlbmRpbmdTY3JvbGxUb0luZGV4PXQpfV9fc2Nyb2xsVG9QZW5kaW5nSW5kZXgoKXtpZih0aGlzLl9fcGVuZGluZ1Njcm9sbFRvSW5kZXgmJnRoaXMuJC5pdGVtcy5jaGlsZHJlbi5sZW5ndGgpe2NvbnN0IHQ9dGhpcy5fX3BlbmRpbmdTY3JvbGxUb0luZGV4O2RlbGV0ZSB0aGlzLl9fcGVuZGluZ1Njcm9sbFRvSW5kZXgsdGhpcy5fZGVib3VuY2VJbmNyZWFzZVBvb2wmJnRoaXMuX2RlYm91bmNlSW5jcmVhc2VQb29sLmZsdXNoKCksdGhpcy5zY3JvbGxUb0luZGV4KHQpfX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLEcxdD10PT5jbGFzcyBleHRlbmRzIHR7cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMuX2FkZE5vZGVPYnNlcnZlcigpfV9oYXNDb2x1bW5Hcm91cHModCl7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspaWYoInZhYWRpbi1ncmlkLWNvbHVtbi1ncm91cCI9PT10W2VdLmxvY2FsTmFtZSlyZXR1cm4hMDtyZXR1cm4hMX1fZ2V0Q2hpbGRDb2x1bW5zKHQpe3JldHVybiBHaS5nZXRGbGF0dGVuZWROb2Rlcyh0KS5maWx0ZXIodGhpcy5faXNDb2x1bW5FbGVtZW50KX1fZmxhdHRlbkNvbHVtbkdyb3Vwcyh0KXtyZXR1cm4gdC5tYXAoKHQ9PiJ2YWFkaW4tZ3JpZC1jb2x1bW4tZ3JvdXAiPT09dC5sb2NhbE5hbWU/dGhpcy5fZ2V0Q2hpbGRDb2x1bW5zKHQpOlt0XSkpLnJlZHVjZSgoKHQsZSk9PnQuY29uY2F0KGUpKSxbXSl9X2dldENvbHVtblRyZWUoKXtjb25zdCB0PVtdO2ZvcihsZXQgZT1HaS5nZXRGbGF0dGVuZWROb2Rlcyh0aGlzKS5maWx0ZXIodGhpcy5faXNDb2x1bW5FbGVtZW50KTt0LnB1c2goZSksdGhpcy5faGFzQ29sdW1uR3JvdXBzKGUpOyllPXRoaXMuX2ZsYXR0ZW5Db2x1bW5Hcm91cHMoZSk7cmV0dXJuIHR9X3VwZGF0ZUNvbHVtblRyZWUoKXtjb25zdCB0PXRoaXMuX2dldENvbHVtblRyZWUoKTt0aGlzLl9hcnJheUVxdWFscyh0LHRoaXMuX2NvbHVtblRyZWUpfHwodGhpcy5fY29sdW1uVHJlZT10KX1fYWRkTm9kZU9ic2VydmVyKCl7dGhpcy5fb2JzZXJ2ZXI9bmV3IEdpKHRoaXMsKHQ9Pntjb25zdCBlPXQuYWRkZWROb2Rlcy5maWx0ZXIoKHQ9PiJ0ZW1wbGF0ZSI9PT10LmxvY2FsTmFtZSYmdC5jbGFzc0xpc3QuY29udGFpbnMoInJvdy1kZXRhaWxzIikpKVswXTtlJiZ0aGlzLl9yb3dEZXRhaWxzVGVtcGxhdGUhPT1lJiYodGhpcy5fcm93RGV0YWlsc1RlbXBsYXRlPWUpO2NvbnN0IG49dD0+dC5maWx0ZXIodGhpcy5faXNDb2x1bW5FbGVtZW50KS5sZW5ndGg+MDtpZihuKHQuYWRkZWROb2Rlcyl8fG4odC5yZW1vdmVkTm9kZXMpKXtjb25zdCBlPXQucmVtb3ZlZE5vZGVzLmZsYXRNYXAoKHQ9PnQuX2FsbENlbGxzKSksbj10PT5lLmZpbHRlcigoZT0+ZS5fY29udGVudC5jb250YWlucyh0KSkpLmxlbmd0aDt0aGlzLl9fcmVtb3ZlU29ydGVycyh0aGlzLl9zb3J0ZXJzLmZpbHRlcihuKSksdGhpcy5fX3JlbW92ZUZpbHRlcnModGhpcy5fZmlsdGVycy5maWx0ZXIobikpLHRoaXMuX3VwZGF0ZUNvbHVtblRyZWUoKX10aGlzLl9kZWJvdW5jZXJDaGVja0ltcG9ydHM9Tm4uZGVib3VuY2UodGhpcy5fZGVib3VuY2VyQ2hlY2tJbXBvcnRzLGd0LmFmdGVyKDJlMyksdGhpcy5fY2hlY2tJbXBvcnRzLmJpbmQodGhpcykpLHRoaXMuX2Vuc3VyZUZpcnN0UGFnZUxvYWRlZCgpfSkpfV9hcnJheUVxdWFscyh0LGUpe2lmKCF0fHwhZXx8dC5sZW5ndGghPWUubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgbj0wLGk9dC5sZW5ndGg7bjxpO24rKylpZih0W25daW5zdGFuY2VvZiBBcnJheSYmZVtuXWluc3RhbmNlb2YgQXJyYXkpe2lmKCF0aGlzLl9hcnJheUVxdWFscyh0W25dLGVbbl0pKXJldHVybiExfWVsc2UgaWYodFtuXSE9ZVtuXSlyZXR1cm4hMTtyZXR1cm4hMH1fY2hlY2tJbXBvcnRzKCl7WyJ2YWFkaW4tZ3JpZC1jb2x1bW4tZ3JvdXAiLCJ2YWFkaW4tZ3JpZC1maWx0ZXIiLCJ2YWFkaW4tZ3JpZC1maWx0ZXItY29sdW1uIiwidmFhZGluLWdyaWQtdHJlZS10b2dnbGUiLCJ2YWFkaW4tZ3JpZC1zZWxlY3Rpb24tY29sdW1uIiwidmFhZGluLWdyaWQtc29ydC1jb2x1bW4iLCJ2YWFkaW4tZ3JpZC1zb3J0ZXIiXS5mb3JFYWNoKCh0PT57Y29uc3QgZT10aGlzLnF1ZXJ5U2VsZWN0b3IodCk7IWV8fGUgaW5zdGFuY2VvZiB3ZXx8Y29uc29sZS53YXJuKGBNYWtlIHN1cmUgeW91IGhhdmUgaW1wb3J0ZWQgdGhlIHJlcXVpcmVkIG1vZHVsZSBmb3IgPCR7dH0+IGVsZW1lbnQuYCl9KSl9X3VwZGF0ZUZpcnN0QW5kTGFzdENvbHVtbigpe0FycmF5LmZyb20odGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRyIikpLmZvckVhY2goKHQ9PnRoaXMuX3VwZGF0ZUZpcnN0QW5kTGFzdENvbHVtbkZvclJvdyh0KSkpfV91cGRhdGVGaXJzdEFuZExhc3RDb2x1bW5Gb3JSb3codCl7QXJyYXkuZnJvbSh0LnF1ZXJ5U2VsZWN0b3JBbGwoJ1twYXJ0fj0iY2VsbCJdOm5vdChbcGFydH49ImRldGFpbHMtY2VsbCJdKScpKS5zb3J0KCgodCxlKT0+dC5fY29sdW1uLl9vcmRlci1lLl9jb2x1bW4uX29yZGVyKSkuZm9yRWFjaCgoKHQsZSxuKT0+e3RoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgiZmlyc3QtY29sdW1uIiwwPT09ZSx0KSx0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImxhc3QtY29sdW1uIixlPT09bi5sZW5ndGgtMSx0KX0pKX1faXNDb2x1bW5FbGVtZW50KHQpe3JldHVybiB0Lm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJi9cYmNvbHVtblxiLy50ZXN0KHQubG9jYWxOYW1lKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLFcxdD10PT5jbGFzcyBleHRlbmRzIHR7Z2V0RXZlbnRDb250ZXh0KHQpe2NvbnN0IGU9e30sbj10LmNvbXBvc2VkUGF0aCgpLGk9bltuLmluZGV4T2YodGhpcy4kLnRhYmxlKS0zXTtyZXR1cm4gaT8oZS5zZWN0aW9uPVsiYm9keSIsImhlYWRlciIsImZvb3RlciIsImRldGFpbHMiXS5maWx0ZXIoKHQ9PmkuZ2V0QXR0cmlidXRlKCJwYXJ0IikuaW5kZXhPZih0KT4tMSkpWzBdLGkuX2NvbHVtbiYmKGUuY29sdW1uPWkuX2NvbHVtbiksImJvZHkiIT09ZS5zZWN0aW9uJiYiZGV0YWlscyIhPT1lLnNlY3Rpb258fE9iamVjdC5hc3NpZ24oZSx0aGlzLl9fZ2V0Um93TW9kZWwoaS5wYXJlbnRFbGVtZW50KSksZSk6ZX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLHExdD10PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue19maWx0ZXJzOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fX19cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZmlsdGVyLWNoYW5nZWQiLHRoaXMuX2ZpbHRlckNoYW5nZWQuYmluZCh0aGlzKSl9X2ZpbHRlckNoYW5nZWQodCl7dC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLl9fYWRkRmlsdGVyKHQudGFyZ2V0KSx0aGlzLl9fYXBwbHlGaWx0ZXJzKCl9X19yZW1vdmVGaWx0ZXJzKHQpezAhPXQubGVuZ3RoJiYodGhpcy5fZmlsdGVycz10aGlzLl9maWx0ZXJzLmZpbHRlcigoZT0+dC5pbmRleE9mKGUpPDApKSx0aGlzLl9fYXBwbHlGaWx0ZXJzKCkpfV9fYWRkRmlsdGVyKHQpey0xPT09dGhpcy5fZmlsdGVycy5pbmRleE9mKHQpJiZ0aGlzLl9maWx0ZXJzLnB1c2godCl9X19hcHBseUZpbHRlcnMoKXt0aGlzLmRhdGFQcm92aWRlciYmdGhpcy5pc0F0dGFjaGVkJiZ0aGlzLmNsZWFyQ2FjaGUoKX1fbWFwRmlsdGVycygpe3JldHVybiB0aGlzLl9maWx0ZXJzLm1hcCgodD0+KHtwYXRoOnQucGF0aCx2YWx1ZTp0LnZhbHVlfSkpKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovO2NsYXNzIFkxdCBleHRlbmRzIHdle3N0YXRpYyBnZXQgaXMoKXtyZXR1cm4idmFhZGluLWdyaWQtdGVtcGxhdGl6ZXIifXN0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybntkYXRhSG9zdDpPYmplY3QsdGVtcGxhdGU6T2JqZWN0LF90ZW1wbGF0ZUluc3RhbmNlczp7dHlwZTpBcnJheSx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX0sX3BhcmVudFBhdGhWYWx1ZXM6e3ZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fSxfZ3JpZDpPYmplY3R9fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfdGVtcGxhdGVJbnN0YW5jZXNDaGFuZ2VkKF90ZW1wbGF0ZUluc3RhbmNlcy4qLCBfcGFyZW50UGF0aFZhbHVlcy4qKSJdfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9pbnN0YW5jZVByb3BzPXtkZXRhaWxzT3BlbmVkOiEwLGluZGV4OiEwLGl0ZW06ITAsc2VsZWN0ZWQ6ITAsZXhwYW5kZWQ6ITAsbGV2ZWw6ITB9fWNyZWF0ZUluc3RhbmNlKCl7dGhpcy5fZW5zdXJlVGVtcGxhdGl6ZWQoKTtjb25zdCB0PW5ldyB0aGlzLl9UZW1wbGF0ZUNsYXNzKHt9KTtyZXR1cm4gdGhpcy5hZGRJbnN0YW5jZSh0KSx0fWFkZEluc3RhbmNlKHQpey0xPT09dGhpcy5fdGVtcGxhdGVJbnN0YW5jZXMuaW5kZXhPZih0KSYmKHRoaXMuX3RlbXBsYXRlSW5zdGFuY2VzLnB1c2godCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5ub3RpZnlQYXRoKCJfdGVtcGxhdGVJbnN0YW5jZXMuKiIsdGhpcy5fdGVtcGxhdGVJbnN0YW5jZXMpKSkpfXJlbW92ZUluc3RhbmNlKHQpe2NvbnN0IGU9dGhpcy5fdGVtcGxhdGVJbnN0YW5jZXMuaW5kZXhPZih0KTt0aGlzLnNwbGljZSgiX3RlbXBsYXRlSW5zdGFuY2VzIixlLDEpfV9lbnN1cmVUZW1wbGF0aXplZCgpe3RoaXMuX1RlbXBsYXRlQ2xhc3N8fCh0aGlzLl9UZW1wbGF0ZUNsYXNzPWFvKHRoaXMudGVtcGxhdGUsdGhpcyx7aW5zdGFuY2VQcm9wczp0aGlzLl9pbnN0YW5jZVByb3BzLHBhcmVudE1vZGVsOiEwLGZvcndhcmRIb3N0UHJvcDpmdW5jdGlvbih0LGUpe3RoaXMuX2ZvcndhcmRQYXJlbnRQcm9wKHQsZSksdGhpcy5fdGVtcGxhdGVJbnN0YW5jZXMmJnRoaXMuX3RlbXBsYXRlSW5zdGFuY2VzLmZvckVhY2goKG49Pm4ubm90aWZ5UGF0aCh0LGUpKSl9LG5vdGlmeUluc3RhbmNlUHJvcDpmdW5jdGlvbih0LGUsbil7aWYoImluZGV4Ij09PWV8fCJpdGVtIj09PWUpcmV0dXJuO2NvbnN0IGk9YF9fJHtlfV9fYDtpZih0W2ldPT09bilyZXR1cm47dFtpXT1uO2NvbnN0IHI9QXJyYXkuZnJvbSh0aGlzLl9ncmlkLiQuaXRlbXMuY2hpbGRyZW4pLmZpbHRlcigoZT0+dGhpcy5fZ3JpZC5faXRlbXNFcXVhbChlLl9pdGVtLHQuaXRlbSkpKVswXTtyJiZBcnJheS5mcm9tKHIuY2hpbGRyZW4pLmZvckVhY2goKHQ9Pnt0Ll9pbnN0YW5jZSYmKHQuX2luc3RhbmNlW2ldPW4sdC5faW5zdGFuY2Uubm90aWZ5UGF0aChlLG4pKX0pKTtjb25zdCBvPSJpdGVtLiI7aWYoQXJyYXkuaXNBcnJheSh0aGlzLl9ncmlkLml0ZW1zKSYmMD09PWUuaW5kZXhPZihvKSl7Y29uc3QgaT10aGlzLl9ncmlkLml0ZW1zLmluZGV4T2YodC5pdGVtKSxyPWUuc2xpY2Uoby5sZW5ndGgpO3RoaXMuX2dyaWQubm90aWZ5UGF0aChgaXRlbXMuJHtpfS4ke3J9YCxuKX1jb25zdCBhPWBfJHtlfUluc3RhbmNlQ2hhbmdlZENhbGxiYWNrYDt0aGlzLl9ncmlkJiZ0aGlzLl9ncmlkW2FdJiZ0aGlzLl9ncmlkW2FdKHQsbil9fSkpfV9mb3J3YXJkUGFyZW50UHJvcCh0LGUpe3RoaXMuX3BhcmVudFBhdGhWYWx1ZXNbdF09ZSx0aGlzLl90ZW1wbGF0ZUluc3RhbmNlcy5mb3JFYWNoKChuPT5uLm5vdGlmeVBhdGgodCxlKSkpfV90ZW1wbGF0ZUluc3RhbmNlc0NoYW5nZWQodCl7bGV0IGUsbjtpZigiX3RlbXBsYXRlSW5zdGFuY2VzIj09PXQucGF0aCllPTAsbj10aGlzLl90ZW1wbGF0ZUluc3RhbmNlcy5sZW5ndGg7ZWxzZXtpZigiX3RlbXBsYXRlSW5zdGFuY2VzLnNwbGljZXMiIT09dC5wYXRoKXJldHVybjtlPXQudmFsdWUuaW5kZXgsbj10LnZhbHVlLmFkZGVkQ291bnR9T2JqZWN0LmtleXModGhpcy5fcGFyZW50UGF0aFZhbHVlc3x8e30pLmZvckVhY2goKHQ9Pntmb3IobGV0IGk9ZTtpPGUrbjtpKyspdGhpcy5fdGVtcGxhdGVJbnN0YW5jZXNbaV0uc2V0KHQsdGhpcy5fcGFyZW50UGF0aFZhbHVlc1t0XSl9KSl9fWN1c3RvbUVsZW1lbnRzLmRlZmluZShZMXQuaXMsWTF0KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi8KY29uc3QgWDF0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57ZGV0YWlsc09wZW5lZEl0ZW1zOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fSxfcm93RGV0YWlsc1RlbXBsYXRlOk9iamVjdCxyb3dEZXRhaWxzUmVuZGVyZXI6RnVuY3Rpb24sX2RldGFpbHNDZWxsczp7dHlwZTpBcnJheX19fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfZGV0YWlsc09wZW5lZEl0ZW1zQ2hhbmdlZChkZXRhaWxzT3BlbmVkSXRlbXMuKiwgX3Jvd0RldGFpbHNUZW1wbGF0ZSwgcm93RGV0YWlsc1JlbmRlcmVyKSIsIl9yb3dEZXRhaWxzVGVtcGxhdGVPclJlbmRlcmVyQ2hhbmdlZChfcm93RGV0YWlsc1RlbXBsYXRlLCByb3dEZXRhaWxzUmVuZGVyZXIpIl19X3Jvd0RldGFpbHNUZW1wbGF0ZU9yUmVuZGVyZXJDaGFuZ2VkKHQsZSl7aWYodCYmZSl0aHJvdyBuZXcgRXJyb3IoIllvdSBzaG91bGQgb25seSB1c2UgZWl0aGVyIGEgcmVuZGVyZXIgb3IgYSB0ZW1wbGF0ZSBmb3Igcm93IGRldGFpbHMiKTtpZih0fHxlKXtpZih0JiYhdC50ZW1wbGF0aXplcil7Y29uc3QgZT1uZXcgWTF0O2UuX2dyaWQ9dGhpcyxlLmRhdGFIb3N0PXRoaXMuZGF0YUhvc3QsZS50ZW1wbGF0ZT10LHQudGVtcGxhdGl6ZXI9ZX10aGlzLl9jb2x1bW5UcmVlJiZBcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZm9yRWFjaCgodD0+e3QucXVlcnlTZWxlY3RvcigiW3BhcnR+PWRldGFpbHMtY2VsbF0iKXx8KHRoaXMuX3VwZGF0ZVJvdyh0LHRoaXMuX2NvbHVtblRyZWVbdGhpcy5fY29sdW1uVHJlZS5sZW5ndGgtMV0pLHRoaXMuX2ExMXlVcGRhdGVSb3dEZXRhaWxzT3BlbmVkKHQsITEpKSxkZWxldGUgdC5xdWVyeVNlbGVjdG9yKCJbcGFydH49ZGV0YWlscy1jZWxsXSIpLl9pbnN0YW5jZX0pKSx0aGlzLmRldGFpbHNPcGVuZWRJdGVtcy5sZW5ndGgmJihBcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZm9yRWFjaCh0aGlzLl90b2dnbGVEZXRhaWxzQ2VsbCx0aGlzKSx0aGlzLl91cGRhdGUoKSl9fV9kZXRhaWxzT3BlbmVkSXRlbXNDaGFuZ2VkKHQpeyJkZXRhaWxzT3BlbmVkSXRlbXMubGVuZ3RoIiE9PXQucGF0aCYmdC52YWx1ZSYmQXJyYXkuZnJvbSh0aGlzLiQuaXRlbXMuY2hpbGRyZW4pLmZvckVhY2goKHQ9Pnt0aGlzLl90b2dnbGVEZXRhaWxzQ2VsbCh0LHQuX2l0ZW0pLHRoaXMuX2ExMXlVcGRhdGVSb3dEZXRhaWxzT3BlbmVkKHQsdGhpcy5faXNEZXRhaWxzT3BlbmVkKHQuX2l0ZW0pKSx0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImRldGFpbHMtb3BlbmVkIix0aGlzLl9pc0RldGFpbHNPcGVuZWQodC5faXRlbSksdCl9KSl9X2NvbmZpZ3VyZURldGFpbHNDZWxsKHQpe3Quc2V0QXR0cmlidXRlKCJwYXJ0IiwiY2VsbCBkZXRhaWxzLWNlbGwiKSx0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImZyb3plbiIsITAsdCl9X3RvZ2dsZURldGFpbHNDZWxsKHQsZSl7Y29uc3Qgbj10LnF1ZXJ5U2VsZWN0b3IoJ1twYXJ0fj0iZGV0YWlscy1jZWxsIl0nKTtpZighbilyZXR1cm47Y29uc3QgaT0hdGhpcy5faXNEZXRhaWxzT3BlbmVkKGUpLHI9ISFuLmhpZGRlbiE9PWk7KG4uX2luc3RhbmNlfHxuLl9yZW5kZXJlcikmJm4uaGlkZGVuPT09aXx8KG4uaGlkZGVuPWksaT90LnN0eWxlLnJlbW92ZVByb3BlcnR5KCJwYWRkaW5nLWJvdHRvbSIpOih0aGlzLnJvd0RldGFpbHNSZW5kZXJlcj8obi5fcmVuZGVyZXI9dGhpcy5yb3dEZXRhaWxzUmVuZGVyZXIsbi5fcmVuZGVyZXIuY2FsbCh0aGlzLG4uX2NvbnRlbnQsdGhpcyx7aW5kZXg6dC5pbmRleCxpdGVtOmV9KSk6dGhpcy5fcm93RGV0YWlsc1RlbXBsYXRlJiYhbi5faW5zdGFuY2UmJihuLl9pbnN0YW5jZT10aGlzLl9yb3dEZXRhaWxzVGVtcGxhdGUudGVtcGxhdGl6ZXIuY3JlYXRlSW5zdGFuY2UoKSxuLl9jb250ZW50LmlubmVySFRNTD0iIixuLl9jb250ZW50LmFwcGVuZENoaWxkKG4uX2luc3RhbmNlLnJvb3QpLHRoaXMuX3VwZGF0ZUl0ZW0odCxlKSksV2koKSx0LnN0eWxlLnNldFByb3BlcnR5KCJwYWRkaW5nLWJvdHRvbSIsYCR7bi5vZmZzZXRIZWlnaHR9cHhgKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLm5vdGlmeVJlc2l6ZSgpKSkpKSxyJiYodGhpcy5fdXBkYXRlTWV0cmljcygpLHRoaXMuX3Bvc2l0aW9uSXRlbXMoKSl9X3VwZGF0ZURldGFpbHNDZWxsSGVpZ2h0cygpe0FycmF5LmZyb20odGhpcy4kLml0ZW1zLnF1ZXJ5U2VsZWN0b3JBbGwoJ1twYXJ0fj0iZGV0YWlscy1jZWxsIl06bm90KFtoaWRkZW5dKScpKS5mb3JFYWNoKCh0PT57dC5wYXJlbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCJwYWRkaW5nLWJvdHRvbSIsYCR7dC5vZmZzZXRIZWlnaHR9cHhgKX0pKX1faXNEZXRhaWxzT3BlbmVkKHQpe3JldHVybiB0aGlzLmRldGFpbHNPcGVuZWRJdGVtcyYmLTEhPT10aGlzLl9nZXRJdGVtSW5kZXhJbkFycmF5KHQsdGhpcy5kZXRhaWxzT3BlbmVkSXRlbXMpfW9wZW5JdGVtRGV0YWlscyh0KXt0aGlzLl9pc0RldGFpbHNPcGVuZWQodCl8fCh0aGlzLmRldGFpbHNPcGVuZWRJdGVtcz1bLi4udGhpcy5kZXRhaWxzT3BlbmVkSXRlbXMsdF0pfWNsb3NlSXRlbURldGFpbHModCl7dGhpcy5faXNEZXRhaWxzT3BlbmVkKHQpJiYodGhpcy5kZXRhaWxzT3BlbmVkSXRlbXM9dGhpcy5kZXRhaWxzT3BlbmVkSXRlbXMuZmlsdGVyKChlPT4hdGhpcy5faXRlbXNFcXVhbChlLHQpKSkpfV9kZXRhaWxzT3BlbmVkSW5zdGFuY2VDaGFuZ2VkQ2FsbGJhY2sodCxlKXtlP3RoaXMub3Blbkl0ZW1EZXRhaWxzKHQuaXRlbSk6dGhpcy5jbG9zZUl0ZW1EZXRhaWxzKHQuaXRlbSl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLywkMXQ9NTAwLEsxdD01MDAsWjF0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57X2Zyb3plbkNlbGxzOnt0eXBlOkFycmF5LHZhbHVlOigpPT5bXX0sX3Jvd1dpdGhGb2N1c2VkRWxlbWVudDpFbGVtZW50LF9kZWx0YVlBY2M6e3R5cGU6TnVtYmVyLHZhbHVlOjB9LF91c2VTdGlja3k6e3R5cGU6Qm9vbGVhbix2YWx1ZTp3aW5kb3cuQ1NTJiZ3aW5kb3cuQ1NTLnN1cHBvcnRzJiYod2luZG93LkNTUy5zdXBwb3J0cygicG9zaXRpb24iLCJzdGlja3kiKXx8d2luZG93LkNTUy5zdXBwb3J0cygicG9zaXRpb24iLCItd2Via2l0LXN0aWNreSIpKX19fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfc2Nyb2xsVmlld3BvcnRIZWlnaHRVcGRhdGVkKF92aWV3cG9ydEhlaWdodCkiXX1zZXQgX3Njcm9sbFRvcCh0KXt0aGlzLiQudGFibGUuc2Nyb2xsVG9wPXR9Z2V0IF9zY3JvbGxUb3AoKXtyZXR1cm4gdGhpcy4kLnRhYmxlLnNjcm9sbFRvcH1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5fc2Nyb2xsTGluZUhlaWdodD10aGlzLl9nZXRTY3JvbGxMaW5lSGVpZ2h0KCl9X2dldFNjcm9sbExpbmVIZWlnaHQoKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3Quc3R5bGUuZm9udFNpemU9ImluaXRpYWwiLHQuc3R5bGUuZGlzcGxheT0ibm9uZSIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KTtjb25zdCBlPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLmZvbnRTaXplO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLGU/d2luZG93LnBhcnNlSW50KGUpOnZvaWQgMH1fc2Nyb2xsVmlld3BvcnRIZWlnaHRVcGRhdGVkKHQpe3RoaXMuX3Njcm9sbFBhZ2VIZWlnaHQ9dC10aGlzLiQuaGVhZGVyLmNsaWVudEhlaWdodC10aGlzLiQuZm9vdGVyLmNsaWVudEhlaWdodC10aGlzLl9zY3JvbGxMaW5lSGVpZ2h0fXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLiQub3V0ZXJzY3JvbGxlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLnNjcm9sbFRhcmdldD10aGlzLiQudGFibGUsdGhpcy5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsdGhpcy5fb25XaGVlbCksdGhpcy4kLml0ZW1zLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCh0PT57Y29uc3QgZT10LmNvbXBvc2VkUGF0aCgpLmluZGV4T2YodGhpcy4kLml0ZW1zKTt0aGlzLl9yb3dXaXRoRm9jdXNlZEVsZW1lbnQ9dC5jb21wb3NlZFBhdGgoKVtlLTFdfSkpLHRoaXMuJC5pdGVtcy5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsKCgpPT50aGlzLl9yb3dXaXRoRm9jdXNlZEVsZW1lbnQ9dm9pZCAwKSksdGhpcy5zY3JvbGxUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwoKCk9PnRoaXMuX19tb3VzZURvd249ITApKSx0aGlzLnNjcm9sbFRhcmdldC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwoKCk9Pnt0aGlzLl9fbW91c2VEb3duPSExLHRoaXMuX19wZW5kaW5nUmVvcmRlciYmKHRoaXMuX19wZW5kaW5nUmVvcmRlcj0hMSxzZXRUaW1lb3V0KCgoKT0+dGhpcy5fcmVvcmRlclJvd3MoKSksJDF0KSl9KSl9c2Nyb2xsVG9JbmRleCh0KXt0aGlzLl9hY2Nlc3NJcm9uTGlzdEFQSSgoKCk9PnN1cGVyLnNjcm9sbFRvSW5kZXgodCkpKX1fb25XaGVlbCh0KXtpZih0LmN0cmxLZXl8fHRoaXMuX2hhc1Njcm9sbGVkQW5jZXN0b3IodC50YXJnZXQsdC5kZWx0YVgsdC5kZWx0YVkpKXJldHVybjtjb25zdCBlPXRoaXMuJC50YWJsZTtsZXQgbj10LmRlbHRhWTtpZih0LmRlbHRhTW9kZT09PVdoZWVsRXZlbnQuRE9NX0RFTFRBX0xJTkU/bio9dGhpcy5fc2Nyb2xsTGluZUhlaWdodDp0LmRlbHRhTW9kZT09PVdoZWVsRXZlbnQuRE9NX0RFTFRBX1BBR0UmJihuKj10aGlzLl9zY3JvbGxQYWdlSGVpZ2h0KSx0aGlzLl93aGVlbEFuaW1hdGlvbkZyYW1lKXJldHVybiB0aGlzLl9kZWx0YVlBY2MrPW4sdm9pZCB0LnByZXZlbnREZWZhdWx0KCk7bis9dGhpcy5fZGVsdGFZQWNjLHRoaXMuX2RlbHRhWUFjYz0wLHRoaXMuX3doZWVsQW5pbWF0aW9uRnJhbWU9ITAsdGhpcy5fZGVib3VuY2VyV2hlZWxBbmltYXRpb25GcmFtZT1Obi5kZWJvdW5jZSh0aGlzLl9kZWJvdW5jZXJXaGVlbEFuaW1hdGlvbkZyYW1lLF90LCgoKT0+dGhpcy5fd2hlZWxBbmltYXRpb25GcmFtZT0hMSkpO2NvbnN0IGk9TWF0aC5hYnModC5kZWx0YVgpK01hdGguYWJzKG4pO3RoaXMuX2NhblNjcm9sbChlLHQuZGVsdGFYLG4pPyh0LnByZXZlbnREZWZhdWx0KCksZS5zY3JvbGxUb3ArPW4sZS5zY3JvbGxMZWZ0Kz10LmRlbHRhWCx0aGlzLl9zY3JvbGxIYW5kbGVyKCksdGhpcy5faGFzUmVzaWR1YWxNb21lbnR1bT0hMCx0aGlzLl9pZ25vcmVOZXdXaGVlbD0hMCx0aGlzLl9kZWJvdW5jZXJJZ25vcmVOZXdXaGVlbD1Obi5kZWJvdW5jZSh0aGlzLl9kZWJvdW5jZXJJZ25vcmVOZXdXaGVlbCxndC5hZnRlcihLMXQpLCgoKT0+dGhpcy5faWdub3JlTmV3V2hlZWw9ITEpKSk6dGhpcy5faGFzUmVzaWR1YWxNb21lbnR1bSYmaTw9dGhpcy5fcHJldmlvdXNNb21lbnR1bXx8dGhpcy5faWdub3JlTmV3V2hlZWw/dC5wcmV2ZW50RGVmYXVsdCgpOmk+dGhpcy5fcHJldmlvdXNNb21lbnR1bSYmKHRoaXMuX2hhc1Jlc2lkdWFsTW9tZW50dW09ITEpLHRoaXMuX3ByZXZpb3VzTW9tZW50dW09aX1faGFzU2Nyb2xsZWRBbmNlc3Rvcih0LGUsbil7cmV0dXJuInZhYWRpbi1ncmlkLWNlbGwtY29udGVudCIhPT10LmxvY2FsTmFtZSYmKCEoIXRoaXMuX2NhblNjcm9sbCh0LGUsbil8fC0xPT09WyJhdXRvIiwic2Nyb2xsIl0uaW5kZXhPZihnZXRDb21wdXRlZFN0eWxlKHQpLm92ZXJmbG93KSl8fCh0IT09dGhpcyYmdC5wYXJlbnRFbGVtZW50P3RoaXMuX2hhc1Njcm9sbGVkQW5jZXN0b3IodC5wYXJlbnRFbGVtZW50LGUsbik6dm9pZCAwKSl9X2NhblNjcm9sbCh0LGUsbil7cmV0dXJuIG4+MCYmdC5zY3JvbGxUb3A8dC5zY3JvbGxIZWlnaHQtdC5vZmZzZXRIZWlnaHR8fG48MCYmdC5zY3JvbGxUb3A+MHx8ZT4wJiZ0LnNjcm9sbExlZnQ8dC5zY3JvbGxXaWR0aC10Lm9mZnNldFdpZHRofHxlPDAmJnQuc2Nyb2xsTGVmdD4wfV9zY2hlZHVsZVNjcm9sbGluZygpe3RoaXMuX3Njcm9sbGluZ0ZyYW1lfHwodGhpcy5fc2Nyb2xsaW5nRnJhbWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJzY3JvbGxpbmciLCEwLHRoaXMuJC5zY3JvbGxlcikpKSksdGhpcy5fZGVib3VuY2VTY3JvbGxpbmc9Tm4uZGVib3VuY2UodGhpcy5fZGVib3VuY2VTY3JvbGxpbmcsZ3QuYWZ0ZXIoJDF0KSwoKCk9PntjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9zY3JvbGxpbmdGcmFtZSksZGVsZXRlIHRoaXMuX3Njcm9sbGluZ0ZyYW1lLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgic2Nyb2xsaW5nIiwhMSx0aGlzLiQuc2Nyb2xsZXIpLHRoaXMuX3Jlb3JkZXJSb3dzKCl9KSl9X2FmdGVyU2Nyb2xsKCl7dGhpcy5fdHJhbnNsYXRlU3RhdGlvbmFyeUVsZW1lbnRzKCksdGhpcy5oYXNBdHRyaWJ1dGUoInJlb3JkZXJpbmciKXx8dGhpcy5fc2NoZWR1bGVTY3JvbGxpbmcoKSx0aGlzLl91cGRhdGVPdmVyZmxvdygpfV91cGRhdGVPdmVyZmxvdygpe2xldCB0PSIiO2NvbnN0IGU9dGhpcy4kLnRhYmxlO2Uuc2Nyb2xsVG9wPGUuc2Nyb2xsSGVpZ2h0LWUuY2xpZW50SGVpZ2h0JiYodCs9IiBib3R0b20iKSxlLnNjcm9sbFRvcD4wJiYodCs9IiB0b3AiKSxlLnNjcm9sbExlZnQ8ZS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRoJiYodCs9IiByaWdodCIpLGUuc2Nyb2xsTGVmdD4wJiYodCs9IiBsZWZ0IiksdGhpcy5fZGVib3VuY2VPdmVyZmxvdz1Obi5kZWJvdW5jZSh0aGlzLl9kZWJvdW5jZU92ZXJmbG93LF90LCgoKT0+e2NvbnN0IGU9dC50cmltKCk7ZS5sZW5ndGg+MCYmdGhpcy5nZXRBdHRyaWJ1dGUoIm92ZXJmbG93IikhPT1lP3RoaXMuc2V0QXR0cmlidXRlKCJvdmVyZmxvdyIsZSk6MD09ZS5sZW5ndGgmJnRoaXMuaGFzQXR0cmlidXRlKCJvdmVyZmxvdyIpJiZ0aGlzLnJlbW92ZUF0dHJpYnV0ZSgib3ZlcmZsb3ciKX0pKX1fcmVvcmRlclJvd3MoKXtpZih0aGlzLl9fbW91c2VEb3duKXJldHVybiB2b2lkKHRoaXMuX19wZW5kaW5nUmVvcmRlcj0hMCk7Y29uc3QgdD10aGlzLiQuaXRlbXMsZT10LnF1ZXJ5U2VsZWN0b3JBbGwoInRyIik7aWYoIWUubGVuZ3RoKXJldHVybjtjb25zdCBuPXRoaXMuX3ZpcnR1YWxTdGFydCt0aGlzLl92aWR4T2Zmc2V0LGk9dGhpcy5fcm93V2l0aEZvY3VzZWRFbGVtZW50fHxBcnJheS5mcm9tKGUpLmZpbHRlcigodD0+IXQuaGlkZGVuKSlbMF07aWYoIWkpcmV0dXJuO2NvbnN0IHI9aS5pbmRleC1uLG89QXJyYXkuZnJvbShlKS5pbmRleE9mKGkpLXI7aWYobz4wKWZvcihsZXQgbj0wO248bztuKyspdC5hcHBlbmRDaGlsZChlW25dKTtlbHNlIGlmKG88MClmb3IobGV0IG49ZS5sZW5ndGgrbztuPGUubGVuZ3RoO24rKyl0Lmluc2VydEJlZm9yZShlW25dLGVbMF0pO2lmKHRoaXMuX3NhZmFyaSl7Y29uc3R7dHJhbnNmb3JtOnR9PXRoaXMuJC5oZWFkZXIuc3R5bGU7dGhpcy4kLmhlYWRlci5zdHlsZS50cmFuc2Zvcm09IiIsc2V0VGltZW91dCgoKCk9PnRoaXMuJC5oZWFkZXIuc3R5bGUudHJhbnNmb3JtPXQpKX19X2Zyb3plbkNlbGxzQ2hhbmdlZCgpe3RoaXMuX2RlYm91bmNlckNhY2hlRWxlbWVudHM9Tm4uZGVib3VuY2UodGhpcy5fZGVib3VuY2VyQ2FjaGVFbGVtZW50cyx2dCwoKCk9PntBcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCdbcGFydH49ImNlbGwiXScpKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnN0eWxlLnRyYW5zZm9ybT0iIn0pKSx0aGlzLl9mcm96ZW5DZWxscz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLiQudGFibGUucXVlcnlTZWxlY3RvckFsbCgiW2Zyb3plbl0iKSksdGhpcy5fdXBkYXRlU2Nyb2xsZXJNZWFzdXJlbWVudHMoKSx0aGlzLl90cmFuc2xhdGVTdGF0aW9uYXJ5RWxlbWVudHMoKX0pKSx0aGlzLl91cGRhdGVMYXN0RnJvemVuKCl9X3VwZGF0ZVNjcm9sbGVyTWVhc3VyZW1lbnRzKCl7dGhpcy5fZnJvemVuQ2VsbHMubGVuZ3RoPjAmJnRoaXMuX19pc1JUTCYmKHRoaXMuX19zY3JvbGxlck1ldHJpY3M9e3Njcm9sbFdpZHRoOnRoaXMuJC50YWJsZS5zY3JvbGxXaWR0aCxjbGllbnRXaWR0aDp0aGlzLiQudGFibGUuY2xpZW50V2lkdGh9KX1fdXBkYXRlTGFzdEZyb3plbigpe2lmKCF0aGlzLl9jb2x1bW5UcmVlKXJldHVybjtjb25zdCB0PXRoaXMuX2NvbHVtblRyZWVbdGhpcy5fY29sdW1uVHJlZS5sZW5ndGgtMV0uc2xpY2UoMCk7dC5zb3J0KCgodCxlKT0+dC5fb3JkZXItZS5fb3JkZXIpKTtjb25zdCBlPXQucmVkdWNlKCgodCxlLG4pPT4oZS5fbGFzdEZyb3plbj0hMSxlLmZyb3plbiYmIWUuaGlkZGVuP246dCkpLHZvaWQgMCk7dm9pZCAwIT09ZSYmKHRbZV0uX2xhc3RGcm96ZW49ITApfV90cmFuc2xhdGVTdGF0aW9uYXJ5RWxlbWVudHMoKXtjb25zdCB0PU1hdGgubWF4KDAsdGhpcy5fc2Nyb2xsTGVmdCksZT1NYXRoLm1heCgwLHRoaXMuX3Njcm9sbFRvcCk7bGV0IG49MCxpPTAscj0wO2lmKHRoaXMuX3VzZVN0aWNreXx8KG49dCxpPWUscj10aGlzLiQudGFibGUuY2xpZW50SGVpZ2h0LXRoaXMuJC5mb290ZXIub2Zmc2V0SGVpZ2h0LXRoaXMuJC5mb290ZXIub2Zmc2V0VG9wKSx0aGlzLiQuaGVhZGVyLnN0eWxlLnRyYW5zZm9ybT10aGlzLl9nZXRUcmFuc2xhdGUoLXQrbixpKSx0aGlzLiQuZm9vdGVyLnN0eWxlLnRyYW5zZm9ybT10aGlzLl9nZXRUcmFuc2xhdGUoLXQrbixpK3IpLHRoaXMuJC5pdGVtcy5zdHlsZS50cmFuc2Zvcm09dGhpcy5fZ2V0VHJhbnNsYXRlKC10K24sMCksdGhpcy5fZnJvemVuQ2VsbHMubGVuZ3RoPjApe2NvbnN0IHQ9dGhpcy5fX2lzUlRMP3RoaXMuX19nZXROb3JtYWxpemVkU2Nyb2xsTGVmdCh0aGlzLiQudGFibGUpK3RoaXMuX19zY3JvbGxlck1ldHJpY3MuY2xpZW50V2lkdGgtdGhpcy5fX3Njcm9sbGVyTWV0cmljcy5zY3JvbGxXaWR0aDp0aGlzLl9zY3JvbGxMZWZ0LGU9dGhpcy5fZ2V0VHJhbnNsYXRlKHQsMCk7Zm9yKGxldCB0PTA7dDx0aGlzLl9mcm96ZW5DZWxscy5sZW5ndGg7dCsrKXRoaXMuX2Zyb3plbkNlbGxzW3RdLnN0eWxlLnRyYW5zZm9ybT1lfX1fZ2V0VHJhbnNsYXRlKHQsZSl7cmV0dXJuYHRyYW5zbGF0ZSgke3R9cHgsICR7ZX1weClgfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi8sSjF0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57c2VsZWN0ZWRJdGVtczp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwLHZhbHVlOigpPT5bXX19fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfc2VsZWN0ZWRJdGVtc0NoYW5nZWQoc2VsZWN0ZWRJdGVtcy4qKSJdfV9pc1NlbGVjdGVkKHQpe3JldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMmJnRoaXMuX2dldEl0ZW1JbmRleEluQXJyYXkodCx0aGlzLnNlbGVjdGVkSXRlbXMpPi0xfXNlbGVjdEl0ZW0odCl7dGhpcy5faXNTZWxlY3RlZCh0KXx8KHRoaXMuc2VsZWN0ZWRJdGVtcz1bLi4udGhpcy5zZWxlY3RlZEl0ZW1zLHRdKX1kZXNlbGVjdEl0ZW0odCl7dGhpcy5faXNTZWxlY3RlZCh0KSYmKHRoaXMuc2VsZWN0ZWRJdGVtcz10aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKChlPT4hdGhpcy5faXRlbXNFcXVhbChlLHQpKSkpfV90b2dnbGVJdGVtKHQpey0xPT09dGhpcy5fZ2V0SXRlbUluZGV4SW5BcnJheSh0LHRoaXMuc2VsZWN0ZWRJdGVtcyk/dGhpcy5zZWxlY3RJdGVtKHQpOnRoaXMuZGVzZWxlY3RJdGVtKHQpfV9zZWxlY3RlZEl0ZW1zQ2hhbmdlZCh0KXshdGhpcy4kLml0ZW1zLmNoaWxkcmVuLmxlbmd0aHx8InNlbGVjdGVkSXRlbXMiIT09dC5wYXRoJiYic2VsZWN0ZWRJdGVtcy5zcGxpY2VzIiE9PXQucGF0aHx8QXJyYXkuZnJvbSh0aGlzLiQuaXRlbXMuY2hpbGRyZW4pLmZvckVhY2goKHQ9Pnt0aGlzLl91cGRhdGVJdGVtKHQsdC5faXRlbSl9KSl9X3NlbGVjdGVkSW5zdGFuY2VDaGFuZ2VkQ2FsbGJhY2sodCxlKXtlP3RoaXMuc2VsZWN0SXRlbSh0Lml0ZW0pOnRoaXMuZGVzZWxlY3RJdGVtKHQuaXRlbSl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLyxRMXQ9dD0+Y2xhc3MgZXh0ZW5kcyB0e3N0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybnttdWx0aVNvcnQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX3NvcnRlcnM6e3R5cGU6QXJyYXksdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LF9wcmV2aW91c1NvcnRlcnM6e3R5cGU6QXJyYXksdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm5bXX19fX1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJzb3J0ZXItY2hhbmdlZCIsdGhpcy5fb25Tb3J0ZXJDaGFuZ2VkKX1fb25Tb3J0ZXJDaGFuZ2VkKHQpe2NvbnN0IGU9dC50YXJnZXQ7dC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLl9fdXBkYXRlU29ydGVyKGUpLHRoaXMuX19hcHBseVNvcnRlcnMoKX1fX3JlbW92ZVNvcnRlcnModCl7MCE9dC5sZW5ndGgmJih0aGlzLl9zb3J0ZXJzPXRoaXMuX3NvcnRlcnMuZmlsdGVyKChlPT50LmluZGV4T2YoZSk8MCkpLHRoaXMubXVsdGlTb3J0JiZ0aGlzLl9fdXBkYXRlU29ydE9yZGVycygpLHRoaXMuX19hcHBseVNvcnRlcnMoKSl9X191cGRhdGVTb3J0T3JkZXJzKCl7dGhpcy5fc29ydGVycy5mb3JFYWNoKCgodCxlKT0+dC5fb3JkZXI9dGhpcy5fc29ydGVycy5sZW5ndGg+MT9lOm51bGwpLHRoaXMpfV9fdXBkYXRlU29ydGVyKHQpe2lmKHQuZGlyZWN0aW9ufHwtMSE9PXRoaXMuX3NvcnRlcnMuaW5kZXhPZih0KSlpZih0Ll9vcmRlcj1udWxsLHRoaXMubXVsdGlTb3J0KXRoaXMuX3JlbW92ZUFycmF5SXRlbSh0aGlzLl9zb3J0ZXJzLHQpLHQuZGlyZWN0aW9uJiZ0aGlzLl9zb3J0ZXJzLnVuc2hpZnQodCksdGhpcy5fX3VwZGF0ZVNvcnRPcmRlcnMoKTtlbHNlIGlmKHQuZGlyZWN0aW9uKXtjb25zdCBlPXRoaXMuX3NvcnRlcnMuZmlsdGVyKChlPT5lIT10KSk7dGhpcy5fc29ydGVycz1bdF0sZS5mb3JFYWNoKCh0PT57dC5fb3JkZXI9bnVsbCx0LmRpcmVjdGlvbj1udWxsfSkpfX1fX2FwcGx5U29ydGVycygpe3RoaXMuZGF0YVByb3ZpZGVyJiZ0aGlzLmlzQXR0YWNoZWQmJkpTT04uc3RyaW5naWZ5KHRoaXMuX3ByZXZpb3VzU29ydGVycykhPT1KU09OLnN0cmluZ2lmeSh0aGlzLl9tYXBTb3J0ZXJzKCkpJiZ0aGlzLmNsZWFyQ2FjaGUoKSx0aGlzLl9hMTF5VXBkYXRlU29ydGVycygpLHRoaXMuX3ByZXZpb3VzU29ydGVycz10aGlzLl9tYXBTb3J0ZXJzKCl9X21hcFNvcnRlcnMoKXtyZXR1cm4gdGhpcy5fc29ydGVycy5tYXAoKHQ9Pih7cGF0aDp0LnBhdGgsZGlyZWN0aW9uOnQuZGlyZWN0aW9ufSkpKX1fcmVtb3ZlQXJyYXlJdGVtKHQsZSl7Y29uc3Qgbj10LmluZGV4T2YoZSk7bj4tMSYmdC5zcGxpY2UobiwxKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLHQwdD10PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue2NlbGxDbGFzc05hbWVHZW5lcmF0b3I6RnVuY3Rpb259fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfX2NlbGxDbGFzc05hbWVHZW5lcmF0b3JDaGFuZ2VkKGNlbGxDbGFzc05hbWVHZW5lcmF0b3IpIl19X19jZWxsQ2xhc3NOYW1lR2VuZXJhdG9yQ2hhbmdlZCgpe3RoaXMuZ2VuZXJhdGVDZWxsQ2xhc3NOYW1lcygpfWdlbmVyYXRlQ2VsbENsYXNzTmFtZXMoKXtBcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKS5mb3JFYWNoKCh0PT50aGlzLl9nZW5lcmF0ZUNlbGxDbGFzc05hbWVzKHQsdGhpcy5fX2dldFJvd01vZGVsKHQpKSkpfV9nZW5lcmF0ZUNlbGxDbGFzc05hbWVzKHQsZSl7QXJyYXkuZnJvbSh0LmNoaWxkcmVuKS5mb3JFYWNoKCh0PT57aWYodC5fX2dlbmVyYXRlZENsYXNzZXMmJnQuX19nZW5lcmF0ZWRDbGFzc2VzLmZvckVhY2goKGU9PnQuY2xhc3NMaXN0LnJlbW92ZShlKSkpLHRoaXMuY2VsbENsYXNzTmFtZUdlbmVyYXRvcil7Y29uc3Qgbj10aGlzLmNlbGxDbGFzc05hbWVHZW5lcmF0b3IodC5fY29sdW1uLGUpO3QuX19nZW5lcmF0ZWRDbGFzc2VzPW4mJm4uc3BsaXQoIiAiKS5maWx0ZXIoKHQ9PnQubGVuZ3RoPjApKSx0Ll9fZ2VuZXJhdGVkQ2xhc3NlcyYmdC5fX2dlbmVyYXRlZENsYXNzZXMuZm9yRWFjaCgoZT0+dC5jbGFzc0xpc3QuYWRkKGUpKSl9fSkpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi8sZTB0PSJiZXR3ZWVuIixuMHQ9Im9uLXRvcC1vci1iZXR3ZWVuIixpMHQ9Im9uLWdyaWQiLHIwdD0ib24tdG9wIixvMHQ9ImFib3ZlIixhMHQ9ImJlbG93IixzMHQ9ImVtcHR5IixsMHQ9dD0+Y2xhc3MgZXh0ZW5kcyB0e3N0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybntkcm9wTW9kZTpTdHJpbmcscm93c0RyYWdnYWJsZTpCb29sZWFuLGRyYWdGaWx0ZXI6RnVuY3Rpb24sZHJvcEZpbHRlcjpGdW5jdGlvbixfX2RuZEF1dG9TY3JvbGxUaHJlc2hvbGQ6e3ZhbHVlOjUwfX19c3RhdGljIGdldCBvYnNlcnZlcnMoKXtyZXR1cm5bIl9kcmFnRHJvcEFjY2Vzc0NoYW5nZWQocm93c0RyYWdnYWJsZSwgZHJvcE1vZGUsIGRyYWdGaWx0ZXIsIGRyb3BGaWx0ZXIpIl19cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMuJC50YWJsZS5hZGRFdmVudExpc3RlbmVyKCJkcmFnc3RhcnQiLHRoaXMuX29uRHJhZ1N0YXJ0LmJpbmQodGhpcykpLHRoaXMuJC50YWJsZS5hZGRFdmVudExpc3RlbmVyKCJkcmFnZW5kIix0aGlzLl9vbkRyYWdFbmQuYmluZCh0aGlzKSksdGhpcy4kLnRhYmxlLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIix0aGlzLl9vbkRyYWdPdmVyLmJpbmQodGhpcykpLHRoaXMuJC50YWJsZS5hZGRFdmVudExpc3RlbmVyKCJkcmFnbGVhdmUiLHRoaXMuX29uRHJhZ0xlYXZlLmJpbmQodGhpcykpLHRoaXMuJC50YWJsZS5hZGRFdmVudExpc3RlbmVyKCJkcm9wIix0aGlzLl9vbkRyb3AuYmluZCh0aGlzKSksdGhpcy4kLnRhYmxlLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdlbnRlciIsKHQ9Pnt0aGlzLmRyb3BNb2RlJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCkpfSkpfV9vbkRyYWdTdGFydCh0KXtpZih0aGlzLnJvd3NEcmFnZ2FibGUpe2xldCBlPXQudGFyZ2V0O2lmKCJ2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQiPT09ZS5sb2NhbE5hbWUmJihlPWUuYXNzaWduZWRTbG90LnBhcmVudE5vZGUucGFyZW50Tm9kZSksZS5wYXJlbnROb2RlIT09dGhpcy4kLml0ZW1zKXJldHVybjtpZih0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgiZHJhZ2dpbmctcm93cyIsITAsdGhpcyksdGhpcy5fc2FmYXJpKXtjb25zdCB0PWUuc3R5bGUudHJhbnNmb3JtO2Uuc3R5bGUudG9wPS90cmFuc2xhdGVZXCgoLiopXCkvLmV4ZWModClbMV0sZS5zdHlsZS50cmFuc2Zvcm09Im5vbmUiLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntlLnN0eWxlLnRvcD0iIixlLnN0eWxlLnRyYW5zZm9ybT10fSkpfWNvbnN0IG49ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLl9pb3M/dC5kYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKGUpOnQuZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZShlLHQuY2xpZW50WC1uLmxlZnQsdC5jbGllbnRZLW4udG9wKTtsZXQgaT1bZV07dGhpcy5faXNTZWxlY3RlZChlLl9pdGVtKSYmKGk9dGhpcy5fX2dldFZpZXdwb3J0Um93cygpLmZpbHRlcigodD0+dGhpcy5faXNTZWxlY3RlZCh0Ll9pdGVtKSkpLmZpbHRlcigodD0+IXRoaXMuZHJhZ0ZpbHRlcnx8dGhpcy5kcmFnRmlsdGVyKHRoaXMuX19nZXRSb3dNb2RlbCh0KSkpKSksdC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgidGV4dCIsdGhpcy5fX2Zvcm1hdERlZmF1bHRUcmFuc2ZlckRhdGEoaSkpLGUuc2V0QXR0cmlidXRlKCJkcmFnc3RhcnQiLGkubGVuZ3RoPjE/aS5sZW5ndGg6IiIpLHRoaXMudXBkYXRlU3R5bGVzKHsiLS1fZ3JpZC1kcmFnLXN0YXJ0LXgiOnQuY2xpZW50WC1uLmxlZnQrMjArInB4IiwiLS1fZ3JpZC1kcmFnLXN0YXJ0LXkiOnQuY2xpZW50WS1uLnRvcCsxMCsicHgifSkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e2UucmVtb3ZlQXR0cmlidXRlKCJkcmFnc3RhcnQiKSx0aGlzLnVwZGF0ZVN0eWxlcyh7Ii0tX2dyaWQtZHJhZy1zdGFydC14IjoiIiwiLS1fZ3JpZC1kcmFnLXN0YXJ0LXkiOiIifSl9KSk7Y29uc3Qgcj1uZXcgQ3VzdG9tRXZlbnQoImdyaWQtZHJhZ3N0YXJ0Iix7ZGV0YWlsOntkcmFnZ2VkSXRlbXM6aS5tYXAoKHQ9PnQuX2l0ZW0pKSxzZXREcmFnRGF0YTooZSxuKT0+dC5kYXRhVHJhbnNmZXIuc2V0RGF0YShlLG4pLHNldERyYWdnZWRJdGVtc0NvdW50OnQ9PmUuc2V0QXR0cmlidXRlKCJkcmFnc3RhcnQiLHQpfX0pO3Iub3JpZ2luYWxFdmVudD10LHRoaXMuZGlzcGF0Y2hFdmVudChyKX19X29uRHJhZ0VuZCh0KXt0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImRyYWdnaW5nLXJvd3MiLCExLHRoaXMpLHQuc3RvcFByb3BhZ2F0aW9uKCk7Y29uc3QgZT1uZXcgQ3VzdG9tRXZlbnQoImdyaWQtZHJhZ2VuZCIpO2Uub3JpZ2luYWxFdmVudD10LHRoaXMuZGlzcGF0Y2hFdmVudChlKX1fb25EcmFnTGVhdmUodCl7dC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLl9jbGVhckRyYWdTdHlsZXMoKX1fb25EcmFnT3Zlcih0KXtpZih0aGlzLmRyb3BNb2RlKXtpZih0aGlzLl9kcm9wTG9jYXRpb249dm9pZCAwLHRoaXMuX2RyYWdPdmVySXRlbT12b2lkIDAsdGhpcy5fX2RuZEF1dG9TY3JvbGwodC5jbGllbnRZKSlyZXR1cm4gdm9pZCB0aGlzLl9jbGVhckRyYWdTdHlsZXMoKTtsZXQgZT10LmNvbXBvc2VkUGF0aCgpLmZpbHRlcigodD0+InRyIj09PXQubG9jYWxOYW1lKSlbMF07aWYodGhpcy5fZWZmZWN0aXZlU2l6ZSYmdGhpcy5kcm9wTW9kZSE9PWkwdClpZihlJiZlLnBhcmVudE5vZGU9PT10aGlzLiQuaXRlbXMpe2NvbnN0IG49ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZih0aGlzLl9kcm9wTG9jYXRpb249cjB0LHRoaXMuZHJvcE1vZGU9PT1lMHQpe3RoaXMuX2Ryb3BMb2NhdGlvbj10LmNsaWVudFktbi50b3A8bi5ib3R0b20tdC5jbGllbnRZP28wdDphMHR9ZWxzZSB0aGlzLmRyb3BNb2RlPT09bjB0JiYodC5jbGllbnRZLW4udG9wPG4uaGVpZ2h0LzM/dGhpcy5fZHJvcExvY2F0aW9uPW8wdDp0LmNsaWVudFktbi50b3A+bi5oZWlnaHQvMyoyJiYodGhpcy5fZHJvcExvY2F0aW9uPWEwdCkpfWVsc2V7aWYoZSlyZXR1cm47aWYodGhpcy5kcm9wTW9kZSE9PWUwdCYmdGhpcy5kcm9wTW9kZSE9PW4wdClyZXR1cm47ZT1BcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKS5wb3AoKSx0aGlzLl9kcm9wTG9jYXRpb249YTB0fWVsc2UgdGhpcy5fZHJvcExvY2F0aW9uPXMwdDtpZihlJiZlLmhhc0F0dHJpYnV0ZSgiZHJvcC1kaXNhYmxlZCIpKXJldHVybiB2b2lkKHRoaXMuX2Ryb3BMb2NhdGlvbj12b2lkIDApO3Quc3RvcFByb3BhZ2F0aW9uKCksdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2Ryb3BMb2NhdGlvbj09PXMwdD90aGlzLl90b2dnbGVBdHRyaWJ1dGUoImRyYWdvdmVyIiwhMCx0aGlzKTplPyh0aGlzLl9kcmFnT3Zlckl0ZW09ZS5faXRlbSxlLmdldEF0dHJpYnV0ZSgiZHJhZ292ZXIiKSE9PXRoaXMuX2Ryb3BMb2NhdGlvbiYmZS5zZXRBdHRyaWJ1dGUoImRyYWdvdmVyIix0aGlzLl9kcm9wTG9jYXRpb24pKTp0aGlzLl9jbGVhckRyYWdTdHlsZXMoKX19X19kbmRBdXRvU2Nyb2xsKHQpe2lmKHRoaXMuX19kbmRBdXRvU2Nyb2xsaW5nKXJldHVybiEwO2NvbnN0IGU9dGhpcy4kLmhlYWRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20sbj10aGlzLiQuZm9vdGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCxpPWUtdCt0aGlzLl9fZG5kQXV0b1Njcm9sbFRocmVzaG9sZCxyPXQtbit0aGlzLl9fZG5kQXV0b1Njcm9sbFRocmVzaG9sZDtsZXQgbz0wO2lmKHI+MD9vPTIqcjppPjAmJihvPTIqLWkpLG8pe2NvbnN0IHQ9dGhpcy4kLnRhYmxlLnNjcm9sbFRvcDt0aGlzLiQudGFibGUuc2Nyb2xsVG9wKz1vO2lmKHQhPT10aGlzLiQudGFibGUuc2Nyb2xsVG9wKXJldHVybiB0aGlzLl9fZG5kQXV0b1Njcm9sbGluZz0hMCxzZXRUaW1lb3V0KCgoKT0+dGhpcy5fX2RuZEF1dG9TY3JvbGxpbmc9ITEpLDIwKSx0aGlzLl9zY3JvbGxIYW5kbGVyKCksITB9fV9fZ2V0Vmlld3BvcnRSb3dzKCl7Y29uc3QgdD10aGlzLiQuaGVhZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSxlPXRoaXMuJC5mb290ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO3JldHVybiBBcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZmlsdGVyKChuPT57Y29uc3QgaT1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBpLmJvdHRvbT50JiZpLnRvcDxlfSkpfV9jbGVhckRyYWdTdHlsZXMoKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiZHJhZ292ZXIiKSxBcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZm9yRWFjaCgodD0+dC5yZW1vdmVBdHRyaWJ1dGUoImRyYWdvdmVyIikpKX1fb25Ecm9wKHQpe2lmKHRoaXMuZHJvcE1vZGUpe3Quc3RvcFByb3BhZ2F0aW9uKCksdC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGU9dC5kYXRhVHJhbnNmZXIudHlwZXMmJkFycmF5LmZyb20odC5kYXRhVHJhbnNmZXIudHlwZXMpLm1hcCgoZT0+KHt0eXBlOmUsZGF0YTp0LmRhdGFUcmFuc2Zlci5nZXREYXRhKGUpfSkpKTt0aGlzLl9jbGVhckRyYWdTdHlsZXMoKTtjb25zdCBuPW5ldyBDdXN0b21FdmVudCgiZ3JpZC1kcm9wIix7YnViYmxlczp0LmJ1YmJsZXMsY2FuY2VsYWJsZTp0LmNhbmNlbGFibGUsZGV0YWlsOntkcm9wVGFyZ2V0SXRlbTp0aGlzLl9kcmFnT3Zlckl0ZW0sZHJvcExvY2F0aW9uOnRoaXMuX2Ryb3BMb2NhdGlvbixkcmFnRGF0YTplfX0pO24ub3JpZ2luYWxFdmVudD10LHRoaXMuZGlzcGF0Y2hFdmVudChuKX19X19mb3JtYXREZWZhdWx0VHJhbnNmZXJEYXRhKHQpe3JldHVybiB0Lm1hcCgodD0+QXJyYXkuZnJvbSh0LmNoaWxkcmVuKS5maWx0ZXIoKHQ9PiF0LmhpZGRlbiYmLTE9PT10LmdldEF0dHJpYnV0ZSgicGFydCIpLmluZGV4T2YoImRldGFpbHMtY2VsbCIpKSkuc29ydCgoKHQsZSk9PnQuX2NvbHVtbi5fb3JkZXI+ZS5fY29sdW1uLl9vcmRlcj8xOi0xKSkubWFwKCh0PT50Ll9jb250ZW50LnRleHRDb250ZW50LnRyaW0oKSkpLmZpbHRlcigodD0+dCkpLmpvaW4oIlx0IikpKS5qb2luKCJcbiIpfV9kcmFnRHJvcEFjY2Vzc0NoYW5nZWQoKXt0aGlzLmZpbHRlckRyYWdBbmREcm9wKCl9ZmlsdGVyRHJhZ0FuZERyb3AoKXtBcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKS5mb3JFYWNoKCh0PT57dGhpcy5fZmlsdGVyRHJhZ0FuZERyb3AodCx0aGlzLl9fZ2V0Um93TW9kZWwodCkpfSkpfV9maWx0ZXJEcmFnQW5kRHJvcCh0LGUpe2NvbnN0IG49IXRoaXMucm93c0RyYWdnYWJsZXx8dGhpcy5kcmFnRmlsdGVyJiYhdGhpcy5kcmFnRmlsdGVyKGUpLGk9IXRoaXMuZHJvcE1vZGV8fHRoaXMuZHJvcEZpbHRlciYmIXRoaXMuZHJvcEZpbHRlcihlKTtBcnJheS5mcm9tKHQuY2hpbGRyZW4pLm1hcCgodD0+dC5fY29udGVudCkpLmZvckVhY2goKHQ9PntuP3QucmVtb3ZlQXR0cmlidXRlKCJkcmFnZ2FibGUiKTp0LnNldEF0dHJpYnV0ZSgiZHJhZ2dhYmxlIiwhMCl9KSksdGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJkcmFnLWRpc2FibGVkIixuLHQpLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgiZHJvcC1kaXNhYmxlZCIsaSx0KX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLGMwdD10PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue19oZWFkZXJGb2N1c2FibGU6e3R5cGU6T2JqZWN0LG9ic2VydmVyOiJfZm9jdXNhYmxlQ2hhbmdlZCJ9LF9pdGVtc0ZvY3VzYWJsZTp7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il9mb2N1c2FibGVDaGFuZ2VkIn0sX2Zvb3RlckZvY3VzYWJsZTp7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il9mb2N1c2FibGVDaGFuZ2VkIn0sX25hdmlnYXRpbmdJc0hpZGRlbjpCb29sZWFuLF9mb2N1c2VkSXRlbUluZGV4Ont0eXBlOk51bWJlcix2YWx1ZTowfSxfZm9jdXNlZENvbHVtbk9yZGVyOk51bWJlcixpbnRlcmFjdGluZzp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxyZWFkT25seTohMCxvYnNlcnZlcjoiX2ludGVyYWN0aW5nQ2hhbmdlZCJ9fX1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5faW9zfHx0aGlzLl9hbmRyb2lkfHwodGhpcy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9vbktleURvd24pLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuX29uS2V5VXApLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsdGhpcy5fb25Gb2N1c0luKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0Iix0aGlzLl9vbkZvY3VzT3V0KSx0aGlzLiQudGFibGUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsdGhpcy5fb25DZWxsRm9jdXNJbi5iaW5kKHRoaXMpKSx0aGlzLiQudGFibGUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLHRoaXMuX29uQ2VsbEZvY3VzT3V0LmJpbmQodGhpcykpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwoKCk9Pnt0aGlzLl90b2dnbGVBdHRyaWJ1dGUoIm5hdmlnYXRpbmciLCExLHRoaXMpLHRoaXMuX2lzTW91c2Vkb3duPSEwfSkpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsKCgpPT50aGlzLl9pc01vdXNlZG93bj0hMSkpKX1fZm9jdXNhYmxlQ2hhbmdlZCh0LGUpe2UmJmUuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIi0xIiksdCYmdGhpcy5fdXBkYXRlR3JpZFNlY3Rpb25Gb2N1c1RhcmdldCh0KX1faW50ZXJhY3RpbmdDaGFuZ2VkKCl7dGhpcy5fdXBkYXRlR3JpZFNlY3Rpb25Gb2N1c1RhcmdldCh0aGlzLl9oZWFkZXJGb2N1c2FibGUpLHRoaXMuX3VwZGF0ZUdyaWRTZWN0aW9uRm9jdXNUYXJnZXQodGhpcy5faXRlbXNGb2N1c2FibGUpLHRoaXMuX3VwZGF0ZUdyaWRTZWN0aW9uRm9jdXNUYXJnZXQodGhpcy5fZm9vdGVyRm9jdXNhYmxlKX1fb25LZXlEb3duKHQpe2NvbnN0IGU9dC5rZXk7bGV0IG47c3dpdGNoKGUpe2Nhc2UiQXJyb3dVcCI6Y2FzZSJBcnJvd0Rvd24iOmNhc2UiQXJyb3dMZWZ0IjpjYXNlIkFycm93UmlnaHQiOmNhc2UiUGFnZVVwIjpjYXNlIlBhZ2VEb3duIjpjYXNlIkhvbWUiOmNhc2UiRW5kIjpuPSJOYXZpZ2F0aW9uIjticmVhaztjYXNlIkVudGVyIjpjYXNlIkVzY2FwZSI6Y2FzZSJGMiI6bj0iSW50ZXJhY3Rpb24iO2JyZWFrO2Nhc2UiVGFiIjpuPSJUYWIiO2JyZWFrO2Nhc2UiICI6bj0iU3BhY2UifXRoaXMuX2RldGVjdEludGVyYWN0aW5nKHQpLHRoaXMuaW50ZXJhY3RpbmcmJiJJbnRlcmFjdGlvbiIhPT1uJiYobj12b2lkIDApLG4mJnRoaXNbYF9vbiR7bn1LZXlEb3duYF0odCxlKX1fZW5zdXJlU2Nyb2xsZWRUb0luZGV4KHQpe0FycmF5LmZyb20odGhpcy4kLml0ZW1zLmNoaWxkcmVuKS5maWx0ZXIoKGU9PmUuaW5kZXg9PT10KSlbMF18fHRoaXMuX3Njcm9sbFRvSW5kZXgodCl9X29uTmF2aWdhdGlvbktleURvd24odCxlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHQucGFyZW50Tm9kZS5jaGlsZHJlbix0KX10aGlzLl9zY3JvbGxIYW5kbGVyKCksdC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGk9dGhpcy5fbGFzdFZpc2libGVJbmRleC10aGlzLl9maXJzdFZpc2libGVJbmRleC0xO2xldCByPTAsbz0wO3N3aXRjaChlKXtjYXNlIkFycm93UmlnaHQiOnI9dGhpcy5fX2lzUlRMPy0xOjE7YnJlYWs7Y2FzZSJBcnJvd0xlZnQiOnI9dGhpcy5fX2lzUlRMPzE6LTE7YnJlYWs7Y2FzZSJIb21lIjpyPS0xLzAsdC5jdHJsS2V5JiYobz0tMS8wKTticmVhaztjYXNlIkVuZCI6cj0xLzAsdC5jdHJsS2V5JiYobz0xLzApO2JyZWFrO2Nhc2UiQXJyb3dEb3duIjpvPTE7YnJlYWs7Y2FzZSJBcnJvd1VwIjpvPS0xO2JyZWFrO2Nhc2UiUGFnZURvd24iOm89aTticmVhaztjYXNlIlBhZ2VVcCI6bz0taX1jb25zdCBhPXQuY29tcG9zZWRQYXRoKClbMF0scz1uKGEpLGw9dGhpcy5fZWxlbWVudE1hdGNoZXMoYSwnW3BhcnR+PSJkZXRhaWxzLWNlbGwiXScpLGM9YS5wYXJlbnROb2RlLHU9Yy5wYXJlbnROb2RlLGg9KHU9PT10aGlzLiQuaXRlbXM/dGhpcy5fZWZmZWN0aXZlU2l6ZTp1LmNoaWxkcmVuLmxlbmd0aCktMSxkPXU9PT10aGlzLiQuaXRlbXM/dm9pZCAwIT09dGhpcy5fZm9jdXNlZEl0ZW1JbmRleD90aGlzLl9mb2N1c2VkSXRlbUluZGV4OmMuaW5kZXg6bihjKTtsZXQgcD1NYXRoLm1heCgwLE1hdGgubWluKGQrbyxoKSksZj0hMTtpZih1PT09dGhpcy4kLml0ZW1zKXtjb25zdCB0PWMuX2l0ZW0sZT10aGlzLl9jYWNoZS5nZXRJdGVtRm9ySW5kZXgocCk7Zj1sPzA9PT1vOjE9PT1vJiZ0aGlzLl9pc0RldGFpbHNPcGVuZWQodCl8fC0xPT09byYmcCE9PWQmJnRoaXMuX2lzRGV0YWlsc09wZW5lZChlKSxmIT09bCYmKDE9PT1vJiZmfHwtMT09PW8mJiFmKSYmKHA9ZCl9aWYodSE9PXRoaXMuJC5pdGVtcylpZihwPmQpZm9yKDtwPGgmJnUuY2hpbGRyZW5bcF0uaGlkZGVuOylwKys7ZWxzZSBpZihwPGQpZm9yKDtwPjAmJnUuY2hpbGRyZW5bcF0uaGlkZGVuOylwLS07dm9pZCAwPT09dGhpcy5fZm9jdXNlZENvbHVtbk9yZGVyJiYodGhpcy5fZm9jdXNlZENvbHVtbk9yZGVyPWw/MDp0aGlzLl9nZXRDb2x1bW5zKHUsZCkuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKVtzXS5fb3JkZXIpO2NvbnN0IG09dGhpcy5fZ2V0Q29sdW1ucyh1LHApLmZpbHRlcigodD0+IXQuaGlkZGVuKSksZz1tLm1hcCgodD0+dC5fb3JkZXIpKS5zb3J0KCgodCxlKT0+dC1lKSksXz1nLmxlbmd0aC0xLHk9Zy5pbmRleE9mKGcuc2xpY2UoMCkuc29ydCgoKHQsZSk9Pk1hdGguYWJzKHQtdGhpcy5fZm9jdXNlZENvbHVtbk9yZGVyKS1NYXRoLmFicyhlLXRoaXMuX2ZvY3VzZWRDb2x1bW5PcmRlcikpKVswXSksdj0wPT09byYmbD95Ok1hdGgubWF4KDAsTWF0aC5taW4oeStyLF8pKTt2IT09eSYmKHRoaXMuX2ZvY3VzZWRDb2x1bW5PcmRlcj12b2lkIDApLHU9PT10aGlzLiQuaXRlbXMmJnRoaXMuX2Vuc3VyZVNjcm9sbGVkVG9JbmRleChwKSx0aGlzLl90b2dnbGVBdHRyaWJ1dGUoIm5hdmlnYXRpbmciLCEwLHRoaXMpO2NvbnN0IGI9bS5yZWR1Y2UoKCh0LGUsbik9Pih0W2UuX29yZGVyXT1uLHQpKSx7fSlbZ1t2XV0seD11PT09dGhpcy4kLml0ZW1zP0FycmF5LmZyb20odS5jaGlsZHJlbikuZmlsdGVyKCh0PT50LmluZGV4PT09cCkpWzBdOnUuY2hpbGRyZW5bcF07aWYoIXgpcmV0dXJuO2NvbnN0IHc9Zj9BcnJheS5mcm9tKHguY2hpbGRyZW4pLmZpbHRlcigodD0+dGhpcy5fZWxlbWVudE1hdGNoZXModCwnW3BhcnR+PSJkZXRhaWxzLWNlbGwiXScpKSlbMF06eC5jaGlsZHJlbltiXTtpZih0aGlzLl9zY3JvbGxIb3Jpem9udGFsbHlUb0NlbGwodyksdT09PXRoaXMuJC5pdGVtcyYmKHRoaXMuX2ZvY3VzZWRJdGVtSW5kZXg9cCksdT09PXRoaXMuJC5pdGVtcyl7Y29uc3QgdD13LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGU9dGhpcy4kLmZvb3Rlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3Asbj10aGlzLiQuaGVhZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbTt0LmJvdHRvbT5lPyh0aGlzLiQudGFibGUuc2Nyb2xsVG9wKz10LmJvdHRvbS1lLHRoaXMuX3Njcm9sbEhhbmRsZXIoKSk6dC50b3A8biYmKHRoaXMuJC50YWJsZS5zY3JvbGxUb3AtPW4tdC50b3AsdGhpcy5fc2Nyb2xsSGFuZGxlcigpKX13LmZvY3VzKCl9X29uSW50ZXJhY3Rpb25LZXlEb3duKHQsZSl7Y29uc3Qgbj10LmNvbXBvc2VkUGF0aCgpWzBdLGk9ImlucHV0Ij09PW4ubG9jYWxOYW1lJiYhL14oYnV0dG9ufGNoZWNrYm94fGNvbG9yfGZpbGV8aW1hZ2V8cmFkaW98cmFuZ2V8cmVzZXR8c3VibWl0KSQvaS50ZXN0KG4udHlwZSk7bGV0IHI7c3dpdGNoKGUpe2Nhc2UiRW50ZXIiOnI9IXRoaXMuaW50ZXJhY3Rpbmd8fCFpO2JyZWFrO2Nhc2UiRXNjYXBlIjpyPSExO2JyZWFrO2Nhc2UiRjIiOnI9IXRoaXMuaW50ZXJhY3Rpbmd9Y29uc3R7Y2VsbDpvfT10aGlzLl9nZXRHcmlkRXZlbnRMb2NhdGlvbih0KTtpZih0aGlzLmludGVyYWN0aW5nIT09ciYmbnVsbCE9PW8paWYocil7Y29uc3QgZT1vLl9jb250ZW50LnF1ZXJ5U2VsZWN0b3IoIltmb2N1cy10YXJnZXRdIil8fG8uX2NvbnRlbnQuZmlyc3RFbGVtZW50Q2hpbGQ7ZSYmKHQucHJldmVudERlZmF1bHQoKSxlLmZvY3VzKCksdGhpcy5fc2V0SW50ZXJhY3RpbmcoITApLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgibmF2aWdhdGluZyIsITEsdGhpcykpfWVsc2UgdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2ZvY3VzZWRDb2x1bW5PcmRlcj12b2lkIDAsby5mb2N1cygpLHRoaXMuX3NldEludGVyYWN0aW5nKCExKSx0aGlzLl90b2dnbGVBdHRyaWJ1dGUoIm5hdmlnYXRpbmciLCEwLHRoaXMpfV9wcmVkaWN0Rm9jdXNTdGVwVGFyZ2V0KHQsZSl7Y29uc3Qgbj1bdGhpcy4kLnRhYmxlLHRoaXMuX2hlYWRlckZvY3VzYWJsZSx0aGlzLl9pdGVtc0ZvY3VzYWJsZSx0aGlzLl9mb290ZXJGb2N1c2FibGUsdGhpcy4kLmZvY3VzZXhpdF07bGV0IGk9bi5pbmRleE9mKHQpO2ZvcihpKz1lO2k+PTAmJmk8PW4ubGVuZ3RoLTEmJighbltpXXx8bltpXS5wYXJlbnROb2RlLmhpZGRlbik7KWkrPWU7cmV0dXJuIG5baV19X29uVGFiS2V5RG93bih0KXtjb25zdCBlPXRoaXMuX3ByZWRpY3RGb2N1c1N0ZXBUYXJnZXQodC5jb21wb3NlZFBhdGgoKVswXSx0LnNoaWZ0S2V5Py0xOjEpO2lmKGU9PT10aGlzLiQudGFibGUpdGhpcy4kLnRhYmxlLmZvY3VzKCk7ZWxzZSBpZihlPT09dGhpcy4kLmZvY3VzZXhpdCl0aGlzLiQuZm9jdXNleGl0LmZvY3VzKCk7ZWxzZSBpZihlPT09dGhpcy5faXRlbXNGb2N1c2FibGUpe2xldCBuPWU7Y29uc3QgaT10aGlzLl9pdGVtc0ZvY3VzYWJsZS5wYXJlbnROb2RlO2lmKHRoaXMuX2Vuc3VyZVNjcm9sbGVkVG9JbmRleCh0aGlzLl9mb2N1c2VkSXRlbUluZGV4KSxpLmluZGV4IT09dGhpcy5fZm9jdXNlZEl0ZW1JbmRleCl7Y29uc3QgdD1BcnJheS5mcm9tKGkuY2hpbGRyZW4pLmluZGV4T2YodGhpcy5faXRlbXNGb2N1c2FibGUpLGU9QXJyYXkuZnJvbSh0aGlzLiQuaXRlbXMuY2hpbGRyZW4pLmZpbHRlcigodD0+dC5pbmRleD09PXRoaXMuX2ZvY3VzZWRJdGVtSW5kZXgpKVswXTtlJiYobj1lLmNoaWxkcmVuW3RdKX10LnByZXZlbnREZWZhdWx0KCksbi5mb2N1cygpfWVsc2UgdC5wcmV2ZW50RGVmYXVsdCgpLGUuZm9jdXMoKTt0aGlzLl90b2dnbGVBdHRyaWJ1dGUoIm5hdmlnYXRpbmciLCEwLHRoaXMpfV9vblNwYWNlS2V5RG93bih0KXt0LnByZXZlbnREZWZhdWx0KCk7Y29uc3QgZT10LmNvbXBvc2VkUGF0aCgpWzBdO2UuX2NvbnRlbnQmJmUuX2NvbnRlbnQuZmlyc3RFbGVtZW50Q2hpbGR8fHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNlbGwtYWN0aXZhdGUiLHtkZXRhaWw6e21vZGVsOnRoaXMuX19nZXRSb3dNb2RlbChlLnBhcmVudEVsZW1lbnQpfX0pKX1fb25LZXlVcCh0KXtpZighL14oIHxTcGFjZUJhcikkLy50ZXN0KHQua2V5KSlyZXR1cm47dC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGU9dC5jb21wb3NlZFBhdGgoKVswXTtpZihlLl9jb250ZW50JiZlLl9jb250ZW50LmZpcnN0RWxlbWVudENoaWxkKXtjb25zdCB0PXRoaXMuaGFzQXR0cmlidXRlKCJuYXZpZ2F0aW5nIik7ZS5fY29udGVudC5maXJzdEVsZW1lbnRDaGlsZC5jbGljaygpLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgibmF2aWdhdGluZyIsdCx0aGlzKX19X29uRm9jdXNJbih0KXt0aGlzLl9pc01vdXNlZG93bnx8dGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJuYXZpZ2F0aW5nIiwhMCx0aGlzKTtjb25zdCBlPXQuY29tcG9zZWRQYXRoKClbMF07ZT09PXRoaXMuJC50YWJsZXx8ZT09PXRoaXMuJC5mb2N1c2V4aXQ/KHRoaXMuX3ByZWRpY3RGb2N1c1N0ZXBUYXJnZXQoZSxlPT09dGhpcy4kLnRhYmxlPzE6LTEpLmZvY3VzKCksdGhpcy5fc2V0SW50ZXJhY3RpbmcoITEpKTp0aGlzLl9kZXRlY3RJbnRlcmFjdGluZyh0KX1fb25Gb2N1c091dCh0KXt0aGlzLl90b2dnbGVBdHRyaWJ1dGUoIm5hdmlnYXRpbmciLCExLHRoaXMpLHRoaXMuX2RldGVjdEludGVyYWN0aW5nKHQpfV9vbkNlbGxGb2N1c0luKHQpe2NvbnN0e3NlY3Rpb246ZSxjZWxsOm59PXRoaXMuX2dldEdyaWRFdmVudExvY2F0aW9uKHQpO3RoaXMuX2RldGVjdEludGVyYWN0aW5nKHQpLGUmJm4mJih0aGlzLl9hY3RpdmVSb3dHcm91cD1lLHRoaXMuJC5oZWFkZXI9PT1lP3RoaXMuX2hlYWRlckZvY3VzYWJsZT1uOnRoaXMuJC5pdGVtcz09PWU/dGhpcy5faXRlbXNGb2N1c2FibGU9bjp0aGlzLiQuZm9vdGVyPT09ZSYmKHRoaXMuX2Zvb3RlckZvY3VzYWJsZT1uKSxuLl9jb250ZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjZWxsLWZvY3VzaW4iLHtidWJibGVzOiExfSkpLG4uZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNlbGwtZm9jdXMiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKSx0aGlzLl9kZXRlY3RGb2N1c2VkSXRlbUluZGV4KHQpfV9vbkNlbGxGb2N1c091dCh0KXtpZigzPT09dC5jb21wb3NlZFBhdGgoKS5pbmRleE9mKHRoaXMuJC50YWJsZSkpe3QuY29tcG9zZWRQYXRoKClbMF0uX2NvbnRlbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNlbGwtZm9jdXNvdXQiLHtidWJibGVzOiExfSkpfX1fZGV0ZWN0SW50ZXJhY3RpbmcodCl7Y29uc3QgZT10LmNvbXBvc2VkUGF0aCgpLnNvbWUoKHQ9PiJ2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQiPT09dC5sb2NhbE5hbWUpKTt0aGlzLl9zZXRJbnRlcmFjdGluZyhlKX1fZGV0ZWN0Rm9jdXNlZEl0ZW1JbmRleCh0KXtjb25zdHtzZWN0aW9uOmUscm93Om59PXRoaXMuX2dldEdyaWRFdmVudExvY2F0aW9uKHQpO2U9PT10aGlzLiQuaXRlbXMmJih0aGlzLl9mb2N1c2VkSXRlbUluZGV4PW4uaW5kZXgpfV91cGRhdGVHcmlkU2VjdGlvbkZvY3VzVGFyZ2V0KHQpe2lmKCF0KXJldHVybjtjb25zdCBlPXRoaXMuX2dldEdyaWRTZWN0aW9uRnJvbUZvY3VzVGFyZ2V0KHQpO3QudGFiSW5kZXg9dGhpcy5pbnRlcmFjdGluZyYmZT09PXRoaXMuX2FjdGl2ZVJvd0dyb3VwPy0xOjB9X3ByZXZlbnRTY3JvbGxlclJvdGF0aW5nQ2VsbEZvY3VzKHQsZSl7dC5pbmRleD09PXRoaXMuX2ZvY3VzZWRJdGVtSW5kZXgmJnRoaXMuaGFzQXR0cmlidXRlKCJuYXZpZ2F0aW5nIikmJnRoaXMuX2FjdGl2ZVJvd0dyb3VwPT09dGhpcy4kLml0ZW1zJiYodGhpcy5fbmF2aWdhdGluZ0lzSGlkZGVuPSEwLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgibmF2aWdhdGluZyIsITEsdGhpcykpLGU9PT10aGlzLl9mb2N1c2VkSXRlbUluZGV4JiZ0aGlzLl9uYXZpZ2F0aW5nSXNIaWRkZW4mJih0aGlzLl9uYXZpZ2F0aW5nSXNIaWRkZW49ITEsdGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJuYXZpZ2F0aW5nIiwhMCx0aGlzKSl9X2dldENvbHVtbnModCxlKXtsZXQgbj10aGlzLl9jb2x1bW5UcmVlLmxlbmd0aC0xO3JldHVybiB0PT09dGhpcy4kLmhlYWRlcj9uPWU6dD09PXRoaXMuJC5mb290ZXImJihuPXRoaXMuX2NvbHVtblRyZWUubGVuZ3RoLTEtZSksdGhpcy5fY29sdW1uVHJlZVtuXX1fcmVzZXRLZXlib2FyZE5hdmlnYXRpb24oKXtpZih0aGlzLiQuaGVhZGVyLmZpcnN0RWxlbWVudENoaWxkJiYodGhpcy5faGVhZGVyRm9jdXNhYmxlPUFycmF5LmZyb20odGhpcy4kLmhlYWRlci5maXJzdEVsZW1lbnRDaGlsZC5jaGlsZHJlbikuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKVswXSksdGhpcy4kLml0ZW1zLmZpcnN0RWxlbWVudENoaWxkKXtjb25zdCB0PXRoaXMuX2l0ZXJhdGVJdGVtcygoKHQsZSk9PntpZih0aGlzLl9maXJzdFZpc2libGVJbmRleD09PWUpcmV0dXJuIHRoaXMuJC5pdGVtcy5jaGlsZHJlblt0XX0pKTt0JiYodGhpcy5faXRlbXNGb2N1c2FibGU9QXJyYXkuZnJvbSh0LmNoaWxkcmVuKS5maWx0ZXIoKHQ9PiF0LmhpZGRlbikpWzBdKX10aGlzLiQuZm9vdGVyLmZpcnN0RWxlbWVudENoaWxkJiYodGhpcy5fZm9vdGVyRm9jdXNhYmxlPUFycmF5LmZyb20odGhpcy4kLmZvb3Rlci5maXJzdEVsZW1lbnRDaGlsZC5jaGlsZHJlbikuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKVswXSl9X3Njcm9sbEhvcml6b250YWxseVRvQ2VsbCh0KXtpZih0Lmhhc0F0dHJpYnV0ZSgiZnJvemVuIil8fHRoaXMuX2VsZW1lbnRNYXRjaGVzKHQsJ1twYXJ0fj0iZGV0YWlscy1jZWxsIl0nKSlyZXR1cm47Y29uc3QgZT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49dC5wYXJlbnROb2RlLGk9QXJyYXkuZnJvbShuLmNoaWxkcmVuKS5pbmRleE9mKHQpLHI9dGhpcy4kLnRhYmxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2xldCBvPXIubGVmdCxhPXIucmlnaHQ7Zm9yKGxldCB0PWktMTt0Pj0wO3QtLSl7Y29uc3QgZT1uLmNoaWxkcmVuW3RdO2lmKCFlLmhhc0F0dHJpYnV0ZSgiaGlkZGVuIikmJiF0aGlzLl9lbGVtZW50TWF0Y2hlcyhlLCdbcGFydH49ImRldGFpbHMtY2VsbCJdJykmJmUuaGFzQXR0cmlidXRlKCJmcm96ZW4iKSl7bz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0O2JyZWFrfX1mb3IobGV0IHQ9aSsxO3Q8bi5jaGlsZHJlbi5sZW5ndGg7dCsrKXtjb25zdCBlPW4uY2hpbGRyZW5bdF07aWYoIWUuaGFzQXR0cmlidXRlKCJoaWRkZW4iKSYmIXRoaXMuX2VsZW1lbnRNYXRjaGVzKGUsJ1twYXJ0fj0iZGV0YWlscy1jZWxsIl0nKSYmZS5oYXNBdHRyaWJ1dGUoImZyb3plbiIpKXthPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDticmVha319ZS5sZWZ0PG8mJih0aGlzLiQudGFibGUuc2Nyb2xsTGVmdCs9TWF0aC5yb3VuZChlLmxlZnQtbykpLGUucmlnaHQ+YSYmKHRoaXMuJC50YWJsZS5zY3JvbGxMZWZ0Kz1NYXRoLnJvdW5kKGUucmlnaHQtYSkpfV9lbGVtZW50TWF0Y2hlcyh0LGUpe3JldHVybiB0Lm1hdGNoZXM/dC5tYXRjaGVzKGUpOi0xIT09QXJyYXkuZnJvbSh0LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvckFsbChlKSkuaW5kZXhPZih0KX1fZ2V0R3JpZEV2ZW50TG9jYXRpb24odCl7Y29uc3QgZT10LmNvbXBvc2VkUGF0aCgpLG49ZS5pbmRleE9mKHRoaXMuJC50YWJsZSk7cmV0dXJue3NlY3Rpb246bj49MT9lW24tMV06bnVsbCxyb3c6bj49Mj9lW24tMl06bnVsbCxjZWxsOm4+PTM/ZVtuLTNdOm51bGx9fV9nZXRHcmlkU2VjdGlvbkZyb21Gb2N1c1RhcmdldCh0KXtyZXR1cm4gdD09PXRoaXMuX2hlYWRlckZvY3VzYWJsZT90aGlzLiQuaGVhZGVyOnQ9PT10aGlzLl9pdGVtc0ZvY3VzYWJsZT90aGlzLiQuaXRlbXM6dD09PXRoaXMuX2Zvb3RlckZvY3VzYWJsZT90aGlzLiQuZm9vdGVyOm51bGx9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLzsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi8KY29uc3QgdTB0PXQ9PmNsYXNzIGV4dGVuZHMoYmkodCkpe3N0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybntjb2x1bW5SZW9yZGVyaW5nQWxsb3dlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfb3JkZXJCYXNlU2NvcGU6e3R5cGU6TnVtYmVyLHZhbHVlOjFlN319fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfdXBkYXRlT3JkZXJzKF9jb2x1bW5UcmVlLCBfY29sdW1uVHJlZS4qKSJdfXJlYWR5KCl7c3VwZXIucmVhZHkoKSxjaSh0aGlzLCJ0cmFjayIsdGhpcy5fb25UcmFja0V2ZW50KSx0aGlzLl9yZW9yZGVyR2hvc3Q9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ1twYXJ0PSJyZW9yZGVyLWdob3N0Il0nKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Ub3VjaE1vdmUuYmluZCh0aGlzKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Ub3VjaEVuZC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51Iix0aGlzLl9vbkNvbnRleHRNZW51LmJpbmQodGhpcykpfV9vbkNvbnRleHRNZW51KHQpe3RoaXMuaGFzQXR0cmlidXRlKCJyZW9yZGVyaW5nIikmJnQucHJldmVudERlZmF1bHQoKX1fb25Ub3VjaFN0YXJ0KHQpe3RoaXMuX3N0YXJ0VG91Y2hSZW9yZGVyVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX29uVHJhY2tTdGFydCh7ZGV0YWlsOnt4OnQudG91Y2hlc1swXS5jbGllbnRYLHk6dC50b3VjaGVzWzBdLmNsaWVudFl9fSl9KSwxMDApfV9vblRvdWNoTW92ZSh0KXt0aGlzLl9kcmFnZ2VkQ29sdW1uJiZ0LnByZXZlbnREZWZhdWx0KCksY2xlYXJUaW1lb3V0KHRoaXMuX3N0YXJ0VG91Y2hSZW9yZGVyVGltZW91dCl9X29uVG91Y2hFbmQoKXtjbGVhclRpbWVvdXQodGhpcy5fc3RhcnRUb3VjaFJlb3JkZXJUaW1lb3V0KSx0aGlzLl9vblRyYWNrRW5kKCl9X29uVHJhY2tFdmVudCh0KXtpZigic3RhcnQiPT09dC5kZXRhaWwuc3RhdGUpe2NvbnN0IGU9dC5jb21wb3NlZFBhdGgoKSxuPWVbZS5pbmRleE9mKHRoaXMuJC5oZWFkZXIpLTJdO2lmKCFufHwhbi5fY29udGVudClyZXR1cm47aWYobi5fY29udGVudC5jb250YWlucyh0aGlzLmdldFJvb3ROb2RlKCkuYWN0aXZlRWxlbWVudCkpcmV0dXJuO2lmKHRoaXMuJC5zY3JvbGxlci5oYXNBdHRyaWJ1dGUoImNvbHVtbi1yZXNpemluZyIpKXJldHVybjt0aGlzLl90b3VjaERldmljZXx8dGhpcy5fb25UcmFja1N0YXJ0KHQpfWVsc2UidHJhY2siPT09dC5kZXRhaWwuc3RhdGU/dGhpcy5fb25UcmFjayh0KToiZW5kIj09PXQuZGV0YWlsLnN0YXRlJiZ0aGlzLl9vblRyYWNrRW5kKHQpfV9vblRyYWNrU3RhcnQodCl7aWYoIXRoaXMuY29sdW1uUmVvcmRlcmluZ0FsbG93ZWQpcmV0dXJuO2NvbnN0IGU9dC5jb21wb3NlZFBhdGgmJnQuY29tcG9zZWRQYXRoKCk7aWYoZSYmZS5maWx0ZXIoKHQ9PnQuaGFzQXR0cmlidXRlJiZ0Lmhhc0F0dHJpYnV0ZSgiZHJhZ2dhYmxlIikpKVswXSlyZXR1cm47Y29uc3Qgbj10aGlzLl9jZWxsRnJvbVBvaW50KHQuZGV0YWlsLngsdC5kZXRhaWwueSk7aWYobiYmLTEhPT1uLmdldEF0dHJpYnV0ZSgicGFydCIpLmluZGV4T2YoImhlYWRlci1jZWxsIikpe2Zvcih0aGlzLl90b2dnbGVBdHRyaWJ1dGUoInJlb3JkZXJpbmciLCEwLHRoaXMpLHRoaXMuX2RyYWdnZWRDb2x1bW49bi5fY29sdW1uOzE9PT10aGlzLl9kcmFnZ2VkQ29sdW1uLnBhcmVudEVsZW1lbnQuY2hpbGRFbGVtZW50Q291bnQ7KXRoaXMuX2RyYWdnZWRDb2x1bW49dGhpcy5fZHJhZ2dlZENvbHVtbi5wYXJlbnRFbGVtZW50O3RoaXMuX3NldFNpYmxpbmdzUmVvcmRlclN0YXR1cyh0aGlzLl9kcmFnZ2VkQ29sdW1uLCJhbGxvd2VkIiksdGhpcy5fZHJhZ2dlZENvbHVtbi5fcmVvcmRlclN0YXR1cz0iZHJhZ2dpbmciLHRoaXMuX3VwZGF0ZUdob3N0KG4pLHRoaXMuX3Jlb3JkZXJHaG9zdC5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIix0aGlzLl91cGRhdGVHaG9zdFBvc2l0aW9uKHQuZGV0YWlsLngsdGhpcy5fdG91Y2hEZXZpY2U/dC5kZXRhaWwueS01MDp0LmRldGFpbC55KSx0aGlzLl9hdXRvU2Nyb2xsZXIoKX19X29uVHJhY2sodCl7aWYoIXRoaXMuX2RyYWdnZWRDb2x1bW4pcmV0dXJuO2NvbnN0IGU9dGhpcy5fY2VsbEZyb21Qb2ludCh0LmRldGFpbC54LHQuZGV0YWlsLnkpO2lmKCFlKXJldHVybjtjb25zdCBuPXRoaXMuX2dldFRhcmdldENvbHVtbihlLHRoaXMuX2RyYWdnZWRDb2x1bW4pO3RoaXMuX2lzU3dhcEFsbG93ZWQodGhpcy5fZHJhZ2dlZENvbHVtbixuKSYmdGhpcy5faXNTd2FwcGFibGVCeVBvc2l0aW9uKG4sdC5kZXRhaWwueCkmJnRoaXMuX3N3YXBDb2x1bW5PcmRlcnModGhpcy5fZHJhZ2dlZENvbHVtbixuKSx0aGlzLl91cGRhdGVHaG9zdFBvc2l0aW9uKHQuZGV0YWlsLngsdGhpcy5fdG91Y2hEZXZpY2U/dC5kZXRhaWwueS01MDp0LmRldGFpbC55KSx0aGlzLl9sYXN0RHJhZ0NsaWVudFg9dC5kZXRhaWwueH1fb25UcmFja0VuZCgpe3RoaXMuX2RyYWdnZWRDb2x1bW4mJih0aGlzLl90b2dnbGVBdHRyaWJ1dGUoInJlb3JkZXJpbmciLCExLHRoaXMpLHRoaXMuX2RyYWdnZWRDb2x1bW4uX3Jlb3JkZXJTdGF0dXM9IiIsdGhpcy5fc2V0U2libGluZ3NSZW9yZGVyU3RhdHVzKHRoaXMuX2RyYWdnZWRDb2x1bW4sIiIpLHRoaXMuX2RyYWdnZWRDb2x1bW49bnVsbCx0aGlzLl9sYXN0RHJhZ0NsaWVudFg9bnVsbCx0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb2x1bW4tcmVvcmRlciIse2RldGFpbDp7Y29sdW1uczp0aGlzLl9nZXRDb2x1bW5zSW5PcmRlcigpfX0pKSl9X2dldENvbHVtbnNJbk9yZGVyKCl7cmV0dXJuIHRoaXMuX2NvbHVtblRyZWUuc2xpY2UoMCkucG9wKCkuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKS5zb3J0KCgodCxlKT0+dC5fb3JkZXItZS5fb3JkZXIpKX1fY2VsbEZyb21Qb2ludCh0LGUpe3Q9dHx8MCxlPWV8fDAsdGhpcy5fZHJhZ2dlZENvbHVtbnx8dGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJuby1jb250ZW50LXBvaW50ZXItZXZlbnRzIiwhMCx0aGlzLiQuc2Nyb2xsZXIpO2NvbnN0IG49dGhpcy5zaGFkb3dSb290LmVsZW1lbnRGcm9tUG9pbnQodCxlKTtpZih0aGlzLl90b2dnbGVBdHRyaWJ1dGUoIm5vLWNvbnRlbnQtcG9pbnRlci1ldmVudHMiLCExLHRoaXMuJC5zY3JvbGxlciksbiYmbi5fY29sdW1uKXJldHVybiBufV91cGRhdGVHaG9zdFBvc2l0aW9uKHQsZSl7Y29uc3Qgbj10aGlzLl9yZW9yZGVyR2hvc3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT10LW4ud2lkdGgvMixyPWUtbi5oZWlnaHQvMixvPXBhcnNlSW50KHRoaXMuX3Jlb3JkZXJHaG9zdC5fbGVmdHx8MCksYT1wYXJzZUludCh0aGlzLl9yZW9yZGVyR2hvc3QuX3RvcHx8MCk7dGhpcy5fcmVvcmRlckdob3N0Ll9sZWZ0PW8tKG4ubGVmdC1pKSx0aGlzLl9yZW9yZGVyR2hvc3QuX3RvcD1hLShuLnRvcC1yKSx0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHt0aGlzLl9yZW9yZGVyR2hvc3QuX2xlZnR9cHgsICR7dGhpcy5fcmVvcmRlckdob3N0Ll90b3B9cHgpYH1fdXBkYXRlR2hvc3QodCl7Y29uc3QgZT10aGlzLl9yZW9yZGVyR2hvc3Q7ZS50ZXh0Q29udGVudD10Ll9jb250ZW50LmlubmVyVGV4dDtjb25zdCBuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpO3JldHVyblsiYm94U2l6aW5nIiwiZGlzcGxheSIsIndpZHRoIiwiaGVpZ2h0IiwiYmFja2dyb3VuZCIsImFsaWduSXRlbXMiLCJwYWRkaW5nIiwiYm9yZGVyIiwiZmxleC1kaXJlY3Rpb24iLCJvdmVyZmxvdyJdLmZvckVhY2goKHQ9PmUuc3R5bGVbdF09blt0XSkpLGV9X3VwZGF0ZU9yZGVycyh0LGUpe3ZvaWQgMCE9PXQmJnZvaWQgMCE9PWUmJih0WzBdLmZvckVhY2goKHQ9PnQuX29yZGVyPTApKSwoZnVuY3Rpb24gbih0LGUsaSl7bGV0IHI9MTt0LmZvckVhY2goKHQ9PntyJTEwPT0wJiZyKyssdC5fb3JkZXI9aStyKmUscisrfSkpfSkodFswXSx0aGlzLl9vcmRlckJhc2VTY29wZSwwKSl9X3NldFNpYmxpbmdzUmVvcmRlclN0YXR1cyh0LGUpe0FycmF5LmZyb20odC5wYXJlbnROb2RlLmNoaWxkcmVuKS5maWx0ZXIoKGU9Pi9jb2x1bW4vLnRlc3QoZS5sb2NhbE5hbWUpJiZ0aGlzLl9pc1N3YXBBbGxvd2VkKGUsdCkpKS5mb3JFYWNoKCh0PT50Ll9yZW9yZGVyU3RhdHVzPWUpKX1fYXV0b1Njcm9sbGVyKCl7aWYodGhpcy5fbGFzdERyYWdDbGllbnRYKXtjb25zdCB0PXRoaXMuX2xhc3REcmFnQ2xpZW50WC10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0KzUwLGU9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0LXRoaXMuX2xhc3REcmFnQ2xpZW50WCs1MDt0PjA/dGhpcy4kLnRhYmxlLnNjcm9sbExlZnQrPXQvMTA6ZT4wJiYodGhpcy4kLnRhYmxlLnNjcm9sbExlZnQtPWUvMTApLHRoaXMuX3Njcm9sbEhhbmRsZXIoKX10aGlzLl9kcmFnZ2VkQ29sdW1uJiZ0aGlzLmFzeW5jKHRoaXMuX2F1dG9TY3JvbGxlciwxMCl9X2lzU3dhcEFsbG93ZWQodCxlKXtpZih0JiZlKXtjb25zdCBuPXQucGFyZW50RWxlbWVudD09PWUucGFyZW50RWxlbWVudCxpPXQuZnJvemVuPT09ZS5mcm96ZW47cmV0dXJuIHQhPT1lJiZuJiZpfX1faXNTd2FwcGFibGVCeVBvc2l0aW9uKHQsZSl7Y29uc3Qgbj1BcnJheS5mcm9tKHRoaXMuJC5oZWFkZXIucXVlcnlTZWxlY3RvckFsbCgndHI6bm90KFtoaWRkZW5dKSBbcGFydH49ImNlbGwiXScpKS5maWx0ZXIoKGU9PnQuY29udGFpbnMoZS5fY29sdW1uKSkpWzBdLGk9dGhpcy4kLmhlYWRlci5xdWVyeVNlbGVjdG9yKCJ0cjpub3QoW2hpZGRlbl0pIFtyZW9yZGVyLXN0YXR1cz1kcmFnZ2luZ10iKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIHIubGVmdD5pLmxlZnQ/ZT5yLnJpZ2h0LWkud2lkdGg6ZTxyLmxlZnQraS53aWR0aH1fc3dhcENvbHVtbk9yZGVycyh0LGUpe2NvbnN0IG49dC5fb3JkZXI7dC5fb3JkZXI9ZS5fb3JkZXIsZS5fb3JkZXI9bix0aGlzLl91cGRhdGVMYXN0RnJvemVuKCksdGhpcy5fdXBkYXRlRmlyc3RBbmRMYXN0Q29sdW1uKCl9X2dldFRhcmdldENvbHVtbih0LGUpe2lmKHQmJmUpe2xldCBuPXQuX2NvbHVtbjtmb3IoO24ucGFyZW50RWxlbWVudCE9PWUucGFyZW50RWxlbWVudCYmbiE9PXRoaXM7KW49bi5wYXJlbnRFbGVtZW50O3JldHVybiBuLnBhcmVudEVsZW1lbnQ9PT1lLnBhcmVudEVsZW1lbnQ/bjp0Ll9jb2x1bW59fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi8saDB0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57cmVzaXphYmxlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ZnVuY3Rpb24oKXtpZigidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIj09PXRoaXMubG9jYWxOYW1lKXJldHVybjtjb25zdCB0PXRoaXMucGFyZW50Tm9kZTtyZXR1cm4gdCYmInZhYWRpbi1ncmlkLWNvbHVtbi1ncm91cCI9PT10LmxvY2FsTmFtZSYmdC5yZXNpemFibGV8fCExfX0sX2hlYWRlclRlbXBsYXRlOnt0eXBlOk9iamVjdH0sX2Zvb3RlclRlbXBsYXRlOnt0eXBlOk9iamVjdH0sZnJvemVuOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGhpZGRlbjp7dHlwZTpCb29sZWFufSxoZWFkZXI6e3R5cGU6U3RyaW5nfSx0ZXh0QWxpZ246e3R5cGU6U3RyaW5nfSxfbGFzdEZyb3plbjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfb3JkZXI6TnVtYmVyLF9yZW9yZGVyU3RhdHVzOkJvb2xlYW4sX2VtcHR5Q2VsbHM6QXJyYXksX2hlYWRlckNlbGw6T2JqZWN0LF9mb290ZXJDZWxsOk9iamVjdCxfZ3JpZDpPYmplY3QsaGVhZGVyUmVuZGVyZXI6RnVuY3Rpb24sZm9vdGVyUmVuZGVyZXI6RnVuY3Rpb259fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfd2lkdGhDaGFuZ2VkKHdpZHRoLCBfaGVhZGVyQ2VsbCwgX2Zvb3RlckNlbGwsIF9jZWxscy4qKSIsIl9mcm96ZW5DaGFuZ2VkKGZyb3plbiwgX2hlYWRlckNlbGwsIF9mb290ZXJDZWxsLCBfY2VsbHMuKikiLCJfZmxleEdyb3dDaGFuZ2VkKGZsZXhHcm93LCBfaGVhZGVyQ2VsbCwgX2Zvb3RlckNlbGwsIF9jZWxscy4qKSIsIl9wYXRoT3JIZWFkZXJDaGFuZ2VkKHBhdGgsIGhlYWRlciwgX2hlYWRlckNlbGwsIF9mb290ZXJDZWxsLCBfY2VsbHMuKiwgcmVuZGVyZXIsIGhlYWRlclJlbmRlcmVyLCBfYm9keVRlbXBsYXRlLCBfaGVhZGVyVGVtcGxhdGUpIiwiX3RleHRBbGlnbkNoYW5nZWQodGV4dEFsaWduLCBfY2VsbHMuKiwgX2hlYWRlckNlbGwsIF9mb290ZXJDZWxsKSIsIl9vcmRlckNoYW5nZWQoX29yZGVyLCBfaGVhZGVyQ2VsbCwgX2Zvb3RlckNlbGwsIF9jZWxscy4qKSIsIl9sYXN0RnJvemVuQ2hhbmdlZChfbGFzdEZyb3plbikiLCJfc2V0Qm9keVRlbXBsYXRlT3JSZW5kZXJlcihfYm9keVRlbXBsYXRlLCByZW5kZXJlciwgX2NlbGxzLCBfY2VsbHMuKikiLCJfc2V0SGVhZGVyVGVtcGxhdGVPclJlbmRlcmVyKF9oZWFkZXJUZW1wbGF0ZSwgaGVhZGVyUmVuZGVyZXIsIF9oZWFkZXJDZWxsKSIsIl9zZXRGb290ZXJUZW1wbGF0ZU9yUmVuZGVyZXIoX2Zvb3RlclRlbXBsYXRlLCBmb290ZXJSZW5kZXJlciwgX2Zvb3RlckNlbGwpIiwiX3Jlc2l6YWJsZUNoYW5nZWQocmVzaXphYmxlLCBfaGVhZGVyQ2VsbCkiLCJfcmVvcmRlclN0YXR1c0NoYW5nZWQoX3Jlb3JkZXJTdGF0dXMsIF9oZWFkZXJDZWxsLCBfZm9vdGVyQ2VsbCwgX2NlbGxzLiopIiwiX2hpZGRlbkNoYW5nZWQoaGlkZGVuLCBfaGVhZGVyQ2VsbCwgX2Zvb3RlckNlbGwsIF9jZWxscy4qKSJdfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl9ib2R5VGVtcGxhdGUmJih0aGlzLl9ib2R5VGVtcGxhdGUudGVtcGxhdGl6ZXIuX2dyaWQ9dGhpcy5fZ3JpZCksdGhpcy5faGVhZGVyVGVtcGxhdGUmJih0aGlzLl9oZWFkZXJUZW1wbGF0ZS50ZW1wbGF0aXplci5fZ3JpZD10aGlzLl9ncmlkKSx0aGlzLl9mb290ZXJUZW1wbGF0ZSYmKHRoaXMuX2Zvb3RlclRlbXBsYXRlLnRlbXBsYXRpemVyLl9ncmlkPXRoaXMuX2dyaWQpLHRoaXMuX3RlbXBsYXRlT2JzZXJ2ZXIuZmx1c2goKSx0aGlzLl9ib2R5VGVtcGxhdGV8fHRoaXMuX3RlbXBsYXRlT2JzZXJ2ZXIuY2FsbGJhY2soKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57dGhpcy5fYWxsQ2VsbHMuZm9yRWFjaCgodD0+e3QuX2NvbnRlbnQucGFyZW50Tm9kZXx8dGhpcy5fZ3JpZCYmdGhpcy5fZ3JpZC5hcHBlbmRDaGlsZCh0Ll9jb250ZW50KX0pKX0pKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX2ZpbmRIb3N0R3JpZCgpfHx0aGlzLl9hbGxDZWxscy5mb3JFYWNoKCh0PT57dC5fY29udGVudC5wYXJlbnROb2RlJiZ0Ll9jb250ZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodC5fY29udGVudCl9KSl9KSksdGhpcy5fZ3JpZFZhbHVlPXZvaWQgMH1fZmluZEhvc3RHcmlkKCl7bGV0IHQ9dGhpcztmb3IoO3QmJiEvXnZhYWRpbi4qZ3JpZCgtcHJvKT8kLy50ZXN0KHQubG9jYWxOYW1lKTspdD10LmFzc2lnbmVkU2xvdD90LmFzc2lnbmVkU2xvdC5wYXJlbnROb2RlOnQucGFyZW50Tm9kZTtyZXR1cm4gdHx8dm9pZCAwfWdldCBfZ3JpZCgpe3JldHVybiB0aGlzLl9ncmlkVmFsdWV8fCh0aGlzLl9ncmlkVmFsdWU9dGhpcy5fZmluZEhvc3RHcmlkKCkpLHRoaXMuX2dyaWRWYWx1ZX1nZXQgX2FsbENlbGxzKCl7cmV0dXJuW10uY29uY2F0KHRoaXMuX2NlbGxzfHxbXSkuY29uY2F0KHRoaXMuX2VtcHR5Q2VsbHN8fFtdKS5jb25jYXQodGhpcy5faGVhZGVyQ2VsbCkuY29uY2F0KHRoaXMuX2Zvb3RlckNlbGwpLmZpbHRlcigodD0+dCkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl90ZW1wbGF0ZU9ic2VydmVyPW5ldyBHaSh0aGlzLCgoKT0+e3RoaXMuX2hlYWRlclRlbXBsYXRlPXRoaXMuX3ByZXBhcmVIZWFkZXJUZW1wbGF0ZSgpLHRoaXMuX2Zvb3RlclRlbXBsYXRlPXRoaXMuX3ByZXBhcmVGb290ZXJUZW1wbGF0ZSgpLHRoaXMuX2JvZHlUZW1wbGF0ZT10aGlzLl9wcmVwYXJlQm9keVRlbXBsYXRlKCl9KSl9X3ByZXBhcmVIZWFkZXJUZW1wbGF0ZSgpe3JldHVybiB0aGlzLl9wcmVwYXJlVGVtcGxhdGl6ZXIodGhpcy5fZmluZFRlbXBsYXRlKCEwKXx8bnVsbCx7fSl9X3ByZXBhcmVGb290ZXJUZW1wbGF0ZSgpe3JldHVybiB0aGlzLl9wcmVwYXJlVGVtcGxhdGl6ZXIodGhpcy5fZmluZFRlbXBsYXRlKCExLCEwKXx8bnVsbCx7fSl9X3ByZXBhcmVCb2R5VGVtcGxhdGUoKXtyZXR1cm4gdGhpcy5fcHJlcGFyZVRlbXBsYXRpemVyKHRoaXMuX2ZpbmRUZW1wbGF0ZSgpfHxudWxsKX1fcHJlcGFyZVRlbXBsYXRpemVyKHQsZSl7aWYodCYmIXQudGVtcGxhdGl6ZXIpe2NvbnN0IG49bmV3IFkxdDtuLl9ncmlkPXRoaXMuX2dyaWQsbi5kYXRhSG9zdD10aGlzLmRhdGFIb3N0LG4uX2luc3RhbmNlUHJvcHM9ZXx8bi5faW5zdGFuY2VQcm9wcyxuLnRlbXBsYXRlPXQsdC50ZW1wbGF0aXplcj1ufXJldHVybiB0fV9yZW5kZXJIZWFkZXJBbmRGb290ZXIoKXt0aGlzLmhlYWRlclJlbmRlcmVyJiZ0aGlzLl9oZWFkZXJDZWxsJiZ0aGlzLl9fcnVuUmVuZGVyZXIodGhpcy5oZWFkZXJSZW5kZXJlcix0aGlzLl9oZWFkZXJDZWxsKSx0aGlzLmZvb3RlclJlbmRlcmVyJiZ0aGlzLl9mb290ZXJDZWxsJiZ0aGlzLl9fcnVuUmVuZGVyZXIodGhpcy5mb290ZXJSZW5kZXJlcix0aGlzLl9mb290ZXJDZWxsKX1fX3J1blJlbmRlcmVyKHQsZSxuKXtjb25zdCBpPVtlLl9jb250ZW50LHRoaXNdO24mJm4uaXRlbSYmaS5wdXNoKG4pLHQuYXBwbHkodGhpcyxpKX1fX3NldENvbHVtblRlbXBsYXRlT3JSZW5kZXJlcih0LGUsbil7aWYoIXRoaXMuaGlkZGVuKXtpZih0JiZlKXRocm93IG5ldyBFcnJvcigiWW91IHNob3VsZCBvbmx5IHVzZSBlaXRoZXIgYSByZW5kZXJlciBvciBhIHRlbXBsYXRlIik7bi5mb3JFYWNoKChuPT57Y29uc3QgaT10aGlzLl9ncmlkLl9fZ2V0Um93TW9kZWwobi5wYXJlbnRFbGVtZW50KTtpZihlKW4uX3JlbmRlcmVyPWUsKGkuaXRlbXx8ZT09PXRoaXMuaGVhZGVyUmVuZGVyZXJ8fGU9PT10aGlzLmZvb3RlclJlbmRlcmVyKSYmdGhpcy5fX3J1blJlbmRlcmVyKGUsbixpKTtlbHNlIGlmKG4uX3RlbXBsYXRlIT09dCl7bi5fdGVtcGxhdGU9dCxuLl9jb250ZW50LmlubmVySFRNTD0iIix0LnRlbXBsYXRpemVyLl9ncmlkPXQudGVtcGxhdGl6ZXIuX2dyaWR8fHRoaXMuX2dyaWQ7Y29uc3QgZT10LnRlbXBsYXRpemVyLmNyZWF0ZUluc3RhbmNlKCk7bi5fY29udGVudC5hcHBlbmRDaGlsZChlLnJvb3QpLG4uX2luc3RhbmNlPWUsaS5pdGVtJiZuLl9pbnN0YW5jZS5zZXRQcm9wZXJ0aWVzKGkpfX0pKX19X3NldEJvZHlUZW1wbGF0ZU9yUmVuZGVyZXIodCxlLG4peyh0fHxlKSYmbiYmdGhpcy5fX3NldENvbHVtblRlbXBsYXRlT3JSZW5kZXJlcih0LGUsbil9X3NldEhlYWRlclRlbXBsYXRlT3JSZW5kZXJlcih0LGUsbil7KHR8fGUpJiZuJiZ0aGlzLl9fc2V0Q29sdW1uVGVtcGxhdGVPclJlbmRlcmVyKHQsZSxbbl0pfV9zZXRGb290ZXJUZW1wbGF0ZU9yUmVuZGVyZXIodCxlLG4peyh0fHxlKSYmbiYmKHRoaXMuX19zZXRDb2x1bW5UZW1wbGF0ZU9yUmVuZGVyZXIodCxlLFtuXSksdGhpcy5fZ3JpZC5fX3VwZGF0ZUhlYWRlckZvb3RlclJvd1Zpc2liaWxpdHkobi5wYXJlbnRFbGVtZW50KSl9X3NlbGVjdEZpcnN0VGVtcGxhdGUodD0hMSxlPSExKXtyZXR1cm4gR2kuZ2V0RmxhdHRlbmVkTm9kZXModGhpcykuZmlsdGVyKChuPT4idGVtcGxhdGUiPT09bi5sb2NhbE5hbWUmJm4uY2xhc3NMaXN0LmNvbnRhaW5zKCJoZWFkZXIiKT09PXQmJm4uY2xhc3NMaXN0LmNvbnRhaW5zKCJmb290ZXIiKT09PWUpKVswXX1fZmluZFRlbXBsYXRlKHQsZSl7Y29uc3Qgbj10aGlzLl9zZWxlY3RGaXJzdFRlbXBsYXRlKHQsZSk7cmV0dXJuIG4mJnRoaXMuZGF0YUhvc3QmJihuLl9yb290RGF0YUhvc3Q9dGhpcy5kYXRhSG9zdC5fcm9vdERhdGFIb3N0fHx0aGlzLmRhdGFIb3N0KSxufV9mbGV4R3Jvd0NoYW5nZWQodCl7dGhpcy5wYXJlbnRFbGVtZW50JiZ0aGlzLnBhcmVudEVsZW1lbnQuX2NvbHVtblByb3BDaGFuZ2VkJiZ0aGlzLnBhcmVudEVsZW1lbnQuX2NvbHVtblByb3BDaGFuZ2VkKCJmbGV4R3JvdyIpLHRoaXMuX2FsbENlbGxzLmZvckVhY2goKGU9PmUuc3R5bGUuZmxleEdyb3c9dCkpfV9vcmRlckNoYW5nZWQodCl7dGhpcy5fYWxsQ2VsbHMuZm9yRWFjaCgoZT0+ZS5zdHlsZS5vcmRlcj10KSl9X3dpZHRoQ2hhbmdlZCh0KXt0aGlzLnBhcmVudEVsZW1lbnQmJnRoaXMucGFyZW50RWxlbWVudC5fY29sdW1uUHJvcENoYW5nZWQmJnRoaXMucGFyZW50RWxlbWVudC5fY29sdW1uUHJvcENoYW5nZWQoIndpZHRoIiksdGhpcy5fYWxsQ2VsbHMuZm9yRWFjaCgoZT0+ZS5zdHlsZS53aWR0aD10KSksdGhpcy5fZ3JpZCYmdGhpcy5fZ3JpZC5fX2ZvcmNlUmVmbG93JiZ0aGlzLl9ncmlkLl9fZm9yY2VSZWZsb3coKX1fZnJvemVuQ2hhbmdlZCh0KXt0aGlzLnBhcmVudEVsZW1lbnQmJnRoaXMucGFyZW50RWxlbWVudC5fY29sdW1uUHJvcENoYW5nZWQmJnRoaXMucGFyZW50RWxlbWVudC5fY29sdW1uUHJvcENoYW5nZWQoImZyb3plbiIsdCksdGhpcy5fYWxsQ2VsbHMuZm9yRWFjaCgoZT0+dGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJmcm96ZW4iLHQsZSkpKSx0aGlzLl9ncmlkJiZ0aGlzLl9ncmlkLl9mcm96ZW5DZWxsc0NoYW5nZWQmJnRoaXMuX2dyaWQuX2Zyb3plbkNlbGxzQ2hhbmdlZCgpfV9sYXN0RnJvemVuQ2hhbmdlZCh0KXt0aGlzLl9hbGxDZWxscy5mb3JFYWNoKChlPT50aGlzLl90b2dnbGVBdHRyaWJ1dGUoImxhc3QtZnJvemVuIix0LGUpKSksdGhpcy5wYXJlbnRFbGVtZW50JiZ0aGlzLnBhcmVudEVsZW1lbnQuX2NvbHVtblByb3BDaGFuZ2VkJiYodGhpcy5wYXJlbnRFbGVtZW50Ll9sYXN0RnJvemVuPXQpfV9wYXRoT3JIZWFkZXJDaGFuZ2VkKHQsZSxuLGkscixvLGEscyxsKXtjb25zdCBjPXZvaWQgMCE9PWU7aWYoIWEmJiFsJiZjJiZuJiZ0aGlzLl9fc2V0VGV4dENvbnRlbnQobi5fY29udGVudCxlKSx0JiZyLnZhbHVlKXtpZighbyYmIXMpe3RoaXMuX19zZXRDb2x1bW5UZW1wbGF0ZU9yUmVuZGVyZXIodm9pZCAwLCgoZSxuLHtpdGVtOml9KT0+dGhpcy5fX3NldFRleHRDb250ZW50KGUsdGhpcy5nZXQodCxpKSkpLHIudmFsdWUpfWF8fGx8fGN8fCFufHxudWxsPT09ZXx8dGhpcy5fX3NldFRleHRDb250ZW50KG4uX2NvbnRlbnQsdGhpcy5fZ2VuZXJhdGVIZWFkZXIodCkpfW4mJnRoaXMuX2dyaWQuX191cGRhdGVIZWFkZXJGb290ZXJSb3dWaXNpYmlsaXR5KG4ucGFyZW50RWxlbWVudCl9X19zZXRUZXh0Q29udGVudCh0LGUpe3QudGV4dENvbnRlbnQhPT1lJiYodC50ZXh0Q29udGVudD1lKX1fZ2VuZXJhdGVIZWFkZXIodCl7cmV0dXJuIHQuc3Vic3RyKHQubGFzdEluZGV4T2YoIi4iKSsxKS5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvLS9nLCIgIikucmVwbGFjZSgvXi4vLCh0PT50LnRvVXBwZXJDYXNlKCkpKX1fdG9nZ2xlQXR0cmlidXRlKHQsZSxuKXtuLmhhc0F0dHJpYnV0ZSh0KT09PSFlJiYoZT9uLnNldEF0dHJpYnV0ZSh0LCIiKTpuLnJlbW92ZUF0dHJpYnV0ZSh0KSl9X3Jlb3JkZXJTdGF0dXNDaGFuZ2VkKHQpe3RoaXMuX2FsbENlbGxzLmZvckVhY2goKGU9PmUuc2V0QXR0cmlidXRlKCJyZW9yZGVyLXN0YXR1cyIsdCkpKX1fcmVzaXphYmxlQ2hhbmdlZCh0LGUpe3ZvaWQgMCE9PXQmJnZvaWQgMCE9PWUmJmUmJltlXS5jb25jYXQodGhpcy5fZW1wdHlDZWxscykuZm9yRWFjaCgoZT0+e2lmKGUpe2NvbnN0IG49ZS5xdWVyeVNlbGVjdG9yKCdbcGFydH49InJlc2l6ZS1oYW5kbGUiXScpO2lmKG4mJmUucmVtb3ZlQ2hpbGQobiksdCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LnNldEF0dHJpYnV0ZSgicGFydCIsInJlc2l6ZS1oYW5kbGUiKSxlLmFwcGVuZENoaWxkKHQpfX19KSl9X3RleHRBbGlnbkNoYW5nZWQodCl7aWYodm9pZCAwPT09dClyZXR1cm47aWYoLTE9PT1bInN0YXJ0IiwiZW5kIiwiY2VudGVyIl0uaW5kZXhPZih0KSlyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oJ3RleHRBbGlnbiBjYW4gb25seSBiZSBzZXQgYXMgInN0YXJ0IiwgImVuZCIgb3IgImNlbnRlciInKTtsZXQgZTsibHRyIj09PWdldENvbXB1dGVkU3R5bGUodGhpcy5fZ3JpZCkuZGlyZWN0aW9uPyJzdGFydCI9PT10P2U9ImxlZnQiOiJlbmQiPT09dCYmKGU9InJpZ2h0Iik6InN0YXJ0Ij09PXQ/ZT0icmlnaHQiOiJlbmQiPT09dCYmKGU9ImxlZnQiKSx0aGlzLl9hbGxDZWxscy5mb3JFYWNoKChuPT57bi5fY29udGVudC5zdHlsZS50ZXh0QWxpZ249dCxnZXRDb21wdXRlZFN0eWxlKG4uX2NvbnRlbnQpLnRleHRBbGlnbiE9PXQmJihuLl9jb250ZW50LnN0eWxlLnRleHRBbGlnbj1lKX0pKX1faGlkZGVuQ2hhbmdlZCh0KXt0aGlzLnBhcmVudEVsZW1lbnQmJnRoaXMucGFyZW50RWxlbWVudC5fY29sdW1uUHJvcENoYW5nZWQmJnRoaXMucGFyZW50RWxlbWVudC5fY29sdW1uUHJvcENoYW5nZWQoImhpZGRlbiIsdCksISF0IT0hIXRoaXMuX3ByZXZpb3VzSGlkZGVuJiZ0aGlzLl9ncmlkJiYoITA9PT10JiZ0aGlzLl9hbGxDZWxscy5mb3JFYWNoKCh0PT57dC5fY29udGVudC5wYXJlbnROb2RlJiZ0Ll9jb250ZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodC5fY29udGVudCl9KSksdGhpcy5fZ3JpZC5fZGVib3VuY2VySGlkZGVuQ2hhbmdlZD1Obi5kZWJvdW5jZSh0aGlzLl9ncmlkLl9kZWJvdW5jZXJIaWRkZW5DaGFuZ2VkLF90LCgoKT0+e3RoaXMuX2dyaWQmJnRoaXMuX2dyaWQuX3JlbmRlckNvbHVtblRyZWUmJnRoaXMuX2dyaWQuX3JlbmRlckNvbHVtblRyZWUodGhpcy5fZ3JpZC5fY29sdW1uVHJlZSl9KSksdGhpcy5fZ3JpZC5fdXBkYXRlTGFzdEZyb3plbiYmdGhpcy5fZ3JpZC5fdXBkYXRlTGFzdEZyb3plbigpLHRoaXMuX2dyaWQubm90aWZ5UmVzaXplJiZ0aGlzLl9ncmlkLm5vdGlmeVJlc2l6ZSgpLHRoaXMuX2dyaWQuX3Jlc2V0S2V5Ym9hcmROYXZpZ2F0aW9uJiZ0aGlzLl9ncmlkLl9yZXNldEtleWJvYXJkTmF2aWdhdGlvbigpKSx0aGlzLl9wcmV2aW91c0hpZGRlbj10fX07Y2xhc3MgZDB0IGV4dGVuZHMoaDB0KEExdCh3ZSkpKXtzdGF0aWMgZ2V0IGlzKCl7cmV0dXJuInZhYWRpbi1ncmlkLWNvbHVtbiJ9c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue3dpZHRoOnt0eXBlOlN0cmluZyx2YWx1ZToiMTAwcHgifSxmbGV4R3Jvdzp7dHlwZTpOdW1iZXIsdmFsdWU6MX0scmVuZGVyZXI6RnVuY3Rpb24scGF0aDp7dHlwZTpTdHJpbmd9LGF1dG9XaWR0aDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfYm9keVRlbXBsYXRlOnt0eXBlOk9iamVjdH0sX2NlbGxzOkFycmF5fX19Y3VzdG9tRWxlbWVudHMuZGVmaW5lKGQwdC5pcyxkMHQpLAovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLwp0MXQoInZhYWRpbi1ncmlkIiwkUXRgCiAgICBAa2V5ZnJhbWVzIHZhYWRpbi1ncmlkLWFwcGVhciB7CiAgICAgIHRvIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CiAgICB9CgogICAgOmhvc3QgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgYW5pbWF0aW9uOiAxbXMgdmFhZGluLWdyaWQtYXBwZWFyOwogICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICBmbGV4OiAxIDEgYXV0bzsKICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgfQoKICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICAjc2Nyb2xsZXIgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICB3aWR0aDogYXV0bzsKICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIGJvdHRvbTogMDsKICAgICAgbGVmdDogMDsKICAgIH0KCiAgICA6aG9zdChbaGVpZ2h0LWJ5LXJvd3NdKSB7CiAgICAgIGhlaWdodDogYXV0bzsKICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICAgICAgZmxleC1ncm93OiAwOwogICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICA6aG9zdChbaGVpZ2h0LWJ5LXJvd3NdKSAjc2Nyb2xsZXIgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgI3RhYmxlIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgLyogV29ya2Fyb3VuZCBmb3IgYSBEZXNrdG9wIFNhZmFyaSBidWc6IG5ldyBzdGFja2luZyBjb250ZXh0IGhlcmUgcHJldmVudHMgdGhlIHNjcm9sbGJhciBmcm9tIGdldHRpbmcgaGlkZGVuICovCiAgICAgIHotaW5kZXg6IDA7CiAgICB9CgogICAgI2hlYWRlciwKICAgICNmb290ZXIgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5OwogICAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgICBsZWZ0OiAwOwogICAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIHotaW5kZXg6IDE7CiAgICB9CgogICAgI2hlYWRlciB7CiAgICAgIHRvcDogMDsKICAgIH0KCiAgICB0aCB7CiAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7CiAgICB9CgogICAgLyogU2FmYXJpIGRvZXNuJ3Qgd29yayB3aXRoICJpbmhlcml0IiAqLwogICAgW3NhZmFyaV0gdGggewogICAgICB0ZXh0LWFsaWduOiBpbml0aWFsOwogICAgfQoKICAgICNmb290ZXIgewogICAgICBib3R0b206IDA7CiAgICB9CgogICAgI2l0ZW1zIHsKICAgICAgZmxleC1ncm93OiAxOwogICAgICBmbGV4LXNocmluazogMDsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTsKICAgICAgcG9zaXRpb246IHN0aWNreTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGxlZnQ6IDA7CiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgfQoKICAgIFtwYXJ0fj0ncm93J10gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB3aWR0aDogMTAwJTsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgbWFyZ2luOiAwOwogICAgfQoKICAgIFtwYXJ0fj0ncm93J11bbG9hZGluZ10gW3BhcnR+PSdib2R5LWNlbGwnXSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgIG9wYWNpdHk6IDA7CiAgICB9CgogICAgI2l0ZW1zIFtwYXJ0fj0ncm93J10gewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB9CgogICAgI2l0ZW1zIFtwYXJ0fj0ncm93J106ZW1wdHkgewogICAgICBoZWlnaHQ6IDFlbTsKICAgIH0KCiAgICBbcGFydH49J2NlbGwnXTpub3QoW3BhcnR+PSdkZXRhaWxzLWNlbGwnXSkgewogICAgICBmbGV4LXNocmluazogMDsKICAgICAgZmxleC1ncm93OiAxOwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB3aWR0aDogMTAwJTsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBwYWRkaW5nOiAwOwogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgfQoKICAgIFtwYXJ0fj0nZGV0YWlscy1jZWxsJ10gewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGJvdHRvbTogMDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIHBhZGRpbmc6IDA7CiAgICB9CgogICAgW3BhcnR+PSdjZWxsJ10gOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgfQoKICAgIFtoaWRkZW5dIHsKICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgfQoKICAgIFtmcm96ZW5dIHsKICAgICAgei1pbmRleDogMjsKICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgIH0KCiAgICBbbm8tc2Nyb2xsYmFyc11bc2FmYXJpXSAjdGFibGUsCiAgICBbbm8tc2Nyb2xsYmFyc11bZmlyZWZveF0gI3RhYmxlIHsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCiAgICAvKiBSZW9yZGVyaW5nIHN0eWxlcyAqLwogICAgOmhvc3QoW3Jlb3JkZXJpbmddKSBbcGFydH49J2NlbGwnXSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSwKICAgIDpob3N0KFtyZW9yZGVyaW5nXSkgW3BhcnR+PSdyZXNpemUtaGFuZGxlJ10sCiAgICAjc2Nyb2xsZXJbbm8tY29udGVudC1wb2ludGVyLWV2ZW50c10gW3BhcnR+PSdjZWxsJ10gOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIH0KCiAgICBbcGFydH49J3Jlb3JkZXItZ2hvc3QnXSB7CiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgb3BhY2l0eTogMC41OwoKICAgICAgLyogUHJldmVudCBvdmVyZmxvd2luZyB0aGUgZ3JpZCBpbiBGaXJlZm94ICovCiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgIH0KCiAgICA6aG9zdChbcmVvcmRlcmluZ10pIHsKICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB9CgogICAgLyogUmVzaXppbmcgc3R5bGVzICovCiAgICBbcGFydH49J3Jlc2l6ZS1oYW5kbGUnXSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICByaWdodDogMDsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBjdXJzb3I6IGNvbC1yZXNpemU7CiAgICAgIHotaW5kZXg6IDE7CiAgICB9CgogICAgW3BhcnR+PSdyZXNpemUtaGFuZGxlJ106OmJlZm9yZSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgY29udGVudDogJyc7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgd2lkdGg6IDM1cHg7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICAgIH0KCiAgICBbbGFzdC1jb2x1bW5dIFtwYXJ0fj0ncmVzaXplLWhhbmRsZSddOjpiZWZvcmUsCiAgICBbbGFzdC1mcm96ZW5dIFtwYXJ0fj0ncmVzaXplLWhhbmRsZSddOjpiZWZvcmUgewogICAgICB3aWR0aDogMThweDsKICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICByaWdodDogMDsKICAgIH0KCiAgICAjc2Nyb2xsZXJbY29sdW1uLXJlc2l6aW5nXSB7CiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB9CgogICAgLyogU2l6ZXIgc3R5bGVzICovCiAgICAjc2l6ZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIH0KCiAgICAjc2l6ZXIgW3BhcnR+PSdkZXRhaWxzLWNlbGwnXSB7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICAjc2l6ZXIgW3BhcnR+PSdjZWxsJ11baGlkZGVuXSB7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICAjc2l6ZXIgW3BhcnR+PSdjZWxsJ10gewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIGxpbmUtaGVpZ2h0OiAwOwogICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDsKICAgICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50OwogICAgICBtYXgtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7CiAgICB9CgogICAgI3NpemVyIFtwYXJ0fj0nY2VsbCddOjpiZWZvcmUgewogICAgICBjb250ZW50OiAnLSc7CiAgICB9CgogICAgI3NpemVyIFtwYXJ0fj0nY2VsbCddIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgfQoKICAgIC8qIFJUTCBzcGVjaWZpYyBzdHlsZXMgKi8KCiAgICA6aG9zdChbZGlyPSdydGwnXSkgI2l0ZW1zLAogICAgOmhvc3QoW2Rpcj0ncnRsJ10pICNoZWFkZXIsCiAgICA6aG9zdChbZGlyPSdydGwnXSkgI2Zvb3RlciB7CiAgICAgIGxlZnQ6IGF1dG87CiAgICB9CgogICAgOmhvc3QoW2Rpcj0ncnRsJ10pIFtwYXJ0fj0ncmVvcmRlci1naG9zdCddIHsKICAgICAgbGVmdDogYXV0bzsKICAgICAgcmlnaHQ6IDA7CiAgICB9CgogICAgOmhvc3QoW2Rpcj0ncnRsJ10pIFtwYXJ0fj0ncmVzaXplLWhhbmRsZSddIHsKICAgICAgbGVmdDogMDsKICAgICAgcmlnaHQ6IGF1dG87CiAgICB9CgogICAgOmhvc3QoW2Rpcj0ncnRsJ10pIFtwYXJ0fj0ncmVzaXplLWhhbmRsZSddOjpiZWZvcmUgewogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTsKICAgIH0KCiAgICA6aG9zdChbZGlyPSdydGwnXSkgW2xhc3QtY29sdW1uXSBbcGFydH49J3Jlc2l6ZS1oYW5kbGUnXTo6YmVmb3JlLAogICAgOmhvc3QoW2Rpcj0ncnRsJ10pIFtsYXN0LWZyb3plbl0gW3BhcnR+PSdyZXNpemUtaGFuZGxlJ106OmJlZm9yZSB7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHJpZ2h0OiBhdXRvOwogICAgfQogIGAse21vZHVsZUlkOiJ2YWFkaW4tZ3JpZC1zdHlsZXMifSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovCmNvbnN0IHAwdD0oKCk9Pnt0cnl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJUb3VjaEV2ZW50IiksITB9Y2F0Y2godCl7cmV0dXJuITF9fSkoKTtjbGFzcyBmMHQgZXh0ZW5kcyhQMXQoZjF0KGoxdChGMXQoRzF0KEIxdChaMXQoSjF0KFExdChYMXQoYzB0KEQxdChxMXQodTB0KFYxdChXMXQobDB0KHQwdCh6MXQpKSkpKSkpKSkpKSkpKSkpKSkpe3N0YXRpYyBnZXQgdGVtcGxhdGUoKXtyZXR1cm4geGVgCiAgICAgIDxkaXYKICAgICAgICBpZD0ic2Nyb2xsZXIiCiAgICAgICAgc2FmYXJpJD0iW1tfc2FmYXJpXV0iCiAgICAgICAgaW9zJD0iW1tfaW9zXV0iCiAgICAgICAgbG9hZGluZyQ9IltbbG9hZGluZ11dIgogICAgICAgIGNvbHVtbi1yZW9yZGVyaW5nLWFsbG93ZWQkPSJbW2NvbHVtblJlb3JkZXJpbmdBbGxvd2VkXV0iCiAgICAgID4KICAgICAgICA8dGFibGUgaWQ9InRhYmxlIiByb2xlPSJncmlkIiBhcmlhLW11bHRpc2VsZWN0YWJsZT0idHJ1ZSIgdGFiaW5kZXg9IjAiPgogICAgICAgICAgPGNhcHRpb24gaWQ9InNpemVyIiBwYXJ0PSJyb3ciPjwvY2FwdGlvbj4KICAgICAgICAgIDx0aGVhZCBpZD0iaGVhZGVyIiByb2xlPSJyb3dncm91cCI+PC90aGVhZD4KICAgICAgICAgIDx0Ym9keSBpZD0iaXRlbXMiIHJvbGU9InJvd2dyb3VwIj48L3Rib2R5PgogICAgICAgICAgPHRmb290IGlkPSJmb290ZXIiIHJvbGU9InJvd2dyb3VwIj48L3Rmb290PgogICAgICAgIDwvdGFibGU+CgogICAgICAgIDxkaXYgcGFydD0icmVvcmRlci1naG9zdCI+PC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBpZD0iZm9jdXNleGl0IiB0YWJpbmRleD0iMCI+PC9kaXY+CiAgICBgfXN0YXRpYyBnZXQgaXMoKXtyZXR1cm4idmFhZGluLWdyaWQifXN0YXRpYyBnZXQgdmVyc2lvbigpe3JldHVybiIyMC4wLjIifXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfY29sdW1uVHJlZUNoYW5nZWQoX2NvbHVtblRyZWUsIF9jb2x1bW5UcmVlLiopIl19c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue19zYWZhcmk6e3R5cGU6Qm9vbGVhbix2YWx1ZTovXigoPyFjaHJvbWV8YW5kcm9pZCkuKSpzYWZhcmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfSxfaW9zOnt0eXBlOkJvb2xlYW4sdmFsdWU6L2lQYWR8aVBob25lfGlQb2QvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJiF3aW5kb3cuTVNTdHJlYW18fCJNYWNJbnRlbCI9PT1uYXZpZ2F0b3IucGxhdGZvcm0mJm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4xfSxfZmlyZWZveDp7dHlwZTpCb29sZWFuLHZhbHVlOm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJmaXJlZm94Iik+LTF9LF9hbmRyb2lkOnt0eXBlOkJvb2xlYW4sdmFsdWU6L2FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfSxfdG91Y2hEZXZpY2U6e3R5cGU6Qm9vbGVhbix2YWx1ZTpwMHR9LGhlaWdodEJ5Um93czp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxvYnNlcnZlcjoiX2hlaWdodEJ5Um93c0NoYW5nZWQifSxfcmVjYWxjdWxhdGVDb2x1bW5XaWR0aE9uY2VMb2FkaW5nRmluaXNoZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH19fWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmVuZCIsdGhpcy5fb25BbmltYXRpb25FbmQpfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJlY2FsY3VsYXRlQ29sdW1uV2lkdGhzKCl9YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHQsZSxuKXtzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4pLCJkaXIiPT09dCYmKHRoaXMuX19pc1JUTD0icnRsIj09PW4sdGhpcy5fdXBkYXRlU2Nyb2xsZXJNZWFzdXJlbWVudHMoKSl9X19oYXNSb3dzV2l0aENsaWVudEhlaWdodCgpe3JldHVybiEhQXJyYXkuZnJvbSh0aGlzLiQuaXRlbXMuY2hpbGRyZW4pLmZpbHRlcigodD0+dC5jbGllbnRIZWlnaHQpKS5sZW5ndGh9X19pdGVtc1JlY2VpdmVkKCl7dGhpcy5fcmVjYWxjdWxhdGVDb2x1bW5XaWR0aE9uY2VMb2FkaW5nRmluaXNoZWQmJiF0aGlzLl9jYWNoZS5pc0xvYWRpbmcoKSYmdGhpcy5fX2hhc1Jvd3NXaXRoQ2xpZW50SGVpZ2h0KCkmJih0aGlzLl9yZWNhbGN1bGF0ZUNvbHVtbldpZHRoT25jZUxvYWRpbmdGaW5pc2hlZD0hMSx0aGlzLnJlY2FsY3VsYXRlQ29sdW1uV2lkdGhzKCkpfV9yZWNhbGN1bGF0ZUNvbHVtbldpZHRocyh0KXt0LmZvckVhY2goKHQ9Pnt0LndpZHRoPSJhdXRvIix0Ll9vcmlnRmxleEdyb3c9dC5mbGV4R3Jvdyx0LmZsZXhHcm93PTB9KSksdC5mb3JFYWNoKCh0PT57dC5fY3VycmVudFdpZHRoPTAsdC5fYWxsQ2VsbHMuZm9yRWFjaCgoZT0+e3QuX2N1cnJlbnRXaWR0aD1NYXRoLm1heCh0Ll9jdXJyZW50V2lkdGgsZS5vZmZzZXRXaWR0aCsxKX0pKX0pKSx0LmZvckVhY2goKHQ9Pnt0LndpZHRoPWAke3QuX2N1cnJlbnRXaWR0aH1weGAsdC5mbGV4R3Jvdz10Ll9vcmlnRmxleEdyb3csdC5fY3VycmVudFdpZHRoPXZvaWQgMCx0Ll9vcmlnRmxleEdyb3c9dm9pZCAwfSkpfXJlY2FsY3VsYXRlQ29sdW1uV2lkdGhzKCl7aWYodGhpcy5fY29sdW1uVHJlZSlpZih0aGlzLl9jYWNoZS5pc0xvYWRpbmcoKSl0aGlzLl9yZWNhbGN1bGF0ZUNvbHVtbldpZHRoT25jZUxvYWRpbmdGaW5pc2hlZD0hMDtlbHNle2NvbnN0IHQ9dGhpcy5fZ2V0Q29sdW1ucygpLmZpbHRlcigodD0+IXQuaGlkZGVuJiZ0LmF1dG9XaWR0aCkpO3RoaXMuX3JlY2FsY3VsYXRlQ29sdW1uV2lkdGhzKHQpfX1fY3JlYXRlU2Nyb2xsZXJSb3dzKHQpe2NvbnN0IGU9W107Zm9yKGxldCBuPTA7bjx0O24rKyl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpO3Quc2V0QXR0cmlidXRlKCJwYXJ0Iiwicm93IiksdC5zZXRBdHRyaWJ1dGUoInJvbGUiLCJyb3ciKSx0aGlzLl9jb2x1bW5UcmVlJiZ0aGlzLl91cGRhdGVSb3codCx0aGlzLl9jb2x1bW5UcmVlW3RoaXMuX2NvbHVtblRyZWUubGVuZ3RoLTFdLCJib2R5IiwhMSwhMCksZS5wdXNoKHQpfXJldHVybiB0aGlzLl9jb2x1bW5UcmVlJiZ0aGlzLl9jb2x1bW5UcmVlW3RoaXMuX2NvbHVtblRyZWUubGVuZ3RoLTFdLmZvckVhY2goKHQ9PnQuaXNDb25uZWN0ZWQmJnQubm90aWZ5UGF0aCYmdC5ub3RpZnlQYXRoKCJfY2VsbHMuKiIsdC5fY2VsbHMpKSksKGZ1bmN0aW9uIG4odCxlLGkpe05pfHxPaSgpLElpLnB1c2goW3QsZSxpXSl9KSh0aGlzLCgoKT0+e3RoaXMuX3VwZGF0ZUZpcnN0QW5kTGFzdENvbHVtbigpLHRoaXMuX3Jlc2V0S2V5Ym9hcmROYXZpZ2F0aW9uKCl9KSksZX1fZ2V0Um93VGFyZ2V0KCl7cmV0dXJuIHRoaXMuJC5pdGVtc31fY3JlYXRlQ2VsbCh0KXtjb25zdCBlPSJ2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQtIisodGhpcy5fY29udGVudEluZGV4PXRoaXMuX2NvbnRlbnRJbmRleCsxfHwwKSxuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZhYWRpbi1ncmlkLWNlbGwtY29udGVudCIpO24uc2V0QXR0cmlidXRlKCJzbG90IixlKTtjb25zdCBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCk7aS5pZD1lLnJlcGxhY2UoIi1jb250ZW50LSIsIi0iKSxpLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCItMSIpLGkuc2V0QXR0cmlidXRlKCJyb2xlIiwidGQiPT09dD8iZ3JpZGNlbGwiOiJjb2x1bW5oZWFkZXIiKTtjb25zdCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNsb3QiKTtyZXR1cm4gci5zZXRBdHRyaWJ1dGUoIm5hbWUiLGUpLGkuYXBwZW5kQ2hpbGQociksaS5fY29udGVudD1uLG4uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwoKCk9PntpZih3aW5kb3cuY2hyb21lKXtjb25zdCB0PSgpPT57bi5jb250YWlucyh0aGlzLmdldFJvb3ROb2RlKCkuYWN0aXZlRWxlbWVudCl8fGkuZm9jdXMoKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0LCEwKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdCwhMCl9ZWxzZSBzZXRUaW1lb3V0KCgoKT0+e24uY29udGFpbnModGhpcy5nZXRSb290Tm9kZSgpLmFjdGl2ZUVsZW1lbnQpfHxpLmZvY3VzKCl9KSl9KSksaX1fdXBkYXRlUm93KHQsZSxuLGkscil7bj1ufHwiYm9keSI7Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7QXJyYXkuZnJvbSh0LmNoaWxkcmVuKS5mb3JFYWNoKCh0PT50Ll92YWNhbnQ9ITApKSx0LmlubmVySFRNTD0iIiwic2l6ZXIiIT09dC5pZCYmKHQuaGlkZGVuPSEwKSxlLmZpbHRlcigodD0+IXQuaGlkZGVuKSkuZm9yRWFjaCgoKGUsYSxzKT0+e2xldCBsO2lmKCJib2R5Ij09PW4pe2lmKGUuX2NlbGxzPWUuX2NlbGxzfHxbXSxsPWUuX2NlbGxzLmZpbHRlcigodD0+dC5fdmFjYW50KSlbMF0sbHx8KGw9dGhpcy5fY3JlYXRlQ2VsbCgidGQiKSxlLl9jZWxscy5wdXNoKGwpKSxsLnNldEF0dHJpYnV0ZSgicGFydCIsImNlbGwgYm9keS1jZWxsIiksdC5hcHBlbmRDaGlsZChsKSxhPT09cy5sZW5ndGgtMSYmKHRoaXMuX3Jvd0RldGFpbHNUZW1wbGF0ZXx8dGhpcy5yb3dEZXRhaWxzUmVuZGVyZXIpKXt0aGlzLl9kZXRhaWxzQ2VsbHM9dGhpcy5fZGV0YWlsc0NlbGxzfHxbXTtjb25zdCBlPXRoaXMuX2RldGFpbHNDZWxscy5maWx0ZXIoKHQ9PnQuX3ZhY2FudCkpWzBdfHx0aGlzLl9jcmVhdGVDZWxsKCJ0ZCIpOy0xPT09dGhpcy5fZGV0YWlsc0NlbGxzLmluZGV4T2YoZSkmJnRoaXMuX2RldGFpbHNDZWxscy5wdXNoKGUpLGUuX2NvbnRlbnQucGFyZW50RWxlbWVudHx8by5hcHBlbmRDaGlsZChlLl9jb250ZW50KSx0aGlzLl9jb25maWd1cmVEZXRhaWxzQ2VsbChlKSx0LmFwcGVuZENoaWxkKGUpLHRoaXMuX2ExMXlTZXRSb3dEZXRhaWxzQ2VsbCh0LGUpLGUuX3ZhY2FudD0hMX1lLm5vdGlmeVBhdGgmJiFyJiZlLm5vdGlmeVBhdGgoIl9jZWxscy4qIixlLl9jZWxscyl9ZWxzZXtjb25zdCByPSJoZWFkZXIiPT09bj8idGgiOiJ0ZCI7aXx8InZhYWRpbi1ncmlkLWNvbHVtbi1ncm91cCI9PT1lLmxvY2FsTmFtZT8obD1lW2BfJHtufUNlbGxgXXx8dGhpcy5fY3JlYXRlQ2VsbChyKSxsLl9jb2x1bW49ZSx0LmFwcGVuZENoaWxkKGwpLGVbYF8ke259Q2VsbGBdPWwpOihlLl9lbXB0eUNlbGxzPWUuX2VtcHR5Q2VsbHN8fFtdLGw9ZS5fZW1wdHlDZWxscy5maWx0ZXIoKHQ9PnQuX3ZhY2FudCkpWzBdfHx0aGlzLl9jcmVhdGVDZWxsKHIpLGwuX2NvbHVtbj1lLHQuYXBwZW5kQ2hpbGQobCksLTE9PT1lLl9lbXB0eUNlbGxzLmluZGV4T2YobCkmJmUuX2VtcHR5Q2VsbHMucHVzaChsKSksbC5zZXRBdHRyaWJ1dGUoInBhcnQiLGBjZWxsICR7bn0tY2VsbGApLHRoaXMuX191cGRhdGVIZWFkZXJGb290ZXJSb3dWaXNpYmlsaXR5KHQpfWwuX2NvbnRlbnQucGFyZW50RWxlbWVudHx8by5hcHBlbmRDaGlsZChsLl9jb250ZW50KSxsLl92YWNhbnQ9ITEsbC5fY29sdW1uPWV9KSksdGhpcy5hcHBlbmRDaGlsZChvKSx0aGlzLl9mcm96ZW5DZWxsc0NoYW5nZWQoKSx0aGlzLl91cGRhdGVGaXJzdEFuZExhc3RDb2x1bW5Gb3JSb3codCl9X191cGRhdGVIZWFkZXJGb290ZXJSb3dWaXNpYmlsaXR5KHQpe2lmKCF0KXJldHVybjtjb25zdCBlPUFycmF5LmZyb20odC5jaGlsZHJlbikuZmlsdGVyKChlPT57Y29uc3Qgbj1lLl9jb2x1bW47aWYobi5fZW1wdHlDZWxscyYmbi5fZW1wdHlDZWxscy5pbmRleE9mKGUpPi0xKXJldHVybiExO2lmKHQucGFyZW50RWxlbWVudD09PXRoaXMuJC5oZWFkZXIpe2lmKG4uaGVhZGVyUmVuZGVyZXJ8fG4uX2hlYWRlclRlbXBsYXRlKXJldHVybiEwO2lmKG51bGw9PT1uLmhlYWRlcilyZXR1cm4hMTtpZihuLnBhdGh8fHZvaWQgMCE9PW4uaGVhZGVyKXJldHVybiEwfWVsc2UgaWYobi5mb290ZXJSZW5kZXJlcnx8bi5fZm9vdGVyVGVtcGxhdGUpcmV0dXJuITB9KSk7dC5oaWRkZW4hPT0hZS5sZW5ndGgmJih0LmhpZGRlbj0hZS5sZW5ndGgsdGhpcy5ub3RpZnlSZXNpemUoKSl9X3VwZGF0ZVNjcm9sbGVySXRlbSh0LGUpe3RoaXMuX3ByZXZlbnRTY3JvbGxlclJvdGF0aW5nQ2VsbEZvY3VzKHQsZSksdGhpcy5fY29sdW1uVHJlZSYmKHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgiZmlyc3QiLDA9PT1lLHQpLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgib2RkIixlJTIsdCksdGhpcy5fYTExeVVwZGF0ZVJvd1Jvd2luZGV4KHQsZSksdGhpcy5fZ2V0SXRlbShlLHQpKX1fY29sdW1uVHJlZUNoYW5nZWQodCl7dGhpcy5fcmVuZGVyQ29sdW1uVHJlZSh0KSx0aGlzLnJlY2FsY3VsYXRlQ29sdW1uV2lkdGhzKCl9X3JlbmRlckNvbHVtblRyZWUodCl7Zm9yKEFycmF5LmZyb20odGhpcy4kLml0ZW1zLmNoaWxkcmVuKS5mb3JFYWNoKChlPT50aGlzLl91cGRhdGVSb3coZSx0W3QubGVuZ3RoLTFdLG51bGwsITEsITApKSk7dGhpcy4kLmhlYWRlci5jaGlsZHJlbi5sZW5ndGg8dC5sZW5ndGg7KXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIik7dC5zZXRBdHRyaWJ1dGUoInBhcnQiLCJyb3ciKSx0LnNldEF0dHJpYnV0ZSgicm9sZSIsInJvdyIpLHRoaXMuJC5oZWFkZXIuYXBwZW5kQ2hpbGQodCk7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpO2Uuc2V0QXR0cmlidXRlKCJwYXJ0Iiwicm93IiksZS5zZXRBdHRyaWJ1dGUoInJvbGUiLCJyb3ciKSx0aGlzLiQuZm9vdGVyLmFwcGVuZENoaWxkKGUpfWZvcig7dGhpcy4kLmhlYWRlci5jaGlsZHJlbi5sZW5ndGg+dC5sZW5ndGg7KXRoaXMuJC5oZWFkZXIucmVtb3ZlQ2hpbGQodGhpcy4kLmhlYWRlci5maXJzdEVsZW1lbnRDaGlsZCksdGhpcy4kLmZvb3Rlci5yZW1vdmVDaGlsZCh0aGlzLiQuZm9vdGVyLmZpcnN0RWxlbWVudENoaWxkKTtBcnJheS5mcm9tKHRoaXMuJC5oZWFkZXIuY2hpbGRyZW4pLmZvckVhY2goKChlLG4pPT50aGlzLl91cGRhdGVSb3coZSx0W25dLCJoZWFkZXIiLG49PT10Lmxlbmd0aC0xKSkpLEFycmF5LmZyb20odGhpcy4kLmZvb3Rlci5jaGlsZHJlbikuZm9yRWFjaCgoKGUsbik9PnRoaXMuX3VwZGF0ZVJvdyhlLHRbdC5sZW5ndGgtMS1uXSwiZm9vdGVyIiwwPT09bikpKSx0aGlzLl91cGRhdGVSb3codGhpcy4kLnNpemVyLHRbdC5sZW5ndGgtMV0pLHRoaXMuX3Jlc2l6ZUhhbmRsZXIoKSx0aGlzLl9mcm96ZW5DZWxsc0NoYW5nZWQoKSx0aGlzLl91cGRhdGVGaXJzdEFuZExhc3RDb2x1bW4oKSx0aGlzLl9yZXNldEtleWJvYXJkTmF2aWdhdGlvbigpLHRoaXMuX2ExMXlVcGRhdGVIZWFkZXJSb3dzKCksdGhpcy5fYTExeVVwZGF0ZUZvb3RlclJvd3MoKSx0aGlzLl9fdXBkYXRlRm9vdGVyUG9zaXRpb25pbmcoKX1fX3VwZGF0ZUZvb3RlclBvc2l0aW9uaW5nKCl7aWYodGhpcy5fZmlyZWZveCYmKHRoaXMuJC5pdGVtcy5zdHlsZS5wYWRkaW5nQm90dG9tPTAsdGhpcy5oZWlnaHRCeVJvd3N8fCh0aGlzLiQuaXRlbXMuc3R5bGUucGFkZGluZ0JvdHRvbT1gJHt0aGlzLiQuZm9vdGVyLm9mZnNldEhlaWdodH1weGApKSx0aGlzLl9pb3MpeyF3aW5kb3cuQ1NTLnN1cHBvcnRzKCJwb3NpdGlvbiIsInN0aWNreSIpJiYodGhpcy4kLnRhYmxlLnN0eWxlLmhlaWdodD0iIix0aGlzLiQudGFibGUuc3R5bGUubWluSGVpZ2h0PSIxMDAlIix0aGlzLiQudGFibGUuc3R5bGUubWF4SGVpZ2h0PSIxMDAlIixzZXRUaW1lb3V0KCgoKT0+dGhpcy4kLnRhYmxlLnN0eWxlLmhlaWdodD1gJHt0aGlzLiQuc2Nyb2xsZXIub2Zmc2V0SGVpZ2h0fXB4YCkpKX19X3VwZGF0ZUl0ZW0odCxlKXt0Ll9pdGVtPWU7Y29uc3Qgbj10aGlzLl9fZ2V0Um93TW9kZWwodCk7dGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJzZWxlY3RlZCIsbi5zZWxlY3RlZCx0KSx0aGlzLl9hMTF5VXBkYXRlUm93U2VsZWN0ZWQodCxuLnNlbGVjdGVkKSx0aGlzLl9hMTF5VXBkYXRlUm93TGV2ZWwodCxuLmxldmVsKSx0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImV4cGFuZGVkIixuLmV4cGFuZGVkLHQpLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgiZGV0YWlscy1vcGVuZWQiLHRoaXMuX2lzRGV0YWlsc09wZW5lZChlKSx0KSwodGhpcy5fcm93RGV0YWlsc1RlbXBsYXRlfHx0aGlzLnJvd0RldGFpbHNSZW5kZXJlcikmJnRoaXMuX3RvZ2dsZURldGFpbHNDZWxsKHQsZSksdGhpcy5fZ2VuZXJhdGVDZWxsQ2xhc3NOYW1lcyh0LG4pLHRoaXMuX2ZpbHRlckRyYWdBbmREcm9wKHQsbiksQXJyYXkuZnJvbSh0LmNoaWxkcmVuKS5mb3JFYWNoKCh0PT57aWYodC5fcmVuZGVyZXIpe2NvbnN0IGU9dC5fY29sdW1ufHx0aGlzO3QuX3JlbmRlcmVyLmNhbGwoZSx0Ll9jb250ZW50LGUsbil9ZWxzZSB0Ll9pbnN0YW5jZSYmKHQuX2luc3RhbmNlLl9fZGV0YWlsc09wZW5lZF9fPW4uZGV0YWlsc09wZW5lZCx0Ll9pbnN0YW5jZS5fX3NlbGVjdGVkX189bi5zZWxlY3RlZCx0Ll9pbnN0YW5jZS5fX2xldmVsX189bi5sZXZlbCx0Ll9pbnN0YW5jZS5fX2V4cGFuZGVkX189bi5leHBhbmRlZCx0Ll9pbnN0YW5jZS5zZXRQcm9wZXJ0aWVzKG4pKX0pKSx0aGlzLl9kZWJvdW5jZXJVcGRhdGVIZWlnaHRzPU5uLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlclVwZGF0ZUhlaWdodHMsZ3QuYWZ0ZXIoMSksKCgpPT57dGhpcy5fdXBkYXRlTWV0cmljcygpLHRoaXMuX3Bvc2l0aW9uSXRlbXMoKSx0aGlzLl91cGRhdGVTY3JvbGxlclNpemUoKX0pKX1fcmVzaXplSGFuZGxlcigpe3RoaXMuX3VwZGF0ZURldGFpbHNDZWxsSGVpZ2h0cygpLHRoaXMuX2FjY2Vzc0lyb25MaXN0QVBJKHN1cGVyLl9yZXNpemVIYW5kbGVyLCEwKSx0aGlzLl91cGRhdGVTY3JvbGxlck1lYXN1cmVtZW50cygpLHRoaXMuX191cGRhdGVGb290ZXJQb3NpdGlvbmluZygpfV9vbkFuaW1hdGlvbkVuZCh0KXswPT09dC5hbmltYXRpb25OYW1lLmluZGV4T2YoInZhYWRpbi1ncmlkLWFwcGVhciIpJiYodGhpcy5fcmVuZGVyKCksdC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLm5vdGlmeVJlc2l6ZSgpLHRoaXMuX19pdGVtc1JlY2VpdmVkKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX19zY3JvbGxUb1BlbmRpbmdJbmRleCgpLHRoaXMuJC50YWJsZS5zdHlsZS53ZWJraXRPdmVyZmxvd1Njcm9sbGluZz0idG91Y2gifSkpKX1fdG9nZ2xlQXR0cmlidXRlKHQsZSxuKXtuLmhhc0F0dHJpYnV0ZSh0KT09PSFlJiYoZT9uLnNldEF0dHJpYnV0ZSh0LCIiKTpuLnJlbW92ZUF0dHJpYnV0ZSh0KSl9X19nZXRSb3dNb2RlbCh0KXtyZXR1cm57aW5kZXg6dC5pbmRleCxpdGVtOnQuX2l0ZW0sbGV2ZWw6dGhpcy5fZ2V0SW5kZXhMZXZlbCh0LmluZGV4KSxleHBhbmRlZDp0aGlzLl9pc0V4cGFuZGVkKHQuX2l0ZW0pLHNlbGVjdGVkOnRoaXMuX2lzU2VsZWN0ZWQodC5faXRlbSksZGV0YWlsc09wZW5lZDohKCF0aGlzLl9yb3dEZXRhaWxzVGVtcGxhdGUmJiF0aGlzLnJvd0RldGFpbHNSZW5kZXJlcikmJnRoaXMuX2lzRGV0YWlsc09wZW5lZCh0Ll9pdGVtKX19cmVuZGVyKCl7dGhpcy5fY29sdW1uVHJlZSYmKHRoaXMuX2NvbHVtblRyZWUuZm9yRWFjaCgodD0+e3QuZm9yRWFjaCgodD0+dC5fcmVuZGVySGVhZGVyQW5kRm9vdGVyKCkpKX0pKSx0aGlzLl91cGRhdGUoKSl9bm90aWZ5UmVzaXplKCl7c3VwZXIubm90aWZ5UmVzaXplKCl9X2hlaWdodEJ5Um93c0NoYW5nZWQodCxlKXsodHx8ZSkmJnRoaXMubm90aWZ5UmVzaXplKCl9X19mb3JjZVJlZmxvdygpe3RoaXMuX2RlYm91bmNlckZvcmNlUmVmbG93PU5uLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlckZvcmNlUmVmbG93LF90LCgoKT0+e3RoaXMuJC5zY3JvbGxlci5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixzZXRUaW1lb3V0KCgoKT0+dGhpcy4kLnNjcm9sbGVyLnN0eWxlLm92ZXJmbG93PSIiKSl9KSl9fWZ1bmN0aW9uIG0wdCh0LGUpe3JldHVybihmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIFZyKHt9LGNyKGUpLHQpfSkodCxlKX1jdXN0b21FbGVtZW50cy5kZWZpbmUoZjB0LmlzLGYwdCk7bGV0IGcwdD1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9ydW49IiJ9X2NzdlVybCh0LGUsbil7cmV0dXJuIGU/UE8obih0LGUpLHtmb3JtYXQ6ImNzdiJ9KToiIn1fanNvblVybCh0LGUsbil7cmV0dXJuIGU/bih0LGUpOiIifV9jc3ZOYW1lKHQsZSl7cmV0dXJuIGU/YHJ1bi0ke2V9LXRhZy0ke3R9LmNzdmA6IiJ9X2pzb25OYW1lKHQsZSl7cmV0dXJuIGU/YHJ1bi0ke2V9LXRhZy0ke3R9Lmpzb25gOiIifX07ZzB0LnRlbXBsYXRlPXhlYAogICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUKICAgICAgbm8tbGFiZWwtZmxvYXQ9InRydWUiCiAgICAgIGxhYmVsPSJydW4gdG8gZG93bmxvYWQiCiAgICAgIHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X3J1bn19IgogICAgPgogICAgICA8cGFwZXItbGlzdGJveCBzbG90PSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW3J1bnNdXSI+CiAgICAgICAgICA8cGFwZXItaXRlbSBuby1sYWJlbC1mbG9hdD0idHJ1ZSI+W1tpdGVtXV08L3BhcGVyLWl0ZW0+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19ydW5dXSI+CiAgICAgIDxhIGRvd25sb2FkPSJbW19jc3ZOYW1lKHRhZywgX3J1bildXSIgaHJlZj0iW1tfY3N2VXJsKHRhZywgX3J1biwgdXJsRm4pXV0iCiAgICAgICAgPkNTVjwvYQogICAgICA+PCEtLQogICAgICAtLT48YQogICAgICAgIGRvd25sb2FkPSJbW19qc29uTmFtZSh0YWcsIF9ydW4pXV0iCiAgICAgICAgaHJlZj0iW1tfanNvblVybCh0YWcsIF9ydW4sIHVybEZuKV1dIgogICAgICAgID5KU09OPC9hCiAgICAgID4KICAgIDwvdGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICB9CiAgICAgIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgfQogICAgICBhIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgbWFyZ2luOiAwIDAuMmVtOwogICAgICB9CiAgICAgIHBhcGVyLWlucHV0IHsKICAgICAgICBmb250LXNpemU6IDIycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxnMHQucHJvdG90eXBlLCJfcnVuIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxnMHQucHJvdG90eXBlLCJydW5zIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGcwdC5wcm90b3R5cGUsInRhZyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxnMHQucHJvdG90eXBlLCJ1cmxGbiIsdm9pZCAwKSxnMHQ9dChbaSgidGYtZG93bmxvYWRlciIpXSxnMHQpO25ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7bGV0IF8wdD1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmNvbG9yU2NhbGU9bnVsbCx0aGlzLl9sb2FkRGF0YUNhbGxiYWNrPSh0LGUsbik9PntpZihudWxsPT1uKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBsb2FkIGRhdGEgZm9yOiIsZSk7Y29uc3QgaT1uLm1hcCgodD0+KHt3YWxsX3RpbWU6bmV3IERhdGUoMWUzKnRbMF0pLHN0ZXA6dFsxXSxzY2FsYXI6dFsyXX0pKSkscj10aGlzLl9nZXRTZXJpZXNOYW1lRnJvbURhdHVtKGUpO3Quc2V0U2VyaWVzTWV0YWRhdGEocixlKSx0LnNldFNlcmllc0RhdGEocixpKX0sdGhpcy5nZXREYXRhTG9hZFVybD0oe3RhZzp0LHJ1bjplfSk9PkVyKCkucGx1Z2luUm91dGUoInNjYWxhcnMiLCIvc2NhbGFycyIsbmV3IFVSTFNlYXJjaFBhcmFtcyh7dGFnOnQscnVuOmV9KSksdGhpcy5fZG93bmxvYWRVcmxGbj0odCxlKT0+dGhpcy5nZXREYXRhTG9hZFVybCh7dGFnOnQscnVuOmV9KSx0aGlzLnJlcXVlc3REYXRhPSh0LGUsbik9PnRoaXMuaW5Db2xhYj90aGlzLl9yZXF1ZXN0RGF0YUdldCh0LGUsbik6dGhpcy5fcmVxdWVzdERhdGFQb3N0KHQsZSxuKSx0aGlzLl9yZXF1ZXN0RGF0YUdldD0odCxlLG4pPT57Y29uc3QgaT1FcigpLnBsdWdpblJvdXRlKCJzY2FsYXJzIiwiL3NjYWxhcnMiKTtQcm9taXNlLmFsbCh0Lm1hcCgodD0+e2NvbnN0IG49UE8oaSx7dGFnOnQudGFnLHJ1bjp0LnJ1bn0pO3JldHVybiB0aGlzLnJlcXVlc3RNYW5hZ2VyLnJlcXVlc3QobikudGhlbigobj0+e2Uoe2l0ZW06dCxkYXRhOm59KX0pKX0pKSkuZmluYWxseSgoKCk9PntuKCl9KSl9LHRoaXMuX3JlcXVlc3REYXRhUG9zdD0odCxlLG4pPT57dmFyIGk7Y29uc3Qgcj1FcigpLnBsdWdpblJvdXRlKCJzY2FsYXJzIiwiL3NjYWxhcnNfbXVsdGlydW4iKSxvPW5ldyBNYXA7Zm9yKGNvbnN0e3RhZzplLHJ1bjpufW9mIHQpe2xldCB0PW8uZ2V0KGUpO251bGw9PXQmJm8uc2V0KGUsdD1bXSksdC5wdXNoKG4pfWNvbnN0IGE9bnVsbCE9PShpPXRoaXMuYmF0Y2hTaXplKSYmdm9pZCAwIT09aT9pOjY0LHM9W107Zm9yKGNvbnN0W3QsZV1vZiBvKWZvcihsZXQgbj0wO248ZS5sZW5ndGg7bis9YSlzLnB1c2goe3RhZzp0LHJ1bnM6ZS5zbGljZShuLG4rYSl9KTtQcm9taXNlLmFsbChzLm1hcCgoKHt0YWc6dCxydW5zOm59KT0+dGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KHIse3RhZzp0LHJ1bnM6bn0pLnRoZW4oKGk9Pntmb3IoY29uc3QgciBvZiBuKXtjb25zdCBuPXt0YWc6dCxydW46cn07T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGkscik/ZSh7aXRlbTpuLGRhdGE6aVtyXX0pOmUoe2l0ZW06bixkYXRhOm51bGx9KX19KSkpKSkuZmluYWxseSgoKCk9PntuKCl9KSl9LHRoaXMuX2dldERhdGFMb2FkTmFtZT10PT50aGlzLl9nZXRTZXJpZXNOYW1lRnJvbURhdHVtKHQpLHRoaXMuX2V4cGFuZGVkPSExLHRoaXMuX3Rvb2x0aXBDb2x1bW5zPSgoKT0+e2NvbnN0IHQ9cEF0LnNsaWNlKCksZT10LmZpbmRJbmRleCgodD0+Ik5hbWUiPT10LnRpdGxlKSk7cmV0dXJuIHQuc3BsaWNlKGUsMSx7dGl0bGU6Ik5hbWUiLGV2YWx1YXRlOnQ9Pntjb25zdCBlPXQuZGF0YXNldC5tZXRhZGF0YSgpLm1ldGE7cmV0dXJuIHRoaXMuX2dldFNlcmllc0Rpc3BsYXlOYW1lRnJvbURhdHVtKGUpfX0pLHR9KSgpfV9nZXRDaGFydERhdGFMb2FkZXIoKXtyZXR1cm4gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoInRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIiKX1yZWxvYWQoKXt0aGlzLl9nZXRDaGFydERhdGFMb2FkZXIoKS5yZWxvYWQoKX1yZWRyYXcoKXt0aGlzLl9nZXRDaGFydERhdGFMb2FkZXIoKS5yZWRyYXcoKX1fdG9nZ2xlRXhwYW5kZWQodCl7dGhpcy5zZXQoIl9leHBhbmRlZCIsIXRoaXMuX2V4cGFuZGVkKSx0aGlzLnJlZHJhdygpfV90b2dnbGVMb2dTY2FsZSgpe3RoaXMuc2V0KCJfbG9nU2NhbGVBY3RpdmUiLCF0aGlzLl9sb2dTY2FsZUFjdGl2ZSl9X3Jlc2V0RG9tYWluKCl7Y29uc3QgdD10aGlzLl9nZXRDaGFydERhdGFMb2FkZXIoKTt0JiZ0LnJlc2V0RG9tYWluKCl9X3VwZGF0ZURvd25sb2FkTGluaygpe2NvbnN0IHQ9dGhpcy5fZ2V0Q2hhcnREYXRhTG9hZGVyKCkuZXhwb3J0QXNTdmdTdHJpbmcoKTt0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiI3N2Z0xpbmsiKS5ocmVmPWBkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LCR7YnRvYSh0KX1gfV9ydW5zRnJvbURhdGEodCl7cmV0dXJuIHQubWFwKCh0PT50LnJ1bikpfV9nZXREYXRhU2VyaWVzKCl7cmV0dXJuIHRoaXMuZGF0YVRvTG9hZC5tYXAoKHQ9PnRoaXMuX2dldFNlcmllc05hbWVGcm9tRGF0dW0odCkpKX1fZ2V0U2VyaWVzTmFtZUZyb21EYXR1bSh7cnVuOnQsZXhwZXJpbWVudDplPXtuYW1lOiJfZGVmYXVsdCJ9fSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFtlLm5hbWUsdF0pfV9nZXRTZXJpZXNEaXNwbGF5TmFtZUZyb21EYXR1bSh0KXtyZXR1cm4gdC5ydW59X2dldENvbG9yU2NhbGUoKXtyZXR1cm4gbnVsbCE9PXRoaXMuY29sb3JTY2FsZT90aGlzLmNvbG9yU2NhbGU6e3NjYWxlOnQ9Pntjb25zdFssZV09SlNPTi5wYXJzZSh0KTtyZXR1cm4gX08oZSl9fX19O18wdC50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1jYXJkLWhlYWRpbmcKICAgICAgdGFnPSJbW3RhZ11dIgogICAgICBkaXNwbGF5LW5hbWU9IltbdGFnTWV0YWRhdGEuZGlzcGxheU5hbWVdXSIKICAgICAgZGVzY3JpcHRpb249IltbdGFnTWV0YWRhdGEuZGVzY3JpcHRpb25dXSIKICAgID48L3RmLWNhcmQtaGVhZGluZz4KICAgIDxkaXYgaWQ9InRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIj4KICAgICAgPHRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIKICAgICAgICBhY3RpdmU9IltbYWN0aXZlXV0iCiAgICAgICAgY29sb3Itc2NhbGU9IltbX2dldENvbG9yU2NhbGUoY29sb3JTY2FsZSldXSIKICAgICAgICBkYXRhLXNlcmllcz0iW1tfZ2V0RGF0YVNlcmllcyhkYXRhVG9Mb2FkLiopXV0iCiAgICAgICAgZGF0YS10by1sb2FkPSJbW2RhdGFUb0xvYWRdXSIKICAgICAgICBnZXQtZGF0YS1sb2FkLW5hbWU9IltbX2dldERhdGFMb2FkTmFtZV1dIgogICAgICAgIGdldC1kYXRhLWxvYWQtdXJsPSJbW2dldERhdGFMb2FkVXJsXV0iCiAgICAgICAgcmVxdWVzdC1kYXRhPSJbW3JlcXVlc3REYXRhXV0iCiAgICAgICAgaWdub3JlLXktb3V0bGllcnM9IltbaWdub3JlWU91dGxpZXJzXV0iCiAgICAgICAgbG9hZC1kYXRhLWNhbGxiYWNrPSJbW19sb2FkRGF0YUNhbGxiYWNrXV0iCiAgICAgICAgbG9hZC1rZXk9IltbdGFnXV0iCiAgICAgICAgbG9nLXNjYWxlLWFjdGl2ZT0iW1tfbG9nU2NhbGVBY3RpdmVdXSIKICAgICAgICByZXF1ZXN0LW1hbmFnZXI9IltbcmVxdWVzdE1hbmFnZXJdXSIKICAgICAgICBzbW9vdGhpbmctZW5hYmxlZD0iW1tzbW9vdGhpbmdFbmFibGVkXV0iCiAgICAgICAgc21vb3RoaW5nLXdlaWdodD0iW1tzbW9vdGhpbmdXZWlnaHRdXSIKICAgICAgICB0YWctbWV0YWRhdGE9IltbdGFnTWV0YWRhdGFdXSIKICAgICAgICB0b29sdGlwLWNvbHVtbnM9IltbX3Rvb2x0aXBDb2x1bW5zXV0iCiAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj0iYXV0byIKICAgICAgICB0b29sdGlwLXNvcnRpbmctbWV0aG9kPSJbW3Rvb2x0aXBTb3J0aW5nTWV0aG9kXV0iCiAgICAgICAgeC10eXBlPSJbW3hUeXBlXV0iCiAgICAgID4KICAgICAgPC90Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyPgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJidXR0b25zIj4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgc2VsZWN0ZWQkPSJbW19leHBhbmRlZF1dIgogICAgICAgIGljb249ImZ1bGxzY3JlZW4iCiAgICAgICAgb24tdGFwPSJfdG9nZ2xlRXhwYW5kZWQiCiAgICAgID48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICBzZWxlY3RlZCQ9IltbX2xvZ1NjYWxlQWN0aXZlXV0iCiAgICAgICAgaWNvbj0ibGluZS13ZWlnaHQiCiAgICAgICAgb24tdGFwPSJfdG9nZ2xlTG9nU2NhbGUiCiAgICAgICAgdGl0bGU9IlRvZ2dsZSB5LWF4aXMgbG9nIHNjYWxlIgogICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgaWNvbj0ic2V0dGluZ3Mtb3ZlcnNjYW4iCiAgICAgICAgb24tdGFwPSJfcmVzZXREb21haW4iCiAgICAgICAgdGl0bGU9IkZpdCBkb21haW4gdG8gZGF0YSIKICAgICAgPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tzaG93RG93bmxvYWRMaW5rc11dIj4KICAgICAgICA8cGFwZXItbWVudS1idXR0b24gb24tcGFwZXItZHJvcGRvd24tb3Blbj0iX3VwZGF0ZURvd25sb2FkTGluayI+CiAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLXRyaWdnZXIiCiAgICAgICAgICAgIHNsb3Q9ImRyb3Bkb3duLXRyaWdnZXIiCiAgICAgICAgICAgIGljb249ImZpbGUtZG93bmxvYWQiCiAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgIDxwYXBlci1saXN0Ym94IGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzbG90PSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgPGEgaWQ9InN2Z0xpbmsiIGRvd25sb2FkPSJbW3RhZ11dLnN2ZyI+CiAgICAgICAgICAgICAgICBEb3dubG9hZCBDdXJyZW50IENoYXJ0IGFzIFNWRwogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9wYXBlci1pdGVtPgogICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgIDwvcGFwZXItbWVudS1idXR0b24+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDxzcGFuIHN0eWxlPSJmbGV4LWdyb3c6IDEiPjwvc3Bhbj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3Nob3dEb3dubG9hZExpbmtzXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImRvd25sb2FkLWxpbmtzIj4KICAgICAgICAgIDx0Zi1kb3dubG9hZGVyCiAgICAgICAgICAgIHJ1bnM9IltbX3J1bnNGcm9tRGF0YShkYXRhVG9Mb2FkKV1dIgogICAgICAgICAgICB0YWc9IltbdGFnXV0iCiAgICAgICAgICAgIHVybC1mbj0iW1tfZG93bmxvYWRVcmxGbl1dIgogICAgICAgICAgPjwvdGYtZG93bmxvYWRlcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgbWFyZ2luOiA1cHg7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDMzMHB4OwogICAgICB9CgogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgI3RmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIHsKICAgICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICB9CgogICAgICAjdGYtbGluZS1jaGFydC1kYXRhLWxvYWRlci1jb250YWluZXIgewogICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIHRmLWNhcmQtaGVhZGluZyB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgfQoKICAgICAgI2J1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGNvbG9yOiAjMjE5NmYzOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b25bc2VsZWN0ZWRdIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10Yi11aS1saWdodC1hY2NlbnQpOwogICAgICB9CgogICAgICAuZG93bmxvYWQtbGlua3MgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICB9CgogICAgICAuZG93bmxvYWQtbGlua3MgYSB7CiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBtYXJnaW46IDJweDsKICAgICAgfQoKICAgICAgLmRvd25sb2FkLWxpbmtzIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgfQoKICAgICAgcGFwZXItbWVudS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KICAgICAgcGFwZXItaXRlbSBhIHsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLF8wdC5wcm90b3R5cGUsInRhZyIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sXzB0LnByb3RvdHlwZSwiZGF0YVRvTG9hZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxfMHQucHJvdG90eXBlLCJ4VHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF8wdC5wcm90b3R5cGUsImFjdGl2ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF8wdC5wcm90b3R5cGUsImlnbm9yZVlPdXRsaWVycyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixicildLF8wdC5wcm90b3R5cGUsInJlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sXzB0LnByb3RvdHlwZSwic2hvd0Rvd25MaW5rcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF8wdC5wcm90b3R5cGUsInNtb290aGluZ0VuYWJsZWQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sXzB0LnByb3RvdHlwZSwic21vb3RoaW5nV2VpZ2h0Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLF8wdC5wcm90b3R5cGUsInRhZ01ldGFkYXRhIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLF8wdC5wcm90b3R5cGUsImNvbG9yU2NhbGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sXzB0LnByb3RvdHlwZSwidG9vbHRpcFNvcnRpbmdNZXRob2QiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sXzB0LnByb3RvdHlwZSwiYmF0Y2hTaXplIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxfMHQucHJvdG90eXBlLCJpbkNvbGFiIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLF8wdC5wcm90b3R5cGUsIl9sb2FkRGF0YUNhbGxiYWNrIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKV0sXzB0LnByb3RvdHlwZSwiZ2V0RGF0YUxvYWRVcmwiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sXzB0LnByb3RvdHlwZSwiX2Rvd25sb2FkVXJsRm4iLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSxfMHQucHJvdG90eXBlLCJyZXF1ZXN0RGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxfMHQucHJvdG90eXBlLCJfZ2V0RGF0YUxvYWROYW1lIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF8wdC5wcm90b3R5cGUsIl9leHBhbmRlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF8wdC5wcm90b3R5cGUsIl9sb2dTY2FsZUFjdGl2ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sXzB0LnByb3RvdHlwZSwiX3Rvb2x0aXBDb2x1bW5zIix2b2lkIDApLF8wdD10KFtpKCJ0Zi1zY2FsYXItY2FyZCIpXSxfMHQpO2xldCB5MHQ9Y2xhc3MgZXh0ZW5kcyhtMHQoW0FvXSx3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnNlc3Npb25Hcm91cD1udWxsLHRoaXMuX3hUeXBlPXdDdC5TVEVQLHRoaXMuX25vTXVsdGlFeHBlcmltZW50cz0hMSx0aGlzLl9yZXF1ZXN0RGF0YT0odCxlLG4pPT57UHJvbWlzZS5hbGwodC5tYXAoKHQ9PnRoaXMuYmFja2VuZC5saXN0TWV0cmljRXZhbHMoe2V4cGVyaW1lbnROYW1lOnRoaXMuZXhwZXJpbWVudE5hbWUsc2Vzc2lvbk5hbWU6dC5ydW4sbWV0cmljTmFtZTp0LnRhZ30pLnRoZW4oKG49PntlKHtpdGVtOnQsZGF0YTpufSl9KSkpKSkuZmluYWxseSgoKCk9PntuKCl9KSl9LHRoaXMuX2NvbG9yU2NhbGU9e3NjYWxlOnQ9Pntjb25zdCBlPUpTT04ucGFyc2UodClbMV0sbj10aGlzLl9pbmRleE9mU2Vzc2lvbi5nZXQoZSk7cmV0dXJuIGZPWyh0aGlzLl9zZXNzaW9uR3JvdXBOYW1lSGFzaCtuKSVmTy5sZW5ndGhdfX19Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiaXJvbi1yZXNpemUiLHRoaXMucmVkcmF3LmJpbmQodGhpcykpfXJlZHJhdygpe3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1zY2FsYXItY2FyZCIpLmZvckVhY2goKHQ9PnQucmVkcmF3KCkpKX1fc2Vzc2lvbkdyb3VwQ2hhbmdlZCgpe3RoaXMuc2Vzc2lvbkdyb3VwJiYwIT1PYmplY3Qua2V5cyh0aGlzLnNlc3Npb25Hcm91cCkubGVuZ3RoPyh0aGlzLl9pbmRleE9mU2Vzc2lvbj1uZXcgTWFwKHRoaXMuc2Vzc2lvbkdyb3VwLnNlc3Npb25zLm1hcCgoKHQsZSk9Plt0Lm5hbWUsZV0pKSksdGhpcy5fc2Vzc2lvbkdyb3VwTmFtZUhhc2g9Skp0KHRoaXMuc2Vzc2lvbkdyb3VwLm5hbWUpKToodGhpcy5faW5kZXhPZlNlc3Npb249bmV3IE1hcCx0aGlzLl9zZXNzaW9uR3JvdXBOYW1lSGFzaD0wKSx0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtc2NhbGFyLWNhcmQiKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10LG49ZS5nZXQoInRhZyIpO2Uuc2V0KCJ0YWciLCIiKSxlLnNldCgidGFnIixuKX0pKX1faGF2ZU1ldHJpY3MoKXtyZXR1cm4gdGhpcy52aXNpYmxlU2NoZW1hJiZBcnJheS5pc0FycmF5KHRoaXMudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvcykmJnRoaXMudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvcy5sZW5ndGg+MH1faGF2ZU1ldHJpY3NBbmRTZXNzaW9uR3JvdXAoKXtyZXR1cm4gdGhpcy5zZXNzaW9uR3JvdXAmJnRoaXMuX2hhdmVNZXRyaWNzKCl9X2NvbXB1dGVTZXJpZXNGb3JTZXNzaW9uR3JvdXBNZXRyaWModCxlKXtyZXR1cm4gbnVsbD09PXR8fDA9PU9iamVjdC5rZXlzKHQpLmxlbmd0aHx8bnVsbD09PWU/W106dC5zZXNzaW9ucy5maWx0ZXIoKHQ9PnZvaWQgMCE9PUlKdCh0Lm1ldHJpY1ZhbHVlcyxlLm5hbWUpKSkubWFwKCh0PT4oe3RhZzplLm5hbWUscnVuOnQubmFtZX0pKSl9X2NvbXB1dGVUYWdNZXRhZGF0YSh0KXtyZXR1cm57ZGlzcGxheU5hbWU6Q0p0KHQpLGRlc2NyaXB0aW9uOnQuZGVzY3JpcHRpb258fCIifX19O3kwdC50ZW1wbGF0ZT14ZWAKICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shc2Vzc2lvbkdyb3VwXV0iPgogICAgICA8ZGl2PgogICAgICAgIDxoMz5ObyBzZXNzaW9uIGdyb3VwIHNlbGVjdGVkPC9oMz4KICAgICAgICA8cD5QbGVhc2Ugc2VsZWN0IGEgc2Vzc2lvbiBncm91cCB0byBzZWUgaXRzIG1ldHJpYy1ncmFwaHMgaGVyZS48L3A+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2hhdmVNZXRyaWNzKHZpc2libGVTY2hlbWEuKildXSI+CiAgICAgIDxkaXY+CiAgICAgICAgPGgzPk5vIG1ldHJpY3MgYXJlIGVuYWJsZWQ8L2gzPgogICAgICAgIDxwPlBsZWFzZSBlbmFibGUgc29tZSBtZXRyaWNzIHRvIHNlZSBjb250ZW50IGhlcmUuPC9wPgogICAgICA8L2Rpdj4KICAgIDwvdGVtcGxhdGU+CiAgICA8ZGl2IGNsYXNzPSJsYXlvdXQgaG9yaXpvbnRhbCB3cmFwIHNlc3Npb24tZ3JvdXAtZGV0YWlscyI+CiAgICAgIDx0ZW1wbGF0ZQogICAgICAgIGlzPSJkb20taWYiCiAgICAgICAgaWY9IltbX2hhdmVNZXRyaWNzQW5kU2Vzc2lvbkdyb3VwKHZpc2libGVTY2hlbWEuKiwgc2Vzc2lvbkdyb3VwKV1dIgogICAgICA+CiAgICAgICAgPHRlbXBsYXRlCiAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgIGl0ZW1zPSJbW3Zpc2libGVTY2hlbWEubWV0cmljSW5mb3NdXSIKICAgICAgICAgIGFzPSJtZXRyaWNJbmZvIgogICAgICAgID4KICAgICAgICAgIDwhLS0gTm90ZSB0aGF0IHdlIGRvIG5vdCBwcm92aWRlIGEgcmVxdWVzdC1tYW5hZ2VyIGF0dHJpYnV0ZSBzaW5jZQogICAgICAgICAgICAgICB3ZSBwcm92aWRlIGEgZnVuY3Rpb24gaW4gcmVxdWVzdC1kYXRhIGZvciBjYWxsaW5nIHRoZSBiYWNrZW5kCiAgICAgICAgICAgICAgIHRvIGdldCB0aGUgbWV0cmljcyBkYXRhLgogICAgICAgICAgICAtLT4KICAgICAgICAgIDx0Zi1zY2FsYXItY2FyZAogICAgICAgICAgICBjbGFzcz0ic2NhbGFyLWNhcmQiCiAgICAgICAgICAgIGNvbG9yLXNjYWxlPSJbW19jb2xvclNjYWxlXV0iCiAgICAgICAgICAgIGRhdGEtdG8tbG9hZD0iW1tfY29tcHV0ZVNlcmllc0ZvclNlc3Npb25Hcm91cE1ldHJpYyhzZXNzaW9uR3JvdXAsIG1ldHJpY0luZm8pXV0iCiAgICAgICAgICAgIHRhZz0iW1ttZXRyaWNJbmZvLm5hbWUudGFnXV0iCiAgICAgICAgICAgIHRhZy1tZXRhZGF0YT0iW1tfY29tcHV0ZVRhZ01ldGFkYXRhKG1ldHJpY0luZm8pXV0iCiAgICAgICAgICAgIHgtdHlwZT0iW1tfeFR5cGVdXSIKICAgICAgICAgICAgbXVsdGktZXhwZXJpbWVudHM9IltbX25vTXVsdGlFeHBlcmltZW50c11dIgogICAgICAgICAgICByZXF1ZXN0LWRhdGE9IltbX3JlcXVlc3REYXRhXV0iCiAgICAgICAgICAgIGFjdGl2ZQogICAgICAgICAgPgogICAgICAgICAgPC90Zi1zY2FsYXItY2FyZD4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CiAgICA8IS0tICJpcm9uLWZsZXgiIGlzIG5lZWRlZCB0byB1c2UgdGhlIGxheW91dCBjbGFzc2VzIGluIHRoZSBkaXYgYWJvdmUgLS0+CiAgICA8c3R5bGUgaW5jbHVkZT0iaXJvbi1mbGV4Ij4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0seTB0LnByb3RvdHlwZSwiYmFja2VuZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx5MHQucHJvdG90eXBlLCJleHBlcmltZW50TmFtZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx5MHQucHJvdG90eXBlLCJ2aXNpYmxlU2NoZW1hIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHkwdC5wcm90b3R5cGUsInNlc3Npb25Hcm91cCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx5MHQucHJvdG90eXBlLCJfeFR5cGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSx5MHQucHJvdG90eXBlLCJfbm9NdWx0aUV4cGVyaW1lbnRzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHkwdC5wcm90b3R5cGUsIl9pbmRleE9mU2Vzc2lvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSx5MHQucHJvdG90eXBlLCJfc2Vzc2lvbkdyb3VwTmFtZUhhc2giLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSx5MHQucHJvdG90eXBlLCJfcmVxdWVzdERhdGEiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0seTB0LnByb3RvdHlwZSwiX2NvbG9yU2NhbGUiLHZvaWQgMCksdChbYSgic2Vzc2lvbkdyb3VwLioiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLHkwdC5wcm90b3R5cGUsIl9zZXNzaW9uR3JvdXBDaGFuZ2VkIixudWxsKSx5MHQ9dChbaSgidGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMiKV0seTB0KTtsZXQgdjB0PWNsYXNzIGV4dGVuZHMoY3IoZ2wod2UpKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2hwYXJhbU5hbWU9VEp0LHRoaXMuX21ldHJpY05hbWU9Q0p0fV92aXNpYmxlU2NoZW1hT3JTZXNzaW9uR3JvdXBzQ2hhbmdlZCgpe2NvbnN0IHQ9dGhpcy4kLnNlc3Npb25Hcm91cHNUYWJsZS5nZXQoImRldGFpbHNPcGVuZWRJdGVtcyIpO3RoaXMuJC5zZXNzaW9uR3JvdXBzVGFibGUuc2V0KCJkZXRhaWxzT3BlbmVkSXRlbXMiLFtdKSxXaSgpO2NvbnN0IGU9bmV3IE1hcDt0aGlzLnNlc3Npb25Hcm91cHMuZm9yRWFjaCgodD0+e2Uuc2V0KHQubmFtZSx0KX0pKSx0aGlzLiQuc2Vzc2lvbkdyb3Vwc1RhYmxlLnNldCgiZGV0YWlsc09wZW5lZEl0ZW1zIix0Lm1hcCgodD0+ZS5nZXQodC5uYW1lKSkpLmZpbHRlcihCb29sZWFuKSl9X3Nlc3Npb25Hcm91cEhQYXJhbSh0LGUpe3JldHVybiBudWxsIT10JiYwIT1PYmplY3Qua2V5cyh0KS5sZW5ndGgmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LmhwYXJhbXMsZSk/cUp0KHQuaHBhcmFtc1tlXSk6IiJ9X3Nlc3Npb25Hcm91cE1ldHJpYyh0LGUpe2lmKG51bGw9PXR8fDA9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm4iIjtmb3IobGV0IG49MDtuPHQubWV0cmljVmFsdWVzLmxlbmd0aDsrK24pe2xldCBpPXQubWV0cmljVmFsdWVzW25dO2lmKGkubmFtZS5ncm91cD09PWUuZ3JvdXAmJmkubmFtZS50YWc9PWUudGFnKXJldHVybiBxSnQoaS52YWx1ZSl9cmV0dXJuIiJ9X3Jvd051bWJlcih0KXtyZXR1cm4gdCsxfX07djB0LnRlbXBsYXRlPXhlYAogICAgPHZhYWRpbi1ncmlkCiAgICAgIGNsYXNzPSJzZXNzaW9uLWdyb3VwLXRhYmxlIgogICAgICBpZD0ic2Vzc2lvbkdyb3Vwc1RhYmxlIgogICAgICBjb2x1bW4tcmVvcmRlcmluZy1hbGxvd2VkPSIiCiAgICAgIGl0ZW1zPSJbW3Nlc3Npb25Hcm91cHNdXSIKICAgID4KICAgICAgPHZhYWRpbi1ncmlkLWNvbHVtbiBmbGV4LWdyb3c9IjAiIHdpZHRoPSIxMGVtIiByZXNpemFibGU9IiI+CiAgICAgICAgPHRlbXBsYXRlIGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIHRhYmxlLWNlbGwiPlRyaWFsIElEPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jZWxsIj5bW2l0ZW0ubmFtZV1dPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC92YWFkaW4tZ3JpZC1jb2x1bW4+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tlbmFibGVTaG93TWV0cmljc11dIj4KICAgICAgICA8dmFhZGluLWdyaWQtY29sdW1uIGZsZXgtZ3Jvdz0iMCIgYXV0b1dpZHRoPSIiIHJlc2l6YWJsZT0iIj4KICAgICAgICAgIDx0ZW1wbGF0ZSBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIHRhYmxlLWNlbGwiPlNob3cgTWV0cmljczwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNsYXNzPSJ0YWJsZS1jZWxsIiBjaGVja2VkPSJ7e2RldGFpbHNPcGVuZWR9fSI+CiAgICAgICAgICAgIDwvcGFwZXItY2hlY2tib3g+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdmFhZGluLWdyaWQtY29sdW1uPgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUKICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICBpdGVtcz0iW1t2aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zXV0iCiAgICAgICAgYXM9ImhwYXJhbUluZm8iCiAgICAgICAgaW5kZXgtYXM9ImhwYXJhbUluZGV4IgogICAgICA+CiAgICAgICAgPHZhYWRpbi1ncmlkLWNvbHVtbiBmbGV4LWdyb3c9IjIiIHdpZHRoPSIxMGVtIiByZXNpemFibGU9IiI+CiAgICAgICAgICA8dGVtcGxhdGUgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciB0YWJsZS1jZWxsIj4KICAgICAgICAgICAgICBbW19ocGFyYW1OYW1lKGhwYXJhbUluZm8pXV0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jZWxsIj4KICAgICAgICAgICAgICBbW19zZXNzaW9uR3JvdXBIUGFyYW0oaXRlbSwgaHBhcmFtSW5mby5uYW1lKV1dCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3ZhYWRpbi1ncmlkLWNvbHVtbj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlCiAgICAgICAgaXM9ImRvbS1yZXBlYXQiCiAgICAgICAgaXRlbXM9Int7dmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvc319IgogICAgICAgIGFzPSJtZXRyaWNJbmZvIgogICAgICAgIGluZGV4LWFzPSJtZXRyaWNJbmRleCIKICAgICAgPgogICAgICAgIDx2YWFkaW4tZ3JpZC1jb2x1bW4gZmxleC1ncm93PSIyIiB3aWR0aD0iMTBlbSIgcmVzaXphYmxlPSIiPgogICAgICAgICAgPHRlbXBsYXRlIGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1oZWFkZXIgdGFibGUtY2VsbCI+CiAgICAgICAgICAgICAgW1tfbWV0cmljTmFtZShtZXRyaWNJbmZvKV1dCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtY2VsbCI+CiAgICAgICAgICAgICAgW1tfc2Vzc2lvbkdyb3VwTWV0cmljKGl0ZW0sIG1ldHJpY0luZm8ubmFtZSldXQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC92YWFkaW4tZ3JpZC1jb2x1bW4+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBjbGFzcz0icm93LWRldGFpbHMiPgogICAgICAgIDx0Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtZGV0YWlscwogICAgICAgICAgYmFja2VuZD0iW1tiYWNrZW5kXV0iCiAgICAgICAgICBleHBlcmltZW50LW5hbWU9IltbZXhwZXJpbWVudE5hbWVdXSIKICAgICAgICAgIHNlc3Npb24tZ3JvdXA9IltbaXRlbV1dIgogICAgICAgICAgdmlzaWJsZS1zY2hlbWE9IltbdmlzaWJsZVNjaGVtYV1dIgogICAgICAgICAgY2xhc3M9InNlc3Npb24tZ3JvdXAtZGV0YWlscyIKICAgICAgICA+CiAgICAgICAgPC90Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtZGV0YWlscz4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvdmFhZGluLWdyaWQ+CgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lOwogICAgICB9CgogICAgICA6aG9zdCguZGFyay1tb2RlKSB7CiAgICAgICAgLS1sdW1vLWJhc2UtY29sb3I6ICMzMDMwMzA7CiAgICAgICAgLS1sdW1vLWJvZHktdGV4dC1jb2xvcjogI2ZmZjsKICAgICAgfQoKICAgICAgOmhvc3QoLmRhcmstbW9kZSkgdmFhZGluLWdyaWQgewogICAgICAgIC0tX2x1bW8tZ3JpZC1zZWNvbmRhcnktYm9yZGVyLWNvbG9yOiAjNTA1MDUwOwogICAgICB9CgogICAgICAudGFibGUtY2VsbCB7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIC50YWJsZS1oZWFkZXIgewogICAgICAgIC8qIGxpbmUtYnJlYWsgb3ZlcmZsb3dpbmcgY29sdW1uIGhlYWRlcnMgKi8KICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgIH0KICAgICAgLnNlc3Npb24tZ3JvdXAtdGFibGUgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICAuc2Vzc2lvbi1ncm91cC1kZXRhaWxzIHsKICAgICAgICBoZWlnaHQ6IDM2MHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx2MHQucHJvdG90eXBlLCJ2aXNpYmxlU2NoZW1hIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSx2MHQucHJvdG90eXBlLCJzZXNzaW9uR3JvdXBzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sdjB0LnByb3RvdHlwZSwiZW5hYmxlU2hvd01ldHJpY3MiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sdjB0LnByb3RvdHlwZSwiYmFja2VuZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx2MHQucHJvdG90eXBlLCJleHBlcmltZW50TmFtZSIsdm9pZCAwKSx0KFthKCJ2aXNpYmxlU2NoZW1hLioiLCJzZXNzaW9uR3JvdXBzLioiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLHYwdC5wcm90b3R5cGUsIl92aXNpYmxlU2NoZW1hT3JTZXNzaW9uR3JvdXBzQ2hhbmdlZCIsbnVsbCksdjB0PXQoW2koInRmLWhwYXJhbXMtdGFibGUtdmlldyIpXSx2MHQpO2xldCBiMHQ9Y2xhc3MgZXh0ZW5kcyB3ZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5zZXNzaW9uR3JvdXA9bnVsbCx0aGlzLnZpc2libGVTY2hlbWE9bnVsbH1fcHJvcGVydGllc0FyZVBvcHVsYXRlZCh0LGUpe3JldHVybiBudWxsIT10JiZudWxsIT1lfV9zaW5nbGV0b25TZXNzaW9uR3JvdXBzKHQpe3JldHVybiBudWxsPT10P1tdOlt0XX19O2Z1bmN0aW9uIHgwdCh0LGUsbixpKXtpZihlLmxlbmd0aDwyKXJldHVybiBjb25zb2xlLmVycm9yKCJMZXNzIHRoYW4gdHdvIGF4ZXMgaW4gcGFyYWxsZWwgY29vcmRpbmF0ZXMgcGxvdC4iKSxudWxsO2NvbnN0IHI9blswXSxvPW5bMV07aWYocjw9ZVswXXx8cj49ZVtlLmxlbmd0aC0xXSlyZXR1cm4gbnVsbDtjb25zdCBhPUNlLmV4cG9ydHMuc29ydGVkSW5kZXgoZSxyKTtjb25zb2xlLmFzc2VydChhPjApLGNvbnNvbGUuYXNzZXJ0KGE8ZS5sZW5ndGgpO2NvbnN0IHM9YS0xO2xldCBsPW51bGwsYz1udWxsO3JldHVybiB0LmZvckVhY2goKHQ9Pntjb25zdCBlPShmdW5jdGlvbiBuKHQsZSxpLGEpe2NvbnN0IHM9dC1pLGw9ZS1hLGM9ci1pLHU9by1hLGg9KHMqYytsKnUpLyhzKnMrbCpsKTtpZihoPD0wKXJldHVybiBZSnQoYyx1KTtpZihoPj0xKXJldHVybiBZSnQodC1yLGUtbyk7cmV0dXJuIFlKdChjLWgqcyx1LWgqbCl9KSh0LmNvbnRyb2xQb2ludHNbc11bMF0sdC5jb250cm9sUG9pbnRzW3NdWzFdLHQuY29udHJvbFBvaW50c1thXVswXSx0LmNvbnRyb2xQb2ludHNbYV1bMV0pO2U+aXx8KG51bGw9PT1sfHxlPGwpJiYobD1lLGM9dCl9KSksY31mdW5jdGlvbiB3MHQodCxlLG4pe2Z1bmN0aW9uIGkoKXtpZigwPT09dC5sZW5ndGgpcmV0dXJuWzEsMl07Y29uc3RbZSxuXT1HbCh0KTtyZXR1cm4gZSE9PW4/W2Usbl06ZT4wP1suNSplLDEuNSplXTplPDA/WzEuNSplLC41KmVdOlstMSwxXX1pZigiTElORUFSIj09PW4pcmV0dXJuIGNFKCkuZG9tYWluKGkoKSkucmFuZ2UoW2UsMF0pO2lmKCJMT0ciPT09bil7Y29uc3Qgbj1pKCk7cmV0dXJuIG5bMF08PTAmJm5bMV0+PTA/dzB0KHQsZSwiTElORUFSIik6eUUoKS5kb21haW4obikucmFuZ2UoW2UsMF0pfWlmKCJRVUFOVElMRSI9PT1uKXtjb25zdCBuPTIwLGk9S2wobikubWFwKCh0PT5lLXQqZS8obi0xKSkpO3JldHVybiAwPT09dC5sZW5ndGgmJih0PVsxXSksQ0UoKS5kb21haW4oQ2UuZXhwb3J0cy51bmlxKHQpKS5yYW5nZShpKX1pZigiTk9OX05VTUVSSUMiPT09bilyZXR1cm4gS00oKS5kb21haW4oQ2UuZXhwb3J0cy51bmlxKHQuc29ydCgpKSkucmFuZ2UoW2UsMF0pLnBhZGRpbmcoLjEpO3Rocm93IFJhbmdlRXJyb3IoIlVua25vd24gc2NhbGU6ICIrbil9dmFyIFMwdCxNMHQ7YjB0LnRlbXBsYXRlPXhlYAogICAgPCEtLSBJZiBzZXNzaW9uR3JvdXAgb3IgdmlzaWJsZVNjaGVtYSBhcmUgbm90IHBvcHVsYXRlZCwgZG8gbm90IGRpc3BsYXkKICAgICAgICAgYW55dGhpbmcuCiAgICAgIC0tPgogICAgPHRlbXBsYXRlCiAgICAgIGlzPSJkb20taWYiCiAgICAgIGlmPSJbW19wcm9wZXJ0aWVzQXJlUG9wdWxhdGVkKHZpc2libGVTY2hlbWEsIHNlc3Npb25Hcm91cCldXSIKICAgID4KICAgICAgPCEtLSBEaXNwbGF5IG9uZSByb3cgd2l0aG91dCBhICJzaG93LW1ldHJpY3MiIGNvbHVtbiAtLT4KICAgICAgPHRmLWhwYXJhbXMtdGFibGUtdmlldwogICAgICAgIHZpc2libGUtc2NoZW1hPSJbW3Zpc2libGVTY2hlbWFdXSIKICAgICAgICBzZXNzaW9uLWdyb3Vwcz0iW1tfc2luZ2xldG9uU2Vzc2lvbkdyb3VwcyhzZXNzaW9uR3JvdXApXV0iCiAgICAgID4KICAgICAgPC90Zi1ocGFyYW1zLXRhYmxlLXZpZXc+CiAgICA8L3RlbXBsYXRlPgogICAgPHRlbXBsYXRlCiAgICAgIGlzPSJkb20taWYiCiAgICAgIGlmPSJbWyFfcHJvcGVydGllc0FyZVBvcHVsYXRlZCh2aXNpYmxlU2NoZW1hLCBzZXNzaW9uR3JvdXApXV0iCiAgICA+CiAgICAgIDxkaXY+Q2xpY2sgb3IgaG92ZXIgb3ZlciBhIHNlc3Npb24gZ3JvdXAgdG8gZGlzcGxheSBpdHMgdmFsdWVzIGhlcmUuPC9kaXY+CiAgICA8L3RlbXBsYXRlPgoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sYjB0LnByb3RvdHlwZSwic2Vzc2lvbkdyb3VwIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGIwdC5wcm90b3R5cGUsInZpc2libGVTY2hlbWEiLHZvaWQgMCksYjB0PXQoW2koInRmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC12YWx1ZXMiKV0sYjB0KSwoZnVuY3Rpb24odCl7dC5MSU5FQVI9IkxJTkVBUiIsdC5MT0c9IkxPRyIsdC5RVUFOVElMRT0iUVVBTlRJTEUiLHQuTk9OX05VTUVSSUM9Ik5PTl9OVU1FUklDIn0pKFMwdHx8KFMwdD17fSkpO2NsYXNzIEUwdHtpc1Bhc3NpbmcodCl7cmV0dXJuITB9fWNsYXNzIFQwdHtjb25zdHJ1Y3Rvcih0LGUsbixpKXt0aGlzLl9sb3dlcj10LHRoaXMuX3VwcGVyPWUsdGhpcy5fbG93ZXJPcGVuPW4sdGhpcy5fdXBwZXJPcGVuPWl9aXNQYXNzaW5nKHQpe2NvbnN0IGU9dDtyZXR1cm4gdGhpcy5fYmVmb3JlKHRoaXMuX2xvd2VyLGUsIXRoaXMuX2xvd2VyT3BlbikmJnRoaXMuX2JlZm9yZShlLHRoaXMuX3VwcGVyLCF0aGlzLl91cHBlck9wZW4pfV9iZWZvcmUodCxlLG4pe3JldHVybiBuP3Q8PWU6dDxlfX1jbGFzcyBDMHR7Y29uc3RydWN0b3IodCl7dGhpcy5fZG9tYWluU2V0PXR9aXNQYXNzaW5nKHQpe3JldHVybi0xIT09dGhpcy5fZG9tYWluU2V0LmZpbmRJbmRleCgoZT0+ZT09PXQpKX19Y2xhc3MgQTB0e2NvbnN0cnVjdG9yKHQsZSxuLGkpe3RoaXMuX3N2Z1Byb3BzPXQsdGhpcy5fc2NoZW1hPWUsdGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyPW4sdGhpcy5fY29sSW5kZXg9aSx0aGlzLl9pc0Rpc3BsYXllZD0hMSx0aGlzLl95U2NhbGU9bnVsbCx0aGlzLl9zY2FsZVR5cGU9bnVsbCx0aGlzLnNldEJydXNoU2VsZWN0aW9uKG51bGwpfWNvbEluZGV4KCl7cmV0dXJuIHRoaXMuX2NvbEluZGV4fXlTY2FsZSgpe3JldHVybiB0aGlzLl95U2NhbGV9c2NhbGVUeXBlKCl7cmV0dXJuIHRoaXMuX3NjYWxlVHlwZX1icnVzaFNlbGVjdGlvbigpe3JldHVybiB0aGlzLl9icnVzaFNlbGVjdGlvbn1pc0Rpc3BsYXllZCgpe3JldHVybiB0aGlzLl9pc0Rpc3BsYXllZH1zZXRCcnVzaFNlbGVjdGlvbih0KXt0aGlzLl9icnVzaFNlbGVjdGlvbj10LHRoaXMuX2JydXNoRmlsdGVyPXRoaXMuX2J1aWxkQnJ1c2hGaWx0ZXIodGhpcy5icnVzaFNlbGVjdGlvbigpLHRoaXMuc2NhbGVUeXBlKCksdGhpcy55U2NhbGUoKSl9c2V0RG9tYWluQW5kU2NhbGUodCxlKXt0aGlzLl9zY2FsZVR5cGU9ZSx0aGlzLl95U2NhbGU9dzB0KHQuc2xpY2UoKSx0aGlzLl9zdmdQcm9wcy5oZWlnaHQsdGhpcy5zY2FsZVR5cGUoKSksdGhpcy5fYnJ1c2hGaWx0ZXI9dGhpcy5fYnVpbGRCcnVzaEZpbHRlcih0aGlzLmJydXNoU2VsZWN0aW9uKCksdGhpcy5zY2FsZVR5cGUoKSx0aGlzLnlTY2FsZSgpKX1icnVzaEZpbHRlcigpe3JldHVybiB0aGlzLl9icnVzaEZpbHRlcn11cGRhdGVET00odCl7bGV0IGU9YmModGhpcy55U2NhbGUoKSk7dGhpcy5zY2FsZVR5cGUoKT09PVMwdC5RVUFOVElMRSYmKGU9ZS50aWNrVmFsdWVzKHRoaXMueVNjYWxlKCkucXVhbnRpbGVzKCkpLnRpY2tGb3JtYXQoRHkoIi0uNmciKSkpO2NvbnN0IG49RHUodCk7bi5zZWxlY3RBbGwoImciKS5yZW1vdmUoKSxuLmFwcGVuZCgiZyIpLmNsYXNzZWQoImF4aXMiLCEwKS5jYWxsKGUpLmFwcGVuZCgidGV4dCIpLmNsYXNzZWQoImF4aXMtdGl0bGUiLCEwKS5zdHlsZSgiY3Vyc29yIiwibW92ZSIpLnN0eWxlKCJ0ZXh0LWFuY2hvciIsIm1pZGRsZSIpLmF0dHIoInkiLC05KS50ZXh0KCh0PT5BSnQodGhpcy5fc2NoZW1hLHQpKSksbi5jYWxsKEloKCkub24oInN0YXJ0IiwoKCk9Pnt0LnNldEF0dHJpYnV0ZSgiaXMtZHJhZ2dpbmciLCIiKSx0aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXIub25EcmFnU3RhcnQodGhpcy5jb2xJbmRleCgpKX0pKS5vbigiZHJhZyIsKCgpPT50aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXIub25EcmFnKE11LngpKSkub24oImVuZCIsKCgpPT57dGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyLm9uRHJhZ0VuZCgpLHQucmVtb3ZlQXR0cmlidXRlKCJpcy1kcmFnZ2luZyIpfSkpKTtjb25zdCBpPXlnKCkuZXh0ZW50KFtbLTgsMF0sWzgsdGhpcy5fc3ZnUHJvcHMuaGVpZ2h0KzFdXSkub24oInN0YXJ0IiwoKCk9PntMMHQoTXUpJiYodC5zZXRBdHRyaWJ1dGUoImlzLWJydXNoaW5nIiwiIiksdGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyLm9uQnJ1c2hDaGFuZ2VkKHRoaXMuY29sSW5kZXgoKSxNdS5zZWxlY3Rpb24pKX0pKS5vbigiYnJ1c2giLCgoKT0+e0wwdChNdSkmJnRoaXMuX2ludGVyYWN0aW9uTWFuYWdlci5vbkJydXNoQ2hhbmdlZCh0aGlzLmNvbEluZGV4KCksTXUuc2VsZWN0aW9uKX0pKS5vbigiZW5kIiwoKCk9PntMMHQoTXUpJiYodGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyLm9uQnJ1c2hDaGFuZ2VkKHRoaXMuY29sSW5kZXgoKSxNdS5zZWxlY3Rpb24pLHQucmVtb3ZlQXR0cmlidXRlKCJpcy1icnVzaGluZyIpKX0pKSxyPUR1KHQpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImJydXNoIiwhMCk7ci5jYWxsKGkpLGkubW92ZShyLHRoaXMuYnJ1c2hTZWxlY3Rpb24oKSl9c2V0RGlzcGxheWVkKHQpe3RoaXMuX2lzRGlzcGxheWVkPXR9X2J1aWxkQnJ1c2hGaWx0ZXIodCxlLG4pe2lmKG51bGw9PT10KXJldHVybiBuZXcgRTB0O2lmKG51bGw9PT1lKXJldHVybiBjb25zb2xlLmVycm9yKCJTY2FsZSB0eXBlIGlzIG51bGwsIGJ1dCBicnVzaFNlbGVjdGlvbiBpc24ndDogIix0KSxuZXcgRTB0O3N3aXRjaChlKXtjYXNlIFMwdC5MSU5FQVI6Y2FzZSBTMHQuTE9HOntjb25zdFtlLGldPShmdW5jdGlvbiByKHQsZSxuKXtyZXR1cm5bdC5pbnZlcnQoZSksdC5pbnZlcnQobildLnNvcnQoKCh0LGUpPT50LWUpKX0pKG4sdFswXSx0WzFdKTtyZXR1cm4gbmV3IFQwdChlLGksITEsITEpfWNhc2UgUzB0LlFVQU5USUxFOntjb25zdFtlLGldPShmdW5jdGlvbiByKHQsZSxuKXtjb25zdCBpPXQucmFuZ2UoKSxyPWkuZmlsdGVyKCh0PT5lPD10JiZ0PD1uKSkubWFwKChlPT57Y29uc3Qgbj10LmludmVydEV4dGVudChlKTtyZXR1cm4gZT09PWlbaS5sZW5ndGgtMV0/W25bMF0sblsxXSsxXTpufSkpO3JldHVybiAwPT1yLmxlbmd0aD9bMCwwXTpHbChhYyhyKSl9KShuLHRbMF0sdFsxXSk7cmV0dXJuIG5ldyBUMHQoZSxpLCExLCEwKX1jYXNlIFMwdC5OT05fTlVNRVJJQzpyZXR1cm4gbmV3IEMwdCgoZnVuY3Rpb24gZSh0LG4saSl7cmV0dXJuIHQuZG9tYWluKCkuZmlsdGVyKChlPT57Y29uc3Qgcj10KGUpO3JldHVybiBuPD1yJiZyPD1pfSkpfSkobix0WzBdLHRbMV0pKX1yZXR1cm4gY29uc29sZS5lcnJvcigiVW5rbm93biBzY2FsZSB0eXBlOiAiLGUpLG5ldyBFMHR9fWNsYXNzIGswdHtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fc3ZnUHJvcHM9dCx0aGlzLl9zY2hlbWE9ZSx0aGlzLl9heGVzPXRoaXMuX2NyZWF0ZUF4ZXMobiksdGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnM9S00oKS5yYW5nZShbMSx0aGlzLl9zdmdQcm9wcy53aWR0aC0xXSkucGFkZGluZyguNSksdGhpcy5fZHJhZ2dlZEF4aXM9bnVsbCx0aGlzLl9zdmdQcm9wcy5zdmdHLnNlbGVjdEFsbCgiZy5heGlzLXBhcmVudCIpLnJlbW92ZSgpLHRoaXMuX3BhcmVudHNTZWw9dGhpcy5fc3ZnUHJvcHMuc3ZnRy5zZWxlY3RBbGwoIi5heGlzLXBhcmVudCIpfXVwZGF0ZUF4ZXModCxlKXtjb25zb2xlLmFzc2VydCghdGhpcy5pc0F4aXNEcmFnZ2luZygpKTtjb25zdCBuPW5ldyBTZXQ7dC5jb2x1bW5zLmZvckVhY2goKHQ9Pntjb25zdCBpPXQuYWJzb2x1dGVJbmRleDtsZXQgcj10aGlzLl9heGVzW2ldO3Iuc2V0RGlzcGxheWVkKCEwKTtjb25zdCBvPWUubWFwKCh0PT56SnQodGhpcy5fc2NoZW1hLHQsaSkpKTtyLnNldERvbWFpbkFuZFNjYWxlKG8sdC5zY2FsZSksbi5hZGQoaSl9KSksdGhpcy5fYXhlcy5mb3JFYWNoKCh0PT57bi5oYXModC5jb2xJbmRleCgpKXx8dC5zZXREaXNwbGF5ZWQoITEpfSkpLHRoaXMuX3VwZGF0ZVN0YXRpb25hcnlBeGVzUG9zaXRpb25zKG4pLHRoaXMuX3BhcmVudHNTZWw9dGhpcy5fcGFyZW50c1NlbC5kYXRhKEFycmF5LmZyb20obiksKHQ9PnQpKSx0aGlzLl9wYXJlbnRzU2VsLmV4aXQoKS5yZW1vdmUoKSx0aGlzLl9wYXJlbnRzU2VsPXRoaXMuX3BhcmVudHNTZWwuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJheGlzLXBhcmVudCIsITApLm1lcmdlKHRoaXMuX3BhcmVudHNTZWwpO2NvbnN0IGk9dGhpczt0aGlzLl9wYXJlbnRzU2VsLmNhbGwoKHQ9PnRoaXMuX3VwZGF0ZUF4ZXNQb3NpdGlvbnNJbkRPTSh0KSkpLmVhY2goKGZ1bmN0aW9uKHQpe2kuX2F4ZXNbdF0udXBkYXRlRE9NKHRoaXMpfSkpfW1hcFZpc2libGVBeGVzKHQpe3JldHVybiB0aGlzLl9zdGF0aW9uYXJ5QXhlc1Bvc2l0aW9ucy5kb21haW4oKS5tYXAoKGU9PnQodGhpcy5nZXRBeGlzUG9zaXRpb24oZSksdGhpcy5fYXhlc1tlXSkpKX1hbGxWaXNpYmxlQXhlc1NhdGlzZnkodCl7cmV0dXJuIHRoaXMuX3N0YXRpb25hcnlBeGVzUG9zaXRpb25zLmRvbWFpbigpLmV2ZXJ5KChlPT50KHRoaXMuZ2V0QXhpc1Bvc2l0aW9uKGUpLHRoaXMuX2F4ZXNbZV0pKSl9Z2V0QXhpc0ZvckNvbEluZGV4KHQpe3JldHVybiB0aGlzLl9heGVzW3RdfWRyYWdTdGFydCh0KXtjb25zb2xlLmFzc2VydCghdGhpcy5pc0F4aXNEcmFnZ2luZygpKSxjb25zb2xlLmFzc2VydCh0aGlzLl9heGVzW3RdLmlzRGlzcGxheWVkKCkpLHRoaXMuX2RyYWdnZWRBeGlzPXRoaXMuX2F4ZXNbdF0sdGhpcy5fZHJhZ2dlZEF4aXNQb3NpdGlvbj10aGlzLl9zdGF0aW9uYXJ5QXhlc1Bvc2l0aW9ucyh0KX1kcmFnKHQpe3Q9TWF0aC5taW4oTWF0aC5tYXgodCwwKSx0aGlzLl9zdmdQcm9wcy53aWR0aCksdGhpcy5fZHJhZ2dlZEF4aXNQb3NpdGlvbj10O2xldCBlPXRoaXMuX3N0YXRpb25hcnlBeGVzUG9zaXRpb25zLmRvbWFpbigpO2Uuc29ydCgoKHQsZSk9PnRoaXMuZ2V0QXhpc1Bvc2l0aW9uKHQpLXRoaXMuZ2V0QXhpc1Bvc2l0aW9uKGUpKSksdGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMuZG9tYWluKGUpLHRoaXMuX3VwZGF0ZUF4ZXNQb3NpdGlvbnNJbkRPTSh0aGlzLl9wYXJlbnRzU2VsKX1kcmFnRW5kKHQpe2NvbnNvbGUuYXNzZXJ0KHRoaXMuaXNBeGlzRHJhZ2dpbmcoKSksdGhpcy5fZHJhZ2dlZEF4aXNQb3NpdGlvbj1udWxsLHRoaXMuX2RyYWdnZWRBeGlzPW51bGwsdGhpcy5fdXBkYXRlQXhlc1Bvc2l0aW9uc0luRE9NKHRoaXMuX3BhcmVudHNTZWwudHJhbnNpdGlvbigpLmR1cmF0aW9uKHQpKX1pc0F4aXNEcmFnZ2luZygpe3JldHVybiBudWxsIT09dGhpcy5fZHJhZ2dlZEF4aXN9Z2V0QXhpc1Bvc2l0aW9uKHQpe3JldHVybiBudWxsIT09dGhpcy5fZHJhZ2dlZEF4aXMmJnRoaXMuX2RyYWdnZWRBeGlzLmNvbEluZGV4KCk9PT10P3RoaXMuX2RyYWdnZWRBeGlzUG9zaXRpb246dGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnModCl9X3VwZGF0ZVN0YXRpb25hcnlBeGVzUG9zaXRpb25zKHQpe2NvbnN0IGU9dGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMuZG9tYWluKCkuZmlsdGVyKChlPT50LmhhcyhlKSkpLG49QXJyYXkuZnJvbShuZXcgU2V0KFsuLi5lLC4uLkFycmF5LmZyb20odCldKSk7dGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMuZG9tYWluKG4pfV91cGRhdGVBeGVzUG9zaXRpb25zSW5ET00odCl7dC5hdHRyKCJ0cmFuc2Zvcm0iLCh0PT5LSnQodGhpcy5nZXRBeGlzUG9zaXRpb24odCkpKSl9X2NyZWF0ZUF4ZXModCl7cmV0dXJuIEtsKFBKdCh0aGlzLl9zY2hlbWEpKS5tYXAoKGU9Pm5ldyBBMHQodGhpcy5fc3ZnUHJvcHMsdGhpcy5fc2NoZW1hLHQsZSkpKX19ZnVuY3Rpb24gTDB0KHQpe3JldHVybiBudWxsIT09dC5zb3VyY2VFdmVudH0hKGZ1bmN0aW9uKHQpe3RbdC5GT1JFR1JPVU5EPTBdPSJGT1JFR1JPVU5EIix0W3QuQkFDS0dST1VORD0xXT0iQkFDS0dST1VORCJ9KShNMHR8fChNMHQ9e30pKTtjbGFzcyBQMHR7Y29uc3RydWN0b3IodCl7dm9pZCAwPT09dCYmKHQ9eGgobnVsbCkpLGNvbnNvbGUuYXNzZXJ0KHQuc2l6ZSgpPD0xKSx0aGlzLl9zZXNzaW9uR3JvdXBTZWw9dH1zZXNzaW9uR3JvdXAoKXtyZXR1cm4gMT09PXRoaXMuX3Nlc3Npb25Hcm91cFNlbC5zaXplKCk/dGhpcy5fc2Vzc2lvbkdyb3VwU2VsLmRhdHVtKCk6bnVsbH1pc051bGwoKXtyZXR1cm4gbnVsbD09PXRoaXMuc2Vzc2lvbkdyb3VwKCl9c2VsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX3Nlc3Npb25Hcm91cFNlbH1lcXVhbHNUbyh0KXtyZXR1cm4gdGhpcy5pc051bGwoKT90LmlzTnVsbCgpOiF0LmlzTnVsbCgpJiZ0LnNlc3Npb25Hcm91cCgpLm5hbWU9PXRoaXMuc2Vzc2lvbkdyb3VwKCkubmFtZX19Y2xhc3MgTjB0e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9zdmdQcm9wcz10LHRoaXMuX3NjaGVtYT1lLHRoaXMuX2F4ZXNDb2xsZWN0aW9uPW4sdGhpcy5fc2Vzc2lvbkdyb3Vwcz1bXSx0aGlzLl9zdmdQcm9wcy5zdmdHLnNlbGVjdEFsbCgiZy5iYWNrZ3JvdW5kIikucmVtb3ZlKCksdGhpcy5fc3ZnUHJvcHMuc3ZnRy5zZWxlY3RBbGwoImcuZm9yZWdyb3VuZCIpLnJlbW92ZSgpLHRoaXMuX2JnUGF0aHNTZWw9dGhpcy5fc3ZnUHJvcHMuc3ZnRy5hcHBlbmQoImciKS5jbGFzc2VkKCJiYWNrZ3JvdW5kIiwhMCkuc2VsZWN0QWxsKCJwYXRoIiksdGhpcy5fZmdQYXRoc1NlbD10aGlzLl9zdmdQcm9wcy5zdmdHLmFwcGVuZCgiZyIpLmNsYXNzZWQoImZvcmVncm91bmQiLCEwKS5zZWxlY3RBbGwoInBhdGgiKSx0aGlzLl91cGRhdGVWaXNpYmxlRmdQYXRoc1NlbCgpLHRoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZT1uZXcgUDB0LHRoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlPW5ldyBQMHQsdGhpcy5fZDNsaW5lPURMKCkuY3VydmUoUkwpfWdldFNlc3Npb25Hcm91cEhhbmRsZSh0KXtyZXR1cm4gbnVsbD09dD9uZXcgUDB0Om5ldyBQMHQodGhpcy5fZmdQYXRoc1NlbC5maWx0ZXIoKGU9PmUubmFtZT09PXQubmFtZSkpKX1oaWRlQmFja2dyb3VuZExpbmVzKCl7dGhpcy5fYmdQYXRoc1NlbC5hdHRyKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIil9c2hvd0JhY2tncm91bmRMaW5lcygpe3RoaXMuX2JnUGF0aHNTZWwuYXR0cigidmlzaWJpbGl0eSIsbnVsbCl9cGVha2VkU2Vzc2lvbkdyb3VwSGFuZGxlKCl7cmV0dXJuIHRoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZX1zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZSgpe3JldHVybiB0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZX1yZWNvbXB1dGVDb250cm9sUG9pbnRzKHQsZT0wKXsodD09PU0wdC5GT1JFR1JPVU5EP3RoaXMuX2ZnUGF0aHNTZWw6dGhpcy5fYmdQYXRoc1NlbCkudHJhbnNpdGlvbigpLmR1cmF0aW9uKGUpLmF0dHIoImQiLCh0PT50aGlzLl9wYXRoREF0dHJpYnV0ZSh0KSkpLHQ9PT1NMHQuRk9SRUdST1VORCYmd2luZG93LnNldFRpbWVvdXQoKCgpPT57Y29uc3QgdD10aGlzO3RoaXMuX2ZnUGF0aHNTZWwuZWFjaCgoZnVuY3Rpb24oZSl7dC5fc2V0Q29udHJvbFBvaW50c1Byb3BlcnR5KHRoaXMsZSl9KSl9KSl9cmVjb21wdXRlRm9yZWdyb3VuZExpbmVzVmlzaWJpbGl0eSgpe3RoaXMuX2ZnUGF0aHNTZWwuY2xhc3NlZCgiaW52aXNpYmxlLXBhdGgiLCh0PT4hdGhpcy5fYXhlc0NvbGxlY3Rpb24uYWxsVmlzaWJsZUF4ZXNTYXRpc2Z5KCgoZSxuKT0+bi5icnVzaEZpbHRlcigpLmlzUGFzc2luZyh6SnQodGhpcy5fc2NoZW1hLHQsbi5jb2xJbmRleCgpKSkpKSkpLHRoaXMuX3VwZGF0ZVZpc2libGVGZ1BhdGhzU2VsKCl9c2V0Rm9yZWdyb3VuZExpbmVzQ29sb3IodCxlLG4pe2NvbnN0IGk9dGhpcy5fY3JlYXRlTGluZUNvbG9yRnVuY3Rpb24odCxlLG4pO3RoaXMuX2ZnUGF0aHNTZWwuYXR0cigic3Ryb2tlIixpKX1yZWRyYXcodCxlLG4saSl7Y29uc3Qgcj10aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUuc2Vzc2lvbkdyb3VwKCksbz10aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZS5zZXNzaW9uR3JvdXAoKTt0aGlzLl9zZXNzaW9uR3JvdXBzPXQsdGhpcy5fZmdQYXRoc1NlbD10aGlzLl9yZWNvbXB1dGVQYXRoU2VsZWN0aW9uKHRoaXMuX2ZnUGF0aHNTZWwpLHRoaXMuX2JnUGF0aHNTZWw9dGhpcy5fcmVjb21wdXRlUGF0aFNlbGVjdGlvbih0aGlzLl9iZ1BhdGhzU2VsKSx0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGU9dGhpcy5nZXRTZXNzaW9uR3JvdXBIYW5kbGUociksdGhpcy5fc2VsZWN0ZWRTZXNzaW9uR3JvdXBIYW5kbGU9dGhpcy5nZXRTZXNzaW9uR3JvdXBIYW5kbGUobyksdGhpcy5yZWNvbXB1dGVDb250cm9sUG9pbnRzKE0wdC5GT1JFR1JPVU5EKSx0aGlzLnJlY29tcHV0ZUNvbnRyb2xQb2ludHMoTTB0LkJBQ0tHUk9VTkQpLHRoaXMucmVjb21wdXRlRm9yZWdyb3VuZExpbmVzVmlzaWJpbGl0eSgpLHRoaXMuc2V0Rm9yZWdyb3VuZExpbmVzQ29sb3IoZSxuLGkpfXVwZGF0ZVBlYWtlZFNlc3Npb25Hcm91cCh0KXt0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUuc2VsZWN0aW9uKCkuY2xhc3NlZCgicGVha2VkLXBhdGgiLCExKSx0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGU9dCx0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUuc2VsZWN0aW9uKCkuY2xhc3NlZCgicGVha2VkLXBhdGgiLCEwKX1jbGVhclBlYWtlZFNlc3Npb25Hcm91cCgpe3RoaXMudXBkYXRlUGVha2VkU2Vzc2lvbkdyb3VwKG5ldyBQMHQpfXVwZGF0ZVNlbGVjdGVkU2Vzc2lvbkdyb3VwKHQpe3RoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlLnNlbGVjdGlvbigpLmNsYXNzZWQoInNlbGVjdGVkLXBhdGgiLCExKSx0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZT10LHRoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlLnNlbGVjdGlvbigpLmNsYXNzZWQoInNlbGVjdGVkLXBhdGgiLCEwKX1maW5kQ2xvc2VzdFNlc3Npb25Hcm91cCh0LGUpe2NvbnN0IG49dGhpcy5fYXhlc0NvbGxlY3Rpb24ubWFwVmlzaWJsZUF4ZXMoKCh0LGUpPT50KSksaT14MHQodGhpcy5fdmlzaWJsZUZnUGF0aHNTZWwubm9kZXMoKSxuLFt0LGVdLDEwMCk7cmV0dXJuIG51bGw9PT1pP25ldyBQMHQ6bmV3IFAwdChEdShpKSl9X2NyZWF0ZUxpbmVDb2xvckZ1bmN0aW9uKHQsZSxuKXtpZihudWxsPT09dClyZXR1cm4oKT0+InJlZCI7Y29uc3QgaT1jRSgpLmRvbWFpbihESnQodGhpcy5fc2NoZW1hLHRoaXMuX3Nlc3Npb25Hcm91cHMsdCkpLnJhbmdlKFtlLG5dKS5pbnRlcnBvbGF0ZShrcCk7cmV0dXJuIGU9Pmkoekp0KHRoaXMuX3NjaGVtYSxlLHQpKX1fcmVjb21wdXRlUGF0aFNlbGVjdGlvbih0KXtyZXR1cm4odD10LmRhdGEodGhpcy5fc2Vzc2lvbkdyb3VwcywodD0+dC5uYW1lKSkpLmV4aXQoKS5yZW1vdmUoKSx0LmVudGVyKCkuYXBwZW5kKCJwYXRoIikubWVyZ2UodCl9X3NldENvbnRyb2xQb2ludHNQcm9wZXJ0eSh0LGUpe3QuY29udHJvbFBvaW50cz10aGlzLl9jb21wdXRlQ29udHJvbFBvaW50cyhlKX1fY29tcHV0ZUNvbnRyb2xQb2ludHModCl7cmV0dXJuIHRoaXMuX2F4ZXNDb2xsZWN0aW9uLm1hcFZpc2libGVBeGVzKCgoZSxuKT0+W2Usbi55U2NhbGUoKSh6SnQodGhpcy5fc2NoZW1hLHQsbi5jb2xJbmRleCgpKSldKSl9X3BhdGhEQXR0cmlidXRlKHQpe3JldHVybiB0aGlzLl9kM2xpbmUodGhpcy5fY29tcHV0ZUNvbnRyb2xQb2ludHModCkpfV91cGRhdGVWaXNpYmxlRmdQYXRoc1NlbCgpe3RoaXMuX3Zpc2libGVGZ1BhdGhzU2VsPXRoaXMuX2ZnUGF0aHNTZWwuZmlsdGVyKCI6bm90KC5pbnZpc2libGUtcGF0aCkiKX19Y2xhc3MgSTB0e2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5zdmc9RHUodCk7Y29uc3Qgbj0zMCxpPTEwLHI9MTAsbz0xMCxhPTEwMCplK28raSxzPTIwMCtuK3I7dGhpcy5zdmcuYXR0cigidmlld0JveCIsYDAgMCAke2F9ICR7c31gKSx0aGlzLnN2Zy5hdHRyKCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIiwieE1pZFlNaWQiKSx0aGlzLnN2Zy5zdHlsZSgibWluLXdpZHRoIixhKyJweCIpLHRoaXMuc3ZnLnN0eWxlKCJtaW4taGVpZ2h0IixzKyJweCIpLHRoaXMud2lkdGg9YS1vLWksdGhpcy5oZWlnaHQ9cy1uLXIsdGhpcy5zdmdHPXRoaXMuc3ZnLmFwcGVuZCgiZyIpLmF0dHIoInRyYW5zZm9ybSIsS0p0KG8sbikpfX1jbGFzcyBSMHR7Y29uc3RydWN0b3IodCxlLG4saSl7dGhpcy5fc3ZnUHJvcHM9dCx0aGlzLl9zY2hlbWE9ZSx0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBDaGFuZ2VkQ0I9bix0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cENoYW5nZWRDQj1pLHRoaXMuX2F4ZXNDb2xsZWN0aW9uPW5ldyBrMHQodCxlLHRoaXMpLHRoaXMuX2xpbmVzQ29sbGVjdGlvbj1uZXcgTjB0KHQsZSx0aGlzLl9heGVzQ29sbGVjdGlvbiksdGhpcy5fc3ZnUHJvcHMuc3ZnLm9uKCJjbGljayIsKCgpPT50aGlzLm9uQ2xpY2soKSkpLm9uKCJtb3VzZW1vdmUgbW91c2VlbnRlciIsKCgpPT57Y29uc3RbdCxlXT1iaCh0aGlzLl9zdmdQcm9wcy5zdmdHLm5vZGUoKSk7dGhpcy5vbk1vdXNlTW92ZWQodCxlKX0pKS5vbigibW91c2VsZWF2ZSIsKCgpPT50aGlzLm9uTW91c2VMZWF2ZSgpKSl9b25EcmFnU3RhcnQodCl7dGhpcy5fYXhlc0NvbGxlY3Rpb24uZHJhZ1N0YXJ0KHQpLHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5oaWRlQmFja2dyb3VuZExpbmVzKCl9b25EcmFnKHQpe3RoaXMuX2F4ZXNDb2xsZWN0aW9uLmRyYWcodCksdGhpcy5fbGluZXNDb2xsZWN0aW9uLnJlY29tcHV0ZUNvbnRyb2xQb2ludHMoTTB0LkZPUkVHUk9VTkQpfW9uRHJhZ0VuZCgpe3RoaXMuX2F4ZXNDb2xsZWN0aW9uLmRyYWdFbmQoNTAwKSx0aGlzLl9saW5lc0NvbGxlY3Rpb24ucmVjb21wdXRlQ29udHJvbFBvaW50cyhNMHQuRk9SRUdST1VORCw1MDApLHdpbmRvdy5zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2xpbmVzQ29sbGVjdGlvbi5yZWNvbXB1dGVDb250cm9sUG9pbnRzKE0wdC5CQUNLR1JPVU5EKSx0aGlzLl9saW5lc0NvbGxlY3Rpb24uc2hvd0JhY2tncm91bmRMaW5lcygpfSksNTAwKX1vbkJydXNoQ2hhbmdlZCh0LGUpe3RoaXMuX2F4ZXNDb2xsZWN0aW9uLmdldEF4aXNGb3JDb2xJbmRleCh0KS5zZXRCcnVzaFNlbGVjdGlvbihlKSx0aGlzLl9saW5lc0NvbGxlY3Rpb24ucmVjb21wdXRlRm9yZWdyb3VuZExpbmVzVmlzaWJpbGl0eSgpfW9uTW91c2VNb3ZlZCh0LGUpe3RoaXMuX2xpbmVzQ29sbGVjdGlvbi51cGRhdGVQZWFrZWRTZXNzaW9uR3JvdXAodGhpcy5fbGluZXNDb2xsZWN0aW9uLmZpbmRDbG9zZXN0U2Vzc2lvbkdyb3VwKHQsZSkpLHRoaXMuX3BlYWtlZFNlc3Npb25Hcm91cENoYW5nZWRDQih0aGlzLl9saW5lc0NvbGxlY3Rpb24ucGVha2VkU2Vzc2lvbkdyb3VwSGFuZGxlKCkuc2Vzc2lvbkdyb3VwKCkpfW9uTW91c2VMZWF2ZSgpe3RoaXMuX2xpbmVzQ29sbGVjdGlvbi5wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUoKS5pc051bGwoKXx8KHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5jbGVhclBlYWtlZFNlc3Npb25Hcm91cCgpLHRoaXMuX3BlYWtlZFNlc3Npb25Hcm91cENoYW5nZWRDQihudWxsKSl9b25DbGljaygpe3RoaXMuX2xpbmVzQ29sbGVjdGlvbi5wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUoKS5zZXNzaW9uR3JvdXAoKT09PXRoaXMuX2xpbmVzQ29sbGVjdGlvbi5zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZSgpLnNlc3Npb25Hcm91cCgpP3RoaXMuX2xpbmVzQ29sbGVjdGlvbi51cGRhdGVTZWxlY3RlZFNlc3Npb25Hcm91cChuZXcgUDB0KTp0aGlzLl9saW5lc0NvbGxlY3Rpb24udXBkYXRlU2VsZWN0ZWRTZXNzaW9uR3JvdXAodGhpcy5fbGluZXNDb2xsZWN0aW9uLnBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpKSx0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cENoYW5nZWRDQih0aGlzLl9saW5lc0NvbGxlY3Rpb24uc2VsZWN0ZWRTZXNzaW9uR3JvdXBIYW5kbGUoKS5zZXNzaW9uR3JvdXAoKSl9b25PcHRpb25zT3JTZXNzaW9uR3JvdXBzQ2hhbmdlZCh0LGUpe3RoaXMuX2F4ZXNDb2xsZWN0aW9uLnVwZGF0ZUF4ZXModCxlKTtjb25zdCBuPXRoaXMuX2xpbmVzQ29sbGVjdGlvbi5wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUoKSxpPXRoaXMuX2xpbmVzQ29sbGVjdGlvbi5zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZSgpO3RoaXMuX2xpbmVzQ29sbGVjdGlvbi5yZWRyYXcoZSx2b2lkIDAhPT10LmNvbG9yQnlDb2x1bW5JbmRleD90LmNvbHVtbnNbdC5jb2xvckJ5Q29sdW1uSW5kZXhdLmFic29sdXRlSW5kZXg6bnVsbCx0Lm1pbkNvbG9yLHQubWF4Q29sb3IpLG4uZXF1YWxzVG8odGhpcy5fbGluZXNDb2xsZWN0aW9uLnBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpKXx8dGhpcy5fcGVha2VkU2Vzc2lvbkdyb3VwQ2hhbmdlZENCKHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUoKS5zZXNzaW9uR3JvdXAoKSksaS5lcXVhbHNUbyh0aGlzLl9saW5lc0NvbGxlY3Rpb24uc2VsZWN0ZWRTZXNzaW9uR3JvdXBIYW5kbGUoKSl8fHRoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwQ2hhbmdlZENCKHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZSgpLnNlc3Npb25Hcm91cCgpKX1zY2hlbWEoKXtyZXR1cm4gdGhpcy5fc2NoZW1hfX1sZXQgTzB0PWNsYXNzIGV4dGVuZHMoY3IoZ2wod2UpKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuc2VsZWN0ZWRTZXNzaW9uR3JvdXA9bnVsbCx0aGlzLmNsb3Nlc3RTZXNzaW9uR3JvdXA9bnVsbCx0aGlzLnJlZHJhd0NvdW50PTB9X29wdGlvbnNPclNlc3Npb25Hcm91cHNDaGFuZ2VkKCl7dmFyIHQ7aWYoIXRoaXMub3B0aW9ucylyZXR1cm47Y29uc3R7Y29uZmlndXJhdGlvbjplfT1udWxsIT09KHQ9dGhpcy5fcHJldk9wdGlvbnMpJiZ2b2lkIDAhPT10P3Q6e30se2NvbmZpZ3VyYXRpb246bn09dGhpcy5vcHRpb25zO2lmKHZvaWQgMD09PXRoaXMuX2ludGVyYWN0aW9uTWFuYWdlcnx8IUNlLmV4cG9ydHMuaXNFcXVhbChlLnNjaGVtYSxuLnNjaGVtYSl8fCFDZS5leHBvcnRzLmlzRXF1YWwoZS5jb2x1bW5zVmlzaWJpbGl0eSxuLmNvbHVtbnNWaXNpYmlsaXR5KSl7RHUodGhpcy4kLnN2Zykuc2VsZWN0QWxsKCIqIikucmVtb3ZlKCk7Y29uc3QgdD1uZXcgSTB0KHRoaXMuJC5zdmcsbi5jb2x1bW5zVmlzaWJpbGl0eS5maWx0ZXIoQm9vbGVhbikubGVuZ3RoKTt0aGlzLnNjb3BlU3VidHJlZSh0aGlzLiQuc3ZnLCEwKSx0aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXI9bmV3IFIwdCh0LG4uc2NoZW1hLCh0PT50aGlzLmNsb3Nlc3RTZXNzaW9uR3JvdXBDaGFuZ2VkKHQpKSwodD0+dGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cENoYW5nZWQodCkpKX10aGlzLl9jb21wdXRlVmFsaWRTZXNzaW9uR3JvdXBzKCksdGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyLm9uT3B0aW9uc09yU2Vzc2lvbkdyb3Vwc0NoYW5nZWQodGhpcy5vcHRpb25zLHRoaXMuX3ZhbGlkU2Vzc2lvbkdyb3VwcyksdGhpcy5yZWRyYXdDb3VudCsrLHRoaXMuX3ByZXZPcHRpb25zPXRoaXMub3B0aW9uc31jbG9zZXN0U2Vzc2lvbkdyb3VwQ2hhbmdlZCh0KXt0aGlzLmNsb3Nlc3RTZXNzaW9uR3JvdXA9dH1zZWxlY3RlZFNlc3Npb25Hcm91cENoYW5nZWQodCl7dGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cD10fV9jb21wdXRlVmFsaWRTZXNzaW9uR3JvdXBzKCl7Y29uc3QgdD1RSnQ7aWYodm9pZCAwPT09dGhpcy5zZXNzaW9uR3JvdXBzKXJldHVybiB2b2lkKHRoaXMuX3ZhbGlkU2Vzc2lvbkdyb3Vwcz12b2lkIDApO2NvbnN0IGU9dGhpcy5vcHRpb25zLmNvbmZpZ3VyYXRpb24uc2NoZW1hO3RoaXMuX3ZhbGlkU2Vzc2lvbkdyb3Vwcz10aGlzLnNlc3Npb25Hcm91cHMuZmlsdGVyKChuPT57Zm9yKGxldCBpPTA7aTx0Lm51bUNvbHVtbnMoZSk7KytpKWlmKHRoaXMub3B0aW9ucy5jb25maWd1cmF0aW9uLmNvbHVtbnNWaXNpYmlsaXR5W2ldJiZ2b2lkIDA9PT10LmNvbHVtblZhbHVlQnlJbmRleChlLG4saSkpcmV0dXJuITE7cmV0dXJuITB9KSl9fTtPMHQudGVtcGxhdGU9eGVgCiAgICA8ZGl2IGlkPSJjb250YWluZXIiPgogICAgICA8c3ZnIGlkPSJzdmciPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAtLXRmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXBsb3QtYXhpcy1zaGFkb3c6IDAgMXB4IDAgI2ZmZiwKICAgICAgICAgIDFweCAwIDAgI2ZmZiwgMCAtMXB4IDAgI2ZmZiwgLTFweCAwIDAgI2ZmZjsKICAgICAgfQogICAgICA6aG9zdCguZGFyay1tb2RlKSB7CiAgICAgICAgLS10Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy1wbG90LWF4aXMtc2hhZG93OiAwIDFweCAwICMwMDAsCiAgICAgICAgICAxcHggMCAwICMwMDAsIDAgLTFweCAwICMwMDAsIC0xcHggMCAwICMwMDA7CiAgICAgIH0KICAgICAgc3ZnIHsKICAgICAgICBmb250OiAxMHB4IHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5iYWNrZ3JvdW5kIHBhdGggewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgICAgc3Ryb2tlOiAjZGRkOwogICAgICAgIHNoYXBlLXJlbmRlcmluZzogY3Jpc3BFZGdlczsKICAgICAgfQoKICAgICAgLmZvcmVncm91bmQgcGF0aCB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2Utb3BhY2l0eTogMC43OwogICAgICAgIHN0cm9rZS13aWR0aDogMTsKICAgICAgfQoKICAgICAgLyogV2lsbCBiZSBzZXQgb24gZm9yZWdyb3VuZCBwYXRocyB0aGF0IGFyZSBub3QgImNvbnRhaW5lZCIgaW4gdGhlIGN1cnJlbnQKICAgICAgICAgYXhlcyBicnVzaGVzLiBJZiBubyBicnVzaGVzIGFyZSBzZXQsIG5vIHBhdGggd2lsbCBoYXZlIHRoaXMgY2xhc3MuICovCiAgICAgIC5mb3JlZ3JvdW5kIC5pbnZpc2libGUtcGF0aCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogU3R5bGUgZm9yIHRoZSBwYXRoIGNsb3Nlc3QgdG8gdGhlIG1vdXNlIHBvaW50ZXIgKHR5cGljYWxseSB3aWxsIGJlY29tZQogICAgICB0aGUgc2VsZWN0ZWQgcGF0aCB3aGVuIHRoZSB1c2VyIGNsaWNrcykuICovCiAgICAgIC5mb3JlZ3JvdW5kIC5wZWFrZWQtcGF0aCB7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAzOwogICAgICB9CgogICAgICAvKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHBhdGggY2xhc3MuIFdlIHVzZSAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIHRoZQogICAgICAgICBpbmxpbmUgc3R5bGUgdGhhdCBzZXRzIHRoZSByZWd1bGFyIGNvbG9yIG9mIGEgcGF0aC4gKi8KICAgICAgLmZvcmVncm91bmQgLnNlbGVjdGVkLXBhdGggewogICAgICAgIHN0cm9rZS13aWR0aDogMyAhaW1wb3J0YW50OwogICAgICAgIHN0cm9rZTogIzBmMCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAjY29udGFpbmVyIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIHN2ZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuYXhpcyB0ZXh0IHsKICAgICAgICB0ZXh0LXNoYWRvdzogdmFyKC0tdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtcGxvdC1heGlzLXNoYWRvdyk7CiAgICAgICAgZmlsbDogY3VycmVudENvbG9yOwogICAgICAgIGN1cnNvcjogbW92ZTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxPMHQucHJvdG90eXBlLCJzZXNzaW9uR3JvdXBzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLE8wdC5wcm90b3R5cGUsIm9wdGlvbnMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLE8wdC5wcm90b3R5cGUsInNlbGVjdGVkU2Vzc2lvbkdyb3VwIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxPMHQucHJvdG90eXBlLCJjbG9zZXN0U2Vzc2lvbkdyb3VwIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLE8wdC5wcm90b3R5cGUsInJlZHJhd0NvdW50Iix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxPMHQucHJvdG90eXBlLCJfdmFsaWRTZXNzaW9uR3JvdXBzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLE8wdC5wcm90b3R5cGUsIl9pbnRlcmFjdGlvbk1hbmFnZXIiLHZvaWQgMCksdChbYSgib3B0aW9ucy4qIiwic2Vzc2lvbkdyb3Vwcy4qIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxPMHQucHJvdG90eXBlLCJfb3B0aW9uc09yU2Vzc2lvbkdyb3Vwc0NoYW5nZWQiLG51bGwpLE8wdD10KFtpKCJ0Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy1wbG90IildLE8wdCk7bGV0IHowdD1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm9wdGlvbnM9bnVsbH1fY29uZmlndXJhdGlvbkNoYW5nZWQoKXtjb25zdCB0PXRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLGU9dGhpcy5jb25maWd1cmF0aW9uLnNjaGVtYSxuPXtjb2x1bW5zOnQuaHBhcmFtSW5mb3MubWFwKCgobixpKT0+KHtuYW1lOlRKdChuKSxpbmRleDppLGFic29sdXRlSW5kZXg6Qkp0KGUsdCxpKSxzY2FsZTp0aGlzLl9pc051bWVyaWNDb2x1bW4oaSk/IkxJTkVBUiI6Ik5PTl9OVU1FUklDIn0pKSkuY29uY2F0KHQubWV0cmljSW5mb3MubWFwKCgobixpKT0+e2NvbnN0IHI9aSt0LmhwYXJhbUluZm9zLmxlbmd0aDtyZXR1cm57c2NhbGU6IkxJTkVBUiIsbmFtZTpDSnQobiksaW5kZXg6cixhYnNvbHV0ZUluZGV4OkJKdChlLHQscil9fSkpKSxtaW5Db2xvcjoiIzAwMDBGRiIsbWF4Q29sb3I6IiNGRjAwMDAiLGNvbmZpZ3VyYXRpb246dGhpcy5jb25maWd1cmF0aW9ufTt0aGlzLnNldCgib3B0aW9ucyIsbiksV2koKSx0aGlzLnNldCgib3B0aW9ucy5jb2xvckJ5Q29sdW1uSW5kZXgiLHRoaXMuX2RlZmF1bHRDb2xvckJ5Q29sdW1uSW5kZXgoKSl9X3Vuc2VsZWN0RGlzYWJsZWRMb2dTY2FsZXMoKXtudWxsIT09dGhpcy5vcHRpb25zJiZ0aGlzLm9wdGlvbnMuY29sdW1ucy5mb3JFYWNoKCh0PT57Y29uc3QgZT0ib3B0aW9ucy5jb2x1bW5zLiIrdC5pbmRleDt0aGlzLl9hbGxvd0xvZ1NjYWxlKHQpfHwiTE9HIiE9PXQuc2NhbGV8fHRoaXMuc2V0KGUrIi5zY2FsZSIsIkxJTkVBUiIpfSkpfV9hbGxvd0xvZ1NjYWxlKHQpe2lmKCF0aGlzLl9pc051bWVyaWNDb2x1bW4odC5pbmRleCl8fCF0aGlzLnNlc3Npb25Hcm91cHMpcmV0dXJuITE7Y29uc3RbZSxuXT1WSnQodGhpcy5jb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWEsdGhpcy5zZXNzaW9uR3JvdXBzLHQuaW5kZXgpO3JldHVybiBlPjB8fG48MH1faXNOdW1lcmljQ29sdW1uKHQpe3JldHVybiB0Pj10aGlzLmNvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYS5ocGFyYW1JbmZvcy5sZW5ndGh8fCJEQVRBX1RZUEVfRkxPQVQ2NCI9PT10aGlzLmNvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYS5ocGFyYW1JbmZvc1t0XS50eXBlfV9kZWZhdWx0Q29sb3JCeUNvbHVtbkluZGV4KCl7aWYodGhpcy5jb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWEubWV0cmljSW5mb3MubGVuZ3RoPjApcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zLmxlbmd0aDtjb25zdCB0PXRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zLmZpbmRJbmRleCgodD0+IkRBVEFfVFlQRV9GTE9BVDY0Ij09PXQudHlwZSkpO3JldHVybi0xIT09dD90OnZvaWQgMH19O3owdC50ZW1wbGF0ZT14ZWAKICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtcGFuZWwiPgogICAgICA8IS0tICdDb2xvciBieScgZHJvcCBkb3duIG1lbnUgLS0+CiAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51CiAgICAgICAgbGFiZWw9IkNvbG9yIGJ5IgogICAgICAgIGlkPSJjb2xvckJ5RHJvcERvd25NZW51IgogICAgICAgIGhvcml6b250YWwtYWxpZ249ImxlZnQiCiAgICAgID4KICAgICAgICA8cGFwZXItbGlzdGJveAogICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICBzbG90PSJkcm9wZG93bi1jb250ZW50IgogICAgICAgICAgc2VsZWN0ZWQ9Int7b3B0aW9ucy5jb2xvckJ5Q29sdW1uSW5kZXh9fSIKICAgICAgICAgIGlkPSJjb2xvckJ5TGlzdEJveCIKICAgICAgICA+CiAgICAgICAgICA8dGVtcGxhdGUKICAgICAgICAgICAgaXM9ImRvbS1yZXBlYXQiCiAgICAgICAgICAgIGl0ZW1zPSJbW29wdGlvbnMuY29sdW1uc11dIgogICAgICAgICAgICBhcz0iY29sdW1uIgogICAgICAgICAgICBpZD0iY29sb3JCeUNvbHVtblRlbXBsYXRlIgogICAgICAgICAgPgogICAgICAgICAgICA8cGFwZXItaXRlbSBkaXNhYmxlZD0iW1shX2lzTnVtZXJpY0NvbHVtbihjb2x1bW4uaW5kZXgpXV0iPgogICAgICAgICAgICAgIFtbY29sdW1uLm5hbWVdXQogICAgICAgICAgICA8L3BhcGVyLWl0ZW0+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgoKICAgICAgPCEtLSBDb2x1bW5zIHNjYWxlcyAtLT4KICAgICAgPGRpdiBjbGFzcz0iY29sdW1ucy1jb250YWluZXIiPgogICAgICAgIDwhLS0gU2NhbGUgb3B0aW9ucyBmb3IgZWFjaCBudW1lcmljIGZlYXR1cmUgLS0+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0ie3tvcHRpb25zLmNvbHVtbnN9fSIgYXM9ImNvbHVtbiI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzTnVtZXJpY0NvbHVtbihjb2x1bW4uaW5kZXgpXV0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2x1bW4iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbHVtbi10aXRsZSI+W1tjb2x1bW4ubmFtZV1dPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxwYXBlci1yYWRpby1ncm91cAogICAgICAgICAgICAgICAgICBjbGFzcz0ic2NhbGUtcmFkaW8tZ3JvdXAiCiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPSJ7e2NvbHVtbi5zY2FsZX19IgogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIG5hbWU9IkxJTkVBUiI+CiAgICAgICAgICAgICAgICAgICAgTGluZWFyCiAgICAgICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgICAgICAgICA8IS0tIFRoZSBpZCBoZXJlIGlzIHVzZWQgdG8gYWNjZXNzIHRoaXMgYnV0dG9uIGluIHVuaXQKICAgICAgICAgICAgICAgICAgICAgICB0ZXN0cy4tLT4KICAgICAgICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbgogICAgICAgICAgICAgICAgICAgIGlkPSJsb2dTY2FsZUJ1dHRvbl9bW2NvbHVtbi5uYW1lXV0iCiAgICAgICAgICAgICAgICAgICAgbmFtZT0iTE9HIgogICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPSJbWyFfYWxsb3dMb2dTY2FsZShjb2x1bW4sIHNlc3Npb25Hcm91cHMuKildXSIKICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgIExvZ2FyaXRobWljCiAgICAgICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIG5hbWU9IlFVQU5USUxFIj4KICAgICAgICAgICAgICAgICAgICBRdWFudGlsZQogICAgICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tZ3JvdXA+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5jb250cm9sLXBhbmVsIHsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgfQogICAgICAuY29sdW1uIHsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggZGFya2dyYXk7CiAgICAgICAgcGFkZGluZzogM3B4OwogICAgICB9CiAgICAgIC5jb2x1bW4tdGl0bGUgewogICAgICAgIC8qIEZpdCBldmVyeSB0aXRsZSBpbiBvbmUgbGluZSBzbyB0aGUgcmFkaW8gYm94ZXMgYWxpZ24gdmVydGljYWxseS4gKi8KICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CiAgICAgIC5jb2x1bW5zLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICB9CiAgICAgIC5zY2FsZS1yYWRpby1ncm91cCBwYXBlci1yYWRpby1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDJweDsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICBwYXBlci1saXN0Ym94IHsKICAgICAgICBtYXgtaGVpZ2h0OiAxNWVtOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sejB0LnByb3RvdHlwZSwiY29uZmlndXJhdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sejB0LnByb3RvdHlwZSwic2Vzc2lvbkdyb3VwcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sejB0LnByb3RvdHlwZSwib3B0aW9ucyIsdm9pZCAwKSx0KFthKCJjb25maWd1cmF0aW9uLioiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLHowdC5wcm90b3R5cGUsIl9jb25maWd1cmF0aW9uQ2hhbmdlZCIsbnVsbCksdChbYSgic2Vzc2lvbkdyb3Vwcy4qIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSx6MHQucHJvdG90eXBlLCJfdW5zZWxlY3REaXNhYmxlZExvZ1NjYWxlcyIsbnVsbCksejB0PXQoW2koInRmLWhwYXJhbXMtc2NhbGUtYW5kLWNvbG9yLWNvbnRyb2xzIildLHowdCk7bGV0IEQwdD1jbGFzcyBleHRlbmRzIHdle19jbG9zZXN0T3JTZWxlY3RlZCh0LGUpe3JldHVybiBudWxsIT09dD90OmV9fTtEMHQudGVtcGxhdGU9eGVgCiAgICA8IS0tIENvbnRyb2xzIGJlaGF2aW9yIG9mIHBhcmFsbGVsIGNvb3JkaW5hdGVzIHBsb3QKICAgICAgICAgb3V0cHV0cyBzZXQgb3B0aW9ucyB0byB0aGUgX29wdGlvbnMgcHJvcGVydHkuCiAgICAgIC0tPgogICAgPGhwYXJhbXMtc3BsaXQtbGF5b3V0IG9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCI+CiAgICAgIDwhLS0gVGhlIHNjYWxlIGFuZCBjb2xvciBjb250cm9scy4gLS0+CiAgICAgIDx0Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scwogICAgICAgIGlkPSJjb250cm9scyIKICAgICAgICBzbG90PSJjb250ZW50IgogICAgICAgIGNsYXNzPSJzZWN0aW9uIgogICAgICAgIGNvbmZpZ3VyYXRpb249IltbY29uZmlndXJhdGlvbl1dIgogICAgICAgIHNlc3Npb24tZ3JvdXBzPSJbW3Nlc3Npb25Hcm91cHNdXSIKICAgICAgICBvcHRpb25zPSJ7e19vcHRpb25zfX0iCiAgICAgID4KICAgICAgPC90Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scz4KICAgICAgPCEtLSBUaGUgYWN0dWFsIHBhcmFsbGVsIGNvb3JkaW5hdGVzIHBsb3QgLS0+CiAgICAgIDx0Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy1wbG90CiAgICAgICAgaWQ9InBsb3QiCiAgICAgICAgc2xvdD0iY29udGVudCIKICAgICAgICBjbGFzcz0ic2VjdGlvbiIKICAgICAgICBzZXNzaW9uLWdyb3Vwcz0iW1tzZXNzaW9uR3JvdXBzXV0iCiAgICAgICAgc2VsZWN0ZWQtc2Vzc2lvbi1ncm91cD0ie3tfc2VsZWN0ZWRHcm91cH19IgogICAgICAgIGNsb3Nlc3Qtc2Vzc2lvbi1ncm91cD0ie3tfY2xvc2VzdEdyb3VwfX0iCiAgICAgICAgb3B0aW9ucz0iW1tfb3B0aW9uc11dIgogICAgICA+CiAgICAgIDwvdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtcGxvdD4KICAgICAgPHRmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC12YWx1ZXMKICAgICAgICBpZD0idmFsdWVzIgogICAgICAgIHNsb3Q9ImNvbnRlbnQiCiAgICAgICAgY2xhc3M9InNlY3Rpb24iCiAgICAgICAgdmlzaWJsZS1zY2hlbWE9IltbY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hXV0iCiAgICAgICAgc2Vzc2lvbi1ncm91cD0iW1tfY2xvc2VzdE9yU2VsZWN0ZWQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2Nsb3Nlc3RHcm91cCwgX3NlbGVjdGVkR3JvdXApXV0iCiAgICAgID4KICAgICAgPC90Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtdmFsdWVzPgogICAgICA8dGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMKICAgICAgICBpZD0iZGV0YWlscyIKICAgICAgICBzbG90PSJjb250ZW50IgogICAgICAgIGNsYXNzPSJzZWN0aW9uIgogICAgICAgIGJhY2tlbmQ9IltbYmFja2VuZF1dIgogICAgICAgIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIgogICAgICAgIHNlc3Npb24tZ3JvdXA9IltbX3NlbGVjdGVkR3JvdXBdXSIKICAgICAgICB2aXNpYmxlLXNjaGVtYT0iW1tjb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWFdXSIKICAgICAgPgogICAgICA8L3RmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC1kZXRhaWxzPgogICAgPC9ocGFyYW1zLXNwbGl0LWxheW91dD4KCiAgICA8c3R5bGU+CiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICB9CiAgICAgICN2YWx1ZXMgewogICAgICAgIGhlaWdodDogMTE1cHg7CiAgICAgIH0KICAgICAgI2RldGFpbHMgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEQwdC5wcm90b3R5cGUsImJhY2tlbmQiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRDB0LnByb3RvdHlwZSwiZXhwZXJpbWVudE5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sRDB0LnByb3RvdHlwZSwiY29uZmlndXJhdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sRDB0LnByb3RvdHlwZSwic2Vzc2lvbkdyb3VwcyIsdm9pZCAwKSxEMHQ9dChbaSgidGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtdmlldyIpXSxEMHQpO2xldCBCMHQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnNlbGVjdGVkU2Vzc2lvbkdyb3VwPW51bGwsdGhpcy5jbG9zZXN0U2Vzc2lvbkdyb3VwPW51bGwsdGhpcy5fY29udGFpbmVyPW51bGwsdGhpcy5fc3ZnPW51bGwsdGhpcy53aWR0aD0wLHRoaXMuaGVpZ2h0PTAsdGhpcy5fYnJ1c2hlZENlbGxJbmRleD1udWxsLHRoaXMuX2JydXNoU2VsZWN0aW9uPW51bGx9cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMuX2NvbnRhaW5lcj10aGlzLiQuY29udGFpbmVyLHRoaXMuX3N2Zz1EdSh0aGlzLiQuc3ZnKSx0aGlzLl9yZWRyYXcoKX1fc2Vzc2lvbkdyb3Vwc0NoYW5nZWQoKXtudWxsIT09dGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cCYmKHRoaXMuc2VsZWN0ZWRTZXNzaW9uR3JvdXA9VUp0KHRoaXMuc2Vzc2lvbkdyb3Vwcyx0aGlzLnNlbGVjdGVkU2Vzc2lvbkdyb3VwLm5hbWUpfHxudWxsKSx0aGlzLl9yZWRyYXcoKX1fdmlzaWJsZVNjaGVtYUNoYW5nZWQoKXt0aGlzLl9icnVzaGVkQ2VsbEluZGV4PW51bGwsdGhpcy5fYnJ1c2hTZWxlY3Rpb249bnVsbCx0aGlzLl9yZWRyYXcoKX1fcmVkcmF3KCl7dGhpcy5kZWJvdW5jZSgiX3JlZHJhdyIsKCgpPT57Y29uc3QgdD1RSnQ7dGhpcy53aWR0aD1NYXRoLm1heCgxNTAqdC5udW1WaXNpYmxlQ29sdW1ucyh0aGlzLnZpc2libGVTY2hlbWEpLDEyMDApLHRoaXMuaGVpZ2h0PU1hdGgubWF4KDExMi41KnQubnVtVmlzaWJsZU1ldHJpY3ModGhpcy52aXNpYmxlU2NoZW1hKSw0ODApLHRoaXMuX2NvbnRhaW5lci5zdHlsZS53aWR0aD10aGlzLndpZHRoKyJweCIsdGhpcy5fY29udGFpbmVyLnN0eWxlLmhlaWdodD10aGlzLmhlaWdodCsicHgiLHRoaXMuX3N2Zy5hdHRyKCJ3aWR0aCIsdGhpcy53aWR0aCkuYXR0cigiaGVpZ2h0Iix0aGlzLmhlaWdodCksdGhpcy5fc3ZnLnNlbGVjdEFsbCgiZyIpLnJlbW92ZSgpLHRoaXMuX2RyYXcoKX0pLDEwMCl9X2RyYXcoKXtjb25zdCB0PVFKdCxlPXRoaXM7aWYoIXRoaXMuc2Vzc2lvbkdyb3Vwc3x8MD09dGhpcy5zZXNzaW9uR3JvdXBzLmxlbmd0aHx8IXRoaXMudmlzaWJsZVNjaGVtYXx8MD09dGhpcy52aXNpYmxlU2NoZW1hLm1ldHJpY0luZm9zLmxlbmd0aClyZXR1cm47Y29uc3Qgbj1LbCh0Lm51bVZpc2libGVDb2x1bW5zKGUudmlzaWJsZVNjaGVtYSkpLGk9S2wodC5udW1WaXNpYmxlTWV0cmljcyhlLnZpc2libGVTY2hlbWEpKSxyPTgwLG89NTAsYT1YTSgpLmRvbWFpbihuKS5yYW5nZShbODUsdGhpcy53aWR0aC0xLTVdKS5wYWRkaW5nSW5uZXIoLjEpLHM9WE0oKS5kb21haW4oaSkucmFuZ2UoW3RoaXMuaGVpZ2h0LTEtNS1vLDVdKS5wYWRkaW5nSW5uZXIoLjEpLGw9YS5iYW5kd2lkdGgoKSxjPXMuYmFuZHdpZHRoKCksdT1uLm1hcCgodD0+ZS5fY2VsbFNjYWxlKHQsWzAsbC0xXSkpKSxoPWkubWFwKChuPT5lLl9jZWxsU2NhbGUobit0Lm51bVZpc2libGVIUGFyYW1zKGUudmlzaWJsZVNjaGVtYSksW2MtMSwwXSkpKSxkPXRoaXMuX3N2Zy5zZWxlY3RBbGwoIi54LWF4aXMiKS5kYXRhKG4pLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgieC1heGlzIiwhMCkuYXR0cigidHJhbnNmb3JtIiwoZT0+dC50cmFuc2xhdGVTdHIoYShlKSwwKSkpO2Z1bmN0aW9uIHAodCl7cmV0dXJuIngtYXhpcy1jbGlwLXBhdGgtIit0fWZ1bmN0aW9uIGYodCl7cmV0dXJuIngtbGFiZWwtY2xpcC1wYXRoLSIrdH1kLmFwcGVuZCgiY2xpcFBhdGgiKS5hdHRyKCJpZCIscCkuYXBwZW5kKCJyZWN0IikuYXR0cigieCIsLTUpLmF0dHIoInkiLDApLmF0dHIoIndpZHRoIixsKzEwKS5hdHRyKCJoZWlnaHQiLGUuaGVpZ2h0LTI1KSxkLmFwcGVuZCgiY2xpcFBhdGgiKS5hdHRyKCJpZCIsZikuYXBwZW5kKCJyZWN0IikuYXR0cigieCIsMCkuYXR0cigieSIsZS5oZWlnaHQtMjUpLmF0dHIoIndpZHRoIixsKS5hdHRyKCJoZWlnaHQiLDI1KSxkLmFwcGVuZCgiZyIpLmF0dHIoImNsaXAtcGF0aCIsKHQ9PiJ1cmwoIyIrcCh0KSsiKSIpKS5lYWNoKChmdW5jdGlvbih0KXtEdSh0aGlzKS5jYWxsKHksdmModVt0XSkudGlja1NpemUoZS5oZWlnaHQtbyksbCw0MCxlLm9wdGlvbnMuY29sdW1uc1t0XS5zY2FsZSl9KSksZC5hcHBlbmQoImciKS5jbGFzc2VkKCJ4LWF4aXMtbGFiZWwiLCEwKS5hdHRyKCJjbGlwLXBhdGgiLCh0PT4idXJsKCMiK2YodCkrIikiKSkuYXBwZW5kKCJ0ZXh0IikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKS5hdHRyKCJ4IixsLzIpLmF0dHIoInkiLGUuaGVpZ2h0LTEtMTIuNSkudGV4dCgobj0+dC5zY2hlbWFWaXNpYmxlQ29sdW1uTmFtZShlLnZpc2libGVTY2hlbWEsbikpKS5hcHBlbmQoInRpdGxlIikudGV4dCgobj0+dC5zY2hlbWFWaXNpYmxlQ29sdW1uTmFtZShlLnZpc2libGVTY2hlbWEsbikpKTtjb25zdCBtPXRoaXMuX3N2Zy5zZWxlY3RBbGwoIi55LWF4aXMiKS5kYXRhKGkpLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgieS1heGlzIiwhMCkuYXR0cigidHJhbnNmb3JtIiwobj0+dC50cmFuc2xhdGVTdHIoZS53aWR0aC0xLHMobikpKSk7ZnVuY3Rpb24gZyh0KXtyZXR1cm4ieS1heGlzLWNsaXAtcGF0aC0iK3R9ZnVuY3Rpb24gXyh0KXtyZXR1cm4ieS1sYWJlbC1jbGlwLXBhdGgtIit0fWZ1bmN0aW9uIHkodCxlLG4saSxyKXtjb25zdCBvPU1hdGguZmxvb3Iobi9pKSxhPWUuc2NhbGUoKTtpZigiUVVBTlRJTEUiPT09cil7bGV0IHQ9YS5xdWFudGlsZXMoKTtjb25zdCBuPU1hdGguY2VpbCh0Lmxlbmd0aC9vKTt0PUtsKDAsdC5sZW5ndGgsbikubWFwKChlPT50W2VdKSksZS50aWNrVmFsdWVzKHQpLnRpY2tGb3JtYXQoRHkoIi0uMmciKSl9IkxJTkVBUiIhPT1yJiYiTE9HIiE9PXJ8fGUudGlja3MobyksdC5jYWxsKGUpLHQuc2VsZWN0QWxsKCIuZG9tYWluIikucmVtb3ZlKCksdC5zZWxlY3RBbGwoIi50aWNrIGxpbmUiKS5hdHRyKCJzdHJva2UiLCIjZGRkIil9bS5hcHBlbmQoImNsaXBQYXRoIikuYXR0cigiaWQiLGcpLmFwcGVuZCgicmVjdCIpLmF0dHIoIngiLC0oZS53aWR0aC00MC0xKSkuYXR0cigieSIsLTUpLmF0dHIoIndpZHRoIixlLndpZHRoLTQwKS5hdHRyKCJoZWlnaHQiLGMrMTApLG0uYXBwZW5kKCJjbGlwUGF0aCIpLmF0dHIoImlkIixfKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4IiwtKGUud2lkdGgtMSkpLmF0dHIoInkiLDApLmF0dHIoIndpZHRoIiw0MCkuYXR0cigiaGVpZ2h0IixjKSxtLmFwcGVuZCgiZyIpLmF0dHIoImNsaXAtcGF0aCIsKHQ9PiJ1cmwoIyIrZyh0KSsiKSIpKS5lYWNoKChmdW5jdGlvbihuKXtEdSh0aGlzKS5jYWxsKHksYmMoaFtuXSkudGlja1NpemUoZS53aWR0aC1yKSxjLDIwLGUub3B0aW9ucy5jb2x1bW5zW24rdC5udW1WaXNpYmxlSFBhcmFtcyhlLnZpc2libGVTY2hlbWEpXS5zY2FsZSl9KSksbS5hcHBlbmQoImciKS5jbGFzc2VkKCJ5LWF4aXMtbGFiZWwiLCEwKS5hdHRyKCJjbGlwLXBhdGgiLCh0PT4idXJsKCMiK18odCkrIikiKSkuYXBwZW5kKCJ0ZXh0IikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKS5hdHRyKCJ4IiwtKGUud2lkdGgtMjAtMSkpLmF0dHIoInkiLGMvMikuYXR0cigidHJhbnNmb3JtIix0LnJvdGF0ZVN0cig5MCwtKGUud2lkdGgtMjAtMSksYy8yKSkudGV4dCgobj0+dC5tZXRyaWNOYW1lKGUudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvc1tuXSkpKS5hcHBlbmQoInRpdGxlIikudGV4dCgobj0+dC5tZXRyaWNOYW1lKGUudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvc1tuXSkpKTtjb25zdCB2PXRoaXMuX3N2Zy5zZWxlY3RBbGwoIi5jZWxsIikuZGF0YShGbChuLGkpKS5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImNlbGwiLCEwKS5hdHRyKCJ0cmFuc2Zvcm0iLCgoW2Usbl0pPT50LnRyYW5zbGF0ZVN0cihhKGUpLHMobikpKSk7di5hcHBlbmQoImciKS5jbGFzc2VkKCJmcmFtZSIsITApLmFwcGVuZCgicmVjdCIpLmF0dHIoIngiLC01KS5hdHRyKCJ5IiwtNSkuYXR0cigid2lkdGgiLGwrMTApLmF0dHIoImhlaWdodCIsYysxMCkuYXR0cigic3Ryb2tlIiwiIzAwMCIpLmF0dHIoImZpbGwiLCJub25lIikuYXR0cigic2hhcGUtcmVuZGVyaW5nIiwiY3Jpc3BFZGdlcyIpO2xldCBiPW51bGw7dm9pZCAwIT09ZS5vcHRpb25zLmNvbG9yQnlDb2x1bW5JbmRleCYmKGI9Y0UoKS5kb21haW4odGhpcy5fY29sRXh0ZW50KHRoaXMub3B0aW9ucy5jb2xvckJ5Q29sdW1uSW5kZXgpKS5yYW5nZShbdGhpcy5vcHRpb25zLm1pbkNvbG9yLHRoaXMub3B0aW9ucy5tYXhDb2xvcl0pLmludGVycG9sYXRlKGtwKSk7Y29uc3QgeD12b2lkIDA9PT1lLm9wdGlvbnMuY29sb3JCeUNvbHVtbkluZGV4PygpPT4icmVkIjooe3Nlc3Npb25Hcm91cDp0fSk9PmIodGhpcy5fY29sVmFsdWUodCxlLm9wdGlvbnMuY29sb3JCeUNvbHVtbkluZGV4KSk7ZnVuY3Rpb24gdyh0LG4pe3JldHVybiB1W25dKGUuX2NvbFZhbHVlKHQsbikpfWZ1bmN0aW9uIFModCxuKXtyZXR1cm4gaFtuXShlLl9tZXRyaWNWYWx1ZSh0LG4pKX1jb25zdFtNLEUsVF09KGZ1bmN0aW9uIEModCxyKXtjb25zdCBvPXQuc2VsZWN0QWxsKCIuZGF0YS1tYXJrZXIiKS5kYXRhKCgoW3Qsbl0pPT5lLnNlc3Npb25Hcm91cHMuZmlsdGVyKChpPT52b2lkIDAhPT1lLl9jb2xWYWx1ZShpLHQpJiZ2b2lkIDAhPT1lLl9tZXRyaWNWYWx1ZShpLG4pKSkubWFwKChlPT4oe2NvbDp0LG1ldHJpYzpuLHNlc3Npb25Hcm91cDplLHg6dyhlLHQpLHk6UyhlLG4pLHNlc3Npb25Hcm91cE1hcmtlcnM6bnVsbH0pKSkpKS5lbnRlcigpLmFwcGVuZCgiY2lyY2xlIikuY2xhc3NlZCgiZGF0YS1tYXJrZXIiLCEwKS5hdHRyKCJjeCIsKCh7eDp0fSk9PnQpKS5hdHRyKCJjeSIsKCh7eTp0fSk9PnQpKS5hdHRyKCJyIiwyKS5hdHRyKCJmaWxsIixyKSxhPW5ldyBNYXA7ZS5zZXNzaW9uR3JvdXBzLmZvckVhY2goKHQ9PnthLnNldCh0LFtdKX0pKSxvLmVhY2goKGZ1bmN0aW9uKHQpe2EuZ2V0KHQuc2Vzc2lvbkdyb3VwKS5wdXNoKHRoaXMpfSkpLG8uZWFjaCgodD0+e2NvbnN0IGU9YS5nZXQodC5zZXNzaW9uR3JvdXApO3Quc2Vzc2lvbkdyb3VwTWFya2Vycz1uZXcgU2V0KGUpfSkpO2NvbnN0IHM9bi5tYXAoKHQ9PmkubWFwKChlPT5vLmZpbHRlcigobj0+bi5jb2w9PXQmJm4ubWV0cmljPT1lKSkpKSkpO3JldHVybltvLHMsYV19KSh2LmFwcGVuZCgiZyIpLHgpO2NvbnN0IEE9bi5tYXAoKHQ9PmkubWFwKChlPT4oZnVuY3Rpb24gbih0LGUpe2NvbnN0IG49W107cmV0dXJuIEVbdF1bZV0uZWFjaCgoZnVuY3Rpb24oKXtuLnB1c2godGhpcyl9KSksdHkoKS54KCh0PT5EdSh0KS5kYXR1bSgpLngpKS55KCh0PT5EdSh0KS5kYXR1bSgpLnkpKS5hZGRBbGwobil9KSh0LGUpKSkpKTtsZXQgaz1udWxsO1IoKSYmKGs9di5maWx0ZXIoKHQ9PkNlLmV4cG9ydHMuaXNFcXVhbCh0LGUuX2JydXNoZWRDZWxsSW5kZXgpKSksY29uc29sZS5hc3NlcnQoMT09ay5zaXplKCksaykpO2xldCBMPW5ldyBTZXQoTS5ub2RlcygpKTtmdW5jdGlvbiBQKCl7bGV0IG49bmV3IFNldChNLm5vZGVzKCkpOyhmdW5jdGlvbiBpKCl7cmV0dXJuIVIoKXx8ZS5fYnJ1c2hTZWxlY3Rpb25bMF1bMF09PT1lLl9icnVzaFNlbGVjdGlvblsxXVswXXx8ZS5fYnJ1c2hTZWxlY3Rpb25bMF1bMV09PT1lLl9icnVzaFNlbGVjdGlvblsxXVsxXX0pKCl8fChuPShmdW5jdGlvbiByKGUsbil7Y29uc29sZS5hc3NlcnQobnVsbCE9PWUpLGNvbnNvbGUuYXNzZXJ0KG51bGwhPT1uKTtjb25zdFtpLHJdPWUsbz1uZXcgU2V0O3JldHVybiB0LnF1YWRUcmVlVmlzaXRQb2ludHNJblJlY3QoQVtpXVtyXSxuWzBdWzBdLG5bMF1bMV0sblsxXVswXSxuWzFdWzFdLCh0PT57RHUodCkuZGF0dW0oKS5zZXNzaW9uR3JvdXBNYXJrZXJzLmZvckVhY2goKHQ9PntvLmFkZCh0KX0pKX0pKSxvfSkoZS5fYnJ1c2hlZENlbGxJbmRleCxlLl9icnVzaFNlbGVjdGlvbikpLHhoKEFycmF5LmZyb20odC5maWx0ZXJTZXQobiwodD0+IUwuaGFzKHQpKSkpKS5hdHRyKCJmaWxsIix4KSx4aChBcnJheS5mcm9tKHQuZmlsdGVyU2V0KEwsKHQ9PiFuLmhhcyh0KSkpKSkuYXR0cigiZmlsbCIsIiNkZGQiKSxMPW59UCgpO2NvbnN0IE49dmcoKS5leHRlbnQoW1stNCwtNF0sW2wtMSs1LTEsYy0xKzUtMV1dKS5vbigic3RhcnQiLChmdW5jdGlvbigpe1IoKSYmay5ub2RlKCkhPXRoaXMmJk4ubW92ZShrLG51bGwpLEkodGhpcyl9KSkub24oImJydXNoIiwoZnVuY3Rpb24oKXtJKHRoaXMpfSkpLm9uKCJlbmQiLChmdW5jdGlvbigpe0kodGhpcyl9KSk7ZnVuY3Rpb24gSSh0KXtjb25zdCBuPV9nKHQpOyFSKCkmJm51bGw9PT1ufHxSKCkmJnQ9PT1rLm5vZGUoKSYmQ2UuZXhwb3J0cy5pc0VxdWFsKG4sZS5fYnJ1c2hTZWxlY3Rpb24pfHwoZS5fYnJ1c2hTZWxlY3Rpb249bixudWxsIT09bj8oaz1EdSh0KSxlLl9icnVzaGVkQ2VsbEluZGV4PWsuZGF0dW0oKSk6KGs9bnVsbCxlLl9icnVzaGVkQ2VsbEluZGV4PW51bGwpLFAoKSl9ZnVuY3Rpb24gUigpe3JldHVybiBudWxsIT09ZS5fYnJ1c2hlZENlbGxJbmRleCYmbnVsbCE9PWUuX2JydXNoU2VsZWN0aW9ufXYuY2FsbChOKSxSKCkmJk4ubW92ZShrLGUuX2JydXNoU2VsZWN0aW9uKTtsZXQgTz1udWxsLHo9bnVsbDtudWxsIT09dGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cCYmKHo9eGgoVC5nZXQodGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cCkpLmNsYXNzZWQoInNlbGVjdGVkLW1hcmtlciIsITApKSx2Lm9uKCJjbGljayIsKGZ1bmN0aW9uKCl7Y29uc3QgdD1PPT09ej9udWxsOk87aWYodD09PXopcmV0dXJuO251bGwhPT16JiZ6LmNsYXNzZWQoInNlbGVjdGVkLW1hcmtlciIsITEpLHo9dCxudWxsIT09eiYmei5jbGFzc2VkKCJzZWxlY3RlZC1tYXJrZXIiLCEwKTtjb25zdCBuPW51bGw9PT16P251bGw6ei5kYXR1bSgpLnNlc3Npb25Hcm91cDtlLnNlbGVjdGVkU2Vzc2lvbkdyb3VwPW59KSkub24oIm1vdXNlbW92ZSBtb3VzZWVudGVyIiwoZnVuY3Rpb24oW24saV0pe2NvbnN0W3Isb109YmgodGhpcyksYT0oZnVuY3Rpb24gcyhlLG4saSxyLG8pe2xldCBhPTEvMCxzPW51bGw7aWYodC5xdWFkVHJlZVZpc2l0UG9pbnRzSW5EaXNrKEFbZV1bbl0saSxyLG8sKCh0LGUpPT57aWYoTC5oYXModCkmJmU8YSl7Y29uc3Qgbj1EdSh0KS5kYXR1bSgpO2E9ZSxzPW4uc2Vzc2lvbkdyb3VwfX0pKSxudWxsPT09cylyZXR1cm4gbnVsbDtyZXR1cm4geGgoVC5nZXQocykpfSkobixpLHIsbywyMCk7TyE9PWEmJihudWxsIT09TyYmTy5jbGFzc2VkKCJjbG9zZXN0LW1hcmtlciIsITEpLE89YSxudWxsIT09Tz8oTy5jbGFzc2VkKCJjbG9zZXN0LW1hcmtlciIsITApLGUuY2xvc2VzdFNlc3Npb25Hcm91cD1PLmRhdHVtKCkuc2Vzc2lvbkdyb3VwKTplLmNsb3Nlc3RTZXNzaW9uR3JvdXA9bnVsbCl9KSkub24oIm1vdXNlbGVhdmUiLChmdW5jdGlvbihbdCxuXSl7bnVsbCE9PU8mJihPLmNsYXNzZWQoImNsb3Nlc3QtbWFya2VyIiwhMSksTz1udWxsLGUuY2xvc2VzdFNlc3Npb25Hcm91cD1udWxsKX0pKSx0aGlzLl9zdmcuc2VsZWN0QWxsKCIqIikuY2xhc3NlZCgidGYtaHBhcmFtcy1zY2F0dGVyLXBsb3QtbWF0cml4LXBsb3QiLCEwKX1fY2VsbFNjYWxlKHQsZSl7Y29uc3Qgbj10aGlzLl9jb2xFeHRlbnQodCksaT1jRSgpLmRvbWFpbihuKS5yYW5nZShlKTtpZigiTElORUFSIj09PXRoaXMub3B0aW9ucy5jb2x1bW5zW3RdLnNjYWxlKXJldHVybiBpO2lmKCJMT0ciPT09dGhpcy5vcHRpb25zLmNvbHVtbnNbdF0uc2NhbGUpcmV0dXJuIG5bMF08PTAmJm5bMV0+PTA/aTp5RSgpLmRvbWFpbihuKS5yYW5nZShlKTtpZigiUVVBTlRJTEUiPT09dGhpcy5vcHRpb25zLmNvbHVtbnNbdF0uc2NhbGUpe2NvbnN0IG49KGVbMV0tZVswXSkvMTksaT1LbCgyMCkubWFwKCh0PT5lWzBdK24qdCkpO3JldHVybiBDRSgpLmRvbWFpbihDZS5leHBvcnRzLnVuaXEodGhpcy5zZXNzaW9uR3JvdXBzLm1hcCgoZT0+dGhpcy5fY29sVmFsdWUoZSx0KSkpKSkucmFuZ2UoaSl9aWYoIk5PTl9OVU1FUklDIj09PXRoaXMub3B0aW9ucy5jb2x1bW5zW3RdLnNjYWxlKXJldHVybiBLTSgpLmRvbWFpbihDZS5leHBvcnRzLnVuaXEodGhpcy5zZXNzaW9uR3JvdXBzLm1hcCgoZT0+dGhpcy5fY29sVmFsdWUoZSx0KSkpLnNvcnQoKSkpLnJhbmdlKGUpLnBhZGRpbmcoLjEpO3Rocm93IlVua25vd24gc2NhbGUgZm9yIGNvbHVtbjogIit0KyIuIG9wdGlvbnM6ICIrdGhpcy5vcHRpb25zfV9jb2xWYWx1ZSh0LGUpe3JldHVybiBXSnQodGhpcy52aXNpYmxlU2NoZW1hLHQsZSl9X21ldHJpY1ZhbHVlKHQsZSl7cmV0dXJuIEdKdCh0aGlzLnZpc2libGVTY2hlbWEsdCxlKX1fY29sRXh0ZW50KHQpe3JldHVybiBWSnQodGhpcy52aXNpYmxlU2NoZW1hLHRoaXMuc2Vzc2lvbkdyb3Vwcyx0KX19O0IwdC50ZW1wbGF0ZT14ZWAKICAgIDxkaXYgaWQ9ImNvbnRhaW5lciI+CiAgICAgIDxzdmcgaWQ9InN2ZyI+PC9zdmc+CiAgICA8L2Rpdj4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICBzdmcgewogICAgICAgIGZvbnQ6IDEwcHggc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgdGV4dCB7CiAgICAgICAgZmlsbDogY3VycmVudENvbG9yOwogICAgICB9CgogICAgICAuZnJhbWUgcmVjdCB7CiAgICAgICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7CiAgICAgIH0KCiAgICAgIC8qIFRoZSBjbG9zZXN0IGRhdGEgcG9pbnQgbWFya2VyIHRvIHRoZSBtb3VzZSBwb2ludGVyLiBXZSB1c2UgIWltcG9ydGFudAogICAgICAgICB0byBvdmVycmlkZSB0aGUgaW5saW5lIHN0eWxlIHRoYXQgc2V0cyB0aGUgcmVndWxhciBzdHlsZSBvZiBhIG1hcmtlci4KICAgICAgKi8KICAgICAgLmNsb3Nlc3QtbWFya2VyIHsKICAgICAgICByOiA2ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC8qIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZGF0YSBwb2ludCBtYXJrZXIuIFdlIHVzZSAhaW1wb3J0YW50IHRvCiAgICAgICAgIG92ZXJyaWRlIHRoZSBpbmxpbmUgc3R5bGUgdGhhdCBzZXRzIHRoZSByZWd1bGFyIHN0eWxlIG9mIGEgbWFya2VyLiAqLwogICAgICAuc2VsZWN0ZWQtbWFya2VyIHsKICAgICAgICByOiA2ICFpbXBvcnRhbnQ7CiAgICAgICAgZmlsbDogIzBmMCAhaW1wb3J0YW50OwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sQjB0LnByb3RvdHlwZSwidmlzaWJsZVNjaGVtYSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sQjB0LnByb3RvdHlwZSwic2Vzc2lvbkdyb3VwcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxCMHQucHJvdG90eXBlLCJvcHRpb25zIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxCMHQucHJvdG90eXBlLCJzZWxlY3RlZFNlc3Npb25Hcm91cCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sQjB0LnByb3RvdHlwZSwiY2xvc2VzdFNlc3Npb25Hcm91cCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixIVE1MRWxlbWVudCldLEIwdC5wcm90b3R5cGUsIl9jb250YWluZXIiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sQjB0LnByb3RvdHlwZSwiX3N2ZyIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxCMHQucHJvdG90eXBlLCJ3aWR0aCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxCMHQucHJvdG90eXBlLCJoZWlnaHQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sQjB0LnByb3RvdHlwZSwiX2JydXNoZWRDZWxsSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sQjB0LnByb3RvdHlwZSwiX2JydXNoU2VsZWN0aW9uIix2b2lkIDApLHQoW2EoInNlc3Npb25Hcm91cHMuKiIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sQjB0LnByb3RvdHlwZSwiX3Nlc3Npb25Hcm91cHNDaGFuZ2VkIixudWxsKSx0KFthKCJ2aXNpYmxlU2NoZW1hLioiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLEIwdC5wcm90b3R5cGUsIl92aXNpYmxlU2NoZW1hQ2hhbmdlZCIsbnVsbCksdChbYSgib3B0aW9ucy4qIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxCMHQucHJvdG90eXBlLCJfcmVkcmF3IixudWxsKSxCMHQ9dChbaSgidGYtaHBhcmFtcy1zY2F0dGVyLXBsb3QtbWF0cml4LXBsb3QiKV0sQjB0KTtsZXQgSDB0PWNsYXNzIGV4dGVuZHMgd2V7X2Nsb3Nlc3RPclNlbGVjdGVkKHQsZSl7cmV0dXJuIG51bGwhPT10P3Q6ZX19O0gwdC50ZW1wbGF0ZT14ZWAKICAgIDxocGFyYW1zLXNwbGl0LWxheW91dCBvcmllbnRhdGlvbj0idmVydGljYWwiPgogICAgICA8IS0tIENvbnRyb2xzIGJlaGF2aW9yIG9mIHRoZSBzY2F0dGVyIHBsb3QgbWF0cml4CiAgICAgICAgICAgICBvdXRwdXRzIHRoZSBjb25maWd1cmVkIG9wdGlvbnMgdG8gdGhlIF9vcHRpb25zIHByb3BlcnR5LiAtLT4KICAgICAgPHRmLWhwYXJhbXMtc2NhbGUtYW5kLWNvbG9yLWNvbnRyb2xzCiAgICAgICAgc2xvdD0iY29udGVudCIKICAgICAgICBjbGFzcz0ic2VjdGlvbiIKICAgICAgICBpZD0iY29udHJvbHMiCiAgICAgICAgY29uZmlndXJhdGlvbj0iW1tjb25maWd1cmF0aW9uXV0iCiAgICAgICAgc2Vzc2lvbi1ncm91cHM9Iltbc2Vzc2lvbkdyb3Vwc11dIgogICAgICAgIG9wdGlvbnM9Int7X29wdGlvbnN9fSIKICAgICAgPgogICAgICA8L3RmLWhwYXJhbXMtc2NhbGUtYW5kLWNvbG9yLWNvbnRyb2xzPgogICAgICA8IS0tIFRoZSBhY3R1YWwgc2NhdHRlciBwbG90IG1hdHJpeCAtLT4KICAgICAgPHRmLWhwYXJhbXMtc2NhdHRlci1wbG90LW1hdHJpeC1wbG90CiAgICAgICAgc2xvdD0iY29udGVudCIKICAgICAgICBjbGFzcz0ic2VjdGlvbiIKICAgICAgICBpZD0icGxvdCIKICAgICAgICB2aXNpYmxlLXNjaGVtYT0iW1tjb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWFdXSIKICAgICAgICBzZXNzaW9uLWdyb3Vwcz0iW1tzZXNzaW9uR3JvdXBzXV0iCiAgICAgICAgc2VsZWN0ZWQtc2Vzc2lvbi1ncm91cD0ie3tfc2VsZWN0ZWRHcm91cH19IgogICAgICAgIGNsb3Nlc3Qtc2Vzc2lvbi1ncm91cD0ie3tfY2xvc2VzdEdyb3VwfX0iCiAgICAgICAgb3B0aW9ucz0iW1tfb3B0aW9uc11dIgogICAgICA+CiAgICAgIDwvdGYtaHBhcmFtcy1zY2F0dGVyLXBsb3QtbWF0cml4LXBsb3Q+CiAgICAgIDx0Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtdmFsdWVzCiAgICAgICAgc2xvdD0iY29udGVudCIKICAgICAgICBjbGFzcz0ic2VjdGlvbiIKICAgICAgICBpZD0idmFsdWVzIgogICAgICAgIHZpc2libGUtc2NoZW1hPSJbW2NvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYV1dIgogICAgICAgIHNlc3Npb24tZ3JvdXA9IltbX2Nsb3Nlc3RPclNlbGVjdGVkKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfY2xvc2VzdEdyb3VwLCBfc2VsZWN0ZWRHcm91cCldXSIKICAgICAgPgogICAgICA8L3RmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC12YWx1ZXM+CiAgICAgIDwhLS0gU2hvd3Mgc2Vzc2lvbiBncm91cCBkZXRhaWxzIGZvciB0aGUgY2xpY2tlZCBtYXJrZXIuIC0tPgogICAgICA8dGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMKICAgICAgICBzbG90PSJjb250ZW50IgogICAgICAgIGNsYXNzPSJzZWN0aW9uIgogICAgICAgIGlkPSJkZXRhaWxzIgogICAgICAgIGJhY2tlbmQ9IltbYmFja2VuZF1dIgogICAgICAgIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIgogICAgICAgIHNlc3Npb24tZ3JvdXA9IltbX3NlbGVjdGVkR3JvdXBdXSIKICAgICAgICB2aXNpYmxlLXNjaGVtYT0iW1tjb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWFdXSIKICAgICAgPgogICAgICA8L3RmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC1kZXRhaWxzPgogICAgPC9ocGFyYW1zLXNwbGl0LWxheW91dD4KICAgIDxzdHlsZT4KICAgICAgLnNlY3Rpb24gewogICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgIH0KICAgICAgI2NvbnRyb2xzIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDsKICAgICAgfQogICAgICAjcGxvdCB7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7CiAgICAgIH0KICAgICAgI3ZhbHVlcyB7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgaGVpZ2h0OiAxMTVweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50OwogICAgICB9CiAgICAgICNkZXRhaWxzIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDsKICAgICAgfQogICAgICB2YWFkaW4tc3BsaXQtbGF5b3V0IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxIMHQucHJvdG90eXBlLCJiYWNrZW5kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEgwdC5wcm90b3R5cGUsImV4cGVyaW1lbnROYW1lIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEgwdC5wcm90b3R5cGUsImNvbmZpZ3VyYXRpb24iLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLEgwdC5wcm90b3R5cGUsInNlc3Npb25Hcm91cHMiLHZvaWQgMCksSDB0PXQoW2koInRmLWhwYXJhbXMtc2NhdHRlci1wbG90LW1hdHJpeC12aWV3IildLEgwdCk7bGV0IEYwdD1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9zZWxlY3RlZFRhYj0wfX07RjB0LnRlbXBsYXRlPXhlYAogICAgPHBhcGVyLWhlYWRlci1wYW5lbD4KICAgICAgPHBhcGVyLXRvb2xiYXIgc2xvdD0iaGVhZGVyIiBjbGFzcz0idGFiLWJhciI+CiAgICAgICAgPHBhcGVyLXRhYnMgc2VsZWN0ZWQ9Int7X3NlbGVjdGVkVGFifX0iIHNsb3Q9InRvcCI+CiAgICAgICAgICA8IS0tIHZpZXctaWQgY2FuIGJlIHVzZWQgYnkgaW50ZWdyYXRpb24gdGVzdHMgdG8gbG9jYXRlIGEgdGFiLgogICAgICAgICAgICAgICBJdCBzaG91bGQgYmUgdGhlIG5hbWUgb2YgdGhlIHJvb3QgZWxlbWVudCBpbXBsZW1lbnRpbmcgdGhlIHZpZXcKICAgICAgICAgICAgICAgd2l0aG91dCB0aGUgJ3RmLWhwYXJhbXMtJyBwcmVmaXguIC0tPgogICAgICAgICAgPHBhcGVyLXRhYiB2aWV3LWlkPSJ0YWJsZS12aWV3Ij4gVEFCTEUgVklFVyA8L3BhcGVyLXRhYj4KICAgICAgICAgIDxwYXBlci10YWIgdmlldy1pZD0icGFyYWxsZWwtY29vcmRzLXZpZXciPgogICAgICAgICAgICBQQVJBTExFTCBDT09SRElOQVRFUyBWSUVXCiAgICAgICAgICA8L3BhcGVyLXRhYj4KICAgICAgICAgIDxwYXBlci10YWIgdmlldy1pZD0ic2NhdHRlci1wbG90LW1hdHJpeC12aWV3Ij4KICAgICAgICAgICAgU0NBVFRFUiBQTE9UIE1BVFJJWCBWSUVXCiAgICAgICAgICA8L3BhcGVyLXRhYj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlbHAtYW5kLWZlZWRiYWNrIj4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2J1Z1JlcG9ydFVybF1dIj4KICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZiQ9IltbYnVnUmVwb3J0VXJsXV0iCiAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgICAgIGlkPSJidWctcmVwb3J0IgogICAgICAgICAgICAgICAgICByYWlzZWQKICAgICAgICAgICAgICAgICAgdGl0bGU9IlNlbmQgYSBidWcgcmVwb3J0IG9yIGZlYXR1cmUgcmVxdWVzdCIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgQnVnIFJlcG9ydCAvIEZlYXR1cmUgUmVxdWVzdAogICAgICAgICAgICAgICAgPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbaGVscFVybF1dIj4KICAgICAgICAgICAgICA8YSBocmVmJD0iW1toZWxwVXJsXV0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPgogICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgICAgICAgICAgIGljb249ImhlbHAtb3V0bGluZSIKICAgICAgICAgICAgICAgICAgdGl0bGU9IlZpZXcgZG9jdW1lbnRhdGlvbiIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9wYXBlci10YWJzPgogICAgICA8L3BhcGVyLXRvb2xiYXI+CiAgICAgIDxpcm9uLXBhZ2VzIHNlbGVjdGVkPSJbW19zZWxlY3RlZFRhYl1dIiBjbGFzcz0iZml0IHRhYi12aWV3Ij4KICAgICAgICA8ZGl2IGlkPSIwIiBjbGFzcz0idGFiIj4KICAgICAgICAgIDx0Zi1ocGFyYW1zLXRhYmxlLXZpZXcKICAgICAgICAgICAgYmFja2VuZD0iW1tiYWNrZW5kXV0iCiAgICAgICAgICAgIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIgogICAgICAgICAgICB2aXNpYmxlLXNjaGVtYT0iW1tjb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWFdXSIKICAgICAgICAgICAgc2Vzc2lvbi1ncm91cHM9Iltbc2Vzc2lvbkdyb3Vwc11dIgogICAgICAgICAgICBlbmFibGUtc2hvdy1tZXRyaWNzCiAgICAgICAgICA+CiAgICAgICAgICA8L3RmLWhwYXJhbXMtdGFibGUtdmlldz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSIxIiBjbGFzcz0idGFiIj4KICAgICAgICAgIDx0Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy12aWV3CiAgICAgICAgICAgIGJhY2tlbmQ9IltbYmFja2VuZF1dIgogICAgICAgICAgICBleHBlcmltZW50LW5hbWU9IltbZXhwZXJpbWVudE5hbWVdXSIKICAgICAgICAgICAgY29uZmlndXJhdGlvbj0iW1tjb25maWd1cmF0aW9uXV0iCiAgICAgICAgICAgIHNlc3Npb24tZ3JvdXBzPSJbW3Nlc3Npb25Hcm91cHNdXSIKICAgICAgICAgID4KICAgICAgICAgIDwvdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtdmlldz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSIyIiBjbGFzcz0idGFiIj4KICAgICAgICAgIDx0Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtdmlldwogICAgICAgICAgICBiYWNrZW5kPSJbW2JhY2tlbmRdXSIKICAgICAgICAgICAgZXhwZXJpbWVudC1uYW1lPSJbW2V4cGVyaW1lbnROYW1lXV0iCiAgICAgICAgICAgIGNvbmZpZ3VyYXRpb249IltbY29uZmlndXJhdGlvbl1dIgogICAgICAgICAgICBzZXNzaW9uLWdyb3Vwcz0iW1tzZXNzaW9uR3JvdXBzXV0iCiAgICAgICAgICA+CiAgICAgICAgICA8L3RmLWhwYXJhbXMtc2NhdHRlci1wbG90LW1hdHJpeC12aWV3PgogICAgICAgIDwvZGl2PgogICAgICA8L2lyb24tcGFnZXM+CiAgICA8L3BhcGVyLWhlYWRlci1wYW5lbD4KCiAgICA8c3R5bGU+CiAgICAgIC50YWItdmlldyB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICAgIC50YWItYmFyIHsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoCiAgICAgICAgICAtLXRiLXRvb2xiYXItYmFja2dyb3VuZC1jb2xvciwKICAgICAgICAgIHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpCiAgICAgICAgKTsKICAgICAgfQogICAgICAudGFiIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgcGFwZXItdGFicyB7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAtLXBhcGVyLXRhYnMtc2VsZWN0aW9uLWJhci1jb2xvcjogd2hpdGU7CiAgICAgICAgLS1wYXBlci10YWJzLWNvbnRlbnQ6IHsKICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgICAgIH0KICAgICAgfQogICAgICB0Zi1ocGFyYW1zLXRhYmxlLXZpZXcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICAuaGVscC1hbmQtZmVlZGJhY2sgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyAvKiBFbnN1cmUgdGhhdCBpY29ucyBzdGF5IGFsaWduZWQgKi8KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CiAgICAgICNidWctcmVwb3J0IHsKICAgICAgICBib3JkZXI6IHNvbGlkIGJsYWNrOwogICAgICAgIGJhY2tncm91bmQ6IHJlZDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmRzOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBtYXgtd2lkdGg6IDE1MHB4OwogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgIH0KICAgICAgLmhlbHAtYW5kLWZlZWRiYWNrIGEgewogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxGMHQucHJvdG90eXBlLCJiYWNrZW5kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEYwdC5wcm90b3R5cGUsImhlbHBVcmwiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRjB0LnByb3RvdHlwZSwiYnVnUmVwb3J0VXJsIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEYwdC5wcm90b3R5cGUsImV4cGVyaW1lbnROYW1lIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEYwdC5wcm90b3R5cGUsImNvbmZpZ3VyYXRpb24iLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLEYwdC5wcm90b3R5cGUsInNlc3Npb25Hcm91cHMiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sRjB0LnByb3RvdHlwZSwiX3NlbGVjdGVkVGFiIix2b2lkIDApLEYwdD10KFtpKCJ0Zi1ocGFyYW1zLXNlc3Npb25zLXBhbmUiKV0sRjB0KTtsZXQgVjB0PWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtyZWxvYWQoKXt0aGlzLiRbInF1ZXJ5LXBhbmUiXS5yZWxvYWQoKX19O1YwdC50ZW1wbGF0ZT14ZWAKICAgIDxocGFyYW1zLXNwbGl0LWxheW91dD4KICAgICAgPGRpdiBzbG90PSJjb250ZW50IiBjbGFzcz0ic2lkZWJhciI+CiAgICAgICAgPHRmLWhwYXJhbXMtcXVlcnktcGFuZQogICAgICAgICAgaWQ9InF1ZXJ5LXBhbmUiCiAgICAgICAgICBiYWNrZW5kPSJbW2JhY2tlbmRdXSIKICAgICAgICAgIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIgogICAgICAgICAgY29uZmlndXJhdGlvbj0ie3tfY29uZmlndXJhdGlvbn19IgogICAgICAgICAgc2Vzc2lvbi1ncm91cHM9Int7X3Nlc3Npb25Hcm91cHN9fSIKICAgICAgICAgIGRhdGEtbG9hZGVkLXdpdGgtbm9uLWVtcHR5LWhwYXJhbXM9Int7X2RhdGFMb2FkZWRXaXRoTm9uRW1wdHlIcGFyYW1zfX0iCiAgICAgICAgICBkYXRhLWxvYWRlZC13aXRoLWVtcHR5LWhwYXJhbXM9Int7X2RhdGFMb2FkZWRXaXRoRW1wdHlIcGFyYW1zfX0iCiAgICAgICAgPgogICAgICAgIDwvdGYtaHBhcmFtcy1xdWVyeS1wYW5lPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBzbG90PSJjb250ZW50IiBjbGFzcz0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFMb2FkZWRXaXRoRW1wdHlIcGFyYW1zXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPk5vIGhwYXJhbXMgZGF0YSB3YXMgZm91bmQuPC9oMz4KICAgICAgICAgICAgPHA+UHJvYmFibGUgY2F1c2VzOjwvcD4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgIDxsaT5Zb3UgaGF2ZW7igJl0IHdyaXR0ZW4gYW55IGhwYXJhbXMgZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgRXZlbnQgZmlsZXMgYXJlIHN0aWxsIGJlaW5nIGxvYWRlZCAodHJ5IHJlbG9hZGluZyB0aGlzIHBhZ2UpLgogICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgPGxpPlRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiCiAgICAgICAgICAgICAgICA+UkVBRE1FPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgICAgPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hCiAgICAgICAgICAgICAgPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyIKICAgICAgICAgICAgICAgID50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFMb2FkZWRXaXRoTm9uRW1wdHlIcGFyYW1zXV0iPgogICAgICAgICAgPHRmLWhwYXJhbXMtc2Vzc2lvbnMtcGFuZQogICAgICAgICAgICBpZD0ic2Vzc2lvbnMtcGFuZSIKICAgICAgICAgICAgYmFja2VuZD0iW1tiYWNrZW5kXV0iCiAgICAgICAgICAgIGhlbHAtdXJsPSJbW2hlbHBVcmxdXSIKICAgICAgICAgICAgYnVnLXJlcG9ydC11cmw9IltbYnVnUmVwb3J0VXJsXV0iCiAgICAgICAgICAgIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIgogICAgICAgICAgICBjb25maWd1cmF0aW9uPSJbW19jb25maWd1cmF0aW9uXV0iCiAgICAgICAgICAgIHNlc3Npb24tZ3JvdXBzPSJbW19zZXNzaW9uR3JvdXBzXV0iCiAgICAgICAgICA+CiAgICAgICAgICA8L3RmLWhwYXJhbXMtc2Vzc2lvbnMtcGFuZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvaHBhcmFtcy1zcGxpdC1sYXlvdXQ+CiAgICA8c3R5bGU+CiAgICAgIGhwYXJhbXMtc3BsaXQtbGF5b3V0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLnNpZGViYXIgewogICAgICAgIHdpZHRoOiAyMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIGZsZXgtZ3JvdzogMDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBtaW4td2lkdGg6IDEwJTsKICAgICAgfQoKICAgICAgLmNlbnRlciB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIHdpZHRoOiA4MCU7CiAgICAgIH0KCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAubm8tZGF0YS13YXJuaW5nIHsKICAgICAgICBtYXgtd2lkdGg6IDU0MHB4OwogICAgICAgIG1hcmdpbjogODBweCBhdXRvIDAgYXV0bzsKICAgICAgfQoKICAgICAgYSB7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLWxpbmspOwogICAgICB9CgogICAgICBhOnZpc2l0ZWQgewogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1saW5rLXZpc2l0ZWQpOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsTUp0KV0sVjB0LnByb3RvdHlwZSwiYmFja2VuZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxWMHQucHJvdG90eXBlLCJleHBlcmltZW50TmFtZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxWMHQucHJvdG90eXBlLCJoZWxwVXJsIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFYwdC5wcm90b3R5cGUsImJ1Z1JlcG9ydFVybCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxWMHQucHJvdG90eXBlLCJfY29uZmlndXJhdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sVjB0LnByb3RvdHlwZSwiX3Nlc3Npb25Hcm91cHMiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxWMHQucHJvdG90eXBlLCJfZGF0YUxvYWRlZFdpdGhOb25FbXB0eUhwYXJhbXMiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxWMHQucHJvdG90eXBlLCJfZGF0YUxvYWRlZFdpdGhFbXB0eUhwYXJhbXMiLHZvaWQgMCksVjB0PXQoW2koInRmLWhwYXJhbXMtbWFpbiIpXSxWMHQpO2NvbnN0IFUwdD0idHJ1ZSI9PT1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmdldCgidGVuc29yYm9hcmRDb2xhYiIpO2xldCBqMHQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9iYWNrZW5kPW5ldyBNSnQoRXIoKS5wbHVnaW5Sb3V0ZSgiaHBhcmFtcyIsIiIpLG5ldyBicixVMHQpfXJlbG9hZCgpe3RoaXMuJFsiaHBhcmFtcy1tYWluIl0ucmVsb2FkKCl9fTtqMHQudGVtcGxhdGU9eGVgCiAgICA8IS0tIFRlbnNvckJvYXJkIGRvZXMgbm90IHNwZWNpZnkgYW4gZXhwZXJpbWVudE5hbWUuIEN1cnJlbnRseSBpdCBvbmx5CiAgICAgICAgIHN1cHBvcnRzIG9uZSBleHBlcmltZW50IHBlciBpbnZvY2F0aW9uLiAtLT4KICAgIDx0Zi1ocGFyYW1zLW1haW4KICAgICAgaWQ9ImhwYXJhbXMtbWFpbiIKICAgICAgYmFja2VuZD0iW1tfYmFja2VuZF1dIgogICAgICBleHBlcmltZW50LW5hbWU9IiIKICAgID4KICAgIDwvdGYtaHBhcmFtcy1tYWluPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sajB0LnByb3RvdHlwZSwiX2JhY2tlbmQiLHZvaWQgMCksajB0PXQoW2koInRmLWhwYXJhbXMtZGFzaGJvYXJkIildLGowdCk7bGV0IEcwdD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuYWN0dWFsU2l6ZT0hMSx0aGlzLmJyaWdodG5lc3NBZGp1c3RtZW50PS41LHRoaXMuY29udHJhc3RQZXJjZW50YWdlPTAsdGhpcy5fbWV0YWRhdGFDYW5jZWxsZXI9bmV3IHhPLHRoaXMuX2ltYWdlQ2FuY2VsbGVyPW5ldyB4Tyx0aGlzLl9zdGVwcz1bXSx0aGlzLl9pc0ltYWdlTG9hZGluZz0hMX1nZXQgX3J1bkNvbG9yKCl7cmV0dXJuIF9PKHRoaXMucnVuKX1nZXQgX2hhc0F0TGVhc3RPbmVTdGVwKCl7dmFyIHQ9dGhpcy5fc3RlcHM7cmV0dXJuISF0JiZ0Lmxlbmd0aD4wfWdldCBfaGFzTXVsdGlwbGVTdGVwcygpe3ZhciB0PXRoaXMuX3N0ZXBzO3JldHVybiEhdCYmdC5sZW5ndGg+MX1nZXQgX2N1cnJlbnRTdGVwKCl7cmV0dXJuIHRoaXMuX3N0ZXBzW3RoaXMuX3N0ZXBJbmRleF18fG51bGx9Z2V0IF9zdGVwVmFsdWUoKXt2YXIgdD10aGlzLl9jdXJyZW50U3RlcDtyZXR1cm4gdD90LnN0ZXA6MH1nZXQgX2N1cnJlbnRXYWxsVGltZSgpe3ZhciB0PXRoaXMuX2N1cnJlbnRTdGVwO3JldHVybiB0P1NPKHQud2FsbF90aW1lKToiIn1nZXQgX21heFN0ZXBJbmRleCgpe3JldHVybiB0aGlzLl9zdGVwcy5sZW5ndGgtMX1nZXQgX3NhbXBsZVRleHQoKXtyZXR1cm5gJHt0aGlzLnNhbXBsZSsxfWB9Z2V0IF9oYXNNdWx0aXBsZVNhbXBsZXMoKXtyZXR1cm4gdGhpcy5vZlNhbXBsZXM+MX1fZ2V0QXJpYUV4cGFuZGVkKCl7cmV0dXJuIHRoaXMuYWN0dWFsU2l6ZT8idHJ1ZSI6ImZhbHNlIn1hdHRhY2hlZCgpe3RoaXMucmVsb2FkKCl9cmVsb2FkKCl7aWYoIXRoaXMuaXNBdHRhY2hlZClyZXR1cm47dGhpcy5fbWV0YWRhdGFDYW5jZWxsZXIuY2FuY2VsQWxsKCk7Y29uc3QgdD1QTyhFcigpLnBsdWdpblJvdXRlKCJpbWFnZXMiLCIvaW1hZ2VzIikse3RhZzp0aGlzLnRhZyxydW46dGhpcy5ydW4sc2FtcGxlOnRoaXMuc2FtcGxlfSksZT10aGlzLl9tZXRhZGF0YUNhbmNlbGxlci5jYW5jZWxsYWJsZSgodD0+e2lmKHQuY2FuY2VsbGVkKXJldHVybjtjb25zdCBlPXQudmFsdWUubWFwKHRoaXMuX2NyZWF0ZVN0ZXBEYXR1bS5iaW5kKHRoaXMpKTt0aGlzLnNldCgiX3N0ZXBzIixlKSx0aGlzLnNldCgiX3N0ZXBJbmRleCIsZS5sZW5ndGgtMSl9KSk7dGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KHQpLnRoZW4oZSl9X2NyZWF0ZVN0ZXBEYXR1bSh0KXtsZXQgZT1FcigpLnBsdWdpblJvdXRlKCJpbWFnZXMiLCIvaW5kaXZpZHVhbEltYWdlIik7cmV0dXJuIGU9UE8oZSx7dHM6dC53YWxsX3RpbWV9KSxlKz0iJiIrdC5xdWVyeSx7d2FsbF90aW1lOm5ldyBEYXRlKDFlMyp0LndhbGxfdGltZSksc3RlcDp0LnN0ZXAsdXJsOmV9fV91cGRhdGVJbWFnZVVybCgpe3ZhciB0PXRoaXMuX2N1cnJlbnRTdGVwLGU9dGhpcy5icmlnaHRuZXNzQWRqdXN0bWVudCxuPXRoaXMuY29udHJhc3RQZXJjZW50YWdlO2lmKCF0KXJldHVybjtjb25zdCBpPW5ldyBJbWFnZTt0aGlzLl9pbWFnZUNhbmNlbGxlci5jYW5jZWxBbGwoKSxpLm9ubG9hZD1pLm9uZXJyb3I9dGhpcy5faW1hZ2VDYW5jZWxsZXIuY2FuY2VsbGFibGUoKHQ9PntpZih0LmNhbmNlbGxlZClyZXR1cm47Y29uc3QgZT10aGlzLiQkKCIjbWFpbi1pbWFnZS1jb250YWluZXIiKTtlLnRleHRDb250ZW50PSIiLGVyKGUpLmFwcGVuZENoaWxkKGkpLHRoaXMuc2V0KCJfaXNJbWFnZUxvYWRpbmciLCExKX0pKS5iaW5kKHRoaXMpLGkuc3R5bGUuZmlsdGVyPWBjb250cmFzdCgke259JSkgYCxpLnN0eWxlLmZpbHRlcis9YGJyaWdodG5lc3MoJHtlfSlgLHRoaXMuc2V0KCJfaXNJbWFnZUxvYWRpbmciLCEwKSxpLnNyYz10LnVybH1faGFuZGxlVGFwKHQpe3RoaXMuc2V0KCJhY3R1YWxTaXplIiwhdGhpcy5hY3R1YWxTaXplKX1fdG9Mb2NhbGVTdHJpbmcodCl7cmV0dXJuIHQudG9Mb2NhbGVTdHJpbmcoKX19O0cwdC50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1jYXJkLWhlYWRpbmcKICAgICAgdGFnPSJbW3RhZ11dIgogICAgICBydW49IltbcnVuXV0iCiAgICAgIGRpc3BsYXktbmFtZT0iW1t0YWdNZXRhZGF0YS5kaXNwbGF5TmFtZV1dIgogICAgICBkZXNjcmlwdGlvbj0iW1t0YWdNZXRhZGF0YS5kZXNjcmlwdGlvbl1dIgogICAgICBjb2xvcj0iW1tfcnVuQ29sb3JdXSIKICAgID4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19oYXNNdWx0aXBsZVNhbXBsZXNdXSI+CiAgICAgICAgPGRpdj5zYW1wbGU6IFtbX3NhbXBsZVRleHRdXSBvZiBbW29mU2FtcGxlc11dPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzQXRMZWFzdE9uZVN0ZXBdXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1sYWJlbCI+CiAgICAgICAgICAgIHN0ZXAKICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkIgogICAgICAgICAgICAgID5bW190b0xvY2FsZVN0cmluZyhfc3RlcFZhbHVlKV1dPC9zcGFuCiAgICAgICAgICAgID4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1sYWJlbCBoZWFkaW5nLXJpZ2h0IGRhdGV0aW1lIj4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19jdXJyZW50V2FsbFRpbWVdXSI+CiAgICAgICAgICAgICAgW1tfY3VycmVudFdhbGxUaW1lXV0KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwgcmlnaHQiPgogICAgICAgICAgICA8cGFwZXItc3Bpbm5lci1saXRlIGFjdGl2ZSBoaWRkZW4kPSJbWyFfaXNJbWFnZUxvYWRpbmddXSI+CiAgICAgICAgICAgIDwvcGFwZXItc3Bpbm5lci1saXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzTXVsdGlwbGVTdGVwc11dIj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHBhcGVyLXNsaWRlcgogICAgICAgICAgICBpZD0ic3RlcHMiCiAgICAgICAgICAgIGltbWVkaWF0ZS12YWx1ZT0ie3tfc3RlcEluZGV4fX0iCiAgICAgICAgICAgIG1heD0iW1tfbWF4U3RlcEluZGV4XV0iCiAgICAgICAgICAgIG1heC1tYXJrZXJzPSJbW19tYXhTdGVwSW5kZXhdXSIKICAgICAgICAgICAgc25hcHMKICAgICAgICAgICAgc3RlcD0iMSIKICAgICAgICAgICAgdmFsdWU9Int7X3N0ZXBJbmRleH19IgogICAgICAgICAgPjwvcGFwZXItc2xpZGVyPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC90Zi1jYXJkLWhlYWRpbmc+CgogICAgPCEtLSBTZW1hbnRpY2FsbHkgYSBidXR0b24gYnV0IDxpbWc+IGluc2lkZSBhIDxidXR0b24+IGRpc2FsbG93cyB1c2VyIHRvIGRvCiAgICBhbiBpbnRlcmVzdGluZyBvcGVyYXRpb24gbGlrZSAiQ29weSBJbWFnZSIgaW4gbm9uLUNocm9taXVtIGJyb3dzZXJzLiAtLT4KICAgIDxhCiAgICAgIGlkPSJtYWluLWltYWdlLWNvbnRhaW5lciIKICAgICAgcm9sZT0iYnV0dG9uIgogICAgICBhcmlhLWxhYmVsPSJUb2dnbGUgYWN0dWFsIHNpemUiCiAgICAgIGFyaWEtZXhwYW5kZWQkPSJbW19nZXRBcmlhRXhwYW5kZWQoYWN0dWFsU2l6ZSldXSIKICAgICAgb24tdGFwPSJfaGFuZGxlVGFwIgogICAgPjwvYT4KCiAgICA8c3R5bGUgaW5jbHVkZT0idGYtY2FyZC1oZWFkaW5nLXN0eWxlIj4KICAgICAgLyoqIE1ha2UgYnV0dG9uIGEgZGl2LiAqLwogICAgICBidXR0b24gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC8qKiBGaXJlZm94OiBHZXQgcmlkIG9mIGRvdHRlZCBsaW5lIGluc2lkZSBidXR0b24uICovCiAgICAgIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC8qKiBGaXJlZm94OiBTaW11bGF0ZSBDaHJvbWUncyBvdXRlciBnbG93IG9uIGJ1dHRvbiB3aGVuIGZvY3VzZWQuICovCiAgICAgIGJ1dHRvbjotbW96LWZvY3VzcmluZyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDFweCAycHggSGlnaGxpZ2h0OwogICAgICB9CgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDM1MHB4OwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAwIDE1cHggNDBweCAwOwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgIH0KCiAgICAgIC8qKiBXaGVuIGFjdHVhbCBzaXplIHNob3duIGlzIG9uLCB1c2UgdGhlIGFjdHVhbCBpbWFnZSB3aWR0aC4gKi8KICAgICAgOmhvc3QoW2FjdHVhbC1zaXplXSkgewogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgfQoKICAgICAgOmhvc3QoW2FjdHVhbC1zaXplXSkgI21haW4taW1hZ2UtY29udGFpbmVyIHsKICAgICAgICBtYXgtaGVpZ2h0OiBub25lOwogICAgICAgIHdpZHRoOiBhdXRvOwogICAgICB9CgogICAgICA6aG9zdChbYWN0dWFsLXNpemVdKSAjbWFpbi1pbWFnZS1jb250YWluZXIgaW1nIHsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgfQoKICAgICAgcGFwZXItc3Bpbm5lci1saXRlIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tOwogICAgICAgIC0tcGFwZXItc3Bpbm5lci1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgIH0KCiAgICAgICNzdGVwcyB7CiAgICAgICAgaGVpZ2h0OiAxNXB4OwogICAgICAgIG1hcmdpbjogMCAwIDAgLTE1cHg7CiAgICAgICAgLyoKICAgICAgICAgKiAzMSBjb21lcyBmcm9tIGFkZGluZyBhIHBhZGRpbmcgb2YgMTVweCBmcm9tIGJvdGggc2lkZXMgb2YgdGhlCiAgICAgICAgICogcGFwZXItc2xpZGVyLCBzdWJ0cmFjdGluZyAxcHggc28gdGhhdCB0aGUgc2xpZGVyIHdpZHRoIGFsaWducwogICAgICAgICAqIHdpdGggdGhlIGltYWdlICh0aGUgbGFzdCBzbGlkZXIgbWFya2VyIHRha2VzIHVwIDFweCksIGFuZAogICAgICAgICAqIGFkZGluZyAycHggdG8gYWNjb3VudCBmb3IgYSBib3JkZXIgb2YgMXB4IG9uIGJvdGggc2lkZXMgb2YKICAgICAgICAgKiB0aGUgaW1hZ2UuIDMwIC0gMSArIDIuCiAgICAgICAgICovCiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMxcHgpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWFjdGl2ZS1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1zdGFydC1ib3JkZXItY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLW1hcmtlcnMtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLXBpbi1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLXN0YXJ0LWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgfQoKICAgICAgI21haW4taW1hZ2UtY29udGFpbmVyIHsKICAgICAgICBtYXgtaGVpZ2h0OiAxMDI0cHg7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KCiAgICAgICNtYWluLWltYWdlLWNvbnRhaW5lciBpbWcgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7CiAgICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICB9CgogICAgICBwYXBlci1pY29uLWJ1dHRvbiB7CiAgICAgICAgY29sb3I6ICMyMTk2ZjM7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CiAgICAgIHBhcGVyLWljb24tYnV0dG9uW3NlbGVjdGVkXSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTsKICAgICAgfQogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEcwdC5wcm90b3R5cGUsInJ1biIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxHMHQucHJvdG90eXBlLCJ0YWciLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sRzB0LnByb3RvdHlwZSwic2FtcGxlIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLEcwdC5wcm90b3R5cGUsIm9mU2FtcGxlcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxHMHQucHJvdG90eXBlLCJ0YWdNZXRhZGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxHMHQucHJvdG90eXBlLCJhY3R1YWxTaXplIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLEcwdC5wcm90b3R5cGUsImJyaWdodG5lc3NBZGp1c3RtZW50Iix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLEcwdC5wcm90b3R5cGUsImNvbnRyYXN0UGVyY2VudGFnZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixicildLEcwdC5wcm90b3R5cGUsInJlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEcwdC5wcm90b3R5cGUsIl9tZXRhZGF0YUNhbmNlbGxlciIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxHMHQucHJvdG90eXBlLCJfaW1hZ2VDYW5jZWxsZXIiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheSxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxHMHQucHJvdG90eXBlLCJfc3RlcHMiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXIsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLEcwdC5wcm90b3R5cGUsIl9zdGVwSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxHMHQucHJvdG90eXBlLCJfaXNJbWFnZUxvYWRpbmciLHZvaWQgMCksdChbcygicnVuIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sRzB0LnByb3RvdHlwZSwiX3J1bkNvbG9yIixudWxsKSx0KFtzKCJfc3RlcHMiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sRzB0LnByb3RvdHlwZSwiX2hhc0F0TGVhc3RPbmVTdGVwIixudWxsKSx0KFtzKCJfc3RlcHMiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sRzB0LnByb3RvdHlwZSwiX2hhc011bHRpcGxlU3RlcHMiLG51bGwpLHQoW3MoIl9zdGVwcyIsIl9zdGVwSW5kZXgiKSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxHMHQucHJvdG90eXBlLCJfY3VycmVudFN0ZXAiLG51bGwpLHQoW3MoIl9jdXJyZW50U3RlcCIpLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEcwdC5wcm90b3R5cGUsIl9zdGVwVmFsdWUiLG51bGwpLHQoW3MoIl9jdXJyZW50U3RlcCIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEcwdC5wcm90b3R5cGUsIl9jdXJyZW50V2FsbFRpbWUiLG51bGwpLHQoW3MoIl9zdGVwcyIpLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEcwdC5wcm90b3R5cGUsIl9tYXhTdGVwSW5kZXgiLG51bGwpLHQoW3MoInNhbXBsZSIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEcwdC5wcm90b3R5cGUsIl9zYW1wbGVUZXh0IixudWxsKSx0KFtzKCJvZlNhbXBsZXMiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sRzB0LnByb3RvdHlwZSwiX2hhc011bHRpcGxlU2FtcGxlcyIsbnVsbCksdChbYSgicnVuIiwidGFnIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxHMHQucHJvdG90eXBlLCJyZWxvYWQiLG51bGwpLHQoW2EoIl9jdXJyZW50U3RlcCIsImJyaWdodG5lc3NBZGp1c3RtZW50IiwiY29udHJhc3RQZXJjZW50YWdlIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxHMHQucHJvdG90eXBlLCJfdXBkYXRlSW1hZ2VVcmwiLG51bGwpLEcwdD10KFtpKCJ0Zi1pbWFnZS1sb2FkZXIiKV0sRzB0KTtsZXQgVzB0PWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5yZWxvYWRPblJlYWR5PSEwLHRoaXMuX2RlZmF1bHRCcmlnaHRuZXNzQWRqdXN0bWVudD0xLHRoaXMuX2RlZmF1bHRDb250cmFzdFBlcmNlbnRhZ2U9MTAwLHRoaXMuX2JyaWdodG5lc3NBZGp1c3RtZW50PTEsdGhpcy5fY29udHJhc3RQZXJjZW50YWdlPTEwMCx0aGlzLl9yZXF1ZXN0TWFuYWdlcj1uZXcgYnJ9cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMucmVsb2FkT25SZWFkeSYmdGhpcy5yZWxvYWQoKX1yZWxvYWQoKXt0aGlzLl9mZXRjaFRhZ3MoKS50aGVuKCgoKT0+e3RoaXMuX3JlbG9hZEltYWdlcygpfSkpfV9mZXRjaFRhZ3MoKXtjb25zdCB0PUVyKCkucGx1Z2luUm91dGUoImltYWdlcyIsIi90YWdzIik7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodCkudGhlbigodD0+e2lmKENlLmV4cG9ydHMuaXNFcXVhbCh0LHRoaXMuX3J1blRvVGFnSW5mbykpcmV0dXJuO2NvbnN0IGU9ZnIoQ2UuZXhwb3J0cy5tYXBWYWx1ZXModCwodD0+T2JqZWN0LmtleXModCkpKSk7dGhpcy5zZXQoIl9kYXRhTm90Rm91bmQiLDA9PT1lLmxlbmd0aCksdGhpcy5zZXQoIl9ydW5Ub1RhZ0luZm8iLHQpLHRoaXMuYXN5bmMoKCgpPT57dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pKX0pKX1fcmVsb2FkSW1hZ2VzKCl7dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLWltYWdlLWxvYWRlciIpLmZvckVhY2goKHQ9Pnt0LnJlbG9hZCgpfSkpfV9zaG91bGRPcGVuKHQpe3JldHVybiB0PD0yfV9yZXNldEJyaWdodG5lc3MoKXt0aGlzLl9icmlnaHRuZXNzQWRqdXN0bWVudD10aGlzLl9kZWZhdWx0QnJpZ2h0bmVzc0FkanVzdG1lbnR9X3Jlc2V0Q29udHJhc3QoKXt0aGlzLl9jb250cmFzdFBlcmNlbnRhZ2U9dGhpcy5fZGVmYXVsdENvbnRyYXN0UGVyY2VudGFnZX1nZXQgX2JyaWdodG5lc3NJc0RlZmF1bHQoKXtyZXR1cm4gdGhpcy5fYnJpZ2h0bmVzc0FkanVzdG1lbnQ9PT10aGlzLl9kZWZhdWx0QnJpZ2h0bmVzc0FkanVzdG1lbnR9Z2V0IF9jb250cmFzdElzRGVmYXVsdCgpe3JldHVybiB0aGlzLl9jb250cmFzdFBlcmNlbnRhZ2U9PT10aGlzLl9kZWZhdWx0Q29udHJhc3RQZXJjZW50YWdlfWdldCBfY2F0ZWdvcmllcygpe3ZhciB0PXRoaXMuX3J1blRvVGFnSW5mbyxlPXRoaXMuX3NlbGVjdGVkUnVucyxuPXRoaXMuX3RhZ0ZpbHRlcjtmdW5jdGlvbiBpKGUpe2NvbnN0IG49dFtlLnJ1bl1bZS50YWddLnNhbXBsZXM7cmV0dXJuIENlLmV4cG9ydHMucmFuZ2UobikubWFwKCh0PT5PYmplY3QuYXNzaWduKHt9LGUse3NhbXBsZTp0LG9mU2FtcGxlczpufSkpKX1yZXR1cm4gSXIoQ2UuZXhwb3J0cy5tYXBWYWx1ZXModCwodD0+T2JqZWN0LmtleXModCkpKSxlLG4pLm1hcCgodD0+T2JqZWN0LmFzc2lnbih7fSx0LHtpdGVtczpbXS5jb25jYXQuYXBwbHkoW10sdC5pdGVtcy5tYXAoaSkpfSkpKX1fdGFnTWV0YWRhdGEodCxlLG4pe3JldHVybiB0W2VdW25dfX07dmFyIHEwdCxZMHQsWDB0O1cwdC50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e19hY3R1YWxTaXplfX0iCiAgICAgICAgICAgICAgICA+U2hvdyBhY3R1YWwgaW1hZ2Ugc2l6ZTwvcGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgICA8aDMgY2xhc3M9InRvb2x0aXAtY29udGFpbmVyIj5CcmlnaHRuZXNzIGFkanVzdG1lbnQ8L2gzPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNldHRhYmxlLXNsaWRlci1jb250YWluZXIiPgogICAgICAgICAgICAgIDxwYXBlci1zbGlkZXIKICAgICAgICAgICAgICAgIG1pbj0iMCIKICAgICAgICAgICAgICAgIG1heD0iMiIKICAgICAgICAgICAgICAgIHNuYXBzCiAgICAgICAgICAgICAgICBwaW4KICAgICAgICAgICAgICAgIHN0ZXA9IjAuMDEiCiAgICAgICAgICAgICAgICB2YWx1ZT0ie3tfYnJpZ2h0bmVzc0FkanVzdG1lbnR9fSIKICAgICAgICAgICAgICAgIGltbWVkaWF0ZS12YWx1ZT0ie3tfYnJpZ2h0bmVzc0FkanVzdG1lbnR9fSIKICAgICAgICAgICAgICA+PC9wYXBlci1zbGlkZXI+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9IngtYnV0dG9uIgogICAgICAgICAgICAgICAgb24tdGFwPSJfcmVzZXRCcmlnaHRuZXNzIgogICAgICAgICAgICAgICAgZGlzYWJsZWQ9IltbX2JyaWdodG5lc3NJc0RlZmF1bHRdXSIKICAgICAgICAgICAgICAgID5SZXNldDwvcGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPGgzIGNsYXNzPSJ0b29sdGlwLWNvbnRhaW5lciI+Q29udHJhc3QgYWRqdXN0bWVudDwvaDM+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc2V0dGFibGUtc2xpZGVyLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgPHBhcGVyLXNsaWRlcgogICAgICAgICAgICAgICAgbWluPSIwIgogICAgICAgICAgICAgICAgbWF4PSI1MDAiCiAgICAgICAgICAgICAgICBzbmFwcwogICAgICAgICAgICAgICAgcGluCiAgICAgICAgICAgICAgICBzdGVwPSIxIgogICAgICAgICAgICAgICAgdmFsdWU9Int7X2NvbnRyYXN0UGVyY2VudGFnZX19IgogICAgICAgICAgICAgICAgaW1tZWRpYXRlLXZhbHVlPSJ7e19jb250cmFzdFBlcmNlbnRhZ2V9fSIKICAgICAgICAgICAgICA+PC9wYXBlci1zbGlkZXI+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9IngtYnV0dG9uIgogICAgICAgICAgICAgICAgb24tdGFwPSJfcmVzZXRDb250cmFzdCIKICAgICAgICAgICAgICAgIGRpc2FibGVkPSJbW19jb250cmFzdElzRGVmYXVsdF1dIgogICAgICAgICAgICAgICAgPlJlc2V0PC9wYXBlci1idXR0b24KICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIHJ1bnMtc2VsZWN0b3IiPgogICAgICAgICAgPHRmLXJ1bnMtc2VsZWN0b3IKICAgICAgICAgICAgaWQ9InJ1bnMtc2VsZWN0b3IiCiAgICAgICAgICAgIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319IgogICAgICAgICAgPjwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBpbWFnZSBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgaW1hZ2UgZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgPGxpPlRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiCiAgICAgICAgICAgICAgICA+UkVBRE1FPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgICAgPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hCiAgICAgICAgICAgICAgPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyIKICAgICAgICAgICAgICAgID50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDx0Zi10YWctZmlsdGVyZXIgdGFnLWZpbHRlcj0ie3tfdGFnRmlsdGVyfX0iPjwvdGYtdGFnLWZpbHRlcmVyPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcKICAgICAgICAgICAgICBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIgogICAgICAgICAgICAgIGluaXRpYWwtb3BlbmVkPSJbW19zaG91bGRPcGVuKGluZGV4KV1dIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLWltYWdlLWxvYWRlcgogICAgICAgICAgICAgICAgICBhY3RpdmU9IltbYWN0aXZlXV0iCiAgICAgICAgICAgICAgICAgIHJ1bj0iW1tpdGVtLnJ1bl1dIgogICAgICAgICAgICAgICAgICB0YWc9IltbaXRlbS50YWddXSIKICAgICAgICAgICAgICAgICAgc2FtcGxlPSJbW2l0ZW0uc2FtcGxlXV0iCiAgICAgICAgICAgICAgICAgIG9mLXNhbXBsZXM9IltbaXRlbS5vZlNhbXBsZXNdXSIKICAgICAgICAgICAgICAgICAgdGFnLW1ldGFkYXRhPSJbW190YWdNZXRhZGF0YShfcnVuVG9UYWdJbmZvLCBpdGVtLnJ1biwgaXRlbS50YWcpXV0iCiAgICAgICAgICAgICAgICAgIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSIKICAgICAgICAgICAgICAgICAgYWN0dWFsLXNpemU9IltbX2FjdHVhbFNpemVdXSIKICAgICAgICAgICAgICAgICAgYnJpZ2h0bmVzcy1hZGp1c3RtZW50PSJbW19icmlnaHRuZXNzQWRqdXN0bWVudF1dIgogICAgICAgICAgICAgICAgICBjb250cmFzdC1wZXJjZW50YWdlPSJbW19jb250cmFzdFBlcmNlbnRhZ2VdXSIKICAgICAgICAgICAgICAgID48L3RmLWltYWdlLWxvYWRlcj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5yZXNldHRhYmxlLXNsaWRlci1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIH0KICAgICAgLnJlc2V0dGFibGUtc2xpZGVyLWNvbnRhaW5lciBwYXBlci1zbGlkZXIgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQogICAgICAucmVzZXR0YWJsZS1zbGlkZXItY29udGFpbmVyIHBhcGVyLWJ1dHRvbiB7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICB9CiAgICAgIC5yZXNldHRhYmxlLXNsaWRlci1jb250YWluZXIgcGFwZXItYnV0dG9uW2Rpc2FibGVkXSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7CiAgICAgIH0KICAgICAgLngtYnV0dG9uIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTsKICAgICAgICBjb2xvcjogdmFyKC0tdGItdWktZGFyay1hY2NlbnQpOwogICAgICB9CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICAgIHBhcGVyLXNsaWRlciB7CiAgICAgICAgLS1wYXBlci1zbGlkZXItYWN0aXZlLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1zdGFydC1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXItbWFya2Vycy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1waW4tc3RhcnQtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxXMHQucHJvdG90eXBlLCJyZWxvYWRPblJlYWR5Iix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxXMHQucHJvdG90eXBlLCJfc2VsZWN0ZWRSdW5zIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFcwdC5wcm90b3R5cGUsIl9ydW5Ub1RhZ0luZm8iLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxXMHQucHJvdG90eXBlLCJfZGF0YU5vdEZvdW5kIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sVzB0LnByb3RvdHlwZSwiX2FjdHVhbFNpemUiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sVzB0LnByb3RvdHlwZSwiX2RlZmF1bHRCcmlnaHRuZXNzQWRqdXN0bWVudCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxXMHQucHJvdG90eXBlLCJfZGVmYXVsdENvbnRyYXN0UGVyY2VudGFnZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxXMHQucHJvdG90eXBlLCJfYnJpZ2h0bmVzc0FkanVzdG1lbnQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sVzB0LnByb3RvdHlwZSwiX2NvbnRyYXN0UGVyY2VudGFnZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxXMHQucHJvdG90eXBlLCJfdGFnRmlsdGVyIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sVzB0LnByb3RvdHlwZSwiX2NhdGVnb3JpZXNEb21SZWFkeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxXMHQucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbcygiX2JyaWdodG5lc3NBZGp1c3RtZW50IiksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLFcwdC5wcm90b3R5cGUsIl9icmlnaHRuZXNzSXNEZWZhdWx0IixudWxsKSx0KFtzKCJfY29udHJhc3RQZXJjZW50YWdlIiksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLFcwdC5wcm90b3R5cGUsIl9jb250cmFzdElzRGVmYXVsdCIsbnVsbCksdChbcygiX3J1blRvVGFnSW5mbyIsIl9zZWxlY3RlZFJ1bnMiLCJfdGFnRmlsdGVyIiwiX2NhdGVnb3JpZXNEb21SZWFkeSIpLGUoImRlc2lnbjp0eXBlIixBcnJheSksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sVzB0LnByb3RvdHlwZSwiX2NhdGVnb3JpZXMiLG51bGwpLFcwdD10KFtpKCJ0Zi1pbWFnZS1kYXNoYm9hcmQiKV0sVzB0KSwoZnVuY3Rpb24odCl7dFt0LkNBTkNFTExFRD0xXT0iQ0FOQ0VMTEVEIn0pKHEwdHx8KHEwdD17fSkpLChmdW5jdGlvbih0KXt0W3QuVkVSVEVYPTFdPSJWRVJURVgiLHRbdC5GQUNFPTJdPSJGQUNFIix0W3QuQ09MT1I9M109IkNPTE9SIn0pKFkwdHx8KFkwdD17fSkpLChmdW5jdGlvbih0KXt0LlZFUlRFWD0iZmxvYXQzMiIsdC5GQUNFPSJpbnQzMiIsdC5DT0xPUj0idWludDgifSkoWDB0fHwoWDB0PXt9KSk7Y2xhc3MgJDB0e2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NhbmNlbGxlcj1uZXcgeE8sdGhpcy5fcmVxdWVzdE1hbmFnZXI9dH1yZWxvYWQodCxlLG4pe3JldHVybiB0aGlzLl9jYW5jZWxsZXIuY2FuY2VsQWxsKCksdGhpcy5fZmV0Y2hNZXRhZGF0YSh0LGUsbil9X2ZldGNoRGF0YUJ5U3RlcCh0LGUsbixpLHIsbyl7Y29uc3QgYT1FcigpLnBsdWdpblJvdXRlKCJtZXNoIiwiL2RhdGEiLG5ldyBVUkxTZWFyY2hQYXJhbXMoe3RhZzplLHJ1bjp0LGNvbnRlbnRfdHlwZTpuLHNhbXBsZTpTdHJpbmcoaSksc3RlcDpTdHJpbmcocil9KSkscz1mdW5jdGlvbih0KXtsZXQgZT1bXTtmb3IobGV0IG49MDtuPHQubGVuZ3RoLzM7bisrKXtsZXQgaT1bXTtmb3IobGV0IGU9MDtlPDM7ZSsrKWkucHVzaCh0WzMqbitlXSk7ZS5wdXNoKGkpfXJldHVybiBlfSxsPXRoaXMuX2NhbmNlbGxlci5jYW5jZWxsYWJsZSgodD0+e2lmKHQuY2FuY2VsbGVkKXJldHVybiBQcm9taXNlLnJlamVjdCh7Y29kZTpxMHQuQ0FOQ0VMTEVELG1lc3NhZ2U6IlJlc3BvbnNlIHdhcyBpbnZhbGlkYXRlZC4ifSk7bGV0IGU9dC52YWx1ZTtzd2l0Y2gobil7Y2FzZSJWRVJURVgiOm8udmVydGljZXM9cyhuZXcgRmxvYXQzMkFycmF5KGUpKTticmVhaztjYXNlIkZBQ0UiOm8uZmFjZXM9cyhuZXcgSW50MzJBcnJheShlKSk7YnJlYWs7Y2FzZSJDT0xPUiI6by5jb2xvcnM9cyhuZXcgVWludDhBcnJheShlKSl9cmV0dXJuIG99KSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLmZldGNoKGEse21ldGhvZDoiR0VUIixoZWFkZXJzOntyZXNwb25zZVR5cGU6ImFycmF5YnVmZmVyIixjb250ZW50VHlwZTpYMHRbbl19fSkudGhlbigodD0+dC5hcnJheUJ1ZmZlcigpKSkudGhlbihsKX1mZXRjaERhdGEodCxlLG4saSl7bGV0IHI9W10sbz1uZXcgTWFwO3JldHVybiBPYmplY3Qua2V5cyhZMHQpLmZvckVhY2goKGE9Pnt0LmNvbXBvbmVudHMmMTw8WTB0W2FdJiZyLnB1c2godGhpcy5fZmV0Y2hEYXRhQnlTdGVwKGUsbixhLGksdC5zdGVwLG8pKX0pKSxQcm9taXNlLmFsbChyKX1fZmV0Y2hNZXRhZGF0YSh0LGUsbil7dGhpcy5fY2FuY2VsbGVyLmNhbmNlbEFsbCgpO2NvbnN0IGk9RXIoKS5wbHVnaW5Sb3V0ZSgibWVzaCIsIi9tZXNoZXMiLG5ldyBVUkxTZWFyY2hQYXJhbXMoe3RhZzplLHJ1bjp0LHNhbXBsZTpufSkpLHI9dGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKCh0PT50LmNhbmNlbGxlZD9Qcm9taXNlLnJlamVjdCh7Y29kZTpxMHQuQ0FOQ0VMTEVELG1lc3NhZ2U6IlJlc3BvbnNlIHdhcyBpbnZhbGlkYXRlZC4ifSk6dC52YWx1ZSkpO3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5mZXRjaChpKS50aGVuKCh0PT50Lmpzb24oKSkpLnRoZW4ocikudGhlbih0aGlzLl9wcm9jZXNzTWV0YWRhdGEuYmluZCh0aGlzKSl9X3Byb2Nlc3NNZXRhZGF0YSh0KXtpZighdClyZXR1cm47Y29uc3QgZT1uZXcgTWFwO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtsZXQgaT10W25dO2UuaGFzKGkuc3RlcCl8fGUuc2V0KGkuc3RlcCxbXSksZS5nZXQoaS5zdGVwKS5wdXNoKGkpfWxldCBuPVtdO3JldHVybiBlLmZvckVhY2goKHQ9PntsZXQgZT10aGlzLl9jcmVhdGVTdGVwRGF0dW0odFswXSk7bi5wdXNoKGUpfSkpLG59X2NyZWF0ZVN0ZXBEYXR1bSh0KXtyZXR1cm57d2FsbF90aW1lOm5ldyBEYXRlKDFlMyp0LndhbGxfdGltZSksc3RlcDp0LnN0ZXAsY29uZmlnOnQuY29uZmlnLGNvbnRlbnRfdHlwZTp0LmNvbnRlbnRfdHlwZSxjb21wb25lbnRzOnQuY29tcG9uZW50c319fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgMjAxMC0yMDIxIFRocmVlLmpzIEF1dGhvcnMKICAgICAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKICAgICAqL2NvbnN0IEswdD0iMTMxIixaMHQ9e0xFRlQ6MCxNSURETEU6MSxSSUdIVDoyLFJPVEFURTowLERPTExZOjEsUEFOOjJ9LEowdD17Uk9UQVRFOjAsUEFOOjEsRE9MTFlfUEFOOjIsRE9MTFlfUk9UQVRFOjN9LFEwdD0xMDAsdDJ0PTMwMCxlMnQ9MzAxLG4ydD0zMDIsaTJ0PTMwMyxyMnQ9MzA0LG8ydD0zMDYsYTJ0PTMwNyxzMnQ9MWUzLGwydD0xMDAxLGMydD0xMDAyLHUydD0xMDAzLGgydD0xMDA0LGQydD0xMDA1LHAydD0xMDA2LGYydD0xMDA3LG0ydD0xMDA4LGcydD0xMDA5LF8ydD0xMDEyLHkydD0xMDE0LHYydD0xMDE1LGIydD0xMDE2LHgydD0xMDIwLHcydD0xMDIyLFMydD0xMDIzLE0ydD0xMDI2LEUydD0xMDI3LFQydD0zMzc3NixDMnQ9MzM3NzcsQTJ0PTMzNzc4LGsydD0zMzc3OSxMMnQ9MzU4NDAsUDJ0PTM1ODQxLE4ydD0zNTg0MixJMnQ9MzU4NDMsUjJ0PTM3NDkyLE8ydD0zNzQ5Nix6MnQ9MjMwMCxEMnQ9MjMwMSxCMnQ9MjMwMixIMnQ9MjQwMCxGMnQ9MjQwMSxWMnQ9MjQwMixVMnQ9MjUwMCxqMnQ9MjUwMSxHMnQ9M2UzLFcydD0zMDAxLHEydD0zMDA3LFkydD0zMDAyLFgydD0zMDA0LCQydD0zMDA1LEsydD0zMDA2LFoydD03NjgwLEoydD0zNTA0NCxRMnQ9MzUwNDgsdDV0PSIzMDAgZXMiO2NsYXNzIGU1dHthZGRFdmVudExpc3RlbmVyKHQsZSl7dm9pZCAwPT09dGhpcy5fbGlzdGVuZXJzJiYodGhpcy5fbGlzdGVuZXJzPXt9KTtjb25zdCBuPXRoaXMuX2xpc3RlbmVyczt2b2lkIDA9PT1uW3RdJiYoblt0XT1bXSksLTE9PT1uW3RdLmluZGV4T2YoZSkmJm5bdF0ucHVzaChlKX1oYXNFdmVudExpc3RlbmVyKHQsZSl7aWYodm9pZCAwPT09dGhpcy5fbGlzdGVuZXJzKXJldHVybiExO2NvbnN0IG49dGhpcy5fbGlzdGVuZXJzO3JldHVybiB2b2lkIDAhPT1uW3RdJiYtMSE9PW5bdF0uaW5kZXhPZihlKX1yZW1vdmVFdmVudExpc3RlbmVyKHQsZSl7aWYodm9pZCAwPT09dGhpcy5fbGlzdGVuZXJzKXJldHVybjtjb25zdCBuPXRoaXMuX2xpc3RlbmVyc1t0XTtpZih2b2lkIDAhPT1uKXtjb25zdCB0PW4uaW5kZXhPZihlKTstMSE9PXQmJm4uc3BsaWNlKHQsMSl9fWRpc3BhdGNoRXZlbnQodCl7aWYodm9pZCAwPT09dGhpcy5fbGlzdGVuZXJzKXJldHVybjtjb25zdCBlPXRoaXMuX2xpc3RlbmVyc1t0LnR5cGVdO2lmKHZvaWQgMCE9PWUpe3QudGFyZ2V0PXRoaXM7Y29uc3Qgbj1lLnNsaWNlKDApO2ZvcihsZXQgZT0wLGk9bi5sZW5ndGg7ZTxpO2UrKyluW2VdLmNhbGwodGhpcyx0KTt0LnRhcmdldD1udWxsfX19Y29uc3QgbjV0PVtdO2ZvcihsZXQgdD0wO3Q8MjU2O3QrKyluNXRbdF09KHQ8MTY/IjAiOiIiKSt0LnRvU3RyaW5nKDE2KTtsZXQgaTV0PTEyMzQ1Njc7Y29uc3QgcjV0PU1hdGguUEkvMTgwLG81dD0xODAvTWF0aC5QSTtmdW5jdGlvbiBhNXQoKXtjb25zdCB0PTQyOTQ5NjcyOTUqTWF0aC5yYW5kb20oKXwwLGU9NDI5NDk2NzI5NSpNYXRoLnJhbmRvbSgpfDAsbj00Mjk0OTY3Mjk1Kk1hdGgucmFuZG9tKCl8MCxpPTQyOTQ5NjcyOTUqTWF0aC5yYW5kb20oKXwwO3JldHVybihuNXRbMjU1JnRdK241dFt0Pj44JjI1NV0rbjV0W3Q+PjE2JjI1NV0rbjV0W3Q+PjI0JjI1NV0rIi0iK241dFsyNTUmZV0rbjV0W2U+PjgmMjU1XSsiLSIrbjV0W2U+PjE2JjE1fDY0XStuNXRbZT4+MjQmMjU1XSsiLSIrbjV0WzYzJm58MTI4XStuNXRbbj4+OCYyNTVdKyItIituNXRbbj4+MTYmMjU1XStuNXRbbj4+MjQmMjU1XStuNXRbMjU1JmldK241dFtpPj44JjI1NV0rbjV0W2k+PjE2JjI1NV0rbjV0W2k+PjI0JjI1NV0pLnRvVXBwZXJDYXNlKCl9ZnVuY3Rpb24gczV0KHQsZSxuKXtyZXR1cm4gTWF0aC5tYXgoZSxNYXRoLm1pbihuLHQpKX1mdW5jdGlvbiBsNXQodCxlKXtyZXR1cm4odCVlK2UpJWV9ZnVuY3Rpb24gYzV0KHQsZSxuKXtyZXR1cm4oMS1uKSp0K24qZX1mdW5jdGlvbiB1NXQodCl7cmV0dXJuIDA9PSh0JnQtMSkmJjAhPT10fWZ1bmN0aW9uIGg1dCh0KXtyZXR1cm4gTWF0aC5wb3coMixNYXRoLmNlaWwoTWF0aC5sb2codCkvTWF0aC5MTjIpKX1mdW5jdGlvbiBkNXQodCl7cmV0dXJuIE1hdGgucG93KDIsTWF0aC5mbG9vcihNYXRoLmxvZyh0KS9NYXRoLkxOMikpfXZhciBwNXQ9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsREVHMlJBRDpyNXQsUkFEMkRFRzpvNXQsZ2VuZXJhdGVVVUlEOmE1dCxjbGFtcDpzNXQsZXVjbGlkZWFuTW9kdWxvOmw1dCxtYXBMaW5lYXI6ZnVuY3Rpb24gZjV0KHQsZSxuLGkscil7cmV0dXJuIGkrKHQtZSkqKHItaSkvKG4tZSl9LGludmVyc2VMZXJwOmZ1bmN0aW9uIG01dCh0LGUsbil7cmV0dXJuIHQhPT1lPyhuLXQpLyhlLXQpOjB9LGxlcnA6YzV0LGRhbXA6ZnVuY3Rpb24gZzV0KHQsZSxuLGkpe3JldHVybiBjNXQodCxlLDEtTWF0aC5leHAoLW4qaSkpfSxwaW5ncG9uZzpmdW5jdGlvbiBfNXQodCxlPTEpe3JldHVybiBlLU1hdGguYWJzKGw1dCh0LDIqZSktZSl9LHNtb290aHN0ZXA6ZnVuY3Rpb24geTV0KHQsZSxuKXtyZXR1cm4gdDw9ZT8wOnQ+PW4/MToodD0odC1lKS8obi1lKSkqdCooMy0yKnQpfSxzbW9vdGhlcnN0ZXA6ZnVuY3Rpb24gdjV0KHQsZSxuKXtyZXR1cm4gdDw9ZT8wOnQ+PW4/MToodD0odC1lKS8obi1lKSkqdCp0Kih0Kig2KnQtMTUpKzEwKX0scmFuZEludDpmdW5jdGlvbiBiNXQodCxlKXtyZXR1cm4gdCtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKGUtdCsxKSl9LHJhbmRGbG9hdDpmdW5jdGlvbiB4NXQodCxlKXtyZXR1cm4gdCtNYXRoLnJhbmRvbSgpKihlLXQpfSxyYW5kRmxvYXRTcHJlYWQ6ZnVuY3Rpb24gdzV0KHQpe3JldHVybiB0KiguNS1NYXRoLnJhbmRvbSgpKX0sc2VlZGVkUmFuZG9tOmZ1bmN0aW9uIFM1dCh0KXtyZXR1cm4gdm9pZCAwIT09dCYmKGk1dD10JTIxNDc0ODM2NDcpLGk1dD0xNjgwNyppNXQlMjE0NzQ4MzY0NywoaTV0LTEpLzIxNDc0ODM2NDZ9LGRlZ1RvUmFkOmZ1bmN0aW9uIE01dCh0KXtyZXR1cm4gdCpyNXR9LHJhZFRvRGVnOmZ1bmN0aW9uIEU1dCh0KXtyZXR1cm4gdCpvNXR9LGlzUG93ZXJPZlR3bzp1NXQsY2VpbFBvd2VyT2ZUd286aDV0LGZsb29yUG93ZXJPZlR3bzpkNXQsc2V0UXVhdGVybmlvbkZyb21Qcm9wZXJFdWxlcjpmdW5jdGlvbiBUNXQodCxlLG4saSxyKXtjb25zdCBvPU1hdGguY29zLGE9TWF0aC5zaW4scz1vKG4vMiksbD1hKG4vMiksYz1vKChlK2kpLzIpLHU9YSgoZStpKS8yKSxoPW8oKGUtaSkvMiksZD1hKChlLWkpLzIpLHA9bygoaS1lKS8yKSxmPWEoKGktZSkvMik7c3dpdGNoKHIpe2Nhc2UiWFlYIjp0LnNldChzKnUsbCpoLGwqZCxzKmMpO2JyZWFrO2Nhc2UiWVpZIjp0LnNldChsKmQscyp1LGwqaCxzKmMpO2JyZWFrO2Nhc2UiWlhaIjp0LnNldChsKmgsbCpkLHMqdSxzKmMpO2JyZWFrO2Nhc2UiWFpYIjp0LnNldChzKnUsbCpmLGwqcCxzKmMpO2JyZWFrO2Nhc2UiWVhZIjp0LnNldChsKnAscyp1LGwqZixzKmMpO2JyZWFrO2Nhc2UiWllaIjp0LnNldChsKmYsbCpwLHMqdSxzKmMpO2JyZWFrO2RlZmF1bHQ6Y29uc29sZS53YXJuKCJUSFJFRS5NYXRoVXRpbHM6IC5zZXRRdWF0ZXJuaW9uRnJvbVByb3BlckV1bGVyKCkgZW5jb3VudGVyZWQgYW4gdW5rbm93biBvcmRlcjogIityKX19fSk7Y2xhc3MgQzV0e2NvbnN0cnVjdG9yKHQ9MCxlPTApe3RoaXMueD10LHRoaXMueT1lfWdldCB3aWR0aCgpe3JldHVybiB0aGlzLnh9c2V0IHdpZHRoKHQpe3RoaXMueD10fWdldCBoZWlnaHQoKXtyZXR1cm4gdGhpcy55fXNldCBoZWlnaHQodCl7dGhpcy55PXR9c2V0KHQsZSl7cmV0dXJuIHRoaXMueD10LHRoaXMueT1lLHRoaXN9c2V0U2NhbGFyKHQpe3JldHVybiB0aGlzLng9dCx0aGlzLnk9dCx0aGlzfXNldFgodCl7cmV0dXJuIHRoaXMueD10LHRoaXN9c2V0WSh0KXtyZXR1cm4gdGhpcy55PXQsdGhpc31zZXRDb21wb25lbnQodCxlKXtzd2l0Y2godCl7Y2FzZSAwOnRoaXMueD1lO2JyZWFrO2Nhc2UgMTp0aGlzLnk9ZTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW5kZXggaXMgb3V0IG9mIHJhbmdlOiAiK3QpfXJldHVybiB0aGlzfWdldENvbXBvbmVudCh0KXtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB0aGlzLng7Y2FzZSAxOnJldHVybiB0aGlzLnk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIit0KX19Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy54LHRoaXMueSl9Y29weSh0KXtyZXR1cm4gdGhpcy54PXQueCx0aGlzLnk9dC55LHRoaXN9YWRkKHQsZSl7cmV0dXJuIHZvaWQgMCE9PWU/KGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLmFkZCgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLmFkZFZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuYWRkVmVjdG9ycyh0LGUpKToodGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcyl9YWRkU2NhbGFyKHQpe3JldHVybiB0aGlzLngrPXQsdGhpcy55Kz10LHRoaXN9YWRkVmVjdG9ycyh0LGUpe3JldHVybiB0aGlzLng9dC54K2UueCx0aGlzLnk9dC55K2UueSx0aGlzfWFkZFNjYWxlZFZlY3Rvcih0LGUpe3JldHVybiB0aGlzLngrPXQueCplLHRoaXMueSs9dC55KmUsdGhpc31zdWIodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiAuc3ViKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuc3ViVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5zdWJWZWN0b3JzKHQsZSkpOih0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzKX1zdWJTY2FsYXIodCl7cmV0dXJuIHRoaXMueC09dCx0aGlzLnktPXQsdGhpc31zdWJWZWN0b3JzKHQsZSl7cmV0dXJuIHRoaXMueD10LngtZS54LHRoaXMueT10LnktZS55LHRoaXN9bXVsdGlwbHkodCl7cmV0dXJuIHRoaXMueCo9dC54LHRoaXMueSo9dC55LHRoaXN9bXVsdGlwbHlTY2FsYXIodCl7cmV0dXJuIHRoaXMueCo9dCx0aGlzLnkqPXQsdGhpc31kaXZpZGUodCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXN9ZGl2aWRlU2NhbGFyKHQpe3JldHVybiB0aGlzLm11bHRpcGx5U2NhbGFyKDEvdCl9YXBwbHlNYXRyaXgzKHQpe2NvbnN0IGU9dGhpcy54LG49dGhpcy55LGk9dC5lbGVtZW50cztyZXR1cm4gdGhpcy54PWlbMF0qZStpWzNdKm4raVs2XSx0aGlzLnk9aVsxXSplK2lbNF0qbitpWzddLHRoaXN9bWluKHQpe3JldHVybiB0aGlzLng9TWF0aC5taW4odGhpcy54LHQueCksdGhpcy55PU1hdGgubWluKHRoaXMueSx0LnkpLHRoaXN9bWF4KHQpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodGhpcy54LHQueCksdGhpcy55PU1hdGgubWF4KHRoaXMueSx0LnkpLHRoaXN9Y2xhbXAodCxlKXtyZXR1cm4gdGhpcy54PU1hdGgubWF4KHQueCxNYXRoLm1pbihlLngsdGhpcy54KSksdGhpcy55PU1hdGgubWF4KHQueSxNYXRoLm1pbihlLnksdGhpcy55KSksdGhpc31jbGFtcFNjYWxhcih0LGUpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodCxNYXRoLm1pbihlLHRoaXMueCkpLHRoaXMueT1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy55KSksdGhpc31jbGFtcExlbmd0aCh0LGUpe2NvbnN0IG49dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIobnx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgodCxNYXRoLm1pbihlLG4pKSl9Zmxvb3IoKXtyZXR1cm4gdGhpcy54PU1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpLHRoaXN9Y2VpbCgpe3JldHVybiB0aGlzLng9TWF0aC5jZWlsKHRoaXMueCksdGhpcy55PU1hdGguY2VpbCh0aGlzLnkpLHRoaXN9cm91bmQoKXtyZXR1cm4gdGhpcy54PU1hdGgucm91bmQodGhpcy54KSx0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpLHRoaXN9cm91bmRUb1plcm8oKXtyZXR1cm4gdGhpcy54PXRoaXMueDwwP01hdGguY2VpbCh0aGlzLngpOk1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9dGhpcy55PDA/TWF0aC5jZWlsKHRoaXMueSk6TWF0aC5mbG9vcih0aGlzLnkpLHRoaXN9bmVnYXRlKCl7cmV0dXJuIHRoaXMueD0tdGhpcy54LHRoaXMueT0tdGhpcy55LHRoaXN9ZG90KHQpe3JldHVybiB0aGlzLngqdC54K3RoaXMueSp0Lnl9Y3Jvc3ModCl7cmV0dXJuIHRoaXMueCp0LnktdGhpcy55KnQueH1sZW5ndGhTcSgpe3JldHVybiB0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnl9bGVuZ3RoKCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnkpfW1hbmhhdHRhbkxlbmd0aCgpe3JldHVybiBNYXRoLmFicyh0aGlzLngpK01hdGguYWJzKHRoaXMueSl9bm9ybWFsaXplKCl7cmV0dXJuIHRoaXMuZGl2aWRlU2NhbGFyKHRoaXMubGVuZ3RoKCl8fDEpfWFuZ2xlKCl7cmV0dXJuIE1hdGguYXRhbjIoLXRoaXMueSwtdGhpcy54KStNYXRoLlBJfWRpc3RhbmNlVG8odCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKHQpKX1kaXN0YW5jZVRvU3F1YXJlZCh0KXtjb25zdCBlPXRoaXMueC10Lngsbj10aGlzLnktdC55O3JldHVybiBlKmUrbipufW1hbmhhdHRhbkRpc3RhbmNlVG8odCl7cmV0dXJuIE1hdGguYWJzKHRoaXMueC10LngpK01hdGguYWJzKHRoaXMueS10LnkpfXNldExlbmd0aCh0KXtyZXR1cm4gdGhpcy5ub3JtYWxpemUoKS5tdWx0aXBseVNjYWxhcih0KX1sZXJwKHQsZSl7cmV0dXJuIHRoaXMueCs9KHQueC10aGlzLngpKmUsdGhpcy55Kz0odC55LXRoaXMueSkqZSx0aGlzfWxlcnBWZWN0b3JzKHQsZSxuKXtyZXR1cm4gdGhpcy54PXQueCsoZS54LXQueCkqbix0aGlzLnk9dC55KyhlLnktdC55KSpuLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lng9PT10aGlzLngmJnQueT09PXRoaXMueX1mcm9tQXJyYXkodCxlPTApe3JldHVybiB0aGlzLng9dFtlXSx0aGlzLnk9dFtlKzFdLHRoaXN9dG9BcnJheSh0PVtdLGU9MCl7cmV0dXJuIHRbZV09dGhpcy54LHRbZSsxXT10aGlzLnksdH1mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSxuKXtyZXR1cm4gdm9pZCAwIT09biYmY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiBvZmZzZXQgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIC5mcm9tQnVmZmVyQXR0cmlidXRlKCkuIiksdGhpcy54PXQuZ2V0WChlKSx0aGlzLnk9dC5nZXRZKGUpLHRoaXN9cm90YXRlQXJvdW5kKHQsZSl7Y29uc3Qgbj1NYXRoLmNvcyhlKSxpPU1hdGguc2luKGUpLHI9dGhpcy54LXQueCxvPXRoaXMueS10Lnk7cmV0dXJuIHRoaXMueD1yKm4tbyppK3QueCx0aGlzLnk9cippK28qbit0LnksdGhpc31yYW5kb20oKXtyZXR1cm4gdGhpcy54PU1hdGgucmFuZG9tKCksdGhpcy55PU1hdGgucmFuZG9tKCksdGhpc319QzV0LnByb3RvdHlwZS5pc1ZlY3RvcjI9ITA7Y2xhc3MgQTV0e2NvbnN0cnVjdG9yKCl7dGhpcy5lbGVtZW50cz1bMSwwLDAsMCwxLDAsMCwwLDFdLGFyZ3VtZW50cy5sZW5ndGg+MCYmY29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4MzogdGhlIGNvbnN0cnVjdG9yIG5vIGxvbmdlciByZWFkcyBhcmd1bWVudHMuIHVzZSAuc2V0KCkgaW5zdGVhZC4iKX1zZXQodCxlLG4saSxyLG8sYSxzLGwpe2NvbnN0IGM9dGhpcy5lbGVtZW50cztyZXR1cm4gY1swXT10LGNbMV09aSxjWzJdPWEsY1szXT1lLGNbNF09cixjWzVdPXMsY1s2XT1uLGNbN109byxjWzhdPWwsdGhpc31pZGVudGl0eSgpe3JldHVybiB0aGlzLnNldCgxLDAsMCwwLDEsMCwwLDAsMSksdGhpc31jb3B5KHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50cyxuPXQuZWxlbWVudHM7cmV0dXJuIGVbMF09blswXSxlWzFdPW5bMV0sZVsyXT1uWzJdLGVbM109blszXSxlWzRdPW5bNF0sZVs1XT1uWzVdLGVbNl09bls2XSxlWzddPW5bN10sZVs4XT1uWzhdLHRoaXN9ZXh0cmFjdEJhc2lzKHQsZSxuKXtyZXR1cm4gdC5zZXRGcm9tTWF0cml4M0NvbHVtbih0aGlzLDApLGUuc2V0RnJvbU1hdHJpeDNDb2x1bW4odGhpcywxKSxuLnNldEZyb21NYXRyaXgzQ29sdW1uKHRoaXMsMiksdGhpc31zZXRGcm9tTWF0cml4NCh0KXtjb25zdCBlPXQuZWxlbWVudHM7cmV0dXJuIHRoaXMuc2V0KGVbMF0sZVs0XSxlWzhdLGVbMV0sZVs1XSxlWzldLGVbMl0sZVs2XSxlWzEwXSksdGhpc31tdWx0aXBseSh0KXtyZXR1cm4gdGhpcy5tdWx0aXBseU1hdHJpY2VzKHRoaXMsdCl9cHJlbXVsdGlwbHkodCl7cmV0dXJuIHRoaXMubXVsdGlwbHlNYXRyaWNlcyh0LHRoaXMpfW11bHRpcGx5TWF0cmljZXModCxlKXtjb25zdCBuPXQuZWxlbWVudHMsaT1lLmVsZW1lbnRzLHI9dGhpcy5lbGVtZW50cyxvPW5bMF0sYT1uWzNdLHM9bls2XSxsPW5bMV0sYz1uWzRdLHU9bls3XSxoPW5bMl0sZD1uWzVdLHA9bls4XSxmPWlbMF0sbT1pWzNdLGc9aVs2XSxfPWlbMV0seT1pWzRdLHY9aVs3XSxiPWlbMl0seD1pWzVdLHc9aVs4XTtyZXR1cm4gclswXT1vKmYrYSpfK3MqYixyWzNdPW8qbSthKnkrcyp4LHJbNl09bypnK2EqditzKncsclsxXT1sKmYrYypfK3UqYixyWzRdPWwqbStjKnkrdSp4LHJbN109bCpnK2Mqdit1KncsclsyXT1oKmYrZCpfK3AqYixyWzVdPWgqbStkKnkrcCp4LHJbOF09aCpnK2QqditwKncsdGhpc31tdWx0aXBseVNjYWxhcih0KXtjb25zdCBlPXRoaXMuZWxlbWVudHM7cmV0dXJuIGVbMF0qPXQsZVszXSo9dCxlWzZdKj10LGVbMV0qPXQsZVs0XSo9dCxlWzddKj10LGVbMl0qPXQsZVs1XSo9dCxlWzhdKj10LHRoaXN9ZGV0ZXJtaW5hbnQoKXtjb25zdCB0PXRoaXMuZWxlbWVudHMsZT10WzBdLG49dFsxXSxpPXRbMl0scj10WzNdLG89dFs0XSxhPXRbNV0scz10WzZdLGw9dFs3XSxjPXRbOF07cmV0dXJuIGUqbypjLWUqYSpsLW4qcipjK24qYSpzK2kqcipsLWkqbypzfWludmVydCgpe2NvbnN0IHQ9dGhpcy5lbGVtZW50cyxlPXRbMF0sbj10WzFdLGk9dFsyXSxyPXRbM10sbz10WzRdLGE9dFs1XSxzPXRbNl0sbD10WzddLGM9dFs4XSx1PWMqby1hKmwsaD1hKnMtYypyLGQ9bCpyLW8qcyxwPWUqdStuKmgraSpkO2lmKDA9PT1wKXJldHVybiB0aGlzLnNldCgwLDAsMCwwLDAsMCwwLDAsMCk7Y29uc3QgZj0xL3A7cmV0dXJuIHRbMF09dSpmLHRbMV09KGkqbC1jKm4pKmYsdFsyXT0oYSpuLWkqbykqZix0WzNdPWgqZix0WzRdPShjKmUtaSpzKSpmLHRbNV09KGkqci1hKmUpKmYsdFs2XT1kKmYsdFs3XT0obipzLWwqZSkqZix0WzhdPShvKmUtbipyKSpmLHRoaXN9dHJhbnNwb3NlKCl7bGV0IHQ7Y29uc3QgZT10aGlzLmVsZW1lbnRzO3JldHVybiB0PWVbMV0sZVsxXT1lWzNdLGVbM109dCx0PWVbMl0sZVsyXT1lWzZdLGVbNl09dCx0PWVbNV0sZVs1XT1lWzddLGVbN109dCx0aGlzfWdldE5vcm1hbE1hdHJpeCh0KXtyZXR1cm4gdGhpcy5zZXRGcm9tTWF0cml4NCh0KS5pbnZlcnQoKS50cmFuc3Bvc2UoKX10cmFuc3Bvc2VJbnRvQXJyYXkodCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzO3JldHVybiB0WzBdPWVbMF0sdFsxXT1lWzNdLHRbMl09ZVs2XSx0WzNdPWVbMV0sdFs0XT1lWzRdLHRbNV09ZVs3XSx0WzZdPWVbMl0sdFs3XT1lWzVdLHRbOF09ZVs4XSx0aGlzfXNldFV2VHJhbnNmb3JtKHQsZSxuLGkscixvLGEpe2NvbnN0IHM9TWF0aC5jb3MociksbD1NYXRoLnNpbihyKTtyZXR1cm4gdGhpcy5zZXQobipzLG4qbCwtbioocypvK2wqYSkrbyt0LC1pKmwsaSpzLC1pKigtbCpvK3MqYSkrYStlLDAsMCwxKSx0aGlzfXNjYWxlKHQsZSl7Y29uc3Qgbj10aGlzLmVsZW1lbnRzO3JldHVybiBuWzBdKj10LG5bM10qPXQsbls2XSo9dCxuWzFdKj1lLG5bNF0qPWUsbls3XSo9ZSx0aGlzfXJvdGF0ZSh0KXtjb25zdCBlPU1hdGguY29zKHQpLG49TWF0aC5zaW4odCksaT10aGlzLmVsZW1lbnRzLHI9aVswXSxvPWlbM10sYT1pWzZdLHM9aVsxXSxsPWlbNF0sYz1pWzddO3JldHVybiBpWzBdPWUqcituKnMsaVszXT1lKm8rbipsLGlbNl09ZSphK24qYyxpWzFdPS1uKnIrZSpzLGlbNF09LW4qbytlKmwsaVs3XT0tbiphK2UqYyx0aGlzfXRyYW5zbGF0ZSh0LGUpe2NvbnN0IG49dGhpcy5lbGVtZW50cztyZXR1cm4gblswXSs9dCpuWzJdLG5bM10rPXQqbls1XSxuWzZdKz10Km5bOF0sblsxXSs9ZSpuWzJdLG5bNF0rPWUqbls1XSxuWzddKz1lKm5bOF0sdGhpc31lcXVhbHModCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC5lbGVtZW50cztmb3IobGV0IHQ9MDt0PDk7dCsrKWlmKGVbdF0hPT1uW3RdKXJldHVybiExO3JldHVybiEwfWZyb21BcnJheSh0LGU9MCl7Zm9yKGxldCBuPTA7bjw5O24rKyl0aGlzLmVsZW1lbnRzW25dPXRbbitlXTtyZXR1cm4gdGhpc310b0FycmF5KHQ9W10sZT0wKXtjb25zdCBuPXRoaXMuZWxlbWVudHM7cmV0dXJuIHRbZV09blswXSx0W2UrMV09blsxXSx0W2UrMl09blsyXSx0W2UrM109blszXSx0W2UrNF09bls0XSx0W2UrNV09bls1XSx0W2UrNl09bls2XSx0W2UrN109bls3XSx0W2UrOF09bls4XSx0fWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5mcm9tQXJyYXkodGhpcy5lbGVtZW50cyl9fWxldCBrNXQ7QTV0LnByb3RvdHlwZS5pc01hdHJpeDM9ITA7Y2xhc3MgTDV0e3N0YXRpYyBnZXREYXRhVVJMKHQpe2lmKC9eZGF0YTovaS50ZXN0KHQuc3JjKSlyZXR1cm4gdC5zcmM7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBIVE1MQ2FudmFzRWxlbWVudClyZXR1cm4gdC5zcmM7bGV0IGU7aWYodCBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50KWU9dDtlbHNle3ZvaWQgMD09PWs1dCYmKGs1dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKSksazV0LndpZHRoPXQud2lkdGgsazV0LmhlaWdodD10LmhlaWdodDtjb25zdCBuPWs1dC5nZXRDb250ZXh0KCIyZCIpO3QgaW5zdGFuY2VvZiBJbWFnZURhdGE/bi5wdXRJbWFnZURhdGEodCwwLDApOm4uZHJhd0ltYWdlKHQsMCwwLHQud2lkdGgsdC5oZWlnaHQpLGU9azV0fXJldHVybiBlLndpZHRoPjIwNDh8fGUuaGVpZ2h0PjIwNDg/KGNvbnNvbGUud2FybigiVEhSRUUuSW1hZ2VVdGlscy5nZXREYXRhVVJMOiBJbWFnZSBjb252ZXJ0ZWQgdG8ganBnIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIix0KSxlLnRvRGF0YVVSTCgiaW1hZ2UvanBlZyIsLjYpKTplLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIil9fWxldCBQNXQ9MDtjbGFzcyBONXQgZXh0ZW5kcyBlNXR7Y29uc3RydWN0b3IodD1ONXQuREVGQVVMVF9JTUFHRSxlPU41dC5ERUZBVUxUX01BUFBJTkcsbj0xMDAxLGk9MTAwMSxyPTEwMDYsbz0xMDA4LGE9MTAyMyxzPTEwMDksbD0xLGM9M2UzKXtzdXBlcigpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOlA1dCsrfSksdGhpcy51dWlkPWE1dCgpLHRoaXMubmFtZT0iIix0aGlzLmltYWdlPXQsdGhpcy5taXBtYXBzPVtdLHRoaXMubWFwcGluZz1lLHRoaXMud3JhcFM9bix0aGlzLndyYXBUPWksdGhpcy5tYWdGaWx0ZXI9cix0aGlzLm1pbkZpbHRlcj1vLHRoaXMuYW5pc290cm9weT1sLHRoaXMuZm9ybWF0PWEsdGhpcy5pbnRlcm5hbEZvcm1hdD1udWxsLHRoaXMudHlwZT1zLHRoaXMub2Zmc2V0PW5ldyBDNXQoMCwwKSx0aGlzLnJlcGVhdD1uZXcgQzV0KDEsMSksdGhpcy5jZW50ZXI9bmV3IEM1dCgwLDApLHRoaXMucm90YXRpb249MCx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITAsdGhpcy5tYXRyaXg9bmV3IEE1dCx0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMCx0aGlzLnByZW11bHRpcGx5QWxwaGE9ITEsdGhpcy5mbGlwWT0hMCx0aGlzLnVucGFja0FsaWdubWVudD00LHRoaXMuZW5jb2Rpbmc9Yyx0aGlzLnZlcnNpb249MCx0aGlzLm9uVXBkYXRlPW51bGwsdGhpcy5pc1JlbmRlclRhcmdldFRleHR1cmU9ITF9dXBkYXRlTWF0cml4KCl7dGhpcy5tYXRyaXguc2V0VXZUcmFuc2Zvcm0odGhpcy5vZmZzZXQueCx0aGlzLm9mZnNldC55LHRoaXMucmVwZWF0LngsdGhpcy5yZXBlYXQueSx0aGlzLnJvdGF0aW9uLHRoaXMuY2VudGVyLngsdGhpcy5jZW50ZXIueSl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXtyZXR1cm4gdGhpcy5uYW1lPXQubmFtZSx0aGlzLmltYWdlPXQuaW1hZ2UsdGhpcy5taXBtYXBzPXQubWlwbWFwcy5zbGljZSgwKSx0aGlzLm1hcHBpbmc9dC5tYXBwaW5nLHRoaXMud3JhcFM9dC53cmFwUyx0aGlzLndyYXBUPXQud3JhcFQsdGhpcy5tYWdGaWx0ZXI9dC5tYWdGaWx0ZXIsdGhpcy5taW5GaWx0ZXI9dC5taW5GaWx0ZXIsdGhpcy5hbmlzb3Ryb3B5PXQuYW5pc290cm9weSx0aGlzLmZvcm1hdD10LmZvcm1hdCx0aGlzLmludGVybmFsRm9ybWF0PXQuaW50ZXJuYWxGb3JtYXQsdGhpcy50eXBlPXQudHlwZSx0aGlzLm9mZnNldC5jb3B5KHQub2Zmc2V0KSx0aGlzLnJlcGVhdC5jb3B5KHQucmVwZWF0KSx0aGlzLmNlbnRlci5jb3B5KHQuY2VudGVyKSx0aGlzLnJvdGF0aW9uPXQucm90YXRpb24sdGhpcy5tYXRyaXhBdXRvVXBkYXRlPXQubWF0cml4QXV0b1VwZGF0ZSx0aGlzLm1hdHJpeC5jb3B5KHQubWF0cml4KSx0aGlzLmdlbmVyYXRlTWlwbWFwcz10LmdlbmVyYXRlTWlwbWFwcyx0aGlzLnByZW11bHRpcGx5QWxwaGE9dC5wcmVtdWx0aXBseUFscGhhLHRoaXMuZmxpcFk9dC5mbGlwWSx0aGlzLnVucGFja0FsaWdubWVudD10LnVucGFja0FsaWdubWVudCx0aGlzLmVuY29kaW5nPXQuZW5jb2RpbmcsdGhpc310b0pTT04odCl7Y29uc3QgZT12b2lkIDA9PT10fHwic3RyaW5nIj09dHlwZW9mIHQ7aWYoIWUmJnZvaWQgMCE9PXQudGV4dHVyZXNbdGhpcy51dWlkXSlyZXR1cm4gdC50ZXh0dXJlc1t0aGlzLnV1aWRdO2NvbnN0IG49e21ldGFkYXRhOnt2ZXJzaW9uOjQuNSx0eXBlOiJUZXh0dXJlIixnZW5lcmF0b3I6IlRleHR1cmUudG9KU09OIn0sdXVpZDp0aGlzLnV1aWQsbmFtZTp0aGlzLm5hbWUsbWFwcGluZzp0aGlzLm1hcHBpbmcscmVwZWF0Olt0aGlzLnJlcGVhdC54LHRoaXMucmVwZWF0LnldLG9mZnNldDpbdGhpcy5vZmZzZXQueCx0aGlzLm9mZnNldC55XSxjZW50ZXI6W3RoaXMuY2VudGVyLngsdGhpcy5jZW50ZXIueV0scm90YXRpb246dGhpcy5yb3RhdGlvbix3cmFwOlt0aGlzLndyYXBTLHRoaXMud3JhcFRdLGZvcm1hdDp0aGlzLmZvcm1hdCx0eXBlOnRoaXMudHlwZSxlbmNvZGluZzp0aGlzLmVuY29kaW5nLG1pbkZpbHRlcjp0aGlzLm1pbkZpbHRlcixtYWdGaWx0ZXI6dGhpcy5tYWdGaWx0ZXIsYW5pc290cm9weTp0aGlzLmFuaXNvdHJvcHksZmxpcFk6dGhpcy5mbGlwWSxwcmVtdWx0aXBseUFscGhhOnRoaXMucHJlbXVsdGlwbHlBbHBoYSx1bnBhY2tBbGlnbm1lbnQ6dGhpcy51bnBhY2tBbGlnbm1lbnR9O2lmKHZvaWQgMCE9PXRoaXMuaW1hZ2Upe2NvbnN0IGk9dGhpcy5pbWFnZTtpZih2b2lkIDA9PT1pLnV1aWQmJihpLnV1aWQ9YTV0KCkpLCFlJiZ2b2lkIDA9PT10LmltYWdlc1tpLnV1aWRdKXtsZXQgZTtpZihBcnJheS5pc0FycmF5KGkpKXtlPVtdO2ZvcihsZXQgdD0wLG49aS5sZW5ndGg7dDxuO3QrKyllLnB1c2goSTV0KGlbdF0uaXNEYXRhVGV4dHVyZT9pW3RdLmltYWdlOmlbdF0pKX1lbHNlIGU9STV0KGkpO3QuaW1hZ2VzW2kudXVpZF09e3V1aWQ6aS51dWlkLHVybDplfX1uLmltYWdlPWkudXVpZH1yZXR1cm4gZXx8KHQudGV4dHVyZXNbdGhpcy51dWlkXT1uKSxufWRpc3Bvc2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9dHJhbnNmb3JtVXYodCl7aWYodGhpcy5tYXBwaW5nIT09dDJ0KXJldHVybiB0O2lmKHQuYXBwbHlNYXRyaXgzKHRoaXMubWF0cml4KSx0Lng8MHx8dC54PjEpc3dpdGNoKHRoaXMud3JhcFMpe2Nhc2UgczJ0OnQueD10LngtTWF0aC5mbG9vcih0LngpO2JyZWFrO2Nhc2UgbDJ0OnQueD10Lng8MD8wOjE7YnJlYWs7Y2FzZSBjMnQ6dC54PTE9PT1NYXRoLmFicyhNYXRoLmZsb29yKHQueCklMik/TWF0aC5jZWlsKHQueCktdC54OnQueC1NYXRoLmZsb29yKHQueCl9aWYodC55PDB8fHQueT4xKXN3aXRjaCh0aGlzLndyYXBUKXtjYXNlIHMydDp0Lnk9dC55LU1hdGguZmxvb3IodC55KTticmVhaztjYXNlIGwydDp0Lnk9dC55PDA/MDoxO2JyZWFrO2Nhc2UgYzJ0OnQueT0xPT09TWF0aC5hYnMoTWF0aC5mbG9vcih0LnkpJTIpP01hdGguY2VpbCh0LnkpLXQueTp0LnktTWF0aC5mbG9vcih0LnkpfXJldHVybiB0aGlzLmZsaXBZJiYodC55PTEtdC55KSx0fXNldCBuZWVkc1VwZGF0ZSh0KXshMD09PXQmJnRoaXMudmVyc2lvbisrfX1mdW5jdGlvbiBJNXQodCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MSW1hZ2VFbGVtZW50JiZ0IGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MQ2FudmFzRWxlbWVudCYmdCBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50fHwidW5kZWZpbmVkIiE9dHlwZW9mIEltYWdlQml0bWFwJiZ0IGluc3RhbmNlb2YgSW1hZ2VCaXRtYXA/TDV0LmdldERhdGFVUkwodCk6dC5kYXRhP3tkYXRhOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQuZGF0YSksd2lkdGg6dC53aWR0aCxoZWlnaHQ6dC5oZWlnaHQsdHlwZTp0LmRhdGEuY29uc3RydWN0b3IubmFtZX06KGNvbnNvbGUud2FybigiVEhSRUUuVGV4dHVyZTogVW5hYmxlIHRvIHNlcmlhbGl6ZSBUZXh0dXJlLiIpLHt9KX1ONXQuREVGQVVMVF9JTUFHRT12b2lkIDAsTjV0LkRFRkFVTFRfTUFQUElORz10MnQsTjV0LnByb3RvdHlwZS5pc1RleHR1cmU9ITA7Y2xhc3MgUjV0e2NvbnN0cnVjdG9yKHQ9MCxlPTAsbj0wLGk9MSl7dGhpcy54PXQsdGhpcy55PWUsdGhpcy56PW4sdGhpcy53PWl9Z2V0IHdpZHRoKCl7cmV0dXJuIHRoaXMuen1zZXQgd2lkdGgodCl7dGhpcy56PXR9Z2V0IGhlaWdodCgpe3JldHVybiB0aGlzLnd9c2V0IGhlaWdodCh0KXt0aGlzLnc9dH1zZXQodCxlLG4saSl7cmV0dXJuIHRoaXMueD10LHRoaXMueT1lLHRoaXMuej1uLHRoaXMudz1pLHRoaXN9c2V0U2NhbGFyKHQpe3JldHVybiB0aGlzLng9dCx0aGlzLnk9dCx0aGlzLno9dCx0aGlzLnc9dCx0aGlzfXNldFgodCl7cmV0dXJuIHRoaXMueD10LHRoaXN9c2V0WSh0KXtyZXR1cm4gdGhpcy55PXQsdGhpc31zZXRaKHQpe3JldHVybiB0aGlzLno9dCx0aGlzfXNldFcodCl7cmV0dXJuIHRoaXMudz10LHRoaXN9c2V0Q29tcG9uZW50KHQsZSl7c3dpdGNoKHQpe2Nhc2UgMDp0aGlzLng9ZTticmVhaztjYXNlIDE6dGhpcy55PWU7YnJlYWs7Y2FzZSAyOnRoaXMuej1lO2JyZWFrO2Nhc2UgMzp0aGlzLnc9ZTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW5kZXggaXMgb3V0IG9mIHJhbmdlOiAiK3QpfXJldHVybiB0aGlzfWdldENvbXBvbmVudCh0KXtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB0aGlzLng7Y2FzZSAxOnJldHVybiB0aGlzLnk7Y2FzZSAyOnJldHVybiB0aGlzLno7Y2FzZSAzOnJldHVybiB0aGlzLnc7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIit0KX19Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy54LHRoaXMueSx0aGlzLnosdGhpcy53KX1jb3B5KHQpe3JldHVybiB0aGlzLng9dC54LHRoaXMueT10LnksdGhpcy56PXQueix0aGlzLnc9dm9pZCAwIT09dC53P3QudzoxLHRoaXN9YWRkKHQsZSl7cmV0dXJuIHZvaWQgMCE9PWU/KGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yNDogLmFkZCgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLmFkZFZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuYWRkVmVjdG9ycyh0LGUpKToodGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcy56Kz10LnosdGhpcy53Kz10LncsdGhpcyl9YWRkU2NhbGFyKHQpe3JldHVybiB0aGlzLngrPXQsdGhpcy55Kz10LHRoaXMueis9dCx0aGlzLncrPXQsdGhpc31hZGRWZWN0b3JzKHQsZSl7cmV0dXJuIHRoaXMueD10LngrZS54LHRoaXMueT10LnkrZS55LHRoaXMuej10LnorZS56LHRoaXMudz10LncrZS53LHRoaXN9YWRkU2NhbGVkVmVjdG9yKHQsZSl7cmV0dXJuIHRoaXMueCs9dC54KmUsdGhpcy55Kz10LnkqZSx0aGlzLnorPXQueiplLHRoaXMudys9dC53KmUsdGhpc31zdWIodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3I0OiAuc3ViKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuc3ViVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5zdWJWZWN0b3JzKHQsZSkpOih0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzLnotPXQueix0aGlzLnctPXQudyx0aGlzKX1zdWJTY2FsYXIodCl7cmV0dXJuIHRoaXMueC09dCx0aGlzLnktPXQsdGhpcy56LT10LHRoaXMudy09dCx0aGlzfXN1YlZlY3RvcnModCxlKXtyZXR1cm4gdGhpcy54PXQueC1lLngsdGhpcy55PXQueS1lLnksdGhpcy56PXQuei1lLnosdGhpcy53PXQudy1lLncsdGhpc31tdWx0aXBseSh0KXtyZXR1cm4gdGhpcy54Kj10LngsdGhpcy55Kj10LnksdGhpcy56Kj10LnosdGhpcy53Kj10LncsdGhpc31tdWx0aXBseVNjYWxhcih0KXtyZXR1cm4gdGhpcy54Kj10LHRoaXMueSo9dCx0aGlzLnoqPXQsdGhpcy53Kj10LHRoaXN9YXBwbHlNYXRyaXg0KHQpe2NvbnN0IGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56LHI9dGhpcy53LG89dC5lbGVtZW50cztyZXR1cm4gdGhpcy54PW9bMF0qZStvWzRdKm4rb1s4XSppK29bMTJdKnIsdGhpcy55PW9bMV0qZStvWzVdKm4rb1s5XSppK29bMTNdKnIsdGhpcy56PW9bMl0qZStvWzZdKm4rb1sxMF0qaStvWzE0XSpyLHRoaXMudz1vWzNdKmUrb1s3XSpuK29bMTFdKmkrb1sxNV0qcix0aGlzfWRpdmlkZVNjYWxhcih0KXtyZXR1cm4gdGhpcy5tdWx0aXBseVNjYWxhcigxL3QpfXNldEF4aXNBbmdsZUZyb21RdWF0ZXJuaW9uKHQpe3RoaXMudz0yKk1hdGguYWNvcyh0LncpO2NvbnN0IGU9TWF0aC5zcXJ0KDEtdC53KnQudyk7cmV0dXJuIGU8MWUtND8odGhpcy54PTEsdGhpcy55PTAsdGhpcy56PTApOih0aGlzLng9dC54L2UsdGhpcy55PXQueS9lLHRoaXMuej10LnovZSksdGhpc31zZXRBeGlzQW5nbGVGcm9tUm90YXRpb25NYXRyaXgodCl7bGV0IGUsbixpLHI7Y29uc3Qgbz0uMDEsYT0uMSxzPXQuZWxlbWVudHMsbD1zWzBdLGM9c1s0XSx1PXNbOF0saD1zWzFdLGQ9c1s1XSxwPXNbOV0sZj1zWzJdLG09c1s2XSxnPXNbMTBdO2lmKE1hdGguYWJzKGMtaCk8byYmTWF0aC5hYnModS1mKTxvJiZNYXRoLmFicyhwLW0pPG8pe2lmKE1hdGguYWJzKGMraCk8YSYmTWF0aC5hYnModStmKTxhJiZNYXRoLmFicyhwK20pPGEmJk1hdGguYWJzKGwrZCtnLTMpPGEpcmV0dXJuIHRoaXMuc2V0KDEsMCwwLDApLHRoaXM7ZT1NYXRoLlBJO2NvbnN0IHQ9KGwrMSkvMixzPShkKzEpLzIsXz0oZysxKS8yLHk9KGMraCkvNCx2PSh1K2YpLzQsYj0ocCttKS80O3JldHVybiB0PnMmJnQ+Xz90PG8/KG49MCxpPS43MDcxMDY3ODEscj0uNzA3MTA2NzgxKToobj1NYXRoLnNxcnQodCksaT15L24scj12L24pOnM+Xz9zPG8/KG49LjcwNzEwNjc4MSxpPTAscj0uNzA3MTA2NzgxKTooaT1NYXRoLnNxcnQocyksbj15L2kscj1iL2kpOl88bz8obj0uNzA3MTA2NzgxLGk9LjcwNzEwNjc4MSxyPTApOihyPU1hdGguc3FydChfKSxuPXYvcixpPWIvciksdGhpcy5zZXQobixpLHIsZSksdGhpc31sZXQgXz1NYXRoLnNxcnQoKG0tcCkqKG0tcCkrKHUtZikqKHUtZikrKGgtYykqKGgtYykpO3JldHVybiBNYXRoLmFicyhfKTwuMDAxJiYoXz0xKSx0aGlzLng9KG0tcCkvXyx0aGlzLnk9KHUtZikvXyx0aGlzLno9KGgtYykvXyx0aGlzLnc9TWF0aC5hY29zKChsK2QrZy0xKS8yKSx0aGlzfW1pbih0KXtyZXR1cm4gdGhpcy54PU1hdGgubWluKHRoaXMueCx0LngpLHRoaXMueT1NYXRoLm1pbih0aGlzLnksdC55KSx0aGlzLno9TWF0aC5taW4odGhpcy56LHQueiksdGhpcy53PU1hdGgubWluKHRoaXMudyx0LncpLHRoaXN9bWF4KHQpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodGhpcy54LHQueCksdGhpcy55PU1hdGgubWF4KHRoaXMueSx0LnkpLHRoaXMuej1NYXRoLm1heCh0aGlzLnosdC56KSx0aGlzLnc9TWF0aC5tYXgodGhpcy53LHQudyksdGhpc31jbGFtcCh0LGUpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodC54LE1hdGgubWluKGUueCx0aGlzLngpKSx0aGlzLnk9TWF0aC5tYXgodC55LE1hdGgubWluKGUueSx0aGlzLnkpKSx0aGlzLno9TWF0aC5tYXgodC56LE1hdGgubWluKGUueix0aGlzLnopKSx0aGlzLnc9TWF0aC5tYXgodC53LE1hdGgubWluKGUudyx0aGlzLncpKSx0aGlzfWNsYW1wU2NhbGFyKHQsZSl7cmV0dXJuIHRoaXMueD1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy54KSksdGhpcy55PU1hdGgubWF4KHQsTWF0aC5taW4oZSx0aGlzLnkpKSx0aGlzLno9TWF0aC5tYXgodCxNYXRoLm1pbihlLHRoaXMueikpLHRoaXMudz1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy53KSksdGhpc31jbGFtcExlbmd0aCh0LGUpe2NvbnN0IG49dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIobnx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgodCxNYXRoLm1pbihlLG4pKSl9Zmxvb3IoKXtyZXR1cm4gdGhpcy54PU1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpLHRoaXMuej1NYXRoLmZsb29yKHRoaXMueiksdGhpcy53PU1hdGguZmxvb3IodGhpcy53KSx0aGlzfWNlaWwoKXtyZXR1cm4gdGhpcy54PU1hdGguY2VpbCh0aGlzLngpLHRoaXMueT1NYXRoLmNlaWwodGhpcy55KSx0aGlzLno9TWF0aC5jZWlsKHRoaXMueiksdGhpcy53PU1hdGguY2VpbCh0aGlzLncpLHRoaXN9cm91bmQoKXtyZXR1cm4gdGhpcy54PU1hdGgucm91bmQodGhpcy54KSx0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpLHRoaXMuej1NYXRoLnJvdW5kKHRoaXMueiksdGhpcy53PU1hdGgucm91bmQodGhpcy53KSx0aGlzfXJvdW5kVG9aZXJvKCl7cmV0dXJuIHRoaXMueD10aGlzLng8MD9NYXRoLmNlaWwodGhpcy54KTpNYXRoLmZsb29yKHRoaXMueCksdGhpcy55PXRoaXMueTwwP01hdGguY2VpbCh0aGlzLnkpOk1hdGguZmxvb3IodGhpcy55KSx0aGlzLno9dGhpcy56PDA/TWF0aC5jZWlsKHRoaXMueik6TWF0aC5mbG9vcih0aGlzLnopLHRoaXMudz10aGlzLnc8MD9NYXRoLmNlaWwodGhpcy53KTpNYXRoLmZsb29yKHRoaXMudyksdGhpc31uZWdhdGUoKXtyZXR1cm4gdGhpcy54PS10aGlzLngsdGhpcy55PS10aGlzLnksdGhpcy56PS10aGlzLnosdGhpcy53PS10aGlzLncsdGhpc31kb3QodCl7cmV0dXJuIHRoaXMueCp0LngrdGhpcy55KnQueSt0aGlzLnoqdC56K3RoaXMudyp0Lnd9bGVuZ3RoU3EoKXtyZXR1cm4gdGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55K3RoaXMueip0aGlzLnordGhpcy53KnRoaXMud31sZW5ndGgoKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSt0aGlzLnoqdGhpcy56K3RoaXMudyp0aGlzLncpfW1hbmhhdHRhbkxlbmd0aCgpe3JldHVybiBNYXRoLmFicyh0aGlzLngpK01hdGguYWJzKHRoaXMueSkrTWF0aC5hYnModGhpcy56KStNYXRoLmFicyh0aGlzLncpfW5vcm1hbGl6ZSgpe3JldHVybiB0aGlzLmRpdmlkZVNjYWxhcih0aGlzLmxlbmd0aCgpfHwxKX1zZXRMZW5ndGgodCl7cmV0dXJuIHRoaXMubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIodCl9bGVycCh0LGUpe3JldHVybiB0aGlzLngrPSh0LngtdGhpcy54KSplLHRoaXMueSs9KHQueS10aGlzLnkpKmUsdGhpcy56Kz0odC56LXRoaXMueikqZSx0aGlzLncrPSh0LnctdGhpcy53KSplLHRoaXN9bGVycFZlY3RvcnModCxlLG4pe3JldHVybiB0aGlzLng9dC54KyhlLngtdC54KSpuLHRoaXMueT10LnkrKGUueS10LnkpKm4sdGhpcy56PXQueisoZS56LXQueikqbix0aGlzLnc9dC53KyhlLnctdC53KSpuLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lng9PT10aGlzLngmJnQueT09PXRoaXMueSYmdC56PT09dGhpcy56JiZ0Lnc9PT10aGlzLnd9ZnJvbUFycmF5KHQsZT0wKXtyZXR1cm4gdGhpcy54PXRbZV0sdGhpcy55PXRbZSsxXSx0aGlzLno9dFtlKzJdLHRoaXMudz10W2UrM10sdGhpc310b0FycmF5KHQ9W10sZT0wKXtyZXR1cm4gdFtlXT10aGlzLngsdFtlKzFdPXRoaXMueSx0W2UrMl09dGhpcy56LHRbZSszXT10aGlzLncsdH1mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSxuKXtyZXR1cm4gdm9pZCAwIT09biYmY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3I0OiBvZmZzZXQgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIC5mcm9tQnVmZmVyQXR0cmlidXRlKCkuIiksdGhpcy54PXQuZ2V0WChlKSx0aGlzLnk9dC5nZXRZKGUpLHRoaXMuej10LmdldFooZSksdGhpcy53PXQuZ2V0VyhlKSx0aGlzfXJhbmRvbSgpe3JldHVybiB0aGlzLng9TWF0aC5yYW5kb20oKSx0aGlzLnk9TWF0aC5yYW5kb20oKSx0aGlzLno9TWF0aC5yYW5kb20oKSx0aGlzLnc9TWF0aC5yYW5kb20oKSx0aGlzfX1SNXQucHJvdG90eXBlLmlzVmVjdG9yND0hMDtjbGFzcyBPNXQgZXh0ZW5kcyBlNXR7Y29uc3RydWN0b3IodCxlLG49e30pe3N1cGVyKCksdGhpcy53aWR0aD10LHRoaXMuaGVpZ2h0PWUsdGhpcy5kZXB0aD0xLHRoaXMuc2Npc3Nvcj1uZXcgUjV0KDAsMCx0LGUpLHRoaXMuc2Npc3NvclRlc3Q9ITEsdGhpcy52aWV3cG9ydD1uZXcgUjV0KDAsMCx0LGUpLHRoaXMudGV4dHVyZT1uZXcgTjV0KHZvaWQgMCxuLm1hcHBpbmcsbi53cmFwUyxuLndyYXBULG4ubWFnRmlsdGVyLG4ubWluRmlsdGVyLG4uZm9ybWF0LG4udHlwZSxuLmFuaXNvdHJvcHksbi5lbmNvZGluZyksdGhpcy50ZXh0dXJlLmlzUmVuZGVyVGFyZ2V0VGV4dHVyZT0hMCx0aGlzLnRleHR1cmUuaW1hZ2U9e3dpZHRoOnQsaGVpZ2h0OmUsZGVwdGg6MX0sdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz12b2lkIDAhPT1uLmdlbmVyYXRlTWlwbWFwcyYmbi5nZW5lcmF0ZU1pcG1hcHMsdGhpcy50ZXh0dXJlLm1pbkZpbHRlcj12b2lkIDAhPT1uLm1pbkZpbHRlcj9uLm1pbkZpbHRlcjpwMnQsdGhpcy5kZXB0aEJ1ZmZlcj12b2lkIDA9PT1uLmRlcHRoQnVmZmVyfHxuLmRlcHRoQnVmZmVyLHRoaXMuc3RlbmNpbEJ1ZmZlcj12b2lkIDAhPT1uLnN0ZW5jaWxCdWZmZXImJm4uc3RlbmNpbEJ1ZmZlcix0aGlzLmRlcHRoVGV4dHVyZT12b2lkIDAhPT1uLmRlcHRoVGV4dHVyZT9uLmRlcHRoVGV4dHVyZTpudWxsfXNldFRleHR1cmUodCl7dC5pbWFnZT17d2lkdGg6dGhpcy53aWR0aCxoZWlnaHQ6dGhpcy5oZWlnaHQsZGVwdGg6dGhpcy5kZXB0aH0sdGhpcy50ZXh0dXJlPXR9c2V0U2l6ZSh0LGUsbj0xKXt0aGlzLndpZHRoPT09dCYmdGhpcy5oZWlnaHQ9PT1lJiZ0aGlzLmRlcHRoPT09bnx8KHRoaXMud2lkdGg9dCx0aGlzLmhlaWdodD1lLHRoaXMuZGVwdGg9bix0aGlzLnRleHR1cmUuaW1hZ2Uud2lkdGg9dCx0aGlzLnRleHR1cmUuaW1hZ2UuaGVpZ2h0PWUsdGhpcy50ZXh0dXJlLmltYWdlLmRlcHRoPW4sdGhpcy5kaXNwb3NlKCkpLHRoaXMudmlld3BvcnQuc2V0KDAsMCx0LGUpLHRoaXMuc2Npc3Nvci5zZXQoMCwwLHQsZSl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXtyZXR1cm4gdGhpcy53aWR0aD10LndpZHRoLHRoaXMuaGVpZ2h0PXQuaGVpZ2h0LHRoaXMuZGVwdGg9dC5kZXB0aCx0aGlzLnZpZXdwb3J0LmNvcHkodC52aWV3cG9ydCksdGhpcy50ZXh0dXJlPXQudGV4dHVyZS5jbG9uZSgpLHRoaXMudGV4dHVyZS5pbWFnZT17Li4udGhpcy50ZXh0dXJlLmltYWdlfSx0aGlzLmRlcHRoQnVmZmVyPXQuZGVwdGhCdWZmZXIsdGhpcy5zdGVuY2lsQnVmZmVyPXQuc3RlbmNpbEJ1ZmZlcix0aGlzLmRlcHRoVGV4dHVyZT10LmRlcHRoVGV4dHVyZSx0aGlzfWRpc3Bvc2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9fU81dC5wcm90b3R5cGUuaXNXZWJHTFJlbmRlclRhcmdldD0hMDtjbGFzcyB6NXQgZXh0ZW5kcyBPNXR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSk7Y29uc3QgaT10aGlzLnRleHR1cmU7dGhpcy50ZXh0dXJlPVtdO2ZvcihsZXQgdD0wO3Q8bjt0KyspdGhpcy50ZXh0dXJlW3RdPWkuY2xvbmUoKX1zZXRTaXplKHQsZSxuPTEpe2lmKHRoaXMud2lkdGghPT10fHx0aGlzLmhlaWdodCE9PWV8fHRoaXMuZGVwdGghPT1uKXt0aGlzLndpZHRoPXQsdGhpcy5oZWlnaHQ9ZSx0aGlzLmRlcHRoPW47Zm9yKGxldCBpPTAscj10aGlzLnRleHR1cmUubGVuZ3RoO2k8cjtpKyspdGhpcy50ZXh0dXJlW2ldLmltYWdlLndpZHRoPXQsdGhpcy50ZXh0dXJlW2ldLmltYWdlLmhlaWdodD1lLHRoaXMudGV4dHVyZVtpXS5pbWFnZS5kZXB0aD1uO3RoaXMuZGlzcG9zZSgpfXJldHVybiB0aGlzLnZpZXdwb3J0LnNldCgwLDAsdCxlKSx0aGlzLnNjaXNzb3Iuc2V0KDAsMCx0LGUpLHRoaXN9Y29weSh0KXt0aGlzLmRpc3Bvc2UoKSx0aGlzLndpZHRoPXQud2lkdGgsdGhpcy5oZWlnaHQ9dC5oZWlnaHQsdGhpcy5kZXB0aD10LmRlcHRoLHRoaXMudmlld3BvcnQuc2V0KDAsMCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KSx0aGlzLnNjaXNzb3Iuc2V0KDAsMCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KSx0aGlzLmRlcHRoQnVmZmVyPXQuZGVwdGhCdWZmZXIsdGhpcy5zdGVuY2lsQnVmZmVyPXQuc3RlbmNpbEJ1ZmZlcix0aGlzLmRlcHRoVGV4dHVyZT10LmRlcHRoVGV4dHVyZSx0aGlzLnRleHR1cmUubGVuZ3RoPTA7Zm9yKGxldCBlPTAsbj10LnRleHR1cmUubGVuZ3RoO2U8bjtlKyspdGhpcy50ZXh0dXJlW2VdPXQudGV4dHVyZVtlXS5jbG9uZSgpO3JldHVybiB0aGlzfX16NXQucHJvdG90eXBlLmlzV2ViR0xNdWx0aXBsZVJlbmRlclRhcmdldHM9ITA7Y2xhc3MgRDV0IGV4dGVuZHMgTzV0e2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcih0LGUsbiksdGhpcy5zYW1wbGVzPTR9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weS5jYWxsKHRoaXMsdCksdGhpcy5zYW1wbGVzPXQuc2FtcGxlcyx0aGlzfX1ENXQucHJvdG90eXBlLmlzV2ViR0xNdWx0aXNhbXBsZVJlbmRlclRhcmdldD0hMDtjbGFzcyBCNXR7Y29uc3RydWN0b3IodD0wLGU9MCxuPTAsaT0xKXt0aGlzLl94PXQsdGhpcy5feT1lLHRoaXMuX3o9bix0aGlzLl93PWl9c3RhdGljIHNsZXJwKHQsZSxuLGkpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlF1YXRlcm5pb246IFN0YXRpYyAuc2xlcnAoKSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgcW0uc2xlcnBRdWF0ZXJuaW9ucyggcWEsIHFiLCB0ICkgaW5zdGVhZC4iKSxuLnNsZXJwUXVhdGVybmlvbnModCxlLGkpfXN0YXRpYyBzbGVycEZsYXQodCxlLG4saSxyLG8sYSl7bGV0IHM9bltpKzBdLGw9bltpKzFdLGM9bltpKzJdLHU9bltpKzNdO2NvbnN0IGg9cltvKzBdLGQ9cltvKzFdLHA9cltvKzJdLGY9cltvKzNdO2lmKDA9PT1hKXJldHVybiB0W2UrMF09cyx0W2UrMV09bCx0W2UrMl09Yyx2b2lkKHRbZSszXT11KTtpZigxPT09YSlyZXR1cm4gdFtlKzBdPWgsdFtlKzFdPWQsdFtlKzJdPXAsdm9pZCh0W2UrM109Zik7aWYodSE9PWZ8fHMhPT1ofHxsIT09ZHx8YyE9PXApe2xldCB0PTEtYTtjb25zdCBlPXMqaCtsKmQrYypwK3UqZixuPWU+PTA/MTotMSxpPTEtZSplO2lmKGk+TnVtYmVyLkVQU0lMT04pe2NvbnN0IHI9TWF0aC5zcXJ0KGkpLG89TWF0aC5hdGFuMihyLGUqbik7dD1NYXRoLnNpbih0Km8pL3IsYT1NYXRoLnNpbihhKm8pL3J9Y29uc3Qgcj1hKm47aWYocz1zKnQraCpyLGw9bCp0K2QqcixjPWMqdCtwKnIsdT11KnQrZipyLHQ9PT0xLWEpe2NvbnN0IHQ9MS9NYXRoLnNxcnQocypzK2wqbCtjKmMrdSp1KTtzKj10LGwqPXQsYyo9dCx1Kj10fX10W2VdPXMsdFtlKzFdPWwsdFtlKzJdPWMsdFtlKzNdPXV9c3RhdGljIG11bHRpcGx5UXVhdGVybmlvbnNGbGF0KHQsZSxuLGkscixvKXtjb25zdCBhPW5baV0scz1uW2krMV0sbD1uW2krMl0sYz1uW2krM10sdT1yW29dLGg9cltvKzFdLGQ9cltvKzJdLHA9cltvKzNdO3JldHVybiB0W2VdPWEqcCtjKnUrcypkLWwqaCx0W2UrMV09cypwK2MqaCtsKnUtYSpkLHRbZSsyXT1sKnArYypkK2EqaC1zKnUsdFtlKzNdPWMqcC1hKnUtcypoLWwqZCx0fWdldCB4KCl7cmV0dXJuIHRoaXMuX3h9c2V0IHgodCl7dGhpcy5feD10LHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX1nZXQgeSgpe3JldHVybiB0aGlzLl95fXNldCB5KHQpe3RoaXMuX3k9dCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9Z2V0IHooKXtyZXR1cm4gdGhpcy5fen1zZXQgeih0KXt0aGlzLl96PXQsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpfWdldCB3KCl7cmV0dXJuIHRoaXMuX3d9c2V0IHcodCl7dGhpcy5fdz10LHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX1zZXQodCxlLG4saSl7cmV0dXJuIHRoaXMuX3g9dCx0aGlzLl95PWUsdGhpcy5fej1uLHRoaXMuX3c9aSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31jbG9uZSgpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLl94LHRoaXMuX3ksdGhpcy5feix0aGlzLl93KX1jb3B5KHQpe3JldHVybiB0aGlzLl94PXQueCx0aGlzLl95PXQueSx0aGlzLl96PXQueix0aGlzLl93PXQudyx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zZXRGcm9tRXVsZXIodCxlKXtpZighdHx8IXQuaXNFdWxlcil0aHJvdyBuZXcgRXJyb3IoIlRIUkVFLlF1YXRlcm5pb246IC5zZXRGcm9tRXVsZXIoKSBub3cgZXhwZWN0cyBhbiBFdWxlciByb3RhdGlvbiByYXRoZXIgdGhhbiBhIFZlY3RvcjMgYW5kIG9yZGVyLiIpO2NvbnN0IG49dC5feCxpPXQuX3kscj10Ll96LG89dC5fb3JkZXIsYT1NYXRoLmNvcyxzPU1hdGguc2luLGw9YShuLzIpLGM9YShpLzIpLHU9YShyLzIpLGg9cyhuLzIpLGQ9cyhpLzIpLHA9cyhyLzIpO3N3aXRjaChvKXtjYXNlIlhZWiI6dGhpcy5feD1oKmMqdStsKmQqcCx0aGlzLl95PWwqZCp1LWgqYypwLHRoaXMuX3o9bCpjKnAraCpkKnUsdGhpcy5fdz1sKmMqdS1oKmQqcDticmVhaztjYXNlIllYWiI6dGhpcy5feD1oKmMqdStsKmQqcCx0aGlzLl95PWwqZCp1LWgqYypwLHRoaXMuX3o9bCpjKnAtaCpkKnUsdGhpcy5fdz1sKmMqdStoKmQqcDticmVhaztjYXNlIlpYWSI6dGhpcy5feD1oKmMqdS1sKmQqcCx0aGlzLl95PWwqZCp1K2gqYypwLHRoaXMuX3o9bCpjKnAraCpkKnUsdGhpcy5fdz1sKmMqdS1oKmQqcDticmVhaztjYXNlIlpZWCI6dGhpcy5feD1oKmMqdS1sKmQqcCx0aGlzLl95PWwqZCp1K2gqYypwLHRoaXMuX3o9bCpjKnAtaCpkKnUsdGhpcy5fdz1sKmMqdStoKmQqcDticmVhaztjYXNlIllaWCI6dGhpcy5feD1oKmMqdStsKmQqcCx0aGlzLl95PWwqZCp1K2gqYypwLHRoaXMuX3o9bCpjKnAtaCpkKnUsdGhpcy5fdz1sKmMqdS1oKmQqcDticmVhaztjYXNlIlhaWSI6dGhpcy5feD1oKmMqdS1sKmQqcCx0aGlzLl95PWwqZCp1LWgqYypwLHRoaXMuX3o9bCpjKnAraCpkKnUsdGhpcy5fdz1sKmMqdStoKmQqcDticmVhaztkZWZhdWx0OmNvbnNvbGUud2FybigiVEhSRUUuUXVhdGVybmlvbjogLnNldEZyb21FdWxlcigpIGVuY291bnRlcmVkIGFuIHVua25vd24gb3JkZXI6ICIrbyl9cmV0dXJuITEhPT1lJiZ0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zZXRGcm9tQXhpc0FuZ2xlKHQsZSl7Y29uc3Qgbj1lLzIsaT1NYXRoLnNpbihuKTtyZXR1cm4gdGhpcy5feD10LngqaSx0aGlzLl95PXQueSppLHRoaXMuX3o9dC56KmksdGhpcy5fdz1NYXRoLmNvcyhuKSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zZXRGcm9tUm90YXRpb25NYXRyaXgodCl7Y29uc3QgZT10LmVsZW1lbnRzLG49ZVswXSxpPWVbNF0scj1lWzhdLG89ZVsxXSxhPWVbNV0scz1lWzldLGw9ZVsyXSxjPWVbNl0sdT1lWzEwXSxoPW4rYSt1O2lmKGg+MCl7Y29uc3QgdD0uNS9NYXRoLnNxcnQoaCsxKTt0aGlzLl93PS4yNS90LHRoaXMuX3g9KGMtcykqdCx0aGlzLl95PShyLWwpKnQsdGhpcy5fej0oby1pKSp0fWVsc2UgaWYobj5hJiZuPnUpe2NvbnN0IHQ9MipNYXRoLnNxcnQoMStuLWEtdSk7dGhpcy5fdz0oYy1zKS90LHRoaXMuX3g9LjI1KnQsdGhpcy5feT0oaStvKS90LHRoaXMuX3o9KHIrbCkvdH1lbHNlIGlmKGE+dSl7Y29uc3QgdD0yKk1hdGguc3FydCgxK2Etbi11KTt0aGlzLl93PShyLWwpL3QsdGhpcy5feD0oaStvKS90LHRoaXMuX3k9LjI1KnQsdGhpcy5fej0ocytjKS90fWVsc2V7Y29uc3QgdD0yKk1hdGguc3FydCgxK3Utbi1hKTt0aGlzLl93PShvLWkpL3QsdGhpcy5feD0ocitsKS90LHRoaXMuX3k9KHMrYykvdCx0aGlzLl96PS4yNSp0fXJldHVybiB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zZXRGcm9tVW5pdFZlY3RvcnModCxlKXtsZXQgbj10LmRvdChlKSsxO3JldHVybiBuPE51bWJlci5FUFNJTE9OPyhuPTAsTWF0aC5hYnModC54KT5NYXRoLmFicyh0LnopPyh0aGlzLl94PS10LnksdGhpcy5feT10LngsdGhpcy5fej0wLHRoaXMuX3c9bik6KHRoaXMuX3g9MCx0aGlzLl95PS10LnosdGhpcy5fej10LnksdGhpcy5fdz1uKSk6KHRoaXMuX3g9dC55KmUuei10LnoqZS55LHRoaXMuX3k9dC56KmUueC10LngqZS56LHRoaXMuX3o9dC54KmUueS10LnkqZS54LHRoaXMuX3c9biksdGhpcy5ub3JtYWxpemUoKX1hbmdsZVRvKHQpe3JldHVybiAyKk1hdGguYWNvcyhNYXRoLmFicyhzNXQodGhpcy5kb3QodCksLTEsMSkpKX1yb3RhdGVUb3dhcmRzKHQsZSl7Y29uc3Qgbj10aGlzLmFuZ2xlVG8odCk7aWYoMD09PW4pcmV0dXJuIHRoaXM7Y29uc3QgaT1NYXRoLm1pbigxLGUvbik7cmV0dXJuIHRoaXMuc2xlcnAodCxpKSx0aGlzfWlkZW50aXR5KCl7cmV0dXJuIHRoaXMuc2V0KDAsMCwwLDEpfWludmVydCgpe3JldHVybiB0aGlzLmNvbmp1Z2F0ZSgpfWNvbmp1Z2F0ZSgpe3JldHVybiB0aGlzLl94Kj0tMSx0aGlzLl95Kj0tMSx0aGlzLl96Kj0tMSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31kb3QodCl7cmV0dXJuIHRoaXMuX3gqdC5feCt0aGlzLl95KnQuX3krdGhpcy5feip0Ll96K3RoaXMuX3cqdC5fd31sZW5ndGhTcSgpe3JldHVybiB0aGlzLl94KnRoaXMuX3grdGhpcy5feSp0aGlzLl95K3RoaXMuX3oqdGhpcy5feit0aGlzLl93KnRoaXMuX3d9bGVuZ3RoKCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLl94KnRoaXMuX3grdGhpcy5feSp0aGlzLl95K3RoaXMuX3oqdGhpcy5feit0aGlzLl93KnRoaXMuX3cpfW5vcm1hbGl6ZSgpe2xldCB0PXRoaXMubGVuZ3RoKCk7cmV0dXJuIDA9PT10Pyh0aGlzLl94PTAsdGhpcy5feT0wLHRoaXMuX3o9MCx0aGlzLl93PTEpOih0PTEvdCx0aGlzLl94PXRoaXMuX3gqdCx0aGlzLl95PXRoaXMuX3kqdCx0aGlzLl96PXRoaXMuX3oqdCx0aGlzLl93PXRoaXMuX3cqdCksdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9bXVsdGlwbHkodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5RdWF0ZXJuaW9uOiAubXVsdGlwbHkoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5tdWx0aXBseVF1YXRlcm5pb25zKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLm11bHRpcGx5UXVhdGVybmlvbnModCxlKSk6dGhpcy5tdWx0aXBseVF1YXRlcm5pb25zKHRoaXMsdCl9cHJlbXVsdGlwbHkodCl7cmV0dXJuIHRoaXMubXVsdGlwbHlRdWF0ZXJuaW9ucyh0LHRoaXMpfW11bHRpcGx5UXVhdGVybmlvbnModCxlKXtjb25zdCBuPXQuX3gsaT10Ll95LHI9dC5feixvPXQuX3csYT1lLl94LHM9ZS5feSxsPWUuX3osYz1lLl93O3JldHVybiB0aGlzLl94PW4qYytvKmEraSpsLXIqcyx0aGlzLl95PWkqYytvKnMrciphLW4qbCx0aGlzLl96PXIqYytvKmwrbipzLWkqYSx0aGlzLl93PW8qYy1uKmEtaSpzLXIqbCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zbGVycCh0LGUpe2lmKDA9PT1lKXJldHVybiB0aGlzO2lmKDE9PT1lKXJldHVybiB0aGlzLmNvcHkodCk7Y29uc3Qgbj10aGlzLl94LGk9dGhpcy5feSxyPXRoaXMuX3osbz10aGlzLl93O2xldCBhPW8qdC5fdytuKnQuX3graSp0Ll95K3IqdC5fejtpZihhPDA/KHRoaXMuX3c9LXQuX3csdGhpcy5feD0tdC5feCx0aGlzLl95PS10Ll95LHRoaXMuX3o9LXQuX3osYT0tYSk6dGhpcy5jb3B5KHQpLGE+PTEpcmV0dXJuIHRoaXMuX3c9byx0aGlzLl94PW4sdGhpcy5feT1pLHRoaXMuX3o9cix0aGlzO2NvbnN0IHM9MS1hKmE7aWYoczw9TnVtYmVyLkVQU0lMT04pe2NvbnN0IHQ9MS1lO3JldHVybiB0aGlzLl93PXQqbytlKnRoaXMuX3csdGhpcy5feD10Km4rZSp0aGlzLl94LHRoaXMuX3k9dCppK2UqdGhpcy5feSx0aGlzLl96PXQqcitlKnRoaXMuX3osdGhpcy5ub3JtYWxpemUoKSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31jb25zdCBsPU1hdGguc3FydChzKSxjPU1hdGguYXRhbjIobCxhKSx1PU1hdGguc2luKCgxLWUpKmMpL2wsaD1NYXRoLnNpbihlKmMpL2w7cmV0dXJuIHRoaXMuX3c9byp1K3RoaXMuX3cqaCx0aGlzLl94PW4qdSt0aGlzLl94KmgsdGhpcy5feT1pKnUrdGhpcy5feSpoLHRoaXMuX3o9cip1K3RoaXMuX3oqaCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zbGVycFF1YXRlcm5pb25zKHQsZSxuKXt0aGlzLmNvcHkodCkuc2xlcnAoZSxuKX1lcXVhbHModCl7cmV0dXJuIHQuX3g9PT10aGlzLl94JiZ0Ll95PT09dGhpcy5feSYmdC5fej09PXRoaXMuX3omJnQuX3c9PT10aGlzLl93fWZyb21BcnJheSh0LGU9MCl7cmV0dXJuIHRoaXMuX3g9dFtlXSx0aGlzLl95PXRbZSsxXSx0aGlzLl96PXRbZSsyXSx0aGlzLl93PXRbZSszXSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc310b0FycmF5KHQ9W10sZT0wKXtyZXR1cm4gdFtlXT10aGlzLl94LHRbZSsxXT10aGlzLl95LHRbZSsyXT10aGlzLl96LHRbZSszXT10aGlzLl93LHR9ZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LGUpe3JldHVybiB0aGlzLl94PXQuZ2V0WChlKSx0aGlzLl95PXQuZ2V0WShlKSx0aGlzLl96PXQuZ2V0WihlKSx0aGlzLl93PXQuZ2V0VyhlKSx0aGlzfV9vbkNoYW5nZSh0KXtyZXR1cm4gdGhpcy5fb25DaGFuZ2VDYWxsYmFjaz10LHRoaXN9X29uQ2hhbmdlQ2FsbGJhY2soKXt9fUI1dC5wcm90b3R5cGUuaXNRdWF0ZXJuaW9uPSEwO2NsYXNzIEg1dHtjb25zdHJ1Y3Rvcih0PTAsZT0wLG49MCl7dGhpcy54PXQsdGhpcy55PWUsdGhpcy56PW59c2V0KHQsZSxuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49dGhpcy56KSx0aGlzLng9dCx0aGlzLnk9ZSx0aGlzLno9bix0aGlzfXNldFNjYWxhcih0KXtyZXR1cm4gdGhpcy54PXQsdGhpcy55PXQsdGhpcy56PXQsdGhpc31zZXRYKHQpe3JldHVybiB0aGlzLng9dCx0aGlzfXNldFkodCl7cmV0dXJuIHRoaXMueT10LHRoaXN9c2V0Wih0KXtyZXR1cm4gdGhpcy56PXQsdGhpc31zZXRDb21wb25lbnQodCxlKXtzd2l0Y2godCl7Y2FzZSAwOnRoaXMueD1lO2JyZWFrO2Nhc2UgMTp0aGlzLnk9ZTticmVhaztjYXNlIDI6dGhpcy56PWU7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIit0KX1yZXR1cm4gdGhpc31nZXRDb21wb25lbnQodCl7c3dpdGNoKHQpe2Nhc2UgMDpyZXR1cm4gdGhpcy54O2Nhc2UgMTpyZXR1cm4gdGhpcy55O2Nhc2UgMjpyZXR1cm4gdGhpcy56O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJpbmRleCBpcyBvdXQgb2YgcmFuZ2U6ICIrdCl9fWNsb25lKCl7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMueCx0aGlzLnksdGhpcy56KX1jb3B5KHQpe3JldHVybiB0aGlzLng9dC54LHRoaXMueT10LnksdGhpcy56PXQueix0aGlzfWFkZCh0LGUpe3JldHVybiB2b2lkIDAhPT1lPyhjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5hZGQoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5hZGRWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLmFkZFZlY3RvcnModCxlKSk6KHRoaXMueCs9dC54LHRoaXMueSs9dC55LHRoaXMueis9dC56LHRoaXMpfWFkZFNjYWxhcih0KXtyZXR1cm4gdGhpcy54Kz10LHRoaXMueSs9dCx0aGlzLnorPXQsdGhpc31hZGRWZWN0b3JzKHQsZSl7cmV0dXJuIHRoaXMueD10LngrZS54LHRoaXMueT10LnkrZS55LHRoaXMuej10LnorZS56LHRoaXN9YWRkU2NhbGVkVmVjdG9yKHQsZSl7cmV0dXJuIHRoaXMueCs9dC54KmUsdGhpcy55Kz10LnkqZSx0aGlzLnorPXQueiplLHRoaXN9c3ViKHQsZSl7cmV0dXJuIHZvaWQgMCE9PWU/KGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLnN1YigpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLnN1YlZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuc3ViVmVjdG9ycyh0LGUpKToodGhpcy54LT10LngsdGhpcy55LT10LnksdGhpcy56LT10LnosdGhpcyl9c3ViU2NhbGFyKHQpe3JldHVybiB0aGlzLngtPXQsdGhpcy55LT10LHRoaXMuei09dCx0aGlzfXN1YlZlY3RvcnModCxlKXtyZXR1cm4gdGhpcy54PXQueC1lLngsdGhpcy55PXQueS1lLnksdGhpcy56PXQuei1lLnosdGhpc31tdWx0aXBseSh0LGUpe3JldHVybiB2b2lkIDAhPT1lPyhjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5tdWx0aXBseSgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLm11bHRpcGx5VmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5tdWx0aXBseVZlY3RvcnModCxlKSk6KHRoaXMueCo9dC54LHRoaXMueSo9dC55LHRoaXMueio9dC56LHRoaXMpfW11bHRpcGx5U2NhbGFyKHQpe3JldHVybiB0aGlzLngqPXQsdGhpcy55Kj10LHRoaXMueio9dCx0aGlzfW11bHRpcGx5VmVjdG9ycyh0LGUpe3JldHVybiB0aGlzLng9dC54KmUueCx0aGlzLnk9dC55KmUueSx0aGlzLno9dC56KmUueix0aGlzfWFwcGx5RXVsZXIodCl7cmV0dXJuIHQmJnQuaXNFdWxlcnx8Y29uc29sZS5lcnJvcigiVEhSRUUuVmVjdG9yMzogLmFwcGx5RXVsZXIoKSBub3cgZXhwZWN0cyBhbiBFdWxlciByb3RhdGlvbiByYXRoZXIgdGhhbiBhIFZlY3RvcjMgYW5kIG9yZGVyLiIpLHRoaXMuYXBwbHlRdWF0ZXJuaW9uKFY1dC5zZXRGcm9tRXVsZXIodCkpfWFwcGx5QXhpc0FuZ2xlKHQsZSl7cmV0dXJuIHRoaXMuYXBwbHlRdWF0ZXJuaW9uKFY1dC5zZXRGcm9tQXhpc0FuZ2xlKHQsZSkpfWFwcGx5TWF0cml4Myh0KXtjb25zdCBlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPXQuZWxlbWVudHM7cmV0dXJuIHRoaXMueD1yWzBdKmUrclszXSpuK3JbNl0qaSx0aGlzLnk9clsxXSplK3JbNF0qbityWzddKmksdGhpcy56PXJbMl0qZStyWzVdKm4rcls4XSppLHRoaXN9YXBwbHlOb3JtYWxNYXRyaXgodCl7cmV0dXJuIHRoaXMuYXBwbHlNYXRyaXgzKHQpLm5vcm1hbGl6ZSgpfWFwcGx5TWF0cml4NCh0KXtjb25zdCBlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPXQuZWxlbWVudHMsbz0xLyhyWzNdKmUrcls3XSpuK3JbMTFdKmkrclsxNV0pO3JldHVybiB0aGlzLng9KHJbMF0qZStyWzRdKm4rcls4XSppK3JbMTJdKSpvLHRoaXMueT0oclsxXSplK3JbNV0qbityWzldKmkrclsxM10pKm8sdGhpcy56PShyWzJdKmUrcls2XSpuK3JbMTBdKmkrclsxNF0pKm8sdGhpc31hcHBseVF1YXRlcm5pb24odCl7Y29uc3QgZT10aGlzLngsbj10aGlzLnksaT10aGlzLnoscj10Lngsbz10LnksYT10Lnoscz10LncsbD1zKmUrbyppLWEqbixjPXMqbithKmUtcippLHU9cyppK3Iqbi1vKmUsaD0tciplLW8qbi1hKmk7cmV0dXJuIHRoaXMueD1sKnMraCotcitjKi1hLXUqLW8sdGhpcy55PWMqcytoKi1vK3UqLXItbCotYSx0aGlzLno9dSpzK2gqLWErbCotby1jKi1yLHRoaXN9cHJvamVjdCh0KXtyZXR1cm4gdGhpcy5hcHBseU1hdHJpeDQodC5tYXRyaXhXb3JsZEludmVyc2UpLmFwcGx5TWF0cml4NCh0LnByb2plY3Rpb25NYXRyaXgpfXVucHJvamVjdCh0KXtyZXR1cm4gdGhpcy5hcHBseU1hdHJpeDQodC5wcm9qZWN0aW9uTWF0cml4SW52ZXJzZSkuYXBwbHlNYXRyaXg0KHQubWF0cml4V29ybGQpfXRyYW5zZm9ybURpcmVjdGlvbih0KXtjb25zdCBlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPXQuZWxlbWVudHM7cmV0dXJuIHRoaXMueD1yWzBdKmUrcls0XSpuK3JbOF0qaSx0aGlzLnk9clsxXSplK3JbNV0qbityWzldKmksdGhpcy56PXJbMl0qZStyWzZdKm4rclsxMF0qaSx0aGlzLm5vcm1hbGl6ZSgpfWRpdmlkZSh0KXtyZXR1cm4gdGhpcy54Lz10LngsdGhpcy55Lz10LnksdGhpcy56Lz10LnosdGhpc31kaXZpZGVTY2FsYXIodCl7cmV0dXJuIHRoaXMubXVsdGlwbHlTY2FsYXIoMS90KX1taW4odCl7cmV0dXJuIHRoaXMueD1NYXRoLm1pbih0aGlzLngsdC54KSx0aGlzLnk9TWF0aC5taW4odGhpcy55LHQueSksdGhpcy56PU1hdGgubWluKHRoaXMueix0LnopLHRoaXN9bWF4KHQpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodGhpcy54LHQueCksdGhpcy55PU1hdGgubWF4KHRoaXMueSx0LnkpLHRoaXMuej1NYXRoLm1heCh0aGlzLnosdC56KSx0aGlzfWNsYW1wKHQsZSl7cmV0dXJuIHRoaXMueD1NYXRoLm1heCh0LngsTWF0aC5taW4oZS54LHRoaXMueCkpLHRoaXMueT1NYXRoLm1heCh0LnksTWF0aC5taW4oZS55LHRoaXMueSkpLHRoaXMuej1NYXRoLm1heCh0LnosTWF0aC5taW4oZS56LHRoaXMueikpLHRoaXN9Y2xhbXBTY2FsYXIodCxlKXtyZXR1cm4gdGhpcy54PU1hdGgubWF4KHQsTWF0aC5taW4oZSx0aGlzLngpKSx0aGlzLnk9TWF0aC5tYXgodCxNYXRoLm1pbihlLHRoaXMueSkpLHRoaXMuej1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy56KSksdGhpc31jbGFtcExlbmd0aCh0LGUpe2NvbnN0IG49dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIobnx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgodCxNYXRoLm1pbihlLG4pKSl9Zmxvb3IoKXtyZXR1cm4gdGhpcy54PU1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpLHRoaXMuej1NYXRoLmZsb29yKHRoaXMueiksdGhpc31jZWlsKCl7cmV0dXJuIHRoaXMueD1NYXRoLmNlaWwodGhpcy54KSx0aGlzLnk9TWF0aC5jZWlsKHRoaXMueSksdGhpcy56PU1hdGguY2VpbCh0aGlzLnopLHRoaXN9cm91bmQoKXtyZXR1cm4gdGhpcy54PU1hdGgucm91bmQodGhpcy54KSx0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpLHRoaXMuej1NYXRoLnJvdW5kKHRoaXMueiksdGhpc31yb3VuZFRvWmVybygpe3JldHVybiB0aGlzLng9dGhpcy54PDA/TWF0aC5jZWlsKHRoaXMueCk6TWF0aC5mbG9vcih0aGlzLngpLHRoaXMueT10aGlzLnk8MD9NYXRoLmNlaWwodGhpcy55KTpNYXRoLmZsb29yKHRoaXMueSksdGhpcy56PXRoaXMuejwwP01hdGguY2VpbCh0aGlzLnopOk1hdGguZmxvb3IodGhpcy56KSx0aGlzfW5lZ2F0ZSgpe3JldHVybiB0aGlzLng9LXRoaXMueCx0aGlzLnk9LXRoaXMueSx0aGlzLno9LXRoaXMueix0aGlzfWRvdCh0KXtyZXR1cm4gdGhpcy54KnQueCt0aGlzLnkqdC55K3RoaXMueip0Lnp9bGVuZ3RoU3EoKXtyZXR1cm4gdGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55K3RoaXMueip0aGlzLnp9bGVuZ3RoKCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnkrdGhpcy56KnRoaXMueil9bWFuaGF0dGFuTGVuZ3RoKCl7cmV0dXJuIE1hdGguYWJzKHRoaXMueCkrTWF0aC5hYnModGhpcy55KStNYXRoLmFicyh0aGlzLnopfW5vcm1hbGl6ZSgpe3JldHVybiB0aGlzLmRpdmlkZVNjYWxhcih0aGlzLmxlbmd0aCgpfHwxKX1zZXRMZW5ndGgodCl7cmV0dXJuIHRoaXMubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIodCl9bGVycCh0LGUpe3JldHVybiB0aGlzLngrPSh0LngtdGhpcy54KSplLHRoaXMueSs9KHQueS10aGlzLnkpKmUsdGhpcy56Kz0odC56LXRoaXMueikqZSx0aGlzfWxlcnBWZWN0b3JzKHQsZSxuKXtyZXR1cm4gdGhpcy54PXQueCsoZS54LXQueCkqbix0aGlzLnk9dC55KyhlLnktdC55KSpuLHRoaXMuej10LnorKGUuei10LnopKm4sdGhpc31jcm9zcyh0LGUpe3JldHVybiB2b2lkIDAhPT1lPyhjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5jcm9zcygpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLmNyb3NzVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5jcm9zc1ZlY3RvcnModCxlKSk6dGhpcy5jcm9zc1ZlY3RvcnModGhpcyx0KX1jcm9zc1ZlY3RvcnModCxlKXtjb25zdCBuPXQueCxpPXQueSxyPXQueixvPWUueCxhPWUueSxzPWUuejtyZXR1cm4gdGhpcy54PWkqcy1yKmEsdGhpcy55PXIqby1uKnMsdGhpcy56PW4qYS1pKm8sdGhpc31wcm9qZWN0T25WZWN0b3IodCl7Y29uc3QgZT10Lmxlbmd0aFNxKCk7aWYoMD09PWUpcmV0dXJuIHRoaXMuc2V0KDAsMCwwKTtjb25zdCBuPXQuZG90KHRoaXMpL2U7cmV0dXJuIHRoaXMuY29weSh0KS5tdWx0aXBseVNjYWxhcihuKX1wcm9qZWN0T25QbGFuZSh0KXtyZXR1cm4gRjV0LmNvcHkodGhpcykucHJvamVjdE9uVmVjdG9yKHQpLHRoaXMuc3ViKEY1dCl9cmVmbGVjdCh0KXtyZXR1cm4gdGhpcy5zdWIoRjV0LmNvcHkodCkubXVsdGlwbHlTY2FsYXIoMip0aGlzLmRvdCh0KSkpfWFuZ2xlVG8odCl7Y29uc3QgZT1NYXRoLnNxcnQodGhpcy5sZW5ndGhTcSgpKnQubGVuZ3RoU3EoKSk7aWYoMD09PWUpcmV0dXJuIE1hdGguUEkvMjtjb25zdCBuPXRoaXMuZG90KHQpL2U7cmV0dXJuIE1hdGguYWNvcyhzNXQobiwtMSwxKSl9ZGlzdGFuY2VUbyh0KXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuZGlzdGFuY2VUb1NxdWFyZWQodCkpfWRpc3RhbmNlVG9TcXVhcmVkKHQpe2NvbnN0IGU9dGhpcy54LXQueCxuPXRoaXMueS10LnksaT10aGlzLnotdC56O3JldHVybiBlKmUrbipuK2kqaX1tYW5oYXR0YW5EaXN0YW5jZVRvKHQpe3JldHVybiBNYXRoLmFicyh0aGlzLngtdC54KStNYXRoLmFicyh0aGlzLnktdC55KStNYXRoLmFicyh0aGlzLnotdC56KX1zZXRGcm9tU3BoZXJpY2FsKHQpe3JldHVybiB0aGlzLnNldEZyb21TcGhlcmljYWxDb29yZHModC5yYWRpdXMsdC5waGksdC50aGV0YSl9c2V0RnJvbVNwaGVyaWNhbENvb3Jkcyh0LGUsbil7Y29uc3QgaT1NYXRoLnNpbihlKSp0O3JldHVybiB0aGlzLng9aSpNYXRoLnNpbihuKSx0aGlzLnk9TWF0aC5jb3MoZSkqdCx0aGlzLno9aSpNYXRoLmNvcyhuKSx0aGlzfXNldEZyb21DeWxpbmRyaWNhbCh0KXtyZXR1cm4gdGhpcy5zZXRGcm9tQ3lsaW5kcmljYWxDb29yZHModC5yYWRpdXMsdC50aGV0YSx0LnkpfXNldEZyb21DeWxpbmRyaWNhbENvb3Jkcyh0LGUsbil7cmV0dXJuIHRoaXMueD10Kk1hdGguc2luKGUpLHRoaXMueT1uLHRoaXMuej10Kk1hdGguY29zKGUpLHRoaXN9c2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQpe2NvbnN0IGU9dC5lbGVtZW50cztyZXR1cm4gdGhpcy54PWVbMTJdLHRoaXMueT1lWzEzXSx0aGlzLno9ZVsxNF0sdGhpc31zZXRGcm9tTWF0cml4U2NhbGUodCl7Y29uc3QgZT10aGlzLnNldEZyb21NYXRyaXhDb2x1bW4odCwwKS5sZW5ndGgoKSxuPXRoaXMuc2V0RnJvbU1hdHJpeENvbHVtbih0LDEpLmxlbmd0aCgpLGk9dGhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKHQsMikubGVuZ3RoKCk7cmV0dXJuIHRoaXMueD1lLHRoaXMueT1uLHRoaXMuej1pLHRoaXN9c2V0RnJvbU1hdHJpeENvbHVtbih0LGUpe3JldHVybiB0aGlzLmZyb21BcnJheSh0LmVsZW1lbnRzLDQqZSl9c2V0RnJvbU1hdHJpeDNDb2x1bW4odCxlKXtyZXR1cm4gdGhpcy5mcm9tQXJyYXkodC5lbGVtZW50cywzKmUpfWVxdWFscyh0KXtyZXR1cm4gdC54PT09dGhpcy54JiZ0Lnk9PT10aGlzLnkmJnQuej09PXRoaXMuen1mcm9tQXJyYXkodCxlPTApe3JldHVybiB0aGlzLng9dFtlXSx0aGlzLnk9dFtlKzFdLHRoaXMuej10W2UrMl0sdGhpc310b0FycmF5KHQ9W10sZT0wKXtyZXR1cm4gdFtlXT10aGlzLngsdFtlKzFdPXRoaXMueSx0W2UrMl09dGhpcy56LHR9ZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LGUsbil7cmV0dXJuIHZvaWQgMCE9PW4mJmNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogb2Zmc2V0IGhhcyBiZWVuIHJlbW92ZWQgZnJvbSAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpLHRoaXMueD10LmdldFgoZSksdGhpcy55PXQuZ2V0WShlKSx0aGlzLno9dC5nZXRaKGUpLHRoaXN9cmFuZG9tKCl7cmV0dXJuIHRoaXMueD1NYXRoLnJhbmRvbSgpLHRoaXMueT1NYXRoLnJhbmRvbSgpLHRoaXMuej1NYXRoLnJhbmRvbSgpLHRoaXN9fUg1dC5wcm90b3R5cGUuaXNWZWN0b3IzPSEwO2NvbnN0IEY1dD1uZXcgSDV0LFY1dD1uZXcgQjV0O2NsYXNzIFU1dHtjb25zdHJ1Y3Rvcih0PW5ldyBINXQoMS8wLDEvMCwxLzApLGU9bmV3IEg1dCgtMS8wLC0xLzAsLTEvMCkpe3RoaXMubWluPXQsdGhpcy5tYXg9ZX1zZXQodCxlKXtyZXR1cm4gdGhpcy5taW4uY29weSh0KSx0aGlzLm1heC5jb3B5KGUpLHRoaXN9c2V0RnJvbUFycmF5KHQpe2xldCBlPTEvMCxuPTEvMCxpPTEvMCxyPS0xLzAsbz0tMS8wLGE9LTEvMDtmb3IobGV0IHM9MCxsPXQubGVuZ3RoO3M8bDtzKz0zKXtjb25zdCBsPXRbc10sYz10W3MrMV0sdT10W3MrMl07bDxlJiYoZT1sKSxjPG4mJihuPWMpLHU8aSYmKGk9dSksbD5yJiYocj1sKSxjPm8mJihvPWMpLHU+YSYmKGE9dSl9cmV0dXJuIHRoaXMubWluLnNldChlLG4saSksdGhpcy5tYXguc2V0KHIsbyxhKSx0aGlzfXNldEZyb21CdWZmZXJBdHRyaWJ1dGUodCl7bGV0IGU9MS8wLG49MS8wLGk9MS8wLHI9LTEvMCxvPS0xLzAsYT0tMS8wO2ZvcihsZXQgcz0wLGw9dC5jb3VudDtzPGw7cysrKXtjb25zdCBsPXQuZ2V0WChzKSxjPXQuZ2V0WShzKSx1PXQuZ2V0WihzKTtsPGUmJihlPWwpLGM8biYmKG49YyksdTxpJiYoaT11KSxsPnImJihyPWwpLGM+byYmKG89YyksdT5hJiYoYT11KX1yZXR1cm4gdGhpcy5taW4uc2V0KGUsbixpKSx0aGlzLm1heC5zZXQocixvLGEpLHRoaXN9c2V0RnJvbVBvaW50cyh0KXt0aGlzLm1ha2VFbXB0eSgpO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl0aGlzLmV4cGFuZEJ5UG9pbnQodFtlXSk7cmV0dXJuIHRoaXN9c2V0RnJvbUNlbnRlckFuZFNpemUodCxlKXtjb25zdCBuPUc1dC5jb3B5KGUpLm11bHRpcGx5U2NhbGFyKC41KTtyZXR1cm4gdGhpcy5taW4uY29weSh0KS5zdWIobiksdGhpcy5tYXguY29weSh0KS5hZGQobiksdGhpc31zZXRGcm9tT2JqZWN0KHQpe3JldHVybiB0aGlzLm1ha2VFbXB0eSgpLHRoaXMuZXhwYW5kQnlPYmplY3QodCl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXtyZXR1cm4gdGhpcy5taW4uY29weSh0Lm1pbiksdGhpcy5tYXguY29weSh0Lm1heCksdGhpc31tYWtlRW1wdHkoKXtyZXR1cm4gdGhpcy5taW4ueD10aGlzLm1pbi55PXRoaXMubWluLno9MS8wLHRoaXMubWF4Lng9dGhpcy5tYXgueT10aGlzLm1heC56PS0xLzAsdGhpc31pc0VtcHR5KCl7cmV0dXJuIHRoaXMubWF4Lng8dGhpcy5taW4ueHx8dGhpcy5tYXgueTx0aGlzLm1pbi55fHx0aGlzLm1heC56PHRoaXMubWluLnp9Z2V0Q2VudGVyKHQpe3JldHVybiB0aGlzLmlzRW1wdHkoKT90LnNldCgwLDAsMCk6dC5hZGRWZWN0b3JzKHRoaXMubWluLHRoaXMubWF4KS5tdWx0aXBseVNjYWxhciguNSl9Z2V0U2l6ZSh0KXtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/dC5zZXQoMCwwLDApOnQuc3ViVmVjdG9ycyh0aGlzLm1heCx0aGlzLm1pbil9ZXhwYW5kQnlQb2ludCh0KXtyZXR1cm4gdGhpcy5taW4ubWluKHQpLHRoaXMubWF4Lm1heCh0KSx0aGlzfWV4cGFuZEJ5VmVjdG9yKHQpe3JldHVybiB0aGlzLm1pbi5zdWIodCksdGhpcy5tYXguYWRkKHQpLHRoaXN9ZXhwYW5kQnlTY2FsYXIodCl7cmV0dXJuIHRoaXMubWluLmFkZFNjYWxhcigtdCksdGhpcy5tYXguYWRkU2NhbGFyKHQpLHRoaXN9ZXhwYW5kQnlPYmplY3QodCl7dC51cGRhdGVXb3JsZE1hdHJpeCghMSwhMSk7Y29uc3QgZT10Lmdlb21ldHJ5O3ZvaWQgMCE9PWUmJihudWxsPT09ZS5ib3VuZGluZ0JveCYmZS5jb21wdXRlQm91bmRpbmdCb3goKSxXNXQuY29weShlLmJvdW5kaW5nQm94KSxXNXQuYXBwbHlNYXRyaXg0KHQubWF0cml4V29ybGQpLHRoaXMudW5pb24oVzV0KSk7Y29uc3Qgbj10LmNoaWxkcmVuO2ZvcihsZXQgdD0wLGU9bi5sZW5ndGg7dDxlO3QrKyl0aGlzLmV4cGFuZEJ5T2JqZWN0KG5bdF0pO3JldHVybiB0aGlzfWNvbnRhaW5zUG9pbnQodCl7cmV0dXJuISh0Lng8dGhpcy5taW4ueHx8dC54PnRoaXMubWF4Lnh8fHQueTx0aGlzLm1pbi55fHx0Lnk+dGhpcy5tYXgueXx8dC56PHRoaXMubWluLnp8fHQuej50aGlzLm1heC56KX1jb250YWluc0JveCh0KXtyZXR1cm4gdGhpcy5taW4ueDw9dC5taW4ueCYmdC5tYXgueDw9dGhpcy5tYXgueCYmdGhpcy5taW4ueTw9dC5taW4ueSYmdC5tYXgueTw9dGhpcy5tYXgueSYmdGhpcy5taW4uejw9dC5taW4ueiYmdC5tYXguejw9dGhpcy5tYXguen1nZXRQYXJhbWV0ZXIodCxlKXtyZXR1cm4gZS5zZXQoKHQueC10aGlzLm1pbi54KS8odGhpcy5tYXgueC10aGlzLm1pbi54KSwodC55LXRoaXMubWluLnkpLyh0aGlzLm1heC55LXRoaXMubWluLnkpLCh0LnotdGhpcy5taW4ueikvKHRoaXMubWF4LnotdGhpcy5taW4ueikpfWludGVyc2VjdHNCb3godCl7cmV0dXJuISh0Lm1heC54PHRoaXMubWluLnh8fHQubWluLng+dGhpcy5tYXgueHx8dC5tYXgueTx0aGlzLm1pbi55fHx0Lm1pbi55PnRoaXMubWF4Lnl8fHQubWF4Lno8dGhpcy5taW4uenx8dC5taW4uej50aGlzLm1heC56KX1pbnRlcnNlY3RzU3BoZXJlKHQpe3JldHVybiB0aGlzLmNsYW1wUG9pbnQodC5jZW50ZXIsRzV0KSxHNXQuZGlzdGFuY2VUb1NxdWFyZWQodC5jZW50ZXIpPD10LnJhZGl1cyp0LnJhZGl1c31pbnRlcnNlY3RzUGxhbmUodCl7bGV0IGUsbjtyZXR1cm4gdC5ub3JtYWwueD4wPyhlPXQubm9ybWFsLngqdGhpcy5taW4ueCxuPXQubm9ybWFsLngqdGhpcy5tYXgueCk6KGU9dC5ub3JtYWwueCp0aGlzLm1heC54LG49dC5ub3JtYWwueCp0aGlzLm1pbi54KSx0Lm5vcm1hbC55PjA/KGUrPXQubm9ybWFsLnkqdGhpcy5taW4ueSxuKz10Lm5vcm1hbC55KnRoaXMubWF4LnkpOihlKz10Lm5vcm1hbC55KnRoaXMubWF4Lnksbis9dC5ub3JtYWwueSp0aGlzLm1pbi55KSx0Lm5vcm1hbC56PjA/KGUrPXQubm9ybWFsLnoqdGhpcy5taW4ueixuKz10Lm5vcm1hbC56KnRoaXMubWF4LnopOihlKz10Lm5vcm1hbC56KnRoaXMubWF4Lnosbis9dC5ub3JtYWwueip0aGlzLm1pbi56KSxlPD0tdC5jb25zdGFudCYmbj49LXQuY29uc3RhbnR9aW50ZXJzZWN0c1RyaWFuZ2xlKHQpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiExO3RoaXMuZ2V0Q2VudGVyKEo1dCksUTV0LnN1YlZlY3RvcnModGhpcy5tYXgsSjV0KSxxNXQuc3ViVmVjdG9ycyh0LmEsSjV0KSxZNXQuc3ViVmVjdG9ycyh0LmIsSjV0KSxYNXQuc3ViVmVjdG9ycyh0LmMsSjV0KSwkNXQuc3ViVmVjdG9ycyhZNXQscTV0KSxLNXQuc3ViVmVjdG9ycyhYNXQsWTV0KSxaNXQuc3ViVmVjdG9ycyhxNXQsWDV0KTtsZXQgZT1bMCwtJDV0LnosJDV0LnksMCwtSzV0LnosSzV0LnksMCwtWjV0LnosWjV0LnksJDV0LnosMCwtJDV0LngsSzV0LnosMCwtSzV0LngsWjV0LnosMCwtWjV0LngsLSQ1dC55LCQ1dC54LDAsLUs1dC55LEs1dC54LDAsLVo1dC55LFo1dC54LDBdO3JldHVybiEhbjN0KGUscTV0LFk1dCxYNXQsUTV0KSYmKGU9WzEsMCwwLDAsMSwwLDAsMCwxXSwhIW4zdChlLHE1dCxZNXQsWDV0LFE1dCkmJih0M3QuY3Jvc3NWZWN0b3JzKCQ1dCxLNXQpLGU9W3QzdC54LHQzdC55LHQzdC56XSxuM3QoZSxxNXQsWTV0LFg1dCxRNXQpKSl9Y2xhbXBQb2ludCh0LGUpe3JldHVybiBlLmNvcHkodCkuY2xhbXAodGhpcy5taW4sdGhpcy5tYXgpfWRpc3RhbmNlVG9Qb2ludCh0KXtyZXR1cm4gRzV0LmNvcHkodCkuY2xhbXAodGhpcy5taW4sdGhpcy5tYXgpLnN1Yih0KS5sZW5ndGgoKX1nZXRCb3VuZGluZ1NwaGVyZSh0KXtyZXR1cm4gdGhpcy5nZXRDZW50ZXIodC5jZW50ZXIpLHQucmFkaXVzPS41KnRoaXMuZ2V0U2l6ZShHNXQpLmxlbmd0aCgpLHR9aW50ZXJzZWN0KHQpe3JldHVybiB0aGlzLm1pbi5tYXgodC5taW4pLHRoaXMubWF4Lm1pbih0Lm1heCksdGhpcy5pc0VtcHR5KCkmJnRoaXMubWFrZUVtcHR5KCksdGhpc311bmlvbih0KXtyZXR1cm4gdGhpcy5taW4ubWluKHQubWluKSx0aGlzLm1heC5tYXgodC5tYXgpLHRoaXN9YXBwbHlNYXRyaXg0KHQpe3JldHVybiB0aGlzLmlzRW1wdHkoKXx8KGo1dFswXS5zZXQodGhpcy5taW4ueCx0aGlzLm1pbi55LHRoaXMubWluLnopLmFwcGx5TWF0cml4NCh0KSxqNXRbMV0uc2V0KHRoaXMubWluLngsdGhpcy5taW4ueSx0aGlzLm1heC56KS5hcHBseU1hdHJpeDQodCksajV0WzJdLnNldCh0aGlzLm1pbi54LHRoaXMubWF4LnksdGhpcy5taW4ueikuYXBwbHlNYXRyaXg0KHQpLGo1dFszXS5zZXQodGhpcy5taW4ueCx0aGlzLm1heC55LHRoaXMubWF4LnopLmFwcGx5TWF0cml4NCh0KSxqNXRbNF0uc2V0KHRoaXMubWF4LngsdGhpcy5taW4ueSx0aGlzLm1pbi56KS5hcHBseU1hdHJpeDQodCksajV0WzVdLnNldCh0aGlzLm1heC54LHRoaXMubWluLnksdGhpcy5tYXgueikuYXBwbHlNYXRyaXg0KHQpLGo1dFs2XS5zZXQodGhpcy5tYXgueCx0aGlzLm1heC55LHRoaXMubWluLnopLmFwcGx5TWF0cml4NCh0KSxqNXRbN10uc2V0KHRoaXMubWF4LngsdGhpcy5tYXgueSx0aGlzLm1heC56KS5hcHBseU1hdHJpeDQodCksdGhpcy5zZXRGcm9tUG9pbnRzKGo1dCkpLHRoaXN9dHJhbnNsYXRlKHQpe3JldHVybiB0aGlzLm1pbi5hZGQodCksdGhpcy5tYXguYWRkKHQpLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lm1pbi5lcXVhbHModGhpcy5taW4pJiZ0Lm1heC5lcXVhbHModGhpcy5tYXgpfX1VNXQucHJvdG90eXBlLmlzQm94Mz0hMDtjb25zdCBqNXQ9W25ldyBINXQsbmV3IEg1dCxuZXcgSDV0LG5ldyBINXQsbmV3IEg1dCxuZXcgSDV0LG5ldyBINXQsbmV3IEg1dF0sRzV0PW5ldyBINXQsVzV0PW5ldyBVNXQscTV0PW5ldyBINXQsWTV0PW5ldyBINXQsWDV0PW5ldyBINXQsJDV0PW5ldyBINXQsSzV0PW5ldyBINXQsWjV0PW5ldyBINXQsSjV0PW5ldyBINXQsUTV0PW5ldyBINXQsdDN0PW5ldyBINXQsZTN0PW5ldyBINXQ7ZnVuY3Rpb24gbjN0KHQsZSxuLGkscil7Zm9yKGxldCBvPTAsYT10Lmxlbmd0aC0zO288PWE7bys9Myl7ZTN0LmZyb21BcnJheSh0LG8pO2NvbnN0IGE9ci54Kk1hdGguYWJzKGUzdC54KStyLnkqTWF0aC5hYnMoZTN0LnkpK3IueipNYXRoLmFicyhlM3Queikscz1lLmRvdChlM3QpLGw9bi5kb3QoZTN0KSxjPWkuZG90KGUzdCk7aWYoTWF0aC5tYXgoLU1hdGgubWF4KHMsbCxjKSxNYXRoLm1pbihzLGwsYykpPmEpcmV0dXJuITF9cmV0dXJuITB9Y29uc3QgaTN0PW5ldyBVNXQscjN0PW5ldyBINXQsbzN0PW5ldyBINXQsYTN0PW5ldyBINXQ7Y2xhc3MgczN0e2NvbnN0cnVjdG9yKHQ9bmV3IEg1dCxlPS0xKXt0aGlzLmNlbnRlcj10LHRoaXMucmFkaXVzPWV9c2V0KHQsZSl7cmV0dXJuIHRoaXMuY2VudGVyLmNvcHkodCksdGhpcy5yYWRpdXM9ZSx0aGlzfXNldEZyb21Qb2ludHModCxlKXtjb25zdCBuPXRoaXMuY2VudGVyO3ZvaWQgMCE9PWU/bi5jb3B5KGUpOmkzdC5zZXRGcm9tUG9pbnRzKHQpLmdldENlbnRlcihuKTtsZXQgaT0wO2ZvcihsZXQgZT0wLHI9dC5sZW5ndGg7ZTxyO2UrKylpPU1hdGgubWF4KGksbi5kaXN0YW5jZVRvU3F1YXJlZCh0W2VdKSk7cmV0dXJuIHRoaXMucmFkaXVzPU1hdGguc3FydChpKSx0aGlzfWNvcHkodCl7cmV0dXJuIHRoaXMuY2VudGVyLmNvcHkodC5jZW50ZXIpLHRoaXMucmFkaXVzPXQucmFkaXVzLHRoaXN9aXNFbXB0eSgpe3JldHVybiB0aGlzLnJhZGl1czwwfW1ha2VFbXB0eSgpe3JldHVybiB0aGlzLmNlbnRlci5zZXQoMCwwLDApLHRoaXMucmFkaXVzPS0xLHRoaXN9Y29udGFpbnNQb2ludCh0KXtyZXR1cm4gdC5kaXN0YW5jZVRvU3F1YXJlZCh0aGlzLmNlbnRlcik8PXRoaXMucmFkaXVzKnRoaXMucmFkaXVzfWRpc3RhbmNlVG9Qb2ludCh0KXtyZXR1cm4gdC5kaXN0YW5jZVRvKHRoaXMuY2VudGVyKS10aGlzLnJhZGl1c31pbnRlcnNlY3RzU3BoZXJlKHQpe2NvbnN0IGU9dGhpcy5yYWRpdXMrdC5yYWRpdXM7cmV0dXJuIHQuY2VudGVyLmRpc3RhbmNlVG9TcXVhcmVkKHRoaXMuY2VudGVyKTw9ZSplfWludGVyc2VjdHNCb3godCl7cmV0dXJuIHQuaW50ZXJzZWN0c1NwaGVyZSh0aGlzKX1pbnRlcnNlY3RzUGxhbmUodCl7cmV0dXJuIE1hdGguYWJzKHQuZGlzdGFuY2VUb1BvaW50KHRoaXMuY2VudGVyKSk8PXRoaXMucmFkaXVzfWNsYW1wUG9pbnQodCxlKXtjb25zdCBuPXRoaXMuY2VudGVyLmRpc3RhbmNlVG9TcXVhcmVkKHQpO3JldHVybiBlLmNvcHkodCksbj50aGlzLnJhZGl1cyp0aGlzLnJhZGl1cyYmKGUuc3ViKHRoaXMuY2VudGVyKS5ub3JtYWxpemUoKSxlLm11bHRpcGx5U2NhbGFyKHRoaXMucmFkaXVzKS5hZGQodGhpcy5jZW50ZXIpKSxlfWdldEJvdW5kaW5nQm94KHQpe3JldHVybiB0aGlzLmlzRW1wdHkoKT8odC5tYWtlRW1wdHkoKSx0KToodC5zZXQodGhpcy5jZW50ZXIsdGhpcy5jZW50ZXIpLHQuZXhwYW5kQnlTY2FsYXIodGhpcy5yYWRpdXMpLHQpfWFwcGx5TWF0cml4NCh0KXtyZXR1cm4gdGhpcy5jZW50ZXIuYXBwbHlNYXRyaXg0KHQpLHRoaXMucmFkaXVzPXRoaXMucmFkaXVzKnQuZ2V0TWF4U2NhbGVPbkF4aXMoKSx0aGlzfXRyYW5zbGF0ZSh0KXtyZXR1cm4gdGhpcy5jZW50ZXIuYWRkKHQpLHRoaXN9ZXhwYW5kQnlQb2ludCh0KXthM3Quc3ViVmVjdG9ycyh0LHRoaXMuY2VudGVyKTtjb25zdCBlPWEzdC5sZW5ndGhTcSgpO2lmKGU+dGhpcy5yYWRpdXMqdGhpcy5yYWRpdXMpe2NvbnN0IHQ9TWF0aC5zcXJ0KGUpLG49LjUqKHQtdGhpcy5yYWRpdXMpO3RoaXMuY2VudGVyLmFkZChhM3QubXVsdGlwbHlTY2FsYXIobi90KSksdGhpcy5yYWRpdXMrPW59cmV0dXJuIHRoaXN9dW5pb24odCl7cmV0dXJuIG8zdC5zdWJWZWN0b3JzKHQuY2VudGVyLHRoaXMuY2VudGVyKS5ub3JtYWxpemUoKS5tdWx0aXBseVNjYWxhcih0LnJhZGl1cyksdGhpcy5leHBhbmRCeVBvaW50KHIzdC5jb3B5KHQuY2VudGVyKS5hZGQobzN0KSksdGhpcy5leHBhbmRCeVBvaW50KHIzdC5jb3B5KHQuY2VudGVyKS5zdWIobzN0KSksdGhpc31lcXVhbHModCl7cmV0dXJuIHQuY2VudGVyLmVxdWFscyh0aGlzLmNlbnRlcikmJnQucmFkaXVzPT09dGhpcy5yYWRpdXN9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9fWNvbnN0IGwzdD1uZXcgSDV0LGMzdD1uZXcgSDV0LHUzdD1uZXcgSDV0LGgzdD1uZXcgSDV0LGQzdD1uZXcgSDV0LHAzdD1uZXcgSDV0LGYzdD1uZXcgSDV0O2NsYXNzIG0zdHtjb25zdHJ1Y3Rvcih0PW5ldyBINXQsZT1uZXcgSDV0KDAsMCwtMSkpe3RoaXMub3JpZ2luPXQsdGhpcy5kaXJlY3Rpb249ZX1zZXQodCxlKXtyZXR1cm4gdGhpcy5vcmlnaW4uY29weSh0KSx0aGlzLmRpcmVjdGlvbi5jb3B5KGUpLHRoaXN9Y29weSh0KXtyZXR1cm4gdGhpcy5vcmlnaW4uY29weSh0Lm9yaWdpbiksdGhpcy5kaXJlY3Rpb24uY29weSh0LmRpcmVjdGlvbiksdGhpc31hdCh0LGUpe3JldHVybiBlLmNvcHkodGhpcy5kaXJlY3Rpb24pLm11bHRpcGx5U2NhbGFyKHQpLmFkZCh0aGlzLm9yaWdpbil9bG9va0F0KHQpe3JldHVybiB0aGlzLmRpcmVjdGlvbi5jb3B5KHQpLnN1Yih0aGlzLm9yaWdpbikubm9ybWFsaXplKCksdGhpc31yZWNhc3QodCl7cmV0dXJuIHRoaXMub3JpZ2luLmNvcHkodGhpcy5hdCh0LGwzdCkpLHRoaXN9Y2xvc2VzdFBvaW50VG9Qb2ludCh0LGUpe2Uuc3ViVmVjdG9ycyh0LHRoaXMub3JpZ2luKTtjb25zdCBuPWUuZG90KHRoaXMuZGlyZWN0aW9uKTtyZXR1cm4gbjwwP2UuY29weSh0aGlzLm9yaWdpbik6ZS5jb3B5KHRoaXMuZGlyZWN0aW9uKS5tdWx0aXBseVNjYWxhcihuKS5hZGQodGhpcy5vcmlnaW4pfWRpc3RhbmNlVG9Qb2ludCh0KXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuZGlzdGFuY2VTcVRvUG9pbnQodCkpfWRpc3RhbmNlU3FUb1BvaW50KHQpe2NvbnN0IGU9bDN0LnN1YlZlY3RvcnModCx0aGlzLm9yaWdpbikuZG90KHRoaXMuZGlyZWN0aW9uKTtyZXR1cm4gZTwwP3RoaXMub3JpZ2luLmRpc3RhbmNlVG9TcXVhcmVkKHQpOihsM3QuY29weSh0aGlzLmRpcmVjdGlvbikubXVsdGlwbHlTY2FsYXIoZSkuYWRkKHRoaXMub3JpZ2luKSxsM3QuZGlzdGFuY2VUb1NxdWFyZWQodCkpfWRpc3RhbmNlU3FUb1NlZ21lbnQodCxlLG4saSl7YzN0LmNvcHkodCkuYWRkKGUpLm11bHRpcGx5U2NhbGFyKC41KSx1M3QuY29weShlKS5zdWIodCkubm9ybWFsaXplKCksaDN0LmNvcHkodGhpcy5vcmlnaW4pLnN1YihjM3QpO2NvbnN0IHI9LjUqdC5kaXN0YW5jZVRvKGUpLG89LXRoaXMuZGlyZWN0aW9uLmRvdCh1M3QpLGE9aDN0LmRvdCh0aGlzLmRpcmVjdGlvbikscz0taDN0LmRvdCh1M3QpLGw9aDN0Lmxlbmd0aFNxKCksYz1NYXRoLmFicygxLW8qbyk7bGV0IHUsaCxkLHA7aWYoYz4wKWlmKHU9bypzLWEsaD1vKmEtcyxwPXIqYyx1Pj0wKWlmKGg+PS1wKWlmKGg8PXApe2NvbnN0IHQ9MS9jO3UqPXQsaCo9dCxkPXUqKHUrbypoKzIqYSkraCoobyp1K2grMipzKStsfWVsc2UgaD1yLHU9TWF0aC5tYXgoMCwtKG8qaCthKSksZD0tdSp1K2gqKGgrMipzKStsO2Vsc2UgaD0tcix1PU1hdGgubWF4KDAsLShvKmgrYSkpLGQ9LXUqdStoKihoKzIqcykrbDtlbHNlIGg8PS1wPyh1PU1hdGgubWF4KDAsLSgtbypyK2EpKSxoPXU+MD8tcjpNYXRoLm1pbihNYXRoLm1heCgtciwtcyksciksZD0tdSp1K2gqKGgrMipzKStsKTpoPD1wPyh1PTAsaD1NYXRoLm1pbihNYXRoLm1heCgtciwtcyksciksZD1oKihoKzIqcykrbCk6KHU9TWF0aC5tYXgoMCwtKG8qcithKSksaD11PjA/cjpNYXRoLm1pbihNYXRoLm1heCgtciwtcyksciksZD0tdSp1K2gqKGgrMipzKStsKTtlbHNlIGg9bz4wPy1yOnIsdT1NYXRoLm1heCgwLC0obypoK2EpKSxkPS11KnUraCooaCsyKnMpK2w7cmV0dXJuIG4mJm4uY29weSh0aGlzLmRpcmVjdGlvbikubXVsdGlwbHlTY2FsYXIodSkuYWRkKHRoaXMub3JpZ2luKSxpJiZpLmNvcHkodTN0KS5tdWx0aXBseVNjYWxhcihoKS5hZGQoYzN0KSxkfWludGVyc2VjdFNwaGVyZSh0LGUpe2wzdC5zdWJWZWN0b3JzKHQuY2VudGVyLHRoaXMub3JpZ2luKTtjb25zdCBuPWwzdC5kb3QodGhpcy5kaXJlY3Rpb24pLGk9bDN0LmRvdChsM3QpLW4qbixyPXQucmFkaXVzKnQucmFkaXVzO2lmKGk+cilyZXR1cm4gbnVsbDtjb25zdCBvPU1hdGguc3FydChyLWkpLGE9bi1vLHM9bitvO3JldHVybiBhPDAmJnM8MD9udWxsOnRoaXMuYXQoYTwwP3M6YSxlKX1pbnRlcnNlY3RzU3BoZXJlKHQpe3JldHVybiB0aGlzLmRpc3RhbmNlU3FUb1BvaW50KHQuY2VudGVyKTw9dC5yYWRpdXMqdC5yYWRpdXN9ZGlzdGFuY2VUb1BsYW5lKHQpe2NvbnN0IGU9dC5ub3JtYWwuZG90KHRoaXMuZGlyZWN0aW9uKTtpZigwPT09ZSlyZXR1cm4gMD09PXQuZGlzdGFuY2VUb1BvaW50KHRoaXMub3JpZ2luKT8wOm51bGw7Y29uc3Qgbj0tKHRoaXMub3JpZ2luLmRvdCh0Lm5vcm1hbCkrdC5jb25zdGFudCkvZTtyZXR1cm4gbj49MD9uOm51bGx9aW50ZXJzZWN0UGxhbmUodCxlKXtjb25zdCBuPXRoaXMuZGlzdGFuY2VUb1BsYW5lKHQpO3JldHVybiBudWxsPT09bj9udWxsOnRoaXMuYXQobixlKX1pbnRlcnNlY3RzUGxhbmUodCl7Y29uc3QgZT10LmRpc3RhbmNlVG9Qb2ludCh0aGlzLm9yaWdpbik7aWYoMD09PWUpcmV0dXJuITA7cmV0dXJuIHQubm9ybWFsLmRvdCh0aGlzLmRpcmVjdGlvbikqZTwwfWludGVyc2VjdEJveCh0LGUpe2xldCBuLGkscixvLGEscztjb25zdCBsPTEvdGhpcy5kaXJlY3Rpb24ueCxjPTEvdGhpcy5kaXJlY3Rpb24ueSx1PTEvdGhpcy5kaXJlY3Rpb24ueixoPXRoaXMub3JpZ2luO3JldHVybiBsPj0wPyhuPSh0Lm1pbi54LWgueCkqbCxpPSh0Lm1heC54LWgueCkqbCk6KG49KHQubWF4LngtaC54KSpsLGk9KHQubWluLngtaC54KSpsKSxjPj0wPyhyPSh0Lm1pbi55LWgueSkqYyxvPSh0Lm1heC55LWgueSkqYyk6KHI9KHQubWF4LnktaC55KSpjLG89KHQubWluLnktaC55KSpjKSxuPm98fHI+aT9udWxsOigocj5ufHxuIT1uKSYmKG49ciksKG88aXx8aSE9aSkmJihpPW8pLHU+PTA/KGE9KHQubWluLnotaC56KSp1LHM9KHQubWF4LnotaC56KSp1KTooYT0odC5tYXguei1oLnopKnUscz0odC5taW4uei1oLnopKnUpLG4+c3x8YT5pP251bGw6KChhPm58fG4hPW4pJiYobj1hKSwoczxpfHxpIT1pKSYmKGk9cyksaTwwP251bGw6dGhpcy5hdChuPj0wP246aSxlKSkpfWludGVyc2VjdHNCb3godCl7cmV0dXJuIG51bGwhPT10aGlzLmludGVyc2VjdEJveCh0LGwzdCl9aW50ZXJzZWN0VHJpYW5nbGUodCxlLG4saSxyKXtkM3Quc3ViVmVjdG9ycyhlLHQpLHAzdC5zdWJWZWN0b3JzKG4sdCksZjN0LmNyb3NzVmVjdG9ycyhkM3QscDN0KTtsZXQgbyxhPXRoaXMuZGlyZWN0aW9uLmRvdChmM3QpO2lmKGE+MCl7aWYoaSlyZXR1cm4gbnVsbDtvPTF9ZWxzZXtpZighKGE8MCkpcmV0dXJuIG51bGw7bz0tMSxhPS1hfWgzdC5zdWJWZWN0b3JzKHRoaXMub3JpZ2luLHQpO2NvbnN0IHM9byp0aGlzLmRpcmVjdGlvbi5kb3QocDN0LmNyb3NzVmVjdG9ycyhoM3QscDN0KSk7aWYoczwwKXJldHVybiBudWxsO2NvbnN0IGw9byp0aGlzLmRpcmVjdGlvbi5kb3QoZDN0LmNyb3NzKGgzdCkpO2lmKGw8MClyZXR1cm4gbnVsbDtpZihzK2w+YSlyZXR1cm4gbnVsbDtjb25zdCBjPS1vKmgzdC5kb3QoZjN0KTtyZXR1cm4gYzwwP251bGw6dGhpcy5hdChjL2Escil9YXBwbHlNYXRyaXg0KHQpe3JldHVybiB0aGlzLm9yaWdpbi5hcHBseU1hdHJpeDQodCksdGhpcy5kaXJlY3Rpb24udHJhbnNmb3JtRGlyZWN0aW9uKHQpLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lm9yaWdpbi5lcXVhbHModGhpcy5vcmlnaW4pJiZ0LmRpcmVjdGlvbi5lcXVhbHModGhpcy5kaXJlY3Rpb24pfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX1jbGFzcyBnM3R7Y29uc3RydWN0b3IoKXt0aGlzLmVsZW1lbnRzPVsxLDAsMCwwLDAsMSwwLDAsMCwwLDEsMCwwLDAsMCwxXSxhcmd1bWVudHMubGVuZ3RoPjAmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IHRoZSBjb25zdHJ1Y3RvciBubyBsb25nZXIgcmVhZHMgYXJndW1lbnRzLiB1c2UgLnNldCgpIGluc3RlYWQuIil9c2V0KHQsZSxuLGkscixvLGEscyxsLGMsdSxoLGQscCxmLG0pe2NvbnN0IGc9dGhpcy5lbGVtZW50cztyZXR1cm4gZ1swXT10LGdbNF09ZSxnWzhdPW4sZ1sxMl09aSxnWzFdPXIsZ1s1XT1vLGdbOV09YSxnWzEzXT1zLGdbMl09bCxnWzZdPWMsZ1sxMF09dSxnWzE0XT1oLGdbM109ZCxnWzddPXAsZ1sxMV09ZixnWzE1XT1tLHRoaXN9aWRlbnRpdHkoKXtyZXR1cm4gdGhpcy5zZXQoMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMSksdGhpc31jbG9uZSgpe3JldHVybihuZXcgZzN0KS5mcm9tQXJyYXkodGhpcy5lbGVtZW50cyl9Y29weSh0KXtjb25zdCBlPXRoaXMuZWxlbWVudHMsbj10LmVsZW1lbnRzO3JldHVybiBlWzBdPW5bMF0sZVsxXT1uWzFdLGVbMl09blsyXSxlWzNdPW5bM10sZVs0XT1uWzRdLGVbNV09bls1XSxlWzZdPW5bNl0sZVs3XT1uWzddLGVbOF09bls4XSxlWzldPW5bOV0sZVsxMF09blsxMF0sZVsxMV09blsxMV0sZVsxMl09blsxMl0sZVsxM109blsxM10sZVsxNF09blsxNF0sZVsxNV09blsxNV0sdGhpc31jb3B5UG9zaXRpb24odCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC5lbGVtZW50cztyZXR1cm4gZVsxMl09blsxMl0sZVsxM109blsxM10sZVsxNF09blsxNF0sdGhpc31zZXRGcm9tTWF0cml4Myh0KXtjb25zdCBlPXQuZWxlbWVudHM7cmV0dXJuIHRoaXMuc2V0KGVbMF0sZVszXSxlWzZdLDAsZVsxXSxlWzRdLGVbN10sMCxlWzJdLGVbNV0sZVs4XSwwLDAsMCwwLDEpLHRoaXN9ZXh0cmFjdEJhc2lzKHQsZSxuKXtyZXR1cm4gdC5zZXRGcm9tTWF0cml4Q29sdW1uKHRoaXMsMCksZS5zZXRGcm9tTWF0cml4Q29sdW1uKHRoaXMsMSksbi5zZXRGcm9tTWF0cml4Q29sdW1uKHRoaXMsMiksdGhpc31tYWtlQmFzaXModCxlLG4pe3JldHVybiB0aGlzLnNldCh0LngsZS54LG4ueCwwLHQueSxlLnksbi55LDAsdC56LGUueixuLnosMCwwLDAsMCwxKSx0aGlzfWV4dHJhY3RSb3RhdGlvbih0KXtjb25zdCBlPXRoaXMuZWxlbWVudHMsbj10LmVsZW1lbnRzLGk9MS9fM3Quc2V0RnJvbU1hdHJpeENvbHVtbih0LDApLmxlbmd0aCgpLHI9MS9fM3Quc2V0RnJvbU1hdHJpeENvbHVtbih0LDEpLmxlbmd0aCgpLG89MS9fM3Quc2V0RnJvbU1hdHJpeENvbHVtbih0LDIpLmxlbmd0aCgpO3JldHVybiBlWzBdPW5bMF0qaSxlWzFdPW5bMV0qaSxlWzJdPW5bMl0qaSxlWzNdPTAsZVs0XT1uWzRdKnIsZVs1XT1uWzVdKnIsZVs2XT1uWzZdKnIsZVs3XT0wLGVbOF09bls4XSpvLGVbOV09bls5XSpvLGVbMTBdPW5bMTBdKm8sZVsxMV09MCxlWzEyXT0wLGVbMTNdPTAsZVsxNF09MCxlWzE1XT0xLHRoaXN9bWFrZVJvdGF0aW9uRnJvbUV1bGVyKHQpe3QmJnQuaXNFdWxlcnx8Y29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4NDogLm1ha2VSb3RhdGlvbkZyb21FdWxlcigpIG5vdyBleHBlY3RzIGEgRXVsZXIgcm90YXRpb24gcmF0aGVyIHRoYW4gYSBWZWN0b3IzIGFuZCBvcmRlci4iKTtjb25zdCBlPXRoaXMuZWxlbWVudHMsbj10LngsaT10Lnkscj10Lnosbz1NYXRoLmNvcyhuKSxhPU1hdGguc2luKG4pLHM9TWF0aC5jb3MoaSksbD1NYXRoLnNpbihpKSxjPU1hdGguY29zKHIpLHU9TWF0aC5zaW4ocik7aWYoIlhZWiI9PT10Lm9yZGVyKXtjb25zdCB0PW8qYyxuPW8qdSxpPWEqYyxyPWEqdTtlWzBdPXMqYyxlWzRdPS1zKnUsZVs4XT1sLGVbMV09bitpKmwsZVs1XT10LXIqbCxlWzldPS1hKnMsZVsyXT1yLXQqbCxlWzZdPWkrbipsLGVbMTBdPW8qc31lbHNlIGlmKCJZWFoiPT09dC5vcmRlcil7Y29uc3QgdD1zKmMsbj1zKnUsaT1sKmMscj1sKnU7ZVswXT10K3IqYSxlWzRdPWkqYS1uLGVbOF09bypsLGVbMV09byp1LGVbNV09bypjLGVbOV09LWEsZVsyXT1uKmEtaSxlWzZdPXIrdCphLGVbMTBdPW8qc31lbHNlIGlmKCJaWFkiPT09dC5vcmRlcil7Y29uc3QgdD1zKmMsbj1zKnUsaT1sKmMscj1sKnU7ZVswXT10LXIqYSxlWzRdPS1vKnUsZVs4XT1pK24qYSxlWzFdPW4raSphLGVbNV09bypjLGVbOV09ci10KmEsZVsyXT0tbypsLGVbNl09YSxlWzEwXT1vKnN9ZWxzZSBpZigiWllYIj09PXQub3JkZXIpe2NvbnN0IHQ9bypjLG49byp1LGk9YSpjLHI9YSp1O2VbMF09cypjLGVbNF09aSpsLW4sZVs4XT10KmwrcixlWzFdPXMqdSxlWzVdPXIqbCt0LGVbOV09bipsLWksZVsyXT0tbCxlWzZdPWEqcyxlWzEwXT1vKnN9ZWxzZSBpZigiWVpYIj09PXQub3JkZXIpe2NvbnN0IHQ9bypzLG49bypsLGk9YSpzLHI9YSpsO2VbMF09cypjLGVbNF09ci10KnUsZVs4XT1pKnUrbixlWzFdPXUsZVs1XT1vKmMsZVs5XT0tYSpjLGVbMl09LWwqYyxlWzZdPW4qdStpLGVbMTBdPXQtcip1fWVsc2UgaWYoIlhaWSI9PT10Lm9yZGVyKXtjb25zdCB0PW8qcyxuPW8qbCxpPWEqcyxyPWEqbDtlWzBdPXMqYyxlWzRdPS11LGVbOF09bCpjLGVbMV09dCp1K3IsZVs1XT1vKmMsZVs5XT1uKnUtaSxlWzJdPWkqdS1uLGVbNl09YSpjLGVbMTBdPXIqdSt0fXJldHVybiBlWzNdPTAsZVs3XT0wLGVbMTFdPTAsZVsxMl09MCxlWzEzXT0wLGVbMTRdPTAsZVsxNV09MSx0aGlzfW1ha2VSb3RhdGlvbkZyb21RdWF0ZXJuaW9uKHQpe3JldHVybiB0aGlzLmNvbXBvc2UodjN0LHQsYjN0KX1sb29rQXQodCxlLG4pe2NvbnN0IGk9dGhpcy5lbGVtZW50cztyZXR1cm4gUzN0LnN1YlZlY3RvcnModCxlKSwwPT09UzN0Lmxlbmd0aFNxKCkmJihTM3Quej0xKSxTM3Qubm9ybWFsaXplKCkseDN0LmNyb3NzVmVjdG9ycyhuLFMzdCksMD09PXgzdC5sZW5ndGhTcSgpJiYoMT09PU1hdGguYWJzKG4ueik/UzN0LngrPTFlLTQ6UzN0LnorPTFlLTQsUzN0Lm5vcm1hbGl6ZSgpLHgzdC5jcm9zc1ZlY3RvcnMobixTM3QpKSx4M3Qubm9ybWFsaXplKCksdzN0LmNyb3NzVmVjdG9ycyhTM3QseDN0KSxpWzBdPXgzdC54LGlbNF09dzN0LngsaVs4XT1TM3QueCxpWzFdPXgzdC55LGlbNV09dzN0LnksaVs5XT1TM3QueSxpWzJdPXgzdC56LGlbNl09dzN0LnosaVsxMF09UzN0LnosdGhpc31tdWx0aXBseSh0LGUpe3JldHVybiB2b2lkIDAhPT1lPyhjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5tdWx0aXBseSgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLm11bHRpcGx5TWF0cmljZXMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMubXVsdGlwbHlNYXRyaWNlcyh0LGUpKTp0aGlzLm11bHRpcGx5TWF0cmljZXModGhpcyx0KX1wcmVtdWx0aXBseSh0KXtyZXR1cm4gdGhpcy5tdWx0aXBseU1hdHJpY2VzKHQsdGhpcyl9bXVsdGlwbHlNYXRyaWNlcyh0LGUpe2NvbnN0IG49dC5lbGVtZW50cyxpPWUuZWxlbWVudHMscj10aGlzLmVsZW1lbnRzLG89blswXSxhPW5bNF0scz1uWzhdLGw9blsxMl0sYz1uWzFdLHU9bls1XSxoPW5bOV0sZD1uWzEzXSxwPW5bMl0sZj1uWzZdLG09blsxMF0sZz1uWzE0XSxfPW5bM10seT1uWzddLHY9blsxMV0sYj1uWzE1XSx4PWlbMF0sdz1pWzRdLFM9aVs4XSxNPWlbMTJdLEU9aVsxXSxUPWlbNV0sQz1pWzldLEE9aVsxM10saz1pWzJdLEw9aVs2XSxQPWlbMTBdLE49aVsxNF0sST1pWzNdLFI9aVs3XSxPPWlbMTFdLHo9aVsxNV07cmV0dXJuIHJbMF09byp4K2EqRStzKmsrbCpJLHJbNF09byp3K2EqVCtzKkwrbCpSLHJbOF09bypTK2EqQytzKlArbCpPLHJbMTJdPW8qTSthKkErcypOK2wqeixyWzFdPWMqeCt1KkUraCprK2QqSSxyWzVdPWMqdyt1KlQraCpMK2QqUixyWzldPWMqUyt1KkMraCpQK2QqTyxyWzEzXT1jKk0rdSpBK2gqTitkKnosclsyXT1wKngrZipFK20qaytnKkkscls2XT1wKncrZipUK20qTCtnKlIsclsxMF09cCpTK2YqQyttKlArZypPLHJbMTRdPXAqTStmKkErbSpOK2cqeixyWzNdPV8qeCt5KkUrdiprK2IqSSxyWzddPV8qdyt5KlQrdipMK2IqUixyWzExXT1fKlMreSpDK3YqUCtiKk8sclsxNV09XypNK3kqQSt2Kk4rYip6LHRoaXN9bXVsdGlwbHlTY2FsYXIodCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzO3JldHVybiBlWzBdKj10LGVbNF0qPXQsZVs4XSo9dCxlWzEyXSo9dCxlWzFdKj10LGVbNV0qPXQsZVs5XSo9dCxlWzEzXSo9dCxlWzJdKj10LGVbNl0qPXQsZVsxMF0qPXQsZVsxNF0qPXQsZVszXSo9dCxlWzddKj10LGVbMTFdKj10LGVbMTVdKj10LHRoaXN9ZGV0ZXJtaW5hbnQoKXtjb25zdCB0PXRoaXMuZWxlbWVudHMsZT10WzBdLG49dFs0XSxpPXRbOF0scj10WzEyXSxvPXRbMV0sYT10WzVdLHM9dFs5XSxsPXRbMTNdLGM9dFsyXSx1PXRbNl0saD10WzEwXSxkPXRbMTRdO3JldHVybiB0WzNdKigrcipzKnUtaSpsKnUtciphKmgrbipsKmgraSphKmQtbipzKmQpK3RbN10qKCtlKnMqZC1lKmwqaCtyKm8qaC1pKm8qZCtpKmwqYy1yKnMqYykrdFsxMV0qKCtlKmwqdS1lKmEqZC1yKm8qdStuKm8qZCtyKmEqYy1uKmwqYykrdFsxNV0qKC1pKmEqYy1lKnMqdStlKmEqaCtpKm8qdS1uKm8qaCtuKnMqYyl9dHJhbnNwb3NlKCl7Y29uc3QgdD10aGlzLmVsZW1lbnRzO2xldCBlO3JldHVybiBlPXRbMV0sdFsxXT10WzRdLHRbNF09ZSxlPXRbMl0sdFsyXT10WzhdLHRbOF09ZSxlPXRbNl0sdFs2XT10WzldLHRbOV09ZSxlPXRbM10sdFszXT10WzEyXSx0WzEyXT1lLGU9dFs3XSx0WzddPXRbMTNdLHRbMTNdPWUsZT10WzExXSx0WzExXT10WzE0XSx0WzE0XT1lLHRoaXN9c2V0UG9zaXRpb24odCxlLG4pe2NvbnN0IGk9dGhpcy5lbGVtZW50cztyZXR1cm4gdC5pc1ZlY3RvcjM/KGlbMTJdPXQueCxpWzEzXT10LnksaVsxNF09dC56KTooaVsxMl09dCxpWzEzXT1lLGlbMTRdPW4pLHRoaXN9aW52ZXJ0KCl7Y29uc3QgdD10aGlzLmVsZW1lbnRzLGU9dFswXSxuPXRbMV0saT10WzJdLHI9dFszXSxvPXRbNF0sYT10WzVdLHM9dFs2XSxsPXRbN10sYz10WzhdLHU9dFs5XSxoPXRbMTBdLGQ9dFsxMV0scD10WzEyXSxmPXRbMTNdLG09dFsxNF0sZz10WzE1XSxfPXUqbSpsLWYqaCpsK2YqcypkLWEqbSpkLXUqcypnK2EqaCpnLHk9cCpoKmwtYyptKmwtcCpzKmQrbyptKmQrYypzKmctbypoKmcsdj1jKmYqbC1wKnUqbCtwKmEqZC1vKmYqZC1jKmEqZytvKnUqZyxiPXAqdSpzLWMqZipzLXAqYSpoK28qZipoK2MqYSptLW8qdSptLHg9ZSpfK24qeStpKnYrcipiO2lmKDA9PT14KXJldHVybiB0aGlzLnNldCgwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwKTtjb25zdCB3PTEveDtyZXR1cm4gdFswXT1fKncsdFsxXT0oZipoKnItdSptKnItZippKmQrbiptKmQrdSppKmctbipoKmcpKncsdFsyXT0oYSptKnItZipzKnIrZippKmwtbiptKmwtYSppKmcrbipzKmcpKncsdFszXT0odSpzKnItYSpoKnItdSppKmwrbipoKmwrYSppKmQtbipzKmQpKncsdFs0XT15KncsdFs1XT0oYyptKnItcCpoKnIrcCppKmQtZSptKmQtYyppKmcrZSpoKmcpKncsdFs2XT0ocCpzKnItbyptKnItcCppKmwrZSptKmwrbyppKmctZSpzKmcpKncsdFs3XT0obypoKnItYypzKnIrYyppKmwtZSpoKmwtbyppKmQrZSpzKmQpKncsdFs4XT12KncsdFs5XT0ocCp1KnItYypmKnItcCpuKmQrZSpmKmQrYypuKmctZSp1KmcpKncsdFsxMF09KG8qZipyLXAqYSpyK3AqbipsLWUqZipsLW8qbipnK2UqYSpnKSp3LHRbMTFdPShjKmEqci1vKnUqci1jKm4qbCtlKnUqbCtvKm4qZC1lKmEqZCkqdyx0WzEyXT1iKncsdFsxM109KGMqZippLXAqdSppK3AqbipoLWUqZipoLWMqbiptK2UqdSptKSp3LHRbMTRdPShwKmEqaS1vKmYqaS1wKm4qcytlKmYqcytvKm4qbS1lKmEqbSkqdyx0WzE1XT0obyp1KmktYyphKmkrYypuKnMtZSp1KnMtbypuKmgrZSphKmgpKncsdGhpc31zY2FsZSh0KXtjb25zdCBlPXRoaXMuZWxlbWVudHMsbj10LngsaT10Lnkscj10Lno7cmV0dXJuIGVbMF0qPW4sZVs0XSo9aSxlWzhdKj1yLGVbMV0qPW4sZVs1XSo9aSxlWzldKj1yLGVbMl0qPW4sZVs2XSo9aSxlWzEwXSo9cixlWzNdKj1uLGVbN10qPWksZVsxMV0qPXIsdGhpc31nZXRNYXhTY2FsZU9uQXhpcygpe2NvbnN0IHQ9dGhpcy5lbGVtZW50cztyZXR1cm4gTWF0aC5zcXJ0KE1hdGgubWF4KHRbMF0qdFswXSt0WzFdKnRbMV0rdFsyXSp0WzJdLHRbNF0qdFs0XSt0WzVdKnRbNV0rdFs2XSp0WzZdLHRbOF0qdFs4XSt0WzldKnRbOV0rdFsxMF0qdFsxMF0pKX1tYWtlVHJhbnNsYXRpb24odCxlLG4pe3JldHVybiB0aGlzLnNldCgxLDAsMCx0LDAsMSwwLGUsMCwwLDEsbiwwLDAsMCwxKSx0aGlzfW1ha2VSb3RhdGlvblgodCl7Y29uc3QgZT1NYXRoLmNvcyh0KSxuPU1hdGguc2luKHQpO3JldHVybiB0aGlzLnNldCgxLDAsMCwwLDAsZSwtbiwwLDAsbixlLDAsMCwwLDAsMSksdGhpc31tYWtlUm90YXRpb25ZKHQpe2NvbnN0IGU9TWF0aC5jb3ModCksbj1NYXRoLnNpbih0KTtyZXR1cm4gdGhpcy5zZXQoZSwwLG4sMCwwLDEsMCwwLC1uLDAsZSwwLDAsMCwwLDEpLHRoaXN9bWFrZVJvdGF0aW9uWih0KXtjb25zdCBlPU1hdGguY29zKHQpLG49TWF0aC5zaW4odCk7cmV0dXJuIHRoaXMuc2V0KGUsLW4sMCwwLG4sZSwwLDAsMCwwLDEsMCwwLDAsMCwxKSx0aGlzfW1ha2VSb3RhdGlvbkF4aXModCxlKXtjb25zdCBuPU1hdGguY29zKGUpLGk9TWF0aC5zaW4oZSkscj0xLW4sbz10LngsYT10Lnkscz10LnosbD1yKm8sYz1yKmE7cmV0dXJuIHRoaXMuc2V0KGwqbytuLGwqYS1pKnMsbCpzK2kqYSwwLGwqYStpKnMsYyphK24sYypzLWkqbywwLGwqcy1pKmEsYypzK2kqbyxyKnMqcytuLDAsMCwwLDAsMSksdGhpc31tYWtlU2NhbGUodCxlLG4pe3JldHVybiB0aGlzLnNldCh0LDAsMCwwLDAsZSwwLDAsMCwwLG4sMCwwLDAsMCwxKSx0aGlzfW1ha2VTaGVhcih0LGUsbixpLHIsbyl7cmV0dXJuIHRoaXMuc2V0KDEsbixyLDAsdCwxLG8sMCxlLGksMSwwLDAsMCwwLDEpLHRoaXN9Y29tcG9zZSh0LGUsbil7Y29uc3QgaT10aGlzLmVsZW1lbnRzLHI9ZS5feCxvPWUuX3ksYT1lLl96LHM9ZS5fdyxsPXIrcixjPW8rbyx1PWErYSxoPXIqbCxkPXIqYyxwPXIqdSxmPW8qYyxtPW8qdSxnPWEqdSxfPXMqbCx5PXMqYyx2PXMqdSxiPW4ueCx4PW4ueSx3PW4uejtyZXR1cm4gaVswXT0oMS0oZitnKSkqYixpWzFdPShkK3YpKmIsaVsyXT0ocC15KSpiLGlbM109MCxpWzRdPShkLXYpKngsaVs1XT0oMS0oaCtnKSkqeCxpWzZdPShtK18pKngsaVs3XT0wLGlbOF09KHAreSkqdyxpWzldPShtLV8pKncsaVsxMF09KDEtKGgrZikpKncsaVsxMV09MCxpWzEyXT10LngsaVsxM109dC55LGlbMTRdPXQueixpWzE1XT0xLHRoaXN9ZGVjb21wb3NlKHQsZSxuKXtjb25zdCBpPXRoaXMuZWxlbWVudHM7bGV0IHI9XzN0LnNldChpWzBdLGlbMV0saVsyXSkubGVuZ3RoKCk7Y29uc3Qgbz1fM3Quc2V0KGlbNF0saVs1XSxpWzZdKS5sZW5ndGgoKSxhPV8zdC5zZXQoaVs4XSxpWzldLGlbMTBdKS5sZW5ndGgoKTt0aGlzLmRldGVybWluYW50KCk8MCYmKHI9LXIpLHQueD1pWzEyXSx0Lnk9aVsxM10sdC56PWlbMTRdLHkzdC5jb3B5KHRoaXMpO2NvbnN0IHM9MS9yLGw9MS9vLGM9MS9hO3JldHVybiB5M3QuZWxlbWVudHNbMF0qPXMseTN0LmVsZW1lbnRzWzFdKj1zLHkzdC5lbGVtZW50c1syXSo9cyx5M3QuZWxlbWVudHNbNF0qPWwseTN0LmVsZW1lbnRzWzVdKj1sLHkzdC5lbGVtZW50c1s2XSo9bCx5M3QuZWxlbWVudHNbOF0qPWMseTN0LmVsZW1lbnRzWzldKj1jLHkzdC5lbGVtZW50c1sxMF0qPWMsZS5zZXRGcm9tUm90YXRpb25NYXRyaXgoeTN0KSxuLng9cixuLnk9byxuLno9YSx0aGlzfW1ha2VQZXJzcGVjdGl2ZSh0LGUsbixpLHIsbyl7dm9pZCAwPT09byYmY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubWFrZVBlcnNwZWN0aXZlKCkgaGFzIGJlZW4gcmVkZWZpbmVkIGFuZCBoYXMgYSBuZXcgc2lnbmF0dXJlLiBQbGVhc2UgY2hlY2sgdGhlIGRvY3MuIik7Y29uc3QgYT10aGlzLmVsZW1lbnRzLHM9MipyLyhuLWkpLGw9KGUrdCkvKGUtdCksYz0obitpKS8obi1pKSx1PS0obytyKS8oby1yKSxoPS0yKm8qci8oby1yKTtyZXR1cm4gYVswXT0yKnIvKGUtdCksYVs0XT0wLGFbOF09bCxhWzEyXT0wLGFbMV09MCxhWzVdPXMsYVs5XT1jLGFbMTNdPTAsYVsyXT0wLGFbNl09MCxhWzEwXT11LGFbMTRdPWgsYVszXT0wLGFbN109MCxhWzExXT0tMSxhWzE1XT0wLHRoaXN9bWFrZU9ydGhvZ3JhcGhpYyh0LGUsbixpLHIsbyl7Y29uc3QgYT10aGlzLmVsZW1lbnRzLHM9MS8oZS10KSxsPTEvKG4taSksYz0xLyhvLXIpLHU9KGUrdCkqcyxoPShuK2kpKmwsZD0obytyKSpjO3JldHVybiBhWzBdPTIqcyxhWzRdPTAsYVs4XT0wLGFbMTJdPS11LGFbMV09MCxhWzVdPTIqbCxhWzldPTAsYVsxM109LWgsYVsyXT0wLGFbNl09MCxhWzEwXT0tMipjLGFbMTRdPS1kLGFbM109MCxhWzddPTAsYVsxMV09MCxhWzE1XT0xLHRoaXN9ZXF1YWxzKHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50cyxuPXQuZWxlbWVudHM7Zm9yKGxldCB0PTA7dDwxNjt0KyspaWYoZVt0XSE9PW5bdF0pcmV0dXJuITE7cmV0dXJuITB9ZnJvbUFycmF5KHQsZT0wKXtmb3IobGV0IG49MDtuPDE2O24rKyl0aGlzLmVsZW1lbnRzW25dPXRbbitlXTtyZXR1cm4gdGhpc310b0FycmF5KHQ9W10sZT0wKXtjb25zdCBuPXRoaXMuZWxlbWVudHM7cmV0dXJuIHRbZV09blswXSx0W2UrMV09blsxXSx0W2UrMl09blsyXSx0W2UrM109blszXSx0W2UrNF09bls0XSx0W2UrNV09bls1XSx0W2UrNl09bls2XSx0W2UrN109bls3XSx0W2UrOF09bls4XSx0W2UrOV09bls5XSx0W2UrMTBdPW5bMTBdLHRbZSsxMV09blsxMV0sdFtlKzEyXT1uWzEyXSx0W2UrMTNdPW5bMTNdLHRbZSsxNF09blsxNF0sdFtlKzE1XT1uWzE1XSx0fX1nM3QucHJvdG90eXBlLmlzTWF0cml4ND0hMDtjb25zdCBfM3Q9bmV3IEg1dCx5M3Q9bmV3IGczdCx2M3Q9bmV3IEg1dCgwLDAsMCksYjN0PW5ldyBINXQoMSwxLDEpLHgzdD1uZXcgSDV0LHczdD1uZXcgSDV0LFMzdD1uZXcgSDV0LE0zdD1uZXcgZzN0LEUzdD1uZXcgQjV0O2NsYXNzIFQzdHtjb25zdHJ1Y3Rvcih0PTAsZT0wLG49MCxpPVQzdC5EZWZhdWx0T3JkZXIpe3RoaXMuX3g9dCx0aGlzLl95PWUsdGhpcy5fej1uLHRoaXMuX29yZGVyPWl9Z2V0IHgoKXtyZXR1cm4gdGhpcy5feH1zZXQgeCh0KXt0aGlzLl94PXQsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpfWdldCB5KCl7cmV0dXJuIHRoaXMuX3l9c2V0IHkodCl7dGhpcy5feT10LHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX1nZXQgeigpe3JldHVybiB0aGlzLl96fXNldCB6KHQpe3RoaXMuX3o9dCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9Z2V0IG9yZGVyKCl7cmV0dXJuIHRoaXMuX29yZGVyfXNldCBvcmRlcih0KXt0aGlzLl9vcmRlcj10LHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX1zZXQodCxlLG4saT10aGlzLl9vcmRlcil7cmV0dXJuIHRoaXMuX3g9dCx0aGlzLl95PWUsdGhpcy5fej1uLHRoaXMuX29yZGVyPWksdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5feCx0aGlzLl95LHRoaXMuX3osdGhpcy5fb3JkZXIpfWNvcHkodCl7cmV0dXJuIHRoaXMuX3g9dC5feCx0aGlzLl95PXQuX3ksdGhpcy5fej10Ll96LHRoaXMuX29yZGVyPXQuX29yZGVyLHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKSx0aGlzfXNldEZyb21Sb3RhdGlvbk1hdHJpeCh0LGU9dGhpcy5fb3JkZXIsbj0hMCl7Y29uc3QgaT10LmVsZW1lbnRzLHI9aVswXSxvPWlbNF0sYT1pWzhdLHM9aVsxXSxsPWlbNV0sYz1pWzldLHU9aVsyXSxoPWlbNl0sZD1pWzEwXTtzd2l0Y2goZSl7Y2FzZSJYWVoiOnRoaXMuX3k9TWF0aC5hc2luKHM1dChhLC0xLDEpKSxNYXRoLmFicyhhKTwuOTk5OTk5OT8odGhpcy5feD1NYXRoLmF0YW4yKC1jLGQpLHRoaXMuX3o9TWF0aC5hdGFuMigtbyxyKSk6KHRoaXMuX3g9TWF0aC5hdGFuMihoLGwpLHRoaXMuX3o9MCk7YnJlYWs7Y2FzZSJZWFoiOnRoaXMuX3g9TWF0aC5hc2luKC1zNXQoYywtMSwxKSksTWF0aC5hYnMoYyk8Ljk5OTk5OTk/KHRoaXMuX3k9TWF0aC5hdGFuMihhLGQpLHRoaXMuX3o9TWF0aC5hdGFuMihzLGwpKToodGhpcy5feT1NYXRoLmF0YW4yKC11LHIpLHRoaXMuX3o9MCk7YnJlYWs7Y2FzZSJaWFkiOnRoaXMuX3g9TWF0aC5hc2luKHM1dChoLC0xLDEpKSxNYXRoLmFicyhoKTwuOTk5OTk5OT8odGhpcy5feT1NYXRoLmF0YW4yKC11LGQpLHRoaXMuX3o9TWF0aC5hdGFuMigtbyxsKSk6KHRoaXMuX3k9MCx0aGlzLl96PU1hdGguYXRhbjIocyxyKSk7YnJlYWs7Y2FzZSJaWVgiOnRoaXMuX3k9TWF0aC5hc2luKC1zNXQodSwtMSwxKSksTWF0aC5hYnModSk8Ljk5OTk5OTk/KHRoaXMuX3g9TWF0aC5hdGFuMihoLGQpLHRoaXMuX3o9TWF0aC5hdGFuMihzLHIpKToodGhpcy5feD0wLHRoaXMuX3o9TWF0aC5hdGFuMigtbyxsKSk7YnJlYWs7Y2FzZSJZWlgiOnRoaXMuX3o9TWF0aC5hc2luKHM1dChzLC0xLDEpKSxNYXRoLmFicyhzKTwuOTk5OTk5OT8odGhpcy5feD1NYXRoLmF0YW4yKC1jLGwpLHRoaXMuX3k9TWF0aC5hdGFuMigtdSxyKSk6KHRoaXMuX3g9MCx0aGlzLl95PU1hdGguYXRhbjIoYSxkKSk7YnJlYWs7Y2FzZSJYWlkiOnRoaXMuX3o9TWF0aC5hc2luKC1zNXQobywtMSwxKSksTWF0aC5hYnMobyk8Ljk5OTk5OTk/KHRoaXMuX3g9TWF0aC5hdGFuMihoLGwpLHRoaXMuX3k9TWF0aC5hdGFuMihhLHIpKToodGhpcy5feD1NYXRoLmF0YW4yKC1jLGQpLHRoaXMuX3k9MCk7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLndhcm4oIlRIUkVFLkV1bGVyOiAuc2V0RnJvbVJvdGF0aW9uTWF0cml4KCkgZW5jb3VudGVyZWQgYW4gdW5rbm93biBvcmRlcjogIitlKX1yZXR1cm4gdGhpcy5fb3JkZXI9ZSwhMD09PW4mJnRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKSx0aGlzfXNldEZyb21RdWF0ZXJuaW9uKHQsZSxuKXtyZXR1cm4gTTN0Lm1ha2VSb3RhdGlvbkZyb21RdWF0ZXJuaW9uKHQpLHRoaXMuc2V0RnJvbVJvdGF0aW9uTWF0cml4KE0zdCxlLG4pfXNldEZyb21WZWN0b3IzKHQsZT10aGlzLl9vcmRlcil7cmV0dXJuIHRoaXMuc2V0KHQueCx0LnksdC56LGUpfXJlb3JkZXIodCl7cmV0dXJuIEUzdC5zZXRGcm9tRXVsZXIodGhpcyksdGhpcy5zZXRGcm9tUXVhdGVybmlvbihFM3QsdCl9ZXF1YWxzKHQpe3JldHVybiB0Ll94PT09dGhpcy5feCYmdC5feT09PXRoaXMuX3kmJnQuX3o9PT10aGlzLl96JiZ0Ll9vcmRlcj09PXRoaXMuX29yZGVyfWZyb21BcnJheSh0KXtyZXR1cm4gdGhpcy5feD10WzBdLHRoaXMuX3k9dFsxXSx0aGlzLl96PXRbMl0sdm9pZCAwIT09dFszXSYmKHRoaXMuX29yZGVyPXRbM10pLHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKSx0aGlzfXRvQXJyYXkodD1bXSxlPTApe3JldHVybiB0W2VdPXRoaXMuX3gsdFtlKzFdPXRoaXMuX3ksdFtlKzJdPXRoaXMuX3osdFtlKzNdPXRoaXMuX29yZGVyLHR9dG9WZWN0b3IzKHQpe3JldHVybiB0P3Quc2V0KHRoaXMuX3gsdGhpcy5feSx0aGlzLl96KTpuZXcgSDV0KHRoaXMuX3gsdGhpcy5feSx0aGlzLl96KX1fb25DaGFuZ2UodCl7cmV0dXJuIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2s9dCx0aGlzfV9vbkNoYW5nZUNhbGxiYWNrKCl7fX1UM3QucHJvdG90eXBlLmlzRXVsZXI9ITAsVDN0LkRlZmF1bHRPcmRlcj0iWFlaIixUM3QuUm90YXRpb25PcmRlcnM9WyJYWVoiLCJZWlgiLCJaWFkiLCJYWlkiLCJZWFoiLCJaWVgiXTtjbGFzcyBDM3R7Y29uc3RydWN0b3IoKXt0aGlzLm1hc2s9MX1zZXQodCl7dGhpcy5tYXNrPTE8PHR8MH1lbmFibGUodCl7dGhpcy5tYXNrfD0xPDx0fDB9ZW5hYmxlQWxsKCl7dGhpcy5tYXNrPS0xfXRvZ2dsZSh0KXt0aGlzLm1hc2tePTE8PHR8MH1kaXNhYmxlKHQpe3RoaXMubWFzayY9figxPDx0fDApfWRpc2FibGVBbGwoKXt0aGlzLm1hc2s9MH10ZXN0KHQpe3JldHVybiAwIT0odGhpcy5tYXNrJnQubWFzayl9fWxldCBBM3Q9MDtjb25zdCBrM3Q9bmV3IEg1dCxMM3Q9bmV3IEI1dCxQM3Q9bmV3IGczdCxOM3Q9bmV3IEg1dCxJM3Q9bmV3IEg1dCxSM3Q9bmV3IEg1dCxPM3Q9bmV3IEI1dCx6M3Q9bmV3IEg1dCgxLDAsMCksRDN0PW5ldyBINXQoMCwxLDApLEIzdD1uZXcgSDV0KDAsMCwxKSxIM3Q9e3R5cGU6ImFkZGVkIn0sRjN0PXt0eXBlOiJyZW1vdmVkIn07Y2xhc3MgVjN0IGV4dGVuZHMgZTV0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiaWQiLHt2YWx1ZTpBM3QrK30pLHRoaXMudXVpZD1hNXQoKSx0aGlzLm5hbWU9IiIsdGhpcy50eXBlPSJPYmplY3QzRCIsdGhpcy5wYXJlbnQ9bnVsbCx0aGlzLmNoaWxkcmVuPVtdLHRoaXMudXA9VjN0LkRlZmF1bHRVcC5jbG9uZSgpO2NvbnN0IHQ9bmV3IEg1dCxlPW5ldyBUM3Qsbj1uZXcgQjV0LGk9bmV3IEg1dCgxLDEsMSk7ZS5fb25DaGFuZ2UoKGZ1bmN0aW9uIHIoKXtuLnNldEZyb21FdWxlcihlLCExKX0pKSxuLl9vbkNoYW5nZSgoZnVuY3Rpb24gbygpe2Uuc2V0RnJvbVF1YXRlcm5pb24obix2b2lkIDAsITEpfSkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRoaXMse3Bvc2l0aW9uOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTp0fSxyb3RhdGlvbjp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6ZX0scXVhdGVybmlvbjp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6bn0sc2NhbGU6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOml9LG1vZGVsVmlld01hdHJpeDp7dmFsdWU6bmV3IGczdH0sbm9ybWFsTWF0cml4Ont2YWx1ZTpuZXcgQTV0fX0pLHRoaXMubWF0cml4PW5ldyBnM3QsdGhpcy5tYXRyaXhXb3JsZD1uZXcgZzN0LHRoaXMubWF0cml4QXV0b1VwZGF0ZT1WM3QuRGVmYXVsdE1hdHJpeEF1dG9VcGRhdGUsdGhpcy5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSExLHRoaXMubGF5ZXJzPW5ldyBDM3QsdGhpcy52aXNpYmxlPSEwLHRoaXMuY2FzdFNoYWRvdz0hMSx0aGlzLnJlY2VpdmVTaGFkb3c9ITEsdGhpcy5mcnVzdHVtQ3VsbGVkPSEwLHRoaXMucmVuZGVyT3JkZXI9MCx0aGlzLmFuaW1hdGlvbnM9W10sdGhpcy51c2VyRGF0YT17fX1vbkJlZm9yZVJlbmRlcigpe31vbkFmdGVyUmVuZGVyKCl7fWFwcGx5TWF0cml4NCh0KXt0aGlzLm1hdHJpeEF1dG9VcGRhdGUmJnRoaXMudXBkYXRlTWF0cml4KCksdGhpcy5tYXRyaXgucHJlbXVsdGlwbHkodCksdGhpcy5tYXRyaXguZGVjb21wb3NlKHRoaXMucG9zaXRpb24sdGhpcy5xdWF0ZXJuaW9uLHRoaXMuc2NhbGUpfWFwcGx5UXVhdGVybmlvbih0KXtyZXR1cm4gdGhpcy5xdWF0ZXJuaW9uLnByZW11bHRpcGx5KHQpLHRoaXN9c2V0Um90YXRpb25Gcm9tQXhpc0FuZ2xlKHQsZSl7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21BeGlzQW5nbGUodCxlKX1zZXRSb3RhdGlvbkZyb21FdWxlcih0KXt0aGlzLnF1YXRlcm5pb24uc2V0RnJvbUV1bGVyKHQsITApfXNldFJvdGF0aW9uRnJvbU1hdHJpeCh0KXt0aGlzLnF1YXRlcm5pb24uc2V0RnJvbVJvdGF0aW9uTWF0cml4KHQpfXNldFJvdGF0aW9uRnJvbVF1YXRlcm5pb24odCl7dGhpcy5xdWF0ZXJuaW9uLmNvcHkodCl9cm90YXRlT25BeGlzKHQsZSl7cmV0dXJuIEwzdC5zZXRGcm9tQXhpc0FuZ2xlKHQsZSksdGhpcy5xdWF0ZXJuaW9uLm11bHRpcGx5KEwzdCksdGhpc31yb3RhdGVPbldvcmxkQXhpcyh0LGUpe3JldHVybiBMM3Quc2V0RnJvbUF4aXNBbmdsZSh0LGUpLHRoaXMucXVhdGVybmlvbi5wcmVtdWx0aXBseShMM3QpLHRoaXN9cm90YXRlWCh0KXtyZXR1cm4gdGhpcy5yb3RhdGVPbkF4aXMoejN0LHQpfXJvdGF0ZVkodCl7cmV0dXJuIHRoaXMucm90YXRlT25BeGlzKEQzdCx0KX1yb3RhdGVaKHQpe3JldHVybiB0aGlzLnJvdGF0ZU9uQXhpcyhCM3QsdCl9dHJhbnNsYXRlT25BeGlzKHQsZSl7cmV0dXJuIGszdC5jb3B5KHQpLmFwcGx5UXVhdGVybmlvbih0aGlzLnF1YXRlcm5pb24pLHRoaXMucG9zaXRpb24uYWRkKGszdC5tdWx0aXBseVNjYWxhcihlKSksdGhpc310cmFuc2xhdGVYKHQpe3JldHVybiB0aGlzLnRyYW5zbGF0ZU9uQXhpcyh6M3QsdCl9dHJhbnNsYXRlWSh0KXtyZXR1cm4gdGhpcy50cmFuc2xhdGVPbkF4aXMoRDN0LHQpfXRyYW5zbGF0ZVoodCl7cmV0dXJuIHRoaXMudHJhbnNsYXRlT25BeGlzKEIzdCx0KX1sb2NhbFRvV29ybGQodCl7cmV0dXJuIHQuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpfXdvcmxkVG9Mb2NhbCh0KXtyZXR1cm4gdC5hcHBseU1hdHJpeDQoUDN0LmNvcHkodGhpcy5tYXRyaXhXb3JsZCkuaW52ZXJ0KCkpfWxvb2tBdCh0LGUsbil7dC5pc1ZlY3RvcjM/TjN0LmNvcHkodCk6TjN0LnNldCh0LGUsbik7Y29uc3QgaT10aGlzLnBhcmVudDt0aGlzLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKSxJM3Quc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHRoaXMubWF0cml4V29ybGQpLHRoaXMuaXNDYW1lcmF8fHRoaXMuaXNMaWdodD9QM3QubG9va0F0KEkzdCxOM3QsdGhpcy51cCk6UDN0Lmxvb2tBdChOM3QsSTN0LHRoaXMudXApLHRoaXMucXVhdGVybmlvbi5zZXRGcm9tUm90YXRpb25NYXRyaXgoUDN0KSxpJiYoUDN0LmV4dHJhY3RSb3RhdGlvbihpLm1hdHJpeFdvcmxkKSxMM3Quc2V0RnJvbVJvdGF0aW9uTWF0cml4KFAzdCksdGhpcy5xdWF0ZXJuaW9uLnByZW11bHRpcGx5KEwzdC5pbnZlcnQoKSkpfWFkZCh0KXtpZihhcmd1bWVudHMubGVuZ3RoPjEpe2ZvcihsZXQgdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspdGhpcy5hZGQoYXJndW1lbnRzW3RdKTtyZXR1cm4gdGhpc31yZXR1cm4gdD09PXRoaXM/KGNvbnNvbGUuZXJyb3IoIlRIUkVFLk9iamVjdDNELmFkZDogb2JqZWN0IGNhbid0IGJlIGFkZGVkIGFzIGEgY2hpbGQgb2YgaXRzZWxmLiIsdCksdGhpcyk6KHQmJnQuaXNPYmplY3QzRD8obnVsbCE9PXQucGFyZW50JiZ0LnBhcmVudC5yZW1vdmUodCksdC5wYXJlbnQ9dGhpcyx0aGlzLmNoaWxkcmVuLnB1c2godCksdC5kaXNwYXRjaEV2ZW50KEgzdCkpOmNvbnNvbGUuZXJyb3IoIlRIUkVFLk9iamVjdDNELmFkZDogb2JqZWN0IG5vdCBhbiBpbnN0YW5jZSBvZiBUSFJFRS5PYmplY3QzRC4iLHQpLHRoaXMpfXJlbW92ZSh0KXtpZihhcmd1bWVudHMubGVuZ3RoPjEpe2ZvcihsZXQgdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspdGhpcy5yZW1vdmUoYXJndW1lbnRzW3RdKTtyZXR1cm4gdGhpc31jb25zdCBlPXRoaXMuY2hpbGRyZW4uaW5kZXhPZih0KTtyZXR1cm4tMSE9PWUmJih0LnBhcmVudD1udWxsLHRoaXMuY2hpbGRyZW4uc3BsaWNlKGUsMSksdC5kaXNwYXRjaEV2ZW50KEYzdCkpLHRoaXN9cmVtb3ZlRnJvbVBhcmVudCgpe2NvbnN0IHQ9dGhpcy5wYXJlbnQ7cmV0dXJuIG51bGwhPT10JiZ0LnJlbW92ZSh0aGlzKSx0aGlzfWNsZWFyKCl7Zm9yKGxldCB0PTA7dDx0aGlzLmNoaWxkcmVuLmxlbmd0aDt0Kyspe2NvbnN0IGU9dGhpcy5jaGlsZHJlblt0XTtlLnBhcmVudD1udWxsLGUuZGlzcGF0Y2hFdmVudChGM3QpfXJldHVybiB0aGlzLmNoaWxkcmVuLmxlbmd0aD0wLHRoaXN9YXR0YWNoKHQpe3JldHVybiB0aGlzLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKSxQM3QuY29weSh0aGlzLm1hdHJpeFdvcmxkKS5pbnZlcnQoKSxudWxsIT09dC5wYXJlbnQmJih0LnBhcmVudC51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSksUDN0Lm11bHRpcGx5KHQucGFyZW50Lm1hdHJpeFdvcmxkKSksdC5hcHBseU1hdHJpeDQoUDN0KSx0aGlzLmFkZCh0KSx0LnVwZGF0ZVdvcmxkTWF0cml4KCExLCEwKSx0aGlzfWdldE9iamVjdEJ5SWQodCl7cmV0dXJuIHRoaXMuZ2V0T2JqZWN0QnlQcm9wZXJ0eSgiaWQiLHQpfWdldE9iamVjdEJ5TmFtZSh0KXtyZXR1cm4gdGhpcy5nZXRPYmplY3RCeVByb3BlcnR5KCJuYW1lIix0KX1nZXRPYmplY3RCeVByb3BlcnR5KHQsZSl7aWYodGhpc1t0XT09PWUpcmV0dXJuIHRoaXM7Zm9yKGxldCBuPTAsaT10aGlzLmNoaWxkcmVuLmxlbmd0aDtuPGk7bisrKXtjb25zdCBpPXRoaXMuY2hpbGRyZW5bbl0uZ2V0T2JqZWN0QnlQcm9wZXJ0eSh0LGUpO2lmKHZvaWQgMCE9PWkpcmV0dXJuIGl9fWdldFdvcmxkUG9zaXRpb24odCl7cmV0dXJuIHRoaXMudXBkYXRlV29ybGRNYXRyaXgoITAsITEpLHQuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHRoaXMubWF0cml4V29ybGQpfWdldFdvcmxkUXVhdGVybmlvbih0KXtyZXR1cm4gdGhpcy51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSksdGhpcy5tYXRyaXhXb3JsZC5kZWNvbXBvc2UoSTN0LHQsUjN0KSx0fWdldFdvcmxkU2NhbGUodCl7cmV0dXJuIHRoaXMudXBkYXRlV29ybGRNYXRyaXgoITAsITEpLHRoaXMubWF0cml4V29ybGQuZGVjb21wb3NlKEkzdCxPM3QsdCksdH1nZXRXb3JsZERpcmVjdGlvbih0KXt0aGlzLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKTtjb25zdCBlPXRoaXMubWF0cml4V29ybGQuZWxlbWVudHM7cmV0dXJuIHQuc2V0KGVbOF0sZVs5XSxlWzEwXSkubm9ybWFsaXplKCl9cmF5Y2FzdCgpe310cmF2ZXJzZSh0KXt0KHRoaXMpO2NvbnN0IGU9dGhpcy5jaGlsZHJlbjtmb3IobGV0IG49MCxpPWUubGVuZ3RoO248aTtuKyspZVtuXS50cmF2ZXJzZSh0KX10cmF2ZXJzZVZpc2libGUodCl7aWYoITE9PT10aGlzLnZpc2libGUpcmV0dXJuO3QodGhpcyk7Y29uc3QgZT10aGlzLmNoaWxkcmVuO2ZvcihsZXQgbj0wLGk9ZS5sZW5ndGg7bjxpO24rKyllW25dLnRyYXZlcnNlVmlzaWJsZSh0KX10cmF2ZXJzZUFuY2VzdG9ycyh0KXtjb25zdCBlPXRoaXMucGFyZW50O251bGwhPT1lJiYodChlKSxlLnRyYXZlcnNlQW5jZXN0b3JzKHQpKX11cGRhdGVNYXRyaXgoKXt0aGlzLm1hdHJpeC5jb21wb3NlKHRoaXMucG9zaXRpb24sdGhpcy5xdWF0ZXJuaW9uLHRoaXMuc2NhbGUpLHRoaXMubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMH11cGRhdGVNYXRyaXhXb3JsZCh0KXt0aGlzLm1hdHJpeEF1dG9VcGRhdGUmJnRoaXMudXBkYXRlTWF0cml4KCksKHRoaXMubWF0cml4V29ybGROZWVkc1VwZGF0ZXx8dCkmJihudWxsPT09dGhpcy5wYXJlbnQ/dGhpcy5tYXRyaXhXb3JsZC5jb3B5KHRoaXMubWF0cml4KTp0aGlzLm1hdHJpeFdvcmxkLm11bHRpcGx5TWF0cmljZXModGhpcy5wYXJlbnQubWF0cml4V29ybGQsdGhpcy5tYXRyaXgpLHRoaXMubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMSx0PSEwKTtjb25zdCBlPXRoaXMuY2hpbGRyZW47Zm9yKGxldCBuPTAsaT1lLmxlbmd0aDtuPGk7bisrKWVbbl0udXBkYXRlTWF0cml4V29ybGQodCl9dXBkYXRlV29ybGRNYXRyaXgodCxlKXtjb25zdCBuPXRoaXMucGFyZW50O2lmKCEwPT09dCYmbnVsbCE9PW4mJm4udXBkYXRlV29ybGRNYXRyaXgoITAsITEpLHRoaXMubWF0cml4QXV0b1VwZGF0ZSYmdGhpcy51cGRhdGVNYXRyaXgoKSxudWxsPT09dGhpcy5wYXJlbnQ/dGhpcy5tYXRyaXhXb3JsZC5jb3B5KHRoaXMubWF0cml4KTp0aGlzLm1hdHJpeFdvcmxkLm11bHRpcGx5TWF0cmljZXModGhpcy5wYXJlbnQubWF0cml4V29ybGQsdGhpcy5tYXRyaXgpLCEwPT09ZSl7Y29uc3QgdD10aGlzLmNoaWxkcmVuO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl0W2VdLnVwZGF0ZVdvcmxkTWF0cml4KCExLCEwKX19dG9KU09OKHQpe2NvbnN0IGU9dm9pZCAwPT09dHx8InN0cmluZyI9PXR5cGVvZiB0LG49e307ZSYmKHQ9e2dlb21ldHJpZXM6e30sbWF0ZXJpYWxzOnt9LHRleHR1cmVzOnt9LGltYWdlczp7fSxzaGFwZXM6e30sc2tlbGV0b25zOnt9LGFuaW1hdGlvbnM6e319LG4ubWV0YWRhdGE9e3ZlcnNpb246NC41LHR5cGU6Ik9iamVjdCIsZ2VuZXJhdG9yOiJPYmplY3QzRC50b0pTT04ifSk7Y29uc3QgaT17fTtmdW5jdGlvbiByKGUsbil7cmV0dXJuIHZvaWQgMD09PWVbbi51dWlkXSYmKGVbbi51dWlkXT1uLnRvSlNPTih0KSksbi51dWlkfWlmKGkudXVpZD10aGlzLnV1aWQsaS50eXBlPXRoaXMudHlwZSwiIiE9PXRoaXMubmFtZSYmKGkubmFtZT10aGlzLm5hbWUpLCEwPT09dGhpcy5jYXN0U2hhZG93JiYoaS5jYXN0U2hhZG93PSEwKSwhMD09PXRoaXMucmVjZWl2ZVNoYWRvdyYmKGkucmVjZWl2ZVNoYWRvdz0hMCksITE9PT10aGlzLnZpc2libGUmJihpLnZpc2libGU9ITEpLCExPT09dGhpcy5mcnVzdHVtQ3VsbGVkJiYoaS5mcnVzdHVtQ3VsbGVkPSExKSwwIT09dGhpcy5yZW5kZXJPcmRlciYmKGkucmVuZGVyT3JkZXI9dGhpcy5yZW5kZXJPcmRlciksInt9IiE9PUpTT04uc3RyaW5naWZ5KHRoaXMudXNlckRhdGEpJiYoaS51c2VyRGF0YT10aGlzLnVzZXJEYXRhKSxpLmxheWVycz10aGlzLmxheWVycy5tYXNrLGkubWF0cml4PXRoaXMubWF0cml4LnRvQXJyYXkoKSwhMT09PXRoaXMubWF0cml4QXV0b1VwZGF0ZSYmKGkubWF0cml4QXV0b1VwZGF0ZT0hMSksdGhpcy5pc0luc3RhbmNlZE1lc2gmJihpLnR5cGU9Ikluc3RhbmNlZE1lc2giLGkuY291bnQ9dGhpcy5jb3VudCxpLmluc3RhbmNlTWF0cml4PXRoaXMuaW5zdGFuY2VNYXRyaXgudG9KU09OKCksbnVsbCE9PXRoaXMuaW5zdGFuY2VDb2xvciYmKGkuaW5zdGFuY2VDb2xvcj10aGlzLmluc3RhbmNlQ29sb3IudG9KU09OKCkpKSx0aGlzLmlzU2NlbmUpdGhpcy5iYWNrZ3JvdW5kJiYodGhpcy5iYWNrZ3JvdW5kLmlzQ29sb3I/aS5iYWNrZ3JvdW5kPXRoaXMuYmFja2dyb3VuZC50b0pTT04oKTp0aGlzLmJhY2tncm91bmQuaXNUZXh0dXJlJiYoaS5iYWNrZ3JvdW5kPXRoaXMuYmFja2dyb3VuZC50b0pTT04odCkudXVpZCkpLHRoaXMuZW52aXJvbm1lbnQmJnRoaXMuZW52aXJvbm1lbnQuaXNUZXh0dXJlJiYoaS5lbnZpcm9ubWVudD10aGlzLmVudmlyb25tZW50LnRvSlNPTih0KS51dWlkKTtlbHNlIGlmKHRoaXMuaXNNZXNofHx0aGlzLmlzTGluZXx8dGhpcy5pc1BvaW50cyl7aS5nZW9tZXRyeT1yKHQuZ2VvbWV0cmllcyx0aGlzLmdlb21ldHJ5KTtjb25zdCBlPXRoaXMuZ2VvbWV0cnkucGFyYW1ldGVycztpZih2b2lkIDAhPT1lJiZ2b2lkIDAhPT1lLnNoYXBlcyl7Y29uc3Qgbj1lLnNoYXBlcztpZihBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgZT0wLGk9bi5sZW5ndGg7ZTxpO2UrKyl7cih0LnNoYXBlcyxuW2VdKX1lbHNlIHIodC5zaGFwZXMsbil9fWlmKHRoaXMuaXNTa2lubmVkTWVzaCYmKGkuYmluZE1vZGU9dGhpcy5iaW5kTW9kZSxpLmJpbmRNYXRyaXg9dGhpcy5iaW5kTWF0cml4LnRvQXJyYXkoKSx2b2lkIDAhPT10aGlzLnNrZWxldG9uJiYocih0LnNrZWxldG9ucyx0aGlzLnNrZWxldG9uKSxpLnNrZWxldG9uPXRoaXMuc2tlbGV0b24udXVpZCkpLHZvaWQgMCE9PXRoaXMubWF0ZXJpYWwpaWYoQXJyYXkuaXNBcnJheSh0aGlzLm1hdGVyaWFsKSl7Y29uc3QgZT1bXTtmb3IobGV0IG49MCxpPXRoaXMubWF0ZXJpYWwubGVuZ3RoO248aTtuKyspZS5wdXNoKHIodC5tYXRlcmlhbHMsdGhpcy5tYXRlcmlhbFtuXSkpO2kubWF0ZXJpYWw9ZX1lbHNlIGkubWF0ZXJpYWw9cih0Lm1hdGVyaWFscyx0aGlzLm1hdGVyaWFsKTtpZih0aGlzLmNoaWxkcmVuLmxlbmd0aD4wKXtpLmNoaWxkcmVuPVtdO2ZvcihsZXQgZT0wO2U8dGhpcy5jaGlsZHJlbi5sZW5ndGg7ZSsrKWkuY2hpbGRyZW4ucHVzaCh0aGlzLmNoaWxkcmVuW2VdLnRvSlNPTih0KS5vYmplY3QpfWlmKHRoaXMuYW5pbWF0aW9ucy5sZW5ndGg+MCl7aS5hbmltYXRpb25zPVtdO2ZvcihsZXQgZT0wO2U8dGhpcy5hbmltYXRpb25zLmxlbmd0aDtlKyspe2kuYW5pbWF0aW9ucy5wdXNoKHIodC5hbmltYXRpb25zLHRoaXMuYW5pbWF0aW9uc1tlXSkpfX1pZihlKXtjb25zdCBlPW8odC5nZW9tZXRyaWVzKSxpPW8odC5tYXRlcmlhbHMpLHI9byh0LnRleHR1cmVzKSxhPW8odC5pbWFnZXMpLHM9byh0LnNoYXBlcyksbD1vKHQuc2tlbGV0b25zKSxjPW8odC5hbmltYXRpb25zKTtlLmxlbmd0aD4wJiYobi5nZW9tZXRyaWVzPWUpLGkubGVuZ3RoPjAmJihuLm1hdGVyaWFscz1pKSxyLmxlbmd0aD4wJiYobi50ZXh0dXJlcz1yKSxhLmxlbmd0aD4wJiYobi5pbWFnZXM9YSkscy5sZW5ndGg+MCYmKG4uc2hhcGVzPXMpLGwubGVuZ3RoPjAmJihuLnNrZWxldG9ucz1sKSxjLmxlbmd0aD4wJiYobi5hbmltYXRpb25zPWMpfXJldHVybiBuLm9iamVjdD1pLG47ZnVuY3Rpb24gbyh0KXtjb25zdCBlPVtdO2Zvcihjb25zdCBuIGluIHQpe2NvbnN0IGk9dFtuXTtkZWxldGUgaS5tZXRhZGF0YSxlLnB1c2goaSl9cmV0dXJuIGV9fWNsb25lKHQpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzLHQpfWNvcHkodCxlPSEwKXtpZih0aGlzLm5hbWU9dC5uYW1lLHRoaXMudXAuY29weSh0LnVwKSx0aGlzLnBvc2l0aW9uLmNvcHkodC5wb3NpdGlvbiksdGhpcy5yb3RhdGlvbi5vcmRlcj10LnJvdGF0aW9uLm9yZGVyLHRoaXMucXVhdGVybmlvbi5jb3B5KHQucXVhdGVybmlvbiksdGhpcy5zY2FsZS5jb3B5KHQuc2NhbGUpLHRoaXMubWF0cml4LmNvcHkodC5tYXRyaXgpLHRoaXMubWF0cml4V29ybGQuY29weSh0Lm1hdHJpeFdvcmxkKSx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9dC5tYXRyaXhBdXRvVXBkYXRlLHRoaXMubWF0cml4V29ybGROZWVkc1VwZGF0ZT10Lm1hdHJpeFdvcmxkTmVlZHNVcGRhdGUsdGhpcy5sYXllcnMubWFzaz10LmxheWVycy5tYXNrLHRoaXMudmlzaWJsZT10LnZpc2libGUsdGhpcy5jYXN0U2hhZG93PXQuY2FzdFNoYWRvdyx0aGlzLnJlY2VpdmVTaGFkb3c9dC5yZWNlaXZlU2hhZG93LHRoaXMuZnJ1c3R1bUN1bGxlZD10LmZydXN0dW1DdWxsZWQsdGhpcy5yZW5kZXJPcmRlcj10LnJlbmRlck9yZGVyLHRoaXMudXNlckRhdGE9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0LnVzZXJEYXRhKSksITA9PT1lKWZvcihsZXQgZT0wO2U8dC5jaGlsZHJlbi5sZW5ndGg7ZSsrKXt0aGlzLmFkZCh0LmNoaWxkcmVuW2VdLmNsb25lKCkpfXJldHVybiB0aGlzfX1WM3QuRGVmYXVsdFVwPW5ldyBINXQoMCwxLDApLFYzdC5EZWZhdWx0TWF0cml4QXV0b1VwZGF0ZT0hMCxWM3QucHJvdG90eXBlLmlzT2JqZWN0M0Q9ITA7Y29uc3QgVTN0PW5ldyBINXQsajN0PW5ldyBINXQsRzN0PW5ldyBINXQsVzN0PW5ldyBINXQscTN0PW5ldyBINXQsWTN0PW5ldyBINXQsWDN0PW5ldyBINXQsJDN0PW5ldyBINXQsSzN0PW5ldyBINXQsWjN0PW5ldyBINXQ7Y2xhc3MgSjN0e2NvbnN0cnVjdG9yKHQ9bmV3IEg1dCxlPW5ldyBINXQsbj1uZXcgSDV0KXt0aGlzLmE9dCx0aGlzLmI9ZSx0aGlzLmM9bn1zdGF0aWMgZ2V0Tm9ybWFsKHQsZSxuLGkpe2kuc3ViVmVjdG9ycyhuLGUpLFUzdC5zdWJWZWN0b3JzKHQsZSksaS5jcm9zcyhVM3QpO2NvbnN0IHI9aS5sZW5ndGhTcSgpO3JldHVybiByPjA/aS5tdWx0aXBseVNjYWxhcigxL01hdGguc3FydChyKSk6aS5zZXQoMCwwLDApfXN0YXRpYyBnZXRCYXJ5Y29vcmQodCxlLG4saSxyKXtVM3Quc3ViVmVjdG9ycyhpLGUpLGozdC5zdWJWZWN0b3JzKG4sZSksRzN0LnN1YlZlY3RvcnModCxlKTtjb25zdCBvPVUzdC5kb3QoVTN0KSxhPVUzdC5kb3QoajN0KSxzPVUzdC5kb3QoRzN0KSxsPWozdC5kb3QoajN0KSxjPWozdC5kb3QoRzN0KSx1PW8qbC1hKmE7aWYoMD09PXUpcmV0dXJuIHIuc2V0KC0yLC0xLC0xKTtjb25zdCBoPTEvdSxkPShsKnMtYSpjKSpoLHA9KG8qYy1hKnMpKmg7cmV0dXJuIHIuc2V0KDEtZC1wLHAsZCl9c3RhdGljIGNvbnRhaW5zUG9pbnQodCxlLG4saSl7cmV0dXJuIHRoaXMuZ2V0QmFyeWNvb3JkKHQsZSxuLGksVzN0KSxXM3QueD49MCYmVzN0Lnk+PTAmJlczdC54K1czdC55PD0xfXN0YXRpYyBnZXRVVih0LGUsbixpLHIsbyxhLHMpe3JldHVybiB0aGlzLmdldEJhcnljb29yZCh0LGUsbixpLFczdCkscy5zZXQoMCwwKSxzLmFkZFNjYWxlZFZlY3RvcihyLFczdC54KSxzLmFkZFNjYWxlZFZlY3RvcihvLFczdC55KSxzLmFkZFNjYWxlZFZlY3RvcihhLFczdC56KSxzfXN0YXRpYyBpc0Zyb250RmFjaW5nKHQsZSxuLGkpe3JldHVybiBVM3Quc3ViVmVjdG9ycyhuLGUpLGozdC5zdWJWZWN0b3JzKHQsZSksVTN0LmNyb3NzKGozdCkuZG90KGkpPDB9c2V0KHQsZSxuKXtyZXR1cm4gdGhpcy5hLmNvcHkodCksdGhpcy5iLmNvcHkoZSksdGhpcy5jLmNvcHkobiksdGhpc31zZXRGcm9tUG9pbnRzQW5kSW5kaWNlcyh0LGUsbixpKXtyZXR1cm4gdGhpcy5hLmNvcHkodFtlXSksdGhpcy5iLmNvcHkodFtuXSksdGhpcy5jLmNvcHkodFtpXSksdGhpc31jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX1jb3B5KHQpe3JldHVybiB0aGlzLmEuY29weSh0LmEpLHRoaXMuYi5jb3B5KHQuYiksdGhpcy5jLmNvcHkodC5jKSx0aGlzfWdldEFyZWEoKXtyZXR1cm4gVTN0LnN1YlZlY3RvcnModGhpcy5jLHRoaXMuYiksajN0LnN1YlZlY3RvcnModGhpcy5hLHRoaXMuYiksLjUqVTN0LmNyb3NzKGozdCkubGVuZ3RoKCl9Z2V0TWlkcG9pbnQodCl7cmV0dXJuIHQuYWRkVmVjdG9ycyh0aGlzLmEsdGhpcy5iKS5hZGQodGhpcy5jKS5tdWx0aXBseVNjYWxhcigxLzMpfWdldE5vcm1hbCh0KXtyZXR1cm4gSjN0LmdldE5vcm1hbCh0aGlzLmEsdGhpcy5iLHRoaXMuYyx0KX1nZXRQbGFuZSh0KXtyZXR1cm4gdC5zZXRGcm9tQ29wbGFuYXJQb2ludHModGhpcy5hLHRoaXMuYix0aGlzLmMpfWdldEJhcnljb29yZCh0LGUpe3JldHVybiBKM3QuZ2V0QmFyeWNvb3JkKHQsdGhpcy5hLHRoaXMuYix0aGlzLmMsZSl9Z2V0VVYodCxlLG4saSxyKXtyZXR1cm4gSjN0LmdldFVWKHQsdGhpcy5hLHRoaXMuYix0aGlzLmMsZSxuLGkscil9Y29udGFpbnNQb2ludCh0KXtyZXR1cm4gSjN0LmNvbnRhaW5zUG9pbnQodCx0aGlzLmEsdGhpcy5iLHRoaXMuYyl9aXNGcm9udEZhY2luZyh0KXtyZXR1cm4gSjN0LmlzRnJvbnRGYWNpbmcodGhpcy5hLHRoaXMuYix0aGlzLmMsdCl9aW50ZXJzZWN0c0JveCh0KXtyZXR1cm4gdC5pbnRlcnNlY3RzVHJpYW5nbGUodGhpcyl9Y2xvc2VzdFBvaW50VG9Qb2ludCh0LGUpe2NvbnN0IG49dGhpcy5hLGk9dGhpcy5iLHI9dGhpcy5jO2xldCBvLGE7cTN0LnN1YlZlY3RvcnMoaSxuKSxZM3Quc3ViVmVjdG9ycyhyLG4pLCQzdC5zdWJWZWN0b3JzKHQsbik7Y29uc3Qgcz1xM3QuZG90KCQzdCksbD1ZM3QuZG90KCQzdCk7aWYoczw9MCYmbDw9MClyZXR1cm4gZS5jb3B5KG4pO0szdC5zdWJWZWN0b3JzKHQsaSk7Y29uc3QgYz1xM3QuZG90KEszdCksdT1ZM3QuZG90KEszdCk7aWYoYz49MCYmdTw9YylyZXR1cm4gZS5jb3B5KGkpO2NvbnN0IGg9cyp1LWMqbDtpZihoPD0wJiZzPj0wJiZjPD0wKXJldHVybiBvPXMvKHMtYyksZS5jb3B5KG4pLmFkZFNjYWxlZFZlY3RvcihxM3Qsbyk7WjN0LnN1YlZlY3RvcnModCxyKTtjb25zdCBkPXEzdC5kb3QoWjN0KSxwPVkzdC5kb3QoWjN0KTtpZihwPj0wJiZkPD1wKXJldHVybiBlLmNvcHkocik7Y29uc3QgZj1kKmwtcypwO2lmKGY8PTAmJmw+PTAmJnA8PTApcmV0dXJuIGE9bC8obC1wKSxlLmNvcHkobikuYWRkU2NhbGVkVmVjdG9yKFkzdCxhKTtjb25zdCBtPWMqcC1kKnU7aWYobTw9MCYmdS1jPj0wJiZkLXA+PTApcmV0dXJuIFgzdC5zdWJWZWN0b3JzKHIsaSksYT0odS1jKS8odS1jKyhkLXApKSxlLmNvcHkoaSkuYWRkU2NhbGVkVmVjdG9yKFgzdCxhKTtjb25zdCBnPTEvKG0rZitoKTtyZXR1cm4gbz1mKmcsYT1oKmcsZS5jb3B5KG4pLmFkZFNjYWxlZFZlY3RvcihxM3QsbykuYWRkU2NhbGVkVmVjdG9yKFkzdCxhKX1lcXVhbHModCl7cmV0dXJuIHQuYS5lcXVhbHModGhpcy5hKSYmdC5iLmVxdWFscyh0aGlzLmIpJiZ0LmMuZXF1YWxzKHRoaXMuYyl9fWxldCBRM3Q9MDtjbGFzcyB0NHQgZXh0ZW5kcyBlNXR7Y29uc3RydWN0b3IoKXtzdXBlcigpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOlEzdCsrfSksdGhpcy51dWlkPWE1dCgpLHRoaXMubmFtZT0iIix0aGlzLnR5cGU9Ik1hdGVyaWFsIix0aGlzLmZvZz0hMCx0aGlzLmJsZW5kaW5nPTEsdGhpcy5zaWRlPTAsdGhpcy52ZXJ0ZXhDb2xvcnM9ITEsdGhpcy5vcGFjaXR5PTEsdGhpcy50cmFuc3BhcmVudD0hMSx0aGlzLmJsZW5kU3JjPTIwNCx0aGlzLmJsZW5kRHN0PTIwNSx0aGlzLmJsZW5kRXF1YXRpb249UTB0LHRoaXMuYmxlbmRTcmNBbHBoYT1udWxsLHRoaXMuYmxlbmREc3RBbHBoYT1udWxsLHRoaXMuYmxlbmRFcXVhdGlvbkFscGhhPW51bGwsdGhpcy5kZXB0aEZ1bmM9Myx0aGlzLmRlcHRoVGVzdD0hMCx0aGlzLmRlcHRoV3JpdGU9ITAsdGhpcy5zdGVuY2lsV3JpdGVNYXNrPTI1NSx0aGlzLnN0ZW5jaWxGdW5jPTUxOSx0aGlzLnN0ZW5jaWxSZWY9MCx0aGlzLnN0ZW5jaWxGdW5jTWFzaz0yNTUsdGhpcy5zdGVuY2lsRmFpbD1aMnQsdGhpcy5zdGVuY2lsWkZhaWw9WjJ0LHRoaXMuc3RlbmNpbFpQYXNzPVoydCx0aGlzLnN0ZW5jaWxXcml0ZT0hMSx0aGlzLmNsaXBwaW5nUGxhbmVzPW51bGwsdGhpcy5jbGlwSW50ZXJzZWN0aW9uPSExLHRoaXMuY2xpcFNoYWRvd3M9ITEsdGhpcy5zaGFkb3dTaWRlPW51bGwsdGhpcy5jb2xvcldyaXRlPSEwLHRoaXMucHJlY2lzaW9uPW51bGwsdGhpcy5wb2x5Z29uT2Zmc2V0PSExLHRoaXMucG9seWdvbk9mZnNldEZhY3Rvcj0wLHRoaXMucG9seWdvbk9mZnNldFVuaXRzPTAsdGhpcy5kaXRoZXJpbmc9ITEsdGhpcy5hbHBoYVRlc3Q9MCx0aGlzLmFscGhhVG9Db3ZlcmFnZT0hMSx0aGlzLnByZW11bHRpcGxpZWRBbHBoYT0hMSx0aGlzLnZpc2libGU9ITAsdGhpcy50b25lTWFwcGVkPSEwLHRoaXMudXNlckRhdGE9e30sdGhpcy52ZXJzaW9uPTB9b25CdWlsZCgpe31vbkJlZm9yZUNvbXBpbGUoKXt9Y3VzdG9tUHJvZ3JhbUNhY2hlS2V5KCl7cmV0dXJuIHRoaXMub25CZWZvcmVDb21waWxlLnRvU3RyaW5nKCl9c2V0VmFsdWVzKHQpe2lmKHZvaWQgMCE9PXQpZm9yKGNvbnN0IGUgaW4gdCl7Y29uc3Qgbj10W2VdO2lmKHZvaWQgMD09PW4pe2NvbnNvbGUud2FybigiVEhSRUUuTWF0ZXJpYWw6ICciK2UrIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC4iKTtjb250aW51ZX1pZigic2hhZGluZyI9PT1lKXtjb25zb2xlLndhcm4oIlRIUkVFLiIrdGhpcy50eXBlKyI6IC5zaGFkaW5nIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSB0aGUgYm9vbGVhbiAuZmxhdFNoYWRpbmcgaW5zdGVhZC4iKSx0aGlzLmZsYXRTaGFkaW5nPTE9PT1uO2NvbnRpbnVlfWNvbnN0IGk9dGhpc1tlXTt2b2lkIDAhPT1pP2kmJmkuaXNDb2xvcj9pLnNldChuKTppJiZpLmlzVmVjdG9yMyYmbiYmbi5pc1ZlY3RvcjM/aS5jb3B5KG4pOnRoaXNbZV09bjpjb25zb2xlLndhcm4oIlRIUkVFLiIrdGhpcy50eXBlKyI6ICciK2UrIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC4iKX19dG9KU09OKHQpe2NvbnN0IGU9dm9pZCAwPT09dHx8InN0cmluZyI9PXR5cGVvZiB0O2UmJih0PXt0ZXh0dXJlczp7fSxpbWFnZXM6e319KTtjb25zdCBuPXttZXRhZGF0YTp7dmVyc2lvbjo0LjUsdHlwZToiTWF0ZXJpYWwiLGdlbmVyYXRvcjoiTWF0ZXJpYWwudG9KU09OIn19O2Z1bmN0aW9uIGkodCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgbiBpbiB0KXtjb25zdCBpPXRbbl07ZGVsZXRlIGkubWV0YWRhdGEsZS5wdXNoKGkpfXJldHVybiBlfWlmKG4udXVpZD10aGlzLnV1aWQsbi50eXBlPXRoaXMudHlwZSwiIiE9PXRoaXMubmFtZSYmKG4ubmFtZT10aGlzLm5hbWUpLHRoaXMuY29sb3ImJnRoaXMuY29sb3IuaXNDb2xvciYmKG4uY29sb3I9dGhpcy5jb2xvci5nZXRIZXgoKSksdm9pZCAwIT09dGhpcy5yb3VnaG5lc3MmJihuLnJvdWdobmVzcz10aGlzLnJvdWdobmVzcyksdm9pZCAwIT09dGhpcy5tZXRhbG5lc3MmJihuLm1ldGFsbmVzcz10aGlzLm1ldGFsbmVzcyksdGhpcy5zaGVlbiYmdGhpcy5zaGVlbi5pc0NvbG9yJiYobi5zaGVlbj10aGlzLnNoZWVuLmdldEhleCgpKSx0aGlzLmVtaXNzaXZlJiZ0aGlzLmVtaXNzaXZlLmlzQ29sb3ImJihuLmVtaXNzaXZlPXRoaXMuZW1pc3NpdmUuZ2V0SGV4KCkpLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHkmJjEhPT10aGlzLmVtaXNzaXZlSW50ZW5zaXR5JiYobi5lbWlzc2l2ZUludGVuc2l0eT10aGlzLmVtaXNzaXZlSW50ZW5zaXR5KSx0aGlzLnNwZWN1bGFyJiZ0aGlzLnNwZWN1bGFyLmlzQ29sb3ImJihuLnNwZWN1bGFyPXRoaXMuc3BlY3VsYXIuZ2V0SGV4KCkpLHZvaWQgMCE9PXRoaXMuc3BlY3VsYXJJbnRlbnNpdHkmJihuLnNwZWN1bGFySW50ZW5zaXR5PXRoaXMuc3BlY3VsYXJJbnRlbnNpdHkpLHRoaXMuc3BlY3VsYXJUaW50JiZ0aGlzLnNwZWN1bGFyVGludC5pc0NvbG9yJiYobi5zcGVjdWxhclRpbnQ9dGhpcy5zcGVjdWxhclRpbnQuZ2V0SGV4KCkpLHZvaWQgMCE9PXRoaXMuc2hpbmluZXNzJiYobi5zaGluaW5lc3M9dGhpcy5zaGluaW5lc3MpLHZvaWQgMCE9PXRoaXMuY2xlYXJjb2F0JiYobi5jbGVhcmNvYXQ9dGhpcy5jbGVhcmNvYXQpLHZvaWQgMCE9PXRoaXMuY2xlYXJjb2F0Um91Z2huZXNzJiYobi5jbGVhcmNvYXRSb3VnaG5lc3M9dGhpcy5jbGVhcmNvYXRSb3VnaG5lc3MpLHRoaXMuY2xlYXJjb2F0TWFwJiZ0aGlzLmNsZWFyY29hdE1hcC5pc1RleHR1cmUmJihuLmNsZWFyY29hdE1hcD10aGlzLmNsZWFyY29hdE1hcC50b0pTT04odCkudXVpZCksdGhpcy5jbGVhcmNvYXRSb3VnaG5lc3NNYXAmJnRoaXMuY2xlYXJjb2F0Um91Z2huZXNzTWFwLmlzVGV4dHVyZSYmKG4uY2xlYXJjb2F0Um91Z2huZXNzTWFwPXRoaXMuY2xlYXJjb2F0Um91Z2huZXNzTWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLmNsZWFyY29hdE5vcm1hbE1hcCYmdGhpcy5jbGVhcmNvYXROb3JtYWxNYXAuaXNUZXh0dXJlJiYobi5jbGVhcmNvYXROb3JtYWxNYXA9dGhpcy5jbGVhcmNvYXROb3JtYWxNYXAudG9KU09OKHQpLnV1aWQsbi5jbGVhcmNvYXROb3JtYWxTY2FsZT10aGlzLmNsZWFyY29hdE5vcm1hbFNjYWxlLnRvQXJyYXkoKSksdGhpcy5tYXAmJnRoaXMubWFwLmlzVGV4dHVyZSYmKG4ubWFwPXRoaXMubWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLm1hdGNhcCYmdGhpcy5tYXRjYXAuaXNUZXh0dXJlJiYobi5tYXRjYXA9dGhpcy5tYXRjYXAudG9KU09OKHQpLnV1aWQpLHRoaXMuYWxwaGFNYXAmJnRoaXMuYWxwaGFNYXAuaXNUZXh0dXJlJiYobi5hbHBoYU1hcD10aGlzLmFscGhhTWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLmxpZ2h0TWFwJiZ0aGlzLmxpZ2h0TWFwLmlzVGV4dHVyZSYmKG4ubGlnaHRNYXA9dGhpcy5saWdodE1hcC50b0pTT04odCkudXVpZCxuLmxpZ2h0TWFwSW50ZW5zaXR5PXRoaXMubGlnaHRNYXBJbnRlbnNpdHkpLHRoaXMuYW9NYXAmJnRoaXMuYW9NYXAuaXNUZXh0dXJlJiYobi5hb01hcD10aGlzLmFvTWFwLnRvSlNPTih0KS51dWlkLG4uYW9NYXBJbnRlbnNpdHk9dGhpcy5hb01hcEludGVuc2l0eSksdGhpcy5idW1wTWFwJiZ0aGlzLmJ1bXBNYXAuaXNUZXh0dXJlJiYobi5idW1wTWFwPXRoaXMuYnVtcE1hcC50b0pTT04odCkudXVpZCxuLmJ1bXBTY2FsZT10aGlzLmJ1bXBTY2FsZSksdGhpcy5ub3JtYWxNYXAmJnRoaXMubm9ybWFsTWFwLmlzVGV4dHVyZSYmKG4ubm9ybWFsTWFwPXRoaXMubm9ybWFsTWFwLnRvSlNPTih0KS51dWlkLG4ubm9ybWFsTWFwVHlwZT10aGlzLm5vcm1hbE1hcFR5cGUsbi5ub3JtYWxTY2FsZT10aGlzLm5vcm1hbFNjYWxlLnRvQXJyYXkoKSksdGhpcy5kaXNwbGFjZW1lbnRNYXAmJnRoaXMuZGlzcGxhY2VtZW50TWFwLmlzVGV4dHVyZSYmKG4uZGlzcGxhY2VtZW50TWFwPXRoaXMuZGlzcGxhY2VtZW50TWFwLnRvSlNPTih0KS51dWlkLG4uZGlzcGxhY2VtZW50U2NhbGU9dGhpcy5kaXNwbGFjZW1lbnRTY2FsZSxuLmRpc3BsYWNlbWVudEJpYXM9dGhpcy5kaXNwbGFjZW1lbnRCaWFzKSx0aGlzLnJvdWdobmVzc01hcCYmdGhpcy5yb3VnaG5lc3NNYXAuaXNUZXh0dXJlJiYobi5yb3VnaG5lc3NNYXA9dGhpcy5yb3VnaG5lc3NNYXAudG9KU09OKHQpLnV1aWQpLHRoaXMubWV0YWxuZXNzTWFwJiZ0aGlzLm1ldGFsbmVzc01hcC5pc1RleHR1cmUmJihuLm1ldGFsbmVzc01hcD10aGlzLm1ldGFsbmVzc01hcC50b0pTT04odCkudXVpZCksdGhpcy5lbWlzc2l2ZU1hcCYmdGhpcy5lbWlzc2l2ZU1hcC5pc1RleHR1cmUmJihuLmVtaXNzaXZlTWFwPXRoaXMuZW1pc3NpdmVNYXAudG9KU09OKHQpLnV1aWQpLHRoaXMuc3BlY3VsYXJNYXAmJnRoaXMuc3BlY3VsYXJNYXAuaXNUZXh0dXJlJiYobi5zcGVjdWxhck1hcD10aGlzLnNwZWN1bGFyTWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLnNwZWN1bGFySW50ZW5zaXR5TWFwJiZ0aGlzLnNwZWN1bGFySW50ZW5zaXR5TWFwLmlzVGV4dHVyZSYmKG4uc3BlY3VsYXJJbnRlbnNpdHlNYXA9dGhpcy5zcGVjdWxhckludGVuc2l0eU1hcC50b0pTT04odCkudXVpZCksdGhpcy5zcGVjdWxhclRpbnRNYXAmJnRoaXMuc3BlY3VsYXJUaW50TWFwLmlzVGV4dHVyZSYmKG4uc3BlY3VsYXJUaW50TWFwPXRoaXMuc3BlY3VsYXJUaW50TWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLmVudk1hcCYmdGhpcy5lbnZNYXAuaXNUZXh0dXJlJiYobi5lbnZNYXA9dGhpcy5lbnZNYXAudG9KU09OKHQpLnV1aWQsdm9pZCAwIT09dGhpcy5jb21iaW5lJiYobi5jb21iaW5lPXRoaXMuY29tYmluZSkpLHZvaWQgMCE9PXRoaXMuZW52TWFwSW50ZW5zaXR5JiYobi5lbnZNYXBJbnRlbnNpdHk9dGhpcy5lbnZNYXBJbnRlbnNpdHkpLHZvaWQgMCE9PXRoaXMucmVmbGVjdGl2aXR5JiYobi5yZWZsZWN0aXZpdHk9dGhpcy5yZWZsZWN0aXZpdHkpLHZvaWQgMCE9PXRoaXMucmVmcmFjdGlvblJhdGlvJiYobi5yZWZyYWN0aW9uUmF0aW89dGhpcy5yZWZyYWN0aW9uUmF0aW8pLHRoaXMuZ3JhZGllbnRNYXAmJnRoaXMuZ3JhZGllbnRNYXAuaXNUZXh0dXJlJiYobi5ncmFkaWVudE1hcD10aGlzLmdyYWRpZW50TWFwLnRvSlNPTih0KS51dWlkKSx2b2lkIDAhPT10aGlzLnRyYW5zbWlzc2lvbiYmKG4udHJhbnNtaXNzaW9uPXRoaXMudHJhbnNtaXNzaW9uKSx0aGlzLnRyYW5zbWlzc2lvbk1hcCYmdGhpcy50cmFuc21pc3Npb25NYXAuaXNUZXh0dXJlJiYobi50cmFuc21pc3Npb25NYXA9dGhpcy50cmFuc21pc3Npb25NYXAudG9KU09OKHQpLnV1aWQpLHZvaWQgMCE9PXRoaXMudGhpY2tuZXNzJiYobi50aGlja25lc3M9dGhpcy50aGlja25lc3MpLHRoaXMudGhpY2tuZXNzTWFwJiZ0aGlzLnRoaWNrbmVzc01hcC5pc1RleHR1cmUmJihuLnRoaWNrbmVzc01hcD10aGlzLnRoaWNrbmVzc01hcC50b0pTT04odCkudXVpZCksdm9pZCAwIT09dGhpcy5hdHRlbnVhdGlvbkRpc3RhbmNlJiYobi5hdHRlbnVhdGlvbkRpc3RhbmNlPXRoaXMuYXR0ZW51YXRpb25EaXN0YW5jZSksdm9pZCAwIT09dGhpcy5hdHRlbnVhdGlvblRpbnQmJihuLmF0dGVudWF0aW9uVGludD10aGlzLmF0dGVudWF0aW9uVGludC5nZXRIZXgoKSksdm9pZCAwIT09dGhpcy5zaXplJiYobi5zaXplPXRoaXMuc2l6ZSksbnVsbCE9PXRoaXMuc2hhZG93U2lkZSYmKG4uc2hhZG93U2lkZT10aGlzLnNoYWRvd1NpZGUpLHZvaWQgMCE9PXRoaXMuc2l6ZUF0dGVudWF0aW9uJiYobi5zaXplQXR0ZW51YXRpb249dGhpcy5zaXplQXR0ZW51YXRpb24pLDEhPT10aGlzLmJsZW5kaW5nJiYobi5ibGVuZGluZz10aGlzLmJsZW5kaW5nKSwwIT09dGhpcy5zaWRlJiYobi5zaWRlPXRoaXMuc2lkZSksdGhpcy52ZXJ0ZXhDb2xvcnMmJihuLnZlcnRleENvbG9ycz0hMCksdGhpcy5vcGFjaXR5PDEmJihuLm9wYWNpdHk9dGhpcy5vcGFjaXR5KSwhMD09PXRoaXMudHJhbnNwYXJlbnQmJihuLnRyYW5zcGFyZW50PXRoaXMudHJhbnNwYXJlbnQpLG4uZGVwdGhGdW5jPXRoaXMuZGVwdGhGdW5jLG4uZGVwdGhUZXN0PXRoaXMuZGVwdGhUZXN0LG4uZGVwdGhXcml0ZT10aGlzLmRlcHRoV3JpdGUsbi5jb2xvcldyaXRlPXRoaXMuY29sb3JXcml0ZSxuLnN0ZW5jaWxXcml0ZT10aGlzLnN0ZW5jaWxXcml0ZSxuLnN0ZW5jaWxXcml0ZU1hc2s9dGhpcy5zdGVuY2lsV3JpdGVNYXNrLG4uc3RlbmNpbEZ1bmM9dGhpcy5zdGVuY2lsRnVuYyxuLnN0ZW5jaWxSZWY9dGhpcy5zdGVuY2lsUmVmLG4uc3RlbmNpbEZ1bmNNYXNrPXRoaXMuc3RlbmNpbEZ1bmNNYXNrLG4uc3RlbmNpbEZhaWw9dGhpcy5zdGVuY2lsRmFpbCxuLnN0ZW5jaWxaRmFpbD10aGlzLnN0ZW5jaWxaRmFpbCxuLnN0ZW5jaWxaUGFzcz10aGlzLnN0ZW5jaWxaUGFzcyx0aGlzLnJvdGF0aW9uJiYwIT09dGhpcy5yb3RhdGlvbiYmKG4ucm90YXRpb249dGhpcy5yb3RhdGlvbiksITA9PT10aGlzLnBvbHlnb25PZmZzZXQmJihuLnBvbHlnb25PZmZzZXQ9ITApLDAhPT10aGlzLnBvbHlnb25PZmZzZXRGYWN0b3ImJihuLnBvbHlnb25PZmZzZXRGYWN0b3I9dGhpcy5wb2x5Z29uT2Zmc2V0RmFjdG9yKSwwIT09dGhpcy5wb2x5Z29uT2Zmc2V0VW5pdHMmJihuLnBvbHlnb25PZmZzZXRVbml0cz10aGlzLnBvbHlnb25PZmZzZXRVbml0cyksdGhpcy5saW5ld2lkdGgmJjEhPT10aGlzLmxpbmV3aWR0aCYmKG4ubGluZXdpZHRoPXRoaXMubGluZXdpZHRoKSx2b2lkIDAhPT10aGlzLmRhc2hTaXplJiYobi5kYXNoU2l6ZT10aGlzLmRhc2hTaXplKSx2b2lkIDAhPT10aGlzLmdhcFNpemUmJihuLmdhcFNpemU9dGhpcy5nYXBTaXplKSx2b2lkIDAhPT10aGlzLnNjYWxlJiYobi5zY2FsZT10aGlzLnNjYWxlKSwhMD09PXRoaXMuZGl0aGVyaW5nJiYobi5kaXRoZXJpbmc9ITApLHRoaXMuYWxwaGFUZXN0PjAmJihuLmFscGhhVGVzdD10aGlzLmFscGhhVGVzdCksITA9PT10aGlzLmFscGhhVG9Db3ZlcmFnZSYmKG4uYWxwaGFUb0NvdmVyYWdlPXRoaXMuYWxwaGFUb0NvdmVyYWdlKSwhMD09PXRoaXMucHJlbXVsdGlwbGllZEFscGhhJiYobi5wcmVtdWx0aXBsaWVkQWxwaGE9dGhpcy5wcmVtdWx0aXBsaWVkQWxwaGEpLCEwPT09dGhpcy53aXJlZnJhbWUmJihuLndpcmVmcmFtZT10aGlzLndpcmVmcmFtZSksdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg+MSYmKG4ud2lyZWZyYW1lTGluZXdpZHRoPXRoaXMud2lyZWZyYW1lTGluZXdpZHRoKSwicm91bmQiIT09dGhpcy53aXJlZnJhbWVMaW5lY2FwJiYobi53aXJlZnJhbWVMaW5lY2FwPXRoaXMud2lyZWZyYW1lTGluZWNhcCksInJvdW5kIiE9PXRoaXMud2lyZWZyYW1lTGluZWpvaW4mJihuLndpcmVmcmFtZUxpbmVqb2luPXRoaXMud2lyZWZyYW1lTGluZWpvaW4pLCEwPT09dGhpcy5mbGF0U2hhZGluZyYmKG4uZmxhdFNoYWRpbmc9dGhpcy5mbGF0U2hhZGluZyksITE9PT10aGlzLnZpc2libGUmJihuLnZpc2libGU9ITEpLCExPT09dGhpcy50b25lTWFwcGVkJiYobi50b25lTWFwcGVkPSExKSwie30iIT09SlNPTi5zdHJpbmdpZnkodGhpcy51c2VyRGF0YSkmJihuLnVzZXJEYXRhPXRoaXMudXNlckRhdGEpLGUpe2NvbnN0IGU9aSh0LnRleHR1cmVzKSxyPWkodC5pbWFnZXMpO2UubGVuZ3RoPjAmJihuLnRleHR1cmVzPWUpLHIubGVuZ3RoPjAmJihuLmltYWdlcz1yKX1yZXR1cm4gbn1jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX1jb3B5KHQpe3RoaXMubmFtZT10Lm5hbWUsdGhpcy5mb2c9dC5mb2csdGhpcy5ibGVuZGluZz10LmJsZW5kaW5nLHRoaXMuc2lkZT10LnNpZGUsdGhpcy52ZXJ0ZXhDb2xvcnM9dC52ZXJ0ZXhDb2xvcnMsdGhpcy5vcGFjaXR5PXQub3BhY2l0eSx0aGlzLnRyYW5zcGFyZW50PXQudHJhbnNwYXJlbnQsdGhpcy5ibGVuZFNyYz10LmJsZW5kU3JjLHRoaXMuYmxlbmREc3Q9dC5ibGVuZERzdCx0aGlzLmJsZW5kRXF1YXRpb249dC5ibGVuZEVxdWF0aW9uLHRoaXMuYmxlbmRTcmNBbHBoYT10LmJsZW5kU3JjQWxwaGEsdGhpcy5ibGVuZERzdEFscGhhPXQuYmxlbmREc3RBbHBoYSx0aGlzLmJsZW5kRXF1YXRpb25BbHBoYT10LmJsZW5kRXF1YXRpb25BbHBoYSx0aGlzLmRlcHRoRnVuYz10LmRlcHRoRnVuYyx0aGlzLmRlcHRoVGVzdD10LmRlcHRoVGVzdCx0aGlzLmRlcHRoV3JpdGU9dC5kZXB0aFdyaXRlLHRoaXMuc3RlbmNpbFdyaXRlTWFzaz10LnN0ZW5jaWxXcml0ZU1hc2ssdGhpcy5zdGVuY2lsRnVuYz10LnN0ZW5jaWxGdW5jLHRoaXMuc3RlbmNpbFJlZj10LnN0ZW5jaWxSZWYsdGhpcy5zdGVuY2lsRnVuY01hc2s9dC5zdGVuY2lsRnVuY01hc2ssdGhpcy5zdGVuY2lsRmFpbD10LnN0ZW5jaWxGYWlsLHRoaXMuc3RlbmNpbFpGYWlsPXQuc3RlbmNpbFpGYWlsLHRoaXMuc3RlbmNpbFpQYXNzPXQuc3RlbmNpbFpQYXNzLHRoaXMuc3RlbmNpbFdyaXRlPXQuc3RlbmNpbFdyaXRlO2NvbnN0IGU9dC5jbGlwcGluZ1BsYW5lcztsZXQgbj1udWxsO2lmKG51bGwhPT1lKXtjb25zdCB0PWUubGVuZ3RoO249bmV3IEFycmF5KHQpO2ZvcihsZXQgaT0wO2khPT10OysraSluW2ldPWVbaV0uY2xvbmUoKX1yZXR1cm4gdGhpcy5jbGlwcGluZ1BsYW5lcz1uLHRoaXMuY2xpcEludGVyc2VjdGlvbj10LmNsaXBJbnRlcnNlY3Rpb24sdGhpcy5jbGlwU2hhZG93cz10LmNsaXBTaGFkb3dzLHRoaXMuc2hhZG93U2lkZT10LnNoYWRvd1NpZGUsdGhpcy5jb2xvcldyaXRlPXQuY29sb3JXcml0ZSx0aGlzLnByZWNpc2lvbj10LnByZWNpc2lvbix0aGlzLnBvbHlnb25PZmZzZXQ9dC5wb2x5Z29uT2Zmc2V0LHRoaXMucG9seWdvbk9mZnNldEZhY3Rvcj10LnBvbHlnb25PZmZzZXRGYWN0b3IsdGhpcy5wb2x5Z29uT2Zmc2V0VW5pdHM9dC5wb2x5Z29uT2Zmc2V0VW5pdHMsdGhpcy5kaXRoZXJpbmc9dC5kaXRoZXJpbmcsdGhpcy5hbHBoYVRlc3Q9dC5hbHBoYVRlc3QsdGhpcy5hbHBoYVRvQ292ZXJhZ2U9dC5hbHBoYVRvQ292ZXJhZ2UsdGhpcy5wcmVtdWx0aXBsaWVkQWxwaGE9dC5wcmVtdWx0aXBsaWVkQWxwaGEsdGhpcy52aXNpYmxlPXQudmlzaWJsZSx0aGlzLnRvbmVNYXBwZWQ9dC50b25lTWFwcGVkLHRoaXMudXNlckRhdGE9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0LnVzZXJEYXRhKSksdGhpc31kaXNwb3NlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNwb3NlIn0pfXNldCBuZWVkc1VwZGF0ZSh0KXshMD09PXQmJnRoaXMudmVyc2lvbisrfX10NHQucHJvdG90eXBlLmlzTWF0ZXJpYWw9ITA7Y29uc3QgZTR0PXthbGljZWJsdWU6MTU3OTIzODMsYW50aXF1ZXdoaXRlOjE2NDQ0Mzc1LGFxdWE6NjU1MzUsYXF1YW1hcmluZTo4Mzg4NTY0LGF6dXJlOjE1Nzk0MTc1LGJlaWdlOjE2MTE5MjYwLGJpc3F1ZToxNjc3MDI0NCxibGFjazowLGJsYW5jaGVkYWxtb25kOjE2NzcyMDQ1LGJsdWU6MjU1LGJsdWV2aW9sZXQ6OTA1NTIwMixicm93bjoxMDgyNDIzNCxidXJseXdvb2Q6MTQ1OTYyMzEsY2FkZXRibHVlOjYyNjY1MjgsY2hhcnRyZXVzZTo4Mzg4MzUyLGNob2NvbGF0ZToxMzc4OTQ3MCxjb3JhbDoxNjc0NDI3Mixjb3JuZmxvd2VyYmx1ZTo2NTkxOTgxLGNvcm5zaWxrOjE2Nzc1Mzg4LGNyaW1zb246MTQ0MjMxMDAsY3lhbjo2NTUzNSxkYXJrYmx1ZToxMzksZGFya2N5YW46MzU3MjMsZGFya2dvbGRlbnJvZDoxMjA5MjkzOSxkYXJrZ3JheToxMTExOTAxNyxkYXJrZ3JlZW46MjU2MDAsZGFya2dyZXk6MTExMTkwMTcsZGFya2toYWtpOjEyNDMzMjU5LGRhcmttYWdlbnRhOjkxMDk2NDMsZGFya29saXZlZ3JlZW46NTU5Nzk5OSxkYXJrb3JhbmdlOjE2NzQ3NTIwLGRhcmtvcmNoaWQ6MTAwNDAwMTIsZGFya3JlZDo5MTA5NTA0LGRhcmtzYWxtb246MTUzMDg0MTAsZGFya3NlYWdyZWVuOjk0MTk5MTksZGFya3NsYXRlYmx1ZTo0NzM0MzQ3LGRhcmtzbGF0ZWdyYXk6MzEwMDQ5NSxkYXJrc2xhdGVncmV5OjMxMDA0OTUsZGFya3R1cnF1b2lzZTo1Mjk0NSxkYXJrdmlvbGV0Ojk2OTk1MzksZGVlcHBpbms6MTY3MTY5NDcsZGVlcHNreWJsdWU6NDkxNTEsZGltZ3JheTo2OTA4MjY1LGRpbWdyZXk6NjkwODI2NSxkb2RnZXJibHVlOjIwMDMxOTksZmlyZWJyaWNrOjExNjc0MTQ2LGZsb3JhbHdoaXRlOjE2Nzc1OTIwLGZvcmVzdGdyZWVuOjIyNjM4NDIsZnVjaHNpYToxNjcxMTkzNSxnYWluc2Jvcm86MTQ0NzQ0NjAsZ2hvc3R3aGl0ZToxNjMxNjY3MSxnb2xkOjE2NzY2NzIwLGdvbGRlbnJvZDoxNDMyOTEyMCxncmF5Ojg0MjE1MDQsZ3JlZW46MzI3NjgsZ3JlZW55ZWxsb3c6MTE0MDMwNTUsZ3JleTo4NDIxNTA0LGhvbmV5ZGV3OjE1Nzk0MTYwLGhvdHBpbms6MTY3Mzg3NDAsaW5kaWFucmVkOjEzNDU4NTI0LGluZGlnbzo0OTE1MzMwLGl2b3J5OjE2Nzc3MjAwLGtoYWtpOjE1Nzg3NjYwLGxhdmVuZGVyOjE1MTMyNDEwLGxhdmVuZGVyYmx1c2g6MTY3NzMzNjUsbGF3bmdyZWVuOjgxOTA5NzYsbGVtb25jaGlmZm9uOjE2Nzc1ODg1LGxpZ2h0Ymx1ZToxMTM5MzI1NCxsaWdodGNvcmFsOjE1NzYxNTM2LGxpZ2h0Y3lhbjoxNDc0NTU5OSxsaWdodGdvbGRlbnJvZHllbGxvdzoxNjQ0ODIxMCxsaWdodGdyYXk6MTM4ODIzMjMsbGlnaHRncmVlbjo5NDk4MjU2LGxpZ2h0Z3JleToxMzg4MjMyMyxsaWdodHBpbms6MTY3NTg0NjUsbGlnaHRzYWxtb246MTY3NTI3NjIsbGlnaHRzZWFncmVlbjoyMTQyODkwLGxpZ2h0c2t5Ymx1ZTo4OTAwMzQ2LGxpZ2h0c2xhdGVncmF5Ojc4MzM3NTMsbGlnaHRzbGF0ZWdyZXk6NzgzMzc1MyxsaWdodHN0ZWVsYmx1ZToxMTU4NDczNCxsaWdodHllbGxvdzoxNjc3NzE4NCxsaW1lOjY1MjgwLGxpbWVncmVlbjozMzI5MzMwLGxpbmVuOjE2NDQ1NjcwLG1hZ2VudGE6MTY3MTE5MzUsbWFyb29uOjgzODg2MDgsbWVkaXVtYXF1YW1hcmluZTo2NzM3MzIyLG1lZGl1bWJsdWU6MjA1LG1lZGl1bW9yY2hpZDoxMjIxMTY2NyxtZWRpdW1wdXJwbGU6OTY2MjY4MyxtZWRpdW1zZWFncmVlbjozOTc4MDk3LG1lZGl1bXNsYXRlYmx1ZTo4MDg3NzkwLG1lZGl1bXNwcmluZ2dyZWVuOjY0MTU0LG1lZGl1bXR1cnF1b2lzZTo0NzcyMzAwLG1lZGl1bXZpb2xldHJlZDoxMzA0NzE3MyxtaWRuaWdodGJsdWU6MTY0NDkxMixtaW50Y3JlYW06MTYxMjE4NTAsbWlzdHlyb3NlOjE2NzcwMjczLG1vY2Nhc2luOjE2NzcwMjI5LG5hdmFqb3doaXRlOjE2NzY4Njg1LG5hdnk6MTI4LG9sZGxhY2U6MTY2NDM1NTgsb2xpdmU6ODQyMTM3NixvbGl2ZWRyYWI6NzA0ODczOSxvcmFuZ2U6MTY3NTM5MjAsb3JhbmdlcmVkOjE2NzI5MzQ0LG9yY2hpZDoxNDMxNTczNCxwYWxlZ29sZGVucm9kOjE1NjU3MTMwLHBhbGVncmVlbjoxMDAyNTg4MCxwYWxldHVycXVvaXNlOjExNTI5OTY2LHBhbGV2aW9sZXRyZWQ6MTQzODEyMDMscGFwYXlhd2hpcDoxNjc3MzA3NyxwZWFjaHB1ZmY6MTY3Njc2NzMscGVydToxMzQ2ODk5MSxwaW5rOjE2NzYxMDM1LHBsdW06MTQ1MjQ2MzcscG93ZGVyYmx1ZToxMTU5MTkxMCxwdXJwbGU6ODM4ODczNixyZWJlY2NhcHVycGxlOjY2OTc4ODEscmVkOjE2NzExNjgwLHJvc3licm93bjoxMjM1NzUxOSxyb3lhbGJsdWU6NDI4Njk0NSxzYWRkbGVicm93bjo5MTI3MTg3LHNhbG1vbjoxNjQxNjg4MixzYW5keWJyb3duOjE2MDMyODY0LHNlYWdyZWVuOjMwNTAzMjcsc2Vhc2hlbGw6MTY3NzQ2Mzgsc2llbm5hOjEwNTA2Nzk3LHNpbHZlcjoxMjYzMjI1Nixza3libHVlOjg5MDAzMzEsc2xhdGVibHVlOjY5NzAwNjEsc2xhdGVncmF5OjczNzI5NDQsc2xhdGVncmV5OjczNzI5NDQsc25vdzoxNjc3NTkzMCxzcHJpbmdncmVlbjo2NTQwNyxzdGVlbGJsdWU6NDYyMDk4MCx0YW46MTM4MDg3ODAsdGVhbDozMjg5Nix0aGlzdGxlOjE0MjA0ODg4LHRvbWF0bzoxNjczNzA5NSx0dXJxdW9pc2U6NDI1MTg1Nix2aW9sZXQ6MTU2MzEwODYsd2hlYXQ6MTYxMTMzMzEsd2hpdGU6MTY3NzcyMTUsd2hpdGVzbW9rZToxNjExOTI4NSx5ZWxsb3c6MTY3NzY5NjAseWVsbG93Z3JlZW46MTAxNDUwNzR9LG40dD17aDowLHM6MCxsOjB9LGk0dD17aDowLHM6MCxsOjB9O2Z1bmN0aW9uIHI0dCh0LGUsbil7cmV0dXJuIG48MCYmKG4rPTEpLG4+MSYmKG4tPTEpLG48MS82P3QrNiooZS10KSpuOm48LjU/ZTpuPDIvMz90KzYqKGUtdCkqKDIvMy1uKTp0fWZ1bmN0aW9uIG80dCh0KXtyZXR1cm4gdDwuMDQwNDU/LjA3NzM5OTM4MDgqdDpNYXRoLnBvdyguOTQ3ODY3Mjk4Nip0Ky4wNTIxMzI3MDE0LDIuNCl9ZnVuY3Rpb24gYTR0KHQpe3JldHVybiB0PC4wMDMxMzA4PzEyLjkyKnQ6MS4wNTUqTWF0aC5wb3codCwuNDE2NjYpLS4wNTV9Y2xhc3MgczR0e2NvbnN0cnVjdG9yKHQsZSxuKXtyZXR1cm4gdm9pZCAwPT09ZSYmdm9pZCAwPT09bj90aGlzLnNldCh0KTp0aGlzLnNldFJHQih0LGUsbil9c2V0KHQpe3JldHVybiB0JiZ0LmlzQ29sb3I/dGhpcy5jb3B5KHQpOiJudW1iZXIiPT10eXBlb2YgdD90aGlzLnNldEhleCh0KToic3RyaW5nIj09dHlwZW9mIHQmJnRoaXMuc2V0U3R5bGUodCksdGhpc31zZXRTY2FsYXIodCl7cmV0dXJuIHRoaXMucj10LHRoaXMuZz10LHRoaXMuYj10LHRoaXN9c2V0SGV4KHQpe3JldHVybiB0PU1hdGguZmxvb3IodCksdGhpcy5yPSh0Pj4xNiYyNTUpLzI1NSx0aGlzLmc9KHQ+PjgmMjU1KS8yNTUsdGhpcy5iPSgyNTUmdCkvMjU1LHRoaXN9c2V0UkdCKHQsZSxuKXtyZXR1cm4gdGhpcy5yPXQsdGhpcy5nPWUsdGhpcy5iPW4sdGhpc31zZXRIU0wodCxlLG4pe2lmKHQ9bDV0KHQsMSksZT1zNXQoZSwwLDEpLG49czV0KG4sMCwxKSwwPT09ZSl0aGlzLnI9dGhpcy5nPXRoaXMuYj1uO2Vsc2V7Y29uc3QgaT1uPD0uNT9uKigxK2UpOm4rZS1uKmUscj0yKm4taTt0aGlzLnI9cjR0KHIsaSx0KzEvMyksdGhpcy5nPXI0dChyLGksdCksdGhpcy5iPXI0dChyLGksdC0xLzMpfXJldHVybiB0aGlzfXNldFN0eWxlKHQpe2Z1bmN0aW9uIGUoZSl7dm9pZCAwIT09ZSYmcGFyc2VGbG9hdChlKTwxJiZjb25zb2xlLndhcm4oIlRIUkVFLkNvbG9yOiBBbHBoYSBjb21wb25lbnQgb2YgIit0KyIgd2lsbCBiZSBpZ25vcmVkLiIpfWxldCBuO2lmKG49L14oKD86cmdifGhzbClhPylcKChbXlwpXSopXCkvLmV4ZWModCkpe2xldCB0O2NvbnN0IGk9blsyXTtzd2l0Y2goblsxXSl7Y2FzZSJyZ2IiOmNhc2UicmdiYSI6aWYodD0vXlxzKihcZCspXHMqLFxzKihcZCspXHMqLFxzKihcZCspXHMqKD86LFxzKihcZCpcLj9cZCspXHMqKT8kLy5leGVjKGkpKXJldHVybiB0aGlzLnI9TWF0aC5taW4oMjU1LHBhcnNlSW50KHRbMV0sMTApKS8yNTUsdGhpcy5nPU1hdGgubWluKDI1NSxwYXJzZUludCh0WzJdLDEwKSkvMjU1LHRoaXMuYj1NYXRoLm1pbigyNTUscGFyc2VJbnQodFszXSwxMCkpLzI1NSxlKHRbNF0pLHRoaXM7aWYodD0vXlxzKihcZCspXCVccyosXHMqKFxkKylcJVxzKixccyooXGQrKVwlXHMqKD86LFxzKihcZCpcLj9cZCspXHMqKT8kLy5leGVjKGkpKXJldHVybiB0aGlzLnI9TWF0aC5taW4oMTAwLHBhcnNlSW50KHRbMV0sMTApKS8xMDAsdGhpcy5nPU1hdGgubWluKDEwMCxwYXJzZUludCh0WzJdLDEwKSkvMTAwLHRoaXMuYj1NYXRoLm1pbigxMDAscGFyc2VJbnQodFszXSwxMCkpLzEwMCxlKHRbNF0pLHRoaXM7YnJlYWs7Y2FzZSJoc2wiOmNhc2UiaHNsYSI6aWYodD0vXlxzKihcZCpcLj9cZCspXHMqLFxzKihcZCspXCVccyosXHMqKFxkKylcJVxzKig/OixccyooXGQqXC4/XGQrKVxzKik/JC8uZXhlYyhpKSl7Y29uc3Qgbj1wYXJzZUZsb2F0KHRbMV0pLzM2MCxpPXBhcnNlSW50KHRbMl0sMTApLzEwMCxyPXBhcnNlSW50KHRbM10sMTApLzEwMDtyZXR1cm4gZSh0WzRdKSx0aGlzLnNldEhTTChuLGkscil9fX1lbHNlIGlmKG49L15cIyhbQS1GYS1mXGRdKykkLy5leGVjKHQpKXtjb25zdCB0PW5bMV0sZT10Lmxlbmd0aDtpZigzPT09ZSlyZXR1cm4gdGhpcy5yPXBhcnNlSW50KHQuY2hhckF0KDApK3QuY2hhckF0KDApLDE2KS8yNTUsdGhpcy5nPXBhcnNlSW50KHQuY2hhckF0KDEpK3QuY2hhckF0KDEpLDE2KS8yNTUsdGhpcy5iPXBhcnNlSW50KHQuY2hhckF0KDIpK3QuY2hhckF0KDIpLDE2KS8yNTUsdGhpcztpZig2PT09ZSlyZXR1cm4gdGhpcy5yPXBhcnNlSW50KHQuY2hhckF0KDApK3QuY2hhckF0KDEpLDE2KS8yNTUsdGhpcy5nPXBhcnNlSW50KHQuY2hhckF0KDIpK3QuY2hhckF0KDMpLDE2KS8yNTUsdGhpcy5iPXBhcnNlSW50KHQuY2hhckF0KDQpK3QuY2hhckF0KDUpLDE2KS8yNTUsdGhpc31yZXR1cm4gdCYmdC5sZW5ndGg+MD90aGlzLnNldENvbG9yTmFtZSh0KTp0aGlzfXNldENvbG9yTmFtZSh0KXtjb25zdCBlPWU0dFt0LnRvTG93ZXJDYXNlKCldO3JldHVybiB2b2lkIDAhPT1lP3RoaXMuc2V0SGV4KGUpOmNvbnNvbGUud2FybigiVEhSRUUuQ29sb3I6IFVua25vd24gY29sb3IgIit0KSx0aGlzfWNsb25lKCl7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMucix0aGlzLmcsdGhpcy5iKX1jb3B5KHQpe3JldHVybiB0aGlzLnI9dC5yLHRoaXMuZz10LmcsdGhpcy5iPXQuYix0aGlzfWNvcHlHYW1tYVRvTGluZWFyKHQsZT0yKXtyZXR1cm4gdGhpcy5yPU1hdGgucG93KHQucixlKSx0aGlzLmc9TWF0aC5wb3codC5nLGUpLHRoaXMuYj1NYXRoLnBvdyh0LmIsZSksdGhpc31jb3B5TGluZWFyVG9HYW1tYSh0LGU9Mil7Y29uc3Qgbj1lPjA/MS9lOjE7cmV0dXJuIHRoaXMucj1NYXRoLnBvdyh0LnIsbiksdGhpcy5nPU1hdGgucG93KHQuZyxuKSx0aGlzLmI9TWF0aC5wb3codC5iLG4pLHRoaXN9Y29udmVydEdhbW1hVG9MaW5lYXIodCl7cmV0dXJuIHRoaXMuY29weUdhbW1hVG9MaW5lYXIodGhpcyx0KSx0aGlzfWNvbnZlcnRMaW5lYXJUb0dhbW1hKHQpe3JldHVybiB0aGlzLmNvcHlMaW5lYXJUb0dhbW1hKHRoaXMsdCksdGhpc31jb3B5U1JHQlRvTGluZWFyKHQpe3JldHVybiB0aGlzLnI9bzR0KHQuciksdGhpcy5nPW80dCh0LmcpLHRoaXMuYj1vNHQodC5iKSx0aGlzfWNvcHlMaW5lYXJUb1NSR0IodCl7cmV0dXJuIHRoaXMucj1hNHQodC5yKSx0aGlzLmc9YTR0KHQuZyksdGhpcy5iPWE0dCh0LmIpLHRoaXN9Y29udmVydFNSR0JUb0xpbmVhcigpe3JldHVybiB0aGlzLmNvcHlTUkdCVG9MaW5lYXIodGhpcyksdGhpc31jb252ZXJ0TGluZWFyVG9TUkdCKCl7cmV0dXJuIHRoaXMuY29weUxpbmVhclRvU1JHQih0aGlzKSx0aGlzfWdldEhleCgpe3JldHVybiAyNTUqdGhpcy5yPDwxNl4yNTUqdGhpcy5nPDw4XjI1NSp0aGlzLmI8PDB9Z2V0SGV4U3RyaW5nKCl7cmV0dXJuKCIwMDAwMDAiK3RoaXMuZ2V0SGV4KCkudG9TdHJpbmcoMTYpKS5zbGljZSgtNil9Z2V0SFNMKHQpe2NvbnN0IGU9dGhpcy5yLG49dGhpcy5nLGk9dGhpcy5iLHI9TWF0aC5tYXgoZSxuLGkpLG89TWF0aC5taW4oZSxuLGkpO2xldCBhLHM7Y29uc3QgbD0obytyKS8yO2lmKG89PT1yKWE9MCxzPTA7ZWxzZXtjb25zdCB0PXItbztzd2l0Y2gocz1sPD0uNT90LyhyK28pOnQvKDItci1vKSxyKXtjYXNlIGU6YT0obi1pKS90KyhuPGk/NjowKTticmVhaztjYXNlIG46YT0oaS1lKS90KzI7YnJlYWs7Y2FzZSBpOmE9KGUtbikvdCs0fWEvPTZ9cmV0dXJuIHQuaD1hLHQucz1zLHQubD1sLHR9Z2V0U3R5bGUoKXtyZXR1cm4icmdiKCIrKDI1NSp0aGlzLnJ8MCkrIiwiKygyNTUqdGhpcy5nfDApKyIsIisoMjU1KnRoaXMuYnwwKSsiKSJ9b2Zmc2V0SFNMKHQsZSxuKXtyZXR1cm4gdGhpcy5nZXRIU0wobjR0KSxuNHQuaCs9dCxuNHQucys9ZSxuNHQubCs9bix0aGlzLnNldEhTTChuNHQuaCxuNHQucyxuNHQubCksdGhpc31hZGQodCl7cmV0dXJuIHRoaXMucis9dC5yLHRoaXMuZys9dC5nLHRoaXMuYis9dC5iLHRoaXN9YWRkQ29sb3JzKHQsZSl7cmV0dXJuIHRoaXMucj10LnIrZS5yLHRoaXMuZz10LmcrZS5nLHRoaXMuYj10LmIrZS5iLHRoaXN9YWRkU2NhbGFyKHQpe3JldHVybiB0aGlzLnIrPXQsdGhpcy5nKz10LHRoaXMuYis9dCx0aGlzfXN1Yih0KXtyZXR1cm4gdGhpcy5yPU1hdGgubWF4KDAsdGhpcy5yLXQuciksdGhpcy5nPU1hdGgubWF4KDAsdGhpcy5nLXQuZyksdGhpcy5iPU1hdGgubWF4KDAsdGhpcy5iLXQuYiksdGhpc31tdWx0aXBseSh0KXtyZXR1cm4gdGhpcy5yKj10LnIsdGhpcy5nKj10LmcsdGhpcy5iKj10LmIsdGhpc31tdWx0aXBseVNjYWxhcih0KXtyZXR1cm4gdGhpcy5yKj10LHRoaXMuZyo9dCx0aGlzLmIqPXQsdGhpc31sZXJwKHQsZSl7cmV0dXJuIHRoaXMucis9KHQuci10aGlzLnIpKmUsdGhpcy5nKz0odC5nLXRoaXMuZykqZSx0aGlzLmIrPSh0LmItdGhpcy5iKSplLHRoaXN9bGVycENvbG9ycyh0LGUsbil7cmV0dXJuIHRoaXMucj10LnIrKGUuci10LnIpKm4sdGhpcy5nPXQuZysoZS5nLXQuZykqbix0aGlzLmI9dC5iKyhlLmItdC5iKSpuLHRoaXN9bGVycEhTTCh0LGUpe3RoaXMuZ2V0SFNMKG40dCksdC5nZXRIU0woaTR0KTtjb25zdCBuPWM1dChuNHQuaCxpNHQuaCxlKSxpPWM1dChuNHQucyxpNHQucyxlKSxyPWM1dChuNHQubCxpNHQubCxlKTtyZXR1cm4gdGhpcy5zZXRIU0wobixpLHIpLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0LnI9PT10aGlzLnImJnQuZz09PXRoaXMuZyYmdC5iPT09dGhpcy5ifWZyb21BcnJheSh0LGU9MCl7cmV0dXJuIHRoaXMucj10W2VdLHRoaXMuZz10W2UrMV0sdGhpcy5iPXRbZSsyXSx0aGlzfXRvQXJyYXkodD1bXSxlPTApe3JldHVybiB0W2VdPXRoaXMucix0W2UrMV09dGhpcy5nLHRbZSsyXT10aGlzLmIsdH1mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSl7cmV0dXJuIHRoaXMucj10LmdldFgoZSksdGhpcy5nPXQuZ2V0WShlKSx0aGlzLmI9dC5nZXRaKGUpLCEwPT09dC5ub3JtYWxpemVkJiYodGhpcy5yLz0yNTUsdGhpcy5nLz0yNTUsdGhpcy5iLz0yNTUpLHRoaXN9dG9KU09OKCl7cmV0dXJuIHRoaXMuZ2V0SGV4KCl9fXM0dC5OQU1FUz1lNHQsczR0LnByb3RvdHlwZS5pc0NvbG9yPSEwLHM0dC5wcm90b3R5cGUucj0xLHM0dC5wcm90b3R5cGUuZz0xLHM0dC5wcm90b3R5cGUuYj0xO2NsYXNzIGw0dCBleHRlbmRzIHQ0dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iTWVzaEJhc2ljTWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IHM0dCgxNjc3NzIxNSksdGhpcy5tYXA9bnVsbCx0aGlzLmxpZ2h0TWFwPW51bGwsdGhpcy5saWdodE1hcEludGVuc2l0eT0xLHRoaXMuYW9NYXA9bnVsbCx0aGlzLmFvTWFwSW50ZW5zaXR5PTEsdGhpcy5zcGVjdWxhck1hcD1udWxsLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmVudk1hcD1udWxsLHRoaXMuY29tYmluZT0wLHRoaXMucmVmbGVjdGl2aXR5PTEsdGhpcy5yZWZyYWN0aW9uUmF0aW89Ljk4LHRoaXMud2lyZWZyYW1lPSExLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPTEsdGhpcy53aXJlZnJhbWVMaW5lY2FwPSJyb3VuZCIsdGhpcy53aXJlZnJhbWVMaW5lam9pbj0icm91bmQiLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMubGlnaHRNYXA9dC5saWdodE1hcCx0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PXQubGlnaHRNYXBJbnRlbnNpdHksdGhpcy5hb01hcD10LmFvTWFwLHRoaXMuYW9NYXBJbnRlbnNpdHk9dC5hb01hcEludGVuc2l0eSx0aGlzLnNwZWN1bGFyTWFwPXQuc3BlY3VsYXJNYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZW52TWFwPXQuZW52TWFwLHRoaXMuY29tYmluZT10LmNvbWJpbmUsdGhpcy5yZWZsZWN0aXZpdHk9dC5yZWZsZWN0aXZpdHksdGhpcy5yZWZyYWN0aW9uUmF0aW89dC5yZWZyYWN0aW9uUmF0aW8sdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCx0aGlzLndpcmVmcmFtZUxpbmVqb2luPXQud2lyZWZyYW1lTGluZWpvaW4sdGhpc319bDR0LnByb3RvdHlwZS5pc01lc2hCYXNpY01hdGVyaWFsPSEwO2NvbnN0IGM0dD1uZXcgSDV0LHU0dD1uZXcgQzV0O2NsYXNzIGg0dHtjb25zdHJ1Y3Rvcih0LGUsbil7aWYoQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJUSFJFRS5CdWZmZXJBdHRyaWJ1dGU6IGFycmF5IHNob3VsZCBiZSBhIFR5cGVkIEFycmF5LiIpO3RoaXMubmFtZT0iIix0aGlzLmFycmF5PXQsdGhpcy5pdGVtU2l6ZT1lLHRoaXMuY291bnQ9dm9pZCAwIT09dD90Lmxlbmd0aC9lOjAsdGhpcy5ub3JtYWxpemVkPSEwPT09bix0aGlzLnVzYWdlPUoydCx0aGlzLnVwZGF0ZVJhbmdlPXtvZmZzZXQ6MCxjb3VudDotMX0sdGhpcy52ZXJzaW9uPTB9b25VcGxvYWRDYWxsYmFjaygpe31zZXQgbmVlZHNVcGRhdGUodCl7ITA9PT10JiZ0aGlzLnZlcnNpb24rK31zZXRVc2FnZSh0KXtyZXR1cm4gdGhpcy51c2FnZT10LHRoaXN9Y29weSh0KXtyZXR1cm4gdGhpcy5uYW1lPXQubmFtZSx0aGlzLmFycmF5PW5ldyB0LmFycmF5LmNvbnN0cnVjdG9yKHQuYXJyYXkpLHRoaXMuaXRlbVNpemU9dC5pdGVtU2l6ZSx0aGlzLmNvdW50PXQuY291bnQsdGhpcy5ub3JtYWxpemVkPXQubm9ybWFsaXplZCx0aGlzLnVzYWdlPXQudXNhZ2UsdGhpc31jb3B5QXQodCxlLG4pe3QqPXRoaXMuaXRlbVNpemUsbio9ZS5pdGVtU2l6ZTtmb3IobGV0IGk9MCxyPXRoaXMuaXRlbVNpemU7aTxyO2krKyl0aGlzLmFycmF5W3QraV09ZS5hcnJheVtuK2ldO3JldHVybiB0aGlzfWNvcHlBcnJheSh0KXtyZXR1cm4gdGhpcy5hcnJheS5zZXQodCksdGhpc31jb3B5Q29sb3JzQXJyYXkodCl7Y29uc3QgZT10aGlzLmFycmF5O2xldCBuPTA7Zm9yKGxldCBpPTAscj10Lmxlbmd0aDtpPHI7aSsrKXtsZXQgcj10W2ldO3ZvaWQgMD09PXImJihjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZS5jb3B5Q29sb3JzQXJyYXkoKTogY29sb3IgaXMgdW5kZWZpbmVkIixpKSxyPW5ldyBzNHQpLGVbbisrXT1yLnIsZVtuKytdPXIuZyxlW24rK109ci5ifXJldHVybiB0aGlzfWNvcHlWZWN0b3Iyc0FycmF5KHQpe2NvbnN0IGU9dGhpcy5hcnJheTtsZXQgbj0wO2ZvcihsZXQgaT0wLHI9dC5sZW5ndGg7aTxyO2krKyl7bGV0IHI9dFtpXTt2b2lkIDA9PT1yJiYoY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJBdHRyaWJ1dGUuY29weVZlY3RvcjJzQXJyYXkoKTogdmVjdG9yIGlzIHVuZGVmaW5lZCIsaSkscj1uZXcgQzV0KSxlW24rK109ci54LGVbbisrXT1yLnl9cmV0dXJuIHRoaXN9Y29weVZlY3RvcjNzQXJyYXkodCl7Y29uc3QgZT10aGlzLmFycmF5O2xldCBuPTA7Zm9yKGxldCBpPTAscj10Lmxlbmd0aDtpPHI7aSsrKXtsZXQgcj10W2ldO3ZvaWQgMD09PXImJihjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZS5jb3B5VmVjdG9yM3NBcnJheSgpOiB2ZWN0b3IgaXMgdW5kZWZpbmVkIixpKSxyPW5ldyBINXQpLGVbbisrXT1yLngsZVtuKytdPXIueSxlW24rK109ci56fXJldHVybiB0aGlzfWNvcHlWZWN0b3I0c0FycmF5KHQpe2NvbnN0IGU9dGhpcy5hcnJheTtsZXQgbj0wO2ZvcihsZXQgaT0wLHI9dC5sZW5ndGg7aTxyO2krKyl7bGV0IHI9dFtpXTt2b2lkIDA9PT1yJiYoY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJBdHRyaWJ1dGUuY29weVZlY3RvcjRzQXJyYXkoKTogdmVjdG9yIGlzIHVuZGVmaW5lZCIsaSkscj1uZXcgUjV0KSxlW24rK109ci54LGVbbisrXT1yLnksZVtuKytdPXIueixlW24rK109ci53fXJldHVybiB0aGlzfWFwcGx5TWF0cml4Myh0KXtpZigyPT09dGhpcy5pdGVtU2l6ZSlmb3IobGV0IGU9MCxuPXRoaXMuY291bnQ7ZTxuO2UrKyl1NHQuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0aGlzLGUpLHU0dC5hcHBseU1hdHJpeDModCksdGhpcy5zZXRYWShlLHU0dC54LHU0dC55KTtlbHNlIGlmKDM9PT10aGlzLml0ZW1TaXplKWZvcihsZXQgZT0wLG49dGhpcy5jb3VudDtlPG47ZSsrKWM0dC5mcm9tQnVmZmVyQXR0cmlidXRlKHRoaXMsZSksYzR0LmFwcGx5TWF0cml4Myh0KSx0aGlzLnNldFhZWihlLGM0dC54LGM0dC55LGM0dC56KTtyZXR1cm4gdGhpc31hcHBseU1hdHJpeDQodCl7Zm9yKGxldCBlPTAsbj10aGlzLmNvdW50O2U8bjtlKyspYzR0Lng9dGhpcy5nZXRYKGUpLGM0dC55PXRoaXMuZ2V0WShlKSxjNHQuej10aGlzLmdldFooZSksYzR0LmFwcGx5TWF0cml4NCh0KSx0aGlzLnNldFhZWihlLGM0dC54LGM0dC55LGM0dC56KTtyZXR1cm4gdGhpc31hcHBseU5vcm1hbE1hdHJpeCh0KXtmb3IobGV0IGU9MCxuPXRoaXMuY291bnQ7ZTxuO2UrKyljNHQueD10aGlzLmdldFgoZSksYzR0Lnk9dGhpcy5nZXRZKGUpLGM0dC56PXRoaXMuZ2V0WihlKSxjNHQuYXBwbHlOb3JtYWxNYXRyaXgodCksdGhpcy5zZXRYWVooZSxjNHQueCxjNHQueSxjNHQueik7cmV0dXJuIHRoaXN9dHJhbnNmb3JtRGlyZWN0aW9uKHQpe2ZvcihsZXQgZT0wLG49dGhpcy5jb3VudDtlPG47ZSsrKWM0dC54PXRoaXMuZ2V0WChlKSxjNHQueT10aGlzLmdldFkoZSksYzR0Lno9dGhpcy5nZXRaKGUpLGM0dC50cmFuc2Zvcm1EaXJlY3Rpb24odCksdGhpcy5zZXRYWVooZSxjNHQueCxjNHQueSxjNHQueik7cmV0dXJuIHRoaXN9c2V0KHQsZT0wKXtyZXR1cm4gdGhpcy5hcnJheS5zZXQodCxlKSx0aGlzfWdldFgodCl7cmV0dXJuIHRoaXMuYXJyYXlbdCp0aGlzLml0ZW1TaXplXX1zZXRYKHQsZSl7cmV0dXJuIHRoaXMuYXJyYXlbdCp0aGlzLml0ZW1TaXplXT1lLHRoaXN9Z2V0WSh0KXtyZXR1cm4gdGhpcy5hcnJheVt0KnRoaXMuaXRlbVNpemUrMV19c2V0WSh0LGUpe3JldHVybiB0aGlzLmFycmF5W3QqdGhpcy5pdGVtU2l6ZSsxXT1lLHRoaXN9Z2V0Wih0KXtyZXR1cm4gdGhpcy5hcnJheVt0KnRoaXMuaXRlbVNpemUrMl19c2V0Wih0LGUpe3JldHVybiB0aGlzLmFycmF5W3QqdGhpcy5pdGVtU2l6ZSsyXT1lLHRoaXN9Z2V0Vyh0KXtyZXR1cm4gdGhpcy5hcnJheVt0KnRoaXMuaXRlbVNpemUrM119c2V0Vyh0LGUpe3JldHVybiB0aGlzLmFycmF5W3QqdGhpcy5pdGVtU2l6ZSszXT1lLHRoaXN9c2V0WFkodCxlLG4pe3JldHVybiB0aGlzLmFycmF5Wyh0Kj10aGlzLml0ZW1TaXplKSswXT1lLHRoaXMuYXJyYXlbdCsxXT1uLHRoaXN9c2V0WFlaKHQsZSxuLGkpe3JldHVybiB0aGlzLmFycmF5Wyh0Kj10aGlzLml0ZW1TaXplKSswXT1lLHRoaXMuYXJyYXlbdCsxXT1uLHRoaXMuYXJyYXlbdCsyXT1pLHRoaXN9c2V0WFlaVyh0LGUsbixpLHIpe3JldHVybiB0aGlzLmFycmF5Wyh0Kj10aGlzLml0ZW1TaXplKSswXT1lLHRoaXMuYXJyYXlbdCsxXT1uLHRoaXMuYXJyYXlbdCsyXT1pLHRoaXMuYXJyYXlbdCszXT1yLHRoaXN9b25VcGxvYWQodCl7cmV0dXJuIHRoaXMub25VcGxvYWRDYWxsYmFjaz10LHRoaXN9Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5hcnJheSx0aGlzLml0ZW1TaXplKS5jb3B5KHRoaXMpfXRvSlNPTigpe2NvbnN0IHQ9e2l0ZW1TaXplOnRoaXMuaXRlbVNpemUsdHlwZTp0aGlzLmFycmF5LmNvbnN0cnVjdG9yLm5hbWUsYXJyYXk6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5hcnJheSksbm9ybWFsaXplZDp0aGlzLm5vcm1hbGl6ZWR9O3JldHVybiIiIT09dGhpcy5uYW1lJiYodC5uYW1lPXRoaXMubmFtZSksdGhpcy51c2FnZSE9PUoydCYmKHQudXNhZ2U9dGhpcy51c2FnZSksMD09PXRoaXMudXBkYXRlUmFuZ2Uub2Zmc2V0JiYtMT09PXRoaXMudXBkYXRlUmFuZ2UuY291bnR8fCh0LnVwZGF0ZVJhbmdlPXRoaXMudXBkYXRlUmFuZ2UpLHR9fWg0dC5wcm90b3R5cGUuaXNCdWZmZXJBdHRyaWJ1dGU9ITA7Y2xhc3MgZDR0IGV4dGVuZHMgaDR0e2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcihuZXcgSW50OEFycmF5KHQpLGUsbil9fWNsYXNzIHA0dCBleHRlbmRzIGg0dHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIobmV3IFVpbnQ4QXJyYXkodCksZSxuKX19Y2xhc3MgZjR0IGV4dGVuZHMgaDR0e2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcihuZXcgVWludDhDbGFtcGVkQXJyYXkodCksZSxuKX19Y2xhc3MgbTR0IGV4dGVuZHMgaDR0e2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcihuZXcgSW50MTZBcnJheSh0KSxlLG4pfX1jbGFzcyBnNHQgZXh0ZW5kcyBoNHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKG5ldyBVaW50MTZBcnJheSh0KSxlLG4pfX1jbGFzcyBfNHQgZXh0ZW5kcyBoNHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKG5ldyBJbnQzMkFycmF5KHQpLGUsbil9fWNsYXNzIHk0dCBleHRlbmRzIGg0dHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIobmV3IFVpbnQzMkFycmF5KHQpLGUsbil9fWNsYXNzIHY0dCBleHRlbmRzIGg0dHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIobmV3IFVpbnQxNkFycmF5KHQpLGUsbil9fXY0dC5wcm90b3R5cGUuaXNGbG9hdDE2QnVmZmVyQXR0cmlidXRlPSEwO2NsYXNzIGI0dCBleHRlbmRzIGg0dHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIobmV3IEZsb2F0MzJBcnJheSh0KSxlLG4pfX1jbGFzcyB4NHQgZXh0ZW5kcyBoNHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKG5ldyBGbG9hdDY0QXJyYXkodCksZSxuKX19ZnVuY3Rpb24gdzR0KHQpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm4tMS8wO2xldCBlPXRbMF07Zm9yKGxldCBuPTEsaT10Lmxlbmd0aDtuPGk7KytuKXRbbl0+ZSYmKGU9dFtuXSk7cmV0dXJuIGV9Y29uc3QgUzR0PXtJbnQ4QXJyYXk6SW50OEFycmF5LFVpbnQ4QXJyYXk6VWludDhBcnJheSxVaW50OENsYW1wZWRBcnJheTpVaW50OENsYW1wZWRBcnJheSxJbnQxNkFycmF5OkludDE2QXJyYXksVWludDE2QXJyYXk6VWludDE2QXJyYXksSW50MzJBcnJheTpJbnQzMkFycmF5LFVpbnQzMkFycmF5OlVpbnQzMkFycmF5LEZsb2F0MzJBcnJheTpGbG9hdDMyQXJyYXksRmxvYXQ2NEFycmF5OkZsb2F0NjRBcnJheX07ZnVuY3Rpb24gTTR0KHQsZSl7cmV0dXJuIG5ldyBTNHRbdF0oZSl9bGV0IEU0dD0wO2NvbnN0IFQ0dD1uZXcgZzN0LEM0dD1uZXcgVjN0LEE0dD1uZXcgSDV0LGs0dD1uZXcgVTV0LEw0dD1uZXcgVTV0LFA0dD1uZXcgSDV0O2NsYXNzIE40dCBleHRlbmRzIGU1dHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImlkIix7dmFsdWU6RTR0Kyt9KSx0aGlzLnV1aWQ9YTV0KCksdGhpcy5uYW1lPSIiLHRoaXMudHlwZT0iQnVmZmVyR2VvbWV0cnkiLHRoaXMuaW5kZXg9bnVsbCx0aGlzLmF0dHJpYnV0ZXM9e30sdGhpcy5tb3JwaEF0dHJpYnV0ZXM9e30sdGhpcy5tb3JwaFRhcmdldHNSZWxhdGl2ZT0hMSx0aGlzLmdyb3Vwcz1bXSx0aGlzLmJvdW5kaW5nQm94PW51bGwsdGhpcy5ib3VuZGluZ1NwaGVyZT1udWxsLHRoaXMuZHJhd1JhbmdlPXtzdGFydDowLGNvdW50OjEvMH0sdGhpcy51c2VyRGF0YT17fX1nZXRJbmRleCgpe3JldHVybiB0aGlzLmluZGV4fXNldEluZGV4KHQpe3JldHVybiB0aGlzLmluZGV4PUFycmF5LmlzQXJyYXkodCk/bmV3KHc0dCh0KT42NTUzNT95NHQ6ZzR0KSh0LDEpOnQsdGhpc31nZXRBdHRyaWJ1dGUodCl7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1t0XX1zZXRBdHRyaWJ1dGUodCxlKXtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVzW3RdPWUsdGhpc31kZWxldGVBdHRyaWJ1dGUodCl7cmV0dXJuIGRlbGV0ZSB0aGlzLmF0dHJpYnV0ZXNbdF0sdGhpc31oYXNBdHRyaWJ1dGUodCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuYXR0cmlidXRlc1t0XX1hZGRHcm91cCh0LGUsbj0wKXt0aGlzLmdyb3Vwcy5wdXNoKHtzdGFydDp0LGNvdW50OmUsbWF0ZXJpYWxJbmRleDpufSl9Y2xlYXJHcm91cHMoKXt0aGlzLmdyb3Vwcz1bXX1zZXREcmF3UmFuZ2UodCxlKXt0aGlzLmRyYXdSYW5nZS5zdGFydD10LHRoaXMuZHJhd1JhbmdlLmNvdW50PWV9YXBwbHlNYXRyaXg0KHQpe2NvbnN0IGU9dGhpcy5hdHRyaWJ1dGVzLnBvc2l0aW9uO3ZvaWQgMCE9PWUmJihlLmFwcGx5TWF0cml4NCh0KSxlLm5lZWRzVXBkYXRlPSEwKTtjb25zdCBuPXRoaXMuYXR0cmlidXRlcy5ub3JtYWw7aWYodm9pZCAwIT09bil7Y29uc3QgZT0obmV3IEE1dCkuZ2V0Tm9ybWFsTWF0cml4KHQpO24uYXBwbHlOb3JtYWxNYXRyaXgoZSksbi5uZWVkc1VwZGF0ZT0hMH1jb25zdCBpPXRoaXMuYXR0cmlidXRlcy50YW5nZW50O3JldHVybiB2b2lkIDAhPT1pJiYoaS50cmFuc2Zvcm1EaXJlY3Rpb24odCksaS5uZWVkc1VwZGF0ZT0hMCksbnVsbCE9PXRoaXMuYm91bmRpbmdCb3gmJnRoaXMuY29tcHV0ZUJvdW5kaW5nQm94KCksbnVsbCE9PXRoaXMuYm91bmRpbmdTcGhlcmUmJnRoaXMuY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCksdGhpc31hcHBseVF1YXRlcm5pb24odCl7cmV0dXJuIFQ0dC5tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbih0KSx0aGlzLmFwcGx5TWF0cml4NChUNHQpLHRoaXN9cm90YXRlWCh0KXtyZXR1cm4gVDR0Lm1ha2VSb3RhdGlvblgodCksdGhpcy5hcHBseU1hdHJpeDQoVDR0KSx0aGlzfXJvdGF0ZVkodCl7cmV0dXJuIFQ0dC5tYWtlUm90YXRpb25ZKHQpLHRoaXMuYXBwbHlNYXRyaXg0KFQ0dCksdGhpc31yb3RhdGVaKHQpe3JldHVybiBUNHQubWFrZVJvdGF0aW9uWih0KSx0aGlzLmFwcGx5TWF0cml4NChUNHQpLHRoaXN9dHJhbnNsYXRlKHQsZSxuKXtyZXR1cm4gVDR0Lm1ha2VUcmFuc2xhdGlvbih0LGUsbiksdGhpcy5hcHBseU1hdHJpeDQoVDR0KSx0aGlzfXNjYWxlKHQsZSxuKXtyZXR1cm4gVDR0Lm1ha2VTY2FsZSh0LGUsbiksdGhpcy5hcHBseU1hdHJpeDQoVDR0KSx0aGlzfWxvb2tBdCh0KXtyZXR1cm4gQzR0Lmxvb2tBdCh0KSxDNHQudXBkYXRlTWF0cml4KCksdGhpcy5hcHBseU1hdHJpeDQoQzR0Lm1hdHJpeCksdGhpc31jZW50ZXIoKXtyZXR1cm4gdGhpcy5jb21wdXRlQm91bmRpbmdCb3goKSx0aGlzLmJvdW5kaW5nQm94LmdldENlbnRlcihBNHQpLm5lZ2F0ZSgpLHRoaXMudHJhbnNsYXRlKEE0dC54LEE0dC55LEE0dC56KSx0aGlzfXNldEZyb21Qb2ludHModCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MCxpPXQubGVuZ3RoO248aTtuKyspe2NvbnN0IGk9dFtuXTtlLnB1c2goaS54LGkueSxpLnp8fDApfXJldHVybiB0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQoZSwzKSksdGhpc31jb21wdXRlQm91bmRpbmdCb3goKXtudWxsPT09dGhpcy5ib3VuZGluZ0JveCYmKHRoaXMuYm91bmRpbmdCb3g9bmV3IFU1dCk7Y29uc3QgdD10aGlzLmF0dHJpYnV0ZXMucG9zaXRpb24sZT10aGlzLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbjtpZih0JiZ0LmlzR0xCdWZmZXJBdHRyaWJ1dGUpcmV0dXJuIGNvbnNvbGUuZXJyb3IoJ1RIUkVFLkJ1ZmZlckdlb21ldHJ5LmNvbXB1dGVCb3VuZGluZ0JveCgpOiBHTEJ1ZmZlckF0dHJpYnV0ZSByZXF1aXJlcyBhIG1hbnVhbCBib3VuZGluZyBib3guIEFsdGVybmF0aXZlbHkgc2V0ICJtZXNoLmZydXN0dW1DdWxsZWQiIHRvICJmYWxzZSIuJyx0aGlzKSx2b2lkIHRoaXMuYm91bmRpbmdCb3guc2V0KG5ldyBINXQoLTEvMCwtMS8wLC0xLzApLG5ldyBINXQoMS8wLDEvMCwxLzApKTtpZih2b2lkIDAhPT10KXtpZih0aGlzLmJvdW5kaW5nQm94LnNldEZyb21CdWZmZXJBdHRyaWJ1dGUodCksZSlmb3IobGV0IHQ9MCxuPWUubGVuZ3RoO3Q8bjt0Kyspe2s0dC5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKGVbdF0pLHRoaXMubW9ycGhUYXJnZXRzUmVsYXRpdmU/KFA0dC5hZGRWZWN0b3JzKHRoaXMuYm91bmRpbmdCb3gubWluLGs0dC5taW4pLHRoaXMuYm91bmRpbmdCb3guZXhwYW5kQnlQb2ludChQNHQpLFA0dC5hZGRWZWN0b3JzKHRoaXMuYm91bmRpbmdCb3gubWF4LGs0dC5tYXgpLHRoaXMuYm91bmRpbmdCb3guZXhwYW5kQnlQb2ludChQNHQpKToodGhpcy5ib3VuZGluZ0JveC5leHBhbmRCeVBvaW50KGs0dC5taW4pLHRoaXMuYm91bmRpbmdCb3guZXhwYW5kQnlQb2ludChrNHQubWF4KSl9fWVsc2UgdGhpcy5ib3VuZGluZ0JveC5tYWtlRW1wdHkoKTsoaXNOYU4odGhpcy5ib3VuZGluZ0JveC5taW4ueCl8fGlzTmFOKHRoaXMuYm91bmRpbmdCb3gubWluLnkpfHxpc05hTih0aGlzLmJvdW5kaW5nQm94Lm1pbi56KSkmJmNvbnNvbGUuZXJyb3IoJ1RIUkVFLkJ1ZmZlckdlb21ldHJ5LmNvbXB1dGVCb3VuZGluZ0JveCgpOiBDb21wdXRlZCBtaW4vbWF4IGhhdmUgTmFOIHZhbHVlcy4gVGhlICJwb3NpdGlvbiIgYXR0cmlidXRlIGlzIGxpa2VseSB0byBoYXZlIE5hTiB2YWx1ZXMuJyx0aGlzKX1jb21wdXRlQm91bmRpbmdTcGhlcmUoKXtudWxsPT09dGhpcy5ib3VuZGluZ1NwaGVyZSYmKHRoaXMuYm91bmRpbmdTcGhlcmU9bmV3IHMzdCk7Y29uc3QgdD10aGlzLmF0dHJpYnV0ZXMucG9zaXRpb24sZT10aGlzLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbjtpZih0JiZ0LmlzR0xCdWZmZXJBdHRyaWJ1dGUpcmV0dXJuIGNvbnNvbGUuZXJyb3IoJ1RIUkVFLkJ1ZmZlckdlb21ldHJ5LmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpOiBHTEJ1ZmZlckF0dHJpYnV0ZSByZXF1aXJlcyBhIG1hbnVhbCBib3VuZGluZyBzcGhlcmUuIEFsdGVybmF0aXZlbHkgc2V0ICJtZXNoLmZydXN0dW1DdWxsZWQiIHRvICJmYWxzZSIuJyx0aGlzKSx2b2lkIHRoaXMuYm91bmRpbmdTcGhlcmUuc2V0KG5ldyBINXQsMS8wKTtpZih0KXtjb25zdCBuPXRoaXMuYm91bmRpbmdTcGhlcmUuY2VudGVyO2lmKGs0dC5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKHQpLGUpZm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0PG47dCsrKXtMNHQuc2V0RnJvbUJ1ZmZlckF0dHJpYnV0ZShlW3RdKSx0aGlzLm1vcnBoVGFyZ2V0c1JlbGF0aXZlPyhQNHQuYWRkVmVjdG9ycyhrNHQubWluLEw0dC5taW4pLGs0dC5leHBhbmRCeVBvaW50KFA0dCksUDR0LmFkZFZlY3RvcnMoazR0Lm1heCxMNHQubWF4KSxrNHQuZXhwYW5kQnlQb2ludChQNHQpKTooazR0LmV4cGFuZEJ5UG9pbnQoTDR0Lm1pbiksazR0LmV4cGFuZEJ5UG9pbnQoTDR0Lm1heCkpfWs0dC5nZXRDZW50ZXIobik7bGV0IGk9MDtmb3IobGV0IGU9MCxyPXQuY291bnQ7ZTxyO2UrKylQNHQuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LGUpLGk9TWF0aC5tYXgoaSxuLmRpc3RhbmNlVG9TcXVhcmVkKFA0dCkpO2lmKGUpZm9yKGxldCByPTAsbz1lLmxlbmd0aDtyPG87cisrKXtjb25zdCBvPWVbcl0sYT10aGlzLm1vcnBoVGFyZ2V0c1JlbGF0aXZlO2ZvcihsZXQgZT0wLHI9by5jb3VudDtlPHI7ZSsrKVA0dC5mcm9tQnVmZmVyQXR0cmlidXRlKG8sZSksYSYmKEE0dC5mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSksUDR0LmFkZChBNHQpKSxpPU1hdGgubWF4KGksbi5kaXN0YW5jZVRvU3F1YXJlZChQNHQpKX10aGlzLmJvdW5kaW5nU3BoZXJlLnJhZGl1cz1NYXRoLnNxcnQoaSksaXNOYU4odGhpcy5ib3VuZGluZ1NwaGVyZS5yYWRpdXMpJiZjb25zb2xlLmVycm9yKCdUSFJFRS5CdWZmZXJHZW9tZXRyeS5jb21wdXRlQm91bmRpbmdTcGhlcmUoKTogQ29tcHV0ZWQgcmFkaXVzIGlzIE5hTi4gVGhlICJwb3NpdGlvbiIgYXR0cmlidXRlIGlzIGxpa2VseSB0byBoYXZlIE5hTiB2YWx1ZXMuJyx0aGlzKX19Y29tcHV0ZUZhY2VOb3JtYWxzKCl7fWNvbXB1dGVUYW5nZW50cygpe2NvbnN0IHQ9dGhpcy5pbmRleCxlPXRoaXMuYXR0cmlidXRlcztpZihudWxsPT09dHx8dm9pZCAwPT09ZS5wb3NpdGlvbnx8dm9pZCAwPT09ZS5ub3JtYWx8fHZvaWQgMD09PWUudXYpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5jb21wdXRlVGFuZ2VudHMoKSBmYWlsZWQuIE1pc3NpbmcgcmVxdWlyZWQgYXR0cmlidXRlcyAoaW5kZXgsIHBvc2l0aW9uLCBub3JtYWwgb3IgdXYpIik7Y29uc3Qgbj10LmFycmF5LGk9ZS5wb3NpdGlvbi5hcnJheSxyPWUubm9ybWFsLmFycmF5LG89ZS51di5hcnJheSxhPWkubGVuZ3RoLzM7dm9pZCAwPT09ZS50YW5nZW50JiZ0aGlzLnNldEF0dHJpYnV0ZSgidGFuZ2VudCIsbmV3IGg0dChuZXcgRmxvYXQzMkFycmF5KDQqYSksNCkpO2NvbnN0IHM9ZS50YW5nZW50LmFycmF5LGw9W10sYz1bXTtmb3IobGV0IHQ9MDt0PGE7dCsrKWxbdF09bmV3IEg1dCxjW3RdPW5ldyBINXQ7Y29uc3QgdT1uZXcgSDV0LGg9bmV3IEg1dCxkPW5ldyBINXQscD1uZXcgQzV0LGY9bmV3IEM1dCxtPW5ldyBDNXQsZz1uZXcgSDV0LF89bmV3IEg1dDtmdW5jdGlvbiB5KHQsZSxuKXt1LmZyb21BcnJheShpLDMqdCksaC5mcm9tQXJyYXkoaSwzKmUpLGQuZnJvbUFycmF5KGksMypuKSxwLmZyb21BcnJheShvLDIqdCksZi5mcm9tQXJyYXkobywyKmUpLG0uZnJvbUFycmF5KG8sMipuKSxoLnN1Yih1KSxkLnN1Yih1KSxmLnN1YihwKSxtLnN1YihwKTtjb25zdCByPTEvKGYueCptLnktbS54KmYueSk7aXNGaW5pdGUocikmJihnLmNvcHkoaCkubXVsdGlwbHlTY2FsYXIobS55KS5hZGRTY2FsZWRWZWN0b3IoZCwtZi55KS5tdWx0aXBseVNjYWxhcihyKSxfLmNvcHkoZCkubXVsdGlwbHlTY2FsYXIoZi54KS5hZGRTY2FsZWRWZWN0b3IoaCwtbS54KS5tdWx0aXBseVNjYWxhcihyKSxsW3RdLmFkZChnKSxsW2VdLmFkZChnKSxsW25dLmFkZChnKSxjW3RdLmFkZChfKSxjW2VdLmFkZChfKSxjW25dLmFkZChfKSl9bGV0IHY9dGhpcy5ncm91cHM7MD09PXYubGVuZ3RoJiYodj1be3N0YXJ0OjAsY291bnQ6bi5sZW5ndGh9XSk7Zm9yKGxldCB0PTAsZT12Lmxlbmd0aDt0PGU7Kyt0KXtjb25zdCBlPXZbdF0saT1lLnN0YXJ0O2ZvcihsZXQgdD1pLHI9aStlLmNvdW50O3Q8cjt0Kz0zKXkoblt0KzBdLG5bdCsxXSxuW3QrMl0pfWNvbnN0IGI9bmV3IEg1dCx4PW5ldyBINXQsdz1uZXcgSDV0LFM9bmV3IEg1dDtmdW5jdGlvbiBNKHQpe3cuZnJvbUFycmF5KHIsMyp0KSxTLmNvcHkodyk7Y29uc3QgZT1sW3RdO2IuY29weShlKSxiLnN1Yih3Lm11bHRpcGx5U2NhbGFyKHcuZG90KGUpKSkubm9ybWFsaXplKCkseC5jcm9zc1ZlY3RvcnMoUyxlKTtjb25zdCBuPXguZG90KGNbdF0pPDA/LTE6MTtzWzQqdF09Yi54LHNbNCp0KzFdPWIueSxzWzQqdCsyXT1iLnosc1s0KnQrM109bn1mb3IobGV0IHQ9MCxlPXYubGVuZ3RoO3Q8ZTsrK3Qpe2NvbnN0IGU9dlt0XSxpPWUuc3RhcnQ7Zm9yKGxldCB0PWkscj1pK2UuY291bnQ7dDxyO3QrPTMpTShuW3QrMF0pLE0oblt0KzFdKSxNKG5bdCsyXSl9fWNvbXB1dGVWZXJ0ZXhOb3JtYWxzKCl7Y29uc3QgdD10aGlzLmluZGV4LGU9dGhpcy5nZXRBdHRyaWJ1dGUoInBvc2l0aW9uIik7aWYodm9pZCAwIT09ZSl7bGV0IG49dGhpcy5nZXRBdHRyaWJ1dGUoIm5vcm1hbCIpO2lmKHZvaWQgMD09PW4pbj1uZXcgaDR0KG5ldyBGbG9hdDMyQXJyYXkoMyplLmNvdW50KSwzKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuKTtlbHNlIGZvcihsZXQgdD0wLGU9bi5jb3VudDt0PGU7dCsrKW4uc2V0WFlaKHQsMCwwLDApO2NvbnN0IGk9bmV3IEg1dCxyPW5ldyBINXQsbz1uZXcgSDV0LGE9bmV3IEg1dCxzPW5ldyBINXQsbD1uZXcgSDV0LGM9bmV3IEg1dCx1PW5ldyBINXQ7aWYodClmb3IobGV0IGg9MCxkPXQuY291bnQ7aDxkO2grPTMpe2NvbnN0IGQ9dC5nZXRYKGgrMCkscD10LmdldFgoaCsxKSxmPXQuZ2V0WChoKzIpO2kuZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLGQpLHIuZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLHApLG8uZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLGYpLGMuc3ViVmVjdG9ycyhvLHIpLHUuc3ViVmVjdG9ycyhpLHIpLGMuY3Jvc3ModSksYS5mcm9tQnVmZmVyQXR0cmlidXRlKG4sZCkscy5mcm9tQnVmZmVyQXR0cmlidXRlKG4scCksbC5mcm9tQnVmZmVyQXR0cmlidXRlKG4sZiksYS5hZGQoYykscy5hZGQoYyksbC5hZGQoYyksbi5zZXRYWVooZCxhLngsYS55LGEueiksbi5zZXRYWVoocCxzLngscy55LHMueiksbi5zZXRYWVooZixsLngsbC55LGwueil9ZWxzZSBmb3IobGV0IHQ9MCxhPWUuY291bnQ7dDxhO3QrPTMpaS5mcm9tQnVmZmVyQXR0cmlidXRlKGUsdCswKSxyLmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx0KzEpLG8uZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLHQrMiksYy5zdWJWZWN0b3JzKG8sciksdS5zdWJWZWN0b3JzKGksciksYy5jcm9zcyh1KSxuLnNldFhZWih0KzAsYy54LGMueSxjLnopLG4uc2V0WFlaKHQrMSxjLngsYy55LGMueiksbi5zZXRYWVoodCsyLGMueCxjLnksYy56KTt0aGlzLm5vcm1hbGl6ZU5vcm1hbHMoKSxuLm5lZWRzVXBkYXRlPSEwfX1tZXJnZSh0LGUpe2lmKCF0fHwhdC5pc0J1ZmZlckdlb21ldHJ5KXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLkJ1ZmZlckdlb21ldHJ5Lm1lcmdlKCk6IGdlb21ldHJ5IG5vdCBhbiBpbnN0YW5jZSBvZiBUSFJFRS5CdWZmZXJHZW9tZXRyeS4iLHQpO3ZvaWQgMD09PWUmJihlPTAsY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeS5tZXJnZSgpOiBPdmVyd3JpdGluZyBvcmlnaW5hbCBnZW9tZXRyeSwgc3RhcnRpbmcgYXQgb2Zmc2V0PTAuIFVzZSBCdWZmZXJHZW9tZXRyeVV0aWxzLm1lcmdlQnVmZmVyR2VvbWV0cmllcygpIGZvciBsb3NzbGVzcyBtZXJnZS4iKSk7Y29uc3Qgbj10aGlzLmF0dHJpYnV0ZXM7Zm9yKGNvbnN0IGkgaW4gbil7aWYodm9pZCAwPT09dC5hdHRyaWJ1dGVzW2ldKWNvbnRpbnVlO2NvbnN0IHI9bltpXS5hcnJheSxvPXQuYXR0cmlidXRlc1tpXSxhPW8uYXJyYXkscz1vLml0ZW1TaXplKmUsbD1NYXRoLm1pbihhLmxlbmd0aCxyLmxlbmd0aC1zKTtmb3IobGV0IHQ9MCxlPXM7dDxsO3QrKyxlKyspcltlXT1hW3RdfXJldHVybiB0aGlzfW5vcm1hbGl6ZU5vcm1hbHMoKXtjb25zdCB0PXRoaXMuYXR0cmlidXRlcy5ub3JtYWw7Zm9yKGxldCBlPTAsbj10LmNvdW50O2U8bjtlKyspUDR0LmZyb21CdWZmZXJBdHRyaWJ1dGUodCxlKSxQNHQubm9ybWFsaXplKCksdC5zZXRYWVooZSxQNHQueCxQNHQueSxQNHQueil9dG9Ob25JbmRleGVkKCl7ZnVuY3Rpb24gdCh0LGUpe2NvbnN0IG49dC5hcnJheSxpPXQuaXRlbVNpemUscj10Lm5vcm1hbGl6ZWQsbz1uZXcgbi5jb25zdHJ1Y3RvcihlLmxlbmd0aCppKTtsZXQgYT0wLHM9MDtmb3IobGV0IHI9MCxsPWUubGVuZ3RoO3I8bDtyKyspe2E9dC5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlP2Vbcl0qdC5kYXRhLnN0cmlkZSt0Lm9mZnNldDplW3JdKmk7Zm9yKGxldCB0PTA7dDxpO3QrKylvW3MrK109blthKytdfXJldHVybiBuZXcgaDR0KG8saSxyKX1pZihudWxsPT09dGhpcy5pbmRleClyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeS50b05vbkluZGV4ZWQoKTogQnVmZmVyR2VvbWV0cnkgaXMgYWxyZWFkeSBub24taW5kZXhlZC4iKSx0aGlzO2NvbnN0IGU9bmV3IE40dCxuPXRoaXMuaW5kZXguYXJyYXksaT10aGlzLmF0dHJpYnV0ZXM7Zm9yKGNvbnN0IHIgaW4gaSl7Y29uc3Qgbz10KGlbcl0sbik7ZS5zZXRBdHRyaWJ1dGUocixvKX1jb25zdCByPXRoaXMubW9ycGhBdHRyaWJ1dGVzO2Zvcihjb25zdCBpIGluIHIpe2NvbnN0IG89W10sYT1yW2ldO2ZvcihsZXQgZT0wLGk9YS5sZW5ndGg7ZTxpO2UrKyl7Y29uc3QgaT10KGFbZV0sbik7by5wdXNoKGkpfWUubW9ycGhBdHRyaWJ1dGVzW2ldPW99ZS5tb3JwaFRhcmdldHNSZWxhdGl2ZT10aGlzLm1vcnBoVGFyZ2V0c1JlbGF0aXZlO2NvbnN0IG89dGhpcy5ncm91cHM7Zm9yKGxldCB0PTAsbj1vLmxlbmd0aDt0PG47dCsrKXtjb25zdCBuPW9bdF07ZS5hZGRHcm91cChuLnN0YXJ0LG4uY291bnQsbi5tYXRlcmlhbEluZGV4KX1yZXR1cm4gZX10b0pTT04oKXtjb25zdCB0PXttZXRhZGF0YTp7dmVyc2lvbjo0LjUsdHlwZToiQnVmZmVyR2VvbWV0cnkiLGdlbmVyYXRvcjoiQnVmZmVyR2VvbWV0cnkudG9KU09OIn19O2lmKHQudXVpZD10aGlzLnV1aWQsdC50eXBlPXRoaXMudHlwZSwiIiE9PXRoaXMubmFtZSYmKHQubmFtZT10aGlzLm5hbWUpLE9iamVjdC5rZXlzKHRoaXMudXNlckRhdGEpLmxlbmd0aD4wJiYodC51c2VyRGF0YT10aGlzLnVzZXJEYXRhKSx2b2lkIDAhPT10aGlzLnBhcmFtZXRlcnMpe2NvbnN0IGU9dGhpcy5wYXJhbWV0ZXJzO2Zvcihjb25zdCBuIGluIGUpdm9pZCAwIT09ZVtuXSYmKHRbbl09ZVtuXSk7cmV0dXJuIHR9dC5kYXRhPXthdHRyaWJ1dGVzOnt9fTtjb25zdCBlPXRoaXMuaW5kZXg7bnVsbCE9PWUmJih0LmRhdGEuaW5kZXg9e3R5cGU6ZS5hcnJheS5jb25zdHJ1Y3Rvci5uYW1lLGFycmF5OkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUuYXJyYXkpfSk7Y29uc3Qgbj10aGlzLmF0dHJpYnV0ZXM7Zm9yKGNvbnN0IGUgaW4gbil7dC5kYXRhLmF0dHJpYnV0ZXNbZV09bltlXS50b0pTT04odC5kYXRhKX1jb25zdCBpPXt9O2xldCByPSExO2Zvcihjb25zdCBlIGluIHRoaXMubW9ycGhBdHRyaWJ1dGVzKXtjb25zdCBuPXRoaXMubW9ycGhBdHRyaWJ1dGVzW2VdLG89W107Zm9yKGxldCBlPTAsaT1uLmxlbmd0aDtlPGk7ZSsrKXtvLnB1c2gobltlXS50b0pTT04odC5kYXRhKSl9by5sZW5ndGg+MCYmKGlbZV09byxyPSEwKX1yJiYodC5kYXRhLm1vcnBoQXR0cmlidXRlcz1pLHQuZGF0YS5tb3JwaFRhcmdldHNSZWxhdGl2ZT10aGlzLm1vcnBoVGFyZ2V0c1JlbGF0aXZlKTtjb25zdCBvPXRoaXMuZ3JvdXBzO28ubGVuZ3RoPjAmJih0LmRhdGEuZ3JvdXBzPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobykpKTtjb25zdCBhPXRoaXMuYm91bmRpbmdTcGhlcmU7cmV0dXJuIG51bGwhPT1hJiYodC5kYXRhLmJvdW5kaW5nU3BoZXJlPXtjZW50ZXI6YS5jZW50ZXIudG9BcnJheSgpLHJhZGl1czphLnJhZGl1c30pLHR9Y2xvbmUoKXtyZXR1cm4obmV3IE40dCkuY29weSh0aGlzKX1jb3B5KHQpe3RoaXMuaW5kZXg9bnVsbCx0aGlzLmF0dHJpYnV0ZXM9e30sdGhpcy5tb3JwaEF0dHJpYnV0ZXM9e30sdGhpcy5ncm91cHM9W10sdGhpcy5ib3VuZGluZ0JveD1udWxsLHRoaXMuYm91bmRpbmdTcGhlcmU9bnVsbDtjb25zdCBlPXt9O3RoaXMubmFtZT10Lm5hbWU7Y29uc3Qgbj10LmluZGV4O251bGwhPT1uJiZ0aGlzLnNldEluZGV4KG4uY2xvbmUoZSkpO2NvbnN0IGk9dC5hdHRyaWJ1dGVzO2Zvcihjb25zdCB0IGluIGkpe3RoaXMuc2V0QXR0cmlidXRlKHQsaVt0XS5jbG9uZShlKSl9Y29uc3Qgcj10Lm1vcnBoQXR0cmlidXRlcztmb3IoY29uc3QgdCBpbiByKXtjb25zdCBuPVtdLGk9clt0XTtmb3IobGV0IHQ9MCxyPWkubGVuZ3RoO3Q8cjt0Kyspbi5wdXNoKGlbdF0uY2xvbmUoZSkpO3RoaXMubW9ycGhBdHRyaWJ1dGVzW3RdPW59dGhpcy5tb3JwaFRhcmdldHNSZWxhdGl2ZT10Lm1vcnBoVGFyZ2V0c1JlbGF0aXZlO2NvbnN0IG89dC5ncm91cHM7Zm9yKGxldCB0PTAsZT1vLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPW9bdF07dGhpcy5hZGRHcm91cChlLnN0YXJ0LGUuY291bnQsZS5tYXRlcmlhbEluZGV4KX1jb25zdCBhPXQuYm91bmRpbmdCb3g7bnVsbCE9PWEmJih0aGlzLmJvdW5kaW5nQm94PWEuY2xvbmUoKSk7Y29uc3Qgcz10LmJvdW5kaW5nU3BoZXJlO3JldHVybiBudWxsIT09cyYmKHRoaXMuYm91bmRpbmdTcGhlcmU9cy5jbG9uZSgpKSx0aGlzLmRyYXdSYW5nZS5zdGFydD10LmRyYXdSYW5nZS5zdGFydCx0aGlzLmRyYXdSYW5nZS5jb3VudD10LmRyYXdSYW5nZS5jb3VudCx0aGlzLnVzZXJEYXRhPXQudXNlckRhdGEsdGhpc31kaXNwb3NlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNwb3NlIn0pfX1ONHQucHJvdG90eXBlLmlzQnVmZmVyR2VvbWV0cnk9ITA7Y29uc3QgSTR0PW5ldyBnM3QsUjR0PW5ldyBtM3QsTzR0PW5ldyBzM3QsejR0PW5ldyBINXQsRDR0PW5ldyBINXQsQjR0PW5ldyBINXQsSDR0PW5ldyBINXQsRjR0PW5ldyBINXQsVjR0PW5ldyBINXQsVTR0PW5ldyBINXQsajR0PW5ldyBINXQsRzR0PW5ldyBINXQsVzR0PW5ldyBDNXQscTR0PW5ldyBDNXQsWTR0PW5ldyBDNXQsWDR0PW5ldyBINXQsJDR0PW5ldyBINXQ7Y2xhc3MgSzR0IGV4dGVuZHMgVjN0e2NvbnN0cnVjdG9yKHQ9bmV3IE40dCxlPW5ldyBsNHQpe3N1cGVyKCksdGhpcy50eXBlPSJNZXNoIix0aGlzLmdlb21ldHJ5PXQsdGhpcy5tYXRlcmlhbD1lLHRoaXMudXBkYXRlTW9ycGhUYXJnZXRzKCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx2b2lkIDAhPT10Lm1vcnBoVGFyZ2V0SW5mbHVlbmNlcyYmKHRoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzPXQubW9ycGhUYXJnZXRJbmZsdWVuY2VzLnNsaWNlKCkpLHZvaWQgMCE9PXQubW9ycGhUYXJnZXREaWN0aW9uYXJ5JiYodGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnk9T2JqZWN0LmFzc2lnbih7fSx0Lm1vcnBoVGFyZ2V0RGljdGlvbmFyeSkpLHRoaXMubWF0ZXJpYWw9dC5tYXRlcmlhbCx0aGlzLmdlb21ldHJ5PXQuZ2VvbWV0cnksdGhpc311cGRhdGVNb3JwaFRhcmdldHMoKXtjb25zdCB0PXRoaXMuZ2VvbWV0cnk7aWYodC5pc0J1ZmZlckdlb21ldHJ5KXtjb25zdCBlPXQubW9ycGhBdHRyaWJ1dGVzLG49T2JqZWN0LmtleXMoZSk7aWYobi5sZW5ndGg+MCl7Y29uc3QgdD1lW25bMF1dO2lmKHZvaWQgMCE9PXQpe3RoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzPVtdLHRoaXMubW9ycGhUYXJnZXREaWN0aW9uYXJ5PXt9O2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10W2VdLm5hbWV8fFN0cmluZyhlKTt0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcy5wdXNoKDApLHRoaXMubW9ycGhUYXJnZXREaWN0aW9uYXJ5W25dPWV9fX19ZWxzZXtjb25zdCBlPXQubW9ycGhUYXJnZXRzO3ZvaWQgMCE9PWUmJmUubGVuZ3RoPjAmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLk1lc2gudXBkYXRlTW9ycGhUYXJnZXRzKCkgbm8gbG9uZ2VyIHN1cHBvcnRzIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKX19cmF5Y2FzdCh0LGUpe2NvbnN0IG49dGhpcy5nZW9tZXRyeSxpPXRoaXMubWF0ZXJpYWwscj10aGlzLm1hdHJpeFdvcmxkO2lmKHZvaWQgMD09PWkpcmV0dXJuO2lmKG51bGw9PT1uLmJvdW5kaW5nU3BoZXJlJiZuLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLE80dC5jb3B5KG4uYm91bmRpbmdTcGhlcmUpLE80dC5hcHBseU1hdHJpeDQociksITE9PT10LnJheS5pbnRlcnNlY3RzU3BoZXJlKE80dCkpcmV0dXJuO2lmKEk0dC5jb3B5KHIpLmludmVydCgpLFI0dC5jb3B5KHQucmF5KS5hcHBseU1hdHJpeDQoSTR0KSxudWxsIT09bi5ib3VuZGluZ0JveCYmITE9PT1SNHQuaW50ZXJzZWN0c0JveChuLmJvdW5kaW5nQm94KSlyZXR1cm47bGV0IG87aWYobi5pc0J1ZmZlckdlb21ldHJ5KXtjb25zdCByPW4uaW5kZXgsYT1uLmF0dHJpYnV0ZXMucG9zaXRpb24scz1uLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbixsPW4ubW9ycGhUYXJnZXRzUmVsYXRpdmUsYz1uLmF0dHJpYnV0ZXMudXYsdT1uLmF0dHJpYnV0ZXMudXYyLGg9bi5ncm91cHMsZD1uLmRyYXdSYW5nZTtpZihudWxsIT09cilpZihBcnJheS5pc0FycmF5KGkpKWZvcihsZXQgbj0wLHA9aC5sZW5ndGg7bjxwO24rKyl7Y29uc3QgcD1oW25dLGY9aVtwLm1hdGVyaWFsSW5kZXhdO2ZvcihsZXQgbj1NYXRoLm1heChwLnN0YXJ0LGQuc3RhcnQpLGk9TWF0aC5taW4ocC5zdGFydCtwLmNvdW50LGQuc3RhcnQrZC5jb3VudCk7bjxpO24rPTMpe2NvbnN0IGk9ci5nZXRYKG4pLGg9ci5nZXRYKG4rMSksZD1yLmdldFgobisyKTtvPVo0dCh0aGlzLGYsdCxSNHQsYSxzLGwsYyx1LGksaCxkKSxvJiYoby5mYWNlSW5kZXg9TWF0aC5mbG9vcihuLzMpLG8uZmFjZS5tYXRlcmlhbEluZGV4PXAubWF0ZXJpYWxJbmRleCxlLnB1c2gobykpfX1lbHNle2ZvcihsZXQgbj1NYXRoLm1heCgwLGQuc3RhcnQpLGg9TWF0aC5taW4oci5jb3VudCxkLnN0YXJ0K2QuY291bnQpO248aDtuKz0zKXtjb25zdCBoPXIuZ2V0WChuKSxkPXIuZ2V0WChuKzEpLHA9ci5nZXRYKG4rMik7bz1aNHQodGhpcyxpLHQsUjR0LGEscyxsLGMsdSxoLGQscCksbyYmKG8uZmFjZUluZGV4PU1hdGguZmxvb3Iobi8zKSxlLnB1c2gobykpfX1lbHNlIGlmKHZvaWQgMCE9PWEpaWYoQXJyYXkuaXNBcnJheShpKSlmb3IobGV0IG49MCxyPWgubGVuZ3RoO248cjtuKyspe2NvbnN0IHI9aFtuXSxwPWlbci5tYXRlcmlhbEluZGV4XTtmb3IobGV0IG49TWF0aC5tYXgoci5zdGFydCxkLnN0YXJ0KSxpPU1hdGgubWluKHIuc3RhcnQrci5jb3VudCxkLnN0YXJ0K2QuY291bnQpO248aTtuKz0zKXtvPVo0dCh0aGlzLHAsdCxSNHQsYSxzLGwsYyx1LG4sbisxLG4rMiksbyYmKG8uZmFjZUluZGV4PU1hdGguZmxvb3Iobi8zKSxvLmZhY2UubWF0ZXJpYWxJbmRleD1yLm1hdGVyaWFsSW5kZXgsZS5wdXNoKG8pKX19ZWxzZXtmb3IobGV0IG49TWF0aC5tYXgoMCxkLnN0YXJ0KSxyPU1hdGgubWluKGEuY291bnQsZC5zdGFydCtkLmNvdW50KTtuPHI7bis9Myl7bz1aNHQodGhpcyxpLHQsUjR0LGEscyxsLGMsdSxuLG4rMSxuKzIpLG8mJihvLmZhY2VJbmRleD1NYXRoLmZsb29yKG4vMyksZS5wdXNoKG8pKX19fWVsc2Ugbi5pc0dlb21ldHJ5JiZjb25zb2xlLmVycm9yKCJUSFJFRS5NZXNoLnJheWNhc3QoKSBubyBsb25nZXIgc3VwcG9ydHMgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfX1mdW5jdGlvbiBaNHQodCxlLG4saSxyLG8sYSxzLGwsYyx1LGgpe3o0dC5mcm9tQnVmZmVyQXR0cmlidXRlKHIsYyksRDR0LmZyb21CdWZmZXJBdHRyaWJ1dGUocix1KSxCNHQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShyLGgpO2NvbnN0IGQ9dC5tb3JwaFRhcmdldEluZmx1ZW5jZXM7aWYobyYmZCl7VTR0LnNldCgwLDAsMCksajR0LnNldCgwLDAsMCksRzR0LnNldCgwLDAsMCk7Zm9yKGxldCB0PTAsZT1vLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPWRbdF0sbj1vW3RdOzAhPT1lJiYoSDR0LmZyb21CdWZmZXJBdHRyaWJ1dGUobixjKSxGNHQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShuLHUpLFY0dC5mcm9tQnVmZmVyQXR0cmlidXRlKG4saCksYT8oVTR0LmFkZFNjYWxlZFZlY3RvcihINHQsZSksajR0LmFkZFNjYWxlZFZlY3RvcihGNHQsZSksRzR0LmFkZFNjYWxlZFZlY3RvcihWNHQsZSkpOihVNHQuYWRkU2NhbGVkVmVjdG9yKEg0dC5zdWIoejR0KSxlKSxqNHQuYWRkU2NhbGVkVmVjdG9yKEY0dC5zdWIoRDR0KSxlKSxHNHQuYWRkU2NhbGVkVmVjdG9yKFY0dC5zdWIoQjR0KSxlKSkpfXo0dC5hZGQoVTR0KSxENHQuYWRkKGo0dCksQjR0LmFkZChHNHQpfXQuaXNTa2lubmVkTWVzaCYmKHQuYm9uZVRyYW5zZm9ybShjLHo0dCksdC5ib25lVHJhbnNmb3JtKHUsRDR0KSx0LmJvbmVUcmFuc2Zvcm0oaCxCNHQpKTtjb25zdCBwPShmdW5jdGlvbiBmKHQsZSxuLGkscixvLGEscyl7bGV0IGw7aWYobD0xPT09ZS5zaWRlP2kuaW50ZXJzZWN0VHJpYW5nbGUoYSxvLHIsITAscyk6aS5pbnRlcnNlY3RUcmlhbmdsZShyLG8sYSwyIT09ZS5zaWRlLHMpLG51bGw9PT1sKXJldHVybiBudWxsOyQ0dC5jb3B5KHMpLCQ0dC5hcHBseU1hdHJpeDQodC5tYXRyaXhXb3JsZCk7Y29uc3QgYz1uLnJheS5vcmlnaW4uZGlzdGFuY2VUbygkNHQpO3JldHVybiBjPG4ubmVhcnx8Yz5uLmZhcj9udWxsOntkaXN0YW5jZTpjLHBvaW50OiQ0dC5jbG9uZSgpLG9iamVjdDp0fX0pKHQsZSxuLGksejR0LEQ0dCxCNHQsWDR0KTtpZihwKXtzJiYoVzR0LmZyb21CdWZmZXJBdHRyaWJ1dGUocyxjKSxxNHQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShzLHUpLFk0dC5mcm9tQnVmZmVyQXR0cmlidXRlKHMsaCkscC51dj1KM3QuZ2V0VVYoWDR0LHo0dCxENHQsQjR0LFc0dCxxNHQsWTR0LG5ldyBDNXQpKSxsJiYoVzR0LmZyb21CdWZmZXJBdHRyaWJ1dGUobCxjKSxxNHQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShsLHUpLFk0dC5mcm9tQnVmZmVyQXR0cmlidXRlKGwsaCkscC51djI9SjN0LmdldFVWKFg0dCx6NHQsRDR0LEI0dCxXNHQscTR0LFk0dCxuZXcgQzV0KSk7Y29uc3QgdD17YTpjLGI6dSxjOmgsbm9ybWFsOm5ldyBINXQsbWF0ZXJpYWxJbmRleDowfTtKM3QuZ2V0Tm9ybWFsKHo0dCxENHQsQjR0LHQubm9ybWFsKSxwLmZhY2U9dH1yZXR1cm4gcH1LNHQucHJvdG90eXBlLmlzTWVzaD0hMDtjbGFzcyBKNHQgZXh0ZW5kcyBONHR7Y29uc3RydWN0b3IodD0xLGU9MSxuPTEsaT0xLHI9MSxvPTEpe3N1cGVyKCksdGhpcy50eXBlPSJCb3hHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXt3aWR0aDp0LGhlaWdodDplLGRlcHRoOm4sd2lkdGhTZWdtZW50czppLGhlaWdodFNlZ21lbnRzOnIsZGVwdGhTZWdtZW50czpvfTtjb25zdCBhPXRoaXM7aT1NYXRoLmZsb29yKGkpLHI9TWF0aC5mbG9vcihyKSxvPU1hdGguZmxvb3Iobyk7Y29uc3Qgcz1bXSxsPVtdLGM9W10sdT1bXTtsZXQgaD0wLGQ9MDtmdW5jdGlvbiBwKHQsZSxuLGkscixvLHAsZixtLGcsXyl7Y29uc3QgeT1vL20sdj1wL2csYj1vLzIseD1wLzIsdz1mLzIsUz1tKzEsTT1nKzE7bGV0IEU9MCxUPTA7Y29uc3QgQz1uZXcgSDV0O2ZvcihsZXQgbz0wO288TTtvKyspe2NvbnN0IGE9byp2LXg7Zm9yKGxldCBzPTA7czxTO3MrKyl7Q1t0XT0ocyp5LWIpKmksQ1tlXT1hKnIsQ1tuXT13LGwucHVzaChDLngsQy55LEMueiksQ1t0XT0wLENbZV09MCxDW25dPWY+MD8xOi0xLGMucHVzaChDLngsQy55LEMueiksdS5wdXNoKHMvbSksdS5wdXNoKDEtby9nKSxFKz0xfX1mb3IobGV0IHQ9MDt0PGc7dCsrKWZvcihsZXQgZT0wO2U8bTtlKyspe2NvbnN0IG49aCtlK1MqKHQrMSksaT1oKyhlKzEpK1MqKHQrMSkscj1oKyhlKzEpK1MqdDtzLnB1c2goaCtlK1MqdCxuLHIpLHMucHVzaChuLGksciksVCs9Nn1hLmFkZEdyb3VwKGQsVCxfKSxkKz1ULGgrPUV9cCgieiIsInkiLCJ4IiwtMSwtMSxuLGUsdCxvLHIsMCkscCgieiIsInkiLCJ4IiwxLC0xLG4sZSwtdCxvLHIsMSkscCgieCIsInoiLCJ5IiwxLDEsdCxuLGUsaSxvLDIpLHAoIngiLCJ6IiwieSIsMSwtMSx0LG4sLWUsaSxvLDMpLHAoIngiLCJ5IiwieiIsMSwtMSx0LGUsbixpLHIsNCkscCgieCIsInkiLCJ6IiwtMSwtMSx0LGUsLW4saSxyLDUpLHRoaXMuc2V0SW5kZXgocyksdGhpcy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KGwsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJub3JtYWwiLG5ldyBiNHQoYywzKSksdGhpcy5zZXRBdHRyaWJ1dGUoInV2IixuZXcgYjR0KHUsMikpfXN0YXRpYyBmcm9tSlNPTih0KXtyZXR1cm4gbmV3IEo0dCh0LndpZHRoLHQuaGVpZ2h0LHQuZGVwdGgsdC53aWR0aFNlZ21lbnRzLHQuaGVpZ2h0U2VnbWVudHMsdC5kZXB0aFNlZ21lbnRzKX19ZnVuY3Rpb24gUTR0KHQpe2NvbnN0IGU9e307Zm9yKGNvbnN0IG4gaW4gdCl7ZVtuXT17fTtmb3IoY29uc3QgaSBpbiB0W25dKXtjb25zdCByPXRbbl1baV07ZVtuXVtpXT1yJiYoci5pc0NvbG9yfHxyLmlzTWF0cml4M3x8ci5pc01hdHJpeDR8fHIuaXNWZWN0b3IyfHxyLmlzVmVjdG9yM3x8ci5pc1ZlY3RvcjR8fHIuaXNUZXh0dXJlfHxyLmlzUXVhdGVybmlvbik/ci5jbG9uZSgpOkFycmF5LmlzQXJyYXkocik/ci5zbGljZSgpOnJ9fXJldHVybiBlfWZ1bmN0aW9uIHQ2dCh0KXtjb25zdCBlPXt9O2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCBpPVE0dCh0W25dKTtmb3IoY29uc3QgdCBpbiBpKWVbdF09aVt0XX1yZXR1cm4gZX1jb25zdCBlNnQ9e2Nsb25lOlE0dCxtZXJnZTp0NnR9O2NsYXNzIG42dCBleHRlbmRzIHQ0dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iU2hhZGVyTWF0ZXJpYWwiLHRoaXMuZGVmaW5lcz17fSx0aGlzLnVuaWZvcm1zPXt9LHRoaXMudmVydGV4U2hhZGVyPSJ2b2lkIG1haW4oKSB7XG5cdGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbk1hdHJpeCAqIG1vZGVsVmlld01hdHJpeCAqIHZlYzQoIHBvc2l0aW9uLCAxLjAgKTtcbn0iLHRoaXMuZnJhZ21lbnRTaGFkZXI9InZvaWQgbWFpbigpIHtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggMS4wLCAwLjAsIDAuMCwgMS4wICk7XG59Iix0aGlzLmxpbmV3aWR0aD0xLHRoaXMud2lyZWZyYW1lPSExLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPTEsdGhpcy5mb2c9ITEsdGhpcy5saWdodHM9ITEsdGhpcy5jbGlwcGluZz0hMSx0aGlzLmV4dGVuc2lvbnM9e2Rlcml2YXRpdmVzOiExLGZyYWdEZXB0aDohMSxkcmF3QnVmZmVyczohMSxzaGFkZXJUZXh0dXJlTE9EOiExfSx0aGlzLmRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXM9e2NvbG9yOlsxLDEsMV0sdXY6WzAsMF0sdXYyOlswLDBdfSx0aGlzLmluZGV4MEF0dHJpYnV0ZU5hbWU9dm9pZCAwLHRoaXMudW5pZm9ybXNOZWVkVXBkYXRlPSExLHRoaXMuZ2xzbFZlcnNpb249bnVsbCx2b2lkIDAhPT10JiYodm9pZCAwIT09dC5hdHRyaWJ1dGVzJiZjb25zb2xlLmVycm9yKCJUSFJFRS5TaGFkZXJNYXRlcmlhbDogYXR0cmlidXRlcyBzaG91bGQgbm93IGJlIGRlZmluZWQgaW4gVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKSx0aGlzLnNldFZhbHVlcyh0KSl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmZyYWdtZW50U2hhZGVyPXQuZnJhZ21lbnRTaGFkZXIsdGhpcy52ZXJ0ZXhTaGFkZXI9dC52ZXJ0ZXhTaGFkZXIsdGhpcy51bmlmb3Jtcz1RNHQodC51bmlmb3JtcyksdGhpcy5kZWZpbmVzPU9iamVjdC5hc3NpZ24oe30sdC5kZWZpbmVzKSx0aGlzLndpcmVmcmFtZT10LndpcmVmcmFtZSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD10LndpcmVmcmFtZUxpbmV3aWR0aCx0aGlzLmxpZ2h0cz10LmxpZ2h0cyx0aGlzLmNsaXBwaW5nPXQuY2xpcHBpbmcsdGhpcy5leHRlbnNpb25zPU9iamVjdC5hc3NpZ24oe30sdC5leHRlbnNpb25zKSx0aGlzLmdsc2xWZXJzaW9uPXQuZ2xzbFZlcnNpb24sdGhpc310b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7ZS5nbHNsVmVyc2lvbj10aGlzLmdsc2xWZXJzaW9uLGUudW5pZm9ybXM9e307Zm9yKGNvbnN0IG4gaW4gdGhpcy51bmlmb3Jtcyl7Y29uc3QgaT10aGlzLnVuaWZvcm1zW25dLnZhbHVlO2UudW5pZm9ybXNbbl09aSYmaS5pc1RleHR1cmU/e3R5cGU6InQiLHZhbHVlOmkudG9KU09OKHQpLnV1aWR9OmkmJmkuaXNDb2xvcj97dHlwZToiYyIsdmFsdWU6aS5nZXRIZXgoKX06aSYmaS5pc1ZlY3RvcjI/e3R5cGU6InYyIix2YWx1ZTppLnRvQXJyYXkoKX06aSYmaS5pc1ZlY3RvcjM/e3R5cGU6InYzIix2YWx1ZTppLnRvQXJyYXkoKX06aSYmaS5pc1ZlY3RvcjQ/e3R5cGU6InY0Iix2YWx1ZTppLnRvQXJyYXkoKX06aSYmaS5pc01hdHJpeDM/e3R5cGU6Im0zIix2YWx1ZTppLnRvQXJyYXkoKX06aSYmaS5pc01hdHJpeDQ/e3R5cGU6Im00Iix2YWx1ZTppLnRvQXJyYXkoKX06e3ZhbHVlOml9fU9iamVjdC5rZXlzKHRoaXMuZGVmaW5lcykubGVuZ3RoPjAmJihlLmRlZmluZXM9dGhpcy5kZWZpbmVzKSxlLnZlcnRleFNoYWRlcj10aGlzLnZlcnRleFNoYWRlcixlLmZyYWdtZW50U2hhZGVyPXRoaXMuZnJhZ21lbnRTaGFkZXI7Y29uc3Qgbj17fTtmb3IoY29uc3QgdCBpbiB0aGlzLmV4dGVuc2lvbnMpITA9PT10aGlzLmV4dGVuc2lvbnNbdF0mJihuW3RdPSEwKTtyZXR1cm4gT2JqZWN0LmtleXMobikubGVuZ3RoPjAmJihlLmV4dGVuc2lvbnM9biksZX19bjZ0LnByb3RvdHlwZS5pc1NoYWRlck1hdGVyaWFsPSEwO2NsYXNzIGk2dCBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50eXBlPSJDYW1lcmEiLHRoaXMubWF0cml4V29ybGRJbnZlcnNlPW5ldyBnM3QsdGhpcy5wcm9qZWN0aW9uTWF0cml4PW5ldyBnM3QsdGhpcy5wcm9qZWN0aW9uTWF0cml4SW52ZXJzZT1uZXcgZzN0fWNvcHkodCxlKXtyZXR1cm4gc3VwZXIuY29weSh0LGUpLHRoaXMubWF0cml4V29ybGRJbnZlcnNlLmNvcHkodC5tYXRyaXhXb3JsZEludmVyc2UpLHRoaXMucHJvamVjdGlvbk1hdHJpeC5jb3B5KHQucHJvamVjdGlvbk1hdHJpeCksdGhpcy5wcm9qZWN0aW9uTWF0cml4SW52ZXJzZS5jb3B5KHQucHJvamVjdGlvbk1hdHJpeEludmVyc2UpLHRoaXN9Z2V0V29ybGREaXJlY3Rpb24odCl7dGhpcy51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSk7Y29uc3QgZT10aGlzLm1hdHJpeFdvcmxkLmVsZW1lbnRzO3JldHVybiB0LnNldCgtZVs4XSwtZVs5XSwtZVsxMF0pLm5vcm1hbGl6ZSgpfXVwZGF0ZU1hdHJpeFdvcmxkKHQpe3N1cGVyLnVwZGF0ZU1hdHJpeFdvcmxkKHQpLHRoaXMubWF0cml4V29ybGRJbnZlcnNlLmNvcHkodGhpcy5tYXRyaXhXb3JsZCkuaW52ZXJ0KCl9dXBkYXRlV29ybGRNYXRyaXgodCxlKXtzdXBlci51cGRhdGVXb3JsZE1hdHJpeCh0LGUpLHRoaXMubWF0cml4V29ybGRJbnZlcnNlLmNvcHkodGhpcy5tYXRyaXhXb3JsZCkuaW52ZXJ0KCl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9fWk2dC5wcm90b3R5cGUuaXNDYW1lcmE9ITA7Y2xhc3MgcjZ0IGV4dGVuZHMgaTZ0e2NvbnN0cnVjdG9yKHQ9NTAsZT0xLG49LjEsaT0yZTMpe3N1cGVyKCksdGhpcy50eXBlPSJQZXJzcGVjdGl2ZUNhbWVyYSIsdGhpcy5mb3Y9dCx0aGlzLnpvb209MSx0aGlzLm5lYXI9bix0aGlzLmZhcj1pLHRoaXMuZm9jdXM9MTAsdGhpcy5hc3BlY3Q9ZSx0aGlzLnZpZXc9bnVsbCx0aGlzLmZpbG1HYXVnZT0zNSx0aGlzLmZpbG1PZmZzZXQ9MCx0aGlzLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX1jb3B5KHQsZSl7cmV0dXJuIHN1cGVyLmNvcHkodCxlKSx0aGlzLmZvdj10LmZvdix0aGlzLnpvb209dC56b29tLHRoaXMubmVhcj10Lm5lYXIsdGhpcy5mYXI9dC5mYXIsdGhpcy5mb2N1cz10LmZvY3VzLHRoaXMuYXNwZWN0PXQuYXNwZWN0LHRoaXMudmlldz1udWxsPT09dC52aWV3P251bGw6T2JqZWN0LmFzc2lnbih7fSx0LnZpZXcpLHRoaXMuZmlsbUdhdWdlPXQuZmlsbUdhdWdlLHRoaXMuZmlsbU9mZnNldD10LmZpbG1PZmZzZXQsdGhpc31zZXRGb2NhbExlbmd0aCh0KXtjb25zdCBlPS41KnRoaXMuZ2V0RmlsbUhlaWdodCgpL3Q7dGhpcy5mb3Y9MipvNXQqTWF0aC5hdGFuKGUpLHRoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfWdldEZvY2FsTGVuZ3RoKCl7Y29uc3QgdD1NYXRoLnRhbiguNSpyNXQqdGhpcy5mb3YpO3JldHVybi41KnRoaXMuZ2V0RmlsbUhlaWdodCgpL3R9Z2V0RWZmZWN0aXZlRk9WKCl7cmV0dXJuIDIqbzV0Kk1hdGguYXRhbihNYXRoLnRhbiguNSpyNXQqdGhpcy5mb3YpL3RoaXMuem9vbSl9Z2V0RmlsbVdpZHRoKCl7cmV0dXJuIHRoaXMuZmlsbUdhdWdlKk1hdGgubWluKHRoaXMuYXNwZWN0LDEpfWdldEZpbG1IZWlnaHQoKXtyZXR1cm4gdGhpcy5maWxtR2F1Z2UvTWF0aC5tYXgodGhpcy5hc3BlY3QsMSl9c2V0Vmlld09mZnNldCh0LGUsbixpLHIsbyl7dGhpcy5hc3BlY3Q9dC9lLG51bGw9PT10aGlzLnZpZXcmJih0aGlzLnZpZXc9e2VuYWJsZWQ6ITAsZnVsbFdpZHRoOjEsZnVsbEhlaWdodDoxLG9mZnNldFg6MCxvZmZzZXRZOjAsd2lkdGg6MSxoZWlnaHQ6MX0pLHRoaXMudmlldy5lbmFibGVkPSEwLHRoaXMudmlldy5mdWxsV2lkdGg9dCx0aGlzLnZpZXcuZnVsbEhlaWdodD1lLHRoaXMudmlldy5vZmZzZXRYPW4sdGhpcy52aWV3Lm9mZnNldFk9aSx0aGlzLnZpZXcud2lkdGg9cix0aGlzLnZpZXcuaGVpZ2h0PW8sdGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9Y2xlYXJWaWV3T2Zmc2V0KCl7bnVsbCE9PXRoaXMudmlldyYmKHRoaXMudmlldy5lbmFibGVkPSExKSx0aGlzLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX11cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl7Y29uc3QgdD10aGlzLm5lYXI7bGV0IGU9dCpNYXRoLnRhbiguNSpyNXQqdGhpcy5mb3YpL3RoaXMuem9vbSxuPTIqZSxpPXRoaXMuYXNwZWN0Km4scj0tLjUqaTtjb25zdCBvPXRoaXMudmlldztpZihudWxsIT09dGhpcy52aWV3JiZ0aGlzLnZpZXcuZW5hYmxlZCl7Y29uc3QgdD1vLmZ1bGxXaWR0aCxhPW8uZnVsbEhlaWdodDtyKz1vLm9mZnNldFgqaS90LGUtPW8ub2Zmc2V0WSpuL2EsaSo9by53aWR0aC90LG4qPW8uaGVpZ2h0L2F9Y29uc3QgYT10aGlzLmZpbG1PZmZzZXQ7MCE9PWEmJihyKz10KmEvdGhpcy5nZXRGaWxtV2lkdGgoKSksdGhpcy5wcm9qZWN0aW9uTWF0cml4Lm1ha2VQZXJzcGVjdGl2ZShyLHIraSxlLGUtbix0LHRoaXMuZmFyKSx0aGlzLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlLmNvcHkodGhpcy5wcm9qZWN0aW9uTWF0cml4KS5pbnZlcnQoKX10b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7cmV0dXJuIGUub2JqZWN0LmZvdj10aGlzLmZvdixlLm9iamVjdC56b29tPXRoaXMuem9vbSxlLm9iamVjdC5uZWFyPXRoaXMubmVhcixlLm9iamVjdC5mYXI9dGhpcy5mYXIsZS5vYmplY3QuZm9jdXM9dGhpcy5mb2N1cyxlLm9iamVjdC5hc3BlY3Q9dGhpcy5hc3BlY3QsbnVsbCE9PXRoaXMudmlldyYmKGUub2JqZWN0LnZpZXc9T2JqZWN0LmFzc2lnbih7fSx0aGlzLnZpZXcpKSxlLm9iamVjdC5maWxtR2F1Z2U9dGhpcy5maWxtR2F1Z2UsZS5vYmplY3QuZmlsbU9mZnNldD10aGlzLmZpbG1PZmZzZXQsZX19cjZ0LnByb3RvdHlwZS5pc1BlcnNwZWN0aXZlQ2FtZXJhPSEwO2NvbnN0IG82dD05MDtjbGFzcyBhNnQgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IodCxlLG4pe2lmKHN1cGVyKCksdGhpcy50eXBlPSJDdWJlQ2FtZXJhIiwhMCE9PW4uaXNXZWJHTEN1YmVSZW5kZXJUYXJnZXQpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuQ3ViZUNhbWVyYTogVGhlIGNvbnN0cnVjdG9yIG5vdyBleHBlY3RzIGFuIGluc3RhbmNlIG9mIFdlYkdMQ3ViZVJlbmRlclRhcmdldCBhcyB0aGlyZCBwYXJhbWV0ZXIuIik7dGhpcy5yZW5kZXJUYXJnZXQ9bjtjb25zdCBpPW5ldyByNnQobzZ0LDEsdCxlKTtpLmxheWVycz10aGlzLmxheWVycyxpLnVwLnNldCgwLC0xLDApLGkubG9va0F0KG5ldyBINXQoMSwwLDApKSx0aGlzLmFkZChpKTtjb25zdCByPW5ldyByNnQobzZ0LDEsdCxlKTtyLmxheWVycz10aGlzLmxheWVycyxyLnVwLnNldCgwLC0xLDApLHIubG9va0F0KG5ldyBINXQoLTEsMCwwKSksdGhpcy5hZGQocik7Y29uc3Qgbz1uZXcgcjZ0KG82dCwxLHQsZSk7by5sYXllcnM9dGhpcy5sYXllcnMsby51cC5zZXQoMCwwLDEpLG8ubG9va0F0KG5ldyBINXQoMCwxLDApKSx0aGlzLmFkZChvKTtjb25zdCBhPW5ldyByNnQobzZ0LDEsdCxlKTthLmxheWVycz10aGlzLmxheWVycyxhLnVwLnNldCgwLDAsLTEpLGEubG9va0F0KG5ldyBINXQoMCwtMSwwKSksdGhpcy5hZGQoYSk7Y29uc3Qgcz1uZXcgcjZ0KG82dCwxLHQsZSk7cy5sYXllcnM9dGhpcy5sYXllcnMscy51cC5zZXQoMCwtMSwwKSxzLmxvb2tBdChuZXcgSDV0KDAsMCwxKSksdGhpcy5hZGQocyk7Y29uc3QgbD1uZXcgcjZ0KG82dCwxLHQsZSk7bC5sYXllcnM9dGhpcy5sYXllcnMsbC51cC5zZXQoMCwtMSwwKSxsLmxvb2tBdChuZXcgSDV0KDAsMCwtMSkpLHRoaXMuYWRkKGwpfXVwZGF0ZSh0LGUpe251bGw9PT10aGlzLnBhcmVudCYmdGhpcy51cGRhdGVNYXRyaXhXb3JsZCgpO2NvbnN0IG49dGhpcy5yZW5kZXJUYXJnZXQsW2kscixvLGEscyxsXT10aGlzLmNoaWxkcmVuLGM9dC54ci5lbmFibGVkLHU9dC5nZXRSZW5kZXJUYXJnZXQoKTt0LnhyLmVuYWJsZWQ9ITE7Y29uc3QgaD1uLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzO24udGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHM9ITEsdC5zZXRSZW5kZXJUYXJnZXQobiwwKSx0LnJlbmRlcihlLGkpLHQuc2V0UmVuZGVyVGFyZ2V0KG4sMSksdC5yZW5kZXIoZSxyKSx0LnNldFJlbmRlclRhcmdldChuLDIpLHQucmVuZGVyKGUsbyksdC5zZXRSZW5kZXJUYXJnZXQobiwzKSx0LnJlbmRlcihlLGEpLHQuc2V0UmVuZGVyVGFyZ2V0KG4sNCksdC5yZW5kZXIoZSxzKSxuLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzPWgsdC5zZXRSZW5kZXJUYXJnZXQobiw1KSx0LnJlbmRlcihlLGwpLHQuc2V0UmVuZGVyVGFyZ2V0KHUpLHQueHIuZW5hYmxlZD1jfX1jbGFzcyBzNnQgZXh0ZW5kcyBONXR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8sYSxzLGwsYyl7c3VwZXIodD12b2lkIDAhPT10P3Q6W10sZT12b2lkIDAhPT1lP2U6ZTJ0LG4saSxyLG8sYT12b2lkIDAhPT1hP2E6dzJ0LHMsbCxjKSx0aGlzLmZsaXBZPSExfWdldCBpbWFnZXMoKXtyZXR1cm4gdGhpcy5pbWFnZX1zZXQgaW1hZ2VzKHQpe3RoaXMuaW1hZ2U9dH19czZ0LnByb3RvdHlwZS5pc0N1YmVUZXh0dXJlPSEwO2NsYXNzIGw2dCBleHRlbmRzIE81dHtjb25zdHJ1Y3Rvcih0LGUsbil7TnVtYmVyLmlzSW50ZWdlcihlKSYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xDdWJlUmVuZGVyVGFyZ2V0OiBjb25zdHJ1Y3RvciBzaWduYXR1cmUgaXMgbm93IFdlYkdMQ3ViZVJlbmRlclRhcmdldCggc2l6ZSwgb3B0aW9ucyApIiksZT1uKSxzdXBlcih0LHQsZSksdGhpcy50ZXh0dXJlPW5ldyBzNnQodm9pZCAwLChlPWV8fHt9KS5tYXBwaW5nLGUud3JhcFMsZS53cmFwVCxlLm1hZ0ZpbHRlcixlLm1pbkZpbHRlcixlLmZvcm1hdCxlLnR5cGUsZS5hbmlzb3Ryb3B5LGUuZW5jb2RpbmcpLHRoaXMudGV4dHVyZS5pc1JlbmRlclRhcmdldFRleHR1cmU9ITAsdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz12b2lkIDAhPT1lLmdlbmVyYXRlTWlwbWFwcyYmZS5nZW5lcmF0ZU1pcG1hcHMsdGhpcy50ZXh0dXJlLm1pbkZpbHRlcj12b2lkIDAhPT1lLm1pbkZpbHRlcj9lLm1pbkZpbHRlcjpwMnQsdGhpcy50ZXh0dXJlLl9uZWVkc0ZsaXBFbnZNYXA9ITF9ZnJvbUVxdWlyZWN0YW5ndWxhclRleHR1cmUodCxlKXt0aGlzLnRleHR1cmUudHlwZT1lLnR5cGUsdGhpcy50ZXh0dXJlLmZvcm1hdD1TMnQsdGhpcy50ZXh0dXJlLmVuY29kaW5nPWUuZW5jb2RpbmcsdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz1lLmdlbmVyYXRlTWlwbWFwcyx0aGlzLnRleHR1cmUubWluRmlsdGVyPWUubWluRmlsdGVyLHRoaXMudGV4dHVyZS5tYWdGaWx0ZXI9ZS5tYWdGaWx0ZXI7Y29uc3Qgbj17dW5pZm9ybXM6e3RFcXVpcmVjdDp7dmFsdWU6bnVsbH19LHZlcnRleFNoYWRlcjoiXG5cblx0XHRcdFx0dmFyeWluZyB2ZWMzIHZXb3JsZERpcmVjdGlvbjtcblxuXHRcdFx0XHR2ZWMzIHRyYW5zZm9ybURpcmVjdGlvbiggaW4gdmVjMyBkaXIsIGluIG1hdDQgbWF0cml4ICkge1xuXG5cdFx0XHRcdFx0cmV0dXJuIG5vcm1hbGl6ZSggKCBtYXRyaXggKiB2ZWM0KCBkaXIsIDAuMCApICkueHl6ICk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHZvaWQgbWFpbigpIHtcblxuXHRcdFx0XHRcdHZXb3JsZERpcmVjdGlvbiA9IHRyYW5zZm9ybURpcmVjdGlvbiggcG9zaXRpb24sIG1vZGVsTWF0cml4ICk7XG5cblx0XHRcdFx0XHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHRcdFx0XHRcdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblxuXHRcdFx0XHR9XG5cdFx0XHQiLGZyYWdtZW50U2hhZGVyOiJcblxuXHRcdFx0XHR1bmlmb3JtIHNhbXBsZXIyRCB0RXF1aXJlY3Q7XG5cblx0XHRcdFx0dmFyeWluZyB2ZWMzIHZXb3JsZERpcmVjdGlvbjtcblxuXHRcdFx0XHQjaW5jbHVkZSA8Y29tbW9uPlxuXG5cdFx0XHRcdHZvaWQgbWFpbigpIHtcblxuXHRcdFx0XHRcdHZlYzMgZGlyZWN0aW9uID0gbm9ybWFsaXplKCB2V29ybGREaXJlY3Rpb24gKTtcblxuXHRcdFx0XHRcdHZlYzIgc2FtcGxlVVYgPSBlcXVpcmVjdFV2KCBkaXJlY3Rpb24gKTtcblxuXHRcdFx0XHRcdGdsX0ZyYWdDb2xvciA9IHRleHR1cmUyRCggdEVxdWlyZWN0LCBzYW1wbGVVViApO1xuXG5cdFx0XHRcdH1cblx0XHRcdCJ9LGk9bmV3IEo0dCg1LDUsNSkscj1uZXcgbjZ0KHtuYW1lOiJDdWJlbWFwRnJvbUVxdWlyZWN0Iix1bmlmb3JtczpRNHQobi51bmlmb3JtcyksdmVydGV4U2hhZGVyOm4udmVydGV4U2hhZGVyLGZyYWdtZW50U2hhZGVyOm4uZnJhZ21lbnRTaGFkZXIsc2lkZToxLGJsZW5kaW5nOjB9KTtyLnVuaWZvcm1zLnRFcXVpcmVjdC52YWx1ZT1lO2NvbnN0IG89bmV3IEs0dChpLHIpLGE9ZS5taW5GaWx0ZXI7ZS5taW5GaWx0ZXI9PT1tMnQmJihlLm1pbkZpbHRlcj1wMnQpO3JldHVybiBuZXcgYTZ0KDEsMTAsdGhpcykudXBkYXRlKHQsbyksZS5taW5GaWx0ZXI9YSxvLmdlb21ldHJ5LmRpc3Bvc2UoKSxvLm1hdGVyaWFsLmRpc3Bvc2UoKSx0aGlzfWNsZWFyKHQsZSxuLGkpe2NvbnN0IHI9dC5nZXRSZW5kZXJUYXJnZXQoKTtmb3IobGV0IHI9MDtyPDY7cisrKXQuc2V0UmVuZGVyVGFyZ2V0KHRoaXMsciksdC5jbGVhcihlLG4saSk7dC5zZXRSZW5kZXJUYXJnZXQocil9fWw2dC5wcm90b3R5cGUuaXNXZWJHTEN1YmVSZW5kZXJUYXJnZXQ9ITA7Y29uc3QgYzZ0PW5ldyBINXQsdTZ0PW5ldyBINXQsaDZ0PW5ldyBBNXQ7Y2xhc3MgZDZ0e2NvbnN0cnVjdG9yKHQ9bmV3IEg1dCgxLDAsMCksZT0wKXt0aGlzLm5vcm1hbD10LHRoaXMuY29uc3RhbnQ9ZX1zZXQodCxlKXtyZXR1cm4gdGhpcy5ub3JtYWwuY29weSh0KSx0aGlzLmNvbnN0YW50PWUsdGhpc31zZXRDb21wb25lbnRzKHQsZSxuLGkpe3JldHVybiB0aGlzLm5vcm1hbC5zZXQodCxlLG4pLHRoaXMuY29uc3RhbnQ9aSx0aGlzfXNldEZyb21Ob3JtYWxBbmRDb3BsYW5hclBvaW50KHQsZSl7cmV0dXJuIHRoaXMubm9ybWFsLmNvcHkodCksdGhpcy5jb25zdGFudD0tZS5kb3QodGhpcy5ub3JtYWwpLHRoaXN9c2V0RnJvbUNvcGxhbmFyUG9pbnRzKHQsZSxuKXtjb25zdCBpPWM2dC5zdWJWZWN0b3JzKG4sZSkuY3Jvc3ModTZ0LnN1YlZlY3RvcnModCxlKSkubm9ybWFsaXplKCk7cmV0dXJuIHRoaXMuc2V0RnJvbU5vcm1hbEFuZENvcGxhbmFyUG9pbnQoaSx0KSx0aGlzfWNvcHkodCl7cmV0dXJuIHRoaXMubm9ybWFsLmNvcHkodC5ub3JtYWwpLHRoaXMuY29uc3RhbnQ9dC5jb25zdGFudCx0aGlzfW5vcm1hbGl6ZSgpe2NvbnN0IHQ9MS90aGlzLm5vcm1hbC5sZW5ndGgoKTtyZXR1cm4gdGhpcy5ub3JtYWwubXVsdGlwbHlTY2FsYXIodCksdGhpcy5jb25zdGFudCo9dCx0aGlzfW5lZ2F0ZSgpe3JldHVybiB0aGlzLmNvbnN0YW50Kj0tMSx0aGlzLm5vcm1hbC5uZWdhdGUoKSx0aGlzfWRpc3RhbmNlVG9Qb2ludCh0KXtyZXR1cm4gdGhpcy5ub3JtYWwuZG90KHQpK3RoaXMuY29uc3RhbnR9ZGlzdGFuY2VUb1NwaGVyZSh0KXtyZXR1cm4gdGhpcy5kaXN0YW5jZVRvUG9pbnQodC5jZW50ZXIpLXQucmFkaXVzfXByb2plY3RQb2ludCh0LGUpe3JldHVybiBlLmNvcHkodGhpcy5ub3JtYWwpLm11bHRpcGx5U2NhbGFyKC10aGlzLmRpc3RhbmNlVG9Qb2ludCh0KSkuYWRkKHQpfWludGVyc2VjdExpbmUodCxlKXtjb25zdCBuPXQuZGVsdGEoYzZ0KSxpPXRoaXMubm9ybWFsLmRvdChuKTtpZigwPT09aSlyZXR1cm4gMD09PXRoaXMuZGlzdGFuY2VUb1BvaW50KHQuc3RhcnQpP2UuY29weSh0LnN0YXJ0KTpudWxsO2NvbnN0IHI9LSh0LnN0YXJ0LmRvdCh0aGlzLm5vcm1hbCkrdGhpcy5jb25zdGFudCkvaTtyZXR1cm4gcjwwfHxyPjE/bnVsbDplLmNvcHkobikubXVsdGlwbHlTY2FsYXIocikuYWRkKHQuc3RhcnQpfWludGVyc2VjdHNMaW5lKHQpe2NvbnN0IGU9dGhpcy5kaXN0YW5jZVRvUG9pbnQodC5zdGFydCksbj10aGlzLmRpc3RhbmNlVG9Qb2ludCh0LmVuZCk7cmV0dXJuIGU8MCYmbj4wfHxuPDAmJmU+MH1pbnRlcnNlY3RzQm94KHQpe3JldHVybiB0LmludGVyc2VjdHNQbGFuZSh0aGlzKX1pbnRlcnNlY3RzU3BoZXJlKHQpe3JldHVybiB0LmludGVyc2VjdHNQbGFuZSh0aGlzKX1jb3BsYW5hclBvaW50KHQpe3JldHVybiB0LmNvcHkodGhpcy5ub3JtYWwpLm11bHRpcGx5U2NhbGFyKC10aGlzLmNvbnN0YW50KX1hcHBseU1hdHJpeDQodCxlKXtjb25zdCBuPWV8fGg2dC5nZXROb3JtYWxNYXRyaXgodCksaT10aGlzLmNvcGxhbmFyUG9pbnQoYzZ0KS5hcHBseU1hdHJpeDQodCkscj10aGlzLm5vcm1hbC5hcHBseU1hdHJpeDMobikubm9ybWFsaXplKCk7cmV0dXJuIHRoaXMuY29uc3RhbnQ9LWkuZG90KHIpLHRoaXN9dHJhbnNsYXRlKHQpe3JldHVybiB0aGlzLmNvbnN0YW50LT10LmRvdCh0aGlzLm5vcm1hbCksdGhpc31lcXVhbHModCl7cmV0dXJuIHQubm9ybWFsLmVxdWFscyh0aGlzLm5vcm1hbCkmJnQuY29uc3RhbnQ9PT10aGlzLmNvbnN0YW50fWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX1kNnQucHJvdG90eXBlLmlzUGxhbmU9ITA7Y29uc3QgcDZ0PW5ldyBzM3QsZjZ0PW5ldyBINXQ7Y2xhc3MgbTZ0e2NvbnN0cnVjdG9yKHQ9bmV3IGQ2dCxlPW5ldyBkNnQsbj1uZXcgZDZ0LGk9bmV3IGQ2dCxyPW5ldyBkNnQsbz1uZXcgZDZ0KXt0aGlzLnBsYW5lcz1bdCxlLG4saSxyLG9dfXNldCh0LGUsbixpLHIsbyl7Y29uc3QgYT10aGlzLnBsYW5lcztyZXR1cm4gYVswXS5jb3B5KHQpLGFbMV0uY29weShlKSxhWzJdLmNvcHkobiksYVszXS5jb3B5KGkpLGFbNF0uY29weShyKSxhWzVdLmNvcHkobyksdGhpc31jb3B5KHQpe2NvbnN0IGU9dGhpcy5wbGFuZXM7Zm9yKGxldCBuPTA7bjw2O24rKyllW25dLmNvcHkodC5wbGFuZXNbbl0pO3JldHVybiB0aGlzfXNldEZyb21Qcm9qZWN0aW9uTWF0cml4KHQpe2NvbnN0IGU9dGhpcy5wbGFuZXMsbj10LmVsZW1lbnRzLGk9blswXSxyPW5bMV0sbz1uWzJdLGE9blszXSxzPW5bNF0sbD1uWzVdLGM9bls2XSx1PW5bN10saD1uWzhdLGQ9bls5XSxwPW5bMTBdLGY9blsxMV0sbT1uWzEyXSxnPW5bMTNdLF89blsxNF0seT1uWzE1XTtyZXR1cm4gZVswXS5zZXRDb21wb25lbnRzKGEtaSx1LXMsZi1oLHktbSkubm9ybWFsaXplKCksZVsxXS5zZXRDb21wb25lbnRzKGEraSx1K3MsZitoLHkrbSkubm9ybWFsaXplKCksZVsyXS5zZXRDb21wb25lbnRzKGErcix1K2wsZitkLHkrZykubm9ybWFsaXplKCksZVszXS5zZXRDb21wb25lbnRzKGEtcix1LWwsZi1kLHktZykubm9ybWFsaXplKCksZVs0XS5zZXRDb21wb25lbnRzKGEtbyx1LWMsZi1wLHktXykubm9ybWFsaXplKCksZVs1XS5zZXRDb21wb25lbnRzKGErbyx1K2MsZitwLHkrXykubm9ybWFsaXplKCksdGhpc31pbnRlcnNlY3RzT2JqZWN0KHQpe2NvbnN0IGU9dC5nZW9tZXRyeTtyZXR1cm4gbnVsbD09PWUuYm91bmRpbmdTcGhlcmUmJmUuY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCkscDZ0LmNvcHkoZS5ib3VuZGluZ1NwaGVyZSkuYXBwbHlNYXRyaXg0KHQubWF0cml4V29ybGQpLHRoaXMuaW50ZXJzZWN0c1NwaGVyZShwNnQpfWludGVyc2VjdHNTcHJpdGUodCl7cmV0dXJuIHA2dC5jZW50ZXIuc2V0KDAsMCwwKSxwNnQucmFkaXVzPS43MDcxMDY3ODExODY1NDc2LHA2dC5hcHBseU1hdHJpeDQodC5tYXRyaXhXb3JsZCksdGhpcy5pbnRlcnNlY3RzU3BoZXJlKHA2dCl9aW50ZXJzZWN0c1NwaGVyZSh0KXtjb25zdCBlPXRoaXMucGxhbmVzLG49dC5jZW50ZXIsaT0tdC5yYWRpdXM7Zm9yKGxldCB0PTA7dDw2O3QrKyl7aWYoZVt0XS5kaXN0YW5jZVRvUG9pbnQobik8aSlyZXR1cm4hMX1yZXR1cm4hMH1pbnRlcnNlY3RzQm94KHQpe2NvbnN0IGU9dGhpcy5wbGFuZXM7Zm9yKGxldCBuPTA7bjw2O24rKyl7Y29uc3QgaT1lW25dO2lmKGY2dC54PWkubm9ybWFsLng+MD90Lm1heC54OnQubWluLngsZjZ0Lnk9aS5ub3JtYWwueT4wP3QubWF4Lnk6dC5taW4ueSxmNnQuej1pLm5vcm1hbC56PjA/dC5tYXguejp0Lm1pbi56LGkuZGlzdGFuY2VUb1BvaW50KGY2dCk8MClyZXR1cm4hMX1yZXR1cm4hMH1jb250YWluc1BvaW50KHQpe2NvbnN0IGU9dGhpcy5wbGFuZXM7Zm9yKGxldCBuPTA7bjw2O24rKylpZihlW25dLmRpc3RhbmNlVG9Qb2ludCh0KTwwKXJldHVybiExO3JldHVybiEwfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX1mdW5jdGlvbiBnNnQoKXtsZXQgdD1udWxsLGU9ITEsbj1udWxsLGk9bnVsbDtmdW5jdGlvbiByKGUsbyl7bihlLG8pLGk9dC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUocil9cmV0dXJue3N0YXJ0OmZ1bmN0aW9uKCl7ITAhPT1lJiZudWxsIT09biYmKGk9dC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUociksZT0hMCl9LHN0b3A6ZnVuY3Rpb24oKXt0LmNhbmNlbEFuaW1hdGlvbkZyYW1lKGkpLGU9ITF9LHNldEFuaW1hdGlvbkxvb3A6ZnVuY3Rpb24odCl7bj10fSxzZXRDb250ZXh0OmZ1bmN0aW9uKGUpe3Q9ZX19fWZ1bmN0aW9uIF82dCh0LGUpe2NvbnN0IG49ZS5pc1dlYkdMMixpPW5ldyBXZWFrTWFwO3JldHVybntnZXQ6ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlJiYodD10LmRhdGEpLGkuZ2V0KHQpfSxyZW1vdmU6ZnVuY3Rpb24gbyhlKXtlLmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUmJihlPWUuZGF0YSk7Y29uc3Qgbj1pLmdldChlKTtuJiYodC5kZWxldGVCdWZmZXIobi5idWZmZXIpLGkuZGVsZXRlKGUpKX0sdXBkYXRlOmZ1bmN0aW9uIGEoZSxyKXtpZihlLmlzR0xCdWZmZXJBdHRyaWJ1dGUpe2NvbnN0IHQ9aS5nZXQoZSk7cmV0dXJuIHZvaWQoKCF0fHx0LnZlcnNpb248ZS52ZXJzaW9uKSYmaS5zZXQoZSx7YnVmZmVyOmUuYnVmZmVyLHR5cGU6ZS50eXBlLGJ5dGVzUGVyRWxlbWVudDplLmVsZW1lbnRTaXplLHZlcnNpb246ZS52ZXJzaW9ufSkpfWUuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZSYmKGU9ZS5kYXRhKTtjb25zdCBvPWkuZ2V0KGUpO3ZvaWQgMD09PW8/aS5zZXQoZSwoZnVuY3Rpb24gYShlLGkpe2NvbnN0IHI9ZS5hcnJheSxvPWUudXNhZ2UsYT10LmNyZWF0ZUJ1ZmZlcigpO3QuYmluZEJ1ZmZlcihpLGEpLHQuYnVmZmVyRGF0YShpLHIsbyksZS5vblVwbG9hZENhbGxiYWNrKCk7bGV0IHM9NTEyNjtyZXR1cm4gciBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheT9zPTUxMjY6ciBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheT9jb25zb2xlLndhcm4oIlRIUkVFLldlYkdMQXR0cmlidXRlczogVW5zdXBwb3J0ZWQgZGF0YSBidWZmZXIgZm9ybWF0OiBGbG9hdDY0QXJyYXkuIik6ciBpbnN0YW5jZW9mIFVpbnQxNkFycmF5P2UuaXNGbG9hdDE2QnVmZmVyQXR0cmlidXRlP24/cz01MTMxOmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xBdHRyaWJ1dGVzOiBVc2FnZSBvZiBGbG9hdDE2QnVmZmVyQXR0cmlidXRlIHJlcXVpcmVzIFdlYkdMMi4iKTpzPTUxMjM6ciBpbnN0YW5jZW9mIEludDE2QXJyYXk/cz01MTIyOnIgaW5zdGFuY2VvZiBVaW50MzJBcnJheT9zPTUxMjU6ciBpbnN0YW5jZW9mIEludDMyQXJyYXk/cz01MTI0OnIgaW5zdGFuY2VvZiBJbnQ4QXJyYXk/cz01MTIwOihyIGluc3RhbmNlb2YgVWludDhBcnJheXx8ciBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5KSYmKHM9NTEyMSkse2J1ZmZlcjphLHR5cGU6cyxieXRlc1BlckVsZW1lbnQ6ci5CWVRFU19QRVJfRUxFTUVOVCx2ZXJzaW9uOmUudmVyc2lvbn19KShlLHIpKTpvLnZlcnNpb248ZS52ZXJzaW9uJiYoIShmdW5jdGlvbiBzKGUsaSxyKXtjb25zdCBvPWkuYXJyYXksYT1pLnVwZGF0ZVJhbmdlO3QuYmluZEJ1ZmZlcihyLGUpLC0xPT09YS5jb3VudD90LmJ1ZmZlclN1YkRhdGEociwwLG8pOihuP3QuYnVmZmVyU3ViRGF0YShyLGEub2Zmc2V0Km8uQllURVNfUEVSX0VMRU1FTlQsbyxhLm9mZnNldCxhLmNvdW50KTp0LmJ1ZmZlclN1YkRhdGEocixhLm9mZnNldCpvLkJZVEVTX1BFUl9FTEVNRU5ULG8uc3ViYXJyYXkoYS5vZmZzZXQsYS5vZmZzZXQrYS5jb3VudCkpLGEuY291bnQ9LTEpfSkoby5idWZmZXIsZSxyKSxvLnZlcnNpb249ZS52ZXJzaW9uKX19fWNsYXNzIHk2dCBleHRlbmRzIE40dHtjb25zdHJ1Y3Rvcih0PTEsZT0xLG49MSxpPTEpe3N1cGVyKCksdGhpcy50eXBlPSJQbGFuZUdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3dpZHRoOnQsaGVpZ2h0OmUsd2lkdGhTZWdtZW50czpuLGhlaWdodFNlZ21lbnRzOml9O2NvbnN0IHI9dC8yLG89ZS8yLGE9TWF0aC5mbG9vcihuKSxzPU1hdGguZmxvb3IoaSksbD1hKzEsYz1zKzEsdT10L2EsaD1lL3MsZD1bXSxwPVtdLGY9W10sbT1bXTtmb3IobGV0IHQ9MDt0PGM7dCsrKXtjb25zdCBlPXQqaC1vO2ZvcihsZXQgbj0wO248bDtuKyspe3AucHVzaChuKnUtciwtZSwwKSxmLnB1c2goMCwwLDEpLG0ucHVzaChuL2EpLG0ucHVzaCgxLXQvcyl9fWZvcihsZXQgdD0wO3Q8czt0KyspZm9yKGxldCBlPTA7ZTxhO2UrKyl7Y29uc3Qgbj1lK2wqKHQrMSksaT1lKzErbCoodCsxKSxyPWUrMStsKnQ7ZC5wdXNoKGUrbCp0LG4sciksZC5wdXNoKG4saSxyKX10aGlzLnNldEluZGV4KGQpLHRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChwLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYjR0KGYsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGI0dChtLDIpKX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyB5NnQodC53aWR0aCx0LmhlaWdodCx0LndpZHRoU2VnbWVudHMsdC5oZWlnaHRTZWdtZW50cyl9fWNvbnN0IHY2dD17YWxwaGFtYXBfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfQUxQSEFNQVBcblx0ZGlmZnVzZUNvbG9yLmEgKj0gdGV4dHVyZTJEKCBhbHBoYU1hcCwgdlV2ICkuZztcbiNlbmRpZiIsYWxwaGFtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9BTFBIQU1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBhbHBoYU1hcDtcbiNlbmRpZiIsYWxwaGF0ZXN0X2ZyYWdtZW50OiIjaWZkZWYgQUxQSEFURVNUXG5cdGlmICggZGlmZnVzZUNvbG9yLmEgPCBBTFBIQVRFU1QgKSBkaXNjYXJkO1xuI2VuZGlmIixhb21hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9BT01BUFxuXHRmbG9hdCBhbWJpZW50T2NjbHVzaW9uID0gKCB0ZXh0dXJlMkQoIGFvTWFwLCB2VXYyICkuciAtIDEuMCApICogYW9NYXBJbnRlbnNpdHkgKyAxLjA7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSAqPSBhbWJpZW50T2NjbHVzaW9uO1xuXHQjaWYgZGVmaW5lZCggVVNFX0VOVk1BUCApICYmIGRlZmluZWQoIFNUQU5EQVJEIClcblx0XHRmbG9hdCBkb3ROViA9IHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZ2VvbWV0cnkudmlld0RpciApICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3RTcGVjdWxhciAqPSBjb21wdXRlU3BlY3VsYXJPY2NsdXNpb24oIGRvdE5WLCBhbWJpZW50T2NjbHVzaW9uLCBtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyApO1xuXHQjZW5kaWZcbiNlbmRpZiIsYW9tYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9BT01BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBhb01hcDtcblx0dW5pZm9ybSBmbG9hdCBhb01hcEludGVuc2l0eTtcbiNlbmRpZiIsYmVnaW5fdmVydGV4OiJ2ZWMzIHRyYW5zZm9ybWVkID0gdmVjMyggcG9zaXRpb24gKTsiLGJlZ2lubm9ybWFsX3ZlcnRleDoidmVjMyBvYmplY3ROb3JtYWwgPSB2ZWMzKCBub3JtYWwgKTtcbiNpZmRlZiBVU0VfVEFOR0VOVFxuXHR2ZWMzIG9iamVjdFRhbmdlbnQgPSB2ZWMzKCB0YW5nZW50Lnh5eiApO1xuI2VuZGlmIixic2RmczoidmVjMiBpbnRlZ3JhdGVTcGVjdWxhckJSREYoIGNvbnN0IGluIGZsb2F0IGRvdE5WLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGNvbnN0IHZlYzQgYzAgPSB2ZWM0KCAtIDEsIC0gMC4wMjc1LCAtIDAuNTcyLCAwLjAyMiApO1xuXHRjb25zdCB2ZWM0IGMxID0gdmVjNCggMSwgMC4wNDI1LCAxLjA0LCAtIDAuMDQgKTtcblx0dmVjNCByID0gcm91Z2huZXNzICogYzAgKyBjMTtcblx0ZmxvYXQgYTAwNCA9IG1pbiggci54ICogci54LCBleHAyKCAtIDkuMjggKiBkb3ROViApICkgKiByLnggKyByLnk7XG5cdHJldHVybiB2ZWMyKCAtMS4wNCwgMS4wNCApICogYTAwNCArIHIuenc7XG59XG5mbG9hdCBwdW5jdHVhbExpZ2h0SW50ZW5zaXR5VG9JcnJhZGlhbmNlRmFjdG9yKCBjb25zdCBpbiBmbG9hdCBsaWdodERpc3RhbmNlLCBjb25zdCBpbiBmbG9hdCBjdXRvZmZEaXN0YW5jZSwgY29uc3QgaW4gZmxvYXQgZGVjYXlFeHBvbmVudCApIHtcbiNpZiBkZWZpbmVkICggUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUUyApXG5cdGZsb2F0IGRpc3RhbmNlRmFsbG9mZiA9IDEuMCAvIG1heCggcG93KCBsaWdodERpc3RhbmNlLCBkZWNheUV4cG9uZW50ICksIDAuMDEgKTtcblx0aWYoIGN1dG9mZkRpc3RhbmNlID4gMC4wICkge1xuXHRcdGRpc3RhbmNlRmFsbG9mZiAqPSBwb3cyKCBzYXR1cmF0ZSggMS4wIC0gcG93NCggbGlnaHREaXN0YW5jZSAvIGN1dG9mZkRpc3RhbmNlICkgKSApO1xuXHR9XG5cdHJldHVybiBkaXN0YW5jZUZhbGxvZmY7XG4jZWxzZVxuXHRpZiggY3V0b2ZmRGlzdGFuY2UgPiAwLjAgJiYgZGVjYXlFeHBvbmVudCA+IDAuMCApIHtcblx0XHRyZXR1cm4gcG93KCBzYXR1cmF0ZSggLWxpZ2h0RGlzdGFuY2UgLyBjdXRvZmZEaXN0YW5jZSArIDEuMCApLCBkZWNheUV4cG9uZW50ICk7XG5cdH1cblx0cmV0dXJuIDEuMDtcbiNlbmRpZlxufVxudmVjMyBCUkRGX0RpZmZ1c2VfTGFtYmVydCggY29uc3QgaW4gdmVjMyBkaWZmdXNlQ29sb3IgKSB7XG5cdHJldHVybiBSRUNJUFJPQ0FMX1BJICogZGlmZnVzZUNvbG9yO1xufVxudmVjMyBGX1NjaGxpY2soIGNvbnN0IGluIHZlYzMgZjAsIGNvbnN0IGluIHZlYzMgZjkwLCBjb25zdCBpbiBmbG9hdCBkb3RWSCApIHtcblx0ZmxvYXQgZnJlc25lbCA9IGV4cDIoICggLTUuNTU0NzMgKiBkb3RWSCAtIDYuOTgzMTYgKSAqIGRvdFZIICk7XG5cdHJldHVybiAoIGY5MCAtIGYwICkgKiBmcmVzbmVsICsgZjA7XG59XG52ZWMzIEZfU2NobGlja19Sb3VnaG5lc3NEZXBlbmRlbnQoIGNvbnN0IGluIHZlYzMgRjAsIGNvbnN0IGluIGZsb2F0IGRvdE5WLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGZsb2F0IGZyZXNuZWwgPSBleHAyKCAoIC01LjU1NDczICogZG90TlYgLSA2Ljk4MzE2ICkgKiBkb3ROViApO1xuXHR2ZWMzIEZyID0gbWF4KCB2ZWMzKCAxLjAgLSByb3VnaG5lc3MgKSwgRjAgKSAtIEYwO1xuXHRyZXR1cm4gRnIgKiBmcmVzbmVsICsgRjA7XG59XG5mbG9hdCBHX0dHWF9TbWl0aCggY29uc3QgaW4gZmxvYXQgYWxwaGEsIGNvbnN0IGluIGZsb2F0IGRvdE5MLCBjb25zdCBpbiBmbG9hdCBkb3ROViApIHtcblx0ZmxvYXQgYTIgPSBwb3cyKCBhbHBoYSApO1xuXHRmbG9hdCBnbCA9IGRvdE5MICsgc3FydCggYTIgKyAoIDEuMCAtIGEyICkgKiBwb3cyKCBkb3ROTCApICk7XG5cdGZsb2F0IGd2ID0gZG90TlYgKyBzcXJ0KCBhMiArICggMS4wIC0gYTIgKSAqIHBvdzIoIGRvdE5WICkgKTtcblx0cmV0dXJuIDEuMCAvICggZ2wgKiBndiApO1xufVxuZmxvYXQgR19HR1hfU21pdGhDb3JyZWxhdGVkKCBjb25zdCBpbiBmbG9hdCBhbHBoYSwgY29uc3QgaW4gZmxvYXQgZG90TkwsIGNvbnN0IGluIGZsb2F0IGRvdE5WICkge1xuXHRmbG9hdCBhMiA9IHBvdzIoIGFscGhhICk7XG5cdGZsb2F0IGd2ID0gZG90TkwgKiBzcXJ0KCBhMiArICggMS4wIC0gYTIgKSAqIHBvdzIoIGRvdE5WICkgKTtcblx0ZmxvYXQgZ2wgPSBkb3ROViAqIHNxcnQoIGEyICsgKCAxLjAgLSBhMiApICogcG93MiggZG90TkwgKSApO1xuXHRyZXR1cm4gMC41IC8gbWF4KCBndiArIGdsLCBFUFNJTE9OICk7XG59XG5mbG9hdCBEX0dHWCggY29uc3QgaW4gZmxvYXQgYWxwaGEsIGNvbnN0IGluIGZsb2F0IGRvdE5IICkge1xuXHRmbG9hdCBhMiA9IHBvdzIoIGFscGhhICk7XG5cdGZsb2F0IGRlbm9tID0gcG93MiggZG90TkggKSAqICggYTIgLSAxLjAgKSArIDEuMDtcblx0cmV0dXJuIFJFQ0lQUk9DQUxfUEkgKiBhMiAvIHBvdzIoIGRlbm9tICk7XG59XG52ZWMzIEJSREZfU3BlY3VsYXJfR0dYKCBjb25zdCBpbiBJbmNpZGVudExpZ2h0IGluY2lkZW50TGlnaHQsIGNvbnN0IGluIHZlYzMgdmlld0RpciwgY29uc3QgaW4gdmVjMyBub3JtYWwsIGNvbnN0IGluIHZlYzMgZjAsIGNvbnN0IGluIHZlYzMgZjkwLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGZsb2F0IGFscGhhID0gcG93Miggcm91Z2huZXNzICk7XG5cdHZlYzMgaGFsZkRpciA9IG5vcm1hbGl6ZSggaW5jaWRlbnRMaWdodC5kaXJlY3Rpb24gKyB2aWV3RGlyICk7XG5cdGZsb2F0IGRvdE5MID0gc2F0dXJhdGUoIGRvdCggbm9ybWFsLCBpbmNpZGVudExpZ2h0LmRpcmVjdGlvbiApICk7XG5cdGZsb2F0IGRvdE5WID0gc2F0dXJhdGUoIGRvdCggbm9ybWFsLCB2aWV3RGlyICkgKTtcblx0ZmxvYXQgZG90TkggPSBzYXR1cmF0ZSggZG90KCBub3JtYWwsIGhhbGZEaXIgKSApO1xuXHRmbG9hdCBkb3RMSCA9IHNhdHVyYXRlKCBkb3QoIGluY2lkZW50TGlnaHQuZGlyZWN0aW9uLCBoYWxmRGlyICkgKTtcblx0dmVjMyBGID0gRl9TY2hsaWNrKCBmMCwgZjkwLCBkb3RMSCApO1xuXHRmbG9hdCBHID0gR19HR1hfU21pdGhDb3JyZWxhdGVkKCBhbHBoYSwgZG90TkwsIGRvdE5WICk7XG5cdGZsb2F0IEQgPSBEX0dHWCggYWxwaGEsIGRvdE5IICk7XG5cdHJldHVybiBGICogKCBHICogRCApO1xufVxudmVjMiBMVENfVXYoIGNvbnN0IGluIHZlYzMgTiwgY29uc3QgaW4gdmVjMyBWLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGNvbnN0IGZsb2F0IExVVF9TSVpFID0gNjQuMDtcblx0Y29uc3QgZmxvYXQgTFVUX1NDQUxFID0gKCBMVVRfU0laRSAtIDEuMCApIC8gTFVUX1NJWkU7XG5cdGNvbnN0IGZsb2F0IExVVF9CSUFTID0gMC41IC8gTFVUX1NJWkU7XG5cdGZsb2F0IGRvdE5WID0gc2F0dXJhdGUoIGRvdCggTiwgViApICk7XG5cdHZlYzIgdXYgPSB2ZWMyKCByb3VnaG5lc3MsIHNxcnQoIDEuMCAtIGRvdE5WICkgKTtcblx0dXYgPSB1diAqIExVVF9TQ0FMRSArIExVVF9CSUFTO1xuXHRyZXR1cm4gdXY7XG59XG5mbG9hdCBMVENfQ2xpcHBlZFNwaGVyZUZvcm1GYWN0b3IoIGNvbnN0IGluIHZlYzMgZiApIHtcblx0ZmxvYXQgbCA9IGxlbmd0aCggZiApO1xuXHRyZXR1cm4gbWF4KCAoIGwgKiBsICsgZi56ICkgLyAoIGwgKyAxLjAgKSwgMC4wICk7XG59XG52ZWMzIExUQ19FZGdlVmVjdG9yRm9ybUZhY3RvciggY29uc3QgaW4gdmVjMyB2MSwgY29uc3QgaW4gdmVjMyB2MiApIHtcblx0ZmxvYXQgeCA9IGRvdCggdjEsIHYyICk7XG5cdGZsb2F0IHkgPSBhYnMoIHggKTtcblx0ZmxvYXQgYSA9IDAuODU0Mzk4NSArICggMC40OTY1MTU1ICsgMC4wMTQ1MjA2ICogeSApICogeTtcblx0ZmxvYXQgYiA9IDMuNDE3NTk0MCArICggNC4xNjE2NzI0ICsgeSApICogeTtcblx0ZmxvYXQgdiA9IGEgLyBiO1xuXHRmbG9hdCB0aGV0YV9zaW50aGV0YSA9ICggeCA+IDAuMCApID8gdiA6IDAuNSAqIGludmVyc2VzcXJ0KCBtYXgoIDEuMCAtIHggKiB4LCAxZS03ICkgKSAtIHY7XG5cdHJldHVybiBjcm9zcyggdjEsIHYyICkgKiB0aGV0YV9zaW50aGV0YTtcbn1cbnZlYzMgTFRDX0V2YWx1YXRlKCBjb25zdCBpbiB2ZWMzIE4sIGNvbnN0IGluIHZlYzMgViwgY29uc3QgaW4gdmVjMyBQLCBjb25zdCBpbiBtYXQzIG1JbnYsIGNvbnN0IGluIHZlYzMgcmVjdENvb3Jkc1sgNCBdICkge1xuXHR2ZWMzIHYxID0gcmVjdENvb3Jkc1sgMSBdIC0gcmVjdENvb3Jkc1sgMCBdO1xuXHR2ZWMzIHYyID0gcmVjdENvb3Jkc1sgMyBdIC0gcmVjdENvb3Jkc1sgMCBdO1xuXHR2ZWMzIGxpZ2h0Tm9ybWFsID0gY3Jvc3MoIHYxLCB2MiApO1xuXHRpZiggZG90KCBsaWdodE5vcm1hbCwgUCAtIHJlY3RDb29yZHNbIDAgXSApIDwgMC4wICkgcmV0dXJuIHZlYzMoIDAuMCApO1xuXHR2ZWMzIFQxLCBUMjtcblx0VDEgPSBub3JtYWxpemUoIFYgLSBOICogZG90KCBWLCBOICkgKTtcblx0VDIgPSAtIGNyb3NzKCBOLCBUMSApO1xuXHRtYXQzIG1hdCA9IG1JbnYgKiB0cmFuc3Bvc2VNYXQzKCBtYXQzKCBUMSwgVDIsIE4gKSApO1xuXHR2ZWMzIGNvb3Jkc1sgNCBdO1xuXHRjb29yZHNbIDAgXSA9IG1hdCAqICggcmVjdENvb3Jkc1sgMCBdIC0gUCApO1xuXHRjb29yZHNbIDEgXSA9IG1hdCAqICggcmVjdENvb3Jkc1sgMSBdIC0gUCApO1xuXHRjb29yZHNbIDIgXSA9IG1hdCAqICggcmVjdENvb3Jkc1sgMiBdIC0gUCApO1xuXHRjb29yZHNbIDMgXSA9IG1hdCAqICggcmVjdENvb3Jkc1sgMyBdIC0gUCApO1xuXHRjb29yZHNbIDAgXSA9IG5vcm1hbGl6ZSggY29vcmRzWyAwIF0gKTtcblx0Y29vcmRzWyAxIF0gPSBub3JtYWxpemUoIGNvb3Jkc1sgMSBdICk7XG5cdGNvb3Jkc1sgMiBdID0gbm9ybWFsaXplKCBjb29yZHNbIDIgXSApO1xuXHRjb29yZHNbIDMgXSA9IG5vcm1hbGl6ZSggY29vcmRzWyAzIF0gKTtcblx0dmVjMyB2ZWN0b3JGb3JtRmFjdG9yID0gdmVjMyggMC4wICk7XG5cdHZlY3RvckZvcm1GYWN0b3IgKz0gTFRDX0VkZ2VWZWN0b3JGb3JtRmFjdG9yKCBjb29yZHNbIDAgXSwgY29vcmRzWyAxIF0gKTtcblx0dmVjdG9yRm9ybUZhY3RvciArPSBMVENfRWRnZVZlY3RvckZvcm1GYWN0b3IoIGNvb3Jkc1sgMSBdLCBjb29yZHNbIDIgXSApO1xuXHR2ZWN0b3JGb3JtRmFjdG9yICs9IExUQ19FZGdlVmVjdG9yRm9ybUZhY3RvciggY29vcmRzWyAyIF0sIGNvb3Jkc1sgMyBdICk7XG5cdHZlY3RvckZvcm1GYWN0b3IgKz0gTFRDX0VkZ2VWZWN0b3JGb3JtRmFjdG9yKCBjb29yZHNbIDMgXSwgY29vcmRzWyAwIF0gKTtcblx0ZmxvYXQgcmVzdWx0ID0gTFRDX0NsaXBwZWRTcGhlcmVGb3JtRmFjdG9yKCB2ZWN0b3JGb3JtRmFjdG9yICk7XG5cdHJldHVybiB2ZWMzKCByZXN1bHQgKTtcbn1cbnZlYzMgQlJERl9TcGVjdWxhcl9HR1hfRW52aXJvbm1lbnQoIGNvbnN0IGluIHZlYzMgdmlld0RpciwgY29uc3QgaW4gdmVjMyBub3JtYWwsIGNvbnN0IGluIHZlYzMgc3BlY3VsYXJDb2xvciwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzICkge1xuXHRmbG9hdCBkb3ROViA9IHNhdHVyYXRlKCBkb3QoIG5vcm1hbCwgdmlld0RpciApICk7XG5cdHZlYzIgYnJkZiA9IGludGVncmF0ZVNwZWN1bGFyQlJERiggZG90TlYsIHJvdWdobmVzcyApO1xuXHRyZXR1cm4gc3BlY3VsYXJDb2xvciAqIGJyZGYueCArIGJyZGYueTtcbn1cbnZvaWQgQlJERl9TcGVjdWxhcl9NdWx0aXNjYXR0ZXJpbmdfRW52aXJvbm1lbnQoIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIHZlYzMgc3BlY3VsYXJDb2xvciwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzLCBpbm91dCB2ZWMzIHNpbmdsZVNjYXR0ZXIsIGlub3V0IHZlYzMgbXVsdGlTY2F0dGVyICkge1xuXHRmbG9hdCBkb3ROViA9IHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZ2VvbWV0cnkudmlld0RpciApICk7XG5cdHZlYzMgRiA9IEZfU2NobGlja19Sb3VnaG5lc3NEZXBlbmRlbnQoIHNwZWN1bGFyQ29sb3IsIGRvdE5WLCByb3VnaG5lc3MgKTtcblx0dmVjMiBicmRmID0gaW50ZWdyYXRlU3BlY3VsYXJCUkRGKCBkb3ROViwgcm91Z2huZXNzICk7XG5cdHZlYzMgRnNzRXNzID0gRiAqIGJyZGYueCArIGJyZGYueTtcblx0ZmxvYXQgRXNzID0gYnJkZi54ICsgYnJkZi55O1xuXHRmbG9hdCBFbXMgPSAxLjAgLSBFc3M7XG5cdHZlYzMgRmF2ZyA9IHNwZWN1bGFyQ29sb3IgKyAoIDEuMCAtIHNwZWN1bGFyQ29sb3IgKSAqIDAuMDQ3NjE5O1x0dmVjMyBGbXMgPSBGc3NFc3MgKiBGYXZnIC8gKCAxLjAgLSBFbXMgKiBGYXZnICk7XG5cdHNpbmdsZVNjYXR0ZXIgKz0gRnNzRXNzO1xuXHRtdWx0aVNjYXR0ZXIgKz0gRm1zICogRW1zO1xufVxuZmxvYXQgR19CbGlublBob25nX0ltcGxpY2l0KCApIHtcblx0cmV0dXJuIDAuMjU7XG59XG5mbG9hdCBEX0JsaW5uUGhvbmcoIGNvbnN0IGluIGZsb2F0IHNoaW5pbmVzcywgY29uc3QgaW4gZmxvYXQgZG90TkggKSB7XG5cdHJldHVybiBSRUNJUFJPQ0FMX1BJICogKCBzaGluaW5lc3MgKiAwLjUgKyAxLjAgKSAqIHBvdyggZG90TkgsIHNoaW5pbmVzcyApO1xufVxudmVjMyBCUkRGX1NwZWN1bGFyX0JsaW5uUGhvbmcoIGNvbnN0IGluIEluY2lkZW50TGlnaHQgaW5jaWRlbnRMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gdmVjMyBzcGVjdWxhckNvbG9yLCBjb25zdCBpbiBmbG9hdCBzaGluaW5lc3MgKSB7XG5cdHZlYzMgaGFsZkRpciA9IG5vcm1hbGl6ZSggaW5jaWRlbnRMaWdodC5kaXJlY3Rpb24gKyBnZW9tZXRyeS52aWV3RGlyICk7XG5cdGZsb2F0IGRvdE5IID0gc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkubm9ybWFsLCBoYWxmRGlyICkgKTtcblx0ZmxvYXQgZG90TEggPSBzYXR1cmF0ZSggZG90KCBpbmNpZGVudExpZ2h0LmRpcmVjdGlvbiwgaGFsZkRpciApICk7XG5cdHZlYzMgRiA9IEZfU2NobGljayggc3BlY3VsYXJDb2xvciwgdmVjMyggMS4wICksIGRvdExIICk7XG5cdGZsb2F0IEcgPSBHX0JsaW5uUGhvbmdfSW1wbGljaXQoICk7XG5cdGZsb2F0IEQgPSBEX0JsaW5uUGhvbmcoIHNoaW5pbmVzcywgZG90TkggKTtcblx0cmV0dXJuIEYgKiAoIEcgKiBEICk7XG59XG5mbG9hdCBHR1hSb3VnaG5lc3NUb0JsaW5uRXhwb25lbnQoIGNvbnN0IGluIGZsb2F0IGdneFJvdWdobmVzcyApIHtcblx0cmV0dXJuICggMi4wIC8gcG93MiggZ2d4Um91Z2huZXNzICsgMC4wMDAxICkgLSAyLjAgKTtcbn1cbmZsb2F0IEJsaW5uRXhwb25lbnRUb0dHWFJvdWdobmVzcyggY29uc3QgaW4gZmxvYXQgYmxpbm5FeHBvbmVudCApIHtcblx0cmV0dXJuIHNxcnQoIDIuMCAvICggYmxpbm5FeHBvbmVudCArIDIuMCApICk7XG59XG4jaWYgZGVmaW5lZCggVVNFX1NIRUVOIClcbmZsb2F0IERfQ2hhcmxpZShmbG9hdCByb3VnaG5lc3MsIGZsb2F0IE5vSCkge1xuXHRmbG9hdCBpbnZBbHBoYSA9IDEuMCAvIHJvdWdobmVzcztcblx0ZmxvYXQgY29zMmggPSBOb0ggKiBOb0g7XG5cdGZsb2F0IHNpbjJoID0gbWF4KDEuMCAtIGNvczJoLCAwLjAwNzgxMjUpO1x0cmV0dXJuICgyLjAgKyBpbnZBbHBoYSkgKiBwb3coc2luMmgsIGludkFscGhhICogMC41KSAvICgyLjAgKiBQSSk7XG59XG5mbG9hdCBWX05ldWJlbHQoZmxvYXQgTm9WLCBmbG9hdCBOb0wpIHtcblx0cmV0dXJuIHNhdHVyYXRlKDEuMCAvICg0LjAgKiAoTm9MICsgTm9WIC0gTm9MICogTm9WKSkpO1xufVxudmVjMyBCUkRGX1NwZWN1bGFyX1NoZWVuKCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MsIGNvbnN0IGluIHZlYzMgTCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgdmVjMyBzcGVjdWxhckNvbG9yICkge1xuXHR2ZWMzIE4gPSBnZW9tZXRyeS5ub3JtYWw7XG5cdHZlYzMgViA9IGdlb21ldHJ5LnZpZXdEaXI7XG5cdHZlYzMgSCA9IG5vcm1hbGl6ZSggViArIEwgKTtcblx0ZmxvYXQgZG90TkggPSBzYXR1cmF0ZSggZG90KCBOLCBIICkgKTtcblx0cmV0dXJuIHNwZWN1bGFyQ29sb3IgKiBEX0NoYXJsaWUoIHJvdWdobmVzcywgZG90TkggKSAqIFZfTmV1YmVsdCggZG90KE4sIFYpLCBkb3QoTiwgTCkgKTtcbn1cbiNlbmRpZiIsYnVtcG1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0JVTVBNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgYnVtcE1hcDtcblx0dW5pZm9ybSBmbG9hdCBidW1wU2NhbGU7XG5cdHZlYzIgZEhkeHlfZndkKCkge1xuXHRcdHZlYzIgZFNUZHggPSBkRmR4KCB2VXYgKTtcblx0XHR2ZWMyIGRTVGR5ID0gZEZkeSggdlV2ICk7XG5cdFx0ZmxvYXQgSGxsID0gYnVtcFNjYWxlICogdGV4dHVyZTJEKCBidW1wTWFwLCB2VXYgKS54O1xuXHRcdGZsb2F0IGRCeCA9IGJ1bXBTY2FsZSAqIHRleHR1cmUyRCggYnVtcE1hcCwgdlV2ICsgZFNUZHggKS54IC0gSGxsO1xuXHRcdGZsb2F0IGRCeSA9IGJ1bXBTY2FsZSAqIHRleHR1cmUyRCggYnVtcE1hcCwgdlV2ICsgZFNUZHkgKS54IC0gSGxsO1xuXHRcdHJldHVybiB2ZWMyKCBkQngsIGRCeSApO1xuXHR9XG5cdHZlYzMgcGVydHVyYk5vcm1hbEFyYiggdmVjMyBzdXJmX3BvcywgdmVjMyBzdXJmX25vcm0sIHZlYzIgZEhkeHksIGZsb2F0IGZhY2VEaXJlY3Rpb24gKSB7XG5cdFx0dmVjMyB2U2lnbWFYID0gdmVjMyggZEZkeCggc3VyZl9wb3MueCApLCBkRmR4KCBzdXJmX3Bvcy55ICksIGRGZHgoIHN1cmZfcG9zLnogKSApO1xuXHRcdHZlYzMgdlNpZ21hWSA9IHZlYzMoIGRGZHkoIHN1cmZfcG9zLnggKSwgZEZkeSggc3VyZl9wb3MueSApLCBkRmR5KCBzdXJmX3Bvcy56ICkgKTtcblx0XHR2ZWMzIHZOID0gc3VyZl9ub3JtO1xuXHRcdHZlYzMgUjEgPSBjcm9zcyggdlNpZ21hWSwgdk4gKTtcblx0XHR2ZWMzIFIyID0gY3Jvc3MoIHZOLCB2U2lnbWFYICk7XG5cdFx0ZmxvYXQgZkRldCA9IGRvdCggdlNpZ21hWCwgUjEgKSAqIGZhY2VEaXJlY3Rpb247XG5cdFx0dmVjMyB2R3JhZCA9IHNpZ24oIGZEZXQgKSAqICggZEhkeHkueCAqIFIxICsgZEhkeHkueSAqIFIyICk7XG5cdFx0cmV0dXJuIG5vcm1hbGl6ZSggYWJzKCBmRGV0ICkgKiBzdXJmX25vcm0gLSB2R3JhZCApO1xuXHR9XG4jZW5kaWYiLGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudDoiI2lmIE5VTV9DTElQUElOR19QTEFORVMgPiAwXG5cdHZlYzQgcGxhbmU7XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgVU5JT05fQ0xJUFBJTkdfUExBTkVTOyBpICsrICkge1xuXHRcdHBsYW5lID0gY2xpcHBpbmdQbGFuZXNbIGkgXTtcblx0XHRpZiAoIGRvdCggdkNsaXBQb3NpdGlvbiwgcGxhbmUueHl6ICkgPiBwbGFuZS53ICkgZGlzY2FyZDtcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuXHQjaWYgVU5JT05fQ0xJUFBJTkdfUExBTkVTIDwgTlVNX0NMSVBQSU5HX1BMQU5FU1xuXHRcdGJvb2wgY2xpcHBlZCA9IHRydWU7XG5cdFx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRcdGZvciAoIGludCBpID0gVU5JT05fQ0xJUFBJTkdfUExBTkVTOyBpIDwgTlVNX0NMSVBQSU5HX1BMQU5FUzsgaSArKyApIHtcblx0XHRcdHBsYW5lID0gY2xpcHBpbmdQbGFuZXNbIGkgXTtcblx0XHRcdGNsaXBwZWQgPSAoIGRvdCggdkNsaXBQb3NpdGlvbiwgcGxhbmUueHl6ICkgPiBwbGFuZS53ICkgJiYgY2xpcHBlZDtcblx0XHR9XG5cdFx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcblx0XHRpZiAoIGNsaXBwZWQgKSBkaXNjYXJkO1xuXHQjZW5kaWZcbiNlbmRpZiIsY2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnQ6IiNpZiBOVU1fQ0xJUFBJTkdfUExBTkVTID4gMFxuXHR2YXJ5aW5nIHZlYzMgdkNsaXBQb3NpdGlvbjtcblx0dW5pZm9ybSB2ZWM0IGNsaXBwaW5nUGxhbmVzWyBOVU1fQ0xJUFBJTkdfUExBTkVTIF07XG4jZW5kaWYiLGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleDoiI2lmIE5VTV9DTElQUElOR19QTEFORVMgPiAwXG5cdHZhcnlpbmcgdmVjMyB2Q2xpcFBvc2l0aW9uO1xuI2VuZGlmIixjbGlwcGluZ19wbGFuZXNfdmVydGV4OiIjaWYgTlVNX0NMSVBQSU5HX1BMQU5FUyA+IDBcblx0dkNsaXBQb3NpdGlvbiA9IC0gbXZQb3NpdGlvbi54eXo7XG4jZW5kaWYiLGNvbG9yX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX0NPTE9SX0FMUEhBIClcblx0ZGlmZnVzZUNvbG9yICo9IHZDb2xvcjtcbiNlbGlmIGRlZmluZWQoIFVTRV9DT0xPUiApXG5cdGRpZmZ1c2VDb2xvci5yZ2IgKj0gdkNvbG9yO1xuI2VuZGlmIixjb2xvcl9wYXJzX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX0NPTE9SX0FMUEhBIClcblx0dmFyeWluZyB2ZWM0IHZDb2xvcjtcbiNlbGlmIGRlZmluZWQoIFVTRV9DT0xPUiApXG5cdHZhcnlpbmcgdmVjMyB2Q29sb3I7XG4jZW5kaWYiLGNvbG9yX3BhcnNfdmVydGV4OiIjaWYgZGVmaW5lZCggVVNFX0NPTE9SX0FMUEhBIClcblx0dmFyeWluZyB2ZWM0IHZDb2xvcjtcbiNlbGlmIGRlZmluZWQoIFVTRV9DT0xPUiApIHx8IGRlZmluZWQoIFVTRV9JTlNUQU5DSU5HX0NPTE9SIClcblx0dmFyeWluZyB2ZWMzIHZDb2xvcjtcbiNlbmRpZiIsY29sb3JfdmVydGV4OiIjaWYgZGVmaW5lZCggVVNFX0NPTE9SX0FMUEhBIClcblx0dkNvbG9yID0gdmVjNCggMS4wICk7XG4jZWxpZiBkZWZpbmVkKCBVU0VfQ09MT1IgKSB8fCBkZWZpbmVkKCBVU0VfSU5TVEFOQ0lOR19DT0xPUiApXG5cdHZDb2xvciA9IHZlYzMoIDEuMCApO1xuI2VuZGlmXG4jaWZkZWYgVVNFX0NPTE9SXG5cdHZDb2xvciAqPSBjb2xvcjtcbiNlbmRpZlxuI2lmZGVmIFVTRV9JTlNUQU5DSU5HX0NPTE9SXG5cdHZDb2xvci54eXogKj0gaW5zdGFuY2VDb2xvci54eXo7XG4jZW5kaWYiLGNvbW1vbjoiI2RlZmluZSBQSSAzLjE0MTU5MjY1MzU4OTc5M1xuI2RlZmluZSBQSTIgNi4yODMxODUzMDcxNzk1ODZcbiNkZWZpbmUgUElfSEFMRiAxLjU3MDc5NjMyNjc5NDg5NjZcbiNkZWZpbmUgUkVDSVBST0NBTF9QSSAwLjMxODMwOTg4NjE4Mzc5MDdcbiNkZWZpbmUgUkVDSVBST0NBTF9QSTIgMC4xNTkxNTQ5NDMwOTE4OTUzNVxuI2RlZmluZSBFUFNJTE9OIDFlLTZcbiNpZm5kZWYgc2F0dXJhdGVcbiNkZWZpbmUgc2F0dXJhdGUoYSkgY2xhbXAoIGEsIDAuMCwgMS4wIClcbiNlbmRpZlxuI2RlZmluZSB3aGl0ZUNvbXBsZW1lbnQoYSkgKCAxLjAgLSBzYXR1cmF0ZSggYSApIClcbmZsb2F0IHBvdzIoIGNvbnN0IGluIGZsb2F0IHggKSB7IHJldHVybiB4Kng7IH1cbmZsb2F0IHBvdzMoIGNvbnN0IGluIGZsb2F0IHggKSB7IHJldHVybiB4KngqeDsgfVxuZmxvYXQgcG93NCggY29uc3QgaW4gZmxvYXQgeCApIHsgZmxvYXQgeDIgPSB4Kng7IHJldHVybiB4Mip4MjsgfVxuZmxvYXQgYXZlcmFnZSggY29uc3QgaW4gdmVjMyBjb2xvciApIHsgcmV0dXJuIGRvdCggY29sb3IsIHZlYzMoIDAuMzMzMyApICk7IH1cbmhpZ2hwIGZsb2F0IHJhbmQoIGNvbnN0IGluIHZlYzIgdXYgKSB7XG5cdGNvbnN0IGhpZ2hwIGZsb2F0IGEgPSAxMi45ODk4LCBiID0gNzguMjMzLCBjID0gNDM3NTguNTQ1Mztcblx0aGlnaHAgZmxvYXQgZHQgPSBkb3QoIHV2Lnh5LCB2ZWMyKCBhLGIgKSApLCBzbiA9IG1vZCggZHQsIFBJICk7XG5cdHJldHVybiBmcmFjdChzaW4oc24pICogYyk7XG59XG4jaWZkZWYgSElHSF9QUkVDSVNJT05cblx0ZmxvYXQgcHJlY2lzaW9uU2FmZUxlbmd0aCggdmVjMyB2ICkgeyByZXR1cm4gbGVuZ3RoKCB2ICk7IH1cbiNlbHNlXG5cdGZsb2F0IG1heDMoIHZlYzMgdiApIHsgcmV0dXJuIG1heCggbWF4KCB2LngsIHYueSApLCB2LnogKTsgfVxuXHRmbG9hdCBwcmVjaXNpb25TYWZlTGVuZ3RoKCB2ZWMzIHYgKSB7XG5cdFx0ZmxvYXQgbWF4Q29tcG9uZW50ID0gbWF4MyggYWJzKCB2ICkgKTtcblx0XHRyZXR1cm4gbGVuZ3RoKCB2IC8gbWF4Q29tcG9uZW50ICkgKiBtYXhDb21wb25lbnQ7XG5cdH1cbiNlbmRpZlxuc3RydWN0IEluY2lkZW50TGlnaHQge1xuXHR2ZWMzIGNvbG9yO1xuXHR2ZWMzIGRpcmVjdGlvbjtcblx0Ym9vbCB2aXNpYmxlO1xufTtcbnN0cnVjdCBSZWZsZWN0ZWRMaWdodCB7XG5cdHZlYzMgZGlyZWN0RGlmZnVzZTtcblx0dmVjMyBkaXJlY3RTcGVjdWxhcjtcblx0dmVjMyBpbmRpcmVjdERpZmZ1c2U7XG5cdHZlYzMgaW5kaXJlY3RTcGVjdWxhcjtcbn07XG5zdHJ1Y3QgR2VvbWV0cmljQ29udGV4dCB7XG5cdHZlYzMgcG9zaXRpb247XG5cdHZlYzMgbm9ybWFsO1xuXHR2ZWMzIHZpZXdEaXI7XG4jaWZkZWYgQ0xFQVJDT0FUXG5cdHZlYzMgY2xlYXJjb2F0Tm9ybWFsO1xuI2VuZGlmXG59O1xudmVjMyB0cmFuc2Zvcm1EaXJlY3Rpb24oIGluIHZlYzMgZGlyLCBpbiBtYXQ0IG1hdHJpeCApIHtcblx0cmV0dXJuIG5vcm1hbGl6ZSggKCBtYXRyaXggKiB2ZWM0KCBkaXIsIDAuMCApICkueHl6ICk7XG59XG52ZWMzIGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIGluIHZlYzMgZGlyLCBpbiBtYXQ0IG1hdHJpeCApIHtcblx0cmV0dXJuIG5vcm1hbGl6ZSggKCB2ZWM0KCBkaXIsIDAuMCApICogbWF0cml4ICkueHl6ICk7XG59XG52ZWMzIHByb2plY3RPblBsYW5lKGluIHZlYzMgcG9pbnQsIGluIHZlYzMgcG9pbnRPblBsYW5lLCBpbiB2ZWMzIHBsYW5lTm9ybWFsICkge1xuXHRmbG9hdCBkaXN0YW5jZSA9IGRvdCggcGxhbmVOb3JtYWwsIHBvaW50IC0gcG9pbnRPblBsYW5lICk7XG5cdHJldHVybiAtIGRpc3RhbmNlICogcGxhbmVOb3JtYWwgKyBwb2ludDtcbn1cbmZsb2F0IHNpZGVPZlBsYW5lKCBpbiB2ZWMzIHBvaW50LCBpbiB2ZWMzIHBvaW50T25QbGFuZSwgaW4gdmVjMyBwbGFuZU5vcm1hbCApIHtcblx0cmV0dXJuIHNpZ24oIGRvdCggcG9pbnQgLSBwb2ludE9uUGxhbmUsIHBsYW5lTm9ybWFsICkgKTtcbn1cbnZlYzMgbGluZVBsYW5lSW50ZXJzZWN0KCBpbiB2ZWMzIHBvaW50T25MaW5lLCBpbiB2ZWMzIGxpbmVEaXJlY3Rpb24sIGluIHZlYzMgcG9pbnRPblBsYW5lLCBpbiB2ZWMzIHBsYW5lTm9ybWFsICkge1xuXHRyZXR1cm4gbGluZURpcmVjdGlvbiAqICggZG90KCBwbGFuZU5vcm1hbCwgcG9pbnRPblBsYW5lIC0gcG9pbnRPbkxpbmUgKSAvIGRvdCggcGxhbmVOb3JtYWwsIGxpbmVEaXJlY3Rpb24gKSApICsgcG9pbnRPbkxpbmU7XG59XG5tYXQzIHRyYW5zcG9zZU1hdDMoIGNvbnN0IGluIG1hdDMgbSApIHtcblx0bWF0MyB0bXA7XG5cdHRtcFsgMCBdID0gdmVjMyggbVsgMCBdLngsIG1bIDEgXS54LCBtWyAyIF0ueCApO1xuXHR0bXBbIDEgXSA9IHZlYzMoIG1bIDAgXS55LCBtWyAxIF0ueSwgbVsgMiBdLnkgKTtcblx0dG1wWyAyIF0gPSB2ZWMzKCBtWyAwIF0ueiwgbVsgMSBdLnosIG1bIDIgXS56ICk7XG5cdHJldHVybiB0bXA7XG59XG5mbG9hdCBsaW5lYXJUb1JlbGF0aXZlTHVtaW5hbmNlKCBjb25zdCBpbiB2ZWMzIGNvbG9yICkge1xuXHR2ZWMzIHdlaWdodHMgPSB2ZWMzKCAwLjIxMjYsIDAuNzE1MiwgMC4wNzIyICk7XG5cdHJldHVybiBkb3QoIHdlaWdodHMsIGNvbG9yLnJnYiApO1xufVxuYm9vbCBpc1BlcnNwZWN0aXZlTWF0cml4KCBtYXQ0IG0gKSB7XG5cdHJldHVybiBtWyAyIF1bIDMgXSA9PSAtIDEuMDtcbn1cbnZlYzIgZXF1aXJlY3RVdiggaW4gdmVjMyBkaXIgKSB7XG5cdGZsb2F0IHUgPSBhdGFuKCBkaXIueiwgZGlyLnggKSAqIFJFQ0lQUk9DQUxfUEkyICsgMC41O1xuXHRmbG9hdCB2ID0gYXNpbiggY2xhbXAoIGRpci55LCAtIDEuMCwgMS4wICkgKSAqIFJFQ0lQUk9DQUxfUEkgKyAwLjU7XG5cdHJldHVybiB2ZWMyKCB1LCB2ICk7XG59IixjdWJlX3V2X3JlZmxlY3Rpb25fZnJhZ21lbnQ6IiNpZmRlZiBFTlZNQVBfVFlQRV9DVUJFX1VWXG5cdCNkZWZpbmUgY3ViZVVWX21heE1pcExldmVsIDguMFxuXHQjZGVmaW5lIGN1YmVVVl9taW5NaXBMZXZlbCA0LjBcblx0I2RlZmluZSBjdWJlVVZfbWF4VGlsZVNpemUgMjU2LjBcblx0I2RlZmluZSBjdWJlVVZfbWluVGlsZVNpemUgMTYuMFxuXHRmbG9hdCBnZXRGYWNlKCB2ZWMzIGRpcmVjdGlvbiApIHtcblx0XHR2ZWMzIGFic0RpcmVjdGlvbiA9IGFicyggZGlyZWN0aW9uICk7XG5cdFx0ZmxvYXQgZmFjZSA9IC0gMS4wO1xuXHRcdGlmICggYWJzRGlyZWN0aW9uLnggPiBhYnNEaXJlY3Rpb24ueiApIHtcblx0XHRcdGlmICggYWJzRGlyZWN0aW9uLnggPiBhYnNEaXJlY3Rpb24ueSApXG5cdFx0XHRcdGZhY2UgPSBkaXJlY3Rpb24ueCA+IDAuMCA/IDAuMCA6IDMuMDtcblx0XHRcdGVsc2Vcblx0XHRcdFx0ZmFjZSA9IGRpcmVjdGlvbi55ID4gMC4wID8gMS4wIDogNC4wO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAoIGFic0RpcmVjdGlvbi56ID4gYWJzRGlyZWN0aW9uLnkgKVxuXHRcdFx0XHRmYWNlID0gZGlyZWN0aW9uLnogPiAwLjAgPyAyLjAgOiA1LjA7XG5cdFx0XHRlbHNlXG5cdFx0XHRcdGZhY2UgPSBkaXJlY3Rpb24ueSA+IDAuMCA/IDEuMCA6IDQuMDtcblx0XHR9XG5cdFx0cmV0dXJuIGZhY2U7XG5cdH1cblx0dmVjMiBnZXRVViggdmVjMyBkaXJlY3Rpb24sIGZsb2F0IGZhY2UgKSB7XG5cdFx0dmVjMiB1djtcblx0XHRpZiAoIGZhY2UgPT0gMC4wICkge1xuXHRcdFx0dXYgPSB2ZWMyKCBkaXJlY3Rpb24ueiwgZGlyZWN0aW9uLnkgKSAvIGFicyggZGlyZWN0aW9uLnggKTtcblx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDEuMCApIHtcblx0XHRcdHV2ID0gdmVjMiggLSBkaXJlY3Rpb24ueCwgLSBkaXJlY3Rpb24ueiApIC8gYWJzKCBkaXJlY3Rpb24ueSApO1xuXHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gMi4wICkge1xuXHRcdFx0dXYgPSB2ZWMyKCAtIGRpcmVjdGlvbi54LCBkaXJlY3Rpb24ueSApIC8gYWJzKCBkaXJlY3Rpb24ueiApO1xuXHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gMy4wICkge1xuXHRcdFx0dXYgPSB2ZWMyKCAtIGRpcmVjdGlvbi56LCBkaXJlY3Rpb24ueSApIC8gYWJzKCBkaXJlY3Rpb24ueCApO1xuXHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gNC4wICkge1xuXHRcdFx0dXYgPSB2ZWMyKCAtIGRpcmVjdGlvbi54LCBkaXJlY3Rpb24ueiApIC8gYWJzKCBkaXJlY3Rpb24ueSApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR1diA9IHZlYzIoIGRpcmVjdGlvbi54LCBkaXJlY3Rpb24ueSApIC8gYWJzKCBkaXJlY3Rpb24ueiApO1xuXHRcdH1cblx0XHRyZXR1cm4gMC41ICogKCB1diArIDEuMCApO1xuXHR9XG5cdHZlYzMgYmlsaW5lYXJDdWJlVVYoIHNhbXBsZXIyRCBlbnZNYXAsIHZlYzMgZGlyZWN0aW9uLCBmbG9hdCBtaXBJbnQgKSB7XG5cdFx0ZmxvYXQgZmFjZSA9IGdldEZhY2UoIGRpcmVjdGlvbiApO1xuXHRcdGZsb2F0IGZpbHRlckludCA9IG1heCggY3ViZVVWX21pbk1pcExldmVsIC0gbWlwSW50LCAwLjAgKTtcblx0XHRtaXBJbnQgPSBtYXgoIG1pcEludCwgY3ViZVVWX21pbk1pcExldmVsICk7XG5cdFx0ZmxvYXQgZmFjZVNpemUgPSBleHAyKCBtaXBJbnQgKTtcblx0XHRmbG9hdCB0ZXhlbFNpemUgPSAxLjAgLyAoIDMuMCAqIGN1YmVVVl9tYXhUaWxlU2l6ZSApO1xuXHRcdHZlYzIgdXYgPSBnZXRVViggZGlyZWN0aW9uLCBmYWNlICkgKiAoIGZhY2VTaXplIC0gMS4wICk7XG5cdFx0dmVjMiBmID0gZnJhY3QoIHV2ICk7XG5cdFx0dXYgKz0gMC41IC0gZjtcblx0XHRpZiAoIGZhY2UgPiAyLjAgKSB7XG5cdFx0XHR1di55ICs9IGZhY2VTaXplO1xuXHRcdFx0ZmFjZSAtPSAzLjA7XG5cdFx0fVxuXHRcdHV2LnggKz0gZmFjZSAqIGZhY2VTaXplO1xuXHRcdGlmICggbWlwSW50IDwgY3ViZVVWX21heE1pcExldmVsICkge1xuXHRcdFx0dXYueSArPSAyLjAgKiBjdWJlVVZfbWF4VGlsZVNpemU7XG5cdFx0fVxuXHRcdHV2LnkgKz0gZmlsdGVySW50ICogMi4wICogY3ViZVVWX21pblRpbGVTaXplO1xuXHRcdHV2LnggKz0gMy4wICogbWF4KCAwLjAsIGN1YmVVVl9tYXhUaWxlU2l6ZSAtIDIuMCAqIGZhY2VTaXplICk7XG5cdFx0dXYgKj0gdGV4ZWxTaXplO1xuXHRcdHZlYzMgdGwgPSBlbnZNYXBUZXhlbFRvTGluZWFyKCB0ZXh0dXJlMkQoIGVudk1hcCwgdXYgKSApLnJnYjtcblx0XHR1di54ICs9IHRleGVsU2l6ZTtcblx0XHR2ZWMzIHRyID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEKCBlbnZNYXAsIHV2ICkgKS5yZ2I7XG5cdFx0dXYueSArPSB0ZXhlbFNpemU7XG5cdFx0dmVjMyBiciA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCggZW52TWFwLCB1diApICkucmdiO1xuXHRcdHV2LnggLT0gdGV4ZWxTaXplO1xuXHRcdHZlYzMgYmwgPSBlbnZNYXBUZXhlbFRvTGluZWFyKCB0ZXh0dXJlMkQoIGVudk1hcCwgdXYgKSApLnJnYjtcblx0XHR2ZWMzIHRtID0gbWl4KCB0bCwgdHIsIGYueCApO1xuXHRcdHZlYzMgYm0gPSBtaXgoIGJsLCBiciwgZi54ICk7XG5cdFx0cmV0dXJuIG1peCggdG0sIGJtLCBmLnkgKTtcblx0fVxuXHQjZGVmaW5lIHIwIDEuMFxuXHQjZGVmaW5lIHYwIDAuMzM5XG5cdCNkZWZpbmUgbTAgLSAyLjBcblx0I2RlZmluZSByMSAwLjhcblx0I2RlZmluZSB2MSAwLjI3NlxuXHQjZGVmaW5lIG0xIC0gMS4wXG5cdCNkZWZpbmUgcjQgMC40XG5cdCNkZWZpbmUgdjQgMC4wNDZcblx0I2RlZmluZSBtNCAyLjBcblx0I2RlZmluZSByNSAwLjMwNVxuXHQjZGVmaW5lIHY1IDAuMDE2XG5cdCNkZWZpbmUgbTUgMy4wXG5cdCNkZWZpbmUgcjYgMC4yMVxuXHQjZGVmaW5lIHY2IDAuMDAzOFxuXHQjZGVmaW5lIG02IDQuMFxuXHRmbG9hdCByb3VnaG5lc3NUb01pcCggZmxvYXQgcm91Z2huZXNzICkge1xuXHRcdGZsb2F0IG1pcCA9IDAuMDtcblx0XHRpZiAoIHJvdWdobmVzcyA+PSByMSApIHtcblx0XHRcdG1pcCA9ICggcjAgLSByb3VnaG5lc3MgKSAqICggbTEgLSBtMCApIC8gKCByMCAtIHIxICkgKyBtMDtcblx0XHR9IGVsc2UgaWYgKCByb3VnaG5lc3MgPj0gcjQgKSB7XG5cdFx0XHRtaXAgPSAoIHIxIC0gcm91Z2huZXNzICkgKiAoIG00IC0gbTEgKSAvICggcjEgLSByNCApICsgbTE7XG5cdFx0fSBlbHNlIGlmICggcm91Z2huZXNzID49IHI1ICkge1xuXHRcdFx0bWlwID0gKCByNCAtIHJvdWdobmVzcyApICogKCBtNSAtIG00ICkgLyAoIHI0IC0gcjUgKSArIG00O1xuXHRcdH0gZWxzZSBpZiAoIHJvdWdobmVzcyA+PSByNiApIHtcblx0XHRcdG1pcCA9ICggcjUgLSByb3VnaG5lc3MgKSAqICggbTYgLSBtNSApIC8gKCByNSAtIHI2ICkgKyBtNTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bWlwID0gLSAyLjAgKiBsb2cyKCAxLjE2ICogcm91Z2huZXNzICk7XHRcdH1cblx0XHRyZXR1cm4gbWlwO1xuXHR9XG5cdHZlYzQgdGV4dHVyZUN1YmVVViggc2FtcGxlcjJEIGVudk1hcCwgdmVjMyBzYW1wbGVEaXIsIGZsb2F0IHJvdWdobmVzcyApIHtcblx0XHRmbG9hdCBtaXAgPSBjbGFtcCggcm91Z2huZXNzVG9NaXAoIHJvdWdobmVzcyApLCBtMCwgY3ViZVVWX21heE1pcExldmVsICk7XG5cdFx0ZmxvYXQgbWlwRiA9IGZyYWN0KCBtaXAgKTtcblx0XHRmbG9hdCBtaXBJbnQgPSBmbG9vciggbWlwICk7XG5cdFx0dmVjMyBjb2xvcjAgPSBiaWxpbmVhckN1YmVVViggZW52TWFwLCBzYW1wbGVEaXIsIG1pcEludCApO1xuXHRcdGlmICggbWlwRiA9PSAwLjAgKSB7XG5cdFx0XHRyZXR1cm4gdmVjNCggY29sb3IwLCAxLjAgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dmVjMyBjb2xvcjEgPSBiaWxpbmVhckN1YmVVViggZW52TWFwLCBzYW1wbGVEaXIsIG1pcEludCArIDEuMCApO1xuXHRcdFx0cmV0dXJuIHZlYzQoIG1peCggY29sb3IwLCBjb2xvcjEsIG1pcEYgKSwgMS4wICk7XG5cdFx0fVxuXHR9XG4jZW5kaWYiLGRlZmF1bHRub3JtYWxfdmVydGV4OiJ2ZWMzIHRyYW5zZm9ybWVkTm9ybWFsID0gb2JqZWN0Tm9ybWFsO1xuI2lmZGVmIFVTRV9JTlNUQU5DSU5HXG5cdG1hdDMgbSA9IG1hdDMoIGluc3RhbmNlTWF0cml4ICk7XG5cdHRyYW5zZm9ybWVkTm9ybWFsIC89IHZlYzMoIGRvdCggbVsgMCBdLCBtWyAwIF0gKSwgZG90KCBtWyAxIF0sIG1bIDEgXSApLCBkb3QoIG1bIDIgXSwgbVsgMiBdICkgKTtcblx0dHJhbnNmb3JtZWROb3JtYWwgPSBtICogdHJhbnNmb3JtZWROb3JtYWw7XG4jZW5kaWZcbnRyYW5zZm9ybWVkTm9ybWFsID0gbm9ybWFsTWF0cml4ICogdHJhbnNmb3JtZWROb3JtYWw7XG4jaWZkZWYgRkxJUF9TSURFRFxuXHR0cmFuc2Zvcm1lZE5vcm1hbCA9IC0gdHJhbnNmb3JtZWROb3JtYWw7XG4jZW5kaWZcbiNpZmRlZiBVU0VfVEFOR0VOVFxuXHR2ZWMzIHRyYW5zZm9ybWVkVGFuZ2VudCA9ICggbW9kZWxWaWV3TWF0cml4ICogdmVjNCggb2JqZWN0VGFuZ2VudCwgMC4wICkgKS54eXo7XG5cdCNpZmRlZiBGTElQX1NJREVEXG5cdFx0dHJhbnNmb3JtZWRUYW5nZW50ID0gLSB0cmFuc2Zvcm1lZFRhbmdlbnQ7XG5cdCNlbmRpZlxuI2VuZGlmIixkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfRElTUExBQ0VNRU5UTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGRpc3BsYWNlbWVudE1hcDtcblx0dW5pZm9ybSBmbG9hdCBkaXNwbGFjZW1lbnRTY2FsZTtcblx0dW5pZm9ybSBmbG9hdCBkaXNwbGFjZW1lbnRCaWFzO1xuI2VuZGlmIixkaXNwbGFjZW1lbnRtYXBfdmVydGV4OiIjaWZkZWYgVVNFX0RJU1BMQUNFTUVOVE1BUFxuXHR0cmFuc2Zvcm1lZCArPSBub3JtYWxpemUoIG9iamVjdE5vcm1hbCApICogKCB0ZXh0dXJlMkQoIGRpc3BsYWNlbWVudE1hcCwgdlV2ICkueCAqIGRpc3BsYWNlbWVudFNjYWxlICsgZGlzcGxhY2VtZW50QmlhcyApO1xuI2VuZGlmIixlbWlzc2l2ZW1hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9FTUlTU0lWRU1BUFxuXHR2ZWM0IGVtaXNzaXZlQ29sb3IgPSB0ZXh0dXJlMkQoIGVtaXNzaXZlTWFwLCB2VXYgKTtcblx0ZW1pc3NpdmVDb2xvci5yZ2IgPSBlbWlzc2l2ZU1hcFRleGVsVG9MaW5lYXIoIGVtaXNzaXZlQ29sb3IgKS5yZ2I7XG5cdHRvdGFsRW1pc3NpdmVSYWRpYW5jZSAqPSBlbWlzc2l2ZUNvbG9yLnJnYjtcbiNlbmRpZiIsZW1pc3NpdmVtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9FTUlTU0lWRU1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBlbWlzc2l2ZU1hcDtcbiNlbmRpZiIsZW5jb2RpbmdzX2ZyYWdtZW50OiJnbF9GcmFnQ29sb3IgPSBsaW5lYXJUb091dHB1dFRleGVsKCBnbF9GcmFnQ29sb3IgKTsiLGVuY29kaW5nc19wYXJzX2ZyYWdtZW50OiJcbnZlYzQgTGluZWFyVG9MaW5lYXIoIGluIHZlYzQgdmFsdWUgKSB7XG5cdHJldHVybiB2YWx1ZTtcbn1cbnZlYzQgR2FtbWFUb0xpbmVhciggaW4gdmVjNCB2YWx1ZSwgaW4gZmxvYXQgZ2FtbWFGYWN0b3IgKSB7XG5cdHJldHVybiB2ZWM0KCBwb3coIHZhbHVlLnJnYiwgdmVjMyggZ2FtbWFGYWN0b3IgKSApLCB2YWx1ZS5hICk7XG59XG52ZWM0IExpbmVhclRvR2FtbWEoIGluIHZlYzQgdmFsdWUsIGluIGZsb2F0IGdhbW1hRmFjdG9yICkge1xuXHRyZXR1cm4gdmVjNCggcG93KCB2YWx1ZS5yZ2IsIHZlYzMoIDEuMCAvIGdhbW1hRmFjdG9yICkgKSwgdmFsdWUuYSApO1xufVxudmVjNCBzUkdCVG9MaW5lYXIoIGluIHZlYzQgdmFsdWUgKSB7XG5cdHJldHVybiB2ZWM0KCBtaXgoIHBvdyggdmFsdWUucmdiICogMC45NDc4NjcyOTg2ICsgdmVjMyggMC4wNTIxMzI3MDE0ICksIHZlYzMoIDIuNCApICksIHZhbHVlLnJnYiAqIDAuMDc3Mzk5MzgwOCwgdmVjMyggbGVzc1RoYW5FcXVhbCggdmFsdWUucmdiLCB2ZWMzKCAwLjA0MDQ1ICkgKSApICksIHZhbHVlLmEgKTtcbn1cbnZlYzQgTGluZWFyVG9zUkdCKCBpbiB2ZWM0IHZhbHVlICkge1xuXHRyZXR1cm4gdmVjNCggbWl4KCBwb3coIHZhbHVlLnJnYiwgdmVjMyggMC40MTY2NiApICkgKiAxLjA1NSAtIHZlYzMoIDAuMDU1ICksIHZhbHVlLnJnYiAqIDEyLjkyLCB2ZWMzKCBsZXNzVGhhbkVxdWFsKCB2YWx1ZS5yZ2IsIHZlYzMoIDAuMDAzMTMwOCApICkgKSApLCB2YWx1ZS5hICk7XG59XG52ZWM0IFJHQkVUb0xpbmVhciggaW4gdmVjNCB2YWx1ZSApIHtcblx0cmV0dXJuIHZlYzQoIHZhbHVlLnJnYiAqIGV4cDIoIHZhbHVlLmEgKiAyNTUuMCAtIDEyOC4wICksIDEuMCApO1xufVxudmVjNCBMaW5lYXJUb1JHQkUoIGluIHZlYzQgdmFsdWUgKSB7XG5cdGZsb2F0IG1heENvbXBvbmVudCA9IG1heCggbWF4KCB2YWx1ZS5yLCB2YWx1ZS5nICksIHZhbHVlLmIgKTtcblx0ZmxvYXQgZkV4cCA9IGNsYW1wKCBjZWlsKCBsb2cyKCBtYXhDb21wb25lbnQgKSApLCAtMTI4LjAsIDEyNy4wICk7XG5cdHJldHVybiB2ZWM0KCB2YWx1ZS5yZ2IgLyBleHAyKCBmRXhwICksICggZkV4cCArIDEyOC4wICkgLyAyNTUuMCApO1xufVxudmVjNCBSR0JNVG9MaW5lYXIoIGluIHZlYzQgdmFsdWUsIGluIGZsb2F0IG1heFJhbmdlICkge1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiICogdmFsdWUuYSAqIG1heFJhbmdlLCAxLjAgKTtcbn1cbnZlYzQgTGluZWFyVG9SR0JNKCBpbiB2ZWM0IHZhbHVlLCBpbiBmbG9hdCBtYXhSYW5nZSApIHtcblx0ZmxvYXQgbWF4UkdCID0gbWF4KCB2YWx1ZS5yLCBtYXgoIHZhbHVlLmcsIHZhbHVlLmIgKSApO1xuXHRmbG9hdCBNID0gY2xhbXAoIG1heFJHQiAvIG1heFJhbmdlLCAwLjAsIDEuMCApO1xuXHRNID0gY2VpbCggTSAqIDI1NS4wICkgLyAyNTUuMDtcblx0cmV0dXJuIHZlYzQoIHZhbHVlLnJnYiAvICggTSAqIG1heFJhbmdlICksIE0gKTtcbn1cbnZlYzQgUkdCRFRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlLCBpbiBmbG9hdCBtYXhSYW5nZSApIHtcblx0cmV0dXJuIHZlYzQoIHZhbHVlLnJnYiAqICggKCBtYXhSYW5nZSAvIDI1NS4wICkgLyB2YWx1ZS5hICksIDEuMCApO1xufVxudmVjNCBMaW5lYXJUb1JHQkQoIGluIHZlYzQgdmFsdWUsIGluIGZsb2F0IG1heFJhbmdlICkge1xuXHRmbG9hdCBtYXhSR0IgPSBtYXgoIHZhbHVlLnIsIG1heCggdmFsdWUuZywgdmFsdWUuYiApICk7XG5cdGZsb2F0IEQgPSBtYXgoIG1heFJhbmdlIC8gbWF4UkdCLCAxLjAgKTtcblx0RCA9IGNsYW1wKCBmbG9vciggRCApIC8gMjU1LjAsIDAuMCwgMS4wICk7XG5cdHJldHVybiB2ZWM0KCB2YWx1ZS5yZ2IgKiAoIEQgKiAoIDI1NS4wIC8gbWF4UmFuZ2UgKSApLCBEICk7XG59XG5jb25zdCBtYXQzIGNMb2dMdXZNID0gbWF0MyggMC4yMjA5LCAwLjMzOTAsIDAuNDE4NCwgMC4xMTM4LCAwLjY3ODAsIDAuNzMxOSwgMC4wMTAyLCAwLjExMzAsIDAuMjk2OSApO1xudmVjNCBMaW5lYXJUb0xvZ0x1diggaW4gdmVjNCB2YWx1ZSApIHtcblx0dmVjMyBYcF9ZX1hZWnAgPSBjTG9nTHV2TSAqIHZhbHVlLnJnYjtcblx0WHBfWV9YWVpwID0gbWF4KCBYcF9ZX1hZWnAsIHZlYzMoIDFlLTYsIDFlLTYsIDFlLTYgKSApO1xuXHR2ZWM0IHZSZXN1bHQ7XG5cdHZSZXN1bHQueHkgPSBYcF9ZX1hZWnAueHkgLyBYcF9ZX1hZWnAuejtcblx0ZmxvYXQgTGUgPSAyLjAgKiBsb2cyKFhwX1lfWFlacC55KSArIDEyNy4wO1xuXHR2UmVzdWx0LncgPSBmcmFjdCggTGUgKTtcblx0dlJlc3VsdC56ID0gKCBMZSAtICggZmxvb3IoIHZSZXN1bHQudyAqIDI1NS4wICkgKSAvIDI1NS4wICkgLyAyNTUuMDtcblx0cmV0dXJuIHZSZXN1bHQ7XG59XG5jb25zdCBtYXQzIGNMb2dMdXZJbnZlcnNlTSA9IG1hdDMoIDYuMDAxNCwgLTIuNzAwOCwgLTEuNzk5NiwgLTEuMzMyMCwgMy4xMDI5LCAtNS43NzIxLCAwLjMwMDgsIC0xLjA4ODIsIDUuNjI2OCApO1xudmVjNCBMb2dMdXZUb0xpbmVhciggaW4gdmVjNCB2YWx1ZSApIHtcblx0ZmxvYXQgTGUgPSB2YWx1ZS56ICogMjU1LjAgKyB2YWx1ZS53O1xuXHR2ZWMzIFhwX1lfWFlacDtcblx0WHBfWV9YWVpwLnkgPSBleHAyKCAoIExlIC0gMTI3LjAgKSAvIDIuMCApO1xuXHRYcF9ZX1hZWnAueiA9IFhwX1lfWFlacC55IC8gdmFsdWUueTtcblx0WHBfWV9YWVpwLnggPSB2YWx1ZS54ICogWHBfWV9YWVpwLno7XG5cdHZlYzMgdlJHQiA9IGNMb2dMdXZJbnZlcnNlTSAqIFhwX1lfWFlacC5yZ2I7XG5cdHJldHVybiB2ZWM0KCBtYXgoIHZSR0IsIDAuMCApLCAxLjAgKTtcbn0iLGVudm1hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9FTlZNQVBcblx0I2lmZGVmIEVOVl9XT1JMRFBPU1xuXHRcdHZlYzMgY2FtZXJhVG9GcmFnO1xuXHRcdGlmICggaXNPcnRob2dyYXBoaWMgKSB7XG5cdFx0XHRjYW1lcmFUb0ZyYWcgPSBub3JtYWxpemUoIHZlYzMoIC0gdmlld01hdHJpeFsgMCBdWyAyIF0sIC0gdmlld01hdHJpeFsgMSBdWyAyIF0sIC0gdmlld01hdHJpeFsgMiBdWyAyIF0gKSApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjYW1lcmFUb0ZyYWcgPSBub3JtYWxpemUoIHZXb3JsZFBvc2l0aW9uIC0gY2FtZXJhUG9zaXRpb24gKTtcblx0XHR9XG5cdFx0dmVjMyB3b3JsZE5vcm1hbCA9IGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIG5vcm1hbCwgdmlld01hdHJpeCApO1xuXHRcdCNpZmRlZiBFTlZNQVBfTU9ERV9SRUZMRUNUSU9OXG5cdFx0XHR2ZWMzIHJlZmxlY3RWZWMgPSByZWZsZWN0KCBjYW1lcmFUb0ZyYWcsIHdvcmxkTm9ybWFsICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHZlYzMgcmVmbGVjdFZlYyA9IHJlZnJhY3QoIGNhbWVyYVRvRnJhZywgd29ybGROb3JtYWwsIHJlZnJhY3Rpb25SYXRpbyApO1xuXHRcdCNlbmRpZlxuXHQjZWxzZVxuXHRcdHZlYzMgcmVmbGVjdFZlYyA9IHZSZWZsZWN0O1xuXHQjZW5kaWZcblx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHR2ZWM0IGVudkNvbG9yID0gdGV4dHVyZUN1YmUoIGVudk1hcCwgdmVjMyggZmxpcEVudk1hcCAqIHJlZmxlY3RWZWMueCwgcmVmbGVjdFZlYy55eiApICk7XG5cdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX0NVQkVfVVYgKVxuXHRcdHZlYzQgZW52Q29sb3IgPSB0ZXh0dXJlQ3ViZVVWKCBlbnZNYXAsIHJlZmxlY3RWZWMsIDAuMCApO1xuXHQjZWxzZVxuXHRcdHZlYzQgZW52Q29sb3IgPSB2ZWM0KCAwLjAgKTtcblx0I2VuZGlmXG5cdCNpZm5kZWYgRU5WTUFQX1RZUEVfQ1VCRV9VVlxuXHRcdGVudkNvbG9yID0gZW52TWFwVGV4ZWxUb0xpbmVhciggZW52Q29sb3IgKTtcblx0I2VuZGlmXG5cdCNpZmRlZiBFTlZNQVBfQkxFTkRJTkdfTVVMVElQTFlcblx0XHRvdXRnb2luZ0xpZ2h0ID0gbWl4KCBvdXRnb2luZ0xpZ2h0LCBvdXRnb2luZ0xpZ2h0ICogZW52Q29sb3IueHl6LCBzcGVjdWxhclN0cmVuZ3RoICogcmVmbGVjdGl2aXR5ICk7XG5cdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9CTEVORElOR19NSVggKVxuXHRcdG91dGdvaW5nTGlnaHQgPSBtaXgoIG91dGdvaW5nTGlnaHQsIGVudkNvbG9yLnh5eiwgc3BlY3VsYXJTdHJlbmd0aCAqIHJlZmxlY3Rpdml0eSApO1xuXHQjZWxpZiBkZWZpbmVkKCBFTlZNQVBfQkxFTkRJTkdfQUREIClcblx0XHRvdXRnb2luZ0xpZ2h0ICs9IGVudkNvbG9yLnh5eiAqIHNwZWN1bGFyU3RyZW5ndGggKiByZWZsZWN0aXZpdHk7XG5cdCNlbmRpZlxuI2VuZGlmIixlbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRU5WTUFQXG5cdHVuaWZvcm0gZmxvYXQgZW52TWFwSW50ZW5zaXR5O1xuXHR1bmlmb3JtIGZsb2F0IGZsaXBFbnZNYXA7XG5cdHVuaWZvcm0gaW50IG1heE1pcExldmVsO1xuXHQjaWZkZWYgRU5WTUFQX1RZUEVfQ1VCRVxuXHRcdHVuaWZvcm0gc2FtcGxlckN1YmUgZW52TWFwO1xuXHQjZWxzZVxuXHRcdHVuaWZvcm0gc2FtcGxlcjJEIGVudk1hcDtcblx0I2VuZGlmXG5cdFxuI2VuZGlmIixlbnZtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9FTlZNQVBcblx0dW5pZm9ybSBmbG9hdCByZWZsZWN0aXZpdHk7XG5cdCNpZiBkZWZpbmVkKCBVU0VfQlVNUE1BUCApIHx8IGRlZmluZWQoIFVTRV9OT1JNQUxNQVAgKSB8fCBkZWZpbmVkKCBQSE9ORyApXG5cdFx0I2RlZmluZSBFTlZfV09STERQT1Ncblx0I2VuZGlmXG5cdCNpZmRlZiBFTlZfV09STERQT1Ncblx0XHR2YXJ5aW5nIHZlYzMgdldvcmxkUG9zaXRpb247XG5cdFx0dW5pZm9ybSBmbG9hdCByZWZyYWN0aW9uUmF0aW87XG5cdCNlbHNlXG5cdFx0dmFyeWluZyB2ZWMzIHZSZWZsZWN0O1xuXHQjZW5kaWZcbiNlbmRpZiIsZW52bWFwX3BhcnNfdmVydGV4OiIjaWZkZWYgVVNFX0VOVk1BUFxuXHQjaWYgZGVmaW5lZCggVVNFX0JVTVBNQVAgKSB8fCBkZWZpbmVkKCBVU0VfTk9STUFMTUFQICkgfHxkZWZpbmVkKCBQSE9ORyApXG5cdFx0I2RlZmluZSBFTlZfV09STERQT1Ncblx0I2VuZGlmXG5cdCNpZmRlZiBFTlZfV09STERQT1Ncblx0XHRcblx0XHR2YXJ5aW5nIHZlYzMgdldvcmxkUG9zaXRpb247XG5cdCNlbHNlXG5cdFx0dmFyeWluZyB2ZWMzIHZSZWZsZWN0O1xuXHRcdHVuaWZvcm0gZmxvYXQgcmVmcmFjdGlvblJhdGlvO1xuXHQjZW5kaWZcbiNlbmRpZiIsZW52bWFwX3BoeXNpY2FsX3BhcnNfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBVU0VfRU5WTUFQIClcblx0I2lmZGVmIEVOVk1BUF9NT0RFX1JFRlJBQ1RJT05cblx0XHR1bmlmb3JtIGZsb2F0IHJlZnJhY3Rpb25SYXRpbztcblx0I2VuZGlmXG5cdHZlYzMgZ2V0TGlnaHRQcm9iZUluZGlyZWN0SXJyYWRpYW5jZSggY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gaW50IG1heE1JUExldmVsICkge1xuXHRcdHZlYzMgd29ybGROb3JtYWwgPSBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBnZW9tZXRyeS5ub3JtYWwsIHZpZXdNYXRyaXggKTtcblx0XHQjaWZkZWYgRU5WTUFQX1RZUEVfQ1VCRVxuXHRcdFx0dmVjMyBxdWVyeVZlYyA9IHZlYzMoIGZsaXBFbnZNYXAgKiB3b3JsZE5vcm1hbC54LCB3b3JsZE5vcm1hbC55eiApO1xuXHRcdFx0I2lmZGVmIFRFWFRVUkVfTE9EX0VYVFxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yID0gdGV4dHVyZUN1YmVMb2RFWFQoIGVudk1hcCwgcXVlcnlWZWMsIGZsb2F0KCBtYXhNSVBMZXZlbCApICk7XG5cdFx0XHQjZWxzZVxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yID0gdGV4dHVyZUN1YmUoIGVudk1hcCwgcXVlcnlWZWMsIGZsb2F0KCBtYXhNSVBMZXZlbCApICk7XG5cdFx0XHQjZW5kaWZcblx0XHRcdGVudk1hcENvbG9yLnJnYiA9IGVudk1hcFRleGVsVG9MaW5lYXIoIGVudk1hcENvbG9yICkucmdiO1xuXHRcdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX0NVQkVfVVYgKVxuXHRcdFx0dmVjNCBlbnZNYXBDb2xvciA9IHRleHR1cmVDdWJlVVYoIGVudk1hcCwgd29ybGROb3JtYWwsIDEuMCApO1xuXHRcdCNlbHNlXG5cdFx0XHR2ZWM0IGVudk1hcENvbG9yID0gdmVjNCggMC4wICk7XG5cdFx0I2VuZGlmXG5cdFx0cmV0dXJuIFBJICogZW52TWFwQ29sb3IucmdiICogZW52TWFwSW50ZW5zaXR5O1xuXHR9XG5cdGZsb2F0IGdldFNwZWN1bGFyTUlQTGV2ZWwoIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcywgY29uc3QgaW4gaW50IG1heE1JUExldmVsICkge1xuXHRcdGZsb2F0IG1heE1JUExldmVsU2NhbGFyID0gZmxvYXQoIG1heE1JUExldmVsICk7XG5cdFx0ZmxvYXQgc2lnbWEgPSBQSSAqIHJvdWdobmVzcyAqIHJvdWdobmVzcyAvICggMS4wICsgcm91Z2huZXNzICk7XG5cdFx0ZmxvYXQgZGVzaXJlZE1JUExldmVsID0gbWF4TUlQTGV2ZWxTY2FsYXIgKyBsb2cyKCBzaWdtYSApO1xuXHRcdHJldHVybiBjbGFtcCggZGVzaXJlZE1JUExldmVsLCAwLjAsIG1heE1JUExldmVsU2NhbGFyICk7XG5cdH1cblx0dmVjMyBnZXRMaWdodFByb2JlSW5kaXJlY3RSYWRpYW5jZSggY29uc3QgaW4gdmVjMyB2aWV3RGlyLCBjb25zdCBpbiB2ZWMzIG5vcm1hbCwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzLCBjb25zdCBpbiBpbnQgbWF4TUlQTGV2ZWwgKSB7XG5cdFx0I2lmZGVmIEVOVk1BUF9NT0RFX1JFRkxFQ1RJT05cblx0XHRcdHZlYzMgcmVmbGVjdFZlYyA9IHJlZmxlY3QoIC12aWV3RGlyLCBub3JtYWwgKTtcblx0XHRcdHJlZmxlY3RWZWMgPSBub3JtYWxpemUoIG1peCggcmVmbGVjdFZlYywgbm9ybWFsLCByb3VnaG5lc3MgKiByb3VnaG5lc3MpICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHZlYzMgcmVmbGVjdFZlYyA9IHJlZnJhY3QoIC12aWV3RGlyLCBub3JtYWwsIHJlZnJhY3Rpb25SYXRpbyApO1xuXHRcdCNlbmRpZlxuXHRcdHJlZmxlY3RWZWMgPSBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCByZWZsZWN0VmVjLCB2aWV3TWF0cml4ICk7XG5cdFx0ZmxvYXQgc3BlY3VsYXJNSVBMZXZlbCA9IGdldFNwZWN1bGFyTUlQTGV2ZWwoIHJvdWdobmVzcywgbWF4TUlQTGV2ZWwgKTtcblx0XHQjaWZkZWYgRU5WTUFQX1RZUEVfQ1VCRVxuXHRcdFx0dmVjMyBxdWVyeVJlZmxlY3RWZWMgPSB2ZWMzKCBmbGlwRW52TWFwICogcmVmbGVjdFZlYy54LCByZWZsZWN0VmVjLnl6ICk7XG5cdFx0XHQjaWZkZWYgVEVYVFVSRV9MT0RfRVhUXG5cdFx0XHRcdHZlYzQgZW52TWFwQ29sb3IgPSB0ZXh0dXJlQ3ViZUxvZEVYVCggZW52TWFwLCBxdWVyeVJlZmxlY3RWZWMsIHNwZWN1bGFyTUlQTGV2ZWwgKTtcblx0XHRcdCNlbHNlXG5cdFx0XHRcdHZlYzQgZW52TWFwQ29sb3IgPSB0ZXh0dXJlQ3ViZSggZW52TWFwLCBxdWVyeVJlZmxlY3RWZWMsIHNwZWN1bGFyTUlQTGV2ZWwgKTtcblx0XHRcdCNlbmRpZlxuXHRcdFx0ZW52TWFwQ29sb3IucmdiID0gZW52TWFwVGV4ZWxUb0xpbmVhciggZW52TWFwQ29sb3IgKS5yZ2I7XG5cdFx0I2VsaWYgZGVmaW5lZCggRU5WTUFQX1RZUEVfQ1VCRV9VViApXG5cdFx0XHR2ZWM0IGVudk1hcENvbG9yID0gdGV4dHVyZUN1YmVVViggZW52TWFwLCByZWZsZWN0VmVjLCByb3VnaG5lc3MgKTtcblx0XHQjZW5kaWZcblx0XHRyZXR1cm4gZW52TWFwQ29sb3IucmdiICogZW52TWFwSW50ZW5zaXR5O1xuXHR9XG4jZW5kaWYiLGVudm1hcF92ZXJ0ZXg6IiNpZmRlZiBVU0VfRU5WTUFQXG5cdCNpZmRlZiBFTlZfV09STERQT1Ncblx0XHR2V29ybGRQb3NpdGlvbiA9IHdvcmxkUG9zaXRpb24ueHl6O1xuXHQjZWxzZVxuXHRcdHZlYzMgY2FtZXJhVG9WZXJ0ZXg7XG5cdFx0aWYgKCBpc09ydGhvZ3JhcGhpYyApIHtcblx0XHRcdGNhbWVyYVRvVmVydGV4ID0gbm9ybWFsaXplKCB2ZWMzKCAtIHZpZXdNYXRyaXhbIDAgXVsgMiBdLCAtIHZpZXdNYXRyaXhbIDEgXVsgMiBdLCAtIHZpZXdNYXRyaXhbIDIgXVsgMiBdICkgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y2FtZXJhVG9WZXJ0ZXggPSBub3JtYWxpemUoIHdvcmxkUG9zaXRpb24ueHl6IC0gY2FtZXJhUG9zaXRpb24gKTtcblx0XHR9XG5cdFx0dmVjMyB3b3JsZE5vcm1hbCA9IGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIHRyYW5zZm9ybWVkTm9ybWFsLCB2aWV3TWF0cml4ICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9NT0RFX1JFRkxFQ1RJT05cblx0XHRcdHZSZWZsZWN0ID0gcmVmbGVjdCggY2FtZXJhVG9WZXJ0ZXgsIHdvcmxkTm9ybWFsICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHZSZWZsZWN0ID0gcmVmcmFjdCggY2FtZXJhVG9WZXJ0ZXgsIHdvcmxkTm9ybWFsLCByZWZyYWN0aW9uUmF0aW8gKTtcblx0XHQjZW5kaWZcblx0I2VuZGlmXG4jZW5kaWYiLGZvZ192ZXJ0ZXg6IiNpZmRlZiBVU0VfRk9HXG5cdGZvZ0RlcHRoID0gLSBtdlBvc2l0aW9uLno7XG4jZW5kaWYiLGZvZ19wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9GT0dcblx0dmFyeWluZyBmbG9hdCBmb2dEZXB0aDtcbiNlbmRpZiIsZm9nX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0ZPR1xuXHQjaWZkZWYgRk9HX0VYUDJcblx0XHRmbG9hdCBmb2dGYWN0b3IgPSAxLjAgLSBleHAoIC0gZm9nRGVuc2l0eSAqIGZvZ0RlbnNpdHkgKiBmb2dEZXB0aCAqIGZvZ0RlcHRoICk7XG5cdCNlbHNlXG5cdFx0ZmxvYXQgZm9nRmFjdG9yID0gc21vb3Roc3RlcCggZm9nTmVhciwgZm9nRmFyLCBmb2dEZXB0aCApO1xuXHQjZW5kaWZcblx0Z2xfRnJhZ0NvbG9yLnJnYiA9IG1peCggZ2xfRnJhZ0NvbG9yLnJnYiwgZm9nQ29sb3IsIGZvZ0ZhY3RvciApO1xuI2VuZGlmIixmb2dfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9GT0dcblx0dW5pZm9ybSB2ZWMzIGZvZ0NvbG9yO1xuXHR2YXJ5aW5nIGZsb2F0IGZvZ0RlcHRoO1xuXHQjaWZkZWYgRk9HX0VYUDJcblx0XHR1bmlmb3JtIGZsb2F0IGZvZ0RlbnNpdHk7XG5cdCNlbHNlXG5cdFx0dW5pZm9ybSBmbG9hdCBmb2dOZWFyO1xuXHRcdHVuaWZvcm0gZmxvYXQgZm9nRmFyO1xuXHQjZW5kaWZcbiNlbmRpZiIsZ3JhZGllbnRtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9HUkFESUVOVE1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBncmFkaWVudE1hcDtcbiNlbmRpZlxudmVjMyBnZXRHcmFkaWVudElycmFkaWFuY2UoIHZlYzMgbm9ybWFsLCB2ZWMzIGxpZ2h0RGlyZWN0aW9uICkge1xuXHRmbG9hdCBkb3ROTCA9IGRvdCggbm9ybWFsLCBsaWdodERpcmVjdGlvbiApO1xuXHR2ZWMyIGNvb3JkID0gdmVjMiggZG90TkwgKiAwLjUgKyAwLjUsIDAuMCApO1xuXHQjaWZkZWYgVVNFX0dSQURJRU5UTUFQXG5cdFx0cmV0dXJuIHRleHR1cmUyRCggZ3JhZGllbnRNYXAsIGNvb3JkICkucmdiO1xuXHQjZWxzZVxuXHRcdHJldHVybiAoIGNvb3JkLnggPCAwLjcgKSA/IHZlYzMoIDAuNyApIDogdmVjMyggMS4wICk7XG5cdCNlbmRpZlxufSIsbGlnaHRtYXBfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfTElHSFRNQVBcblx0dmVjNCBsaWdodE1hcFRleGVsPSB0ZXh0dXJlMkQoIGxpZ2h0TWFwLCB2VXYyICk7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSBQSSAqIGxpZ2h0TWFwVGV4ZWxUb0xpbmVhciggbGlnaHRNYXBUZXhlbCApLnJnYiAqIGxpZ2h0TWFwSW50ZW5zaXR5O1xuI2VuZGlmIixsaWdodG1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0xJR0hUTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGxpZ2h0TWFwO1xuXHR1bmlmb3JtIGZsb2F0IGxpZ2h0TWFwSW50ZW5zaXR5O1xuI2VuZGlmIixsaWdodHNfbGFtYmVydF92ZXJ0ZXg6InZlYzMgZGlmZnVzZSA9IHZlYzMoIDEuMCApO1xuR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeTtcbmdlb21ldHJ5LnBvc2l0aW9uID0gbXZQb3NpdGlvbi54eXo7XG5nZW9tZXRyeS5ub3JtYWwgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkTm9ybWFsICk7XG5nZW9tZXRyeS52aWV3RGlyID0gKCBpc09ydGhvZ3JhcGhpYyApID8gdmVjMyggMCwgMCwgMSApIDogbm9ybWFsaXplKCAtbXZQb3NpdGlvbi54eXogKTtcbkdlb21ldHJpY0NvbnRleHQgYmFja0dlb21ldHJ5O1xuYmFja0dlb21ldHJ5LnBvc2l0aW9uID0gZ2VvbWV0cnkucG9zaXRpb247XG5iYWNrR2VvbWV0cnkubm9ybWFsID0gLWdlb21ldHJ5Lm5vcm1hbDtcbmJhY2tHZW9tZXRyeS52aWV3RGlyID0gZ2VvbWV0cnkudmlld0RpcjtcbnZMaWdodEZyb250ID0gdmVjMyggMC4wICk7XG52SW5kaXJlY3RGcm9udCA9IHZlYzMoIDAuMCApO1xuI2lmZGVmIERPVUJMRV9TSURFRFxuXHR2TGlnaHRCYWNrID0gdmVjMyggMC4wICk7XG5cdHZJbmRpcmVjdEJhY2sgPSB2ZWMzKCAwLjAgKTtcbiNlbmRpZlxuSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodDtcbmZsb2F0IGRvdE5MO1xudmVjMyBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG52SW5kaXJlY3RGcm9udCArPSBnZXRBbWJpZW50TGlnaHRJcnJhZGlhbmNlKCBhbWJpZW50TGlnaHRDb2xvciApO1xudkluZGlyZWN0RnJvbnQgKz0gZ2V0TGlnaHRQcm9iZUlycmFkaWFuY2UoIGxpZ2h0UHJvYmUsIGdlb21ldHJ5ICk7XG4jaWZkZWYgRE9VQkxFX1NJREVEXG5cdHZJbmRpcmVjdEJhY2sgKz0gZ2V0QW1iaWVudExpZ2h0SXJyYWRpYW5jZSggYW1iaWVudExpZ2h0Q29sb3IgKTtcblx0dkluZGlyZWN0QmFjayArPSBnZXRMaWdodFByb2JlSXJyYWRpYW5jZSggbGlnaHRQcm9iZSwgYmFja0dlb21ldHJ5ICk7XG4jZW5kaWZcbiNpZiBOVU1fUE9JTlRfTElHSFRTID4gMFxuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9QT0lOVF9MSUdIVFM7IGkgKysgKSB7XG5cdFx0Z2V0UG9pbnREaXJlY3RMaWdodElycmFkaWFuY2UoIHBvaW50TGlnaHRzWyBpIF0sIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdGRvdE5MID0gZG90KCBnZW9tZXRyeS5ub3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApO1xuXHRcdGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZSA9IFBJICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdFx0dkxpZ2h0RnJvbnQgKz0gc2F0dXJhdGUoIGRvdE5MICkgKiBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG5cdFx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdFx0dkxpZ2h0QmFjayArPSBzYXR1cmF0ZSggLWRvdE5MICkgKiBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG5cdFx0I2VuZGlmXG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcbiNlbmRpZlxuI2lmIE5VTV9TUE9UX0xJR0hUUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fU1BPVF9MSUdIVFM7IGkgKysgKSB7XG5cdFx0Z2V0U3BvdERpcmVjdExpZ2h0SXJyYWRpYW5jZSggc3BvdExpZ2h0c1sgaSBdLCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcblx0XHRkb3ROTCA9IGRvdCggZ2VvbWV0cnkubm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKTtcblx0XHRkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2UgPSBQSSAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHRcdHZMaWdodEZyb250ICs9IHNhdHVyYXRlKCBkb3ROTCApICogZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHZMaWdodEJhY2sgKz0gc2F0dXJhdGUoIC1kb3ROTCApICogZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xuXHRcdCNlbmRpZlxuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG4jZW5kaWZcbiNpZiBOVU1fRElSX0xJR0hUUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fRElSX0xJR0hUUzsgaSArKyApIHtcblx0XHRnZXREaXJlY3Rpb25hbERpcmVjdExpZ2h0SXJyYWRpYW5jZSggZGlyZWN0aW9uYWxMaWdodHNbIGkgXSwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XG5cdFx0ZG90TkwgPSBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICk7XG5cdFx0ZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlID0gUEkgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0XHR2TGlnaHRGcm9udCArPSBzYXR1cmF0ZSggZG90TkwgKSAqIGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZTtcblx0XHQjaWZkZWYgRE9VQkxFX1NJREVEXG5cdFx0XHR2TGlnaHRCYWNrICs9IHNhdHVyYXRlKCAtZG90TkwgKSAqIGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZTtcblx0XHQjZW5kaWZcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuI2VuZGlmXG4jaWYgTlVNX0hFTUlfTElHSFRTID4gMFxuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9IRU1JX0xJR0hUUzsgaSArKyApIHtcblx0XHR2SW5kaXJlY3RGcm9udCArPSBnZXRIZW1pc3BoZXJlTGlnaHRJcnJhZGlhbmNlKCBoZW1pc3BoZXJlTGlnaHRzWyBpIF0sIGdlb21ldHJ5ICk7XG5cdFx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdFx0dkluZGlyZWN0QmFjayArPSBnZXRIZW1pc3BoZXJlTGlnaHRJcnJhZGlhbmNlKCBoZW1pc3BoZXJlTGlnaHRzWyBpIF0sIGJhY2tHZW9tZXRyeSApO1xuXHRcdCNlbmRpZlxuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG4jZW5kaWYiLGxpZ2h0c19wYXJzX2JlZ2luOiJ1bmlmb3JtIGJvb2wgcmVjZWl2ZVNoYWRvdztcbnVuaWZvcm0gdmVjMyBhbWJpZW50TGlnaHRDb2xvcjtcbnVuaWZvcm0gdmVjMyBsaWdodFByb2JlWyA5IF07XG52ZWMzIHNoR2V0SXJyYWRpYW5jZUF0KCBpbiB2ZWMzIG5vcm1hbCwgaW4gdmVjMyBzaENvZWZmaWNpZW50c1sgOSBdICkge1xuXHRmbG9hdCB4ID0gbm9ybWFsLngsIHkgPSBub3JtYWwueSwgeiA9IG5vcm1hbC56O1xuXHR2ZWMzIHJlc3VsdCA9IHNoQ29lZmZpY2llbnRzWyAwIF0gKiAwLjg4NjIyNztcblx0cmVzdWx0ICs9IHNoQ29lZmZpY2llbnRzWyAxIF0gKiAyLjAgKiAwLjUxMTY2NCAqIHk7XG5cdHJlc3VsdCArPSBzaENvZWZmaWNpZW50c1sgMiBdICogMi4wICogMC41MTE2NjQgKiB6O1xuXHRyZXN1bHQgKz0gc2hDb2VmZmljaWVudHNbIDMgXSAqIDIuMCAqIDAuNTExNjY0ICogeDtcblx0cmVzdWx0ICs9IHNoQ29lZmZpY2llbnRzWyA0IF0gKiAyLjAgKiAwLjQyOTA0MyAqIHggKiB5O1xuXHRyZXN1bHQgKz0gc2hDb2VmZmljaWVudHNbIDUgXSAqIDIuMCAqIDAuNDI5MDQzICogeSAqIHo7XG5cdHJlc3VsdCArPSBzaENvZWZmaWNpZW50c1sgNiBdICogKCAwLjc0MzEyNSAqIHogKiB6IC0gMC4yNDc3MDggKTtcblx0cmVzdWx0ICs9IHNoQ29lZmZpY2llbnRzWyA3IF0gKiAyLjAgKiAwLjQyOTA0MyAqIHggKiB6O1xuXHRyZXN1bHQgKz0gc2hDb2VmZmljaWVudHNbIDggXSAqIDAuNDI5MDQzICogKCB4ICogeCAtIHkgKiB5ICk7XG5cdHJldHVybiByZXN1bHQ7XG59XG52ZWMzIGdldExpZ2h0UHJvYmVJcnJhZGlhbmNlKCBjb25zdCBpbiB2ZWMzIGxpZ2h0UHJvYmVbIDkgXSwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSApIHtcblx0dmVjMyB3b3JsZE5vcm1hbCA9IGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIGdlb21ldHJ5Lm5vcm1hbCwgdmlld01hdHJpeCApO1xuXHR2ZWMzIGlycmFkaWFuY2UgPSBzaEdldElycmFkaWFuY2VBdCggd29ybGROb3JtYWwsIGxpZ2h0UHJvYmUgKTtcblx0cmV0dXJuIGlycmFkaWFuY2U7XG59XG52ZWMzIGdldEFtYmllbnRMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIHZlYzMgYW1iaWVudExpZ2h0Q29sb3IgKSB7XG5cdHZlYzMgaXJyYWRpYW5jZSA9IGFtYmllbnRMaWdodENvbG9yO1xuXHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRpcnJhZGlhbmNlICo9IFBJO1xuXHQjZW5kaWZcblx0cmV0dXJuIGlycmFkaWFuY2U7XG59XG4jaWYgTlVNX0RJUl9MSUdIVFMgPiAwXG5cdHN0cnVjdCBEaXJlY3Rpb25hbExpZ2h0IHtcblx0XHR2ZWMzIGRpcmVjdGlvbjtcblx0XHR2ZWMzIGNvbG9yO1xuXHR9O1xuXHR1bmlmb3JtIERpcmVjdGlvbmFsTGlnaHQgZGlyZWN0aW9uYWxMaWdodHNbIE5VTV9ESVJfTElHSFRTIF07XG5cdHZvaWQgZ2V0RGlyZWN0aW9uYWxEaXJlY3RMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIERpcmVjdGlvbmFsTGlnaHQgZGlyZWN0aW9uYWxMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgb3V0IEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQgKSB7XG5cdFx0ZGlyZWN0TGlnaHQuY29sb3IgPSBkaXJlY3Rpb25hbExpZ2h0LmNvbG9yO1xuXHRcdGRpcmVjdExpZ2h0LmRpcmVjdGlvbiA9IGRpcmVjdGlvbmFsTGlnaHQuZGlyZWN0aW9uO1xuXHRcdGRpcmVjdExpZ2h0LnZpc2libGUgPSB0cnVlO1xuXHR9XG4jZW5kaWZcbiNpZiBOVU1fUE9JTlRfTElHSFRTID4gMFxuXHRzdHJ1Y3QgUG9pbnRMaWdodCB7XG5cdFx0dmVjMyBwb3NpdGlvbjtcblx0XHR2ZWMzIGNvbG9yO1xuXHRcdGZsb2F0IGRpc3RhbmNlO1xuXHRcdGZsb2F0IGRlY2F5O1xuXHR9O1xuXHR1bmlmb3JtIFBvaW50TGlnaHQgcG9pbnRMaWdodHNbIE5VTV9QT0lOVF9MSUdIVFMgXTtcblx0dm9pZCBnZXRQb2ludERpcmVjdExpZ2h0SXJyYWRpYW5jZSggY29uc3QgaW4gUG9pbnRMaWdodCBwb2ludExpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBvdXQgSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodCApIHtcblx0XHR2ZWMzIGxWZWN0b3IgPSBwb2ludExpZ2h0LnBvc2l0aW9uIC0gZ2VvbWV0cnkucG9zaXRpb247XG5cdFx0ZGlyZWN0TGlnaHQuZGlyZWN0aW9uID0gbm9ybWFsaXplKCBsVmVjdG9yICk7XG5cdFx0ZmxvYXQgbGlnaHREaXN0YW5jZSA9IGxlbmd0aCggbFZlY3RvciApO1xuXHRcdGRpcmVjdExpZ2h0LmNvbG9yID0gcG9pbnRMaWdodC5jb2xvcjtcblx0XHRkaXJlY3RMaWdodC5jb2xvciAqPSBwdW5jdHVhbExpZ2h0SW50ZW5zaXR5VG9JcnJhZGlhbmNlRmFjdG9yKCBsaWdodERpc3RhbmNlLCBwb2ludExpZ2h0LmRpc3RhbmNlLCBwb2ludExpZ2h0LmRlY2F5ICk7XG5cdFx0ZGlyZWN0TGlnaHQudmlzaWJsZSA9ICggZGlyZWN0TGlnaHQuY29sb3IgIT0gdmVjMyggMC4wICkgKTtcblx0fVxuI2VuZGlmXG4jaWYgTlVNX1NQT1RfTElHSFRTID4gMFxuXHRzdHJ1Y3QgU3BvdExpZ2h0IHtcblx0XHR2ZWMzIHBvc2l0aW9uO1xuXHRcdHZlYzMgZGlyZWN0aW9uO1xuXHRcdHZlYzMgY29sb3I7XG5cdFx0ZmxvYXQgZGlzdGFuY2U7XG5cdFx0ZmxvYXQgZGVjYXk7XG5cdFx0ZmxvYXQgY29uZUNvcztcblx0XHRmbG9hdCBwZW51bWJyYUNvcztcblx0fTtcblx0dW5pZm9ybSBTcG90TGlnaHQgc3BvdExpZ2h0c1sgTlVNX1NQT1RfTElHSFRTIF07XG5cdHZvaWQgZ2V0U3BvdERpcmVjdExpZ2h0SXJyYWRpYW5jZSggY29uc3QgaW4gU3BvdExpZ2h0IHNwb3RMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgb3V0IEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQgKSB7XG5cdFx0dmVjMyBsVmVjdG9yID0gc3BvdExpZ2h0LnBvc2l0aW9uIC0gZ2VvbWV0cnkucG9zaXRpb247XG5cdFx0ZGlyZWN0TGlnaHQuZGlyZWN0aW9uID0gbm9ybWFsaXplKCBsVmVjdG9yICk7XG5cdFx0ZmxvYXQgbGlnaHREaXN0YW5jZSA9IGxlbmd0aCggbFZlY3RvciApO1xuXHRcdGZsb2F0IGFuZ2xlQ29zID0gZG90KCBkaXJlY3RMaWdodC5kaXJlY3Rpb24sIHNwb3RMaWdodC5kaXJlY3Rpb24gKTtcblx0XHRpZiAoIGFuZ2xlQ29zID4gc3BvdExpZ2h0LmNvbmVDb3MgKSB7XG5cdFx0XHRmbG9hdCBzcG90RWZmZWN0ID0gc21vb3Roc3RlcCggc3BvdExpZ2h0LmNvbmVDb3MsIHNwb3RMaWdodC5wZW51bWJyYUNvcywgYW5nbGVDb3MgKTtcblx0XHRcdGRpcmVjdExpZ2h0LmNvbG9yID0gc3BvdExpZ2h0LmNvbG9yO1xuXHRcdFx0ZGlyZWN0TGlnaHQuY29sb3IgKj0gc3BvdEVmZmVjdCAqIHB1bmN0dWFsTGlnaHRJbnRlbnNpdHlUb0lycmFkaWFuY2VGYWN0b3IoIGxpZ2h0RGlzdGFuY2UsIHNwb3RMaWdodC5kaXN0YW5jZSwgc3BvdExpZ2h0LmRlY2F5ICk7XG5cdFx0XHRkaXJlY3RMaWdodC52aXNpYmxlID0gdHJ1ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZGlyZWN0TGlnaHQuY29sb3IgPSB2ZWMzKCAwLjAgKTtcblx0XHRcdGRpcmVjdExpZ2h0LnZpc2libGUgPSBmYWxzZTtcblx0XHR9XG5cdH1cbiNlbmRpZlxuI2lmIE5VTV9SRUNUX0FSRUFfTElHSFRTID4gMFxuXHRzdHJ1Y3QgUmVjdEFyZWFMaWdodCB7XG5cdFx0dmVjMyBjb2xvcjtcblx0XHR2ZWMzIHBvc2l0aW9uO1xuXHRcdHZlYzMgaGFsZldpZHRoO1xuXHRcdHZlYzMgaGFsZkhlaWdodDtcblx0fTtcblx0dW5pZm9ybSBzYW1wbGVyMkQgbHRjXzE7XHR1bmlmb3JtIHNhbXBsZXIyRCBsdGNfMjtcblx0dW5pZm9ybSBSZWN0QXJlYUxpZ2h0IHJlY3RBcmVhTGlnaHRzWyBOVU1fUkVDVF9BUkVBX0xJR0hUUyBdO1xuI2VuZGlmXG4jaWYgTlVNX0hFTUlfTElHSFRTID4gMFxuXHRzdHJ1Y3QgSGVtaXNwaGVyZUxpZ2h0IHtcblx0XHR2ZWMzIGRpcmVjdGlvbjtcblx0XHR2ZWMzIHNreUNvbG9yO1xuXHRcdHZlYzMgZ3JvdW5kQ29sb3I7XG5cdH07XG5cdHVuaWZvcm0gSGVtaXNwaGVyZUxpZ2h0IGhlbWlzcGhlcmVMaWdodHNbIE5VTV9IRU1JX0xJR0hUUyBdO1xuXHR2ZWMzIGdldEhlbWlzcGhlcmVMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIEhlbWlzcGhlcmVMaWdodCBoZW1pTGlnaHQsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnkgKSB7XG5cdFx0ZmxvYXQgZG90TkwgPSBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgaGVtaUxpZ2h0LmRpcmVjdGlvbiApO1xuXHRcdGZsb2F0IGhlbWlEaWZmdXNlV2VpZ2h0ID0gMC41ICogZG90TkwgKyAwLjU7XG5cdFx0dmVjMyBpcnJhZGlhbmNlID0gbWl4KCBoZW1pTGlnaHQuZ3JvdW5kQ29sb3IsIGhlbWlMaWdodC5za3lDb2xvciwgaGVtaURpZmZ1c2VXZWlnaHQgKTtcblx0XHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRcdGlycmFkaWFuY2UgKj0gUEk7XG5cdFx0I2VuZGlmXG5cdFx0cmV0dXJuIGlycmFkaWFuY2U7XG5cdH1cbiNlbmRpZiIsbGlnaHRzX3Rvb25fZnJhZ21lbnQ6IlRvb25NYXRlcmlhbCBtYXRlcmlhbDtcbm1hdGVyaWFsLmRpZmZ1c2VDb2xvciA9IGRpZmZ1c2VDb2xvci5yZ2I7IixsaWdodHNfdG9vbl9wYXJzX2ZyYWdtZW50OiJ2YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG4jZW5kaWZcbnN0cnVjdCBUb29uTWF0ZXJpYWwge1xuXHR2ZWMzIGRpZmZ1c2VDb2xvcjtcbn07XG52b2lkIFJFX0RpcmVjdF9Ub29uKCBjb25zdCBpbiBJbmNpZGVudExpZ2h0IGRpcmVjdExpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiBUb29uTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHR2ZWMzIGlycmFkaWFuY2UgPSBnZXRHcmFkaWVudElycmFkaWFuY2UoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICkgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0aXJyYWRpYW5jZSAqPSBQSTtcblx0I2VuZGlmXG5cdHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKz0gaXJyYWRpYW5jZSAqIEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKTtcbn1cbnZvaWQgUkVfSW5kaXJlY3REaWZmdXNlX1Rvb24oIGNvbnN0IGluIHZlYzMgaXJyYWRpYW5jZSwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gVG9vbk1hdGVyaWFsIG1hdGVyaWFsLCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCApIHtcblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICs9IGlycmFkaWFuY2UgKiBCUkRGX0RpZmZ1c2VfTGFtYmVydCggbWF0ZXJpYWwuZGlmZnVzZUNvbG9yICk7XG59XG4jZGVmaW5lIFJFX0RpcmVjdFx0XHRcdFx0UkVfRGlyZWN0X1Rvb25cbiNkZWZpbmUgUkVfSW5kaXJlY3REaWZmdXNlXHRcdFJFX0luZGlyZWN0RGlmZnVzZV9Ub29uXG4jZGVmaW5lIE1hdGVyaWFsX0xpZ2h0UHJvYmVMT0QoIG1hdGVyaWFsIClcdCgwKSIsbGlnaHRzX3Bob25nX2ZyYWdtZW50OiJCbGlublBob25nTWF0ZXJpYWwgbWF0ZXJpYWw7XG5tYXRlcmlhbC5kaWZmdXNlQ29sb3IgPSBkaWZmdXNlQ29sb3IucmdiO1xubWF0ZXJpYWwuc3BlY3VsYXJDb2xvciA9IHNwZWN1bGFyO1xubWF0ZXJpYWwuc3BlY3VsYXJTaGluaW5lc3MgPSBzaGluaW5lc3M7XG5tYXRlcmlhbC5zcGVjdWxhclN0cmVuZ3RoID0gc3BlY3VsYXJTdHJlbmd0aDsiLGxpZ2h0c19waG9uZ19wYXJzX2ZyYWdtZW50OiJ2YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG4jZW5kaWZcbnN0cnVjdCBCbGlublBob25nTWF0ZXJpYWwge1xuXHR2ZWMzIGRpZmZ1c2VDb2xvcjtcblx0dmVjMyBzcGVjdWxhckNvbG9yO1xuXHRmbG9hdCBzcGVjdWxhclNoaW5pbmVzcztcblx0ZmxvYXQgc3BlY3VsYXJTdHJlbmd0aDtcbn07XG52b2lkIFJFX0RpcmVjdF9CbGlublBob25nKCBjb25zdCBpbiBJbmNpZGVudExpZ2h0IGRpcmVjdExpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiBCbGlublBob25nTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHRmbG9hdCBkb3ROTCA9IHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICkgKTtcblx0dmVjMyBpcnJhZGlhbmNlID0gZG90TkwgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0aXJyYWRpYW5jZSAqPSBQSTtcblx0I2VuZGlmXG5cdHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKz0gaXJyYWRpYW5jZSAqIEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKTtcblx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKz0gaXJyYWRpYW5jZSAqIEJSREZfU3BlY3VsYXJfQmxpbm5QaG9uZyggZGlyZWN0TGlnaHQsIGdlb21ldHJ5LCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yLCBtYXRlcmlhbC5zcGVjdWxhclNoaW5pbmVzcyApICogbWF0ZXJpYWwuc3BlY3VsYXJTdHJlbmd0aDtcbn1cbnZvaWQgUkVfSW5kaXJlY3REaWZmdXNlX0JsaW5uUGhvbmcoIGNvbnN0IGluIHZlYzMgaXJyYWRpYW5jZSwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gQmxpbm5QaG9uZ01hdGVyaWFsIG1hdGVyaWFsLCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCApIHtcblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICs9IGlycmFkaWFuY2UgKiBCUkRGX0RpZmZ1c2VfTGFtYmVydCggbWF0ZXJpYWwuZGlmZnVzZUNvbG9yICk7XG59XG4jZGVmaW5lIFJFX0RpcmVjdFx0XHRcdFx0UkVfRGlyZWN0X0JsaW5uUGhvbmdcbiNkZWZpbmUgUkVfSW5kaXJlY3REaWZmdXNlXHRcdFJFX0luZGlyZWN0RGlmZnVzZV9CbGlublBob25nXG4jZGVmaW5lIE1hdGVyaWFsX0xpZ2h0UHJvYmVMT0QoIG1hdGVyaWFsIClcdCgwKSIsbGlnaHRzX3BoeXNpY2FsX2ZyYWdtZW50OiJQaHlzaWNhbE1hdGVyaWFsIG1hdGVyaWFsO1xubWF0ZXJpYWwuZGlmZnVzZUNvbG9yID0gZGlmZnVzZUNvbG9yLnJnYiAqICggMS4wIC0gbWV0YWxuZXNzRmFjdG9yICk7XG52ZWMzIGR4eSA9IG1heCggYWJzKCBkRmR4KCBnZW9tZXRyeU5vcm1hbCApICksIGFicyggZEZkeSggZ2VvbWV0cnlOb3JtYWwgKSApICk7XG5mbG9hdCBnZW9tZXRyeVJvdWdobmVzcyA9IG1heCggbWF4KCBkeHkueCwgZHh5LnkgKSwgZHh5LnogKTtcbm1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzID0gbWF4KCByb3VnaG5lc3NGYWN0b3IsIDAuMDUyNSApO21hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzICs9IGdlb21ldHJ5Um91Z2huZXNzO1xubWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MgPSBtaW4oIG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzLCAxLjAgKTtcbiNpZmRlZiBSRUZMRUNUSVZJVFlcblx0I2lmZGVmIFNQRUNVTEFSXG5cdFx0dmVjMyBzcGVjdWxhckludGVuc2l0eUZhY3RvciA9IHZlYzMoIHNwZWN1bGFySW50ZW5zaXR5ICk7XG5cdFx0dmVjMyBzcGVjdWxhclRpbnRGYWN0b3IgPSBzcGVjdWxhclRpbnQ7XG5cdFx0I2lmZGVmIFVTRV9TUEVDVUxBUklOVEVOU0lUWU1BUFxuXHRcdFx0c3BlY3VsYXJJbnRlbnNpdHlGYWN0b3IgKj0gdGV4dHVyZTJEKCBzcGVjdWxhckludGVuc2l0eU1hcCwgdlV2ICkuYTtcblx0XHQjZW5kaWZcblx0XHQjaWZkZWYgVVNFX1NQRUNVTEFSVElOVE1BUFxuXHRcdFx0c3BlY3VsYXJUaW50RmFjdG9yICo9IHNwZWN1bGFyVGludE1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCggc3BlY3VsYXJUaW50TWFwLCB2VXYgKSApLnJnYjtcblx0XHQjZW5kaWZcblx0XHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yRjkwID0gbWl4KCBzcGVjdWxhckludGVuc2l0eUZhY3RvciwgdmVjMyggMS4wICksIG1ldGFsbmVzc0ZhY3RvciApO1xuXHQjZWxzZVxuXHRcdHZlYzMgc3BlY3VsYXJJbnRlbnNpdHlGYWN0b3IgPSB2ZWMzKCAxLjAgKTtcblx0XHR2ZWMzIHNwZWN1bGFyVGludEZhY3RvciA9IHZlYzMoIDEuMCApO1xuXHRcdG1hdGVyaWFsLnNwZWN1bGFyQ29sb3JGOTAgPSB2ZWMzKCAxLjAgKTtcblx0I2VuZGlmXG5cdG1hdGVyaWFsLnNwZWN1bGFyQ29sb3IgPSBtaXgoIG1pbiggdmVjMyggTUFYSU1VTV9TUEVDVUxBUl9DT0VGRklDSUVOVCAqIHBvdzIoIHJlZmxlY3Rpdml0eSApICkgKiBzcGVjdWxhclRpbnRGYWN0b3IsIHZlYzMoIDEuMCApICkgKiBzcGVjdWxhckludGVuc2l0eUZhY3RvciwgZGlmZnVzZUNvbG9yLnJnYiwgbWV0YWxuZXNzRmFjdG9yICk7XG4jZWxzZVxuXHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yID0gbWl4KCB2ZWMzKCBERUZBVUxUX1NQRUNVTEFSX0NPRUZGSUNJRU5UICksIGRpZmZ1c2VDb2xvci5yZ2IsIG1ldGFsbmVzc0ZhY3RvciApO1xuXHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yRjkwID0gdmVjMyggMS4wICk7XG4jZW5kaWZcbiNpZmRlZiBDTEVBUkNPQVRcblx0bWF0ZXJpYWwuY2xlYXJjb2F0ID0gY2xlYXJjb2F0O1xuXHRtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MgPSBjbGVhcmNvYXRSb3VnaG5lc3M7XG5cdCNpZmRlZiBVU0VfQ0xFQVJDT0FUTUFQXG5cdFx0bWF0ZXJpYWwuY2xlYXJjb2F0ICo9IHRleHR1cmUyRCggY2xlYXJjb2F0TWFwLCB2VXYgKS54O1xuXHQjZW5kaWZcblx0I2lmZGVmIFVTRV9DTEVBUkNPQVRfUk9VR0hORVNTTUFQXG5cdFx0bWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzICo9IHRleHR1cmUyRCggY2xlYXJjb2F0Um91Z2huZXNzTWFwLCB2VXYgKS55O1xuXHQjZW5kaWZcblx0bWF0ZXJpYWwuY2xlYXJjb2F0ID0gc2F0dXJhdGUoIG1hdGVyaWFsLmNsZWFyY29hdCApO1x0bWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzID0gbWF4KCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MsIDAuMDUyNSApO1xuXHRtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MgKz0gZ2VvbWV0cnlSb3VnaG5lc3M7XG5cdG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcyA9IG1pbiggbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzLCAxLjAgKTtcbiNlbmRpZlxuI2lmZGVmIFVTRV9TSEVFTlxuXHRtYXRlcmlhbC5zaGVlbkNvbG9yID0gc2hlZW47XG4jZW5kaWYiLGxpZ2h0c19waHlzaWNhbF9wYXJzX2ZyYWdtZW50OiJzdHJ1Y3QgUGh5c2ljYWxNYXRlcmlhbCB7XG5cdHZlYzMgZGlmZnVzZUNvbG9yO1xuXHRmbG9hdCBzcGVjdWxhclJvdWdobmVzcztcblx0dmVjMyBzcGVjdWxhckNvbG9yO1xuXHR2ZWMzIHNwZWN1bGFyQ29sb3JGOTA7XG4jaWZkZWYgQ0xFQVJDT0FUXG5cdGZsb2F0IGNsZWFyY29hdDtcblx0ZmxvYXQgY2xlYXJjb2F0Um91Z2huZXNzO1xuI2VuZGlmXG4jaWZkZWYgVVNFX1NIRUVOXG5cdHZlYzMgc2hlZW5Db2xvcjtcbiNlbmRpZlxufTtcbiNkZWZpbmUgTUFYSU1VTV9TUEVDVUxBUl9DT0VGRklDSUVOVCAwLjE2XG4jZGVmaW5lIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgMC4wNFxuZmxvYXQgY2xlYXJjb2F0REhSQXBwcm94KCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MsIGNvbnN0IGluIGZsb2F0IGRvdE5MICkge1xuXHRyZXR1cm4gREVGQVVMVF9TUEVDVUxBUl9DT0VGRklDSUVOVCArICggMS4wIC0gREVGQVVMVF9TUEVDVUxBUl9DT0VGRklDSUVOVCApICogKCBwb3coIDEuMCAtIGRvdE5MLCA1LjAgKSAqIHBvdyggMS4wIC0gcm91Z2huZXNzLCAyLjAgKSApO1xufVxuI2lmIE5VTV9SRUNUX0FSRUFfTElHSFRTID4gMFxuXHR2b2lkIFJFX0RpcmVjdF9SZWN0QXJlYV9QaHlzaWNhbCggY29uc3QgaW4gUmVjdEFyZWFMaWdodCByZWN0QXJlYUxpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiBQaHlzaWNhbE1hdGVyaWFsIG1hdGVyaWFsLCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCApIHtcblx0XHR2ZWMzIG5vcm1hbCA9IGdlb21ldHJ5Lm5vcm1hbDtcblx0XHR2ZWMzIHZpZXdEaXIgPSBnZW9tZXRyeS52aWV3RGlyO1xuXHRcdHZlYzMgcG9zaXRpb24gPSBnZW9tZXRyeS5wb3NpdGlvbjtcblx0XHR2ZWMzIGxpZ2h0UG9zID0gcmVjdEFyZWFMaWdodC5wb3NpdGlvbjtcblx0XHR2ZWMzIGhhbGZXaWR0aCA9IHJlY3RBcmVhTGlnaHQuaGFsZldpZHRoO1xuXHRcdHZlYzMgaGFsZkhlaWdodCA9IHJlY3RBcmVhTGlnaHQuaGFsZkhlaWdodDtcblx0XHR2ZWMzIGxpZ2h0Q29sb3IgPSByZWN0QXJlYUxpZ2h0LmNvbG9yO1xuXHRcdGZsb2F0IHJvdWdobmVzcyA9IG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzO1xuXHRcdHZlYzMgcmVjdENvb3Jkc1sgNCBdO1xuXHRcdHJlY3RDb29yZHNbIDAgXSA9IGxpZ2h0UG9zICsgaGFsZldpZHRoIC0gaGFsZkhlaWdodDtcdFx0cmVjdENvb3Jkc1sgMSBdID0gbGlnaHRQb3MgLSBoYWxmV2lkdGggLSBoYWxmSGVpZ2h0O1xuXHRcdHJlY3RDb29yZHNbIDIgXSA9IGxpZ2h0UG9zIC0gaGFsZldpZHRoICsgaGFsZkhlaWdodDtcblx0XHRyZWN0Q29vcmRzWyAzIF0gPSBsaWdodFBvcyArIGhhbGZXaWR0aCArIGhhbGZIZWlnaHQ7XG5cdFx0dmVjMiB1diA9IExUQ19Vdiggbm9ybWFsLCB2aWV3RGlyLCByb3VnaG5lc3MgKTtcblx0XHR2ZWM0IHQxID0gdGV4dHVyZTJEKCBsdGNfMSwgdXYgKTtcblx0XHR2ZWM0IHQyID0gdGV4dHVyZTJEKCBsdGNfMiwgdXYgKTtcblx0XHRtYXQzIG1JbnYgPSBtYXQzKFxuXHRcdFx0dmVjMyggdDEueCwgMCwgdDEueSApLFxuXHRcdFx0dmVjMyggICAgMCwgMSwgICAgMCApLFxuXHRcdFx0dmVjMyggdDEueiwgMCwgdDEudyApXG5cdFx0KTtcblx0XHR2ZWMzIGZyZXNuZWwgPSAoIG1hdGVyaWFsLnNwZWN1bGFyQ29sb3IgKiB0Mi54ICsgKCB2ZWMzKCAxLjAgKSAtIG1hdGVyaWFsLnNwZWN1bGFyQ29sb3IgKSAqIHQyLnkgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArPSBsaWdodENvbG9yICogZnJlc25lbCAqIExUQ19FdmFsdWF0ZSggbm9ybWFsLCB2aWV3RGlyLCBwb3NpdGlvbiwgbUludiwgcmVjdENvb3JkcyApO1xuXHRcdHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKz0gbGlnaHRDb2xvciAqIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciAqIExUQ19FdmFsdWF0ZSggbm9ybWFsLCB2aWV3RGlyLCBwb3NpdGlvbiwgbWF0MyggMS4wICksIHJlY3RDb29yZHMgKTtcblx0fVxuI2VuZGlmXG52b2lkIFJFX0RpcmVjdF9QaHlzaWNhbCggY29uc3QgaW4gSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gUGh5c2ljYWxNYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdGZsb2F0IGRvdE5MID0gc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkubm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKSApO1xuXHR2ZWMzIGlycmFkaWFuY2UgPSBkb3ROTCAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRpcnJhZGlhbmNlICo9IFBJO1xuXHQjZW5kaWZcblx0I2lmZGVmIENMRUFSQ09BVFxuXHRcdGZsb2F0IGNjRG90TkwgPSBzYXR1cmF0ZSggZG90KCBnZW9tZXRyeS5jbGVhcmNvYXROb3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApICk7XG5cdFx0dmVjMyBjY0lycmFkaWFuY2UgPSBjY0RvdE5MICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdFx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0XHRjY0lycmFkaWFuY2UgKj0gUEk7XG5cdFx0I2VuZGlmXG5cdFx0ZmxvYXQgY2xlYXJjb2F0REhSID0gbWF0ZXJpYWwuY2xlYXJjb2F0ICogY2xlYXJjb2F0REhSQXBwcm94KCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MsIGNjRG90TkwgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArPSBjY0lycmFkaWFuY2UgKiBtYXRlcmlhbC5jbGVhcmNvYXQgKiBCUkRGX1NwZWN1bGFyX0dHWCggZGlyZWN0TGlnaHQsIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCwgdmVjMyggREVGQVVMVF9TUEVDVUxBUl9DT0VGRklDSUVOVCApLCB2ZWMzKCAxLjAgKSwgbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzICk7XG5cdCNlbHNlXG5cdFx0ZmxvYXQgY2xlYXJjb2F0REhSID0gMC4wO1xuXHQjZW5kaWZcblx0I2lmZGVmIFVTRV9TSEVFTlxuXHRcdHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyICs9ICggMS4wIC0gY2xlYXJjb2F0REhSICkgKiBpcnJhZGlhbmNlICogQlJERl9TcGVjdWxhcl9TaGVlbihcblx0XHRcdG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzLFxuXHRcdFx0ZGlyZWN0TGlnaHQuZGlyZWN0aW9uLFxuXHRcdFx0Z2VvbWV0cnksXG5cdFx0XHRtYXRlcmlhbC5zaGVlbkNvbG9yXG5cdFx0KTtcblx0I2Vsc2Vcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArPSAoIDEuMCAtIGNsZWFyY29hdERIUiApICogaXJyYWRpYW5jZSAqIEJSREZfU3BlY3VsYXJfR0dYKCBkaXJlY3RMaWdodCwgZ2VvbWV0cnkudmlld0RpciwgZ2VvbWV0cnkubm9ybWFsLCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yLCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yRjkwLCBtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyk7XG5cdCNlbmRpZlxuXHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICs9ICggMS4wIC0gY2xlYXJjb2F0REhSICkgKiBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xufVxudm9pZCBSRV9JbmRpcmVjdERpZmZ1c2VfUGh5c2ljYWwoIGNvbnN0IGluIHZlYzMgaXJyYWRpYW5jZSwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gUGh5c2ljYWxNYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xufVxudm9pZCBSRV9JbmRpcmVjdFNwZWN1bGFyX1BoeXNpY2FsKCBjb25zdCBpbiB2ZWMzIHJhZGlhbmNlLCBjb25zdCBpbiB2ZWMzIGlycmFkaWFuY2UsIGNvbnN0IGluIHZlYzMgY2xlYXJjb2F0UmFkaWFuY2UsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIFBoeXNpY2FsTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0KSB7XG5cdCNpZmRlZiBDTEVBUkNPQVRcblx0XHRmbG9hdCBjY0RvdE5WID0gc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkuY2xlYXJjb2F0Tm9ybWFsLCBnZW9tZXRyeS52aWV3RGlyICkgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICs9IGNsZWFyY29hdFJhZGlhbmNlICogbWF0ZXJpYWwuY2xlYXJjb2F0ICogQlJERl9TcGVjdWxhcl9HR1hfRW52aXJvbm1lbnQoIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCwgdmVjMyggREVGQVVMVF9TUEVDVUxBUl9DT0VGRklDSUVOVCApLCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MgKTtcblx0XHRmbG9hdCBjY0RvdE5MID0gY2NEb3ROVjtcblx0XHRmbG9hdCBjbGVhcmNvYXRESFIgPSBtYXRlcmlhbC5jbGVhcmNvYXQgKiBjbGVhcmNvYXRESFJBcHByb3goIG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcywgY2NEb3ROTCApO1xuXHQjZWxzZVxuXHRcdGZsb2F0IGNsZWFyY29hdERIUiA9IDAuMDtcblx0I2VuZGlmXG5cdGZsb2F0IGNsZWFyY29hdEludiA9IDEuMCAtIGNsZWFyY29hdERIUjtcblx0dmVjMyBzaW5nbGVTY2F0dGVyaW5nID0gdmVjMyggMC4wICk7XG5cdHZlYzMgbXVsdGlTY2F0dGVyaW5nID0gdmVjMyggMC4wICk7XG5cdHZlYzMgY29zaW5lV2VpZ2h0ZWRJcnJhZGlhbmNlID0gaXJyYWRpYW5jZSAqIFJFQ0lQUk9DQUxfUEk7XG5cdEJSREZfU3BlY3VsYXJfTXVsdGlzY2F0dGVyaW5nX0Vudmlyb25tZW50KCBnZW9tZXRyeSwgbWF0ZXJpYWwuc3BlY3VsYXJDb2xvciwgbWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MsIHNpbmdsZVNjYXR0ZXJpbmcsIG11bHRpU2NhdHRlcmluZyApO1xuXHR2ZWMzIGRpZmZ1c2UgPSBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKiAoIDEuMCAtICggc2luZ2xlU2NhdHRlcmluZyArIG11bHRpU2NhdHRlcmluZyApICk7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0U3BlY3VsYXIgKz0gY2xlYXJjb2F0SW52ICogcmFkaWFuY2UgKiBzaW5nbGVTY2F0dGVyaW5nO1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICs9IG11bHRpU2NhdHRlcmluZyAqIGNvc2luZVdlaWdodGVkSXJyYWRpYW5jZTtcblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICs9IGRpZmZ1c2UgKiBjb3NpbmVXZWlnaHRlZElycmFkaWFuY2U7XG59XG4jZGVmaW5lIFJFX0RpcmVjdFx0XHRcdFx0UkVfRGlyZWN0X1BoeXNpY2FsXG4jZGVmaW5lIFJFX0RpcmVjdF9SZWN0QXJlYVx0XHRSRV9EaXJlY3RfUmVjdEFyZWFfUGh5c2ljYWxcbiNkZWZpbmUgUkVfSW5kaXJlY3REaWZmdXNlXHRcdFJFX0luZGlyZWN0RGlmZnVzZV9QaHlzaWNhbFxuI2RlZmluZSBSRV9JbmRpcmVjdFNwZWN1bGFyXHRcdFJFX0luZGlyZWN0U3BlY3VsYXJfUGh5c2ljYWxcbmZsb2F0IGNvbXB1dGVTcGVjdWxhck9jY2x1c2lvbiggY29uc3QgaW4gZmxvYXQgZG90TlYsIGNvbnN0IGluIGZsb2F0IGFtYmllbnRPY2NsdXNpb24sIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcyApIHtcblx0cmV0dXJuIHNhdHVyYXRlKCBwb3coIGRvdE5WICsgYW1iaWVudE9jY2x1c2lvbiwgZXhwMiggLSAxNi4wICogcm91Z2huZXNzIC0gMS4wICkgKSAtIDEuMCArIGFtYmllbnRPY2NsdXNpb24gKTtcbn0iLGxpZ2h0c19mcmFnbWVudF9iZWdpbjoiXG5HZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5O1xuZ2VvbWV0cnkucG9zaXRpb24gPSAtIHZWaWV3UG9zaXRpb247XG5nZW9tZXRyeS5ub3JtYWwgPSBub3JtYWw7XG5nZW9tZXRyeS52aWV3RGlyID0gKCBpc09ydGhvZ3JhcGhpYyApID8gdmVjMyggMCwgMCwgMSApIDogbm9ybWFsaXplKCB2Vmlld1Bvc2l0aW9uICk7XG4jaWZkZWYgQ0xFQVJDT0FUXG5cdGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCA9IGNsZWFyY29hdE5vcm1hbDtcbiNlbmRpZlxuSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodDtcbiNpZiAoIE5VTV9QT0lOVF9MSUdIVFMgPiAwICkgJiYgZGVmaW5lZCggUkVfRGlyZWN0IClcblx0UG9pbnRMaWdodCBwb2ludExpZ2h0O1xuXHQjaWYgZGVmaW5lZCggVVNFX1NIQURPV01BUCApICYmIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTID4gMFxuXHRQb2ludExpZ2h0U2hhZG93IHBvaW50TGlnaHRTaGFkb3c7XG5cdCNlbmRpZlxuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9QT0lOVF9MSUdIVFM7IGkgKysgKSB7XG5cdFx0cG9pbnRMaWdodCA9IHBvaW50TGlnaHRzWyBpIF07XG5cdFx0Z2V0UG9pbnREaXJlY3RMaWdodElycmFkaWFuY2UoIHBvaW50TGlnaHQsIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdCNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgJiYgKCBVTlJPTExFRF9MT09QX0lOREVYIDwgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgKVxuXHRcdHBvaW50TGlnaHRTaGFkb3cgPSBwb2ludExpZ2h0U2hhZG93c1sgaSBdO1xuXHRcdGRpcmVjdExpZ2h0LmNvbG9yICo9IGFsbCggYnZlYzIoIGRpcmVjdExpZ2h0LnZpc2libGUsIHJlY2VpdmVTaGFkb3cgKSApID8gZ2V0UG9pbnRTaGFkb3coIHBvaW50U2hhZG93TWFwWyBpIF0sIHBvaW50TGlnaHRTaGFkb3cuc2hhZG93TWFwU2l6ZSwgcG9pbnRMaWdodFNoYWRvdy5zaGFkb3dCaWFzLCBwb2ludExpZ2h0U2hhZG93LnNoYWRvd1JhZGl1cywgdlBvaW50U2hhZG93Q29vcmRbIGkgXSwgcG9pbnRMaWdodFNoYWRvdy5zaGFkb3dDYW1lcmFOZWFyLCBwb2ludExpZ2h0U2hhZG93LnNoYWRvd0NhbWVyYUZhciApIDogMS4wO1xuXHRcdCNlbmRpZlxuXHRcdFJFX0RpcmVjdCggZGlyZWN0TGlnaHQsIGdlb21ldHJ5LCBtYXRlcmlhbCwgcmVmbGVjdGVkTGlnaHQgKTtcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuI2VuZGlmXG4jaWYgKCBOVU1fU1BPVF9MSUdIVFMgPiAwICkgJiYgZGVmaW5lZCggUkVfRGlyZWN0IClcblx0U3BvdExpZ2h0IHNwb3RMaWdodDtcblx0I2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiBOVU1fU1BPVF9MSUdIVF9TSEFET1dTID4gMFxuXHRTcG90TGlnaHRTaGFkb3cgc3BvdExpZ2h0U2hhZG93O1xuXHQjZW5kaWZcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fU1BPVF9MSUdIVFM7IGkgKysgKSB7XG5cdFx0c3BvdExpZ2h0ID0gc3BvdExpZ2h0c1sgaSBdO1xuXHRcdGdldFNwb3REaXJlY3RMaWdodElycmFkaWFuY2UoIHNwb3RMaWdodCwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XG5cdFx0I2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiAoIFVOUk9MTEVEX0xPT1BfSU5ERVggPCBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIClcblx0XHRzcG90TGlnaHRTaGFkb3cgPSBzcG90TGlnaHRTaGFkb3dzWyBpIF07XG5cdFx0ZGlyZWN0TGlnaHQuY29sb3IgKj0gYWxsKCBidmVjMiggZGlyZWN0TGlnaHQudmlzaWJsZSwgcmVjZWl2ZVNoYWRvdyApICkgPyBnZXRTaGFkb3coIHNwb3RTaGFkb3dNYXBbIGkgXSwgc3BvdExpZ2h0U2hhZG93LnNoYWRvd01hcFNpemUsIHNwb3RMaWdodFNoYWRvdy5zaGFkb3dCaWFzLCBzcG90TGlnaHRTaGFkb3cuc2hhZG93UmFkaXVzLCB2U3BvdFNoYWRvd0Nvb3JkWyBpIF0gKSA6IDEuMDtcblx0XHQjZW5kaWZcblx0XHRSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcbiNlbmRpZlxuI2lmICggTlVNX0RJUl9MSUdIVFMgPiAwICkgJiYgZGVmaW5lZCggUkVfRGlyZWN0IClcblx0RGlyZWN0aW9uYWxMaWdodCBkaXJlY3Rpb25hbExpZ2h0O1xuXHQjaWYgZGVmaW5lZCggVVNFX1NIQURPV01BUCApICYmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyA+IDBcblx0RGlyZWN0aW9uYWxMaWdodFNoYWRvdyBkaXJlY3Rpb25hbExpZ2h0U2hhZG93O1xuXHQjZW5kaWZcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fRElSX0xJR0hUUzsgaSArKyApIHtcblx0XHRkaXJlY3Rpb25hbExpZ2h0ID0gZGlyZWN0aW9uYWxMaWdodHNbIGkgXTtcblx0XHRnZXREaXJlY3Rpb25hbERpcmVjdExpZ2h0SXJyYWRpYW5jZSggZGlyZWN0aW9uYWxMaWdodCwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XG5cdFx0I2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiAoIFVOUk9MTEVEX0xPT1BfSU5ERVggPCBOVU1fRElSX0xJR0hUX1NIQURPV1MgKVxuXHRcdGRpcmVjdGlvbmFsTGlnaHRTaGFkb3cgPSBkaXJlY3Rpb25hbExpZ2h0U2hhZG93c1sgaSBdO1xuXHRcdGRpcmVjdExpZ2h0LmNvbG9yICo9IGFsbCggYnZlYzIoIGRpcmVjdExpZ2h0LnZpc2libGUsIHJlY2VpdmVTaGFkb3cgKSApID8gZ2V0U2hhZG93KCBkaXJlY3Rpb25hbFNoYWRvd01hcFsgaSBdLCBkaXJlY3Rpb25hbExpZ2h0U2hhZG93LnNoYWRvd01hcFNpemUsIGRpcmVjdGlvbmFsTGlnaHRTaGFkb3cuc2hhZG93QmlhcywgZGlyZWN0aW9uYWxMaWdodFNoYWRvdy5zaGFkb3dSYWRpdXMsIHZEaXJlY3Rpb25hbFNoYWRvd0Nvb3JkWyBpIF0gKSA6IDEuMDtcblx0XHQjZW5kaWZcblx0XHRSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcbiNlbmRpZlxuI2lmICggTlVNX1JFQ1RfQVJFQV9MSUdIVFMgPiAwICkgJiYgZGVmaW5lZCggUkVfRGlyZWN0X1JlY3RBcmVhIClcblx0UmVjdEFyZWFMaWdodCByZWN0QXJlYUxpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9SRUNUX0FSRUFfTElHSFRTOyBpICsrICkge1xuXHRcdHJlY3RBcmVhTGlnaHQgPSByZWN0QXJlYUxpZ2h0c1sgaSBdO1xuXHRcdFJFX0RpcmVjdF9SZWN0QXJlYSggcmVjdEFyZWFMaWdodCwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG4jZW5kaWZcbiNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdERpZmZ1c2UgKVxuXHR2ZWMzIGlibElycmFkaWFuY2UgPSB2ZWMzKCAwLjAgKTtcblx0dmVjMyBpcnJhZGlhbmNlID0gZ2V0QW1iaWVudExpZ2h0SXJyYWRpYW5jZSggYW1iaWVudExpZ2h0Q29sb3IgKTtcblx0aXJyYWRpYW5jZSArPSBnZXRMaWdodFByb2JlSXJyYWRpYW5jZSggbGlnaHRQcm9iZSwgZ2VvbWV0cnkgKTtcblx0I2lmICggTlVNX0hFTUlfTElHSFRTID4gMCApXG5cdFx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRcdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9IRU1JX0xJR0hUUzsgaSArKyApIHtcblx0XHRcdGlycmFkaWFuY2UgKz0gZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBnZW9tZXRyeSApO1xuXHRcdH1cblx0XHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuXHQjZW5kaWZcbiNlbmRpZlxuI2lmIGRlZmluZWQoIFJFX0luZGlyZWN0U3BlY3VsYXIgKVxuXHR2ZWMzIHJhZGlhbmNlID0gdmVjMyggMC4wICk7XG5cdHZlYzMgY2xlYXJjb2F0UmFkaWFuY2UgPSB2ZWMzKCAwLjAgKTtcbiNlbmRpZiIsbGlnaHRzX2ZyYWdtZW50X21hcHM6IiNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdERpZmZ1c2UgKVxuXHQjaWZkZWYgVVNFX0xJR0hUTUFQXG5cdFx0dmVjNCBsaWdodE1hcFRleGVsPSB0ZXh0dXJlMkQoIGxpZ2h0TWFwLCB2VXYyICk7XG5cdFx0dmVjMyBsaWdodE1hcElycmFkaWFuY2UgPSBsaWdodE1hcFRleGVsVG9MaW5lYXIoIGxpZ2h0TWFwVGV4ZWwgKS5yZ2IgKiBsaWdodE1hcEludGVuc2l0eTtcblx0XHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRcdGxpZ2h0TWFwSXJyYWRpYW5jZSAqPSBQSTtcblx0XHQjZW5kaWZcblx0XHRpcnJhZGlhbmNlICs9IGxpZ2h0TWFwSXJyYWRpYW5jZTtcblx0I2VuZGlmXG5cdCNpZiBkZWZpbmVkKCBVU0VfRU5WTUFQICkgJiYgZGVmaW5lZCggU1RBTkRBUkQgKSAmJiBkZWZpbmVkKCBFTlZNQVBfVFlQRV9DVUJFX1VWIClcblx0XHRpYmxJcnJhZGlhbmNlICs9IGdldExpZ2h0UHJvYmVJbmRpcmVjdElycmFkaWFuY2UoIGdlb21ldHJ5LCBtYXhNaXBMZXZlbCApO1xuXHQjZW5kaWZcbiNlbmRpZlxuI2lmIGRlZmluZWQoIFVTRV9FTlZNQVAgKSAmJiBkZWZpbmVkKCBSRV9JbmRpcmVjdFNwZWN1bGFyIClcblx0cmFkaWFuY2UgKz0gZ2V0TGlnaHRQcm9iZUluZGlyZWN0UmFkaWFuY2UoIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5Lm5vcm1hbCwgbWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MsIG1heE1pcExldmVsICk7XG5cdCNpZmRlZiBDTEVBUkNPQVRcblx0XHRjbGVhcmNvYXRSYWRpYW5jZSArPSBnZXRMaWdodFByb2JlSW5kaXJlY3RSYWRpYW5jZSggZ2VvbWV0cnkudmlld0RpciwgZ2VvbWV0cnkuY2xlYXJjb2F0Tm9ybWFsLCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MsIG1heE1pcExldmVsICk7XG5cdCNlbmRpZlxuI2VuZGlmIixsaWdodHNfZnJhZ21lbnRfZW5kOiIjaWYgZGVmaW5lZCggUkVfSW5kaXJlY3REaWZmdXNlIClcblx0UkVfSW5kaXJlY3REaWZmdXNlKCBpcnJhZGlhbmNlLCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG4jZW5kaWZcbiNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdFNwZWN1bGFyIClcblx0UkVfSW5kaXJlY3RTcGVjdWxhciggcmFkaWFuY2UsIGlibElycmFkaWFuY2UsIGNsZWFyY29hdFJhZGlhbmNlLCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG4jZW5kaWYiLGxvZ2RlcHRoYnVmX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX0xPR0RFUFRIQlVGICkgJiYgZGVmaW5lZCggVVNFX0xPR0RFUFRIQlVGX0VYVCApXG5cdGdsX0ZyYWdEZXB0aEVYVCA9IHZJc1BlcnNwZWN0aXZlID09IDAuMCA/IGdsX0ZyYWdDb29yZC56IDogbG9nMiggdkZyYWdEZXB0aCApICogbG9nRGVwdGhCdWZGQyAqIDAuNTtcbiNlbmRpZiIsbG9nZGVwdGhidWZfcGFyc19mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9MT0dERVBUSEJVRiApICYmIGRlZmluZWQoIFVTRV9MT0dERVBUSEJVRl9FWFQgKVxuXHR1bmlmb3JtIGZsb2F0IGxvZ0RlcHRoQnVmRkM7XG5cdHZhcnlpbmcgZmxvYXQgdkZyYWdEZXB0aDtcblx0dmFyeWluZyBmbG9hdCB2SXNQZXJzcGVjdGl2ZTtcbiNlbmRpZiIsbG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfTE9HREVQVEhCVUZcblx0I2lmZGVmIFVTRV9MT0dERVBUSEJVRl9FWFRcblx0XHR2YXJ5aW5nIGZsb2F0IHZGcmFnRGVwdGg7XG5cdFx0dmFyeWluZyBmbG9hdCB2SXNQZXJzcGVjdGl2ZTtcblx0I2Vsc2Vcblx0XHR1bmlmb3JtIGZsb2F0IGxvZ0RlcHRoQnVmRkM7XG5cdCNlbmRpZlxuI2VuZGlmIixsb2dkZXB0aGJ1Zl92ZXJ0ZXg6IiNpZmRlZiBVU0VfTE9HREVQVEhCVUZcblx0I2lmZGVmIFVTRV9MT0dERVBUSEJVRl9FWFRcblx0XHR2RnJhZ0RlcHRoID0gMS4wICsgZ2xfUG9zaXRpb24udztcblx0XHR2SXNQZXJzcGVjdGl2ZSA9IGZsb2F0KCBpc1BlcnNwZWN0aXZlTWF0cml4KCBwcm9qZWN0aW9uTWF0cml4ICkgKTtcblx0I2Vsc2Vcblx0XHRpZiAoIGlzUGVyc3BlY3RpdmVNYXRyaXgoIHByb2plY3Rpb25NYXRyaXggKSApIHtcblx0XHRcdGdsX1Bvc2l0aW9uLnogPSBsb2cyKCBtYXgoIEVQU0lMT04sIGdsX1Bvc2l0aW9uLncgKyAxLjAgKSApICogbG9nRGVwdGhCdWZGQyAtIDEuMDtcblx0XHRcdGdsX1Bvc2l0aW9uLnogKj0gZ2xfUG9zaXRpb24udztcblx0XHR9XG5cdCNlbmRpZlxuI2VuZGlmIixtYXBfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfTUFQXG5cdHZlYzQgdGV4ZWxDb2xvciA9IHRleHR1cmUyRCggbWFwLCB2VXYgKTtcblx0dGV4ZWxDb2xvciA9IG1hcFRleGVsVG9MaW5lYXIoIHRleGVsQ29sb3IgKTtcblx0ZGlmZnVzZUNvbG9yICo9IHRleGVsQ29sb3I7XG4jZW5kaWYiLG1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX01BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBtYXA7XG4jZW5kaWYiLG1hcF9wYXJ0aWNsZV9mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9NQVAgKSB8fCBkZWZpbmVkKCBVU0VfQUxQSEFNQVAgKVxuXHR2ZWMyIHV2ID0gKCB1dlRyYW5zZm9ybSAqIHZlYzMoIGdsX1BvaW50Q29vcmQueCwgMS4wIC0gZ2xfUG9pbnRDb29yZC55LCAxICkgKS54eTtcbiNlbmRpZlxuI2lmZGVmIFVTRV9NQVBcblx0dmVjNCBtYXBUZXhlbCA9IHRleHR1cmUyRCggbWFwLCB1diApO1xuXHRkaWZmdXNlQ29sb3IgKj0gbWFwVGV4ZWxUb0xpbmVhciggbWFwVGV4ZWwgKTtcbiNlbmRpZlxuI2lmZGVmIFVTRV9BTFBIQU1BUFxuXHRkaWZmdXNlQ29sb3IuYSAqPSB0ZXh0dXJlMkQoIGFscGhhTWFwLCB1diApLmc7XG4jZW5kaWYiLG1hcF9wYXJ0aWNsZV9wYXJzX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX01BUCApIHx8IGRlZmluZWQoIFVTRV9BTFBIQU1BUCApXG5cdHVuaWZvcm0gbWF0MyB1dlRyYW5zZm9ybTtcbiNlbmRpZlxuI2lmZGVmIFVTRV9NQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgbWFwO1xuI2VuZGlmXG4jaWZkZWYgVVNFX0FMUEhBTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGFscGhhTWFwO1xuI2VuZGlmIixtZXRhbG5lc3NtYXBfZnJhZ21lbnQ6ImZsb2F0IG1ldGFsbmVzc0ZhY3RvciA9IG1ldGFsbmVzcztcbiNpZmRlZiBVU0VfTUVUQUxORVNTTUFQXG5cdHZlYzQgdGV4ZWxNZXRhbG5lc3MgPSB0ZXh0dXJlMkQoIG1ldGFsbmVzc01hcCwgdlV2ICk7XG5cdG1ldGFsbmVzc0ZhY3RvciAqPSB0ZXhlbE1ldGFsbmVzcy5iO1xuI2VuZGlmIixtZXRhbG5lc3NtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9NRVRBTE5FU1NNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgbWV0YWxuZXNzTWFwO1xuI2VuZGlmIixtb3JwaG5vcm1hbF92ZXJ0ZXg6IiNpZmRlZiBVU0VfTU9SUEhOT1JNQUxTXG5cdG9iamVjdE5vcm1hbCAqPSBtb3JwaFRhcmdldEJhc2VJbmZsdWVuY2U7XG5cdG9iamVjdE5vcm1hbCArPSBtb3JwaE5vcm1hbDAgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDAgXTtcblx0b2JqZWN0Tm9ybWFsICs9IG1vcnBoTm9ybWFsMSAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgMSBdO1xuXHRvYmplY3ROb3JtYWwgKz0gbW9ycGhOb3JtYWwyICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAyIF07XG5cdG9iamVjdE5vcm1hbCArPSBtb3JwaE5vcm1hbDMgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDMgXTtcbiNlbmRpZiIsbW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfTU9SUEhUQVJHRVRTXG5cdHVuaWZvcm0gZmxvYXQgbW9ycGhUYXJnZXRCYXNlSW5mbHVlbmNlO1xuXHQjaWZuZGVmIFVTRV9NT1JQSE5PUk1BTFNcblx0XHR1bmlmb3JtIGZsb2F0IG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgOCBdO1xuXHQjZWxzZVxuXHRcdHVuaWZvcm0gZmxvYXQgbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyA0IF07XG5cdCNlbmRpZlxuI2VuZGlmIixtb3JwaHRhcmdldF92ZXJ0ZXg6IiNpZmRlZiBVU0VfTU9SUEhUQVJHRVRTXG5cdHRyYW5zZm9ybWVkICo9IG1vcnBoVGFyZ2V0QmFzZUluZmx1ZW5jZTtcblx0dHJhbnNmb3JtZWQgKz0gbW9ycGhUYXJnZXQwICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAwIF07XG5cdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0MSAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgMSBdO1xuXHR0cmFuc2Zvcm1lZCArPSBtb3JwaFRhcmdldDIgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDIgXTtcblx0dHJhbnNmb3JtZWQgKz0gbW9ycGhUYXJnZXQzICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAzIF07XG5cdCNpZm5kZWYgVVNFX01PUlBITk9STUFMU1xuXHRcdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0NCAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNCBdO1xuXHRcdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0NSAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNSBdO1xuXHRcdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0NiAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNiBdO1xuXHRcdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0NyAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNyBdO1xuXHQjZW5kaWZcbiNlbmRpZiIsbm9ybWFsX2ZyYWdtZW50X2JlZ2luOiJmbG9hdCBmYWNlRGlyZWN0aW9uID0gZ2xfRnJvbnRGYWNpbmcgPyAxLjAgOiAtIDEuMDtcbiNpZmRlZiBGTEFUX1NIQURFRFxuXHR2ZWMzIGZkeCA9IHZlYzMoIGRGZHgoIHZWaWV3UG9zaXRpb24ueCApLCBkRmR4KCB2Vmlld1Bvc2l0aW9uLnkgKSwgZEZkeCggdlZpZXdQb3NpdGlvbi56ICkgKTtcblx0dmVjMyBmZHkgPSB2ZWMzKCBkRmR5KCB2Vmlld1Bvc2l0aW9uLnggKSwgZEZkeSggdlZpZXdQb3NpdGlvbi55ICksIGRGZHkoIHZWaWV3UG9zaXRpb24ueiApICk7XG5cdHZlYzMgbm9ybWFsID0gbm9ybWFsaXplKCBjcm9zcyggZmR4LCBmZHkgKSApO1xuI2Vsc2Vcblx0dmVjMyBub3JtYWwgPSBub3JtYWxpemUoIHZOb3JtYWwgKTtcblx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdG5vcm1hbCA9IG5vcm1hbCAqIGZhY2VEaXJlY3Rpb247XG5cdCNlbmRpZlxuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2ZWMzIHRhbmdlbnQgPSBub3JtYWxpemUoIHZUYW5nZW50ICk7XG5cdFx0dmVjMyBiaXRhbmdlbnQgPSBub3JtYWxpemUoIHZCaXRhbmdlbnQgKTtcblx0XHQjaWZkZWYgRE9VQkxFX1NJREVEXG5cdFx0XHR0YW5nZW50ID0gdGFuZ2VudCAqIGZhY2VEaXJlY3Rpb247XG5cdFx0XHRiaXRhbmdlbnQgPSBiaXRhbmdlbnQgKiBmYWNlRGlyZWN0aW9uO1xuXHRcdCNlbmRpZlxuXHRcdCNpZiBkZWZpbmVkKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQICkgfHwgZGVmaW5lZCggVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVAgKVxuXHRcdFx0bWF0MyB2VEJOID0gbWF0MyggdGFuZ2VudCwgYml0YW5nZW50LCBub3JtYWwgKTtcblx0XHQjZW5kaWZcblx0I2VuZGlmXG4jZW5kaWZcbnZlYzMgZ2VvbWV0cnlOb3JtYWwgPSBub3JtYWw7Iixub3JtYWxfZnJhZ21lbnRfbWFwczoiI2lmZGVmIE9CSkVDVFNQQUNFX05PUk1BTE1BUFxuXHRub3JtYWwgPSB0ZXh0dXJlMkQoIG5vcm1hbE1hcCwgdlV2ICkueHl6ICogMi4wIC0gMS4wO1xuXHQjaWZkZWYgRkxJUF9TSURFRFxuXHRcdG5vcm1hbCA9IC0gbm9ybWFsO1xuXHQjZW5kaWZcblx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdG5vcm1hbCA9IG5vcm1hbCAqIGZhY2VEaXJlY3Rpb247XG5cdCNlbmRpZlxuXHRub3JtYWwgPSBub3JtYWxpemUoIG5vcm1hbE1hdHJpeCAqIG5vcm1hbCApO1xuI2VsaWYgZGVmaW5lZCggVEFOR0VOVFNQQUNFX05PUk1BTE1BUCApXG5cdHZlYzMgbWFwTiA9IHRleHR1cmUyRCggbm9ybWFsTWFwLCB2VXYgKS54eXogKiAyLjAgLSAxLjA7XG5cdG1hcE4ueHkgKj0gbm9ybWFsU2NhbGU7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdG5vcm1hbCA9IG5vcm1hbGl6ZSggdlRCTiAqIG1hcE4gKTtcblx0I2Vsc2Vcblx0XHRub3JtYWwgPSBwZXJ0dXJiTm9ybWFsMkFyYiggLXZWaWV3UG9zaXRpb24sIG5vcm1hbCwgbWFwTiwgZmFjZURpcmVjdGlvbiApO1xuXHQjZW5kaWZcbiNlbGlmIGRlZmluZWQoIFVTRV9CVU1QTUFQIClcblx0bm9ybWFsID0gcGVydHVyYk5vcm1hbEFyYiggLXZWaWV3UG9zaXRpb24sIG5vcm1hbCwgZEhkeHlfZndkKCksIGZhY2VEaXJlY3Rpb24gKTtcbiNlbmRpZiIsbm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfTk9STUFMTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIG5vcm1hbE1hcDtcblx0dW5pZm9ybSB2ZWMyIG5vcm1hbFNjYWxlO1xuI2VuZGlmXG4jaWZkZWYgT0JKRUNUU1BBQ0VfTk9STUFMTUFQXG5cdHVuaWZvcm0gbWF0MyBub3JtYWxNYXRyaXg7XG4jZW5kaWZcbiNpZiAhIGRlZmluZWQgKCBVU0VfVEFOR0VOVCApICYmICggZGVmaW5lZCAoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKSB8fCBkZWZpbmVkICggVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVAgKSApXG5cdHZlYzMgcGVydHVyYk5vcm1hbDJBcmIoIHZlYzMgZXllX3BvcywgdmVjMyBzdXJmX25vcm0sIHZlYzMgbWFwTiwgZmxvYXQgZmFjZURpcmVjdGlvbiApIHtcblx0XHR2ZWMzIHEwID0gdmVjMyggZEZkeCggZXllX3Bvcy54ICksIGRGZHgoIGV5ZV9wb3MueSApLCBkRmR4KCBleWVfcG9zLnogKSApO1xuXHRcdHZlYzMgcTEgPSB2ZWMzKCBkRmR5KCBleWVfcG9zLnggKSwgZEZkeSggZXllX3Bvcy55ICksIGRGZHkoIGV5ZV9wb3MueiApICk7XG5cdFx0dmVjMiBzdDAgPSBkRmR4KCB2VXYuc3QgKTtcblx0XHR2ZWMyIHN0MSA9IGRGZHkoIHZVdi5zdCApO1xuXHRcdHZlYzMgTiA9IHN1cmZfbm9ybTtcblx0XHR2ZWMzIHExcGVycCA9IGNyb3NzKCBxMSwgTiApO1xuXHRcdHZlYzMgcTBwZXJwID0gY3Jvc3MoIE4sIHEwICk7XG5cdFx0dmVjMyBUID0gcTFwZXJwICogc3QwLnggKyBxMHBlcnAgKiBzdDEueDtcblx0XHR2ZWMzIEIgPSBxMXBlcnAgKiBzdDAueSArIHEwcGVycCAqIHN0MS55O1xuXHRcdGZsb2F0IGRldCA9IG1heCggZG90KCBULCBUICksIGRvdCggQiwgQiApICk7XG5cdFx0ZmxvYXQgc2NhbGUgPSAoIGRldCA9PSAwLjAgKSA/IDAuMCA6IGZhY2VEaXJlY3Rpb24gKiBpbnZlcnNlc3FydCggZGV0ICk7XG5cdFx0cmV0dXJuIG5vcm1hbGl6ZSggVCAqICggbWFwTi54ICogc2NhbGUgKSArIEIgKiAoIG1hcE4ueSAqIHNjYWxlICkgKyBOICogbWFwTi56ICk7XG5cdH1cbiNlbmRpZiIsY2xlYXJjb2F0X25vcm1hbF9mcmFnbWVudF9iZWdpbjoiI2lmZGVmIENMRUFSQ09BVFxuXHR2ZWMzIGNsZWFyY29hdE5vcm1hbCA9IGdlb21ldHJ5Tm9ybWFsO1xuI2VuZGlmIixjbGVhcmNvYXRfbm9ybWFsX2ZyYWdtZW50X21hcHM6IiNpZmRlZiBVU0VfQ0xFQVJDT0FUX05PUk1BTE1BUFxuXHR2ZWMzIGNsZWFyY29hdE1hcE4gPSB0ZXh0dXJlMkQoIGNsZWFyY29hdE5vcm1hbE1hcCwgdlV2ICkueHl6ICogMi4wIC0gMS4wO1xuXHRjbGVhcmNvYXRNYXBOLnh5ICo9IGNsZWFyY29hdE5vcm1hbFNjYWxlO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHRjbGVhcmNvYXROb3JtYWwgPSBub3JtYWxpemUoIHZUQk4gKiBjbGVhcmNvYXRNYXBOICk7XG5cdCNlbHNlXG5cdFx0Y2xlYXJjb2F0Tm9ybWFsID0gcGVydHVyYk5vcm1hbDJBcmIoIC0gdlZpZXdQb3NpdGlvbiwgY2xlYXJjb2F0Tm9ybWFsLCBjbGVhcmNvYXRNYXBOLCBmYWNlRGlyZWN0aW9uICk7XG5cdCNlbmRpZlxuI2VuZGlmIixjbGVhcmNvYXRfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9DTEVBUkNPQVRNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgY2xlYXJjb2F0TWFwO1xuI2VuZGlmXG4jaWZkZWYgVVNFX0NMRUFSQ09BVF9ST1VHSE5FU1NNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgY2xlYXJjb2F0Um91Z2huZXNzTWFwO1xuI2VuZGlmXG4jaWZkZWYgVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgY2xlYXJjb2F0Tm9ybWFsTWFwO1xuXHR1bmlmb3JtIHZlYzIgY2xlYXJjb2F0Tm9ybWFsU2NhbGU7XG4jZW5kaWYiLHBhY2tpbmc6InZlYzMgcGFja05vcm1hbFRvUkdCKCBjb25zdCBpbiB2ZWMzIG5vcm1hbCApIHtcblx0cmV0dXJuIG5vcm1hbGl6ZSggbm9ybWFsICkgKiAwLjUgKyAwLjU7XG59XG52ZWMzIHVucGFja1JHQlRvTm9ybWFsKCBjb25zdCBpbiB2ZWMzIHJnYiApIHtcblx0cmV0dXJuIDIuMCAqIHJnYi54eXogLSAxLjA7XG59XG5jb25zdCBmbG9hdCBQYWNrVXBzY2FsZSA9IDI1Ni4gLyAyNTUuO2NvbnN0IGZsb2F0IFVucGFja0Rvd25zY2FsZSA9IDI1NS4gLyAyNTYuO1xuY29uc3QgdmVjMyBQYWNrRmFjdG9ycyA9IHZlYzMoIDI1Ni4gKiAyNTYuICogMjU2LiwgMjU2LiAqIDI1Ni4sIDI1Ni4gKTtcbmNvbnN0IHZlYzQgVW5wYWNrRmFjdG9ycyA9IFVucGFja0Rvd25zY2FsZSAvIHZlYzQoIFBhY2tGYWN0b3JzLCAxLiApO1xuY29uc3QgZmxvYXQgU2hpZnRSaWdodDggPSAxLiAvIDI1Ni47XG52ZWM0IHBhY2tEZXB0aFRvUkdCQSggY29uc3QgaW4gZmxvYXQgdiApIHtcblx0dmVjNCByID0gdmVjNCggZnJhY3QoIHYgKiBQYWNrRmFjdG9ycyApLCB2ICk7XG5cdHIueXp3IC09IHIueHl6ICogU2hpZnRSaWdodDg7XHRyZXR1cm4gciAqIFBhY2tVcHNjYWxlO1xufVxuZmxvYXQgdW5wYWNrUkdCQVRvRGVwdGgoIGNvbnN0IGluIHZlYzQgdiApIHtcblx0cmV0dXJuIGRvdCggdiwgVW5wYWNrRmFjdG9ycyApO1xufVxudmVjNCBwYWNrMkhhbGZUb1JHQkEoIHZlYzIgdiApIHtcblx0dmVjNCByID0gdmVjNCggdi54LCBmcmFjdCggdi54ICogMjU1LjAgKSwgdi55LCBmcmFjdCggdi55ICogMjU1LjAgKSk7XG5cdHJldHVybiB2ZWM0KCByLnggLSByLnkgLyAyNTUuMCwgci55LCByLnogLSByLncgLyAyNTUuMCwgci53KTtcbn1cbnZlYzIgdW5wYWNrUkdCQVRvMkhhbGYoIHZlYzQgdiApIHtcblx0cmV0dXJuIHZlYzIoIHYueCArICggdi55IC8gMjU1LjAgKSwgdi56ICsgKCB2LncgLyAyNTUuMCApICk7XG59XG5mbG9hdCB2aWV3WlRvT3J0aG9ncmFwaGljRGVwdGgoIGNvbnN0IGluIGZsb2F0IHZpZXdaLCBjb25zdCBpbiBmbG9hdCBuZWFyLCBjb25zdCBpbiBmbG9hdCBmYXIgKSB7XG5cdHJldHVybiAoIHZpZXdaICsgbmVhciApIC8gKCBuZWFyIC0gZmFyICk7XG59XG5mbG9hdCBvcnRob2dyYXBoaWNEZXB0aFRvVmlld1ooIGNvbnN0IGluIGZsb2F0IGxpbmVhckNsaXBaLCBjb25zdCBpbiBmbG9hdCBuZWFyLCBjb25zdCBpbiBmbG9hdCBmYXIgKSB7XG5cdHJldHVybiBsaW5lYXJDbGlwWiAqICggbmVhciAtIGZhciApIC0gbmVhcjtcbn1cbmZsb2F0IHZpZXdaVG9QZXJzcGVjdGl2ZURlcHRoKCBjb25zdCBpbiBmbG9hdCB2aWV3WiwgY29uc3QgaW4gZmxvYXQgbmVhciwgY29uc3QgaW4gZmxvYXQgZmFyICkge1xuXHRyZXR1cm4gKCggbmVhciArIHZpZXdaICkgKiBmYXIgKSAvICgoIGZhciAtIG5lYXIgKSAqIHZpZXdaICk7XG59XG5mbG9hdCBwZXJzcGVjdGl2ZURlcHRoVG9WaWV3WiggY29uc3QgaW4gZmxvYXQgaW52Q2xpcFosIGNvbnN0IGluIGZsb2F0IG5lYXIsIGNvbnN0IGluIGZsb2F0IGZhciApIHtcblx0cmV0dXJuICggbmVhciAqIGZhciApIC8gKCAoIGZhciAtIG5lYXIgKSAqIGludkNsaXBaIC0gZmFyICk7XG59IixwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50OiIjaWZkZWYgUFJFTVVMVElQTElFRF9BTFBIQVxuXHRnbF9GcmFnQ29sb3IucmdiICo9IGdsX0ZyYWdDb2xvci5hO1xuI2VuZGlmIixwcm9qZWN0X3ZlcnRleDoidmVjNCBtdlBvc2l0aW9uID0gdmVjNCggdHJhbnNmb3JtZWQsIDEuMCApO1xuI2lmZGVmIFVTRV9JTlNUQU5DSU5HXG5cdG12UG9zaXRpb24gPSBpbnN0YW5jZU1hdHJpeCAqIG12UG9zaXRpb247XG4jZW5kaWZcbm12UG9zaXRpb24gPSBtb2RlbFZpZXdNYXRyaXggKiBtdlBvc2l0aW9uO1xuZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uTWF0cml4ICogbXZQb3NpdGlvbjsiLGRpdGhlcmluZ19mcmFnbWVudDoiI2lmZGVmIERJVEhFUklOR1xuXHRnbF9GcmFnQ29sb3IucmdiID0gZGl0aGVyaW5nKCBnbF9GcmFnQ29sb3IucmdiICk7XG4jZW5kaWYiLGRpdGhlcmluZ19wYXJzX2ZyYWdtZW50OiIjaWZkZWYgRElUSEVSSU5HXG5cdHZlYzMgZGl0aGVyaW5nKCB2ZWMzIGNvbG9yICkge1xuXHRcdGZsb2F0IGdyaWRfcG9zaXRpb24gPSByYW5kKCBnbF9GcmFnQ29vcmQueHkgKTtcblx0XHR2ZWMzIGRpdGhlcl9zaGlmdF9SR0IgPSB2ZWMzKCAwLjI1IC8gMjU1LjAsIC0wLjI1IC8gMjU1LjAsIDAuMjUgLyAyNTUuMCApO1xuXHRcdGRpdGhlcl9zaGlmdF9SR0IgPSBtaXgoIDIuMCAqIGRpdGhlcl9zaGlmdF9SR0IsIC0yLjAgKiBkaXRoZXJfc2hpZnRfUkdCLCBncmlkX3Bvc2l0aW9uICk7XG5cdFx0cmV0dXJuIGNvbG9yICsgZGl0aGVyX3NoaWZ0X1JHQjtcblx0fVxuI2VuZGlmIixyb3VnaG5lc3NtYXBfZnJhZ21lbnQ6ImZsb2F0IHJvdWdobmVzc0ZhY3RvciA9IHJvdWdobmVzcztcbiNpZmRlZiBVU0VfUk9VR0hORVNTTUFQXG5cdHZlYzQgdGV4ZWxSb3VnaG5lc3MgPSB0ZXh0dXJlMkQoIHJvdWdobmVzc01hcCwgdlV2ICk7XG5cdHJvdWdobmVzc0ZhY3RvciAqPSB0ZXhlbFJvdWdobmVzcy5nO1xuI2VuZGlmIixyb3VnaG5lc3NtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9ST1VHSE5FU1NNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgcm91Z2huZXNzTWFwO1xuI2VuZGlmIixzaGFkb3dtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9TSEFET1dNQVBcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyA+IDBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBkaXJlY3Rpb25hbFNoYWRvd01hcFsgTlVNX0RJUl9MSUdIVF9TSEFET1dTIF07XG5cdFx0dmFyeWluZyB2ZWM0IHZEaXJlY3Rpb25hbFNoYWRvd0Nvb3JkWyBOVU1fRElSX0xJR0hUX1NIQURPV1MgXTtcblx0XHRzdHJ1Y3QgRGlyZWN0aW9uYWxMaWdodFNoYWRvdyB7XG5cdFx0XHRmbG9hdCBzaGFkb3dCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93Tm9ybWFsQmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd1JhZGl1cztcblx0XHRcdHZlYzIgc2hhZG93TWFwU2l6ZTtcblx0XHR9O1xuXHRcdHVuaWZvcm0gRGlyZWN0aW9uYWxMaWdodFNoYWRvdyBkaXJlY3Rpb25hbExpZ2h0U2hhZG93c1sgTlVNX0RJUl9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuXHQjaWYgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyA+IDBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBzcG90U2hhZG93TWFwWyBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIF07XG5cdFx0dmFyeWluZyB2ZWM0IHZTcG90U2hhZG93Q29vcmRbIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXTtcblx0XHRzdHJ1Y3QgU3BvdExpZ2h0U2hhZG93IHtcblx0XHRcdGZsb2F0IHNoYWRvd0JpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dOb3JtYWxCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93UmFkaXVzO1xuXHRcdFx0dmVjMiBzaGFkb3dNYXBTaXplO1xuXHRcdH07XG5cdFx0dW5pZm9ybSBTcG90TGlnaHRTaGFkb3cgc3BvdExpZ2h0U2hhZG93c1sgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTID4gMFxuXHRcdHVuaWZvcm0gc2FtcGxlcjJEIHBvaW50U2hhZG93TWFwWyBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHZhcnlpbmcgdmVjNCB2UG9pbnRTaGFkb3dDb29yZFsgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgXTtcblx0XHRzdHJ1Y3QgUG9pbnRMaWdodFNoYWRvdyB7XG5cdFx0XHRmbG9hdCBzaGFkb3dCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93Tm9ybWFsQmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd1JhZGl1cztcblx0XHRcdHZlYzIgc2hhZG93TWFwU2l6ZTtcblx0XHRcdGZsb2F0IHNoYWRvd0NhbWVyYU5lYXI7XG5cdFx0XHRmbG9hdCBzaGFkb3dDYW1lcmFGYXI7XG5cdFx0fTtcblx0XHR1bmlmb3JtIFBvaW50TGlnaHRTaGFkb3cgcG9pbnRMaWdodFNoYWRvd3NbIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuXHRmbG9hdCB0ZXh0dXJlMkRDb21wYXJlKCBzYW1wbGVyMkQgZGVwdGhzLCB2ZWMyIHV2LCBmbG9hdCBjb21wYXJlICkge1xuXHRcdHJldHVybiBzdGVwKCBjb21wYXJlLCB1bnBhY2tSR0JBVG9EZXB0aCggdGV4dHVyZTJEKCBkZXB0aHMsIHV2ICkgKSApO1xuXHR9XG5cdHZlYzIgdGV4dHVyZTJERGlzdHJpYnV0aW9uKCBzYW1wbGVyMkQgc2hhZG93LCB2ZWMyIHV2ICkge1xuXHRcdHJldHVybiB1bnBhY2tSR0JBVG8ySGFsZiggdGV4dHVyZTJEKCBzaGFkb3csIHV2ICkgKTtcblx0fVxuXHRmbG9hdCBWU01TaGFkb3cgKHNhbXBsZXIyRCBzaGFkb3csIHZlYzIgdXYsIGZsb2F0IGNvbXBhcmUgKXtcblx0XHRmbG9hdCBvY2NsdXNpb24gPSAxLjA7XG5cdFx0dmVjMiBkaXN0cmlidXRpb24gPSB0ZXh0dXJlMkREaXN0cmlidXRpb24oIHNoYWRvdywgdXYgKTtcblx0XHRmbG9hdCBoYXJkX3NoYWRvdyA9IHN0ZXAoIGNvbXBhcmUgLCBkaXN0cmlidXRpb24ueCApO1xuXHRcdGlmIChoYXJkX3NoYWRvdyAhPSAxLjAgKSB7XG5cdFx0XHRmbG9hdCBkaXN0YW5jZSA9IGNvbXBhcmUgLSBkaXN0cmlidXRpb24ueCA7XG5cdFx0XHRmbG9hdCB2YXJpYW5jZSA9IG1heCggMC4wMDAwMCwgZGlzdHJpYnV0aW9uLnkgKiBkaXN0cmlidXRpb24ueSApO1xuXHRcdFx0ZmxvYXQgc29mdG5lc3NfcHJvYmFiaWxpdHkgPSB2YXJpYW5jZSAvICh2YXJpYW5jZSArIGRpc3RhbmNlICogZGlzdGFuY2UgKTtcdFx0XHRzb2Z0bmVzc19wcm9iYWJpbGl0eSA9IGNsYW1wKCAoIHNvZnRuZXNzX3Byb2JhYmlsaXR5IC0gMC4zICkgLyAoIDAuOTUgLSAwLjMgKSwgMC4wLCAxLjAgKTtcdFx0XHRvY2NsdXNpb24gPSBjbGFtcCggbWF4KCBoYXJkX3NoYWRvdywgc29mdG5lc3NfcHJvYmFiaWxpdHkgKSwgMC4wLCAxLjAgKTtcblx0XHR9XG5cdFx0cmV0dXJuIG9jY2x1c2lvbjtcblx0fVxuXHRmbG9hdCBnZXRTaGFkb3coIHNhbXBsZXIyRCBzaGFkb3dNYXAsIHZlYzIgc2hhZG93TWFwU2l6ZSwgZmxvYXQgc2hhZG93QmlhcywgZmxvYXQgc2hhZG93UmFkaXVzLCB2ZWM0IHNoYWRvd0Nvb3JkICkge1xuXHRcdGZsb2F0IHNoYWRvdyA9IDEuMDtcblx0XHRzaGFkb3dDb29yZC54eXogLz0gc2hhZG93Q29vcmQudztcblx0XHRzaGFkb3dDb29yZC56ICs9IHNoYWRvd0JpYXM7XG5cdFx0YnZlYzQgaW5GcnVzdHVtVmVjID0gYnZlYzQgKCBzaGFkb3dDb29yZC54ID49IDAuMCwgc2hhZG93Q29vcmQueCA8PSAxLjAsIHNoYWRvd0Nvb3JkLnkgPj0gMC4wLCBzaGFkb3dDb29yZC55IDw9IDEuMCApO1xuXHRcdGJvb2wgaW5GcnVzdHVtID0gYWxsKCBpbkZydXN0dW1WZWMgKTtcblx0XHRidmVjMiBmcnVzdHVtVGVzdFZlYyA9IGJ2ZWMyKCBpbkZydXN0dW0sIHNoYWRvd0Nvb3JkLnogPD0gMS4wICk7XG5cdFx0Ym9vbCBmcnVzdHVtVGVzdCA9IGFsbCggZnJ1c3R1bVRlc3RWZWMgKTtcblx0XHRpZiAoIGZydXN0dW1UZXN0ICkge1xuXHRcdCNpZiBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9QQ0YgKVxuXHRcdFx0dmVjMiB0ZXhlbFNpemUgPSB2ZWMyKCAxLjAgKSAvIHNoYWRvd01hcFNpemU7XG5cdFx0XHRmbG9hdCBkeDAgPSAtIHRleGVsU2l6ZS54ICogc2hhZG93UmFkaXVzO1xuXHRcdFx0ZmxvYXQgZHkwID0gLSB0ZXhlbFNpemUueSAqIHNoYWRvd1JhZGl1cztcblx0XHRcdGZsb2F0IGR4MSA9ICsgdGV4ZWxTaXplLnggKiBzaGFkb3dSYWRpdXM7XG5cdFx0XHRmbG9hdCBkeTEgPSArIHRleGVsU2l6ZS55ICogc2hhZG93UmFkaXVzO1xuXHRcdFx0ZmxvYXQgZHgyID0gZHgwIC8gMi4wO1xuXHRcdFx0ZmxvYXQgZHkyID0gZHkwIC8gMi4wO1xuXHRcdFx0ZmxvYXQgZHgzID0gZHgxIC8gMi4wO1xuXHRcdFx0ZmxvYXQgZHkzID0gZHkxIC8gMi4wO1xuXHRcdFx0c2hhZG93ID0gKFxuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgwLCBkeTAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIDAuMCwgZHkwICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDEsIGR5MCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgyLCBkeTIgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIDAuMCwgZHkyICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDMsIGR5MiApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgwLCAwLjAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MiwgMC4wICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDMsIDAuMCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgxLCAwLjAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MiwgZHkzICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCAwLjAsIGR5MyApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgzLCBkeTMgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MCwgZHkxICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCAwLjAsIGR5MSApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgxLCBkeTEgKSwgc2hhZG93Q29vcmQueiApXG5cdFx0XHQpICogKCAxLjAgLyAxNy4wICk7XG5cdFx0I2VsaWYgZGVmaW5lZCggU0hBRE9XTUFQX1RZUEVfUENGX1NPRlQgKVxuXHRcdFx0dmVjMiB0ZXhlbFNpemUgPSB2ZWMyKCAxLjAgKSAvIHNoYWRvd01hcFNpemU7XG5cdFx0XHRmbG9hdCBkeCA9IHRleGVsU2l6ZS54O1xuXHRcdFx0ZmxvYXQgZHkgPSB0ZXhlbFNpemUueTtcblx0XHRcdHZlYzIgdXYgPSBzaGFkb3dDb29yZC54eTtcblx0XHRcdHZlYzIgZiA9IGZyYWN0KCB1diAqIHNoYWRvd01hcFNpemUgKyAwLjUgKTtcblx0XHRcdHV2IC09IGYgKiB0ZXhlbFNpemU7XG5cdFx0XHRzaGFkb3cgPSAoXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYsIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCBkeCwgMC4wICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAwLjAsIGR5ICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB0ZXhlbFNpemUsIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdG1peCggdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCB1diArIHZlYzIoIC1keCwgMC4wICksIHNoYWRvd0Nvb3JkLnogKSwgXG5cdFx0XHRcdFx0IHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAyLjAgKiBkeCwgMC4wICksIHNoYWRvd0Nvb3JkLnogKSxcblx0XHRcdFx0XHQgZi54ICkgK1xuXHRcdFx0XHRtaXgoIHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAtZHgsIGR5ICksIHNoYWRvd0Nvb3JkLnogKSwgXG5cdFx0XHRcdFx0IHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAyLjAgKiBkeCwgZHkgKSwgc2hhZG93Q29vcmQueiApLFxuXHRcdFx0XHRcdCBmLnggKSArXG5cdFx0XHRcdG1peCggdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCB1diArIHZlYzIoIDAuMCwgLWR5ICksIHNoYWRvd0Nvb3JkLnogKSwgXG5cdFx0XHRcdFx0IHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAwLjAsIDIuMCAqIGR5ICksIHNoYWRvd0Nvb3JkLnogKSxcblx0XHRcdFx0XHQgZi55ICkgK1xuXHRcdFx0XHRtaXgoIHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCBkeCwgLWR5ICksIHNoYWRvd0Nvb3JkLnogKSwgXG5cdFx0XHRcdFx0IHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCBkeCwgMi4wICogZHkgKSwgc2hhZG93Q29vcmQueiApLFxuXHRcdFx0XHRcdCBmLnkgKSArXG5cdFx0XHRcdG1peCggbWl4KCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggLWR4LCAtZHkgKSwgc2hhZG93Q29vcmQueiApLCBcblx0XHRcdFx0XHRcdCAgdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCB1diArIHZlYzIoIDIuMCAqIGR4LCAtZHkgKSwgc2hhZG93Q29vcmQueiApLFxuXHRcdFx0XHRcdFx0ICBmLnggKSxcblx0XHRcdFx0XHQgbWl4KCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggLWR4LCAyLjAgKiBkeSApLCBzaGFkb3dDb29yZC56ICksIFxuXHRcdFx0XHRcdFx0ICB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggMi4wICogZHgsIDIuMCAqIGR5ICksIHNoYWRvd0Nvb3JkLnogKSxcblx0XHRcdFx0XHRcdCAgZi54ICksXG5cdFx0XHRcdFx0IGYueSApXG5cdFx0XHQpICogKCAxLjAgLyA5LjAgKTtcblx0XHQjZWxpZiBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9WU00gKVxuXHRcdFx0c2hhZG93ID0gVlNNU2hhZG93KCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5LCBzaGFkb3dDb29yZC56ICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHNoYWRvdyA9IHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHksIHNoYWRvd0Nvb3JkLnogKTtcblx0XHQjZW5kaWZcblx0XHR9XG5cdFx0cmV0dXJuIHNoYWRvdztcblx0fVxuXHR2ZWMyIGN1YmVUb1VWKCB2ZWMzIHYsIGZsb2F0IHRleGVsU2l6ZVkgKSB7XG5cdFx0dmVjMyBhYnNWID0gYWJzKCB2ICk7XG5cdFx0ZmxvYXQgc2NhbGVUb0N1YmUgPSAxLjAgLyBtYXgoIGFic1YueCwgbWF4KCBhYnNWLnksIGFic1YueiApICk7XG5cdFx0YWJzViAqPSBzY2FsZVRvQ3ViZTtcblx0XHR2ICo9IHNjYWxlVG9DdWJlICogKCAxLjAgLSAyLjAgKiB0ZXhlbFNpemVZICk7XG5cdFx0dmVjMiBwbGFuYXIgPSB2Lnh5O1xuXHRcdGZsb2F0IGFsbW9zdEFUZXhlbCA9IDEuNSAqIHRleGVsU2l6ZVk7XG5cdFx0ZmxvYXQgYWxtb3N0T25lID0gMS4wIC0gYWxtb3N0QVRleGVsO1xuXHRcdGlmICggYWJzVi56ID49IGFsbW9zdE9uZSApIHtcblx0XHRcdGlmICggdi56ID4gMC4wIClcblx0XHRcdFx0cGxhbmFyLnggPSA0LjAgLSB2Lng7XG5cdFx0fSBlbHNlIGlmICggYWJzVi54ID49IGFsbW9zdE9uZSApIHtcblx0XHRcdGZsb2F0IHNpZ25YID0gc2lnbiggdi54ICk7XG5cdFx0XHRwbGFuYXIueCA9IHYueiAqIHNpZ25YICsgMi4wICogc2lnblg7XG5cdFx0fSBlbHNlIGlmICggYWJzVi55ID49IGFsbW9zdE9uZSApIHtcblx0XHRcdGZsb2F0IHNpZ25ZID0gc2lnbiggdi55ICk7XG5cdFx0XHRwbGFuYXIueCA9IHYueCArIDIuMCAqIHNpZ25ZICsgMi4wO1xuXHRcdFx0cGxhbmFyLnkgPSB2LnogKiBzaWduWSAtIDIuMDtcblx0XHR9XG5cdFx0cmV0dXJuIHZlYzIoIDAuMTI1LCAwLjI1ICkgKiBwbGFuYXIgKyB2ZWMyKCAwLjM3NSwgMC43NSApO1xuXHR9XG5cdGZsb2F0IGdldFBvaW50U2hhZG93KCBzYW1wbGVyMkQgc2hhZG93TWFwLCB2ZWMyIHNoYWRvd01hcFNpemUsIGZsb2F0IHNoYWRvd0JpYXMsIGZsb2F0IHNoYWRvd1JhZGl1cywgdmVjNCBzaGFkb3dDb29yZCwgZmxvYXQgc2hhZG93Q2FtZXJhTmVhciwgZmxvYXQgc2hhZG93Q2FtZXJhRmFyICkge1xuXHRcdHZlYzIgdGV4ZWxTaXplID0gdmVjMiggMS4wICkgLyAoIHNoYWRvd01hcFNpemUgKiB2ZWMyKCA0LjAsIDIuMCApICk7XG5cdFx0dmVjMyBsaWdodFRvUG9zaXRpb24gPSBzaGFkb3dDb29yZC54eXo7XG5cdFx0ZmxvYXQgZHAgPSAoIGxlbmd0aCggbGlnaHRUb1Bvc2l0aW9uICkgLSBzaGFkb3dDYW1lcmFOZWFyICkgLyAoIHNoYWRvd0NhbWVyYUZhciAtIHNoYWRvd0NhbWVyYU5lYXIgKTtcdFx0ZHAgKz0gc2hhZG93Qmlhcztcblx0XHR2ZWMzIGJkM0QgPSBub3JtYWxpemUoIGxpZ2h0VG9Qb3NpdGlvbiApO1xuXHRcdCNpZiBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9QQ0YgKSB8fCBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9QQ0ZfU09GVCApIHx8IGRlZmluZWQoIFNIQURPV01BUF9UWVBFX1ZTTSApXG5cdFx0XHR2ZWMyIG9mZnNldCA9IHZlYzIoIC0gMSwgMSApICogc2hhZG93UmFkaXVzICogdGV4ZWxTaXplLnk7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnh5eSwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QgKyBvZmZzZXQueXl5LCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC54eXgsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnl5eCwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnh4eSwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QgKyBvZmZzZXQueXh5LCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC54eHgsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnl4eCwgdGV4ZWxTaXplLnkgKSwgZHAgKVxuXHRcdFx0KSAqICggMS4wIC8gOS4wICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHJldHVybiB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNELCB0ZXhlbFNpemUueSApLCBkcCApO1xuXHRcdCNlbmRpZlxuXHR9XG4jZW5kaWYiLHNoYWRvd21hcF9wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9TSEFET1dNQVBcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyA+IDBcblx0XHR1bmlmb3JtIG1hdDQgZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXhbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHZhcnlpbmcgdmVjNCB2RGlyZWN0aW9uYWxTaGFkb3dDb29yZFsgTlVNX0RJUl9MSUdIVF9TSEFET1dTIF07XG5cdFx0c3RydWN0IERpcmVjdGlvbmFsTGlnaHRTaGFkb3cge1xuXHRcdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd05vcm1hbEJpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0XHR2ZWMyIHNoYWRvd01hcFNpemU7XG5cdFx0fTtcblx0XHR1bmlmb3JtIERpcmVjdGlvbmFsTGlnaHRTaGFkb3cgZGlyZWN0aW9uYWxMaWdodFNoYWRvd3NbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgPiAwXG5cdFx0dW5pZm9ybSBtYXQ0IHNwb3RTaGFkb3dNYXRyaXhbIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdlNwb3RTaGFkb3dDb29yZFsgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHN0cnVjdCBTcG90TGlnaHRTaGFkb3cge1xuXHRcdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd05vcm1hbEJpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0XHR2ZWMyIHNoYWRvd01hcFNpemU7XG5cdFx0fTtcblx0XHR1bmlmb3JtIFNwb3RMaWdodFNoYWRvdyBzcG90TGlnaHRTaGFkb3dzWyBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuXHQjaWYgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgPiAwXG5cdFx0dW5pZm9ybSBtYXQ0IHBvaW50U2hhZG93TWF0cml4WyBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHZhcnlpbmcgdmVjNCB2UG9pbnRTaGFkb3dDb29yZFsgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgXTtcblx0XHRzdHJ1Y3QgUG9pbnRMaWdodFNoYWRvdyB7XG5cdFx0XHRmbG9hdCBzaGFkb3dCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93Tm9ybWFsQmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd1JhZGl1cztcblx0XHRcdHZlYzIgc2hhZG93TWFwU2l6ZTtcblx0XHRcdGZsb2F0IHNoYWRvd0NhbWVyYU5lYXI7XG5cdFx0XHRmbG9hdCBzaGFkb3dDYW1lcmFGYXI7XG5cdFx0fTtcblx0XHR1bmlmb3JtIFBvaW50TGlnaHRTaGFkb3cgcG9pbnRMaWdodFNoYWRvd3NbIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuI2VuZGlmIixzaGFkb3dtYXBfdmVydGV4OiIjaWZkZWYgVVNFX1NIQURPV01BUFxuXHQjaWYgTlVNX0RJUl9MSUdIVF9TSEFET1dTID4gMCB8fCBOVU1fU1BPVF9MSUdIVF9TSEFET1dTID4gMCB8fCBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyA+IDBcblx0XHR2ZWMzIHNoYWRvd1dvcmxkTm9ybWFsID0gaW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiggdHJhbnNmb3JtZWROb3JtYWwsIHZpZXdNYXRyaXggKTtcblx0XHR2ZWM0IHNoYWRvd1dvcmxkUG9zaXRpb247XG5cdCNlbmRpZlxuXHQjaWYgTlVNX0RJUl9MSUdIVF9TSEFET1dTID4gMFxuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9ESVJfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHRzaGFkb3dXb3JsZFBvc2l0aW9uID0gd29ybGRQb3NpdGlvbiArIHZlYzQoIHNoYWRvd1dvcmxkTm9ybWFsICogZGlyZWN0aW9uYWxMaWdodFNoYWRvd3NbIGkgXS5zaGFkb3dOb3JtYWxCaWFzLCAwICk7XG5cdFx0dkRpcmVjdGlvbmFsU2hhZG93Q29vcmRbIGkgXSA9IGRpcmVjdGlvbmFsU2hhZG93TWF0cml4WyBpIF0gKiBzaGFkb3dXb3JsZFBvc2l0aW9uO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdCNlbmRpZlxuXHQjaWYgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fU1BPVF9MSUdIVF9TSEFET1dTOyBpICsrICkge1xuXHRcdHNoYWRvd1dvcmxkUG9zaXRpb24gPSB3b3JsZFBvc2l0aW9uICsgdmVjNCggc2hhZG93V29ybGROb3JtYWwgKiBzcG90TGlnaHRTaGFkb3dzWyBpIF0uc2hhZG93Tm9ybWFsQmlhcywgMCApO1xuXHRcdHZTcG90U2hhZG93Q29vcmRbIGkgXSA9IHNwb3RTaGFkb3dNYXRyaXhbIGkgXSAqIHNoYWRvd1dvcmxkUG9zaXRpb247XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcblx0I2VuZGlmXG5cdCNpZiBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHRzaGFkb3dXb3JsZFBvc2l0aW9uID0gd29ybGRQb3NpdGlvbiArIHZlYzQoIHNoYWRvd1dvcmxkTm9ybWFsICogcG9pbnRMaWdodFNoYWRvd3NbIGkgXS5zaGFkb3dOb3JtYWxCaWFzLCAwICk7XG5cdFx0dlBvaW50U2hhZG93Q29vcmRbIGkgXSA9IHBvaW50U2hhZG93TWF0cml4WyBpIF0gKiBzaGFkb3dXb3JsZFBvc2l0aW9uO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdCNlbmRpZlxuI2VuZGlmIixzaGFkb3dtYXNrX3BhcnNfZnJhZ21lbnQ6ImZsb2F0IGdldFNoYWRvd01hc2soKSB7XG5cdGZsb2F0IHNoYWRvdyA9IDEuMDtcblx0I2lmZGVmIFVTRV9TSEFET1dNQVBcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyA+IDBcblx0RGlyZWN0aW9uYWxMaWdodFNoYWRvdyBkaXJlY3Rpb25hbExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9ESVJfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHRkaXJlY3Rpb25hbExpZ2h0ID0gZGlyZWN0aW9uYWxMaWdodFNoYWRvd3NbIGkgXTtcblx0XHRzaGFkb3cgKj0gcmVjZWl2ZVNoYWRvdyA/IGdldFNoYWRvdyggZGlyZWN0aW9uYWxTaGFkb3dNYXBbIGkgXSwgZGlyZWN0aW9uYWxMaWdodC5zaGFkb3dNYXBTaXplLCBkaXJlY3Rpb25hbExpZ2h0LnNoYWRvd0JpYXMsIGRpcmVjdGlvbmFsTGlnaHQuc2hhZG93UmFkaXVzLCB2RGlyZWN0aW9uYWxTaGFkb3dDb29yZFsgaSBdICkgOiAxLjA7XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcblx0I2VuZGlmXG5cdCNpZiBOVU1fU1BPVF9MSUdIVF9TSEFET1dTID4gMFxuXHRTcG90TGlnaHRTaGFkb3cgc3BvdExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9TUE9UX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0c3BvdExpZ2h0ID0gc3BvdExpZ2h0U2hhZG93c1sgaSBdO1xuXHRcdHNoYWRvdyAqPSByZWNlaXZlU2hhZG93ID8gZ2V0U2hhZG93KCBzcG90U2hhZG93TWFwWyBpIF0sIHNwb3RMaWdodC5zaGFkb3dNYXBTaXplLCBzcG90TGlnaHQuc2hhZG93Qmlhcywgc3BvdExpZ2h0LnNoYWRvd1JhZGl1cywgdlNwb3RTaGFkb3dDb29yZFsgaSBdICkgOiAxLjA7XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcblx0I2VuZGlmXG5cdCNpZiBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyA+IDBcblx0UG9pbnRMaWdodFNoYWRvdyBwb2ludExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTOyBpICsrICkge1xuXHRcdHBvaW50TGlnaHQgPSBwb2ludExpZ2h0U2hhZG93c1sgaSBdO1xuXHRcdHNoYWRvdyAqPSByZWNlaXZlU2hhZG93ID8gZ2V0UG9pbnRTaGFkb3coIHBvaW50U2hhZG93TWFwWyBpIF0sIHBvaW50TGlnaHQuc2hhZG93TWFwU2l6ZSwgcG9pbnRMaWdodC5zaGFkb3dCaWFzLCBwb2ludExpZ2h0LnNoYWRvd1JhZGl1cywgdlBvaW50U2hhZG93Q29vcmRbIGkgXSwgcG9pbnRMaWdodC5zaGFkb3dDYW1lcmFOZWFyLCBwb2ludExpZ2h0LnNoYWRvd0NhbWVyYUZhciApIDogMS4wO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdCNlbmRpZlxuXHQjZW5kaWZcblx0cmV0dXJuIHNoYWRvdztcbn0iLHNraW5iYXNlX3ZlcnRleDoiI2lmZGVmIFVTRV9TS0lOTklOR1xuXHRtYXQ0IGJvbmVNYXRYID0gZ2V0Qm9uZU1hdHJpeCggc2tpbkluZGV4LnggKTtcblx0bWF0NCBib25lTWF0WSA9IGdldEJvbmVNYXRyaXgoIHNraW5JbmRleC55ICk7XG5cdG1hdDQgYm9uZU1hdFogPSBnZXRCb25lTWF0cml4KCBza2luSW5kZXgueiApO1xuXHRtYXQ0IGJvbmVNYXRXID0gZ2V0Qm9uZU1hdHJpeCggc2tpbkluZGV4LncgKTtcbiNlbmRpZiIsc2tpbm5pbmdfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfU0tJTk5JTkdcblx0dW5pZm9ybSBtYXQ0IGJpbmRNYXRyaXg7XG5cdHVuaWZvcm0gbWF0NCBiaW5kTWF0cml4SW52ZXJzZTtcblx0I2lmZGVmIEJPTkVfVEVYVFVSRVxuXHRcdHVuaWZvcm0gaGlnaHAgc2FtcGxlcjJEIGJvbmVUZXh0dXJlO1xuXHRcdHVuaWZvcm0gaW50IGJvbmVUZXh0dXJlU2l6ZTtcblx0XHRtYXQ0IGdldEJvbmVNYXRyaXgoIGNvbnN0IGluIGZsb2F0IGkgKSB7XG5cdFx0XHRmbG9hdCBqID0gaSAqIDQuMDtcblx0XHRcdGZsb2F0IHggPSBtb2QoIGosIGZsb2F0KCBib25lVGV4dHVyZVNpemUgKSApO1xuXHRcdFx0ZmxvYXQgeSA9IGZsb29yKCBqIC8gZmxvYXQoIGJvbmVUZXh0dXJlU2l6ZSApICk7XG5cdFx0XHRmbG9hdCBkeCA9IDEuMCAvIGZsb2F0KCBib25lVGV4dHVyZVNpemUgKTtcblx0XHRcdGZsb2F0IGR5ID0gMS4wIC8gZmxvYXQoIGJvbmVUZXh0dXJlU2l6ZSApO1xuXHRcdFx0eSA9IGR5ICogKCB5ICsgMC41ICk7XG5cdFx0XHR2ZWM0IHYxID0gdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAwLjUgKSwgeSApICk7XG5cdFx0XHR2ZWM0IHYyID0gdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAxLjUgKSwgeSApICk7XG5cdFx0XHR2ZWM0IHYzID0gdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAyLjUgKSwgeSApICk7XG5cdFx0XHR2ZWM0IHY0ID0gdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAzLjUgKSwgeSApICk7XG5cdFx0XHRtYXQ0IGJvbmUgPSBtYXQ0KCB2MSwgdjIsIHYzLCB2NCApO1xuXHRcdFx0cmV0dXJuIGJvbmU7XG5cdFx0fVxuXHQjZWxzZVxuXHRcdHVuaWZvcm0gbWF0NCBib25lTWF0cmljZXNbIE1BWF9CT05FUyBdO1xuXHRcdG1hdDQgZ2V0Qm9uZU1hdHJpeCggY29uc3QgaW4gZmxvYXQgaSApIHtcblx0XHRcdG1hdDQgYm9uZSA9IGJvbmVNYXRyaWNlc1sgaW50KGkpIF07XG5cdFx0XHRyZXR1cm4gYm9uZTtcblx0XHR9XG5cdCNlbmRpZlxuI2VuZGlmIixza2lubmluZ192ZXJ0ZXg6IiNpZmRlZiBVU0VfU0tJTk5JTkdcblx0dmVjNCBza2luVmVydGV4ID0gYmluZE1hdHJpeCAqIHZlYzQoIHRyYW5zZm9ybWVkLCAxLjAgKTtcblx0dmVjNCBza2lubmVkID0gdmVjNCggMC4wICk7XG5cdHNraW5uZWQgKz0gYm9uZU1hdFggKiBza2luVmVydGV4ICogc2tpbldlaWdodC54O1xuXHRza2lubmVkICs9IGJvbmVNYXRZICogc2tpblZlcnRleCAqIHNraW5XZWlnaHQueTtcblx0c2tpbm5lZCArPSBib25lTWF0WiAqIHNraW5WZXJ0ZXggKiBza2luV2VpZ2h0Lno7XG5cdHNraW5uZWQgKz0gYm9uZU1hdFcgKiBza2luVmVydGV4ICogc2tpbldlaWdodC53O1xuXHR0cmFuc2Zvcm1lZCA9ICggYmluZE1hdHJpeEludmVyc2UgKiBza2lubmVkICkueHl6O1xuI2VuZGlmIixza2lubm9ybWFsX3ZlcnRleDoiI2lmZGVmIFVTRV9TS0lOTklOR1xuXHRtYXQ0IHNraW5NYXRyaXggPSBtYXQ0KCAwLjAgKTtcblx0c2tpbk1hdHJpeCArPSBza2luV2VpZ2h0LnggKiBib25lTWF0WDtcblx0c2tpbk1hdHJpeCArPSBza2luV2VpZ2h0LnkgKiBib25lTWF0WTtcblx0c2tpbk1hdHJpeCArPSBza2luV2VpZ2h0LnogKiBib25lTWF0Wjtcblx0c2tpbk1hdHJpeCArPSBza2luV2VpZ2h0LncgKiBib25lTWF0Vztcblx0c2tpbk1hdHJpeCA9IGJpbmRNYXRyaXhJbnZlcnNlICogc2tpbk1hdHJpeCAqIGJpbmRNYXRyaXg7XG5cdG9iamVjdE5vcm1hbCA9IHZlYzQoIHNraW5NYXRyaXggKiB2ZWM0KCBvYmplY3ROb3JtYWwsIDAuMCApICkueHl6O1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHRvYmplY3RUYW5nZW50ID0gdmVjNCggc2tpbk1hdHJpeCAqIHZlYzQoIG9iamVjdFRhbmdlbnQsIDAuMCApICkueHl6O1xuXHQjZW5kaWZcbiNlbmRpZiIsc3BlY3VsYXJtYXBfZnJhZ21lbnQ6ImZsb2F0IHNwZWN1bGFyU3RyZW5ndGg7XG4jaWZkZWYgVVNFX1NQRUNVTEFSTUFQXG5cdHZlYzQgdGV4ZWxTcGVjdWxhciA9IHRleHR1cmUyRCggc3BlY3VsYXJNYXAsIHZVdiApO1xuXHRzcGVjdWxhclN0cmVuZ3RoID0gdGV4ZWxTcGVjdWxhci5yO1xuI2Vsc2Vcblx0c3BlY3VsYXJTdHJlbmd0aCA9IDEuMDtcbiNlbmRpZiIsc3BlY3VsYXJtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9TUEVDVUxBUk1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBzcGVjdWxhck1hcDtcbiNlbmRpZiIsdG9uZW1hcHBpbmdfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBUT05FX01BUFBJTkcgKVxuXHRnbF9GcmFnQ29sb3IucmdiID0gdG9uZU1hcHBpbmcoIGdsX0ZyYWdDb2xvci5yZ2IgKTtcbiNlbmRpZiIsdG9uZW1hcHBpbmdfcGFyc19mcmFnbWVudDoiI2lmbmRlZiBzYXR1cmF0ZVxuI2RlZmluZSBzYXR1cmF0ZShhKSBjbGFtcCggYSwgMC4wLCAxLjAgKVxuI2VuZGlmXG51bmlmb3JtIGZsb2F0IHRvbmVNYXBwaW5nRXhwb3N1cmU7XG52ZWMzIExpbmVhclRvbmVNYXBwaW5nKCB2ZWMzIGNvbG9yICkge1xuXHRyZXR1cm4gdG9uZU1hcHBpbmdFeHBvc3VyZSAqIGNvbG9yO1xufVxudmVjMyBSZWluaGFyZFRvbmVNYXBwaW5nKCB2ZWMzIGNvbG9yICkge1xuXHRjb2xvciAqPSB0b25lTWFwcGluZ0V4cG9zdXJlO1xuXHRyZXR1cm4gc2F0dXJhdGUoIGNvbG9yIC8gKCB2ZWMzKCAxLjAgKSArIGNvbG9yICkgKTtcbn1cbnZlYzMgT3B0aW1pemVkQ2luZW9uVG9uZU1hcHBpbmcoIHZlYzMgY29sb3IgKSB7XG5cdGNvbG9yICo9IHRvbmVNYXBwaW5nRXhwb3N1cmU7XG5cdGNvbG9yID0gbWF4KCB2ZWMzKCAwLjAgKSwgY29sb3IgLSAwLjAwNCApO1xuXHRyZXR1cm4gcG93KCAoIGNvbG9yICogKCA2LjIgKiBjb2xvciArIDAuNSApICkgLyAoIGNvbG9yICogKCA2LjIgKiBjb2xvciArIDEuNyApICsgMC4wNiApLCB2ZWMzKCAyLjIgKSApO1xufVxudmVjMyBSUlRBbmRPRFRGaXQoIHZlYzMgdiApIHtcblx0dmVjMyBhID0gdiAqICggdiArIDAuMDI0NTc4NiApIC0gMC4wMDAwOTA1Mzc7XG5cdHZlYzMgYiA9IHYgKiAoIDAuOTgzNzI5ICogdiArIDAuNDMyOTUxMCApICsgMC4yMzgwODE7XG5cdHJldHVybiBhIC8gYjtcbn1cbnZlYzMgQUNFU0ZpbG1pY1RvbmVNYXBwaW5nKCB2ZWMzIGNvbG9yICkge1xuXHRjb25zdCBtYXQzIEFDRVNJbnB1dE1hdCA9IG1hdDMoXG5cdFx0dmVjMyggMC41OTcxOSwgMC4wNzYwMCwgMC4wMjg0MCApLFx0XHR2ZWMzKCAwLjM1NDU4LCAwLjkwODM0LCAwLjEzMzgzICksXG5cdFx0dmVjMyggMC4wNDgyMywgMC4wMTU2NiwgMC44Mzc3NyApXG5cdCk7XG5cdGNvbnN0IG1hdDMgQUNFU091dHB1dE1hdCA9IG1hdDMoXG5cdFx0dmVjMyggIDEuNjA0NzUsIC0wLjEwMjA4LCAtMC4wMDMyNyApLFx0XHR2ZWMzKCAtMC41MzEwOCwgIDEuMTA4MTMsIC0wLjA3Mjc2ICksXG5cdFx0dmVjMyggLTAuMDczNjcsIC0wLjAwNjA1LCAgMS4wNzYwMiApXG5cdCk7XG5cdGNvbG9yICo9IHRvbmVNYXBwaW5nRXhwb3N1cmUgLyAwLjY7XG5cdGNvbG9yID0gQUNFU0lucHV0TWF0ICogY29sb3I7XG5cdGNvbG9yID0gUlJUQW5kT0RURml0KCBjb2xvciApO1xuXHRjb2xvciA9IEFDRVNPdXRwdXRNYXQgKiBjb2xvcjtcblx0cmV0dXJuIHNhdHVyYXRlKCBjb2xvciApO1xufVxudmVjMyBDdXN0b21Ub25lTWFwcGluZyggdmVjMyBjb2xvciApIHsgcmV0dXJuIGNvbG9yOyB9Iix0cmFuc21pc3Npb25fZnJhZ21lbnQ6IiNpZmRlZiBVU0VfVFJBTlNNSVNTSU9OXG5cdGZsb2F0IHRyYW5zbWlzc2lvbkZhY3RvciA9IHRyYW5zbWlzc2lvbjtcblx0ZmxvYXQgdGhpY2tuZXNzRmFjdG9yID0gdGhpY2tuZXNzO1xuXHQjaWZkZWYgVVNFX1RSQU5TTUlTU0lPTk1BUFxuXHRcdHRyYW5zbWlzc2lvbkZhY3RvciAqPSB0ZXh0dXJlMkQoIHRyYW5zbWlzc2lvbk1hcCwgdlV2ICkucjtcblx0I2VuZGlmXG5cdCNpZmRlZiBVU0VfVEhJQ0tORVNTTUFQXG5cdFx0dGhpY2tuZXNzRmFjdG9yICo9IHRleHR1cmUyRCggdGhpY2tuZXNzTWFwLCB2VXYgKS5nO1xuXHQjZW5kaWZcblx0dmVjMyBwb3MgPSB2V29ybGRQb3NpdGlvbi54eXogLyB2V29ybGRQb3NpdGlvbi53O1xuXHR2ZWMzIHYgPSBub3JtYWxpemUoIGNhbWVyYVBvc2l0aW9uIC0gcG9zICk7XG5cdHZlYzMgbiA9IGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIG5vcm1hbCwgdmlld01hdHJpeCApO1xuXHRmbG9hdCBpb3IgPSAoIDEuMCArIDAuNCAqIHJlZmxlY3Rpdml0eSApIC8gKCAxLjAgLSAwLjQgKiByZWZsZWN0aXZpdHkgKTtcblx0dmVjMyB0cmFuc21pc3Npb24gPSB0cmFuc21pc3Npb25GYWN0b3IgKiBnZXRJQkxWb2x1bWVSZWZyYWN0aW9uKFxuXHRcdG4sIHYsIHJvdWdobmVzc0ZhY3RvciwgbWF0ZXJpYWwuZGlmZnVzZUNvbG9yLCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yLFxuXHRcdHBvcywgbW9kZWxNYXRyaXgsIHZpZXdNYXRyaXgsIHByb2plY3Rpb25NYXRyaXgsIGlvciwgdGhpY2tuZXNzRmFjdG9yLFxuXHRcdGF0dGVudWF0aW9uVGludCwgYXR0ZW51YXRpb25EaXN0YW5jZSApO1xuXHR0b3RhbERpZmZ1c2UgPSBtaXgoIHRvdGFsRGlmZnVzZSwgdHJhbnNtaXNzaW9uLCB0cmFuc21pc3Npb25GYWN0b3IgKTtcbiNlbmRpZiIsdHJhbnNtaXNzaW9uX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfVFJBTlNNSVNTSU9OXG5cdCNpZmRlZiBVU0VfVFJBTlNNSVNTSU9OTUFQXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgdHJhbnNtaXNzaW9uTWFwO1xuXHQjZW5kaWZcblx0I2lmZGVmIFVTRV9USElDS05FU1NNQVBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCB0aGlja25lc3NNYXA7XG5cdCNlbmRpZlxuXHR1bmlmb3JtIHZlYzIgdHJhbnNtaXNzaW9uU2FtcGxlclNpemU7XG5cdHVuaWZvcm0gc2FtcGxlcjJEIHRyYW5zbWlzc2lvblNhbXBsZXJNYXA7XG5cdHVuaWZvcm0gbWF0NCBtb2RlbE1hdHJpeDtcblx0dW5pZm9ybSBtYXQ0IHByb2plY3Rpb25NYXRyaXg7XG5cdHZhcnlpbmcgdmVjNCB2V29ybGRQb3NpdGlvbjtcblx0dmVjMyBnZXRWb2x1bWVUcmFuc21pc3Npb25SYXkodmVjMyBuLCB2ZWMzIHYsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgaW9yLCBtYXQ0IG1vZGVsTWF0cml4KSB7XG5cdFx0dmVjMyByZWZyYWN0aW9uVmVjdG9yID0gcmVmcmFjdCgtdiwgbm9ybWFsaXplKG4pLCAxLjAgLyBpb3IpO1xuXHRcdHZlYzMgbW9kZWxTY2FsZTtcblx0XHRtb2RlbFNjYWxlLnggPSBsZW5ndGgodmVjMyhtb2RlbE1hdHJpeFswXS54eXopKTtcblx0XHRtb2RlbFNjYWxlLnkgPSBsZW5ndGgodmVjMyhtb2RlbE1hdHJpeFsxXS54eXopKTtcblx0XHRtb2RlbFNjYWxlLnogPSBsZW5ndGgodmVjMyhtb2RlbE1hdHJpeFsyXS54eXopKTtcblx0XHRyZXR1cm4gbm9ybWFsaXplKHJlZnJhY3Rpb25WZWN0b3IpICogdGhpY2tuZXNzICogbW9kZWxTY2FsZTtcblx0fVxuXHRmbG9hdCBhcHBseUlvclRvUm91Z2huZXNzKGZsb2F0IHJvdWdobmVzcywgZmxvYXQgaW9yKSB7XG5cdFx0cmV0dXJuIHJvdWdobmVzcyAqIGNsYW1wKGlvciAqIDIuMCAtIDIuMCwgMC4wLCAxLjApO1xuXHR9XG5cdHZlYzMgZ2V0VHJhbnNtaXNzaW9uU2FtcGxlKHZlYzIgZnJhZ0Nvb3JkLCBmbG9hdCByb3VnaG5lc3MsIGZsb2F0IGlvcikge1xuXHRcdGZsb2F0IGZyYW1lYnVmZmVyTG9kID0gbG9nMih0cmFuc21pc3Npb25TYW1wbGVyU2l6ZS54KSAqIGFwcGx5SW9yVG9Sb3VnaG5lc3Mocm91Z2huZXNzLCBpb3IpO1xuXHRcdHJldHVybiB0ZXh0dXJlMkRMb2RFWFQodHJhbnNtaXNzaW9uU2FtcGxlck1hcCwgZnJhZ0Nvb3JkLnh5LCBmcmFtZWJ1ZmZlckxvZCkucmdiO1xuXHR9XG5cdHZlYzMgYXBwbHlWb2x1bWVBdHRlbnVhdGlvbih2ZWMzIHJhZGlhbmNlLCBmbG9hdCB0cmFuc21pc3Npb25EaXN0YW5jZSwgdmVjMyBhdHRlbnVhdGlvbkNvbG9yLCBmbG9hdCBhdHRlbnVhdGlvbkRpc3RhbmNlKSB7XG5cdFx0aWYgKGF0dGVudWF0aW9uRGlzdGFuY2UgPT0gMC4wKSB7XG5cdFx0XHRyZXR1cm4gcmFkaWFuY2U7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHZlYzMgYXR0ZW51YXRpb25Db2VmZmljaWVudCA9IC1sb2coYXR0ZW51YXRpb25Db2xvcikgLyBhdHRlbnVhdGlvbkRpc3RhbmNlO1xuXHRcdFx0dmVjMyB0cmFuc21pdHRhbmNlID0gZXhwKC1hdHRlbnVhdGlvbkNvZWZmaWNpZW50ICogdHJhbnNtaXNzaW9uRGlzdGFuY2UpO1x0XHRcdHJldHVybiB0cmFuc21pdHRhbmNlICogcmFkaWFuY2U7XG5cdFx0fVxuXHR9XG5cdHZlYzMgZ2V0SUJMVm9sdW1lUmVmcmFjdGlvbih2ZWMzIG4sIHZlYzMgdiwgZmxvYXQgcGVyY2VwdHVhbFJvdWdobmVzcywgdmVjMyBiYXNlQ29sb3IsIHZlYzMgc3BlY3VsYXJDb2xvcixcblx0XHR2ZWMzIHBvc2l0aW9uLCBtYXQ0IG1vZGVsTWF0cml4LCBtYXQ0IHZpZXdNYXRyaXgsIG1hdDQgcHJvak1hdHJpeCwgZmxvYXQgaW9yLCBmbG9hdCB0aGlja25lc3MsXG5cdFx0dmVjMyBhdHRlbnVhdGlvbkNvbG9yLCBmbG9hdCBhdHRlbnVhdGlvbkRpc3RhbmNlKSB7XG5cdFx0dmVjMyB0cmFuc21pc3Npb25SYXkgPSBnZXRWb2x1bWVUcmFuc21pc3Npb25SYXkobiwgdiwgdGhpY2tuZXNzLCBpb3IsIG1vZGVsTWF0cml4KTtcblx0XHR2ZWMzIHJlZnJhY3RlZFJheUV4aXQgPSBwb3NpdGlvbiArIHRyYW5zbWlzc2lvblJheTtcblx0XHR2ZWM0IG5kY1BvcyA9IHByb2pNYXRyaXggKiB2aWV3TWF0cml4ICogdmVjNChyZWZyYWN0ZWRSYXlFeGl0LCAxLjApO1xuXHRcdHZlYzIgcmVmcmFjdGlvbkNvb3JkcyA9IG5kY1Bvcy54eSAvIG5kY1Bvcy53O1xuXHRcdHJlZnJhY3Rpb25Db29yZHMgKz0gMS4wO1xuXHRcdHJlZnJhY3Rpb25Db29yZHMgLz0gMi4wO1xuXHRcdHZlYzMgdHJhbnNtaXR0ZWRMaWdodCA9IGdldFRyYW5zbWlzc2lvblNhbXBsZShyZWZyYWN0aW9uQ29vcmRzLCBwZXJjZXB0dWFsUm91Z2huZXNzLCBpb3IpO1xuXHRcdHZlYzMgYXR0ZW51YXRlZENvbG9yID0gYXBwbHlWb2x1bWVBdHRlbnVhdGlvbih0cmFuc21pdHRlZExpZ2h0LCBsZW5ndGgodHJhbnNtaXNzaW9uUmF5KSwgYXR0ZW51YXRpb25Db2xvciwgYXR0ZW51YXRpb25EaXN0YW5jZSk7XG5cdFx0cmV0dXJuICgxLjAgLSBzcGVjdWxhckNvbG9yKSAqIGF0dGVudWF0ZWRDb2xvciAqIGJhc2VDb2xvcjtcblx0fVxuI2VuZGlmIix1dl9wYXJzX2ZyYWdtZW50OiIjaWYgKCBkZWZpbmVkKCBVU0VfVVYgKSAmJiAhIGRlZmluZWQoIFVWU19WRVJURVhfT05MWSApIClcblx0dmFyeWluZyB2ZWMyIHZVdjtcbiNlbmRpZiIsdXZfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfVVZcblx0I2lmZGVmIFVWU19WRVJURVhfT05MWVxuXHRcdHZlYzIgdlV2O1xuXHQjZWxzZVxuXHRcdHZhcnlpbmcgdmVjMiB2VXY7XG5cdCNlbmRpZlxuXHR1bmlmb3JtIG1hdDMgdXZUcmFuc2Zvcm07XG4jZW5kaWYiLHV2X3ZlcnRleDoiI2lmZGVmIFVTRV9VVlxuXHR2VXYgPSAoIHV2VHJhbnNmb3JtICogdmVjMyggdXYsIDEgKSApLnh5O1xuI2VuZGlmIix1djJfcGFyc19mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9MSUdIVE1BUCApIHx8IGRlZmluZWQoIFVTRV9BT01BUCApXG5cdHZhcnlpbmcgdmVjMiB2VXYyO1xuI2VuZGlmIix1djJfcGFyc192ZXJ0ZXg6IiNpZiBkZWZpbmVkKCBVU0VfTElHSFRNQVAgKSB8fCBkZWZpbmVkKCBVU0VfQU9NQVAgKVxuXHRhdHRyaWJ1dGUgdmVjMiB1djI7XG5cdHZhcnlpbmcgdmVjMiB2VXYyO1xuXHR1bmlmb3JtIG1hdDMgdXYyVHJhbnNmb3JtO1xuI2VuZGlmIix1djJfdmVydGV4OiIjaWYgZGVmaW5lZCggVVNFX0xJR0hUTUFQICkgfHwgZGVmaW5lZCggVVNFX0FPTUFQIClcblx0dlV2MiA9ICggdXYyVHJhbnNmb3JtICogdmVjMyggdXYyLCAxICkgKS54eTtcbiNlbmRpZiIsd29ybGRwb3NfdmVydGV4OiIjaWYgZGVmaW5lZCggVVNFX0VOVk1BUCApIHx8IGRlZmluZWQoIERJU1RBTkNFICkgfHwgZGVmaW5lZCAoIFVTRV9TSEFET1dNQVAgKSB8fCBkZWZpbmVkICggVVNFX1RSQU5TTUlTU0lPTiApXG5cdHZlYzQgd29ybGRQb3NpdGlvbiA9IHZlYzQoIHRyYW5zZm9ybWVkLCAxLjAgKTtcblx0I2lmZGVmIFVTRV9JTlNUQU5DSU5HXG5cdFx0d29ybGRQb3NpdGlvbiA9IGluc3RhbmNlTWF0cml4ICogd29ybGRQb3NpdGlvbjtcblx0I2VuZGlmXG5cdHdvcmxkUG9zaXRpb24gPSBtb2RlbE1hdHJpeCAqIHdvcmxkUG9zaXRpb247XG4jZW5kaWYiLGJhY2tncm91bmRfZnJhZzoidW5pZm9ybSBzYW1wbGVyMkQgdDJEO1xudmFyeWluZyB2ZWMyIHZVdjtcbnZvaWQgbWFpbigpIHtcblx0dmVjNCB0ZXhDb2xvciA9IHRleHR1cmUyRCggdDJELCB2VXYgKTtcblx0Z2xfRnJhZ0NvbG9yID0gbWFwVGV4ZWxUb0xpbmVhciggdGV4Q29sb3IgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxufSIsYmFja2dyb3VuZF92ZXJ0OiJ2YXJ5aW5nIHZlYzIgdlV2O1xudW5pZm9ybSBtYXQzIHV2VHJhbnNmb3JtO1xudm9pZCBtYWluKCkge1xuXHR2VXYgPSAoIHV2VHJhbnNmb3JtICogdmVjMyggdXYsIDEgKSApLnh5O1xuXHRnbF9Qb3NpdGlvbiA9IHZlYzQoIHBvc2l0aW9uLnh5LCAxLjAsIDEuMCApO1xufSIsY3ViZV9mcmFnOiIjaW5jbHVkZSA8ZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50PlxudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xudmFyeWluZyB2ZWMzIHZXb3JsZERpcmVjdGlvbjtcbiNpbmNsdWRlIDxjdWJlX3V2X3JlZmxlY3Rpb25fZnJhZ21lbnQ+XG52b2lkIG1haW4oKSB7XG5cdHZlYzMgdlJlZmxlY3QgPSB2V29ybGREaXJlY3Rpb247XG5cdCNpbmNsdWRlIDxlbnZtYXBfZnJhZ21lbnQ+XG5cdGdsX0ZyYWdDb2xvciA9IGVudkNvbG9yO1xuXHRnbF9GcmFnQ29sb3IuYSAqPSBvcGFjaXR5O1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG59IixjdWJlX3ZlcnQ6InZhcnlpbmcgdmVjMyB2V29ybGREaXJlY3Rpb247XG4jaW5jbHVkZSA8Y29tbW9uPlxudm9pZCBtYWluKCkge1xuXHR2V29ybGREaXJlY3Rpb24gPSB0cmFuc2Zvcm1EaXJlY3Rpb24oIHBvc2l0aW9uLCBtb2RlbE1hdHJpeCApO1xuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdGdsX1Bvc2l0aW9uLnogPSBnbF9Qb3NpdGlvbi53O1xufSIsZGVwdGhfZnJhZzoiI2lmIERFUFRIX1BBQ0tJTkcgPT0gMzIwMFxuXHR1bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jZW5kaWZcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8cGFja2luZz5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZhcnlpbmcgdmVjMiB2SGlnaFByZWNpc2lvblpXO1xudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIDEuMCApO1xuXHQjaWYgREVQVEhfUEFDS0lORyA9PSAzMjAwXG5cdFx0ZGlmZnVzZUNvbG9yLmEgPSBvcGFjaXR5O1xuXHQjZW5kaWZcblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhbWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGF0ZXN0X2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdGZsb2F0IGZyYWdDb29yZFogPSAwLjUgKiB2SGlnaFByZWNpc2lvblpXWzBdIC8gdkhpZ2hQcmVjaXNpb25aV1sxXSArIDAuNTtcblx0I2lmIERFUFRIX1BBQ0tJTkcgPT0gMzIwMFxuXHRcdGdsX0ZyYWdDb2xvciA9IHZlYzQoIHZlYzMoIDEuMCAtIGZyYWdDb29yZFogKSwgb3BhY2l0eSApO1xuXHQjZWxpZiBERVBUSF9QQUNLSU5HID09IDMyMDFcblx0XHRnbF9GcmFnQ29sb3IgPSBwYWNrRGVwdGhUb1JHQkEoIGZyYWdDb29yZFogKTtcblx0I2VuZGlmXG59IixkZXB0aF92ZXJ0OiIjaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxtb3JwaHRhcmdldF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxza2lubmluZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52YXJ5aW5nIHZlYzIgdkhpZ2hQcmVjaXNpb25aVztcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2lmZGVmIFVTRV9ESVNQTEFDRU1FTlRNQVBcblx0XHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxtb3JwaG5vcm1hbF92ZXJ0ZXg+XG5cdFx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjZW5kaWZcblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBodGFyZ2V0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5uaW5nX3ZlcnRleD5cblx0I2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdHZIaWdoUHJlY2lzaW9uWlcgPSBnbF9Qb3NpdGlvbi56dztcbn0iLGRpc3RhbmNlUkdCQV9mcmFnOiIjZGVmaW5lIERJU1RBTkNFXG51bmlmb3JtIHZlYzMgcmVmZXJlbmNlUG9zaXRpb247XG51bmlmb3JtIGZsb2F0IG5lYXJEaXN0YW5jZTtcbnVuaWZvcm0gZmxvYXQgZmFyRGlzdGFuY2U7XG52YXJ5aW5nIHZlYzMgdldvcmxkUG9zaXRpb247XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluICgpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCAxLjAgKTtcblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhbWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGF0ZXN0X2ZyYWdtZW50PlxuXHRmbG9hdCBkaXN0ID0gbGVuZ3RoKCB2V29ybGRQb3NpdGlvbiAtIHJlZmVyZW5jZVBvc2l0aW9uICk7XG5cdGRpc3QgPSAoIGRpc3QgLSBuZWFyRGlzdGFuY2UgKSAvICggZmFyRGlzdGFuY2UgLSBuZWFyRGlzdGFuY2UgKTtcblx0ZGlzdCA9IHNhdHVyYXRlKCBkaXN0ICk7XG5cdGdsX0ZyYWdDb2xvciA9IHBhY2tEZXB0aFRvUkdCQSggZGlzdCApO1xufSIsZGlzdGFuY2VSR0JBX3ZlcnQ6IiNkZWZpbmUgRElTVEFOQ0VcbnZhcnlpbmcgdmVjMyB2V29ybGRQb3NpdGlvbjtcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2lmZGVmIFVTRV9ESVNQTEFDRU1FTlRNQVBcblx0XHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxtb3JwaG5vcm1hbF92ZXJ0ZXg+XG5cdFx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjZW5kaWZcblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBodGFyZ2V0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5uaW5nX3ZlcnRleD5cblx0I2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdHZXb3JsZFBvc2l0aW9uID0gd29ybGRQb3NpdGlvbi54eXo7XG59IixlcXVpcmVjdF9mcmFnOiJ1bmlmb3JtIHNhbXBsZXIyRCB0RXF1aXJlY3Q7XG52YXJ5aW5nIHZlYzMgdldvcmxkRGlyZWN0aW9uO1xuI2luY2x1ZGUgPGNvbW1vbj5cbnZvaWQgbWFpbigpIHtcblx0dmVjMyBkaXJlY3Rpb24gPSBub3JtYWxpemUoIHZXb3JsZERpcmVjdGlvbiApO1xuXHR2ZWMyIHNhbXBsZVVWID0gZXF1aXJlY3RVdiggZGlyZWN0aW9uICk7XG5cdHZlYzQgdGV4Q29sb3IgPSB0ZXh0dXJlMkQoIHRFcXVpcmVjdCwgc2FtcGxlVVYgKTtcblx0Z2xfRnJhZ0NvbG9yID0gbWFwVGV4ZWxUb0xpbmVhciggdGV4Q29sb3IgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxufSIsZXF1aXJlY3RfdmVydDoidmFyeWluZyB2ZWMzIHZXb3JsZERpcmVjdGlvbjtcbiNpbmNsdWRlIDxjb21tb24+XG52b2lkIG1haW4oKSB7XG5cdHZXb3JsZERpcmVjdGlvbiA9IHRyYW5zZm9ybURpcmVjdGlvbiggcG9zaXRpb24sIG1vZGVsTWF0cml4ICk7XG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cbn0iLGxpbmVkYXNoZWRfZnJhZzoidW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG51bmlmb3JtIGZsb2F0IGRhc2hTaXplO1xudW5pZm9ybSBmbG9hdCB0b3RhbFNpemU7XG52YXJ5aW5nIGZsb2F0IHZMaW5lRGlzdGFuY2U7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0aWYgKCBtb2QoIHZMaW5lRGlzdGFuY2UsIHRvdGFsU2l6ZSApID4gZGFzaFNpemUgKSB7XG5cdFx0ZGlzY2FyZDtcblx0fVxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSB2ZWMzKCAwLjAgKTtcblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHRvdXRnb2luZ0xpZ2h0ID0gZGlmZnVzZUNvbG9yLnJnYjtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cbn0iLGxpbmVkYXNoZWRfdmVydDoidW5pZm9ybSBmbG9hdCBzY2FsZTtcbmF0dHJpYnV0ZSBmbG9hdCBsaW5lRGlzdGFuY2U7XG52YXJ5aW5nIGZsb2F0IHZMaW5lRGlzdGFuY2U7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGZvZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxtb3JwaHRhcmdldF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdHZMaW5lRGlzdGFuY2UgPSBzY2FsZSAqIGxpbmVEaXN0YW5jZTtcblx0I2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBodGFyZ2V0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cblx0I2luY2x1ZGUgPGZvZ192ZXJ0ZXg+XG59IixtZXNoYmFzaWNfZnJhZzoidW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPGRpdGhlcmluZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1djJfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFvbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bGlnaHRtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxlbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW52bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y3ViZV91dl9yZWZsZWN0aW9uX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNwZWN1bGFybWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGFtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYXRlc3RfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxzcGVjdWxhcm1hcF9mcmFnbWVudD5cblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgPSBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0I2lmZGVmIFVTRV9MSUdIVE1BUFxuXHRcblx0XHR2ZWM0IGxpZ2h0TWFwVGV4ZWw9IHRleHR1cmUyRCggbGlnaHRNYXAsIHZVdjIgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKz0gbGlnaHRNYXBUZXhlbFRvTGluZWFyKCBsaWdodE1hcFRleGVsICkucmdiICogbGlnaHRNYXBJbnRlbnNpdHk7XG5cdCNlbHNlXG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICs9IHZlYzMoIDEuMCApO1xuXHQjZW5kaWZcblx0I2luY2x1ZGUgPGFvbWFwX2ZyYWdtZW50PlxuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKj0gZGlmZnVzZUNvbG9yLnJnYjtcblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlO1xuXHQjaW5jbHVkZSA8ZW52bWFwX2ZyYWdtZW50PlxuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZGl0aGVyaW5nX2ZyYWdtZW50PlxufSIsbWVzaGJhc2ljX3ZlcnQ6IiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8dXYyX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGVudm1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxmb2dfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2tpbm5pbmdfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8dXZfdmVydGV4PlxuXHQjaW5jbHVkZSA8dXYyX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cblx0I2lmIGRlZmluZWQgKCBVU0VfRU5WTUFQICkgfHwgZGVmaW5lZCAoIFVTRV9TS0lOTklORyApXG5cdFx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0XHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxza2luYmFzZV92ZXJ0ZXg+XG5cdFx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx3b3JsZHBvc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxlbnZtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0iLG1lc2hsYW1iZXJ0X2ZyYWc6InVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSB2ZWMzIGVtaXNzaXZlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xudmFyeWluZyB2ZWMzIHZMaWdodEZyb250O1xudmFyeWluZyB2ZWMzIHZJbmRpcmVjdEZyb250O1xuI2lmZGVmIERPVUJMRV9TSURFRFxuXHR2YXJ5aW5nIHZlYzMgdkxpZ2h0QmFjaztcblx0dmFyeWluZyB2ZWMzIHZJbmRpcmVjdEJhY2s7XG4jZW5kaWZcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8cGFja2luZz5cbiNpbmNsdWRlIDxkaXRoZXJpbmdfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2X3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXYyX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YWxwaGFtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhb21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxpZ2h0bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW1pc3NpdmVtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxlbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW52bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y3ViZV91dl9yZWZsZWN0aW9uX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGJzZGZzPlxuI2luY2x1ZGUgPGxpZ2h0c19wYXJzX2JlZ2luPlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNoYWRvd21hc2tfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzcGVjdWxhcm1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnQ+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnQ+XG5cdHZlYzQgZGlmZnVzZUNvbG9yID0gdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHRSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCA9IFJlZmxlY3RlZExpZ2h0KCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSApO1xuXHR2ZWMzIHRvdGFsRW1pc3NpdmVSYWRpYW5jZSA9IGVtaXNzaXZlO1xuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxjb2xvcl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhbWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGF0ZXN0X2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8c3BlY3VsYXJtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbWlzc2l2ZW1hcF9mcmFnbWVudD5cblx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSAoIGdsX0Zyb250RmFjaW5nICkgPyB2SW5kaXJlY3RGcm9udCA6IHZJbmRpcmVjdEJhY2s7XG5cdCNlbHNlXG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICs9IHZJbmRpcmVjdEZyb250O1xuXHQjZW5kaWZcblx0I2luY2x1ZGUgPGxpZ2h0bWFwX2ZyYWdtZW50PlxuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKj0gQlJERl9EaWZmdXNlX0xhbWJlcnQoIGRpZmZ1c2VDb2xvci5yZ2IgKTtcblx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgPSAoIGdsX0Zyb250RmFjaW5nICkgPyB2TGlnaHRGcm9udCA6IHZMaWdodEJhY2s7XG5cdCNlbHNlXG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSA9IHZMaWdodEZyb250O1xuXHQjZW5kaWZcblx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSAqPSBCUkRGX0RpZmZ1c2VfTGFtYmVydCggZGlmZnVzZUNvbG9yLnJnYiApICogZ2V0U2hhZG93TWFzaygpO1xuXHQjaW5jbHVkZSA8YW9tYXBfZnJhZ21lbnQ+XG5cdHZlYzMgb3V0Z29pbmdMaWdodCA9IHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKyByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKyB0b3RhbEVtaXNzaXZlUmFkaWFuY2U7XG5cdCNpbmNsdWRlIDxlbnZtYXBfZnJhZ21lbnQ+XG5cdGdsX0ZyYWdDb2xvciA9IHZlYzQoIG91dGdvaW5nTGlnaHQsIGRpZmZ1c2VDb2xvci5hICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGZvZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPHByZW11bHRpcGxpZWRfYWxwaGFfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxkaXRoZXJpbmdfZnJhZ21lbnQ+XG59IixtZXNobGFtYmVydF92ZXJ0OiIjZGVmaW5lIExBTUJFUlRcbnZhcnlpbmcgdmVjMyB2TGlnaHRGcm9udDtcbnZhcnlpbmcgdmVjMyB2SW5kaXJlY3RGcm9udDtcbiNpZmRlZiBET1VCTEVfU0lERURcblx0dmFyeWluZyB2ZWMzIHZMaWdodEJhY2s7XG5cdHZhcnlpbmcgdmVjMyB2SW5kaXJlY3RCYWNrO1xuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxlbnZtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8YnNkZnM+XG4jaW5jbHVkZSA8bGlnaHRzX3BhcnNfYmVnaW4+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx1djJfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y29sb3JfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBodGFyZ2V0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5uaW5nX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPGVudm1hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsaWdodHNfbGFtYmVydF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxzaGFkb3dtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0iLG1lc2htYXRjYXBfZnJhZzoiI2RlZmluZSBNQVRDQVBcbnVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xudW5pZm9ybSBzYW1wbGVyMkQgbWF0Y2FwO1xudmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2YXJ5aW5nIHZlYzMgdlRhbmdlbnQ7XG5cdFx0dmFyeWluZyB2ZWMzIHZCaXRhbmdlbnQ7XG5cdCNlbmRpZlxuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPGRpdGhlcmluZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGJ1bXBtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxub3JtYWxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Y29sb3JfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9tYXBzPlxuXHR2ZWMzIHZpZXdEaXIgPSBub3JtYWxpemUoIHZWaWV3UG9zaXRpb24gKTtcblx0dmVjMyB4ID0gbm9ybWFsaXplKCB2ZWMzKCB2aWV3RGlyLnosIDAuMCwgLSB2aWV3RGlyLnggKSApO1xuXHR2ZWMzIHkgPSBjcm9zcyggdmlld0RpciwgeCApO1xuXHR2ZWMyIHV2ID0gdmVjMiggZG90KCB4LCBub3JtYWwgKSwgZG90KCB5LCBub3JtYWwgKSApICogMC40OTUgKyAwLjU7XG5cdCNpZmRlZiBVU0VfTUFUQ0FQXG5cdFx0dmVjNCBtYXRjYXBDb2xvciA9IHRleHR1cmUyRCggbWF0Y2FwLCB1diApO1xuXHRcdG1hdGNhcENvbG9yID0gbWF0Y2FwVGV4ZWxUb0xpbmVhciggbWF0Y2FwQ29sb3IgKTtcblx0I2Vsc2Vcblx0XHR2ZWM0IG1hdGNhcENvbG9yID0gdmVjNCggMS4wICk7XG5cdCNlbmRpZlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSBkaWZmdXNlQ29sb3IucmdiICogbWF0Y2FwQ29sb3IucmdiO1xuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZGl0aGVyaW5nX2ZyYWdtZW50PlxufSIsbWVzaG1hdGNhcF92ZXJ0OiIjZGVmaW5lIE1BVENBUFxudmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2YXJ5aW5nIHZlYzMgdlRhbmdlbnQ7XG5cdFx0dmFyeWluZyB2ZWMzIHZCaXRhbmdlbnQ7XG5cdCNlbmRpZlxuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxmb2dfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2tpbm5pbmdfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8dXZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y29sb3JfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cblx0I2lmbmRlZiBGTEFUX1NIQURFRFxuXHRcdHZOb3JtYWwgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkTm9ybWFsICk7XG5cdFx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0XHR2VGFuZ2VudCA9IG5vcm1hbGl6ZSggdHJhbnNmb3JtZWRUYW5nZW50ICk7XG5cdFx0XHR2Qml0YW5nZW50ID0gbm9ybWFsaXplKCBjcm9zcyggdk5vcm1hbCwgdlRhbmdlbnQgKSAqIHRhbmdlbnQudyApO1xuXHRcdCNlbmRpZlxuXHQjZW5kaWZcblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBodGFyZ2V0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5uaW5nX3ZlcnRleD5cblx0I2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxmb2dfdmVydGV4PlxuXHR2Vmlld1Bvc2l0aW9uID0gLSBtdlBvc2l0aW9uLnh5ejtcbn0iLG1lc2h0b29uX2ZyYWc6IiNkZWZpbmUgVE9PTlxudW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIHZlYzMgZW1pc3NpdmU7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8ZGl0aGVyaW5nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YW9tYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsaWdodG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVtaXNzaXZlbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Z3JhZGllbnRtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxic2Rmcz5cbiNpbmNsdWRlIDxsaWdodHNfcGFyc19iZWdpbj5cbiNpbmNsdWRlIDxsaWdodHNfdG9vbl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGJ1bXBtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxub3JtYWxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgPSBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0dmVjMyB0b3RhbEVtaXNzaXZlUmFkaWFuY2UgPSBlbWlzc2l2ZTtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Y29sb3JfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9tYXBzPlxuXHQjaW5jbHVkZSA8ZW1pc3NpdmVtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxsaWdodHNfdG9vbl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9tYXBzPlxuXHQjaW5jbHVkZSA8bGlnaHRzX2ZyYWdtZW50X2VuZD5cblx0I2luY2x1ZGUgPGFvbWFwX2ZyYWdtZW50PlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSByZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICsgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICsgdG90YWxFbWlzc2l2ZVJhZGlhbmNlO1xuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZGl0aGVyaW5nX2ZyYWdtZW50PlxufSIsbWVzaHRvb25fdmVydDoiI2RlZmluZSBUT09OXG52YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG4jZW5kaWZcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8dXYyX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxmb2dfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2tpbm5pbmdfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2hhZG93bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPHV2Ml92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjb2xvcl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxiZWdpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaG5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2luYmFzZV92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPGRlZmF1bHRub3JtYWxfdmVydGV4PlxuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2Tm9ybWFsID0gbm9ybWFsaXplKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xuI2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHR2Vmlld1Bvc2l0aW9uID0gLSBtdlBvc2l0aW9uLnh5ejtcblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNoYWRvd21hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxmb2dfdmVydGV4PlxufSIsbWVzaHBob25nX2ZyYWc6IiNkZWZpbmUgUEhPTkdcbnVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSB2ZWMzIGVtaXNzaXZlO1xudW5pZm9ybSB2ZWMzIHNwZWN1bGFyO1xudW5pZm9ybSBmbG9hdCBzaGluaW5lc3M7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8ZGl0aGVyaW5nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YW9tYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsaWdodG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVtaXNzaXZlbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVudm1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGN1YmVfdXZfcmVmbGVjdGlvbl9mcmFnbWVudD5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxic2Rmcz5cbiNpbmNsdWRlIDxsaWdodHNfcGFyc19iZWdpbj5cbiNpbmNsdWRlIDxsaWdodHNfcGhvbmdfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxidW1wbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8c3BlY3VsYXJtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgPSBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0dmVjMyB0b3RhbEVtaXNzaXZlUmFkaWFuY2UgPSBlbWlzc2l2ZTtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Y29sb3JfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPHNwZWN1bGFybWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bm9ybWFsX2ZyYWdtZW50X2JlZ2luPlxuXHQjaW5jbHVkZSA8bm9ybWFsX2ZyYWdtZW50X21hcHM+XG5cdCNpbmNsdWRlIDxlbWlzc2l2ZW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxpZ2h0c19waG9uZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9tYXBzPlxuXHQjaW5jbHVkZSA8bGlnaHRzX2ZyYWdtZW50X2VuZD5cblx0I2luY2x1ZGUgPGFvbWFwX2ZyYWdtZW50PlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSByZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICsgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICsgcmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKyByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICsgdG90YWxFbWlzc2l2ZVJhZGlhbmNlO1xuXHQjaW5jbHVkZSA8ZW52bWFwX2ZyYWdtZW50PlxuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZGl0aGVyaW5nX2ZyYWdtZW50PlxufSIsbWVzaHBob25nX3ZlcnQ6IiNkZWZpbmUgUEhPTkdcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDx1djJfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGVudm1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxmb2dfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2tpbm5pbmdfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2hhZG93bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPHV2Ml92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjb2xvcl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxiZWdpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaG5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2luYmFzZV92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPGRlZmF1bHRub3JtYWxfdmVydGV4PlxuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2Tm9ybWFsID0gbm9ybWFsaXplKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xuI2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHR2Vmlld1Bvc2l0aW9uID0gLSBtdlBvc2l0aW9uLnh5ejtcblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPGVudm1hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxzaGFkb3dtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0iLG1lc2hwaHlzaWNhbF9mcmFnOiIjZGVmaW5lIFNUQU5EQVJEXG4jaWZkZWYgUEhZU0lDQUxcblx0I2RlZmluZSBSRUZMRUNUSVZJVFlcblx0I2RlZmluZSBDTEVBUkNPQVRcblx0I2RlZmluZSBTUEVDVUxBUlxuI2VuZGlmXG51bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gdmVjMyBlbWlzc2l2ZTtcbnVuaWZvcm0gZmxvYXQgcm91Z2huZXNzO1xudW5pZm9ybSBmbG9hdCBtZXRhbG5lc3M7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaWZkZWYgVVNFX1RSQU5TTUlTU0lPTlxuXHR1bmlmb3JtIGZsb2F0IHRyYW5zbWlzc2lvbjtcblx0dW5pZm9ybSBmbG9hdCB0aGlja25lc3M7XG5cdHVuaWZvcm0gZmxvYXQgYXR0ZW51YXRpb25EaXN0YW5jZTtcblx0dW5pZm9ybSB2ZWMzIGF0dGVudWF0aW9uVGludDtcbiNlbmRpZlxuI2lmZGVmIFJFRkxFQ1RJVklUWVxuXHR1bmlmb3JtIGZsb2F0IHJlZmxlY3Rpdml0eTtcbiNlbmRpZlxuI2lmZGVmIFNQRUNVTEFSXG5cdHVuaWZvcm0gZmxvYXQgc3BlY3VsYXJJbnRlbnNpdHk7XG5cdHVuaWZvcm0gdmVjMyBzcGVjdWxhclRpbnQ7XG5cdCNpZmRlZiBVU0VfU1BFQ1VMQVJJTlRFTlNJVFlNQVBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBzcGVjdWxhckludGVuc2l0eU1hcDtcblx0I2VuZGlmXG5cdCNpZmRlZiBVU0VfU1BFQ1VMQVJUSU5UTUFQXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgc3BlY3VsYXJUaW50TWFwO1xuXHQjZW5kaWZcbiNlbmRpZlxuI2lmZGVmIENMRUFSQ09BVFxuXHR1bmlmb3JtIGZsb2F0IGNsZWFyY29hdDtcblx0dW5pZm9ybSBmbG9hdCBjbGVhcmNvYXRSb3VnaG5lc3M7XG4jZW5kaWZcbiNpZmRlZiBVU0VfU0hFRU5cblx0dW5pZm9ybSB2ZWMzIHNoZWVuO1xuI2VuZGlmXG52YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZhcnlpbmcgdmVjMyB2VGFuZ2VudDtcblx0XHR2YXJ5aW5nIHZlYzMgdkJpdGFuZ2VudDtcblx0I2VuZGlmXG4jZW5kaWZcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8cGFja2luZz5cbiNpbmNsdWRlIDxkaXRoZXJpbmdfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2X3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXYyX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YWxwaGFtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhb21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxpZ2h0bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW1pc3NpdmVtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxic2Rmcz5cbiNpbmNsdWRlIDx0cmFuc21pc3Npb25fcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjdWJlX3V2X3JlZmxlY3Rpb25fZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVudm1hcF9waHlzaWNhbF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxpZ2h0c19wYXJzX2JlZ2luPlxuI2luY2x1ZGUgPGxpZ2h0c19waHlzaWNhbF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGJ1bXBtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxub3JtYWxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGVhcmNvYXRfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxyb3VnaG5lc3NtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtZXRhbG5lc3NtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgPSBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0dmVjMyB0b3RhbEVtaXNzaXZlUmFkaWFuY2UgPSBlbWlzc2l2ZTtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Y29sb3JfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPHJvdWdobmVzc21hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1ldGFsbmVzc21hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9tYXBzPlxuXHQjaW5jbHVkZSA8Y2xlYXJjb2F0X25vcm1hbF9mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPGNsZWFyY29hdF9ub3JtYWxfZnJhZ21lbnRfbWFwcz5cblx0I2luY2x1ZGUgPGVtaXNzaXZlbWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bGlnaHRzX3BoeXNpY2FsX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bGlnaHRzX2ZyYWdtZW50X2JlZ2luPlxuXHQjaW5jbHVkZSA8bGlnaHRzX2ZyYWdtZW50X21hcHM+XG5cdCNpbmNsdWRlIDxsaWdodHNfZnJhZ21lbnRfZW5kPlxuXHQjaW5jbHVkZSA8YW9tYXBfZnJhZ21lbnQ+XG5cdHZlYzMgdG90YWxEaWZmdXNlID0gcmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZTtcblx0dmVjMyB0b3RhbFNwZWN1bGFyID0gcmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKyByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyO1xuXHQjaW5jbHVkZSA8dHJhbnNtaXNzaW9uX2ZyYWdtZW50PlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSB0b3RhbERpZmZ1c2UgKyB0b3RhbFNwZWN1bGFyICsgdG90YWxFbWlzc2l2ZVJhZGlhbmNlO1xuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZGl0aGVyaW5nX2ZyYWdtZW50PlxufSIsbWVzaHBoeXNpY2FsX3ZlcnQ6IiNkZWZpbmUgU1RBTkRBUkRcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2lmZGVmIFVTRV9UUkFOU01JU1NJT05cblx0dmFyeWluZyB2ZWM0IHZXb3JsZFBvc2l0aW9uO1xuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx1djJfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y29sb3JfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dk5vcm1hbCA9IG5vcm1hbGl6ZSggdHJhbnNmb3JtZWROb3JtYWwgKTtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dlRhbmdlbnQgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkVGFuZ2VudCApO1xuXHRcdHZCaXRhbmdlbnQgPSBub3JtYWxpemUoIGNyb3NzKCB2Tm9ybWFsLCB2VGFuZ2VudCApICogdGFuZ2VudC53ICk7XG5cdCNlbmRpZlxuI2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHR2Vmlld1Bvc2l0aW9uID0gLSBtdlBvc2l0aW9uLnh5ejtcblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNoYWRvd21hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxmb2dfdmVydGV4PlxuI2lmZGVmIFVTRV9UUkFOU01JU1NJT05cblx0dldvcmxkUG9zaXRpb24gPSB3b3JsZFBvc2l0aW9uO1xuI2VuZGlmXG59Iixub3JtYWxfZnJhZzoiI2RlZmluZSBOT1JNQUxcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNpZiBkZWZpbmVkKCBGTEFUX1NIQURFRCApIHx8IGRlZmluZWQoIFVTRV9CVU1QTUFQICkgfHwgZGVmaW5lZCggVEFOR0VOVFNQQUNFX05PUk1BTE1BUCApXG5cdHZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2VuZGlmXG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2YXJ5aW5nIHZlYzMgdlRhbmdlbnQ7XG5cdFx0dmFyeWluZyB2ZWMzIHZCaXRhbmdlbnQ7XG5cdCNlbmRpZlxuI2VuZGlmXG4jaW5jbHVkZSA8cGFja2luZz5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGJ1bXBtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxub3JtYWxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfbWFwcz5cblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggcGFja05vcm1hbFRvUkdCKCBub3JtYWwgKSwgb3BhY2l0eSApO1xufSIsbm9ybWFsX3ZlcnQ6IiNkZWZpbmUgTk9STUFMXG4jaWYgZGVmaW5lZCggRkxBVF9TSEFERUQgKSB8fCBkZWZpbmVkKCBVU0VfQlVNUE1BUCApIHx8IGRlZmluZWQoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKVxuXHR2YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNlbmRpZlxuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2tpbm5pbmdfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8dXZfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dk5vcm1hbCA9IG5vcm1hbGl6ZSggdHJhbnNmb3JtZWROb3JtYWwgKTtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dlRhbmdlbnQgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkVGFuZ2VudCApO1xuXHRcdHZCaXRhbmdlbnQgPSBub3JtYWxpemUoIGNyb3NzKCB2Tm9ybWFsLCB2VGFuZ2VudCApICogdGFuZ2VudC53ICk7XG5cdCNlbmRpZlxuI2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuI2lmIGRlZmluZWQoIEZMQVRfU0hBREVEICkgfHwgZGVmaW5lZCggVVNFX0JVTVBNQVAgKSB8fCBkZWZpbmVkKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQIClcblx0dlZpZXdQb3NpdGlvbiA9IC0gbXZQb3NpdGlvbi54eXo7XG4jZW5kaWZcbn0iLHBvaW50c19mcmFnOiJ1bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFydGljbGVfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSB2ZWMzKCAwLjAgKTtcblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1hcF9wYXJ0aWNsZV9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGF0ZXN0X2ZyYWdtZW50PlxuXHRvdXRnb2luZ0xpZ2h0ID0gZGlmZnVzZUNvbG9yLnJnYjtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cbn0iLHBvaW50c192ZXJ0OiJ1bmlmb3JtIGZsb2F0IHNpemU7XG51bmlmb3JtIGZsb2F0IHNjYWxlO1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxmb2dfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y29sb3JfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGh0YXJnZXRfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdGdsX1BvaW50U2l6ZSA9IHNpemU7XG5cdCNpZmRlZiBVU0VfU0laRUFUVEVOVUFUSU9OXG5cdFx0Ym9vbCBpc1BlcnNwZWN0aXZlID0gaXNQZXJzcGVjdGl2ZU1hdHJpeCggcHJvamVjdGlvbk1hdHJpeCApO1xuXHRcdGlmICggaXNQZXJzcGVjdGl2ZSApIGdsX1BvaW50U2l6ZSAqPSAoIHNjYWxlIC8gLSBtdlBvc2l0aW9uLnogKTtcblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHQjaW5jbHVkZSA8d29ybGRwb3NfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0iLHNoYWRvd19mcmFnOiJ1bmlmb3JtIHZlYzMgY29sb3I7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YnNkZnM+XG4jaW5jbHVkZSA8bGlnaHRzX3BhcnNfYmVnaW4+XG4jaW5jbHVkZSA8c2hhZG93bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8c2hhZG93bWFza19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBjb2xvciwgb3BhY2l0eSAqICggMS4wIC0gZ2V0U2hhZG93TWFzaygpICkgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxufSIsc2hhZG93X3ZlcnQ6IiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8d29ybGRwb3NfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNoYWRvd21hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxmb2dfdmVydGV4PlxufSIsc3ByaXRlX2ZyYWc6InVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gdmVjMyggMC4wICk7XG5cdHZlYzQgZGlmZnVzZUNvbG9yID0gdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0b3V0Z29pbmdMaWdodCA9IGRpZmZ1c2VDb2xvci5yZ2I7XG5cdGdsX0ZyYWdDb2xvciA9IHZlYzQoIG91dGdvaW5nTGlnaHQsIGRpZmZ1c2VDb2xvci5hICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGZvZ19mcmFnbWVudD5cbn0iLHNwcml0ZV92ZXJ0OiJ1bmlmb3JtIGZsb2F0IHJvdGF0aW9uO1xudW5pZm9ybSB2ZWMyIGNlbnRlcjtcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0dmVjNCBtdlBvc2l0aW9uID0gbW9kZWxWaWV3TWF0cml4ICogdmVjNCggMC4wLCAwLjAsIDAuMCwgMS4wICk7XG5cdHZlYzIgc2NhbGU7XG5cdHNjYWxlLnggPSBsZW5ndGgoIHZlYzMoIG1vZGVsTWF0cml4WyAwIF0ueCwgbW9kZWxNYXRyaXhbIDAgXS55LCBtb2RlbE1hdHJpeFsgMCBdLnogKSApO1xuXHRzY2FsZS55ID0gbGVuZ3RoKCB2ZWMzKCBtb2RlbE1hdHJpeFsgMSBdLngsIG1vZGVsTWF0cml4WyAxIF0ueSwgbW9kZWxNYXRyaXhbIDEgXS56ICkgKTtcblx0I2lmbmRlZiBVU0VfU0laRUFUVEVOVUFUSU9OXG5cdFx0Ym9vbCBpc1BlcnNwZWN0aXZlID0gaXNQZXJzcGVjdGl2ZU1hdHJpeCggcHJvamVjdGlvbk1hdHJpeCApO1xuXHRcdGlmICggaXNQZXJzcGVjdGl2ZSApIHNjYWxlICo9IC0gbXZQb3NpdGlvbi56O1xuXHQjZW5kaWZcblx0dmVjMiBhbGlnbmVkUG9zaXRpb24gPSAoIHBvc2l0aW9uLnh5IC0gKCBjZW50ZXIgLSB2ZWMyKCAwLjUgKSApICkgKiBzY2FsZTtcblx0dmVjMiByb3RhdGVkUG9zaXRpb247XG5cdHJvdGF0ZWRQb3NpdGlvbi54ID0gY29zKCByb3RhdGlvbiApICogYWxpZ25lZFBvc2l0aW9uLnggLSBzaW4oIHJvdGF0aW9uICkgKiBhbGlnbmVkUG9zaXRpb24ueTtcblx0cm90YXRlZFBvc2l0aW9uLnkgPSBzaW4oIHJvdGF0aW9uICkgKiBhbGlnbmVkUG9zaXRpb24ueCArIGNvcyggcm90YXRpb24gKSAqIGFsaWduZWRQb3NpdGlvbi55O1xuXHRtdlBvc2l0aW9uLnh5ICs9IHJvdGF0ZWRQb3NpdGlvbjtcblx0Z2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uTWF0cml4ICogbXZQb3NpdGlvbjtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxmb2dfdmVydGV4PlxufSJ9LGI2dD17Y29tbW9uOntkaWZmdXNlOnt2YWx1ZTpuZXcgczR0KDE2Nzc3MjE1KX0sb3BhY2l0eTp7dmFsdWU6MX0sbWFwOnt2YWx1ZTpudWxsfSx1dlRyYW5zZm9ybTp7dmFsdWU6bmV3IEE1dH0sdXYyVHJhbnNmb3JtOnt2YWx1ZTpuZXcgQTV0fSxhbHBoYU1hcDp7dmFsdWU6bnVsbH19LHNwZWN1bGFybWFwOntzcGVjdWxhck1hcDp7dmFsdWU6bnVsbH19LGVudm1hcDp7ZW52TWFwOnt2YWx1ZTpudWxsfSxmbGlwRW52TWFwOnt2YWx1ZTotMX0scmVmbGVjdGl2aXR5Ont2YWx1ZToxfSxyZWZyYWN0aW9uUmF0aW86e3ZhbHVlOi45OH0sbWF4TWlwTGV2ZWw6e3ZhbHVlOjB9fSxhb21hcDp7YW9NYXA6e3ZhbHVlOm51bGx9LGFvTWFwSW50ZW5zaXR5Ont2YWx1ZToxfX0sbGlnaHRtYXA6e2xpZ2h0TWFwOnt2YWx1ZTpudWxsfSxsaWdodE1hcEludGVuc2l0eTp7dmFsdWU6MX19LGVtaXNzaXZlbWFwOntlbWlzc2l2ZU1hcDp7dmFsdWU6bnVsbH19LGJ1bXBtYXA6e2J1bXBNYXA6e3ZhbHVlOm51bGx9LGJ1bXBTY2FsZTp7dmFsdWU6MX19LG5vcm1hbG1hcDp7bm9ybWFsTWFwOnt2YWx1ZTpudWxsfSxub3JtYWxTY2FsZTp7dmFsdWU6bmV3IEM1dCgxLDEpfX0sZGlzcGxhY2VtZW50bWFwOntkaXNwbGFjZW1lbnRNYXA6e3ZhbHVlOm51bGx9LGRpc3BsYWNlbWVudFNjYWxlOnt2YWx1ZToxfSxkaXNwbGFjZW1lbnRCaWFzOnt2YWx1ZTowfX0scm91Z2huZXNzbWFwOntyb3VnaG5lc3NNYXA6e3ZhbHVlOm51bGx9fSxtZXRhbG5lc3NtYXA6e21ldGFsbmVzc01hcDp7dmFsdWU6bnVsbH19LGdyYWRpZW50bWFwOntncmFkaWVudE1hcDp7dmFsdWU6bnVsbH19LGZvZzp7Zm9nRGVuc2l0eTp7dmFsdWU6MjVlLTV9LGZvZ05lYXI6e3ZhbHVlOjF9LGZvZ0Zhcjp7dmFsdWU6MmUzfSxmb2dDb2xvcjp7dmFsdWU6bmV3IHM0dCgxNjc3NzIxNSl9fSxsaWdodHM6e2FtYmllbnRMaWdodENvbG9yOnt2YWx1ZTpbXX0sbGlnaHRQcm9iZTp7dmFsdWU6W119LGRpcmVjdGlvbmFsTGlnaHRzOnt2YWx1ZTpbXSxwcm9wZXJ0aWVzOntkaXJlY3Rpb246e30sY29sb3I6e319fSxkaXJlY3Rpb25hbExpZ2h0U2hhZG93czp7dmFsdWU6W10scHJvcGVydGllczp7c2hhZG93Qmlhczp7fSxzaGFkb3dOb3JtYWxCaWFzOnt9LHNoYWRvd1JhZGl1czp7fSxzaGFkb3dNYXBTaXplOnt9fX0sZGlyZWN0aW9uYWxTaGFkb3dNYXA6e3ZhbHVlOltdfSxkaXJlY3Rpb25hbFNoYWRvd01hdHJpeDp7dmFsdWU6W119LHNwb3RMaWdodHM6e3ZhbHVlOltdLHByb3BlcnRpZXM6e2NvbG9yOnt9LHBvc2l0aW9uOnt9LGRpcmVjdGlvbjp7fSxkaXN0YW5jZTp7fSxjb25lQ29zOnt9LHBlbnVtYnJhQ29zOnt9LGRlY2F5Ont9fX0sc3BvdExpZ2h0U2hhZG93czp7dmFsdWU6W10scHJvcGVydGllczp7c2hhZG93Qmlhczp7fSxzaGFkb3dOb3JtYWxCaWFzOnt9LHNoYWRvd1JhZGl1czp7fSxzaGFkb3dNYXBTaXplOnt9fX0sc3BvdFNoYWRvd01hcDp7dmFsdWU6W119LHNwb3RTaGFkb3dNYXRyaXg6e3ZhbHVlOltdfSxwb2ludExpZ2h0czp7dmFsdWU6W10scHJvcGVydGllczp7Y29sb3I6e30scG9zaXRpb246e30sZGVjYXk6e30sZGlzdGFuY2U6e319fSxwb2ludExpZ2h0U2hhZG93czp7dmFsdWU6W10scHJvcGVydGllczp7c2hhZG93Qmlhczp7fSxzaGFkb3dOb3JtYWxCaWFzOnt9LHNoYWRvd1JhZGl1czp7fSxzaGFkb3dNYXBTaXplOnt9LHNoYWRvd0NhbWVyYU5lYXI6e30sc2hhZG93Q2FtZXJhRmFyOnt9fX0scG9pbnRTaGFkb3dNYXA6e3ZhbHVlOltdfSxwb2ludFNoYWRvd01hdHJpeDp7dmFsdWU6W119LGhlbWlzcGhlcmVMaWdodHM6e3ZhbHVlOltdLHByb3BlcnRpZXM6e2RpcmVjdGlvbjp7fSxza3lDb2xvcjp7fSxncm91bmRDb2xvcjp7fX19LHJlY3RBcmVhTGlnaHRzOnt2YWx1ZTpbXSxwcm9wZXJ0aWVzOntjb2xvcjp7fSxwb3NpdGlvbjp7fSx3aWR0aDp7fSxoZWlnaHQ6e319fSxsdGNfMTp7dmFsdWU6bnVsbH0sbHRjXzI6e3ZhbHVlOm51bGx9fSxwb2ludHM6e2RpZmZ1c2U6e3ZhbHVlOm5ldyBzNHQoMTY3NzcyMTUpfSxvcGFjaXR5Ont2YWx1ZToxfSxzaXplOnt2YWx1ZToxfSxzY2FsZTp7dmFsdWU6MX0sbWFwOnt2YWx1ZTpudWxsfSxhbHBoYU1hcDp7dmFsdWU6bnVsbH0sdXZUcmFuc2Zvcm06e3ZhbHVlOm5ldyBBNXR9fSxzcHJpdGU6e2RpZmZ1c2U6e3ZhbHVlOm5ldyBzNHQoMTY3NzcyMTUpfSxvcGFjaXR5Ont2YWx1ZToxfSxjZW50ZXI6e3ZhbHVlOm5ldyBDNXQoLjUsLjUpfSxyb3RhdGlvbjp7dmFsdWU6MH0sbWFwOnt2YWx1ZTpudWxsfSxhbHBoYU1hcDp7dmFsdWU6bnVsbH0sdXZUcmFuc2Zvcm06e3ZhbHVlOm5ldyBBNXR9fX0seDZ0PXtiYXNpYzp7dW5pZm9ybXM6dDZ0KFtiNnQuY29tbW9uLGI2dC5zcGVjdWxhcm1hcCxiNnQuZW52bWFwLGI2dC5hb21hcCxiNnQubGlnaHRtYXAsYjZ0LmZvZ10pLHZlcnRleFNoYWRlcjp2NnQubWVzaGJhc2ljX3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0Lm1lc2hiYXNpY19mcmFnfSxsYW1iZXJ0Ont1bmlmb3Jtczp0NnQoW2I2dC5jb21tb24sYjZ0LnNwZWN1bGFybWFwLGI2dC5lbnZtYXAsYjZ0LmFvbWFwLGI2dC5saWdodG1hcCxiNnQuZW1pc3NpdmVtYXAsYjZ0LmZvZyxiNnQubGlnaHRzLHtlbWlzc2l2ZTp7dmFsdWU6bmV3IHM0dCgwKX19XSksdmVydGV4U2hhZGVyOnY2dC5tZXNobGFtYmVydF92ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5tZXNobGFtYmVydF9mcmFnfSxwaG9uZzp7dW5pZm9ybXM6dDZ0KFtiNnQuY29tbW9uLGI2dC5zcGVjdWxhcm1hcCxiNnQuZW52bWFwLGI2dC5hb21hcCxiNnQubGlnaHRtYXAsYjZ0LmVtaXNzaXZlbWFwLGI2dC5idW1wbWFwLGI2dC5ub3JtYWxtYXAsYjZ0LmRpc3BsYWNlbWVudG1hcCxiNnQuZm9nLGI2dC5saWdodHMse2VtaXNzaXZlOnt2YWx1ZTpuZXcgczR0KDApfSxzcGVjdWxhcjp7dmFsdWU6bmV3IHM0dCgxMTE4NDgxKX0sc2hpbmluZXNzOnt2YWx1ZTozMH19XSksdmVydGV4U2hhZGVyOnY2dC5tZXNocGhvbmdfdmVydCxmcmFnbWVudFNoYWRlcjp2NnQubWVzaHBob25nX2ZyYWd9LHN0YW5kYXJkOnt1bmlmb3Jtczp0NnQoW2I2dC5jb21tb24sYjZ0LmVudm1hcCxiNnQuYW9tYXAsYjZ0LmxpZ2h0bWFwLGI2dC5lbWlzc2l2ZW1hcCxiNnQuYnVtcG1hcCxiNnQubm9ybWFsbWFwLGI2dC5kaXNwbGFjZW1lbnRtYXAsYjZ0LnJvdWdobmVzc21hcCxiNnQubWV0YWxuZXNzbWFwLGI2dC5mb2csYjZ0LmxpZ2h0cyx7ZW1pc3NpdmU6e3ZhbHVlOm5ldyBzNHQoMCl9LHJvdWdobmVzczp7dmFsdWU6MX0sbWV0YWxuZXNzOnt2YWx1ZTowfSxlbnZNYXBJbnRlbnNpdHk6e3ZhbHVlOjF9fV0pLHZlcnRleFNoYWRlcjp2NnQubWVzaHBoeXNpY2FsX3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0Lm1lc2hwaHlzaWNhbF9mcmFnfSx0b29uOnt1bmlmb3Jtczp0NnQoW2I2dC5jb21tb24sYjZ0LmFvbWFwLGI2dC5saWdodG1hcCxiNnQuZW1pc3NpdmVtYXAsYjZ0LmJ1bXBtYXAsYjZ0Lm5vcm1hbG1hcCxiNnQuZGlzcGxhY2VtZW50bWFwLGI2dC5ncmFkaWVudG1hcCxiNnQuZm9nLGI2dC5saWdodHMse2VtaXNzaXZlOnt2YWx1ZTpuZXcgczR0KDApfX1dKSx2ZXJ0ZXhTaGFkZXI6djZ0Lm1lc2h0b29uX3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0Lm1lc2h0b29uX2ZyYWd9LG1hdGNhcDp7dW5pZm9ybXM6dDZ0KFtiNnQuY29tbW9uLGI2dC5idW1wbWFwLGI2dC5ub3JtYWxtYXAsYjZ0LmRpc3BsYWNlbWVudG1hcCxiNnQuZm9nLHttYXRjYXA6e3ZhbHVlOm51bGx9fV0pLHZlcnRleFNoYWRlcjp2NnQubWVzaG1hdGNhcF92ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5tZXNobWF0Y2FwX2ZyYWd9LHBvaW50czp7dW5pZm9ybXM6dDZ0KFtiNnQucG9pbnRzLGI2dC5mb2ddKSx2ZXJ0ZXhTaGFkZXI6djZ0LnBvaW50c192ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5wb2ludHNfZnJhZ30sZGFzaGVkOnt1bmlmb3Jtczp0NnQoW2I2dC5jb21tb24sYjZ0LmZvZyx7c2NhbGU6e3ZhbHVlOjF9LGRhc2hTaXplOnt2YWx1ZToxfSx0b3RhbFNpemU6e3ZhbHVlOjJ9fV0pLHZlcnRleFNoYWRlcjp2NnQubGluZWRhc2hlZF92ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5saW5lZGFzaGVkX2ZyYWd9LGRlcHRoOnt1bmlmb3Jtczp0NnQoW2I2dC5jb21tb24sYjZ0LmRpc3BsYWNlbWVudG1hcF0pLHZlcnRleFNoYWRlcjp2NnQuZGVwdGhfdmVydCxmcmFnbWVudFNoYWRlcjp2NnQuZGVwdGhfZnJhZ30sbm9ybWFsOnt1bmlmb3Jtczp0NnQoW2I2dC5jb21tb24sYjZ0LmJ1bXBtYXAsYjZ0Lm5vcm1hbG1hcCxiNnQuZGlzcGxhY2VtZW50bWFwLHtvcGFjaXR5Ont2YWx1ZToxfX1dKSx2ZXJ0ZXhTaGFkZXI6djZ0Lm5vcm1hbF92ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5ub3JtYWxfZnJhZ30sc3ByaXRlOnt1bmlmb3Jtczp0NnQoW2I2dC5zcHJpdGUsYjZ0LmZvZ10pLHZlcnRleFNoYWRlcjp2NnQuc3ByaXRlX3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0LnNwcml0ZV9mcmFnfSxiYWNrZ3JvdW5kOnt1bmlmb3Jtczp7dXZUcmFuc2Zvcm06e3ZhbHVlOm5ldyBBNXR9LHQyRDp7dmFsdWU6bnVsbH19LHZlcnRleFNoYWRlcjp2NnQuYmFja2dyb3VuZF92ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5iYWNrZ3JvdW5kX2ZyYWd9LGN1YmU6e3VuaWZvcm1zOnQ2dChbYjZ0LmVudm1hcCx7b3BhY2l0eTp7dmFsdWU6MX19XSksdmVydGV4U2hhZGVyOnY2dC5jdWJlX3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0LmN1YmVfZnJhZ30sZXF1aXJlY3Q6e3VuaWZvcm1zOnt0RXF1aXJlY3Q6e3ZhbHVlOm51bGx9fSx2ZXJ0ZXhTaGFkZXI6djZ0LmVxdWlyZWN0X3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0LmVxdWlyZWN0X2ZyYWd9LGRpc3RhbmNlUkdCQTp7dW5pZm9ybXM6dDZ0KFtiNnQuY29tbW9uLGI2dC5kaXNwbGFjZW1lbnRtYXAse3JlZmVyZW5jZVBvc2l0aW9uOnt2YWx1ZTpuZXcgSDV0fSxuZWFyRGlzdGFuY2U6e3ZhbHVlOjF9LGZhckRpc3RhbmNlOnt2YWx1ZToxZTN9fV0pLHZlcnRleFNoYWRlcjp2NnQuZGlzdGFuY2VSR0JBX3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0LmRpc3RhbmNlUkdCQV9mcmFnfSxzaGFkb3c6e3VuaWZvcm1zOnQ2dChbYjZ0LmxpZ2h0cyxiNnQuZm9nLHtjb2xvcjp7dmFsdWU6bmV3IHM0dCgwKX0sb3BhY2l0eTp7dmFsdWU6MX19XSksdmVydGV4U2hhZGVyOnY2dC5zaGFkb3dfdmVydCxmcmFnbWVudFNoYWRlcjp2NnQuc2hhZG93X2ZyYWd9fTtmdW5jdGlvbiB3NnQodCxlLG4saSxyKXtjb25zdCBvPW5ldyBzNHQoMCk7bGV0IGEscyxsPTAsYz1udWxsLHU9MCxoPW51bGw7ZnVuY3Rpb24gZCh0LGUpe24uYnVmZmVycy5jb2xvci5zZXRDbGVhcih0LnIsdC5nLHQuYixlLHIpfXJldHVybntnZXRDbGVhckNvbG9yOmZ1bmN0aW9uKCl7cmV0dXJuIG99LHNldENsZWFyQ29sb3I6ZnVuY3Rpb24odCxlPTEpe28uc2V0KHQpLGw9ZSxkKG8sbCl9LGdldENsZWFyQWxwaGE6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sc2V0Q2xlYXJBbHBoYTpmdW5jdGlvbih0KXtsPXQsZChvLGwpfSxyZW5kZXI6ZnVuY3Rpb24gcChuLHIpe2xldCBwPSExLGY9ITA9PT1yLmlzU2NlbmU/ci5iYWNrZ3JvdW5kOm51bGw7ZiYmZi5pc1RleHR1cmUmJihmPWUuZ2V0KGYpKTtjb25zdCBtPXQueHIsZz1tLmdldFNlc3Npb24mJm0uZ2V0U2Vzc2lvbigpO2cmJiJhZGRpdGl2ZSI9PT1nLmVudmlyb25tZW50QmxlbmRNb2RlJiYoZj1udWxsKSxudWxsPT09Zj9kKG8sbCk6ZiYmZi5pc0NvbG9yJiYoZChmLDEpLHA9ITApLCh0LmF1dG9DbGVhcnx8cCkmJnQuY2xlYXIodC5hdXRvQ2xlYXJDb2xvcix0LmF1dG9DbGVhckRlcHRoLHQuYXV0b0NsZWFyU3RlbmNpbCksZiYmKGYuaXNDdWJlVGV4dHVyZXx8Zi5tYXBwaW5nPT09bzJ0KT8odm9pZCAwPT09cyYmKHM9bmV3IEs0dChuZXcgSjR0KDEsMSwxKSxuZXcgbjZ0KHtuYW1lOiJCYWNrZ3JvdW5kQ3ViZU1hdGVyaWFsIix1bmlmb3JtczpRNHQoeDZ0LmN1YmUudW5pZm9ybXMpLHZlcnRleFNoYWRlcjp4NnQuY3ViZS52ZXJ0ZXhTaGFkZXIsZnJhZ21lbnRTaGFkZXI6eDZ0LmN1YmUuZnJhZ21lbnRTaGFkZXIsc2lkZToxLGRlcHRoVGVzdDohMSxkZXB0aFdyaXRlOiExLGZvZzohMX0pKSxzLmdlb21ldHJ5LmRlbGV0ZUF0dHJpYnV0ZSgibm9ybWFsIikscy5nZW9tZXRyeS5kZWxldGVBdHRyaWJ1dGUoInV2Iikscy5vbkJlZm9yZVJlbmRlcj1mdW5jdGlvbih0LGUsbil7dGhpcy5tYXRyaXhXb3JsZC5jb3B5UG9zaXRpb24obi5tYXRyaXhXb3JsZCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzLm1hdGVyaWFsLCJlbnZNYXAiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51bmlmb3Jtcy5lbnZNYXAudmFsdWV9fSksaS51cGRhdGUocykpLHMubWF0ZXJpYWwudW5pZm9ybXMuZW52TWFwLnZhbHVlPWYscy5tYXRlcmlhbC51bmlmb3Jtcy5mbGlwRW52TWFwLnZhbHVlPWYuaXNDdWJlVGV4dHVyZSYmITE9PT1mLmlzUmVuZGVyVGFyZ2V0VGV4dHVyZT8tMToxLGM9PT1mJiZ1PT09Zi52ZXJzaW9uJiZoPT09dC50b25lTWFwcGluZ3x8KHMubWF0ZXJpYWwubmVlZHNVcGRhdGU9ITAsYz1mLHU9Zi52ZXJzaW9uLGg9dC50b25lTWFwcGluZyksbi51bnNoaWZ0KHMscy5nZW9tZXRyeSxzLm1hdGVyaWFsLDAsMCxudWxsKSk6ZiYmZi5pc1RleHR1cmUmJih2b2lkIDA9PT1hJiYoYT1uZXcgSzR0KG5ldyB5NnQoMiwyKSxuZXcgbjZ0KHtuYW1lOiJCYWNrZ3JvdW5kTWF0ZXJpYWwiLHVuaWZvcm1zOlE0dCh4NnQuYmFja2dyb3VuZC51bmlmb3JtcyksdmVydGV4U2hhZGVyOng2dC5iYWNrZ3JvdW5kLnZlcnRleFNoYWRlcixmcmFnbWVudFNoYWRlcjp4NnQuYmFja2dyb3VuZC5mcmFnbWVudFNoYWRlcixzaWRlOjAsZGVwdGhUZXN0OiExLGRlcHRoV3JpdGU6ITEsZm9nOiExfSkpLGEuZ2VvbWV0cnkuZGVsZXRlQXR0cmlidXRlKCJub3JtYWwiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYS5tYXRlcmlhbCwibWFwIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudW5pZm9ybXMudDJELnZhbHVlfX0pLGkudXBkYXRlKGEpKSxhLm1hdGVyaWFsLnVuaWZvcm1zLnQyRC52YWx1ZT1mLCEwPT09Zi5tYXRyaXhBdXRvVXBkYXRlJiZmLnVwZGF0ZU1hdHJpeCgpLGEubWF0ZXJpYWwudW5pZm9ybXMudXZUcmFuc2Zvcm0udmFsdWUuY29weShmLm1hdHJpeCksYz09PWYmJnU9PT1mLnZlcnNpb24mJmg9PT10LnRvbmVNYXBwaW5nfHwoYS5tYXRlcmlhbC5uZWVkc1VwZGF0ZT0hMCxjPWYsdT1mLnZlcnNpb24saD10LnRvbmVNYXBwaW5nKSxuLnVuc2hpZnQoYSxhLmdlb21ldHJ5LGEubWF0ZXJpYWwsMCwwLG51bGwpKX19fWZ1bmN0aW9uIFM2dCh0LGUsbixpKXtjb25zdCByPXQuZ2V0UGFyYW1ldGVyKDM0OTIxKSxvPWkuaXNXZWJHTDI/bnVsbDplLmdldCgiT0VTX3ZlcnRleF9hcnJheV9vYmplY3QiKSxhPWkuaXNXZWJHTDJ8fG51bGwhPT1vLHM9e30sbD1kKG51bGwpO2xldCBjPWw7ZnVuY3Rpb24gdShlKXtyZXR1cm4gaS5pc1dlYkdMMj90LmJpbmRWZXJ0ZXhBcnJheShlKTpvLmJpbmRWZXJ0ZXhBcnJheU9FUyhlKX1mdW5jdGlvbiBoKGUpe3JldHVybiBpLmlzV2ViR0wyP3QuZGVsZXRlVmVydGV4QXJyYXkoZSk6by5kZWxldGVWZXJ0ZXhBcnJheU9FUyhlKX1mdW5jdGlvbiBkKHQpe2NvbnN0IGU9W10sbj1bXSxpPVtdO2ZvcihsZXQgdD0wO3Q8cjt0KyspZVt0XT0wLG5bdF09MCxpW3RdPTA7cmV0dXJue2dlb21ldHJ5Om51bGwscHJvZ3JhbTpudWxsLHdpcmVmcmFtZTohMSxuZXdBdHRyaWJ1dGVzOmUsZW5hYmxlZEF0dHJpYnV0ZXM6bixhdHRyaWJ1dGVEaXZpc29yczppLG9iamVjdDp0LGF0dHJpYnV0ZXM6e30saW5kZXg6bnVsbH19ZnVuY3Rpb24gcCgpe2NvbnN0IHQ9Yy5uZXdBdHRyaWJ1dGVzO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl0W2VdPTB9ZnVuY3Rpb24gZih0KXttKHQsMCl9ZnVuY3Rpb24gbShuLHIpe2NvbnN0IG89Yy5lbmFibGVkQXR0cmlidXRlcyxhPWMuYXR0cmlidXRlRGl2aXNvcnM7aWYoYy5uZXdBdHRyaWJ1dGVzW25dPTEsMD09PW9bbl0mJih0LmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pLG9bbl09MSksYVtuXSE9PXIpeyhpLmlzV2ViR0wyP3Q6ZS5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSlbaS5pc1dlYkdMMj8idmVydGV4QXR0cmliRGl2aXNvciI6InZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRSJdKG4sciksYVtuXT1yfX1mdW5jdGlvbiBnKCl7Y29uc3QgZT1jLm5ld0F0dHJpYnV0ZXMsbj1jLmVuYWJsZWRBdHRyaWJ1dGVzO2ZvcihsZXQgaT0wLHI9bi5sZW5ndGg7aTxyO2krKyluW2ldIT09ZVtpXSYmKHQuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGkpLG5baV09MCl9ZnVuY3Rpb24gXyhlLG4scixvLGEscyl7ITAhPT1pLmlzV2ViR0wyfHw1MTI0IT09ciYmNTEyNSE9PXI/dC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGUsbixyLG8sYSxzKTp0LnZlcnRleEF0dHJpYklQb2ludGVyKGUsbixyLGEscyl9ZnVuY3Rpb24geSgpe3YoKSxjIT09bCYmKGM9bCx1KGMub2JqZWN0KSl9ZnVuY3Rpb24gdigpe2wuZ2VvbWV0cnk9bnVsbCxsLnByb2dyYW09bnVsbCxsLndpcmVmcmFtZT0hMX1yZXR1cm57c2V0dXA6ZnVuY3Rpb24gYihyLGwsaCx5LHYpe2xldCBiPSExO2lmKGEpe2NvbnN0IGU9KGZ1bmN0aW9uIHgoZSxuLHIpe2NvbnN0IGE9ITA9PT1yLndpcmVmcmFtZTtsZXQgbD1zW2UuaWRdO3ZvaWQgMD09PWwmJihsPXt9LHNbZS5pZF09bCk7bGV0IGM9bFtuLmlkXTt2b2lkIDA9PT1jJiYoYz17fSxsW24uaWRdPWMpO2xldCB1PWNbYV07dm9pZCAwPT09dSYmKHU9ZCgoZnVuY3Rpb24gaCgpe3JldHVybiBpLmlzV2ViR0wyP3QuY3JlYXRlVmVydGV4QXJyYXkoKTpvLmNyZWF0ZVZlcnRleEFycmF5T0VTKCl9KSgpKSxjW2FdPXUpO3JldHVybiB1fSkoeSxoLGwpO2MhPT1lJiYoYz1lLHUoYy5vYmplY3QpKSxiPShmdW5jdGlvbiB3KHQsZSl7Y29uc3Qgbj1jLmF0dHJpYnV0ZXMsaT10LmF0dHJpYnV0ZXM7bGV0IHI9MDtmb3IoY29uc3QgdCBpbiBpKXtjb25zdCBlPW5bdF0sbz1pW3RdO2lmKHZvaWQgMD09PWUpcmV0dXJuITA7aWYoZS5hdHRyaWJ1dGUhPT1vKXJldHVybiEwO2lmKGUuZGF0YSE9PW8uZGF0YSlyZXR1cm4hMDtyKyt9cmV0dXJuIGMuYXR0cmlidXRlc051bSE9PXJ8fGMuaW5kZXghPT1lfSkoeSx2KSxiJiYoZnVuY3Rpb24gUyh0LGUpe2NvbnN0IG49e30saT10LmF0dHJpYnV0ZXM7bGV0IHI9MDtmb3IoY29uc3QgdCBpbiBpKXtjb25zdCBlPWlbdF0sbz17fTtvLmF0dHJpYnV0ZT1lLGUuZGF0YSYmKG8uZGF0YT1lLmRhdGEpLG5bdF09byxyKyt9Yy5hdHRyaWJ1dGVzPW4sYy5hdHRyaWJ1dGVzTnVtPXIsYy5pbmRleD1lfSkoeSx2KX1lbHNle2NvbnN0IHQ9ITA9PT1sLndpcmVmcmFtZTtjLmdlb21ldHJ5PT09eS5pZCYmYy5wcm9ncmFtPT09aC5pZCYmYy53aXJlZnJhbWU9PT10fHwoYy5nZW9tZXRyeT15LmlkLGMucHJvZ3JhbT1oLmlkLGMud2lyZWZyYW1lPXQsYj0hMCl9ITA9PT1yLmlzSW5zdGFuY2VkTWVzaCYmKGI9ITApLG51bGwhPT12JiZuLnVwZGF0ZSh2LDM0OTYzKSxiJiYoIShmdW5jdGlvbiBNKHIsbyxhLHMpe2lmKCExPT09aS5pc1dlYkdMMiYmKHIuaXNJbnN0YW5jZWRNZXNofHxzLmlzSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnkpJiZudWxsPT09ZS5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSlyZXR1cm47cCgpO2NvbnN0IGw9cy5hdHRyaWJ1dGVzLGM9YS5nZXRBdHRyaWJ1dGVzKCksdT1vLmRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXM7Zm9yKGNvbnN0IGUgaW4gYyl7Y29uc3QgaT1jW2VdO2lmKGk+PTApe2NvbnN0IG89bFtlXTtpZih2b2lkIDAhPT1vKXtjb25zdCBlPW8ubm9ybWFsaXplZCxyPW8uaXRlbVNpemUsYT1uLmdldChvKTtpZih2b2lkIDA9PT1hKWNvbnRpbnVlO2NvbnN0IGw9YS5idWZmZXIsYz1hLnR5cGUsdT1hLmJ5dGVzUGVyRWxlbWVudDtpZihvLmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUpe2NvbnN0IG49by5kYXRhLGE9bi5zdHJpZGUsaD1vLm9mZnNldDtuJiZuLmlzSW5zdGFuY2VkSW50ZXJsZWF2ZWRCdWZmZXI/KG0oaSxuLm1lc2hQZXJBdHRyaWJ1dGUpLHZvaWQgMD09PXMuX21heEluc3RhbmNlQ291bnQmJihzLl9tYXhJbnN0YW5jZUNvdW50PW4ubWVzaFBlckF0dHJpYnV0ZSpuLmNvdW50KSk6ZihpKSx0LmJpbmRCdWZmZXIoMzQ5NjIsbCksXyhpLHIsYyxlLGEqdSxoKnUpfWVsc2Ugby5pc0luc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT8obShpLG8ubWVzaFBlckF0dHJpYnV0ZSksdm9pZCAwPT09cy5fbWF4SW5zdGFuY2VDb3VudCYmKHMuX21heEluc3RhbmNlQ291bnQ9by5tZXNoUGVyQXR0cmlidXRlKm8uY291bnQpKTpmKGkpLHQuYmluZEJ1ZmZlcigzNDk2MixsKSxfKGkscixjLGUsMCwwKX1lbHNlIGlmKCJpbnN0YW5jZU1hdHJpeCI9PT1lKXtjb25zdCBlPW4uZ2V0KHIuaW5zdGFuY2VNYXRyaXgpO2lmKHZvaWQgMD09PWUpY29udGludWU7Y29uc3Qgbz1lLmJ1ZmZlcixhPWUudHlwZTttKGkrMCwxKSxtKGkrMSwxKSxtKGkrMiwxKSxtKGkrMywxKSx0LmJpbmRCdWZmZXIoMzQ5NjIsbyksdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGkrMCw0LGEsITEsNjQsMCksdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGkrMSw0LGEsITEsNjQsMTYpLHQudmVydGV4QXR0cmliUG9pbnRlcihpKzIsNCxhLCExLDY0LDMyKSx0LnZlcnRleEF0dHJpYlBvaW50ZXIoaSszLDQsYSwhMSw2NCw0OCl9ZWxzZSBpZigiaW5zdGFuY2VDb2xvciI9PT1lKXtjb25zdCBlPW4uZ2V0KHIuaW5zdGFuY2VDb2xvcik7aWYodm9pZCAwPT09ZSljb250aW51ZTtjb25zdCBvPWUuYnVmZmVyLGE9ZS50eXBlO20oaSwxKSx0LmJpbmRCdWZmZXIoMzQ5NjIsbyksdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGksMyxhLCExLDEyLDApfWVsc2UgaWYodm9pZCAwIT09dSl7Y29uc3Qgbj11W2VdO2lmKHZvaWQgMCE9PW4pc3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDI6dC52ZXJ0ZXhBdHRyaWIyZnYoaSxuKTticmVhaztjYXNlIDM6dC52ZXJ0ZXhBdHRyaWIzZnYoaSxuKTticmVhaztjYXNlIDQ6dC52ZXJ0ZXhBdHRyaWI0ZnYoaSxuKTticmVhaztkZWZhdWx0OnQudmVydGV4QXR0cmliMWZ2KGksbil9fX19ZygpfSkocixsLGgseSksbnVsbCE9PXYmJnQuYmluZEJ1ZmZlcigzNDk2MyxuLmdldCh2KS5idWZmZXIpKX0scmVzZXQ6eSxyZXNldERlZmF1bHRTdGF0ZTp2LGRpc3Bvc2U6ZnVuY3Rpb24geCgpe3koKTtmb3IoY29uc3QgdCBpbiBzKXtjb25zdCBlPXNbdF07Zm9yKGNvbnN0IHQgaW4gZSl7Y29uc3Qgbj1lW3RdO2Zvcihjb25zdCB0IGluIG4paChuW3RdLm9iamVjdCksZGVsZXRlIG5bdF07ZGVsZXRlIGVbdF19ZGVsZXRlIHNbdF19fSxyZWxlYXNlU3RhdGVzT2ZHZW9tZXRyeTpmdW5jdGlvbiB3KHQpe2lmKHZvaWQgMD09PXNbdC5pZF0pcmV0dXJuO2NvbnN0IGU9c1t0LmlkXTtmb3IoY29uc3QgdCBpbiBlKXtjb25zdCBuPWVbdF07Zm9yKGNvbnN0IHQgaW4gbiloKG5bdF0ub2JqZWN0KSxkZWxldGUgblt0XTtkZWxldGUgZVt0XX1kZWxldGUgc1t0LmlkXX0scmVsZWFzZVN0YXRlc09mUHJvZ3JhbTpmdW5jdGlvbiBTKHQpe2Zvcihjb25zdCBlIGluIHMpe2NvbnN0IG49c1tlXTtpZih2b2lkIDA9PT1uW3QuaWRdKWNvbnRpbnVlO2NvbnN0IGk9blt0LmlkXTtmb3IoY29uc3QgdCBpbiBpKWgoaVt0XS5vYmplY3QpLGRlbGV0ZSBpW3RdO2RlbGV0ZSBuW3QuaWRdfX0saW5pdEF0dHJpYnV0ZXM6cCxlbmFibGVBdHRyaWJ1dGU6ZixkaXNhYmxlVW51c2VkQXR0cmlidXRlczpnfX1mdW5jdGlvbiBNNnQodCxlLG4saSl7Y29uc3Qgcj1pLmlzV2ViR0wyO2xldCBvO3RoaXMuc2V0TW9kZT1mdW5jdGlvbiBhKHQpe289dH0sdGhpcy5yZW5kZXI9ZnVuY3Rpb24gcyhlLGkpe3QuZHJhd0FycmF5cyhvLGUsaSksbi51cGRhdGUoaSxvLDEpfSx0aGlzLnJlbmRlckluc3RhbmNlcz1mdW5jdGlvbiBsKGksYSxzKXtpZigwPT09cylyZXR1cm47bGV0IGwsYztpZihyKWw9dCxjPSJkcmF3QXJyYXlzSW5zdGFuY2VkIjtlbHNlIGlmKGw9ZS5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSxjPSJkcmF3QXJyYXlzSW5zdGFuY2VkQU5HTEUiLG51bGw9PT1sKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMQnVmZmVyUmVuZGVyZXI6IHVzaW5nIFRIUkVFLkluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5IGJ1dCBoYXJkd2FyZSBkb2VzIG5vdCBzdXBwb3J0IGV4dGVuc2lvbiBBTkdMRV9pbnN0YW5jZWRfYXJyYXlzLiIpO2xbY10obyxpLGEscyksbi51cGRhdGUoYSxvLHMpfX1mdW5jdGlvbiBFNnQodCxlLG4pe2xldCBpO2Z1bmN0aW9uIHIoZSl7aWYoImhpZ2hwIj09PWUpe2lmKHQuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0KDM1NjMzLDM2MzM4KS5wcmVjaXNpb24+MCYmdC5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoMzU2MzIsMzYzMzgpLnByZWNpc2lvbj4wKXJldHVybiJoaWdocCI7ZT0ibWVkaXVtcCJ9cmV0dXJuIm1lZGl1bXAiPT09ZSYmdC5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoMzU2MzMsMzYzMzcpLnByZWNpc2lvbj4wJiZ0LmdldFNoYWRlclByZWNpc2lvbkZvcm1hdCgzNTYzMiwzNjMzNykucHJlY2lzaW9uPjA/Im1lZGl1bXAiOiJsb3dwIn1jb25zdCBvPSJ1bmRlZmluZWQiIT10eXBlb2YgV2ViR0wyUmVuZGVyaW5nQ29udGV4dCYmdCBpbnN0YW5jZW9mIFdlYkdMMlJlbmRlcmluZ0NvbnRleHR8fCJ1bmRlZmluZWQiIT10eXBlb2YgV2ViR0wyQ29tcHV0ZVJlbmRlcmluZ0NvbnRleHQmJnQgaW5zdGFuY2VvZiBXZWJHTDJDb21wdXRlUmVuZGVyaW5nQ29udGV4dDtsZXQgYT12b2lkIDAhPT1uLnByZWNpc2lvbj9uLnByZWNpc2lvbjoiaGlnaHAiO2NvbnN0IHM9cihhKTtzIT09YSYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjoiLGEsIm5vdCBzdXBwb3J0ZWQsIHVzaW5nIixzLCJpbnN0ZWFkLiIpLGE9cyk7Y29uc3QgbD1vfHxlLmhhcygiV0VCR0xfZHJhd19idWZmZXJzIiksYz0hMD09PW4ubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcix1PXQuZ2V0UGFyYW1ldGVyKDM0OTMwKSxoPXQuZ2V0UGFyYW1ldGVyKDM1NjYwKSxkPXQuZ2V0UGFyYW1ldGVyKDMzNzkpLHA9dC5nZXRQYXJhbWV0ZXIoMzQwNzYpLGY9dC5nZXRQYXJhbWV0ZXIoMzQ5MjEpLG09dC5nZXRQYXJhbWV0ZXIoMzYzNDcpLGc9dC5nZXRQYXJhbWV0ZXIoMzYzNDgpLF89dC5nZXRQYXJhbWV0ZXIoMzYzNDkpLHk9aD4wLHY9b3x8ZS5oYXMoIk9FU190ZXh0dXJlX2Zsb2F0Iik7cmV0dXJue2lzV2ViR0wyOm8sZHJhd0J1ZmZlcnM6bCxnZXRNYXhBbmlzb3Ryb3B5OmZ1bmN0aW9uIGIoKXtpZih2b2lkIDAhPT1pKXJldHVybiBpO2lmKCEwPT09ZS5oYXMoIkVYVF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyIpKXtjb25zdCBuPWUuZ2V0KCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKTtpPXQuZ2V0UGFyYW1ldGVyKG4uTUFYX1RFWFRVUkVfTUFYX0FOSVNPVFJPUFlfRVhUKX1lbHNlIGk9MDtyZXR1cm4gaX0sZ2V0TWF4UHJlY2lzaW9uOnIscHJlY2lzaW9uOmEsbG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcjpjLG1heFRleHR1cmVzOnUsbWF4VmVydGV4VGV4dHVyZXM6aCxtYXhUZXh0dXJlU2l6ZTpkLG1heEN1YmVtYXBTaXplOnAsbWF4QXR0cmlidXRlczpmLG1heFZlcnRleFVuaWZvcm1zOm0sbWF4VmFyeWluZ3M6ZyxtYXhGcmFnbWVudFVuaWZvcm1zOl8sdmVydGV4VGV4dHVyZXM6eSxmbG9hdEZyYWdtZW50VGV4dHVyZXM6dixmbG9hdFZlcnRleFRleHR1cmVzOnkmJnYsbWF4U2FtcGxlczpvP3QuZ2V0UGFyYW1ldGVyKDM2MTgzKTowfX1mdW5jdGlvbiBUNnQodCl7Y29uc3QgZT10aGlzO2xldCBuPW51bGwsaT0wLHI9ITEsbz0hMTtjb25zdCBhPW5ldyBkNnQscz1uZXcgQTV0LGw9e3ZhbHVlOm51bGwsbmVlZHNVcGRhdGU6ITF9O2Z1bmN0aW9uIGMoKXtsLnZhbHVlIT09biYmKGwudmFsdWU9bixsLm5lZWRzVXBkYXRlPWk+MCksZS5udW1QbGFuZXM9aSxlLm51bUludGVyc2VjdGlvbj0wfWZ1bmN0aW9uIHUodCxuLGkscil7Y29uc3Qgbz1udWxsIT09dD90Lmxlbmd0aDowO2xldCBjPW51bGw7aWYoMCE9PW8pe2lmKGM9bC52YWx1ZSwhMCE9PXJ8fG51bGw9PT1jKXtjb25zdCBlPWkrNCpvLHI9bi5tYXRyaXhXb3JsZEludmVyc2U7cy5nZXROb3JtYWxNYXRyaXgociksKG51bGw9PT1jfHxjLmxlbmd0aDxlKSYmKGM9bmV3IEZsb2F0MzJBcnJheShlKSk7Zm9yKGxldCBlPTAsbj1pO2UhPT1vOysrZSxuKz00KWEuY29weSh0W2VdKS5hcHBseU1hdHJpeDQocixzKSxhLm5vcm1hbC50b0FycmF5KGMsbiksY1tuKzNdPWEuY29uc3RhbnR9bC52YWx1ZT1jLGwubmVlZHNVcGRhdGU9ITB9cmV0dXJuIGUubnVtUGxhbmVzPW8sZS5udW1JbnRlcnNlY3Rpb249MCxjfXRoaXMudW5pZm9ybT1sLHRoaXMubnVtUGxhbmVzPTAsdGhpcy5udW1JbnRlcnNlY3Rpb249MCx0aGlzLmluaXQ9ZnVuY3Rpb24odCxlLG8pe2NvbnN0IGE9MCE9PXQubGVuZ3RofHxlfHwwIT09aXx8cjtyZXR1cm4gcj1lLG49dSh0LG8sMCksaT10Lmxlbmd0aCxhfSx0aGlzLmJlZ2luU2hhZG93cz1mdW5jdGlvbigpe289ITAsdShudWxsKX0sdGhpcy5lbmRTaGFkb3dzPWZ1bmN0aW9uKCl7bz0hMSxjKCl9LHRoaXMuc2V0U3RhdGU9ZnVuY3Rpb24oZSxhLHMpe2NvbnN0IGg9ZS5jbGlwcGluZ1BsYW5lcyxkPWUuY2xpcEludGVyc2VjdGlvbixwPWUuY2xpcFNoYWRvd3MsZj10LmdldChlKTtpZighcnx8bnVsbD09PWh8fDA9PT1oLmxlbmd0aHx8byYmIXApbz91KG51bGwpOmMoKTtlbHNle2NvbnN0IHQ9bz8wOmksZT00KnQ7bGV0IHI9Zi5jbGlwcGluZ1N0YXRlfHxudWxsO2wudmFsdWU9cixyPXUoaCxhLGUscyk7Zm9yKGxldCB0PTA7dCE9PWU7Kyt0KXJbdF09blt0XTtmLmNsaXBwaW5nU3RhdGU9cix0aGlzLm51bUludGVyc2VjdGlvbj1kP3RoaXMubnVtUGxhbmVzOjAsdGhpcy5udW1QbGFuZXMrPXR9fX1mdW5jdGlvbiBDNnQodCl7bGV0IGU9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbih0LGUpe3JldHVybiBlPT09aTJ0P3QubWFwcGluZz1lMnQ6ZT09PXIydCYmKHQubWFwcGluZz1uMnQpLHR9ZnVuY3Rpb24gaSh0KXtjb25zdCBuPXQudGFyZ2V0O24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsaSk7Y29uc3Qgcj1lLmdldChuKTt2b2lkIDAhPT1yJiYoZS5kZWxldGUobiksci5kaXNwb3NlKCkpfXJldHVybntnZXQ6ZnVuY3Rpb24gcihvKXtpZihvJiZvLmlzVGV4dHVyZSYmITE9PT1vLmlzUmVuZGVyVGFyZ2V0VGV4dHVyZSl7Y29uc3Qgcj1vLm1hcHBpbmc7aWYocj09PWkydHx8cj09PXIydCl7aWYoZS5oYXMobykpe3JldHVybiBuKGUuZ2V0KG8pLnRleHR1cmUsby5tYXBwaW5nKX17Y29uc3Qgcj1vLmltYWdlO2lmKHImJnIuaGVpZ2h0PjApe2NvbnN0IGE9dC5nZXRSZW5kZXJUYXJnZXQoKSxzPW5ldyBsNnQoci5oZWlnaHQvMik7cmV0dXJuIHMuZnJvbUVxdWlyZWN0YW5ndWxhclRleHR1cmUodCxvKSxlLnNldChvLHMpLHQuc2V0UmVuZGVyVGFyZ2V0KGEpLG8uYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsaSksbihzLnRleHR1cmUsby5tYXBwaW5nKX1yZXR1cm4gbnVsbH19fXJldHVybiBvfSxkaXNwb3NlOmZ1bmN0aW9uIG8oKXtlPW5ldyBXZWFrTWFwfX19eDZ0LnBoeXNpY2FsPXt1bmlmb3Jtczp0NnQoW3g2dC5zdGFuZGFyZC51bmlmb3Jtcyx7Y2xlYXJjb2F0Ont2YWx1ZTowfSxjbGVhcmNvYXRNYXA6e3ZhbHVlOm51bGx9LGNsZWFyY29hdFJvdWdobmVzczp7dmFsdWU6MH0sY2xlYXJjb2F0Um91Z2huZXNzTWFwOnt2YWx1ZTpudWxsfSxjbGVhcmNvYXROb3JtYWxTY2FsZTp7dmFsdWU6bmV3IEM1dCgxLDEpfSxjbGVhcmNvYXROb3JtYWxNYXA6e3ZhbHVlOm51bGx9LHNoZWVuOnt2YWx1ZTpuZXcgczR0KDApfSx0cmFuc21pc3Npb246e3ZhbHVlOjB9LHRyYW5zbWlzc2lvbk1hcDp7dmFsdWU6bnVsbH0sdHJhbnNtaXNzaW9uU2FtcGxlclNpemU6e3ZhbHVlOm5ldyBDNXR9LHRyYW5zbWlzc2lvblNhbXBsZXJNYXA6e3ZhbHVlOm51bGx9LHRoaWNrbmVzczp7dmFsdWU6MH0sdGhpY2tuZXNzTWFwOnt2YWx1ZTpudWxsfSxhdHRlbnVhdGlvbkRpc3RhbmNlOnt2YWx1ZTowfSxhdHRlbnVhdGlvblRpbnQ6e3ZhbHVlOm5ldyBzNHQoMCl9LHNwZWN1bGFySW50ZW5zaXR5Ont2YWx1ZTowfSxzcGVjdWxhckludGVuc2l0eU1hcDp7dmFsdWU6bnVsbH0sc3BlY3VsYXJUaW50Ont2YWx1ZTpuZXcgczR0KDEsMSwxKX0sc3BlY3VsYXJUaW50TWFwOnt2YWx1ZTpudWxsfX1dKSx2ZXJ0ZXhTaGFkZXI6djZ0Lm1lc2hwaHlzaWNhbF92ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5tZXNocGh5c2ljYWxfZnJhZ307Y2xhc3MgQTZ0IGV4dGVuZHMgaTZ0e2NvbnN0cnVjdG9yKHQ9LTEsZT0xLG49MSxpPS0xLHI9LjEsbz0yZTMpe3N1cGVyKCksdGhpcy50eXBlPSJPcnRob2dyYXBoaWNDYW1lcmEiLHRoaXMuem9vbT0xLHRoaXMudmlldz1udWxsLHRoaXMubGVmdD10LHRoaXMucmlnaHQ9ZSx0aGlzLnRvcD1uLHRoaXMuYm90dG9tPWksdGhpcy5uZWFyPXIsdGhpcy5mYXI9byx0aGlzLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX1jb3B5KHQsZSl7cmV0dXJuIHN1cGVyLmNvcHkodCxlKSx0aGlzLmxlZnQ9dC5sZWZ0LHRoaXMucmlnaHQ9dC5yaWdodCx0aGlzLnRvcD10LnRvcCx0aGlzLmJvdHRvbT10LmJvdHRvbSx0aGlzLm5lYXI9dC5uZWFyLHRoaXMuZmFyPXQuZmFyLHRoaXMuem9vbT10Lnpvb20sdGhpcy52aWV3PW51bGw9PT10LnZpZXc/bnVsbDpPYmplY3QuYXNzaWduKHt9LHQudmlldyksdGhpc31zZXRWaWV3T2Zmc2V0KHQsZSxuLGkscixvKXtudWxsPT09dGhpcy52aWV3JiYodGhpcy52aWV3PXtlbmFibGVkOiEwLGZ1bGxXaWR0aDoxLGZ1bGxIZWlnaHQ6MSxvZmZzZXRYOjAsb2Zmc2V0WTowLHdpZHRoOjEsaGVpZ2h0OjF9KSx0aGlzLnZpZXcuZW5hYmxlZD0hMCx0aGlzLnZpZXcuZnVsbFdpZHRoPXQsdGhpcy52aWV3LmZ1bGxIZWlnaHQ9ZSx0aGlzLnZpZXcub2Zmc2V0WD1uLHRoaXMudmlldy5vZmZzZXRZPWksdGhpcy52aWV3LndpZHRoPXIsdGhpcy52aWV3LmhlaWdodD1vLHRoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfWNsZWFyVmlld09mZnNldCgpe251bGwhPT10aGlzLnZpZXcmJih0aGlzLnZpZXcuZW5hYmxlZD0hMSksdGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9dXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpe2NvbnN0IHQ9KHRoaXMucmlnaHQtdGhpcy5sZWZ0KS8oMip0aGlzLnpvb20pLGU9KHRoaXMudG9wLXRoaXMuYm90dG9tKS8oMip0aGlzLnpvb20pLG49KHRoaXMucmlnaHQrdGhpcy5sZWZ0KS8yLGk9KHRoaXMudG9wK3RoaXMuYm90dG9tKS8yO2xldCByPW4tdCxvPW4rdCxhPWkrZSxzPWktZTtpZihudWxsIT09dGhpcy52aWV3JiZ0aGlzLnZpZXcuZW5hYmxlZCl7Y29uc3QgdD0odGhpcy5yaWdodC10aGlzLmxlZnQpL3RoaXMudmlldy5mdWxsV2lkdGgvdGhpcy56b29tLGU9KHRoaXMudG9wLXRoaXMuYm90dG9tKS90aGlzLnZpZXcuZnVsbEhlaWdodC90aGlzLnpvb207cis9dCp0aGlzLnZpZXcub2Zmc2V0WCxvPXIrdCp0aGlzLnZpZXcud2lkdGgsYS09ZSp0aGlzLnZpZXcub2Zmc2V0WSxzPWEtZSp0aGlzLnZpZXcuaGVpZ2h0fXRoaXMucHJvamVjdGlvbk1hdHJpeC5tYWtlT3J0aG9ncmFwaGljKHIsbyxhLHMsdGhpcy5uZWFyLHRoaXMuZmFyKSx0aGlzLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlLmNvcHkodGhpcy5wcm9qZWN0aW9uTWF0cml4KS5pbnZlcnQoKX10b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7cmV0dXJuIGUub2JqZWN0Lnpvb209dGhpcy56b29tLGUub2JqZWN0LmxlZnQ9dGhpcy5sZWZ0LGUub2JqZWN0LnJpZ2h0PXRoaXMucmlnaHQsZS5vYmplY3QudG9wPXRoaXMudG9wLGUub2JqZWN0LmJvdHRvbT10aGlzLmJvdHRvbSxlLm9iamVjdC5uZWFyPXRoaXMubmVhcixlLm9iamVjdC5mYXI9dGhpcy5mYXIsbnVsbCE9PXRoaXMudmlldyYmKGUub2JqZWN0LnZpZXc9T2JqZWN0LmFzc2lnbih7fSx0aGlzLnZpZXcpKSxlfX1BNnQucHJvdG90eXBlLmlzT3J0aG9ncmFwaGljQ2FtZXJhPSEwO2NsYXNzIGs2dCBleHRlbmRzIG42dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLnR5cGU9IlJhd1NoYWRlck1hdGVyaWFsIn19azZ0LnByb3RvdHlwZS5pc1Jhd1NoYWRlck1hdGVyaWFsPSEwO2NvbnN0IEw2dD1NYXRoLnBvdygyLDgpLFA2dD1bLjEyNSwuMjE1LC4zNSwuNDQ2LC41MjYsLjU4Ml0sTjZ0PTUrUDZ0Lmxlbmd0aCxJNnQ9MjAsUjZ0PXtbRzJ0XTowLFtXMnRdOjEsW1kydF06MixbWDJ0XTozLFskMnRdOjQsW0sydF06NSxbcTJ0XTo2fSxPNnQ9bmV3IGw0dCh7c2lkZToxLGRlcHRoV3JpdGU6ITEsZGVwdGhUZXN0OiExfSksejZ0PW5ldyBLNHQobmV3IEo0dCxPNnQpLEQ2dD1uZXcgQTZ0LHtfbG9kUGxhbmVzOkI2dCxfc2l6ZUxvZHM6SDZ0LF9zaWdtYXM6RjZ0fT0kNnQoKSxWNnQ9bmV3IHM0dDtsZXQgVTZ0PW51bGw7Y29uc3QgajZ0PSgxK01hdGguc3FydCg1KSkvMixHNnQ9MS9qNnQsVzZ0PVtuZXcgSDV0KDEsMSwxKSxuZXcgSDV0KC0xLDEsMSksbmV3IEg1dCgxLDEsLTEpLG5ldyBINXQoLTEsMSwtMSksbmV3IEg1dCgwLGo2dCxHNnQpLG5ldyBINXQoMCxqNnQsLUc2dCksbmV3IEg1dChHNnQsMCxqNnQpLG5ldyBINXQoLUc2dCwwLGo2dCksbmV3IEg1dChqNnQsRzZ0LDApLG5ldyBINXQoLWo2dCxHNnQsMCldO2Z1bmN0aW9uIHE2dCh0KXtjb25zdCBlPU1hdGgubWF4KHQucix0LmcsdC5iKSxuPU1hdGgubWluKE1hdGgubWF4KE1hdGguY2VpbChNYXRoLmxvZzIoZSkpLC0xMjgpLDEyNyk7dC5tdWx0aXBseVNjYWxhcihNYXRoLnBvdygyLC1uKSk7cmV0dXJuKG4rMTI4KS8yNTV9Y2xhc3MgWTZ0e2NvbnN0cnVjdG9yKHQpe3RoaXMuX3JlbmRlcmVyPXQsdGhpcy5fcGluZ1BvbmdSZW5kZXJUYXJnZXQ9bnVsbCx0aGlzLl9ibHVyTWF0ZXJpYWw9KGZ1bmN0aW9uIGUodCl7Y29uc3QgZT1uZXcgRmxvYXQzMkFycmF5KHQpLG49bmV3IEg1dCgwLDEsMCk7cmV0dXJuIG5ldyBrNnQoe25hbWU6IlNwaGVyaWNhbEdhdXNzaWFuQmx1ciIsZGVmaW5lczp7bjp0fSx1bmlmb3Jtczp7ZW52TWFwOnt2YWx1ZTpudWxsfSxzYW1wbGVzOnt2YWx1ZToxfSx3ZWlnaHRzOnt2YWx1ZTplfSxsYXRpdHVkaW5hbDp7dmFsdWU6ITF9LGRUaGV0YTp7dmFsdWU6MH0sbWlwSW50Ont2YWx1ZTowfSxwb2xlQXhpczp7dmFsdWU6bn0saW5wdXRFbmNvZGluZzp7dmFsdWU6UjZ0WzNlM119LG91dHB1dEVuY29kaW5nOnt2YWx1ZTpSNnRbM2UzXX19LHZlcnRleFNoYWRlcjp0OXQoKSxmcmFnbWVudFNoYWRlcjpgXG5cblx0XHRcdHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuXHRcdFx0cHJlY2lzaW9uIG1lZGl1bXAgaW50O1xuXG5cdFx0XHR2YXJ5aW5nIHZlYzMgdk91dHB1dERpcmVjdGlvbjtcblxuXHRcdFx0dW5pZm9ybSBzYW1wbGVyMkQgZW52TWFwO1xuXHRcdFx0dW5pZm9ybSBpbnQgc2FtcGxlcztcblx0XHRcdHVuaWZvcm0gZmxvYXQgd2VpZ2h0c1sgbiBdO1xuXHRcdFx0dW5pZm9ybSBib29sIGxhdGl0dWRpbmFsO1xuXHRcdFx0dW5pZm9ybSBmbG9hdCBkVGhldGE7XG5cdFx0XHR1bmlmb3JtIGZsb2F0IG1pcEludDtcblx0XHRcdHVuaWZvcm0gdmVjMyBwb2xlQXhpcztcblxuXHRcdFx0JHtlOXQoKX1cblxuXHRcdFx0I2RlZmluZSBFTlZNQVBfVFlQRV9DVUJFX1VWXG5cdFx0XHQjaW5jbHVkZSA8Y3ViZV91dl9yZWZsZWN0aW9uX2ZyYWdtZW50PlxuXG5cdFx0XHR2ZWMzIGdldFNhbXBsZSggZmxvYXQgdGhldGEsIHZlYzMgYXhpcyApIHtcblxuXHRcdFx0XHRmbG9hdCBjb3NUaGV0YSA9IGNvcyggdGhldGEgKTtcblx0XHRcdFx0Ly8gUm9kcmlndWVzJyBheGlzLWFuZ2xlIHJvdGF0aW9uXG5cdFx0XHRcdHZlYzMgc2FtcGxlRGlyZWN0aW9uID0gdk91dHB1dERpcmVjdGlvbiAqIGNvc1RoZXRhXG5cdFx0XHRcdFx0KyBjcm9zcyggYXhpcywgdk91dHB1dERpcmVjdGlvbiApICogc2luKCB0aGV0YSApXG5cdFx0XHRcdFx0KyBheGlzICogZG90KCBheGlzLCB2T3V0cHV0RGlyZWN0aW9uICkgKiAoIDEuMCAtIGNvc1RoZXRhICk7XG5cblx0XHRcdFx0cmV0dXJuIGJpbGluZWFyQ3ViZVVWKCBlbnZNYXAsIHNhbXBsZURpcmVjdGlvbiwgbWlwSW50ICk7XG5cblx0XHRcdH1cblxuXHRcdFx0dm9pZCBtYWluKCkge1xuXG5cdFx0XHRcdHZlYzMgYXhpcyA9IGxhdGl0dWRpbmFsID8gcG9sZUF4aXMgOiBjcm9zcyggcG9sZUF4aXMsIHZPdXRwdXREaXJlY3Rpb24gKTtcblxuXHRcdFx0XHRpZiAoIGFsbCggZXF1YWwoIGF4aXMsIHZlYzMoIDAuMCApICkgKSApIHtcblxuXHRcdFx0XHRcdGF4aXMgPSB2ZWMzKCB2T3V0cHV0RGlyZWN0aW9uLnosIDAuMCwgLSB2T3V0cHV0RGlyZWN0aW9uLnggKTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0YXhpcyA9IG5vcm1hbGl6ZSggYXhpcyApO1xuXG5cdFx0XHRcdGdsX0ZyYWdDb2xvciA9IHZlYzQoIDAuMCwgMC4wLCAwLjAsIDEuMCApO1xuXHRcdFx0XHRnbF9GcmFnQ29sb3IucmdiICs9IHdlaWdodHNbIDAgXSAqIGdldFNhbXBsZSggMC4wLCBheGlzICk7XG5cblx0XHRcdFx0Zm9yICggaW50IGkgPSAxOyBpIDwgbjsgaSsrICkge1xuXG5cdFx0XHRcdFx0aWYgKCBpID49IHNhbXBsZXMgKSB7XG5cblx0XHRcdFx0XHRcdGJyZWFrO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0ZmxvYXQgdGhldGEgPSBkVGhldGEgKiBmbG9hdCggaSApO1xuXHRcdFx0XHRcdGdsX0ZyYWdDb2xvci5yZ2IgKz0gd2VpZ2h0c1sgaSBdICogZ2V0U2FtcGxlKCAtMS4wICogdGhldGEsIGF4aXMgKTtcblx0XHRcdFx0XHRnbF9GcmFnQ29sb3IucmdiICs9IHdlaWdodHNbIGkgXSAqIGdldFNhbXBsZSggdGhldGEsIGF4aXMgKTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Z2xfRnJhZ0NvbG9yID0gbGluZWFyVG9PdXRwdXRUZXhlbCggZ2xfRnJhZ0NvbG9yICk7XG5cblx0XHRcdH1cblx0XHRgLGJsZW5kaW5nOjAsZGVwdGhUZXN0OiExLGRlcHRoV3JpdGU6ITF9KX0pKEk2dCksdGhpcy5fZXF1aXJlY3RTaGFkZXI9bnVsbCx0aGlzLl9jdWJlbWFwU2hhZGVyPW51bGwsdGhpcy5fY29tcGlsZU1hdGVyaWFsKHRoaXMuX2JsdXJNYXRlcmlhbCl9ZnJvbVNjZW5lKHQsZT0wLG49LjEsaT0xMDApe1U2dD10aGlzLl9yZW5kZXJlci5nZXRSZW5kZXJUYXJnZXQoKTtjb25zdCByPXRoaXMuX2FsbG9jYXRlVGFyZ2V0cygpO3JldHVybiB0aGlzLl9zY2VuZVRvQ3ViZVVWKHQsbixpLHIpLGU+MCYmdGhpcy5fYmx1cihyLDAsMCxlKSx0aGlzLl9hcHBseVBNUkVNKHIpLHRoaXMuX2NsZWFudXAocikscn1mcm9tRXF1aXJlY3Rhbmd1bGFyKHQpe3JldHVybiB0aGlzLl9mcm9tVGV4dHVyZSh0KX1mcm9tQ3ViZW1hcCh0KXtyZXR1cm4gdGhpcy5fZnJvbVRleHR1cmUodCl9Y29tcGlsZUN1YmVtYXBTaGFkZXIoKXtudWxsPT09dGhpcy5fY3ViZW1hcFNoYWRlciYmKHRoaXMuX2N1YmVtYXBTaGFkZXI9UTZ0KCksdGhpcy5fY29tcGlsZU1hdGVyaWFsKHRoaXMuX2N1YmVtYXBTaGFkZXIpKX1jb21waWxlRXF1aXJlY3Rhbmd1bGFyU2hhZGVyKCl7bnVsbD09PXRoaXMuX2VxdWlyZWN0U2hhZGVyJiYodGhpcy5fZXF1aXJlY3RTaGFkZXI9SjZ0KCksdGhpcy5fY29tcGlsZU1hdGVyaWFsKHRoaXMuX2VxdWlyZWN0U2hhZGVyKSl9ZGlzcG9zZSgpe3RoaXMuX2JsdXJNYXRlcmlhbC5kaXNwb3NlKCksbnVsbCE9PXRoaXMuX2N1YmVtYXBTaGFkZXImJnRoaXMuX2N1YmVtYXBTaGFkZXIuZGlzcG9zZSgpLG51bGwhPT10aGlzLl9lcXVpcmVjdFNoYWRlciYmdGhpcy5fZXF1aXJlY3RTaGFkZXIuZGlzcG9zZSgpO2ZvcihsZXQgdD0wO3Q8QjZ0Lmxlbmd0aDt0KyspQjZ0W3RdLmRpc3Bvc2UoKX1fY2xlYW51cCh0KXt0aGlzLl9waW5nUG9uZ1JlbmRlclRhcmdldC5kaXNwb3NlKCksdGhpcy5fcmVuZGVyZXIuc2V0UmVuZGVyVGFyZ2V0KFU2dCksdC5zY2lzc29yVGVzdD0hMSxaNnQodCwwLDAsdC53aWR0aCx0LmhlaWdodCl9X2Zyb21UZXh0dXJlKHQpe1U2dD10aGlzLl9yZW5kZXJlci5nZXRSZW5kZXJUYXJnZXQoKTtjb25zdCBlPXRoaXMuX2FsbG9jYXRlVGFyZ2V0cyh0KTtyZXR1cm4gdGhpcy5fdGV4dHVyZVRvQ3ViZVVWKHQsZSksdGhpcy5fYXBwbHlQTVJFTShlKSx0aGlzLl9jbGVhbnVwKGUpLGV9X2FsbG9jYXRlVGFyZ2V0cyh0KXtjb25zdCBlPXttYWdGaWx0ZXI6dTJ0LG1pbkZpbHRlcjp1MnQsZ2VuZXJhdGVNaXBtYXBzOiExLHR5cGU6ZzJ0LGZvcm1hdDoxMDIzLGVuY29kaW5nOlg2dCh0KT90LmVuY29kaW5nOlkydCxkZXB0aEJ1ZmZlcjohMX0sbj1LNnQoZSk7cmV0dXJuIG4uZGVwdGhCdWZmZXI9IXQsdGhpcy5fcGluZ1BvbmdSZW5kZXJUYXJnZXQ9SzZ0KGUpLG59X2NvbXBpbGVNYXRlcmlhbCh0KXtjb25zdCBlPW5ldyBLNHQoQjZ0WzBdLHQpO3RoaXMuX3JlbmRlcmVyLmNvbXBpbGUoZSxENnQpfV9zY2VuZVRvQ3ViZVVWKHQsZSxuLGkpe2NvbnN0IHI9bmV3IHI2dCg5MCwxLGUsbiksbz1bMSwtMSwxLDEsMSwxXSxhPVsxLDEsMSwtMSwtMSwtMV0scz10aGlzLl9yZW5kZXJlcixsPXMuYXV0b0NsZWFyLGM9cy5vdXRwdXRFbmNvZGluZyx1PXMudG9uZU1hcHBpbmc7cy5nZXRDbGVhckNvbG9yKFY2dCkscy50b25lTWFwcGluZz0wLHMub3V0cHV0RW5jb2Rpbmc9RzJ0LHMuYXV0b0NsZWFyPSExO2xldCBoPSExO2NvbnN0IGQ9dC5iYWNrZ3JvdW5kO2lmKGQpe2lmKGQuaXNDb2xvcil7TzZ0LmNvbG9yLmNvcHkoZCkuY29udmVydFNSR0JUb0xpbmVhcigpLHQuYmFja2dyb3VuZD1udWxsO2NvbnN0IGU9cTZ0KE82dC5jb2xvcik7TzZ0Lm9wYWNpdHk9ZSxoPSEwfX1lbHNle082dC5jb2xvci5jb3B5KFY2dCkuY29udmVydFNSR0JUb0xpbmVhcigpO2NvbnN0IHQ9cTZ0KE82dC5jb2xvcik7TzZ0Lm9wYWNpdHk9dCxoPSEwfWZvcihsZXQgZT0wO2U8NjtlKyspe2NvbnN0IG49ZSUzOzA9PW4/KHIudXAuc2V0KDAsb1tlXSwwKSxyLmxvb2tBdChhW2VdLDAsMCkpOjE9PW4/KHIudXAuc2V0KDAsMCxvW2VdKSxyLmxvb2tBdCgwLGFbZV0sMCkpOihyLnVwLnNldCgwLG9bZV0sMCksci5sb29rQXQoMCwwLGFbZV0pKSxaNnQoaSxuKkw2dCxlPjI/TDZ0OjAsTDZ0LEw2dCkscy5zZXRSZW5kZXJUYXJnZXQoaSksaCYmcy5yZW5kZXIoejZ0LHIpLHMucmVuZGVyKHQscil9cy50b25lTWFwcGluZz11LHMub3V0cHV0RW5jb2Rpbmc9YyxzLmF1dG9DbGVhcj1sfV90ZXh0dXJlVG9DdWJlVVYodCxlKXtjb25zdCBuPXRoaXMuX3JlbmRlcmVyO3QuaXNDdWJlVGV4dHVyZT9udWxsPT10aGlzLl9jdWJlbWFwU2hhZGVyJiYodGhpcy5fY3ViZW1hcFNoYWRlcj1RNnQoKSk6bnVsbD09dGhpcy5fZXF1aXJlY3RTaGFkZXImJih0aGlzLl9lcXVpcmVjdFNoYWRlcj1KNnQoKSk7Y29uc3QgaT10LmlzQ3ViZVRleHR1cmU/dGhpcy5fY3ViZW1hcFNoYWRlcjp0aGlzLl9lcXVpcmVjdFNoYWRlcixyPW5ldyBLNHQoQjZ0WzBdLGkpLG89aS51bmlmb3JtcztvLmVudk1hcC52YWx1ZT10LHQuaXNDdWJlVGV4dHVyZXx8by50ZXhlbFNpemUudmFsdWUuc2V0KDEvdC5pbWFnZS53aWR0aCwxL3QuaW1hZ2UuaGVpZ2h0KSxvLmlucHV0RW5jb2RpbmcudmFsdWU9UjZ0W3QuZW5jb2RpbmddLG8ub3V0cHV0RW5jb2RpbmcudmFsdWU9UjZ0W2UudGV4dHVyZS5lbmNvZGluZ10sWjZ0KGUsMCwwLDMqTDZ0LDIqTDZ0KSxuLnNldFJlbmRlclRhcmdldChlKSxuLnJlbmRlcihyLEQ2dCl9X2FwcGx5UE1SRU0odCl7Y29uc3QgZT10aGlzLl9yZW5kZXJlcixuPWUuYXV0b0NsZWFyO2UuYXV0b0NsZWFyPSExO2ZvcihsZXQgZT0xO2U8TjZ0O2UrKyl7Y29uc3Qgbj1NYXRoLnNxcnQoRjZ0W2VdKkY2dFtlXS1GNnRbZS0xXSpGNnRbZS0xXSk7dGhpcy5fYmx1cih0LGUtMSxlLG4sVzZ0WyhlLTEpJVc2dC5sZW5ndGhdKX1lLmF1dG9DbGVhcj1ufV9ibHVyKHQsZSxuLGkscil7Y29uc3Qgbz10aGlzLl9waW5nUG9uZ1JlbmRlclRhcmdldDt0aGlzLl9oYWxmQmx1cih0LG8sZSxuLGksImxhdGl0dWRpbmFsIixyKSx0aGlzLl9oYWxmQmx1cihvLHQsbixuLGksImxvbmdpdHVkaW5hbCIscil9X2hhbGZCbHVyKHQsZSxuLGkscixvLGEpe2NvbnN0IHM9dGhpcy5fcmVuZGVyZXIsbD10aGlzLl9ibHVyTWF0ZXJpYWw7ImxhdGl0dWRpbmFsIiE9PW8mJiJsb25naXR1ZGluYWwiIT09byYmY29uc29sZS5lcnJvcigiYmx1ciBkaXJlY3Rpb24gbXVzdCBiZSBlaXRoZXIgbGF0aXR1ZGluYWwgb3IgbG9uZ2l0dWRpbmFsISIpO2NvbnN0IGM9bmV3IEs0dChCNnRbaV0sbCksdT1sLnVuaWZvcm1zLGg9SDZ0W25dLTEsZD1pc0Zpbml0ZShyKT9NYXRoLlBJLygyKmgpOjIqTWF0aC5QSS8zOSxwPXIvZCxmPWlzRmluaXRlKHIpPzErTWF0aC5mbG9vcigzKnApOkk2dDtmPkk2dCYmY29uc29sZS53YXJuKGBzaWdtYVJhZGlhbnMsICR7cn0sIGlzIHRvbyBsYXJnZSBhbmQgd2lsbCBjbGlwLCBhcyBpdCByZXF1ZXN0ZWQgJHtmfSBzYW1wbGVzIHdoZW4gdGhlIG1heGltdW0gaXMgc2V0IHRvIDIwYCk7Y29uc3QgbT1bXTtsZXQgZz0wO2ZvcihsZXQgdD0wO3Q8STZ0OysrdCl7Y29uc3QgZT10L3Asbj1NYXRoLmV4cCgtZSplLzIpO20ucHVzaChuKSwwPT10P2crPW46dDxmJiYoZys9MipuKX1mb3IobGV0IHQ9MDt0PG0ubGVuZ3RoO3QrKyltW3RdPW1bdF0vZzt1LmVudk1hcC52YWx1ZT10LnRleHR1cmUsdS5zYW1wbGVzLnZhbHVlPWYsdS53ZWlnaHRzLnZhbHVlPW0sdS5sYXRpdHVkaW5hbC52YWx1ZT0ibGF0aXR1ZGluYWwiPT09byxhJiYodS5wb2xlQXhpcy52YWx1ZT1hKSx1LmRUaGV0YS52YWx1ZT1kLHUubWlwSW50LnZhbHVlPTgtbix1LmlucHV0RW5jb2RpbmcudmFsdWU9UjZ0W3QudGV4dHVyZS5lbmNvZGluZ10sdS5vdXRwdXRFbmNvZGluZy52YWx1ZT1SNnRbdC50ZXh0dXJlLmVuY29kaW5nXTtjb25zdCBfPUg2dFtpXTtaNnQoZSwzKk1hdGgubWF4KDAsTDZ0LTIqXyksKDA9PT1pPzA6MipMNnQpKzIqXyooaT40P2ktOCs0OjApLDMqXywyKl8pLHMuc2V0UmVuZGVyVGFyZ2V0KGUpLHMucmVuZGVyKGMsRDZ0KX19ZnVuY3Rpb24gWDZ0KHQpe3JldHVybiB2b2lkIDAhPT10JiZ0LnR5cGU9PT1nMnQmJih0LmVuY29kaW5nPT09RzJ0fHx0LmVuY29kaW5nPT09VzJ0fHx0LmVuY29kaW5nPT09cTJ0KX1mdW5jdGlvbiAkNnQoKXtjb25zdCB0PVtdLGU9W10sbj1bXTtsZXQgaT04O2ZvcihsZXQgcj0wO3I8TjZ0O3IrKyl7Y29uc3Qgbz1NYXRoLnBvdygyLGkpO2UucHVzaChvKTtsZXQgYT0xL287cj40P2E9UDZ0W3ItOCs0LTFdOjA9PXImJihhPTApLG4ucHVzaChhKTtjb25zdCBzPTEvKG8tMSksbD0tcy8yLGM9MStzLzIsdT1bbCxsLGMsbCxjLGMsbCxsLGMsYyxsLGNdLGg9NixkPTYscD0zLGY9MixtPTEsZz1uZXcgRmxvYXQzMkFycmF5KHAqZCpoKSxfPW5ldyBGbG9hdDMyQXJyYXkoZipkKmgpLHk9bmV3IEZsb2F0MzJBcnJheShtKmQqaCk7Zm9yKGxldCB0PTA7dDxoO3QrKyl7Y29uc3QgZT10JTMqMi8zLTEsbj10PjI/MDotMTtnLnNldChbZSxuLDAsZSsyLzMsbiwwLGUrMi8zLG4rMSwwLGUsbiwwLGUrMi8zLG4rMSwwLGUsbisxLDBdLHAqZCp0KSxfLnNldCh1LGYqZCp0KTt5LnNldChbdCx0LHQsdCx0LHRdLG0qZCp0KX1jb25zdCB2PW5ldyBONHQ7di5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgaDR0KGcscCkpLHYuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGg0dChfLGYpKSx2LnNldEF0dHJpYnV0ZSgiZmFjZUluZGV4IixuZXcgaDR0KHksbSkpLHQucHVzaCh2KSxpPjQmJmktLX1yZXR1cm57X2xvZFBsYW5lczp0LF9zaXplTG9kczplLF9zaWdtYXM6bn19ZnVuY3Rpb24gSzZ0KHQpe2NvbnN0IGU9bmV3IE81dCgzKkw2dCwzKkw2dCx0KTtyZXR1cm4gZS50ZXh0dXJlLm1hcHBpbmc9bzJ0LGUudGV4dHVyZS5uYW1lPSJQTVJFTS5jdWJlVXYiLGUuc2Npc3NvclRlc3Q9ITAsZX1mdW5jdGlvbiBaNnQodCxlLG4saSxyKXt0LnZpZXdwb3J0LnNldChlLG4saSxyKSx0LnNjaXNzb3Iuc2V0KGUsbixpLHIpfWZ1bmN0aW9uIEo2dCgpe2NvbnN0IHQ9bmV3IEM1dCgxLDEpO3JldHVybiBuZXcgazZ0KHtuYW1lOiJFcXVpcmVjdGFuZ3VsYXJUb0N1YmVVViIsdW5pZm9ybXM6e2Vudk1hcDp7dmFsdWU6bnVsbH0sdGV4ZWxTaXplOnt2YWx1ZTp0fSxpbnB1dEVuY29kaW5nOnt2YWx1ZTpSNnRbM2UzXX0sb3V0cHV0RW5jb2Rpbmc6e3ZhbHVlOlI2dFszZTNdfX0sdmVydGV4U2hhZGVyOnQ5dCgpLGZyYWdtZW50U2hhZGVyOmBcblxuXHRcdFx0cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG5cdFx0XHRwcmVjaXNpb24gbWVkaXVtcCBpbnQ7XG5cblx0XHRcdHZhcnlpbmcgdmVjMyB2T3V0cHV0RGlyZWN0aW9uO1xuXG5cdFx0XHR1bmlmb3JtIHNhbXBsZXIyRCBlbnZNYXA7XG5cdFx0XHR1bmlmb3JtIHZlYzIgdGV4ZWxTaXplO1xuXG5cdFx0XHQke2U5dCgpfVxuXG5cdFx0XHQjaW5jbHVkZSA8Y29tbW9uPlxuXG5cdFx0XHR2b2lkIG1haW4oKSB7XG5cblx0XHRcdFx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggMC4wLCAwLjAsIDAuMCwgMS4wICk7XG5cblx0XHRcdFx0dmVjMyBvdXRwdXREaXJlY3Rpb24gPSBub3JtYWxpemUoIHZPdXRwdXREaXJlY3Rpb24gKTtcblx0XHRcdFx0dmVjMiB1diA9IGVxdWlyZWN0VXYoIG91dHB1dERpcmVjdGlvbiApO1xuXG5cdFx0XHRcdHZlYzIgZiA9IGZyYWN0KCB1diAvIHRleGVsU2l6ZSAtIDAuNSApO1xuXHRcdFx0XHR1diAtPSBmICogdGV4ZWxTaXplO1xuXHRcdFx0XHR2ZWMzIHRsID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEICggZW52TWFwLCB1diApICkucmdiO1xuXHRcdFx0XHR1di54ICs9IHRleGVsU2l6ZS54O1xuXHRcdFx0XHR2ZWMzIHRyID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEICggZW52TWFwLCB1diApICkucmdiO1xuXHRcdFx0XHR1di55ICs9IHRleGVsU2l6ZS55O1xuXHRcdFx0XHR2ZWMzIGJyID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEICggZW52TWFwLCB1diApICkucmdiO1xuXHRcdFx0XHR1di54IC09IHRleGVsU2l6ZS54O1xuXHRcdFx0XHR2ZWMzIGJsID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEICggZW52TWFwLCB1diApICkucmdiO1xuXG5cdFx0XHRcdHZlYzMgdG0gPSBtaXgoIHRsLCB0ciwgZi54ICk7XG5cdFx0XHRcdHZlYzMgYm0gPSBtaXgoIGJsLCBiciwgZi54ICk7XG5cdFx0XHRcdGdsX0ZyYWdDb2xvci5yZ2IgPSBtaXgoIHRtLCBibSwgZi55ICk7XG5cblx0XHRcdFx0Z2xfRnJhZ0NvbG9yID0gbGluZWFyVG9PdXRwdXRUZXhlbCggZ2xfRnJhZ0NvbG9yICk7XG5cblx0XHRcdH1cblx0XHRgLGJsZW5kaW5nOjAsZGVwdGhUZXN0OiExLGRlcHRoV3JpdGU6ITF9KX1mdW5jdGlvbiBRNnQoKXtyZXR1cm4gbmV3IGs2dCh7bmFtZToiQ3ViZW1hcFRvQ3ViZVVWIix1bmlmb3Jtczp7ZW52TWFwOnt2YWx1ZTpudWxsfSxpbnB1dEVuY29kaW5nOnt2YWx1ZTpSNnRbM2UzXX0sb3V0cHV0RW5jb2Rpbmc6e3ZhbHVlOlI2dFszZTNdfX0sdmVydGV4U2hhZGVyOnQ5dCgpLGZyYWdtZW50U2hhZGVyOmBcblxuXHRcdFx0cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG5cdFx0XHRwcmVjaXNpb24gbWVkaXVtcCBpbnQ7XG5cblx0XHRcdHZhcnlpbmcgdmVjMyB2T3V0cHV0RGlyZWN0aW9uO1xuXG5cdFx0XHR1bmlmb3JtIHNhbXBsZXJDdWJlIGVudk1hcDtcblxuXHRcdFx0JHtlOXQoKX1cblxuXHRcdFx0dm9pZCBtYWluKCkge1xuXG5cdFx0XHRcdGdsX0ZyYWdDb2xvciA9IHZlYzQoIDAuMCwgMC4wLCAwLjAsIDEuMCApO1xuXHRcdFx0XHRnbF9GcmFnQ29sb3IucmdiID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZUN1YmUoIGVudk1hcCwgdmVjMyggLSB2T3V0cHV0RGlyZWN0aW9uLngsIHZPdXRwdXREaXJlY3Rpb24ueXogKSApICkucmdiO1xuXHRcdFx0XHRnbF9GcmFnQ29sb3IgPSBsaW5lYXJUb091dHB1dFRleGVsKCBnbF9GcmFnQ29sb3IgKTtcblxuXHRcdFx0fVxuXHRcdGAsYmxlbmRpbmc6MCxkZXB0aFRlc3Q6ITEsZGVwdGhXcml0ZTohMX0pfWZ1bmN0aW9uIHQ5dCgpe3JldHVybiJcblxuXHRcdHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuXHRcdHByZWNpc2lvbiBtZWRpdW1wIGludDtcblxuXHRcdGF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uO1xuXHRcdGF0dHJpYnV0ZSB2ZWMyIHV2O1xuXHRcdGF0dHJpYnV0ZSBmbG9hdCBmYWNlSW5kZXg7XG5cblx0XHR2YXJ5aW5nIHZlYzMgdk91dHB1dERpcmVjdGlvbjtcblxuXHRcdC8vIFJIIGNvb3JkaW5hdGUgc3lzdGVtOyBQTVJFTSBmYWNlLWluZGV4aW5nIGNvbnZlbnRpb25cblx0XHR2ZWMzIGdldERpcmVjdGlvbiggdmVjMiB1diwgZmxvYXQgZmFjZSApIHtcblxuXHRcdFx0dXYgPSAyLjAgKiB1diAtIDEuMDtcblxuXHRcdFx0dmVjMyBkaXJlY3Rpb24gPSB2ZWMzKCB1diwgMS4wICk7XG5cblx0XHRcdGlmICggZmFjZSA9PSAwLjAgKSB7XG5cblx0XHRcdFx0ZGlyZWN0aW9uID0gZGlyZWN0aW9uLnp5eDsgLy8gKCAxLCB2LCB1ICkgcG9zIHhcblxuXHRcdFx0fSBlbHNlIGlmICggZmFjZSA9PSAxLjAgKSB7XG5cblx0XHRcdFx0ZGlyZWN0aW9uID0gZGlyZWN0aW9uLnh6eTtcblx0XHRcdFx0ZGlyZWN0aW9uLnh6ICo9IC0xLjA7IC8vICggLXUsIDEsIC12ICkgcG9zIHlcblxuXHRcdFx0fSBlbHNlIGlmICggZmFjZSA9PSAyLjAgKSB7XG5cblx0XHRcdFx0ZGlyZWN0aW9uLnggKj0gLTEuMDsgLy8gKCAtdSwgdiwgMSApIHBvcyB6XG5cblx0XHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gMy4wICkge1xuXG5cdFx0XHRcdGRpcmVjdGlvbiA9IGRpcmVjdGlvbi56eXg7XG5cdFx0XHRcdGRpcmVjdGlvbi54eiAqPSAtMS4wOyAvLyAoIC0xLCB2LCAtdSApIG5lZyB4XG5cblx0XHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gNC4wICkge1xuXG5cdFx0XHRcdGRpcmVjdGlvbiA9IGRpcmVjdGlvbi54enk7XG5cdFx0XHRcdGRpcmVjdGlvbi54eSAqPSAtMS4wOyAvLyAoIC11LCAtMSwgdiApIG5lZyB5XG5cblx0XHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gNS4wICkge1xuXG5cdFx0XHRcdGRpcmVjdGlvbi56ICo9IC0xLjA7IC8vICggdSwgdiwgLTEgKSBuZWcgelxuXG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBkaXJlY3Rpb247XG5cblx0XHR9XG5cblx0XHR2b2lkIG1haW4oKSB7XG5cblx0XHRcdHZPdXRwdXREaXJlY3Rpb24gPSBnZXREaXJlY3Rpb24oIHV2LCBmYWNlSW5kZXggKTtcblx0XHRcdGdsX1Bvc2l0aW9uID0gdmVjNCggcG9zaXRpb24sIDEuMCApO1xuXG5cdFx0fVxuXHQifWZ1bmN0aW9uIGU5dCgpe3JldHVybiJcblxuXHRcdHVuaWZvcm0gaW50IGlucHV0RW5jb2Rpbmc7XG5cdFx0dW5pZm9ybSBpbnQgb3V0cHV0RW5jb2Rpbmc7XG5cblx0XHQjaW5jbHVkZSA8ZW5jb2RpbmdzX3BhcnNfZnJhZ21lbnQ+XG5cblx0XHR2ZWM0IGlucHV0VGV4ZWxUb0xpbmVhciggdmVjNCB2YWx1ZSApIHtcblxuXHRcdFx0aWYgKCBpbnB1dEVuY29kaW5nID09IDAgKSB7XG5cblx0XHRcdFx0cmV0dXJuIHZhbHVlO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBpbnB1dEVuY29kaW5nID09IDEgKSB7XG5cblx0XHRcdFx0cmV0dXJuIHNSR0JUb0xpbmVhciggdmFsdWUgKTtcblxuXHRcdFx0fSBlbHNlIGlmICggaW5wdXRFbmNvZGluZyA9PSAyICkge1xuXG5cdFx0XHRcdHJldHVybiBSR0JFVG9MaW5lYXIoIHZhbHVlICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIGlucHV0RW5jb2RpbmcgPT0gMyApIHtcblxuXHRcdFx0XHRyZXR1cm4gUkdCTVRvTGluZWFyKCB2YWx1ZSwgNy4wICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIGlucHV0RW5jb2RpbmcgPT0gNCApIHtcblxuXHRcdFx0XHRyZXR1cm4gUkdCTVRvTGluZWFyKCB2YWx1ZSwgMTYuMCApO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBpbnB1dEVuY29kaW5nID09IDUgKSB7XG5cblx0XHRcdFx0cmV0dXJuIFJHQkRUb0xpbmVhciggdmFsdWUsIDI1Ni4wICk7XG5cblx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0cmV0dXJuIEdhbW1hVG9MaW5lYXIoIHZhbHVlLCAyLjIgKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0dmVjNCBsaW5lYXJUb091dHB1dFRleGVsKCB2ZWM0IHZhbHVlICkge1xuXG5cdFx0XHRpZiAoIG91dHB1dEVuY29kaW5nID09IDAgKSB7XG5cblx0XHRcdFx0cmV0dXJuIHZhbHVlO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBvdXRwdXRFbmNvZGluZyA9PSAxICkge1xuXG5cdFx0XHRcdHJldHVybiBMaW5lYXJUb3NSR0IoIHZhbHVlICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIG91dHB1dEVuY29kaW5nID09IDIgKSB7XG5cblx0XHRcdFx0cmV0dXJuIExpbmVhclRvUkdCRSggdmFsdWUgKTtcblxuXHRcdFx0fSBlbHNlIGlmICggb3V0cHV0RW5jb2RpbmcgPT0gMyApIHtcblxuXHRcdFx0XHRyZXR1cm4gTGluZWFyVG9SR0JNKCB2YWx1ZSwgNy4wICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIG91dHB1dEVuY29kaW5nID09IDQgKSB7XG5cblx0XHRcdFx0cmV0dXJuIExpbmVhclRvUkdCTSggdmFsdWUsIDE2LjAgKTtcblxuXHRcdFx0fSBlbHNlIGlmICggb3V0cHV0RW5jb2RpbmcgPT0gNSApIHtcblxuXHRcdFx0XHRyZXR1cm4gTGluZWFyVG9SR0JEKCB2YWx1ZSwgMjU2LjAgKTtcblxuXHRcdFx0fSBlbHNlIHtcblxuXHRcdFx0XHRyZXR1cm4gTGluZWFyVG9HYW1tYSggdmFsdWUsIDIuMiApO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHR2ZWM0IGVudk1hcFRleGVsVG9MaW5lYXIoIHZlYzQgY29sb3IgKSB7XG5cblx0XHRcdHJldHVybiBpbnB1dFRleGVsVG9MaW5lYXIoIGNvbG9yICk7XG5cblx0XHR9XG5cdCJ9ZnVuY3Rpb24gbjl0KHQpe2xldCBlPW5ldyBXZWFrTWFwLG49bnVsbDtmdW5jdGlvbiBpKHQpe2NvbnN0IG49dC50YXJnZXQ7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixpKTtjb25zdCByPWUuZ2V0KG4pO3ZvaWQgMCE9PXImJihyLmRlbGV0ZShuKSxyLmRpc3Bvc2UoKSl9cmV0dXJue2dldDpmdW5jdGlvbiByKG8pe2lmKG8mJm8uaXNUZXh0dXJlJiYhMT09PW8uaXNSZW5kZXJUYXJnZXRUZXh0dXJlKXtjb25zdCByPW8ubWFwcGluZyxhPXI9PT1pMnR8fHI9PT1yMnQscz1yPT09ZTJ0fHxyPT09bjJ0O2lmKGF8fHMpe2lmKGUuaGFzKG8pKXJldHVybiBlLmdldChvKS50ZXh0dXJlO3tjb25zdCByPW8uaW1hZ2U7aWYoYSYmciYmci5oZWlnaHQ+MHx8cyYmciYmKGZ1bmN0aW9uIGEodCl7bGV0IGU9MDtjb25zdCBuPTY7Zm9yKGxldCBpPTA7aTxuO2krKyl2b2lkIDAhPT10W2ldJiZlKys7cmV0dXJuIGU9PT1ufSkocikpe2NvbnN0IHI9dC5nZXRSZW5kZXJUYXJnZXQoKTtudWxsPT09biYmKG49bmV3IFk2dCh0KSk7Y29uc3Qgcz1hP24uZnJvbUVxdWlyZWN0YW5ndWxhcihvKTpuLmZyb21DdWJlbWFwKG8pO3JldHVybiBlLnNldChvLHMpLHQuc2V0UmVuZGVyVGFyZ2V0KHIpLG8uYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsaSkscy50ZXh0dXJlfXJldHVybiBudWxsfX19cmV0dXJuIG99LGRpc3Bvc2U6ZnVuY3Rpb24gbygpe2U9bmV3IFdlYWtNYXAsbnVsbCE9PW4mJihuLmRpc3Bvc2UoKSxuPW51bGwpfX19ZnVuY3Rpb24gaTl0KHQpe2NvbnN0IGU9e307ZnVuY3Rpb24gbihuKXtpZih2b2lkIDAhPT1lW25dKXJldHVybiBlW25dO2xldCBpO3N3aXRjaChuKXtjYXNlIldFQkdMX2RlcHRoX3RleHR1cmUiOmk9dC5nZXRFeHRlbnNpb24oIldFQkdMX2RlcHRoX3RleHR1cmUiKXx8dC5nZXRFeHRlbnNpb24oIk1PWl9XRUJHTF9kZXB0aF90ZXh0dXJlIil8fHQuZ2V0RXh0ZW5zaW9uKCJXRUJLSVRfV0VCR0xfZGVwdGhfdGV4dHVyZSIpO2JyZWFrO2Nhc2UiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIjppPXQuZ2V0RXh0ZW5zaW9uKCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKXx8dC5nZXRFeHRlbnNpb24oIk1PWl9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKXx8dC5nZXRFeHRlbnNpb24oIldFQktJVF9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKTticmVhaztjYXNlIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIjppPXQuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyIpfHx0LmdldEV4dGVuc2lvbigiTU9aX1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIil8fHQuZ2V0RXh0ZW5zaW9uKCJXRUJLSVRfV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKTticmVhaztjYXNlIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyI6aT10LmdldEV4dGVuc2lvbigiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIil8fHQuZ2V0RXh0ZW5zaW9uKCJXRUJLSVRfV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIik7YnJlYWs7ZGVmYXVsdDppPXQuZ2V0RXh0ZW5zaW9uKG4pfXJldHVybiBlW25dPWksaX1yZXR1cm57aGFzOmZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT09bih0KX0saW5pdDpmdW5jdGlvbih0KXt0LmlzV2ViR0wyP24oIkVYVF9jb2xvcl9idWZmZXJfZmxvYXQiKToobigiV0VCR0xfZGVwdGhfdGV4dHVyZSIpLG4oIk9FU190ZXh0dXJlX2Zsb2F0IiksbigiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpLG4oIk9FU190ZXh0dXJlX2hhbGZfZmxvYXRfbGluZWFyIiksbigiT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzIiksbigiT0VTX2VsZW1lbnRfaW5kZXhfdWludCIpLG4oIk9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0IiksbigiQU5HTEVfaW5zdGFuY2VkX2FycmF5cyIpKSxuKCJPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIiKSxuKCJFWFRfY29sb3JfYnVmZmVyX2hhbGZfZmxvYXQiKX0sZ2V0OmZ1bmN0aW9uKHQpe2NvbnN0IGU9bih0KTtyZXR1cm4gbnVsbD09PWUmJmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogIit0KyIgZXh0ZW5zaW9uIG5vdCBzdXBwb3J0ZWQuIiksZX19fWZ1bmN0aW9uIHI5dCh0LGUsbixpKXtjb25zdCByPXt9LG89bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYSh0KXtjb25zdCBzPXQudGFyZ2V0O251bGwhPT1zLmluZGV4JiZlLnJlbW92ZShzLmluZGV4KTtmb3IoY29uc3QgdCBpbiBzLmF0dHJpYnV0ZXMpZS5yZW1vdmUocy5hdHRyaWJ1dGVzW3RdKTtzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGEpLGRlbGV0ZSByW3MuaWRdO2NvbnN0IGw9by5nZXQocyk7bCYmKGUucmVtb3ZlKGwpLG8uZGVsZXRlKHMpKSxpLnJlbGVhc2VTdGF0ZXNPZkdlb21ldHJ5KHMpLCEwPT09cy5pc0luc3RhbmNlZEJ1ZmZlckdlb21ldHJ5JiZkZWxldGUgcy5fbWF4SW5zdGFuY2VDb3VudCxuLm1lbW9yeS5nZW9tZXRyaWVzLS19ZnVuY3Rpb24gcyh0KXtjb25zdCBuPVtdLGk9dC5pbmRleCxyPXQuYXR0cmlidXRlcy5wb3NpdGlvbjtsZXQgYT0wO2lmKG51bGwhPT1pKXtjb25zdCB0PWkuYXJyYXk7YT1pLnZlcnNpb247Zm9yKGxldCBlPTAsaT10Lmxlbmd0aDtlPGk7ZSs9Myl7Y29uc3QgaT10W2UrMF0scj10W2UrMV0sbz10W2UrMl07bi5wdXNoKGkscixyLG8sbyxpKX19ZWxzZXthPXIudmVyc2lvbjtmb3IobGV0IHQ9MCxlPXIuYXJyYXkubGVuZ3RoLzMtMTt0PGU7dCs9Myl7Y29uc3QgZT10KzAsaT10KzEscj10KzI7bi5wdXNoKGUsaSxpLHIscixlKX19Y29uc3Qgcz1uZXcodzR0KG4pPjY1NTM1P3k0dDpnNHQpKG4sMSk7cy52ZXJzaW9uPWE7Y29uc3QgbD1vLmdldCh0KTtsJiZlLnJlbW92ZShsKSxvLnNldCh0LHMpfXJldHVybntnZXQ6ZnVuY3Rpb24gbCh0LGUpe3JldHVybiEwPT09cltlLmlkXXx8KGUuYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsYSkscltlLmlkXT0hMCxuLm1lbW9yeS5nZW9tZXRyaWVzKyspLGV9LHVwZGF0ZTpmdW5jdGlvbiBjKHQpe2NvbnN0IG49dC5hdHRyaWJ1dGVzO2Zvcihjb25zdCB0IGluIG4pZS51cGRhdGUoblt0XSwzNDk2Mik7Y29uc3QgaT10Lm1vcnBoQXR0cmlidXRlcztmb3IoY29uc3QgdCBpbiBpKXtjb25zdCBuPWlbdF07Zm9yKGxldCB0PTAsaT1uLmxlbmd0aDt0PGk7dCsrKWUudXBkYXRlKG5bdF0sMzQ5NjIpfX0sZ2V0V2lyZWZyYW1lQXR0cmlidXRlOmZ1bmN0aW9uIHUodCl7Y29uc3QgZT1vLmdldCh0KTtpZihlKXtjb25zdCBuPXQuaW5kZXg7bnVsbCE9PW4mJmUudmVyc2lvbjxuLnZlcnNpb24mJnModCl9ZWxzZSBzKHQpO3JldHVybiBvLmdldCh0KX19fWZ1bmN0aW9uIG85dCh0LGUsbixpKXtjb25zdCByPWkuaXNXZWJHTDI7bGV0IG8sYSxzO3RoaXMuc2V0TW9kZT1mdW5jdGlvbiBsKHQpe289dH0sdGhpcy5zZXRJbmRleD1mdW5jdGlvbiBjKHQpe2E9dC50eXBlLHM9dC5ieXRlc1BlckVsZW1lbnR9LHRoaXMucmVuZGVyPWZ1bmN0aW9uIHUoZSxpKXt0LmRyYXdFbGVtZW50cyhvLGksYSxlKnMpLG4udXBkYXRlKGksbywxKX0sdGhpcy5yZW5kZXJJbnN0YW5jZXM9ZnVuY3Rpb24gaChpLGwsYyl7aWYoMD09PWMpcmV0dXJuO2xldCB1LGg7aWYocil1PXQsaD0iZHJhd0VsZW1lbnRzSW5zdGFuY2VkIjtlbHNlIGlmKHU9ZS5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSxoPSJkcmF3RWxlbWVudHNJbnN0YW5jZWRBTkdMRSIsbnVsbD09PXUpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xJbmRleGVkQnVmZmVyUmVuZGVyZXI6IHVzaW5nIFRIUkVFLkluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5IGJ1dCBoYXJkd2FyZSBkb2VzIG5vdCBzdXBwb3J0IGV4dGVuc2lvbiBBTkdMRV9pbnN0YW5jZWRfYXJyYXlzLiIpO3VbaF0obyxsLGEsaSpzLGMpLG4udXBkYXRlKGwsbyxjKX19ZnVuY3Rpb24gYTl0KHQpe2NvbnN0IGU9e2ZyYW1lOjAsY2FsbHM6MCx0cmlhbmdsZXM6MCxwb2ludHM6MCxsaW5lczowfTtyZXR1cm57bWVtb3J5OntnZW9tZXRyaWVzOjAsdGV4dHVyZXM6MH0scmVuZGVyOmUscHJvZ3JhbXM6bnVsbCxhdXRvUmVzZXQ6ITAscmVzZXQ6ZnVuY3Rpb24gbigpe2UuZnJhbWUrKyxlLmNhbGxzPTAsZS50cmlhbmdsZXM9MCxlLnBvaW50cz0wLGUubGluZXM9MH0sdXBkYXRlOmZ1bmN0aW9uIGkodCxuLHIpe3N3aXRjaChlLmNhbGxzKyssbil7Y2FzZSA0OmUudHJpYW5nbGVzKz1yKih0LzMpO2JyZWFrO2Nhc2UgMTplLmxpbmVzKz1yKih0LzIpO2JyZWFrO2Nhc2UgMzplLmxpbmVzKz1yKih0LTEpO2JyZWFrO2Nhc2UgMjplLmxpbmVzKz1yKnQ7YnJlYWs7Y2FzZSAwOmUucG9pbnRzKz1yKnQ7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTEluZm86IFVua25vd24gZHJhdyBtb2RlOiIsbil9fX19ZnVuY3Rpb24gczl0KHQsZSl7cmV0dXJuIHRbMF0tZVswXX1mdW5jdGlvbiBsOXQodCxlKXtyZXR1cm4gTWF0aC5hYnMoZVsxXSktTWF0aC5hYnModFsxXSl9ZnVuY3Rpb24gYzl0KHQpe2NvbnN0IGU9e30sbj1uZXcgRmxvYXQzMkFycmF5KDgpLGk9W107Zm9yKGxldCB0PTA7dDw4O3QrKylpW3RdPVt0LDBdO3JldHVybnt1cGRhdGU6ZnVuY3Rpb24gcihvLGEscyxsKXtjb25zdCBjPW8ubW9ycGhUYXJnZXRJbmZsdWVuY2VzLHU9dm9pZCAwPT09Yz8wOmMubGVuZ3RoO2xldCBoPWVbYS5pZF07aWYodm9pZCAwPT09aHx8aC5sZW5ndGghPT11KXtoPVtdO2ZvcihsZXQgdD0wO3Q8dTt0KyspaFt0XT1bdCwwXTtlW2EuaWRdPWh9Zm9yKGxldCB0PTA7dDx1O3QrKyl7Y29uc3QgZT1oW3RdO2VbMF09dCxlWzFdPWNbdF19aC5zb3J0KGw5dCk7Zm9yKGxldCB0PTA7dDw4O3QrKyl0PHUmJmhbdF1bMV0/KGlbdF1bMF09aFt0XVswXSxpW3RdWzFdPWhbdF1bMV0pOihpW3RdWzBdPU51bWJlci5NQVhfU0FGRV9JTlRFR0VSLGlbdF1bMV09MCk7aS5zb3J0KHM5dCk7Y29uc3QgZD1hLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbixwPWEubW9ycGhBdHRyaWJ1dGVzLm5vcm1hbDtsZXQgZj0wO2ZvcihsZXQgdD0wO3Q8ODt0Kyspe2NvbnN0IGU9aVt0XSxyPWVbMF0sbz1lWzFdO3IhPT1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUiYmbz8oZCYmYS5nZXRBdHRyaWJ1dGUoIm1vcnBoVGFyZ2V0Iit0KSE9PWRbcl0mJmEuc2V0QXR0cmlidXRlKCJtb3JwaFRhcmdldCIrdCxkW3JdKSxwJiZhLmdldEF0dHJpYnV0ZSgibW9ycGhOb3JtYWwiK3QpIT09cFtyXSYmYS5zZXRBdHRyaWJ1dGUoIm1vcnBoTm9ybWFsIit0LHBbcl0pLG5bdF09byxmKz1vKTooZCYmITA9PT1hLmhhc0F0dHJpYnV0ZSgibW9ycGhUYXJnZXQiK3QpJiZhLmRlbGV0ZUF0dHJpYnV0ZSgibW9ycGhUYXJnZXQiK3QpLHAmJiEwPT09YS5oYXNBdHRyaWJ1dGUoIm1vcnBoTm9ybWFsIit0KSYmYS5kZWxldGVBdHRyaWJ1dGUoIm1vcnBoTm9ybWFsIit0KSxuW3RdPTApfWNvbnN0IG09YS5tb3JwaFRhcmdldHNSZWxhdGl2ZT8xOjEtZjtsLmdldFVuaWZvcm1zKCkuc2V0VmFsdWUodCwibW9ycGhUYXJnZXRCYXNlSW5mbHVlbmNlIixtKSxsLmdldFVuaWZvcm1zKCkuc2V0VmFsdWUodCwibW9ycGhUYXJnZXRJbmZsdWVuY2VzIixuKX19fWZ1bmN0aW9uIHU5dCh0LGUsbixpKXtsZXQgcj1uZXcgV2Vha01hcDtmdW5jdGlvbiBvKHQpe2NvbnN0IGU9dC50YXJnZXQ7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixvKSxuLnJlbW92ZShlLmluc3RhbmNlTWF0cml4KSxudWxsIT09ZS5pbnN0YW5jZUNvbG9yJiZuLnJlbW92ZShlLmluc3RhbmNlQ29sb3IpfXJldHVybnt1cGRhdGU6ZnVuY3Rpb24gYSh0KXtjb25zdCBhPWkucmVuZGVyLmZyYW1lLHM9ZS5nZXQodCx0Lmdlb21ldHJ5KTtyZXR1cm4gci5nZXQocykhPT1hJiYoZS51cGRhdGUocyksci5zZXQocyxhKSksdC5pc0luc3RhbmNlZE1lc2gmJighMT09PXQuaGFzRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsbykmJnQuYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsbyksbi51cGRhdGUodC5pbnN0YW5jZU1hdHJpeCwzNDk2MiksbnVsbCE9PXQuaW5zdGFuY2VDb2xvciYmbi51cGRhdGUodC5pbnN0YW5jZUNvbG9yLDM0OTYyKSksc30sZGlzcG9zZTpmdW5jdGlvbiBzKCl7cj1uZXcgV2Vha01hcH19fWNsYXNzIGg5dCBleHRlbmRzIE41dHtjb25zdHJ1Y3Rvcih0PW51bGwsZT0xLG49MSxpPTEpe3N1cGVyKG51bGwpLHRoaXMuaW1hZ2U9e2RhdGE6dCx3aWR0aDplLGhlaWdodDpuLGRlcHRoOml9LHRoaXMubWFnRmlsdGVyPXUydCx0aGlzLm1pbkZpbHRlcj11MnQsdGhpcy53cmFwUj1sMnQsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITEsdGhpcy5mbGlwWT0hMSx0aGlzLnVucGFja0FsaWdubWVudD0xLHRoaXMubmVlZHNVcGRhdGU9ITB9fWg5dC5wcm90b3R5cGUuaXNEYXRhVGV4dHVyZTJEQXJyYXk9ITA7Y2xhc3MgZDl0IGV4dGVuZHMgTjV0e2NvbnN0cnVjdG9yKHQ9bnVsbCxlPTEsbj0xLGk9MSl7c3VwZXIobnVsbCksdGhpcy5pbWFnZT17ZGF0YTp0LHdpZHRoOmUsaGVpZ2h0Om4sZGVwdGg6aX0sdGhpcy5tYWdGaWx0ZXI9dTJ0LHRoaXMubWluRmlsdGVyPXUydCx0aGlzLndyYXBSPWwydCx0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMSx0aGlzLmZsaXBZPSExLHRoaXMudW5wYWNrQWxpZ25tZW50PTEsdGhpcy5uZWVkc1VwZGF0ZT0hMH19ZDl0LnByb3RvdHlwZS5pc0RhdGFUZXh0dXJlM0Q9ITA7Y29uc3QgcDl0PW5ldyBONXQsZjl0PW5ldyBoOXQsbTl0PW5ldyBkOXQsZzl0PW5ldyBzNnQsXzl0PVtdLHk5dD1bXSx2OXQ9bmV3IEZsb2F0MzJBcnJheSgxNiksYjl0PW5ldyBGbG9hdDMyQXJyYXkoOSkseDl0PW5ldyBGbG9hdDMyQXJyYXkoNCk7ZnVuY3Rpb24gdzl0KHQsZSxuKXtjb25zdCBpPXRbMF07aWYoaTw9MHx8aT4wKXJldHVybiB0O2NvbnN0IHI9ZSpuO2xldCBvPV85dFtyXTtpZih2b2lkIDA9PT1vJiYobz1uZXcgRmxvYXQzMkFycmF5KHIpLF85dFtyXT1vKSwwIT09ZSl7aS50b0FycmF5KG8sMCk7Zm9yKGxldCBpPTEscj0wO2khPT1lOysraSlyKz1uLHRbaV0udG9BcnJheShvLHIpfXJldHVybiBvfWZ1bmN0aW9uIFM5dCh0LGUpe2lmKHQubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBuPTAsaT10Lmxlbmd0aDtuPGk7bisrKWlmKHRbbl0hPT1lW25dKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIE05dCh0LGUpe2ZvcihsZXQgbj0wLGk9ZS5sZW5ndGg7bjxpO24rKyl0W25dPWVbbl19ZnVuY3Rpb24gRTl0KHQsZSl7bGV0IG49eTl0W2VdO3ZvaWQgMD09PW4mJihuPW5ldyBJbnQzMkFycmF5KGUpLHk5dFtlXT1uKTtmb3IobGV0IGk9MDtpIT09ZTsrK2kpbltpXT10LmFsbG9jYXRlVGV4dHVyZVVuaXQoKTtyZXR1cm4gbn1mdW5jdGlvbiBUOXQodCxlKXtjb25zdCBuPXRoaXMuY2FjaGU7blswXSE9PWUmJih0LnVuaWZvcm0xZih0aGlzLmFkZHIsZSksblswXT1lKX1mdW5jdGlvbiBDOXQodCxlKXtjb25zdCBuPXRoaXMuY2FjaGU7aWYodm9pZCAwIT09ZS54KW5bMF09PT1lLngmJm5bMV09PT1lLnl8fCh0LnVuaWZvcm0yZih0aGlzLmFkZHIsZS54LGUueSksblswXT1lLngsblsxXT1lLnkpO2Vsc2V7aWYoUzl0KG4sZSkpcmV0dXJuO3QudW5pZm9ybTJmdih0aGlzLmFkZHIsZSksTTl0KG4sZSl9fWZ1bmN0aW9uIEE5dCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtpZih2b2lkIDAhPT1lLngpblswXT09PWUueCYmblsxXT09PWUueSYmblsyXT09PWUuenx8KHQudW5pZm9ybTNmKHRoaXMuYWRkcixlLngsZS55LGUueiksblswXT1lLngsblsxXT1lLnksblsyXT1lLnopO2Vsc2UgaWYodm9pZCAwIT09ZS5yKW5bMF09PT1lLnImJm5bMV09PT1lLmcmJm5bMl09PT1lLmJ8fCh0LnVuaWZvcm0zZih0aGlzLmFkZHIsZS5yLGUuZyxlLmIpLG5bMF09ZS5yLG5bMV09ZS5nLG5bMl09ZS5iKTtlbHNle2lmKFM5dChuLGUpKXJldHVybjt0LnVuaWZvcm0zZnYodGhpcy5hZGRyLGUpLE05dChuLGUpfX1mdW5jdGlvbiBrOXQodCxlKXtjb25zdCBuPXRoaXMuY2FjaGU7aWYodm9pZCAwIT09ZS54KW5bMF09PT1lLngmJm5bMV09PT1lLnkmJm5bMl09PT1lLnomJm5bM109PT1lLnd8fCh0LnVuaWZvcm00Zih0aGlzLmFkZHIsZS54LGUueSxlLnosZS53KSxuWzBdPWUueCxuWzFdPWUueSxuWzJdPWUueixuWzNdPWUudyk7ZWxzZXtpZihTOXQobixlKSlyZXR1cm47dC51bmlmb3JtNGZ2KHRoaXMuYWRkcixlKSxNOXQobixlKX19ZnVuY3Rpb24gTDl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlLGk9ZS5lbGVtZW50cztpZih2b2lkIDA9PT1pKXtpZihTOXQobixlKSlyZXR1cm47dC51bmlmb3JtTWF0cml4MmZ2KHRoaXMuYWRkciwhMSxlKSxNOXQobixlKX1lbHNle2lmKFM5dChuLGkpKXJldHVybjt4OXQuc2V0KGkpLHQudW5pZm9ybU1hdHJpeDJmdih0aGlzLmFkZHIsITEseDl0KSxNOXQobixpKX19ZnVuY3Rpb24gUDl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlLGk9ZS5lbGVtZW50cztpZih2b2lkIDA9PT1pKXtpZihTOXQobixlKSlyZXR1cm47dC51bmlmb3JtTWF0cml4M2Z2KHRoaXMuYWRkciwhMSxlKSxNOXQobixlKX1lbHNle2lmKFM5dChuLGkpKXJldHVybjtiOXQuc2V0KGkpLHQudW5pZm9ybU1hdHJpeDNmdih0aGlzLmFkZHIsITEsYjl0KSxNOXQobixpKX19ZnVuY3Rpb24gTjl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlLGk9ZS5lbGVtZW50cztpZih2b2lkIDA9PT1pKXtpZihTOXQobixlKSlyZXR1cm47dC51bmlmb3JtTWF0cml4NGZ2KHRoaXMuYWRkciwhMSxlKSxNOXQobixlKX1lbHNle2lmKFM5dChuLGkpKXJldHVybjt2OXQuc2V0KGkpLHQudW5pZm9ybU1hdHJpeDRmdih0aGlzLmFkZHIsITEsdjl0KSxNOXQobixpKX19ZnVuY3Rpb24gSTl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO25bMF0hPT1lJiYodC51bmlmb3JtMWkodGhpcy5hZGRyLGUpLG5bMF09ZSl9ZnVuY3Rpb24gUjl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO1M5dChuLGUpfHwodC51bmlmb3JtMml2KHRoaXMuYWRkcixlKSxNOXQobixlKSl9ZnVuY3Rpb24gTzl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO1M5dChuLGUpfHwodC51bmlmb3JtM2l2KHRoaXMuYWRkcixlKSxNOXQobixlKSl9ZnVuY3Rpb24gejl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO1M5dChuLGUpfHwodC51bmlmb3JtNGl2KHRoaXMuYWRkcixlKSxNOXQobixlKSl9ZnVuY3Rpb24gRDl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO25bMF0hPT1lJiYodC51bmlmb3JtMXVpKHRoaXMuYWRkcixlKSxuWzBdPWUpfWZ1bmN0aW9uIEI5dCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtTOXQobixlKXx8KHQudW5pZm9ybTJ1aXYodGhpcy5hZGRyLGUpLE05dChuLGUpKX1mdW5jdGlvbiBIOXQodCxlKXtjb25zdCBuPXRoaXMuY2FjaGU7Uzl0KG4sZSl8fCh0LnVuaWZvcm0zdWl2KHRoaXMuYWRkcixlKSxNOXQobixlKSl9ZnVuY3Rpb24gRjl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO1M5dChuLGUpfHwodC51bmlmb3JtNHVpdih0aGlzLmFkZHIsZSksTTl0KG4sZSkpfWZ1bmN0aW9uIFY5dCh0LGUsbil7Y29uc3QgaT10aGlzLmNhY2hlLHI9bi5hbGxvY2F0ZVRleHR1cmVVbml0KCk7aVswXSE9PXImJih0LnVuaWZvcm0xaSh0aGlzLmFkZHIsciksaVswXT1yKSxuLnNhZmVTZXRUZXh0dXJlMkQoZXx8cDl0LHIpfWZ1bmN0aW9uIFU5dCh0LGUsbil7Y29uc3QgaT10aGlzLmNhY2hlLHI9bi5hbGxvY2F0ZVRleHR1cmVVbml0KCk7aVswXSE9PXImJih0LnVuaWZvcm0xaSh0aGlzLmFkZHIsciksaVswXT1yKSxuLnNldFRleHR1cmUzRChlfHxtOXQscil9ZnVuY3Rpb24gajl0KHQsZSxuKXtjb25zdCBpPXRoaXMuY2FjaGUscj1uLmFsbG9jYXRlVGV4dHVyZVVuaXQoKTtpWzBdIT09ciYmKHQudW5pZm9ybTFpKHRoaXMuYWRkcixyKSxpWzBdPXIpLG4uc2FmZVNldFRleHR1cmVDdWJlKGV8fGc5dCxyKX1mdW5jdGlvbiBHOXQodCxlLG4pe2NvbnN0IGk9dGhpcy5jYWNoZSxyPW4uYWxsb2NhdGVUZXh0dXJlVW5pdCgpO2lbMF0hPT1yJiYodC51bmlmb3JtMWkodGhpcy5hZGRyLHIpLGlbMF09ciksbi5zZXRUZXh0dXJlMkRBcnJheShlfHxmOXQscil9ZnVuY3Rpb24gVzl0KHQsZSl7dC51bmlmb3JtMWZ2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBxOXQodCxlKXtjb25zdCBuPXc5dChlLHRoaXMuc2l6ZSwyKTt0LnVuaWZvcm0yZnYodGhpcy5hZGRyLG4pfWZ1bmN0aW9uIFk5dCh0LGUpe2NvbnN0IG49dzl0KGUsdGhpcy5zaXplLDMpO3QudW5pZm9ybTNmdih0aGlzLmFkZHIsbil9ZnVuY3Rpb24gWDl0KHQsZSl7Y29uc3Qgbj13OXQoZSx0aGlzLnNpemUsNCk7dC51bmlmb3JtNGZ2KHRoaXMuYWRkcixuKX1mdW5jdGlvbiAkOXQodCxlKXtjb25zdCBuPXc5dChlLHRoaXMuc2l6ZSw0KTt0LnVuaWZvcm1NYXRyaXgyZnYodGhpcy5hZGRyLCExLG4pfWZ1bmN0aW9uIEs5dCh0LGUpe2NvbnN0IG49dzl0KGUsdGhpcy5zaXplLDkpO3QudW5pZm9ybU1hdHJpeDNmdih0aGlzLmFkZHIsITEsbil9ZnVuY3Rpb24gWjl0KHQsZSl7Y29uc3Qgbj13OXQoZSx0aGlzLnNpemUsMTYpO3QudW5pZm9ybU1hdHJpeDRmdih0aGlzLmFkZHIsITEsbil9ZnVuY3Rpb24gSjl0KHQsZSl7dC51bmlmb3JtMWl2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBROXQodCxlKXt0LnVuaWZvcm0yaXYodGhpcy5hZGRyLGUpfWZ1bmN0aW9uIHQ4dCh0LGUpe3QudW5pZm9ybTNpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gZTh0KHQsZSl7dC51bmlmb3JtNGl2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBuOHQodCxlKXt0LnVuaWZvcm0xdWl2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBpOHQodCxlKXt0LnVuaWZvcm0ydWl2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiByOHQodCxlKXt0LnVuaWZvcm0zdWl2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBvOHQodCxlKXt0LnVuaWZvcm00dWl2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBhOHQodCxlLG4pe2NvbnN0IGk9ZS5sZW5ndGgscj1FOXQobixpKTt0LnVuaWZvcm0xaXYodGhpcy5hZGRyLHIpO2ZvcihsZXQgdD0wO3QhPT1pOysrdCluLnNhZmVTZXRUZXh0dXJlMkQoZVt0XXx8cDl0LHJbdF0pfWZ1bmN0aW9uIHM4dCh0LGUsbil7Y29uc3QgaT1lLmxlbmd0aCxyPUU5dChuLGkpO3QudW5pZm9ybTFpdih0aGlzLmFkZHIscik7Zm9yKGxldCB0PTA7dCE9PWk7Kyt0KW4uc2FmZVNldFRleHR1cmVDdWJlKGVbdF18fGc5dCxyW3RdKX1mdW5jdGlvbiBsOHQodCxlLG4pe3RoaXMuaWQ9dCx0aGlzLmFkZHI9bix0aGlzLmNhY2hlPVtdLHRoaXMuc2V0VmFsdWU9KGZ1bmN0aW9uIGkodCl7c3dpdGNoKHQpe2Nhc2UgNTEyNjpyZXR1cm4gVDl0O2Nhc2UgMzU2NjQ6cmV0dXJuIEM5dDtjYXNlIDM1NjY1OnJldHVybiBBOXQ7Y2FzZSAzNTY2NjpyZXR1cm4gazl0O2Nhc2UgMzU2NzQ6cmV0dXJuIEw5dDtjYXNlIDM1Njc1OnJldHVybiBQOXQ7Y2FzZSAzNTY3NjpyZXR1cm4gTjl0O2Nhc2UgNTEyNDpjYXNlIDM1NjcwOnJldHVybiBJOXQ7Y2FzZSAzNTY2NzpjYXNlIDM1NjcxOnJldHVybiBSOXQ7Y2FzZSAzNTY2ODpjYXNlIDM1NjcyOnJldHVybiBPOXQ7Y2FzZSAzNTY2OTpjYXNlIDM1NjczOnJldHVybiB6OXQ7Y2FzZSA1MTI1OnJldHVybiBEOXQ7Y2FzZSAzNjI5NDpyZXR1cm4gQjl0O2Nhc2UgMzYyOTU6cmV0dXJuIEg5dDtjYXNlIDM2Mjk2OnJldHVybiBGOXQ7Y2FzZSAzNTY3ODpjYXNlIDM2MTk4OmNhc2UgMzYyOTg6Y2FzZSAzNjMwNjpjYXNlIDM1NjgyOnJldHVybiBWOXQ7Y2FzZSAzNTY3OTpjYXNlIDM2Mjk5OmNhc2UgMzYzMDc6cmV0dXJuIFU5dDtjYXNlIDM1NjgwOmNhc2UgMzYzMDA6Y2FzZSAzNjMwODpjYXNlIDM2MjkzOnJldHVybiBqOXQ7Y2FzZSAzNjI4OTpjYXNlIDM2MzAzOmNhc2UgMzYzMTE6Y2FzZSAzNjI5MjpyZXR1cm4gRzl0fX0pKGUudHlwZSl9ZnVuY3Rpb24gYzh0KHQsZSxuKXt0aGlzLmlkPXQsdGhpcy5hZGRyPW4sdGhpcy5jYWNoZT1bXSx0aGlzLnNpemU9ZS5zaXplLHRoaXMuc2V0VmFsdWU9KGZ1bmN0aW9uIGkodCl7c3dpdGNoKHQpe2Nhc2UgNTEyNjpyZXR1cm4gVzl0O2Nhc2UgMzU2NjQ6cmV0dXJuIHE5dDtjYXNlIDM1NjY1OnJldHVybiBZOXQ7Y2FzZSAzNTY2NjpyZXR1cm4gWDl0O2Nhc2UgMzU2NzQ6cmV0dXJuICQ5dDtjYXNlIDM1Njc1OnJldHVybiBLOXQ7Y2FzZSAzNTY3NjpyZXR1cm4gWjl0O2Nhc2UgNTEyNDpjYXNlIDM1NjcwOnJldHVybiBKOXQ7Y2FzZSAzNTY2NzpjYXNlIDM1NjcxOnJldHVybiBROXQ7Y2FzZSAzNTY2ODpjYXNlIDM1NjcyOnJldHVybiB0OHQ7Y2FzZSAzNTY2OTpjYXNlIDM1NjczOnJldHVybiBlOHQ7Y2FzZSA1MTI1OnJldHVybiBuOHQ7Y2FzZSAzNjI5NDpyZXR1cm4gaTh0O2Nhc2UgMzYyOTU6cmV0dXJuIHI4dDtjYXNlIDM2Mjk2OnJldHVybiBvOHQ7Y2FzZSAzNTY3ODpjYXNlIDM2MTk4OmNhc2UgMzYyOTg6Y2FzZSAzNjMwNjpjYXNlIDM1NjgyOnJldHVybiBhOHQ7Y2FzZSAzNTY4MDpjYXNlIDM2MzAwOmNhc2UgMzYzMDg6Y2FzZSAzNjI5MzpyZXR1cm4gczh0fX0pKGUudHlwZSl9ZnVuY3Rpb24gdTh0KHQpe3RoaXMuaWQ9dCx0aGlzLnNlcT1bXSx0aGlzLm1hcD17fX1jOHQucHJvdG90eXBlLnVwZGF0ZUNhY2hlPWZ1bmN0aW9uKHQpe2NvbnN0IGU9dGhpcy5jYWNoZTt0IGluc3RhbmNlb2YgRmxvYXQzMkFycmF5JiZlLmxlbmd0aCE9PXQubGVuZ3RoJiYodGhpcy5jYWNoZT1uZXcgRmxvYXQzMkFycmF5KHQubGVuZ3RoKSksTTl0KGUsdCl9LHU4dC5wcm90b3R5cGUuc2V0VmFsdWU9ZnVuY3Rpb24odCxlLG4pe2NvbnN0IGk9dGhpcy5zZXE7Zm9yKGxldCByPTAsbz1pLmxlbmd0aDtyIT09bzsrK3Ipe2NvbnN0IG89aVtyXTtvLnNldFZhbHVlKHQsZVtvLmlkXSxuKX19O2NvbnN0IGg4dD0vKFx3KykoXF0pPyhcW3xcLik/L2c7ZnVuY3Rpb24gZDh0KHQsZSl7dC5zZXEucHVzaChlKSx0Lm1hcFtlLmlkXT1lfWZ1bmN0aW9uIHA4dCh0LGUsbil7Y29uc3QgaT10Lm5hbWUscj1pLmxlbmd0aDtmb3IoaDh0Lmxhc3RJbmRleD0wOzspe2NvbnN0IG89aDh0LmV4ZWMoaSksYT1oOHQubGFzdEluZGV4O2xldCBzPW9bMV07Y29uc3QgbD1vWzNdO2lmKCJdIj09PW9bMl0mJihzfD0wKSx2b2lkIDA9PT1sfHwiWyI9PT1sJiZhKzI9PT1yKXtkOHQobix2b2lkIDA9PT1sP25ldyBsOHQocyx0LGUpOm5ldyBjOHQocyx0LGUpKTticmVha317bGV0IHQ9bi5tYXBbc107dm9pZCAwPT09dCYmKHQ9bmV3IHU4dChzKSxkOHQobix0KSksbj10fX19ZnVuY3Rpb24gZjh0KHQsZSl7dGhpcy5zZXE9W10sdGhpcy5tYXA9e307Y29uc3Qgbj10LmdldFByb2dyYW1QYXJhbWV0ZXIoZSwzNTcxOCk7Zm9yKGxldCBpPTA7aTxuOysraSl7Y29uc3Qgbj10LmdldEFjdGl2ZVVuaWZvcm0oZSxpKTtwOHQobix0LmdldFVuaWZvcm1Mb2NhdGlvbihlLG4ubmFtZSksdGhpcyl9fWZ1bmN0aW9uIG04dCh0LGUsbil7Y29uc3QgaT10LmNyZWF0ZVNoYWRlcihlKTtyZXR1cm4gdC5zaGFkZXJTb3VyY2UoaSxuKSx0LmNvbXBpbGVTaGFkZXIoaSksaX1mOHQucHJvdG90eXBlLnNldFZhbHVlPWZ1bmN0aW9uKHQsZSxuLGkpe2NvbnN0IHI9dGhpcy5tYXBbZV07dm9pZCAwIT09ciYmci5zZXRWYWx1ZSh0LG4saSl9LGY4dC5wcm90b3R5cGUuc2V0T3B0aW9uYWw9ZnVuY3Rpb24odCxlLG4pe2NvbnN0IGk9ZVtuXTt2b2lkIDAhPT1pJiZ0aGlzLnNldFZhbHVlKHQsbixpKX0sZjh0LnVwbG9hZD1mdW5jdGlvbih0LGUsbixpKXtmb3IobGV0IHI9MCxvPWUubGVuZ3RoO3IhPT1vOysrcil7Y29uc3Qgbz1lW3JdLGE9bltvLmlkXTshMSE9PWEubmVlZHNVcGRhdGUmJm8uc2V0VmFsdWUodCxhLnZhbHVlLGkpfX0sZjh0LnNlcVdpdGhWYWx1ZT1mdW5jdGlvbih0LGUpe2NvbnN0IG49W107Zm9yKGxldCBpPTAscj10Lmxlbmd0aDtpIT09cjsrK2kpe2NvbnN0IHI9dFtpXTtyLmlkIGluIGUmJm4ucHVzaChyKX1yZXR1cm4gbn07bGV0IGc4dD0wO2Z1bmN0aW9uIF84dCh0KXtzd2l0Y2godCl7Y2FzZSBHMnQ6cmV0dXJuWyJMaW5lYXIiLCIoIHZhbHVlICkiXTtjYXNlIFcydDpyZXR1cm5bInNSR0IiLCIoIHZhbHVlICkiXTtjYXNlIFkydDpyZXR1cm5bIlJHQkUiLCIoIHZhbHVlICkiXTtjYXNlIFgydDpyZXR1cm5bIlJHQk0iLCIoIHZhbHVlLCA3LjAgKSJdO2Nhc2UgJDJ0OnJldHVyblsiUkdCTSIsIiggdmFsdWUsIDE2LjAgKSJdO2Nhc2UgSzJ0OnJldHVyblsiUkdCRCIsIiggdmFsdWUsIDI1Ni4wICkiXTtjYXNlIHEydDpyZXR1cm5bIkdhbW1hIiwiKCB2YWx1ZSwgZmxvYXQoIEdBTU1BX0ZBQ1RPUiApICkiXTtjYXNlIDMwMDM6cmV0dXJuWyJMb2dMdXYiLCIoIHZhbHVlICkiXTtkZWZhdWx0OnJldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUHJvZ3JhbTogVW5zdXBwb3J0ZWQgZW5jb2Rpbmc6Iix0KSxbIkxpbmVhciIsIiggdmFsdWUgKSJdfX1mdW5jdGlvbiB5OHQodCxlLG4pe2NvbnN0IGk9dC5nZXRTaGFkZXJQYXJhbWV0ZXIoZSwzNTcxMykscj10LmdldFNoYWRlckluZm9Mb2coZSkudHJpbSgpO2lmKGkmJiIiPT09cilyZXR1cm4iIjtyZXR1cm4iVEhSRUUuV2ViR0xTaGFkZXI6IGdsLmdldFNoYWRlckluZm9Mb2coKSAiK24rIlxuIityKyhmdW5jdGlvbiBvKHQpe2NvbnN0IGU9dC5zcGxpdCgiXG4iKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdPXQrMSsiOiAiK2VbdF07cmV0dXJuIGUuam9pbigiXG4iKX0pKHQuZ2V0U2hhZGVyU291cmNlKGUpKX1mdW5jdGlvbiB2OHQodCxlKXtjb25zdCBuPV84dChlKTtyZXR1cm4idmVjNCAiK3QrIiggdmVjNCB2YWx1ZSApIHsgcmV0dXJuICIrblswXSsiVG9MaW5lYXIiK25bMV0rIjsgfSJ9ZnVuY3Rpb24gYjh0KHQsZSl7Y29uc3Qgbj1fOHQoZSk7cmV0dXJuInZlYzQgIit0KyIoIHZlYzQgdmFsdWUgKSB7IHJldHVybiBMaW5lYXJUbyIrblswXStuWzFdKyI7IH0ifWZ1bmN0aW9uIHg4dCh0LGUpe2xldCBuO3N3aXRjaChlKXtjYXNlIDE6bj0iTGluZWFyIjticmVhaztjYXNlIDI6bj0iUmVpbmhhcmQiO2JyZWFrO2Nhc2UgMzpuPSJPcHRpbWl6ZWRDaW5lb24iO2JyZWFrO2Nhc2UgNDpuPSJBQ0VTRmlsbWljIjticmVhaztjYXNlIDU6bj0iQ3VzdG9tIjticmVhaztkZWZhdWx0OmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xQcm9ncmFtOiBVbnN1cHBvcnRlZCB0b25lTWFwcGluZzoiLGUpLG49IkxpbmVhciJ9cmV0dXJuInZlYzMgIit0KyIoIHZlYzMgY29sb3IgKSB7IHJldHVybiAiK24rIlRvbmVNYXBwaW5nKCBjb2xvciApOyB9In1mdW5jdGlvbiB3OHQodCl7cmV0dXJuIiIhPT10fWZ1bmN0aW9uIFM4dCh0LGUpe3JldHVybiB0LnJlcGxhY2UoL05VTV9ESVJfTElHSFRTL2csZS5udW1EaXJMaWdodHMpLnJlcGxhY2UoL05VTV9TUE9UX0xJR0hUUy9nLGUubnVtU3BvdExpZ2h0cykucmVwbGFjZSgvTlVNX1JFQ1RfQVJFQV9MSUdIVFMvZyxlLm51bVJlY3RBcmVhTGlnaHRzKS5yZXBsYWNlKC9OVU1fUE9JTlRfTElHSFRTL2csZS5udW1Qb2ludExpZ2h0cykucmVwbGFjZSgvTlVNX0hFTUlfTElHSFRTL2csZS5udW1IZW1pTGlnaHRzKS5yZXBsYWNlKC9OVU1fRElSX0xJR0hUX1NIQURPV1MvZyxlLm51bURpckxpZ2h0U2hhZG93cykucmVwbGFjZSgvTlVNX1NQT1RfTElHSFRfU0hBRE9XUy9nLGUubnVtU3BvdExpZ2h0U2hhZG93cykucmVwbGFjZSgvTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MvZyxlLm51bVBvaW50TGlnaHRTaGFkb3dzKX1mdW5jdGlvbiBNOHQodCxlKXtyZXR1cm4gdC5yZXBsYWNlKC9OVU1fQ0xJUFBJTkdfUExBTkVTL2csZS5udW1DbGlwcGluZ1BsYW5lcykucmVwbGFjZSgvVU5JT05fQ0xJUFBJTkdfUExBTkVTL2csZS5udW1DbGlwcGluZ1BsYW5lcy1lLm51bUNsaXBJbnRlcnNlY3Rpb24pfWNvbnN0IEU4dD0vXlsgXHRdKiNpbmNsdWRlICs8KFtcd1xkLi9dKyk+L2dtO2Z1bmN0aW9uIFQ4dCh0KXtyZXR1cm4gdC5yZXBsYWNlKEU4dCxDOHQpfWZ1bmN0aW9uIEM4dCh0LGUpe2NvbnN0IG49djZ0W2VdO2lmKHZvaWQgMD09PW4pdGhyb3cgbmV3IEVycm9yKCJDYW4gbm90IHJlc29sdmUgI2luY2x1ZGUgPCIrZSsiPiIpO3JldHVybiBUOHQobil9Y29uc3QgQTh0PS8jcHJhZ21hIHVucm9sbF9sb29wW1xzXSs/Zm9yIFwoIGludCBpIFw9IChcZCspXDsgaSA8IChcZCspXDsgaSBcK1wrIFwpIFx7KFtcc1xTXSs/KSg/PVx9KVx9L2csazh0PS8jcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XHMrZm9yXHMqXChccyppbnRccytpXHMqPVxzKihcZCspXHMqO1xzKmlccyo8XHMqKFxkKylccyo7XHMqaVxzKlwrXCtccypcKVxzKnsoW1xzXFNdKz8pfVxzKyNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kL2c7ZnVuY3Rpb24gTDh0KHQpe3JldHVybiB0LnJlcGxhY2Uoazh0LE44dCkucmVwbGFjZShBOHQsUDh0KX1mdW5jdGlvbiBQOHQodCxlLG4saSl7cmV0dXJuIGNvbnNvbGUud2FybigiV2ViR0xQcm9ncmFtOiAjcHJhZ21hIHVucm9sbF9sb29wIHNoYWRlciBzeW50YXggaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSAjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0IHN5bnRheCBpbnN0ZWFkLiIpLE44dCh0LGUsbixpKX1mdW5jdGlvbiBOOHQodCxlLG4saSl7bGV0IHI9IiI7Zm9yKGxldCB0PXBhcnNlSW50KGUpO3Q8cGFyc2VJbnQobik7dCsrKXIrPWkucmVwbGFjZSgvXFtccyppXHMqXF0vZywiWyAiK3QrIiBdIikucmVwbGFjZSgvVU5ST0xMRURfTE9PUF9JTkRFWC9nLHQpO3JldHVybiByfWZ1bmN0aW9uIEk4dCh0KXtsZXQgZT0icHJlY2lzaW9uICIrdC5wcmVjaXNpb24rIiBmbG9hdDtcbnByZWNpc2lvbiAiK3QucHJlY2lzaW9uKyIgaW50OyI7cmV0dXJuImhpZ2hwIj09PXQucHJlY2lzaW9uP2UrPSJcbiNkZWZpbmUgSElHSF9QUkVDSVNJT04iOiJtZWRpdW1wIj09PXQucHJlY2lzaW9uP2UrPSJcbiNkZWZpbmUgTUVESVVNX1BSRUNJU0lPTiI6Imxvd3AiPT09dC5wcmVjaXNpb24mJihlKz0iXG4jZGVmaW5lIExPV19QUkVDSVNJT04iKSxlfWZ1bmN0aW9uIFI4dCh0LGUsbixpKXtjb25zdCByPXQuZ2V0Q29udGV4dCgpLG89bi5kZWZpbmVzO2xldCBhPW4udmVydGV4U2hhZGVyLHM9bi5mcmFnbWVudFNoYWRlcjtjb25zdCBsPShmdW5jdGlvbiBjKHQpe2xldCBlPSJTSEFET1dNQVBfVFlQRV9CQVNJQyI7cmV0dXJuIDE9PT10LnNoYWRvd01hcFR5cGU/ZT0iU0hBRE9XTUFQX1RZUEVfUENGIjoyPT09dC5zaGFkb3dNYXBUeXBlP2U9IlNIQURPV01BUF9UWVBFX1BDRl9TT0ZUIjozPT09dC5zaGFkb3dNYXBUeXBlJiYoZT0iU0hBRE9XTUFQX1RZUEVfVlNNIiksZX0pKG4pLHU9KGZ1bmN0aW9uIGgodCl7bGV0IGU9IkVOVk1BUF9UWVBFX0NVQkUiO2lmKHQuZW52TWFwKXN3aXRjaCh0LmVudk1hcE1vZGUpe2Nhc2UgZTJ0OmNhc2UgbjJ0OmU9IkVOVk1BUF9UWVBFX0NVQkUiO2JyZWFrO2Nhc2UgbzJ0OmNhc2UgYTJ0OmU9IkVOVk1BUF9UWVBFX0NVQkVfVVYifXJldHVybiBlfSkobiksZD0oZnVuY3Rpb24gcCh0KXtsZXQgZT0iRU5WTUFQX01PREVfUkVGTEVDVElPTiI7aWYodC5lbnZNYXApc3dpdGNoKHQuZW52TWFwTW9kZSl7Y2FzZSBuMnQ6Y2FzZSBhMnQ6ZT0iRU5WTUFQX01PREVfUkVGUkFDVElPTiJ9cmV0dXJuIGV9KShuKSxmPShmdW5jdGlvbiBtKHQpe2xldCBlPSJFTlZNQVBfQkxFTkRJTkdfTk9ORSI7aWYodC5lbnZNYXApc3dpdGNoKHQuY29tYmluZSl7Y2FzZSAwOmU9IkVOVk1BUF9CTEVORElOR19NVUxUSVBMWSI7YnJlYWs7Y2FzZSAxOmU9IkVOVk1BUF9CTEVORElOR19NSVgiO2JyZWFrO2Nhc2UgMjplPSJFTlZNQVBfQkxFTkRJTkdfQUREIn1yZXR1cm4gZX0pKG4pLGc9dC5nYW1tYUZhY3Rvcj4wP3QuZ2FtbWFGYWN0b3I6MSxfPW4uaXNXZWJHTDI/IiI6KGZ1bmN0aW9uIHkodCl7cmV0dXJuW3QuZXh0ZW5zaW9uRGVyaXZhdGl2ZXN8fHQuZW52TWFwQ3ViZVVWfHx0LmJ1bXBNYXB8fHQudGFuZ2VudFNwYWNlTm9ybWFsTWFwfHx0LmNsZWFyY29hdE5vcm1hbE1hcHx8dC5mbGF0U2hhZGluZ3x8InBoeXNpY2FsIj09PXQuc2hhZGVySUQ/IiNleHRlbnNpb24gR0xfT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzIDogZW5hYmxlIjoiIiwodC5leHRlbnNpb25GcmFnRGVwdGh8fHQubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcikmJnQucmVuZGVyZXJFeHRlbnNpb25GcmFnRGVwdGg/IiNleHRlbnNpb24gR0xfRVhUX2ZyYWdfZGVwdGggOiBlbmFibGUiOiIiLHQuZXh0ZW5zaW9uRHJhd0J1ZmZlcnMmJnQucmVuZGVyZXJFeHRlbnNpb25EcmF3QnVmZmVycz8iI2V4dGVuc2lvbiBHTF9FWFRfZHJhd19idWZmZXJzIDogcmVxdWlyZSI6IiIsKHQuZXh0ZW5zaW9uU2hhZGVyVGV4dHVyZUxPRHx8dC5lbnZNYXB8fHQudHJhbnNtaXNzaW9uPjApJiZ0LnJlbmRlcmVyRXh0ZW5zaW9uU2hhZGVyVGV4dHVyZUxvZD8iI2V4dGVuc2lvbiBHTF9FWFRfc2hhZGVyX3RleHR1cmVfbG9kIDogZW5hYmxlIjoiIl0uZmlsdGVyKHc4dCkuam9pbigiXG4iKX0pKG4pLHY9KGZ1bmN0aW9uIGIodCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgbiBpbiB0KXtjb25zdCBpPXRbbl07ITEhPT1pJiZlLnB1c2goIiNkZWZpbmUgIituKyIgIitpKX1yZXR1cm4gZS5qb2luKCJcbiIpfSkobykseD1yLmNyZWF0ZVByb2dyYW0oKTtsZXQgdyxTLE09bi5nbHNsVmVyc2lvbj8iI3ZlcnNpb24gIituLmdsc2xWZXJzaW9uKyJcbiI6IiI7bi5pc1Jhd1NoYWRlck1hdGVyaWFsPyh3PVt2XS5maWx0ZXIodzh0KS5qb2luKCJcbiIpLHcubGVuZ3RoPjAmJih3Kz0iXG4iKSxTPVtfLHZdLmZpbHRlcih3OHQpLmpvaW4oIlxuIiksUy5sZW5ndGg+MCYmKFMrPSJcbiIpKToodz1bSTh0KG4pLCIjZGVmaW5lIFNIQURFUl9OQU1FICIrbi5zaGFkZXJOYW1lLHYsbi5pbnN0YW5jaW5nPyIjZGVmaW5lIFVTRV9JTlNUQU5DSU5HIjoiIixuLmluc3RhbmNpbmdDb2xvcj8iI2RlZmluZSBVU0VfSU5TVEFOQ0lOR19DT0xPUiI6IiIsbi5zdXBwb3J0c1ZlcnRleFRleHR1cmVzPyIjZGVmaW5lIFZFUlRFWF9URVhUVVJFUyI6IiIsIiNkZWZpbmUgR0FNTUFfRkFDVE9SICIrZywiI2RlZmluZSBNQVhfQk9ORVMgIituLm1heEJvbmVzLG4udXNlRm9nJiZuLmZvZz8iI2RlZmluZSBVU0VfRk9HIjoiIixuLnVzZUZvZyYmbi5mb2dFeHAyPyIjZGVmaW5lIEZPR19FWFAyIjoiIixuLm1hcD8iI2RlZmluZSBVU0VfTUFQIjoiIixuLmVudk1hcD8iI2RlZmluZSBVU0VfRU5WTUFQIjoiIixuLmVudk1hcD8iI2RlZmluZSAiK2Q6IiIsbi5saWdodE1hcD8iI2RlZmluZSBVU0VfTElHSFRNQVAiOiIiLG4uYW9NYXA/IiNkZWZpbmUgVVNFX0FPTUFQIjoiIixuLmVtaXNzaXZlTWFwPyIjZGVmaW5lIFVTRV9FTUlTU0lWRU1BUCI6IiIsbi5idW1wTWFwPyIjZGVmaW5lIFVTRV9CVU1QTUFQIjoiIixuLm5vcm1hbE1hcD8iI2RlZmluZSBVU0VfTk9STUFMTUFQIjoiIixuLm5vcm1hbE1hcCYmbi5vYmplY3RTcGFjZU5vcm1hbE1hcD8iI2RlZmluZSBPQkpFQ1RTUEFDRV9OT1JNQUxNQVAiOiIiLG4ubm9ybWFsTWFwJiZuLnRhbmdlbnRTcGFjZU5vcm1hbE1hcD8iI2RlZmluZSBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQIjoiIixuLmNsZWFyY29hdE1hcD8iI2RlZmluZSBVU0VfQ0xFQVJDT0FUTUFQIjoiIixuLmNsZWFyY29hdFJvdWdobmVzc01hcD8iI2RlZmluZSBVU0VfQ0xFQVJDT0FUX1JPVUdITkVTU01BUCI6IiIsbi5jbGVhcmNvYXROb3JtYWxNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVAiOiIiLG4uZGlzcGxhY2VtZW50TWFwJiZuLnN1cHBvcnRzVmVydGV4VGV4dHVyZXM/IiNkZWZpbmUgVVNFX0RJU1BMQUNFTUVOVE1BUCI6IiIsbi5zcGVjdWxhck1hcD8iI2RlZmluZSBVU0VfU1BFQ1VMQVJNQVAiOiIiLG4uc3BlY3VsYXJJbnRlbnNpdHlNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSSU5URU5TSVRZTUFQIjoiIixuLnNwZWN1bGFyVGludE1hcD8iI2RlZmluZSBVU0VfU1BFQ1VMQVJUSU5UTUFQIjoiIixuLnJvdWdobmVzc01hcD8iI2RlZmluZSBVU0VfUk9VR0hORVNTTUFQIjoiIixuLm1ldGFsbmVzc01hcD8iI2RlZmluZSBVU0VfTUVUQUxORVNTTUFQIjoiIixuLmFscGhhTWFwPyIjZGVmaW5lIFVTRV9BTFBIQU1BUCI6IiIsbi50cmFuc21pc3Npb24/IiNkZWZpbmUgVVNFX1RSQU5TTUlTU0lPTiI6IiIsbi50cmFuc21pc3Npb25NYXA/IiNkZWZpbmUgVVNFX1RSQU5TTUlTU0lPTk1BUCI6IiIsbi50aGlja25lc3NNYXA/IiNkZWZpbmUgVVNFX1RISUNLTkVTU01BUCI6IiIsbi52ZXJ0ZXhUYW5nZW50cz8iI2RlZmluZSBVU0VfVEFOR0VOVCI6IiIsbi52ZXJ0ZXhDb2xvcnM/IiNkZWZpbmUgVVNFX0NPTE9SIjoiIixuLnZlcnRleEFscGhhcz8iI2RlZmluZSBVU0VfQ09MT1JfQUxQSEEiOiIiLG4udmVydGV4VXZzPyIjZGVmaW5lIFVTRV9VViI6IiIsbi51dnNWZXJ0ZXhPbmx5PyIjZGVmaW5lIFVWU19WRVJURVhfT05MWSI6IiIsbi5mbGF0U2hhZGluZz8iI2RlZmluZSBGTEFUX1NIQURFRCI6IiIsbi5za2lubmluZz8iI2RlZmluZSBVU0VfU0tJTk5JTkciOiIiLG4udXNlVmVydGV4VGV4dHVyZT8iI2RlZmluZSBCT05FX1RFWFRVUkUiOiIiLG4ubW9ycGhUYXJnZXRzPyIjZGVmaW5lIFVTRV9NT1JQSFRBUkdFVFMiOiIiLG4ubW9ycGhOb3JtYWxzJiYhMT09PW4uZmxhdFNoYWRpbmc/IiNkZWZpbmUgVVNFX01PUlBITk9STUFMUyI6IiIsbi5kb3VibGVTaWRlZD8iI2RlZmluZSBET1VCTEVfU0lERUQiOiIiLG4uZmxpcFNpZGVkPyIjZGVmaW5lIEZMSVBfU0lERUQiOiIiLG4uc2hhZG93TWFwRW5hYmxlZD8iI2RlZmluZSBVU0VfU0hBRE9XTUFQIjoiIixuLnNoYWRvd01hcEVuYWJsZWQ/IiNkZWZpbmUgIitsOiIiLG4uc2l6ZUF0dGVudWF0aW9uPyIjZGVmaW5lIFVTRV9TSVpFQVRURU5VQVRJT04iOiIiLG4ubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcj8iI2RlZmluZSBVU0VfTE9HREVQVEhCVUYiOiIiLG4ubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlciYmbi5yZW5kZXJlckV4dGVuc2lvbkZyYWdEZXB0aD8iI2RlZmluZSBVU0VfTE9HREVQVEhCVUZfRVhUIjoiIiwidW5pZm9ybSBtYXQ0IG1vZGVsTWF0cml4OyIsInVuaWZvcm0gbWF0NCBtb2RlbFZpZXdNYXRyaXg7IiwidW5pZm9ybSBtYXQ0IHByb2plY3Rpb25NYXRyaXg7IiwidW5pZm9ybSBtYXQ0IHZpZXdNYXRyaXg7IiwidW5pZm9ybSBtYXQzIG5vcm1hbE1hdHJpeDsiLCJ1bmlmb3JtIHZlYzMgY2FtZXJhUG9zaXRpb247IiwidW5pZm9ybSBib29sIGlzT3J0aG9ncmFwaGljOyIsIiNpZmRlZiBVU0VfSU5TVEFOQ0lORyIsIlx0YXR0cmlidXRlIG1hdDQgaW5zdGFuY2VNYXRyaXg7IiwiI2VuZGlmIiwiI2lmZGVmIFVTRV9JTlNUQU5DSU5HX0NPTE9SIiwiXHRhdHRyaWJ1dGUgdmVjMyBpbnN0YW5jZUNvbG9yOyIsIiNlbmRpZiIsImF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uOyIsImF0dHJpYnV0ZSB2ZWMzIG5vcm1hbDsiLCJhdHRyaWJ1dGUgdmVjMiB1djsiLCIjaWZkZWYgVVNFX1RBTkdFTlQiLCJcdGF0dHJpYnV0ZSB2ZWM0IHRhbmdlbnQ7IiwiI2VuZGlmIiwiI2lmIGRlZmluZWQoIFVTRV9DT0xPUl9BTFBIQSApIiwiXHRhdHRyaWJ1dGUgdmVjNCBjb2xvcjsiLCIjZWxpZiBkZWZpbmVkKCBVU0VfQ09MT1IgKSIsIlx0YXR0cmlidXRlIHZlYzMgY29sb3I7IiwiI2VuZGlmIiwiI2lmZGVmIFVTRV9NT1JQSFRBUkdFVFMiLCJcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0MDsiLCJcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0MTsiLCJcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0MjsiLCJcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0MzsiLCJcdCNpZmRlZiBVU0VfTU9SUEhOT1JNQUxTIiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoTm9ybWFsMDsiLCJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhOb3JtYWwxOyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaE5vcm1hbDI7IiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoTm9ybWFsMzsiLCJcdCNlbHNlIiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0NDsiLCJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQ1OyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDY7IiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0NzsiLCJcdCNlbmRpZiIsIiNlbmRpZiIsIiNpZmRlZiBVU0VfU0tJTk5JTkciLCJcdGF0dHJpYnV0ZSB2ZWM0IHNraW5JbmRleDsiLCJcdGF0dHJpYnV0ZSB2ZWM0IHNraW5XZWlnaHQ7IiwiI2VuZGlmIiwiXG4iXS5maWx0ZXIodzh0KS5qb2luKCJcbiIpLFM9W18sSTh0KG4pLCIjZGVmaW5lIFNIQURFUl9OQU1FICIrbi5zaGFkZXJOYW1lLHYsbi5hbHBoYVRlc3Q/IiNkZWZpbmUgQUxQSEFURVNUICIrbi5hbHBoYVRlc3QrKG4uYWxwaGFUZXN0JTE/IiI6Ii4wIik6IiIsIiNkZWZpbmUgR0FNTUFfRkFDVE9SICIrZyxuLnVzZUZvZyYmbi5mb2c/IiNkZWZpbmUgVVNFX0ZPRyI6IiIsbi51c2VGb2cmJm4uZm9nRXhwMj8iI2RlZmluZSBGT0dfRVhQMiI6IiIsbi5tYXA/IiNkZWZpbmUgVVNFX01BUCI6IiIsbi5tYXRjYXA/IiNkZWZpbmUgVVNFX01BVENBUCI6IiIsbi5lbnZNYXA/IiNkZWZpbmUgVVNFX0VOVk1BUCI6IiIsbi5lbnZNYXA/IiNkZWZpbmUgIit1OiIiLG4uZW52TWFwPyIjZGVmaW5lICIrZDoiIixuLmVudk1hcD8iI2RlZmluZSAiK2Y6IiIsbi5saWdodE1hcD8iI2RlZmluZSBVU0VfTElHSFRNQVAiOiIiLG4uYW9NYXA/IiNkZWZpbmUgVVNFX0FPTUFQIjoiIixuLmVtaXNzaXZlTWFwPyIjZGVmaW5lIFVTRV9FTUlTU0lWRU1BUCI6IiIsbi5idW1wTWFwPyIjZGVmaW5lIFVTRV9CVU1QTUFQIjoiIixuLm5vcm1hbE1hcD8iI2RlZmluZSBVU0VfTk9STUFMTUFQIjoiIixuLm5vcm1hbE1hcCYmbi5vYmplY3RTcGFjZU5vcm1hbE1hcD8iI2RlZmluZSBPQkpFQ1RTUEFDRV9OT1JNQUxNQVAiOiIiLG4ubm9ybWFsTWFwJiZuLnRhbmdlbnRTcGFjZU5vcm1hbE1hcD8iI2RlZmluZSBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQIjoiIixuLmNsZWFyY29hdE1hcD8iI2RlZmluZSBVU0VfQ0xFQVJDT0FUTUFQIjoiIixuLmNsZWFyY29hdFJvdWdobmVzc01hcD8iI2RlZmluZSBVU0VfQ0xFQVJDT0FUX1JPVUdITkVTU01BUCI6IiIsbi5jbGVhcmNvYXROb3JtYWxNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVAiOiIiLG4uc3BlY3VsYXJNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSTUFQIjoiIixuLnNwZWN1bGFySW50ZW5zaXR5TWFwPyIjZGVmaW5lIFVTRV9TUEVDVUxBUklOVEVOU0lUWU1BUCI6IiIsbi5zcGVjdWxhclRpbnRNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSVElOVE1BUCI6IiIsbi5yb3VnaG5lc3NNYXA/IiNkZWZpbmUgVVNFX1JPVUdITkVTU01BUCI6IiIsbi5tZXRhbG5lc3NNYXA/IiNkZWZpbmUgVVNFX01FVEFMTkVTU01BUCI6IiIsbi5hbHBoYU1hcD8iI2RlZmluZSBVU0VfQUxQSEFNQVAiOiIiLG4uc2hlZW4/IiNkZWZpbmUgVVNFX1NIRUVOIjoiIixuLnRyYW5zbWlzc2lvbj8iI2RlZmluZSBVU0VfVFJBTlNNSVNTSU9OIjoiIixuLnRyYW5zbWlzc2lvbk1hcD8iI2RlZmluZSBVU0VfVFJBTlNNSVNTSU9OTUFQIjoiIixuLnRoaWNrbmVzc01hcD8iI2RlZmluZSBVU0VfVEhJQ0tORVNTTUFQIjoiIixuLnZlcnRleFRhbmdlbnRzPyIjZGVmaW5lIFVTRV9UQU5HRU5UIjoiIixuLnZlcnRleENvbG9yc3x8bi5pbnN0YW5jaW5nQ29sb3I/IiNkZWZpbmUgVVNFX0NPTE9SIjoiIixuLnZlcnRleEFscGhhcz8iI2RlZmluZSBVU0VfQ09MT1JfQUxQSEEiOiIiLG4udmVydGV4VXZzPyIjZGVmaW5lIFVTRV9VViI6IiIsbi51dnNWZXJ0ZXhPbmx5PyIjZGVmaW5lIFVWU19WRVJURVhfT05MWSI6IiIsbi5ncmFkaWVudE1hcD8iI2RlZmluZSBVU0VfR1JBRElFTlRNQVAiOiIiLG4uZmxhdFNoYWRpbmc/IiNkZWZpbmUgRkxBVF9TSEFERUQiOiIiLG4uZG91YmxlU2lkZWQ/IiNkZWZpbmUgRE9VQkxFX1NJREVEIjoiIixuLmZsaXBTaWRlZD8iI2RlZmluZSBGTElQX1NJREVEIjoiIixuLnNoYWRvd01hcEVuYWJsZWQ/IiNkZWZpbmUgVVNFX1NIQURPV01BUCI6IiIsbi5zaGFkb3dNYXBFbmFibGVkPyIjZGVmaW5lICIrbDoiIixuLnByZW11bHRpcGxpZWRBbHBoYT8iI2RlZmluZSBQUkVNVUxUSVBMSUVEX0FMUEhBIjoiIixuLnBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzPyIjZGVmaW5lIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFMiOiIiLG4ubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcj8iI2RlZmluZSBVU0VfTE9HREVQVEhCVUYiOiIiLG4ubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlciYmbi5yZW5kZXJlckV4dGVuc2lvbkZyYWdEZXB0aD8iI2RlZmluZSBVU0VfTE9HREVQVEhCVUZfRVhUIjoiIiwobi5leHRlbnNpb25TaGFkZXJUZXh0dXJlTE9EfHxuLmVudk1hcCkmJm4ucmVuZGVyZXJFeHRlbnNpb25TaGFkZXJUZXh0dXJlTG9kPyIjZGVmaW5lIFRFWFRVUkVfTE9EX0VYVCI6IiIsInVuaWZvcm0gbWF0NCB2aWV3TWF0cml4OyIsInVuaWZvcm0gdmVjMyBjYW1lcmFQb3NpdGlvbjsiLCJ1bmlmb3JtIGJvb2wgaXNPcnRob2dyYXBoaWM7IiwwIT09bi50b25lTWFwcGluZz8iI2RlZmluZSBUT05FX01BUFBJTkciOiIiLDAhPT1uLnRvbmVNYXBwaW5nP3Y2dC50b25lbWFwcGluZ19wYXJzX2ZyYWdtZW50OiIiLDAhPT1uLnRvbmVNYXBwaW5nP3g4dCgidG9uZU1hcHBpbmciLG4udG9uZU1hcHBpbmcpOiIiLG4uZGl0aGVyaW5nPyIjZGVmaW5lIERJVEhFUklORyI6IiIsdjZ0LmVuY29kaW5nc19wYXJzX2ZyYWdtZW50LG4ubWFwP3Y4dCgibWFwVGV4ZWxUb0xpbmVhciIsbi5tYXBFbmNvZGluZyk6IiIsbi5tYXRjYXA/djh0KCJtYXRjYXBUZXhlbFRvTGluZWFyIixuLm1hdGNhcEVuY29kaW5nKToiIixuLmVudk1hcD92OHQoImVudk1hcFRleGVsVG9MaW5lYXIiLG4uZW52TWFwRW5jb2RpbmcpOiIiLG4uZW1pc3NpdmVNYXA/djh0KCJlbWlzc2l2ZU1hcFRleGVsVG9MaW5lYXIiLG4uZW1pc3NpdmVNYXBFbmNvZGluZyk6IiIsbi5zcGVjdWxhclRpbnRNYXA/djh0KCJzcGVjdWxhclRpbnRNYXBUZXhlbFRvTGluZWFyIixuLnNwZWN1bGFyVGludE1hcEVuY29kaW5nKToiIixuLmxpZ2h0TWFwP3Y4dCgibGlnaHRNYXBUZXhlbFRvTGluZWFyIixuLmxpZ2h0TWFwRW5jb2RpbmcpOiIiLGI4dCgibGluZWFyVG9PdXRwdXRUZXhlbCIsbi5vdXRwdXRFbmNvZGluZyksbi5kZXB0aFBhY2tpbmc/IiNkZWZpbmUgREVQVEhfUEFDS0lORyAiK24uZGVwdGhQYWNraW5nOiIiLCJcbiJdLmZpbHRlcih3OHQpLmpvaW4oIlxuIikpLGE9VDh0KGEpLGE9Uzh0KGEsbiksYT1NOHQoYSxuKSxzPVQ4dChzKSxzPVM4dChzLG4pLHM9TTh0KHMsbiksYT1MOHQoYSkscz1MOHQocyksbi5pc1dlYkdMMiYmITAhPT1uLmlzUmF3U2hhZGVyTWF0ZXJpYWwmJihNPSIjdmVyc2lvbiAzMDAgZXNcbiIsdz1bIiNkZWZpbmUgYXR0cmlidXRlIGluIiwiI2RlZmluZSB2YXJ5aW5nIG91dCIsIiNkZWZpbmUgdGV4dHVyZTJEIHRleHR1cmUiXS5qb2luKCJcbiIpKyJcbiIrdyxTPVsiI2RlZmluZSB2YXJ5aW5nIGluIixuLmdsc2xWZXJzaW9uPT09dDV0PyIiOiJvdXQgaGlnaHAgdmVjNCBwY19mcmFnQ29sb3I7IixuLmdsc2xWZXJzaW9uPT09dDV0PyIiOiIjZGVmaW5lIGdsX0ZyYWdDb2xvciBwY19mcmFnQ29sb3IiLCIjZGVmaW5lIGdsX0ZyYWdEZXB0aEVYVCBnbF9GcmFnRGVwdGgiLCIjZGVmaW5lIHRleHR1cmUyRCB0ZXh0dXJlIiwiI2RlZmluZSB0ZXh0dXJlQ3ViZSB0ZXh0dXJlIiwiI2RlZmluZSB0ZXh0dXJlMkRQcm9qIHRleHR1cmVQcm9qIiwiI2RlZmluZSB0ZXh0dXJlMkRMb2RFWFQgdGV4dHVyZUxvZCIsIiNkZWZpbmUgdGV4dHVyZTJEUHJvakxvZEVYVCB0ZXh0dXJlUHJvakxvZCIsIiNkZWZpbmUgdGV4dHVyZUN1YmVMb2RFWFQgdGV4dHVyZUxvZCIsIiNkZWZpbmUgdGV4dHVyZTJER3JhZEVYVCB0ZXh0dXJlR3JhZCIsIiNkZWZpbmUgdGV4dHVyZTJEUHJvakdyYWRFWFQgdGV4dHVyZVByb2pHcmFkIiwiI2RlZmluZSB0ZXh0dXJlQ3ViZUdyYWRFWFQgdGV4dHVyZUdyYWQiXS5qb2luKCJcbiIpKyJcbiIrUyk7Y29uc3QgRT1NK1MrcyxUPW04dChyLDM1NjMzLE0rdythKSxDPW04dChyLDM1NjMyLEUpO2lmKHIuYXR0YWNoU2hhZGVyKHgsVCksci5hdHRhY2hTaGFkZXIoeCxDKSx2b2lkIDAhPT1uLmluZGV4MEF0dHJpYnV0ZU5hbWU/ci5iaW5kQXR0cmliTG9jYXRpb24oeCwwLG4uaW5kZXgwQXR0cmlidXRlTmFtZSk6ITA9PT1uLm1vcnBoVGFyZ2V0cyYmci5iaW5kQXR0cmliTG9jYXRpb24oeCwwLCJwb3NpdGlvbiIpLHIubGlua1Byb2dyYW0oeCksdC5kZWJ1Zy5jaGVja1NoYWRlckVycm9ycyl7Y29uc3QgdD1yLmdldFByb2dyYW1JbmZvTG9nKHgpLnRyaW0oKSxlPXIuZ2V0U2hhZGVySW5mb0xvZyhUKS50cmltKCksbj1yLmdldFNoYWRlckluZm9Mb2coQykudHJpbSgpO2xldCBpPSEwLG89ITA7aWYoITE9PT1yLmdldFByb2dyYW1QYXJhbWV0ZXIoeCwzNTcxNCkpe2k9ITE7Y29uc3QgZT15OHQocixULCJ2ZXJ0ZXgiKSxuPXk4dChyLEMsImZyYWdtZW50Iik7Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xQcm9ncmFtOiBzaGFkZXIgZXJyb3I6ICIsci5nZXRFcnJvcigpLCIzNTcxNSIsci5nZXRQcm9ncmFtUGFyYW1ldGVyKHgsMzU3MTUpLCJnbC5nZXRQcm9ncmFtSW5mb0xvZyIsdCxlLG4pfWVsc2UiIiE9PXQ/Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFByb2dyYW06IGdsLmdldFByb2dyYW1JbmZvTG9nKCkiLHQpOiIiIT09ZSYmIiIhPT1ufHwobz0hMSk7byYmKHRoaXMuZGlhZ25vc3RpY3M9e3J1bm5hYmxlOmkscHJvZ3JhbUxvZzp0LHZlcnRleFNoYWRlcjp7bG9nOmUscHJlZml4Ond9LGZyYWdtZW50U2hhZGVyOntsb2c6bixwcmVmaXg6U319KX1sZXQgQSxrO3JldHVybiByLmRlbGV0ZVNoYWRlcihUKSxyLmRlbGV0ZVNoYWRlcihDKSx0aGlzLmdldFVuaWZvcm1zPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PUEmJihBPW5ldyBmOHQocix4KSksQX0sdGhpcy5nZXRBdHRyaWJ1dGVzPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWsmJihrPShmdW5jdGlvbiB0KGUsbil7Y29uc3QgaT17fSxyPWUuZ2V0UHJvZ3JhbVBhcmFtZXRlcihuLDM1NzIxKTtmb3IobGV0IHQ9MDt0PHI7dCsrKXtjb25zdCByPWUuZ2V0QWN0aXZlQXR0cmliKG4sdCkubmFtZTtpW3JdPWUuZ2V0QXR0cmliTG9jYXRpb24obixyKX1yZXR1cm4gaX0pKHIseCkpLGt9LHRoaXMuZGVzdHJveT1mdW5jdGlvbigpe2kucmVsZWFzZVN0YXRlc09mUHJvZ3JhbSh0aGlzKSxyLmRlbGV0ZVByb2dyYW0oeCksdGhpcy5wcm9ncmFtPXZvaWQgMH0sdGhpcy5uYW1lPW4uc2hhZGVyTmFtZSx0aGlzLmlkPWc4dCsrLHRoaXMuY2FjaGVLZXk9ZSx0aGlzLnVzZWRUaW1lcz0xLHRoaXMucHJvZ3JhbT14LHRoaXMudmVydGV4U2hhZGVyPVQsdGhpcy5mcmFnbWVudFNoYWRlcj1DLHRoaXN9ZnVuY3Rpb24gTzh0KHQsZSxuLGkscixvLGEpe2NvbnN0IHM9W10sbD1yLmlzV2ViR0wyLGM9ci5sb2dhcml0aG1pY0RlcHRoQnVmZmVyLHU9ci5mbG9hdFZlcnRleFRleHR1cmVzLGg9ci5tYXhWZXJ0ZXhVbmlmb3JtcyxkPXIudmVydGV4VGV4dHVyZXM7bGV0IHA9ci5wcmVjaXNpb247Y29uc3QgZj17TWVzaERlcHRoTWF0ZXJpYWw6ImRlcHRoIixNZXNoRGlzdGFuY2VNYXRlcmlhbDoiZGlzdGFuY2VSR0JBIixNZXNoTm9ybWFsTWF0ZXJpYWw6Im5vcm1hbCIsTWVzaEJhc2ljTWF0ZXJpYWw6ImJhc2ljIixNZXNoTGFtYmVydE1hdGVyaWFsOiJsYW1iZXJ0IixNZXNoUGhvbmdNYXRlcmlhbDoicGhvbmciLE1lc2hUb29uTWF0ZXJpYWw6InRvb24iLE1lc2hTdGFuZGFyZE1hdGVyaWFsOiJwaHlzaWNhbCIsTWVzaFBoeXNpY2FsTWF0ZXJpYWw6InBoeXNpY2FsIixNZXNoTWF0Y2FwTWF0ZXJpYWw6Im1hdGNhcCIsTGluZUJhc2ljTWF0ZXJpYWw6ImJhc2ljIixMaW5lRGFzaGVkTWF0ZXJpYWw6ImRhc2hlZCIsUG9pbnRzTWF0ZXJpYWw6InBvaW50cyIsU2hhZG93TWF0ZXJpYWw6InNoYWRvdyIsU3ByaXRlTWF0ZXJpYWw6InNwcml0ZSJ9LG09WyJwcmVjaXNpb24iLCJpc1dlYkdMMiIsInN1cHBvcnRzVmVydGV4VGV4dHVyZXMiLCJvdXRwdXRFbmNvZGluZyIsImluc3RhbmNpbmciLCJpbnN0YW5jaW5nQ29sb3IiLCJtYXAiLCJtYXBFbmNvZGluZyIsIm1hdGNhcCIsIm1hdGNhcEVuY29kaW5nIiwiZW52TWFwIiwiZW52TWFwTW9kZSIsImVudk1hcEVuY29kaW5nIiwiZW52TWFwQ3ViZVVWIiwibGlnaHRNYXAiLCJsaWdodE1hcEVuY29kaW5nIiwiYW9NYXAiLCJlbWlzc2l2ZU1hcCIsImVtaXNzaXZlTWFwRW5jb2RpbmciLCJidW1wTWFwIiwibm9ybWFsTWFwIiwib2JqZWN0U3BhY2VOb3JtYWxNYXAiLCJ0YW5nZW50U3BhY2VOb3JtYWxNYXAiLCJjbGVhcmNvYXRNYXAiLCJjbGVhcmNvYXRSb3VnaG5lc3NNYXAiLCJjbGVhcmNvYXROb3JtYWxNYXAiLCJkaXNwbGFjZW1lbnRNYXAiLCJzcGVjdWxhck1hcCIsInNwZWN1bGFySW50ZW5zaXR5TWFwIiwic3BlY3VsYXJUaW50TWFwIiwic3BlY3VsYXJUaW50TWFwRW5jb2RpbmciLCJyb3VnaG5lc3NNYXAiLCJtZXRhbG5lc3NNYXAiLCJncmFkaWVudE1hcCIsImFscGhhTWFwIiwiY29tYmluZSIsInZlcnRleENvbG9ycyIsInZlcnRleEFscGhhcyIsInZlcnRleFRhbmdlbnRzIiwidmVydGV4VXZzIiwidXZzVmVydGV4T25seSIsImZvZyIsInVzZUZvZyIsImZvZ0V4cDIiLCJmbGF0U2hhZGluZyIsInNpemVBdHRlbnVhdGlvbiIsImxvZ2FyaXRobWljRGVwdGhCdWZmZXIiLCJza2lubmluZyIsIm1heEJvbmVzIiwidXNlVmVydGV4VGV4dHVyZSIsIm1vcnBoVGFyZ2V0cyIsIm1vcnBoTm9ybWFscyIsInByZW11bHRpcGxpZWRBbHBoYSIsIm51bURpckxpZ2h0cyIsIm51bVBvaW50TGlnaHRzIiwibnVtU3BvdExpZ2h0cyIsIm51bUhlbWlMaWdodHMiLCJudW1SZWN0QXJlYUxpZ2h0cyIsIm51bURpckxpZ2h0U2hhZG93cyIsIm51bVBvaW50TGlnaHRTaGFkb3dzIiwibnVtU3BvdExpZ2h0U2hhZG93cyIsInNoYWRvd01hcEVuYWJsZWQiLCJzaGFkb3dNYXBUeXBlIiwidG9uZU1hcHBpbmciLCJwaHlzaWNhbGx5Q29ycmVjdExpZ2h0cyIsImFscGhhVGVzdCIsImRvdWJsZVNpZGVkIiwiZmxpcFNpZGVkIiwibnVtQ2xpcHBpbmdQbGFuZXMiLCJudW1DbGlwSW50ZXJzZWN0aW9uIiwiZGVwdGhQYWNraW5nIiwiZGl0aGVyaW5nIiwic2hlZW4iLCJ0cmFuc21pc3Npb24iLCJ0cmFuc21pc3Npb25NYXAiLCJ0aGlja25lc3NNYXAiXTtmdW5jdGlvbiBnKHQpe2xldCBlO3JldHVybiB0JiZ0LmlzVGV4dHVyZT9lPXQuZW5jb2Rpbmc6dCYmdC5pc1dlYkdMUmVuZGVyVGFyZ2V0Pyhjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUHJvZ3JhbXMuZ2V0VGV4dHVyZUVuY29kaW5nRnJvbU1hcDogZG9uJ3QgdXNlIHJlbmRlciB0YXJnZXRzIGFzIHRleHR1cmVzLiBVc2UgdGhlaXIgLnRleHR1cmUgcHJvcGVydHkgaW5zdGVhZC4iKSxlPXQudGV4dHVyZS5lbmNvZGluZyk6ZT1HMnQsZX1yZXR1cm57Z2V0UGFyYW1ldGVyczpmdW5jdGlvbiBfKG8scyxtLHksdil7Y29uc3QgYj15LmZvZyx4PShvLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWw/bjplKS5nZXQoby5lbnZNYXB8fChvLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWw/eS5lbnZpcm9ubWVudDpudWxsKSksdz1mW28udHlwZV0sUz12LmlzU2tpbm5lZE1lc2g/KGZ1bmN0aW9uIE0odCl7Y29uc3QgZT10LnNrZWxldG9uLmJvbmVzO2lmKHUpcmV0dXJuIDEwMjQ7e2NvbnN0IHQ9TWF0aC5mbG9vcigoaC0yMCkvNCksbj1NYXRoLm1pbih0LGUubGVuZ3RoKTtyZXR1cm4gbjxlLmxlbmd0aD8oY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBTa2VsZXRvbiBoYXMgIitlLmxlbmd0aCsiIGJvbmVzLiBUaGlzIEdQVSBzdXBwb3J0cyAiK24rIi4iKSwwKTpufX0pKHYpOjA7bGV0IEUsVDtpZihudWxsIT09by5wcmVjaXNpb24mJihwPXIuZ2V0TWF4UHJlY2lzaW9uKG8ucHJlY2lzaW9uKSxwIT09by5wcmVjaXNpb24mJmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xQcm9ncmFtLmdldFBhcmFtZXRlcnM6IixvLnByZWNpc2lvbiwibm90IHN1cHBvcnRlZCwgdXNpbmciLHAsImluc3RlYWQuIikpLHcpe2NvbnN0IHQ9eDZ0W3ddO0U9dC52ZXJ0ZXhTaGFkZXIsVD10LmZyYWdtZW50U2hhZGVyfWVsc2UgRT1vLnZlcnRleFNoYWRlcixUPW8uZnJhZ21lbnRTaGFkZXI7Y29uc3QgQz10LmdldFJlbmRlclRhcmdldCgpO3JldHVybntpc1dlYkdMMjpsLHNoYWRlcklEOncsc2hhZGVyTmFtZTpvLnR5cGUsdmVydGV4U2hhZGVyOkUsZnJhZ21lbnRTaGFkZXI6VCxkZWZpbmVzOm8uZGVmaW5lcyxpc1Jhd1NoYWRlck1hdGVyaWFsOiEwPT09by5pc1Jhd1NoYWRlck1hdGVyaWFsLGdsc2xWZXJzaW9uOm8uZ2xzbFZlcnNpb24scHJlY2lzaW9uOnAsaW5zdGFuY2luZzohMD09PXYuaXNJbnN0YW5jZWRNZXNoLGluc3RhbmNpbmdDb2xvcjohMD09PXYuaXNJbnN0YW5jZWRNZXNoJiZudWxsIT09di5pbnN0YW5jZUNvbG9yLHN1cHBvcnRzVmVydGV4VGV4dHVyZXM6ZCxvdXRwdXRFbmNvZGluZzpudWxsIT09Qz9nKEMudGV4dHVyZSk6dC5vdXRwdXRFbmNvZGluZyxtYXA6ISFvLm1hcCxtYXBFbmNvZGluZzpnKG8ubWFwKSxtYXRjYXA6ISFvLm1hdGNhcCxtYXRjYXBFbmNvZGluZzpnKG8ubWF0Y2FwKSxlbnZNYXA6ISF4LGVudk1hcE1vZGU6eCYmeC5tYXBwaW5nLGVudk1hcEVuY29kaW5nOmcoeCksZW52TWFwQ3ViZVVWOiEheCYmKHgubWFwcGluZz09PW8ydHx8eC5tYXBwaW5nPT09YTJ0KSxsaWdodE1hcDohIW8ubGlnaHRNYXAsbGlnaHRNYXBFbmNvZGluZzpnKG8ubGlnaHRNYXApLGFvTWFwOiEhby5hb01hcCxlbWlzc2l2ZU1hcDohIW8uZW1pc3NpdmVNYXAsZW1pc3NpdmVNYXBFbmNvZGluZzpnKG8uZW1pc3NpdmVNYXApLGJ1bXBNYXA6ISFvLmJ1bXBNYXAsbm9ybWFsTWFwOiEhby5ub3JtYWxNYXAsb2JqZWN0U3BhY2VOb3JtYWxNYXA6MT09PW8ubm9ybWFsTWFwVHlwZSx0YW5nZW50U3BhY2VOb3JtYWxNYXA6MD09PW8ubm9ybWFsTWFwVHlwZSxjbGVhcmNvYXRNYXA6ISFvLmNsZWFyY29hdE1hcCxjbGVhcmNvYXRSb3VnaG5lc3NNYXA6ISFvLmNsZWFyY29hdFJvdWdobmVzc01hcCxjbGVhcmNvYXROb3JtYWxNYXA6ISFvLmNsZWFyY29hdE5vcm1hbE1hcCxkaXNwbGFjZW1lbnRNYXA6ISFvLmRpc3BsYWNlbWVudE1hcCxyb3VnaG5lc3NNYXA6ISFvLnJvdWdobmVzc01hcCxtZXRhbG5lc3NNYXA6ISFvLm1ldGFsbmVzc01hcCxzcGVjdWxhck1hcDohIW8uc3BlY3VsYXJNYXAsc3BlY3VsYXJJbnRlbnNpdHlNYXA6ISFvLnNwZWN1bGFySW50ZW5zaXR5TWFwLHNwZWN1bGFyVGludE1hcDohIW8uc3BlY3VsYXJUaW50TWFwLHNwZWN1bGFyVGludE1hcEVuY29kaW5nOmcoby5zcGVjdWxhclRpbnRNYXApLGFscGhhTWFwOiEhby5hbHBoYU1hcCxncmFkaWVudE1hcDohIW8uZ3JhZGllbnRNYXAsc2hlZW46ISFvLnNoZWVuLHRyYW5zbWlzc2lvbjohIW8udHJhbnNtaXNzaW9uLHRyYW5zbWlzc2lvbk1hcDohIW8udHJhbnNtaXNzaW9uTWFwLHRoaWNrbmVzc01hcDohIW8udGhpY2tuZXNzTWFwLGNvbWJpbmU6by5jb21iaW5lLHZlcnRleFRhbmdlbnRzOiEhby5ub3JtYWxNYXAmJiEhdi5nZW9tZXRyeSYmISF2Lmdlb21ldHJ5LmF0dHJpYnV0ZXMudGFuZ2VudCx2ZXJ0ZXhDb2xvcnM6by52ZXJ0ZXhDb2xvcnMsdmVydGV4QWxwaGFzOiEwPT09by52ZXJ0ZXhDb2xvcnMmJiEhdi5nZW9tZXRyeSYmISF2Lmdlb21ldHJ5LmF0dHJpYnV0ZXMuY29sb3ImJjQ9PT12Lmdlb21ldHJ5LmF0dHJpYnV0ZXMuY29sb3IuaXRlbVNpemUsdmVydGV4VXZzOiEhKG8ubWFwfHxvLmJ1bXBNYXB8fG8ubm9ybWFsTWFwfHxvLnNwZWN1bGFyTWFwfHxvLmFscGhhTWFwfHxvLmVtaXNzaXZlTWFwfHxvLnJvdWdobmVzc01hcHx8by5tZXRhbG5lc3NNYXB8fG8uY2xlYXJjb2F0TWFwfHxvLmNsZWFyY29hdFJvdWdobmVzc01hcHx8by5jbGVhcmNvYXROb3JtYWxNYXB8fG8uZGlzcGxhY2VtZW50TWFwfHxvLnRyYW5zbWlzc2lvbk1hcHx8by50aGlja25lc3NNYXB8fG8uc3BlY3VsYXJJbnRlbnNpdHlNYXB8fG8uc3BlY3VsYXJUaW50TWFwKSx1dnNWZXJ0ZXhPbmx5OiEoby5tYXB8fG8uYnVtcE1hcHx8by5ub3JtYWxNYXB8fG8uc3BlY3VsYXJNYXB8fG8uYWxwaGFNYXB8fG8uZW1pc3NpdmVNYXB8fG8ucm91Z2huZXNzTWFwfHxvLm1ldGFsbmVzc01hcHx8by5jbGVhcmNvYXROb3JtYWxNYXB8fG8udHJhbnNtaXNzaW9ufHxvLnRyYW5zbWlzc2lvbk1hcHx8by50aGlja25lc3NNYXB8fG8uc3BlY3VsYXJJbnRlbnNpdHlNYXB8fG8uc3BlY3VsYXJUaW50TWFwfHwhby5kaXNwbGFjZW1lbnRNYXApLGZvZzohIWIsdXNlRm9nOm8uZm9nLGZvZ0V4cDI6YiYmYi5pc0ZvZ0V4cDIsZmxhdFNoYWRpbmc6ISFvLmZsYXRTaGFkaW5nLHNpemVBdHRlbnVhdGlvbjpvLnNpemVBdHRlbnVhdGlvbixsb2dhcml0aG1pY0RlcHRoQnVmZmVyOmMsc2tpbm5pbmc6ITA9PT12LmlzU2tpbm5lZE1lc2gmJlM+MCxtYXhCb25lczpTLHVzZVZlcnRleFRleHR1cmU6dSxtb3JwaFRhcmdldHM6ISF2Lmdlb21ldHJ5JiYhIXYuZ2VvbWV0cnkubW9ycGhBdHRyaWJ1dGVzLnBvc2l0aW9uLG1vcnBoTm9ybWFsczohIXYuZ2VvbWV0cnkmJiEhdi5nZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMubm9ybWFsLG51bURpckxpZ2h0czpzLmRpcmVjdGlvbmFsLmxlbmd0aCxudW1Qb2ludExpZ2h0czpzLnBvaW50Lmxlbmd0aCxudW1TcG90TGlnaHRzOnMuc3BvdC5sZW5ndGgsbnVtUmVjdEFyZWFMaWdodHM6cy5yZWN0QXJlYS5sZW5ndGgsbnVtSGVtaUxpZ2h0czpzLmhlbWkubGVuZ3RoLG51bURpckxpZ2h0U2hhZG93czpzLmRpcmVjdGlvbmFsU2hhZG93TWFwLmxlbmd0aCxudW1Qb2ludExpZ2h0U2hhZG93czpzLnBvaW50U2hhZG93TWFwLmxlbmd0aCxudW1TcG90TGlnaHRTaGFkb3dzOnMuc3BvdFNoYWRvd01hcC5sZW5ndGgsbnVtQ2xpcHBpbmdQbGFuZXM6YS5udW1QbGFuZXMsbnVtQ2xpcEludGVyc2VjdGlvbjphLm51bUludGVyc2VjdGlvbixkaXRoZXJpbmc6by5kaXRoZXJpbmcsc2hhZG93TWFwRW5hYmxlZDp0LnNoYWRvd01hcC5lbmFibGVkJiZtLmxlbmd0aD4wLHNoYWRvd01hcFR5cGU6dC5zaGFkb3dNYXAudHlwZSx0b25lTWFwcGluZzpvLnRvbmVNYXBwZWQ/dC50b25lTWFwcGluZzowLHBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzOnQucGh5c2ljYWxseUNvcnJlY3RMaWdodHMscHJlbXVsdGlwbGllZEFscGhhOm8ucHJlbXVsdGlwbGllZEFscGhhLGFscGhhVGVzdDpvLmFscGhhVGVzdCxkb3VibGVTaWRlZDoyPT09by5zaWRlLGZsaXBTaWRlZDoxPT09by5zaWRlLGRlcHRoUGFja2luZzp2b2lkIDAhPT1vLmRlcHRoUGFja2luZyYmby5kZXB0aFBhY2tpbmcsaW5kZXgwQXR0cmlidXRlTmFtZTpvLmluZGV4MEF0dHJpYnV0ZU5hbWUsZXh0ZW5zaW9uRGVyaXZhdGl2ZXM6by5leHRlbnNpb25zJiZvLmV4dGVuc2lvbnMuZGVyaXZhdGl2ZXMsZXh0ZW5zaW9uRnJhZ0RlcHRoOm8uZXh0ZW5zaW9ucyYmby5leHRlbnNpb25zLmZyYWdEZXB0aCxleHRlbnNpb25EcmF3QnVmZmVyczpvLmV4dGVuc2lvbnMmJm8uZXh0ZW5zaW9ucy5kcmF3QnVmZmVycyxleHRlbnNpb25TaGFkZXJUZXh0dXJlTE9EOm8uZXh0ZW5zaW9ucyYmby5leHRlbnNpb25zLnNoYWRlclRleHR1cmVMT0QscmVuZGVyZXJFeHRlbnNpb25GcmFnRGVwdGg6bHx8aS5oYXMoIkVYVF9mcmFnX2RlcHRoIikscmVuZGVyZXJFeHRlbnNpb25EcmF3QnVmZmVyczpsfHxpLmhhcygiV0VCR0xfZHJhd19idWZmZXJzIikscmVuZGVyZXJFeHRlbnNpb25TaGFkZXJUZXh0dXJlTG9kOmx8fGkuaGFzKCJFWFRfc2hhZGVyX3RleHR1cmVfbG9kIiksY3VzdG9tUHJvZ3JhbUNhY2hlS2V5Om8uY3VzdG9tUHJvZ3JhbUNhY2hlS2V5KCl9fSxnZXRQcm9ncmFtQ2FjaGVLZXk6ZnVuY3Rpb24geShlKXtjb25zdCBuPVtdO2lmKGUuc2hhZGVySUQ/bi5wdXNoKGUuc2hhZGVySUQpOihuLnB1c2goZS5mcmFnbWVudFNoYWRlciksbi5wdXNoKGUudmVydGV4U2hhZGVyKSksdm9pZCAwIT09ZS5kZWZpbmVzKWZvcihjb25zdCB0IGluIGUuZGVmaW5lcyluLnB1c2godCksbi5wdXNoKGUuZGVmaW5lc1t0XSk7aWYoITE9PT1lLmlzUmF3U2hhZGVyTWF0ZXJpYWwpe2ZvcihsZXQgdD0wO3Q8bS5sZW5ndGg7dCsrKW4ucHVzaChlW21bdF1dKTtuLnB1c2godC5vdXRwdXRFbmNvZGluZyksbi5wdXNoKHQuZ2FtbWFGYWN0b3IpfXJldHVybiBuLnB1c2goZS5jdXN0b21Qcm9ncmFtQ2FjaGVLZXkpLG4uam9pbigpfSxnZXRVbmlmb3JtczpmdW5jdGlvbiB2KHQpe2NvbnN0IGU9Zlt0LnR5cGVdO2xldCBuO2lmKGUpe249ZTZ0LmNsb25lKHg2dFtlXS51bmlmb3Jtcyl9ZWxzZSBuPXQudW5pZm9ybXM7cmV0dXJuIG59LGFjcXVpcmVQcm9ncmFtOmZ1bmN0aW9uIGIoZSxuKXtsZXQgaTtmb3IobGV0IHQ9MCxlPXMubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9c1t0XTtpZihlLmNhY2hlS2V5PT09bil7aT1lLCsraS51c2VkVGltZXM7YnJlYWt9fXJldHVybiB2b2lkIDA9PT1pJiYoaT1uZXcgUjh0KHQsbixlLG8pLHMucHVzaChpKSksaX0scmVsZWFzZVByb2dyYW06ZnVuY3Rpb24geCh0KXtpZigwPT0tLXQudXNlZFRpbWVzKXtjb25zdCBlPXMuaW5kZXhPZih0KTtzW2VdPXNbcy5sZW5ndGgtMV0scy5wb3AoKSx0LmRlc3Ryb3koKX19LHByb2dyYW1zOnN9fWZ1bmN0aW9uIHo4dCgpe2xldCB0PW5ldyBXZWFrTWFwO3JldHVybntnZXQ6ZnVuY3Rpb24gZShuKXtsZXQgaT10LmdldChuKTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9e30sdC5zZXQobixpKSksaX0scmVtb3ZlOmZ1bmN0aW9uIG4oZSl7dC5kZWxldGUoZSl9LHVwZGF0ZTpmdW5jdGlvbiBpKGUsbixyKXt0LmdldChlKVtuXT1yfSxkaXNwb3NlOmZ1bmN0aW9uIHIoKXt0PW5ldyBXZWFrTWFwfX19ZnVuY3Rpb24gRDh0KHQsZSl7cmV0dXJuIHQuZ3JvdXBPcmRlciE9PWUuZ3JvdXBPcmRlcj90Lmdyb3VwT3JkZXItZS5ncm91cE9yZGVyOnQucmVuZGVyT3JkZXIhPT1lLnJlbmRlck9yZGVyP3QucmVuZGVyT3JkZXItZS5yZW5kZXJPcmRlcjp0LnByb2dyYW0hPT1lLnByb2dyYW0/dC5wcm9ncmFtLmlkLWUucHJvZ3JhbS5pZDp0Lm1hdGVyaWFsLmlkIT09ZS5tYXRlcmlhbC5pZD90Lm1hdGVyaWFsLmlkLWUubWF0ZXJpYWwuaWQ6dC56IT09ZS56P3Quei1lLno6dC5pZC1lLmlkfWZ1bmN0aW9uIEI4dCh0LGUpe3JldHVybiB0Lmdyb3VwT3JkZXIhPT1lLmdyb3VwT3JkZXI/dC5ncm91cE9yZGVyLWUuZ3JvdXBPcmRlcjp0LnJlbmRlck9yZGVyIT09ZS5yZW5kZXJPcmRlcj90LnJlbmRlck9yZGVyLWUucmVuZGVyT3JkZXI6dC56IT09ZS56P2Uuei10Lno6dC5pZC1lLmlkfWZ1bmN0aW9uIEg4dCh0KXtjb25zdCBlPVtdO2xldCBuPTA7Y29uc3QgaT1bXSxyPVtdLG89W10sYT17aWQ6LTF9O2Z1bmN0aW9uIHMoaSxyLG8scyxsLGMpe2xldCB1PWVbbl07Y29uc3QgaD10LmdldChvKTtyZXR1cm4gdm9pZCAwPT09dT8odT17aWQ6aS5pZCxvYmplY3Q6aSxnZW9tZXRyeTpyLG1hdGVyaWFsOm8scHJvZ3JhbTpoLnByb2dyYW18fGEsZ3JvdXBPcmRlcjpzLHJlbmRlck9yZGVyOmkucmVuZGVyT3JkZXIsejpsLGdyb3VwOmN9LGVbbl09dSk6KHUuaWQ9aS5pZCx1Lm9iamVjdD1pLHUuZ2VvbWV0cnk9cix1Lm1hdGVyaWFsPW8sdS5wcm9ncmFtPWgucHJvZ3JhbXx8YSx1Lmdyb3VwT3JkZXI9cyx1LnJlbmRlck9yZGVyPWkucmVuZGVyT3JkZXIsdS56PWwsdS5ncm91cD1jKSxuKyssdX1yZXR1cm57b3BhcXVlOmksdHJhbnNtaXNzaXZlOnIsdHJhbnNwYXJlbnQ6byxpbml0OmZ1bmN0aW9uIGwoKXtuPTAsaS5sZW5ndGg9MCxyLmxlbmd0aD0wLG8ubGVuZ3RoPTB9LHB1c2g6ZnVuY3Rpb24gYyh0LGUsbixhLGwsdSl7Y29uc3QgaD1zKHQsZSxuLGEsbCx1KTtuLnRyYW5zbWlzc2lvbj4wP3IucHVzaChoKTohMD09PW4udHJhbnNwYXJlbnQ/by5wdXNoKGgpOmkucHVzaChoKX0sdW5zaGlmdDpmdW5jdGlvbiB1KHQsZSxuLGEsbCxjKXtjb25zdCB1PXModCxlLG4sYSxsLGMpO24udHJhbnNtaXNzaW9uPjA/ci51bnNoaWZ0KHUpOiEwPT09bi50cmFuc3BhcmVudD9vLnVuc2hpZnQodSk6aS51bnNoaWZ0KHUpfSxmaW5pc2g6ZnVuY3Rpb24gaCgpe2ZvcihsZXQgdD1uLGk9ZS5sZW5ndGg7dDxpO3QrKyl7Y29uc3Qgbj1lW3RdO2lmKG51bGw9PT1uLmlkKWJyZWFrO24uaWQ9bnVsbCxuLm9iamVjdD1udWxsLG4uZ2VvbWV0cnk9bnVsbCxuLm1hdGVyaWFsPW51bGwsbi5wcm9ncmFtPW51bGwsbi5ncm91cD1udWxsfX0sc29ydDpmdW5jdGlvbiBkKHQsZSl7aS5sZW5ndGg+MSYmaS5zb3J0KHR8fEQ4dCksci5sZW5ndGg+MSYmci5zb3J0KGV8fEI4dCksby5sZW5ndGg+MSYmby5zb3J0KGV8fEI4dCl9fX1mdW5jdGlvbiBGOHQodCl7bGV0IGU9bmV3IFdlYWtNYXA7cmV0dXJue2dldDpmdW5jdGlvbiBuKGkscil7bGV0IG87cmV0dXJuITE9PT1lLmhhcyhpKT8obz1uZXcgSDh0KHQpLGUuc2V0KGksW29dKSk6cj49ZS5nZXQoaSkubGVuZ3RoPyhvPW5ldyBIOHQodCksZS5nZXQoaSkucHVzaChvKSk6bz1lLmdldChpKVtyXSxvfSxkaXNwb3NlOmZ1bmN0aW9uIGkoKXtlPW5ldyBXZWFrTWFwfX19ZnVuY3Rpb24gVjh0KCl7Y29uc3QgdD17fTtyZXR1cm57Z2V0OmZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PXRbZS5pZF0pcmV0dXJuIHRbZS5pZF07bGV0IG47c3dpdGNoKGUudHlwZSl7Y2FzZSJEaXJlY3Rpb25hbExpZ2h0IjpuPXtkaXJlY3Rpb246bmV3IEg1dCxjb2xvcjpuZXcgczR0fTticmVhaztjYXNlIlNwb3RMaWdodCI6bj17cG9zaXRpb246bmV3IEg1dCxkaXJlY3Rpb246bmV3IEg1dCxjb2xvcjpuZXcgczR0LGRpc3RhbmNlOjAsY29uZUNvczowLHBlbnVtYnJhQ29zOjAsZGVjYXk6MH07YnJlYWs7Y2FzZSJQb2ludExpZ2h0IjpuPXtwb3NpdGlvbjpuZXcgSDV0LGNvbG9yOm5ldyBzNHQsZGlzdGFuY2U6MCxkZWNheTowfTticmVhaztjYXNlIkhlbWlzcGhlcmVMaWdodCI6bj17ZGlyZWN0aW9uOm5ldyBINXQsc2t5Q29sb3I6bmV3IHM0dCxncm91bmRDb2xvcjpuZXcgczR0fTticmVhaztjYXNlIlJlY3RBcmVhTGlnaHQiOm49e2NvbG9yOm5ldyBzNHQscG9zaXRpb246bmV3IEg1dCxoYWxmV2lkdGg6bmV3IEg1dCxoYWxmSGVpZ2h0Om5ldyBINXR9fXJldHVybiB0W2UuaWRdPW4sbn19fWxldCBVOHQ9MDtmdW5jdGlvbiBqOHQodCxlKXtyZXR1cm4oZS5jYXN0U2hhZG93PzE6MCktKHQuY2FzdFNoYWRvdz8xOjApfWZ1bmN0aW9uIEc4dCh0LGUpe2NvbnN0IG49bmV3IFY4dCxpPShmdW5jdGlvbiByKCl7Y29uc3QgdD17fTtyZXR1cm57Z2V0OmZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PXRbZS5pZF0pcmV0dXJuIHRbZS5pZF07bGV0IG47c3dpdGNoKGUudHlwZSl7Y2FzZSJEaXJlY3Rpb25hbExpZ2h0IjpjYXNlIlNwb3RMaWdodCI6bj17c2hhZG93QmlhczowLHNoYWRvd05vcm1hbEJpYXM6MCxzaGFkb3dSYWRpdXM6MSxzaGFkb3dNYXBTaXplOm5ldyBDNXR9O2JyZWFrO2Nhc2UiUG9pbnRMaWdodCI6bj17c2hhZG93QmlhczowLHNoYWRvd05vcm1hbEJpYXM6MCxzaGFkb3dSYWRpdXM6MSxzaGFkb3dNYXBTaXplOm5ldyBDNXQsc2hhZG93Q2FtZXJhTmVhcjoxLHNoYWRvd0NhbWVyYUZhcjoxZTN9fXJldHVybiB0W2UuaWRdPW4sbn19fSkoKSxvPXt2ZXJzaW9uOjAsaGFzaDp7ZGlyZWN0aW9uYWxMZW5ndGg6LTEscG9pbnRMZW5ndGg6LTEsc3BvdExlbmd0aDotMSxyZWN0QXJlYUxlbmd0aDotMSxoZW1pTGVuZ3RoOi0xLG51bURpcmVjdGlvbmFsU2hhZG93czotMSxudW1Qb2ludFNoYWRvd3M6LTEsbnVtU3BvdFNoYWRvd3M6LTF9LGFtYmllbnQ6WzAsMCwwXSxwcm9iZTpbXSxkaXJlY3Rpb25hbDpbXSxkaXJlY3Rpb25hbFNoYWRvdzpbXSxkaXJlY3Rpb25hbFNoYWRvd01hcDpbXSxkaXJlY3Rpb25hbFNoYWRvd01hdHJpeDpbXSxzcG90OltdLHNwb3RTaGFkb3c6W10sc3BvdFNoYWRvd01hcDpbXSxzcG90U2hhZG93TWF0cml4OltdLHJlY3RBcmVhOltdLHJlY3RBcmVhTFRDMTpudWxsLHJlY3RBcmVhTFRDMjpudWxsLHBvaW50OltdLHBvaW50U2hhZG93OltdLHBvaW50U2hhZG93TWFwOltdLHBvaW50U2hhZG93TWF0cml4OltdLGhlbWk6W119O2ZvcihsZXQgdD0wO3Q8OTt0Kyspby5wcm9iZS5wdXNoKG5ldyBINXQpO2NvbnN0IGE9bmV3IEg1dCxzPW5ldyBnM3QsbD1uZXcgZzN0O3JldHVybntzZXR1cDpmdW5jdGlvbiBjKHIpe2xldCBhPTAscz0wLGw9MDtmb3IobGV0IHQ9MDt0PDk7dCsrKW8ucHJvYmVbdF0uc2V0KDAsMCwwKTtsZXQgYz0wLHU9MCxoPTAsZD0wLHA9MCxmPTAsbT0wLGc9MDtyLnNvcnQoajh0KTtmb3IobGV0IHQ9MCxlPXIubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9clt0XSxfPWUuY29sb3IseT1lLmludGVuc2l0eSx2PWUuZGlzdGFuY2UsYj1lLnNoYWRvdyYmZS5zaGFkb3cubWFwP2Uuc2hhZG93Lm1hcC50ZXh0dXJlOm51bGw7aWYoZS5pc0FtYmllbnRMaWdodClhKz1fLnIqeSxzKz1fLmcqeSxsKz1fLmIqeTtlbHNlIGlmKGUuaXNMaWdodFByb2JlKWZvcihsZXQgdD0wO3Q8OTt0Kyspby5wcm9iZVt0XS5hZGRTY2FsZWRWZWN0b3IoZS5zaC5jb2VmZmljaWVudHNbdF0seSk7ZWxzZSBpZihlLmlzRGlyZWN0aW9uYWxMaWdodCl7Y29uc3QgdD1uLmdldChlKTtpZih0LmNvbG9yLmNvcHkoZS5jb2xvcikubXVsdGlwbHlTY2FsYXIoZS5pbnRlbnNpdHkpLGUuY2FzdFNoYWRvdyl7Y29uc3QgdD1lLnNoYWRvdyxuPWkuZ2V0KGUpO24uc2hhZG93Qmlhcz10LmJpYXMsbi5zaGFkb3dOb3JtYWxCaWFzPXQubm9ybWFsQmlhcyxuLnNoYWRvd1JhZGl1cz10LnJhZGl1cyxuLnNoYWRvd01hcFNpemU9dC5tYXBTaXplLG8uZGlyZWN0aW9uYWxTaGFkb3dbY109bixvLmRpcmVjdGlvbmFsU2hhZG93TWFwW2NdPWIsby5kaXJlY3Rpb25hbFNoYWRvd01hdHJpeFtjXT1lLnNoYWRvdy5tYXRyaXgsZisrfW8uZGlyZWN0aW9uYWxbY109dCxjKyt9ZWxzZSBpZihlLmlzU3BvdExpZ2h0KXtjb25zdCB0PW4uZ2V0KGUpO2lmKHQucG9zaXRpb24uc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGUubWF0cml4V29ybGQpLHQuY29sb3IuY29weShfKS5tdWx0aXBseVNjYWxhcih5KSx0LmRpc3RhbmNlPXYsdC5jb25lQ29zPU1hdGguY29zKGUuYW5nbGUpLHQucGVudW1icmFDb3M9TWF0aC5jb3MoZS5hbmdsZSooMS1lLnBlbnVtYnJhKSksdC5kZWNheT1lLmRlY2F5LGUuY2FzdFNoYWRvdyl7Y29uc3QgdD1lLnNoYWRvdyxuPWkuZ2V0KGUpO24uc2hhZG93Qmlhcz10LmJpYXMsbi5zaGFkb3dOb3JtYWxCaWFzPXQubm9ybWFsQmlhcyxuLnNoYWRvd1JhZGl1cz10LnJhZGl1cyxuLnNoYWRvd01hcFNpemU9dC5tYXBTaXplLG8uc3BvdFNoYWRvd1toXT1uLG8uc3BvdFNoYWRvd01hcFtoXT1iLG8uc3BvdFNoYWRvd01hdHJpeFtoXT1lLnNoYWRvdy5tYXRyaXgsZysrfW8uc3BvdFtoXT10LGgrK31lbHNlIGlmKGUuaXNSZWN0QXJlYUxpZ2h0KXtjb25zdCB0PW4uZ2V0KGUpO3QuY29sb3IuY29weShfKS5tdWx0aXBseVNjYWxhcih5KSx0LmhhbGZXaWR0aC5zZXQoLjUqZS53aWR0aCwwLDApLHQuaGFsZkhlaWdodC5zZXQoMCwuNSplLmhlaWdodCwwKSxvLnJlY3RBcmVhW2RdPXQsZCsrfWVsc2UgaWYoZS5pc1BvaW50TGlnaHQpe2NvbnN0IHQ9bi5nZXQoZSk7aWYodC5jb2xvci5jb3B5KGUuY29sb3IpLm11bHRpcGx5U2NhbGFyKGUuaW50ZW5zaXR5KSx0LmRpc3RhbmNlPWUuZGlzdGFuY2UsdC5kZWNheT1lLmRlY2F5LGUuY2FzdFNoYWRvdyl7Y29uc3QgdD1lLnNoYWRvdyxuPWkuZ2V0KGUpO24uc2hhZG93Qmlhcz10LmJpYXMsbi5zaGFkb3dOb3JtYWxCaWFzPXQubm9ybWFsQmlhcyxuLnNoYWRvd1JhZGl1cz10LnJhZGl1cyxuLnNoYWRvd01hcFNpemU9dC5tYXBTaXplLG4uc2hhZG93Q2FtZXJhTmVhcj10LmNhbWVyYS5uZWFyLG4uc2hhZG93Q2FtZXJhRmFyPXQuY2FtZXJhLmZhcixvLnBvaW50U2hhZG93W3VdPW4sby5wb2ludFNoYWRvd01hcFt1XT1iLG8ucG9pbnRTaGFkb3dNYXRyaXhbdV09ZS5zaGFkb3cubWF0cml4LG0rK31vLnBvaW50W3VdPXQsdSsrfWVsc2UgaWYoZS5pc0hlbWlzcGhlcmVMaWdodCl7Y29uc3QgdD1uLmdldChlKTt0LnNreUNvbG9yLmNvcHkoZS5jb2xvcikubXVsdGlwbHlTY2FsYXIoeSksdC5ncm91bmRDb2xvci5jb3B5KGUuZ3JvdW5kQ29sb3IpLm11bHRpcGx5U2NhbGFyKHkpLG8uaGVtaVtwXT10LHArK319ZD4wJiYoZS5pc1dlYkdMMnx8ITA9PT10LmhhcygiT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIik/KG8ucmVjdEFyZWFMVEMxPWI2dC5MVENfRkxPQVRfMSxvLnJlY3RBcmVhTFRDMj1iNnQuTFRDX0ZMT0FUXzIpOiEwPT09dC5oYXMoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXRfbGluZWFyIik/KG8ucmVjdEFyZWFMVEMxPWI2dC5MVENfSEFMRl8xLG8ucmVjdEFyZWFMVEMyPWI2dC5MVENfSEFMRl8yKTpjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBVbmFibGUgdG8gdXNlIFJlY3RBcmVhTGlnaHQuIE1pc3NpbmcgV2ViR0wgZXh0ZW5zaW9ucy4iKSksby5hbWJpZW50WzBdPWEsby5hbWJpZW50WzFdPXMsby5hbWJpZW50WzJdPWw7Y29uc3QgXz1vLmhhc2g7Xy5kaXJlY3Rpb25hbExlbmd0aD09PWMmJl8ucG9pbnRMZW5ndGg9PT11JiZfLnNwb3RMZW5ndGg9PT1oJiZfLnJlY3RBcmVhTGVuZ3RoPT09ZCYmXy5oZW1pTGVuZ3RoPT09cCYmXy5udW1EaXJlY3Rpb25hbFNoYWRvd3M9PT1mJiZfLm51bVBvaW50U2hhZG93cz09PW0mJl8ubnVtU3BvdFNoYWRvd3M9PT1nfHwoby5kaXJlY3Rpb25hbC5sZW5ndGg9YyxvLnNwb3QubGVuZ3RoPWgsby5yZWN0QXJlYS5sZW5ndGg9ZCxvLnBvaW50Lmxlbmd0aD11LG8uaGVtaS5sZW5ndGg9cCxvLmRpcmVjdGlvbmFsU2hhZG93Lmxlbmd0aD1mLG8uZGlyZWN0aW9uYWxTaGFkb3dNYXAubGVuZ3RoPWYsby5wb2ludFNoYWRvdy5sZW5ndGg9bSxvLnBvaW50U2hhZG93TWFwLmxlbmd0aD1tLG8uc3BvdFNoYWRvdy5sZW5ndGg9ZyxvLnNwb3RTaGFkb3dNYXAubGVuZ3RoPWcsby5kaXJlY3Rpb25hbFNoYWRvd01hdHJpeC5sZW5ndGg9ZixvLnBvaW50U2hhZG93TWF0cml4Lmxlbmd0aD1tLG8uc3BvdFNoYWRvd01hdHJpeC5sZW5ndGg9ZyxfLmRpcmVjdGlvbmFsTGVuZ3RoPWMsXy5wb2ludExlbmd0aD11LF8uc3BvdExlbmd0aD1oLF8ucmVjdEFyZWFMZW5ndGg9ZCxfLmhlbWlMZW5ndGg9cCxfLm51bURpcmVjdGlvbmFsU2hhZG93cz1mLF8ubnVtUG9pbnRTaGFkb3dzPW0sXy5udW1TcG90U2hhZG93cz1nLG8udmVyc2lvbj1VOHQrKyl9LHNldHVwVmlldzpmdW5jdGlvbiB1KHQsZSl7bGV0IG49MCxpPTAscj0wLGM9MCx1PTA7Y29uc3QgaD1lLm1hdHJpeFdvcmxkSW52ZXJzZTtmb3IobGV0IGU9MCxkPXQubGVuZ3RoO2U8ZDtlKyspe2NvbnN0IGQ9dFtlXTtpZihkLmlzRGlyZWN0aW9uYWxMaWdodCl7Y29uc3QgdD1vLmRpcmVjdGlvbmFsW25dO3QuZGlyZWN0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihkLm1hdHJpeFdvcmxkKSxhLnNldEZyb21NYXRyaXhQb3NpdGlvbihkLnRhcmdldC5tYXRyaXhXb3JsZCksdC5kaXJlY3Rpb24uc3ViKGEpLHQuZGlyZWN0aW9uLnRyYW5zZm9ybURpcmVjdGlvbihoKSxuKyt9ZWxzZSBpZihkLmlzU3BvdExpZ2h0KXtjb25zdCB0PW8uc3BvdFtyXTt0LnBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihkLm1hdHJpeFdvcmxkKSx0LnBvc2l0aW9uLmFwcGx5TWF0cml4NChoKSx0LmRpcmVjdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24oZC5tYXRyaXhXb3JsZCksYS5zZXRGcm9tTWF0cml4UG9zaXRpb24oZC50YXJnZXQubWF0cml4V29ybGQpLHQuZGlyZWN0aW9uLnN1YihhKSx0LmRpcmVjdGlvbi50cmFuc2Zvcm1EaXJlY3Rpb24oaCkscisrfWVsc2UgaWYoZC5pc1JlY3RBcmVhTGlnaHQpe2NvbnN0IHQ9by5yZWN0QXJlYVtjXTt0LnBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihkLm1hdHJpeFdvcmxkKSx0LnBvc2l0aW9uLmFwcGx5TWF0cml4NChoKSxsLmlkZW50aXR5KCkscy5jb3B5KGQubWF0cml4V29ybGQpLHMucHJlbXVsdGlwbHkoaCksbC5leHRyYWN0Um90YXRpb24ocyksdC5oYWxmV2lkdGguc2V0KC41KmQud2lkdGgsMCwwKSx0LmhhbGZIZWlnaHQuc2V0KDAsLjUqZC5oZWlnaHQsMCksdC5oYWxmV2lkdGguYXBwbHlNYXRyaXg0KGwpLHQuaGFsZkhlaWdodC5hcHBseU1hdHJpeDQobCksYysrfWVsc2UgaWYoZC5pc1BvaW50TGlnaHQpe2NvbnN0IHQ9by5wb2ludFtpXTt0LnBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihkLm1hdHJpeFdvcmxkKSx0LnBvc2l0aW9uLmFwcGx5TWF0cml4NChoKSxpKyt9ZWxzZSBpZihkLmlzSGVtaXNwaGVyZUxpZ2h0KXtjb25zdCB0PW8uaGVtaVt1XTt0LmRpcmVjdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24oZC5tYXRyaXhXb3JsZCksdC5kaXJlY3Rpb24udHJhbnNmb3JtRGlyZWN0aW9uKGgpLHQuZGlyZWN0aW9uLm5vcm1hbGl6ZSgpLHUrK319fSxzdGF0ZTpvfX1mdW5jdGlvbiBXOHQodCxlKXtjb25zdCBuPW5ldyBHOHQodCxlKSxpPVtdLHI9W107cmV0dXJue2luaXQ6ZnVuY3Rpb24gbygpe2kubGVuZ3RoPTAsci5sZW5ndGg9MH0sc3RhdGU6e2xpZ2h0c0FycmF5Omksc2hhZG93c0FycmF5OnIsbGlnaHRzOm59LHNldHVwTGlnaHRzOmZ1bmN0aW9uIGEoKXtuLnNldHVwKGkpfSxzZXR1cExpZ2h0c1ZpZXc6ZnVuY3Rpb24gcyh0KXtuLnNldHVwVmlldyhpLHQpfSxwdXNoTGlnaHQ6ZnVuY3Rpb24gbCh0KXtpLnB1c2godCl9LHB1c2hTaGFkb3c6ZnVuY3Rpb24gYyh0KXtyLnB1c2godCl9fX1mdW5jdGlvbiBxOHQodCxlKXtsZXQgbj1uZXcgV2Vha01hcDtyZXR1cm57Z2V0OmZ1bmN0aW9uIGkocixvPTApe2xldCBhO3JldHVybiExPT09bi5oYXMocik/KGE9bmV3IFc4dCh0LGUpLG4uc2V0KHIsW2FdKSk6bz49bi5nZXQocikubGVuZ3RoPyhhPW5ldyBXOHQodCxlKSxuLmdldChyKS5wdXNoKGEpKTphPW4uZ2V0KHIpW29dLGF9LGRpc3Bvc2U6ZnVuY3Rpb24gcigpe249bmV3IFdlYWtNYXB9fX1jbGFzcyBZOHQgZXh0ZW5kcyB0NHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9Ik1lc2hEZXB0aE1hdGVyaWFsIix0aGlzLmRlcHRoUGFja2luZz0zMjAwLHRoaXMubWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50TWFwPW51bGwsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz0wLHRoaXMud2lyZWZyYW1lPSExLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPTEsdGhpcy5mb2c9ITEsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmRlcHRoUGFja2luZz10LmRlcHRoUGFja2luZyx0aGlzLm1hcD10Lm1hcCx0aGlzLmFscGhhTWFwPXQuYWxwaGFNYXAsdGhpcy5kaXNwbGFjZW1lbnRNYXA9dC5kaXNwbGFjZW1lbnRNYXAsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT10LmRpc3BsYWNlbWVudFNjYWxlLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz10LmRpc3BsYWNlbWVudEJpYXMsdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpc319WTh0LnByb3RvdHlwZS5pc01lc2hEZXB0aE1hdGVyaWFsPSEwO2NsYXNzIFg4dCBleHRlbmRzIHQ0dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iTWVzaERpc3RhbmNlTWF0ZXJpYWwiLHRoaXMucmVmZXJlbmNlUG9zaXRpb249bmV3IEg1dCx0aGlzLm5lYXJEaXN0YW5jZT0xLHRoaXMuZmFyRGlzdGFuY2U9MWUzLHRoaXMubWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50TWFwPW51bGwsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz0wLHRoaXMuZm9nPSExLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5yZWZlcmVuY2VQb3NpdGlvbi5jb3B5KHQucmVmZXJlbmNlUG9zaXRpb24pLHRoaXMubmVhckRpc3RhbmNlPXQubmVhckRpc3RhbmNlLHRoaXMuZmFyRGlzdGFuY2U9dC5mYXJEaXN0YW5jZSx0aGlzLm1hcD10Lm1hcCx0aGlzLmFscGhhTWFwPXQuYWxwaGFNYXAsdGhpcy5kaXNwbGFjZW1lbnRNYXA9dC5kaXNwbGFjZW1lbnRNYXAsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT10LmRpc3BsYWNlbWVudFNjYWxlLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz10LmRpc3BsYWNlbWVudEJpYXMsdGhpc319WDh0LnByb3RvdHlwZS5pc01lc2hEaXN0YW5jZU1hdGVyaWFsPSEwO2Z1bmN0aW9uICQ4dCh0LGUsbil7bGV0IGk9bmV3IG02dDtjb25zdCByPW5ldyBDNXQsbz1uZXcgQzV0LGE9bmV3IFI1dCxzPW5ldyBZOHQoe2RlcHRoUGFja2luZzozMjAxfSksbD1uZXcgWDh0LGM9e30sdT1uLm1heFRleHR1cmVTaXplLGg9ezA6MSwxOjAsMjoyfSxkPW5ldyBuNnQoe2RlZmluZXM6e1NBTVBMRV9SQVRFOjIvOCxIQUxGX1NBTVBMRV9SQVRFOjEvOH0sdW5pZm9ybXM6e3NoYWRvd19wYXNzOnt2YWx1ZTpudWxsfSxyZXNvbHV0aW9uOnt2YWx1ZTpuZXcgQzV0fSxyYWRpdXM6e3ZhbHVlOjR9fSx2ZXJ0ZXhTaGFkZXI6InZvaWQgbWFpbigpIHtcblx0Z2xfUG9zaXRpb24gPSB2ZWM0KCBwb3NpdGlvbiwgMS4wICk7XG59IixmcmFnbWVudFNoYWRlcjoidW5pZm9ybSBzYW1wbGVyMkQgc2hhZG93X3Bhc3M7XG51bmlmb3JtIHZlYzIgcmVzb2x1dGlvbjtcbnVuaWZvcm0gZmxvYXQgcmFkaXVzO1xuI2luY2x1ZGUgPHBhY2tpbmc+XG52b2lkIG1haW4oKSB7XG5cdGZsb2F0IG1lYW4gPSAwLjA7XG5cdGZsb2F0IHNxdWFyZWRfbWVhbiA9IDAuMDtcblx0ZmxvYXQgZGVwdGggPSB1bnBhY2tSR0JBVG9EZXB0aCggdGV4dHVyZTJEKCBzaGFkb3dfcGFzcywgKCBnbF9GcmFnQ29vcmQueHkgKSAvIHJlc29sdXRpb24gKSApO1xuXHRmb3IgKCBmbG9hdCBpID0gLTEuMDsgaSA8IDEuMCA7IGkgKz0gU0FNUExFX1JBVEUpIHtcblx0XHQjaWZkZWYgSE9SSVpPTlRBTF9QQVNTXG5cdFx0XHR2ZWMyIGRpc3RyaWJ1dGlvbiA9IHVucGFja1JHQkFUbzJIYWxmKCB0ZXh0dXJlMkQoIHNoYWRvd19wYXNzLCAoIGdsX0ZyYWdDb29yZC54eSArIHZlYzIoIGksIDAuMCApICogcmFkaXVzICkgLyByZXNvbHV0aW9uICkgKTtcblx0XHRcdG1lYW4gKz0gZGlzdHJpYnV0aW9uLng7XG5cdFx0XHRzcXVhcmVkX21lYW4gKz0gZGlzdHJpYnV0aW9uLnkgKiBkaXN0cmlidXRpb24ueSArIGRpc3RyaWJ1dGlvbi54ICogZGlzdHJpYnV0aW9uLng7XG5cdFx0I2Vsc2Vcblx0XHRcdGZsb2F0IGRlcHRoID0gdW5wYWNrUkdCQVRvRGVwdGgoIHRleHR1cmUyRCggc2hhZG93X3Bhc3MsICggZ2xfRnJhZ0Nvb3JkLnh5ICsgdmVjMiggMC4wLCBpICkgKiByYWRpdXMgKSAvIHJlc29sdXRpb24gKSApO1xuXHRcdFx0bWVhbiArPSBkZXB0aDtcblx0XHRcdHNxdWFyZWRfbWVhbiArPSBkZXB0aCAqIGRlcHRoO1xuXHRcdCNlbmRpZlxuXHR9XG5cdG1lYW4gPSBtZWFuICogSEFMRl9TQU1QTEVfUkFURTtcblx0c3F1YXJlZF9tZWFuID0gc3F1YXJlZF9tZWFuICogSEFMRl9TQU1QTEVfUkFURTtcblx0ZmxvYXQgc3RkX2RldiA9IHNxcnQoIHNxdWFyZWRfbWVhbiAtIG1lYW4gKiBtZWFuICk7XG5cdGdsX0ZyYWdDb2xvciA9IHBhY2sySGFsZlRvUkdCQSggdmVjMiggbWVhbiwgc3RkX2RldiApICk7XG59In0pLHA9ZC5jbG9uZSgpO3AuZGVmaW5lcy5IT1JJWk9OVEFMX1BBU1M9MTtjb25zdCBmPW5ldyBONHQ7Zi5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgaDR0KG5ldyBGbG9hdDMyQXJyYXkoWy0xLC0xLC41LDMsLTEsLjUsLTEsMywuNV0pLDMpKTtjb25zdCBtPW5ldyBLNHQoZixkKSxnPXRoaXM7ZnVuY3Rpb24gXyhuLGkpe2NvbnN0IHI9ZS51cGRhdGUobSk7ZC51bmlmb3Jtcy5zaGFkb3dfcGFzcy52YWx1ZT1uLm1hcC50ZXh0dXJlLGQudW5pZm9ybXMucmVzb2x1dGlvbi52YWx1ZT1uLm1hcFNpemUsZC51bmlmb3Jtcy5yYWRpdXMudmFsdWU9bi5yYWRpdXMsdC5zZXRSZW5kZXJUYXJnZXQobi5tYXBQYXNzKSx0LmNsZWFyKCksdC5yZW5kZXJCdWZmZXJEaXJlY3QoaSxudWxsLHIsZCxtLG51bGwpLHAudW5pZm9ybXMuc2hhZG93X3Bhc3MudmFsdWU9bi5tYXBQYXNzLnRleHR1cmUscC51bmlmb3Jtcy5yZXNvbHV0aW9uLnZhbHVlPW4ubWFwU2l6ZSxwLnVuaWZvcm1zLnJhZGl1cy52YWx1ZT1uLnJhZGl1cyx0LnNldFJlbmRlclRhcmdldChuLm1hcCksdC5jbGVhcigpLHQucmVuZGVyQnVmZmVyRGlyZWN0KGksbnVsbCxyLHAsbSxudWxsKX1mdW5jdGlvbiB5KGUsbixpLHIsbyxhLHUpe2xldCBkPW51bGw7Y29uc3QgcD0hMD09PXIuaXNQb2ludExpZ2h0P2UuY3VzdG9tRGlzdGFuY2VNYXRlcmlhbDplLmN1c3RvbURlcHRoTWF0ZXJpYWw7aWYoZD12b2lkIDAhPT1wP3A6ITA9PT1yLmlzUG9pbnRMaWdodD9sOnMsdC5sb2NhbENsaXBwaW5nRW5hYmxlZCYmITA9PT1pLmNsaXBTaGFkb3dzJiYwIT09aS5jbGlwcGluZ1BsYW5lcy5sZW5ndGgpe2NvbnN0IHQ9ZC51dWlkLGU9aS51dWlkO2xldCBuPWNbdF07dm9pZCAwPT09biYmKG49e30sY1t0XT1uKTtsZXQgcj1uW2VdO3ZvaWQgMD09PXImJihyPWQuY2xvbmUoKSxuW2VdPXIpLGQ9cn1yZXR1cm4gZC52aXNpYmxlPWkudmlzaWJsZSxkLndpcmVmcmFtZT1pLndpcmVmcmFtZSxkLnNpZGU9Mz09PXU/bnVsbCE9PWkuc2hhZG93U2lkZT9pLnNoYWRvd1NpZGU6aS5zaWRlOm51bGwhPT1pLnNoYWRvd1NpZGU/aS5zaGFkb3dTaWRlOmhbaS5zaWRlXSxkLmNsaXBTaGFkb3dzPWkuY2xpcFNoYWRvd3MsZC5jbGlwcGluZ1BsYW5lcz1pLmNsaXBwaW5nUGxhbmVzLGQuY2xpcEludGVyc2VjdGlvbj1pLmNsaXBJbnRlcnNlY3Rpb24sZC53aXJlZnJhbWVMaW5ld2lkdGg9aS53aXJlZnJhbWVMaW5ld2lkdGgsZC5saW5ld2lkdGg9aS5saW5ld2lkdGgsITA9PT1yLmlzUG9pbnRMaWdodCYmITA9PT1kLmlzTWVzaERpc3RhbmNlTWF0ZXJpYWwmJihkLnJlZmVyZW5jZVBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihyLm1hdHJpeFdvcmxkKSxkLm5lYXJEaXN0YW5jZT1vLGQuZmFyRGlzdGFuY2U9YSksZH1mdW5jdGlvbiB2KG4scixvLGEscyl7aWYoITE9PT1uLnZpc2libGUpcmV0dXJuO2lmKG4ubGF5ZXJzLnRlc3Qoci5sYXllcnMpJiYobi5pc01lc2h8fG4uaXNMaW5lfHxuLmlzUG9pbnRzKSYmKG4uY2FzdFNoYWRvd3x8bi5yZWNlaXZlU2hhZG93JiYzPT09cykmJighbi5mcnVzdHVtQ3VsbGVkfHxpLmludGVyc2VjdHNPYmplY3QobikpKXtuLm1vZGVsVmlld01hdHJpeC5tdWx0aXBseU1hdHJpY2VzKG8ubWF0cml4V29ybGRJbnZlcnNlLG4ubWF0cml4V29ybGQpO2NvbnN0IGk9ZS51cGRhdGUobikscj1uLm1hdGVyaWFsO2lmKEFycmF5LmlzQXJyYXkocikpe2NvbnN0IGU9aS5ncm91cHM7Zm9yKGxldCBsPTAsYz1lLmxlbmd0aDtsPGM7bCsrKXtjb25zdCBjPWVbbF0sdT1yW2MubWF0ZXJpYWxJbmRleF07aWYodSYmdS52aXNpYmxlKXtjb25zdCBlPXkobiwwLHUsYSxvLm5lYXIsby5mYXIscyk7dC5yZW5kZXJCdWZmZXJEaXJlY3QobyxudWxsLGksZSxuLGMpfX19ZWxzZSBpZihyLnZpc2libGUpe2NvbnN0IGU9eShuLDAscixhLG8ubmVhcixvLmZhcixzKTt0LnJlbmRlckJ1ZmZlckRpcmVjdChvLG51bGwsaSxlLG4sbnVsbCl9fWNvbnN0IGw9bi5jaGlsZHJlbjtmb3IobGV0IHQ9MCxlPWwubGVuZ3RoO3Q8ZTt0KyspdihsW3RdLHIsbyxhLHMpfXRoaXMuZW5hYmxlZD0hMSx0aGlzLmF1dG9VcGRhdGU9ITAsdGhpcy5uZWVkc1VwZGF0ZT0hMSx0aGlzLnR5cGU9MSx0aGlzLnJlbmRlcj1mdW5jdGlvbihlLG4scyl7aWYoITE9PT1nLmVuYWJsZWQpcmV0dXJuO2lmKCExPT09Zy5hdXRvVXBkYXRlJiYhMT09PWcubmVlZHNVcGRhdGUpcmV0dXJuO2lmKDA9PT1lLmxlbmd0aClyZXR1cm47Y29uc3QgbD10LmdldFJlbmRlclRhcmdldCgpLGM9dC5nZXRBY3RpdmVDdWJlRmFjZSgpLGg9dC5nZXRBY3RpdmVNaXBtYXBMZXZlbCgpLGQ9dC5zdGF0ZTtkLnNldEJsZW5kaW5nKDApLGQuYnVmZmVycy5jb2xvci5zZXRDbGVhcigxLDEsMSwxKSxkLmJ1ZmZlcnMuZGVwdGguc2V0VGVzdCghMCksZC5zZXRTY2lzc29yVGVzdCghMSk7Zm9yKGxldCBsPTAsYz1lLmxlbmd0aDtsPGM7bCsrKXtjb25zdCBjPWVbbF0saD1jLnNoYWRvdztpZih2b2lkIDA9PT1oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMU2hhZG93TWFwOiIsYywiaGFzIG5vIHNoYWRvdy4iKTtjb250aW51ZX1pZighMT09PWguYXV0b1VwZGF0ZSYmITE9PT1oLm5lZWRzVXBkYXRlKWNvbnRpbnVlO3IuY29weShoLm1hcFNpemUpO2NvbnN0IHA9aC5nZXRGcmFtZUV4dGVudHMoKTtpZihyLm11bHRpcGx5KHApLG8uY29weShoLm1hcFNpemUpLChyLng+dXx8ci55PnUpJiYoci54PnUmJihvLng9TWF0aC5mbG9vcih1L3AueCksci54PW8ueCpwLngsaC5tYXBTaXplLng9by54KSxyLnk+dSYmKG8ueT1NYXRoLmZsb29yKHUvcC55KSxyLnk9by55KnAueSxoLm1hcFNpemUueT1vLnkpKSxudWxsPT09aC5tYXAmJiFoLmlzUG9pbnRMaWdodFNoYWRvdyYmMz09PXRoaXMudHlwZSl7Y29uc3QgdD17bWluRmlsdGVyOnAydCxtYWdGaWx0ZXI6cDJ0LGZvcm1hdDpTMnR9O2gubWFwPW5ldyBPNXQoci54LHIueSx0KSxoLm1hcC50ZXh0dXJlLm5hbWU9Yy5uYW1lKyIuc2hhZG93TWFwIixoLm1hcFBhc3M9bmV3IE81dChyLngsci55LHQpLGguY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX1pZihudWxsPT09aC5tYXApe2gubWFwPW5ldyBPNXQoci54LHIueSx7bWluRmlsdGVyOnUydCxtYWdGaWx0ZXI6dTJ0LGZvcm1hdDpTMnR9KSxoLm1hcC50ZXh0dXJlLm5hbWU9Yy5uYW1lKyIuc2hhZG93TWFwIixoLmNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9dC5zZXRSZW5kZXJUYXJnZXQoaC5tYXApLHQuY2xlYXIoKTtjb25zdCBmPWguZ2V0Vmlld3BvcnRDb3VudCgpO2ZvcihsZXQgdD0wO3Q8Zjt0Kyspe2NvbnN0IGU9aC5nZXRWaWV3cG9ydCh0KTthLnNldChvLngqZS54LG8ueSplLnksby54KmUueixvLnkqZS53KSxkLnZpZXdwb3J0KGEpLGgudXBkYXRlTWF0cmljZXMoYyx0KSxpPWguZ2V0RnJ1c3R1bSgpLHYobixzLGguY2FtZXJhLGMsdGhpcy50eXBlKX1oLmlzUG9pbnRMaWdodFNoYWRvd3x8MyE9PXRoaXMudHlwZXx8XyhoLHMpLGgubmVlZHNVcGRhdGU9ITF9Zy5uZWVkc1VwZGF0ZT0hMSx0LnNldFJlbmRlclRhcmdldChsLGMsaCl9fWZ1bmN0aW9uIEs4dCh0LGUsbil7Y29uc3QgaT1uLmlzV2ViR0wyO2NvbnN0IHI9bmV3KGZ1bmN0aW9uIG8oKXtsZXQgZT0hMTtjb25zdCBuPW5ldyBSNXQ7bGV0IGk9bnVsbDtjb25zdCByPW5ldyBSNXQoMCwwLDAsMCk7cmV0dXJue3NldE1hc2s6ZnVuY3Rpb24obil7aT09PW58fGV8fCh0LmNvbG9yTWFzayhuLG4sbixuKSxpPW4pfSxzZXRMb2NrZWQ6ZnVuY3Rpb24odCl7ZT10fSxzZXRDbGVhcjpmdW5jdGlvbihlLGksbyxhLHMpeyEwPT09cyYmKGUqPWEsaSo9YSxvKj1hKSxuLnNldChlLGksbyxhKSwhMT09PXIuZXF1YWxzKG4pJiYodC5jbGVhckNvbG9yKGUsaSxvLGEpLHIuY29weShuKSl9LHJlc2V0OmZ1bmN0aW9uKCl7ZT0hMSxpPW51bGwsci5zZXQoLTEsMCwwLDApfX19KSxhPW5ldyhmdW5jdGlvbiBzKCl7bGV0IGU9ITEsbj1udWxsLGk9bnVsbCxyPW51bGw7cmV0dXJue3NldFRlc3Q6ZnVuY3Rpb24odCl7dD9GKDI5MjkpOlYoMjkyOSl9LHNldE1hc2s6ZnVuY3Rpb24oaSl7bj09PWl8fGV8fCh0LmRlcHRoTWFzayhpKSxuPWkpfSxzZXRGdW5jOmZ1bmN0aW9uKGUpe2lmKGkhPT1lKXtpZihlKXN3aXRjaChlKXtjYXNlIDA6dC5kZXB0aEZ1bmMoNTEyKTticmVhaztjYXNlIDE6dC5kZXB0aEZ1bmMoNTE5KTticmVhaztjYXNlIDI6dC5kZXB0aEZ1bmMoNTEzKTticmVhaztjYXNlIDM6dC5kZXB0aEZ1bmMoNTE1KTticmVhaztjYXNlIDQ6dC5kZXB0aEZ1bmMoNTE0KTticmVhaztjYXNlIDU6dC5kZXB0aEZ1bmMoNTE4KTticmVhaztjYXNlIDY6dC5kZXB0aEZ1bmMoNTE2KTticmVhaztjYXNlIDc6dC5kZXB0aEZ1bmMoNTE3KTticmVhaztkZWZhdWx0OnQuZGVwdGhGdW5jKDUxNSl9ZWxzZSB0LmRlcHRoRnVuYyg1MTUpO2k9ZX19LHNldExvY2tlZDpmdW5jdGlvbih0KXtlPXR9LHNldENsZWFyOmZ1bmN0aW9uKGUpe3IhPT1lJiYodC5jbGVhckRlcHRoKGUpLHI9ZSl9LHJlc2V0OmZ1bmN0aW9uKCl7ZT0hMSxuPW51bGwsaT1udWxsLHI9bnVsbH19fSksbD1uZXcoZnVuY3Rpb24gYygpe2xldCBlPSExLG49bnVsbCxpPW51bGwscj1udWxsLG89bnVsbCxhPW51bGwscz1udWxsLGw9bnVsbCxjPW51bGw7cmV0dXJue3NldFRlc3Q6ZnVuY3Rpb24odCl7ZXx8KHQ/RigyOTYwKTpWKDI5NjApKX0sc2V0TWFzazpmdW5jdGlvbihpKXtuPT09aXx8ZXx8KHQuc3RlbmNpbE1hc2soaSksbj1pKX0sc2V0RnVuYzpmdW5jdGlvbihlLG4sYSl7aT09PWUmJnI9PT1uJiZvPT09YXx8KHQuc3RlbmNpbEZ1bmMoZSxuLGEpLGk9ZSxyPW4sbz1hKX0sc2V0T3A6ZnVuY3Rpb24oZSxuLGkpe2E9PT1lJiZzPT09biYmbD09PWl8fCh0LnN0ZW5jaWxPcChlLG4saSksYT1lLHM9bixsPWkpfSxzZXRMb2NrZWQ6ZnVuY3Rpb24odCl7ZT10fSxzZXRDbGVhcjpmdW5jdGlvbihlKXtjIT09ZSYmKHQuY2xlYXJTdGVuY2lsKGUpLGM9ZSl9LHJlc2V0OmZ1bmN0aW9uKCl7ZT0hMSxuPW51bGwsaT1udWxsLHI9bnVsbCxvPW51bGwsYT1udWxsLHM9bnVsbCxsPW51bGwsYz1udWxsfX19KTtsZXQgdT17fSxoPW51bGwsZD17fSxwPW51bGwsZj0hMSxtPW51bGwsZz1udWxsLF89bnVsbCx5PW51bGwsdj1udWxsLGI9bnVsbCx4PW51bGwsdz0hMSxTPW51bGwsTT1udWxsLEU9bnVsbCxUPW51bGwsQz1udWxsO2NvbnN0IEE9dC5nZXRQYXJhbWV0ZXIoMzU2NjEpO2xldCBrPSExLEw9MDtjb25zdCBQPXQuZ2V0UGFyYW1ldGVyKDc5MzgpOy0xIT09UC5pbmRleE9mKCJXZWJHTCIpPyhMPXBhcnNlRmxvYXQoL15XZWJHTCAoXGQpLy5leGVjKFApWzFdKSxrPUw+PTEpOi0xIT09UC5pbmRleE9mKCJPcGVuR0wgRVMiKSYmKEw9cGFyc2VGbG9hdCgvXk9wZW5HTCBFUyAoXGQpLy5leGVjKFApWzFdKSxrPUw+PTIpO2xldCBOPW51bGwsST17fTtjb25zdCBSPXQuZ2V0UGFyYW1ldGVyKDMwODgpLE89dC5nZXRQYXJhbWV0ZXIoMjk3OCksej0obmV3IFI1dCkuZnJvbUFycmF5KFIpLEQ9KG5ldyBSNXQpLmZyb21BcnJheShPKTtmdW5jdGlvbiBCKGUsbixpKXtjb25zdCByPW5ldyBVaW50OEFycmF5KDQpLG89dC5jcmVhdGVUZXh0dXJlKCk7dC5iaW5kVGV4dHVyZShlLG8pLHQudGV4UGFyYW1ldGVyaShlLDEwMjQxLDk3MjgpLHQudGV4UGFyYW1ldGVyaShlLDEwMjQwLDk3MjgpO2ZvcihsZXQgZT0wO2U8aTtlKyspdC50ZXhJbWFnZTJEKG4rZSwwLDY0MDgsMSwxLDAsNjQwOCw1MTIxLHIpO3JldHVybiBvfWNvbnN0IEg9e307ZnVuY3Rpb24gRihlKXshMCE9PXVbZV0mJih0LmVuYWJsZShlKSx1W2VdPSEwKX1mdW5jdGlvbiBWKGUpeyExIT09dVtlXSYmKHQuZGlzYWJsZShlKSx1W2VdPSExKX1IWzM1NTNdPUIoMzU1MywzNTUzLDEpLEhbMzQwNjddPUIoMzQwNjcsMzQwNjksNiksci5zZXRDbGVhcigwLDAsMCwxKSxhLnNldENsZWFyKDEpLGwuc2V0Q2xlYXIoMCksRigyOTI5KSxhLnNldEZ1bmMoMyksVyghMSkscSgxKSxGKDI4ODQpLEcoMCk7Y29uc3QgVT17W1EwdF06MzI3NzQsMTAxOjMyNzc4LDEwMjozMjc3OX07aWYoaSlVWzEwM109MzI3NzUsVVsxMDRdPTMyNzc2O2Vsc2V7Y29uc3QgdD1lLmdldCgiRVhUX2JsZW5kX21pbm1heCIpO251bGwhPT10JiYoVVsxMDNdPXQuTUlOX0VYVCxVWzEwNF09dC5NQVhfRVhUKX1jb25zdCBqPXsyMDA6MCwyMDE6MSwyMDI6NzY4LDIwNDo3NzAsMjEwOjc3NiwyMDg6Nzc0LDIwNjo3NzIsMjAzOjc2OSwyMDU6NzcxLDIwOTo3NzUsMjA3Ojc3M307ZnVuY3Rpb24gRyhlLG4saSxyLG8sYSxzLGwpe2lmKDAhPT1lKXtpZighMT09PWYmJihGKDMwNDIpLGY9ITApLDU9PT1lKW89b3x8bixhPWF8fGkscz1zfHxyLG49PT1nJiZvPT09dnx8KHQuYmxlbmRFcXVhdGlvblNlcGFyYXRlKFVbbl0sVVtvXSksZz1uLHY9byksaT09PV8mJnI9PT15JiZhPT09YiYmcz09PXh8fCh0LmJsZW5kRnVuY1NlcGFyYXRlKGpbaV0saltyXSxqW2FdLGpbc10pLF89aSx5PXIsYj1hLHg9cyksbT1lLHc9bnVsbDtlbHNlIGlmKGUhPT1tfHxsIT09dyl7aWYoZz09PVEwdCYmdj09PVEwdHx8KHQuYmxlbmRFcXVhdGlvbigzMjc3NCksZz1RMHQsdj1RMHQpLGwpc3dpdGNoKGUpe2Nhc2UgMTp0LmJsZW5kRnVuY1NlcGFyYXRlKDEsNzcxLDEsNzcxKTticmVhaztjYXNlIDI6dC5ibGVuZEZ1bmMoMSwxKTticmVhaztjYXNlIDM6dC5ibGVuZEZ1bmNTZXBhcmF0ZSgwLDAsNzY5LDc3MSk7YnJlYWs7Y2FzZSA0OnQuYmxlbmRGdW5jU2VwYXJhdGUoMCw3NjgsMCw3NzApO2JyZWFrO2RlZmF1bHQ6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xTdGF0ZTogSW52YWxpZCBibGVuZGluZzogIixlKX1lbHNlIHN3aXRjaChlKXtjYXNlIDE6dC5ibGVuZEZ1bmNTZXBhcmF0ZSg3NzAsNzcxLDEsNzcxKTticmVhaztjYXNlIDI6dC5ibGVuZEZ1bmMoNzcwLDEpO2JyZWFrO2Nhc2UgMzp0LmJsZW5kRnVuYygwLDc2OSk7YnJlYWs7Y2FzZSA0OnQuYmxlbmRGdW5jKDAsNzY4KTticmVhaztkZWZhdWx0OmNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMU3RhdGU6IEludmFsaWQgYmxlbmRpbmc6ICIsZSl9Xz1udWxsLHk9bnVsbCxiPW51bGwseD1udWxsLG09ZSx3PWx9fWVsc2UhMD09PWYmJihWKDMwNDIpLGY9ITEpfWZ1bmN0aW9uIFcoZSl7UyE9PWUmJih0LmZyb250RmFjZShlPzIzMDQ6MjMwNSksUz1lKX1mdW5jdGlvbiBxKGUpezAhPT1lPyhGKDI4ODQpLGUhPT1NJiZ0LmN1bGxGYWNlKDE9PT1lPzEwMjk6Mj09PWU/MTAyODoxMDMyKSk6VigyODg0KSxNPWV9ZnVuY3Rpb24gWShlLG4saSl7ZT8oRigzMjgyMyksVD09PW4mJkM9PT1pfHwodC5wb2x5Z29uT2Zmc2V0KG4saSksVD1uLEM9aSkpOlYoMzI4MjMpfWZ1bmN0aW9uIFgoZSl7dm9pZCAwPT09ZSYmKGU9MzM5ODQrQS0xKSxOIT09ZSYmKHQuYWN0aXZlVGV4dHVyZShlKSxOPWUpfXJldHVybntidWZmZXJzOntjb2xvcjpyLGRlcHRoOmEsc3RlbmNpbDpsfSxlbmFibGU6RixkaXNhYmxlOlYsYmluZEZyYW1lYnVmZmVyOmZ1bmN0aW9uICQoZSxuKXtyZXR1cm4gbnVsbD09PW4mJm51bGwhPT1oJiYobj1oKSxkW2VdIT09biYmKHQuYmluZEZyYW1lYnVmZmVyKGUsbiksZFtlXT1uLGkmJigzNjAwOT09PWUmJihkWzM2MTYwXT1uKSwzNjE2MD09PWUmJihkWzM2MDA5XT1uKSksITApfSxiaW5kWFJGcmFtZWJ1ZmZlcjpmdW5jdGlvbiBLKGUpe2UhPT1oJiYodC5iaW5kRnJhbWVidWZmZXIoMzYxNjAsZSksaD1lKX0sdXNlUHJvZ3JhbTpmdW5jdGlvbiBaKGUpe3JldHVybiBwIT09ZSYmKHQudXNlUHJvZ3JhbShlKSxwPWUsITApfSxzZXRCbGVuZGluZzpHLHNldE1hdGVyaWFsOmZ1bmN0aW9uIEoodCxlKXsyPT09dC5zaWRlP1YoMjg4NCk6RigyODg0KTtsZXQgbj0xPT09dC5zaWRlO2UmJihuPSFuKSxXKG4pLDE9PT10LmJsZW5kaW5nJiYhMT09PXQudHJhbnNwYXJlbnQ/RygwKTpHKHQuYmxlbmRpbmcsdC5ibGVuZEVxdWF0aW9uLHQuYmxlbmRTcmMsdC5ibGVuZERzdCx0LmJsZW5kRXF1YXRpb25BbHBoYSx0LmJsZW5kU3JjQWxwaGEsdC5ibGVuZERzdEFscGhhLHQucHJlbXVsdGlwbGllZEFscGhhKSxhLnNldEZ1bmModC5kZXB0aEZ1bmMpLGEuc2V0VGVzdCh0LmRlcHRoVGVzdCksYS5zZXRNYXNrKHQuZGVwdGhXcml0ZSksci5zZXRNYXNrKHQuY29sb3JXcml0ZSk7Y29uc3QgaT10LnN0ZW5jaWxXcml0ZTtsLnNldFRlc3QoaSksaSYmKGwuc2V0TWFzayh0LnN0ZW5jaWxXcml0ZU1hc2spLGwuc2V0RnVuYyh0LnN0ZW5jaWxGdW5jLHQuc3RlbmNpbFJlZix0LnN0ZW5jaWxGdW5jTWFzayksbC5zZXRPcCh0LnN0ZW5jaWxGYWlsLHQuc3RlbmNpbFpGYWlsLHQuc3RlbmNpbFpQYXNzKSksWSh0LnBvbHlnb25PZmZzZXQsdC5wb2x5Z29uT2Zmc2V0RmFjdG9yLHQucG9seWdvbk9mZnNldFVuaXRzKSwhMD09PXQuYWxwaGFUb0NvdmVyYWdlP0YoMzI5MjYpOlYoMzI5MjYpfSxzZXRGbGlwU2lkZWQ6VyxzZXRDdWxsRmFjZTpxLHNldExpbmVXaWR0aDpmdW5jdGlvbiBRKGUpe2UhPT1FJiYoayYmdC5saW5lV2lkdGgoZSksRT1lKX0sc2V0UG9seWdvbk9mZnNldDpZLHNldFNjaXNzb3JUZXN0OmZ1bmN0aW9uIHR0KHQpe3Q/RigzMDg5KTpWKDMwODkpfSxhY3RpdmVUZXh0dXJlOlgsYmluZFRleHR1cmU6ZnVuY3Rpb24gZXQoZSxuKXtudWxsPT09TiYmWCgpO2xldCBpPUlbTl07dm9pZCAwPT09aSYmKGk9e3R5cGU6dm9pZCAwLHRleHR1cmU6dm9pZCAwfSxJW05dPWkpLGkudHlwZT09PWUmJmkudGV4dHVyZT09PW58fCh0LmJpbmRUZXh0dXJlKGUsbnx8SFtlXSksaS50eXBlPWUsaS50ZXh0dXJlPW4pfSx1bmJpbmRUZXh0dXJlOmZ1bmN0aW9uIG50KCl7Y29uc3QgZT1JW05dO3ZvaWQgMCE9PWUmJnZvaWQgMCE9PWUudHlwZSYmKHQuYmluZFRleHR1cmUoZS50eXBlLG51bGwpLGUudHlwZT12b2lkIDAsZS50ZXh0dXJlPXZvaWQgMCl9LGNvbXByZXNzZWRUZXhJbWFnZTJEOmZ1bmN0aW9uIGl0KCl7dHJ5e3QuY29tcHJlc3NlZFRleEltYWdlMkQuYXBwbHkodCxhcmd1bWVudHMpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMU3RhdGU6Iix0KX19LHRleEltYWdlMkQ6ZnVuY3Rpb24gcnQoKXt0cnl7dC50ZXhJbWFnZTJELmFwcGx5KHQsYXJndW1lbnRzKX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFN0YXRlOiIsdCl9fSx0ZXhJbWFnZTNEOmZ1bmN0aW9uIG90KCl7dHJ5e3QudGV4SW1hZ2UzRC5hcHBseSh0LGFyZ3VtZW50cyl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xTdGF0ZToiLHQpfX0sc2Npc3NvcjpmdW5jdGlvbiBhdChlKXshMT09PXouZXF1YWxzKGUpJiYodC5zY2lzc29yKGUueCxlLnksZS56LGUudyksei5jb3B5KGUpKX0sdmlld3BvcnQ6ZnVuY3Rpb24gc3QoZSl7ITE9PT1ELmVxdWFscyhlKSYmKHQudmlld3BvcnQoZS54LGUueSxlLnosZS53KSxELmNvcHkoZSkpfSxyZXNldDpmdW5jdGlvbiBsdCgpe3QuZGlzYWJsZSgzMDQyKSx0LmRpc2FibGUoMjg4NCksdC5kaXNhYmxlKDI5MjkpLHQuZGlzYWJsZSgzMjgyMyksdC5kaXNhYmxlKDMwODkpLHQuZGlzYWJsZSgyOTYwKSx0LmRpc2FibGUoMzI5MjYpLHQuYmxlbmRFcXVhdGlvbigzMjc3NCksdC5ibGVuZEZ1bmMoMSwwKSx0LmJsZW5kRnVuY1NlcGFyYXRlKDEsMCwxLDApLHQuY29sb3JNYXNrKCEwLCEwLCEwLCEwKSx0LmNsZWFyQ29sb3IoMCwwLDAsMCksdC5kZXB0aE1hc2soITApLHQuZGVwdGhGdW5jKDUxMyksdC5jbGVhckRlcHRoKDEpLHQuc3RlbmNpbE1hc2soNDI5NDk2NzI5NSksdC5zdGVuY2lsRnVuYyg1MTksMCw0Mjk0OTY3Mjk1KSx0LnN0ZW5jaWxPcCg3NjgwLDc2ODAsNzY4MCksdC5jbGVhclN0ZW5jaWwoMCksdC5jdWxsRmFjZSgxMDI5KSx0LmZyb250RmFjZSgyMzA1KSx0LnBvbHlnb25PZmZzZXQoMCwwKSx0LmFjdGl2ZVRleHR1cmUoMzM5ODQpLHQuYmluZEZyYW1lYnVmZmVyKDM2MTYwLG51bGwpLCEwPT09aSYmKHQuYmluZEZyYW1lYnVmZmVyKDM2MDA5LG51bGwpLHQuYmluZEZyYW1lYnVmZmVyKDM2MDA4LG51bGwpKSx0LnVzZVByb2dyYW0obnVsbCksdC5saW5lV2lkdGgoMSksdC5zY2lzc29yKDAsMCx0LmNhbnZhcy53aWR0aCx0LmNhbnZhcy5oZWlnaHQpLHQudmlld3BvcnQoMCwwLHQuY2FudmFzLndpZHRoLHQuY2FudmFzLmhlaWdodCksdT17fSxOPW51bGwsST17fSxoPW51bGwsZD17fSxwPW51bGwsZj0hMSxtPW51bGwsZz1udWxsLF89bnVsbCx5PW51bGwsdj1udWxsLGI9bnVsbCx4PW51bGwsdz0hMSxTPW51bGwsTT1udWxsLEU9bnVsbCxUPW51bGwsQz1udWxsLHouc2V0KDAsMCx0LmNhbnZhcy53aWR0aCx0LmNhbnZhcy5oZWlnaHQpLEQuc2V0KDAsMCx0LmNhbnZhcy53aWR0aCx0LmNhbnZhcy5oZWlnaHQpLHIucmVzZXQoKSxhLnJlc2V0KCksbC5yZXNldCgpfX19ZnVuY3Rpb24gWjh0KHQsZSxuLGkscixvLGEpe2NvbnN0IHM9ci5pc1dlYkdMMixsPXIubWF4VGV4dHVyZXMsYz1yLm1heEN1YmVtYXBTaXplLHU9ci5tYXhUZXh0dXJlU2l6ZSxoPXIubWF4U2FtcGxlcyxkPW5ldyBXZWFrTWFwO2xldCBwLGY9ITE7dHJ5e2Y9InVuZGVmaW5lZCIhPXR5cGVvZiBPZmZzY3JlZW5DYW52YXMmJm51bGwhPT1uZXcgT2Zmc2NyZWVuQ2FudmFzKDEsMSkuZ2V0Q29udGV4dCgiMmQiKX1jYXRjaCh0KXt9ZnVuY3Rpb24gbSh0LGUpe3JldHVybiBmP25ldyBPZmZzY3JlZW5DYW52YXModCxlKTpkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKX1mdW5jdGlvbiBnKHQsZSxuLGkpe2xldCByPTE7aWYoKHQud2lkdGg+aXx8dC5oZWlnaHQ+aSkmJihyPWkvTWF0aC5tYXgodC53aWR0aCx0LmhlaWdodCkpLHI8MXx8ITA9PT1lKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEhUTUxJbWFnZUVsZW1lbnQmJnQgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50fHwidW5kZWZpbmVkIiE9dHlwZW9mIEhUTUxDYW52YXNFbGVtZW50JiZ0IGluc3RhbmNlb2YgSFRNTENhbnZhc0VsZW1lbnR8fCJ1bmRlZmluZWQiIT10eXBlb2YgSW1hZ2VCaXRtYXAmJnQgaW5zdGFuY2VvZiBJbWFnZUJpdG1hcCl7Y29uc3QgaT1lP2Q1dDpNYXRoLmZsb29yLG89aShyKnQud2lkdGgpLGE9aShyKnQuaGVpZ2h0KTt2b2lkIDA9PT1wJiYocD1tKG8sYSkpO2NvbnN0IHM9bj9tKG8sYSk6cDtzLndpZHRoPW8scy5oZWlnaHQ9YTtyZXR1cm4gcy5nZXRDb250ZXh0KCIyZCIpLmRyYXdJbWFnZSh0LDAsMCxvLGEpLGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVGV4dHVyZSBoYXMgYmVlbiByZXNpemVkIGZyb20gKCIrdC53aWR0aCsieCIrdC5oZWlnaHQrIikgdG8gKCIrbysieCIrYSsiKS4iKSxzfXJldHVybiJkYXRhImluIHQmJmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogSW1hZ2UgaW4gRGF0YVRleHR1cmUgaXMgdG9vIGJpZyAoIit0LndpZHRoKyJ4Iit0LmhlaWdodCsiKS4iKSx0fXJldHVybiB0fWZ1bmN0aW9uIF8odCl7cmV0dXJuIHU1dCh0LndpZHRoKSYmdTV0KHQuaGVpZ2h0KX1mdW5jdGlvbiB5KHQsZSl7cmV0dXJuIHQuZ2VuZXJhdGVNaXBtYXBzJiZlJiZ0Lm1pbkZpbHRlciE9PXUydCYmdC5taW5GaWx0ZXIhPT1wMnR9ZnVuY3Rpb24gdihlLG4scixvLGE9MSl7dC5nZW5lcmF0ZU1pcG1hcChlKTtpLmdldChuKS5fX21heE1pcExldmVsPU1hdGgubG9nMihNYXRoLm1heChyLG8sYSkpfWZ1bmN0aW9uIGIobixpLHIpe2lmKCExPT09cylyZXR1cm4gaTtpZihudWxsIT09bil7aWYodm9pZCAwIT09dFtuXSlyZXR1cm4gdFtuXTtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IEF0dGVtcHQgdG8gdXNlIG5vbi1leGlzdGluZyBXZWJHTCBpbnRlcm5hbCBmb3JtYXQgJyIrbisiJyIpfWxldCBvPWk7cmV0dXJuIDY0MDM9PT1pJiYoNTEyNj09PXImJihvPTMzMzI2KSw1MTMxPT09ciYmKG89MzMzMjUpLDUxMjE9PT1yJiYobz0zMzMyMSkpLDY0MDc9PT1pJiYoNTEyNj09PXImJihvPTM0ODM3KSw1MTMxPT09ciYmKG89MzQ4NDMpLDUxMjE9PT1yJiYobz0zMjg0OSkpLDY0MDg9PT1pJiYoNTEyNj09PXImJihvPTM0ODM2KSw1MTMxPT09ciYmKG89MzQ4NDIpLDUxMjE9PT1yJiYobz0zMjg1NikpLDMzMzI1IT09byYmMzMzMjYhPT1vJiYzNDg0MiE9PW8mJjM0ODM2IT09b3x8ZS5nZXQoIkVYVF9jb2xvcl9idWZmZXJfZmxvYXQiKSxvfWZ1bmN0aW9uIHgodCl7cmV0dXJuIHQ9PT11MnR8fHQ9PT1oMnR8fHQ9PT1kMnQ/OTcyODo5NzI5fWZ1bmN0aW9uIHcoZSl7Y29uc3Qgbj1lLnRhcmdldDtuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHcpLChmdW5jdGlvbiByKGUpe2NvbnN0IG49aS5nZXQoZSk7aWYodm9pZCAwPT09bi5fX3dlYmdsSW5pdClyZXR1cm47dC5kZWxldGVUZXh0dXJlKG4uX193ZWJnbFRleHR1cmUpLGkucmVtb3ZlKGUpfSkobiksbi5pc1ZpZGVvVGV4dHVyZSYmZC5kZWxldGUobiksYS5tZW1vcnkudGV4dHVyZXMtLX1mdW5jdGlvbiBTKGUpe2NvbnN0IG49ZS50YXJnZXQ7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixTKSwoZnVuY3Rpb24gcihlKXtjb25zdCBuPWUudGV4dHVyZSxyPWkuZ2V0KGUpLG89aS5nZXQobik7aWYoIWUpcmV0dXJuO3ZvaWQgMCE9PW8uX193ZWJnbFRleHR1cmUmJih0LmRlbGV0ZVRleHR1cmUoby5fX3dlYmdsVGV4dHVyZSksYS5tZW1vcnkudGV4dHVyZXMtLSk7ZS5kZXB0aFRleHR1cmUmJmUuZGVwdGhUZXh0dXJlLmRpc3Bvc2UoKTtpZihlLmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0KWZvcihsZXQgZT0wO2U8NjtlKyspdC5kZWxldGVGcmFtZWJ1ZmZlcihyLl9fd2ViZ2xGcmFtZWJ1ZmZlcltlXSksci5fX3dlYmdsRGVwdGhidWZmZXImJnQuZGVsZXRlUmVuZGVyYnVmZmVyKHIuX193ZWJnbERlcHRoYnVmZmVyW2VdKTtlbHNlIHQuZGVsZXRlRnJhbWVidWZmZXIoci5fX3dlYmdsRnJhbWVidWZmZXIpLHIuX193ZWJnbERlcHRoYnVmZmVyJiZ0LmRlbGV0ZVJlbmRlcmJ1ZmZlcihyLl9fd2ViZ2xEZXB0aGJ1ZmZlciksci5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXImJnQuZGVsZXRlRnJhbWVidWZmZXIoci5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXIpLHIuX193ZWJnbENvbG9yUmVuZGVyYnVmZmVyJiZ0LmRlbGV0ZVJlbmRlcmJ1ZmZlcihyLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlciksci5fX3dlYmdsRGVwdGhSZW5kZXJidWZmZXImJnQuZGVsZXRlUmVuZGVyYnVmZmVyKHIuX193ZWJnbERlcHRoUmVuZGVyYnVmZmVyKTtpZihlLmlzV2ViR0xNdWx0aXBsZVJlbmRlclRhcmdldHMpZm9yKGxldCBlPTAscj1uLmxlbmd0aDtlPHI7ZSsrKXtjb25zdCByPWkuZ2V0KG5bZV0pO3IuX193ZWJnbFRleHR1cmUmJih0LmRlbGV0ZVRleHR1cmUoci5fX3dlYmdsVGV4dHVyZSksYS5tZW1vcnkudGV4dHVyZXMtLSksaS5yZW1vdmUobltlXSl9aS5yZW1vdmUobiksaS5yZW1vdmUoZSl9KShuKX1sZXQgTT0wO2Z1bmN0aW9uIEUodCxlKXtjb25zdCByPWkuZ2V0KHQpO2lmKHQuaXNWaWRlb1RleHR1cmUmJihmdW5jdGlvbiBvKHQpe2NvbnN0IGU9YS5yZW5kZXIuZnJhbWU7ZC5nZXQodCkhPT1lJiYoZC5zZXQodCxlKSx0LnVwZGF0ZSgpKX0pKHQpLHQudmVyc2lvbj4wJiZyLl9fdmVyc2lvbiE9PXQudmVyc2lvbil7Y29uc3Qgbj10LmltYWdlO2lmKHZvaWQgMD09PW4pY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBUZXh0dXJlIG1hcmtlZCBmb3IgdXBkYXRlIGJ1dCBpbWFnZSBpcyB1bmRlZmluZWQiKTtlbHNle2lmKCExIT09bi5jb21wbGV0ZSlyZXR1cm4gdm9pZCBQKHIsdCxlKTtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgbWFya2VkIGZvciB1cGRhdGUgYnV0IGltYWdlIGlzIGluY29tcGxldGUiKX19bi5hY3RpdmVUZXh0dXJlKDMzOTg0K2UpLG4uYmluZFRleHR1cmUoMzU1MyxyLl9fd2ViZ2xUZXh0dXJlKX1mdW5jdGlvbiBUKGUscil7Y29uc3QgYT1pLmdldChlKTtlLnZlcnNpb24+MCYmYS5fX3ZlcnNpb24hPT1lLnZlcnNpb24/KGZ1bmN0aW9uIGwoZSxpLHIpe2lmKDYhPT1pLmltYWdlLmxlbmd0aClyZXR1cm47TChlLGkpLG4uYWN0aXZlVGV4dHVyZSgzMzk4NCtyKSxuLmJpbmRUZXh0dXJlKDM0MDY3LGUuX193ZWJnbFRleHR1cmUpLHQucGl4ZWxTdG9yZWkoMzc0NDAsaS5mbGlwWSksdC5waXhlbFN0b3JlaSgzNzQ0MSxpLnByZW11bHRpcGx5QWxwaGEpLHQucGl4ZWxTdG9yZWkoMzMxNyxpLnVucGFja0FsaWdubWVudCksdC5waXhlbFN0b3JlaSgzNzQ0MywwKTtjb25zdCBhPWkmJihpLmlzQ29tcHJlc3NlZFRleHR1cmV8fGkuaW1hZ2VbMF0uaXNDb21wcmVzc2VkVGV4dHVyZSksbD1pLmltYWdlWzBdJiZpLmltYWdlWzBdLmlzRGF0YVRleHR1cmUsdT1bXTtmb3IobGV0IHQ9MDt0PDY7dCsrKXVbdF09YXx8bD9sP2kuaW1hZ2VbdF0uaW1hZ2U6aS5pbWFnZVt0XTpnKGkuaW1hZ2VbdF0sITEsITAsYyk7Y29uc3QgaD11WzBdLGQ9XyhoKXx8cyxwPW8uY29udmVydChpLmZvcm1hdCksZj1vLmNvbnZlcnQoaS50eXBlKSxtPWIoaS5pbnRlcm5hbEZvcm1hdCxwLGYpO2xldCB4O2lmKGsoMzQwNjcsaSxkKSxhKXtmb3IobGV0IHQ9MDt0PDY7dCsrKXt4PXVbdF0ubWlwbWFwcztmb3IobGV0IGU9MDtlPHgubGVuZ3RoO2UrKyl7Y29uc3Qgcj14W2VdO2kuZm9ybWF0IT09UzJ0JiZpLmZvcm1hdCE9PXcydD9udWxsIT09cD9uLmNvbXByZXNzZWRUZXhJbWFnZTJEKDM0MDY5K3QsZSxtLHIud2lkdGgsci5oZWlnaHQsMCxyLmRhdGEpOmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogQXR0ZW1wdCB0byBsb2FkIHVuc3VwcG9ydGVkIGNvbXByZXNzZWQgdGV4dHVyZSBmb3JtYXQgaW4gLnNldFRleHR1cmVDdWJlKCkiKTpuLnRleEltYWdlMkQoMzQwNjkrdCxlLG0sci53aWR0aCxyLmhlaWdodCwwLHAsZixyLmRhdGEpfX1lLl9fbWF4TWlwTGV2ZWw9eC5sZW5ndGgtMX1lbHNle3g9aS5taXBtYXBzO2ZvcihsZXQgdD0wO3Q8Njt0KyspaWYobCl7bi50ZXhJbWFnZTJEKDM0MDY5K3QsMCxtLHVbdF0ud2lkdGgsdVt0XS5oZWlnaHQsMCxwLGYsdVt0XS5kYXRhKTtmb3IobGV0IGU9MDtlPHgubGVuZ3RoO2UrKyl7Y29uc3QgaT14W2VdLmltYWdlW3RdLmltYWdlO24udGV4SW1hZ2UyRCgzNDA2OSt0LGUrMSxtLGkud2lkdGgsaS5oZWlnaHQsMCxwLGYsaS5kYXRhKX19ZWxzZXtuLnRleEltYWdlMkQoMzQwNjkrdCwwLG0scCxmLHVbdF0pO2ZvcihsZXQgZT0wO2U8eC5sZW5ndGg7ZSsrKXtuLnRleEltYWdlMkQoMzQwNjkrdCxlKzEsbSxwLGYseFtlXS5pbWFnZVt0XSl9fWUuX19tYXhNaXBMZXZlbD14Lmxlbmd0aH15KGksZCkmJnYoMzQwNjcsaSxoLndpZHRoLGguaGVpZ2h0KTtlLl9fdmVyc2lvbj1pLnZlcnNpb24saS5vblVwZGF0ZSYmaS5vblVwZGF0ZShpKX0pKGEsZSxyKToobi5hY3RpdmVUZXh0dXJlKDMzOTg0K3IpLG4uYmluZFRleHR1cmUoMzQwNjcsYS5fX3dlYmdsVGV4dHVyZSkpfWNvbnN0IEM9e1tzMnRdOjEwNDk3LFtsMnRdOjMzMDcxLFtjMnRdOjMzNjQ4fSxBPXtbdTJ0XTo5NzI4LFtoMnRdOjk5ODQsW2QydF06OTk4NixbcDJ0XTo5NzI5LFtmMnRdOjk5ODUsW20ydF06OTk4N307ZnVuY3Rpb24gayhuLG8sYSl7aWYoYT8odC50ZXhQYXJhbWV0ZXJpKG4sMTAyNDIsQ1tvLndyYXBTXSksdC50ZXhQYXJhbWV0ZXJpKG4sMTAyNDMsQ1tvLndyYXBUXSksMzI4NzkhPT1uJiYzNTg2NiE9PW58fHQudGV4UGFyYW1ldGVyaShuLDMyODgyLENbby53cmFwUl0pLHQudGV4UGFyYW1ldGVyaShuLDEwMjQwLEFbby5tYWdGaWx0ZXJdKSx0LnRleFBhcmFtZXRlcmkobiwxMDI0MSxBW28ubWluRmlsdGVyXSkpOih0LnRleFBhcmFtZXRlcmkobiwxMDI0MiwzMzA3MSksdC50ZXhQYXJhbWV0ZXJpKG4sMTAyNDMsMzMwNzEpLDMyODc5IT09biYmMzU4NjYhPT1ufHx0LnRleFBhcmFtZXRlcmkobiwzMjg4MiwzMzA3MSksby53cmFwUz09PWwydCYmby53cmFwVD09PWwydHx8Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBUZXh0dXJlIGlzIG5vdCBwb3dlciBvZiB0d28uIFRleHR1cmUud3JhcFMgYW5kIFRleHR1cmUud3JhcFQgc2hvdWxkIGJlIHNldCB0byBUSFJFRS5DbGFtcFRvRWRnZVdyYXBwaW5nLiIpLHQudGV4UGFyYW1ldGVyaShuLDEwMjQwLHgoby5tYWdGaWx0ZXIpKSx0LnRleFBhcmFtZXRlcmkobiwxMDI0MSx4KG8ubWluRmlsdGVyKSksby5taW5GaWx0ZXIhPT11MnQmJm8ubWluRmlsdGVyIT09cDJ0JiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgaXMgbm90IHBvd2VyIG9mIHR3by4gVGV4dHVyZS5taW5GaWx0ZXIgc2hvdWxkIGJlIHNldCB0byBUSFJFRS5OZWFyZXN0RmlsdGVyIG9yIFRIUkVFLkxpbmVhckZpbHRlci4iKSksITA9PT1lLmhhcygiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIikpe2NvbnN0IGE9ZS5nZXQoIkVYVF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyIpO2lmKG8udHlwZT09PXYydCYmITE9PT1lLmhhcygiT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIikpcmV0dXJuO2lmKCExPT09cyYmby50eXBlPT09YjJ0JiYhMT09PWUuaGFzKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xpbmVhciIpKXJldHVybjsoby5hbmlzb3Ryb3B5PjF8fGkuZ2V0KG8pLl9fY3VycmVudEFuaXNvdHJvcHkpJiYodC50ZXhQYXJhbWV0ZXJmKG4sYS5URVhUVVJFX01BWF9BTklTT1RST1BZX0VYVCxNYXRoLm1pbihvLmFuaXNvdHJvcHksci5nZXRNYXhBbmlzb3Ryb3B5KCkpKSxpLmdldChvKS5fX2N1cnJlbnRBbmlzb3Ryb3B5PW8uYW5pc290cm9weSl9fWZ1bmN0aW9uIEwoZSxuKXt2b2lkIDA9PT1lLl9fd2ViZ2xJbml0JiYoZS5fX3dlYmdsSW5pdD0hMCxuLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHcpLGUuX193ZWJnbFRleHR1cmU9dC5jcmVhdGVUZXh0dXJlKCksYS5tZW1vcnkudGV4dHVyZXMrKyl9ZnVuY3Rpb24gUChlLGkscil7bGV0IGE9MzU1MztpLmlzRGF0YVRleHR1cmUyREFycmF5JiYoYT0zNTg2NiksaS5pc0RhdGFUZXh0dXJlM0QmJihhPTMyODc5KSxMKGUsaSksbi5hY3RpdmVUZXh0dXJlKDMzOTg0K3IpLG4uYmluZFRleHR1cmUoYSxlLl9fd2ViZ2xUZXh0dXJlKSx0LnBpeGVsU3RvcmVpKDM3NDQwLGkuZmxpcFkpLHQucGl4ZWxTdG9yZWkoMzc0NDEsaS5wcmVtdWx0aXBseUFscGhhKSx0LnBpeGVsU3RvcmVpKDMzMTcsaS51bnBhY2tBbGlnbm1lbnQpLHQucGl4ZWxTdG9yZWkoMzc0NDMsMCk7Y29uc3QgbD0oZnVuY3Rpb24gYyh0KXtyZXR1cm4hcyYmKHQud3JhcFMhPT1sMnR8fHQud3JhcFQhPT1sMnR8fHQubWluRmlsdGVyIT09dTJ0JiZ0Lm1pbkZpbHRlciE9PXAydCl9KShpKSYmITE9PT1fKGkuaW1hZ2UpLGg9ZyhpLmltYWdlLGwsITEsdSksZD1fKGgpfHxzLHA9by5jb252ZXJ0KGkuZm9ybWF0KTtsZXQgZixtPW8uY29udmVydChpLnR5cGUpLHg9YihpLmludGVybmFsRm9ybWF0LHAsbSk7ayhhLGksZCk7Y29uc3Qgdz1pLm1pcG1hcHM7aWYoaS5pc0RlcHRoVGV4dHVyZSl4PTY0MDIscz94PWkudHlwZT09PXYydD8zNjAxMjppLnR5cGU9PT15MnQ/MzMxOTA6aS50eXBlPT09eDJ0PzM1MDU2OjMzMTg5OmkudHlwZT09PXYydCYmY29uc29sZS5lcnJvcigiV2ViR0xSZW5kZXJlcjogRmxvYXRpbmcgcG9pbnQgZGVwdGggdGV4dHVyZSByZXF1aXJlcyBXZWJHTDIuIiksaS5mb3JtYXQ9PT1NMnQmJjY0MDI9PT14JiZpLnR5cGUhPT1fMnQmJmkudHlwZSE9PXkydCYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVXNlIFVuc2lnbmVkU2hvcnRUeXBlIG9yIFVuc2lnbmVkSW50VHlwZSBmb3IgRGVwdGhGb3JtYXQgRGVwdGhUZXh0dXJlLiIpLGkudHlwZT1fMnQsbT1vLmNvbnZlcnQoaS50eXBlKSksaS5mb3JtYXQ9PT1FMnQmJjY0MDI9PT14JiYoeD0zNDA0MSxpLnR5cGUhPT14MnQmJihjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFVzZSBVbnNpZ25lZEludDI0OFR5cGUgZm9yIERlcHRoU3RlbmNpbEZvcm1hdCBEZXB0aFRleHR1cmUuIiksaS50eXBlPXgydCxtPW8uY29udmVydChpLnR5cGUpKSksbi50ZXhJbWFnZTJEKDM1NTMsMCx4LGgud2lkdGgsaC5oZWlnaHQsMCxwLG0sbnVsbCk7ZWxzZSBpZihpLmlzRGF0YVRleHR1cmUpaWYody5sZW5ndGg+MCYmZCl7Zm9yKGxldCB0PTAsZT13Lmxlbmd0aDt0PGU7dCsrKWY9d1t0XSxuLnRleEltYWdlMkQoMzU1Myx0LHgsZi53aWR0aCxmLmhlaWdodCwwLHAsbSxmLmRhdGEpO2kuZ2VuZXJhdGVNaXBtYXBzPSExLGUuX19tYXhNaXBMZXZlbD13Lmxlbmd0aC0xfWVsc2Ugbi50ZXhJbWFnZTJEKDM1NTMsMCx4LGgud2lkdGgsaC5oZWlnaHQsMCxwLG0saC5kYXRhKSxlLl9fbWF4TWlwTGV2ZWw9MDtlbHNlIGlmKGkuaXNDb21wcmVzc2VkVGV4dHVyZSl7Zm9yKGxldCB0PTAsZT13Lmxlbmd0aDt0PGU7dCsrKWY9d1t0XSxpLmZvcm1hdCE9PVMydCYmaS5mb3JtYXQhPT13MnQ/bnVsbCE9PXA/bi5jb21wcmVzc2VkVGV4SW1hZ2UyRCgzNTUzLHQseCxmLndpZHRoLGYuaGVpZ2h0LDAsZi5kYXRhKTpjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IEF0dGVtcHQgdG8gbG9hZCB1bnN1cHBvcnRlZCBjb21wcmVzc2VkIHRleHR1cmUgZm9ybWF0IGluIC51cGxvYWRUZXh0dXJlKCkiKTpuLnRleEltYWdlMkQoMzU1Myx0LHgsZi53aWR0aCxmLmhlaWdodCwwLHAsbSxmLmRhdGEpO2UuX19tYXhNaXBMZXZlbD13Lmxlbmd0aC0xfWVsc2UgaWYoaS5pc0RhdGFUZXh0dXJlMkRBcnJheSluLnRleEltYWdlM0QoMzU4NjYsMCx4LGgud2lkdGgsaC5oZWlnaHQsaC5kZXB0aCwwLHAsbSxoLmRhdGEpLGUuX19tYXhNaXBMZXZlbD0wO2Vsc2UgaWYoaS5pc0RhdGFUZXh0dXJlM0Qpbi50ZXhJbWFnZTNEKDMyODc5LDAseCxoLndpZHRoLGguaGVpZ2h0LGguZGVwdGgsMCxwLG0saC5kYXRhKSxlLl9fbWF4TWlwTGV2ZWw9MDtlbHNlIGlmKHcubGVuZ3RoPjAmJmQpe2ZvcihsZXQgdD0wLGU9dy5sZW5ndGg7dDxlO3QrKylmPXdbdF0sbi50ZXhJbWFnZTJEKDM1NTMsdCx4LHAsbSxmKTtpLmdlbmVyYXRlTWlwbWFwcz0hMSxlLl9fbWF4TWlwTGV2ZWw9dy5sZW5ndGgtMX1lbHNlIG4udGV4SW1hZ2UyRCgzNTUzLDAseCxwLG0saCksZS5fX21heE1pcExldmVsPTA7eShpLGQpJiZ2KGEsaSxoLndpZHRoLGguaGVpZ2h0KSxlLl9fdmVyc2lvbj1pLnZlcnNpb24saS5vblVwZGF0ZSYmaS5vblVwZGF0ZShpKX1mdW5jdGlvbiBOKGUscixhLHMsbCl7Y29uc3QgYz1vLmNvbnZlcnQoYS5mb3JtYXQpLHU9by5jb252ZXJ0KGEudHlwZSksaD1iKGEuaW50ZXJuYWxGb3JtYXQsYyx1KTszMjg3OT09PWx8fDM1ODY2PT09bD9uLnRleEltYWdlM0QobCwwLGgsci53aWR0aCxyLmhlaWdodCxyLmRlcHRoLDAsYyx1LG51bGwpOm4udGV4SW1hZ2UyRChsLDAsaCxyLndpZHRoLHIuaGVpZ2h0LDAsYyx1LG51bGwpLG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLGUpLHQuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAscyxsLGkuZ2V0KGEpLl9fd2ViZ2xUZXh0dXJlLDApLG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLG51bGwpfWZ1bmN0aW9uIEkoZSxuLGkpe2lmKHQuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxlKSxuLmRlcHRoQnVmZmVyJiYhbi5zdGVuY2lsQnVmZmVyKXtsZXQgcj0zMzE4OTtpZihpKXtjb25zdCBlPW4uZGVwdGhUZXh0dXJlO2UmJmUuaXNEZXB0aFRleHR1cmUmJihlLnR5cGU9PT12MnQ/cj0zNjAxMjplLnR5cGU9PT15MnQmJihyPTMzMTkwKSk7Y29uc3QgaT1PKG4pO3QucmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKDM2MTYxLGkscixuLndpZHRoLG4uaGVpZ2h0KX1lbHNlIHQucmVuZGVyYnVmZmVyU3RvcmFnZSgzNjE2MSxyLG4ud2lkdGgsbi5oZWlnaHQpO3QuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoMzYxNjAsMzYwOTYsMzYxNjEsZSl9ZWxzZSBpZihuLmRlcHRoQnVmZmVyJiZuLnN0ZW5jaWxCdWZmZXIpe2lmKGkpe2NvbnN0IGU9TyhuKTt0LnJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZSgzNjE2MSxlLDM1MDU2LG4ud2lkdGgsbi5oZWlnaHQpfWVsc2UgdC5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLDM0MDQxLG4ud2lkdGgsbi5oZWlnaHQpO3QuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoMzYxNjAsMzMzMDYsMzYxNjEsZSl9ZWxzZXtjb25zdCBlPSEwPT09bi5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzP24udGV4dHVyZVswXTpuLnRleHR1cmUscj1vLmNvbnZlcnQoZS5mb3JtYXQpLGE9by5jb252ZXJ0KGUudHlwZSkscz1iKGUuaW50ZXJuYWxGb3JtYXQscixhKTtpZihpKXtjb25zdCBlPU8obik7dC5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoMzYxNjEsZSxzLG4ud2lkdGgsbi5oZWlnaHQpfWVsc2UgdC5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLHMsbi53aWR0aCxuLmhlaWdodCl9dC5iaW5kUmVuZGVyYnVmZmVyKDM2MTYxLG51bGwpfWZ1bmN0aW9uIFIoZSl7Y29uc3Qgcj1pLmdldChlKSxvPSEwPT09ZS5pc1dlYkdMQ3ViZVJlbmRlclRhcmdldDtpZihlLmRlcHRoVGV4dHVyZSl7aWYobyl0aHJvdyBuZXcgRXJyb3IoInRhcmdldC5kZXB0aFRleHR1cmUgbm90IHN1cHBvcnRlZCBpbiBDdWJlIHJlbmRlciB0YXJnZXRzIik7IShmdW5jdGlvbiBhKGUscil7aWYociYmci5pc1dlYkdMQ3ViZVJlbmRlclRhcmdldCl0aHJvdyBuZXcgRXJyb3IoIkRlcHRoIFRleHR1cmUgd2l0aCBjdWJlIHJlbmRlciB0YXJnZXRzIGlzIG5vdCBzdXBwb3J0ZWQiKTtpZihuLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxlKSwhci5kZXB0aFRleHR1cmV8fCFyLmRlcHRoVGV4dHVyZS5pc0RlcHRoVGV4dHVyZSl0aHJvdyBuZXcgRXJyb3IoInJlbmRlclRhcmdldC5kZXB0aFRleHR1cmUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBUSFJFRS5EZXB0aFRleHR1cmUiKTtpLmdldChyLmRlcHRoVGV4dHVyZSkuX193ZWJnbFRleHR1cmUmJnIuZGVwdGhUZXh0dXJlLmltYWdlLndpZHRoPT09ci53aWR0aCYmci5kZXB0aFRleHR1cmUuaW1hZ2UuaGVpZ2h0PT09ci5oZWlnaHR8fChyLmRlcHRoVGV4dHVyZS5pbWFnZS53aWR0aD1yLndpZHRoLHIuZGVwdGhUZXh0dXJlLmltYWdlLmhlaWdodD1yLmhlaWdodCxyLmRlcHRoVGV4dHVyZS5uZWVkc1VwZGF0ZT0hMCksRShyLmRlcHRoVGV4dHVyZSwwKTtjb25zdCBvPWkuZ2V0KHIuZGVwdGhUZXh0dXJlKS5fX3dlYmdsVGV4dHVyZTtpZihyLmRlcHRoVGV4dHVyZS5mb3JtYXQ9PT1NMnQpdC5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCwzNjA5NiwzNTUzLG8sMCk7ZWxzZXtpZihyLmRlcHRoVGV4dHVyZS5mb3JtYXQhPT1FMnQpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIGRlcHRoVGV4dHVyZSBmb3JtYXQiKTt0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKDM2MTYwLDMzMzA2LDM1NTMsbywwKX19KShyLl9fd2ViZ2xGcmFtZWJ1ZmZlcixlKX1lbHNlIGlmKG8pe3IuX193ZWJnbERlcHRoYnVmZmVyPVtdO2ZvcihsZXQgaT0wO2k8NjtpKyspbi5iaW5kRnJhbWVidWZmZXIoMzYxNjAsci5fX3dlYmdsRnJhbWVidWZmZXJbaV0pLHIuX193ZWJnbERlcHRoYnVmZmVyW2ldPXQuY3JlYXRlUmVuZGVyYnVmZmVyKCksSShyLl9fd2ViZ2xEZXB0aGJ1ZmZlcltpXSxlLCExKX1lbHNlIG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLHIuX193ZWJnbEZyYW1lYnVmZmVyKSxyLl9fd2ViZ2xEZXB0aGJ1ZmZlcj10LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpLEkoci5fX3dlYmdsRGVwdGhidWZmZXIsZSwhMSk7bi5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbnVsbCl9ZnVuY3Rpb24gTyh0KXtyZXR1cm4gcyYmdC5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQ/TWF0aC5taW4oaCx0LnNhbXBsZXMpOjB9bGV0IHo9ITEsRD0hMTt0aGlzLmFsbG9jYXRlVGV4dHVyZVVuaXQ9ZnVuY3Rpb24gQigpe2NvbnN0IHQ9TTtyZXR1cm4gdD49bCYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFRleHR1cmVzOiBUcnlpbmcgdG8gdXNlICIrdCsiIHRleHR1cmUgdW5pdHMgd2hpbGUgdGhpcyBHUFUgc3VwcG9ydHMgb25seSAiK2wpLE0rPTEsdH0sdGhpcy5yZXNldFRleHR1cmVVbml0cz1mdW5jdGlvbiBIKCl7TT0wfSx0aGlzLnNldFRleHR1cmUyRD1FLHRoaXMuc2V0VGV4dHVyZTJEQXJyYXk9ZnVuY3Rpb24gRih0LGUpe2NvbnN0IHI9aS5nZXQodCk7dC52ZXJzaW9uPjAmJnIuX192ZXJzaW9uIT09dC52ZXJzaW9uP1Aocix0LGUpOihuLmFjdGl2ZVRleHR1cmUoMzM5ODQrZSksbi5iaW5kVGV4dHVyZSgzNTg2NixyLl9fd2ViZ2xUZXh0dXJlKSl9LHRoaXMuc2V0VGV4dHVyZTNEPWZ1bmN0aW9uIFYodCxlKXtjb25zdCByPWkuZ2V0KHQpO3QudmVyc2lvbj4wJiZyLl9fdmVyc2lvbiE9PXQudmVyc2lvbj9QKHIsdCxlKToobi5hY3RpdmVUZXh0dXJlKDMzOTg0K2UpLG4uYmluZFRleHR1cmUoMzI4Nzksci5fX3dlYmdsVGV4dHVyZSkpfSx0aGlzLnNldFRleHR1cmVDdWJlPVQsdGhpcy5zZXR1cFJlbmRlclRhcmdldD1mdW5jdGlvbiBVKGUpe2NvbnN0IGw9ZS50ZXh0dXJlLGM9aS5nZXQoZSksdT1pLmdldChsKTtlLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLFMpLCEwIT09ZS5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzJiYodS5fX3dlYmdsVGV4dHVyZT10LmNyZWF0ZVRleHR1cmUoKSx1Ll9fdmVyc2lvbj1sLnZlcnNpb24sYS5tZW1vcnkudGV4dHVyZXMrKyk7Y29uc3QgaD0hMD09PWUuaXNXZWJHTEN1YmVSZW5kZXJUYXJnZXQsZD0hMD09PWUuaXNXZWJHTE11bHRpcGxlUmVuZGVyVGFyZ2V0cyxwPSEwPT09ZS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQsZj1sLmlzRGF0YVRleHR1cmUzRHx8bC5pc0RhdGFUZXh0dXJlMkRBcnJheSxtPV8oZSl8fHM7aWYoIXN8fGwuZm9ybWF0IT09dzJ0fHxsLnR5cGUhPT12MnQmJmwudHlwZSE9PWIydHx8KGwuZm9ybWF0PVMydCxjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFJlbmRlcmluZyB0byB0ZXh0dXJlcyB3aXRoIFJHQiBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZC4gVXNpbmcgUkdCQSBmb3JtYXQgaW5zdGVhZC4iKSksaCl7Yy5fX3dlYmdsRnJhbWVidWZmZXI9W107Zm9yKGxldCBlPTA7ZTw2O2UrKyljLl9fd2ViZ2xGcmFtZWJ1ZmZlcltlXT10LmNyZWF0ZUZyYW1lYnVmZmVyKCl9ZWxzZSBpZihjLl9fd2ViZ2xGcmFtZWJ1ZmZlcj10LmNyZWF0ZUZyYW1lYnVmZmVyKCksZClpZihyLmRyYXdCdWZmZXJzKXtjb25zdCBuPWUudGV4dHVyZTtmb3IobGV0IGU9MCxyPW4ubGVuZ3RoO2U8cjtlKyspe2NvbnN0IHI9aS5nZXQobltlXSk7dm9pZCAwPT09ci5fX3dlYmdsVGV4dHVyZSYmKHIuX193ZWJnbFRleHR1cmU9dC5jcmVhdGVUZXh0dXJlKCksYS5tZW1vcnkudGV4dHVyZXMrKyl9fWVsc2UgY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBXZWJHTE11bHRpcGxlUmVuZGVyVGFyZ2V0cyBjYW4gb25seSBiZSB1c2VkIHdpdGggV2ViR0wyIG9yIFdFQkdMX2RyYXdfYnVmZmVycyBleHRlbnNpb24uIik7ZWxzZSBpZihwKWlmKHMpe2MuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyPXQuY3JlYXRlRnJhbWVidWZmZXIoKSxjLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlcj10LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpLHQuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxjLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlcik7Y29uc3QgaT1vLmNvbnZlcnQobC5mb3JtYXQpLHI9by5jb252ZXJ0KGwudHlwZSksYT1iKGwuaW50ZXJuYWxGb3JtYXQsaSxyKSxzPU8oZSk7dC5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoMzYxNjEscyxhLGUud2lkdGgsZS5oZWlnaHQpLG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLGMuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyKSx0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKDM2MTYwLDM2MDY0LDM2MTYxLGMuX193ZWJnbENvbG9yUmVuZGVyYnVmZmVyKSx0LmJpbmRSZW5kZXJidWZmZXIoMzYxNjEsbnVsbCksZS5kZXB0aEJ1ZmZlciYmKGMuX193ZWJnbERlcHRoUmVuZGVyYnVmZmVyPXQuY3JlYXRlUmVuZGVyYnVmZmVyKCksSShjLl9fd2ViZ2xEZXB0aFJlbmRlcmJ1ZmZlcixlLCEwKSksbi5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbnVsbCl9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFdlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIFdlYkdMMi4iKTtpZihoKXtuLmJpbmRUZXh0dXJlKDM0MDY3LHUuX193ZWJnbFRleHR1cmUpLGsoMzQwNjcsbCxtKTtmb3IobGV0IHQ9MDt0PDY7dCsrKU4oYy5fX3dlYmdsRnJhbWVidWZmZXJbdF0sZSxsLDM2MDY0LDM0MDY5K3QpO3kobCxtKSYmdigzNDA2NyxsLGUud2lkdGgsZS5oZWlnaHQpLG4uYmluZFRleHR1cmUoMzQwNjcsbnVsbCl9ZWxzZSBpZihkKXtjb25zdCB0PWUudGV4dHVyZTtmb3IobGV0IHI9MCxvPXQubGVuZ3RoO3I8bztyKyspe2NvbnN0IG89dFtyXSxhPWkuZ2V0KG8pO24uYmluZFRleHR1cmUoMzU1MyxhLl9fd2ViZ2xUZXh0dXJlKSxrKDM1NTMsbyxtKSxOKGMuX193ZWJnbEZyYW1lYnVmZmVyLGUsbywzNjA2NCtyLDM1NTMpLHkobyxtKSYmdigzNTUzLG8sZS53aWR0aCxlLmhlaWdodCl9bi5iaW5kVGV4dHVyZSgzNTUzLG51bGwpfWVsc2V7bGV0IHQ9MzU1MztpZihmKWlmKHMpe3Q9bC5pc0RhdGFUZXh0dXJlM0Q/MzI4Nzk6MzU4NjZ9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLkRhdGFUZXh0dXJlM0QgYW5kIFRIUkVFLkRhdGFUZXh0dXJlMkRBcnJheSBvbmx5IHN1cHBvcnRlZCB3aXRoIFdlYkdMMi4iKTtuLmJpbmRUZXh0dXJlKHQsdS5fX3dlYmdsVGV4dHVyZSksayh0LGwsbSksTihjLl9fd2ViZ2xGcmFtZWJ1ZmZlcixlLGwsMzYwNjQsdCkseShsLG0pJiZ2KHQsbCxlLndpZHRoLGUuaGVpZ2h0LGUuZGVwdGgpLG4uYmluZFRleHR1cmUodCxudWxsKX1lLmRlcHRoQnVmZmVyJiZSKGUpfSx0aGlzLnVwZGF0ZVJlbmRlclRhcmdldE1pcG1hcD1mdW5jdGlvbiBqKHQpe2NvbnN0IGU9Xyh0KXx8cyxyPSEwPT09dC5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzP3QudGV4dHVyZTpbdC50ZXh0dXJlXTtmb3IobGV0IG89MCxhPXIubGVuZ3RoO288YTtvKyspe2NvbnN0IGE9cltvXTtpZih5KGEsZSkpe2NvbnN0IGU9dC5pc1dlYkdMQ3ViZVJlbmRlclRhcmdldD8zNDA2NzozNTUzLHI9aS5nZXQoYSkuX193ZWJnbFRleHR1cmU7bi5iaW5kVGV4dHVyZShlLHIpLHYoZSxhLHQud2lkdGgsdC5oZWlnaHQpLG4uYmluZFRleHR1cmUoZSxudWxsKX19fSx0aGlzLnVwZGF0ZU11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0PWZ1bmN0aW9uIEcoZSl7aWYoZS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQpaWYocyl7Y29uc3Qgcj1lLndpZHRoLG89ZS5oZWlnaHQ7bGV0IGE9MTYzODQ7ZS5kZXB0aEJ1ZmZlciYmKGF8PTI1NiksZS5zdGVuY2lsQnVmZmVyJiYoYXw9MTAyNCk7Y29uc3Qgcz1pLmdldChlKTtuLmJpbmRGcmFtZWJ1ZmZlcigzNjAwOCxzLl9fd2ViZ2xNdWx0aXNhbXBsZWRGcmFtZWJ1ZmZlciksbi5iaW5kRnJhbWVidWZmZXIoMzYwMDkscy5fX3dlYmdsRnJhbWVidWZmZXIpLHQuYmxpdEZyYW1lYnVmZmVyKDAsMCxyLG8sMCwwLHIsbyxhLDk3MjgpLG4uYmluZEZyYW1lYnVmZmVyKDM2MDA4LG51bGwpLG4uYmluZEZyYW1lYnVmZmVyKDM2MDA5LHMuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyKX1lbHNlIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogV2ViR0xNdWx0aXNhbXBsZVJlbmRlclRhcmdldCBjYW4gb25seSBiZSB1c2VkIHdpdGggV2ViR0wyLiIpfSx0aGlzLnNhZmVTZXRUZXh0dXJlMkQ9ZnVuY3Rpb24gVyh0LGUpe3QmJnQuaXNXZWJHTFJlbmRlclRhcmdldCYmKCExPT09eiYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xUZXh0dXJlcy5zYWZlU2V0VGV4dHVyZTJEOiBkb24ndCB1c2UgcmVuZGVyIHRhcmdldHMgYXMgdGV4dHVyZXMuIFVzZSB0aGVpciAudGV4dHVyZSBwcm9wZXJ0eSBpbnN0ZWFkLiIpLHo9ITApLHQ9dC50ZXh0dXJlKSxFKHQsZSl9LHRoaXMuc2FmZVNldFRleHR1cmVDdWJlPWZ1bmN0aW9uIHEodCxlKXt0JiZ0LmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0JiYoITE9PT1EJiYoY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFRleHR1cmVzLnNhZmVTZXRUZXh0dXJlQ3ViZTogZG9uJ3QgdXNlIGN1YmUgcmVuZGVyIHRhcmdldHMgYXMgdGV4dHVyZXMuIFVzZSB0aGVpciAudGV4dHVyZSBwcm9wZXJ0eSBpbnN0ZWFkLiIpLEQ9ITApLHQ9dC50ZXh0dXJlKSxUKHQsZSl9fWZ1bmN0aW9uIEo4dCh0LGUsbil7Y29uc3QgaT1uLmlzV2ViR0wyO3JldHVybntjb252ZXJ0OmZ1bmN0aW9uIHIodCl7bGV0IG47aWYodD09PWcydClyZXR1cm4gNTEyMTtpZigxMDE3PT09dClyZXR1cm4gMzI4MTk7aWYoMTAxOD09PXQpcmV0dXJuIDMyODIwO2lmKDEwMTk9PT10KXJldHVybiAzMzYzNTtpZigxMDEwPT09dClyZXR1cm4gNTEyMDtpZigxMDExPT09dClyZXR1cm4gNTEyMjtpZih0PT09XzJ0KXJldHVybiA1MTIzO2lmKDEwMTM9PT10KXJldHVybiA1MTI0O2lmKHQ9PT15MnQpcmV0dXJuIDUxMjU7aWYodD09PXYydClyZXR1cm4gNTEyNjtpZih0PT09YjJ0KXJldHVybiBpPzUxMzE6KG49ZS5nZXQoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSxudWxsIT09bj9uLkhBTEZfRkxPQVRfT0VTOm51bGwpO2lmKDEwMjE9PT10KXJldHVybiA2NDA2O2lmKHQ9PT13MnQpcmV0dXJuIDY0MDc7aWYodD09PVMydClyZXR1cm4gNjQwODtpZigxMDI0PT09dClyZXR1cm4gNjQwOTtpZigxMDI1PT09dClyZXR1cm4gNjQxMDtpZih0PT09TTJ0KXJldHVybiA2NDAyO2lmKHQ9PT1FMnQpcmV0dXJuIDM0MDQxO2lmKDEwMjg9PT10KXJldHVybiA2NDAzO2lmKDEwMjk9PT10KXJldHVybiAzNjI0NDtpZigxMDMwPT09dClyZXR1cm4gMzMzMTk7aWYoMTAzMT09PXQpcmV0dXJuIDMzMzIwO2lmKDEwMzI9PT10KXJldHVybiAzNjI0ODtpZigxMDMzPT09dClyZXR1cm4gMzYyNDk7aWYodD09PVQydHx8dD09PUMydHx8dD09PUEydHx8dD09PWsydCl7aWYobj1lLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKSxudWxsPT09bilyZXR1cm4gbnVsbDtpZih0PT09VDJ0KXJldHVybiBuLkNPTVBSRVNTRURfUkdCX1MzVENfRFhUMV9FWFQ7aWYodD09PUMydClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVDtpZih0PT09QTJ0KXJldHVybiBuLkNPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDNfRVhUO2lmKHQ9PT1rMnQpcmV0dXJuIG4uQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9FWFR9aWYodD09PUwydHx8dD09PVAydHx8dD09PU4ydHx8dD09PUkydCl7aWYobj1lLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIiksbnVsbD09PW4pcmV0dXJuIG51bGw7aWYodD09PUwydClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQl9QVlJUQ180QlBQVjFfSU1HO2lmKHQ9PT1QMnQpcmV0dXJuIG4uQ09NUFJFU1NFRF9SR0JfUFZSVENfMkJQUFYxX0lNRztpZih0PT09TjJ0KXJldHVybiBuLkNPTVBSRVNTRURfUkdCQV9QVlJUQ180QlBQVjFfSU1HO2lmKHQ9PT1JMnQpcmV0dXJuIG4uQ09NUFJFU1NFRF9SR0JBX1BWUlRDXzJCUFBWMV9JTUd9aWYoMzYxOTY9PT10KXJldHVybiBuPWUuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfZXRjMSIpLG51bGwhPT1uP24uQ09NUFJFU1NFRF9SR0JfRVRDMV9XRUJHTDpudWxsO2lmKCh0PT09UjJ0fHx0PT09TzJ0KSYmKG49ZS5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9ldGMiKSxudWxsIT09bikpe2lmKHQ9PT1SMnQpcmV0dXJuIG4uQ09NUFJFU1NFRF9SR0I4X0VUQzI7aWYodD09PU8ydClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQkE4X0VUQzJfRUFDfXJldHVybiAzNzgwOD09PXR8fDM3ODA5PT09dHx8Mzc4MTA9PT10fHwzNzgxMT09PXR8fDM3ODEyPT09dHx8Mzc4MTM9PT10fHwzNzgxND09PXR8fDM3ODE1PT09dHx8Mzc4MTY9PT10fHwzNzgxNz09PXR8fDM3ODE4PT09dHx8Mzc4MTk9PT10fHwzNzgyMD09PXR8fDM3ODIxPT09dHx8Mzc4NDA9PT10fHwzNzg0MT09PXR8fDM3ODQyPT09dHx8Mzc4NDM9PT10fHwzNzg0ND09PXR8fDM3ODQ1PT09dHx8Mzc4NDY9PT10fHwzNzg0Nz09PXR8fDM3ODQ4PT09dHx8Mzc4NDk9PT10fHwzNzg1MD09PXR8fDM3ODUxPT09dHx8Mzc4NTI9PT10fHwzNzg1Mz09PXQ/KG49ZS5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9hc3RjIiksbnVsbCE9PW4/dDpudWxsKTozNjQ5Mj09PXQ/KG49ZS5nZXQoIkVYVF90ZXh0dXJlX2NvbXByZXNzaW9uX2JwdGMiKSxudWxsIT09bj90Om51bGwpOnQ9PT14MnQ/aT8zNDA0Mjoobj1lLmdldCgiV0VCR0xfZGVwdGhfdGV4dHVyZSIpLG51bGwhPT1uP24uVU5TSUdORURfSU5UXzI0XzhfV0VCR0w6bnVsbCk6dm9pZCAwfX19Y2xhc3MgUTh0IGV4dGVuZHMgcjZ0e2NvbnN0cnVjdG9yKHQ9W10pe3N1cGVyKCksdGhpcy5jYW1lcmFzPXR9fVE4dC5wcm90b3R5cGUuaXNBcnJheUNhbWVyYT0hMDtjbGFzcyB0N3QgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iR3JvdXAifX10N3QucHJvdG90eXBlLmlzR3JvdXA9ITA7Y29uc3QgZTd0PXt0eXBlOiJtb3ZlIn07Y2xhc3Mgbjd0e2NvbnN0cnVjdG9yKCl7dGhpcy5fdGFyZ2V0UmF5PW51bGwsdGhpcy5fZ3JpcD1udWxsLHRoaXMuX2hhbmQ9bnVsbH1nZXRIYW5kU3BhY2UoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2hhbmQmJih0aGlzLl9oYW5kPW5ldyB0N3QsdGhpcy5faGFuZC5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuX2hhbmQudmlzaWJsZT0hMSx0aGlzLl9oYW5kLmpvaW50cz17fSx0aGlzLl9oYW5kLmlucHV0U3RhdGU9e3BpbmNoaW5nOiExfSksdGhpcy5faGFuZH1nZXRUYXJnZXRSYXlTcGFjZSgpe3JldHVybiBudWxsPT09dGhpcy5fdGFyZ2V0UmF5JiYodGhpcy5fdGFyZ2V0UmF5PW5ldyB0N3QsdGhpcy5fdGFyZ2V0UmF5Lm1hdHJpeEF1dG9VcGRhdGU9ITEsdGhpcy5fdGFyZ2V0UmF5LnZpc2libGU9ITEsdGhpcy5fdGFyZ2V0UmF5Lmhhc0xpbmVhclZlbG9jaXR5PSExLHRoaXMuX3RhcmdldFJheS5saW5lYXJWZWxvY2l0eT1uZXcgSDV0LHRoaXMuX3RhcmdldFJheS5oYXNBbmd1bGFyVmVsb2NpdHk9ITEsdGhpcy5fdGFyZ2V0UmF5LmFuZ3VsYXJWZWxvY2l0eT1uZXcgSDV0KSx0aGlzLl90YXJnZXRSYXl9Z2V0R3JpcFNwYWNlKCl7cmV0dXJuIG51bGw9PT10aGlzLl9ncmlwJiYodGhpcy5fZ3JpcD1uZXcgdDd0LHRoaXMuX2dyaXAubWF0cml4QXV0b1VwZGF0ZT0hMSx0aGlzLl9ncmlwLnZpc2libGU9ITEsdGhpcy5fZ3JpcC5oYXNMaW5lYXJWZWxvY2l0eT0hMSx0aGlzLl9ncmlwLmxpbmVhclZlbG9jaXR5PW5ldyBINXQsdGhpcy5fZ3JpcC5oYXNBbmd1bGFyVmVsb2NpdHk9ITEsdGhpcy5fZ3JpcC5hbmd1bGFyVmVsb2NpdHk9bmV3IEg1dCksdGhpcy5fZ3JpcH1kaXNwYXRjaEV2ZW50KHQpe3JldHVybiBudWxsIT09dGhpcy5fdGFyZ2V0UmF5JiZ0aGlzLl90YXJnZXRSYXkuZGlzcGF0Y2hFdmVudCh0KSxudWxsIT09dGhpcy5fZ3JpcCYmdGhpcy5fZ3JpcC5kaXNwYXRjaEV2ZW50KHQpLG51bGwhPT10aGlzLl9oYW5kJiZ0aGlzLl9oYW5kLmRpc3BhdGNoRXZlbnQodCksdGhpc31kaXNjb25uZWN0KHQpe3JldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc2Nvbm5lY3RlZCIsZGF0YTp0fSksbnVsbCE9PXRoaXMuX3RhcmdldFJheSYmKHRoaXMuX3RhcmdldFJheS52aXNpYmxlPSExKSxudWxsIT09dGhpcy5fZ3JpcCYmKHRoaXMuX2dyaXAudmlzaWJsZT0hMSksbnVsbCE9PXRoaXMuX2hhbmQmJih0aGlzLl9oYW5kLnZpc2libGU9ITEpLHRoaXN9dXBkYXRlKHQsZSxuKXtsZXQgaT1udWxsLHI9bnVsbCxvPW51bGw7Y29uc3QgYT10aGlzLl90YXJnZXRSYXkscz10aGlzLl9ncmlwLGw9dGhpcy5faGFuZDtpZih0JiYidmlzaWJsZS1ibHVycmVkIiE9PWUuc2Vzc2lvbi52aXNpYmlsaXR5U3RhdGUpaWYobnVsbCE9PWEmJihpPWUuZ2V0UG9zZSh0LnRhcmdldFJheVNwYWNlLG4pLG51bGwhPT1pJiYoYS5tYXRyaXguZnJvbUFycmF5KGkudHJhbnNmb3JtLm1hdHJpeCksYS5tYXRyaXguZGVjb21wb3NlKGEucG9zaXRpb24sYS5yb3RhdGlvbixhLnNjYWxlKSxpLmxpbmVhclZlbG9jaXR5PyhhLmhhc0xpbmVhclZlbG9jaXR5PSEwLGEubGluZWFyVmVsb2NpdHkuY29weShpLmxpbmVhclZlbG9jaXR5KSk6YS5oYXNMaW5lYXJWZWxvY2l0eT0hMSxpLmFuZ3VsYXJWZWxvY2l0eT8oYS5oYXNBbmd1bGFyVmVsb2NpdHk9ITAsYS5hbmd1bGFyVmVsb2NpdHkuY29weShpLmFuZ3VsYXJWZWxvY2l0eSkpOmEuaGFzQW5ndWxhclZlbG9jaXR5PSExLHRoaXMuZGlzcGF0Y2hFdmVudChlN3QpKSksbCYmdC5oYW5kKXtvPSEwO2Zvcihjb25zdCBpIG9mIHQuaGFuZC52YWx1ZXMoKSl7Y29uc3QgdD1lLmdldEpvaW50UG9zZShpLG4pO2lmKHZvaWQgMD09PWwuam9pbnRzW2kuam9pbnROYW1lXSl7Y29uc3QgdD1uZXcgdDd0O3QubWF0cml4QXV0b1VwZGF0ZT0hMSx0LnZpc2libGU9ITEsbC5qb2ludHNbaS5qb2ludE5hbWVdPXQsbC5hZGQodCl9Y29uc3Qgcj1sLmpvaW50c1tpLmpvaW50TmFtZV07bnVsbCE9PXQmJihyLm1hdHJpeC5mcm9tQXJyYXkodC50cmFuc2Zvcm0ubWF0cml4KSxyLm1hdHJpeC5kZWNvbXBvc2Uoci5wb3NpdGlvbixyLnJvdGF0aW9uLHIuc2NhbGUpLHIuam9pbnRSYWRpdXM9dC5yYWRpdXMpLHIudmlzaWJsZT1udWxsIT09dH1jb25zdCBpPWwuam9pbnRzWyJpbmRleC1maW5nZXItdGlwIl0ucG9zaXRpb24uZGlzdGFuY2VUbyhsLmpvaW50c1sidGh1bWItdGlwIl0ucG9zaXRpb24pLHI9LjAyLGE9LjAwNTtsLmlucHV0U3RhdGUucGluY2hpbmcmJmk+cithPyhsLmlucHV0U3RhdGUucGluY2hpbmc9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJwaW5jaGVuZCIsaGFuZGVkbmVzczp0LmhhbmRlZG5lc3MsdGFyZ2V0OnRoaXN9KSk6IWwuaW5wdXRTdGF0ZS5waW5jaGluZyYmaTw9ci1hJiYobC5pbnB1dFN0YXRlLnBpbmNoaW5nPSEwLHRoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToicGluY2hzdGFydCIsaGFuZGVkbmVzczp0LmhhbmRlZG5lc3MsdGFyZ2V0OnRoaXN9KSl9ZWxzZSBudWxsIT09cyYmdC5ncmlwU3BhY2UmJihyPWUuZ2V0UG9zZSh0LmdyaXBTcGFjZSxuKSxudWxsIT09ciYmKHMubWF0cml4LmZyb21BcnJheShyLnRyYW5zZm9ybS5tYXRyaXgpLHMubWF0cml4LmRlY29tcG9zZShzLnBvc2l0aW9uLHMucm90YXRpb24scy5zY2FsZSksci5saW5lYXJWZWxvY2l0eT8ocy5oYXNMaW5lYXJWZWxvY2l0eT0hMCxzLmxpbmVhclZlbG9jaXR5LmNvcHkoci5saW5lYXJWZWxvY2l0eSkpOnMuaGFzTGluZWFyVmVsb2NpdHk9ITEsci5hbmd1bGFyVmVsb2NpdHk/KHMuaGFzQW5ndWxhclZlbG9jaXR5PSEwLHMuYW5ndWxhclZlbG9jaXR5LmNvcHkoci5hbmd1bGFyVmVsb2NpdHkpKTpzLmhhc0FuZ3VsYXJWZWxvY2l0eT0hMSkpO3JldHVybiBudWxsIT09YSYmKGEudmlzaWJsZT1udWxsIT09aSksbnVsbCE9PXMmJihzLnZpc2libGU9bnVsbCE9PXIpLG51bGwhPT1sJiYobC52aXNpYmxlPW51bGwhPT1vKSx0aGlzfX1jbGFzcyBpN3QgZXh0ZW5kcyBlNXR7Y29uc3RydWN0b3IodCxlKXtzdXBlcigpO2NvbnN0IG49dGhpcyxpPXQuc3RhdGU7bGV0IHI9bnVsbCxvPTEsYT1udWxsLHM9ImxvY2FsLWZsb29yIixsPW51bGwsYz1udWxsLHU9bnVsbCxoPW51bGwsZD1udWxsO2NvbnN0IHA9W10sZj1uZXcgTWFwLG09bmV3IHI2dDttLmxheWVycy5lbmFibGUoMSksbS52aWV3cG9ydD1uZXcgUjV0O2NvbnN0IGc9bmV3IHI2dDtnLmxheWVycy5lbmFibGUoMiksZy52aWV3cG9ydD1uZXcgUjV0O2NvbnN0IF89W20sZ10seT1uZXcgUTh0O3kubGF5ZXJzLmVuYWJsZSgxKSx5LmxheWVycy5lbmFibGUoMik7bGV0IHY9bnVsbCxiPW51bGw7ZnVuY3Rpb24geCh0KXtjb25zdCBlPWYuZ2V0KHQuaW5wdXRTb3VyY2UpO2UmJmUuZGlzcGF0Y2hFdmVudCh7dHlwZTp0LnR5cGUsZGF0YTp0LmlucHV0U291cmNlfSl9ZnVuY3Rpb24gdygpe2YuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXt0LmRpc2Nvbm5lY3QoZSl9KSksZi5jbGVhcigpLHY9bnVsbCxiPW51bGwsaS5iaW5kWFJGcmFtZWJ1ZmZlcihudWxsKSx0LnNldFJlbmRlclRhcmdldCh0LmdldFJlbmRlclRhcmdldCgpKSxBLnN0b3AoKSxuLmlzUHJlc2VudGluZz0hMSxuLmRpc3BhdGNoRXZlbnQoe3R5cGU6InNlc3Npb25lbmQifSl9ZnVuY3Rpb24gUyh0KXtjb25zdCBlPXIuaW5wdXRTb3VyY2VzO2ZvcihsZXQgdD0wO3Q8cC5sZW5ndGg7dCsrKWYuc2V0KGVbdF0scFt0XSk7Zm9yKGxldCBlPTA7ZTx0LnJlbW92ZWQubGVuZ3RoO2UrKyl7Y29uc3Qgbj10LnJlbW92ZWRbZV0saT1mLmdldChuKTtpJiYoaS5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNjb25uZWN0ZWQiLGRhdGE6bn0pLGYuZGVsZXRlKG4pKX1mb3IobGV0IGU9MDtlPHQuYWRkZWQubGVuZ3RoO2UrKyl7Y29uc3Qgbj10LmFkZGVkW2VdLGk9Zi5nZXQobik7aSYmaS5kaXNwYXRjaEV2ZW50KHt0eXBlOiJjb25uZWN0ZWQiLGRhdGE6bn0pfX10aGlzLmNhbWVyYUF1dG9VcGRhdGU9ITAsdGhpcy5lbmFibGVkPSExLHRoaXMuaXNQcmVzZW50aW5nPSExLHRoaXMuZ2V0Q29udHJvbGxlcj1mdW5jdGlvbih0KXtsZXQgZT1wW3RdO3JldHVybiB2b2lkIDA9PT1lJiYoZT1uZXcgbjd0LHBbdF09ZSksZS5nZXRUYXJnZXRSYXlTcGFjZSgpfSx0aGlzLmdldENvbnRyb2xsZXJHcmlwPWZ1bmN0aW9uKHQpe2xldCBlPXBbdF07cmV0dXJuIHZvaWQgMD09PWUmJihlPW5ldyBuN3QscFt0XT1lKSxlLmdldEdyaXBTcGFjZSgpfSx0aGlzLmdldEhhbmQ9ZnVuY3Rpb24odCl7bGV0IGU9cFt0XTtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9bmV3IG43dCxwW3RdPWUpLGUuZ2V0SGFuZFNwYWNlKCl9LHRoaXMuc2V0RnJhbWVidWZmZXJTY2FsZUZhY3Rvcj1mdW5jdGlvbih0KXtvPXQsITA9PT1uLmlzUHJlc2VudGluZyYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJYUk1hbmFnZXI6IENhbm5vdCBjaGFuZ2UgZnJhbWVidWZmZXIgc2NhbGUgd2hpbGUgcHJlc2VudGluZy4iKX0sdGhpcy5zZXRSZWZlcmVuY2VTcGFjZVR5cGU9ZnVuY3Rpb24odCl7cz10LCEwPT09bi5pc1ByZXNlbnRpbmcmJmNvbnNvbGUud2FybigiVEhSRUUuV2ViWFJNYW5hZ2VyOiBDYW5ub3QgY2hhbmdlIHJlZmVyZW5jZSBzcGFjZSB0eXBlIHdoaWxlIHByZXNlbnRpbmcuIil9LHRoaXMuZ2V0UmVmZXJlbmNlU3BhY2U9ZnVuY3Rpb24oKXtyZXR1cm4gYX0sdGhpcy5nZXRTZXNzaW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHJ9LHRoaXMuc2V0U2Vzc2lvbj1hc3luYyBmdW5jdGlvbih0KXtpZihyPXQsbnVsbCE9PXIpe3IuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0Iix4KSxyLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdHN0YXJ0Iix4KSxyLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGVuZCIseCksci5hZGRFdmVudExpc3RlbmVyKCJzcXVlZXplIix4KSxyLmFkZEV2ZW50TGlzdGVuZXIoInNxdWVlemVzdGFydCIseCksci5hZGRFdmVudExpc3RlbmVyKCJzcXVlZXplZW5kIix4KSxyLmFkZEV2ZW50TGlzdGVuZXIoImVuZCIsdyksci5hZGRFdmVudExpc3RlbmVyKCJpbnB1dHNvdXJjZXNjaGFuZ2UiLFMpO2NvbnN0IHQ9ZS5nZXRDb250ZXh0QXR0cmlidXRlcygpO2lmKCEwIT09dC54ckNvbXBhdGlibGUmJmF3YWl0IGUubWFrZVhSQ29tcGF0aWJsZSgpLHZvaWQgMD09PXIucmVuZGVyU3RhdGUubGF5ZXJzKXtkPW5ldyBYUldlYkdMTGF5ZXIocixlLHthbnRpYWxpYXM6dC5hbnRpYWxpYXMsYWxwaGE6dC5hbHBoYSxkZXB0aDp0LmRlcHRoLHN0ZW5jaWw6dC5zdGVuY2lsLGZyYW1lYnVmZmVyU2NhbGVGYWN0b3I6b30pLHIudXBkYXRlUmVuZGVyU3RhdGUoe2Jhc2VMYXllcjpkfSl9ZWxzZXtsZXQgbj0wO2lmKHQuYW50aWFsaWFzKXtkPW5ldyBYUldlYkdMTGF5ZXIocixlLHthbnRpYWxpYXM6ITAsYWxwaGE6dC5hbHBoYSxkZXB0aDp0LmRlcHRoLHN0ZW5jaWw6dC5zdGVuY2lsLGZyYW1lYnVmZmVyU2NhbGVGYWN0b3I6b30pLHIudXBkYXRlUmVuZGVyU3RhdGUoe2xheWVyczpbZF19KX1lbHNle3QuZGVwdGgmJihuPXQuc3RlbmNpbD8zNDA0MTo2NDAyKTtjb25zdCBpPXtjb2xvckZvcm1hdDp0LmFscGhhPzY0MDg6NjQwNyxkZXB0aEZvcm1hdDpuLHNjYWxlRmFjdG9yOm99O2M9bmV3IFhSV2ViR0xCaW5kaW5nKHIsZSksaD1jLmNyZWF0ZVByb2plY3Rpb25MYXllcihpKSx1PWUuY3JlYXRlRnJhbWVidWZmZXIoKSxyLnVwZGF0ZVJlbmRlclN0YXRlKHtsYXllcnM6W2hdfSl9fWE9YXdhaXQgci5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UocyksQS5zZXRDb250ZXh0KHIpLEEuc3RhcnQoKSxuLmlzUHJlc2VudGluZz0hMCxuLmRpc3BhdGNoRXZlbnQoe3R5cGU6InNlc3Npb25zdGFydCJ9KX19O2NvbnN0IE09bmV3IEg1dCxFPW5ldyBINXQ7ZnVuY3Rpb24gVCh0LGUpe251bGw9PT1lP3QubWF0cml4V29ybGQuY29weSh0Lm1hdHJpeCk6dC5tYXRyaXhXb3JsZC5tdWx0aXBseU1hdHJpY2VzKGUubWF0cml4V29ybGQsdC5tYXRyaXgpLHQubWF0cml4V29ybGRJbnZlcnNlLmNvcHkodC5tYXRyaXhXb3JsZCkuaW52ZXJ0KCl9dGhpcy51cGRhdGVDYW1lcmE9ZnVuY3Rpb24odCl7aWYobnVsbD09PXIpcmV0dXJuO3kubmVhcj1nLm5lYXI9bS5uZWFyPXQubmVhcix5LmZhcj1nLmZhcj1tLmZhcj10LmZhcix2PT09eS5uZWFyJiZiPT09eS5mYXJ8fChyLnVwZGF0ZVJlbmRlclN0YXRlKHtkZXB0aE5lYXI6eS5uZWFyLGRlcHRoRmFyOnkuZmFyfSksdj15Lm5lYXIsYj15LmZhcik7Y29uc3QgZT10LnBhcmVudCxuPXkuY2FtZXJhcztUKHksZSk7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0KyspVChuW3RdLGUpO3kubWF0cml4V29ybGQuZGVjb21wb3NlKHkucG9zaXRpb24seS5xdWF0ZXJuaW9uLHkuc2NhbGUpLHQucG9zaXRpb24uY29weSh5LnBvc2l0aW9uKSx0LnF1YXRlcm5pb24uY29weSh5LnF1YXRlcm5pb24pLHQuc2NhbGUuY29weSh5LnNjYWxlKSx0Lm1hdHJpeC5jb3B5KHkubWF0cml4KSx0Lm1hdHJpeFdvcmxkLmNvcHkoeS5tYXRyaXhXb3JsZCk7Y29uc3QgaT10LmNoaWxkcmVuO2ZvcihsZXQgdD0wLGU9aS5sZW5ndGg7dDxlO3QrKylpW3RdLnVwZGF0ZU1hdHJpeFdvcmxkKCEwKTsyPT09bi5sZW5ndGg/KGZ1bmN0aW9uIG8odCxlLG4pe00uc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGUubWF0cml4V29ybGQpLEUuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKG4ubWF0cml4V29ybGQpO2NvbnN0IGk9TS5kaXN0YW5jZVRvKEUpLHI9ZS5wcm9qZWN0aW9uTWF0cml4LmVsZW1lbnRzLG89bi5wcm9qZWN0aW9uTWF0cml4LmVsZW1lbnRzLGE9clsxNF0vKHJbMTBdLTEpLHM9clsxNF0vKHJbMTBdKzEpLGw9KHJbOV0rMSkvcls1XSxjPShyWzldLTEpL3JbNV0sdT0ocls4XS0xKS9yWzBdLGg9KG9bOF0rMSkvb1swXSxkPWEqdSxwPWEqaCxmPWkvKC11K2gpLG09ZiotdTtlLm1hdHJpeFdvcmxkLmRlY29tcG9zZSh0LnBvc2l0aW9uLHQucXVhdGVybmlvbix0LnNjYWxlKSx0LnRyYW5zbGF0ZVgobSksdC50cmFuc2xhdGVaKGYpLHQubWF0cml4V29ybGQuY29tcG9zZSh0LnBvc2l0aW9uLHQucXVhdGVybmlvbix0LnNjYWxlKSx0Lm1hdHJpeFdvcmxkSW52ZXJzZS5jb3B5KHQubWF0cml4V29ybGQpLmludmVydCgpO2NvbnN0IGc9YStmLF89cytmO3QucHJvamVjdGlvbk1hdHJpeC5tYWtlUGVyc3BlY3RpdmUoZC1tLHArKGktbSksbCpzL18qZyxjKnMvXypnLGcsXyl9KSh5LG0sZyk6eS5wcm9qZWN0aW9uTWF0cml4LmNvcHkobS5wcm9qZWN0aW9uTWF0cml4KX0sdGhpcy5nZXRDYW1lcmE9ZnVuY3Rpb24oKXtyZXR1cm4geX0sdGhpcy5nZXRGb3ZlYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9PWg/aC5maXhlZEZvdmVhdGlvbjpudWxsIT09ZD9kLmZpeGVkRm92ZWF0aW9uOnZvaWQgMH0sdGhpcy5zZXRGb3ZlYXRpb249ZnVuY3Rpb24odCl7bnVsbCE9PWgmJihoLmZpeGVkRm92ZWF0aW9uPXQpLG51bGwhPT1kJiZ2b2lkIDAhPT1kLmZpeGVkRm92ZWF0aW9uJiYoZC5maXhlZEZvdmVhdGlvbj10KX07bGV0IEM9bnVsbDtjb25zdCBBPW5ldyBnNnQ7QS5zZXRBbmltYXRpb25Mb29wKChmdW5jdGlvbiBrKHQsbil7aWYobD1uLmdldFZpZXdlclBvc2UoYSksbnVsbCE9PWwpe2NvbnN0IHQ9bC52aWV3cztudWxsIT09ZCYmaS5iaW5kWFJGcmFtZWJ1ZmZlcihkLmZyYW1lYnVmZmVyKTtsZXQgbj0hMTt0Lmxlbmd0aCE9PXkuY2FtZXJhcy5sZW5ndGgmJih5LmNhbWVyYXMubGVuZ3RoPTAsbj0hMCk7Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspe2NvbnN0IG89dFtyXTtsZXQgYT1udWxsO2lmKG51bGwhPT1kKWE9ZC5nZXRWaWV3cG9ydChvKTtlbHNle2NvbnN0IHQ9Yy5nZXRWaWV3U3ViSW1hZ2UoaCxvKTtpLmJpbmRYUkZyYW1lYnVmZmVyKHUpLHZvaWQgMCE9PXQuZGVwdGhTdGVuY2lsVGV4dHVyZSYmZS5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCwzNjA5NiwzNTUzLHQuZGVwdGhTdGVuY2lsVGV4dHVyZSwwKSxlLmZyYW1lYnVmZmVyVGV4dHVyZTJEKDM2MTYwLDM2MDY0LDM1NTMsdC5jb2xvclRleHR1cmUsMCksYT10LnZpZXdwb3J0fWNvbnN0IHM9X1tyXTtzLm1hdHJpeC5mcm9tQXJyYXkoby50cmFuc2Zvcm0ubWF0cml4KSxzLnByb2plY3Rpb25NYXRyaXguZnJvbUFycmF5KG8ucHJvamVjdGlvbk1hdHJpeCkscy52aWV3cG9ydC5zZXQoYS54LGEueSxhLndpZHRoLGEuaGVpZ2h0KSwwPT09ciYmeS5tYXRyaXguY29weShzLm1hdHJpeCksITA9PT1uJiZ5LmNhbWVyYXMucHVzaChzKX19Y29uc3Qgbz1yLmlucHV0U291cmNlcztmb3IobGV0IHQ9MDt0PHAubGVuZ3RoO3QrKyl7cFt0XS51cGRhdGUob1t0XSxuLGEpfUMmJkModCxuKX0pKSx0aGlzLnNldEFuaW1hdGlvbkxvb3A9ZnVuY3Rpb24odCl7Qz10fSx0aGlzLmRpc3Bvc2U9ZnVuY3Rpb24oKXt9fX1mdW5jdGlvbiByN3QodCl7ZnVuY3Rpb24gZShlLG4pe2Uub3BhY2l0eS52YWx1ZT1uLm9wYWNpdHksbi5jb2xvciYmZS5kaWZmdXNlLnZhbHVlLmNvcHkobi5jb2xvciksbi5lbWlzc2l2ZSYmZS5lbWlzc2l2ZS52YWx1ZS5jb3B5KG4uZW1pc3NpdmUpLm11bHRpcGx5U2NhbGFyKG4uZW1pc3NpdmVJbnRlbnNpdHkpLG4ubWFwJiYoZS5tYXAudmFsdWU9bi5tYXApLG4uYWxwaGFNYXAmJihlLmFscGhhTWFwLnZhbHVlPW4uYWxwaGFNYXApLG4uc3BlY3VsYXJNYXAmJihlLnNwZWN1bGFyTWFwLnZhbHVlPW4uc3BlY3VsYXJNYXApO2NvbnN0IGk9dC5nZXQobikuZW52TWFwO2lmKGkpe2UuZW52TWFwLnZhbHVlPWksZS5mbGlwRW52TWFwLnZhbHVlPWkuaXNDdWJlVGV4dHVyZSYmITE9PT1pLmlzUmVuZGVyVGFyZ2V0VGV4dHVyZT8tMToxLGUucmVmbGVjdGl2aXR5LnZhbHVlPW4ucmVmbGVjdGl2aXR5LGUucmVmcmFjdGlvblJhdGlvLnZhbHVlPW4ucmVmcmFjdGlvblJhdGlvO2NvbnN0IHI9dC5nZXQoaSkuX19tYXhNaXBMZXZlbDt2b2lkIDAhPT1yJiYoZS5tYXhNaXBMZXZlbC52YWx1ZT1yKX1sZXQgcixvO24ubGlnaHRNYXAmJihlLmxpZ2h0TWFwLnZhbHVlPW4ubGlnaHRNYXAsZS5saWdodE1hcEludGVuc2l0eS52YWx1ZT1uLmxpZ2h0TWFwSW50ZW5zaXR5KSxuLmFvTWFwJiYoZS5hb01hcC52YWx1ZT1uLmFvTWFwLGUuYW9NYXBJbnRlbnNpdHkudmFsdWU9bi5hb01hcEludGVuc2l0eSksbi5tYXA/cj1uLm1hcDpuLnNwZWN1bGFyTWFwP3I9bi5zcGVjdWxhck1hcDpuLmRpc3BsYWNlbWVudE1hcD9yPW4uZGlzcGxhY2VtZW50TWFwOm4ubm9ybWFsTWFwP3I9bi5ub3JtYWxNYXA6bi5idW1wTWFwP3I9bi5idW1wTWFwOm4ucm91Z2huZXNzTWFwP3I9bi5yb3VnaG5lc3NNYXA6bi5tZXRhbG5lc3NNYXA/cj1uLm1ldGFsbmVzc01hcDpuLmFscGhhTWFwP3I9bi5hbHBoYU1hcDpuLmVtaXNzaXZlTWFwP3I9bi5lbWlzc2l2ZU1hcDpuLmNsZWFyY29hdE1hcD9yPW4uY2xlYXJjb2F0TWFwOm4uY2xlYXJjb2F0Tm9ybWFsTWFwP3I9bi5jbGVhcmNvYXROb3JtYWxNYXA6bi5jbGVhcmNvYXRSb3VnaG5lc3NNYXA/cj1uLmNsZWFyY29hdFJvdWdobmVzc01hcDpuLnNwZWN1bGFySW50ZW5zaXR5TWFwP3I9bi5zcGVjdWxhckludGVuc2l0eU1hcDpuLnNwZWN1bGFyVGludE1hcCYmKHI9bi5zcGVjdWxhclRpbnRNYXApLHZvaWQgMCE9PXImJihyLmlzV2ViR0xSZW5kZXJUYXJnZXQmJihyPXIudGV4dHVyZSksITA9PT1yLm1hdHJpeEF1dG9VcGRhdGUmJnIudXBkYXRlTWF0cml4KCksZS51dlRyYW5zZm9ybS52YWx1ZS5jb3B5KHIubWF0cml4KSksbi5hb01hcD9vPW4uYW9NYXA6bi5saWdodE1hcCYmKG89bi5saWdodE1hcCksdm9pZCAwIT09byYmKG8uaXNXZWJHTFJlbmRlclRhcmdldCYmKG89by50ZXh0dXJlKSwhMD09PW8ubWF0cml4QXV0b1VwZGF0ZSYmby51cGRhdGVNYXRyaXgoKSxlLnV2MlRyYW5zZm9ybS52YWx1ZS5jb3B5KG8ubWF0cml4KSl9ZnVuY3Rpb24gbihlLG4pe2Uucm91Z2huZXNzLnZhbHVlPW4ucm91Z2huZXNzLGUubWV0YWxuZXNzLnZhbHVlPW4ubWV0YWxuZXNzLG4ucm91Z2huZXNzTWFwJiYoZS5yb3VnaG5lc3NNYXAudmFsdWU9bi5yb3VnaG5lc3NNYXApLG4ubWV0YWxuZXNzTWFwJiYoZS5tZXRhbG5lc3NNYXAudmFsdWU9bi5tZXRhbG5lc3NNYXApLG4uZW1pc3NpdmVNYXAmJihlLmVtaXNzaXZlTWFwLnZhbHVlPW4uZW1pc3NpdmVNYXApLG4uYnVtcE1hcCYmKGUuYnVtcE1hcC52YWx1ZT1uLmJ1bXBNYXAsZS5idW1wU2NhbGUudmFsdWU9bi5idW1wU2NhbGUsMT09PW4uc2lkZSYmKGUuYnVtcFNjYWxlLnZhbHVlKj0tMSkpLG4ubm9ybWFsTWFwJiYoZS5ub3JtYWxNYXAudmFsdWU9bi5ub3JtYWxNYXAsZS5ub3JtYWxTY2FsZS52YWx1ZS5jb3B5KG4ubm9ybWFsU2NhbGUpLDE9PT1uLnNpZGUmJmUubm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpLG4uZGlzcGxhY2VtZW50TWFwJiYoZS5kaXNwbGFjZW1lbnRNYXAudmFsdWU9bi5kaXNwbGFjZW1lbnRNYXAsZS5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1uLmRpc3BsYWNlbWVudFNjYWxlLGUuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT1uLmRpc3BsYWNlbWVudEJpYXMpO3QuZ2V0KG4pLmVudk1hcCYmKGUuZW52TWFwSW50ZW5zaXR5LnZhbHVlPW4uZW52TWFwSW50ZW5zaXR5KX1yZXR1cm57cmVmcmVzaEZvZ1VuaWZvcm1zOmZ1bmN0aW9uIGkodCxlKXt0LmZvZ0NvbG9yLnZhbHVlLmNvcHkoZS5jb2xvciksZS5pc0ZvZz8odC5mb2dOZWFyLnZhbHVlPWUubmVhcix0LmZvZ0Zhci52YWx1ZT1lLmZhcik6ZS5pc0ZvZ0V4cDImJih0LmZvZ0RlbnNpdHkudmFsdWU9ZS5kZW5zaXR5KX0scmVmcmVzaE1hdGVyaWFsVW5pZm9ybXM6ZnVuY3Rpb24gcih0LGksbyxhLHMpe2kuaXNNZXNoQmFzaWNNYXRlcmlhbD9lKHQsaSk6aS5pc01lc2hMYW1iZXJ0TWF0ZXJpYWw/KGUodCxpKSwoZnVuY3Rpb24gbCh0LGUpe2UuZW1pc3NpdmVNYXAmJih0LmVtaXNzaXZlTWFwLnZhbHVlPWUuZW1pc3NpdmVNYXApfSkodCxpKSk6aS5pc01lc2hUb29uTWF0ZXJpYWw/KGUodCxpKSwoZnVuY3Rpb24gYyh0LGUpe2UuZ3JhZGllbnRNYXAmJih0LmdyYWRpZW50TWFwLnZhbHVlPWUuZ3JhZGllbnRNYXApO2UuZW1pc3NpdmVNYXAmJih0LmVtaXNzaXZlTWFwLnZhbHVlPWUuZW1pc3NpdmVNYXApO2UuYnVtcE1hcCYmKHQuYnVtcE1hcC52YWx1ZT1lLmJ1bXBNYXAsdC5idW1wU2NhbGUudmFsdWU9ZS5idW1wU2NhbGUsMT09PWUuc2lkZSYmKHQuYnVtcFNjYWxlLnZhbHVlKj0tMSkpO2Uubm9ybWFsTWFwJiYodC5ub3JtYWxNYXAudmFsdWU9ZS5ub3JtYWxNYXAsdC5ub3JtYWxTY2FsZS52YWx1ZS5jb3B5KGUubm9ybWFsU2NhbGUpLDE9PT1lLnNpZGUmJnQubm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpO2UuZGlzcGxhY2VtZW50TWFwJiYodC5kaXNwbGFjZW1lbnRNYXAudmFsdWU9ZS5kaXNwbGFjZW1lbnRNYXAsdC5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1lLmRpc3BsYWNlbWVudFNjYWxlLHQuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT1lLmRpc3BsYWNlbWVudEJpYXMpfSkodCxpKSk6aS5pc01lc2hQaG9uZ01hdGVyaWFsPyhlKHQsaSksKGZ1bmN0aW9uIHUodCxlKXt0LnNwZWN1bGFyLnZhbHVlLmNvcHkoZS5zcGVjdWxhciksdC5zaGluaW5lc3MudmFsdWU9TWF0aC5tYXgoZS5zaGluaW5lc3MsMWUtNCksZS5lbWlzc2l2ZU1hcCYmKHQuZW1pc3NpdmVNYXAudmFsdWU9ZS5lbWlzc2l2ZU1hcCk7ZS5idW1wTWFwJiYodC5idW1wTWFwLnZhbHVlPWUuYnVtcE1hcCx0LmJ1bXBTY2FsZS52YWx1ZT1lLmJ1bXBTY2FsZSwxPT09ZS5zaWRlJiYodC5idW1wU2NhbGUudmFsdWUqPS0xKSk7ZS5ub3JtYWxNYXAmJih0Lm5vcm1hbE1hcC52YWx1ZT1lLm5vcm1hbE1hcCx0Lm5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoZS5ub3JtYWxTY2FsZSksMT09PWUuc2lkZSYmdC5ub3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7ZS5kaXNwbGFjZW1lbnRNYXAmJih0LmRpc3BsYWNlbWVudE1hcC52YWx1ZT1lLmRpc3BsYWNlbWVudE1hcCx0LmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPWUuZGlzcGxhY2VtZW50U2NhbGUsdC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPWUuZGlzcGxhY2VtZW50Qmlhcyl9KSh0LGkpKTppLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWw/KGUodCxpKSxpLmlzTWVzaFBoeXNpY2FsTWF0ZXJpYWw/KGZ1bmN0aW9uIGgodCxlLGkpe24odCxlKSx0LnJlZmxlY3Rpdml0eS52YWx1ZT1lLnJlZmxlY3Rpdml0eSx0LmNsZWFyY29hdC52YWx1ZT1lLmNsZWFyY29hdCx0LmNsZWFyY29hdFJvdWdobmVzcy52YWx1ZT1lLmNsZWFyY29hdFJvdWdobmVzcyxlLnNoZWVuJiZ0LnNoZWVuLnZhbHVlLmNvcHkoZS5zaGVlbik7ZS5jbGVhcmNvYXRNYXAmJih0LmNsZWFyY29hdE1hcC52YWx1ZT1lLmNsZWFyY29hdE1hcCk7ZS5jbGVhcmNvYXRSb3VnaG5lc3NNYXAmJih0LmNsZWFyY29hdFJvdWdobmVzc01hcC52YWx1ZT1lLmNsZWFyY29hdFJvdWdobmVzc01hcCk7ZS5jbGVhcmNvYXROb3JtYWxNYXAmJih0LmNsZWFyY29hdE5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoZS5jbGVhcmNvYXROb3JtYWxTY2FsZSksdC5jbGVhcmNvYXROb3JtYWxNYXAudmFsdWU9ZS5jbGVhcmNvYXROb3JtYWxNYXAsMT09PWUuc2lkZSYmdC5jbGVhcmNvYXROb3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7dC50cmFuc21pc3Npb24udmFsdWU9ZS50cmFuc21pc3Npb24sZS50cmFuc21pc3Npb25NYXAmJih0LnRyYW5zbWlzc2lvbk1hcC52YWx1ZT1lLnRyYW5zbWlzc2lvbk1hcCk7ZS50cmFuc21pc3Npb24+MCYmKHQudHJhbnNtaXNzaW9uU2FtcGxlck1hcC52YWx1ZT1pLnRleHR1cmUsdC50cmFuc21pc3Npb25TYW1wbGVyU2l6ZS52YWx1ZS5zZXQoaS53aWR0aCxpLmhlaWdodCkpO3QudGhpY2tuZXNzLnZhbHVlPWUudGhpY2tuZXNzLGUudGhpY2tuZXNzTWFwJiYodC50aGlja25lc3NNYXAudmFsdWU9ZS50aGlja25lc3NNYXApO3QuYXR0ZW51YXRpb25EaXN0YW5jZS52YWx1ZT1lLmF0dGVudWF0aW9uRGlzdGFuY2UsdC5hdHRlbnVhdGlvblRpbnQudmFsdWUuY29weShlLmF0dGVudWF0aW9uVGludCksdC5zcGVjdWxhckludGVuc2l0eS52YWx1ZT1lLnNwZWN1bGFySW50ZW5zaXR5LHQuc3BlY3VsYXJUaW50LnZhbHVlLmNvcHkoZS5zcGVjdWxhclRpbnQpLGUuc3BlY3VsYXJJbnRlbnNpdHlNYXAmJih0LnNwZWN1bGFySW50ZW5zaXR5TWFwLnZhbHVlPWUuc3BlY3VsYXJJbnRlbnNpdHlNYXApO2Uuc3BlY3VsYXJUaW50TWFwJiYodC5zcGVjdWxhclRpbnRNYXAudmFsdWU9ZS5zcGVjdWxhclRpbnRNYXApfSkodCxpLHMpOm4odCxpKSk6aS5pc01lc2hNYXRjYXBNYXRlcmlhbD8oZSh0LGkpLChmdW5jdGlvbiBkKHQsZSl7ZS5tYXRjYXAmJih0Lm1hdGNhcC52YWx1ZT1lLm1hdGNhcCk7ZS5idW1wTWFwJiYodC5idW1wTWFwLnZhbHVlPWUuYnVtcE1hcCx0LmJ1bXBTY2FsZS52YWx1ZT1lLmJ1bXBTY2FsZSwxPT09ZS5zaWRlJiYodC5idW1wU2NhbGUudmFsdWUqPS0xKSk7ZS5ub3JtYWxNYXAmJih0Lm5vcm1hbE1hcC52YWx1ZT1lLm5vcm1hbE1hcCx0Lm5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoZS5ub3JtYWxTY2FsZSksMT09PWUuc2lkZSYmdC5ub3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7ZS5kaXNwbGFjZW1lbnRNYXAmJih0LmRpc3BsYWNlbWVudE1hcC52YWx1ZT1lLmRpc3BsYWNlbWVudE1hcCx0LmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPWUuZGlzcGxhY2VtZW50U2NhbGUsdC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPWUuZGlzcGxhY2VtZW50Qmlhcyl9KSh0LGkpKTppLmlzTWVzaERlcHRoTWF0ZXJpYWw/KGUodCxpKSwoZnVuY3Rpb24gcCh0LGUpe2UuZGlzcGxhY2VtZW50TWFwJiYodC5kaXNwbGFjZW1lbnRNYXAudmFsdWU9ZS5kaXNwbGFjZW1lbnRNYXAsdC5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1lLmRpc3BsYWNlbWVudFNjYWxlLHQuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT1lLmRpc3BsYWNlbWVudEJpYXMpfSkodCxpKSk6aS5pc01lc2hEaXN0YW5jZU1hdGVyaWFsPyhlKHQsaSksKGZ1bmN0aW9uIGYodCxlKXtlLmRpc3BsYWNlbWVudE1hcCYmKHQuZGlzcGxhY2VtZW50TWFwLnZhbHVlPWUuZGlzcGxhY2VtZW50TWFwLHQuZGlzcGxhY2VtZW50U2NhbGUudmFsdWU9ZS5kaXNwbGFjZW1lbnRTY2FsZSx0LmRpc3BsYWNlbWVudEJpYXMudmFsdWU9ZS5kaXNwbGFjZW1lbnRCaWFzKTt0LnJlZmVyZW5jZVBvc2l0aW9uLnZhbHVlLmNvcHkoZS5yZWZlcmVuY2VQb3NpdGlvbiksdC5uZWFyRGlzdGFuY2UudmFsdWU9ZS5uZWFyRGlzdGFuY2UsdC5mYXJEaXN0YW5jZS52YWx1ZT1lLmZhckRpc3RhbmNlfSkodCxpKSk6aS5pc01lc2hOb3JtYWxNYXRlcmlhbD8oZSh0LGkpLChmdW5jdGlvbiBtKHQsZSl7ZS5idW1wTWFwJiYodC5idW1wTWFwLnZhbHVlPWUuYnVtcE1hcCx0LmJ1bXBTY2FsZS52YWx1ZT1lLmJ1bXBTY2FsZSwxPT09ZS5zaWRlJiYodC5idW1wU2NhbGUudmFsdWUqPS0xKSk7ZS5ub3JtYWxNYXAmJih0Lm5vcm1hbE1hcC52YWx1ZT1lLm5vcm1hbE1hcCx0Lm5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoZS5ub3JtYWxTY2FsZSksMT09PWUuc2lkZSYmdC5ub3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7ZS5kaXNwbGFjZW1lbnRNYXAmJih0LmRpc3BsYWNlbWVudE1hcC52YWx1ZT1lLmRpc3BsYWNlbWVudE1hcCx0LmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPWUuZGlzcGxhY2VtZW50U2NhbGUsdC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPWUuZGlzcGxhY2VtZW50Qmlhcyl9KSh0LGkpKTppLmlzTGluZUJhc2ljTWF0ZXJpYWw/KCEoZnVuY3Rpb24gZyh0LGUpe3QuZGlmZnVzZS52YWx1ZS5jb3B5KGUuY29sb3IpLHQub3BhY2l0eS52YWx1ZT1lLm9wYWNpdHl9KSh0LGkpLGkuaXNMaW5lRGFzaGVkTWF0ZXJpYWwmJihmdW5jdGlvbiBfKHQsZSl7dC5kYXNoU2l6ZS52YWx1ZT1lLmRhc2hTaXplLHQudG90YWxTaXplLnZhbHVlPWUuZGFzaFNpemUrZS5nYXBTaXplLHQuc2NhbGUudmFsdWU9ZS5zY2FsZX0pKHQsaSkpOmkuaXNQb2ludHNNYXRlcmlhbD8oZnVuY3Rpb24geSh0LGUsbixpKXt0LmRpZmZ1c2UudmFsdWUuY29weShlLmNvbG9yKSx0Lm9wYWNpdHkudmFsdWU9ZS5vcGFjaXR5LHQuc2l6ZS52YWx1ZT1lLnNpemUqbix0LnNjYWxlLnZhbHVlPS41KmksZS5tYXAmJih0Lm1hcC52YWx1ZT1lLm1hcCk7ZS5hbHBoYU1hcCYmKHQuYWxwaGFNYXAudmFsdWU9ZS5hbHBoYU1hcCk7bGV0IHI7ZS5tYXA/cj1lLm1hcDplLmFscGhhTWFwJiYocj1lLmFscGhhTWFwKTt2b2lkIDAhPT1yJiYoITA9PT1yLm1hdHJpeEF1dG9VcGRhdGUmJnIudXBkYXRlTWF0cml4KCksdC51dlRyYW5zZm9ybS52YWx1ZS5jb3B5KHIubWF0cml4KSl9KSh0LGksbyxhKTppLmlzU3ByaXRlTWF0ZXJpYWw/KGZ1bmN0aW9uIHYodCxlKXt0LmRpZmZ1c2UudmFsdWUuY29weShlLmNvbG9yKSx0Lm9wYWNpdHkudmFsdWU9ZS5vcGFjaXR5LHQucm90YXRpb24udmFsdWU9ZS5yb3RhdGlvbixlLm1hcCYmKHQubWFwLnZhbHVlPWUubWFwKTtlLmFscGhhTWFwJiYodC5hbHBoYU1hcC52YWx1ZT1lLmFscGhhTWFwKTtsZXQgbjtlLm1hcD9uPWUubWFwOmUuYWxwaGFNYXAmJihuPWUuYWxwaGFNYXApO3ZvaWQgMCE9PW4mJighMD09PW4ubWF0cml4QXV0b1VwZGF0ZSYmbi51cGRhdGVNYXRyaXgoKSx0LnV2VHJhbnNmb3JtLnZhbHVlLmNvcHkobi5tYXRyaXgpKX0pKHQsaSk6aS5pc1NoYWRvd01hdGVyaWFsPyh0LmNvbG9yLnZhbHVlLmNvcHkoaS5jb2xvciksdC5vcGFjaXR5LnZhbHVlPWkub3BhY2l0eSk6aS5pc1NoYWRlck1hdGVyaWFsJiYoaS51bmlmb3Jtc05lZWRVcGRhdGU9ITEpfX19ZnVuY3Rpb24gbzd0KHQ9e30pe2NvbnN0IGU9dm9pZCAwIT09dC5jYW52YXM/dC5jYW52YXM6KGZ1bmN0aW9uIG4oKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImNhbnZhcyIpO3JldHVybiB0LnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0fSkoKSxpPXZvaWQgMCE9PXQuY29udGV4dD90LmNvbnRleHQ6bnVsbCxyPXZvaWQgMCE9PXQuYWxwaGEmJnQuYWxwaGEsbz12b2lkIDA9PT10LmRlcHRofHx0LmRlcHRoLGE9dm9pZCAwPT09dC5zdGVuY2lsfHx0LnN0ZW5jaWwscz12b2lkIDAhPT10LmFudGlhbGlhcyYmdC5hbnRpYWxpYXMsbD12b2lkIDA9PT10LnByZW11bHRpcGxpZWRBbHBoYXx8dC5wcmVtdWx0aXBsaWVkQWxwaGEsYz12b2lkIDAhPT10LnByZXNlcnZlRHJhd2luZ0J1ZmZlciYmdC5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIsdT12b2lkIDAhPT10LnBvd2VyUHJlZmVyZW5jZT90LnBvd2VyUHJlZmVyZW5jZToiZGVmYXVsdCIsaD12b2lkIDAhPT10LmZhaWxJZk1ham9yUGVyZm9ybWFuY2VDYXZlYXQmJnQuZmFpbElmTWFqb3JQZXJmb3JtYW5jZUNhdmVhdDtsZXQgZD1udWxsLHA9bnVsbDtjb25zdCBmPVtdLG09W107dGhpcy5kb21FbGVtZW50PWUsdGhpcy5kZWJ1Zz17Y2hlY2tTaGFkZXJFcnJvcnM6ITB9LHRoaXMuYXV0b0NsZWFyPSEwLHRoaXMuYXV0b0NsZWFyQ29sb3I9ITAsdGhpcy5hdXRvQ2xlYXJEZXB0aD0hMCx0aGlzLmF1dG9DbGVhclN0ZW5jaWw9ITAsdGhpcy5zb3J0T2JqZWN0cz0hMCx0aGlzLmNsaXBwaW5nUGxhbmVzPVtdLHRoaXMubG9jYWxDbGlwcGluZ0VuYWJsZWQ9ITEsdGhpcy5nYW1tYUZhY3Rvcj0yLHRoaXMub3V0cHV0RW5jb2Rpbmc9RzJ0LHRoaXMucGh5c2ljYWxseUNvcnJlY3RMaWdodHM9ITEsdGhpcy50b25lTWFwcGluZz0wLHRoaXMudG9uZU1hcHBpbmdFeHBvc3VyZT0xO2NvbnN0IGc9dGhpcztsZXQgXz0hMSx5PTAsdj0wLGI9bnVsbCx4PS0xLHc9bnVsbDtjb25zdCBTPW5ldyBSNXQsTT1uZXcgUjV0O2xldCBFPW51bGwsVD1lLndpZHRoLEM9ZS5oZWlnaHQsQT0xLGs9bnVsbCxMPW51bGw7Y29uc3QgUD1uZXcgUjV0KDAsMCxULEMpLE49bmV3IFI1dCgwLDAsVCxDKTtsZXQgST0hMTtjb25zdCBSPVtdLE89bmV3IG02dDtsZXQgej0hMSxEPSExLEI9bnVsbDtjb25zdCBIPW5ldyBnM3QsRj1uZXcgSDV0LFY9e2JhY2tncm91bmQ6bnVsbCxmb2c6bnVsbCxlbnZpcm9ubWVudDpudWxsLG92ZXJyaWRlTWF0ZXJpYWw6bnVsbCxpc1NjZW5lOiEwfTtmdW5jdGlvbiBVKCl7cmV0dXJuIG51bGw9PT1iP0E6MX1sZXQgaixHLFcscSxZLFgsJCxLLFosSixRLHR0LGV0LG50LGl0LHJ0LG90LGF0LHN0LGx0LGN0LHV0LGh0LGR0PWk7ZnVuY3Rpb24gcHQodCxuKXtmb3IobGV0IGk9MDtpPHQubGVuZ3RoO2krKyl7Y29uc3Qgcj1lLmdldENvbnRleHQodFtpXSxuKTtpZihudWxsIT09cilyZXR1cm4gcn1yZXR1cm4gbnVsbH10cnl7Y29uc3QgdD17YWxwaGE6cixkZXB0aDpvLHN0ZW5jaWw6YSxhbnRpYWxpYXM6cyxwcmVtdWx0aXBsaWVkQWxwaGE6bCxwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6Yyxwb3dlclByZWZlcmVuY2U6dSxmYWlsSWZNYWpvclBlcmZvcm1hbmNlQ2F2ZWF0Omh9O2lmKGUuYWRkRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0bG9zdCIsZ3QsITEpLGUuYWRkRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0cmVzdG9yZWQiLF90LCExKSxudWxsPT09ZHQpe2NvbnN0IGU9WyJ3ZWJnbDIiLCJ3ZWJnbCIsImV4cGVyaW1lbnRhbC13ZWJnbCJdO2lmKCEwPT09Zy5pc1dlYkdMMVJlbmRlcmVyJiZlLnNoaWZ0KCksZHQ9cHQoZSx0KSxudWxsPT09ZHQpdGhyb3cgcHQoZSk/bmV3IEVycm9yKCJFcnJvciBjcmVhdGluZyBXZWJHTCBjb250ZXh0IHdpdGggeW91ciBzZWxlY3RlZCBhdHRyaWJ1dGVzLiIpOm5ldyBFcnJvcigiRXJyb3IgY3JlYXRpbmcgV2ViR0wgY29udGV4dC4iKX12b2lkIDA9PT1kdC5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQmJihkdC5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQ9ZnVuY3Rpb24oKXtyZXR1cm57cmFuZ2VNaW46MSxyYW5nZU1heDoxLHByZWNpc2lvbjoxfX0pfWNhdGNoKHQpe3Rocm93IGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXI6ICIrdC5tZXNzYWdlKSx0fWZ1bmN0aW9uIGZ0KCl7aj1uZXcgaTl0KGR0KSxHPW5ldyBFNnQoZHQsaix0KSxqLmluaXQoRyksdXQ9bmV3IEo4dChkdCxqLEcpLFc9bmV3IEs4dChkdCxqLEcpLFJbMF09MTAyOSxxPW5ldyBhOXQoZHQpLFk9bmV3IHo4dCxYPW5ldyBaOHQoZHQsaixXLFksRyx1dCxxKSwkPW5ldyBDNnQoZyksSz1uZXcgbjl0KGcpLFo9bmV3IF82dChkdCxHKSxodD1uZXcgUzZ0KGR0LGosWixHKSxKPW5ldyByOXQoZHQsWixxLGh0KSxRPW5ldyB1OXQoZHQsSixaLHEpLHN0PW5ldyBjOXQoZHQpLHJ0PW5ldyBUNnQoWSksdHQ9bmV3IE84dChnLCQsSyxqLEcsaHQscnQpLGV0PW5ldyByN3QoWSksbnQ9bmV3IEY4dChZKSxpdD1uZXcgcTh0KGosRyksYXQ9bmV3IHc2dChnLCQsVyxRLGwpLG90PW5ldyAkOHQoZyxRLEcpLGx0PW5ldyBNNnQoZHQsaixxLEcpLGN0PW5ldyBvOXQoZHQsaixxLEcpLHEucHJvZ3JhbXM9dHQucHJvZ3JhbXMsZy5jYXBhYmlsaXRpZXM9RyxnLmV4dGVuc2lvbnM9aixnLnByb3BlcnRpZXM9WSxnLnJlbmRlckxpc3RzPW50LGcuc2hhZG93TWFwPW90LGcuc3RhdGU9VyxnLmluZm89cX1mdCgpO2NvbnN0IG10PW5ldyBpN3QoZyxkdCk7ZnVuY3Rpb24gZ3QodCl7dC5wcmV2ZW50RGVmYXVsdCgpLGNvbnNvbGUubG9nKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBDb250ZXh0IExvc3QuIiksXz0hMH1mdW5jdGlvbiBfdCgpe2NvbnNvbGUubG9nKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBDb250ZXh0IFJlc3RvcmVkLiIpLF89ITE7Y29uc3QgdD1xLmF1dG9SZXNldCxlPW90LmVuYWJsZWQsbj1vdC5hdXRvVXBkYXRlLGk9b3QubmVlZHNVcGRhdGUscj1vdC50eXBlO2Z0KCkscS5hdXRvUmVzZXQ9dCxvdC5lbmFibGVkPWUsb3QuYXV0b1VwZGF0ZT1uLG90Lm5lZWRzVXBkYXRlPWksb3QudHlwZT1yfWZ1bmN0aW9uIHl0KHQpe2NvbnN0IGU9dC50YXJnZXQ7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIix5dCksKGZ1bmN0aW9uIG4odCl7KGZ1bmN0aW9uIGUodCl7Y29uc3QgZT1ZLmdldCh0KS5wcm9ncmFtczt2b2lkIDAhPT1lJiZlLmZvckVhY2goKGZ1bmN0aW9uKHQpe3R0LnJlbGVhc2VQcm9ncmFtKHQpfSkpfSkodCksWS5yZW1vdmUodCl9KShlKX10aGlzLnhyPW10LHRoaXMuZ2V0Q29udGV4dD1mdW5jdGlvbigpe3JldHVybiBkdH0sdGhpcy5nZXRDb250ZXh0QXR0cmlidXRlcz1mdW5jdGlvbigpe3JldHVybiBkdC5nZXRDb250ZXh0QXR0cmlidXRlcygpfSx0aGlzLmZvcmNlQ29udGV4dExvc3M9ZnVuY3Rpb24oKXtjb25zdCB0PWouZ2V0KCJXRUJHTF9sb3NlX2NvbnRleHQiKTt0JiZ0Lmxvc2VDb250ZXh0KCl9LHRoaXMuZm9yY2VDb250ZXh0UmVzdG9yZT1mdW5jdGlvbigpe2NvbnN0IHQ9ai5nZXQoIldFQkdMX2xvc2VfY29udGV4dCIpO3QmJnQucmVzdG9yZUNvbnRleHQoKX0sdGhpcy5nZXRQaXhlbFJhdGlvPWZ1bmN0aW9uKCl7cmV0dXJuIEF9LHRoaXMuc2V0UGl4ZWxSYXRpbz1mdW5jdGlvbih0KXt2b2lkIDAhPT10JiYoQT10LHRoaXMuc2V0U2l6ZShULEMsITEpKX0sdGhpcy5nZXRTaXplPWZ1bmN0aW9uKHQpe3JldHVybiB0LnNldChULEMpfSx0aGlzLnNldFNpemU9ZnVuY3Rpb24odCxuLGkpe210LmlzUHJlc2VudGluZz9jb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IENhbid0IGNoYW5nZSBzaXplIHdoaWxlIFZSIGRldmljZSBpcyBwcmVzZW50aW5nLiIpOihUPXQsQz1uLGUud2lkdGg9TWF0aC5mbG9vcih0KkEpLGUuaGVpZ2h0PU1hdGguZmxvb3IobipBKSwhMSE9PWkmJihlLnN0eWxlLndpZHRoPXQrInB4IixlLnN0eWxlLmhlaWdodD1uKyJweCIpLHRoaXMuc2V0Vmlld3BvcnQoMCwwLHQsbikpfSx0aGlzLmdldERyYXdpbmdCdWZmZXJTaXplPWZ1bmN0aW9uKHQpe3JldHVybiB0LnNldChUKkEsQypBKS5mbG9vcigpfSx0aGlzLnNldERyYXdpbmdCdWZmZXJTaXplPWZ1bmN0aW9uKHQsbixpKXtUPXQsQz1uLEE9aSxlLndpZHRoPU1hdGguZmxvb3IodCppKSxlLmhlaWdodD1NYXRoLmZsb29yKG4qaSksdGhpcy5zZXRWaWV3cG9ydCgwLDAsdCxuKX0sdGhpcy5nZXRDdXJyZW50Vmlld3BvcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weShTKX0sdGhpcy5nZXRWaWV3cG9ydD1mdW5jdGlvbih0KXtyZXR1cm4gdC5jb3B5KFApfSx0aGlzLnNldFZpZXdwb3J0PWZ1bmN0aW9uKHQsZSxuLGkpe3QuaXNWZWN0b3I0P1Auc2V0KHQueCx0LnksdC56LHQudyk6UC5zZXQodCxlLG4saSksVy52aWV3cG9ydChTLmNvcHkoUCkubXVsdGlwbHlTY2FsYXIoQSkuZmxvb3IoKSl9LHRoaXMuZ2V0U2Npc3Nvcj1mdW5jdGlvbih0KXtyZXR1cm4gdC5jb3B5KE4pfSx0aGlzLnNldFNjaXNzb3I9ZnVuY3Rpb24odCxlLG4saSl7dC5pc1ZlY3RvcjQ/Ti5zZXQodC54LHQueSx0LnosdC53KTpOLnNldCh0LGUsbixpKSxXLnNjaXNzb3IoTS5jb3B5KE4pLm11bHRpcGx5U2NhbGFyKEEpLmZsb29yKCkpfSx0aGlzLmdldFNjaXNzb3JUZXN0PWZ1bmN0aW9uKCl7cmV0dXJuIEl9LHRoaXMuc2V0U2Npc3NvclRlc3Q9ZnVuY3Rpb24odCl7Vy5zZXRTY2lzc29yVGVzdChJPXQpfSx0aGlzLnNldE9wYXF1ZVNvcnQ9ZnVuY3Rpb24odCl7az10fSx0aGlzLnNldFRyYW5zcGFyZW50U29ydD1mdW5jdGlvbih0KXtMPXR9LHRoaXMuZ2V0Q2xlYXJDb2xvcj1mdW5jdGlvbih0KXtyZXR1cm4gdC5jb3B5KGF0LmdldENsZWFyQ29sb3IoKSl9LHRoaXMuc2V0Q2xlYXJDb2xvcj1mdW5jdGlvbigpe2F0LnNldENsZWFyQ29sb3IuYXBwbHkoYXQsYXJndW1lbnRzKX0sdGhpcy5nZXRDbGVhckFscGhhPWZ1bmN0aW9uKCl7cmV0dXJuIGF0LmdldENsZWFyQWxwaGEoKX0sdGhpcy5zZXRDbGVhckFscGhhPWZ1bmN0aW9uKCl7YXQuc2V0Q2xlYXJBbHBoYS5hcHBseShhdCxhcmd1bWVudHMpfSx0aGlzLmNsZWFyPWZ1bmN0aW9uKHQsZSxuKXtsZXQgaT0wOyh2b2lkIDA9PT10fHx0KSYmKGl8PTE2Mzg0KSwodm9pZCAwPT09ZXx8ZSkmJihpfD0yNTYpLCh2b2lkIDA9PT1ufHxuKSYmKGl8PTEwMjQpLGR0LmNsZWFyKGkpfSx0aGlzLmNsZWFyQ29sb3I9ZnVuY3Rpb24oKXt0aGlzLmNsZWFyKCEwLCExLCExKX0sdGhpcy5jbGVhckRlcHRoPWZ1bmN0aW9uKCl7dGhpcy5jbGVhcighMSwhMCwhMSl9LHRoaXMuY2xlYXJTdGVuY2lsPWZ1bmN0aW9uKCl7dGhpcy5jbGVhcighMSwhMSwhMCl9LHRoaXMuZGlzcG9zZT1mdW5jdGlvbigpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0bG9zdCIsZ3QsITEpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0cmVzdG9yZWQiLF90LCExKSxudC5kaXNwb3NlKCksaXQuZGlzcG9zZSgpLFkuZGlzcG9zZSgpLCQuZGlzcG9zZSgpLEsuZGlzcG9zZSgpLFEuZGlzcG9zZSgpLGh0LmRpc3Bvc2UoKSxtdC5kaXNwb3NlKCksbXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Vzc2lvbnN0YXJ0IixidCksbXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Vzc2lvbmVuZCIseHQpLEImJihCLmRpc3Bvc2UoKSxCPW51bGwpLHd0LnN0b3AoKX0sdGhpcy5yZW5kZXJCdWZmZXJJbW1lZGlhdGU9ZnVuY3Rpb24odCxlKXtodC5pbml0QXR0cmlidXRlcygpO2NvbnN0IG49WS5nZXQodCk7dC5oYXNQb3NpdGlvbnMmJiFuLnBvc2l0aW9uJiYobi5wb3NpdGlvbj1kdC5jcmVhdGVCdWZmZXIoKSksdC5oYXNOb3JtYWxzJiYhbi5ub3JtYWwmJihuLm5vcm1hbD1kdC5jcmVhdGVCdWZmZXIoKSksdC5oYXNVdnMmJiFuLnV2JiYobi51dj1kdC5jcmVhdGVCdWZmZXIoKSksdC5oYXNDb2xvcnMmJiFuLmNvbG9yJiYobi5jb2xvcj1kdC5jcmVhdGVCdWZmZXIoKSk7Y29uc3QgaT1lLmdldEF0dHJpYnV0ZXMoKTt0Lmhhc1Bvc2l0aW9ucyYmKGR0LmJpbmRCdWZmZXIoMzQ5NjIsbi5wb3NpdGlvbiksZHQuYnVmZmVyRGF0YSgzNDk2Mix0LnBvc2l0aW9uQXJyYXksMzUwNDgpLGh0LmVuYWJsZUF0dHJpYnV0ZShpLnBvc2l0aW9uKSxkdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGkucG9zaXRpb24sMyw1MTI2LCExLDAsMCkpLHQuaGFzTm9ybWFscyYmKGR0LmJpbmRCdWZmZXIoMzQ5NjIsbi5ub3JtYWwpLGR0LmJ1ZmZlckRhdGEoMzQ5NjIsdC5ub3JtYWxBcnJheSwzNTA0OCksaHQuZW5hYmxlQXR0cmlidXRlKGkubm9ybWFsKSxkdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGkubm9ybWFsLDMsNTEyNiwhMSwwLDApKSx0Lmhhc1V2cyYmKGR0LmJpbmRCdWZmZXIoMzQ5NjIsbi51diksZHQuYnVmZmVyRGF0YSgzNDk2Mix0LnV2QXJyYXksMzUwNDgpLGh0LmVuYWJsZUF0dHJpYnV0ZShpLnV2KSxkdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGkudXYsMiw1MTI2LCExLDAsMCkpLHQuaGFzQ29sb3JzJiYoZHQuYmluZEJ1ZmZlcigzNDk2MixuLmNvbG9yKSxkdC5idWZmZXJEYXRhKDM0OTYyLHQuY29sb3JBcnJheSwzNTA0OCksaHQuZW5hYmxlQXR0cmlidXRlKGkuY29sb3IpLGR0LnZlcnRleEF0dHJpYlBvaW50ZXIoaS5jb2xvciwzLDUxMjYsITEsMCwwKSksaHQuZGlzYWJsZVVudXNlZEF0dHJpYnV0ZXMoKSxkdC5kcmF3QXJyYXlzKDQsMCx0LmNvdW50KSx0LmNvdW50PTB9LHRoaXMucmVuZGVyQnVmZmVyRGlyZWN0PWZ1bmN0aW9uKHQsZSxuLGkscixvKXtudWxsPT09ZSYmKGU9Vik7Y29uc3QgYT1yLmlzTWVzaCYmci5tYXRyaXhXb3JsZC5kZXRlcm1pbmFudCgpPDAscz1BdCh0LGUsaSxyKTtXLnNldE1hdGVyaWFsKGksYSk7bGV0IGw9bi5pbmRleDtjb25zdCBjPW4uYXR0cmlidXRlcy5wb3NpdGlvbjtpZihudWxsPT09bCl7aWYodm9pZCAwPT09Y3x8MD09PWMuY291bnQpcmV0dXJufWVsc2UgaWYoMD09PWwuY291bnQpcmV0dXJuO2xldCB1LGg9MTshMD09PWkud2lyZWZyYW1lJiYobD1KLmdldFdpcmVmcmFtZUF0dHJpYnV0ZShuKSxoPTIpLHZvaWQgMD09PW4ubW9ycGhBdHRyaWJ1dGVzLnBvc2l0aW9uJiZ2b2lkIDA9PT1uLm1vcnBoQXR0cmlidXRlcy5ub3JtYWx8fHN0LnVwZGF0ZShyLG4saSxzKSxodC5zZXR1cChyLGkscyxuLGwpO2xldCBkPWx0O251bGwhPT1sJiYodT1aLmdldChsKSxkPWN0LGQuc2V0SW5kZXgodSkpO2NvbnN0IHA9bnVsbCE9PWw/bC5jb3VudDpjLmNvdW50LGY9bi5kcmF3UmFuZ2Uuc3RhcnQqaCxtPW4uZHJhd1JhbmdlLmNvdW50KmgsZz1udWxsIT09bz9vLnN0YXJ0Kmg6MCxfPW51bGwhPT1vP28uY291bnQqaDoxLzAseT1NYXRoLm1heChmLGcpLHY9TWF0aC5taW4ocCxmK20sZytfKS0xLGI9TWF0aC5tYXgoMCx2LXkrMSk7aWYoMCE9PWIpe2lmKHIuaXNNZXNoKSEwPT09aS53aXJlZnJhbWU/KFcuc2V0TGluZVdpZHRoKGkud2lyZWZyYW1lTGluZXdpZHRoKlUoKSksZC5zZXRNb2RlKDEpKTpkLnNldE1vZGUoNCk7ZWxzZSBpZihyLmlzTGluZSl7bGV0IHQ9aS5saW5ld2lkdGg7dm9pZCAwPT09dCYmKHQ9MSksVy5zZXRMaW5lV2lkdGgodCpVKCkpLGQuc2V0TW9kZShyLmlzTGluZVNlZ21lbnRzPzE6ci5pc0xpbmVMb29wPzI6Myl9ZWxzZSByLmlzUG9pbnRzP2Quc2V0TW9kZSgwKTpyLmlzU3ByaXRlJiZkLnNldE1vZGUoNCk7aWYoci5pc0luc3RhbmNlZE1lc2gpZC5yZW5kZXJJbnN0YW5jZXMoeSxiLHIuY291bnQpO2Vsc2UgaWYobi5pc0luc3RhbmNlZEJ1ZmZlckdlb21ldHJ5KXtjb25zdCB0PU1hdGgubWluKG4uaW5zdGFuY2VDb3VudCxuLl9tYXhJbnN0YW5jZUNvdW50KTtkLnJlbmRlckluc3RhbmNlcyh5LGIsdCl9ZWxzZSBkLnJlbmRlcih5LGIpfX0sdGhpcy5jb21waWxlPWZ1bmN0aW9uKHQsZSl7cD1pdC5nZXQodCkscC5pbml0KCksbS5wdXNoKHApLHQudHJhdmVyc2VWaXNpYmxlKChmdW5jdGlvbih0KXt0LmlzTGlnaHQmJnQubGF5ZXJzLnRlc3QoZS5sYXllcnMpJiYocC5wdXNoTGlnaHQodCksdC5jYXN0U2hhZG93JiZwLnB1c2hTaGFkb3codCkpfSkpLHAuc2V0dXBMaWdodHMoKSx0LnRyYXZlcnNlKChmdW5jdGlvbihlKXtjb25zdCBuPWUubWF0ZXJpYWw7aWYobilpZihBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgaT0wO2k8bi5sZW5ndGg7aSsrKXtUdChuW2ldLHQsZSl9ZWxzZSBUdChuLHQsZSl9KSksbS5wb3AoKSxwPW51bGx9O2xldCB2dD1udWxsO2Z1bmN0aW9uIGJ0KCl7d3Quc3RvcCgpfWZ1bmN0aW9uIHh0KCl7d3Quc3RhcnQoKX1jb25zdCB3dD1uZXcgZzZ0O2Z1bmN0aW9uIFN0KHQsZSxuLGkpe2lmKCExPT09dC52aXNpYmxlKXJldHVybjtpZih0LmxheWVycy50ZXN0KGUubGF5ZXJzKSlpZih0LmlzR3JvdXApbj10LnJlbmRlck9yZGVyO2Vsc2UgaWYodC5pc0xPRCkhMD09PXQuYXV0b1VwZGF0ZSYmdC51cGRhdGUoZSk7ZWxzZSBpZih0LmlzTGlnaHQpcC5wdXNoTGlnaHQodCksdC5jYXN0U2hhZG93JiZwLnB1c2hTaGFkb3codCk7ZWxzZSBpZih0LmlzU3ByaXRlKXtpZighdC5mcnVzdHVtQ3VsbGVkfHxPLmludGVyc2VjdHNTcHJpdGUodCkpe2kmJkYuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQubWF0cml4V29ybGQpLmFwcGx5TWF0cml4NChIKTtjb25zdCBlPVEudXBkYXRlKHQpLHI9dC5tYXRlcmlhbDtyLnZpc2libGUmJmQucHVzaCh0LGUscixuLEYueixudWxsKX19ZWxzZSBpZih0LmlzSW1tZWRpYXRlUmVuZGVyT2JqZWN0KWkmJkYuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQubWF0cml4V29ybGQpLmFwcGx5TWF0cml4NChIKSxkLnB1c2godCxudWxsLHQubWF0ZXJpYWwsbixGLnosbnVsbCk7ZWxzZSBpZigodC5pc01lc2h8fHQuaXNMaW5lfHx0LmlzUG9pbnRzKSYmKHQuaXNTa2lubmVkTWVzaCYmdC5za2VsZXRvbi5mcmFtZSE9PXEucmVuZGVyLmZyYW1lJiYodC5za2VsZXRvbi51cGRhdGUoKSx0LnNrZWxldG9uLmZyYW1lPXEucmVuZGVyLmZyYW1lKSwhdC5mcnVzdHVtQ3VsbGVkfHxPLmludGVyc2VjdHNPYmplY3QodCkpKXtpJiZGLnNldEZyb21NYXRyaXhQb3NpdGlvbih0Lm1hdHJpeFdvcmxkKS5hcHBseU1hdHJpeDQoSCk7Y29uc3QgZT1RLnVwZGF0ZSh0KSxyPXQubWF0ZXJpYWw7aWYoQXJyYXkuaXNBcnJheShyKSl7Y29uc3QgaT1lLmdyb3Vwcztmb3IobGV0IG89MCxhPWkubGVuZ3RoO288YTtvKyspe2NvbnN0IGE9aVtvXSxzPXJbYS5tYXRlcmlhbEluZGV4XTtzJiZzLnZpc2libGUmJmQucHVzaCh0LGUscyxuLEYueixhKX19ZWxzZSByLnZpc2libGUmJmQucHVzaCh0LGUscixuLEYueixudWxsKX1jb25zdCByPXQuY2hpbGRyZW47Zm9yKGxldCB0PTAsbz1yLmxlbmd0aDt0PG87dCsrKVN0KHJbdF0sZSxuLGkpfWZ1bmN0aW9uIE10KHQsZSxuKXtjb25zdCBpPSEwPT09ZS5pc1NjZW5lP2Uub3ZlcnJpZGVNYXRlcmlhbDpudWxsO2lmKG4uaXNBcnJheUNhbWVyYSl7Y29uc3Qgcj1uLmNhbWVyYXM7Zm9yKGxldCBuPTAsbz1yLmxlbmd0aDtuPG87bisrKXtjb25zdCBvPXJbbl07Vy52aWV3cG9ydChTLmNvcHkoby52aWV3cG9ydCkpLHAuc2V0dXBMaWdodHNWaWV3KG8pO2ZvcihsZXQgbj0wLHI9dC5sZW5ndGg7bjxyO24rKyl7Y29uc3Qgcj10W25dLGE9ci5vYmplY3Qscz1yLmdlb21ldHJ5LGw9bnVsbD09PWk/ci5tYXRlcmlhbDppLGM9ci5ncm91cDthLmxheWVycy50ZXN0KG8ubGF5ZXJzKSYmRXQoYSxlLG8scyxsLGMpfX19ZWxzZSBmb3IobGV0IHI9MCxvPXQubGVuZ3RoO3I8bztyKyspe2NvbnN0IG89dFtyXTtFdChvLm9iamVjdCxlLG4sby5nZW9tZXRyeSxudWxsPT09aT9vLm1hdGVyaWFsOmksby5ncm91cCl9fWZ1bmN0aW9uIEV0KHQsZSxuLGkscixvKXtpZih0Lm9uQmVmb3JlUmVuZGVyKGcsZSxuLGkscixvKSx0Lm1vZGVsVmlld01hdHJpeC5tdWx0aXBseU1hdHJpY2VzKG4ubWF0cml4V29ybGRJbnZlcnNlLHQubWF0cml4V29ybGQpLHQubm9ybWFsTWF0cml4LmdldE5vcm1hbE1hdHJpeCh0Lm1vZGVsVmlld01hdHJpeCksdC5pc0ltbWVkaWF0ZVJlbmRlck9iamVjdCl7Y29uc3QgaT1BdChuLGUscix0KTtXLnNldE1hdGVyaWFsKHIpLGh0LnJlc2V0KCksKGZ1bmN0aW9uIGEodCxlKXt0LnJlbmRlcigoZnVuY3Rpb24odCl7Zy5yZW5kZXJCdWZmZXJJbW1lZGlhdGUodCxlKX0pKX0pKHQsaSl9ZWxzZSEwPT09ci50cmFuc3BhcmVudCYmMj09PXIuc2lkZT8oci5zaWRlPTEsci5uZWVkc1VwZGF0ZT0hMCxnLnJlbmRlckJ1ZmZlckRpcmVjdChuLGUsaSxyLHQsbyksci5zaWRlPTAsci5uZWVkc1VwZGF0ZT0hMCxnLnJlbmRlckJ1ZmZlckRpcmVjdChuLGUsaSxyLHQsbyksci5zaWRlPTIpOmcucmVuZGVyQnVmZmVyRGlyZWN0KG4sZSxpLHIsdCxvKTt0Lm9uQWZ0ZXJSZW5kZXIoZyxlLG4saSxyLG8pfWZ1bmN0aW9uIFR0KHQsZSxuKXshMCE9PWUuaXNTY2VuZSYmKGU9Vik7Y29uc3QgaT1ZLmdldCh0KSxyPXAuc3RhdGUubGlnaHRzLG89ci5zdGF0ZS52ZXJzaW9uLGE9dHQuZ2V0UGFyYW1ldGVycyh0LHIuc3RhdGUscC5zdGF0ZS5zaGFkb3dzQXJyYXksZSxuKSxzPXR0LmdldFByb2dyYW1DYWNoZUtleShhKTtsZXQgbD1pLnByb2dyYW1zO2kuZW52aXJvbm1lbnQ9dC5pc01lc2hTdGFuZGFyZE1hdGVyaWFsP2UuZW52aXJvbm1lbnQ6bnVsbCxpLmZvZz1lLmZvZyxpLmVudk1hcD0odC5pc01lc2hTdGFuZGFyZE1hdGVyaWFsP0s6JCkuZ2V0KHQuZW52TWFwfHxpLmVudmlyb25tZW50KSx2b2lkIDA9PT1sJiYodC5hZGRFdmVudExpc3RlbmVyKCJkaXNwb3NlIix5dCksbD1uZXcgTWFwLGkucHJvZ3JhbXM9bCk7bGV0IGM9bC5nZXQocyk7aWYodm9pZCAwIT09Yyl7aWYoaS5jdXJyZW50UHJvZ3JhbT09PWMmJmkubGlnaHRzU3RhdGVWZXJzaW9uPT09bylyZXR1cm4gQ3QodCxhKSxjfWVsc2UgYS51bmlmb3Jtcz10dC5nZXRVbmlmb3Jtcyh0KSx0Lm9uQnVpbGQoYSxnKSx0Lm9uQmVmb3JlQ29tcGlsZShhLGcpLGM9dHQuYWNxdWlyZVByb2dyYW0oYSxzKSxsLnNldChzLGMpLGkudW5pZm9ybXM9YS51bmlmb3Jtcztjb25zdCB1PWkudW5pZm9ybXM7KHQuaXNTaGFkZXJNYXRlcmlhbHx8dC5pc1Jhd1NoYWRlck1hdGVyaWFsKSYmITAhPT10LmNsaXBwaW5nfHwodS5jbGlwcGluZ1BsYW5lcz1ydC51bmlmb3JtKSxDdCh0LGEpLGkubmVlZHNMaWdodHM9KGZ1bmN0aW9uIGgodCl7cmV0dXJuIHQuaXNNZXNoTGFtYmVydE1hdGVyaWFsfHx0LmlzTWVzaFRvb25NYXRlcmlhbHx8dC5pc01lc2hQaG9uZ01hdGVyaWFsfHx0LmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWx8fHQuaXNTaGFkb3dNYXRlcmlhbHx8dC5pc1NoYWRlck1hdGVyaWFsJiYhMD09PXQubGlnaHRzfSkodCksaS5saWdodHNTdGF0ZVZlcnNpb249byxpLm5lZWRzTGlnaHRzJiYodS5hbWJpZW50TGlnaHRDb2xvci52YWx1ZT1yLnN0YXRlLmFtYmllbnQsdS5saWdodFByb2JlLnZhbHVlPXIuc3RhdGUucHJvYmUsdS5kaXJlY3Rpb25hbExpZ2h0cy52YWx1ZT1yLnN0YXRlLmRpcmVjdGlvbmFsLHUuZGlyZWN0aW9uYWxMaWdodFNoYWRvd3MudmFsdWU9ci5zdGF0ZS5kaXJlY3Rpb25hbFNoYWRvdyx1LnNwb3RMaWdodHMudmFsdWU9ci5zdGF0ZS5zcG90LHUuc3BvdExpZ2h0U2hhZG93cy52YWx1ZT1yLnN0YXRlLnNwb3RTaGFkb3csdS5yZWN0QXJlYUxpZ2h0cy52YWx1ZT1yLnN0YXRlLnJlY3RBcmVhLHUubHRjXzEudmFsdWU9ci5zdGF0ZS5yZWN0QXJlYUxUQzEsdS5sdGNfMi52YWx1ZT1yLnN0YXRlLnJlY3RBcmVhTFRDMix1LnBvaW50TGlnaHRzLnZhbHVlPXIuc3RhdGUucG9pbnQsdS5wb2ludExpZ2h0U2hhZG93cy52YWx1ZT1yLnN0YXRlLnBvaW50U2hhZG93LHUuaGVtaXNwaGVyZUxpZ2h0cy52YWx1ZT1yLnN0YXRlLmhlbWksdS5kaXJlY3Rpb25hbFNoYWRvd01hcC52YWx1ZT1yLnN0YXRlLmRpcmVjdGlvbmFsU2hhZG93TWFwLHUuZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXgudmFsdWU9ci5zdGF0ZS5kaXJlY3Rpb25hbFNoYWRvd01hdHJpeCx1LnNwb3RTaGFkb3dNYXAudmFsdWU9ci5zdGF0ZS5zcG90U2hhZG93TWFwLHUuc3BvdFNoYWRvd01hdHJpeC52YWx1ZT1yLnN0YXRlLnNwb3RTaGFkb3dNYXRyaXgsdS5wb2ludFNoYWRvd01hcC52YWx1ZT1yLnN0YXRlLnBvaW50U2hhZG93TWFwLHUucG9pbnRTaGFkb3dNYXRyaXgudmFsdWU9ci5zdGF0ZS5wb2ludFNoYWRvd01hdHJpeCk7Y29uc3QgZD1jLmdldFVuaWZvcm1zKCksZj1mOHQuc2VxV2l0aFZhbHVlKGQuc2VxLHUpO3JldHVybiBpLmN1cnJlbnRQcm9ncmFtPWMsaS51bmlmb3Jtc0xpc3Q9ZixjfWZ1bmN0aW9uIEN0KHQsZSl7Y29uc3Qgbj1ZLmdldCh0KTtuLm91dHB1dEVuY29kaW5nPWUub3V0cHV0RW5jb2Rpbmcsbi5pbnN0YW5jaW5nPWUuaW5zdGFuY2luZyxuLnNraW5uaW5nPWUuc2tpbm5pbmcsbi5tb3JwaFRhcmdldHM9ZS5tb3JwaFRhcmdldHMsbi5tb3JwaE5vcm1hbHM9ZS5tb3JwaE5vcm1hbHMsbi5udW1DbGlwcGluZ1BsYW5lcz1lLm51bUNsaXBwaW5nUGxhbmVzLG4ubnVtSW50ZXJzZWN0aW9uPWUubnVtQ2xpcEludGVyc2VjdGlvbixuLnZlcnRleEFscGhhcz1lLnZlcnRleEFscGhhcyxuLnZlcnRleFRhbmdlbnRzPWUudmVydGV4VGFuZ2VudHN9ZnVuY3Rpb24gQXQodCxlLG4saSl7ITAhPT1lLmlzU2NlbmUmJihlPVYpLFgucmVzZXRUZXh0dXJlVW5pdHMoKTtjb25zdCByPWUuZm9nLG89bnVsbD09PWI/Zy5vdXRwdXRFbmNvZGluZzpiLnRleHR1cmUuZW5jb2RpbmcsYT0obi5pc01lc2hTdGFuZGFyZE1hdGVyaWFsP0s6JCkuZ2V0KG4uZW52TWFwfHwobi5pc01lc2hTdGFuZGFyZE1hdGVyaWFsP2UuZW52aXJvbm1lbnQ6bnVsbCkpLHM9ITA9PT1uLnZlcnRleENvbG9ycyYmISFpLmdlb21ldHJ5JiYhIWkuZ2VvbWV0cnkuYXR0cmlidXRlcy5jb2xvciYmND09PWkuZ2VvbWV0cnkuYXR0cmlidXRlcy5jb2xvci5pdGVtU2l6ZSxsPSEhaS5nZW9tZXRyeSYmISFpLmdlb21ldHJ5LmF0dHJpYnV0ZXMudGFuZ2VudCxjPSEhaS5nZW9tZXRyeSYmISFpLmdlb21ldHJ5Lm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbix1PSEhaS5nZW9tZXRyeSYmISFpLmdlb21ldHJ5Lm1vcnBoQXR0cmlidXRlcy5ub3JtYWwsaD1ZLmdldChuKSxkPXAuc3RhdGUubGlnaHRzO2lmKCEwPT09eiYmKCEwPT09RHx8dCE9PXcpKXtydC5zZXRTdGF0ZShuLHQsdD09PXcmJm4uaWQ9PT14KX1sZXQgZj0hMTtuLnZlcnNpb249PT1oLl9fdmVyc2lvbj9oLm5lZWRzTGlnaHRzJiZoLmxpZ2h0c1N0YXRlVmVyc2lvbiE9PWQuc3RhdGUudmVyc2lvbnx8aC5vdXRwdXRFbmNvZGluZyE9PW98fGkuaXNJbnN0YW5jZWRNZXNoJiYhMT09PWguaW5zdGFuY2luZz9mPSEwOmkuaXNJbnN0YW5jZWRNZXNofHwhMCE9PWguaW5zdGFuY2luZz9pLmlzU2tpbm5lZE1lc2gmJiExPT09aC5za2lubmluZz9mPSEwOmkuaXNTa2lubmVkTWVzaHx8ITAhPT1oLnNraW5uaW5nP2guZW52TWFwIT09YXx8bi5mb2cmJmguZm9nIT09cj9mPSEwOnZvaWQgMD09PWgubnVtQ2xpcHBpbmdQbGFuZXN8fGgubnVtQ2xpcHBpbmdQbGFuZXM9PT1ydC5udW1QbGFuZXMmJmgubnVtSW50ZXJzZWN0aW9uPT09cnQubnVtSW50ZXJzZWN0aW9uPyhoLnZlcnRleEFscGhhcyE9PXN8fGgudmVydGV4VGFuZ2VudHMhPT1sfHxoLm1vcnBoVGFyZ2V0cyE9PWN8fGgubW9ycGhOb3JtYWxzIT09dSkmJihmPSEwKTpmPSEwOmY9ITA6Zj0hMDooZj0hMCxoLl9fdmVyc2lvbj1uLnZlcnNpb24pO2xldCBtPWguY3VycmVudFByb2dyYW07ITA9PT1mJiYobT1UdChuLGUsaSkpO2xldCBfPSExLHk9ITEsdj0hMTtjb25zdCBTPW0uZ2V0VW5pZm9ybXMoKSxNPWgudW5pZm9ybXM7aWYoVy51c2VQcm9ncmFtKG0ucHJvZ3JhbSkmJihfPSEwLHk9ITAsdj0hMCksbi5pZCE9PXgmJih4PW4uaWQseT0hMCksX3x8dyE9PXQpe2lmKFMuc2V0VmFsdWUoZHQsInByb2plY3Rpb25NYXRyaXgiLHQucHJvamVjdGlvbk1hdHJpeCksRy5sb2dhcml0aG1pY0RlcHRoQnVmZmVyJiZTLnNldFZhbHVlKGR0LCJsb2dEZXB0aEJ1ZkZDIiwyLyhNYXRoLmxvZyh0LmZhcisxKS9NYXRoLkxOMikpLHchPT10JiYodz10LHk9ITAsdj0hMCksbi5pc1NoYWRlck1hdGVyaWFsfHxuLmlzTWVzaFBob25nTWF0ZXJpYWx8fG4uaXNNZXNoVG9vbk1hdGVyaWFsfHxuLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWx8fG4uZW52TWFwKXtjb25zdCBlPVMubWFwLmNhbWVyYVBvc2l0aW9uO3ZvaWQgMCE9PWUmJmUuc2V0VmFsdWUoZHQsRi5zZXRGcm9tTWF0cml4UG9zaXRpb24odC5tYXRyaXhXb3JsZCkpfShuLmlzTWVzaFBob25nTWF0ZXJpYWx8fG4uaXNNZXNoVG9vbk1hdGVyaWFsfHxuLmlzTWVzaExhbWJlcnRNYXRlcmlhbHx8bi5pc01lc2hCYXNpY01hdGVyaWFsfHxuLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWx8fG4uaXNTaGFkZXJNYXRlcmlhbCkmJlMuc2V0VmFsdWUoZHQsImlzT3J0aG9ncmFwaGljIiwhMD09PXQuaXNPcnRob2dyYXBoaWNDYW1lcmEpLChuLmlzTWVzaFBob25nTWF0ZXJpYWx8fG4uaXNNZXNoVG9vbk1hdGVyaWFsfHxuLmlzTWVzaExhbWJlcnRNYXRlcmlhbHx8bi5pc01lc2hCYXNpY01hdGVyaWFsfHxuLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWx8fG4uaXNTaGFkZXJNYXRlcmlhbHx8bi5pc1NoYWRvd01hdGVyaWFsfHxpLmlzU2tpbm5lZE1lc2gpJiZTLnNldFZhbHVlKGR0LCJ2aWV3TWF0cml4Iix0Lm1hdHJpeFdvcmxkSW52ZXJzZSl9aWYoaS5pc1NraW5uZWRNZXNoKXtTLnNldE9wdGlvbmFsKGR0LGksImJpbmRNYXRyaXgiKSxTLnNldE9wdGlvbmFsKGR0LGksImJpbmRNYXRyaXhJbnZlcnNlIik7Y29uc3QgdD1pLnNrZWxldG9uO3QmJihHLmZsb2F0VmVydGV4VGV4dHVyZXM/KG51bGw9PT10LmJvbmVUZXh0dXJlJiZ0LmNvbXB1dGVCb25lVGV4dHVyZSgpLFMuc2V0VmFsdWUoZHQsImJvbmVUZXh0dXJlIix0LmJvbmVUZXh0dXJlLFgpLFMuc2V0VmFsdWUoZHQsImJvbmVUZXh0dXJlU2l6ZSIsdC5ib25lVGV4dHVyZVNpemUpKTpTLnNldE9wdGlvbmFsKGR0LHQsImJvbmVNYXRyaWNlcyIpKX1yZXR1cm4oeXx8aC5yZWNlaXZlU2hhZG93IT09aS5yZWNlaXZlU2hhZG93KSYmKGgucmVjZWl2ZVNoYWRvdz1pLnJlY2VpdmVTaGFkb3csUy5zZXRWYWx1ZShkdCwicmVjZWl2ZVNoYWRvdyIsaS5yZWNlaXZlU2hhZG93KSkseSYmKFMuc2V0VmFsdWUoZHQsInRvbmVNYXBwaW5nRXhwb3N1cmUiLGcudG9uZU1hcHBpbmdFeHBvc3VyZSksaC5uZWVkc0xpZ2h0cyYmKGZ1bmN0aW9uIEUodCxlKXt0LmFtYmllbnRMaWdodENvbG9yLm5lZWRzVXBkYXRlPWUsdC5saWdodFByb2JlLm5lZWRzVXBkYXRlPWUsdC5kaXJlY3Rpb25hbExpZ2h0cy5uZWVkc1VwZGF0ZT1lLHQuZGlyZWN0aW9uYWxMaWdodFNoYWRvd3MubmVlZHNVcGRhdGU9ZSx0LnBvaW50TGlnaHRzLm5lZWRzVXBkYXRlPWUsdC5wb2ludExpZ2h0U2hhZG93cy5uZWVkc1VwZGF0ZT1lLHQuc3BvdExpZ2h0cy5uZWVkc1VwZGF0ZT1lLHQuc3BvdExpZ2h0U2hhZG93cy5uZWVkc1VwZGF0ZT1lLHQucmVjdEFyZWFMaWdodHMubmVlZHNVcGRhdGU9ZSx0LmhlbWlzcGhlcmVMaWdodHMubmVlZHNVcGRhdGU9ZX0pKE0sdiksciYmbi5mb2cmJmV0LnJlZnJlc2hGb2dVbmlmb3JtcyhNLHIpLGV0LnJlZnJlc2hNYXRlcmlhbFVuaWZvcm1zKE0sbixBLEMsQiksZjh0LnVwbG9hZChkdCxoLnVuaWZvcm1zTGlzdCxNLFgpKSxuLmlzU2hhZGVyTWF0ZXJpYWwmJiEwPT09bi51bmlmb3Jtc05lZWRVcGRhdGUmJihmOHQudXBsb2FkKGR0LGgudW5pZm9ybXNMaXN0LE0sWCksbi51bmlmb3Jtc05lZWRVcGRhdGU9ITEpLG4uaXNTcHJpdGVNYXRlcmlhbCYmUy5zZXRWYWx1ZShkdCwiY2VudGVyIixpLmNlbnRlciksUy5zZXRWYWx1ZShkdCwibW9kZWxWaWV3TWF0cml4IixpLm1vZGVsVmlld01hdHJpeCksUy5zZXRWYWx1ZShkdCwibm9ybWFsTWF0cml4IixpLm5vcm1hbE1hdHJpeCksUy5zZXRWYWx1ZShkdCwibW9kZWxNYXRyaXgiLGkubWF0cml4V29ybGQpLG19d3Quc2V0QW5pbWF0aW9uTG9vcCgoZnVuY3Rpb24ga3QodCl7dnQmJnZ0KHQpfSkpLCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3dC5zZXRDb250ZXh0KHdpbmRvdyksdGhpcy5zZXRBbmltYXRpb25Mb29wPWZ1bmN0aW9uKHQpe3Z0PXQsbXQuc2V0QW5pbWF0aW9uTG9vcCh0KSxudWxsPT09dD93dC5zdG9wKCk6d3Quc3RhcnQoKX0sbXQuYWRkRXZlbnRMaXN0ZW5lcigic2Vzc2lvbnN0YXJ0IixidCksbXQuYWRkRXZlbnRMaXN0ZW5lcigic2Vzc2lvbmVuZCIseHQpLHRoaXMucmVuZGVyPWZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwIT09ZSYmITAhPT1lLmlzQ2FtZXJhKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXIucmVuZGVyOiBjYW1lcmEgaXMgbm90IGFuIGluc3RhbmNlIG9mIFRIUkVFLkNhbWVyYS4iKTtpZighMD09PV8pcmV0dXJuOyEwPT09dC5hdXRvVXBkYXRlJiZ0LnVwZGF0ZU1hdHJpeFdvcmxkKCksbnVsbD09PWUucGFyZW50JiZlLnVwZGF0ZU1hdHJpeFdvcmxkKCksITA9PT1tdC5lbmFibGVkJiYhMD09PW10LmlzUHJlc2VudGluZyYmKCEwPT09bXQuY2FtZXJhQXV0b1VwZGF0ZSYmbXQudXBkYXRlQ2FtZXJhKGUpLGU9bXQuZ2V0Q2FtZXJhKCkpLCEwPT09dC5pc1NjZW5lJiZ0Lm9uQmVmb3JlUmVuZGVyKGcsdCxlLGIpLHA9aXQuZ2V0KHQsbS5sZW5ndGgpLHAuaW5pdCgpLG0ucHVzaChwKSxILm11bHRpcGx5TWF0cmljZXMoZS5wcm9qZWN0aW9uTWF0cml4LGUubWF0cml4V29ybGRJbnZlcnNlKSxPLnNldEZyb21Qcm9qZWN0aW9uTWF0cml4KEgpLEQ9dGhpcy5sb2NhbENsaXBwaW5nRW5hYmxlZCx6PXJ0LmluaXQodGhpcy5jbGlwcGluZ1BsYW5lcyxELGUpLGQ9bnQuZ2V0KHQsZi5sZW5ndGgpLGQuaW5pdCgpLGYucHVzaChkKSxTdCh0LGUsMCxnLnNvcnRPYmplY3RzKSxkLmZpbmlzaCgpLCEwPT09Zy5zb3J0T2JqZWN0cyYmZC5zb3J0KGssTCksITA9PT16JiZydC5iZWdpblNoYWRvd3MoKTtvdC5yZW5kZXIocC5zdGF0ZS5zaGFkb3dzQXJyYXksdCxlKSxwLnNldHVwTGlnaHRzKCkscC5zZXR1cExpZ2h0c1ZpZXcoZSksITA9PT16JiZydC5lbmRTaGFkb3dzKCksITA9PT10aGlzLmluZm8uYXV0b1Jlc2V0JiZ0aGlzLmluZm8ucmVzZXQoKSxhdC5yZW5kZXIoZCx0KTtjb25zdCBuPWQub3BhcXVlLGk9ZC50cmFuc21pc3NpdmUscj1kLnRyYW5zcGFyZW50O24ubGVuZ3RoPjAmJk10KG4sdCxlKSxpLmxlbmd0aD4wJiYoZnVuY3Rpb24gbyh0LGUsbixpKXtpZihudWxsPT09Qil7Qj1uZXcoITA9PT1zJiYhMD09PUcuaXNXZWJHTDI/RDV0Ok81dCkoMTAyNCwxMDI0LHtnZW5lcmF0ZU1pcG1hcHM6ITAsdHlwZTpudWxsIT09dXQuY29udmVydChiMnQpP2IydDpnMnQsbWluRmlsdGVyOm0ydCxtYWdGaWx0ZXI6dTJ0LHdyYXBTOmwydCx3cmFwVDpsMnR9KX1jb25zdCByPWcuZ2V0UmVuZGVyVGFyZ2V0KCk7Zy5zZXRSZW5kZXJUYXJnZXQoQiksZy5jbGVhcigpO2NvbnN0IG89Zy50b25lTWFwcGluZztnLnRvbmVNYXBwaW5nPTAsTXQodCxuLGkpLGcudG9uZU1hcHBpbmc9byxYLnVwZGF0ZU11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0KEIpLFgudXBkYXRlUmVuZGVyVGFyZ2V0TWlwbWFwKEIpLGcuc2V0UmVuZGVyVGFyZ2V0KHIpLE10KGUsbixpKX0pKG4saSx0LGUpLHIubGVuZ3RoPjAmJk10KHIsdCxlKSxudWxsIT09YiYmKFgudXBkYXRlTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQoYiksWC51cGRhdGVSZW5kZXJUYXJnZXRNaXBtYXAoYikpLCEwPT09dC5pc1NjZW5lJiZ0Lm9uQWZ0ZXJSZW5kZXIoZyx0LGUpLFcuYnVmZmVycy5kZXB0aC5zZXRUZXN0KCEwKSxXLmJ1ZmZlcnMuZGVwdGguc2V0TWFzayghMCksVy5idWZmZXJzLmNvbG9yLnNldE1hc2soITApLFcuc2V0UG9seWdvbk9mZnNldCghMSksaHQucmVzZXREZWZhdWx0U3RhdGUoKSx4PS0xLHc9bnVsbCxtLnBvcCgpLHA9bS5sZW5ndGg+MD9tW20ubGVuZ3RoLTFdOm51bGwsZi5wb3AoKSxkPWYubGVuZ3RoPjA/ZltmLmxlbmd0aC0xXTpudWxsfSx0aGlzLmdldEFjdGl2ZUN1YmVGYWNlPWZ1bmN0aW9uKCl7cmV0dXJuIHl9LHRoaXMuZ2V0QWN0aXZlTWlwbWFwTGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4gdn0sdGhpcy5nZXRSZW5kZXJUYXJnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gYn0sdGhpcy5zZXRSZW5kZXJUYXJnZXQ9ZnVuY3Rpb24odCxlPTAsbj0wKXtiPXQseT1lLHY9bix0JiZ2b2lkIDA9PT1ZLmdldCh0KS5fX3dlYmdsRnJhbWVidWZmZXImJlguc2V0dXBSZW5kZXJUYXJnZXQodCk7bGV0IGk9bnVsbCxyPSExLG89ITE7aWYodCl7Y29uc3Qgbj10LnRleHR1cmU7KG4uaXNEYXRhVGV4dHVyZTNEfHxuLmlzRGF0YVRleHR1cmUyREFycmF5KSYmKG89ITApO2NvbnN0IGE9WS5nZXQodCkuX193ZWJnbEZyYW1lYnVmZmVyO3QuaXNXZWJHTEN1YmVSZW5kZXJUYXJnZXQ/KGk9YVtlXSxyPSEwKTppPXQuaXNXZWJHTE11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0P1kuZ2V0KHQpLl9fd2ViZ2xNdWx0aXNhbXBsZWRGcmFtZWJ1ZmZlcjphLFMuY29weSh0LnZpZXdwb3J0KSxNLmNvcHkodC5zY2lzc29yKSxFPXQuc2Npc3NvclRlc3R9ZWxzZSBTLmNvcHkoUCkubXVsdGlwbHlTY2FsYXIoQSkuZmxvb3IoKSxNLmNvcHkoTikubXVsdGlwbHlTY2FsYXIoQSkuZmxvb3IoKSxFPUk7aWYoVy5iaW5kRnJhbWVidWZmZXIoMzYxNjAsaSkmJkcuZHJhd0J1ZmZlcnMpe2xldCBlPSExO2lmKHQpaWYodC5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzKXtjb25zdCBuPXQudGV4dHVyZTtpZihSLmxlbmd0aCE9PW4ubGVuZ3RofHwzNjA2NCE9PVJbMF0pe2ZvcihsZXQgdD0wLGU9bi5sZW5ndGg7dDxlO3QrKylSW3RdPTM2MDY0K3Q7Ui5sZW5ndGg9bi5sZW5ndGgsZT0hMH19ZWxzZSAxPT09Ui5sZW5ndGgmJjM2MDY0PT09UlswXXx8KFJbMF09MzYwNjQsUi5sZW5ndGg9MSxlPSEwKTtlbHNlIDE9PT1SLmxlbmd0aCYmMTAyOT09PVJbMF18fChSWzBdPTEwMjksUi5sZW5ndGg9MSxlPSEwKTtlJiYoRy5pc1dlYkdMMj9kdC5kcmF3QnVmZmVycyhSKTpqLmdldCgiV0VCR0xfZHJhd19idWZmZXJzIikuZHJhd0J1ZmZlcnNXRUJHTChSKSl9aWYoVy52aWV3cG9ydChTKSxXLnNjaXNzb3IoTSksVy5zZXRTY2lzc29yVGVzdChFKSxyKXtjb25zdCBpPVkuZ2V0KHQudGV4dHVyZSk7ZHQuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzYwNjQsMzQwNjkrZSxpLl9fd2ViZ2xUZXh0dXJlLG4pfWVsc2UgaWYobyl7Y29uc3QgaT1ZLmdldCh0LnRleHR1cmUpO2R0LmZyYW1lYnVmZmVyVGV4dHVyZUxheWVyKDM2MTYwLDM2MDY0LGkuX193ZWJnbFRleHR1cmUsbnx8MCxlfHwwKX19LHRoaXMucmVhZFJlbmRlclRhcmdldFBpeGVscz1mdW5jdGlvbih0LGUsbixpLHIsbyxhKXtpZighdHx8IXQuaXNXZWJHTFJlbmRlclRhcmdldClyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyLnJlYWRSZW5kZXJUYXJnZXRQaXhlbHM6IHJlbmRlclRhcmdldCBpcyBub3QgVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQuIik7bGV0IHM9WS5nZXQodCkuX193ZWJnbEZyYW1lYnVmZmVyO2lmKHQuaXNXZWJHTEN1YmVSZW5kZXJUYXJnZXQmJnZvaWQgMCE9PWEmJihzPXNbYV0pLHMpe1cuYmluZEZyYW1lYnVmZmVyKDM2MTYwLHMpO3RyeXtjb25zdCBhPXQudGV4dHVyZSxzPWEuZm9ybWF0LGw9YS50eXBlO2lmKHMhPT1TMnQmJnV0LmNvbnZlcnQocykhPT1kdC5nZXRQYXJhbWV0ZXIoMzU3MzkpKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXIucmVhZFJlbmRlclRhcmdldFBpeGVsczogcmVuZGVyVGFyZ2V0IGlzIG5vdCBpbiBSR0JBIG9yIGltcGxlbWVudGF0aW9uIGRlZmluZWQgZm9ybWF0LiIpO2NvbnN0IGM9bD09PWIydCYmKGouaGFzKCJFWFRfY29sb3JfYnVmZmVyX2hhbGZfZmxvYXQiKXx8Ry5pc1dlYkdMMiYmai5oYXMoIkVYVF9jb2xvcl9idWZmZXJfZmxvYXQiKSk7aWYoIShsPT09ZzJ0fHx1dC5jb252ZXJ0KGwpPT09ZHQuZ2V0UGFyYW1ldGVyKDM1NzM4KXx8bD09PXYydCYmKEcuaXNXZWJHTDJ8fGouaGFzKCJPRVNfdGV4dHVyZV9mbG9hdCIpfHxqLmhhcygiV0VCR0xfY29sb3JfYnVmZmVyX2Zsb2F0IikpfHxjKSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyLnJlYWRSZW5kZXJUYXJnZXRQaXhlbHM6IHJlbmRlclRhcmdldCBpcyBub3QgaW4gVW5zaWduZWRCeXRlVHlwZSBvciBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIHR5cGUuIik7MzYwNTM9PT1kdC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKDM2MTYwKT9lPj0wJiZlPD10LndpZHRoLWkmJm4+PTAmJm48PXQuaGVpZ2h0LXImJmR0LnJlYWRQaXhlbHMoZSxuLGkscix1dC5jb252ZXJ0KHMpLHV0LmNvbnZlcnQobCksbyk6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xSZW5kZXJlci5yZWFkUmVuZGVyVGFyZ2V0UGl4ZWxzOiByZWFkUGl4ZWxzIGZyb20gcmVuZGVyVGFyZ2V0IGZhaWxlZC4gRnJhbWVidWZmZXIgbm90IGNvbXBsZXRlLiIpfWZpbmFsbHl7Y29uc3QgdD1udWxsIT09Yj9ZLmdldChiKS5fX3dlYmdsRnJhbWVidWZmZXI6bnVsbDtXLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCx0KX19fSx0aGlzLmNvcHlGcmFtZWJ1ZmZlclRvVGV4dHVyZT1mdW5jdGlvbih0LGUsbj0wKXtjb25zdCBpPU1hdGgucG93KDIsLW4pLHI9TWF0aC5mbG9vcihlLmltYWdlLndpZHRoKmkpLG89TWF0aC5mbG9vcihlLmltYWdlLmhlaWdodCppKTtsZXQgYT11dC5jb252ZXJ0KGUuZm9ybWF0KTtHLmlzV2ViR0wyJiYoNjQwNz09PWEmJihhPTMyODQ5KSw2NDA4PT09YSYmKGE9MzI4NTYpKSxYLnNldFRleHR1cmUyRChlLDApLGR0LmNvcHlUZXhJbWFnZTJEKDM1NTMsbixhLHQueCx0LnkscixvLDApLFcudW5iaW5kVGV4dHVyZSgpfSx0aGlzLmNvcHlUZXh0dXJlVG9UZXh0dXJlPWZ1bmN0aW9uKHQsZSxuLGk9MCl7Y29uc3Qgcj1lLmltYWdlLndpZHRoLG89ZS5pbWFnZS5oZWlnaHQsYT11dC5jb252ZXJ0KG4uZm9ybWF0KSxzPXV0LmNvbnZlcnQobi50eXBlKTtYLnNldFRleHR1cmUyRChuLDApLGR0LnBpeGVsU3RvcmVpKDM3NDQwLG4uZmxpcFkpLGR0LnBpeGVsU3RvcmVpKDM3NDQxLG4ucHJlbXVsdGlwbHlBbHBoYSksZHQucGl4ZWxTdG9yZWkoMzMxNyxuLnVucGFja0FsaWdubWVudCksZS5pc0RhdGFUZXh0dXJlP2R0LnRleFN1YkltYWdlMkQoMzU1MyxpLHQueCx0LnkscixvLGEscyxlLmltYWdlLmRhdGEpOmUuaXNDb21wcmVzc2VkVGV4dHVyZT9kdC5jb21wcmVzc2VkVGV4U3ViSW1hZ2UyRCgzNTUzLGksdC54LHQueSxlLm1pcG1hcHNbMF0ud2lkdGgsZS5taXBtYXBzWzBdLmhlaWdodCxhLGUubWlwbWFwc1swXS5kYXRhKTpkdC50ZXhTdWJJbWFnZTJEKDM1NTMsaSx0LngsdC55LGEscyxlLmltYWdlKSwwPT09aSYmbi5nZW5lcmF0ZU1pcG1hcHMmJmR0LmdlbmVyYXRlTWlwbWFwKDM1NTMpLFcudW5iaW5kVGV4dHVyZSgpfSx0aGlzLmNvcHlUZXh0dXJlVG9UZXh0dXJlM0Q9ZnVuY3Rpb24odCxlLG4saSxyPTApe2lmKGcuaXNXZWJHTDFSZW5kZXJlcilyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXIuY29weVRleHR1cmVUb1RleHR1cmUzRDogY2FuIG9ubHkgYmUgdXNlZCB3aXRoIFdlYkdMMi4iKTtjb25zdCBvPXQubWF4LngtdC5taW4ueCsxLGE9dC5tYXgueS10Lm1pbi55KzEscz10Lm1heC56LXQubWluLnorMSxsPXV0LmNvbnZlcnQoaS5mb3JtYXQpLGM9dXQuY29udmVydChpLnR5cGUpO2xldCB1O2lmKGkuaXNEYXRhVGV4dHVyZTNEKVguc2V0VGV4dHVyZTNEKGksMCksdT0zMjg3OTtlbHNle2lmKCFpLmlzRGF0YVRleHR1cmUyREFycmF5KXJldHVybiB2b2lkIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlci5jb3B5VGV4dHVyZVRvVGV4dHVyZTNEOiBvbmx5IHN1cHBvcnRzIFRIUkVFLkRhdGFUZXh0dXJlM0QgYW5kIFRIUkVFLkRhdGFUZXh0dXJlMkRBcnJheS4iKTtYLnNldFRleHR1cmUyREFycmF5KGksMCksdT0zNTg2Nn1kdC5waXhlbFN0b3JlaSgzNzQ0MCxpLmZsaXBZKSxkdC5waXhlbFN0b3JlaSgzNzQ0MSxpLnByZW11bHRpcGx5QWxwaGEpLGR0LnBpeGVsU3RvcmVpKDMzMTcsaS51bnBhY2tBbGlnbm1lbnQpO2NvbnN0IGg9ZHQuZ2V0UGFyYW1ldGVyKDMzMTQpLGQ9ZHQuZ2V0UGFyYW1ldGVyKDMyODc4KSxwPWR0LmdldFBhcmFtZXRlcigzMzE2KSxmPWR0LmdldFBhcmFtZXRlcigzMzE1KSxtPWR0LmdldFBhcmFtZXRlcigzMjg3NyksXz1uLmlzQ29tcHJlc3NlZFRleHR1cmU/bi5taXBtYXBzWzBdOm4uaW1hZ2U7ZHQucGl4ZWxTdG9yZWkoMzMxNCxfLndpZHRoKSxkdC5waXhlbFN0b3JlaSgzMjg3OCxfLmhlaWdodCksZHQucGl4ZWxTdG9yZWkoMzMxNix0Lm1pbi54KSxkdC5waXhlbFN0b3JlaSgzMzE1LHQubWluLnkpLGR0LnBpeGVsU3RvcmVpKDMyODc3LHQubWluLnopLG4uaXNEYXRhVGV4dHVyZXx8bi5pc0RhdGFUZXh0dXJlM0Q/ZHQudGV4U3ViSW1hZ2UzRCh1LHIsZS54LGUueSxlLnosbyxhLHMsbCxjLF8uZGF0YSk6bi5pc0NvbXByZXNzZWRUZXh0dXJlPyhjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXIuY29weVRleHR1cmVUb1RleHR1cmUzRDogdW50ZXN0ZWQgc3VwcG9ydCBmb3IgY29tcHJlc3NlZCBzcmNUZXh0dXJlLiIpLGR0LmNvbXByZXNzZWRUZXhTdWJJbWFnZTNEKHUscixlLngsZS55LGUueixvLGEscyxsLF8uZGF0YSkpOmR0LnRleFN1YkltYWdlM0QodSxyLGUueCxlLnksZS56LG8sYSxzLGwsYyxfKSxkdC5waXhlbFN0b3JlaSgzMzE0LGgpLGR0LnBpeGVsU3RvcmVpKDMyODc4LGQpLGR0LnBpeGVsU3RvcmVpKDMzMTYscCksZHQucGl4ZWxTdG9yZWkoMzMxNSxmKSxkdC5waXhlbFN0b3JlaSgzMjg3NyxtKSwwPT09ciYmaS5nZW5lcmF0ZU1pcG1hcHMmJmR0LmdlbmVyYXRlTWlwbWFwKHUpLFcudW5iaW5kVGV4dHVyZSgpfSx0aGlzLmluaXRUZXh0dXJlPWZ1bmN0aW9uKHQpe1guc2V0VGV4dHVyZTJEKHQsMCksVy51bmJpbmRUZXh0dXJlKCl9LHRoaXMucmVzZXRTdGF0ZT1mdW5jdGlvbigpe3k9MCx2PTAsYj1udWxsLFcucmVzZXQoKSxodC5yZXNldCgpfSwidW5kZWZpbmVkIiE9dHlwZW9mIF9fVEhSRUVfREVWVE9PTFNfXyYmX19USFJFRV9ERVZUT09MU19fLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJvYnNlcnZlIix7ZGV0YWlsOnRoaXN9KSl9Y2xhc3MgYTd0IGV4dGVuZHMgbzd0e31hN3QucHJvdG90eXBlLmlzV2ViR0wxUmVuZGVyZXI9ITA7Y2xhc3Mgczd0e2NvbnN0cnVjdG9yKHQsZT0yNWUtNSl7dGhpcy5uYW1lPSIiLHRoaXMuY29sb3I9bmV3IHM0dCh0KSx0aGlzLmRlbnNpdHk9ZX1jbG9uZSgpe3JldHVybiBuZXcgczd0KHRoaXMuY29sb3IsdGhpcy5kZW5zaXR5KX10b0pTT04oKXtyZXR1cm57dHlwZToiRm9nRXhwMiIsY29sb3I6dGhpcy5jb2xvci5nZXRIZXgoKSxkZW5zaXR5OnRoaXMuZGVuc2l0eX19fXM3dC5wcm90b3R5cGUuaXNGb2dFeHAyPSEwO2NsYXNzIGw3dHtjb25zdHJ1Y3Rvcih0LGU9MSxuPTFlMyl7dGhpcy5uYW1lPSIiLHRoaXMuY29sb3I9bmV3IHM0dCh0KSx0aGlzLm5lYXI9ZSx0aGlzLmZhcj1ufWNsb25lKCl7cmV0dXJuIG5ldyBsN3QodGhpcy5jb2xvcix0aGlzLm5lYXIsdGhpcy5mYXIpfXRvSlNPTigpe3JldHVybnt0eXBlOiJGb2ciLGNvbG9yOnRoaXMuY29sb3IuZ2V0SGV4KCksbmVhcjp0aGlzLm5lYXIsZmFyOnRoaXMuZmFyfX19bDd0LnByb3RvdHlwZS5pc0ZvZz0hMDtjbGFzcyBjN3QgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iU2NlbmUiLHRoaXMuYmFja2dyb3VuZD1udWxsLHRoaXMuZW52aXJvbm1lbnQ9bnVsbCx0aGlzLmZvZz1udWxsLHRoaXMub3ZlcnJpZGVNYXRlcmlhbD1udWxsLHRoaXMuYXV0b1VwZGF0ZT0hMCwidW5kZWZpbmVkIiE9dHlwZW9mIF9fVEhSRUVfREVWVE9PTFNfXyYmX19USFJFRV9ERVZUT09MU19fLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJvYnNlcnZlIix7ZGV0YWlsOnRoaXN9KSl9Y29weSh0LGUpe3JldHVybiBzdXBlci5jb3B5KHQsZSksbnVsbCE9PXQuYmFja2dyb3VuZCYmKHRoaXMuYmFja2dyb3VuZD10LmJhY2tncm91bmQuY2xvbmUoKSksbnVsbCE9PXQuZW52aXJvbm1lbnQmJih0aGlzLmVudmlyb25tZW50PXQuZW52aXJvbm1lbnQuY2xvbmUoKSksbnVsbCE9PXQuZm9nJiYodGhpcy5mb2c9dC5mb2cuY2xvbmUoKSksbnVsbCE9PXQub3ZlcnJpZGVNYXRlcmlhbCYmKHRoaXMub3ZlcnJpZGVNYXRlcmlhbD10Lm92ZXJyaWRlTWF0ZXJpYWwuY2xvbmUoKSksdGhpcy5hdXRvVXBkYXRlPXQuYXV0b1VwZGF0ZSx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9dC5tYXRyaXhBdXRvVXBkYXRlLHRoaXN9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO3JldHVybiBudWxsIT09dGhpcy5mb2cmJihlLm9iamVjdC5mb2c9dGhpcy5mb2cudG9KU09OKCkpLGV9fWM3dC5wcm90b3R5cGUuaXNTY2VuZT0hMDtjbGFzcyB1N3R7Y29uc3RydWN0b3IodCxlKXt0aGlzLmFycmF5PXQsdGhpcy5zdHJpZGU9ZSx0aGlzLmNvdW50PXZvaWQgMCE9PXQ/dC5sZW5ndGgvZTowLHRoaXMudXNhZ2U9SjJ0LHRoaXMudXBkYXRlUmFuZ2U9e29mZnNldDowLGNvdW50Oi0xfSx0aGlzLnZlcnNpb249MCx0aGlzLnV1aWQ9YTV0KCl9b25VcGxvYWRDYWxsYmFjaygpe31zZXQgbmVlZHNVcGRhdGUodCl7ITA9PT10JiZ0aGlzLnZlcnNpb24rK31zZXRVc2FnZSh0KXtyZXR1cm4gdGhpcy51c2FnZT10LHRoaXN9Y29weSh0KXtyZXR1cm4gdGhpcy5hcnJheT1uZXcgdC5hcnJheS5jb25zdHJ1Y3Rvcih0LmFycmF5KSx0aGlzLmNvdW50PXQuY291bnQsdGhpcy5zdHJpZGU9dC5zdHJpZGUsdGhpcy51c2FnZT10LnVzYWdlLHRoaXN9Y29weUF0KHQsZSxuKXt0Kj10aGlzLnN0cmlkZSxuKj1lLnN0cmlkZTtmb3IobGV0IGk9MCxyPXRoaXMuc3RyaWRlO2k8cjtpKyspdGhpcy5hcnJheVt0K2ldPWUuYXJyYXlbbitpXTtyZXR1cm4gdGhpc31zZXQodCxlPTApe3JldHVybiB0aGlzLmFycmF5LnNldCh0LGUpLHRoaXN9Y2xvbmUodCl7dm9pZCAwPT09dC5hcnJheUJ1ZmZlcnMmJih0LmFycmF5QnVmZmVycz17fSksdm9pZCAwPT09dGhpcy5hcnJheS5idWZmZXIuX3V1aWQmJih0aGlzLmFycmF5LmJ1ZmZlci5fdXVpZD1hNXQoKSksdm9pZCAwPT09dC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdJiYodC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdPXRoaXMuYXJyYXkuc2xpY2UoMCkuYnVmZmVyKTtjb25zdCBlPW5ldyB0aGlzLmFycmF5LmNvbnN0cnVjdG9yKHQuYXJyYXlCdWZmZXJzW3RoaXMuYXJyYXkuYnVmZmVyLl91dWlkXSksbj1uZXcgdGhpcy5jb25zdHJ1Y3RvcihlLHRoaXMuc3RyaWRlKTtyZXR1cm4gbi5zZXRVc2FnZSh0aGlzLnVzYWdlKSxufW9uVXBsb2FkKHQpe3JldHVybiB0aGlzLm9uVXBsb2FkQ2FsbGJhY2s9dCx0aGlzfXRvSlNPTih0KXtyZXR1cm4gdm9pZCAwPT09dC5hcnJheUJ1ZmZlcnMmJih0LmFycmF5QnVmZmVycz17fSksdm9pZCAwPT09dGhpcy5hcnJheS5idWZmZXIuX3V1aWQmJih0aGlzLmFycmF5LmJ1ZmZlci5fdXVpZD1hNXQoKSksdm9pZCAwPT09dC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdJiYodC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG5ldyBVaW50MzJBcnJheSh0aGlzLmFycmF5LmJ1ZmZlcikpKSx7dXVpZDp0aGlzLnV1aWQsYnVmZmVyOnRoaXMuYXJyYXkuYnVmZmVyLl91dWlkLHR5cGU6dGhpcy5hcnJheS5jb25zdHJ1Y3Rvci5uYW1lLHN0cmlkZTp0aGlzLnN0cmlkZX19fXU3dC5wcm90b3R5cGUuaXNJbnRlcmxlYXZlZEJ1ZmZlcj0hMDtjb25zdCBoN3Q9bmV3IEg1dDtjbGFzcyBkN3R7Y29uc3RydWN0b3IodCxlLG4saT0hMSl7dGhpcy5uYW1lPSIiLHRoaXMuZGF0YT10LHRoaXMuaXRlbVNpemU9ZSx0aGlzLm9mZnNldD1uLHRoaXMubm9ybWFsaXplZD0hMD09PWl9Z2V0IGNvdW50KCl7cmV0dXJuIHRoaXMuZGF0YS5jb3VudH1nZXQgYXJyYXkoKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5fXNldCBuZWVkc1VwZGF0ZSh0KXt0aGlzLmRhdGEubmVlZHNVcGRhdGU9dH1hcHBseU1hdHJpeDQodCl7Zm9yKGxldCBlPTAsbj10aGlzLmRhdGEuY291bnQ7ZTxuO2UrKyloN3QueD10aGlzLmdldFgoZSksaDd0Lnk9dGhpcy5nZXRZKGUpLGg3dC56PXRoaXMuZ2V0WihlKSxoN3QuYXBwbHlNYXRyaXg0KHQpLHRoaXMuc2V0WFlaKGUsaDd0LngsaDd0LnksaDd0LnopO3JldHVybiB0aGlzfWFwcGx5Tm9ybWFsTWF0cml4KHQpe2ZvcihsZXQgZT0wLG49dGhpcy5jb3VudDtlPG47ZSsrKWg3dC54PXRoaXMuZ2V0WChlKSxoN3QueT10aGlzLmdldFkoZSksaDd0Lno9dGhpcy5nZXRaKGUpLGg3dC5hcHBseU5vcm1hbE1hdHJpeCh0KSx0aGlzLnNldFhZWihlLGg3dC54LGg3dC55LGg3dC56KTtyZXR1cm4gdGhpc310cmFuc2Zvcm1EaXJlY3Rpb24odCl7Zm9yKGxldCBlPTAsbj10aGlzLmNvdW50O2U8bjtlKyspaDd0Lng9dGhpcy5nZXRYKGUpLGg3dC55PXRoaXMuZ2V0WShlKSxoN3Quej10aGlzLmdldFooZSksaDd0LnRyYW5zZm9ybURpcmVjdGlvbih0KSx0aGlzLnNldFhZWihlLGg3dC54LGg3dC55LGg3dC56KTtyZXR1cm4gdGhpc31zZXRYKHQsZSl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVt0KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXRdPWUsdGhpc31zZXRZKHQsZSl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVt0KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQrMV09ZSx0aGlzfXNldFoodCxlKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5W3QqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldCsyXT1lLHRoaXN9c2V0Vyh0LGUpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbdCp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzNdPWUsdGhpc31nZXRYKHQpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbdCp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0XX1nZXRZKHQpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbdCp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzFdfWdldFoodCl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVt0KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQrMl19Z2V0Vyh0KXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5W3QqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldCszXX1zZXRYWSh0LGUsbil7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVsodD10KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQpKzBdPWUsdGhpcy5kYXRhLmFycmF5W3QrMV09bix0aGlzfXNldFhZWih0LGUsbixpKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5Wyh0PXQqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldCkrMF09ZSx0aGlzLmRhdGEuYXJyYXlbdCsxXT1uLHRoaXMuZGF0YS5hcnJheVt0KzJdPWksdGhpc31zZXRYWVpXKHQsZSxuLGkscil7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVsodD10KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQpKzBdPWUsdGhpcy5kYXRhLmFycmF5W3QrMV09bix0aGlzLmRhdGEuYXJyYXlbdCsyXT1pLHRoaXMuZGF0YS5hcnJheVt0KzNdPXIsdGhpc31jbG9uZSh0KXtpZih2b2lkIDA9PT10KXtjb25zb2xlLmxvZygiVEhSRUUuSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUuY2xvbmUoKTogQ2xvbmluZyBhbiBpbnRlcmxhdmVkIGJ1ZmZlciBhdHRyaWJ1dGUgd2lsbCBkZWludGVybGVhdmUgYnVmZmVyIGRhdGEuIik7Y29uc3QgdD1bXTtmb3IobGV0IGU9MDtlPHRoaXMuY291bnQ7ZSsrKXtjb25zdCBuPWUqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldDtmb3IobGV0IGU9MDtlPHRoaXMuaXRlbVNpemU7ZSsrKXQucHVzaCh0aGlzLmRhdGEuYXJyYXlbbitlXSl9cmV0dXJuIG5ldyBoNHQobmV3IHRoaXMuYXJyYXkuY29uc3RydWN0b3IodCksdGhpcy5pdGVtU2l6ZSx0aGlzLm5vcm1hbGl6ZWQpfXJldHVybiB2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVycyYmKHQuaW50ZXJsZWF2ZWRCdWZmZXJzPXt9KSx2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF0mJih0LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF09dGhpcy5kYXRhLmNsb25lKHQpKSxuZXcgZDd0KHQuaW50ZXJsZWF2ZWRCdWZmZXJzW3RoaXMuZGF0YS51dWlkXSx0aGlzLml0ZW1TaXplLHRoaXMub2Zmc2V0LHRoaXMubm9ybWFsaXplZCl9dG9KU09OKHQpe2lmKHZvaWQgMD09PXQpe2NvbnNvbGUubG9nKCJUSFJFRS5JbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZS50b0pTT04oKTogU2VyaWFsaXppbmcgYW4gaW50ZXJsYXZlZCBidWZmZXIgYXR0cmlidXRlIHdpbGwgZGVpbnRlcmxlYXZlIGJ1ZmZlciBkYXRhLiIpO2NvbnN0IHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLmNvdW50O2UrKyl7Y29uc3Qgbj1lKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQ7Zm9yKGxldCBlPTA7ZTx0aGlzLml0ZW1TaXplO2UrKyl0LnB1c2godGhpcy5kYXRhLmFycmF5W24rZV0pfXJldHVybntpdGVtU2l6ZTp0aGlzLml0ZW1TaXplLHR5cGU6dGhpcy5hcnJheS5jb25zdHJ1Y3Rvci5uYW1lLGFycmF5OnQsbm9ybWFsaXplZDp0aGlzLm5vcm1hbGl6ZWR9fXJldHVybiB2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVycyYmKHQuaW50ZXJsZWF2ZWRCdWZmZXJzPXt9KSx2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF0mJih0LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF09dGhpcy5kYXRhLnRvSlNPTih0KSkse2lzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGU6ITAsaXRlbVNpemU6dGhpcy5pdGVtU2l6ZSxkYXRhOnRoaXMuZGF0YS51dWlkLG9mZnNldDp0aGlzLm9mZnNldCxub3JtYWxpemVkOnRoaXMubm9ybWFsaXplZH19fWQ3dC5wcm90b3R5cGUuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZT0hMDtjbGFzcyBwN3QgZXh0ZW5kcyB0NHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlNwcml0ZU1hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBzNHQoMTY3NzcyMTUpLHRoaXMubWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMucm90YXRpb249MCx0aGlzLnNpemVBdHRlbnVhdGlvbj0hMCx0aGlzLnRyYW5zcGFyZW50PSEwLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMuYWxwaGFNYXA9dC5hbHBoYU1hcCx0aGlzLnJvdGF0aW9uPXQucm90YXRpb24sdGhpcy5zaXplQXR0ZW51YXRpb249dC5zaXplQXR0ZW51YXRpb24sdGhpc319bGV0IGY3dDtwN3QucHJvdG90eXBlLmlzU3ByaXRlTWF0ZXJpYWw9ITA7Y29uc3QgbTd0PW5ldyBINXQsZzd0PW5ldyBINXQsXzd0PW5ldyBINXQseTd0PW5ldyBDNXQsdjd0PW5ldyBDNXQsYjd0PW5ldyBnM3QseDd0PW5ldyBINXQsdzd0PW5ldyBINXQsUzd0PW5ldyBINXQsTTd0PW5ldyBDNXQsRTd0PW5ldyBDNXQsVDd0PW5ldyBDNXQ7Y2xhc3MgQzd0IGV4dGVuZHMgVjN0e2NvbnN0cnVjdG9yKHQpe2lmKHN1cGVyKCksdGhpcy50eXBlPSJTcHJpdGUiLHZvaWQgMD09PWY3dCl7Zjd0PW5ldyBONHQ7Y29uc3QgdD1uZXcgRmxvYXQzMkFycmF5KFstLjUsLS41LDAsMCwwLC41LC0uNSwwLDEsMCwuNSwuNSwwLDEsMSwtLjUsLjUsMCwwLDFdKSxlPW5ldyB1N3QodCw1KTtmN3Quc2V0SW5kZXgoWzAsMSwyLDAsMiwzXSksZjd0LnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBkN3QoZSwzLDAsITEpKSxmN3Quc2V0QXR0cmlidXRlKCJ1diIsbmV3IGQ3dChlLDIsMywhMSkpfXRoaXMuZ2VvbWV0cnk9Zjd0LHRoaXMubWF0ZXJpYWw9dm9pZCAwIT09dD90Om5ldyBwN3QsdGhpcy5jZW50ZXI9bmV3IEM1dCguNSwuNSl9cmF5Y2FzdCh0LGUpe251bGw9PT10LmNhbWVyYSYmY29uc29sZS5lcnJvcignVEhSRUUuU3ByaXRlOiAiUmF5Y2FzdGVyLmNhbWVyYSIgbmVlZHMgdG8gYmUgc2V0IGluIG9yZGVyIHRvIHJheWNhc3QgYWdhaW5zdCBzcHJpdGVzLicpLGc3dC5zZXRGcm9tTWF0cml4U2NhbGUodGhpcy5tYXRyaXhXb3JsZCksYjd0LmNvcHkodC5jYW1lcmEubWF0cml4V29ybGQpLHRoaXMubW9kZWxWaWV3TWF0cml4Lm11bHRpcGx5TWF0cmljZXModC5jYW1lcmEubWF0cml4V29ybGRJbnZlcnNlLHRoaXMubWF0cml4V29ybGQpLF83dC5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tb2RlbFZpZXdNYXRyaXgpLHQuY2FtZXJhLmlzUGVyc3BlY3RpdmVDYW1lcmEmJiExPT09dGhpcy5tYXRlcmlhbC5zaXplQXR0ZW51YXRpb24mJmc3dC5tdWx0aXBseVNjYWxhcigtXzd0LnopO2NvbnN0IG49dGhpcy5tYXRlcmlhbC5yb3RhdGlvbjtsZXQgaSxyOzAhPT1uJiYocj1NYXRoLmNvcyhuKSxpPU1hdGguc2luKG4pKTtjb25zdCBvPXRoaXMuY2VudGVyO0E3dCh4N3Quc2V0KC0uNSwtLjUsMCksXzd0LG8sZzd0LGksciksQTd0KHc3dC5zZXQoLjUsLS41LDApLF83dCxvLGc3dCxpLHIpLEE3dChTN3Quc2V0KC41LC41LDApLF83dCxvLGc3dCxpLHIpLE03dC5zZXQoMCwwKSxFN3Quc2V0KDEsMCksVDd0LnNldCgxLDEpO2xldCBhPXQucmF5LmludGVyc2VjdFRyaWFuZ2xlKHg3dCx3N3QsUzd0LCExLG03dCk7aWYobnVsbD09PWEmJihBN3Qodzd0LnNldCgtLjUsLjUsMCksXzd0LG8sZzd0LGksciksRTd0LnNldCgwLDEpLGE9dC5yYXkuaW50ZXJzZWN0VHJpYW5nbGUoeDd0LFM3dCx3N3QsITEsbTd0KSxudWxsPT09YSkpcmV0dXJuO2NvbnN0IHM9dC5yYXkub3JpZ2luLmRpc3RhbmNlVG8obTd0KTtzPHQubmVhcnx8cz50LmZhcnx8ZS5wdXNoKHtkaXN0YW5jZTpzLHBvaW50Om03dC5jbG9uZSgpLHV2OkozdC5nZXRVVihtN3QseDd0LHc3dCxTN3QsTTd0LEU3dCxUN3QsbmV3IEM1dCksZmFjZTpudWxsLG9iamVjdDp0aGlzfSl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx2b2lkIDAhPT10LmNlbnRlciYmdGhpcy5jZW50ZXIuY29weSh0LmNlbnRlciksdGhpcy5tYXRlcmlhbD10Lm1hdGVyaWFsLHRoaXN9fWZ1bmN0aW9uIEE3dCh0LGUsbixpLHIsbyl7eTd0LnN1YlZlY3RvcnModCxuKS5hZGRTY2FsYXIoLjUpLm11bHRpcGx5KGkpLHZvaWQgMCE9PXI/KHY3dC54PW8qeTd0Lngtcip5N3QueSx2N3QueT1yKnk3dC54K28qeTd0LnkpOnY3dC5jb3B5KHk3dCksdC5jb3B5KGUpLHQueCs9djd0LngsdC55Kz12N3QueSx0LmFwcGx5TWF0cml4NChiN3QpfUM3dC5wcm90b3R5cGUuaXNTcHJpdGU9ITA7Y29uc3Qgazd0PW5ldyBINXQsTDd0PW5ldyBINXQ7Y2xhc3MgUDd0IGV4dGVuZHMgVjN0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9jdXJyZW50TGV2ZWw9MCx0aGlzLnR5cGU9IkxPRCIsT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcyx7bGV2ZWxzOntlbnVtZXJhYmxlOiEwLHZhbHVlOltdfSxpc0xPRDp7dmFsdWU6ITB9fSksdGhpcy5hdXRvVXBkYXRlPSEwfWNvcHkodCl7c3VwZXIuY29weSh0LCExKTtjb25zdCBlPXQubGV2ZWxzO2ZvcihsZXQgdD0wLG49ZS5sZW5ndGg7dDxuO3QrKyl7Y29uc3Qgbj1lW3RdO3RoaXMuYWRkTGV2ZWwobi5vYmplY3QuY2xvbmUoKSxuLmRpc3RhbmNlKX1yZXR1cm4gdGhpcy5hdXRvVXBkYXRlPXQuYXV0b1VwZGF0ZSx0aGlzfWFkZExldmVsKHQsZT0wKXtlPU1hdGguYWJzKGUpO2NvbnN0IG49dGhpcy5sZXZlbHM7bGV0IGk7Zm9yKGk9MDtpPG4ubGVuZ3RoJiYhKGU8bltpXS5kaXN0YW5jZSk7aSsrKTtyZXR1cm4gbi5zcGxpY2UoaSwwLHtkaXN0YW5jZTplLG9iamVjdDp0fSksdGhpcy5hZGQodCksdGhpc31nZXRDdXJyZW50TGV2ZWwoKXtyZXR1cm4gdGhpcy5fY3VycmVudExldmVsfWdldE9iamVjdEZvckRpc3RhbmNlKHQpe2NvbnN0IGU9dGhpcy5sZXZlbHM7aWYoZS5sZW5ndGg+MCl7bGV0IG4saTtmb3Iobj0xLGk9ZS5sZW5ndGg7bjxpJiYhKHQ8ZVtuXS5kaXN0YW5jZSk7bisrKTtyZXR1cm4gZVtuLTFdLm9iamVjdH1yZXR1cm4gbnVsbH1yYXljYXN0KHQsZSl7aWYodGhpcy5sZXZlbHMubGVuZ3RoPjApe2s3dC5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tYXRyaXhXb3JsZCk7Y29uc3Qgbj10LnJheS5vcmlnaW4uZGlzdGFuY2VUbyhrN3QpO3RoaXMuZ2V0T2JqZWN0Rm9yRGlzdGFuY2UobikucmF5Y2FzdCh0LGUpfX11cGRhdGUodCl7Y29uc3QgZT10aGlzLmxldmVscztpZihlLmxlbmd0aD4xKXtrN3Quc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQubWF0cml4V29ybGQpLEw3dC5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tYXRyaXhXb3JsZCk7Y29uc3Qgbj1rN3QuZGlzdGFuY2VUbyhMN3QpL3Quem9vbTtsZXQgaSxyO2ZvcihlWzBdLm9iamVjdC52aXNpYmxlPSEwLGk9MSxyPWUubGVuZ3RoO2k8ciYmbj49ZVtpXS5kaXN0YW5jZTtpKyspZVtpLTFdLm9iamVjdC52aXNpYmxlPSExLGVbaV0ub2JqZWN0LnZpc2libGU9ITA7Zm9yKHRoaXMuX2N1cnJlbnRMZXZlbD1pLTE7aTxyO2krKyllW2ldLm9iamVjdC52aXNpYmxlPSExfX10b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7ITE9PT10aGlzLmF1dG9VcGRhdGUmJihlLm9iamVjdC5hdXRvVXBkYXRlPSExKSxlLm9iamVjdC5sZXZlbHM9W107Y29uc3Qgbj10aGlzLmxldmVscztmb3IobGV0IHQ9MCxpPW4ubGVuZ3RoO3Q8aTt0Kyspe2NvbnN0IGk9blt0XTtlLm9iamVjdC5sZXZlbHMucHVzaCh7b2JqZWN0Omkub2JqZWN0LnV1aWQsZGlzdGFuY2U6aS5kaXN0YW5jZX0pfXJldHVybiBlfX1jb25zdCBON3Q9bmV3IEg1dCxJN3Q9bmV3IFI1dCxSN3Q9bmV3IFI1dCxPN3Q9bmV3IEg1dCx6N3Q9bmV3IGczdDtjbGFzcyBEN3QgZXh0ZW5kcyBLNHR7Y29uc3RydWN0b3IodCxlKXtzdXBlcih0LGUpLHRoaXMudHlwZT0iU2tpbm5lZE1lc2giLHRoaXMuYmluZE1vZGU9ImF0dGFjaGVkIix0aGlzLmJpbmRNYXRyaXg9bmV3IGczdCx0aGlzLmJpbmRNYXRyaXhJbnZlcnNlPW5ldyBnM3R9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmJpbmRNb2RlPXQuYmluZE1vZGUsdGhpcy5iaW5kTWF0cml4LmNvcHkodC5iaW5kTWF0cml4KSx0aGlzLmJpbmRNYXRyaXhJbnZlcnNlLmNvcHkodC5iaW5kTWF0cml4SW52ZXJzZSksdGhpcy5za2VsZXRvbj10LnNrZWxldG9uLHRoaXN9YmluZCh0LGUpe3RoaXMuc2tlbGV0b249dCx2b2lkIDA9PT1lJiYodGhpcy51cGRhdGVNYXRyaXhXb3JsZCghMCksdGhpcy5za2VsZXRvbi5jYWxjdWxhdGVJbnZlcnNlcygpLGU9dGhpcy5tYXRyaXhXb3JsZCksdGhpcy5iaW5kTWF0cml4LmNvcHkoZSksdGhpcy5iaW5kTWF0cml4SW52ZXJzZS5jb3B5KGUpLmludmVydCgpfXBvc2UoKXt0aGlzLnNrZWxldG9uLnBvc2UoKX1ub3JtYWxpemVTa2luV2VpZ2h0cygpe2NvbnN0IHQ9bmV3IFI1dCxlPXRoaXMuZ2VvbWV0cnkuYXR0cmlidXRlcy5za2luV2VpZ2h0O2ZvcihsZXQgbj0wLGk9ZS5jb3VudDtuPGk7bisrKXt0Lng9ZS5nZXRYKG4pLHQueT1lLmdldFkobiksdC56PWUuZ2V0WihuKSx0Lnc9ZS5nZXRXKG4pO2NvbnN0IGk9MS90Lm1hbmhhdHRhbkxlbmd0aCgpO2khPT0xLzA/dC5tdWx0aXBseVNjYWxhcihpKTp0LnNldCgxLDAsMCwwKSxlLnNldFhZWlcobix0LngsdC55LHQueix0LncpfX11cGRhdGVNYXRyaXhXb3JsZCh0KXtzdXBlci51cGRhdGVNYXRyaXhXb3JsZCh0KSwiYXR0YWNoZWQiPT09dGhpcy5iaW5kTW9kZT90aGlzLmJpbmRNYXRyaXhJbnZlcnNlLmNvcHkodGhpcy5tYXRyaXhXb3JsZCkuaW52ZXJ0KCk6ImRldGFjaGVkIj09PXRoaXMuYmluZE1vZGU/dGhpcy5iaW5kTWF0cml4SW52ZXJzZS5jb3B5KHRoaXMuYmluZE1hdHJpeCkuaW52ZXJ0KCk6Y29uc29sZS53YXJuKCJUSFJFRS5Ta2lubmVkTWVzaDogVW5yZWNvZ25pemVkIGJpbmRNb2RlOiAiK3RoaXMuYmluZE1vZGUpfWJvbmVUcmFuc2Zvcm0odCxlKXtjb25zdCBuPXRoaXMuc2tlbGV0b24saT10aGlzLmdlb21ldHJ5O0k3dC5mcm9tQnVmZmVyQXR0cmlidXRlKGkuYXR0cmlidXRlcy5za2luSW5kZXgsdCksUjd0LmZyb21CdWZmZXJBdHRyaWJ1dGUoaS5hdHRyaWJ1dGVzLnNraW5XZWlnaHQsdCksTjd0LmZyb21CdWZmZXJBdHRyaWJ1dGUoaS5hdHRyaWJ1dGVzLnBvc2l0aW9uLHQpLmFwcGx5TWF0cml4NCh0aGlzLmJpbmRNYXRyaXgpLGUuc2V0KDAsMCwwKTtmb3IobGV0IHQ9MDt0PDQ7dCsrKXtjb25zdCBpPVI3dC5nZXRDb21wb25lbnQodCk7aWYoMCE9PWkpe2NvbnN0IHI9STd0LmdldENvbXBvbmVudCh0KTt6N3QubXVsdGlwbHlNYXRyaWNlcyhuLmJvbmVzW3JdLm1hdHJpeFdvcmxkLG4uYm9uZUludmVyc2VzW3JdKSxlLmFkZFNjYWxlZFZlY3RvcihPN3QuY29weShON3QpLmFwcGx5TWF0cml4NCh6N3QpLGkpfX1yZXR1cm4gZS5hcHBseU1hdHJpeDQodGhpcy5iaW5kTWF0cml4SW52ZXJzZSl9fUQ3dC5wcm90b3R5cGUuaXNTa2lubmVkTWVzaD0hMDtjbGFzcyBCN3QgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iQm9uZSJ9fUI3dC5wcm90b3R5cGUuaXNCb25lPSEwO2NsYXNzIEg3dCBleHRlbmRzIE41dHtjb25zdHJ1Y3Rvcih0PW51bGwsZT0xLG49MSxpLHIsbyxhLHMsbD0xMDAzLGM9MTAwMyx1LGgpe3N1cGVyKG51bGwsbyxhLHMsbCxjLGkscix1LGgpLHRoaXMuaW1hZ2U9e2RhdGE6dCx3aWR0aDplLGhlaWdodDpufSx0aGlzLm1hZ0ZpbHRlcj1sLHRoaXMubWluRmlsdGVyPWMsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITEsdGhpcy5mbGlwWT0hMSx0aGlzLnVucGFja0FsaWdubWVudD0xLHRoaXMubmVlZHNVcGRhdGU9ITB9fUg3dC5wcm90b3R5cGUuaXNEYXRhVGV4dHVyZT0hMDtjb25zdCBGN3Q9bmV3IGczdCxWN3Q9bmV3IGczdDtjbGFzcyBVN3R7Y29uc3RydWN0b3IodD1bXSxlPVtdKXt0aGlzLnV1aWQ9YTV0KCksdGhpcy5ib25lcz10LnNsaWNlKDApLHRoaXMuYm9uZUludmVyc2VzPWUsdGhpcy5ib25lTWF0cmljZXM9bnVsbCx0aGlzLmJvbmVUZXh0dXJlPW51bGwsdGhpcy5ib25lVGV4dHVyZVNpemU9MCx0aGlzLmZyYW1lPS0xLHRoaXMuaW5pdCgpfWluaXQoKXtjb25zdCB0PXRoaXMuYm9uZXMsZT10aGlzLmJvbmVJbnZlcnNlcztpZih0aGlzLmJvbmVNYXRyaWNlcz1uZXcgRmxvYXQzMkFycmF5KDE2KnQubGVuZ3RoKSwwPT09ZS5sZW5ndGgpdGhpcy5jYWxjdWxhdGVJbnZlcnNlcygpO2Vsc2UgaWYodC5sZW5ndGghPT1lLmxlbmd0aCl7Y29uc29sZS53YXJuKCJUSFJFRS5Ta2VsZXRvbjogTnVtYmVyIG9mIGludmVyc2UgYm9uZSBtYXRyaWNlcyBkb2VzIG5vdCBtYXRjaCBhbW91bnQgb2YgYm9uZXMuIiksdGhpcy5ib25lSW52ZXJzZXM9W107Zm9yKGxldCB0PTAsZT10aGlzLmJvbmVzLmxlbmd0aDt0PGU7dCsrKXRoaXMuYm9uZUludmVyc2VzLnB1c2gobmV3IGczdCl9fWNhbGN1bGF0ZUludmVyc2VzKCl7dGhpcy5ib25lSW52ZXJzZXMubGVuZ3RoPTA7Zm9yKGxldCB0PTAsZT10aGlzLmJvbmVzLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPW5ldyBnM3Q7dGhpcy5ib25lc1t0XSYmZS5jb3B5KHRoaXMuYm9uZXNbdF0ubWF0cml4V29ybGQpLmludmVydCgpLHRoaXMuYm9uZUludmVyc2VzLnB1c2goZSl9fXBvc2UoKXtmb3IobGV0IHQ9MCxlPXRoaXMuYm9uZXMubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9dGhpcy5ib25lc1t0XTtlJiZlLm1hdHJpeFdvcmxkLmNvcHkodGhpcy5ib25lSW52ZXJzZXNbdF0pLmludmVydCgpfWZvcihsZXQgdD0wLGU9dGhpcy5ib25lcy5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT10aGlzLmJvbmVzW3RdO2UmJihlLnBhcmVudCYmZS5wYXJlbnQuaXNCb25lPyhlLm1hdHJpeC5jb3B5KGUucGFyZW50Lm1hdHJpeFdvcmxkKS5pbnZlcnQoKSxlLm1hdHJpeC5tdWx0aXBseShlLm1hdHJpeFdvcmxkKSk6ZS5tYXRyaXguY29weShlLm1hdHJpeFdvcmxkKSxlLm1hdHJpeC5kZWNvbXBvc2UoZS5wb3NpdGlvbixlLnF1YXRlcm5pb24sZS5zY2FsZSkpfX11cGRhdGUoKXtjb25zdCB0PXRoaXMuYm9uZXMsZT10aGlzLmJvbmVJbnZlcnNlcyxuPXRoaXMuYm9uZU1hdHJpY2VzLGk9dGhpcy5ib25lVGV4dHVyZTtmb3IobGV0IGk9MCxyPXQubGVuZ3RoO2k8cjtpKyspe0Y3dC5tdWx0aXBseU1hdHJpY2VzKHRbaV0/dFtpXS5tYXRyaXhXb3JsZDpWN3QsZVtpXSksRjd0LnRvQXJyYXkobiwxNippKX1udWxsIT09aSYmKGkubmVlZHNVcGRhdGU9ITApfWNsb25lKCl7cmV0dXJuIG5ldyBVN3QodGhpcy5ib25lcyx0aGlzLmJvbmVJbnZlcnNlcyl9Y29tcHV0ZUJvbmVUZXh0dXJlKCl7bGV0IHQ9TWF0aC5zcXJ0KDQqdGhpcy5ib25lcy5sZW5ndGgpO3Q9aDV0KHQpLHQ9TWF0aC5tYXgodCw0KTtjb25zdCBlPW5ldyBGbG9hdDMyQXJyYXkodCp0KjQpO2Uuc2V0KHRoaXMuYm9uZU1hdHJpY2VzKTtjb25zdCBuPW5ldyBIN3QoZSx0LHQsUzJ0LHYydCk7cmV0dXJuIHRoaXMuYm9uZU1hdHJpY2VzPWUsdGhpcy5ib25lVGV4dHVyZT1uLHRoaXMuYm9uZVRleHR1cmVTaXplPXQsdGhpc31nZXRCb25lQnlOYW1lKHQpe2ZvcihsZXQgZT0wLG49dGhpcy5ib25lcy5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10aGlzLmJvbmVzW2VdO2lmKG4ubmFtZT09PXQpcmV0dXJuIG59fWRpc3Bvc2UoKXtudWxsIT09dGhpcy5ib25lVGV4dHVyZSYmKHRoaXMuYm9uZVRleHR1cmUuZGlzcG9zZSgpLHRoaXMuYm9uZVRleHR1cmU9bnVsbCl9ZnJvbUpTT04odCxlKXt0aGlzLnV1aWQ9dC51dWlkO2ZvcihsZXQgbj0wLGk9dC5ib25lcy5sZW5ndGg7bjxpO24rKyl7Y29uc3QgaT10LmJvbmVzW25dO2xldCByPWVbaV07dm9pZCAwPT09ciYmKGNvbnNvbGUud2FybigiVEhSRUUuU2tlbGV0b246IE5vIGJvbmUgZm91bmQgd2l0aCBVVUlEOiIsaSkscj1uZXcgQjd0KSx0aGlzLmJvbmVzLnB1c2gociksdGhpcy5ib25lSW52ZXJzZXMucHVzaCgobmV3IGczdCkuZnJvbUFycmF5KHQuYm9uZUludmVyc2VzW25dKSl9cmV0dXJuIHRoaXMuaW5pdCgpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD17bWV0YWRhdGE6e3ZlcnNpb246NC41LHR5cGU6IlNrZWxldG9uIixnZW5lcmF0b3I6IlNrZWxldG9uLnRvSlNPTiJ9LGJvbmVzOltdLGJvbmVJbnZlcnNlczpbXX07dC51dWlkPXRoaXMudXVpZDtjb25zdCBlPXRoaXMuYm9uZXMsbj10aGlzLmJvbmVJbnZlcnNlcztmb3IobGV0IGk9MCxyPWUubGVuZ3RoO2k8cjtpKyspe3QuYm9uZXMucHVzaChlW2ldLnV1aWQpO3QuYm9uZUludmVyc2VzLnB1c2gobltpXS50b0FycmF5KCkpfXJldHVybiB0fX1jb25zdCBqN3Q9bmV3IGczdCxHN3Q9bmV3IGczdCxXN3Q9W10scTd0PW5ldyBLNHQ7Y2xhc3MgWTd0IGV4dGVuZHMgSzR0e2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcih0LGUpLHRoaXMuaW5zdGFuY2VNYXRyaXg9bmV3IGg0dChuZXcgRmxvYXQzMkFycmF5KDE2Km4pLDE2KSx0aGlzLmluc3RhbmNlQ29sb3I9bnVsbCx0aGlzLmNvdW50PW4sdGhpcy5mcnVzdHVtQ3VsbGVkPSExfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5pbnN0YW5jZU1hdHJpeC5jb3B5KHQuaW5zdGFuY2VNYXRyaXgpLG51bGwhPT10Lmluc3RhbmNlQ29sb3ImJih0aGlzLmluc3RhbmNlQ29sb3I9dC5pbnN0YW5jZUNvbG9yLmNsb25lKCkpLHRoaXMuY291bnQ9dC5jb3VudCx0aGlzfWdldENvbG9yQXQodCxlKXtlLmZyb21BcnJheSh0aGlzLmluc3RhbmNlQ29sb3IuYXJyYXksMyp0KX1nZXRNYXRyaXhBdCh0LGUpe2UuZnJvbUFycmF5KHRoaXMuaW5zdGFuY2VNYXRyaXguYXJyYXksMTYqdCl9cmF5Y2FzdCh0LGUpe2NvbnN0IG49dGhpcy5tYXRyaXhXb3JsZCxpPXRoaXMuY291bnQ7aWYocTd0Lmdlb21ldHJ5PXRoaXMuZ2VvbWV0cnkscTd0Lm1hdGVyaWFsPXRoaXMubWF0ZXJpYWwsdm9pZCAwIT09cTd0Lm1hdGVyaWFsKWZvcihsZXQgcj0wO3I8aTtyKyspe3RoaXMuZ2V0TWF0cml4QXQocixqN3QpLEc3dC5tdWx0aXBseU1hdHJpY2VzKG4sajd0KSxxN3QubWF0cml4V29ybGQ9Rzd0LHE3dC5yYXljYXN0KHQsVzd0KTtmb3IobGV0IHQ9MCxuPVc3dC5sZW5ndGg7dDxuO3QrKyl7Y29uc3Qgbj1XN3RbdF07bi5pbnN0YW5jZUlkPXIsbi5vYmplY3Q9dGhpcyxlLnB1c2gobil9Vzd0Lmxlbmd0aD0wfX1zZXRDb2xvckF0KHQsZSl7bnVsbD09PXRoaXMuaW5zdGFuY2VDb2xvciYmKHRoaXMuaW5zdGFuY2VDb2xvcj1uZXcgaDR0KG5ldyBGbG9hdDMyQXJyYXkoMyp0aGlzLmluc3RhbmNlTWF0cml4LmNvdW50KSwzKSksZS50b0FycmF5KHRoaXMuaW5zdGFuY2VDb2xvci5hcnJheSwzKnQpfXNldE1hdHJpeEF0KHQsZSl7ZS50b0FycmF5KHRoaXMuaW5zdGFuY2VNYXRyaXguYXJyYXksMTYqdCl9dXBkYXRlTW9ycGhUYXJnZXRzKCl7fWRpc3Bvc2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9fVk3dC5wcm90b3R5cGUuaXNJbnN0YW5jZWRNZXNoPSEwO2NsYXNzIFg3dCBleHRlbmRzIHQ0dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iTGluZUJhc2ljTWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IHM0dCgxNjc3NzIxNSksdGhpcy5saW5ld2lkdGg9MSx0aGlzLmxpbmVjYXA9InJvdW5kIix0aGlzLmxpbmVqb2luPSJyb3VuZCIsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmNvbG9yLmNvcHkodC5jb2xvciksdGhpcy5saW5ld2lkdGg9dC5saW5ld2lkdGgsdGhpcy5saW5lY2FwPXQubGluZWNhcCx0aGlzLmxpbmVqb2luPXQubGluZWpvaW4sdGhpc319WDd0LnByb3RvdHlwZS5pc0xpbmVCYXNpY01hdGVyaWFsPSEwO2NvbnN0ICQ3dD1uZXcgSDV0LEs3dD1uZXcgSDV0LFo3dD1uZXcgZzN0LEo3dD1uZXcgbTN0LFE3dD1uZXcgczN0O2NsYXNzIHR0ZSBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcih0PW5ldyBONHQsZT1uZXcgWDd0KXtzdXBlcigpLHRoaXMudHlwZT0iTGluZSIsdGhpcy5nZW9tZXRyeT10LHRoaXMubWF0ZXJpYWw9ZSx0aGlzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5tYXRlcmlhbD10Lm1hdGVyaWFsLHRoaXMuZ2VvbWV0cnk9dC5nZW9tZXRyeSx0aGlzfWNvbXB1dGVMaW5lRGlzdGFuY2VzKCl7Y29uc3QgdD10aGlzLmdlb21ldHJ5O2lmKHQuaXNCdWZmZXJHZW9tZXRyeSlpZihudWxsPT09dC5pbmRleCl7Y29uc3QgZT10LmF0dHJpYnV0ZXMucG9zaXRpb24sbj1bMF07Zm9yKGxldCB0PTEsaT1lLmNvdW50O3Q8aTt0KyspJDd0LmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx0LTEpLEs3dC5mcm9tQnVmZmVyQXR0cmlidXRlKGUsdCksblt0XT1uW3QtMV0sblt0XSs9JDd0LmRpc3RhbmNlVG8oSzd0KTt0LnNldEF0dHJpYnV0ZSgibGluZURpc3RhbmNlIixuZXcgYjR0KG4sMSkpfWVsc2UgY29uc29sZS53YXJuKCJUSFJFRS5MaW5lLmNvbXB1dGVMaW5lRGlzdGFuY2VzKCk6IENvbXB1dGF0aW9uIG9ubHkgcG9zc2libGUgd2l0aCBub24taW5kZXhlZCBCdWZmZXJHZW9tZXRyeS4iKTtlbHNlIHQuaXNHZW9tZXRyeSYmY29uc29sZS5lcnJvcigiVEhSRUUuTGluZS5jb21wdXRlTGluZURpc3RhbmNlcygpIG5vIGxvbmdlciBzdXBwb3J0cyBUSFJFRS5HZW9tZXRyeS4gVXNlIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIik7cmV0dXJuIHRoaXN9cmF5Y2FzdCh0LGUpe2NvbnN0IG49dGhpcy5nZW9tZXRyeSxpPXRoaXMubWF0cml4V29ybGQscj10LnBhcmFtcy5MaW5lLnRocmVzaG9sZCxvPW4uZHJhd1JhbmdlO2lmKG51bGw9PT1uLmJvdW5kaW5nU3BoZXJlJiZuLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLFE3dC5jb3B5KG4uYm91bmRpbmdTcGhlcmUpLFE3dC5hcHBseU1hdHJpeDQoaSksUTd0LnJhZGl1cys9ciwhMT09PXQucmF5LmludGVyc2VjdHNTcGhlcmUoUTd0KSlyZXR1cm47Wjd0LmNvcHkoaSkuaW52ZXJ0KCksSjd0LmNvcHkodC5yYXkpLmFwcGx5TWF0cml4NChaN3QpO2NvbnN0IGE9ci8oKHRoaXMuc2NhbGUueCt0aGlzLnNjYWxlLnkrdGhpcy5zY2FsZS56KS8zKSxzPWEqYSxsPW5ldyBINXQsYz1uZXcgSDV0LHU9bmV3IEg1dCxoPW5ldyBINXQsZD10aGlzLmlzTGluZVNlZ21lbnRzPzI6MTtpZihuLmlzQnVmZmVyR2VvbWV0cnkpe2NvbnN0IGk9bi5pbmRleCxyPW4uYXR0cmlidXRlcy5wb3NpdGlvbjtpZihudWxsIT09aSl7Zm9yKGxldCBuPU1hdGgubWF4KDAsby5zdGFydCksYT1NYXRoLm1pbihpLmNvdW50LG8uc3RhcnQrby5jb3VudCktMTtuPGE7bis9ZCl7Y29uc3Qgbz1pLmdldFgobiksYT1pLmdldFgobisxKTtsLmZyb21CdWZmZXJBdHRyaWJ1dGUocixvKSxjLmZyb21CdWZmZXJBdHRyaWJ1dGUocixhKTtpZihKN3QuZGlzdGFuY2VTcVRvU2VnbWVudChsLGMsaCx1KT5zKWNvbnRpbnVlO2guYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpO2NvbnN0IGQ9dC5yYXkub3JpZ2luLmRpc3RhbmNlVG8oaCk7ZDx0Lm5lYXJ8fGQ+dC5mYXJ8fGUucHVzaCh7ZGlzdGFuY2U6ZCxwb2ludDp1LmNsb25lKCkuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpLGluZGV4Om4sZmFjZTpudWxsLGZhY2VJbmRleDpudWxsLG9iamVjdDp0aGlzfSl9fWVsc2V7Zm9yKGxldCBuPU1hdGgubWF4KDAsby5zdGFydCksaT1NYXRoLm1pbihyLmNvdW50LG8uc3RhcnQrby5jb3VudCktMTtuPGk7bis9ZCl7bC5mcm9tQnVmZmVyQXR0cmlidXRlKHIsbiksYy5mcm9tQnVmZmVyQXR0cmlidXRlKHIsbisxKTtpZihKN3QuZGlzdGFuY2VTcVRvU2VnbWVudChsLGMsaCx1KT5zKWNvbnRpbnVlO2guYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpO2NvbnN0IGk9dC5yYXkub3JpZ2luLmRpc3RhbmNlVG8oaCk7aTx0Lm5lYXJ8fGk+dC5mYXJ8fGUucHVzaCh7ZGlzdGFuY2U6aSxwb2ludDp1LmNsb25lKCkuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpLGluZGV4Om4sZmFjZTpudWxsLGZhY2VJbmRleDpudWxsLG9iamVjdDp0aGlzfSl9fX1lbHNlIG4uaXNHZW9tZXRyeSYmY29uc29sZS5lcnJvcigiVEhSRUUuTGluZS5yYXljYXN0KCkgbm8gbG9uZ2VyIHN1cHBvcnRzIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKX11cGRhdGVNb3JwaFRhcmdldHMoKXtjb25zdCB0PXRoaXMuZ2VvbWV0cnk7aWYodC5pc0J1ZmZlckdlb21ldHJ5KXtjb25zdCBlPXQubW9ycGhBdHRyaWJ1dGVzLG49T2JqZWN0LmtleXMoZSk7aWYobi5sZW5ndGg+MCl7Y29uc3QgdD1lW25bMF1dO2lmKHZvaWQgMCE9PXQpe3RoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzPVtdLHRoaXMubW9ycGhUYXJnZXREaWN0aW9uYXJ5PXt9O2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10W2VdLm5hbWV8fFN0cmluZyhlKTt0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcy5wdXNoKDApLHRoaXMubW9ycGhUYXJnZXREaWN0aW9uYXJ5W25dPWV9fX19ZWxzZXtjb25zdCBlPXQubW9ycGhUYXJnZXRzO3ZvaWQgMCE9PWUmJmUubGVuZ3RoPjAmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLkxpbmUudXBkYXRlTW9ycGhUYXJnZXRzKCkgZG9lcyBub3Qgc3VwcG9ydCBUSFJFRS5HZW9tZXRyeS4gVXNlIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIil9fX10dGUucHJvdG90eXBlLmlzTGluZT0hMDtjb25zdCBldGU9bmV3IEg1dCxudGU9bmV3IEg1dDtjbGFzcyBpdGUgZXh0ZW5kcyB0dGV7Y29uc3RydWN0b3IodCxlKXtzdXBlcih0LGUpLHRoaXMudHlwZT0iTGluZVNlZ21lbnRzIn1jb21wdXRlTGluZURpc3RhbmNlcygpe2NvbnN0IHQ9dGhpcy5nZW9tZXRyeTtpZih0LmlzQnVmZmVyR2VvbWV0cnkpaWYobnVsbD09PXQuaW5kZXgpe2NvbnN0IGU9dC5hdHRyaWJ1dGVzLnBvc2l0aW9uLG49W107Zm9yKGxldCB0PTAsaT1lLmNvdW50O3Q8aTt0Kz0yKWV0ZS5mcm9tQnVmZmVyQXR0cmlidXRlKGUsdCksbnRlLmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx0KzEpLG5bdF09MD09PXQ/MDpuW3QtMV0sblt0KzFdPW5bdF0rZXRlLmRpc3RhbmNlVG8obnRlKTt0LnNldEF0dHJpYnV0ZSgibGluZURpc3RhbmNlIixuZXcgYjR0KG4sMSkpfWVsc2UgY29uc29sZS53YXJuKCJUSFJFRS5MaW5lU2VnbWVudHMuY29tcHV0ZUxpbmVEaXN0YW5jZXMoKTogQ29tcHV0YXRpb24gb25seSBwb3NzaWJsZSB3aXRoIG5vbi1pbmRleGVkIEJ1ZmZlckdlb21ldHJ5LiIpO2Vsc2UgdC5pc0dlb21ldHJ5JiZjb25zb2xlLmVycm9yKCJUSFJFRS5MaW5lU2VnbWVudHMuY29tcHV0ZUxpbmVEaXN0YW5jZXMoKSBubyBsb25nZXIgc3VwcG9ydHMgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpO3JldHVybiB0aGlzfX1pdGUucHJvdG90eXBlLmlzTGluZVNlZ21lbnRzPSEwO2NsYXNzIHJ0ZSBleHRlbmRzIHR0ZXtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy50eXBlPSJMaW5lTG9vcCJ9fXJ0ZS5wcm90b3R5cGUuaXNMaW5lTG9vcD0hMDtjbGFzcyBvdGUgZXh0ZW5kcyB0NHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlBvaW50c01hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBzNHQoMTY3NzcyMTUpLHRoaXMubWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuc2l6ZT0xLHRoaXMuc2l6ZUF0dGVudWF0aW9uPSEwLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMuYWxwaGFNYXA9dC5hbHBoYU1hcCx0aGlzLnNpemU9dC5zaXplLHRoaXMuc2l6ZUF0dGVudWF0aW9uPXQuc2l6ZUF0dGVudWF0aW9uLHRoaXN9fW90ZS5wcm90b3R5cGUuaXNQb2ludHNNYXRlcmlhbD0hMDtjb25zdCBhdGU9bmV3IGczdCxzdGU9bmV3IG0zdCxsdGU9bmV3IHMzdCxjdGU9bmV3IEg1dDtjbGFzcyB1dGUgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IodD1uZXcgTjR0LGU9bmV3IG90ZSl7c3VwZXIoKSx0aGlzLnR5cGU9IlBvaW50cyIsdGhpcy5nZW9tZXRyeT10LHRoaXMubWF0ZXJpYWw9ZSx0aGlzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5tYXRlcmlhbD10Lm1hdGVyaWFsLHRoaXMuZ2VvbWV0cnk9dC5nZW9tZXRyeSx0aGlzfXJheWNhc3QodCxlKXtjb25zdCBuPXRoaXMuZ2VvbWV0cnksaT10aGlzLm1hdHJpeFdvcmxkLHI9dC5wYXJhbXMuUG9pbnRzLnRocmVzaG9sZCxvPW4uZHJhd1JhbmdlO2lmKG51bGw9PT1uLmJvdW5kaW5nU3BoZXJlJiZuLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLGx0ZS5jb3B5KG4uYm91bmRpbmdTcGhlcmUpLGx0ZS5hcHBseU1hdHJpeDQoaSksbHRlLnJhZGl1cys9ciwhMT09PXQucmF5LmludGVyc2VjdHNTcGhlcmUobHRlKSlyZXR1cm47YXRlLmNvcHkoaSkuaW52ZXJ0KCksc3RlLmNvcHkodC5yYXkpLmFwcGx5TWF0cml4NChhdGUpO2NvbnN0IGE9ci8oKHRoaXMuc2NhbGUueCt0aGlzLnNjYWxlLnkrdGhpcy5zY2FsZS56KS8zKSxzPWEqYTtpZihuLmlzQnVmZmVyR2VvbWV0cnkpe2NvbnN0IHI9bi5pbmRleCxhPW4uYXR0cmlidXRlcy5wb3NpdGlvbjtpZihudWxsIT09cil7Zm9yKGxldCBuPU1hdGgubWF4KDAsby5zdGFydCksbD1NYXRoLm1pbihyLmNvdW50LG8uc3RhcnQrby5jb3VudCk7bjxsO24rKyl7Y29uc3Qgbz1yLmdldFgobik7Y3RlLmZyb21CdWZmZXJBdHRyaWJ1dGUoYSxvKSxodGUoY3RlLG8scyxpLHQsZSx0aGlzKX19ZWxzZXtmb3IobGV0IG49TWF0aC5tYXgoMCxvLnN0YXJ0KSxyPU1hdGgubWluKGEuY291bnQsby5zdGFydCtvLmNvdW50KTtuPHI7bisrKWN0ZS5mcm9tQnVmZmVyQXR0cmlidXRlKGEsbiksaHRlKGN0ZSxuLHMsaSx0LGUsdGhpcyl9fWVsc2UgY29uc29sZS5lcnJvcigiVEhSRUUuUG9pbnRzLnJheWNhc3QoKSBubyBsb25nZXIgc3VwcG9ydHMgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfXVwZGF0ZU1vcnBoVGFyZ2V0cygpe2NvbnN0IHQ9dGhpcy5nZW9tZXRyeTtpZih0LmlzQnVmZmVyR2VvbWV0cnkpe2NvbnN0IGU9dC5tb3JwaEF0dHJpYnV0ZXMsbj1PYmplY3Qua2V5cyhlKTtpZihuLmxlbmd0aD4wKXtjb25zdCB0PWVbblswXV07aWYodm9pZCAwIT09dCl7dGhpcy5tb3JwaFRhcmdldEluZmx1ZW5jZXM9W10sdGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnk9e307Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXtjb25zdCBuPXRbZV0ubmFtZXx8U3RyaW5nKGUpO3RoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzLnB1c2goMCksdGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnlbbl09ZX19fX1lbHNle2NvbnN0IGU9dC5tb3JwaFRhcmdldHM7dm9pZCAwIT09ZSYmZS5sZW5ndGg+MCYmY29uc29sZS5lcnJvcigiVEhSRUUuUG9pbnRzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpIGRvZXMgbm90IHN1cHBvcnQgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfX19ZnVuY3Rpb24gaHRlKHQsZSxuLGkscixvLGEpe2NvbnN0IHM9c3RlLmRpc3RhbmNlU3FUb1BvaW50KHQpO2lmKHM8bil7Y29uc3Qgbj1uZXcgSDV0O3N0ZS5jbG9zZXN0UG9pbnRUb1BvaW50KHQsbiksbi5hcHBseU1hdHJpeDQoaSk7Y29uc3QgbD1yLnJheS5vcmlnaW4uZGlzdGFuY2VUbyhuKTtpZihsPHIubmVhcnx8bD5yLmZhcilyZXR1cm47by5wdXNoKHtkaXN0YW5jZTpsLGRpc3RhbmNlVG9SYXk6TWF0aC5zcXJ0KHMpLHBvaW50Om4saW5kZXg6ZSxmYWNlOm51bGwsb2JqZWN0OmF9KX19dXRlLnByb3RvdHlwZS5pc1BvaW50cz0hMDtjbGFzcyBkdGUgZXh0ZW5kcyBONXR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8sYSxzLGwpe3N1cGVyKHQsZSxuLGkscixvLGEscyxsKSx0aGlzLmZvcm1hdD12b2lkIDAhPT1hP2E6dzJ0LHRoaXMubWluRmlsdGVyPXZvaWQgMCE9PW8/bzpwMnQsdGhpcy5tYWdGaWx0ZXI9dm9pZCAwIT09cj9yOnAydCx0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMTtjb25zdCBjPXRoaXM7InJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2siaW4gdCYmdC5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKChmdW5jdGlvbiBlKCl7Yy5uZWVkc1VwZGF0ZT0hMCx0LnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2soZSl9KSl9Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5pbWFnZSkuY29weSh0aGlzKX11cGRhdGUoKXtjb25zdCB0PXRoaXMuaW1hZ2U7ITE9PT0icmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayJpbiB0JiZ0LnJlYWR5U3RhdGU+PXQuSEFWRV9DVVJSRU5UX0RBVEEmJih0aGlzLm5lZWRzVXBkYXRlPSEwKX19ZHRlLnByb3RvdHlwZS5pc1ZpZGVvVGV4dHVyZT0hMDtjbGFzcyBwdGUgZXh0ZW5kcyBONXR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8sYSxzLGwsYyx1LGgpe3N1cGVyKG51bGwsbyxhLHMsbCxjLGkscix1LGgpLHRoaXMuaW1hZ2U9e3dpZHRoOmUsaGVpZ2h0Om59LHRoaXMubWlwbWFwcz10LHRoaXMuZmxpcFk9ITEsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITF9fXB0ZS5wcm90b3R5cGUuaXNDb21wcmVzc2VkVGV4dHVyZT0hMDtjbGFzcyBmdGUgZXh0ZW5kcyBONXR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8sYSxzLGwpe3N1cGVyKHQsZSxuLGkscixvLGEscyxsKSx0aGlzLm5lZWRzVXBkYXRlPSEwfX1mdGUucHJvdG90eXBlLmlzQ2FudmFzVGV4dHVyZT0hMDtjbGFzcyBtdGUgZXh0ZW5kcyBONXR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8sYSxzLGwsYyl7aWYoKGM9dm9pZCAwIT09Yz9jOk0ydCkhPT1NMnQmJmMhPT1FMnQpdGhyb3cgbmV3IEVycm9yKCJEZXB0aFRleHR1cmUgZm9ybWF0IG11c3QgYmUgZWl0aGVyIFRIUkVFLkRlcHRoRm9ybWF0IG9yIFRIUkVFLkRlcHRoU3RlbmNpbEZvcm1hdCIpO3ZvaWQgMD09PW4mJmM9PT1NMnQmJihuPV8ydCksdm9pZCAwPT09biYmYz09PUUydCYmKG49eDJ0KSxzdXBlcihudWxsLGkscixvLGEscyxjLG4sbCksdGhpcy5pbWFnZT17d2lkdGg6dCxoZWlnaHQ6ZX0sdGhpcy5tYWdGaWx0ZXI9dm9pZCAwIT09YT9hOnUydCx0aGlzLm1pbkZpbHRlcj12b2lkIDAhPT1zP3M6dTJ0LHRoaXMuZmxpcFk9ITEsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITF9fW10ZS5wcm90b3R5cGUuaXNEZXB0aFRleHR1cmU9ITA7Y2xhc3MgZ3RlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQ9MSxlPTgsbj0wLGk9MipNYXRoLlBJKXtzdXBlcigpLHRoaXMudHlwZT0iQ2lyY2xlR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17cmFkaXVzOnQsc2VnbWVudHM6ZSx0aGV0YVN0YXJ0Om4sdGhldGFMZW5ndGg6aX0sZT1NYXRoLm1heCgzLGUpO2NvbnN0IHI9W10sbz1bXSxhPVtdLHM9W10sbD1uZXcgSDV0LGM9bmV3IEM1dDtvLnB1c2goMCwwLDApLGEucHVzaCgwLDAsMSkscy5wdXNoKC41LC41KTtmb3IobGV0IHI9MCx1PTM7cjw9ZTtyKyssdSs9Myl7Y29uc3QgaD1uK3IvZSppO2wueD10Kk1hdGguY29zKGgpLGwueT10Kk1hdGguc2luKGgpLG8ucHVzaChsLngsbC55LGwueiksYS5wdXNoKDAsMCwxKSxjLng9KG9bdV0vdCsxKS8yLGMueT0ob1t1KzFdL3QrMSkvMixzLnB1c2goYy54LGMueSl9Zm9yKGxldCB0PTE7dDw9ZTt0Kyspci5wdXNoKHQsdCsxLDApO3RoaXMuc2V0SW5kZXgociksdGhpcy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KG8sMykpLHRoaXMuc2V0QXR0cmlidXRlKCJub3JtYWwiLG5ldyBiNHQoYSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoInV2IixuZXcgYjR0KHMsMikpfXN0YXRpYyBmcm9tSlNPTih0KXtyZXR1cm4gbmV3IGd0ZSh0LnJhZGl1cyx0LnNlZ21lbnRzLHQudGhldGFTdGFydCx0LnRoZXRhTGVuZ3RoKX19Y2xhc3MgX3RlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQ9MSxlPTEsbj0xLGk9OCxyPTEsbz0hMSxhPTAscz0yKk1hdGguUEkpe3N1cGVyKCksdGhpcy50eXBlPSJDeWxpbmRlckdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3JhZGl1c1RvcDp0LHJhZGl1c0JvdHRvbTplLGhlaWdodDpuLHJhZGlhbFNlZ21lbnRzOmksaGVpZ2h0U2VnbWVudHM6cixvcGVuRW5kZWQ6byx0aGV0YVN0YXJ0OmEsdGhldGFMZW5ndGg6c307Y29uc3QgbD10aGlzO2k9TWF0aC5mbG9vcihpKSxyPU1hdGguZmxvb3Iocik7Y29uc3QgYz1bXSx1PVtdLGg9W10sZD1bXTtsZXQgcD0wO2NvbnN0IGY9W10sbT1uLzI7bGV0IGc9MDtmdW5jdGlvbiBfKG4pe2NvbnN0IHI9cCxvPW5ldyBDNXQsZj1uZXcgSDV0O2xldCBfPTA7Y29uc3QgeT0hMD09PW4/dDplLHY9ITA9PT1uPzE6LTE7Zm9yKGxldCB0PTE7dDw9aTt0KyspdS5wdXNoKDAsbSp2LDApLGgucHVzaCgwLHYsMCksZC5wdXNoKC41LC41KSxwKys7Y29uc3QgYj1wO2ZvcihsZXQgdD0wO3Q8PWk7dCsrKXtjb25zdCBlPXQvaSpzK2Esbj1NYXRoLmNvcyhlKSxyPU1hdGguc2luKGUpO2YueD15KnIsZi55PW0qdixmLno9eSpuLHUucHVzaChmLngsZi55LGYueiksaC5wdXNoKDAsdiwwKSxvLng9LjUqbisuNSxvLnk9LjUqcip2Ky41LGQucHVzaChvLngsby55KSxwKyt9Zm9yKGxldCB0PTA7dDxpO3QrKyl7Y29uc3QgZT1yK3QsaT1iK3Q7ITA9PT1uP2MucHVzaChpLGkrMSxlKTpjLnB1c2goaSsxLGksZSksXys9M31sLmFkZEdyb3VwKGcsXywhMD09PW4/MToyKSxnKz1ffSEoZnVuY3Rpb24geSgpe2NvbnN0IG89bmV3IEg1dCxfPW5ldyBINXQ7bGV0IHk9MDtjb25zdCB2PShlLXQpL247Zm9yKGxldCBsPTA7bDw9cjtsKyspe2NvbnN0IGM9W10sZz1sL3IseT1nKihlLXQpK3Q7Zm9yKGxldCB0PTA7dDw9aTt0Kyspe2NvbnN0IGU9dC9pLHI9ZSpzK2EsbD1NYXRoLnNpbihyKSxmPU1hdGguY29zKHIpO18ueD15KmwsXy55PS1nKm4rbSxfLno9eSpmLHUucHVzaChfLngsXy55LF8ueiksby5zZXQobCx2LGYpLm5vcm1hbGl6ZSgpLGgucHVzaChvLngsby55LG8ueiksZC5wdXNoKGUsMS1nKSxjLnB1c2gocCsrKX1mLnB1c2goYyl9Zm9yKGxldCB0PTA7dDxpO3QrKylmb3IobGV0IGU9MDtlPHI7ZSsrKXtjb25zdCBuPWZbZSsxXVt0XSxpPWZbZSsxXVt0KzFdLHI9ZltlXVt0KzFdO2MucHVzaChmW2VdW3RdLG4sciksYy5wdXNoKG4saSxyKSx5Kz02fWwuYWRkR3JvdXAoZyx5LDApLGcrPXl9KSgpLCExPT09byYmKHQ+MCYmXyghMCksZT4wJiZfKCExKSksdGhpcy5zZXRJbmRleChjKSx0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQodSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGI0dChoLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBiNHQoZCwyKSl9c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgX3RlKHQucmFkaXVzVG9wLHQucmFkaXVzQm90dG9tLHQuaGVpZ2h0LHQucmFkaWFsU2VnbWVudHMsdC5oZWlnaHRTZWdtZW50cyx0Lm9wZW5FbmRlZCx0LnRoZXRhU3RhcnQsdC50aGV0YUxlbmd0aCl9fWNsYXNzIHl0ZSBleHRlbmRzIF90ZXtjb25zdHJ1Y3Rvcih0PTEsZT0xLG49OCxpPTEscj0hMSxvPTAsYT0yKk1hdGguUEkpe3N1cGVyKDAsdCxlLG4saSxyLG8sYSksdGhpcy50eXBlPSJDb25lR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17cmFkaXVzOnQsaGVpZ2h0OmUscmFkaWFsU2VnbWVudHM6bixoZWlnaHRTZWdtZW50czppLG9wZW5FbmRlZDpyLHRoZXRhU3RhcnQ6byx0aGV0YUxlbmd0aDphfX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyB5dGUodC5yYWRpdXMsdC5oZWlnaHQsdC5yYWRpYWxTZWdtZW50cyx0LmhlaWdodFNlZ21lbnRzLHQub3BlbkVuZGVkLHQudGhldGFTdGFydCx0LnRoZXRhTGVuZ3RoKX19Y2xhc3MgdnRlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQsZSxuPTEsaT0wKXtzdXBlcigpLHRoaXMudHlwZT0iUG9seWhlZHJvbkdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3ZlcnRpY2VzOnQsaW5kaWNlczplLHJhZGl1czpuLGRldGFpbDppfTtjb25zdCByPVtdLG89W107ZnVuY3Rpb24gYSh0LGUsbixpKXtjb25zdCByPWkrMSxvPVtdO2ZvcihsZXQgaT0wO2k8PXI7aSsrKXtvW2ldPVtdO2NvbnN0IGE9dC5jbG9uZSgpLmxlcnAobixpL3IpLHM9ZS5jbG9uZSgpLmxlcnAobixpL3IpLGw9ci1pO2ZvcihsZXQgdD0wO3Q8PWw7dCsrKW9baV1bdF09MD09PXQmJmk9PT1yP2E6YS5jbG9uZSgpLmxlcnAocyx0L2wpfWZvcihsZXQgdD0wO3Q8cjt0KyspZm9yKGxldCBlPTA7ZTwyKihyLXQpLTE7ZSsrKXtjb25zdCBuPU1hdGguZmxvb3IoZS8yKTtlJTI9PTA/KHMob1t0XVtuKzFdKSxzKG9bdCsxXVtuXSkscyhvW3RdW25dKSk6KHMob1t0XVtuKzFdKSxzKG9bdCsxXVtuKzFdKSxzKG9bdCsxXVtuXSkpfX1mdW5jdGlvbiBzKHQpe3IucHVzaCh0LngsdC55LHQueil9ZnVuY3Rpb24gbChlLG4pe2NvbnN0IGk9MyplO24ueD10W2krMF0sbi55PXRbaSsxXSxuLno9dFtpKzJdfWZ1bmN0aW9uIGModCxlLG4saSl7aTwwJiYxPT09dC54JiYob1tlXT10LngtMSksMD09PW4ueCYmMD09PW4ueiYmKG9bZV09aS8yL01hdGguUEkrLjUpfWZ1bmN0aW9uIHUodCl7cmV0dXJuIE1hdGguYXRhbjIodC56LC10LngpfSEoZnVuY3Rpb24gaCh0KXtjb25zdCBuPW5ldyBINXQsaT1uZXcgSDV0LHI9bmV3IEg1dDtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rPTMpbChlW28rMF0sbiksbChlW28rMV0saSksbChlW28rMl0sciksYShuLGkscix0KX0pKGkpLChmdW5jdGlvbiBkKHQpe2NvbnN0IGU9bmV3IEg1dDtmb3IobGV0IG49MDtuPHIubGVuZ3RoO24rPTMpZS54PXJbbiswXSxlLnk9cltuKzFdLGUuej1yW24rMl0sZS5ub3JtYWxpemUoKS5tdWx0aXBseVNjYWxhcih0KSxyW24rMF09ZS54LHJbbisxXT1lLnkscltuKzJdPWUuen0pKG4pLChmdW5jdGlvbiBwKCl7Y29uc3QgdD1uZXcgSDV0O2ZvcihsZXQgbj0wO248ci5sZW5ndGg7bis9Myl7dC54PXJbbiswXSx0Lnk9cltuKzFdLHQuej1yW24rMl07Y29uc3QgaT11KHQpLzIvTWF0aC5QSSsuNSxhPShlPXQsTWF0aC5hdGFuMigtZS55LE1hdGguc3FydChlLngqZS54K2UueiplLnopKS9NYXRoLlBJKy41KTtvLnB1c2goaSwxLWEpfXZhciBlOyhmdW5jdGlvbiBuKCl7Y29uc3QgdD1uZXcgSDV0LGU9bmV3IEg1dCxuPW5ldyBINXQsaT1uZXcgSDV0LGE9bmV3IEM1dCxzPW5ldyBDNXQsbD1uZXcgQzV0O2ZvcihsZXQgaD0wLGQ9MDtoPHIubGVuZ3RoO2grPTksZCs9Nil7dC5zZXQocltoKzBdLHJbaCsxXSxyW2grMl0pLGUuc2V0KHJbaCszXSxyW2grNF0scltoKzVdKSxuLnNldChyW2grNl0scltoKzddLHJbaCs4XSksYS5zZXQob1tkKzBdLG9bZCsxXSkscy5zZXQob1tkKzJdLG9bZCszXSksbC5zZXQob1tkKzRdLG9bZCs1XSksaS5jb3B5KHQpLmFkZChlKS5hZGQobikuZGl2aWRlU2NhbGFyKDMpO2NvbnN0IHA9dShpKTtjKGEsZCswLHQscCksYyhzLGQrMixlLHApLGMobCxkKzQsbixwKX19KSgpLChmdW5jdGlvbiBpKCl7Zm9yKGxldCB0PTA7dDxvLmxlbmd0aDt0Kz02KXtjb25zdCBlPW9bdCswXSxuPW9bdCsyXSxpPW9bdCs0XSxyPU1hdGgubWF4KGUsbixpKSxhPU1hdGgubWluKGUsbixpKTtyPi45JiZhPC4xJiYoZTwuMiYmKG9bdCswXSs9MSksbjwuMiYmKG9bdCsyXSs9MSksaTwuMiYmKG9bdCs0XSs9MSkpfX0pKCl9KSgpLHRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChyLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYjR0KHIuc2xpY2UoKSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoInV2IixuZXcgYjR0KG8sMikpLDA9PT1pP3RoaXMuY29tcHV0ZVZlcnRleE5vcm1hbHMoKTp0aGlzLm5vcm1hbGl6ZU5vcm1hbHMoKX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyB2dGUodC52ZXJ0aWNlcyx0LmluZGljZXMsdC5yYWRpdXMsdC5kZXRhaWxzKX19Y2xhc3MgYnRlIGV4dGVuZHMgdnRle2NvbnN0cnVjdG9yKHQ9MSxlPTApe2NvbnN0IG49KDErTWF0aC5zcXJ0KDUpKS8yLGk9MS9uO3N1cGVyKFstMSwtMSwtMSwtMSwtMSwxLC0xLDEsLTEsLTEsMSwxLDEsLTEsLTEsMSwtMSwxLDEsMSwtMSwxLDEsMSwwLC1pLC1uLDAsLWksbiwwLGksLW4sMCxpLG4sLWksLW4sMCwtaSxuLDAsaSwtbiwwLGksbiwwLC1uLDAsLWksbiwwLC1pLC1uLDAsaSxuLDAsaV0sWzMsMTEsNywzLDcsMTUsMywxNSwxMyw3LDE5LDE3LDcsMTcsNiw3LDYsMTUsMTcsNCw4LDE3LDgsMTAsMTcsMTAsNiw4LDAsMTYsOCwxNiwyLDgsMiwxMCwwLDEyLDEsMCwxLDE4LDAsMTgsMTYsNiwxMCwyLDYsMiwxMyw2LDEzLDE1LDIsMTYsMTgsMiwxOCwzLDIsMywxMywxOCwxLDksMTgsOSwxMSwxOCwxMSwzLDQsMTQsMTIsNCwxMiwwLDQsMCw4LDExLDksNSwxMSw1LDE5LDExLDE5LDcsMTksNSwxNCwxOSwxNCw0LDE5LDQsMTcsMSwxMiwxNCwxLDE0LDUsMSw1LDldLHQsZSksdGhpcy50eXBlPSJEb2RlY2FoZWRyb25HZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6dCxkZXRhaWw6ZX19c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgYnRlKHQucmFkaXVzLHQuZGV0YWlsKX19Y29uc3QgeHRlPW5ldyBINXQsd3RlPW5ldyBINXQsU3RlPW5ldyBINXQsTXRlPW5ldyBKM3Q7Y2xhc3MgRXRlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQsZSl7aWYoc3VwZXIoKSx0aGlzLnR5cGU9IkVkZ2VzR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17dGhyZXNob2xkQW5nbGU6ZX0sZT12b2lkIDAhPT1lP2U6MSwhMD09PXQuaXNHZW9tZXRyeSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5FZGdlc0dlb21ldHJ5IG5vIGxvbmdlciBzdXBwb3J0cyBUSFJFRS5HZW9tZXRyeS4gVXNlIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIik7Y29uc3Qgbj1NYXRoLmNvcyhyNXQqZSksaT10LmdldEluZGV4KCkscj10LmdldEF0dHJpYnV0ZSgicG9zaXRpb24iKSxvPWk/aS5jb3VudDpyLmNvdW50LGE9WzAsMCwwXSxzPVsiYSIsImIiLCJjIl0sbD1uZXcgQXJyYXkoMyksYz17fSx1PVtdO2ZvcihsZXQgdD0wO3Q8bzt0Kz0zKXtpPyhhWzBdPWkuZ2V0WCh0KSxhWzFdPWkuZ2V0WCh0KzEpLGFbMl09aS5nZXRYKHQrMikpOihhWzBdPXQsYVsxXT10KzEsYVsyXT10KzIpO2NvbnN0e2E6ZSxiOm8sYzpofT1NdGU7aWYoZS5mcm9tQnVmZmVyQXR0cmlidXRlKHIsYVswXSksby5mcm9tQnVmZmVyQXR0cmlidXRlKHIsYVsxXSksaC5mcm9tQnVmZmVyQXR0cmlidXRlKHIsYVsyXSksTXRlLmdldE5vcm1hbChTdGUpLGxbMF09YCR7ZS54fSwke2UueX0sJHtlLnp9YCxsWzFdPWAke28ueH0sJHtvLnl9LCR7by56fWAsbFsyXT1gJHtoLnh9LCR7aC55fSwke2guen1gLGxbMF0hPT1sWzFdJiZsWzFdIT09bFsyXSYmbFsyXSE9PWxbMF0pZm9yKGxldCB0PTA7dDwzO3QrKyl7Y29uc3QgZT0odCsxKSUzLGk9bFt0XSxyPWxbZV0sbz1NdGVbc1t0XV0saD1NdGVbc1tlXV0sZD1gJHtpfV8ke3J9YCxwPWAke3J9XyR7aX1gO3AgaW4gYyYmY1twXT8oU3RlLmRvdChjW3BdLm5vcm1hbCk8PW4mJih1LnB1c2goby54LG8ueSxvLnopLHUucHVzaChoLngsaC55LGgueikpLGNbcF09bnVsbCk6ZCBpbiBjfHwoY1tkXT17aW5kZXgwOmFbdF0saW5kZXgxOmFbZV0sbm9ybWFsOlN0ZS5jbG9uZSgpfSl9fWZvcihjb25zdCB0IGluIGMpaWYoY1t0XSl7Y29uc3R7aW5kZXgwOmUsaW5kZXgxOm59PWNbdF07eHRlLmZyb21CdWZmZXJBdHRyaWJ1dGUocixlKSx3dGUuZnJvbUJ1ZmZlckF0dHJpYnV0ZShyLG4pLHUucHVzaCh4dGUueCx4dGUueSx4dGUueiksdS5wdXNoKHd0ZS54LHd0ZS55LHd0ZS56KX10aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQodSwzKSl9fWNsYXNzIFR0ZXtjb25zdHJ1Y3Rvcigpe3RoaXMudHlwZT0iQ3VydmUiLHRoaXMuYXJjTGVuZ3RoRGl2aXNpb25zPTIwMH1nZXRQb2ludCgpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkN1cnZlOiAuZ2V0UG9pbnQoKSBub3QgaW1wbGVtZW50ZWQuIiksbnVsbH1nZXRQb2ludEF0KHQsZSl7Y29uc3Qgbj10aGlzLmdldFV0b1RtYXBwaW5nKHQpO3JldHVybiB0aGlzLmdldFBvaW50KG4sZSl9Z2V0UG9pbnRzKHQ9NSl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPD10O24rKyllLnB1c2godGhpcy5nZXRQb2ludChuL3QpKTtyZXR1cm4gZX1nZXRTcGFjZWRQb2ludHModD01KXtjb25zdCBlPVtdO2ZvcihsZXQgbj0wO248PXQ7bisrKWUucHVzaCh0aGlzLmdldFBvaW50QXQobi90KSk7cmV0dXJuIGV9Z2V0TGVuZ3RoKCl7Y29uc3QgdD10aGlzLmdldExlbmd0aHMoKTtyZXR1cm4gdFt0Lmxlbmd0aC0xXX1nZXRMZW5ndGhzKHQ9dGhpcy5hcmNMZW5ndGhEaXZpc2lvbnMpe2lmKHRoaXMuY2FjaGVBcmNMZW5ndGhzJiZ0aGlzLmNhY2hlQXJjTGVuZ3Rocy5sZW5ndGg9PT10KzEmJiF0aGlzLm5lZWRzVXBkYXRlKXJldHVybiB0aGlzLmNhY2hlQXJjTGVuZ3Roczt0aGlzLm5lZWRzVXBkYXRlPSExO2NvbnN0IGU9W107bGV0IG4saT10aGlzLmdldFBvaW50KDApLHI9MDtlLnB1c2goMCk7Zm9yKGxldCBvPTE7bzw9dDtvKyspbj10aGlzLmdldFBvaW50KG8vdCkscis9bi5kaXN0YW5jZVRvKGkpLGUucHVzaChyKSxpPW47cmV0dXJuIHRoaXMuY2FjaGVBcmNMZW5ndGhzPWUsZX11cGRhdGVBcmNMZW5ndGhzKCl7dGhpcy5uZWVkc1VwZGF0ZT0hMCx0aGlzLmdldExlbmd0aHMoKX1nZXRVdG9UbWFwcGluZyh0LGUpe2NvbnN0IG49dGhpcy5nZXRMZW5ndGhzKCk7bGV0IGk9MDtjb25zdCByPW4ubGVuZ3RoO2xldCBvO289ZXx8dCpuW3ItMV07bGV0IGEscz0wLGw9ci0xO2Zvcig7czw9bDspaWYoaT1NYXRoLmZsb29yKHMrKGwtcykvMiksYT1uW2ldLW8sYTwwKXM9aSsxO2Vsc2V7aWYoIShhPjApKXtsPWk7YnJlYWt9bD1pLTF9aWYoaT1sLG5baV09PT1vKXJldHVybiBpLyhyLTEpO2NvbnN0IGM9bltpXTtyZXR1cm4oaSsoby1jKS8obltpKzFdLWMpKS8oci0xKX1nZXRUYW5nZW50KHQsZSl7Y29uc3Qgbj0xZS00O2xldCBpPXQtbixyPXQrbjtpPDAmJihpPTApLHI+MSYmKHI9MSk7Y29uc3Qgbz10aGlzLmdldFBvaW50KGkpLGE9dGhpcy5nZXRQb2ludChyKSxzPWV8fChvLmlzVmVjdG9yMj9uZXcgQzV0Om5ldyBINXQpO3JldHVybiBzLmNvcHkoYSkuc3ViKG8pLm5vcm1hbGl6ZSgpLHN9Z2V0VGFuZ2VudEF0KHQsZSl7Y29uc3Qgbj10aGlzLmdldFV0b1RtYXBwaW5nKHQpO3JldHVybiB0aGlzLmdldFRhbmdlbnQobixlKX1jb21wdXRlRnJlbmV0RnJhbWVzKHQsZSl7Y29uc3Qgbj1uZXcgSDV0LGk9W10scj1bXSxvPVtdLGE9bmV3IEg1dCxzPW5ldyBnM3Q7Zm9yKGxldCBlPTA7ZTw9dDtlKyspe2lbZV09dGhpcy5nZXRUYW5nZW50QXQoZS90LG5ldyBINXQpLGlbZV0ubm9ybWFsaXplKCl9clswXT1uZXcgSDV0LG9bMF09bmV3IEg1dDtsZXQgbD1OdW1iZXIuTUFYX1ZBTFVFO2NvbnN0IGM9TWF0aC5hYnMoaVswXS54KSx1PU1hdGguYWJzKGlbMF0ueSksaD1NYXRoLmFicyhpWzBdLnopO2M8PWwmJihsPWMsbi5zZXQoMSwwLDApKSx1PD1sJiYobD11LG4uc2V0KDAsMSwwKSksaDw9bCYmbi5zZXQoMCwwLDEpLGEuY3Jvc3NWZWN0b3JzKGlbMF0sbikubm9ybWFsaXplKCksclswXS5jcm9zc1ZlY3RvcnMoaVswXSxhKSxvWzBdLmNyb3NzVmVjdG9ycyhpWzBdLHJbMF0pO2ZvcihsZXQgZT0xO2U8PXQ7ZSsrKXtpZihyW2VdPXJbZS0xXS5jbG9uZSgpLG9bZV09b1tlLTFdLmNsb25lKCksYS5jcm9zc1ZlY3RvcnMoaVtlLTFdLGlbZV0pLGEubGVuZ3RoKCk+TnVtYmVyLkVQU0lMT04pe2Eubm9ybWFsaXplKCk7Y29uc3QgdD1NYXRoLmFjb3MoczV0KGlbZS0xXS5kb3QoaVtlXSksLTEsMSkpO3JbZV0uYXBwbHlNYXRyaXg0KHMubWFrZVJvdGF0aW9uQXhpcyhhLHQpKX1vW2VdLmNyb3NzVmVjdG9ycyhpW2VdLHJbZV0pfWlmKCEwPT09ZSl7bGV0IGU9TWF0aC5hY29zKHM1dChyWzBdLmRvdChyW3RdKSwtMSwxKSk7ZS89dCxpWzBdLmRvdChhLmNyb3NzVmVjdG9ycyhyWzBdLHJbdF0pKT4wJiYoZT0tZSk7Zm9yKGxldCBuPTE7bjw9dDtuKyspcltuXS5hcHBseU1hdHJpeDQocy5tYWtlUm90YXRpb25BeGlzKGlbbl0sZSpuKSksb1tuXS5jcm9zc1ZlY3RvcnMoaVtuXSxyW25dKX1yZXR1cm57dGFuZ2VudHM6aSxub3JtYWxzOnIsYmlub3JtYWxzOm99fWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfWNvcHkodCl7cmV0dXJuIHRoaXMuYXJjTGVuZ3RoRGl2aXNpb25zPXQuYXJjTGVuZ3RoRGl2aXNpb25zLHRoaXN9dG9KU09OKCl7Y29uc3QgdD17bWV0YWRhdGE6e3ZlcnNpb246NC41LHR5cGU6IkN1cnZlIixnZW5lcmF0b3I6IkN1cnZlLnRvSlNPTiJ9fTtyZXR1cm4gdC5hcmNMZW5ndGhEaXZpc2lvbnM9dGhpcy5hcmNMZW5ndGhEaXZpc2lvbnMsdC50eXBlPXRoaXMudHlwZSx0fWZyb21KU09OKHQpe3JldHVybiB0aGlzLmFyY0xlbmd0aERpdmlzaW9ucz10LmFyY0xlbmd0aERpdmlzaW9ucyx0aGlzfX1jbGFzcyBDdGUgZXh0ZW5kcyBUdGV7Y29uc3RydWN0b3IodD0wLGU9MCxuPTEsaT0xLHI9MCxvPTIqTWF0aC5QSSxhPSExLHM9MCl7c3VwZXIoKSx0aGlzLnR5cGU9IkVsbGlwc2VDdXJ2ZSIsdGhpcy5hWD10LHRoaXMuYVk9ZSx0aGlzLnhSYWRpdXM9bix0aGlzLnlSYWRpdXM9aSx0aGlzLmFTdGFydEFuZ2xlPXIsdGhpcy5hRW5kQW5nbGU9byx0aGlzLmFDbG9ja3dpc2U9YSx0aGlzLmFSb3RhdGlvbj1zfWdldFBvaW50KHQsZSl7Y29uc3Qgbj1lfHxuZXcgQzV0LGk9MipNYXRoLlBJO2xldCByPXRoaXMuYUVuZEFuZ2xlLXRoaXMuYVN0YXJ0QW5nbGU7Y29uc3Qgbz1NYXRoLmFicyhyKTxOdW1iZXIuRVBTSUxPTjtmb3IoO3I8MDspcis9aTtmb3IoO3I+aTspci09aTtyPE51bWJlci5FUFNJTE9OJiYocj1vPzA6aSksITAhPT10aGlzLmFDbG9ja3dpc2V8fG98fChyPT09aT9yPS1pOnItPWkpO2NvbnN0IGE9dGhpcy5hU3RhcnRBbmdsZSt0KnI7bGV0IHM9dGhpcy5hWCt0aGlzLnhSYWRpdXMqTWF0aC5jb3MoYSksbD10aGlzLmFZK3RoaXMueVJhZGl1cypNYXRoLnNpbihhKTtpZigwIT09dGhpcy5hUm90YXRpb24pe2NvbnN0IHQ9TWF0aC5jb3ModGhpcy5hUm90YXRpb24pLGU9TWF0aC5zaW4odGhpcy5hUm90YXRpb24pLG49cy10aGlzLmFYLGk9bC10aGlzLmFZO3M9bip0LWkqZSt0aGlzLmFYLGw9biplK2kqdCt0aGlzLmFZfXJldHVybiBuLnNldChzLGwpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5hWD10LmFYLHRoaXMuYVk9dC5hWSx0aGlzLnhSYWRpdXM9dC54UmFkaXVzLHRoaXMueVJhZGl1cz10LnlSYWRpdXMsdGhpcy5hU3RhcnRBbmdsZT10LmFTdGFydEFuZ2xlLHRoaXMuYUVuZEFuZ2xlPXQuYUVuZEFuZ2xlLHRoaXMuYUNsb2Nrd2lzZT10LmFDbG9ja3dpc2UsdGhpcy5hUm90YXRpb249dC5hUm90YXRpb24sdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LmFYPXRoaXMuYVgsdC5hWT10aGlzLmFZLHQueFJhZGl1cz10aGlzLnhSYWRpdXMsdC55UmFkaXVzPXRoaXMueVJhZGl1cyx0LmFTdGFydEFuZ2xlPXRoaXMuYVN0YXJ0QW5nbGUsdC5hRW5kQW5nbGU9dGhpcy5hRW5kQW5nbGUsdC5hQ2xvY2t3aXNlPXRoaXMuYUNsb2Nrd2lzZSx0LmFSb3RhdGlvbj10aGlzLmFSb3RhdGlvbix0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLmFYPXQuYVgsdGhpcy5hWT10LmFZLHRoaXMueFJhZGl1cz10LnhSYWRpdXMsdGhpcy55UmFkaXVzPXQueVJhZGl1cyx0aGlzLmFTdGFydEFuZ2xlPXQuYVN0YXJ0QW5nbGUsdGhpcy5hRW5kQW5nbGU9dC5hRW5kQW5nbGUsdGhpcy5hQ2xvY2t3aXNlPXQuYUNsb2Nrd2lzZSx0aGlzLmFSb3RhdGlvbj10LmFSb3RhdGlvbix0aGlzfX1DdGUucHJvdG90eXBlLmlzRWxsaXBzZUN1cnZlPSEwO2NsYXNzIEF0ZSBleHRlbmRzIEN0ZXtjb25zdHJ1Y3Rvcih0LGUsbixpLHIsbyl7c3VwZXIodCxlLG4sbixpLHIsbyksdGhpcy50eXBlPSJBcmNDdXJ2ZSJ9fWZ1bmN0aW9uIGt0ZSgpe2xldCB0PTAsZT0wLG49MCxpPTA7ZnVuY3Rpb24gcihyLG8sYSxzKXt0PXIsZT1hLG49LTMqciszKm8tMiphLXMsaT0yKnItMipvK2Erc31yZXR1cm57aW5pdENhdG11bGxSb206ZnVuY3Rpb24odCxlLG4saSxvKXtyKGUsbixvKihuLXQpLG8qKGktZSkpfSxpbml0Tm9udW5pZm9ybUNhdG11bGxSb206ZnVuY3Rpb24odCxlLG4saSxvLGEscyl7bGV0IGw9KGUtdCkvby0obi10KS8obythKSsobi1lKS9hLGM9KG4tZSkvYS0oaS1lKS8oYStzKSsoaS1uKS9zO2wqPWEsYyo9YSxyKGUsbixsLGMpfSxjYWxjOmZ1bmN0aW9uKHIpe2NvbnN0IG89cipyO3JldHVybiB0K2UqcituKm8raSoobypyKX19fUF0ZS5wcm90b3R5cGUuaXNBcmNDdXJ2ZT0hMDtjb25zdCBMdGU9bmV3IEg1dCxQdGU9bmV3IGt0ZSxOdGU9bmV3IGt0ZSxJdGU9bmV3IGt0ZTtjbGFzcyBSdGUgZXh0ZW5kcyBUdGV7Y29uc3RydWN0b3IodD1bXSxlPSExLG49ImNlbnRyaXBldGFsIixpPS41KXtzdXBlcigpLHRoaXMudHlwZT0iQ2F0bXVsbFJvbUN1cnZlMyIsdGhpcy5wb2ludHM9dCx0aGlzLmNsb3NlZD1lLHRoaXMuY3VydmVUeXBlPW4sdGhpcy50ZW5zaW9uPWl9Z2V0UG9pbnQodCxlPW5ldyBINXQpe2NvbnN0IG49ZSxpPXRoaXMucG9pbnRzLHI9aS5sZW5ndGgsbz0oci0odGhpcy5jbG9zZWQ/MDoxKSkqdDtsZXQgYSxzLGw9TWF0aC5mbG9vcihvKSxjPW8tbDt0aGlzLmNsb3NlZD9sKz1sPjA/MDooTWF0aC5mbG9vcihNYXRoLmFicyhsKS9yKSsxKSpyOjA9PT1jJiZsPT09ci0xJiYobD1yLTIsYz0xKSx0aGlzLmNsb3NlZHx8bD4wP2E9aVsobC0xKSVyXTooTHRlLnN1YlZlY3RvcnMoaVswXSxpWzFdKS5hZGQoaVswXSksYT1MdGUpO2NvbnN0IHU9aVtsJXJdLGg9aVsobCsxKSVyXTtpZih0aGlzLmNsb3NlZHx8bCsyPHI/cz1pWyhsKzIpJXJdOihMdGUuc3ViVmVjdG9ycyhpW3ItMV0saVtyLTJdKS5hZGQoaVtyLTFdKSxzPUx0ZSksImNlbnRyaXBldGFsIj09PXRoaXMuY3VydmVUeXBlfHwiY2hvcmRhbCI9PT10aGlzLmN1cnZlVHlwZSl7Y29uc3QgdD0iY2hvcmRhbCI9PT10aGlzLmN1cnZlVHlwZT8uNTouMjU7bGV0IGU9TWF0aC5wb3coYS5kaXN0YW5jZVRvU3F1YXJlZCh1KSx0KSxuPU1hdGgucG93KHUuZGlzdGFuY2VUb1NxdWFyZWQoaCksdCksaT1NYXRoLnBvdyhoLmRpc3RhbmNlVG9TcXVhcmVkKHMpLHQpO248MWUtNCYmKG49MSksZTwxZS00JiYoZT1uKSxpPDFlLTQmJihpPW4pLFB0ZS5pbml0Tm9udW5pZm9ybUNhdG11bGxSb20oYS54LHUueCxoLngscy54LGUsbixpKSxOdGUuaW5pdE5vbnVuaWZvcm1DYXRtdWxsUm9tKGEueSx1LnksaC55LHMueSxlLG4saSksSXRlLmluaXROb251bmlmb3JtQ2F0bXVsbFJvbShhLnosdS56LGgueixzLnosZSxuLGkpfWVsc2UiY2F0bXVsbHJvbSI9PT10aGlzLmN1cnZlVHlwZSYmKFB0ZS5pbml0Q2F0bXVsbFJvbShhLngsdS54LGgueCxzLngsdGhpcy50ZW5zaW9uKSxOdGUuaW5pdENhdG11bGxSb20oYS55LHUueSxoLnkscy55LHRoaXMudGVuc2lvbiksSXRlLmluaXRDYXRtdWxsUm9tKGEueix1LnosaC56LHMueix0aGlzLnRlbnNpb24pKTtyZXR1cm4gbi5zZXQoUHRlLmNhbGMoYyksTnRlLmNhbGMoYyksSXRlLmNhbGMoYykpLG59Y29weSh0KXtzdXBlci5jb3B5KHQpLHRoaXMucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dC5wb2ludHMubGVuZ3RoO2U8bjtlKyspe3RoaXMucG9pbnRzLnB1c2godC5wb2ludHNbZV0uY2xvbmUoKSl9cmV0dXJuIHRoaXMuY2xvc2VkPXQuY2xvc2VkLHRoaXMuY3VydmVUeXBlPXQuY3VydmVUeXBlLHRoaXMudGVuc2lvbj10LnRlbnNpb24sdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3QucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dGhpcy5wb2ludHMubGVuZ3RoO2U8bjtlKyspe3QucG9pbnRzLnB1c2godGhpcy5wb2ludHNbZV0udG9BcnJheSgpKX1yZXR1cm4gdC5jbG9zZWQ9dGhpcy5jbG9zZWQsdC5jdXJ2ZVR5cGU9dGhpcy5jdXJ2ZVR5cGUsdC50ZW5zaW9uPXRoaXMudGVuc2lvbix0fWZyb21KU09OKHQpe3N1cGVyLmZyb21KU09OKHQpLHRoaXMucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dC5wb2ludHMubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dC5wb2ludHNbZV07dGhpcy5wb2ludHMucHVzaCgobmV3IEg1dCkuZnJvbUFycmF5KG4pKX1yZXR1cm4gdGhpcy5jbG9zZWQ9dC5jbG9zZWQsdGhpcy5jdXJ2ZVR5cGU9dC5jdXJ2ZVR5cGUsdGhpcy50ZW5zaW9uPXQudGVuc2lvbix0aGlzfX1mdW5jdGlvbiBPdGUodCxlLG4saSxyKXtjb25zdCBvPS41KihpLWUpLGE9LjUqKHItbikscz10KnQ7cmV0dXJuKDIqbi0yKmkrbythKSoodCpzKSsoLTMqbiszKmktMipvLWEpKnMrbyp0K259ZnVuY3Rpb24genRlKHQsZSxuLGkpe3JldHVybihmdW5jdGlvbiByKHQsZSl7Y29uc3Qgbj0xLXQ7cmV0dXJuIG4qbiplfSkodCxlKSsoZnVuY3Rpb24gbyh0LGUpe3JldHVybiAyKigxLXQpKnQqZX0pKHQsbikrKGZ1bmN0aW9uIGEodCxlKXtyZXR1cm4gdCp0KmV9KSh0LGkpfWZ1bmN0aW9uIER0ZSh0LGUsbixpLHIpe3JldHVybihmdW5jdGlvbiBvKHQsZSl7Y29uc3Qgbj0xLXQ7cmV0dXJuIG4qbipuKmV9KSh0LGUpKyhmdW5jdGlvbiBhKHQsZSl7Y29uc3Qgbj0xLXQ7cmV0dXJuIDMqbipuKnQqZX0pKHQsbikrKGZ1bmN0aW9uIHModCxlKXtyZXR1cm4gMyooMS10KSp0KnQqZX0pKHQsaSkrKGZ1bmN0aW9uIGwodCxlKXtyZXR1cm4gdCp0KnQqZX0pKHQscil9UnRlLnByb3RvdHlwZS5pc0NhdG11bGxSb21DdXJ2ZTM9ITA7Y2xhc3MgQnRlIGV4dGVuZHMgVHRle2NvbnN0cnVjdG9yKHQ9bmV3IEM1dCxlPW5ldyBDNXQsbj1uZXcgQzV0LGk9bmV3IEM1dCl7c3VwZXIoKSx0aGlzLnR5cGU9IkN1YmljQmV6aWVyQ3VydmUiLHRoaXMudjA9dCx0aGlzLnYxPWUsdGhpcy52Mj1uLHRoaXMudjM9aX1nZXRQb2ludCh0LGU9bmV3IEM1dCl7Y29uc3Qgbj1lLGk9dGhpcy52MCxyPXRoaXMudjEsbz10aGlzLnYyLGE9dGhpcy52MztyZXR1cm4gbi5zZXQoRHRlKHQsaS54LHIueCxvLngsYS54KSxEdGUodCxpLnksci55LG8ueSxhLnkpKSxufWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy52MC5jb3B5KHQudjApLHRoaXMudjEuY29weSh0LnYxKSx0aGlzLnYyLmNvcHkodC52MiksdGhpcy52My5jb3B5KHQudjMpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC52MD10aGlzLnYwLnRvQXJyYXkoKSx0LnYxPXRoaXMudjEudG9BcnJheSgpLHQudjI9dGhpcy52Mi50b0FycmF5KCksdC52Mz10aGlzLnYzLnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLnYwLmZyb21BcnJheSh0LnYwKSx0aGlzLnYxLmZyb21BcnJheSh0LnYxKSx0aGlzLnYyLmZyb21BcnJheSh0LnYyKSx0aGlzLnYzLmZyb21BcnJheSh0LnYzKSx0aGlzfX1CdGUucHJvdG90eXBlLmlzQ3ViaWNCZXppZXJDdXJ2ZT0hMDtjbGFzcyBIdGUgZXh0ZW5kcyBUdGV7Y29uc3RydWN0b3IodD1uZXcgSDV0LGU9bmV3IEg1dCxuPW5ldyBINXQsaT1uZXcgSDV0KXtzdXBlcigpLHRoaXMudHlwZT0iQ3ViaWNCZXppZXJDdXJ2ZTMiLHRoaXMudjA9dCx0aGlzLnYxPWUsdGhpcy52Mj1uLHRoaXMudjM9aX1nZXRQb2ludCh0LGU9bmV3IEg1dCl7Y29uc3Qgbj1lLGk9dGhpcy52MCxyPXRoaXMudjEsbz10aGlzLnYyLGE9dGhpcy52MztyZXR1cm4gbi5zZXQoRHRlKHQsaS54LHIueCxvLngsYS54KSxEdGUodCxpLnksci55LG8ueSxhLnkpLER0ZSh0LGkueixyLnosby56LGEueikpLG59Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLnYwLmNvcHkodC52MCksdGhpcy52MS5jb3B5KHQudjEpLHRoaXMudjIuY29weSh0LnYyKSx0aGlzLnYzLmNvcHkodC52MyksdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LnYwPXRoaXMudjAudG9BcnJheSgpLHQudjE9dGhpcy52MS50b0FycmF5KCksdC52Mj10aGlzLnYyLnRvQXJyYXkoKSx0LnYzPXRoaXMudjMudG9BcnJheSgpLHR9ZnJvbUpTT04odCl7cmV0dXJuIHN1cGVyLmZyb21KU09OKHQpLHRoaXMudjAuZnJvbUFycmF5KHQudjApLHRoaXMudjEuZnJvbUFycmF5KHQudjEpLHRoaXMudjIuZnJvbUFycmF5KHQudjIpLHRoaXMudjMuZnJvbUFycmF5KHQudjMpLHRoaXN9fUh0ZS5wcm90b3R5cGUuaXNDdWJpY0JlemllckN1cnZlMz0hMDtjbGFzcyBGdGUgZXh0ZW5kcyBUdGV7Y29uc3RydWN0b3IodD1uZXcgQzV0LGU9bmV3IEM1dCl7c3VwZXIoKSx0aGlzLnR5cGU9IkxpbmVDdXJ2ZSIsdGhpcy52MT10LHRoaXMudjI9ZX1nZXRQb2ludCh0LGU9bmV3IEM1dCl7Y29uc3Qgbj1lO3JldHVybiAxPT09dD9uLmNvcHkodGhpcy52Mik6KG4uY29weSh0aGlzLnYyKS5zdWIodGhpcy52MSksbi5tdWx0aXBseVNjYWxhcih0KS5hZGQodGhpcy52MSkpLG59Z2V0UG9pbnRBdCh0LGUpe3JldHVybiB0aGlzLmdldFBvaW50KHQsZSl9Z2V0VGFuZ2VudCh0LGUpe2NvbnN0IG49ZXx8bmV3IEM1dDtyZXR1cm4gbi5jb3B5KHRoaXMudjIpLnN1Yih0aGlzLnYxKS5ub3JtYWxpemUoKSxufWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy52MS5jb3B5KHQudjEpLHRoaXMudjIuY29weSh0LnYyKSx0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7cmV0dXJuIHQudjE9dGhpcy52MS50b0FycmF5KCksdC52Mj10aGlzLnYyLnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLnYxLmZyb21BcnJheSh0LnYxKSx0aGlzLnYyLmZyb21BcnJheSh0LnYyKSx0aGlzfX1GdGUucHJvdG90eXBlLmlzTGluZUN1cnZlPSEwO2NsYXNzIFZ0ZSBleHRlbmRzIFR0ZXtjb25zdHJ1Y3Rvcih0PW5ldyBINXQsZT1uZXcgSDV0KXtzdXBlcigpLHRoaXMudHlwZT0iTGluZUN1cnZlMyIsdGhpcy5pc0xpbmVDdXJ2ZTM9ITAsdGhpcy52MT10LHRoaXMudjI9ZX1nZXRQb2ludCh0LGU9bmV3IEg1dCl7Y29uc3Qgbj1lO3JldHVybiAxPT09dD9uLmNvcHkodGhpcy52Mik6KG4uY29weSh0aGlzLnYyKS5zdWIodGhpcy52MSksbi5tdWx0aXBseVNjYWxhcih0KS5hZGQodGhpcy52MSkpLG59Z2V0UG9pbnRBdCh0LGUpe3JldHVybiB0aGlzLmdldFBvaW50KHQsZSl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLnYxLmNvcHkodC52MSksdGhpcy52Mi5jb3B5KHQudjIpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC52MT10aGlzLnYxLnRvQXJyYXkoKSx0LnYyPXRoaXMudjIudG9BcnJheSgpLHR9ZnJvbUpTT04odCl7cmV0dXJuIHN1cGVyLmZyb21KU09OKHQpLHRoaXMudjEuZnJvbUFycmF5KHQudjEpLHRoaXMudjIuZnJvbUFycmF5KHQudjIpLHRoaXN9fWNsYXNzIFV0ZSBleHRlbmRzIFR0ZXtjb25zdHJ1Y3Rvcih0PW5ldyBDNXQsZT1uZXcgQzV0LG49bmV3IEM1dCl7c3VwZXIoKSx0aGlzLnR5cGU9IlF1YWRyYXRpY0JlemllckN1cnZlIix0aGlzLnYwPXQsdGhpcy52MT1lLHRoaXMudjI9bn1nZXRQb2ludCh0LGU9bmV3IEM1dCl7Y29uc3Qgbj1lLGk9dGhpcy52MCxyPXRoaXMudjEsbz10aGlzLnYyO3JldHVybiBuLnNldCh6dGUodCxpLngsci54LG8ueCksenRlKHQsaS55LHIueSxvLnkpKSxufWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy52MC5jb3B5KHQudjApLHRoaXMudjEuY29weSh0LnYxKSx0aGlzLnYyLmNvcHkodC52MiksdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LnYwPXRoaXMudjAudG9BcnJheSgpLHQudjE9dGhpcy52MS50b0FycmF5KCksdC52Mj10aGlzLnYyLnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLnYwLmZyb21BcnJheSh0LnYwKSx0aGlzLnYxLmZyb21BcnJheSh0LnYxKSx0aGlzLnYyLmZyb21BcnJheSh0LnYyKSx0aGlzfX1VdGUucHJvdG90eXBlLmlzUXVhZHJhdGljQmV6aWVyQ3VydmU9ITA7Y2xhc3MganRlIGV4dGVuZHMgVHRle2NvbnN0cnVjdG9yKHQ9bmV3IEg1dCxlPW5ldyBINXQsbj1uZXcgSDV0KXtzdXBlcigpLHRoaXMudHlwZT0iUXVhZHJhdGljQmV6aWVyQ3VydmUzIix0aGlzLnYwPXQsdGhpcy52MT1lLHRoaXMudjI9bn1nZXRQb2ludCh0LGU9bmV3IEg1dCl7Y29uc3Qgbj1lLGk9dGhpcy52MCxyPXRoaXMudjEsbz10aGlzLnYyO3JldHVybiBuLnNldCh6dGUodCxpLngsci54LG8ueCksenRlKHQsaS55LHIueSxvLnkpLHp0ZSh0LGkueixyLnosby56KSksbn1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMudjAuY29weSh0LnYwKSx0aGlzLnYxLmNvcHkodC52MSksdGhpcy52Mi5jb3B5KHQudjIpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC52MD10aGlzLnYwLnRvQXJyYXkoKSx0LnYxPXRoaXMudjEudG9BcnJheSgpLHQudjI9dGhpcy52Mi50b0FycmF5KCksdH1mcm9tSlNPTih0KXtyZXR1cm4gc3VwZXIuZnJvbUpTT04odCksdGhpcy52MC5mcm9tQXJyYXkodC52MCksdGhpcy52MS5mcm9tQXJyYXkodC52MSksdGhpcy52Mi5mcm9tQXJyYXkodC52MiksdGhpc319anRlLnByb3RvdHlwZS5pc1F1YWRyYXRpY0JlemllckN1cnZlMz0hMDtjbGFzcyBHdGUgZXh0ZW5kcyBUdGV7Y29uc3RydWN0b3IodD1bXSl7c3VwZXIoKSx0aGlzLnR5cGU9IlNwbGluZUN1cnZlIix0aGlzLnBvaW50cz10fWdldFBvaW50KHQsZT1uZXcgQzV0KXtjb25zdCBuPWUsaT10aGlzLnBvaW50cyxyPShpLmxlbmd0aC0xKSp0LG89TWF0aC5mbG9vcihyKSxhPXItbyxzPWlbMD09PW8/bzpvLTFdLGw9aVtvXSxjPWlbbz5pLmxlbmd0aC0yP2kubGVuZ3RoLTE6bysxXSx1PWlbbz5pLmxlbmd0aC0zP2kubGVuZ3RoLTE6bysyXTtyZXR1cm4gbi5zZXQoT3RlKGEscy54LGwueCxjLngsdS54KSxPdGUoYSxzLnksbC55LGMueSx1LnkpKSxufWNvcHkodCl7c3VwZXIuY29weSh0KSx0aGlzLnBvaW50cz1bXTtmb3IobGV0IGU9MCxuPXQucG9pbnRzLmxlbmd0aDtlPG47ZSsrKXt0aGlzLnBvaW50cy5wdXNoKHQucG9pbnRzW2VdLmNsb25lKCkpfXJldHVybiB0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7dC5wb2ludHM9W107Zm9yKGxldCBlPTAsbj10aGlzLnBvaW50cy5sZW5ndGg7ZTxuO2UrKyl7dC5wb2ludHMucHVzaCh0aGlzLnBvaW50c1tlXS50b0FycmF5KCkpfXJldHVybiB0fWZyb21KU09OKHQpe3N1cGVyLmZyb21KU09OKHQpLHRoaXMucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dC5wb2ludHMubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dC5wb2ludHNbZV07dGhpcy5wb2ludHMucHVzaCgobmV3IEM1dCkuZnJvbUFycmF5KG4pKX1yZXR1cm4gdGhpc319R3RlLnByb3RvdHlwZS5pc1NwbGluZUN1cnZlPSEwO3ZhciBXdGU9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsQXJjQ3VydmU6QXRlLENhdG11bGxSb21DdXJ2ZTM6UnRlLEN1YmljQmV6aWVyQ3VydmU6QnRlLEN1YmljQmV6aWVyQ3VydmUzOkh0ZSxFbGxpcHNlQ3VydmU6Q3RlLExpbmVDdXJ2ZTpGdGUsTGluZUN1cnZlMzpWdGUsUXVhZHJhdGljQmV6aWVyQ3VydmU6VXRlLFF1YWRyYXRpY0JlemllckN1cnZlMzpqdGUsU3BsaW5lQ3VydmU6R3RlfSk7Y29uc3QgcXRlPWZ1bmN0aW9uKHQsZSxuPTIpe2NvbnN0IGk9ZSYmZS5sZW5ndGgscj1pP2VbMF0qbjp0Lmxlbmd0aDtsZXQgbz1ZdGUodCwwLHIsbiwhMCk7Y29uc3QgYT1bXTtpZighb3x8by5uZXh0PT09by5wcmV2KXJldHVybiBhO2xldCBzLGwsYyx1LGgsZCxwO2lmKGkmJihvPShmdW5jdGlvbiBmKHQsZSxuLGkpe2NvbnN0IHI9W107bGV0IG8sYSxzLGwsYztmb3Iobz0wLGE9ZS5sZW5ndGg7bzxhO28rKylzPWVbb10qaSxsPW88YS0xP2VbbysxXSppOnQubGVuZ3RoLGM9WXRlKHQscyxsLGksITEpLGM9PT1jLm5leHQmJihjLnN0ZWluZXI9ITApLHIucHVzaChyZWUoYykpO2ZvcihyLnNvcnQodGVlKSxvPTA7bzxyLmxlbmd0aDtvKyspZWVlKHJbb10sbiksbj1YdGUobixuLm5leHQpO3JldHVybiBufSkodCxlLG8sbikpLHQubGVuZ3RoPjgwKm4pe3M9Yz10WzBdLGw9dT10WzFdO2ZvcihsZXQgZT1uO2U8cjtlKz1uKWg9dFtlXSxkPXRbZSsxXSxoPHMmJihzPWgpLGQ8bCYmKGw9ZCksaD5jJiYoYz1oKSxkPnUmJih1PWQpO3A9TWF0aC5tYXgoYy1zLHUtbCkscD0wIT09cD8xL3A6MH1yZXR1cm4gJHRlKG8sYSxuLHMsbCxwKSxhfTtmdW5jdGlvbiBZdGUodCxlLG4saSxyKXtsZXQgbyxhO2lmKHI9PT0oZnVuY3Rpb24gcyh0LGUsbixpKXtsZXQgcj0wO2ZvcihsZXQgbz1lLGE9bi1pO288bjtvKz1pKXIrPSh0W2FdLXRbb10pKih0W28rMV0rdFthKzFdKSxhPW87cmV0dXJuIHJ9KSh0LGUsbixpKT4wKWZvcihvPWU7bzxuO28rPWkpYT1mZWUobyx0W29dLHRbbysxXSxhKTtlbHNlIGZvcihvPW4taTtvPj1lO28tPWkpYT1mZWUobyx0W29dLHRbbysxXSxhKTtyZXR1cm4gYSYmbGVlKGEsYS5uZXh0KSYmKG1lZShhKSxhPWEubmV4dCksYX1mdW5jdGlvbiBYdGUodCxlKXtpZighdClyZXR1cm4gdDtlfHwoZT10KTtsZXQgbixpPXQ7ZG97aWYobj0hMSxpLnN0ZWluZXJ8fCFsZWUoaSxpLm5leHQpJiYwIT09c2VlKGkucHJldixpLGkubmV4dCkpaT1pLm5leHQ7ZWxzZXtpZihtZWUoaSksaT1lPWkucHJldixpPT09aS5uZXh0KWJyZWFrO249ITB9fXdoaWxlKG58fGkhPT1lKTtyZXR1cm4gZX1mdW5jdGlvbiAkdGUodCxlLG4saSxyLG8sYSl7aWYoIXQpcmV0dXJuOyFhJiZvJiYoZnVuY3Rpb24gcyh0LGUsbixpKXtsZXQgcj10O2Rve251bGw9PT1yLnomJihyLno9aWVlKHIueCxyLnksZSxuLGkpKSxyLnByZXZaPXIucHJldixyLm5leHRaPXIubmV4dCxyPXIubmV4dH13aGlsZShyIT09dCk7ci5wcmV2Wi5uZXh0Wj1udWxsLHIucHJldlo9bnVsbCwoZnVuY3Rpb24gbyh0KXtsZXQgZSxuLGkscixvLGEscyxsLGM9MTtkb3tmb3Iobj10LHQ9bnVsbCxvPW51bGwsYT0wO247KXtmb3IoYSsrLGk9bixzPTAsZT0wO2U8YyYmKHMrKyxpPWkubmV4dFosaSk7ZSsrKTtmb3IobD1jO3M+MHx8bD4wJiZpOykwIT09cyYmKDA9PT1sfHwhaXx8bi56PD1pLnopPyhyPW4sbj1uLm5leHRaLHMtLSk6KHI9aSxpPWkubmV4dFosbC0tKSxvP28ubmV4dFo9cjp0PXIsci5wcmV2Wj1vLG89cjtuPWl9by5uZXh0Wj1udWxsLGMqPTJ9d2hpbGUoYT4xKTtyZXR1cm4gdH0pKHIpfSkodCxpLHIsbyk7bGV0IGwsYyx1PXQ7Zm9yKDt0LnByZXYhPT10Lm5leHQ7KWlmKGw9dC5wcmV2LGM9dC5uZXh0LG8/WnRlKHQsaSxyLG8pOkt0ZSh0KSllLnB1c2gobC5pL24pLGUucHVzaCh0LmkvbiksZS5wdXNoKGMuaS9uKSxtZWUodCksdD1jLm5leHQsdT1jLm5leHQ7ZWxzZSBpZigodD1jKT09PXUpe2E/MT09PWE/JHRlKHQ9SnRlKFh0ZSh0KSxlLG4pLGUsbixpLHIsbywyKToyPT09YSYmUXRlKHQsZSxuLGkscixvKTokdGUoWHRlKHQpLGUsbixpLHIsbywxKTticmVha319ZnVuY3Rpb24gS3RlKHQpe2NvbnN0IGU9dC5wcmV2LG49dCxpPXQubmV4dDtpZihzZWUoZSxuLGkpPj0wKXJldHVybiExO2xldCByPXQubmV4dC5uZXh0O2Zvcig7ciE9PXQucHJldjspe2lmKG9lZShlLngsZS55LG4ueCxuLnksaS54LGkueSxyLngsci55KSYmc2VlKHIucHJldixyLHIubmV4dCk+PTApcmV0dXJuITE7cj1yLm5leHR9cmV0dXJuITB9ZnVuY3Rpb24gWnRlKHQsZSxuLGkpe2NvbnN0IHI9dC5wcmV2LG89dCxhPXQubmV4dDtpZihzZWUocixvLGEpPj0wKXJldHVybiExO2NvbnN0IHM9ci54Pm8ueD9yLng+YS54P3IueDphLng6by54PmEueD9vLng6YS54LGw9ci55Pm8ueT9yLnk+YS55P3IueTphLnk6by55PmEueT9vLnk6YS55LGM9aWVlKHIueDxvLng/ci54PGEueD9yLng6YS54Om8ueDxhLng/by54OmEueCxyLnk8by55P3IueTxhLnk/ci55OmEueTpvLnk8YS55P28ueTphLnksZSxuLGkpLHU9aWVlKHMsbCxlLG4saSk7bGV0IGg9dC5wcmV2WixkPXQubmV4dFo7Zm9yKDtoJiZoLno+PWMmJmQmJmQuejw9dTspe2lmKGghPT10LnByZXYmJmghPT10Lm5leHQmJm9lZShyLngsci55LG8ueCxvLnksYS54LGEueSxoLngsaC55KSYmc2VlKGgucHJldixoLGgubmV4dCk+PTApcmV0dXJuITE7aWYoaD1oLnByZXZaLGQhPT10LnByZXYmJmQhPT10Lm5leHQmJm9lZShyLngsci55LG8ueCxvLnksYS54LGEueSxkLngsZC55KSYmc2VlKGQucHJldixkLGQubmV4dCk+PTApcmV0dXJuITE7ZD1kLm5leHRafWZvcig7aCYmaC56Pj1jOyl7aWYoaCE9PXQucHJldiYmaCE9PXQubmV4dCYmb2VlKHIueCxyLnksby54LG8ueSxhLngsYS55LGgueCxoLnkpJiZzZWUoaC5wcmV2LGgsaC5uZXh0KT49MClyZXR1cm4hMTtoPWgucHJldlp9Zm9yKDtkJiZkLno8PXU7KXtpZihkIT09dC5wcmV2JiZkIT09dC5uZXh0JiZvZWUoci54LHIueSxvLngsby55LGEueCxhLnksZC54LGQueSkmJnNlZShkLnByZXYsZCxkLm5leHQpPj0wKXJldHVybiExO2Q9ZC5uZXh0Wn1yZXR1cm4hMH1mdW5jdGlvbiBKdGUodCxlLG4pe2xldCBpPXQ7ZG97Y29uc3Qgcj1pLnByZXYsbz1pLm5leHQubmV4dDshbGVlKHIsbykmJmNlZShyLGksaS5uZXh0LG8pJiZkZWUocixvKSYmZGVlKG8scikmJihlLnB1c2goci5pL24pLGUucHVzaChpLmkvbiksZS5wdXNoKG8uaS9uKSxtZWUoaSksbWVlKGkubmV4dCksaT10PW8pLGk9aS5uZXh0fXdoaWxlKGkhPT10KTtyZXR1cm4gWHRlKGkpfWZ1bmN0aW9uIFF0ZSh0LGUsbixpLHIsbyl7bGV0IGE9dDtkb3tsZXQgdD1hLm5leHQubmV4dDtmb3IoO3QhPT1hLnByZXY7KXtpZihhLmkhPT10LmkmJmFlZShhLHQpKXtsZXQgcz1wZWUoYSx0KTtyZXR1cm4gYT1YdGUoYSxhLm5leHQpLHM9WHRlKHMscy5uZXh0KSwkdGUoYSxlLG4saSxyLG8pLHZvaWQgJHRlKHMsZSxuLGkscixvKX10PXQubmV4dH1hPWEubmV4dH13aGlsZShhIT09dCl9ZnVuY3Rpb24gdGVlKHQsZSl7cmV0dXJuIHQueC1lLnh9ZnVuY3Rpb24gZWVlKHQsZSl7aWYoZT0oZnVuY3Rpb24gbih0LGUpe2xldCBuPWU7Y29uc3QgaT10Lngscj10Lnk7bGV0IG8sYT0tMS8wO2Rve2lmKHI8PW4ueSYmcj49bi5uZXh0LnkmJm4ubmV4dC55IT09bi55KXtjb25zdCB0PW4ueCsoci1uLnkpKihuLm5leHQueC1uLngpLyhuLm5leHQueS1uLnkpO2lmKHQ8PWkmJnQ+YSl7aWYoYT10LHQ9PT1pKXtpZihyPT09bi55KXJldHVybiBuO2lmKHI9PT1uLm5leHQueSlyZXR1cm4gbi5uZXh0fW89bi54PG4ubmV4dC54P246bi5uZXh0fX1uPW4ubmV4dH13aGlsZShuIT09ZSk7aWYoIW8pcmV0dXJuIG51bGw7aWYoaT09PWEpcmV0dXJuIG87Y29uc3Qgcz1vLGw9by54LGM9by55O2xldCB1LGg9MS8wO249bztkb3tpPj1uLngmJm4ueD49bCYmaSE9PW4ueCYmb2VlKHI8Yz9pOmEscixsLGMscjxjP2E6aSxyLG4ueCxuLnkpJiYodT1NYXRoLmFicyhyLW4ueSkvKGktbi54KSxkZWUobix0KSYmKHU8aHx8dT09PWgmJihuLng+by54fHxuLng9PT1vLngmJm5lZShvLG4pKSkmJihvPW4saD11KSksbj1uLm5leHR9d2hpbGUobiE9PXMpO3JldHVybiBvfSkodCxlKSl7Y29uc3Qgbj1wZWUoZSx0KTtYdGUoZSxlLm5leHQpLFh0ZShuLG4ubmV4dCl9fWZ1bmN0aW9uIG5lZSh0LGUpe3JldHVybiBzZWUodC5wcmV2LHQsZS5wcmV2KTwwJiZzZWUoZS5uZXh0LHQsdC5uZXh0KTwwfWZ1bmN0aW9uIGllZSh0LGUsbixpLHIpe3JldHVybih0PTE0MzE2NTU3NjUmKCh0PTg1ODk5MzQ1OSYoKHQ9MjUyNjQ1MTM1JigodD0xNjcxMTkzNSYoKHQ9MzI3NjcqKHQtbikqcil8dDw8OCkpfHQ8PDQpKXx0PDwyKSl8dDw8MSkpfChlPTE0MzE2NTU3NjUmKChlPTg1ODk5MzQ1OSYoKGU9MjUyNjQ1MTM1JigoZT0xNjcxMTkzNSYoKGU9MzI3NjcqKGUtaSkqcil8ZTw8OCkpfGU8PDQpKXxlPDwyKSl8ZTw8MSkpPDwxfWZ1bmN0aW9uIHJlZSh0KXtsZXQgZT10LG49dDtkb3soZS54PG4ueHx8ZS54PT09bi54JiZlLnk8bi55KSYmKG49ZSksZT1lLm5leHR9d2hpbGUoZSE9PXQpO3JldHVybiBufWZ1bmN0aW9uIG9lZSh0LGUsbixpLHIsbyxhLHMpe3JldHVybihyLWEpKihlLXMpLSh0LWEpKihvLXMpPj0wJiYodC1hKSooaS1zKS0obi1hKSooZS1zKT49MCYmKG4tYSkqKG8tcyktKHItYSkqKGktcyk+PTB9ZnVuY3Rpb24gYWVlKHQsZSl7cmV0dXJuIHQubmV4dC5pIT09ZS5pJiZ0LnByZXYuaSE9PWUuaSYmIShmdW5jdGlvbiBuKHQsZSl7bGV0IG49dDtkb3tpZihuLmkhPT10LmkmJm4ubmV4dC5pIT09dC5pJiZuLmkhPT1lLmkmJm4ubmV4dC5pIT09ZS5pJiZjZWUobixuLm5leHQsdCxlKSlyZXR1cm4hMDtuPW4ubmV4dH13aGlsZShuIT09dCk7cmV0dXJuITF9KSh0LGUpJiYoZGVlKHQsZSkmJmRlZShlLHQpJiYoZnVuY3Rpb24gaSh0LGUpe2xldCBuPXQsaT0hMTtjb25zdCByPSh0LngrZS54KS8yLG89KHQueStlLnkpLzI7ZG97bi55Pm8hPW4ubmV4dC55Pm8mJm4ubmV4dC55IT09bi55JiZyPChuLm5leHQueC1uLngpKihvLW4ueSkvKG4ubmV4dC55LW4ueSkrbi54JiYoaT0haSksbj1uLm5leHR9d2hpbGUobiE9PXQpO3JldHVybiBpfSkodCxlKSYmKHNlZSh0LnByZXYsdCxlLnByZXYpfHxzZWUodCxlLnByZXYsZSkpfHxsZWUodCxlKSYmc2VlKHQucHJldix0LHQubmV4dCk+MCYmc2VlKGUucHJldixlLGUubmV4dCk+MCl9ZnVuY3Rpb24gc2VlKHQsZSxuKXtyZXR1cm4oZS55LXQueSkqKG4ueC1lLngpLShlLngtdC54KSoobi55LWUueSl9ZnVuY3Rpb24gbGVlKHQsZSl7cmV0dXJuIHQueD09PWUueCYmdC55PT09ZS55fWZ1bmN0aW9uIGNlZSh0LGUsbixpKXtjb25zdCByPWhlZShzZWUodCxlLG4pKSxvPWhlZShzZWUodCxlLGkpKSxhPWhlZShzZWUobixpLHQpKSxzPWhlZShzZWUobixpLGUpKTtyZXR1cm4gciE9PW8mJmEhPT1zfHwoISgwIT09cnx8IXVlZSh0LG4sZSkpfHwoISgwIT09b3x8IXVlZSh0LGksZSkpfHwoISgwIT09YXx8IXVlZShuLHQsaSkpfHwhKDAhPT1zfHwhdWVlKG4sZSxpKSkpKSl9ZnVuY3Rpb24gdWVlKHQsZSxuKXtyZXR1cm4gZS54PD1NYXRoLm1heCh0Lngsbi54KSYmZS54Pj1NYXRoLm1pbih0Lngsbi54KSYmZS55PD1NYXRoLm1heCh0Lnksbi55KSYmZS55Pj1NYXRoLm1pbih0Lnksbi55KX1mdW5jdGlvbiBoZWUodCl7cmV0dXJuIHQ+MD8xOnQ8MD8tMTowfWZ1bmN0aW9uIGRlZSh0LGUpe3JldHVybiBzZWUodC5wcmV2LHQsdC5uZXh0KTwwP3NlZSh0LGUsdC5uZXh0KT49MCYmc2VlKHQsdC5wcmV2LGUpPj0wOnNlZSh0LGUsdC5wcmV2KTwwfHxzZWUodCx0Lm5leHQsZSk8MH1mdW5jdGlvbiBwZWUodCxlKXtjb25zdCBuPW5ldyBnZWUodC5pLHQueCx0LnkpLGk9bmV3IGdlZShlLmksZS54LGUueSkscj10Lm5leHQsbz1lLnByZXY7cmV0dXJuIHQubmV4dD1lLGUucHJldj10LG4ubmV4dD1yLHIucHJldj1uLGkubmV4dD1uLG4ucHJldj1pLG8ubmV4dD1pLGkucHJldj1vLGl9ZnVuY3Rpb24gZmVlKHQsZSxuLGkpe2NvbnN0IHI9bmV3IGdlZSh0LGUsbik7cmV0dXJuIGk/KHIubmV4dD1pLm5leHQsci5wcmV2PWksaS5uZXh0LnByZXY9cixpLm5leHQ9cik6KHIucHJldj1yLHIubmV4dD1yKSxyfWZ1bmN0aW9uIG1lZSh0KXt0Lm5leHQucHJldj10LnByZXYsdC5wcmV2Lm5leHQ9dC5uZXh0LHQucHJldlomJih0LnByZXZaLm5leHRaPXQubmV4dFopLHQubmV4dFomJih0Lm5leHRaLnByZXZaPXQucHJldlopfWZ1bmN0aW9uIGdlZSh0LGUsbil7dGhpcy5pPXQsdGhpcy54PWUsdGhpcy55PW4sdGhpcy5wcmV2PW51bGwsdGhpcy5uZXh0PW51bGwsdGhpcy56PW51bGwsdGhpcy5wcmV2Wj1udWxsLHRoaXMubmV4dFo9bnVsbCx0aGlzLnN0ZWluZXI9ITF9Y2xhc3MgX2Vle3N0YXRpYyBhcmVhKHQpe2NvbnN0IGU9dC5sZW5ndGg7bGV0IG49MDtmb3IobGV0IGk9ZS0xLHI9MDtyPGU7aT1yKyspbis9dFtpXS54KnRbcl0ueS10W3JdLngqdFtpXS55O3JldHVybi41Km59c3RhdGljIGlzQ2xvY2tXaXNlKHQpe3JldHVybiBfZWUuYXJlYSh0KTwwfXN0YXRpYyB0cmlhbmd1bGF0ZVNoYXBlKHQsZSl7Y29uc3Qgbj1bXSxpPVtdLHI9W107eWVlKHQpLHZlZShuLHQpO2xldCBvPXQubGVuZ3RoO2UuZm9yRWFjaCh5ZWUpO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWkucHVzaChvKSxvKz1lW3RdLmxlbmd0aCx2ZWUobixlW3RdKTtjb25zdCBhPXF0ZShuLGkpO2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7dCs9MylyLnB1c2goYS5zbGljZSh0LHQrMykpO3JldHVybiByfX1mdW5jdGlvbiB5ZWUodCl7Y29uc3QgZT10Lmxlbmd0aDtlPjImJnRbZS0xXS5lcXVhbHModFswXSkmJnQucG9wKCl9ZnVuY3Rpb24gdmVlKHQsZSl7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdC5wdXNoKGVbbl0ueCksdC5wdXNoKGVbbl0ueSl9Y2xhc3MgYmVlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLnR5cGU9IkV4dHJ1ZGVHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXtzaGFwZXM6dCxvcHRpb25zOmV9LHQ9QXJyYXkuaXNBcnJheSh0KT90Olt0XTtjb25zdCBuPXRoaXMsaT1bXSxyPVtdO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7byh0W2VdKX1mdW5jdGlvbiBvKHQpe2NvbnN0IG89W10sYT12b2lkIDAhPT1lLmN1cnZlU2VnbWVudHM/ZS5jdXJ2ZVNlZ21lbnRzOjEyLHM9dm9pZCAwIT09ZS5zdGVwcz9lLnN0ZXBzOjE7bGV0IGw9dm9pZCAwIT09ZS5kZXB0aD9lLmRlcHRoOjEwMCxjPXZvaWQgMD09PWUuYmV2ZWxFbmFibGVkfHxlLmJldmVsRW5hYmxlZCx1PXZvaWQgMCE9PWUuYmV2ZWxUaGlja25lc3M/ZS5iZXZlbFRoaWNrbmVzczo2LGg9dm9pZCAwIT09ZS5iZXZlbFNpemU/ZS5iZXZlbFNpemU6dS0yLGQ9dm9pZCAwIT09ZS5iZXZlbE9mZnNldD9lLmJldmVsT2Zmc2V0OjAscD12b2lkIDAhPT1lLmJldmVsU2VnbWVudHM/ZS5iZXZlbFNlZ21lbnRzOjM7Y29uc3QgZj1lLmV4dHJ1ZGVQYXRoLG09dm9pZCAwIT09ZS5VVkdlbmVyYXRvcj9lLlVWR2VuZXJhdG9yOnhlZTt2b2lkIDAhPT1lLmFtb3VudCYmKGNvbnNvbGUud2FybigiVEhSRUUuRXh0cnVkZUJ1ZmZlckdlb21ldHJ5OiBhbW91bnQgaGFzIGJlZW4gcmVuYW1lZCB0byBkZXB0aC4iKSxsPWUuYW1vdW50KTtsZXQgZyxfLHksdixiLHg9ITE7ZiYmKGc9Zi5nZXRTcGFjZWRQb2ludHMocykseD0hMCxjPSExLF89Zi5jb21wdXRlRnJlbmV0RnJhbWVzKHMsITEpLHk9bmV3IEg1dCx2PW5ldyBINXQsYj1uZXcgSDV0KSxjfHwocD0wLHU9MCxoPTAsZD0wKTtjb25zdCB3PXQuZXh0cmFjdFBvaW50cyhhKTtsZXQgUz13LnNoYXBlO2NvbnN0IE09dy5ob2xlcztpZighX2VlLmlzQ2xvY2tXaXNlKFMpKXtTPVMucmV2ZXJzZSgpO2ZvcihsZXQgdD0wLGU9TS5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1NW3RdO19lZS5pc0Nsb2NrV2lzZShlKSYmKE1bdF09ZS5yZXZlcnNlKCkpfX1jb25zdCBFPV9lZS50cmlhbmd1bGF0ZVNoYXBlKFMsTSksVD1TO2ZvcihsZXQgdD0wLGU9TS5sZW5ndGg7dDxlO3QrKyl7Uz1TLmNvbmNhdChNW3RdKX1mdW5jdGlvbiBDKHQsZSxuKXtyZXR1cm4gZXx8Y29uc29sZS5lcnJvcigiVEhSRUUuRXh0cnVkZUdlb21ldHJ5OiB2ZWMgZG9lcyBub3QgZXhpc3QiKSxlLmNsb25lKCkubXVsdGlwbHlTY2FsYXIobikuYWRkKHQpfWNvbnN0IEE9Uy5sZW5ndGgsaz1FLmxlbmd0aDtmdW5jdGlvbiBMKHQsZSxuKXtsZXQgaSxyLG87Y29uc3QgYT10LngtZS54LHM9dC55LWUueSxsPW4ueC10LngsYz1uLnktdC55LHU9YSphK3MqcztpZihNYXRoLmFicyhhKmMtcypsKT5OdW1iZXIuRVBTSUxPTil7Y29uc3QgaD1NYXRoLnNxcnQodSksZD1NYXRoLnNxcnQobCpsK2MqYykscD1lLngtcy9oLGY9ZS55K2EvaCxtPSgobi54LWMvZC1wKSpjLShuLnkrbC9kLWYpKmwpLyhhKmMtcypsKTtpPXArYSptLXQueCxyPWYrcyptLXQueTtjb25zdCBnPWkqaStyKnI7aWYoZzw9MilyZXR1cm4gbmV3IEM1dChpLHIpO289TWF0aC5zcXJ0KGcvMil9ZWxzZXtsZXQgdD0hMTthPk51bWJlci5FUFNJTE9OP2w+TnVtYmVyLkVQU0lMT04mJih0PSEwKTphPC1OdW1iZXIuRVBTSUxPTj9sPC1OdW1iZXIuRVBTSUxPTiYmKHQ9ITApOk1hdGguc2lnbihzKT09PU1hdGguc2lnbihjKSYmKHQ9ITApLHQ/KGk9LXMscj1hLG89TWF0aC5zcXJ0KHUpKTooaT1hLHI9cyxvPU1hdGguc3FydCh1LzIpKX1yZXR1cm4gbmV3IEM1dChpL28sci9vKX1jb25zdCBQPVtdO2ZvcihsZXQgdD0wLGU9VC5sZW5ndGgsbj1lLTEsaT10KzE7dDxlO3QrKyxuKyssaSsrKW49PT1lJiYobj0wKSxpPT09ZSYmKGk9MCksUFt0XT1MKFRbdF0sVFtuXSxUW2ldKTtjb25zdCBOPVtdO2xldCBJLFI9UC5jb25jYXQoKTtmb3IobGV0IHQ9MCxlPU0ubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9TVt0XTtJPVtdO2ZvcihsZXQgdD0wLG49ZS5sZW5ndGgsaT1uLTEscj10KzE7dDxuO3QrKyxpKysscisrKWk9PT1uJiYoaT0wKSxyPT09biYmKHI9MCksSVt0XT1MKGVbdF0sZVtpXSxlW3JdKTtOLnB1c2goSSksUj1SLmNvbmNhdChJKX1mb3IobGV0IHQ9MDt0PHA7dCsrKXtjb25zdCBlPXQvcCxuPXUqTWF0aC5jb3MoZSpNYXRoLlBJLzIpLGk9aCpNYXRoLnNpbihlKk1hdGguUEkvMikrZDtmb3IobGV0IHQ9MCxlPVQubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9QyhUW3RdLFBbdF0saSk7RChlLngsZS55LC1uKX1mb3IobGV0IHQ9MCxlPU0ubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9TVt0XTtJPU5bdF07Zm9yKGxldCB0PTAscj1lLmxlbmd0aDt0PHI7dCsrKXtjb25zdCByPUMoZVt0XSxJW3RdLGkpO0Qoci54LHIueSwtbil9fX1jb25zdCBPPWgrZDtmb3IobGV0IHQ9MDt0PEE7dCsrKXtjb25zdCBlPWM/QyhTW3RdLFJbdF0sTyk6U1t0XTt4Pyh2LmNvcHkoXy5ub3JtYWxzWzBdKS5tdWx0aXBseVNjYWxhcihlLngpLHkuY29weShfLmJpbm9ybWFsc1swXSkubXVsdGlwbHlTY2FsYXIoZS55KSxiLmNvcHkoZ1swXSkuYWRkKHYpLmFkZCh5KSxEKGIueCxiLnksYi56KSk6RChlLngsZS55LDApfWZvcihsZXQgdD0xO3Q8PXM7dCsrKWZvcihsZXQgZT0wO2U8QTtlKyspe2NvbnN0IG49Yz9DKFNbZV0sUltlXSxPKTpTW2VdO3g/KHYuY29weShfLm5vcm1hbHNbdF0pLm11bHRpcGx5U2NhbGFyKG4ueCkseS5jb3B5KF8uYmlub3JtYWxzW3RdKS5tdWx0aXBseVNjYWxhcihuLnkpLGIuY29weShnW3RdKS5hZGQodikuYWRkKHkpLEQoYi54LGIueSxiLnopKTpEKG4ueCxuLnksbC9zKnQpfWZvcihsZXQgdD1wLTE7dD49MDt0LS0pe2NvbnN0IGU9dC9wLG49dSpNYXRoLmNvcyhlKk1hdGguUEkvMiksaT1oKk1hdGguc2luKGUqTWF0aC5QSS8yKStkO2ZvcihsZXQgdD0wLGU9VC5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1DKFRbdF0sUFt0XSxpKTtEKGUueCxlLnksbCtuKX1mb3IobGV0IHQ9MCxlPU0ubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9TVt0XTtJPU5bdF07Zm9yKGxldCB0PTAscj1lLmxlbmd0aDt0PHI7dCsrKXtjb25zdCByPUMoZVt0XSxJW3RdLGkpO3g/RChyLngsci55K2dbcy0xXS55LGdbcy0xXS54K24pOkQoci54LHIueSxsK24pfX19ZnVuY3Rpb24geih0LGUpe2xldCBuPXQubGVuZ3RoO2Zvcig7LS1uPj0wOyl7Y29uc3QgaT1uO2xldCByPW4tMTtyPDAmJihyPXQubGVuZ3RoLTEpO2ZvcihsZXQgdD0wLG49cysyKnA7dDxuO3QrKyl7Y29uc3Qgbj1BKnQsbz1BKih0KzEpO0goZStpK24sZStyK24sZStyK28sZStpK28pfX19ZnVuY3Rpb24gRCh0LGUsbil7by5wdXNoKHQpLG8ucHVzaChlKSxvLnB1c2gobil9ZnVuY3Rpb24gQih0LGUscil7Rih0KSxGKGUpLEYocik7Y29uc3Qgbz1pLmxlbmd0aC8zLGE9bS5nZW5lcmF0ZVRvcFVWKG4saSxvLTMsby0yLG8tMSk7VihhWzBdKSxWKGFbMV0pLFYoYVsyXSl9ZnVuY3Rpb24gSCh0LGUscixvKXtGKHQpLEYoZSksRihvKSxGKGUpLEYociksRihvKTtjb25zdCBhPWkubGVuZ3RoLzMscz1tLmdlbmVyYXRlU2lkZVdhbGxVVihuLGksYS02LGEtMyxhLTIsYS0xKTtWKHNbMF0pLFYoc1sxXSksVihzWzNdKSxWKHNbMV0pLFYoc1syXSksVihzWzNdKX1mdW5jdGlvbiBGKHQpe2kucHVzaChvWzMqdCswXSksaS5wdXNoKG9bMyp0KzFdKSxpLnB1c2gob1szKnQrMl0pfWZ1bmN0aW9uIFYodCl7ci5wdXNoKHQueCksci5wdXNoKHQueSl9IShmdW5jdGlvbiBVKCl7Y29uc3QgdD1pLmxlbmd0aC8zO2lmKGMpe2xldCB0PTAsZT1BKnQ7Zm9yKGxldCB0PTA7dDxrO3QrKyl7Y29uc3Qgbj1FW3RdO0IoblsyXStlLG5bMV0rZSxuWzBdK2UpfXQ9cysyKnAsZT1BKnQ7Zm9yKGxldCB0PTA7dDxrO3QrKyl7Y29uc3Qgbj1FW3RdO0IoblswXStlLG5bMV0rZSxuWzJdK2UpfX1lbHNle2ZvcihsZXQgdD0wO3Q8azt0Kyspe2NvbnN0IGU9RVt0XTtCKGVbMl0sZVsxXSxlWzBdKX1mb3IobGV0IHQ9MDt0PGs7dCsrKXtjb25zdCBlPUVbdF07QihlWzBdK0EqcyxlWzFdK0EqcyxlWzJdK0Eqcyl9fW4uYWRkR3JvdXAodCxpLmxlbmd0aC8zLXQsMCl9KSgpLChmdW5jdGlvbiBqKCl7Y29uc3QgdD1pLmxlbmd0aC8zO2xldCBlPTA7eihULGUpLGUrPVQubGVuZ3RoO2ZvcihsZXQgdD0wLG49TS5sZW5ndGg7dDxuO3QrKyl7Y29uc3Qgbj1NW3RdO3oobixlKSxlKz1uLmxlbmd0aH1uLmFkZEdyb3VwKHQsaS5sZW5ndGgvMy10LDEpfSkoKX10aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQoaSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoInV2IixuZXcgYjR0KHIsMikpLHRoaXMuY29tcHV0ZVZlcnRleE5vcm1hbHMoKX10b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybihmdW5jdGlvbiBlKHQsbixpKXtpZihpLnNoYXBlcz1bXSxBcnJheS5pc0FycmF5KHQpKWZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7aS5zaGFwZXMucHVzaCh0W2VdLnV1aWQpfWVsc2UgaS5zaGFwZXMucHVzaCh0LnV1aWQpO3ZvaWQgMCE9PW4uZXh0cnVkZVBhdGgmJihpLm9wdGlvbnMuZXh0cnVkZVBhdGg9bi5leHRydWRlUGF0aC50b0pTT04oKSk7cmV0dXJuIGl9KSh0aGlzLnBhcmFtZXRlcnMuc2hhcGVzLHRoaXMucGFyYW1ldGVycy5vcHRpb25zLHQpfXN0YXRpYyBmcm9tSlNPTih0LGUpe2NvbnN0IG49W107Zm9yKGxldCBpPTAscj10LnNoYXBlcy5sZW5ndGg7aTxyO2krKyl7bi5wdXNoKGVbdC5zaGFwZXNbaV1dKX1jb25zdCBpPXQub3B0aW9ucy5leHRydWRlUGF0aDtyZXR1cm4gdm9pZCAwIT09aSYmKHQub3B0aW9ucy5leHRydWRlUGF0aD0obmV3IFd0ZVtpLnR5cGVdKS5mcm9tSlNPTihpKSksbmV3IGJlZShuLHQub3B0aW9ucyl9fWNvbnN0IHhlZT17Z2VuZXJhdGVUb3BVVjpmdW5jdGlvbih0LGUsbixpLHIpe2NvbnN0IG89ZVszKmldLGE9ZVszKmkrMV0scz1lWzMqcl0sbD1lWzMqcisxXTtyZXR1cm5bbmV3IEM1dChlWzMqbl0sZVszKm4rMV0pLG5ldyBDNXQobyxhKSxuZXcgQzV0KHMsbCldfSxnZW5lcmF0ZVNpZGVXYWxsVVY6ZnVuY3Rpb24odCxlLG4saSxyLG8pe2NvbnN0IGE9ZVszKm5dLHM9ZVszKm4rMV0sbD1lWzMqbisyXSxjPWVbMyppXSx1PWVbMyppKzFdLGg9ZVszKmkrMl0sZD1lWzMqcl0scD1lWzMqcisxXSxmPWVbMypyKzJdLG09ZVszKm9dLGc9ZVszKm8rMV0sXz1lWzMqbysyXTtyZXR1cm4gTWF0aC5hYnMocy11KTxNYXRoLmFicyhhLWMpP1tuZXcgQzV0KGEsMS1sKSxuZXcgQzV0KGMsMS1oKSxuZXcgQzV0KGQsMS1mKSxuZXcgQzV0KG0sMS1fKV06W25ldyBDNXQocywxLWwpLG5ldyBDNXQodSwxLWgpLG5ldyBDNXQocCwxLWYpLG5ldyBDNXQoZywxLV8pXX19O2NsYXNzIHdlZSBleHRlbmRzIHZ0ZXtjb25zdHJ1Y3Rvcih0PTEsZT0wKXtjb25zdCBuPSgxK01hdGguc3FydCg1KSkvMjtzdXBlcihbLTEsbiwwLDEsbiwwLC0xLC1uLDAsMSwtbiwwLDAsLTEsbiwwLDEsbiwwLC0xLC1uLDAsMSwtbixuLDAsLTEsbiwwLDEsLW4sMCwtMSwtbiwwLDFdLFswLDExLDUsMCw1LDEsMCwxLDcsMCw3LDEwLDAsMTAsMTEsMSw1LDksNSwxMSw0LDExLDEwLDIsMTAsNyw2LDcsMSw4LDMsOSw0LDMsNCwyLDMsMiw2LDMsNiw4LDMsOCw5LDQsOSw1LDIsNCwxMSw2LDIsMTAsOCw2LDcsOSw4LDFdLHQsZSksdGhpcy50eXBlPSJJY29zYWhlZHJvbkdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czp0LGRldGFpbDplfX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyB3ZWUodC5yYWRpdXMsdC5kZXRhaWwpfX1jbGFzcyBTZWUgZXh0ZW5kcyBONHR7Y29uc3RydWN0b3IodCxlPTEyLG49MCxpPTIqTWF0aC5QSSl7c3VwZXIoKSx0aGlzLnR5cGU9IkxhdGhlR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17cG9pbnRzOnQsc2VnbWVudHM6ZSxwaGlTdGFydDpuLHBoaUxlbmd0aDppfSxlPU1hdGguZmxvb3IoZSksaT1zNXQoaSwwLDIqTWF0aC5QSSk7Y29uc3Qgcj1bXSxvPVtdLGE9W10scz0xL2UsbD1uZXcgSDV0LGM9bmV3IEM1dDtmb3IobGV0IHI9MDtyPD1lO3IrKyl7Y29uc3QgdT1uK3IqcyppLGg9TWF0aC5zaW4odSksZD1NYXRoLmNvcyh1KTtmb3IobGV0IG49MDtuPD10Lmxlbmd0aC0xO24rKylsLng9dFtuXS54KmgsbC55PXRbbl0ueSxsLno9dFtuXS54KmQsby5wdXNoKGwueCxsLnksbC56KSxjLng9ci9lLGMueT1uLyh0Lmxlbmd0aC0xKSxhLnB1c2goYy54LGMueSl9Zm9yKGxldCBuPTA7bjxlO24rKylmb3IobGV0IGU9MDtlPHQubGVuZ3RoLTE7ZSsrKXtjb25zdCBpPWUrbip0Lmxlbmd0aCxvPWkrdC5sZW5ndGgsYT1pK3QubGVuZ3RoKzEscz1pKzE7ci5wdXNoKGksbyxzKSxyLnB1c2gobyxhLHMpfWlmKHRoaXMuc2V0SW5kZXgociksdGhpcy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KG8sMykpLHRoaXMuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGI0dChhLDIpKSx0aGlzLmNvbXB1dGVWZXJ0ZXhOb3JtYWxzKCksaT09PTIqTWF0aC5QSSl7Y29uc3Qgbj10aGlzLmF0dHJpYnV0ZXMubm9ybWFsLmFycmF5LGk9bmV3IEg1dCxyPW5ldyBINXQsbz1uZXcgSDV0LGE9ZSp0Lmxlbmd0aCozO2ZvcihsZXQgZT0wLHM9MDtlPHQubGVuZ3RoO2UrKyxzKz0zKWkueD1uW3MrMF0saS55PW5bcysxXSxpLno9bltzKzJdLHIueD1uW2ErcyswXSxyLnk9blthK3MrMV0sci56PW5bYStzKzJdLG8uYWRkVmVjdG9ycyhpLHIpLm5vcm1hbGl6ZSgpLG5bcyswXT1uW2ErcyswXT1vLngsbltzKzFdPW5bYStzKzFdPW8ueSxuW3MrMl09blthK3MrMl09by56fX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyBTZWUodC5wb2ludHMsdC5zZWdtZW50cyx0LnBoaVN0YXJ0LHQucGhpTGVuZ3RoKX19Y2xhc3MgTWVlIGV4dGVuZHMgdnRle2NvbnN0cnVjdG9yKHQ9MSxlPTApe3N1cGVyKFsxLDAsMCwtMSwwLDAsMCwxLDAsMCwtMSwwLDAsMCwxLDAsMCwtMV0sWzAsMiw0LDAsNCwzLDAsMyw1LDAsNSwyLDEsMiw1LDEsNSwzLDEsMyw0LDEsNCwyXSx0LGUpLHRoaXMudHlwZT0iT2N0YWhlZHJvbkdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czp0LGRldGFpbDplfX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyBNZWUodC5yYWRpdXMsdC5kZXRhaWwpfX1jbGFzcyBFZWUgZXh0ZW5kcyBONHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKCksdGhpcy50eXBlPSJQYXJhbWV0cmljR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17ZnVuYzp0LHNsaWNlczplLHN0YWNrczpufTtjb25zdCBpPVtdLHI9W10sbz1bXSxhPVtdLHM9MWUtNSxsPW5ldyBINXQsYz1uZXcgSDV0LHU9bmV3IEg1dCxoPW5ldyBINXQsZD1uZXcgSDV0O3QubGVuZ3RoPDMmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLlBhcmFtZXRyaWNHZW9tZXRyeTogRnVuY3Rpb24gbXVzdCBub3cgbW9kaWZ5IGEgVmVjdG9yMyBhcyB0aGlyZCBwYXJhbWV0ZXIuIik7Y29uc3QgcD1lKzE7Zm9yKGxldCBpPTA7aTw9bjtpKyspe2NvbnN0IHA9aS9uO2ZvcihsZXQgbj0wO248PWU7bisrKXtjb25zdCBpPW4vZTt0KGkscCxjKSxyLnB1c2goYy54LGMueSxjLnopLGktcz49MD8odChpLXMscCx1KSxoLnN1YlZlY3RvcnMoYyx1KSk6KHQoaStzLHAsdSksaC5zdWJWZWN0b3JzKHUsYykpLHAtcz49MD8odChpLHAtcyx1KSxkLnN1YlZlY3RvcnMoYyx1KSk6KHQoaSxwK3MsdSksZC5zdWJWZWN0b3JzKHUsYykpLGwuY3Jvc3NWZWN0b3JzKGgsZCkubm9ybWFsaXplKCksby5wdXNoKGwueCxsLnksbC56KSxhLnB1c2goaSxwKX19Zm9yKGxldCB0PTA7dDxuO3QrKylmb3IobGV0IG49MDtuPGU7bisrKXtjb25zdCBlPXQqcCtuKzEscj0odCsxKSpwK24rMSxvPSh0KzEpKnArbjtpLnB1c2godCpwK24sZSxvKSxpLnB1c2goZSxyLG8pfXRoaXMuc2V0SW5kZXgoaSksdGhpcy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KHIsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJub3JtYWwiLG5ldyBiNHQobywzKSksdGhpcy5zZXRBdHRyaWJ1dGUoInV2IixuZXcgYjR0KGEsMikpfX1jbGFzcyBUZWUgZXh0ZW5kcyBONHR7Y29uc3RydWN0b3IodD0uNSxlPTEsbj04LGk9MSxyPTAsbz0yKk1hdGguUEkpe3N1cGVyKCksdGhpcy50eXBlPSJSaW5nR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17aW5uZXJSYWRpdXM6dCxvdXRlclJhZGl1czplLHRoZXRhU2VnbWVudHM6bixwaGlTZWdtZW50czppLHRoZXRhU3RhcnQ6cix0aGV0YUxlbmd0aDpvfSxuPU1hdGgubWF4KDMsbik7Y29uc3QgYT1bXSxzPVtdLGw9W10sYz1bXTtsZXQgdT10O2NvbnN0IGg9KGUtdCkvKGk9TWF0aC5tYXgoMSxpKSksZD1uZXcgSDV0LHA9bmV3IEM1dDtmb3IobGV0IHQ9MDt0PD1pO3QrKyl7Zm9yKGxldCB0PTA7dDw9bjt0Kyspe2NvbnN0IGk9cit0L24qbztkLng9dSpNYXRoLmNvcyhpKSxkLnk9dSpNYXRoLnNpbihpKSxzLnB1c2goZC54LGQueSxkLnopLGwucHVzaCgwLDAsMSkscC54PShkLngvZSsxKS8yLHAueT0oZC55L2UrMSkvMixjLnB1c2gocC54LHAueSl9dSs9aH1mb3IobGV0IHQ9MDt0PGk7dCsrKXtjb25zdCBlPXQqKG4rMSk7Zm9yKGxldCB0PTA7dDxuO3QrKyl7Y29uc3QgaT10K2Uscj1pK24rMSxvPWkrbisyLHM9aSsxO2EucHVzaChpLHIscyksYS5wdXNoKHIsbyxzKX19dGhpcy5zZXRJbmRleChhKSx0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQocywzKSksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGI0dChsLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBiNHQoYywyKSl9c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgVGVlKHQuaW5uZXJSYWRpdXMsdC5vdXRlclJhZGl1cyx0LnRoZXRhU2VnbWVudHMsdC5waGlTZWdtZW50cyx0LnRoZXRhU3RhcnQsdC50aGV0YUxlbmd0aCl9fWNsYXNzIENlZSBleHRlbmRzIE40dHtjb25zdHJ1Y3Rvcih0LGU9MTIpe3N1cGVyKCksdGhpcy50eXBlPSJTaGFwZUdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3NoYXBlczp0LGN1cnZlU2VnbWVudHM6ZX07Y29uc3Qgbj1bXSxpPVtdLHI9W10sbz1bXTtsZXQgYT0wLHM9MDtpZighMT09PUFycmF5LmlzQXJyYXkodCkpbCh0KTtlbHNlIGZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKWwodFtlXSksdGhpcy5hZGRHcm91cChhLHMsZSksYSs9cyxzPTA7ZnVuY3Rpb24gbCh0KXtjb25zdCBhPWkubGVuZ3RoLzMsbD10LmV4dHJhY3RQb2ludHMoZSk7bGV0IGM9bC5zaGFwZTtjb25zdCB1PWwuaG9sZXM7ITE9PT1fZWUuaXNDbG9ja1dpc2UoYykmJihjPWMucmV2ZXJzZSgpKTtmb3IobGV0IHQ9MCxlPXUubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9dVt0XTshMD09PV9lZS5pc0Nsb2NrV2lzZShlKSYmKHVbdF09ZS5yZXZlcnNlKCkpfWNvbnN0IGg9X2VlLnRyaWFuZ3VsYXRlU2hhcGUoYyx1KTtmb3IobGV0IHQ9MCxlPXUubGVuZ3RoO3Q8ZTt0Kyspe2M9Yy5jb25jYXQodVt0XSl9Zm9yKGxldCB0PTAsZT1jLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPWNbdF07aS5wdXNoKGUueCxlLnksMCksci5wdXNoKDAsMCwxKSxvLnB1c2goZS54LGUueSl9Zm9yKGxldCB0PTAsZT1oLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPWhbdF07bi5wdXNoKGVbMF0rYSxlWzFdK2EsZVsyXSthKSxzKz0zfX10aGlzLnNldEluZGV4KG4pLHRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChpLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYjR0KHIsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGI0dChvLDIpKX10b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybihmdW5jdGlvbiBlKHQsbil7aWYobi5zaGFwZXM9W10sQXJyYXkuaXNBcnJheSh0KSlmb3IobGV0IGU9MCxpPXQubGVuZ3RoO2U8aTtlKyspe24uc2hhcGVzLnB1c2godFtlXS51dWlkKX1lbHNlIG4uc2hhcGVzLnB1c2godC51dWlkKTtyZXR1cm4gbn0pKHRoaXMucGFyYW1ldGVycy5zaGFwZXMsdCl9c3RhdGljIGZyb21KU09OKHQsZSl7Y29uc3Qgbj1bXTtmb3IobGV0IGk9MCxyPXQuc2hhcGVzLmxlbmd0aDtpPHI7aSsrKXtuLnB1c2goZVt0LnNoYXBlc1tpXV0pfXJldHVybiBuZXcgQ2VlKG4sdC5jdXJ2ZVNlZ21lbnRzKX19Y2xhc3MgQWVlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQ9MSxlPTMyLG49MTYsaT0wLHI9MipNYXRoLlBJLG89MCxhPU1hdGguUEkpe3N1cGVyKCksdGhpcy50eXBlPSJTcGhlcmVHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6dCx3aWR0aFNlZ21lbnRzOmUsaGVpZ2h0U2VnbWVudHM6bixwaGlTdGFydDppLHBoaUxlbmd0aDpyLHRoZXRhU3RhcnQ6byx0aGV0YUxlbmd0aDphfSxlPU1hdGgubWF4KDMsTWF0aC5mbG9vcihlKSksbj1NYXRoLm1heCgyLE1hdGguZmxvb3IobikpO2NvbnN0IHM9TWF0aC5taW4obythLE1hdGguUEkpO2xldCBsPTA7Y29uc3QgYz1bXSx1PW5ldyBINXQsaD1uZXcgSDV0LGQ9W10scD1bXSxmPVtdLG09W107Zm9yKGxldCBkPTA7ZDw9bjtkKyspe2NvbnN0IGc9W10sXz1kL247bGV0IHk9MDswPT1kJiYwPT1vP3k9LjUvZTpkPT1uJiZzPT1NYXRoLlBJJiYoeT0tLjUvZSk7Zm9yKGxldCBuPTA7bjw9ZTtuKyspe2NvbnN0IHM9bi9lO3UueD0tdCpNYXRoLmNvcyhpK3MqcikqTWF0aC5zaW4obytfKmEpLHUueT10Kk1hdGguY29zKG8rXyphKSx1Lno9dCpNYXRoLnNpbihpK3MqcikqTWF0aC5zaW4obytfKmEpLHAucHVzaCh1LngsdS55LHUueiksaC5jb3B5KHUpLm5vcm1hbGl6ZSgpLGYucHVzaChoLngsaC55LGgueiksbS5wdXNoKHMreSwxLV8pLGcucHVzaChsKyspfWMucHVzaChnKX1mb3IobGV0IHQ9MDt0PG47dCsrKWZvcihsZXQgaT0wO2k8ZTtpKyspe2NvbnN0IGU9Y1t0XVtpKzFdLHI9Y1t0XVtpXSxhPWNbdCsxXVtpXSxsPWNbdCsxXVtpKzFdOygwIT09dHx8bz4wKSYmZC5wdXNoKGUscixsKSwodCE9PW4tMXx8czxNYXRoLlBJKSYmZC5wdXNoKHIsYSxsKX10aGlzLnNldEluZGV4KGQpLHRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChwLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYjR0KGYsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGI0dChtLDIpKX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyBBZWUodC5yYWRpdXMsdC53aWR0aFNlZ21lbnRzLHQuaGVpZ2h0U2VnbWVudHMsdC5waGlTdGFydCx0LnBoaUxlbmd0aCx0LnRoZXRhU3RhcnQsdC50aGV0YUxlbmd0aCl9fWNsYXNzIGtlZSBleHRlbmRzIHZ0ZXtjb25zdHJ1Y3Rvcih0PTEsZT0wKXtzdXBlcihbMSwxLDEsLTEsLTEsMSwtMSwxLC0xLDEsLTEsLTFdLFsyLDEsMCwwLDMsMiwxLDMsMCwyLDMsMV0sdCxlKSx0aGlzLnR5cGU9IlRldHJhaGVkcm9uR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17cmFkaXVzOnQsZGV0YWlsOmV9fXN0YXRpYyBmcm9tSlNPTih0KXtyZXR1cm4gbmV3IGtlZSh0LnJhZGl1cyx0LmRldGFpbCl9fWNsYXNzIExlZSBleHRlbmRzIGJlZXtjb25zdHJ1Y3Rvcih0LGU9e30pe2NvbnN0IG49ZS5mb250O2lmKCFufHwhbi5pc0ZvbnQpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlRleHRHZW9tZXRyeTogZm9udCBwYXJhbWV0ZXIgaXMgbm90IGFuIGluc3RhbmNlIG9mIFRIUkVFLkZvbnQuIiksbmV3IE40dDtjb25zdCBpPW4uZ2VuZXJhdGVTaGFwZXModCxlLnNpemUpO2UuZGVwdGg9dm9pZCAwIT09ZS5oZWlnaHQ/ZS5oZWlnaHQ6NTAsdm9pZCAwPT09ZS5iZXZlbFRoaWNrbmVzcyYmKGUuYmV2ZWxUaGlja25lc3M9MTApLHZvaWQgMD09PWUuYmV2ZWxTaXplJiYoZS5iZXZlbFNpemU9OCksdm9pZCAwPT09ZS5iZXZlbEVuYWJsZWQmJihlLmJldmVsRW5hYmxlZD0hMSksc3VwZXIoaSxlKSx0aGlzLnR5cGU9IlRleHRHZW9tZXRyeSJ9fWNsYXNzIFBlZSBleHRlbmRzIE40dHtjb25zdHJ1Y3Rvcih0PTEsZT0uNCxuPTgsaT02LHI9MipNYXRoLlBJKXtzdXBlcigpLHRoaXMudHlwZT0iVG9ydXNHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6dCx0dWJlOmUscmFkaWFsU2VnbWVudHM6bix0dWJ1bGFyU2VnbWVudHM6aSxhcmM6cn0sbj1NYXRoLmZsb29yKG4pLGk9TWF0aC5mbG9vcihpKTtjb25zdCBvPVtdLGE9W10scz1bXSxsPVtdLGM9bmV3IEg1dCx1PW5ldyBINXQsaD1uZXcgSDV0O2ZvcihsZXQgbz0wO288PW47bysrKWZvcihsZXQgZD0wO2Q8PWk7ZCsrKXtjb25zdCBwPWQvaSpyLGY9by9uKk1hdGguUEkqMjt1Lng9KHQrZSpNYXRoLmNvcyhmKSkqTWF0aC5jb3MocCksdS55PSh0K2UqTWF0aC5jb3MoZikpKk1hdGguc2luKHApLHUuej1lKk1hdGguc2luKGYpLGEucHVzaCh1LngsdS55LHUueiksYy54PXQqTWF0aC5jb3MocCksYy55PXQqTWF0aC5zaW4ocCksaC5zdWJWZWN0b3JzKHUsYykubm9ybWFsaXplKCkscy5wdXNoKGgueCxoLnksaC56KSxsLnB1c2goZC9pKSxsLnB1c2goby9uKX1mb3IobGV0IHQ9MTt0PD1uO3QrKylmb3IobGV0IGU9MTtlPD1pO2UrKyl7Y29uc3Qgbj0oaSsxKSoodC0xKStlLTEscj0oaSsxKSoodC0xKStlLGE9KGkrMSkqdCtlO28ucHVzaCgoaSsxKSp0K2UtMSxuLGEpLG8ucHVzaChuLHIsYSl9dGhpcy5zZXRJbmRleChvKSx0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQoYSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGI0dChzLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBiNHQobCwyKSl9c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgUGVlKHQucmFkaXVzLHQudHViZSx0LnJhZGlhbFNlZ21lbnRzLHQudHVidWxhclNlZ21lbnRzLHQuYXJjKX19Y2xhc3MgTmVlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQ9MSxlPS40LG49NjQsaT04LHI9MixvPTMpe3N1cGVyKCksdGhpcy50eXBlPSJUb3J1c0tub3RHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6dCx0dWJlOmUsdHVidWxhclNlZ21lbnRzOm4scmFkaWFsU2VnbWVudHM6aSxwOnIscTpvfSxuPU1hdGguZmxvb3IobiksaT1NYXRoLmZsb29yKGkpO2NvbnN0IGE9W10scz1bXSxsPVtdLGM9W10sdT1uZXcgSDV0LGg9bmV3IEg1dCxkPW5ldyBINXQscD1uZXcgSDV0LGY9bmV3IEg1dCxtPW5ldyBINXQsZz1uZXcgSDV0O2ZvcihsZXQgYT0wO2E8PW47KythKXtjb25zdCB5PWEvbipyKk1hdGguUEkqMjtfKHkscixvLHQsZCksXyh5Ky4wMSxyLG8sdCxwKSxtLnN1YlZlY3RvcnMocCxkKSxnLmFkZFZlY3RvcnMocCxkKSxmLmNyb3NzVmVjdG9ycyhtLGcpLGcuY3Jvc3NWZWN0b3JzKGYsbSksZi5ub3JtYWxpemUoKSxnLm5vcm1hbGl6ZSgpO2ZvcihsZXQgdD0wO3Q8PWk7Kyt0KXtjb25zdCByPXQvaSpNYXRoLlBJKjIsbz0tZSpNYXRoLmNvcyhyKSxwPWUqTWF0aC5zaW4ocik7dS54PWQueCsobypnLngrcCpmLngpLHUueT1kLnkrKG8qZy55K3AqZi55KSx1Lno9ZC56KyhvKmcueitwKmYueikscy5wdXNoKHUueCx1LnksdS56KSxoLnN1YlZlY3RvcnModSxkKS5ub3JtYWxpemUoKSxsLnB1c2goaC54LGgueSxoLnopLGMucHVzaChhL24pLGMucHVzaCh0L2kpfX1mb3IobGV0IHQ9MTt0PD1uO3QrKylmb3IobGV0IGU9MTtlPD1pO2UrKyl7Y29uc3Qgbj0oaSsxKSp0KyhlLTEpLHI9KGkrMSkqdCtlLG89KGkrMSkqKHQtMSkrZTthLnB1c2goKGkrMSkqKHQtMSkrKGUtMSksbixvKSxhLnB1c2gobixyLG8pfWZ1bmN0aW9uIF8odCxlLG4saSxyKXtjb25zdCBvPU1hdGguY29zKHQpLGE9TWF0aC5zaW4odCkscz1uL2UqdCxsPU1hdGguY29zKHMpO3IueD1pKigyK2wpKi41Km8sci55PWkqKDIrbCkqYSouNSxyLno9aSpNYXRoLnNpbihzKSouNX10aGlzLnNldEluZGV4KGEpLHRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChzLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYjR0KGwsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGI0dChjLDIpKX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyBOZWUodC5yYWRpdXMsdC50dWJlLHQudHVidWxhclNlZ21lbnRzLHQucmFkaWFsU2VnbWVudHMsdC5wLHQucSl9fWNsYXNzIEllZSBleHRlbmRzIE40dHtjb25zdHJ1Y3Rvcih0LGU9NjQsbj0xLGk9OCxyPSExKXtzdXBlcigpLHRoaXMudHlwZT0iVHViZUdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3BhdGg6dCx0dWJ1bGFyU2VnbWVudHM6ZSxyYWRpdXM6bixyYWRpYWxTZWdtZW50czppLGNsb3NlZDpyfTtjb25zdCBvPXQuY29tcHV0ZUZyZW5ldEZyYW1lcyhlLHIpO3RoaXMudGFuZ2VudHM9by50YW5nZW50cyx0aGlzLm5vcm1hbHM9by5ub3JtYWxzLHRoaXMuYmlub3JtYWxzPW8uYmlub3JtYWxzO2NvbnN0IGE9bmV3IEg1dCxzPW5ldyBINXQsbD1uZXcgQzV0O2xldCBjPW5ldyBINXQ7Y29uc3QgdT1bXSxoPVtdLGQ9W10scD1bXTtmdW5jdGlvbiBmKHIpe2M9dC5nZXRQb2ludEF0KHIvZSxjKTtjb25zdCBsPW8ubm9ybWFsc1tyXSxkPW8uYmlub3JtYWxzW3JdO2ZvcihsZXQgdD0wO3Q8PWk7dCsrKXtjb25zdCBlPXQvaSpNYXRoLlBJKjIscj1NYXRoLnNpbihlKSxvPS1NYXRoLmNvcyhlKTtzLng9bypsLngrcipkLngscy55PW8qbC55K3IqZC55LHMuej1vKmwueityKmQueixzLm5vcm1hbGl6ZSgpLGgucHVzaChzLngscy55LHMueiksYS54PWMueCtuKnMueCxhLnk9Yy55K24qcy55LGEuej1jLnorbipzLnosdS5wdXNoKGEueCxhLnksYS56KX19IShmdW5jdGlvbiBtKCl7Zm9yKGxldCB0PTA7dDxlO3QrKylmKHQpO2YoITE9PT1yP2U6MCksKGZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PD1lO3QrKylmb3IobGV0IG49MDtuPD1pO24rKylsLng9dC9lLGwueT1uL2ksZC5wdXNoKGwueCxsLnkpfSkoKSwoZnVuY3Rpb24gbigpe2ZvcihsZXQgdD0xO3Q8PWU7dCsrKWZvcihsZXQgZT0xO2U8PWk7ZSsrKXtjb25zdCBuPShpKzEpKnQrKGUtMSkscj0oaSsxKSp0K2Usbz0oaSsxKSoodC0xKStlO3AucHVzaCgoaSsxKSoodC0xKSsoZS0xKSxuLG8pLHAucHVzaChuLHIsbyl9fSkoKX0pKCksdGhpcy5zZXRJbmRleChwKSx0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQodSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGI0dChoLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBiNHQoZCwyKSl9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC5wYXRoPXRoaXMucGFyYW1ldGVycy5wYXRoLnRvSlNPTigpLHR9c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgSWVlKChuZXcgV3RlW3QucGF0aC50eXBlXSkuZnJvbUpTT04odC5wYXRoKSx0LnR1YnVsYXJTZWdtZW50cyx0LnJhZGl1cyx0LnJhZGlhbFNlZ21lbnRzLHQuY2xvc2VkKX19Y2xhc3MgUmVlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQpe2lmKHN1cGVyKCksdGhpcy50eXBlPSJXaXJlZnJhbWVHZW9tZXRyeSIsITA9PT10LmlzR2VvbWV0cnkpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuV2lyZWZyYW1lR2VvbWV0cnkgbm8gbG9uZ2VyIHN1cHBvcnRzIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKTtjb25zdCBlPVtdLG49bmV3IFNldCxpPW5ldyBINXQscj1uZXcgSDV0O2lmKG51bGwhPT10LmluZGV4KXtjb25zdCBvPXQuYXR0cmlidXRlcy5wb3NpdGlvbixhPXQuaW5kZXg7bGV0IHM9dC5ncm91cHM7MD09PXMubGVuZ3RoJiYocz1be3N0YXJ0OjAsY291bnQ6YS5jb3VudCxtYXRlcmlhbEluZGV4OjB9XSk7Zm9yKGxldCB0PTAsbD1zLmxlbmd0aDt0PGw7Kyt0KXtjb25zdCBsPXNbdF0sYz1sLnN0YXJ0O2ZvcihsZXQgdD1jLHM9YytsLmNvdW50O3Q8czt0Kz0zKWZvcihsZXQgcz0wO3M8MztzKyspe2NvbnN0IGw9YS5nZXRYKHQrcyksYz1hLmdldFgodCsocysxKSUzKTtpLmZyb21CdWZmZXJBdHRyaWJ1dGUobyxsKSxyLmZyb21CdWZmZXJBdHRyaWJ1dGUobyxjKSwhMD09PU9lZShpLHIsbikmJihlLnB1c2goaS54LGkueSxpLnopLGUucHVzaChyLngsci55LHIueikpfX19ZWxzZXtjb25zdCBvPXQuYXR0cmlidXRlcy5wb3NpdGlvbjtmb3IobGV0IHQ9MCxhPW8uY291bnQvMzt0PGE7dCsrKWZvcihsZXQgYT0wO2E8MzthKyspe2NvbnN0IHM9Myp0KyhhKzEpJTM7aS5mcm9tQnVmZmVyQXR0cmlidXRlKG8sMyp0K2EpLHIuZnJvbUJ1ZmZlckF0dHJpYnV0ZShvLHMpLCEwPT09T2VlKGkscixuKSYmKGUucHVzaChpLngsaS55LGkueiksZS5wdXNoKHIueCxyLnksci56KSl9fXRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChlLDMpKX19ZnVuY3Rpb24gT2VlKHQsZSxuKXtjb25zdCBpPWAke3QueH0sJHt0Lnl9LCR7dC56fS0ke2UueH0sJHtlLnl9LCR7ZS56fWAscj1gJHtlLnh9LCR7ZS55fSwke2Uuen0tJHt0Lnh9LCR7dC55fSwke3Quen1gO3JldHVybiEwIT09bi5oYXMoaSkmJiEwIT09bi5oYXMocikmJihuLmFkZChpLHIpLCEwKX12YXIgemVlPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLEJveEdlb21ldHJ5Oko0dCxCb3hCdWZmZXJHZW9tZXRyeTpKNHQsQ2lyY2xlR2VvbWV0cnk6Z3RlLENpcmNsZUJ1ZmZlckdlb21ldHJ5Omd0ZSxDb25lR2VvbWV0cnk6eXRlLENvbmVCdWZmZXJHZW9tZXRyeTp5dGUsQ3lsaW5kZXJHZW9tZXRyeTpfdGUsQ3lsaW5kZXJCdWZmZXJHZW9tZXRyeTpfdGUsRG9kZWNhaGVkcm9uR2VvbWV0cnk6YnRlLERvZGVjYWhlZHJvbkJ1ZmZlckdlb21ldHJ5OmJ0ZSxFZGdlc0dlb21ldHJ5OkV0ZSxFeHRydWRlR2VvbWV0cnk6YmVlLEV4dHJ1ZGVCdWZmZXJHZW9tZXRyeTpiZWUsSWNvc2FoZWRyb25HZW9tZXRyeTp3ZWUsSWNvc2FoZWRyb25CdWZmZXJHZW9tZXRyeTp3ZWUsTGF0aGVHZW9tZXRyeTpTZWUsTGF0aGVCdWZmZXJHZW9tZXRyeTpTZWUsT2N0YWhlZHJvbkdlb21ldHJ5Ok1lZSxPY3RhaGVkcm9uQnVmZmVyR2VvbWV0cnk6TWVlLFBhcmFtZXRyaWNHZW9tZXRyeTpFZWUsUGFyYW1ldHJpY0J1ZmZlckdlb21ldHJ5OkVlZSxQbGFuZUdlb21ldHJ5Onk2dCxQbGFuZUJ1ZmZlckdlb21ldHJ5Onk2dCxQb2x5aGVkcm9uR2VvbWV0cnk6dnRlLFBvbHloZWRyb25CdWZmZXJHZW9tZXRyeTp2dGUsUmluZ0dlb21ldHJ5OlRlZSxSaW5nQnVmZmVyR2VvbWV0cnk6VGVlLFNoYXBlR2VvbWV0cnk6Q2VlLFNoYXBlQnVmZmVyR2VvbWV0cnk6Q2VlLFNwaGVyZUdlb21ldHJ5OkFlZSxTcGhlcmVCdWZmZXJHZW9tZXRyeTpBZWUsVGV0cmFoZWRyb25HZW9tZXRyeTprZWUsVGV0cmFoZWRyb25CdWZmZXJHZW9tZXRyeTprZWUsVGV4dEdlb21ldHJ5OkxlZSxUZXh0QnVmZmVyR2VvbWV0cnk6TGVlLFRvcnVzR2VvbWV0cnk6UGVlLFRvcnVzQnVmZmVyR2VvbWV0cnk6UGVlLFRvcnVzS25vdEdlb21ldHJ5Ok5lZSxUb3J1c0tub3RCdWZmZXJHZW9tZXRyeTpOZWUsVHViZUdlb21ldHJ5OkllZSxUdWJlQnVmZmVyR2VvbWV0cnk6SWVlLFdpcmVmcmFtZUdlb21ldHJ5OlJlZX0pO2NsYXNzIERlZSBleHRlbmRzIHQ0dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iU2hhZG93TWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IHM0dCgwKSx0aGlzLnRyYW5zcGFyZW50PSEwLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXN9fURlZS5wcm90b3R5cGUuaXNTaGFkb3dNYXRlcmlhbD0hMDtjbGFzcyBCZWUgZXh0ZW5kcyB0NHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLmRlZmluZXM9e1NUQU5EQVJEOiIifSx0aGlzLnR5cGU9Ik1lc2hTdGFuZGFyZE1hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBzNHQoMTY3NzcyMTUpLHRoaXMucm91Z2huZXNzPTEsdGhpcy5tZXRhbG5lc3M9MCx0aGlzLm1hcD1udWxsLHRoaXMubGlnaHRNYXA9bnVsbCx0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PTEsdGhpcy5hb01hcD1udWxsLHRoaXMuYW9NYXBJbnRlbnNpdHk9MSx0aGlzLmVtaXNzaXZlPW5ldyBzNHQoMCksdGhpcy5lbWlzc2l2ZUludGVuc2l0eT0xLHRoaXMuZW1pc3NpdmVNYXA9bnVsbCx0aGlzLmJ1bXBNYXA9bnVsbCx0aGlzLmJ1bXBTY2FsZT0xLHRoaXMubm9ybWFsTWFwPW51bGwsdGhpcy5ub3JtYWxNYXBUeXBlPTAsdGhpcy5ub3JtYWxTY2FsZT1uZXcgQzV0KDEsMSksdGhpcy5kaXNwbGFjZW1lbnRNYXA9bnVsbCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPTEsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPTAsdGhpcy5yb3VnaG5lc3NNYXA9bnVsbCx0aGlzLm1ldGFsbmVzc01hcD1udWxsLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmVudk1hcD1udWxsLHRoaXMuZW52TWFwSW50ZW5zaXR5PTEsdGhpcy5yZWZyYWN0aW9uUmF0aW89Ljk4LHRoaXMud2lyZWZyYW1lPSExLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPTEsdGhpcy53aXJlZnJhbWVMaW5lY2FwPSJyb3VuZCIsdGhpcy53aXJlZnJhbWVMaW5lam9pbj0icm91bmQiLHRoaXMuZmxhdFNoYWRpbmc9ITEsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmRlZmluZXM9e1NUQU5EQVJEOiIifSx0aGlzLmNvbG9yLmNvcHkodC5jb2xvciksdGhpcy5yb3VnaG5lc3M9dC5yb3VnaG5lc3MsdGhpcy5tZXRhbG5lc3M9dC5tZXRhbG5lc3MsdGhpcy5tYXA9dC5tYXAsdGhpcy5saWdodE1hcD10LmxpZ2h0TWFwLHRoaXMubGlnaHRNYXBJbnRlbnNpdHk9dC5saWdodE1hcEludGVuc2l0eSx0aGlzLmFvTWFwPXQuYW9NYXAsdGhpcy5hb01hcEludGVuc2l0eT10LmFvTWFwSW50ZW5zaXR5LHRoaXMuZW1pc3NpdmUuY29weSh0LmVtaXNzaXZlKSx0aGlzLmVtaXNzaXZlTWFwPXQuZW1pc3NpdmVNYXAsdGhpcy5lbWlzc2l2ZUludGVuc2l0eT10LmVtaXNzaXZlSW50ZW5zaXR5LHRoaXMuYnVtcE1hcD10LmJ1bXBNYXAsdGhpcy5idW1wU2NhbGU9dC5idW1wU2NhbGUsdGhpcy5ub3JtYWxNYXA9dC5ub3JtYWxNYXAsdGhpcy5ub3JtYWxNYXBUeXBlPXQubm9ybWFsTWFwVHlwZSx0aGlzLm5vcm1hbFNjYWxlLmNvcHkodC5ub3JtYWxTY2FsZSksdGhpcy5kaXNwbGFjZW1lbnRNYXA9dC5kaXNwbGFjZW1lbnRNYXAsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT10LmRpc3BsYWNlbWVudFNjYWxlLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz10LmRpc3BsYWNlbWVudEJpYXMsdGhpcy5yb3VnaG5lc3NNYXA9dC5yb3VnaG5lc3NNYXAsdGhpcy5tZXRhbG5lc3NNYXA9dC5tZXRhbG5lc3NNYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZW52TWFwPXQuZW52TWFwLHRoaXMuZW52TWFwSW50ZW5zaXR5PXQuZW52TWFwSW50ZW5zaXR5LHRoaXMucmVmcmFjdGlvblJhdGlvPXQucmVmcmFjdGlvblJhdGlvLHRoaXMud2lyZWZyYW1lPXQud2lyZWZyYW1lLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPXQud2lyZWZyYW1lTGluZXdpZHRoLHRoaXMud2lyZWZyYW1lTGluZWNhcD10LndpcmVmcmFtZUxpbmVjYXAsdGhpcy53aXJlZnJhbWVMaW5lam9pbj10LndpcmVmcmFtZUxpbmVqb2luLHRoaXMuZmxhdFNoYWRpbmc9dC5mbGF0U2hhZGluZyx0aGlzfX1CZWUucHJvdG90eXBlLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWw9ITA7Y2xhc3MgSGVlIGV4dGVuZHMgQmVle2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5kZWZpbmVzPXtTVEFOREFSRDoiIixQSFlTSUNBTDoiIn0sdGhpcy50eXBlPSJNZXNoUGh5c2ljYWxNYXRlcmlhbCIsdGhpcy5jbGVhcmNvYXQ9MCx0aGlzLmNsZWFyY29hdE1hcD1udWxsLHRoaXMuY2xlYXJjb2F0Um91Z2huZXNzPTAsdGhpcy5jbGVhcmNvYXRSb3VnaG5lc3NNYXA9bnVsbCx0aGlzLmNsZWFyY29hdE5vcm1hbFNjYWxlPW5ldyBDNXQoMSwxKSx0aGlzLmNsZWFyY29hdE5vcm1hbE1hcD1udWxsLHRoaXMucmVmbGVjdGl2aXR5PS41LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpb3IiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4oMSsuNCp0aGlzLnJlZmxlY3Rpdml0eSkvKDEtLjQqdGhpcy5yZWZsZWN0aXZpdHkpfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy5yZWZsZWN0aXZpdHk9czV0KDIuNSoodC0xKS8odCsxKSwwLDEpfX0pLHRoaXMuc2hlZW49bnVsbCx0aGlzLnRyYW5zbWlzc2lvbj0wLHRoaXMudHJhbnNtaXNzaW9uTWFwPW51bGwsdGhpcy50aGlja25lc3M9LjAxLHRoaXMudGhpY2tuZXNzTWFwPW51bGwsdGhpcy5hdHRlbnVhdGlvbkRpc3RhbmNlPTAsdGhpcy5hdHRlbnVhdGlvblRpbnQ9bmV3IHM0dCgxLDEsMSksdGhpcy5zcGVjdWxhckludGVuc2l0eT0xLHRoaXMuc3BlY3VsYXJJbnRlbnNpdHlNYXA9bnVsbCx0aGlzLnNwZWN1bGFyVGludD1uZXcgczR0KDEsMSwxKSx0aGlzLnNwZWN1bGFyVGludE1hcD1udWxsLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5kZWZpbmVzPXtTVEFOREFSRDoiIixQSFlTSUNBTDoiIn0sdGhpcy5jbGVhcmNvYXQ9dC5jbGVhcmNvYXQsdGhpcy5jbGVhcmNvYXRNYXA9dC5jbGVhcmNvYXRNYXAsdGhpcy5jbGVhcmNvYXRSb3VnaG5lc3M9dC5jbGVhcmNvYXRSb3VnaG5lc3MsdGhpcy5jbGVhcmNvYXRSb3VnaG5lc3NNYXA9dC5jbGVhcmNvYXRSb3VnaG5lc3NNYXAsdGhpcy5jbGVhcmNvYXROb3JtYWxNYXA9dC5jbGVhcmNvYXROb3JtYWxNYXAsdGhpcy5jbGVhcmNvYXROb3JtYWxTY2FsZS5jb3B5KHQuY2xlYXJjb2F0Tm9ybWFsU2NhbGUpLHRoaXMucmVmbGVjdGl2aXR5PXQucmVmbGVjdGl2aXR5LHRoaXMuc2hlZW49dC5zaGVlbj8odGhpcy5zaGVlbnx8bmV3IHM0dCkuY29weSh0LnNoZWVuKTpudWxsLHRoaXMudHJhbnNtaXNzaW9uPXQudHJhbnNtaXNzaW9uLHRoaXMudHJhbnNtaXNzaW9uTWFwPXQudHJhbnNtaXNzaW9uTWFwLHRoaXMudGhpY2tuZXNzPXQudGhpY2tuZXNzLHRoaXMudGhpY2tuZXNzTWFwPXQudGhpY2tuZXNzTWFwLHRoaXMuYXR0ZW51YXRpb25EaXN0YW5jZT10LmF0dGVudWF0aW9uRGlzdGFuY2UsdGhpcy5hdHRlbnVhdGlvblRpbnQuY29weSh0LmF0dGVudWF0aW9uVGludCksdGhpcy5zcGVjdWxhckludGVuc2l0eT10LnNwZWN1bGFySW50ZW5zaXR5LHRoaXMuc3BlY3VsYXJJbnRlbnNpdHlNYXA9dC5zcGVjdWxhckludGVuc2l0eU1hcCx0aGlzLnNwZWN1bGFyVGludC5jb3B5KHQuc3BlY3VsYXJUaW50KSx0aGlzLnNwZWN1bGFyVGludE1hcD10LnNwZWN1bGFyVGludE1hcCx0aGlzfX1IZWUucHJvdG90eXBlLmlzTWVzaFBoeXNpY2FsTWF0ZXJpYWw9ITA7Y2xhc3MgRmVlIGV4dGVuZHMgdDR0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJNZXNoUGhvbmdNYXRlcmlhbCIsdGhpcy5jb2xvcj1uZXcgczR0KDE2Nzc3MjE1KSx0aGlzLnNwZWN1bGFyPW5ldyBzNHQoMTExODQ4MSksdGhpcy5zaGluaW5lc3M9MzAsdGhpcy5tYXA9bnVsbCx0aGlzLmxpZ2h0TWFwPW51bGwsdGhpcy5saWdodE1hcEludGVuc2l0eT0xLHRoaXMuYW9NYXA9bnVsbCx0aGlzLmFvTWFwSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZT1uZXcgczR0KDApLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9MSx0aGlzLmVtaXNzaXZlTWFwPW51bGwsdGhpcy5idW1wTWFwPW51bGwsdGhpcy5idW1wU2NhbGU9MSx0aGlzLm5vcm1hbE1hcD1udWxsLHRoaXMubm9ybWFsTWFwVHlwZT0wLHRoaXMubm9ybWFsU2NhbGU9bmV3IEM1dCgxLDEpLHRoaXMuZGlzcGxhY2VtZW50TWFwPW51bGwsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz0wLHRoaXMuc3BlY3VsYXJNYXA9bnVsbCx0aGlzLmFscGhhTWFwPW51bGwsdGhpcy5lbnZNYXA9bnVsbCx0aGlzLmNvbWJpbmU9MCx0aGlzLnJlZmxlY3Rpdml0eT0xLHRoaXMucmVmcmFjdGlvblJhdGlvPS45OCx0aGlzLndpcmVmcmFtZT0hMSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xLHRoaXMud2lyZWZyYW1lTGluZWNhcD0icm91bmQiLHRoaXMud2lyZWZyYW1lTGluZWpvaW49InJvdW5kIix0aGlzLmZsYXRTaGFkaW5nPSExLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMuc3BlY3VsYXIuY29weSh0LnNwZWN1bGFyKSx0aGlzLnNoaW5pbmVzcz10LnNoaW5pbmVzcyx0aGlzLm1hcD10Lm1hcCx0aGlzLmxpZ2h0TWFwPXQubGlnaHRNYXAsdGhpcy5saWdodE1hcEludGVuc2l0eT10LmxpZ2h0TWFwSW50ZW5zaXR5LHRoaXMuYW9NYXA9dC5hb01hcCx0aGlzLmFvTWFwSW50ZW5zaXR5PXQuYW9NYXBJbnRlbnNpdHksdGhpcy5lbWlzc2l2ZS5jb3B5KHQuZW1pc3NpdmUpLHRoaXMuZW1pc3NpdmVNYXA9dC5lbWlzc2l2ZU1hcCx0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PXQuZW1pc3NpdmVJbnRlbnNpdHksdGhpcy5idW1wTWFwPXQuYnVtcE1hcCx0aGlzLmJ1bXBTY2FsZT10LmJ1bXBTY2FsZSx0aGlzLm5vcm1hbE1hcD10Lm5vcm1hbE1hcCx0aGlzLm5vcm1hbE1hcFR5cGU9dC5ub3JtYWxNYXBUeXBlLHRoaXMubm9ybWFsU2NhbGUuY29weSh0Lm5vcm1hbFNjYWxlKSx0aGlzLmRpc3BsYWNlbWVudE1hcD10LmRpc3BsYWNlbWVudE1hcCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPXQuZGlzcGxhY2VtZW50U2NhbGUsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPXQuZGlzcGxhY2VtZW50Qmlhcyx0aGlzLnNwZWN1bGFyTWFwPXQuc3BlY3VsYXJNYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZW52TWFwPXQuZW52TWFwLHRoaXMuY29tYmluZT10LmNvbWJpbmUsdGhpcy5yZWZsZWN0aXZpdHk9dC5yZWZsZWN0aXZpdHksdGhpcy5yZWZyYWN0aW9uUmF0aW89dC5yZWZyYWN0aW9uUmF0aW8sdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCx0aGlzLndpcmVmcmFtZUxpbmVqb2luPXQud2lyZWZyYW1lTGluZWpvaW4sdGhpcy5mbGF0U2hhZGluZz10LmZsYXRTaGFkaW5nLHRoaXN9fUZlZS5wcm90b3R5cGUuaXNNZXNoUGhvbmdNYXRlcmlhbD0hMDtjbGFzcyBWZWUgZXh0ZW5kcyB0NHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLmRlZmluZXM9e1RPT046IiJ9LHRoaXMudHlwZT0iTWVzaFRvb25NYXRlcmlhbCIsdGhpcy5jb2xvcj1uZXcgczR0KDE2Nzc3MjE1KSx0aGlzLm1hcD1udWxsLHRoaXMuZ3JhZGllbnRNYXA9bnVsbCx0aGlzLmxpZ2h0TWFwPW51bGwsdGhpcy5saWdodE1hcEludGVuc2l0eT0xLHRoaXMuYW9NYXA9bnVsbCx0aGlzLmFvTWFwSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZT1uZXcgczR0KDApLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9MSx0aGlzLmVtaXNzaXZlTWFwPW51bGwsdGhpcy5idW1wTWFwPW51bGwsdGhpcy5idW1wU2NhbGU9MSx0aGlzLm5vcm1hbE1hcD1udWxsLHRoaXMubm9ybWFsTWFwVHlwZT0wLHRoaXMubm9ybWFsU2NhbGU9bmV3IEM1dCgxLDEpLHRoaXMuZGlzcGxhY2VtZW50TWFwPW51bGwsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz0wLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLndpcmVmcmFtZT0hMSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xLHRoaXMud2lyZWZyYW1lTGluZWNhcD0icm91bmQiLHRoaXMud2lyZWZyYW1lTGluZWpvaW49InJvdW5kIix0aGlzLnNldFZhbHVlcyh0KX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuY29sb3IuY29weSh0LmNvbG9yKSx0aGlzLm1hcD10Lm1hcCx0aGlzLmdyYWRpZW50TWFwPXQuZ3JhZGllbnRNYXAsdGhpcy5saWdodE1hcD10LmxpZ2h0TWFwLHRoaXMubGlnaHRNYXBJbnRlbnNpdHk9dC5saWdodE1hcEludGVuc2l0eSx0aGlzLmFvTWFwPXQuYW9NYXAsdGhpcy5hb01hcEludGVuc2l0eT10LmFvTWFwSW50ZW5zaXR5LHRoaXMuZW1pc3NpdmUuY29weSh0LmVtaXNzaXZlKSx0aGlzLmVtaXNzaXZlTWFwPXQuZW1pc3NpdmVNYXAsdGhpcy5lbWlzc2l2ZUludGVuc2l0eT10LmVtaXNzaXZlSW50ZW5zaXR5LHRoaXMuYnVtcE1hcD10LmJ1bXBNYXAsdGhpcy5idW1wU2NhbGU9dC5idW1wU2NhbGUsdGhpcy5ub3JtYWxNYXA9dC5ub3JtYWxNYXAsdGhpcy5ub3JtYWxNYXBUeXBlPXQubm9ybWFsTWFwVHlwZSx0aGlzLm5vcm1hbFNjYWxlLmNvcHkodC5ub3JtYWxTY2FsZSksdGhpcy5kaXNwbGFjZW1lbnRNYXA9dC5kaXNwbGFjZW1lbnRNYXAsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT10LmRpc3BsYWNlbWVudFNjYWxlLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz10LmRpc3BsYWNlbWVudEJpYXMsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMud2lyZWZyYW1lPXQud2lyZWZyYW1lLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPXQud2lyZWZyYW1lTGluZXdpZHRoLHRoaXMud2lyZWZyYW1lTGluZWNhcD10LndpcmVmcmFtZUxpbmVjYXAsdGhpcy53aXJlZnJhbWVMaW5lam9pbj10LndpcmVmcmFtZUxpbmVqb2luLHRoaXN9fVZlZS5wcm90b3R5cGUuaXNNZXNoVG9vbk1hdGVyaWFsPSEwO2NsYXNzIFVlZSBleHRlbmRzIHQ0dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iTWVzaE5vcm1hbE1hdGVyaWFsIix0aGlzLmJ1bXBNYXA9bnVsbCx0aGlzLmJ1bXBTY2FsZT0xLHRoaXMubm9ybWFsTWFwPW51bGwsdGhpcy5ub3JtYWxNYXBUeXBlPTAsdGhpcy5ub3JtYWxTY2FsZT1uZXcgQzV0KDEsMSksdGhpcy5kaXNwbGFjZW1lbnRNYXA9bnVsbCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPTEsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPTAsdGhpcy53aXJlZnJhbWU9ITEsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9MSx0aGlzLmZvZz0hMSx0aGlzLmZsYXRTaGFkaW5nPSExLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5idW1wTWFwPXQuYnVtcE1hcCx0aGlzLmJ1bXBTY2FsZT10LmJ1bXBTY2FsZSx0aGlzLm5vcm1hbE1hcD10Lm5vcm1hbE1hcCx0aGlzLm5vcm1hbE1hcFR5cGU9dC5ub3JtYWxNYXBUeXBlLHRoaXMubm9ybWFsU2NhbGUuY29weSh0Lm5vcm1hbFNjYWxlKSx0aGlzLmRpc3BsYWNlbWVudE1hcD10LmRpc3BsYWNlbWVudE1hcCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPXQuZGlzcGxhY2VtZW50U2NhbGUsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPXQuZGlzcGxhY2VtZW50Qmlhcyx0aGlzLndpcmVmcmFtZT10LndpcmVmcmFtZSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD10LndpcmVmcmFtZUxpbmV3aWR0aCx0aGlzLmZsYXRTaGFkaW5nPXQuZmxhdFNoYWRpbmcsdGhpc319VWVlLnByb3RvdHlwZS5pc01lc2hOb3JtYWxNYXRlcmlhbD0hMDtjbGFzcyBqZWUgZXh0ZW5kcyB0NHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9Ik1lc2hMYW1iZXJ0TWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IHM0dCgxNjc3NzIxNSksdGhpcy5tYXA9bnVsbCx0aGlzLmxpZ2h0TWFwPW51bGwsdGhpcy5saWdodE1hcEludGVuc2l0eT0xLHRoaXMuYW9NYXA9bnVsbCx0aGlzLmFvTWFwSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZT1uZXcgczR0KDApLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9MSx0aGlzLmVtaXNzaXZlTWFwPW51bGwsdGhpcy5zcGVjdWxhck1hcD1udWxsLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmVudk1hcD1udWxsLHRoaXMuY29tYmluZT0wLHRoaXMucmVmbGVjdGl2aXR5PTEsdGhpcy5yZWZyYWN0aW9uUmF0aW89Ljk4LHRoaXMud2lyZWZyYW1lPSExLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPTEsdGhpcy53aXJlZnJhbWVMaW5lY2FwPSJyb3VuZCIsdGhpcy53aXJlZnJhbWVMaW5lam9pbj0icm91bmQiLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMubGlnaHRNYXA9dC5saWdodE1hcCx0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PXQubGlnaHRNYXBJbnRlbnNpdHksdGhpcy5hb01hcD10LmFvTWFwLHRoaXMuYW9NYXBJbnRlbnNpdHk9dC5hb01hcEludGVuc2l0eSx0aGlzLmVtaXNzaXZlLmNvcHkodC5lbWlzc2l2ZSksdGhpcy5lbWlzc2l2ZU1hcD10LmVtaXNzaXZlTWFwLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9dC5lbWlzc2l2ZUludGVuc2l0eSx0aGlzLnNwZWN1bGFyTWFwPXQuc3BlY3VsYXJNYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZW52TWFwPXQuZW52TWFwLHRoaXMuY29tYmluZT10LmNvbWJpbmUsdGhpcy5yZWZsZWN0aXZpdHk9dC5yZWZsZWN0aXZpdHksdGhpcy5yZWZyYWN0aW9uUmF0aW89dC5yZWZyYWN0aW9uUmF0aW8sdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCx0aGlzLndpcmVmcmFtZUxpbmVqb2luPXQud2lyZWZyYW1lTGluZWpvaW4sdGhpc319amVlLnByb3RvdHlwZS5pc01lc2hMYW1iZXJ0TWF0ZXJpYWw9ITA7Y2xhc3MgR2VlIGV4dGVuZHMgdDR0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5kZWZpbmVzPXtNQVRDQVA6IiJ9LHRoaXMudHlwZT0iTWVzaE1hdGNhcE1hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBzNHQoMTY3NzcyMTUpLHRoaXMubWF0Y2FwPW51bGwsdGhpcy5tYXA9bnVsbCx0aGlzLmJ1bXBNYXA9bnVsbCx0aGlzLmJ1bXBTY2FsZT0xLHRoaXMubm9ybWFsTWFwPW51bGwsdGhpcy5ub3JtYWxNYXBUeXBlPTAsdGhpcy5ub3JtYWxTY2FsZT1uZXcgQzV0KDEsMSksdGhpcy5kaXNwbGFjZW1lbnRNYXA9bnVsbCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPTEsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPTAsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuZmxhdFNoYWRpbmc9ITEsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmRlZmluZXM9e01BVENBUDoiIn0sdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWF0Y2FwPXQubWF0Y2FwLHRoaXMubWFwPXQubWFwLHRoaXMuYnVtcE1hcD10LmJ1bXBNYXAsdGhpcy5idW1wU2NhbGU9dC5idW1wU2NhbGUsdGhpcy5ub3JtYWxNYXA9dC5ub3JtYWxNYXAsdGhpcy5ub3JtYWxNYXBUeXBlPXQubm9ybWFsTWFwVHlwZSx0aGlzLm5vcm1hbFNjYWxlLmNvcHkodC5ub3JtYWxTY2FsZSksdGhpcy5kaXNwbGFjZW1lbnRNYXA9dC5kaXNwbGFjZW1lbnRNYXAsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT10LmRpc3BsYWNlbWVudFNjYWxlLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz10LmRpc3BsYWNlbWVudEJpYXMsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZmxhdFNoYWRpbmc9dC5mbGF0U2hhZGluZyx0aGlzfX1HZWUucHJvdG90eXBlLmlzTWVzaE1hdGNhcE1hdGVyaWFsPSEwO2NsYXNzIFdlZSBleHRlbmRzIFg3dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iTGluZURhc2hlZE1hdGVyaWFsIix0aGlzLnNjYWxlPTEsdGhpcy5kYXNoU2l6ZT0zLHRoaXMuZ2FwU2l6ZT0xLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5zY2FsZT10LnNjYWxlLHRoaXMuZGFzaFNpemU9dC5kYXNoU2l6ZSx0aGlzLmdhcFNpemU9dC5nYXBTaXplLHRoaXN9fVdlZS5wcm90b3R5cGUuaXNMaW5lRGFzaGVkTWF0ZXJpYWw9ITA7dmFyIHFlZT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxTaGFkb3dNYXRlcmlhbDpEZWUsU3ByaXRlTWF0ZXJpYWw6cDd0LFJhd1NoYWRlck1hdGVyaWFsOms2dCxTaGFkZXJNYXRlcmlhbDpuNnQsUG9pbnRzTWF0ZXJpYWw6b3RlLE1lc2hQaHlzaWNhbE1hdGVyaWFsOkhlZSxNZXNoU3RhbmRhcmRNYXRlcmlhbDpCZWUsTWVzaFBob25nTWF0ZXJpYWw6RmVlLE1lc2hUb29uTWF0ZXJpYWw6VmVlLE1lc2hOb3JtYWxNYXRlcmlhbDpVZWUsTWVzaExhbWJlcnRNYXRlcmlhbDpqZWUsTWVzaERlcHRoTWF0ZXJpYWw6WTh0LE1lc2hEaXN0YW5jZU1hdGVyaWFsOlg4dCxNZXNoQmFzaWNNYXRlcmlhbDpsNHQsTWVzaE1hdGNhcE1hdGVyaWFsOkdlZSxMaW5lRGFzaGVkTWF0ZXJpYWw6V2VlLExpbmVCYXNpY01hdGVyaWFsOlg3dCxNYXRlcmlhbDp0NHR9KTtjb25zdCBZZWU9e2FycmF5U2xpY2U6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBZZWUuaXNUeXBlZEFycmF5KHQpP25ldyB0LmNvbnN0cnVjdG9yKHQuc3ViYXJyYXkoZSx2b2lkIDAhPT1uP246dC5sZW5ndGgpKTp0LnNsaWNlKGUsbil9LGNvbnZlcnRBcnJheTpmdW5jdGlvbih0LGUsbil7cmV0dXJuIXR8fCFuJiZ0LmNvbnN0cnVjdG9yPT09ZT90OiJudW1iZXIiPT10eXBlb2YgZS5CWVRFU19QRVJfRUxFTUVOVD9uZXcgZSh0KTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KX0saXNUeXBlZEFycmF5OmZ1bmN0aW9uKHQpe3JldHVybiBBcnJheUJ1ZmZlci5pc1ZpZXcodCkmJiEodCBpbnN0YW5jZW9mIERhdGFWaWV3KX0sZ2V0S2V5ZnJhbWVPcmRlcjpmdW5jdGlvbih0KXtjb25zdCBlPXQubGVuZ3RoLG49bmV3IEFycmF5KGUpO2ZvcihsZXQgdD0wO3QhPT1lOysrdCluW3RdPXQ7cmV0dXJuIG4uc29ydCgoZnVuY3Rpb24gaShlLG4pe3JldHVybiB0W2VdLXRbbl19KSksbn0sc29ydGVkQXJyYXk6ZnVuY3Rpb24odCxlLG4pe2NvbnN0IGk9dC5sZW5ndGgscj1uZXcgdC5jb25zdHJ1Y3RvcihpKTtmb3IobGV0IG89MCxhPTA7YSE9PWk7KytvKXtjb25zdCBpPW5bb10qZTtmb3IobGV0IG49MDtuIT09ZTsrK24pclthKytdPXRbaStuXX1yZXR1cm4gcn0sZmxhdHRlbkpTT046ZnVuY3Rpb24odCxlLG4saSl7bGV0IHI9MSxvPXRbMF07Zm9yKDt2b2lkIDAhPT1vJiZ2b2lkIDA9PT1vW2ldOylvPXRbcisrXTtpZih2b2lkIDA9PT1vKXJldHVybjtsZXQgYT1vW2ldO2lmKHZvaWQgMCE9PWEpaWYoQXJyYXkuaXNBcnJheShhKSlkb3thPW9baV0sdm9pZCAwIT09YSYmKGUucHVzaChvLnRpbWUpLG4ucHVzaC5hcHBseShuLGEpKSxvPXRbcisrXX13aGlsZSh2b2lkIDAhPT1vKTtlbHNlIGlmKHZvaWQgMCE9PWEudG9BcnJheSlkb3thPW9baV0sdm9pZCAwIT09YSYmKGUucHVzaChvLnRpbWUpLGEudG9BcnJheShuLG4ubGVuZ3RoKSksbz10W3IrK119d2hpbGUodm9pZCAwIT09byk7ZWxzZSBkb3thPW9baV0sdm9pZCAwIT09YSYmKGUucHVzaChvLnRpbWUpLG4ucHVzaChhKSksbz10W3IrK119d2hpbGUodm9pZCAwIT09byl9LHN1YmNsaXA6ZnVuY3Rpb24odCxlLG4saSxyPTMwKXtjb25zdCBvPXQuY2xvbmUoKTtvLm5hbWU9ZTtjb25zdCBhPVtdO2ZvcihsZXQgdD0wO3Q8by50cmFja3MubGVuZ3RoOysrdCl7Y29uc3QgZT1vLnRyYWNrc1t0XSxzPWUuZ2V0VmFsdWVTaXplKCksbD1bXSxjPVtdO2ZvcihsZXQgdD0wO3Q8ZS50aW1lcy5sZW5ndGg7Kyt0KXtjb25zdCBvPWUudGltZXNbdF0qcjtpZighKG88bnx8bz49aSkpe2wucHVzaChlLnRpbWVzW3RdKTtmb3IobGV0IG49MDtuPHM7KytuKWMucHVzaChlLnZhbHVlc1t0KnMrbl0pfX0wIT09bC5sZW5ndGgmJihlLnRpbWVzPVllZS5jb252ZXJ0QXJyYXkobCxlLnRpbWVzLmNvbnN0cnVjdG9yKSxlLnZhbHVlcz1ZZWUuY29udmVydEFycmF5KGMsZS52YWx1ZXMuY29uc3RydWN0b3IpLGEucHVzaChlKSl9by50cmFja3M9YTtsZXQgcz0xLzA7Zm9yKGxldCB0PTA7dDxvLnRyYWNrcy5sZW5ndGg7Kyt0KXM+by50cmFja3NbdF0udGltZXNbMF0mJihzPW8udHJhY2tzW3RdLnRpbWVzWzBdKTtmb3IobGV0IHQ9MDt0PG8udHJhY2tzLmxlbmd0aDsrK3Qpby50cmFja3NbdF0uc2hpZnQoLTEqcyk7cmV0dXJuIG8ucmVzZXREdXJhdGlvbigpLG99LG1ha2VDbGlwQWRkaXRpdmU6ZnVuY3Rpb24odCxlPTAsbj10LGk9MzApe2k8PTAmJihpPTMwKTtjb25zdCByPW4udHJhY2tzLmxlbmd0aCxvPWUvaTtmb3IobGV0IGU9MDtlPHI7KytlKXtjb25zdCBpPW4udHJhY2tzW2VdLHI9aS5WYWx1ZVR5cGVOYW1lO2lmKCJib29sIj09PXJ8fCJzdHJpbmciPT09ciljb250aW51ZTtjb25zdCBhPXQudHJhY2tzLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5hbWU9PT1pLm5hbWUmJnQuVmFsdWVUeXBlTmFtZT09PXJ9KSk7aWYodm9pZCAwPT09YSljb250aW51ZTtsZXQgcz0wO2NvbnN0IGw9aS5nZXRWYWx1ZVNpemUoKTtpLmNyZWF0ZUludGVycG9sYW50LmlzSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kR0xURkN1YmljU3BsaW5lJiYocz1sLzMpO2xldCBjPTA7Y29uc3QgdT1hLmdldFZhbHVlU2l6ZSgpO2EuY3JlYXRlSW50ZXJwb2xhbnQuaXNJbnRlcnBvbGFudEZhY3RvcnlNZXRob2RHTFRGQ3ViaWNTcGxpbmUmJihjPXUvMyk7Y29uc3QgaD1pLnRpbWVzLmxlbmd0aC0xO2xldCBkO2lmKG88PWkudGltZXNbMF0pe2Q9WWVlLmFycmF5U2xpY2UoaS52YWx1ZXMscyxsLXMpfWVsc2UgaWYobz49aS50aW1lc1toXSl7Y29uc3QgdD1oKmwrcztkPVllZS5hcnJheVNsaWNlKGkudmFsdWVzLHQsdCtsLXMpfWVsc2V7Y29uc3QgdD1pLmNyZWF0ZUludGVycG9sYW50KCksZT1zLG49bC1zO3QuZXZhbHVhdGUobyksZD1ZZWUuYXJyYXlTbGljZSh0LnJlc3VsdEJ1ZmZlcixlLG4pfWlmKCJxdWF0ZXJuaW9uIj09PXIpeyhuZXcgQjV0KS5mcm9tQXJyYXkoZCkubm9ybWFsaXplKCkuY29uanVnYXRlKCkudG9BcnJheShkKX1jb25zdCBwPWEudGltZXMubGVuZ3RoO2ZvcihsZXQgdD0wO3Q8cDsrK3Qpe2NvbnN0IGU9dCp1K2M7aWYoInF1YXRlcm5pb24iPT09cilCNXQubXVsdGlwbHlRdWF0ZXJuaW9uc0ZsYXQoYS52YWx1ZXMsZSxkLDAsYS52YWx1ZXMsZSk7ZWxzZXtjb25zdCB0PXUtMipjO2ZvcihsZXQgbj0wO248dDsrK24pYS52YWx1ZXNbZStuXS09ZFtuXX19fXJldHVybiB0LmJsZW5kTW9kZT1qMnQsdH19O2NsYXNzIFhlZXtjb25zdHJ1Y3Rvcih0LGUsbixpKXt0aGlzLnBhcmFtZXRlclBvc2l0aW9ucz10LHRoaXMuX2NhY2hlZEluZGV4PTAsdGhpcy5yZXN1bHRCdWZmZXI9dm9pZCAwIT09aT9pOm5ldyBlLmNvbnN0cnVjdG9yKG4pLHRoaXMuc2FtcGxlVmFsdWVzPWUsdGhpcy52YWx1ZVNpemU9bix0aGlzLnNldHRpbmdzPW51bGwsdGhpcy5EZWZhdWx0U2V0dGluZ3NfPXt9fWV2YWx1YXRlKHQpe2NvbnN0IGU9dGhpcy5wYXJhbWV0ZXJQb3NpdGlvbnM7bGV0IG49dGhpcy5fY2FjaGVkSW5kZXgsaT1lW25dLHI9ZVtuLTFdO3Q6e2U6e2xldCBvO246e2k6aWYoISh0PGkpKXtmb3IobGV0IG89bisyOzspe2lmKHZvaWQgMD09PWkpe2lmKHQ8cilicmVhayBpO3JldHVybiBuPWUubGVuZ3RoLHRoaXMuX2NhY2hlZEluZGV4PW4sdGhpcy5hZnRlckVuZF8obi0xLHQscil9aWYobj09PW8pYnJlYWs7aWYocj1pLGk9ZVsrK25dLHQ8aSlicmVhayBlfW89ZS5sZW5ndGg7YnJlYWsgbn1pZih0Pj1yKWJyZWFrIHQ7e2NvbnN0IGE9ZVsxXTt0PGEmJihuPTIscj1hKTtmb3IobGV0IG89bi0yOzspe2lmKHZvaWQgMD09PXIpcmV0dXJuIHRoaXMuX2NhY2hlZEluZGV4PTAsdGhpcy5iZWZvcmVTdGFydF8oMCx0LGkpO2lmKG49PT1vKWJyZWFrO2lmKGk9cixyPWVbLS1uLTFdLHQ+PXIpYnJlYWsgZX1vPW4sbj0wfX1mb3IoO248bzspe2NvbnN0IGk9bitvPj4+MTt0PGVbaV0/bz1pOm49aSsxfWlmKGk9ZVtuXSxyPWVbbi0xXSx2b2lkIDA9PT1yKXJldHVybiB0aGlzLl9jYWNoZWRJbmRleD0wLHRoaXMuYmVmb3JlU3RhcnRfKDAsdCxpKTtpZih2b2lkIDA9PT1pKXJldHVybiBuPWUubGVuZ3RoLHRoaXMuX2NhY2hlZEluZGV4PW4sdGhpcy5hZnRlckVuZF8obi0xLHIsdCl9dGhpcy5fY2FjaGVkSW5kZXg9bix0aGlzLmludGVydmFsQ2hhbmdlZF8obixyLGkpfXJldHVybiB0aGlzLmludGVycG9sYXRlXyhuLHIsdCxpKX1nZXRTZXR0aW5nc18oKXtyZXR1cm4gdGhpcy5zZXR0aW5nc3x8dGhpcy5EZWZhdWx0U2V0dGluZ3NffWNvcHlTYW1wbGVWYWx1ZV8odCl7Y29uc3QgZT10aGlzLnJlc3VsdEJ1ZmZlcixuPXRoaXMuc2FtcGxlVmFsdWVzLGk9dGhpcy52YWx1ZVNpemUscj10Kmk7Zm9yKGxldCB0PTA7dCE9PWk7Kyt0KWVbdF09bltyK3RdO3JldHVybiBlfWludGVycG9sYXRlXygpe3Rocm93IG5ldyBFcnJvcigiY2FsbCB0byBhYnN0cmFjdCBtZXRob2QiKX1pbnRlcnZhbENoYW5nZWRfKCl7fX1YZWUucHJvdG90eXBlLmJlZm9yZVN0YXJ0Xz1YZWUucHJvdG90eXBlLmNvcHlTYW1wbGVWYWx1ZV8sWGVlLnByb3RvdHlwZS5hZnRlckVuZF89WGVlLnByb3RvdHlwZS5jb3B5U2FtcGxlVmFsdWVfO2NsYXNzICRlZSBleHRlbmRzIFhlZXtjb25zdHJ1Y3Rvcih0LGUsbixpKXtzdXBlcih0LGUsbixpKSx0aGlzLl93ZWlnaHRQcmV2PS0wLHRoaXMuX29mZnNldFByZXY9LTAsdGhpcy5fd2VpZ2h0TmV4dD0tMCx0aGlzLl9vZmZzZXROZXh0PS0wLHRoaXMuRGVmYXVsdFNldHRpbmdzXz17ZW5kaW5nU3RhcnQ6SDJ0LGVuZGluZ0VuZDpIMnR9fWludGVydmFsQ2hhbmdlZF8odCxlLG4pe2NvbnN0IGk9dGhpcy5wYXJhbWV0ZXJQb3NpdGlvbnM7bGV0IHI9dC0yLG89dCsxLGE9aVtyXSxzPWlbb107aWYodm9pZCAwPT09YSlzd2l0Y2godGhpcy5nZXRTZXR0aW5nc18oKS5lbmRpbmdTdGFydCl7Y2FzZSBGMnQ6cj10LGE9MiplLW47YnJlYWs7Y2FzZSBWMnQ6cj1pLmxlbmd0aC0yLGE9ZStpW3JdLWlbcisxXTticmVhaztkZWZhdWx0OnI9dCxhPW59aWYodm9pZCAwPT09cylzd2l0Y2godGhpcy5nZXRTZXR0aW5nc18oKS5lbmRpbmdFbmQpe2Nhc2UgRjJ0Om89dCxzPTIqbi1lO2JyZWFrO2Nhc2UgVjJ0Om89MSxzPW4raVsxXS1pWzBdO2JyZWFrO2RlZmF1bHQ6bz10LTEscz1lfWNvbnN0IGw9LjUqKG4tZSksYz10aGlzLnZhbHVlU2l6ZTt0aGlzLl93ZWlnaHRQcmV2PWwvKGUtYSksdGhpcy5fd2VpZ2h0TmV4dD1sLyhzLW4pLHRoaXMuX29mZnNldFByZXY9cipjLHRoaXMuX29mZnNldE5leHQ9bypjfWludGVycG9sYXRlXyh0LGUsbixpKXtjb25zdCByPXRoaXMucmVzdWx0QnVmZmVyLG89dGhpcy5zYW1wbGVWYWx1ZXMsYT10aGlzLnZhbHVlU2l6ZSxzPXQqYSxsPXMtYSxjPXRoaXMuX29mZnNldFByZXYsdT10aGlzLl9vZmZzZXROZXh0LGg9dGhpcy5fd2VpZ2h0UHJldixkPXRoaXMuX3dlaWdodE5leHQscD0obi1lKS8oaS1lKSxmPXAqcCxtPWYqcCxnPS1oKm0rMipoKmYtaCpwLF89KDEraCkqbSsoLTEuNS0yKmgpKmYrKC0uNStoKSpwKzEseT0oLTEtZCkqbSsoMS41K2QpKmYrLjUqcCx2PWQqbS1kKmY7Zm9yKGxldCB0PTA7dCE9PWE7Kyt0KXJbdF09ZypvW2MrdF0rXypvW2wrdF0reSpvW3MrdF0rdipvW3UrdF07cmV0dXJuIHJ9fWNsYXNzIEtlZSBleHRlbmRzIFhlZXtjb25zdHJ1Y3Rvcih0LGUsbixpKXtzdXBlcih0LGUsbixpKX1pbnRlcnBvbGF0ZV8odCxlLG4saSl7Y29uc3Qgcj10aGlzLnJlc3VsdEJ1ZmZlcixvPXRoaXMuc2FtcGxlVmFsdWVzLGE9dGhpcy52YWx1ZVNpemUscz10KmEsbD1zLWEsYz0obi1lKS8oaS1lKSx1PTEtYztmb3IobGV0IHQ9MDt0IT09YTsrK3Qpclt0XT1vW2wrdF0qdStvW3MrdF0qYztyZXR1cm4gcn19Y2xhc3MgWmVlIGV4dGVuZHMgWGVle2NvbnN0cnVjdG9yKHQsZSxuLGkpe3N1cGVyKHQsZSxuLGkpfWludGVycG9sYXRlXyh0KXtyZXR1cm4gdGhpcy5jb3B5U2FtcGxlVmFsdWVfKHQtMSl9fWNsYXNzIEplZXtjb25zdHJ1Y3Rvcih0LGUsbixpKXtpZih2b2lkIDA9PT10KXRocm93IG5ldyBFcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogdHJhY2sgbmFtZSBpcyB1bmRlZmluZWQiKTtpZih2b2lkIDA9PT1lfHwwPT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBubyBrZXlmcmFtZXMgaW4gdHJhY2sgbmFtZWQgIit0KTt0aGlzLm5hbWU9dCx0aGlzLnRpbWVzPVllZS5jb252ZXJ0QXJyYXkoZSx0aGlzLlRpbWVCdWZmZXJUeXBlKSx0aGlzLnZhbHVlcz1ZZWUuY29udmVydEFycmF5KG4sdGhpcy5WYWx1ZUJ1ZmZlclR5cGUpLHRoaXMuc2V0SW50ZXJwb2xhdGlvbihpfHx0aGlzLkRlZmF1bHRJbnRlcnBvbGF0aW9uKX1zdGF0aWMgdG9KU09OKHQpe2NvbnN0IGU9dC5jb25zdHJ1Y3RvcjtsZXQgbjtpZihlLnRvSlNPTiE9PXRoaXMudG9KU09OKW49ZS50b0pTT04odCk7ZWxzZXtuPXtuYW1lOnQubmFtZSx0aW1lczpZZWUuY29udmVydEFycmF5KHQudGltZXMsQXJyYXkpLHZhbHVlczpZZWUuY29udmVydEFycmF5KHQudmFsdWVzLEFycmF5KX07Y29uc3QgZT10LmdldEludGVycG9sYXRpb24oKTtlIT09dC5EZWZhdWx0SW50ZXJwb2xhdGlvbiYmKG4uaW50ZXJwb2xhdGlvbj1lKX1yZXR1cm4gbi50eXBlPXQuVmFsdWVUeXBlTmFtZSxufUludGVycG9sYW50RmFjdG9yeU1ldGhvZERpc2NyZXRlKHQpe3JldHVybiBuZXcgWmVlKHRoaXMudGltZXMsdGhpcy52YWx1ZXMsdGhpcy5nZXRWYWx1ZVNpemUoKSx0KX1JbnRlcnBvbGFudEZhY3RvcnlNZXRob2RMaW5lYXIodCl7cmV0dXJuIG5ldyBLZWUodGhpcy50aW1lcyx0aGlzLnZhbHVlcyx0aGlzLmdldFZhbHVlU2l6ZSgpLHQpfUludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aCh0KXtyZXR1cm4gbmV3ICRlZSh0aGlzLnRpbWVzLHRoaXMudmFsdWVzLHRoaXMuZ2V0VmFsdWVTaXplKCksdCl9c2V0SW50ZXJwb2xhdGlvbih0KXtsZXQgZTtzd2l0Y2godCl7Y2FzZSB6MnQ6ZT10aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZERpc2NyZXRlO2JyZWFrO2Nhc2UgRDJ0OmU9dGhpcy5JbnRlcnBvbGFudEZhY3RvcnlNZXRob2RMaW5lYXI7YnJlYWs7Y2FzZSBCMnQ6ZT10aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aH1pZih2b2lkIDA9PT1lKXtjb25zdCBlPSJ1bnN1cHBvcnRlZCBpbnRlcnBvbGF0aW9uIGZvciAiK3RoaXMuVmFsdWVUeXBlTmFtZSsiIGtleWZyYW1lIHRyYWNrIG5hbWVkICIrdGhpcy5uYW1lO2lmKHZvaWQgMD09PXRoaXMuY3JlYXRlSW50ZXJwb2xhbnQpe2lmKHQ9PT10aGlzLkRlZmF1bHRJbnRlcnBvbGF0aW9uKXRocm93IG5ldyBFcnJvcihlKTt0aGlzLnNldEludGVycG9sYXRpb24odGhpcy5EZWZhdWx0SW50ZXJwb2xhdGlvbil9cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuS2V5ZnJhbWVUcmFjazoiLGUpLHRoaXN9cmV0dXJuIHRoaXMuY3JlYXRlSW50ZXJwb2xhbnQ9ZSx0aGlzfWdldEludGVycG9sYXRpb24oKXtzd2l0Y2godGhpcy5jcmVhdGVJbnRlcnBvbGFudCl7Y2FzZSB0aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZERpc2NyZXRlOnJldHVybiB6MnQ7Y2FzZSB0aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcjpyZXR1cm4gRDJ0O2Nhc2UgdGhpcy5JbnRlcnBvbGFudEZhY3RvcnlNZXRob2RTbW9vdGg6cmV0dXJuIEIydH19Z2V0VmFsdWVTaXplKCl7cmV0dXJuIHRoaXMudmFsdWVzLmxlbmd0aC90aGlzLnRpbWVzLmxlbmd0aH1zaGlmdCh0KXtpZigwIT09dCl7Y29uc3QgZT10aGlzLnRpbWVzO2ZvcihsZXQgbj0wLGk9ZS5sZW5ndGg7biE9PWk7KytuKWVbbl0rPXR9cmV0dXJuIHRoaXN9c2NhbGUodCl7aWYoMSE9PXQpe2NvbnN0IGU9dGhpcy50aW1lcztmb3IobGV0IG49MCxpPWUubGVuZ3RoO24hPT1pOysrbillW25dKj10fXJldHVybiB0aGlzfXRyaW0odCxlKXtjb25zdCBuPXRoaXMudGltZXMsaT1uLmxlbmd0aDtsZXQgcj0wLG89aS0xO2Zvcig7ciE9PWkmJm5bcl08dDspKytyO2Zvcig7LTEhPT1vJiZuW29dPmU7KS0tbztpZigrK28sMCE9PXJ8fG8hPT1pKXtyPj1vJiYobz1NYXRoLm1heChvLDEpLHI9by0xKTtjb25zdCB0PXRoaXMuZ2V0VmFsdWVTaXplKCk7dGhpcy50aW1lcz1ZZWUuYXJyYXlTbGljZShuLHIsbyksdGhpcy52YWx1ZXM9WWVlLmFycmF5U2xpY2UodGhpcy52YWx1ZXMscip0LG8qdCl9cmV0dXJuIHRoaXN9dmFsaWRhdGUoKXtsZXQgdD0hMDtjb25zdCBlPXRoaXMuZ2V0VmFsdWVTaXplKCk7ZS1NYXRoLmZsb29yKGUpIT0wJiYoY29uc29sZS5lcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogSW52YWxpZCB2YWx1ZSBzaXplIGluIHRyYWNrLiIsdGhpcyksdD0hMSk7Y29uc3Qgbj10aGlzLnRpbWVzLGk9dGhpcy52YWx1ZXMscj1uLmxlbmd0aDswPT09ciYmKGNvbnNvbGUuZXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IFRyYWNrIGlzIGVtcHR5LiIsdGhpcyksdD0hMSk7bGV0IG89bnVsbDtmb3IobGV0IGU9MDtlIT09cjtlKyspe2NvbnN0IGk9bltlXTtpZigibnVtYmVyIj09dHlwZW9mIGkmJmlzTmFOKGkpKXtjb25zb2xlLmVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBUaW1lIGlzIG5vdCBhIHZhbGlkIG51bWJlci4iLHRoaXMsZSxpKSx0PSExO2JyZWFrfWlmKG51bGwhPT1vJiZvPmkpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IE91dCBvZiBvcmRlciBrZXlzLiIsdGhpcyxlLGksbyksdD0hMTticmVha31vPWl9aWYodm9pZCAwIT09aSYmWWVlLmlzVHlwZWRBcnJheShpKSlmb3IobGV0IGU9MCxuPWkubGVuZ3RoO2UhPT1uOysrZSl7Y29uc3Qgbj1pW2VdO2lmKGlzTmFOKG4pKXtjb25zb2xlLmVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBWYWx1ZSBpcyBub3QgYSB2YWxpZCBudW1iZXIuIix0aGlzLGUsbiksdD0hMTticmVha319cmV0dXJuIHR9b3B0aW1pemUoKXtjb25zdCB0PVllZS5hcnJheVNsaWNlKHRoaXMudGltZXMpLGU9WWVlLmFycmF5U2xpY2UodGhpcy52YWx1ZXMpLG49dGhpcy5nZXRWYWx1ZVNpemUoKSxpPXRoaXMuZ2V0SW50ZXJwb2xhdGlvbigpPT09QjJ0LHI9dC5sZW5ndGgtMTtsZXQgbz0xO2ZvcihsZXQgYT0xO2E8cjsrK2Epe2xldCByPSExO2NvbnN0IHM9dFthXTtpZihzIT09dFthKzFdJiYoMSE9PWF8fHMhPT10WzBdKSlpZihpKXI9ITA7ZWxzZXtjb25zdCB0PWEqbixpPXQtbixvPXQrbjtmb3IobGV0IGE9MDthIT09bjsrK2Epe2NvbnN0IG49ZVt0K2FdO2lmKG4hPT1lW2krYV18fG4hPT1lW28rYV0pe3I9ITA7YnJlYWt9fX1pZihyKXtpZihhIT09byl7dFtvXT10W2FdO2NvbnN0IGk9YSpuLHI9bypuO2ZvcihsZXQgdD0wO3QhPT1uOysrdCllW3IrdF09ZVtpK3RdfSsrb319aWYocj4wKXt0W29dPXRbcl07Zm9yKGxldCB0PXIqbixpPW8qbixhPTA7YSE9PW47KythKWVbaSthXT1lW3QrYV07KytvfXJldHVybiBvIT09dC5sZW5ndGg/KHRoaXMudGltZXM9WWVlLmFycmF5U2xpY2UodCwwLG8pLHRoaXMudmFsdWVzPVllZS5hcnJheVNsaWNlKGUsMCxvKm4pKToodGhpcy50aW1lcz10LHRoaXMudmFsdWVzPWUpLHRoaXN9Y2xvbmUoKXtjb25zdCB0PVllZS5hcnJheVNsaWNlKHRoaXMudGltZXMsMCksZT1ZZWUuYXJyYXlTbGljZSh0aGlzLnZhbHVlcywwKSxuPW5ldygwLHRoaXMuY29uc3RydWN0b3IpKHRoaXMubmFtZSx0LGUpO3JldHVybiBuLmNyZWF0ZUludGVycG9sYW50PXRoaXMuY3JlYXRlSW50ZXJwb2xhbnQsbn19SmVlLnByb3RvdHlwZS5UaW1lQnVmZmVyVHlwZT1GbG9hdDMyQXJyYXksSmVlLnByb3RvdHlwZS5WYWx1ZUJ1ZmZlclR5cGU9RmxvYXQzMkFycmF5LEplZS5wcm90b3R5cGUuRGVmYXVsdEludGVycG9sYXRpb249RDJ0O2NsYXNzIFFlZSBleHRlbmRzIEplZXt9UWVlLnByb3RvdHlwZS5WYWx1ZVR5cGVOYW1lPSJib29sIixRZWUucHJvdG90eXBlLlZhbHVlQnVmZmVyVHlwZT1BcnJheSxRZWUucHJvdG90eXBlLkRlZmF1bHRJbnRlcnBvbGF0aW9uPXoydCxRZWUucHJvdG90eXBlLkludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcj12b2lkIDAsUWVlLnByb3RvdHlwZS5JbnRlcnBvbGFudEZhY3RvcnlNZXRob2RTbW9vdGg9dm9pZCAwO2NsYXNzIHRuZSBleHRlbmRzIEplZXt9dG5lLnByb3RvdHlwZS5WYWx1ZVR5cGVOYW1lPSJjb2xvciI7Y2xhc3MgZW5lIGV4dGVuZHMgSmVle31lbmUucHJvdG90eXBlLlZhbHVlVHlwZU5hbWU9Im51bWJlciI7Y2xhc3Mgbm5lIGV4dGVuZHMgWGVle2NvbnN0cnVjdG9yKHQsZSxuLGkpe3N1cGVyKHQsZSxuLGkpfWludGVycG9sYXRlXyh0LGUsbixpKXtjb25zdCByPXRoaXMucmVzdWx0QnVmZmVyLG89dGhpcy5zYW1wbGVWYWx1ZXMsYT10aGlzLnZhbHVlU2l6ZSxzPShuLWUpLyhpLWUpO2xldCBsPXQqYTtmb3IobGV0IHQ9bCthO2whPT10O2wrPTQpQjV0LnNsZXJwRmxhdChyLDAsbyxsLWEsbyxsLHMpO3JldHVybiByfX1jbGFzcyBpbmUgZXh0ZW5kcyBKZWV7SW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kTGluZWFyKHQpe3JldHVybiBuZXcgbm5lKHRoaXMudGltZXMsdGhpcy52YWx1ZXMsdGhpcy5nZXRWYWx1ZVNpemUoKSx0KX19aW5lLnByb3RvdHlwZS5WYWx1ZVR5cGVOYW1lPSJxdWF0ZXJuaW9uIixpbmUucHJvdG90eXBlLkRlZmF1bHRJbnRlcnBvbGF0aW9uPUQydCxpbmUucHJvdG90eXBlLkludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aD12b2lkIDA7Y2xhc3Mgcm5lIGV4dGVuZHMgSmVle31ybmUucHJvdG90eXBlLlZhbHVlVHlwZU5hbWU9InN0cmluZyIscm5lLnByb3RvdHlwZS5WYWx1ZUJ1ZmZlclR5cGU9QXJyYXkscm5lLnByb3RvdHlwZS5EZWZhdWx0SW50ZXJwb2xhdGlvbj16MnQscm5lLnByb3RvdHlwZS5JbnRlcnBvbGFudEZhY3RvcnlNZXRob2RMaW5lYXI9dm9pZCAwLHJuZS5wcm90b3R5cGUuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kU21vb3RoPXZvaWQgMDtjbGFzcyBvbmUgZXh0ZW5kcyBKZWV7fW9uZS5wcm90b3R5cGUuVmFsdWVUeXBlTmFtZT0idmVjdG9yIjtjbGFzcyBhbmV7Y29uc3RydWN0b3IodCxlPS0xLG4saT0yNTAwKXt0aGlzLm5hbWU9dCx0aGlzLnRyYWNrcz1uLHRoaXMuZHVyYXRpb249ZSx0aGlzLmJsZW5kTW9kZT1pLHRoaXMudXVpZD1hNXQoKSx0aGlzLmR1cmF0aW9uPDAmJnRoaXMucmVzZXREdXJhdGlvbigpfXN0YXRpYyBwYXJzZSh0KXtjb25zdCBlPVtdLG49dC50cmFja3MsaT0xLyh0LmZwc3x8MSk7Zm9yKGxldCB0PTAscj1uLmxlbmd0aDt0IT09cjsrK3QpZS5wdXNoKHNuZShuW3RdKS5zY2FsZShpKSk7Y29uc3Qgcj1uZXcgdGhpcyh0Lm5hbWUsdC5kdXJhdGlvbixlLHQuYmxlbmRNb2RlKTtyZXR1cm4gci51dWlkPXQudXVpZCxyfXN0YXRpYyB0b0pTT04odCl7Y29uc3QgZT1bXSxuPXQudHJhY2tzLGk9e25hbWU6dC5uYW1lLGR1cmF0aW9uOnQuZHVyYXRpb24sdHJhY2tzOmUsdXVpZDp0LnV1aWQsYmxlbmRNb2RlOnQuYmxlbmRNb2RlfTtmb3IobGV0IHQ9MCxpPW4ubGVuZ3RoO3QhPT1pOysrdCllLnB1c2goSmVlLnRvSlNPTihuW3RdKSk7cmV0dXJuIGl9c3RhdGljIENyZWF0ZUZyb21Nb3JwaFRhcmdldFNlcXVlbmNlKHQsZSxuLGkpe2NvbnN0IHI9ZS5sZW5ndGgsbz1bXTtmb3IobGV0IHQ9MDt0PHI7dCsrKXtsZXQgYT1bXSxzPVtdO2EucHVzaCgodCtyLTEpJXIsdCwodCsxKSVyKSxzLnB1c2goMCwxLDApO2NvbnN0IGw9WWVlLmdldEtleWZyYW1lT3JkZXIoYSk7YT1ZZWUuc29ydGVkQXJyYXkoYSwxLGwpLHM9WWVlLnNvcnRlZEFycmF5KHMsMSxsKSxpfHwwIT09YVswXXx8KGEucHVzaChyKSxzLnB1c2goc1swXSkpLG8ucHVzaChuZXcgZW5lKCIubW9ycGhUYXJnZXRJbmZsdWVuY2VzWyIrZVt0XS5uYW1lKyJdIixhLHMpLnNjYWxlKDEvbikpfXJldHVybiBuZXcgdGhpcyh0LC0xLG8pfXN0YXRpYyBmaW5kQnlOYW1lKHQsZSl7bGV0IG49dDtpZighQXJyYXkuaXNBcnJheSh0KSl7Y29uc3QgZT10O249ZS5nZW9tZXRyeSYmZS5nZW9tZXRyeS5hbmltYXRpb25zfHxlLmFuaW1hdGlvbnN9Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0KyspaWYoblt0XS5uYW1lPT09ZSlyZXR1cm4gblt0XTtyZXR1cm4gbnVsbH1zdGF0aWMgQ3JlYXRlQ2xpcHNGcm9tTW9ycGhUYXJnZXRTZXF1ZW5jZXModCxlLG4pe2NvbnN0IGk9e30scj0vXihbXHctXSo/KShbXGRdKykkLztmb3IobGV0IGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dFtlXSxvPW4ubmFtZS5tYXRjaChyKTtpZihvJiZvLmxlbmd0aD4xKXtjb25zdCB0PW9bMV07bGV0IGU9aVt0XTtlfHwoaVt0XT1lPVtdKSxlLnB1c2gobil9fWNvbnN0IG89W107Zm9yKGNvbnN0IHQgaW4gaSlvLnB1c2godGhpcy5DcmVhdGVGcm9tTW9ycGhUYXJnZXRTZXF1ZW5jZSh0LGlbdF0sZSxuKSk7cmV0dXJuIG99c3RhdGljIHBhcnNlQW5pbWF0aW9uKHQsZSl7aWYoIXQpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIlRIUkVFLkFuaW1hdGlvbkNsaXA6IE5vIGFuaW1hdGlvbiBpbiBKU09OTG9hZGVyIGRhdGEuIiksbnVsbDtjb25zdCBuPWZ1bmN0aW9uKHQsZSxuLGkscil7aWYoMCE9PW4ubGVuZ3RoKXtjb25zdCBvPVtdLGE9W107WWVlLmZsYXR0ZW5KU09OKG4sbyxhLGkpLDAhPT1vLmxlbmd0aCYmci5wdXNoKG5ldyB0KGUsbyxhKSl9fSxpPVtdLHI9dC5uYW1lfHwiZGVmYXVsdCIsbz10LmZwc3x8MzAsYT10LmJsZW5kTW9kZTtsZXQgcz10Lmxlbmd0aHx8LTE7Y29uc3QgbD10LmhpZXJhcmNoeXx8W107Zm9yKGxldCB0PTA7dDxsLmxlbmd0aDt0Kyspe2NvbnN0IHI9bFt0XS5rZXlzO2lmKHImJjAhPT1yLmxlbmd0aClpZihyWzBdLm1vcnBoVGFyZ2V0cyl7Y29uc3QgdD17fTtsZXQgZTtmb3IoZT0wO2U8ci5sZW5ndGg7ZSsrKWlmKHJbZV0ubW9ycGhUYXJnZXRzKWZvcihsZXQgbj0wO248cltlXS5tb3JwaFRhcmdldHMubGVuZ3RoO24rKyl0W3JbZV0ubW9ycGhUYXJnZXRzW25dXT0tMTtmb3IoY29uc3QgbiBpbiB0KXtjb25zdCB0PVtdLG89W107Zm9yKGxldCBpPTA7aSE9PXJbZV0ubW9ycGhUYXJnZXRzLmxlbmd0aDsrK2kpe2NvbnN0IGk9cltlXTt0LnB1c2goaS50aW1lKSxvLnB1c2goaS5tb3JwaFRhcmdldD09PW4/MTowKX1pLnB1c2gobmV3IGVuZSgiLm1vcnBoVGFyZ2V0SW5mbHVlbmNlWyIrbisiXSIsdCxvKSl9cz10Lmxlbmd0aCoob3x8MSl9ZWxzZXtjb25zdCBvPSIuYm9uZXNbIitlW3RdLm5hbWUrIl0iO24ob25lLG8rIi5wb3NpdGlvbiIsciwicG9zIixpKSxuKGluZSxvKyIucXVhdGVybmlvbiIsciwicm90IixpKSxuKG9uZSxvKyIuc2NhbGUiLHIsInNjbCIsaSl9fWlmKDA9PT1pLmxlbmd0aClyZXR1cm4gbnVsbDtyZXR1cm4gbmV3IHRoaXMocixzLGksYSl9cmVzZXREdXJhdGlvbigpe2xldCB0PTA7Zm9yKGxldCBlPTAsbj10aGlzLnRyYWNrcy5sZW5ndGg7ZSE9PW47KytlKXtjb25zdCBuPXRoaXMudHJhY2tzW2VdO3Q9TWF0aC5tYXgodCxuLnRpbWVzW24udGltZXMubGVuZ3RoLTFdKX1yZXR1cm4gdGhpcy5kdXJhdGlvbj10LHRoaXN9dHJpbSgpe2ZvcihsZXQgdD0wO3Q8dGhpcy50cmFja3MubGVuZ3RoO3QrKyl0aGlzLnRyYWNrc1t0XS50cmltKDAsdGhpcy5kdXJhdGlvbik7cmV0dXJuIHRoaXN9dmFsaWRhdGUoKXtsZXQgdD0hMDtmb3IobGV0IGU9MDtlPHRoaXMudHJhY2tzLmxlbmd0aDtlKyspdD10JiZ0aGlzLnRyYWNrc1tlXS52YWxpZGF0ZSgpO3JldHVybiB0fW9wdGltaXplKCl7Zm9yKGxldCB0PTA7dDx0aGlzLnRyYWNrcy5sZW5ndGg7dCsrKXRoaXMudHJhY2tzW3RdLm9wdGltaXplKCk7cmV0dXJuIHRoaXN9Y2xvbmUoKXtjb25zdCB0PVtdO2ZvcihsZXQgZT0wO2U8dGhpcy50cmFja3MubGVuZ3RoO2UrKyl0LnB1c2godGhpcy50cmFja3NbZV0uY2xvbmUoKSk7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMubmFtZSx0aGlzLmR1cmF0aW9uLHQsdGhpcy5ibGVuZE1vZGUpfXRvSlNPTigpe3JldHVybiB0aGlzLmNvbnN0cnVjdG9yLnRvSlNPTih0aGlzKX19ZnVuY3Rpb24gc25lKHQpe2lmKHZvaWQgMD09PXQudHlwZSl0aHJvdyBuZXcgRXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IHRyYWNrIHR5cGUgdW5kZWZpbmVkLCBjYW4gbm90IHBhcnNlIik7Y29uc3QgZT0oZnVuY3Rpb24gbih0KXtzd2l0Y2godC50b0xvd2VyQ2FzZSgpKXtjYXNlInNjYWxhciI6Y2FzZSJkb3VibGUiOmNhc2UiZmxvYXQiOmNhc2UibnVtYmVyIjpjYXNlImludGVnZXIiOnJldHVybiBlbmU7Y2FzZSJ2ZWN0b3IiOmNhc2UidmVjdG9yMiI6Y2FzZSJ2ZWN0b3IzIjpjYXNlInZlY3RvcjQiOnJldHVybiBvbmU7Y2FzZSJjb2xvciI6cmV0dXJuIHRuZTtjYXNlInF1YXRlcm5pb24iOnJldHVybiBpbmU7Y2FzZSJib29sIjpjYXNlImJvb2xlYW4iOnJldHVybiBRZWU7Y2FzZSJzdHJpbmciOnJldHVybiBybmV9dGhyb3cgbmV3IEVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBVbnN1cHBvcnRlZCB0eXBlTmFtZTogIit0KX0pKHQudHlwZSk7aWYodm9pZCAwPT09dC50aW1lcyl7Y29uc3QgZT1bXSxuPVtdO1llZS5mbGF0dGVuSlNPTih0LmtleXMsZSxuLCJ2YWx1ZSIpLHQudGltZXM9ZSx0LnZhbHVlcz1ufXJldHVybiB2b2lkIDAhPT1lLnBhcnNlP2UucGFyc2UodCk6bmV3IGUodC5uYW1lLHQudGltZXMsdC52YWx1ZXMsdC5pbnRlcnBvbGF0aW9uKX1jb25zdCBsbmU9e2VuYWJsZWQ6ITEsZmlsZXM6e30sYWRkOmZ1bmN0aW9uKHQsZSl7ITEhPT10aGlzLmVuYWJsZWQmJih0aGlzLmZpbGVzW3RdPWUpfSxnZXQ6ZnVuY3Rpb24odCl7aWYoITEhPT10aGlzLmVuYWJsZWQpcmV0dXJuIHRoaXMuZmlsZXNbdF19LHJlbW92ZTpmdW5jdGlvbih0KXtkZWxldGUgdGhpcy5maWxlc1t0XX0sY2xlYXI6ZnVuY3Rpb24oKXt0aGlzLmZpbGVzPXt9fX07Y2xhc3MgY25le2NvbnN0cnVjdG9yKHQsZSxuKXtjb25zdCBpPXRoaXM7bGV0IHIsbz0hMSxhPTAscz0wO2NvbnN0IGw9W107dGhpcy5vblN0YXJ0PXZvaWQgMCx0aGlzLm9uTG9hZD10LHRoaXMub25Qcm9ncmVzcz1lLHRoaXMub25FcnJvcj1uLHRoaXMuaXRlbVN0YXJ0PWZ1bmN0aW9uKHQpe3MrKywhMT09PW8mJnZvaWQgMCE9PWkub25TdGFydCYmaS5vblN0YXJ0KHQsYSxzKSxvPSEwfSx0aGlzLml0ZW1FbmQ9ZnVuY3Rpb24odCl7YSsrLHZvaWQgMCE9PWkub25Qcm9ncmVzcyYmaS5vblByb2dyZXNzKHQsYSxzKSxhPT09cyYmKG89ITEsdm9pZCAwIT09aS5vbkxvYWQmJmkub25Mb2FkKCkpfSx0aGlzLml0ZW1FcnJvcj1mdW5jdGlvbih0KXt2b2lkIDAhPT1pLm9uRXJyb3ImJmkub25FcnJvcih0KX0sdGhpcy5yZXNvbHZlVVJMPWZ1bmN0aW9uKHQpe3JldHVybiByP3IodCk6dH0sdGhpcy5zZXRVUkxNb2RpZmllcj1mdW5jdGlvbih0KXtyZXR1cm4gcj10LHRoaXN9LHRoaXMuYWRkSGFuZGxlcj1mdW5jdGlvbih0LGUpe3JldHVybiBsLnB1c2godCxlKSx0aGlzfSx0aGlzLnJlbW92ZUhhbmRsZXI9ZnVuY3Rpb24odCl7Y29uc3QgZT1sLmluZGV4T2YodCk7cmV0dXJuLTEhPT1lJiZsLnNwbGljZShlLDIpLHRoaXN9LHRoaXMuZ2V0SGFuZGxlcj1mdW5jdGlvbih0KXtmb3IobGV0IGU9MCxuPWwubGVuZ3RoO2U8bjtlKz0yKXtjb25zdCBuPWxbZV0saT1sW2UrMV07aWYobi5nbG9iYWwmJihuLmxhc3RJbmRleD0wKSxuLnRlc3QodCkpcmV0dXJuIGl9cmV0dXJuIG51bGx9fX1jb25zdCB1bmU9bmV3IGNuZTtjbGFzcyBobmV7Y29uc3RydWN0b3IodCl7dGhpcy5tYW5hZ2VyPXZvaWQgMCE9PXQ/dDp1bmUsdGhpcy5jcm9zc09yaWdpbj0iYW5vbnltb3VzIix0aGlzLndpdGhDcmVkZW50aWFscz0hMSx0aGlzLnBhdGg9IiIsdGhpcy5yZXNvdXJjZVBhdGg9IiIsdGhpcy5yZXF1ZXN0SGVhZGVyPXt9fWxvYWQoKXt9bG9hZEFzeW5jKHQsZSl7Y29uc3Qgbj10aGlzO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oaSxyKXtuLmxvYWQodCxpLGUscil9KSl9cGFyc2UoKXt9c2V0Q3Jvc3NPcmlnaW4odCl7cmV0dXJuIHRoaXMuY3Jvc3NPcmlnaW49dCx0aGlzfXNldFdpdGhDcmVkZW50aWFscyh0KXtyZXR1cm4gdGhpcy53aXRoQ3JlZGVudGlhbHM9dCx0aGlzfXNldFBhdGgodCl7cmV0dXJuIHRoaXMucGF0aD10LHRoaXN9c2V0UmVzb3VyY2VQYXRoKHQpe3JldHVybiB0aGlzLnJlc291cmNlUGF0aD10LHRoaXN9c2V0UmVxdWVzdEhlYWRlcih0KXtyZXR1cm4gdGhpcy5yZXF1ZXN0SGVhZGVyPXQsdGhpc319Y29uc3QgZG5lPXt9O2NsYXNzIHBuZSBleHRlbmRzIGhuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1sb2FkKHQsZSxuLGkpe3ZvaWQgMD09PXQmJih0PSIiKSx2b2lkIDAhPT10aGlzLnBhdGgmJih0PXRoaXMucGF0aCt0KSx0PXRoaXMubWFuYWdlci5yZXNvbHZlVVJMKHQpO2NvbnN0IHI9dGhpcyxvPWxuZS5nZXQodCk7aWYodm9pZCAwIT09bylyZXR1cm4gci5tYW5hZ2VyLml0ZW1TdGFydCh0KSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2UmJmUobyksci5tYW5hZ2VyLml0ZW1FbmQodCl9KSwwKSxvO2lmKHZvaWQgMCE9PWRuZVt0XSlyZXR1cm4gdm9pZCBkbmVbdF0ucHVzaCh7b25Mb2FkOmUsb25Qcm9ncmVzczpuLG9uRXJyb3I6aX0pO2NvbnN0IGE9dC5tYXRjaCgvXmRhdGE6KC4qPykoO2Jhc2U2NCk/LCguKikkLyk7bGV0IHM7aWYoYSl7Y29uc3Qgbj1hWzFdLG89ISFhWzJdO2xldCBzPWFbM107cz1kZWNvZGVVUklDb21wb25lbnQocyksbyYmKHM9YXRvYihzKSk7dHJ5e2xldCBpO2NvbnN0IG89KHRoaXMucmVzcG9uc2VUeXBlfHwiIikudG9Mb3dlckNhc2UoKTtzd2l0Y2gobyl7Y2FzZSJhcnJheWJ1ZmZlciI6Y2FzZSJibG9iIjpjb25zdCB0PW5ldyBVaW50OEFycmF5KHMubGVuZ3RoKTtmb3IobGV0IGU9MDtlPHMubGVuZ3RoO2UrKyl0W2VdPXMuY2hhckNvZGVBdChlKTtpPSJibG9iIj09PW8/bmV3IEJsb2IoW3QuYnVmZmVyXSx7dHlwZTpufSk6dC5idWZmZXI7YnJlYWs7Y2FzZSJkb2N1bWVudCI6Y29uc3QgZT1uZXcgRE9NUGFyc2VyO2k9ZS5wYXJzZUZyb21TdHJpbmcocyxuKTticmVhaztjYXNlImpzb24iOmk9SlNPTi5wYXJzZShzKTticmVhaztkZWZhdWx0Omk9c31zZXRUaW1lb3V0KChmdW5jdGlvbigpe2UmJmUoaSksci5tYW5hZ2VyLml0ZW1FbmQodCl9KSwwKX1jYXRjaChlKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe2kmJmkoZSksci5tYW5hZ2VyLml0ZW1FcnJvcih0KSxyLm1hbmFnZXIuaXRlbUVuZCh0KX0pLDApfX1lbHNle2RuZVt0XT1bXSxkbmVbdF0ucHVzaCh7b25Mb2FkOmUsb25Qcm9ncmVzczpuLG9uRXJyb3I6aX0pLHM9bmV3IFhNTEh0dHBSZXF1ZXN0LHMub3BlbigiR0VUIix0LCEwKSxzLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLChmdW5jdGlvbihlKXtjb25zdCBuPXRoaXMucmVzcG9uc2UsaT1kbmVbdF07aWYoZGVsZXRlIGRuZVt0XSwyMDA9PT10aGlzLnN0YXR1c3x8MD09PXRoaXMuc3RhdHVzKXswPT09dGhpcy5zdGF0dXMmJmNvbnNvbGUud2FybigiVEhSRUUuRmlsZUxvYWRlcjogSFRUUCBTdGF0dXMgMCByZWNlaXZlZC4iKSxsbmUuYWRkKHQsbik7Zm9yKGxldCB0PTAsZT1pLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPWlbdF07ZS5vbkxvYWQmJmUub25Mb2FkKG4pfXIubWFuYWdlci5pdGVtRW5kKHQpfWVsc2V7Zm9yKGxldCB0PTAsbj1pLmxlbmd0aDt0PG47dCsrKXtjb25zdCBuPWlbdF07bi5vbkVycm9yJiZuLm9uRXJyb3IoZSl9ci5tYW5hZ2VyLml0ZW1FcnJvcih0KSxyLm1hbmFnZXIuaXRlbUVuZCh0KX19KSwhMSkscy5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsKGZ1bmN0aW9uKGUpe2NvbnN0IG49ZG5lW3RdO2ZvcihsZXQgdD0wLGk9bi5sZW5ndGg7dDxpO3QrKyl7Y29uc3QgaT1uW3RdO2kub25Qcm9ncmVzcyYmaS5vblByb2dyZXNzKGUpfX0pLCExKSxzLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoZnVuY3Rpb24oZSl7Y29uc3Qgbj1kbmVbdF07ZGVsZXRlIGRuZVt0XTtmb3IobGV0IHQ9MCxpPW4ubGVuZ3RoO3Q8aTt0Kyspe2NvbnN0IGk9blt0XTtpLm9uRXJyb3ImJmkub25FcnJvcihlKX1yLm1hbmFnZXIuaXRlbUVycm9yKHQpLHIubWFuYWdlci5pdGVtRW5kKHQpfSksITEpLHMuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLChmdW5jdGlvbihlKXtjb25zdCBuPWRuZVt0XTtkZWxldGUgZG5lW3RdO2ZvcihsZXQgdD0wLGk9bi5sZW5ndGg7dDxpO3QrKyl7Y29uc3QgaT1uW3RdO2kub25FcnJvciYmaS5vbkVycm9yKGUpfXIubWFuYWdlci5pdGVtRXJyb3IodCksci5tYW5hZ2VyLml0ZW1FbmQodCl9KSwhMSksdm9pZCAwIT09dGhpcy5yZXNwb25zZVR5cGUmJihzLnJlc3BvbnNlVHlwZT10aGlzLnJlc3BvbnNlVHlwZSksdm9pZCAwIT09dGhpcy53aXRoQ3JlZGVudGlhbHMmJihzLndpdGhDcmVkZW50aWFscz10aGlzLndpdGhDcmVkZW50aWFscykscy5vdmVycmlkZU1pbWVUeXBlJiZzLm92ZXJyaWRlTWltZVR5cGUodm9pZCAwIT09dGhpcy5taW1lVHlwZT90aGlzLm1pbWVUeXBlOiJ0ZXh0L3BsYWluIik7Zm9yKGNvbnN0IHQgaW4gdGhpcy5yZXF1ZXN0SGVhZGVyKXMuc2V0UmVxdWVzdEhlYWRlcih0LHRoaXMucmVxdWVzdEhlYWRlclt0XSk7cy5zZW5kKG51bGwpfXJldHVybiByLm1hbmFnZXIuaXRlbVN0YXJ0KHQpLHN9c2V0UmVzcG9uc2VUeXBlKHQpe3JldHVybiB0aGlzLnJlc3BvbnNlVHlwZT10LHRoaXN9c2V0TWltZVR5cGUodCl7cmV0dXJuIHRoaXMubWltZVR5cGU9dCx0aGlzfX1jbGFzcyBmbmUgZXh0ZW5kcyBobmV7Y29uc3RydWN0b3IodCl7c3VwZXIodCl9bG9hZCh0LGUsbixpKXt2b2lkIDAhPT10aGlzLnBhdGgmJih0PXRoaXMucGF0aCt0KSx0PXRoaXMubWFuYWdlci5yZXNvbHZlVVJMKHQpO2NvbnN0IHI9dGhpcyxvPWxuZS5nZXQodCk7aWYodm9pZCAwIT09bylyZXR1cm4gci5tYW5hZ2VyLml0ZW1TdGFydCh0KSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2UmJmUobyksci5tYW5hZ2VyLml0ZW1FbmQodCl9KSwwKSxvO2NvbnN0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiaW1nIik7ZnVuY3Rpb24gcygpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIscywhMSksYS5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbCwhMSksbG5lLmFkZCh0LHRoaXMpLGUmJmUodGhpcyksci5tYW5hZ2VyLml0ZW1FbmQodCl9ZnVuY3Rpb24gbChlKXthLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLHMsITEpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGwsITEpLGkmJmkoZSksci5tYW5hZ2VyLml0ZW1FcnJvcih0KSxyLm1hbmFnZXIuaXRlbUVuZCh0KX1yZXR1cm4gYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixzLCExKSxhLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixsLCExKSwiZGF0YToiIT09dC5zdWJzdHIoMCw1KSYmdm9pZCAwIT09dGhpcy5jcm9zc09yaWdpbiYmKGEuY3Jvc3NPcmlnaW49dGhpcy5jcm9zc09yaWdpbiksci5tYW5hZ2VyLml0ZW1TdGFydCh0KSxhLnNyYz10LGF9fWNsYXNzIG1uZSBleHRlbmRzIGhuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1sb2FkKHQsZSxuLGkpe2NvbnN0IHI9bmV3IHM2dCxvPW5ldyBmbmUodGhpcy5tYW5hZ2VyKTtvLnNldENyb3NzT3JpZ2luKHRoaXMuY3Jvc3NPcmlnaW4pLG8uc2V0UGF0aCh0aGlzLnBhdGgpO2xldCBhPTA7ZnVuY3Rpb24gcyhuKXtvLmxvYWQodFtuXSwoZnVuY3Rpb24odCl7ci5pbWFnZXNbbl09dCxhKyssNj09PWEmJihyLm5lZWRzVXBkYXRlPSEwLGUmJmUocikpfSksdm9pZCAwLGkpfWZvcihsZXQgZT0wO2U8dC5sZW5ndGg7KytlKXMoZSk7cmV0dXJuIHJ9fWNsYXNzIGduZSBleHRlbmRzIGhuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1sb2FkKHQsZSxuLGkpe2NvbnN0IHI9dGhpcyxvPW5ldyBIN3QsYT1uZXcgcG5lKHRoaXMubWFuYWdlcik7cmV0dXJuIGEuc2V0UmVzcG9uc2VUeXBlKCJhcnJheWJ1ZmZlciIpLGEuc2V0UmVxdWVzdEhlYWRlcih0aGlzLnJlcXVlc3RIZWFkZXIpLGEuc2V0UGF0aCh0aGlzLnBhdGgpLGEuc2V0V2l0aENyZWRlbnRpYWxzKHIud2l0aENyZWRlbnRpYWxzKSxhLmxvYWQodCwoZnVuY3Rpb24odCl7Y29uc3Qgbj1yLnBhcnNlKHQpO24mJih2b2lkIDAhPT1uLmltYWdlP28uaW1hZ2U9bi5pbWFnZTp2b2lkIDAhPT1uLmRhdGEmJihvLmltYWdlLndpZHRoPW4ud2lkdGgsby5pbWFnZS5oZWlnaHQ9bi5oZWlnaHQsby5pbWFnZS5kYXRhPW4uZGF0YSksby53cmFwUz12b2lkIDAhPT1uLndyYXBTP24ud3JhcFM6bDJ0LG8ud3JhcFQ9dm9pZCAwIT09bi53cmFwVD9uLndyYXBUOmwydCxvLm1hZ0ZpbHRlcj12b2lkIDAhPT1uLm1hZ0ZpbHRlcj9uLm1hZ0ZpbHRlcjpwMnQsby5taW5GaWx0ZXI9dm9pZCAwIT09bi5taW5GaWx0ZXI/bi5taW5GaWx0ZXI6cDJ0LG8uYW5pc290cm9weT12b2lkIDAhPT1uLmFuaXNvdHJvcHk/bi5hbmlzb3Ryb3B5OjEsdm9pZCAwIT09bi5lbmNvZGluZyYmKG8uZW5jb2Rpbmc9bi5lbmNvZGluZyksdm9pZCAwIT09bi5mbGlwWSYmKG8uZmxpcFk9bi5mbGlwWSksdm9pZCAwIT09bi5mb3JtYXQmJihvLmZvcm1hdD1uLmZvcm1hdCksdm9pZCAwIT09bi50eXBlJiYoby50eXBlPW4udHlwZSksdm9pZCAwIT09bi5taXBtYXBzJiYoby5taXBtYXBzPW4ubWlwbWFwcyxvLm1pbkZpbHRlcj1tMnQpLDE9PT1uLm1pcG1hcENvdW50JiYoby5taW5GaWx0ZXI9cDJ0KSx2b2lkIDAhPT1uLmdlbmVyYXRlTWlwbWFwcyYmKG8uZ2VuZXJhdGVNaXBtYXBzPW4uZ2VuZXJhdGVNaXBtYXBzKSxvLm5lZWRzVXBkYXRlPSEwLGUmJmUobyxuKSl9KSxuLGkpLG99fWNsYXNzIF9uZSBleHRlbmRzIGhuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1sb2FkKHQsZSxuLGkpe2NvbnN0IHI9bmV3IE41dCxvPW5ldyBmbmUodGhpcy5tYW5hZ2VyKTtyZXR1cm4gby5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKSxvLnNldFBhdGgodGhpcy5wYXRoKSxvLmxvYWQodCwoZnVuY3Rpb24obil7ci5pbWFnZT1uO2NvbnN0IGk9dC5zZWFyY2goL1wuanBlP2coJHxcPykvaSk+MHx8MD09PXQuc2VhcmNoKC9eZGF0YVw6aW1hZ2VcL2pwZWcvKTtyLmZvcm1hdD1pP3cydDpTMnQsci5uZWVkc1VwZGF0ZT0hMCx2b2lkIDAhPT1lJiZlKHIpfSksbixpKSxyfX1jbGFzcyB5bmUgZXh0ZW5kcyBUdGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iQ3VydmVQYXRoIix0aGlzLmN1cnZlcz1bXSx0aGlzLmF1dG9DbG9zZT0hMX1hZGQodCl7dGhpcy5jdXJ2ZXMucHVzaCh0KX1jbG9zZVBhdGgoKXtjb25zdCB0PXRoaXMuY3VydmVzWzBdLmdldFBvaW50KDApLGU9dGhpcy5jdXJ2ZXNbdGhpcy5jdXJ2ZXMubGVuZ3RoLTFdLmdldFBvaW50KDEpO3QuZXF1YWxzKGUpfHx0aGlzLmN1cnZlcy5wdXNoKG5ldyBGdGUoZSx0KSl9Z2V0UG9pbnQodCl7Y29uc3QgZT10KnRoaXMuZ2V0TGVuZ3RoKCksbj10aGlzLmdldEN1cnZlTGVuZ3RocygpO2xldCBpPTA7Zm9yKDtpPG4ubGVuZ3RoOyl7aWYobltpXT49ZSl7Y29uc3QgdD1uW2ldLWUscj10aGlzLmN1cnZlc1tpXSxvPXIuZ2V0TGVuZ3RoKCk7cmV0dXJuIHIuZ2V0UG9pbnRBdCgwPT09bz8wOjEtdC9vKX1pKyt9cmV0dXJuIG51bGx9Z2V0TGVuZ3RoKCl7Y29uc3QgdD10aGlzLmdldEN1cnZlTGVuZ3RocygpO3JldHVybiB0W3QubGVuZ3RoLTFdfXVwZGF0ZUFyY0xlbmd0aHMoKXt0aGlzLm5lZWRzVXBkYXRlPSEwLHRoaXMuY2FjaGVMZW5ndGhzPW51bGwsdGhpcy5nZXRDdXJ2ZUxlbmd0aHMoKX1nZXRDdXJ2ZUxlbmd0aHMoKXtpZih0aGlzLmNhY2hlTGVuZ3RocyYmdGhpcy5jYWNoZUxlbmd0aHMubGVuZ3RoPT09dGhpcy5jdXJ2ZXMubGVuZ3RoKXJldHVybiB0aGlzLmNhY2hlTGVuZ3Rocztjb25zdCB0PVtdO2xldCBlPTA7Zm9yKGxldCBuPTAsaT10aGlzLmN1cnZlcy5sZW5ndGg7bjxpO24rKyllKz10aGlzLmN1cnZlc1tuXS5nZXRMZW5ndGgoKSx0LnB1c2goZSk7cmV0dXJuIHRoaXMuY2FjaGVMZW5ndGhzPXQsdH1nZXRTcGFjZWRQb2ludHModD00MCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPD10O24rKyllLnB1c2godGhpcy5nZXRQb2ludChuL3QpKTtyZXR1cm4gdGhpcy5hdXRvQ2xvc2UmJmUucHVzaChlWzBdKSxlfWdldFBvaW50cyh0PTEyKXtjb25zdCBlPVtdO2xldCBuO2ZvcihsZXQgaT0wLHI9dGhpcy5jdXJ2ZXM7aTxyLmxlbmd0aDtpKyspe2NvbnN0IG89cltpXSxhPW8uZ2V0UG9pbnRzKG8mJm8uaXNFbGxpcHNlQ3VydmU/Mip0Om8mJihvLmlzTGluZUN1cnZlfHxvLmlzTGluZUN1cnZlMyk/MTpvJiZvLmlzU3BsaW5lQ3VydmU/dCpvLnBvaW50cy5sZW5ndGg6dCk7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0Kyspe2NvbnN0IGk9YVt0XTtuJiZuLmVxdWFscyhpKXx8KGUucHVzaChpKSxuPWkpfX1yZXR1cm4gdGhpcy5hdXRvQ2xvc2UmJmUubGVuZ3RoPjEmJiFlW2UubGVuZ3RoLTFdLmVxdWFscyhlWzBdKSYmZS5wdXNoKGVbMF0pLGV9Y29weSh0KXtzdXBlci5jb3B5KHQpLHRoaXMuY3VydmVzPVtdO2ZvcihsZXQgZT0wLG49dC5jdXJ2ZXMubGVuZ3RoO2U8bjtlKyspe3RoaXMuY3VydmVzLnB1c2godC5jdXJ2ZXNbZV0uY2xvbmUoKSl9cmV0dXJuIHRoaXMuYXV0b0Nsb3NlPXQuYXV0b0Nsb3NlLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTt0LmF1dG9DbG9zZT10aGlzLmF1dG9DbG9zZSx0LmN1cnZlcz1bXTtmb3IobGV0IGU9MCxuPXRoaXMuY3VydmVzLmxlbmd0aDtlPG47ZSsrKXt0LmN1cnZlcy5wdXNoKHRoaXMuY3VydmVzW2VdLnRvSlNPTigpKX1yZXR1cm4gdH1mcm9tSlNPTih0KXtzdXBlci5mcm9tSlNPTih0KSx0aGlzLmF1dG9DbG9zZT10LmF1dG9DbG9zZSx0aGlzLmN1cnZlcz1bXTtmb3IobGV0IGU9MCxuPXQuY3VydmVzLmxlbmd0aDtlPG47ZSsrKXtjb25zdCBuPXQuY3VydmVzW2VdO3RoaXMuY3VydmVzLnB1c2goKG5ldyBXdGVbbi50eXBlXSkuZnJvbUpTT04obikpfXJldHVybiB0aGlzfX1jbGFzcyB2bmUgZXh0ZW5kcyB5bmV7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlBhdGgiLHRoaXMuY3VycmVudFBvaW50PW5ldyBDNXQsdCYmdGhpcy5zZXRGcm9tUG9pbnRzKHQpfXNldEZyb21Qb2ludHModCl7dGhpcy5tb3ZlVG8odFswXS54LHRbMF0ueSk7Zm9yKGxldCBlPTEsbj10Lmxlbmd0aDtlPG47ZSsrKXRoaXMubGluZVRvKHRbZV0ueCx0W2VdLnkpO3JldHVybiB0aGlzfW1vdmVUbyh0LGUpe3JldHVybiB0aGlzLmN1cnJlbnRQb2ludC5zZXQodCxlKSx0aGlzfWxpbmVUbyh0LGUpe2NvbnN0IG49bmV3IEZ0ZSh0aGlzLmN1cnJlbnRQb2ludC5jbG9uZSgpLG5ldyBDNXQodCxlKSk7cmV0dXJuIHRoaXMuY3VydmVzLnB1c2gobiksdGhpcy5jdXJyZW50UG9pbnQuc2V0KHQsZSksdGhpc31xdWFkcmF0aWNDdXJ2ZVRvKHQsZSxuLGkpe2NvbnN0IHI9bmV3IFV0ZSh0aGlzLmN1cnJlbnRQb2ludC5jbG9uZSgpLG5ldyBDNXQodCxlKSxuZXcgQzV0KG4saSkpO3JldHVybiB0aGlzLmN1cnZlcy5wdXNoKHIpLHRoaXMuY3VycmVudFBvaW50LnNldChuLGkpLHRoaXN9YmV6aWVyQ3VydmVUbyh0LGUsbixpLHIsbyl7Y29uc3QgYT1uZXcgQnRlKHRoaXMuY3VycmVudFBvaW50LmNsb25lKCksbmV3IEM1dCh0LGUpLG5ldyBDNXQobixpKSxuZXcgQzV0KHIsbykpO3JldHVybiB0aGlzLmN1cnZlcy5wdXNoKGEpLHRoaXMuY3VycmVudFBvaW50LnNldChyLG8pLHRoaXN9c3BsaW5lVGhydSh0KXtjb25zdCBlPVt0aGlzLmN1cnJlbnRQb2ludC5jbG9uZSgpXS5jb25jYXQodCksbj1uZXcgR3RlKGUpO3JldHVybiB0aGlzLmN1cnZlcy5wdXNoKG4pLHRoaXMuY3VycmVudFBvaW50LmNvcHkodFt0Lmxlbmd0aC0xXSksdGhpc31hcmModCxlLG4saSxyLG8pe3JldHVybiB0aGlzLmFic2FyYyh0K3RoaXMuY3VycmVudFBvaW50LngsZSt0aGlzLmN1cnJlbnRQb2ludC55LG4saSxyLG8pLHRoaXN9YWJzYXJjKHQsZSxuLGkscixvKXtyZXR1cm4gdGhpcy5hYnNlbGxpcHNlKHQsZSxuLG4saSxyLG8pLHRoaXN9ZWxsaXBzZSh0LGUsbixpLHIsbyxhLHMpe3JldHVybiB0aGlzLmFic2VsbGlwc2UodCt0aGlzLmN1cnJlbnRQb2ludC54LGUrdGhpcy5jdXJyZW50UG9pbnQueSxuLGkscixvLGEscyksdGhpc31hYnNlbGxpcHNlKHQsZSxuLGkscixvLGEscyl7Y29uc3QgbD1uZXcgQ3RlKHQsZSxuLGkscixvLGEscyk7aWYodGhpcy5jdXJ2ZXMubGVuZ3RoPjApe2NvbnN0IHQ9bC5nZXRQb2ludCgwKTt0LmVxdWFscyh0aGlzLmN1cnJlbnRQb2ludCl8fHRoaXMubGluZVRvKHQueCx0LnkpfXRoaXMuY3VydmVzLnB1c2gobCk7Y29uc3QgYz1sLmdldFBvaW50KDEpO3JldHVybiB0aGlzLmN1cnJlbnRQb2ludC5jb3B5KGMpLHRoaXN9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmN1cnJlbnRQb2ludC5jb3B5KHQuY3VycmVudFBvaW50KSx0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7cmV0dXJuIHQuY3VycmVudFBvaW50PXRoaXMuY3VycmVudFBvaW50LnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLmN1cnJlbnRQb2ludC5mcm9tQXJyYXkodC5jdXJyZW50UG9pbnQpLHRoaXN9fWNsYXNzIGJuZSBleHRlbmRzIHZuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLnV1aWQ9YTV0KCksdGhpcy50eXBlPSJTaGFwZSIsdGhpcy5ob2xlcz1bXX1nZXRQb2ludHNIb2xlcyh0KXtjb25zdCBlPVtdO2ZvcihsZXQgbj0wLGk9dGhpcy5ob2xlcy5sZW5ndGg7bjxpO24rKyllW25dPXRoaXMuaG9sZXNbbl0uZ2V0UG9pbnRzKHQpO3JldHVybiBlfWV4dHJhY3RQb2ludHModCl7cmV0dXJue3NoYXBlOnRoaXMuZ2V0UG9pbnRzKHQpLGhvbGVzOnRoaXMuZ2V0UG9pbnRzSG9sZXModCl9fWNvcHkodCl7c3VwZXIuY29weSh0KSx0aGlzLmhvbGVzPVtdO2ZvcihsZXQgZT0wLG49dC5ob2xlcy5sZW5ndGg7ZTxuO2UrKyl7dGhpcy5ob2xlcy5wdXNoKHQuaG9sZXNbZV0uY2xvbmUoKSl9cmV0dXJuIHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTt0LnV1aWQ9dGhpcy51dWlkLHQuaG9sZXM9W107Zm9yKGxldCBlPTAsbj10aGlzLmhvbGVzLmxlbmd0aDtlPG47ZSsrKXt0LmhvbGVzLnB1c2godGhpcy5ob2xlc1tlXS50b0pTT04oKSl9cmV0dXJuIHR9ZnJvbUpTT04odCl7c3VwZXIuZnJvbUpTT04odCksdGhpcy51dWlkPXQudXVpZCx0aGlzLmhvbGVzPVtdO2ZvcihsZXQgZT0wLG49dC5ob2xlcy5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10LmhvbGVzW2VdO3RoaXMuaG9sZXMucHVzaCgobmV3IHZuZSkuZnJvbUpTT04obikpfXJldHVybiB0aGlzfX1jbGFzcyB4bmUgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IodCxlPTEpe3N1cGVyKCksdGhpcy50eXBlPSJMaWdodCIsdGhpcy5jb2xvcj1uZXcgczR0KHQpLHRoaXMuaW50ZW5zaXR5PWV9ZGlzcG9zZSgpe31jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuY29sb3IuY29weSh0LmNvbG9yKSx0aGlzLmludGVuc2l0eT10LmludGVuc2l0eSx0aGlzfXRvSlNPTih0KXtjb25zdCBlPXN1cGVyLnRvSlNPTih0KTtyZXR1cm4gZS5vYmplY3QuY29sb3I9dGhpcy5jb2xvci5nZXRIZXgoKSxlLm9iamVjdC5pbnRlbnNpdHk9dGhpcy5pbnRlbnNpdHksdm9pZCAwIT09dGhpcy5ncm91bmRDb2xvciYmKGUub2JqZWN0Lmdyb3VuZENvbG9yPXRoaXMuZ3JvdW5kQ29sb3IuZ2V0SGV4KCkpLHZvaWQgMCE9PXRoaXMuZGlzdGFuY2UmJihlLm9iamVjdC5kaXN0YW5jZT10aGlzLmRpc3RhbmNlKSx2b2lkIDAhPT10aGlzLmFuZ2xlJiYoZS5vYmplY3QuYW5nbGU9dGhpcy5hbmdsZSksdm9pZCAwIT09dGhpcy5kZWNheSYmKGUub2JqZWN0LmRlY2F5PXRoaXMuZGVjYXkpLHZvaWQgMCE9PXRoaXMucGVudW1icmEmJihlLm9iamVjdC5wZW51bWJyYT10aGlzLnBlbnVtYnJhKSx2b2lkIDAhPT10aGlzLnNoYWRvdyYmKGUub2JqZWN0LnNoYWRvdz10aGlzLnNoYWRvdy50b0pTT04oKSksZX19eG5lLnByb3RvdHlwZS5pc0xpZ2h0PSEwO2NsYXNzIHduZSBleHRlbmRzIHhuZXtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIodCxuKSx0aGlzLnR5cGU9IkhlbWlzcGhlcmVMaWdodCIsdGhpcy5wb3NpdGlvbi5jb3B5KFYzdC5EZWZhdWx0VXApLHRoaXMudXBkYXRlTWF0cml4KCksdGhpcy5ncm91bmRDb2xvcj1uZXcgczR0KGUpfWNvcHkodCl7cmV0dXJuIHhuZS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsdCksdGhpcy5ncm91bmRDb2xvci5jb3B5KHQuZ3JvdW5kQ29sb3IpLHRoaXN9fXduZS5wcm90b3R5cGUuaXNIZW1pc3BoZXJlTGlnaHQ9ITA7Y29uc3QgU25lPW5ldyBnM3QsTW5lPW5ldyBINXQsRW5lPW5ldyBINXQ7Y2xhc3MgVG5le2NvbnN0cnVjdG9yKHQpe3RoaXMuY2FtZXJhPXQsdGhpcy5iaWFzPTAsdGhpcy5ub3JtYWxCaWFzPTAsdGhpcy5yYWRpdXM9MSx0aGlzLm1hcFNpemU9bmV3IEM1dCg1MTIsNTEyKSx0aGlzLm1hcD1udWxsLHRoaXMubWFwUGFzcz1udWxsLHRoaXMubWF0cml4PW5ldyBnM3QsdGhpcy5hdXRvVXBkYXRlPSEwLHRoaXMubmVlZHNVcGRhdGU9ITEsdGhpcy5fZnJ1c3R1bT1uZXcgbTZ0LHRoaXMuX2ZyYW1lRXh0ZW50cz1uZXcgQzV0KDEsMSksdGhpcy5fdmlld3BvcnRDb3VudD0xLHRoaXMuX3ZpZXdwb3J0cz1bbmV3IFI1dCgwLDAsMSwxKV19Z2V0Vmlld3BvcnRDb3VudCgpe3JldHVybiB0aGlzLl92aWV3cG9ydENvdW50fWdldEZydXN0dW0oKXtyZXR1cm4gdGhpcy5fZnJ1c3R1bX11cGRhdGVNYXRyaWNlcyh0KXtjb25zdCBlPXRoaXMuY2FtZXJhLG49dGhpcy5tYXRyaXg7TW5lLnNldEZyb21NYXRyaXhQb3NpdGlvbih0Lm1hdHJpeFdvcmxkKSxlLnBvc2l0aW9uLmNvcHkoTW5lKSxFbmUuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQudGFyZ2V0Lm1hdHJpeFdvcmxkKSxlLmxvb2tBdChFbmUpLGUudXBkYXRlTWF0cml4V29ybGQoKSxTbmUubXVsdGlwbHlNYXRyaWNlcyhlLnByb2plY3Rpb25NYXRyaXgsZS5tYXRyaXhXb3JsZEludmVyc2UpLHRoaXMuX2ZydXN0dW0uc2V0RnJvbVByb2plY3Rpb25NYXRyaXgoU25lKSxuLnNldCguNSwwLDAsLjUsMCwuNSwwLC41LDAsMCwuNSwuNSwwLDAsMCwxKSxuLm11bHRpcGx5KGUucHJvamVjdGlvbk1hdHJpeCksbi5tdWx0aXBseShlLm1hdHJpeFdvcmxkSW52ZXJzZSl9Z2V0Vmlld3BvcnQodCl7cmV0dXJuIHRoaXMuX3ZpZXdwb3J0c1t0XX1nZXRGcmFtZUV4dGVudHMoKXtyZXR1cm4gdGhpcy5fZnJhbWVFeHRlbnRzfWRpc3Bvc2UoKXt0aGlzLm1hcCYmdGhpcy5tYXAuZGlzcG9zZSgpLHRoaXMubWFwUGFzcyYmdGhpcy5tYXBQYXNzLmRpc3Bvc2UoKX1jb3B5KHQpe3JldHVybiB0aGlzLmNhbWVyYT10LmNhbWVyYS5jbG9uZSgpLHRoaXMuYmlhcz10LmJpYXMsdGhpcy5yYWRpdXM9dC5yYWRpdXMsdGhpcy5tYXBTaXplLmNvcHkodC5tYXBTaXplKSx0aGlzfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfXRvSlNPTigpe2NvbnN0IHQ9e307cmV0dXJuIDAhPT10aGlzLmJpYXMmJih0LmJpYXM9dGhpcy5iaWFzKSwwIT09dGhpcy5ub3JtYWxCaWFzJiYodC5ub3JtYWxCaWFzPXRoaXMubm9ybWFsQmlhcyksMSE9PXRoaXMucmFkaXVzJiYodC5yYWRpdXM9dGhpcy5yYWRpdXMpLDUxMj09PXRoaXMubWFwU2l6ZS54JiY1MTI9PT10aGlzLm1hcFNpemUueXx8KHQubWFwU2l6ZT10aGlzLm1hcFNpemUudG9BcnJheSgpKSx0LmNhbWVyYT10aGlzLmNhbWVyYS50b0pTT04oITEpLm9iamVjdCxkZWxldGUgdC5jYW1lcmEubWF0cml4LHR9fWNsYXNzIENuZSBleHRlbmRzIFRuZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKG5ldyByNnQoNTAsMSwuNSw1MDApKSx0aGlzLmZvY3VzPTF9dXBkYXRlTWF0cmljZXModCl7Y29uc3QgZT10aGlzLmNhbWVyYSxuPTIqbzV0KnQuYW5nbGUqdGhpcy5mb2N1cyxpPXRoaXMubWFwU2l6ZS53aWR0aC90aGlzLm1hcFNpemUuaGVpZ2h0LHI9dC5kaXN0YW5jZXx8ZS5mYXI7bj09PWUuZm92JiZpPT09ZS5hc3BlY3QmJnI9PT1lLmZhcnx8KGUuZm92PW4sZS5hc3BlY3Q9aSxlLmZhcj1yLGUudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpKSxzdXBlci51cGRhdGVNYXRyaWNlcyh0KX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuZm9jdXM9dC5mb2N1cyx0aGlzfX1DbmUucHJvdG90eXBlLmlzU3BvdExpZ2h0U2hhZG93PSEwO2NsYXNzIEFuZSBleHRlbmRzIHhuZXtjb25zdHJ1Y3Rvcih0LGUsbj0wLGk9TWF0aC5QSS8zLHI9MCxvPTEpe3N1cGVyKHQsZSksdGhpcy50eXBlPSJTcG90TGlnaHQiLHRoaXMucG9zaXRpb24uY29weShWM3QuRGVmYXVsdFVwKSx0aGlzLnVwZGF0ZU1hdHJpeCgpLHRoaXMudGFyZ2V0PW5ldyBWM3QsdGhpcy5kaXN0YW5jZT1uLHRoaXMuYW5nbGU9aSx0aGlzLnBlbnVtYnJhPXIsdGhpcy5kZWNheT1vLHRoaXMuc2hhZG93PW5ldyBDbmV9Z2V0IHBvd2VyKCl7cmV0dXJuIHRoaXMuaW50ZW5zaXR5Kk1hdGguUEl9c2V0IHBvd2VyKHQpe3RoaXMuaW50ZW5zaXR5PXQvTWF0aC5QSX1kaXNwb3NlKCl7dGhpcy5zaGFkb3cuZGlzcG9zZSgpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5kaXN0YW5jZT10LmRpc3RhbmNlLHRoaXMuYW5nbGU9dC5hbmdsZSx0aGlzLnBlbnVtYnJhPXQucGVudW1icmEsdGhpcy5kZWNheT10LmRlY2F5LHRoaXMudGFyZ2V0PXQudGFyZ2V0LmNsb25lKCksdGhpcy5zaGFkb3c9dC5zaGFkb3cuY2xvbmUoKSx0aGlzfX1BbmUucHJvdG90eXBlLmlzU3BvdExpZ2h0PSEwO2NvbnN0IGtuZT1uZXcgZzN0LExuZT1uZXcgSDV0LFBuZT1uZXcgSDV0O2NsYXNzIE5uZSBleHRlbmRzIFRuZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKG5ldyByNnQoOTAsMSwuNSw1MDApKSx0aGlzLl9mcmFtZUV4dGVudHM9bmV3IEM1dCg0LDIpLHRoaXMuX3ZpZXdwb3J0Q291bnQ9Nix0aGlzLl92aWV3cG9ydHM9W25ldyBSNXQoMiwxLDEsMSksbmV3IFI1dCgwLDEsMSwxKSxuZXcgUjV0KDMsMSwxLDEpLG5ldyBSNXQoMSwxLDEsMSksbmV3IFI1dCgzLDAsMSwxKSxuZXcgUjV0KDEsMCwxLDEpXSx0aGlzLl9jdWJlRGlyZWN0aW9ucz1bbmV3IEg1dCgxLDAsMCksbmV3IEg1dCgtMSwwLDApLG5ldyBINXQoMCwwLDEpLG5ldyBINXQoMCwwLC0xKSxuZXcgSDV0KDAsMSwwKSxuZXcgSDV0KDAsLTEsMCldLHRoaXMuX2N1YmVVcHM9W25ldyBINXQoMCwxLDApLG5ldyBINXQoMCwxLDApLG5ldyBINXQoMCwxLDApLG5ldyBINXQoMCwxLDApLG5ldyBINXQoMCwwLDEpLG5ldyBINXQoMCwwLC0xKV19dXBkYXRlTWF0cmljZXModCxlPTApe2NvbnN0IG49dGhpcy5jYW1lcmEsaT10aGlzLm1hdHJpeCxyPXQuZGlzdGFuY2V8fG4uZmFyO3IhPT1uLmZhciYmKG4uZmFyPXIsbi51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCkpLExuZS5zZXRGcm9tTWF0cml4UG9zaXRpb24odC5tYXRyaXhXb3JsZCksbi5wb3NpdGlvbi5jb3B5KExuZSksUG5lLmNvcHkobi5wb3NpdGlvbiksUG5lLmFkZCh0aGlzLl9jdWJlRGlyZWN0aW9uc1tlXSksbi51cC5jb3B5KHRoaXMuX2N1YmVVcHNbZV0pLG4ubG9va0F0KFBuZSksbi51cGRhdGVNYXRyaXhXb3JsZCgpLGkubWFrZVRyYW5zbGF0aW9uKC1MbmUueCwtTG5lLnksLUxuZS56KSxrbmUubXVsdGlwbHlNYXRyaWNlcyhuLnByb2plY3Rpb25NYXRyaXgsbi5tYXRyaXhXb3JsZEludmVyc2UpLHRoaXMuX2ZydXN0dW0uc2V0RnJvbVByb2plY3Rpb25NYXRyaXgoa25lKX19Tm5lLnByb3RvdHlwZS5pc1BvaW50TGlnaHRTaGFkb3c9ITA7Y2xhc3MgSW5lIGV4dGVuZHMgeG5le2NvbnN0cnVjdG9yKHQsZSxuPTAsaT0xKXtzdXBlcih0LGUpLHRoaXMudHlwZT0iUG9pbnRMaWdodCIsdGhpcy5kaXN0YW5jZT1uLHRoaXMuZGVjYXk9aSx0aGlzLnNoYWRvdz1uZXcgTm5lfWdldCBwb3dlcigpe3JldHVybiA0KnRoaXMuaW50ZW5zaXR5Kk1hdGguUEl9c2V0IHBvd2VyKHQpe3RoaXMuaW50ZW5zaXR5PXQvKDQqTWF0aC5QSSl9ZGlzcG9zZSgpe3RoaXMuc2hhZG93LmRpc3Bvc2UoKX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuZGlzdGFuY2U9dC5kaXN0YW5jZSx0aGlzLmRlY2F5PXQuZGVjYXksdGhpcy5zaGFkb3c9dC5zaGFkb3cuY2xvbmUoKSx0aGlzfX1JbmUucHJvdG90eXBlLmlzUG9pbnRMaWdodD0hMDtjbGFzcyBSbmUgZXh0ZW5kcyBUbmV7Y29uc3RydWN0b3IoKXtzdXBlcihuZXcgQTZ0KC01LDUsNSwtNSwuNSw1MDApKX19Um5lLnByb3RvdHlwZS5pc0RpcmVjdGlvbmFsTGlnaHRTaGFkb3c9ITA7Y2xhc3MgT25lIGV4dGVuZHMgeG5le2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIodCxlKSx0aGlzLnR5cGU9IkRpcmVjdGlvbmFsTGlnaHQiLHRoaXMucG9zaXRpb24uY29weShWM3QuRGVmYXVsdFVwKSx0aGlzLnVwZGF0ZU1hdHJpeCgpLHRoaXMudGFyZ2V0PW5ldyBWM3QsdGhpcy5zaGFkb3c9bmV3IFJuZX1kaXNwb3NlKCl7dGhpcy5zaGFkb3cuZGlzcG9zZSgpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy50YXJnZXQ9dC50YXJnZXQuY2xvbmUoKSx0aGlzLnNoYWRvdz10LnNoYWRvdy5jbG9uZSgpLHRoaXN9fU9uZS5wcm90b3R5cGUuaXNEaXJlY3Rpb25hbExpZ2h0PSEwO2NsYXNzIHpuZSBleHRlbmRzIHhuZXtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy50eXBlPSJBbWJpZW50TGlnaHQifX16bmUucHJvdG90eXBlLmlzQW1iaWVudExpZ2h0PSEwO2NsYXNzIERuZSBleHRlbmRzIHhuZXtjb25zdHJ1Y3Rvcih0LGUsbj0xMCxpPTEwKXtzdXBlcih0LGUpLHRoaXMudHlwZT0iUmVjdEFyZWFMaWdodCIsdGhpcy53aWR0aD1uLHRoaXMuaGVpZ2h0PWl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLndpZHRoPXQud2lkdGgsdGhpcy5oZWlnaHQ9dC5oZWlnaHQsdGhpc310b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7cmV0dXJuIGUub2JqZWN0LndpZHRoPXRoaXMud2lkdGgsZS5vYmplY3QuaGVpZ2h0PXRoaXMuaGVpZ2h0LGV9fURuZS5wcm90b3R5cGUuaXNSZWN0QXJlYUxpZ2h0PSEwO2NsYXNzIEJuZXtjb25zdHJ1Y3Rvcigpe3RoaXMuY29lZmZpY2llbnRzPVtdO2ZvcihsZXQgdD0wO3Q8OTt0KyspdGhpcy5jb2VmZmljaWVudHMucHVzaChuZXcgSDV0KX1zZXQodCl7Zm9yKGxldCBlPTA7ZTw5O2UrKyl0aGlzLmNvZWZmaWNpZW50c1tlXS5jb3B5KHRbZV0pO3JldHVybiB0aGlzfXplcm8oKXtmb3IobGV0IHQ9MDt0PDk7dCsrKXRoaXMuY29lZmZpY2llbnRzW3RdLnNldCgwLDAsMCk7cmV0dXJuIHRoaXN9Z2V0QXQodCxlKXtjb25zdCBuPXQueCxpPXQueSxyPXQueixvPXRoaXMuY29lZmZpY2llbnRzO3JldHVybiBlLmNvcHkob1swXSkubXVsdGlwbHlTY2FsYXIoLjI4MjA5NSksZS5hZGRTY2FsZWRWZWN0b3Iob1sxXSwuNDg4NjAzKmkpLGUuYWRkU2NhbGVkVmVjdG9yKG9bMl0sLjQ4ODYwMypyKSxlLmFkZFNjYWxlZFZlY3RvcihvWzNdLC40ODg2MDMqbiksZS5hZGRTY2FsZWRWZWN0b3Iob1s0XSxuKmkqMS4wOTI1NDgpLGUuYWRkU2NhbGVkVmVjdG9yKG9bNV0saSpyKjEuMDkyNTQ4KSxlLmFkZFNjYWxlZFZlY3RvcihvWzZdLC4zMTUzOTIqKDMqcipyLTEpKSxlLmFkZFNjYWxlZFZlY3RvcihvWzddLG4qcioxLjA5MjU0OCksZS5hZGRTY2FsZWRWZWN0b3Iob1s4XSwuNTQ2Mjc0KihuKm4taSppKSksZX1nZXRJcnJhZGlhbmNlQXQodCxlKXtjb25zdCBuPXQueCxpPXQueSxyPXQueixvPXRoaXMuY29lZmZpY2llbnRzO3JldHVybiBlLmNvcHkob1swXSkubXVsdGlwbHlTY2FsYXIoLjg4NjIyNyksZS5hZGRTY2FsZWRWZWN0b3Iob1sxXSwxLjAyMzMyOCppKSxlLmFkZFNjYWxlZFZlY3RvcihvWzJdLDEuMDIzMzI4KnIpLGUuYWRkU2NhbGVkVmVjdG9yKG9bM10sMS4wMjMzMjgqbiksZS5hZGRTY2FsZWRWZWN0b3Iob1s0XSwuODU4MDg2Km4qaSksZS5hZGRTY2FsZWRWZWN0b3Iob1s1XSwuODU4MDg2KmkqciksZS5hZGRTY2FsZWRWZWN0b3Iob1s2XSwuNzQzMTI1KnIqci0uMjQ3NzA4KSxlLmFkZFNjYWxlZFZlY3RvcihvWzddLC44NTgwODYqbipyKSxlLmFkZFNjYWxlZFZlY3RvcihvWzhdLC40MjkwNDMqKG4qbi1pKmkpKSxlfWFkZCh0KXtmb3IobGV0IGU9MDtlPDk7ZSsrKXRoaXMuY29lZmZpY2llbnRzW2VdLmFkZCh0LmNvZWZmaWNpZW50c1tlXSk7cmV0dXJuIHRoaXN9YWRkU2NhbGVkU0godCxlKXtmb3IobGV0IG49MDtuPDk7bisrKXRoaXMuY29lZmZpY2llbnRzW25dLmFkZFNjYWxlZFZlY3Rvcih0LmNvZWZmaWNpZW50c1tuXSxlKTtyZXR1cm4gdGhpc31zY2FsZSh0KXtmb3IobGV0IGU9MDtlPDk7ZSsrKXRoaXMuY29lZmZpY2llbnRzW2VdLm11bHRpcGx5U2NhbGFyKHQpO3JldHVybiB0aGlzfWxlcnAodCxlKXtmb3IobGV0IG49MDtuPDk7bisrKXRoaXMuY29lZmZpY2llbnRzW25dLmxlcnAodC5jb2VmZmljaWVudHNbbl0sZSk7cmV0dXJuIHRoaXN9ZXF1YWxzKHQpe2ZvcihsZXQgZT0wO2U8OTtlKyspaWYoIXRoaXMuY29lZmZpY2llbnRzW2VdLmVxdWFscyh0LmNvZWZmaWNpZW50c1tlXSkpcmV0dXJuITE7cmV0dXJuITB9Y29weSh0KXtyZXR1cm4gdGhpcy5zZXQodC5jb2VmZmljaWVudHMpfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfWZyb21BcnJheSh0LGU9MCl7Y29uc3Qgbj10aGlzLmNvZWZmaWNpZW50cztmb3IobGV0IGk9MDtpPDk7aSsrKW5baV0uZnJvbUFycmF5KHQsZSszKmkpO3JldHVybiB0aGlzfXRvQXJyYXkodD1bXSxlPTApe2NvbnN0IG49dGhpcy5jb2VmZmljaWVudHM7Zm9yKGxldCBpPTA7aTw5O2krKyluW2ldLnRvQXJyYXkodCxlKzMqaSk7cmV0dXJuIHR9c3RhdGljIGdldEJhc2lzQXQodCxlKXtjb25zdCBuPXQueCxpPXQueSxyPXQuejtlWzBdPS4yODIwOTUsZVsxXT0uNDg4NjAzKmksZVsyXT0uNDg4NjAzKnIsZVszXT0uNDg4NjAzKm4sZVs0XT0xLjA5MjU0OCpuKmksZVs1XT0xLjA5MjU0OCppKnIsZVs2XT0uMzE1MzkyKigzKnIqci0xKSxlWzddPTEuMDkyNTQ4Km4qcixlWzhdPS41NDYyNzQqKG4qbi1pKmkpfX1CbmUucHJvdG90eXBlLmlzU3BoZXJpY2FsSGFybW9uaWNzMz0hMDtjbGFzcyBIbmUgZXh0ZW5kcyB4bmV7Y29uc3RydWN0b3IodD1uZXcgQm5lLGU9MSl7c3VwZXIodm9pZCAwLGUpLHRoaXMuc2g9dH1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuc2guY29weSh0LnNoKSx0aGlzfWZyb21KU09OKHQpe3JldHVybiB0aGlzLmludGVuc2l0eT10LmludGVuc2l0eSx0aGlzLnNoLmZyb21BcnJheSh0LnNoKSx0aGlzfXRvSlNPTih0KXtjb25zdCBlPXN1cGVyLnRvSlNPTih0KTtyZXR1cm4gZS5vYmplY3Quc2g9dGhpcy5zaC50b0FycmF5KCksZX19SG5lLnByb3RvdHlwZS5pc0xpZ2h0UHJvYmU9ITA7Y2xhc3MgRm5lIGV4dGVuZHMgaG5le2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMudGV4dHVyZXM9e319bG9hZCh0LGUsbixpKXtjb25zdCByPXRoaXMsbz1uZXcgcG5lKHIubWFuYWdlcik7by5zZXRQYXRoKHIucGF0aCksby5zZXRSZXF1ZXN0SGVhZGVyKHIucmVxdWVzdEhlYWRlciksby5zZXRXaXRoQ3JlZGVudGlhbHMoci53aXRoQ3JlZGVudGlhbHMpLG8ubG9hZCh0LChmdW5jdGlvbihuKXt0cnl7ZShyLnBhcnNlKEpTT04ucGFyc2UobikpKX1jYXRjaChlKXtpP2koZSk6Y29uc29sZS5lcnJvcihlKSxyLm1hbmFnZXIuaXRlbUVycm9yKHQpfX0pLG4saSl9cGFyc2UodCl7Y29uc3QgZT10aGlzLnRleHR1cmVzO2Z1bmN0aW9uIG4odCl7cmV0dXJuIHZvaWQgMD09PWVbdF0mJmNvbnNvbGUud2FybigiVEhSRUUuTWF0ZXJpYWxMb2FkZXI6IFVuZGVmaW5lZCB0ZXh0dXJlIix0KSxlW3RdfWNvbnN0IGk9bmV3IHFlZVt0LnR5cGVdO2lmKHZvaWQgMCE9PXQudXVpZCYmKGkudXVpZD10LnV1aWQpLHZvaWQgMCE9PXQubmFtZSYmKGkubmFtZT10Lm5hbWUpLHZvaWQgMCE9PXQuY29sb3ImJnZvaWQgMCE9PWkuY29sb3ImJmkuY29sb3Iuc2V0SGV4KHQuY29sb3IpLHZvaWQgMCE9PXQucm91Z2huZXNzJiYoaS5yb3VnaG5lc3M9dC5yb3VnaG5lc3MpLHZvaWQgMCE9PXQubWV0YWxuZXNzJiYoaS5tZXRhbG5lc3M9dC5tZXRhbG5lc3MpLHZvaWQgMCE9PXQuc2hlZW4mJihpLnNoZWVuPShuZXcgczR0KS5zZXRIZXgodC5zaGVlbikpLHZvaWQgMCE9PXQuZW1pc3NpdmUmJnZvaWQgMCE9PWkuZW1pc3NpdmUmJmkuZW1pc3NpdmUuc2V0SGV4KHQuZW1pc3NpdmUpLHZvaWQgMCE9PXQuc3BlY3VsYXImJnZvaWQgMCE9PWkuc3BlY3VsYXImJmkuc3BlY3VsYXIuc2V0SGV4KHQuc3BlY3VsYXIpLHZvaWQgMCE9PXQuc3BlY3VsYXJJbnRlbnNpdHkmJihpLnNwZWN1bGFySW50ZW5zaXR5PXQuc3BlY3VsYXJJbnRlbnNpdHkpLHZvaWQgMCE9PXQuc3BlY3VsYXJUaW50JiZ2b2lkIDAhPT1pLnNwZWN1bGFyVGludCYmaS5zcGVjdWxhclRpbnQuc2V0SGV4KHQuc3BlY3VsYXJUaW50KSx2b2lkIDAhPT10LnNoaW5pbmVzcyYmKGkuc2hpbmluZXNzPXQuc2hpbmluZXNzKSx2b2lkIDAhPT10LmNsZWFyY29hdCYmKGkuY2xlYXJjb2F0PXQuY2xlYXJjb2F0KSx2b2lkIDAhPT10LmNsZWFyY29hdFJvdWdobmVzcyYmKGkuY2xlYXJjb2F0Um91Z2huZXNzPXQuY2xlYXJjb2F0Um91Z2huZXNzKSx2b2lkIDAhPT10LnRyYW5zbWlzc2lvbiYmKGkudHJhbnNtaXNzaW9uPXQudHJhbnNtaXNzaW9uKSx2b2lkIDAhPT10LnRoaWNrbmVzcyYmKGkudGhpY2tuZXNzPXQudGhpY2tuZXNzKSx2b2lkIDAhPT10LmF0dGVudWF0aW9uRGlzdGFuY2UmJihpLmF0dGVudWF0aW9uRGlzdGFuY2U9dC5hdHRlbnVhdGlvbkRpc3RhbmNlKSx2b2lkIDAhPT10LmF0dGVudWF0aW9uVGludCYmdm9pZCAwIT09aS5hdHRlbnVhdGlvblRpbnQmJmkuYXR0ZW51YXRpb25UaW50LnNldEhleCh0LmF0dGVudWF0aW9uVGludCksdm9pZCAwIT09dC5mb2cmJihpLmZvZz10LmZvZyksdm9pZCAwIT09dC5mbGF0U2hhZGluZyYmKGkuZmxhdFNoYWRpbmc9dC5mbGF0U2hhZGluZyksdm9pZCAwIT09dC5ibGVuZGluZyYmKGkuYmxlbmRpbmc9dC5ibGVuZGluZyksdm9pZCAwIT09dC5jb21iaW5lJiYoaS5jb21iaW5lPXQuY29tYmluZSksdm9pZCAwIT09dC5zaWRlJiYoaS5zaWRlPXQuc2lkZSksdm9pZCAwIT09dC5zaGFkb3dTaWRlJiYoaS5zaGFkb3dTaWRlPXQuc2hhZG93U2lkZSksdm9pZCAwIT09dC5vcGFjaXR5JiYoaS5vcGFjaXR5PXQub3BhY2l0eSksdm9pZCAwIT09dC50cmFuc3BhcmVudCYmKGkudHJhbnNwYXJlbnQ9dC50cmFuc3BhcmVudCksdm9pZCAwIT09dC5hbHBoYVRlc3QmJihpLmFscGhhVGVzdD10LmFscGhhVGVzdCksdm9pZCAwIT09dC5kZXB0aFRlc3QmJihpLmRlcHRoVGVzdD10LmRlcHRoVGVzdCksdm9pZCAwIT09dC5kZXB0aFdyaXRlJiYoaS5kZXB0aFdyaXRlPXQuZGVwdGhXcml0ZSksdm9pZCAwIT09dC5jb2xvcldyaXRlJiYoaS5jb2xvcldyaXRlPXQuY29sb3JXcml0ZSksdm9pZCAwIT09dC5zdGVuY2lsV3JpdGUmJihpLnN0ZW5jaWxXcml0ZT10LnN0ZW5jaWxXcml0ZSksdm9pZCAwIT09dC5zdGVuY2lsV3JpdGVNYXNrJiYoaS5zdGVuY2lsV3JpdGVNYXNrPXQuc3RlbmNpbFdyaXRlTWFzayksdm9pZCAwIT09dC5zdGVuY2lsRnVuYyYmKGkuc3RlbmNpbEZ1bmM9dC5zdGVuY2lsRnVuYyksdm9pZCAwIT09dC5zdGVuY2lsUmVmJiYoaS5zdGVuY2lsUmVmPXQuc3RlbmNpbFJlZiksdm9pZCAwIT09dC5zdGVuY2lsRnVuY01hc2smJihpLnN0ZW5jaWxGdW5jTWFzaz10LnN0ZW5jaWxGdW5jTWFzayksdm9pZCAwIT09dC5zdGVuY2lsRmFpbCYmKGkuc3RlbmNpbEZhaWw9dC5zdGVuY2lsRmFpbCksdm9pZCAwIT09dC5zdGVuY2lsWkZhaWwmJihpLnN0ZW5jaWxaRmFpbD10LnN0ZW5jaWxaRmFpbCksdm9pZCAwIT09dC5zdGVuY2lsWlBhc3MmJihpLnN0ZW5jaWxaUGFzcz10LnN0ZW5jaWxaUGFzcyksdm9pZCAwIT09dC53aXJlZnJhbWUmJihpLndpcmVmcmFtZT10LndpcmVmcmFtZSksdm9pZCAwIT09dC53aXJlZnJhbWVMaW5ld2lkdGgmJihpLndpcmVmcmFtZUxpbmV3aWR0aD10LndpcmVmcmFtZUxpbmV3aWR0aCksdm9pZCAwIT09dC53aXJlZnJhbWVMaW5lY2FwJiYoaS53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCksdm9pZCAwIT09dC53aXJlZnJhbWVMaW5lam9pbiYmKGkud2lyZWZyYW1lTGluZWpvaW49dC53aXJlZnJhbWVMaW5lam9pbiksdm9pZCAwIT09dC5yb3RhdGlvbiYmKGkucm90YXRpb249dC5yb3RhdGlvbiksMSE9PXQubGluZXdpZHRoJiYoaS5saW5ld2lkdGg9dC5saW5ld2lkdGgpLHZvaWQgMCE9PXQuZGFzaFNpemUmJihpLmRhc2hTaXplPXQuZGFzaFNpemUpLHZvaWQgMCE9PXQuZ2FwU2l6ZSYmKGkuZ2FwU2l6ZT10LmdhcFNpemUpLHZvaWQgMCE9PXQuc2NhbGUmJihpLnNjYWxlPXQuc2NhbGUpLHZvaWQgMCE9PXQucG9seWdvbk9mZnNldCYmKGkucG9seWdvbk9mZnNldD10LnBvbHlnb25PZmZzZXQpLHZvaWQgMCE9PXQucG9seWdvbk9mZnNldEZhY3RvciYmKGkucG9seWdvbk9mZnNldEZhY3Rvcj10LnBvbHlnb25PZmZzZXRGYWN0b3IpLHZvaWQgMCE9PXQucG9seWdvbk9mZnNldFVuaXRzJiYoaS5wb2x5Z29uT2Zmc2V0VW5pdHM9dC5wb2x5Z29uT2Zmc2V0VW5pdHMpLHZvaWQgMCE9PXQuZGl0aGVyaW5nJiYoaS5kaXRoZXJpbmc9dC5kaXRoZXJpbmcpLHZvaWQgMCE9PXQuYWxwaGFUb0NvdmVyYWdlJiYoaS5hbHBoYVRvQ292ZXJhZ2U9dC5hbHBoYVRvQ292ZXJhZ2UpLHZvaWQgMCE9PXQucHJlbXVsdGlwbGllZEFscGhhJiYoaS5wcmVtdWx0aXBsaWVkQWxwaGE9dC5wcmVtdWx0aXBsaWVkQWxwaGEpLHZvaWQgMCE9PXQudmlzaWJsZSYmKGkudmlzaWJsZT10LnZpc2libGUpLHZvaWQgMCE9PXQudG9uZU1hcHBlZCYmKGkudG9uZU1hcHBlZD10LnRvbmVNYXBwZWQpLHZvaWQgMCE9PXQudXNlckRhdGEmJihpLnVzZXJEYXRhPXQudXNlckRhdGEpLHZvaWQgMCE9PXQudmVydGV4Q29sb3JzJiYoaS52ZXJ0ZXhDb2xvcnM9Im51bWJlciI9PXR5cGVvZiB0LnZlcnRleENvbG9ycz90LnZlcnRleENvbG9ycz4wOnQudmVydGV4Q29sb3JzKSx2b2lkIDAhPT10LnVuaWZvcm1zKWZvcihjb25zdCBlIGluIHQudW5pZm9ybXMpe2NvbnN0IHI9dC51bmlmb3Jtc1tlXTtzd2l0Y2goaS51bmlmb3Jtc1tlXT17fSxyLnR5cGUpe2Nhc2UidCI6aS51bmlmb3Jtc1tlXS52YWx1ZT1uKHIudmFsdWUpO2JyZWFrO2Nhc2UiYyI6aS51bmlmb3Jtc1tlXS52YWx1ZT0obmV3IHM0dCkuc2V0SGV4KHIudmFsdWUpO2JyZWFrO2Nhc2UidjIiOmkudW5pZm9ybXNbZV0udmFsdWU9KG5ldyBDNXQpLmZyb21BcnJheShyLnZhbHVlKTticmVhaztjYXNlInYzIjppLnVuaWZvcm1zW2VdLnZhbHVlPShuZXcgSDV0KS5mcm9tQXJyYXkoci52YWx1ZSk7YnJlYWs7Y2FzZSJ2NCI6aS51bmlmb3Jtc1tlXS52YWx1ZT0obmV3IFI1dCkuZnJvbUFycmF5KHIudmFsdWUpO2JyZWFrO2Nhc2UibTMiOmkudW5pZm9ybXNbZV0udmFsdWU9KG5ldyBBNXQpLmZyb21BcnJheShyLnZhbHVlKTticmVhaztjYXNlIm00IjppLnVuaWZvcm1zW2VdLnZhbHVlPShuZXcgZzN0KS5mcm9tQXJyYXkoci52YWx1ZSk7YnJlYWs7ZGVmYXVsdDppLnVuaWZvcm1zW2VdLnZhbHVlPXIudmFsdWV9fWlmKHZvaWQgMCE9PXQuZGVmaW5lcyYmKGkuZGVmaW5lcz10LmRlZmluZXMpLHZvaWQgMCE9PXQudmVydGV4U2hhZGVyJiYoaS52ZXJ0ZXhTaGFkZXI9dC52ZXJ0ZXhTaGFkZXIpLHZvaWQgMCE9PXQuZnJhZ21lbnRTaGFkZXImJihpLmZyYWdtZW50U2hhZGVyPXQuZnJhZ21lbnRTaGFkZXIpLHZvaWQgMCE9PXQuZXh0ZW5zaW9ucylmb3IoY29uc3QgZSBpbiB0LmV4dGVuc2lvbnMpaS5leHRlbnNpb25zW2VdPXQuZXh0ZW5zaW9uc1tlXTtpZih2b2lkIDAhPT10LnNoYWRpbmcmJihpLmZsYXRTaGFkaW5nPTE9PT10LnNoYWRpbmcpLHZvaWQgMCE9PXQuc2l6ZSYmKGkuc2l6ZT10LnNpemUpLHZvaWQgMCE9PXQuc2l6ZUF0dGVudWF0aW9uJiYoaS5zaXplQXR0ZW51YXRpb249dC5zaXplQXR0ZW51YXRpb24pLHZvaWQgMCE9PXQubWFwJiYoaS5tYXA9bih0Lm1hcCkpLHZvaWQgMCE9PXQubWF0Y2FwJiYoaS5tYXRjYXA9bih0Lm1hdGNhcCkpLHZvaWQgMCE9PXQuYWxwaGFNYXAmJihpLmFscGhhTWFwPW4odC5hbHBoYU1hcCkpLHZvaWQgMCE9PXQuYnVtcE1hcCYmKGkuYnVtcE1hcD1uKHQuYnVtcE1hcCkpLHZvaWQgMCE9PXQuYnVtcFNjYWxlJiYoaS5idW1wU2NhbGU9dC5idW1wU2NhbGUpLHZvaWQgMCE9PXQubm9ybWFsTWFwJiYoaS5ub3JtYWxNYXA9bih0Lm5vcm1hbE1hcCkpLHZvaWQgMCE9PXQubm9ybWFsTWFwVHlwZSYmKGkubm9ybWFsTWFwVHlwZT10Lm5vcm1hbE1hcFR5cGUpLHZvaWQgMCE9PXQubm9ybWFsU2NhbGUpe2xldCBlPXQubm9ybWFsU2NhbGU7ITE9PT1BcnJheS5pc0FycmF5KGUpJiYoZT1bZSxlXSksaS5ub3JtYWxTY2FsZT0obmV3IEM1dCkuZnJvbUFycmF5KGUpfXJldHVybiB2b2lkIDAhPT10LmRpc3BsYWNlbWVudE1hcCYmKGkuZGlzcGxhY2VtZW50TWFwPW4odC5kaXNwbGFjZW1lbnRNYXApKSx2b2lkIDAhPT10LmRpc3BsYWNlbWVudFNjYWxlJiYoaS5kaXNwbGFjZW1lbnRTY2FsZT10LmRpc3BsYWNlbWVudFNjYWxlKSx2b2lkIDAhPT10LmRpc3BsYWNlbWVudEJpYXMmJihpLmRpc3BsYWNlbWVudEJpYXM9dC5kaXNwbGFjZW1lbnRCaWFzKSx2b2lkIDAhPT10LnJvdWdobmVzc01hcCYmKGkucm91Z2huZXNzTWFwPW4odC5yb3VnaG5lc3NNYXApKSx2b2lkIDAhPT10Lm1ldGFsbmVzc01hcCYmKGkubWV0YWxuZXNzTWFwPW4odC5tZXRhbG5lc3NNYXApKSx2b2lkIDAhPT10LmVtaXNzaXZlTWFwJiYoaS5lbWlzc2l2ZU1hcD1uKHQuZW1pc3NpdmVNYXApKSx2b2lkIDAhPT10LmVtaXNzaXZlSW50ZW5zaXR5JiYoaS5lbWlzc2l2ZUludGVuc2l0eT10LmVtaXNzaXZlSW50ZW5zaXR5KSx2b2lkIDAhPT10LnNwZWN1bGFyTWFwJiYoaS5zcGVjdWxhck1hcD1uKHQuc3BlY3VsYXJNYXApKSx2b2lkIDAhPT10LnNwZWN1bGFySW50ZW5zaXR5TWFwJiYoaS5zcGVjdWxhckludGVuc2l0eU1hcD1uKHQuc3BlY3VsYXJJbnRlbnNpdHlNYXApKSx2b2lkIDAhPT10LnNwZWN1bGFyVGludE1hcCYmKGkuc3BlY3VsYXJUaW50TWFwPW4odC5zcGVjdWxhclRpbnRNYXApKSx2b2lkIDAhPT10LmVudk1hcCYmKGkuZW52TWFwPW4odC5lbnZNYXApKSx2b2lkIDAhPT10LmVudk1hcEludGVuc2l0eSYmKGkuZW52TWFwSW50ZW5zaXR5PXQuZW52TWFwSW50ZW5zaXR5KSx2b2lkIDAhPT10LnJlZmxlY3Rpdml0eSYmKGkucmVmbGVjdGl2aXR5PXQucmVmbGVjdGl2aXR5KSx2b2lkIDAhPT10LnJlZnJhY3Rpb25SYXRpbyYmKGkucmVmcmFjdGlvblJhdGlvPXQucmVmcmFjdGlvblJhdGlvKSx2b2lkIDAhPT10LmxpZ2h0TWFwJiYoaS5saWdodE1hcD1uKHQubGlnaHRNYXApKSx2b2lkIDAhPT10LmxpZ2h0TWFwSW50ZW5zaXR5JiYoaS5saWdodE1hcEludGVuc2l0eT10LmxpZ2h0TWFwSW50ZW5zaXR5KSx2b2lkIDAhPT10LmFvTWFwJiYoaS5hb01hcD1uKHQuYW9NYXApKSx2b2lkIDAhPT10LmFvTWFwSW50ZW5zaXR5JiYoaS5hb01hcEludGVuc2l0eT10LmFvTWFwSW50ZW5zaXR5KSx2b2lkIDAhPT10LmdyYWRpZW50TWFwJiYoaS5ncmFkaWVudE1hcD1uKHQuZ3JhZGllbnRNYXApKSx2b2lkIDAhPT10LmNsZWFyY29hdE1hcCYmKGkuY2xlYXJjb2F0TWFwPW4odC5jbGVhcmNvYXRNYXApKSx2b2lkIDAhPT10LmNsZWFyY29hdFJvdWdobmVzc01hcCYmKGkuY2xlYXJjb2F0Um91Z2huZXNzTWFwPW4odC5jbGVhcmNvYXRSb3VnaG5lc3NNYXApKSx2b2lkIDAhPT10LmNsZWFyY29hdE5vcm1hbE1hcCYmKGkuY2xlYXJjb2F0Tm9ybWFsTWFwPW4odC5jbGVhcmNvYXROb3JtYWxNYXApKSx2b2lkIDAhPT10LmNsZWFyY29hdE5vcm1hbFNjYWxlJiYoaS5jbGVhcmNvYXROb3JtYWxTY2FsZT0obmV3IEM1dCkuZnJvbUFycmF5KHQuY2xlYXJjb2F0Tm9ybWFsU2NhbGUpKSx2b2lkIDAhPT10LnRyYW5zbWlzc2lvbk1hcCYmKGkudHJhbnNtaXNzaW9uTWFwPW4odC50cmFuc21pc3Npb25NYXApKSx2b2lkIDAhPT10LnRoaWNrbmVzc01hcCYmKGkudGhpY2tuZXNzTWFwPW4odC50aGlja25lc3NNYXApKSxpfXNldFRleHR1cmVzKHQpe3JldHVybiB0aGlzLnRleHR1cmVzPXQsdGhpc319Y2xhc3MgVm5le3N0YXRpYyBkZWNvZGVUZXh0KHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgVGV4dERlY29kZXIpcmV0dXJuKG5ldyBUZXh0RGVjb2RlcikuZGVjb2RlKHQpO2xldCBlPSIiO2ZvcihsZXQgbj0wLGk9dC5sZW5ndGg7bjxpO24rKyllKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHRbbl0pO3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShlKSl9Y2F0Y2godCl7cmV0dXJuIGV9fXN0YXRpYyBleHRyYWN0VXJsQmFzZSh0KXtjb25zdCBlPXQubGFzdEluZGV4T2YoIi8iKTtyZXR1cm4tMT09PWU/Ii4vIjp0LnN1YnN0cigwLGUrMSl9fWNsYXNzIFVuZSBleHRlbmRzIE40dHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50eXBlPSJJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSIsdGhpcy5pbnN0YW5jZUNvdW50PTEvMH1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuaW5zdGFuY2VDb3VudD10Lmluc3RhbmNlQ291bnQsdGhpc31jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX10b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTih0aGlzKTtyZXR1cm4gdC5pbnN0YW5jZUNvdW50PXRoaXMuaW5zdGFuY2VDb3VudCx0LmlzSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnk9ITAsdH19VW5lLnByb3RvdHlwZS5pc0luc3RhbmNlZEJ1ZmZlckdlb21ldHJ5PSEwO2NsYXNzIGpuZSBleHRlbmRzIGg0dHtjb25zdHJ1Y3Rvcih0LGUsbixpPTEpeyJudW1iZXIiPT10eXBlb2YgbiYmKGk9bixuPSExLGNvbnNvbGUuZXJyb3IoIlRIUkVFLkluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZTogVGhlIGNvbnN0cnVjdG9yIG5vdyBleHBlY3RzIG5vcm1hbGl6ZWQgYXMgdGhlIHRoaXJkIGFyZ3VtZW50LiIpKSxzdXBlcih0LGUsbiksdGhpcy5tZXNoUGVyQXR0cmlidXRlPWl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLm1lc2hQZXJBdHRyaWJ1dGU9dC5tZXNoUGVyQXR0cmlidXRlLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC5tZXNoUGVyQXR0cmlidXRlPXRoaXMubWVzaFBlckF0dHJpYnV0ZSx0LmlzSW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlPSEwLHR9fWpuZS5wcm90b3R5cGUuaXNJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGU9ITA7Y2xhc3MgR25lIGV4dGVuZHMgaG5le2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfWxvYWQodCxlLG4saSl7Y29uc3Qgcj10aGlzLG89bmV3IHBuZShyLm1hbmFnZXIpO28uc2V0UGF0aChyLnBhdGgpLG8uc2V0UmVxdWVzdEhlYWRlcihyLnJlcXVlc3RIZWFkZXIpLG8uc2V0V2l0aENyZWRlbnRpYWxzKHIud2l0aENyZWRlbnRpYWxzKSxvLmxvYWQodCwoZnVuY3Rpb24obil7dHJ5e2Uoci5wYXJzZShKU09OLnBhcnNlKG4pKSl9Y2F0Y2goZSl7aT9pKGUpOmNvbnNvbGUuZXJyb3IoZSksci5tYW5hZ2VyLml0ZW1FcnJvcih0KX19KSxuLGkpfXBhcnNlKHQpe2NvbnN0IGU9e30sbj17fTtmdW5jdGlvbiBpKHQsaSl7aWYodm9pZCAwIT09ZVtpXSlyZXR1cm4gZVtpXTtjb25zdCByPXQuaW50ZXJsZWF2ZWRCdWZmZXJzW2ldLG89KGZ1bmN0aW9uIGEodCxlKXtpZih2b2lkIDAhPT1uW2VdKXJldHVybiBuW2VdO2NvbnN0IGk9bmV3IFVpbnQzMkFycmF5KHQuYXJyYXlCdWZmZXJzW2VdKS5idWZmZXI7cmV0dXJuIG5bZV09aSxpfSkodCxyLmJ1ZmZlcikscz1NNHQoci50eXBlLG8pLGw9bmV3IHU3dChzLHIuc3RyaWRlKTtyZXR1cm4gbC51dWlkPXIudXVpZCxlW2ldPWwsbH1jb25zdCByPXQuaXNJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeT9uZXcgVW5lOm5ldyBONHQsbz10LmRhdGEuaW5kZXg7aWYodm9pZCAwIT09byl7Y29uc3QgdD1NNHQoby50eXBlLG8uYXJyYXkpO3Iuc2V0SW5kZXgobmV3IGg0dCh0LDEpKX1jb25zdCBhPXQuZGF0YS5hdHRyaWJ1dGVzO2Zvcihjb25zdCBlIGluIGEpe2NvbnN0IG49YVtlXTtsZXQgbztpZihuLmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUpe2NvbnN0IGU9aSh0LmRhdGEsbi5kYXRhKTtvPW5ldyBkN3QoZSxuLml0ZW1TaXplLG4ub2Zmc2V0LG4ubm9ybWFsaXplZCl9ZWxzZXtjb25zdCB0PU00dChuLnR5cGUsbi5hcnJheSk7bz1uZXcobi5pc0luc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT9qbmU6aDR0KSh0LG4uaXRlbVNpemUsbi5ub3JtYWxpemVkKX12b2lkIDAhPT1uLm5hbWUmJihvLm5hbWU9bi5uYW1lKSx2b2lkIDAhPT1uLnVzYWdlJiZvLnNldFVzYWdlKG4udXNhZ2UpLHZvaWQgMCE9PW4udXBkYXRlUmFuZ2UmJihvLnVwZGF0ZVJhbmdlLm9mZnNldD1uLnVwZGF0ZVJhbmdlLm9mZnNldCxvLnVwZGF0ZVJhbmdlLmNvdW50PW4udXBkYXRlUmFuZ2UuY291bnQpLHIuc2V0QXR0cmlidXRlKGUsbyl9Y29uc3Qgcz10LmRhdGEubW9ycGhBdHRyaWJ1dGVzO2lmKHMpZm9yKGNvbnN0IGUgaW4gcyl7Y29uc3Qgbj1zW2VdLG89W107Zm9yKGxldCBlPTAscj1uLmxlbmd0aDtlPHI7ZSsrKXtjb25zdCByPW5bZV07bGV0IGE7aWYoci5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlKXtjb25zdCBlPWkodC5kYXRhLHIuZGF0YSk7YT1uZXcgZDd0KGUsci5pdGVtU2l6ZSxyLm9mZnNldCxyLm5vcm1hbGl6ZWQpfWVsc2V7Y29uc3QgdD1NNHQoci50eXBlLHIuYXJyYXkpO2E9bmV3IGg0dCh0LHIuaXRlbVNpemUsci5ub3JtYWxpemVkKX12b2lkIDAhPT1yLm5hbWUmJihhLm5hbWU9ci5uYW1lKSxvLnB1c2goYSl9ci5tb3JwaEF0dHJpYnV0ZXNbZV09b310LmRhdGEubW9ycGhUYXJnZXRzUmVsYXRpdmUmJihyLm1vcnBoVGFyZ2V0c1JlbGF0aXZlPSEwKTtjb25zdCBsPXQuZGF0YS5ncm91cHN8fHQuZGF0YS5kcmF3Y2FsbHN8fHQuZGF0YS5vZmZzZXRzO2lmKHZvaWQgMCE9PWwpZm9yKGxldCB0PTAsZT1sLmxlbmd0aDt0IT09ZTsrK3Qpe2NvbnN0IGU9bFt0XTtyLmFkZEdyb3VwKGUuc3RhcnQsZS5jb3VudCxlLm1hdGVyaWFsSW5kZXgpfWNvbnN0IGM9dC5kYXRhLmJvdW5kaW5nU3BoZXJlO2lmKHZvaWQgMCE9PWMpe2NvbnN0IHQ9bmV3IEg1dDt2b2lkIDAhPT1jLmNlbnRlciYmdC5mcm9tQXJyYXkoYy5jZW50ZXIpLHIuYm91bmRpbmdTcGhlcmU9bmV3IHMzdCh0LGMucmFkaXVzKX1yZXR1cm4gdC5uYW1lJiYoci5uYW1lPXQubmFtZSksdC51c2VyRGF0YSYmKHIudXNlckRhdGE9dC51c2VyRGF0YSkscn19Y29uc3QgV25lPXtVVk1hcHBpbmc6dDJ0LEN1YmVSZWZsZWN0aW9uTWFwcGluZzplMnQsQ3ViZVJlZnJhY3Rpb25NYXBwaW5nOm4ydCxFcXVpcmVjdGFuZ3VsYXJSZWZsZWN0aW9uTWFwcGluZzppMnQsRXF1aXJlY3Rhbmd1bGFyUmVmcmFjdGlvbk1hcHBpbmc6cjJ0LEN1YmVVVlJlZmxlY3Rpb25NYXBwaW5nOm8ydCxDdWJlVVZSZWZyYWN0aW9uTWFwcGluZzphMnR9LHFuZT17UmVwZWF0V3JhcHBpbmc6czJ0LENsYW1wVG9FZGdlV3JhcHBpbmc6bDJ0LE1pcnJvcmVkUmVwZWF0V3JhcHBpbmc6YzJ0fSxZbmU9e05lYXJlc3RGaWx0ZXI6dTJ0LE5lYXJlc3RNaXBtYXBOZWFyZXN0RmlsdGVyOmgydCxOZWFyZXN0TWlwbWFwTGluZWFyRmlsdGVyOmQydCxMaW5lYXJGaWx0ZXI6cDJ0LExpbmVhck1pcG1hcE5lYXJlc3RGaWx0ZXI6ZjJ0LExpbmVhck1pcG1hcExpbmVhckZpbHRlcjptMnR9O2NsYXNzIFhuZSBleHRlbmRzIGhuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSwidW5kZWZpbmVkIj09dHlwZW9mIGNyZWF0ZUltYWdlQml0bWFwJiZjb25zb2xlLndhcm4oIlRIUkVFLkltYWdlQml0bWFwTG9hZGVyOiBjcmVhdGVJbWFnZUJpdG1hcCgpIG5vdCBzdXBwb3J0ZWQuIiksInVuZGVmaW5lZCI9PXR5cGVvZiBmZXRjaCYmY29uc29sZS53YXJuKCJUSFJFRS5JbWFnZUJpdG1hcExvYWRlcjogZmV0Y2goKSBub3Qgc3VwcG9ydGVkLiIpLHRoaXMub3B0aW9ucz17cHJlbXVsdGlwbHlBbHBoYToibm9uZSJ9fXNldE9wdGlvbnModCl7cmV0dXJuIHRoaXMub3B0aW9ucz10LHRoaXN9bG9hZCh0LGUsbixpKXt2b2lkIDA9PT10JiYodD0iIiksdm9pZCAwIT09dGhpcy5wYXRoJiYodD10aGlzLnBhdGgrdCksdD10aGlzLm1hbmFnZXIucmVzb2x2ZVVSTCh0KTtjb25zdCByPXRoaXMsbz1sbmUuZ2V0KHQpO2lmKHZvaWQgMCE9PW8pcmV0dXJuIHIubWFuYWdlci5pdGVtU3RhcnQodCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlJiZlKG8pLHIubWFuYWdlci5pdGVtRW5kKHQpfSksMCksbztjb25zdCBhPXt9O2EuY3JlZGVudGlhbHM9ImFub255bW91cyI9PT10aGlzLmNyb3NzT3JpZ2luPyJzYW1lLW9yaWdpbiI6ImluY2x1ZGUiLGEuaGVhZGVycz10aGlzLnJlcXVlc3RIZWFkZXIsZmV0Y2godCxhKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdC5ibG9iKCl9KSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIGNyZWF0ZUltYWdlQml0bWFwKHQsT2JqZWN0LmFzc2lnbihyLm9wdGlvbnMse2NvbG9yU3BhY2VDb252ZXJzaW9uOiJub25lIn0pKX0pKS50aGVuKChmdW5jdGlvbihuKXtsbmUuYWRkKHQsbiksZSYmZShuKSxyLm1hbmFnZXIuaXRlbUVuZCh0KX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aSYmaShlKSxyLm1hbmFnZXIuaXRlbUVycm9yKHQpLHIubWFuYWdlci5pdGVtRW5kKHQpfSkpLHIubWFuYWdlci5pdGVtU3RhcnQodCl9fVhuZS5wcm90b3R5cGUuaXNJbWFnZUJpdG1hcExvYWRlcj0hMDtjbGFzcyAkbmV7Y29uc3RydWN0b3IoKXt0aGlzLnR5cGU9IlNoYXBlUGF0aCIsdGhpcy5jb2xvcj1uZXcgczR0LHRoaXMuc3ViUGF0aHM9W10sdGhpcy5jdXJyZW50UGF0aD1udWxsfW1vdmVUbyh0LGUpe3JldHVybiB0aGlzLmN1cnJlbnRQYXRoPW5ldyB2bmUsdGhpcy5zdWJQYXRocy5wdXNoKHRoaXMuY3VycmVudFBhdGgpLHRoaXMuY3VycmVudFBhdGgubW92ZVRvKHQsZSksdGhpc31saW5lVG8odCxlKXtyZXR1cm4gdGhpcy5jdXJyZW50UGF0aC5saW5lVG8odCxlKSx0aGlzfXF1YWRyYXRpY0N1cnZlVG8odCxlLG4saSl7cmV0dXJuIHRoaXMuY3VycmVudFBhdGgucXVhZHJhdGljQ3VydmVUbyh0LGUsbixpKSx0aGlzfWJlemllckN1cnZlVG8odCxlLG4saSxyLG8pe3JldHVybiB0aGlzLmN1cnJlbnRQYXRoLmJlemllckN1cnZlVG8odCxlLG4saSxyLG8pLHRoaXN9c3BsaW5lVGhydSh0KXtyZXR1cm4gdGhpcy5jdXJyZW50UGF0aC5zcGxpbmVUaHJ1KHQpLHRoaXN9dG9TaGFwZXModCxlKXtmdW5jdGlvbiBuKHQpe2NvbnN0IGU9W107Zm9yKGxldCBuPTAsaT10Lmxlbmd0aDtuPGk7bisrKXtjb25zdCBpPXRbbl0scj1uZXcgYm5lO3IuY3VydmVzPWkuY3VydmVzLGUucHVzaChyKX1yZXR1cm4gZX1mdW5jdGlvbiBpKHQsZSl7Y29uc3Qgbj1lLmxlbmd0aDtsZXQgaT0hMTtmb3IobGV0IHI9bi0xLG89MDtvPG47cj1vKyspe2xldCBuPWVbcl0sYT1lW29dLHM9YS54LW4ueCxsPWEueS1uLnk7aWYoTWF0aC5hYnMobCk+TnVtYmVyLkVQU0lMT04pe2lmKGw8MCYmKG49ZVtvXSxzPS1zLGE9ZVtyXSxsPS1sKSx0Lnk8bi55fHx0Lnk+YS55KWNvbnRpbnVlO2lmKHQueT09PW4ueSl7aWYodC54PT09bi54KXJldHVybiEwfWVsc2V7Y29uc3QgZT1sKih0Lngtbi54KS1zKih0Lnktbi55KTtpZigwPT09ZSlyZXR1cm4hMDtpZihlPDApY29udGludWU7aT0haX19ZWxzZXtpZih0LnkhPT1uLnkpY29udGludWU7aWYoYS54PD10LngmJnQueDw9bi54fHxuLng8PXQueCYmdC54PD1hLngpcmV0dXJuITB9fXJldHVybiBpfWNvbnN0IHI9X2VlLmlzQ2xvY2tXaXNlLG89dGhpcy5zdWJQYXRocztpZigwPT09by5sZW5ndGgpcmV0dXJuW107aWYoITA9PT1lKXJldHVybiBuKG8pO2xldCBhLHMsbDtjb25zdCBjPVtdO2lmKDE9PT1vLmxlbmd0aClyZXR1cm4gcz1vWzBdLGw9bmV3IGJuZSxsLmN1cnZlcz1zLmN1cnZlcyxjLnB1c2gobCksYztsZXQgdT0hcihvWzBdLmdldFBvaW50cygpKTt1PXQ/IXU6dTtjb25zdCBoPVtdLGQ9W107bGV0IHAsZixtPVtdLGc9MDtkW2ddPXZvaWQgMCxtW2ddPVtdO2ZvcihsZXQgZT0wLG49by5sZW5ndGg7ZTxuO2UrKylzPW9bZV0scD1zLmdldFBvaW50cygpLGE9cihwKSxhPXQ/IWE6YSxhPyghdSYmZFtnXSYmZysrLGRbZ109e3M6bmV3IGJuZSxwOnB9LGRbZ10ucy5jdXJ2ZXM9cy5jdXJ2ZXMsdSYmZysrLG1bZ109W10pOm1bZ10ucHVzaCh7aDpzLHA6cFswXX0pO2lmKCFkWzBdKXJldHVybiBuKG8pO2lmKGQubGVuZ3RoPjEpe2xldCB0PSExO2NvbnN0IGU9W107Zm9yKGxldCB0PTAsZT1kLmxlbmd0aDt0PGU7dCsrKWhbdF09W107Zm9yKGxldCBuPTAscj1kLmxlbmd0aDtuPHI7bisrKXtjb25zdCByPW1bbl07Zm9yKGxldCBvPTA7bzxyLmxlbmd0aDtvKyspe2NvbnN0IGE9cltvXTtsZXQgcz0hMDtmb3IobGV0IHI9MDtyPGQubGVuZ3RoO3IrKylpKGEucCxkW3JdLnApJiYobiE9PXImJmUucHVzaCh7ZnJvbXM6bix0b3M6cixob2xlOm99KSxzPyhzPSExLGhbcl0ucHVzaChhKSk6dD0hMCk7cyYmaFtuXS5wdXNoKGEpfX1lLmxlbmd0aD4wJiYodHx8KG09aCkpfWZvcihsZXQgdD0wLGU9ZC5sZW5ndGg7dDxlO3QrKyl7bD1kW3RdLnMsYy5wdXNoKGwpLGY9bVt0XTtmb3IobGV0IHQ9MCxlPWYubGVuZ3RoO3Q8ZTt0KyspbC5ob2xlcy5wdXNoKGZbdF0uaCl9cmV0dXJuIGN9fWNsYXNzIEtuZXtjb25zdHJ1Y3Rvcih0KXt0aGlzLnR5cGU9IkZvbnQiLHRoaXMuZGF0YT10fWdlbmVyYXRlU2hhcGVzKHQsZT0xMDApe2NvbnN0IG49W10saT0oZnVuY3Rpb24gcih0LGUsbil7Y29uc3QgaT1BcnJheS5mcm9tKHQpLHI9ZS9uLnJlc29sdXRpb24sbz0obi5ib3VuZGluZ0JveC55TWF4LW4uYm91bmRpbmdCb3gueU1pbituLnVuZGVybGluZVRoaWNrbmVzcykqcixhPVtdO2xldCBzPTAsbD0wO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtjb25zdCBlPWlbdF07aWYoIlxuIj09PWUpcz0wLGwtPW87ZWxzZXtjb25zdCB0PVpuZShlLHIscyxsLG4pO3MrPXQub2Zmc2V0WCxhLnB1c2godC5wYXRoKX19cmV0dXJuIGF9KSh0LGUsdGhpcy5kYXRhKTtmb3IobGV0IHQ9MCxlPWkubGVuZ3RoO3Q8ZTt0KyspQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkobixpW3RdLnRvU2hhcGVzKCkpO3JldHVybiBufX1mdW5jdGlvbiBabmUodCxlLG4saSxyKXtjb25zdCBvPXIuZ2x5cGhzW3RdfHxyLmdseXBoc1siPyJdO2lmKCFvKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoJ1RIUkVFLkZvbnQ6IGNoYXJhY3RlciAiJyt0KyciIGRvZXMgbm90IGV4aXN0cyBpbiBmb250IGZhbWlseSAnK3IuZmFtaWx5TmFtZSsiLiIpO2NvbnN0IGE9bmV3ICRuZTtsZXQgcyxsLGMsdSxoLGQscCxmO2lmKG8ubyl7Y29uc3QgdD1vLl9jYWNoZWRPdXRsaW5lfHwoby5fY2FjaGVkT3V0bGluZT1vLm8uc3BsaXQoIiAiKSk7Zm9yKGxldCByPTAsbz10Lmxlbmd0aDtyPG87KXtzd2l0Y2godFtyKytdKXtjYXNlIm0iOnM9dFtyKytdKmUrbixsPXRbcisrXSplK2ksYS5tb3ZlVG8ocyxsKTticmVhaztjYXNlImwiOnM9dFtyKytdKmUrbixsPXRbcisrXSplK2ksYS5saW5lVG8ocyxsKTticmVhaztjYXNlInEiOmM9dFtyKytdKmUrbix1PXRbcisrXSplK2ksaD10W3IrK10qZStuLGQ9dFtyKytdKmUraSxhLnF1YWRyYXRpY0N1cnZlVG8oaCxkLGMsdSk7YnJlYWs7Y2FzZSJiIjpjPXRbcisrXSplK24sdT10W3IrK10qZStpLGg9dFtyKytdKmUrbixkPXRbcisrXSplK2kscD10W3IrK10qZStuLGY9dFtyKytdKmUraSxhLmJlemllckN1cnZlVG8oaCxkLHAsZixjLHUpfX19cmV0dXJue29mZnNldFg6by5oYSplLHBhdGg6YX19S25lLnByb3RvdHlwZS5pc0ZvbnQ9ITA7bGV0IEpuZTtjb25zdCBRbmU9e2dldENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09Sm5lJiYoSm5lPW5ldyh3aW5kb3cuQXVkaW9Db250ZXh0fHx3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0KSksSm5lfSxzZXRDb250ZXh0OmZ1bmN0aW9uKHQpe0puZT10fX07Y2xhc3MgdGllIGV4dGVuZHMgaG5le2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfWxvYWQodCxlLG4saSl7Y29uc3Qgcj10aGlzLG89bmV3IHBuZSh0aGlzLm1hbmFnZXIpO28uc2V0UmVzcG9uc2VUeXBlKCJhcnJheWJ1ZmZlciIpLG8uc2V0UGF0aCh0aGlzLnBhdGgpLG8uc2V0UmVxdWVzdEhlYWRlcih0aGlzLnJlcXVlc3RIZWFkZXIpLG8uc2V0V2l0aENyZWRlbnRpYWxzKHRoaXMud2l0aENyZWRlbnRpYWxzKSxvLmxvYWQodCwoZnVuY3Rpb24obil7dHJ5e2NvbnN0IHQ9bi5zbGljZSgwKTtRbmUuZ2V0Q29udGV4dCgpLmRlY29kZUF1ZGlvRGF0YSh0LChmdW5jdGlvbih0KXtlKHQpfSkpfWNhdGNoKGUpe2k/aShlKTpjb25zb2xlLmVycm9yKGUpLHIubWFuYWdlci5pdGVtRXJyb3IodCl9fSksbixpKX19Y2xhc3MgZWllIGV4dGVuZHMgSG5le2NvbnN0cnVjdG9yKHQsZSxuPTEpe3N1cGVyKHZvaWQgMCxuKTtjb25zdCBpPShuZXcgczR0KS5zZXQodCkscj0obmV3IHM0dCkuc2V0KGUpLG89bmV3IEg1dChpLnIsaS5nLGkuYiksYT1uZXcgSDV0KHIucixyLmcsci5iKSxzPU1hdGguc3FydChNYXRoLlBJKSxsPXMqTWF0aC5zcXJ0KC43NSk7dGhpcy5zaC5jb2VmZmljaWVudHNbMF0uY29weShvKS5hZGQoYSkubXVsdGlwbHlTY2FsYXIocyksdGhpcy5zaC5jb2VmZmljaWVudHNbMV0uY29weShvKS5zdWIoYSkubXVsdGlwbHlTY2FsYXIobCl9fWVpZS5wcm90b3R5cGUuaXNIZW1pc3BoZXJlTGlnaHRQcm9iZT0hMDtjbGFzcyBuaWUgZXh0ZW5kcyBIbmV7Y29uc3RydWN0b3IodCxlPTEpe3N1cGVyKHZvaWQgMCxlKTtjb25zdCBuPShuZXcgczR0KS5zZXQodCk7dGhpcy5zaC5jb2VmZmljaWVudHNbMF0uc2V0KG4ucixuLmcsbi5iKS5tdWx0aXBseVNjYWxhcigyKk1hdGguc3FydChNYXRoLlBJKSl9fW5pZS5wcm90b3R5cGUuaXNBbWJpZW50TGlnaHRQcm9iZT0hMDtjb25zdCBpaWU9bmV3IGczdCxyaWU9bmV3IGczdDtjbGFzcyBvaWV7Y29uc3RydWN0b3IodD0hMCl7dGhpcy5hdXRvU3RhcnQ9dCx0aGlzLnN0YXJ0VGltZT0wLHRoaXMub2xkVGltZT0wLHRoaXMuZWxhcHNlZFRpbWU9MCx0aGlzLnJ1bm5pbmc9ITF9c3RhcnQoKXt0aGlzLnN0YXJ0VGltZT1haWUoKSx0aGlzLm9sZFRpbWU9dGhpcy5zdGFydFRpbWUsdGhpcy5lbGFwc2VkVGltZT0wLHRoaXMucnVubmluZz0hMH1zdG9wKCl7dGhpcy5nZXRFbGFwc2VkVGltZSgpLHRoaXMucnVubmluZz0hMSx0aGlzLmF1dG9TdGFydD0hMX1nZXRFbGFwc2VkVGltZSgpe3JldHVybiB0aGlzLmdldERlbHRhKCksdGhpcy5lbGFwc2VkVGltZX1nZXREZWx0YSgpe2xldCB0PTA7aWYodGhpcy5hdXRvU3RhcnQmJiF0aGlzLnJ1bm5pbmcpcmV0dXJuIHRoaXMuc3RhcnQoKSwwO2lmKHRoaXMucnVubmluZyl7Y29uc3QgZT1haWUoKTt0PShlLXRoaXMub2xkVGltZSkvMWUzLHRoaXMub2xkVGltZT1lLHRoaXMuZWxhcHNlZFRpbWUrPXR9cmV0dXJuIHR9fWZ1bmN0aW9uIGFpZSgpe3JldHVybigidW5kZWZpbmVkIj09dHlwZW9mIHBlcmZvcm1hbmNlP0RhdGU6cGVyZm9ybWFuY2UpLm5vdygpfWNvbnN0IHNpZT1uZXcgSDV0LGxpZT1uZXcgQjV0LGNpZT1uZXcgSDV0LHVpZT1uZXcgSDV0O2NsYXNzIGhpZSBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iQXVkaW8iLHRoaXMubGlzdGVuZXI9dCx0aGlzLmNvbnRleHQ9dC5jb250ZXh0LHRoaXMuZ2Fpbj10aGlzLmNvbnRleHQuY3JlYXRlR2FpbigpLHRoaXMuZ2Fpbi5jb25uZWN0KHQuZ2V0SW5wdXQoKSksdGhpcy5hdXRvcGxheT0hMSx0aGlzLmJ1ZmZlcj1udWxsLHRoaXMuZGV0dW5lPTAsdGhpcy5sb29wPSExLHRoaXMubG9vcFN0YXJ0PTAsdGhpcy5sb29wRW5kPTAsdGhpcy5vZmZzZXQ9MCx0aGlzLmR1cmF0aW9uPXZvaWQgMCx0aGlzLnBsYXliYWNrUmF0ZT0xLHRoaXMuaXNQbGF5aW5nPSExLHRoaXMuaGFzUGxheWJhY2tDb250cm9sPSEwLHRoaXMuc291cmNlPW51bGwsdGhpcy5zb3VyY2VUeXBlPSJlbXB0eSIsdGhpcy5fc3RhcnRlZEF0PTAsdGhpcy5fcHJvZ3Jlc3M9MCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5maWx0ZXJzPVtdfWdldE91dHB1dCgpe3JldHVybiB0aGlzLmdhaW59c2V0Tm9kZVNvdXJjZSh0KXtyZXR1cm4gdGhpcy5oYXNQbGF5YmFja0NvbnRyb2w9ITEsdGhpcy5zb3VyY2VUeXBlPSJhdWRpb05vZGUiLHRoaXMuc291cmNlPXQsdGhpcy5jb25uZWN0KCksdGhpc31zZXRNZWRpYUVsZW1lbnRTb3VyY2UodCl7cmV0dXJuIHRoaXMuaGFzUGxheWJhY2tDb250cm9sPSExLHRoaXMuc291cmNlVHlwZT0ibWVkaWFOb2RlIix0aGlzLnNvdXJjZT10aGlzLmNvbnRleHQuY3JlYXRlTWVkaWFFbGVtZW50U291cmNlKHQpLHRoaXMuY29ubmVjdCgpLHRoaXN9c2V0TWVkaWFTdHJlYW1Tb3VyY2UodCl7cmV0dXJuIHRoaXMuaGFzUGxheWJhY2tDb250cm9sPSExLHRoaXMuc291cmNlVHlwZT0ibWVkaWFTdHJlYW1Ob2RlIix0aGlzLnNvdXJjZT10aGlzLmNvbnRleHQuY3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2UodCksdGhpcy5jb25uZWN0KCksdGhpc31zZXRCdWZmZXIodCl7cmV0dXJuIHRoaXMuYnVmZmVyPXQsdGhpcy5zb3VyY2VUeXBlPSJidWZmZXIiLHRoaXMuYXV0b3BsYXkmJnRoaXMucGxheSgpLHRoaXN9cGxheSh0PTApe2lmKCEwPT09dGhpcy5pc1BsYXlpbmcpcmV0dXJuIHZvaWQgY29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogQXVkaW8gaXMgYWxyZWFkeSBwbGF5aW5nLiIpO2lmKCExPT09dGhpcy5oYXNQbGF5YmFja0NvbnRyb2wpcmV0dXJuIHZvaWQgY29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKTt0aGlzLl9zdGFydGVkQXQ9dGhpcy5jb250ZXh0LmN1cnJlbnRUaW1lK3Q7Y29uc3QgZT10aGlzLmNvbnRleHQuY3JlYXRlQnVmZmVyU291cmNlKCk7cmV0dXJuIGUuYnVmZmVyPXRoaXMuYnVmZmVyLGUubG9vcD10aGlzLmxvb3AsZS5sb29wU3RhcnQ9dGhpcy5sb29wU3RhcnQsZS5sb29wRW5kPXRoaXMubG9vcEVuZCxlLm9uZW5kZWQ9dGhpcy5vbkVuZGVkLmJpbmQodGhpcyksZS5zdGFydCh0aGlzLl9zdGFydGVkQXQsdGhpcy5fcHJvZ3Jlc3MrdGhpcy5vZmZzZXQsdGhpcy5kdXJhdGlvbiksdGhpcy5pc1BsYXlpbmc9ITAsdGhpcy5zb3VyY2U9ZSx0aGlzLnNldERldHVuZSh0aGlzLmRldHVuZSksdGhpcy5zZXRQbGF5YmFja1JhdGUodGhpcy5wbGF5YmFja1JhdGUpLHRoaXMuY29ubmVjdCgpfXBhdXNlKCl7aWYoITEhPT10aGlzLmhhc1BsYXliYWNrQ29udHJvbClyZXR1cm4hMD09PXRoaXMuaXNQbGF5aW5nJiYodGhpcy5fcHJvZ3Jlc3MrPU1hdGgubWF4KHRoaXMuY29udGV4dC5jdXJyZW50VGltZS10aGlzLl9zdGFydGVkQXQsMCkqdGhpcy5wbGF5YmFja1JhdGUsITA9PT10aGlzLmxvb3AmJih0aGlzLl9wcm9ncmVzcz10aGlzLl9wcm9ncmVzcyUodGhpcy5kdXJhdGlvbnx8dGhpcy5idWZmZXIuZHVyYXRpb24pKSx0aGlzLnNvdXJjZS5zdG9wKCksdGhpcy5zb3VyY2Uub25lbmRlZD1udWxsLHRoaXMuaXNQbGF5aW5nPSExKSx0aGlzO2NvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIil9c3RvcCgpe2lmKCExIT09dGhpcy5oYXNQbGF5YmFja0NvbnRyb2wpcmV0dXJuIHRoaXMuX3Byb2dyZXNzPTAsdGhpcy5zb3VyY2Uuc3RvcCgpLHRoaXMuc291cmNlLm9uZW5kZWQ9bnVsbCx0aGlzLmlzUGxheWluZz0hMSx0aGlzO2NvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIil9Y29ubmVjdCgpe2lmKHRoaXMuZmlsdGVycy5sZW5ndGg+MCl7dGhpcy5zb3VyY2UuY29ubmVjdCh0aGlzLmZpbHRlcnNbMF0pO2ZvcihsZXQgdD0xLGU9dGhpcy5maWx0ZXJzLmxlbmd0aDt0PGU7dCsrKXRoaXMuZmlsdGVyc1t0LTFdLmNvbm5lY3QodGhpcy5maWx0ZXJzW3RdKTt0aGlzLmZpbHRlcnNbdGhpcy5maWx0ZXJzLmxlbmd0aC0xXS5jb25uZWN0KHRoaXMuZ2V0T3V0cHV0KCkpfWVsc2UgdGhpcy5zb3VyY2UuY29ubmVjdCh0aGlzLmdldE91dHB1dCgpKTtyZXR1cm4gdGhpcy5fY29ubmVjdGVkPSEwLHRoaXN9ZGlzY29ubmVjdCgpe2lmKHRoaXMuZmlsdGVycy5sZW5ndGg+MCl7dGhpcy5zb3VyY2UuZGlzY29ubmVjdCh0aGlzLmZpbHRlcnNbMF0pO2ZvcihsZXQgdD0xLGU9dGhpcy5maWx0ZXJzLmxlbmd0aDt0PGU7dCsrKXRoaXMuZmlsdGVyc1t0LTFdLmRpc2Nvbm5lY3QodGhpcy5maWx0ZXJzW3RdKTt0aGlzLmZpbHRlcnNbdGhpcy5maWx0ZXJzLmxlbmd0aC0xXS5kaXNjb25uZWN0KHRoaXMuZ2V0T3V0cHV0KCkpfWVsc2UgdGhpcy5zb3VyY2UuZGlzY29ubmVjdCh0aGlzLmdldE91dHB1dCgpKTtyZXR1cm4gdGhpcy5fY29ubmVjdGVkPSExLHRoaXN9Z2V0RmlsdGVycygpe3JldHVybiB0aGlzLmZpbHRlcnN9c2V0RmlsdGVycyh0KXtyZXR1cm4gdHx8KHQ9W10pLCEwPT09dGhpcy5fY29ubmVjdGVkPyh0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLmZpbHRlcnM9dC5zbGljZSgpLHRoaXMuY29ubmVjdCgpKTp0aGlzLmZpbHRlcnM9dC5zbGljZSgpLHRoaXN9c2V0RGV0dW5lKHQpe2lmKHRoaXMuZGV0dW5lPXQsdm9pZCAwIT09dGhpcy5zb3VyY2UuZGV0dW5lKXJldHVybiEwPT09dGhpcy5pc1BsYXlpbmcmJnRoaXMuc291cmNlLmRldHVuZS5zZXRUYXJnZXRBdFRpbWUodGhpcy5kZXR1bmUsdGhpcy5jb250ZXh0LmN1cnJlbnRUaW1lLC4wMSksdGhpc31nZXREZXR1bmUoKXtyZXR1cm4gdGhpcy5kZXR1bmV9Z2V0RmlsdGVyKCl7cmV0dXJuIHRoaXMuZ2V0RmlsdGVycygpWzBdfXNldEZpbHRlcih0KXtyZXR1cm4gdGhpcy5zZXRGaWx0ZXJzKHQ/W3RdOltdKX1zZXRQbGF5YmFja1JhdGUodCl7aWYoITEhPT10aGlzLmhhc1BsYXliYWNrQ29udHJvbClyZXR1cm4gdGhpcy5wbGF5YmFja1JhdGU9dCwhMD09PXRoaXMuaXNQbGF5aW5nJiZ0aGlzLnNvdXJjZS5wbGF5YmFja1JhdGUuc2V0VGFyZ2V0QXRUaW1lKHRoaXMucGxheWJhY2tSYXRlLHRoaXMuY29udGV4dC5jdXJyZW50VGltZSwuMDEpLHRoaXM7Y29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKX1nZXRQbGF5YmFja1JhdGUoKXtyZXR1cm4gdGhpcy5wbGF5YmFja1JhdGV9b25FbmRlZCgpe3RoaXMuaXNQbGF5aW5nPSExfWdldExvb3AoKXtyZXR1cm4hMT09PXRoaXMuaGFzUGxheWJhY2tDb250cm9sPyhjb25zb2xlLndhcm4oIlRIUkVFLkF1ZGlvOiB0aGlzIEF1ZGlvIGhhcyBubyBwbGF5YmFjayBjb250cm9sLiIpLCExKTp0aGlzLmxvb3B9c2V0TG9vcCh0KXtpZighMSE9PXRoaXMuaGFzUGxheWJhY2tDb250cm9sKXJldHVybiB0aGlzLmxvb3A9dCwhMD09PXRoaXMuaXNQbGF5aW5nJiYodGhpcy5zb3VyY2UubG9vcD10aGlzLmxvb3ApLHRoaXM7Y29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKX1zZXRMb29wU3RhcnQodCl7cmV0dXJuIHRoaXMubG9vcFN0YXJ0PXQsdGhpc31zZXRMb29wRW5kKHQpe3JldHVybiB0aGlzLmxvb3BFbmQ9dCx0aGlzfWdldFZvbHVtZSgpe3JldHVybiB0aGlzLmdhaW4uZ2Fpbi52YWx1ZX1zZXRWb2x1bWUodCl7cmV0dXJuIHRoaXMuZ2Fpbi5nYWluLnNldFRhcmdldEF0VGltZSh0LHRoaXMuY29udGV4dC5jdXJyZW50VGltZSwuMDEpLHRoaXN9fWNvbnN0IGRpZT1uZXcgSDV0LHBpZT1uZXcgQjV0LGZpZT1uZXcgSDV0LG1pZT1uZXcgSDV0O2NsYXNzIGdpZXtjb25zdHJ1Y3Rvcih0LGU9MjA0OCl7dGhpcy5hbmFseXNlcj10LmNvbnRleHQuY3JlYXRlQW5hbHlzZXIoKSx0aGlzLmFuYWx5c2VyLmZmdFNpemU9ZSx0aGlzLmRhdGE9bmV3IFVpbnQ4QXJyYXkodGhpcy5hbmFseXNlci5mcmVxdWVuY3lCaW5Db3VudCksdC5nZXRPdXRwdXQoKS5jb25uZWN0KHRoaXMuYW5hbHlzZXIpfWdldEZyZXF1ZW5jeURhdGEoKXtyZXR1cm4gdGhpcy5hbmFseXNlci5nZXRCeXRlRnJlcXVlbmN5RGF0YSh0aGlzLmRhdGEpLHRoaXMuZGF0YX1nZXRBdmVyYWdlRnJlcXVlbmN5KCl7bGV0IHQ9MDtjb25zdCBlPXRoaXMuZ2V0RnJlcXVlbmN5RGF0YSgpO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXQrPWVbbl07cmV0dXJuIHQvZS5sZW5ndGh9fWNsYXNzIF9pZXtjb25zdHJ1Y3Rvcih0LGUsbil7bGV0IGkscixvO3N3aXRjaCh0aGlzLmJpbmRpbmc9dCx0aGlzLnZhbHVlU2l6ZT1uLGUpe2Nhc2UicXVhdGVybmlvbiI6aT10aGlzLl9zbGVycCxyPXRoaXMuX3NsZXJwQWRkaXRpdmUsbz10aGlzLl9zZXRBZGRpdGl2ZUlkZW50aXR5UXVhdGVybmlvbix0aGlzLmJ1ZmZlcj1uZXcgRmxvYXQ2NEFycmF5KDYqbiksdGhpcy5fd29ya0luZGV4PTU7YnJlYWs7Y2FzZSJzdHJpbmciOmNhc2UiYm9vbCI6aT10aGlzLl9zZWxlY3Qscj10aGlzLl9zZWxlY3Qsbz10aGlzLl9zZXRBZGRpdGl2ZUlkZW50aXR5T3RoZXIsdGhpcy5idWZmZXI9bmV3IEFycmF5KDUqbik7YnJlYWs7ZGVmYXVsdDppPXRoaXMuX2xlcnAscj10aGlzLl9sZXJwQWRkaXRpdmUsbz10aGlzLl9zZXRBZGRpdGl2ZUlkZW50aXR5TnVtZXJpYyx0aGlzLmJ1ZmZlcj1uZXcgRmxvYXQ2NEFycmF5KDUqbil9dGhpcy5fbWl4QnVmZmVyUmVnaW9uPWksdGhpcy5fbWl4QnVmZmVyUmVnaW9uQWRkaXRpdmU9cix0aGlzLl9zZXRJZGVudGl0eT1vLHRoaXMuX29yaWdJbmRleD0zLHRoaXMuX2FkZEluZGV4PTQsdGhpcy5jdW11bGF0aXZlV2VpZ2h0PTAsdGhpcy5jdW11bGF0aXZlV2VpZ2h0QWRkaXRpdmU9MCx0aGlzLnVzZUNvdW50PTAsdGhpcy5yZWZlcmVuY2VDb3VudD0wfWFjY3VtdWxhdGUodCxlKXtjb25zdCBuPXRoaXMuYnVmZmVyLGk9dGhpcy52YWx1ZVNpemUscj10KmkraTtsZXQgbz10aGlzLmN1bXVsYXRpdmVXZWlnaHQ7aWYoMD09PW8pe2ZvcihsZXQgdD0wO3QhPT1pOysrdCluW3IrdF09blt0XTtvPWV9ZWxzZXtvKz1lO3RoaXMuX21peEJ1ZmZlclJlZ2lvbihuLHIsMCxlL28saSl9dGhpcy5jdW11bGF0aXZlV2VpZ2h0PW99YWNjdW11bGF0ZUFkZGl0aXZlKHQpe2NvbnN0IGU9dGhpcy5idWZmZXIsbj10aGlzLnZhbHVlU2l6ZSxpPW4qdGhpcy5fYWRkSW5kZXg7MD09PXRoaXMuY3VtdWxhdGl2ZVdlaWdodEFkZGl0aXZlJiZ0aGlzLl9zZXRJZGVudGl0eSgpLHRoaXMuX21peEJ1ZmZlclJlZ2lvbkFkZGl0aXZlKGUsaSwwLHQsbiksdGhpcy5jdW11bGF0aXZlV2VpZ2h0QWRkaXRpdmUrPXR9YXBwbHkodCl7Y29uc3QgZT10aGlzLnZhbHVlU2l6ZSxuPXRoaXMuYnVmZmVyLGk9dCplK2Uscj10aGlzLmN1bXVsYXRpdmVXZWlnaHQsbz10aGlzLmN1bXVsYXRpdmVXZWlnaHRBZGRpdGl2ZSxhPXRoaXMuYmluZGluZztpZih0aGlzLmN1bXVsYXRpdmVXZWlnaHQ9MCx0aGlzLmN1bXVsYXRpdmVXZWlnaHRBZGRpdGl2ZT0wLHI8MSl7dGhpcy5fbWl4QnVmZmVyUmVnaW9uKG4saSxlKnRoaXMuX29yaWdJbmRleCwxLXIsZSl9bz4wJiZ0aGlzLl9taXhCdWZmZXJSZWdpb25BZGRpdGl2ZShuLGksdGhpcy5fYWRkSW5kZXgqZSwxLGUpO2ZvcihsZXQgdD1lLHI9ZStlO3QhPT1yOysrdClpZihuW3RdIT09blt0K2VdKXthLnNldFZhbHVlKG4saSk7YnJlYWt9fXNhdmVPcmlnaW5hbFN0YXRlKCl7Y29uc3QgdD10aGlzLmJ1ZmZlcixlPXRoaXMudmFsdWVTaXplLG49ZSp0aGlzLl9vcmlnSW5kZXg7dGhpcy5iaW5kaW5nLmdldFZhbHVlKHQsbik7Zm9yKGxldCBpPWUscj1uO2khPT1yOysraSl0W2ldPXRbbitpJWVdO3RoaXMuX3NldElkZW50aXR5KCksdGhpcy5jdW11bGF0aXZlV2VpZ2h0PTAsdGhpcy5jdW11bGF0aXZlV2VpZ2h0QWRkaXRpdmU9MH1yZXN0b3JlT3JpZ2luYWxTdGF0ZSgpe3RoaXMuYmluZGluZy5zZXRWYWx1ZSh0aGlzLmJ1ZmZlciwzKnRoaXMudmFsdWVTaXplKX1fc2V0QWRkaXRpdmVJZGVudGl0eU51bWVyaWMoKXtjb25zdCB0PXRoaXMuX2FkZEluZGV4KnRoaXMudmFsdWVTaXplLGU9dCt0aGlzLnZhbHVlU2l6ZTtmb3IobGV0IG49dDtuPGU7bisrKXRoaXMuYnVmZmVyW25dPTB9X3NldEFkZGl0aXZlSWRlbnRpdHlRdWF0ZXJuaW9uKCl7dGhpcy5fc2V0QWRkaXRpdmVJZGVudGl0eU51bWVyaWMoKSx0aGlzLmJ1ZmZlclt0aGlzLl9hZGRJbmRleCp0aGlzLnZhbHVlU2l6ZSszXT0xfV9zZXRBZGRpdGl2ZUlkZW50aXR5T3RoZXIoKXtjb25zdCB0PXRoaXMuX29yaWdJbmRleCp0aGlzLnZhbHVlU2l6ZSxlPXRoaXMuX2FkZEluZGV4KnRoaXMudmFsdWVTaXplO2ZvcihsZXQgbj0wO248dGhpcy52YWx1ZVNpemU7bisrKXRoaXMuYnVmZmVyW2Urbl09dGhpcy5idWZmZXJbdCtuXX1fc2VsZWN0KHQsZSxuLGkscil7aWYoaT49LjUpZm9yKGxldCBpPTA7aSE9PXI7KytpKXRbZStpXT10W24raV19X3NsZXJwKHQsZSxuLGkpe0I1dC5zbGVycEZsYXQodCxlLHQsZSx0LG4saSl9X3NsZXJwQWRkaXRpdmUodCxlLG4saSxyKXtjb25zdCBvPXRoaXMuX3dvcmtJbmRleCpyO0I1dC5tdWx0aXBseVF1YXRlcm5pb25zRmxhdCh0LG8sdCxlLHQsbiksQjV0LnNsZXJwRmxhdCh0LGUsdCxlLHQsbyxpKX1fbGVycCh0LGUsbixpLHIpe2NvbnN0IG89MS1pO2ZvcihsZXQgYT0wO2EhPT1yOysrYSl7Y29uc3Qgcj1lK2E7dFtyXT10W3JdKm8rdFtuK2FdKml9fV9sZXJwQWRkaXRpdmUodCxlLG4saSxyKXtmb3IobGV0IG89MDtvIT09cjsrK28pe2NvbnN0IHI9ZStvO3Rbcl09dFtyXSt0W24rb10qaX19fWNvbnN0IHlpZT0iXFxbXFxdXFwuOlxcLyIsdmllPW5ldyBSZWdFeHAoIltcXFtcXF1cXC46XFwvXSIsImciKSxiaWU9IlteXFxbXFxdXFwuOlxcL10iLHhpZT0iW14iK3lpZS5yZXBsYWNlKCJcXC4iLCIiKSsiXSIsd2llPS8oKD86V0MrW1wvOl0pKikvLnNvdXJjZS5yZXBsYWNlKCJXQyIsYmllKSxTaWU9LyhXQ09EKyk/Ly5zb3VyY2UucmVwbGFjZSgiV0NPRCIseGllKSxNaWU9Lyg/OlwuKFdDKykoPzpcWyguKylcXSk/KT8vLnNvdXJjZS5yZXBsYWNlKCJXQyIsYmllKSxFaWU9L1wuKFdDKykoPzpcWyguKylcXSk/Ly5zb3VyY2UucmVwbGFjZSgiV0MiLGJpZSksVGllPW5ldyBSZWdFeHAoIl4iK3dpZStTaWUrTWllK0VpZSsiJCIpLENpZT1bIm1hdGVyaWFsIiwibWF0ZXJpYWxzIiwiYm9uZXMiXTtjbGFzcyBBaWV7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMucGF0aD1lLHRoaXMucGFyc2VkUGF0aD1ufHxBaWUucGFyc2VUcmFja05hbWUoZSksdGhpcy5ub2RlPUFpZS5maW5kTm9kZSh0LHRoaXMucGFyc2VkUGF0aC5ub2RlTmFtZSl8fHQsdGhpcy5yb290Tm9kZT10LHRoaXMuZ2V0VmFsdWU9dGhpcy5fZ2V0VmFsdWVfdW5ib3VuZCx0aGlzLnNldFZhbHVlPXRoaXMuX3NldFZhbHVlX3VuYm91bmR9c3RhdGljIGNyZWF0ZSh0LGUsbil7cmV0dXJuIHQmJnQuaXNBbmltYXRpb25PYmplY3RHcm91cD9uZXcgQWllLkNvbXBvc2l0ZSh0LGUsbik6bmV3IEFpZSh0LGUsbil9c3RhdGljIHNhbml0aXplTm9kZU5hbWUodCl7cmV0dXJuIHQucmVwbGFjZSgvXHMvZywiXyIpLnJlcGxhY2UodmllLCIiKX1zdGF0aWMgcGFyc2VUcmFja05hbWUodCl7Y29uc3QgZT1UaWUuZXhlYyh0KTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIlByb3BlcnR5QmluZGluZzogQ2Fubm90IHBhcnNlIHRyYWNrTmFtZTogIit0KTtjb25zdCBuPXtub2RlTmFtZTplWzJdLG9iamVjdE5hbWU6ZVszXSxvYmplY3RJbmRleDplWzRdLHByb3BlcnR5TmFtZTplWzVdLHByb3BlcnR5SW5kZXg6ZVs2XX0saT1uLm5vZGVOYW1lJiZuLm5vZGVOYW1lLmxhc3RJbmRleE9mKCIuIik7aWYodm9pZCAwIT09aSYmLTEhPT1pKXtjb25zdCB0PW4ubm9kZU5hbWUuc3Vic3RyaW5nKGkrMSk7LTEhPT1DaWUuaW5kZXhPZih0KSYmKG4ubm9kZU5hbWU9bi5ub2RlTmFtZS5zdWJzdHJpbmcoMCxpKSxuLm9iamVjdE5hbWU9dCl9aWYobnVsbD09PW4ucHJvcGVydHlOYW1lfHwwPT09bi5wcm9wZXJ0eU5hbWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiUHJvcGVydHlCaW5kaW5nOiBjYW4gbm90IHBhcnNlIHByb3BlcnR5TmFtZSBmcm9tIHRyYWNrTmFtZTogIit0KTtyZXR1cm4gbn1zdGF0aWMgZmluZE5vZGUodCxlKXtpZighZXx8IiI9PT1lfHwiLiI9PT1lfHwtMT09PWV8fGU9PT10Lm5hbWV8fGU9PT10LnV1aWQpcmV0dXJuIHQ7aWYodC5za2VsZXRvbil7Y29uc3Qgbj10LnNrZWxldG9uLmdldEJvbmVCeU5hbWUoZSk7aWYodm9pZCAwIT09bilyZXR1cm4gbn1pZih0LmNoaWxkcmVuKXtjb25zdCBuPWZ1bmN0aW9uKHQpe2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXtjb25zdCByPXRbaV07aWYoci5uYW1lPT09ZXx8ci51dWlkPT09ZSlyZXR1cm4gcjtjb25zdCBvPW4oci5jaGlsZHJlbik7aWYobylyZXR1cm4gb31yZXR1cm4gbnVsbH0saT1uKHQuY2hpbGRyZW4pO2lmKGkpcmV0dXJuIGl9cmV0dXJuIG51bGx9X2dldFZhbHVlX3VuYXZhaWxhYmxlKCl7fV9zZXRWYWx1ZV91bmF2YWlsYWJsZSgpe31fZ2V0VmFsdWVfZGlyZWN0KHQsZSl7dFtlXT10aGlzLm5vZGVbdGhpcy5wcm9wZXJ0eU5hbWVdfV9nZXRWYWx1ZV9hcnJheSh0LGUpe2NvbnN0IG49dGhpcy5yZXNvbHZlZFByb3BlcnR5O2ZvcihsZXQgaT0wLHI9bi5sZW5ndGg7aSE9PXI7KytpKXRbZSsrXT1uW2ldfV9nZXRWYWx1ZV9hcnJheUVsZW1lbnQodCxlKXt0W2VdPXRoaXMucmVzb2x2ZWRQcm9wZXJ0eVt0aGlzLnByb3BlcnR5SW5kZXhdfV9nZXRWYWx1ZV90b0FycmF5KHQsZSl7dGhpcy5yZXNvbHZlZFByb3BlcnR5LnRvQXJyYXkodCxlKX1fc2V0VmFsdWVfZGlyZWN0KHQsZSl7dGhpcy50YXJnZXRPYmplY3RbdGhpcy5wcm9wZXJ0eU5hbWVdPXRbZV19X3NldFZhbHVlX2RpcmVjdF9zZXROZWVkc1VwZGF0ZSh0LGUpe3RoaXMudGFyZ2V0T2JqZWN0W3RoaXMucHJvcGVydHlOYW1lXT10W2VdLHRoaXMudGFyZ2V0T2JqZWN0Lm5lZWRzVXBkYXRlPSEwfV9zZXRWYWx1ZV9kaXJlY3Rfc2V0TWF0cml4V29ybGROZWVkc1VwZGF0ZSh0LGUpe3RoaXMudGFyZ2V0T2JqZWN0W3RoaXMucHJvcGVydHlOYW1lXT10W2VdLHRoaXMudGFyZ2V0T2JqZWN0Lm1hdHJpeFdvcmxkTmVlZHNVcGRhdGU9ITB9X3NldFZhbHVlX2FycmF5KHQsZSl7Y29uc3Qgbj10aGlzLnJlc29sdmVkUHJvcGVydHk7Zm9yKGxldCBpPTAscj1uLmxlbmd0aDtpIT09cjsrK2kpbltpXT10W2UrK119X3NldFZhbHVlX2FycmF5X3NldE5lZWRzVXBkYXRlKHQsZSl7Y29uc3Qgbj10aGlzLnJlc29sdmVkUHJvcGVydHk7Zm9yKGxldCBpPTAscj1uLmxlbmd0aDtpIT09cjsrK2kpbltpXT10W2UrK107dGhpcy50YXJnZXRPYmplY3QubmVlZHNVcGRhdGU9ITB9X3NldFZhbHVlX2FycmF5X3NldE1hdHJpeFdvcmxkTmVlZHNVcGRhdGUodCxlKXtjb25zdCBuPXRoaXMucmVzb2x2ZWRQcm9wZXJ0eTtmb3IobGV0IGk9MCxyPW4ubGVuZ3RoO2khPT1yOysraSluW2ldPXRbZSsrXTt0aGlzLnRhcmdldE9iamVjdC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSEwfV9zZXRWYWx1ZV9hcnJheUVsZW1lbnQodCxlKXt0aGlzLnJlc29sdmVkUHJvcGVydHlbdGhpcy5wcm9wZXJ0eUluZGV4XT10W2VdfV9zZXRWYWx1ZV9hcnJheUVsZW1lbnRfc2V0TmVlZHNVcGRhdGUodCxlKXt0aGlzLnJlc29sdmVkUHJvcGVydHlbdGhpcy5wcm9wZXJ0eUluZGV4XT10W2VdLHRoaXMudGFyZ2V0T2JqZWN0Lm5lZWRzVXBkYXRlPSEwfV9zZXRWYWx1ZV9hcnJheUVsZW1lbnRfc2V0TWF0cml4V29ybGROZWVkc1VwZGF0ZSh0LGUpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eVt0aGlzLnByb3BlcnR5SW5kZXhdPXRbZV0sdGhpcy50YXJnZXRPYmplY3QubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMH1fc2V0VmFsdWVfZnJvbUFycmF5KHQsZSl7dGhpcy5yZXNvbHZlZFByb3BlcnR5LmZyb21BcnJheSh0LGUpfV9zZXRWYWx1ZV9mcm9tQXJyYXlfc2V0TmVlZHNVcGRhdGUodCxlKXt0aGlzLnJlc29sdmVkUHJvcGVydHkuZnJvbUFycmF5KHQsZSksdGhpcy50YXJnZXRPYmplY3QubmVlZHNVcGRhdGU9ITB9X3NldFZhbHVlX2Zyb21BcnJheV9zZXRNYXRyaXhXb3JsZE5lZWRzVXBkYXRlKHQsZSl7dGhpcy5yZXNvbHZlZFByb3BlcnR5LmZyb21BcnJheSh0LGUpLHRoaXMudGFyZ2V0T2JqZWN0Lm1hdHJpeFdvcmxkTmVlZHNVcGRhdGU9ITB9X2dldFZhbHVlX3VuYm91bmQodCxlKXt0aGlzLmJpbmQoKSx0aGlzLmdldFZhbHVlKHQsZSl9X3NldFZhbHVlX3VuYm91bmQodCxlKXt0aGlzLmJpbmQoKSx0aGlzLnNldFZhbHVlKHQsZSl9YmluZCgpe2xldCB0PXRoaXMubm9kZTtjb25zdCBlPXRoaXMucGFyc2VkUGF0aCxuPWUub2JqZWN0TmFtZSxpPWUucHJvcGVydHlOYW1lO2xldCByPWUucHJvcGVydHlJbmRleDtpZih0fHwodD1BaWUuZmluZE5vZGUodGhpcy5yb290Tm9kZSxlLm5vZGVOYW1lKXx8dGhpcy5yb290Tm9kZSx0aGlzLm5vZGU9dCksdGhpcy5nZXRWYWx1ZT10aGlzLl9nZXRWYWx1ZV91bmF2YWlsYWJsZSx0aGlzLnNldFZhbHVlPXRoaXMuX3NldFZhbHVlX3VuYXZhaWxhYmxlLCF0KXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogVHJ5aW5nIHRvIHVwZGF0ZSBub2RlIGZvciB0cmFjazogIit0aGlzLnBhdGgrIiBidXQgaXQgd2Fzbid0IGZvdW5kLiIpO2lmKG4pe2xldCBpPWUub2JqZWN0SW5kZXg7c3dpdGNoKG4pe2Nhc2UibWF0ZXJpYWxzIjppZighdC5tYXRlcmlhbClyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IENhbiBub3QgYmluZCB0byBtYXRlcmlhbCBhcyBub2RlIGRvZXMgbm90IGhhdmUgYSBtYXRlcmlhbC4iLHRoaXMpO2lmKCF0Lm1hdGVyaWFsLm1hdGVyaWFscylyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IENhbiBub3QgYmluZCB0byBtYXRlcmlhbC5tYXRlcmlhbHMgYXMgbm9kZS5tYXRlcmlhbCBkb2VzIG5vdCBoYXZlIGEgbWF0ZXJpYWxzIGFycmF5LiIsdGhpcyk7dD10Lm1hdGVyaWFsLm1hdGVyaWFsczticmVhaztjYXNlImJvbmVzIjppZighdC5za2VsZXRvbilyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IENhbiBub3QgYmluZCB0byBib25lcyBhcyBub2RlIGRvZXMgbm90IGhhdmUgYSBza2VsZXRvbi4iLHRoaXMpO3Q9dC5za2VsZXRvbi5ib25lcztmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKylpZih0W2VdLm5hbWU9PT1pKXtpPWU7YnJlYWt9YnJlYWs7ZGVmYXVsdDppZih2b2lkIDA9PT10W25dKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogQ2FuIG5vdCBiaW5kIHRvIG9iamVjdE5hbWUgb2Ygbm9kZSB1bmRlZmluZWQuIix0aGlzKTt0PXRbbl19aWYodm9pZCAwIT09aSl7aWYodm9pZCAwPT09dFtpXSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IFRyeWluZyB0byBiaW5kIHRvIG9iamVjdEluZGV4IG9mIG9iamVjdE5hbWUsIGJ1dCBpcyB1bmRlZmluZWQuIix0aGlzLHQpO3Q9dFtpXX19Y29uc3Qgbz10W2ldO2lmKHZvaWQgMD09PW8pe3JldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogVHJ5aW5nIHRvIHVwZGF0ZSBwcm9wZXJ0eSBmb3IgdHJhY2s6ICIrZS5ub2RlTmFtZSsiLiIraSsiIGJ1dCBpdCB3YXNuJ3QgZm91bmQuIix0KX1sZXQgYT10aGlzLlZlcnNpb25pbmcuTm9uZTt0aGlzLnRhcmdldE9iamVjdD10LHZvaWQgMCE9PXQubmVlZHNVcGRhdGU/YT10aGlzLlZlcnNpb25pbmcuTmVlZHNVcGRhdGU6dm9pZCAwIT09dC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlJiYoYT10aGlzLlZlcnNpb25pbmcuTWF0cml4V29ybGROZWVkc1VwZGF0ZSk7bGV0IHM9dGhpcy5CaW5kaW5nVHlwZS5EaXJlY3Q7aWYodm9pZCAwIT09cil7aWYoIm1vcnBoVGFyZ2V0SW5mbHVlbmNlcyI9PT1pKXtpZighdC5nZW9tZXRyeSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IENhbiBub3QgYmluZCB0byBtb3JwaFRhcmdldEluZmx1ZW5jZXMgYmVjYXVzZSBub2RlIGRvZXMgbm90IGhhdmUgYSBnZW9tZXRyeS4iLHRoaXMpO2lmKCF0Lmdlb21ldHJ5LmlzQnVmZmVyR2VvbWV0cnkpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbW9ycGhUYXJnZXRJbmZsdWVuY2VzIG9uIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iLHRoaXMpO2lmKCF0Lmdlb21ldHJ5Lm1vcnBoQXR0cmlidXRlcylyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IENhbiBub3QgYmluZCB0byBtb3JwaFRhcmdldEluZmx1ZW5jZXMgYmVjYXVzZSBub2RlIGRvZXMgbm90IGhhdmUgYSBnZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMuIix0aGlzKTt2b2lkIDAhPT10Lm1vcnBoVGFyZ2V0RGljdGlvbmFyeVtyXSYmKHI9dC5tb3JwaFRhcmdldERpY3Rpb25hcnlbcl0pfXM9dGhpcy5CaW5kaW5nVHlwZS5BcnJheUVsZW1lbnQsdGhpcy5yZXNvbHZlZFByb3BlcnR5PW8sdGhpcy5wcm9wZXJ0eUluZGV4PXJ9ZWxzZSB2b2lkIDAhPT1vLmZyb21BcnJheSYmdm9pZCAwIT09by50b0FycmF5PyhzPXRoaXMuQmluZGluZ1R5cGUuSGFzRnJvbVRvQXJyYXksdGhpcy5yZXNvbHZlZFByb3BlcnR5PW8pOkFycmF5LmlzQXJyYXkobyk/KHM9dGhpcy5CaW5kaW5nVHlwZS5FbnRpcmVBcnJheSx0aGlzLnJlc29sdmVkUHJvcGVydHk9byk6dGhpcy5wcm9wZXJ0eU5hbWU9aTt0aGlzLmdldFZhbHVlPXRoaXMuR2V0dGVyQnlCaW5kaW5nVHlwZVtzXSx0aGlzLnNldFZhbHVlPXRoaXMuU2V0dGVyQnlCaW5kaW5nVHlwZUFuZFZlcnNpb25pbmdbc11bYV19dW5iaW5kKCl7dGhpcy5ub2RlPW51bGwsdGhpcy5nZXRWYWx1ZT10aGlzLl9nZXRWYWx1ZV91bmJvdW5kLHRoaXMuc2V0VmFsdWU9dGhpcy5fc2V0VmFsdWVfdW5ib3VuZH19QWllLkNvbXBvc2l0ZT1jbGFzc3tjb25zdHJ1Y3Rvcih0LGUsbil7Y29uc3QgaT1ufHxBaWUucGFyc2VUcmFja05hbWUoZSk7dGhpcy5fdGFyZ2V0R3JvdXA9dCx0aGlzLl9iaW5kaW5ncz10LnN1YnNjcmliZV8oZSxpKX1nZXRWYWx1ZSh0LGUpe3RoaXMuYmluZCgpO2NvbnN0IG49dGhpcy5fYmluZGluZ3NbdGhpcy5fdGFyZ2V0R3JvdXAubkNhY2hlZE9iamVjdHNfXTt2b2lkIDAhPT1uJiZuLmdldFZhbHVlKHQsZSl9c2V0VmFsdWUodCxlKXtjb25zdCBuPXRoaXMuX2JpbmRpbmdzO2ZvcihsZXQgaT10aGlzLl90YXJnZXRHcm91cC5uQ2FjaGVkT2JqZWN0c18scj1uLmxlbmd0aDtpIT09cjsrK2kpbltpXS5zZXRWYWx1ZSh0LGUpfWJpbmQoKXtjb25zdCB0PXRoaXMuX2JpbmRpbmdzO2ZvcihsZXQgZT10aGlzLl90YXJnZXRHcm91cC5uQ2FjaGVkT2JqZWN0c18sbj10Lmxlbmd0aDtlIT09bjsrK2UpdFtlXS5iaW5kKCl9dW5iaW5kKCl7Y29uc3QgdD10aGlzLl9iaW5kaW5ncztmb3IobGV0IGU9dGhpcy5fdGFyZ2V0R3JvdXAubkNhY2hlZE9iamVjdHNfLG49dC5sZW5ndGg7ZSE9PW47KytlKXRbZV0udW5iaW5kKCl9fSxBaWUucHJvdG90eXBlLkJpbmRpbmdUeXBlPXtEaXJlY3Q6MCxFbnRpcmVBcnJheToxLEFycmF5RWxlbWVudDoyLEhhc0Zyb21Ub0FycmF5OjN9LEFpZS5wcm90b3R5cGUuVmVyc2lvbmluZz17Tm9uZTowLE5lZWRzVXBkYXRlOjEsTWF0cml4V29ybGROZWVkc1VwZGF0ZToyfSxBaWUucHJvdG90eXBlLkdldHRlckJ5QmluZGluZ1R5cGU9W0FpZS5wcm90b3R5cGUuX2dldFZhbHVlX2RpcmVjdCxBaWUucHJvdG90eXBlLl9nZXRWYWx1ZV9hcnJheSxBaWUucHJvdG90eXBlLl9nZXRWYWx1ZV9hcnJheUVsZW1lbnQsQWllLnByb3RvdHlwZS5fZ2V0VmFsdWVfdG9BcnJheV0sQWllLnByb3RvdHlwZS5TZXR0ZXJCeUJpbmRpbmdUeXBlQW5kVmVyc2lvbmluZz1bW0FpZS5wcm90b3R5cGUuX3NldFZhbHVlX2RpcmVjdCxBaWUucHJvdG90eXBlLl9zZXRWYWx1ZV9kaXJlY3Rfc2V0TmVlZHNVcGRhdGUsQWllLnByb3RvdHlwZS5fc2V0VmFsdWVfZGlyZWN0X3NldE1hdHJpeFdvcmxkTmVlZHNVcGRhdGVdLFtBaWUucHJvdG90eXBlLl9zZXRWYWx1ZV9hcnJheSxBaWUucHJvdG90eXBlLl9zZXRWYWx1ZV9hcnJheV9zZXROZWVkc1VwZGF0ZSxBaWUucHJvdG90eXBlLl9zZXRWYWx1ZV9hcnJheV9zZXRNYXRyaXhXb3JsZE5lZWRzVXBkYXRlXSxbQWllLnByb3RvdHlwZS5fc2V0VmFsdWVfYXJyYXlFbGVtZW50LEFpZS5wcm90b3R5cGUuX3NldFZhbHVlX2FycmF5RWxlbWVudF9zZXROZWVkc1VwZGF0ZSxBaWUucHJvdG90eXBlLl9zZXRWYWx1ZV9hcnJheUVsZW1lbnRfc2V0TWF0cml4V29ybGROZWVkc1VwZGF0ZV0sW0FpZS5wcm90b3R5cGUuX3NldFZhbHVlX2Zyb21BcnJheSxBaWUucHJvdG90eXBlLl9zZXRWYWx1ZV9mcm9tQXJyYXlfc2V0TmVlZHNVcGRhdGUsQWllLnByb3RvdHlwZS5fc2V0VmFsdWVfZnJvbUFycmF5X3NldE1hdHJpeFdvcmxkTmVlZHNVcGRhdGVdXTtjbGFzcyBraWV7Y29uc3RydWN0b3IoKXt0aGlzLnV1aWQ9YTV0KCksdGhpcy5fb2JqZWN0cz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLHRoaXMubkNhY2hlZE9iamVjdHNfPTA7Y29uc3QgdD17fTt0aGlzLl9pbmRpY2VzQnlVVUlEPXQ7Zm9yKGxldCBlPTAsbj1hcmd1bWVudHMubGVuZ3RoO2UhPT1uOysrZSl0W2FyZ3VtZW50c1tlXS51dWlkXT1lO3RoaXMuX3BhdGhzPVtdLHRoaXMuX3BhcnNlZFBhdGhzPVtdLHRoaXMuX2JpbmRpbmdzPVtdLHRoaXMuX2JpbmRpbmdzSW5kaWNlc0J5UGF0aD17fTtjb25zdCBlPXRoaXM7dGhpcy5zdGF0cz17b2JqZWN0czp7Z2V0IHRvdGFsKCl7cmV0dXJuIGUuX29iamVjdHMubGVuZ3RofSxnZXQgaW5Vc2UoKXtyZXR1cm4gdGhpcy50b3RhbC1lLm5DYWNoZWRPYmplY3RzX319LGdldCBiaW5kaW5nc1Blck9iamVjdCgpe3JldHVybiBlLl9iaW5kaW5ncy5sZW5ndGh9fX1hZGQoKXtjb25zdCB0PXRoaXMuX29iamVjdHMsZT10aGlzLl9pbmRpY2VzQnlVVUlELG49dGhpcy5fcGF0aHMsaT10aGlzLl9wYXJzZWRQYXRocyxyPXRoaXMuX2JpbmRpbmdzLG89ci5sZW5ndGg7bGV0IGEscz10Lmxlbmd0aCxsPXRoaXMubkNhY2hlZE9iamVjdHNfO2ZvcihsZXQgYz0wLHU9YXJndW1lbnRzLmxlbmd0aDtjIT09dTsrK2Mpe2NvbnN0IHU9YXJndW1lbnRzW2NdLGg9dS51dWlkO2xldCBkPWVbaF07aWYodm9pZCAwPT09ZCl7ZD1zKyssZVtoXT1kLHQucHVzaCh1KTtmb3IobGV0IHQ9MCxlPW87dCE9PWU7Kyt0KXJbdF0ucHVzaChuZXcgQWllKHUsblt0XSxpW3RdKSl9ZWxzZSBpZihkPGwpe2E9dFtkXTtjb25zdCBzPS0tbCxjPXRbc107ZVtjLnV1aWRdPWQsdFtkXT1jLGVbaF09cyx0W3NdPXU7Zm9yKGxldCB0PTAsZT1vO3QhPT1lOysrdCl7Y29uc3QgZT1yW3RdO2xldCBvPWVbZF07ZVtkXT1lW3NdLHZvaWQgMD09PW8mJihvPW5ldyBBaWUodSxuW3RdLGlbdF0pKSxlW3NdPW99fWVsc2UgdFtkXSE9PWEmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLkFuaW1hdGlvbk9iamVjdEdyb3VwOiBEaWZmZXJlbnQgb2JqZWN0cyB3aXRoIHRoZSBzYW1lIFVVSUQgZGV0ZWN0ZWQuIENsZWFuIHRoZSBjYWNoZXMgb3IgcmVjcmVhdGUgeW91ciBpbmZyYXN0cnVjdHVyZSB3aGVuIHJlbG9hZGluZyBzY2VuZXMuIil9dGhpcy5uQ2FjaGVkT2JqZWN0c189bH1yZW1vdmUoKXtjb25zdCB0PXRoaXMuX29iamVjdHMsZT10aGlzLl9pbmRpY2VzQnlVVUlELG49dGhpcy5fYmluZGluZ3MsaT1uLmxlbmd0aDtsZXQgcj10aGlzLm5DYWNoZWRPYmplY3RzXztmb3IobGV0IG89MCxhPWFyZ3VtZW50cy5sZW5ndGg7byE9PWE7KytvKXtjb25zdCBhPWFyZ3VtZW50c1tvXSxzPWEudXVpZCxsPWVbc107aWYodm9pZCAwIT09bCYmbD49cil7Y29uc3Qgbz1yKyssYz10W29dO2VbYy51dWlkXT1sLHRbbF09YyxlW3NdPW8sdFtvXT1hO2ZvcihsZXQgdD0wLGU9aTt0IT09ZTsrK3Qpe2NvbnN0IGU9blt0XSxpPWVbbF07ZVtsXT1lW29dLGVbb109aX19fXRoaXMubkNhY2hlZE9iamVjdHNfPXJ9dW5jYWNoZSgpe2NvbnN0IHQ9dGhpcy5fb2JqZWN0cyxlPXRoaXMuX2luZGljZXNCeVVVSUQsbj10aGlzLl9iaW5kaW5ncyxpPW4ubGVuZ3RoO2xldCByPXRoaXMubkNhY2hlZE9iamVjdHNfLG89dC5sZW5ndGg7Zm9yKGxldCBhPTAscz1hcmd1bWVudHMubGVuZ3RoO2EhPT1zOysrYSl7Y29uc3Qgcz1hcmd1bWVudHNbYV0udXVpZCxsPWVbc107aWYodm9pZCAwIT09bClpZihkZWxldGUgZVtzXSxsPHIpe2NvbnN0IGE9LS1yLHM9dFthXSxjPS0tbyx1PXRbY107ZVtzLnV1aWRdPWwsdFtsXT1zLGVbdS51dWlkXT1hLHRbYV09dSx0LnBvcCgpO2ZvcihsZXQgdD0wLGU9aTt0IT09ZTsrK3Qpe2NvbnN0IGU9blt0XSxpPWVbY107ZVtsXT1lW2FdLGVbYV09aSxlLnBvcCgpfX1lbHNle2NvbnN0IHI9LS1vLGE9dFtyXTtyPjAmJihlW2EudXVpZF09bCksdFtsXT1hLHQucG9wKCk7Zm9yKGxldCB0PTAsZT1pO3QhPT1lOysrdCl7Y29uc3QgZT1uW3RdO2VbbF09ZVtyXSxlLnBvcCgpfX19dGhpcy5uQ2FjaGVkT2JqZWN0c189cn1zdWJzY3JpYmVfKHQsZSl7Y29uc3Qgbj10aGlzLl9iaW5kaW5nc0luZGljZXNCeVBhdGg7bGV0IGk9blt0XTtjb25zdCByPXRoaXMuX2JpbmRpbmdzO2lmKHZvaWQgMCE9PWkpcmV0dXJuIHJbaV07Y29uc3Qgbz10aGlzLl9wYXRocyxhPXRoaXMuX3BhcnNlZFBhdGhzLHM9dGhpcy5fb2JqZWN0cyxsPXRoaXMubkNhY2hlZE9iamVjdHNfLGM9bmV3IEFycmF5KHMubGVuZ3RoKTtpPXIubGVuZ3RoLG5bdF09aSxvLnB1c2godCksYS5wdXNoKGUpLHIucHVzaChjKTtmb3IobGV0IG49bCxpPXMubGVuZ3RoO24hPT1pOysrbil7Y1tuXT1uZXcgQWllKHNbbl0sdCxlKX1yZXR1cm4gY311bnN1YnNjcmliZV8odCl7Y29uc3QgZT10aGlzLl9iaW5kaW5nc0luZGljZXNCeVBhdGgsbj1lW3RdO2lmKHZvaWQgMCE9PW4pe2NvbnN0IGk9dGhpcy5fcGF0aHMscj10aGlzLl9wYXJzZWRQYXRocyxvPXRoaXMuX2JpbmRpbmdzLGE9by5sZW5ndGgtMSxzPW9bYV07ZVt0W2FdXT1uLG9bbl09cyxvLnBvcCgpLHJbbl09clthXSxyLnBvcCgpLGlbbl09aVthXSxpLnBvcCgpfX19a2llLnByb3RvdHlwZS5pc0FuaW1hdGlvbk9iamVjdEdyb3VwPSEwO2NsYXNzIExpZXtjb25zdHJ1Y3Rvcih0LGUsbj1udWxsLGk9ZS5ibGVuZE1vZGUpe3RoaXMuX21peGVyPXQsdGhpcy5fY2xpcD1lLHRoaXMuX2xvY2FsUm9vdD1uLHRoaXMuYmxlbmRNb2RlPWk7Y29uc3Qgcj1lLnRyYWNrcyxvPXIubGVuZ3RoLGE9bmV3IEFycmF5KG8pLHM9e2VuZGluZ1N0YXJ0OkgydCxlbmRpbmdFbmQ6SDJ0fTtmb3IobGV0IHQ9MDt0IT09bzsrK3Qpe2NvbnN0IGU9clt0XS5jcmVhdGVJbnRlcnBvbGFudChudWxsKTthW3RdPWUsZS5zZXR0aW5ncz1zfXRoaXMuX2ludGVycG9sYW50U2V0dGluZ3M9cyx0aGlzLl9pbnRlcnBvbGFudHM9YSx0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzPW5ldyBBcnJheShvKSx0aGlzLl9jYWNoZUluZGV4PW51bGwsdGhpcy5fYnlDbGlwQ2FjaGVJbmRleD1udWxsLHRoaXMuX3RpbWVTY2FsZUludGVycG9sYW50PW51bGwsdGhpcy5fd2VpZ2h0SW50ZXJwb2xhbnQ9bnVsbCx0aGlzLmxvb3A9MjIwMSx0aGlzLl9sb29wQ291bnQ9LTEsdGhpcy5fc3RhcnRUaW1lPW51bGwsdGhpcy50aW1lPTAsdGhpcy50aW1lU2NhbGU9MSx0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGU9MSx0aGlzLndlaWdodD0xLHRoaXMuX2VmZmVjdGl2ZVdlaWdodD0xLHRoaXMucmVwZXRpdGlvbnM9MS8wLHRoaXMucGF1c2VkPSExLHRoaXMuZW5hYmxlZD0hMCx0aGlzLmNsYW1wV2hlbkZpbmlzaGVkPSExLHRoaXMuemVyb1Nsb3BlQXRTdGFydD0hMCx0aGlzLnplcm9TbG9wZUF0RW5kPSEwfXBsYXkoKXtyZXR1cm4gdGhpcy5fbWl4ZXIuX2FjdGl2YXRlQWN0aW9uKHRoaXMpLHRoaXN9c3RvcCgpe3JldHVybiB0aGlzLl9taXhlci5fZGVhY3RpdmF0ZUFjdGlvbih0aGlzKSx0aGlzLnJlc2V0KCl9cmVzZXQoKXtyZXR1cm4gdGhpcy5wYXVzZWQ9ITEsdGhpcy5lbmFibGVkPSEwLHRoaXMudGltZT0wLHRoaXMuX2xvb3BDb3VudD0tMSx0aGlzLl9zdGFydFRpbWU9bnVsbCx0aGlzLnN0b3BGYWRpbmcoKS5zdG9wV2FycGluZygpfWlzUnVubmluZygpe3JldHVybiB0aGlzLmVuYWJsZWQmJiF0aGlzLnBhdXNlZCYmMCE9PXRoaXMudGltZVNjYWxlJiZudWxsPT09dGhpcy5fc3RhcnRUaW1lJiZ0aGlzLl9taXhlci5faXNBY3RpdmVBY3Rpb24odGhpcyl9aXNTY2hlZHVsZWQoKXtyZXR1cm4gdGhpcy5fbWl4ZXIuX2lzQWN0aXZlQWN0aW9uKHRoaXMpfXN0YXJ0QXQodCl7cmV0dXJuIHRoaXMuX3N0YXJ0VGltZT10LHRoaXN9c2V0TG9vcCh0LGUpe3JldHVybiB0aGlzLmxvb3A9dCx0aGlzLnJlcGV0aXRpb25zPWUsdGhpc31zZXRFZmZlY3RpdmVXZWlnaHQodCl7cmV0dXJuIHRoaXMud2VpZ2h0PXQsdGhpcy5fZWZmZWN0aXZlV2VpZ2h0PXRoaXMuZW5hYmxlZD90OjAsdGhpcy5zdG9wRmFkaW5nKCl9Z2V0RWZmZWN0aXZlV2VpZ2h0KCl7cmV0dXJuIHRoaXMuX2VmZmVjdGl2ZVdlaWdodH1mYWRlSW4odCl7cmV0dXJuIHRoaXMuX3NjaGVkdWxlRmFkaW5nKHQsMCwxKX1mYWRlT3V0KHQpe3JldHVybiB0aGlzLl9zY2hlZHVsZUZhZGluZyh0LDEsMCl9Y3Jvc3NGYWRlRnJvbSh0LGUsbil7aWYodC5mYWRlT3V0KGUpLHRoaXMuZmFkZUluKGUpLG4pe2NvbnN0IG49dGhpcy5fY2xpcC5kdXJhdGlvbixpPXQuX2NsaXAuZHVyYXRpb24scj1uL2k7dC53YXJwKDEsaS9uLGUpLHRoaXMud2FycChyLDEsZSl9cmV0dXJuIHRoaXN9Y3Jvc3NGYWRlVG8odCxlLG4pe3JldHVybiB0LmNyb3NzRmFkZUZyb20odGhpcyxlLG4pfXN0b3BGYWRpbmcoKXtjb25zdCB0PXRoaXMuX3dlaWdodEludGVycG9sYW50O3JldHVybiBudWxsIT09dCYmKHRoaXMuX3dlaWdodEludGVycG9sYW50PW51bGwsdGhpcy5fbWl4ZXIuX3Rha2VCYWNrQ29udHJvbEludGVycG9sYW50KHQpKSx0aGlzfXNldEVmZmVjdGl2ZVRpbWVTY2FsZSh0KXtyZXR1cm4gdGhpcy50aW1lU2NhbGU9dCx0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGU9dGhpcy5wYXVzZWQ/MDp0LHRoaXMuc3RvcFdhcnBpbmcoKX1nZXRFZmZlY3RpdmVUaW1lU2NhbGUoKXtyZXR1cm4gdGhpcy5fZWZmZWN0aXZlVGltZVNjYWxlfXNldER1cmF0aW9uKHQpe3JldHVybiB0aGlzLnRpbWVTY2FsZT10aGlzLl9jbGlwLmR1cmF0aW9uL3QsdGhpcy5zdG9wV2FycGluZygpfXN5bmNXaXRoKHQpe3JldHVybiB0aGlzLnRpbWU9dC50aW1lLHRoaXMudGltZVNjYWxlPXQudGltZVNjYWxlLHRoaXMuc3RvcFdhcnBpbmcoKX1oYWx0KHQpe3JldHVybiB0aGlzLndhcnAodGhpcy5fZWZmZWN0aXZlVGltZVNjYWxlLDAsdCl9d2FycCh0LGUsbil7Y29uc3QgaT10aGlzLl9taXhlcixyPWkudGltZSxvPXRoaXMudGltZVNjYWxlO2xldCBhPXRoaXMuX3RpbWVTY2FsZUludGVycG9sYW50O251bGw9PT1hJiYoYT1pLl9sZW5kQ29udHJvbEludGVycG9sYW50KCksdGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ9YSk7Y29uc3Qgcz1hLnBhcmFtZXRlclBvc2l0aW9ucyxsPWEuc2FtcGxlVmFsdWVzO3JldHVybiBzWzBdPXIsc1sxXT1yK24sbFswXT10L28sbFsxXT1lL28sdGhpc31zdG9wV2FycGluZygpe2NvbnN0IHQ9dGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ7cmV0dXJuIG51bGwhPT10JiYodGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ9bnVsbCx0aGlzLl9taXhlci5fdGFrZUJhY2tDb250cm9sSW50ZXJwb2xhbnQodCkpLHRoaXN9Z2V0TWl4ZXIoKXtyZXR1cm4gdGhpcy5fbWl4ZXJ9Z2V0Q2xpcCgpe3JldHVybiB0aGlzLl9jbGlwfWdldFJvb3QoKXtyZXR1cm4gdGhpcy5fbG9jYWxSb290fHx0aGlzLl9taXhlci5fcm9vdH1fdXBkYXRlKHQsZSxuLGkpe2lmKCF0aGlzLmVuYWJsZWQpcmV0dXJuIHZvaWQgdGhpcy5fdXBkYXRlV2VpZ2h0KHQpO2NvbnN0IHI9dGhpcy5fc3RhcnRUaW1lO2lmKG51bGwhPT1yKXtjb25zdCBpPSh0LXIpKm47aWYoaTwwfHwwPT09bilyZXR1cm47dGhpcy5fc3RhcnRUaW1lPW51bGwsZT1uKml9ZSo9dGhpcy5fdXBkYXRlVGltZVNjYWxlKHQpO2NvbnN0IG89dGhpcy5fdXBkYXRlVGltZShlKSxhPXRoaXMuX3VwZGF0ZVdlaWdodCh0KTtpZihhPjApe2NvbnN0IHQ9dGhpcy5faW50ZXJwb2xhbnRzLGU9dGhpcy5fcHJvcGVydHlCaW5kaW5ncztzd2l0Y2godGhpcy5ibGVuZE1vZGUpe2Nhc2UgajJ0OmZvcihsZXQgbj0wLGk9dC5sZW5ndGg7biE9PWk7KytuKXRbbl0uZXZhbHVhdGUobyksZVtuXS5hY2N1bXVsYXRlQWRkaXRpdmUoYSk7YnJlYWs7Y2FzZSBVMnQ6ZGVmYXVsdDpmb3IobGV0IG49MCxyPXQubGVuZ3RoO24hPT1yOysrbil0W25dLmV2YWx1YXRlKG8pLGVbbl0uYWNjdW11bGF0ZShpLGEpfX19X3VwZGF0ZVdlaWdodCh0KXtsZXQgZT0wO2lmKHRoaXMuZW5hYmxlZCl7ZT10aGlzLndlaWdodDtjb25zdCBuPXRoaXMuX3dlaWdodEludGVycG9sYW50O2lmKG51bGwhPT1uKXtjb25zdCBpPW4uZXZhbHVhdGUodClbMF07ZSo9aSx0Pm4ucGFyYW1ldGVyUG9zaXRpb25zWzFdJiYodGhpcy5zdG9wRmFkaW5nKCksMD09PWkmJih0aGlzLmVuYWJsZWQ9ITEpKX19cmV0dXJuIHRoaXMuX2VmZmVjdGl2ZVdlaWdodD1lLGV9X3VwZGF0ZVRpbWVTY2FsZSh0KXtsZXQgZT0wO2lmKCF0aGlzLnBhdXNlZCl7ZT10aGlzLnRpbWVTY2FsZTtjb25zdCBuPXRoaXMuX3RpbWVTY2FsZUludGVycG9sYW50O2lmKG51bGwhPT1uKXtlKj1uLmV2YWx1YXRlKHQpWzBdLHQ+bi5wYXJhbWV0ZXJQb3NpdGlvbnNbMV0mJih0aGlzLnN0b3BXYXJwaW5nKCksMD09PWU/dGhpcy5wYXVzZWQ9ITA6dGhpcy50aW1lU2NhbGU9ZSl9fXJldHVybiB0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGU9ZSxlfV91cGRhdGVUaW1lKHQpe2NvbnN0IGU9dGhpcy5fY2xpcC5kdXJhdGlvbixuPXRoaXMubG9vcDtsZXQgaT10aGlzLnRpbWUrdCxyPXRoaXMuX2xvb3BDb3VudDtjb25zdCBvPTIyMDI9PT1uO2lmKDA9PT10KXJldHVybi0xPT09cj9pOm8mJjE9PSgxJnIpP2UtaTppO2lmKDIyMDA9PT1uKXstMT09PXImJih0aGlzLl9sb29wQ291bnQ9MCx0aGlzLl9zZXRFbmRpbmdzKCEwLCEwLCExKSk7dDp7aWYoaT49ZSlpPWU7ZWxzZXtpZighKGk8MCkpe3RoaXMudGltZT1pO2JyZWFrIHR9aT0wfXRoaXMuY2xhbXBXaGVuRmluaXNoZWQ/dGhpcy5wYXVzZWQ9ITA6dGhpcy5lbmFibGVkPSExLHRoaXMudGltZT1pLHRoaXMuX21peGVyLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImZpbmlzaGVkIixhY3Rpb246dGhpcyxkaXJlY3Rpb246dDwwPy0xOjF9KX19ZWxzZXtpZigtMT09PXImJih0Pj0wPyhyPTAsdGhpcy5fc2V0RW5kaW5ncyghMCwwPT09dGhpcy5yZXBldGl0aW9ucyxvKSk6dGhpcy5fc2V0RW5kaW5ncygwPT09dGhpcy5yZXBldGl0aW9ucywhMCxvKSksaT49ZXx8aTwwKXtjb25zdCBuPU1hdGguZmxvb3IoaS9lKTtpLT1lKm4scis9TWF0aC5hYnMobik7Y29uc3QgYT10aGlzLnJlcGV0aXRpb25zLXI7aWYoYTw9MCl0aGlzLmNsYW1wV2hlbkZpbmlzaGVkP3RoaXMucGF1c2VkPSEwOnRoaXMuZW5hYmxlZD0hMSxpPXQ+MD9lOjAsdGhpcy50aW1lPWksdGhpcy5fbWl4ZXIuZGlzcGF0Y2hFdmVudCh7dHlwZToiZmluaXNoZWQiLGFjdGlvbjp0aGlzLGRpcmVjdGlvbjp0PjA/MTotMX0pO2Vsc2V7aWYoMT09PWEpe2NvbnN0IGU9dDwwO3RoaXMuX3NldEVuZGluZ3MoZSwhZSxvKX1lbHNlIHRoaXMuX3NldEVuZGluZ3MoITEsITEsbyk7dGhpcy5fbG9vcENvdW50PXIsdGhpcy50aW1lPWksdGhpcy5fbWl4ZXIuZGlzcGF0Y2hFdmVudCh7dHlwZToibG9vcCIsYWN0aW9uOnRoaXMsbG9vcERlbHRhOm59KX19ZWxzZSB0aGlzLnRpbWU9aTtpZihvJiYxPT0oMSZyKSlyZXR1cm4gZS1pfXJldHVybiBpfV9zZXRFbmRpbmdzKHQsZSxuKXtjb25zdCBpPXRoaXMuX2ludGVycG9sYW50U2V0dGluZ3M7bj8oaS5lbmRpbmdTdGFydD1GMnQsaS5lbmRpbmdFbmQ9RjJ0KTooaS5lbmRpbmdTdGFydD10P3RoaXMuemVyb1Nsb3BlQXRTdGFydD9GMnQ6SDJ0OlYydCxpLmVuZGluZ0VuZD1lP3RoaXMuemVyb1Nsb3BlQXRFbmQ/RjJ0OkgydDpWMnQpfV9zY2hlZHVsZUZhZGluZyh0LGUsbil7Y29uc3QgaT10aGlzLl9taXhlcixyPWkudGltZTtsZXQgbz10aGlzLl93ZWlnaHRJbnRlcnBvbGFudDtudWxsPT09byYmKG89aS5fbGVuZENvbnRyb2xJbnRlcnBvbGFudCgpLHRoaXMuX3dlaWdodEludGVycG9sYW50PW8pO2NvbnN0IGE9by5wYXJhbWV0ZXJQb3NpdGlvbnMscz1vLnNhbXBsZVZhbHVlcztyZXR1cm4gYVswXT1yLHNbMF09ZSxhWzFdPXIrdCxzWzFdPW4sdGhpc319Y2xhc3MgUGllIGV4dGVuZHMgZTV0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5fcm9vdD10LHRoaXMuX2luaXRNZW1vcnlNYW5hZ2VyKCksdGhpcy5fYWNjdUluZGV4PTAsdGhpcy50aW1lPTAsdGhpcy50aW1lU2NhbGU9MX1fYmluZEFjdGlvbih0LGUpe2NvbnN0IG49dC5fbG9jYWxSb290fHx0aGlzLl9yb290LGk9dC5fY2xpcC50cmFja3Mscj1pLmxlbmd0aCxvPXQuX3Byb3BlcnR5QmluZGluZ3MsYT10Ll9pbnRlcnBvbGFudHMscz1uLnV1aWQsbD10aGlzLl9iaW5kaW5nc0J5Um9vdEFuZE5hbWU7bGV0IGM9bFtzXTt2b2lkIDA9PT1jJiYoYz17fSxsW3NdPWMpO2ZvcihsZXQgdD0wO3QhPT1yOysrdCl7Y29uc3Qgcj1pW3RdLGw9ci5uYW1lO2xldCB1PWNbbF07aWYodm9pZCAwIT09dSlvW3RdPXU7ZWxzZXtpZih1PW9bdF0sdm9pZCAwIT09dSl7bnVsbD09PXUuX2NhY2hlSW5kZXgmJigrK3UucmVmZXJlbmNlQ291bnQsdGhpcy5fYWRkSW5hY3RpdmVCaW5kaW5nKHUscyxsKSk7Y29udGludWV9dT1uZXcgX2llKEFpZS5jcmVhdGUobixsLGUmJmUuX3Byb3BlcnR5QmluZGluZ3NbdF0uYmluZGluZy5wYXJzZWRQYXRoKSxyLlZhbHVlVHlwZU5hbWUsci5nZXRWYWx1ZVNpemUoKSksKyt1LnJlZmVyZW5jZUNvdW50LHRoaXMuX2FkZEluYWN0aXZlQmluZGluZyh1LHMsbCksb1t0XT11fWFbdF0ucmVzdWx0QnVmZmVyPXUuYnVmZmVyfX1fYWN0aXZhdGVBY3Rpb24odCl7aWYoIXRoaXMuX2lzQWN0aXZlQWN0aW9uKHQpKXtpZihudWxsPT09dC5fY2FjaGVJbmRleCl7Y29uc3QgZT0odC5fbG9jYWxSb290fHx0aGlzLl9yb290KS51dWlkLG49dC5fY2xpcC51dWlkLGk9dGhpcy5fYWN0aW9uc0J5Q2xpcFtuXTt0aGlzLl9iaW5kQWN0aW9uKHQsaSYmaS5rbm93bkFjdGlvbnNbMF0pLHRoaXMuX2FkZEluYWN0aXZlQWN0aW9uKHQsbixlKX1jb25zdCBlPXQuX3Byb3BlcnR5QmluZGluZ3M7Zm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0IT09bjsrK3Qpe2NvbnN0IG49ZVt0XTswPT1uLnVzZUNvdW50KysmJih0aGlzLl9sZW5kQmluZGluZyhuKSxuLnNhdmVPcmlnaW5hbFN0YXRlKCkpfXRoaXMuX2xlbmRBY3Rpb24odCl9fV9kZWFjdGl2YXRlQWN0aW9uKHQpe2lmKHRoaXMuX2lzQWN0aXZlQWN0aW9uKHQpKXtjb25zdCBlPXQuX3Byb3BlcnR5QmluZGluZ3M7Zm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0IT09bjsrK3Qpe2NvbnN0IG49ZVt0XTswPT0tLW4udXNlQ291bnQmJihuLnJlc3RvcmVPcmlnaW5hbFN0YXRlKCksdGhpcy5fdGFrZUJhY2tCaW5kaW5nKG4pKX10aGlzLl90YWtlQmFja0FjdGlvbih0KX19X2luaXRNZW1vcnlNYW5hZ2VyKCl7dGhpcy5fYWN0aW9ucz1bXSx0aGlzLl9uQWN0aXZlQWN0aW9ucz0wLHRoaXMuX2FjdGlvbnNCeUNsaXA9e30sdGhpcy5fYmluZGluZ3M9W10sdGhpcy5fbkFjdGl2ZUJpbmRpbmdzPTAsdGhpcy5fYmluZGluZ3NCeVJvb3RBbmROYW1lPXt9LHRoaXMuX2NvbnRyb2xJbnRlcnBvbGFudHM9W10sdGhpcy5fbkFjdGl2ZUNvbnRyb2xJbnRlcnBvbGFudHM9MDtjb25zdCB0PXRoaXM7dGhpcy5zdGF0cz17YWN0aW9uczp7Z2V0IHRvdGFsKCl7cmV0dXJuIHQuX2FjdGlvbnMubGVuZ3RofSxnZXQgaW5Vc2UoKXtyZXR1cm4gdC5fbkFjdGl2ZUFjdGlvbnN9fSxiaW5kaW5nczp7Z2V0IHRvdGFsKCl7cmV0dXJuIHQuX2JpbmRpbmdzLmxlbmd0aH0sZ2V0IGluVXNlKCl7cmV0dXJuIHQuX25BY3RpdmVCaW5kaW5nc319LGNvbnRyb2xJbnRlcnBvbGFudHM6e2dldCB0b3RhbCgpe3JldHVybiB0Ll9jb250cm9sSW50ZXJwb2xhbnRzLmxlbmd0aH0sZ2V0IGluVXNlKCl7cmV0dXJuIHQuX25BY3RpdmVDb250cm9sSW50ZXJwb2xhbnRzfX19fV9pc0FjdGl2ZUFjdGlvbih0KXtjb25zdCBlPXQuX2NhY2hlSW5kZXg7cmV0dXJuIG51bGwhPT1lJiZlPHRoaXMuX25BY3RpdmVBY3Rpb25zfV9hZGRJbmFjdGl2ZUFjdGlvbih0LGUsbil7Y29uc3QgaT10aGlzLl9hY3Rpb25zLHI9dGhpcy5fYWN0aW9uc0J5Q2xpcDtsZXQgbz1yW2VdO2lmKHZvaWQgMD09PW8pbz17a25vd25BY3Rpb25zOlt0XSxhY3Rpb25CeVJvb3Q6e319LHQuX2J5Q2xpcENhY2hlSW5kZXg9MCxyW2VdPW87ZWxzZXtjb25zdCBlPW8ua25vd25BY3Rpb25zO3QuX2J5Q2xpcENhY2hlSW5kZXg9ZS5sZW5ndGgsZS5wdXNoKHQpfXQuX2NhY2hlSW5kZXg9aS5sZW5ndGgsaS5wdXNoKHQpLG8uYWN0aW9uQnlSb290W25dPXR9X3JlbW92ZUluYWN0aXZlQWN0aW9uKHQpe2NvbnN0IGU9dGhpcy5fYWN0aW9ucyxuPWVbZS5sZW5ndGgtMV0saT10Ll9jYWNoZUluZGV4O24uX2NhY2hlSW5kZXg9aSxlW2ldPW4sZS5wb3AoKSx0Ll9jYWNoZUluZGV4PW51bGw7Y29uc3Qgcj10Ll9jbGlwLnV1aWQsbz10aGlzLl9hY3Rpb25zQnlDbGlwLGE9b1tyXSxzPWEua25vd25BY3Rpb25zLGw9c1tzLmxlbmd0aC0xXSxjPXQuX2J5Q2xpcENhY2hlSW5kZXg7bC5fYnlDbGlwQ2FjaGVJbmRleD1jLHNbY109bCxzLnBvcCgpLHQuX2J5Q2xpcENhY2hlSW5kZXg9bnVsbDtkZWxldGUgYS5hY3Rpb25CeVJvb3RbKHQuX2xvY2FsUm9vdHx8dGhpcy5fcm9vdCkudXVpZF0sMD09PXMubGVuZ3RoJiZkZWxldGUgb1tyXSx0aGlzLl9yZW1vdmVJbmFjdGl2ZUJpbmRpbmdzRm9yQWN0aW9uKHQpfV9yZW1vdmVJbmFjdGl2ZUJpbmRpbmdzRm9yQWN0aW9uKHQpe2NvbnN0IGU9dC5fcHJvcGVydHlCaW5kaW5ncztmb3IobGV0IHQ9MCxuPWUubGVuZ3RoO3QhPT1uOysrdCl7Y29uc3Qgbj1lW3RdOzA9PS0tbi5yZWZlcmVuY2VDb3VudCYmdGhpcy5fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKG4pfX1fbGVuZEFjdGlvbih0KXtjb25zdCBlPXRoaXMuX2FjdGlvbnMsbj10Ll9jYWNoZUluZGV4LGk9dGhpcy5fbkFjdGl2ZUFjdGlvbnMrKyxyPWVbaV07dC5fY2FjaGVJbmRleD1pLGVbaV09dCxyLl9jYWNoZUluZGV4PW4sZVtuXT1yfV90YWtlQmFja0FjdGlvbih0KXtjb25zdCBlPXRoaXMuX2FjdGlvbnMsbj10Ll9jYWNoZUluZGV4LGk9LS10aGlzLl9uQWN0aXZlQWN0aW9ucyxyPWVbaV07dC5fY2FjaGVJbmRleD1pLGVbaV09dCxyLl9jYWNoZUluZGV4PW4sZVtuXT1yfV9hZGRJbmFjdGl2ZUJpbmRpbmcodCxlLG4pe2NvbnN0IGk9dGhpcy5fYmluZGluZ3NCeVJvb3RBbmROYW1lLHI9dGhpcy5fYmluZGluZ3M7bGV0IG89aVtlXTt2b2lkIDA9PT1vJiYobz17fSxpW2VdPW8pLG9bbl09dCx0Ll9jYWNoZUluZGV4PXIubGVuZ3RoLHIucHVzaCh0KX1fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKHQpe2NvbnN0IGU9dGhpcy5fYmluZGluZ3Msbj10LmJpbmRpbmcsaT1uLnJvb3ROb2RlLnV1aWQscj1uLnBhdGgsbz10aGlzLl9iaW5kaW5nc0J5Um9vdEFuZE5hbWUsYT1vW2ldLHM9ZVtlLmxlbmd0aC0xXSxsPXQuX2NhY2hlSW5kZXg7cy5fY2FjaGVJbmRleD1sLGVbbF09cyxlLnBvcCgpLGRlbGV0ZSBhW3JdLDA9PT1PYmplY3Qua2V5cyhhKS5sZW5ndGgmJmRlbGV0ZSBvW2ldfV9sZW5kQmluZGluZyh0KXtjb25zdCBlPXRoaXMuX2JpbmRpbmdzLG49dC5fY2FjaGVJbmRleCxpPXRoaXMuX25BY3RpdmVCaW5kaW5ncysrLHI9ZVtpXTt0Ll9jYWNoZUluZGV4PWksZVtpXT10LHIuX2NhY2hlSW5kZXg9bixlW25dPXJ9X3Rha2VCYWNrQmluZGluZyh0KXtjb25zdCBlPXRoaXMuX2JpbmRpbmdzLG49dC5fY2FjaGVJbmRleCxpPS0tdGhpcy5fbkFjdGl2ZUJpbmRpbmdzLHI9ZVtpXTt0Ll9jYWNoZUluZGV4PWksZVtpXT10LHIuX2NhY2hlSW5kZXg9bixlW25dPXJ9X2xlbmRDb250cm9sSW50ZXJwb2xhbnQoKXtjb25zdCB0PXRoaXMuX2NvbnRyb2xJbnRlcnBvbGFudHMsZT10aGlzLl9uQWN0aXZlQ29udHJvbEludGVycG9sYW50cysrO2xldCBuPXRbZV07cmV0dXJuIHZvaWQgMD09PW4mJihuPW5ldyBLZWUobmV3IEZsb2F0MzJBcnJheSgyKSxuZXcgRmxvYXQzMkFycmF5KDIpLDEsdGhpcy5fY29udHJvbEludGVycG9sYW50c1Jlc3VsdEJ1ZmZlciksbi5fX2NhY2hlSW5kZXg9ZSx0W2VdPW4pLG59X3Rha2VCYWNrQ29udHJvbEludGVycG9sYW50KHQpe2NvbnN0IGU9dGhpcy5fY29udHJvbEludGVycG9sYW50cyxuPXQuX19jYWNoZUluZGV4LGk9LS10aGlzLl9uQWN0aXZlQ29udHJvbEludGVycG9sYW50cyxyPWVbaV07dC5fX2NhY2hlSW5kZXg9aSxlW2ldPXQsci5fX2NhY2hlSW5kZXg9bixlW25dPXJ9Y2xpcEFjdGlvbih0LGUsbil7Y29uc3QgaT1lfHx0aGlzLl9yb290LHI9aS51dWlkO2xldCBvPSJzdHJpbmciPT10eXBlb2YgdD9hbmUuZmluZEJ5TmFtZShpLHQpOnQ7Y29uc3QgYT1udWxsIT09bz9vLnV1aWQ6dCxzPXRoaXMuX2FjdGlvbnNCeUNsaXBbYV07bGV0IGw9bnVsbDtpZih2b2lkIDA9PT1uJiYobj1udWxsIT09bz9vLmJsZW5kTW9kZTpVMnQpLHZvaWQgMCE9PXMpe2NvbnN0IHQ9cy5hY3Rpb25CeVJvb3Rbcl07aWYodm9pZCAwIT09dCYmdC5ibGVuZE1vZGU9PT1uKXJldHVybiB0O2w9cy5rbm93bkFjdGlvbnNbMF0sbnVsbD09PW8mJihvPWwuX2NsaXApfWlmKG51bGw9PT1vKXJldHVybiBudWxsO2NvbnN0IGM9bmV3IExpZSh0aGlzLG8sZSxuKTtyZXR1cm4gdGhpcy5fYmluZEFjdGlvbihjLGwpLHRoaXMuX2FkZEluYWN0aXZlQWN0aW9uKGMsYSxyKSxjfWV4aXN0aW5nQWN0aW9uKHQsZSl7Y29uc3Qgbj1lfHx0aGlzLl9yb290LGk9bi51dWlkLHI9InN0cmluZyI9PXR5cGVvZiB0P2FuZS5maW5kQnlOYW1lKG4sdCk6dCxvPXRoaXMuX2FjdGlvbnNCeUNsaXBbcj9yLnV1aWQ6dF07cmV0dXJuIHZvaWQgMCE9PW8mJm8uYWN0aW9uQnlSb290W2ldfHxudWxsfXN0b3BBbGxBY3Rpb24oKXtjb25zdCB0PXRoaXMuX2FjdGlvbnM7Zm9yKGxldCBlPXRoaXMuX25BY3RpdmVBY3Rpb25zLTE7ZT49MDstLWUpdFtlXS5zdG9wKCk7cmV0dXJuIHRoaXN9dXBkYXRlKHQpe2NvbnN0IGU9dGhpcy5fYWN0aW9ucyxuPXRoaXMuX25BY3RpdmVBY3Rpb25zLGk9dGhpcy50aW1lKz10Kj10aGlzLnRpbWVTY2FsZSxyPU1hdGguc2lnbih0KSxvPXRoaXMuX2FjY3VJbmRleF49MTtmb3IobGV0IGE9MDthIT09bjsrK2Epe2VbYV0uX3VwZGF0ZShpLHQscixvKX1jb25zdCBhPXRoaXMuX2JpbmRpbmdzLHM9dGhpcy5fbkFjdGl2ZUJpbmRpbmdzO2ZvcihsZXQgdD0wO3QhPT1zOysrdClhW3RdLmFwcGx5KG8pO3JldHVybiB0aGlzfXNldFRpbWUodCl7dGhpcy50aW1lPTA7Zm9yKGxldCB0PTA7dDx0aGlzLl9hY3Rpb25zLmxlbmd0aDt0KyspdGhpcy5fYWN0aW9uc1t0XS50aW1lPTA7cmV0dXJuIHRoaXMudXBkYXRlKHQpfWdldFJvb3QoKXtyZXR1cm4gdGhpcy5fcm9vdH11bmNhY2hlQ2xpcCh0KXtjb25zdCBlPXRoaXMuX2FjdGlvbnMsbj10LnV1aWQsaT10aGlzLl9hY3Rpb25zQnlDbGlwLHI9aVtuXTtpZih2b2lkIDAhPT1yKXtjb25zdCB0PXIua25vd25BY3Rpb25zO2ZvcihsZXQgbj0wLGk9dC5sZW5ndGg7biE9PWk7KytuKXtjb25zdCBpPXRbbl07dGhpcy5fZGVhY3RpdmF0ZUFjdGlvbihpKTtjb25zdCByPWkuX2NhY2hlSW5kZXgsbz1lW2UubGVuZ3RoLTFdO2kuX2NhY2hlSW5kZXg9bnVsbCxpLl9ieUNsaXBDYWNoZUluZGV4PW51bGwsby5fY2FjaGVJbmRleD1yLGVbcl09byxlLnBvcCgpLHRoaXMuX3JlbW92ZUluYWN0aXZlQmluZGluZ3NGb3JBY3Rpb24oaSl9ZGVsZXRlIGlbbl19fXVuY2FjaGVSb290KHQpe2NvbnN0IGU9dC51dWlkLG49dGhpcy5fYWN0aW9uc0J5Q2xpcDtmb3IoY29uc3QgdCBpbiBuKXtjb25zdCBpPW5bdF0uYWN0aW9uQnlSb290W2VdO3ZvaWQgMCE9PWkmJih0aGlzLl9kZWFjdGl2YXRlQWN0aW9uKGkpLHRoaXMuX3JlbW92ZUluYWN0aXZlQWN0aW9uKGkpKX1jb25zdCBpPXRoaXMuX2JpbmRpbmdzQnlSb290QW5kTmFtZVtlXTtpZih2b2lkIDAhPT1pKWZvcihjb25zdCB0IGluIGkpe2NvbnN0IGU9aVt0XTtlLnJlc3RvcmVPcmlnaW5hbFN0YXRlKCksdGhpcy5fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKGUpfX11bmNhY2hlQWN0aW9uKHQsZSl7Y29uc3Qgbj10aGlzLmV4aXN0aW5nQWN0aW9uKHQsZSk7bnVsbCE9PW4mJih0aGlzLl9kZWFjdGl2YXRlQWN0aW9uKG4pLHRoaXMuX3JlbW92ZUluYWN0aXZlQWN0aW9uKG4pKX19UGllLnByb3RvdHlwZS5fY29udHJvbEludGVycG9sYW50c1Jlc3VsdEJ1ZmZlcj1uZXcgRmxvYXQzMkFycmF5KDEpO2NsYXNzIE5pZXtjb25zdHJ1Y3Rvcih0KXsic3RyaW5nIj09dHlwZW9mIHQmJihjb25zb2xlLndhcm4oIlRIUkVFLlVuaWZvcm06IFR5cGUgcGFyYW1ldGVyIGlzIG5vIGxvbmdlciBuZWVkZWQuIiksdD1hcmd1bWVudHNbMV0pLHRoaXMudmFsdWU9dH1jbG9uZSgpe3JldHVybiBuZXcgTmllKHZvaWQgMD09PXRoaXMudmFsdWUuY2xvbmU/dGhpcy52YWx1ZTp0aGlzLnZhbHVlLmNsb25lKCkpfX1jbGFzcyBJaWUgZXh0ZW5kcyB1N3R7Y29uc3RydWN0b3IodCxlLG49MSl7c3VwZXIodCxlKSx0aGlzLm1lc2hQZXJBdHRyaWJ1dGU9bn1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMubWVzaFBlckF0dHJpYnV0ZT10Lm1lc2hQZXJBdHRyaWJ1dGUsdGhpc31jbG9uZSh0KXtjb25zdCBlPXN1cGVyLmNsb25lKHQpO3JldHVybiBlLm1lc2hQZXJBdHRyaWJ1dGU9dGhpcy5tZXNoUGVyQXR0cmlidXRlLGV9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO3JldHVybiBlLmlzSW5zdGFuY2VkSW50ZXJsZWF2ZWRCdWZmZXI9ITAsZS5tZXNoUGVyQXR0cmlidXRlPXRoaXMubWVzaFBlckF0dHJpYnV0ZSxlfX1JaWUucHJvdG90eXBlLmlzSW5zdGFuY2VkSW50ZXJsZWF2ZWRCdWZmZXI9ITA7Y2xhc3MgUmlle2NvbnN0cnVjdG9yKHQsZSxuLGkscil7dGhpcy5idWZmZXI9dCx0aGlzLnR5cGU9ZSx0aGlzLml0ZW1TaXplPW4sdGhpcy5lbGVtZW50U2l6ZT1pLHRoaXMuY291bnQ9cix0aGlzLnZlcnNpb249MH1zZXQgbmVlZHNVcGRhdGUodCl7ITA9PT10JiZ0aGlzLnZlcnNpb24rK31zZXRCdWZmZXIodCl7cmV0dXJuIHRoaXMuYnVmZmVyPXQsdGhpc31zZXRUeXBlKHQsZSl7cmV0dXJuIHRoaXMudHlwZT10LHRoaXMuZWxlbWVudFNpemU9ZSx0aGlzfXNldEl0ZW1TaXplKHQpe3JldHVybiB0aGlzLml0ZW1TaXplPXQsdGhpc31zZXRDb3VudCh0KXtyZXR1cm4gdGhpcy5jb3VudD10LHRoaXN9fVJpZS5wcm90b3R5cGUuaXNHTEJ1ZmZlckF0dHJpYnV0ZT0hMDtmdW5jdGlvbiBPaWUodCxlKXtyZXR1cm4gdC5kaXN0YW5jZS1lLmRpc3RhbmNlfWZ1bmN0aW9uIHppZSh0LGUsbixpKXtpZih0LmxheWVycy50ZXN0KGUubGF5ZXJzKSYmdC5yYXljYXN0KGUsbiksITA9PT1pKXtjb25zdCBpPXQuY2hpbGRyZW47Zm9yKGxldCB0PTAscj1pLmxlbmd0aDt0PHI7dCsrKXppZShpW3RdLGUsbiwhMCl9fWNsYXNzIERpZXtjb25zdHJ1Y3Rvcih0PTEsZT0wLG49MCl7cmV0dXJuIHRoaXMucmFkaXVzPXQsdGhpcy5waGk9ZSx0aGlzLnRoZXRhPW4sdGhpc31zZXQodCxlLG4pe3JldHVybiB0aGlzLnJhZGl1cz10LHRoaXMucGhpPWUsdGhpcy50aGV0YT1uLHRoaXN9Y29weSh0KXtyZXR1cm4gdGhpcy5yYWRpdXM9dC5yYWRpdXMsdGhpcy5waGk9dC5waGksdGhpcy50aGV0YT10LnRoZXRhLHRoaXN9bWFrZVNhZmUoKXtjb25zdCB0PTFlLTY7cmV0dXJuIHRoaXMucGhpPU1hdGgubWF4KHQsTWF0aC5taW4oTWF0aC5QSS10LHRoaXMucGhpKSksdGhpc31zZXRGcm9tVmVjdG9yMyh0KXtyZXR1cm4gdGhpcy5zZXRGcm9tQ2FydGVzaWFuQ29vcmRzKHQueCx0LnksdC56KX1zZXRGcm9tQ2FydGVzaWFuQ29vcmRzKHQsZSxuKXtyZXR1cm4gdGhpcy5yYWRpdXM9TWF0aC5zcXJ0KHQqdCtlKmUrbipuKSwwPT09dGhpcy5yYWRpdXM/KHRoaXMudGhldGE9MCx0aGlzLnBoaT0wKToodGhpcy50aGV0YT1NYXRoLmF0YW4yKHQsbiksdGhpcy5waGk9TWF0aC5hY29zKHM1dChlL3RoaXMucmFkaXVzLC0xLDEpKSksdGhpc31jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX19Y29uc3QgQmllPW5ldyBDNXQ7Y2xhc3MgSGlle2NvbnN0cnVjdG9yKHQ9bmV3IEM1dCgxLzAsMS8wKSxlPW5ldyBDNXQoLTEvMCwtMS8wKSl7dGhpcy5taW49dCx0aGlzLm1heD1lfXNldCh0LGUpe3JldHVybiB0aGlzLm1pbi5jb3B5KHQpLHRoaXMubWF4LmNvcHkoZSksdGhpc31zZXRGcm9tUG9pbnRzKHQpe3RoaXMubWFrZUVtcHR5KCk7Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXRoaXMuZXhwYW5kQnlQb2ludCh0W2VdKTtyZXR1cm4gdGhpc31zZXRGcm9tQ2VudGVyQW5kU2l6ZSh0LGUpe2NvbnN0IG49QmllLmNvcHkoZSkubXVsdGlwbHlTY2FsYXIoLjUpO3JldHVybiB0aGlzLm1pbi5jb3B5KHQpLnN1YihuKSx0aGlzLm1heC5jb3B5KHQpLmFkZChuKSx0aGlzfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfWNvcHkodCl7cmV0dXJuIHRoaXMubWluLmNvcHkodC5taW4pLHRoaXMubWF4LmNvcHkodC5tYXgpLHRoaXN9bWFrZUVtcHR5KCl7cmV0dXJuIHRoaXMubWluLng9dGhpcy5taW4ueT0xLzAsdGhpcy5tYXgueD10aGlzLm1heC55PS0xLzAsdGhpc31pc0VtcHR5KCl7cmV0dXJuIHRoaXMubWF4Lng8dGhpcy5taW4ueHx8dGhpcy5tYXgueTx0aGlzLm1pbi55fWdldENlbnRlcih0KXtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/dC5zZXQoMCwwKTp0LmFkZFZlY3RvcnModGhpcy5taW4sdGhpcy5tYXgpLm11bHRpcGx5U2NhbGFyKC41KX1nZXRTaXplKHQpe3JldHVybiB0aGlzLmlzRW1wdHkoKT90LnNldCgwLDApOnQuc3ViVmVjdG9ycyh0aGlzLm1heCx0aGlzLm1pbil9ZXhwYW5kQnlQb2ludCh0KXtyZXR1cm4gdGhpcy5taW4ubWluKHQpLHRoaXMubWF4Lm1heCh0KSx0aGlzfWV4cGFuZEJ5VmVjdG9yKHQpe3JldHVybiB0aGlzLm1pbi5zdWIodCksdGhpcy5tYXguYWRkKHQpLHRoaXN9ZXhwYW5kQnlTY2FsYXIodCl7cmV0dXJuIHRoaXMubWluLmFkZFNjYWxhcigtdCksdGhpcy5tYXguYWRkU2NhbGFyKHQpLHRoaXN9Y29udGFpbnNQb2ludCh0KXtyZXR1cm4hKHQueDx0aGlzLm1pbi54fHx0Lng+dGhpcy5tYXgueHx8dC55PHRoaXMubWluLnl8fHQueT50aGlzLm1heC55KX1jb250YWluc0JveCh0KXtyZXR1cm4gdGhpcy5taW4ueDw9dC5taW4ueCYmdC5tYXgueDw9dGhpcy5tYXgueCYmdGhpcy5taW4ueTw9dC5taW4ueSYmdC5tYXgueTw9dGhpcy5tYXgueX1nZXRQYXJhbWV0ZXIodCxlKXtyZXR1cm4gZS5zZXQoKHQueC10aGlzLm1pbi54KS8odGhpcy5tYXgueC10aGlzLm1pbi54KSwodC55LXRoaXMubWluLnkpLyh0aGlzLm1heC55LXRoaXMubWluLnkpKX1pbnRlcnNlY3RzQm94KHQpe3JldHVybiEodC5tYXgueDx0aGlzLm1pbi54fHx0Lm1pbi54PnRoaXMubWF4Lnh8fHQubWF4Lnk8dGhpcy5taW4ueXx8dC5taW4ueT50aGlzLm1heC55KX1jbGFtcFBvaW50KHQsZSl7cmV0dXJuIGUuY29weSh0KS5jbGFtcCh0aGlzLm1pbix0aGlzLm1heCl9ZGlzdGFuY2VUb1BvaW50KHQpe3JldHVybiBCaWUuY29weSh0KS5jbGFtcCh0aGlzLm1pbix0aGlzLm1heCkuc3ViKHQpLmxlbmd0aCgpfWludGVyc2VjdCh0KXtyZXR1cm4gdGhpcy5taW4ubWF4KHQubWluKSx0aGlzLm1heC5taW4odC5tYXgpLHRoaXN9dW5pb24odCl7cmV0dXJuIHRoaXMubWluLm1pbih0Lm1pbiksdGhpcy5tYXgubWF4KHQubWF4KSx0aGlzfXRyYW5zbGF0ZSh0KXtyZXR1cm4gdGhpcy5taW4uYWRkKHQpLHRoaXMubWF4LmFkZCh0KSx0aGlzfWVxdWFscyh0KXtyZXR1cm4gdC5taW4uZXF1YWxzKHRoaXMubWluKSYmdC5tYXguZXF1YWxzKHRoaXMubWF4KX19SGllLnByb3RvdHlwZS5pc0JveDI9ITA7Y29uc3QgRmllPW5ldyBINXQsVmllPW5ldyBINXQ7Y2xhc3MgVWlle2NvbnN0cnVjdG9yKHQ9bmV3IEg1dCxlPW5ldyBINXQpe3RoaXMuc3RhcnQ9dCx0aGlzLmVuZD1lfXNldCh0LGUpe3JldHVybiB0aGlzLnN0YXJ0LmNvcHkodCksdGhpcy5lbmQuY29weShlKSx0aGlzfWNvcHkodCl7cmV0dXJuIHRoaXMuc3RhcnQuY29weSh0LnN0YXJ0KSx0aGlzLmVuZC5jb3B5KHQuZW5kKSx0aGlzfWdldENlbnRlcih0KXtyZXR1cm4gdC5hZGRWZWN0b3JzKHRoaXMuc3RhcnQsdGhpcy5lbmQpLm11bHRpcGx5U2NhbGFyKC41KX1kZWx0YSh0KXtyZXR1cm4gdC5zdWJWZWN0b3JzKHRoaXMuZW5kLHRoaXMuc3RhcnQpfWRpc3RhbmNlU3EoKXtyZXR1cm4gdGhpcy5zdGFydC5kaXN0YW5jZVRvU3F1YXJlZCh0aGlzLmVuZCl9ZGlzdGFuY2UoKXtyZXR1cm4gdGhpcy5zdGFydC5kaXN0YW5jZVRvKHRoaXMuZW5kKX1hdCh0LGUpe3JldHVybiB0aGlzLmRlbHRhKGUpLm11bHRpcGx5U2NhbGFyKHQpLmFkZCh0aGlzLnN0YXJ0KX1jbG9zZXN0UG9pbnRUb1BvaW50UGFyYW1ldGVyKHQsZSl7RmllLnN1YlZlY3RvcnModCx0aGlzLnN0YXJ0KSxWaWUuc3ViVmVjdG9ycyh0aGlzLmVuZCx0aGlzLnN0YXJ0KTtjb25zdCBuPVZpZS5kb3QoVmllKTtsZXQgaT1WaWUuZG90KEZpZSkvbjtyZXR1cm4gZSYmKGk9czV0KGksMCwxKSksaX1jbG9zZXN0UG9pbnRUb1BvaW50KHQsZSxuKXtjb25zdCBpPXRoaXMuY2xvc2VzdFBvaW50VG9Qb2ludFBhcmFtZXRlcih0LGUpO3JldHVybiB0aGlzLmRlbHRhKG4pLm11bHRpcGx5U2NhbGFyKGkpLmFkZCh0aGlzLnN0YXJ0KX1hcHBseU1hdHJpeDQodCl7cmV0dXJuIHRoaXMuc3RhcnQuYXBwbHlNYXRyaXg0KHQpLHRoaXMuZW5kLmFwcGx5TWF0cml4NCh0KSx0aGlzfWVxdWFscyh0KXtyZXR1cm4gdC5zdGFydC5lcXVhbHModGhpcy5zdGFydCkmJnQuZW5kLmVxdWFscyh0aGlzLmVuZCl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9fWNsYXNzIGppZSBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMubWF0ZXJpYWw9dCx0aGlzLnJlbmRlcj1mdW5jdGlvbigpe30sdGhpcy5oYXNQb3NpdGlvbnM9ITEsdGhpcy5oYXNOb3JtYWxzPSExLHRoaXMuaGFzQ29sb3JzPSExLHRoaXMuaGFzVXZzPSExLHRoaXMucG9zaXRpb25BcnJheT1udWxsLHRoaXMubm9ybWFsQXJyYXk9bnVsbCx0aGlzLmNvbG9yQXJyYXk9bnVsbCx0aGlzLnV2QXJyYXk9bnVsbCx0aGlzLmNvdW50PTB9fWppZS5wcm90b3R5cGUuaXNJbW1lZGlhdGVSZW5kZXJPYmplY3Q9ITA7Y29uc3QgR2llPW5ldyBINXQ7Y29uc3QgV2llPW5ldyBINXQscWllPW5ldyBnM3QsWWllPW5ldyBnM3Q7Y2xhc3MgWGllIGV4dGVuZHMgaXRle2NvbnN0cnVjdG9yKHQpe2NvbnN0IGU9JGllKHQpLG49bmV3IE40dCxpPVtdLHI9W10sbz1uZXcgczR0KDAsMCwxKSxhPW5ldyBzNHQoMCwxLDApO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXtjb25zdCBuPWVbdF07bi5wYXJlbnQmJm4ucGFyZW50LmlzQm9uZSYmKGkucHVzaCgwLDAsMCksaS5wdXNoKDAsMCwwKSxyLnB1c2goby5yLG8uZyxvLmIpLHIucHVzaChhLnIsYS5nLGEuYikpfW4uc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChpLDMpKSxuLnNldEF0dHJpYnV0ZSgiY29sb3IiLG5ldyBiNHQociwzKSk7c3VwZXIobixuZXcgWDd0KHt2ZXJ0ZXhDb2xvcnM6ITAsZGVwdGhUZXN0OiExLGRlcHRoV3JpdGU6ITEsdG9uZU1hcHBlZDohMSx0cmFuc3BhcmVudDohMH0pKSx0aGlzLnR5cGU9IlNrZWxldG9uSGVscGVyIix0aGlzLmlzU2tlbGV0b25IZWxwZXI9ITAsdGhpcy5yb290PXQsdGhpcy5ib25lcz1lLHRoaXMubWF0cml4PXQubWF0cml4V29ybGQsdGhpcy5tYXRyaXhBdXRvVXBkYXRlPSExfXVwZGF0ZU1hdHJpeFdvcmxkKHQpe2NvbnN0IGU9dGhpcy5ib25lcyxuPXRoaXMuZ2VvbWV0cnksaT1uLmdldEF0dHJpYnV0ZSgicG9zaXRpb24iKTtZaWUuY29weSh0aGlzLnJvb3QubWF0cml4V29ybGQpLmludmVydCgpO2ZvcihsZXQgdD0wLG49MDt0PGUubGVuZ3RoO3QrKyl7Y29uc3Qgcj1lW3RdO3IucGFyZW50JiZyLnBhcmVudC5pc0JvbmUmJihxaWUubXVsdGlwbHlNYXRyaWNlcyhZaWUsci5tYXRyaXhXb3JsZCksV2llLnNldEZyb21NYXRyaXhQb3NpdGlvbihxaWUpLGkuc2V0WFlaKG4sV2llLngsV2llLnksV2llLnopLHFpZS5tdWx0aXBseU1hdHJpY2VzKFlpZSxyLnBhcmVudC5tYXRyaXhXb3JsZCksV2llLnNldEZyb21NYXRyaXhQb3NpdGlvbihxaWUpLGkuc2V0WFlaKG4rMSxXaWUueCxXaWUueSxXaWUueiksbis9Mil9bi5nZXRBdHRyaWJ1dGUoInBvc2l0aW9uIikubmVlZHNVcGRhdGU9ITAsc3VwZXIudXBkYXRlTWF0cml4V29ybGQodCl9fWZ1bmN0aW9uICRpZSh0KXtjb25zdCBlPVtdO3QmJnQuaXNCb25lJiZlLnB1c2godCk7Zm9yKGxldCBuPTA7bjx0LmNoaWxkcmVuLmxlbmd0aDtuKyspZS5wdXNoLmFwcGx5KGUsJGllKHQuY2hpbGRyZW5bbl0pKTtyZXR1cm4gZX1jb25zdCBLaWU9bmV3IEg1dCxaaWU9bmV3IHM0dCxKaWU9bmV3IHM0dDtjbGFzcyBRaWUgZXh0ZW5kcyBpdGV7Y29uc3RydWN0b3IodD0xMCxlPTEwLG49NDQ3MzkyNCxpPTg5NDc4NDgpe249bmV3IHM0dChuKSxpPW5ldyBzNHQoaSk7Y29uc3Qgcj1lLzIsbz10L2UsYT10LzIscz1bXSxsPVtdO2ZvcihsZXQgdD0wLGM9MCx1PS1hO3Q8PWU7dCsrLHUrPW8pe3MucHVzaCgtYSwwLHUsYSwwLHUpLHMucHVzaCh1LDAsLWEsdSwwLGEpO2NvbnN0IGU9dD09PXI/bjppO2UudG9BcnJheShsLGMpLGMrPTMsZS50b0FycmF5KGwsYyksYys9MyxlLnRvQXJyYXkobCxjKSxjKz0zLGUudG9BcnJheShsLGMpLGMrPTN9Y29uc3QgYz1uZXcgTjR0O2Muc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChzLDMpKSxjLnNldEF0dHJpYnV0ZSgiY29sb3IiLG5ldyBiNHQobCwzKSk7c3VwZXIoYyxuZXcgWDd0KHt2ZXJ0ZXhDb2xvcnM6ITAsdG9uZU1hcHBlZDohMX0pKSx0aGlzLnR5cGU9IkdyaWRIZWxwZXIifX1jb25zdCB0cmU9bmV3IEg1dCxlcmU9bmV3IEg1dCxucmU9bmV3IEg1dDtjb25zdCBpcmU9bmV3IEg1dCxycmU9bmV3IGk2dDtmdW5jdGlvbiBvcmUodCxlLG4saSxyLG8sYSl7aXJlLnNldChyLG8sYSkudW5wcm9qZWN0KGkpO2NvbnN0IHM9ZVt0XTtpZih2b2lkIDAhPT1zKXtjb25zdCB0PW4uZ2V0QXR0cmlidXRlKCJwb3NpdGlvbiIpO2ZvcihsZXQgZT0wLG49cy5sZW5ndGg7ZTxuO2UrKyl0LnNldFhZWihzW2VdLGlyZS54LGlyZS55LGlyZS56KX19Y29uc3QgYXJlPW5ldyBVNXQ7Y2xhc3Mgc3JlIGV4dGVuZHMgaXRle2NvbnN0cnVjdG9yKHQsZT0xNjc3Njk2MCl7Y29uc3Qgbj1uZXcgVWludDE2QXJyYXkoWzAsMSwxLDIsMiwzLDMsMCw0LDUsNSw2LDYsNyw3LDQsMCw0LDEsNSwyLDYsMyw3XSksaT1uZXcgRmxvYXQzMkFycmF5KDI0KSxyPW5ldyBONHQ7ci5zZXRJbmRleChuZXcgaDR0KG4sMSkpLHIuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGg0dChpLDMpKSxzdXBlcihyLG5ldyBYN3Qoe2NvbG9yOmUsdG9uZU1hcHBlZDohMX0pKSx0aGlzLm9iamVjdD10LHRoaXMudHlwZT0iQm94SGVscGVyIix0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITEsdGhpcy51cGRhdGUoKX11cGRhdGUodCl7aWYodm9pZCAwIT09dCYmY29uc29sZS53YXJuKCJUSFJFRS5Cb3hIZWxwZXI6IC51cGRhdGUoKSBoYXMgbm8gbG9uZ2VyIGFyZ3VtZW50cy4iKSx2b2lkIDAhPT10aGlzLm9iamVjdCYmYXJlLnNldEZyb21PYmplY3QodGhpcy5vYmplY3QpLGFyZS5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IGU9YXJlLm1pbixuPWFyZS5tYXgsaT10aGlzLmdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24scj1pLmFycmF5O3JbMF09bi54LHJbMV09bi55LHJbMl09bi56LHJbM109ZS54LHJbNF09bi55LHJbNV09bi56LHJbNl09ZS54LHJbN109ZS55LHJbOF09bi56LHJbOV09bi54LHJbMTBdPWUueSxyWzExXT1uLnosclsxMl09bi54LHJbMTNdPW4ueSxyWzE0XT1lLnosclsxNV09ZS54LHJbMTZdPW4ueSxyWzE3XT1lLnosclsxOF09ZS54LHJbMTldPWUueSxyWzIwXT1lLnosclsyMV09bi54LHJbMjJdPWUueSxyWzIzXT1lLnosaS5uZWVkc1VwZGF0ZT0hMCx0aGlzLmdlb21ldHJ5LmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpfXNldEZyb21PYmplY3QodCl7cmV0dXJuIHRoaXMub2JqZWN0PXQsdGhpcy51cGRhdGUoKSx0aGlzfWNvcHkodCl7cmV0dXJuIGl0ZS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsdCksdGhpcy5vYmplY3Q9dC5vYmplY3QsdGhpc319Y29uc3QgbHJlPW5ldyBINXQ7bGV0IGNyZSx1cmU7Y2xhc3MgaHJlIGV4dGVuZHMgaXRle2NvbnN0cnVjdG9yKHQ9MSl7Y29uc3QgZT1bMCwwLDAsdCwwLDAsMCwwLDAsMCx0LDAsMCwwLDAsMCwwLHRdLG49bmV3IE40dDtuLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQoZSwzKSksbi5zZXRBdHRyaWJ1dGUoImNvbG9yIixuZXcgYjR0KFsxLDAsMCwxLC42LDAsMCwxLDAsLjYsMSwwLDAsMCwxLDAsLjYsMV0sMykpO3N1cGVyKG4sbmV3IFg3dCh7dmVydGV4Q29sb3JzOiEwLHRvbmVNYXBwZWQ6ITF9KSksdGhpcy50eXBlPSJBeGVzSGVscGVyIn1zZXRDb2xvcnModCxlLG4pe2NvbnN0IGk9bmV3IHM0dCxyPXRoaXMuZ2VvbWV0cnkuYXR0cmlidXRlcy5jb2xvci5hcnJheTtyZXR1cm4gaS5zZXQodCksaS50b0FycmF5KHIsMCksaS50b0FycmF5KHIsMyksaS5zZXQoZSksaS50b0FycmF5KHIsNiksaS50b0FycmF5KHIsOSksaS5zZXQobiksaS50b0FycmF5KHIsMTIpLGkudG9BcnJheShyLDE1KSx0aGlzLmdlb21ldHJ5LmF0dHJpYnV0ZXMuY29sb3IubmVlZHNVcGRhdGU9ITAsdGhpc31kaXNwb3NlKCl7dGhpcy5nZW9tZXRyeS5kaXNwb3NlKCksdGhpcy5tYXRlcmlhbC5kaXNwb3NlKCl9fWNvbnN0IGRyZT1uZXcgRmxvYXQzMkFycmF5KDEpLHByZT1uZXcgSW50MzJBcnJheShkcmUuYnVmZmVyKTtUdGUuY3JlYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUubG9nKCJUSFJFRS5DdXJ2ZS5jcmVhdGUoKSBoYXMgYmVlbiBkZXByZWNhdGVkIiksdC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShUdGUucHJvdG90eXBlKSx0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10LHQucHJvdG90eXBlLmdldFBvaW50PWUsdH0sdm5lLnByb3RvdHlwZS5mcm9tUG9pbnRzPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlBhdGg6IC5mcm9tUG9pbnRzKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuc2V0RnJvbVBvaW50cygpLiIpLHRoaXMuc2V0RnJvbVBvaW50cyh0KX0sUWllLnByb3RvdHlwZS5zZXRDb2xvcnM9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5HcmlkSGVscGVyOiBzZXRDb2xvcnMoKSBoYXMgYmVlbiBkZXByZWNhdGVkLCBwYXNzIHRoZW0gaW4gdGhlIGNvbnN0cnVjdG9yIGluc3RlYWQuIil9LFhpZS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuU2tlbGV0b25IZWxwZXI6IHVwZGF0ZSgpIG5vIGxvbmdlciBuZWVkcyB0byBiZSBjYWxsZWQuIil9LGhuZS5wcm90b3R5cGUuZXh0cmFjdFVybEJhc2U9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTG9hZGVyOiAuZXh0cmFjdFVybEJhc2UoKSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgVEhSRUUuTG9hZGVyVXRpbHMuZXh0cmFjdFVybEJhc2UoKSBpbnN0ZWFkLiIpLFZuZS5leHRyYWN0VXJsQmFzZSh0KX0saG5lLkhhbmRsZXJzPXthZGQ6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5Mb2FkZXI6IEhhbmRsZXJzLmFkZCgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBMb2FkaW5nTWFuYWdlci5hZGRIYW5kbGVyKCkgaW5zdGVhZC4iKX0sZ2V0OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTG9hZGVyOiBIYW5kbGVycy5nZXQoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgTG9hZGluZ01hbmFnZXIuZ2V0SGFuZGxlcigpIGluc3RlYWQuIil9fSxIaWUucHJvdG90eXBlLmNlbnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5Cb3gyOiAuY2VudGVyKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0Q2VudGVyKCkuIiksdGhpcy5nZXRDZW50ZXIodCl9LEhpZS5wcm90b3R5cGUuZW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5Cb3gyOiAuZW1wdHkoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pc0VtcHR5KCkuIiksdGhpcy5pc0VtcHR5KCl9LEhpZS5wcm90b3R5cGUuaXNJbnRlcnNlY3Rpb25Cb3g9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MjogLmlzSW50ZXJzZWN0aW9uQm94KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c0JveCgpLiIpLHRoaXMuaW50ZXJzZWN0c0JveCh0KX0sSGllLnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJveDI6IC5zaXplKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0U2l6ZSgpLiIpLHRoaXMuZ2V0U2l6ZSh0KX0sVTV0LnByb3RvdHlwZS5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmNlbnRlcigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldENlbnRlcigpLiIpLHRoaXMuZ2V0Q2VudGVyKHQpfSxVNXQucHJvdG90eXBlLmVtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmVtcHR5KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaXNFbXB0eSgpLiIpLHRoaXMuaXNFbXB0eSgpfSxVNXQucHJvdG90eXBlLmlzSW50ZXJzZWN0aW9uQm94PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5pc0ludGVyc2VjdGlvbkJveCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNCb3goKS4iKSx0aGlzLmludGVyc2VjdHNCb3godCl9LFU1dC5wcm90b3R5cGUuaXNJbnRlcnNlY3Rpb25TcGhlcmU9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmlzSW50ZXJzZWN0aW9uU3BoZXJlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c1NwaGVyZSgpLiIpLHRoaXMuaW50ZXJzZWN0c1NwaGVyZSh0KX0sVTV0LnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5zaXplKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0U2l6ZSgpLiIpLHRoaXMuZ2V0U2l6ZSh0KX0sczN0LnByb3RvdHlwZS5lbXB0eT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlNwaGVyZTogLmVtcHR5KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaXNFbXB0eSgpLiIpLHRoaXMuaXNFbXB0eSgpfSxtNnQucHJvdG90eXBlLnNldEZyb21NYXRyaXg9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuRnJ1c3R1bTogLnNldEZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tUHJvamVjdGlvbk1hdHJpeCgpLiIpLHRoaXMuc2V0RnJvbVByb2plY3Rpb25NYXRyaXgodCl9LFVpZS5wcm90b3R5cGUuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkxpbmUzOiAuY2VudGVyKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0Q2VudGVyKCkuIiksdGhpcy5nZXRDZW50ZXIodCl9LEE1dC5wcm90b3R5cGUuZmxhdHRlblRvQXJyYXlPZmZzZXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXgzOiAuZmxhdHRlblRvQXJyYXlPZmZzZXQoKSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgLnRvQXJyYXkoKSBpbnN0ZWFkLiIpLHRoaXMudG9BcnJheSh0LGUpfSxBNXQucHJvdG90eXBlLm11bHRpcGx5VmVjdG9yMz1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXgzOiAubXVsdGlwbHlWZWN0b3IzKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDMoIG1hdHJpeCApIGluc3RlYWQuIiksdC5hcHBseU1hdHJpeDModGhpcyl9LEE1dC5wcm90b3R5cGUubXVsdGlwbHlWZWN0b3IzQXJyYXk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXgzOiAubXVsdGlwbHlWZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxBNXQucHJvdG90eXBlLmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGU9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4MzogLmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGUoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgYXR0cmlidXRlLmFwcGx5TWF0cml4MyggbWF0cml4ICkgaW5zdGVhZC4iKSx0LmFwcGx5TWF0cml4Myh0aGlzKX0sQTV0LnByb3RvdHlwZS5hcHBseVRvVmVjdG9yM0FycmF5PWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4MzogLmFwcGx5VG9WZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxBNXQucHJvdG90eXBlLmdldEludmVyc2U9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4MzogLmdldEludmVyc2UoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbWF0cml4SW52LmNvcHkoIG1hdHJpeCApLmludmVydCgpOyBpbnN0ZWFkLiIpLHRoaXMuY29weSh0KS5pbnZlcnQoKX0sZzN0LnByb3RvdHlwZS5leHRyYWN0UG9zaXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmV4dHJhY3RQb3NpdGlvbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmNvcHlQb3NpdGlvbigpLiIpLHRoaXMuY29weVBvc2l0aW9uKHQpfSxnM3QucHJvdG90eXBlLmZsYXR0ZW5Ub0FycmF5T2Zmc2V0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmZsYXR0ZW5Ub0FycmF5T2Zmc2V0KCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC50b0FycmF5KCkgaW5zdGVhZC4iKSx0aGlzLnRvQXJyYXkodCxlKX0sZzN0LnByb3RvdHlwZS5nZXRQb3NpdGlvbj1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5nZXRQb3NpdGlvbigpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBWZWN0b3IzLnNldEZyb21NYXRyaXhQb3NpdGlvbiggbWF0cml4ICkgaW5zdGVhZC4iKSwobmV3IEg1dCkuc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDMpfSxnM3QucHJvdG90eXBlLnNldFJvdGF0aW9uRnJvbVF1YXRlcm5pb249ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLnNldFJvdGF0aW9uRnJvbVF1YXRlcm5pb24oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbigpLiIpLHRoaXMubWFrZVJvdGF0aW9uRnJvbVF1YXRlcm5pb24odCl9LGczdC5wcm90b3R5cGUubXVsdGlwbHlUb0FycmF5PWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlUb0FycmF5KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sZzN0LnByb3RvdHlwZS5tdWx0aXBseVZlY3RvcjM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm11bHRpcGx5VmVjdG9yMygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSB2ZWN0b3IuYXBwbHlNYXRyaXg0KCBtYXRyaXggKSBpbnN0ZWFkLiIpLHQuYXBwbHlNYXRyaXg0KHRoaXMpfSxnM3QucHJvdG90eXBlLm11bHRpcGx5VmVjdG9yND1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlWZWN0b3I0KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIiksdC5hcHBseU1hdHJpeDQodGhpcyl9LGczdC5wcm90b3R5cGUubXVsdGlwbHlWZWN0b3IzQXJyYXk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlWZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxnM3QucHJvdG90eXBlLnJvdGF0ZUF4aXM9ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlQXhpcygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBWZWN0b3IzLnRyYW5zZm9ybURpcmVjdGlvbiggbWF0cml4ICkgaW5zdGVhZC4iKSx0LnRyYW5zZm9ybURpcmVjdGlvbih0aGlzKX0sZzN0LnByb3RvdHlwZS5jcm9zc1ZlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAuY3Jvc3NWZWN0b3IoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdmVjdG9yLmFwcGx5TWF0cml4NCggbWF0cml4ICkgaW5zdGVhZC4iKSx0LmFwcGx5TWF0cml4NCh0aGlzKX0sZzN0LnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAudHJhbnNsYXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sZzN0LnByb3RvdHlwZS5yb3RhdGVYPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4NDogLnJvdGF0ZVgoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxnM3QucHJvdG90eXBlLnJvdGF0ZVk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlWSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LGczdC5wcm90b3R5cGUucm90YXRlWj1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5yb3RhdGVaKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sZzN0LnByb3RvdHlwZS5yb3RhdGVCeUF4aXM9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlQnlBeGlzKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sZzN0LnByb3RvdHlwZS5hcHBseVRvQnVmZmVyQXR0cmlidXRlPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5hcHBseVRvQnVmZmVyQXR0cmlidXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIGF0dHJpYnV0ZS5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIiksdC5hcHBseU1hdHJpeDQodGhpcyl9LGczdC5wcm90b3R5cGUuYXBwbHlUb1ZlY3RvcjNBcnJheT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5hcHBseVRvVmVjdG9yM0FycmF5KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sZzN0LnByb3RvdHlwZS5tYWtlRnJ1c3R1bT1mdW5jdGlvbih0LGUsbixpLHIsbyl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm1ha2VGcnVzdHVtKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5tYWtlUGVyc3BlY3RpdmUoIGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbSwgbmVhciwgZmFyICkgaW5zdGVhZC4iKSx0aGlzLm1ha2VQZXJzcGVjdGl2ZSh0LGUsaSxuLHIsbyl9LGczdC5wcm90b3R5cGUuZ2V0SW52ZXJzZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAuZ2V0SW52ZXJzZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBtYXRyaXhJbnYuY29weSggbWF0cml4ICkuaW52ZXJ0KCk7IGluc3RlYWQuIiksdGhpcy5jb3B5KHQpLmludmVydCgpfSxkNnQucHJvdG90eXBlLmlzSW50ZXJzZWN0aW9uTGluZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5QbGFuZTogLmlzSW50ZXJzZWN0aW9uTGluZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNMaW5lKCkuIiksdGhpcy5pbnRlcnNlY3RzTGluZSh0KX0sQjV0LnByb3RvdHlwZS5tdWx0aXBseVZlY3RvcjM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUXVhdGVybmlvbjogLm11bHRpcGx5VmVjdG9yMygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBpcyBub3cgdmVjdG9yLmFwcGx5UXVhdGVybmlvbiggcXVhdGVybmlvbiApIGluc3RlYWQuIiksdC5hcHBseVF1YXRlcm5pb24odGhpcyl9LEI1dC5wcm90b3R5cGUuaW52ZXJzZT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlF1YXRlcm5pb246IC5pbnZlcnNlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byBpbnZlcnQoKS4iKSx0aGlzLmludmVydCgpfSxtM3QucHJvdG90eXBlLmlzSW50ZXJzZWN0aW9uQm94PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlJheTogLmlzSW50ZXJzZWN0aW9uQm94KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c0JveCgpLiIpLHRoaXMuaW50ZXJzZWN0c0JveCh0KX0sbTN0LnByb3RvdHlwZS5pc0ludGVyc2VjdGlvblBsYW5lPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlJheTogLmlzSW50ZXJzZWN0aW9uUGxhbmUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pbnRlcnNlY3RzUGxhbmUoKS4iKSx0aGlzLmludGVyc2VjdHNQbGFuZSh0KX0sbTN0LnByb3RvdHlwZS5pc0ludGVyc2VjdGlvblNwaGVyZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5SYXk6IC5pc0ludGVyc2VjdGlvblNwaGVyZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNTcGhlcmUoKS4iKSx0aGlzLmludGVyc2VjdHNTcGhlcmUodCl9LEozdC5wcm90b3R5cGUuYXJlYT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlRyaWFuZ2xlOiAuYXJlYSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEFyZWEoKS4iKSx0aGlzLmdldEFyZWEoKX0sSjN0LnByb3RvdHlwZS5iYXJ5Y29vcmRGcm9tUG9pbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmJhcnljb29yZEZyb21Qb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEJhcnljb29yZCgpLiIpLHRoaXMuZ2V0QmFyeWNvb3JkKHQsZSl9LEozdC5wcm90b3R5cGUubWlkcG9pbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5taWRwb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE1pZHBvaW50KCkuIiksdGhpcy5nZXRNaWRwb2ludCh0KX0sSjN0LnByb3RvdHlwZW5vcm1hbD1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLm5vcm1hbCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE5vcm1hbCgpLiIpLHRoaXMuZ2V0Tm9ybWFsKHQpfSxKM3QucHJvdG90eXBlLnBsYW5lPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlRyaWFuZ2xlOiAucGxhbmUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXRQbGFuZSgpLiIpLHRoaXMuZ2V0UGxhbmUodCl9LEozdC5iYXJ5Y29vcmRGcm9tUG9pbnQ9ZnVuY3Rpb24odCxlLG4saSxyKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmJhcnljb29yZEZyb21Qb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEJhcnljb29yZCgpLiIpLEozdC5nZXRCYXJ5Y29vcmQodCxlLG4saSxyKX0sSjN0Lm5vcm1hbD1mdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLm5vcm1hbCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE5vcm1hbCgpLiIpLEozdC5nZXROb3JtYWwodCxlLG4saSl9LGJuZS5wcm90b3R5cGUuZXh0cmFjdEFsbFBvaW50cz1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5TaGFwZTogLmV4dHJhY3RBbGxQb2ludHMoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLmV4dHJhY3RQb2ludHMoKSBpbnN0ZWFkLiIpLHRoaXMuZXh0cmFjdFBvaW50cyh0KX0sYm5lLnByb3RvdHlwZS5leHRydWRlPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlNoYXBlOiAuZXh0cnVkZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBFeHRydWRlR2VvbWV0cnkoKSBpbnN0ZWFkLiIpLG5ldyBiZWUodGhpcyx0KX0sYm5lLnByb3RvdHlwZS5tYWtlR2VvbWV0cnk9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuU2hhcGU6IC5tYWtlR2VvbWV0cnkoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgU2hhcGVHZW9tZXRyeSgpIGluc3RlYWQuIiksbmV3IENlZSh0aGlzLHQpfSxDNXQucHJvdG90eXBlLmZyb21BdHRyaWJ1dGU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjI6IC5mcm9tQXR0cmlidXRlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpLHRoaXMuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LGUsbil9LEM1dC5wcm90b3R5cGUuZGlzdGFuY2VUb01hbmhhdHRhbj1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiAuZGlzdGFuY2VUb01hbmhhdHRhbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1hbmhhdHRhbkRpc3RhbmNlVG8oKS4iKSx0aGlzLm1hbmhhdHRhbkRpc3RhbmNlVG8odCl9LEM1dC5wcm90b3R5cGUubGVuZ3RoTWFuaGF0dGFuPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLmxlbmd0aE1hbmhhdHRhbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1hbmhhdHRhbkxlbmd0aCgpLiIpLHRoaXMubWFuaGF0dGFuTGVuZ3RoKCl9LEg1dC5wcm90b3R5cGUuc2V0RXVsZXJGcm9tUm90YXRpb25NYXRyaXg9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5WZWN0b3IzOiAuc2V0RXVsZXJGcm9tUm90YXRpb25NYXRyaXgoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgRXVsZXIuc2V0RnJvbVJvdGF0aW9uTWF0cml4KCkgaW5zdGVhZC4iKX0sSDV0LnByb3RvdHlwZS5zZXRFdWxlckZyb21RdWF0ZXJuaW9uPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuVmVjdG9yMzogLnNldEV1bGVyRnJvbVF1YXRlcm5pb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgRXVsZXIuc2V0RnJvbVF1YXRlcm5pb24oKSBpbnN0ZWFkLiIpfSxINXQucHJvdG90eXBlLmdldFBvc2l0aW9uRnJvbU1hdHJpeD1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuZ2V0UG9zaXRpb25Gcm9tTWF0cml4KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKCkuIiksdGhpcy5zZXRGcm9tTWF0cml4UG9zaXRpb24odCl9LEg1dC5wcm90b3R5cGUuZ2V0U2NhbGVGcm9tTWF0cml4PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5nZXRTY2FsZUZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tTWF0cml4U2NhbGUoKS4iKSx0aGlzLnNldEZyb21NYXRyaXhTY2FsZSh0KX0sSDV0LnByb3RvdHlwZS5nZXRDb2x1bW5Gcm9tTWF0cml4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLmdldENvbHVtbkZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tTWF0cml4Q29sdW1uKCkuIiksdGhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKGUsdCl9LEg1dC5wcm90b3R5cGUuYXBwbHlQcm9qZWN0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5hcHBseVByb2plY3Rpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLmFwcGx5TWF0cml4NCggbSApIGluc3RlYWQuIiksdGhpcy5hcHBseU1hdHJpeDQodCl9LEg1dC5wcm90b3R5cGUuZnJvbUF0dHJpYnV0ZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLmZyb21BdHRyaWJ1dGUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5mcm9tQnVmZmVyQXR0cmlidXRlKCkuIiksdGhpcy5mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSxuKX0sSDV0LnByb3RvdHlwZS5kaXN0YW5jZVRvTWFuaGF0dGFuPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5kaXN0YW5jZVRvTWFuaGF0dGFuKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAubWFuaGF0dGFuRGlzdGFuY2VUbygpLiIpLHRoaXMubWFuaGF0dGFuRGlzdGFuY2VUbyh0KX0sSDV0LnByb3RvdHlwZS5sZW5ndGhNYW5oYXR0YW49ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAubGVuZ3RoTWFuaGF0dGFuKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAubWFuaGF0dGFuTGVuZ3RoKCkuIiksdGhpcy5tYW5oYXR0YW5MZW5ndGgoKX0sUjV0LnByb3RvdHlwZS5mcm9tQXR0cmlidXRlPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3I0OiAuZnJvbUF0dHJpYnV0ZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmZyb21CdWZmZXJBdHRyaWJ1dGUoKS4iKSx0aGlzLmZyb21CdWZmZXJBdHRyaWJ1dGUodCxlLG4pfSxSNXQucHJvdG90eXBlLmxlbmd0aE1hbmhhdHRhbj1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjQ6IC5sZW5ndGhNYW5oYXR0YW4oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5tYW5oYXR0YW5MZW5ndGgoKS4iKSx0aGlzLm1hbmhhdHRhbkxlbmd0aCgpfSxWM3QucHJvdG90eXBlLmdldENoaWxkQnlOYW1lPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAuZ2V0Q2hpbGRCeU5hbWUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXRPYmplY3RCeU5hbWUoKS4iKSx0aGlzLmdldE9iamVjdEJ5TmFtZSh0KX0sVjN0LnByb3RvdHlwZS5yZW5kZXJEZXB0aD1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5yZW5kZXJEZXB0aCBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLnJlbmRlck9yZGVyLCBpbnN0ZWFkLiIpfSxWM3QucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAudHJhbnNsYXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC50cmFuc2xhdGVPbkF4aXMoIGF4aXMsIGRpc3RhbmNlICkgaW5zdGVhZC4iKSx0aGlzLnRyYW5zbGF0ZU9uQXhpcyhlLHQpfSxWM3QucHJvdG90eXBlLmdldFdvcmxkUm90YXRpb249ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3QzRDogLmdldFdvcmxkUm90YXRpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuT2JqZWN0M0QuZ2V0V29ybGRRdWF0ZXJuaW9uKCB0YXJnZXQgKSBpbnN0ZWFkLiIpfSxWM3QucHJvdG90eXBlLmFwcGx5TWF0cml4PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAuYXBwbHlNYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5hcHBseU1hdHJpeDQoKS4iKSx0aGlzLmFwcGx5TWF0cml4NCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoVjN0LnByb3RvdHlwZSx7ZXVsZXJPcmRlcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5ldWxlck9yZGVyIGlzIG5vdyAucm90YXRpb24ub3JkZXIuIiksdGhpcy5yb3RhdGlvbi5vcmRlcn0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5ldWxlck9yZGVyIGlzIG5vdyAucm90YXRpb24ub3JkZXIuIiksdGhpcy5yb3RhdGlvbi5vcmRlcj10fX0sdXNlUXVhdGVybmlvbjp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnVzZVF1YXRlcm5pb24gaGFzIGJlZW4gcmVtb3ZlZC4gVGhlIGxpYnJhcnkgbm93IHVzZXMgcXVhdGVybmlvbnMgYnkgZGVmYXVsdC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnVzZVF1YXRlcm5pb24gaGFzIGJlZW4gcmVtb3ZlZC4gVGhlIGxpYnJhcnkgbm93IHVzZXMgcXVhdGVybmlvbnMgYnkgZGVmYXVsdC4iKX19fSksSzR0LnByb3RvdHlwZS5zZXREcmF3TW9kZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1lc2g6IC5zZXREcmF3TW9kZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFRoZSByZW5kZXJlciBub3cgYWx3YXlzIGFzc3VtZXMgVEhSRUUuVHJpYW5nbGVzRHJhd01vZGUuIFRyYW5zZm9ybSB5b3VyIGdlb21ldHJ5IHZpYSBCdWZmZXJHZW9tZXRyeVV0aWxzLnRvVHJpYW5nbGVzRHJhd01vZGUoKSBpZiBuZWNlc3NhcnkuIil9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEs0dC5wcm90b3R5cGUse2RyYXdNb2RlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS5lcnJvcigiVEhSRUUuTWVzaDogLmRyYXdNb2RlIGhhcyBiZWVuIHJlbW92ZWQuIFRoZSByZW5kZXJlciBub3cgYWx3YXlzIGFzc3VtZXMgVEhSRUUuVHJpYW5nbGVzRHJhd01vZGUuIiksMH0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWVzaDogLmRyYXdNb2RlIGhhcyBiZWVuIHJlbW92ZWQuIFRoZSByZW5kZXJlciBub3cgYWx3YXlzIGFzc3VtZXMgVEhSRUUuVHJpYW5nbGVzRHJhd01vZGUuIFRyYW5zZm9ybSB5b3VyIGdlb21ldHJ5IHZpYSBCdWZmZXJHZW9tZXRyeVV0aWxzLnRvVHJpYW5nbGVzRHJhd01vZGUoKSBpZiBuZWNlc3NhcnkuIil9fX0pLEQ3dC5wcm90b3R5cGUuaW5pdEJvbmVzPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuU2tpbm5lZE1lc2g6IGluaXRCb25lcygpIGhhcyBiZWVuIHJlbW92ZWQuIil9LHI2dC5wcm90b3R5cGUuc2V0TGVucz1mdW5jdGlvbih0LGUpe2NvbnNvbGUud2FybigiVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmEuc2V0TGVucyBpcyBkZXByZWNhdGVkLiBVc2UgLnNldEZvY2FsTGVuZ3RoIGFuZCAuZmlsbUdhdWdlIGZvciBhIHBob3RvZ3JhcGhpYyBzZXR1cC4iKSx2b2lkIDAhPT1lJiYodGhpcy5maWxtR2F1Z2U9ZSksdGhpcy5zZXRGb2NhbExlbmd0aCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoeG5lLnByb3RvdHlwZSx7b25seVNoYWRvdzp7c2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLm9ubHlTaGFkb3cgaGFzIGJlZW4gcmVtb3ZlZC4iKX19LHNoYWRvd0NhbWVyYUZvdjp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFGb3YgaXMgbm93IC5zaGFkb3cuY2FtZXJhLmZvdi4iKSx0aGlzLnNoYWRvdy5jYW1lcmEuZm92PXR9fSxzaGFkb3dDYW1lcmFMZWZ0OntzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYUxlZnQgaXMgbm93IC5zaGFkb3cuY2FtZXJhLmxlZnQuIiksdGhpcy5zaGFkb3cuY2FtZXJhLmxlZnQ9dH19LHNoYWRvd0NhbWVyYVJpZ2h0OntzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYVJpZ2h0IGlzIG5vdyAuc2hhZG93LmNhbWVyYS5yaWdodC4iKSx0aGlzLnNoYWRvdy5jYW1lcmEucmlnaHQ9dH19LHNoYWRvd0NhbWVyYVRvcDp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFUb3AgaXMgbm93IC5zaGFkb3cuY2FtZXJhLnRvcC4iKSx0aGlzLnNoYWRvdy5jYW1lcmEudG9wPXR9fSxzaGFkb3dDYW1lcmFCb3R0b206e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93Q2FtZXJhQm90dG9tIGlzIG5vdyAuc2hhZG93LmNhbWVyYS5ib3R0b20uIiksdGhpcy5zaGFkb3cuY2FtZXJhLmJvdHRvbT10fX0sc2hhZG93Q2FtZXJhTmVhcjp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFOZWFyIGlzIG5vdyAuc2hhZG93LmNhbWVyYS5uZWFyLiIpLHRoaXMuc2hhZG93LmNhbWVyYS5uZWFyPXR9fSxzaGFkb3dDYW1lcmFGYXI6e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93Q2FtZXJhRmFyIGlzIG5vdyAuc2hhZG93LmNhbWVyYS5mYXIuIiksdGhpcy5zaGFkb3cuY2FtZXJhLmZhcj10fX0sc2hhZG93Q2FtZXJhVmlzaWJsZTp7c2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYVZpc2libGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5DYW1lcmFIZWxwZXIoIGxpZ2h0LnNoYWRvdy5jYW1lcmEgKSBpbnN0ZWFkLiIpfX0sc2hhZG93Qmlhczp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dCaWFzIGlzIG5vdyAuc2hhZG93LmJpYXMuIiksdGhpcy5zaGFkb3cuYmlhcz10fX0sc2hhZG93RGFya25lc3M6e3NldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dEYXJrbmVzcyBoYXMgYmVlbiByZW1vdmVkLiIpfX0sc2hhZG93TWFwV2lkdGg6e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93TWFwV2lkdGggaXMgbm93IC5zaGFkb3cubWFwU2l6ZS53aWR0aC4iKSx0aGlzLnNoYWRvdy5tYXBTaXplLndpZHRoPXR9fSxzaGFkb3dNYXBIZWlnaHQ6e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93TWFwSGVpZ2h0IGlzIG5vdyAuc2hhZG93Lm1hcFNpemUuaGVpZ2h0LiIpLHRoaXMuc2hhZG93Lm1hcFNpemUuaGVpZ2h0PXR9fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGg0dC5wcm90b3R5cGUse2xlbmd0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAubGVuZ3RoIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuY291bnQgaW5zdGVhZC4iKSx0aGlzLmFycmF5Lmxlbmd0aH19LGR5bmFtaWM6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZTogLmR5bmFtaWMgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC51c2FnZSBpbnN0ZWFkLiIpLHRoaXMudXNhZ2U9PT1RMnR9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuZHluYW1pYyBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgLnVzYWdlIGluc3RlYWQuIiksdGhpcy5zZXRVc2FnZShRMnQpfX19KSxoNHQucHJvdG90eXBlLnNldER5bmFtaWM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuc2V0RHluYW1pYygpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuc2V0VXNhZ2UoKSBpbnN0ZWFkLiIpLHRoaXMuc2V0VXNhZ2UoITA9PT10P1EydDpKMnQpLHRoaXN9LGg0dC5wcm90b3R5cGUuY29weUluZGljZXNBcnJheT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZTogLmNvcHlJbmRpY2VzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxoNHQucHJvdG90eXBlLnNldEFycmF5PWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuc2V0QXJyYXkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIEJ1ZmZlckdlb21ldHJ5IC5zZXRBdHRyaWJ1dGUgdG8gcmVwbGFjZS9yZXNpemUgYXR0cmlidXRlIGJ1ZmZlcnMiKX0sTjR0LnByb3RvdHlwZS5hZGRJbmRleD1mdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuYWRkSW5kZXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRJbmRleCgpLiIpLHRoaXMuc2V0SW5kZXgodCl9LE40dC5wcm90b3R5cGUuYWRkQXR0cmlidXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5hZGRBdHRyaWJ1dGUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRBdHRyaWJ1dGUoKS4iKSxlJiZlLmlzQnVmZmVyQXR0cmlidXRlfHxlJiZlLmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGU/ImluZGV4Ij09PXQ/KGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnkuYWRkQXR0cmlidXRlOiBVc2UgLnNldEluZGV4KCkgZm9yIGluZGV4IGF0dHJpYnV0ZS4iKSx0aGlzLnNldEluZGV4KGUpLHRoaXMpOnRoaXMuc2V0QXR0cmlidXRlKHQsZSk6KGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5hZGRBdHRyaWJ1dGUoKSBub3cgZXhwZWN0cyAoIG5hbWUsIGF0dHJpYnV0ZSApLiIpLHRoaXMuc2V0QXR0cmlidXRlKHQsbmV3IGg0dChhcmd1bWVudHNbMV0sYXJndW1lbnRzWzJdKSkpfSxONHQucHJvdG90eXBlLmFkZERyYXdDYWxsPWZ1bmN0aW9uKHQsZSxuKXt2b2lkIDAhPT1uJiZjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuYWRkRHJhd0NhbGwoKSBubyBsb25nZXIgc3VwcG9ydHMgaW5kZXhPZmZzZXQuIiksY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLmFkZERyYXdDYWxsKCkgaXMgbm93IC5hZGRHcm91cCgpLiIpLHRoaXMuYWRkR3JvdXAodCxlKX0sTjR0LnByb3RvdHlwZS5jbGVhckRyYXdDYWxscz1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5jbGVhckRyYXdDYWxscygpIGlzIG5vdyAuY2xlYXJHcm91cHMoKS4iKSx0aGlzLmNsZWFyR3JvdXBzKCl9LE40dC5wcm90b3R5cGUuY29tcHV0ZU9mZnNldHM9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuY29tcHV0ZU9mZnNldHMoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxONHQucHJvdG90eXBlLnJlbW92ZUF0dHJpYnV0ZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLnJlbW92ZUF0dHJpYnV0ZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmRlbGV0ZUF0dHJpYnV0ZSgpLiIpLHRoaXMuZGVsZXRlQXR0cmlidXRlKHQpfSxONHQucHJvdG90eXBlLmFwcGx5TWF0cml4PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuYXBwbHlNYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5hcHBseU1hdHJpeDQoKS4iKSx0aGlzLmFwcGx5TWF0cml4NCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTjR0LnByb3RvdHlwZSx7ZHJhd2NhbGxzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5kcmF3Y2FsbHMgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ3JvdXBzLiIpLHRoaXMuZ3JvdXBzfX0sb2Zmc2V0czp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5vZmZzZXRzIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdyb3Vwcy4iKSx0aGlzLmdyb3Vwc319fSksdTd0LnByb3RvdHlwZS5zZXREeW5hbWljPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkludGVybGVhdmVkQnVmZmVyOiAuc2V0RHluYW1pYygpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuc2V0VXNhZ2UoKSBpbnN0ZWFkLiIpLHRoaXMuc2V0VXNhZ2UoITA9PT10P1EydDpKMnQpLHRoaXN9LHU3dC5wcm90b3R5cGUuc2V0QXJyYXk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5JbnRlcmxlYXZlZEJ1ZmZlcjogLnNldEFycmF5IGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBCdWZmZXJHZW9tZXRyeSAuc2V0QXR0cmlidXRlIHRvIHJlcGxhY2UvcmVzaXplIGF0dHJpYnV0ZSBidWZmZXJzIil9LGJlZS5wcm90b3R5cGUuZ2V0QXJyYXlzPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuRXh0cnVkZUdlb21ldHJ5OiAuZ2V0QXJyYXlzKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sYmVlLnByb3RvdHlwZS5hZGRTaGFwZUxpc3Q9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5FeHRydWRlR2VvbWV0cnk6IC5hZGRTaGFwZUxpc3QoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxiZWUucHJvdG90eXBlLmFkZFNoYXBlPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuRXh0cnVkZUdlb21ldHJ5OiAuYWRkU2hhcGUoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxjN3QucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5TY2VuZTogLmRpc3Bvc2UoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxOaWUucHJvdG90eXBlLm9uVXBkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVW5pZm9ybTogLm9uVXBkYXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG9iamVjdC5vbkJlZm9yZVJlbmRlcigpIGluc3RlYWQuIiksdGhpc30sT2JqZWN0LmRlZmluZVByb3BlcnRpZXModDR0LnByb3RvdHlwZSx7d3JhcEFyb3VuZDp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRlcmlhbDogLndyYXBBcm91bmQgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRlcmlhbDogLndyYXBBcm91bmQgaGFzIGJlZW4gcmVtb3ZlZC4iKX19LG92ZXJkcmF3OntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAub3ZlcmRyYXcgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRlcmlhbDogLm92ZXJkcmF3IGhhcyBiZWVuIHJlbW92ZWQuIil9fSx3cmFwUkdCOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRlcmlhbDogLndyYXBSR0IgaGFzIGJlZW4gcmVtb3ZlZC4iKSxuZXcgczR0fX0sc2hhZGluZzp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuIit0aGlzLnR5cGUrIjogLnNoYWRpbmcgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHRoZSBib29sZWFuIC5mbGF0U2hhZGluZyBpbnN0ZWFkLiIpfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAuc2hhZGluZyBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdGhlIGJvb2xlYW4gLmZsYXRTaGFkaW5nIGluc3RlYWQuIiksdGhpcy5mbGF0U2hhZGluZz0xPT09dH19LHN0ZW5jaWxNYXNrOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAuc3RlbmNpbE1hc2sgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5zdGVuY2lsRnVuY01hc2sgaW5zdGVhZC4iKSx0aGlzLnN0ZW5jaWxGdW5jTWFza30sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuIit0aGlzLnR5cGUrIjogLnN0ZW5jaWxNYXNrIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSAuc3RlbmNpbEZ1bmNNYXNrIGluc3RlYWQuIiksdGhpcy5zdGVuY2lsRnVuY01hc2s9dH19LHZlcnRleFRhbmdlbnRzOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLiIrdGhpcy50eXBlKyI6IC52ZXJ0ZXhUYW5nZW50cyBoYXMgYmVlbiByZW1vdmVkLiIpfSxzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLiIrdGhpcy50eXBlKyI6IC52ZXJ0ZXhUYW5nZW50cyBoYXMgYmVlbiByZW1vdmVkLiIpfX19KSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhuNnQucHJvdG90eXBlLHtkZXJpdmF0aXZlczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuU2hhZGVyTWF0ZXJpYWw6IC5kZXJpdmF0aXZlcyBoYXMgYmVlbiBtb3ZlZCB0byAuZXh0ZW5zaW9ucy5kZXJpdmF0aXZlcy4iKSx0aGlzLmV4dGVuc2lvbnMuZGVyaXZhdGl2ZXN9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLiBTaGFkZXJNYXRlcmlhbDogLmRlcml2YXRpdmVzIGhhcyBiZWVuIG1vdmVkIHRvIC5leHRlbnNpb25zLmRlcml2YXRpdmVzLiIpLHRoaXMuZXh0ZW5zaW9ucy5kZXJpdmF0aXZlcz10fX19KSxvN3QucHJvdG90eXBlLmNsZWFyVGFyZ2V0PWZ1bmN0aW9uKHQsZSxuLGkpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmNsZWFyVGFyZ2V0KCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC5zZXRSZW5kZXJUYXJnZXQoKSBhbmQgLmNsZWFyKCkgaW5zdGVhZC4iKSx0aGlzLnNldFJlbmRlclRhcmdldCh0KSx0aGlzLmNsZWFyKGUsbixpKX0sbzd0LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmFuaW1hdGUoKSBpcyBub3cgLnNldEFuaW1hdGlvbkxvb3AoKS4iKSx0aGlzLnNldEFuaW1hdGlvbkxvb3AodCl9LG83dC5wcm90b3R5cGUuZ2V0Q3VycmVudFJlbmRlclRhcmdldD1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5nZXRDdXJyZW50UmVuZGVyVGFyZ2V0KCkgaXMgbm93IC5nZXRSZW5kZXJUYXJnZXQoKS4iKSx0aGlzLmdldFJlbmRlclRhcmdldCgpfSxvN3QucHJvdG90eXBlLmdldE1heEFuaXNvdHJvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2V0TWF4QW5pc290cm9weSgpIGlzIG5vdyAuY2FwYWJpbGl0aWVzLmdldE1heEFuaXNvdHJvcHkoKS4iKSx0aGlzLmNhcGFiaWxpdGllcy5nZXRNYXhBbmlzb3Ryb3B5KCl9LG83dC5wcm90b3R5cGUuZ2V0UHJlY2lzaW9uPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmdldFByZWNpc2lvbigpIGlzIG5vdyAuY2FwYWJpbGl0aWVzLnByZWNpc2lvbi4iKSx0aGlzLmNhcGFiaWxpdGllcy5wcmVjaXNpb259LG83dC5wcm90b3R5cGUucmVzZXRHTFN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnJlc2V0R0xTdGF0ZSgpIGlzIG5vdyAuc3RhdGUucmVzZXQoKS4iKSx0aGlzLnN0YXRlLnJlc2V0KCl9LG83dC5wcm90b3R5cGUuc3VwcG9ydHNGbG9hdFRleHR1cmVzPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzRmxvYXRUZXh0dXJlcygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdPRVNfdGV4dHVyZV9mbG9hdCcgKS4iKSx0aGlzLmV4dGVuc2lvbnMuZ2V0KCJPRVNfdGV4dHVyZV9mbG9hdCIpfSxvN3QucHJvdG90eXBlLnN1cHBvcnRzSGFsZkZsb2F0VGV4dHVyZXM9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNIYWxmRmxvYXRUZXh0dXJlcygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0JyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKX0sbzd0LnByb3RvdHlwZS5zdXBwb3J0c1N0YW5kYXJkRGVyaXZhdGl2ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNTdGFuZGFyZERlcml2YXRpdmVzKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ09FU19zdGFuZGFyZF9kZXJpdmF0aXZlcycgKS4iKSx0aGlzLmV4dGVuc2lvbnMuZ2V0KCJPRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMiKX0sbzd0LnByb3RvdHlwZS5zdXBwb3J0c0NvbXByZXNzZWRUZXh0dXJlUzNUQz1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0NvbXByZXNzZWRUZXh0dXJlUzNUQygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YycgKS4iKSx0aGlzLmV4dGVuc2lvbnMuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyIpfSxvN3QucHJvdG90eXBlLnN1cHBvcnRzQ29tcHJlc3NlZFRleHR1cmVQVlJUQz1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0NvbXByZXNzZWRUZXh0dXJlUFZSVEMoKSBpcyBub3cgLmV4dGVuc2lvbnMuZ2V0KCAnV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjJyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyIpfSxvN3QucHJvdG90eXBlLnN1cHBvcnRzQmxlbmRNaW5NYXg9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNCbGVuZE1pbk1heCgpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdFWFRfYmxlbmRfbWlubWF4JyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIkVYVF9ibGVuZF9taW5tYXgiKX0sbzd0LnByb3RvdHlwZS5zdXBwb3J0c1ZlcnRleFRleHR1cmVzPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzVmVydGV4VGV4dHVyZXMoKSBpcyBub3cgLmNhcGFiaWxpdGllcy52ZXJ0ZXhUZXh0dXJlcy4iKSx0aGlzLmNhcGFiaWxpdGllcy52ZXJ0ZXhUZXh0dXJlc30sbzd0LnByb3RvdHlwZS5zdXBwb3J0c0luc3RhbmNlZEFycmF5cz1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0luc3RhbmNlZEFycmF5cygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdBTkdMRV9pbnN0YW5jZWRfYXJyYXlzJyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKX0sbzd0LnByb3RvdHlwZS5lbmFibGVTY2lzc29yVGVzdD1mdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5lbmFibGVTY2lzc29yVGVzdCgpIGlzIG5vdyAuc2V0U2Npc3NvclRlc3QoKS4iKSx0aGlzLnNldFNjaXNzb3JUZXN0KHQpfSxvN3QucHJvdG90eXBlLmluaXRNYXRlcmlhbD1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmluaXRNYXRlcmlhbCgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LG83dC5wcm90b3R5cGUuYWRkUHJlUGx1Z2luPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuYWRkUHJlUGx1Z2luKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sbzd0LnByb3RvdHlwZS5hZGRQb3N0UGx1Z2luPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuYWRkUG9zdFBsdWdpbigpIGhhcyBiZWVuIHJlbW92ZWQuIil9LG83dC5wcm90b3R5cGUudXBkYXRlU2hhZG93TWFwPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAudXBkYXRlU2hhZG93TWFwKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sbzd0LnByb3RvdHlwZS5zZXRGYWNlQ3VsbGluZz1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNldEZhY2VDdWxsaW5nKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sbzd0LnByb3RvdHlwZS5hbGxvY1RleHR1cmVVbml0PWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuYWxsb2NUZXh0dXJlVW5pdCgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LG83dC5wcm90b3R5cGUuc2V0VGV4dHVyZT1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNldFRleHR1cmUoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxvN3QucHJvdG90eXBlLnNldFRleHR1cmUyRD1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNldFRleHR1cmUyRCgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LG83dC5wcm90b3R5cGUuc2V0VGV4dHVyZUN1YmU9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zZXRUZXh0dXJlQ3ViZSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LG83dC5wcm90b3R5cGUuZ2V0QWN0aXZlTWlwTWFwTGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2V0QWN0aXZlTWlwTWFwTGV2ZWwoKSBpcyBub3cgLmdldEFjdGl2ZU1pcG1hcExldmVsKCkuIiksdGhpcy5nZXRBY3RpdmVNaXBtYXBMZXZlbCgpfSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvN3QucHJvdG90eXBlLHtzaGFkb3dNYXBFbmFibGVkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaGFkb3dNYXAuZW5hYmxlZH0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcEVuYWJsZWQgaXMgbm93IC5zaGFkb3dNYXAuZW5hYmxlZC4iKSx0aGlzLnNoYWRvd01hcC5lbmFibGVkPXR9fSxzaGFkb3dNYXBUeXBlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaGFkb3dNYXAudHlwZX0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcFR5cGUgaXMgbm93IC5zaGFkb3dNYXAudHlwZS4iKSx0aGlzLnNoYWRvd01hcC50eXBlPXR9fSxzaGFkb3dNYXBDdWxsRmFjZTp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwQ3VsbEZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwQ3VsbEZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX19LGNvbnRleHQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5jb250ZXh0IGhhcyBiZWVuIHJlbW92ZWQuIFVzZSAuZ2V0Q29udGV4dCgpIGluc3RlYWQuIiksdGhpcy5nZXRDb250ZXh0KCl9fSx2cjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnZyIGhhcyBiZWVuIHJlbmFtZWQgdG8gLnhyIiksdGhpcy54cn19LGdhbW1hSW5wdXQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5nYW1tYUlucHV0IGhhcyBiZWVuIHJlbW92ZWQuIFNldCB0aGUgZW5jb2RpbmcgZm9yIHRleHR1cmVzIHZpYSBUZXh0dXJlLmVuY29kaW5nIGluc3RlYWQuIiksITF9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmdhbW1hSW5wdXQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IHRoZSBlbmNvZGluZyBmb3IgdGV4dHVyZXMgdmlhIFRleHR1cmUuZW5jb2RpbmcgaW5zdGVhZC4iKX19LGdhbW1hT3V0cHV0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2FtbWFPdXRwdXQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IFdlYkdMUmVuZGVyZXIub3V0cHV0RW5jb2RpbmcgaW5zdGVhZC4iKSwhMX0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmdhbW1hT3V0cHV0IGhhcyBiZWVuIHJlbW92ZWQuIFNldCBXZWJHTFJlbmRlcmVyLm91dHB1dEVuY29kaW5nIGluc3RlYWQuIiksdGhpcy5vdXRwdXRFbmNvZGluZz0hMD09PXQ/VzJ0OkcydH19LHRvbmVNYXBwaW5nV2hpdGVQb2ludDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnRvbmVNYXBwaW5nV2hpdGVQb2ludCBoYXMgYmVlbiByZW1vdmVkLiIpLDF9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnRvbmVNYXBwaW5nV2hpdGVQb2ludCBoYXMgYmVlbiByZW1vdmVkLiIpfX19KSxPYmplY3QuZGVmaW5lUHJvcGVydGllcygkOHQucHJvdG90eXBlLHtjdWxsRmFjZTp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLmN1bGxGYWNlIGhhcyBiZWVuIHJlbW92ZWQuIFNldCBNYXRlcmlhbC5zaGFkb3dTaWRlIGluc3RlYWQuIil9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcC5jdWxsRmFjZSBoYXMgYmVlbiByZW1vdmVkLiBTZXQgTWF0ZXJpYWwuc2hhZG93U2lkZSBpbnN0ZWFkLiIpfX0scmVuZGVyUmV2ZXJzZVNpZGVkOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXAucmVuZGVyUmV2ZXJzZVNpZGVkIGhhcyBiZWVuIHJlbW92ZWQuIFNldCBNYXRlcmlhbC5zaGFkb3dTaWRlIGluc3RlYWQuIil9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcC5yZW5kZXJSZXZlcnNlU2lkZWQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX19LHJlbmRlclNpbmdsZVNpZGVkOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXAucmVuZGVyU2luZ2xlU2lkZWQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLnJlbmRlclNpbmdsZVNpZGVkIGhhcyBiZWVuIHJlbW92ZWQuIFNldCBNYXRlcmlhbC5zaGFkb3dTaWRlIGluc3RlYWQuIil9fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKE81dC5wcm90b3R5cGUse3dyYXBTOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLndyYXBTIGlzIG5vdyAudGV4dHVyZS53cmFwUy4iKSx0aGlzLnRleHR1cmUud3JhcFN9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAud3JhcFMgaXMgbm93IC50ZXh0dXJlLndyYXBTLiIpLHRoaXMudGV4dHVyZS53cmFwUz10fX0sd3JhcFQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAud3JhcFQgaXMgbm93IC50ZXh0dXJlLndyYXBULiIpLHRoaXMudGV4dHVyZS53cmFwVH0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC53cmFwVCBpcyBub3cgLnRleHR1cmUud3JhcFQuIiksdGhpcy50ZXh0dXJlLndyYXBUPXR9fSxtYWdGaWx0ZXI6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAubWFnRmlsdGVyIGlzIG5vdyAudGV4dHVyZS5tYWdGaWx0ZXIuIiksdGhpcy50ZXh0dXJlLm1hZ0ZpbHRlcn0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5tYWdGaWx0ZXIgaXMgbm93IC50ZXh0dXJlLm1hZ0ZpbHRlci4iKSx0aGlzLnRleHR1cmUubWFnRmlsdGVyPXR9fSxtaW5GaWx0ZXI6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAubWluRmlsdGVyIGlzIG5vdyAudGV4dHVyZS5taW5GaWx0ZXIuIiksdGhpcy50ZXh0dXJlLm1pbkZpbHRlcn0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5taW5GaWx0ZXIgaXMgbm93IC50ZXh0dXJlLm1pbkZpbHRlci4iKSx0aGlzLnRleHR1cmUubWluRmlsdGVyPXR9fSxhbmlzb3Ryb3B5OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLmFuaXNvdHJvcHkgaXMgbm93IC50ZXh0dXJlLmFuaXNvdHJvcHkuIiksdGhpcy50ZXh0dXJlLmFuaXNvdHJvcHl9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuYW5pc290cm9weSBpcyBub3cgLnRleHR1cmUuYW5pc290cm9weS4iKSx0aGlzLnRleHR1cmUuYW5pc290cm9weT10fX0sb2Zmc2V0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLm9mZnNldCBpcyBub3cgLnRleHR1cmUub2Zmc2V0LiIpLHRoaXMudGV4dHVyZS5vZmZzZXR9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAub2Zmc2V0IGlzIG5vdyAudGV4dHVyZS5vZmZzZXQuIiksdGhpcy50ZXh0dXJlLm9mZnNldD10fX0scmVwZWF0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLnJlcGVhdCBpcyBub3cgLnRleHR1cmUucmVwZWF0LiIpLHRoaXMudGV4dHVyZS5yZXBlYXR9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAucmVwZWF0IGlzIG5vdyAudGV4dHVyZS5yZXBlYXQuIiksdGhpcy50ZXh0dXJlLnJlcGVhdD10fX0sZm9ybWF0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLmZvcm1hdCBpcyBub3cgLnRleHR1cmUuZm9ybWF0LiIpLHRoaXMudGV4dHVyZS5mb3JtYXR9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuZm9ybWF0IGlzIG5vdyAudGV4dHVyZS5mb3JtYXQuIiksdGhpcy50ZXh0dXJlLmZvcm1hdD10fX0sdHlwZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC50eXBlIGlzIG5vdyAudGV4dHVyZS50eXBlLiIpLHRoaXMudGV4dHVyZS50eXBlfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLnR5cGUgaXMgbm93IC50ZXh0dXJlLnR5cGUuIiksdGhpcy50ZXh0dXJlLnR5cGU9dH19LGdlbmVyYXRlTWlwbWFwczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5nZW5lcmF0ZU1pcG1hcHMgaXMgbm93IC50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcy4iKSx0aGlzLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLmdlbmVyYXRlTWlwbWFwcyBpcyBub3cgLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzLiIpLHRoaXMudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHM9dH19fSksaGllLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IC5sb2FkIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSBUSFJFRS5BdWRpb0xvYWRlciBpbnN0ZWFkLiIpO2NvbnN0IGU9dGhpcztyZXR1cm4obmV3IHRpZSkubG9hZCh0LChmdW5jdGlvbih0KXtlLnNldEJ1ZmZlcih0KX0pKSx0aGlzfSxnaWUucHJvdG90eXBlLmdldERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5BdWRpb0FuYWx5c2VyOiAuZ2V0RGF0YSgpIGlzIG5vdyAuZ2V0RnJlcXVlbmN5RGF0YSgpLiIpLHRoaXMuZ2V0RnJlcXVlbmN5RGF0YSgpfSxhNnQucHJvdG90eXBlLnVwZGF0ZUN1YmVNYXA9ZnVuY3Rpb24odCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5DdWJlQ2FtZXJhOiAudXBkYXRlQ3ViZU1hcCgpIGlzIG5vdyAudXBkYXRlKCkuIiksdGhpcy51cGRhdGUodCxlKX0sYTZ0LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5DdWJlQ2FtZXJhOiAuY2xlYXIoKSBpcyBub3cgLnJlbmRlclRhcmdldC5jbGVhcigpLiIpLHRoaXMucmVuZGVyVGFyZ2V0LmNsZWFyKHQsZSxuLGkpfSxMNXQuY3Jvc3NPcmlnaW49dm9pZCAwLEw1dC5sb2FkVGV4dHVyZT1mdW5jdGlvbih0LGUsbixpKXtjb25zb2xlLndhcm4oIlRIUkVFLkltYWdlVXRpbHMubG9hZFRleHR1cmUgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIFRIUkVFLlRleHR1cmVMb2FkZXIoKSBpbnN0ZWFkLiIpO2NvbnN0IHI9bmV3IF9uZTtyLnNldENyb3NzT3JpZ2luKHRoaXMuY3Jvc3NPcmlnaW4pO2NvbnN0IG89ci5sb2FkKHQsbix2b2lkIDAsaSk7cmV0dXJuIGUmJihvLm1hcHBpbmc9ZSksb30sTDV0LmxvYWRUZXh0dXJlQ3ViZT1mdW5jdGlvbih0LGUsbixpKXtjb25zb2xlLndhcm4oIlRIUkVFLkltYWdlVXRpbHMubG9hZFRleHR1cmVDdWJlIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSBUSFJFRS5DdWJlVGV4dHVyZUxvYWRlcigpIGluc3RlYWQuIik7Y29uc3Qgcj1uZXcgbW5lO3Iuc2V0Q3Jvc3NPcmlnaW4odGhpcy5jcm9zc09yaWdpbik7Y29uc3Qgbz1yLmxvYWQodCxuLHZvaWQgMCxpKTtyZXR1cm4gZSYmKG8ubWFwcGluZz1lKSxvfSxMNXQubG9hZENvbXByZXNzZWRUZXh0dXJlPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuSW1hZ2VVdGlscy5sb2FkQ29tcHJlc3NlZFRleHR1cmUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIFRIUkVFLkREU0xvYWRlciBpbnN0ZWFkLiIpfSxMNXQubG9hZENvbXByZXNzZWRUZXh0dXJlQ3ViZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkltYWdlVXRpbHMubG9hZENvbXByZXNzZWRUZXh0dXJlQ3ViZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuRERTTG9hZGVyIGluc3RlYWQuIil9O2NvbnN0IGZyZT17Y3JlYXRlTXVsdGlNYXRlcmlhbE9iamVjdDpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlNjZW5lVXRpbHMgaGFzIGJlZW4gbW92ZWQgdG8gL2V4YW1wbGVzL2pzbS91dGlscy9TY2VuZVV0aWxzLmpzIil9LGRldGFjaDpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlNjZW5lVXRpbHMgaGFzIGJlZW4gbW92ZWQgdG8gL2V4YW1wbGVzL2pzbS91dGlscy9TY2VuZVV0aWxzLmpzIil9LGF0dGFjaDpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlNjZW5lVXRpbHMgaGFzIGJlZW4gbW92ZWQgdG8gL2V4YW1wbGVzL2pzbS91dGlscy9TY2VuZVV0aWxzLmpzIil9fTsidW5kZWZpbmVkIiE9dHlwZW9mIF9fVEhSRUVfREVWVE9PTFNfXyYmX19USFJFRV9ERVZUT09MU19fLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZWdpc3RlciIse2RldGFpbDp7cmV2aXNpb246SzB0fX0pKSwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5fX1RIUkVFX18/Y29uc29sZS53YXJuKCJXQVJOSU5HOiBNdWx0aXBsZSBpbnN0YW5jZXMgb2YgVGhyZWUuanMgYmVpbmcgaW1wb3J0ZWQuIik6d2luZG93Ll9fVEhSRUVfXz1LMHQpO3ZhciBtcmU9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsQUNFU0ZpbG1pY1RvbmVNYXBwaW5nOjQsQWRkRXF1YXRpb246UTB0LEFkZE9wZXJhdGlvbjoyLEFkZGl0aXZlQW5pbWF0aW9uQmxlbmRNb2RlOmoydCxBZGRpdGl2ZUJsZW5kaW5nOjIsQWxwaGFGb3JtYXQ6MTAyMSxBbHdheXNEZXB0aDoxLEFsd2F5c1N0ZW5jaWxGdW5jOjUxOSxBbWJpZW50TGlnaHQ6em5lLEFtYmllbnRMaWdodFByb2JlOm5pZSxBbmltYXRpb25DbGlwOmFuZSxBbmltYXRpb25Mb2FkZXI6Y2xhc3MgZXh0ZW5kcyBobmV7Y29uc3RydWN0b3IodCl7c3VwZXIodCl9bG9hZCh0LGUsbixpKXtjb25zdCByPXRoaXMsbz1uZXcgcG5lKHRoaXMubWFuYWdlcik7by5zZXRQYXRoKHRoaXMucGF0aCksby5zZXRSZXF1ZXN0SGVhZGVyKHRoaXMucmVxdWVzdEhlYWRlciksby5zZXRXaXRoQ3JlZGVudGlhbHModGhpcy53aXRoQ3JlZGVudGlhbHMpLG8ubG9hZCh0LChmdW5jdGlvbihuKXt0cnl7ZShyLnBhcnNlKEpTT04ucGFyc2UobikpKX1jYXRjaChlKXtpP2koZSk6Y29uc29sZS5lcnJvcihlKSxyLm1hbmFnZXIuaXRlbUVycm9yKHQpfX0pLG4saSl9cGFyc2UodCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7Y29uc3QgaT1hbmUucGFyc2UodFtuXSk7ZS5wdXNoKGkpfXJldHVybiBlfX0sQW5pbWF0aW9uTWl4ZXI6UGllLEFuaW1hdGlvbk9iamVjdEdyb3VwOmtpZSxBbmltYXRpb25VdGlsczpZZWUsQXJjQ3VydmU6QXRlLEFycmF5Q2FtZXJhOlE4dCxBcnJvd0hlbHBlcjpjbGFzcyBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcih0PW5ldyBINXQoMCwwLDEpLGU9bmV3IEg1dCgwLDAsMCksbj0xLGk9MTY3NzY5NjAscj0uMipuLG89LjIqcil7c3VwZXIoKSx0aGlzLnR5cGU9IkFycm93SGVscGVyIix2b2lkIDA9PT1jcmUmJihjcmU9bmV3IE40dCxjcmUuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChbMCwwLDAsMCwxLDBdLDMpKSx1cmU9bmV3IF90ZSgwLC41LDEsNSwxKSx1cmUudHJhbnNsYXRlKDAsLS41LDApKSx0aGlzLnBvc2l0aW9uLmNvcHkoZSksdGhpcy5saW5lPW5ldyB0dGUoY3JlLG5ldyBYN3Qoe2NvbG9yOmksdG9uZU1hcHBlZDohMX0pKSx0aGlzLmxpbmUubWF0cml4QXV0b1VwZGF0ZT0hMSx0aGlzLmFkZCh0aGlzLmxpbmUpLHRoaXMuY29uZT1uZXcgSzR0KHVyZSxuZXcgbDR0KHtjb2xvcjppLHRvbmVNYXBwZWQ6ITF9KSksdGhpcy5jb25lLm1hdHJpeEF1dG9VcGRhdGU9ITEsdGhpcy5hZGQodGhpcy5jb25lKSx0aGlzLnNldERpcmVjdGlvbih0KSx0aGlzLnNldExlbmd0aChuLHIsbyl9c2V0RGlyZWN0aW9uKHQpe2lmKHQueT4uOTk5OTkpdGhpcy5xdWF0ZXJuaW9uLnNldCgwLDAsMCwxKTtlbHNlIGlmKHQueTwtLjk5OTk5KXRoaXMucXVhdGVybmlvbi5zZXQoMSwwLDAsMCk7ZWxzZXtscmUuc2V0KHQueiwwLC10LngpLm5vcm1hbGl6ZSgpO2NvbnN0IGU9TWF0aC5hY29zKHQueSk7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21BeGlzQW5nbGUobHJlLGUpfX1zZXRMZW5ndGgodCxlPS4yKnQsbj0uMiplKXt0aGlzLmxpbmUuc2NhbGUuc2V0KDEsTWF0aC5tYXgoMWUtNCx0LWUpLDEpLHRoaXMubGluZS51cGRhdGVNYXRyaXgoKSx0aGlzLmNvbmUuc2NhbGUuc2V0KG4sZSxuKSx0aGlzLmNvbmUucG9zaXRpb24ueT10LHRoaXMuY29uZS51cGRhdGVNYXRyaXgoKX1zZXRDb2xvcih0KXt0aGlzLmxpbmUubWF0ZXJpYWwuY29sb3Iuc2V0KHQpLHRoaXMuY29uZS5tYXRlcmlhbC5jb2xvci5zZXQodCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0LCExKSx0aGlzLmxpbmUuY29weSh0LmxpbmUpLHRoaXMuY29uZS5jb3B5KHQuY29uZSksdGhpc319LEF1ZGlvOmhpZSxBdWRpb0FuYWx5c2VyOmdpZSxBdWRpb0NvbnRleHQ6UW5lLEF1ZGlvTGlzdGVuZXI6Y2xhc3MgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iQXVkaW9MaXN0ZW5lciIsdGhpcy5jb250ZXh0PVFuZS5nZXRDb250ZXh0KCksdGhpcy5nYWluPXRoaXMuY29udGV4dC5jcmVhdGVHYWluKCksdGhpcy5nYWluLmNvbm5lY3QodGhpcy5jb250ZXh0LmRlc3RpbmF0aW9uKSx0aGlzLmZpbHRlcj1udWxsLHRoaXMudGltZURlbHRhPTAsdGhpcy5fY2xvY2s9bmV3IG9pZX1nZXRJbnB1dCgpe3JldHVybiB0aGlzLmdhaW59cmVtb3ZlRmlsdGVyKCl7cmV0dXJuIG51bGwhPT10aGlzLmZpbHRlciYmKHRoaXMuZ2Fpbi5kaXNjb25uZWN0KHRoaXMuZmlsdGVyKSx0aGlzLmZpbHRlci5kaXNjb25uZWN0KHRoaXMuY29udGV4dC5kZXN0aW5hdGlvbiksdGhpcy5nYWluLmNvbm5lY3QodGhpcy5jb250ZXh0LmRlc3RpbmF0aW9uKSx0aGlzLmZpbHRlcj1udWxsKSx0aGlzfWdldEZpbHRlcigpe3JldHVybiB0aGlzLmZpbHRlcn1zZXRGaWx0ZXIodCl7cmV0dXJuIG51bGwhPT10aGlzLmZpbHRlcj8odGhpcy5nYWluLmRpc2Nvbm5lY3QodGhpcy5maWx0ZXIpLHRoaXMuZmlsdGVyLmRpc2Nvbm5lY3QodGhpcy5jb250ZXh0LmRlc3RpbmF0aW9uKSk6dGhpcy5nYWluLmRpc2Nvbm5lY3QodGhpcy5jb250ZXh0LmRlc3RpbmF0aW9uKSx0aGlzLmZpbHRlcj10LHRoaXMuZ2Fpbi5jb25uZWN0KHRoaXMuZmlsdGVyKSx0aGlzLmZpbHRlci5jb25uZWN0KHRoaXMuY29udGV4dC5kZXN0aW5hdGlvbiksdGhpc31nZXRNYXN0ZXJWb2x1bWUoKXtyZXR1cm4gdGhpcy5nYWluLmdhaW4udmFsdWV9c2V0TWFzdGVyVm9sdW1lKHQpe3JldHVybiB0aGlzLmdhaW4uZ2Fpbi5zZXRUYXJnZXRBdFRpbWUodCx0aGlzLmNvbnRleHQuY3VycmVudFRpbWUsLjAxKSx0aGlzfXVwZGF0ZU1hdHJpeFdvcmxkKHQpe3N1cGVyLnVwZGF0ZU1hdHJpeFdvcmxkKHQpO2NvbnN0IGU9dGhpcy5jb250ZXh0Lmxpc3RlbmVyLG49dGhpcy51cDtpZih0aGlzLnRpbWVEZWx0YT10aGlzLl9jbG9jay5nZXREZWx0YSgpLHRoaXMubWF0cml4V29ybGQuZGVjb21wb3NlKHNpZSxsaWUsY2llKSx1aWUuc2V0KDAsMCwtMSkuYXBwbHlRdWF0ZXJuaW9uKGxpZSksZS5wb3NpdGlvblgpe2NvbnN0IHQ9dGhpcy5jb250ZXh0LmN1cnJlbnRUaW1lK3RoaXMudGltZURlbHRhO2UucG9zaXRpb25YLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKHNpZS54LHQpLGUucG9zaXRpb25ZLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKHNpZS55LHQpLGUucG9zaXRpb25aLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKHNpZS56LHQpLGUuZm9yd2FyZFgubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUodWllLngsdCksZS5mb3J3YXJkWS5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZSh1aWUueSx0KSxlLmZvcndhcmRaLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKHVpZS56LHQpLGUudXBYLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKG4ueCx0KSxlLnVwWS5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShuLnksdCksZS51cFoubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobi56LHQpfWVsc2UgZS5zZXRQb3NpdGlvbihzaWUueCxzaWUueSxzaWUueiksZS5zZXRPcmllbnRhdGlvbih1aWUueCx1aWUueSx1aWUueixuLngsbi55LG4ueil9fSxBdWRpb0xvYWRlcjp0aWUsQXhlc0hlbHBlcjpocmUsQXhpc0hlbHBlcjpmdW5jdGlvbiBncmUodCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQXhpc0hlbHBlciBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLkF4ZXNIZWxwZXIuIiksbmV3IGhyZSh0KX0sQmFja1NpZGU6MSxCYXNpY0RlcHRoUGFja2luZzozMjAwLEJhc2ljU2hhZG93TWFwOjAsQmluYXJ5VGV4dHVyZUxvYWRlcjpmdW5jdGlvbiBfcmUodCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQmluYXJ5VGV4dHVyZUxvYWRlciBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLkRhdGFUZXh0dXJlTG9hZGVyLiIpLG5ldyBnbmUodCl9LEJvbmU6Qjd0LEJvb2xlYW5LZXlmcmFtZVRyYWNrOlFlZSxCb3VuZGluZ0JveEhlbHBlcjpmdW5jdGlvbiB5cmUodCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5Cb3VuZGluZ0JveEhlbHBlciBoYXMgYmVlbiBkZXByZWNhdGVkLiBDcmVhdGluZyBhIFRIUkVFLkJveEhlbHBlciBpbnN0ZWFkLiIpLG5ldyBzcmUodCxlKX0sQm94MjpIaWUsQm94MzpVNXQsQm94M0hlbHBlcjpjbGFzcyBleHRlbmRzIGl0ZXtjb25zdHJ1Y3Rvcih0LGU9MTY3NzY5NjApe2NvbnN0IG49bmV3IFVpbnQxNkFycmF5KFswLDEsMSwyLDIsMywzLDAsNCw1LDUsNiw2LDcsNyw0LDAsNCwxLDUsMiw2LDMsN10pLGk9bmV3IE40dDtpLnNldEluZGV4KG5ldyBoNHQobiwxKSksaS5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KFsxLDEsMSwtMSwxLDEsLTEsLTEsMSwxLC0xLDEsMSwxLC0xLC0xLDEsLTEsLTEsLTEsLTEsMSwtMSwtMV0sMykpLHN1cGVyKGksbmV3IFg3dCh7Y29sb3I6ZSx0b25lTWFwcGVkOiExfSkpLHRoaXMuYm94PXQsdGhpcy50eXBlPSJCb3gzSGVscGVyIix0aGlzLmdlb21ldHJ5LmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpfXVwZGF0ZU1hdHJpeFdvcmxkKHQpe2NvbnN0IGU9dGhpcy5ib3g7ZS5pc0VtcHR5KCl8fChlLmdldENlbnRlcih0aGlzLnBvc2l0aW9uKSxlLmdldFNpemUodGhpcy5zY2FsZSksdGhpcy5zY2FsZS5tdWx0aXBseVNjYWxhciguNSksc3VwZXIudXBkYXRlTWF0cml4V29ybGQodCkpfX0sQm94QnVmZmVyR2VvbWV0cnk6SjR0LEJveEdlb21ldHJ5Oko0dCxCb3hIZWxwZXI6c3JlLEJ1ZmZlckF0dHJpYnV0ZTpoNHQsQnVmZmVyR2VvbWV0cnk6TjR0LEJ1ZmZlckdlb21ldHJ5TG9hZGVyOkduZSxCeXRlVHlwZToxMDEwLENhY2hlOmxuZSxDYW1lcmE6aTZ0LENhbWVyYUhlbHBlcjpjbGFzcyBleHRlbmRzIGl0ZXtjb25zdHJ1Y3Rvcih0KXtjb25zdCBlPW5ldyBONHQsbj1uZXcgWDd0KHtjb2xvcjoxNjc3NzIxNSx2ZXJ0ZXhDb2xvcnM6ITAsdG9uZU1hcHBlZDohMX0pLGk9W10scj1bXSxvPXt9LGE9bmV3IHM0dCgxNjc1NTIwMCkscz1uZXcgczR0KDE2NzExNjgwKSxsPW5ldyBzNHQoNDM3NzUpLGM9bmV3IHM0dCgxNjc3NzIxNSksdT1uZXcgczR0KDMzNTU0NDMpO2Z1bmN0aW9uIGgodCxlLG4pe2QodCxuKSxkKGUsbil9ZnVuY3Rpb24gZCh0LGUpe2kucHVzaCgwLDAsMCksci5wdXNoKGUucixlLmcsZS5iKSx2b2lkIDA9PT1vW3RdJiYob1t0XT1bXSksb1t0XS5wdXNoKGkubGVuZ3RoLzMtMSl9aCgibjEiLCJuMiIsYSksaCgibjIiLCJuNCIsYSksaCgibjQiLCJuMyIsYSksaCgibjMiLCJuMSIsYSksaCgiZjEiLCJmMiIsYSksaCgiZjIiLCJmNCIsYSksaCgiZjQiLCJmMyIsYSksaCgiZjMiLCJmMSIsYSksaCgibjEiLCJmMSIsYSksaCgibjIiLCJmMiIsYSksaCgibjMiLCJmMyIsYSksaCgibjQiLCJmNCIsYSksaCgicCIsIm4xIixzKSxoKCJwIiwibjIiLHMpLGgoInAiLCJuMyIscyksaCgicCIsIm40IixzKSxoKCJ1MSIsInUyIixsKSxoKCJ1MiIsInUzIixsKSxoKCJ1MyIsInUxIixsKSxoKCJjIiwidCIsYyksaCgicCIsImMiLHUpLGgoImNuMSIsImNuMiIsdSksaCgiY24zIiwiY240Iix1KSxoKCJjZjEiLCJjZjIiLHUpLGgoImNmMyIsImNmNCIsdSksZS5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KGksMykpLGUuc2V0QXR0cmlidXRlKCJjb2xvciIsbmV3IGI0dChyLDMpKSxzdXBlcihlLG4pLHRoaXMudHlwZT0iQ2FtZXJhSGVscGVyIix0aGlzLmNhbWVyYT10LHRoaXMuY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgmJnRoaXMuY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKSx0aGlzLm1hdHJpeD10Lm1hdHJpeFdvcmxkLHRoaXMubWF0cml4QXV0b1VwZGF0ZT0hMSx0aGlzLnBvaW50TWFwPW8sdGhpcy51cGRhdGUoKX11cGRhdGUoKXtjb25zdCB0PXRoaXMuZ2VvbWV0cnksZT10aGlzLnBvaW50TWFwO3JyZS5wcm9qZWN0aW9uTWF0cml4SW52ZXJzZS5jb3B5KHRoaXMuY2FtZXJhLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlKSxvcmUoImMiLGUsdCxycmUsMCwwLC0xKSxvcmUoInQiLGUsdCxycmUsMCwwLDEpLG9yZSgibjEiLGUsdCxycmUsLTEsLTEsLTEpLG9yZSgibjIiLGUsdCxycmUsMSwtMSwtMSksb3JlKCJuMyIsZSx0LHJyZSwtMSwxLC0xKSxvcmUoIm40IixlLHQscnJlLDEsMSwtMSksb3JlKCJmMSIsZSx0LHJyZSwtMSwtMSwxKSxvcmUoImYyIixlLHQscnJlLDEsLTEsMSksb3JlKCJmMyIsZSx0LHJyZSwtMSwxLDEpLG9yZSgiZjQiLGUsdCxycmUsMSwxLDEpLG9yZSgidTEiLGUsdCxycmUsLjcsMS4xLC0xKSxvcmUoInUyIixlLHQscnJlLC0uNywxLjEsLTEpLG9yZSgidTMiLGUsdCxycmUsMCwyLC0xKSxvcmUoImNmMSIsZSx0LHJyZSwtMSwwLDEpLG9yZSgiY2YyIixlLHQscnJlLDEsMCwxKSxvcmUoImNmMyIsZSx0LHJyZSwwLC0xLDEpLG9yZSgiY2Y0IixlLHQscnJlLDAsMSwxKSxvcmUoImNuMSIsZSx0LHJyZSwtMSwwLC0xKSxvcmUoImNuMiIsZSx0LHJyZSwxLDAsLTEpLG9yZSgiY24zIixlLHQscnJlLDAsLTEsLTEpLG9yZSgiY240IixlLHQscnJlLDAsMSwtMSksdC5nZXRBdHRyaWJ1dGUoInBvc2l0aW9uIikubmVlZHNVcGRhdGU9ITB9ZGlzcG9zZSgpe3RoaXMuZ2VvbWV0cnkuZGlzcG9zZSgpLHRoaXMubWF0ZXJpYWwuZGlzcG9zZSgpfX0sQ2FudmFzUmVuZGVyZXI6ZnVuY3Rpb24gdnJlKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuQ2FudmFzUmVuZGVyZXIgaGFzIGJlZW4gcmVtb3ZlZCIpfSxDYW52YXNUZXh0dXJlOmZ0ZSxDYXRtdWxsUm9tQ3VydmUzOlJ0ZSxDaW5lb25Ub25lTWFwcGluZzozLENpcmNsZUJ1ZmZlckdlb21ldHJ5Omd0ZSxDaXJjbGVHZW9tZXRyeTpndGUsQ2xhbXBUb0VkZ2VXcmFwcGluZzpsMnQsQ2xvY2s6b2llLENvbG9yOnM0dCxDb2xvcktleWZyYW1lVHJhY2s6dG5lLENvbXByZXNzZWRUZXh0dXJlOnB0ZSxDb21wcmVzc2VkVGV4dHVyZUxvYWRlcjpjbGFzcyBleHRlbmRzIGhuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1sb2FkKHQsZSxuLGkpe2NvbnN0IHI9dGhpcyxvPVtdLGE9bmV3IHB0ZSxzPW5ldyBwbmUodGhpcy5tYW5hZ2VyKTtzLnNldFBhdGgodGhpcy5wYXRoKSxzLnNldFJlc3BvbnNlVHlwZSgiYXJyYXlidWZmZXIiKSxzLnNldFJlcXVlc3RIZWFkZXIodGhpcy5yZXF1ZXN0SGVhZGVyKSxzLnNldFdpdGhDcmVkZW50aWFscyhyLndpdGhDcmVkZW50aWFscyk7bGV0IGw9MDtmdW5jdGlvbiBjKGMpe3MubG9hZCh0W2NdLChmdW5jdGlvbih0KXtjb25zdCBuPXIucGFyc2UodCwhMCk7b1tjXT17d2lkdGg6bi53aWR0aCxoZWlnaHQ6bi5oZWlnaHQsZm9ybWF0Om4uZm9ybWF0LG1pcG1hcHM6bi5taXBtYXBzfSxsKz0xLDY9PT1sJiYoMT09PW4ubWlwbWFwQ291bnQmJihhLm1pbkZpbHRlcj1wMnQpLGEuaW1hZ2U9byxhLmZvcm1hdD1uLmZvcm1hdCxhLm5lZWRzVXBkYXRlPSEwLGUmJmUoYSkpfSksbixpKX1pZihBcnJheS5pc0FycmF5KHQpKWZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuOysrZSljKGUpO2Vsc2Ugcy5sb2FkKHQsKGZ1bmN0aW9uKHQpe2NvbnN0IG49ci5wYXJzZSh0LCEwKTtpZihuLmlzQ3ViZW1hcCl7Y29uc3QgdD1uLm1pcG1hcHMubGVuZ3RoL24ubWlwbWFwQ291bnQ7Zm9yKGxldCBlPTA7ZTx0O2UrKyl7b1tlXT17bWlwbWFwczpbXX07Zm9yKGxldCB0PTA7dDxuLm1pcG1hcENvdW50O3QrKylvW2VdLm1pcG1hcHMucHVzaChuLm1pcG1hcHNbZSpuLm1pcG1hcENvdW50K3RdKSxvW2VdLmZvcm1hdD1uLmZvcm1hdCxvW2VdLndpZHRoPW4ud2lkdGgsb1tlXS5oZWlnaHQ9bi5oZWlnaHR9YS5pbWFnZT1vfWVsc2UgYS5pbWFnZS53aWR0aD1uLndpZHRoLGEuaW1hZ2UuaGVpZ2h0PW4uaGVpZ2h0LGEubWlwbWFwcz1uLm1pcG1hcHM7MT09PW4ubWlwbWFwQ291bnQmJihhLm1pbkZpbHRlcj1wMnQpLGEuZm9ybWF0PW4uZm9ybWF0LGEubmVlZHNVcGRhdGU9ITAsZSYmZShhKX0pLG4saSk7cmV0dXJuIGF9fSxDb25lQnVmZmVyR2VvbWV0cnk6eXRlLENvbmVHZW9tZXRyeTp5dGUsQ3ViZUNhbWVyYTphNnQsQ3ViZVJlZmxlY3Rpb25NYXBwaW5nOmUydCxDdWJlUmVmcmFjdGlvbk1hcHBpbmc6bjJ0LEN1YmVUZXh0dXJlOnM2dCxDdWJlVGV4dHVyZUxvYWRlcjptbmUsQ3ViZVVWUmVmbGVjdGlvbk1hcHBpbmc6bzJ0LEN1YmVVVlJlZnJhY3Rpb25NYXBwaW5nOmEydCxDdWJpY0JlemllckN1cnZlOkJ0ZSxDdWJpY0JlemllckN1cnZlMzpIdGUsQ3ViaWNJbnRlcnBvbGFudDokZWUsQ3VsbEZhY2VCYWNrOjEsQ3VsbEZhY2VGcm9udDoyLEN1bGxGYWNlRnJvbnRCYWNrOjMsQ3VsbEZhY2VOb25lOjAsQ3VydmU6VHRlLEN1cnZlUGF0aDp5bmUsQ3VzdG9tQmxlbmRpbmc6NSxDdXN0b21Ub25lTWFwcGluZzo1LEN5bGluZGVyQnVmZmVyR2VvbWV0cnk6X3RlLEN5bGluZGVyR2VvbWV0cnk6X3RlLEN5bGluZHJpY2FsOmNsYXNze2NvbnN0cnVjdG9yKHQ9MSxlPTAsbj0wKXtyZXR1cm4gdGhpcy5yYWRpdXM9dCx0aGlzLnRoZXRhPWUsdGhpcy55PW4sdGhpc31zZXQodCxlLG4pe3JldHVybiB0aGlzLnJhZGl1cz10LHRoaXMudGhldGE9ZSx0aGlzLnk9bix0aGlzfWNvcHkodCl7cmV0dXJuIHRoaXMucmFkaXVzPXQucmFkaXVzLHRoaXMudGhldGE9dC50aGV0YSx0aGlzLnk9dC55LHRoaXN9c2V0RnJvbVZlY3RvcjModCl7cmV0dXJuIHRoaXMuc2V0RnJvbUNhcnRlc2lhbkNvb3Jkcyh0LngsdC55LHQueil9c2V0RnJvbUNhcnRlc2lhbkNvb3Jkcyh0LGUsbil7cmV0dXJuIHRoaXMucmFkaXVzPU1hdGguc3FydCh0KnQrbipuKSx0aGlzLnRoZXRhPU1hdGguYXRhbjIodCxuKSx0aGlzLnk9ZSx0aGlzfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX0sRGF0YVRleHR1cmU6SDd0LERhdGFUZXh0dXJlMkRBcnJheTpoOXQsRGF0YVRleHR1cmUzRDpkOXQsRGF0YVRleHR1cmVMb2FkZXI6Z25lLERhdGFVdGlsczpjbGFzc3tzdGF0aWMgdG9IYWxmRmxvYXQodCl7ZHJlWzBdPXQ7Y29uc3QgZT1wcmVbMF07bGV0IG49ZT4+MTYmMzI3NjgsaT1lPj4xMiYyMDQ3O2NvbnN0IHI9ZT4+MjMmMjU1O3JldHVybiByPDEwMz9uOnI+MTQyPyhufD0zMTc0NCxufD0oMjU1PT1yPzA6MSkmJjgzODg2MDcmZSxuKTpyPDExMz8oaXw9MjA0OCxufD0oaT4+MTE0LXIpKyhpPj4xMTMtciYxKSxuKToobnw9ci0xMTI8PDEwfGk+PjEsbis9MSZpLG4pfX0sRGVjcmVtZW50U3RlbmNpbE9wOjc2ODMsRGVjcmVtZW50V3JhcFN0ZW5jaWxPcDozNDA1NixEZWZhdWx0TG9hZGluZ01hbmFnZXI6dW5lLERlcHRoRm9ybWF0Ok0ydCxEZXB0aFN0ZW5jaWxGb3JtYXQ6RTJ0LERlcHRoVGV4dHVyZTptdGUsRGlyZWN0aW9uYWxMaWdodDpPbmUsRGlyZWN0aW9uYWxMaWdodEhlbHBlcjpjbGFzcyBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIoKSx0aGlzLmxpZ2h0PXQsdGhpcy5saWdodC51cGRhdGVNYXRyaXhXb3JsZCgpLHRoaXMubWF0cml4PXQubWF0cml4V29ybGQsdGhpcy5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuY29sb3I9bix2b2lkIDA9PT1lJiYoZT0xKTtsZXQgaT1uZXcgTjR0O2kuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChbLWUsZSwwLGUsZSwwLGUsLWUsMCwtZSwtZSwwLC1lLGUsMF0sMykpO2NvbnN0IHI9bmV3IFg3dCh7Zm9nOiExLHRvbmVNYXBwZWQ6ITF9KTt0aGlzLmxpZ2h0UGxhbmU9bmV3IHR0ZShpLHIpLHRoaXMuYWRkKHRoaXMubGlnaHRQbGFuZSksaT1uZXcgTjR0LGkuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChbMCwwLDAsMCwwLDFdLDMpKSx0aGlzLnRhcmdldExpbmU9bmV3IHR0ZShpLHIpLHRoaXMuYWRkKHRoaXMudGFyZ2V0TGluZSksdGhpcy51cGRhdGUoKX1kaXNwb3NlKCl7dGhpcy5saWdodFBsYW5lLmdlb21ldHJ5LmRpc3Bvc2UoKSx0aGlzLmxpZ2h0UGxhbmUubWF0ZXJpYWwuZGlzcG9zZSgpLHRoaXMudGFyZ2V0TGluZS5nZW9tZXRyeS5kaXNwb3NlKCksdGhpcy50YXJnZXRMaW5lLm1hdGVyaWFsLmRpc3Bvc2UoKX11cGRhdGUoKXt0cmUuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHRoaXMubGlnaHQubWF0cml4V29ybGQpLGVyZS5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5saWdodC50YXJnZXQubWF0cml4V29ybGQpLG5yZS5zdWJWZWN0b3JzKGVyZSx0cmUpLHRoaXMubGlnaHRQbGFuZS5sb29rQXQoZXJlKSx2b2lkIDAhPT10aGlzLmNvbG9yPyh0aGlzLmxpZ2h0UGxhbmUubWF0ZXJpYWwuY29sb3Iuc2V0KHRoaXMuY29sb3IpLHRoaXMudGFyZ2V0TGluZS5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvcikpOih0aGlzLmxpZ2h0UGxhbmUubWF0ZXJpYWwuY29sb3IuY29weSh0aGlzLmxpZ2h0LmNvbG9yKSx0aGlzLnRhcmdldExpbmUubWF0ZXJpYWwuY29sb3IuY29weSh0aGlzLmxpZ2h0LmNvbG9yKSksdGhpcy50YXJnZXRMaW5lLmxvb2tBdChlcmUpLHRoaXMudGFyZ2V0TGluZS5zY2FsZS56PW5yZS5sZW5ndGgoKX19LERpc2NyZXRlSW50ZXJwb2xhbnQ6WmVlLERvZGVjYWhlZHJvbkJ1ZmZlckdlb21ldHJ5OmJ0ZSxEb2RlY2FoZWRyb25HZW9tZXRyeTpidGUsRG91YmxlU2lkZToyLERzdEFscGhhRmFjdG9yOjIwNixEc3RDb2xvckZhY3RvcjoyMDgsRHluYW1pY0J1ZmZlckF0dHJpYnV0ZTpmdW5jdGlvbiBicmUodCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5EeW5hbWljQnVmZmVyQXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuQnVmZmVyQXR0cmlidXRlKCkuc2V0VXNhZ2UoIFRIUkVFLkR5bmFtaWNEcmF3VXNhZ2UgKSBpbnN0ZWFkLiIpLG5ldyBoNHQodCxlKS5zZXRVc2FnZShRMnQpfSxEeW5hbWljQ29weVVzYWdlOjM1MDUwLER5bmFtaWNEcmF3VXNhZ2U6UTJ0LER5bmFtaWNSZWFkVXNhZ2U6MzUwNDksRWRnZXNHZW9tZXRyeTpFdGUsRWRnZXNIZWxwZXI6ZnVuY3Rpb24geHJlKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuRWRnZXNIZWxwZXIgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIFRIUkVFLkVkZ2VzR2VvbWV0cnkgaW5zdGVhZC4iKSxuZXcgaXRlKG5ldyBFdGUodC5nZW9tZXRyeSksbmV3IFg3dCh7Y29sb3I6dm9pZCAwIT09ZT9lOjE2Nzc3MjE1fSkpfSxFbGxpcHNlQ3VydmU6Q3RlLEVxdWFsRGVwdGg6NCxFcXVhbFN0ZW5jaWxGdW5jOjUxNCxFcXVpcmVjdGFuZ3VsYXJSZWZsZWN0aW9uTWFwcGluZzppMnQsRXF1aXJlY3Rhbmd1bGFyUmVmcmFjdGlvbk1hcHBpbmc6cjJ0LEV1bGVyOlQzdCxFdmVudERpc3BhdGNoZXI6ZTV0LEV4dHJ1ZGVCdWZmZXJHZW9tZXRyeTpiZWUsRXh0cnVkZUdlb21ldHJ5OmJlZSxGYWNlQ29sb3JzOjEsRmlsZUxvYWRlcjpwbmUsRmxhdFNoYWRpbmc6MSxGbG9hdDE2QnVmZmVyQXR0cmlidXRlOnY0dCxGbG9hdDMyQXR0cmlidXRlOmZ1bmN0aW9uIHdyZSh0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkZsb2F0MzJBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5GbG9hdDMyQnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKSxuZXcgYjR0KHQsZSl9LEZsb2F0MzJCdWZmZXJBdHRyaWJ1dGU6YjR0LEZsb2F0NjRBdHRyaWJ1dGU6ZnVuY3Rpb24gU3JlKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuRmxvYXQ2NEF0dHJpYnV0ZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbmV3IFRIUkVFLkZsb2F0NjRCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpLG5ldyB4NHQodCxlKX0sRmxvYXQ2NEJ1ZmZlckF0dHJpYnV0ZTp4NHQsRmxvYXRUeXBlOnYydCxGb2c6bDd0LEZvZ0V4cDI6czd0LEZvbnQ6S25lLEZvbnRMb2FkZXI6Y2xhc3MgZXh0ZW5kcyBobmV7Y29uc3RydWN0b3IodCl7c3VwZXIodCl9bG9hZCh0LGUsbixpKXtjb25zdCByPXRoaXMsbz1uZXcgcG5lKHRoaXMubWFuYWdlcik7by5zZXRQYXRoKHRoaXMucGF0aCksby5zZXRSZXF1ZXN0SGVhZGVyKHRoaXMucmVxdWVzdEhlYWRlciksby5zZXRXaXRoQ3JlZGVudGlhbHMoci53aXRoQ3JlZGVudGlhbHMpLG8ubG9hZCh0LChmdW5jdGlvbih0KXtsZXQgbjt0cnl7bj1KU09OLnBhcnNlKHQpfWNhdGNoKGUpe2NvbnNvbGUud2FybigiVEhSRUUuRm9udExvYWRlcjogdHlwZWZhY2UuanMgc3VwcG9ydCBpcyBiZWluZyBkZXByZWNhdGVkLiBVc2UgdHlwZWZhY2UuanNvbiBpbnN0ZWFkLiIpLG49SlNPTi5wYXJzZSh0LnN1YnN0cmluZyg2NSx0Lmxlbmd0aC0yKSl9Y29uc3QgaT1yLnBhcnNlKG4pO2UmJmUoaSl9KSxuLGkpfXBhcnNlKHQpe3JldHVybiBuZXcgS25lKHQpfX0sRnJvbnRTaWRlOjAsRnJ1c3R1bTptNnQsR0xCdWZmZXJBdHRyaWJ1dGU6UmllLEdMU0wxOiIxMDAiLEdMU0wzOnQ1dCxHYW1tYUVuY29kaW5nOnEydCxHcmVhdGVyRGVwdGg6NixHcmVhdGVyRXF1YWxEZXB0aDo1LEdyZWF0ZXJFcXVhbFN0ZW5jaWxGdW5jOjUxOCxHcmVhdGVyU3RlbmNpbEZ1bmM6NTE2LEdyaWRIZWxwZXI6UWllLEdyb3VwOnQ3dCxIYWxmRmxvYXRUeXBlOmIydCxIZW1pc3BoZXJlTGlnaHQ6d25lLEhlbWlzcGhlcmVMaWdodEhlbHBlcjpjbGFzcyBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIoKSx0aGlzLmxpZ2h0PXQsdGhpcy5saWdodC51cGRhdGVNYXRyaXhXb3JsZCgpLHRoaXMubWF0cml4PXQubWF0cml4V29ybGQsdGhpcy5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuY29sb3I9bjtjb25zdCBpPW5ldyBNZWUoZSk7aS5yb3RhdGVZKC41Kk1hdGguUEkpLHRoaXMubWF0ZXJpYWw9bmV3IGw0dCh7d2lyZWZyYW1lOiEwLGZvZzohMSx0b25lTWFwcGVkOiExfSksdm9pZCAwPT09dGhpcy5jb2xvciYmKHRoaXMubWF0ZXJpYWwudmVydGV4Q29sb3JzPSEwKTtjb25zdCByPWkuZ2V0QXR0cmlidXRlKCJwb3NpdGlvbiIpLG89bmV3IEZsb2F0MzJBcnJheSgzKnIuY291bnQpO2kuc2V0QXR0cmlidXRlKCJjb2xvciIsbmV3IGg0dChvLDMpKSx0aGlzLmFkZChuZXcgSzR0KGksdGhpcy5tYXRlcmlhbCkpLHRoaXMudXBkYXRlKCl9ZGlzcG9zZSgpe3RoaXMuY2hpbGRyZW5bMF0uZ2VvbWV0cnkuZGlzcG9zZSgpLHRoaXMuY2hpbGRyZW5bMF0ubWF0ZXJpYWwuZGlzcG9zZSgpfXVwZGF0ZSgpe2NvbnN0IHQ9dGhpcy5jaGlsZHJlblswXTtpZih2b2lkIDAhPT10aGlzLmNvbG9yKXRoaXMubWF0ZXJpYWwuY29sb3Iuc2V0KHRoaXMuY29sb3IpO2Vsc2V7Y29uc3QgZT10Lmdlb21ldHJ5LmdldEF0dHJpYnV0ZSgiY29sb3IiKTtaaWUuY29weSh0aGlzLmxpZ2h0LmNvbG9yKSxKaWUuY29weSh0aGlzLmxpZ2h0Lmdyb3VuZENvbG9yKTtmb3IobGV0IHQ9MCxuPWUuY291bnQ7dDxuO3QrKyl7Y29uc3QgaT10PG4vMj9aaWU6SmllO2Uuc2V0WFlaKHQsaS5yLGkuZyxpLmIpfWUubmVlZHNVcGRhdGU9ITB9dC5sb29rQXQoS2llLnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLmxpZ2h0Lm1hdHJpeFdvcmxkKS5uZWdhdGUoKSl9fSxIZW1pc3BoZXJlTGlnaHRQcm9iZTplaWUsSWNvc2FoZWRyb25CdWZmZXJHZW9tZXRyeTp3ZWUsSWNvc2FoZWRyb25HZW9tZXRyeTp3ZWUsSW1hZ2VCaXRtYXBMb2FkZXI6WG5lLEltYWdlTG9hZGVyOmZuZSxJbWFnZVV0aWxzOkw1dCxJbW1lZGlhdGVSZW5kZXJPYmplY3Q6amllLEluY3JlbWVudFN0ZW5jaWxPcDo3NjgyLEluY3JlbWVudFdyYXBTdGVuY2lsT3A6MzQwNTUsSW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlOmpuZSxJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeTpVbmUsSW5zdGFuY2VkSW50ZXJsZWF2ZWRCdWZmZXI6SWllLEluc3RhbmNlZE1lc2g6WTd0LEludDE2QXR0cmlidXRlOmZ1bmN0aW9uIE1yZSh0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkludDE2QXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuSW50MTZCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpLG5ldyBtNHQodCxlKX0sSW50MTZCdWZmZXJBdHRyaWJ1dGU6bTR0LEludDMyQXR0cmlidXRlOmZ1bmN0aW9uIEVyZSh0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkludDMyQXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuSW50MzJCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpLG5ldyBfNHQodCxlKX0sSW50MzJCdWZmZXJBdHRyaWJ1dGU6XzR0LEludDhBdHRyaWJ1dGU6ZnVuY3Rpb24gVHJlKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuSW50OEF0dHJpYnV0ZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbmV3IFRIUkVFLkludDhCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpLG5ldyBkNHQodCxlKX0sSW50OEJ1ZmZlckF0dHJpYnV0ZTpkNHQsSW50VHlwZToxMDEzLEludGVybGVhdmVkQnVmZmVyOnU3dCxJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZTpkN3QsSW50ZXJwb2xhbnQ6WGVlLEludGVycG9sYXRlRGlzY3JldGU6ejJ0LEludGVycG9sYXRlTGluZWFyOkQydCxJbnRlcnBvbGF0ZVNtb290aDpCMnQsSW52ZXJ0U3RlbmNpbE9wOjUzODYsSlNPTkxvYWRlcjpmdW5jdGlvbiBDcmUoKXtjb25zb2xlLmVycm9yKCJUSFJFRS5KU09OTG9hZGVyIGhhcyBiZWVuIHJlbW92ZWQuIil9LEtlZXBTdGVuY2lsT3A6WjJ0LEtleWZyYW1lVHJhY2s6SmVlLExPRDpQN3QsTGF0aGVCdWZmZXJHZW9tZXRyeTpTZWUsTGF0aGVHZW9tZXRyeTpTZWUsTGF5ZXJzOkMzdCxMZW5zRmxhcmU6ZnVuY3Rpb24gQXJlKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTGVuc0ZsYXJlIGhhcyBiZWVuIG1vdmVkIHRvIC9leGFtcGxlcy9qc20vb2JqZWN0cy9MZW5zZmxhcmUuanMiKX0sTGVzc0RlcHRoOjIsTGVzc0VxdWFsRGVwdGg6MyxMZXNzRXF1YWxTdGVuY2lsRnVuYzo1MTUsTGVzc1N0ZW5jaWxGdW5jOjUxMyxMaWdodDp4bmUsTGlnaHRQcm9iZTpIbmUsTGluZTp0dGUsTGluZTM6VWllLExpbmVCYXNpY01hdGVyaWFsOlg3dCxMaW5lQ3VydmU6RnRlLExpbmVDdXJ2ZTM6VnRlLExpbmVEYXNoZWRNYXRlcmlhbDpXZWUsTGluZUxvb3A6cnRlLExpbmVQaWVjZXM6MSxMaW5lU2VnbWVudHM6aXRlLExpbmVTdHJpcDowLExpbmVhckVuY29kaW5nOkcydCxMaW5lYXJGaWx0ZXI6cDJ0LExpbmVhckludGVycG9sYW50OktlZSxMaW5lYXJNaXBNYXBMaW5lYXJGaWx0ZXI6MTAwOCxMaW5lYXJNaXBNYXBOZWFyZXN0RmlsdGVyOjEwMDcsTGluZWFyTWlwbWFwTGluZWFyRmlsdGVyOm0ydCxMaW5lYXJNaXBtYXBOZWFyZXN0RmlsdGVyOmYydCxMaW5lYXJUb25lTWFwcGluZzoxLExvYWRlcjpobmUsTG9hZGVyVXRpbHM6Vm5lLExvYWRpbmdNYW5hZ2VyOmNuZSxMb2dMdXZFbmNvZGluZzozMDAzLExvb3BPbmNlOjIyMDAsTG9vcFBpbmdQb25nOjIyMDIsTG9vcFJlcGVhdDoyMjAxLEx1bWluYW5jZUFscGhhRm9ybWF0OjEwMjUsTHVtaW5hbmNlRm9ybWF0OjEwMjQsTU9VU0U6WjB0LE1hdGVyaWFsOnQ0dCxNYXRlcmlhbExvYWRlcjpGbmUsTWF0aDpwNXQsTWF0aFV0aWxzOnA1dCxNYXRyaXgzOkE1dCxNYXRyaXg0OmczdCxNYXhFcXVhdGlvbjoxMDQsTWVzaDpLNHQsTWVzaEJhc2ljTWF0ZXJpYWw6bDR0LE1lc2hEZXB0aE1hdGVyaWFsOlk4dCxNZXNoRGlzdGFuY2VNYXRlcmlhbDpYOHQsTWVzaEZhY2VNYXRlcmlhbDpmdW5jdGlvbiBrcmUodCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWVzaEZhY2VNYXRlcmlhbCBoYXMgYmVlbiByZW1vdmVkLiBVc2UgYW4gQXJyYXkgaW5zdGVhZC4iKSx0fSxNZXNoTGFtYmVydE1hdGVyaWFsOmplZSxNZXNoTWF0Y2FwTWF0ZXJpYWw6R2VlLE1lc2hOb3JtYWxNYXRlcmlhbDpVZWUsTWVzaFBob25nTWF0ZXJpYWw6RmVlLE1lc2hQaHlzaWNhbE1hdGVyaWFsOkhlZSxNZXNoU3RhbmRhcmRNYXRlcmlhbDpCZWUsTWVzaFRvb25NYXRlcmlhbDpWZWUsTWluRXF1YXRpb246MTAzLE1pcnJvcmVkUmVwZWF0V3JhcHBpbmc6YzJ0LE1peE9wZXJhdGlvbjoxLE11bHRpTWF0ZXJpYWw6ZnVuY3Rpb24gTHJlKHQ9W10pe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk11bHRpTWF0ZXJpYWwgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIGFuIEFycmF5IGluc3RlYWQuIiksdC5pc011bHRpTWF0ZXJpYWw9ITAsdC5tYXRlcmlhbHM9dCx0LmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHQuc2xpY2UoKX0sdH0sTXVsdGlwbHlCbGVuZGluZzo0LE11bHRpcGx5T3BlcmF0aW9uOjAsTmVhcmVzdEZpbHRlcjp1MnQsTmVhcmVzdE1pcE1hcExpbmVhckZpbHRlcjoxMDA1LE5lYXJlc3RNaXBNYXBOZWFyZXN0RmlsdGVyOjEwMDQsTmVhcmVzdE1pcG1hcExpbmVhckZpbHRlcjpkMnQsTmVhcmVzdE1pcG1hcE5lYXJlc3RGaWx0ZXI6aDJ0LE5ldmVyRGVwdGg6MCxOZXZlclN0ZW5jaWxGdW5jOjUxMixOb0JsZW5kaW5nOjAsTm9Db2xvcnM6MCxOb1RvbmVNYXBwaW5nOjAsTm9ybWFsQW5pbWF0aW9uQmxlbmRNb2RlOlUydCxOb3JtYWxCbGVuZGluZzoxLE5vdEVxdWFsRGVwdGg6NyxOb3RFcXVhbFN0ZW5jaWxGdW5jOjUxNyxOdW1iZXJLZXlmcmFtZVRyYWNrOmVuZSxPYmplY3QzRDpWM3QsT2JqZWN0TG9hZGVyOmNsYXNzIGV4dGVuZHMgaG5le2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfWxvYWQodCxlLG4saSl7Y29uc3Qgcj10aGlzLG89IiI9PT10aGlzLnBhdGg/Vm5lLmV4dHJhY3RVcmxCYXNlKHQpOnRoaXMucGF0aDt0aGlzLnJlc291cmNlUGF0aD10aGlzLnJlc291cmNlUGF0aHx8bztjb25zdCBhPW5ldyBwbmUodGhpcy5tYW5hZ2VyKTthLnNldFBhdGgodGhpcy5wYXRoKSxhLnNldFJlcXVlc3RIZWFkZXIodGhpcy5yZXF1ZXN0SGVhZGVyKSxhLnNldFdpdGhDcmVkZW50aWFscyh0aGlzLndpdGhDcmVkZW50aWFscyksYS5sb2FkKHQsKGZ1bmN0aW9uKG4pe2xldCBvPW51bGw7dHJ5e289SlNPTi5wYXJzZShuKX1jYXRjaChlKXtyZXR1cm4gdm9pZCAwIT09aSYmaShlKSx2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFOk9iamVjdExvYWRlcjogQ2FuJ3QgcGFyc2UgIit0KyIuIixlLm1lc3NhZ2UpfWNvbnN0IGE9by5tZXRhZGF0YTt2b2lkIDAhPT1hJiZ2b2lkIDAhPT1hLnR5cGUmJiJnZW9tZXRyeSIhPT1hLnR5cGUudG9Mb3dlckNhc2UoKT9yLnBhcnNlKG8sZSk6Y29uc29sZS5lcnJvcigiVEhSRUUuT2JqZWN0TG9hZGVyOiBDYW4ndCBsb2FkICIrdCl9KSxuLGkpfWFzeW5jIGxvYWRBc3luYyh0LGUpe2NvbnN0IG49IiI9PT10aGlzLnBhdGg/Vm5lLmV4dHJhY3RVcmxCYXNlKHQpOnRoaXMucGF0aDt0aGlzLnJlc291cmNlUGF0aD10aGlzLnJlc291cmNlUGF0aHx8bjtjb25zdCBpPW5ldyBwbmUodGhpcy5tYW5hZ2VyKTtpLnNldFBhdGgodGhpcy5wYXRoKSxpLnNldFJlcXVlc3RIZWFkZXIodGhpcy5yZXF1ZXN0SGVhZGVyKSxpLnNldFdpdGhDcmVkZW50aWFscyh0aGlzLndpdGhDcmVkZW50aWFscyk7Y29uc3Qgcj1hd2FpdCBpLmxvYWRBc3luYyh0LGUpLG89SlNPTi5wYXJzZShyKSxhPW8ubWV0YWRhdGE7aWYodm9pZCAwPT09YXx8dm9pZCAwPT09YS50eXBlfHwiZ2VvbWV0cnkiPT09YS50eXBlLnRvTG93ZXJDYXNlKCkpdGhyb3cgbmV3IEVycm9yKCJUSFJFRS5PYmplY3RMb2FkZXI6IENhbid0IGxvYWQgIit0KTtyZXR1cm4gYXdhaXQgdGhpcy5wYXJzZUFzeW5jKG8pfXBhcnNlKHQsZSl7Y29uc3Qgbj10aGlzLnBhcnNlQW5pbWF0aW9ucyh0LmFuaW1hdGlvbnMpLGk9dGhpcy5wYXJzZVNoYXBlcyh0LnNoYXBlcykscj10aGlzLnBhcnNlR2VvbWV0cmllcyh0Lmdlb21ldHJpZXMsaSksbz10aGlzLnBhcnNlSW1hZ2VzKHQuaW1hZ2VzLChmdW5jdGlvbigpe3ZvaWQgMCE9PWUmJmUobCl9KSksYT10aGlzLnBhcnNlVGV4dHVyZXModC50ZXh0dXJlcyxvKSxzPXRoaXMucGFyc2VNYXRlcmlhbHModC5tYXRlcmlhbHMsYSksbD10aGlzLnBhcnNlT2JqZWN0KHQub2JqZWN0LHIscyxhLG4pLGM9dGhpcy5wYXJzZVNrZWxldG9ucyh0LnNrZWxldG9ucyxsKTtpZih0aGlzLmJpbmRTa2VsZXRvbnMobCxjKSx2b2lkIDAhPT1lKXtsZXQgdD0hMTtmb3IoY29uc3QgZSBpbiBvKWlmKG9bZV1pbnN0YW5jZW9mIEhUTUxJbWFnZUVsZW1lbnQpe3Q9ITA7YnJlYWt9ITE9PT10JiZlKGwpfXJldHVybiBsfWFzeW5jIHBhcnNlQXN5bmModCl7Y29uc3QgZT10aGlzLnBhcnNlQW5pbWF0aW9ucyh0LmFuaW1hdGlvbnMpLG49dGhpcy5wYXJzZVNoYXBlcyh0LnNoYXBlcyksaT10aGlzLnBhcnNlR2VvbWV0cmllcyh0Lmdlb21ldHJpZXMsbikscj1hd2FpdCB0aGlzLnBhcnNlSW1hZ2VzQXN5bmModC5pbWFnZXMpLG89dGhpcy5wYXJzZVRleHR1cmVzKHQudGV4dHVyZXMsciksYT10aGlzLnBhcnNlTWF0ZXJpYWxzKHQubWF0ZXJpYWxzLG8pLHM9dGhpcy5wYXJzZU9iamVjdCh0Lm9iamVjdCxpLGEsbyxlKSxsPXRoaXMucGFyc2VTa2VsZXRvbnModC5za2VsZXRvbnMscyk7cmV0dXJuIHRoaXMuYmluZFNrZWxldG9ucyhzLGwpLHN9cGFyc2VTaGFwZXModCl7Y29uc3QgZT17fTtpZih2b2lkIDAhPT10KWZvcihsZXQgbj0wLGk9dC5sZW5ndGg7bjxpO24rKyl7Y29uc3QgaT0obmV3IGJuZSkuZnJvbUpTT04odFtuXSk7ZVtpLnV1aWRdPWl9cmV0dXJuIGV9cGFyc2VTa2VsZXRvbnModCxlKXtjb25zdCBuPXt9LGk9e307aWYoZS50cmF2ZXJzZSgoZnVuY3Rpb24odCl7dC5pc0JvbmUmJihpW3QudXVpZF09dCl9KSksdm9pZCAwIT09dClmb3IobGV0IGU9MCxyPXQubGVuZ3RoO2U8cjtlKyspe2NvbnN0IHI9KG5ldyBVN3QpLmZyb21KU09OKHRbZV0saSk7bltyLnV1aWRdPXJ9cmV0dXJuIG59cGFyc2VHZW9tZXRyaWVzKHQsZSl7Y29uc3Qgbj17fTtpZih2b2lkIDAhPT10KXtjb25zdCBpPW5ldyBHbmU7Zm9yKGxldCByPTAsbz10Lmxlbmd0aDtyPG87cisrKXtsZXQgbztjb25zdCBhPXRbcl07c3dpdGNoKGEudHlwZSl7Y2FzZSJCdWZmZXJHZW9tZXRyeSI6Y2FzZSJJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSI6bz1pLnBhcnNlKGEpO2JyZWFrO2Nhc2UiR2VvbWV0cnkiOmNvbnNvbGUuZXJyb3IoIlRIUkVFLk9iamVjdExvYWRlcjogVGhlIGxlZ2FjeSBHZW9tZXRyeSB0eXBlIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuIik7YnJlYWs7ZGVmYXVsdDphLnR5cGUgaW4gemVlP289emVlW2EudHlwZV0uZnJvbUpTT04oYSxlKTpjb25zb2xlLndhcm4oYFRIUkVFLk9iamVjdExvYWRlcjogVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZSAiJHthLnR5cGV9ImApfW8udXVpZD1hLnV1aWQsdm9pZCAwIT09YS5uYW1lJiYoby5uYW1lPWEubmFtZSksITA9PT1vLmlzQnVmZmVyR2VvbWV0cnkmJnZvaWQgMCE9PWEudXNlckRhdGEmJihvLnVzZXJEYXRhPWEudXNlckRhdGEpLG5bYS51dWlkXT1vfX1yZXR1cm4gbn1wYXJzZU1hdGVyaWFscyh0LGUpe2NvbnN0IG49e30saT17fTtpZih2b2lkIDAhPT10KXtjb25zdCByPW5ldyBGbmU7ci5zZXRUZXh0dXJlcyhlKTtmb3IobGV0IGU9MCxvPXQubGVuZ3RoO2U8bztlKyspe2NvbnN0IG89dFtlXTtpZigiTXVsdGlNYXRlcmlhbCI9PT1vLnR5cGUpe2NvbnN0IHQ9W107Zm9yKGxldCBlPTA7ZTxvLm1hdGVyaWFscy5sZW5ndGg7ZSsrKXtjb25zdCBpPW8ubWF0ZXJpYWxzW2VdO3ZvaWQgMD09PW5baS51dWlkXSYmKG5baS51dWlkXT1yLnBhcnNlKGkpKSx0LnB1c2gobltpLnV1aWRdKX1pW28udXVpZF09dH1lbHNlIHZvaWQgMD09PW5bby51dWlkXSYmKG5bby51dWlkXT1yLnBhcnNlKG8pKSxpW28udXVpZF09bltvLnV1aWRdfX1yZXR1cm4gaX1wYXJzZUFuaW1hdGlvbnModCl7Y29uc3QgZT17fTtpZih2b2lkIDAhPT10KWZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCBpPWFuZS5wYXJzZSh0W25dKTtlW2kudXVpZF09aX1yZXR1cm4gZX1wYXJzZUltYWdlcyh0LGUpe2NvbnN0IG49dGhpcyxpPXt9O2xldCByO2Z1bmN0aW9uIG8odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtjb25zdCBlPXQ7cmV0dXJuKGZ1bmN0aW9uIGkodCl7cmV0dXJuIG4ubWFuYWdlci5pdGVtU3RhcnQodCksci5sb2FkKHQsKGZ1bmN0aW9uKCl7bi5tYW5hZ2VyLml0ZW1FbmQodCl9KSx2b2lkIDAsKGZ1bmN0aW9uKCl7bi5tYW5hZ2VyLml0ZW1FcnJvcih0KSxuLm1hbmFnZXIuaXRlbUVuZCh0KX0pKX0pKC9eKFwvXC8pfChbYS16XSs6KFwvXC8pPykvaS50ZXN0KGUpP2U6bi5yZXNvdXJjZVBhdGgrZSl9cmV0dXJuIHQuZGF0YT97ZGF0YTpNNHQodC50eXBlLHQuZGF0YSksd2lkdGg6dC53aWR0aCxoZWlnaHQ6dC5oZWlnaHR9Om51bGx9aWYodm9pZCAwIT09dCYmdC5sZW5ndGg+MCl7Y29uc3Qgbj1uZXcgY25lKGUpO3I9bmV3IGZuZShuKSxyLnNldENyb3NzT3JpZ2luKHRoaXMuY3Jvc3NPcmlnaW4pO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10W2VdLHI9bi51cmw7aWYoQXJyYXkuaXNBcnJheShyKSl7aVtuLnV1aWRdPVtdO2ZvcihsZXQgdD0wLGU9ci5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1vKHJbdF0pO251bGwhPT1lJiYoZSBpbnN0YW5jZW9mIEhUTUxJbWFnZUVsZW1lbnQ/aVtuLnV1aWRdLnB1c2goZSk6aVtuLnV1aWRdLnB1c2gobmV3IEg3dChlLmRhdGEsZS53aWR0aCxlLmhlaWdodCkpKX19ZWxzZXtjb25zdCB0PW8obi51cmwpO251bGwhPT10JiYoaVtuLnV1aWRdPXQpfX19cmV0dXJuIGl9YXN5bmMgcGFyc2VJbWFnZXNBc3luYyh0KXtjb25zdCBlPXRoaXMsbj17fTtsZXQgaTthc3luYyBmdW5jdGlvbiByKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7Y29uc3Qgbj10LHI9L14oXC9cLyl8KFthLXpdKzooXC9cLyk/KS9pLnRlc3Qobik/bjplLnJlc291cmNlUGF0aCtuO3JldHVybiBhd2FpdCBpLmxvYWRBc3luYyhyKX1yZXR1cm4gdC5kYXRhP3tkYXRhOk00dCh0LnR5cGUsdC5kYXRhKSx3aWR0aDp0LndpZHRoLGhlaWdodDp0LmhlaWdodH06bnVsbH1pZih2b2lkIDAhPT10JiZ0Lmxlbmd0aD4wKXtpPW5ldyBmbmUodGhpcy5tYW5hZ2VyKSxpLnNldENyb3NzT3JpZ2luKHRoaXMuY3Jvc3NPcmlnaW4pO2ZvcihsZXQgZT0wLGk9dC5sZW5ndGg7ZTxpO2UrKyl7Y29uc3QgaT10W2VdLG89aS51cmw7aWYoQXJyYXkuaXNBcnJheShvKSl7bltpLnV1aWRdPVtdO2ZvcihsZXQgdD0wLGU9by5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1vW3RdLGE9YXdhaXQgcihlKTtudWxsIT09YSYmKGEgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50P25baS51dWlkXS5wdXNoKGEpOm5baS51dWlkXS5wdXNoKG5ldyBIN3QoYS5kYXRhLGEud2lkdGgsYS5oZWlnaHQpKSl9fWVsc2V7Y29uc3QgdD1hd2FpdCByKGkudXJsKTtudWxsIT09dCYmKG5baS51dWlkXT10KX19fXJldHVybiBufXBhcnNlVGV4dHVyZXModCxlKXtmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0P3Q6KGNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyLnBhcnNlVGV4dHVyZTogQ29uc3RhbnQgc2hvdWxkIGJlIGluIG51bWVyaWMgZm9ybS4iLHQpLGVbdF0pfWNvbnN0IGk9e307aWYodm9pZCAwIT09dClmb3IobGV0IHI9MCxvPXQubGVuZ3RoO3I8bztyKyspe2NvbnN0IG89dFtyXTtsZXQgYTt2b2lkIDA9PT1vLmltYWdlJiZjb25zb2xlLndhcm4oJ1RIUkVFLk9iamVjdExvYWRlcjogTm8gImltYWdlIiBzcGVjaWZpZWQgZm9yJyxvLnV1aWQpLHZvaWQgMD09PWVbby5pbWFnZV0mJmNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiBVbmRlZmluZWQgaW1hZ2UiLG8uaW1hZ2UpO2NvbnN0IHM9ZVtvLmltYWdlXTtBcnJheS5pc0FycmF5KHMpPyhhPW5ldyBzNnQocyksNj09PXMubGVuZ3RoJiYoYS5uZWVkc1VwZGF0ZT0hMCkpOihhPXMmJnMuZGF0YT9uZXcgSDd0KHMuZGF0YSxzLndpZHRoLHMuaGVpZ2h0KTpuZXcgTjV0KHMpLHMmJihhLm5lZWRzVXBkYXRlPSEwKSksYS51dWlkPW8udXVpZCx2b2lkIDAhPT1vLm5hbWUmJihhLm5hbWU9by5uYW1lKSx2b2lkIDAhPT1vLm1hcHBpbmcmJihhLm1hcHBpbmc9bihvLm1hcHBpbmcsV25lKSksdm9pZCAwIT09by5vZmZzZXQmJmEub2Zmc2V0LmZyb21BcnJheShvLm9mZnNldCksdm9pZCAwIT09by5yZXBlYXQmJmEucmVwZWF0LmZyb21BcnJheShvLnJlcGVhdCksdm9pZCAwIT09by5jZW50ZXImJmEuY2VudGVyLmZyb21BcnJheShvLmNlbnRlciksdm9pZCAwIT09by5yb3RhdGlvbiYmKGEucm90YXRpb249by5yb3RhdGlvbiksdm9pZCAwIT09by53cmFwJiYoYS53cmFwUz1uKG8ud3JhcFswXSxxbmUpLGEud3JhcFQ9bihvLndyYXBbMV0scW5lKSksdm9pZCAwIT09by5mb3JtYXQmJihhLmZvcm1hdD1vLmZvcm1hdCksdm9pZCAwIT09by50eXBlJiYoYS50eXBlPW8udHlwZSksdm9pZCAwIT09by5lbmNvZGluZyYmKGEuZW5jb2Rpbmc9by5lbmNvZGluZyksdm9pZCAwIT09by5taW5GaWx0ZXImJihhLm1pbkZpbHRlcj1uKG8ubWluRmlsdGVyLFluZSkpLHZvaWQgMCE9PW8ubWFnRmlsdGVyJiYoYS5tYWdGaWx0ZXI9bihvLm1hZ0ZpbHRlcixZbmUpKSx2b2lkIDAhPT1vLmFuaXNvdHJvcHkmJihhLmFuaXNvdHJvcHk9by5hbmlzb3Ryb3B5KSx2b2lkIDAhPT1vLmZsaXBZJiYoYS5mbGlwWT1vLmZsaXBZKSx2b2lkIDAhPT1vLnByZW11bHRpcGx5QWxwaGEmJihhLnByZW11bHRpcGx5QWxwaGE9by5wcmVtdWx0aXBseUFscGhhKSx2b2lkIDAhPT1vLnVucGFja0FsaWdubWVudCYmKGEudW5wYWNrQWxpZ25tZW50PW8udW5wYWNrQWxpZ25tZW50KSxpW28udXVpZF09YX1yZXR1cm4gaX1wYXJzZU9iamVjdCh0LGUsbixpLHIpe2xldCBvLGEscztmdW5jdGlvbiBsKHQpe3JldHVybiB2b2lkIDA9PT1lW3RdJiZjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdExvYWRlcjogVW5kZWZpbmVkIGdlb21ldHJ5Iix0KSxlW3RdfWZ1bmN0aW9uIGModCl7aWYodm9pZCAwIT09dCl7aWYoQXJyYXkuaXNBcnJheSh0KSl7Y29uc3QgZT1bXTtmb3IobGV0IGk9MCxyPXQubGVuZ3RoO2k8cjtpKyspe2NvbnN0IHI9dFtpXTt2b2lkIDA9PT1uW3JdJiZjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdExvYWRlcjogVW5kZWZpbmVkIG1hdGVyaWFsIixyKSxlLnB1c2gobltyXSl9cmV0dXJuIGV9cmV0dXJuIHZvaWQgMD09PW5bdF0mJmNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiBVbmRlZmluZWQgbWF0ZXJpYWwiLHQpLG5bdF19fWZ1bmN0aW9uIHUodCl7cmV0dXJuIHZvaWQgMD09PWlbdF0mJmNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiBVbmRlZmluZWQgdGV4dHVyZSIsdCksaVt0XX1zd2l0Y2godC50eXBlKXtjYXNlIlNjZW5lIjpvPW5ldyBjN3Qsdm9pZCAwIT09dC5iYWNrZ3JvdW5kJiYoby5iYWNrZ3JvdW5kPU51bWJlci5pc0ludGVnZXIodC5iYWNrZ3JvdW5kKT9uZXcgczR0KHQuYmFja2dyb3VuZCk6dSh0LmJhY2tncm91bmQpKSx2b2lkIDAhPT10LmVudmlyb25tZW50JiYoby5lbnZpcm9ubWVudD11KHQuZW52aXJvbm1lbnQpKSx2b2lkIDAhPT10LmZvZyYmKCJGb2ciPT09dC5mb2cudHlwZT9vLmZvZz1uZXcgbDd0KHQuZm9nLmNvbG9yLHQuZm9nLm5lYXIsdC5mb2cuZmFyKToiRm9nRXhwMiI9PT10LmZvZy50eXBlJiYoby5mb2c9bmV3IHM3dCh0LmZvZy5jb2xvcix0LmZvZy5kZW5zaXR5KSkpO2JyZWFrO2Nhc2UiUGVyc3BlY3RpdmVDYW1lcmEiOm89bmV3IHI2dCh0LmZvdix0LmFzcGVjdCx0Lm5lYXIsdC5mYXIpLHZvaWQgMCE9PXQuZm9jdXMmJihvLmZvY3VzPXQuZm9jdXMpLHZvaWQgMCE9PXQuem9vbSYmKG8uem9vbT10Lnpvb20pLHZvaWQgMCE9PXQuZmlsbUdhdWdlJiYoby5maWxtR2F1Z2U9dC5maWxtR2F1Z2UpLHZvaWQgMCE9PXQuZmlsbU9mZnNldCYmKG8uZmlsbU9mZnNldD10LmZpbG1PZmZzZXQpLHZvaWQgMCE9PXQudmlldyYmKG8udmlldz1PYmplY3QuYXNzaWduKHt9LHQudmlldykpO2JyZWFrO2Nhc2UiT3J0aG9ncmFwaGljQ2FtZXJhIjpvPW5ldyBBNnQodC5sZWZ0LHQucmlnaHQsdC50b3AsdC5ib3R0b20sdC5uZWFyLHQuZmFyKSx2b2lkIDAhPT10Lnpvb20mJihvLnpvb209dC56b29tKSx2b2lkIDAhPT10LnZpZXcmJihvLnZpZXc9T2JqZWN0LmFzc2lnbih7fSx0LnZpZXcpKTticmVhaztjYXNlIkFtYmllbnRMaWdodCI6bz1uZXcgem5lKHQuY29sb3IsdC5pbnRlbnNpdHkpO2JyZWFrO2Nhc2UiRGlyZWN0aW9uYWxMaWdodCI6bz1uZXcgT25lKHQuY29sb3IsdC5pbnRlbnNpdHkpO2JyZWFrO2Nhc2UiUG9pbnRMaWdodCI6bz1uZXcgSW5lKHQuY29sb3IsdC5pbnRlbnNpdHksdC5kaXN0YW5jZSx0LmRlY2F5KTticmVhaztjYXNlIlJlY3RBcmVhTGlnaHQiOm89bmV3IERuZSh0LmNvbG9yLHQuaW50ZW5zaXR5LHQud2lkdGgsdC5oZWlnaHQpO2JyZWFrO2Nhc2UiU3BvdExpZ2h0IjpvPW5ldyBBbmUodC5jb2xvcix0LmludGVuc2l0eSx0LmRpc3RhbmNlLHQuYW5nbGUsdC5wZW51bWJyYSx0LmRlY2F5KTticmVhaztjYXNlIkhlbWlzcGhlcmVMaWdodCI6bz1uZXcgd25lKHQuY29sb3IsdC5ncm91bmRDb2xvcix0LmludGVuc2l0eSk7YnJlYWs7Y2FzZSJMaWdodFByb2JlIjpvPShuZXcgSG5lKS5mcm9tSlNPTih0KTticmVhaztjYXNlIlNraW5uZWRNZXNoIjphPWwodC5nZW9tZXRyeSkscz1jKHQubWF0ZXJpYWwpLG89bmV3IEQ3dChhLHMpLHZvaWQgMCE9PXQuYmluZE1vZGUmJihvLmJpbmRNb2RlPXQuYmluZE1vZGUpLHZvaWQgMCE9PXQuYmluZE1hdHJpeCYmby5iaW5kTWF0cml4LmZyb21BcnJheSh0LmJpbmRNYXRyaXgpLHZvaWQgMCE9PXQuc2tlbGV0b24mJihvLnNrZWxldG9uPXQuc2tlbGV0b24pO2JyZWFrO2Nhc2UiTWVzaCI6YT1sKHQuZ2VvbWV0cnkpLHM9Yyh0Lm1hdGVyaWFsKSxvPW5ldyBLNHQoYSxzKTticmVhaztjYXNlIkluc3RhbmNlZE1lc2giOmE9bCh0Lmdlb21ldHJ5KSxzPWModC5tYXRlcmlhbCk7Y29uc3QgZT10Lmluc3RhbmNlTWF0cml4LG49dC5pbnN0YW5jZUNvbG9yO289bmV3IFk3dChhLHMsdC5jb3VudCksby5pbnN0YW5jZU1hdHJpeD1uZXcgaDR0KG5ldyBGbG9hdDMyQXJyYXkoZS5hcnJheSksMTYpLHZvaWQgMCE9PW4mJihvLmluc3RhbmNlQ29sb3I9bmV3IGg0dChuZXcgRmxvYXQzMkFycmF5KG4uYXJyYXkpLG4uaXRlbVNpemUpKTticmVhaztjYXNlIkxPRCI6bz1uZXcgUDd0O2JyZWFrO2Nhc2UiTGluZSI6bz1uZXcgdHRlKGwodC5nZW9tZXRyeSksYyh0Lm1hdGVyaWFsKSk7YnJlYWs7Y2FzZSJMaW5lTG9vcCI6bz1uZXcgcnRlKGwodC5nZW9tZXRyeSksYyh0Lm1hdGVyaWFsKSk7YnJlYWs7Y2FzZSJMaW5lU2VnbWVudHMiOm89bmV3IGl0ZShsKHQuZ2VvbWV0cnkpLGModC5tYXRlcmlhbCkpO2JyZWFrO2Nhc2UiUG9pbnRDbG91ZCI6Y2FzZSJQb2ludHMiOm89bmV3IHV0ZShsKHQuZ2VvbWV0cnkpLGModC5tYXRlcmlhbCkpO2JyZWFrO2Nhc2UiU3ByaXRlIjpvPW5ldyBDN3QoYyh0Lm1hdGVyaWFsKSk7YnJlYWs7Y2FzZSJHcm91cCI6bz1uZXcgdDd0O2JyZWFrO2Nhc2UiQm9uZSI6bz1uZXcgQjd0O2JyZWFrO2RlZmF1bHQ6bz1uZXcgVjN0fWlmKG8udXVpZD10LnV1aWQsdm9pZCAwIT09dC5uYW1lJiYoby5uYW1lPXQubmFtZSksdm9pZCAwIT09dC5tYXRyaXg/KG8ubWF0cml4LmZyb21BcnJheSh0Lm1hdHJpeCksdm9pZCAwIT09dC5tYXRyaXhBdXRvVXBkYXRlJiYoby5tYXRyaXhBdXRvVXBkYXRlPXQubWF0cml4QXV0b1VwZGF0ZSksby5tYXRyaXhBdXRvVXBkYXRlJiZvLm1hdHJpeC5kZWNvbXBvc2Uoby5wb3NpdGlvbixvLnF1YXRlcm5pb24sby5zY2FsZSkpOih2b2lkIDAhPT10LnBvc2l0aW9uJiZvLnBvc2l0aW9uLmZyb21BcnJheSh0LnBvc2l0aW9uKSx2b2lkIDAhPT10LnJvdGF0aW9uJiZvLnJvdGF0aW9uLmZyb21BcnJheSh0LnJvdGF0aW9uKSx2b2lkIDAhPT10LnF1YXRlcm5pb24mJm8ucXVhdGVybmlvbi5mcm9tQXJyYXkodC5xdWF0ZXJuaW9uKSx2b2lkIDAhPT10LnNjYWxlJiZvLnNjYWxlLmZyb21BcnJheSh0LnNjYWxlKSksdm9pZCAwIT09dC5jYXN0U2hhZG93JiYoby5jYXN0U2hhZG93PXQuY2FzdFNoYWRvdyksdm9pZCAwIT09dC5yZWNlaXZlU2hhZG93JiYoby5yZWNlaXZlU2hhZG93PXQucmVjZWl2ZVNoYWRvdyksdC5zaGFkb3cmJih2b2lkIDAhPT10LnNoYWRvdy5iaWFzJiYoby5zaGFkb3cuYmlhcz10LnNoYWRvdy5iaWFzKSx2b2lkIDAhPT10LnNoYWRvdy5ub3JtYWxCaWFzJiYoby5zaGFkb3cubm9ybWFsQmlhcz10LnNoYWRvdy5ub3JtYWxCaWFzKSx2b2lkIDAhPT10LnNoYWRvdy5yYWRpdXMmJihvLnNoYWRvdy5yYWRpdXM9dC5zaGFkb3cucmFkaXVzKSx2b2lkIDAhPT10LnNoYWRvdy5tYXBTaXplJiZvLnNoYWRvdy5tYXBTaXplLmZyb21BcnJheSh0LnNoYWRvdy5tYXBTaXplKSx2b2lkIDAhPT10LnNoYWRvdy5jYW1lcmEmJihvLnNoYWRvdy5jYW1lcmE9dGhpcy5wYXJzZU9iamVjdCh0LnNoYWRvdy5jYW1lcmEpKSksdm9pZCAwIT09dC52aXNpYmxlJiYoby52aXNpYmxlPXQudmlzaWJsZSksdm9pZCAwIT09dC5mcnVzdHVtQ3VsbGVkJiYoby5mcnVzdHVtQ3VsbGVkPXQuZnJ1c3R1bUN1bGxlZCksdm9pZCAwIT09dC5yZW5kZXJPcmRlciYmKG8ucmVuZGVyT3JkZXI9dC5yZW5kZXJPcmRlciksdm9pZCAwIT09dC51c2VyRGF0YSYmKG8udXNlckRhdGE9dC51c2VyRGF0YSksdm9pZCAwIT09dC5sYXllcnMmJihvLmxheWVycy5tYXNrPXQubGF5ZXJzKSx2b2lkIDAhPT10LmNoaWxkcmVuKXtjb25zdCBhPXQuY2hpbGRyZW47Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0Kyspby5hZGQodGhpcy5wYXJzZU9iamVjdChhW3RdLGUsbixpLHIpKX1pZih2b2lkIDAhPT10LmFuaW1hdGlvbnMpe2NvbnN0IGU9dC5hbmltYXRpb25zO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXtvLmFuaW1hdGlvbnMucHVzaChyW2VbdF1dKX19aWYoIkxPRCI9PT10LnR5cGUpe3ZvaWQgMCE9PXQuYXV0b1VwZGF0ZSYmKG8uYXV0b1VwZGF0ZT10LmF1dG9VcGRhdGUpO2NvbnN0IGU9dC5sZXZlbHM7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XSxpPW8uZ2V0T2JqZWN0QnlQcm9wZXJ0eSgidXVpZCIsbi5vYmplY3QpO3ZvaWQgMCE9PWkmJm8uYWRkTGV2ZWwoaSxuLmRpc3RhbmNlKX19cmV0dXJuIG99YmluZFNrZWxldG9ucyh0LGUpezAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJnQudHJhdmVyc2UoKGZ1bmN0aW9uKHQpe2lmKCEwPT09dC5pc1NraW5uZWRNZXNoJiZ2b2lkIDAhPT10LnNrZWxldG9uKXtjb25zdCBuPWVbdC5za2VsZXRvbl07dm9pZCAwPT09bj9jb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdExvYWRlcjogTm8gc2tlbGV0b24gZm91bmQgd2l0aCBVVUlEOiIsdC5za2VsZXRvbik6dC5iaW5kKG4sdC5iaW5kTWF0cml4KX19KSl9c2V0VGV4dHVyZVBhdGgodCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiAuc2V0VGV4dHVyZVBhdGgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRSZXNvdXJjZVBhdGgoKS4iKSx0aGlzLnNldFJlc291cmNlUGF0aCh0KX19LE9iamVjdFNwYWNlTm9ybWFsTWFwOjEsT2N0YWhlZHJvbkJ1ZmZlckdlb21ldHJ5Ok1lZSxPY3RhaGVkcm9uR2VvbWV0cnk6TWVlLE9uZUZhY3RvcjoyMDEsT25lTWludXNEc3RBbHBoYUZhY3RvcjoyMDcsT25lTWludXNEc3RDb2xvckZhY3RvcjoyMDksT25lTWludXNTcmNBbHBoYUZhY3RvcjoyMDUsT25lTWludXNTcmNDb2xvckZhY3RvcjoyMDMsT3J0aG9ncmFwaGljQ2FtZXJhOkE2dCxQQ0ZTaGFkb3dNYXA6MSxQQ0ZTb2Z0U2hhZG93TWFwOjIsUE1SRU1HZW5lcmF0b3I6WTZ0LFBhcmFtZXRyaWNCdWZmZXJHZW9tZXRyeTpFZWUsUGFyYW1ldHJpY0dlb21ldHJ5OkVlZSxQYXJ0aWNsZTpmdW5jdGlvbiBQcmUodCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUGFydGljbGUgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5TcHJpdGUuIiksbmV3IEM3dCh0KX0sUGFydGljbGVCYXNpY01hdGVyaWFsOmZ1bmN0aW9uIE5yZSh0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5QYXJ0aWNsZUJhc2ljTWF0ZXJpYWwgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5Qb2ludHNNYXRlcmlhbC4iKSxuZXcgb3RlKHQpfSxQYXJ0aWNsZVN5c3RlbTpmdW5jdGlvbiBJcmUodCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5QYXJ0aWNsZVN5c3RlbSBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLlBvaW50cy4iKSxuZXcgdXRlKHQsZSl9LFBhcnRpY2xlU3lzdGVtTWF0ZXJpYWw6ZnVuY3Rpb24gUnJlKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlBhcnRpY2xlU3lzdGVtTWF0ZXJpYWwgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5Qb2ludHNNYXRlcmlhbC4iKSxuZXcgb3RlKHQpfSxQYXRoOnZuZSxQZXJzcGVjdGl2ZUNhbWVyYTpyNnQsUGxhbmU6ZDZ0LFBsYW5lQnVmZmVyR2VvbWV0cnk6eTZ0LFBsYW5lR2VvbWV0cnk6eTZ0LFBsYW5lSGVscGVyOmNsYXNzIGV4dGVuZHMgdHRle2NvbnN0cnVjdG9yKHQsZT0xLG49MTY3NzY5NjApe2NvbnN0IGk9bixyPW5ldyBONHQ7ci5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KFsxLC0xLDEsLTEsMSwxLC0xLC0xLDEsMSwxLDEsLTEsMSwxLC0xLC0xLDEsMSwtMSwxLDEsMSwxLDAsMCwxLDAsMCwwXSwzKSksci5jb21wdXRlQm91bmRpbmdTcGhlcmUoKSxzdXBlcihyLG5ldyBYN3Qoe2NvbG9yOmksdG9uZU1hcHBlZDohMX0pKSx0aGlzLnR5cGU9IlBsYW5lSGVscGVyIix0aGlzLnBsYW5lPXQsdGhpcy5zaXplPWU7Y29uc3Qgbz1uZXcgTjR0O28uc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChbMSwxLDEsLTEsMSwxLC0xLC0xLDEsMSwxLDEsLTEsLTEsMSwxLC0xLDFdLDMpKSxvLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLHRoaXMuYWRkKG5ldyBLNHQobyxuZXcgbDR0KHtjb2xvcjppLG9wYWNpdHk6LjIsdHJhbnNwYXJlbnQ6ITAsZGVwdGhXcml0ZTohMSx0b25lTWFwcGVkOiExfSkpKX11cGRhdGVNYXRyaXhXb3JsZCh0KXtsZXQgZT0tdGhpcy5wbGFuZS5jb25zdGFudDtNYXRoLmFicyhlKTwxZS04JiYoZT0xZS04KSx0aGlzLnNjYWxlLnNldCguNSp0aGlzLnNpemUsLjUqdGhpcy5zaXplLGUpLHRoaXMuY2hpbGRyZW5bMF0ubWF0ZXJpYWwuc2lkZT1lPDA/MTowLHRoaXMubG9va0F0KHRoaXMucGxhbmUubm9ybWFsKSxzdXBlci51cGRhdGVNYXRyaXhXb3JsZCh0KX19LFBvaW50Q2xvdWQ6ZnVuY3Rpb24gT3JlKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUG9pbnRDbG91ZCBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLlBvaW50cy4iKSxuZXcgdXRlKHQsZSl9LFBvaW50Q2xvdWRNYXRlcmlhbDpmdW5jdGlvbiB6cmUodCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUG9pbnRDbG91ZE1hdGVyaWFsIGhhcyBiZWVuIHJlbmFtZWQgdG8gVEhSRUUuUG9pbnRzTWF0ZXJpYWwuIiksbmV3IG90ZSh0KX0sUG9pbnRMaWdodDpJbmUsUG9pbnRMaWdodEhlbHBlcjpjbGFzcyBleHRlbmRzIEs0dHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIobmV3IEFlZShlLDQsMiksbmV3IGw0dCh7d2lyZWZyYW1lOiEwLGZvZzohMSx0b25lTWFwcGVkOiExfSkpLHRoaXMubGlnaHQ9dCx0aGlzLmxpZ2h0LnVwZGF0ZU1hdHJpeFdvcmxkKCksdGhpcy5jb2xvcj1uLHRoaXMudHlwZT0iUG9pbnRMaWdodEhlbHBlciIsdGhpcy5tYXRyaXg9dGhpcy5saWdodC5tYXRyaXhXb3JsZCx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITEsdGhpcy51cGRhdGUoKX1kaXNwb3NlKCl7dGhpcy5nZW9tZXRyeS5kaXNwb3NlKCksdGhpcy5tYXRlcmlhbC5kaXNwb3NlKCl9dXBkYXRlKCl7dm9pZCAwIT09dGhpcy5jb2xvcj90aGlzLm1hdGVyaWFsLmNvbG9yLnNldCh0aGlzLmNvbG9yKTp0aGlzLm1hdGVyaWFsLmNvbG9yLmNvcHkodGhpcy5saWdodC5jb2xvcil9fSxQb2ludHM6dXRlLFBvaW50c01hdGVyaWFsOm90ZSxQb2xhckdyaWRIZWxwZXI6Y2xhc3MgZXh0ZW5kcyBpdGV7Y29uc3RydWN0b3IodD0xMCxlPTE2LG49OCxpPTY0LHI9NDQ3MzkyNCxvPTg5NDc4NDgpe3I9bmV3IHM0dChyKSxvPW5ldyBzNHQobyk7Y29uc3QgYT1bXSxzPVtdO2ZvcihsZXQgbj0wO248PWU7bisrKXtjb25zdCBpPW4vZSooMipNYXRoLlBJKSxsPU1hdGguc2luKGkpKnQsYz1NYXRoLmNvcyhpKSp0O2EucHVzaCgwLDAsMCksYS5wdXNoKGwsMCxjKTtjb25zdCB1PTEmbj9yOm87cy5wdXNoKHUucix1LmcsdS5iKSxzLnB1c2godS5yLHUuZyx1LmIpfWZvcihsZXQgZT0wO2U8PW47ZSsrKXtjb25zdCBsPTEmZT9yOm8sYz10LXQvbiplO2ZvcihsZXQgdD0wO3Q8aTt0Kyspe2xldCBlPXQvaSooMipNYXRoLlBJKSxuPU1hdGguc2luKGUpKmMscj1NYXRoLmNvcyhlKSpjO2EucHVzaChuLDAscikscy5wdXNoKGwucixsLmcsbC5iKSxlPSh0KzEpL2kqKDIqTWF0aC5QSSksbj1NYXRoLnNpbihlKSpjLHI9TWF0aC5jb3MoZSkqYyxhLnB1c2gobiwwLHIpLHMucHVzaChsLnIsbC5nLGwuYil9fWNvbnN0IGw9bmV3IE40dDtsLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQoYSwzKSksbC5zZXRBdHRyaWJ1dGUoImNvbG9yIixuZXcgYjR0KHMsMykpO3N1cGVyKGwsbmV3IFg3dCh7dmVydGV4Q29sb3JzOiEwLHRvbmVNYXBwZWQ6ITF9KSksdGhpcy50eXBlPSJQb2xhckdyaWRIZWxwZXIifX0sUG9seWhlZHJvbkJ1ZmZlckdlb21ldHJ5OnZ0ZSxQb2x5aGVkcm9uR2VvbWV0cnk6dnRlLFBvc2l0aW9uYWxBdWRpbzpjbGFzcyBleHRlbmRzIGhpZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLnBhbm5lcj10aGlzLmNvbnRleHQuY3JlYXRlUGFubmVyKCksdGhpcy5wYW5uZXIucGFubmluZ01vZGVsPSJIUlRGIix0aGlzLnBhbm5lci5jb25uZWN0KHRoaXMuZ2Fpbil9Z2V0T3V0cHV0KCl7cmV0dXJuIHRoaXMucGFubmVyfWdldFJlZkRpc3RhbmNlKCl7cmV0dXJuIHRoaXMucGFubmVyLnJlZkRpc3RhbmNlfXNldFJlZkRpc3RhbmNlKHQpe3JldHVybiB0aGlzLnBhbm5lci5yZWZEaXN0YW5jZT10LHRoaXN9Z2V0Um9sbG9mZkZhY3Rvcigpe3JldHVybiB0aGlzLnBhbm5lci5yb2xsb2ZmRmFjdG9yfXNldFJvbGxvZmZGYWN0b3IodCl7cmV0dXJuIHRoaXMucGFubmVyLnJvbGxvZmZGYWN0b3I9dCx0aGlzfWdldERpc3RhbmNlTW9kZWwoKXtyZXR1cm4gdGhpcy5wYW5uZXIuZGlzdGFuY2VNb2RlbH1zZXREaXN0YW5jZU1vZGVsKHQpe3JldHVybiB0aGlzLnBhbm5lci5kaXN0YW5jZU1vZGVsPXQsdGhpc31nZXRNYXhEaXN0YW5jZSgpe3JldHVybiB0aGlzLnBhbm5lci5tYXhEaXN0YW5jZX1zZXRNYXhEaXN0YW5jZSh0KXtyZXR1cm4gdGhpcy5wYW5uZXIubWF4RGlzdGFuY2U9dCx0aGlzfXNldERpcmVjdGlvbmFsQ29uZSh0LGUsbil7cmV0dXJuIHRoaXMucGFubmVyLmNvbmVJbm5lckFuZ2xlPXQsdGhpcy5wYW5uZXIuY29uZU91dGVyQW5nbGU9ZSx0aGlzLnBhbm5lci5jb25lT3V0ZXJHYWluPW4sdGhpc311cGRhdGVNYXRyaXhXb3JsZCh0KXtpZihzdXBlci51cGRhdGVNYXRyaXhXb3JsZCh0KSwhMD09PXRoaXMuaGFzUGxheWJhY2tDb250cm9sJiYhMT09PXRoaXMuaXNQbGF5aW5nKXJldHVybjt0aGlzLm1hdHJpeFdvcmxkLmRlY29tcG9zZShkaWUscGllLGZpZSksbWllLnNldCgwLDAsMSkuYXBwbHlRdWF0ZXJuaW9uKHBpZSk7Y29uc3QgZT10aGlzLnBhbm5lcjtpZihlLnBvc2l0aW9uWCl7Y29uc3QgdD10aGlzLmNvbnRleHQuY3VycmVudFRpbWUrdGhpcy5saXN0ZW5lci50aW1lRGVsdGE7ZS5wb3NpdGlvblgubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoZGllLngsdCksZS5wb3NpdGlvblkubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoZGllLnksdCksZS5wb3NpdGlvbloubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoZGllLnosdCksZS5vcmllbnRhdGlvblgubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobWllLngsdCksZS5vcmllbnRhdGlvblkubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobWllLnksdCksZS5vcmllbnRhdGlvbloubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobWllLnosdCl9ZWxzZSBlLnNldFBvc2l0aW9uKGRpZS54LGRpZS55LGRpZS56KSxlLnNldE9yaWVudGF0aW9uKG1pZS54LG1pZS55LG1pZS56KX19LFByb3BlcnR5QmluZGluZzpBaWUsUHJvcGVydHlNaXhlcjpfaWUsUXVhZHJhdGljQmV6aWVyQ3VydmU6VXRlLFF1YWRyYXRpY0JlemllckN1cnZlMzpqdGUsUXVhdGVybmlvbjpCNXQsUXVhdGVybmlvbktleWZyYW1lVHJhY2s6aW5lLFF1YXRlcm5pb25MaW5lYXJJbnRlcnBvbGFudDpubmUsUkVWSVNJT046SzB0LFJHQkFEZXB0aFBhY2tpbmc6MzIwMSxSR0JBRm9ybWF0OlMydCxSR0JBSW50ZWdlckZvcm1hdDoxMDMzLFJHQkFfQVNUQ18xMHgxMF9Gb3JtYXQ6Mzc4MTksUkdCQV9BU1RDXzEweDVfRm9ybWF0OjM3ODE2LFJHQkFfQVNUQ18xMHg2X0Zvcm1hdDozNzgxNyxSR0JBX0FTVENfMTB4OF9Gb3JtYXQ6Mzc4MTgsUkdCQV9BU1RDXzEyeDEwX0Zvcm1hdDozNzgyMCxSR0JBX0FTVENfMTJ4MTJfRm9ybWF0OjM3ODIxLFJHQkFfQVNUQ180eDRfRm9ybWF0OjM3ODA4LFJHQkFfQVNUQ181eDRfRm9ybWF0OjM3ODA5LFJHQkFfQVNUQ181eDVfRm9ybWF0OjM3ODEwLFJHQkFfQVNUQ182eDVfRm9ybWF0OjM3ODExLFJHQkFfQVNUQ182eDZfRm9ybWF0OjM3ODEyLFJHQkFfQVNUQ184eDVfRm9ybWF0OjM3ODEzLFJHQkFfQVNUQ184eDZfRm9ybWF0OjM3ODE0LFJHQkFfQVNUQ184eDhfRm9ybWF0OjM3ODE1LFJHQkFfQlBUQ19Gb3JtYXQ6MzY0OTIsUkdCQV9FVEMyX0VBQ19Gb3JtYXQ6TzJ0LFJHQkFfUFZSVENfMkJQUFYxX0Zvcm1hdDpJMnQsUkdCQV9QVlJUQ180QlBQVjFfRm9ybWF0Ok4ydCxSR0JBX1MzVENfRFhUMV9Gb3JtYXQ6QzJ0LFJHQkFfUzNUQ19EWFQzX0Zvcm1hdDpBMnQsUkdCQV9TM1RDX0RYVDVfRm9ybWF0OmsydCxSR0JERW5jb2Rpbmc6SzJ0LFJHQkVFbmNvZGluZzpZMnQsUkdCRUZvcm1hdDoxMDIzLFJHQkZvcm1hdDp3MnQsUkdCSW50ZWdlckZvcm1hdDoxMDMyLFJHQk0xNkVuY29kaW5nOiQydCxSR0JNN0VuY29kaW5nOlgydCxSR0JfRVRDMV9Gb3JtYXQ6MzYxOTYsUkdCX0VUQzJfRm9ybWF0OlIydCxSR0JfUFZSVENfMkJQUFYxX0Zvcm1hdDpQMnQsUkdCX1BWUlRDXzRCUFBWMV9Gb3JtYXQ6TDJ0LFJHQl9TM1RDX0RYVDFfRm9ybWF0OlQydCxSR0Zvcm1hdDoxMDMwLFJHSW50ZWdlckZvcm1hdDoxMDMxLFJhd1NoYWRlck1hdGVyaWFsOms2dCxSYXk6bTN0LFJheWNhc3RlcjpjbGFzc3tjb25zdHJ1Y3Rvcih0LGUsbj0wLGk9MS8wKXt0aGlzLnJheT1uZXcgbTN0KHQsZSksdGhpcy5uZWFyPW4sdGhpcy5mYXI9aSx0aGlzLmNhbWVyYT1udWxsLHRoaXMubGF5ZXJzPW5ldyBDM3QsdGhpcy5wYXJhbXM9e01lc2g6e30sTGluZTp7dGhyZXNob2xkOjF9LExPRDp7fSxQb2ludHM6e3RocmVzaG9sZDoxfSxTcHJpdGU6e319fXNldCh0LGUpe3RoaXMucmF5LnNldCh0LGUpfXNldEZyb21DYW1lcmEodCxlKXtlJiZlLmlzUGVyc3BlY3RpdmVDYW1lcmE/KHRoaXMucmF5Lm9yaWdpbi5zZXRGcm9tTWF0cml4UG9zaXRpb24oZS5tYXRyaXhXb3JsZCksdGhpcy5yYXkuZGlyZWN0aW9uLnNldCh0LngsdC55LC41KS51bnByb2plY3QoZSkuc3ViKHRoaXMucmF5Lm9yaWdpbikubm9ybWFsaXplKCksdGhpcy5jYW1lcmE9ZSk6ZSYmZS5pc09ydGhvZ3JhcGhpY0NhbWVyYT8odGhpcy5yYXkub3JpZ2luLnNldCh0LngsdC55LChlLm5lYXIrZS5mYXIpLyhlLm5lYXItZS5mYXIpKS51bnByb2plY3QoZSksdGhpcy5yYXkuZGlyZWN0aW9uLnNldCgwLDAsLTEpLnRyYW5zZm9ybURpcmVjdGlvbihlLm1hdHJpeFdvcmxkKSx0aGlzLmNhbWVyYT1lKTpjb25zb2xlLmVycm9yKCJUSFJFRS5SYXljYXN0ZXI6IFVuc3VwcG9ydGVkIGNhbWVyYSB0eXBlOiAiK2UudHlwZSl9aW50ZXJzZWN0T2JqZWN0KHQsZT0hMSxuPVtdKXtyZXR1cm4gemllKHQsdGhpcyxuLGUpLG4uc29ydChPaWUpLG59aW50ZXJzZWN0T2JqZWN0cyh0LGU9ITEsbj1bXSl7Zm9yKGxldCBpPTAscj10Lmxlbmd0aDtpPHI7aSsrKXppZSh0W2ldLHRoaXMsbixlKTtyZXR1cm4gbi5zb3J0KE9pZSksbn19LFJlY3RBcmVhTGlnaHQ6RG5lLFJlZEZvcm1hdDoxMDI4LFJlZEludGVnZXJGb3JtYXQ6MTAyOSxSZWluaGFyZFRvbmVNYXBwaW5nOjIsUmVwZWF0V3JhcHBpbmc6czJ0LFJlcGxhY2VTdGVuY2lsT3A6NzY4MSxSZXZlcnNlU3VidHJhY3RFcXVhdGlvbjoxMDIsUmluZ0J1ZmZlckdlb21ldHJ5OlRlZSxSaW5nR2VvbWV0cnk6VGVlLFNSR0I4X0FMUEhBOF9BU1RDXzEweDEwX0Zvcm1hdDozNzg1MSxTUkdCOF9BTFBIQThfQVNUQ18xMHg1X0Zvcm1hdDozNzg0OCxTUkdCOF9BTFBIQThfQVNUQ18xMHg2X0Zvcm1hdDozNzg0OSxTUkdCOF9BTFBIQThfQVNUQ18xMHg4X0Zvcm1hdDozNzg1MCxTUkdCOF9BTFBIQThfQVNUQ18xMngxMF9Gb3JtYXQ6Mzc4NTIsU1JHQjhfQUxQSEE4X0FTVENfMTJ4MTJfRm9ybWF0OjM3ODUzLFNSR0I4X0FMUEhBOF9BU1RDXzR4NF9Gb3JtYXQ6Mzc4NDAsU1JHQjhfQUxQSEE4X0FTVENfNXg0X0Zvcm1hdDozNzg0MSxTUkdCOF9BTFBIQThfQVNUQ181eDVfRm9ybWF0OjM3ODQyLFNSR0I4X0FMUEhBOF9BU1RDXzZ4NV9Gb3JtYXQ6Mzc4NDMsU1JHQjhfQUxQSEE4X0FTVENfNng2X0Zvcm1hdDozNzg0NCxTUkdCOF9BTFBIQThfQVNUQ184eDVfRm9ybWF0OjM3ODQ1LFNSR0I4X0FMUEhBOF9BU1RDXzh4Nl9Gb3JtYXQ6Mzc4NDYsU1JHQjhfQUxQSEE4X0FTVENfOHg4X0Zvcm1hdDozNzg0NyxTY2VuZTpjN3QsU2NlbmVVdGlsczpmcmUsU2hhZGVyQ2h1bms6djZ0LFNoYWRlckxpYjp4NnQsU2hhZGVyTWF0ZXJpYWw6bjZ0LFNoYWRvd01hdGVyaWFsOkRlZSxTaGFwZTpibmUsU2hhcGVCdWZmZXJHZW9tZXRyeTpDZWUsU2hhcGVHZW9tZXRyeTpDZWUsU2hhcGVQYXRoOiRuZSxTaGFwZVV0aWxzOl9lZSxTaG9ydFR5cGU6MTAxMSxTa2VsZXRvbjpVN3QsU2tlbGV0b25IZWxwZXI6WGllLFNraW5uZWRNZXNoOkQ3dCxTbW9vdGhTaGFkaW5nOjIsU3BoZXJlOnMzdCxTcGhlcmVCdWZmZXJHZW9tZXRyeTpBZWUsU3BoZXJlR2VvbWV0cnk6QWVlLFNwaGVyaWNhbDpEaWUsU3BoZXJpY2FsSGFybW9uaWNzMzpCbmUsU3BsaW5lQ3VydmU6R3RlLFNwb3RMaWdodDpBbmUsU3BvdExpZ2h0SGVscGVyOmNsYXNzIGV4dGVuZHMgVjN0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLmxpZ2h0PXQsdGhpcy5saWdodC51cGRhdGVNYXRyaXhXb3JsZCgpLHRoaXMubWF0cml4PXQubWF0cml4V29ybGQsdGhpcy5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuY29sb3I9ZTtjb25zdCBuPW5ldyBONHQsaT1bMCwwLDAsMCwwLDEsMCwwLDAsMSwwLDEsMCwwLDAsLTEsMCwxLDAsMCwwLDAsMSwxLDAsMCwwLDAsLTEsMV07Zm9yKGxldCB0PTAsZT0xLG49MzI7dDxuO3QrKyxlKyspe2NvbnN0IHI9dC9uKk1hdGguUEkqMixvPWUvbipNYXRoLlBJKjI7aS5wdXNoKE1hdGguY29zKHIpLE1hdGguc2luKHIpLDEsTWF0aC5jb3MobyksTWF0aC5zaW4obyksMSl9bi5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KGksMykpO2NvbnN0IHI9bmV3IFg3dCh7Zm9nOiExLHRvbmVNYXBwZWQ6ITF9KTt0aGlzLmNvbmU9bmV3IGl0ZShuLHIpLHRoaXMuYWRkKHRoaXMuY29uZSksdGhpcy51cGRhdGUoKX1kaXNwb3NlKCl7dGhpcy5jb25lLmdlb21ldHJ5LmRpc3Bvc2UoKSx0aGlzLmNvbmUubWF0ZXJpYWwuZGlzcG9zZSgpfXVwZGF0ZSgpe3RoaXMubGlnaHQudXBkYXRlTWF0cml4V29ybGQoKTtjb25zdCB0PXRoaXMubGlnaHQuZGlzdGFuY2U/dGhpcy5saWdodC5kaXN0YW5jZToxZTMsZT10Kk1hdGgudGFuKHRoaXMubGlnaHQuYW5nbGUpO3RoaXMuY29uZS5zY2FsZS5zZXQoZSxlLHQpLEdpZS5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5saWdodC50YXJnZXQubWF0cml4V29ybGQpLHRoaXMuY29uZS5sb29rQXQoR2llKSx2b2lkIDAhPT10aGlzLmNvbG9yP3RoaXMuY29uZS5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvcik6dGhpcy5jb25lLm1hdGVyaWFsLmNvbG9yLmNvcHkodGhpcy5saWdodC5jb2xvcil9fSxTcHJpdGU6Qzd0LFNwcml0ZU1hdGVyaWFsOnA3dCxTcmNBbHBoYUZhY3RvcjoyMDQsU3JjQWxwaGFTYXR1cmF0ZUZhY3RvcjoyMTAsU3JjQ29sb3JGYWN0b3I6MjAyLFN0YXRpY0NvcHlVc2FnZTozNTA0NixTdGF0aWNEcmF3VXNhZ2U6SjJ0LFN0YXRpY1JlYWRVc2FnZTozNTA0NSxTdGVyZW9DYW1lcmE6Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnR5cGU9IlN0ZXJlb0NhbWVyYSIsdGhpcy5hc3BlY3Q9MSx0aGlzLmV5ZVNlcD0uMDY0LHRoaXMuY2FtZXJhTD1uZXcgcjZ0LHRoaXMuY2FtZXJhTC5sYXllcnMuZW5hYmxlKDEpLHRoaXMuY2FtZXJhTC5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuY2FtZXJhUj1uZXcgcjZ0LHRoaXMuY2FtZXJhUi5sYXllcnMuZW5hYmxlKDIpLHRoaXMuY2FtZXJhUi5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuX2NhY2hlPXtmb2N1czpudWxsLGZvdjpudWxsLGFzcGVjdDpudWxsLG5lYXI6bnVsbCxmYXI6bnVsbCx6b29tOm51bGwsZXllU2VwOm51bGx9fXVwZGF0ZSh0KXtjb25zdCBlPXRoaXMuX2NhY2hlO2lmKGUuZm9jdXMhPT10LmZvY3VzfHxlLmZvdiE9PXQuZm92fHxlLmFzcGVjdCE9PXQuYXNwZWN0KnRoaXMuYXNwZWN0fHxlLm5lYXIhPT10Lm5lYXJ8fGUuZmFyIT09dC5mYXJ8fGUuem9vbSE9PXQuem9vbXx8ZS5leWVTZXAhPT10aGlzLmV5ZVNlcCl7ZS5mb2N1cz10LmZvY3VzLGUuZm92PXQuZm92LGUuYXNwZWN0PXQuYXNwZWN0KnRoaXMuYXNwZWN0LGUubmVhcj10Lm5lYXIsZS5mYXI9dC5mYXIsZS56b29tPXQuem9vbSxlLmV5ZVNlcD10aGlzLmV5ZVNlcDtjb25zdCBuPXQucHJvamVjdGlvbk1hdHJpeC5jbG9uZSgpLGk9ZS5leWVTZXAvMixyPWkqZS5uZWFyL2UuZm9jdXMsbz1lLm5lYXIqTWF0aC50YW4ocjV0KmUuZm92Ki41KS9lLnpvb207bGV0IGEscztyaWUuZWxlbWVudHNbMTJdPS1pLGlpZS5lbGVtZW50c1sxMl09aSxhPS1vKmUuYXNwZWN0K3Iscz1vKmUuYXNwZWN0K3Isbi5lbGVtZW50c1swXT0yKmUubmVhci8ocy1hKSxuLmVsZW1lbnRzWzhdPShzK2EpLyhzLWEpLHRoaXMuY2FtZXJhTC5wcm9qZWN0aW9uTWF0cml4LmNvcHkobiksYT0tbyplLmFzcGVjdC1yLHM9byplLmFzcGVjdC1yLG4uZWxlbWVudHNbMF09MiplLm5lYXIvKHMtYSksbi5lbGVtZW50c1s4XT0ocythKS8ocy1hKSx0aGlzLmNhbWVyYVIucHJvamVjdGlvbk1hdHJpeC5jb3B5KG4pfXRoaXMuY2FtZXJhTC5tYXRyaXhXb3JsZC5jb3B5KHQubWF0cml4V29ybGQpLm11bHRpcGx5KHJpZSksdGhpcy5jYW1lcmFSLm1hdHJpeFdvcmxkLmNvcHkodC5tYXRyaXhXb3JsZCkubXVsdGlwbHkoaWllKX19LFN0cmVhbUNvcHlVc2FnZTozNTA0MixTdHJlYW1EcmF3VXNhZ2U6MzUwNDAsU3RyZWFtUmVhZFVzYWdlOjM1MDQxLFN0cmluZ0tleWZyYW1lVHJhY2s6cm5lLFN1YnRyYWN0RXF1YXRpb246MTAxLFN1YnRyYWN0aXZlQmxlbmRpbmc6MyxUT1VDSDpKMHQsVGFuZ2VudFNwYWNlTm9ybWFsTWFwOjAsVGV0cmFoZWRyb25CdWZmZXJHZW9tZXRyeTprZWUsVGV0cmFoZWRyb25HZW9tZXRyeTprZWUsVGV4dEJ1ZmZlckdlb21ldHJ5OkxlZSxUZXh0R2VvbWV0cnk6TGVlLFRleHR1cmU6TjV0LFRleHR1cmVMb2FkZXI6X25lLFRvcnVzQnVmZmVyR2VvbWV0cnk6UGVlLFRvcnVzR2VvbWV0cnk6UGVlLFRvcnVzS25vdEJ1ZmZlckdlb21ldHJ5Ok5lZSxUb3J1c0tub3RHZW9tZXRyeTpOZWUsVHJpYW5nbGU6SjN0LFRyaWFuZ2xlRmFuRHJhd01vZGU6MixUcmlhbmdsZVN0cmlwRHJhd01vZGU6MSxUcmlhbmdsZXNEcmF3TW9kZTowLFR1YmVCdWZmZXJHZW9tZXRyeTpJZWUsVHViZUdlb21ldHJ5OkllZSxVVk1hcHBpbmc6dDJ0LFVpbnQxNkF0dHJpYnV0ZTpmdW5jdGlvbiBEcmUodCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5VaW50MTZBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5VaW50MTZCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpLG5ldyBnNHQodCxlKX0sVWludDE2QnVmZmVyQXR0cmlidXRlOmc0dCxVaW50MzJBdHRyaWJ1dGU6ZnVuY3Rpb24gQnJlKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVWludDMyQXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuVWludDMyQnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKSxuZXcgeTR0KHQsZSl9LFVpbnQzMkJ1ZmZlckF0dHJpYnV0ZTp5NHQsVWludDhBdHRyaWJ1dGU6ZnVuY3Rpb24gSHJlKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVWludDhBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5VaW50OEJ1ZmZlckF0dHJpYnV0ZSgpIGluc3RlYWQuIiksbmV3IHA0dCh0LGUpfSxVaW50OEJ1ZmZlckF0dHJpYnV0ZTpwNHQsVWludDhDbGFtcGVkQXR0cmlidXRlOmZ1bmN0aW9uIEZyZSh0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlVpbnQ4Q2xhbXBlZEF0dHJpYnV0ZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbmV3IFRIUkVFLlVpbnQ4Q2xhbXBlZEJ1ZmZlckF0dHJpYnV0ZSgpIGluc3RlYWQuIiksbmV3IGY0dCh0LGUpfSxVaW50OENsYW1wZWRCdWZmZXJBdHRyaWJ1dGU6ZjR0LFVuaWZvcm06TmllLFVuaWZvcm1zTGliOmI2dCxVbmlmb3Jtc1V0aWxzOmU2dCxVbnNpZ25lZEJ5dGVUeXBlOmcydCxVbnNpZ25lZEludDI0OFR5cGU6eDJ0LFVuc2lnbmVkSW50VHlwZTp5MnQsVW5zaWduZWRTaG9ydDQ0NDRUeXBlOjEwMTcsVW5zaWduZWRTaG9ydDU1NTFUeXBlOjEwMTgsVW5zaWduZWRTaG9ydDU2NVR5cGU6MTAxOSxVbnNpZ25lZFNob3J0VHlwZTpfMnQsVlNNU2hhZG93TWFwOjMsVmVjdG9yMjpDNXQsVmVjdG9yMzpINXQsVmVjdG9yNDpSNXQsVmVjdG9yS2V5ZnJhbWVUcmFjazpvbmUsVmVydGV4OmZ1bmN0aW9uIFZyZSh0LGUsbil7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVydGV4IGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBUSFJFRS5WZWN0b3IzIGluc3RlYWQuIiksbmV3IEg1dCh0LGUsbil9LFZlcnRleENvbG9yczoyLFZpZGVvVGV4dHVyZTpkdGUsV2ViR0wxUmVuZGVyZXI6YTd0LFdlYkdMQ3ViZVJlbmRlclRhcmdldDpsNnQsV2ViR0xNdWx0aXBsZVJlbmRlclRhcmdldHM6ejV0LFdlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQ6RDV0LFdlYkdMUmVuZGVyVGFyZ2V0Ok81dCxXZWJHTFJlbmRlclRhcmdldEN1YmU6ZnVuY3Rpb24gVXJlKHQsZSxuKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldEN1YmUoIHdpZHRoLCBoZWlnaHQsIG9wdGlvbnMgKSBpcyBub3cgV2ViR0xDdWJlUmVuZGVyVGFyZ2V0KCBzaXplLCBvcHRpb25zICkuIiksbmV3IGw2dCh0LG4pfSxXZWJHTFJlbmRlcmVyOm83dCxXZWJHTFV0aWxzOko4dCxXaXJlZnJhbWVHZW9tZXRyeTpSZWUsV2lyZWZyYW1lSGVscGVyOmZ1bmN0aW9uIGpyZSh0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldpcmVmcmFtZUhlbHBlciBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuV2lyZWZyYW1lR2VvbWV0cnkgaW5zdGVhZC4iKSxuZXcgaXRlKG5ldyBSZWUodC5nZW9tZXRyeSksbmV3IFg3dCh7Y29sb3I6dm9pZCAwIT09ZT9lOjE2Nzc3MjE1fSkpfSxXcmFwQXJvdW5kRW5kaW5nOlYydCxYSFJMb2FkZXI6ZnVuY3Rpb24gR3JlKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlhIUkxvYWRlciBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLkZpbGVMb2FkZXIuIiksbmV3IHBuZSh0KX0sWmVyb0N1cnZhdHVyZUVuZGluZzpIMnQsWmVyb0ZhY3RvcjoyMDAsWmVyb1Nsb3BlRW5kaW5nOkYydCxaZXJvU3RlbmNpbE9wOjAsc1JHQkVuY29kaW5nOlcydH0pO2NvbnN0IFdyZT17dHlwZToiY2hhbmdlIn0scXJlPXt0eXBlOiJzdGFydCJ9LFlyZT17dHlwZToiZW5kIn07Y2xhc3MgWHJlIGV4dGVuZHMgZTV0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx2b2lkIDA9PT1lJiZjb25zb2xlLndhcm4oJ1RIUkVFLk9yYml0Q29udHJvbHM6IFRoZSBzZWNvbmQgcGFyYW1ldGVyICJkb21FbGVtZW50IiBpcyBub3cgbWFuZGF0b3J5LicpLGU9PT1kb2N1bWVudCYmY29uc29sZS5lcnJvcignVEhSRUUuT3JiaXRDb250cm9sczogImRvY3VtZW50IiBzaG91bGQgbm90IGJlIHVzZWQgYXMgdGhlIHRhcmdldCAiZG9tRWxlbWVudCIuIFBsZWFzZSB1c2UgInJlbmRlcmVyLmRvbUVsZW1lbnQiIGluc3RlYWQuJyksdGhpcy5vYmplY3Q9dCx0aGlzLmRvbUVsZW1lbnQ9ZSx0aGlzLmRvbUVsZW1lbnQuc3R5bGUudG91Y2hBY3Rpb249Im5vbmUiLHRoaXMuZW5hYmxlZD0hMCx0aGlzLnRhcmdldD1uZXcgSDV0LHRoaXMubWluRGlzdGFuY2U9MCx0aGlzLm1heERpc3RhbmNlPTEvMCx0aGlzLm1pblpvb209MCx0aGlzLm1heFpvb209MS8wLHRoaXMubWluUG9sYXJBbmdsZT0wLHRoaXMubWF4UG9sYXJBbmdsZT1NYXRoLlBJLHRoaXMubWluQXppbXV0aEFuZ2xlPS0xLzAsdGhpcy5tYXhBemltdXRoQW5nbGU9MS8wLHRoaXMuZW5hYmxlRGFtcGluZz0hMSx0aGlzLmRhbXBpbmdGYWN0b3I9LjA1LHRoaXMuZW5hYmxlWm9vbT0hMCx0aGlzLnpvb21TcGVlZD0xLHRoaXMuZW5hYmxlUm90YXRlPSEwLHRoaXMucm90YXRlU3BlZWQ9MSx0aGlzLmVuYWJsZVBhbj0hMCx0aGlzLnBhblNwZWVkPTEsdGhpcy5zY3JlZW5TcGFjZVBhbm5pbmc9ITAsdGhpcy5rZXlQYW5TcGVlZD03LHRoaXMuYXV0b1JvdGF0ZT0hMSx0aGlzLmF1dG9Sb3RhdGVTcGVlZD0yLHRoaXMua2V5cz17TEVGVDoiQXJyb3dMZWZ0IixVUDoiQXJyb3dVcCIsUklHSFQ6IkFycm93UmlnaHQiLEJPVFRPTToiQXJyb3dEb3duIn0sdGhpcy5tb3VzZUJ1dHRvbnM9e0xFRlQ6WjB0LlJPVEFURSxNSURETEU6WjB0LkRPTExZLFJJR0hUOlowdC5QQU59LHRoaXMudG91Y2hlcz17T05FOkowdC5ST1RBVEUsVFdPOkowdC5ET0xMWV9QQU59LHRoaXMudGFyZ2V0MD10aGlzLnRhcmdldC5jbG9uZSgpLHRoaXMucG9zaXRpb24wPXRoaXMub2JqZWN0LnBvc2l0aW9uLmNsb25lKCksdGhpcy56b29tMD10aGlzLm9iamVjdC56b29tLHRoaXMuX2RvbUVsZW1lbnRLZXlFdmVudHM9bnVsbCx0aGlzLmdldFBvbGFyQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gYS5waGl9LHRoaXMuZ2V0QXppbXV0aGFsQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gYS50aGV0YX0sdGhpcy5nZXREaXN0YW5jZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9iamVjdC5wb3NpdGlvbi5kaXN0YW5jZVRvKHRoaXMudGFyZ2V0KX0sdGhpcy5saXN0ZW5Ub0tleUV2ZW50cz1mdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGopLHRoaXMuX2RvbUVsZW1lbnRLZXlFdmVudHM9dH0sdGhpcy5zYXZlU3RhdGU9ZnVuY3Rpb24oKXtuLnRhcmdldDAuY29weShuLnRhcmdldCksbi5wb3NpdGlvbjAuY29weShuLm9iamVjdC5wb3NpdGlvbiksbi56b29tMD1uLm9iamVjdC56b29tfSx0aGlzLnJlc2V0PWZ1bmN0aW9uKCl7bi50YXJnZXQuY29weShuLnRhcmdldDApLG4ub2JqZWN0LnBvc2l0aW9uLmNvcHkobi5wb3NpdGlvbjApLG4ub2JqZWN0Lnpvb209bi56b29tMCxuLm9iamVjdC51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCksbi5kaXNwYXRjaEV2ZW50KFdyZSksbi51cGRhdGUoKSxyPWkuTk9ORX0sdGhpcy51cGRhdGU9KGZ1bmN0aW9uKCl7Y29uc3QgZT1uZXcgSDV0LGg9KG5ldyBCNXQpLnNldEZyb21Vbml0VmVjdG9ycyh0LnVwLG5ldyBINXQoMCwxLDApKSxkPWguY2xvbmUoKS5pbnZlcnQoKSxwPW5ldyBINXQsZj1uZXcgQjV0LG09MipNYXRoLlBJO3JldHVybiBmdW5jdGlvbiB0KCl7Y29uc3QgZz1uLm9iamVjdC5wb3NpdGlvbjtlLmNvcHkoZykuc3ViKG4udGFyZ2V0KSxlLmFwcGx5UXVhdGVybmlvbihoKSxhLnNldEZyb21WZWN0b3IzKGUpLG4uYXV0b1JvdGF0ZSYmcj09PWkuTk9ORSYmUygoZnVuY3Rpb24gXygpe3JldHVybiAyKk1hdGguUEkvNjAvNjAqbi5hdXRvUm90YXRlU3BlZWR9KSgpKSxuLmVuYWJsZURhbXBpbmc/KGEudGhldGErPXMudGhldGEqbi5kYW1waW5nRmFjdG9yLGEucGhpKz1zLnBoaSpuLmRhbXBpbmdGYWN0b3IpOihhLnRoZXRhKz1zLnRoZXRhLGEucGhpKz1zLnBoaSk7bGV0IHk9bi5taW5BemltdXRoQW5nbGUsdj1uLm1heEF6aW11dGhBbmdsZTtyZXR1cm4gaXNGaW5pdGUoeSkmJmlzRmluaXRlKHYpJiYoeTwtTWF0aC5QST95Kz1tOnk+TWF0aC5QSSYmKHktPW0pLHY8LU1hdGguUEk/dis9bTp2Pk1hdGguUEkmJih2LT1tKSxhLnRoZXRhPXk8PXY/TWF0aC5tYXgoeSxNYXRoLm1pbih2LGEudGhldGEpKTphLnRoZXRhPih5K3YpLzI/TWF0aC5tYXgoeSxhLnRoZXRhKTpNYXRoLm1pbih2LGEudGhldGEpKSxhLnBoaT1NYXRoLm1heChuLm1pblBvbGFyQW5nbGUsTWF0aC5taW4obi5tYXhQb2xhckFuZ2xlLGEucGhpKSksYS5tYWtlU2FmZSgpLGEucmFkaXVzKj1sLGEucmFkaXVzPU1hdGgubWF4KG4ubWluRGlzdGFuY2UsTWF0aC5taW4obi5tYXhEaXN0YW5jZSxhLnJhZGl1cykpLCEwPT09bi5lbmFibGVEYW1waW5nP24udGFyZ2V0LmFkZFNjYWxlZFZlY3RvcihjLG4uZGFtcGluZ0ZhY3Rvcik6bi50YXJnZXQuYWRkKGMpLGUuc2V0RnJvbVNwaGVyaWNhbChhKSxlLmFwcGx5UXVhdGVybmlvbihkKSxnLmNvcHkobi50YXJnZXQpLmFkZChlKSxuLm9iamVjdC5sb29rQXQobi50YXJnZXQpLCEwPT09bi5lbmFibGVEYW1waW5nPyhzLnRoZXRhKj0xLW4uZGFtcGluZ0ZhY3RvcixzLnBoaSo9MS1uLmRhbXBpbmdGYWN0b3IsYy5tdWx0aXBseVNjYWxhcigxLW4uZGFtcGluZ0ZhY3RvcikpOihzLnNldCgwLDAsMCksYy5zZXQoMCwwLDApKSxsPTEsISEodXx8cC5kaXN0YW5jZVRvU3F1YXJlZChuLm9iamVjdC5wb3NpdGlvbik+b3x8OCooMS1mLmRvdChuLm9iamVjdC5xdWF0ZXJuaW9uKSk+bykmJihuLmRpc3BhdGNoRXZlbnQoV3JlKSxwLmNvcHkobi5vYmplY3QucG9zaXRpb24pLGYuY29weShuLm9iamVjdC5xdWF0ZXJuaW9uKSx1PSExLCEwKX19KSgpLHRoaXMuZGlzcG9zZT1mdW5jdGlvbigpe24uZG9tRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsRyksbi5kb21FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixCKSxuLmRvbUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsViksbi5kb21FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIixVKSxuLmRvbUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLEgpLG4uZG9tRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLEYpLG51bGwhPT1uLl9kb21FbGVtZW50S2V5RXZlbnRzJiZuLl9kb21FbGVtZW50S2V5RXZlbnRzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGopfTtjb25zdCBuPXRoaXMsaT17Tk9ORTotMSxST1RBVEU6MCxET0xMWToxLFBBTjoyLFRPVUNIX1JPVEFURTozLFRPVUNIX1BBTjo0LFRPVUNIX0RPTExZX1BBTjo1LFRPVUNIX0RPTExZX1JPVEFURTo2fTtsZXQgcj1pLk5PTkU7Y29uc3Qgbz0xZS02LGE9bmV3IERpZSxzPW5ldyBEaWU7bGV0IGw9MTtjb25zdCBjPW5ldyBINXQ7bGV0IHU9ITE7Y29uc3QgaD1uZXcgQzV0LGQ9bmV3IEM1dCxwPW5ldyBDNXQsZj1uZXcgQzV0LG09bmV3IEM1dCxnPW5ldyBDNXQsXz1uZXcgQzV0LHk9bmV3IEM1dCx2PW5ldyBDNXQsYj1bXSx4PXt9O2Z1bmN0aW9uIHcoKXtyZXR1cm4gTWF0aC5wb3coLjk1LG4uem9vbVNwZWVkKX1mdW5jdGlvbiBTKHQpe3MudGhldGEtPXR9ZnVuY3Rpb24gTSh0KXtzLnBoaS09dH1jb25zdCBFPShmdW5jdGlvbigpe2NvbnN0IHQ9bmV3IEg1dDtyZXR1cm4gZnVuY3Rpb24gZShuLGkpe3Quc2V0RnJvbU1hdHJpeENvbHVtbihpLDApLHQubXVsdGlwbHlTY2FsYXIoLW4pLGMuYWRkKHQpfX0pKCksVD0oZnVuY3Rpb24oKXtjb25zdCB0PW5ldyBINXQ7cmV0dXJuIGZ1bmN0aW9uIGUoaSxyKXshMD09PW4uc2NyZWVuU3BhY2VQYW5uaW5nP3Quc2V0RnJvbU1hdHJpeENvbHVtbihyLDEpOih0LnNldEZyb21NYXRyaXhDb2x1bW4ociwwKSx0LmNyb3NzVmVjdG9ycyhuLm9iamVjdC51cCx0KSksdC5tdWx0aXBseVNjYWxhcihpKSxjLmFkZCh0KX19KSgpLEM9KGZ1bmN0aW9uKCl7Y29uc3QgdD1uZXcgSDV0O3JldHVybiBmdW5jdGlvbiBlKGkscil7Y29uc3Qgbz1uLmRvbUVsZW1lbnQ7aWYobi5vYmplY3QuaXNQZXJzcGVjdGl2ZUNhbWVyYSl7dC5jb3B5KG4ub2JqZWN0LnBvc2l0aW9uKS5zdWIobi50YXJnZXQpO2xldCBlPXQubGVuZ3RoKCk7ZSo9TWF0aC50YW4obi5vYmplY3QuZm92LzIqTWF0aC5QSS8xODApLEUoMippKmUvby5jbGllbnRIZWlnaHQsbi5vYmplY3QubWF0cml4KSxUKDIqciplL28uY2xpZW50SGVpZ2h0LG4ub2JqZWN0Lm1hdHJpeCl9ZWxzZSBuLm9iamVjdC5pc09ydGhvZ3JhcGhpY0NhbWVyYT8oRShpKihuLm9iamVjdC5yaWdodC1uLm9iamVjdC5sZWZ0KS9uLm9iamVjdC56b29tL28uY2xpZW50V2lkdGgsbi5vYmplY3QubWF0cml4KSxUKHIqKG4ub2JqZWN0LnRvcC1uLm9iamVjdC5ib3R0b20pL24ub2JqZWN0Lnpvb20vby5jbGllbnRIZWlnaHQsbi5vYmplY3QubWF0cml4KSk6KGNvbnNvbGUud2FybigiV0FSTklORzogT3JiaXRDb250cm9scy5qcyBlbmNvdW50ZXJlZCBhbiB1bmtub3duIGNhbWVyYSB0eXBlIC0gcGFuIGRpc2FibGVkLiIpLG4uZW5hYmxlUGFuPSExKX19KSgpO2Z1bmN0aW9uIEEodCl7bi5vYmplY3QuaXNQZXJzcGVjdGl2ZUNhbWVyYT9sLz10Om4ub2JqZWN0LmlzT3J0aG9ncmFwaGljQ2FtZXJhPyhuLm9iamVjdC56b29tPU1hdGgubWF4KG4ubWluWm9vbSxNYXRoLm1pbihuLm1heFpvb20sbi5vYmplY3Quem9vbSp0KSksbi5vYmplY3QudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpLHU9ITApOihjb25zb2xlLndhcm4oIldBUk5JTkc6IE9yYml0Q29udHJvbHMuanMgZW5jb3VudGVyZWQgYW4gdW5rbm93biBjYW1lcmEgdHlwZSAtIGRvbGx5L3pvb20gZGlzYWJsZWQuIiksbi5lbmFibGVab29tPSExKX1mdW5jdGlvbiBrKHQpe24ub2JqZWN0LmlzUGVyc3BlY3RpdmVDYW1lcmE/bCo9dDpuLm9iamVjdC5pc09ydGhvZ3JhcGhpY0NhbWVyYT8obi5vYmplY3Quem9vbT1NYXRoLm1heChuLm1pblpvb20sTWF0aC5taW4obi5tYXhab29tLG4ub2JqZWN0Lnpvb20vdCkpLG4ub2JqZWN0LnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKSx1PSEwKTooY29uc29sZS53YXJuKCJXQVJOSU5HOiBPcmJpdENvbnRyb2xzLmpzIGVuY291bnRlcmVkIGFuIHVua25vd24gY2FtZXJhIHR5cGUgLSBkb2xseS96b29tIGRpc2FibGVkLiIpLG4uZW5hYmxlWm9vbT0hMSl9ZnVuY3Rpb24gTCh0KXtoLnNldCh0LmNsaWVudFgsdC5jbGllbnRZKX1mdW5jdGlvbiBQKHQpe2Yuc2V0KHQuY2xpZW50WCx0LmNsaWVudFkpfWZ1bmN0aW9uIE4oKXtpZigxPT09Yi5sZW5ndGgpaC5zZXQoYlswXS5wYWdlWCxiWzBdLnBhZ2VZKTtlbHNle2guc2V0KC41KihiWzBdLnBhZ2VYK2JbMV0ucGFnZVgpLC41KihiWzBdLnBhZ2VZK2JbMV0ucGFnZVkpKX19ZnVuY3Rpb24gSSgpe2lmKDE9PT1iLmxlbmd0aClmLnNldChiWzBdLnBhZ2VYLGJbMF0ucGFnZVkpO2Vsc2V7Zi5zZXQoLjUqKGJbMF0ucGFnZVgrYlsxXS5wYWdlWCksLjUqKGJbMF0ucGFnZVkrYlsxXS5wYWdlWSkpfX1mdW5jdGlvbiBSKCl7Y29uc3QgdD1iWzBdLnBhZ2VYLWJbMV0ucGFnZVgsZT1iWzBdLnBhZ2VZLWJbMV0ucGFnZVksbj1NYXRoLnNxcnQodCp0K2UqZSk7Xy5zZXQoMCxuKX1mdW5jdGlvbiBPKHQpe2lmKDE9PWIubGVuZ3RoKWQuc2V0KHQucGFnZVgsdC5wYWdlWSk7ZWxzZXtjb25zdCBlPVkodCk7ZC5zZXQoLjUqKHQucGFnZVgrZS54KSwuNSoodC5wYWdlWStlLnkpKX1wLnN1YlZlY3RvcnMoZCxoKS5tdWx0aXBseVNjYWxhcihuLnJvdGF0ZVNwZWVkKTtjb25zdCBlPW4uZG9tRWxlbWVudDtTKDIqTWF0aC5QSSpwLngvZS5jbGllbnRIZWlnaHQpLE0oMipNYXRoLlBJKnAueS9lLmNsaWVudEhlaWdodCksaC5jb3B5KGQpfWZ1bmN0aW9uIHoodCl7aWYoMT09PWIubGVuZ3RoKW0uc2V0KHQucGFnZVgsdC5wYWdlWSk7ZWxzZXtjb25zdCBlPVkodCk7bS5zZXQoLjUqKHQucGFnZVgrZS54KSwuNSoodC5wYWdlWStlLnkpKX1nLnN1YlZlY3RvcnMobSxmKS5tdWx0aXBseVNjYWxhcihuLnBhblNwZWVkKSxDKGcueCxnLnkpLGYuY29weShtKX1mdW5jdGlvbiBEKHQpe2NvbnN0IGU9WSh0KSxpPXQucGFnZVgtZS54LHI9dC5wYWdlWS1lLnksbz1NYXRoLnNxcnQoaSppK3Iqcik7eS5zZXQoMCxvKSx2LnNldCgwLE1hdGgucG93KHkueS9fLnksbi56b29tU3BlZWQpKSxBKHYueSksXy5jb3B5KHkpfWZ1bmN0aW9uIEIodCl7ITEhPT1uLmVuYWJsZWQmJigwPT09Yi5sZW5ndGgmJihuLmRvbUVsZW1lbnQuc2V0UG9pbnRlckNhcHR1cmUodC5wb2ludGVySWQpLG4uZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsSCksbi5kb21FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsRikpLChmdW5jdGlvbiBlKHQpe2IucHVzaCh0KX0pKHQpLCJ0b3VjaCI9PT10LnBvaW50ZXJUeXBlPyhmdW5jdGlvbiBvKHQpe3N3aXRjaChxKHQpLGIubGVuZ3RoKXtjYXNlIDE6c3dpdGNoKG4udG91Y2hlcy5PTkUpe2Nhc2UgSjB0LlJPVEFURTppZighMT09PW4uZW5hYmxlUm90YXRlKXJldHVybjtOKCkscj1pLlRPVUNIX1JPVEFURTticmVhaztjYXNlIEowdC5QQU46aWYoITE9PT1uLmVuYWJsZVBhbilyZXR1cm47SSgpLHI9aS5UT1VDSF9QQU47YnJlYWs7ZGVmYXVsdDpyPWkuTk9ORX1icmVhaztjYXNlIDI6c3dpdGNoKG4udG91Y2hlcy5UV08pe2Nhc2UgSjB0LkRPTExZX1BBTjppZighMT09PW4uZW5hYmxlWm9vbSYmITE9PT1uLmVuYWJsZVBhbilyZXR1cm47IShmdW5jdGlvbiB0KCl7bi5lbmFibGVab29tJiZSKCksbi5lbmFibGVQYW4mJkkoKX0pKCkscj1pLlRPVUNIX0RPTExZX1BBTjticmVhaztjYXNlIEowdC5ET0xMWV9ST1RBVEU6aWYoITE9PT1uLmVuYWJsZVpvb20mJiExPT09bi5lbmFibGVSb3RhdGUpcmV0dXJuOyEoZnVuY3Rpb24gZSgpe24uZW5hYmxlWm9vbSYmUigpLG4uZW5hYmxlUm90YXRlJiZOKCl9KSgpLHI9aS5UT1VDSF9ET0xMWV9ST1RBVEU7YnJlYWs7ZGVmYXVsdDpyPWkuTk9ORX1icmVhaztkZWZhdWx0OnI9aS5OT05FfXIhPT1pLk5PTkUmJm4uZGlzcGF0Y2hFdmVudChxcmUpfSkodCk6KGZ1bmN0aW9uIGEodCl7bGV0IGU7c3dpdGNoKHQuYnV0dG9uKXtjYXNlIDA6ZT1uLm1vdXNlQnV0dG9ucy5MRUZUO2JyZWFrO2Nhc2UgMTplPW4ubW91c2VCdXR0b25zLk1JRERMRTticmVhaztjYXNlIDI6ZT1uLm1vdXNlQnV0dG9ucy5SSUdIVDticmVhaztkZWZhdWx0OmU9LTF9c3dpdGNoKGUpe2Nhc2UgWjB0LkRPTExZOmlmKCExPT09bi5lbmFibGVab29tKXJldHVybjshKGZ1bmN0aW9uIGUodCl7Xy5zZXQodC5jbGllbnRYLHQuY2xpZW50WSl9KSh0KSxyPWkuRE9MTFk7YnJlYWs7Y2FzZSBaMHQuUk9UQVRFOmlmKHQuY3RybEtleXx8dC5tZXRhS2V5fHx0LnNoaWZ0S2V5KXtpZighMT09PW4uZW5hYmxlUGFuKXJldHVybjtQKHQpLHI9aS5QQU59ZWxzZXtpZighMT09PW4uZW5hYmxlUm90YXRlKXJldHVybjtMKHQpLHI9aS5ST1RBVEV9YnJlYWs7Y2FzZSBaMHQuUEFOOmlmKHQuY3RybEtleXx8dC5tZXRhS2V5fHx0LnNoaWZ0S2V5KXtpZighMT09PW4uZW5hYmxlUm90YXRlKXJldHVybjtMKHQpLHI9aS5ST1RBVEV9ZWxzZXtpZighMT09PW4uZW5hYmxlUGFuKXJldHVybjtQKHQpLHI9aS5QQU59YnJlYWs7ZGVmYXVsdDpyPWkuTk9ORX1yIT09aS5OT05FJiZuLmRpc3BhdGNoRXZlbnQocXJlKX0pKHQpKX1mdW5jdGlvbiBIKHQpeyExIT09bi5lbmFibGVkJiYoInRvdWNoIj09PXQucG9pbnRlclR5cGU/KGZ1bmN0aW9uIGUodCl7c3dpdGNoKHEodCkscil7Y2FzZSBpLlRPVUNIX1JPVEFURTppZighMT09PW4uZW5hYmxlUm90YXRlKXJldHVybjtPKHQpLG4udXBkYXRlKCk7YnJlYWs7Y2FzZSBpLlRPVUNIX1BBTjppZighMT09PW4uZW5hYmxlUGFuKXJldHVybjt6KHQpLG4udXBkYXRlKCk7YnJlYWs7Y2FzZSBpLlRPVUNIX0RPTExZX1BBTjppZighMT09PW4uZW5hYmxlWm9vbSYmITE9PT1uLmVuYWJsZVBhbilyZXR1cm47IShmdW5jdGlvbiBlKHQpe24uZW5hYmxlWm9vbSYmRCh0KSxuLmVuYWJsZVBhbiYmeih0KX0pKHQpLG4udXBkYXRlKCk7YnJlYWs7Y2FzZSBpLlRPVUNIX0RPTExZX1JPVEFURTppZighMT09PW4uZW5hYmxlWm9vbSYmITE9PT1uLmVuYWJsZVJvdGF0ZSlyZXR1cm47IShmdW5jdGlvbiBvKHQpe24uZW5hYmxlWm9vbSYmRCh0KSxuLmVuYWJsZVJvdGF0ZSYmTyh0KX0pKHQpLG4udXBkYXRlKCk7YnJlYWs7ZGVmYXVsdDpyPWkuTk9ORX19KSh0KTooZnVuY3Rpb24gbyh0KXtpZighMT09PW4uZW5hYmxlZClyZXR1cm47c3dpdGNoKHIpe2Nhc2UgaS5ST1RBVEU6aWYoITE9PT1uLmVuYWJsZVJvdGF0ZSlyZXR1cm47IShmdW5jdGlvbiBlKHQpe2Quc2V0KHQuY2xpZW50WCx0LmNsaWVudFkpLHAuc3ViVmVjdG9ycyhkLGgpLm11bHRpcGx5U2NhbGFyKG4ucm90YXRlU3BlZWQpO2NvbnN0IGU9bi5kb21FbGVtZW50O1MoMipNYXRoLlBJKnAueC9lLmNsaWVudEhlaWdodCksTSgyKk1hdGguUEkqcC55L2UuY2xpZW50SGVpZ2h0KSxoLmNvcHkoZCksbi51cGRhdGUoKX0pKHQpO2JyZWFrO2Nhc2UgaS5ET0xMWTppZighMT09PW4uZW5hYmxlWm9vbSlyZXR1cm47IShmdW5jdGlvbiByKHQpe3kuc2V0KHQuY2xpZW50WCx0LmNsaWVudFkpLHYuc3ViVmVjdG9ycyh5LF8pLHYueT4wP0EodygpKTp2Lnk8MCYmayh3KCkpLF8uY29weSh5KSxuLnVwZGF0ZSgpfSkodCk7YnJlYWs7Y2FzZSBpLlBBTjppZighMT09PW4uZW5hYmxlUGFuKXJldHVybjshKGZ1bmN0aW9uIG8odCl7bS5zZXQodC5jbGllbnRYLHQuY2xpZW50WSksZy5zdWJWZWN0b3JzKG0sZikubXVsdGlwbHlTY2FsYXIobi5wYW5TcGVlZCksQyhnLngsZy55KSxmLmNvcHkobSksbi51cGRhdGUoKX0pKHQpfX0pKHQpKX1mdW5jdGlvbiBGKHQpeyExIT09bi5lbmFibGVkJiYoInRvdWNoIj09PXQucG9pbnRlclR5cGU/KGZ1bmN0aW9uIGUodCl7bi5kaXNwYXRjaEV2ZW50KFlyZSkscj1pLk5PTkV9KSgpOihmdW5jdGlvbiBvKHQpe24uZGlzcGF0Y2hFdmVudChZcmUpLHI9aS5OT05FfSkoKSxXKHQpLDA9PT1iLmxlbmd0aCYmKG4uZG9tRWxlbWVudC5yZWxlYXNlUG9pbnRlckNhcHR1cmUodC5wb2ludGVySWQpLG4uZG9tRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsSCksbi5kb21FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsRikpKX1mdW5jdGlvbiBWKHQpe1codCl9ZnVuY3Rpb24gVSh0KXshMT09PW4uZW5hYmxlZHx8ITE9PT1uLmVuYWJsZVpvb218fHIhPT1pLk5PTkUmJnIhPT1pLlJPVEFURXx8KHQucHJldmVudERlZmF1bHQoKSxuLmRpc3BhdGNoRXZlbnQocXJlKSwoZnVuY3Rpb24gZSh0KXt0LmRlbHRhWTwwP2sodygpKTp0LmRlbHRhWT4wJiZBKHcoKSksbi51cGRhdGUoKX0pKHQpLG4uZGlzcGF0Y2hFdmVudChZcmUpKX1mdW5jdGlvbiBqKHQpeyExIT09bi5lbmFibGVkJiYhMSE9PW4uZW5hYmxlUGFuJiYoZnVuY3Rpb24gZSh0KXtsZXQgZT0hMTtzd2l0Y2godC5jb2RlKXtjYXNlIG4ua2V5cy5VUDpDKDAsbi5rZXlQYW5TcGVlZCksZT0hMDticmVhaztjYXNlIG4ua2V5cy5CT1RUT006QygwLC1uLmtleVBhblNwZWVkKSxlPSEwO2JyZWFrO2Nhc2Ugbi5rZXlzLkxFRlQ6QyhuLmtleVBhblNwZWVkLDApLGU9ITA7YnJlYWs7Y2FzZSBuLmtleXMuUklHSFQ6Qygtbi5rZXlQYW5TcGVlZCwwKSxlPSEwfWUmJih0LnByZXZlbnREZWZhdWx0KCksbi51cGRhdGUoKSl9KSh0KX1mdW5jdGlvbiBHKHQpeyExIT09bi5lbmFibGVkJiZ0LnByZXZlbnREZWZhdWx0KCl9ZnVuY3Rpb24gVyh0KXtkZWxldGUgeFt0LnBvaW50ZXJJZF07Zm9yKGxldCBlPTA7ZTxiLmxlbmd0aDtlKyspaWYoYltlXS5wb2ludGVySWQ9PXQucG9pbnRlcklkKXJldHVybiB2b2lkIGIuc3BsaWNlKGUsMSl9ZnVuY3Rpb24gcSh0KXtsZXQgZT14W3QucG9pbnRlcklkXTt2b2lkIDA9PT1lJiYoZT1uZXcgQzV0LHhbdC5wb2ludGVySWRdPWUpLGUuc2V0KHQucGFnZVgsdC5wYWdlWSl9ZnVuY3Rpb24gWSh0KXtyZXR1cm4geFsodC5wb2ludGVySWQ9PT1iWzBdLnBvaW50ZXJJZD9iWzFdOmJbMF0pLnBvaW50ZXJJZF19bi5kb21FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IixHKSxuLmRvbUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLEIpLG4uZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixWKSxuLmRvbUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLFUse3Bhc3NpdmU6ITF9KSx0aGlzLnVwZGF0ZSgpfX1jbGFzcyAkcmUgZXh0ZW5kcyBlNXR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLl9sYXN0TWVzaD1udWxsLHRoaXMuX2Nsb2NrPW5ldyBvaWUsdGhpcy5fY2FudmFzU2l6ZT1udWxsLHRoaXMuX2xheWVyc0NvbmZpZz1udWxsLHRoaXMuX3J1bkNvbG9yPXR9X2lzT2JqZWN0KHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9dCYmIUFycmF5LmlzQXJyYXkodCl9X2FwcGx5RGVmYXVsdHModCxlKXtsZXQgbj17fTtjb25zdCBpPVt0LGVdO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtjb25zdCBlPWlbdF07Zm9yKGxldCB0IGluIGUpe2NvbnN0IGk9dCBpbiBuO3RoaXMuX2lzT2JqZWN0KGVbdF0pP25bdF09dGhpcy5fYXBwbHlEZWZhdWx0cyhuW3RdfHx7fSxlW3RdKTppfHwoblt0XT1lW3RdKX19cmV0dXJuIG59X2NyZWF0ZUxheWVycygpe2lmKHRoaXMuX2xheWVyc0NvbmZpZyYmdGhpcy5fc2NlbmUmJnRoaXMuX2xhc3RNZXNoKXtpZih0aGlzLl9sYXllcnNDb25maWcuc2hvd0JvdW5kaW5nQm94KXt2YXIgdD1uZXcgc3JlKHRoaXMuX2xhc3RNZXNoLG5ldyBzNHQoInJnYigwLCAwLCAyNTUpIikpO3RoaXMuX3NjZW5lLmFkZCh0KX1pZih0aGlzLl9sYXllcnNDb25maWcuc2hvd0F4ZXMpe3ZhciBlPW5ldyBocmUoNSk7dGhpcy5fc2NlbmUuYWRkKGUpfX19c2V0TGF5ZXJzQ29uZmlnKHQpe3RoaXMuX2xheWVyc0NvbmZpZz10aGlzLl9hcHBseURlZmF1bHRzKHQsdGhpcy5fbGF5ZXJzQ29uZmlnfHx7fSl9X2NyZWF0ZVdvcmxkKHQsZSl7aWYodGhpcy5pc1JlYWR5KCkpcmV0dXJuO3RoaXMuX3NjZW5lPW5ldyBjN3Q7dmFyIG49bmV3IG1yZVt0LmNhbWVyYS5jbHNdKHQuY2FtZXJhLmZvdix0aGlzLl9jYW52YXNTaXplLndpZHRoL3RoaXMuX2NhbnZhc1NpemUuaGVpZ2h0LHQuY2FtZXJhLm5lYXIsdC5jYW1lcmEuZmFyKTt0aGlzLl9jYW1lcmE9bix0aGlzLmluaXRDYW1lcmFQb3NpdGlvbj1udWxsLHQuY2FtZXJhLnBvc2l0aW9uJiYodGhpcy5pbml0Q2FtZXJhUG9zaXRpb249KG5ldyBINXQpLmZyb21BcnJheSh0LmNhbWVyYS5wb3NpdGlvbikpLHRoaXMuaW5pdENhbWVyYUxvb2tBdD1udWxsLHQuY2FtZXJhLmxvb2tBdCYmKHRoaXMuaW5pdENhbWVyYUxvb2tBdD0obmV3IEg1dCkuZnJvbUFycmF5KHQuY2FtZXJhLmxvb2tBdCkpO3ZhciBpPW5ldyBYcmUobixlKTtjb25zdCByPWk7ci5sb29rU3BlZWQ9LjQsci5tb3ZlbWVudFNwZWVkPTIwLHIubm9GbHk9ITAsci5sb29rVmVydGljYWw9ITAsci5jb25zdHJhaW5WZXJ0aWNhbD0hMCxyLnZlcnRpY2FsTWluPTEsci52ZXJ0aWNhbE1heD0yLHIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9vbkNhbWVyYVBvc2l0aW9uQ2hhbmdlLmJpbmQodGhpcykpLHRoaXMuX2NhbWVyYUNvbnRyb2xzPWksdGhpcy5fcmVuZGVyZXI9bmV3IG83dCh7YW50aWFsaWFzOiEwfSksdGhpcy5fcmVuZGVyZXIuc2V0UGl4ZWxSYXRpbyh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyksdGhpcy5fcmVuZGVyZXIuc2V0U2l6ZSh0aGlzLl9jYW52YXNTaXplLndpZHRoLHRoaXMuX2NhbnZhc1NpemUuaGVpZ2h0KSx0aGlzLl9yZW5kZXJlci5zZXRDbGVhckNvbG9yKDE2Nzc3MjE1LDEpfV9jbGVhclNjZW5lKCl7Zm9yKDt0aGlzLl9zY2VuZS5jaGlsZHJlbi5sZW5ndGg+MDspdGhpcy5fc2NlbmUucmVtb3ZlKHRoaXMuX3NjZW5lLmNoaWxkcmVuWzBdKX1nZXRSZW5kZXJlcigpe3JldHVybiB0aGlzLl9yZW5kZXJlcn1nZXRDYW1lcmFDb250cm9scygpe3JldHVybiB0aGlzLl9jYW1lcmFDb250cm9sc31pc1JlYWR5KCl7cmV0dXJuISF0aGlzLl9jYW1lcmEmJiEhdGhpcy5fY2FtZXJhQ29udHJvbHN9Z2V0Q2FtZXJhUG9zaXRpb24oKXtyZXR1cm57ZmFyOnRoaXMuX2NhbWVyYS5mYXIscG9zaXRpb246dGhpcy5fY2FtZXJhLnBvc2l0aW9uLmNsb25lKCksdGFyZ2V0OnRoaXMuX2NhbWVyYUNvbnRyb2xzLnRhcmdldC5jbG9uZSgpfX1zZXRDYW52YXNTaXplKHQpe3RoaXMuX2NhbnZhc1NpemU9dH1kcmF3KCl7dGhpcy5fYW5pbWF0aW9uRnJhbWVJbmRleCYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fYW5pbWF0aW9uRnJhbWVJbmRleCksdGhpcy5fY2FtZXJhLmFzcGVjdD10aGlzLl9jYW52YXNTaXplLndpZHRoL3RoaXMuX2NhbnZhc1NpemUuaGVpZ2h0LHRoaXMuX2NhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCksdGhpcy5fcmVuZGVyZXIuc2V0U2l6ZSh0aGlzLl9jYW52YXNTaXplLndpZHRoLHRoaXMuX2NhbnZhc1NpemUuaGVpZ2h0KTtjb25zdCB0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fY2xvY2suZ2V0RGVsdGEoKTt0aGlzLl9jYW1lcmFDb250cm9scy51cGRhdGUoZSksdGhpcy5fYW5pbWF0aW9uRnJhbWVJbmRleD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodCksdGhpcy5fcmVuZGVyZXIucmVuZGVyKHRoaXMuX3NjZW5lLHRoaXMuX2NhbWVyYSl9LmJpbmQodGhpcyk7dCgpfXVwZGF0ZVNjZW5lKHQsZSl7bGV0IG49e307ImNvbmZpZyJpbiB0JiZ0LmNvbmZpZyYmKG49SlNPTi5wYXJzZSh0LmNvbmZpZykpLHRoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiYmVmb3JlVXBkYXRlU2NlbmUifSk7bj10aGlzLl9hcHBseURlZmF1bHRzKG4se2NhbWVyYTp7Y2xzOiJQZXJzcGVjdGl2ZUNhbWVyYSIsZm92Ojc1LG5lYXI6LjEsZmFyOjFlM30sbGlnaHRzOlt7Y2xzOiJBbWJpZW50TGlnaHQiLGNvbG9yOiIjZmZmZmZmIixpbnRlbnNpdHk6Ljc1fSx7Y2xzOiJEaXJlY3Rpb25hbExpZ2h0Iixjb2xvcjoiI2ZmZmZmZiIsaW50ZW5zaXR5Oi43NSxwb3NpdGlvbjpbMCwtMSwyXX1dfSksdGhpcy5fY3JlYXRlV29ybGQobixlKSx0aGlzLl9jbGVhclNjZW5lKCksdGhpcy5fY3JlYXRlTGlnaHRzKHRoaXMuX3NjZW5lLG4pLHRoaXMuX2NyZWF0ZUdlb21ldHJ5KHQsbiksdGhpcy5fY3JlYXRlTGF5ZXJzKCksdGhpcy5kcmF3KCl9cmVzZXRWaWV3KHQpe2lmKCF0aGlzLmlzUmVhZHkoKSlyZXR1cm47bGV0IGU7dGhpcy5fY2FtZXJhQ29udHJvbHMucmVzZXQoKSwhdCYmdGhpcy5fbGFzdE1lc2gmJihlPXRoaXMuX2xhc3RNZXNoKSxlJiYodGhpcy5fZml0T2JqZWN0VG9WaWV3cG9ydChlKSx0aGlzLl9sYXN0TWVzaD1lKSx0aGlzLl9jYW1lcmFDb250cm9scy51cGRhdGUoKX1fY3JlYXRlR2VvbWV0cnkodCxlKXtjb25zdCBuPXQubWVzaDtuLnZlcnRpY2VzJiZuLmZhY2VzJiZuLmZhY2VzLmxlbmd0aD90aGlzLl9jcmVhdGVNZXNoKG4sZSk6dGhpcy5fY3JlYXRlUG9pbnRDbG91ZChuLGUpfV9jcmVhdGVQb2ludENsb3VkKHQsZSl7Y29uc3Qgbj10LnZlcnRpY2VzLGk9dC5jb2xvcnM7bGV0IHI9e21hdGVyaWFsOntjbHM6IlBvaW50c01hdGVyaWFsIixzaXplOi4wMDV9fTtpJiZpLmxlbmd0aD09bi5sZW5ndGg/ci5tYXRlcmlhbC52ZXJ0ZXhDb2xvcnM9ITA6ci5tYXRlcmlhbC5jb2xvcj10aGlzLl9ydW5Db2xvcjtjb25zdCBvPXRoaXMuX2FwcGx5RGVmYXVsdHMoZSxyKSxhPW5ldyBONHQscz1uZXcgRmxvYXQzMkFycmF5KG4uZmxhdCgpKTtpZihhLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBoNHQocywzKSksaSYmaS5sZW5ndGg9PW4ubGVuZ3RoKXtjb25zdCB0PW5ldyBGbG9hdDMyQXJyYXkoaS5mbGF0KCkpO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV09dFtlXS8yNTU7YS5zZXRBdHRyaWJ1dGUoImNvbG9yIixuZXcgaDR0KHQsMykpfXZhciBsPW5ldyBtcmVbby5tYXRlcmlhbC5jbHNdKG8ubWF0ZXJpYWwpLGM9bmV3IHV0ZShhLGwpO3RoaXMuX3NjZW5lLmFkZChjKSx0aGlzLl9sYXN0TWVzaD1jfXNldENhbWVyYVZpZXdwb2ludCh0LGUsbil7dGhpcy5fc2lsZW50PSEwLHRoaXMuX2NhbWVyYS5mYXI9ZSx0aGlzLl9jYW1lcmEucG9zaXRpb24uc2V0KHQueCx0LnksdC56KSx0aGlzLl9jYW1lcmEubG9va0F0KG4uY2xvbmUoKSksdGhpcy5fY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKSx0aGlzLl9jYW1lcmFDb250cm9scy50YXJnZXQ9bi5jbG9uZSgpLHRoaXMuX2NhbWVyYUNvbnRyb2xzLnVwZGF0ZSgpLHRoaXMuX3NpbGVudD0hMX1fb25DYW1lcmFQb3NpdGlvbkNoYW5nZSh0KXt0aGlzLl9zaWxlbnR8fHRoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiY2FtZXJhUG9zaXRpb25DaGFuZ2UiLGV2ZW50OnR9KX1fZml0T2JqZWN0VG9WaWV3cG9ydCh0KXt2YXIgZSxuO2NvbnN0IGk9bmV3IFU1dCxyPW5ldyBINXQsbz1uZXcgSDV0O2kuc2V0RnJvbU9iamVjdCh0KSxpLmdldENlbnRlcihyKSxpLmdldFNpemUobyk7Y29uc3QgYT1NYXRoLm1heChvLngsby55LG8ueikscz10aGlzLl9jYW1lcmEuZm92KihNYXRoLlBJLzE4MCk7bGV0IGw9MS4yNSpNYXRoLmFicyhhLygyKk1hdGgudGFuKHMvMikpKTtjb25zdCBjPWkubWluLnosdT1jPDA/LWMrbDpsLWMsaD1udWxsIT09KGU9dGhpcy5pbml0Q2FtZXJhUG9zaXRpb24pJiZ2b2lkIDAhPT1lP2U6bmV3IEg1dChyLngsci55LGwpLGQ9bnVsbCE9PShuPXRoaXMuaW5pdENhbWVyYUxvb2tBdCkmJnZvaWQgMCE9PW4/bjpyO3RoaXMuc2V0Q2FtZXJhVmlld3BvaW50KGgsMyp1LGQpfV9jcmVhdGVNZXNoKHQsZSl7Y29uc3Qgbj10LnZlcnRpY2VzLGk9dC5mYWNlcyxyPXQuY29sb3JzLG89dGhpcy5fYXBwbHlEZWZhdWx0cyhlLHttYXRlcmlhbDp7Y2xzOiJNZXNoU3RhbmRhcmRNYXRlcmlhbCIsY29sb3I6IiNhMGEwYTAiLHJvdWdobmVzczoxLG1ldGFsbmVzczowfX0pLGE9bmV3IE40dCxzPW5ldyBGbG9hdDMyQXJyYXkobi5mbGF0KCkpO2Euc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGg0dChzLDMpKTtjb25zdCBsPW5ldyBVaW50MTZBcnJheShpLmZsYXQoKSk7aWYociYmci5sZW5ndGgpe2NvbnN0IHQ9ci5mbGF0KCk7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXT10W2VdLzI1NTthLnNldEF0dHJpYnV0ZSgiY29sb3IiLG5ldyBoNHQobmV3IEZsb2F0MzJBcnJheSh0KSwzKSksby5tYXRlcmlhbD1vLm1hdGVyaWFsfHx7fSxvLm1hdGVyaWFsLnZlcnRleENvbG9ycz0hMH1hLmNlbnRlcigpLGEuY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCksYS5zZXRJbmRleChuZXcgaDR0KGwsMSkpLGEuY29tcHV0ZVZlcnRleE5vcm1hbHMoKTtsZXQgYz1uZXcgbXJlW28ubWF0ZXJpYWwuY2xzXShvLm1hdGVyaWFsKSx1PW5ldyBLNHQoYSxjKTt1LmNhc3RTaGFkb3c9ITAsdS5yZWNlaXZlU2hhZG93PSEwLHRoaXMuX3NjZW5lLmFkZCh1KSx0aGlzLl9sYXN0TWVzaD11fV9jcmVhdGVMaWdodHModCxlKXtmb3IobGV0IG49MDtuPGUubGlnaHRzLmxlbmd0aDtuKyspe2NvbnN0IGk9ZS5saWdodHNbbl07bGV0IHI9bmV3IG1yZVtpLmNsc10oaS5jb2xvcixpLmludGVuc2l0eSk7aS5wb3NpdGlvbiYmci5wb3NpdGlvbi5zZXQoaS5wb3NpdGlvblswXSxpLnBvc2l0aW9uWzFdLGkucG9zaXRpb25bMl0pLHQuYWRkKHIpfX19bGV0IEtyZT1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuc2VsZWN0ZWRWaWV3PSJhbGwiLHRoaXMuYWN0aXZlPSExLHRoaXMuX2NvbG9yU2NhbGVGdW5jdGlvbj1fTyx0aGlzLl9zdGVwcz1bXSx0aGlzLl9tZXNoVmlld2VyQXR0YWNoZWQ9ITEsdGhpcy5fY2FtZXJhUG9zaXRpb25Jbml0aWFsaXplZD0hMSx0aGlzLl9pc01lc2hMb2FkaW5nPSExfWdldCBfcnVuQ29sb3IoKXtyZXR1cm4gdGhpcy5fY29sb3JTY2FsZUZ1bmN0aW9uKHRoaXMucnVuKX1jb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5fZGF0YVByb3ZpZGVyPW5ldyAkMHQodGhpcy5yZXF1ZXN0TWFuYWdlcik7Y29uc3QgdD1uZXcgJHJlKHRoaXMuX3J1bkNvbG9yKTt0LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZVVwZGF0ZVNjZW5lIix0aGlzLl91cGRhdGVDYW52YXNTaXplLmJpbmQodGhpcykpLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2FtZXJhUG9zaXRpb25DaGFuZ2UiLHRoaXMuX29uQ2FtZXJhUG9zaXRpb25DaGFuZ2UuYmluZCh0aGlzKSksdGhpcy5fbWVzaFZpZXdlcj10fXJlbG9hZCgpe3RoaXMuYWN0aXZlJiZ0aGlzLl9kYXRhUHJvdmlkZXImJih0aGlzLl9pc01lc2hMb2FkaW5nPSEwLHRoaXMuX2RhdGFQcm92aWRlci5yZWxvYWQodGhpcy5ydW4sdGhpcy50YWcsdGhpcy5zYW1wbGUpLnRoZW4oKHQ9Pnt0JiYodGhpcy5fc3RlcHM9dCx0aGlzLl9zdGVwSW5kZXg9dC5sZW5ndGgtMSl9KSkuY2F0Y2goKHQ9PntpZighdHx8IXQuY29kZXx8dC5jb2RlIT1xMHQuQ0FOQ0VMTEVEKXRocm93IHQ9dHx8IlJlc3BvbnNlIHByb2Nlc3NpbmcgZmFpbGVkLiIsbmV3IEVycm9yKHQpfSkpKX1fdXBkYXRlU2NlbmUoKXtjb25zdCB0PXRoaXMuX2N1cnJlbnRTdGVwO3QmJnQubWVzaCYmKHRoaXMuX21lc2hWaWV3ZXIudXBkYXRlU2NlbmUodCx0aGlzKSx0aGlzLl9jYW1lcmFQb3NpdGlvbkluaXRpYWxpemVkfHwodGhpcy5fbWVzaFZpZXdlci5yZXNldFZpZXcoKSx0aGlzLl9jYW1lcmFQb3NpdGlvbkluaXRpYWxpemVkPSEwKSx0aGlzLl9tZXNoVmlld2VyQXR0YWNoZWR8fCh0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQodGhpcy5fbWVzaFZpZXdlci5nZXRSZW5kZXJlcigpLmRvbUVsZW1lbnQpLHRoaXMuX21lc2hWaWV3ZXJBdHRhY2hlZD0hMCkpfV9kZWJvdW5jZWRGZXRjaE1lc2goKXt0aGlzLmRlYm91bmNlKCJmZXRjaE1lc2giLCgoKT0+dGhpcy5fbWF5YmVGZXRjaE1lc2goKSksMTAwKX1fbWF5YmVGZXRjaE1lc2goKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0IHQ9dGhpcy5fY3VycmVudFN0ZXA7aWYodCYmIXQubWVzaCYmIXQubWVzaEZldGNoaW5nKXt0Lm1lc2hGZXRjaGluZz0hMCx0aGlzLl9pc01lc2hMb2FkaW5nPSEwO3RyeXtjb25zdCBlPXlpZWxkIHRoaXMuX2RhdGFQcm92aWRlci5mZXRjaERhdGEodCx0aGlzLnJ1bix0aGlzLnRhZyx0aGlzLnNhbXBsZSk7dC5tZXNoPWVbMF0sdGhpcy5ub3RpZnlQYXRoKCJfY3VycmVudFN0ZXAubWVzaCIpfWNhdGNoKHQpe2lmKCF0fHwhdC5jb2RlfHx0LmNvZGUhPXEwdC5DQU5DRUxMRUQpdGhyb3cgdD10fHwiUmVzcG9uc2UgcHJvY2Vzc2luZyBmYWlsZWQuIixuZXcgRXJyb3IodCl9ZmluYWxseXt0aGlzLl9pc01lc2hMb2FkaW5nPSExLHQubWVzaEZldGNoaW5nPSExfX19KSl9X29uQ2FtZXJhUG9zaXRpb25DaGFuZ2UoKXtpZighdGhpcy5fbWVzaFZpZXdlci5pc1JlYWR5KCkpcmV0dXJuO2NvbnN0IHQ9bmV3IEN1c3RvbUV2ZW50KCJjYW1lcmEtcG9zaXRpb24tY2hhbmdlIix7ZGV0YWlsOnRoaXMuX21lc2hWaWV3ZXIuZ2V0Q2FtZXJhUG9zaXRpb24oKX0pO3RoaXMuZGlzcGF0Y2hFdmVudCh0KX1zZXRDYW1lcmFWaWV3cG9pbnQodCxlLG4pe3RoaXMuX21lc2hWaWV3ZXIuc2V0Q2FtZXJhVmlld3BvaW50KHQsZSxuKX1fdXBkYXRlQ2FudmFzU2l6ZSgpe2NvbnN0IHQ9dGhpcy5vZmZzZXRXaWR0aCxlPXQsbj10aGlzLiQkKCIudGYtbWVzaC1sb2FkZXItaGVhZGVyIikub2Zmc2V0SGVpZ2h0O3RoaXMuX21lc2hWaWV3ZXIuc2V0Q2FudmFzU2l6ZSh7d2lkdGg6dCxoZWlnaHQ6ZS1ufSl9cmVkcmF3KCl7dGhpcy5fdXBkYXRlQ2FudmFzU2l6ZSgpLHRoaXMuaXNDb25uZWN0ZWQmJnRoaXMuX21lc2hWaWV3ZXIuZHJhdygpfV9oYXNBdExlYXN0T25lU3RlcCh0KXtyZXR1cm4hIXQmJnQubGVuZ3RoPjB9X2hhc011bHRpcGxlU3RlcHModCl7cmV0dXJuISF0JiZ0Lmxlbmd0aD4xfWdldCBfY3VycmVudFN0ZXAoKXtyZXR1cm4gdGhpcy5fc3RlcHNbdGhpcy5fc3RlcEluZGV4XXx8bnVsbH1nZXQgX3N0ZXBWYWx1ZSgpe2NvbnN0IHQ9dGhpcy5fY3VycmVudFN0ZXA7cmV0dXJuIHQ/dC5zdGVwOjB9Z2V0IF9jdXJyZW50V2FsbFRpbWUoKXtjb25zdCB0PXRoaXMuX2N1cnJlbnRTdGVwO3JldHVybiB0P1NPKHQud2FsbF90aW1lKToiIn1fZ2V0TWF4U3RlcEluZGV4KHQpe3JldHVybiB0Lmxlbmd0aC0xfV9nZXRTYW1wbGVUZXh0KHQpe3JldHVybiBTdHJpbmcodCsxKX1faGFzTXVsdGlwbGVTYW1wbGVzKHQpe3JldHVybiB0PjF9X3VwZGF0ZVZpZXcoKXt0aGlzLl9tZXNoVmlld2VyJiYiYWxsIj09dGhpcy5zZWxlY3RlZFZpZXcmJnRoaXMuX21lc2hWaWV3ZXIucmVzZXRWaWV3KCl9dG9Mb2NhbGVTdHJpbmdfKHQpe3JldHVybiB0LnRvTG9jYWxlU3RyaW5nKCl9fTtLcmUudGVtcGxhdGU9eGVgCiAgICA8dGYtY2FyZC1oZWFkaW5nIGNvbG9yPSJbW19ydW5Db2xvcl1dIiBjbGFzcz0idGYtbWVzaC1sb2FkZXItaGVhZGVyIj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19oYXNNdWx0aXBsZVNhbXBsZXMob2ZTYW1wbGVzKV1dIj4KICAgICAgICA8ZGl2PnNhbXBsZTogW1tfZ2V0U2FtcGxlVGV4dChzYW1wbGUpXV0gb2YgW1tvZlNhbXBsZXNdXTwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc0F0TGVhc3RPbmVTdGVwKF9zdGVwcyldXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1sYWJlbCI+CiAgICAgICAgICAgIHN0ZXAKICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkIgogICAgICAgICAgICAgID5bW3RvTG9jYWxlU3RyaW5nXyhfc3RlcFZhbHVlKV1dPC9zcGFuCiAgICAgICAgICAgID4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1sYWJlbCBoZWFkaW5nLXJpZ2h0Ij4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19jdXJyZW50V2FsbFRpbWVdXSI+CiAgICAgICAgICAgICAgW1tfY3VycmVudFdhbGxUaW1lXV0KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwgcmlnaHQiPgogICAgICAgICAgICA8cGFwZXItc3Bpbm5lci1saXRlIGFjdGl2ZSBoaWRkZW4kPSJbWyFfaXNNZXNoTG9hZGluZ11dIj4KICAgICAgICAgICAgPC9wYXBlci1zcGlubmVyLWxpdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19oYXNNdWx0aXBsZVN0ZXBzKF9zdGVwcyldXSI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxwYXBlci1zbGlkZXIKICAgICAgICAgICAgaWQ9InN0ZXBzIgogICAgICAgICAgICBpbW1lZGlhdGUtdmFsdWU9Int7X3N0ZXBJbmRleH19IgogICAgICAgICAgICBtYXg9IltbX2dldE1heFN0ZXBJbmRleChfc3RlcHMpXV0iCiAgICAgICAgICAgIG1heC1tYXJrZXJzPSJbW19nZXRNYXhTdGVwSW5kZXgoX3N0ZXBzKV1dIgogICAgICAgICAgICBzbmFwcwogICAgICAgICAgICBzdGVwPSIxIgogICAgICAgICAgICB2YWx1ZT0ie3tfc3RlcEluZGV4fX0iCiAgICAgICAgICA+PC9wYXBlci1zbGlkZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L3RmLWNhcmQtaGVhZGluZz4KICAgIDxzdHlsZT4KICAgICAgcGFwZXItc2xpZGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXJnaW4tbGVmdDogMXB4OwogICAgICAgIG1hcmdpbi1yaWdodDogMXB4OwogICAgICB9CiAgICAgIC50Zi1tZXNoLWxvYWRlci1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTA1cHg7CiAgICAgIH0KICAgICAgW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxLcmUucHJvdG90eXBlLCJydW4iLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sS3JlLnByb3RvdHlwZSwidGFnIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLEtyZS5wcm90b3R5cGUsInNhbXBsZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxLcmUucHJvdG90eXBlLCJvZlNhbXBsZXMiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sS3JlLnByb3RvdHlwZSwic2VsZWN0ZWRWaWV3Iix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sS3JlLnByb3RvdHlwZSwiYWN0aXZlIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0sS3JlLnByb3RvdHlwZSwicmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsJHJlKV0sS3JlLnByb3RvdHlwZSwiX21lc2hWaWV3ZXIiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsJDB0KV0sS3JlLnByb3RvdHlwZSwiX2RhdGFQcm92aWRlciIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxLcmUucHJvdG90eXBlLCJfY29sb3JTY2FsZUZ1bmN0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXksbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sS3JlLnByb3RvdHlwZSwiX3N0ZXBzIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxLcmUucHJvdG90eXBlLCJfc3RlcEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sS3JlLnByb3RvdHlwZSwiX21lc2hWaWV3ZXJBdHRhY2hlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLEtyZS5wcm90b3R5cGUsIl9jYW1lcmFQb3NpdGlvbkluaXRpYWxpemVkIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sS3JlLnByb3RvdHlwZSwiX2lzTWVzaExvYWRpbmciLHZvaWQgMCksdChbcygicnVuIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sS3JlLnByb3RvdHlwZSwiX3J1bkNvbG9yIixudWxsKSx0KFthKCJydW4iLCJ0YWciLCJhY3RpdmUiLCJfZGF0YVByb3ZpZGVyIiwiX21lc2hWaWV3ZXIiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLEtyZS5wcm90b3R5cGUsInJlbG9hZCIsbnVsbCksdChbYSgiX2N1cnJlbnRTdGVwLioiLCJfbWVzaFZpZXdlciIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sS3JlLnByb3RvdHlwZSwiX3VwZGF0ZVNjZW5lIixudWxsKSx0KFthKCJfY3VycmVudFN0ZXAiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLEtyZS5wcm90b3R5cGUsIl9kZWJvdW5jZWRGZXRjaE1lc2giLG51bGwpLHQoW3MoIl9zdGVwcyIsIl9zdGVwSW5kZXgiKSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxLcmUucHJvdG90eXBlLCJfY3VycmVudFN0ZXAiLG51bGwpLHQoW3MoIl9jdXJyZW50U3RlcCIpLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEtyZS5wcm90b3R5cGUsIl9zdGVwVmFsdWUiLG51bGwpLHQoW3MoIl9jdXJyZW50U3RlcCIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEtyZS5wcm90b3R5cGUsIl9jdXJyZW50V2FsbFRpbWUiLG51bGwpLHQoW2EoInNlbGVjdGVkVmlldyIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sS3JlLnByb3RvdHlwZSwiX3VwZGF0ZVZpZXciLG51bGwpLEtyZT10KFtpKCJ0Zi1tZXNoLWxvYWRlciIpXSxLcmUpO2xldCBacmU9Y2xhc3MgZXh0ZW5kcyB3ZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5yZWxvYWRPblJlYWR5PSEwLHRoaXMuX3RhZ0ZpbHRlcj0iLioiLHRoaXMuX3NlbGVjdGVkVmlldz0iYWxsIix0aGlzLl9yZXF1ZXN0TWFuYWdlcj1uZXcgYnIsd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKCgpPT57dGhpcy5faGFuZGxlV2luZG93UmVzaXplKCl9KSwhMSksdGhpcy5yZWxvYWRPblJlYWR5JiZ0aGlzLnJlbG9hZCgpfV9nZXRBbGxDaGlsZHJlbigpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1tZXNoLWxvYWRlciIpKX1fb25DYW1lcmFQb3NpdGlvbkNoYW5nZWQodCl7InNoYXJlIj09dGhpcy5fc2VsZWN0ZWRWaWV3JiZ0aGlzLl9nZXRBbGxDaGlsZHJlbigpLmZvckVhY2goKGU9Pnt0LnRhcmdldCE9ZSYmZS5zZXRDYW1lcmFWaWV3cG9pbnQodC5kZXRhaWwucG9zaXRpb24sdC5kZXRhaWwuZmFyLHQuZGV0YWlsLnRhcmdldCl9KSl9X3Nob3VsZE9wZW4odCl7cmV0dXJuIHQ8PTJ9cmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbih0aGlzLl9yZWxvYWRNZXNoZXMuYmluZCh0aGlzKSl9X2hhbmRsZVdpbmRvd1Jlc2l6ZSgpe3RoaXMuX2dldEFsbENoaWxkcmVuKCkuZm9yRWFjaCgodD0+e3QucmVkcmF3KCl9KSl9X2ZldGNoVGFncygpe2NvbnN0IHQ9RXIoKS5wbHVnaW5Sb3V0ZSgibWVzaCIsIi90YWdzIik7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodCkudGhlbigodD0+e2lmKENlLmV4cG9ydHMuaXNFcXVhbCh0LHRoaXMuX3J1blRvVGFnSW5mbykpcmV0dXJuO2NvbnN0IGU9ZnIoQ2UuZXhwb3J0cy5tYXBWYWx1ZXModCwodD0+T2JqZWN0LmtleXModCkpKSk7dGhpcy5fZGF0YU5vdEZvdW5kPTA9PT1lLmxlbmd0aCx0aGlzLl9ydW5Ub1RhZ0luZm89dH0pKX1fcmVsb2FkTWVzaGVzKCl7dGhpcy5fZ2V0QWxsQ2hpbGRyZW4oKS5mb3JFYWNoKCh0PT57dC5yZWxvYWQoKX0pKX1nZXQgX2NhdGVnb3JpZXMoKXt2YXIgdD10aGlzLl9ydW5Ub1RhZ0luZm8sZT10aGlzLl9zZWxlY3RlZFJ1bnMsbj10aGlzLl90YWdGaWx0ZXI7ZnVuY3Rpb24gaShlKXtjb25zdCBuPXRbZS5ydW5dW2UudGFnXS5zYW1wbGVzO3JldHVybiBDZS5leHBvcnRzLnJhbmdlKG4pLm1hcCgodD0+T2JqZWN0LmFzc2lnbih7fSxlLHtzYW1wbGU6dCxvZlNhbXBsZXM6bn0pKSl9cmV0dXJuIElyKENlLmV4cG9ydHMubWFwVmFsdWVzKHQsKHQ9Pk9iamVjdC5rZXlzKHQpKSksZSxuKS5tYXAoKHQ9Pk9iamVjdC5hc3NpZ24oe30sdCx7aXRlbXM6W10uY29uY2F0LmFwcGx5KFtdLHQuaXRlbXMubWFwKGkpKX0pKSl9fTtacmUudGVtcGxhdGU9eGVgCiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBzbG90PSJzaWRlYmFyIiBjbGFzcz0iYWxsLWNvbnRyb2xzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24gdmlldy1jb250cm9sIj4KICAgICAgICAgICAgPGgzIGNsYXNzPSJ0aXRsZSI+UG9pbnQgb2YgdmlldzwvaDM+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwCiAgICAgICAgICAgICAgICBpZD0idmlldy1yYWRpby1ncm91cCIKICAgICAgICAgICAgICAgIHNlbGVjdGVkPSJ7e19zZWxlY3RlZFZpZXd9fSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIGlkPSJhbGwtcmFkaW8tYnV0dG9uIiBuYW1lPSJhbGwiPgogICAgICAgICAgICAgICAgICBEaXNwbGF5IGFsbCBwb2ludHMKICAgICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICBmb3I9ImFsbC1yYWRpby1idXR0b24iCiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICBab29tIGFuZCBjZW50ZXIgY2FtZXJhIHRvIGRpc3BsYXkgYWxsIHBvaW50cyBhdCBvbmNlLiBOb3RlLAogICAgICAgICAgICAgICAgICB0aGF0IHNvbWUgcG9pbnRzIGNvdWxkIGJlIHRvbyBmYXIgKGkuZS4gdG9vIHNtYWxsKSB0byBiZQogICAgICAgICAgICAgICAgICB2aXNpYmxlLgogICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBpZD0idXNlci1yYWRpby1idXR0b24iIG5hbWU9InVzZXIiPgogICAgICAgICAgICAgICAgICBDdXJyZW50IHZpZXcKICAgICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICBmb3I9InVzZXItcmFkaW8tYnV0dG9uIgogICAgICAgICAgICAgICAgICBwb3NpdGlvbj0icmlnaHQiCiAgICAgICAgICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgS2VlcCBjdXJyZW50IGNhbWVyYSBwb3NpdGlvbiBhbmQgem9vbSBsZXZlbC4KICAgICAgICAgICAgICAgIDwvcGFwZXItdG9vbHRpcD4KICAgICAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9InNoYXJlLXJhZGlvLWJ1dHRvbiIgbmFtZT0ic2hhcmUiPgogICAgICAgICAgICAgICAgICBTaGFyZSB2aWV3cG9pbnQKICAgICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICBmb3I9InNoYXJlLXJhZGlvLWJ1dHRvbiIKICAgICAgICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIFNoYXJlIHZpZXdwb2ludCBhbW9uZyBhbGwgY2FtZXJhcy4KICAgICAgICAgICAgICAgIDwvcGFwZXItdG9vbHRpcD4KICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWdyb3VwPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiBydW5zLXNlbGVjdG9yIj4KICAgICAgICAgIDx0Zi1ydW5zLXNlbGVjdG9yIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319Ij4KICAgICAgICAgIDwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBwb2ludCBjbG91ZCBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgWW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSBwb2ludCBjbG91ZCBkYXRhIHRvIHlvdXIgZXZlbnQgZmlsZXMuCiAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICA8bGk+VGVuc29yQm9hcmQgY2Fu4oCZdCBmaW5kIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdeKAmXJlIG5ldyB0byB1c2luZyBUZW5zb3JCb2FyZCwgYW5kIHdhbnQgdG8gZmluZCBvdXQgaG93IHRvCiAgICAgICAgICAgICAgYWRkIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCIKICAgICAgICAgICAgICAgID5SRUFETUU8L2EKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgYW5kIHBlcmhhcHMgdGhlCiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL2dldF9zdGFydGVkL3N1bW1hcmllc19hbmRfdGVuc29yYm9hcmQiCiAgICAgICAgICAgICAgICA+VGVuc29yQm9hcmQgdHV0b3JpYWw8L2EKICAgICAgICAgICAgICA+LgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQjbXktdGVuc29yYm9hcmQtaXNudC1zaG93aW5nLWFueS1kYXRhLXdoYXRzLXdyb25nIgogICAgICAgICAgICAgICAgPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2EKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRmLXRhZy1maWx0ZXJlciB0YWctZmlsdGVyPSJ7e190YWdGaWx0ZXJ9fSI+PC90Zi10YWctZmlsdGVyZXI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldwogICAgICAgICAgICAgIGNhdGVnb3J5PSJbW2NhdGVnb3J5XV0iCiAgICAgICAgICAgICAgaW5pdGlhbC1vcGVuZWQ9IltbX3Nob3VsZE9wZW4oaW5kZXgpXV0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtbWVzaC1sb2FkZXIKICAgICAgICAgICAgICAgICAgYWN0aXZlPSJbW2FjdGl2ZV1dIgogICAgICAgICAgICAgICAgICBzZWxlY3RlZC12aWV3PSJbW19zZWxlY3RlZFZpZXddXSIKICAgICAgICAgICAgICAgICAgcnVuPSJbW2l0ZW0ucnVuXV0iCiAgICAgICAgICAgICAgICAgIHRhZz0iW1tpdGVtLnRhZ11dIgogICAgICAgICAgICAgICAgICBzYW1wbGU9IltbaXRlbS5zYW1wbGVdXSIKICAgICAgICAgICAgICAgICAgb2Ytc2FtcGxlcz0iW1tpdGVtLm9mU2FtcGxlc11dIgogICAgICAgICAgICAgICAgICByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Zi1tZXNoLWxvYWRlci1jb250YWluZXIiCiAgICAgICAgICAgICAgICAgIG9uLWNhbWVyYS1wb3NpdGlvbi1jaGFuZ2U9Il9vbkNhbWVyYVBvc2l0aW9uQ2hhbmdlZCIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDwvdGYtbWVzaC1sb2FkZXI+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC90Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldz4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICA8L3RmLWRhc2hib2FyZC1sYXlvdXQ+CgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgICAgcGFwZXItcmFkaW8tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiA1cHg7CiAgICAgIH0KICAgICAgLnNpZGViYXItc2VjdGlvbiBoMyB7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgfQoKICAgICAgLnJ1bnMtc2VsZWN0b3IgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQoKICAgICAgdGYtcnVucy1zZWxlY3RvciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQoKICAgICAgLnZpZXctY29udHJvbCB7CiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLnZpZXctY29udHJvbCBoMy50aXRsZSB7CiAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5hbGxjb250cm9scyAudmlldy1jb250cm9sIHBhcGVyLXJhZGlvLWdyb3VwIHsKICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgIH0KICAgICAgLyogTGF5b3V0IG11c3QgYmUgaG9yaXpvbnRhbCwgaS5lLiBpdGVtcyBhcnJhbmdlZCBpbiBhIHJvdy4gSWYgaXRlbXMgY2Fubm90IGZpdCBpbiBhIHJvdywKICAgICAgICogdGhleSBzaG91bGQgYmUgbW92ZWQgdG8gbmV4dCBsaW5lLiBBbGwgaXRlbXMgbXVzdCBiZSBzcXVhcmUgYXQgYWxsIHRpbWVzLiBNaW5pbXVtIHNpemUgb2YKICAgICAgICogdGhlIGl0ZW0gaXMgNDgwcHguIFRoaXMgbWVhbnMgdGhhdCBtYXhpbXVtIHNpemUgb2YgdGhlIGl0ZW0gbXVzdCBiZSA0ODBweCArIDQ3OXB4ID0gOTU5cHguCiAgICAgICAqICovCiAgICAgIC5ob3Jpem9udGFsIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIHRmLW1lc2gtbG9hZGVyIHsKICAgICAgICB3aWR0aDogNDgwcHg7CiAgICAgICAgZmxleC1iYXNpczogNDgwcHg7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxacmUucHJvdG90eXBlLCJyZWxvYWRPblJlYWR5Iix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxacmUucHJvdG90eXBlLCJfc2VsZWN0ZWRSdW5zIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFpyZS5wcm90b3R5cGUsIl9ydW5Ub1RhZ0luZm8iLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxacmUucHJvdG90eXBlLCJfZGF0YU5vdEZvdW5kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFpyZS5wcm90b3R5cGUsIl90YWdGaWx0ZXIiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFpyZS5wcm90b3R5cGUsIl9zZWxlY3RlZFZpZXciLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWnJlLnByb3RvdHlwZSwiX3JlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW3MoIl9ydW5Ub1RhZ0luZm8iLCJfc2VsZWN0ZWRSdW5zIiwiX3RhZ0ZpbHRlciIpLGUoImRlc2lnbjp0eXBlIixBcnJheSksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sWnJlLnByb3RvdHlwZSwiX2NhdGVnb3JpZXMiLG51bGwpLFpyZT10KFtpKCJtZXNoLWRhc2hib2FyZCIpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLFpyZSk7bGV0IEpyZT1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2luc3RhbGxDb21tYW5kPSJwaXAgaW5zdGFsbCAtVSB0ZW5zb3Jib2FyZC1wbHVnaW4tcHJvZmlsZSJ9X2NvcHlJbnN0YWxsQ29tbWFuZCgpe3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7Y29uc3QgdD0oKT0+bih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RoaXMuJC5jb21tYW5kVGV4dGFyZWEuc2VsZWN0KCk7dHJ5e3lpZWxkIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRoaXMuX2luc3RhbGxDb21tYW5kKX1jYXRjaCh0KXtpZighZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKSlyZXR1cm4gUHJvbWlzZS5yZWplY3QoKX19KSksZT10aGlzLiQuY29waWVkTWVzc2FnZTt0cnl7eWllbGQgdCgpLGUuaW5uZXJUZXh0PSJDb3BpZWQuIn1jYXRjaCh0KXtlLmlubmVyVGV4dD0iRmFpbGVkIHRvIGNvcHkgdG8gY2xpcGJvYXJkLiJ9fSkpfV9yZW1vdmVDb3BpZWRNZXNzYWdlKCl7dGhpcy4kLmNvcGllZE1lc3NhZ2UuaW5uZXJUZXh0PSIifX07SnJlLnRlbXBsYXRlPXhlYAogICAgPGRpdiBjbGFzcz0ibWVzc2FnZSI+CiAgICAgIDxoMz5UaGUgcHJvZmlsZSBwbHVnaW4gaGFzIG1vdmVkLjwvaDM+CiAgICAgIDxwPgogICAgICAgIFBsZWFzZSBpbnN0YWxsIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGUgcHJvZmlsZSBwbHVnaW4gZnJvbSBQeVBJIGJ5CiAgICAgICAgcnVubmluZyB0aGUgZm9sbG93aW5nIGNvbW1hbmQgZnJvbSB0aGUgbWFjaGluZSBydW5uaW5nIFRlbnNvckJvYXJkOgogICAgICA8L3A+CiAgICAgIDx0ZXh0YXJlYQogICAgICAgIGlkPSJjb21tYW5kVGV4dGFyZWEiCiAgICAgICAgcmVhZG9ubHk9IiIKICAgICAgICByb3dzPSIxIgogICAgICAgIG9uLWJsdXI9Il9yZW1vdmVDb3BpZWRNZXNzYWdlIgogICAgICA+CltbX2luc3RhbGxDb21tYW5kXV08L3RleHRhcmVhCiAgICAgID4KICAgICAgPGRpdiBpZD0iY29weUNvbnRhaW5lciI+CiAgICAgICAgPHNwYW4gaWQ9ImNvcGllZE1lc3NhZ2UiPjwvc3Bhbj4KICAgICAgICA8cGFwZXItYnV0dG9uIHJhaXNlZD0iIiBvbi10YXA9Il9jb3B5SW5zdGFsbENvbW1hbmQiCiAgICAgICAgICA+Q29weSB0byBjbGlwYm9hcmQ8L3BhcGVyLWJ1dHRvbgogICAgICAgID4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICAubWVzc2FnZSB7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgIH0KICAgICAgI2NvbW1hbmRUZXh0YXJlYSB7CiAgICAgICAgbWFyZ2luLXRvcDogMWV4OwogICAgICAgIHBhZGRpbmc6IDFleCAxZW07CiAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQogICAgICAjY29weUNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQogICAgICAjY29waWVkTWVzc2FnZSB7CiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyOwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgcGFkZGluZy1yaWdodDogMWVtOwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sSnJlLnByb3RvdHlwZSwiX2luc3RhbGxDb21tYW5kIix2b2lkIDApLEpyZT10KFtpKCJ0Zi1wcm9maWxlLXJlZGlyZWN0LWRhc2hib2FyZCIpXSxKcmUpO2xldCBRcmU9Y2xhc3MgZXh0ZW5kcyB3ZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZXhwYW5kZWQ9ITEsdGhpcy5fcnVuVG9QckN1cnZlRW50cnk9e30sdGhpcy5fcHJldmlvdXNSdW5Ub1ByQ3VydmVFbnRyeT17fSx0aGlzLl9jb2xvclNjYWxlRnVuY3Rpb249e3NjYWxlOl9PfSx0aGlzLl9jYW5jZWxsZXI9bmV3IHhPLHRoaXMuX3hDb21wb25lbnRzQ3JlYXRpb25NZXRob2Q9KCk9Pntjb25zdCB0PW5ldyBOTy5TY2FsZXMuTGluZWFyO3JldHVybntzY2FsZTp0LGF4aXM6bmV3IE5PLkF4ZXMuTnVtZXJpYyh0LCJib3R0b20iKSxhY2Nlc3Nvcjp0PT50LnJlY2FsbH19LHRoaXMuX3lWYWx1ZUFjY2Vzc29yPXQ9PnQucHJlY2lzaW9uLHRoaXMuX3Rvb2x0aXBDb2x1bW5zPSgoKT0+e2NvbnN0IHQ9U0N0KDQpLGU9ZT0+aXNOYU4oZSk/Ik5hTiI6dChlKTtyZXR1cm5be3RpdGxlOiJSdW4iLGV2YWx1YXRlOnQ9PnQuZGF0YXNldC5tZXRhZGF0YSgpLm5hbWV9LHt0aXRsZToiVGhyZXNob2xkIixldmFsdWF0ZTp0PT5lKHQuZGF0dW0udGhyZXNob2xkcyl9LHt0aXRsZToiUHJlY2lzaW9uIixldmFsdWF0ZTp0PT5lKHQuZGF0dW0ucHJlY2lzaW9uKX0se3RpdGxlOiJSZWNhbGwiLGV2YWx1YXRlOnQ9PmUodC5kYXR1bS5yZWNhbGwpfSx7dGl0bGU6IlRQIixldmFsdWF0ZTp0PT50LmRhdHVtLnRydWVfcG9zaXRpdmVzfSx7dGl0bGU6IkZQIixldmFsdWF0ZTp0PT50LmRhdHVtLmZhbHNlX3Bvc2l0aXZlc30se3RpdGxlOiJUTiIsZXZhbHVhdGU6dD0+dC5kYXR1bS50cnVlX25lZ2F0aXZlc30se3RpdGxlOiJGTiIsZXZhbHVhdGU6dD0+dC5kYXR1bS5mYWxzZV9uZWdhdGl2ZXN9XX0pKCksdGhpcy5fc2VyaWVzRGF0YUZpZWxkcz1bInRocmVzaG9sZHMiLCJwcmVjaXNpb24iLCJyZWNhbGwiLCJ0cnVlX3Bvc2l0aXZlcyIsImZhbHNlX3Bvc2l0aXZlcyIsInRydWVfbmVnYXRpdmVzIiwiZmFsc2VfbmVnYXRpdmVzIl0sdGhpcy5fZGVmYXVsdFhSYW5nZT1bLS4wNSwxLjA1XSx0aGlzLl9kZWZhdWx0WVJhbmdlPVstLjA1LDEuMDVdLHRoaXMuX3JlcXVlc3REYXRhPSh0LGUsbik9Pntjb25zdCBpPUVyKCkucGx1Z2luUm91dGUoInByX2N1cnZlcyIsIi9wcl9jdXJ2ZXMiKTtQcm9taXNlLmFsbCh0Lm1hcCgodD0+e2NvbnN0IG49UE8oaSx7dGFnOnRoaXMudGFnLHJ1bjp0fSk7cmV0dXJuIHRoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdChuKS50aGVuKChuPT57ZSh7aXRlbTp0LGRhdGE6bn0pfSkpfSkpKS5maW5hbGx5KCgoKT0+e24oKX0pKX0sdGhpcy5fc21vb3RoaW5nRW5hYmxlZD0hMX1fY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbigpe3JldHVybih0LGUsbik9Pnt0aGlzLnNldCgiX3J1blRvRGF0YU92ZXJUaW1lIixPYmplY3QuYXNzaWduKHt9LHRoaXMuX3J1blRvRGF0YU92ZXJUaW1lLG4pKX19X2NvbXB1dGVSdW5Db2xvcih0KXtyZXR1cm4gX08odCl9Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuX2F0dGFjaGVkPSEwLHRoaXMucmVsb2FkKCl9X2dldENoYXJ0RGF0YUxvYWRlcigpe3JldHVybiB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigidGYtbGluZS1jaGFydC1kYXRhLWxvYWRlciIpfXJlbG9hZCgpe3RoaXMuX2F0dGFjaGVkJiYoMCE9PXRoaXMucnVucy5sZW5ndGg/dGhpcy5fZ2V0Q2hhcnREYXRhTG9hZGVyKCkucmVsb2FkKCk6dGhpcy5zZXQoIl9ydW5Ub0RhdGFPdmVyVGltZSIse30pKX1fc2V0Q2hhcnREYXRhKCl7dmFyIHQ9dGhpcy5fcnVuVG9QckN1cnZlRW50cnksZT10aGlzLl9wcmV2aW91c1J1blRvUHJDdXJ2ZUVudHJ5LG49dGhpcy5fc2V0T2ZSZWxldmFudFJ1bnM7Q2UuZXhwb3J0cy5mb3JPd24odCwoKGkscik9Pntjb25zdCBvPWVbcl07byYmdFtyXS5zdGVwPT09by5zdGVwfHwobltyXT90aGlzLl91cGRhdGVTZXJpZXNEYXRhRm9yUnVuKHIsaSk6dGhpcy5fY2xlYXJTZXJpZXNEYXRhKHIpKX0pKX1fdXBkYXRlU2VyaWVzRGF0YUZvclJ1bih0LGUpe2NvbnN0IG49Q2UuZXhwb3J0cy5yZWR1Y2UodGhpcy5fc2VyaWVzRGF0YUZpZWxkcywoKHQsbik9Pih0W25dPWVbbl0uc2xpY2UoKS5yZXZlcnNlKCksdCkpLHt9KSxpPW5ldyBBcnJheShuW3RoaXMuX3Nlcmllc0RhdGFGaWVsZHNbMF1dLmxlbmd0aCk7Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0KyspaVt0XT1DZS5leHBvcnRzLm1hcFZhbHVlcyhuLChlPT5lW3RdKSk7Y29uc3Qgcj10aGlzLl9nZXRDaGFydERhdGFMb2FkZXIoKTtyLnNldFNlcmllc0RhdGEodCxpKSxyLmNvbW1pdENoYW5nZXMoKX1fY2xlYXJTZXJpZXNEYXRhKHQpe2NvbnN0IGU9dGhpcy5fZ2V0Q2hhcnREYXRhTG9hZGVyKCk7ZS5zZXRTZXJpZXNEYXRhKHQsW10pLGUuY29tbWl0Q2hhbmdlcygpfV91cGRhdGVSdW5Ub1ByQ3VydmVFbnRyeSgpe3ZhciB0PXRoaXMucnVuVG9TdGVwQ2FwO2NvbnN0IGU9e307Q2UuZXhwb3J0cy5mb3JPd24odGhpcy5fcnVuVG9EYXRhT3ZlclRpbWUsKChuLGkpPT57biYmbi5sZW5ndGgmJihlW2ldPXRoaXMuX2NvbXB1dGVFbnRyeUNsb3Nlc3RPckVxdWFsVG9TdGVwQ2FwKHRbaV0sbikpfSkpLHRoaXMuc2V0KCJfcHJldmlvdXNSdW5Ub1ByQ3VydmVFbnRyeSIsdGhpcy5fcnVuVG9QckN1cnZlRW50cnkpLHRoaXMuc2V0KCJfcnVuVG9QckN1cnZlRW50cnkiLGUpfV9ub3RpZnlEYXRhQ2hhbmdlKCl7dGhpcy5vbkRhdGFDaGFuZ2UmJnRoaXMub25EYXRhQ2hhbmdlKHRoaXMuX3J1blRvRGF0YU92ZXJUaW1lKX1fY29tcHV0ZUVudHJ5Q2xvc2VzdE9yRXF1YWxUb1N0ZXBDYXAodCxlKXtjb25zdCBuPU1hdGgubWluKENlLmV4cG9ydHMuc29ydGVkSW5kZXgoZS5tYXAoKHQ9PnQuc3RlcCkpLHQpLGUubGVuZ3RoLTEpO3JldHVybiBlW25dfWdldCBfcnVuc1dpdGhTdGVwQXZhaWxhYmxlKCl7dmFyIHQ9dGhpcy5fcnVuVG9QckN1cnZlRW50cnk7cmV0dXJuIENlLmV4cG9ydHMuZmlsdGVyKHRoaXMucnVucywoZT0+dFtlXSkpLnNvcnQoKX1nZXQgX3NldE9mUmVsZXZhbnRSdW5zKCl7Y29uc3QgdD17fTtyZXR1cm4gQ2UuZXhwb3J0cy5mb3JFYWNoKHRoaXMuX3J1bnNXaXRoU3RlcEF2YWlsYWJsZSwoZT0+e3RbZV09ITB9KSksdH1fY29tcHV0ZUN1cnJlbnRTdGVwRm9yUnVuKHQsZSl7Y29uc3Qgbj10W2VdO3JldHVybiBuP24uc3RlcDpudWxsfV9jb21wdXRlQ3VycmVudFdhbGxUaW1lRm9yUnVuKHQsZSl7Y29uc3Qgbj10W2VdO3JldHVybiBuP25ldyBEYXRlKDFlMypuLndhbGxfdGltZSkudG9TdHJpbmcoKTpudWxsfV90b2dnbGVFeHBhbmRlZCh0KXt0aGlzLnNldCgiX2V4cGFuZGVkIiwhdGhpcy5fZXhwYW5kZWQpLHRoaXMucmVkcmF3KCl9X3Jlc2V0RG9tYWluKCl7dGhpcy5fZ2V0Q2hhcnREYXRhTG9hZGVyKCkucmVzZXREb21haW4oKX1yZWRyYXcoKXt0aGlzLl9nZXRDaGFydERhdGFMb2FkZXIoKS5yZWRyYXcoKX19O1FyZS50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1jYXJkLWhlYWRpbmcKICAgICAgdGFnPSJbW3RhZ11dIgogICAgICBkaXNwbGF5LW5hbWU9IltbdGFnTWV0YWRhdGEuZGlzcGxheU5hbWVdXSIKICAgICAgZGVzY3JpcHRpb249IltbdGFnTWV0YWRhdGEuZGVzY3JpcHRpb25dXSIKICAgID48L3RmLWNhcmQtaGVhZGluZz4KCiAgICA8dGYtbGluZS1jaGFydC1kYXRhLWxvYWRlcgogICAgICB4LWNvbXBvbmVudHMtY3JlYXRpb24tbWV0aG9kPSJbW194Q29tcG9uZW50c0NyZWF0aW9uTWV0aG9kXV0iCiAgICAgIHktdmFsdWUtYWNjZXNzb3I9IltbX3lWYWx1ZUFjY2Vzc29yXV0iCiAgICAgIHRvb2x0aXAtY29sdW1ucz0iW1tfdG9vbHRpcENvbHVtbnNdXSIKICAgICAgY29sb3Itc2NhbGU9IltbX2NvbG9yU2NhbGVGdW5jdGlvbl1dIgogICAgICBkZWZhdWx0LXgtcmFuZ2U9IltbX2RlZmF1bHRYUmFuZ2VdXSIKICAgICAgZGVmYXVsdC15LXJhbmdlPSJbW19kZWZhdWx0WVJhbmdlXV0iCiAgICAgIHNtb290aGluZy1lbmFibGVkPSJbW19zbW9vdGhpbmdFbmFibGVkXV0iCiAgICAgIHJlcXVlc3QtbWFuYWdlcj0iW1tyZXF1ZXN0TWFuYWdlcl1dIgogICAgICBkYXRhLXRvLWxvYWQ9IltbcnVuc11dIgogICAgICBkYXRhLXNlcmllcz0iW1tydW5zXV0iCiAgICAgIGxvYWQta2V5PSJbW3RhZ11dIgogICAgICByZXF1ZXN0LWRhdGE9IltbX3JlcXVlc3REYXRhXV0iCiAgICAgIGxvYWQtZGF0YS1jYWxsYmFjaz0iW1tfY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbigpXV0iCiAgICAgIGFjdGl2ZT0iW1thY3RpdmVdXSIKICAgID48L3RmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXI+CgogICAgPGRpdiBpZD0iYnV0dG9ucy1yb3ciPgogICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICBzZWxlY3RlZCQ9IltbX2V4cGFuZGVkXV0iCiAgICAgICAgaWNvbj0iZnVsbHNjcmVlbiIKICAgICAgICBvbi10YXA9Il90b2dnbGVFeHBhbmRlZCIKICAgICAgPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgIGljb249InNldHRpbmdzLW92ZXJzY2FuIgogICAgICAgIG9uLXRhcD0iX3Jlc2V0RG9tYWluIgogICAgICAgIHRpdGxlPSJSZXNldCBheGVzIHRvIFswLCAxXS4iCiAgICAgID48L3BhcGVyLWljb24tYnV0dG9uPgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0ic3RlcC1sZWdlbmQiPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19ydW5zV2l0aFN0ZXBBdmFpbGFibGVdXSIgYXM9InJ1biI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLXJvdyI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJjb2xvci1ib3giCiAgICAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kOiBbW19jb21wdXRlUnVuQ29sb3IocnVuKV1dOyIKICAgICAgICAgID48L2Rpdj4KICAgICAgICAgIFtbcnVuXV0gaXMgYXQKICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGVwLWxhYmVsLXRleHQiPgogICAgICAgICAgICBzdGVwIFtbX2NvbXB1dGVDdXJyZW50U3RlcEZvclJ1bihfcnVuVG9QckN1cnZlRW50cnksIHJ1bildXSA8L3NwYW4KICAgICAgICAgID48YnIgLz4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3YWxsLXRpbWUtbGFiZWwtdGV4dCI+CiAgICAgICAgICAgIChbW19jb21wdXRlQ3VycmVudFdhbGxUaW1lRm9yUnVuKF9ydW5Ub1ByQ3VydmVFbnRyeSwgcnVuKV1dKQogICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHdpZHRoOiA1MDBweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgfQogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIHRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIgewogICAgICAgIGhlaWdodDogMzAwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICAgIDpob3N0KFtfZXhwYW5kZWRdKSB0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIHsKICAgICAgICBoZWlnaHQ6IDYwMHB4OwogICAgICB9CiAgICAgICNidXR0b25zLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICB9CiAgICAgICNidXR0b25zLXJvdyBwYXBlci1pY29uLWJ1dHRvbiB7CiAgICAgICAgY29sb3I6ICMyMTk2ZjM7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CiAgICAgICNidXR0b25zLXJvdyBwYXBlci1pY29uLWJ1dHRvbltzZWxlY3RlZF0gewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgIH0KICAgICAgI3N0ZXAtbGVnZW5kIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGZvbnQtc2l6ZTogMC44ZW07CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5sZWdlbmQtcm93IHsKICAgICAgICBtYXJnaW46IDVweCAwIDVweCAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5jb2xvci1ib3ggewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgaGVpZ2h0OiAxMHB4OwogICAgICB9CiAgICAgIC5zdGVwLWxhYmVsLXRleHQgewogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CiAgICAgIC53YWxsLXRpbWUtbGFiZWwtdGV4dCB7CiAgICAgICAgY29sb3I6ICM4ODg7CiAgICAgICAgZm9udC1zaXplOiAwLjhlbTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxRcmUucHJvdG90eXBlLCJydW5zIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFFyZS5wcm90b3R5cGUsInRhZyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxRcmUucHJvdG90eXBlLCJ0YWdNZXRhZGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxRcmUucHJvdG90eXBlLCJydW5Ub1N0ZXBDYXAiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxRcmUucHJvdG90eXBlLCJyZXF1ZXN0TWFuYWdlciIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFFyZS5wcm90b3R5cGUsImFjdGl2ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxRcmUucHJvdG90eXBlLCJfZXhwYW5kZWQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sUXJlLnByb3RvdHlwZSwiX3J1blRvUHJDdXJ2ZUVudHJ5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFFyZS5wcm90b3R5cGUsIl9wcmV2aW91c1J1blRvUHJDdXJ2ZUVudHJ5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFFyZS5wcm90b3R5cGUsIl9ydW5Ub0RhdGFPdmVyVGltZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLFFyZS5wcm90b3R5cGUsIm9uRGF0YUNoYW5nZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxRcmUucHJvdG90eXBlLCJfY29sb3JTY2FsZUZ1bmN0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHhPKV0sUXJlLnByb3RvdHlwZSwiX2NhbmNlbGxlciIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFFyZS5wcm90b3R5cGUsIl9hdHRhY2hlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxRcmUucHJvdG90eXBlLCJfeENvbXBvbmVudHNDcmVhdGlvbk1ldGhvZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxRcmUucHJvdG90eXBlLCJfeVZhbHVlQWNjZXNzb3IiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLFFyZS5wcm90b3R5cGUsIl90b29sdGlwQ29sdW1ucyIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sUXJlLnByb3RvdHlwZSwiX3Nlcmllc0RhdGFGaWVsZHMiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLFFyZS5wcm90b3R5cGUsIl9kZWZhdWx0WFJhbmdlIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxRcmUucHJvdG90eXBlLCJfZGVmYXVsdFlSYW5nZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLFFyZS5wcm90b3R5cGUsIl9yZXF1ZXN0RGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFFyZS5wcm90b3R5cGUsIl9zbW9vdGhpbmdFbmFibGVkIix2b2lkIDApLHQoW2EoInJ1bnMiLCJ0YWciKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLFFyZS5wcm90b3R5cGUsInJlbG9hZCIsbnVsbCksdChbYSgiX3J1blRvUHJDdXJ2ZUVudHJ5IiwiX3ByZXZpb3VzUnVuVG9QckN1cnZlRW50cnkiLCJfc2V0T2ZSZWxldmFudFJ1bnMiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLFFyZS5wcm90b3R5cGUsIl9zZXRDaGFydERhdGEiLG51bGwpLHQoW2EoIl9ydW5Ub0RhdGFPdmVyVGltZSIsInJ1blRvU3RlcENhcCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sUXJlLnByb3RvdHlwZSwiX3VwZGF0ZVJ1blRvUHJDdXJ2ZUVudHJ5IixudWxsKSx0KFthKCJfcnVuVG9EYXRhT3ZlclRpbWUiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLFFyZS5wcm90b3R5cGUsIl9ub3RpZnlEYXRhQ2hhbmdlIixudWxsKSx0KFtzKCJydW5zIiwiX3J1blRvUHJDdXJ2ZUVudHJ5IiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxRcmUucHJvdG90eXBlLCJfcnVuc1dpdGhTdGVwQXZhaWxhYmxlIixudWxsKSx0KFtzKCJfcnVuc1dpdGhTdGVwQXZhaWxhYmxlIiksZSgiZGVzaWduOnR5cGUiLE9iamVjdCksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sUXJlLnByb3RvdHlwZSwiX3NldE9mUmVsZXZhbnRSdW5zIixudWxsKSxRcmU9dChbaSgidGYtcHItY3VydmUtY2FyZCIpXSxRcmUpO2xldCB0b2U9Y2xhc3MgZXh0ZW5kcyB3ZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fcnVuVG9TdGVwSW5kZXg9e319X2NvbXB1dGVDb2xvckZvclJ1bih0KXtyZXR1cm4gX08odCl9X2NvbXB1dGVUaW1lVGV4dEZvclJ1bih0LGUsbixpKXtjb25zdCByPWVbbl07aWYoIUNlLmV4cG9ydHMuaXNOdW1iZXIocikpcmV0dXJuIiI7Y29uc3Qgbz10W25dO2lmKCFvKXJldHVybiIiO2NvbnN0IGE9b1tyXVtpXTtpZigic3RlcCI9PT1pKXJldHVybmBzdGVwICR7YX1gO2lmKCJyZWxhdGl2ZSI9PT1pKXJldHVybiBhPDE/YCR7KDFlMyphKS50b0ZpeGVkKDIpfSBtc2A6YCR7YS50b0ZpeGVkKDIpfSBzYDtpZigid2FsbF90aW1lIj09PWkpcmV0dXJuIG5ldyBEYXRlKDFlMyphKS50b1N0cmluZygpO3Rocm93IG5ldyBFcnJvcihgVGhlIGRpc3BsYXkgdHlwZSBvZiAke2l9IGlzIG5vdCByZWNvZ25pemVkLmApfV9zbGlkZXJWYWx1ZUNoYW5nZWQodCl7Y29uc3QgZT10LnRhcmdldC5kYXRhc2V0LnJ1bixuPXQudGFyZ2V0LmltbWVkaWF0ZVZhbHVlLGk9T2JqZWN0LmFzc2lnbih7fSx0aGlzLl9ydW5Ub1N0ZXBJbmRleCk7aXNOYU4obik/ZGVsZXRlIGlbZV06aVtlXT10LnRhcmdldC5pbW1lZGlhdGVWYWx1ZSx0aGlzLl9ydW5Ub1N0ZXBJbmRleD1pfV9jb21wdXRlTWF4U3RlcEluZGV4Rm9yUnVuKHQsZSl7Y29uc3Qgbj10W2VdO3JldHVybiBuJiZuLmxlbmd0aD9uLmxlbmd0aC0xOjB9X3VwZGF0ZVN0ZXBzRm9yTmV3UnVucygpe3ZhciB0PXRoaXMucnVuVG9BdmFpbGFibGVUaW1lRW50cmllcztjb25zdCBlPU9iamVjdC5hc3NpZ24oe30sdGhpcy5fcnVuVG9TdGVwSW5kZXgpO0NlLmV4cG9ydHMuZm9yT3duKHQsKCh0LG4pPT57Q2UuZXhwb3J0cy5pc051bWJlcihlW25dKXx8KGVbbl09dC5sZW5ndGgtMSl9KSksdGhpcy5fcnVuVG9TdGVwSW5kZXg9ZX1fZ2V0U3RlcCh0LGUpe3JldHVybiB0aGlzLl9ydW5Ub1N0ZXBJbmRleD90aGlzLl9ydW5Ub1N0ZXBJbmRleFtlXTowfV9jb21wdXRlUnVuVG9TdGVwKHQsZSl7Y29uc3Qgbj17fTtyZXR1cm4gQ2UuZXhwb3J0cy5mb3JPd24oZSwoKGUsaSk9Pntjb25zdCByPXRbaV07ciYmKG5baV09cltlXS5zdGVwKX0pKSxufWdldCBfcnVuc1dpdGhTbGlkZXJzKCl7dmFyIHQ9dGhpcy5ydW5Ub0F2YWlsYWJsZVRpbWVFbnRyaWVzO3JldHVybiB0aGlzLnJ1bnMuZmlsdGVyKChlPT50W2VdKSl9fTt0b2UudGVtcGxhdGU9eGVgCiAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19ydW5zV2l0aFNsaWRlcnNdXSIgYXM9InJ1biI+CiAgICAgIDxkaXYgY2xhc3M9InJ1bi13aWRnZXQiPgogICAgICAgIDxkaXYgY2xhc3M9InJ1bi1kaXNwbGF5LWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJydW4tY29sb3ItYm94IgogICAgICAgICAgICBzdHlsZT0iYmFja2dyb3VuZDpbW19jb21wdXRlQ29sb3JGb3JSdW4ocnVuKV1dOyIKICAgICAgICAgID48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJ1bi10ZXh0Ij5bW3J1bl1dPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC1kaXNwbGF5LWNvbnRhaW5lciI+CiAgICAgICAgICBbW19jb21wdXRlVGltZVRleHRGb3JSdW4ocnVuVG9BdmFpbGFibGVUaW1lRW50cmllcywgX3J1blRvU3RlcEluZGV4LAogICAgICAgICAgcnVuLCB0aW1lRGlzcGxheVR5cGUpXV0KICAgICAgICA8L2Rpdj4KICAgICAgICA8cGFwZXItc2xpZGVyCiAgICAgICAgICBkYXRhLXJ1biQ9IltbcnVuXV0iCiAgICAgICAgICBzdGVwPSIxIgogICAgICAgICAgdHlwZT0ibnVtYmVyIgogICAgICAgICAgbWluPSIwIgogICAgICAgICAgbWF4PSJbW19jb21wdXRlTWF4U3RlcEluZGV4Rm9yUnVuKHJ1blRvQXZhaWxhYmxlVGltZUVudHJpZXMsIHJ1bildXSIKICAgICAgICAgIHZhbHVlPSJbW19nZXRTdGVwKF9ydW5Ub1N0ZXBJbmRleCwgcnVuKV1dIgogICAgICAgICAgb24taW1tZWRpYXRlLXZhbHVlLWNoYW5nZWQ9Il9zbGlkZXJWYWx1ZUNoYW5nZWQiCiAgICAgICAgPjwvcGFwZXItc2xpZGVyPgogICAgICA8L2Rpdj4KICAgIDwvdGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC5ydW4td2lkZ2V0IHsKICAgICAgICBtYXJnaW46IDEwcHggMCAwIDA7CiAgICAgIH0KICAgICAgcGFwZXItc2xpZGVyIHsKICAgICAgICBtYXJnaW46IC04cHggMCAwIC0xNXB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5zdGVwLWRpc3BsYXktY29udGFpbmVyIHsKICAgICAgICBmb250LXNpemU6IDAuOWVtOwogICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDsKICAgICAgfQogICAgICAucnVuLXRleHQgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQogICAgICAucnVuLWNvbG9yLWJveCB7CiAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sdG9lLnByb3RvdHlwZSwicnVucyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx0b2UucHJvdG90eXBlLCJydW5Ub0F2YWlsYWJsZVRpbWVFbnRyaWVzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMCxjb21wdXRlZDoiX2NvbXB1dGVSdW5Ub1N0ZXAocnVuVG9BdmFpbGFibGVUaW1lRW50cmllcywgX3J1blRvU3RlcEluZGV4KSJ9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sdG9lLnByb3RvdHlwZSwicnVuVG9TdGVwIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHRvZS5wcm90b3R5cGUsInRpbWVEaXNwbGF5VHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx0b2UucHJvdG90eXBlLCJfcnVuVG9TdGVwSW5kZXgiLHZvaWQgMCksdChbYSgicnVuVG9BdmFpbGFibGVUaW1lRW50cmllcyIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sdG9lLnByb3RvdHlwZSwiX3VwZGF0ZVN0ZXBzRm9yTmV3UnVucyIsbnVsbCksdChbcygicnVucyIsInJ1blRvQXZhaWxhYmxlVGltZUVudHJpZXMiKSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLHRvZS5wcm90b3R5cGUsIl9ydW5zV2l0aFNsaWRlcnMiLG51bGwpLHRvZT10KFtpKCJ0Zi1wci1jdXJ2ZS1zdGVwcy1zZWxlY3RvciIpXSx0b2UpO2xldCBlb2U9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJlbG9hZE9uUmVhZHk9ITAsdGhpcy5fdGltZURpc3BsYXlUeXBlPSJzdGVwIix0aGlzLl9zZWxlY3RlZFJ1bnM9W10sdGhpcy5fcnVuVG9UYWdJbmZvPXt9LHRoaXMuX3RhZ1RvUnVuVG9EYXRhPXt9LHRoaXMuX2dldENhdGVnb3J5SXRlbUtleT10PT50LnRhZyx0aGlzLl9yZXF1ZXN0TWFuYWdlcj1uZXcgYnIsdGhpcy5fc3RlcD0wfXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLnJlbG9hZE9uUmVhZHkmJnRoaXMucmVsb2FkKCl9cmVsb2FkKCl7UHJvbWlzZS5hbGwoW3RoaXMuX2ZldGNoVGFncygpXSkudGhlbigoKCk9Pnt0aGlzLl9yZWxvYWRDYXJkcygpfSkpfV9zaG91bGRPcGVuKHQpe3JldHVybiB0PD0yfV9mZXRjaFRhZ3MoKXtjb25zdCB0PUVyKCkucGx1Z2luUm91dGUoInByX2N1cnZlcyIsIi90YWdzIik7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodCkudGhlbigodD0+e2lmKENlLmV4cG9ydHMuaXNFcXVhbCh0LHRoaXMuX3J1blRvVGFnSW5mbykpcmV0dXJuO2NvbnN0IGU9ZnIoQ2UuZXhwb3J0cy5tYXBWYWx1ZXModCwodD0+Q2UuZXhwb3J0cy5rZXlzKHQpKSkpO3RoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwwPT09ZS5sZW5ndGgpLHRoaXMuc2V0KCJfcnVuVG9UYWdJbmZvIix0KSx0aGlzLmFzeW5jKCgoKT0+e3RoaXMuc2V0KCJfY2F0ZWdvcmllc0RvbVJlYWR5IiwhMCl9KSl9KSl9X3JlbG9hZENhcmRzKCl7Q2UuZXhwb3J0cy5mb3JFYWNoKHRoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1wci1jdXJ2ZS1jYXJkIiksKHQ9Pnt0LnJlbG9hZCgpfSkpfWdldCBfY2F0ZWdvcmllcygpe3ZhciB0PXRoaXMuX3NlbGVjdGVkUnVucyxlPXRoaXMuX3RhZ0ZpbHRlcjtyZXR1cm4gUHIoQ2UuZXhwb3J0cy5tYXBWYWx1ZXModGhpcy5fcnVuVG9UYWdJbmZvLCh0PT5PYmplY3Qua2V5cyh0KSkpLHQsZSl9Z2V0IF9yZWxldmFudFNlbGVjdGVkUnVucygpe3ZhciB0PXRoaXMuX3J1blRvVGFnSW5mbztyZXR1cm4gdGhpcy5fc2VsZWN0ZWRSdW5zLmZpbHRlcigoZT0+dFtlXSkpfV90YWdNZXRhZGF0YSh0LGUsbil7Y29uc3QgaT17fTtlLmZvckVhY2goKGU9PntpW2VdPXRbZV1bbl19KSk7Y29uc3Qgcj1uLnJlcGxhY2UoL1wvcHJfY3VydmVzJC8sIiIpO3JldHVybiBrTyhpLHIpfV9jcmVhdGVEYXRhQ2hhbmdlQ2FsbGJhY2sodCl7cmV0dXJuIGU9Pnt0aGlzLnNldCgiX3RhZ1RvUnVuVG9EYXRhIixPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdGhpcy5fdGFnVG9SdW5Ub0RhdGEpLHtbdF06ZX0pKX19Z2V0IF9ydW5Ub0F2YWlsYWJsZVRpbWVFbnRyaWVzKCl7dmFyIHQ9dGhpcy5fdGFnVG9SdW5Ub0RhdGE7Y29uc3QgZT17fTtmb3IoY29uc3RbbixpXW9mIE9iamVjdC5lbnRyaWVzKHQpKWZvcihjb25zdFt0XW9mIE9iamVjdC5lbnRyaWVzKGkpKShudWxsPT1lW3RdfHxuPGVbdF0pJiYoZVt0XT1uKTtjb25zdCBuPXt9O2Zvcihjb25zdFtpLHJdb2YgT2JqZWN0LmVudHJpZXMoZSkpe2NvbnN0IGU9dFtyXVtpXTtuW2ldPWUubWFwKCh0PT4oe3N0ZXA6dC5zdGVwLHdhbGxfdGltZTp0LndhbGxfdGltZSxyZWxhdGl2ZTp0LndhbGxfdGltZS1lWzBdLndhbGxfdGltZX0pKSl9cmV0dXJuIG59fTtlb2UudGVtcGxhdGU9eGVgCiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciIgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3MiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvcgogICAgICAgICAgICAgIGlkPSJ0aW1lLXR5cGUtc2VsZWN0b3IiCiAgICAgICAgICAgICAgbmFtZT0iVGltZSBEaXNwbGF5IFR5cGUiCiAgICAgICAgICAgICAgc2VsZWN0ZWQtaWQ9Int7X3RpbWVEaXNwbGF5VHlwZX19IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ic3RlcCI+c3RlcDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICAgIDwhLS0KICAgICAgICAgICAgLS0+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0icmVsYXRpdmUiPnJlbGF0aXZlPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgICAgPCEtLQogICAgICAgICAgICAtLT4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJ3YWxsX3RpbWUiPndhbGw8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfcnVuVG9BdmFpbGFibGVUaW1lRW50cmllc11dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIiBpZD0ic3RlcHMtc2VsZWN0b3ItY29udGFpbmVyIj4KICAgICAgICAgICAgICA8dGYtcHItY3VydmUtc3RlcHMtc2VsZWN0b3IKICAgICAgICAgICAgICAgIHJ1bnM9IltbX3JlbGV2YW50U2VsZWN0ZWRSdW5zXV0iCiAgICAgICAgICAgICAgICBydW4tdG8tc3RlcD0ie3tfcnVuVG9TdGVwfX0iCiAgICAgICAgICAgICAgICBydW4tdG8tYXZhaWxhYmxlLXRpbWUtZW50cmllcz0iW1tfcnVuVG9BdmFpbGFibGVUaW1lRW50cmllc11dIgogICAgICAgICAgICAgICAgdGltZS1kaXNwbGF5LXR5cGU9IltbX3RpbWVEaXNwbGF5VHlwZV1dIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8L3RmLXByLWN1cnZlLXN0ZXBzLXNlbGVjdG9yPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIHJ1bnMtc2VsZWN0b3IiPgogICAgICAgICAgPHRmLXJ1bnMtc2VsZWN0b3Igc2VsZWN0ZWQtcnVucz0ie3tfc2VsZWN0ZWRSdW5zfX0iPgogICAgICAgICAgPC90Zi1ydW5zLXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2VudGVyIiBzbG90PSJjZW50ZXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPk5vIHByZWNpc2lvbuKAk3JlY2FsbCBjdXJ2ZSBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgWW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSBwcmVjaXNpb27igJNyZWNhbGwgZGF0YSB0byB5b3VyIGV2ZW50CiAgICAgICAgICAgICAgICBmaWxlcy4KICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgIDxsaT5UZW5zb3JCb2FyZCBjYW7igJl0IGZpbmQgeW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiCiAgICAgICAgICAgICAgICA+UkVBRE1FPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgICAgPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hCiAgICAgICAgICAgICAgPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyIKICAgICAgICAgICAgICAgID50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDx0Zi10YWctZmlsdGVyZXIgdGFnLWZpbHRlcj0ie3tfdGFnRmlsdGVyfX0iPjwvdGYtdGFnLWZpbHRlcmVyPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcKICAgICAgICAgICAgICBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIgogICAgICAgICAgICAgIGluaXRpYWwtb3BlbmVkPSJbW19zaG91bGRPcGVuKGluZGV4KV1dIgogICAgICAgICAgICAgIGdldC1jYXRlZ29yeS1pdGVtLWtleT0iW1tfZ2V0Q2F0ZWdvcnlJdGVtS2V5XV0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtcHItY3VydmUtY2FyZAogICAgICAgICAgICAgICAgICBhY3RpdmU9IltbYWN0aXZlXV0iCiAgICAgICAgICAgICAgICAgIHJ1bnM9IltbaXRlbS5ydW5zXV0iCiAgICAgICAgICAgICAgICAgIHRhZz0iW1tpdGVtLnRhZ11dIgogICAgICAgICAgICAgICAgICB0YWctbWV0YWRhdGE9IltbX3RhZ01ldGFkYXRhKF9ydW5Ub1RhZ0luZm8sIGl0ZW0ucnVucywgaXRlbS50YWcpXV0iCiAgICAgICAgICAgICAgICAgIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSIKICAgICAgICAgICAgICAgICAgcnVuLXRvLXN0ZXAtY2FwPSJbW19ydW5Ub1N0ZXBdXSIKICAgICAgICAgICAgICAgICAgb24tZGF0YS1jaGFuZ2U9IltbX2NyZWF0ZURhdGFDaGFuZ2VDYWxsYmFjayhpdGVtLnRhZyldXSIKICAgICAgICAgICAgICAgID48L3RmLXByLWN1cnZlLWNhcmQ+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC90Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldz4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICA8L3RmLWRhc2hib2FyZC1sYXlvdXQ+CgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KCiAgICAgIC8qKiBEbyBub3QgbGV0IHRoZSBzdGVwcyBzZWxlY3RvciBvY2NsdWRlIHRoZSBydW4gc2VsZWN0b3IuICovCiAgICAgICNzdGVwcy1zZWxlY3Rvci1jb250YWluZXIgewogICAgICAgIG1heC1oZWlnaHQ6IDYwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxlb2UucHJvdG90eXBlLCJyZWxvYWRPblJlYWR5Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGVvZS5wcm90b3R5cGUsIl90aW1lRGlzcGxheVR5cGUiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLGVvZS5wcm90b3R5cGUsIl9zZWxlY3RlZFJ1bnMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZW9lLnByb3RvdHlwZSwiX3J1blRvVGFnSW5mbyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxlb2UucHJvdG90eXBlLCJfdGFnVG9SdW5Ub0RhdGEiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGVvZS5wcm90b3R5cGUsIl9ydW5Ub1N0ZXAiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxlb2UucHJvdG90eXBlLCJfZGF0YU5vdEZvdW5kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGVvZS5wcm90b3R5cGUsIl90YWdGaWx0ZXIiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxlb2UucHJvdG90eXBlLCJfY2F0ZWdvcmllc0RvbVJlYWR5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGVvZS5wcm90b3R5cGUsIl9nZXRDYXRlZ29yeUl0ZW1LZXkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxlb2UucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXIsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGVvZS5wcm90b3R5cGUsIl9zdGVwIix2b2lkIDApLHQoW3MoIl9ydW5Ub1RhZ0luZm8iLCJfc2VsZWN0ZWRSdW5zIiwiX3RhZ0ZpbHRlciIsIl9jYXRlZ29yaWVzRG9tUmVhZHkiKSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLGVvZS5wcm90b3R5cGUsIl9jYXRlZ29yaWVzIixudWxsKSx0KFtzKCJfc2VsZWN0ZWRSdW5zIiwiX3J1blRvVGFnSW5mbyIpLGUoImRlc2lnbjp0eXBlIixBcnJheSksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sZW9lLnByb3RvdHlwZSwiX3JlbGV2YW50U2VsZWN0ZWRSdW5zIixudWxsKSx0KFtzKCJfdGFnVG9SdW5Ub0RhdGEiKSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxlb2UucHJvdG90eXBlLCJfcnVuVG9BdmFpbGFibGVUaW1lRW50cmllcyIsbnVsbCksZW9lPXQoW2koInRmLXByLWN1cnZlLWRhc2hib2FyZCIpXSxlb2UpO2xldCBub2U9Y2xhc3MgZXh0ZW5kcyhjcihFbCkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJlbG9hZE9uUmVhZHk9ITAsdGhpcy5fc2hvd0Rvd25sb2FkTGlua3M9UXMoIl9zaG93RG93bmxvYWRMaW5rcyIse2RlZmF1bHRWYWx1ZTohMSx1c2VMb2NhbFN0b3JhZ2U6ITB9KS5jYWxsKHRoaXMpLHRoaXMuX3Ntb290aGluZ1dlaWdodD1ybCgiX3Ntb290aGluZ1dlaWdodCIse2RlZmF1bHRWYWx1ZTouNn0pLmNhbGwodGhpcyksdGhpcy5faWdub3JlWU91dGxpZXJzPVFzKCJfaWdub3JlWU91dGxpZXJzIix7ZGVmYXVsdFZhbHVlOiEwLHVzZUxvY2FsU3RvcmFnZTohMH0pLmNhbGwodGhpcyksdGhpcy5feFR5cGU9d0N0LlNURVAsdGhpcy5fc2VsZWN0ZWRSdW5zPVtdLHRoaXMuX3RhZ0ZpbHRlcj0iIix0aGlzLl9jYXRlZ29yaWVzPVtdLHRoaXMuX2dldENhdGVnb3J5SXRlbUtleT10PT50LnRhZyx0aGlzLl9yZXF1ZXN0TWFuYWdlcj1uZXcgYnIoNTApLHRoaXMuX3Nob3dEb3dubG9hZExpbmtzT2JzZXJ2ZXI9dGwoIl9zaG93RG93bmxvYWRMaW5rcyIse2RlZmF1bHRWYWx1ZTohMSx1c2VMb2NhbFN0b3JhZ2U6ITB9KSx0aGlzLl9zbW9vdGhpbmdXZWlnaHRPYnNlcnZlcj1vbCgiX3Ntb290aGluZ1dlaWdodCIse2RlZmF1bHRWYWx1ZTouNn0pLHRoaXMuX2lnbm9yZVlPdXRsaWVyc09ic2VydmVyPXRsKCJfaWdub3JlWU91dGxpZXJzIix7ZGVmYXVsdFZhbHVlOiEwLHVzZUxvY2FsU3RvcmFnZTohMH0pfWdldCBfc21vb3RoaW5nRW5hYmxlZCgpe3JldHVybiB0aGlzLl9zbW9vdGhpbmdXZWlnaHQ+MH1fZ2V0Q2F0ZWdvcnlLZXkodCl7cmV0dXJuIHQubWV0YWRhdGEudHlwZT09QXIuU0VBUkNIX1JFU1VMVFM/IiI6dC5uYW1lfV9zaG91bGRPcGVuKHQpe3JldHVybiB0PD0yfXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLnJlbG9hZE9uUmVhZHkmJnRoaXMucmVsb2FkKCl9cmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKCk9Pnt0aGlzLl9yZWxvYWRDaGFydHMoKX0pKX1fZmV0Y2hUYWdzKCl7Y29uc3QgdD1FcigpLnBsdWdpblJvdXRlKCJzY2FsYXJzIiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0KS50aGVuKCh0PT57aWYoQ2UuZXhwb3J0cy5pc0VxdWFsKHQsdGhpcy5fcnVuVG9UYWdJbmZvKSlyZXR1cm47Y29uc3QgZT1mcihDZS5leHBvcnRzLm1hcFZhbHVlcyh0LCh0PT5PYmplY3Qua2V5cyh0KSkpKTt0aGlzLnNldCgiX2RhdGFOb3RGb3VuZCIsMD09PWUubGVuZ3RoKSx0aGlzLnNldCgiX3J1blRvVGFnSW5mbyIsdCksdGhpcy5hc3luYygoKCk9Pnt0aGlzLnNldCgiX2NhdGVnb3JpZXNEb21SZWFkeSIsITApfSkpfSkpfV9yZWxvYWRDaGFydHMoKXt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtc2NhbGFyLWNhcmQiKS5mb3JFYWNoKCh0PT57dC5yZWxvYWQoKX0pKX1fdXBkYXRlQ2F0ZWdvcmllcygpe3ZhciB0PXRoaXMuX3NlbGVjdGVkUnVucztsZXQgZSxuPXRoaXMuX3RhZ0ZpbHRlcjtlPVByKENlLmV4cG9ydHMubWFwVmFsdWVzKHRoaXMuX3J1blRvVGFnSW5mbywodD0+T2JqZWN0LmtleXModCkpKSx0LG4pLGUuZm9yRWFjaCgodD0+e3QuaXRlbXM9dC5pdGVtcy5tYXAoKHQ9Pih7dGFnOnQudGFnLHNlcmllczp0LnJ1bnMubWFwKChlPT4oe3J1bjplLHRhZzp0LnRhZ30pKSl9KSkpfSkpLHRoaXMudXBkYXRlQXJyYXlQcm9wKCJfY2F0ZWdvcmllcyIsZSx0aGlzLl9nZXRDYXRlZ29yeUtleSl9X3RhZ01ldGFkYXRhKHQsZSxuKXtjb25zdCBpPXQubmFtZSxyPW4udGFnLG89e307bi5zZXJpZXMuZm9yRWFjaCgoKHtydW46dH0pPT57b1t0XT1lW3RdW3JdfSkpO2NvbnN0IGE9ci5yZXBsYWNlKC9cL3NjYWxhcl9zdW1tYXJ5JC8sIiIpO2xldHtkZXNjcmlwdGlvbjpzLGRpc3BsYXlOYW1lOmx9PWtPKG8sYSk7cmV0dXJuIHQubWV0YWRhdGEudHlwZT09QXIuUFJFRklYX0dST1VQJiZsLnN0YXJ0c1dpdGgoaSsiLyIpJiYobD1sLnNsaWNlKGkubGVuZ3RoKzEpKSx7ZGVzY3JpcHRpb246cyxkaXNwbGF5TmFtZTpsfX19O25vZS50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveAogICAgICAgICAgICAgICAgaWQ9InNob3ctZG93bmxvYWQtbGlua3MiCiAgICAgICAgICAgICAgICBjaGVja2VkPSJ7e19zaG93RG93bmxvYWRMaW5rc319IgogICAgICAgICAgICAgICAgPlNob3cgZGF0YSBkb3dubG9hZCBsaW5rczwvcGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveAogICAgICAgICAgICAgICAgaWQ9Imlnbm9yZS15LW91dGxpZXIiCiAgICAgICAgICAgICAgICBjaGVja2VkPSJ7e19pZ25vcmVZT3V0bGllcnN9fSIKICAgICAgICAgICAgICAgID5JZ25vcmUgb3V0bGllcnMgaW4gY2hhcnQgc2NhbGluZzwvcGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJ0b29sdGlwLXNvcnRpbmciPgogICAgICAgICAgICAgIDxkaXY+VG9vbHRpcCBzb3J0aW5nIG1ldGhvZDo8L2Rpdj4KICAgICAgICAgICAgICA8cGFwZXItZHJvcGRvd24tbWVudQogICAgICAgICAgICAgICAgbm8tbGFiZWwtZmxvYXQKICAgICAgICAgICAgICAgIHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X3Rvb2x0aXBTb3J0aW5nTWV0aG9kfX0iCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPHBhcGVyLWxpc3Rib3gKICAgICAgICAgICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPSIwIgogICAgICAgICAgICAgICAgICBzbG90PSJkcm9wZG93bi1jb250ZW50IgogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5kZWZhdWx0PC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5kZXNjZW5kaW5nPC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5hc2NlbmRpbmc8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPm5lYXJlc3Q8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLXNtb290aGluZy1pbnB1dAogICAgICAgICAgICAgIHdlaWdodD0ie3tfc21vb3RoaW5nV2VpZ2h0fX0iCiAgICAgICAgICAgICAgc3RlcD0iMC4wMDEiCiAgICAgICAgICAgICAgbWluPSIwIgogICAgICAgICAgICAgIG1heD0iMC45OTkiCiAgICAgICAgICAgID48L3RmLXNtb290aGluZy1pbnB1dD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvcgogICAgICAgICAgICAgIGlkPSJ4LXR5cGUtc2VsZWN0b3IiCiAgICAgICAgICAgICAgbmFtZT0iSG9yaXpvbnRhbCBBeGlzIgogICAgICAgICAgICAgIHNlbGVjdGVkLWlkPSJ7e194VHlwZX19IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ic3RlcCI+c3RlcDwvcGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgPjwhLS0KICAgICAgICAgICAgLS0+PHBhcGVyLWJ1dHRvbiBpZD0icmVsYXRpdmUiPnJlbGF0aXZlPC9wYXBlci1idXR0b24KICAgICAgICAgICAgICA+PCEtLQogICAgICAgICAgICAtLT48cGFwZXItYnV0dG9uIGlkPSJ3YWxsX3RpbWUiPndhbGw8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24gcnVucy1zZWxlY3RvciI+CiAgICAgICAgICA8dGYtcnVucy1zZWxlY3RvciBzZWxlY3RlZC1ydW5zPSJ7e19zZWxlY3RlZFJ1bnN9fSI+CiAgICAgICAgICA8L3RmLXJ1bnMtc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjZW50ZXIiIHNsb3Q9ImNlbnRlciI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJuby1kYXRhLXdhcm5pbmciPgogICAgICAgICAgICA8aDM+Tm8gc2NhbGFyIGRhdGEgd2FzIGZvdW5kLjwvaDM+CiAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+WW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSBzY2FsYXIgZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgPGxpPlRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiCiAgICAgICAgICAgICAgICA+UkVBRE1FPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgICAgPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hCiAgICAgICAgICAgICAgPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyIKICAgICAgICAgICAgICAgID50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDx0Zi10YWctZmlsdGVyZXIgdGFnLWZpbHRlcj0ie3tfdGFnRmlsdGVyfX0iPjwvdGYtdGFnLWZpbHRlcmVyPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcKICAgICAgICAgICAgICBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIgogICAgICAgICAgICAgIGluaXRpYWwtb3BlbmVkPSJbW19zaG91bGRPcGVuKGluZGV4KV1dIgogICAgICAgICAgICAgIGdldC1jYXRlZ29yeS1pdGVtLWtleT0iW1tfZ2V0Q2F0ZWdvcnlJdGVtS2V5XV0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtc2NhbGFyLWNhcmQKICAgICAgICAgICAgICAgICAgYWN0aXZlPSJbW2FjdGl2ZV1dIgogICAgICAgICAgICAgICAgICBkYXRhLXRvLWxvYWQ9IltbaXRlbS5zZXJpZXNdXSIKICAgICAgICAgICAgICAgICAgaWdub3JlLXktb3V0bGllcnM9IltbX2lnbm9yZVlPdXRsaWVyc11dIgogICAgICAgICAgICAgICAgICBtdWx0aS1leHBlcmltZW50cz0iW1tfZ2V0TXVsdGlFeHBlcmltZW50cyhkYXRhU2VsZWN0aW9uKV1dIgogICAgICAgICAgICAgICAgICByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iCiAgICAgICAgICAgICAgICAgIHNob3ctZG93bmxvYWQtbGlua3M9IltbX3Nob3dEb3dubG9hZExpbmtzXV0iCiAgICAgICAgICAgICAgICAgIHNtb290aGluZy1lbmFibGVkPSJbW19zbW9vdGhpbmdFbmFibGVkXV0iCiAgICAgICAgICAgICAgICAgIHNtb290aGluZy13ZWlnaHQ9IltbX3Ntb290aGluZ1dlaWdodF1dIgogICAgICAgICAgICAgICAgICB0YWctbWV0YWRhdGE9IltbX3RhZ01ldGFkYXRhKGNhdGVnb3J5LCBfcnVuVG9UYWdJbmZvLCBpdGVtKV1dIgogICAgICAgICAgICAgICAgICB0YWc9IltbaXRlbS50YWddXSIKICAgICAgICAgICAgICAgICAgdG9vbHRpcC1zb3J0aW5nLW1ldGhvZD0iW1tfdG9vbHRpcFNvcnRpbmdNZXRob2RdXSIKICAgICAgICAgICAgICAgICAgeC10eXBlPSJbW194VHlwZV1dIgogICAgICAgICAgICAgICAgICBiYXRjaC1zaXplPSJbW2ZlYXR1cmVGbGFncy5zY2FsYXJzQmF0Y2hTaXplXV0iCiAgICAgICAgICAgICAgICAgIGluLWNvbGFiPSJbW2ZlYXR1cmVGbGFncy5pbkNvbGFiXV0iCiAgICAgICAgICAgICAgICA+PC90Zi1zY2FsYXItY2FyZD4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KCiAgICA8c3R5bGUgaW5jbHVkZT0iZGFzaGJvYXJkLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICAjdG9vbHRpcC1zb3J0aW5nIHsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgICAgIH0KCiAgICAgICN0b29sdGlwLXNvcnRpbmcgcGFwZXItZHJvcGRvd24tbWVudSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItZm9jdXMtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIHdpZHRoOiAxMDVweDsKICAgICAgfQoKICAgICAgLmxpbmUtaXRlbSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZy10b3A6IDVweDsKICAgICAgfQogICAgICAubm8tZGF0YS13YXJuaW5nIHsKICAgICAgICBtYXgtd2lkdGg6IDU0MHB4OwogICAgICAgIG1hcmdpbjogODBweCBhdXRvIDAgYXV0bzsKICAgICAgfQogICAgICAuY2VudGVyIHsKICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLG5vZS5wcm90b3R5cGUsInJlbG9hZE9uUmVhZHkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sbm9lLnByb3RvdHlwZSwiZmVhdHVyZUZsYWdzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixub3RpZnk6ITAsb2JzZXJ2ZXI6Il9zaG93RG93bmxvYWRMaW5rc09ic2VydmVyIn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sbm9lLnByb3RvdHlwZSwiX3Nob3dEb3dubG9hZExpbmtzIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMCxvYnNlcnZlcjoiX3Ntb290aGluZ1dlaWdodE9ic2VydmVyIn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxub2UucHJvdG90eXBlLCJfc21vb3RoaW5nV2VpZ2h0Iix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX2lnbm9yZVlPdXRsaWVyc09ic2VydmVyIn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sbm9lLnByb3RvdHlwZSwiX2lnbm9yZVlPdXRsaWVycyIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxub2UucHJvdG90eXBlLCJfeFR5cGUiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLG5vZS5wcm90b3R5cGUsIl9zZWxlY3RlZFJ1bnMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sbm9lLnByb3RvdHlwZSwiX3J1blRvVGFnSW5mbyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLG5vZS5wcm90b3R5cGUsIl9kYXRhTm90Rm91bmQiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sbm9lLnByb3RvdHlwZSwiX3RhZ0ZpbHRlciIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLG5vZS5wcm90b3R5cGUsIl9jYXRlZ29yaWVzRG9tUmVhZHkiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLG5vZS5wcm90b3R5cGUsIl9jYXRlZ29yaWVzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLG5vZS5wcm90b3R5cGUsIl9nZXRDYXRlZ29yeUl0ZW1LZXkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxub2UucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbcygiX3Ntb290aGluZ1dlaWdodCIpLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxub2UucHJvdG90eXBlLCJfc21vb3RoaW5nRW5hYmxlZCIsbnVsbCksdChbYSgiX3J1blRvVGFnSW5mbyIsIl9zZWxlY3RlZFJ1bnMiLCJfdGFnRmlsdGVyIiwiX2NhdGVnb3JpZXNEb21SZWFkeSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sbm9lLnByb3RvdHlwZSwiX3VwZGF0ZUNhdGVnb3JpZXMiLG51bGwpLG5vZT10KFtpKCJ0Zi1zY2FsYXItZGFzaGJvYXJkIildLG5vZSk7bGV0IGlvZT1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3RleHRzPVtdLHRoaXMuX2NhbmNlbGxlcj1uZXcgeE99Z2V0IF9ydW5Db2xvcigpe3JldHVybiBfTyh0aGlzLnJ1bil9X2NoYW5nZVJ1bkNvbG9yKCl7dGhpcy51cGRhdGVTdHlsZXMoeyItLXRiLXRleHQtbG9hZGVyLW91dGxpbmUiOnRoaXMuX3J1bkNvbG9yfSl9YXR0YWNoZWQoKXt0aGlzLnJlbG9hZCgpfXJlbG9hZCgpe2lmKCF0aGlzLmlzQXR0YWNoZWQpcmV0dXJuO3RoaXMuX2NhbmNlbGxlci5jYW5jZWxBbGwoKTtjb25zdCB0PVBPKEVyKCkucGx1Z2luUm91dGUoInRleHQiLCIvdGV4dCIpLHt0YWc6dGhpcy50YWcscnVuOnRoaXMucnVuLG1hcmtkb3duOnRoaXMubWFya2Rvd25FbmFibGVkPyJ0cnVlIjoiZmFsc2UifSksZT10aGlzLl9jYW5jZWxsZXIuY2FuY2VsbGFibGUoKHQ9PntpZih0LmNhbmNlbGxlZClyZXR1cm47Y29uc3QgZT10LnZhbHVlLm1hcCgodD0+KHt3YWxsX3RpbWU6bmV3IERhdGUoMWUzKnQud2FsbF90aW1lKSxzdGVwOnQuc3RlcCx0ZXh0OnQudGV4dH0pKSk7dGhpcy5zZXQoIl90ZXh0cyIsZS5zbGljZSgpLnJldmVyc2UoKSl9KSk7dGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KHQpLnRoZW4oZSl9X2Zvcm1hdFN0ZXAodCl7cmV0dXJuIER5KCIsIikodCl9fTtpb2UudGVtcGxhdGU9eGVgCiAgICA8dGYtY2FyZC1oZWFkaW5nIHJ1bj0iW1tydW5dXSIgdGFnPSJbW3RhZ11dIiBjb2xvcj0iW1tfcnVuQ29sb3JdXSI+CiAgICA8L3RmLWNhcmQtaGVhZGluZz4KICAgIDxwYXBlci1tYXRlcmlhbAogICAgICBlbGV2YXRpb249IjEiCiAgICAgIGlkPSJzdGVwcy1jb250YWluZXIiCiAgICAgIGNsYXNzPSJjb250YWluZXIgc2Nyb2xsYmFyIgogICAgPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW190ZXh0c11dIj4KICAgICAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0ic3RlcC1jb250YWluZXIiPgogICAgICAgICAgc3RlcCA8c3BhbiBjbGFzcz0ic3RlcC12YWx1ZSI+W1tfZm9ybWF0U3RlcChpdGVtLnN0ZXApXV08L3NwYW4+CiAgICAgICAgPC9wYXBlci1tYXRlcmlhbD4KICAgICAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0idGV4dCI+CiAgICAgICAgICA8dGYtbWFya2Rvd24tdmlldyBodG1sPSJbW2l0ZW0udGV4dF1dIj48L3RmLW1hcmtkb3duLXZpZXc+CiAgICAgICAgPC9wYXBlci1tYXRlcmlhbD4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvcGFwZXItbWF0ZXJpYWw+CiAgICA8c3R5bGUgaW5jbHVkZT0ic2Nyb2xsYmFyLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgfQogICAgICAuc2Nyb2xsYmFyIHsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CiAgICAgICNzdGVwcy1jb250YWluZXIgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAvKiBjb2xvciBjb21wdXRlZCBhbmQgc2V0IGFzIGlubGluZSBzdHlsZSAqLzsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGItdGV4dC1sb2FkZXItb3V0bGluZSk7CiAgICAgIH0KICAgICAgLnRleHQgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDNweDsKICAgICAgICBwYWRkaW5nOiA1cHg7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDsKICAgICAgfQogICAgICAuc3RlcC1jb250YWluZXIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10Yi11aS1ib3JkZXIpOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyAvKiB0byBjb3JyZWN0IGZvciBib3JkZXIgKi8KICAgICAgICBwYWRkaW5nOiAzcHg7CiAgICAgIH0KICAgICAgLnN0ZXAtY29udGFpbmVyOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OwogICAgICB9CgogICAgICB0Zi1jYXJkLWhlYWRpbmcgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxpb2UucHJvdG90eXBlLCJydW4iLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0saW9lLnByb3RvdHlwZSwidGFnIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0saW9lLnByb3RvdHlwZSwibWFya2Rvd25FbmFibGVkIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxpb2UucHJvdG90eXBlLCJfdGV4dHMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxpb2UucHJvdG90eXBlLCJyZXF1ZXN0TWFuYWdlciIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIix4TyldLGlvZS5wcm90b3R5cGUsIl9jYW5jZWxsZXIiLHZvaWQgMCksdChbcygicnVuIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0saW9lLnByb3RvdHlwZSwiX3J1bkNvbG9yIixudWxsKSx0KFthKCJfcnVuQ29sb3IiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGlvZS5wcm90b3R5cGUsIl9jaGFuZ2VSdW5Db2xvciIsbnVsbCksaW9lPXQoW2koInRmLXRleHQtbG9hZGVyIildLGlvZSk7bGV0IHJvZT1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVsb2FkT25SZWFkeT0hMCx0aGlzLl9tYXJrZG93bkVuYWJsZWQ9UXMoIl9tYXJrZG93bkVuYWJsZWQiLHtkZWZhdWx0VmFsdWU6ITAsdXNlTG9jYWxTdG9yYWdlOiEwfSkuY2FsbCh0aGlzKSx0aGlzLl9yZXF1ZXN0TWFuYWdlcj1uZXcgYnIsdGhpcy5fbWFya2Rvd25FbmFibGVkU3RvcmFnZU9ic2VydmVyPXRsKCJfbWFya2Rvd25FbmFibGVkIix7ZGVmYXVsdFZhbHVlOiEwLHVzZUxvY2FsU3RvcmFnZTohMH0pfXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfbWFya2Rvd25FbmFibGVkT2JzZXJ2ZXIoX21hcmtkb3duRW5hYmxlZCkiXX1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5yZWxvYWRPblJlYWR5JiZ0aGlzLnJlbG9hZCgpfXJlbG9hZCgpe3RoaXMuX2ZldGNoVGFncygpLnRoZW4oKCgpPT57dGhpcy5fcmVsb2FkVGV4dHMoKX0pKX1fc2hvdWxkT3Blbih0KXtyZXR1cm4gdDw9Mn1fZmV0Y2hUYWdzKCl7Y29uc3QgdD1FcigpLnBsdWdpblJvdXRlKCJ0ZXh0IiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0KS50aGVuKCh0PT57aWYoQ2UuZXhwb3J0cy5pc0VxdWFsKHQsdGhpcy5fcnVuVG9UYWcpKXJldHVybjtjb25zdCBlPWZyKHQpO3RoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwwPT09ZS5sZW5ndGgpLHRoaXMuc2V0KCJfcnVuVG9UYWciLHQpLHRoaXMuYXN5bmMoKCgpPT57dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pKX0pKX1fcmVsb2FkVGV4dHMoKXt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtdGV4dC1sb2FkZXIiKS5mb3JFYWNoKCh0PT57dC5yZWxvYWQoKX0pKX1nZXQgX2NhdGVnb3JpZXMoKXtyZXR1cm4gSXIodGhpcy5fcnVuVG9UYWcsdGhpcy5fc2VsZWN0ZWRSdW5zLHRoaXMuX3RhZ0ZpbHRlcil9X21hcmtkb3duRW5hYmxlZE9ic2VydmVyKCl7dGhpcy5fcmVsb2FkVGV4dHMoKX19O3JvZS50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibGluZS1pdGVtIj4KICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNoZWNrZWQ9Int7X21hcmtkb3duRW5hYmxlZH19IgogICAgICAgICAgICAgID5FbmFibGUgTWFya2Rvd248L3BhcGVyLWNoZWNrYm94CiAgICAgICAgICAgID4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiBydW5zLXNlbGVjdG9yIj4KICAgICAgICAgIDx0Zi1ydW5zLXNlbGVjdG9yIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319Ij4KICAgICAgICAgIDwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyB0ZXh0IGRhdGEgd2FzIGZvdW5kLjwvaDM+CiAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+WW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSB0ZXh0IGRhdGEgdG8geW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICAgIDxsaT5UZW5zb3JCb2FyZCBjYW7igJl0IGZpbmQgeW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8KICAgICAgICAgICAgICBhZGQgZGF0YSBhbmQgc2V0IHVwIHlvdXIgZXZlbnQgZmlsZXMsIGNoZWNrIG91dCB0aGUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIgogICAgICAgICAgICAgICAgPlJFQURNRTwvYQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvc3VtbWFyaWVzX2FuZF90ZW5zb3Jib2FyZCIKICAgICAgICAgICAgICAgID5UZW5zb3JCb2FyZCB0dXRvcmlhbDwvYQogICAgICAgICAgICAgID4uCiAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdSB0aGluayBUZW5zb3JCb2FyZCBpcyBjb25maWd1cmVkIHByb3Blcmx5LCBwbGVhc2Ugc2VlCiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciCiAgICAgICAgICAgICAgICA+dGhlIHNlY3Rpb24gb2YgdGhlIFJFQURNRSBkZXZvdGVkIHRvIG1pc3NpbmcgZGF0YSBwcm9ibGVtczwvYQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8dGYtdGFnLWZpbHRlcmVyIHRhZy1maWx0ZXI9Int7X3RhZ0ZpbHRlcn19Ij48L3RmLXRhZy1maWx0ZXJlcj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2NhdGVnb3JpZXNdXSIgYXM9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgPHRmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3CiAgICAgICAgICAgICAgY2F0ZWdvcnk9IltbY2F0ZWdvcnldXSIKICAgICAgICAgICAgICBpbml0aWFsLW9wZW5lZD0iW1tfc2hvdWxkT3BlbihpbmRleCldXSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDx0Zi10ZXh0LWxvYWRlcgogICAgICAgICAgICAgICAgICBhY3RpdmU9IltbYWN0aXZlXV0iCiAgICAgICAgICAgICAgICAgIHRhZz0iW1tpdGVtLnRhZ11dIgogICAgICAgICAgICAgICAgICBydW49IltbaXRlbS5ydW5dXSIKICAgICAgICAgICAgICAgICAgcmVxdWVzdC1tYW5hZ2VyPSJbW19yZXF1ZXN0TWFuYWdlcl1dIgogICAgICAgICAgICAgICAgICBtYXJrZG93bi1lbmFibGVkPSJbW19tYXJrZG93bkVuYWJsZWRdXSIKICAgICAgICAgICAgICAgID48L3RmLXRleHQtbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHJvZS5wcm90b3R5cGUsInJlbG9hZE9uUmVhZHkiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFuLG5vdGlmeTohMCxvYnNlcnZlcjoiX21hcmtkb3duRW5hYmxlZFN0b3JhZ2VPYnNlcnZlciJ9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHJvZS5wcm90b3R5cGUsIl9tYXJrZG93bkVuYWJsZWQiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLHJvZS5wcm90b3R5cGUsIl9zZWxlY3RlZFJ1bnMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0scm9lLnByb3RvdHlwZSwiX3J1blRvVGFnIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0scm9lLnByb3RvdHlwZSwiX2RhdGFOb3RGb3VuZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxyb2UucHJvdG90eXBlLCJfdGFnRmlsdGVyIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0scm9lLnByb3RvdHlwZSwiX2NhdGVnb3JpZXNEb21SZWFkeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxyb2UucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbcygiX3J1blRvVGFnIiwiX3NlbGVjdGVkUnVucyIsIl90YWdGaWx0ZXIiLCJfY2F0ZWdvcmllc0RvbVJlYWR5IiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxyb2UucHJvdG90eXBlLCJfY2F0ZWdvcmllcyIsbnVsbCkscm9lPXQoW2koInRmLXRleHQtZGFzaGJvYXJkIildLHJvZSk7bGV0IG9vZT1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl90ZW1wbGF0ZT1udWxsLHRoaXMudGZfYmFja2VuZD1TQXR9fTtvb2U9dChbaSgidGYtYmFja2VuZCIpXSxvb2UpO2xldCBhb2U9Y2xhc3MgZXh0ZW5kcyB3ZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fdGVtcGxhdGU9bnVsbCx0aGlzLnJ1bnNDb2xvclNjYWxlPV9PfX07YW9lPXQoW2koInRmLWNvbG9yLXNjYWxlIildLGFvZSk7bGV0IHNvZT1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl90ZW1wbGF0ZT1udWxsLHRoaXMudGZfZ2xvYmFscz1Ec319O3NvZT10KFtpKCJ0Zi1nbG9iYWxzIildLHNvZSk7dmFyIGxvZT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxhZGRMaW1pdExpc3RlbmVyOndsLHJlbW92ZUxpbWl0TGlzdGVuZXI6U2wsZ2V0TGltaXQ6TWwsc2V0TGltaXQ6ZnVuY3Rpb24gY29lKHQpe2lmKHQhPT1NYXRoLmZsb29yKHQpKXRocm93IG5ldyBFcnJvcihgbGltaXQgbXVzdCBiZSBhbiBpbnRlZ2VyLCBidXQgZ290OiAke3R9YCk7aWYodDw9MCl0aHJvdyBuZXcgRXJyb3IoYGxpbWl0IG11c3QgYmUgcG9zaXRpdmUsIGJ1dCBnb3Q6ICR7dH1gKTt0IT09YmwmJihibD10LGlsKHZsLGJsLHt1c2VMb2NhbFN0b3JhZ2U6ITB9KSx4bC5mb3JFYWNoKCh0PT57dCgpfSkpKX0sVGZEb21SZXBlYXQ6VGx9KTtsZXQgdW9lPWNsYXNzIGV4dGVuZHMgd2V7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3RlbXBsYXRlPW51bGwsdGhpcy50Zl9wYWdpbmF0ZWRfdmlldz1sb2V9fTt1b2U9dChbaSgidGYtcGFnaW5hdGVkLXZpZXctc3RvcmUiKV0sdW9lKTtsZXQgaG9lPWNsYXNzIGV4dGVuZHMgd2V7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3RlbXBsYXRlPW51bGwsdGhpcy50Zl9zdG9yYWdlPUlBdH19O2hvZT10KFtpKCJ0Zi1zdG9yYWdlIildLGhvZSl9KSgpOwoKIShmdW5jdGlvbigpewovKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLgoKICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLgoKICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRICiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkKICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwKICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IKICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwp2YXIgdD1mdW5jdGlvbihlLG4pe3JldHVybih0PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLG4pJiYodFtuXT1lW25dKX0pKGUsbil9O2Z1bmN0aW9uIGUoZSxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgbiYmbnVsbCE9PW4pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhuKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiBvKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfXQoZSxuKSxlLnByb3RvdHlwZT1udWxsPT09bj9PYmplY3QuY3JlYXRlKG4pOihvLnByb3RvdHlwZT1uLnByb3RvdHlwZSxuZXcgbyl9ZnVuY3Rpb24gbih0LGUsbixvKXtyZXR1cm4gbmV3KG58fChuPVByb21pc2UpKSgoZnVuY3Rpb24oaSxhKXtmdW5jdGlvbiByKHQpe3RyeXtsKG8ubmV4dCh0KSl9Y2F0Y2godCl7YSh0KX19ZnVuY3Rpb24gcyh0KXt0cnl7bChvLnRocm93KHQpKX1jYXRjaCh0KXthKHQpfX1mdW5jdGlvbiBsKHQpe3QuZG9uZT9pKHQudmFsdWUpOihmdW5jdGlvbiBlKHQpe3JldHVybiB0IGluc3RhbmNlb2Ygbj90Om5ldyBuKChmdW5jdGlvbihlKXtlKHQpfSkpfSkodC52YWx1ZSkudGhlbihyLHMpfWwoKG89by5hcHBseSh0LGV8fFtdKSkubmV4dCgpKX0pKX1mdW5jdGlvbiBvKHQsZSl7dmFyIG4sbyxpLGEscj17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZpWzBdKXRocm93IGlbMV07cmV0dXJuIGlbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gYT17bmV4dDpzKDApLHRocm93OnMoMSkscmV0dXJuOnMoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihhW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGE7ZnVuY3Rpb24gcyhhKXtyZXR1cm4gZnVuY3Rpb24ocyl7cmV0dXJuKGZ1bmN0aW9uIGwoYSl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtyOyl0cnl7aWYobj0xLG8mJihpPTImYVswXT9vLnJldHVybjphWzBdP28udGhyb3d8fCgoaT1vLnJldHVybikmJmkuY2FsbChvKSwwKTpvLm5leHQpJiYhKGk9aS5jYWxsKG8sYVsxXSkpLmRvbmUpcmV0dXJuIGk7c3dpdGNoKG89MCxpJiYoYT1bMiZhWzBdLGkudmFsdWVdKSxhWzBdKXtjYXNlIDA6Y2FzZSAxOmk9YTticmVhaztjYXNlIDQ6cmV0dXJuIHIubGFiZWwrKyx7dmFsdWU6YVsxXSxkb25lOiExfTtjYXNlIDU6ci5sYWJlbCsrLG89YVsxXSxhPVswXTtjb250aW51ZTtjYXNlIDc6YT1yLm9wcy5wb3AoKSxyLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKGk9ci50cnlzLChpPWkubGVuZ3RoPjAmJmlbaS5sZW5ndGgtMV0pfHw2IT09YVswXSYmMiE9PWFbMF0pKXtyPTA7Y29udGludWV9aWYoMz09PWFbMF0mJighaXx8YVsxXT5pWzBdJiZhWzFdPGlbM10pKXtyLmxhYmVsPWFbMV07YnJlYWt9aWYoNj09PWFbMF0mJnIubGFiZWw8aVsxXSl7ci5sYWJlbD1pWzFdLGk9YTticmVha31pZihpJiZyLmxhYmVsPGlbMl0pe3IubGFiZWw9aVsyXSxyLm9wcy5wdXNoKGEpO2JyZWFrfWlbMl0mJnIub3BzLnBvcCgpLHIudHJ5cy5wb3AoKTtjb250aW51ZX1hPWUuY2FsbCh0LHIpfWNhdGNoKHQpe2E9WzYsdF0sbz0wfWZpbmFsbHl7bj1pPTB9aWYoNSZhWzBdKXRocm93IGFbMV07cmV0dXJue3ZhbHVlOmFbMF0/YVsxXTp2b2lkIDAsZG9uZTohMH19KShbYSxzXSl9fX1mdW5jdGlvbiBpKHQpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvcixuPWUmJnRbZV0sbz0wO2lmKG4pcmV0dXJuIG4uY2FsbCh0KTtpZih0JiYibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXJldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHQmJm8+PXQubGVuZ3RoJiYodD12b2lkIDApLHt2YWx1ZTp0JiZ0W28rK10sZG9uZTohdH19fTt0aHJvdyBuZXcgVHlwZUVycm9yKGU/Ik9iamVjdCBpcyBub3QgaXRlcmFibGUuIjoiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpfWZ1bmN0aW9uIGEodCxlKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl07aWYoIW4pcmV0dXJuIHQ7dmFyIG8saSxhPW4uY2FsbCh0KSxyPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT1lfHxlLS0gPjApJiYhKG89YS5uZXh0KCkpLmRvbmU7KXIucHVzaChvLnZhbHVlKX1jYXRjaCh0KXtpPXtlcnJvcjp0fX1maW5hbGx5e3RyeXtvJiYhby5kb25lJiYobj1hLnJldHVybikmJm4uY2FsbChhKX1maW5hbGx5e2lmKGkpdGhyb3cgaS5lcnJvcn19cmV0dXJuIHJ9ZnVuY3Rpb24gcih0LGUpe2Zvcih2YXIgbj0wLG89ZS5sZW5ndGgsaT10Lmxlbmd0aDtuPG87bisrLGkrKyl0W2ldPWVbbl07cmV0dXJuIHR9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIHM/KHRoaXMudj10LHRoaXMpOm5ldyBzKHQpfWZ1bmN0aW9uIGwodCxlLG4pe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgbyxpPW4uYXBwbHkodCxlfHxbXSksYT1bXTtyZXR1cm4gbz17fSxyKCJuZXh0IikscigidGhyb3ciKSxyKCJyZXR1cm4iKSxvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxvO2Z1bmN0aW9uIHIodCl7aVt0XSYmKG9bdF09ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihuLG8pe2EucHVzaChbdCxlLG4sb10pPjF8fGwodCxlKX0pKX0pfWZ1bmN0aW9uIGwodCxlKXt0cnl7IShmdW5jdGlvbiBuKHQpe3QudmFsdWUgaW5zdGFuY2VvZiBzP1Byb21pc2UucmVzb2x2ZSh0LnZhbHVlLnYpLnRoZW4oYyxkKTpwKGFbMF1bMl0sdCl9KShpW3RdKGUpKX1jYXRjaCh0KXtwKGFbMF1bM10sdCl9fWZ1bmN0aW9uIGModCl7bCgibmV4dCIsdCl9ZnVuY3Rpb24gZCh0KXtsKCJ0aHJvdyIsdCl9ZnVuY3Rpb24gcCh0LGUpe3QoZSksYS5zaGlmdCgpLGEubGVuZ3RoJiZsKGFbMF1bMF0sYVswXVsxXSl9fWZ1bmN0aW9uIGModCl7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciBlLG49dFtTeW1ib2wuYXN5bmNJdGVyYXRvcl07cmV0dXJuIG4/bi5jYWxsKHQpOih0PWkodCksZT17fSxvKCJuZXh0IiksbygidGhyb3ciKSxvKCJyZXR1cm4iKSxlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlKTtmdW5jdGlvbiBvKG4pe2Vbbl09dFtuXSYmZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihvLGkpeyhmdW5jdGlvbiBhKHQsZSxuLG8pe1Byb21pc2UucmVzb2x2ZShvKS50aGVuKChmdW5jdGlvbihlKXt0KHt2YWx1ZTplLGRvbmU6bn0pfSksZSl9KShvLGksKGU9dFtuXShlKSkuZG9uZSxlLnZhbHVlKX0pKX19fWZ1bmN0aW9uIGQodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHR9ZnVuY3Rpb24gcCh0KXt2YXIgZT10KChmdW5jdGlvbih0KXtFcnJvci5jYWxsKHQpLHQuc3RhY2s9KG5ldyBFcnJvcikuc3RhY2t9KSk7cmV0dXJuIGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGV9dmFyIG09cCgoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uIGUobil7dCh0aGlzKSx0aGlzLm1lc3NhZ2U9bj9uLmxlbmd0aCsiIGVycm9ycyBvY2N1cnJlZCBkdXJpbmcgdW5zdWJzY3JpcHRpb246XG4iK24ubWFwKChmdW5jdGlvbih0LGUpe3JldHVybiBlKzErIikgIit0LnRvU3RyaW5nKCl9KSkuam9pbigiXG4gICIpOiIiLHRoaXMubmFtZT0iVW5zdWJzY3JpcHRpb25FcnJvciIsdGhpcy5lcnJvcnM9bn19KSk7ZnVuY3Rpb24gZih0LGUpe2lmKHQpe3ZhciBuPXQuaW5kZXhPZihlKTswPD1uJiZ0LnNwbGljZShuLDEpfX12YXIgdT0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMuaW5pdGlhbFRlYXJkb3duPXQsdGhpcy5jbG9zZWQ9ITEsdGhpcy5fcGFyZW50YWdlPW51bGwsdGhpcy5fdGVhcmRvd25zPW51bGx9cmV0dXJuIHQucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7dmFyIHQsZSxuLG8scztpZighdGhpcy5jbG9zZWQpe3RoaXMuY2xvc2VkPSEwO3ZhciBsPXRoaXMuX3BhcmVudGFnZTtpZihsKWlmKHRoaXMuX3BhcmVudGFnZT1udWxsLEFycmF5LmlzQXJyYXkobCkpdHJ5e2Zvcih2YXIgYz1pKGwpLHA9Yy5uZXh0KCk7IXAuZG9uZTtwPWMubmV4dCgpKXtwLnZhbHVlLnJlbW92ZSh0aGlzKX19Y2F0Y2goZSl7dD17ZXJyb3I6ZX19ZmluYWxseXt0cnl7cCYmIXAuZG9uZSYmKGU9Yy5yZXR1cm4pJiZlLmNhbGwoYyl9ZmluYWxseXtpZih0KXRocm93IHQuZXJyb3J9fWVsc2UgbC5yZW1vdmUodGhpcyk7dmFyIGY9dGhpcy5pbml0aWFsVGVhcmRvd247aWYoZChmKSl0cnl7ZigpfWNhdGNoKHQpe3M9dCBpbnN0YW5jZW9mIG0/dC5lcnJvcnM6W3RdfXZhciB1PXRoaXMuX3RlYXJkb3ducztpZih1KXt0aGlzLl90ZWFyZG93bnM9bnVsbDt0cnl7Zm9yKHZhciBnPWkodSksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpe3ZhciB5PWgudmFsdWU7dHJ5e2IoeSl9Y2F0Y2godCl7cz1udWxsIT1zP3M6W10sdCBpbnN0YW5jZW9mIG0/cz1yKHIoW10sYShzKSksYSh0LmVycm9ycykpOnMucHVzaCh0KX19fWNhdGNoKHQpe249e2Vycm9yOnR9fWZpbmFsbHl7dHJ5e2gmJiFoLmRvbmUmJihvPWcucmV0dXJuKSYmby5jYWxsKGcpfWZpbmFsbHl7aWYobil0aHJvdyBuLmVycm9yfX19aWYocyl0aHJvdyBuZXcgbShzKX19LHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlKXt2YXIgbjtpZihlJiZlIT09dGhpcylpZih0aGlzLmNsb3NlZCliKGUpO2Vsc2V7aWYoZSBpbnN0YW5jZW9mIHQpe2lmKGUuY2xvc2VkfHxlLl9oYXNQYXJlbnQodGhpcykpcmV0dXJuO2UuX2FkZFBhcmVudCh0aGlzKX0odGhpcy5fdGVhcmRvd25zPW51bGwhPT0obj10aGlzLl90ZWFyZG93bnMpJiZ2b2lkIDAhPT1uP246W10pLnB1c2goZSl9fSx0LnByb3RvdHlwZS5faGFzUGFyZW50PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3BhcmVudGFnZTtyZXR1cm4gZT09PXR8fEFycmF5LmlzQXJyYXkoZSkmJmUuaW5jbHVkZXModCl9LHQucHJvdG90eXBlLl9hZGRQYXJlbnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fcGFyZW50YWdlO3RoaXMuX3BhcmVudGFnZT1BcnJheS5pc0FycmF5KGUpPyhlLnB1c2godCksZSk6ZT9bZSx0XTp0fSx0LnByb3RvdHlwZS5fcmVtb3ZlUGFyZW50PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3BhcmVudGFnZTtlPT09dD90aGlzLl9wYXJlbnRhZ2U9bnVsbDpBcnJheS5pc0FycmF5KGUpJiZmKGUsdCl9LHQucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihlKXt2YXIgbj10aGlzLl90ZWFyZG93bnM7biYmZihuLGUpLGUgaW5zdGFuY2VvZiB0JiZlLl9yZW1vdmVQYXJlbnQodGhpcyl9LHQuRU1QVFk9KGZ1bmN0aW9uKCl7dmFyIGU9bmV3IHQ7cmV0dXJuIGUuY2xvc2VkPSEwLGV9KSgpLHR9KSgpLGc9dS5FTVBUWTtmdW5jdGlvbiBoKHQpe3JldHVybiB0IGluc3RhbmNlb2YgdXx8dCYmImNsb3NlZCJpbiB0JiZkKHQucmVtb3ZlKSYmZCh0LmFkZCkmJmQodC51bnN1YnNjcmliZSl9ZnVuY3Rpb24gYih0KXtkKHQpP3QoKTp0LnVuc3Vic2NyaWJlKCl9dmFyIHk9e29uVW5oYW5kbGVkRXJyb3I6bnVsbCxvblN0b3BwZWROb3RpZmljYXRpb246bnVsbCxQcm9taXNlOnZvaWQgMCx1c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nOiExLHVzZURlcHJlY2F0ZWROZXh0Q29udGV4dDohMX0sXz17c2V0VGltZW91dDpmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgbj1fLmRlbGVnYXRlO3JldHVybigobnVsbD09bj92b2lkIDA6bi5zZXRUaW1lb3V0KXx8c2V0VGltZW91dCkuYXBwbHkodm9pZCAwLHIoW10sYSh0KSkpfSxjbGVhclRpbWVvdXQ6ZnVuY3Rpb24odCl7dmFyIGU9Xy5kZWxlZ2F0ZTtyZXR1cm4oKG51bGw9PWU/dm9pZCAwOmUuY2xlYXJUaW1lb3V0KXx8Y2xlYXJUaW1lb3V0KSh0KX0sZGVsZWdhdGU6dm9pZCAwfTtmdW5jdGlvbiBDKHQpe18uc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0aHJvdyB0fSkpfWZ1bmN0aW9uIE0oKXt9dmFyIHY9bnVsbDtmdW5jdGlvbiB4KHQpe2lmKHkudXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyl7dmFyIGU9IXY7aWYoZSYmKHY9e2Vycm9yVGhyb3duOiExLGVycm9yOm51bGx9KSx0KCksZSl7dmFyIG49djtpZih2PW51bGwsbi5lcnJvclRocm93bil0aHJvdyBuLmVycm9yfX1lbHNlIHQoKX12YXIgTz0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihlKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4uaXNTdG9wcGVkPSExLGU/KG4uZGVzdGluYXRpb249ZSxoKGUpJiZlLmFkZChuKSk6bi5kZXN0aW5hdGlvbj1TLG59cmV0dXJuIGUobix0KSxuLmNyZWF0ZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIG5ldyBQKHQsZSxuKX0sbi5wcm90b3R5cGUubmV4dD1mdW5jdGlvbih0KXt0aGlzLmlzU3RvcHBlZHx8dGhpcy5fbmV4dCh0KX0sbi5wcm90b3R5cGUuZXJyb3I9ZnVuY3Rpb24odCl7dGhpcy5pc1N0b3BwZWR8fCh0aGlzLmlzU3RvcHBlZD0hMCx0aGlzLl9lcnJvcih0KSl9LG4ucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dGhpcy5pc1N0b3BwZWR8fCh0aGlzLmlzU3RvcHBlZD0hMCx0aGlzLl9jb21wbGV0ZSgpKX0sbi5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXt0aGlzLmNsb3NlZHx8KHRoaXMuaXNTdG9wcGVkPSEwLHQucHJvdG90eXBlLnVuc3Vic2NyaWJlLmNhbGwodGhpcyksdGhpcy5kZXN0aW5hdGlvbj1udWxsKX0sbi5wcm90b3R5cGUuX25leHQ9ZnVuY3Rpb24odCl7dGhpcy5kZXN0aW5hdGlvbi5uZXh0KHQpfSxuLnByb3RvdHlwZS5fZXJyb3I9ZnVuY3Rpb24odCl7dHJ5e3RoaXMuZGVzdGluYXRpb24uZXJyb3IodCl9ZmluYWxseXt0aGlzLnVuc3Vic2NyaWJlKCl9fSxuLnByb3RvdHlwZS5fY29tcGxldGU9ZnVuY3Rpb24oKXt0cnl7dGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX0sbn0pKHUpLFA9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4oZSxuLG8pe3ZhciBpLGE9dC5jYWxsKHRoaXMpfHx0aGlzO2lmKGQoZSkpaT1lO2Vsc2UgaWYoZSl7dmFyIHI7aT1lLm5leHQsbj1lLmVycm9yLG89ZS5jb21wbGV0ZSxhJiZ5LnVzZURlcHJlY2F0ZWROZXh0Q29udGV4dD8ocj1PYmplY3QuY3JlYXRlKGUpKS51bnN1YnNjcmliZT1mdW5jdGlvbigpe3JldHVybiBhLnVuc3Vic2NyaWJlKCl9OnI9ZSxpPW51bGw9PWk/dm9pZCAwOmkuYmluZChyKSxuPW51bGw9PW4/dm9pZCAwOm4uYmluZChyKSxvPW51bGw9PW8/dm9pZCAwOm8uYmluZChyKX1yZXR1cm4gYS5kZXN0aW5hdGlvbj17bmV4dDppP3coaSk6TSxlcnJvcjp3KG51bGwhPW4/bjprKSxjb21wbGV0ZTpvP3cobyk6TX0sYX1yZXR1cm4gZShuLHQpLG59KShPKTtmdW5jdGlvbiB3KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKWVbbl09YXJndW1lbnRzW25dO3RyeXt0LmFwcGx5KHZvaWQgMCxyKFtdLGEoZSkpKX1jYXRjaCh0KXtDKHQpfX19ZnVuY3Rpb24gayh0KXt0aHJvdyB0fXZhciBTPXtjbG9zZWQ6ITAsbmV4dDpNLGVycm9yOmssY29tcGxldGU6TX0sRD0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7ZnVuY3Rpb24gUih0KXtyZXR1cm4gdH1mdW5jdGlvbiBFKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3JldHVybiBBKHQpfWZ1bmN0aW9uIEEodCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9SOjE9PT10Lmxlbmd0aD90WzBdOmZ1bmN0aW9uIGUobil7cmV0dXJuIHQucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiBlKHQpfSksbil9fXZhciBUPShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dCYmKHRoaXMuX3N1YnNjcmliZT10KX1yZXR1cm4gdC5wcm90b3R5cGUubGlmdD1mdW5jdGlvbihlKXt2YXIgbj1uZXcgdDtyZXR1cm4gbi5zb3VyY2U9dGhpcyxuLm9wZXJhdG9yPWUsbn0sdC5wcm90b3R5cGUuc3Vic2NyaWJlPWZ1bmN0aW9uKHQsZSxuKXt2YXIgbz10aGlzLGk9KGZ1bmN0aW9uIGEodCl7cmV0dXJuIHQmJnQgaW5zdGFuY2VvZiBPfHwoZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmZCh0Lm5leHQpJiZkKHQuZXJyb3IpJiZkKHQuY29tcGxldGUpfSkodCkmJmgodCl9KSh0KT90Om5ldyBQKHQsZSxuKTtyZXR1cm4geCgoZnVuY3Rpb24oKXt2YXIgdD1vLm9wZXJhdG9yLGU9by5zb3VyY2U7aS5hZGQodD90LmNhbGwoaSxlKTplP28uX3N1YnNjcmliZShpKTpvLl90cnlTdWJzY3JpYmUoaSkpfSkpLGl9LHQucHJvdG90eXBlLl90cnlTdWJzY3JpYmU9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0aGlzLl9zdWJzY3JpYmUodCl9Y2F0Y2goZSl7dC5lcnJvcihlKX19LHQucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO3JldHVybiBuZXcoZT1OKGUpKSgoZnVuY3Rpb24oZSxvKXt2YXIgaTtpPW4uc3Vic2NyaWJlKChmdW5jdGlvbihlKXt0cnl7dChlKX1jYXRjaCh0KXtvKHQpLG51bGw9PWl8fGkudW5zdWJzY3JpYmUoKX19KSxvLGUpfSkpfSx0LnByb3RvdHlwZS5fc3Vic2NyaWJlPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBudWxsPT09KGU9dGhpcy5zb3VyY2UpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnN1YnNjcmliZSh0KX0sdC5wcm90b3R5cGVbRF09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdC5wcm90b3R5cGUucGlwZT1mdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gQSh0KSh0aGlzKX0sdC5wcm90b3R5cGUudG9Qcm9taXNlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7cmV0dXJuIG5ldyh0PU4odCkpKChmdW5jdGlvbih0LG4pe3ZhciBvO2Uuc3Vic2NyaWJlKChmdW5jdGlvbih0KXtyZXR1cm4gbz10fSksKGZ1bmN0aW9uKHQpe3JldHVybiBuKHQpfSksKGZ1bmN0aW9uKCl7cmV0dXJuIHQobyl9KSl9KSl9LHQuY3JlYXRlPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgdChlKX0sdH0pKCk7ZnVuY3Rpb24gTih0KXt2YXIgZTtyZXR1cm4gbnVsbCE9PShlPW51bGwhPXQ/dDp5LlByb21pc2UpJiZ2b2lkIDAhPT1lP2U6UHJvbWlzZX1mdW5jdGlvbiB6KHQpe3JldHVybiBmdW5jdGlvbihlKXtpZigoZnVuY3Rpb24gbih0KXtyZXR1cm4gZChudWxsPT10P3ZvaWQgMDp0LmxpZnQpfSkoZSkpcmV0dXJuIGUubGlmdCgoZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0KGUsdGhpcyl9Y2F0Y2godCl7dGhpcy5lcnJvcih0KX19KSk7dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5hYmxlIHRvIGxpZnQgdW5rbm93biBPYnNlcnZhYmxlIHR5cGUiKX19dmFyIEksSD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihlLG4sbyxpLGEpe3ZhciByPXQuY2FsbCh0aGlzLGUpfHx0aGlzO3JldHVybiByLm9uRmluYWxpemU9YSxyLl9uZXh0PW4/ZnVuY3Rpb24odCl7dHJ5e24odCl9Y2F0Y2godCl7ZS5lcnJvcih0KX19OnQucHJvdG90eXBlLl9uZXh0LHIuX2Vycm9yPWk/ZnVuY3Rpb24odCl7dHJ5e2kodCl9Y2F0Y2godCl7ZS5lcnJvcih0KX1maW5hbGx5e3RoaXMudW5zdWJzY3JpYmUoKX19OnQucHJvdG90eXBlLl9lcnJvcixyLl9jb21wbGV0ZT1vP2Z1bmN0aW9uKCl7dHJ5e28oKX1jYXRjaCh0KXtlLmVycm9yKHQpfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX06dC5wcm90b3R5cGUuX2NvbXBsZXRlLHJ9cmV0dXJuIGUobix0KSxuLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbigpe3ZhciBlLG49dGhpcy5jbG9zZWQ7dC5wcm90b3R5cGUudW5zdWJzY3JpYmUuY2FsbCh0aGlzKSwhbiYmKG51bGw9PT0oZT10aGlzLm9uRmluYWxpemUpfHx2b2lkIDA9PT1lfHxlLmNhbGwodGhpcykpfSxufSkoTyksRj17c2NoZWR1bGU6ZnVuY3Rpb24odCl7dmFyIGU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lLG49Y2FuY2VsQW5pbWF0aW9uRnJhbWUsbz1GLmRlbGVnYXRlO28mJihlPW8ucmVxdWVzdEFuaW1hdGlvbkZyYW1lLG49by5jYW5jZWxBbmltYXRpb25GcmFtZSk7dmFyIGk9ZSgoZnVuY3Rpb24oZSl7bj12b2lkIDAsdChlKX0pKTtyZXR1cm4gbmV3IHUoKGZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PW4/dm9pZCAwOm4oaSl9KSl9LHJlcXVlc3RBbmltYXRpb25GcmFtZTpmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgbj1GLmRlbGVnYXRlO3JldHVybigobnVsbD09bj92b2lkIDA6bi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUpLmFwcGx5KHZvaWQgMCxyKFtdLGEodCkpKX0sY2FuY2VsQW5pbWF0aW9uRnJhbWU6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49Ri5kZWxlZ2F0ZTtyZXR1cm4oKG51bGw9PW4/dm9pZCAwOm4uY2FuY2VsQW5pbWF0aW9uRnJhbWUpfHxjYW5jZWxBbmltYXRpb25GcmFtZSkuYXBwbHkodm9pZCAwLHIoW10sYSh0KSkpfSxkZWxlZ2F0ZTp2b2lkIDB9LEw9cCgoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uIGUoKXt0KHRoaXMpLHRoaXMubmFtZT0iT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3IiLHRoaXMubWVzc2FnZT0ib2JqZWN0IHVuc3Vic2NyaWJlZCJ9fSkpLEI9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4oKXt2YXIgZT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGUuY2xvc2VkPSExLGUub2JzZXJ2ZXJzPVtdLGUuaXNTdG9wcGVkPSExLGUuaGFzRXJyb3I9ITEsZS50aHJvd25FcnJvcj1udWxsLGV9cmV0dXJuIGUobix0KSxuLnByb3RvdHlwZS5saWZ0PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBWKHRoaXMsdGhpcyk7cmV0dXJuIGUub3BlcmF0b3I9dCxlfSxuLnByb3RvdHlwZS5fdGhyb3dJZkNsb3NlZD1mdW5jdGlvbigpe2lmKHRoaXMuY2xvc2VkKXRocm93IG5ldyBMfSxuLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7eCgoZnVuY3Rpb24oKXt2YXIgbixvO2lmKGUuX3Rocm93SWZDbG9zZWQoKSwhZS5pc1N0b3BwZWQpe3ZhciBhPWUub2JzZXJ2ZXJzLnNsaWNlKCk7dHJ5e2Zvcih2YXIgcj1pKGEpLHM9ci5uZXh0KCk7IXMuZG9uZTtzPXIubmV4dCgpKXtzLnZhbHVlLm5leHQodCl9fWNhdGNoKHQpe249e2Vycm9yOnR9fWZpbmFsbHl7dHJ5e3MmJiFzLmRvbmUmJihvPXIucmV0dXJuKSYmby5jYWxsKHIpfWZpbmFsbHl7aWYobil0aHJvdyBuLmVycm9yfX19fSkpfSxuLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3goKGZ1bmN0aW9uKCl7aWYoZS5fdGhyb3dJZkNsb3NlZCgpLCFlLmlzU3RvcHBlZCl7ZS5oYXNFcnJvcj1lLmlzU3RvcHBlZD0hMCxlLnRocm93bkVycm9yPXQ7Zm9yKHZhciBuPWUub2JzZXJ2ZXJzO24ubGVuZ3RoOyluLnNoaWZ0KCkuZXJyb3IodCl9fSkpfSxuLnByb3RvdHlwZS5jb21wbGV0ZT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7eCgoZnVuY3Rpb24oKXtpZih0Ll90aHJvd0lmQ2xvc2VkKCksIXQuaXNTdG9wcGVkKXt0LmlzU3RvcHBlZD0hMDtmb3IodmFyIGU9dC5vYnNlcnZlcnM7ZS5sZW5ndGg7KWUuc2hpZnQoKS5jb21wbGV0ZSgpfX0pKX0sbi5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXt0aGlzLmlzU3RvcHBlZD10aGlzLmNsb3NlZD0hMCx0aGlzLm9ic2VydmVycz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsIm9ic2VydmVkIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuKG51bGw9PT0odD10aGlzLm9ic2VydmVycyl8fHZvaWQgMD09PXQ/dm9pZCAwOnQubGVuZ3RoKT4wfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLG4ucHJvdG90eXBlLl90cnlTdWJzY3JpYmU9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX3Rocm93SWZDbG9zZWQoKSx0LnByb3RvdHlwZS5fdHJ5U3Vic2NyaWJlLmNhbGwodGhpcyxlKX0sbi5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdGhyb3dJZkNsb3NlZCgpLHRoaXMuX2NoZWNrRmluYWxpemVkU3RhdHVzZXModCksdGhpcy5faW5uZXJTdWJzY3JpYmUodCl9LG4ucHJvdG90eXBlLl9pbm5lclN1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49ZS5vYnNlcnZlcnM7cmV0dXJuIGUuaGFzRXJyb3J8fGUuaXNTdG9wcGVkP2c6KG4ucHVzaCh0KSxuZXcgdSgoZnVuY3Rpb24oKXtyZXR1cm4gZihuLHQpfSkpKX0sbi5wcm90b3R5cGUuX2NoZWNrRmluYWxpemVkU3RhdHVzZXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPWUuaXNTdG9wcGVkO2UuaGFzRXJyb3I/dC5lcnJvcihlLnRocm93bkVycm9yKTpuJiZ0LmNvbXBsZXRlKCl9LG4ucHJvdG90eXBlLmFzT2JzZXJ2YWJsZT1mdW5jdGlvbigpe3ZhciB0PW5ldyBUO3JldHVybiB0LnNvdXJjZT10aGlzLHR9LG4uY3JlYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBWKHQsZSl9LG59KShUKSxWPShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUsbil7dmFyIG89dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBvLmRlc3RpbmF0aW9uPWUsby5zb3VyY2U9bixvfXJldHVybiBlKG4sdCksbi5wcm90b3R5cGUubmV4dD1mdW5jdGlvbih0KXt2YXIgZSxuO251bGw9PT0obj1udWxsPT09KGU9dGhpcy5kZXN0aW5hdGlvbil8fHZvaWQgMD09PWU/dm9pZCAwOmUubmV4dCl8fHZvaWQgMD09PW58fG4uY2FsbChlLHQpfSxuLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbih0KXt2YXIgZSxuO251bGw9PT0obj1udWxsPT09KGU9dGhpcy5kZXN0aW5hdGlvbil8fHZvaWQgMD09PWU/dm9pZCAwOmUuZXJyb3IpfHx2b2lkIDA9PT1ufHxuLmNhbGwoZSx0KX0sbi5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgdCxlO251bGw9PT0oZT1udWxsPT09KHQ9dGhpcy5kZXN0aW5hdGlvbil8fHZvaWQgMD09PXQ/dm9pZCAwOnQuY29tcGxldGUpfHx2b2lkIDA9PT1lfHxlLmNhbGwodCl9LG4ucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gbnVsbCE9PShuPW51bGw9PT0oZT10aGlzLnNvdXJjZSl8fHZvaWQgMD09PWU/dm9pZCAwOmUuc3Vic2NyaWJlKHQpKSYmdm9pZCAwIT09bj9uOmd9LG59KShCKSxqPShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUpe3ZhciBuPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gbi5fdmFsdWU9ZSxufXJldHVybiBlKG4sdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLCJ2YWx1ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFZhbHVlKCl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksbi5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbihlKXt2YXIgbj10LnByb3RvdHlwZS5fc3Vic2NyaWJlLmNhbGwodGhpcyxlKTtyZXR1cm4hbi5jbG9zZWQmJmUubmV4dCh0aGlzLl92YWx1ZSksbn0sbi5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5fdmFsdWU7aWYodC5oYXNFcnJvcil0aHJvdyB0LnRocm93bkVycm9yO3JldHVybiB0aGlzLl90aHJvd0lmQ2xvc2VkKCksZX0sbi5wcm90b3R5cGUubmV4dD1mdW5jdGlvbihlKXt0LnByb3RvdHlwZS5uZXh0LmNhbGwodGhpcyx0aGlzLl92YWx1ZT1lKX0sbn0pKEIpLFU9e25vdzpmdW5jdGlvbigpe3JldHVybihVLmRlbGVnYXRlfHxEYXRlKS5ub3coKX0sZGVsZWdhdGU6dm9pZCAwfSxXPShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUsbixvKXt2b2lkIDA9PT1lJiYoZT0xLzApLHZvaWQgMD09PW4mJihuPTEvMCksdm9pZCAwPT09byYmKG89VSk7dmFyIGk9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBpLl9idWZmZXJTaXplPWUsaS5fd2luZG93VGltZT1uLGkuX3RpbWVzdGFtcFByb3ZpZGVyPW8saS5fYnVmZmVyPVtdLGkuX2luZmluaXRlVGltZVdpbmRvdz0hMCxpLl9pbmZpbml0ZVRpbWVXaW5kb3c9bj09PTEvMCxpLl9idWZmZXJTaXplPU1hdGgubWF4KDEsZSksaS5fd2luZG93VGltZT1NYXRoLm1heCgxLG4pLGl9cmV0dXJuIGUobix0KSxuLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMsbz1uLl9idWZmZXIsaT1uLl9pbmZpbml0ZVRpbWVXaW5kb3csYT1uLl90aW1lc3RhbXBQcm92aWRlcixyPW4uX3dpbmRvd1RpbWU7bi5pc1N0b3BwZWR8fChvLnB1c2goZSksIWkmJm8ucHVzaChhLm5vdygpK3IpKSx0aGlzLl90cmltQnVmZmVyKCksdC5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMsZSl9LG4ucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24odCl7dGhpcy5fdGhyb3dJZkNsb3NlZCgpLHRoaXMuX3RyaW1CdWZmZXIoKTtmb3IodmFyIGU9dGhpcy5faW5uZXJTdWJzY3JpYmUodCksbj10aGlzLl9pbmZpbml0ZVRpbWVXaW5kb3csbz10aGlzLl9idWZmZXIuc2xpY2UoKSxpPTA7aTxvLmxlbmd0aCYmIXQuY2xvc2VkO2krPW4/MToyKXQubmV4dChvW2ldKTtyZXR1cm4gdGhpcy5fY2hlY2tGaW5hbGl6ZWRTdGF0dXNlcyh0KSxlfSxuLnByb3RvdHlwZS5fdHJpbUJ1ZmZlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10Ll9idWZmZXJTaXplLG49dC5fdGltZXN0YW1wUHJvdmlkZXIsbz10Ll9idWZmZXIsaT10Ll9pbmZpbml0ZVRpbWVXaW5kb3csYT0oaT8xOjIpKmU7aWYoZTwxLzAmJmE8by5sZW5ndGgmJm8uc3BsaWNlKDAsby5sZW5ndGgtYSksIWkpe2Zvcih2YXIgcj1uLm5vdygpLHM9MCxsPTE7bDxvLmxlbmd0aCYmb1tsXTw9cjtsKz0yKXM9bDtzJiZvLnNwbGljZSgwLHMrMSl9fSxufSkoQiksRz0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihlLG4pe3JldHVybiB0LmNhbGwodGhpcyl8fHRoaXN9cmV0dXJuIGUobix0KSxuLnByb3RvdHlwZS5zY2hlZHVsZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzfSxufSkodSksWT17c2V0SW50ZXJ2YWw6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49WS5kZWxlZ2F0ZTtyZXR1cm4oKG51bGw9PW4/dm9pZCAwOm4uc2V0SW50ZXJ2YWwpfHxzZXRJbnRlcnZhbCkuYXBwbHkodm9pZCAwLHIoW10sYSh0KSkpfSxjbGVhckludGVydmFsOmZ1bmN0aW9uKHQpe3ZhciBlPVkuZGVsZWdhdGU7cmV0dXJuKChudWxsPT1lP3ZvaWQgMDplLmNsZWFySW50ZXJ2YWwpfHxjbGVhckludGVydmFsKSh0KX0sZGVsZWdhdGU6dm9pZCAwfSxxPShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUsbil7dmFyIG89dC5jYWxsKHRoaXMsZSxuKXx8dGhpcztyZXR1cm4gby5zY2hlZHVsZXI9ZSxvLndvcms9bixvLnBlbmRpbmc9ITEsb31yZXR1cm4gZShuLHQpLG4ucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwPT09ZSYmKGU9MCksdGhpcy5jbG9zZWQpcmV0dXJuIHRoaXM7dGhpcy5zdGF0ZT10O3ZhciBuPXRoaXMuaWQsbz10aGlzLnNjaGVkdWxlcjtyZXR1cm4gbnVsbCE9biYmKHRoaXMuaWQ9dGhpcy5yZWN5Y2xlQXN5bmNJZChvLG4sZSkpLHRoaXMucGVuZGluZz0hMCx0aGlzLmRlbGF5PWUsdGhpcy5pZD10aGlzLmlkfHx0aGlzLnJlcXVlc3RBc3luY0lkKG8sdGhpcy5pZCxlKSx0aGlzfSxuLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHZvaWQgMD09PW4mJihuPTApLFkuc2V0SW50ZXJ2YWwodC5mbHVzaC5iaW5kKHQsdGhpcyksbil9LG4ucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKHQsZSxuKXtpZih2b2lkIDA9PT1uJiYobj0wKSxudWxsIT1uJiZ0aGlzLmRlbGF5PT09biYmITE9PT10aGlzLnBlbmRpbmcpcmV0dXJuIGU7WS5jbGVhckludGVydmFsKGUpfSxuLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKHQsZSl7aWYodGhpcy5jbG9zZWQpcmV0dXJuIG5ldyBFcnJvcigiZXhlY3V0aW5nIGEgY2FuY2VsbGVkIGFjdGlvbiIpO3RoaXMucGVuZGluZz0hMTt2YXIgbj10aGlzLl9leGVjdXRlKHQsZSk7aWYobilyZXR1cm4gbjshMT09PXRoaXMucGVuZGluZyYmbnVsbCE9dGhpcy5pZCYmKHRoaXMuaWQ9dGhpcy5yZWN5Y2xlQXN5bmNJZCh0aGlzLnNjaGVkdWxlcix0aGlzLmlkLG51bGwpKX0sbi5wcm90b3R5cGUuX2V4ZWN1dGU9ZnVuY3Rpb24odCxlKXt2YXIgbixvPSExO3RyeXt0aGlzLndvcmsodCl9Y2F0Y2godCl7bz0hMCxuPSEhdCYmdHx8bmV3IEVycm9yKHQpfWlmKG8pcmV0dXJuIHRoaXMudW5zdWJzY3JpYmUoKSxufSxuLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbigpe2lmKCF0aGlzLmNsb3NlZCl7dmFyIGU9dGhpcy5pZCxuPXRoaXMuc2NoZWR1bGVyLG89bi5hY3Rpb25zO3RoaXMud29yaz10aGlzLnN0YXRlPXRoaXMuc2NoZWR1bGVyPW51bGwsdGhpcy5wZW5kaW5nPSExLGYobyx0aGlzKSxudWxsIT1lJiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKG4sZSxudWxsKSksdGhpcy5kZWxheT1udWxsLHQucHJvdG90eXBlLnVuc3Vic2NyaWJlLmNhbGwodGhpcyl9fSxufSkoRyksWj0xLFg9e307ZnVuY3Rpb24gSyh0KXtyZXR1cm4gdCBpbiBYJiYoZGVsZXRlIFhbdF0sITApfXZhciBKPWZ1bmN0aW9uKHQpe3ZhciBlPVorKztyZXR1cm4gWFtlXT0hMCxJfHwoST1Qcm9taXNlLnJlc29sdmUoKSksSS50aGVuKChmdW5jdGlvbigpe3JldHVybiBLKGUpJiZ0KCl9KSksZX0sUT1mdW5jdGlvbih0KXtLKHQpfSwkPXtzZXRJbW1lZGlhdGU6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49JC5kZWxlZ2F0ZTtyZXR1cm4oKG51bGw9PW4/dm9pZCAwOm4uc2V0SW1tZWRpYXRlKXx8SikuYXBwbHkodm9pZCAwLHIoW10sYSh0KSkpfSxjbGVhckltbWVkaWF0ZTpmdW5jdGlvbih0KXt2YXIgZT0kLmRlbGVnYXRlO3JldHVybigobnVsbD09ZT92b2lkIDA6ZS5jbGVhckltbWVkaWF0ZSl8fFEpKHQpfSxkZWxlZ2F0ZTp2b2lkIDB9LHR0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUsbil7dmFyIG89dC5jYWxsKHRoaXMsZSxuKXx8dGhpcztyZXR1cm4gby5zY2hlZHVsZXI9ZSxvLndvcms9bixvfXJldHVybiBlKG4sdCksbi5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQ9ZnVuY3Rpb24oZSxuLG8pe3JldHVybiB2b2lkIDA9PT1vJiYobz0wKSxudWxsIT09byYmbz4wP3QucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkLmNhbGwodGhpcyxlLG4sbyk6KGUuYWN0aW9ucy5wdXNoKHRoaXMpLGUuX3NjaGVkdWxlZHx8KGUuX3NjaGVkdWxlZD0kLnNldEltbWVkaWF0ZShlLmZsdXNoLmJpbmQoZSx2b2lkIDApKSkpfSxuLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZD1mdW5jdGlvbihlLG4sbyl7aWYodm9pZCAwPT09byYmKG89MCksbnVsbCE9byYmbz4wfHxudWxsPT1vJiZ0aGlzLmRlbGF5PjApcmV0dXJuIHQucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkLmNhbGwodGhpcyxlLG4sbyk7MD09PWUuYWN0aW9ucy5sZW5ndGgmJigkLmNsZWFySW1tZWRpYXRlKG4pLGUuX3NjaGVkdWxlZD12b2lkIDApfSxufSkocSksZXQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4pe3ZvaWQgMD09PW4mJihuPXQubm93KSx0aGlzLnNjaGVkdWxlckFjdGlvbkN0b3I9ZSx0aGlzLm5vdz1ufXJldHVybiB0LnByb3RvdHlwZS5zY2hlZHVsZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHZvaWQgMD09PWUmJihlPTApLG5ldyB0aGlzLnNjaGVkdWxlckFjdGlvbkN0b3IodGhpcyx0KS5zY2hlZHVsZShuLGUpfSx0Lm5vdz1VLm5vdyx0fSkoKSxudD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihlLG4pe3ZvaWQgMD09PW4mJihuPWV0Lm5vdyk7dmFyIG89dC5jYWxsKHRoaXMsZSxuKXx8dGhpcztyZXR1cm4gby5hY3Rpb25zPVtdLG8uX2FjdGl2ZT0hMSxvLl9zY2hlZHVsZWQ9dm9pZCAwLG99cmV0dXJuIGUobix0KSxuLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmFjdGlvbnM7aWYodGhpcy5fYWN0aXZlKWUucHVzaCh0KTtlbHNle3ZhciBuO3RoaXMuX2FjdGl2ZT0hMDtkb3tpZihuPXQuZXhlY3V0ZSh0LnN0YXRlLHQuZGVsYXkpKWJyZWFrfXdoaWxlKHQ9ZS5zaGlmdCgpKTtpZih0aGlzLl9hY3RpdmU9ITEsbil7Zm9yKDt0PWUuc2hpZnQoKTspdC51bnN1YnNjcmliZSgpO3Rocm93IG59fX0sbn0pKGV0KSxvdD1uZXcoKGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gbnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBlKG4sdCksbi5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24odCl7dGhpcy5fYWN0aXZlPSEwLHRoaXMuX3NjaGVkdWxlZD12b2lkIDA7dmFyIGUsbj10aGlzLmFjdGlvbnMsbz0tMTt0PXR8fG4uc2hpZnQoKTt2YXIgaT1uLmxlbmd0aDtkb3tpZihlPXQuZXhlY3V0ZSh0LnN0YXRlLHQuZGVsYXkpKWJyZWFrfXdoaWxlKCsrbzxpJiYodD1uLnNoaWZ0KCkpKTtpZih0aGlzLl9hY3RpdmU9ITEsZSl7Zm9yKDsrK288aSYmKHQ9bi5zaGlmdCgpKTspdC51bnN1YnNjcmliZSgpO3Rocm93IGV9fSxufSkobnQpKSh0dCksaXQ9bmV3IG50KHEpLGF0PWl0LHJ0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUsbil7dmFyIG89dC5jYWxsKHRoaXMsZSxuKXx8dGhpcztyZXR1cm4gby5zY2hlZHVsZXI9ZSxvLndvcms9bixvfXJldHVybiBlKG4sdCksbi5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49MCksbj4wP3QucHJvdG90eXBlLnNjaGVkdWxlLmNhbGwodGhpcyxlLG4pOih0aGlzLmRlbGF5PW4sdGhpcy5zdGF0ZT1lLHRoaXMuc2NoZWR1bGVyLmZsdXNoKHRoaXMpLHRoaXMpfSxuLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGUsbil7cmV0dXJuIG4+MHx8dGhpcy5jbG9zZWQ/dC5wcm90b3R5cGUuZXhlY3V0ZS5jYWxsKHRoaXMsZSxuKTp0aGlzLl9leGVjdXRlKGUsbil9LG4ucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKGUsbixvKXtyZXR1cm4gdm9pZCAwPT09byYmKG89MCksbnVsbCE9byYmbz4wfHxudWxsPT1vJiZ0aGlzLmRlbGF5PjA/dC5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQuY2FsbCh0aGlzLGUsbixvKTplLmZsdXNoKHRoaXMpfSxufSkocSksc3Q9bmV3KChmdW5jdGlvbih0KXtmdW5jdGlvbiBuKCl7cmV0dXJuIG51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gZShuLHQpLG59KShudCkpKHJ0KSxsdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihlLG4pe3ZhciBvPXQuY2FsbCh0aGlzLGUsbil8fHRoaXM7cmV0dXJuIG8uc2NoZWR1bGVyPWUsby53b3JrPW4sb31yZXR1cm4gZShuLHQpLG4ucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKGUsbixvKXtyZXR1cm4gdm9pZCAwPT09byYmKG89MCksbnVsbCE9PW8mJm8+MD90LnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZC5jYWxsKHRoaXMsZSxuLG8pOihlLmFjdGlvbnMucHVzaCh0aGlzKSxlLl9zY2hlZHVsZWR8fChlLl9zY2hlZHVsZWQ9Ri5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuZmx1c2godm9pZCAwKX0pKSkpfSxuLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZD1mdW5jdGlvbihlLG4sbyl7aWYodm9pZCAwPT09byYmKG89MCksbnVsbCE9byYmbz4wfHxudWxsPT1vJiZ0aGlzLmRlbGF5PjApcmV0dXJuIHQucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkLmNhbGwodGhpcyxlLG4sbyk7MD09PWUuYWN0aW9ucy5sZW5ndGgmJihGLmNhbmNlbEFuaW1hdGlvbkZyYW1lKG4pLGUuX3NjaGVkdWxlZD12b2lkIDApfSxufSkocSksY3Q9bmV3KChmdW5jdGlvbih0KXtmdW5jdGlvbiBuKCl7cmV0dXJuIG51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gZShuLHQpLG4ucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKHQpe3RoaXMuX2FjdGl2ZT0hMCx0aGlzLl9zY2hlZHVsZWQ9dm9pZCAwO3ZhciBlLG49dGhpcy5hY3Rpb25zLG89LTE7dD10fHxuLnNoaWZ0KCk7dmFyIGk9bi5sZW5ndGg7ZG97aWYoZT10LmV4ZWN1dGUodC5zdGF0ZSx0LmRlbGF5KSlicmVha313aGlsZSgrK288aSYmKHQ9bi5zaGlmdCgpKSk7aWYodGhpcy5fYWN0aXZlPSExLGUpe2Zvcig7KytvPGkmJih0PW4uc2hpZnQoKSk7KXQudW5zdWJzY3JpYmUoKTt0aHJvdyBlfX0sbn0pKG50KSkobHQpLGR0PW5ldyBUKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jb21wbGV0ZSgpfSkpO2Z1bmN0aW9uIHB0KHQsZSl7cmV0dXJuIG5ldyBUKChmdW5jdGlvbihuKXt2YXIgbz0wO3JldHVybiBlLnNjaGVkdWxlKChmdW5jdGlvbigpe289PT10Lmxlbmd0aD9uLmNvbXBsZXRlKCk6KG4ubmV4dCh0W28rK10pLG4uY2xvc2VkfHx0aGlzLnNjaGVkdWxlKCkpfSkpfSkpfXZhciBtdD1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aCYmImZ1bmN0aW9uIiE9dHlwZW9mIHR9O2Z1bmN0aW9uIGZ0KHQpe3JldHVybiBkKG51bGw9PXQ/dm9pZCAwOnQudGhlbil9dmFyIHV0LGd0PShmdW5jdGlvbiBodCgpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvcj9TeW1ib2wuaXRlcmF0b3I6IkBAaXRlcmF0b3IifSkoKTtmdW5jdGlvbiBidCh0LGUpe2lmKCF0KXRocm93IG5ldyBFcnJvcigiSXRlcmFibGUgY2Fubm90IGJlIG51bGwiKTtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKG4pe3ZhciBvPW5ldyB1O3JldHVybiBvLmFkZChlLnNjaGVkdWxlKChmdW5jdGlvbigpe3ZhciBpPXRbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCk7by5hZGQoZS5zY2hlZHVsZSgoZnVuY3Rpb24oKXt2YXIgdD10aGlzO2kubmV4dCgpLnRoZW4oKGZ1bmN0aW9uKGUpe2UuZG9uZT9uLmNvbXBsZXRlKCk6KG4ubmV4dChlLnZhbHVlKSx0LnNjaGVkdWxlKCkpfSkpfSkpKX0pKSksb30pKX1mdW5jdGlvbiB5dCh0KXtyZXR1cm4gZCh0W0RdKX1mdW5jdGlvbiBfdCh0KXtyZXR1cm4gZChudWxsPT10P3ZvaWQgMDp0W2d0XSl9ZnVuY3Rpb24gQ3QodCl7cmV0dXJuIFN5bWJvbC5hc3luY0l0ZXJhdG9yJiZkKG51bGw9PXQ/dm9pZCAwOnRbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKX1mdW5jdGlvbiBNdCh0KXtyZXR1cm4gbmV3IFR5cGVFcnJvcigiWW91IHByb3ZpZGVkICIrKG51bGwhPT10JiYib2JqZWN0Ij09dHlwZW9mIHQ/ImFuIGludmFsaWQgb2JqZWN0IjoiJyIrdCsiJyIpKyIgd2hlcmUgYSBzdHJlYW0gd2FzIGV4cGVjdGVkLiBZb3UgY2FuIHByb3ZpZGUgYW4gT2JzZXJ2YWJsZSwgUHJvbWlzZSwgUmVhZGFibGVTdHJlYW0sIEFycmF5LCBBc3luY0l0ZXJhYmxlLCBvciBJdGVyYWJsZS4iKX1mdW5jdGlvbiB2dCh0KXtyZXR1cm4gbCh0aGlzLGFyZ3VtZW50cywoZnVuY3Rpb24gZSgpe3ZhciBuLGksYTtyZXR1cm4gbyh0aGlzLChmdW5jdGlvbihlKXtzd2l0Y2goZS5sYWJlbCl7Y2FzZSAwOm49dC5nZXRSZWFkZXIoKSxlLmxhYmVsPTE7Y2FzZSAxOmUudHJ5cy5wdXNoKFsxLCw5LDEwXSksZS5sYWJlbD0yO2Nhc2UgMjpyZXR1cm5bNCxzKG4ucmVhZCgpKV07Y2FzZSAzOnJldHVybiBpPWUuc2VudCgpLGE9aS52YWx1ZSxpLmRvbmU/WzQscyh2b2lkIDApXTpbMyw1XTtjYXNlIDQ6cmV0dXJuWzIsZS5zZW50KCldO2Nhc2UgNTpyZXR1cm5bNCxzKGEpXTtjYXNlIDY6cmV0dXJuWzQsZS5zZW50KCldO2Nhc2UgNzpyZXR1cm4gZS5zZW50KCksWzMsMl07Y2FzZSA4OnJldHVyblszLDEwXTtjYXNlIDk6cmV0dXJuIG4ucmVsZWFzZUxvY2soKSxbN107Y2FzZSAxMDpyZXR1cm5bMl19fSkpfSkpfWZ1bmN0aW9uIHh0KHQpe3JldHVybiBkKG51bGw9PXQ/dm9pZCAwOnQuZ2V0UmVhZGVyKX1mdW5jdGlvbiBPdCh0LGUpe2lmKG51bGwhPXQpe2lmKHl0KHQpKXJldHVybihmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIG5ldyBUKChmdW5jdGlvbihuKXt2YXIgbz1uZXcgdTtyZXR1cm4gby5hZGQoZS5zY2hlZHVsZSgoZnVuY3Rpb24oKXt2YXIgaT10W0RdKCk7by5hZGQoaS5zdWJzY3JpYmUoe25leHQ6ZnVuY3Rpb24odCl7by5hZGQoZS5zY2hlZHVsZSgoZnVuY3Rpb24oKXtyZXR1cm4gbi5uZXh0KHQpfSkpKX0sZXJyb3I6ZnVuY3Rpb24odCl7by5hZGQoZS5zY2hlZHVsZSgoZnVuY3Rpb24oKXtyZXR1cm4gbi5lcnJvcih0KX0pKSl9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7by5hZGQoZS5zY2hlZHVsZSgoZnVuY3Rpb24oKXtyZXR1cm4gbi5jb21wbGV0ZSgpfSkpKX19KSl9KSkpLG99KSl9KSh0LGUpO2lmKG10KHQpKXJldHVybiBwdCh0LGUpO2lmKGZ0KHQpKXJldHVybihmdW5jdGlvbiBvKHQsZSl7cmV0dXJuIG5ldyBUKChmdW5jdGlvbihuKXtyZXR1cm4gZS5zY2hlZHVsZSgoZnVuY3Rpb24oKXtyZXR1cm4gdC50aGVuKChmdW5jdGlvbih0KXtuLmFkZChlLnNjaGVkdWxlKChmdW5jdGlvbigpe24ubmV4dCh0KSxuLmFkZChlLnNjaGVkdWxlKChmdW5jdGlvbigpe3JldHVybiBuLmNvbXBsZXRlKCl9KSkpfSkpKX0pLChmdW5jdGlvbih0KXtuLmFkZChlLnNjaGVkdWxlKChmdW5jdGlvbigpe3JldHVybiBuLmVycm9yKHQpfSkpKX0pKX0pKX0pKX0pKHQsZSk7aWYoQ3QodCkpcmV0dXJuIGJ0KHQsZSk7aWYoX3QodCkpcmV0dXJuKGZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKG4pe3ZhciBvO3JldHVybiBuLmFkZChlLnNjaGVkdWxlKChmdW5jdGlvbigpe289dFtndF0oKSwoZnVuY3Rpb24gaSh0LGUsbixvKXt2b2lkIDA9PT1vJiYobz0wKTt2YXIgaT1lLnNjaGVkdWxlKChmdW5jdGlvbigpe3RyeXtuLmNhbGwodGhpcyl9Y2F0Y2goZSl7dC5lcnJvcihlKX19KSxvKTt0LmFkZChpKX0pKG4sZSwoZnVuY3Rpb24oKXt2YXIgdD1vLm5leHQoKSxlPXQudmFsdWU7dC5kb25lP24uY29tcGxldGUoKToobi5uZXh0KGUpLHRoaXMuc2NoZWR1bGUoKSl9KSl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIGQobnVsbD09bz92b2lkIDA6by5yZXR1cm4pJiZvLnJldHVybigpfX0pKX0pKHQsZSk7aWYoeHQodCkpcmV0dXJuKGZ1bmN0aW9uIGEodCxlKXtyZXR1cm4gYnQodnQodCksZSl9KSh0LGUpfXRocm93IE10KHQpfWZ1bmN0aW9uIFB0KHQsZSl7cmV0dXJuIGU/T3QodCxlKTp3dCh0KX1mdW5jdGlvbiB3dCh0KXtpZih0IGluc3RhbmNlb2YgVClyZXR1cm4gdDtpZihudWxsIT10KXtpZih5dCh0KSlyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKGUpe3ZhciBuPXRbRF0oKTtpZihkKG4uc3Vic2NyaWJlKSlyZXR1cm4gbi5zdWJzY3JpYmUoZSk7dGhyb3cgbmV3IFR5cGVFcnJvcigiUHJvdmlkZWQgb2JqZWN0IGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgU3ltYm9sLm9ic2VydmFibGUiKX0pKX0pKHQpO2lmKG10KHQpKXJldHVybiBrdCh0KTtpZihmdCh0KSlyZXR1cm4oZnVuY3Rpb24gbih0KXtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKGUpe3QudGhlbigoZnVuY3Rpb24odCl7ZS5jbG9zZWR8fChlLm5leHQodCksZS5jb21wbGV0ZSgpKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gZS5lcnJvcih0KX0pKS50aGVuKG51bGwsQyl9KSl9KSh0KTtpZihDdCh0KSlyZXR1cm4gU3QodCk7aWYoX3QodCkpcmV0dXJuKGZ1bmN0aW9uIG8odCl7cmV0dXJuIG5ldyBUKChmdW5jdGlvbihlKXt2YXIgbixvO3RyeXtmb3IodmFyIGE9aSh0KSxyPWEubmV4dCgpOyFyLmRvbmU7cj1hLm5leHQoKSl7aWYoZS5uZXh0KHIudmFsdWUpLGUuY2xvc2VkKXJldHVybn19Y2F0Y2godCl7bj17ZXJyb3I6dH19ZmluYWxseXt0cnl7ciYmIXIuZG9uZSYmKG89YS5yZXR1cm4pJiZvLmNhbGwoYSl9ZmluYWxseXtpZihuKXRocm93IG4uZXJyb3J9fWUuY29tcGxldGUoKX0pKX0pKHQpO2lmKHh0KHQpKXJldHVybihmdW5jdGlvbiBhKHQpe3JldHVybiBTdCh2dCh0KSl9KSh0KX10aHJvdyBNdCh0KX1mdW5jdGlvbiBrdCh0KXtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj0wO248dC5sZW5ndGgmJiFlLmNsb3NlZDtuKyspZS5uZXh0KHRbbl0pO2UuY29tcGxldGUoKX0pKX1mdW5jdGlvbiBTdCh0KXtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKGUpeyhmdW5jdGlvbiBpKHQsZSl7dmFyIGksYSxyLHM7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBuO3JldHVybiBvKHRoaXMsKGZ1bmN0aW9uKG8pe3N3aXRjaChvLmxhYmVsKXtjYXNlIDA6by50cnlzLnB1c2goWzAsNSw2LDExXSksaT1jKHQpLG8ubGFiZWw9MTtjYXNlIDE6cmV0dXJuWzQsaS5uZXh0KCldO2Nhc2UgMjppZigoYT1vLnNlbnQoKSkuZG9uZSlyZXR1cm5bMyw0XTtpZihlLm5leHQoYS52YWx1ZSksZS5jbG9zZWQpcmV0dXJuWzJdO28ubGFiZWw9MztjYXNlIDM6cmV0dXJuWzMsMV07Y2FzZSA0OnJldHVyblszLDExXTtjYXNlIDU6cmV0dXJuIG49by5zZW50KCkscj17ZXJyb3I6bn0sWzMsMTFdO2Nhc2UgNjpyZXR1cm4gby50cnlzLnB1c2goWzYsLDksMTBdKSxhJiYhYS5kb25lJiYocz1pLnJldHVybik/WzQscy5jYWxsKGkpXTpbMyw4XTtjYXNlIDc6by5zZW50KCksby5sYWJlbD04O2Nhc2UgODpyZXR1cm5bMywxMF07Y2FzZSA5OmlmKHIpdGhyb3cgci5lcnJvcjtyZXR1cm5bN107Y2FzZSAxMDpyZXR1cm5bN107Y2FzZSAxMTpyZXR1cm4gZS5jb21wbGV0ZSgpLFsyXX19KSl9KSl9KSh0LGUpLmNhdGNoKChmdW5jdGlvbih0KXtyZXR1cm4gZS5lcnJvcih0KX0pKX0pKX1mdW5jdGlvbiBEdCh0LGUpe3JldHVybiBlP3B0KHQsZSk6a3QodCl9ZnVuY3Rpb24gUnQodCl7cmV0dXJuIHQmJmQodC5zY2hlZHVsZSl9ZnVuY3Rpb24gRXQodCl7cmV0dXJuIHRbdC5sZW5ndGgtMV19ZnVuY3Rpb24gQXQodCl7cmV0dXJuIGQoRXQodCkpP3QucG9wKCk6dm9pZCAwfWZ1bmN0aW9uIFR0KHQpe3JldHVybiBSdChFdCh0KSk/dC5wb3AoKTp2b2lkIDB9ZnVuY3Rpb24gTnQodCxlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIEV0KHQpP3QucG9wKCk6ZX1mdW5jdGlvbiB6dCgpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgbj1UdCh0KTtyZXR1cm4gbj9wdCh0LG4pOkR0KHQpfWZ1bmN0aW9uIEl0KHQsZSl7dmFyIG49ZCh0KT90OmZ1bmN0aW9uKCl7cmV0dXJuIHR9LG89ZnVuY3Rpb24odCl7cmV0dXJuIHQuZXJyb3IobigpKX07cmV0dXJuIG5ldyBUKGU/ZnVuY3Rpb24odCl7cmV0dXJuIGUuc2NoZWR1bGUobywwLHQpfTpvKX0hKGZ1bmN0aW9uKHQpe3QuTkVYVD0iTiIsdC5FUlJPUj0iRSIsdC5DT01QTEVURT0iQyJ9KSh1dHx8KHV0PXt9KSk7dmFyIEh0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlLG4pe3RoaXMua2luZD10LHRoaXMudmFsdWU9ZSx0aGlzLmVycm9yPW4sdGhpcy5oYXNWYWx1ZT0iTiI9PT10fXJldHVybiB0LnByb3RvdHlwZS5vYnNlcnZlPWZ1bmN0aW9uKHQpe3JldHVybiBGdCh0aGlzLHQpfSx0LnByb3RvdHlwZS5kbz1mdW5jdGlvbih0LGUsbil7dmFyIG89dGhpcyxpPW8ua2luZCxhPW8uZXJyb3I7cmV0dXJuIk4iPT09aT9udWxsPT10P3ZvaWQgMDp0KG8udmFsdWUpOiJFIj09PWk/bnVsbD09ZT92b2lkIDA6ZShhKTpudWxsPT1uP3ZvaWQgMDpuKCl9LHQucHJvdG90eXBlLmFjY2VwdD1mdW5jdGlvbih0LGUsbil7dmFyIG87cmV0dXJuIGQobnVsbD09PShvPXQpfHx2b2lkIDA9PT1vP3ZvaWQgMDpvLm5leHQpP3RoaXMub2JzZXJ2ZSh0KTp0aGlzLmRvKHQsZSxuKX0sdC5wcm90b3R5cGUudG9PYnNlcnZhYmxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQua2luZCxuPXQuZXJyb3Isbz0iTiI9PT1lP3p0KHQudmFsdWUpOiJFIj09PWU/SXQoKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSk6IkMiPT09ZT9kdDowO2lmKCFvKXRocm93IG5ldyBUeXBlRXJyb3IoIlVuZXhwZWN0ZWQgbm90aWZpY2F0aW9uIGtpbmQgIitlKTtyZXR1cm4gb30sdC5jcmVhdGVOZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgdCgiTiIsZSl9LHQuY3JlYXRlRXJyb3I9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0KCJFIix2b2lkIDAsZSl9LHQuY3JlYXRlQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4gdC5jb21wbGV0ZU5vdGlmaWNhdGlvbn0sdC5jb21wbGV0ZU5vdGlmaWNhdGlvbj1uZXcgdCgiQyIpLHR9KSgpO2Z1bmN0aW9uIEZ0KHQsZSl7dmFyIG4sbyxpLGE9dC5raW5kLHI9dC52YWx1ZSxzPXQuZXJyb3I7aWYoInN0cmluZyIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgbm90aWZpY2F0aW9uLCBtaXNzaW5nICJraW5kIicpOyJOIj09PWE/bnVsbD09PShuPWUubmV4dCl8fHZvaWQgMD09PW58fG4uY2FsbChlLHIpOiJFIj09PWE/bnVsbD09PShvPWUuZXJyb3IpfHx2b2lkIDA9PT1vfHxvLmNhbGwoZSxzKTpudWxsPT09KGk9ZS5jb21wbGV0ZSl8fHZvaWQgMD09PWl8fGkuY2FsbChlKX1mdW5jdGlvbiBMdCh0KXtyZXR1cm4hIXQmJih0IGluc3RhbmNlb2YgVHx8ZCh0LmxpZnQpJiZkKHQuc3Vic2NyaWJlKSl9dmFyIEJ0PXAoKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbiBlKCl7dCh0aGlzKSx0aGlzLm5hbWU9IkVtcHR5RXJyb3IiLHRoaXMubWVzc2FnZT0ibm8gZWxlbWVudHMgaW4gc2VxdWVuY2UifX0pKTtmdW5jdGlvbiBWdCh0LGUpe3JldHVybiB6KChmdW5jdGlvbihuLG8pe3ZhciBpPTA7bi5zdWJzY3JpYmUobmV3IEgobywoZnVuY3Rpb24obil7by5uZXh0KHQuY2FsbChlLG4saSsrKSl9KSkpfSkpfXZhciBqdD1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIFV0KHQpe3JldHVybiBWdCgoZnVuY3Rpb24oZSl7cmV0dXJuKGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4ganQoZSk/dC5hcHBseSh2b2lkIDAscihbXSxhKGUpKSk6dChlKX0pKHQsZSl9KSl9dmFyIFd0PUFycmF5LmlzQXJyYXksR3Q9T2JqZWN0LmdldFByb3RvdHlwZU9mLFl0PU9iamVjdC5wcm90b3R5cGUscXQ9T2JqZWN0LmtleXM7ZnVuY3Rpb24gWnQodCl7aWYoMT09PXQubGVuZ3RoKXt2YXIgZT10WzBdO2lmKFd0KGUpKXJldHVybnthcmdzOmUsa2V5czpudWxsfTtpZigoZnVuY3Rpb24gbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0JiZHdCh0KT09PVl0fSkoZSkpe3ZhciBvPXF0KGUpO3JldHVybnthcmdzOm8ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX0pKSxrZXlzOm99fX1yZXR1cm57YXJnczp0LGtleXM6bnVsbH19ZnVuY3Rpb24gWHQodCxlKXtyZXR1cm4gdC5yZWR1Y2UoKGZ1bmN0aW9uKHQsbixvKXtyZXR1cm4gdFtuXT1lW29dLHR9KSx7fSl9ZnVuY3Rpb24gS3QoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49VHQodCksbz1BdCh0KSxpPVp0KHQpLGE9aS5hcmdzLHI9aS5rZXlzO2lmKDA9PT1hLmxlbmd0aClyZXR1cm4gUHQoW10sbik7dmFyIHM9bmV3IFQoSnQoYSxuLHI/ZnVuY3Rpb24odCl7cmV0dXJuIFh0KHIsdCl9OlIpKTtyZXR1cm4gbz9zLnBpcGUoVXQobykpOnN9ZnVuY3Rpb24gSnQodCxlLG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj1SKSxmdW5jdGlvbihvKXtRdChlLChmdW5jdGlvbigpe2Zvcih2YXIgaT10Lmxlbmd0aCxhPW5ldyBBcnJheShpKSxyPWkscz1pLGw9ZnVuY3Rpb24oaSl7UXQoZSwoZnVuY3Rpb24oKXt2YXIgbD1QdCh0W2ldLGUpLGM9ITE7bC5zdWJzY3JpYmUobmV3IEgobywoZnVuY3Rpb24odCl7YVtpXT10LGN8fChjPSEwLHMtLSksc3x8by5uZXh0KG4oYS5zbGljZSgpKSl9KSwoZnVuY3Rpb24oKXstLXJ8fG8uY29tcGxldGUoKX0pKSl9KSxvKX0sYz0wO2M8aTtjKyspbChjKX0pLG8pfX1mdW5jdGlvbiBRdCh0LGUsbil7dD9uLmFkZCh0LnNjaGVkdWxlKGUpKTplKCl9ZnVuY3Rpb24gJHQodCxlLG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj0xLzApLGQoZSk/JHQoKGZ1bmN0aW9uKG4sbyl7cmV0dXJuIFZ0KChmdW5jdGlvbih0LGkpe3JldHVybiBlKG4sdCxvLGkpfSkpKHd0KHQobixvKSkpfSksbik6KCJudW1iZXIiPT10eXBlb2YgZSYmKG49ZSkseigoZnVuY3Rpb24oZSxvKXtyZXR1cm4oZnVuY3Rpb24gaSh0LGUsbixvLGEscixzLGwpe3ZhciBjPVtdLGQ9MCxwPTAsbT0hMSxmPWZ1bmN0aW9uKCl7IW18fGMubGVuZ3RofHxkfHxlLmNvbXBsZXRlKCl9LHU9ZnVuY3Rpb24odCl7cmV0dXJuIGQ8bz9nKHQpOmMucHVzaCh0KX0sZz1mdW5jdGlvbih0KXtyJiZlLm5leHQodCksZCsrO3ZhciBpPSExO3d0KG4odCxwKyspKS5zdWJzY3JpYmUobmV3IEgoZSwoZnVuY3Rpb24odCl7bnVsbD09YXx8YSh0KSxyP3UodCk6ZS5uZXh0KHQpfSksKGZ1bmN0aW9uKCl7aT0hMH0pLHZvaWQgMCwoZnVuY3Rpb24oKXtpZihpKXRyeXtkLS07Zm9yKHZhciB0PWZ1bmN0aW9uKCl7dmFyIHQ9Yy5zaGlmdCgpO3M/ZS5hZGQocy5zY2hlZHVsZSgoZnVuY3Rpb24oKXtyZXR1cm4gZyh0KX0pKSk6Zyh0KX07Yy5sZW5ndGgmJmQ8bzspdCgpO2YoKX1jYXRjaCh0KXtlLmVycm9yKHQpfX0pKSl9O3JldHVybiB0LnN1YnNjcmliZShuZXcgSChlLHUsKGZ1bmN0aW9uKCl7bT0hMCxmKCl9KSkpLGZ1bmN0aW9uKCl7bnVsbD09bHx8bCgpfX0pKGUsbyx0LG4pfSkpKX1mdW5jdGlvbiB0ZSh0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9MS8wKSwkdChSLHQpfWZ1bmN0aW9uIGVlKCl7cmV0dXJuIHRlKDEpfWZ1bmN0aW9uIG5lKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3JldHVybiBlZSgpKER0KHQsVHQodCkpKX1mdW5jdGlvbiBvZSh0KXtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKGUpe3d0KHQoKSkuc3Vic2NyaWJlKGUpfSkpfWZ1bmN0aW9uIGllKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3ZhciBuPUF0KHQpLG89WnQodCksaT1vLmFyZ3MsYT1vLmtleXMscj1uZXcgVCgoZnVuY3Rpb24odCl7dmFyIGU9aS5sZW5ndGg7aWYoZSlmb3IodmFyIG49bmV3IEFycmF5KGUpLG89ZSxyPWUscz1mdW5jdGlvbihlKXt2YXIgcz0hMTt3dChpW2VdKS5zdWJzY3JpYmUobmV3IEgodCwoZnVuY3Rpb24odCl7c3x8KHM9ITAsci0tKSxuW2VdPXR9KSwoZnVuY3Rpb24oKXstLW8mJnN8fChyfHx0Lm5leHQoYT9YdChhLG4pOm4pLHQuY29tcGxldGUoKSl9KSkpfSxsPTA7bDxlO2wrKylzKGwpO2Vsc2UgdC5jb21wbGV0ZSgpfSkpO3JldHVybiBuP3IucGlwZShVdChuKSk6cn12YXIgYWU9WyJhZGRMaXN0ZW5lciIsInJlbW92ZUxpc3RlbmVyIl0scmU9WyJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciJdLHNlPVsib24iLCJvZmYiXTtmdW5jdGlvbiBsZSh0LGUsbixvKXtpZihkKG4pJiYobz1uLG49dm9pZCAwKSxvKXJldHVybiBsZSh0LGUsbikucGlwZShVdChvKSk7dmFyIGk9YSgoZnVuY3Rpb24gcih0KXtyZXR1cm4gZCh0LmFkZEV2ZW50TGlzdGVuZXIpJiZkKHQucmVtb3ZlRXZlbnRMaXN0ZW5lcil9KSh0KT9yZS5tYXAoKGZ1bmN0aW9uKG8pe3JldHVybiBmdW5jdGlvbihpKXtyZXR1cm4gdFtvXShlLGksbil9fSkpOihmdW5jdGlvbiBzKHQpe3JldHVybiBkKHQuYWRkTGlzdGVuZXIpJiZkKHQucmVtb3ZlTGlzdGVuZXIpfSkodCk/YWUubWFwKGNlKHQsZSkpOihmdW5jdGlvbiBsKHQpe3JldHVybiBkKHQub24pJiZkKHQub2ZmKX0pKHQpP3NlLm1hcChjZSh0LGUpKTpbXSwyKSxjPWlbMF0scD1pWzFdO2lmKCFjJiZtdCh0KSlyZXR1cm4gJHQoKGZ1bmN0aW9uKHQpe3JldHVybiBsZSh0LGUsbil9KSkoRHQodCkpO2lmKCFjKXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgZXZlbnQgdGFyZ2V0Iik7cmV0dXJuIG5ldyBUKChmdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gdC5uZXh0KDE8ZS5sZW5ndGg/ZTplWzBdKX07cmV0dXJuIGMoZSksZnVuY3Rpb24oKXtyZXR1cm4gcChlKX19KSl9ZnVuY3Rpb24gY2UodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG8pe3JldHVybiB0W25dKGUsbyl9fX1mdW5jdGlvbiBkZSh0LGUsbil7dm9pZCAwPT09dCYmKHQ9MCksdm9pZCAwPT09biYmKG49YXQpO3ZhciBvPS0xO3JldHVybiBudWxsIT1lJiYoUnQoZSk/bj1lOm89ZSksbmV3IFQoKGZ1bmN0aW9uKGUpe3ZhciBpPShmdW5jdGlvbiBhKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRGF0ZSYmIWlzTmFOKHQpfSkodCk/K3Qtbi5ub3coKTp0O2k8MCYmKGk9MCk7dmFyIHI9MDtyZXR1cm4gbi5zY2hlZHVsZSgoZnVuY3Rpb24oKXtlLmNsb3NlZHx8KGUubmV4dChyKyspLDA8PW8/dGhpcy5zY2hlZHVsZSh2b2lkIDAsbyk6ZS5jb21wbGV0ZSgpKX0pLGkpfSkpfWZ1bmN0aW9uIHBlKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3ZhciBuPVR0KHQpLG89TnQodCwxLzApLGk9dDtyZXR1cm4gaS5sZW5ndGg/MT09PWkubGVuZ3RoP3d0KGlbMF0pOnRlKG8pKER0KGksbikpOmR0fXZhciBtZT1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIGZlKHQpe3JldHVybiAxPT09dC5sZW5ndGgmJm1lKHRbMF0pP3RbMF06dH1mdW5jdGlvbiB1ZSh0LGUpe3JldHVybiB6KChmdW5jdGlvbihuLG8pe3ZhciBpPTA7bi5zdWJzY3JpYmUobmV3IEgobywoZnVuY3Rpb24obil7cmV0dXJuIHQuY2FsbChlLG4saSsrKSYmby5uZXh0KG4pfSkpKX0pKX1mdW5jdGlvbiBnZSh0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT1hdCksKGZ1bmN0aW9uIG4odCl7cmV0dXJuIHooKGZ1bmN0aW9uKGUsbil7dmFyIG89ITEsaT1udWxsLGE9bnVsbCxyPSExLHM9ZnVuY3Rpb24oKXtpZihudWxsPT1hfHxhLnVuc3Vic2NyaWJlKCksYT1udWxsLG8pe289ITE7dmFyIHQ9aTtpPW51bGwsbi5uZXh0KHQpfXImJm4uY29tcGxldGUoKX0sbD1mdW5jdGlvbigpe2E9bnVsbCxyJiZuLmNvbXBsZXRlKCl9O2Uuc3Vic2NyaWJlKG5ldyBIKG4sKGZ1bmN0aW9uKGUpe289ITAsaT1lLGF8fHd0KHQoZSkpLnN1YnNjcmliZShhPW5ldyBIKG4scyxsKSl9KSwoZnVuY3Rpb24oKXtyPSEwLCghb3x8IWF8fGEuY2xvc2VkKSYmbi5jb21wbGV0ZSgpfSkpKX0pKX0pKChmdW5jdGlvbigpe3JldHVybiBkZSh0LGUpfSkpfWZ1bmN0aW9uIGhlKHQpe3JldHVybiB6KChmdW5jdGlvbihlLG4pe3ZhciBvLGk9bnVsbCxhPSExO2k9ZS5zdWJzY3JpYmUobmV3IEgobix2b2lkIDAsdm9pZCAwLChmdW5jdGlvbihyKXtvPXd0KHQocixoZSh0KShlKSkpLGk/KGkudW5zdWJzY3JpYmUoKSxpPW51bGwsby5zdWJzY3JpYmUobikpOmE9ITB9KSkpLGEmJihpLnVuc3Vic2NyaWJlKCksaT1udWxsLG8uc3Vic2NyaWJlKG4pKX0pKX1mdW5jdGlvbiBiZSh0LGUsbixvLGkpe3JldHVybiBmdW5jdGlvbihhLHIpe3ZhciBzPW4sbD1lLGM9MDthLnN1YnNjcmliZShuZXcgSChyLChmdW5jdGlvbihlKXt2YXIgbj1jKys7bD1zP3QobCxlLG4pOihzPSEwLGUpLG8mJnIubmV4dChsKX0pLGkmJmZ1bmN0aW9uKCl7cyYmci5uZXh0KGwpLHIuY29tcGxldGUoKX0pKX19ZnVuY3Rpb24geWUoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49QXQodCk7cmV0dXJuIG4/RSh5ZS5hcHBseSh2b2lkIDAscihbXSxhKHQpKSksVXQobikpOnooKGZ1bmN0aW9uKGUsbil7SnQocihbZV0sYShmZSh0KSkpKShuKX0pKX1mdW5jdGlvbiBfZSgpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4geWUuYXBwbHkodm9pZCAwLHIoW10sYSh0KSkpfWZ1bmN0aW9uIENlKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPWl0KSx6KChmdW5jdGlvbihuLG8pe3ZhciBpPW51bGwsYT1udWxsLHI9bnVsbCxzPWZ1bmN0aW9uKCl7aWYoaSl7aS51bnN1YnNjcmliZSgpLGk9bnVsbDt2YXIgdD1hO2E9bnVsbCxvLm5leHQodCl9fTtmdW5jdGlvbiBsKCl7dmFyIG49cit0LGE9ZS5ub3coKTtpZihhPG4pcmV0dXJuIGk9dGhpcy5zY2hlZHVsZSh2b2lkIDAsbi1hKSx2b2lkIG8uYWRkKGkpO3MoKX1uLnN1YnNjcmliZShuZXcgSChvLChmdW5jdGlvbihuKXthPW4scj1lLm5vdygpLGl8fChpPWUuc2NoZWR1bGUobCx0KSxvLmFkZChpKSl9KSwoZnVuY3Rpb24oKXtzKCksby5jb21wbGV0ZSgpfSksdm9pZCAwLChmdW5jdGlvbigpe2E9aT1udWxsfSkpKX0pKX1mdW5jdGlvbiBNZSh0KXtyZXR1cm4geigoZnVuY3Rpb24oZSxuKXt2YXIgbz0hMTtlLnN1YnNjcmliZShuZXcgSChuLChmdW5jdGlvbih0KXtvPSEwLG4ubmV4dCh0KX0pLChmdW5jdGlvbigpe298fG4ubmV4dCh0KSxuLmNvbXBsZXRlKCl9KSkpfSkpfWZ1bmN0aW9uIHZlKHQpe3JldHVybiB0PD0wP2Z1bmN0aW9uKCl7cmV0dXJuIGR0fTp6KChmdW5jdGlvbihlLG4pe3ZhciBvPTA7ZS5zdWJzY3JpYmUobmV3IEgobiwoZnVuY3Rpb24oZSl7KytvPD10JiYobi5uZXh0KGUpLHQ8PW8mJm4uY29tcGxldGUoKSl9KSkpfSkpfWZ1bmN0aW9uIHhlKCl7cmV0dXJuIHooKGZ1bmN0aW9uKHQsZSl7dC5zdWJzY3JpYmUobmV3IEgoZSxNKSl9KSl9ZnVuY3Rpb24gT2UodCxlKXtyZXR1cm4gZT9mdW5jdGlvbihuKXtyZXR1cm4gbmUoZS5waXBlKHZlKDEpLHhlKCkpLG4ucGlwZShPZSh0KSkpfTokdCgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gdChlLG4pLnBpcGUodmUoMSksKGZ1bmN0aW9uIG8odCl7cmV0dXJuIFZ0KChmdW5jdGlvbigpe3JldHVybiB0fSkpfSkoZSkpfSkpfWZ1bmN0aW9uIFBlKHQsZSl7dm9pZCAwPT09ZSYmKGU9aXQpO3ZhciBuPWRlKHQsZSk7cmV0dXJuIE9lKChmdW5jdGlvbigpe3JldHVybiBufSkpfWZ1bmN0aW9uIHdlKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPVIpLHQ9bnVsbCE9dD90OmtlLHooKGZ1bmN0aW9uKG4sbyl7dmFyIGksYT0hMDtuLnN1YnNjcmliZShuZXcgSChvLChmdW5jdGlvbihuKXt2YXIgcj1lKG4pOyFhJiZ0KGkscil8fChhPSExLGk9cixvLm5leHQobikpfSkpKX0pKX1mdW5jdGlvbiBrZSh0LGUpe3JldHVybiB0PT09ZX1mdW5jdGlvbiBTZSh0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9RGUpLHooKGZ1bmN0aW9uKGUsbil7dmFyIG89ITE7ZS5zdWJzY3JpYmUobmV3IEgobiwoZnVuY3Rpb24odCl7bz0hMCxuLm5leHQodCl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gbz9uLmNvbXBsZXRlKCk6bi5lcnJvcih0KCkpfSkpKX0pKX1mdW5jdGlvbiBEZSgpe3JldHVybiBuZXcgQnR9ZnVuY3Rpb24gUmUodCxlKXtyZXR1cm4gZT9mdW5jdGlvbihuKXtyZXR1cm4gbi5waXBlKFJlKChmdW5jdGlvbihuLG8pe3JldHVybiB3dCh0KG4sbykpLnBpcGUoVnQoKGZ1bmN0aW9uKHQsaSl7cmV0dXJuIGUobix0LG8saSl9KSkpfSkpKX06eigoZnVuY3Rpb24oZSxuKXt2YXIgbz0wLGk9bnVsbCxhPSExO2Uuc3Vic2NyaWJlKG5ldyBIKG4sKGZ1bmN0aW9uKGUpe2l8fChpPW5ldyBIKG4sdm9pZCAwLChmdW5jdGlvbigpe2k9bnVsbCxhJiZuLmNvbXBsZXRlKCl9KSksd3QodChlLG8rKykpLnN1YnNjcmliZShpKSl9KSwoZnVuY3Rpb24oKXthPSEwLCFpJiZuLmNvbXBsZXRlKCl9KSkpfSkpfWZ1bmN0aW9uIEVlKHQsZSxuLG8pe3JldHVybiB6KChmdW5jdGlvbihpLGEpe3ZhciByO2UmJiJmdW5jdGlvbiIhPXR5cGVvZiBlPyhuPWUuZHVyYXRpb24scj1lLmVsZW1lbnQsbz1lLmNvbm5lY3Rvcik6cj1lO3ZhciBzPW5ldyBNYXAsbD1mdW5jdGlvbih0KXtzLmZvckVhY2godCksdChhKX0sYz1mdW5jdGlvbih0KXtyZXR1cm4gbCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXJyb3IodCl9KSl9LGQ9bmV3IEFlKGEsKGZ1bmN0aW9uKGUpe3RyeXt2YXIgaT10KGUpLGw9cy5nZXQoaSk7aWYoIWwpe3Muc2V0KGksbD1vP28oKTpuZXcgQik7dmFyIHA9KGZ1bmN0aW9uIG0odCxlKXt2YXIgbj1uZXcgVCgoZnVuY3Rpb24odCl7ZC5hY3RpdmVHcm91cHMrKzt2YXIgbj1lLnN1YnNjcmliZSh0KTtyZXR1cm4gZnVuY3Rpb24oKXtuLnVuc3Vic2NyaWJlKCksMD09LS1kLmFjdGl2ZUdyb3VwcyYmZC50ZWFyZG93bkF0dGVtcHRlZCYmZC51bnN1YnNjcmliZSgpfX0pKTtyZXR1cm4gbi5rZXk9dCxufSkoaSxsKTtpZihhLm5leHQocCksbil7dmFyIGY9bmV3IEgobCwoZnVuY3Rpb24oKXtsLmNvbXBsZXRlKCksbnVsbD09Znx8Zi51bnN1YnNjcmliZSgpfSksdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXtyZXR1cm4gcy5kZWxldGUoaSl9KSk7ZC5hZGQod3QobihwKSkuc3Vic2NyaWJlKGYpKX19bC5uZXh0KHI/cihlKTplKX1jYXRjaCh0KXtjKHQpfX0pLChmdW5jdGlvbigpe3JldHVybiBsKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jb21wbGV0ZSgpfSkpfSksYywoZnVuY3Rpb24oKXtyZXR1cm4gcy5jbGVhcigpfSkpO2kuc3Vic2NyaWJlKGQpfSkpfXZhciBBZT0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gbigpe3ZhciBlPW51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztyZXR1cm4gZS5hY3RpdmVHcm91cHM9MCxlLnRlYXJkb3duQXR0ZW1wdGVkPSExLGV9cmV0dXJuIGUobix0KSxuLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbigpe3RoaXMudGVhcmRvd25BdHRlbXB0ZWQ9ITAsMD09PXRoaXMuYWN0aXZlR3JvdXBzJiZ0LnByb3RvdHlwZS51bnN1YnNjcmliZS5jYWxsKHRoaXMpfSxufSkoSCk7ZnVuY3Rpb24gVGUodCl7cmV0dXJuIHQ8PTA/ZnVuY3Rpb24oKXtyZXR1cm4gZHR9OnooKGZ1bmN0aW9uKGUsbil7dmFyIG89W107ZS5zdWJzY3JpYmUobmV3IEgobiwoZnVuY3Rpb24oZSl7by5wdXNoKGUpLHQ8by5sZW5ndGgmJm8uc2hpZnQoKX0pLChmdW5jdGlvbigpe3ZhciB0LGU7dHJ5e2Zvcih2YXIgYT1pKG8pLHI9YS5uZXh0KCk7IXIuZG9uZTtyPWEubmV4dCgpKXtuLm5leHQoci52YWx1ZSl9fWNhdGNoKGUpe3Q9e2Vycm9yOmV9fWZpbmFsbHl7dHJ5e3ImJiFyLmRvbmUmJihlPWEucmV0dXJuKSYmZS5jYWxsKGEpfWZpbmFsbHl7aWYodCl0aHJvdyB0LmVycm9yfX1uLmNvbXBsZXRlKCl9KSx2b2lkIDAsKGZ1bmN0aW9uKCl7bz1udWxsfSkpKX0pKX1mdW5jdGlvbiBOZSgpe3JldHVybiB6KChmdW5jdGlvbih0LGUpe3ZhciBuLG89ITE7dC5zdWJzY3JpYmUobmV3IEgoZSwoZnVuY3Rpb24odCl7dmFyIGk9bjtuPXQsbyYmZS5uZXh0KFtpLHRdKSxvPSEwfSkpKX0pKX1mdW5jdGlvbiB6ZSh0KXtyZXR1cm4geigoZnVuY3Rpb24oZSxuKXt2YXIgbyxpLGE9ITEscj0hMSxzPSExLGw9ZnVuY3Rpb24oKXtyZXR1cm4gcyYmciYmKG4uY29tcGxldGUoKSwhMCl9LGM9ZnVuY3Rpb24oKXtzPSExLG89ZS5zdWJzY3JpYmUobmV3IEgobix2b2lkIDAsKGZ1bmN0aW9uKCl7cz0hMCwhbCgpJiYoaXx8KGk9bmV3IEIsdChpKS5zdWJzY3JpYmUobmV3IEgobiwoZnVuY3Rpb24oKXtvP2MoKTphPSEwfSksKGZ1bmN0aW9uKCl7cj0hMCxsKCl9KSkpKSxpKS5uZXh0KCl9KSkpLGEmJihvLnVuc3Vic2NyaWJlKCksbz1udWxsLGE9ITEsYygpKX07YygpfSkpfWZ1bmN0aW9uIEllKHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgZT10LmNvbm5lY3RvcixuPXZvaWQgMD09PWU/ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEJ9OmUsbz10LnJlc2V0T25FcnJvcixpPXZvaWQgMD09PW98fG8sYT10LnJlc2V0T25Db21wbGV0ZSxyPXZvaWQgMD09PWF8fGEscz10LnJlc2V0T25SZWZDb3VudFplcm8sbD12b2lkIDA9PT1zfHxzO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT1udWxsLG89bnVsbCxhPW51bGwscz0wLGM9ITEsZD0hMSxwPWZ1bmN0aW9uKCl7bnVsbD09b3x8by51bnN1YnNjcmliZSgpLG89bnVsbH0sbT1mdW5jdGlvbigpe3AoKSxlPWE9bnVsbCxjPWQ9ITF9LGY9ZnVuY3Rpb24oKXt2YXIgdD1lO20oKSxudWxsPT10fHx0LnVuc3Vic2NyaWJlKCl9O3JldHVybiB6KChmdW5jdGlvbih0LHUpe3MrKyxkfHxjfHxwKCk7dmFyIGc9YT1udWxsIT1hP2E6bigpO3UuYWRkKChmdW5jdGlvbigpezAhPT0tLXN8fGR8fGN8fChvPUhlKGYsbCkpfSkpLGcuc3Vic2NyaWJlKHUpLGV8fChlPW5ldyBQKHtuZXh0OmZ1bmN0aW9uKHQpe3JldHVybiBnLm5leHQodCl9LGVycm9yOmZ1bmN0aW9uKHQpe2Q9ITAscCgpLG89SGUobSxpLHQpLGcuZXJyb3IodCl9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7Yz0hMCxwKCksbz1IZShtLHIpLGcuY29tcGxldGUoKX19KSxQdCh0KS5zdWJzY3JpYmUoZSkpfSkpKHQpfX1mdW5jdGlvbiBIZSh0LGUpe2Zvcih2YXIgbj1bXSxvPTI7bzxhcmd1bWVudHMubGVuZ3RoO28rKyluW28tMl09YXJndW1lbnRzW29dO3JldHVybiEwPT09ZT8odCgpLG51bGwpOiExPT09ZT9udWxsOmUuYXBwbHkodm9pZCAwLHIoW10sYShuKSkpLnBpcGUodmUoMSkpLnN1YnNjcmliZSgoZnVuY3Rpb24oKXtyZXR1cm4gdCgpfSkpfWZ1bmN0aW9uIEZlKHQsZSxuKXt2YXIgbyxpLGEscj0hMTtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0PyhhPW51bGwhPT0obz10LmJ1ZmZlclNpemUpJiZ2b2lkIDAhPT1vP286MS8wLGU9bnVsbCE9PShpPXQud2luZG93VGltZSkmJnZvaWQgMCE9PWk/aToxLzAscj0hIXQucmVmQ291bnQsbj10LnNjaGVkdWxlcik6YT1udWxsIT10P3Q6MS8wLEllKHtjb25uZWN0b3I6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFcoYSxlLG4pfSxyZXNldE9uRXJyb3I6ITAscmVzZXRPbkNvbXBsZXRlOiExLHJlc2V0T25SZWZDb3VudFplcm86cn0pfWZ1bmN0aW9uIExlKHQpe3JldHVybiB1ZSgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gdDw9bn0pKX1mdW5jdGlvbiBCZSgpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgbj1UdCh0KTtyZXR1cm4geigoZnVuY3Rpb24oZSxvKXsobj9uZSh0LGUsbik6bmUodCxlKSkuc3Vic2NyaWJlKG8pfSkpfWZ1bmN0aW9uIFZlKHQsZSl7cmV0dXJuIHooKGZ1bmN0aW9uKG4sbyl7dmFyIGk9bnVsbCxhPTAscj0hMSxzPWZ1bmN0aW9uKCl7cmV0dXJuIHImJiFpJiZvLmNvbXBsZXRlKCl9O24uc3Vic2NyaWJlKG5ldyBIKG8sKGZ1bmN0aW9uKG4pe251bGw9PWl8fGkudW5zdWJzY3JpYmUoKTt2YXIgcj0wLGw9YSsrO3d0KHQobixsKSkuc3Vic2NyaWJlKGk9bmV3IEgobywoZnVuY3Rpb24odCl7cmV0dXJuIG8ubmV4dChlP2Uobix0LGwscisrKTp0KX0pLChmdW5jdGlvbigpe2k9bnVsbCxzKCl9KSkpfSksKGZ1bmN0aW9uKCl7cj0hMCxzKCl9KSkpfSkpfWZ1bmN0aW9uIGplKHQpe3JldHVybiB6KChmdW5jdGlvbihlLG4pe3d0KHQpLnN1YnNjcmliZShuZXcgSChuLChmdW5jdGlvbigpe3JldHVybiBuLmNvbXBsZXRlKCl9KSxNKSksIW4uY2xvc2VkJiZlLnN1YnNjcmliZShuKX0pKX1mdW5jdGlvbiBVZSh0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT0hMSkseigoZnVuY3Rpb24obixvKXt2YXIgaT0wO24uc3Vic2NyaWJlKG5ldyBIKG8sKGZ1bmN0aW9uKG4pe3ZhciBhPXQobixpKyspOyhhfHxlKSYmby5uZXh0KG4pLCFhJiZvLmNvbXBsZXRlKCl9KSkpfSkpfWZ1bmN0aW9uIFdlKHQsZSxuKXt2YXIgbz1kKHQpfHxlfHxuP3tuZXh0OnQsZXJyb3I6ZSxjb21wbGV0ZTpufTp0O3JldHVybiBvP3ooKGZ1bmN0aW9uKHQsZSl7dmFyIG47bnVsbD09PShuPW8uc3Vic2NyaWJlKXx8dm9pZCAwPT09bnx8bi5jYWxsKG8pO3ZhciBpPSEwO3Quc3Vic2NyaWJlKG5ldyBIKGUsKGZ1bmN0aW9uKHQpe3ZhciBuO251bGw9PT0obj1vLm5leHQpfHx2b2lkIDA9PT1ufHxuLmNhbGwobyx0KSxlLm5leHQodCl9KSwoZnVuY3Rpb24oKXt2YXIgdDtpPSExLG51bGw9PT0odD1vLmNvbXBsZXRlKXx8dm9pZCAwPT09dHx8dC5jYWxsKG8pLGUuY29tcGxldGUoKX0pLChmdW5jdGlvbih0KXt2YXIgbjtpPSExLG51bGw9PT0obj1vLmVycm9yKXx8dm9pZCAwPT09bnx8bi5jYWxsKG8sdCksZS5lcnJvcih0KX0pLChmdW5jdGlvbigpe3ZhciB0LGU7aSYmKG51bGw9PT0odD1vLnVuc3Vic2NyaWJlKXx8dm9pZCAwPT09dHx8dC5jYWxsKG8pKSxudWxsPT09KGU9by5maW5hbGl6ZSl8fHZvaWQgMD09PWV8fGUuY2FsbChvKX0pKSl9KSk6Un12YXIgR2U9e2xlYWRpbmc6ITAsdHJhaWxpbmc6ITF9O2Z1bmN0aW9uIFllKHQsZSxuKXt2b2lkIDA9PT1lJiYoZT1pdCksdm9pZCAwPT09biYmKG49R2UpO3ZhciBvPWRlKHQsZSk7cmV0dXJuKGZ1bmN0aW9uIGkodCxlKXt2YXIgbj12b2lkIDA9PT1lP0dlOmUsbz1uLmxlYWRpbmcsaT1uLnRyYWlsaW5nO3JldHVybiB6KChmdW5jdGlvbihlLG4pe3ZhciBhPSExLHI9bnVsbCxzPW51bGwsbD0hMSxjPWZ1bmN0aW9uKCl7bnVsbD09c3x8cy51bnN1YnNjcmliZSgpLHM9bnVsbCxpJiYobSgpLGwmJm4uY29tcGxldGUoKSl9LGQ9ZnVuY3Rpb24oKXtzPW51bGwsbCYmbi5jb21wbGV0ZSgpfSxwPWZ1bmN0aW9uKGUpe3JldHVybiBzPXd0KHQoZSkpLnN1YnNjcmliZShuZXcgSChuLGMsZCkpfSxtPWZ1bmN0aW9uKCl7aWYoYSl7YT0hMTt2YXIgdD1yO3I9bnVsbCxuLm5leHQodCksIWwmJnAodCl9fTtlLnN1YnNjcmliZShuZXcgSChuLChmdW5jdGlvbih0KXthPSEwLHI9dCwoIXN8fHMuY2xvc2VkKSYmKG8/bSgpOnAodCkpfSksKGZ1bmN0aW9uKCl7bD0hMCwoIShpJiZhJiZzKXx8cy5jbG9zZWQpJiZuLmNvbXBsZXRlKCl9KSkpfSkpfSkoKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSxuKX1mdW5jdGlvbiBxZSgpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgbj1BdCh0KTtyZXR1cm4geigoZnVuY3Rpb24oZSxvKXtmb3IodmFyIGk9dC5sZW5ndGgscz1uZXcgQXJyYXkoaSksbD10Lm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4hMX0pKSxjPSExLGQ9ZnVuY3Rpb24oZSl7d3QodFtlXSkuc3Vic2NyaWJlKG5ldyBIKG8sKGZ1bmN0aW9uKHQpe3NbZV09dCxjfHxsW2VdfHwobFtlXT0hMCwoYz1sLmV2ZXJ5KFIpKSYmKGw9bnVsbCkpfSksTSkpfSxwPTA7cDxpO3ArKylkKHApO2Uuc3Vic2NyaWJlKG5ldyBIKG8sKGZ1bmN0aW9uKHQpe2lmKGMpe3ZhciBlPXIoW3RdLGEocykpO28ubmV4dChuP24uYXBwbHkodm9pZCAwLHIoW10sYShlKSkpOmUpfX0pKSl9KSl9Ci8qKgogICAgICogQGxpY2Vuc2UgQW5ndWxhciB2MTIuMi4xCiAgICAgKiAoYykgMjAxMC0yMDIxIEdvb2dsZSBMTEMuIGh0dHBzOi8vYW5ndWxhci5pby8KICAgICAqIExpY2Vuc2U6IE1JVAogICAgICovCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFplKHQpe2ZvcihsZXQgZSBpbiB0KWlmKHRbZV09PT1aZSlyZXR1cm4gZTt0aHJvdyBFcnJvcigiQ291bGQgbm90IGZpbmQgcmVuYW1lZCBwcm9wZXJ0eSBvbiB0YXJnZXQgb2JqZWN0LiIpfWZ1bmN0aW9uIFhlKHQsZSl7Zm9yKGNvbnN0IG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYhdC5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbbl09ZVtuXSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIEtlKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gdDtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiJbIit0Lm1hcChLZSkuam9pbigiLCAiKSsiXSI7aWYobnVsbD09dClyZXR1cm4iIit0O2lmKHQub3ZlcnJpZGRlbk5hbWUpcmV0dXJuYCR7dC5vdmVycmlkZGVuTmFtZX1gO2lmKHQubmFtZSlyZXR1cm5gJHt0Lm5hbWV9YDtjb25zdCBlPXQudG9TdHJpbmcoKTtpZihudWxsPT1lKXJldHVybiIiK2U7Y29uc3Qgbj1lLmluZGV4T2YoIlxuIik7cmV0dXJuLTE9PT1uP2U6ZS5zdWJzdHJpbmcoMCxuKX1mdW5jdGlvbiBKZSh0LGUpe3JldHVybiBudWxsPT10fHwiIj09PXQ/bnVsbD09PWU/IiI6ZTpudWxsPT1lfHwiIj09PWU/dDp0KyIgIitlfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBRZT1aZSh7X19mb3J3YXJkX3JlZl9fOlplfSk7ZnVuY3Rpb24gJGUodCl7cmV0dXJuIHQuX19mb3J3YXJkX3JlZl9fPSRlLHQudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gS2UodGhpcygpKX0sdH1mdW5jdGlvbiB0bih0KXtyZXR1cm4gZW4odCk/dCgpOnR9ZnVuY3Rpb24gZW4odCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQmJnQuaGFzT3duUHJvcGVydHkoUWUpJiZ0Ll9fZm9yd2FyZF9yZWZfXz09PSRlfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBubiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoYW4odCxlKSksdGhpcy5jb2RlPXR9fWNvbnN0IG9uPW5ldyBTZXQoWyIxMDAiLCIyMDAiLCIyMDEiLCIzMDAiLCIzMDEiLCIzMDIiXSk7ZnVuY3Rpb24gYW4odCxlKXtsZXQgbj1gJHt0P2BORzAke3R9OiBgOiIifSR7ZX1gO3JldHVybiBuZ0Rldk1vZGUmJm9uLmhhcyh0KSYmKG49YCR7bn0uIEZpbmQgbW9yZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vZXJyb3JzL05HMCR7dH1gKSxufQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBybih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/dDpudWxsPT10PyIiOlN0cmluZyh0KX1mdW5jdGlvbiBzbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90Lm5hbWV8fHQudG9TdHJpbmcoKToib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnR5cGU/dC50eXBlLm5hbWV8fHQudHlwZS50b1N0cmluZygpOnJuKHQpfWZ1bmN0aW9uIGxuKHQsZSl7Y29uc3Qgbj1lP2AuIERlcGVuZGVuY3kgcGF0aDogJHtlLmpvaW4oIiA+ICIpfSA+ICR7dH1gOiIiO3Rocm93IG5ldyBubigiMjAwIixgQ2lyY3VsYXIgZGVwZW5kZW5jeSBpbiBESSBkZXRlY3RlZCBmb3IgJHt0fSR7bn1gKX1mdW5jdGlvbiBjbigpe3Rocm93IG5ldyBFcnJvcigiQ2Fubm90IG1peCBtdWx0aSBwcm92aWRlcnMgYW5kIHJlZ3VsYXIgcHJvdmlkZXJzIil9ZnVuY3Rpb24gZG4odCxlKXtjb25zdCBuPWU/YCBpbiAke2V9YDoiIjt0aHJvdyBuZXcgbm4oIjIwMSIsYE5vIHByb3ZpZGVyIGZvciAke3NuKHQpfSBmb3VuZCR7bn1gKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gcG4odCxlKXsibnVtYmVyIiE9dHlwZW9mIHQmJk9uKGUsdHlwZW9mIHQsIm51bWJlciIsIj09PSIpfWZ1bmN0aW9uIG1uKHQsZSxuKXtwbih0LCJFeHBlY3RlZCBhIG51bWJlciIpLENuKHQsbiwiRXhwZWN0ZWQgbnVtYmVyIHRvIGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byIpLHZuKHQsZSwiRXhwZWN0ZWQgbnVtYmVyIHRvIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byIpfWZ1bmN0aW9uIGZuKHQsZSl7InN0cmluZyIhPXR5cGVvZiB0JiZPbihlLG51bGw9PT10PyJudWxsIjp0eXBlb2YgdCwic3RyaW5nIiwiPT09Iil9ZnVuY3Rpb24gdW4odCxlKXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmT24oZSxudWxsPT09dD8ibnVsbCI6dHlwZW9mIHQsImZ1bmN0aW9uIiwiPT09Iil9ZnVuY3Rpb24gZ24odCxlLG4pe3QhPWUmJk9uKG4sdCxlLCI9PSIpfWZ1bmN0aW9uIGhuKHQsZSxuKXt0PT1lJiZPbihuLHQsZSwiIT0iKX1mdW5jdGlvbiBibih0LGUsbil7dCE9PWUmJk9uKG4sdCxlLCI9PT0iKX1mdW5jdGlvbiB5bih0LGUsbil7dD09PWUmJk9uKG4sdCxlLCIhPT0iKX1mdW5jdGlvbiBfbih0LGUsbil7dDxlfHxPbihuLHQsZSwiPCIpfWZ1bmN0aW9uIENuKHQsZSxuKXt0PD1lfHxPbihuLHQsZSwiPD0iKX1mdW5jdGlvbiBNbih0LGUsbil7dD5lfHxPbihuLHQsZSwiPiIpfWZ1bmN0aW9uIHZuKHQsZSxuKXt0Pj1lfHxPbihuLHQsZSwiPj0iKX1mdW5jdGlvbiB4bih0LGUpe251bGw9PXQmJk9uKGUsdCxudWxsLCIhPSIpfWZ1bmN0aW9uIE9uKHQsZSxuLG8pe3Rocm93IG5ldyBFcnJvcihgQVNTRVJUSU9OIEVSUk9SOiAke3R9YCsobnVsbD09bz8iIjpgIFtFeHBlY3RlZD0+ICR7bn0gJHtvfSAke2V9IDw9QWN0dWFsXWApKX1mdW5jdGlvbiBQbih0KXsidW5kZWZpbmVkIiE9dHlwZW9mIE5vZGUmJnQgaW5zdGFuY2VvZiBOb2RlfHwib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPXQmJiJXZWJXb3JrZXJSZW5kZXJOb2RlIj09PXQuY29uc3RydWN0b3IubmFtZXx8T24oYFRoZSBwcm92aWRlZCB2YWx1ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIGEgRE9NIE5vZGUgYnV0IGdvdCAke0tlKHQpfWApfWZ1bmN0aW9uIHduKHQsZSl7eG4odCwiQXJyYXkgbXVzdCBiZSBkZWZpbmVkLiIpO2NvbnN0IG49dC5sZW5ndGg7KGU8MHx8ZT49bikmJk9uKGBJbmRleCBleHBlY3RlZCB0byBiZSBsZXNzIHRoYW4gJHtufSBidXQgZ290ICR7ZX1gKX1mdW5jdGlvbiBrbih0LC4uLmUpe2lmKC0xIT09ZS5pbmRleE9mKHQpKXJldHVybiEwO09uKGBFeHBlY3RlZCB2YWx1ZSB0byBiZSBvbmUgb2YgJHtKU09OLnN0cmluZ2lmeShlKX0gYnV0IHdhcyAke0pTT04uc3RyaW5naWZ5KHQpfS5gKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gU24odCl7cmV0dXJue3Rva2VuOnQudG9rZW4scHJvdmlkZWRJbjp0LnByb3ZpZGVkSW58fG51bGwsZmFjdG9yeTp0LmZhY3RvcnksdmFsdWU6dm9pZCAwfX1mdW5jdGlvbiBEbih0KXtyZXR1cm57cHJvdmlkZXJzOnQucHJvdmlkZXJzfHxbXSxpbXBvcnRzOnQuaW1wb3J0c3x8W119fWZ1bmN0aW9uIFJuKHQpe3JldHVybiBFbih0LFRuKXx8RW4odCx6bil9ZnVuY3Rpb24gRW4odCxlKXtyZXR1cm4gdC5oYXNPd25Qcm9wZXJ0eShlKT90W2VdOm51bGx9ZnVuY3Rpb24gQW4odCl7cmV0dXJuIHQmJih0Lmhhc093blByb3BlcnR5KE5uKXx8dC5oYXNPd25Qcm9wZXJ0eShJbikpP3RbTm5dOm51bGx9Y29uc3QgVG49WmUoeyLJtXByb3YiOlplfSksTm49WmUoeyLJtWluaiI6WmV9KSx6bj1aZSh7bmdJbmplY3RhYmxlRGVmOlplfSksSW49WmUoe25nSW5qZWN0b3JEZWY6WmV9KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCnZhciBIbjsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBGbjtmdW5jdGlvbiBMbih0KXtjb25zdCBlPUZuO3JldHVybiBGbj10LGV9ZnVuY3Rpb24gQm4odCxlLG4pe2NvbnN0IG89Um4odCk7cmV0dXJuIG8mJiJyb290Ij09by5wcm92aWRlZEluP3ZvaWQgMD09PW8udmFsdWU/by52YWx1ZT1vLmZhY3RvcnkoKTpvLnZhbHVlOm4mSG4uT3B0aW9uYWw/bnVsbDp2b2lkIDAhPT1lP2U6dm9pZCBkbihLZSh0KSwiSW5qZWN0b3IiKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIFZuKHQpe3JldHVybnt0b1N0cmluZzp0fS50b1N0cmluZygpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi92YXIgam4sVW4sV247IShmdW5jdGlvbih0KXt0W3QuRGVmYXVsdD0wXT0iRGVmYXVsdCIsdFt0Lkhvc3Q9MV09Ikhvc3QiLHRbdC5TZWxmPTJdPSJTZWxmIix0W3QuU2tpcFNlbGY9NF09IlNraXBTZWxmIix0W3QuT3B0aW9uYWw9OF09Ik9wdGlvbmFsIn0pKEhufHwoSG49e30pKSwoZnVuY3Rpb24odCl7dFt0Lk9uUHVzaD0wXT0iT25QdXNoIix0W3QuRGVmYXVsdD0xXT0iRGVmYXVsdCJ9KShqbnx8KGpuPXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5DaGVja09uY2U9MF09IkNoZWNrT25jZSIsdFt0LkNoZWNrZWQ9MV09IkNoZWNrZWQiLHRbdC5DaGVja0Fsd2F5cz0yXT0iQ2hlY2tBbHdheXMiLHRbdC5EZXRhY2hlZD0zXT0iRGV0YWNoZWQiLHRbdC5FcnJvcmVkPTRdPSJFcnJvcmVkIix0W3QuRGVzdHJveWVkPTVdPSJEZXN0cm95ZWQifSkoVW58fChVbj17fSkpLChmdW5jdGlvbih0KXt0W3QuRW11bGF0ZWQ9MF09IkVtdWxhdGVkIix0W3QuTm9uZT0yXT0iTm9uZSIsdFt0LlNoYWRvd0RvbT0zXT0iU2hhZG93RG9tIn0pKFdufHwoV249e30pKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IEduPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxZbj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LHFuPSJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmInVuZGVmaW5lZCIhPXR5cGVvZiBXb3JrZXJHbG9iYWxTY29wZSYmc2VsZiBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmLFpuPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsJiZnbG9iYWwsWG49R258fFpufHxZbnx8cW47ZnVuY3Rpb24gS24oKXtyZXR1cm4hKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlKSYmKCJvYmplY3QiIT10eXBlb2YgbmdEZXZNb2RlJiYoCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiB0KCl7Y29uc3QgdD0idW5kZWZpbmVkIiE9dHlwZW9mIGxvY2F0aW9uP2xvY2F0aW9uLnRvU3RyaW5nKCk6IiIsZT17bmFtZWRDb25zdHJ1Y3RvcnM6LTEhPXQuaW5kZXhPZigibmdEZXZNb2RlPW5hbWVkQ29uc3RydWN0b3JzIiksZmlyc3RDcmVhdGVQYXNzOjAsdE5vZGU6MCx0VmlldzowLHJlbmRlcmVyQ3JlYXRlVGV4dE5vZGU6MCxyZW5kZXJlclNldFRleHQ6MCxyZW5kZXJlckNyZWF0ZUVsZW1lbnQ6MCxyZW5kZXJlckFkZEV2ZW50TGlzdGVuZXI6MCxyZW5kZXJlclNldEF0dHJpYnV0ZTowLHJlbmRlcmVyUmVtb3ZlQXR0cmlidXRlOjAscmVuZGVyZXJTZXRQcm9wZXJ0eTowLHJlbmRlcmVyU2V0Q2xhc3NOYW1lOjAscmVuZGVyZXJBZGRDbGFzczowLHJlbmRlcmVyUmVtb3ZlQ2xhc3M6MCxyZW5kZXJlclNldFN0eWxlOjAscmVuZGVyZXJSZW1vdmVTdHlsZTowLHJlbmRlcmVyRGVzdHJveTowLHJlbmRlcmVyRGVzdHJveU5vZGU6MCxyZW5kZXJlck1vdmVOb2RlOjAscmVuZGVyZXJSZW1vdmVOb2RlOjAscmVuZGVyZXJBcHBlbmRDaGlsZDowLHJlbmRlcmVySW5zZXJ0QmVmb3JlOjAscmVuZGVyZXJDcmVhdGVDb21tZW50OjB9LG49LTE9PT10LmluZGV4T2YoIm5nRGV2TW9kZT1mYWxzZSIpO3JldHVybiBYbi5uZ0Rldk1vZGU9biYmZSxlfSkoKSwidW5kZWZpbmVkIiE9dHlwZW9mIG5nRGV2TW9kZSYmISFuZ0Rldk1vZGUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBKbj17fSxRbj1bXTsoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJktuKCkmJihPYmplY3QuZnJlZXplKEpuKSxPYmplY3QuZnJlZXplKFFuKSkKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovO2NvbnN0ICRuPVplKHsiybVjbXAiOlplfSksdG89WmUoeyLJtWRpciI6WmV9KSxlbz1aZSh7Ism1cGlwZSI6WmV9KSxubz1aZSh7Ism1bW9kIjpaZX0pLG9vPVplKHsiybVsb2MiOlplfSksaW89WmUoeyLJtWZhYyI6WmV9KSxhbz1aZSh7X19OR19FTEVNRU5UX0lEX186WmV9KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBybz0wO2Z1bmN0aW9uIHNvKHQpe3JldHVybiBWbigoKCk9PnsoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJktuKCk7Y29uc3QgZT17fSxuPXt0eXBlOnQudHlwZSxwcm92aWRlcnNSZXNvbHZlcjpudWxsLGRlY2xzOnQuZGVjbHMsdmFyczp0LnZhcnMsZmFjdG9yeTpudWxsLHRlbXBsYXRlOnQudGVtcGxhdGV8fG51bGwsY29uc3RzOnQuY29uc3RzfHxudWxsLG5nQ29udGVudFNlbGVjdG9yczp0Lm5nQ29udGVudFNlbGVjdG9ycyxob3N0QmluZGluZ3M6dC5ob3N0QmluZGluZ3N8fG51bGwsaG9zdFZhcnM6dC5ob3N0VmFyc3x8MCxob3N0QXR0cnM6dC5ob3N0QXR0cnN8fG51bGwsY29udGVudFF1ZXJpZXM6dC5jb250ZW50UXVlcmllc3x8bnVsbCxkZWNsYXJlZElucHV0czplLGlucHV0czpudWxsLG91dHB1dHM6bnVsbCxleHBvcnRBczp0LmV4cG9ydEFzfHxudWxsLG9uUHVzaDp0LmNoYW5nZURldGVjdGlvbj09PWpuLk9uUHVzaCxkaXJlY3RpdmVEZWZzOm51bGwscGlwZURlZnM6bnVsbCxzZWxlY3RvcnM6dC5zZWxlY3RvcnN8fFFuLHZpZXdRdWVyeTp0LnZpZXdRdWVyeXx8bnVsbCxmZWF0dXJlczp0LmZlYXR1cmVzfHxudWxsLGRhdGE6dC5kYXRhfHx7fSxlbmNhcHN1bGF0aW9uOnQuZW5jYXBzdWxhdGlvbnx8V24uRW11bGF0ZWQsaWQ6ImMiLHN0eWxlczp0LnN0eWxlc3x8UW4sXzpudWxsLHNldElucHV0Om51bGwsc2NoZW1hczp0LnNjaGVtYXN8fG51bGwsdFZpZXc6bnVsbH0sbz10LmRpcmVjdGl2ZXMsaT10LmZlYXR1cmVzLGE9dC5waXBlcztyZXR1cm4gbi5pZCs9cm8rKyxuLmlucHV0cz1nbyh0LmlucHV0cyxlKSxuLm91dHB1dHM9Z28odC5vdXRwdXRzKSxpJiZpLmZvckVhY2goKHQ9PnQobikpKSxuLmRpcmVjdGl2ZURlZnM9bz8oKT0+KCJmdW5jdGlvbiI9PXR5cGVvZiBvP28oKTpvKS5tYXAoY28pOm51bGwsbi5waXBlRGVmcz1hPygpPT4oImZ1bmN0aW9uIj09dHlwZW9mIGE/YSgpOmEpLm1hcChwbyk6bnVsbCxufSkpfWZ1bmN0aW9uIGxvKHQsZSxuKXtjb25zdCBvPXQuybVjbXA7by5kaXJlY3RpdmVEZWZzPSgpPT5lLm1hcChjbyksby5waXBlRGVmcz0oKT0+bi5tYXAocG8pfWZ1bmN0aW9uIGNvKHQpe2NvbnN0IGU9eW8odCl8fF9vKHQpO2lmKG5nRGV2TW9kZSYmIWUpdGhyb3cgbmV3IEVycm9yKGAnJHt0Lm5hbWV9JyBpcyBuZWl0aGVyICdDb21wb25lbnRUeXBlJyBvciAnRGlyZWN0aXZlVHlwZScuYCk7cmV0dXJuIGV9ZnVuY3Rpb24gcG8odCl7Y29uc3QgZT1Dbyh0KTtpZihuZ0Rldk1vZGUmJiFlKXRocm93IG5ldyBFcnJvcihgJyR7dC5uYW1lfScgaXMgbm90IGEgJ1BpcGVUeXBlJy5gKTtyZXR1cm4gZX1jb25zdCBtbz17fTtmdW5jdGlvbiBmbyh0KXtyZXR1cm4gVm4oKCgpPT57Y29uc3QgZT17dHlwZTp0LnR5cGUsYm9vdHN0cmFwOnQuYm9vdHN0cmFwfHxRbixkZWNsYXJhdGlvbnM6dC5kZWNsYXJhdGlvbnN8fFFuLGltcG9ydHM6dC5pbXBvcnRzfHxRbixleHBvcnRzOnQuZXhwb3J0c3x8UW4sdHJhbnNpdGl2ZUNvbXBpbGVTY29wZXM6bnVsbCxzY2hlbWFzOnQuc2NoZW1hc3x8bnVsbCxpZDp0LmlkfHxudWxsfTtyZXR1cm4gbnVsbCE9dC5pZCYmKG1vW3QuaWRdPXQudHlwZSksZX0pKX1mdW5jdGlvbiB1byh0LGUpe3JldHVybiBWbigoKCk9Pntjb25zdCBuPU1vKHQsITApO24uZGVjbGFyYXRpb25zPWUuZGVjbGFyYXRpb25zfHxRbixuLmltcG9ydHM9ZS5pbXBvcnRzfHxRbixuLmV4cG9ydHM9ZS5leHBvcnRzfHxRbn0pKX1mdW5jdGlvbiBnbyh0LGUpe2lmKG51bGw9PXQpcmV0dXJuIEpuO2NvbnN0IG49e307Zm9yKGNvbnN0IG8gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG8pKXtsZXQgaT10W29dLGE9aTtBcnJheS5pc0FycmF5KGkpJiYoYT1pWzFdLGk9aVswXSksbltpXT1vLGUmJihlW2ldPWEpfXJldHVybiBufWNvbnN0IGhvPXNvO2Z1bmN0aW9uIGJvKHQpe3JldHVybnt0eXBlOnQudHlwZSxuYW1lOnQubmFtZSxmYWN0b3J5Om51bGwscHVyZTohMSE9PXQucHVyZSxvbkRlc3Ryb3k6dC50eXBlLnByb3RvdHlwZS5uZ09uRGVzdHJveXx8bnVsbH19ZnVuY3Rpb24geW8odCl7cmV0dXJuIHRbJG5dfHxudWxsfWZ1bmN0aW9uIF9vKHQpe3JldHVybiB0W3RvXXx8bnVsbH1mdW5jdGlvbiBDbyh0KXtyZXR1cm4gdFtlb118fG51bGx9ZnVuY3Rpb24gTW8odCxlKXtjb25zdCBuPXRbbm9dfHxudWxsO2lmKCFuJiYhMD09PWUpdGhyb3cgbmV3IEVycm9yKGBUeXBlICR7S2UodCl9IGRvZXMgbm90IGhhdmUgJ8m1bW9kJyBwcm9wZXJ0eS5gKTtyZXR1cm4gbn0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHZvPTIwLHhvPVsiUm9vdCIsIkNvbXBvbmVudCIsIkVtYmVkZGVkIl0sT289MTA7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiBQbyh0KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KSYmIm9iamVjdCI9PXR5cGVvZiB0WzFdfWZ1bmN0aW9uIHdvKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpJiYhMD09PXRbMV19ZnVuY3Rpb24ga28odCl7cmV0dXJuIDAhPSg4JnQuZmxhZ3MpfWZ1bmN0aW9uIFNvKHQpe3JldHVybiAyPT0oMiZ0LmZsYWdzKX1mdW5jdGlvbiBEbyh0KXtyZXR1cm4gMT09KDEmdC5mbGFncyl9ZnVuY3Rpb24gUm8odCl7cmV0dXJuIG51bGwhPT10LnRlbXBsYXRlfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gRW8odCxlKXtBbyh0LGVbMV0pfWZ1bmN0aW9uIEFvKHQsZSl7VG8odCksdC5oYXNPd25Qcm9wZXJ0eSgidFZpZXdfIikmJmduKHQudFZpZXdfLGUsIlRoaXMgVE5vZGUgZG9lcyBub3QgYmVsb25nIHRvIHRoaXMgVFZpZXcuIil9ZnVuY3Rpb24gVG8odCl7eG4odCwiVE5vZGUgbXVzdCBiZSBkZWZpbmVkIiksdCYmIm9iamVjdCI9PXR5cGVvZiB0JiZ0Lmhhc093blByb3BlcnR5KCJkaXJlY3RpdmVTdHlsaW5nTGFzdCIpfHxPbigiTm90IG9mIHR5cGUgVE5vZGUsIGdvdDogIit0KX1mdW5jdGlvbiBObyh0KXt4bih0LCJFeHBlY3RlZCBUSWN1IHRvIGJlIGRlZmluZWQiKSwibnVtYmVyIiE9dHlwZW9mIHQuY3VycmVudENhc2VMVmlld0luZGV4JiZPbigiT2JqZWN0IGlzIG5vdCBvZiBUSWN1IHR5cGUuIil9ZnVuY3Rpb24gem8odCl7eG4odCwiY3VycmVudFROb2RlIHNob3VsZCBleGlzdCEiKSx4bih0LnBhcmVudCwiY3VycmVudFROb2RlIHNob3VsZCBoYXZlIGEgcGFyZW50Iil9ZnVuY3Rpb24gSW8odCl7eG4odCwiTENvbnRhaW5lciBtdXN0IGJlIGRlZmluZWQiKSxnbih3byh0KSwhMCwiRXhwZWN0aW5nIExDb250YWluZXIiKX1mdW5jdGlvbiBIbyh0KXt0JiZnbihQbyh0KSwhMCwiRXhwZWN0aW5nIExWaWV3IG9yIHVuZGVmaW5lZCBvciBudWxsIil9ZnVuY3Rpb24gRm8odCl7eG4odCwiTFZpZXcgbXVzdCBiZSBkZWZpbmVkIiksZ24oUG8odCksITAsIkV4cGVjdGluZyBMVmlldyIpfWZ1bmN0aW9uIExvKHQsZSl7Z24odC5maXJzdENyZWF0ZVBhc3MsITAsZXx8IlNob3VsZCBvbmx5IGJlIGNhbGxlZCBpbiBmaXJzdCBjcmVhdGUgcGFzcy4iKX1mdW5jdGlvbiBCbyh0LGUpe2duKHQuZmlyc3RVcGRhdGVQYXNzLCEwLGV8fCJTaG91bGQgb25seSBiZSBjYWxsZWQgaW4gZmlyc3QgdXBkYXRlIHBhc3MuIil9ZnVuY3Rpb24gVm8odCxlKXtqbyh0WzFdLmV4cGFuZG9TdGFydEluZGV4LHQubGVuZ3RoLGUpfWZ1bmN0aW9uIGpvKHQsZSxuKXt0PD1uJiZuPGV8fE9uKGBJbmRleCBvdXQgb2YgcmFuZ2UgKGV4cGVjdGluZyAke3R9IDw9ICR7bn0gPCAke2V9KWApfWZ1bmN0aW9uIFVvKHQsZSl7eG4odCxlfHwiQ29tcG9uZW50IHZpZXdzIHNob3VsZCBhbHdheXMgaGF2ZSBhIHBhcmVudCB2aWV3IChjb21wb25lbnQncyBob3N0IHZpZXcpIil9ZnVuY3Rpb24gV28odCxlKXtWbyh0LGUpLFZvKHQsZSs4KSxwbih0W2UrMF0sImluamVjdG9ySW5kZXggc2hvdWxkIHBvaW50IHRvIGEgYmxvb20gZmlsdGVyIikscG4odFtlKzFdLCJpbmplY3RvckluZGV4IHNob3VsZCBwb2ludCB0byBhIGJsb29tIGZpbHRlciIpLHBuKHRbZSsyXSwiaW5qZWN0b3JJbmRleCBzaG91bGQgcG9pbnQgdG8gYSBibG9vbSBmaWx0ZXIiKSxwbih0W2UrM10sImluamVjdG9ySW5kZXggc2hvdWxkIHBvaW50IHRvIGEgYmxvb20gZmlsdGVyIikscG4odFtlKzRdLCJpbmplY3RvckluZGV4IHNob3VsZCBwb2ludCB0byBhIGJsb29tIGZpbHRlciIpLHBuKHRbZSs1XSwiaW5qZWN0b3JJbmRleCBzaG91bGQgcG9pbnQgdG8gYSBibG9vbSBmaWx0ZXIiKSxwbih0W2UrNl0sImluamVjdG9ySW5kZXggc2hvdWxkIHBvaW50IHRvIGEgYmxvb20gZmlsdGVyIikscG4odFtlKzddLCJpbmplY3RvckluZGV4IHNob3VsZCBwb2ludCB0byBhIGJsb29tIGZpbHRlciIpLHBuKHRbZSs4XSwiaW5qZWN0b3JJbmRleCBzaG91bGQgcG9pbnQgdG8gcGFyZW50IGluamVjdG9yIil9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIEdvKHQsZSl7Y29uc3Qgbj10Lmhhc093blByb3BlcnR5KGlvKTtpZighbiYmITA9PT1lJiZuZ0Rldk1vZGUpdGhyb3cgbmV3IEVycm9yKGBUeXBlICR7S2UodCl9IGRvZXMgbm90IGhhdmUgJ8m1ZmFjJyBwcm9wZXJ0eS5gKTtyZXR1cm4gbj90W2lvXTpudWxsfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBZb3tjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5wcmV2aW91c1ZhbHVlPXQsdGhpcy5jdXJyZW50VmFsdWU9ZSx0aGlzLmZpcnN0Q2hhbmdlPW59aXNGaXJzdENoYW5nZSgpe3JldHVybiB0aGlzLmZpcnN0Q2hhbmdlfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gcW8oKXtyZXR1cm4gWm99ZnVuY3Rpb24gWm8odCl7cmV0dXJuIHQudHlwZS5wcm90b3R5cGUubmdPbkNoYW5nZXMmJih0LnNldElucHV0PUtvKSxYb31mdW5jdGlvbiBYbygpe2NvbnN0IHQ9Sm8odGhpcyksZT1udWxsPT10P3ZvaWQgMDp0LmN1cnJlbnQ7aWYoZSl7Y29uc3Qgbj10LnByZXZpb3VzO2lmKG49PT1Kbil0LnByZXZpb3VzPWU7ZWxzZSBmb3IobGV0IHQgaW4gZSluW3RdPWVbdF07dC5jdXJyZW50PW51bGwsdGhpcy5uZ09uQ2hhbmdlcyhlKX19ZnVuY3Rpb24gS28odCxlLG4sbyl7Y29uc3QgaT1Kbyh0KXx8KGZ1bmN0aW9uIGEodCxlKXtyZXR1cm4gdC5fX25nU2ltcGxlQ2hhbmdlc19fPWV9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykodCx7cHJldmlvdXM6Sm4sY3VycmVudDpudWxsfSkscj1pLmN1cnJlbnR8fChpLmN1cnJlbnQ9e30pLHM9aS5wcmV2aW91cyxsPXRoaXMuZGVjbGFyZWRJbnB1dHNbbl0sYz1zW2xdO3JbbF09bmV3IFlvKGMmJmMuY3VycmVudFZhbHVlLGUscz09PUpuKSx0W29dPWV9cW8ubmdJbmhlcml0PSEwO2Z1bmN0aW9uIEpvKHQpe3JldHVybiB0Ll9fbmdTaW1wbGVDaGFuZ2VzX198fG51bGx9bGV0IFFvPW51bGw7Y29uc3QgJG89dD0+e1FvPXR9LHRpPWZ1bmN0aW9uKHQsZSxuKXtudWxsIT1RbyYmUW8odCxlLG4pfSxlaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLG5pPSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGhNTC8iOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KbGV0IG9pO2Z1bmN0aW9uIGlpKCl7cmV0dXJuIHZvaWQgMCE9PW9pP29pOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQ6dm9pZCAwfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi92YXIgYWk7ZnVuY3Rpb24gcmkodCl7cmV0dXJuISF0Lmxpc3Rlbn0hKGZ1bmN0aW9uKHQpe3RbdC5JbXBvcnRhbnQ9MV09IkltcG9ydGFudCIsdFt0LkRhc2hDYXNlPTJdPSJEYXNoQ2FzZSJ9KShhaXx8KGFpPXt9KSk7Y29uc3Qgc2k9e2NyZWF0ZVJlbmRlcmVyOih0LGUpPT5paSgpfTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIGxpKHQpe2Zvcig7QXJyYXkuaXNBcnJheSh0KTspdD10WzBdO3JldHVybiB0fWZ1bmN0aW9uIGNpKHQsZSl7cmV0dXJuIG5nRGV2TW9kZSYmd24oZSx0KSxuZ0Rldk1vZGUmJnZuKHQsdm8sIkV4cGVjdGVkIHRvIGJlIHBhc3QgSEVBREVSX09GRlNFVCIpLGxpKGVbdF0pfWZ1bmN0aW9uIGRpKHQsZSl7bmdEZXZNb2RlJiZFbyh0LGUpLG5nRGV2TW9kZSYmd24oZSx0LmluZGV4KTtjb25zdCBuPWxpKGVbdC5pbmRleF0pO3JldHVybiBuZ0Rldk1vZGUmJiFyaShlWzExXSkmJlBuKG4pLG59ZnVuY3Rpb24gcGkodCxlKXtuZ0Rldk1vZGUmJk1uKGUsLTEsIndyb25nIGluZGV4IGZvciBUTm9kZSIpLG5nRGV2TW9kZSYmX24oZSx0LmRhdGEubGVuZ3RoLCJ3cm9uZyBpbmRleCBmb3IgVE5vZGUiKTtjb25zdCBuPXQuZGF0YVtlXTtyZXR1cm4gbmdEZXZNb2RlJiZudWxsIT09biYmVG8obiksbn1mdW5jdGlvbiBtaSh0LGUpe3JldHVybiBuZ0Rldk1vZGUmJnduKHQsZSksdFtlXX1mdW5jdGlvbiBmaSh0LGUpe25nRGV2TW9kZSYmd24oZSx0KTtjb25zdCBuPWVbdF07cmV0dXJuIFBvKG4pP246blswXX1mdW5jdGlvbiB1aSh0KXtyZXR1cm4gND09KDQmdFsyXSl9ZnVuY3Rpb24gZ2kodCl7cmV0dXJuIDEyOD09KDEyOCZ0WzJdKX1mdW5jdGlvbiBoaSh0LGUpe3JldHVybiBudWxsPT1lP251bGw6KG5nRGV2TW9kZSYmd24odCxlKSx0W2VdKX1mdW5jdGlvbiBiaSh0KXt0WzE4XT0wfWZ1bmN0aW9uIHlpKHQsZSl7dFs1XSs9ZTtsZXQgbj10LG89dFszXTtmb3IoO251bGwhPT1vJiYoMT09PWUmJjE9PT1uWzVdfHwtMT09PWUmJjA9PT1uWzVdKTspb1s1XSs9ZSxuPW8sbz1vWzNdfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBfaT17bEZyYW1lOlhpKG51bGwpLGJpbmRpbmdzRW5hYmxlZDohMCxpc0luQ2hlY2tOb0NoYW5nZXNNb2RlOiExfTtmdW5jdGlvbiBDaSgpe3JldHVybiBfaS5iaW5kaW5nc0VuYWJsZWR9ZnVuY3Rpb24gTWkoKXtfaS5iaW5kaW5nc0VuYWJsZWQ9ITB9ZnVuY3Rpb24gdmkoKXtfaS5iaW5kaW5nc0VuYWJsZWQ9ITF9ZnVuY3Rpb24geGkoKXtyZXR1cm4gX2kubEZyYW1lLmxWaWV3fWZ1bmN0aW9uIE9pKCl7cmV0dXJuIF9pLmxGcmFtZS50Vmlld31mdW5jdGlvbiBQaSh0KXtyZXR1cm4gX2kubEZyYW1lLmNvbnRleHRMVmlldz10LHRbOF19ZnVuY3Rpb24gd2koKXtsZXQgdD1raSgpO2Zvcig7bnVsbCE9PXQmJjY0PT09dC50eXBlOyl0PXQucGFyZW50O3JldHVybiB0fWZ1bmN0aW9uIGtpKCl7cmV0dXJuIF9pLmxGcmFtZS5jdXJyZW50VE5vZGV9ZnVuY3Rpb24gU2koKXtjb25zdCB0PV9pLmxGcmFtZSxlPXQuY3VycmVudFROb2RlO3JldHVybiB0LmlzUGFyZW50P2U6ZS5wYXJlbnR9ZnVuY3Rpb24gRGkodCxlKXtuZ0Rldk1vZGUmJnQmJkFvKHQsX2kubEZyYW1lLnRWaWV3KTtjb25zdCBuPV9pLmxGcmFtZTtuLmN1cnJlbnRUTm9kZT10LG4uaXNQYXJlbnQ9ZX1mdW5jdGlvbiBSaSgpe3JldHVybiBfaS5sRnJhbWUuaXNQYXJlbnR9ZnVuY3Rpb24gRWkoKXtfaS5sRnJhbWUuaXNQYXJlbnQ9ITF9ZnVuY3Rpb24gQWkoKXtyZXR1cm4gX2kuaXNJbkNoZWNrTm9DaGFuZ2VzTW9kZX1mdW5jdGlvbiBUaSh0KXtfaS5pc0luQ2hlY2tOb0NoYW5nZXNNb2RlPXR9ZnVuY3Rpb24gTmkoKXtjb25zdCB0PV9pLmxGcmFtZTtsZXQgZT10LmJpbmRpbmdSb290SW5kZXg7cmV0dXJuLTE9PT1lJiYoZT10LmJpbmRpbmdSb290SW5kZXg9dC50Vmlldy5iaW5kaW5nU3RhcnRJbmRleCksZX1mdW5jdGlvbiB6aSgpe3JldHVybiBfaS5sRnJhbWUuYmluZGluZ0luZGV4fWZ1bmN0aW9uIElpKHQpe3JldHVybiBfaS5sRnJhbWUuYmluZGluZ0luZGV4PXR9ZnVuY3Rpb24gSGkoKXtyZXR1cm4gX2kubEZyYW1lLmJpbmRpbmdJbmRleCsrfWZ1bmN0aW9uIEZpKHQpe2NvbnN0IGU9X2kubEZyYW1lLG49ZS5iaW5kaW5nSW5kZXg7cmV0dXJuIGUuYmluZGluZ0luZGV4PWUuYmluZGluZ0luZGV4K3Qsbn1mdW5jdGlvbiBMaSh0KXtfaS5sRnJhbWUuaW5JMThuPXR9ZnVuY3Rpb24gQmkodCxlKXtjb25zdCBuPV9pLmxGcmFtZTtuLmJpbmRpbmdJbmRleD1uLmJpbmRpbmdSb290SW5kZXg9dCxWaShlKX1mdW5jdGlvbiBWaSh0KXtfaS5sRnJhbWUuY3VycmVudERpcmVjdGl2ZUluZGV4PXR9ZnVuY3Rpb24gamkodCl7Y29uc3QgZT1faS5sRnJhbWUuY3VycmVudERpcmVjdGl2ZUluZGV4O3JldHVybi0xPT09ZT9udWxsOnRbZV19ZnVuY3Rpb24gVWkoKXtyZXR1cm4gX2kubEZyYW1lLmN1cnJlbnRRdWVyeUluZGV4fWZ1bmN0aW9uIFdpKHQpe19pLmxGcmFtZS5jdXJyZW50UXVlcnlJbmRleD10fWZ1bmN0aW9uIEdpKHQpe2NvbnN0IGU9dFsxXTtyZXR1cm4gMj09PWUudHlwZT8obmdEZXZNb2RlJiZ4bihlLmRlY2xUTm9kZSwiRW1iZWRkZWQgVE5vZGVzIHNob3VsZCBoYXZlIGRlY2xhcmF0aW9uIHBhcmVudHMuIiksZS5kZWNsVE5vZGUpOjE9PT1lLnR5cGU/dFs2XTpudWxsfWZ1bmN0aW9uIFlpKHQsZSxuKXtpZihuZ0Rldk1vZGUmJkhvKHQpLG4mSG4uU2tpcFNlbGYpe25nRGV2TW9kZSYmQW8oZSx0WzFdKTtsZXQgbz1lLGk9dDtmb3IoOyEobmdEZXZNb2RlJiZ4bihvLCJQYXJlbnQgVE5vZGUgc2hvdWxkIGJlIGRlZmluZWQiKSxvPW8ucGFyZW50LG51bGwhPT1vfHxuJkhuLkhvc3R8fChvPUdpKGkpLG51bGw9PT1vKXx8KG5nRGV2TW9kZSYmeG4oaSwiUGFyZW50IExWaWV3IHNob3VsZCBiZSBkZWZpbmVkIiksaT1pWzE1XSwxMCZvLnR5cGUpKTspO2lmKG51bGw9PT1vKXJldHVybiExO2U9byx0PWl9bmdEZXZNb2RlJiZFbyhlLHQpO2NvbnN0IG89X2kubEZyYW1lPVppKCk7cmV0dXJuIG8uY3VycmVudFROb2RlPWUsby5sVmlldz10LCEwfWZ1bmN0aW9uIHFpKHQpe25nRGV2TW9kZSYmaG4odFswXSx0WzFdLCI/Pz8/IiksbmdEZXZNb2RlJiZIbyh0KTtjb25zdCBlPVppKCk7bmdEZXZNb2RlJiYoZ24oZS5pc1BhcmVudCwhMCwiRXhwZWN0ZWQgY2xlYW4gTEZyYW1lIiksZ24oZS5sVmlldyxudWxsLCJFeHBlY3RlZCBjbGVhbiBMRnJhbWUiKSxnbihlLnRWaWV3LG51bGwsIkV4cGVjdGVkIGNsZWFuIExGcmFtZSIpLGduKGUuc2VsZWN0ZWRJbmRleCwtMSwiRXhwZWN0ZWQgY2xlYW4gTEZyYW1lIiksZ24oZS5lbGVtZW50RGVwdGhDb3VudCwwLCJFeHBlY3RlZCBjbGVhbiBMRnJhbWUiKSxnbihlLmN1cnJlbnREaXJlY3RpdmVJbmRleCwtMSwiRXhwZWN0ZWQgY2xlYW4gTEZyYW1lIiksZ24oZS5jdXJyZW50TmFtZXNwYWNlLG51bGwsIkV4cGVjdGVkIGNsZWFuIExGcmFtZSIpLGduKGUuYmluZGluZ1Jvb3RJbmRleCwtMSwiRXhwZWN0ZWQgY2xlYW4gTEZyYW1lIiksZ24oZS5jdXJyZW50UXVlcnlJbmRleCwwLCJFeHBlY3RlZCBjbGVhbiBMRnJhbWUiKSk7Y29uc3Qgbj10WzFdO19pLmxGcmFtZT1lLG5nRGV2TW9kZSYmbi5maXJzdENoaWxkJiZBbyhuLmZpcnN0Q2hpbGQsbiksZS5jdXJyZW50VE5vZGU9bi5maXJzdENoaWxkLGUubFZpZXc9dCxlLnRWaWV3PW4sZS5jb250ZXh0TFZpZXc9dCxlLmJpbmRpbmdJbmRleD1uLmJpbmRpbmdTdGFydEluZGV4LGUuaW5JMThuPSExfWZ1bmN0aW9uIFppKCl7Y29uc3QgdD1faS5sRnJhbWUsZT1udWxsPT09dD9udWxsOnQuY2hpbGQ7cmV0dXJuIG51bGw9PT1lP1hpKHQpOmV9ZnVuY3Rpb24gWGkodCl7Y29uc3QgZT17Y3VycmVudFROb2RlOm51bGwsaXNQYXJlbnQ6ITAsbFZpZXc6bnVsbCx0VmlldzpudWxsLHNlbGVjdGVkSW5kZXg6LTEsY29udGV4dExWaWV3Om51bGwsZWxlbWVudERlcHRoQ291bnQ6MCxjdXJyZW50TmFtZXNwYWNlOm51bGwsY3VycmVudERpcmVjdGl2ZUluZGV4Oi0xLGJpbmRpbmdSb290SW5kZXg6LTEsYmluZGluZ0luZGV4Oi0xLGN1cnJlbnRRdWVyeUluZGV4OjAscGFyZW50OnQsY2hpbGQ6bnVsbCxpbkkxOG46ITF9O3JldHVybiBudWxsIT09dCYmKHQuY2hpbGQ9ZSksZX1mdW5jdGlvbiBLaSgpe2NvbnN0IHQ9X2kubEZyYW1lO3JldHVybiBfaS5sRnJhbWU9dC5wYXJlbnQsdC5jdXJyZW50VE5vZGU9bnVsbCx0LmxWaWV3PW51bGwsdH1jb25zdCBKaT1LaTtmdW5jdGlvbiBRaSgpe2NvbnN0IHQ9S2koKTt0LmlzUGFyZW50PSEwLHQudFZpZXc9bnVsbCx0LnNlbGVjdGVkSW5kZXg9LTEsdC5jb250ZXh0TFZpZXc9bnVsbCx0LmVsZW1lbnREZXB0aENvdW50PTAsdC5jdXJyZW50RGlyZWN0aXZlSW5kZXg9LTEsdC5jdXJyZW50TmFtZXNwYWNlPW51bGwsdC5iaW5kaW5nUm9vdEluZGV4PS0xLHQuYmluZGluZ0luZGV4PS0xLHQuY3VycmVudFF1ZXJ5SW5kZXg9MH1mdW5jdGlvbiAkaSh0KXtyZXR1cm4oX2kubEZyYW1lLmNvbnRleHRMVmlldz0oZnVuY3Rpb24gZSh0LG4pe2Zvcig7dD4wOyluZ0Rldk1vZGUmJnhuKG5bMTVdLCJEZWNsYXJhdGlvbiB2aWV3IHNob3VsZCBiZSBkZWZpbmVkIGlmIG5lc3RpbmcgbGV2ZWwgaXMgZ3JlYXRlciB0aGFuIDAuIiksbj1uWzE1XSx0LS07cmV0dXJuIG59KSh0LF9pLmxGcmFtZS5jb250ZXh0TFZpZXcpKVs4XX1mdW5jdGlvbiB0YSgpe3JldHVybiBfaS5sRnJhbWUuc2VsZWN0ZWRJbmRleH1mdW5jdGlvbiBlYSh0KXtuZ0Rldk1vZGUmJi0xIT09dCYmdm4odCx2bywiSW5kZXggbXVzdCBiZSBwYXN0IEhFQURFUl9PRkZTRVQgKG9yIC0xKS4iKSxuZ0Rldk1vZGUmJl9uKHQsX2kubEZyYW1lLmxWaWV3Lmxlbmd0aCwiQ2FuJ3Qgc2V0IGluZGV4IHBhc3NlZCBlbmQgb2YgTFZpZXciKSxfaS5sRnJhbWUuc2VsZWN0ZWRJbmRleD10fWZ1bmN0aW9uIG5hKCl7Y29uc3QgdD1faS5sRnJhbWU7cmV0dXJuIHBpKHQudFZpZXcsdC5zZWxlY3RlZEluZGV4KX1mdW5jdGlvbiBvYSgpe19pLmxGcmFtZS5jdXJyZW50TmFtZXNwYWNlPWVpfWZ1bmN0aW9uIGlhKCl7X2kubEZyYW1lLmN1cnJlbnROYW1lc3BhY2U9bml9ZnVuY3Rpb24gYWEoKXshKGZ1bmN0aW9uIHQoKXtfaS5sRnJhbWUuY3VycmVudE5hbWVzcGFjZT1udWxsfSkoKX1mdW5jdGlvbiByYSh0LGUpe25nRGV2TW9kZSYmTG8odCk7Zm9yKGxldCBuPWUuZGlyZWN0aXZlU3RhcnQsbz1lLmRpcmVjdGl2ZUVuZDtuPG87bisrKXtjb25zdCBlPXQuZGF0YVtuXTtuZ0Rldk1vZGUmJnhuKGUsIkV4cGVjdGluZyBEaXJlY3RpdmVEZWYiKTtjb25zdCBvPWUudHlwZS5wcm90b3R5cGUse25nQWZ0ZXJDb250ZW50SW5pdDppLG5nQWZ0ZXJDb250ZW50Q2hlY2tlZDphLG5nQWZ0ZXJWaWV3SW5pdDpyLG5nQWZ0ZXJWaWV3Q2hlY2tlZDpzLG5nT25EZXN0cm95Omx9PW87aSYmKHQuY29udGVudEhvb2tzfHwodC5jb250ZW50SG9va3M9W10pKS5wdXNoKC1uLGkpLGEmJigodC5jb250ZW50SG9va3N8fCh0LmNvbnRlbnRIb29rcz1bXSkpLnB1c2gobixhKSwodC5jb250ZW50Q2hlY2tIb29rc3x8KHQuY29udGVudENoZWNrSG9va3M9W10pKS5wdXNoKG4sYSkpLHImJih0LnZpZXdIb29rc3x8KHQudmlld0hvb2tzPVtdKSkucHVzaCgtbixyKSxzJiYoKHQudmlld0hvb2tzfHwodC52aWV3SG9va3M9W10pKS5wdXNoKG4scyksKHQudmlld0NoZWNrSG9va3N8fCh0LnZpZXdDaGVja0hvb2tzPVtdKSkucHVzaChuLHMpKSxudWxsIT1sJiYodC5kZXN0cm95SG9va3N8fCh0LmRlc3Ryb3lIb29rcz1bXSkpLnB1c2gobixsKX19ZnVuY3Rpb24gc2EodCxlLG4pe2RhKHQsZSwzLG4pfWZ1bmN0aW9uIGxhKHQsZSxuLG8pe25nRGV2TW9kZSYmaG4obiwzLCJJbml0IHByZS1vcmRlciBob29rcyBzaG91bGQgbm90IGJlIGNhbGxlZCBtb3JlIHRoYW4gb25jZSIpLCgzJnRbMl0pPT09biYmZGEodCxlLG4sbyl9ZnVuY3Rpb24gY2EodCxlKXtuZ0Rldk1vZGUmJmhuKGUsMywiSW5pdCBob29rcyBwaGFzZSBzaG91bGQgbm90IGJlIGluY3JlbWVudGVkIGFmdGVyIGFsbCBpbml0IGhvb2tzIGhhdmUgYmVlbiBydW4uIik7bGV0IG49dFsyXTsoMyZuKT09PWUmJihuJj0yMDQ3LG4rPTEsdFsyXT1uKX1mdW5jdGlvbiBkYSh0LGUsbixvKXtuZ0Rldk1vZGUmJmduKEFpKCksITEsIkhvb2tzIHNob3VsZCBuZXZlciBiZSBydW4gd2hlbiBpbiBjaGVjayBubyBjaGFuZ2VzIG1vZGUuIik7Y29uc3QgaT1udWxsIT1vP286LTEsYT1lLmxlbmd0aC0xO2xldCByPTA7Zm9yKGxldCBzPXZvaWQgMCE9PW8/NjU1MzUmdFsxOF06MDtzPGE7cysrKXtpZigibnVtYmVyIj09dHlwZW9mIGVbcysxXSl7aWYocj1lW3NdLG51bGwhPW8mJnI+PW8pYnJlYWt9ZWxzZXtlW3NdPDAmJih0WzE4XSs9NjU1MzYpLChyPGl8fC0xPT1pKSYmKHBhKHQsbixlLHMpLHRbMThdPSg0Mjk0OTAxNzYwJnRbMThdKStzKzIpLHMrK319fWZ1bmN0aW9uIHBhKHQsZSxuLG8pe2NvbnN0IGk9bltvXTwwLGE9bltvKzFdLHI9dFtpPy1uW29dOm5bb11dO2lmKGkpe2lmKHRbMl0+PjExPHRbMThdPj4xNiYmKDMmdFsyXSk9PT1lKXt0WzJdKz0yMDQ4LHRpKDQscixhKTt0cnl7YS5jYWxsKHIpfWZpbmFsbHl7dGkoNSxyLGEpfX19ZWxzZXt0aSg0LHIsYSk7dHJ5e2EuY2FsbChyKX1maW5hbGx5e3RpKDUscixhKX19fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBtYT0tMTtjbGFzcyBmYXtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5mYWN0b3J5PXQsdGhpcy5yZXNvbHZpbmc9ITEsbmdEZXZNb2RlJiZ4bih0LCJGYWN0b3J5IG5vdCBzcGVjaWZpZWQiKSxuZ0Rldk1vZGUmJmduKHR5cGVvZiB0LCJmdW5jdGlvbiIsIkV4cGVjdGVkIGZhY3RvcnkgZnVuY3Rpb24uIiksdGhpcy5jYW5TZWVWaWV3UHJvdmlkZXJzPWUsdGhpcy5pbmplY3RJbXBsPW59fWZ1bmN0aW9uIHVhKHQpe2xldCBlPSIiO3JldHVybiAxJnQmJihlKz0ifFRleHQiKSwyJnQmJihlKz0ifEVsZW1lbnQiKSw0JnQmJihlKz0ifENvbnRhaW5lciIpLDgmdCYmKGUrPSJ8RWxlbWVudENvbnRhaW5lciIpLDE2JnQmJihlKz0ifFByb2plY3Rpb24iKSwzMiZ0JiYoZSs9InxJY3VDb250YWluZXIiKSw2NCZ0JiYoZSs9InxQbGFjZWhvbGRlciIpLGUubGVuZ3RoPjA/ZS5zdWJzdHJpbmcoMSk6ZX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIGdhKHQsZSxuKXt4bih0LCJzaG91bGQgYmUgY2FsbGVkIHdpdGggYSBUTm9kZSIpLDA9PSh0LnR5cGUmZSkmJk9uKG58fGBFeHBlY3RlZCBbJHt1YShlKX1dIGJ1dCBnb3QgJHt1YSh0LnR5cGUpfS5gKX1mdW5jdGlvbiBoYSh0LGUsbil7Y29uc3Qgbz1yaSh0KTtsZXQgaT0wO2Zvcig7aTxuLmxlbmd0aDspe2NvbnN0IGE9bltpXTtpZigibnVtYmVyIj09dHlwZW9mIGEpe2lmKDAhPT1hKWJyZWFrO2krKztjb25zdCByPW5baSsrXSxzPW5baSsrXSxsPW5baSsrXTtuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlclNldEF0dHJpYnV0ZSsrLG8/dC5zZXRBdHRyaWJ1dGUoZSxzLGwscik6ZS5zZXRBdHRyaWJ1dGVOUyhyLHMsbCl9ZWxzZXtjb25zdCByPWEscz1uWysraV07bmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJTZXRBdHRyaWJ1dGUrKyx5YShyKT9vJiZ0LnNldFByb3BlcnR5KGUscixzKTpvP3Quc2V0QXR0cmlidXRlKGUscixzKTplLnNldEF0dHJpYnV0ZShyLHMpLGkrK319cmV0dXJuIGl9ZnVuY3Rpb24gYmEodCl7cmV0dXJuIDM9PT10fHw0PT09dHx8Nj09PXR9ZnVuY3Rpb24geWEodCl7cmV0dXJuIDY0PT09dC5jaGFyQ29kZUF0KDApfWZ1bmN0aW9uIF9hKHQsZSl7aWYobnVsbD09PWV8fDA9PT1lLmxlbmd0aCk7ZWxzZSBpZihudWxsPT09dHx8MD09PXQubGVuZ3RoKXQ9ZS5zbGljZSgpO2Vsc2V7bGV0IG49LTE7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspe2NvbnN0IGk9ZVtvXTsibnVtYmVyIj09dHlwZW9mIGk/bj1pOjA9PT1ufHxDYSh0LG4saSxudWxsLC0xPT09bnx8Mj09PW4/ZVsrK29dOm51bGwpfX1yZXR1cm4gdH1mdW5jdGlvbiBDYSh0LGUsbixvLGkpe2xldCBhPTAscj10Lmxlbmd0aDtpZigtMT09PWUpcj0tMTtlbHNlIGZvcig7YTx0Lmxlbmd0aDspe2NvbnN0IG49dFthKytdO2lmKCJudW1iZXIiPT10eXBlb2Ygbil7aWYobj09PWUpe3I9LTE7YnJlYWt9aWYobj5lKXtyPWEtMTticmVha319fWZvcig7YTx0Lmxlbmd0aDspe2NvbnN0IGU9dFthXTtpZigibnVtYmVyIj09dHlwZW9mIGUpYnJlYWs7aWYoZT09PW4pe2lmKG51bGw9PT1vKXJldHVybiB2b2lkKG51bGwhPT1pJiYodFthKzFdPWkpKTtpZihvPT09dFthKzFdKXJldHVybiB2b2lkKHRbYSsyXT1pKX1hKyssbnVsbCE9PW8mJmErKyxudWxsIT09aSYmYSsrfS0xIT09ciYmKHQuc3BsaWNlKHIsMCxlKSxhPXIrMSksdC5zcGxpY2UoYSsrLDAsbiksbnVsbCE9PW8mJnQuc3BsaWNlKGErKywwLG8pLG51bGwhPT1pJiZ0LnNwbGljZShhKyssMCxpKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gTWEodCl7cmV0dXJuIHQhPT1tYX1mdW5jdGlvbiB2YSh0KXtuZ0Rldk1vZGUmJnBuKHQsIk51bWJlciBleHBlY3RlZCIpLG5nRGV2TW9kZSYmaG4odCwtMSwiTm90IGEgdmFsaWQgc3RhdGUuIik7cmV0dXJuIG5nRGV2TW9kZSYmTW4oMzI3NjcmdCx2bywiUGFyZW50IGluamVjdG9yIG11c3QgYmUgcG9pbnRpbmcgcGFzdCBIRUFERVJfT0ZGU0VULiIpLDMyNzY3JnR9ZnVuY3Rpb24geGEodCxlKXtsZXQgbj0oZnVuY3Rpb24gbyh0KXtyZXR1cm4gdD4+MTZ9KSh0KSxpPWU7Zm9yKDtuPjA7KWk9aVsxNV0sbi0tO3JldHVybiBpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9sZXQgT2E9ITA7ZnVuY3Rpb24gUGEodCl7Y29uc3QgZT1PYTtyZXR1cm4gT2E9dCxlfWxldCB3YT0wO2Z1bmN0aW9uIGthKHQsZSl7Y29uc3Qgbj1EYSh0LGUpO2lmKC0xIT09bilyZXR1cm4gbjtjb25zdCBvPWVbMV07by5maXJzdENyZWF0ZVBhc3MmJih0LmluamVjdG9ySW5kZXg9ZS5sZW5ndGgsU2Eoby5kYXRhLHQpLFNhKGUsbnVsbCksU2Eoby5ibHVlcHJpbnQsbnVsbCkpO2NvbnN0IGk9UmEodCxlKSxhPXQuaW5qZWN0b3JJbmRleDtpZihNYShpKSl7Y29uc3QgdD12YShpKSxuPXhhKGksZSksbz1uWzFdLmRhdGE7Zm9yKGxldCBpPTA7aTw4O2krKyllW2EraV09blt0K2ldfG9bdCtpXX1yZXR1cm4gZVthKzhdPWksYX1mdW5jdGlvbiBTYSh0LGUpe3QucHVzaCgwLDAsMCwwLDAsMCwwLDAsZSl9ZnVuY3Rpb24gRGEodCxlKXtyZXR1cm4tMT09PXQuaW5qZWN0b3JJbmRleHx8dC5wYXJlbnQmJnQucGFyZW50LmluamVjdG9ySW5kZXg9PT10LmluamVjdG9ySW5kZXh8fG51bGw9PT1lW3QuaW5qZWN0b3JJbmRleCs4XT8tMToobmdEZXZNb2RlJiZ3bihlLHQuaW5qZWN0b3JJbmRleCksdC5pbmplY3RvckluZGV4KX1mdW5jdGlvbiBSYSh0LGUpe2lmKHQucGFyZW50JiYtMSE9PXQucGFyZW50LmluamVjdG9ySW5kZXgpcmV0dXJuIHQucGFyZW50LmluamVjdG9ySW5kZXg7bGV0IG49MCxvPW51bGwsaT1lO2Zvcig7bnVsbCE9PWk7KXtjb25zdCB0PWlbMV0sZT10LnR5cGU7aWYoMj09PWU/KG5nRGV2TW9kZSYmeG4odC5kZWNsVE5vZGUsIkVtYmVkZGVkIFROb2RlcyBzaG91bGQgaGF2ZSBkZWNsYXJhdGlvbiBwYXJlbnRzLiIpLG89dC5kZWNsVE5vZGUpOjE9PT1lP289aVs2XToobmdEZXZNb2RlJiZnbih0LnR5cGUsMCwiUm9vdCB0eXBlIGV4cGVjdGVkIiksbz1udWxsKSxudWxsPT09bylyZXR1cm4gbWE7aWYobmdEZXZNb2RlJiZvJiZFbyhvLGlbMTVdKSxuKyssaT1pWzE1XSwtMSE9PW8uaW5qZWN0b3JJbmRleClyZXR1cm4gby5pbmplY3RvckluZGV4fG48PDE2fXJldHVybiBtYX1mdW5jdGlvbiBFYSh0LGUsbil7IShmdW5jdGlvbiBvKHQsZSxuKXtsZXQgbztuZ0Rldk1vZGUmJmduKGUuZmlyc3RDcmVhdGVQYXNzLCEwLCJleHBlY3RlZCBmaXJzdENyZWF0ZVBhc3MgdG8gYmUgdHJ1ZSIpLCJzdHJpbmciPT10eXBlb2Ygbj9vPW4uY2hhckNvZGVBdCgwKXx8MDpuLmhhc093blByb3BlcnR5KGFvKSYmKG89blthb10pLG51bGw9PW8mJihvPW5bYW9dPXdhKyspO2NvbnN0IGk9MjU1Jm87ZS5kYXRhW3QrKGk+PjUpXXw9MTw8aX0pKHQsZSxuKX1mdW5jdGlvbiBBYSh0LGUsbil7aWYobiZIbi5PcHRpb25hbClyZXR1cm4gdDtkbihlLCJOb2RlSW5qZWN0b3IiKX1mdW5jdGlvbiBUYSh0LGUsbixvKXtpZihuJkhuLk9wdGlvbmFsJiZ2b2lkIDA9PT1vJiYobz1udWxsKSwwPT0obiYoSG4uU2VsZnxIbi5Ib3N0KSkpe2NvbnN0IGk9dFs5XSxhPUxuKHZvaWQgMCk7dHJ5e3JldHVybiBpP2kuZ2V0KGUsbyxuJkhuLk9wdGlvbmFsKTpCbihlLG8sbiZIbi5PcHRpb25hbCl9ZmluYWxseXtMbihhKX19cmV0dXJuIEFhKG8sZSxuKX1mdW5jdGlvbiBOYSh0LGUsbixvPUhuLkRlZmF1bHQsaSl7aWYobnVsbCE9PXQpe2NvbnN0IGE9KGZ1bmN0aW9uIGEodCl7aWYobmdEZXZNb2RlJiZ4bih0LCJ0b2tlbiBtdXN0IGJlIGRlZmluZWQiKSwic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHQuY2hhckNvZGVBdCgwKXx8MDtjb25zdCBlPXQuaGFzT3duUHJvcGVydHkoYW8pP3RbYW9dOnZvaWQgMDtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/ZT49MD8yNTUmZToobmdEZXZNb2RlJiZnbihlLC0xLCJFeHBlY3RpbmcgdG8gZ2V0IFNwZWNpYWwgSW5qZWN0b3IgSWQiKSxJYSk6ZX0pKG4pO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhKXtpZighWWkoZSx0LG8pKXJldHVybiBvJkhuLkhvc3Q/QWEoaSxuLG8pOlRhKGUsbixvLGkpO3RyeXtjb25zdCB0PWEobyk7aWYobnVsbCE9dHx8byZIbi5PcHRpb25hbClyZXR1cm4gdDtkbihuKX1maW5hbGx5e0ppKCl9fWVsc2UgaWYoIm51bWJlciI9PXR5cGVvZiBhKXtsZXQgaT1udWxsLHI9RGEodCxlKSxzPW1hLGw9byZIbi5Ib3N0P2VbMTZdWzZdOm51bGw7Zm9yKCgtMT09PXJ8fG8mSG4uU2tpcFNlbGYpJiYocz0tMT09PXI/UmEodCxlKTplW3IrOF0scyE9PW1hJiZWYShvLCExKT8oaT1lWzFdLHI9dmEocyksZT14YShzLGUpKTpyPS0xKTstMSE9PXI7KXtuZ0Rldk1vZGUmJldvKGUscik7Y29uc3QgdD1lWzFdO2lmKG5nRGV2TW9kZSYmRW8odC5kYXRhW3IrOF0sZSksQmEoYSxyLHQuZGF0YSkpe2NvbnN0IHQ9SGEocixlLG4saSxvLGwpO2lmKHQhPT16YSlyZXR1cm4gdH1zPWVbcis4XSxzIT09bWEmJlZhKG8sZVsxXS5kYXRhW3IrOF09PT1sKSYmQmEoYSxyLGUpPyhpPXQscj12YShzKSxlPXhhKHMsZSkpOnI9LTF9fX1yZXR1cm4gVGEoZSxuLG8saSl9Y29uc3QgemE9e307ZnVuY3Rpb24gSWEoKXtyZXR1cm4gbmV3IGphKHdpKCkseGkoKSl9ZnVuY3Rpb24gSGEodCxlLG4sbyxpLGEpe2NvbnN0IHI9ZVsxXSxzPXIuZGF0YVt0KzhdLGw9RmEocyxyLG4sbnVsbD09bz9TbyhzKSYmT2E6byE9ciYmMCE9KDMmcy50eXBlKSxpJkhuLkhvc3QmJmE9PT1zKTtyZXR1cm4gbnVsbCE9PWw/TGEoZSxyLGwscyk6emF9ZnVuY3Rpb24gRmEodCxlLG4sbyxpKXtjb25zdCBhPXQucHJvdmlkZXJJbmRleGVzLHI9ZS5kYXRhLHM9MTA0ODU3NSZhLGw9dC5kaXJlY3RpdmVTdGFydCxjPWE+PjIwLGQ9aT9zK2M6dC5kaXJlY3RpdmVFbmQ7Zm9yKGxldCB0PW8/czpzK2M7dDxkO3QrKyl7Y29uc3QgZT1yW3RdO2lmKHQ8bCYmbj09PWV8fHQ+PWwmJmUudHlwZT09PW4pcmV0dXJuIHR9aWYoaSl7Y29uc3QgdD1yW2xdO2lmKHQmJlJvKHQpJiZ0LnR5cGU9PT1uKXJldHVybiBsfXJldHVybiBudWxsfWZ1bmN0aW9uIExhKHQsZSxuLG8pe2xldCBpPXRbbl07Y29uc3QgYT1lLmRhdGE7aWYoKGZ1bmN0aW9uIHIodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBmYX0pKGkpKXtjb25zdCByPWk7ci5yZXNvbHZpbmcmJmxuKHNuKGFbbl0pKTtjb25zdCBzPVBhKHIuY2FuU2VlVmlld1Byb3ZpZGVycyk7ci5yZXNvbHZpbmc9ITA7Y29uc3QgbD1yLmluamVjdEltcGw/TG4oci5pbmplY3RJbXBsKTpudWxsLGM9WWkodCxvLEhuLkRlZmF1bHQpO25nRGV2TW9kZSYmZ24oYywhMCwiQmVjYXVzZSBmbGFncyBkbyBub3QgY29udGFpbiBgU2tpcFNlbGYnIHdlIGV4cGVjdCB0aGlzIHRvIGFsd2F5cyBzdWNjZWVkLiIpO3RyeXtpPXRbbl09ci5mYWN0b3J5KHZvaWQgMCxhLHQsbyksZS5maXJzdENyZWF0ZVBhc3MmJm4+PW8uZGlyZWN0aXZlU3RhcnQmJihuZ0Rldk1vZGUmJihmdW5jdGlvbiBzKHQpe3ZvaWQgMCE9PXQudHlwZSYmbnVsbCE9dC5zZWxlY3RvcnMmJnZvaWQgMCE9PXQuaW5wdXRzfHxPbigiRXhwZWN0ZWQgYSBEaXJlY3RpdmVEZWYvQ29tcG9uZW50RGVmIGFuZCB0aGlzIG9iamVjdCBkb2VzIG5vdCBzZWVtIHRvIGhhdmUgdGhlIGV4cGVjdGVkIHNoYXBlLiIpfSkoYVtuXSksKAovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gbCh0LGUsbil7bmdEZXZNb2RlJiZMbyhuKTtjb25zdHtuZ09uQ2hhbmdlczpvLG5nT25Jbml0OmksbmdEb0NoZWNrOmF9PWUudHlwZS5wcm90b3R5cGU7aWYobyl7Y29uc3Qgbz1abyhlKTsobi5wcmVPcmRlckhvb2tzfHwobi5wcmVPcmRlckhvb2tzPVtdKSkucHVzaCh0LG8pLChuLnByZU9yZGVyQ2hlY2tIb29rc3x8KG4ucHJlT3JkZXJDaGVja0hvb2tzPVtdKSkucHVzaCh0LG8pfWkmJihuLnByZU9yZGVySG9va3N8fChuLnByZU9yZGVySG9va3M9W10pKS5wdXNoKDAtdCxpKSxhJiYoKG4ucHJlT3JkZXJIb29rc3x8KG4ucHJlT3JkZXJIb29rcz1bXSkpLnB1c2godCxhKSwobi5wcmVPcmRlckNoZWNrSG9va3N8fChuLnByZU9yZGVyQ2hlY2tIb29rcz1bXSkpLnB1c2godCxhKSl9KShuLGFbbl0sZSkpfWZpbmFsbHl7bnVsbCE9PWwmJkxuKGwpLFBhKHMpLHIucmVzb2x2aW5nPSExLEppKCl9fXJldHVybiBpfWZ1bmN0aW9uIEJhKHQsZSxuKXtyZXR1cm4hIShuW2UrKHQ+PjUpXSYxPDx0KX1mdW5jdGlvbiBWYSh0LGUpe3JldHVybiEodCZIbi5TZWxmfHx0JkhuLkhvc3QmJmUpfWNsYXNzIGphe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fdE5vZGU9dCx0aGlzLl9sVmlldz1lfWdldCh0LGUpe3JldHVybiBOYSh0aGlzLl90Tm9kZSx0aGlzLl9sVmlldyx0LHZvaWQgMCxlKX19ZnVuY3Rpb24gVWEodCl7cmV0dXJuIFZuKCgoKT0+e2NvbnN0IGU9dC5wcm90b3R5cGUuY29uc3RydWN0b3Isbj1lW2lvXXx8V2EoZSksbz1PYmplY3QucHJvdG90eXBlO2xldCBpPU9iamVjdC5nZXRQcm90b3R5cGVPZih0LnByb3RvdHlwZSkuY29uc3RydWN0b3I7Zm9yKDtpJiZpIT09bzspe2NvbnN0IHQ9aVtpb118fFdhKGkpO2lmKHQmJnQhPT1uKXJldHVybiB0O2k9T2JqZWN0LmdldFByb3RvdHlwZU9mKGkpfXJldHVybiB0PT5uZXcgdH0pKX1mdW5jdGlvbiBXYSh0KXtyZXR1cm4gZW4odCk/KCk9Pntjb25zdCBlPVdhKHRuKHQpKTtyZXR1cm4gZSYmZSgpfTpHbyh0KX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gR2EodCl7cmV0dXJuKGZ1bmN0aW9uIGUodCxuKXtpZihuZ0Rldk1vZGUmJmdhKHQsMTUpLG5nRGV2TW9kZSYmeG4odCwiZXhwZWN0aW5nIHROb2RlIiksImNsYXNzIj09PW4pcmV0dXJuIHQuY2xhc3NlcztpZigic3R5bGUiPT09bilyZXR1cm4gdC5zdHlsZXM7Y29uc3Qgbz10LmF0dHJzO2lmKG8pe2NvbnN0IHQ9by5sZW5ndGg7bGV0IGU9MDtmb3IoO2U8dDspe2NvbnN0IGk9b1tlXTtpZihiYShpKSlicmVhaztpZigwPT09aSllKz0yO2Vsc2UgaWYoIm51bWJlciI9PXR5cGVvZiBpKWZvcihlKys7ZTx0JiYic3RyaW5nIj09dHlwZW9mIG9bZV07KWUrKztlbHNle2lmKGk9PT1uKXJldHVybiBvW2UrMV07ZSs9Mn19fXJldHVybiBudWxsfSkod2koKSx0KX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgWWE9Il9fYW5ub3RhdGlvbnNfXyIscWE9Il9fcGFyYW1ldGVyc19fIixaYT0iX19wcm9wX19tZXRhZGF0YV9fIjtmdW5jdGlvbiBYYSh0LGUsbixvLGkpe3JldHVybiBWbigoKCk9Pntjb25zdCBhPUthKGUpO2Z1bmN0aW9uIHIoLi4udCl7aWYodGhpcyBpbnN0YW5jZW9mIHIpcmV0dXJuIGEuY2FsbCh0aGlzLC4uLnQpLHRoaXM7Y29uc3QgZT1uZXcgciguLi50KTtyZXR1cm4gZnVuY3Rpb24gbihhKXtpJiZpKGEsLi4udCk7cmV0dXJuKGEuaGFzT3duUHJvcGVydHkoWWEpP2FbWWFdOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFlhLHt2YWx1ZTpbXX0pW1lhXSkucHVzaChlKSxvJiZvKGEpLGF9fXJldHVybiBuJiYoci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuLnByb3RvdHlwZSkpLHIucHJvdG90eXBlLm5nTWV0YWRhdGFOYW1lPXQsci5hbm5vdGF0aW9uQ2xzPXIscn0pKX1mdW5jdGlvbiBLYSh0KXtyZXR1cm4gZnVuY3Rpb24gZSguLi5uKXtpZih0KXtjb25zdCBlPXQoLi4ubik7Zm9yKGNvbnN0IHQgaW4gZSl0aGlzW3RdPWVbdF19fX1mdW5jdGlvbiBKYSh0LGUsbil7cmV0dXJuIFZuKCgoKT0+e2NvbnN0IG89S2EoZSk7ZnVuY3Rpb24gaSguLi50KXtpZih0aGlzIGluc3RhbmNlb2YgaSlyZXR1cm4gby5hcHBseSh0aGlzLHQpLHRoaXM7Y29uc3QgZT1uZXcgaSguLi50KTtyZXR1cm4gbi5hbm5vdGF0aW9uPWUsbjtmdW5jdGlvbiBuKHQsbixvKXtjb25zdCBpPXQuaGFzT3duUHJvcGVydHkocWEpP3RbcWFdOk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHFhLHt2YWx1ZTpbXX0pW3FhXTtmb3IoO2kubGVuZ3RoPD1vOylpLnB1c2gobnVsbCk7cmV0dXJuKGlbb109aVtvXXx8W10pLnB1c2goZSksdH19cmV0dXJuIG4mJihpLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4ucHJvdG90eXBlKSksaS5wcm90b3R5cGUubmdNZXRhZGF0YU5hbWU9dCxpLmFubm90YXRpb25DbHM9aSxpfSkpfWZ1bmN0aW9uIFFhKHQsZSxuLG8pe3JldHVybiBWbigoKCk9Pntjb25zdCBpPUthKGUpO2Z1bmN0aW9uIGEoLi4udCl7aWYodGhpcyBpbnN0YW5jZW9mIGEpcmV0dXJuIGkuYXBwbHkodGhpcyx0KSx0aGlzO2NvbnN0IGU9bmV3IGEoLi4udCk7cmV0dXJuIGZ1bmN0aW9uIG4oaSxhKXtjb25zdCByPWkuY29uc3RydWN0b3Iscz1yLmhhc093blByb3BlcnR5KFphKT9yW1phXTpPYmplY3QuZGVmaW5lUHJvcGVydHkocixaYSx7dmFsdWU6e319KVtaYV07c1thXT1zLmhhc093blByb3BlcnR5KGEpJiZzW2FdfHxbXSxzW2FdLnVuc2hpZnQoZSksbyYmbyhpLGEsLi4udCl9fXJldHVybiBuJiYoYS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuLnByb3RvdHlwZSkpLGEucHJvdG90eXBlLm5nTWV0YWRhdGFOYW1lPXQsYS5hbm5vdGF0aW9uQ2xzPWEsYX0pKX1jb25zdCAkYT0oZnVuY3Rpb24gdHIoKXtyZXR1cm4gSmEoIkF0dHJpYnV0ZSIsKHQ9Pih7YXR0cmlidXRlTmFtZTp0LF9fTkdfRUxFTUVOVF9JRF9fOigpPT5HYSh0KX0pKSl9KSgpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgZXJ7Y29uc3RydWN0b3IodCxlKXt0aGlzLl9kZXNjPXQsdGhpcy5uZ01ldGFkYXRhTmFtZT0iSW5qZWN0aW9uVG9rZW4iLHRoaXMuybVwcm92PXZvaWQgMCwibnVtYmVyIj09dHlwZW9mIGU/KCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmX24oZSwwLCJPbmx5IG5lZ2F0aXZlIG51bWJlcnMgYXJlIHN1cHBvcnRlZCBoZXJlIiksdGhpcy5fX05HX0VMRU1FTlRfSURfXz1lKTp2b2lkIDAhPT1lJiYodGhpcy7JtXByb3Y9U24oe3Rva2VuOnRoaXMscHJvdmlkZWRJbjplLnByb3ZpZGVkSW58fCJyb290IixmYWN0b3J5OmUuZmFjdG9yeX0pKX10b1N0cmluZygpe3JldHVybmBJbmplY3Rpb25Ub2tlbiAke3RoaXMuX2Rlc2N9YH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL25ldyBlcigiQW5hbHl6ZUZvckVudHJ5Q29tcG9uZW50cyIpO2NsYXNzIG5ye31jb25zdCBvcj1RYSgiQ29udGVudENoaWxkcmVuIiwoKHQsZT17fSk9Pk9iamVjdC5hc3NpZ24oe3NlbGVjdG9yOnQsZmlyc3Q6ITEsaXNWaWV3UXVlcnk6ITEsZGVzY2VuZGFudHM6ITEsZW1pdERpc3RpbmN0Q2hhbmdlc09ubHk6dHJ1ZX0sZSkpLG5yKSxpcj1RYSgiQ29udGVudENoaWxkIiwoKHQsZT17fSk9Pk9iamVjdC5hc3NpZ24oe3NlbGVjdG9yOnQsZmlyc3Q6ITAsaXNWaWV3UXVlcnk6ITEsZGVzY2VuZGFudHM6ITB9LGUpKSxucik7UWEoIlZpZXdDaGlsZHJlbiIsKCh0LGU9e30pPT5PYmplY3QuYXNzaWduKHtzZWxlY3Rvcjp0LGZpcnN0OiExLGlzVmlld1F1ZXJ5OiEwLGRlc2NlbmRhbnRzOiEwLGVtaXREaXN0aW5jdENoYW5nZXNPbmx5OnRydWV9LGUpKSxucik7Y29uc3QgYXI9UWEoIlZpZXdDaGlsZCIsKCh0LGUpPT5PYmplY3QuYXNzaWduKHtzZWxlY3Rvcjp0LGZpcnN0OiEwLGlzVmlld1F1ZXJ5OiEwLGRlc2NlbmRhbnRzOiEwfSxlKSksbnIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KdmFyIHJyLHNyOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gbHIodCl7Y29uc3QgZT1Ybi5uZztpZihlJiZlLsm1Y29tcGlsZXJGYWNhZGUpcmV0dXJuIGUuybVjb21waWxlckZhY2FkZTtpZigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKXtjb25zb2xlLmVycm9yKGBKSVQgY29tcGlsYXRpb24gZmFpbGVkIGZvciAke3Qua2luZH1gLHQudHlwZSk7bGV0IGU9YFRoZSAke3Qua2luZH0gJyR7dC50eXBlLm5hbWV9JyBuZWVkcyB0byBiZSBjb21waWxlZCB1c2luZyB0aGUgSklUIGNvbXBpbGVyLCBidXQgJ0Bhbmd1bGFyL2NvbXBpbGVyJyBpcyBub3QgYXZhaWxhYmxlLlxuXG5gO3Rocm93IDE9PT10LnVzYWdlPyhlKz1gVGhlICR7dC5raW5kfSBpcyBwYXJ0IG9mIGEgbGlicmFyeSB0aGF0IGhhcyBiZWVuIHBhcnRpYWxseSBjb21waWxlZC5cbmAsZSs9Ikhvd2V2ZXIsIHRoZSBBbmd1bGFyIExpbmtlciBoYXMgbm90IHByb2Nlc3NlZCB0aGUgbGlicmFyeSBzdWNoIHRoYXQgSklUIGNvbXBpbGF0aW9uIGlzIHVzZWQgYXMgZmFsbGJhY2suXG4iLGUrPSJcbiIsZSs9IklkZWFsbHksIHRoZSBsaWJyYXJ5IGlzIHByb2Nlc3NlZCB1c2luZyB0aGUgQW5ndWxhciBMaW5rZXIgdG8gYmVjb21lIGZ1bGx5IEFPVCBjb21waWxlZC5cbiIpOmUrPSJKSVQgY29tcGlsYXRpb24gaXMgZGlzY291cmFnZWQgZm9yIHByb2R1Y3Rpb24gdXNlLWNhc2VzISBDb25zaWRlciB1c2luZyBBT1QgbW9kZSBpbnN0ZWFkLlxuIixlKz0iQWx0ZXJuYXRpdmVseSwgdGhlIEpJVCBjb21waWxlciBzaG91bGQgYmUgbG9hZGVkIGJ5IGJvb3RzdHJhcHBpbmcgdXNpbmcgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYycgb3IgJ0Bhbmd1bGFyL3BsYXRmb3JtLXNlcnZlcicsXG4iLGUrPSJvciBtYW51YWxseSBwcm92aWRlIHRoZSBjb21waWxlciB3aXRoICdpbXBvcnQgXCJAYW5ndWxhci9jb21waWxlclwiOycgYmVmb3JlIGJvb3RzdHJhcHBpbmcuIixuZXcgRXJyb3IoZSl9dGhyb3cgbmV3IEVycm9yKCJKSVQgY29tcGlsZXIgdW5hdmFpbGFibGUiKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovIShmdW5jdGlvbih0KXt0W3QuRGlyZWN0aXZlPTBdPSJEaXJlY3RpdmUiLHRbdC5Db21wb25lbnQ9MV09IkNvbXBvbmVudCIsdFt0LkluamVjdGFibGU9Ml09IkluamVjdGFibGUiLHRbdC5QaXBlPTNdPSJQaXBlIix0W3QuTmdNb2R1bGU9NF09Ik5nTW9kdWxlIn0pKHJyfHwocnI9e30pKSwoZnVuY3Rpb24odCl7dFt0LkVtdWxhdGVkPTBdPSJFbXVsYXRlZCIsdFt0Lk5vbmU9Ml09Ik5vbmUiLHRbdC5TaGFkb3dEb209M109IlNoYWRvd0RvbSJ9KShzcnx8KHNyPXt9KSk7Y29uc3QgY3I9RnVuY3Rpb247ZnVuY3Rpb24gZHIodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHR9ZnVuY3Rpb24gcHIodCxlKXt2b2lkIDA9PT1lJiYoZT10KTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7bGV0IG89dFtuXTtBcnJheS5pc0FycmF5KG8pPyhlPT09dCYmKGU9dC5zbGljZSgwLG4pKSxwcihvLGUpKTplIT09dCYmZS5wdXNoKG8pfXJldHVybiBlfWZ1bmN0aW9uIG1yKHQsZSl7dC5mb3JFYWNoKCh0PT5BcnJheS5pc0FycmF5KHQpP21yKHQsZSk6ZSh0KSkpfWZ1bmN0aW9uIGZyKHQsZSxuKXtlPj10Lmxlbmd0aD90LnB1c2gobik6dC5zcGxpY2UoZSwwLG4pfWZ1bmN0aW9uIHVyKHQsZSl7cmV0dXJuIGU+PXQubGVuZ3RoLTE/dC5wb3AoKTp0LnNwbGljZShlLDEpWzBdfWZ1bmN0aW9uIGdyKHQsZSl7Y29uc3Qgbj1bXTtmb3IobGV0IG89MDtvPHQ7bysrKW4ucHVzaChlKTtyZXR1cm4gbn1mdW5jdGlvbiBocih0LGUsbil7bGV0IG89eXIodCxlKTtyZXR1cm4gbz49MD90WzF8b109bjoobz1+bywoZnVuY3Rpb24gaSh0LGUsbixvKXtuZ0Rldk1vZGUmJkNuKGUsdC5sZW5ndGgsIkNhbid0IGluc2VydCBwYXN0IGFycmF5IGVuZC4iKTtsZXQgaT10Lmxlbmd0aDtpZihpPT1lKXQucHVzaChuLG8pO2Vsc2UgaWYoMT09PWkpdC5wdXNoKG8sdFswXSksdFswXT1uO2Vsc2V7Zm9yKGktLSx0LnB1c2godFtpLTFdLHRbaV0pO2k+ZTspdFtpXT10W2ktMl0saS0tO3RbZV09bix0W2UrMV09b319KSh0LG8sZSxuKSksb31mdW5jdGlvbiBicih0LGUpe2NvbnN0IG49eXIodCxlKTtpZihuPj0wKXJldHVybiB0WzF8bl19ZnVuY3Rpb24geXIodCxlKXtyZXR1cm4oZnVuY3Rpb24gbih0LGUsbyl7bmdEZXZNb2RlJiZnbihBcnJheS5pc0FycmF5KHQpLCEwLCJFeHBlY3RpbmcgYW4gYXJyYXkiKTtsZXQgaT0wLGE9dC5sZW5ndGg+Pm87Zm9yKDthIT09aTspe2NvbnN0IG49aSsoYS1pPj4xKSxyPXRbbjw8b107aWYoZT09PXIpcmV0dXJuIG48PG87cj5lP2E9bjppPW4rMX1yZXR1cm5+KGE8PG8pfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKHQsZSwxKX1jb25zdCBfcj0vXmZ1bmN0aW9uXHMrXFMrXChcKVxzKntbXHNcU10rXC5hcHBseVwodGhpcyxccyooYXJndW1lbnRzfCg/OlteKCldK1woXFtcXSwpP1teKCldK1woYXJndW1lbnRzXCkpXCkvLENyPS9eY2xhc3NccytbQS1aYS16XGQkX10qXHMqZXh0ZW5kc1xzK1tee10rey8sTXI9L15jbGFzc1xzK1tBLVphLXpcZCRfXSpccypleHRlbmRzXHMrW157XSt7W1xzXFNdKmNvbnN0cnVjdG9yXHMqXCgvLHZyPS9eY2xhc3NccytbQS1aYS16XGQkX10qXHMqZXh0ZW5kc1xzK1tee10re1tcc1xTXSpjb25zdHJ1Y3RvclxzKlwoXClccyp7XHMqc3VwZXJcKFwuXC5cLmFyZ3VtZW50c1wpLztjbGFzcyB4cntjb25zdHJ1Y3Rvcih0KXt0aGlzLl9yZWZsZWN0PXR8fFhuLlJlZmxlY3R9aXNSZWZsZWN0aW9uRW5hYmxlZCgpe3JldHVybiEwfWZhY3RvcnkodCl7cmV0dXJuKC4uLmUpPT5uZXcgdCguLi5lKX1femlwVHlwZXNBbmRBbm5vdGF0aW9ucyh0LGUpe2xldCBuO249Z3Iodm9pZCAwPT09dD9lLmxlbmd0aDp0Lmxlbmd0aCk7Zm9yKGxldCBvPTA7bzxuLmxlbmd0aDtvKyspbltvXT12b2lkIDA9PT10P1tdOnRbb10mJnRbb10hPU9iamVjdD9bdFtvXV06W10sZSYmbnVsbCE9ZVtvXSYmKG5bb109bltvXS5jb25jYXQoZVtvXSkpO3JldHVybiBufV9vd25QYXJhbWV0ZXJzKHQsZSl7aWYoKGZ1bmN0aW9uIG4odCl7cmV0dXJuIF9yLnRlc3QodCl8fHZyLnRlc3QodCl8fENyLnRlc3QodCkmJiFNci50ZXN0KHQpfSkodC50b1N0cmluZygpKSlyZXR1cm4gbnVsbDtpZih0LnBhcmFtZXRlcnMmJnQucGFyYW1ldGVycyE9PWUucGFyYW1ldGVycylyZXR1cm4gdC5wYXJhbWV0ZXJzO2NvbnN0IG89dC5jdG9yUGFyYW1ldGVycztpZihvJiZvIT09ZS5jdG9yUGFyYW1ldGVycyl7Y29uc3QgdD0iZnVuY3Rpb24iPT10eXBlb2Ygbz9vKCk6byxlPXQubWFwKCh0PT50JiZ0LnR5cGUpKSxuPXQubWFwKCh0PT50JiZPcih0LmRlY29yYXRvcnMpKSk7cmV0dXJuIHRoaXMuX3ppcFR5cGVzQW5kQW5ub3RhdGlvbnMoZSxuKX1jb25zdCBpPXQuaGFzT3duUHJvcGVydHkocWEpJiZ0W3FhXSxhPXRoaXMuX3JlZmxlY3QmJnRoaXMuX3JlZmxlY3QuZ2V0T3duTWV0YWRhdGEmJnRoaXMuX3JlZmxlY3QuZ2V0T3duTWV0YWRhdGEoImRlc2lnbjpwYXJhbXR5cGVzIix0KTtyZXR1cm4gYXx8aT90aGlzLl96aXBUeXBlc0FuZEFubm90YXRpb25zKGEsaSk6Z3IodC5sZW5ndGgpfXBhcmFtZXRlcnModCl7aWYoIWRyKHQpKXJldHVybltdO2NvbnN0IGU9UHIodCk7bGV0IG49dGhpcy5fb3duUGFyYW1ldGVycyh0LGUpO3JldHVybiBufHxlPT09T2JqZWN0fHwobj10aGlzLnBhcmFtZXRlcnMoZSkpLG58fFtdfV9vd25Bbm5vdGF0aW9ucyh0LGUpe2lmKHQuYW5ub3RhdGlvbnMmJnQuYW5ub3RhdGlvbnMhPT1lLmFubm90YXRpb25zKXtsZXQgZT10LmFubm90YXRpb25zO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLmFubm90YXRpb25zJiYoZT1lLmFubm90YXRpb25zKSxlfXJldHVybiB0LmRlY29yYXRvcnMmJnQuZGVjb3JhdG9ycyE9PWUuZGVjb3JhdG9ycz9Pcih0LmRlY29yYXRvcnMpOnQuaGFzT3duUHJvcGVydHkoWWEpP3RbWWFdOm51bGx9YW5ub3RhdGlvbnModCl7aWYoIWRyKHQpKXJldHVybltdO2NvbnN0IGU9UHIodCksbj10aGlzLl9vd25Bbm5vdGF0aW9ucyh0LGUpfHxbXTtyZXR1cm4oZSE9PU9iamVjdD90aGlzLmFubm90YXRpb25zKGUpOltdKS5jb25jYXQobil9X293blByb3BNZXRhZGF0YSh0LGUpe2lmKHQucHJvcE1ldGFkYXRhJiZ0LnByb3BNZXRhZGF0YSE9PWUucHJvcE1ldGFkYXRhKXtsZXQgZT10LnByb3BNZXRhZGF0YTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmZS5wcm9wTWV0YWRhdGEmJihlPWUucHJvcE1ldGFkYXRhKSxlfWlmKHQucHJvcERlY29yYXRvcnMmJnQucHJvcERlY29yYXRvcnMhPT1lLnByb3BEZWNvcmF0b3JzKXtjb25zdCBlPXQucHJvcERlY29yYXRvcnMsbj17fTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e25bdF09T3IoZVt0XSl9KSksbn1yZXR1cm4gdC5oYXNPd25Qcm9wZXJ0eShaYSk/dFtaYV06bnVsbH1wcm9wTWV0YWRhdGEodCl7aWYoIWRyKHQpKXJldHVybnt9O2NvbnN0IGU9UHIodCksbj17fTtpZihlIT09T2JqZWN0KXtjb25zdCB0PXRoaXMucHJvcE1ldGFkYXRhKGUpO09iamVjdC5rZXlzKHQpLmZvckVhY2goKGU9PntuW2VdPXRbZV19KSl9Y29uc3Qgbz10aGlzLl9vd25Qcm9wTWV0YWRhdGEodCxlKTtyZXR1cm4gbyYmT2JqZWN0LmtleXMobykuZm9yRWFjaCgodD0+e2NvbnN0IGU9W107bi5oYXNPd25Qcm9wZXJ0eSh0KSYmZS5wdXNoKC4uLm5bdF0pLGUucHVzaCguLi5vW3RdKSxuW3RdPWV9KSksbn1vd25Qcm9wTWV0YWRhdGEodCl7cmV0dXJuIGRyKHQpJiZ0aGlzLl9vd25Qcm9wTWV0YWRhdGEodCxQcih0KSl8fHt9fWhhc0xpZmVjeWNsZUhvb2sodCxlKXtyZXR1cm4gdCBpbnN0YW5jZW9mIGNyJiZlIGluIHQucHJvdG90eXBlfWd1YXJkcyh0KXtyZXR1cm57fX1nZXR0ZXIodCl7cmV0dXJuIG5ldyBGdW5jdGlvbigibyIsInJldHVybiBvLiIrdCsiOyIpfXNldHRlcih0KXtyZXR1cm4gbmV3IEZ1bmN0aW9uKCJvIiwidiIsInJldHVybiBvLiIrdCsiID0gdjsiKX1tZXRob2QodCl7cmV0dXJuIG5ldyBGdW5jdGlvbigibyIsImFyZ3MiLGBpZiAoIW8uJHt0fSkgdGhyb3cgbmV3IEVycm9yKCciJHt0fSIgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIHJldHVybiBvLiR7dH0uYXBwbHkobywgYXJncyk7YCl9aW1wb3J0VXJpKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmdC5maWxlUGF0aD90LmZpbGVQYXRoOmAuLyR7S2UodCl9YH1yZXNvdXJjZVVyaSh0KXtyZXR1cm5gLi8ke0tlKHQpfWB9cmVzb2x2ZUlkZW50aWZpZXIodCxlLG4sbyl7cmV0dXJuIG99cmVzb2x2ZUVudW0odCxlKXtyZXR1cm4gdFtlXX19ZnVuY3Rpb24gT3IodCl7cmV0dXJuIHQ/dC5tYXAoKHQ9Pm5ldygwLHQudHlwZS5hbm5vdGF0aW9uQ2xzKSguLi50LmFyZ3M/dC5hcmdzOltdKSkpOltdfWZ1bmN0aW9uIFByKHQpe2NvbnN0IGU9dC5wcm90b3R5cGU/T2JqZWN0LmdldFByb3RvdHlwZU9mKHQucHJvdG90eXBlKTpudWxsO3JldHVybihlP2UuY29uc3RydWN0b3I6bnVsbCl8fE9iamVjdH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3Qgd3I9e30sa3I9L1xuL2dtLFNyPSJfX3NvdXJjZSIsRHI9WmUoe3Byb3ZpZGU6U3RyaW5nLHVzZVZhbHVlOlplfSk7bGV0IFJyO2Z1bmN0aW9uIEVyKHQpe2NvbnN0IGU9UnI7cmV0dXJuIFJyPXQsZX1mdW5jdGlvbiBBcih0LGU9SG4uRGVmYXVsdCl7aWYodm9pZCAwPT09UnIpdGhyb3cgbmV3IEVycm9yKCJpbmplY3QoKSBtdXN0IGJlIGNhbGxlZCBmcm9tIGFuIGluamVjdGlvbiBjb250ZXh0Iik7cmV0dXJuIG51bGw9PT1Scj9Cbih0LHZvaWQgMCxlKTpSci5nZXQodCxlJkhuLk9wdGlvbmFsP251bGw6dm9pZCAwLGUpfWZ1bmN0aW9uIFRyKHQsZT1Ibi5EZWZhdWx0KXtyZXR1cm4oKGZ1bmN0aW9uIG4oKXtyZXR1cm4gRm59KSgpfHxBcikodG4odCksZSl9ZnVuY3Rpb24gTnIodCl7Y29uc3QgZT1uZ0Rldk1vZGU/YFRoaXMgY29uc3RydWN0b3IgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBBbmd1bGFyIERlcGVuZGVuY3kgSW5qZWN0aW9uIGJlY2F1c2UgaXRzIGRlcGVuZGVuY3kgYXQgaW5kZXggJHt0fSBvZiB0aGUgcGFyYW1ldGVyIGxpc3QgaXMgaW52YWxpZC5cblRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgZGVwZW5kZW5jeSB0eXBlIGlzIGEgcHJpbWl0aXZlIGxpa2UgYSBzdHJpbmcgb3IgaWYgYW4gYW5jZXN0b3Igb2YgdGhpcyBjbGFzcyBpcyBtaXNzaW5nIGFuIEFuZ3VsYXIgZGVjb3JhdG9yLlxuXG5QbGVhc2UgY2hlY2sgdGhhdCAxKSB0aGUgdHlwZSBmb3IgdGhlIHBhcmFtZXRlciBhdCBpbmRleCAke3R9IGlzIGNvcnJlY3QgYW5kIDIpIHRoZSBjb3JyZWN0IEFuZ3VsYXIgZGVjb3JhdG9ycyBhcmUgZGVmaW5lZCBmb3IgdGhpcyBjbGFzcyBhbmQgaXRzIGFuY2VzdG9ycy5gOiJpbnZhbGlkIjt0aHJvdyBuZXcgRXJyb3IoZSl9Y29uc3QgenI9VHI7ZnVuY3Rpb24gSXIodCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7Y29uc3Qgbz10bih0W25dKTtpZihBcnJheS5pc0FycmF5KG8pKXtpZigwPT09by5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJBcmd1bWVudHMgYXJyYXkgbXVzdCBoYXZlIGFyZ3VtZW50cy4iKTtsZXQgdCxuPUhuLkRlZmF1bHQ7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IGk9b1tlXSxhPWkuX19OR19ESV9GTEFHX187Im51bWJlciI9PXR5cGVvZiBhPy0xPT09YT90PWkudG9rZW46bnw9YTp0PWl9ZS5wdXNoKFRyKHQsbikpfWVsc2UgZS5wdXNoKFRyKG8pKX1yZXR1cm4gZX1mdW5jdGlvbiBIcih0LGUpe3JldHVybiB0Ll9fTkdfRElfRkxBR19fPWUsdC5wcm90b3R5cGUuX19OR19ESV9GTEFHX189ZSx0fWZ1bmN0aW9uIEZyKHQsZSxuLG8pe2NvbnN0IGk9dC5uZ1RlbXBUb2tlblBhdGg7dGhyb3cgZVtTcl0mJmkudW5zaGlmdChlW1NyXSksdC5tZXNzYWdlPShmdW5jdGlvbiBhKHQsZSxuLG89bnVsbCl7dD10JiYiXG4iPT09dC5jaGFyQXQoMCkmJiLJtSI9PXQuY2hhckF0KDEpP3Quc3Vic3RyKDIpOnQ7bGV0IGk9S2UoZSk7aWYoQXJyYXkuaXNBcnJheShlKSlpPWUubWFwKEtlKS5qb2luKCIgLT4gIik7ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGUpe2xldCB0PVtdO2ZvcihsZXQgbiBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobikpe2xldCBvPWVbbl07dC5wdXNoKG4rIjoiKygic3RyaW5nIj09dHlwZW9mIG8/SlNPTi5zdHJpbmdpZnkobyk6S2UobykpKX1pPWB7JHt0LmpvaW4oIiwgIil9fWB9cmV0dXJuYCR7bn0ke28/IigiK28rIikiOiIifVske2l9XTogJHt0LnJlcGxhY2Uoa3IsIlxuICAiKX1gfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKCJcbiIrdC5tZXNzYWdlLGksbixvKSx0Lm5nVG9rZW5QYXRoPWksdC5uZ1RlbXBUb2tlblBhdGg9bnVsbCx0fWNvbnN0IExyPUhyKEphKCJJbmplY3QiLCh0PT4oe3Rva2VuOnR9KSkpLC0xKSxCcj1IcihKYSgiT3B0aW9uYWwiKSw4KSxWcj1IcihKYSgiU2VsZiIpLDIpLGpyPUhyKEphKCJTa2lwU2VsZiIpLDQpLFVyPUhyKEphKCJIb3N0IiksMSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpsZXQgV3I9bnVsbDtmdW5jdGlvbiBHcigpe3JldHVybiBXcj1Xcnx8bmV3IHhyfWZ1bmN0aW9uIFlyKHQpe3JldHVybiBxcihHcigpLnBhcmFtZXRlcnModCkpfWZ1bmN0aW9uIHFyKHQpe3JldHVybiB0Lm1hcCgodD0+KGZ1bmN0aW9uIGUodCl7Y29uc3QgZT17dG9rZW46bnVsbCxhdHRyaWJ1dGU6bnVsbCxob3N0OiExLG9wdGlvbmFsOiExLHNlbGY6ITEsc2tpcFNlbGY6ITF9O2lmKEFycmF5LmlzQXJyYXkodCkmJnQubGVuZ3RoPjApZm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspe2NvbnN0IG89dFtuXTtpZih2b2lkIDA9PT1vKWNvbnRpbnVlO2NvbnN0IGk9T2JqZWN0LmdldFByb3RvdHlwZU9mKG8pO2lmKG8gaW5zdGFuY2VvZiBCcnx8Ik9wdGlvbmFsIj09PWkubmdNZXRhZGF0YU5hbWUpZS5vcHRpb25hbD0hMDtlbHNlIGlmKG8gaW5zdGFuY2VvZiBqcnx8IlNraXBTZWxmIj09PWkubmdNZXRhZGF0YU5hbWUpZS5za2lwU2VsZj0hMDtlbHNlIGlmKG8gaW5zdGFuY2VvZiBWcnx8IlNlbGYiPT09aS5uZ01ldGFkYXRhTmFtZSllLnNlbGY9ITA7ZWxzZSBpZihvIGluc3RhbmNlb2YgVXJ8fCJIb3N0Ij09PWkubmdNZXRhZGF0YU5hbWUpZS5ob3N0PSEwO2Vsc2UgaWYobyBpbnN0YW5jZW9mIExyKWUudG9rZW49by50b2tlbjtlbHNlIGlmKG8gaW5zdGFuY2VvZiAkYSl7aWYodm9pZCAwPT09by5hdHRyaWJ1dGVOYW1lKXRocm93IG5ldyBFcnJvcigiQXR0cmlidXRlIG5hbWUgbXVzdCBiZSBkZWZpbmVkLiIpO2UuYXR0cmlidXRlPW8uYXR0cmlidXRlTmFtZX1lbHNlIGUudG9rZW49b31lbHNlIGUudG9rZW49dm9pZCAwPT09dHx8QXJyYXkuaXNBcnJheSh0KSYmMD09PXQubGVuZ3RoP251bGw6dDtyZXR1cm4gZX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0KSkpfWZ1bmN0aW9uIFpyKHQpe2NvbnN0IGU9W10sbj1uZXcgTWFwO2Z1bmN0aW9uIG8oZSl7bGV0IG89bi5nZXQoZSk7aWYoIW8pe2NvbnN0IGk9dChlKTtuLnNldChlLG89aS50aGVuKFFyKSl9cmV0dXJuIG99cmV0dXJuIFhyLmZvckVhY2goKCh0LG4pPT57Y29uc3QgaT1bXTt0LnRlbXBsYXRlVXJsJiZpLnB1c2gobyh0LnRlbXBsYXRlVXJsKS50aGVuKChlPT57dC50ZW1wbGF0ZT1lfSkpKTtjb25zdCBhPXQuc3R5bGVVcmxzLHI9dC5zdHlsZXN8fCh0LnN0eWxlcz1bXSkscz10LnN0eWxlcy5sZW5ndGg7YSYmYS5mb3JFYWNoKCgoZSxuKT0+e3IucHVzaCgiIiksaS5wdXNoKG8oZSkudGhlbigobz0+e3JbcytuXT1vLGEuc3BsaWNlKGEuaW5kZXhPZihlKSwxKSwwPT1hLmxlbmd0aCYmKHQuc3R5bGVVcmxzPXZvaWQgMCl9KSkpfSkpO2NvbnN0IGw9UHJvbWlzZS5hbGwoaSkudGhlbigoKCk9PihmdW5jdGlvbiB0KGUpe0tyLmRlbGV0ZShlKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKShuKSkpO2UucHVzaChsKX0pKSwoZnVuY3Rpb24gaSgpe2NvbnN0IHQ9WHI7cmV0dXJuIFhyPW5ldyBNYXAsdH0pKCksUHJvbWlzZS5hbGwoZSkudGhlbigoKCk9Pnt9KSl9bGV0IFhyPW5ldyBNYXA7Y29uc3QgS3I9bmV3IFNldDtmdW5jdGlvbiBKcih0KXtyZXR1cm4hISh0LnRlbXBsYXRlVXJsJiYhdC5oYXNPd25Qcm9wZXJ0eSgidGVtcGxhdGUiKXx8dC5zdHlsZVVybHMmJnQuc3R5bGVVcmxzLmxlbmd0aCl9ZnVuY3Rpb24gUXIodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3Q6dC50ZXh0KCl9bGV0ICRyLHRzO2Z1bmN0aW9uIGVzKCl7aWYodm9pZCAwPT09JHImJigkcj1udWxsLFhuLnRydXN0ZWRUeXBlcykpdHJ5eyRyPVhuLnRydXN0ZWRUeXBlcy5jcmVhdGVQb2xpY3koImFuZ3VsYXIiLHtjcmVhdGVIVE1MOnQ9PnQsY3JlYXRlU2NyaXB0OnQ9PnQsY3JlYXRlU2NyaXB0VVJMOnQ9PnR9KX1jYXRjaCh0KXt9cmV0dXJuICRyfWZ1bmN0aW9uIG5zKHQpe3ZhciBlO3JldHVybihudWxsPT09KGU9ZXMoKSl8fHZvaWQgMD09PWU/dm9pZCAwOmUuY3JlYXRlSFRNTCh0KSl8fHR9ZnVuY3Rpb24gb3MoLi4udCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGUpdGhyb3cgbmV3IEVycm9yKCJuZXdUcnVzdGVkRnVuY3Rpb25Gb3JEZXYgc2hvdWxkIG5ldmVyIGJlIGNhbGxlZCBpbiBwcm9kdWN0aW9uIik7aWYoIVhuLnRydXN0ZWRUeXBlcylyZXR1cm4gbmV3IEZ1bmN0aW9uKC4uLnQpO2NvbnN0IGU9YChmdW5jdGlvbiBhbm9ueW1vdXMoJHt0LnNsaWNlKDAsLTEpLmpvaW4oIiwiKX1cbikgeyAke3RbdC5sZW5ndGgtMV19XG59KWAsbj1Ybi5ldmFsKChmdW5jdGlvbiBvKHQpe3ZhciBlO3JldHVybihudWxsPT09KGU9ZXMoKSl8fHZvaWQgMD09PWU/dm9pZCAwOmUuY3JlYXRlU2NyaXB0KHQpKXx8dH0pKGUpKTtyZXR1cm4gdm9pZCAwPT09bi5iaW5kP25ldyBGdW5jdGlvbiguLi50KToobi50b1N0cmluZz0oKT0+ZSxuLmJpbmQoWG4pKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gaXMoKXtpZih2b2lkIDA9PT10cyYmKHRzPW51bGwsWG4udHJ1c3RlZFR5cGVzKSl0cnl7dHM9WG4udHJ1c3RlZFR5cGVzLmNyZWF0ZVBvbGljeSgiYW5ndWxhciN1bnNhZmUtYnlwYXNzIix7Y3JlYXRlSFRNTDp0PT50LGNyZWF0ZVNjcmlwdDp0PT50LGNyZWF0ZVNjcmlwdFVSTDp0PT50fSl9Y2F0Y2godCl7fXJldHVybiB0c31mdW5jdGlvbiBhcyh0KXt2YXIgZTtyZXR1cm4obnVsbD09PShlPWlzKCkpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLmNyZWF0ZUhUTUwodCkpfHx0fWZ1bmN0aW9uIHJzKHQpe3ZhciBlO3JldHVybihudWxsPT09KGU9aXMoKSl8fHZvaWQgMD09PWU/dm9pZCAwOmUuY3JlYXRlU2NyaXB0KHQpKXx8dH1mdW5jdGlvbiBzcyh0KXt2YXIgZTtyZXR1cm4obnVsbD09PShlPWlzKCkpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLmNyZWF0ZVNjcmlwdFVSTCh0KSl8fHR9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIGxze2NvbnN0cnVjdG9yKHQpe3RoaXMuY2hhbmdpbmdUaGlzQnJlYWtzQXBwbGljYXRpb25TZWN1cml0eT10fXRvU3RyaW5nKCl7cmV0dXJuYFNhZmVWYWx1ZSBtdXN0IHVzZSBbcHJvcGVydHldPWJpbmRpbmc6ICR7dGhpcy5jaGFuZ2luZ1RoaXNCcmVha3NBcHBsaWNhdGlvblNlY3VyaXR5fSAoc2VlIGh0dHBzOi8vZy5jby9uZy9zZWN1cml0eSN4c3MpYH19Y2xhc3MgY3MgZXh0ZW5kcyBsc3tnZXRUeXBlTmFtZSgpe3JldHVybiJIVE1MIn19Y2xhc3MgZHMgZXh0ZW5kcyBsc3tnZXRUeXBlTmFtZSgpe3JldHVybiJTdHlsZSJ9fWNsYXNzIHBzIGV4dGVuZHMgbHN7Z2V0VHlwZU5hbWUoKXtyZXR1cm4iU2NyaXB0In19Y2xhc3MgbXMgZXh0ZW5kcyBsc3tnZXRUeXBlTmFtZSgpe3JldHVybiJVUkwifX1jbGFzcyBmcyBleHRlbmRzIGxze2dldFR5cGVOYW1lKCl7cmV0dXJuIlJlc291cmNlVVJMIn19ZnVuY3Rpb24gdXModCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBscz90LmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk6dH1mdW5jdGlvbiBncyh0LGUpe2NvbnN0IG49aHModCk7aWYobnVsbCE9biYmbiE9PWUpe2lmKCJSZXNvdXJjZVVSTCI9PT1uJiYiVVJMIj09PWUpcmV0dXJuITA7dGhyb3cgbmV3IEVycm9yKGBSZXF1aXJlZCBhIHNhZmUgJHtlfSwgZ290IGEgJHtufSAoc2VlIGh0dHBzOi8vZy5jby9uZy9zZWN1cml0eSN4c3MpYCl9cmV0dXJuIG49PT1lfWZ1bmN0aW9uIGhzKHQpe3JldHVybiB0IGluc3RhbmNlb2YgbHMmJnQuZ2V0VHlwZU5hbWUoKXx8bnVsbH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIGJzKHQpe2NvbnN0IGU9bmV3IF9zKHQpO3JldHVybihmdW5jdGlvbiBuKCl7dHJ5e3JldHVybiEhKG5ldyB3aW5kb3cuRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcobnMoIiIpLCJ0ZXh0L2h0bWwiKX1jYXRjaCh0KXtyZXR1cm4hMX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykoKT9uZXcgeXMoZSk6ZX1jbGFzcyB5c3tjb25zdHJ1Y3Rvcih0KXt0aGlzLmluZXJ0RG9jdW1lbnRIZWxwZXI9dH1nZXRJbmVydEJvZHlFbGVtZW50KHQpe3Q9Ijxib2R5PjxyZW1vdmU+PC9yZW1vdmU+Iit0O3RyeXtjb25zdCBlPShuZXcgd2luZG93LkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKG5zKHQpLCJ0ZXh0L2h0bWwiKS5ib2R5O3JldHVybiBudWxsPT09ZT90aGlzLmluZXJ0RG9jdW1lbnRIZWxwZXIuZ2V0SW5lcnRCb2R5RWxlbWVudCh0KTooZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpLGUpfWNhdGNoKHQpe3JldHVybiBudWxsfX19Y2xhc3MgX3N7Y29uc3RydWN0b3IodCl7aWYodGhpcy5kZWZhdWx0RG9jPXQsdGhpcy5pbmVydERvY3VtZW50PXRoaXMuZGVmYXVsdERvYy5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoInNhbml0aXphdGlvbi1pbmVydCIpLG51bGw9PXRoaXMuaW5lcnREb2N1bWVudC5ib2R5KXtjb25zdCB0PXRoaXMuaW5lcnREb2N1bWVudC5jcmVhdGVFbGVtZW50KCJodG1sIik7dGhpcy5pbmVydERvY3VtZW50LmFwcGVuZENoaWxkKHQpO2NvbnN0IGU9dGhpcy5pbmVydERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKTt0LmFwcGVuZENoaWxkKGUpfX1nZXRJbmVydEJvZHlFbGVtZW50KHQpe2NvbnN0IGU9dGhpcy5pbmVydERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIik7aWYoImNvbnRlbnQiaW4gZSlyZXR1cm4gZS5pbm5lckhUTUw9bnModCksZTtjb25zdCBuPXRoaXMuaW5lcnREb2N1bWVudC5jcmVhdGVFbGVtZW50KCJib2R5Iik7cmV0dXJuIG4uaW5uZXJIVE1MPW5zKHQpLHRoaXMuZGVmYXVsdERvYy5kb2N1bWVudE1vZGUmJnRoaXMuc3RyaXBDdXN0b21Oc0F0dHJzKG4pLG59c3RyaXBDdXN0b21Oc0F0dHJzKHQpe2NvbnN0IGU9dC5hdHRyaWJ1dGVzO2ZvcihsZXQgbj1lLmxlbmd0aC0xOzA8bjtuLS0pe2NvbnN0IG89ZS5pdGVtKG4pLm5hbWU7InhtbG5zOm5zMSIhPT1vJiYwIT09by5pbmRleE9mKCJuczE6Iil8fHQucmVtb3ZlQXR0cmlidXRlKG8pfWxldCBuPXQuZmlyc3RDaGlsZDtmb3IoO247KW4ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdGhpcy5zdHJpcEN1c3RvbU5zQXR0cnMobiksbj1uLm5leHRTaWJsaW5nfX1jb25zdCBDcz0vXig/Oig/Omh0dHBzP3xtYWlsdG98ZnRwfHRlbHxmaWxlfHNtcyk6fFteJjovPyNdKig/OlsvPyNdfCQpKS9naSxNcz0vXmRhdGE6KD86aW1hZ2VcLyg/OmJtcHxnaWZ8anBlZ3xqcGd8cG5nfHRpZmZ8d2VicCl8dmlkZW9cLyg/Om1wZWd8bXA0fG9nZ3x3ZWJtKXxhdWRpb1wvKD86bXAzfG9nYXxvZ2d8b3B1cykpO2Jhc2U2NCxbYS16MC05K1wvXSs9KiQvaTtmdW5jdGlvbiB2cyh0KXtyZXR1cm4odD1TdHJpbmcodCkpLm1hdGNoKENzKXx8dC5tYXRjaChNcyk/dDooKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZjb25zb2xlLndhcm4oYFdBUk5JTkc6IHNhbml0aXppbmcgdW5zYWZlIFVSTCB2YWx1ZSAke3R9IChzZWUgaHR0cHM6Ly9nLmNvL25nL3NlY3VyaXR5I3hzcylgKSwidW5zYWZlOiIrdCl9ZnVuY3Rpb24geHModCl7cmV0dXJuKHQ9U3RyaW5nKHQpKS5zcGxpdCgiLCIpLm1hcCgodD0+dnModC50cmltKCkpKSkuam9pbigiLCAiKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gT3ModCl7Y29uc3QgZT17fTtmb3IoY29uc3QgbiBvZiB0LnNwbGl0KCIsIikpZVtuXT0hMDtyZXR1cm4gZX1mdW5jdGlvbiBQcyguLi50KXtjb25zdCBlPXt9O2Zvcihjb25zdCBuIG9mIHQpZm9yKGNvbnN0IHQgaW4gbiluLmhhc093blByb3BlcnR5KHQpJiYoZVt0XT0hMCk7cmV0dXJuIGV9Y29uc3Qgd3M9T3MoImFyZWEsYnIsY29sLGhyLGltZyx3YnIiKSxrcz1PcygiY29sZ3JvdXAsZGQsZHQsbGkscCx0Ym9keSx0ZCx0Zm9vdCx0aCx0aGVhZCx0ciIpLFNzPU9zKCJycCxydCIpLERzPVBzKFNzLGtzKSxScz1QcyhrcyxPcygiYWRkcmVzcyxhcnRpY2xlLGFzaWRlLGJsb2NrcXVvdGUsY2FwdGlvbixjZW50ZXIsZGVsLGRldGFpbHMsZGlhbG9nLGRpcixkaXYsZGwsZmlndXJlLGZpZ2NhcHRpb24sZm9vdGVyLGgxLGgyLGgzLGg0LGg1LGg2LGhlYWRlcixoZ3JvdXAsaHIsaW5zLG1haW4sbWFwLG1lbnUsbmF2LG9sLHByZSxzZWN0aW9uLHN1bW1hcnksdGFibGUsdWwiKSksRXM9UHMoU3MsT3MoImEsYWJicixhY3JvbnltLGF1ZGlvLGIsYmRpLGJkbyxiaWcsYnIsY2l0ZSxjb2RlLGRlbCxkZm4sZW0sZm9udCxpLGltZyxpbnMsa2JkLGxhYmVsLG1hcCxtYXJrLHBpY3R1cmUscSxydWJ5LHJwLHJ0LHMsc2FtcCxzbWFsbCxzb3VyY2Usc3BhbixzdHJpa2Usc3Ryb25nLHN1YixzdXAsdGltZSx0cmFjayx0dCx1LHZhcix2aWRlbyIpKSxBcz1Qcyh3cyxScyxFcyxEcyksVHM9T3MoImJhY2tncm91bmQsY2l0ZSxocmVmLGl0ZW10eXBlLGxvbmdkZXNjLHBvc3RlcixzcmMseGxpbms6aHJlZiIpLE5zPU9zKCJzcmNzZXQiKSx6cz1PcygiYWJicixhY2Nlc3NrZXksYWxpZ24sYWx0LGF1dG9wbGF5LGF4aXMsYmdjb2xvcixib3JkZXIsY2VsbHBhZGRpbmcsY2VsbHNwYWNpbmcsY2xhc3MsY2xlYXIsY29sb3IsY29scyxjb2xzcGFuLGNvbXBhY3QsY29udHJvbHMsY29vcmRzLGRhdGV0aW1lLGRlZmF1bHQsZGlyLGRvd25sb2FkLGZhY2UsaGVhZGVycyxoZWlnaHQsaGlkZGVuLGhyZWZsYW5nLGhzcGFjZSxpc21hcCxpdGVtc2NvcGUsaXRlbXByb3Asa2luZCxsYWJlbCxsYW5nLGxhbmd1YWdlLGxvb3AsbWVkaWEsbXV0ZWQsbm9ocmVmLG5vd3JhcCxvcGVuLHByZWxvYWQscmVsLHJldixyb2xlLHJvd3Mscm93c3BhbixydWxlcyxzY29wZSxzY3JvbGxpbmcsc2hhcGUsc2l6ZSxzaXplcyxzcGFuLHNyY2xhbmcsc3RhcnQsc3VtbWFyeSx0YWJpbmRleCx0YXJnZXQsdGl0bGUsdHJhbnNsYXRlLHR5cGUsdXNlbWFwLHZhbGlnbix2YWx1ZSx2c3BhY2Usd2lkdGgiKSxJcz1PcygiYXJpYS1hY3RpdmVkZXNjZW5kYW50LGFyaWEtYXRvbWljLGFyaWEtYXV0b2NvbXBsZXRlLGFyaWEtYnVzeSxhcmlhLWNoZWNrZWQsYXJpYS1jb2xjb3VudCxhcmlhLWNvbGluZGV4LGFyaWEtY29sc3BhbixhcmlhLWNvbnRyb2xzLGFyaWEtY3VycmVudCxhcmlhLWRlc2NyaWJlZGJ5LGFyaWEtZGV0YWlscyxhcmlhLWRpc2FibGVkLGFyaWEtZHJvcGVmZmVjdCxhcmlhLWVycm9ybWVzc2FnZSxhcmlhLWV4cGFuZGVkLGFyaWEtZmxvd3RvLGFyaWEtZ3JhYmJlZCxhcmlhLWhhc3BvcHVwLGFyaWEtaGlkZGVuLGFyaWEtaW52YWxpZCxhcmlhLWtleXNob3J0Y3V0cyxhcmlhLWxhYmVsLGFyaWEtbGFiZWxsZWRieSxhcmlhLWxldmVsLGFyaWEtbGl2ZSxhcmlhLW1vZGFsLGFyaWEtbXVsdGlsaW5lLGFyaWEtbXVsdGlzZWxlY3RhYmxlLGFyaWEtb3JpZW50YXRpb24sYXJpYS1vd25zLGFyaWEtcGxhY2Vob2xkZXIsYXJpYS1wb3NpbnNldCxhcmlhLXByZXNzZWQsYXJpYS1yZWFkb25seSxhcmlhLXJlbGV2YW50LGFyaWEtcmVxdWlyZWQsYXJpYS1yb2xlZGVzY3JpcHRpb24sYXJpYS1yb3djb3VudCxhcmlhLXJvd2luZGV4LGFyaWEtcm93c3BhbixhcmlhLXNlbGVjdGVkLGFyaWEtc2V0c2l6ZSxhcmlhLXNvcnQsYXJpYS12YWx1ZW1heCxhcmlhLXZhbHVlbWluLGFyaWEtdmFsdWVub3csYXJpYS12YWx1ZXRleHQiKSxIcz1QcyhUcyxOcyx6cyxJcyksRnM9T3MoInNjcmlwdCxzdHlsZSx0ZW1wbGF0ZSIpO2NsYXNzIExze2NvbnN0cnVjdG9yKCl7dGhpcy5zYW5pdGl6ZWRTb21ldGhpbmc9ITEsdGhpcy5idWY9W119c2FuaXRpemVDaGlsZHJlbih0KXtsZXQgZT10LmZpcnN0Q2hpbGQsbj0hMDtmb3IoO2U7KWlmKGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERT9uPXRoaXMuc3RhcnRFbGVtZW50KGUpOmUubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT90aGlzLmNoYXJzKGUubm9kZVZhbHVlKTp0aGlzLnNhbml0aXplZFNvbWV0aGluZz0hMCxuJiZlLmZpcnN0Q2hpbGQpZT1lLmZpcnN0Q2hpbGQ7ZWxzZSBmb3IoO2U7KXtlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJnRoaXMuZW5kRWxlbWVudChlKTtsZXQgdD10aGlzLmNoZWNrQ2xvYmJlcmVkRWxlbWVudChlLGUubmV4dFNpYmxpbmcpO2lmKHQpe2U9dDticmVha31lPXRoaXMuY2hlY2tDbG9iYmVyZWRFbGVtZW50KGUsZS5wYXJlbnROb2RlKX1yZXR1cm4gdGhpcy5idWYuam9pbigiIil9c3RhcnRFbGVtZW50KHQpe2NvbnN0IGU9dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKCFBcy5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gdGhpcy5zYW5pdGl6ZWRTb21ldGhpbmc9ITAsIUZzLmhhc093blByb3BlcnR5KGUpO3RoaXMuYnVmLnB1c2goIjwiKSx0aGlzLmJ1Zi5wdXNoKGUpO2NvbnN0IG49dC5hdHRyaWJ1dGVzO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXtjb25zdCBlPW4uaXRlbSh0KSxvPWUubmFtZSxpPW8udG9Mb3dlckNhc2UoKTtpZighSHMuaGFzT3duUHJvcGVydHkoaSkpe3RoaXMuc2FuaXRpemVkU29tZXRoaW5nPSEwO2NvbnRpbnVlfWxldCBhPWUudmFsdWU7VHNbaV0mJihhPXZzKGEpKSxOc1tpXSYmKGE9eHMoYSkpLHRoaXMuYnVmLnB1c2goIiAiLG8sJz0iJyxqcyhhKSwnIicpfXJldHVybiB0aGlzLmJ1Zi5wdXNoKCI+IiksITB9ZW5kRWxlbWVudCh0KXtjb25zdCBlPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtBcy5oYXNPd25Qcm9wZXJ0eShlKSYmIXdzLmhhc093blByb3BlcnR5KGUpJiYodGhpcy5idWYucHVzaCgiPC8iKSx0aGlzLmJ1Zi5wdXNoKGUpLHRoaXMuYnVmLnB1c2goIj4iKSl9Y2hhcnModCl7dGhpcy5idWYucHVzaChqcyh0KSl9Y2hlY2tDbG9iYmVyZWRFbGVtZW50KHQsZSl7aWYoZSYmKHQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpPT09Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gc2FuaXRpemUgaHRtbCBiZWNhdXNlIHRoZSBlbGVtZW50IGlzIGNsb2JiZXJlZDogJHt0Lm91dGVySFRNTH1gKTtyZXR1cm4gZX19Y29uc3QgQnM9L1tcdUQ4MDAtXHVEQkZGXVtcdURDMDAtXHVERkZGXS9nLFZzPS8oW15cIy1+IHwhXSkvZztmdW5jdGlvbiBqcyh0KXtyZXR1cm4gdC5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZShCcywoZnVuY3Rpb24odCl7cmV0dXJuIiYjIisoMTAyNCoodC5jaGFyQ29kZUF0KDApLTU1Mjk2KSsodC5jaGFyQ29kZUF0KDEpLTU2MzIwKSs2NTUzNikrIjsifSkpLnJlcGxhY2UoVnMsKGZ1bmN0aW9uKHQpe3JldHVybiImIyIrdC5jaGFyQ29kZUF0KDApKyI7In0pKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKX1sZXQgVXM7ZnVuY3Rpb24gV3ModCxlKXtsZXQgbj1udWxsO3RyeXtVcz1Vc3x8YnModCk7bGV0IG89ZT9TdHJpbmcoZSk6IiI7bj1Vcy5nZXRJbmVydEJvZHlFbGVtZW50KG8pO2xldCBpPTUsYT1vO2Rve2lmKDA9PT1pKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIHNhbml0aXplIGh0bWwgYmVjYXVzZSB0aGUgaW5wdXQgaXMgdW5zdGFibGUiKTtpLS0sbz1hLGE9bi5pbm5lckhUTUwsbj1Vcy5nZXRJbmVydEJvZHlFbGVtZW50KG8pfXdoaWxlKG8hPT1hKTtjb25zdCByPW5ldyBMcyxzPXIuc2FuaXRpemVDaGlsZHJlbihHcyhuKXx8bik7cmV0dXJuKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZyLnNhbml0aXplZFNvbWV0aGluZyYmY29uc29sZS53YXJuKCJXQVJOSU5HOiBzYW5pdGl6aW5nIEhUTUwgc3RyaXBwZWQgc29tZSBjb250ZW50LCBzZWUgaHR0cHM6Ly9nLmNvL25nL3NlY3VyaXR5I3hzcyIpLG5zKHMpfWZpbmFsbHl7aWYobil7Y29uc3QgdD1HcyhuKXx8bjtmb3IoO3QuZmlyc3RDaGlsZDspdC5yZW1vdmVDaGlsZCh0LmZpcnN0Q2hpbGQpfX19ZnVuY3Rpb24gR3ModCl7cmV0dXJuImNvbnRlbnQiaW4gdCYmKGZ1bmN0aW9uIGUodCl7cmV0dXJuIHQubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmIlRFTVBMQVRFIj09PXQubm9kZU5hbWV9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykodCk/dC5jb250ZW50Om51bGx9dmFyIFlzOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gcXModCl7Y29uc3QgZT1lbCgpO3JldHVybiBlP2FzKGUuc2FuaXRpemUoWXMuSFRNTCx0KXx8IiIpOmdzKHQsIkhUTUwiKT9hcyh1cyh0KSk6V3MoaWkoKSxybih0KSl9ZnVuY3Rpb24gWnModCl7Y29uc3QgZT1lbCgpO3JldHVybiBlP2Uuc2FuaXRpemUoWXMuU1RZTEUsdCl8fCIiOmdzKHQsIlN0eWxlIik/dXModCk6cm4odCl9ZnVuY3Rpb24gWHModCl7Y29uc3QgZT1lbCgpO3JldHVybiBlP2Uuc2FuaXRpemUoWXMuVVJMLHQpfHwiIjpncyh0LCJVUkwiKT91cyh0KTp2cyhybih0KSl9ZnVuY3Rpb24gS3ModCl7Y29uc3QgZT1lbCgpO2lmKGUpcmV0dXJuIHNzKGUuc2FuaXRpemUoWXMuUkVTT1VSQ0VfVVJMLHQpfHwiIik7aWYoZ3ModCwiUmVzb3VyY2VVUkwiKSlyZXR1cm4gc3ModXModCkpO3Rocm93IG5ldyBFcnJvcigidW5zYWZlIHZhbHVlIHVzZWQgaW4gYSByZXNvdXJjZSBVUkwgY29udGV4dCAoc2VlIGh0dHBzOi8vZy5jby9uZy9zZWN1cml0eSN4c3MpIil9ZnVuY3Rpb24gSnModCl7Y29uc3QgZT1lbCgpO2lmKGUpcmV0dXJuIHJzKGUuc2FuaXRpemUoWXMuU0NSSVBULHQpfHwiIik7aWYoZ3ModCwiU2NyaXB0IikpcmV0dXJuIHJzKHVzKHQpKTt0aHJvdyBuZXcgRXJyb3IoInVuc2FmZSB2YWx1ZSB1c2VkIGluIGEgc2NyaXB0IGNvbnRleHQiKX1mdW5jdGlvbiBRcyh0KXtpZihuZ0Rldk1vZGUmJighQXJyYXkuaXNBcnJheSh0KXx8IUFycmF5LmlzQXJyYXkodC5yYXcpfHwxIT09dC5sZW5ndGgpKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBpbnRlcnBvbGF0aW9uIGluIHRydXN0ZWQgSFRNTCBjb25zdGFudDogJHt0LmpvaW4oIj8iKX1gKTtyZXR1cm4gbnModFswXSl9ZnVuY3Rpb24gJHModCl7aWYobmdEZXZNb2RlJiYoIUFycmF5LmlzQXJyYXkodCl8fCFBcnJheS5pc0FycmF5KHQucmF3KXx8MSE9PXQubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgaW50ZXJwb2xhdGlvbiBpbiB0cnVzdGVkIFVSTCBjb25zdGFudDogJHt0LmpvaW4oIj8iKX1gKTtyZXR1cm4oZnVuY3Rpb24gZSh0KXt2YXIgZTtyZXR1cm4obnVsbD09PShlPWVzKCkpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLmNyZWF0ZVNjcmlwdFVSTCh0KSl8fHR9KSh0WzBdKX1mdW5jdGlvbiB0bCh0LGUsbil7cmV0dXJuKGZ1bmN0aW9uIG8odCxlKXtyZXR1cm4ic3JjIj09PWUmJigiZW1iZWQiPT09dHx8ImZyYW1lIj09PXR8fCJpZnJhbWUiPT09dHx8Im1lZGlhIj09PXR8fCJzY3JpcHQiPT09dCl8fCJocmVmIj09PWUmJigiYmFzZSI9PT10fHwibGluayI9PT10KT9LczpYc30pKGUsbikodCl9ZnVuY3Rpb24gZWwoKXtjb25zdCB0PXhpKCk7cmV0dXJuIHQmJnRbMTJdfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBubCh0KXtsZXQgZT1ybCh0KTtpZihlKXtpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCBuPWU7bGV0IG8saSxhO2lmKChmdW5jdGlvbiBuKHQpe3JldHVybiB0JiZ0LmNvbnN0cnVjdG9yJiZ0LmNvbnN0cnVjdG9yLsm1Y21wfSkodCkpe2lmKG89ZGwobix0KSwtMT09byl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwcm92aWRlZCBjb21wb25lbnQgd2FzIG5vdCBmb3VuZCBpbiB0aGUgYXBwbGljYXRpb24iKTtpPXR9ZWxzZSBpZigoZnVuY3Rpb24gbyh0KXtyZXR1cm4gdCYmdC5jb25zdHJ1Y3RvciYmdC5jb25zdHJ1Y3Rvci7JtWRpcn0pKHQpKXtpZihvPShmdW5jdGlvbiBpKHQsZSl7bGV0IG49dFsxXS5maXJzdENoaWxkO2Zvcig7bjspe2NvbnN0IG89bi5kaXJlY3RpdmVFbmQ7Zm9yKGxldCBpPW4uZGlyZWN0aXZlU3RhcnQ7aTxvO2krKylpZih0W2ldPT09ZSlyZXR1cm4gbi5pbmRleDtuPWNsKG4pfXJldHVybi0xfSkobix0KSwtMT09byl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwcm92aWRlZCBkaXJlY3RpdmUgd2FzIG5vdCBmb3VuZCBpbiB0aGUgYXBwbGljYXRpb24iKTthPXBsKG8sbiwhMSl9ZWxzZSBpZihvPWxsKG4sdCksLTE9PW8pcmV0dXJuIG51bGw7Y29uc3Qgcj1saShuW29dKSxzPXJsKHIpLGw9cyYmIUFycmF5LmlzQXJyYXkocyk/czpvbChuLG8scik7aWYoaSYmdm9pZCAwPT09bC5jb21wb25lbnQmJihsLmNvbXBvbmVudD1pLGFsKGwuY29tcG9uZW50LGwpKSxhJiZ2b2lkIDA9PT1sLmRpcmVjdGl2ZXMpe2wuZGlyZWN0aXZlcz1hO2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7dCsrKWFsKGFbdF0sbCl9YWwobC5uYXRpdmUsbCksZT1sfX1lbHNle2NvbnN0IG49dDtuZ0Rldk1vZGUmJlBuKG4pO2xldCBvPW47Zm9yKDtvPW8ucGFyZW50Tm9kZTspe2NvbnN0IHQ9cmwobyk7aWYodCl7bGV0IG87aWYobz1BcnJheS5pc0FycmF5KHQpP3Q6dC5sVmlldywhbylyZXR1cm4gbnVsbDtjb25zdCBpPWxsKG8sbik7aWYoaT49MCl7Y29uc3QgdD1saShvW2ldKSxuPW9sKG8saSx0KTthbCh0LG4pLGU9bjticmVha319fX1yZXR1cm4gZXx8bnVsbH1mdW5jdGlvbiBvbCh0LGUsbil7cmV0dXJue2xWaWV3OnQsbm9kZUluZGV4OmUsbmF0aXZlOm4sY29tcG9uZW50OnZvaWQgMCxkaXJlY3RpdmVzOnZvaWQgMCxsb2NhbFJlZnM6dm9pZCAwfX1mdW5jdGlvbiBpbCh0KXtsZXQgZSxuPXJsKHQpO2lmKEFycmF5LmlzQXJyYXkobikpe2NvbnN0IG89ZGwobix0KTtlPWZpKG8sbik7Y29uc3QgaT1vbChuLG8sZVswXSk7aS5jb21wb25lbnQ9dCxhbCh0LGkpLGFsKGkubmF0aXZlLGkpfWVsc2V7ZT1maShuLm5vZGVJbmRleCxuLmxWaWV3KX1yZXR1cm4gZX0hKGZ1bmN0aW9uKHQpe3RbdC5OT05FPTBdPSJOT05FIix0W3QuSFRNTD0xXT0iSFRNTCIsdFt0LlNUWUxFPTJdPSJTVFlMRSIsdFt0LlNDUklQVD0zXT0iU0NSSVBUIix0W3QuVVJMPTRdPSJVUkwiLHRbdC5SRVNPVVJDRV9VUkw9NV09IlJFU09VUkNFX1VSTCJ9KShZc3x8KFlzPXt9KSk7ZnVuY3Rpb24gYWwodCxlKXtuZ0Rldk1vZGUmJnhuKHQsIlRhcmdldCBleHBlY3RlZCIpLHQuX19uZ0NvbnRleHRfXz1lfWZ1bmN0aW9uIHJsKHQpe3JldHVybiBuZ0Rldk1vZGUmJnhuKHQsIlRhcmdldCBleHBlY3RlZCIpLHQuX19uZ0NvbnRleHRfX3x8bnVsbH1mdW5jdGlvbiBzbCh0KXtjb25zdCBlPXJsKHQpO3JldHVybiBlP0FycmF5LmlzQXJyYXkoZSk/ZTplLmxWaWV3Om51bGx9ZnVuY3Rpb24gbGwodCxlKXtjb25zdCBuPXRbMV07Zm9yKGxldCBvPXZvO288bi5iaW5kaW5nU3RhcnRJbmRleDtvKyspaWYobGkodFtvXSk9PT1lKXJldHVybiBvO3JldHVybi0xfWZ1bmN0aW9uIGNsKHQpe2lmKHQuY2hpbGQpcmV0dXJuIHQuY2hpbGQ7aWYodC5uZXh0KXJldHVybiB0Lm5leHQ7Zm9yKDt0LnBhcmVudCYmIXQucGFyZW50Lm5leHQ7KXQ9dC5wYXJlbnQ7cmV0dXJuIHQucGFyZW50JiZ0LnBhcmVudC5uZXh0fWZ1bmN0aW9uIGRsKHQsZSl7Y29uc3Qgbj10WzFdLmNvbXBvbmVudHM7aWYobilmb3IobGV0IG89MDtvPG4ubGVuZ3RoO28rKyl7Y29uc3QgaT1uW29dO2lmKGZpKGksdClbOF09PT1lKXJldHVybiBpfWVsc2V7aWYoZmkodm8sdClbOF09PT1lKXJldHVybiB2b31yZXR1cm4tMX1mdW5jdGlvbiBwbCh0LGUsbil7Y29uc3Qgbz1lWzFdLmRhdGFbdF07bGV0IGk9by5kaXJlY3RpdmVTdGFydDtpZigwPT1pKXJldHVybiBRbjtyZXR1cm4hbiYmMiZvLmZsYWdzJiZpKyssZS5zbGljZShpLG8uZGlyZWN0aXZlRW5kKX1mdW5jdGlvbiBtbCh0KXtyZXR1cm4gdC5uZ09yaWdpbmFsRXJyb3J9ZnVuY3Rpb24gZmwodCwuLi5lKXt0LmVycm9yKC4uLmUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyB1bHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvbnNvbGU9Y29uc29sZX1oYW5kbGVFcnJvcih0KXtjb25zdCBlPXRoaXMuX2ZpbmRPcmlnaW5hbEVycm9yKHQpLG49dGhpcy5fZmluZENvbnRleHQodCksbz0oZnVuY3Rpb24gaSh0KXtyZXR1cm4gdCYmdC5uZ0Vycm9yTG9nZ2VyfHxmbH0pKHQpO28odGhpcy5fY29uc29sZSwiRVJST1IiLHQpLGUmJm8odGhpcy5fY29uc29sZSwiT1JJR0lOQUwgRVJST1IiLGUpLG4mJm8odGhpcy5fY29uc29sZSwiRVJST1IgQ09OVEVYVCIsbil9X2ZpbmRDb250ZXh0KHQpe3JldHVybiB0PyhmdW5jdGlvbiBlKHQpe3JldHVybiB0Lm5nRGVidWdDb250ZXh0fSkodCl8fHRoaXMuX2ZpbmRDb250ZXh0KG1sKHQpKTpudWxsfV9maW5kT3JpZ2luYWxFcnJvcih0KXtsZXQgZT10JiZtbCh0KTtmb3IoO2UmJm1sKGUpOyllPW1sKGUpO3JldHVybiBlfHxudWxsfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgZ2w9e25hbWU6ImN1c3RvbS1lbGVtZW50cyJ9LGhsPXtuYW1lOiJuby1lcnJvcnMtc2NoZW1hIn0sYmw9L14+fF4tPnw8IS0tfC0tPnwtLSE+fDwhLSQvZyx5bD0vKDx8PikvO2Z1bmN0aW9uIF9sKHQpe3JldHVybiB0LnJlcGxhY2UoYmwsKHQ9PnQucmVwbGFjZSh5bCwi4oCLJDHigIsiKSkpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBDbCh0KXtpZighbmdEZXZNb2RlKXRocm93IG5ldyBFcnJvcigiTG9va3MgbGlrZSB3ZSBhcmUgaW4gJ3Byb2QgbW9kZScsIGJ1dCB3ZSBhcmUgY3JlYXRpbmcgYSBuYW1lZCBBcnJheSB0eXBlLCB3aGljaCBpcyB3cm9uZyEgQ2hlY2sgeW91ciBjb2RlIik7dHJ5e3JldHVybiBvcygiQXJyYXkiLGByZXR1cm4gY2xhc3MgJHt0fSBleHRlbmRzIEFycmF5e31gKShBcnJheSl9Y2F0Y2godCl7cmV0dXJuIEFycmF5fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gTWwodCl7cmV0dXJuYG5nLXJlZmxlY3QtJHt0PShmdW5jdGlvbiBlKHQpe3JldHVybiB0LnJlcGxhY2UodmwsKCguLi50KT0+Ii0iK3RbMV0udG9Mb3dlckNhc2UoKSkpfSkodC5yZXBsYWNlKC9bJEBdL2csIl8iKSl9YH1jb25zdCB2bD0vKFtBLVpdKS9nOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgeGw9KCJ1bmRlZmluZWQiIT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHNldFRpbWVvdXQpLmJpbmQoWG4pO2Z1bmN0aW9uIE9sKHQpe3JldHVybiB0Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd9ZnVuY3Rpb24gUGwodCl7cmV0dXJuIHQub3duZXJEb2N1bWVudH1mdW5jdGlvbiB3bCh0KXtyZXR1cm4gdC5vd25lckRvY3VtZW50LmJvZHl9Y29uc3Qga2w9Iu+/vSI7ZnVuY3Rpb24gU2wodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBGdW5jdGlvbj90KCk6dH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gRGwodCl7dGhyb3cgbmV3IG5uKCIzMDAiLGBNdWx0aXBsZSBjb21wb25lbnRzIG1hdGNoIG5vZGUgd2l0aCB0YWduYW1lICR7dC52YWx1ZX1gKX1mdW5jdGlvbiBSbCh0LGUsbixvLGkpe2NvbnN0W2EsciwuLi5zXT1vLnNwbGl0KGtsKTtsZXQgbD1yLGM9cjtmb3IobGV0IG89MDtvPHMubGVuZ3RoO28rKyl7Y29uc3QgYT1lK287bCs9YCR7dFthXX0ke3Nbb119YCxjKz1gJHthPT09bj9pOnRbYV19JHtzW29dfWB9cmV0dXJue3Byb3BOYW1lOmEsb2xkVmFsdWU6bCxuZXdWYWx1ZTpjfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCnZhciBFbDsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBBbDtmdW5jdGlvbiBUbCh0LGUpe3JldHVybiBBbCh0LGUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gTmwodCl7bmdEZXZNb2RlJiZGbyh0KTtjb25zdCBlPXRbM107cmV0dXJuIHdvKGUpP2VbM106ZX1mdW5jdGlvbiB6bCh0KXtjb25zdCBlPShmdW5jdGlvbiBuKHQpe25nRGV2TW9kZSYmeG4odCwiY29tcG9uZW50Iik7bGV0IGU9UG8odCk/dDpzbCh0KTtmb3IoO2UmJiEoNTEyJmVbMl0pOyllPU5sKGUpO3JldHVybiBuZ0Rldk1vZGUmJkZvKGUpLGV9KSh0KTtyZXR1cm4gbmdEZXZNb2RlJiZ4bihlWzhdLCJSb290VmlldyBoYXMgbm8gY29udGV4dC4gUGVyaGFwcyBpdCBpcyBkaXNjb25uZWN0ZWQ/IiksZVs4XX1mdW5jdGlvbiBJbCh0KXtyZXR1cm4gRmwodFsxM10pfWZ1bmN0aW9uIEhsKHQpe3JldHVybiBGbCh0WzRdKX1mdW5jdGlvbiBGbCh0KXtmb3IoO251bGwhPT10JiYhd28odCk7KXQ9dFs0XTtyZXR1cm4gdH1mdW5jdGlvbiBMbCh0LGUsbixvLGkpe2lmKG51bGwhPW8pe2xldCBhLHI9ITE7d28obyk/YT1vOlBvKG8pJiYocj0hMCxuZ0Rldk1vZGUmJnhuKG9bMF0sIkhPU1QgbXVzdCBiZSBkZWZpbmVkIGZvciBhIGNvbXBvbmVudCBMVmlldyIpLG89b1swXSk7Y29uc3Qgcz1saShvKTtuZ0Rldk1vZGUmJiFyaShlKSYmUG4ocyksMD09PXQmJm51bGwhPT1uP251bGw9PWk/UWwoZSxuLHMpOkpsKGUsbixzLGl8fG51bGwsITApOjE9PT10JiZudWxsIT09bj9KbChlLG4scyxpfHxudWxsLCEwKToyPT09dD9kYyhlLHMscik6Mz09PXQmJihuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckRlc3Ryb3lOb2RlKyssZS5kZXN0cm95Tm9kZShzKSksbnVsbCE9YSYmKGZ1bmN0aW9uIGEodCxlLG4sbyxpKXtuZ0Rldk1vZGUmJklvKG4pO2NvbnN0IGE9bls3XSxyPWxpKG4pO2EhPT1yJiZMbChlLHQsbyxhLGkpO2ZvcihsZXQgaT1PbztpPG4ubGVuZ3RoO2krKyl7Y29uc3Qgcj1uW2ldO21jKHJbMV0scix0LGUsbyxhKX19KShlLHQsYSxuLGkpfX1mdW5jdGlvbiBCbCh0LGUpe3JldHVybiBuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckNyZWF0ZVRleHROb2RlKyssbmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJTZXRUZXh0KysscmkodCk/dC5jcmVhdGVUZXh0KGUpOnQuY3JlYXRlVGV4dE5vZGUoZSl9ZnVuY3Rpb24gVmwodCxlLG4pe25nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyU2V0VGV4dCsrLHJpKHQpP3Quc2V0VmFsdWUoZSxuKTplLnRleHRDb250ZW50PW59ZnVuY3Rpb24gamwodCxlKXtyZXR1cm4gbmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJDcmVhdGVDb21tZW50KyssdC5jcmVhdGVDb21tZW50KF9sKGUpKX1mdW5jdGlvbiBVbCh0LGUsbil7cmV0dXJuIG5nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyQ3JlYXRlRWxlbWVudCsrLHJpKHQpP3QuY3JlYXRlRWxlbWVudChlLG4pOm51bGw9PT1uP3QuY3JlYXRlRWxlbWVudChlKTp0LmNyZWF0ZUVsZW1lbnROUyhuLGUpfWZ1bmN0aW9uIFdsKHQsZSxuLG8pe25nRGV2TW9kZSYmRm8oZSksbmdEZXZNb2RlJiZJbyhuKTtjb25zdCBpPU9vK28sYT1uLmxlbmd0aDtvPjAmJihuW2ktMV1bNF09ZSksbzxhLU9vPyhlWzRdPW5baV0sZnIobixPbytvLGUpKToobi5wdXNoKGUpLGVbNF09bnVsbCksZVszXT1uO2NvbnN0IHI9ZVsxN107bnVsbCE9PXImJm4hPT1yJiYoZnVuY3Rpb24gcyh0LGUpe25nRGV2TW9kZSYmeG4oZSwiTFZpZXcgcmVxdWlyZWQiKSxuZ0Rldk1vZGUmJklvKHQpO2NvbnN0IG49dFs5XSxvPWVbM107bmdEZXZNb2RlJiZJbyhvKTtjb25zdCBpPW9bM11bMTZdO25nRGV2TW9kZSYmeG4oaSwiTWlzc2luZyBpbnNlcnRlZENvbXBvbmVudExWaWV3Iik7Y29uc3QgYT1lWzE2XTtuZ0Rldk1vZGUmJnhuKGEsIk1pc3NpbmcgZGVjbGFyZWRDb21wb25lbnRMVmlldyIpLGEhPT1pJiYodFsyXT0hMCk7bnVsbD09PW4/dFs5XT1bZV06bi5wdXNoKGUpfSkocixlKTtjb25zdCBsPWVbMTldO251bGwhPT1sJiZsLmluc2VydFZpZXcodCksZVsyXXw9MTI4fWZ1bmN0aW9uIEdsKHQsZSl7bmdEZXZNb2RlJiZJbyh0KSxuZ0Rldk1vZGUmJnhuKHRbOV0sIkEgcHJvamVjdGVkIHZpZXcgc2hvdWxkIGJlbG9uZyB0byBhIG5vbi1lbXB0eSBwcm9qZWN0ZWQgdmlld3MgY29sbGVjdGlvbiIpO2NvbnN0IG49dFs5XSxvPW4uaW5kZXhPZihlKSxpPWVbM107bmdEZXZNb2RlJiZJbyhpKSwxMDI0JmVbMl0mJihlWzJdJj0tMTAyNSx5aShpLC0xKSksbi5zcGxpY2UobywxKX1mdW5jdGlvbiBZbCh0LGUpe2lmKHQubGVuZ3RoPD1PbylyZXR1cm47Y29uc3Qgbj1PbytlLG89dFtuXTtpZihvKXtjb25zdCBpPW9bMTddO251bGwhPT1pJiZpIT09dCYmR2woaSxvKSxlPjAmJih0W24tMV1bNF09b1s0XSk7Y29uc3QgYT11cih0LE9vK2UpOyEoZnVuY3Rpb24gaSh0LGUpe21jKHQsZSxlWzExXSwyLG51bGwsbnVsbCksZVswXT1udWxsLGVbNl09bnVsbH0pKG9bMV0sbyk7Y29uc3Qgcj1hWzE5XTtudWxsIT09ciYmci5kZXRhY2hWaWV3KGFbMV0pLG9bM109bnVsbCxvWzRdPW51bGwsb1syXSY9LTEyOX1yZXR1cm4gb31mdW5jdGlvbiBxbCh0LGUpe2lmKCEoMjU2JmVbMl0pKXtjb25zdCBuPWVbMTFdO3JpKG4pJiZuLmRlc3Ryb3lOb2RlJiZtYyh0LGUsbiwzLG51bGwsbnVsbCksKGZ1bmN0aW9uIG4odCl7bGV0IGU9dFsxM107aWYoIWUpcmV0dXJuIFpsKHRbMV0sdCk7Zm9yKDtlOyl7bGV0IG49bnVsbDtpZihQbyhlKSluPWVbMTNdO2Vsc2V7bmdEZXZNb2RlJiZJbyhlKTtjb25zdCB0PWVbMTBdO3QmJihuPXQpfWlmKCFuKXtmb3IoO2UmJiFlWzRdJiZlIT09dDspUG8oZSkmJlpsKGVbMV0sZSksZT1lWzNdO251bGw9PT1lJiYoZT10KSxQbyhlKSYmWmwoZVsxXSxlKSxuPWUmJmVbNF19ZT1ufX0pKGUpfX1mdW5jdGlvbiBabCh0LGUpe2lmKCEoMjU2JmVbMl0pKXtlWzJdJj0tMTI5LGVbMl18PTI1NiwoZnVuY3Rpb24gbih0LGUpe2xldCBuO2lmKG51bGwhPXQmJm51bGwhPShuPXQuZGVzdHJveUhvb2tzKSlmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrPTIpe2NvbnN0IG89ZVtuW3RdXTtpZighKG8gaW5zdGFuY2VvZiBmYSkpe2NvbnN0IGU9blt0KzFdO2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0yKXtjb25zdCBuPW9bZVt0XV0saT1lW3QrMV07dGkoNCxuLGkpO3RyeXtpLmNhbGwobil9ZmluYWxseXt0aSg1LG4saSl9fWVsc2V7dGkoNCxvLGUpO3RyeXtlLmNhbGwobyl9ZmluYWxseXt0aSg1LG8sZSl9fX19fSkodCxlKSwoZnVuY3Rpb24gbyh0LGUpe2NvbnN0IG49dC5jbGVhbnVwLG89ZVs3XTtsZXQgaT0tMTtpZihudWxsIT09bilmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoLTE7dCs9MilpZigic3RyaW5nIj09dHlwZW9mIG5bdF0pe2NvbnN0IGE9blt0KzFdLHI9ImZ1bmN0aW9uIj09dHlwZW9mIGE/YShlKTpsaShlW2FdKSxzPW9baT1uW3QrMl1dLGw9blt0KzNdOyJib29sZWFuIj09dHlwZW9mIGw/ci5yZW1vdmVFdmVudExpc3RlbmVyKG5bdF0scyxsKTpsPj0wP29baT1sXSgpOm9baT0tbF0udW5zdWJzY3JpYmUoKSx0Kz0yfWVsc2V7Y29uc3QgZT1vW2k9blt0KzFdXTtuW3RdLmNhbGwoZSl9aWYobnVsbCE9PW8pe2ZvcihsZXQgdD1pKzE7dDxvLmxlbmd0aDt0Kyspe2NvbnN0IGU9b1t0XTtuZ0Rldk1vZGUmJnVuKGUsIkV4cGVjdGluZyBpbnN0YW5jZSBjbGVhbnVwIGZ1bmN0aW9uLiIpLGUoKX1lWzddPW51bGx9fSkodCxlKSwxPT09ZVsxXS50eXBlJiZyaShlWzExXSkmJihuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckRlc3Ryb3krKyxlWzExXS5kZXN0cm95KCkpO2NvbnN0IG49ZVsxN107aWYobnVsbCE9PW4mJndvKGVbM10pKXtuIT09ZVszXSYmR2wobixlKTtjb25zdCBvPWVbMTldO251bGwhPT1vJiZvLmRldGFjaFZpZXcodCl9fX1mdW5jdGlvbiBYbCh0LGUsbil7cmV0dXJuIEtsKHQsZS5wYXJlbnQsbil9ZnVuY3Rpb24gS2wodCxlLG4pe2xldCBvPWU7Zm9yKDtudWxsIT09byYmNDAmby50eXBlOylvPShlPW8pLnBhcmVudDtpZihudWxsPT09bylyZXR1cm4gblswXTtpZihuZ0Rldk1vZGUmJmdhKG8sNyksMiZvLmZsYWdzKXtuZ0Rldk1vZGUmJkVvKG8sbik7Y29uc3QgZT10LmRhdGFbby5kaXJlY3RpdmVTdGFydF0uZW5jYXBzdWxhdGlvbjtpZihlPT09V24uTm9uZXx8ZT09PVduLkVtdWxhdGVkKXJldHVybiBudWxsfXJldHVybiBkaShvLG4pfWZ1bmN0aW9uIEpsKHQsZSxuLG8saSl7bmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJJbnNlcnRCZWZvcmUrKyxyaSh0KT90Lmluc2VydEJlZm9yZShlLG4sbyxpKTplLmluc2VydEJlZm9yZShuLG8saSl9ZnVuY3Rpb24gUWwodCxlLG4pe25nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyQXBwZW5kQ2hpbGQrKyxuZ0Rldk1vZGUmJnhuKGUsInBhcmVudCBub2RlIG11c3QgYmUgZGVmaW5lZCIpLHJpKHQpP3QuYXBwZW5kQ2hpbGQoZSxuKTplLmFwcGVuZENoaWxkKG4pfWZ1bmN0aW9uICRsKHQsZSxuLG8saSl7bnVsbCE9PW8/SmwodCxlLG4sbyxpKTpRbCh0LGUsbil9ZnVuY3Rpb24gdGModCxlKXtyZXR1cm4gcmkodCk/dC5wYXJlbnROb2RlKGUpOmUucGFyZW50Tm9kZX1mdW5jdGlvbiBlYyh0LGUsbil7cmV0dXJuIGljKHQsZSxuKX1mdW5jdGlvbiBuYyh0LGUsbil7cmV0dXJuIDQwJnQudHlwZT9kaSh0LG4pOm51bGx9IShmdW5jdGlvbih0KXt0W3QuSW1wb3J0YW50PTFdPSJJbXBvcnRhbnQiLHRbdC5EYXNoQ2FzZT0yXT0iRGFzaENhc2UifSkoRWx8fChFbD17fSkpO2xldCBvYyxpYz1uYztmdW5jdGlvbiBhYyh0LGUpe2ljPXQsb2M9ZX1mdW5jdGlvbiByYyh0LGUsbixvKXtjb25zdCBpPVhsKHQsbyxlKSxhPWVbMTFdLHI9ZWMoby5wYXJlbnR8fGVbNl0sbyxlKTtpZihudWxsIT1pKWlmKEFycmF5LmlzQXJyYXkobikpZm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0KyspJGwoYSxpLG5bdF0sciwhMSk7ZWxzZSAkbChhLGksbixyLCExKTt2b2lkIDAhPT1vYyYmb2MoYSxvLGUsbixpKX1mdW5jdGlvbiBzYyh0LGUpe2lmKG51bGwhPT1lKXtuZ0Rldk1vZGUmJmdhKGUsNjMpO2NvbnN0IG49ZS50eXBlO2lmKDMmbilyZXR1cm4gZGkoZSx0KTtpZig0Jm4pcmV0dXJuIGNjKC0xLHRbZS5pbmRleF0pO2lmKDgmbil7Y29uc3Qgbj1lLmNoaWxkO2lmKG51bGwhPT1uKXJldHVybiBzYyh0LG4pO3tjb25zdCBuPXRbZS5pbmRleF07cmV0dXJuIHdvKG4pP2NjKC0xLG4pOmxpKG4pfX1pZigzMiZuKXtyZXR1cm4gVGwoZSx0KSgpfHxsaSh0W2UuaW5kZXhdKX17Y29uc3Qgbj1sYyh0LGUpO2lmKG51bGwhPT1uKXtpZihBcnJheS5pc0FycmF5KG4pKXJldHVybiBuWzBdO2NvbnN0IGU9TmwodFsxNl0pO3JldHVybiBuZ0Rldk1vZGUmJlVvKGUpLHNjKGUsbil9cmV0dXJuIHNjKHQsZS5uZXh0KX19cmV0dXJuIG51bGx9ZnVuY3Rpb24gbGModCxlKXtpZihudWxsIT09ZSl7Y29uc3Qgbj10WzE2XVs2XSxvPWUucHJvamVjdGlvbjtyZXR1cm4gbmdEZXZNb2RlJiYoZnVuY3Rpb24gbih0LGUpe3huKHRbMTZdLCJDb21wb25lbnQgdmlld3Mgc2hvdWxkIGV4aXN0LiIpLHhuKHRbMTZdWzZdLnByb2plY3Rpb24sZXx8IkNvbXBvbmVudHMgd2l0aCBwcm9qZWN0aW9uIG5vZGVzICg8bmctY29udGVudD4pIG11c3QgaGF2ZSBwcm9qZWN0aW9uIHNsb3RzIGRlZmluZWQuIil9KSh0KSxuLnByb2plY3Rpb25bb119cmV0dXJuIG51bGx9ZnVuY3Rpb24gY2ModCxlKXtjb25zdCBuPU9vK3QrMTtpZihuPGUubGVuZ3RoKXtjb25zdCB0PWVbbl0sbz10WzFdLmZpcnN0Q2hpbGQ7aWYobnVsbCE9PW8pcmV0dXJuIHNjKHQsbyl9cmV0dXJuIGVbN119ZnVuY3Rpb24gZGModCxlLG4pe25nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyUmVtb3ZlTm9kZSsrO2NvbnN0IG89dGModCxlKTtvJiYoZnVuY3Rpb24gaSh0LGUsbixvKXtyaSh0KT90LnJlbW92ZUNoaWxkKGUsbixvKTplLnJlbW92ZUNoaWxkKG4pfSkodCxvLGUsbil9ZnVuY3Rpb24gcGModCxlLG4sbyxpLGEscil7Zm9yKDtudWxsIT1uOyl7bmdEZXZNb2RlJiZFbyhuLG8pLG5nRGV2TW9kZSYmZ2Eobiw2Myk7Y29uc3Qgcz1vW24uaW5kZXhdLGw9bi50eXBlO2lmKHImJjA9PT1lJiYocyYmYWwobGkocyksbyksbi5mbGFnc3w9NCksNjQhPSg2NCZuLmZsYWdzKSlpZig4JmwpcGModCxlLG4uY2hpbGQsbyxpLGEsITEpLExsKGUsdCxpLHMsYSk7ZWxzZSBpZigzMiZsKXtjb25zdCByPVRsKG4sbyk7bGV0IGw7Zm9yKDtsPXIoKTspTGwoZSx0LGksbCxhKTtMbChlLHQsaSxzLGEpfWVsc2UgMTYmbD9mYyh0LGUsbyxuLGksYSk6KG5nRGV2TW9kZSYmZ2Eobiw3KSxMbChlLHQsaSxzLGEpKTtuPXI/bi5wcm9qZWN0aW9uTmV4dDpuLm5leHR9fWZ1bmN0aW9uIG1jKHQsZSxuLG8saSxhKXtwYyhuLG8sdC5maXJzdENoaWxkLGUsaSxhLCExKX1mdW5jdGlvbiBmYyh0LGUsbixvLGksYSl7Y29uc3Qgcj1uWzE2XSxzPXJbNl07bmdEZXZNb2RlJiZnbih0eXBlb2Ygby5wcm9qZWN0aW9uLCJudW1iZXIiLCJleHBlY3RpbmcgcHJvamVjdGlvbiBpbmRleCIpO2NvbnN0IGw9cy5wcm9qZWN0aW9uW28ucHJvamVjdGlvbl07aWYoQXJyYXkuaXNBcnJheShsKSlmb3IobGV0IG49MDtuPGwubGVuZ3RoO24rKyl7TGwoZSx0LGksbFtuXSxhKX1lbHNle3BjKHQsZSxsLHJbM10saSxhLCEwKX19ZnVuY3Rpb24gdWModCxlLG4pe25nRGV2TW9kZSYmZm4obiwiJ25ld1ZhbHVlJyBzaG91bGQgYmUgYSBzdHJpbmciKSxyaSh0KT90LnNldEF0dHJpYnV0ZShlLCJzdHlsZSIsbik6ZS5zdHlsZS5jc3NUZXh0PW4sbmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJTZXRTdHlsZSsrfWZ1bmN0aW9uIGdjKHQsZSxuKXtuZ0Rldk1vZGUmJmZuKG4sIiduZXdWYWx1ZScgc2hvdWxkIGJlIGEgc3RyaW5nIikscmkodCk/IiI9PT1uP3QucmVtb3ZlQXR0cmlidXRlKGUsImNsYXNzIik6dC5zZXRBdHRyaWJ1dGUoZSwiY2xhc3MiLG4pOmUuY2xhc3NOYW1lPW4sbmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJTZXRDbGFzc05hbWUrK30KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gaGModCxlLG4pe25nRGV2TW9kZSYmaG4oZSwiIiwnY2FuIG5vdCBsb29rIGZvciAiIiBzdHJpbmcuJyk7bGV0IG89dC5sZW5ndGg7Zm9yKDs7KXtjb25zdCBpPXQuaW5kZXhPZihlLG4pO2lmKC0xPT09aSlyZXR1cm4gaTtpZigwPT09aXx8dC5jaGFyQ29kZUF0KGktMSk8PTMyKXtjb25zdCBuPWUubGVuZ3RoO2lmKGkrbj09PW98fHQuY2hhckNvZGVBdChpK24pPD0zMilyZXR1cm4gaX1uPWkrMX19Y29uc3QgYmM9Im5nLXRlbXBsYXRlIjtmdW5jdGlvbiB5Yyh0LGUsbil7bmdEZXZNb2RlJiZnbihlLGUudG9Mb3dlckNhc2UoKSwiQ2xhc3MgbmFtZSBleHBlY3RlZCB0byBiZSBsb3dlcmNhc2UuIik7bGV0IG89MDtmb3IoO288dC5sZW5ndGg7KXtsZXQgaT10W28rK107aWYobiYmImNsYXNzIj09PWkpe2lmKGk9dFtvXSwtMSE9PWhjKGkudG9Mb3dlckNhc2UoKSxlLDApKXJldHVybiEwfWVsc2UgaWYoMT09PWkpe2Zvcig7bzx0Lmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZihpPXRbbysrXSk7KWlmKGkudG9Mb3dlckNhc2UoKT09PWUpcmV0dXJuITA7cmV0dXJuITF9fXJldHVybiExfWZ1bmN0aW9uIF9jKHQpe3JldHVybiA0PT09dC50eXBlJiZ0LnZhbHVlIT09YmN9ZnVuY3Rpb24gQ2ModCxlLG4pe3JldHVybiBlPT09KDQhPT10LnR5cGV8fG4/dC52YWx1ZTpiYyl9ZnVuY3Rpb24gTWModCxlLG4pe25nRGV2TW9kZSYmeG4oZVswXSwiU2VsZWN0b3Igc2hvdWxkIGhhdmUgYSB0YWcgbmFtZSIpO2xldCBvPTQ7Y29uc3QgaT10LmF0dHJzfHxbXSxhPShmdW5jdGlvbiByKHQpe2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtpZihiYSh0W2VdKSlyZXR1cm4gZX1yZXR1cm4gdC5sZW5ndGh9KShpKTtsZXQgcz0hMTtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyl7Y29uc3QgbD1lW3JdO2lmKCJudW1iZXIiIT10eXBlb2YgbCl7aWYoIXMpaWYoNCZvKXtpZihvPTJ8MSZvLCIiIT09bCYmIUNjKHQsbCxuKXx8IiI9PT1sJiYxPT09ZS5sZW5ndGgpe2lmKHZjKG8pKXJldHVybiExO3M9ITB9fWVsc2V7Y29uc3QgYz04Jm8/bDplWysrcl07aWYoOCZvJiZudWxsIT09dC5hdHRycyl7aWYoIXljKHQuYXR0cnMsYyxuKSl7aWYodmMobykpcmV0dXJuITE7cz0hMH1jb250aW51ZX1jb25zdCBkPXhjKDgmbz8iY2xhc3MiOmwsaSxfYyh0KSxuKTtpZigtMT09PWQpe2lmKHZjKG8pKXJldHVybiExO3M9ITA7Y29udGludWV9aWYoIiIhPT1jKXtsZXQgdDtkPmE/dD0iIjoobmdEZXZNb2RlJiZobihpW2RdLDAsIldlIGRvIG5vdCBtYXRjaCBkaXJlY3RpdmVzIG9uIG5hbWVzcGFjZWQgYXR0cmlidXRlcyIpLHQ9aVtkKzFdLnRvTG93ZXJDYXNlKCkpO2NvbnN0IGU9OCZvP3Q6bnVsbDtpZihlJiYtMSE9PWhjKGUsYywwKXx8MiZvJiZjIT09dCl7aWYodmMobykpcmV0dXJuITE7cz0hMH19fX1lbHNle2lmKCFzJiYhdmMobykmJiF2YyhsKSlyZXR1cm4hMTtpZihzJiZ2YyhsKSljb250aW51ZTtzPSExLG89bHwxJm99fXJldHVybiB2YyhvKXx8c31mdW5jdGlvbiB2Yyh0KXtyZXR1cm4gMD09KDEmdCl9ZnVuY3Rpb24geGModCxlLG4sbyl7aWYobnVsbD09PWUpcmV0dXJuLTE7bGV0IGk9MDtpZihvfHwhbil7bGV0IG49ITE7Zm9yKDtpPGUubGVuZ3RoOyl7Y29uc3Qgbz1lW2ldO2lmKG89PT10KXJldHVybiBpO2lmKDM9PT1vfHw2PT09byluPSEwO2Vsc2V7aWYoMT09PW98fDI9PT1vKXtsZXQgdD1lWysraV07Zm9yKDsic3RyaW5nIj09dHlwZW9mIHQ7KXQ9ZVsrK2ldO2NvbnRpbnVlfWlmKDQ9PT1vKWJyZWFrO2lmKDA9PT1vKXtpKz00O2NvbnRpbnVlfX1pKz1uPzE6Mn1yZXR1cm4tMX1yZXR1cm4oZnVuY3Rpb24gYSh0LGUpe2xldCBuPXQuaW5kZXhPZig0KTtpZihuPi0xKWZvcihuKys7bjx0Lmxlbmd0aDspe2NvbnN0IG89dFtuXTtpZigibnVtYmVyIj09dHlwZW9mIG8pcmV0dXJuLTE7aWYobz09PWUpcmV0dXJuIG47bisrfXJldHVybi0xfSkoZSx0KX1mdW5jdGlvbiBPYyh0LGUsbj0hMSl7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspaWYoTWModCxlW29dLG4pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIFBjKHQsZSl7dDpmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7Y29uc3Qgbz1lW25dO2lmKHQubGVuZ3RoPT09by5sZW5ndGgpe2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKHRbZV0hPT1vW2VdKWNvbnRpbnVlIHQ7cmV0dXJuITB9fXJldHVybiExfWZ1bmN0aW9uIHdjKHQsZSl7cmV0dXJuIHQ/Ijpub3QoIitlLnRyaW0oKSsiKSI6ZX1mdW5jdGlvbiBrYyh0KXtsZXQgZT10WzBdLG49MSxvPTIsaT0iIixhPSExO2Zvcig7bjx0Lmxlbmd0aDspe2xldCByPXRbbl07aWYoInN0cmluZyI9PXR5cGVvZiByKWlmKDImbyl7Y29uc3QgZT10Wysrbl07aSs9IlsiK3IrKGUubGVuZ3RoPjA/Jz0iJytlKyciJzoiIikrIl0ifWVsc2UgOCZvP2krPSIuIityOjQmbyYmKGkrPSIgIityKTtlbHNlIiI9PT1pfHx2YyhyKXx8KGUrPXdjKGEsaSksaT0iIiksbz1yLGE9YXx8IXZjKG8pO24rK31yZXR1cm4iIiE9PWkmJihlKz13YyhhLGkpKSxlfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgU2M9InVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZT97X19icmFuZF9fOiJOT19DSEFOR0UifTp7fTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gRGModCl7bmdEZXZNb2RlJiZNbih0LDAsIkNhbiBvbmx5IGFkdmFuY2UgZm9yd2FyZCIpLFJjKE9pKCkseGkoKSx0YSgpK3QsQWkoKSl9ZnVuY3Rpb24gUmModCxlLG4sbyl7aWYobmdEZXZNb2RlJiYoZnVuY3Rpb24gaSh0LGUpe2pvKHZvLHRbMV0uYmluZGluZ1N0YXJ0SW5kZXgsZSl9KShlLG4pLCFvKXtpZigzPT0oMyZlWzJdKSl7Y29uc3Qgbz10LnByZU9yZGVyQ2hlY2tIb29rcztudWxsIT09byYmc2EoZSxvLG4pfWVsc2V7Y29uc3Qgbz10LnByZU9yZGVySG9va3M7bnVsbCE9PW8mJmxhKGUsbywwLG4pfX1lYShuKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gRWModCxlKXtyZXR1cm4gbmdEZXZNb2RlJiZtbih0LDAsMzI3NjcpLG5nRGV2TW9kZSYmbW4oZSwwLDMyNzY3KSx0PDwxN3xlPDwyfWZ1bmN0aW9uIEFjKHQpe3JldHVybiBuZ0Rldk1vZGUmJnBuKHQsImV4cGVjdGVkIG51bWJlciIpLHQ+PjE3JjMyNzY3fWZ1bmN0aW9uIFRjKHQpe3JldHVybiBuZ0Rldk1vZGUmJnBuKHQsImV4cGVjdGVkIG51bWJlciIpLDI9PSgyJnQpfWZ1bmN0aW9uIE5jKHQpe3JldHVybiBuZ0Rldk1vZGUmJnBuKHQsImV4cGVjdGVkIG51bWJlciIpLDJ8dH1mdW5jdGlvbiB6Yyh0KXtyZXR1cm4gbmdEZXZNb2RlJiZwbih0LCJleHBlY3RlZCBudW1iZXIiKSwoMTMxMDY4JnQpPj4yfWZ1bmN0aW9uIEljKHQsZSl7cmV0dXJuIG5nRGV2TW9kZSYmcG4odCwiZXhwZWN0ZWQgbnVtYmVyIiksbmdEZXZNb2RlJiZtbihlLDAsMzI3NjcpLC0xMzEwNjkmdHxlPDwyfWZ1bmN0aW9uIEhjKHQpe3JldHVybiBuZ0Rldk1vZGUmJnBuKHQsImV4cGVjdGVkIG51bWJlciIpLDE9PSgxJnQpfWZ1bmN0aW9uIEZjKHQpe3JldHVybiBuZ0Rldk1vZGUmJnBuKHQsImV4cGVjdGVkIG51bWJlciIpLDF8dH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gTGModCxlKXtpZighbmdEZXZNb2RlKXRocm93IG5ldyBFcnJvcigiVGhpcyBtZXRob2Qgc2hvdWxkIGJlIGd1YXJkZWQgd2l0aCBgbmdEZXZNb2RlYCBzbyB0aGF0IGl0IGNhbiBiZSB0cmVlIHNoYWtlbiBpbiBwcm9kdWN0aW9uISIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJkZWJ1ZyIse3ZhbHVlOmUsZW51bWVyYWJsZTohMX0pfWZ1bmN0aW9uIEJjKHQsZSl7aWYoIW5nRGV2TW9kZSl0aHJvdyBuZXcgRXJyb3IoIlRoaXMgbWV0aG9kIHNob3VsZCBiZSBndWFyZGVkIHdpdGggYG5nRGV2TW9kZWAgc28gdGhhdCBpdCBjYW4gYmUgdHJlZSBzaGFrZW4gaW4gcHJvZHVjdGlvbiEiKTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiZGVidWciLHtnZXQ6ZSxlbnVtZXJhYmxlOiExfSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFZjPSgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8ISFuZ0Rldk1vZGUpJiZLbigpO2xldCBqYyxVYyxXYztmdW5jdGlvbiBHYyh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0LG4pe3N3aXRjaCh0KXtjYXNlIDA6cmV0dXJuIHZvaWQgMD09PVdjJiYoV2M9bmV3KENsKCJMUm9vdFZpZXciKSkpLFdjO2Nhc2UgMTp2b2lkIDA9PT1qYyYmKGpjPW5ldyBNYXApO2xldCB0PWpjLmdldChuKTtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9bmV3KENsKCJMQ29tcG9uZW50VmlldyIrWWMobikpKSxqYy5zZXQobix0KSksdDtjYXNlIDI6dm9pZCAwPT09VWMmJihVYz1uZXcgTWFwKTtsZXQgZT1VYy5nZXQobik7cmV0dXJuIHZvaWQgMD09PWUmJihlPW5ldyhDbCgiTEVtYmVkZGVkVmlldyIrWWMobikpKSxVYy5zZXQobixlKSksZX19KSh0LnR5cGUsdC50ZW1wbGF0ZSYmdC50ZW1wbGF0ZS5uYW1lKS5jb25jYXQodC5ibHVlcHJpbnQpfWZ1bmN0aW9uIFljKHQpe2lmKG51bGw9PXQpcmV0dXJuIiI7Y29uc3QgZT10Lmxhc3RJbmRleE9mKCJfVGVtcGxhdGUiKTtyZXR1cm4iXyIrKC0xPT09ZT90OnQuc3Vic3RyKDAsZSkpfWNvbnN0IHFjPWNsYXNze2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCxiLHksXyxDLE0sdix4LE8sUCx3LGssUyxELFIsRSl7dGhpcy50Vmlld189dCx0aGlzLnR5cGU9ZSx0aGlzLmluZGV4PW4sdGhpcy5pbnNlcnRCZWZvcmVJbmRleD1vLHRoaXMuaW5qZWN0b3JJbmRleD1pLHRoaXMuZGlyZWN0aXZlU3RhcnQ9YSx0aGlzLmRpcmVjdGl2ZUVuZD1yLHRoaXMuZGlyZWN0aXZlU3R5bGluZ0xhc3Q9cyx0aGlzLnByb3BlcnR5QmluZGluZ3M9bCx0aGlzLmZsYWdzPWMsdGhpcy5wcm92aWRlckluZGV4ZXM9ZCx0aGlzLnZhbHVlPXAsdGhpcy5hdHRycz1tLHRoaXMubWVyZ2VkQXR0cnM9Zix0aGlzLmxvY2FsTmFtZXM9dSx0aGlzLmluaXRpYWxJbnB1dHM9Zyx0aGlzLmlucHV0cz1oLHRoaXMub3V0cHV0cz1iLHRoaXMudFZpZXdzPXksdGhpcy5uZXh0PV8sdGhpcy5wcm9qZWN0aW9uTmV4dD1DLHRoaXMuY2hpbGQ9TSx0aGlzLnBhcmVudD12LHRoaXMucHJvamVjdGlvbj14LHRoaXMuc3R5bGVzPU8sdGhpcy5zdHlsZXNXaXRob3V0SG9zdD1QLHRoaXMucmVzaWR1YWxTdHlsZXM9dyx0aGlzLmNsYXNzZXM9ayx0aGlzLmNsYXNzZXNXaXRob3V0SG9zdD1TLHRoaXMucmVzaWR1YWxDbGFzc2VzPUQsdGhpcy5jbGFzc0JpbmRpbmdzPVIsdGhpcy5zdHlsZUJpbmRpbmdzPUV9ZGVidWdOb2RlSW5qZWN0b3JQYXRoKHQpe2NvbnN0IGU9W107bGV0IG49RGEodGhpcyx0KTtpZigtMT09PW4pe2NvbnN0IGU9UmEodGhpcyx0KTtlIT09bWEmJihuPXZhKGUpLHQ9eGEoZSx0KSl9Zm9yKDstMSE9PW47KXtuZ0Rldk1vZGUmJldvKHQsbik7ZS5wdXNoKHBkKHRbMV0uZGF0YVtuKzhdLHQpKTtjb25zdCBvPXRbbis4XTtvPT09bWE/bj0tMToobj12YShvKSx0PXhhKG8sdCkpfXJldHVybiBlfWdldCB0eXBlXygpe3JldHVybiB1YSh0aGlzLnR5cGUpfHxgVE5vZGVUeXBlLj8ke3RoaXMudHlwZX0/YH1nZXQgZmxhZ3NfKCl7Y29uc3QgdD1bXTtyZXR1cm4gMTYmdGhpcy5mbGFncyYmdC5wdXNoKCJUTm9kZUZsYWdzLmhhc0NsYXNzSW5wdXQiKSw4JnRoaXMuZmxhZ3MmJnQucHVzaCgiVE5vZGVGbGFncy5oYXNDb250ZW50UXVlcnkiKSwzMiZ0aGlzLmZsYWdzJiZ0LnB1c2goIlROb2RlRmxhZ3MuaGFzU3R5bGVJbnB1dCIpLDEyOCZ0aGlzLmZsYWdzJiZ0LnB1c2goIlROb2RlRmxhZ3MuaGFzSG9zdEJpbmRpbmdzIiksMiZ0aGlzLmZsYWdzJiZ0LnB1c2goIlROb2RlRmxhZ3MuaXNDb21wb25lbnRIb3N0IiksMSZ0aGlzLmZsYWdzJiZ0LnB1c2goIlROb2RlRmxhZ3MuaXNEaXJlY3RpdmVIb3N0IiksNjQmdGhpcy5mbGFncyYmdC5wdXNoKCJUTm9kZUZsYWdzLmlzRGV0YWNoZWQiKSw0JnRoaXMuZmxhZ3MmJnQucHVzaCgiVE5vZGVGbGFncy5pc1Byb2plY3RlZCIpLHQuam9pbigifCIpfWdldCB0ZW1wbGF0ZV8oKXtpZigxJnRoaXMudHlwZSlyZXR1cm4gdGhpcy52YWx1ZTtjb25zdCB0PVtdLGU9InN0cmluZyI9PXR5cGVvZiB0aGlzLnZhbHVlJiZ0aGlzLnZhbHVlfHx0aGlzLnR5cGVfO2lmKHQucHVzaCgiPCIsZSksdGhpcy5mbGFncyYmdC5wdXNoKCIgIix0aGlzLmZsYWdzXyksdGhpcy5hdHRycylmb3IobGV0IGU9MDtlPHRoaXMuYXR0cnMubGVuZ3RoOyl7Y29uc3Qgbj10aGlzLmF0dHJzW2UrK107aWYoIm51bWJlciI9PXR5cGVvZiBuKWJyZWFrO2NvbnN0IG89dGhpcy5hdHRyc1tlKytdO3QucHVzaCgiICIsbiwnPSInLG8sJyInKX1yZXR1cm4gdC5wdXNoKCI+IiksWGModGhpcy5jaGlsZCx0KSx0LnB1c2goIjwvIixlLCI+IiksdC5qb2luKCIiKX1nZXQgc3R5bGVCaW5kaW5nc18oKXtyZXR1cm4gWmModGhpcywhMSl9Z2V0IGNsYXNzQmluZGluZ3NfKCl7cmV0dXJuIFpjKHRoaXMsITApfWdldCBwcm92aWRlckluZGV4U3RhcnRfKCl7cmV0dXJuIDEwNDg1NzUmdGhpcy5wcm92aWRlckluZGV4ZXN9Z2V0IHByb3ZpZGVySW5kZXhFbmRfKCl7cmV0dXJuIHRoaXMucHJvdmlkZXJJbmRleFN0YXJ0XysodGhpcy5wcm92aWRlckluZGV4ZXM+Pj4yMCl9fTtmdW5jdGlvbiBaYyh0LGUpe2NvbnN0IG49dC50Vmlld18uZGF0YSxvPVtdLGk9ZT90LmNsYXNzQmluZGluZ3M6dC5zdHlsZUJpbmRpbmdzLGE9QWMoaSkscj16YyhpKTtsZXQgcz0wIT09cixsPXM/cjphO2Zvcig7MCE9PWw7KXtjb25zdCB0PW5bbCsxXTtvLnVuc2hpZnQoe2tleTpuW2xdLGluZGV4OmwsaXNUZW1wbGF0ZTpzLHByZXZEdXBsaWNhdGU6VGModCksbmV4dER1cGxpY2F0ZTpIYyh0KSxuZXh0SW5kZXg6emModCkscHJldkluZGV4OkFjKHQpfSksbD09PWEmJihzPSExKSxsPUFjKHQpfXJldHVybiBvLnB1c2goKGU/dC5yZXNpZHVhbENsYXNzZXM6dC5yZXNpZHVhbFN0eWxlcyl8fG51bGwpLG99ZnVuY3Rpb24gWGModCxlKXtmb3IoO3Q7KWUucHVzaCh0LnRlbXBsYXRlXyksdD10Lm5leHR9Y29uc3QgS2M9VmMmJkNsKCJUVmlld0RhdGEiKXx8bnVsbDtsZXQgSmM7Y29uc3QgUWM9VmMmJkNsKCJMVmlld0JsdWVwcmludCIpfHxudWxsLCRjPVZjJiZDbCgiTWF0Y2hlc0FycmF5Iil8fG51bGwsdGQ9VmMmJkNsKCJUVmlld0NvbXBvbmVudHMiKXx8bnVsbCxlZD1WYyYmQ2woIlROb2RlTG9jYWxOYW1lcyIpfHxudWxsLG5kPVZjJiZDbCgiVE5vZGVJbml0aWFsSW5wdXRzIil8fG51bGw7VmMmJkNsKCJUTm9kZUluaXRpYWxEYXRhIik7Y29uc3Qgb2Q9VmMmJkNsKCJMQ2xlYW51cCIpfHxudWxsLGlkPVZjJiZDbCgiVENsZWFudXAiKXx8bnVsbDtmdW5jdGlvbiBhZCh0KXtpZih0KXtjb25zdCBlPXQuZGVidWc7cmV0dXJuIHhuKGUsIk9iamVjdCBkb2VzIG5vdCBoYXZlIGEgZGVidWcgcmVwcmVzZW50YXRpb24uIiksZX1yZXR1cm4gdH1mdW5jdGlvbiByZCh0LGU9ITEpe2NvbnN0IG49bGkodCk7aWYobilzd2l0Y2gobi5ub2RlVHlwZSl7Y2FzZSBOb2RlLlRFWFRfTk9ERTpyZXR1cm4gbi50ZXh0Q29udGVudDtjYXNlIE5vZGUuQ09NTUVOVF9OT0RFOnJldHVybmBceDNjIS0tJHtuLnRleHRDb250ZW50fS0tXHgzZWA7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpjb25zdCB0PW4ub3V0ZXJIVE1MO2lmKGUpcmV0dXJuIHQ7cmV0dXJuIHQuc3BsaXQoIj4iK24uaW5uZXJIVE1MKyI8IilbMF0rIj4ifXJldHVybiBudWxsfWNsYXNzIHNke2NvbnN0cnVjdG9yKHQpe3RoaXMuX3Jhd19sVmlldz10fWdldCBmbGFncygpe2NvbnN0IHQ9dGhpcy5fcmF3X2xWaWV3WzJdO3JldHVybntfX3Jhd19fZmxhZ3NfXzp0LGluaXRQaGFzZVN0YXRlOjMmdCxjcmVhdGlvbk1vZGU6ISEoNCZ0KSxmaXJzdFZpZXdQYXNzOiEhKDgmdCksY2hlY2tBbHdheXM6ISEoMTYmdCksZGlydHk6ISEoNjQmdCksYXR0YWNoZWQ6ISEoMTI4JnQpLGRlc3Ryb3llZDohISgyNTYmdCksaXNSb290OiEhKDUxMiZ0KSxpbmRleFdpdGhpbkluaXRQaGFzZTp0Pj4xMX19Z2V0IHBhcmVudCgpe3JldHVybiBhZCh0aGlzLl9yYXdfbFZpZXdbM10pfWdldCBob3N0SFRNTCgpe3JldHVybiByZCh0aGlzLl9yYXdfbFZpZXdbMF0sITApfWdldCBodG1sKCl7cmV0dXJuKHRoaXMubm9kZXN8fFtdKS5tYXAobGQpLmpvaW4oIiIpfWdldCBjb250ZXh0KCl7cmV0dXJuIHRoaXMuX3Jhd19sVmlld1s4XX1nZXQgbm9kZXMoKXtjb25zdCB0PXRoaXMuX3Jhd19sVmlldztyZXR1cm4gZGQodFsxXS5maXJzdENoaWxkLHQpfWdldCB0ZW1wbGF0ZSgpe3JldHVybiB0aGlzLnRWaWV3LnRlbXBsYXRlX31nZXQgdFZpZXcoKXtyZXR1cm4gdGhpcy5fcmF3X2xWaWV3WzFdfWdldCBjbGVhbnVwKCl7cmV0dXJuIHRoaXMuX3Jhd19sVmlld1s3XX1nZXQgaW5qZWN0b3IoKXtyZXR1cm4gdGhpcy5fcmF3X2xWaWV3WzldfWdldCByZW5kZXJlckZhY3RvcnkoKXtyZXR1cm4gdGhpcy5fcmF3X2xWaWV3WzEwXX1nZXQgcmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fcmF3X2xWaWV3WzExXX1nZXQgc2FuaXRpemVyKCl7cmV0dXJuIHRoaXMuX3Jhd19sVmlld1sxMl19Z2V0IGNoaWxkSGVhZCgpe3JldHVybiBhZCh0aGlzLl9yYXdfbFZpZXdbMTNdKX1nZXQgbmV4dCgpe3JldHVybiBhZCh0aGlzLl9yYXdfbFZpZXdbNF0pfWdldCBjaGlsZFRhaWwoKXtyZXR1cm4gYWQodGhpcy5fcmF3X2xWaWV3WzE0XSl9Z2V0IGRlY2xhcmF0aW9uVmlldygpe3JldHVybiBhZCh0aGlzLl9yYXdfbFZpZXdbMTVdKX1nZXQgcXVlcmllcygpe3JldHVybiB0aGlzLl9yYXdfbFZpZXdbMTldfWdldCB0SG9zdCgpe3JldHVybiB0aGlzLl9yYXdfbFZpZXdbNl19Z2V0IGRlY2xzKCl7cmV0dXJuIGNkKHRoaXMudFZpZXcsdGhpcy5fcmF3X2xWaWV3LHZvLHRoaXMudFZpZXcuYmluZGluZ1N0YXJ0SW5kZXgpfWdldCB2YXJzKCl7cmV0dXJuIGNkKHRoaXMudFZpZXcsdGhpcy5fcmF3X2xWaWV3LHRoaXMudFZpZXcuYmluZGluZ1N0YXJ0SW5kZXgsdGhpcy50Vmlldy5leHBhbmRvU3RhcnRJbmRleCl9Z2V0IGV4cGFuZG8oKXtyZXR1cm4gY2QodGhpcy50Vmlldyx0aGlzLl9yYXdfbFZpZXcsdGhpcy50Vmlldy5leHBhbmRvU3RhcnRJbmRleCx0aGlzLl9yYXdfbFZpZXcubGVuZ3RoKX1nZXQgY2hpbGRWaWV3cygpe2NvbnN0IHQ9W107bGV0IGU9dGhpcy5jaGlsZEhlYWQ7Zm9yKDtlOyl0LnB1c2goZSksZT1lLm5leHQ7cmV0dXJuIHR9fWZ1bmN0aW9uIGxkKHQpe2lmKCJFbGVtZW50Q29udGFpbmVyIj09PXQudHlwZSlyZXR1cm4odC5jaGlsZHJlbnx8W10pLm1hcChsZCkuam9pbigiIik7aWYoIkljdUNvbnRhaW5lciI9PT10LnR5cGUpdGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKTtyZXR1cm4gcmQodC5uYXRpdmUsITApfHwiIn1mdW5jdGlvbiBjZCh0LGUsbixvKXtsZXQgaT1bXTtmb3IobGV0IGE9bjthPG87YSsrKWkucHVzaCh7aW5kZXg6YSx0OnQuZGF0YVthXSxsOmVbYV19KTtyZXR1cm57c3RhcnQ6bixlbmQ6byxsZW5ndGg6by1uLGNvbnRlbnQ6aX19ZnVuY3Rpb24gZGQodCxlKXtpZih0KXtjb25zdCBuPVtdO2xldCBvPXQ7Zm9yKDtvOyluLnB1c2gocGQobyxlKSksbz1vLm5leHQ7cmV0dXJuIG59cmV0dXJuW119ZnVuY3Rpb24gcGQodCxlKXtjb25zdCBuPWxpKGVbdC5pbmRleF0pLG89W10saT1bXSxhPWVbMV07Zm9yKGxldCBuPXQuZGlyZWN0aXZlU3RhcnQ7bjx0LmRpcmVjdGl2ZUVuZDtuKyspe28ucHVzaChhLmRhdGFbbl0udHlwZSksaS5wdXNoKGVbbl0pfXJldHVybntodG1sOnJkKG4pLHR5cGU6dWEodC50eXBlKSx0Tm9kZTp0LG5hdGl2ZTpuLGNoaWxkcmVuOmRkKHQuY2hpbGQsZSksZmFjdG9yaWVzOm8saW5zdGFuY2VzOmksaW5qZWN0b3I6bWQodCxhLGUpLGdldCBpbmplY3RvclJlc29sdXRpb25QYXRoKCl7cmV0dXJuIHQuZGVidWdOb2RlSW5qZWN0b3JQYXRoKGUpfX19ZnVuY3Rpb24gbWQodCxlLG4pe2NvbnN0IG89W107Zm9yKGxldCBuPXQucHJvdmlkZXJJbmRleFN0YXJ0XztuPHQucHJvdmlkZXJJbmRleEVuZF87bisrKW8ucHVzaChlLmRhdGFbbl0pO2NvbnN0IGk9W107Zm9yKGxldCBuPXQucHJvdmlkZXJJbmRleEVuZF87bjx0LmRpcmVjdGl2ZUVuZDtuKyspaS5wdXNoKGUuZGF0YVtuXSk7cmV0dXJue2Jsb29tOnVkKG4sdC5pbmplY3RvckluZGV4KSxjdW11bGF0aXZlQmxvb206dWQoZS5kYXRhLHQuaW5qZWN0b3JJbmRleCkscHJvdmlkZXJzOmksdmlld1Byb3ZpZGVyczpvLHBhcmVudEluamVjdG9ySW5kZXg6blt0LnByb3ZpZGVySW5kZXhTdGFydF8tMV19fWZ1bmN0aW9uIGZkKHQsZSl7Y29uc3Qgbj10W2VdO2lmKCJudW1iZXIiIT10eXBlb2YgbilyZXR1cm4iPz8/Pz8/Pz8iO2NvbnN0IG89IjAwMDAwMDAwIituLnRvU3RyaW5nKDIpO3JldHVybiBvLnN1YnN0cmluZyhvLmxlbmd0aC04KX1mdW5jdGlvbiB1ZCh0LGUpe3JldHVybiBlPDA/Ik5PX05PREVfSU5KRUNUT1IiOmAke2ZkKHQsZSs3KX1fJHtmZCh0LGUrNil9XyR7ZmQodCxlKzUpfV8ke2ZkKHQsZSs0KX1fJHtmZCh0LGUrMyl9XyR7ZmQodCxlKzIpfV8ke2ZkKHQsZSsxKX1fJHtmZCh0LGUrMCl9YH1jbGFzcyBnZHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9yYXdfbENvbnRhaW5lcj10fWdldCBoYXNUcmFuc3BsYW50ZWRWaWV3cygpe3JldHVybiB0aGlzLl9yYXdfbENvbnRhaW5lclsyXX1nZXQgdmlld3MoKXtyZXR1cm4gdGhpcy5fcmF3X2xDb250YWluZXIuc2xpY2UoT28pLm1hcChhZCl9Z2V0IHBhcmVudCgpe3JldHVybiBhZCh0aGlzLl9yYXdfbENvbnRhaW5lclszXSl9Z2V0IG1vdmVkVmlld3MoKXtyZXR1cm4gdGhpcy5fcmF3X2xDb250YWluZXJbOV19Z2V0IGhvc3QoKXtyZXR1cm4gdGhpcy5fcmF3X2xDb250YWluZXJbMF19Z2V0IG5hdGl2ZSgpe3JldHVybiB0aGlzLl9yYXdfbENvbnRhaW5lcls3XX1nZXQgbmV4dCgpe3JldHVybiBhZCh0aGlzLl9yYXdfbENvbnRhaW5lcls0XSl9fWNvbnN0IGhkPVByb21pc2UucmVzb2x2ZShudWxsKTtmdW5jdGlvbiBiZCh0LGUpe2NvbnN0IG49dC5jb250ZW50UXVlcmllcztpZihudWxsIT09bilmb3IobGV0IG89MDtvPG4ubGVuZ3RoO28rPTIpe2NvbnN0IGk9bltvXSxhPW5bbysxXTtpZigtMSE9PWEpe2NvbnN0IG49dC5kYXRhW2FdO25nRGV2TW9kZSYmeG4obiwiRGlyZWN0aXZlRGVmIG5vdCBmb3VuZC4iKSxuZ0Rldk1vZGUmJnhuKG4uY29udGVudFF1ZXJpZXMsImNvbnRlbnRRdWVyaWVzIGZ1bmN0aW9uIHNob3VsZCBiZSBkZWZpbmVkIiksV2koaSksbi5jb250ZW50UXVlcmllcygyLGVbYV0sYSl9fX1mdW5jdGlvbiB5ZCh0LGUsbixvLGksYSxyLHMsbCxjKXtjb25zdCBkPW5nRGV2TW9kZT9HYyhlKTplLmJsdWVwcmludC5zbGljZSgpO3JldHVybiBkWzBdPWksZFsyXT0xNDB8byxiaShkKSxuZ0Rldk1vZGUmJmUuZGVjbFROb2RlJiZ0JiZFbyhlLmRlY2xUTm9kZSx0KSxkWzNdPWRbMTVdPXQsZFs4XT1uLGRbMTBdPXJ8fHQmJnRbMTBdLG5nRGV2TW9kZSYmeG4oZFsxMF0sIlJlbmRlcmVyRmFjdG9yeSBpcyByZXF1aXJlZCIpLGRbMTFdPXN8fHQmJnRbMTFdLG5nRGV2TW9kZSYmeG4oZFsxMV0sIlJlbmRlcmVyIGlzIHJlcXVpcmVkIiksZFsxMl09bHx8dCYmdFsxMl18fG51bGwsZFs5XT1jfHx0JiZ0WzldfHxudWxsLGRbNl09YSxuZ0Rldk1vZGUmJmduKDIhPWUudHlwZXx8bnVsbCE9PXQsITAsIkVtYmVkZGVkIHZpZXdzIG11c3QgaGF2ZSBwYXJlbnRMVmlldyIpLGRbMTZdPTI9PWUudHlwZT90WzE2XTpkLG5nRGV2TW9kZSYmKGZ1bmN0aW9uIHAodCl7TGModCxuZXcgc2QodCkpfSkoZCksZH1mdW5jdGlvbiBfZCh0LGUsbixvLGkpe25nRGV2TW9kZSYmMCE9PWUmJnZuKGUsdm8sIlROb2RlcyBjYW4ndCBiZSBpbiB0aGUgTFZpZXcgaGVhZGVyLiIpLG5nRGV2TW9kZSYmKGZ1bmN0aW9uIGEodCl7MiE9PXQmJjEhPT10JiY0IT09dCYmOCE9PXQmJjMyIT09dCYmMTYhPT10JiY2NCE9PXQmJk9uKGBFeHBlY3RlZCBUTm9kZVR5cGUgdG8gaGF2ZSBvbmx5IGEgc2luZ2xlIHR5cGUgc2VsZWN0ZWQsIGJ1dCBnb3QgJHt1YSh0KX0uYCl9KShuKTtsZXQgcj10LmRhdGFbZV07aWYobnVsbD09PXIpcj1DZCh0LGUsbixvLGkpLChmdW5jdGlvbiBzKCl7cmV0dXJuIF9pLmxGcmFtZS5pbkkxOG59KSgpJiYoci5mbGFnc3w9NjQpO2Vsc2UgaWYoNjQmci50eXBlKXtyLnR5cGU9bixyLnZhbHVlPW8sci5hdHRycz1pO2NvbnN0IGE9U2koKTtyLmluamVjdG9ySW5kZXg9bnVsbD09PWE/LTE6YS5pbmplY3RvckluZGV4LG5nRGV2TW9kZSYmQW8ocix0KSxuZ0Rldk1vZGUmJmduKGUsci5pbmRleCwiRXhwZWN0aW5nIHNhbWUgaW5kZXgiKX1yZXR1cm4gRGkociwhMCkscn1mdW5jdGlvbiBDZCh0LGUsbixvLGkpe2NvbnN0IGE9a2koKSxyPVJpKCkscz10LmRhdGFbZV09KGZ1bmN0aW9uIGwodCxlLG4sbyxpLGEpe25nRGV2TW9kZSYmMCE9PW8mJnZuKG8sdm8sIlROb2RlcyBjYW4ndCBiZSBpbiB0aGUgTFZpZXcgaGVhZGVyLiIpLG5nRGV2TW9kZSYmeW4oYSx2b2lkIDAsIid1bmRlZmluZWQnIGlzIG5vdCB2YWxpZCB2YWx1ZSBmb3IgJ2F0dHJzJyIpLG5nRGV2TW9kZSYmbmdEZXZNb2RlLnROb2RlKyssbmdEZXZNb2RlJiZlJiZBbyhlLHQpO2xldCByPWU/ZS5pbmplY3RvckluZGV4Oi0xO2NvbnN0IHM9bmdEZXZNb2RlP25ldyBxYyh0LG4sbyxudWxsLHIsLTEsLTEsLTEsbnVsbCwwLDAsaSxhLG51bGwsbnVsbCx2b2lkIDAsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsZSxudWxsLG51bGwsbnVsbCx2b2lkIDAsbnVsbCxudWxsLHZvaWQgMCwwLDApOnt0eXBlOm4saW5kZXg6byxpbnNlcnRCZWZvcmVJbmRleDpudWxsLGluamVjdG9ySW5kZXg6cixkaXJlY3RpdmVTdGFydDotMSxkaXJlY3RpdmVFbmQ6LTEsZGlyZWN0aXZlU3R5bGluZ0xhc3Q6LTEscHJvcGVydHlCaW5kaW5nczpudWxsLGZsYWdzOjAscHJvdmlkZXJJbmRleGVzOjAsdmFsdWU6aSxhdHRyczphLG1lcmdlZEF0dHJzOm51bGwsbG9jYWxOYW1lczpudWxsLGluaXRpYWxJbnB1dHM6dm9pZCAwLGlucHV0czpudWxsLG91dHB1dHM6bnVsbCx0Vmlld3M6bnVsbCxuZXh0Om51bGwscHJvamVjdGlvbk5leHQ6bnVsbCxjaGlsZDpudWxsLHBhcmVudDplLHByb2plY3Rpb246bnVsbCxzdHlsZXM6bnVsbCxzdHlsZXNXaXRob3V0SG9zdDpudWxsLHJlc2lkdWFsU3R5bGVzOnZvaWQgMCxjbGFzc2VzOm51bGwsY2xhc3Nlc1dpdGhvdXRIb3N0Om51bGwscmVzaWR1YWxDbGFzc2VzOnZvaWQgMCxjbGFzc0JpbmRpbmdzOjAsc3R5bGVCaW5kaW5nczowfTtuZ0Rldk1vZGUmJk9iamVjdC5zZWFsKHMpO3JldHVybiBzfSkodCxyP2E6YSYmYS5wYXJlbnQsbixlLG8saSk7cmV0dXJuIG51bGw9PT10LmZpcnN0Q2hpbGQmJih0LmZpcnN0Q2hpbGQ9cyksbnVsbCE9PWEmJihyP251bGw9PWEuY2hpbGQmJm51bGwhPT1zLnBhcmVudCYmKGEuY2hpbGQ9cyk6bnVsbD09PWEubmV4dCYmKGEubmV4dD1zKSksc31mdW5jdGlvbiBNZCh0LGUsbixvKXtpZigwPT09bilyZXR1cm4tMTtuZ0Rldk1vZGUmJihMbyh0KSxibih0LGVbMV0sImBMVmlld2AgbXVzdCBiZSBhc3NvY2lhdGVkIHdpdGggYFRWaWV3YCEiKSxnbih0LmRhdGEubGVuZ3RoLGUubGVuZ3RoLCJFeHBlY3RpbmcgTFZpZXcgdG8gYmUgc2FtZSBzaXplIGFzIFRWaWV3IiksZ24odC5kYXRhLmxlbmd0aCx0LmJsdWVwcmludC5sZW5ndGgsIkV4cGVjdGluZyBCbHVlcHJpbnQgdG8gYmUgc2FtZSBzaXplIGFzIFRWaWV3IiksQm8odCkpO2NvbnN0IGk9ZS5sZW5ndGg7Zm9yKGxldCBpPTA7aTxuO2krKyllLnB1c2gobyksdC5ibHVlcHJpbnQucHVzaChvKSx0LmRhdGEucHVzaChudWxsKTtyZXR1cm4gaX1mdW5jdGlvbiB2ZCh0LGUsbil7bmdEZXZNb2RlJiZnbih1aShlKSwhMCwiU2hvdWxkIGJlIHJ1biBpbiBjcmVhdGlvbiBtb2RlIikscWkoZSk7dHJ5e2NvbnN0IG89dC52aWV3UXVlcnk7bnVsbCE9PW8mJnNwKDEsbyxuKTtjb25zdCBpPXQudGVtcGxhdGU7bnVsbCE9PWkmJlBkKHQsZSxpLDEsbiksdC5maXJzdENyZWF0ZVBhc3MmJih0LmZpcnN0Q3JlYXRlUGFzcz0hMSksdC5zdGF0aWNDb250ZW50UXVlcmllcyYmYmQodCxlKSx0LnN0YXRpY1ZpZXdRdWVyaWVzJiZzcCgyLHQudmlld1F1ZXJ5LG4pO2NvbnN0IGE9dC5jb21wb25lbnRzO251bGwhPT1hJiYoZnVuY3Rpb24gbyh0LGUpe2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKWVwKHQsZVtuXSl9KShlLGEpfWNhdGNoKGUpe3Rocm93IHQuZmlyc3RDcmVhdGVQYXNzJiYodC5pbmNvbXBsZXRlRmlyc3RQYXNzPSEwLHQuZmlyc3RDcmVhdGVQYXNzPSExKSxlfWZpbmFsbHl7ZVsyXSY9LTUsUWkoKX19ZnVuY3Rpb24geGQodCxlLG4sbyl7bmdEZXZNb2RlJiZnbih1aShlKSwhMSwiU2hvdWxkIGJlIHJ1biBpbiB1cGRhdGUgbW9kZSIpO2NvbnN0IGk9ZVsyXTtpZigyNTY9PSgyNTYmaSkpcmV0dXJuO3FpKGUpO2NvbnN0IGE9QWkoKTt0cnl7YmkoZSksSWkodC5iaW5kaW5nU3RhcnRJbmRleCksbnVsbCE9PW4mJlBkKHQsZSxuLDIsbyk7Y29uc3Qgcj0zPT0oMyZpKTtpZighYSlpZihyKXtjb25zdCBuPXQucHJlT3JkZXJDaGVja0hvb2tzO251bGwhPT1uJiZzYShlLG4sbnVsbCl9ZWxzZXtjb25zdCBuPXQucHJlT3JkZXJIb29rcztudWxsIT09biYmbGEoZSxuLDAsbnVsbCksY2EoZSwwKX1pZigoZnVuY3Rpb24gcih0KXtmb3IobGV0IGU9SWwodCk7bnVsbCE9PWU7ZT1IbChlKSl7aWYoIWVbMl0pY29udGludWU7Y29uc3QgdD1lWzldO25nRGV2TW9kZSYmeG4odCwiVHJhbnNwbGFudGVkIFZpZXcgZmxhZ3Mgc2V0IGJ1dCBtaXNzaW5nIE1PVkVEX1ZJRVdTIik7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2NvbnN0IG49dFtlXSxvPW5bM107bmdEZXZNb2RlJiZJbyhvKSwwPT0oMTAyNCZuWzJdKSYmeWkobywxKSxuWzJdfD0xMDI0fX19KShlKSwoZnVuY3Rpb24gcyh0KXtmb3IobGV0IGU9SWwodCk7bnVsbCE9PWU7ZT1IbChlKSlmb3IobGV0IHQ9T287dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XSxvPW5bMV07bmdEZXZNb2RlJiZ4bihvLCJUVmlldyBtdXN0IGJlIGFsbG9jYXRlZCIpLGdpKG4pJiZ4ZChvLG4sby50ZW1wbGF0ZSxuWzhdKX19KShlKSxudWxsIT09dC5jb250ZW50UXVlcmllcyYmYmQodCxlKSwhYSlpZihyKXtjb25zdCBuPXQuY29udGVudENoZWNrSG9va3M7bnVsbCE9PW4mJnNhKGUsbil9ZWxzZXtjb25zdCBuPXQuY29udGVudEhvb2tzO251bGwhPT1uJiZsYShlLG4sMSksY2EoZSwxKX0hKGZ1bmN0aW9uIGwodCxlKXtjb25zdCBuPXQuaG9zdEJpbmRpbmdPcENvZGVzO2lmKG51bGwhPT1uKXRyeXtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7Y29uc3Qgbz1uW3RdO2lmKG88MCllYSh+byk7ZWxzZXtjb25zdCBpPW8sYT1uWysrdF0scj1uWysrdF07QmkoYSxpKSxyKDIsZVtpXSl9fX1maW5hbGx5e2VhKC0xKX19KSh0LGUpO2NvbnN0IHM9dC5jb21wb25lbnRzO251bGwhPT1zJiYoZnVuY3Rpb24gYyh0LGUpe2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKSRkKHQsZVtuXSl9KShlLHMpO2NvbnN0IGw9dC52aWV3UXVlcnk7aWYobnVsbCE9PWwmJnNwKDIsbCxvKSwhYSlpZihyKXtjb25zdCBuPXQudmlld0NoZWNrSG9va3M7bnVsbCE9PW4mJnNhKGUsbil9ZWxzZXtjb25zdCBuPXQudmlld0hvb2tzO251bGwhPT1uJiZsYShlLG4sMiksY2EoZSwyKX0hMD09PXQuZmlyc3RVcGRhdGVQYXNzJiYodC5maXJzdFVwZGF0ZVBhc3M9ITEpLGF8fChlWzJdJj0tNzMpLDEwMjQmZVsyXSYmKGVbMl0mPS0xMDI1LHlpKGVbM10sLTEpKX1maW5hbGx5e1FpKCl9fWZ1bmN0aW9uIE9kKHQsZSxuLG8pe2NvbnN0IGk9ZVsxMF0sYT0hQWkoKSxyPXVpKGUpO3RyeXthJiYhciYmaS5iZWdpbiYmaS5iZWdpbigpLHImJnZkKHQsZSxvKSx4ZCh0LGUsbixvKX1maW5hbGx5e2EmJiFyJiZpLmVuZCYmaS5lbmQoKX19ZnVuY3Rpb24gUGQodCxlLG4sbyxpKXtjb25zdCBhPXRhKCkscj0yJm87dHJ5e2VhKC0xKSxyJiZlLmxlbmd0aD52byYmUmModCxlLHZvLEFpKCkpO3RpKHI/MjowLGkpLG4obyxpKX1maW5hbGx5e2VhKGEpO3RpKHI/MzoxLGkpfX1mdW5jdGlvbiB3ZCh0LGUsbil7aWYoa28oZSkpe2NvbnN0IG89ZS5kaXJlY3RpdmVFbmQ7Zm9yKGxldCBpPWUuZGlyZWN0aXZlU3RhcnQ7aTxvO2krKyl7Y29uc3QgZT10LmRhdGFbaV07ZS5jb250ZW50UXVlcmllcyYmZS5jb250ZW50UXVlcmllcygxLG5baV0saSl9fX1mdW5jdGlvbiBrZCh0LGUsbil7Q2koKSYmKCEoZnVuY3Rpb24gbyh0LGUsbixpKXtjb25zdCBhPW4uZGlyZWN0aXZlU3RhcnQscj1uLmRpcmVjdGl2ZUVuZDt0LmZpcnN0Q3JlYXRlUGFzc3x8a2EobixlKTthbChpLGUpO2NvbnN0IHM9bi5pbml0aWFsSW5wdXRzO2ZvcihsZXQgbz1hO288cjtvKyspe2NvbnN0IGk9dC5kYXRhW29dLHI9Um8oaSk7ciYmKG5nRGV2TW9kZSYmZ2EobiwzKSxZZChlLG4saSkpO2NvbnN0IGw9TGEoZSx0LG8sbik7aWYoYWwobCxlKSxudWxsIT09cyYmWGQoZSxvLWEsbCxpLG4scykscil7Zmkobi5pbmRleCxlKVs4XT1sfX19KSh0LGUsbixkaShuLGUpKSwxMjg9PSgxMjgmbi5mbGFncykmJihmdW5jdGlvbiBpKHQsZSxuKXtjb25zdCBvPW4uZGlyZWN0aXZlU3RhcnQsaT1uLmRpcmVjdGl2ZUVuZDtjb25zdCBhPW4uaW5kZXgscj0oZnVuY3Rpb24gcygpe3JldHVybiBfaS5sRnJhbWUuY3VycmVudERpcmVjdGl2ZUluZGV4fSkoKTt0cnl7ZWEoYSk7Zm9yKGxldCBuPW87bjxpO24rKyl7Y29uc3Qgbz10LmRhdGFbbl0saT1lW25dO1ZpKG4pLG51bGw9PT1vLmhvc3RCaW5kaW5ncyYmMD09PW8uaG9zdFZhcnMmJm51bGw9PT1vLmhvc3RBdHRyc3x8VmQobyxpKX19ZmluYWxseXtlYSgtMSksVmkocil9fSkodCxlLG4pKX1mdW5jdGlvbiBTZCh0LGUsbj1kaSl7Y29uc3Qgbz1lLmxvY2FsTmFtZXM7aWYobnVsbCE9PW8pe2xldCBpPWUuaW5kZXgrMTtmb3IobGV0IGE9MDthPG8ubGVuZ3RoO2ErPTIpe2NvbnN0IHI9b1thKzFdLHM9LTE9PT1yP24oZSx0KTp0W3JdO3RbaSsrXT1zfX19ZnVuY3Rpb24gRGQodCl7Y29uc3QgZT10LnRWaWV3O2lmKG51bGw9PT1lfHxlLmluY29tcGxldGVGaXJzdFBhc3Mpe3JldHVybiB0LnRWaWV3PVJkKDEsbnVsbCx0LnRlbXBsYXRlLHQuZGVjbHMsdC52YXJzLHQuZGlyZWN0aXZlRGVmcyx0LnBpcGVEZWZzLHQudmlld1F1ZXJ5LHQuc2NoZW1hcyx0LmNvbnN0cyl9cmV0dXJuIGV9ZnVuY3Rpb24gUmQodCxlLG4sbyxpLGEscixzLGwsYyl7bmdEZXZNb2RlJiZuZ0Rldk1vZGUudFZpZXcrKztjb25zdCBkPXZvK28scD1kK2ksbT0oZnVuY3Rpb24gZih0LGUpe2NvbnN0IG49bmdEZXZNb2RlP25ldyBRYzpbXTtmb3IobGV0IG89MDtvPGU7bysrKW4ucHVzaChvPHQ/bnVsbDpTYyk7cmV0dXJuIG59KShkLHApLHU9ImZ1bmN0aW9uIj09dHlwZW9mIGM/YygpOmMsZz1tWzFdPW5nRGV2TW9kZT9uZXcgY2xhc3N7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoLGIseSxfLEMsTSx2LHgsTyxQLHcsayxTLEQsUixFKXt0aGlzLnR5cGU9dCx0aGlzLmJsdWVwcmludD1lLHRoaXMudGVtcGxhdGU9bix0aGlzLnF1ZXJpZXM9byx0aGlzLnZpZXdRdWVyeT1pLHRoaXMuZGVjbFROb2RlPWEsdGhpcy5kYXRhPXIsdGhpcy5iaW5kaW5nU3RhcnRJbmRleD1zLHRoaXMuZXhwYW5kb1N0YXJ0SW5kZXg9bCx0aGlzLmhvc3RCaW5kaW5nT3BDb2Rlcz1jLHRoaXMuZmlyc3RDcmVhdGVQYXNzPWQsdGhpcy5maXJzdFVwZGF0ZVBhc3M9cCx0aGlzLnN0YXRpY1ZpZXdRdWVyaWVzPW0sdGhpcy5zdGF0aWNDb250ZW50UXVlcmllcz1mLHRoaXMucHJlT3JkZXJIb29rcz11LHRoaXMucHJlT3JkZXJDaGVja0hvb2tzPWcsdGhpcy5jb250ZW50SG9va3M9aCx0aGlzLmNvbnRlbnRDaGVja0hvb2tzPWIsdGhpcy52aWV3SG9va3M9eSx0aGlzLnZpZXdDaGVja0hvb2tzPV8sdGhpcy5kZXN0cm95SG9va3M9Qyx0aGlzLmNsZWFudXA9TSx0aGlzLmNvbnRlbnRRdWVyaWVzPXYsdGhpcy5jb21wb25lbnRzPXgsdGhpcy5kaXJlY3RpdmVSZWdpc3RyeT1PLHRoaXMucGlwZVJlZ2lzdHJ5PVAsdGhpcy5maXJzdENoaWxkPXcsdGhpcy5zY2hlbWFzPWssdGhpcy5jb25zdHM9Uyx0aGlzLmluY29tcGxldGVGaXJzdFBhc3M9RCx0aGlzLl9kZWNscz1SLHRoaXMuX3ZhcnM9RX1nZXQgdGVtcGxhdGVfKCl7Y29uc3QgdD1bXTtyZXR1cm4gWGModGhpcy5maXJzdENoaWxkLHQpLHQuam9pbigiIil9Z2V0IHR5cGVfKCl7cmV0dXJuIHhvW3RoaXMudHlwZV18fGBUVmlld1R5cGUuPyR7dGhpcy50eXBlfT9gfX0odCxtLG4sbnVsbCxzLGUsKGZ1bmN0aW9uIGgodCl7cmV0dXJuIHZvaWQgMD09PUpjJiYoSmM9bmV3IEtjKSxKYy5jb25jYXQodCl9KShtKS5maWxsKG51bGwsZCksZCxwLG51bGwsITAsITAsITEsITEsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiZnVuY3Rpb24iPT10eXBlb2YgYT9hKCk6YSwiZnVuY3Rpb24iPT10eXBlb2Ygcj9yKCk6cixudWxsLGwsdSwhMSxvLGkpOnt0eXBlOnQsYmx1ZXByaW50Om0sdGVtcGxhdGU6bixxdWVyaWVzOm51bGwsdmlld1F1ZXJ5OnMsZGVjbFROb2RlOmUsZGF0YTptLnNsaWNlKCkuZmlsbChudWxsLGQpLGJpbmRpbmdTdGFydEluZGV4OmQsZXhwYW5kb1N0YXJ0SW5kZXg6cCxob3N0QmluZGluZ09wQ29kZXM6bnVsbCxmaXJzdENyZWF0ZVBhc3M6ITAsZmlyc3RVcGRhdGVQYXNzOiEwLHN0YXRpY1ZpZXdRdWVyaWVzOiExLHN0YXRpY0NvbnRlbnRRdWVyaWVzOiExLHByZU9yZGVySG9va3M6bnVsbCxwcmVPcmRlckNoZWNrSG9va3M6bnVsbCxjb250ZW50SG9va3M6bnVsbCxjb250ZW50Q2hlY2tIb29rczpudWxsLHZpZXdIb29rczpudWxsLHZpZXdDaGVja0hvb2tzOm51bGwsZGVzdHJveUhvb2tzOm51bGwsY2xlYW51cDpudWxsLGNvbnRlbnRRdWVyaWVzOm51bGwsY29tcG9uZW50czpudWxsLGRpcmVjdGl2ZVJlZ2lzdHJ5OiJmdW5jdGlvbiI9PXR5cGVvZiBhP2EoKTphLHBpcGVSZWdpc3RyeToiZnVuY3Rpb24iPT10eXBlb2Ygcj9yKCk6cixmaXJzdENoaWxkOm51bGwsc2NoZW1hczpsLGNvbnN0czp1LGluY29tcGxldGVGaXJzdFBhc3M6ITF9O3JldHVybiBuZ0Rldk1vZGUmJk9iamVjdC5zZWFsKGcpLGd9ZnVuY3Rpb24gRWQodCxlKXtyZXR1cm4gbmV3IEVycm9yKGBSZW5kZXJlcjogJHt0fSBbJHtzbihlKX1dYCl9ZnVuY3Rpb24gQWQodCxlLG4pe2lmKHJpKHQpKXtyZXR1cm4gdC5zZWxlY3RSb290RWxlbWVudChlLG49PT1Xbi5TaGFkb3dEb20pfWxldCBvPSJzdHJpbmciPT10eXBlb2YgZT90LnF1ZXJ5U2VsZWN0b3IoZSk6ZTtyZXR1cm4gbmdEZXZNb2RlJiYoZnVuY3Rpb24gaSh0LGUpe2lmKCF0KXRocm93IEVkKCJzdHJpbmciPT10eXBlb2YgZT8iSG9zdCBub2RlIHdpdGggc2VsZWN0b3Igbm90IGZvdW5kOiI6Ikhvc3Qgbm9kZSBpcyByZXF1aXJlZDoiLGUpfSkobyxlKSxvLnRleHRDb250ZW50PSIiLG99ZnVuY3Rpb24gVGQodCxlLG4sbyl7Y29uc3QgaT1kcChlKTtudWxsPT09bj8obmdEZXZNb2RlJiZPYmplY3QuZnJlZXplKHBwKHQpKSxpLnB1c2gobykpOihpLnB1c2gobiksdC5maXJzdENyZWF0ZVBhc3MmJnBwKHQpLnB1c2gobyxpLmxlbmd0aC0xKSl9ZnVuY3Rpb24gTmQodCxlLG4pe2ZvcihsZXQgbyBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkobykpe2NvbnN0IGk9dFtvXTsobj1udWxsPT09bj97fTpuKS5oYXNPd25Qcm9wZXJ0eShvKT9uW29dLnB1c2goZSxpKTpuW29dPVtlLGldfXJldHVybiBufWZ1bmN0aW9uIHpkKHQsZSxuLG8saSxhLHIscyl7bmdEZXZNb2RlJiZ5bihpLFNjLCJJbmNvbWluZyB2YWx1ZSBzaG91bGQgbmV2ZXIgYmUgTk9fQ0hBTkdFLiIpO2NvbnN0IGw9ZGkoZSxuKTtsZXQgYyxkPWUuaW5wdXRzO2lmKCFzJiZudWxsIT1kJiYoYz1kW29dKSl1cCh0LG4sYyxvLGkpLFNvKGUpJiYoZnVuY3Rpb24gcCh0LGUpe25nRGV2TW9kZSYmRm8odCk7Y29uc3Qgbj1maShlLHQpOzE2Jm5bMl18fChuWzJdfD02NCl9KShuLGUuaW5kZXgpLG5nRGV2TW9kZSYmKGZ1bmN0aW9uIG0odCxlLG4sbyxpKXtpZig3Jm4pZm9yKGxldCBhPTA7YTxvLmxlbmd0aDthKz0yKUlkKHQsZSxuLG9bYSsxXSxpKX0pKG4sbCxlLnR5cGUsYyxpKTtlbHNlIGlmKDMmZS50eXBlKXtpZihvPShmdW5jdGlvbiBmKHQpe3JldHVybiJjbGFzcyI9PT10PyJjbGFzc05hbWUiOiJmb3IiPT09dD8iaHRtbEZvciI6ImZvcm1hY3Rpb24iPT09dD8iZm9ybUFjdGlvbiI6ImlubmVySHRtbCI9PT10PyJpbm5lckhUTUwiOiJyZWFkb25seSI9PT10PyJyZWFkT25seSI6InRhYmluZGV4Ij09PXQ/InRhYkluZGV4Ijp0fSkobyksbmdEZXZNb2RlKXtpZigoZnVuY3Rpb24gdSh0KXtpZih0LnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgib24iKSl7Y29uc3QgZT1gQmluZGluZyB0byBldmVudCBwcm9wZXJ0eSAnJHt0fScgaXMgZGlzYWxsb3dlZCBmb3Igc2VjdXJpdHkgcmVhc29ucywgcGxlYXNlIHVzZSAoJHt0LnNsaWNlKDIpfSk9Li4uXG5JZiAnJHt0fScgaXMgYSBkaXJlY3RpdmUgaW5wdXQsIG1ha2Ugc3VyZSB0aGUgZGlyZWN0aXZlIGlzIGltcG9ydGVkIGJ5IHRoZSBjdXJyZW50IG1vZHVsZS5gO3Rocm93IG5ldyBFcnJvcihlKX19KShvKSwhKGZ1bmN0aW9uIGcodCxlLG4sbyl7aWYobnVsbD09PXQuc2NoZW1hcylyZXR1cm4hMDtpZihIZCh0LG8udmFsdWUpfHxuIGluIGV8fHlhKG4pKXJldHVybiEwO3JldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgTm9kZXx8bnVsbD09PU5vZGV8fCEoZSBpbnN0YW5jZW9mIE5vZGUpfSkodCxsLG8sZSkpcmV0dXJuIHZvaWQgRmQobyxlKTtuZ0Rldk1vZGUucmVuZGVyZXJTZXRQcm9wZXJ0eSsrfWk9bnVsbCE9cj9yKGksZS52YWx1ZXx8IiIsbyk6aSxyaShhKT9hLnNldFByb3BlcnR5KGwsbyxpKTp5YShvKXx8KGwuc2V0UHJvcGVydHk/bC5zZXRQcm9wZXJ0eShvLGkpOmxbb109aSl9ZWxzZSAxMiZlLnR5cGUmJm5nRGV2TW9kZSYmIUhkKHQsZS52YWx1ZSkmJkZkKG8sZSl9ZnVuY3Rpb24gSWQodCxlLG4sbyxpKXtjb25zdCBhPXRbMTFdO289TWwobyk7Y29uc3Qgcj0oZnVuY3Rpb24gcyh0KXt0cnl7cmV0dXJuIG51bGwhPXQ/dC50b1N0cmluZygpLnNsaWNlKDAsMzApOnR9Y2F0Y2godCl7cmV0dXJuIltFUlJPUl0gRXhjZXB0aW9uIHdoaWxlIHRyeWluZyB0byBzZXJpYWxpemUgdGhlIHZhbHVlIn19KShpKTtpZigzJm4pbnVsbD09aT9yaShhKT9hLnJlbW92ZUF0dHJpYnV0ZShlLG8pOmUucmVtb3ZlQXR0cmlidXRlKG8pOnJpKGEpP2Euc2V0QXR0cmlidXRlKGUsbyxyKTplLnNldEF0dHJpYnV0ZShvLHIpO2Vsc2V7Y29uc3QgdD1fbChgYmluZGluZ3M9JHtKU09OLnN0cmluZ2lmeSh7W29dOnJ9LG51bGwsMil9YCk7cmkoYSk/YS5zZXRWYWx1ZShlLHQpOmUudGV4dENvbnRlbnQ9dH19ZnVuY3Rpb24gSGQodCxlKXtjb25zdCBuPXQuc2NoZW1hcztpZihudWxsIT09bilmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7Y29uc3Qgbz1uW3RdO2lmKG89PT1obHx8bz09PWdsJiZlJiZlLmluZGV4T2YoIi0iKT4tMSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBGZCh0LGUpe2NvbnNvbGUuZXJyb3IoYW4oIjMwMyIsYENhbid0IGJpbmQgdG8gJyR7dH0nIHNpbmNlIGl0IGlzbid0IGEga25vd24gcHJvcGVydHkgb2YgJyR7ZS52YWx1ZX0nLmApKX1mdW5jdGlvbiBMZCh0LGUsbixvKXtuZ0Rldk1vZGUmJkxvKHQpO2xldCBpPSExO2lmKENpKCkpe2NvbnN0IGE9KGZ1bmN0aW9uIGEodCxlLG4pe25nRGV2TW9kZSYmTG8odCksbmdEZXZNb2RlJiZnYShuLDE1KTtjb25zdCBvPXQuZGlyZWN0aXZlUmVnaXN0cnk7bGV0IGk9bnVsbDtpZihvKWZvcihsZXQgYT0wO2E8by5sZW5ndGg7YSsrKXtjb25zdCByPW9bYV07T2MobixyLnNlbGVjdG9ycywhMSkmJihpfHwoaT1uZ0Rldk1vZGU/bmV3ICRjOltdKSxFYShrYShuLGUpLHQsci50eXBlKSxSbyhyKT8obmdEZXZNb2RlJiYoZ2EobiwyLGAiJHtuLnZhbHVlfSIgdGFncyBjYW5ub3QgYmUgdXNlZCBhcyBjb21wb25lbnQgaG9zdHMuIFBsZWFzZSB1c2UgYSBkaWZmZXJlbnQgdGFnIHRvIGFjdGl2YXRlIHRoZSAke0tlKHIudHlwZSl9IGNvbXBvbmVudC5gKSwyJm4uZmxhZ3MmJkRsKG4pKSxqZCh0LG4pLGkudW5zaGlmdChyKSk6aS5wdXNoKHIpKX1yZXR1cm4gaX0pKHQsZSxuKSxyPW51bGw9PT1vP251bGw6eyIiOi0xfTtpZihudWxsIT09YSl7aT0hMCxXZChuLHQuZGF0YS5sZW5ndGgsYS5sZW5ndGgpO2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7dCsrKXtjb25zdCBlPWFbdF07ZS5wcm92aWRlcnNSZXNvbHZlciYmZS5wcm92aWRlcnNSZXNvbHZlcihlKX1sZXQgbz0hMSxzPSExLGw9TWQodCxlLGEubGVuZ3RoLG51bGwpO25nRGV2TW9kZSYmYm4obCxuLmRpcmVjdGl2ZVN0YXJ0LCJUTm9kZS5kaXJlY3RpdmVTdGFydCBzaG91bGQgcG9pbnQgdG8ganVzdCBhbGxvY2F0ZWQgc3BhY2UiKTtmb3IobGV0IGk9MDtpPGEubGVuZ3RoO2krKyl7Y29uc3QgYz1hW2ldO24ubWVyZ2VkQXR0cnM9X2Eobi5tZXJnZWRBdHRycyxjLmhvc3RBdHRycyksR2QodCxuLGUsbCxjKSxVZChsLGMsciksbnVsbCE9PWMuY29udGVudFF1ZXJpZXMmJihuLmZsYWdzfD04KSxudWxsPT09Yy5ob3N0QmluZGluZ3MmJm51bGw9PT1jLmhvc3RBdHRycyYmMD09PWMuaG9zdFZhcnN8fChuLmZsYWdzfD0xMjgpO2NvbnN0IGQ9Yy50eXBlLnByb3RvdHlwZTshbyYmKGQubmdPbkNoYW5nZXN8fGQubmdPbkluaXR8fGQubmdEb0NoZWNrKSYmKCh0LnByZU9yZGVySG9va3N8fCh0LnByZU9yZGVySG9va3M9W10pKS5wdXNoKG4uaW5kZXgpLG89ITApLHN8fCFkLm5nT25DaGFuZ2VzJiYhZC5uZ0RvQ2hlY2t8fCgodC5wcmVPcmRlckNoZWNrSG9va3N8fCh0LnByZU9yZGVyQ2hlY2tIb29rcz1bXSkpLnB1c2gobi5pbmRleCkscz0hMCksbCsrfSEoZnVuY3Rpb24gcih0LGUpe25nRGV2TW9kZSYmTG8odCk7Y29uc3Qgbj1lLmRpcmVjdGl2ZVN0YXJ0LG89ZS5kaXJlY3RpdmVFbmQsaT10LmRhdGEsYT1lLmF0dHJzLHI9bmdEZXZNb2RlP25ldyBuZDpbXTtsZXQgcz1udWxsLGw9bnVsbDtmb3IobGV0IHQ9bjt0PG87dCsrKXtjb25zdCBuPWlbdF0sbz1uLmlucHV0cyxjPW51bGw9PT1hfHxfYyhlKT9udWxsOktkKG8sYSk7ci5wdXNoKGMpLHM9TmQobyx0LHMpLGw9TmQobi5vdXRwdXRzLHQsbCl9bnVsbCE9PXMmJihzLmhhc093blByb3BlcnR5KCJjbGFzcyIpJiYoZS5mbGFnc3w9MTYpLHMuaGFzT3duUHJvcGVydHkoInN0eWxlIikmJihlLmZsYWdzfD0zMikpLGUuaW5pdGlhbElucHV0cz1yLGUuaW5wdXRzPXMsZS5vdXRwdXRzPWx9KSh0LG4pfXImJihmdW5jdGlvbiBzKHQsZSxuKXtpZihlKXtjb25zdCBvPXQubG9jYWxOYW1lcz1uZ0Rldk1vZGU/bmV3IGVkOltdO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCs9Mil7Y29uc3QgaT1uW2VbdCsxXV07aWYobnVsbD09aSl0aHJvdyBuZXcgbm4oIjMwMSIsYEV4cG9ydCBvZiBuYW1lICcke2VbdCsxXX0nIG5vdCBmb3VuZCFgKTtvLnB1c2goZVt0XSxpKX19fSkobixvLHIpfXJldHVybiBuLm1lcmdlZEF0dHJzPV9hKG4ubWVyZ2VkQXR0cnMsbi5hdHRycyksaX1mdW5jdGlvbiBCZCh0LGUsbixvLGksYSl7bmdEZXZNb2RlJiZMbyh0KTtjb25zdCByPWEuaG9zdEJpbmRpbmdzO2lmKHIpe2xldCBuPXQuaG9zdEJpbmRpbmdPcENvZGVzO251bGw9PT1uJiYobj10Lmhvc3RCaW5kaW5nT3BDb2Rlcz1bXSk7Y29uc3QgYT1+ZS5pbmRleDsoZnVuY3Rpb24gcyh0KXtsZXQgZT10Lmxlbmd0aDtmb3IoO2U+MDspe2NvbnN0IG49dFstLWVdO2lmKCJudW1iZXIiPT10eXBlb2YgbiYmbjwwKXJldHVybiBufXJldHVybiAwfSkobikhPWEmJm4ucHVzaChhKSxuLnB1c2gobyxpLHIpfX1mdW5jdGlvbiBWZCh0LGUpe251bGwhPT10Lmhvc3RCaW5kaW5ncyYmdC5ob3N0QmluZGluZ3MoMSxlKX1mdW5jdGlvbiBqZCh0LGUpe25nRGV2TW9kZSYmTG8odCksZS5mbGFnc3w9MiwodC5jb21wb25lbnRzfHwodC5jb21wb25lbnRzPW5nRGV2TW9kZT9uZXcgdGQ6W10pKS5wdXNoKGUuaW5kZXgpfWZ1bmN0aW9uIFVkKHQsZSxuKXtpZihuKXtpZihlLmV4cG9ydEFzKWZvcihsZXQgbz0wO288ZS5leHBvcnRBcy5sZW5ndGg7bysrKW5bZS5leHBvcnRBc1tvXV09dDtSbyhlKSYmKG5bIiJdPXQpfX1mdW5jdGlvbiBXZCh0LGUsbil7bmdEZXZNb2RlJiZobihuLHQuZGlyZWN0aXZlRW5kLXQuZGlyZWN0aXZlU3RhcnQsIlJlYWNoZWQgdGhlIG1heCBudW1iZXIgb2YgZGlyZWN0aXZlcyIpLHQuZmxhZ3N8PTEsdC5kaXJlY3RpdmVTdGFydD1lLHQuZGlyZWN0aXZlRW5kPWUrbix0LnByb3ZpZGVySW5kZXhlcz1lfWZ1bmN0aW9uIEdkKHQsZSxuLG8saSl7bmdEZXZNb2RlJiZ2bihvLHZvLCJNdXN0IGJlIGluIEV4cGFuZG8gc2VjdGlvbiIpLHQuZGF0YVtvXT1pO2NvbnN0IGE9aS5mYWN0b3J5fHwoaS5mYWN0b3J5PUdvKGkudHlwZSwhMCkpLHI9bmV3IGZhKGEsUm8oaSksbnVsbCk7dC5ibHVlcHJpbnRbb109cixuW29dPXIsQmQodCxlLDAsbyxNZCh0LG4saS5ob3N0VmFycyxTYyksaSl9ZnVuY3Rpb24gWWQodCxlLG4pe2NvbnN0IG89ZGkoZSx0KSxpPURkKG4pLGE9dFsxMF0scj1ucCh0LHlkKHQsaSxudWxsLG4ub25QdXNoPzY0OjE2LG8sZSxhLGEuY3JlYXRlUmVuZGVyZXIobyxuKSxudWxsLG51bGwpKTt0W2UuaW5kZXhdPXJ9ZnVuY3Rpb24gcWQodCxlLG4sbyxpLGEpe25nRGV2TW9kZSYmKHluKG8sU2MsIkluY29taW5nIHZhbHVlIHNob3VsZCBuZXZlciBiZSBOT19DSEFOR0UuIiksKGZ1bmN0aW9uIHIodCl7aWYodC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoIm9uIikpe2NvbnN0IGU9YEJpbmRpbmcgdG8gZXZlbnQgYXR0cmlidXRlICcke3R9JyBpcyBkaXNhbGxvd2VkIGZvciBzZWN1cml0eSByZWFzb25zLCBwbGVhc2UgdXNlICgke3Quc2xpY2UoMil9KT0uLi5gO3Rocm93IG5ldyBFcnJvcihlKX19KShuKSxnYSh0LDIsYEF0dGVtcHRlZCB0byBzZXQgYXR0cmlidXRlIFxgJHtufVxgIG9uIGEgY29udGFpbmVyIG5vZGUuIEhvc3QgYmluZGluZ3MgYXJlIG5vdCB2YWxpZCBvbiBuZy1jb250YWluZXIgb3IgbmctdGVtcGxhdGUuYCkpO2NvbnN0IHM9ZGkodCxlKTtaZChlWzExXSxzLGEsdC52YWx1ZSxuLG8saSl9ZnVuY3Rpb24gWmQodCxlLG4sbyxpLGEscil7aWYobnVsbD09YSluZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlclJlbW92ZUF0dHJpYnV0ZSsrLHJpKHQpP3QucmVtb3ZlQXR0cmlidXRlKGUsaSxuKTplLnJlbW92ZUF0dHJpYnV0ZShpKTtlbHNle25nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyU2V0QXR0cmlidXRlKys7Y29uc3Qgcz1udWxsPT1yP3JuKGEpOnIoYSxvfHwiIixpKTtyaSh0KT90LnNldEF0dHJpYnV0ZShlLGkscyxuKTpuP2Uuc2V0QXR0cmlidXRlTlMobixpLHMpOmUuc2V0QXR0cmlidXRlKGkscyl9fWZ1bmN0aW9uIFhkKHQsZSxuLG8saSxhKXtjb25zdCByPWFbZV07aWYobnVsbCE9PXIpe2NvbnN0IGU9by5zZXRJbnB1dDtmb3IobGV0IGE9MDthPHIubGVuZ3RoOyl7Y29uc3Qgcz1yW2ErK10sbD1yW2ErK10sYz1yW2ErK107aWYobnVsbCE9PWU/by5zZXRJbnB1dChuLGMscyxsKTpuW2xdPWMsbmdEZXZNb2RlKXtJZCh0LGRpKGksdCksaS50eXBlLGwsYyl9fX19ZnVuY3Rpb24gS2QodCxlKXtsZXQgbj1udWxsLG89MDtmb3IoO288ZS5sZW5ndGg7KXtjb25zdCBpPWVbb107aWYoMCE9PWkpaWYoNSE9PWkpe2lmKCJudW1iZXIiPT10eXBlb2YgaSlicmVhazt0Lmhhc093blByb3BlcnR5KGkpJiYobnVsbD09PW4mJihuPVtdKSxuLnB1c2goaSx0W2ldLGVbbysxXSkpLG8rPTJ9ZWxzZSBvKz0yO2Vsc2Ugbys9NH1yZXR1cm4gbn1jb25zdCBKZD0oInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJktuKCkmJkNsKCJMQ29udGFpbmVyIik7ZnVuY3Rpb24gUWQodCxlLG4sbyl7bmdEZXZNb2RlJiZGbyhlKSxuZ0Rldk1vZGUmJiFyaShlWzExXSkmJlBuKG4pO2NvbnN0IGk9bmV3KG5nRGV2TW9kZT9KZDpBcnJheSkodCwhMCwhMSxlLG51bGwsMCxvLG4sbnVsbCxudWxsKTtyZXR1cm4gbmdEZXZNb2RlJiZnbihpLmxlbmd0aCxPbywiU2hvdWxkIGFsbG9jYXRlIGNvcnJlY3QgbnVtYmVyIG9mIHNsb3RzIGZvciBMQ29udGFpbmVyIGhlYWRlci4iKSxuZ0Rldk1vZGUmJihmdW5jdGlvbiBhKHQpe0xjKHQsbmV3IGdkKHQpKX0pKGkpLGl9ZnVuY3Rpb24gJGQodCxlKXtuZ0Rldk1vZGUmJmduKHVpKHQpLCExLCJTaG91bGQgYmUgcnVuIGluIHVwZGF0ZSBtb2RlIik7Y29uc3Qgbj1maShlLHQpO2lmKGdpKG4pKXtjb25zdCB0PW5bMV07ODAmblsyXT94ZCh0LG4sdC50ZW1wbGF0ZSxuWzhdKTpuWzVdPjAmJnRwKG4pfX1mdW5jdGlvbiB0cCh0KXtmb3IobGV0IGU9SWwodCk7bnVsbCE9PWU7ZT1IbChlKSlmb3IobGV0IHQ9T287dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XTtpZigxMDI0Jm5bMl0pe2NvbnN0IHQ9blsxXTtuZ0Rldk1vZGUmJnhuKHQsIlRWaWV3IG11c3QgYmUgYWxsb2NhdGVkIikseGQodCxuLHQudGVtcGxhdGUsbls4XSl9ZWxzZSBuWzVdPjAmJnRwKG4pfWNvbnN0IGU9dFsxXS5jb21wb25lbnRzO2lmKG51bGwhPT1lKWZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXtjb25zdCBvPWZpKGVbbl0sdCk7Z2kobykmJm9bNV0+MCYmdHAobyl9fWZ1bmN0aW9uIGVwKHQsZSl7bmdEZXZNb2RlJiZnbih1aSh0KSwhMCwiU2hvdWxkIGJlIHJ1biBpbiBjcmVhdGlvbiBtb2RlIik7Y29uc3Qgbj1maShlLHQpLG89blsxXTshKGZ1bmN0aW9uIGkodCxlKXtmb3IobGV0IG49ZS5sZW5ndGg7bjx0LmJsdWVwcmludC5sZW5ndGg7bisrKWUucHVzaCh0LmJsdWVwcmludFtuXSl9KShvLG4pLHZkKG8sbixuWzhdKX1mdW5jdGlvbiBucCh0LGUpe3JldHVybiB0WzEzXT90WzE0XVs0XT1lOnRbMTNdPWUsdFsxNF09ZSxlfWZ1bmN0aW9uIG9wKHQpe2Zvcig7dDspe3RbMl18PTY0O2NvbnN0IGU9TmwodCk7aWYoMCE9KDUxMiZ0WzJdKSYmIWUpcmV0dXJuIHQ7dD1lfXJldHVybiBudWxsfWZ1bmN0aW9uIGlwKHQpe2ZvcihsZXQgZT0wO2U8dC5jb21wb25lbnRzLmxlbmd0aDtlKyspe2NvbnN0IG49dC5jb21wb25lbnRzW2VdLG89c2wobiksaT1vWzFdO09kKGksbyxpLnRlbXBsYXRlLG4pfX1mdW5jdGlvbiBhcCh0LGUsbil7Y29uc3Qgbz1lWzEwXTtvLmJlZ2luJiZvLmJlZ2luKCk7dHJ5e3hkKHQsZSx0LnRlbXBsYXRlLG4pfWNhdGNoKHQpe3Rocm93IGZwKGUsdCksdH1maW5hbGx5e28uZW5kJiZvLmVuZCgpfX1mdW5jdGlvbiBycCh0KXtpcCh0WzhdKX1mdW5jdGlvbiBzcCh0LGUsbil7bmdEZXZNb2RlJiZ4bihlLCJWaWV3IHF1ZXJpZXMgZnVuY3Rpb24gdG8gZXhlY3V0ZSBtdXN0IGJlIGRlZmluZWQuIiksV2koMCksZSh0LG4pfWZ1bmN0aW9uIGxwKHQsZSxuLG8sLi4uaSl7aWYobnVsbD09PXRbb10mJihudWxsPT1lLmlucHV0c3x8IWUuaW5wdXRzW25dKSl7KGUucHJvcGVydHlCaW5kaW5nc3x8KGUucHJvcGVydHlCaW5kaW5ncz1bXSkpLnB1c2gobyk7bGV0IGE9bjtpLmxlbmd0aD4wJiYoYSs9a2wraS5qb2luKGtsKSksdFtvXT1hfX1jb25zdCBjcD1oZDtmdW5jdGlvbiBkcCh0KXtyZXR1cm4gdFs3XXx8KHRbN109bmdEZXZNb2RlP25ldyBvZDpbXSl9ZnVuY3Rpb24gcHAodCl7cmV0dXJuIHQuY2xlYW51cHx8KHQuY2xlYW51cD1uZ0Rldk1vZGU/bmV3IGlkOltdKX1mdW5jdGlvbiBtcCh0LGUsbil7cmV0dXJuKG51bGw9PT10fHxSbyh0KSkmJihuPShmdW5jdGlvbiBvKHQpe2Zvcig7QXJyYXkuaXNBcnJheSh0KTspe2lmKCJvYmplY3QiPT10eXBlb2YgdFsxXSlyZXR1cm4gdDt0PXRbMF19cmV0dXJuIG51bGx9KShuW2UuaW5kZXhdKSksblsxMV19ZnVuY3Rpb24gZnAodCxlKXtjb25zdCBuPXRbOV0sbz1uP24uZ2V0KHVsLG51bGwpOm51bGw7byYmby5oYW5kbGVFcnJvcihlKX1mdW5jdGlvbiB1cCh0LGUsbixvLGkpe2ZvcihsZXQgYT0wO2E8bi5sZW5ndGg7KXtjb25zdCByPW5bYSsrXSxzPW5bYSsrXSxsPWVbcl07bmdEZXZNb2RlJiZ3bihlLHIpO2NvbnN0IGM9dC5kYXRhW3JdO251bGwhPT1jLnNldElucHV0P2Muc2V0SW5wdXQobCxpLG8scyk6bFtzXT1pfX1mdW5jdGlvbiBncCh0LGUsbil7bmdEZXZNb2RlJiZmbihuLCJWYWx1ZSBzaG91bGQgYmUgYSBzdHJpbmciKSxuZ0Rldk1vZGUmJnluKG4sU2MsInZhbHVlIHNob3VsZCBub3QgYmUgTk9fQ0hBTkdFIiksbmdEZXZNb2RlJiZ3bih0LGUpO2NvbnN0IG89Y2koZSx0KTtuZ0Rldk1vZGUmJnhuKG8sIm5hdGl2ZSBlbGVtZW50IHNob3VsZCBleGlzdCIpLFZsKHRbMTFdLG8sbil9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIGhwKHQsZSxuKXtuZ0Rldk1vZGUmJkxvKE9pKCksIkV4cGVjdGluZyB0byBiZSBjYWxsZWQgaW4gZmlyc3QgdGVtcGxhdGUgcGFzcyBvbmx5Iik7bGV0IG89bj90LnN0eWxlczpudWxsLGk9bj90LmNsYXNzZXM6bnVsbCxhPTA7aWYobnVsbCE9PWUpZm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XTtpZigibnVtYmVyIj09dHlwZW9mIG4pYT1uO2Vsc2UgaWYoMT09YSlpPUplKGksbik7ZWxzZSBpZigyPT1hKXtvPUplKG8sbisiOiAiK2VbKyt0XSsiOyIpfX1uP3Quc3R5bGVzPW86dC5zdHlsZXNXaXRob3V0SG9zdD1vLG4/dC5jbGFzc2VzPWk6dC5jbGFzc2VzV2l0aG91dEhvc3Q9aX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gYnAodCl7bmdEZXZNb2RlJiZ4bih0LCJjb21wb25lbnQiKTtjb25zdCBlPW9wKGlsKHQpKTtuZ0Rldk1vZGUmJnhuKGVbOF0sInJvb3RDb250ZXh0IHNob3VsZCBiZSBkZWZpbmVkIiksKGZ1bmN0aW9uIG4odCxlKXtpZigwPT09dC5mbGFncyYmdC5jbGVhbj09aGQpe2xldCBuO3QuZmxhZ3N8PWUsdC5jbGVhbj1uZXcgUHJvbWlzZSgodD0+bj10KSksdC5zY2hlZHVsZXIoKCgpPT57aWYoMSZ0LmZsYWdzJiYodC5mbGFncyY9LTIsaXAodCkpLDImdC5mbGFncyl7dC5mbGFncyY9LTM7Y29uc3QgZT10LnBsYXllckhhbmRsZXI7ZSYmZS5mbHVzaFBsYXllcnMoKX10LmNsZWFuPWhkLG4obnVsbCl9KSl9fSkoZVs4XSwxKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgeXA9bmV3IGVyKCJJTkpFQ1RPUiIsLTEpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBfcHtnZXQodCxlPXdyKXtpZihlPT09d3Ipe2NvbnN0IGU9bmV3IEVycm9yKGBOdWxsSW5qZWN0b3JFcnJvcjogTm8gcHJvdmlkZXIgZm9yICR7S2UodCl9IWApO3Rocm93IGUubmFtZT0iTnVsbEluamVjdG9yRXJyb3IiLGV9cmV0dXJuIGV9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBDcD1uZXcgZXIoIlNldCBJbmplY3RvciBzY29wZS4iKSxNcD17fSx2cD17fTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovbGV0IHhwO2Z1bmN0aW9uIE9wKCl7cmV0dXJuIHZvaWQgMD09PXhwJiYoeHA9bmV3IF9wKSx4cH1mdW5jdGlvbiBQcCh0LGU9bnVsbCxuPW51bGwsbyl7cmV0dXJuIG5ldyB3cCh0LG4sZXx8T3AoKSxvKX1jbGFzcyB3cHtjb25zdHJ1Y3Rvcih0LGUsbixvPW51bGwpe3RoaXMucGFyZW50PW4sdGhpcy5yZWNvcmRzPW5ldyBNYXAsdGhpcy5pbmplY3RvckRlZlR5cGVzPW5ldyBTZXQsdGhpcy5vbkRlc3Ryb3k9bmV3IFNldCx0aGlzLl9kZXN0cm95ZWQ9ITE7Y29uc3QgaT1bXTtlJiZtcihlLChuPT50aGlzLnByb2Nlc3NQcm92aWRlcihuLHQsZSkpKSxtcihbdF0sKHQ9PnRoaXMucHJvY2Vzc0luamVjdG9yVHlwZSh0LFtdLGkpKSksdGhpcy5yZWNvcmRzLnNldCh5cCxEcCh2b2lkIDAsdGhpcykpO2NvbnN0IGE9dGhpcy5yZWNvcmRzLmdldChDcCk7dGhpcy5zY29wZT1udWxsIT1hP2EudmFsdWU6bnVsbCx0aGlzLnNvdXJjZT1vfHwoIm9iamVjdCI9PXR5cGVvZiB0P251bGw6S2UodCkpfWdldCBkZXN0cm95ZWQoKXtyZXR1cm4gdGhpcy5fZGVzdHJveWVkfWRlc3Ryb3koKXt0aGlzLmFzc2VydE5vdERlc3Ryb3llZCgpLHRoaXMuX2Rlc3Ryb3llZD0hMDt0cnl7dGhpcy5vbkRlc3Ryb3kuZm9yRWFjaCgodD0+dC5uZ09uRGVzdHJveSgpKSl9ZmluYWxseXt0aGlzLnJlY29yZHMuY2xlYXIoKSx0aGlzLm9uRGVzdHJveS5jbGVhcigpLHRoaXMuaW5qZWN0b3JEZWZUeXBlcy5jbGVhcigpfX1nZXQodCxlPXdyLG49SG4uRGVmYXVsdCl7dGhpcy5hc3NlcnROb3REZXN0cm95ZWQoKTtjb25zdCBvPUVyKHRoaXMpLGk9TG4odm9pZCAwKTt0cnl7aWYoIShuJkhuLlNraXBTZWxmKSl7bGV0IGU9dGhpcy5yZWNvcmRzLmdldCh0KTtpZih2b2lkIDA9PT1lKXtjb25zdCBuPShmdW5jdGlvbiBvKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fHwib2JqZWN0Ij09dHlwZW9mIHQmJnQgaW5zdGFuY2VvZiBlcn0pKHQpJiZSbih0KTtlPW4mJnRoaXMuaW5qZWN0YWJsZURlZkluU2NvcGUobik/RHAoa3AodCksTXApOm51bGwsdGhpcy5yZWNvcmRzLnNldCh0LGUpfWlmKG51bGwhPWUpcmV0dXJuIHRoaXMuaHlkcmF0ZSh0LGUpfXJldHVybihuJkhuLlNlbGY/T3AoKTp0aGlzLnBhcmVudCkuZ2V0KHQsZT1uJkhuLk9wdGlvbmFsJiZlPT09d3I/bnVsbDplKX1jYXRjaChlKXtpZigiTnVsbEluamVjdG9yRXJyb3IiPT09ZS5uYW1lKXtpZigoZS5uZ1RlbXBUb2tlblBhdGg9ZS5uZ1RlbXBUb2tlblBhdGh8fFtdKS51bnNoaWZ0KEtlKHQpKSxvKXRocm93IGU7cmV0dXJuIEZyKGUsdCwiUjNJbmplY3RvckVycm9yIix0aGlzLnNvdXJjZSl9dGhyb3cgZX1maW5hbGx5e0xuKGkpLEVyKG8pfX1fcmVzb2x2ZUluamVjdG9yRGVmVHlwZXMoKXt0aGlzLmluamVjdG9yRGVmVHlwZXMuZm9yRWFjaCgodD0+dGhpcy5nZXQodCkpKX10b1N0cmluZygpe2NvbnN0IHQ9W107cmV0dXJuIHRoaXMucmVjb3Jkcy5mb3JFYWNoKCgoZSxuKT0+dC5wdXNoKEtlKG4pKSkpLGBSM0luamVjdG9yWyR7dC5qb2luKCIsICIpfV1gfWFzc2VydE5vdERlc3Ryb3llZCgpe2lmKHRoaXMuX2Rlc3Ryb3llZCl0aHJvdyBuZXcgRXJyb3IoIkluamVjdG9yIGhhcyBhbHJlYWR5IGJlZW4gZGVzdHJveWVkLiIpfXByb2Nlc3NJbmplY3RvclR5cGUodCxlLG4pe2lmKCEodD10bih0KSkpcmV0dXJuITE7bGV0IG89QW4odCk7Y29uc3QgaT1udWxsPT1vJiZ0Lm5nTW9kdWxlfHx2b2lkIDAsYT12b2lkIDA9PT1pP3Q6aTtpZihuZ0Rldk1vZGUmJi0xIT09ZS5pbmRleE9mKGEpKXtsbihLZShhKSxlLm1hcChLZSkpfWNvbnN0IHI9LTEhPT1uLmluZGV4T2YoYSk7aWYodm9pZCAwIT09aSYmKG89QW4oaSkpLG51bGw9PW8pcmV0dXJuITE7aWYobnVsbCE9by5pbXBvcnRzJiYhcil7bGV0IHQ7bmdEZXZNb2RlJiZlLnB1c2goYSksbi5wdXNoKGEpO3RyeXttcihvLmltcG9ydHMsKG89Pnt0aGlzLnByb2Nlc3NJbmplY3RvclR5cGUobyxlLG4pJiYodm9pZCAwPT09dCYmKHQ9W10pLHQucHVzaChvKSl9KSl9ZmluYWxseXtuZ0Rldk1vZGUmJmUucG9wKCl9aWYodm9pZCAwIT09dClmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7Y29uc3R7bmdNb2R1bGU6bixwcm92aWRlcnM6b309dFtlXTttcihvLCh0PT50aGlzLnByb2Nlc3NQcm92aWRlcih0LG4sb3x8UW4pKSl9fXRoaXMuaW5qZWN0b3JEZWZUeXBlcy5hZGQoYSk7Y29uc3Qgcz1HbyhhKXx8KCgpPT5uZXcgYSk7dGhpcy5yZWNvcmRzLnNldChhLERwKHMsTXApKTtjb25zdCBsPW8ucHJvdmlkZXJzO2lmKG51bGwhPWwmJiFyKXtjb25zdCBlPXQ7bXIobCwodD0+dGhpcy5wcm9jZXNzUHJvdmlkZXIodCxlLGwpKSl9cmV0dXJuIHZvaWQgMCE9PWkmJnZvaWQgMCE9PXQucHJvdmlkZXJzfXByb2Nlc3NQcm92aWRlcih0LGUsbil7bGV0IG89RXAodD10bih0KSk/dDp0bih0JiZ0LnByb3ZpZGUpO2NvbnN0IGk9KGZ1bmN0aW9uIGEodCxlLG4pe2lmKFJwKHQpKXJldHVybiBEcCh2b2lkIDAsdC51c2VWYWx1ZSk7cmV0dXJuIERwKFNwKHQsZSxuKSxNcCl9KSh0LGUsbik7aWYoRXAodCl8fCEwIT09dC5tdWx0aSl7Y29uc3QgdD10aGlzLnJlY29yZHMuZ2V0KG8pO25nRGV2TW9kZSYmdCYmdm9pZCAwIT09dC5tdWx0aSYmY24oKX1lbHNle2xldCBlPXRoaXMucmVjb3Jkcy5nZXQobyk7ZT9uZ0Rldk1vZGUmJnZvaWQgMD09PWUubXVsdGkmJmNuKCk6KGU9RHAodm9pZCAwLE1wLCEwKSxlLmZhY3Rvcnk9KCk9PklyKGUubXVsdGkpLHRoaXMucmVjb3Jkcy5zZXQobyxlKSksbz10LGUubXVsdGkucHVzaCh0KX10aGlzLnJlY29yZHMuc2V0KG8saSl9aHlkcmF0ZSh0LGUpe3JldHVybiBuZ0Rldk1vZGUmJmUudmFsdWU9PT12cD9sbihLZSh0KSk6ZS52YWx1ZT09PU1wJiYoZS52YWx1ZT12cCxlLnZhbHVlPWUuZmFjdG9yeSgpKSwib2JqZWN0Ij09dHlwZW9mIGUudmFsdWUmJmUudmFsdWUmJihmdW5jdGlvbiBuKHQpe3JldHVybiBudWxsIT09dCYmIm9iamVjdCI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC5uZ09uRGVzdHJveX0pKGUudmFsdWUpJiZ0aGlzLm9uRGVzdHJveS5hZGQoZS52YWx1ZSksZS52YWx1ZX1pbmplY3RhYmxlRGVmSW5TY29wZSh0KXtpZighdC5wcm92aWRlZEluKXJldHVybiExO2NvbnN0IGU9dG4odC5wcm92aWRlZEluKTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ImFueSI9PT1lfHxlPT09dGhpcy5zY29wZTp0aGlzLmluamVjdG9yRGVmVHlwZXMuaGFzKGUpfX1mdW5jdGlvbiBrcCh0KXtjb25zdCBlPVJuKHQpLG49bnVsbCE9PWU/ZS5mYWN0b3J5OkdvKHQpO2lmKG51bGwhPT1uKXJldHVybiBuO2lmKHQgaW5zdGFuY2VvZiBlcil0aHJvdyBuZXcgRXJyb3IoYFRva2VuICR7S2UodCl9IGlzIG1pc3NpbmcgYSDJtXByb3YgZGVmaW5pdGlvbi5gKTtpZih0IGluc3RhbmNlb2YgRnVuY3Rpb24pcmV0dXJuKGZ1bmN0aW9uIG8odCl7Y29uc3QgZT10Lmxlbmd0aDtpZihlPjApe2NvbnN0IG49Z3IoZSwiPyIpO3Rocm93IG5ldyBFcnJvcihgQ2FuJ3QgcmVzb2x2ZSBhbGwgcGFyYW1ldGVycyBmb3IgJHtLZSh0KX06ICgke24uam9pbigiLCAiKX0pLmApfWNvbnN0IG49KGZ1bmN0aW9uIG8odCl7Y29uc3QgZT10JiYodFtUbl18fHRbem5dKTtpZihlKXtjb25zdCBuPShmdW5jdGlvbiBuKHQpe2lmKHQuaGFzT3duUHJvcGVydHkoIm5hbWUiKSlyZXR1cm4gdC5uYW1lO2NvbnN0IGU9KCIiK3QpLm1hdGNoKC9eZnVuY3Rpb25ccyooW15ccyhdKykvKTtyZXR1cm4gbnVsbD09PWU/IiI6ZVsxXX0pKHQpO3JldHVybiBjb25zb2xlLndhcm4oYERFUFJFQ0FURUQ6IERJIGlzIGluc3RhbnRpYXRpbmcgYSB0b2tlbiAiJHtufSIgdGhhdCBpbmhlcml0cyBpdHMgQEluamVjdGFibGUgZGVjb3JhdG9yIGJ1dCBkb2VzIG5vdCBwcm92aWRlIG9uZSBpdHNlbGYuXG5UaGlzIHdpbGwgYmVjb21lIGFuIGVycm9yIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgQW5ndWxhci4gUGxlYXNlIGFkZCBASW5qZWN0YWJsZSgpIHRvIHRoZSAiJHtufSIgY2xhc3MuYCksZX1yZXR1cm4gbnVsbH0pKHQpO3JldHVybiBudWxsIT09bj8oKT0+bi5mYWN0b3J5KHQpOigpPT5uZXcgdH0pKHQpO3Rocm93IG5ldyBFcnJvcigidW5yZWFjaGFibGUiKX1mdW5jdGlvbiBTcCh0LGUsbil7bGV0IG87aWYoRXAodCkpe2NvbnN0IGU9dG4odCk7cmV0dXJuIEdvKGUpfHxrcChlKX1pZihScCh0KSlvPSgpPT50bih0LnVzZVZhbHVlKTtlbHNlIGlmKChmdW5jdGlvbiBpKHQpe3JldHVybiEoIXR8fCF0LnVzZUZhY3RvcnkpfSkodCkpbz0oKT0+dC51c2VGYWN0b3J5KC4uLklyKHQuZGVwc3x8W10pKTtlbHNlIGlmKChmdW5jdGlvbiBhKHQpe3JldHVybiEoIXR8fCF0LnVzZUV4aXN0aW5nKX0pKHQpKW89KCk9PlRyKHRuKHQudXNlRXhpc3RpbmcpKTtlbHNle2NvbnN0IGk9dG4odCYmKHQudXNlQ2xhc3N8fHQucHJvdmlkZSkpO2lmKG5nRGV2TW9kZSYmIWkmJihmdW5jdGlvbiByKHQsZSxuKXtsZXQgbz0iIjt0JiZlJiYobz1gIC0gb25seSBpbnN0YW5jZXMgb2YgUHJvdmlkZXIgYW5kIFR5cGUgYXJlIGFsbG93ZWQsIGdvdDogWyR7ZS5tYXAoKHQ9PnQ9PW4/Ij8iK24rIj8iOiIuLi4iKSkuam9pbigiLCAiKX1dYCk7dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb3ZpZGVyIGZvciB0aGUgTmdNb2R1bGUgJyR7S2UodCl9J2Arbyl9KShlLG4sdCksIShmdW5jdGlvbiBzKHQpe3JldHVybiEhdC5kZXBzfSkodCkpcmV0dXJuIEdvKGkpfHxrcChpKTtvPSgpPT5uZXcgaSguLi5Jcih0LmRlcHMpKX1yZXR1cm4gb31mdW5jdGlvbiBEcCh0LGUsbj0hMSl7cmV0dXJue2ZhY3Rvcnk6dCx2YWx1ZTplLG11bHRpOm4/W106dm9pZCAwfX1mdW5jdGlvbiBScCh0KXtyZXR1cm4gbnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdCYmRHIgaW4gdH1mdW5jdGlvbiBFcCh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH1jb25zdCBBcD1mdW5jdGlvbiBUcCh0LGUsbil7cmV0dXJuKGZ1bmN0aW9uIG8odCxlPW51bGwsbj1udWxsLGkpe2NvbnN0IGE9UHAodCxlLG4saSk7cmV0dXJuIGEuX3Jlc29sdmVJbmplY3RvckRlZlR5cGVzKCksYX0pKHtuYW1lOm59LGUsdCxuKX07Y2xhc3MgTnB7c3RhdGljIGNyZWF0ZSh0LGUpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP0FwKHQsZSwiIik6QXAodC5wcm92aWRlcnMsdC5wYXJlbnQsdC5uYW1lfHwiIil9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24genAodCl7R3AodCk7Y29uc3QgZT1ubCh0KTtyZXR1cm4gbnVsbD09PWU/bnVsbDoodm9pZCAwPT09ZS5jb21wb25lbnQmJihlLmNvbXBvbmVudD0oZnVuY3Rpb24gbih0LGUpe2NvbnN0IG49ZVsxXS5kYXRhW3RdO3JldHVybiAyJm4uZmxhZ3M/ZVtuLmRpcmVjdGl2ZVN0YXJ0XTpudWxsfSkoZS5ub2RlSW5kZXgsZS5sVmlldykpLGUuY29tcG9uZW50KX1mdW5jdGlvbiBJcCh0KXtHcCh0KTtjb25zdCBlPW5sKHQpO3JldHVybiBudWxsPT09ZT9udWxsOmUubFZpZXdbOF19ZnVuY3Rpb24gSHAodCl7Y29uc3QgZT1ubCh0KTtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtsZXQgbixvPWUubFZpZXc7Zm9yKG5nRGV2TW9kZSYmRm8obyk7Mj09PW9bMV0udHlwZSYmKG49TmwobykpOylvPW47cmV0dXJuIDUxMiZvWzJdP251bGw6b1s4XX1mdW5jdGlvbiBGcCh0KXtyZXR1cm5bLi4uemwodCkuY29tcG9uZW50c119ZnVuY3Rpb24gTHAodCl7Y29uc3QgZT1ubCh0KTtpZihudWxsPT09ZSlyZXR1cm4gTnAuTlVMTDtyZXR1cm4gbmV3IGphKGUubFZpZXdbMV0uZGF0YVtlLm5vZGVJbmRleF0sZS5sVmlldyl9ZnVuY3Rpb24gQnAodCl7aWYodCBpbnN0YW5jZW9mIFRleHQpcmV0dXJuW107Y29uc3QgZT1ubCh0KTtpZihudWxsPT09ZSlyZXR1cm5bXTtjb25zdCBuPWUubFZpZXcsbz1uWzFdLGk9ZS5ub2RlSW5kZXg7cmV0dXJuKG51bGw9PW8/dm9pZCAwOm8uZGF0YVtpXSk/KHZvaWQgMD09PWUuZGlyZWN0aXZlcyYmKGUuZGlyZWN0aXZlcz1wbChpLG4sITEpKSxudWxsPT09ZS5kaXJlY3RpdmVzP1tdOlsuLi5lLmRpcmVjdGl2ZXNdKTpbXX1mdW5jdGlvbiBWcCh0KXtjb25zdHtjb25zdHJ1Y3RvcjplfT10O2lmKCFlKXRocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIGZpbmQgdGhlIGluc3RhbmNlIGNvbnN0cnVjdG9yIik7Y29uc3Qgbj15byhlKTtpZihuKXJldHVybntpbnB1dHM6bi5pbnB1dHMsb3V0cHV0czpuLm91dHB1dHMsZW5jYXBzdWxhdGlvbjpuLmVuY2Fwc3VsYXRpb24sY2hhbmdlRGV0ZWN0aW9uOm4ub25QdXNoP2puLk9uUHVzaDpqbi5EZWZhdWx0fTtjb25zdCBvPV9vKGUpO3JldHVybiBvP3tpbnB1dHM6by5pbnB1dHMsb3V0cHV0czpvLm91dHB1dHN9Om51bGx9ZnVuY3Rpb24ganAodCl7cmV0dXJuIG5sKHQpLm5hdGl2ZX1mdW5jdGlvbiBVcCh0KXtHcCh0KTtjb25zdCBlPW5sKHQpO2lmKG51bGw9PT1lKXJldHVybltdO2NvbnN0IG49ZS5sVmlldyxvPW5bN10saT1uWzFdLmNsZWFudXAsYT1bXTtpZihpJiZvKWZvcihsZXQgZT0wO2U8aS5sZW5ndGg7KXtjb25zdCByPWlbZSsrXSxzPWlbZSsrXTtpZigic3RyaW5nIj09dHlwZW9mIHIpe2NvbnN0IGw9cixjPWxpKG5bc10pLGQ9b1tpW2UrK11dLHA9aVtlKytdLG09ImJvb2xlYW4iPT10eXBlb2YgcHx8cD49MD8iZG9tIjoib3V0cHV0IixmPSJib29sZWFuIj09dHlwZW9mIHAmJnA7dD09YyYmYS5wdXNoKHtlbGVtZW50OnQsbmFtZTpsLGNhbGxiYWNrOmQsdXNlQ2FwdHVyZTpmLHR5cGU6bX0pfX1yZXR1cm4gYS5zb3J0KFdwKSxhfWZ1bmN0aW9uIFdwKHQsZSl7cmV0dXJuIHQubmFtZT09ZS5uYW1lPzA6dC5uYW1lPGUubmFtZT8tMToxfWZ1bmN0aW9uIEdwKHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgRWxlbWVudCYmISh0IGluc3RhbmNlb2YgRWxlbWVudCkpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RpbmcgaW5zdGFuY2Ugb2YgRE9NIEVsZW1lbnQiKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gWXAodCl7YnAodCksRnAodCkuZm9yRWFjaCgodD0+KGZ1bmN0aW9uIGUodCl7Y29uc3QgZT1pbCh0KTthcChlWzFdLGUsdCl9KSh0KSkpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9OcC5USFJPV19JRl9OT1RfRk9VTkQ9d3IsTnAuTlVMTD1uZXcgX3AsTnAuybVwcm92PVNuKHt0b2tlbjpOcCxwcm92aWRlZEluOiJhbnkiLGZhY3Rvcnk6KCk9PlRyKHlwKX0pLE5wLl9fTkdfRUxFTUVOVF9JRF9fPS0xO2xldCBxcD0hMTtmdW5jdGlvbiBacCh0LGUpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgQ09NUElMRUR8fCFDT01QSUxFRCl7Y29uc3Qgbj1YbjtpZihuZ0Rldk1vZGUmJnhuKGUsImZ1bmN0aW9uIG5vdCBkZWZpbmVkIiksbil7bGV0IG89bi5uZztvfHwobz1uLm5nPXt9KSxvW3RdPWV9fX1mdW5jdGlvbiBYcCh0LGUsbixvLGkpe2NvbnN0IGE9blsxXSxyPShmdW5jdGlvbiBzKHQsZSxuKXtjb25zdCBvPXdpKCk7aWYodC5maXJzdENyZWF0ZVBhc3Mpe24ucHJvdmlkZXJzUmVzb2x2ZXImJm4ucHJvdmlkZXJzUmVzb2x2ZXIobik7Y29uc3QgaT1NZCh0LGUsMSxudWxsKTtuZ0Rldk1vZGUmJmduKGksby5kaXJlY3RpdmVTdGFydCwiQmVjYXVzZSB0aGlzIGlzIGEgcm9vdCBjb21wb25lbnQgdGhlIGFsbG9jYXRlZCBleHBhbmRvIHNob3VsZCBtYXRjaCB0aGUgVE5vZGUgY29tcG9uZW50LiIpLEdkKHQsbyxlLGksbil9Y29uc3QgaT1MYShlLHQsby5kaXJlY3RpdmVTdGFydCxvKTthbChpLGUpO2NvbnN0IGE9ZGkobyxlKTtyZXR1cm4gYSYmYWwoYSxlKSxpfSkoYSxuLGUpO2lmKG8uY29tcG9uZW50cy5wdXNoKHIpLHRbOF09cixpJiZpLmZvckVhY2goKHQ9PnQocixlKSkpLGUuY29udGVudFF1ZXJpZXMpe2NvbnN0IHQ9d2koKTtuZ0Rldk1vZGUmJnhuKHQsIlROb2RlIGV4cGVjdGVkIiksZS5jb250ZW50UXVlcmllcygxLHIsdC5kaXJlY3RpdmVTdGFydCl9Y29uc3QgbD13aSgpO2lmKG5nRGV2TW9kZSYmeG4obCwidE5vZGUgc2hvdWxkIGhhdmUgYmVlbiBhbHJlYWR5IGNyZWF0ZWQiKSxhLmZpcnN0Q3JlYXRlUGFzcyYmKG51bGwhPT1lLmhvc3RCaW5kaW5nc3x8bnVsbCE9PWUuaG9zdEF0dHJzKSl7ZWEobC5pbmRleCk7QmQoblsxXSxsLDAsbC5kaXJlY3RpdmVTdGFydCxsLmRpcmVjdGl2ZUVuZCxlKSxWZChlLHIpfXJldHVybiByfWZ1bmN0aW9uIEtwKHQsZSl7Y29uc3Qgbj1zbCh0KTtuZ0Rldk1vZGUmJnhuKG4sIkxWaWV3IGlzIHJlcXVpcmVkIik7Y29uc3Qgbz1uWzFdLGk9d2koKTtuZ0Rldk1vZGUmJnhuKGksIlROb2RlIGlzIHJlcXVpcmVkIikscmEobyxpKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gSnAodCl7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0LnByb3RvdHlwZSkuY29uc3RydWN0b3J9ZnVuY3Rpb24gUXAodCl7bGV0IGU9SnAodC50eXBlKSxuPSEwO2NvbnN0IG89W3RdO2Zvcig7ZTspe2xldCBpO2lmKFJvKHQpKWk9ZS7JtWNtcHx8ZS7JtWRpcjtlbHNle2lmKGUuybVjbXApdGhyb3cgbmV3IEVycm9yKCJEaXJlY3RpdmVzIGNhbm5vdCBpbmhlcml0IENvbXBvbmVudHMiKTtpPWUuybVkaXJ9aWYoaSl7aWYobil7by5wdXNoKGkpO2NvbnN0IGU9dDtlLmlucHV0cz0kcCh0LmlucHV0cyksZS5kZWNsYXJlZElucHV0cz0kcCh0LmRlY2xhcmVkSW5wdXRzKSxlLm91dHB1dHM9JHAodC5vdXRwdXRzKTtjb25zdCBuPWkuaG9zdEJpbmRpbmdzO24mJm5tKHQsbik7Y29uc3QgYT1pLnZpZXdRdWVyeSxyPWkuY29udGVudFF1ZXJpZXM7aWYoYSYmdG0odCxhKSxyJiZlbSh0LHIpLFhlKHQuaW5wdXRzLGkuaW5wdXRzKSxYZSh0LmRlY2xhcmVkSW5wdXRzLGkuZGVjbGFyZWRJbnB1dHMpLFhlKHQub3V0cHV0cyxpLm91dHB1dHMpLFJvKGkpJiZpLmRhdGEuYW5pbWF0aW9uKXtjb25zdCBlPXQuZGF0YTtlLmFuaW1hdGlvbj0oZS5hbmltYXRpb258fFtdKS5jb25jYXQoaS5kYXRhLmFuaW1hdGlvbil9fWNvbnN0IGU9aS5mZWF0dXJlcztpZihlKWZvcihsZXQgbz0wO288ZS5sZW5ndGg7bysrKXtjb25zdCBpPWVbb107aSYmaS5uZ0luaGVyaXQmJmkodCksaT09PVFwJiYobj0hMSl9fWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpfSEoZnVuY3Rpb24gaSh0KXtsZXQgZT0wLG49bnVsbDtmb3IobGV0IG89dC5sZW5ndGgtMTtvPj0wO28tLSl7Y29uc3QgaT10W29dO2kuaG9zdFZhcnM9ZSs9aS5ob3N0VmFycyxpLmhvc3RBdHRycz1fYShpLmhvc3RBdHRycyxuPV9hKG4saS5ob3N0QXR0cnMpKX19KShvKX1mdW5jdGlvbiAkcCh0KXtyZXR1cm4gdD09PUpuP3t9OnQ9PT1Rbj9bXTp0fWZ1bmN0aW9uIHRtKHQsZSl7Y29uc3Qgbj10LnZpZXdRdWVyeTt0LnZpZXdRdWVyeT1uPyh0LG8pPT57ZSh0LG8pLG4odCxvKX06ZX1mdW5jdGlvbiBlbSh0LGUpe2NvbnN0IG49dC5jb250ZW50UXVlcmllczt0LmNvbnRlbnRRdWVyaWVzPW4/KHQsbyxpKT0+e2UodCxvLGkpLG4odCxvLGkpfTplfWZ1bmN0aW9uIG5tKHQsZSl7Y29uc3Qgbj10Lmhvc3RCaW5kaW5nczt0Lmhvc3RCaW5kaW5ncz1uPyh0LG8pPT57ZSh0LG8pLG4odCxvKX06ZX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3Qgb209WyJwcm92aWRlcnNSZXNvbHZlciJdLGltPVsidGVtcGxhdGUiLCJkZWNscyIsImNvbnN0cyIsInZhcnMiLCJvblB1c2giLCJuZ0NvbnRlbnRTZWxlY3RvcnMiLCJzdHlsZXMiLCJlbmNhcHN1bGF0aW9uIiwic2NoZW1hcyJdO2Z1bmN0aW9uIGFtKHQpe2xldCBlLG49SnAodC50eXBlKTtlPVJvKHQpP24uybVjbXA6bi7JtWRpcjtjb25zdCBvPXQ7Zm9yKGNvbnN0IHQgb2Ygb20pb1t0XT1lW3RdO2lmKFJvKGUpKWZvcihjb25zdCB0IG9mIGltKW9bdF09ZVt0XX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovbGV0IHJtPW51bGw7ZnVuY3Rpb24gc20oKXtpZighcm0pe2NvbnN0IHQ9WG4uU3ltYm9sO2lmKHQmJnQuaXRlcmF0b3Ipcm09dC5pdGVyYXRvcjtlbHNle2NvbnN0IHQ9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoTWFwLnByb3RvdHlwZSk7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDsrK2Upe2NvbnN0IG49dFtlXTsiZW50cmllcyIhPT1uJiYic2l6ZSIhPT1uJiZNYXAucHJvdG90eXBlW25dPT09TWFwLnByb3RvdHlwZS5lbnRyaWVzJiYocm09bil9fX1yZXR1cm4gcm19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIGxtKHQsZSl7Y29uc3Qgbj1kbSh0KSxvPWRtKGUpO2lmKG4mJm8pcmV0dXJuKGZ1bmN0aW9uIGkodCxlLG4pe2NvbnN0IG89dFtzbSgpXSgpLGk9ZVtzbSgpXSgpO2Zvcig7Oyl7Y29uc3QgdD1vLm5leHQoKSxlPWkubmV4dCgpO2lmKHQuZG9uZSYmZS5kb25lKXJldHVybiEwO2lmKHQuZG9uZXx8ZS5kb25lKXJldHVybiExO2lmKCFuKHQudmFsdWUsZS52YWx1ZSkpcmV0dXJuITF9fSkodCxlLGxtKTt7Y29uc3QgaT10JiYoIm9iamVjdCI9PXR5cGVvZiB0fHwiZnVuY3Rpb24iPT10eXBlb2YgdCksYT1lJiYoIm9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZSk7cmV0dXJuIShufHwhaXx8b3x8IWEpfHxPYmplY3QuaXModCxlKX19Y2xhc3MgY217Y29uc3RydWN0b3IodCl7dGhpcy53cmFwcGVkPXR9c3RhdGljIHdyYXAodCl7cmV0dXJuIG5ldyBjbSh0KX1zdGF0aWMgdW53cmFwKHQpe3JldHVybiBjbS5pc1dyYXBwZWQodCk/dC53cmFwcGVkOnR9c3RhdGljIGlzV3JhcHBlZCh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGNtfX1mdW5jdGlvbiBkbSh0KXtyZXR1cm4hIXBtKHQpJiYoQXJyYXkuaXNBcnJheSh0KXx8ISh0IGluc3RhbmNlb2YgTWFwKSYmc20oKWluIHQpfWZ1bmN0aW9uIHBtKHQpe3JldHVybiBudWxsIT09dCYmKCJmdW5jdGlvbiI9PXR5cGVvZiB0fHwib2JqZWN0Ij09dHlwZW9mIHQpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBtbSh0LGUsbil7cmV0dXJuIHRbZV09bn1mdW5jdGlvbiBmbSh0LGUpe3JldHVybiBuZ0Rldk1vZGUmJnduKHQsZSksbmdEZXZNb2RlJiZ5bih0W2VdLFNjLCJTdG9yZWQgdmFsdWUgc2hvdWxkIG5ldmVyIGJlIE5PX0NIQU5HRS4iKSx0W2VdfWZ1bmN0aW9uIHVtKHQsZSxuKXtuZ0Rldk1vZGUmJnluKG4sU2MsIkluY29taW5nIHZhbHVlIHNob3VsZCBuZXZlciBiZSBOT19DSEFOR0UuIiksbmdEZXZNb2RlJiZfbihlLHQubGVuZ3RoLCJTbG90IHNob3VsZCBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQgdG8gTk9fQ0hBTkdFIik7Y29uc3Qgbz10W2VdO2lmKE9iamVjdC5pcyhvLG4pKXJldHVybiExO2lmKG5nRGV2TW9kZSYmQWkoKSl7Y29uc3QgaT1vIT09U2M/bzp2b2lkIDA7aWYoIWxtKGksbikpe2NvbnN0IGE9KGZ1bmN0aW9uIGkodCxlLG4sbyl7Y29uc3QgaT10WzFdLmRhdGEsYT1pW2VdO2lmKCJzdHJpbmciPT10eXBlb2YgYSlyZXR1cm4gYS5pbmRleE9mKGtsKT4tMT9SbCh0LGUsZSxhLG8pOntwcm9wTmFtZTphLG9sZFZhbHVlOm4sbmV3VmFsdWU6b307aWYobnVsbD09PWEpe2xldCBuPWUtMTtmb3IoOyJzdHJpbmciIT10eXBlb2YgaVtuXSYmbnVsbD09PWlbbisxXTspbi0tO2NvbnN0IGE9aVtuXTtpZigic3RyaW5nIj09dHlwZW9mIGEpe2NvbnN0IGk9YS5tYXRjaChuZXcgUmVnRXhwKGtsLCJnIikpO2lmKGkmJmkubGVuZ3RoLTE+ZS1uKXJldHVybiBSbCh0LG4sZSxhLG8pfX1yZXR1cm57cHJvcE5hbWU6dm9pZCAwLG9sZFZhbHVlOm4sbmV3VmFsdWU6b319KSh0LGUsaSxuKTshKGZ1bmN0aW9uIGEodCxlLG4sbyl7bGV0IGk9YEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3I6IEV4cHJlc3Npb24gaGFzIGNoYW5nZWQgYWZ0ZXIgaXQgd2FzIGNoZWNrZWQuIFByZXZpb3VzIHZhbHVlJHtvP2AgZm9yICcke299J2A6IiJ9OiAnJHtlfScuIEN1cnJlbnQgdmFsdWU6ICcke259Jy5gO3Rocm93IHQmJihpKz0iIEl0IHNlZW1zIGxpa2UgdGhlIHZpZXcgaGFzIGJlZW4gY3JlYXRlZCBhZnRlciBpdHMgcGFyZW50IGFuZCBpdHMgY2hpbGRyZW4gaGF2ZSBiZWVuIGRpcnR5IGNoZWNrZWQuIEhhcyBpdCBiZWVuIGNyZWF0ZWQgaW4gYSBjaGFuZ2UgZGV0ZWN0aW9uIGhvb2s/IiksbmV3IG5uKCIxMDAiLGkpfSkobz09PVNjLGEub2xkVmFsdWUsYS5uZXdWYWx1ZSxhLnByb3BOYW1lKX1yZXR1cm4hMX1yZXR1cm4gdFtlXT1uLCEwfWZ1bmN0aW9uIGdtKHQsZSxuLG8pe2NvbnN0IGk9dW0odCxlLG4pO3JldHVybiB1bSh0LGUrMSxvKXx8aX1mdW5jdGlvbiBobSh0LGUsbixvLGkpe2NvbnN0IGE9Z20odCxlLG4sbyk7cmV0dXJuIHVtKHQsZSsyLGkpfHxhfWZ1bmN0aW9uIGJtKHQsZSxuLG8saSxhKXtjb25zdCByPWdtKHQsZSxuLG8pO3JldHVybiBnbSh0LGUrMixpLGEpfHxyfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiB5bSh0LGUsbixvKXtjb25zdCBpPXhpKCksYT1IaSgpO2lmKHVtKGksYSxlKSl7Y29uc3Qgcj1PaSgpLHM9bmEoKTtxZChzLGksdCxlLG4sbyksbmdEZXZNb2RlJiZscChyLmRhdGEscywiYXR0ci4iK3QsYSl9cmV0dXJuIHltfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBfbSh0LGUpe25nRGV2TW9kZSYmX24oMixlLmxlbmd0aCwic2hvdWxkIGhhdmUgYXQgbGVhc3QgMyB2YWx1ZXMiKSxuZ0Rldk1vZGUmJmduKGUubGVuZ3RoJTIsMSwic2hvdWxkIGhhdmUgYW4gb2RkIG51bWJlciBvZiB2YWx1ZXMiKTtsZXQgbj0hMSxvPXppKCk7Zm9yKGxldCBpPTE7aTxlLmxlbmd0aDtpKz0yKW49dW0odCxvKyssZVtpXSl8fG47aWYoSWkobyksIW4pcmV0dXJuIFNjO2xldCBpPWVbMF07Zm9yKGxldCB0PTE7dDxlLmxlbmd0aDt0Kz0yKWkrPXJuKGVbdF0pK2VbdCsxXTtyZXR1cm4gaX1mdW5jdGlvbiBDbSh0LGUsbixvKXtyZXR1cm4gdW0odCxIaSgpLG4pP2Urcm4obikrbzpTY31mdW5jdGlvbiBNbSh0LGUsbixvLGksYSl7Y29uc3Qgcj1nbSh0LHppKCksbixpKTtyZXR1cm4gRmkoMikscj9lK3JuKG4pK28rcm4oaSkrYTpTY31mdW5jdGlvbiB2bSh0LGUsbixvLGksYSxyLHMpe2NvbnN0IGw9aG0odCx6aSgpLG4saSxyKTtyZXR1cm4gRmkoMyksbD9lK3JuKG4pK28rcm4oaSkrYStybihyKStzOlNjfWZ1bmN0aW9uIHhtKHQsZSxuLG8saSxhLHIscyxsLGMpe2NvbnN0IGQ9Ym0odCx6aSgpLG4saSxyLGwpO3JldHVybiBGaSg0KSxkP2Urcm4obikrbytybihpKSthK3JuKHIpK3Mrcm4obCkrYzpTY31mdW5jdGlvbiBPbSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCl7Y29uc3QgbT16aSgpO2xldCBmPWJtKHQsbSxuLGkscixsKTtyZXR1cm4gZj11bSh0LG0rNCxkKXx8ZixGaSg1KSxmP2Urcm4obikrbytybihpKSthK3JuKHIpK3Mrcm4obCkrYytybihkKStwOlNjfWZ1bmN0aW9uIFBtKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZil7Y29uc3QgdT16aSgpO2xldCBnPWJtKHQsdSxuLGkscixsKTtyZXR1cm4gZz1nbSh0LHUrNCxkLG0pfHxnLEZpKDYpLGc/ZStybihuKStvK3JuKGkpK2Ercm4ocikrcytybihsKStjK3JuKGQpK3Arcm4obSkrZjpTY31mdW5jdGlvbiB3bSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnKXtjb25zdCBoPXppKCk7bGV0IGI9Ym0odCxoLG4saSxyLGwpO3JldHVybiBiPWhtKHQsaCs0LGQsbSx1KXx8YixGaSg3KSxiP2Urcm4obikrbytybihpKSthK3JuKHIpK3Mrcm4obCkrYytybihkKStwK3JuKG0pK2Yrcm4odSkrZzpTY31mdW5jdGlvbiBrbSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnLGgsYil7Y29uc3QgeT16aSgpO2xldCBfPWJtKHQseSxuLGkscixsKTtyZXR1cm4gXz1ibSh0LHkrNCxkLG0sdSxoKXx8XyxGaSg4KSxfP2Urcm4obikrbytybihpKSthK3JuKHIpK3Mrcm4obCkrYytybihkKStwK3JuKG0pK2Yrcm4odSkrZytybihoKStiOlNjfWZ1bmN0aW9uIFNtKHQsZSxuLG8saSxhKXtjb25zdCByPXhpKCkscz1DbShyLGUsbixvKTtpZihzIT09U2Mpe2NvbnN0IG49bmEoKTtxZChuLHIsdCxzLGksYSksbmdEZXZNb2RlJiZscChPaSgpLmRhdGEsbiwiYXR0ci4iK3QsemkoKS0xLGUsbyl9cmV0dXJuIFNtfWZ1bmN0aW9uIERtKHQsZSxuLG8saSxhLHIscyl7Y29uc3QgbD14aSgpLGM9TW0obCxlLG4sbyxpLGEpO2lmKGMhPT1TYyl7Y29uc3Qgbj1uYSgpO3FkKG4sbCx0LGMscixzKSxuZ0Rldk1vZGUmJmxwKE9pKCkuZGF0YSxuLCJhdHRyLiIrdCx6aSgpLTIsZSxvLGEpfXJldHVybiBEbX1mdW5jdGlvbiBSbSh0LGUsbixvLGksYSxyLHMsbCxjKXtjb25zdCBkPXhpKCkscD12bShkLGUsbixvLGksYSxyLHMpO2lmKHAhPT1TYyl7Y29uc3Qgbj1uYSgpO3FkKG4sZCx0LHAsbCxjKSxuZ0Rldk1vZGUmJmxwKE9pKCkuZGF0YSxuLCJhdHRyLiIrdCx6aSgpLTMsZSxvLGEscyl9cmV0dXJuIFJtfWZ1bmN0aW9uIEVtKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwKXtjb25zdCBtPXhpKCksZj14bShtLGUsbixvLGksYSxyLHMsbCxjKTtpZihmIT09U2Mpe2NvbnN0IG49bmEoKTtxZChuLG0sdCxmLGQscCksbmdEZXZNb2RlJiZscChPaSgpLmRhdGEsbiwiYXR0ci4iK3QsemkoKS00LGUsbyxhLHMsYyl9cmV0dXJuIEVtfWZ1bmN0aW9uIEFtKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZil7Y29uc3QgdT14aSgpLGc9T20odSxlLG4sbyxpLGEscixzLGwsYyxkLHApO2lmKGchPT1TYyl7Y29uc3Qgbj1uYSgpO3FkKG4sdSx0LGcsbSxmKSxuZ0Rldk1vZGUmJmxwKE9pKCkuZGF0YSxuLCJhdHRyLiIrdCx6aSgpLTUsZSxvLGEscyxjLHApfXJldHVybiBBbX1mdW5jdGlvbiBUbSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnKXtjb25zdCBoPXhpKCksYj1QbShoLGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYpO2lmKGIhPT1TYyl7Y29uc3Qgbj1uYSgpO3FkKG4saCx0LGIsdSxnKSxuZ0Rldk1vZGUmJmxwKE9pKCkuZGF0YSxuLCJhdHRyLiIrdCx6aSgpLTYsZSxvLGEscyxjLHAsZil9cmV0dXJuIFRtfWZ1bmN0aW9uIE5tKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCxiKXtjb25zdCB5PXhpKCksXz13bSh5LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnKTtpZihfIT09U2Mpe2NvbnN0IG49bmEoKTtxZChuLHksdCxfLGgsYiksbmdEZXZNb2RlJiZscChPaSgpLmRhdGEsbiwiYXR0ci4iK3QsemkoKS03LGUsbyxhLHMsYyxwLGYsZyl9cmV0dXJuIE5tfWZ1bmN0aW9uIHptKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCxiLHksXyl7Y29uc3QgQz14aSgpLE09a20oQyxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoLGIpO2lmKE0hPT1TYyl7Y29uc3Qgbj1uYSgpO3FkKG4sQyx0LE0seSxfKSxuZ0Rldk1vZGUmJmxwKE9pKCkuZGF0YSxuLCJhdHRyLiIrdCx6aSgpLTgsZSxvLGEscyxjLHAsZixnLGIpfXJldHVybiB6bX1mdW5jdGlvbiBJbSh0LGUsbixvKXtjb25zdCBpPXhpKCksYT1fbShpLGUpO2lmKGEhPT1TYyl7Y29uc3Qgcj1uYSgpO2lmKHFkKHIsaSx0LGEsbixvKSxuZ0Rldk1vZGUpe2NvbnN0IG49W2VbMF1dO2ZvcihsZXQgdD0yO3Q8ZS5sZW5ndGg7dCs9MiluLnB1c2goZVt0XSk7bHAoT2koKS5kYXRhLHIsImF0dHIuIit0LHppKCktbi5sZW5ndGgrMSwuLi5uKX19cmV0dXJuIEltfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBIbSh0LGUsbixvLGksYSxyLHMpe2NvbnN0IGw9eGkoKSxjPU9pKCksZD10K3ZvLHA9Yy5maXJzdENyZWF0ZVBhc3M/KGZ1bmN0aW9uIG0odCxlLG4sbyxpLGEscixzLGwpe25nRGV2TW9kZSYmTG8oZSksbmdEZXZNb2RlJiZuZ0Rldk1vZGUuZmlyc3RDcmVhdGVQYXNzKys7Y29uc3QgYz1lLmNvbnN0cyxkPV9kKGUsdCw0LHJ8fG51bGwsaGkoYyxzKSk7TGQoZSxuLGQsaGkoYyxsKSkscmEoZSxkKTtjb25zdCBwPWQudFZpZXdzPVJkKDIsZCxvLGksYSxlLmRpcmVjdGl2ZVJlZ2lzdHJ5LGUucGlwZVJlZ2lzdHJ5LG51bGwsZS5zY2hlbWFzLGMpO3JldHVybiBudWxsIT09ZS5xdWVyaWVzJiYoZS5xdWVyaWVzLnRlbXBsYXRlKGUsZCkscC5xdWVyaWVzPWUucXVlcmllcy5lbWJlZGRlZFRWaWV3KGQpKSxkfSkoZCxjLGwsZSxuLG8saSxhLHIpOmMuZGF0YVtkXTtEaShwLCExKTtjb25zdCBmPWxbMTFdLmNyZWF0ZUNvbW1lbnQobmdEZXZNb2RlPyJjb250YWluZXIiOiIiKTtyYyhjLGwsZixwKSxhbChmLGwpLG5wKGwsbFtkXT1RZChmLGwsZixwKSksRG8ocCkmJmtkKGMsbCxwKSxudWxsIT1yJiZTZChsLHAscyl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIEZtKHQpe3JldHVybiBtaSgoZnVuY3Rpb24gZSgpe3JldHVybiBfaS5sRnJhbWUuY29udGV4dExWaWV3fSkoKSx2byt0KX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgTG09eyLJtcm1ZGVmaW5lSW5qZWN0YWJsZSI6U24sIsm1ybVkZWZpbmVJbmplY3RvciI6RG4sIsm1ybVpbmplY3QiOlRyLCLJtcm1aW52YWxpZEZhY3RvcnlEZXAiOk5yLHJlc29sdmVGb3J3YXJkUmVmOnRufTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgQm09WmUoe3Byb3ZpZGU6U3RyaW5nLHVzZVZhbHVlOlplfSk7ZnVuY3Rpb24gVm0odCl7cmV0dXJuIHZvaWQgMCE9PXQudXNlQ2xhc3N9ZnVuY3Rpb24gam0odCl7cmV0dXJuIHZvaWQgMCE9PXQudXNlRmFjdG9yeX1aZSh7cHJvdmlkZTpTdHJpbmcsdXNlVmFsdWU6WmV9KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFVtPVhhKCJJbmplY3RhYmxlIix2b2lkIDAsdm9pZCAwLHZvaWQgMCwoKHQsZSk9PldtKHQsZSkpKSxXbT1mdW5jdGlvbiBHbSh0LGUpe2xldCBuPW51bGwsbz1udWxsO3QuaGFzT3duUHJvcGVydHkoVG4pfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxUbix7Z2V0OigpPT57aWYobnVsbD09PW4pe2NvbnN0IG89bHIoe3VzYWdlOjAsa2luZDoiaW5qZWN0YWJsZSIsdHlwZTp0fSk7bj1vLmNvbXBpbGVJbmplY3RhYmxlKExtLGBuZzovLy8ke3QubmFtZX0vybVwcm92LmpzYCwoZnVuY3Rpb24gbyh0LGUpe2NvbnN0IG49ZXx8e3Byb3ZpZGVkSW46bnVsbH0sbz17bmFtZTp0Lm5hbWUsdHlwZTp0LHR5cGVBcmd1bWVudENvdW50OjAscHJvdmlkZWRJbjpuLnByb3ZpZGVkSW59OyhWbShuKXx8am0obikpJiZ2b2lkIDAhPT1uLmRlcHMmJihvLmRlcHM9cXIobi5kZXBzKSk7Vm0obik/by51c2VDbGFzcz1uLnVzZUNsYXNzOiEoZnVuY3Rpb24gaSh0KXtyZXR1cm4gQm0gaW4gdH0pKG4pP2ptKG4pP28udXNlRmFjdG9yeT1uLnVzZUZhY3Rvcnk6KGZ1bmN0aW9uIGEodCl7cmV0dXJuIHZvaWQgMCE9PXQudXNlRXhpc3Rpbmd9KShuKSYmKG8udXNlRXhpc3Rpbmc9bi51c2VFeGlzdGluZyk6by51c2VWYWx1ZT1uLnVzZVZhbHVlO3JldHVybiBvfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKHQsZSkpfXJldHVybiBufX0pLHQuaGFzT3duUHJvcGVydHkoaW8pfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpbyx7Z2V0OigpPT57aWYobnVsbD09PW8pe2NvbnN0IGU9bHIoe3VzYWdlOjAsa2luZDoiaW5qZWN0YWJsZSIsdHlwZTp0fSk7bz1lLmNvbXBpbGVGYWN0b3J5KExtLGBuZzovLy8ke3QubmFtZX0vybVmYWMuanNgLHtuYW1lOnQubmFtZSx0eXBlOnQsdHlwZUFyZ3VtZW50Q291bnQ6MCxkZXBzOllyKHQpLHRhcmdldDplLkZhY3RvcnlUYXJnZXQuSW5qZWN0YWJsZX0pfXJldHVybiBvfSxjb25maWd1cmFibGU6ITB9KX07ZnVuY3Rpb24gWW0odCl7aWYodC5sZW5ndGg+MSl7cmV0dXJuIiAoIisoCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiBlKHQpe2NvbnN0IGU9W107Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDsrK24pe2lmKGUuaW5kZXhPZih0W25dKT4tMSlyZXR1cm4gZS5wdXNoKHRbbl0pLGU7ZS5wdXNoKHRbbl0pfXJldHVybiBlfSkodC5zbGljZSgpLnJldmVyc2UoKSkubWFwKCh0PT5LZSh0LnRva2VuKSkpLmpvaW4oIiAtPiAiKSsiKSJ9cmV0dXJuIiJ9ZnVuY3Rpb24gcW0odCxlLG4sbyl7Y29uc3QgaT1bZV0sYT1uKGkpLHI9bz8oZnVuY3Rpb24gcyh0LGUpe2NvbnN0IG49YCR7dH0gY2F1c2VkIGJ5OiAke2UgaW5zdGFuY2VvZiBFcnJvcj9lLm1lc3NhZ2U6ZX1gLG89RXJyb3Iobik7cmV0dXJuIG8ubmdPcmlnaW5hbEVycm9yPWUsb30pKGEsbyk6RXJyb3IoYSk7cmV0dXJuIHIuYWRkS2V5PVptLHIua2V5cz1pLHIuaW5qZWN0b3JzPVt0XSxyLmNvbnN0cnVjdFJlc29sdmluZ01lc3NhZ2U9bixyLm5nT3JpZ2luYWxFcnJvcj1vLHJ9ZnVuY3Rpb24gWm0odCxlKXt0aGlzLmluamVjdG9ycy5wdXNoKHQpLHRoaXMua2V5cy5wdXNoKGUpLHRoaXMubWVzc2FnZT10aGlzLmNvbnN0cnVjdFJlc29sdmluZ01lc3NhZ2UodGhpcy5rZXlzKX1mdW5jdGlvbiBYbSh0LGUpe2NvbnN0IG49W107Zm9yKGxldCB0PTAsbz1lLmxlbmd0aDt0PG87dCsrKXtjb25zdCBvPWVbdF07bi5wdXNoKG8mJjAhPW8ubGVuZ3RoP28ubWFwKEtlKS5qb2luKCIgIik6Ij8iKX1yZXR1cm4gRXJyb3IoIkNhbm5vdCByZXNvbHZlIGFsbCBwYXJhbWV0ZXJzIGZvciAnIitLZSh0KSsiJygiK24uam9pbigiLCAiKSsiKS4gTWFrZSBzdXJlIHRoYXQgYWxsIHRoZSBwYXJhbWV0ZXJzIGFyZSBkZWNvcmF0ZWQgd2l0aCBJbmplY3Qgb3IgaGF2ZSB2YWxpZCB0eXBlIGFubm90YXRpb25zIGFuZCB0aGF0ICciK0tlKHQpKyInIGlzIGRlY29yYXRlZCB3aXRoIEluamVjdGFibGUuIil9ZnVuY3Rpb24gS20odCxlKXtyZXR1cm4gRXJyb3IoYENhbm5vdCBtaXggbXVsdGkgcHJvdmlkZXJzIGFuZCByZWd1bGFyIHByb3ZpZGVycywgZ290OiAke3R9ICR7ZX1gKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgSm17Y29uc3RydWN0b3IodCxlKXtpZih0aGlzLnRva2VuPXQsdGhpcy5pZD1lLCF0KXRocm93IG5ldyBFcnJvcigiVG9rZW4gbXVzdCBiZSBkZWZpbmVkISIpO3RoaXMuZGlzcGxheU5hbWU9S2UodGhpcy50b2tlbil9c3RhdGljIGdldCh0KXtyZXR1cm4gUW0uZ2V0KHRuKHQpKX1zdGF0aWMgZ2V0IG51bWJlck9mS2V5cygpe3JldHVybiBRbS5udW1iZXJPZktleXN9fWNvbnN0IFFtPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2FsbEtleXM9bmV3IE1hcH1nZXQodCl7aWYodCBpbnN0YW5jZW9mIEptKXJldHVybiB0O2lmKHRoaXMuX2FsbEtleXMuaGFzKHQpKXJldHVybiB0aGlzLl9hbGxLZXlzLmdldCh0KTtjb25zdCBlPW5ldyBKbSh0LEptLm51bWJlck9mS2V5cyk7cmV0dXJuIHRoaXMuX2FsbEtleXMuc2V0KHQsZSksZX1nZXQgbnVtYmVyT2ZLZXlzKCl7cmV0dXJuIHRoaXMuX2FsbEtleXMuc2l6ZX19OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0ICRtPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLnJlZmxlY3Rpb25DYXBhYmlsaXRpZXM9dH11cGRhdGVDYXBhYmlsaXRpZXModCl7dGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzPXR9ZmFjdG9yeSh0KXtyZXR1cm4gdGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzLmZhY3RvcnkodCl9cGFyYW1ldGVycyh0KXtyZXR1cm4gdGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzLnBhcmFtZXRlcnModCl9YW5ub3RhdGlvbnModCl7cmV0dXJuIHRoaXMucmVmbGVjdGlvbkNhcGFiaWxpdGllcy5hbm5vdGF0aW9ucyh0KX1wcm9wTWV0YWRhdGEodCl7cmV0dXJuIHRoaXMucmVmbGVjdGlvbkNhcGFiaWxpdGllcy5wcm9wTWV0YWRhdGEodCl9aGFzTGlmZWN5Y2xlSG9vayh0LGUpe3JldHVybiB0aGlzLnJlZmxlY3Rpb25DYXBhYmlsaXRpZXMuaGFzTGlmZWN5Y2xlSG9vayh0LGUpfWdldHRlcih0KXtyZXR1cm4gdGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzLmdldHRlcih0KX1zZXR0ZXIodCl7cmV0dXJuIHRoaXMucmVmbGVjdGlvbkNhcGFiaWxpdGllcy5zZXR0ZXIodCl9bWV0aG9kKHQpe3JldHVybiB0aGlzLnJlZmxlY3Rpb25DYXBhYmlsaXRpZXMubWV0aG9kKHQpfWltcG9ydFVyaSh0KXtyZXR1cm4gdGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzLmltcG9ydFVyaSh0KX1yZXNvdXJjZVVyaSh0KXtyZXR1cm4gdGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzLnJlc291cmNlVXJpKHQpfXJlc29sdmVJZGVudGlmaWVyKHQsZSxuLG8pe3JldHVybiB0aGlzLnJlZmxlY3Rpb25DYXBhYmlsaXRpZXMucmVzb2x2ZUlkZW50aWZpZXIodCxlLG4sbyl9cmVzb2x2ZUVudW0odCxlKXtyZXR1cm4gdGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzLnJlc29sdmVFbnVtKHQsZSl9fShuZXcgeHIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyB0Zntjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5rZXk9dCx0aGlzLm9wdGlvbmFsPWUsdGhpcy52aXNpYmlsaXR5PW59c3RhdGljIGZyb21LZXkodCl7cmV0dXJuIG5ldyB0Zih0LCExLG51bGwpfX1jb25zdCBlZj1bXTtjbGFzcyBuZntjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5rZXk9dCx0aGlzLnJlc29sdmVkRmFjdG9yaWVzPWUsdGhpcy5tdWx0aVByb3ZpZGVyPW4sdGhpcy5yZXNvbHZlZEZhY3Rvcnk9dGhpcy5yZXNvbHZlZEZhY3Rvcmllc1swXX19Y2xhc3Mgb2Z7Y29uc3RydWN0b3IodCxlKXt0aGlzLmZhY3Rvcnk9dCx0aGlzLmRlcGVuZGVuY2llcz1lfX1mdW5jdGlvbiBhZih0KXtsZXQgZSxuO2lmKHQudXNlQ2xhc3Mpe2NvbnN0IG89dG4odC51c2VDbGFzcyk7ZT0kbS5mYWN0b3J5KG8pLG49Y2Yobyl9ZWxzZSB0LnVzZUV4aXN0aW5nPyhlPXQ9PnQsbj1bdGYuZnJvbUtleShKbS5nZXQodC51c2VFeGlzdGluZykpXSk6dC51c2VGYWN0b3J5PyhlPXQudXNlRmFjdG9yeSxuPShmdW5jdGlvbiBvKHQsZSl7aWYoZSl7Y29uc3Qgbj1lLm1hcCgodD0+W3RdKSk7cmV0dXJuIGUubWFwKChlPT5kZih0LGUsbikpKX1yZXR1cm4gY2YodCl9KSh0LnVzZUZhY3RvcnksdC5kZXBzKSk6KGU9KCk9PnQudXNlVmFsdWUsbj1lZik7cmV0dXJuIG5ldyBvZihlLG4pfWZ1bmN0aW9uIHJmKHQpe3JldHVybiBuZXcgbmYoSm0uZ2V0KHQucHJvdmlkZSksW2FmKHQpXSx0Lm11bHRpfHwhMSl9ZnVuY3Rpb24gc2YodCl7Y29uc3QgZT0oZnVuY3Rpb24gbih0LGUpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCBvPXRbbl0saT1lLmdldChvLmtleS5pZCk7aWYoaSl7aWYoby5tdWx0aVByb3ZpZGVyIT09aS5tdWx0aVByb3ZpZGVyKXRocm93IEttKGksbyk7aWYoby5tdWx0aVByb3ZpZGVyKWZvcihsZXQgdD0wO3Q8by5yZXNvbHZlZEZhY3Rvcmllcy5sZW5ndGg7dCsrKWkucmVzb2x2ZWRGYWN0b3JpZXMucHVzaChvLnJlc29sdmVkRmFjdG9yaWVzW3RdKTtlbHNlIGUuc2V0KG8ua2V5LmlkLG8pfWVsc2V7bGV0IHQ7dD1vLm11bHRpUHJvdmlkZXI/bmV3IG5mKG8ua2V5LG8ucmVzb2x2ZWRGYWN0b3JpZXMuc2xpY2UoKSxvLm11bHRpUHJvdmlkZXIpOm8sZS5zZXQoby5rZXkuaWQsdCl9fXJldHVybiBlfSkobGYodCxbXSkubWFwKHJmKSxuZXcgTWFwKTtyZXR1cm4gQXJyYXkuZnJvbShlLnZhbHVlcygpKX1mdW5jdGlvbiBsZih0LGUpe3JldHVybiB0LmZvckVhY2goKHQ9PntpZih0IGluc3RhbmNlb2YgY3IpZS5wdXNoKHtwcm92aWRlOnQsdXNlQ2xhc3M6dH0pO2Vsc2UgaWYodCYmIm9iamVjdCI9PXR5cGVvZiB0JiZ2b2lkIDAhPT10LnByb3ZpZGUpZS5wdXNoKHQpO2Vsc2V7aWYoIUFycmF5LmlzQXJyYXkodCkpdGhyb3coZnVuY3Rpb24gbih0KXtyZXR1cm4gRXJyb3IoYEludmFsaWQgcHJvdmlkZXIgLSBvbmx5IGluc3RhbmNlcyBvZiBQcm92aWRlciBhbmQgVHlwZSBhcmUgYWxsb3dlZCwgZ290OiAke3R9YCl9KSh0KTtsZih0LGUpfX0pKSxlfWZ1bmN0aW9uIGNmKHQpe2NvbnN0IGU9JG0ucGFyYW1ldGVycyh0KTtpZighZSlyZXR1cm5bXTtpZihlLnNvbWUoKHQ9Pm51bGw9PXQpKSl0aHJvdyBYbSh0LGUpO3JldHVybiBlLm1hcCgobj0+ZGYodCxuLGUpKSl9ZnVuY3Rpb24gZGYodCxlLG4pe2xldCBvPW51bGwsaT0hMTtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gcGYoZSBpbnN0YW5jZW9mIExyP2UudG9rZW46ZSxpLG51bGwpO2xldCBhPW51bGw7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3Qpe2NvbnN0IG49ZVt0XTtuIGluc3RhbmNlb2YgY3I/bz1uOm4gaW5zdGFuY2VvZiBMcj9vPW4udG9rZW46biBpbnN0YW5jZW9mIEJyP2k9ITA6biBpbnN0YW5jZW9mIFZyfHxuIGluc3RhbmNlb2YganI/YT1uOm4gaW5zdGFuY2VvZiBlciYmKG89bil9aWYobz10bihvKSxudWxsIT1vKXJldHVybiBwZihvLGksYSk7dGhyb3cgWG0odCxuKX1mdW5jdGlvbiBwZih0LGUsbil7cmV0dXJuIG5ldyB0ZihKbS5nZXQodCksZSxuKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgbWY9e307Y2xhc3MgZmZ7c3RhdGljIHJlc29sdmUodCl7cmV0dXJuIHNmKHQpfXN0YXRpYyByZXNvbHZlQW5kQ3JlYXRlKHQsZSl7Y29uc3Qgbj1mZi5yZXNvbHZlKHQpO3JldHVybiBmZi5mcm9tUmVzb2x2ZWRQcm92aWRlcnMobixlKX1zdGF0aWMgZnJvbVJlc29sdmVkUHJvdmlkZXJzKHQsZSl7cmV0dXJuIG5ldyB1Zih0LGUpfX1jbGFzcyB1Zntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2NvbnN0cnVjdGlvbkNvdW50ZXI9MCx0aGlzLl9wcm92aWRlcnM9dCx0aGlzLnBhcmVudD1lfHxudWxsO2NvbnN0IG49dC5sZW5ndGg7dGhpcy5rZXlJZHM9W10sdGhpcy5vYmpzPVtdO2ZvcihsZXQgZT0wO2U8bjtlKyspdGhpcy5rZXlJZHNbZV09dFtlXS5rZXkuaWQsdGhpcy5vYmpzW2VdPW1mfWdldCh0LGU9d3Ipe3JldHVybiB0aGlzLl9nZXRCeUtleShKbS5nZXQodCksbnVsbCxlKX1yZXNvbHZlQW5kQ3JlYXRlQ2hpbGQodCl7Y29uc3QgZT1mZi5yZXNvbHZlKHQpO3JldHVybiB0aGlzLmNyZWF0ZUNoaWxkRnJvbVJlc29sdmVkKGUpfWNyZWF0ZUNoaWxkRnJvbVJlc29sdmVkKHQpe2NvbnN0IGU9bmV3IHVmKHQpO3JldHVybiBlLnBhcmVudD10aGlzLGV9cmVzb2x2ZUFuZEluc3RhbnRpYXRlKHQpe3JldHVybiB0aGlzLmluc3RhbnRpYXRlUmVzb2x2ZWQoZmYucmVzb2x2ZShbdF0pWzBdKX1pbnN0YW50aWF0ZVJlc29sdmVkKHQpe3JldHVybiB0aGlzLl9pbnN0YW50aWF0ZVByb3ZpZGVyKHQpfWdldFByb3ZpZGVyQXRJbmRleCh0KXtpZih0PDB8fHQ+PXRoaXMuX3Byb3ZpZGVycy5sZW5ndGgpdGhyb3coZnVuY3Rpb24gZSh0KXtyZXR1cm4gRXJyb3IoYEluZGV4ICR7dH0gaXMgb3V0LW9mLWJvdW5kcy5gKX0pKHQpO3JldHVybiB0aGlzLl9wcm92aWRlcnNbdF19X25ldyh0KXtpZih0aGlzLl9jb25zdHJ1Y3Rpb25Db3VudGVyKys+dGhpcy5fZ2V0TWF4TnVtYmVyT2ZPYmplY3RzKCkpdGhyb3coZnVuY3Rpb24gZSh0LG4pe3JldHVybiBxbSh0LG4sKGZ1bmN0aW9uKHQpe3JldHVybmBDYW5ub3QgaW5zdGFudGlhdGUgY3ljbGljIGRlcGVuZGVuY3khJHtZbSh0KX1gfSkpfSkodGhpcyx0LmtleSk7cmV0dXJuIHRoaXMuX2luc3RhbnRpYXRlUHJvdmlkZXIodCl9X2dldE1heE51bWJlck9mT2JqZWN0cygpe3JldHVybiB0aGlzLm9ianMubGVuZ3RofV9pbnN0YW50aWF0ZVByb3ZpZGVyKHQpe2lmKHQubXVsdGlQcm92aWRlcil7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPHQucmVzb2x2ZWRGYWN0b3JpZXMubGVuZ3RoOysrbillW25dPXRoaXMuX2luc3RhbnRpYXRlKHQsdC5yZXNvbHZlZEZhY3Rvcmllc1tuXSk7cmV0dXJuIGV9cmV0dXJuIHRoaXMuX2luc3RhbnRpYXRlKHQsdC5yZXNvbHZlZEZhY3Rvcmllc1swXSl9X2luc3RhbnRpYXRlKHQsZSl7Y29uc3Qgbj1lLmZhY3Rvcnk7bGV0IG8saTt0cnl7bz1lLmRlcGVuZGVuY2llcy5tYXAoKHQ9PnRoaXMuX2dldEJ5UmVmbGVjdGl2ZURlcGVuZGVuY3kodCkpKX1jYXRjaChlKXt0aHJvdyBlLmFkZEtleSYmZS5hZGRLZXkodGhpcyx0LmtleSksZX10cnl7aT1uKC4uLm8pfWNhdGNoKGUpe3Rocm93KGZ1bmN0aW9uIG4odCxlLG8saSl7cmV0dXJuIHFtKHQsaSwoZnVuY3Rpb24odCl7Y29uc3Qgbj1LZSh0WzBdLnRva2VuKTtyZXR1cm5gJHtlLm1lc3NhZ2V9OiBFcnJvciBkdXJpbmcgaW5zdGFudGlhdGlvbiBvZiAke259ISR7WW0odCl9LmB9KSxlKX0pKHRoaXMsZSwwLHQua2V5KX1yZXR1cm4gaX1fZ2V0QnlSZWZsZWN0aXZlRGVwZW5kZW5jeSh0KXtyZXR1cm4gdGhpcy5fZ2V0QnlLZXkodC5rZXksdC52aXNpYmlsaXR5LHQub3B0aW9uYWw/bnVsbDp3cil9X2dldEJ5S2V5KHQsZSxuKXtyZXR1cm4gdD09PXVmLklOSkVDVE9SX0tFWT90aGlzOmUgaW5zdGFuY2VvZiBWcj90aGlzLl9nZXRCeUtleVNlbGYodCxuKTp0aGlzLl9nZXRCeUtleURlZmF1bHQodCxuLGUpfV9nZXRPYmpCeUtleUlkKHQpe2ZvcihsZXQgZT0wO2U8dGhpcy5rZXlJZHMubGVuZ3RoO2UrKylpZih0aGlzLmtleUlkc1tlXT09PXQpcmV0dXJuIHRoaXMub2Jqc1tlXT09PW1mJiYodGhpcy5vYmpzW2VdPXRoaXMuX25ldyh0aGlzLl9wcm92aWRlcnNbZV0pKSx0aGlzLm9ianNbZV07cmV0dXJuIG1mfV90aHJvd09yTnVsbCh0LGUpe2lmKGUhPT13cilyZXR1cm4gZTt0aHJvdyhmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIHFtKHQsZSwoZnVuY3Rpb24odCl7cmV0dXJuYE5vIHByb3ZpZGVyIGZvciAke0tlKHRbMF0udG9rZW4pfSEke1ltKHQpfWB9KSl9KSh0aGlzLHQpfV9nZXRCeUtleVNlbGYodCxlKXtjb25zdCBuPXRoaXMuX2dldE9iakJ5S2V5SWQodC5pZCk7cmV0dXJuIG4hPT1tZj9uOnRoaXMuX3Rocm93T3JOdWxsKHQsZSl9X2dldEJ5S2V5RGVmYXVsdCh0LGUsbil7bGV0IG87Zm9yKG89biBpbnN0YW5jZW9mIGpyP3RoaXMucGFyZW50OnRoaXM7byBpbnN0YW5jZW9mIHVmOyl7Y29uc3QgZT1vLG49ZS5fZ2V0T2JqQnlLZXlJZCh0LmlkKTtpZihuIT09bWYpcmV0dXJuIG47bz1lLnBhcmVudH1yZXR1cm4gbnVsbCE9PW8/by5nZXQodC50b2tlbixlKTp0aGlzLl90aHJvd09yTnVsbCh0LGUpfWdldCBkaXNwbGF5TmFtZSgpe3JldHVybmBSZWZsZWN0aXZlSW5qZWN0b3IocHJvdmlkZXJzOiBbJHsoZnVuY3Rpb24gdChlLG4pe2NvbnN0IG89W107Zm9yKGxldCB0PTA7dDxlLl9wcm92aWRlcnMubGVuZ3RoOysrdClvW3RdPW4oZS5nZXRQcm92aWRlckF0SW5kZXgodCkpO3JldHVybiBvfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykodGhpcywodD0+JyAiJyt0LmtleS5kaXNwbGF5TmFtZSsnIiAnKSkuam9pbigiLCAiKX1dKWB9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5kaXNwbGF5TmFtZX19ZnVuY3Rpb24gZ2YodCxlPUhuLkRlZmF1bHQpe2NvbnN0IG49eGkoKTtpZihudWxsPT09bilyZXR1cm4gbmdEZXZNb2RlJiYoZnVuY3Rpb24gbyh0KXtuZ0Rldk1vZGUmJmhuKEZuLHQsIkNhbGxpbmcgybXJtWluamVjdCB3b3VsZCBjYXVzZSBpbmZpbml0ZSByZWN1cnNpb24iKX0pKGdmKSxUcih0LGUpO3JldHVybiBOYSh3aSgpLG4sdG4odCksZSl9ZnVuY3Rpb24gaGYoKXtjb25zdCB0PW5nRGV2TW9kZT8iVGhpcyBjb25zdHJ1Y3RvciB3YXMgbm90IGNvbXBhdGlibGUgd2l0aCBEZXBlbmRlbmN5IEluamVjdGlvbi4iOiJpbnZhbGlkIjt0aHJvdyBuZXcgRXJyb3IodCl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIGJmKHQsZSxuKXtjb25zdCBvPXhpKCksaT1IaSgpO2lmKHVtKG8saSxlKSl7Y29uc3QgYT1PaSgpLHI9bmEoKTt6ZChhLHIsbyx0LGUsb1sxMV0sbiwhMSksbmdEZXZNb2RlJiZscChhLmRhdGEscix0LGkpfXJldHVybiBiZn1mdW5jdGlvbiB5Zih0LGUsbixvLGkpe2NvbnN0IGE9aT8iY2xhc3MiOiJzdHlsZSI7dXAodCxuLGUuaW5wdXRzW2FdLGEsbyl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIF9mKHQsZSxuLG8saSxhLHIpe25nRGV2TW9kZSYmTG8oZSksbmdEZXZNb2RlJiZuZ0Rldk1vZGUuZmlyc3RDcmVhdGVQYXNzKys7Y29uc3Qgcz1lLmNvbnN0cyxsPV9kKGUsdCwyLGksaGkocyxhKSksYz1MZChlLG4sbCxoaShzLHIpKTtyZXR1cm4gbmdEZXZNb2RlJiYoZnVuY3Rpb24gZCh0LGUsbixvKXtpZihudWxsPT09dC5zY2hlbWFzKXJldHVybjtjb25zdCBpPW4udmFsdWU7aWYoIW8mJm51bGwhPT1pKXtpZigoInVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MVW5rbm93bkVsZW1lbnQmJkhUTUxVbmtub3duRWxlbWVudCYmZSBpbnN0YW5jZW9mIEhUTUxVbmtub3duRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBjdXN0b21FbGVtZW50cyYmaS5pbmRleE9mKCItIik+LTEmJiFjdXN0b21FbGVtZW50cy5nZXQoaSkpJiYhSGQodCxpKSl7bGV0IHQ9YCcke2l9JyBpcyBub3QgYSBrbm93biBlbGVtZW50OlxuYDt0Kz1gMS4gSWYgJyR7aX0nIGlzIGFuIEFuZ3VsYXIgY29tcG9uZW50LCB0aGVuIHZlcmlmeSB0aGF0IGl0IGlzIHBhcnQgb2YgdGhpcyBtb2R1bGUuXG5gLGkmJmkuaW5kZXhPZigiLSIpPi0xP3QrPWAyLiBJZiAnJHtpfScgaXMgYSBXZWIgQ29tcG9uZW50IHRoZW4gYWRkICdDVVNUT01fRUxFTUVOVFNfU0NIRU1BJyB0byB0aGUgJ0BOZ01vZHVsZS5zY2hlbWFzJyBvZiB0aGlzIGNvbXBvbmVudCB0byBzdXBwcmVzcyB0aGlzIG1lc3NhZ2UuYDp0Kz0iMi4gVG8gYWxsb3cgYW55IGVsZW1lbnQgYWRkICdOT19FUlJPUlNfU0NIRU1BJyB0byB0aGUgJ0BOZ01vZHVsZS5zY2hlbWFzJyBvZiB0aGlzIGNvbXBvbmVudC4iLGNvbnNvbGUuZXJyb3IoYW4oIjMwNCIsdCkpfX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykoZSxvLGwsYyksbnVsbCE9PWwuYXR0cnMmJmhwKGwsbC5hdHRycywhMSksbnVsbCE9PWwubWVyZ2VkQXR0cnMmJmhwKGwsbC5tZXJnZWRBdHRycywhMCksbnVsbCE9PWUucXVlcmllcyYmZS5xdWVyaWVzLmVsZW1lbnRTdGFydChlLGwpLGx9ZnVuY3Rpb24gQ2YodCxlLG4sbyl7Y29uc3QgaT14aSgpLGE9T2koKSxyPXZvK3Q7bmdEZXZNb2RlJiZnbih6aSgpLGEuYmluZGluZ1N0YXJ0SW5kZXgsImVsZW1lbnRzIHNob3VsZCBiZSBjcmVhdGVkIGJlZm9yZSBhbnkgYmluZGluZ3MiKSxuZ0Rldk1vZGUmJnduKGkscik7Y29uc3Qgcz1pWzExXSxsPWlbcl09VWwocyxlLChmdW5jdGlvbiBjKCl7cmV0dXJuIF9pLmxGcmFtZS5jdXJyZW50TmFtZXNwYWNlfSkoKSksZD1hLmZpcnN0Q3JlYXRlUGFzcz9fZihyLGEsaSxsLGUsbixvKTphLmRhdGFbcl07RGkoZCwhMCk7Y29uc3QgcD1kLm1lcmdlZEF0dHJzO251bGwhPT1wJiZoYShzLGwscCk7Y29uc3QgbT1kLmNsYXNzZXM7bnVsbCE9PW0mJmdjKHMsbCxtKTtjb25zdCBmPWQuc3R5bGVzO251bGwhPT1mJiZ1YyhzLGwsZiksNjQhPSg2NCZkLmZsYWdzKSYmcmMoYSxpLGwsZCksMD09PShmdW5jdGlvbiB1KCl7cmV0dXJuIF9pLmxGcmFtZS5lbGVtZW50RGVwdGhDb3VudH0pKCkmJmFsKGwsaSksKGZ1bmN0aW9uIGcoKXtfaS5sRnJhbWUuZWxlbWVudERlcHRoQ291bnQrK30pKCksRG8oZCkmJihrZChhLGksZCksd2QoYSxkLGkpKSxudWxsIT09byYmU2QoaSxkKX1mdW5jdGlvbiBNZigpe2xldCB0PXdpKCk7bmdEZXZNb2RlJiZ4bih0LCJObyBwYXJlbnQgbm9kZSB0byBjbG9zZS4iKSxSaSgpP0VpKCk6KG5nRGV2TW9kZSYmem8od2koKSksdD10LnBhcmVudCxEaSh0LCExKSk7Y29uc3QgZT10O25nRGV2TW9kZSYmZ2EoZSwzKSwoZnVuY3Rpb24gbigpe19pLmxGcmFtZS5lbGVtZW50RGVwdGhDb3VudC0tfSkoKTtjb25zdCBvPU9pKCk7by5maXJzdENyZWF0ZVBhc3MmJihyYShvLHQpLGtvKHQpJiZvLnF1ZXJpZXMuZWxlbWVudEVuZCh0KSksbnVsbCE9ZS5jbGFzc2VzV2l0aG91dEhvc3QmJihmdW5jdGlvbiBpKHQpe3JldHVybiAwIT0oMTYmdC5mbGFncyl9KShlKSYmeWYobyxlLHhpKCksZS5jbGFzc2VzV2l0aG91dEhvc3QsITApLG51bGwhPWUuc3R5bGVzV2l0aG91dEhvc3QmJihmdW5jdGlvbiBhKHQpe3JldHVybiAwIT0oMzImdC5mbGFncyl9KShlKSYmeWYobyxlLHhpKCksZS5zdHlsZXNXaXRob3V0SG9zdCwhMSl9ZnVuY3Rpb24gdmYodCxlLG4sbyl7Q2YodCxlLG4sbyksTWYoKX1mdW5jdGlvbiB4Zih0LGUsbil7Y29uc3Qgbz14aSgpLGk9T2koKSxhPXQrdm87bmdEZXZNb2RlJiZ3bihvLGEpLG5nRGV2TW9kZSYmZ24oemkoKSxpLmJpbmRpbmdTdGFydEluZGV4LCJlbGVtZW50IGNvbnRhaW5lcnMgc2hvdWxkIGJlIGNyZWF0ZWQgYmVmb3JlIGFueSBiaW5kaW5ncyIpO2NvbnN0IHI9aS5maXJzdENyZWF0ZVBhc3M/KGZ1bmN0aW9uIHModCxlLG4sbyxpKXtuZ0Rldk1vZGUmJm5nRGV2TW9kZS5maXJzdENyZWF0ZVBhc3MrKztjb25zdCBhPWUuY29uc3RzLHI9aGkoYSxvKSxzPV9kKGUsdCw4LCJuZy1jb250YWluZXIiLHIpO3JldHVybiBudWxsIT09ciYmaHAocyxyLCEwKSxMZChlLG4scyxoaShhLGkpKSxudWxsIT09ZS5xdWVyaWVzJiZlLnF1ZXJpZXMuZWxlbWVudFN0YXJ0KGUscyksc30pKGEsaSxvLGUsbik6aS5kYXRhW2FdO0RpKHIsITApLG5nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyQ3JlYXRlQ29tbWVudCsrO2NvbnN0IGw9b1thXT1vWzExXS5jcmVhdGVDb21tZW50KG5nRGV2TW9kZT8ibmctY29udGFpbmVyIjoiIik7cmMoaSxvLGwsciksYWwobCxvKSxEbyhyKSYmKGtkKGksbyxyKSx3ZChpLHIsbykpLG51bGwhPW4mJlNkKG8scil9ZnVuY3Rpb24gT2YoKXtsZXQgdD13aSgpO2NvbnN0IGU9T2koKTtSaSgpP0VpKCk6KG5nRGV2TW9kZSYmem8odCksdD10LnBhcmVudCxEaSh0LCExKSksbmdEZXZNb2RlJiZnYSh0LDgpLGUuZmlyc3RDcmVhdGVQYXNzJiYocmEoZSx0KSxrbyh0KSYmZS5xdWVyaWVzLmVsZW1lbnRFbmQodCkpfWZ1bmN0aW9uIFBmKHQsZSxuKXt4Zih0LGUsbiksT2YoKX1mdW5jdGlvbiB3Zigpe3JldHVybiB4aSgpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBrZih0KXtyZXR1cm4hIXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW59ZnVuY3Rpb24gU2YodCl7cmV0dXJuISF0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC5zdWJzY3JpYmV9dWYuSU5KRUNUT1JfS0VZPUptLmdldChOcCk7Y29uc3QgRGY9U2Y7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFJmKHQsZSxuLG8pe2NvbnN0IGk9eGkoKSxhPU9pKCkscj13aSgpO3JldHVybiBBZihhLGksaVsxMV0scix0LGUsISFuLG8pLFJmfWZ1bmN0aW9uIEVmKHQsZSl7Y29uc3Qgbj13aSgpLG89eGkoKSxpPU9pKCk7cmV0dXJuIEFmKGksbyxtcChqaShpLmRhdGEpLG4sbyksbix0LGUsITEpLEVmfWZ1bmN0aW9uIEFmKHQsZSxuLG8saSxhLHIscyl7Y29uc3QgbD1EbyhvKSxjPXQuZmlyc3RDcmVhdGVQYXNzJiZwcCh0KSxkPWVbOF0scD1kcChlKTtuZ0Rldk1vZGUmJmdhKG8sMTUpO2xldCBtPSEwO2lmKDMmby50eXBlfHxzKXtjb25zdCBmPWRpKG8sZSksdT1zP3MoZik6ZixnPXAubGVuZ3RoLGg9cz90PT5zKGxpKHRbby5pbmRleF0pKTpvLmluZGV4O2lmKHJpKG4pKXtsZXQgcj1udWxsO2lmKCFzJiZsJiYocj0oZnVuY3Rpb24gZih0LGUsbixvKXtjb25zdCBpPXQuY2xlYW51cDtpZihudWxsIT1pKWZvcihsZXQgdD0wO3Q8aS5sZW5ndGgtMTt0Kz0yKXtjb25zdCBhPWlbdF07aWYoYT09PW4mJmlbdCsxXT09PW8pe2NvbnN0IG49ZVs3XSxvPWlbdCsyXTtyZXR1cm4gbi5sZW5ndGg+bz9uW29dOm51bGx9InN0cmluZyI9PXR5cGVvZiBhJiYodCs9Mil9cmV0dXJuIG51bGx9KSh0LGUsaSxvLmluZGV4KSksbnVsbCE9PXIpeyhyLl9fbmdMYXN0TGlzdGVuZXJGbl9ffHxyKS5fX25nTmV4dExpc3RlbmVyRm5fXz1hLHIuX19uZ0xhc3RMaXN0ZW5lckZuX189YSxtPSExfWVsc2V7YT1OZihvLGUsZCxhLCExKTtjb25zdCB0PW4ubGlzdGVuKHUsaSxhKTtuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckFkZEV2ZW50TGlzdGVuZXIrKyxwLnB1c2goYSx0KSxjJiZjLnB1c2goaSxoLGcsZysxKX19ZWxzZSBhPU5mKG8sZSxkLGEsITApLHUuYWRkRXZlbnRMaXN0ZW5lcihpLGEsciksbmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJBZGRFdmVudExpc3RlbmVyKysscC5wdXNoKGEpLGMmJmMucHVzaChpLGgsZyxyKX1lbHNlIGE9TmYobyxlLGQsYSwhMSk7Y29uc3QgdT1vLm91dHB1dHM7bGV0IGc7aWYobSYmbnVsbCE9PXUmJihnPXVbaV0pKXtjb25zdCB0PWcubGVuZ3RoO2lmKHQpZm9yKGxldCBuPTA7bjx0O24rPTIpe2NvbnN0IHQ9Z1tuXTtuZ0Rldk1vZGUmJnduKGUsdCk7Y29uc3Qgcj1nW24rMV0scz1lW3RdLGw9c1tyXTtpZihuZ0Rldk1vZGUmJiFEZihsKSl0aHJvdyBuZXcgRXJyb3IoYEBPdXRwdXQgJHtyfSBub3QgaW5pdGlhbGl6ZWQgaW4gJyR7cy5jb25zdHJ1Y3Rvci5uYW1lfScuYCk7Y29uc3QgZD1sLnN1YnNjcmliZShhKSxtPXAubGVuZ3RoO3AucHVzaChhLGQpLGMmJmMucHVzaChpLG8uaW5kZXgsbSwtKG0rMSkpfX19ZnVuY3Rpb24gVGYodCxlLG4sbyl7dHJ5e3JldHVybiB0aSg2LGUsbiksITEhPT1uKG8pfWNhdGNoKGUpe3JldHVybiBmcCh0LGUpLCExfWZpbmFsbHl7dGkoNyxlLG4pfX1mdW5jdGlvbiBOZih0LGUsbixvLGkpe3JldHVybiBmdW5jdGlvbiBhKHIpe2lmKHI9PT1GdW5jdGlvbilyZXR1cm4gbztjb25zdCBzPTImdC5mbGFncz9maSh0LmluZGV4LGUpOmU7MD09KDMyJmVbMl0pJiZvcChzKTtsZXQgbD1UZihlLG4sbyxyKSxjPWEuX19uZ05leHRMaXN0ZW5lckZuX187Zm9yKDtjOylsPVRmKGUsbixjLHIpJiZsLGM9Yy5fX25nTmV4dExpc3RlbmVyRm5fXztyZXR1cm4gaSYmITE9PT1sJiYoci5wcmV2ZW50RGVmYXVsdCgpLHIucmV0dXJuVmFsdWU9ITEpLGx9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gemYodD0xKXtyZXR1cm4gJGkodCl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIElmKHQsZSl7bGV0IG49bnVsbDtjb25zdCBvPShmdW5jdGlvbiBpKHQpe2NvbnN0IGU9dC5hdHRycztpZihudWxsIT1lKXtjb25zdCB0PWUuaW5kZXhPZig1KTtpZigwPT0oMSZ0KSlyZXR1cm4gZVt0KzFdfXJldHVybiBudWxsfSkodCk7Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDtpKyspe2NvbnN0IGE9ZVtpXTtpZigiKiIhPT1hKXtpZihudWxsPT09bz9PYyh0LGEsITApOlBjKG8sYSkpcmV0dXJuIGl9ZWxzZSBuPWl9cmV0dXJuIG59ZnVuY3Rpb24gSGYodCl7Y29uc3QgZT14aSgpWzE2XVs2XTtpZighZS5wcm9qZWN0aW9uKXtjb25zdCBuPWUucHJvamVjdGlvbj1ncih0P3QubGVuZ3RoOjEsbnVsbCksbz1uLnNsaWNlKCk7bGV0IGk9ZS5jaGlsZDtmb3IoO251bGwhPT1pOyl7Y29uc3QgZT10P0lmKGksdCk6MDtudWxsIT09ZSYmKG9bZV0/b1tlXS5wcm9qZWN0aW9uTmV4dD1pOm5bZV09aSxvW2VdPWkpLGk9aS5uZXh0fX19ZnVuY3Rpb24gRmYodCxlPTAsbil7Y29uc3Qgbz14aSgpLGk9T2koKSxhPV9kKGksdm8rdCwxNixudWxsLG58fG51bGwpO251bGw9PT1hLnByb2plY3Rpb24mJihhLnByb2plY3Rpb249ZSksRWkoKSw2NCE9KDY0JmEuZmxhZ3MpJiYoZnVuY3Rpb24gcih0LGUsbil7ZmMoZVsxMV0sMCxlLG4sWGwodCxuLGUpLGVjKG4ucGFyZW50fHxlWzZdLG4sZSkpfSkoaSxvLGEpfWZ1bmN0aW9uIExmKHQsZSxuKXtyZXR1cm4gQmYodCwiIixlLCIiLG4pLExmfWZ1bmN0aW9uIEJmKHQsZSxuLG8saSl7Y29uc3QgYT14aSgpLHI9Q20oYSxlLG4sbyk7aWYociE9PVNjKXtjb25zdCBuPU9pKCkscz1uYSgpO3pkKG4scyxhLHQscixhWzExXSxpLCExKSxuZ0Rldk1vZGUmJmxwKG4uZGF0YSxzLHQsemkoKS0xLGUsbyl9cmV0dXJuIEJmfWZ1bmN0aW9uIFZmKHQsZSxuLG8saSxhLHIpe2NvbnN0IHM9eGkoKSxsPU1tKHMsZSxuLG8saSxhKTtpZihsIT09U2Mpe2NvbnN0IG49T2koKSxpPW5hKCk7emQobixpLHMsdCxsLHNbMTFdLHIsITEpLG5nRGV2TW9kZSYmbHAobi5kYXRhLGksdCx6aSgpLTIsZSxvLGEpfXJldHVybiBWZn1mdW5jdGlvbiBqZih0LGUsbixvLGksYSxyLHMsbCl7Y29uc3QgYz14aSgpLGQ9dm0oYyxlLG4sbyxpLGEscixzKTtpZihkIT09U2Mpe2NvbnN0IG49T2koKSxpPW5hKCk7emQobixpLGMsdCxkLGNbMTFdLGwsITEpLG5nRGV2TW9kZSYmbHAobi5kYXRhLGksdCx6aSgpLTMsZSxvLGEscyl9cmV0dXJuIGpmfWZ1bmN0aW9uIFVmKHQsZSxuLG8saSxhLHIscyxsLGMsZCl7Y29uc3QgcD14aSgpLG09eG0ocCxlLG4sbyxpLGEscixzLGwsYyk7aWYobSE9PVNjKXtjb25zdCBuPU9pKCksaT1uYSgpO3pkKG4saSxwLHQsbSxwWzExXSxkLCExKSxuZ0Rldk1vZGUmJmxwKG4uZGF0YSxpLHQsemkoKS00LGUsbyxhLHMsYyl9cmV0dXJuIFVmfWZ1bmN0aW9uIFdmKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0pe2NvbnN0IGY9eGkoKSx1PU9tKGYsZSxuLG8saSxhLHIscyxsLGMsZCxwKTtpZih1IT09U2Mpe2NvbnN0IG49T2koKSxpPW5hKCk7emQobixpLGYsdCx1LGZbMTFdLG0sITEpLG5nRGV2TW9kZSYmbHAobi5kYXRhLGksdCx6aSgpLTUsZSxvLGEscyxjLHApfXJldHVybiBXZn1mdW5jdGlvbiBHZih0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSl7Y29uc3QgZz14aSgpLGg9UG0oZyxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmKTtpZihoIT09U2Mpe2NvbnN0IG49T2koKSxpPW5hKCk7emQobixpLGcsdCxoLGdbMTFdLHUsITEpLG5nRGV2TW9kZSYmbHAobi5kYXRhLGksdCx6aSgpLTYsZSxvLGEscyxjLHAsZil9cmV0dXJuIEdmfWZ1bmN0aW9uIFlmKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCl7Y29uc3QgYj14aSgpLHk9d20oYixlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyk7aWYoeSE9PVNjKXtjb25zdCBuPU9pKCksaT1uYSgpO3pkKG4saSxiLHQseSxiWzExXSxoLCExKSxuZ0Rldk1vZGUmJmxwKG4uZGF0YSxpLHQsemkoKS03LGUsbyxhLHMsYyxwLGYsZyl9cmV0dXJuIFlmfWZ1bmN0aW9uIHFmKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCxiLHkpe2NvbnN0IF89eGkoKSxDPWttKF8sZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCxiKTtpZihDIT09U2Mpe2NvbnN0IG49T2koKSxpPW5hKCk7emQobixpLF8sdCxDLF9bMTFdLHksITEpLG5nRGV2TW9kZSYmbHAobi5kYXRhLGksdCx6aSgpLTgsZSxvLGEscyxjLHAsZixnLGIpfXJldHVybiBxZn1mdW5jdGlvbiBaZih0LGUsbil7Y29uc3Qgbz14aSgpLGk9X20obyxlKTtpZihpIT09U2Mpe2NvbnN0IGE9T2koKSxyPW5hKCk7aWYoemQoYSxyLG8sdCxpLG9bMTFdLG4sITEpLG5nRGV2TW9kZSl7Y29uc3Qgbj1bZVswXV07Zm9yKGxldCB0PTI7dDxlLmxlbmd0aDt0Kz0yKW4ucHVzaChlW3RdKTtscChhLmRhdGEscix0LHppKCktbi5sZW5ndGgrMSwuLi5uKX19cmV0dXJuIFpmfWZ1bmN0aW9uIFhmKHQsZSxuLG8saSxhKXtuZ0Rldk1vZGUmJkJvKE9pKCkpO2xldCByPWE/ZS5jbGFzc0JpbmRpbmdzOmUuc3R5bGVCaW5kaW5ncyxzPUFjKHIpLGw9emMocik7dFtvXT1uO2xldCBjLGQ9ITE7aWYoQXJyYXkuaXNBcnJheShuKSl7Y29uc3QgdD1uO2M9dFsxXSwobnVsbD09PWN8fHlyKHQsYyk+MCkmJihkPSEwKX1lbHNlIGM9bjtpZihpKXtpZigwIT09bCl7Y29uc3QgZT1BYyh0W3MrMV0pO3RbbysxXT1FYyhlLHMpLDAhPT1lJiYodFtlKzFdPUljKHRbZSsxXSxvKSksdFtzKzFdPShmdW5jdGlvbiBwKHQsZSl7cmV0dXJuIG5nRGV2TW9kZSYmcG4odCwiZXhwZWN0ZWQgbnVtYmVyIiksbmdEZXZNb2RlJiZtbihlLDAsMzI3NjcpLDEzMTA3MSZ0fGU8PDE3fSkodFtzKzFdLG8pfWVsc2UgdFtvKzFdPUVjKHMsMCksMCE9PXMmJih0W3MrMV09SWModFtzKzFdLG8pKSxzPW99ZWxzZSB0W28rMV09RWMobCwwKSxuZ0Rldk1vZGUmJmduKDAhPT1zJiYwPT09bCwhMSwiQWRkaW5nIHRlbXBsYXRlIGJpbmRpbmdzIGFmdGVyIGhvc3RCaW5kaW5ncyBpcyBub3QgYWxsb3dlZC4iKSwwPT09cz9zPW86dFtsKzFdPUljKHRbbCsxXSxvKSxsPW87ZCYmKHRbbysxXT1OYyh0W28rMV0pKSxLZih0LGMsbywhMCksS2YodCxjLG8sITEpLChmdW5jdGlvbiBtKHQsZSxuLG8saSl7Y29uc3QgYT1pP3QucmVzaWR1YWxDbGFzc2VzOnQucmVzaWR1YWxTdHlsZXM7bnVsbCE9YSYmInN0cmluZyI9PXR5cGVvZiBlJiZ5cihhLGUpPj0wJiYobltvKzFdPUZjKG5bbysxXSkpfSkoZSxjLHQsbyxhKSxyPUVjKHMsbCksYT9lLmNsYXNzQmluZGluZ3M9cjplLnN0eWxlQmluZGluZ3M9cn1mdW5jdGlvbiBLZih0LGUsbixvLGkpe2NvbnN0IGE9dFtuKzFdLHI9bnVsbD09PWU7bGV0IHM9bz9BYyhhKTp6YyhhKSxsPSExO2Zvcig7MCE9PXMmJighMT09PWx8fHIpOyl7bmdEZXZNb2RlJiZ3bih0LHMpO2NvbnN0IG49dFtzKzFdO0pmKHRbc10sZSkmJihsPSEwLHRbcysxXT1vP0ZjKG4pOk5jKG4pKSxzPW8/QWMobik6emMobil9bCYmKHRbbisxXT1vP05jKGEpOkZjKGEpKX1mdW5jdGlvbiBKZih0LGUpe3JldHVybiBuZ0Rldk1vZGUmJmhuKEFycmF5LmlzQXJyYXkoZSksITAsIkV4cGVjdGVkIHRoYXQgJ3RTdHlsaW5nS2V5JyBoYXMgYmVlbiB1bndyYXBwZWQiKSxudWxsPT09dHx8bnVsbD09ZXx8KEFycmF5LmlzQXJyYXkodCk/dFsxXTp0KT09PWV8fCEoIUFycmF5LmlzQXJyYXkodCl8fCJzdHJpbmciIT10eXBlb2YgZSkmJnlyKHQsZSk+PTB9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFFmPXt0ZXh0RW5kOjAsa2V5OjAsa2V5RW5kOjAsdmFsdWU6MCx2YWx1ZUVuZDowfTtmdW5jdGlvbiAkZih0KXtyZXR1cm4gdC5zdWJzdHJpbmcoUWYua2V5LFFmLmtleUVuZCl9ZnVuY3Rpb24gdHUodCl7cmV0dXJuIHQuc3Vic3RyaW5nKFFmLnZhbHVlLFFmLnZhbHVlRW5kKX1mdW5jdGlvbiBldSh0LGUpe2NvbnN0IG49UWYudGV4dEVuZDtyZXR1cm4gbj09PWU/LTE6KGU9UWYua2V5RW5kPShmdW5jdGlvbiBvKHQsZSxuKXtmb3IoO2U8biYmdC5jaGFyQ29kZUF0KGUpPjMyOyllKys7cmV0dXJuIGV9KSh0LFFmLmtleT1lLG4pLGl1KHQsZSxuKSl9ZnVuY3Rpb24gbnUodCxlKXtjb25zdCBuPVFmLnRleHRFbmQ7bGV0IG89UWYua2V5PWl1KHQsZSxuKTtyZXR1cm4gbj09PW8/LTE6KG89UWYua2V5RW5kPShmdW5jdGlvbiBpKHQsZSxuKXtsZXQgbztmb3IoO2U8biYmKDQ1PT09KG89dC5jaGFyQ29kZUF0KGUpKXx8OTU9PT1vfHwoLTMzJm8pPj02NSYmKC0zMyZvKTw9OTB8fG8+PTQ4JiZvPD01Nyk7KWUrKztyZXR1cm4gZX0pKHQsbyxuKSxvPWF1KHQsbyxuLDU4KSxvPVFmLnZhbHVlPWl1KHQsbyxuKSxvPVFmLnZhbHVlRW5kPShmdW5jdGlvbiBhKHQsZSxuKXtsZXQgbz0tMSxpPS0xLGE9LTEscj1lLHM9cjtmb3IoO3I8bjspe2NvbnN0IGw9dC5jaGFyQ29kZUF0KHIrKyk7aWYoNTk9PT1sKXJldHVybiBzOzM0PT09bHx8Mzk9PT1sP3M9cj1ydSh0LGwscixuKTplPT09ci00JiY4NT09PWEmJjgyPT09aSYmNzY9PT1vJiY0MD09PWw/cz1yPXJ1KHQsNDEscixuKTpsPjMyJiYocz1yKSxhPWksaT1vLG89LTMzJmx9cmV0dXJuIHN9KSh0LG8sbiksYXUodCxvLG4sNTkpKX1mdW5jdGlvbiBvdSh0KXtRZi5rZXk9MCxRZi5rZXlFbmQ9MCxRZi52YWx1ZT0wLFFmLnZhbHVlRW5kPTAsUWYudGV4dEVuZD10Lmxlbmd0aH1mdW5jdGlvbiBpdSh0LGUsbil7Zm9yKDtlPG4mJnQuY2hhckNvZGVBdChlKTw9MzI7KWUrKztyZXR1cm4gZX1mdW5jdGlvbiBhdSh0LGUsbixvKXtyZXR1cm4oZT1pdSh0LGUsbikpPG4mJihuZ0Rldk1vZGUmJnQuY2hhckNvZGVBdChlKSE9PW8mJnN1KHQsU3RyaW5nLmZyb21DaGFyQ29kZShvKSxlKSxlKyspLGV9ZnVuY3Rpb24gcnUodCxlLG4sbyl7bGV0IGk9LTEsYT1uO2Zvcig7YTxvOyl7Y29uc3Qgbj10LmNoYXJDb2RlQXQoYSsrKTtpZihuPT1lJiY5MiE9PWkpcmV0dXJuIGE7aT05Mj09biYmOTI9PT1pPzA6bn10aHJvdyBuZ0Rldk1vZGU/c3UodCxTdHJpbmcuZnJvbUNoYXJDb2RlKGUpLG8pOm5ldyBFcnJvcn1mdW5jdGlvbiBzdSh0LGUsbil7dGhyb3cgbmdEZXZNb2RlJiZnbigic3RyaW5nIj09dHlwZW9mIHQsITAsIlN0cmluZyBleHBlY3RlZCBoZXJlIiksT24oYE1hbGZvcm1lZCBzdHlsZSBhdCBsb2NhdGlvbiAke259IGluIHN0cmluZyAnYCt0LnN1YnN0cmluZygwLG4pKyJbPj4iK3Quc3Vic3RyaW5nKG4sbisxKSsiPDxdIit0LnN1YnN0cihuKzEpK2AnLiBFeHBlY3RpbmcgJyR7ZX0nLmApfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBsdSh0LGUsbil7cmV0dXJuIHV1KHQsZSxuLCExKSxsdX1mdW5jdGlvbiBjdSh0LGUpe3JldHVybiB1dSh0LGUsbnVsbCwhMCksY3V9ZnVuY3Rpb24gZHUodCl7Z3UoQ3UscHUsdCwhMSl9ZnVuY3Rpb24gcHUodCxlKXtmb3IobGV0IG49KGZ1bmN0aW9uIG4odCl7cmV0dXJuIG91KHQpLG51KHQsaXUodCwwLFFmLnRleHRFbmQpKX0pKGUpO24+PTA7bj1udShlLG4pKUN1KHQsJGYoZSksdHUoZSkpfWZ1bmN0aW9uIG11KHQpe2d1KGhyLGZ1LHQsITApfWZ1bmN0aW9uIGZ1KHQsZSl7Zm9yKGxldCBuPShmdW5jdGlvbiBuKHQpe3JldHVybiBvdSh0KSxldSh0LGl1KHQsMCxRZi50ZXh0RW5kKSl9KShlKTtuPj0wO249ZXUoZSxuKSlocih0LCRmKGUpLCEwKX1mdW5jdGlvbiB1dSh0LGUsbixvKXtjb25zdCBpPXhpKCksYT1PaSgpLHI9RmkoMik7aWYoYS5maXJzdFVwZGF0ZVBhc3MmJmJ1KGEsdCxyLG8pLGUhPT1TYyYmdW0oaSxyLGUpKXtNdShhLGEuZGF0YVt0YSgpXSxpLGlbMTFdLHQsaVtyKzFdPShmdW5jdGlvbiBzKHQsZSl7bnVsbD09dHx8KCJzdHJpbmciPT10eXBlb2YgZT90Kz1lOiJvYmplY3QiPT10eXBlb2YgdCYmKHQ9S2UodXModCkpKSk7cmV0dXJuIHR9KShlLG4pLG8scil9fWZ1bmN0aW9uIGd1KHQsZSxuLG8pe2NvbnN0IGk9T2koKSxhPUZpKDIpO2kuZmlyc3RVcGRhdGVQYXNzJiZidShpLG51bGwsYSxvKTtjb25zdCByPXhpKCk7aWYobiE9PVNjJiZ1bShyLGEsbikpe2NvbnN0IHM9aS5kYXRhW3RhKCldO2lmKE91KHMsbykmJiFodShpLGEpKXtpZihuZ0Rldk1vZGUpe2NvbnN0IHQ9aS5kYXRhW2FdO2duKEFycmF5LmlzQXJyYXkodCk/dFsxXTp0LCExLCJTdHlsaW5nIGxpbmtlZCBsaXN0IHNoYWRvdyBpbnB1dCBzaG91bGQgYmUgbWFya2VkIGFzICdmYWxzZSciKX1sZXQgdD1vP3MuY2xhc3Nlc1dpdGhvdXRIb3N0OnMuc3R5bGVzV2l0aG91dEhvc3Q7bmdEZXZNb2RlJiYhMT09PW8mJm51bGwhPT10JiZnbih0LmVuZHNXaXRoKCI7IiksITAsIkV4cGVjdGluZyBzdGF0aWMgcG9ydGlvbiB0byBlbmQgd2l0aCAnOyciKSxudWxsIT09dCYmKG49SmUodCxufHwiIikpLHlmKGkscyxyLG4sbyl9ZWxzZSEoZnVuY3Rpb24gbCh0LGUsbixvLGksYSxyLHMpe2k9PT1TYyYmKGk9UW4pO2xldCBsPTAsYz0wLGQ9MDxpLmxlbmd0aD9pWzBdOm51bGwscD0wPGEubGVuZ3RoP2FbMF06bnVsbDtmb3IoO251bGwhPT1kfHxudWxsIT09cDspe25nRGV2TW9kZSYmX24obCw5OTksIkFyZSB3ZSBzdHVjayBpbiBpbmZpbml0ZSBsb29wPyIpLG5nRGV2TW9kZSYmX24oYyw5OTksIkFyZSB3ZSBzdHVjayBpbiBpbmZpbml0ZSBsb29wPyIpO2NvbnN0IG09bDxpLmxlbmd0aD9pW2wrMV06dm9pZCAwLGY9YzxhLmxlbmd0aD9hW2MrMV06dm9pZCAwO2xldCB1LGc9bnVsbDtkPT09cD8obCs9MixjKz0yLG0hPT1mJiYoZz1wLHU9ZikpOm51bGw9PT1wfHxudWxsIT09ZCYmZDxwPyhsKz0yLGc9ZCk6KG5nRGV2TW9kZSYmeG4ocCwiRXhwZWN0aW5nIHRvIGhhdmUgYSB2YWxpZCBrZXkiKSxjKz0yLGc9cCx1PWYpLG51bGwhPT1nJiZNdSh0LGUsbixvLGcsdSxyLHMpLGQ9bDxpLmxlbmd0aD9pW2xdOm51bGwscD1jPGEubGVuZ3RoP2FbY106bnVsbH19KShpLHMscixyWzExXSxyW2ErMV0sclthKzFdPShmdW5jdGlvbiBzKHQsZSxuKXtpZihudWxsPT1ufHwiIj09PW4pcmV0dXJuIFFuO2NvbnN0IG89W10saT11cyhuKTtpZihBcnJheS5pc0FycmF5KGkpKWZvcihsZXQgZT0wO2U8aS5sZW5ndGg7ZSsrKXQobyxpW2VdLCEwKTtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgaSlmb3IoY29uc3QgZSBpbiBpKWkuaGFzT3duUHJvcGVydHkoZSkmJnQobyxlLGlbZV0pO2Vsc2Uic3RyaW5nIj09dHlwZW9mIGk/ZShvLGkpOm5nRGV2TW9kZSYmT24oIlVuc3VwcG9ydGVkIHN0eWxpbmcgdHlwZSAiK3R5cGVvZiBpKyI6ICIraSk7cmV0dXJuIG99KSh0LGUsbiksbyxhKX19ZnVuY3Rpb24gaHUodCxlKXtyZXR1cm4gZT49dC5leHBhbmRvU3RhcnRJbmRleH1mdW5jdGlvbiBidSh0LGUsbixvKXtuZ0Rldk1vZGUmJkJvKHQpO2NvbnN0IGk9dC5kYXRhO2lmKG51bGw9PT1pW24rMV0pe2NvbnN0IGE9aVt0YSgpXTtuZ0Rldk1vZGUmJnhuKGEsIlROb2RlIGV4cGVjdGVkIik7Y29uc3Qgcj1odSh0LG4pO091KGEsbykmJm51bGw9PT1lJiYhciYmKGU9ITEpLGU9KGZ1bmN0aW9uIGEodCxlLG4sbyl7Y29uc3QgaT1qaSh0KTtsZXQgYT1vP2UucmVzaWR1YWxDbGFzc2VzOmUucmVzaWR1YWxTdHlsZXM7aWYobnVsbD09PWkpezA9PT0obz9lLmNsYXNzQmluZGluZ3M6ZS5zdHlsZUJpbmRpbmdzKSYmKG49X3Uobj15dShudWxsLHQsZSxuLG8pLGUuYXR0cnMsbyksYT1udWxsKX1lbHNle2NvbnN0IHI9ZS5kaXJlY3RpdmVTdHlsaW5nTGFzdDtpZigtMT09PXJ8fHRbcl0hPT1pKWlmKG49eXUoaSx0LGUsbixvKSxudWxsPT09YSl7bGV0IG49KGZ1bmN0aW9uIHIodCxlLG4pe2NvbnN0IG89bj9lLmNsYXNzQmluZGluZ3M6ZS5zdHlsZUJpbmRpbmdzO2lmKDA9PT16YyhvKSlyZXR1cm47cmV0dXJuIHRbQWMobyldfSkodCxlLG8pO3ZvaWQgMCE9PW4mJkFycmF5LmlzQXJyYXkobikmJihuPXl1KG51bGwsdCxlLG5bMV0sbyksbj1fdShuLGUuYXR0cnMsbyksKGZ1bmN0aW9uIHModCxlLG4sbyl7Y29uc3QgaT1uP2UuY2xhc3NCaW5kaW5nczplLnN0eWxlQmluZGluZ3M7bmdEZXZNb2RlJiZobih6YyhpKSwwLCJFeHBlY3RpbmcgdG8gaGF2ZSBhdCBsZWFzdCBvbmUgdGVtcGxhdGUgc3R5bGluZyBiaW5kaW5nLiIpLHRbQWMoaSldPW99KSh0LGUsbyxuKSl9ZWxzZSBhPShmdW5jdGlvbiBsKHQsZSxuKXtsZXQgbztjb25zdCBpPWUuZGlyZWN0aXZlRW5kO25nRGV2TW9kZSYmaG4oZS5kaXJlY3RpdmVTdHlsaW5nTGFzdCwtMSwiQnkgdGhlIHRpbWUgdGhpcyBmdW5jdGlvbiBnZXRzIGNhbGxlZCBhdCBsZWFzdCBvbmUgaG9zdEJpbmRpbmdzLW5vZGUgc3R5bGluZyBpbnN0cnVjdGlvbiBtdXN0IGhhdmUgZXhlY3V0ZWQuIik7Zm9yKGxldCBhPTErZS5kaXJlY3RpdmVTdHlsaW5nTGFzdDthPGk7YSsrKXtvPV91KG8sdFthXS5ob3N0QXR0cnMsbil9cmV0dXJuIF91KG8sZS5hdHRycyxuKX0pKHQsZSxvKX12b2lkIDAhPT1hJiYobz9lLnJlc2lkdWFsQ2xhc3Nlcz1hOmUucmVzaWR1YWxTdHlsZXM9YSk7cmV0dXJuIG59KShpLGEsZSxvKSxYZihpLGEsZSxuLHIsbyl9fWZ1bmN0aW9uIHl1KHQsZSxuLG8saSl7bGV0IGE9bnVsbDtjb25zdCByPW4uZGlyZWN0aXZlRW5kO2xldCBzPW4uZGlyZWN0aXZlU3R5bGluZ0xhc3Q7Zm9yKC0xPT09cz9zPW4uZGlyZWN0aXZlU3RhcnQ6cysrO3M8ciYmKGE9ZVtzXSxuZ0Rldk1vZGUmJnhuKGEsImV4cGVjdGVkIHRvIGJlIGRlZmluZWQiKSxvPV91KG8sYS5ob3N0QXR0cnMsaSksYSE9PXQpOylzKys7cmV0dXJuIG51bGwhPT10JiYobi5kaXJlY3RpdmVTdHlsaW5nTGFzdD1zKSxvfWZ1bmN0aW9uIF91KHQsZSxuKXtjb25zdCBvPW4/MToyO2xldCBpPS0xO2lmKG51bGwhPT1lKWZvcihsZXQgYT0wO2E8ZS5sZW5ndGg7YSsrKXtjb25zdCByPWVbYV07Im51bWJlciI9PXR5cGVvZiByP2k9cjppPT09byYmKEFycmF5LmlzQXJyYXkodCl8fCh0PXZvaWQgMD09PXQ/W106WyIiLHRdKSxocih0LHIsISFufHxlWysrYV0pKX1yZXR1cm4gdm9pZCAwPT09dD9udWxsOnR9ZnVuY3Rpb24gQ3UodCxlLG4pe2hyKHQsZSx1cyhuKSl9ZnVuY3Rpb24gTXUodCxlLG4sbyxpLGEscixzKXtpZighKDMmZS50eXBlKSlyZXR1cm47Y29uc3QgbD10LmRhdGEsYz1sW3MrMV07aWYoIXh1KEhjKGMpP3Z1KGwsZSxuLGksemMoYykscik6dm9pZCAwKSl7eHUoYSl8fFRjKGMpJiYoYT12dShsLG51bGwsbixpLHMscikpOyEoZnVuY3Rpb24gZCh0LGUsbixvLGkpe2NvbnN0IGE9cmkodCk7aWYoZSlpPyhuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckFkZENsYXNzKyssYT90LmFkZENsYXNzKG4sbyk6KG5nRGV2TW9kZSYmeG4obi5jbGFzc0xpc3QsIkhUTUxFbGVtZW50IGV4cGVjdGVkIiksbi5jbGFzc0xpc3QuYWRkKG8pKSk6KG5nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyUmVtb3ZlQ2xhc3MrKyxhP3QucmVtb3ZlQ2xhc3MobixvKTpuLmNsYXNzTGlzdC5yZW1vdmUobykpO2Vsc2V7bGV0IGU9LTE9PT1vLmluZGV4T2YoIi0iKT92b2lkIDA6RWwuRGFzaENhc2U7aWYobnVsbD09aSluZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlclJlbW92ZVN0eWxlKyssYT90LnJlbW92ZVN0eWxlKG4sbyxlKTpuLnN0eWxlLnJlbW92ZVByb3BlcnR5KG8pO2Vsc2V7Y29uc3Qgcj0ic3RyaW5nIj09dHlwZW9mIGkmJmkuZW5kc1dpdGgoIiFpbXBvcnRhbnQiKTtyJiYoaT1pLnNsaWNlKDAsLTEwKSxlfD1FbC5JbXBvcnRhbnQpLG5nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyU2V0U3R5bGUrKyxhP3Quc2V0U3R5bGUobixvLGksZSk6KG5nRGV2TW9kZSYmeG4obi5zdHlsZSwiSFRNTEVsZW1lbnQgZXhwZWN0ZWQiKSxuLnN0eWxlLnNldFByb3BlcnR5KG8saSxyPyJpbXBvcnRhbnQiOiIiKSl9fX0pKG8scixjaSh0YSgpLG4pLGksYSl9fWZ1bmN0aW9uIHZ1KHQsZSxuLG8saSxhKXtjb25zdCByPW51bGw9PT1lO2xldCBzO2Zvcig7aT4wOyl7Y29uc3QgZT10W2ldLGE9QXJyYXkuaXNBcnJheShlKSxsPWE/ZVsxXTplLGM9bnVsbD09PWw7bGV0IGQ9bltpKzFdO2Q9PT1TYyYmKGQ9Yz9Rbjp2b2lkIDApO2xldCBwPWM/YnIoZCxvKTpsPT09bz9kOnZvaWQgMDtpZihhJiYheHUocCkmJihwPWJyKGUsbykpLHh1KHApJiYocz1wLHIpKXJldHVybiBzO2NvbnN0IG09dFtpKzFdO2k9cj9BYyhtKTp6YyhtKX1pZihudWxsIT09ZSl7bGV0IHQ9YT9lLnJlc2lkdWFsQ2xhc3NlczplLnJlc2lkdWFsU3R5bGVzO251bGwhPXQmJihzPWJyKHQsbykpfXJldHVybiBzfWZ1bmN0aW9uIHh1KHQpe3JldHVybiB2b2lkIDAhPT10fWZ1bmN0aW9uIE91KHQsZSl7cmV0dXJuIDAhPSh0LmZsYWdzJihlPzE2OjMyKSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFB1KHQsZT0iIil7Y29uc3Qgbj14aSgpLG89T2koKSxpPXQrdm87bmdEZXZNb2RlJiZnbih6aSgpLG8uYmluZGluZ1N0YXJ0SW5kZXgsInRleHQgbm9kZXMgc2hvdWxkIGJlIGNyZWF0ZWQgYmVmb3JlIGFueSBiaW5kaW5ncyIpLG5nRGV2TW9kZSYmd24obixpKTtjb25zdCBhPW8uZmlyc3RDcmVhdGVQYXNzP19kKG8saSwxLGUsbnVsbCk6by5kYXRhW2ldLHI9bltpXT1CbChuWzExXSxlKTtyYyhvLG4scixhKSxEaShhLCExKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gd3UodCl7cmV0dXJuIGt1KCIiLHQsIiIpLHd1fWZ1bmN0aW9uIGt1KHQsZSxuKXtjb25zdCBvPXhpKCksaT1DbShvLHQsZSxuKTtyZXR1cm4gaSE9PVNjJiZncChvLHRhKCksaSksa3V9ZnVuY3Rpb24gU3UodCxlLG4sbyxpKXtjb25zdCBhPXhpKCkscj1NbShhLHQsZSxuLG8saSk7cmV0dXJuIHIhPT1TYyYmZ3AoYSx0YSgpLHIpLFN1fWZ1bmN0aW9uIER1KHQsZSxuLG8saSxhLHIpe2NvbnN0IHM9eGkoKSxsPXZtKHMsdCxlLG4sbyxpLGEscik7cmV0dXJuIGwhPT1TYyYmZ3Aocyx0YSgpLGwpLER1fWZ1bmN0aW9uIFJ1KHQsZSxuLG8saSxhLHIscyxsKXtjb25zdCBjPXhpKCksZD14bShjLHQsZSxuLG8saSxhLHIscyxsKTtyZXR1cm4gZCE9PVNjJiZncChjLHRhKCksZCksUnV9ZnVuY3Rpb24gRXUodCxlLG4sbyxpLGEscixzLGwsYyxkKXtjb25zdCBwPXhpKCksbT1PbShwLHQsZSxuLG8saSxhLHIscyxsLGMsZCk7cmV0dXJuIG0hPT1TYyYmZ3AocCx0YSgpLG0pLEV1fWZ1bmN0aW9uIEF1KHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0pe2NvbnN0IGY9eGkoKSx1PVBtKGYsdCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSk7cmV0dXJuIHUhPT1TYyYmZ3AoZix0YSgpLHUpLEF1fWZ1bmN0aW9uIFR1KHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1KXtjb25zdCBnPXhpKCksaD13bShnLHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1KTtyZXR1cm4gaCE9PVNjJiZncChnLHRhKCksaCksVHV9ZnVuY3Rpb24gTnUodCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoKXtjb25zdCBiPXhpKCkseT1rbShiLHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCk7cmV0dXJuIHkhPT1TYyYmZ3AoYix0YSgpLHkpLE51fWZ1bmN0aW9uIHp1KHQpe2NvbnN0IGU9eGkoKSxuPV9tKGUsdCk7cmV0dXJuIG4hPT1TYyYmZ3AoZSx0YSgpLG4pLHp1fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBJdSh0LGUsbil7Z3UoaHIsZnUsQ20oeGkoKSx0LGUsbiksITApfWZ1bmN0aW9uIEh1KHQsZSxuLG8saSl7Z3UoaHIsZnUsTW0oeGkoKSx0LGUsbixvLGkpLCEwKX1mdW5jdGlvbiBGdSh0LGUsbixvLGksYSxyKXtndShocixmdSx2bSh4aSgpLHQsZSxuLG8saSxhLHIpLCEwKX1mdW5jdGlvbiBMdSh0LGUsbixvLGksYSxyLHMsbCl7Z3UoaHIsZnUseG0oeGkoKSx0LGUsbixvLGksYSxyLHMsbCksITApfWZ1bmN0aW9uIEJ1KHQsZSxuLG8saSxhLHIscyxsLGMsZCl7Z3UoaHIsZnUsT20oeGkoKSx0LGUsbixvLGksYSxyLHMsbCxjLGQpLCEwKX1mdW5jdGlvbiBWdSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtKXtndShocixmdSxQbSh4aSgpLHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0pLCEwKX1mdW5jdGlvbiBqdSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSl7Z3UoaHIsZnUsd20oeGkoKSx0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSksITApfWZ1bmN0aW9uIFV1KHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCl7Z3UoaHIsZnUsa20oeGkoKSx0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnLGgpLCEwKX1mdW5jdGlvbiBXdSh0KXtndShocixmdSxfbSh4aSgpLHQpLCEwKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gR3UodCxlLG4pe2R1KENtKHhpKCksdCxlLG4pKX1mdW5jdGlvbiBZdSh0LGUsbixvLGkpe2R1KE1tKHhpKCksdCxlLG4sbyxpKSl9ZnVuY3Rpb24gcXUodCxlLG4sbyxpLGEscil7ZHUodm0oeGkoKSx0LGUsbixvLGksYSxyKSl9ZnVuY3Rpb24gWnUodCxlLG4sbyxpLGEscixzLGwpe2R1KHhtKHhpKCksdCxlLG4sbyxpLGEscixzLGwpKX1mdW5jdGlvbiBYdSh0LGUsbixvLGksYSxyLHMsbCxjLGQpe2R1KE9tKHhpKCksdCxlLG4sbyxpLGEscixzLGwsYyxkKSl9ZnVuY3Rpb24gS3UodCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSl7ZHUoUG0oeGkoKSx0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtKSl9ZnVuY3Rpb24gSnUodCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUpe2R1KHdtKHhpKCksdCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUpKX1mdW5jdGlvbiBRdSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnLGgpe2R1KGttKHhpKCksdCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoKSl9ZnVuY3Rpb24gJHUodCl7ZHUoX20oeGkoKSx0KSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIHRnKHQsZSxuLG8saSl7cmV0dXJuIHV1KHQsQ20oeGkoKSxlLG4sbyksaSwhMSksdGd9ZnVuY3Rpb24gZWcodCxlLG4sbyxpLGEscil7cmV0dXJuIHV1KHQsTW0oeGkoKSxlLG4sbyxpLGEpLHIsITEpLGVnfWZ1bmN0aW9uIG5nKHQsZSxuLG8saSxhLHIscyxsKXtyZXR1cm4gdXUodCx2bSh4aSgpLGUsbixvLGksYSxyLHMpLGwsITEpLG5nfWZ1bmN0aW9uIG9nKHQsZSxuLG8saSxhLHIscyxsLGMsZCl7cmV0dXJuIHV1KHQseG0oeGkoKSxlLG4sbyxpLGEscixzLGwsYyksZCwhMSksb2d9ZnVuY3Rpb24gaWcodCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSl7cmV0dXJuIHV1KHQsT20oeGkoKSxlLG4sbyxpLGEscixzLGwsYyxkLHApLG0sITEpLGlnfWZ1bmN0aW9uIGFnKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1KXtyZXR1cm4gdXUodCxQbSh4aSgpLGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYpLHUsITEpLGFnfWZ1bmN0aW9uIHJnKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCl7cmV0dXJuIHV1KHQsd20oeGkoKSxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyksaCwhMSkscmd9ZnVuY3Rpb24gc2codCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoLGIseSl7cmV0dXJuIHV1KHQsa20oeGkoKSxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoLGIpLHksITEpLHNnfWZ1bmN0aW9uIGxnKHQsZSxuKXtyZXR1cm4gdXUodCxfbSh4aSgpLGUpLG4sITEpLGxnfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBjZyh0LGUsbil7Y29uc3Qgbz14aSgpLGk9SGkoKTtpZih1bShvLGksZSkpe2NvbnN0IGE9T2koKSxyPW5hKCk7emQoYSxyLG8sdCxlLG9bMTFdLG4sITApLG5nRGV2TW9kZSYmbHAoYS5kYXRhLHIsdCxpKX1yZXR1cm4gY2d9ZnVuY3Rpb24gZGcodCxlLG4pe2NvbnN0IG89eGkoKSxpPUhpKCk7aWYodW0obyxpLGUpKXtjb25zdCBhPU9pKCkscj1uYSgpO3pkKGEscixvLHQsZSxtcChqaShhLmRhdGEpLHIsbyksbiwhMCksbmdEZXZNb2RlJiZscChhLmRhdGEscix0LGkpfXJldHVybiBkZ30KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmKFhuLm5nSTE4bkNsb3N1cmVNb2RlPSJ1bmRlZmluZWQiIT10eXBlb2YgZ29vZyYmImZ1bmN0aW9uIj09dHlwZW9mIGdvb2cuZ2V0TXNnKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgcGc9dm9pZCAwO3ZhciBtZz1bImVuIixbWyJhIiwicCJdLFsiQU0iLCJQTSJdLHBnXSxbWyJBTSIsIlBNIl0scGcscGddLFtbIlMiLCJNIiwiVCIsIlciLCJUIiwiRiIsIlMiXSxbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLFsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSxbIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl1dLHBnLFtbIkoiLCJGIiwiTSIsIkEiLCJNIiwiSiIsIkoiLCJBIiwiUyIsIk8iLCJOIiwiRCJdLFsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl0sWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdXSxwZyxbWyJCIiwiQSJdLFsiQkMiLCJBRCJdLFsiQmVmb3JlIENocmlzdCIsIkFubm8gRG9taW5pIl1dLDAsWzYsMF0sWyJNL2QveXkiLCJNTU0gZCwgeSIsIk1NTU0gZCwgeSIsIkVFRUUsIE1NTU0gZCwgeSJdLFsiaDptbSBhIiwiaDptbTpzcyBhIiwiaDptbTpzcyBhIHoiLCJoOm1tOnNzIGEgenp6eiJdLFsiezF9LCB7MH0iLHBnLCJ7MX0gJ2F0JyB7MH0iLHBnXSxbIi4iLCIsIiwiOyIsIiUiLCIrIiwiLSIsIkUiLCLDlyIsIuKAsCIsIuKIniIsIk5hTiIsIjoiXSxbIiMsIyMwLiMjIyIsIiMsIyMwJSIsIsKkIywjIzAuMDAiLCIjRTAiXSwiVVNEIiwiJCIsIlVTIERvbGxhciIse30sImx0ciIsZnVuY3Rpb24gZmcodCl7Y29uc3QgZT1NYXRoLmZsb29yKE1hdGguYWJzKHQpKSxuPXQudG9TdHJpbmcoKS5yZXBsYWNlKC9eW14uXSpcLj8vLCIiKS5sZW5ndGg7cmV0dXJuIDE9PT1lJiYwPT09bj8xOjV9XTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovbGV0IHVnPXt9O2Z1bmN0aW9uIGdnKHQpe2NvbnN0IGU9KGZ1bmN0aW9uIG4odCl7cmV0dXJuIHQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9fL2csIi0iKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0KTtsZXQgbz1iZyhlKTtpZihvKXJldHVybiBvO2NvbnN0IGk9ZS5zcGxpdCgiLSIpWzBdO2lmKG89YmcoaSksbylyZXR1cm4gbztpZigiZW4iPT09aSlyZXR1cm4gbWc7dGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIGxvY2FsZSBkYXRhIGZvciB0aGUgbG9jYWxlICIke3R9Ii5gKX1mdW5jdGlvbiBoZyh0KXtyZXR1cm4gZ2codClbeWcuUGx1cmFsQ2FzZV19ZnVuY3Rpb24gYmcodCl7cmV0dXJuIHQgaW4gdWd8fCh1Z1t0XT1Ybi5uZyYmWG4ubmcuY29tbW9uJiZYbi5uZy5jb21tb24ubG9jYWxlcyYmWG4ubmcuY29tbW9uLmxvY2FsZXNbdF0pLHVnW3RdfXZhciB5ZzshKGZ1bmN0aW9uKHQpe3RbdC5Mb2NhbGVJZD0wXT0iTG9jYWxlSWQiLHRbdC5EYXlQZXJpb2RzRm9ybWF0PTFdPSJEYXlQZXJpb2RzRm9ybWF0Iix0W3QuRGF5UGVyaW9kc1N0YW5kYWxvbmU9Ml09IkRheVBlcmlvZHNTdGFuZGFsb25lIix0W3QuRGF5c0Zvcm1hdD0zXT0iRGF5c0Zvcm1hdCIsdFt0LkRheXNTdGFuZGFsb25lPTRdPSJEYXlzU3RhbmRhbG9uZSIsdFt0Lk1vbnRoc0Zvcm1hdD01XT0iTW9udGhzRm9ybWF0Iix0W3QuTW9udGhzU3RhbmRhbG9uZT02XT0iTW9udGhzU3RhbmRhbG9uZSIsdFt0LkVyYXM9N109IkVyYXMiLHRbdC5GaXJzdERheU9mV2Vlaz04XT0iRmlyc3REYXlPZldlZWsiLHRbdC5XZWVrZW5kUmFuZ2U9OV09IldlZWtlbmRSYW5nZSIsdFt0LkRhdGVGb3JtYXQ9MTBdPSJEYXRlRm9ybWF0Iix0W3QuVGltZUZvcm1hdD0xMV09IlRpbWVGb3JtYXQiLHRbdC5EYXRlVGltZUZvcm1hdD0xMl09IkRhdGVUaW1lRm9ybWF0Iix0W3QuTnVtYmVyU3ltYm9scz0xM109Ik51bWJlclN5bWJvbHMiLHRbdC5OdW1iZXJGb3JtYXRzPTE0XT0iTnVtYmVyRm9ybWF0cyIsdFt0LkN1cnJlbmN5Q29kZT0xNV09IkN1cnJlbmN5Q29kZSIsdFt0LkN1cnJlbmN5U3ltYm9sPTE2XT0iQ3VycmVuY3lTeW1ib2wiLHRbdC5DdXJyZW5jeU5hbWU9MTddPSJDdXJyZW5jeU5hbWUiLHRbdC5DdXJyZW5jaWVzPTE4XT0iQ3VycmVuY2llcyIsdFt0LkRpcmVjdGlvbmFsaXR5PTE5XT0iRGlyZWN0aW9uYWxpdHkiLHRbdC5QbHVyYWxDYXNlPTIwXT0iUGx1cmFsQ2FzZSIsdFt0LkV4dHJhRGF0YT0yMV09IkV4dHJhRGF0YSJ9KSh5Z3x8KHlnPXt9KSk7Y29uc3QgX2c9WyJ6ZXJvIiwib25lIiwidHdvIiwiZmV3IiwibWFueSJdO2NvbnN0IENnPSJlbi1VUyIsTWc9e21hcmtlcjoiZWxlbWVudCJ9LHZnPXttYXJrZXI6IklDVSJ9O3ZhciB4ZzshKGZ1bmN0aW9uKHQpe3RbdC5TSElGVD0yXT0iU0hJRlQiLHRbdC5BUFBFTkRfRUFHRVJMWT0xXT0iQVBQRU5EX0VBR0VSTFkiLHRbdC5DT01NRU5UPTJdPSJDT01NRU5UIn0pKHhnfHwoeGc9e30pKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBPZz1DZztmdW5jdGlvbiBQZyh0KXt4bih0LCJFeHBlY3RlZCBsb2NhbGVJZCB0byBiZSBkZWZpbmVkIiksInN0cmluZyI9PXR5cGVvZiB0JiYoT2c9dC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL18vZywiLSIpKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIHdnKHQsZSxuKXtjb25zdCBvPWUuaW5zZXJ0QmVmb3JlSW5kZXgsaT1BcnJheS5pc0FycmF5KG8pP29bMF06bztyZXR1cm4gbnVsbD09PWk/bmModCwwLG4pOihuZ0Rldk1vZGUmJnduKG4saSksbGkobltpXSkpfWZ1bmN0aW9uIGtnKHQsZSxuLG8saSl7Y29uc3QgYT1lLmluc2VydEJlZm9yZUluZGV4O2lmKEFycmF5LmlzQXJyYXkoYSkpe25nRGV2TW9kZSYmUG4obyk7bGV0IHI9byxzPW51bGw7aWYoMyZlLnR5cGV8fChzPXIscj1pKSxudWxsIT09ciYmMD09KDImZS5mbGFncykpZm9yKGxldCBlPTE7ZTxhLmxlbmd0aDtlKyspe0psKHQscixuW2FbZV1dLHMsITEpfX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFNnKHQsZSl7aWYobmdEZXZNb2RlJiZnbihlLmluc2VydEJlZm9yZUluZGV4LG51bGwsIldlIGV4cGVjdCB0aGF0IGluc2VydEJlZm9yZUluZGV4IGlzIG5vdCBzZXQiKSx0LnB1c2goZSksdC5sZW5ndGg+MSlmb3IobGV0IG49dC5sZW5ndGgtMjtuPj0wO24tLSl7Y29uc3Qgbz10W25dO0RnKG8pfHxSZyhvLGUpJiZudWxsPT09RWcobykmJkFnKG8sZS5pbmRleCl9fWZ1bmN0aW9uIERnKHQpe3JldHVybiEoNjQmdC50eXBlKX1mdW5jdGlvbiBSZyh0LGUpe3JldHVybiBEZyhlKXx8dC5pbmRleD5lLmluZGV4fWZ1bmN0aW9uIEVnKHQpe2NvbnN0IGU9dC5pbnNlcnRCZWZvcmVJbmRleDtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lWzBdOmV9ZnVuY3Rpb24gQWcodCxlKXtjb25zdCBuPXQuaW5zZXJ0QmVmb3JlSW5kZXg7QXJyYXkuaXNBcnJheShuKT9uWzBdPWU6KGFjKHdnLGtnKSx0Lmluc2VydEJlZm9yZUluZGV4PWUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBUZyh0LGUpe2NvbnN0IG49dC5kYXRhW2VdO2lmKG51bGw9PT1ufHwic3RyaW5nIj09dHlwZW9mIG4pcmV0dXJuIG51bGw7IW5nRGV2TW9kZXx8bi5oYXNPd25Qcm9wZXJ0eSgidFZpZXdzIil8fG4uaGFzT3duUHJvcGVydHkoImN1cnJlbnRDYXNlTFZpZXdJbmRleCIpfHxPbigiV2UgZXhwZWN0IHRvIGdldCAnbnVsbCd8J1RJY3UnfCdUSWN1Q29udGFpbmVyJywgYnV0IGdvdDogIituKTtjb25zdCBvPW4uaGFzT3duUHJvcGVydHkoImN1cnJlbnRDYXNlTFZpZXdJbmRleCIpP246bi52YWx1ZTtyZXR1cm4gbmdEZXZNb2RlJiZObyhvKSxvfWZ1bmN0aW9uIE5nKHQsZSxuKXtjb25zdCBvPUNkKHQsbiw2NCxudWxsLG51bGwpO3JldHVybiBTZyhlLG8pLG99ZnVuY3Rpb24gemcodCxlKXtjb25zdCBuPWVbdC5jdXJyZW50Q2FzZUxWaWV3SW5kZXhdO3JldHVybiBudWxsPT09bj9uOm48MD9+bjpufWZ1bmN0aW9uIElnKHQpe3JldHVybiB0Pj4+MTd9ZnVuY3Rpb24gSGcodCl7cmV0dXJuKDEzMTA3MCZ0KT4+PjF9ZnVuY3Rpb24gRmcodCl7cmV0dXJuIDEmdH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBMZz0wLEJnPTA7ZnVuY3Rpb24gVmcodCxlLG4sbyl7bmdEZXZNb2RlJiZQbihvKTtjb25zdCBpPW5bMTFdO2xldCBhLHI9bnVsbDtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3QgbD1lW3NdO2lmKCJzdHJpbmciPT10eXBlb2YgbCl7Y29uc3QgdD1lWysrc107bnVsbD09PW5bdF0mJihuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckNyZWF0ZVRleHROb2RlKyssbmdEZXZNb2RlJiZ3bihuLHQpLG5bdF09QmwoaSxsKSl9ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGwpc3dpdGNoKDEmbCl7Y2FzZSAwOmNvbnN0IGM9SWcobCk7bGV0IGQscDtpZihudWxsPT09ciYmKHI9YyxhPXRjKGksbykpLGM9PT1yPyhkPW8scD1hKTooZD1udWxsLHA9bGkobltjXSkpLG51bGwhPT1wKXtuZ0Rldk1vZGUmJlBuKHApO2NvbnN0IGU9SGcobCk7bmdEZXZNb2RlJiZNbihlLHZvLCJNaXNzaW5nIHJlZiIpO2NvbnN0IG89bltlXTtuZ0Rldk1vZGUmJlBuKG8pLEpsKGkscCxvLGQsITEpO2NvbnN0IGE9VGcodCxlKTtpZihudWxsIT09YSYmIm9iamVjdCI9PXR5cGVvZiBhKXtuZ0Rldk1vZGUmJk5vKGEpO2NvbnN0IGU9emcoYSxuKTtudWxsIT09ZSYmVmcodCxhLmNyZWF0ZVtlXSxuLG5bYS5hbmNob3JJZHhdKX19YnJlYWs7Y2FzZSAxOmNvbnN0IG09ZVsrK3NdLGY9ZVsrK3NdO1pkKGksY2kobD4+PjEsbiksbnVsbCxudWxsLG0sZixudWxsKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGRldGVybWluZSB0aGUgdHlwZSBvZiBtdXRhdGUgb3BlcmF0aW9uIGZvciAiJHtsfSJgKX1lbHNlIHN3aXRjaChsKXtjYXNlIHZnOmNvbnN0IHQ9ZVsrK3NdLG89ZVsrK3NdO2lmKG51bGw9PT1uW29dKXtuZ0Rldk1vZGUmJmduKHR5cGVvZiB0LCJzdHJpbmciLGBFeHBlY3RlZCAiJHt0fSIgdG8gYmUgYSBjb21tZW50IG5vZGUgdmFsdWVgKSxuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckNyZWF0ZUNvbW1lbnQrKyxuZ0Rldk1vZGUmJlZvKG4sbyk7YWwobltvXT1qbChpLHQpLG4pfWJyZWFrO2Nhc2UgTWc6Y29uc3QgYT1lWysrc10scj1lWysrc107aWYobnVsbD09PW5bcl0pe25nRGV2TW9kZSYmZ24odHlwZW9mIGEsInN0cmluZyIsYEV4cGVjdGVkICIke2F9IiB0byBiZSBhbiBlbGVtZW50IG5vZGUgdGFnIG5hbWVgKSxuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckNyZWF0ZUVsZW1lbnQrKyxuZ0Rldk1vZGUmJlZvKG4scik7YWwobltyXT1VbChpLGEsbnVsbCksbil9YnJlYWs7ZGVmYXVsdDpuZ0Rldk1vZGUmJk9uKGBVbmFibGUgdG8gZGV0ZXJtaW5lIHRoZSB0eXBlIG9mIG11dGF0ZSBvcGVyYXRpb24gZm9yICIke2x9ImApfX19ZnVuY3Rpb24gamcodCxlLG4sbyxpKXtmb3IobGV0IGE9MDthPG4ubGVuZ3RoO2ErKyl7Y29uc3Qgcj1uW2FdLHM9blsrK2FdO2lmKHImaSl7bGV0IGk9IiI7Zm9yKGxldCByPWErMTtyPD1hK3M7cisrKXtjb25zdCBhPW5bcl07aWYoInN0cmluZyI9PXR5cGVvZiBhKWkrPWE7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGEpaWYoYTwwKWkrPXJuKGVbby1hXSk7ZWxzZXtjb25zdCBzPWE+Pj4yO3N3aXRjaCgzJmEpe2Nhc2UgMTpjb25zdCBhPW5bKytyXSxsPW5bKytyXSxjPXQuZGF0YVtzXTtuZ0Rldk1vZGUmJnhuKGMsIkV4cGVydGluZyBUTm9kZSBvciBzdHJpbmciKSwic3RyaW5nIj09dHlwZW9mIGM/WmQoZVsxMV0sZVtzXSxudWxsLGMsYSxpLGwpOnpkKHQsYyxlLGEsaSxlWzExXSxsLCExKTticmVhaztjYXNlIDA6Y29uc3QgZD1lW3NdO251bGwhPT1kJiZWbChlWzExXSxkLGkpO2JyZWFrO2Nhc2UgMjpXZyh0LFRnKHQscyksZSxpKTticmVhaztjYXNlIDM6VWcodCxUZyh0LHMpLG8sZSl9fX19ZWxzZXtjb25zdCBpPW5bYSsxXTtpZihpPjAmJjM9PSgzJmkpKXtjb25zdCBuPVRnKHQsaT4+PjIpO2Vbbi5jdXJyZW50Q2FzZUxWaWV3SW5kZXhdPDAmJlVnKHQsbixvLGUpfX1hKz1zfX1mdW5jdGlvbiBVZyh0LGUsbixvKXtuZ0Rldk1vZGUmJnduKG8sZS5jdXJyZW50Q2FzZUxWaWV3SW5kZXgpO2xldCBpPW9bZS5jdXJyZW50Q2FzZUxWaWV3SW5kZXhdO2lmKG51bGwhPT1pKXtsZXQgYT1MZztpPDAmJihpPW9bZS5jdXJyZW50Q2FzZUxWaWV3SW5kZXhdPX5pLGE9LTEpLGpnKHQsbyxlLnVwZGF0ZVtpXSxuLGEpfX1mdW5jdGlvbiBXZyh0LGUsbixvKXtjb25zdCBpPShmdW5jdGlvbiBhKHQsZSl7bGV0IG49dC5jYXNlcy5pbmRleE9mKGUpO2lmKC0xPT09bilzd2l0Y2godC50eXBlKXtjYXNlIDE6e2NvbnN0IG89KGZ1bmN0aW9uIGkodCxlKXtjb25zdCBuPWhnKGUpKHBhcnNlSW50KHQsMTApKSxvPV9nW25dO3JldHVybiB2b2lkIDAhPT1vP286Im90aGVyIn0pKGUsKGZ1bmN0aW9uIG8oKXtyZXR1cm4gT2d9KSgpKTtuPXQuY2FzZXMuaW5kZXhPZihvKSwtMT09PW4mJiJvdGhlciIhPT1vJiYobj10LmNhc2VzLmluZGV4T2YoIm90aGVyIikpO2JyZWFrfWNhc2UgMDpuPXQuY2FzZXMuaW5kZXhPZigib3RoZXIiKX1yZXR1cm4tMT09PW4/bnVsbDpufQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKGUsbyk7aWYoemcoZSxuKSE9PWkmJihHZyh0LGUsbiksbltlLmN1cnJlbnRDYXNlTFZpZXdJbmRleF09bnVsbD09PWk/bnVsbDp+aSxudWxsIT09aSkpe2NvbnN0IG89bltlLmFuY2hvcklkeF07byYmKG5nRGV2TW9kZSYmUG4obyksVmcodCxlLmNyZWF0ZVtpXSxuLG8pKX19ZnVuY3Rpb24gR2codCxlLG4pe2xldCBvPXpnKGUsbik7aWYobnVsbCE9PW8pe2NvbnN0IGk9ZS5yZW1vdmVbb107Zm9yKGxldCBlPTA7ZTxpLmxlbmd0aDtlKyspe2NvbnN0IG89aVtlXTtpZihvPjApe2NvbnN0IHQ9Y2kobyxuKTtudWxsIT09dCYmZGMoblsxMV0sdCl9ZWxzZSBHZyh0LFRnKHQsfm8pLG4pfX19ZnVuY3Rpb24gWWcoKXtjb25zdCB0PVtdO2xldCBlLG4sbz0tMTtmdW5jdGlvbiBpKHQsZSl7bz0wO2NvbnN0IGk9emcodCxlKTtudWxsIT09aT8obmdEZXZNb2RlJiZtbihpLDAsdC5jYXNlcy5sZW5ndGgtMSksbj10LnJlbW92ZVtpXSk6bj1Rbn1mdW5jdGlvbiBhKCl7aWYobzxuLmxlbmd0aCl7Y29uc3Qgcj1uW28rK107aWYobmdEZXZNb2RlJiZwbihyLCJFeHBlY3RpbmcgT3BDb2RlIG51bWJlciIpLHI+MCl7Y29uc3QgdD1lW3JdO3JldHVybiBuZ0Rldk1vZGUmJlBuKHQpLHR9e3QucHVzaChvLG4pO2NvbnN0IHM9ZVsxXS5kYXRhW35yXTtyZXR1cm4gbmdEZXZNb2RlJiZObyhzKSxpKHMsZSksYSgpfX1yZXR1cm4gMD09PXQubGVuZ3RoP251bGw6KG49dC5wb3AoKSxvPXQucG9wKCksYSgpKX1yZXR1cm4gZnVuY3Rpb24gcihuLG8pe2ZvcihlPW87dC5sZW5ndGg7KXQucG9wKCk7cmV0dXJuIG5nRGV2TW9kZSYmRW8obixvKSxpKG4udmFsdWUsbyksYX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIHFnKHQpe2NvbnN0IGU9dHx8KEFycmF5LmlzQXJyYXkodGhpcyk/dGhpczpbXSk7bGV0IG49W107Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG89ZVt0KytdLGk9KG8meGcuQVBQRU5EX0VBR0VSTFkpPT09eGcuQVBQRU5EX0VBR0VSTFksYT1vPj4+eGcuU0hJRlQ7bi5wdXNoKGBsVmlld1ske2F9XSA9IGRvY3VtZW50LiR7KG8meGcuQ09NTUVOVCk9PT14Zy5DT01NRU5UPyJjcmVhdGVDb21tZW50IjoiY3JlYXRlVGV4dCJ9KCR7SlNPTi5zdHJpbmdpZnkoZVt0XSl9KTtgKSxpJiZuLnB1c2goYHBhcmVudC5hcHBlbmRDaGlsZChsVmlld1ske2F9XSk7YCl9cmV0dXJuIG59ZnVuY3Rpb24gWmcodCl7Y29uc3QgZT1uZXcgSmcodHx8KEFycmF5LmlzQXJyYXkodGhpcyk/dGhpczpbXSkpO2xldCBuPVtdO2Z1bmN0aW9uIG8odCl7Y29uc3Qgbj10Pj4+Mjtzd2l0Y2goMyZ0KXtjYXNlIDA6cmV0dXJuYChsVmlld1ske259XSBhcyBUZXh0KS50ZXh0Q29udGVudCA9ICQkJGA7Y2FzZSAxOmNvbnN0IHQ9ZS5jb25zdW1lU3RyaW5nKCksbz1lLmNvbnN1bWVGdW5jdGlvbigpO3JldHVybmAobFZpZXdbJHtufV0gYXMgRWxlbWVudCkuc2V0QXR0cmlidXRlKCcke3R9JywgJHtvP2AoJHtvfSkoJCQkKWA6IiQkJCJ9KWA7Y2FzZSAyOnJldHVybmBpY3VTd2l0Y2hDYXNlKCR7bn0sICQkJClgO2Nhc2UgMzpyZXR1cm5gaWN1VXBkYXRlQ2FzZSgke259KWB9dGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIE9wQ29kZSIpfWZvcig7ZS5oYXNNb3JlKCk7KXtsZXQgdD1lLmNvbnN1bWVOdW1iZXIoKSxpPWUuY29uc3VtZU51bWJlcigpO2NvbnN0IGE9ZS5pK2kscj1bXTtsZXQgcz0iIjtmb3IoO2UuaTxhOyl7bGV0IHQ9ZS5jb25zdW1lTnVtYmVyT3JTdHJpbmcoKTtpZigic3RyaW5nIj09dHlwZW9mIHQpcys9dDtlbHNlIGlmKHQ8MClzKz0iJHtsVmlld1tpIit0KyJdfSI7ZWxzZXtjb25zdCBlPW8odCk7ci5wdXNoKGUucmVwbGFjZSgiJCQkIiwiYCIrcysiYCIpKyI7Iikscz0iIn19bi5wdXNoKGBpZiAobWFzayAmIDBiJHt0LnRvU3RyaW5nKDIpfSkgeyAke3Iuam9pbigiICIpfSB9YCl9cmV0dXJuIG59ZnVuY3Rpb24gWGcodCl7Y29uc3QgZT1uZXcgSmcodHx8KEFycmF5LmlzQXJyYXkodGhpcyk/dGhpczpbXSkpO2xldCBuPVtdO2Z1bmN0aW9uIG8odCl7Y29uc3Qgbj1JZyh0KSxvPUhnKHQpO3N3aXRjaChGZyh0KSl7Y2FzZSAwOnJldHVybmAobFZpZXdbJHtufV0gYXMgRWxlbWVudCkuYXBwZW5kQ2hpbGQobFZpZXdbJHtpfV0pYDtjYXNlIDE6cmV0dXJuYChsVmlld1ske299XSBhcyBFbGVtZW50KS5zZXRBdHRyaWJ1dGUoIiR7ZS5jb25zdW1lU3RyaW5nKCl9IiwgIiR7ZS5jb25zdW1lU3RyaW5nKCl9IilgfXRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBPcENvZGU6ICIrRmcodCkpfWxldCBpPS0xO2Zvcig7ZS5oYXNNb3JlKCk7KXtsZXQgdD1lLmNvbnN1bWVOdW1iZXJTdHJpbmdPck1hcmtlcigpO2lmKHQ9PT12Zyl7Y29uc3QgdD1lLmNvbnN1bWVTdHJpbmcoKTtpPWUuY29uc3VtZU51bWJlcigpLG4ucHVzaChgbFZpZXdbJHtpfV0gPSBkb2N1bWVudC5jcmVhdGVDb21tZW50KCIke3R9IilgKX1lbHNlIGlmKHQ9PT1NZyl7Y29uc3QgdD1lLmNvbnN1bWVTdHJpbmcoKTtpPWUuY29uc3VtZU51bWJlcigpLG4ucHVzaChgbFZpZXdbJHtpfV0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCIke3R9IilgKX1lbHNlIGlmKCJzdHJpbmciPT10eXBlb2YgdClpPWUuY29uc3VtZU51bWJlcigpLG4ucHVzaChgbFZpZXdbJHtpfV0gPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiJHt0fSIpYCk7ZWxzZXtpZigibnVtYmVyIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkIHZhbHVlIik7e2NvbnN0IGU9byh0KTtlJiZuLnB1c2goZSl9fX1yZXR1cm4gbn1mdW5jdGlvbiBLZyh0KXtjb25zdCBlPXR8fChBcnJheS5pc0FycmF5KHRoaXMpP3RoaXM6W10pO2xldCBuPVtdO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXtjb25zdCBvPWVbdF07bi5wdXNoKG8+MD9gcmVtb3ZlKGxWaWV3WyR7b31dKWA6YHJlbW92ZU5lc3RlZElDVSgke35vfSlgKX1yZXR1cm4gbn1jbGFzcyBKZ3tjb25zdHJ1Y3Rvcih0KXt0aGlzLmk9MCx0aGlzLmNvZGVzPXR9aGFzTW9yZSgpe3JldHVybiB0aGlzLmk8dGhpcy5jb2Rlcy5sZW5ndGh9Y29uc3VtZU51bWJlcigpe2xldCB0PXRoaXMuY29kZXNbdGhpcy5pKytdO3JldHVybiBwbih0LCJleHBlY3RpbmcgbnVtYmVyIGluIE9wQ29kZSIpLHR9Y29uc3VtZVN0cmluZygpe2xldCB0PXRoaXMuY29kZXNbdGhpcy5pKytdO3JldHVybiBmbih0LCJleHBlY3Rpbmcgc3RyaW5nIGluIE9wQ29kZSIpLHR9Y29uc3VtZUZ1bmN0aW9uKCl7bGV0IHQ9dGhpcy5jb2Rlc1t0aGlzLmkrK107aWYobnVsbD09PXR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KXJldHVybiB0O3Rocm93IG5ldyBFcnJvcigiZXhwZWN0aW5nIGZ1bmN0aW9uIGluIE9wQ29kZSIpfWNvbnN1bWVOdW1iZXJPclN0cmluZygpe2xldCB0PXRoaXMuY29kZXNbdGhpcy5pKytdO3JldHVybiJzdHJpbmciPT10eXBlb2YgdHx8cG4odCwiZXhwZWN0aW5nIG51bWJlciBvciBzdHJpbmcgaW4gT3BDb2RlIiksdH1jb25zdW1lTnVtYmVyU3RyaW5nT3JNYXJrZXIoKXtsZXQgdD10aGlzLmNvZGVzW3RoaXMuaSsrXTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR8fCJudW1iZXIiPT10eXBlb2YgdHx8dD09dmd8fHQ9PU1nfHxwbih0LCJleHBlY3RpbmcgbnVtYmVyLCBzdHJpbmcsIElDVV9NQVJLRVIgb3IgRUxFTUVOVF9NQVJLRVIgaW4gT3BDb2RlIiksdH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFFnPS/vv70oXGQrKTo/XGQq77+9L2dpLCRnPS8oe1xzKu+/vVxkKzo/XGQq77+9XHMqLFxzKlxTezZ9XHMqLFtcc1xTXSp9KS9naSx0aD0v77+9KFxkKynvv70vLGVoPS9eXHMqKO+/vVxkKzo/XGQq77+9KVxzKixccyooc2VsZWN0fHBsdXJhbClccyosLyxuaD0v77+9XC8/XCooXGQrOlxkKynvv70vZ2ksb2g9L++/vShcLz9bIypdXGQrKTo/XGQq77+9L2dpLGloPS9cdUU1MDAvZztmdW5jdGlvbiBhaCh0LGUsbixvLGksYSl7Y29uc3Qgcj1TaSgpLHM9W10sbD1bXSxjPVtbXV07bmdEZXZNb2RlJiYoQmMocyxxZyksQmMobCxaZykpO2NvbnN0IGQ9KGZ1bmN0aW9uIG0odCl7cmV0dXJuIHQucmVwbGFjZShpaCwiICIpfSkoaT0oZnVuY3Rpb24gcCh0LGUpe2lmKChmdW5jdGlvbiBuKHQpe3JldHVybi0xPT09dH0pKGUpKXJldHVybiBwaCh0KTt7Y29uc3Qgbj10LmluZGV4T2YoYDoke2V977+9YCkrMitlLnRvU3RyaW5nKCkubGVuZ3RoLG89dC5zZWFyY2gobmV3IFJlZ0V4cChg77+9XFwvXFwqXFxkKzoke2V977+9YCkpO3JldHVybiBwaCh0LnN1YnN0cmluZyhuLG8pKX19KShpLGEpKS5zcGxpdChvaCk7Zm9yKGxldCBhPTA7YTxkLmxlbmd0aDthKyspe2xldCBwPWRbYV07aWYoMD09KDEmYSkpe2NvbnN0IGE9dWgocCk7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBwPWFbZF07aWYoMD09KDEmZCkpe2NvbnN0IGU9cDtuZ0Rldk1vZGUmJmZuKGUsIlBhcnNlZCBJQ1UgcGFydCBzaG91bGQgYmUgc3RyaW5nIiksIiIhPT1lJiZzaCh0LHIsY1swXSxzLGwsbixlKX1lbHNle2NvbnN0IGE9cDtpZigib2JqZWN0IiE9dHlwZW9mIGEpdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gcGFyc2UgSUNVIGV4cHJlc3Npb24gaW4gIiR7aX0iIG1lc3NhZ2UuYCk7Y29uc3QgZD1yaCh0LHIsY1swXSxuLHMsbmdEZXZNb2RlP2BJQ1UgJHtvfToke2EubWFpbkJpbmRpbmd9YDoiIiwhMCkuaW5kZXg7bmdEZXZNb2RlJiZ2bihkLHZvLCJJbmRleCBtdXN0IGJlIGluIGFic29sdXRlIExWaWV3IG9mZnNldCIpLG1oKHQsbixsLGUsYSxkKX19fWVsc2V7Y29uc3QgZT00Nz09PXAuY2hhckNvZGVBdCgwKSxuPXAuY2hhckNvZGVBdChlPzE6MCk7bmdEZXZNb2RlJiZrbihuLDQyLDM1KTtjb25zdCBvPXZvK051bWJlci5wYXJzZUludChwLnN1YnN0cmluZyhlPzI6MSkpO2lmKGUpYy5zaGlmdCgpLERpKFNpKCksITEpO2Vsc2V7Y29uc3QgZT1OZyh0LGNbMF0sbyk7Yy51bnNoaWZ0KFtdKSxEaShlLCEwKX19fXQuZGF0YVtvXT17Y3JlYXRlOnMsdXBkYXRlOmx9fWZ1bmN0aW9uIHJoKHQsZSxuLG8saSxhLHIpe2NvbnN0IHM9TWQodCxvLDEsbnVsbCk7bGV0IGw9czw8eGcuU0hJRlQsYz1TaSgpO2U9PT1jJiYoYz1udWxsKSxudWxsPT09YyYmKGx8PXhnLkFQUEVORF9FQUdFUkxZKSxyJiYobHw9eGcuQ09NTUVOVCwoZnVuY3Rpb24gZCh0KXt2b2lkIDA9PT1BbCYmKEFsPXQoKSl9KShZZykpLGkucHVzaChsLG51bGw9PT1hPyIiOmEpO2NvbnN0IHA9Q2QodCxzLHI/MzI6MSxudWxsPT09YT9uZ0Rldk1vZGU/Int7P319IjoiIjphLG51bGwpO1NnKG4scCk7Y29uc3QgbT1wLmluZGV4O3JldHVybiBEaShwLCExKSxudWxsIT09YyYmZSE9PWMmJihmdW5jdGlvbiBmKHQsZSl7bmdEZXZNb2RlJiZUbyh0KTtsZXQgbj10Lmluc2VydEJlZm9yZUluZGV4O251bGw9PT1uPyhhYyh3ZyxrZyksbj10Lmluc2VydEJlZm9yZUluZGV4PVtudWxsLGVdKTooZ24oQXJyYXkuaXNBcnJheShuKSwhMCwiRXhwZWN0aW5nIGFycmF5IGhlcmUiKSxuLnB1c2goZSkpfSkoYyxtKSxwfWZ1bmN0aW9uIHNoKHQsZSxuLG8saSxhLHIpe2NvbnN0IHM9ci5tYXRjaChRZyksbD1yaCh0LGUsbixhLG8scz9udWxsOnIsITEpO3MmJmxoKGkscixsLmluZGV4LG51bGwsMCxudWxsKX1mdW5jdGlvbiBsaCh0LGUsbixvLGksYSl7bmdEZXZNb2RlJiZ2bihuLHZvLCJJbmRleCBtdXN0IGJlIGluIGFic29sdXRlIExWaWV3IG9mZnNldCIpO2NvbnN0IHI9dC5sZW5ndGgscz1yKzE7dC5wdXNoKG51bGwsbnVsbCk7Y29uc3QgbD1yKzI7bmdEZXZNb2RlJiZCYyh0LFpnKTtjb25zdCBjPWUuc3BsaXQoUWcpO2xldCBkPTA7Zm9yKGxldCBlPTA7ZTxjLmxlbmd0aDtlKyspe2NvbnN0IG49Y1tlXTtpZigxJmUpe2NvbnN0IGU9aStwYXJzZUludChuLDEwKTt0LnB1c2goLTEtZSksZHw9ZGgoZSl9ZWxzZSIiIT09biYmdC5wdXNoKG4pfXJldHVybiB0LnB1c2gobjw8Mnwobz8xOjApKSxvJiZ0LnB1c2gobyxhKSx0W3JdPWQsdFtzXT10Lmxlbmd0aC1sLGR9ZnVuY3Rpb24gY2godCl7bGV0IGU9MDtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7Y29uc3Qgbz10W25dOyJudW1iZXIiPT10eXBlb2YgbyYmbzwwJiZlKyt9cmV0dXJuIGV9ZnVuY3Rpb24gZGgodCl7cmV0dXJuIDE8PE1hdGgubWluKHQsMzEpfWZ1bmN0aW9uIHBoKHQpe2xldCBlLG4sbz0iIixpPTAsYT0hMTtmb3IoO251bGwhPT0oZT1uaC5leGVjKHQpKTspYT9lWzBdPT09YO+/vS8qJHtufe+/vWAmJihpPWUuaW5kZXgsYT0hMSk6KG8rPXQuc3Vic3RyaW5nKGksZS5pbmRleCtlWzBdLmxlbmd0aCksbj1lWzFdLGE9ITApO3JldHVybiBuZ0Rldk1vZGUmJmduKGEsITEsYFRhZyBtaXNtYXRjaDogdW5hYmxlIHRvIGZpbmQgdGhlIGVuZCBvZiB0aGUgc3ViLXRlbXBsYXRlIGluIHRoZSB0cmFuc2xhdGlvbiAiJHt0fSJgKSxvKz10LnN1YnN0cihpKSxvfWZ1bmN0aW9uIG1oKHQsZSxuLG8saSxhKXtuZ0Rldk1vZGUmJnhuKGksIklDVSBleHByZXNzaW9uIG11c3QgYmUgZGVmaW5lZCIpO2xldCByPTA7Y29uc3Qgcz17dHlwZTppLnR5cGUsY3VycmVudENhc2VMVmlld0luZGV4Ok1kKHQsZSwxLG51bGwpLGFuY2hvcklkeDphLGNhc2VzOltdLGNyZWF0ZTpbXSxyZW1vdmU6W10sdXBkYXRlOltdfTshKGZ1bmN0aW9uIGwodCxlLG4pe3QucHVzaChkaChlLm1haW5CaW5kaW5nKSwyLC0xLWUubWFpbkJpbmRpbmcsbjw8MnwyKX0pKG4saSxhKSwoZnVuY3Rpb24gYyh0LGUsbil7Y29uc3Qgbz10LmRhdGFbZV07bmdEZXZNb2RlJiZnbihudWxsPT09b3x8by5oYXNPd25Qcm9wZXJ0eSgidFZpZXdzIiksITAsIldlIGV4cGVjdCB0byBnZXQgJ251bGwnfCdUSWN1Q29udGFpbmVyJyIpLG51bGw9PT1vP3QuZGF0YVtlXT1uOihuZ0Rldk1vZGUmJmdhKG8sMzIpLG8udmFsdWU9bil9KSh0LGEscyk7Y29uc3QgZD1pLnZhbHVlcztmb3IobGV0IGE9MDthPGQubGVuZ3RoO2ErKyl7Y29uc3QgbD1kW2FdLGM9W107Zm9yKGxldCB0PTA7dDxsLmxlbmd0aDt0Kyspe2NvbnN0IGU9bFt0XTtpZigic3RyaW5nIiE9dHlwZW9mIGUpe2NvbnN0IG49Yy5wdXNoKGUpLTE7bFt0XT1gXHgzYyEtLe+/vSR7bn3vv70tLVx4M2VgfX1yPWdoKHQscyxlLG4sbyxpLmNhc2VzW2FdLGwuam9pbigiIiksYyl8cn1yJiYoZnVuY3Rpb24gcCh0LGUsbil7dC5wdXNoKGUsMSxuPDwyfDMpfSkobixyLGEpfWZ1bmN0aW9uIGZoKHQpe2NvbnN0IGU9W10sbj1bXTtsZXQgbz0xLGk9MDtjb25zdCBhPXVoKHQ9dC5yZXBsYWNlKGVoLChmdW5jdGlvbih0LGUsbil7cmV0dXJuIG89InNlbGVjdCI9PT1uPzA6MSxpPXBhcnNlSW50KGUuc3Vic3RyKDEpLDEwKSwiIn0pKSk7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDspe2xldCBpPWFbdCsrXS50cmltKCk7MT09PW8mJihpPWkucmVwbGFjZSgvXHMqKD86PSk/KFx3KylccyovLCIkMSIpKSxpLmxlbmd0aCYmZS5wdXNoKGkpO2NvbnN0IHI9dWgoYVt0KytdKTtlLmxlbmd0aD5uLmxlbmd0aCYmbi5wdXNoKHIpfXJldHVybnt0eXBlOm8sbWFpbkJpbmRpbmc6aSxjYXNlczplLHZhbHVlczpufX1mdW5jdGlvbiB1aCh0KXtpZighdClyZXR1cm5bXTtsZXQgZT0wO2NvbnN0IG49W10sbz1bXSxpPS9be31dL2c7bGV0IGE7Zm9yKGkubGFzdEluZGV4PTA7YT1pLmV4ZWModCk7KXtjb25zdCBpPWEuaW5kZXg7aWYoIn0iPT1hWzBdKXtpZihuLnBvcCgpLDA9PW4ubGVuZ3RoKXtjb25zdCBuPXQuc3Vic3RyaW5nKGUsaSk7ZWgudGVzdChuKT9vLnB1c2goZmgobikpOm8ucHVzaChuKSxlPWkrMX19ZWxzZXtpZigwPT1uLmxlbmd0aCl7Y29uc3Qgbj10LnN1YnN0cmluZyhlLGkpO28ucHVzaChuKSxlPWkrMX1uLnB1c2goInsiKX19Y29uc3Qgcj10LnN1YnN0cmluZyhlKTtyZXR1cm4gby5wdXNoKHIpLG99ZnVuY3Rpb24gZ2godCxlLG4sbyxpLGEscixzKXtjb25zdCBsPVtdLGM9W10sZD1bXTtuZ0Rldk1vZGUmJihCYyhsLFhnKSxCYyhjLEtnKSxCYyhkLFpnKSksZS5jYXNlcy5wdXNoKGEpLGUuY3JlYXRlLnB1c2gobCksZS5yZW1vdmUucHVzaChjKSxlLnVwZGF0ZS5wdXNoKGQpO2NvbnN0IHA9YnMoaWkoKSkuZ2V0SW5lcnRCb2R5RWxlbWVudChyKTtuZ0Rldk1vZGUmJnhuKHAsIlVuYWJsZSB0byBnZW5lcmF0ZSBpbmVydCBib2R5IGVsZW1lbnQiKTtjb25zdCBtPUdzKHApfHxwO3JldHVybiBtP2hoKHQsZSxuLG8sbCxjLGQsbSxpLHMsMCk6MH1mdW5jdGlvbiBoaCh0LGUsbixvLGksYSxyLHMsbCxjLGQpe2xldCBwPTAsbT1zLmZpcnN0Q2hpbGQ7Zm9yKDttOyl7Y29uc3Qgcz1NZCh0LG4sMSxudWxsKTtzd2l0Y2gobS5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpjb25zdCBmPW0sdT1mLnRhZ05hbWUudG9Mb3dlckNhc2UoKTtpZihBcy5oYXNPd25Qcm9wZXJ0eSh1KSl7X2goaSxNZyx1LGwscyksdC5kYXRhW3NdPXU7Y29uc3QgZz1mLmF0dHJpYnV0ZXM7Zm9yKGxldCB0PTA7dDxnLmxlbmd0aDt0Kyspe2NvbnN0IGU9Zy5pdGVtKHQpLG49ZS5uYW1lLnRvTG93ZXJDYXNlKCk7ISFlLnZhbHVlLm1hdGNoKFFnKT9Icy5oYXNPd25Qcm9wZXJ0eShuKT9saChyLGUudmFsdWUscyxlLm5hbWUsMCxUc1tuXT92czpOc1tuXT94czpudWxsKTpuZ0Rldk1vZGUmJmNvbnNvbGUud2FybihgV0FSTklORzogaWdub3JpbmcgdW5zYWZlIGF0dHJpYnV0ZSB2YWx1ZSAke259IG9uIGVsZW1lbnQgJHt1fSAoc2VlIGh0dHBzOi8vZy5jby9uZy9zZWN1cml0eSN4c3MpYCk6Q2goaSxzLGUpfXA9aGgodCxlLG4sbyxpLGEscixtLHMsYyxkKzEpfHAsYmgoYSxzLGQpfWJyZWFrO2Nhc2UgTm9kZS5URVhUX05PREU6Y29uc3QgZz1tLnRleHRDb250ZW50fHwiIixoPWcubWF0Y2goUWcpO19oKGksbnVsbCxoPyIiOmcsbCxzKSxiaChhLHMsZCksaCYmKHA9bGgocixnLHMsbnVsbCwwLG51bGwpfHApO2JyZWFrO2Nhc2UgTm9kZS5DT01NRU5UX05PREU6Y29uc3QgYj10aC5leGVjKG0udGV4dENvbnRlbnR8fCIiKTtpZihiKXtjb25zdCBlPXBhcnNlSW50KGJbMV0sMTApLHI9Y1tlXTtfaChpLHZnLG5nRGV2TW9kZT9gbmVzdGVkIElDVSAke2V9YDoiIixsLHMpLG1oKHQsbixvLGwscixzKSx5aChhLHMsZCl9fW09bS5uZXh0U2libGluZ31yZXR1cm4gcH1mdW5jdGlvbiBiaCh0LGUsbil7MD09PW4mJnQucHVzaChlKX1mdW5jdGlvbiB5aCh0LGUsbil7MD09PW4mJih0LnB1c2gofmUpLHQucHVzaChlKSl9ZnVuY3Rpb24gX2godCxlLG4sbyxpKXtudWxsIT09ZSYmdC5wdXNoKGUpLHQucHVzaChuLGksKGZ1bmN0aW9uIGEodCxlLG4pe3JldHVybiBuZ0Rldk1vZGUmJnZuKGUsMCwiTWlzc2luZyBwYXJlbnQgaW5kZXgiKSxuZ0Rldk1vZGUmJk1uKG4sMCwiTWlzc2luZyByZWYgaW5kZXgiKSx0fGU8PDE3fG48PDF9KSgwLG8saSkpfWZ1bmN0aW9uIENoKHQsZSxuKXt0LnB1c2goZTw8MXwxLG4ubmFtZSxuLnZhbHVlKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgTWg9L1xbKO+/vS4rP++/vT8pXF0vLHZoPS9cWyjvv70uKz/vv70/KVxdfCjvv71cLz9cKlxkKzpcZCvvv70pL2cseGg9Lyh7XHMqKShWQVJfKFBMVVJBTHxTRUxFQ1QpKF9cZCspPykoXHMqLCkvZyxPaD0veyhbQS1aMC05X10rKX0vZyxQaD0v77+9STE4Tl9FWFBfKElDVShfXGQrKT8p77+9L2csd2g9L1wvXCovLGtoPS9cZCtcOihcZCspLzsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIFNoKHQsZSxuPS0xKXtjb25zdCBvPU9pKCksaT14aSgpLGE9dm8rdDtuZ0Rldk1vZGUmJnhuKG8sInRWaWV3IHNob3VsZCBiZSBkZWZpbmVkIik7Y29uc3Qgcj1oaShvLmNvbnN0cyxlKSxzPVNpKCk7by5maXJzdENyZWF0ZVBhc3MmJmFoKG8sbnVsbD09PXM/MDpzLmluZGV4LGksYSxyLG4pO2NvbnN0IGw9by5kYXRhW2FdLGM9S2wobyxzPT09aVs2XT9udWxsOnMsaSk7IShmdW5jdGlvbiBkKHQsZSxuLG8pe2NvbnN0IGk9dFsxMV07Zm9yKGxldCBhPTA7YTxlLmxlbmd0aDthKyspe2NvbnN0IHI9ZVthKytdLHM9ZVthXSxsPShyJnhnLkNPTU1FTlQpPT09eGcuQ09NTUVOVCxjPShyJnhnLkFQUEVORF9FQUdFUkxZKT09PXhnLkFQUEVORF9FQUdFUkxZLGQ9cj4+PnhnLlNISUZUO2xldCBwPXRbZF07bnVsbD09PXAmJihwPXRbZF09bD9pLmNyZWF0ZUNvbW1lbnQocyk6QmwoaSxzKSksYyYmbnVsbCE9PW4mJkpsKGksbixwLG8sITEpfX0pKGksbC5jcmVhdGUsYyxzJiY4JnMudHlwZT9pW3MuaW5kZXhdOm51bGwpLExpKCEwKX1mdW5jdGlvbiBEaCgpe0xpKCExKX1mdW5jdGlvbiBSaCh0LGUsbil7U2godCxlLG4pLERoKCl9ZnVuY3Rpb24gRWgodCxlKXtjb25zdCBuPU9pKCk7bmdEZXZNb2RlJiZ4bihuLCJ0VmlldyBzaG91bGQgYmUgZGVmaW5lZCIpO2NvbnN0IG89aGkobi5jb25zdHMsZSk7IShmdW5jdGlvbiBpKHQsZSxuKXtjb25zdCBvPXdpKCkuaW5kZXgsaT1bXTtpZihuZ0Rldk1vZGUmJkJjKGksWmcpLHQuZmlyc3RDcmVhdGVQYXNzJiZudWxsPT09dC5kYXRhW2VdKXtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrPTIpe2NvbnN0IGU9blt0XSxhPW5bdCsxXTtpZigiIiE9PWEpe2lmKCRnLnRlc3QoYSkpdGhyb3cgbmV3IEVycm9yKGBJQ1UgZXhwcmVzc2lvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gYXR0cmlidXRlcy4gTWVzc2FnZTogIiR7YX0iLmApO2xoKGksYSxvLGUsY2goaSksbnVsbCl9fXQuZGF0YVtlXT1pfX0pKG4sdCt2byxvKX1mdW5jdGlvbiBBaCh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXt0JiYoTGd8PTE8PE1hdGgubWluKEJnLDMxKSksQmcrK30pKHVtKHhpKCksSGkoKSx0KSksQWh9ZnVuY3Rpb24gVGgodCl7IShmdW5jdGlvbiBlKHQsbixvKXtpZihCZz4wKXtuZ0Rldk1vZGUmJnhuKHQsInRWaWV3IHNob3VsZCBiZSBkZWZpbmVkIik7Y29uc3QgZT10LmRhdGFbb107amcodCxuLEFycmF5LmlzQXJyYXkoZSk/ZTplLnVwZGF0ZSx6aSgpLUJnLTEsTGcpfUxnPTAsQmc9MH0pKE9pKCkseGkoKSx0K3ZvKX1mdW5jdGlvbiBOaCh0LGU9e30pe3JldHVybihmdW5jdGlvbiBuKHQsZT17fSl7bGV0IG49dDtpZihNaC50ZXN0KHQpKXtjb25zdCB0PXt9LGU9WzBdO249bi5yZXBsYWNlKHZoLCgobixvLGkpPT57Y29uc3QgYT1vfHxpLHI9dFthXXx8W107aWYoci5sZW5ndGh8fChhLnNwbGl0KCJ8IikuZm9yRWFjaCgodD0+e2NvbnN0IGU9dC5tYXRjaChraCksbj1lP3BhcnNlSW50KGVbMV0sMTApOjAsbz13aC50ZXN0KHQpO3IucHVzaChbbixvLHRdKX0pKSx0W2FdPXIpLCFyLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYGkxOG4gcG9zdHByb2Nlc3M6IHVubWF0Y2hlZCBwbGFjZWhvbGRlciAtICR7YX1gKTtjb25zdCBzPWVbZS5sZW5ndGgtMV07bGV0IGw9MDtmb3IobGV0IHQ9MDt0PHIubGVuZ3RoO3QrKylpZihyW3RdWzBdPT09cyl7bD10O2JyZWFrfWNvbnN0W2MsZCxwXT1yW2xdO3JldHVybiBkP2UucG9wKCk6cyE9PWMmJmUucHVzaChjKSxyLnNwbGljZShsLDEpLHB9KSl9cmV0dXJuIE9iamVjdC5rZXlzKGUpLmxlbmd0aD8obj1uLnJlcGxhY2UoeGgsKCh0LG4sbyxpLGEscik9PmUuaGFzT3duUHJvcGVydHkobyk/YCR7bn0ke2Vbb119JHtyfWA6dCkpLG49bi5yZXBsYWNlKE9oLCgodCxuKT0+ZS5oYXNPd25Qcm9wZXJ0eShuKT9lW25dOnQpKSxuPW4ucmVwbGFjZShQaCwoKHQsbik9PntpZihlLmhhc093blByb3BlcnR5KG4pKXtjb25zdCBvPWVbbl07aWYoIW8ubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgaTE4biBwb3N0cHJvY2VzczogdW5tYXRjaGVkIElDVSAtICR7dH0gd2l0aCBrZXk6ICR7bn1gKTtyZXR1cm4gby5zaGlmdCgpfXJldHVybiB0fSkpLG4pOm59KSh0LGUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gemgodCxlLG4sbyxpKXtpZih0PXRuKHQpLEFycmF5LmlzQXJyYXkodCkpZm9yKGxldCBhPTA7YTx0Lmxlbmd0aDthKyspemgodFthXSxlLG4sbyxpKTtlbHNle2NvbnN0IGE9T2koKSxyPXhpKCk7bGV0IHM9RXAodCk/dDp0bih0LnByb3ZpZGUpLGw9U3AodCk7Y29uc3QgYz13aSgpLGQ9MTA0ODU3NSZjLnByb3ZpZGVySW5kZXhlcyxwPWMuZGlyZWN0aXZlU3RhcnQsbT1jLnByb3ZpZGVySW5kZXhlcz4+MjA7aWYoRXAodCl8fCF0Lm11bHRpKXtjb25zdCBvPW5ldyBmYShsLGksZ2YpLGY9RmgocyxlLGk/ZDpkK20scCk7LTE9PT1mPyhFYShrYShjLHIpLGEscyksSWgoYSx0LGUubGVuZ3RoKSxlLnB1c2gocyksYy5kaXJlY3RpdmVTdGFydCsrLGMuZGlyZWN0aXZlRW5kKyssaSYmKGMucHJvdmlkZXJJbmRleGVzKz0xMDQ4NTc2KSxuLnB1c2gobyksci5wdXNoKG8pKToobltmXT1vLHJbZl09byl9ZWxzZXtjb25zdCBmPUZoKHMsZSxkK20scCksdT1GaChzLGUsZCxkK20pLGc9Zj49MCYmbltmXSxoPXU+PTAmJm5bdV07aWYoaSYmIWh8fCFpJiYhZyl7RWEoa2EoYyxyKSxhLHMpO2NvbnN0IGQ9KGZ1bmN0aW9uIGEodCxlLG4sbyxpKXtjb25zdCBhPW5ldyBmYSh0LG4sZ2YpO3JldHVybiBhLm11bHRpPVtdLGEuaW5kZXg9ZSxhLmNvbXBvbmVudFByb3ZpZGVycz0wLEhoKGEsaSxvJiYhbiksYX0pKGk/Qmg6TGgsbi5sZW5ndGgsaSxvLGwpOyFpJiZoJiYoblt1XS5wcm92aWRlckZhY3Rvcnk9ZCksSWgoYSx0LGUubGVuZ3RoLDApLGUucHVzaChzKSxjLmRpcmVjdGl2ZVN0YXJ0KyssYy5kaXJlY3RpdmVFbmQrKyxpJiYoYy5wcm92aWRlckluZGV4ZXMrPTEwNDg1NzYpLG4ucHVzaChkKSxyLnB1c2goZCl9ZWxzZXtJaChhLHQsZj4tMT9mOnUsSGgobltpP3U6Zl0sbCwhaSYmbykpfSFpJiZvJiZoJiZuW3VdLmNvbXBvbmVudFByb3ZpZGVycysrfX19ZnVuY3Rpb24gSWgodCxlLG4sbyl7Y29uc3QgaT1FcChlKTtpZihpfHwoZnVuY3Rpb24gYSh0KXtyZXR1cm4hIXQudXNlQ2xhc3N9KShlKSl7Y29uc3QgYT0oZS51c2VDbGFzc3x8ZSkucHJvdG90eXBlLm5nT25EZXN0cm95O2lmKGEpe2NvbnN0IHI9dC5kZXN0cm95SG9va3N8fCh0LmRlc3Ryb3lIb29rcz1bXSk7aWYoIWkmJmUubXVsdGkpe25nRGV2TW9kZSYmeG4obywiaW5kZXhJbkZhY3Rvcnkgd2hlbiByZWdpc3RlcmluZyBtdWx0aSBmYWN0b3J5IGRlc3Ryb3kgaG9vayIpO2NvbnN0IHQ9ci5pbmRleE9mKG4pOy0xPT09dD9yLnB1c2gobixbbyxhXSk6clt0KzFdLnB1c2gobyxhKX1lbHNlIHIucHVzaChuLGEpfX19ZnVuY3Rpb24gSGgodCxlLG4pe3JldHVybiBuJiZ0LmNvbXBvbmVudFByb3ZpZGVycysrLHQubXVsdGkucHVzaChlKS0xfWZ1bmN0aW9uIEZoKHQsZSxuLG8pe2ZvcihsZXQgaT1uO2k8bztpKyspaWYoZVtpXT09PXQpcmV0dXJuIGk7cmV0dXJuLTF9ZnVuY3Rpb24gTGgodCxlLG4sbyl7cmV0dXJuIFZoKHRoaXMubXVsdGksW10pfWZ1bmN0aW9uIEJoKHQsZSxuLG8pe2NvbnN0IGk9dGhpcy5tdWx0aTtsZXQgYTtpZih0aGlzLnByb3ZpZGVyRmFjdG9yeSl7Y29uc3QgdD10aGlzLnByb3ZpZGVyRmFjdG9yeS5jb21wb25lbnRQcm92aWRlcnMsZT1MYShuLG5bMV0sdGhpcy5wcm92aWRlckZhY3RvcnkuaW5kZXgsbyk7YT1lLnNsaWNlKDAsdCksVmgoaSxhKTtmb3IobGV0IG49dDtuPGUubGVuZ3RoO24rKylhLnB1c2goZVtuXSl9ZWxzZSBhPVtdLFZoKGksYSk7cmV0dXJuIGF9ZnVuY3Rpb24gVmgodCxlKXtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7ZS5wdXNoKCgwLHRbbl0pKCkpfXJldHVybiBlfWZ1bmN0aW9uIGpoKHQsZT1bXSl7cmV0dXJuIG49PntuLnByb3ZpZGVyc1Jlc29sdmVyPShuLG8pPT4oZnVuY3Rpb24gaSh0LGUsbil7Y29uc3Qgbz1PaSgpO2lmKG8uZmlyc3RDcmVhdGVQYXNzKXtjb25zdCBpPVJvKHQpO3poKG4sby5kYXRhLG8uYmx1ZXByaW50LGksITApLHpoKGUsby5kYXRhLG8uYmx1ZXByaW50LGksITEpfX0pKG4sbz9vKHQpOnQsZSl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBVaHt9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFdoPSJuZ0NvbXBvbmVudCI7Y2xhc3MgR2h7fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gWWgoLi4udCl7fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBxaCh0LGUpe3JldHVybiBuZXcgS2goZGkodCxlKSl9R2guTlVMTD1uZXcgY2xhc3N7cmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodCl7dGhyb3coZnVuY3Rpb24gZSh0KXtjb25zdCBlPUVycm9yKGBObyBjb21wb25lbnQgZmFjdG9yeSBmb3VuZCBmb3IgJHtLZSh0KX0uIERpZCB5b3UgYWRkIGl0IHRvIEBOZ01vZHVsZS5lbnRyeUNvbXBvbmVudHM/YCk7cmV0dXJuIGVbV2hdPXQsZX0pKHQpfX07Y29uc3QgWmg9ZnVuY3Rpb24gWGgoKXtyZXR1cm4gcWgod2koKSx4aSgpKX07Y2xhc3MgS2h7Y29uc3RydWN0b3IodCl7dGhpcy5uYXRpdmVFbGVtZW50PXR9fWZ1bmN0aW9uIEpoKHQpe3JldHVybiB0IGluc3RhbmNlb2YgS2g/dC5uYXRpdmVFbGVtZW50OnR9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL0toLl9fTkdfRUxFTUVOVF9JRF9fPVpoLG5ldyBlcigiUmVuZGVyZXIySW50ZXJjZXB0b3IiKTtjbGFzcyBRaHt9Y2xhc3MgJGh7fSRoLl9fTkdfRUxFTUVOVF9JRF9fPSgpPT50YigpO2NvbnN0IHRiPWZ1bmN0aW9uIGViKCl7Y29uc3QgdD14aSgpLGU9Zmkod2koKS5pbmRleCx0KTtyZXR1cm4oZnVuY3Rpb24gbih0KXtjb25zdCBlPXRbMTFdO2lmKG5nRGV2TW9kZSYmIXJpKGUpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGluamVjdCBSZW5kZXJlcjIgd2hlbiB0aGUgYXBwbGljYXRpb24gdXNlcyBSZW5kZXJlcjMhIik7cmV0dXJuIGV9KShQbyhlKT9lOnQpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi87Y2xhc3MgbmJ7fW5iLsm1cHJvdj1Tbih7dG9rZW46bmIscHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTooKT0+bnVsbH0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3Mgb2J7Y29uc3RydWN0b3IodCl7dGhpcy5mdWxsPXQsdGhpcy5tYWpvcj10LnNwbGl0KCIuIilbMF0sdGhpcy5taW5vcj10LnNwbGl0KCIuIilbMV0sdGhpcy5wYXRjaD10LnNwbGl0KCIuIikuc2xpY2UoMikuam9pbigiLiIpfX1jb25zdCBpYj1uZXcgb2IoIjEyLjIuMSIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBhYntjb25zdHJ1Y3Rvcigpe31zdXBwb3J0cyh0KXtyZXR1cm4gZG0odCl9Y3JlYXRlKHQpe3JldHVybiBuZXcgc2IodCl9fWNvbnN0IHJiPSh0LGUpPT5lO2NsYXNzIHNie2NvbnN0cnVjdG9yKHQpe3RoaXMubGVuZ3RoPTAsdGhpcy5fbGlua2VkUmVjb3Jkcz1udWxsLHRoaXMuX3VubGlua2VkUmVjb3Jkcz1udWxsLHRoaXMuX3ByZXZpb3VzSXRIZWFkPW51bGwsdGhpcy5faXRIZWFkPW51bGwsdGhpcy5faXRUYWlsPW51bGwsdGhpcy5fYWRkaXRpb25zSGVhZD1udWxsLHRoaXMuX2FkZGl0aW9uc1RhaWw9bnVsbCx0aGlzLl9tb3Zlc0hlYWQ9bnVsbCx0aGlzLl9tb3Zlc1RhaWw9bnVsbCx0aGlzLl9yZW1vdmFsc0hlYWQ9bnVsbCx0aGlzLl9yZW1vdmFsc1RhaWw9bnVsbCx0aGlzLl9pZGVudGl0eUNoYW5nZXNIZWFkPW51bGwsdGhpcy5faWRlbnRpdHlDaGFuZ2VzVGFpbD1udWxsLHRoaXMuX3RyYWNrQnlGbj10fHxyYn1mb3JFYWNoSXRlbSh0KXtsZXQgZTtmb3IoZT10aGlzLl9pdEhlYWQ7bnVsbCE9PWU7ZT1lLl9uZXh0KXQoZSl9Zm9yRWFjaE9wZXJhdGlvbih0KXtsZXQgZT10aGlzLl9pdEhlYWQsbj10aGlzLl9yZW1vdmFsc0hlYWQsbz0wLGk9bnVsbDtmb3IoO2V8fG47KXtjb25zdCBhPSFufHxlJiZlLmN1cnJlbnRJbmRleDxwYihuLG8saSk/ZTpuLHI9cGIoYSxvLGkpLHM9YS5jdXJyZW50SW5kZXg7aWYoYT09PW4pby0tLG49bi5fbmV4dFJlbW92ZWQ7ZWxzZSBpZihlPWUuX25leHQsbnVsbD09YS5wcmV2aW91c0luZGV4KW8rKztlbHNle2l8fChpPVtdKTtjb25zdCB0PXItbyxlPXMtbztpZih0IT1lKXtmb3IobGV0IG49MDtuPHQ7bisrKXtjb25zdCBvPW48aS5sZW5ndGg/aVtuXTppW25dPTAsYT1vK247ZTw9YSYmYTx0JiYoaVtuXT1vKzEpfWlbYS5wcmV2aW91c0luZGV4XT1lLXR9fXIhPT1zJiZ0KGEscixzKX19Zm9yRWFjaFByZXZpb3VzSXRlbSh0KXtsZXQgZTtmb3IoZT10aGlzLl9wcmV2aW91c0l0SGVhZDtudWxsIT09ZTtlPWUuX25leHRQcmV2aW91cyl0KGUpfWZvckVhY2hBZGRlZEl0ZW0odCl7bGV0IGU7Zm9yKGU9dGhpcy5fYWRkaXRpb25zSGVhZDtudWxsIT09ZTtlPWUuX25leHRBZGRlZCl0KGUpfWZvckVhY2hNb3ZlZEl0ZW0odCl7bGV0IGU7Zm9yKGU9dGhpcy5fbW92ZXNIZWFkO251bGwhPT1lO2U9ZS5fbmV4dE1vdmVkKXQoZSl9Zm9yRWFjaFJlbW92ZWRJdGVtKHQpe2xldCBlO2ZvcihlPXRoaXMuX3JlbW92YWxzSGVhZDtudWxsIT09ZTtlPWUuX25leHRSZW1vdmVkKXQoZSl9Zm9yRWFjaElkZW50aXR5Q2hhbmdlKHQpe2xldCBlO2ZvcihlPXRoaXMuX2lkZW50aXR5Q2hhbmdlc0hlYWQ7bnVsbCE9PWU7ZT1lLl9uZXh0SWRlbnRpdHlDaGFuZ2UpdChlKX1kaWZmKHQpe2lmKG51bGw9PXQmJih0PVtdKSwhZG0odCkpdGhyb3cgbmV3IEVycm9yKGBFcnJvciB0cnlpbmcgdG8gZGlmZiAnJHtLZSh0KX0nLiBPbmx5IGFycmF5cyBhbmQgaXRlcmFibGVzIGFyZSBhbGxvd2VkYCk7cmV0dXJuIHRoaXMuY2hlY2sodCk/dGhpczpudWxsfW9uRGVzdHJveSgpe31jaGVjayh0KXt0aGlzLl9yZXNldCgpO2xldCBlLG4sbyxpPXRoaXMuX2l0SGVhZCxhPSExO2lmKEFycmF5LmlzQXJyYXkodCkpe3RoaXMubGVuZ3RoPXQubGVuZ3RoO2ZvcihsZXQgZT0wO2U8dGhpcy5sZW5ndGg7ZSsrKW49dFtlXSxvPXRoaXMuX3RyYWNrQnlGbihlLG4pLG51bGwhPT1pJiZPYmplY3QuaXMoaS50cmFja0J5SWQsbyk/KGEmJihpPXRoaXMuX3ZlcmlmeVJlaW5zZXJ0aW9uKGksbixvLGUpKSxPYmplY3QuaXMoaS5pdGVtLG4pfHx0aGlzLl9hZGRJZGVudGl0eUNoYW5nZShpLG4pKTooaT10aGlzLl9taXNtYXRjaChpLG4sbyxlKSxhPSEwKSxpPWkuX25leHR9ZWxzZSBlPTAsKGZ1bmN0aW9uIHIodCxlKXtpZihBcnJheS5pc0FycmF5KHQpKWZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKWUodFtuXSk7ZWxzZXtjb25zdCBuPXRbc20oKV0oKTtsZXQgbztmb3IoOyEobz1uLm5leHQoKSkuZG9uZTspZShvLnZhbHVlKX19KSh0LCh0PT57bz10aGlzLl90cmFja0J5Rm4oZSx0KSxudWxsIT09aSYmT2JqZWN0LmlzKGkudHJhY2tCeUlkLG8pPyhhJiYoaT10aGlzLl92ZXJpZnlSZWluc2VydGlvbihpLHQsbyxlKSksT2JqZWN0LmlzKGkuaXRlbSx0KXx8dGhpcy5fYWRkSWRlbnRpdHlDaGFuZ2UoaSx0KSk6KGk9dGhpcy5fbWlzbWF0Y2goaSx0LG8sZSksYT0hMCksaT1pLl9uZXh0LGUrK30pKSx0aGlzLmxlbmd0aD1lO3JldHVybiB0aGlzLl90cnVuY2F0ZShpKSx0aGlzLmNvbGxlY3Rpb249dCx0aGlzLmlzRGlydHl9Z2V0IGlzRGlydHkoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FkZGl0aW9uc0hlYWR8fG51bGwhPT10aGlzLl9tb3Zlc0hlYWR8fG51bGwhPT10aGlzLl9yZW1vdmFsc0hlYWR8fG51bGwhPT10aGlzLl9pZGVudGl0eUNoYW5nZXNIZWFkfV9yZXNldCgpe2lmKHRoaXMuaXNEaXJ0eSl7bGV0IHQ7Zm9yKHQ9dGhpcy5fcHJldmlvdXNJdEhlYWQ9dGhpcy5faXRIZWFkO251bGwhPT10O3Q9dC5fbmV4dCl0Ll9uZXh0UHJldmlvdXM9dC5fbmV4dDtmb3IodD10aGlzLl9hZGRpdGlvbnNIZWFkO251bGwhPT10O3Q9dC5fbmV4dEFkZGVkKXQucHJldmlvdXNJbmRleD10LmN1cnJlbnRJbmRleDtmb3IodGhpcy5fYWRkaXRpb25zSGVhZD10aGlzLl9hZGRpdGlvbnNUYWlsPW51bGwsdD10aGlzLl9tb3Zlc0hlYWQ7bnVsbCE9PXQ7dD10Ll9uZXh0TW92ZWQpdC5wcmV2aW91c0luZGV4PXQuY3VycmVudEluZGV4O3RoaXMuX21vdmVzSGVhZD10aGlzLl9tb3Zlc1RhaWw9bnVsbCx0aGlzLl9yZW1vdmFsc0hlYWQ9dGhpcy5fcmVtb3ZhbHNUYWlsPW51bGwsdGhpcy5faWRlbnRpdHlDaGFuZ2VzSGVhZD10aGlzLl9pZGVudGl0eUNoYW5nZXNUYWlsPW51bGx9fV9taXNtYXRjaCh0LGUsbixvKXtsZXQgaTtyZXR1cm4gbnVsbD09PXQ/aT10aGlzLl9pdFRhaWw6KGk9dC5fcHJldix0aGlzLl9yZW1vdmUodCkpLG51bGwhPT0odD1udWxsPT09dGhpcy5fdW5saW5rZWRSZWNvcmRzP251bGw6dGhpcy5fdW5saW5rZWRSZWNvcmRzLmdldChuLG51bGwpKT8oT2JqZWN0LmlzKHQuaXRlbSxlKXx8dGhpcy5fYWRkSWRlbnRpdHlDaGFuZ2UodCxlKSx0aGlzLl9yZWluc2VydEFmdGVyKHQsaSxvKSk6bnVsbCE9PSh0PW51bGw9PT10aGlzLl9saW5rZWRSZWNvcmRzP251bGw6dGhpcy5fbGlua2VkUmVjb3Jkcy5nZXQobixvKSk/KE9iamVjdC5pcyh0Lml0ZW0sZSl8fHRoaXMuX2FkZElkZW50aXR5Q2hhbmdlKHQsZSksdGhpcy5fbW92ZUFmdGVyKHQsaSxvKSk6dD10aGlzLl9hZGRBZnRlcihuZXcgbGIoZSxuKSxpLG8pLHR9X3ZlcmlmeVJlaW5zZXJ0aW9uKHQsZSxuLG8pe2xldCBpPW51bGw9PT10aGlzLl91bmxpbmtlZFJlY29yZHM/bnVsbDp0aGlzLl91bmxpbmtlZFJlY29yZHMuZ2V0KG4sbnVsbCk7cmV0dXJuIG51bGwhPT1pP3Q9dGhpcy5fcmVpbnNlcnRBZnRlcihpLHQuX3ByZXYsbyk6dC5jdXJyZW50SW5kZXghPW8mJih0LmN1cnJlbnRJbmRleD1vLHRoaXMuX2FkZFRvTW92ZXModCxvKSksdH1fdHJ1bmNhdGUodCl7Zm9yKDtudWxsIT09dDspe2NvbnN0IGU9dC5fbmV4dDt0aGlzLl9hZGRUb1JlbW92YWxzKHRoaXMuX3VubGluayh0KSksdD1lfW51bGwhPT10aGlzLl91bmxpbmtlZFJlY29yZHMmJnRoaXMuX3VubGlua2VkUmVjb3Jkcy5jbGVhcigpLG51bGwhPT10aGlzLl9hZGRpdGlvbnNUYWlsJiYodGhpcy5fYWRkaXRpb25zVGFpbC5fbmV4dEFkZGVkPW51bGwpLG51bGwhPT10aGlzLl9tb3Zlc1RhaWwmJih0aGlzLl9tb3Zlc1RhaWwuX25leHRNb3ZlZD1udWxsKSxudWxsIT09dGhpcy5faXRUYWlsJiYodGhpcy5faXRUYWlsLl9uZXh0PW51bGwpLG51bGwhPT10aGlzLl9yZW1vdmFsc1RhaWwmJih0aGlzLl9yZW1vdmFsc1RhaWwuX25leHRSZW1vdmVkPW51bGwpLG51bGwhPT10aGlzLl9pZGVudGl0eUNoYW5nZXNUYWlsJiYodGhpcy5faWRlbnRpdHlDaGFuZ2VzVGFpbC5fbmV4dElkZW50aXR5Q2hhbmdlPW51bGwpfV9yZWluc2VydEFmdGVyKHQsZSxuKXtudWxsIT09dGhpcy5fdW5saW5rZWRSZWNvcmRzJiZ0aGlzLl91bmxpbmtlZFJlY29yZHMucmVtb3ZlKHQpO2NvbnN0IG89dC5fcHJldlJlbW92ZWQsaT10Ll9uZXh0UmVtb3ZlZDtyZXR1cm4gbnVsbD09PW8/dGhpcy5fcmVtb3ZhbHNIZWFkPWk6by5fbmV4dFJlbW92ZWQ9aSxudWxsPT09aT90aGlzLl9yZW1vdmFsc1RhaWw9bzppLl9wcmV2UmVtb3ZlZD1vLHRoaXMuX2luc2VydEFmdGVyKHQsZSxuKSx0aGlzLl9hZGRUb01vdmVzKHQsbiksdH1fbW92ZUFmdGVyKHQsZSxuKXtyZXR1cm4gdGhpcy5fdW5saW5rKHQpLHRoaXMuX2luc2VydEFmdGVyKHQsZSxuKSx0aGlzLl9hZGRUb01vdmVzKHQsbiksdH1fYWRkQWZ0ZXIodCxlLG4pe3JldHVybiB0aGlzLl9pbnNlcnRBZnRlcih0LGUsbiksdGhpcy5fYWRkaXRpb25zVGFpbD1udWxsPT09dGhpcy5fYWRkaXRpb25zVGFpbD90aGlzLl9hZGRpdGlvbnNIZWFkPXQ6dGhpcy5fYWRkaXRpb25zVGFpbC5fbmV4dEFkZGVkPXQsdH1faW5zZXJ0QWZ0ZXIodCxlLG4pe2NvbnN0IG89bnVsbD09PWU/dGhpcy5faXRIZWFkOmUuX25leHQ7cmV0dXJuIHQuX25leHQ9byx0Ll9wcmV2PWUsbnVsbD09PW8/dGhpcy5faXRUYWlsPXQ6by5fcHJldj10LG51bGw9PT1lP3RoaXMuX2l0SGVhZD10OmUuX25leHQ9dCxudWxsPT09dGhpcy5fbGlua2VkUmVjb3JkcyYmKHRoaXMuX2xpbmtlZFJlY29yZHM9bmV3IGRiKSx0aGlzLl9saW5rZWRSZWNvcmRzLnB1dCh0KSx0LmN1cnJlbnRJbmRleD1uLHR9X3JlbW92ZSh0KXtyZXR1cm4gdGhpcy5fYWRkVG9SZW1vdmFscyh0aGlzLl91bmxpbmsodCkpfV91bmxpbmsodCl7bnVsbCE9PXRoaXMuX2xpbmtlZFJlY29yZHMmJnRoaXMuX2xpbmtlZFJlY29yZHMucmVtb3ZlKHQpO2NvbnN0IGU9dC5fcHJldixuPXQuX25leHQ7cmV0dXJuIG51bGw9PT1lP3RoaXMuX2l0SGVhZD1uOmUuX25leHQ9bixudWxsPT09bj90aGlzLl9pdFRhaWw9ZTpuLl9wcmV2PWUsdH1fYWRkVG9Nb3Zlcyh0LGUpe3JldHVybiB0LnByZXZpb3VzSW5kZXg9PT1lfHwodGhpcy5fbW92ZXNUYWlsPW51bGw9PT10aGlzLl9tb3Zlc1RhaWw/dGhpcy5fbW92ZXNIZWFkPXQ6dGhpcy5fbW92ZXNUYWlsLl9uZXh0TW92ZWQ9dCksdH1fYWRkVG9SZW1vdmFscyh0KXtyZXR1cm4gbnVsbD09PXRoaXMuX3VubGlua2VkUmVjb3JkcyYmKHRoaXMuX3VubGlua2VkUmVjb3Jkcz1uZXcgZGIpLHRoaXMuX3VubGlua2VkUmVjb3Jkcy5wdXQodCksdC5jdXJyZW50SW5kZXg9bnVsbCx0Ll9uZXh0UmVtb3ZlZD1udWxsLG51bGw9PT10aGlzLl9yZW1vdmFsc1RhaWw/KHRoaXMuX3JlbW92YWxzVGFpbD10aGlzLl9yZW1vdmFsc0hlYWQ9dCx0Ll9wcmV2UmVtb3ZlZD1udWxsKToodC5fcHJldlJlbW92ZWQ9dGhpcy5fcmVtb3ZhbHNUYWlsLHRoaXMuX3JlbW92YWxzVGFpbD10aGlzLl9yZW1vdmFsc1RhaWwuX25leHRSZW1vdmVkPXQpLHR9X2FkZElkZW50aXR5Q2hhbmdlKHQsZSl7cmV0dXJuIHQuaXRlbT1lLHRoaXMuX2lkZW50aXR5Q2hhbmdlc1RhaWw9bnVsbD09PXRoaXMuX2lkZW50aXR5Q2hhbmdlc1RhaWw/dGhpcy5faWRlbnRpdHlDaGFuZ2VzSGVhZD10OnRoaXMuX2lkZW50aXR5Q2hhbmdlc1RhaWwuX25leHRJZGVudGl0eUNoYW5nZT10LHR9fWNsYXNzIGxie2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5pdGVtPXQsdGhpcy50cmFja0J5SWQ9ZSx0aGlzLmN1cnJlbnRJbmRleD1udWxsLHRoaXMucHJldmlvdXNJbmRleD1udWxsLHRoaXMuX25leHRQcmV2aW91cz1udWxsLHRoaXMuX3ByZXY9bnVsbCx0aGlzLl9uZXh0PW51bGwsdGhpcy5fcHJldkR1cD1udWxsLHRoaXMuX25leHREdXA9bnVsbCx0aGlzLl9wcmV2UmVtb3ZlZD1udWxsLHRoaXMuX25leHRSZW1vdmVkPW51bGwsdGhpcy5fbmV4dEFkZGVkPW51bGwsdGhpcy5fbmV4dE1vdmVkPW51bGwsdGhpcy5fbmV4dElkZW50aXR5Q2hhbmdlPW51bGx9fWNsYXNzIGNie2NvbnN0cnVjdG9yKCl7dGhpcy5faGVhZD1udWxsLHRoaXMuX3RhaWw9bnVsbH1hZGQodCl7bnVsbD09PXRoaXMuX2hlYWQ/KHRoaXMuX2hlYWQ9dGhpcy5fdGFpbD10LHQuX25leHREdXA9bnVsbCx0Ll9wcmV2RHVwPW51bGwpOih0aGlzLl90YWlsLl9uZXh0RHVwPXQsdC5fcHJldkR1cD10aGlzLl90YWlsLHQuX25leHREdXA9bnVsbCx0aGlzLl90YWlsPXQpfWdldCh0LGUpe2xldCBuO2ZvcihuPXRoaXMuX2hlYWQ7bnVsbCE9PW47bj1uLl9uZXh0RHVwKWlmKChudWxsPT09ZXx8ZTw9bi5jdXJyZW50SW5kZXgpJiZPYmplY3QuaXMobi50cmFja0J5SWQsdCkpcmV0dXJuIG47cmV0dXJuIG51bGx9cmVtb3ZlKHQpe2NvbnN0IGU9dC5fcHJldkR1cCxuPXQuX25leHREdXA7cmV0dXJuIG51bGw9PT1lP3RoaXMuX2hlYWQ9bjplLl9uZXh0RHVwPW4sbnVsbD09PW4/dGhpcy5fdGFpbD1lOm4uX3ByZXZEdXA9ZSxudWxsPT09dGhpcy5faGVhZH19Y2xhc3MgZGJ7Y29uc3RydWN0b3IoKXt0aGlzLm1hcD1uZXcgTWFwfXB1dCh0KXtjb25zdCBlPXQudHJhY2tCeUlkO2xldCBuPXRoaXMubWFwLmdldChlKTtufHwobj1uZXcgY2IsdGhpcy5tYXAuc2V0KGUsbikpLG4uYWRkKHQpfWdldCh0LGUpe2NvbnN0IG49dGhpcy5tYXAuZ2V0KHQpO3JldHVybiBuP24uZ2V0KHQsZSk6bnVsbH1yZW1vdmUodCl7Y29uc3QgZT10LnRyYWNrQnlJZDtyZXR1cm4gdGhpcy5tYXAuZ2V0KGUpLnJlbW92ZSh0KSYmdGhpcy5tYXAuZGVsZXRlKGUpLHR9Z2V0IGlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMubWFwLnNpemV9Y2xlYXIoKXt0aGlzLm1hcC5jbGVhcigpfX1mdW5jdGlvbiBwYih0LGUsbil7Y29uc3Qgbz10LnByZXZpb3VzSW5kZXg7aWYobnVsbD09PW8pcmV0dXJuIG87bGV0IGk9MDtyZXR1cm4gbiYmbzxuLmxlbmd0aCYmKGk9bltvXSksbytlK2l9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIG1ie2NvbnN0cnVjdG9yKCl7fXN1cHBvcnRzKHQpe3JldHVybiB0IGluc3RhbmNlb2YgTWFwfHxwbSh0KX1jcmVhdGUoKXtyZXR1cm4gbmV3IGZifX1jbGFzcyBmYntjb25zdHJ1Y3Rvcigpe3RoaXMuX3JlY29yZHM9bmV3IE1hcCx0aGlzLl9tYXBIZWFkPW51bGwsdGhpcy5fYXBwZW5kQWZ0ZXI9bnVsbCx0aGlzLl9wcmV2aW91c01hcEhlYWQ9bnVsbCx0aGlzLl9jaGFuZ2VzSGVhZD1udWxsLHRoaXMuX2NoYW5nZXNUYWlsPW51bGwsdGhpcy5fYWRkaXRpb25zSGVhZD1udWxsLHRoaXMuX2FkZGl0aW9uc1RhaWw9bnVsbCx0aGlzLl9yZW1vdmFsc0hlYWQ9bnVsbCx0aGlzLl9yZW1vdmFsc1RhaWw9bnVsbH1nZXQgaXNEaXJ0eSgpe3JldHVybiBudWxsIT09dGhpcy5fYWRkaXRpb25zSGVhZHx8bnVsbCE9PXRoaXMuX2NoYW5nZXNIZWFkfHxudWxsIT09dGhpcy5fcmVtb3ZhbHNIZWFkfWZvckVhY2hJdGVtKHQpe2xldCBlO2ZvcihlPXRoaXMuX21hcEhlYWQ7bnVsbCE9PWU7ZT1lLl9uZXh0KXQoZSl9Zm9yRWFjaFByZXZpb3VzSXRlbSh0KXtsZXQgZTtmb3IoZT10aGlzLl9wcmV2aW91c01hcEhlYWQ7bnVsbCE9PWU7ZT1lLl9uZXh0UHJldmlvdXMpdChlKX1mb3JFYWNoQ2hhbmdlZEl0ZW0odCl7bGV0IGU7Zm9yKGU9dGhpcy5fY2hhbmdlc0hlYWQ7bnVsbCE9PWU7ZT1lLl9uZXh0Q2hhbmdlZCl0KGUpfWZvckVhY2hBZGRlZEl0ZW0odCl7bGV0IGU7Zm9yKGU9dGhpcy5fYWRkaXRpb25zSGVhZDtudWxsIT09ZTtlPWUuX25leHRBZGRlZCl0KGUpfWZvckVhY2hSZW1vdmVkSXRlbSh0KXtsZXQgZTtmb3IoZT10aGlzLl9yZW1vdmFsc0hlYWQ7bnVsbCE9PWU7ZT1lLl9uZXh0UmVtb3ZlZCl0KGUpfWRpZmYodCl7aWYodCl7aWYoISh0IGluc3RhbmNlb2YgTWFwfHxwbSh0KSkpdGhyb3cgbmV3IEVycm9yKGBFcnJvciB0cnlpbmcgdG8gZGlmZiAnJHtLZSh0KX0nLiBPbmx5IG1hcHMgYW5kIG9iamVjdHMgYXJlIGFsbG93ZWRgKX1lbHNlIHQ9bmV3IE1hcDtyZXR1cm4gdGhpcy5jaGVjayh0KT90aGlzOm51bGx9b25EZXN0cm95KCl7fWNoZWNrKHQpe3RoaXMuX3Jlc2V0KCk7bGV0IGU9dGhpcy5fbWFwSGVhZDtpZih0aGlzLl9hcHBlbmRBZnRlcj1udWxsLHRoaXMuX2ZvckVhY2godCwoKHQsbik9PntpZihlJiZlLmtleT09PW4pdGhpcy5fbWF5YmVBZGRUb0NoYW5nZXMoZSx0KSx0aGlzLl9hcHBlbmRBZnRlcj1lLGU9ZS5fbmV4dDtlbHNle2NvbnN0IG89dGhpcy5fZ2V0T3JDcmVhdGVSZWNvcmRGb3JLZXkobix0KTtlPXRoaXMuX2luc2VydEJlZm9yZU9yQXBwZW5kKGUsbyl9fSkpLGUpe2UuX3ByZXYmJihlLl9wcmV2Ll9uZXh0PW51bGwpLHRoaXMuX3JlbW92YWxzSGVhZD1lO2ZvcihsZXQgdD1lO251bGwhPT10O3Q9dC5fbmV4dFJlbW92ZWQpdD09PXRoaXMuX21hcEhlYWQmJih0aGlzLl9tYXBIZWFkPW51bGwpLHRoaXMuX3JlY29yZHMuZGVsZXRlKHQua2V5KSx0Ll9uZXh0UmVtb3ZlZD10Ll9uZXh0LHQucHJldmlvdXNWYWx1ZT10LmN1cnJlbnRWYWx1ZSx0LmN1cnJlbnRWYWx1ZT1udWxsLHQuX3ByZXY9bnVsbCx0Ll9uZXh0PW51bGx9cmV0dXJuIHRoaXMuX2NoYW5nZXNUYWlsJiYodGhpcy5fY2hhbmdlc1RhaWwuX25leHRDaGFuZ2VkPW51bGwpLHRoaXMuX2FkZGl0aW9uc1RhaWwmJih0aGlzLl9hZGRpdGlvbnNUYWlsLl9uZXh0QWRkZWQ9bnVsbCksdGhpcy5pc0RpcnR5fV9pbnNlcnRCZWZvcmVPckFwcGVuZCh0LGUpe2lmKHQpe2NvbnN0IG49dC5fcHJldjtyZXR1cm4gZS5fbmV4dD10LGUuX3ByZXY9bix0Ll9wcmV2PWUsbiYmKG4uX25leHQ9ZSksdD09PXRoaXMuX21hcEhlYWQmJih0aGlzLl9tYXBIZWFkPWUpLHRoaXMuX2FwcGVuZEFmdGVyPXQsdH1yZXR1cm4gdGhpcy5fYXBwZW5kQWZ0ZXI/KHRoaXMuX2FwcGVuZEFmdGVyLl9uZXh0PWUsZS5fcHJldj10aGlzLl9hcHBlbmRBZnRlcik6dGhpcy5fbWFwSGVhZD1lLHRoaXMuX2FwcGVuZEFmdGVyPWUsbnVsbH1fZ2V0T3JDcmVhdGVSZWNvcmRGb3JLZXkodCxlKXtpZih0aGlzLl9yZWNvcmRzLmhhcyh0KSl7Y29uc3Qgbj10aGlzLl9yZWNvcmRzLmdldCh0KTt0aGlzLl9tYXliZUFkZFRvQ2hhbmdlcyhuLGUpO2NvbnN0IG89bi5fcHJldixpPW4uX25leHQ7cmV0dXJuIG8mJihvLl9uZXh0PWkpLGkmJihpLl9wcmV2PW8pLG4uX25leHQ9bnVsbCxuLl9wcmV2PW51bGwsbn1jb25zdCBuPW5ldyB1Yih0KTtyZXR1cm4gdGhpcy5fcmVjb3Jkcy5zZXQodCxuKSxuLmN1cnJlbnRWYWx1ZT1lLHRoaXMuX2FkZFRvQWRkaXRpb25zKG4pLG59X3Jlc2V0KCl7aWYodGhpcy5pc0RpcnR5KXtsZXQgdDtmb3IodGhpcy5fcHJldmlvdXNNYXBIZWFkPXRoaXMuX21hcEhlYWQsdD10aGlzLl9wcmV2aW91c01hcEhlYWQ7bnVsbCE9PXQ7dD10Ll9uZXh0KXQuX25leHRQcmV2aW91cz10Ll9uZXh0O2Zvcih0PXRoaXMuX2NoYW5nZXNIZWFkO251bGwhPT10O3Q9dC5fbmV4dENoYW5nZWQpdC5wcmV2aW91c1ZhbHVlPXQuY3VycmVudFZhbHVlO2Zvcih0PXRoaXMuX2FkZGl0aW9uc0hlYWQ7bnVsbCE9dDt0PXQuX25leHRBZGRlZCl0LnByZXZpb3VzVmFsdWU9dC5jdXJyZW50VmFsdWU7dGhpcy5fY2hhbmdlc0hlYWQ9dGhpcy5fY2hhbmdlc1RhaWw9bnVsbCx0aGlzLl9hZGRpdGlvbnNIZWFkPXRoaXMuX2FkZGl0aW9uc1RhaWw9bnVsbCx0aGlzLl9yZW1vdmFsc0hlYWQ9bnVsbH19X21heWJlQWRkVG9DaGFuZ2VzKHQsZSl7T2JqZWN0LmlzKGUsdC5jdXJyZW50VmFsdWUpfHwodC5wcmV2aW91c1ZhbHVlPXQuY3VycmVudFZhbHVlLHQuY3VycmVudFZhbHVlPWUsdGhpcy5fYWRkVG9DaGFuZ2VzKHQpKX1fYWRkVG9BZGRpdGlvbnModCl7bnVsbD09PXRoaXMuX2FkZGl0aW9uc0hlYWQ/dGhpcy5fYWRkaXRpb25zSGVhZD10aGlzLl9hZGRpdGlvbnNUYWlsPXQ6KHRoaXMuX2FkZGl0aW9uc1RhaWwuX25leHRBZGRlZD10LHRoaXMuX2FkZGl0aW9uc1RhaWw9dCl9X2FkZFRvQ2hhbmdlcyh0KXtudWxsPT09dGhpcy5fY2hhbmdlc0hlYWQ/dGhpcy5fY2hhbmdlc0hlYWQ9dGhpcy5fY2hhbmdlc1RhaWw9dDoodGhpcy5fY2hhbmdlc1RhaWwuX25leHRDaGFuZ2VkPXQsdGhpcy5fY2hhbmdlc1RhaWw9dCl9X2ZvckVhY2godCxlKXt0IGluc3RhbmNlb2YgTWFwP3QuZm9yRWFjaChlKTpPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChuPT5lKHRbbl0sbikpKX19Y2xhc3MgdWJ7Y29uc3RydWN0b3IodCl7dGhpcy5rZXk9dCx0aGlzLnByZXZpb3VzVmFsdWU9bnVsbCx0aGlzLmN1cnJlbnRWYWx1ZT1udWxsLHRoaXMuX25leHRQcmV2aW91cz1udWxsLHRoaXMuX25leHQ9bnVsbCx0aGlzLl9wcmV2PW51bGwsdGhpcy5fbmV4dEFkZGVkPW51bGwsdGhpcy5fbmV4dFJlbW92ZWQ9bnVsbCx0aGlzLl9uZXh0Q2hhbmdlZD1udWxsfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gZ2IoKXtyZXR1cm4gbmV3IGhiKFtuZXcgYWJdKX1jbGFzcyBoYntjb25zdHJ1Y3Rvcih0KXt0aGlzLmZhY3Rvcmllcz10fXN0YXRpYyBjcmVhdGUodCxlKXtpZihudWxsIT1lKXtjb25zdCBuPWUuZmFjdG9yaWVzLnNsaWNlKCk7dD10LmNvbmNhdChuKX1yZXR1cm4gbmV3IGhiKHQpfXN0YXRpYyBleHRlbmQodCl7cmV0dXJue3Byb3ZpZGU6aGIsdXNlRmFjdG9yeTplPT5oYi5jcmVhdGUodCxlfHxnYigpKSxkZXBzOltbaGIsbmV3IGpyLG5ldyBCcl1dfX1maW5kKHQpe2NvbnN0IGU9dGhpcy5mYWN0b3JpZXMuZmluZCgoZT0+ZS5zdXBwb3J0cyh0KSkpO2lmKG51bGwhPWUpcmV0dXJuIGU7dGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBhIGRpZmZlciBzdXBwb3J0aW5nIG9iamVjdCAnJHt0fScgb2YgdHlwZSAnJHsoZnVuY3Rpb24gbih0KXtyZXR1cm4gdC5uYW1lfHx0eXBlb2YgdH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0KX0nYCl9fWZ1bmN0aW9uIGJiKCl7cmV0dXJuIG5ldyB5YihbbmV3IG1iXSl9aGIuybVwcm92PVNuKHt0b2tlbjpoYixwcm92aWRlZEluOiJyb290IixmYWN0b3J5OmdifSk7Y2xhc3MgeWJ7Y29uc3RydWN0b3IodCl7dGhpcy5mYWN0b3JpZXM9dH1zdGF0aWMgY3JlYXRlKHQsZSl7aWYoZSl7Y29uc3Qgbj1lLmZhY3Rvcmllcy5zbGljZSgpO3Q9dC5jb25jYXQobil9cmV0dXJuIG5ldyB5Yih0KX1zdGF0aWMgZXh0ZW5kKHQpe3JldHVybntwcm92aWRlOnliLHVzZUZhY3Rvcnk6ZT0+eWIuY3JlYXRlKHQsZXx8YmIoKSksZGVwczpbW3liLG5ldyBqcixuZXcgQnJdXX19ZmluZCh0KXtjb25zdCBlPXRoaXMuZmFjdG9yaWVzLmZpbmQoKGU9PmUuc3VwcG9ydHModCkpKTtpZihlKXJldHVybiBlO3Rocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgYSBkaWZmZXIgc3VwcG9ydGluZyBvYmplY3QgJyR7dH0nYCl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gX2IodCxlLG4sbyxpPSExKXtmb3IoO251bGwhPT1uOyl7bmdEZXZNb2RlJiZnYShuLDYzKTtjb25zdCBhPWVbbi5pbmRleF07aWYobnVsbCE9PWEmJm8ucHVzaChsaShhKSksd28oYSkpZm9yKGxldCB0PU9vO3Q8YS5sZW5ndGg7dCsrKXtjb25zdCBlPWFbdF0sbj1lWzFdLmZpcnN0Q2hpbGQ7bnVsbCE9PW4mJl9iKGVbMV0sZSxuLG8pfWNvbnN0IHI9bi50eXBlO2lmKDgmcilfYih0LGUsbi5jaGlsZCxvKTtlbHNlIGlmKDMyJnIpe2NvbnN0IHQ9VGwobixlKTtsZXQgaTtmb3IoO2k9dCgpOylvLnB1c2goaSl9ZWxzZSBpZigxNiZyKXtjb25zdCB0PWxjKGUsbik7aWYoQXJyYXkuaXNBcnJheSh0KSlvLnB1c2goLi4udCk7ZWxzZXtjb25zdCBuPU5sKGVbMTZdKTtuZ0Rldk1vZGUmJlVvKG4pLF9iKG5bMV0sbix0LG8sITApfX1uPWk/bi5wcm9qZWN0aW9uTmV4dDpuLm5leHR9cmV0dXJuIG99Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL3liLsm1cHJvdj1Tbih7dG9rZW46eWIscHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTpiYn0pO2NsYXNzIENie2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fbFZpZXc9dCx0aGlzLl9jZFJlZkluamVjdGluZ1ZpZXc9ZSx0aGlzLl9hcHBSZWY9bnVsbCx0aGlzLl9hdHRhY2hlZFRvVmlld0NvbnRhaW5lcj0hMX1nZXQgcm9vdE5vZGVzKCl7Y29uc3QgdD10aGlzLl9sVmlldyxlPXRbMV07cmV0dXJuIF9iKGUsdCxlLmZpcnN0Q2hpbGQsW10pfWdldCBjb250ZXh0KCl7cmV0dXJuIHRoaXMuX2xWaWV3WzhdfXNldCBjb250ZXh0KHQpe3RoaXMuX2xWaWV3WzhdPXR9Z2V0IGRlc3Ryb3llZCgpe3JldHVybiAyNTY9PSgyNTYmdGhpcy5fbFZpZXdbMl0pfWRlc3Ryb3koKXtpZih0aGlzLl9hcHBSZWYpdGhpcy5fYXBwUmVmLmRldGFjaFZpZXcodGhpcyk7ZWxzZSBpZih0aGlzLl9hdHRhY2hlZFRvVmlld0NvbnRhaW5lcil7Y29uc3QgdD10aGlzLl9sVmlld1szXTtpZih3byh0KSl7Y29uc3QgZT10WzhdLG49ZT9lLmluZGV4T2YodGhpcyk6LTE7bj4tMSYmKG5nRGV2TW9kZSYmZ24obix0LmluZGV4T2YodGhpcy5fbFZpZXcpLU9vLCJBbiBhdHRhY2hlZCB2aWV3IHNob3VsZCBiZSBpbiB0aGUgc2FtZSBwb3NpdGlvbiB3aXRoaW4gaXRzIGNvbnRhaW5lciBhcyBpdHMgVmlld1JlZiBpbiB0aGUgVklFV19SRUZTIGFycmF5LiIpLFlsKHQsbiksdXIoZSxuKSl9dGhpcy5fYXR0YWNoZWRUb1ZpZXdDb250YWluZXI9ITF9cWwodGhpcy5fbFZpZXdbMV0sdGhpcy5fbFZpZXcpfW9uRGVzdHJveSh0KXtUZCh0aGlzLl9sVmlld1sxXSx0aGlzLl9sVmlldyxudWxsLHQpfW1hcmtGb3JDaGVjaygpe29wKHRoaXMuX2NkUmVmSW5qZWN0aW5nVmlld3x8dGhpcy5fbFZpZXcpfWRldGFjaCgpe3RoaXMuX2xWaWV3WzJdJj0tMTI5fXJlYXR0YWNoKCl7dGhpcy5fbFZpZXdbMl18PTEyOH1kZXRlY3RDaGFuZ2VzKCl7YXAodGhpcy5fbFZpZXdbMV0sdGhpcy5fbFZpZXcsdGhpcy5jb250ZXh0KX1jaGVja05vQ2hhbmdlcygpeyEoZnVuY3Rpb24gdChlLG4sbyl7VGkoITApO3RyeXthcChlLG4sbyl9ZmluYWxseXtUaSghMSl9fSkodGhpcy5fbFZpZXdbMV0sdGhpcy5fbFZpZXcsdGhpcy5jb250ZXh0KX1hdHRhY2hUb1ZpZXdDb250YWluZXJSZWYoKXtpZih0aGlzLl9hcHBSZWYpdGhyb3cgbmV3IEVycm9yKCJUaGlzIHZpZXcgaXMgYWxyZWFkeSBhdHRhY2hlZCBkaXJlY3RseSB0byB0aGUgQXBwbGljYXRpb25SZWYhIik7dGhpcy5fYXR0YWNoZWRUb1ZpZXdDb250YWluZXI9ITB9ZGV0YWNoRnJvbUFwcFJlZigpe3RoaXMuX2FwcFJlZj1udWxsLChmdW5jdGlvbiB0KGUsbil7bWMoZSxuLG5bMTFdLDIsbnVsbCxudWxsKX0pKHRoaXMuX2xWaWV3WzFdLHRoaXMuX2xWaWV3KX1hdHRhY2hUb0FwcFJlZih0KXtpZih0aGlzLl9hdHRhY2hlZFRvVmlld0NvbnRhaW5lcil0aHJvdyBuZXcgRXJyb3IoIlRoaXMgdmlldyBpcyBhbHJlYWR5IGF0dGFjaGVkIHRvIGEgVmlld0NvbnRhaW5lciEiKTt0aGlzLl9hcHBSZWY9dH19Y2xhc3MgTWIgZXh0ZW5kcyBDYntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLl92aWV3PXR9ZGV0ZWN0Q2hhbmdlcygpe3JwKHRoaXMuX3ZpZXcpfWNoZWNrTm9DaGFuZ2VzKCl7IShmdW5jdGlvbiB0KGUpe1RpKCEwKTt0cnl7cnAoZSl9ZmluYWxseXtUaSghMSl9fSkodGhpcy5fdmlldyl9Z2V0IGNvbnRleHQoKXtyZXR1cm4gbnVsbH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IHZiPWZ1bmN0aW9uIHhiKHQpe3JldHVybihmdW5jdGlvbiBlKHQsbixvKXtpZihTbyh0KSYmIW8pe2NvbnN0IGU9ZmkodC5pbmRleCxuKTtyZXR1cm4gbmV3IENiKGUsZSl9aWYoNDcmdC50eXBlKXtyZXR1cm4gbmV3IENiKG5bMTZdLG4pfXJldHVybiBudWxsfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKHdpKCkseGkoKSwxNj09KDE2JnQpKX07Y2xhc3MgT2J7fU9iLl9fTkdfRUxFTUVOVF9JRF9fPXZiO2NvbnN0IFBiPVtuZXcgbWJdLHdiPVtuZXcgYWJdLGtiPW5ldyBoYih3YiksU2I9bmV3IHliKFBiKSxEYj1mdW5jdGlvbiBSYigpe3JldHVybiBOYih3aSgpLHhpKCkpfTtjbGFzcyBFYnt9RWIuX19OR19FTEVNRU5UX0lEX189RGI7Y29uc3QgQWI9RWIsVGI9Y2xhc3MgZXh0ZW5kcyBBYntjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIoKSx0aGlzLl9kZWNsYXJhdGlvbkxWaWV3PXQsdGhpcy5fZGVjbGFyYXRpb25UQ29udGFpbmVyPWUsdGhpcy5lbGVtZW50UmVmPW59Y3JlYXRlRW1iZWRkZWRWaWV3KHQpe2NvbnN0IGU9dGhpcy5fZGVjbGFyYXRpb25UQ29udGFpbmVyLnRWaWV3cyxuPXlkKHRoaXMuX2RlY2xhcmF0aW9uTFZpZXcsZSx0LDE2LG51bGwsZS5kZWNsVE5vZGUsbnVsbCxudWxsLG51bGwsbnVsbCksbz10aGlzLl9kZWNsYXJhdGlvbkxWaWV3W3RoaXMuX2RlY2xhcmF0aW9uVENvbnRhaW5lci5pbmRleF07bmdEZXZNb2RlJiZJbyhvKSxuWzE3XT1vO2NvbnN0IGk9dGhpcy5fZGVjbGFyYXRpb25MVmlld1sxOV07cmV0dXJuIG51bGwhPT1pJiYoblsxOV09aS5jcmVhdGVFbWJlZGRlZFZpZXcoZSkpLHZkKGUsbix0KSxuZXcgQ2Iobil9fTtmdW5jdGlvbiBOYih0LGUpe3JldHVybiA0JnQudHlwZT8obmdEZXZNb2RlJiZ4bih0LnRWaWV3cywiVFZpZXcgbXVzdCBiZSBhbGxvY2F0ZWQiKSxuZXcgVGIoZSx0LHFoKHQsZSkpKTpudWxsfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyB6Ynt9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBJYj1mdW5jdGlvbiBIYigpe3JldHVybiBVYih3aSgpLHhpKCkpfTtjbGFzcyBGYnt9RmIuX19OR19FTEVNRU5UX0lEX189SWI7Y29uc3QgTGI9RmIsQmI9Y2xhc3MgZXh0ZW5kcyBMYntjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIoKSx0aGlzLl9sQ29udGFpbmVyPXQsdGhpcy5faG9zdFROb2RlPWUsdGhpcy5faG9zdExWaWV3PW59Z2V0IGVsZW1lbnQoKXtyZXR1cm4gcWgodGhpcy5faG9zdFROb2RlLHRoaXMuX2hvc3RMVmlldyl9Z2V0IGluamVjdG9yKCl7cmV0dXJuIG5ldyBqYSh0aGlzLl9ob3N0VE5vZGUsdGhpcy5faG9zdExWaWV3KX1nZXQgcGFyZW50SW5qZWN0b3IoKXtjb25zdCB0PVJhKHRoaXMuX2hvc3RUTm9kZSx0aGlzLl9ob3N0TFZpZXcpO2lmKE1hKHQpKXtjb25zdCBlPXhhKHQsdGhpcy5faG9zdExWaWV3KSxuPXZhKHQpO25nRGV2TW9kZSYmV28oZSxuKTtyZXR1cm4gbmV3IGphKGVbMV0uZGF0YVtuKzhdLGUpfXJldHVybiBuZXcgamEobnVsbCx0aGlzLl9ob3N0TFZpZXcpfWNsZWFyKCl7Zm9yKDt0aGlzLmxlbmd0aD4wOyl0aGlzLnJlbW92ZSh0aGlzLmxlbmd0aC0xKX1nZXQodCl7Y29uc3QgZT1WYih0aGlzLl9sQ29udGFpbmVyKTtyZXR1cm4gbnVsbCE9PWUmJmVbdF18fG51bGx9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLl9sQ29udGFpbmVyLmxlbmd0aC1Pb31jcmVhdGVFbWJlZGRlZFZpZXcodCxlLG4pe2NvbnN0IG89dC5jcmVhdGVFbWJlZGRlZFZpZXcoZXx8e30pO3JldHVybiB0aGlzLmluc2VydChvLG4pLG99Y3JlYXRlQ29tcG9uZW50KHQsZSxuLG8saSl7Y29uc3QgYT1ufHx0aGlzLnBhcmVudEluamVjdG9yO2lmKCFpJiZudWxsPT10Lm5nTW9kdWxlJiZhKXtjb25zdCB0PWEuZ2V0KHpiLG51bGwpO3QmJihpPXQpfWNvbnN0IHI9dC5jcmVhdGUoYSxvLHZvaWQgMCxpKTtyZXR1cm4gdGhpcy5pbnNlcnQoci5ob3N0VmlldyxlKSxyfWluc2VydCh0LGUpe2NvbnN0IG49dC5fbFZpZXcsbz1uWzFdO2lmKG5nRGV2TW9kZSYmdC5kZXN0cm95ZWQpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgaW5zZXJ0IGEgZGVzdHJveWVkIFZpZXcgaW4gYSBWaWV3Q29udGFpbmVyISIpO2lmKChmdW5jdGlvbiBpKHQpe3JldHVybiB3byh0WzNdKX0pKG4pKXtjb25zdCBlPXRoaXMuaW5kZXhPZih0KTtpZigtMSE9PWUpdGhpcy5kZXRhY2goZSk7ZWxzZXtjb25zdCBlPW5bM107bmdEZXZNb2RlJiZnbih3byhlKSwhMCwiQW4gYXR0YWNoZWQgdmlldyBzaG91bGQgaGF2ZSBpdHMgUEFSRU5UIHBvaW50IHRvIGEgY29udGFpbmVyLiIpO2NvbnN0IG89bmV3IEJiKGUsZVs2XSxlWzNdKTtvLmRldGFjaChvLmluZGV4T2YodCkpfX1jb25zdCBhPXRoaXMuX2FkanVzdEluZGV4KGUpLHI9dGhpcy5fbENvbnRhaW5lcjtXbChvLG4scixhKTtjb25zdCBzPWNjKGEsciksbD1uWzExXSxjPXRjKGwscls3XSk7cmV0dXJuIG51bGwhPT1jJiYoZnVuY3Rpb24gZCh0LGUsbixvLGksYSl7b1swXT1pLG9bNl09ZSxtYyh0LG8sbiwxLGksYSl9KShvLHJbNl0sbCxuLGMscyksdC5hdHRhY2hUb1ZpZXdDb250YWluZXJSZWYoKSxmcihqYihyKSxhLHQpLHR9bW92ZSh0LGUpe2lmKG5nRGV2TW9kZSYmdC5kZXN0cm95ZWQpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgbW92ZSBhIGRlc3Ryb3llZCBWaWV3IGluIGEgVmlld0NvbnRhaW5lciEiKTtyZXR1cm4gdGhpcy5pbnNlcnQodCxlKX1pbmRleE9mKHQpe2NvbnN0IGU9VmIodGhpcy5fbENvbnRhaW5lcik7cmV0dXJuIG51bGwhPT1lP2UuaW5kZXhPZih0KTotMX1yZW1vdmUodCl7Y29uc3QgZT10aGlzLl9hZGp1c3RJbmRleCh0LC0xKSxuPVlsKHRoaXMuX2xDb250YWluZXIsZSk7biYmKHVyKGpiKHRoaXMuX2xDb250YWluZXIpLGUpLHFsKG5bMV0sbikpfWRldGFjaCh0KXtjb25zdCBlPXRoaXMuX2FkanVzdEluZGV4KHQsLTEpLG49WWwodGhpcy5fbENvbnRhaW5lcixlKTtyZXR1cm4gbiYmbnVsbCE9dXIoamIodGhpcy5fbENvbnRhaW5lciksZSk/bmV3IENiKG4pOm51bGx9X2FkanVzdEluZGV4KHQsZT0wKXtyZXR1cm4gbnVsbD09dD90aGlzLmxlbmd0aCtlOihuZ0Rldk1vZGUmJihNbih0LC0xLGBWaWV3UmVmIGluZGV4IG11c3QgYmUgcG9zaXRpdmUsIGdvdCAke3R9YCksX24odCx0aGlzLmxlbmd0aCsxK2UsImluZGV4IikpLHQpfX07ZnVuY3Rpb24gVmIodCl7cmV0dXJuIHRbOF19ZnVuY3Rpb24gamIodCl7cmV0dXJuIHRbOF18fCh0WzhdPVtdKX1mdW5jdGlvbiBVYih0LGUpe2xldCBuO25nRGV2TW9kZSYmZ2EodCwxNSk7Y29uc3Qgbz1lW3QuaW5kZXhdO2lmKHdvKG8pKW49bztlbHNle2xldCBpO2lmKDgmdC50eXBlKWk9bGkobyk7ZWxzZXtjb25zdCBuPWVbMTFdO25nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyQ3JlYXRlQ29tbWVudCsrLGk9bi5jcmVhdGVDb21tZW50KG5nRGV2TW9kZT8iY29udGFpbmVyIjoiIik7Y29uc3Qgbz1kaSh0LGUpO0psKG4sdGMobixvKSxpLChmdW5jdGlvbiBpKHQsZSl7cmV0dXJuIHJpKHQpP3QubmV4dFNpYmxpbmcoZSk6ZS5uZXh0U2libGluZ30pKG4sbyksITEpfWVbdC5pbmRleF09bj1RZChvLGUsaSx0KSxucChlLG4pfXJldHVybiBuZXcgQmIobix0LGUpfWNvbnN0IFdiPW5ldyBNYXA7ZnVuY3Rpb24gR2IodCl7bGV0IGU9V2IuZ2V0KHQpO3JldHVybiBlfHwoZT1LZSh0KSsiXyIrV2Iuc2l6ZSxXYi5zZXQodCxlKSksZX1HYihOcCksR2IoeXApLEdiKHpiKSwKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCkdiKCRoKSxHYihLaCksR2IoRmIpLEdiKEViKSxHYihPYiksR2IoTnApLEdiKHlwKTtjb25zdCBZYj17fTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgcWIgZXh0ZW5kcyBHaHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMubmdNb2R1bGU9dH1yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0KXtuZ0Rldk1vZGUmJihmdW5jdGlvbiBlKHQsbj0iVHlwZSBwYXNzZWQgaW4gaXMgbm90IENvbXBvbmVudFR5cGUsIGl0IGRvZXMgbm90IGhhdmUgJ8m1Y21wJyBwcm9wZXJ0eS4iKXt5byh0KXx8T24obil9KSh0KTtjb25zdCBuPXlvKHQpO3JldHVybiBuZXcgS2Iobix0aGlzLm5nTW9kdWxlKX19ZnVuY3Rpb24gWmIodCl7Y29uc3QgZT1bXTtmb3IobGV0IG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pKXtlLnB1c2goe3Byb3BOYW1lOnRbbl0sdGVtcGxhdGVOYW1lOm59KX1yZXR1cm4gZX1jb25zdCBYYj1uZXcgZXIoIlNDSEVEVUxFUl9UT0tFTiIse3Byb3ZpZGVkSW46InJvb3QiLGZhY3Rvcnk6KCk9PnhsfSk7Y2xhc3MgS2IgZXh0ZW5kcyBVaHtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy5jb21wb25lbnREZWY9dCx0aGlzLm5nTW9kdWxlPWUsdGhpcy5jb21wb25lbnRUeXBlPXQudHlwZSx0aGlzLnNlbGVjdG9yPShmdW5jdGlvbiBuKHQpe3JldHVybiB0Lm1hcChrYykuam9pbigiLCIpfSkodC5zZWxlY3RvcnMpLHRoaXMubmdDb250ZW50U2VsZWN0b3JzPXQubmdDb250ZW50U2VsZWN0b3JzP3QubmdDb250ZW50U2VsZWN0b3JzOltdLHRoaXMuaXNCb3VuZFRvTW9kdWxlPSEhZX1nZXQgaW5wdXRzKCl7cmV0dXJuIFpiKHRoaXMuY29tcG9uZW50RGVmLmlucHV0cyl9Z2V0IG91dHB1dHMoKXtyZXR1cm4gWmIodGhpcy5jb21wb25lbnREZWYub3V0cHV0cyl9Y3JlYXRlKHQsZSxuLG8pe2NvbnN0IGk9KG89b3x8dGhpcy5uZ01vZHVsZSk/KGZ1bmN0aW9uIGEodCxlKXtyZXR1cm57Z2V0OihuLG8saSk9Pntjb25zdCBhPXQuZ2V0KG4sWWIsaSk7cmV0dXJuIGEhPT1ZYnx8bz09PVliP2E6ZS5nZXQobixvLGkpfX19KSh0LG8uaW5qZWN0b3IpOnQscj1pLmdldChRaCxzaSkscz1pLmdldChuYixudWxsKSxsPXIuY3JlYXRlUmVuZGVyZXIobnVsbCx0aGlzLmNvbXBvbmVudERlZiksYz10aGlzLmNvbXBvbmVudERlZi5zZWxlY3RvcnNbMF1bMF18fCJkaXYiLGQ9bj9BZChsLG4sdGhpcy5jb21wb25lbnREZWYuZW5jYXBzdWxhdGlvbik6VWwoci5jcmVhdGVSZW5kZXJlcihudWxsLHRoaXMuY29tcG9uZW50RGVmKSxjLChmdW5jdGlvbiBwKHQpe2NvbnN0IGU9dC50b0xvd2VyQ2FzZSgpO3JldHVybiJzdmciPT09ZT9laToibWF0aCI9PT1lP25pOm51bGx9KShjKSksbT10aGlzLmNvbXBvbmVudERlZi5vblB1c2g/NTc2OjUyOCxmPShmdW5jdGlvbiB1KHQsZSl7cmV0dXJue2NvbXBvbmVudHM6W10sc2NoZWR1bGVyOnR8fHhsLGNsZWFuOmNwLHBsYXllckhhbmRsZXI6ZXx8bnVsbCxmbGFnczowfX0pKCksZz1SZCgwLG51bGwsbnVsbCwxLDAsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsKSxoPXlkKG51bGwsZyxmLG0sbnVsbCxudWxsLHIsbCxzLGkpO2xldCBiLHk7cWkoaCk7dHJ5e2NvbnN0IHQ9KGZ1bmN0aW9uIG8odCxlLG4saSxhLHIpe2NvbnN0IHM9blsxXTtuZ0Rldk1vZGUmJnduKG4sMjApLG5bMjBdPXQ7Y29uc3QgbD1fZChzLDIwLDIsIiNob3N0IixudWxsKSxjPWwubWVyZ2VkQXR0cnM9ZS5ob3N0QXR0cnM7bnVsbCE9PWMmJihocChsLGMsITApLG51bGwhPT10JiYoaGEoYSx0LGMpLG51bGwhPT1sLmNsYXNzZXMmJmdjKGEsdCxsLmNsYXNzZXMpLG51bGwhPT1sLnN0eWxlcyYmdWMoYSx0LGwuc3R5bGVzKSkpO2NvbnN0IGQ9aS5jcmVhdGVSZW5kZXJlcih0LGUpLHA9eWQobixEZChlKSxudWxsLGUub25QdXNoPzY0OjE2LG5bMjBdLGwsaSxkLHJ8fG51bGwsbnVsbCk7cmV0dXJuIHMuZmlyc3RDcmVhdGVQYXNzJiYoRWEoa2EobCxuKSxzLGUudHlwZSksamQocyxsKSxXZChsLG4ubGVuZ3RoLDEpKSxucChuLHApLG5bMjBdPXB9KShkLHRoaXMuY29tcG9uZW50RGVmLGgscixsKTtpZihkKWlmKG4paGEobCxkLFsibmctdmVyc2lvbiIsaWIuZnVsbF0pO2Vsc2V7Y29uc3R7YXR0cnM6dCxjbGFzc2VzOmV9PShmdW5jdGlvbiBuKHQpe2NvbnN0IGU9W10sbj1bXTtsZXQgbz0xLGk9Mjtmb3IoO288dC5sZW5ndGg7KXtsZXQgYT10W29dO2lmKCJzdHJpbmciPT10eXBlb2YgYSkyPT09aT8iIiE9PWEmJmUucHVzaChhLHRbKytvXSk6OD09PWkmJm4ucHVzaChhKTtlbHNle2lmKCF2YyhpKSlicmVhaztpPWF9bysrfXJldHVybnthdHRyczplLGNsYXNzZXM6bn19KSh0aGlzLmNvbXBvbmVudERlZi5zZWxlY3RvcnNbMF0pO3QmJmhhKGwsZCx0KSxlJiZlLmxlbmd0aD4wJiZnYyhsLGQsZS5qb2luKCIgIikpfWlmKHk9cGkoZyx2byksdm9pZCAwIT09ZSl7Y29uc3QgdD15LnByb2plY3Rpb249W107Zm9yKGxldCBuPTA7bjx0aGlzLm5nQ29udGVudFNlbGVjdG9ycy5sZW5ndGg7bisrKXtjb25zdCBvPWVbbl07dC5wdXNoKG51bGwhPW8/QXJyYXkuZnJvbShvKTpudWxsKX19Yj1YcCh0LHRoaXMuY29tcG9uZW50RGVmLGgsZixbS3BdKSx2ZChnLGgsbnVsbCl9ZmluYWxseXtRaSgpfXJldHVybiBuZXcgSmIodGhpcy5jb21wb25lbnRUeXBlLGIscWgoeSxoKSxoLHkpfX1uZXcgcWI7Y2xhc3MgSmIgZXh0ZW5kcyBjbGFzc3t9e2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7c3VwZXIoKSx0aGlzLmxvY2F0aW9uPW4sdGhpcy5fcm9vdExWaWV3PW8sdGhpcy5fdE5vZGU9aSx0aGlzLmluc3RhbmNlPWUsdGhpcy5ob3N0Vmlldz10aGlzLmNoYW5nZURldGVjdG9yUmVmPW5ldyBNYihvKSx0aGlzLmNvbXBvbmVudFR5cGU9dH1nZXQgaW5qZWN0b3IoKXtyZXR1cm4gbmV3IGphKHRoaXMuX3ROb2RlLHRoaXMuX3Jvb3RMVmlldyl9ZGVzdHJveSgpe3RoaXMuaG9zdFZpZXcuZGVzdHJveSgpfW9uRGVzdHJveSh0KXt0aGlzLmhvc3RWaWV3Lm9uRGVzdHJveSh0KX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFFiKHQsZSxuLG8pe3JldHVybiBWbigoKCk9Pntjb25zdCBpPXQ7bnVsbCE9PWUmJihpLmhhc093blByb3BlcnR5KCJkZWNvcmF0b3JzIikmJnZvaWQgMCE9PWkuZGVjb3JhdG9ycz9pLmRlY29yYXRvcnMucHVzaCguLi5lKTppLmRlY29yYXRvcnM9ZSksbnVsbCE9PW4mJihpLmN0b3JQYXJhbWV0ZXJzPW4pLG51bGwhPT1vJiYoaS5wcm9wRGVjb3JhdG9ycz1pLmhhc093blByb3BlcnR5KCJwcm9wRGVjb3JhdG9ycyIpJiZ2b2lkIDAhPT1pLnByb3BEZWNvcmF0b3JzP09iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxpLnByb3BEZWNvcmF0b3JzKSxvKTpvKX0pKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgJGI9bmV3IE1hcDtmdW5jdGlvbiB0eSh0KXtjb25zdCBlPW5ldyBTZXQ7IShmdW5jdGlvbiB0KG4pe2NvbnN0IG89TW8obiwhMCksaT1vLmlkO2lmKG51bGwhPT1pKXtjb25zdCB0PSRiLmdldChpKTshKGZ1bmN0aW9uIGEodCxlLG4pe2lmKGUmJmUhPT1uKXRocm93IG5ldyBFcnJvcihgRHVwbGljYXRlIG1vZHVsZSByZWdpc3RlcmVkIGZvciAke3R9IC0gJHtLZShlKX0gdnMgJHtLZShlLm5hbWUpfWApfSkoaSx0LG4pLCRiLnNldChpLG4pfWNvbnN0IHI9U2woby5pbXBvcnRzKTtmb3IoY29uc3QgbiBvZiByKWUuaGFzKG4pfHwoZS5hZGQobiksdChuKSl9KSh0KX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgZXkgZXh0ZW5kcyB6Yntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy5fcGFyZW50PWUsdGhpcy5fYm9vdHN0cmFwQ29tcG9uZW50cz1bXSx0aGlzLmluamVjdG9yPXRoaXMsdGhpcy5kZXN0cm95Q2JzPVtdLHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyPW5ldyBxYih0aGlzKTtjb25zdCBuPU1vKHQpO25nRGV2TW9kZSYmeG4obixgTmdNb2R1bGUgJyR7S2UodCl9JyBpcyBub3QgYSBzdWJ0eXBlIG9mICdOZ01vZHVsZVR5cGUnLmApO2NvbnN0IG89KGZ1bmN0aW9uIGkodCl7cmV0dXJuIHRbb29dfHxudWxsfSkodCk7byYmUGcobyksdGhpcy5fYm9vdHN0cmFwQ29tcG9uZW50cz1TbChuLmJvb3RzdHJhcCksdGhpcy5fcjNJbmplY3Rvcj1QcCh0LGUsW3twcm92aWRlOnpiLHVzZVZhbHVlOnRoaXN9LHtwcm92aWRlOkdoLHVzZVZhbHVlOnRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyfV0sS2UodCkpLHRoaXMuX3IzSW5qZWN0b3IuX3Jlc29sdmVJbmplY3RvckRlZlR5cGVzKCksdGhpcy5pbnN0YW5jZT10aGlzLmdldCh0KX1nZXQodCxlPU5wLlRIUk9XX0lGX05PVF9GT1VORCxuPUhuLkRlZmF1bHQpe3JldHVybiB0PT09TnB8fHQ9PT16Ynx8dD09PXlwP3RoaXM6dGhpcy5fcjNJbmplY3Rvci5nZXQodCxlLG4pfWRlc3Ryb3koKXtuZ0Rldk1vZGUmJnhuKHRoaXMuZGVzdHJveUNicywiTmdNb2R1bGUgYWxyZWFkeSBkZXN0cm95ZWQiKTtjb25zdCB0PXRoaXMuX3IzSW5qZWN0b3I7IXQuZGVzdHJveWVkJiZ0LmRlc3Ryb3koKSx0aGlzLmRlc3Ryb3lDYnMuZm9yRWFjaCgodD0+dCgpKSksdGhpcy5kZXN0cm95Q2JzPW51bGx9b25EZXN0cm95KHQpe25nRGV2TW9kZSYmeG4odGhpcy5kZXN0cm95Q2JzLCJOZ01vZHVsZSBhbHJlYWR5IGRlc3Ryb3llZCIpLHRoaXMuZGVzdHJveUNicy5wdXNoKHQpfX1jbGFzcyBueSBleHRlbmRzIGNsYXNze317Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLm1vZHVsZVR5cGU9dDtudWxsIT09TW8odCkmJnR5KHQpfWNyZWF0ZSh0KXtyZXR1cm4gbmV3IGV5KHRoaXMubW9kdWxlVHlwZSx0KX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIG95KHQsZSxuKXtjb25zdCBvPU5pKCkrdCxpPXhpKCk7cmV0dXJuIGlbb109PT1TYz9tbShpLG8sbj9lLmNhbGwobik6ZSgpKTpmbShpLG8pfWZ1bmN0aW9uIGl5KHQsZSxuLG8pe3JldHVybiB1eSh4aSgpLE5pKCksdCxlLG4sbyl9ZnVuY3Rpb24gYXkodCxlLG4sbyxpKXtyZXR1cm4gZ3koeGkoKSxOaSgpLHQsZSxuLG8saSl9ZnVuY3Rpb24gcnkodCxlLG4sbyxpLGEpe3JldHVybiBoeSh4aSgpLE5pKCksdCxlLG4sbyxpLGEpfWZ1bmN0aW9uIHN5KHQsZSxuLG8saSxhLHIpe3JldHVybiBieSh4aSgpLE5pKCksdCxlLG4sbyxpLGEscil9ZnVuY3Rpb24gbHkodCxlLG4sbyxpLGEscixzKXtjb25zdCBsPU5pKCkrdCxjPXhpKCksZD1ibShjLGwsbixvLGksYSk7cmV0dXJuIHVtKGMsbCs0LHIpfHxkP21tKGMsbCs1LHM/ZS5jYWxsKHMsbixvLGksYSxyKTplKG4sbyxpLGEscikpOmZtKGMsbCs1KX1mdW5jdGlvbiBjeSh0LGUsbixvLGksYSxyLHMsbCl7Y29uc3QgYz1OaSgpK3QsZD14aSgpLHA9Ym0oZCxjLG4sbyxpLGEpO3JldHVybiBnbShkLGMrNCxyLHMpfHxwP21tKGQsYys2LGw/ZS5jYWxsKGwsbixvLGksYSxyLHMpOmUobixvLGksYSxyLHMpKTpmbShkLGMrNil9ZnVuY3Rpb24gZHkodCxlLG4sbyxpLGEscixzLGwsYyl7Y29uc3QgZD1OaSgpK3QscD14aSgpO2xldCBtPWJtKHAsZCxuLG8saSxhKTtyZXR1cm4gaG0ocCxkKzQscixzLGwpfHxtP21tKHAsZCs3LGM/ZS5jYWxsKGMsbixvLGksYSxyLHMsbCk6ZShuLG8saSxhLHIscyxsKSk6Zm0ocCxkKzcpfWZ1bmN0aW9uIHB5KHQsZSxuLG8saSxhLHIscyxsLGMsZCl7Y29uc3QgcD1OaSgpK3QsbT14aSgpLGY9Ym0obSxwLG4sbyxpLGEpO3JldHVybiBibShtLHArNCxyLHMsbCxjKXx8Zj9tbShtLHArOCxkP2UuY2FsbChkLG4sbyxpLGEscixzLGwsYyk6ZShuLG8saSxhLHIscyxsLGMpKTpmbShtLHArOCl9ZnVuY3Rpb24gbXkodCxlLG4sbyl7cmV0dXJuIHl5KHhpKCksTmkoKSx0LGUsbixvKX1mdW5jdGlvbiBmeSh0LGUpe25nRGV2TW9kZSYmd24odCxlKTtjb25zdCBuPXRbZV07cmV0dXJuIG49PT1TYz92b2lkIDA6bn1mdW5jdGlvbiB1eSh0LGUsbixvLGksYSl7Y29uc3Qgcj1lK247cmV0dXJuIHVtKHQscixpKT9tbSh0LHIrMSxhP28uY2FsbChhLGkpOm8oaSkpOmZ5KHQscisxKX1mdW5jdGlvbiBneSh0LGUsbixvLGksYSxyKXtjb25zdCBzPWUrbjtyZXR1cm4gZ20odCxzLGksYSk/bW0odCxzKzIscj9vLmNhbGwocixpLGEpOm8oaSxhKSk6ZnkodCxzKzIpfWZ1bmN0aW9uIGh5KHQsZSxuLG8saSxhLHIscyl7Y29uc3QgbD1lK247cmV0dXJuIGhtKHQsbCxpLGEscik/bW0odCxsKzMscz9vLmNhbGwocyxpLGEscik6byhpLGEscikpOmZ5KHQsbCszKX1mdW5jdGlvbiBieSh0LGUsbixvLGksYSxyLHMsbCl7Y29uc3QgYz1lK247cmV0dXJuIGJtKHQsYyxpLGEscixzKT9tbSh0LGMrNCxsP28uY2FsbChsLGksYSxyLHMpOm8oaSxhLHIscykpOmZ5KHQsYys0KX1mdW5jdGlvbiB5eSh0LGUsbixvLGksYSl7bGV0IHI9ZStuLHM9ITE7Zm9yKGxldCBlPTA7ZTxpLmxlbmd0aDtlKyspdW0odCxyKyssaVtlXSkmJihzPSEwKTtyZXR1cm4gcz9tbSh0LHIsby5hcHBseShhLGkpKTpmeSh0LHIpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBfeSh0LGUpe2NvbnN0IG49T2koKTtsZXQgbztjb25zdCBpPXQrdm87bi5maXJzdENyZWF0ZVBhc3M/KG89KGZ1bmN0aW9uIGEodCxlKXtpZihlKWZvcihsZXQgbj1lLmxlbmd0aC0xO24+PTA7bi0tKXtjb25zdCBvPWVbbl07aWYodD09PW8ubmFtZSlyZXR1cm4gb310aHJvdyBuZXcgbm4oIjMwMiIsYFRoZSBwaXBlICcke3R9JyBjb3VsZCBub3QgYmUgZm91bmQhYCl9KShlLG4ucGlwZVJlZ2lzdHJ5KSxuLmRhdGFbaV09byxvLm9uRGVzdHJveSYmKG4uZGVzdHJveUhvb2tzfHwobi5kZXN0cm95SG9va3M9W10pKS5wdXNoKGksby5vbkRlc3Ryb3kpKTpvPW4uZGF0YVtpXTtjb25zdCByPW8uZmFjdG9yeXx8KG8uZmFjdG9yeT1HbyhvLnR5cGUsITApKSxzPUxuKGdmKTt0cnl7Y29uc3QgdD1QYSghMSksZT1yKCk7cmV0dXJuIFBhKHQpLChmdW5jdGlvbiBsKHQsZSxuLG8pe24+PXQuZGF0YS5sZW5ndGgmJih0LmRhdGFbbl09bnVsbCx0LmJsdWVwcmludFtuXT1udWxsKSxlW25dPW99KShuLHhpKCksaSxlKSxlfWZpbmFsbHl7TG4ocyl9fWZ1bmN0aW9uIEN5KHQsZSxuKXtjb25zdCBvPXQrdm8saT14aSgpLGE9bWkoaSxvKTtyZXR1cm4gd3koaSxQeShpLG8pP3V5KGksTmkoKSxlLGEudHJhbnNmb3JtLG4sYSk6YS50cmFuc2Zvcm0obikpfWZ1bmN0aW9uIE15KHQsZSxuLG8pe2NvbnN0IGk9dCt2byxhPXhpKCkscj1taShhLGkpO3JldHVybiB3eShhLFB5KGEsaSk/Z3koYSxOaSgpLGUsci50cmFuc2Zvcm0sbixvLHIpOnIudHJhbnNmb3JtKG4sbykpfWZ1bmN0aW9uIHZ5KHQsZSxuLG8saSl7Y29uc3QgYT10K3ZvLHI9eGkoKSxzPW1pKHIsYSk7cmV0dXJuIHd5KHIsUHkocixhKT9oeShyLE5pKCksZSxzLnRyYW5zZm9ybSxuLG8saSxzKTpzLnRyYW5zZm9ybShuLG8saSkpfWZ1bmN0aW9uIHh5KHQsZSxuLG8saSxhKXtjb25zdCByPXQrdm8scz14aSgpLGw9bWkocyxyKTtyZXR1cm4gd3kocyxQeShzLHIpP2J5KHMsTmkoKSxlLGwudHJhbnNmb3JtLG4sbyxpLGEsbCk6bC50cmFuc2Zvcm0obixvLGksYSkpfWZ1bmN0aW9uIE95KHQsZSxuKXtjb25zdCBvPXQrdm8saT14aSgpLGE9bWkoaSxvKTtyZXR1cm4gd3koaSxQeShpLG8pP3l5KGksTmkoKSxlLGEudHJhbnNmb3JtLG4sYSk6YS50cmFuc2Zvcm0uYXBwbHkoYSxuKSl9ZnVuY3Rpb24gUHkodCxlKXtyZXR1cm4gdFsxXS5kYXRhW2VdLnB1cmV9ZnVuY3Rpb24gd3kodCxlKXtpZihjbS5pc1dyYXBwZWQoZSkpe2U9Y20udW53cmFwKGUpO3RbemkoKV09U2N9cmV0dXJuIGV9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIGt5KHQpe3JldHVybiBlPT57c2V0VGltZW91dCh0LHZvaWQgMCxlKX19Y29uc3QgU3k9Y2xhc3MgZXh0ZW5kcyBCe2NvbnN0cnVjdG9yKHQ9ITEpe3N1cGVyKCksdGhpcy5fX2lzQXN5bmM9dH1lbWl0KHQpe3N1cGVyLm5leHQodCl9c3Vic2NyaWJlKHQsZSxuKXt2YXIgbyxpLGE7bGV0IHI9dCxzPWV8fCgoKT0+bnVsbCksbD1uO2lmKHQmJiJvYmplY3QiPT10eXBlb2YgdCl7Y29uc3QgZT10O3I9bnVsbD09PShvPWUubmV4dCl8fHZvaWQgMD09PW8/dm9pZCAwOm8uYmluZChlKSxzPW51bGw9PT0oaT1lLmVycm9yKXx8dm9pZCAwPT09aT92b2lkIDA6aS5iaW5kKGUpLGw9bnVsbD09PShhPWUuY29tcGxldGUpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLmJpbmQoZSl9dGhpcy5fX2lzQXN5bmMmJihzPWt5KHMpLHImJihyPWt5KHIpKSxsJiYobD1reShsKSkpO2NvbnN0IGM9c3VwZXIuc3Vic2NyaWJlKHtuZXh0OnIsZXJyb3I6cyxjb21wbGV0ZTpsfSk7cmV0dXJuIHQgaW5zdGFuY2VvZiB1JiZ0LmFkZChjKSxjfX07Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIER5KCl7cmV0dXJuIHRoaXMuX3Jlc3VsdHNbc20oKV0oKX1jbGFzcyBSeXtjb25zdHJ1Y3Rvcih0PSExKXt0aGlzLl9lbWl0RGlzdGluY3RDaGFuZ2VzT25seT10LHRoaXMuZGlydHk9ITAsdGhpcy5fcmVzdWx0cz1bXSx0aGlzLl9jaGFuZ2VzRGV0ZWN0ZWQ9ITEsdGhpcy5fY2hhbmdlcz1udWxsLHRoaXMubGVuZ3RoPTAsdGhpcy5maXJzdD12b2lkIDAsdGhpcy5sYXN0PXZvaWQgMDtjb25zdCBlPXNtKCksbj1SeS5wcm90b3R5cGU7bltlXXx8KG5bZV09RHkpfWdldCBjaGFuZ2VzKCl7cmV0dXJuIHRoaXMuX2NoYW5nZXN8fCh0aGlzLl9jaGFuZ2VzPW5ldyBTeSl9Z2V0KHQpe3JldHVybiB0aGlzLl9yZXN1bHRzW3RdfW1hcCh0KXtyZXR1cm4gdGhpcy5fcmVzdWx0cy5tYXAodCl9ZmlsdGVyKHQpe3JldHVybiB0aGlzLl9yZXN1bHRzLmZpbHRlcih0KX1maW5kKHQpe3JldHVybiB0aGlzLl9yZXN1bHRzLmZpbmQodCl9cmVkdWNlKHQsZSl7cmV0dXJuIHRoaXMuX3Jlc3VsdHMucmVkdWNlKHQsZSl9Zm9yRWFjaCh0KXt0aGlzLl9yZXN1bHRzLmZvckVhY2godCl9c29tZSh0KXtyZXR1cm4gdGhpcy5fcmVzdWx0cy5zb21lKHQpfXRvQXJyYXkoKXtyZXR1cm4gdGhpcy5fcmVzdWx0cy5zbGljZSgpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuX3Jlc3VsdHMudG9TdHJpbmcoKX1yZXNldCh0LGUpe2NvbnN0IG49dGhpcztuLmRpcnR5PSExO2NvbnN0IG89cHIodCk7KHRoaXMuX2NoYW5nZXNEZXRlY3RlZD0hKGZ1bmN0aW9uIGkodCxlLG4pe2lmKHQubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBvPTA7bzx0Lmxlbmd0aDtvKyspe2xldCBpPXRbb10sYT1lW29dO2lmKG4mJihpPW4oaSksYT1uKGEpKSxhIT09aSlyZXR1cm4hMX1yZXR1cm4hMH0pKG4uX3Jlc3VsdHMsbyxlKSkmJihuLl9yZXN1bHRzPW8sbi5sZW5ndGg9by5sZW5ndGgsbi5sYXN0PW9bdGhpcy5sZW5ndGgtMV0sbi5maXJzdD1vWzBdKX1ub3RpZnlPbkNoYW5nZXMoKXshdGhpcy5fY2hhbmdlc3x8IXRoaXMuX2NoYW5nZXNEZXRlY3RlZCYmdGhpcy5fZW1pdERpc3RpbmN0Q2hhbmdlc09ubHl8fHRoaXMuX2NoYW5nZXMuZW1pdCh0aGlzKX1zZXREaXJ0eSgpe3RoaXMuZGlydHk9ITB9ZGVzdHJveSgpe3RoaXMuY2hhbmdlcy5jb21wbGV0ZSgpLHRoaXMuY2hhbmdlcy51bnN1YnNjcmliZSgpfX1jbGFzcyBFeXtjb25zdHJ1Y3Rvcih0KXt0aGlzLnF1ZXJ5TGlzdD10LHRoaXMubWF0Y2hlcz1udWxsfWNsb25lKCl7cmV0dXJuIG5ldyBFeSh0aGlzLnF1ZXJ5TGlzdCl9c2V0RGlydHkoKXt0aGlzLnF1ZXJ5TGlzdC5zZXREaXJ0eSgpfX1jbGFzcyBBeXtjb25zdHJ1Y3Rvcih0PVtdKXt0aGlzLnF1ZXJpZXM9dH1jcmVhdGVFbWJlZGRlZFZpZXcodCl7Y29uc3QgZT10LnF1ZXJpZXM7aWYobnVsbCE9PWUpe2NvbnN0IG49bnVsbCE9PXQuY29udGVudFF1ZXJpZXM/dC5jb250ZW50UXVlcmllc1swXTplLmxlbmd0aCxvPVtdO2ZvcihsZXQgdD0wO3Q8bjt0Kyspe2NvbnN0IG49ZS5nZXRCeUluZGV4KHQpO28ucHVzaCh0aGlzLnF1ZXJpZXNbbi5pbmRleEluRGVjbGFyYXRpb25WaWV3XS5jbG9uZSgpKX1yZXR1cm4gbmV3IEF5KG8pfXJldHVybiBudWxsfWluc2VydFZpZXcodCl7dGhpcy5kaXJ0eVF1ZXJpZXNXaXRoTWF0Y2hlcyh0KX1kZXRhY2hWaWV3KHQpe3RoaXMuZGlydHlRdWVyaWVzV2l0aE1hdGNoZXModCl9ZGlydHlRdWVyaWVzV2l0aE1hdGNoZXModCl7Zm9yKGxldCBlPTA7ZTx0aGlzLnF1ZXJpZXMubGVuZ3RoO2UrKyludWxsIT09WXkodCxlKS5tYXRjaGVzJiZ0aGlzLnF1ZXJpZXNbZV0uc2V0RGlydHkoKX19Y2xhc3MgVHl7Y29uc3RydWN0b3IodCxlLG49bnVsbCl7dGhpcy5wcmVkaWNhdGU9dCx0aGlzLmZsYWdzPWUsdGhpcy5yZWFkPW59fWNsYXNzIE55e2NvbnN0cnVjdG9yKHQ9W10pe3RoaXMucXVlcmllcz10fWVsZW1lbnRTdGFydCh0LGUpe25nRGV2TW9kZSYmTG8odCwiUXVlcmllcyBzaG91bGQgY29sbGVjdCByZXN1bHRzIG9uIHRoZSBmaXJzdCB0ZW1wbGF0ZSBwYXNzIG9ubHkiKTtmb3IobGV0IG49MDtuPHRoaXMucXVlcmllcy5sZW5ndGg7bisrKXRoaXMucXVlcmllc1tuXS5lbGVtZW50U3RhcnQodCxlKX1lbGVtZW50RW5kKHQpe2ZvcihsZXQgZT0wO2U8dGhpcy5xdWVyaWVzLmxlbmd0aDtlKyspdGhpcy5xdWVyaWVzW2VdLmVsZW1lbnRFbmQodCl9ZW1iZWRkZWRUVmlldyh0KXtsZXQgZT1udWxsO2ZvcihsZXQgbj0wO248dGhpcy5sZW5ndGg7bisrKXtjb25zdCBvPW51bGwhPT1lP2UubGVuZ3RoOjAsaT10aGlzLmdldEJ5SW5kZXgobikuZW1iZWRkZWRUVmlldyh0LG8pO2kmJihpLmluZGV4SW5EZWNsYXJhdGlvblZpZXc9bixudWxsIT09ZT9lLnB1c2goaSk6ZT1baV0pfXJldHVybiBudWxsIT09ZT9uZXcgTnkoZSk6bnVsbH10ZW1wbGF0ZSh0LGUpe25nRGV2TW9kZSYmTG8odCwiUXVlcmllcyBzaG91bGQgY29sbGVjdCByZXN1bHRzIG9uIHRoZSBmaXJzdCB0ZW1wbGF0ZSBwYXNzIG9ubHkiKTtmb3IobGV0IG49MDtuPHRoaXMucXVlcmllcy5sZW5ndGg7bisrKXRoaXMucXVlcmllc1tuXS50ZW1wbGF0ZSh0LGUpfWdldEJ5SW5kZXgodCl7cmV0dXJuIG5nRGV2TW9kZSYmd24odGhpcy5xdWVyaWVzLHQpLHRoaXMucXVlcmllc1t0XX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMucXVlcmllcy5sZW5ndGh9dHJhY2sodCl7dGhpcy5xdWVyaWVzLnB1c2godCl9fWNsYXNzIHp5e2NvbnN0cnVjdG9yKHQsZT0tMSl7dGhpcy5tZXRhZGF0YT10LHRoaXMubWF0Y2hlcz1udWxsLHRoaXMuaW5kZXhJbkRlY2xhcmF0aW9uVmlldz0tMSx0aGlzLmNyb3NzZXNOZ1RlbXBsYXRlPSExLHRoaXMuX2FwcGxpZXNUb05leHROb2RlPSEwLHRoaXMuX2RlY2xhcmF0aW9uTm9kZUluZGV4PWV9ZWxlbWVudFN0YXJ0KHQsZSl7dGhpcy5pc0FwcGx5aW5nVG9Ob2RlKGUpJiZ0aGlzLm1hdGNoVE5vZGUodCxlKX1lbGVtZW50RW5kKHQpe3RoaXMuX2RlY2xhcmF0aW9uTm9kZUluZGV4PT09dC5pbmRleCYmKHRoaXMuX2FwcGxpZXNUb05leHROb2RlPSExKX10ZW1wbGF0ZSh0LGUpe3RoaXMuZWxlbWVudFN0YXJ0KHQsZSl9ZW1iZWRkZWRUVmlldyh0LGUpe3JldHVybiB0aGlzLmlzQXBwbHlpbmdUb05vZGUodCk/KHRoaXMuY3Jvc3Nlc05nVGVtcGxhdGU9ITAsdGhpcy5hZGRNYXRjaCgtdC5pbmRleCxlKSxuZXcgenkodGhpcy5tZXRhZGF0YSkpOm51bGx9aXNBcHBseWluZ1RvTm9kZSh0KXtpZih0aGlzLl9hcHBsaWVzVG9OZXh0Tm9kZSYmMSE9KDEmdGhpcy5tZXRhZGF0YS5mbGFncykpe2NvbnN0IGU9dGhpcy5fZGVjbGFyYXRpb25Ob2RlSW5kZXg7bGV0IG49dC5wYXJlbnQ7Zm9yKDtudWxsIT09biYmOCZuLnR5cGUmJm4uaW5kZXghPT1lOyluPW4ucGFyZW50O3JldHVybiBlPT09KG51bGwhPT1uP24uaW5kZXg6LTEpfXJldHVybiB0aGlzLl9hcHBsaWVzVG9OZXh0Tm9kZX1tYXRjaFROb2RlKHQsZSl7Y29uc3Qgbj10aGlzLm1ldGFkYXRhLnByZWRpY2F0ZTtpZihBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgbz0wO288bi5sZW5ndGg7bysrKXtjb25zdCBpPW5bb107dGhpcy5tYXRjaFROb2RlV2l0aFJlYWRPcHRpb24odCxlLEl5KGUsaSkpLHRoaXMubWF0Y2hUTm9kZVdpdGhSZWFkT3B0aW9uKHQsZSxGYShlLHQsaSwhMSwhMSkpfWVsc2Ugbj09PUViPzQmZS50eXBlJiZ0aGlzLm1hdGNoVE5vZGVXaXRoUmVhZE9wdGlvbih0LGUsLTEpOnRoaXMubWF0Y2hUTm9kZVdpdGhSZWFkT3B0aW9uKHQsZSxGYShlLHQsbiwhMSwhMSkpfW1hdGNoVE5vZGVXaXRoUmVhZE9wdGlvbih0LGUsbil7aWYobnVsbCE9PW4pe2NvbnN0IG89dGhpcy5tZXRhZGF0YS5yZWFkO2lmKG51bGwhPT1vKWlmKG89PT1LaHx8bz09PUZifHxvPT09RWImJjQmZS50eXBlKXRoaXMuYWRkTWF0Y2goZS5pbmRleCwtMik7ZWxzZXtjb25zdCBuPUZhKGUsdCxvLCExLCExKTtudWxsIT09biYmdGhpcy5hZGRNYXRjaChlLmluZGV4LG4pfWVsc2UgdGhpcy5hZGRNYXRjaChlLmluZGV4LG4pfX1hZGRNYXRjaCh0LGUpe251bGw9PT10aGlzLm1hdGNoZXM/dGhpcy5tYXRjaGVzPVt0LGVdOnRoaXMubWF0Y2hlcy5wdXNoKHQsZSl9fWZ1bmN0aW9uIEl5KHQsZSl7Y29uc3Qgbj10LmxvY2FsTmFtZXM7aWYobnVsbCE9PW4pZm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kz0yKWlmKG5bdF09PT1lKXJldHVybiBuW3QrMV07cmV0dXJuIG51bGx9ZnVuY3Rpb24gSHkodCxlLG4sbyl7cmV0dXJuLTE9PT1uPyhmdW5jdGlvbiBpKHQsZSl7cmV0dXJuIDExJnQudHlwZT9xaCh0LGUpOjQmdC50eXBlP05iKHQsZSk6bnVsbH0pKGUsdCk6LTI9PT1uPyhmdW5jdGlvbiBhKHQsZSxuKXtpZihuPT09S2gpcmV0dXJuIHFoKGUsdCk7aWYobj09PUViKXJldHVybiBOYihlLHQpO2lmKG49PT1GYilyZXR1cm4gbmdEZXZNb2RlJiZnYShlLDE1KSxVYihlLHQpO25nRGV2TW9kZSYmT24oYFNwZWNpYWwgdG9rZW4gdG8gcmVhZCBzaG91bGQgYmUgb25lIG9mIEVsZW1lbnRSZWYsIFRlbXBsYXRlUmVmIG9yIFZpZXdDb250YWluZXJSZWYgYnV0IGdvdCAke0tlKG4pfS5gKX0pKHQsZSxvKTpMYSh0LHRbMV0sbixlKX1mdW5jdGlvbiBGeSh0LGUsbixvKXtjb25zdCBpPWVbMTldLnF1ZXJpZXNbb107aWYobnVsbD09PWkubWF0Y2hlcyl7Y29uc3Qgbz10LmRhdGEsYT1uLm1hdGNoZXMscj1bXTtmb3IobGV0IHQ9MDt0PGEubGVuZ3RoO3QrPTIpe2NvbnN0IGk9YVt0XTtpZihpPDApci5wdXNoKG51bGwpO2Vsc2V7bmdEZXZNb2RlJiZ3bihvLGkpO3IucHVzaChIeShlLG9baV0sYVt0KzFdLG4ubWV0YWRhdGEucmVhZCkpfX1pLm1hdGNoZXM9cn1yZXR1cm4gaS5tYXRjaGVzfWZ1bmN0aW9uIEx5KHQsZSxuLG8pe2NvbnN0IGk9dC5xdWVyaWVzLmdldEJ5SW5kZXgobiksYT1pLm1hdGNoZXM7aWYobnVsbCE9PWEpe2NvbnN0IHI9RnkodCxlLGksbik7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0Kz0yKXtjb25zdCBuPWFbdF07aWYobj4wKW8ucHVzaChyW3QvMl0pO2Vsc2V7Y29uc3QgaT1hW3QrMV0scj1lWy1uXTtuZ0Rldk1vZGUmJklvKHIpO2ZvcihsZXQgdD1Pbzt0PHIubGVuZ3RoO3QrKyl7Y29uc3QgZT1yW3RdO2VbMTddPT09ZVszXSYmTHkoZVsxXSxlLGksbyl9aWYobnVsbCE9PXJbOV0pe2NvbnN0IHQ9cls5XTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7Y29uc3Qgbj10W2VdO0x5KG5bMV0sbixpLG8pfX19fX1yZXR1cm4gb31mdW5jdGlvbiBCeSh0KXtjb25zdCBlPXhpKCksbj1PaSgpLG89VWkoKTtXaShvKzEpO2NvbnN0IGk9WXkobixvKTtpZih0LmRpcnR5JiZ1aShlKT09PSgyPT0oMiZpLm1ldGFkYXRhLmZsYWdzKSkpe2lmKG51bGw9PT1pLm1hdGNoZXMpdC5yZXNldChbXSk7ZWxzZXtjb25zdCBhPWkuY3Jvc3Nlc05nVGVtcGxhdGU/THkobixlLG8sW10pOkZ5KG4sZSxpLG8pO3QucmVzZXQoYSxKaCksdC5ub3RpZnlPbkNoYW5nZXMoKX1yZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBWeSh0LGUsbil7bmdEZXZNb2RlJiZwbihlLCJFeHBlY3RpbmcgZmxhZ3MiKTtjb25zdCBvPU9pKCk7by5maXJzdENyZWF0ZVBhc3MmJihHeShvLG5ldyBUeSh0LGUsbiksLTEpLDI9PSgyJmUpJiYoby5zdGF0aWNWaWV3UXVlcmllcz0hMCkpLFd5KG8seGkoKSxlKX1mdW5jdGlvbiBqeSh0LGUsbixvKXtuZ0Rldk1vZGUmJnBuKG4sIkV4cGVjdGluZyBmbGFncyIpO2NvbnN0IGk9T2koKTtpZihpLmZpcnN0Q3JlYXRlUGFzcyl7Y29uc3QgYT13aSgpO0d5KGksbmV3IFR5KGUsbixvKSxhLmluZGV4KSwoZnVuY3Rpb24gYSh0LGUpe2NvbnN0IG49dC5jb250ZW50UXVlcmllc3x8KHQuY29udGVudFF1ZXJpZXM9W10pO2UhPT0obi5sZW5ndGg/bltuLmxlbmd0aC0xXTotMSkmJm4ucHVzaCh0LnF1ZXJpZXMubGVuZ3RoLTEsZSl9KShpLHQpLDI9PSgyJm4pJiYoaS5zdGF0aWNDb250ZW50UXVlcmllcz0hMCl9V3koaSx4aSgpLG4pfWZ1bmN0aW9uIFV5KCl7cmV0dXJuKGZ1bmN0aW9uIHQoZSxuKXtyZXR1cm4gbmdEZXZNb2RlJiZ4bihlWzE5XSwiTFF1ZXJpZXMgc2hvdWxkIGJlIGRlZmluZWQgd2hlbiB0cnlpbmcgdG8gbG9hZCBhIHF1ZXJ5IiksbmdEZXZNb2RlJiZ3bihlWzE5XS5xdWVyaWVzLG4pLGVbMTldLnF1ZXJpZXNbbl0ucXVlcnlMaXN0fSkoeGkoKSxVaSgpKX1mdW5jdGlvbiBXeSh0LGUsbil7Y29uc3Qgbz1uZXcgUnkoND09KDQmbikpO1RkKHQsZSxvLG8uZGVzdHJveSksbnVsbD09PWVbMTldJiYoZVsxOV09bmV3IEF5KSxlWzE5XS5xdWVyaWVzLnB1c2gobmV3IEV5KG8pKX1mdW5jdGlvbiBHeSh0LGUsbil7bnVsbD09PXQucXVlcmllcyYmKHQucXVlcmllcz1uZXcgTnkpLHQucXVlcmllcy50cmFjayhuZXcgenkoZSxuKSl9ZnVuY3Rpb24gWXkodCxlKXtyZXR1cm4gbmdEZXZNb2RlJiZ4bih0LnF1ZXJpZXMsIlRRdWVyaWVzIG11c3QgYmUgZGVmaW5lZCB0byByZXRyaWV2ZSBhIFRRdWVyeSIpLHQucXVlcmllcy5nZXRCeUluZGV4KGUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBxeSh0LGUpe3JldHVybiBOYih0LGUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgWnk9eyLJtcm1YXR0cmlidXRlIjp5bSwiybXJtWF0dHJpYnV0ZUludGVycG9sYXRlMSI6U20sIsm1ybVhdHRyaWJ1dGVJbnRlcnBvbGF0ZTIiOkRtLCLJtcm1YXR0cmlidXRlSW50ZXJwb2xhdGUzIjpSbSwiybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNCI6RW0sIsm1ybVhdHRyaWJ1dGVJbnRlcnBvbGF0ZTUiOkFtLCLJtcm1YXR0cmlidXRlSW50ZXJwb2xhdGU2IjpUbSwiybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNyI6Tm0sIsm1ybVhdHRyaWJ1dGVJbnRlcnBvbGF0ZTgiOnptLCLJtcm1YXR0cmlidXRlSW50ZXJwb2xhdGVWIjpJbSwiybXJtWRlZmluZUNvbXBvbmVudCI6c28sIsm1ybVkZWZpbmVEaXJlY3RpdmUiOmhvLCLJtcm1ZGVmaW5lSW5qZWN0YWJsZSI6U24sIsm1ybVkZWZpbmVJbmplY3RvciI6RG4sIsm1ybVkZWZpbmVOZ01vZHVsZSI6Zm8sIsm1ybVkZWZpbmVQaXBlIjpibywiybXJtWRpcmVjdGl2ZUluamVjdCI6Z2YsIsm1ybVnZXRJbmhlcml0ZWRGYWN0b3J5IjpVYSwiybXJtWluamVjdCI6VHIsIsm1ybVpbmplY3RBdHRyaWJ1dGUiOkdhLCLJtcm1aW52YWxpZEZhY3RvcnkiOmhmLCLJtcm1aW52YWxpZEZhY3RvcnlEZXAiOk5yLCLJtcm1dGVtcGxhdGVSZWZFeHRyYWN0b3IiOnF5LCLJtcm1TmdPbkNoYW5nZXNGZWF0dXJlIjpxbywiybXJtVByb3ZpZGVyc0ZlYXR1cmUiOmpoLCLJtcm1Q29weURlZmluaXRpb25GZWF0dXJlIjphbSwiybXJtUluaGVyaXREZWZpbml0aW9uRmVhdHVyZSI6UXAsIsm1ybVuZXh0Q29udGV4dCI6emYsIsm1ybVuYW1lc3BhY2VIVE1MIjphYSwiybXJtW5hbWVzcGFjZU1hdGhNTCI6aWEsIsm1ybVuYW1lc3BhY2VTVkciOm9hLCLJtcm1ZW5hYmxlQmluZGluZ3MiOk1pLCLJtcm1ZGlzYWJsZUJpbmRpbmdzIjp2aSwiybXJtWVsZW1lbnRTdGFydCI6Q2YsIsm1ybVlbGVtZW50RW5kIjpNZiwiybXJtWVsZW1lbnQiOnZmLCLJtcm1ZWxlbWVudENvbnRhaW5lclN0YXJ0Ijp4ZiwiybXJtWVsZW1lbnRDb250YWluZXJFbmQiOk9mLCLJtcm1ZWxlbWVudENvbnRhaW5lciI6UGYsIsm1ybVwdXJlRnVuY3Rpb24wIjpveSwiybXJtXB1cmVGdW5jdGlvbjEiOml5LCLJtcm1cHVyZUZ1bmN0aW9uMiI6YXksIsm1ybVwdXJlRnVuY3Rpb24zIjpyeSwiybXJtXB1cmVGdW5jdGlvbjQiOnN5LCLJtcm1cHVyZUZ1bmN0aW9uNSI6bHksIsm1ybVwdXJlRnVuY3Rpb242IjpjeSwiybXJtXB1cmVGdW5jdGlvbjciOmR5LCLJtcm1cHVyZUZ1bmN0aW9uOCI6cHksIsm1ybVwdXJlRnVuY3Rpb25WIjpteSwiybXJtWdldEN1cnJlbnRWaWV3Ijp3ZiwiybXJtXJlc3RvcmVWaWV3IjpQaSwiybXJtWxpc3RlbmVyIjpSZiwiybXJtXByb2plY3Rpb24iOkZmLCLJtcm1c3ludGhldGljSG9zdFByb3BlcnR5IjpkZywiybXJtXN5bnRoZXRpY0hvc3RMaXN0ZW5lciI6RWYsIsm1ybVwaXBlQmluZDEiOkN5LCLJtcm1cGlwZUJpbmQyIjpNeSwiybXJtXBpcGVCaW5kMyI6dnksIsm1ybVwaXBlQmluZDQiOnh5LCLJtcm1cGlwZUJpbmRWIjpPeSwiybXJtXByb2plY3Rpb25EZWYiOkhmLCLJtcm1aG9zdFByb3BlcnR5IjpjZywiybXJtXByb3BlcnR5IjpiZiwiybXJtXByb3BlcnR5SW50ZXJwb2xhdGUiOkxmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTEiOkJmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTIiOlZmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTMiOmpmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTQiOlVmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTUiOldmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTYiOkdmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTciOllmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTgiOnFmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZVYiOlpmLCLJtcm1cGlwZSI6X3ksIsm1ybVxdWVyeVJlZnJlc2giOkJ5LCLJtcm1dmlld1F1ZXJ5IjpWeSwiybXJtWxvYWRRdWVyeSI6VXksIsm1ybVjb250ZW50UXVlcnkiOmp5LCLJtcm1cmVmZXJlbmNlIjpGbSwiybXJtWNsYXNzTWFwIjptdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGUxIjpJdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGUyIjpIdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGUzIjpGdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU0IjpMdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU1IjpCdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU2IjpWdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU3IjpqdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU4IjpVdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGVWIjpXdSwiybXJtXN0eWxlTWFwIjpkdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGUxIjpHdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGUyIjpZdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGUzIjpxdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU0IjpadSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU1IjpYdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU2IjpLdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU3IjpKdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU4IjpRdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGVWIjokdSwiybXJtXN0eWxlUHJvcCI6bHUsIsm1ybVzdHlsZVByb3BJbnRlcnBvbGF0ZTEiOnRnLCLJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGUyIjplZywiybXJtXN0eWxlUHJvcEludGVycG9sYXRlMyI6bmcsIsm1ybVzdHlsZVByb3BJbnRlcnBvbGF0ZTQiOm9nLCLJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU1IjppZywiybXJtXN0eWxlUHJvcEludGVycG9sYXRlNiI6YWcsIsm1ybVzdHlsZVByb3BJbnRlcnBvbGF0ZTciOnJnLCLJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU4IjpzZywiybXJtXN0eWxlUHJvcEludGVycG9sYXRlViI6bGcsIsm1ybVjbGFzc1Byb3AiOmN1LCLJtcm1YWR2YW5jZSI6RGMsIsm1ybV0ZW1wbGF0ZSI6SG0sIsm1ybV0ZXh0IjpQdSwiybXJtXRleHRJbnRlcnBvbGF0ZSI6d3UsIsm1ybV0ZXh0SW50ZXJwb2xhdGUxIjprdSwiybXJtXRleHRJbnRlcnBvbGF0ZTIiOlN1LCLJtcm1dGV4dEludGVycG9sYXRlMyI6RHUsIsm1ybV0ZXh0SW50ZXJwb2xhdGU0IjpSdSwiybXJtXRleHRJbnRlcnBvbGF0ZTUiOkV1LCLJtcm1dGV4dEludGVycG9sYXRlNiI6QXUsIsm1ybV0ZXh0SW50ZXJwb2xhdGU3IjpUdSwiybXJtXRleHRJbnRlcnBvbGF0ZTgiOk51LCLJtcm1dGV4dEludGVycG9sYXRlViI6enUsIsm1ybVpMThuIjpSaCwiybXJtWkxOG5BdHRyaWJ1dGVzIjpFaCwiybXJtWkxOG5FeHAiOkFoLCLJtcm1aTE4blN0YXJ0IjpTaCwiybXJtWkxOG5FbmQiOkRoLCLJtcm1aTE4bkFwcGx5IjpUaCwiybXJtWkxOG5Qb3N0cHJvY2VzcyI6TmgsIsm1ybVyZXNvbHZlV2luZG93IjpPbCwiybXJtXJlc29sdmVEb2N1bWVudCI6UGwsIsm1ybVyZXNvbHZlQm9keSI6d2wsIsm1ybVzZXRDb21wb25lbnRTY29wZSI6bG8sIsm1ybVzZXROZ01vZHVsZVNjb3BlIjp1bywiybXJtXNhbml0aXplSHRtbCI6cXMsIsm1ybVzYW5pdGl6ZVN0eWxlIjpacywiybXJtXNhbml0aXplUmVzb3VyY2VVcmwiOktzLCLJtcm1c2FuaXRpemVTY3JpcHQiOkpzLCLJtcm1c2FuaXRpemVVcmwiOlhzLCLJtcm1c2FuaXRpemVVcmxPclJlc291cmNlVXJsIjp0bCwiybXJtXRydXN0Q29uc3RhbnRIdG1sIjpRcywiybXJtXRydXN0Q29uc3RhbnRSZXNvdXJjZVVybCI6JHMsZm9yd2FyZFJlZjokZSxyZXNvbHZlRm9yd2FyZFJlZjp0bn07bGV0IFh5PW51bGw7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBLeT1bXTtsZXQgSnk9ITE7ZnVuY3Rpb24gUXkodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dC5ldmVyeShReSk6ISF0bih0KX1mdW5jdGlvbiAkeSh0LGUsbil7aWYob18uZ2V0KHQpKXJldHVybjtsZXQgbztpZihvXy5zZXQodCwhMCksdD10bih0KSxuKXtpZihvPU1vKHQpLCFvKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCB2YWx1ZSAnJHt0Lm5hbWV9JyBpbXBvcnRlZCBieSB0aGUgbW9kdWxlICcke24ubmFtZX0nLiBQbGVhc2UgYWRkIGFuIEBOZ01vZHVsZSBhbm5vdGF0aW9uLmApfWVsc2Ugbz1Nbyh0LCEwKTtjb25zdCBpPVtdLGE9U2woby5kZWNsYXJhdGlvbnMpLHI9U2woby5pbXBvcnRzKTtwcihyKS5tYXAodF8pLmZvckVhY2goKGU9PntoKGUsdCksJHkoZSwhMSx0KX0pKTtjb25zdCBzPVNsKG8uZXhwb3J0cyk7YS5mb3JFYWNoKChmdW5jdGlvbiBsKGUpe2U9dG4oZSk7eW8oZSl8fF9vKGUpfHxDbyhlKXx8aS5wdXNoKGBVbmV4cGVjdGVkIHZhbHVlICcke3NuKGUpfScgZGVjbGFyZWQgYnkgdGhlIG1vZHVsZSAnJHtzbih0KX0nLiBQbGVhc2UgYWRkIGEgQFBpcGUvQERpcmVjdGl2ZS9AQ29tcG9uZW50IGFubm90YXRpb24uYCl9KSksYS5mb3JFYWNoKChmdW5jdGlvbiBjKHQpe2NvbnN0IGU9X28odD10bih0KSk7IXlvKHQpJiZlJiYwPT1lLnNlbGVjdG9ycy5sZW5ndGgmJmkucHVzaChgRGlyZWN0aXZlICR7c24odCl9IGhhcyBubyBzZWxlY3RvciwgcGxlYXNlIGFkZCBpdCFgKX0pKTtjb25zdCBkPVsuLi5hLm1hcCh0biksLi4ucHIoci5tYXAoaV8pKS5tYXAodG4pXTtzLmZvckVhY2goKGZ1bmN0aW9uIHAoZSl7Y29uc3Qgbj0oeW8oZT10bihlKSk/ImNvbXBvbmVudCI6X28oZSkmJiJkaXJlY3RpdmUiKXx8Q28oZSkmJiJwaXBlIjtuJiYtMT09PWQubGFzdEluZGV4T2YoZSkmJmkucHVzaChgQ2FuJ3QgZXhwb3J0ICR7bn0gJHtzbihlKX0gZnJvbSAke3NuKHQpfSBhcyBpdCB3YXMgbmVpdGhlciBkZWNsYXJlZCBub3IgaW1wb3J0ZWQhYCl9KSksYS5mb3JFYWNoKChuPT4oZnVuY3Rpb24gbyhlLG4pe2U9dG4oZSk7Y29uc3Qgbz1uXy5nZXQoZSk7aWYobyYmbyE9PXQpe2lmKCFuKXtjb25zdCBuPVtvLHRdLm1hcChzbikuc29ydCgpO2kucHVzaChgVHlwZSAke3NuKGUpfSBpcyBwYXJ0IG9mIHRoZSBkZWNsYXJhdGlvbnMgb2YgMiBtb2R1bGVzOiAke25bMF19IGFuZCAke25bMV19ISBQbGVhc2UgY29uc2lkZXIgbW92aW5nICR7c24oZSl9IHRvIGEgaGlnaGVyIG1vZHVsZSB0aGF0IGltcG9ydHMgJHtuWzBdfSBhbmQgJHtuWzFdfS4gWW91IGNhbiBhbHNvIGNyZWF0ZSBhIG5ldyBOZ01vZHVsZSB0aGF0IGV4cG9ydHMgYW5kIGluY2x1ZGVzICR7c24oZSl9IHRoZW4gaW1wb3J0IHRoYXQgTmdNb2R1bGUgaW4gJHtuWzBdfSBhbmQgJHtuWzFdfS5gKX19ZWxzZSBuXy5zZXQoZSx0KX0pKG4sZSkpKSxhLmZvckVhY2goKGZ1bmN0aW9uIG0odCl7aWYoeW8odD10bih0KSkpe2NvbnN0IGU9ZV8odCwiQ29tcG9uZW50Iik7ZSYmZS5lbnRyeUNvbXBvbmVudHMmJm1yKGUuZW50cnlDb21wb25lbnRzLGcpfX0pKTtjb25zdCBmPWVfKHQsIk5nTW9kdWxlIik7aWYoZiYmKGYuaW1wb3J0cyYmcHIoZi5pbXBvcnRzKS5tYXAodF8pLmZvckVhY2goKGU9PntoKGUsdCksJHkoZSwhMSx0KX0pKSxmLmJvb3RzdHJhcCYmbXIoZi5ib290c3RyYXAsKGZ1bmN0aW9uIHUodCl7eW8odD10bih0KSl8fGkucHVzaChgJHtzbih0KX0gY2Fubm90IGJlIHVzZWQgYXMgYW4gZW50cnkgY29tcG9uZW50LmApfSkpLGYuYm9vdHN0cmFwJiZtcihmLmJvb3RzdHJhcCxnKSxmLmVudHJ5Q29tcG9uZW50cyYmbXIoZi5lbnRyeUNvbXBvbmVudHMsZykpLGkubGVuZ3RoKXRocm93IG5ldyBFcnJvcihpLmpvaW4oIlxuIikpO2Z1bmN0aW9uIGcodCl7dD10bih0KTtuXy5nZXQodCl8fGkucHVzaChgQ29tcG9uZW50ICR7c24odCl9IGlzIG5vdCBwYXJ0IG9mIGFueSBOZ01vZHVsZSBvciB0aGUgbW9kdWxlIGhhcyBub3QgYmVlbiBpbXBvcnRlZCBpbnRvIHlvdXIgbW9kdWxlLmApfWZ1bmN0aW9uIGgodCxlKXtpZih5byh0PXRuKHQpKXx8X28odCkpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIGRpcmVjdGl2ZSAnJHt0Lm5hbWV9JyBpbXBvcnRlZCBieSB0aGUgbW9kdWxlICcke2UubmFtZX0nLiBQbGVhc2UgYWRkIGFuIEBOZ01vZHVsZSBhbm5vdGF0aW9uLmApO2lmKENvKHQpKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBwaXBlICcke3QubmFtZX0nIGltcG9ydGVkIGJ5IHRoZSBtb2R1bGUgJyR7ZS5uYW1lfScuIFBsZWFzZSBhZGQgYW4gQE5nTW9kdWxlIGFubm90YXRpb24uYCl9fWZ1bmN0aW9uIHRfKHQpe3JldHVybih0PXRuKHQpKS5uZ01vZHVsZXx8dH1mdW5jdGlvbiBlXyh0LGUpe2xldCBuPW51bGw7cmV0dXJuIG8odC5fX2Fubm90YXRpb25zX18pLG8odC5kZWNvcmF0b3JzKSxuO2Z1bmN0aW9uIG8odCl7dCYmdC5mb3JFYWNoKGkpfWZ1bmN0aW9uIGkodCl7aWYoIW4pe2lmKE9iamVjdC5nZXRQcm90b3R5cGVPZih0KS5uZ01ldGFkYXRhTmFtZT09ZSluPXQ7ZWxzZSBpZih0LnR5cGUpe09iamVjdC5nZXRQcm90b3R5cGVPZih0LnR5cGUpLm5nTWV0YWRhdGFOYW1lPT1lJiYobj10LmFyZ3NbMF0pfX19fWxldCBuXz1uZXcgV2Vha01hcCxvXz1uZXcgV2Vha01hcDtmdW5jdGlvbiBpXyh0KXtyZXR1cm5bLi4ucHIoU2woTW8odD10bih0KSwhMCkuZXhwb3J0cykubWFwKCh0PT5Nbyh0KT8oJHkodCwhMSksaV8odCkpOnQpKSldfWZ1bmN0aW9uIGFfKHQsZSl7Y29uc3Qgbj1wcihlLmRlY2xhcmF0aW9uc3x8UW4pLG89c18odCk7bi5mb3JFYWNoKChlPT57aWYoZS5oYXNPd25Qcm9wZXJ0eSgkbikpe3JfKHlvKGUpLG8pfWVsc2UgZS5oYXNPd25Qcm9wZXJ0eSh0byl8fGUuaGFzT3duUHJvcGVydHkoZW8pfHwoZS5uZ1NlbGVjdG9yU2NvcGU9dCl9KSl9ZnVuY3Rpb24gcl8odCxlKXt0LmRpcmVjdGl2ZURlZnM9KCk9PkFycmF5LmZyb20oZS5jb21waWxhdGlvbi5kaXJlY3RpdmVzKS5tYXAoKHQ9PnQuaGFzT3duUHJvcGVydHkoJG4pP3lvKHQpOl9vKHQpKSkuZmlsdGVyKCh0PT4hIXQpKSx0LnBpcGVEZWZzPSgpPT5BcnJheS5mcm9tKGUuY29tcGlsYXRpb24ucGlwZXMpLm1hcCgodD0+Q28odCkpKSx0LnNjaGVtYXM9ZS5zY2hlbWFzLHQudFZpZXc9bnVsbH1mdW5jdGlvbiBzXyh0KXtpZighY18odCkpdGhyb3cgbmV3IEVycm9yKGAke3QubmFtZX0gZG9lcyBub3QgaGF2ZSBhIG1vZHVsZSBkZWYgKMm1bW9kIHByb3BlcnR5KWApO2NvbnN0IGU9TW8odCk7aWYobnVsbCE9PWUudHJhbnNpdGl2ZUNvbXBpbGVTY29wZXMpcmV0dXJuIGUudHJhbnNpdGl2ZUNvbXBpbGVTY29wZXM7Y29uc3Qgbj17c2NoZW1hczplLnNjaGVtYXN8fG51bGwsY29tcGlsYXRpb246e2RpcmVjdGl2ZXM6bmV3IFNldCxwaXBlczpuZXcgU2V0fSxleHBvcnRlZDp7ZGlyZWN0aXZlczpuZXcgU2V0LHBpcGVzOm5ldyBTZXR9fTtyZXR1cm4gU2woZS5pbXBvcnRzKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10O2lmKCFjXyhlKSl0aHJvdyBuZXcgRXJyb3IoYEltcG9ydGluZyAke2UubmFtZX0gd2hpY2ggZG9lcyBub3QgaGF2ZSBhIMm1bW9kIHByb3BlcnR5YCk7Y29uc3Qgbz1zXyhlKTtvLmV4cG9ydGVkLmRpcmVjdGl2ZXMuZm9yRWFjaCgodD0+bi5jb21waWxhdGlvbi5kaXJlY3RpdmVzLmFkZCh0KSkpLG8uZXhwb3J0ZWQucGlwZXMuZm9yRWFjaCgodD0+bi5jb21waWxhdGlvbi5waXBlcy5hZGQodCkpKX0pKSxTbChlLmRlY2xhcmF0aW9ucykuZm9yRWFjaCgodD0+e0NvKHQpP24uY29tcGlsYXRpb24ucGlwZXMuYWRkKHQpOm4uY29tcGlsYXRpb24uZGlyZWN0aXZlcy5hZGQodCl9KSksU2woZS5leHBvcnRzKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10O2lmKGNfKGUpKXtjb25zdCB0PXNfKGUpO3QuZXhwb3J0ZWQuZGlyZWN0aXZlcy5mb3JFYWNoKCh0PT57bi5jb21waWxhdGlvbi5kaXJlY3RpdmVzLmFkZCh0KSxuLmV4cG9ydGVkLmRpcmVjdGl2ZXMuYWRkKHQpfSkpLHQuZXhwb3J0ZWQucGlwZXMuZm9yRWFjaCgodD0+e24uY29tcGlsYXRpb24ucGlwZXMuYWRkKHQpLG4uZXhwb3J0ZWQucGlwZXMuYWRkKHQpfSkpfWVsc2UgQ28oZSk/bi5leHBvcnRlZC5waXBlcy5hZGQoZSk6bi5leHBvcnRlZC5kaXJlY3RpdmVzLmFkZChlKX0pKSxlLnRyYW5zaXRpdmVDb21waWxlU2NvcGVzPW4sbn1mdW5jdGlvbiBsXyh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4gdm9pZCAwIT09dC5uZ01vZHVsZX0pKHQpP3QubmdNb2R1bGU6dH1mdW5jdGlvbiBjXyh0KXtyZXR1cm4hIU1vKHQpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9sZXQgZF89MDtmdW5jdGlvbiBwXyh0LGUpe2xldCBuPW51bGw7Zl8odCxlfHx7fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsdG8se2dldDooKT0+e2lmKG51bGw9PT1uKXtjb25zdCBvPW1fKHQsZXx8e30pLGk9bHIoe3VzYWdlOjAsa2luZDoiZGlyZWN0aXZlIix0eXBlOnR9KTtuPWkuY29tcGlsZURpcmVjdGl2ZShaeSxvLnNvdXJjZU1hcFVybCxvLm1ldGFkYXRhKX1yZXR1cm4gbn0sY29uZmlndXJhYmxlOiEhbmdEZXZNb2RlfSl9ZnVuY3Rpb24gbV8odCxlKXtjb25zdCBuPXQmJnQubmFtZSxvPWBuZzovLy8ke259L8m1ZGlyLmpzYCxpPWxyKHt1c2FnZTowLGtpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp0fSksYT1nXyh0LGUpO3JldHVybiBhLnR5cGVTb3VyY2VTcGFuPWkuY3JlYXRlUGFyc2VTb3VyY2VTcGFuKCJEaXJlY3RpdmUiLG4sbyksYS51c2VzSW5oZXJpdGFuY2UmJmhfKHQpLHttZXRhZGF0YTphLHNvdXJjZU1hcFVybDpvfX1mdW5jdGlvbiBmXyh0LGUpe2xldCBuPW51bGw7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaW8se2dldDooKT0+e2lmKG51bGw9PT1uKXtjb25zdCBvPW1fKHQsZSksaT1scih7dXNhZ2U6MCxraW5kOiJkaXJlY3RpdmUiLHR5cGU6dH0pO249aS5jb21waWxlRmFjdG9yeShaeSxgbmc6Ly8vJHt0Lm5hbWV9L8m1ZmFjLmpzYCx7bmFtZTpvLm1ldGFkYXRhLm5hbWUsdHlwZTpvLm1ldGFkYXRhLnR5cGUsdHlwZUFyZ3VtZW50Q291bnQ6MCxkZXBzOllyKHQpLHRhcmdldDppLkZhY3RvcnlUYXJnZXQuRGlyZWN0aXZlfSl9cmV0dXJuIG59LGNvbmZpZ3VyYWJsZTohIW5nRGV2TW9kZX0pfWZ1bmN0aW9uIHVfKHQpe3JldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodC5wcm90b3R5cGUpPT09T2JqZWN0LnByb3RvdHlwZX1mdW5jdGlvbiBnXyh0LGUpe2NvbnN0IG49R3IoKSxvPW4ub3duUHJvcE1ldGFkYXRhKHQpO3JldHVybntuYW1lOnQubmFtZSx0eXBlOnQsc2VsZWN0b3I6dm9pZCAwIT09ZS5zZWxlY3Rvcj9lLnNlbGVjdG9yOm51bGwsaG9zdDplLmhvc3R8fEpuLHByb3BNZXRhZGF0YTpvLGlucHV0czplLmlucHV0c3x8UW4sb3V0cHV0czplLm91dHB1dHN8fFFuLHF1ZXJpZXM6X18odCxvLENfKSxsaWZlY3ljbGU6e3VzZXNPbkNoYW5nZXM6bi5oYXNMaWZlY3ljbGVIb29rKHQsIm5nT25DaGFuZ2VzIil9LHR5cGVTb3VyY2VTcGFuOm51bGwsdXNlc0luaGVyaXRhbmNlOiF1Xyh0KSxleHBvcnRBczooaT1lLmV4cG9ydEFzLHZvaWQgMD09PWk/bnVsbDp4XyhpKSkscHJvdmlkZXJzOmUucHJvdmlkZXJzfHxudWxsLHZpZXdRdWVyaWVzOl9fKHQsbyxNXyl9O3ZhciBpfWZ1bmN0aW9uIGhfKHQpe2NvbnN0IGU9T2JqZWN0LnByb3RvdHlwZTtsZXQgbj1PYmplY3QuZ2V0UHJvdG90eXBlT2YodC5wcm90b3R5cGUpLmNvbnN0cnVjdG9yO2Zvcig7biYmbiE9PWU7KV9vKG4pfHx5byhuKXx8IVBfKG4pfHxwXyhuLG51bGwpLG49T2JqZWN0LmdldFByb3RvdHlwZU9mKG4pfWZ1bmN0aW9uIGJfKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD94Xyh0KTp0bih0KX1mdW5jdGlvbiB5Xyh0LGUpe3JldHVybntwcm9wZXJ0eU5hbWU6dCxwcmVkaWNhdGU6Yl8oZS5zZWxlY3RvciksZGVzY2VuZGFudHM6ZS5kZXNjZW5kYW50cyxmaXJzdDplLmZpcnN0LHJlYWQ6ZS5yZWFkP2UucmVhZDpudWxsLHN0YXRpYzohIWUuc3RhdGljLGVtaXREaXN0aW5jdENoYW5nZXNPbmx5OiEhZS5lbWl0RGlzdGluY3RDaGFuZ2VzT25seX19ZnVuY3Rpb24gX18odCxlLG4pe2NvbnN0IG89W107Zm9yKGNvbnN0IGkgaW4gZSlpZihlLmhhc093blByb3BlcnR5KGkpKXtjb25zdCBhPWVbaV07YS5mb3JFYWNoKChlPT57aWYobihlKSl7aWYoIWUuc2VsZWN0b3IpdGhyb3cgbmV3IEVycm9yKGBDYW4ndCBjb25zdHJ1Y3QgYSBxdWVyeSBmb3IgdGhlIHByb3BlcnR5ICIke2l9IiBvZiAiJHtzbih0KX0iIHNpbmNlIHRoZSBxdWVyeSBzZWxlY3RvciB3YXNuJ3QgZGVmaW5lZC5gKTtpZihhLnNvbWUodl8pKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGNvbWJpbmUgQElucHV0IGRlY29yYXRvcnMgd2l0aCBxdWVyeSBkZWNvcmF0b3JzIik7by5wdXNoKHlfKGksZSkpfX0pKX1yZXR1cm4gb31mdW5jdGlvbiBDXyh0KXtjb25zdCBlPXQubmdNZXRhZGF0YU5hbWU7cmV0dXJuIkNvbnRlbnRDaGlsZCI9PT1lfHwiQ29udGVudENoaWxkcmVuIj09PWV9ZnVuY3Rpb24gTV8odCl7Y29uc3QgZT10Lm5nTWV0YWRhdGFOYW1lO3JldHVybiJWaWV3Q2hpbGQiPT09ZXx8IlZpZXdDaGlsZHJlbiI9PT1lfWZ1bmN0aW9uIHZfKHQpe3JldHVybiJJbnB1dCI9PT10Lm5nTWV0YWRhdGFOYW1lfWZ1bmN0aW9uIHhfKHQpe3JldHVybiB0LnNwbGl0KCIsIikubWFwKCh0PT50LnRyaW0oKSkpfWNvbnN0IE9fPVsibmdPbkNoYW5nZXMiLCJuZ09uSW5pdCIsIm5nT25EZXN0cm95IiwibmdEb0NoZWNrIiwibmdBZnRlclZpZXdJbml0IiwibmdBZnRlclZpZXdDaGVja2VkIiwibmdBZnRlckNvbnRlbnRJbml0IiwibmdBZnRlckNvbnRlbnRDaGVja2VkIl07ZnVuY3Rpb24gUF8odCl7Y29uc3QgZT1HcigpO2lmKE9fLnNvbWUoKG49PmUuaGFzTGlmZWN5Y2xlSG9vayh0LG4pKSkpcmV0dXJuITA7Y29uc3Qgbj1lLnByb3BNZXRhZGF0YSh0KTtmb3IoY29uc3QgdCBpbiBuKXtjb25zdCBlPW5bdF07Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XSxvPW4ubmdNZXRhZGF0YU5hbWU7aWYodl8obil8fENfKG4pfHxNXyhuKXx8Ik91dHB1dCI9PT1vfHwiSG9zdEJpbmRpbmciPT09b3x8Ikhvc3RMaXN0ZW5lciI9PT1vKXJldHVybiEwfX1yZXR1cm4hMX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gd18odCxlKXtyZXR1cm57dHlwZTp0LG5hbWU6dC5uYW1lLHBpcGVOYW1lOmUubmFtZSxwdXJlOnZvaWQgMD09PWUucHVyZXx8ZS5wdXJlfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3Qga189WGEoIkRpcmVjdGl2ZSIsKCh0PXt9KT0+dCksdm9pZCAwLHZvaWQgMCwoKHQsZSk9PklfKHQsZSkpKSxTXz1YYSgiQ29tcG9uZW50IiwoKHQ9e30pPT5PYmplY3QuYXNzaWduKHtjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdH0sdCkpLGtfLHZvaWQgMCwoKHQsZSk9Pk5fKHQsZSkpKSxEXz1YYSgiUGlwZSIsKHQ9Pk9iamVjdC5hc3NpZ24oe3B1cmU6ITB9LHQpKSx2b2lkIDAsdm9pZCAwLCgodCxlKT0+SF8odCxlKSkpLFJfPVFhKCJJbnB1dCIsKHQ9Pih7YmluZGluZ1Byb3BlcnR5TmFtZTp0fSkpKSxFXz1RYSgiT3V0cHV0IiwodD0+KHtiaW5kaW5nUHJvcGVydHlOYW1lOnR9KSkpLEFfPVFhKCJIb3N0QmluZGluZyIsKHQ9Pih7aG9zdFByb3BlcnR5TmFtZTp0fSkpKSxUXz1RYSgiSG9zdExpc3RlbmVyIiwoKHQsZSk9Pih7ZXZlbnROYW1lOnQsYXJnczplfSkpKSxOXz1mdW5jdGlvbiB6Xyh0LGUpeygidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmS24oKTtsZXQgbj1udWxsOyEoZnVuY3Rpb24gbyh0LGUpe0pyKGUpJiYoWHIuc2V0KHQsZSksS3IuYWRkKHQpKX0pKHQsZSksZl8odCxlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwkbix7Z2V0OigpPT57aWYobnVsbD09PW4pe2NvbnN0IG89bHIoe3VzYWdlOjAsa2luZDoiY29tcG9uZW50Iix0eXBlOnR9KTtpZihKcihlKSl7Y29uc3Qgbj1bYENvbXBvbmVudCAnJHt0Lm5hbWV9JyBpcyBub3QgcmVzb2x2ZWQ6YF07dGhyb3cgZS50ZW1wbGF0ZVVybCYmbi5wdXNoKGAgLSB0ZW1wbGF0ZVVybDogJHtlLnRlbXBsYXRlVXJsfWApLGUuc3R5bGVVcmxzJiZlLnN0eWxlVXJscy5sZW5ndGgmJm4ucHVzaChgIC0gc3R5bGVVcmxzOiAke0pTT04uc3RyaW5naWZ5KGUuc3R5bGVVcmxzKX1gKSxuLnB1c2goIkRpZCB5b3UgcnVuIGFuZCB3YWl0IGZvciAncmVzb2x2ZUNvbXBvbmVudFJlc291cmNlcygpJz8iKSxuZXcgRXJyb3Iobi5qb2luKCJcbiIpKX1jb25zdCBpPShmdW5jdGlvbiBvKCl7cmV0dXJuIFh5fSkoKTtsZXQgYT1lLnByZXNlcnZlV2hpdGVzcGFjZXM7dm9pZCAwPT09YSYmKGE9bnVsbCE9PWkmJnZvaWQgMCE9PWkucHJlc2VydmVXaGl0ZXNwYWNlcyYmaS5wcmVzZXJ2ZVdoaXRlc3BhY2VzKTtsZXQgcj1lLmVuY2Fwc3VsYXRpb247dm9pZCAwPT09ciYmKHI9bnVsbCE9PWkmJnZvaWQgMCE9PWkuZGVmYXVsdEVuY2Fwc3VsYXRpb24/aS5kZWZhdWx0RW5jYXBzdWxhdGlvbjpXbi5FbXVsYXRlZCk7Y29uc3Qgcz1lLnRlbXBsYXRlVXJsfHxgbmc6Ly8vJHt0Lm5hbWV9L3RlbXBsYXRlLmh0bWxgLGw9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGdfKHQsZSkpLHt0eXBlU291cmNlU3BhbjpvLmNyZWF0ZVBhcnNlU291cmNlU3BhbigiQ29tcG9uZW50Iix0Lm5hbWUscyksdGVtcGxhdGU6ZS50ZW1wbGF0ZXx8IiIscHJlc2VydmVXaGl0ZXNwYWNlczphLHN0eWxlczplLnN0eWxlc3x8UW4sYW5pbWF0aW9uczplLmFuaW1hdGlvbnMsZGlyZWN0aXZlczpbXSxjaGFuZ2VEZXRlY3Rpb246ZS5jaGFuZ2VEZXRlY3Rpb24scGlwZXM6bmV3IE1hcCxlbmNhcHN1bGF0aW9uOnIsaW50ZXJwb2xhdGlvbjplLmludGVycG9sYXRpb24sdmlld1Byb3ZpZGVyczplLnZpZXdQcm92aWRlcnN8fG51bGx9KTtkXysrO3RyeXtsLnVzZXNJbmhlcml0YW5jZSYmaF8odCksbj1vLmNvbXBpbGVDb21wb25lbnQoWnkscyxsKX1maW5hbGx5e2RfLS19aWYoMD09PWRfJiYoZnVuY3Rpb24gaSgpe2lmKCFKeSl7Snk9ITA7dHJ5e2ZvcihsZXQgdD1LeS5sZW5ndGgtMTt0Pj0wO3QtLSl7Y29uc3R7bW9kdWxlVHlwZTplLG5nTW9kdWxlOm59PUt5W3RdO24uZGVjbGFyYXRpb25zJiZuLmRlY2xhcmF0aW9ucy5ldmVyeShReSkmJihLeS5zcGxpY2UodCwxKSxhXyhlLG4pKX19ZmluYWxseXtKeT0hMX19fSkoKSwoZnVuY3Rpb24gYSh0KXtyZXR1cm4gdm9pZCAwIT09dC5uZ1NlbGVjdG9yU2NvcGV9KSh0KSl7Y29uc3QgZT1zXyh0Lm5nU2VsZWN0b3JTY29wZSk7cl8obixlKX19cmV0dXJuIG59LGNvbmZpZ3VyYWJsZTohIW5nRGV2TW9kZX0pfSxJXz1wXyxIXz1mdW5jdGlvbiBGXyh0LGUpe2xldCBuPW51bGwsbz1udWxsO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGlvLHtnZXQ6KCk9PntpZihudWxsPT09byl7Y29uc3Qgbj13Xyh0LGUpLGk9bHIoe3VzYWdlOjAsa2luZDoicGlwZSIsdHlwZTpuLnR5cGV9KTtvPWkuY29tcGlsZUZhY3RvcnkoWnksYG5nOi8vLyR7bi5uYW1lfS/JtWZhYy5qc2Ase25hbWU6bi5uYW1lLHR5cGU6bi50eXBlLHR5cGVBcmd1bWVudENvdW50OjAsZGVwczpZcih0KSx0YXJnZXQ6aS5GYWN0b3J5VGFyZ2V0LlBpcGV9KX1yZXR1cm4gb30sY29uZmlndXJhYmxlOiEhbmdEZXZNb2RlfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZW8se2dldDooKT0+e2lmKG51bGw9PT1uKXtjb25zdCBvPXdfKHQsZSksaT1scih7dXNhZ2U6MCxraW5kOiJwaXBlIix0eXBlOm8udHlwZX0pO249aS5jb21waWxlUGlwZShaeSxgbmc6Ly8vJHtvLm5hbWV9L8m1cGlwZS5qc2Asbyl9cmV0dXJuIG59LGNvbmZpZ3VyYWJsZTohIW5nRGV2TW9kZX0pfSxMXz1YYSgiTmdNb2R1bGUiLCh0PT50KSx2b2lkIDAsdm9pZCAwLCgodCxlKT0+Ql8odCxlKSkpLEJfPWZ1bmN0aW9uIFZfKHQsZT17fSl7IShmdW5jdGlvbiBuKHQsZSxvPSExKXtuZ0Rldk1vZGUmJnhuKHQsIlJlcXVpcmVkIHZhbHVlIG1vZHVsZVR5cGUiKSxuZ0Rldk1vZGUmJnhuKGUsIlJlcXVpcmVkIHZhbHVlIG5nTW9kdWxlIik7Y29uc3QgaT1wcihlLmRlY2xhcmF0aW9uc3x8UW4pO2xldCBhPW51bGw7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbm8se2NvbmZpZ3VyYWJsZTohMCxnZXQ6KCk9PntpZihudWxsPT09YSl7aWYobmdEZXZNb2RlJiZlLmltcG9ydHMmJmUuaW1wb3J0cy5pbmRleE9mKHQpPi0xKXRocm93IG5ldyBFcnJvcihgJyR7c24odCl9JyBtb2R1bGUgY2FuJ3QgaW1wb3J0IGl0c2VsZmApO2NvbnN0IG49bHIoe3VzYWdlOjAsa2luZDoiTmdNb2R1bGUiLHR5cGU6dH0pO2E9bi5jb21waWxlTmdNb2R1bGUoWnksYG5nOi8vLyR7dC5uYW1lfS/JtW1vZC5qc2Ase3R5cGU6dCxib290c3RyYXA6cHIoZS5ib290c3RyYXB8fFFuKS5tYXAodG4pLGRlY2xhcmF0aW9uczppLm1hcCh0biksaW1wb3J0czpwcihlLmltcG9ydHN8fFFuKS5tYXAodG4pLm1hcChsXyksZXhwb3J0czpwcihlLmV4cG9ydHN8fFFuKS5tYXAodG4pLm1hcChsXyksc2NoZW1hczplLnNjaGVtYXM/cHIoZS5zY2hlbWFzKTpudWxsLGlkOmUuaWR8fG51bGx9KSxhLnNjaGVtYXN8fChhLnNjaGVtYXM9W10pfXJldHVybiBhfX0pO2xldCByPW51bGw7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaW8se2dldDooKT0+e2lmKG51bGw9PT1yKXtjb25zdCBlPWxyKHt1c2FnZTowLGtpbmQ6Ik5nTW9kdWxlIix0eXBlOnR9KTtyPWUuY29tcGlsZUZhY3RvcnkoWnksYG5nOi8vLyR7dC5uYW1lfS/JtWZhYy5qc2Ase25hbWU6dC5uYW1lLHR5cGU6dCxkZXBzOllyKHQpLHRhcmdldDplLkZhY3RvcnlUYXJnZXQuTmdNb2R1bGUsdHlwZUFyZ3VtZW50Q291bnQ6MH0pfXJldHVybiByfSxjb25maWd1cmFibGU6ISFuZ0Rldk1vZGV9KTtsZXQgcz1udWxsO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LE5uLHtnZXQ6KCk9PntpZihudWxsPT09cyl7bmdEZXZNb2RlJiYkeSh0LG8pO2NvbnN0IG49e25hbWU6dC5uYW1lLHR5cGU6dCxwcm92aWRlcnM6ZS5wcm92aWRlcnN8fFFuLGltcG9ydHM6WyhlLmltcG9ydHN8fFFuKS5tYXAodG4pLChlLmV4cG9ydHN8fFFuKS5tYXAodG4pXX0saT1scih7dXNhZ2U6MCxraW5kOiJOZ01vZHVsZSIsdHlwZTp0fSk7cz1pLmNvbXBpbGVJbmplY3RvcihaeSxgbmc6Ly8vJHt0Lm5hbWV9L8m1aW5qLmpzYCxuKX1yZXR1cm4gc30sY29uZmlndXJhYmxlOiEhbmdEZXZNb2RlfSl9KSh0LGUpLChmdW5jdGlvbiBvKHQsZSl7S3kucHVzaCh7bW9kdWxlVHlwZTp0LG5nTW9kdWxlOmV9KX0pKHQsZSl9LGpfPW5ldyBlcigiQXBwbGljYXRpb24gSW5pdGlhbGl6ZXIiKTtjbGFzcyBVX3tjb25zdHJ1Y3Rvcih0KXt0aGlzLmFwcEluaXRzPXQsdGhpcy5yZXNvbHZlPVloLHRoaXMucmVqZWN0PVloLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5kb25lPSExLHRoaXMuZG9uZVByb21pc2U9bmV3IFByb21pc2UoKCh0LGUpPT57dGhpcy5yZXNvbHZlPXQsdGhpcy5yZWplY3Q9ZX0pKX1ydW5Jbml0aWFsaXplcnMoKXtpZih0aGlzLmluaXRpYWxpemVkKXJldHVybjtjb25zdCB0PVtdLGU9KCk9Pnt0aGlzLmRvbmU9ITAsdGhpcy5yZXNvbHZlKCl9O2lmKHRoaXMuYXBwSW5pdHMpZm9yKGxldCBlPTA7ZTx0aGlzLmFwcEluaXRzLmxlbmd0aDtlKyspe2NvbnN0IG49dGhpcy5hcHBJbml0c1tlXSgpO2lmKGtmKG4pKXQucHVzaChuKTtlbHNlIGlmKERmKG4pKXtjb25zdCBlPW5ldyBQcm9taXNlKCgodCxlKT0+e24uc3Vic2NyaWJlKHtjb21wbGV0ZTp0LGVycm9yOmV9KX0pKTt0LnB1c2goZSl9fVByb21pc2UuYWxsKHQpLnRoZW4oKCgpPT57ZSgpfSkpLmNhdGNoKCh0PT57dGhpcy5yZWplY3QodCl9KSksMD09PXQubGVuZ3RoJiZlKCksdGhpcy5pbml0aWFsaXplZD0hMH19VV8uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFVfKShUcihqXyw4KSl9LFVfLsm1cHJvdj1Tbih7dG9rZW46VV8sZmFjdG9yeTpVXy7JtWZhY30pLFVfLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2pfXX0se3R5cGU6QnJ9XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVV8sW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltqX119LHt0eXBlOkJyfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgV189bmV3IGVyKCJBcHBJZCIpO2NvbnN0IEdfPXtwcm92aWRlOldfLHVzZUZhY3Rvcnk6ZnVuY3Rpb24gWV8oKXtyZXR1cm5gJHtxXygpfSR7cV8oKX0ke3FfKCl9YH0sZGVwczpbXX07ZnVuY3Rpb24gcV8oKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSg5NytNYXRoLmZsb29yKDI1Kk1hdGgucmFuZG9tKCkpKX1jb25zdCBaXz1uZXcgZXIoIlBsYXRmb3JtIEluaXRpYWxpemVyIiksWF89bmV3IGVyKCJQbGF0Zm9ybSBJRCIpLEtfPW5ldyBlcigiYXBwQm9vdHN0cmFwTGlzdGVuZXIiKTtuZXcgZXIoIkFwcGxpY2F0aW9uIFBhY2thZ2VzIFJvb3QgVVJMIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBKX3tsb2codCl7Y29uc29sZS5sb2codCl9d2Fybih0KXtjb25zb2xlLndhcm4odCl9fUpfLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxKXyl9LEpfLsm1cHJvdj1Tbih7dG9rZW46Sl8sZmFjdG9yeTpKXy7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSl8sW3t0eXBlOlVtfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFFfPW5ldyBlcigiTG9jYWxlSWQiKSwkXz1uZXcgZXIoIkRlZmF1bHRDdXJyZW5jeUNvZGUiKTt2YXIgdEM7bmV3IGVyKCJUcmFuc2xhdGlvbnMiKSxuZXcgZXIoIlRyYW5zbGF0aW9uc0Zvcm1hdCIpLChmdW5jdGlvbih0KXt0W3QuRXJyb3I9MF09IkVycm9yIix0W3QuV2FybmluZz0xXT0iV2FybmluZyIsdFt0Lklnbm9yZT0yXT0iSWdub3JlIn0pKHRDfHwodEM9e30pKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIGVDe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5uZ01vZHVsZUZhY3Rvcnk9dCx0aGlzLmNvbXBvbmVudEZhY3Rvcmllcz1lfX1jb25zdCBuQz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IG55KHQpfSxvQz1uQyxpQz1mdW5jdGlvbih0KXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5DKHQpKX0sYUM9ZnVuY3Rpb24odCl7Y29uc3QgZT1uQyh0KSxuPVNsKE1vKHQpLmRlY2xhcmF0aW9ucykucmVkdWNlKCgodCxlKT0+e2NvbnN0IG49eW8oZSk7cmV0dXJuIG4mJnQucHVzaChuZXcgS2IobikpLHR9KSxbXSk7cmV0dXJuIG5ldyBlQyhlLG4pfSxyQz1hQyxzQz1mdW5jdGlvbih0KXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGFDKHQpKX07Y2xhc3MgbEN7Y29uc3RydWN0b3IoKXt0aGlzLmNvbXBpbGVNb2R1bGVTeW5jPW9DLHRoaXMuY29tcGlsZU1vZHVsZUFzeW5jPWlDLHRoaXMuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNTeW5jPXJDLHRoaXMuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNBc3luYz1zQ31jbGVhckNhY2hlKCl7fWNsZWFyQ2FjaGVGb3IodCl7fWdldE1vZHVsZUlkKHQpe319bEMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGxDKX0sbEMuybVwcm92PVNuKHt0b2tlbjpsQyxmYWN0b3J5OmxDLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihsQyxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpO2NvbnN0IGNDPW5ldyBlcigiY29tcGlsZXJPcHRpb25zIiksZEM9UHJvbWlzZS5yZXNvbHZlKDApOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBwQyh0KXsidW5kZWZpbmVkIj09dHlwZW9mIFpvbmU/ZEMudGhlbigoKCk9Pnt0JiZ0LmFwcGx5KG51bGwsbnVsbCl9KSk6Wm9uZS5jdXJyZW50LnNjaGVkdWxlTWljcm9UYXNrKCJzY2hlZHVsZU1pY3JvdGFzayIsdCl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgbUN7Y29uc3RydWN0b3Ioe2VuYWJsZUxvbmdTdGFja1RyYWNlOnQ9ITEsc2hvdWxkQ29hbGVzY2VFdmVudENoYW5nZURldGVjdGlvbjplPSExLHNob3VsZENvYWxlc2NlUnVuQ2hhbmdlRGV0ZWN0aW9uOm49ITF9KXtpZih0aGlzLmhhc1BlbmRpbmdNYWNyb3Rhc2tzPSExLHRoaXMuaGFzUGVuZGluZ01pY3JvdGFza3M9ITEsdGhpcy5pc1N0YWJsZT0hMCx0aGlzLm9uVW5zdGFibGU9bmV3IFN5KCExKSx0aGlzLm9uTWljcm90YXNrRW1wdHk9bmV3IFN5KCExKSx0aGlzLm9uU3RhYmxlPW5ldyBTeSghMSksdGhpcy5vbkVycm9yPW5ldyBTeSghMSksInVuZGVmaW5lZCI9PXR5cGVvZiBab25lKXRocm93IG5ldyBFcnJvcigiSW4gdGhpcyBjb25maWd1cmF0aW9uIEFuZ3VsYXIgcmVxdWlyZXMgWm9uZS5qcyIpO1pvbmUuYXNzZXJ0Wm9uZVBhdGNoZWQoKTtjb25zdCBvPXRoaXM7by5fbmVzdGluZz0wLG8uX291dGVyPW8uX2lubmVyPVpvbmUuY3VycmVudCxab25lLlRhc2tUcmFja2luZ1pvbmVTcGVjJiYoby5faW5uZXI9by5faW5uZXIuZm9yayhuZXcgWm9uZS5UYXNrVHJhY2tpbmdab25lU3BlYykpLHQmJlpvbmUubG9uZ1N0YWNrVHJhY2Vab25lU3BlYyYmKG8uX2lubmVyPW8uX2lubmVyLmZvcmsoWm9uZS5sb25nU3RhY2tUcmFjZVpvbmVTcGVjKSksby5zaG91bGRDb2FsZXNjZUV2ZW50Q2hhbmdlRGV0ZWN0aW9uPSFuJiZlLG8uc2hvdWxkQ29hbGVzY2VSdW5DaGFuZ2VEZXRlY3Rpb249bixvLmxhc3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZD0tMSxvLm5hdGl2ZVJlcXVlc3RBbmltYXRpb25GcmFtZT0oZnVuY3Rpb24gaSgpe2xldCB0PVhuLnJlcXVlc3RBbmltYXRpb25GcmFtZSxlPVhuLmNhbmNlbEFuaW1hdGlvbkZyYW1lO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgWm9uZSYmdCYmZSl7Y29uc3Qgbj10W1pvbmUuX19zeW1ib2xfXygiT3JpZ2luYWxEZWxlZ2F0ZSIpXTtuJiYodD1uKTtjb25zdCBvPWVbWm9uZS5fX3N5bWJvbF9fKCJPcmlnaW5hbERlbGVnYXRlIildO28mJihlPW8pfXJldHVybntuYXRpdmVSZXF1ZXN0QW5pbWF0aW9uRnJhbWU6dCxuYXRpdmVDYW5jZWxBbmltYXRpb25GcmFtZTplfX0pKCkubmF0aXZlUmVxdWVzdEFuaW1hdGlvbkZyYW1lLChmdW5jdGlvbiBhKHQpe2NvbnN0IGU9KCk9PnshKGZ1bmN0aW9uIGUodCl7aWYodC5pc0NoZWNrU3RhYmxlUnVubmluZ3x8LTEhPT10Lmxhc3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZClyZXR1cm47dC5sYXN0UmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQ9dC5uYXRpdmVSZXF1ZXN0QW5pbWF0aW9uRnJhbWUuY2FsbChYbiwoKCk9Pnt0LmZha2VUb3BFdmVudFRhc2t8fCh0LmZha2VUb3BFdmVudFRhc2s9Wm9uZS5yb290LnNjaGVkdWxlRXZlbnRUYXNrKCJmYWtlVG9wRXZlbnRUYXNrIiwoKCk9Pnt0Lmxhc3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZD0tMSxnQyh0KSx0LmlzQ2hlY2tTdGFibGVSdW5uaW5nPSEwLHVDKHQpLHQuaXNDaGVja1N0YWJsZVJ1bm5pbmc9ITF9KSx2b2lkIDAsKCgpPT57fSksKCgpPT57fSkpKSx0LmZha2VUb3BFdmVudFRhc2suaW52b2tlKCl9KSksZ0ModCl9KSh0KX07dC5faW5uZXI9dC5faW5uZXIuZm9yayh7bmFtZToiYW5ndWxhciIscHJvcGVydGllczp7aXNBbmd1bGFyWm9uZTohMH0sb25JbnZva2VUYXNrOihuLG8saSxhLHIscyk9Pnt0cnl7cmV0dXJuIGhDKHQpLG4uaW52b2tlVGFzayhpLGEscixzKX1maW5hbGx5eyh0LnNob3VsZENvYWxlc2NlRXZlbnRDaGFuZ2VEZXRlY3Rpb24mJiJldmVudFRhc2siPT09YS50eXBlfHx0LnNob3VsZENvYWxlc2NlUnVuQ2hhbmdlRGV0ZWN0aW9uKSYmZSgpLGJDKHQpfX0sb25JbnZva2U6KG4sbyxpLGEscixzLGwpPT57dHJ5e3JldHVybiBoQyh0KSxuLmludm9rZShpLGEscixzLGwpfWZpbmFsbHl7dC5zaG91bGRDb2FsZXNjZVJ1bkNoYW5nZURldGVjdGlvbiYmZSgpLGJDKHQpfX0sb25IYXNUYXNrOihlLG4sbyxpKT0+e2UuaGFzVGFzayhvLGkpLG49PT1vJiYoIm1pY3JvVGFzayI9PWkuY2hhbmdlPyh0Ll9oYXNQZW5kaW5nTWljcm90YXNrcz1pLm1pY3JvVGFzayxnQyh0KSx1Qyh0KSk6Im1hY3JvVGFzayI9PWkuY2hhbmdlJiYodC5oYXNQZW5kaW5nTWFjcm90YXNrcz1pLm1hY3JvVGFzaykpfSxvbkhhbmRsZUVycm9yOihlLG4sbyxpKT0+KGUuaGFuZGxlRXJyb3IobyxpKSx0LnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+dC5vbkVycm9yLmVtaXQoaSkpKSwhMSl9KX0pKG8pfXN0YXRpYyBpc0luQW5ndWxhclpvbmUoKXtyZXR1cm4hMD09PVpvbmUuY3VycmVudC5nZXQoImlzQW5ndWxhclpvbmUiKX1zdGF0aWMgYXNzZXJ0SW5Bbmd1bGFyWm9uZSgpe2lmKCFtQy5pc0luQW5ndWxhclpvbmUoKSl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIHRvIGJlIGluIEFuZ3VsYXIgWm9uZSwgYnV0IGl0IGlzIG5vdCEiKX1zdGF0aWMgYXNzZXJ0Tm90SW5Bbmd1bGFyWm9uZSgpe2lmKG1DLmlzSW5Bbmd1bGFyWm9uZSgpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgdG8gbm90IGJlIGluIEFuZ3VsYXIgWm9uZSwgYnV0IGl0IGlzISIpfXJ1bih0LGUsbil7cmV0dXJuIHRoaXMuX2lubmVyLnJ1bih0LGUsbil9cnVuVGFzayh0LGUsbixvKXtjb25zdCBpPXRoaXMuX2lubmVyLGE9aS5zY2hlZHVsZUV2ZW50VGFzaygiTmdab25lRXZlbnQ6ICIrbyx0LGZDLFloLFloKTt0cnl7cmV0dXJuIGkucnVuVGFzayhhLGUsbil9ZmluYWxseXtpLmNhbmNlbFRhc2soYSl9fXJ1bkd1YXJkZWQodCxlLG4pe3JldHVybiB0aGlzLl9pbm5lci5ydW5HdWFyZGVkKHQsZSxuKX1ydW5PdXRzaWRlQW5ndWxhcih0KXtyZXR1cm4gdGhpcy5fb3V0ZXIucnVuKHQpfX1jb25zdCBmQz17fTtmdW5jdGlvbiB1Qyh0KXtpZigwPT10Ll9uZXN0aW5nJiYhdC5oYXNQZW5kaW5nTWljcm90YXNrcyYmIXQuaXNTdGFibGUpdHJ5e3QuX25lc3RpbmcrKyx0Lm9uTWljcm90YXNrRW1wdHkuZW1pdChudWxsKX1maW5hbGx5e2lmKHQuX25lc3RpbmctLSwhdC5oYXNQZW5kaW5nTWljcm90YXNrcyl0cnl7dC5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PnQub25TdGFibGUuZW1pdChudWxsKSkpfWZpbmFsbHl7dC5pc1N0YWJsZT0hMH19fWZ1bmN0aW9uIGdDKHQpe3QuaGFzUGVuZGluZ01pY3JvdGFza3M9ISEodC5faGFzUGVuZGluZ01pY3JvdGFza3N8fCh0LnNob3VsZENvYWxlc2NlRXZlbnRDaGFuZ2VEZXRlY3Rpb258fHQuc2hvdWxkQ29hbGVzY2VSdW5DaGFuZ2VEZXRlY3Rpb24pJiYtMSE9PXQubGFzdFJlcXVlc3RBbmltYXRpb25GcmFtZUlkKX1mdW5jdGlvbiBoQyh0KXt0Ll9uZXN0aW5nKyssdC5pc1N0YWJsZSYmKHQuaXNTdGFibGU9ITEsdC5vblVuc3RhYmxlLmVtaXQobnVsbCkpfWZ1bmN0aW9uIGJDKHQpe3QuX25lc3RpbmctLSx1Qyh0KX1jbGFzcyB5Q3tjb25zdHJ1Y3Rvcigpe3RoaXMuaGFzUGVuZGluZ01pY3JvdGFza3M9ITEsdGhpcy5oYXNQZW5kaW5nTWFjcm90YXNrcz0hMSx0aGlzLmlzU3RhYmxlPSEwLHRoaXMub25VbnN0YWJsZT1uZXcgU3ksdGhpcy5vbk1pY3JvdGFza0VtcHR5PW5ldyBTeSx0aGlzLm9uU3RhYmxlPW5ldyBTeSx0aGlzLm9uRXJyb3I9bmV3IFN5fXJ1bih0LGUsbil7cmV0dXJuIHQuYXBwbHkoZSxuKX1ydW5HdWFyZGVkKHQsZSxuKXtyZXR1cm4gdC5hcHBseShlLG4pfXJ1bk91dHNpZGVBbmd1bGFyKHQpe3JldHVybiB0KCl9cnVuVGFzayh0LGUsbixvKXtyZXR1cm4gdC5hcHBseShlLG4pfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgX0N7Y29uc3RydWN0b3IodCl7dGhpcy5fbmdab25lPXQsdGhpcy5fcGVuZGluZ0NvdW50PTAsdGhpcy5faXNab25lU3RhYmxlPSEwLHRoaXMuX2RpZFdvcms9ITEsdGhpcy5fY2FsbGJhY2tzPVtdLHRoaXMudGFza1RyYWNraW5nWm9uZT1udWxsLHRoaXMuX3dhdGNoQW5ndWxhckV2ZW50cygpLHQucnVuKCgoKT0+e3RoaXMudGFza1RyYWNraW5nWm9uZT0idW5kZWZpbmVkIj09dHlwZW9mIFpvbmU/bnVsbDpab25lLmN1cnJlbnQuZ2V0KCJUYXNrVHJhY2tpbmdab25lIil9KSl9X3dhdGNoQW5ndWxhckV2ZW50cygpe3RoaXMuX25nWm9uZS5vblVuc3RhYmxlLnN1YnNjcmliZSh7bmV4dDooKT0+e3RoaXMuX2RpZFdvcms9ITAsdGhpcy5faXNab25lU3RhYmxlPSExfX0pLHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9uZ1pvbmUub25TdGFibGUuc3Vic2NyaWJlKHtuZXh0OigpPT57bUMuYXNzZXJ0Tm90SW5Bbmd1bGFyWm9uZSgpLHBDKCgoKT0+e3RoaXMuX2lzWm9uZVN0YWJsZT0hMCx0aGlzLl9ydW5DYWxsYmFja3NJZlJlYWR5KCl9KSl9fSl9KSl9aW5jcmVhc2VQZW5kaW5nUmVxdWVzdENvdW50KCl7cmV0dXJuIHRoaXMuX3BlbmRpbmdDb3VudCs9MSx0aGlzLl9kaWRXb3JrPSEwLHRoaXMuX3BlbmRpbmdDb3VudH1kZWNyZWFzZVBlbmRpbmdSZXF1ZXN0Q291bnQoKXtpZih0aGlzLl9wZW5kaW5nQ291bnQtPTEsdGhpcy5fcGVuZGluZ0NvdW50PDApdGhyb3cgbmV3IEVycm9yKCJwZW5kaW5nIGFzeW5jIHJlcXVlc3RzIGJlbG93IHplcm8iKTtyZXR1cm4gdGhpcy5fcnVuQ2FsbGJhY2tzSWZSZWFkeSgpLHRoaXMuX3BlbmRpbmdDb3VudH1pc1N0YWJsZSgpe3JldHVybiB0aGlzLl9pc1pvbmVTdGFibGUmJjA9PT10aGlzLl9wZW5kaW5nQ291bnQmJiF0aGlzLl9uZ1pvbmUuaGFzUGVuZGluZ01hY3JvdGFza3N9X3J1bkNhbGxiYWNrc0lmUmVhZHkoKXtpZih0aGlzLmlzU3RhYmxlKCkpcEMoKCgpPT57Zm9yKDswIT09dGhpcy5fY2FsbGJhY2tzLmxlbmd0aDspe2xldCB0PXRoaXMuX2NhbGxiYWNrcy5wb3AoKTtjbGVhclRpbWVvdXQodC50aW1lb3V0SWQpLHQuZG9uZUNiKHRoaXMuX2RpZFdvcmspfXRoaXMuX2RpZFdvcms9ITF9KSk7ZWxzZXtsZXQgdD10aGlzLmdldFBlbmRpbmdUYXNrcygpO3RoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3MuZmlsdGVyKChlPT4hZS51cGRhdGVDYnx8IWUudXBkYXRlQ2IodCl8fChjbGVhclRpbWVvdXQoZS50aW1lb3V0SWQpLCExKSkpLHRoaXMuX2RpZFdvcms9ITB9fWdldFBlbmRpbmdUYXNrcygpe3JldHVybiB0aGlzLnRhc2tUcmFja2luZ1pvbmU/dGhpcy50YXNrVHJhY2tpbmdab25lLm1hY3JvVGFza3MubWFwKCh0PT4oe3NvdXJjZTp0LnNvdXJjZSxjcmVhdGlvbkxvY2F0aW9uOnQuY3JlYXRpb25Mb2NhdGlvbixkYXRhOnQuZGF0YX0pKSk6W119YWRkQ2FsbGJhY2sodCxlLG4pe2xldCBvPS0xO2UmJmU+MCYmKG89c2V0VGltZW91dCgoKCk9Pnt0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzLmZpbHRlcigodD0+dC50aW1lb3V0SWQhPT1vKSksdCh0aGlzLl9kaWRXb3JrLHRoaXMuZ2V0UGVuZGluZ1Rhc2tzKCkpfSksZSkpLHRoaXMuX2NhbGxiYWNrcy5wdXNoKHtkb25lQ2I6dCx0aW1lb3V0SWQ6byx1cGRhdGVDYjpufSl9d2hlblN0YWJsZSh0LGUsbil7aWYobiYmIXRoaXMudGFza1RyYWNraW5nWm9uZSl0aHJvdyBuZXcgRXJyb3IoJ1Rhc2sgdHJhY2tpbmcgem9uZSBpcyByZXF1aXJlZCB3aGVuIHBhc3NpbmcgYW4gdXBkYXRlIGNhbGxiYWNrIHRvIHdoZW5TdGFibGUoKS4gSXMgInpvbmUuanMvcGx1Z2lucy90YXNrLXRyYWNraW5nIiBsb2FkZWQ/Jyk7dGhpcy5hZGRDYWxsYmFjayh0LGUsbiksdGhpcy5fcnVuQ2FsbGJhY2tzSWZSZWFkeSgpfWdldFBlbmRpbmdSZXF1ZXN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcGVuZGluZ0NvdW50fWZpbmRQcm92aWRlcnModCxlLG4pe3JldHVybltdfX1fQy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8X0MpKFRyKG1DKSl9LF9DLsm1cHJvdj1Tbih7dG9rZW46X0MsZmFjdG9yeTpfQy7JtWZhY30pLF9DLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6bUN9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKF9DLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTptQ31dfSksbnVsbCk7Y2xhc3MgQ0N7Y29uc3RydWN0b3IoKXt0aGlzLl9hcHBsaWNhdGlvbnM9bmV3IE1hcCx2Qy5hZGRUb1dpbmRvdyh0aGlzKX1yZWdpc3RlckFwcGxpY2F0aW9uKHQsZSl7dGhpcy5fYXBwbGljYXRpb25zLnNldCh0LGUpfXVucmVnaXN0ZXJBcHBsaWNhdGlvbih0KXt0aGlzLl9hcHBsaWNhdGlvbnMuZGVsZXRlKHQpfXVucmVnaXN0ZXJBbGxBcHBsaWNhdGlvbnMoKXt0aGlzLl9hcHBsaWNhdGlvbnMuY2xlYXIoKX1nZXRUZXN0YWJpbGl0eSh0KXtyZXR1cm4gdGhpcy5fYXBwbGljYXRpb25zLmdldCh0KXx8bnVsbH1nZXRBbGxUZXN0YWJpbGl0aWVzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fYXBwbGljYXRpb25zLnZhbHVlcygpKX1nZXRBbGxSb290RWxlbWVudHMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9hcHBsaWNhdGlvbnMua2V5cygpKX1maW5kVGVzdGFiaWxpdHlJblRyZWUodCxlPSEwKXtyZXR1cm4gdkMuZmluZFRlc3RhYmlsaXR5SW5UcmVlKHRoaXMsdCxlKX19Q0MuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fENDKX0sQ0MuybVwcm92PVNuKHt0b2tlbjpDQyxmYWN0b3J5OkNDLsm1ZmFjfSksQ0MuY3RvclBhcmFtZXRlcnM9KCk9PltdLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ0MsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSxudWxsKTtsZXQgTUMsdkM9bmV3IGNsYXNze2FkZFRvV2luZG93KHQpe31maW5kVGVzdGFiaWxpdHlJblRyZWUodCxlLG4pe3JldHVybiBudWxsfX0seEM9ITAsT0M9ITE7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFBDKCl7cmV0dXJuIE9DPSEwLHhDfWxldCB3Qz1mdW5jdGlvbiBrQyh0LGUsbil7bmdEZXZNb2RlJiYoZnVuY3Rpb24gbyh0LGU9IlR5cGUgcGFzc2VkIGluIGlzIG5vdCBOZ01vZHVsZVR5cGUsIGl0IGRvZXMgbm90IGhhdmUgJ8m1bW9kJyBwcm9wZXJ0eS4iKXtNbyh0KXx8T24oZSl9KShuKTtjb25zdCBpPW5ldyBueShuKTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSml0TW9kZSYmIW5nSml0TW9kZSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGkpO2NvbnN0IGE9dC5nZXQoY0MsW10pLmNvbmNhdChlKTtpZigoZnVuY3Rpb24gcih0KXtpZihudWxsIT09WHkpe2lmKHQuZGVmYXVsdEVuY2Fwc3VsYXRpb24hPT1YeS5kZWZhdWx0RW5jYXBzdWxhdGlvbilyZXR1cm4gdm9pZChuZ0Rldk1vZGUmJmNvbnNvbGUuZXJyb3IoIlByb3ZpZGVkIHZhbHVlIGZvciBgZGVmYXVsdEVuY2Fwc3VsYXRpb25gIGNhbiBub3QgYmUgY2hhbmdlZCBvbmNlIGl0IGhhcyBiZWVuIHNldC4iKSk7aWYodC5wcmVzZXJ2ZVdoaXRlc3BhY2VzIT09WHkucHJlc2VydmVXaGl0ZXNwYWNlcylyZXR1cm4gdm9pZChuZ0Rldk1vZGUmJmNvbnNvbGUuZXJyb3IoIlByb3ZpZGVkIHZhbHVlIGZvciBgcHJlc2VydmVXaGl0ZXNwYWNlc2AgY2FuIG5vdCBiZSBjaGFuZ2VkIG9uY2UgaXQgaGFzIGJlZW4gc2V0LiIpKX1YeT10fSkoe2RlZmF1bHRFbmNhcHN1bGF0aW9uOkxDKGEubWFwKCh0PT50LmRlZmF1bHRFbmNhcHN1bGF0aW9uKSkpLHByZXNlcnZlV2hpdGVzcGFjZXM6TEMoYS5tYXAoKHQ9PnQucHJlc2VydmVXaGl0ZXNwYWNlcykpKX0pLChmdW5jdGlvbiBzKCl7cmV0dXJuIDA9PT1Yci5zaXplfSkoKSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGkpO2NvbnN0IGw9KGZ1bmN0aW9uIGModCl7Y29uc3QgZT1bXTtyZXR1cm4gdC5mb3JFYWNoKCh0PT50JiZlLnB1c2goLi4udCkpKSxlfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKGEubWFwKCh0PT50LnByb3ZpZGVycykpKTtpZigwPT09bC5sZW5ndGgpcmV0dXJuIFByb21pc2UucmVzb2x2ZShpKTtjb25zdCBkPWxyKHt1c2FnZTowLGtpbmQ6Ik5nTW9kdWxlIix0eXBlOm59KSxwPU5wLmNyZWF0ZSh7cHJvdmlkZXJzOmx9KS5nZXQoZC5SZXNvdXJjZUxvYWRlcik7cmV0dXJuIFpyKCh0PT5Qcm9taXNlLnJlc29sdmUocC5nZXQodCkpKSkudGhlbigoKCk9PmkpKX07bGV0IFNDPWZ1bmN0aW9uIERDKCl7bmdEZXZNb2RlJiYoZnVuY3Rpb24gdCgpe3FwfHwocXA9ITAsWnAoIsm1c2V0UHJvZmlsZXIiLCRvKSxacCgiZ2V0RGlyZWN0aXZlTWV0YWRhdGEiLFZwKSxacCgiZ2V0Q29tcG9uZW50Iix6cCksWnAoImdldENvbnRleHQiLElwKSxacCgiZ2V0TGlzdGVuZXJzIixVcCksWnAoImdldE93bmluZ0NvbXBvbmVudCIsSHApLFpwKCJnZXRIb3N0RWxlbWVudCIsanApLFpwKCJnZXRJbmplY3RvciIsTHApLFpwKCJnZXRSb290Q29tcG9uZW50cyIsRnApLFpwKCJnZXREaXJlY3RpdmVzIixCcCksWnAoImFwcGx5Q2hhbmdlcyIsWXApKX0pKCl9LFJDPWZ1bmN0aW9uIEVDKHQpe3JldHVybiB0LmlzQm91bmRUb01vZHVsZX07Y29uc3QgQUM9bmV3IGVyKCJBbGxvd011bHRpcGxlVG9rZW4iKTtmdW5jdGlvbiBUQyh0LGUsbj1bXSl7Y29uc3Qgbz1gUGxhdGZvcm06ICR7ZX1gLGk9bmV3IGVyKG8pO3JldHVybihlPVtdKT0+e2xldCBhPU5DKCk7aWYoIWF8fGEuaW5qZWN0b3IuZ2V0KEFDLCExKSlpZih0KXQobi5jb25jYXQoZSkuY29uY2F0KHtwcm92aWRlOmksdXNlVmFsdWU6ITB9KSk7ZWxzZXtjb25zdCB0PW4uY29uY2F0KGUpLmNvbmNhdCh7cHJvdmlkZTppLHVzZVZhbHVlOiEwfSx7cHJvdmlkZTpDcCx1c2VWYWx1ZToicGxhdGZvcm0ifSk7IShmdW5jdGlvbiByKHQpe2lmKE1DJiYhTUMuZGVzdHJveWVkJiYhTUMuaW5qZWN0b3IuZ2V0KEFDLCExKSl0aHJvdyBuZXcgRXJyb3IoIlRoZXJlIGNhbiBiZSBvbmx5IG9uZSBwbGF0Zm9ybS4gRGVzdHJveSB0aGUgcHJldmlvdXMgb25lIHRvIGNyZWF0ZSBhIG5ldyBvbmUuIik7U0MoKSxNQz10LmdldCh6Qyk7Y29uc3QgZT10LmdldChaXyxudWxsKTtyZXR1cm4gZSYmZS5mb3JFYWNoKCh0PT50KCkpKSxNQ30pKE5wLmNyZWF0ZSh7cHJvdmlkZXJzOnQsbmFtZTpvfSkpfXJldHVybihmdW5jdGlvbiBzKHQpe2NvbnN0IGU9TkMoKTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIk5vIHBsYXRmb3JtIGV4aXN0cyEiKTtpZighZS5pbmplY3Rvci5nZXQodCxudWxsKSl0aHJvdyBuZXcgRXJyb3IoIkEgcGxhdGZvcm0gd2l0aCBhIGRpZmZlcmVudCBjb25maWd1cmF0aW9uIGhhcyBiZWVuIGNyZWF0ZWQuIFBsZWFzZSBkZXN0cm95IGl0IGZpcnN0LiIpO3JldHVybiBlfSkoaSl9fWZ1bmN0aW9uIE5DKCl7cmV0dXJuIE1DJiYhTUMuZGVzdHJveWVkP01DOm51bGx9Y2xhc3MgekN7Y29uc3RydWN0b3IodCl7dGhpcy5faW5qZWN0b3I9dCx0aGlzLl9tb2R1bGVzPVtdLHRoaXMuX2Rlc3Ryb3lMaXN0ZW5lcnM9W10sdGhpcy5fZGVzdHJveWVkPSExfWJvb3RzdHJhcE1vZHVsZUZhY3RvcnkodCxlKXtjb25zdCBuPShmdW5jdGlvbiBvKHQsZSl7bGV0IG47bj0ibm9vcCI9PT10P25ldyB5QzooInpvbmUuanMiPT09dD92b2lkIDA6dCl8fG5ldyBtQyh7ZW5hYmxlTG9uZ1N0YWNrVHJhY2U6UEMoKSxzaG91bGRDb2FsZXNjZUV2ZW50Q2hhbmdlRGV0ZWN0aW9uOiEhKG51bGw9PWU/dm9pZCAwOmUubmdab25lRXZlbnRDb2FsZXNjaW5nKSxzaG91bGRDb2FsZXNjZVJ1bkNoYW5nZURldGVjdGlvbjohIShudWxsPT1lP3ZvaWQgMDplLm5nWm9uZVJ1bkNvYWxlc2NpbmcpfSk7cmV0dXJuIG59KShlP2Uubmdab25lOnZvaWQgMCx7bmdab25lRXZlbnRDb2FsZXNjaW5nOmUmJmUubmdab25lRXZlbnRDb2FsZXNjaW5nfHwhMSxuZ1pvbmVSdW5Db2FsZXNjaW5nOmUmJmUubmdab25lUnVuQ29hbGVzY2luZ3x8ITF9KSxpPVt7cHJvdmlkZTptQyx1c2VWYWx1ZTpufV07cmV0dXJuIG4ucnVuKCgoKT0+e2NvbnN0IGU9TnAuY3JlYXRlKHtwcm92aWRlcnM6aSxwYXJlbnQ6dGhpcy5pbmplY3RvcixuYW1lOnQubW9kdWxlVHlwZS5uYW1lfSksbz10LmNyZWF0ZShlKSxhPW8uaW5qZWN0b3IuZ2V0KHVsLG51bGwpO2lmKCFhKXRocm93IG5ldyBFcnJvcigiTm8gRXJyb3JIYW5kbGVyLiBJcyBwbGF0Zm9ybSBtb2R1bGUgKEJyb3dzZXJNb2R1bGUpIGluY2x1ZGVkPyIpO3JldHVybiBuLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e2NvbnN0IHQ9bi5vbkVycm9yLnN1YnNjcmliZSh7bmV4dDp0PT57YS5oYW5kbGVFcnJvcih0KX19KTtvLm9uRGVzdHJveSgoKCk9PntGQyh0aGlzLl9tb2R1bGVzLG8pLHQudW5zdWJzY3JpYmUoKX0pKX0pKSwoZnVuY3Rpb24gcih0LGUsbil7dHJ5e2NvbnN0IG89bigpO3JldHVybiBrZihvKT9vLmNhdGNoKChuPT57dGhyb3cgZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PnQuaGFuZGxlRXJyb3IobikpKSxufSkpOm99Y2F0Y2gobil7dGhyb3cgZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PnQuaGFuZGxlRXJyb3IobikpKSxufX0pKGEsbiwoKCk9Pntjb25zdCB0PW8uaW5qZWN0b3IuZ2V0KFVfKTtyZXR1cm4gdC5ydW5Jbml0aWFsaXplcnMoKSx0LmRvbmVQcm9taXNlLnRoZW4oKCgpPT57UGcoby5pbmplY3Rvci5nZXQoUV8sQ2cpfHxDZyk7cmV0dXJuIHRoaXMuX21vZHVsZURvQm9vdHN0cmFwKG8pLG99KSl9KSl9KSl9Ym9vdHN0cmFwTW9kdWxlKHQsZT1bXSl7Y29uc3Qgbj1JQyh7fSxlKTtyZXR1cm4gd0ModGhpcy5pbmplY3RvcixuLHQpLnRoZW4oKHQ9PnRoaXMuYm9vdHN0cmFwTW9kdWxlRmFjdG9yeSh0LG4pKSl9X21vZHVsZURvQm9vdHN0cmFwKHQpe2NvbnN0IGU9dC5pbmplY3Rvci5nZXQoSEMpO2lmKHQuX2Jvb3RzdHJhcENvbXBvbmVudHMubGVuZ3RoPjApdC5fYm9vdHN0cmFwQ29tcG9uZW50cy5mb3JFYWNoKCh0PT5lLmJvb3RzdHJhcCh0KSkpO2Vsc2V7aWYoIXQuaW5zdGFuY2UubmdEb0Jvb3RzdHJhcCl0aHJvdyBuZXcgRXJyb3IoYFRoZSBtb2R1bGUgJHtLZSh0Lmluc3RhbmNlLmNvbnN0cnVjdG9yKX0gd2FzIGJvb3RzdHJhcHBlZCwgYnV0IGl0IGRvZXMgbm90IGRlY2xhcmUgIkBOZ01vZHVsZS5ib290c3RyYXAiIGNvbXBvbmVudHMgbm9yIGEgIm5nRG9Cb290c3RyYXAiIG1ldGhvZC4gUGxlYXNlIGRlZmluZSBvbmUgb2YgdGhlc2UuYCk7dC5pbnN0YW5jZS5uZ0RvQm9vdHN0cmFwKGUpfXRoaXMuX21vZHVsZXMucHVzaCh0KX1vbkRlc3Ryb3kodCl7dGhpcy5fZGVzdHJveUxpc3RlbmVycy5wdXNoKHQpfWdldCBpbmplY3Rvcigpe3JldHVybiB0aGlzLl9pbmplY3Rvcn1kZXN0cm95KCl7aWYodGhpcy5fZGVzdHJveWVkKXRocm93IG5ldyBFcnJvcigiVGhlIHBsYXRmb3JtIGhhcyBhbHJlYWR5IGJlZW4gZGVzdHJveWVkISIpO3RoaXMuX21vZHVsZXMuc2xpY2UoKS5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX2Rlc3Ryb3lMaXN0ZW5lcnMuZm9yRWFjaCgodD0+dCgpKSksdGhpcy5fZGVzdHJveWVkPSEwfWdldCBkZXN0cm95ZWQoKXtyZXR1cm4gdGhpcy5fZGVzdHJveWVkfX1mdW5jdGlvbiBJQyh0LGUpe3JldHVybiB0PUFycmF5LmlzQXJyYXkoZSk/ZS5yZWR1Y2UoSUMsdCk6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLGUpfXpDLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx6QykoVHIoTnApKX0sekMuybVwcm92PVNuKHt0b2tlbjp6QyxmYWN0b3J5OnpDLsm1ZmFjfSksekMuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpOcH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoekMsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOk5wfV19KSxudWxsKTtjbGFzcyBIQ3tjb25zdHJ1Y3Rvcih0LGUsbixvLGkpe3RoaXMuX3pvbmU9dCx0aGlzLl9pbmplY3Rvcj1lLHRoaXMuX2V4Y2VwdGlvbkhhbmRsZXI9bix0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI9byx0aGlzLl9pbml0U3RhdHVzPWksdGhpcy5fYm9vdHN0cmFwTGlzdGVuZXJzPVtdLHRoaXMuX3ZpZXdzPVtdLHRoaXMuX3J1bm5pbmdUaWNrPSExLHRoaXMuX3N0YWJsZT0hMCx0aGlzLmNvbXBvbmVudFR5cGVzPVtdLHRoaXMuY29tcG9uZW50cz1bXSx0aGlzLl9vbk1pY3JvdGFza0VtcHR5U3Vic2NyaXB0aW9uPXRoaXMuX3pvbmUub25NaWNyb3Rhc2tFbXB0eS5zdWJzY3JpYmUoe25leHQ6KCk9Pnt0aGlzLl96b25lLnJ1bigoKCk9Pnt0aGlzLnRpY2soKX0pKX19KTtjb25zdCBhPW5ldyBUKCh0PT57dGhpcy5fc3RhYmxlPXRoaXMuX3pvbmUuaXNTdGFibGUmJiF0aGlzLl96b25lLmhhc1BlbmRpbmdNYWNyb3Rhc2tzJiYhdGhpcy5fem9uZS5oYXNQZW5kaW5nTWljcm90YXNrcyx0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3QubmV4dCh0aGlzLl9zdGFibGUpLHQuY29tcGxldGUoKX0pKX0pKSxyPW5ldyBUKCh0PT57bGV0IGU7dGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PntlPXRoaXMuX3pvbmUub25TdGFibGUuc3Vic2NyaWJlKCgoKT0+e21DLmFzc2VydE5vdEluQW5ndWxhclpvbmUoKSxwQygoKCk9Pnt0aGlzLl9zdGFibGV8fHRoaXMuX3pvbmUuaGFzUGVuZGluZ01hY3JvdGFza3N8fHRoaXMuX3pvbmUuaGFzUGVuZGluZ01pY3JvdGFza3N8fCh0aGlzLl9zdGFibGU9ITAsdC5uZXh0KCEwKSl9KSl9KSl9KSk7Y29uc3Qgbj10aGlzLl96b25lLm9uVW5zdGFibGUuc3Vic2NyaWJlKCgoKT0+e21DLmFzc2VydEluQW5ndWxhclpvbmUoKSx0aGlzLl9zdGFibGUmJih0aGlzLl9zdGFibGU9ITEsdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0Lm5leHQoITEpfSkpKX0pKTtyZXR1cm4oKT0+e2UudW5zdWJzY3JpYmUoKSxuLnVuc3Vic2NyaWJlKCl9fSkpO3RoaXMuaXNTdGFibGU9cGUoYSxyLnBpcGUoSWUoKSkpfWJvb3RzdHJhcCh0LGUpe2lmKCF0aGlzLl9pbml0U3RhdHVzLmRvbmUpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgYm9vdHN0cmFwIGFzIHRoZXJlIGFyZSBzdGlsbCBhc3luY2hyb25vdXMgaW5pdGlhbGl6ZXJzIHJ1bm5pbmcuIEJvb3RzdHJhcCBjb21wb25lbnRzIGluIHRoZSBgbmdEb0Jvb3RzdHJhcGAgbWV0aG9kIG9mIHRoZSByb290IG1vZHVsZS4iKTtsZXQgbjtuPXQgaW5zdGFuY2VvZiBVaD90OnRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0KSx0aGlzLmNvbXBvbmVudFR5cGVzLnB1c2gobi5jb21wb25lbnRUeXBlKTtjb25zdCBvPVJDKG4pP3ZvaWQgMDp0aGlzLl9pbmplY3Rvci5nZXQoemIpLGk9bi5jcmVhdGUoTnAuTlVMTCxbXSxlfHxuLnNlbGVjdG9yLG8pLGE9aS5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LHI9aS5pbmplY3Rvci5nZXQoX0MsbnVsbCkscz1yJiZpLmluamVjdG9yLmdldChDQyk7aWYociYmcyYmcy5yZWdpc3RlckFwcGxpY2F0aW9uKGEsciksaS5vbkRlc3Ryb3koKCgpPT57dGhpcy5kZXRhY2hWaWV3KGkuaG9zdFZpZXcpLEZDKHRoaXMuY29tcG9uZW50cyxpKSxzJiZzLnVucmVnaXN0ZXJBcHBsaWNhdGlvbihhKX0pKSx0aGlzLl9sb2FkQ29tcG9uZW50KGkpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUEMoKSl7dGhpcy5faW5qZWN0b3IuZ2V0KEpfKS5sb2coIkFuZ3VsYXIgaXMgcnVubmluZyBpbiBkZXZlbG9wbWVudCBtb2RlLiBDYWxsIGVuYWJsZVByb2RNb2RlKCkgdG8gZW5hYmxlIHByb2R1Y3Rpb24gbW9kZS4iKX1yZXR1cm4gaX10aWNrKCl7aWYodGhpcy5fcnVubmluZ1RpY2spdGhyb3cgbmV3IEVycm9yKCJBcHBsaWNhdGlvblJlZi50aWNrIGlzIGNhbGxlZCByZWN1cnNpdmVseSIpO3RyeXt0aGlzLl9ydW5uaW5nVGljaz0hMDtmb3IobGV0IHQgb2YgdGhpcy5fdmlld3MpdC5kZXRlY3RDaGFuZ2VzKCk7aWYoKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZQQygpKWZvcihsZXQgdCBvZiB0aGlzLl92aWV3cyl0LmNoZWNrTm9DaGFuZ2VzKCl9Y2F0Y2godCl7dGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PnRoaXMuX2V4Y2VwdGlvbkhhbmRsZXIuaGFuZGxlRXJyb3IodCkpKX1maW5hbGx5e3RoaXMuX3J1bm5pbmdUaWNrPSExfX1hdHRhY2hWaWV3KHQpe2NvbnN0IGU9dDt0aGlzLl92aWV3cy5wdXNoKGUpLGUuYXR0YWNoVG9BcHBSZWYodGhpcyl9ZGV0YWNoVmlldyh0KXtjb25zdCBlPXQ7RkModGhpcy5fdmlld3MsZSksZS5kZXRhY2hGcm9tQXBwUmVmKCl9X2xvYWRDb21wb25lbnQodCl7dGhpcy5hdHRhY2hWaWV3KHQuaG9zdFZpZXcpLHRoaXMudGljaygpLHRoaXMuY29tcG9uZW50cy5wdXNoKHQpO3RoaXMuX2luamVjdG9yLmdldChLXyxbXSkuY29uY2F0KHRoaXMuX2Jvb3RzdHJhcExpc3RlbmVycykuZm9yRWFjaCgoZT0+ZSh0KSkpfW5nT25EZXN0cm95KCl7dGhpcy5fdmlld3Muc2xpY2UoKS5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX29uTWljcm90YXNrRW1wdHlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX1nZXQgdmlld0NvdW50KCl7cmV0dXJuIHRoaXMuX3ZpZXdzLmxlbmd0aH19ZnVuY3Rpb24gRkModCxlKXtjb25zdCBuPXQuaW5kZXhPZihlKTtuPi0xJiZ0LnNwbGljZShuLDEpfWZ1bmN0aW9uIExDKHQpe2ZvcihsZXQgZT10Lmxlbmd0aC0xO2U+PTA7ZS0tKWlmKHZvaWQgMCE9PXRbZV0pcmV0dXJuIHRbZV19SEMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEhDKShUcihtQyksVHIoTnApLFRyKHVsKSxUcihHaCksVHIoVV8pKX0sSEMuybVwcm92PVNuKHt0b2tlbjpIQyxmYWN0b3J5OkhDLsm1ZmFjfSksSEMuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTptQ30se3R5cGU6TnB9LHt0eXBlOnVsfSx7dHlwZTpHaH0se3R5cGU6VV99XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEhDLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTptQ30se3R5cGU6TnB9LHt0eXBlOnVsfSx7dHlwZTpHaH0se3R5cGU6VV99XX0pLG51bGwpO2NsYXNzIEJDe31jb25zdCBWQz17ZmFjdG9yeVBhdGhQcmVmaXg6IiIsZmFjdG9yeVBhdGhTdWZmaXg6Ii5uZ2ZhY3RvcnkifTtjbGFzcyBqQ3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2NvbXBpbGVyPXQsdGhpcy5fY29uZmlnPWV8fFZDfWxvYWQodCl7cmV0dXJuIHRoaXMubG9hZEFuZENvbXBpbGUodCl9bG9hZEFuZENvbXBpbGUodCl7bGV0W2Usbl09dC5zcGxpdCgiIyIpO3JldHVybiB2b2lkIDA9PT1uJiYobj0iZGVmYXVsdCIpLFN5c3RlbS5pbXBvcnQoZSkudGhlbigodD0+dFtuXSkpLnRoZW4oKHQ9PlVDKHQsZSxuKSkpLnRoZW4oKHQ9PnRoaXMuX2NvbXBpbGVyLmNvbXBpbGVNb2R1bGVBc3luYyh0KSkpfWxvYWRGYWN0b3J5KHQpe2xldFtlLG5dPXQuc3BsaXQoIiMiKSxvPSJOZ0ZhY3RvcnkiO3JldHVybiB2b2lkIDA9PT1uJiYobj0iZGVmYXVsdCIsbz0iIiksU3lzdGVtLmltcG9ydCh0aGlzLl9jb25maWcuZmFjdG9yeVBhdGhQcmVmaXgrZSt0aGlzLl9jb25maWcuZmFjdG9yeVBhdGhTdWZmaXgpLnRoZW4oKHQ9PnRbbitvXSkpLnRoZW4oKHQ9PlVDKHQsZSxuKSkpfX1mdW5jdGlvbiBVQyh0LGUsbil7aWYoIXQpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCAnJHtufScgaW4gJyR7ZX0nYCk7cmV0dXJuIHR9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2pDLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxqQykoVHIobEMpLFRyKEJDLDgpKX0sakMuybVwcm92PVNuKHt0b2tlbjpqQyxmYWN0b3J5OmpDLsm1ZmFjfSksakMuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpsQ30se3R5cGU6QkMsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoakMsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmxDfSx7dHlwZTpCQyxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfV19KSxudWxsKTtjb25zdCBXQz1UQyhudWxsLCJjb3JlIixbe3Byb3ZpZGU6WF8sdXNlVmFsdWU6InVua25vd24ifSx7cHJvdmlkZTp6QyxkZXBzOltOcF19LHtwcm92aWRlOkNDLGRlcHM6W119LHtwcm92aWRlOkpfLGRlcHM6W119XSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBHQz1be3Byb3ZpZGU6SEMsdXNlQ2xhc3M6SEMsZGVwczpbbUMsTnAsdWwsR2gsVV9dfSx7cHJvdmlkZTpYYixkZXBzOlttQ10sdXNlRmFjdG9yeTpmdW5jdGlvbiBZQyh0KXtsZXQgZT1bXTtyZXR1cm4gdC5vblN0YWJsZS5zdWJzY3JpYmUoKCgpPT57Zm9yKDtlLmxlbmd0aDspZS5wb3AoKSgpfSkpLGZ1bmN0aW9uKHQpe2UucHVzaCh0KX19fSx7cHJvdmlkZTpVXyx1c2VDbGFzczpVXyxkZXBzOltbbmV3IEJyLGpfXV19LHtwcm92aWRlOmxDLHVzZUNsYXNzOmxDLGRlcHM6W119LEdfLHtwcm92aWRlOmhiLHVzZUZhY3Rvcnk6Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiBxQygpe3JldHVybiBrYn0sZGVwczpbXX0se3Byb3ZpZGU6eWIsdXNlRmFjdG9yeTpmdW5jdGlvbiBaQygpe3JldHVybiBTYn0sZGVwczpbXX0se3Byb3ZpZGU6UV8sdXNlRmFjdG9yeTpmdW5jdGlvbiBYQyh0KXtyZXR1cm4gUGcodD10fHwoZnVuY3Rpb24gZSgpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlJiYidW5kZWZpbmVkIiE9dHlwZW9mIGdvb2cmJiJlbiIhPT1nb29nLmdldExvY2FsZSgpP2dvb2cuZ2V0TG9jYWxlKCk6InVuZGVmaW5lZCIhPXR5cGVvZiAkbG9jYWxpemUmJiRsb2NhbGl6ZS5sb2NhbGV8fENnfSkoKSksdH0sZGVwczpbW25ldyBMcihRXyksbmV3IEJyLG5ldyBqcl1dfSx7cHJvdmlkZTokXyx1c2VWYWx1ZToiVVNEIn1dO2NsYXNzIEtDe2NvbnN0cnVjdG9yKHQpe319dmFyIEpDLFFDO0tDLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxLQykoVHIoSEMpKX0sS0MuybVtb2Q9Zm8oe3R5cGU6S0N9KSxLQy7JtWluaj1Ebih7cHJvdmlkZXJzOkdDfSksS0MuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpIQ31dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoS0MsW3t0eXBlOkxfLGFyZ3M6W3twcm92aWRlcnM6R0N9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpIQ31dfSksbnVsbCksKGZ1bmN0aW9uKHQpe3RbdC5DcmVhdGVWaWV3Tm9kZXM9MF09IkNyZWF0ZVZpZXdOb2RlcyIsdFt0LkNoZWNrTm9DaGFuZ2VzPTFdPSJDaGVja05vQ2hhbmdlcyIsdFt0LkNoZWNrTm9DaGFuZ2VzUHJvamVjdGVkVmlld3M9Ml09IkNoZWNrTm9DaGFuZ2VzUHJvamVjdGVkVmlld3MiLHRbdC5DaGVja0FuZFVwZGF0ZT0zXT0iQ2hlY2tBbmRVcGRhdGUiLHRbdC5DaGVja0FuZFVwZGF0ZVByb2plY3RlZFZpZXdzPTRdPSJDaGVja0FuZFVwZGF0ZVByb2plY3RlZFZpZXdzIix0W3QuRGVzdHJveT01XT0iRGVzdHJveSJ9KShKQ3x8KEpDPXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5jcmVhdGU9MF09ImNyZWF0ZSIsdFt0LmRldGVjdENoYW5nZXM9MV09ImRldGVjdENoYW5nZXMiLHRbdC5jaGVja05vQ2hhbmdlcz0yXT0iY2hlY2tOb0NoYW5nZXMiLHRbdC5kZXN0cm95PTNdPSJkZXN0cm95Iix0W3QuaGFuZGxlRXZlbnQ9NF09ImhhbmRsZUV2ZW50In0pKFFDfHwoUUM9e30pKSwKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0Rldk1vZGUmJm5nRGV2TW9kZSYmKFhuLiRsb2NhbGl6ZT1Ybi4kbG9jYWxpemV8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJJdCBsb29rcyBsaWtlIHlvdXIgYXBwbGljYXRpb24gb3Igb25lIG9mIGl0cyBkZXBlbmRlbmNpZXMgaXMgdXNpbmcgaTE4bi5cbkFuZ3VsYXIgOSBpbnRyb2R1Y2VkIGEgZ2xvYmFsIGAkbG9jYWxpemUoKWAgZnVuY3Rpb24gdGhhdCBuZWVkcyB0byBiZSBsb2FkZWQuXG5QbGVhc2UgcnVuIGBuZyBhZGQgQGFuZ3VsYXIvbG9jYWxpemVgIGZyb20gdGhlIEFuZ3VsYXIgQ0xJLlxuKEZvciBub24tQ0xJIHByb2plY3RzLCBhZGQgYGltcG9ydCAnQGFuZ3VsYXIvbG9jYWxpemUvaW5pdCc7YCB0byB5b3VyIGBwb2x5ZmlsbHMudHNgIGZpbGUuXG5Gb3Igc2VydmVyLXNpZGUgcmVuZGVyaW5nIGFwcGxpY2F0aW9ucyBhZGQgdGhlIGltcG9ydCB0byB5b3VyIGBtYWluLnNlcnZlci50c2AgZmlsZS4pIil9KQovKioKICAgICAqIEBsaWNlbnNlIEFuZ3VsYXIgdjEyLjIuMQogICAgICogKGMpIDIwMTAtMjAyMSBHb29nbGUgTExDLiBodHRwczovL2FuZ3VsYXIuaW8vCiAgICAgKiBMaWNlbnNlOiBNSVQKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi87Y29uc3QgJEM9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLHRNPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3csZU09InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiYidW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGUmJnNlbGYsbk09InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWwmJmdsb2JhbCxvTT1mdW5jdGlvbih0LC4uLmUpe2lmKG9NLnRyYW5zbGF0ZSl7Y29uc3Qgbj1vTS50cmFuc2xhdGUodCxlKTt0PW5bMF0sZT1uWzFdfWxldCBuPWlNKHRbMF0sdC5yYXdbMF0pO2ZvcihsZXQgbz0xO288dC5sZW5ndGg7bysrKW4rPWVbby0xXStpTSh0W29dLHQucmF3W29dKTtyZXR1cm4gbn07ZnVuY3Rpb24gaU0odCxlKXtyZXR1cm4iOiI9PT1lLmNoYXJBdCgwKT90LnN1YnN0cmluZygoZnVuY3Rpb24gbih0LGUpe2ZvcihsZXQgbj0xLG89MTtuPHQubGVuZ3RoO24rKyxvKyspaWYoIlxcIj09PWVbb10pbysrO2Vsc2UgaWYoIjoiPT09dFtuXSlyZXR1cm4gbjt0aHJvdyBuZXcgRXJyb3IoYFVudGVybWluYXRlZCAkbG9jYWxpemUgbWV0YWRhdGEgYmxvY2sgaW4gIiR7ZX0iLmApfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0LGUpKzEpOnR9KCRDfHxuTXx8dE18fGVNKS4kbG9jYWxpemU9b007Ci8qKgogICAgICogQGxpY2Vuc2UgQW5ndWxhciB2MTIuMi4xCiAgICAgKiAoYykgMjAxMC0yMDIxIEdvb2dsZSBMTEMuIGh0dHBzOi8vYW5ndWxhci5pby8KICAgICAqIExpY2Vuc2U6IE1JVAogICAgICovCmxldCBhTT1udWxsO2Z1bmN0aW9uIHJNKCl7cmV0dXJuIGFNfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3Qgc009bmV3IGVyKCJEb2N1bWVudFRva2VuIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIGxNe2hpc3RvcnlHbyh0KXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfX1mdW5jdGlvbiBjTSgpe3JldHVybiBUcihkTSl9bE0uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGxNKX0sbE0uybVwcm92PVNuKHtmYWN0b3J5OmNNLHRva2VuOmxNLHByb3ZpZGVkSW46InBsYXRmb3JtIn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobE0sW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJwbGF0Zm9ybSIsdXNlRmFjdG9yeTpjTX1dfV0sbnVsbCxudWxsKSxuZXcgZXIoIkxvY2F0aW9uIEluaXRpYWxpemVkIik7Y2xhc3MgZE0gZXh0ZW5kcyBsTXtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuX2RvYz10LHRoaXMuX2luaXQoKX1faW5pdCgpe3RoaXMubG9jYXRpb249d2luZG93LmxvY2F0aW9uLHRoaXMuX2hpc3Rvcnk9d2luZG93Lmhpc3Rvcnl9Z2V0QmFzZUhyZWZGcm9tRE9NKCl7cmV0dXJuIHJNKCkuZ2V0QmFzZUhyZWYodGhpcy5fZG9jKX1vblBvcFN0YXRlKHQpe2NvbnN0IGU9ck0oKS5nZXRHbG9iYWxFdmVudFRhcmdldCh0aGlzLl9kb2MsIndpbmRvdyIpO3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIix0LCExKSwoKT0+ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsdCl9b25IYXNoQ2hhbmdlKHQpe2NvbnN0IGU9ck0oKS5nZXRHbG9iYWxFdmVudFRhcmdldCh0aGlzLl9kb2MsIndpbmRvdyIpO3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLHQsITEpLCgpPT5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLHQpfWdldCBocmVmKCl7cmV0dXJuIHRoaXMubG9jYXRpb24uaHJlZn1nZXQgcHJvdG9jb2woKXtyZXR1cm4gdGhpcy5sb2NhdGlvbi5wcm90b2NvbH1nZXQgaG9zdG5hbWUoKXtyZXR1cm4gdGhpcy5sb2NhdGlvbi5ob3N0bmFtZX1nZXQgcG9ydCgpe3JldHVybiB0aGlzLmxvY2F0aW9uLnBvcnR9Z2V0IHBhdGhuYW1lKCl7cmV0dXJuIHRoaXMubG9jYXRpb24ucGF0aG5hbWV9Z2V0IHNlYXJjaCgpe3JldHVybiB0aGlzLmxvY2F0aW9uLnNlYXJjaH1nZXQgaGFzaCgpe3JldHVybiB0aGlzLmxvY2F0aW9uLmhhc2h9c2V0IHBhdGhuYW1lKHQpe3RoaXMubG9jYXRpb24ucGF0aG5hbWU9dH1wdXNoU3RhdGUodCxlLG4pe3BNKCk/dGhpcy5faGlzdG9yeS5wdXNoU3RhdGUodCxlLG4pOnRoaXMubG9jYXRpb24uaGFzaD1ufXJlcGxhY2VTdGF0ZSh0LGUsbil7cE0oKT90aGlzLl9oaXN0b3J5LnJlcGxhY2VTdGF0ZSh0LGUsbik6dGhpcy5sb2NhdGlvbi5oYXNoPW59Zm9yd2FyZCgpe3RoaXMuX2hpc3RvcnkuZm9yd2FyZCgpfWJhY2soKXt0aGlzLl9oaXN0b3J5LmJhY2soKX1oaXN0b3J5R28odD0wKXt0aGlzLl9oaXN0b3J5LmdvKHQpfWdldFN0YXRlKCl7cmV0dXJuIHRoaXMuX2hpc3Rvcnkuc3RhdGV9fWZ1bmN0aW9uIHBNKCl7cmV0dXJuISF3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGV9ZnVuY3Rpb24gbU0oKXtyZXR1cm4gbmV3IGRNKFRyKHNNKSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBmTSh0LGUpe2lmKDA9PXQubGVuZ3RoKXJldHVybiBlO2lmKDA9PWUubGVuZ3RoKXJldHVybiB0O2xldCBuPTA7cmV0dXJuIHQuZW5kc1dpdGgoIi8iKSYmbisrLGUuc3RhcnRzV2l0aCgiLyIpJiZuKyssMj09bj90K2Uuc3Vic3RyaW5nKDEpOjE9PW4/dCtlOnQrIi8iK2V9ZnVuY3Rpb24gdU0odCl7Y29uc3QgZT10Lm1hdGNoKC8jfFw/fCQvKSxuPWUmJmUuaW5kZXh8fHQubGVuZ3RoO3JldHVybiB0LnNsaWNlKDAsbi0oIi8iPT09dFtuLTFdPzE6MCkpK3Quc2xpY2Uobil9ZnVuY3Rpb24gZ00odCl7cmV0dXJuIHQmJiI/IiE9PXRbMF0/Ij8iK3Q6dH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZE0uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGRNKShUcihzTSkpfSxkTS7JtXByb3Y9U24oe2ZhY3Rvcnk6bU0sdG9rZW46ZE0scHJvdmlkZWRJbjoicGxhdGZvcm0ifSksZE0uY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRNLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicGxhdGZvcm0iLHVzZUZhY3Rvcnk6bU19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpO2NsYXNzIGhNe2hpc3RvcnlHbyh0KXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfX1mdW5jdGlvbiBiTSh0KXtjb25zdCBlPVRyKHNNKS5sb2NhdGlvbjtyZXR1cm4gbmV3IF9NKFRyKGxNKSxlJiZlLm9yaWdpbnx8IiIpfWhNLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxoTSl9LGhNLsm1cHJvdj1Tbih7ZmFjdG9yeTpiTSx0b2tlbjpoTSxwcm92aWRlZEluOiJyb290In0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaE0sW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290Iix1c2VGYWN0b3J5OmJNfV19XSxudWxsLG51bGwpO2NvbnN0IHlNPW5ldyBlcigiYXBwQmFzZUhyZWYiKTtjbGFzcyBfTSBleHRlbmRzIGhNe2NvbnN0cnVjdG9yKHQsZSl7aWYoc3VwZXIoKSx0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uPXQsdGhpcy5fcmVtb3ZlTGlzdGVuZXJGbnM9W10sbnVsbD09ZSYmKGU9dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5nZXRCYXNlSHJlZkZyb21ET00oKSksbnVsbD09ZSl0aHJvdyBuZXcgRXJyb3IoIk5vIGJhc2UgaHJlZiBzZXQuIFBsZWFzZSBwcm92aWRlIGEgdmFsdWUgZm9yIHRoZSBBUFBfQkFTRV9IUkVGIHRva2VuIG9yIGFkZCBhIGJhc2UgZWxlbWVudCB0byB0aGUgZG9jdW1lbnQuIik7dGhpcy5fYmFzZUhyZWY9ZX1uZ09uRGVzdHJveSgpe2Zvcig7dGhpcy5fcmVtb3ZlTGlzdGVuZXJGbnMubGVuZ3RoOyl0aGlzLl9yZW1vdmVMaXN0ZW5lckZucy5wb3AoKSgpfW9uUG9wU3RhdGUodCl7dGhpcy5fcmVtb3ZlTGlzdGVuZXJGbnMucHVzaCh0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLm9uUG9wU3RhdGUodCksdGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5vbkhhc2hDaGFuZ2UodCkpfWdldEJhc2VIcmVmKCl7cmV0dXJuIHRoaXMuX2Jhc2VIcmVmfXByZXBhcmVFeHRlcm5hbFVybCh0KXtyZXR1cm4gZk0odGhpcy5fYmFzZUhyZWYsdCl9cGF0aCh0PSExKXtjb25zdCBlPXRoaXMuX3BsYXRmb3JtTG9jYXRpb24ucGF0aG5hbWUrZ00odGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5zZWFyY2gpLG49dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5oYXNoO3JldHVybiBuJiZ0P2Ake2V9JHtufWA6ZX1wdXNoU3RhdGUodCxlLG4sbyl7Y29uc3QgaT10aGlzLnByZXBhcmVFeHRlcm5hbFVybChuK2dNKG8pKTt0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLnB1c2hTdGF0ZSh0LGUsaSl9cmVwbGFjZVN0YXRlKHQsZSxuLG8pe2NvbnN0IGk9dGhpcy5wcmVwYXJlRXh0ZXJuYWxVcmwobitnTShvKSk7dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5yZXBsYWNlU3RhdGUodCxlLGkpfWZvcndhcmQoKXt0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLmZvcndhcmQoKX1iYWNrKCl7dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5iYWNrKCl9aGlzdG9yeUdvKHQ9MCl7dmFyIGUsbjtudWxsPT09KG49KGU9dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbikuaGlzdG9yeUdvKXx8dm9pZCAwPT09bnx8bi5jYWxsKGUsdCl9fV9NLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxfTSkoVHIobE0pLFRyKHlNLDgpKX0sX00uybVwcm92PVNuKHt0b2tlbjpfTSxmYWN0b3J5Ol9NLsm1ZmFjfSksX00uY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpsTX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOlt5TV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoX00sW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmxNfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3lNXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIENNIGV4dGVuZHMgaE17Y29uc3RydWN0b3IodCxlKXtzdXBlcigpLHRoaXMuX3BsYXRmb3JtTG9jYXRpb249dCx0aGlzLl9iYXNlSHJlZj0iIix0aGlzLl9yZW1vdmVMaXN0ZW5lckZucz1bXSxudWxsIT1lJiYodGhpcy5fYmFzZUhyZWY9ZSl9bmdPbkRlc3Ryb3koKXtmb3IoO3RoaXMuX3JlbW92ZUxpc3RlbmVyRm5zLmxlbmd0aDspdGhpcy5fcmVtb3ZlTGlzdGVuZXJGbnMucG9wKCkoKX1vblBvcFN0YXRlKHQpe3RoaXMuX3JlbW92ZUxpc3RlbmVyRm5zLnB1c2godGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5vblBvcFN0YXRlKHQpLHRoaXMuX3BsYXRmb3JtTG9jYXRpb24ub25IYXNoQ2hhbmdlKHQpKX1nZXRCYXNlSHJlZigpe3JldHVybiB0aGlzLl9iYXNlSHJlZn1wYXRoKHQ9ITEpe2xldCBlPXRoaXMuX3BsYXRmb3JtTG9jYXRpb24uaGFzaDtyZXR1cm4gbnVsbD09ZSYmKGU9IiMiKSxlLmxlbmd0aD4wP2Uuc3Vic3RyaW5nKDEpOmV9cHJlcGFyZUV4dGVybmFsVXJsKHQpe2NvbnN0IGU9Zk0odGhpcy5fYmFzZUhyZWYsdCk7cmV0dXJuIGUubGVuZ3RoPjA/IiMiK2U6ZX1wdXNoU3RhdGUodCxlLG4sbyl7bGV0IGk9dGhpcy5wcmVwYXJlRXh0ZXJuYWxVcmwobitnTShvKSk7MD09aS5sZW5ndGgmJihpPXRoaXMuX3BsYXRmb3JtTG9jYXRpb24ucGF0aG5hbWUpLHRoaXMuX3BsYXRmb3JtTG9jYXRpb24ucHVzaFN0YXRlKHQsZSxpKX1yZXBsYWNlU3RhdGUodCxlLG4sbyl7bGV0IGk9dGhpcy5wcmVwYXJlRXh0ZXJuYWxVcmwobitnTShvKSk7MD09aS5sZW5ndGgmJihpPXRoaXMuX3BsYXRmb3JtTG9jYXRpb24ucGF0aG5hbWUpLHRoaXMuX3BsYXRmb3JtTG9jYXRpb24ucmVwbGFjZVN0YXRlKHQsZSxpKX1mb3J3YXJkKCl7dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5mb3J3YXJkKCl9YmFjaygpe3RoaXMuX3BsYXRmb3JtTG9jYXRpb24uYmFjaygpfWhpc3RvcnlHbyh0PTApe3ZhciBlLG47bnVsbD09PShuPShlPXRoaXMuX3BsYXRmb3JtTG9jYXRpb24pLmhpc3RvcnlHbyl8fHZvaWQgMD09PW58fG4uY2FsbChlLHQpfX1DTS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Q00pKFRyKGxNKSxUcih5TSw4KSl9LENNLsm1cHJvdj1Tbih7dG9rZW46Q00sZmFjdG9yeTpDTS7JtWZhY30pLENNLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6bE19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbeU1dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKENNLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpsTX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOlt5TV19XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBNTXtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX3N1YmplY3Q9bmV3IFN5LHRoaXMuX3VybENoYW5nZUxpc3RlbmVycz1bXSx0aGlzLl9wbGF0Zm9ybVN0cmF0ZWd5PXQ7Y29uc3Qgbj10aGlzLl9wbGF0Zm9ybVN0cmF0ZWd5LmdldEJhc2VIcmVmKCk7dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbj1lLHRoaXMuX2Jhc2VIcmVmPXVNKHhNKG4pKSx0aGlzLl9wbGF0Zm9ybVN0cmF0ZWd5Lm9uUG9wU3RhdGUoKHQ9Pnt0aGlzLl9zdWJqZWN0LmVtaXQoe3VybDp0aGlzLnBhdGgoITApLHBvcDohMCxzdGF0ZTp0LnN0YXRlLHR5cGU6dC50eXBlfSl9KSl9cGF0aCh0PSExKXtyZXR1cm4gdGhpcy5ub3JtYWxpemUodGhpcy5fcGxhdGZvcm1TdHJhdGVneS5wYXRoKHQpKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLmdldFN0YXRlKCl9aXNDdXJyZW50UGF0aEVxdWFsVG8odCxlPSIiKXtyZXR1cm4gdGhpcy5wYXRoKCk9PXRoaXMubm9ybWFsaXplKHQrZ00oZSkpfW5vcm1hbGl6ZSh0KXtyZXR1cm4gTU0uc3RyaXBUcmFpbGluZ1NsYXNoKChmdW5jdGlvbiBlKHQsbil7cmV0dXJuIHQmJm4uc3RhcnRzV2l0aCh0KT9uLnN1YnN0cmluZyh0Lmxlbmd0aCk6bn0pKHRoaXMuX2Jhc2VIcmVmLHhNKHQpKSl9cHJlcGFyZUV4dGVybmFsVXJsKHQpe3JldHVybiB0JiYiLyIhPT10WzBdJiYodD0iLyIrdCksdGhpcy5fcGxhdGZvcm1TdHJhdGVneS5wcmVwYXJlRXh0ZXJuYWxVcmwodCl9Z28odCxlPSIiLG49bnVsbCl7dGhpcy5fcGxhdGZvcm1TdHJhdGVneS5wdXNoU3RhdGUobiwiIix0LGUpLHRoaXMuX25vdGlmeVVybENoYW5nZUxpc3RlbmVycyh0aGlzLnByZXBhcmVFeHRlcm5hbFVybCh0K2dNKGUpKSxuKX1yZXBsYWNlU3RhdGUodCxlPSIiLG49bnVsbCl7dGhpcy5fcGxhdGZvcm1TdHJhdGVneS5yZXBsYWNlU3RhdGUobiwiIix0LGUpLHRoaXMuX25vdGlmeVVybENoYW5nZUxpc3RlbmVycyh0aGlzLnByZXBhcmVFeHRlcm5hbFVybCh0K2dNKGUpKSxuKX1mb3J3YXJkKCl7dGhpcy5fcGxhdGZvcm1TdHJhdGVneS5mb3J3YXJkKCl9YmFjaygpe3RoaXMuX3BsYXRmb3JtU3RyYXRlZ3kuYmFjaygpfWhpc3RvcnlHbyh0PTApe3ZhciBlLG47bnVsbD09PShuPShlPXRoaXMuX3BsYXRmb3JtU3RyYXRlZ3kpLmhpc3RvcnlHbyl8fHZvaWQgMD09PW58fG4uY2FsbChlLHQpfW9uVXJsQ2hhbmdlKHQpe3RoaXMuX3VybENoYW5nZUxpc3RlbmVycy5wdXNoKHQpLHRoaXMuX3VybENoYW5nZVN1YnNjcmlwdGlvbnx8KHRoaXMuX3VybENoYW5nZVN1YnNjcmlwdGlvbj10aGlzLnN1YnNjcmliZSgodD0+e3RoaXMuX25vdGlmeVVybENoYW5nZUxpc3RlbmVycyh0LnVybCx0LnN0YXRlKX0pKSl9X25vdGlmeVVybENoYW5nZUxpc3RlbmVycyh0PSIiLGUpe3RoaXMuX3VybENoYW5nZUxpc3RlbmVycy5mb3JFYWNoKChuPT5uKHQsZSkpKX1zdWJzY3JpYmUodCxlLG4pe3JldHVybiB0aGlzLl9zdWJqZWN0LnN1YnNjcmliZSh7bmV4dDp0LGVycm9yOmUsY29tcGxldGU6bn0pfX1mdW5jdGlvbiB2TSgpe3JldHVybiBuZXcgTU0oVHIoaE0pLFRyKGxNKSl9ZnVuY3Rpb24geE0odCl7cmV0dXJuIHQucmVwbGFjZSgvXC9pbmRleC5odG1sJC8sIiIpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovTU0uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE1NKShUcihoTSksVHIobE0pKX0sTU0ubm9ybWFsaXplUXVlcnlQYXJhbXM9Z00sTU0uam9pbldpdGhTbGFzaD1mTSxNTS5zdHJpcFRyYWlsaW5nU2xhc2g9dU0sTU0uybVwcm92PVNuKHtmYWN0b3J5OnZNLHRva2VuOk1NLHByb3ZpZGVkSW46InJvb3QifSksTU0uY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpoTX0se3R5cGU6bE19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE1NLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCIsdXNlRmFjdG9yeTp2TX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmhNfSx7dHlwZTpsTX1dfSksbnVsbCk7Y29uc3QgT009e0FEUDpbdm9pZCAwLHZvaWQgMCwwXSxBRk46W3ZvaWQgMCx2b2lkIDAsMF0sQUxMOlt2b2lkIDAsdm9pZCAwLDBdLEFNRDpbdm9pZCAwLHZvaWQgMCwyXSxBT0E6W3ZvaWQgMCwiS3oiXSxBUlM6W3ZvaWQgMCwiJCJdLEFVRDpbIkEkIiwiJCJdLEJBTTpbdm9pZCAwLCJLTSJdLEJCRDpbdm9pZCAwLCIkIl0sQkRUOlt2b2lkIDAsIuCnsyJdLEJIRDpbdm9pZCAwLHZvaWQgMCwzXSxCSUY6W3ZvaWQgMCx2b2lkIDAsMF0sQk1EOlt2b2lkIDAsIiQiXSxCTkQ6W3ZvaWQgMCwiJCJdLEJPQjpbdm9pZCAwLCJCcyJdLEJSTDpbIlIkIl0sQlNEOlt2b2lkIDAsIiQiXSxCV1A6W3ZvaWQgMCwiUCJdLEJZTjpbdm9pZCAwLCLRgC4iLDJdLEJZUjpbdm9pZCAwLHZvaWQgMCwwXSxCWkQ6W3ZvaWQgMCwiJCJdLENBRDpbIkNBJCIsIiQiLDJdLENIRjpbdm9pZCAwLHZvaWQgMCwyXSxDTEY6W3ZvaWQgMCx2b2lkIDAsNF0sQ0xQOlt2b2lkIDAsIiQiLDBdLENOWTpbIkNOwqUiLCLCpSJdLENPUDpbdm9pZCAwLCIkIiwyXSxDUkM6W3ZvaWQgMCwi4oKhIiwyXSxDVUM6W3ZvaWQgMCwiJCJdLENVUDpbdm9pZCAwLCIkIl0sQ1pLOlt2b2lkIDAsIkvEjSIsMl0sREpGOlt2b2lkIDAsdm9pZCAwLDBdLERLSzpbdm9pZCAwLCJrciIsMl0sRE9QOlt2b2lkIDAsIiQiXSxFR1A6W3ZvaWQgMCwiRcKjIl0sRVNQOlt2b2lkIDAsIuKCpyIsMF0sRVVSOlsi4oKsIl0sRkpEOlt2b2lkIDAsIiQiXSxGS1A6W3ZvaWQgMCwiwqMiXSxHQlA6WyLCoyJdLEdFTDpbdm9pZCAwLCLigr4iXSxHSVA6W3ZvaWQgMCwiwqMiXSxHTkY6W3ZvaWQgMCwiRkciLDBdLEdUUTpbdm9pZCAwLCJRIl0sR1lEOlt2b2lkIDAsIiQiLDJdLEhLRDpbIkhLJCIsIiQiXSxITkw6W3ZvaWQgMCwiTCJdLEhSSzpbdm9pZCAwLCJrbiJdLEhVRjpbdm9pZCAwLCJGdCIsMl0sSURSOlt2b2lkIDAsIlJwIiwyXSxJTFM6WyLigqoiXSxJTlI6WyLigrkiXSxJUUQ6W3ZvaWQgMCx2b2lkIDAsMF0sSVJSOlt2b2lkIDAsdm9pZCAwLDBdLElTSzpbdm9pZCAwLCJrciIsMF0sSVRMOlt2b2lkIDAsdm9pZCAwLDBdLEpNRDpbdm9pZCAwLCIkIl0sSk9EOlt2b2lkIDAsdm9pZCAwLDNdLEpQWTpbIsKlIix2b2lkIDAsMF0sS0hSOlt2b2lkIDAsIuGfmyJdLEtNRjpbdm9pZCAwLCJDRiIsMF0sS1BXOlt2b2lkIDAsIuKCqSIsMF0sS1JXOlsi4oKpIix2b2lkIDAsMF0sS1dEOlt2b2lkIDAsdm9pZCAwLDNdLEtZRDpbdm9pZCAwLCIkIl0sS1pUOlt2b2lkIDAsIuKCuCJdLExBSzpbdm9pZCAwLCLigq0iLDBdLExCUDpbdm9pZCAwLCJMwqMiLDBdLExLUjpbdm9pZCAwLCJScyJdLExSRDpbdm9pZCAwLCIkIl0sTFRMOlt2b2lkIDAsIkx0Il0sTFVGOlt2b2lkIDAsdm9pZCAwLDBdLExWTDpbdm9pZCAwLCJMcyJdLExZRDpbdm9pZCAwLHZvaWQgMCwzXSxNR0E6W3ZvaWQgMCwiQXIiLDBdLE1HRjpbdm9pZCAwLHZvaWQgMCwwXSxNTUs6W3ZvaWQgMCwiSyIsMF0sTU5UOlt2b2lkIDAsIuKCriIsMl0sTVJPOlt2b2lkIDAsdm9pZCAwLDBdLE1VUjpbdm9pZCAwLCJScyIsMl0sTVhOOlsiTVgkIiwiJCJdLE1ZUjpbdm9pZCAwLCJSTSJdLE5BRDpbdm9pZCAwLCIkIl0sTkdOOlt2b2lkIDAsIuKCpiJdLE5JTzpbdm9pZCAwLCJDJCJdLE5PSzpbdm9pZCAwLCJrciIsMl0sTlBSOlt2b2lkIDAsIlJzIl0sTlpEOlsiTlokIiwiJCJdLE9NUjpbdm9pZCAwLHZvaWQgMCwzXSxQSFA6W3ZvaWQgMCwi4oKxIl0sUEtSOlt2b2lkIDAsIlJzIiwyXSxQTE46W3ZvaWQgMCwiesWCIl0sUFlHOlt2b2lkIDAsIuKCsiIsMF0sUk9OOlt2b2lkIDAsImxlaSJdLFJTRDpbdm9pZCAwLHZvaWQgMCwwXSxSVUI6W3ZvaWQgMCwi4oK9Il0sUlVSOlt2b2lkIDAsItGALiJdLFJXRjpbdm9pZCAwLCJSRiIsMF0sU0JEOlt2b2lkIDAsIiQiXSxTRUs6W3ZvaWQgMCwia3IiLDJdLFNHRDpbdm9pZCAwLCIkIl0sU0hQOlt2b2lkIDAsIsKjIl0sU0xMOlt2b2lkIDAsdm9pZCAwLDBdLFNPUzpbdm9pZCAwLHZvaWQgMCwwXSxTUkQ6W3ZvaWQgMCwiJCJdLFNTUDpbdm9pZCAwLCLCoyJdLFNURDpbdm9pZCAwLHZvaWQgMCwwXSxTVE46W3ZvaWQgMCwiRGIiXSxTWVA6W3ZvaWQgMCwiwqMiLDBdLFRIQjpbdm9pZCAwLCLguL8iXSxUTU06W3ZvaWQgMCx2b2lkIDAsMF0sVE5EOlt2b2lkIDAsdm9pZCAwLDNdLFRPUDpbdm9pZCAwLCJUJCJdLFRSTDpbdm9pZCAwLHZvaWQgMCwwXSxUUlk6W3ZvaWQgMCwi4oK6Il0sVFREOlt2b2lkIDAsIiQiXSxUV0Q6WyJOVCQiLCIkIiwyXSxUWlM6W3ZvaWQgMCx2b2lkIDAsMl0sVUFIOlt2b2lkIDAsIuKCtCJdLFVHWDpbdm9pZCAwLHZvaWQgMCwwXSxVU0Q6WyIkIl0sVVlJOlt2b2lkIDAsdm9pZCAwLDBdLFVZVTpbdm9pZCAwLCIkIl0sVVlXOlt2b2lkIDAsdm9pZCAwLDRdLFVaUzpbdm9pZCAwLHZvaWQgMCwyXSxWRUY6W3ZvaWQgMCwiQnMiLDJdLFZORDpbIuKCqyIsdm9pZCAwLDBdLFZVVjpbdm9pZCAwLHZvaWQgMCwwXSxYQUY6WyJGQ0ZBIix2b2lkIDAsMF0sWENEOlsiRUMkIiwiJCJdLFhPRjpbIkNGQSIsdm9pZCAwLDBdLFhQRjpbIkNGUEYiLHZvaWQgMCwwXSxYWFg6WyLCpCJdLFlFUjpbdm9pZCAwLHZvaWQgMCwwXSxaQVI6W3ZvaWQgMCwiUiJdLFpNSzpbdm9pZCAwLHZvaWQgMCwwXSxaTVc6W3ZvaWQgMCwiWksiXSxaV0Q6W3ZvaWQgMCx2b2lkIDAsMF19OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi92YXIgUE0sd00sa00sU00sRE0sUk0sRU07ZnVuY3Rpb24gQU0odCxlKXtyZXR1cm4gTE0oZ2codClbeWcuRGF0ZUZvcm1hdF0sZSl9ZnVuY3Rpb24gVE0odCxlKXtyZXR1cm4gTE0oZ2codClbeWcuVGltZUZvcm1hdF0sZSl9ZnVuY3Rpb24gTk0odCxlKXtyZXR1cm4gTE0oZ2codClbeWcuRGF0ZVRpbWVGb3JtYXRdLGUpfWZ1bmN0aW9uIHpNKHQsZSl7Y29uc3Qgbj1nZyh0KSxvPW5beWcuTnVtYmVyU3ltYm9sc11bZV07aWYodm9pZCAwPT09byl7aWYoZT09PVJNLkN1cnJlbmN5RGVjaW1hbClyZXR1cm4gblt5Zy5OdW1iZXJTeW1ib2xzXVtSTS5EZWNpbWFsXTtpZihlPT09Uk0uQ3VycmVuY3lHcm91cClyZXR1cm4gblt5Zy5OdW1iZXJTeW1ib2xzXVtSTS5Hcm91cF19cmV0dXJuIG99ZnVuY3Rpb24gSU0odCxlKXtyZXR1cm4gZ2codClbeWcuTnVtYmVyRm9ybWF0c11bZV19IShmdW5jdGlvbih0KXt0W3QuRGVjaW1hbD0wXT0iRGVjaW1hbCIsdFt0LlBlcmNlbnQ9MV09IlBlcmNlbnQiLHRbdC5DdXJyZW5jeT0yXT0iQ3VycmVuY3kiLHRbdC5TY2llbnRpZmljPTNdPSJTY2llbnRpZmljIn0pKFBNfHwoUE09e30pKSwoZnVuY3Rpb24odCl7dFt0Llplcm89MF09Ilplcm8iLHRbdC5PbmU9MV09Ik9uZSIsdFt0LlR3bz0yXT0iVHdvIix0W3QuRmV3PTNdPSJGZXciLHRbdC5NYW55PTRdPSJNYW55Iix0W3QuT3RoZXI9NV09Ik90aGVyIn0pKHdNfHwod009e30pKSwoZnVuY3Rpb24odCl7dFt0LkZvcm1hdD0wXT0iRm9ybWF0Iix0W3QuU3RhbmRhbG9uZT0xXT0iU3RhbmRhbG9uZSJ9KShrTXx8KGtNPXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5OYXJyb3c9MF09Ik5hcnJvdyIsdFt0LkFiYnJldmlhdGVkPTFdPSJBYmJyZXZpYXRlZCIsdFt0LldpZGU9Ml09IldpZGUiLHRbdC5TaG9ydD0zXT0iU2hvcnQifSkoU018fChTTT17fSkpLChmdW5jdGlvbih0KXt0W3QuU2hvcnQ9MF09IlNob3J0Iix0W3QuTWVkaXVtPTFdPSJNZWRpdW0iLHRbdC5Mb25nPTJdPSJMb25nIix0W3QuRnVsbD0zXT0iRnVsbCJ9KShETXx8KERNPXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5EZWNpbWFsPTBdPSJEZWNpbWFsIix0W3QuR3JvdXA9MV09Ikdyb3VwIix0W3QuTGlzdD0yXT0iTGlzdCIsdFt0LlBlcmNlbnRTaWduPTNdPSJQZXJjZW50U2lnbiIsdFt0LlBsdXNTaWduPTRdPSJQbHVzU2lnbiIsdFt0Lk1pbnVzU2lnbj01XT0iTWludXNTaWduIix0W3QuRXhwb25lbnRpYWw9Nl09IkV4cG9uZW50aWFsIix0W3QuU3VwZXJzY3JpcHRpbmdFeHBvbmVudD03XT0iU3VwZXJzY3JpcHRpbmdFeHBvbmVudCIsdFt0LlBlck1pbGxlPThdPSJQZXJNaWxsZSIsdFt0WzEvMF09OV09IkluZmluaXR5Iix0W3QuTmFOPTEwXT0iTmFOIix0W3QuVGltZVNlcGFyYXRvcj0xMV09IlRpbWVTZXBhcmF0b3IiLHRbdC5DdXJyZW5jeURlY2ltYWw9MTJdPSJDdXJyZW5jeURlY2ltYWwiLHRbdC5DdXJyZW5jeUdyb3VwPTEzXT0iQ3VycmVuY3lHcm91cCJ9KShSTXx8KFJNPXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5TdW5kYXk9MF09IlN1bmRheSIsdFt0Lk1vbmRheT0xXT0iTW9uZGF5Iix0W3QuVHVlc2RheT0yXT0iVHVlc2RheSIsdFt0LldlZG5lc2RheT0zXT0iV2VkbmVzZGF5Iix0W3QuVGh1cnNkYXk9NF09IlRodXJzZGF5Iix0W3QuRnJpZGF5PTVdPSJGcmlkYXkiLHRbdC5TYXR1cmRheT02XT0iU2F0dXJkYXkifSkoRU18fChFTT17fSkpO2NvbnN0IEhNPWhnO2Z1bmN0aW9uIEZNKHQpe2lmKCF0W3lnLkV4dHJhRGF0YV0pdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIGV4dHJhIGxvY2FsZSBkYXRhIGZvciB0aGUgbG9jYWxlICIke3RbeWcuTG9jYWxlSWRdfSIuIFVzZSAicmVnaXN0ZXJMb2NhbGVEYXRhIiB0byBsb2FkIG5ldyBkYXRhLiBTZWUgdGhlICJJMThuIGd1aWRlIiBvbiBhbmd1bGFyLmlvIHRvIGtub3cgbW9yZS5gKX1mdW5jdGlvbiBMTSh0LGUpe2ZvcihsZXQgbj1lO24+LTE7bi0tKWlmKHZvaWQgMCE9PXRbbl0pcmV0dXJuIHRbbl07dGhyb3cgbmV3IEVycm9yKCJMb2NhbGUgZGF0YSBBUEk6IGxvY2FsZSBkYXRhIHVuZGVmaW5lZCIpfWZ1bmN0aW9uIEJNKHQpe2NvbnN0W2Usbl09dC5zcGxpdCgiOiIpO3JldHVybntob3VyczorZSxtaW51dGVzOitufX1mdW5jdGlvbiBWTSh0LGUsbj0iZW4iKXtjb25zdCBvPShmdW5jdGlvbiBpKHQpe3JldHVybiBnZyh0KVt5Zy5DdXJyZW5jaWVzXX0pKG4pW3RdfHxPTVt0XXx8W10sYT1vWzFdO3JldHVybiJuYXJyb3ciPT09ZSYmInN0cmluZyI9PXR5cGVvZiBhP2E6b1swXXx8dH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IGpNPS9eKFxkezR9KS0/KFxkXGQpLT8oXGRcZCkoPzpUKFxkXGQpKD86Oj8oXGRcZCkoPzo6PyhcZFxkKSg/OlwuKFxkKykpPyk/KT8oWnwoWystXSkoXGRcZCk6PyhcZFxkKSk/KT8kLyxVTT17fSxXTT0vKCg/OlteQkVHSExNT1NXWVphYmNkaG1zd3l6J10rKXwoPzonKD86W14nXXwnJykqJyl8KD86R3sxLDV9fHl7MSw0fXxZezEsNH18TXsxLDV9fEx7MSw1fXx3ezEsMn18V3sxfXxkezEsMn18RXsxLDZ9fGN7MSw2fXxhezEsNX18YnsxLDV9fEJ7MSw1fXxoezEsMn18SHsxLDJ9fG17MSwyfXxzezEsMn18U3sxLDN9fHp7MSw0fXxaezEsNX18T3sxLDR9KSkoW1xzXFNdKikvO3ZhciBHTSxZTSxxTTtmdW5jdGlvbiBaTSh0LGUsbixvKXtsZXQgaT0oZnVuY3Rpb24gYSh0KXtpZihzdih0KSlyZXR1cm4gdDtpZigibnVtYmVyIj09dHlwZW9mIHQmJiFpc05hTih0KSlyZXR1cm4gbmV3IERhdGUodCk7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZih0PXQudHJpbSgpLC9eKFxkezR9KC1cZHsxLDJ9KC1cZHsxLDJ9KT8pPykkLy50ZXN0KHQpKXtjb25zdFtlLG49MSxvPTFdPXQuc3BsaXQoIi0iKS5tYXAoKHQ9Pit0KSk7cmV0dXJuIFhNKGUsbi0xLG8pfWNvbnN0IGU9cGFyc2VGbG9hdCh0KTtpZighaXNOYU4odC1lKSlyZXR1cm4gbmV3IERhdGUoZSk7bGV0IG47aWYobj10Lm1hdGNoKGpNKSlyZXR1cm4oZnVuY3Rpb24gZSh0KXtjb25zdCBlPW5ldyBEYXRlKDApO2xldCBuPTAsbz0wO2NvbnN0IGk9dFs4XT9lLnNldFVUQ0Z1bGxZZWFyOmUuc2V0RnVsbFllYXIsYT10WzhdP2Uuc2V0VVRDSG91cnM6ZS5zZXRIb3Vyczt0WzldJiYobj1OdW1iZXIodFs5XSt0WzEwXSksbz1OdW1iZXIodFs5XSt0WzExXSkpO2kuY2FsbChlLE51bWJlcih0WzFdKSxOdW1iZXIodFsyXSktMSxOdW1iZXIodFszXSkpO2NvbnN0IHI9TnVtYmVyKHRbNF18fDApLW4scz1OdW1iZXIodFs1XXx8MCktbyxsPU51bWJlcih0WzZdfHwwKSxjPU1hdGguZmxvb3IoMWUzKnBhcnNlRmxvYXQoIjAuIisodFs3XXx8MCkpKTtyZXR1cm4gYS5jYWxsKGUscixzLGwsYyksZX0pKG4pfWNvbnN0IG49bmV3IERhdGUodCk7aWYoIXN2KG4pKXRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGNvbnZlcnQgIiR7dH0iIGludG8gYSBkYXRlYCk7cmV0dXJuIG59KSh0KTtlPUtNKG4sZSl8fGU7bGV0IHIscz1bXTtmb3IoO2U7KXtpZihyPVdNLmV4ZWMoZSksIXIpe3MucHVzaChlKTticmVha317cz1zLmNvbmNhdChyLnNsaWNlKDEpKTtjb25zdCB0PXMucG9wKCk7aWYoIXQpYnJlYWs7ZT10fX1sZXQgbD1pLmdldFRpbWV6b25lT2Zmc2V0KCk7byYmKGw9cnYobyxsKSxpPShmdW5jdGlvbiBjKHQsZSxuKXtjb25zdCBvPW4/LTE6MSxpPXQuZ2V0VGltZXpvbmVPZmZzZXQoKSxhPXJ2KGUsaSk7cmV0dXJuKGZ1bmN0aW9uIHIodCxlKXtyZXR1cm4odD1uZXcgRGF0ZSh0LmdldFRpbWUoKSkpLnNldE1pbnV0ZXModC5nZXRNaW51dGVzKCkrZSksdH0pKHQsbyooYS1pKSl9KShpLG8sITApKTtsZXQgZD0iIjtyZXR1cm4gcy5mb3JFYWNoKCh0PT57Y29uc3QgZT0oZnVuY3Rpb24gbyh0KXtpZihhdlt0XSlyZXR1cm4gYXZbdF07bGV0IGU7c3dpdGNoKHQpe2Nhc2UiRyI6Y2FzZSJHRyI6Y2FzZSJHR0ciOmU9dHYocU0uRXJhcyxTTS5BYmJyZXZpYXRlZCk7YnJlYWs7Y2FzZSJHR0dHIjplPXR2KHFNLkVyYXMsU00uV2lkZSk7YnJlYWs7Y2FzZSJHR0dHRyI6ZT10dihxTS5FcmFzLFNNLk5hcnJvdyk7YnJlYWs7Y2FzZSJ5IjplPSRNKFlNLkZ1bGxZZWFyLDEsMCwhMSwhMCk7YnJlYWs7Y2FzZSJ5eSI6ZT0kTShZTS5GdWxsWWVhciwyLDAsITAsITApO2JyZWFrO2Nhc2UieXl5IjplPSRNKFlNLkZ1bGxZZWFyLDMsMCwhMSwhMCk7YnJlYWs7Y2FzZSJ5eXl5IjplPSRNKFlNLkZ1bGxZZWFyLDQsMCwhMSwhMCk7YnJlYWs7Y2FzZSJZIjplPWl2KDEpO2JyZWFrO2Nhc2UiWVkiOmU9aXYoMiwhMCk7YnJlYWs7Y2FzZSJZWVkiOmU9aXYoMyk7YnJlYWs7Y2FzZSJZWVlZIjplPWl2KDQpO2JyZWFrO2Nhc2UiTSI6Y2FzZSJMIjplPSRNKFlNLk1vbnRoLDEsMSk7YnJlYWs7Y2FzZSJNTSI6Y2FzZSJMTCI6ZT0kTShZTS5Nb250aCwyLDEpO2JyZWFrO2Nhc2UiTU1NIjplPXR2KHFNLk1vbnRocyxTTS5BYmJyZXZpYXRlZCk7YnJlYWs7Y2FzZSJNTU1NIjplPXR2KHFNLk1vbnRocyxTTS5XaWRlKTticmVhaztjYXNlIk1NTU1NIjplPXR2KHFNLk1vbnRocyxTTS5OYXJyb3cpO2JyZWFrO2Nhc2UiTExMIjplPXR2KHFNLk1vbnRocyxTTS5BYmJyZXZpYXRlZCxrTS5TdGFuZGFsb25lKTticmVhaztjYXNlIkxMTEwiOmU9dHYocU0uTW9udGhzLFNNLldpZGUsa00uU3RhbmRhbG9uZSk7YnJlYWs7Y2FzZSJMTExMTCI6ZT10dihxTS5Nb250aHMsU00uTmFycm93LGtNLlN0YW5kYWxvbmUpO2JyZWFrO2Nhc2UidyI6ZT1vdigxKTticmVhaztjYXNlInd3IjplPW92KDIpO2JyZWFrO2Nhc2UiVyI6ZT1vdigxLCEwKTticmVhaztjYXNlImQiOmU9JE0oWU0uRGF0ZSwxKTticmVhaztjYXNlImRkIjplPSRNKFlNLkRhdGUsMik7YnJlYWs7Y2FzZSJjIjpjYXNlImNjIjplPSRNKFlNLkRheSwxKTticmVhaztjYXNlImNjYyI6ZT10dihxTS5EYXlzLFNNLkFiYnJldmlhdGVkLGtNLlN0YW5kYWxvbmUpO2JyZWFrO2Nhc2UiY2NjYyI6ZT10dihxTS5EYXlzLFNNLldpZGUsa00uU3RhbmRhbG9uZSk7YnJlYWs7Y2FzZSJjY2NjYyI6ZT10dihxTS5EYXlzLFNNLk5hcnJvdyxrTS5TdGFuZGFsb25lKTticmVhaztjYXNlImNjY2NjYyI6ZT10dihxTS5EYXlzLFNNLlNob3J0LGtNLlN0YW5kYWxvbmUpO2JyZWFrO2Nhc2UiRSI6Y2FzZSJFRSI6Y2FzZSJFRUUiOmU9dHYocU0uRGF5cyxTTS5BYmJyZXZpYXRlZCk7YnJlYWs7Y2FzZSJFRUVFIjplPXR2KHFNLkRheXMsU00uV2lkZSk7YnJlYWs7Y2FzZSJFRUVFRSI6ZT10dihxTS5EYXlzLFNNLk5hcnJvdyk7YnJlYWs7Y2FzZSJFRUVFRUUiOmU9dHYocU0uRGF5cyxTTS5TaG9ydCk7YnJlYWs7Y2FzZSJhIjpjYXNlImFhIjpjYXNlImFhYSI6ZT10dihxTS5EYXlQZXJpb2RzLFNNLkFiYnJldmlhdGVkKTticmVhaztjYXNlImFhYWEiOmU9dHYocU0uRGF5UGVyaW9kcyxTTS5XaWRlKTticmVhaztjYXNlImFhYWFhIjplPXR2KHFNLkRheVBlcmlvZHMsU00uTmFycm93KTticmVhaztjYXNlImIiOmNhc2UiYmIiOmNhc2UiYmJiIjplPXR2KHFNLkRheVBlcmlvZHMsU00uQWJicmV2aWF0ZWQsa00uU3RhbmRhbG9uZSwhMCk7YnJlYWs7Y2FzZSJiYmJiIjplPXR2KHFNLkRheVBlcmlvZHMsU00uV2lkZSxrTS5TdGFuZGFsb25lLCEwKTticmVhaztjYXNlImJiYmJiIjplPXR2KHFNLkRheVBlcmlvZHMsU00uTmFycm93LGtNLlN0YW5kYWxvbmUsITApO2JyZWFrO2Nhc2UiQiI6Y2FzZSJCQiI6Y2FzZSJCQkIiOmU9dHYocU0uRGF5UGVyaW9kcyxTTS5BYmJyZXZpYXRlZCxrTS5Gb3JtYXQsITApO2JyZWFrO2Nhc2UiQkJCQiI6ZT10dihxTS5EYXlQZXJpb2RzLFNNLldpZGUsa00uRm9ybWF0LCEwKTticmVhaztjYXNlIkJCQkJCIjplPXR2KHFNLkRheVBlcmlvZHMsU00uTmFycm93LGtNLkZvcm1hdCwhMCk7YnJlYWs7Y2FzZSJoIjplPSRNKFlNLkhvdXJzLDEsLTEyKTticmVhaztjYXNlImhoIjplPSRNKFlNLkhvdXJzLDIsLTEyKTticmVhaztjYXNlIkgiOmU9JE0oWU0uSG91cnMsMSk7YnJlYWs7Y2FzZSJISCI6ZT0kTShZTS5Ib3VycywyKTticmVhaztjYXNlIm0iOmU9JE0oWU0uTWludXRlcywxKTticmVhaztjYXNlIm1tIjplPSRNKFlNLk1pbnV0ZXMsMik7YnJlYWs7Y2FzZSJzIjplPSRNKFlNLlNlY29uZHMsMSk7YnJlYWs7Y2FzZSJzcyI6ZT0kTShZTS5TZWNvbmRzLDIpO2JyZWFrO2Nhc2UiUyI6ZT0kTShZTS5GcmFjdGlvbmFsU2Vjb25kcywxKTticmVhaztjYXNlIlNTIjplPSRNKFlNLkZyYWN0aW9uYWxTZWNvbmRzLDIpO2JyZWFrO2Nhc2UiU1NTIjplPSRNKFlNLkZyYWN0aW9uYWxTZWNvbmRzLDMpO2JyZWFrO2Nhc2UiWiI6Y2FzZSJaWiI6Y2FzZSJaWloiOmU9ZXYoR00uU2hvcnQpO2JyZWFrO2Nhc2UiWlpaWloiOmU9ZXYoR00uRXh0ZW5kZWQpO2JyZWFrO2Nhc2UiTyI6Y2FzZSJPTyI6Y2FzZSJPT08iOmNhc2UieiI6Y2FzZSJ6eiI6Y2FzZSJ6enoiOmU9ZXYoR00uU2hvcnRHTVQpO2JyZWFrO2Nhc2UiT09PTyI6Y2FzZSJaWlpaIjpjYXNlInp6enoiOmU9ZXYoR00uTG9uZyk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gbnVsbH1yZXR1cm4gYXZbdF09ZSxlfSkodCk7ZCs9ZT9lKGksbixsKToiJyciPT09dD8iJyI6dC5yZXBsYWNlKC8oXid8JyQpL2csIiIpLnJlcGxhY2UoLycnL2csIiciKX0pKSxkfWZ1bmN0aW9uIFhNKHQsZSxuKXtjb25zdCBvPW5ldyBEYXRlKDApO3JldHVybiBvLnNldEZ1bGxZZWFyKHQsZSxuKSxvLnNldEhvdXJzKDAsMCwwKSxvfWZ1bmN0aW9uIEtNKHQsZSl7Y29uc3Qgbj0oZnVuY3Rpb24gbyh0KXtyZXR1cm4gZ2codClbeWcuTG9jYWxlSWRdfSkodCk7aWYoVU1bbl09VU1bbl18fHt9LFVNW25dW2VdKXJldHVybiBVTVtuXVtlXTtsZXQgaT0iIjtzd2l0Y2goZSl7Y2FzZSJzaG9ydERhdGUiOmk9QU0odCxETS5TaG9ydCk7YnJlYWs7Y2FzZSJtZWRpdW1EYXRlIjppPUFNKHQsRE0uTWVkaXVtKTticmVhaztjYXNlImxvbmdEYXRlIjppPUFNKHQsRE0uTG9uZyk7YnJlYWs7Y2FzZSJmdWxsRGF0ZSI6aT1BTSh0LERNLkZ1bGwpO2JyZWFrO2Nhc2Uic2hvcnRUaW1lIjppPVRNKHQsRE0uU2hvcnQpO2JyZWFrO2Nhc2UibWVkaXVtVGltZSI6aT1UTSh0LERNLk1lZGl1bSk7YnJlYWs7Y2FzZSJsb25nVGltZSI6aT1UTSh0LERNLkxvbmcpO2JyZWFrO2Nhc2UiZnVsbFRpbWUiOmk9VE0odCxETS5GdWxsKTticmVhaztjYXNlInNob3J0Ijpjb25zdCBlPUtNKHQsInNob3J0VGltZSIpLG49S00odCwic2hvcnREYXRlIik7aT1KTShOTSh0LERNLlNob3J0KSxbZSxuXSk7YnJlYWs7Y2FzZSJtZWRpdW0iOmNvbnN0IG89S00odCwibWVkaXVtVGltZSIpLGE9S00odCwibWVkaXVtRGF0ZSIpO2k9Sk0oTk0odCxETS5NZWRpdW0pLFtvLGFdKTticmVhaztjYXNlImxvbmciOmNvbnN0IHI9S00odCwibG9uZ1RpbWUiKSxzPUtNKHQsImxvbmdEYXRlIik7aT1KTShOTSh0LERNLkxvbmcpLFtyLHNdKTticmVhaztjYXNlImZ1bGwiOmNvbnN0IGw9S00odCwiZnVsbFRpbWUiKSxjPUtNKHQsImZ1bGxEYXRlIik7aT1KTShOTSh0LERNLkZ1bGwpLFtsLGNdKX1yZXR1cm4gaSYmKFVNW25dW2VdPWkpLGl9ZnVuY3Rpb24gSk0odCxlKXtyZXR1cm4gZSYmKHQ9dC5yZXBsYWNlKC9ceyhbXn1dKyl9L2csKGZ1bmN0aW9uKHQsbil7cmV0dXJuIG51bGwhPWUmJm4gaW4gZT9lW25dOnR9KSkpLHR9ZnVuY3Rpb24gUU0odCxlLG49Ii0iLG8saSl7bGV0IGE9IiI7KHQ8MHx8aSYmdDw9MCkmJihpP3Q9MS10Oih0PS10LGE9bikpO2xldCByPVN0cmluZyh0KTtmb3IoO3IubGVuZ3RoPGU7KXI9IjAiK3I7cmV0dXJuIG8mJihyPXIuc3Vic3RyKHIubGVuZ3RoLWUpKSxhK3J9ZnVuY3Rpb24gJE0odCxlLG49MCxvPSExLGk9ITEpe3JldHVybiBmdW5jdGlvbihhLHIpe2xldCBzPShmdW5jdGlvbiBsKHQsZSl7c3dpdGNoKHQpe2Nhc2UgWU0uRnVsbFllYXI6cmV0dXJuIGUuZ2V0RnVsbFllYXIoKTtjYXNlIFlNLk1vbnRoOnJldHVybiBlLmdldE1vbnRoKCk7Y2FzZSBZTS5EYXRlOnJldHVybiBlLmdldERhdGUoKTtjYXNlIFlNLkhvdXJzOnJldHVybiBlLmdldEhvdXJzKCk7Y2FzZSBZTS5NaW51dGVzOnJldHVybiBlLmdldE1pbnV0ZXMoKTtjYXNlIFlNLlNlY29uZHM6cmV0dXJuIGUuZ2V0U2Vjb25kcygpO2Nhc2UgWU0uRnJhY3Rpb25hbFNlY29uZHM6cmV0dXJuIGUuZ2V0TWlsbGlzZWNvbmRzKCk7Y2FzZSBZTS5EYXk6cmV0dXJuIGUuZ2V0RGF5KCk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gRGF0ZVR5cGUgdmFsdWUgIiR7dH0iLmApfX0pKHQsYSk7aWYoKG4+MHx8cz4tbikmJihzKz1uKSx0PT09WU0uSG91cnMpMD09PXMmJi0xMj09PW4mJihzPTEyKTtlbHNlIGlmKHQ9PT1ZTS5GcmFjdGlvbmFsU2Vjb25kcylyZXR1cm4oZnVuY3Rpb24gYyh0LGUpe3JldHVybiBRTSh0LDMpLnN1YnN0cigwLGUpfSkocyxlKTtjb25zdCBkPXpNKHIsUk0uTWludXNTaWduKTtyZXR1cm4gUU0ocyxlLGQsbyxpKX19ZnVuY3Rpb24gdHYodCxlLG49a00uRm9ybWF0LG89ITEpe3JldHVybiBmdW5jdGlvbihpLGEpe3JldHVybihmdW5jdGlvbiByKHQsZSxuLG8saSxhKXtzd2l0Y2gobil7Y2FzZSBxTS5Nb250aHM6cmV0dXJuKGZ1bmN0aW9uIHIodCxlLG4pe2NvbnN0IG89Z2codCksaT1MTShbb1t5Zy5Nb250aHNGb3JtYXRdLG9beWcuTW9udGhzU3RhbmRhbG9uZV1dLGUpO3JldHVybiBMTShpLG4pfSkoZSxpLG8pW3QuZ2V0TW9udGgoKV07Y2FzZSBxTS5EYXlzOnJldHVybihmdW5jdGlvbiBzKHQsZSxuKXtjb25zdCBvPWdnKHQpLGk9TE0oW29beWcuRGF5c0Zvcm1hdF0sb1t5Zy5EYXlzU3RhbmRhbG9uZV1dLGUpO3JldHVybiBMTShpLG4pfSkoZSxpLG8pW3QuZ2V0RGF5KCldO2Nhc2UgcU0uRGF5UGVyaW9kczpjb25zdCByPXQuZ2V0SG91cnMoKSxzPXQuZ2V0TWludXRlcygpO2lmKGEpe2NvbnN0IHQ9KGZ1bmN0aW9uIGwodCl7Y29uc3QgZT1nZyh0KTtyZXR1cm4gRk0oZSksKGVbeWcuRXh0cmFEYXRhXVsyXXx8W10pLm1hcCgodD0+InN0cmluZyI9PXR5cGVvZiB0P0JNKHQpOltCTSh0WzBdKSxCTSh0WzFdKV0pKX0pKGUpLG49KGZ1bmN0aW9uIGModCxlLG4pe2NvbnN0IG89Z2codCk7Rk0obyk7Y29uc3QgaT1MTShbb1t5Zy5FeHRyYURhdGFdWzBdLG9beWcuRXh0cmFEYXRhXVsxXV0sZSl8fFtdO3JldHVybiBMTShpLG4pfHxbXX0pKGUsaSxvKSxhPXQuZmluZEluZGV4KCh0PT57aWYoQXJyYXkuaXNBcnJheSh0KSl7Y29uc3RbZSxuXT10LG89cj49ZS5ob3VycyYmcz49ZS5taW51dGVzLGk9cjxuLmhvdXJzfHxyPT09bi5ob3VycyYmczxuLm1pbnV0ZXM7aWYoZS5ob3VyczxuLmhvdXJzKXtpZihvJiZpKXJldHVybiEwfWVsc2UgaWYob3x8aSlyZXR1cm4hMH1lbHNlIGlmKHQuaG91cnM9PT1yJiZ0Lm1pbnV0ZXM9PT1zKXJldHVybiEwO3JldHVybiExfSkpO2lmKC0xIT09YSlyZXR1cm4gblthXX1yZXR1cm4oZnVuY3Rpb24gZCh0LGUsbil7Y29uc3Qgbz1nZyh0KSxpPUxNKFtvW3lnLkRheVBlcmlvZHNGb3JtYXRdLG9beWcuRGF5UGVyaW9kc1N0YW5kYWxvbmVdXSxlKTtyZXR1cm4gTE0oaSxuKX0pKGUsaSxvKVtyPDEyPzA6MV07Y2FzZSBxTS5FcmFzOnJldHVybihmdW5jdGlvbiBwKHQsZSl7cmV0dXJuIExNKGdnKHQpW3lnLkVyYXNdLGUpfSkoZSxvKVt0LmdldEZ1bGxZZWFyKCk8PTA/MDoxXTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgdW5leHBlY3RlZCB0cmFuc2xhdGlvbiB0eXBlICR7bn1gKX19KShpLGEsdCxlLG4sbyl9fWZ1bmN0aW9uIGV2KHQpe3JldHVybiBmdW5jdGlvbihlLG4sbyl7Y29uc3QgaT0tMSpvLGE9ek0obixSTS5NaW51c1NpZ24pLHI9aT4wP01hdGguZmxvb3IoaS82MCk6TWF0aC5jZWlsKGkvNjApO3N3aXRjaCh0KXtjYXNlIEdNLlNob3J0OnJldHVybihpPj0wPyIrIjoiIikrUU0ociwyLGEpK1FNKE1hdGguYWJzKGklNjApLDIsYSk7Y2FzZSBHTS5TaG9ydEdNVDpyZXR1cm4iR01UIisoaT49MD8iKyI6IiIpK1FNKHIsMSxhKTtjYXNlIEdNLkxvbmc6cmV0dXJuIkdNVCIrKGk+PTA/IisiOiIiKStRTShyLDIsYSkrIjoiK1FNKE1hdGguYWJzKGklNjApLDIsYSk7Y2FzZSBHTS5FeHRlbmRlZDpyZXR1cm4gMD09PW8/IloiOihpPj0wPyIrIjoiIikrUU0ociwyLGEpKyI6IitRTShNYXRoLmFicyhpJTYwKSwyLGEpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHpvbmUgd2lkdGggIiR7dH0iYCl9fX0hKGZ1bmN0aW9uKHQpe3RbdC5TaG9ydD0wXT0iU2hvcnQiLHRbdC5TaG9ydEdNVD0xXT0iU2hvcnRHTVQiLHRbdC5Mb25nPTJdPSJMb25nIix0W3QuRXh0ZW5kZWQ9M109IkV4dGVuZGVkIn0pKEdNfHwoR009e30pKSwoZnVuY3Rpb24odCl7dFt0LkZ1bGxZZWFyPTBdPSJGdWxsWWVhciIsdFt0Lk1vbnRoPTFdPSJNb250aCIsdFt0LkRhdGU9Ml09IkRhdGUiLHRbdC5Ib3Vycz0zXT0iSG91cnMiLHRbdC5NaW51dGVzPTRdPSJNaW51dGVzIix0W3QuU2Vjb25kcz01XT0iU2Vjb25kcyIsdFt0LkZyYWN0aW9uYWxTZWNvbmRzPTZdPSJGcmFjdGlvbmFsU2Vjb25kcyIsdFt0LkRheT03XT0iRGF5In0pKFlNfHwoWU09e30pKSwoZnVuY3Rpb24odCl7dFt0LkRheVBlcmlvZHM9MF09IkRheVBlcmlvZHMiLHRbdC5EYXlzPTFdPSJEYXlzIix0W3QuTW9udGhzPTJdPSJNb250aHMiLHRbdC5FcmFzPTNdPSJFcmFzIn0pKHFNfHwocU09e30pKTtmdW5jdGlvbiBudih0KXtyZXR1cm4gWE0odC5nZXRGdWxsWWVhcigpLHQuZ2V0TW9udGgoKSx0LmdldERhdGUoKSsoNC10LmdldERheSgpKSl9ZnVuY3Rpb24gb3YodCxlPSExKXtyZXR1cm4gZnVuY3Rpb24obixvKXtsZXQgaTtpZihlKXtjb25zdCB0PW5ldyBEYXRlKG4uZ2V0RnVsbFllYXIoKSxuLmdldE1vbnRoKCksMSkuZ2V0RGF5KCktMSxlPW4uZ2V0RGF0ZSgpO2k9MStNYXRoLmZsb29yKChlK3QpLzcpfWVsc2V7Y29uc3QgdD1udihuKSxlPShmdW5jdGlvbiBhKHQpe2NvbnN0IGU9WE0odCwwLDEpLmdldERheSgpO3JldHVybiBYTSh0LDAsMSsoZTw9ND80OjExKS1lKX0pKHQuZ2V0RnVsbFllYXIoKSksbz10LmdldFRpbWUoKS1lLmdldFRpbWUoKTtpPTErTWF0aC5yb3VuZChvLzYwNDhlNSl9cmV0dXJuIFFNKGksdCx6TShvLFJNLk1pbnVzU2lnbikpfX1mdW5jdGlvbiBpdih0LGU9ITEpe3JldHVybiBmdW5jdGlvbihuLG8pe3JldHVybiBRTShudihuKS5nZXRGdWxsWWVhcigpLHQsek0obyxSTS5NaW51c1NpZ24pLGUpfX1jb25zdCBhdj17fTtmdW5jdGlvbiBydih0LGUpe3Q9dC5yZXBsYWNlKC86L2csIiIpO2NvbnN0IG49RGF0ZS5wYXJzZSgiSmFuIDAxLCAxOTcwIDAwOjAwOjAwICIrdCkvNmU0O3JldHVybiBpc05hTihuKT9lOm59ZnVuY3Rpb24gc3YodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBEYXRlJiYhaXNOYU4odC52YWx1ZU9mKCkpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBsdj0vXihcZCspP1wuKChcZCspKC0oXGQrKSk/KT8kLyxjdj0iLiIsZHY9IjAiO2Z1bmN0aW9uIHB2KHQsZSxuLG8saSxhLHI9ITEpe2xldCBzPSIiLGw9ITE7aWYoaXNGaW5pdGUodCkpe2xldCBjPShmdW5jdGlvbiBjKHQpe2xldCBlLG4sbyxpLGEscj1NYXRoLmFicyh0KSsiIixzPTA7KG49ci5pbmRleE9mKGN2KSk+LTEmJihyPXIucmVwbGFjZShjdiwiIikpOyhvPXIuc2VhcmNoKC9lL2kpKT4wPyhuPDAmJihuPW8pLG4rPStyLnNsaWNlKG8rMSkscj1yLnN1YnN0cmluZygwLG8pKTpuPDAmJihuPXIubGVuZ3RoKTtmb3Iobz0wO3IuY2hhckF0KG8pPT09ZHY7bysrKTtpZihvPT09KGE9ci5sZW5ndGgpKWU9WzBdLG49MTtlbHNle2ZvcihhLS07ci5jaGFyQXQoYSk9PT1kdjspYS0tO2ZvcihuLT1vLGU9W10saT0wO288PWE7bysrLGkrKyllW2ldPU51bWJlcihyLmNoYXJBdChvKSl9bj4yMiYmKGU9ZS5zcGxpY2UoMCwyMSkscz1uLTEsbj0xKTtyZXR1cm57ZGlnaXRzOmUsZXhwb25lbnQ6cyxpbnRlZ2VyTGVuOm59fSkodCk7ciYmKGM9KGZ1bmN0aW9uIGQodCl7aWYoMD09PXQuZGlnaXRzWzBdKXJldHVybiB0O2NvbnN0IGU9dC5kaWdpdHMubGVuZ3RoLXQuaW50ZWdlckxlbjt0LmV4cG9uZW50P3QuZXhwb25lbnQrPTI6KDA9PT1lP3QuZGlnaXRzLnB1c2goMCwwKToxPT09ZSYmdC5kaWdpdHMucHVzaCgwKSx0LmludGVnZXJMZW4rPTIpO3JldHVybiB0fSkoYykpO2xldCBkPWUubWluSW50LHA9ZS5taW5GcmFjLG09ZS5tYXhGcmFjO2lmKGEpe2NvbnN0IHQ9YS5tYXRjaChsdik7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKGAke2F9IGlzIG5vdCBhIHZhbGlkIGRpZ2l0IGluZm9gKTtjb25zdCBlPXRbMV0sbj10WzNdLG89dFs1XTtudWxsIT1lJiYoZD1ndihlKSksbnVsbCE9biYmKHA9Z3YobikpLG51bGwhPW8/bT1ndihvKTpudWxsIT1uJiZwPm0mJihtPXApfSEoZnVuY3Rpb24gcCh0LGUsbil7aWYoZT5uKXRocm93IG5ldyBFcnJvcihgVGhlIG1pbmltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciBmcmFjdGlvbiAoJHtlfSkgaXMgaGlnaGVyIHRoYW4gdGhlIG1heGltdW0gKCR7bn0pLmApO2xldCBvPXQuZGlnaXRzLGk9by5sZW5ndGgtdC5pbnRlZ2VyTGVuO2NvbnN0IGE9TWF0aC5taW4oTWF0aC5tYXgoZSxpKSxuKTtsZXQgcj1hK3QuaW50ZWdlckxlbixzPW9bcl07aWYocj4wKXtvLnNwbGljZShNYXRoLm1heCh0LmludGVnZXJMZW4scikpO2ZvcihsZXQgdD1yO3Q8by5sZW5ndGg7dCsrKW9bdF09MH1lbHNle2k9TWF0aC5tYXgoMCxpKSx0LmludGVnZXJMZW49MSxvLmxlbmd0aD1NYXRoLm1heCgxLHI9YSsxKSxvWzBdPTA7Zm9yKGxldCB0PTE7dDxyO3QrKylvW3RdPTB9aWYocz49NSlpZihyLTE8MCl7Zm9yKGxldCBlPTA7ZT5yO2UtLSlvLnVuc2hpZnQoMCksdC5pbnRlZ2VyTGVuKys7by51bnNoaWZ0KDEpLHQuaW50ZWdlckxlbisrfWVsc2Ugb1tyLTFdKys7Zm9yKDtpPE1hdGgubWF4KDAsYSk7aSsrKW8ucHVzaCgwKTtsZXQgbD0wIT09YTtjb25zdCBjPWUrdC5pbnRlZ2VyTGVuLGQ9by5yZWR1Y2VSaWdodCgoZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIG9bbl09KGUrPXQpPDEwP2U6ZS0xMCxsJiYoMD09PW9bbl0mJm4+PWM/by5wb3AoKTpsPSExKSxlPj0xMD8xOjB9KSwwKTtkJiYoby51bnNoaWZ0KGQpLHQuaW50ZWdlckxlbisrKX0pKGMscCxtKTtsZXQgZj1jLmRpZ2l0cyx1PWMuaW50ZWdlckxlbjtjb25zdCBnPWMuZXhwb25lbnQ7bGV0IGg9W107Zm9yKGw9Zi5ldmVyeSgodD0+IXQpKTt1PGQ7dSsrKWYudW5zaGlmdCgwKTtmb3IoO3U8MDt1KyspZi51bnNoaWZ0KDApO3U+MD9oPWYuc3BsaWNlKHUsZi5sZW5ndGgpOihoPWYsZj1bMF0pO2NvbnN0IGI9W107Zm9yKGYubGVuZ3RoPj1lLmxnU2l6ZSYmYi51bnNoaWZ0KGYuc3BsaWNlKC1lLmxnU2l6ZSxmLmxlbmd0aCkuam9pbigiIikpO2YubGVuZ3RoPmUuZ1NpemU7KWIudW5zaGlmdChmLnNwbGljZSgtZS5nU2l6ZSxmLmxlbmd0aCkuam9pbigiIikpO2YubGVuZ3RoJiZiLnVuc2hpZnQoZi5qb2luKCIiKSkscz1iLmpvaW4oek0obixvKSksaC5sZW5ndGgmJihzKz16TShuLGkpK2guam9pbigiIikpLGcmJihzKz16TShuLFJNLkV4cG9uZW50aWFsKSsiKyIrZyl9ZWxzZSBzPXpNKG4sUk0uSW5maW5pdHkpO3JldHVybiBzPXQ8MCYmIWw/ZS5uZWdQcmUrcytlLm5lZ1N1ZjplLnBvc1ByZStzK2UucG9zU3VmLHN9ZnVuY3Rpb24gbXYodCxlLG4sbyxpKXtjb25zdCBhPXV2KElNKGUsUE0uQ3VycmVuY3kpLHpNKGUsUk0uTWludXNTaWduKSk7YS5taW5GcmFjPShmdW5jdGlvbiByKHQpe2xldCBlO2NvbnN0IG49T01bdF07cmV0dXJuIG4mJihlPW5bMl0pLCJudW1iZXIiPT10eXBlb2YgZT9lOjJ9KShvKSxhLm1heEZyYWM9YS5taW5GcmFjO3JldHVybiBwdih0LGEsZSxSTS5DdXJyZW5jeUdyb3VwLFJNLkN1cnJlbmN5RGVjaW1hbCxpKS5yZXBsYWNlKCLCpCIsbikucmVwbGFjZSgiwqQiLCIiKS50cmltKCl9ZnVuY3Rpb24gZnYodCxlLG4pe3JldHVybiBwdih0LHV2KElNKGUsUE0uRGVjaW1hbCksek0oZSxSTS5NaW51c1NpZ24pKSxlLFJNLkdyb3VwLFJNLkRlY2ltYWwsbil9ZnVuY3Rpb24gdXYodCxlPSItIil7Y29uc3Qgbj17bWluSW50OjEsbWluRnJhYzowLG1heEZyYWM6MCxwb3NQcmU6IiIscG9zU3VmOiIiLG5lZ1ByZToiIixuZWdTdWY6IiIsZ1NpemU6MCxsZ1NpemU6MH0sbz10LnNwbGl0KCI7IiksaT1vWzBdLGE9b1sxXSxyPS0xIT09aS5pbmRleE9mKGN2KT9pLnNwbGl0KGN2KTpbaS5zdWJzdHJpbmcoMCxpLmxhc3RJbmRleE9mKGR2KSsxKSxpLnN1YnN0cmluZyhpLmxhc3RJbmRleE9mKGR2KSsxKV0scz1yWzBdLGw9clsxXXx8IiI7bi5wb3NQcmU9cy5zdWJzdHIoMCxzLmluZGV4T2YoIiMiKSk7Zm9yKGxldCB0PTA7dDxsLmxlbmd0aDt0Kyspe2NvbnN0IGU9bC5jaGFyQXQodCk7ZT09PWR2P24ubWluRnJhYz1uLm1heEZyYWM9dCsxOiIjIj09PWU/bi5tYXhGcmFjPXQrMTpuLnBvc1N1Zis9ZX1jb25zdCBjPXMuc3BsaXQoIiwiKTtpZihuLmdTaXplPWNbMV0/Y1sxXS5sZW5ndGg6MCxuLmxnU2l6ZT1jWzJdfHxjWzFdPyhjWzJdfHxjWzFdKS5sZW5ndGg6MCxhKXtjb25zdCB0PWkubGVuZ3RoLW4ucG9zUHJlLmxlbmd0aC1uLnBvc1N1Zi5sZW5ndGgsZT1hLmluZGV4T2YoIiMiKTtuLm5lZ1ByZT1hLnN1YnN0cigwLGUpLnJlcGxhY2UoLycvZywiIiksbi5uZWdTdWY9YS5zdWJzdHIoZSt0KS5yZXBsYWNlKC8nL2csIiIpfWVsc2Ugbi5uZWdQcmU9ZStuLnBvc1ByZSxuLm5lZ1N1Zj1uLnBvc1N1ZjtyZXR1cm4gbn1mdW5jdGlvbiBndih0KXtjb25zdCBlPXBhcnNlSW50KHQpO2lmKGlzTmFOKGUpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBpbnRlZ2VyIGxpdGVyYWwgd2hlbiBwYXJzaW5nICIrdCk7cmV0dXJuIGV9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIGh2e31mdW5jdGlvbiBidih0LGUsbixvKXtsZXQgaT1gPSR7dH1gO2lmKGUuaW5kZXhPZihpKT4tMSlyZXR1cm4gaTtpZihpPW4uZ2V0UGx1cmFsQ2F0ZWdvcnkodCxvKSxlLmluZGV4T2YoaSk+LTEpcmV0dXJuIGk7aWYoZS5pbmRleE9mKCJvdGhlciIpPi0xKXJldHVybiJvdGhlciI7dGhyb3cgbmV3IEVycm9yKGBObyBwbHVyYWwgbWVzc2FnZSBmb3VuZCBmb3IgdmFsdWUgIiR7dH0iYCl9Y2xhc3MgeXYgZXh0ZW5kcyBodntjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMubG9jYWxlPXR9Z2V0UGx1cmFsQ2F0ZWdvcnkodCxlKXtzd2l0Y2goSE0oZXx8dGhpcy5sb2NhbGUpKHQpKXtjYXNlIHdNLlplcm86cmV0dXJuInplcm8iO2Nhc2Ugd00uT25lOnJldHVybiJvbmUiO2Nhc2Ugd00uVHdvOnJldHVybiJ0d28iO2Nhc2Ugd00uRmV3OnJldHVybiJmZXciO2Nhc2Ugd00uTWFueTpyZXR1cm4ibWFueSI7ZGVmYXVsdDpyZXR1cm4ib3RoZXIifX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiBfdih0LGUpe2U9ZW5jb2RlVVJJQ29tcG9uZW50KGUpO2Zvcihjb25zdCBuIG9mIHQuc3BsaXQoIjsiKSl7Y29uc3QgdD1uLmluZGV4T2YoIj0iKSxbbyxpXT0tMT09dD9bbiwiIl06W24uc2xpY2UoMCx0KSxuLnNsaWNlKHQrMSldO2lmKG8udHJpbSgpPT09ZSlyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGkpfXJldHVybiBudWxsfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi95di7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eXYpKFRyKFFfKSl9LHl2Lsm1cHJvdj1Tbih7dG9rZW46eXYsZmFjdG9yeTp5di7JtWZhY30pLHl2LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1FfXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih5dixbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1FfXX1dfV19KSxudWxsKTtjbGFzcyBDdntjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLl9pdGVyYWJsZURpZmZlcnM9dCx0aGlzLl9rZXlWYWx1ZURpZmZlcnM9ZSx0aGlzLl9uZ0VsPW4sdGhpcy5fcmVuZGVyZXI9byx0aGlzLl9pdGVyYWJsZURpZmZlcj1udWxsLHRoaXMuX2tleVZhbHVlRGlmZmVyPW51bGwsdGhpcy5faW5pdGlhbENsYXNzZXM9W10sdGhpcy5fcmF3Q2xhc3M9bnVsbH1zZXQga2xhc3ModCl7dGhpcy5fcmVtb3ZlQ2xhc3Nlcyh0aGlzLl9pbml0aWFsQ2xhc3NlcyksdGhpcy5faW5pdGlhbENsYXNzZXM9InN0cmluZyI9PXR5cGVvZiB0P3Quc3BsaXQoL1xzKy8pOltdLHRoaXMuX2FwcGx5Q2xhc3Nlcyh0aGlzLl9pbml0aWFsQ2xhc3NlcyksdGhpcy5fYXBwbHlDbGFzc2VzKHRoaXMuX3Jhd0NsYXNzKX1zZXQgbmdDbGFzcyh0KXt0aGlzLl9yZW1vdmVDbGFzc2VzKHRoaXMuX3Jhd0NsYXNzKSx0aGlzLl9hcHBseUNsYXNzZXModGhpcy5faW5pdGlhbENsYXNzZXMpLHRoaXMuX2l0ZXJhYmxlRGlmZmVyPW51bGwsdGhpcy5fa2V5VmFsdWVEaWZmZXI9bnVsbCx0aGlzLl9yYXdDbGFzcz0ic3RyaW5nIj09dHlwZW9mIHQ/dC5zcGxpdCgvXHMrLyk6dCx0aGlzLl9yYXdDbGFzcyYmKGRtKHRoaXMuX3Jhd0NsYXNzKT90aGlzLl9pdGVyYWJsZURpZmZlcj10aGlzLl9pdGVyYWJsZURpZmZlcnMuZmluZCh0aGlzLl9yYXdDbGFzcykuY3JlYXRlKCk6dGhpcy5fa2V5VmFsdWVEaWZmZXI9dGhpcy5fa2V5VmFsdWVEaWZmZXJzLmZpbmQodGhpcy5fcmF3Q2xhc3MpLmNyZWF0ZSgpKX1uZ0RvQ2hlY2soKXtpZih0aGlzLl9pdGVyYWJsZURpZmZlcil7Y29uc3QgdD10aGlzLl9pdGVyYWJsZURpZmZlci5kaWZmKHRoaXMuX3Jhd0NsYXNzKTt0JiZ0aGlzLl9hcHBseUl0ZXJhYmxlQ2hhbmdlcyh0KX1lbHNlIGlmKHRoaXMuX2tleVZhbHVlRGlmZmVyKXtjb25zdCB0PXRoaXMuX2tleVZhbHVlRGlmZmVyLmRpZmYodGhpcy5fcmF3Q2xhc3MpO3QmJnRoaXMuX2FwcGx5S2V5VmFsdWVDaGFuZ2VzKHQpfX1fYXBwbHlLZXlWYWx1ZUNoYW5nZXModCl7dC5mb3JFYWNoQWRkZWRJdGVtKCh0PT50aGlzLl90b2dnbGVDbGFzcyh0LmtleSx0LmN1cnJlbnRWYWx1ZSkpKSx0LmZvckVhY2hDaGFuZ2VkSXRlbSgodD0+dGhpcy5fdG9nZ2xlQ2xhc3ModC5rZXksdC5jdXJyZW50VmFsdWUpKSksdC5mb3JFYWNoUmVtb3ZlZEl0ZW0oKHQ9Pnt0LnByZXZpb3VzVmFsdWUmJnRoaXMuX3RvZ2dsZUNsYXNzKHQua2V5LCExKX0pKX1fYXBwbHlJdGVyYWJsZUNoYW5nZXModCl7dC5mb3JFYWNoQWRkZWRJdGVtKCh0PT57aWYoInN0cmluZyIhPXR5cGVvZiB0Lml0ZW0pdGhyb3cgbmV3IEVycm9yKGBOZ0NsYXNzIGNhbiBvbmx5IHRvZ2dsZSBDU1MgY2xhc3NlcyBleHByZXNzZWQgYXMgc3RyaW5ncywgZ290ICR7S2UodC5pdGVtKX1gKTt0aGlzLl90b2dnbGVDbGFzcyh0Lml0ZW0sITApfSkpLHQuZm9yRWFjaFJlbW92ZWRJdGVtKCh0PT50aGlzLl90b2dnbGVDbGFzcyh0Lml0ZW0sITEpKSl9X2FwcGx5Q2xhc3Nlcyh0KXt0JiYoQXJyYXkuaXNBcnJheSh0KXx8dCBpbnN0YW5jZW9mIFNldD90LmZvckVhY2goKHQ9PnRoaXMuX3RvZ2dsZUNsYXNzKHQsITApKSk6T2JqZWN0LmtleXModCkuZm9yRWFjaCgoZT0+dGhpcy5fdG9nZ2xlQ2xhc3MoZSwhIXRbZV0pKSkpfV9yZW1vdmVDbGFzc2VzKHQpe3QmJihBcnJheS5pc0FycmF5KHQpfHx0IGluc3RhbmNlb2YgU2V0P3QuZm9yRWFjaCgodD0+dGhpcy5fdG9nZ2xlQ2xhc3ModCwhMSkpKTpPYmplY3Qua2V5cyh0KS5mb3JFYWNoKCh0PT50aGlzLl90b2dnbGVDbGFzcyh0LCExKSkpKX1fdG9nZ2xlQ2xhc3ModCxlKXsodD10LnRyaW0oKSkmJnQuc3BsaXQoL1xzKy9nKS5mb3JFYWNoKCh0PT57ZT90aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9uZ0VsLm5hdGl2ZUVsZW1lbnQsdCk6dGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5fbmdFbC5uYXRpdmVFbGVtZW50LHQpfSkpfX1Ddi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Q3YpKGdmKGhiKSxnZih5YiksZ2YoS2gpLGdmKCRoKSl9LEN2Lsm1ZGlyPWhvKHt0eXBlOkN2LHNlbGVjdG9yczpbWyIiLCJuZ0NsYXNzIiwiIl1dLGlucHV0czp7a2xhc3M6WyJjbGFzcyIsImtsYXNzIl0sbmdDbGFzczoibmdDbGFzcyJ9fSksQ3YuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpoYn0se3R5cGU6eWJ9LHt0eXBlOktofSx7dHlwZTokaH1dLEN2LnByb3BEZWNvcmF0b3JzPXtrbGFzczpbe3R5cGU6Ul8sYXJnczpbImNsYXNzIl19XSxuZ0NsYXNzOlt7dHlwZTpSXyxhcmdzOlsibmdDbGFzcyJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ3YsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW25nQ2xhc3NdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmhifSx7dHlwZTp5Yn0se3R5cGU6S2h9LHt0eXBlOiRofV19KSx7a2xhc3M6W3t0eXBlOlJfLGFyZ3M6WyJjbGFzcyJdfV0sbmdDbGFzczpbe3R5cGU6Ul8sYXJnczpbIm5nQ2xhc3MiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBNdntjb25zdHJ1Y3Rvcih0KXt0aGlzLl92aWV3Q29udGFpbmVyUmVmPXQsdGhpcy5fY29tcG9uZW50UmVmPW51bGwsdGhpcy5fbW9kdWxlUmVmPW51bGx9bmdPbkNoYW5nZXModCl7aWYodGhpcy5fdmlld0NvbnRhaW5lclJlZi5jbGVhcigpLHRoaXMuX2NvbXBvbmVudFJlZj1udWxsLHRoaXMubmdDb21wb25lbnRPdXRsZXQpe2NvbnN0IGU9dGhpcy5uZ0NvbXBvbmVudE91dGxldEluamVjdG9yfHx0aGlzLl92aWV3Q29udGFpbmVyUmVmLnBhcmVudEluamVjdG9yO2lmKHQubmdDb21wb25lbnRPdXRsZXROZ01vZHVsZUZhY3RvcnkpaWYodGhpcy5fbW9kdWxlUmVmJiZ0aGlzLl9tb2R1bGVSZWYuZGVzdHJveSgpLHRoaXMubmdDb21wb25lbnRPdXRsZXROZ01vZHVsZUZhY3Rvcnkpe2NvbnN0IHQ9ZS5nZXQoemIpO3RoaXMuX21vZHVsZVJlZj10aGlzLm5nQ29tcG9uZW50T3V0bGV0TmdNb2R1bGVGYWN0b3J5LmNyZWF0ZSh0LmluamVjdG9yKX1lbHNlIHRoaXMuX21vZHVsZVJlZj1udWxsO2NvbnN0IG49KHRoaXMuX21vZHVsZVJlZj90aGlzLl9tb2R1bGVSZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOmUuZ2V0KEdoKSkucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5uZ0NvbXBvbmVudE91dGxldCk7dGhpcy5fY29tcG9uZW50UmVmPXRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KG4sdGhpcy5fdmlld0NvbnRhaW5lclJlZi5sZW5ndGgsZSx0aGlzLm5nQ29tcG9uZW50T3V0bGV0Q29udGVudCl9fW5nT25EZXN0cm95KCl7dGhpcy5fbW9kdWxlUmVmJiZ0aGlzLl9tb2R1bGVSZWYuZGVzdHJveSgpfX1Ndi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TXYpKGdmKEZiKSl9LE12Lsm1ZGlyPWhvKHt0eXBlOk12LHNlbGVjdG9yczpbWyIiLCJuZ0NvbXBvbmVudE91dGxldCIsIiJdXSxpbnB1dHM6e25nQ29tcG9uZW50T3V0bGV0OiJuZ0NvbXBvbmVudE91dGxldCIsbmdDb21wb25lbnRPdXRsZXRJbmplY3RvcjoibmdDb21wb25lbnRPdXRsZXRJbmplY3RvciIsbmdDb21wb25lbnRPdXRsZXRDb250ZW50OiJuZ0NvbXBvbmVudE91dGxldENvbnRlbnQiLG5nQ29tcG9uZW50T3V0bGV0TmdNb2R1bGVGYWN0b3J5OiJuZ0NvbXBvbmVudE91dGxldE5nTW9kdWxlRmFjdG9yeSJ9LGZlYXR1cmVzOltxb119KSxNdi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkZifV0sTXYucHJvcERlY29yYXRvcnM9e25nQ29tcG9uZW50T3V0bGV0Olt7dHlwZTpSX31dLG5nQ29tcG9uZW50T3V0bGV0SW5qZWN0b3I6W3t0eXBlOlJffV0sbmdDb21wb25lbnRPdXRsZXRDb250ZW50Olt7dHlwZTpSX31dLG5nQ29tcG9uZW50T3V0bGV0TmdNb2R1bGVGYWN0b3J5Olt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE12LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltuZ0NvbXBvbmVudE91dGxldF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RmJ9XX0pLHtuZ0NvbXBvbmVudE91dGxldDpbe3R5cGU6Ul99XSxuZ0NvbXBvbmVudE91dGxldEluamVjdG9yOlt7dHlwZTpSX31dLG5nQ29tcG9uZW50T3V0bGV0Q29udGVudDpbe3R5cGU6Ul99XSxuZ0NvbXBvbmVudE91dGxldE5nTW9kdWxlRmFjdG9yeTpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgdnZ7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy4kaW1wbGljaXQ9dCx0aGlzLm5nRm9yT2Y9ZSx0aGlzLmluZGV4PW4sdGhpcy5jb3VudD1vfWdldCBmaXJzdCgpe3JldHVybiAwPT09dGhpcy5pbmRleH1nZXQgbGFzdCgpe3JldHVybiB0aGlzLmluZGV4PT09dGhpcy5jb3VudC0xfWdldCBldmVuKCl7cmV0dXJuIHRoaXMuaW5kZXglMj09MH1nZXQgb2RkKCl7cmV0dXJuIXRoaXMuZXZlbn19Y2xhc3MgeHZ7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuX3ZpZXdDb250YWluZXI9dCx0aGlzLl90ZW1wbGF0ZT1lLHRoaXMuX2RpZmZlcnM9bix0aGlzLl9uZ0Zvck9mPW51bGwsdGhpcy5fbmdGb3JPZkRpcnR5PSEwLHRoaXMuX2RpZmZlcj1udWxsfXNldCBuZ0Zvck9mKHQpe3RoaXMuX25nRm9yT2Y9dCx0aGlzLl9uZ0Zvck9mRGlydHk9ITB9c2V0IG5nRm9yVHJhY2tCeSh0KXsidW5kZWZpbmVkIiE9dHlwZW9mIG5nRGV2TW9kZSYmIW5nRGV2TW9kZXx8bnVsbD09dHx8ImZ1bmN0aW9uIj09dHlwZW9mIHR8fGNvbnNvbGUmJmNvbnNvbGUud2FybiYmY29uc29sZS53YXJuKGB0cmFja0J5IG11c3QgYmUgYSBmdW5jdGlvbiwgYnV0IHJlY2VpdmVkICR7SlNPTi5zdHJpbmdpZnkodCl9LiBTZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb21tb24vTmdGb3JPZiNjaGFuZ2UtcHJvcGFnYXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksdGhpcy5fdHJhY2tCeUZuPXR9Z2V0IG5nRm9yVHJhY2tCeSgpe3JldHVybiB0aGlzLl90cmFja0J5Rm59c2V0IG5nRm9yVGVtcGxhdGUodCl7dCYmKHRoaXMuX3RlbXBsYXRlPXQpfW5nRG9DaGVjaygpe2lmKHRoaXMuX25nRm9yT2ZEaXJ0eSl7dGhpcy5fbmdGb3JPZkRpcnR5PSExO2NvbnN0IHQ9dGhpcy5fbmdGb3JPZjtpZighdGhpcy5fZGlmZmVyJiZ0KXRyeXt0aGlzLl9kaWZmZXI9dGhpcy5fZGlmZmVycy5maW5kKHQpLmNyZWF0ZSh0aGlzLm5nRm9yVHJhY2tCeSl9Y2F0Y2goZSl7dGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBhIGRpZmZlciBzdXBwb3J0aW5nIG9iamVjdCAnJHt0fScgb2YgdHlwZSAnJHsoZnVuY3Rpb24gbih0KXtyZXR1cm4gdC5uYW1lfHx0eXBlb2YgdH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0KX0nLiBOZ0ZvciBvbmx5IHN1cHBvcnRzIGJpbmRpbmcgdG8gSXRlcmFibGVzIHN1Y2ggYXMgQXJyYXlzLmApfX1pZih0aGlzLl9kaWZmZXIpe2NvbnN0IHQ9dGhpcy5fZGlmZmVyLmRpZmYodGhpcy5fbmdGb3JPZik7dCYmdGhpcy5fYXBwbHlDaGFuZ2VzKHQpfX1fYXBwbHlDaGFuZ2VzKHQpe2NvbnN0IGU9W107dC5mb3JFYWNoT3BlcmF0aW9uKCgodCxuLG8pPT57aWYobnVsbD09dC5wcmV2aW91c0luZGV4KXtjb25zdCBuPXRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX3RlbXBsYXRlLG5ldyB2dihudWxsLHRoaXMuX25nRm9yT2YsLTEsLTEpLG51bGw9PT1vP3ZvaWQgMDpvKSxpPW5ldyBPdih0LG4pO2UucHVzaChpKX1lbHNlIGlmKG51bGw9PW8pdGhpcy5fdmlld0NvbnRhaW5lci5yZW1vdmUobnVsbD09PW4/dm9pZCAwOm4pO2Vsc2UgaWYobnVsbCE9PW4pe2NvbnN0IGk9dGhpcy5fdmlld0NvbnRhaW5lci5nZXQobik7dGhpcy5fdmlld0NvbnRhaW5lci5tb3ZlKGksbyk7Y29uc3QgYT1uZXcgT3YodCxpKTtlLnB1c2goYSl9fSkpO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXRoaXMuX3BlclZpZXdDaGFuZ2UoZVt0XS52aWV3LGVbdF0ucmVjb3JkKTtmb3IobGV0IHQ9MCxlPXRoaXMuX3ZpZXdDb250YWluZXIubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IG49dGhpcy5fdmlld0NvbnRhaW5lci5nZXQodCk7bi5jb250ZXh0LmluZGV4PXQsbi5jb250ZXh0LmNvdW50PWUsbi5jb250ZXh0Lm5nRm9yT2Y9dGhpcy5fbmdGb3JPZn10LmZvckVhY2hJZGVudGl0eUNoYW5nZSgodD0+e3RoaXMuX3ZpZXdDb250YWluZXIuZ2V0KHQuY3VycmVudEluZGV4KS5jb250ZXh0LiRpbXBsaWNpdD10Lml0ZW19KSl9X3BlclZpZXdDaGFuZ2UodCxlKXt0LmNvbnRleHQuJGltcGxpY2l0PWUuaXRlbX1zdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZCh0LGUpe3JldHVybiEwfX14di7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eHYpKGdmKEZiKSxnZihFYiksZ2YoaGIpKX0seHYuybVkaXI9aG8oe3R5cGU6eHYsc2VsZWN0b3JzOltbIiIsIm5nRm9yIiwiIiwibmdGb3JPZiIsIiJdXSxpbnB1dHM6e25nRm9yT2Y6Im5nRm9yT2YiLG5nRm9yVHJhY2tCeToibmdGb3JUcmFja0J5IixuZ0ZvclRlbXBsYXRlOiJuZ0ZvclRlbXBsYXRlIn19KSx4di5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkZifSx7dHlwZTpFYn0se3R5cGU6aGJ9XSx4di5wcm9wRGVjb3JhdG9ycz17bmdGb3JPZjpbe3R5cGU6Ul99XSxuZ0ZvclRyYWNrQnk6W3t0eXBlOlJffV0sbmdGb3JUZW1wbGF0ZTpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4dixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkZifSx7dHlwZTpFYn0se3R5cGU6aGJ9XX0pLHtuZ0Zvck9mOlt7dHlwZTpSX31dLG5nRm9yVHJhY2tCeTpbe3R5cGU6Ul99XSxuZ0ZvclRlbXBsYXRlOlt7dHlwZTpSX31dfSk7Y2xhc3MgT3Z7Y29uc3RydWN0b3IodCxlKXt0aGlzLnJlY29yZD10LHRoaXMudmlldz1lfX1jbGFzcyBQdntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX3ZpZXdDb250YWluZXI9dCx0aGlzLl9jb250ZXh0PW5ldyB3dix0aGlzLl90aGVuVGVtcGxhdGVSZWY9bnVsbCx0aGlzLl9lbHNlVGVtcGxhdGVSZWY9bnVsbCx0aGlzLl90aGVuVmlld1JlZj1udWxsLHRoaXMuX2Vsc2VWaWV3UmVmPW51bGwsdGhpcy5fdGhlblRlbXBsYXRlUmVmPWV9c2V0IG5nSWYodCl7dGhpcy5fY29udGV4dC4kaW1wbGljaXQ9dGhpcy5fY29udGV4dC5uZ0lmPXQsdGhpcy5fdXBkYXRlVmlldygpfXNldCBuZ0lmVGhlbih0KXtrdigibmdJZlRoZW4iLHQpLHRoaXMuX3RoZW5UZW1wbGF0ZVJlZj10LHRoaXMuX3RoZW5WaWV3UmVmPW51bGwsdGhpcy5fdXBkYXRlVmlldygpfXNldCBuZ0lmRWxzZSh0KXtrdigibmdJZkVsc2UiLHQpLHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZj10LHRoaXMuX2Vsc2VWaWV3UmVmPW51bGwsdGhpcy5fdXBkYXRlVmlldygpfV91cGRhdGVWaWV3KCl7dGhpcy5fY29udGV4dC4kaW1wbGljaXQ/dGhpcy5fdGhlblZpZXdSZWZ8fCh0aGlzLl92aWV3Q29udGFpbmVyLmNsZWFyKCksdGhpcy5fZWxzZVZpZXdSZWY9bnVsbCx0aGlzLl90aGVuVGVtcGxhdGVSZWYmJih0aGlzLl90aGVuVmlld1JlZj10aGlzLl92aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl90aGVuVGVtcGxhdGVSZWYsdGhpcy5fY29udGV4dCkpKTp0aGlzLl9lbHNlVmlld1JlZnx8KHRoaXMuX3ZpZXdDb250YWluZXIuY2xlYXIoKSx0aGlzLl90aGVuVmlld1JlZj1udWxsLHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZiYmKHRoaXMuX2Vsc2VWaWV3UmVmPXRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZix0aGlzLl9jb250ZXh0KSkpfXN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKHQsZSl7cmV0dXJuITB9fVB2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxQdikoZ2YoRmIpLGdmKEViKSl9LFB2Lsm1ZGlyPWhvKHt0eXBlOlB2LHNlbGVjdG9yczpbWyIiLCJuZ0lmIiwiIl1dLGlucHV0czp7bmdJZjoibmdJZiIsbmdJZlRoZW46Im5nSWZUaGVuIixuZ0lmRWxzZToibmdJZkVsc2UifX0pLFB2LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RmJ9LHt0eXBlOkVifV0sUHYucHJvcERlY29yYXRvcnM9e25nSWY6W3t0eXBlOlJffV0sbmdJZlRoZW46W3t0eXBlOlJffV0sbmdJZkVsc2U6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUHYsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW25nSWZdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkZifSx7dHlwZTpFYn1dfSkse25nSWY6W3t0eXBlOlJffV0sbmdJZlRoZW46W3t0eXBlOlJffV0sbmdJZkVsc2U6W3t0eXBlOlJffV19KTtjbGFzcyB3dntjb25zdHJ1Y3Rvcigpe3RoaXMuJGltcGxpY2l0PW51bGwsdGhpcy5uZ0lmPW51bGx9fWZ1bmN0aW9uIGt2KHQsZSl7aWYoISEoZSYmIWUuY3JlYXRlRW1iZWRkZWRWaWV3KSl0aHJvdyBuZXcgRXJyb3IoYCR7dH0gbXVzdCBiZSBhIFRlbXBsYXRlUmVmLCBidXQgcmVjZWl2ZWQgJyR7S2UoZSl9Jy5gKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgU3Z7Y29uc3RydWN0b3IodCxlKXt0aGlzLl92aWV3Q29udGFpbmVyUmVmPXQsdGhpcy5fdGVtcGxhdGVSZWY9ZSx0aGlzLl9jcmVhdGVkPSExfWNyZWF0ZSgpe3RoaXMuX2NyZWF0ZWQ9ITAsdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGVSZWYpfWRlc3Ryb3koKXt0aGlzLl9jcmVhdGVkPSExLHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY2xlYXIoKX1lbmZvcmNlU3RhdGUodCl7dCYmIXRoaXMuX2NyZWF0ZWQ/dGhpcy5jcmVhdGUoKTohdCYmdGhpcy5fY3JlYXRlZCYmdGhpcy5kZXN0cm95KCl9fWNsYXNzIER2e2NvbnN0cnVjdG9yKCl7dGhpcy5fZGVmYXVsdFVzZWQ9ITEsdGhpcy5fY2FzZUNvdW50PTAsdGhpcy5fbGFzdENhc2VDaGVja0luZGV4PTAsdGhpcy5fbGFzdENhc2VzTWF0Y2hlZD0hMX1zZXQgbmdTd2l0Y2godCl7dGhpcy5fbmdTd2l0Y2g9dCwwPT09dGhpcy5fY2FzZUNvdW50JiZ0aGlzLl91cGRhdGVEZWZhdWx0Q2FzZXMoITApfV9hZGRDYXNlKCl7cmV0dXJuIHRoaXMuX2Nhc2VDb3VudCsrfV9hZGREZWZhdWx0KHQpe3RoaXMuX2RlZmF1bHRWaWV3c3x8KHRoaXMuX2RlZmF1bHRWaWV3cz1bXSksdGhpcy5fZGVmYXVsdFZpZXdzLnB1c2godCl9X21hdGNoQ2FzZSh0KXtjb25zdCBlPXQ9PXRoaXMuX25nU3dpdGNoO3JldHVybiB0aGlzLl9sYXN0Q2FzZXNNYXRjaGVkPXRoaXMuX2xhc3RDYXNlc01hdGNoZWR8fGUsdGhpcy5fbGFzdENhc2VDaGVja0luZGV4KyssdGhpcy5fbGFzdENhc2VDaGVja0luZGV4PT09dGhpcy5fY2FzZUNvdW50JiYodGhpcy5fdXBkYXRlRGVmYXVsdENhc2VzKCF0aGlzLl9sYXN0Q2FzZXNNYXRjaGVkKSx0aGlzLl9sYXN0Q2FzZUNoZWNrSW5kZXg9MCx0aGlzLl9sYXN0Q2FzZXNNYXRjaGVkPSExKSxlfV91cGRhdGVEZWZhdWx0Q2FzZXModCl7aWYodGhpcy5fZGVmYXVsdFZpZXdzJiZ0IT09dGhpcy5fZGVmYXVsdFVzZWQpe3RoaXMuX2RlZmF1bHRVc2VkPXQ7Zm9yKGxldCBlPTA7ZTx0aGlzLl9kZWZhdWx0Vmlld3MubGVuZ3RoO2UrKyl7dGhpcy5fZGVmYXVsdFZpZXdzW2VdLmVuZm9yY2VTdGF0ZSh0KX19fX1Edi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RHYpfSxEdi7JtWRpcj1obyh7dHlwZTpEdixzZWxlY3RvcnM6W1siIiwibmdTd2l0Y2giLCIiXV0saW5wdXRzOntuZ1N3aXRjaDoibmdTd2l0Y2gifX0pLER2LnByb3BEZWNvcmF0b3JzPXtuZ1N3aXRjaDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihEdixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbmdTd2l0Y2hdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSx7bmdTd2l0Y2g6W3t0eXBlOlJffV19KTtjbGFzcyBSdntjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5uZ1N3aXRjaD1uLCJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlfHxufHxBdigibmdTd2l0Y2hDYXNlIiwiTmdTd2l0Y2hDYXNlIiksbi5fYWRkQ2FzZSgpLHRoaXMuX3ZpZXc9bmV3IFN2KHQsZSl9bmdEb0NoZWNrKCl7dGhpcy5fdmlldy5lbmZvcmNlU3RhdGUodGhpcy5uZ1N3aXRjaC5fbWF0Y2hDYXNlKHRoaXMubmdTd2l0Y2hDYXNlKSl9fVJ2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxSdikoZ2YoRmIpLGdmKEViKSxnZihEdiw5KSl9LFJ2Lsm1ZGlyPWhvKHt0eXBlOlJ2LHNlbGVjdG9yczpbWyIiLCJuZ1N3aXRjaENhc2UiLCIiXV0saW5wdXRzOntuZ1N3aXRjaENhc2U6Im5nU3dpdGNoQ2FzZSJ9fSksUnYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpGYn0se3R5cGU6RWJ9LHt0eXBlOkR2LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn1dfV0sUnYucHJvcERlY29yYXRvcnM9e25nU3dpdGNoQ2FzZTpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihSdixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbmdTd2l0Y2hDYXNlXSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpGYn0se3R5cGU6RWJ9LHt0eXBlOkR2LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn1dfV19KSx7bmdTd2l0Y2hDYXNlOlt7dHlwZTpSX31dfSk7Y2xhc3MgRXZ7Y29uc3RydWN0b3IodCxlLG4peyJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlfHxufHxBdigibmdTd2l0Y2hEZWZhdWx0IiwiTmdTd2l0Y2hEZWZhdWx0Iiksbi5fYWRkRGVmYXVsdChuZXcgU3YodCxlKSl9fWZ1bmN0aW9uIEF2KHQsZSl7dGhyb3cgbmV3IG5uKCIzMDUiLGBBbiBlbGVtZW50IHdpdGggdGhlICIke3R9IiBhdHRyaWJ1dGUgKG1hdGNoaW5nIHRoZSAiJHtlfSIgZGlyZWN0aXZlKSBtdXN0IGJlIGxvY2F0ZWQgaW5zaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgIm5nU3dpdGNoIiBhdHRyaWJ1dGUgKG1hdGNoaW5nICJOZ1N3aXRjaCIgZGlyZWN0aXZlKWApfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9Fdi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RXYpKGdmKEZiKSxnZihFYiksZ2YoRHYsOSkpfSxFdi7JtWRpcj1obyh7dHlwZTpFdixzZWxlY3RvcnM6W1siIiwibmdTd2l0Y2hEZWZhdWx0IiwiIl1dfSksRXYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpGYn0se3R5cGU6RWJ9LHt0eXBlOkR2LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihFdixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbmdTd2l0Y2hEZWZhdWx0XSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpGYn0se3R5cGU6RWJ9LHt0eXBlOkR2LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn1dfV19KSxudWxsKTtjbGFzcyBUdntjb25zdHJ1Y3Rvcih0KXt0aGlzLl9sb2NhbGl6YXRpb249dCx0aGlzLl9jYXNlVmlld3M9e319c2V0IG5nUGx1cmFsKHQpe3RoaXMuX3N3aXRjaFZhbHVlPXQsdGhpcy5fdXBkYXRlVmlldygpfWFkZENhc2UodCxlKXt0aGlzLl9jYXNlVmlld3NbdF09ZX1fdXBkYXRlVmlldygpe3RoaXMuX2NsZWFyVmlld3MoKTtjb25zdCB0PU9iamVjdC5rZXlzKHRoaXMuX2Nhc2VWaWV3cyksZT1idih0aGlzLl9zd2l0Y2hWYWx1ZSx0LHRoaXMuX2xvY2FsaXphdGlvbik7dGhpcy5fYWN0aXZhdGVWaWV3KHRoaXMuX2Nhc2VWaWV3c1tlXSl9X2NsZWFyVmlld3MoKXt0aGlzLl9hY3RpdmVWaWV3JiZ0aGlzLl9hY3RpdmVWaWV3LmRlc3Ryb3koKX1fYWN0aXZhdGVWaWV3KHQpe3QmJih0aGlzLl9hY3RpdmVWaWV3PXQsdGhpcy5fYWN0aXZlVmlldy5jcmVhdGUoKSl9fVR2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxUdikoZ2YoaHYpKX0sVHYuybVkaXI9aG8oe3R5cGU6VHYsc2VsZWN0b3JzOltbIiIsIm5nUGx1cmFsIiwiIl1dLGlucHV0czp7bmdQbHVyYWw6Im5nUGx1cmFsIn19KSxUdi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOmh2fV0sVHYucHJvcERlY29yYXRvcnM9e25nUGx1cmFsOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFR2LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltuZ1BsdXJhbF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aHZ9XX0pLHtuZ1BsdXJhbDpbe3R5cGU6Ul99XX0pO2NsYXNzIE52e2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMudmFsdWU9dDtjb25zdCBpPSFpc05hTihOdW1iZXIodCkpO28uYWRkQ2FzZShpP2A9JHt0fWA6dCxuZXcgU3YobixlKSl9fU52Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxOdikoR2EoIm5nUGx1cmFsQ2FzZSIpLGdmKEViKSxnZihGYiksZ2YoVHYsMSkpfSxOdi7JtWRpcj1obyh7dHlwZTpOdixzZWxlY3RvcnM6W1siIiwibmdQbHVyYWxDYXNlIiwiIl1dfSksTnYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbIm5nUGx1cmFsQ2FzZSJdfV19LHt0eXBlOkVifSx7dHlwZTpGYn0se3R5cGU6VHYsZGVjb3JhdG9yczpbe3R5cGU6VXJ9XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTnYsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW25nUGx1cmFsQ2FzZV0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJuZ1BsdXJhbENhc2UiXX1dfSx7dHlwZTpFYn0se3R5cGU6RmJ9LHt0eXBlOlR2LGRlY29yYXRvcnM6W3t0eXBlOlVyfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgenZ7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuX25nRWw9dCx0aGlzLl9kaWZmZXJzPWUsdGhpcy5fcmVuZGVyZXI9bix0aGlzLl9uZ1N0eWxlPW51bGwsdGhpcy5fZGlmZmVyPW51bGx9c2V0IG5nU3R5bGUodCl7dGhpcy5fbmdTdHlsZT10LCF0aGlzLl9kaWZmZXImJnQmJih0aGlzLl9kaWZmZXI9dGhpcy5fZGlmZmVycy5maW5kKHQpLmNyZWF0ZSgpKX1uZ0RvQ2hlY2soKXtpZih0aGlzLl9kaWZmZXIpe2NvbnN0IHQ9dGhpcy5fZGlmZmVyLmRpZmYodGhpcy5fbmdTdHlsZSk7dCYmdGhpcy5fYXBwbHlDaGFuZ2VzKHQpfX1fc2V0U3R5bGUodCxlKXtjb25zdFtuLG9dPXQuc3BsaXQoIi4iKTtudWxsIT0oZT1udWxsIT1lJiZvP2Ake2V9JHtvfWA6ZSk/dGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fbmdFbC5uYXRpdmVFbGVtZW50LG4sZSk6dGhpcy5fcmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5fbmdFbC5uYXRpdmVFbGVtZW50LG4pfV9hcHBseUNoYW5nZXModCl7dC5mb3JFYWNoUmVtb3ZlZEl0ZW0oKHQ9PnRoaXMuX3NldFN0eWxlKHQua2V5LG51bGwpKSksdC5mb3JFYWNoQWRkZWRJdGVtKCh0PT50aGlzLl9zZXRTdHlsZSh0LmtleSx0LmN1cnJlbnRWYWx1ZSkpKSx0LmZvckVhY2hDaGFuZ2VkSXRlbSgodD0+dGhpcy5fc2V0U3R5bGUodC5rZXksdC5jdXJyZW50VmFsdWUpKSl9fXp2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx6dikoZ2YoS2gpLGdmKHliKSxnZigkaCkpfSx6di7JtWRpcj1obyh7dHlwZTp6dixzZWxlY3RvcnM6W1siIiwibmdTdHlsZSIsIiJdXSxpbnB1dHM6e25nU3R5bGU6Im5nU3R5bGUifX0pLHp2LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOnlifSx7dHlwZTokaH1dLHp2LnByb3BEZWNvcmF0b3JzPXtuZ1N0eWxlOlt7dHlwZTpSXyxhcmdzOlsibmdTdHlsZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoenYsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW25nU3R5bGVdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTp5Yn0se3R5cGU6JGh9XX0pLHtuZ1N0eWxlOlt7dHlwZTpSXyxhcmdzOlsibmdTdHlsZSJdfV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIEl2e2NvbnN0cnVjdG9yKHQpe3RoaXMuX3ZpZXdDb250YWluZXJSZWY9dCx0aGlzLl92aWV3UmVmPW51bGwsdGhpcy5uZ1RlbXBsYXRlT3V0bGV0Q29udGV4dD1udWxsLHRoaXMubmdUZW1wbGF0ZU91dGxldD1udWxsfW5nT25DaGFuZ2VzKHQpe2lmKHQubmdUZW1wbGF0ZU91dGxldCl7Y29uc3QgdD10aGlzLl92aWV3Q29udGFpbmVyUmVmO3RoaXMuX3ZpZXdSZWYmJnQucmVtb3ZlKHQuaW5kZXhPZih0aGlzLl92aWV3UmVmKSksdGhpcy5fdmlld1JlZj10aGlzLm5nVGVtcGxhdGVPdXRsZXQ/dC5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5uZ1RlbXBsYXRlT3V0bGV0LHRoaXMubmdUZW1wbGF0ZU91dGxldENvbnRleHQpOm51bGx9ZWxzZSB0aGlzLl92aWV3UmVmJiZ0Lm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0JiZ0aGlzLm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0JiYodGhpcy5fdmlld1JlZi5jb250ZXh0PXRoaXMubmdUZW1wbGF0ZU91dGxldENvbnRleHQpfX1Jdi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SXYpKGdmKEZiKSl9LEl2Lsm1ZGlyPWhvKHt0eXBlOkl2LHNlbGVjdG9yczpbWyIiLCJuZ1RlbXBsYXRlT3V0bGV0IiwiIl1dLGlucHV0czp7bmdUZW1wbGF0ZU91dGxldENvbnRleHQ6Im5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IixuZ1RlbXBsYXRlT3V0bGV0OiJuZ1RlbXBsYXRlT3V0bGV0In0sZmVhdHVyZXM6W3FvXX0pLEl2LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RmJ9XSxJdi5wcm9wRGVjb3JhdG9ycz17bmdUZW1wbGF0ZU91dGxldENvbnRleHQ6W3t0eXBlOlJffV0sbmdUZW1wbGF0ZU91dGxldDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihJdixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RmJ9XX0pLHtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dDpbe3R5cGU6Ul99XSxuZ1RlbXBsYXRlT3V0bGV0Olt7dHlwZTpSX31dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBIdj1bQ3YsTXYseHYsUHYsSXYsenYsRHYsUnYsRXYsVHYsTnZdOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBGdih0LGUpe3JldHVybiBFcnJvcihgSW52YWxpZFBpcGVBcmd1bWVudDogJyR7ZX0nIGZvciBwaXBlICcke0tlKHQpfSdgKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgTHY9bmV3IGNsYXNze2NyZWF0ZVN1YnNjcmlwdGlvbih0LGUpe3JldHVybiB0LnRoZW4oZSwodD0+e3Rocm93IHR9KSl9ZGlzcG9zZSh0KXt9b25EZXN0cm95KHQpe319LEJ2PW5ldyBjbGFzc3tjcmVhdGVTdWJzY3JpcHRpb24odCxlKXtyZXR1cm4gdC5zdWJzY3JpYmUoe25leHQ6ZSxlcnJvcjp0PT57dGhyb3cgdH19KX1kaXNwb3NlKHQpe3QudW5zdWJzY3JpYmUoKX1vbkRlc3Ryb3kodCl7dC51bnN1YnNjcmliZSgpfX07Y2xhc3MgVnZ7Y29uc3RydWN0b3IodCl7dGhpcy5fcmVmPXQsdGhpcy5fbGF0ZXN0VmFsdWU9bnVsbCx0aGlzLl9zdWJzY3JpcHRpb249bnVsbCx0aGlzLl9vYmo9bnVsbCx0aGlzLl9zdHJhdGVneT1udWxsfW5nT25EZXN0cm95KCl7dGhpcy5fc3Vic2NyaXB0aW9uJiZ0aGlzLl9kaXNwb3NlKCl9dHJhbnNmb3JtKHQpe3JldHVybiB0aGlzLl9vYmo/dCE9PXRoaXMuX29iaj8odGhpcy5fZGlzcG9zZSgpLHRoaXMudHJhbnNmb3JtKHQpKTp0aGlzLl9sYXRlc3RWYWx1ZToodCYmdGhpcy5fc3Vic2NyaWJlKHQpLHRoaXMuX2xhdGVzdFZhbHVlKX1fc3Vic2NyaWJlKHQpe3RoaXMuX29iaj10LHRoaXMuX3N0cmF0ZWd5PXRoaXMuX3NlbGVjdFN0cmF0ZWd5KHQpLHRoaXMuX3N1YnNjcmlwdGlvbj10aGlzLl9zdHJhdGVneS5jcmVhdGVTdWJzY3JpcHRpb24odCwoZT0+dGhpcy5fdXBkYXRlTGF0ZXN0VmFsdWUodCxlKSkpfV9zZWxlY3RTdHJhdGVneSh0KXtpZihrZih0KSlyZXR1cm4gTHY7aWYoU2YodCkpcmV0dXJuIEJ2O3Rocm93IEZ2KFZ2LHQpfV9kaXNwb3NlKCl7dGhpcy5fc3RyYXRlZ3kuZGlzcG9zZSh0aGlzLl9zdWJzY3JpcHRpb24pLHRoaXMuX2xhdGVzdFZhbHVlPW51bGwsdGhpcy5fc3Vic2NyaXB0aW9uPW51bGwsdGhpcy5fb2JqPW51bGx9X3VwZGF0ZUxhdGVzdFZhbHVlKHQsZSl7dD09PXRoaXMuX29iaiYmKHRoaXMuX2xhdGVzdFZhbHVlPWUsdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpKX19VnYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFZ2KShnZihPYiwxNikpfSxWdi7JtXBpcGU9Ym8oe25hbWU6ImFzeW5jIix0eXBlOlZ2LHB1cmU6ITF9KSxWdi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOk9ifV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWdixbe3R5cGU6RF8sYXJnczpbe25hbWU6ImFzeW5jIixwdXJlOiExfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6T2J9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MganZ7dHJhbnNmb3JtKHQpe2lmKG51bGw9PXQpcmV0dXJuIG51bGw7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IEZ2KGp2LHQpO3JldHVybiB0LnRvTG93ZXJDYXNlKCl9fWp2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxqdil9LGp2Lsm1cGlwZT1ibyh7bmFtZToibG93ZXJjYXNlIix0eXBlOmp2LHB1cmU6ITB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGp2LFt7dHlwZTpEXyxhcmdzOlt7bmFtZToibG93ZXJjYXNlIn1dfV0sbnVsbCxudWxsKTtjb25zdCBVdj0vKD86W0EtWmEtelx4QUFceEI1XHhCQVx4QzAtXHhENlx4RDgtXHhGNlx4RjgtXHUwMkMxXHUwMkM2LVx1MDJEMVx1MDJFMC1cdTAyRTRcdTAyRUNcdTAyRUVcdTAzNzAtXHUwMzc0XHUwMzc2XHUwMzc3XHUwMzdBLVx1MDM3RFx1MDM3Rlx1MDM4Nlx1MDM4OC1cdTAzOEFcdTAzOENcdTAzOEUtXHUwM0ExXHUwM0EzLVx1MDNGNVx1MDNGNy1cdTA0ODFcdTA0OEEtXHUwNTJGXHUwNTMxLVx1MDU1Nlx1MDU1OVx1MDU2MS1cdTA1ODdcdTA1RDAtXHUwNUVBXHUwNUYwLVx1MDVGMlx1MDYyMC1cdTA2NEFcdTA2NkVcdTA2NkZcdTA2NzEtXHUwNkQzXHUwNkQ1XHUwNkU1XHUwNkU2XHUwNkVFXHUwNkVGXHUwNkZBLVx1MDZGQ1x1MDZGRlx1MDcxMFx1MDcxMi1cdTA3MkZcdTA3NEQtXHUwN0E1XHUwN0IxXHUwN0NBLVx1MDdFQVx1MDdGNFx1MDdGNVx1MDdGQVx1MDgwMC1cdTA4MTVcdTA4MUFcdTA4MjRcdTA4MjhcdTA4NDAtXHUwODU4XHUwODYwLVx1MDg2QVx1MDhBMC1cdTA4QjRcdTA4QjYtXHUwOEJEXHUwOTA0LVx1MDkzOVx1MDkzRFx1MDk1MFx1MDk1OC1cdTA5NjFcdTA5NzEtXHUwOTgwXHUwOTg1LVx1MDk4Q1x1MDk4Rlx1MDk5MFx1MDk5My1cdTA5QThcdTA5QUEtXHUwOUIwXHUwOUIyXHUwOUI2LVx1MDlCOVx1MDlCRFx1MDlDRVx1MDlEQ1x1MDlERFx1MDlERi1cdTA5RTFcdTA5RjBcdTA5RjFcdTA5RkNcdTBBMDUtXHUwQTBBXHUwQTBGXHUwQTEwXHUwQTEzLVx1MEEyOFx1MEEyQS1cdTBBMzBcdTBBMzJcdTBBMzNcdTBBMzVcdTBBMzZcdTBBMzhcdTBBMzlcdTBBNTktXHUwQTVDXHUwQTVFXHUwQTcyLVx1MEE3NFx1MEE4NS1cdTBBOERcdTBBOEYtXHUwQTkxXHUwQTkzLVx1MEFBOFx1MEFBQS1cdTBBQjBcdTBBQjJcdTBBQjNcdTBBQjUtXHUwQUI5XHUwQUJEXHUwQUQwXHUwQUUwXHUwQUUxXHUwQUY5XHUwQjA1LVx1MEIwQ1x1MEIwRlx1MEIxMFx1MEIxMy1cdTBCMjhcdTBCMkEtXHUwQjMwXHUwQjMyXHUwQjMzXHUwQjM1LVx1MEIzOVx1MEIzRFx1MEI1Q1x1MEI1RFx1MEI1Ri1cdTBCNjFcdTBCNzFcdTBCODNcdTBCODUtXHUwQjhBXHUwQjhFLVx1MEI5MFx1MEI5Mi1cdTBCOTVcdTBCOTlcdTBCOUFcdTBCOUNcdTBCOUVcdTBCOUZcdTBCQTNcdTBCQTRcdTBCQTgtXHUwQkFBXHUwQkFFLVx1MEJCOVx1MEJEMFx1MEMwNS1cdTBDMENcdTBDMEUtXHUwQzEwXHUwQzEyLVx1MEMyOFx1MEMyQS1cdTBDMzlcdTBDM0RcdTBDNTgtXHUwQzVBXHUwQzYwXHUwQzYxXHUwQzgwXHUwQzg1LVx1MEM4Q1x1MEM4RS1cdTBDOTBcdTBDOTItXHUwQ0E4XHUwQ0FBLVx1MENCM1x1MENCNS1cdTBDQjlcdTBDQkRcdTBDREVcdTBDRTBcdTBDRTFcdTBDRjFcdTBDRjJcdTBEMDUtXHUwRDBDXHUwRDBFLVx1MEQxMFx1MEQxMi1cdTBEM0FcdTBEM0RcdTBENEVcdTBENTQtXHUwRDU2XHUwRDVGLVx1MEQ2MVx1MEQ3QS1cdTBEN0ZcdTBEODUtXHUwRDk2XHUwRDlBLVx1MERCMVx1MERCMy1cdTBEQkJcdTBEQkRcdTBEQzAtXHUwREM2XHUwRTAxLVx1MEUzMFx1MEUzMlx1MEUzM1x1MEU0MC1cdTBFNDZcdTBFODFcdTBFODJcdTBFODRcdTBFODdcdTBFODhcdTBFOEFcdTBFOERcdTBFOTQtXHUwRTk3XHUwRTk5LVx1MEU5Rlx1MEVBMS1cdTBFQTNcdTBFQTVcdTBFQTdcdTBFQUFcdTBFQUJcdTBFQUQtXHUwRUIwXHUwRUIyXHUwRUIzXHUwRUJEXHUwRUMwLVx1MEVDNFx1MEVDNlx1MEVEQy1cdTBFREZcdTBGMDBcdTBGNDAtXHUwRjQ3XHUwRjQ5LVx1MEY2Q1x1MEY4OC1cdTBGOENcdTEwMDAtXHUxMDJBXHUxMDNGXHUxMDUwLVx1MTA1NVx1MTA1QS1cdTEwNURcdTEwNjFcdTEwNjVcdTEwNjZcdTEwNkUtXHUxMDcwXHUxMDc1LVx1MTA4MVx1MTA4RVx1MTBBMC1cdTEwQzVcdTEwQzdcdTEwQ0RcdTEwRDAtXHUxMEZBXHUxMEZDLVx1MTI0OFx1MTI0QS1cdTEyNERcdTEyNTAtXHUxMjU2XHUxMjU4XHUxMjVBLVx1MTI1RFx1MTI2MC1cdTEyODhcdTEyOEEtXHUxMjhEXHUxMjkwLVx1MTJCMFx1MTJCMi1cdTEyQjVcdTEyQjgtXHUxMkJFXHUxMkMwXHUxMkMyLVx1MTJDNVx1MTJDOC1cdTEyRDZcdTEyRDgtXHUxMzEwXHUxMzEyLVx1MTMxNVx1MTMxOC1cdTEzNUFcdTEzODAtXHUxMzhGXHUxM0EwLVx1MTNGNVx1MTNGOC1cdTEzRkRcdTE0MDEtXHUxNjZDXHUxNjZGLVx1MTY3Rlx1MTY4MS1cdTE2OUFcdTE2QTAtXHUxNkVBXHUxNkYxLVx1MTZGOFx1MTcwMC1cdTE3MENcdTE3MEUtXHUxNzExXHUxNzIwLVx1MTczMVx1MTc0MC1cdTE3NTFcdTE3NjAtXHUxNzZDXHUxNzZFLVx1MTc3MFx1MTc4MC1cdTE3QjNcdTE3RDdcdTE3RENcdTE4MjAtXHUxODc3XHUxODgwLVx1MTg4NFx1MTg4Ny1cdTE4QThcdTE4QUFcdTE4QjAtXHUxOEY1XHUxOTAwLVx1MTkxRVx1MTk1MC1cdTE5NkRcdTE5NzAtXHUxOTc0XHUxOTgwLVx1MTlBQlx1MTlCMC1cdTE5QzlcdTFBMDAtXHUxQTE2XHUxQTIwLVx1MUE1NFx1MUFBN1x1MUIwNS1cdTFCMzNcdTFCNDUtXHUxQjRCXHUxQjgzLVx1MUJBMFx1MUJBRVx1MUJBRlx1MUJCQS1cdTFCRTVcdTFDMDAtXHUxQzIzXHUxQzRELVx1MUM0Rlx1MUM1QS1cdTFDN0RcdTFDODAtXHUxQzg4XHUxQ0U5LVx1MUNFQ1x1MUNFRS1cdTFDRjFcdTFDRjVcdTFDRjZcdTFEMDAtXHUxREJGXHUxRTAwLVx1MUYxNVx1MUYxOC1cdTFGMURcdTFGMjAtXHUxRjQ1XHUxRjQ4LVx1MUY0RFx1MUY1MC1cdTFGNTdcdTFGNTlcdTFGNUJcdTFGNURcdTFGNUYtXHUxRjdEXHUxRjgwLVx1MUZCNFx1MUZCNi1cdTFGQkNcdTFGQkVcdTFGQzItXHUxRkM0XHUxRkM2LVx1MUZDQ1x1MUZEMC1cdTFGRDNcdTFGRDYtXHUxRkRCXHUxRkUwLVx1MUZFQ1x1MUZGMi1cdTFGRjRcdTFGRjYtXHUxRkZDXHUyMDcxXHUyMDdGXHUyMDkwLVx1MjA5Q1x1MjEwMlx1MjEwN1x1MjEwQS1cdTIxMTNcdTIxMTVcdTIxMTktXHUyMTFEXHUyMTI0XHUyMTI2XHUyMTI4XHUyMTJBLVx1MjEyRFx1MjEyRi1cdTIxMzlcdTIxM0MtXHUyMTNGXHUyMTQ1LVx1MjE0OVx1MjE0RVx1MjE4M1x1MjE4NFx1MkMwMC1cdTJDMkVcdTJDMzAtXHUyQzVFXHUyQzYwLVx1MkNFNFx1MkNFQi1cdTJDRUVcdTJDRjJcdTJDRjNcdTJEMDAtXHUyRDI1XHUyRDI3XHUyRDJEXHUyRDMwLVx1MkQ2N1x1MkQ2Rlx1MkQ4MC1cdTJEOTZcdTJEQTAtXHUyREE2XHUyREE4LVx1MkRBRVx1MkRCMC1cdTJEQjZcdTJEQjgtXHUyREJFXHUyREMwLVx1MkRDNlx1MkRDOC1cdTJEQ0VcdTJERDAtXHUyREQ2XHUyREQ4LVx1MkRERVx1MkUyRlx1MzAwNVx1MzAwNlx1MzAzMS1cdTMwMzVcdTMwM0JcdTMwM0NcdTMwNDEtXHUzMDk2XHUzMDlELVx1MzA5Rlx1MzBBMS1cdTMwRkFcdTMwRkMtXHUzMEZGXHUzMTA1LVx1MzEyRVx1MzEzMS1cdTMxOEVcdTMxQTAtXHUzMUJBXHUzMUYwLVx1MzFGRlx1MzQwMC1cdTREQjVcdTRFMDAtXHU5RkVBXHVBMDAwLVx1QTQ4Q1x1QTREMC1cdUE0RkRcdUE1MDAtXHVBNjBDXHVBNjEwLVx1QTYxRlx1QTYyQVx1QTYyQlx1QTY0MC1cdUE2NkVcdUE2N0YtXHVBNjlEXHVBNkEwLVx1QTZFNVx1QTcxNy1cdUE3MUZcdUE3MjItXHVBNzg4XHVBNzhCLVx1QTdBRVx1QTdCMC1cdUE3QjdcdUE3RjctXHVBODAxXHVBODAzLVx1QTgwNVx1QTgwNy1cdUE4MEFcdUE4MEMtXHVBODIyXHVBODQwLVx1QTg3M1x1QTg4Mi1cdUE4QjNcdUE4RjItXHVBOEY3XHVBOEZCXHVBOEZEXHVBOTBBLVx1QTkyNVx1QTkzMC1cdUE5NDZcdUE5NjAtXHVBOTdDXHVBOTg0LVx1QTlCMlx1QTlDRlx1QTlFMC1cdUE5RTRcdUE5RTYtXHVBOUVGXHVBOUZBLVx1QTlGRVx1QUEwMC1cdUFBMjhcdUFBNDAtXHVBQTQyXHVBQTQ0LVx1QUE0Qlx1QUE2MC1cdUFBNzZcdUFBN0FcdUFBN0UtXHVBQUFGXHVBQUIxXHVBQUI1XHVBQUI2XHVBQUI5LVx1QUFCRFx1QUFDMFx1QUFDMlx1QUFEQi1cdUFBRERcdUFBRTAtXHVBQUVBXHVBQUYyLVx1QUFGNFx1QUIwMS1cdUFCMDZcdUFCMDktXHVBQjBFXHVBQjExLVx1QUIxNlx1QUIyMC1cdUFCMjZcdUFCMjgtXHVBQjJFXHVBQjMwLVx1QUI1QVx1QUI1Qy1cdUFCNjVcdUFCNzAtXHVBQkUyXHVBQzAwLVx1RDdBM1x1RDdCMC1cdUQ3QzZcdUQ3Q0ItXHVEN0ZCXHVGOTAwLVx1RkE2RFx1RkE3MC1cdUZBRDlcdUZCMDAtXHVGQjA2XHVGQjEzLVx1RkIxN1x1RkIxRFx1RkIxRi1cdUZCMjhcdUZCMkEtXHVGQjM2XHVGQjM4LVx1RkIzQ1x1RkIzRVx1RkI0MFx1RkI0MVx1RkI0M1x1RkI0NFx1RkI0Ni1cdUZCQjFcdUZCRDMtXHVGRDNEXHVGRDUwLVx1RkQ4Rlx1RkQ5Mi1cdUZEQzdcdUZERjAtXHVGREZCXHVGRTcwLVx1RkU3NFx1RkU3Ni1cdUZFRkNcdUZGMjEtXHVGRjNBXHVGRjQxLVx1RkY1QVx1RkY2Ni1cdUZGQkVcdUZGQzItXHVGRkM3XHVGRkNBLVx1RkZDRlx1RkZEMi1cdUZGRDdcdUZGREEtXHVGRkRDXXxcdUQ4MDBbXHVEQzAwLVx1REMwQlx1REMwRC1cdURDMjZcdURDMjgtXHVEQzNBXHVEQzNDXHVEQzNEXHVEQzNGLVx1REM0RFx1REM1MC1cdURDNURcdURDODAtXHVEQ0ZBXHVERTgwLVx1REU5Q1x1REVBMC1cdURFRDBcdURGMDAtXHVERjFGXHVERjJELVx1REY0MFx1REY0Mi1cdURGNDlcdURGNTAtXHVERjc1XHVERjgwLVx1REY5RFx1REZBMC1cdURGQzNcdURGQzgtXHVERkNGXXxcdUQ4MDFbXHVEQzAwLVx1REM5RFx1RENCMC1cdURDRDNcdURDRDgtXHVEQ0ZCXHVERDAwLVx1REQyN1x1REQzMC1cdURENjNcdURFMDAtXHVERjM2XHVERjQwLVx1REY1NVx1REY2MC1cdURGNjddfFx1RDgwMltcdURDMDAtXHVEQzA1XHVEQzA4XHVEQzBBLVx1REMzNVx1REMzN1x1REMzOFx1REMzQ1x1REMzRi1cdURDNTVcdURDNjAtXHVEQzc2XHVEQzgwLVx1REM5RVx1RENFMC1cdURDRjJcdURDRjRcdURDRjVcdUREMDAtXHVERDE1XHVERDIwLVx1REQzOVx1REQ4MC1cdUREQjdcdUREQkVcdUREQkZcdURFMDBcdURFMTAtXHVERTEzXHVERTE1LVx1REUxN1x1REUxOS1cdURFMzNcdURFNjAtXHVERTdDXHVERTgwLVx1REU5Q1x1REVDMC1cdURFQzdcdURFQzktXHVERUU0XHVERjAwLVx1REYzNVx1REY0MC1cdURGNTVcdURGNjAtXHVERjcyXHVERjgwLVx1REY5MV18XHVEODAzW1x1REMwMC1cdURDNDhcdURDODAtXHVEQ0IyXHVEQ0MwLVx1RENGMl18XHVEODA0W1x1REMwMy1cdURDMzdcdURDODMtXHVEQ0FGXHVEQ0QwLVx1RENFOFx1REQwMy1cdUREMjZcdURENTAtXHVERDcyXHVERDc2XHVERDgzLVx1RERCMlx1RERDMS1cdUREQzRcdUREREFcdURERENcdURFMDAtXHVERTExXHVERTEzLVx1REUyQlx1REU4MC1cdURFODZcdURFODhcdURFOEEtXHVERThEXHVERThGLVx1REU5RFx1REU5Ri1cdURFQThcdURFQjAtXHVERURFXHVERjA1LVx1REYwQ1x1REYwRlx1REYxMFx1REYxMy1cdURGMjhcdURGMkEtXHVERjMwXHVERjMyXHVERjMzXHVERjM1LVx1REYzOVx1REYzRFx1REY1MFx1REY1RC1cdURGNjFdfFx1RDgwNVtcdURDMDAtXHVEQzM0XHVEQzQ3LVx1REM0QVx1REM4MC1cdURDQUZcdURDQzRcdURDQzVcdURDQzdcdUREODAtXHVEREFFXHVEREQ4LVx1REREQlx1REUwMC1cdURFMkZcdURFNDRcdURFODAtXHVERUFBXHVERjAwLVx1REYxOV18XHVEODA2W1x1RENBMC1cdURDREZcdURDRkZcdURFMDBcdURFMEItXHVERTMyXHVERTNBXHVERTUwXHVERTVDLVx1REU4M1x1REU4Ni1cdURFODlcdURFQzAtXHVERUY4XXxcdUQ4MDdbXHVEQzAwLVx1REMwOFx1REMwQS1cdURDMkVcdURDNDBcdURDNzItXHVEQzhGXHVERDAwLVx1REQwNlx1REQwOFx1REQwOVx1REQwQi1cdUREMzBcdURENDZdfFx1RDgwOFtcdURDMDAtXHVERjk5XXxcdUQ4MDlbXHVEQzgwLVx1REQ0M118W1x1RDgwQ1x1RDgxQy1cdUQ4MjBcdUQ4NDAtXHVEODY4XHVEODZBLVx1RDg2Q1x1RDg2Ri1cdUQ4NzJcdUQ4NzQtXHVEODc5XVtcdURDMDAtXHVERkZGXXxcdUQ4MERbXHVEQzAwLVx1REMyRV18XHVEODExW1x1REMwMC1cdURFNDZdfFx1RDgxQVtcdURDMDAtXHVERTM4XHVERTQwLVx1REU1RVx1REVEMC1cdURFRURcdURGMDAtXHVERjJGXHVERjQwLVx1REY0M1x1REY2My1cdURGNzdcdURGN0QtXHVERjhGXXxcdUQ4MUJbXHVERjAwLVx1REY0NFx1REY1MFx1REY5My1cdURGOUZcdURGRTBcdURGRTFdfFx1RDgyMVtcdURDMDAtXHVERkVDXXxcdUQ4MjJbXHVEQzAwLVx1REVGMl18XHVEODJDW1x1REMwMC1cdUREMUVcdURENzAtXHVERUZCXXxcdUQ4MkZbXHVEQzAwLVx1REM2QVx1REM3MC1cdURDN0NcdURDODAtXHVEQzg4XHVEQzkwLVx1REM5OV18XHVEODM1W1x1REMwMC1cdURDNTRcdURDNTYtXHVEQzlDXHVEQzlFXHVEQzlGXHVEQ0EyXHVEQ0E1XHVEQ0E2XHVEQ0E5LVx1RENBQ1x1RENBRS1cdURDQjlcdURDQkJcdURDQkQtXHVEQ0MzXHVEQ0M1LVx1REQwNVx1REQwNy1cdUREMEFcdUREMEQtXHVERDE0XHVERDE2LVx1REQxQ1x1REQxRS1cdUREMzlcdUREM0ItXHVERDNFXHVERDQwLVx1REQ0NFx1REQ0Nlx1REQ0QS1cdURENTBcdURENTItXHVERUE1XHVERUE4LVx1REVDMFx1REVDMi1cdURFREFcdURFREMtXHVERUZBXHVERUZDLVx1REYxNFx1REYxNi1cdURGMzRcdURGMzYtXHVERjRFXHVERjUwLVx1REY2RVx1REY3MC1cdURGODhcdURGOEEtXHVERkE4XHVERkFBLVx1REZDMlx1REZDNC1cdURGQ0JdfFx1RDgzQVtcdURDMDAtXHVEQ0M0XHVERDAwLVx1REQ0M118XHVEODNCW1x1REUwMC1cdURFMDNcdURFMDUtXHVERTFGXHVERTIxXHVERTIyXHVERTI0XHVERTI3XHVERTI5LVx1REUzMlx1REUzNC1cdURFMzdcdURFMzlcdURFM0JcdURFNDJcdURFNDdcdURFNDlcdURFNEJcdURFNEQtXHVERTRGXHVERTUxXHVERTUyXHVERTU0XHVERTU3XHVERTU5XHVERTVCXHVERTVEXHVERTVGXHVERTYxXHVERTYyXHVERTY0XHVERTY3LVx1REU2QVx1REU2Qy1cdURFNzJcdURFNzQtXHVERTc3XHVERTc5LVx1REU3Q1x1REU3RVx1REU4MC1cdURFODlcdURFOEItXHVERTlCXHVERUExLVx1REVBM1x1REVBNS1cdURFQTlcdURFQUItXHVERUJCXXxcdUQ4NjlbXHVEQzAwLVx1REVENlx1REYwMC1cdURGRkZdfFx1RDg2RFtcdURDMDAtXHVERjM0XHVERjQwLVx1REZGRl18XHVEODZFW1x1REMwMC1cdURDMURcdURDMjAtXHVERkZGXXxcdUQ4NzNbXHVEQzAwLVx1REVBMVx1REVCMC1cdURGRkZdfFx1RDg3QVtcdURDMDAtXHVERkUwXXxcdUQ4N0VbXHVEQzAwLVx1REUxRF0pXFMqL2c7Y2xhc3MgV3Z7dHJhbnNmb3JtKHQpe2lmKG51bGw9PXQpcmV0dXJuIG51bGw7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IEZ2KFd2LHQpO3JldHVybiB0LnJlcGxhY2UoVXYsKHQ9PnRbMF0udG9VcHBlckNhc2UoKSt0LnN1YnN0cigxKS50b0xvd2VyQ2FzZSgpKSl9fVd2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxXdil9LFd2Lsm1cGlwZT1ibyh7bmFtZToidGl0bGVjYXNlIix0eXBlOld2LHB1cmU6ITB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFd2LFt7dHlwZTpEXyxhcmdzOlt7bmFtZToidGl0bGVjYXNlIn1dfV0sbnVsbCxudWxsKTtjbGFzcyBHdnt0cmFuc2Zvcm0odCl7aWYobnVsbD09dClyZXR1cm4gbnVsbDtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgRnYoR3YsdCk7cmV0dXJuIHQudG9VcHBlckNhc2UoKX19R3YuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEd2KX0sR3YuybVwaXBlPWJvKHtuYW1lOiJ1cHBlcmNhc2UiLHR5cGU6R3YscHVyZTohMH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoR3YsW3t0eXBlOkRfLGFyZ3M6W3tuYW1lOiJ1cHBlcmNhc2UifV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgWXZ7Y29uc3RydWN0b3IodCl7dGhpcy5sb2NhbGU9dH10cmFuc2Zvcm0odCxlPSJtZWRpdW1EYXRlIixuLG8pe2lmKG51bGw9PXR8fCIiPT09dHx8dCE9dClyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIFpNKHQsZSxvfHx0aGlzLmxvY2FsZSxuKX1jYXRjaCh0KXt0aHJvdyBGdihZdix0Lm1lc3NhZ2UpfX19WXYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFl2KShnZihRXywxNikpfSxZdi7JtXBpcGU9Ym8oe25hbWU6ImRhdGUiLHR5cGU6WXYscHVyZTohMH0pLFl2LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1FfXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihZdixbe3R5cGU6RF8sYXJnczpbe25hbWU6ImRhdGUiLHB1cmU6ITB9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbUV9dfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgcXY9LyMvZztjbGFzcyBadntjb25zdHJ1Y3Rvcih0KXt0aGlzLl9sb2NhbGl6YXRpb249dH10cmFuc2Zvcm0odCxlLG4pe2lmKG51bGw9PXQpcmV0dXJuIiI7aWYoIm9iamVjdCIhPXR5cGVvZiBlfHxudWxsPT09ZSl0aHJvdyBGdihadixlKTtyZXR1cm4gZVtidih0LE9iamVjdC5rZXlzKGUpLHRoaXMuX2xvY2FsaXphdGlvbixuKV0ucmVwbGFjZShxdix0LnRvU3RyaW5nKCkpfX1adi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WnYpKGdmKGh2LDE2KSl9LFp2Lsm1cGlwZT1ibyh7bmFtZToiaTE4blBsdXJhbCIsdHlwZTpadixwdXJlOiEwfSksWnYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpodn1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWnYsW3t0eXBlOkRfLGFyZ3M6W3tuYW1lOiJpMThuUGx1cmFsIixwdXJlOiEwfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aHZ9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgWHZ7dHJhbnNmb3JtKHQsZSl7aWYobnVsbD09dClyZXR1cm4iIjtpZigib2JqZWN0IiE9dHlwZW9mIGV8fCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBGdihYdixlKTtyZXR1cm4gZS5oYXNPd25Qcm9wZXJ0eSh0KT9lW3RdOmUuaGFzT3duUHJvcGVydHkoIm90aGVyIik/ZS5vdGhlcjoiIn19WHYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFh2KX0sWHYuybVwaXBlPWJvKHtuYW1lOiJpMThuU2VsZWN0Iix0eXBlOlh2LHB1cmU6ITB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFh2LFt7dHlwZTpEXyxhcmdzOlt7bmFtZToiaTE4blNlbGVjdCIscHVyZTohMH1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIEt2e3RyYW5zZm9ybSh0KXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCxudWxsLDIpfX1Ldi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8S3YpfSxLdi7JtXBpcGU9Ym8oe25hbWU6Impzb24iLHR5cGU6S3YscHVyZTohMX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoS3YsW3t0eXBlOkRfLGFyZ3M6W3tuYW1lOiJqc29uIixwdXJlOiExfV19XSxudWxsLG51bGwpO2NsYXNzIEp2e2NvbnN0cnVjdG9yKHQpe3RoaXMuZGlmZmVycz10LHRoaXMua2V5VmFsdWVzPVtdLHRoaXMuY29tcGFyZUZuPVF2fXRyYW5zZm9ybSh0LGU9UXYpe2lmKCF0fHwhKHQgaW5zdGFuY2VvZiBNYXApJiYib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuIG51bGw7dGhpcy5kaWZmZXJ8fCh0aGlzLmRpZmZlcj10aGlzLmRpZmZlcnMuZmluZCh0KS5jcmVhdGUoKSk7Y29uc3Qgbj10aGlzLmRpZmZlci5kaWZmKHQpLG89ZSE9PXRoaXMuY29tcGFyZUZuO3JldHVybiBuJiYodGhpcy5rZXlWYWx1ZXM9W10sbi5mb3JFYWNoSXRlbSgodD0+e3RoaXMua2V5VmFsdWVzLnB1c2goKAovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gZSh0LG4pe3JldHVybntrZXk6dCx2YWx1ZTpufX0pKHQua2V5LHQuY3VycmVudFZhbHVlKSl9KSkpLChufHxvKSYmKHRoaXMua2V5VmFsdWVzLnNvcnQoZSksdGhpcy5jb21wYXJlRm49ZSksdGhpcy5rZXlWYWx1ZXN9fWZ1bmN0aW9uIFF2KHQsZSl7Y29uc3Qgbj10LmtleSxvPWUua2V5O2lmKG49PT1vKXJldHVybiAwO2lmKHZvaWQgMD09PW4pcmV0dXJuIDE7aWYodm9pZCAwPT09bylyZXR1cm4tMTtpZihudWxsPT09bilyZXR1cm4gMTtpZihudWxsPT09bylyZXR1cm4tMTtpZigic3RyaW5nIj09dHlwZW9mIG4mJiJzdHJpbmciPT10eXBlb2YgbylyZXR1cm4gbjxvPy0xOjE7aWYoIm51bWJlciI9PXR5cGVvZiBuJiYibnVtYmVyIj09dHlwZW9mIG8pcmV0dXJuIG4tbztpZigiYm9vbGVhbiI9PXR5cGVvZiBuJiYiYm9vbGVhbiI9PXR5cGVvZiBvKXJldHVybiBuPG8/LTE6MTtjb25zdCBpPVN0cmluZyhuKSxhPVN0cmluZyhvKTtyZXR1cm4gaT09YT8wOmk8YT8tMToxfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9Kdi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SnYpKGdmKHliLDE2KSl9LEp2Lsm1cGlwZT1ibyh7bmFtZToia2V5dmFsdWUiLHR5cGU6SnYscHVyZTohMX0pLEp2LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6eWJ9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEp2LFt7dHlwZTpEXyxhcmdzOlt7bmFtZToia2V5dmFsdWUiLHB1cmU6ITF9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp5Yn1dfSksbnVsbCk7Y2xhc3MgJHZ7Y29uc3RydWN0b3IodCl7dGhpcy5fbG9jYWxlPXR9dHJhbnNmb3JtKHQsZSxuKXtpZighbngodCkpcmV0dXJuIG51bGw7bj1ufHx0aGlzLl9sb2NhbGU7dHJ5e3JldHVybiBmdihveCh0KSxuLGUpfWNhdGNoKHQpe3Rocm93IEZ2KCR2LHQubWVzc2FnZSl9fX0kdi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JHYpKGdmKFFfLDE2KSl9LCR2Lsm1cGlwZT1ibyh7bmFtZToibnVtYmVyIix0eXBlOiR2LHB1cmU6ITB9KSwkdi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltRX119XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJHYsW3t0eXBlOkRfLGFyZ3M6W3tuYW1lOiJudW1iZXIifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1FfXX1dfV19KSxudWxsKTtjbGFzcyB0eHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9sb2NhbGU9dH10cmFuc2Zvcm0odCxlLG4pe2lmKCFueCh0KSlyZXR1cm4gbnVsbDtuPW58fHRoaXMuX2xvY2FsZTt0cnl7cmV0dXJuKGZ1bmN0aW9uIG8odCxlLG4pe3JldHVybiBwdih0LHV2KElNKGUsUE0uUGVyY2VudCksek0oZSxSTS5NaW51c1NpZ24pKSxlLFJNLkdyb3VwLFJNLkRlY2ltYWwsbiwhMCkucmVwbGFjZShuZXcgUmVnRXhwKCIlIiwiZyIpLHpNKGUsUk0uUGVyY2VudFNpZ24pKX0pKG94KHQpLG4sZSl9Y2F0Y2godCl7dGhyb3cgRnYodHgsdC5tZXNzYWdlKX19fXR4Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0eCkoZ2YoUV8sMTYpKX0sdHguybVwaXBlPWJvKHtuYW1lOiJwZXJjZW50Iix0eXBlOnR4LHB1cmU6ITB9KSx0eC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltRX119XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodHgsW3t0eXBlOkRfLGFyZ3M6W3tuYW1lOiJwZXJjZW50In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltRX119XX1dfSksbnVsbCk7Y2xhc3MgZXh7Y29uc3RydWN0b3IodCxlPSJVU0QiKXt0aGlzLl9sb2NhbGU9dCx0aGlzLl9kZWZhdWx0Q3VycmVuY3lDb2RlPWV9dHJhbnNmb3JtKHQsZT10aGlzLl9kZWZhdWx0Q3VycmVuY3lDb2RlLG49InN5bWJvbCIsbyxpKXtpZighbngodCkpcmV0dXJuIG51bGw7aT1pfHx0aGlzLl9sb2NhbGUsImJvb2xlYW4iPT10eXBlb2YgbiYmKCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmY29uc29sZSYmY29uc29sZS53YXJuJiZjb25zb2xlLndhcm4oJ1dhcm5pbmc6IHRoZSBjdXJyZW5jeSBwaXBlIGhhcyBiZWVuIGNoYW5nZWQgaW4gQW5ndWxhciB2NS4gVGhlIHN5bWJvbERpc3BsYXkgb3B0aW9uICh0aGlyZCBwYXJhbWV0ZXIpIGlzIG5vdyBhIHN0cmluZyBpbnN0ZWFkIG9mIGEgYm9vbGVhbi4gVGhlIGFjY2VwdGVkIHZhbHVlcyBhcmUgImNvZGUiLCAic3ltYm9sIiBvciAic3ltYm9sLW5hcnJvdyIuJyksbj1uPyJzeW1ib2wiOiJjb2RlIik7bGV0IGE9ZXx8dGhpcy5fZGVmYXVsdEN1cnJlbmN5Q29kZTsiY29kZSIhPT1uJiYoYT0ic3ltYm9sIj09PW58fCJzeW1ib2wtbmFycm93Ij09PW4/Vk0oYSwic3ltYm9sIj09PW4/IndpZGUiOiJuYXJyb3ciLGkpOm4pO3RyeXtyZXR1cm4gbXYob3godCksaSxhLGUsbyl9Y2F0Y2godCl7dGhyb3cgRnYoZXgsdC5tZXNzYWdlKX19fWZ1bmN0aW9uIG54KHQpe3JldHVybiEobnVsbD09dHx8IiI9PT10fHx0IT10KX1mdW5jdGlvbiBveCh0KXtpZigic3RyaW5nIj09dHlwZW9mIHQmJiFpc05hTihOdW1iZXIodCktcGFyc2VGbG9hdCh0KSkpcmV0dXJuIE51bWJlcih0KTtpZigibnVtYmVyIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKGAke3R9IGlzIG5vdCBhIG51bWJlcmApO3JldHVybiB0fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9leC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZXgpKGdmKFFfLDE2KSxnZigkXywxNikpfSxleC7JtXBpcGU9Ym8oe25hbWU6ImN1cnJlbmN5Iix0eXBlOmV4LHB1cmU6ITB9KSxleC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltRX119XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6WyRfXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihleCxbe3R5cGU6RF8sYXJnczpbe25hbWU6ImN1cnJlbmN5In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltRX119XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6WyRfXX1dfV19KSxudWxsKTtjbGFzcyBpeHt0cmFuc2Zvcm0odCxlLG4pe2lmKG51bGw9PXQpcmV0dXJuIG51bGw7aWYoIXRoaXMuc3VwcG9ydHModCkpdGhyb3cgRnYoaXgsdCk7cmV0dXJuIHQuc2xpY2UoZSxuKX1zdXBwb3J0cyh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR8fEFycmF5LmlzQXJyYXkodCl9fWl4Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxpeCl9LGl4Lsm1cGlwZT1ibyh7bmFtZToic2xpY2UiLHR5cGU6aXgscHVyZTohMX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaXgsW3t0eXBlOkRfLGFyZ3M6W3tuYW1lOiJzbGljZSIscHVyZTohMX1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IGF4PVtWdixHdixqdixLdixpeCwkdix0eCxXdixleCxZdixadixYdixKdl07Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIHJ4e31yeC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cngpfSxyeC7JtW1vZD1mbyh7dHlwZTpyeH0pLHJ4Lsm1aW5qPURuKHtwcm92aWRlcnM6W3twcm92aWRlOmh2LHVzZUNsYXNzOnl2fV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHJ4LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltIdixheF0sZXhwb3J0czpbSHYsYXhdLHByb3ZpZGVyczpbe3Byb3ZpZGU6aHYsdXNlQ2xhc3M6eXZ9XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHJ4LHtkZWNsYXJhdGlvbnM6W0N2LE12LHh2LFB2LEl2LHp2LER2LFJ2LEV2LFR2LE52LFZ2LEd2LGp2LEt2LGl4LCR2LHR4LFd2LGV4LFl2LFp2LFh2LEp2XSxleHBvcnRzOltDdixNdix4dixQdixJdix6dixEdixSdixFdixUdixOdixWdixHdixqdixLdixpeCwkdix0eCxXdixleCxZdixadixYdixKdl19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHN4PSJicm93c2VyIjsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCm5ldyBvYigiMTIuMi4xIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBseHt9bHguybVwcm92PVNuKHt0b2tlbjpseCxwcm92aWRlZEluOiJyb290IixmYWN0b3J5OigpPT5uZXcgY3goVHIoc00pLHdpbmRvdyl9KTtjbGFzcyBjeHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuZG9jdW1lbnQ9dCx0aGlzLndpbmRvdz1lLHRoaXMub2Zmc2V0PSgpPT5bMCwwXX1zZXRPZmZzZXQodCl7dGhpcy5vZmZzZXQ9QXJyYXkuaXNBcnJheSh0KT8oKT0+dDp0fWdldFNjcm9sbFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuc3VwcG9ydHNTY3JvbGxpbmcoKT9bdGhpcy53aW5kb3cucGFnZVhPZmZzZXQsdGhpcy53aW5kb3cucGFnZVlPZmZzZXRdOlswLDBdfXNjcm9sbFRvUG9zaXRpb24odCl7dGhpcy5zdXBwb3J0c1Njcm9sbGluZygpJiZ0aGlzLndpbmRvdy5zY3JvbGxUbyh0WzBdLHRbMV0pfXNjcm9sbFRvQW5jaG9yKHQpe2lmKCF0aGlzLnN1cHBvcnRzU2Nyb2xsaW5nKCkpcmV0dXJuO2NvbnN0IGU9KGZ1bmN0aW9uIG4odCxlKXtjb25zdCBuPXQuZ2V0RWxlbWVudEJ5SWQoZSl8fHQuZ2V0RWxlbWVudHNCeU5hbWUoZSlbMF07aWYobilyZXR1cm4gbjtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC5jcmVhdGVUcmVlV2Fsa2VyJiZ0LmJvZHkmJih0LmJvZHkuY3JlYXRlU2hhZG93Um9vdHx8dC5ib2R5LmF0dGFjaFNoYWRvdykpe2NvbnN0IG49dC5jcmVhdGVUcmVlV2Fsa2VyKHQuYm9keSxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCk7bGV0IG89bi5jdXJyZW50Tm9kZTtmb3IoO287KXtjb25zdCB0PW8uc2hhZG93Um9vdDtpZih0KXtjb25zdCBuPXQuZ2V0RWxlbWVudEJ5SWQoZSl8fHQucXVlcnlTZWxlY3RvcihgW25hbWU9IiR7ZX0iXWApO2lmKG4pcmV0dXJuIG59bz1uLm5leHROb2RlKCl9fXJldHVybiBudWxsfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKHRoaXMuZG9jdW1lbnQsdCk7ZSYmKHRoaXMuc2Nyb2xsVG9FbGVtZW50KGUpLHRoaXMuYXR0ZW1wdEZvY3VzKGUpKX1zZXRIaXN0b3J5U2Nyb2xsUmVzdG9yYXRpb24odCl7aWYodGhpcy5zdXBwb3J0U2Nyb2xsUmVzdG9yYXRpb24oKSl7Y29uc3QgZT10aGlzLndpbmRvdy5oaXN0b3J5O2UmJmUuc2Nyb2xsUmVzdG9yYXRpb24mJihlLnNjcm9sbFJlc3RvcmF0aW9uPXQpfX1zY3JvbGxUb0VsZW1lbnQodCl7Y29uc3QgZT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49ZS5sZWZ0K3RoaXMud2luZG93LnBhZ2VYT2Zmc2V0LG89ZS50b3ArdGhpcy53aW5kb3cucGFnZVlPZmZzZXQsaT10aGlzLm9mZnNldCgpO3RoaXMud2luZG93LnNjcm9sbFRvKG4taVswXSxvLWlbMV0pfWF0dGVtcHRGb2N1cyh0KXtyZXR1cm4gdC5mb2N1cygpLHRoaXMuZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXR9c3VwcG9ydFNjcm9sbFJlc3RvcmF0aW9uKCl7dHJ5e2lmKCF0aGlzLnN1cHBvcnRzU2Nyb2xsaW5nKCkpcmV0dXJuITE7Y29uc3QgdD1keCh0aGlzLndpbmRvdy5oaXN0b3J5KXx8ZHgoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMud2luZG93Lmhpc3RvcnkpKTtyZXR1cm4hKCF0fHwhdC53cml0YWJsZSYmIXQuc2V0KX1jYXRjaCh0KXtyZXR1cm4hMX19c3VwcG9ydHNTY3JvbGxpbmcoKXt0cnl7cmV0dXJuISF0aGlzLndpbmRvdyYmISF0aGlzLndpbmRvdy5zY3JvbGxUbyYmInBhZ2VYT2Zmc2V0ImluIHRoaXMud2luZG93fWNhdGNoKHQpe3JldHVybiExfX19ZnVuY3Rpb24gZHgodCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCwic2Nyb2xsUmVzdG9yYXRpb24iKX1jbGFzcyBweHt9Ci8qKgogICAgICogQGxpY2Vuc2UgQW5ndWxhciB2MTIuMi4xCiAgICAgKiAoYykgMjAxMC0yMDIxIEdvb2dsZSBMTEMuIGh0dHBzOi8vYW5ndWxhci5pby8KICAgICAqIExpY2Vuc2U6IE1JVAogICAgICovCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgbXggZXh0ZW5kcyBjbGFzcyBleHRlbmRzIGNsYXNze317Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuc3VwcG9ydHNET01FdmVudHM9ITB9fXtzdGF0aWMgbWFrZUN1cnJlbnQoKXshKGZ1bmN0aW9uIHQoZSl7YU18fChhTT1lKX0pKG5ldyBteCl9b25BbmRDYW5jZWwodCxlLG4pe3JldHVybiB0LmFkZEV2ZW50TGlzdGVuZXIoZSxuLCExKSwoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4sITEpfX1kaXNwYXRjaEV2ZW50KHQsZSl7dC5kaXNwYXRjaEV2ZW50KGUpfXJlbW92ZSh0KXt0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KX1jcmVhdGVFbGVtZW50KHQsZSl7cmV0dXJuKGU9ZXx8dGhpcy5nZXREZWZhdWx0RG9jdW1lbnQoKSkuY3JlYXRlRWxlbWVudCh0KX1jcmVhdGVIdG1sRG9jdW1lbnQoKXtyZXR1cm4gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCJmYWtlVGl0bGUiKX1nZXREZWZhdWx0RG9jdW1lbnQoKXtyZXR1cm4gZG9jdW1lbnR9aXNFbGVtZW50Tm9kZSh0KXtyZXR1cm4gdC5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFfWlzU2hhZG93Um9vdCh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnR9Z2V0R2xvYmFsRXZlbnRUYXJnZXQodCxlKXtyZXR1cm4id2luZG93Ij09PWU/d2luZG93OiJkb2N1bWVudCI9PT1lP3Q6ImJvZHkiPT09ZT90LmJvZHk6bnVsbH1nZXRCYXNlSHJlZih0KXtjb25zdCBlPShmdW5jdGlvbiBuKCl7cmV0dXJuIHV4PXV4fHxkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJiYXNlIiksdXg/dXguZ2V0QXR0cmlidXRlKCJocmVmIik6bnVsbH0pKCk7cmV0dXJuIG51bGw9PWU/bnVsbDooZnVuY3Rpb24gbyh0KXtmeD1meHx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLGZ4LnNldEF0dHJpYnV0ZSgiaHJlZiIsdCk7Y29uc3QgZT1meC5wYXRobmFtZTtyZXR1cm4iLyI9PT1lLmNoYXJBdCgwKT9lOmAvJHtlfWB9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykoZSl9cmVzZXRCYXNlRWxlbWVudCgpe3V4PW51bGx9Z2V0VXNlckFnZW50KCl7cmV0dXJuIHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50fWdldENvb2tpZSh0KXtyZXR1cm4gX3YoZG9jdW1lbnQuY29va2llLHQpfX1sZXQgZngsdXg9bnVsbDtjb25zdCBneD1uZXcgZXIoIlRSQU5TSVRJT05fSUQiKTtjb25zdCBoeD1be3Byb3ZpZGU6al8sdXNlRmFjdG9yeTpmdW5jdGlvbiBieCh0LGUsbil7cmV0dXJuKCk9PntuLmdldChVXykuZG9uZVByb21pc2UudGhlbigoKCk9Pntjb25zdCBuPXJNKCk7QXJyYXkucHJvdG90eXBlLnNsaWNlLmFwcGx5KGUucXVlcnlTZWxlY3RvckFsbCgic3R5bGVbbmctdHJhbnNpdGlvbl0iKSkuZmlsdGVyKChlPT5lLmdldEF0dHJpYnV0ZSgibmctdHJhbnNpdGlvbiIpPT09dCkpLmZvckVhY2goKHQ9Pm4ucmVtb3ZlKHQpKSl9KSl9fSxkZXBzOltneCxzTSxOcF0sbXVsdGk6ITB9XTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgeXh7c3RhdGljIGluaXQoKXshKGZ1bmN0aW9uIHQoZSl7dkM9ZX0pKG5ldyB5eCl9YWRkVG9XaW5kb3codCl7WG4uZ2V0QW5ndWxhclRlc3RhYmlsaXR5PShlLG49ITApPT57Y29uc3Qgbz10LmZpbmRUZXN0YWJpbGl0eUluVHJlZShlLG4pO2lmKG51bGw9PW8pdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZmluZCB0ZXN0YWJpbGl0eSBmb3IgZWxlbWVudC4iKTtyZXR1cm4gb30sWG4uZ2V0QWxsQW5ndWxhclRlc3RhYmlsaXRpZXM9KCk9PnQuZ2V0QWxsVGVzdGFiaWxpdGllcygpLFhuLmdldEFsbEFuZ3VsYXJSb290RWxlbWVudHM9KCk9PnQuZ2V0QWxsUm9vdEVsZW1lbnRzKCk7WG4uZnJhbWV3b3JrU3RhYmlsaXplcnN8fChYbi5mcmFtZXdvcmtTdGFiaWxpemVycz1bXSksWG4uZnJhbWV3b3JrU3RhYmlsaXplcnMucHVzaCgodD0+e2NvbnN0IGU9WG4uZ2V0QWxsQW5ndWxhclRlc3RhYmlsaXRpZXMoKTtsZXQgbj1lLmxlbmd0aCxvPSExO2NvbnN0IGk9ZnVuY3Rpb24oZSl7bz1vfHxlLG4tLSwwPT1uJiZ0KG8pfTtlLmZvckVhY2goKGZ1bmN0aW9uKHQpe3Qud2hlblN0YWJsZShpKX0pKX0pKX1maW5kVGVzdGFiaWxpdHlJblRyZWUodCxlLG4pe2lmKG51bGw9PWUpcmV0dXJuIG51bGw7Y29uc3Qgbz10LmdldFRlc3RhYmlsaXR5KGUpO3JldHVybiBudWxsIT1vP286bj9yTSgpLmlzU2hhZG93Um9vdChlKT90aGlzLmZpbmRUZXN0YWJpbGl0eUluVHJlZSh0LGUuaG9zdCwhMCk6dGhpcy5maW5kVGVzdGFiaWxpdHlJblRyZWUodCxlLnBhcmVudEVsZW1lbnQsITApOm51bGx9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBfeHtidWlsZCgpe3JldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9fV94Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxfeCl9LF94Lsm1cHJvdj1Tbih7dG9rZW46X3gsZmFjdG9yeTpfeC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoX3gsW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtuZXcgQnI7Y29uc3QgQ3g9W10sTXg9bmV3IGVyKCJFdmVudE1hbmFnZXJQbHVnaW5zIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIHZ4e2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fem9uZT1lLHRoaXMuX2V2ZW50TmFtZVRvUGx1Z2luPW5ldyBNYXAsdC5mb3JFYWNoKCh0PT50Lm1hbmFnZXI9dGhpcykpLHRoaXMuX3BsdWdpbnM9dC5zbGljZSgpLnJldmVyc2UoKX1hZGRFdmVudExpc3RlbmVyKHQsZSxuKXtyZXR1cm4gdGhpcy5fZmluZFBsdWdpbkZvcihlKS5hZGRFdmVudExpc3RlbmVyKHQsZSxuKX1hZGRHbG9iYWxFdmVudExpc3RlbmVyKHQsZSxuKXtyZXR1cm4gdGhpcy5fZmluZFBsdWdpbkZvcihlKS5hZGRHbG9iYWxFdmVudExpc3RlbmVyKHQsZSxuKX1nZXRab25lKCl7cmV0dXJuIHRoaXMuX3pvbmV9X2ZpbmRQbHVnaW5Gb3IodCl7Y29uc3QgZT10aGlzLl9ldmVudE5hbWVUb1BsdWdpbi5nZXQodCk7aWYoZSlyZXR1cm4gZTtjb25zdCBuPXRoaXMuX3BsdWdpbnM7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKyspe2NvbnN0IG89bltlXTtpZihvLnN1cHBvcnRzKHQpKXJldHVybiB0aGlzLl9ldmVudE5hbWVUb1BsdWdpbi5zZXQodCxvKSxvfXRocm93IG5ldyBFcnJvcihgTm8gZXZlbnQgbWFuYWdlciBwbHVnaW4gZm91bmQgZm9yIGV2ZW50ICR7dH1gKX19dnguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHZ4KShUcihNeCksVHIobUMpKX0sdnguybVwcm92PVNuKHt0b2tlbjp2eCxmYWN0b3J5OnZ4Lsm1ZmFjfSksdnguY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltNeF19XX0se3R5cGU6bUN9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHZ4LFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltNeF19XX0se3R5cGU6bUN9XX0pLG51bGwpO2NsYXNzIHh4e2NvbnN0cnVjdG9yKHQpe3RoaXMuX2RvYz10fWFkZEdsb2JhbEV2ZW50TGlzdGVuZXIodCxlLG4pe2NvbnN0IG89ck0oKS5nZXRHbG9iYWxFdmVudFRhcmdldCh0aGlzLl9kb2MsdCk7aWYoIW8pdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBldmVudCB0YXJnZXQgJHtvfSBmb3IgZXZlbnQgJHtlfWApO3JldHVybiB0aGlzLmFkZEV2ZW50TGlzdGVuZXIobyxlLG4pfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgT3h7Y29uc3RydWN0b3IoKXt0aGlzLl9zdHlsZXNTZXQ9bmV3IFNldH1hZGRTdHlsZXModCl7Y29uc3QgZT1uZXcgU2V0O3QuZm9yRWFjaCgodD0+e3RoaXMuX3N0eWxlc1NldC5oYXModCl8fCh0aGlzLl9zdHlsZXNTZXQuYWRkKHQpLGUuYWRkKHQpKX0pKSx0aGlzLm9uU3R5bGVzQWRkZWQoZSl9b25TdHlsZXNBZGRlZCh0KXt9Z2V0QWxsU3R5bGVzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fc3R5bGVzU2V0KX19T3guybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE94KX0sT3guybVwcm92PVNuKHt0b2tlbjpPeCxmYWN0b3J5Ok94Lsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPeCxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpO2NsYXNzIFB4IGV4dGVuZHMgT3h7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLl9kb2M9dCx0aGlzLl9ob3N0Tm9kZXM9bmV3IE1hcCx0aGlzLl9ob3N0Tm9kZXMuc2V0KHQuaGVhZCxbXSl9X2FkZFN0eWxlc1RvSG9zdCh0LGUsbil7dC5mb3JFYWNoKCh0PT57Y29uc3Qgbz10aGlzLl9kb2MuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtvLnRleHRDb250ZW50PXQsbi5wdXNoKGUuYXBwZW5kQ2hpbGQobykpfSkpfWFkZEhvc3QodCl7Y29uc3QgZT1bXTt0aGlzLl9hZGRTdHlsZXNUb0hvc3QodGhpcy5fc3R5bGVzU2V0LHQsZSksdGhpcy5faG9zdE5vZGVzLnNldCh0LGUpfXJlbW92ZUhvc3QodCl7Y29uc3QgZT10aGlzLl9ob3N0Tm9kZXMuZ2V0KHQpO2UmJmUuZm9yRWFjaCh3eCksdGhpcy5faG9zdE5vZGVzLmRlbGV0ZSh0KX1vblN0eWxlc0FkZGVkKHQpe3RoaXMuX2hvc3ROb2Rlcy5mb3JFYWNoKCgoZSxuKT0+e3RoaXMuX2FkZFN0eWxlc1RvSG9zdCh0LG4sZSl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9ob3N0Tm9kZXMuZm9yRWFjaCgodD0+dC5mb3JFYWNoKHd4KSkpfX1mdW5jdGlvbiB3eCh0KXtyTSgpLnJlbW92ZSh0KX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovUHguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFB4KShUcihzTSkpfSxQeC7JtXByb3Y9U24oe3Rva2VuOlB4LGZhY3Rvcnk6UHguybVmYWN9KSxQeC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUHgsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dfSksbnVsbCk7Y29uc3Qga3g9e3N2ZzoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhodG1sOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIix4bGluazoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIseG1sOiJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLyJ9LFN4PS8lQ09NUCUvZyxEeD0idW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8ISFuZ0Rldk1vZGUsUng9Il9uZ2hvc3QtJUNPTVAlIixFeD0iX25nY29udGVudC0lQ09NUCUiO2Z1bmN0aW9uIEF4KHQsZSxuKXtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7bGV0IGk9ZVtvXTtBcnJheS5pc0FycmF5KGkpP0F4KHQsaSxuKTooaT1pLnJlcGxhY2UoU3gsdCksbi5wdXNoKGkpKX1yZXR1cm4gbn1mdW5jdGlvbiBUeCh0KXtyZXR1cm4gZT0+e2lmKCJfX25nVW53cmFwX18iPT09ZSlyZXR1cm4gdDshMT09PXQoZSkmJihlLnByZXZlbnREZWZhdWx0KCksZS5yZXR1cm5WYWx1ZT0hMSl9fWxldCBOeD0hMTtjbGFzcyB6eHtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5ldmVudE1hbmFnZXI9dCx0aGlzLnNoYXJlZFN0eWxlc0hvc3Q9ZSx0aGlzLmFwcElkPW4sdGhpcy5yZW5kZXJlckJ5Q29tcElkPW5ldyBNYXAsdGhpcy5kZWZhdWx0UmVuZGVyZXI9bmV3IEl4KHQpfWNyZWF0ZVJlbmRlcmVyKHQsZSl7aWYoIXR8fCFlKXJldHVybiB0aGlzLmRlZmF1bHRSZW5kZXJlcjtzd2l0Y2goZS5lbmNhcHN1bGF0aW9uKXtjYXNlIFduLkVtdWxhdGVkOntsZXQgbj10aGlzLnJlbmRlcmVyQnlDb21wSWQuZ2V0KGUuaWQpO3JldHVybiBufHwobj1uZXcgTHgodGhpcy5ldmVudE1hbmFnZXIsdGhpcy5zaGFyZWRTdHlsZXNIb3N0LGUsdGhpcy5hcHBJZCksdGhpcy5yZW5kZXJlckJ5Q29tcElkLnNldChlLmlkLG4pKSxuLmFwcGx5VG9Ib3N0KHQpLG59Y2FzZSAxOmNhc2UgV24uU2hhZG93RG9tOnJldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlfHxOeHx8MSE9PWUuZW5jYXBzdWxhdGlvbnx8KE54PSEwLGNvbnNvbGUud2FybigiVmlld0VuY2Fwc3VsYXRpb24uTmF0aXZlIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuIEZhbGxpbmcgYmFjayB0byBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb20uIFRoZSBmYWxsYmFjayB3aWxsIGJlIHJlbW92ZWQgaW4gdjEyLiIpKSxuZXcgQngodGhpcy5ldmVudE1hbmFnZXIsdGhpcy5zaGFyZWRTdHlsZXNIb3N0LHQsZSk7ZGVmYXVsdDppZighdGhpcy5yZW5kZXJlckJ5Q29tcElkLmhhcyhlLmlkKSl7Y29uc3QgdD1BeChlLmlkLGUuc3R5bGVzLFtdKTt0aGlzLnNoYXJlZFN0eWxlc0hvc3QuYWRkU3R5bGVzKHQpLHRoaXMucmVuZGVyZXJCeUNvbXBJZC5zZXQoZS5pZCx0aGlzLmRlZmF1bHRSZW5kZXJlcil9cmV0dXJuIHRoaXMuZGVmYXVsdFJlbmRlcmVyfX1iZWdpbigpe31lbmQoKXt9fXp4Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx6eCkoVHIodngpLFRyKFB4KSxUcihXXykpfSx6eC7JtXByb3Y9U24oe3Rva2VuOnp4LGZhY3Rvcnk6enguybVmYWN9KSx6eC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnZ4fSx7dHlwZTpQeH0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1dfXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih6eCxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dnh9LHt0eXBlOlB4fSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbV19dfV19XX0pLG51bGwpO2NsYXNzIEl4e2NvbnN0cnVjdG9yKHQpe3RoaXMuZXZlbnRNYW5hZ2VyPXQsdGhpcy5kYXRhPU9iamVjdC5jcmVhdGUobnVsbCl9ZGVzdHJveSgpe31jcmVhdGVFbGVtZW50KHQsZSl7cmV0dXJuIGU/ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGt4W2VdfHxlLHQpOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCl9Y3JlYXRlQ29tbWVudCh0KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCh0KX1jcmVhdGVUZXh0KHQpe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KX1hcHBlbmRDaGlsZCh0LGUpe3QuYXBwZW5kQ2hpbGQoZSl9aW5zZXJ0QmVmb3JlKHQsZSxuKXt0JiZ0Lmluc2VydEJlZm9yZShlLG4pfXJlbW92ZUNoaWxkKHQsZSl7dCYmdC5yZW1vdmVDaGlsZChlKX1zZWxlY3RSb290RWxlbWVudCh0LGUpe2xldCBuPSJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpOnQ7aWYoIW4pdGhyb3cgbmV3IEVycm9yKGBUaGUgc2VsZWN0b3IgIiR7dH0iIGRpZCBub3QgbWF0Y2ggYW55IGVsZW1lbnRzYCk7cmV0dXJuIGV8fChuLnRleHRDb250ZW50PSIiKSxufXBhcmVudE5vZGUodCl7cmV0dXJuIHQucGFyZW50Tm9kZX1uZXh0U2libGluZyh0KXtyZXR1cm4gdC5uZXh0U2libGluZ31zZXRBdHRyaWJ1dGUodCxlLG4sbyl7aWYobyl7ZT1vKyI6IitlO2NvbnN0IGk9a3hbb107aT90LnNldEF0dHJpYnV0ZU5TKGksZSxuKTp0LnNldEF0dHJpYnV0ZShlLG4pfWVsc2UgdC5zZXRBdHRyaWJ1dGUoZSxuKX1yZW1vdmVBdHRyaWJ1dGUodCxlLG4pe2lmKG4pe2NvbnN0IG89a3hbbl07bz90LnJlbW92ZUF0dHJpYnV0ZU5TKG8sZSk6dC5yZW1vdmVBdHRyaWJ1dGUoYCR7bn06JHtlfWApfWVsc2UgdC5yZW1vdmVBdHRyaWJ1dGUoZSl9YWRkQ2xhc3ModCxlKXt0LmNsYXNzTGlzdC5hZGQoZSl9cmVtb3ZlQ2xhc3ModCxlKXt0LmNsYXNzTGlzdC5yZW1vdmUoZSl9c2V0U3R5bGUodCxlLG4sbyl7byYoRWwuRGFzaENhc2V8RWwuSW1wb3J0YW50KT90LnN0eWxlLnNldFByb3BlcnR5KGUsbixvJkVsLkltcG9ydGFudD8iaW1wb3J0YW50IjoiIik6dC5zdHlsZVtlXT1ufXJlbW92ZVN0eWxlKHQsZSxuKXtuJkVsLkRhc2hDYXNlP3Quc3R5bGUucmVtb3ZlUHJvcGVydHkoZSk6dC5zdHlsZVtlXT0iIn1zZXRQcm9wZXJ0eSh0LGUsbil7RHgmJkZ4KGUsInByb3BlcnR5IiksdFtlXT1ufXNldFZhbHVlKHQsZSl7dC5ub2RlVmFsdWU9ZX1saXN0ZW4odCxlLG4pe3JldHVybiBEeCYmRngoZSwibGlzdGVuZXIiKSwic3RyaW5nIj09dHlwZW9mIHQ/dGhpcy5ldmVudE1hbmFnZXIuYWRkR2xvYmFsRXZlbnRMaXN0ZW5lcih0LGUsVHgobikpOnRoaXMuZXZlbnRNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIodCxlLFR4KG4pKX19Y29uc3QgSHg9IkAiLmNoYXJDb2RlQXQoMCk7ZnVuY3Rpb24gRngodCxlKXtpZih0LmNoYXJDb2RlQXQoMCk9PT1IeCl0aHJvdyBuZXcgRXJyb3IoYEZvdW5kIHRoZSBzeW50aGV0aWMgJHtlfSAke3R9LiBQbGVhc2UgaW5jbHVkZSBlaXRoZXIgIkJyb3dzZXJBbmltYXRpb25zTW9kdWxlIiBvciAiTm9vcEFuaW1hdGlvbnNNb2R1bGUiIGluIHlvdXIgYXBwbGljYXRpb24uYCl9Y2xhc3MgTHggZXh0ZW5kcyBJeHtjb25zdHJ1Y3Rvcih0LGUsbixvKXtzdXBlcih0KSx0aGlzLmNvbXBvbmVudD1uO2NvbnN0IGk9QXgobysiLSIrbi5pZCxuLnN0eWxlcyxbXSk7ZS5hZGRTdHlsZXMoaSksdGhpcy5jb250ZW50QXR0cj0oZnVuY3Rpb24gYSh0KXtyZXR1cm4gRXgucmVwbGFjZShTeCx0KX0pKG8rIi0iK24uaWQpLHRoaXMuaG9zdEF0dHI9KGZ1bmN0aW9uIHIodCl7cmV0dXJuIFJ4LnJlcGxhY2UoU3gsdCl9KShvKyItIituLmlkKX1hcHBseVRvSG9zdCh0KXtzdXBlci5zZXRBdHRyaWJ1dGUodCx0aGlzLmhvc3RBdHRyLCIiKX1jcmVhdGVFbGVtZW50KHQsZSl7Y29uc3Qgbj1zdXBlci5jcmVhdGVFbGVtZW50KHQsZSk7cmV0dXJuIHN1cGVyLnNldEF0dHJpYnV0ZShuLHRoaXMuY29udGVudEF0dHIsIiIpLG59fWNsYXNzIEJ4IGV4dGVuZHMgSXh7Y29uc3RydWN0b3IodCxlLG4sbyl7c3VwZXIodCksdGhpcy5zaGFyZWRTdHlsZXNIb3N0PWUsdGhpcy5ob3N0RWw9bix0aGlzLnNoYWRvd1Jvb3Q9bi5hdHRhY2hTaGFkb3coe21vZGU6Im9wZW4ifSksdGhpcy5zaGFyZWRTdHlsZXNIb3N0LmFkZEhvc3QodGhpcy5zaGFkb3dSb290KTtjb25zdCBpPUF4KG8uaWQsby5zdHlsZXMsW10pO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7ZS50ZXh0Q29udGVudD1pW3RdLHRoaXMuc2hhZG93Um9vdC5hcHBlbmRDaGlsZChlKX19bm9kZU9yU2hhZG93Um9vdCh0KXtyZXR1cm4gdD09PXRoaXMuaG9zdEVsP3RoaXMuc2hhZG93Um9vdDp0fWRlc3Ryb3koKXt0aGlzLnNoYXJlZFN0eWxlc0hvc3QucmVtb3ZlSG9zdCh0aGlzLnNoYWRvd1Jvb3QpfWFwcGVuZENoaWxkKHQsZSl7cmV0dXJuIHN1cGVyLmFwcGVuZENoaWxkKHRoaXMubm9kZU9yU2hhZG93Um9vdCh0KSxlKX1pbnNlcnRCZWZvcmUodCxlLG4pe3JldHVybiBzdXBlci5pbnNlcnRCZWZvcmUodGhpcy5ub2RlT3JTaGFkb3dSb290KHQpLGUsbil9cmVtb3ZlQ2hpbGQodCxlKXtyZXR1cm4gc3VwZXIucmVtb3ZlQ2hpbGQodGhpcy5ub2RlT3JTaGFkb3dSb290KHQpLGUpfXBhcmVudE5vZGUodCl7cmV0dXJuIHRoaXMubm9kZU9yU2hhZG93Um9vdChzdXBlci5wYXJlbnROb2RlKHRoaXMubm9kZU9yU2hhZG93Um9vdCh0KSkpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgVnggZXh0ZW5kcyB4eHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1zdXBwb3J0cyh0KXtyZXR1cm4hMH1hZGRFdmVudExpc3RlbmVyKHQsZSxuKXtyZXR1cm4gdC5hZGRFdmVudExpc3RlbmVyKGUsbiwhMSksKCk9PnRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGUsbil9cmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGUsbil7cmV0dXJuIHQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4pfX1WeC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8VngpKFRyKHNNKSl9LFZ4Lsm1cHJvdj1Tbih7dG9rZW46VngsZmFjdG9yeTpWeC7JtWZhY30pLFZ4LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWeCxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IGp4PXtwYW46ITAscGFuc3RhcnQ6ITAscGFubW92ZTohMCxwYW5lbmQ6ITAscGFuY2FuY2VsOiEwLHBhbmxlZnQ6ITAscGFucmlnaHQ6ITAscGFudXA6ITAscGFuZG93bjohMCxwaW5jaDohMCxwaW5jaHN0YXJ0OiEwLHBpbmNobW92ZTohMCxwaW5jaGVuZDohMCxwaW5jaGNhbmNlbDohMCxwaW5jaGluOiEwLHBpbmNob3V0OiEwLHByZXNzOiEwLHByZXNzdXA6ITAscm90YXRlOiEwLHJvdGF0ZXN0YXJ0OiEwLHJvdGF0ZW1vdmU6ITAscm90YXRlZW5kOiEwLHJvdGF0ZWNhbmNlbDohMCxzd2lwZTohMCxzd2lwZWxlZnQ6ITAsc3dpcGVyaWdodDohMCxzd2lwZXVwOiEwLHN3aXBlZG93bjohMCx0YXA6ITAsZG91YmxldGFwOiEwfSxVeD1uZXcgZXIoIkhhbW1lckdlc3R1cmVDb25maWciKSxXeD1uZXcgZXIoIkhhbW1lckxvYWRlciIpO2NsYXNzIEd4e2NvbnN0cnVjdG9yKCl7dGhpcy5ldmVudHM9W10sdGhpcy5vdmVycmlkZXM9e319YnVpbGRIYW1tZXIodCl7Y29uc3QgZT1uZXcgSGFtbWVyKHQsdGhpcy5vcHRpb25zKTtlLmdldCgicGluY2giKS5zZXQoe2VuYWJsZTohMH0pLGUuZ2V0KCJyb3RhdGUiKS5zZXQoe2VuYWJsZTohMH0pO2Zvcihjb25zdCB0IGluIHRoaXMub3ZlcnJpZGVzKWUuZ2V0KHQpLnNldCh0aGlzLm92ZXJyaWRlc1t0XSk7cmV0dXJuIGV9fUd4Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxHeCl9LEd4Lsm1cHJvdj1Tbih7dG9rZW46R3gsZmFjdG9yeTpHeC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoR3gsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSxudWxsKTtjbGFzcyBZeCBleHRlbmRzIHh4e2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKHQpLHRoaXMuX2NvbmZpZz1lLHRoaXMuY29uc29sZT1uLHRoaXMubG9hZGVyPW8sdGhpcy5fbG9hZGVyUHJvbWlzZT1udWxsfXN1cHBvcnRzKHQpe3JldHVybiEoIWp4Lmhhc093blByb3BlcnR5KHQudG9Mb3dlckNhc2UoKSkmJiF0aGlzLmlzQ3VzdG9tRXZlbnQodCkpJiYoISghd2luZG93LkhhbW1lciYmIXRoaXMubG9hZGVyKXx8KCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmdGhpcy5jb25zb2xlLndhcm4oYFRoZSAiJHt0fSIgZXZlbnQgY2Fubm90IGJlIGJvdW5kIGJlY2F1c2UgSGFtbWVyLkpTIGlzIG5vdCBsb2FkZWQgYW5kIG5vIGN1c3RvbSBsb2FkZXIgaGFzIGJlZW4gc3BlY2lmaWVkLmApLCExKSl9YWRkRXZlbnRMaXN0ZW5lcih0LGUsbil7Y29uc3Qgbz10aGlzLm1hbmFnZXIuZ2V0Wm9uZSgpO2lmKGU9ZS50b0xvd2VyQ2FzZSgpLCF3aW5kb3cuSGFtbWVyJiZ0aGlzLmxvYWRlcil7dGhpcy5fbG9hZGVyUHJvbWlzZT10aGlzLl9sb2FkZXJQcm9taXNlfHx0aGlzLmxvYWRlcigpO2xldCBvPSExLGk9KCk9PntvPSEwfTtyZXR1cm4gdGhpcy5fbG9hZGVyUHJvbWlzZS50aGVuKCgoKT0+e2lmKCF3aW5kb3cuSGFtbWVyKXJldHVybigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmdGhpcy5jb25zb2xlLndhcm4oIlRoZSBjdXN0b20gSEFNTUVSX0xPQURFUiBjb21wbGV0ZWQsIGJ1dCBIYW1tZXIuSlMgaXMgbm90IHByZXNlbnQuIiksdm9pZChpPSgpPT57fSk7b3x8KGk9dGhpcy5hZGRFdmVudExpc3RlbmVyKHQsZSxuKSl9KSkuY2F0Y2goKCgpPT57KCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZ0aGlzLmNvbnNvbGUud2FybihgVGhlICIke2V9IiBldmVudCBjYW5ub3QgYmUgYm91bmQgYmVjYXVzZSB0aGUgY3VzdG9tIEhhbW1lci5KUyBsb2FkZXIgZmFpbGVkLmApLGk9KCk9Pnt9fSkpLCgpPT57aSgpfX1yZXR1cm4gby5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pntjb25zdCBpPXRoaXMuX2NvbmZpZy5idWlsZEhhbW1lcih0KSxhPWZ1bmN0aW9uKHQpe28ucnVuR3VhcmRlZCgoZnVuY3Rpb24oKXtuKHQpfSkpfTtyZXR1cm4gaS5vbihlLGEpLCgpPT57aS5vZmYoZSxhKSwiZnVuY3Rpb24iPT10eXBlb2YgaS5kZXN0cm95JiZpLmRlc3Ryb3koKX19KSl9aXNDdXN0b21FdmVudCh0KXtyZXR1cm4gdGhpcy5fY29uZmlnLmV2ZW50cy5pbmRleE9mKHQpPi0xfX1ZeC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WXgpKFRyKHNNKSxUcihVeCksVHIoSl8pLFRyKFd4LDgpKX0sWXguybVwcm92PVNuKHt0b2tlbjpZeCxmYWN0b3J5Oll4Lsm1ZmFjfSksWXguY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOkd4LGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1V4XX1dfSx7dHlwZTpKX30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltXeF19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWXgsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6R3gsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbVXhdfV19LHt0eXBlOkpffSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1d4XX1dfV19KSxudWxsKTtjb25zdCBxeD1be3Byb3ZpZGU6TXgsdXNlQ2xhc3M6WXgsbXVsdGk6ITAsZGVwczpbc00sVXgsSl8sW25ldyBCcixXeF1dfSx7cHJvdmlkZTpVeCx1c2VDbGFzczpHeCxkZXBzOltdfV0sWng9W107Y2xhc3MgWHh7fVh4Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxYeCl9LFh4Lsm1bW9kPWZvKHt0eXBlOlh4fSksWHguybVpbmo9RG4oe3Byb3ZpZGVyczpxeH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWHgsW3t0eXBlOkxfLGFyZ3M6W3twcm92aWRlcnM6cXh9XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBLeD1bImFsdCIsImNvbnRyb2wiLCJtZXRhIiwic2hpZnQiXSxKeD17IlxiIjoiQmFja3NwYWNlIiwiXHQiOiJUYWIiLCJ/IjoiRGVsZXRlIiwiGyI6IkVzY2FwZSIsRGVsOiJEZWxldGUiLEVzYzoiRXNjYXBlIixMZWZ0OiJBcnJvd0xlZnQiLFJpZ2h0OiJBcnJvd1JpZ2h0IixVcDoiQXJyb3dVcCIsRG93bjoiQXJyb3dEb3duIixNZW51OiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixXaW46Ik9TIn0sUXg9e0E6IjEiLEI6IjIiLEM6IjMiLEQ6IjQiLEU6IjUiLEY6IjYiLEc6IjciLEg6IjgiLEk6IjkiLEo6IioiLEs6IisiLE06Ii0iLE46Ii4iLE86Ii8iLCJgIjoiMCIsIsKQIjoiTnVtTG9jayJ9LCR4PXthbHQ6dD0+dC5hbHRLZXksY29udHJvbDp0PT50LmN0cmxLZXksbWV0YTp0PT50Lm1ldGFLZXksc2hpZnQ6dD0+dC5zaGlmdEtleX07Y2xhc3MgdE8gZXh0ZW5kcyB4eHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1zdXBwb3J0cyh0KXtyZXR1cm4gbnVsbCE9dE8ucGFyc2VFdmVudE5hbWUodCl9YWRkRXZlbnRMaXN0ZW5lcih0LGUsbil7Y29uc3Qgbz10Ty5wYXJzZUV2ZW50TmFtZShlKSxpPXRPLmV2ZW50Q2FsbGJhY2soby5mdWxsS2V5LG4sdGhpcy5tYW5hZ2VyLmdldFpvbmUoKSk7cmV0dXJuIHRoaXMubWFuYWdlci5nZXRab25lKCkucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT5yTSgpLm9uQW5kQ2FuY2VsKHQsby5kb21FdmVudE5hbWUsaSkpKX1zdGF0aWMgcGFyc2VFdmVudE5hbWUodCl7Y29uc3QgZT10LnRvTG93ZXJDYXNlKCkuc3BsaXQoIi4iKSxuPWUuc2hpZnQoKTtpZigwPT09ZS5sZW5ndGh8fCJrZXlkb3duIiE9PW4mJiJrZXl1cCIhPT1uKXJldHVybiBudWxsO2NvbnN0IG89dE8uX25vcm1hbGl6ZUtleShlLnBvcCgpKTtsZXQgaT0iIjtpZihLeC5mb3JFYWNoKCh0PT57Y29uc3Qgbj1lLmluZGV4T2YodCk7bj4tMSYmKGUuc3BsaWNlKG4sMSksaSs9dCsiLiIpfSkpLGkrPW8sMCE9ZS5sZW5ndGh8fDA9PT1vLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBhPXt9O3JldHVybiBhLmRvbUV2ZW50TmFtZT1uLGEuZnVsbEtleT1pLGF9c3RhdGljIGdldEV2ZW50RnVsbEtleSh0KXtsZXQgZT0iIixuPShmdW5jdGlvbiBvKHQpe2xldCBlPXQua2V5O2lmKG51bGw9PWUpe2lmKGU9dC5rZXlJZGVudGlmaWVyLG51bGw9PWUpcmV0dXJuIlVuaWRlbnRpZmllZCI7ZS5zdGFydHNXaXRoKCJVKyIpJiYoZT1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KGUuc3Vic3RyaW5nKDIpLDE2KSksMz09PXQubG9jYXRpb24mJlF4Lmhhc093blByb3BlcnR5KGUpJiYoZT1ReFtlXSkpfXJldHVybiBKeFtlXXx8ZX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0KTtyZXR1cm4gbj1uLnRvTG93ZXJDYXNlKCksIiAiPT09bj9uPSJzcGFjZSI6Ii4iPT09biYmKG49ImRvdCIpLEt4LmZvckVhY2goKG89PntpZihvIT1uKXsoMCwkeFtvXSkodCkmJihlKz1vKyIuIil9fSkpLGUrPW4sZX1zdGF0aWMgZXZlbnRDYWxsYmFjayh0LGUsbil7cmV0dXJuIG89Pnt0Ty5nZXRFdmVudEZ1bGxLZXkobyk9PT10JiZuLnJ1bkd1YXJkZWQoKCgpPT5lKG8pKSl9fXN0YXRpYyBfbm9ybWFsaXplS2V5KHQpe3N3aXRjaCh0KXtjYXNlImVzYyI6cmV0dXJuImVzY2FwZSI7ZGVmYXVsdDpyZXR1cm4gdH19fXRPLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0TykoVHIoc00pKX0sdE8uybVwcm92PVNuKHt0b2tlbjp0TyxmYWN0b3J5OnRPLsm1ZmFjfSksdE8uY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHRPLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpO2NsYXNzIGVPe31mdW5jdGlvbiBuTyh0KXtyZXR1cm4gbmV3IG9PKHQuZ2V0KHNNKSl9ZU8uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGVPKX0sZU8uybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gVHIob08pfSx0b2tlbjplTyxwcm92aWRlZEluOiJyb290In0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZU8sW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290Iix1c2VFeGlzdGluZzokZSgoKCk9Pm9PKSl9XX1dLG51bGwsbnVsbCk7Y2xhc3Mgb08gZXh0ZW5kcyBlT3tjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuX2RvYz10fXNhbml0aXplKHQsZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtzd2l0Y2godCl7Y2FzZSBZcy5OT05FOnJldHVybiBlO2Nhc2UgWXMuSFRNTDpyZXR1cm4gZ3MoZSwiSFRNTCIpP3VzKGUpOldzKHRoaXMuX2RvYyxTdHJpbmcoZSkpLnRvU3RyaW5nKCk7Y2FzZSBZcy5TVFlMRTpyZXR1cm4gZ3MoZSwiU3R5bGUiKT91cyhlKTplO2Nhc2UgWXMuU0NSSVBUOmlmKGdzKGUsIlNjcmlwdCIpKXJldHVybiB1cyhlKTt0aHJvdyBuZXcgRXJyb3IoInVuc2FmZSB2YWx1ZSB1c2VkIGluIGEgc2NyaXB0IGNvbnRleHQiKTtjYXNlIFlzLlVSTDpyZXR1cm4gaHMoZSksZ3MoZSwiVVJMIik/dXMoZSk6dnMoU3RyaW5nKGUpKTtjYXNlIFlzLlJFU09VUkNFX1VSTDppZihncyhlLCJSZXNvdXJjZVVSTCIpKXJldHVybiB1cyhlKTt0aHJvdyBuZXcgRXJyb3IoInVuc2FmZSB2YWx1ZSB1c2VkIGluIGEgcmVzb3VyY2UgVVJMIGNvbnRleHQgKHNlZSBodHRwczovL2cuY28vbmcvc2VjdXJpdHkjeHNzKSIpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIFNlY3VyaXR5Q29udGV4dCAke3R9IChzZWUgaHR0cHM6Ly9nLmNvL25nL3NlY3VyaXR5I3hzcylgKX19YnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodCl7cmV0dXJuKGZ1bmN0aW9uIGUodCl7cmV0dXJuIG5ldyBjcyh0KX0pKHQpfWJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZSh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IGRzKHQpfSkodCl9YnlwYXNzU2VjdXJpdHlUcnVzdFNjcmlwdCh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IHBzKHQpfSkodCl9YnlwYXNzU2VjdXJpdHlUcnVzdFVybCh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IG1zKHQpfSkodCl9YnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHQpe3JldHVybihmdW5jdGlvbiBlKHQpe3JldHVybiBuZXcgZnModCl9KSh0KX19b08uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG9PKShUcihzTSkpfSxvTy7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuTyhUcih5cCkpfSx0b2tlbjpvTyxwcm92aWRlZEluOiJyb290In0pLG9PLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihvTyxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QiLHVzZUZhY3Rvcnk6bk8sZGVwczpbTnBdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjb25zdCBpTz1bXSxhTz1UQyhXQywiYnJvd3NlciIsW3twcm92aWRlOlhfLHVzZVZhbHVlOiJicm93c2VyIn0se3Byb3ZpZGU6Wl8sdXNlVmFsdWU6Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiByTygpe214Lm1ha2VDdXJyZW50KCkseXguaW5pdCgpfSxtdWx0aTohMH0se3Byb3ZpZGU6c00sdXNlRmFjdG9yeTpmdW5jdGlvbiBzTygpe3JldHVybihmdW5jdGlvbiB0KGUpe29pPWV9KShkb2N1bWVudCksZG9jdW1lbnR9LGRlcHM6W119XSksbE89W2lPLHtwcm92aWRlOkNwLHVzZVZhbHVlOiJyb290In0se3Byb3ZpZGU6dWwsdXNlRmFjdG9yeTpmdW5jdGlvbiBjTygpe3JldHVybiBuZXcgdWx9LGRlcHM6W119LHtwcm92aWRlOk14LHVzZUNsYXNzOlZ4LG11bHRpOiEwLGRlcHM6W3NNLG1DLFhfXX0se3Byb3ZpZGU6TXgsdXNlQ2xhc3M6dE8sbXVsdGk6ITAsZGVwczpbc01dfSxaeCx7cHJvdmlkZTp6eCx1c2VDbGFzczp6eCxkZXBzOlt2eCxQeCxXX119LHtwcm92aWRlOlFoLHVzZUV4aXN0aW5nOnp4fSx7cHJvdmlkZTpPeCx1c2VFeGlzdGluZzpQeH0se3Byb3ZpZGU6UHgsdXNlQ2xhc3M6UHgsZGVwczpbc01dfSx7cHJvdmlkZTpfQyx1c2VDbGFzczpfQyxkZXBzOlttQ119LHtwcm92aWRlOnZ4LHVzZUNsYXNzOnZ4LGRlcHM6W014LG1DXX0se3Byb3ZpZGU6cHgsdXNlQ2xhc3M6X3gsZGVwczpbXX0sQ3hdO2NsYXNzIGRPe2NvbnN0cnVjdG9yKHQpe2lmKHQpdGhyb3cgbmV3IEVycm9yKCJCcm93c2VyTW9kdWxlIGhhcyBhbHJlYWR5IGJlZW4gbG9hZGVkLiBJZiB5b3UgbmVlZCBhY2Nlc3MgdG8gY29tbW9uIGRpcmVjdGl2ZXMgc3VjaCBhcyBOZ0lmIGFuZCBOZ0ZvciBmcm9tIGEgbGF6eSBsb2FkZWQgbW9kdWxlLCBpbXBvcnQgQ29tbW9uTW9kdWxlIGluc3RlYWQuIil9c3RhdGljIHdpdGhTZXJ2ZXJUcmFuc2l0aW9uKHQpe3JldHVybntuZ01vZHVsZTpkTyxwcm92aWRlcnM6W3twcm92aWRlOldfLHVzZVZhbHVlOnQuYXBwSWR9LHtwcm92aWRlOmd4LHVzZUV4aXN0aW5nOldffSxoeF19fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIHBPKCl7cmV0dXJuIG5ldyBtTyhUcihzTSkpfWRPLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxkTykoVHIoZE8sMTIpKX0sZE8uybVtb2Q9Zm8oe3R5cGU6ZE99KSxkTy7JtWluaj1Ebih7cHJvdmlkZXJzOmxPLGltcG9ydHM6W3J4LEtDXX0pLGRPLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6ZE8sZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOmpyfSx7dHlwZTpMcixhcmdzOltkT119XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZE8sW3t0eXBlOkxfLGFyZ3M6W3twcm92aWRlcnM6bE8sZXhwb3J0czpbcngsS0NdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6ZE8sZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOmpyfSx7dHlwZTpMcixhcmdzOltkT119XX1dfSksbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhkTyx7ZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltyeCxLQ119fSk7Y2xhc3MgbU97Y29uc3RydWN0b3IodCl7dGhpcy5fZG9jPXQsdGhpcy5fZG9tPXJNKCl9YWRkVGFnKHQsZT0hMSl7cmV0dXJuIHQ/dGhpcy5fZ2V0T3JDcmVhdGVFbGVtZW50KHQsZSk6bnVsbH1hZGRUYWdzKHQsZT0hMSl7cmV0dXJuIHQ/dC5yZWR1Y2UoKCh0LG4pPT4obiYmdC5wdXNoKHRoaXMuX2dldE9yQ3JlYXRlRWxlbWVudChuLGUpKSx0KSksW10pOltdfWdldFRhZyh0KXtyZXR1cm4gdCYmdGhpcy5fZG9jLnF1ZXJ5U2VsZWN0b3IoYG1ldGFbJHt0fV1gKXx8bnVsbH1nZXRUYWdzKHQpe2lmKCF0KXJldHVybltdO2NvbnN0IGU9dGhpcy5fZG9jLnF1ZXJ5U2VsZWN0b3JBbGwoYG1ldGFbJHt0fV1gKTtyZXR1cm4gZT9bXS5zbGljZS5jYWxsKGUpOltdfXVwZGF0ZVRhZyh0LGUpe2lmKCF0KXJldHVybiBudWxsO2U9ZXx8dGhpcy5fcGFyc2VTZWxlY3Rvcih0KTtjb25zdCBuPXRoaXMuZ2V0VGFnKGUpO3JldHVybiBuP3RoaXMuX3NldE1ldGFFbGVtZW50QXR0cmlidXRlcyh0LG4pOnRoaXMuX2dldE9yQ3JlYXRlRWxlbWVudCh0LCEwKX1yZW1vdmVUYWcodCl7dGhpcy5yZW1vdmVUYWdFbGVtZW50KHRoaXMuZ2V0VGFnKHQpKX1yZW1vdmVUYWdFbGVtZW50KHQpe3QmJnRoaXMuX2RvbS5yZW1vdmUodCl9X2dldE9yQ3JlYXRlRWxlbWVudCh0LGU9ITEpe2lmKCFlKXtjb25zdCBlPXRoaXMuX3BhcnNlU2VsZWN0b3IodCksbj10aGlzLmdldFRhZ3MoZSkuZmlsdGVyKChlPT50aGlzLl9jb250YWluc0F0dHJpYnV0ZXModCxlKSkpWzBdO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG59Y29uc3Qgbj10aGlzLl9kb20uY3JlYXRlRWxlbWVudCgibWV0YSIpO3RoaXMuX3NldE1ldGFFbGVtZW50QXR0cmlidXRlcyh0LG4pO3JldHVybiB0aGlzLl9kb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChuKSxufV9zZXRNZXRhRWxlbWVudEF0dHJpYnV0ZXModCxlKXtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaCgobj0+ZS5zZXRBdHRyaWJ1dGUodGhpcy5fZ2V0TWV0YUtleU1hcChuKSx0W25dKSkpLGV9X3BhcnNlU2VsZWN0b3IodCl7Y29uc3QgZT10Lm5hbWU/Im5hbWUiOiJwcm9wZXJ0eSI7cmV0dXJuYCR7ZX09IiR7dFtlXX0iYH1fY29udGFpbnNBdHRyaWJ1dGVzKHQsZSl7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmV2ZXJ5KChuPT5lLmdldEF0dHJpYnV0ZSh0aGlzLl9nZXRNZXRhS2V5TWFwKG4pKT09PXRbbl0pKX1fZ2V0TWV0YUtleU1hcCh0KXtyZXR1cm4gZk9bdF18fHR9fW1PLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxtTykoVHIoc00pKX0sbU8uybVwcm92PVNuKHtmYWN0b3J5OnBPLHRva2VuOm1PLHByb3ZpZGVkSW46InJvb3QifSksbU8uY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1PLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCIsdXNlRmFjdG9yeTpwTyxkZXBzOltdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjb25zdCBmTz17aHR0cEVxdWl2OiJodHRwLWVxdWl2In07Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIHVPKCl7cmV0dXJuIG5ldyBnTyhUcihzTSkpfWNsYXNzIGdPe2NvbnN0cnVjdG9yKHQpe3RoaXMuX2RvYz10fWdldFRpdGxlKCl7cmV0dXJuIHRoaXMuX2RvYy50aXRsZX1zZXRUaXRsZSh0KXt0aGlzLl9kb2MudGl0bGU9dHx8IiJ9fWdPLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxnTykoVHIoc00pKX0sZ08uybVwcm92PVNuKHtmYWN0b3J5OnVPLHRva2VuOmdPLHByb3ZpZGVkSW46InJvb3QifSksZ08uY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGdPLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCIsdXNlRmFjdG9yeTp1TyxkZXBzOltdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjbGFzcyBoT3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RvcmU9e30sdGhpcy5vblNlcmlhbGl6ZUNhbGxiYWNrcz17fX1zdGF0aWMgaW5pdCh0KXtjb25zdCBlPW5ldyBoTztyZXR1cm4gZS5zdG9yZT10LGV9Z2V0KHQsZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuc3RvcmVbdF0/dGhpcy5zdG9yZVt0XTplfXNldCh0LGUpe3RoaXMuc3RvcmVbdF09ZX1yZW1vdmUodCl7ZGVsZXRlIHRoaXMuc3RvcmVbdF19aGFzS2V5KHQpe3JldHVybiB0aGlzLnN0b3JlLmhhc093blByb3BlcnR5KHQpfW9uU2VyaWFsaXplKHQsZSl7dGhpcy5vblNlcmlhbGl6ZUNhbGxiYWNrc1t0XT1lfXRvSnNvbigpe2Zvcihjb25zdCB0IGluIHRoaXMub25TZXJpYWxpemVDYWxsYmFja3MpaWYodGhpcy5vblNlcmlhbGl6ZUNhbGxiYWNrcy5oYXNPd25Qcm9wZXJ0eSh0KSl0cnl7dGhpcy5zdG9yZVt0XT10aGlzLm9uU2VyaWFsaXplQ2FsbGJhY2tzW3RdKCl9Y2F0Y2godCl7Y29uc29sZS53YXJuKCJFeGNlcHRpb24gaW4gb25TZXJpYWxpemUgY2FsbGJhY2s6ICIsdCl9cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuc3RvcmUpfX1mdW5jdGlvbiBiTyh0LGUpe2NvbnN0IG49dC5nZXRFbGVtZW50QnlJZChlKyItc3RhdGUiKTtsZXQgbz17fTtpZihuJiZuLnRleHRDb250ZW50KXRyeXtvPUpTT04ucGFyc2UoKGZ1bmN0aW9uIGkodCl7Y29uc3QgZT17IiZhOyI6IiYiLCImcTsiOiciJywiJnM7IjoiJyIsIiZsOyI6IjwiLCImZzsiOiI+In07cmV0dXJuIHQucmVwbGFjZSgvJlteO10rOy9nLCh0PT5lW3RdKSl9KShuLnRleHRDb250ZW50KSl9Y2F0Y2godCl7Y29uc29sZS53YXJuKCJFeGNlcHRpb24gd2hpbGUgcmVzdG9yaW5nIFRyYW5zZmVyU3RhdGUgZm9yIGFwcCAiK2UsdCl9cmV0dXJuIGhPLmluaXQobyl9aE8uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGhPKX0saE8uybVwcm92PVNuKHt0b2tlbjpoTyxmYWN0b3J5OmhPLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihoTyxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpO2NsYXNzIHlPe315Ty7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eU8pfSx5Ty7JtW1vZD1mbyh7dHlwZTp5T30pLHlPLsm1aW5qPURuKHtwcm92aWRlcnM6W3twcm92aWRlOmhPLHVzZUZhY3Rvcnk6Yk8sZGVwczpbc00sV19dfV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHlPLFt7dHlwZTpMXyxhcmdzOlt7cHJvdmlkZXJzOlt7cHJvdmlkZTpoTyx1c2VGYWN0b3J5OmJPLGRlcHM6W3NNLFdfXX1dfV19XSxudWxsLG51bGwpLAovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCm5ldyBvYigiMTIuMi4xIik7dmFyIF9PPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6e307ZnVuY3Rpb24gQ08odCl7aWYodC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciBvPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLG8uZ2V0P286e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSl9KSksZX0KLyoqCiAgICAgKiBAbGljZW5zZSBBbmd1bGFyIHYxMi4wLjAtbmV4dC4wCiAgICAgKiAoYykgMjAxMC0yMDIwIEdvb2dsZSBMTEMuIGh0dHBzOi8vYW5ndWxhci5pby8KICAgICAqIExpY2Vuc2U6IE1JVAogICAgICovIShmdW5jdGlvbigpewovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi8KIShmdW5jdGlvbih0KXt2YXIgZT10LnBlcmZvcm1hbmNlO2Z1bmN0aW9uIG4odCl7ZSYmZS5tYXJrJiZlLm1hcmsodCl9ZnVuY3Rpb24gbyh0LG4pe2UmJmUubWVhc3VyZSYmZS5tZWFzdXJlKHQsbil9bigiWm9uZSIpO3ZhciBpPXQuX19ab25lX3N5bWJvbF9wcmVmaXh8fCJfX3pvbmVfc3ltYm9sX18iO2Z1bmN0aW9uIGEodCl7cmV0dXJuIGkrdH12YXIgcj0hMD09PXRbYSgiZm9yY2VEdXBsaWNhdGVab25lQ2hlY2siKV07aWYodC5ab25lKXtpZihyfHwiZnVuY3Rpb24iIT10eXBlb2YgdC5ab25lLl9fc3ltYm9sX18pdGhyb3cgbmV3IEVycm9yKCJab25lIGFscmVhZHkgbG9hZGVkLiIpO3JldHVybiB0LlpvbmV9dmFyIHM9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LGUpe3RoaXMuX3BhcmVudD10LHRoaXMuX25hbWU9ZT9lLm5hbWV8fCJ1bm5hbWVkIjoiPHJvb3Q+Iix0aGlzLl9wcm9wZXJ0aWVzPWUmJmUucHJvcGVydGllc3x8e30sdGhpcy5fem9uZURlbGVnYXRlPW5ldyBkKHRoaXMsdGhpcy5fcGFyZW50JiZ0aGlzLl9wYXJlbnQuX3pvbmVEZWxlZ2F0ZSxlKX1yZXR1cm4gZS5hc3NlcnRab25lUGF0Y2hlZD1mdW5jdGlvbigpe2lmKHQuUHJvbWlzZSE9PUQuWm9uZUF3YXJlUHJvbWlzZSl0aHJvdyBuZXcgRXJyb3IoIlpvbmUuanMgaGFzIGRldGVjdGVkIHRoYXQgWm9uZUF3YXJlUHJvbWlzZSBgKHdpbmRvd3xnbG9iYWwpLlByb21pc2VgIGhhcyBiZWVuIG92ZXJ3cml0dGVuLlxuTW9zdCBsaWtlbHkgY2F1c2UgaXMgdGhhdCBhIFByb21pc2UgcG9seWZpbGwgaGFzIGJlZW4gbG9hZGVkIGFmdGVyIFpvbmUuanMgKFBvbHlmaWxsaW5nIFByb21pc2UgYXBpIGlzIG5vdCBuZWNlc3Nhcnkgd2hlbiB6b25lLmpzIGlzIGxvYWRlZC4gSWYgeW91IG11c3QgbG9hZCBvbmUsIGRvIHNvIGJlZm9yZSBsb2FkaW5nIHpvbmUuanMuKSIpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwicm9vdCIse2dldDpmdW5jdGlvbigpe2Zvcih2YXIgdD1lLmN1cnJlbnQ7dC5wYXJlbnQ7KXQ9dC5wYXJlbnQ7cmV0dXJuIHR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImN1cnJlbnQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gRS56b25lfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJjdXJyZW50VGFzayIse2dldDpmdW5jdGlvbigpe3JldHVybiBBfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUuX19sb2FkX3BhdGNoPWZ1bmN0aW9uKGksYSxzKXtpZih2b2lkIDA9PT1zJiYocz0hMSksRC5oYXNPd25Qcm9wZXJ0eShpKSl7aWYoIXMmJnIpdGhyb3cgRXJyb3IoIkFscmVhZHkgbG9hZGVkIHBhdGNoOiAiK2kpfWVsc2UgaWYoIXRbIl9fWm9uZV9kaXNhYmxlXyIraV0pe3ZhciBsPSJab25lOiIraTtuKGwpLERbaV09YSh0LGUsUiksbyhsLGwpfX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJwYXJlbnQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcGFyZW50fSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwibmFtZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9uYW1lfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdldFpvbmVXaXRoKHQpO2lmKGUpcmV0dXJuIGUuX3Byb3BlcnRpZXNbdF19LGUucHJvdG90eXBlLmdldFpvbmVXaXRoPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzO2U7KXtpZihlLl9wcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHQpKXJldHVybiBlO2U9ZS5fcGFyZW50fXJldHVybiBudWxsfSxlLnByb3RvdHlwZS5mb3JrPWZ1bmN0aW9uKHQpe2lmKCF0KXRocm93IG5ldyBFcnJvcigiWm9uZVNwZWMgcmVxdWlyZWQhIik7cmV0dXJuIHRoaXMuX3pvbmVEZWxlZ2F0ZS5mb3JrKHRoaXMsdCl9LGUucHJvdG90eXBlLndyYXA9ZnVuY3Rpb24odCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGluZyBmdW5jdGlvbiBnb3Q6ICIrdCk7dmFyIG49dGhpcy5fem9uZURlbGVnYXRlLmludGVyY2VwdCh0aGlzLHQsZSksbz10aGlzO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBvLnJ1bkd1YXJkZWQobix0aGlzLGFyZ3VtZW50cyxlKX19LGUucHJvdG90eXBlLnJ1bj1mdW5jdGlvbih0LGUsbixvKXtFPXtwYXJlbnQ6RSx6b25lOnRoaXN9O3RyeXtyZXR1cm4gdGhpcy5fem9uZURlbGVnYXRlLmludm9rZSh0aGlzLHQsZSxuLG8pfWZpbmFsbHl7RT1FLnBhcmVudH19LGUucHJvdG90eXBlLnJ1bkd1YXJkZWQ9ZnVuY3Rpb24odCxlLG4sbyl7dm9pZCAwPT09ZSYmKGU9bnVsbCksRT17cGFyZW50OkUsem9uZTp0aGlzfTt0cnl7dHJ5e3JldHVybiB0aGlzLl96b25lRGVsZWdhdGUuaW52b2tlKHRoaXMsdCxlLG4sbyl9Y2F0Y2godCl7aWYodGhpcy5fem9uZURlbGVnYXRlLmhhbmRsZUVycm9yKHRoaXMsdCkpdGhyb3cgdH19ZmluYWxseXtFPUUucGFyZW50fX0sZS5wcm90b3R5cGUucnVuVGFzaz1mdW5jdGlvbih0LGUsbil7aWYodC56b25lIT10aGlzKXRocm93IG5ldyBFcnJvcigiQSB0YXNrIGNhbiBvbmx5IGJlIHJ1biBpbiB0aGUgem9uZSBvZiBjcmVhdGlvbiEgKENyZWF0aW9uOiAiKyh0LnpvbmV8fF8pLm5hbWUrIjsgRXhlY3V0aW9uOiAiK3RoaXMubmFtZSsiKSIpO2lmKHQuc3RhdGUhPT1DfHx0LnR5cGUhPT1TJiZ0LnR5cGUhPT1rKXt2YXIgbz10LnN0YXRlIT14O28mJnQuX3RyYW5zaXRpb25Ubyh4LHYpLHQucnVuQ291bnQrKzt2YXIgaT1BO0E9dCxFPXtwYXJlbnQ6RSx6b25lOnRoaXN9O3RyeXt0LnR5cGU9PWsmJnQuZGF0YSYmIXQuZGF0YS5pc1BlcmlvZGljJiYodC5jYW5jZWxGbj12b2lkIDApO3RyeXtyZXR1cm4gdGhpcy5fem9uZURlbGVnYXRlLmludm9rZVRhc2sodGhpcyx0LGUsbil9Y2F0Y2godCl7aWYodGhpcy5fem9uZURlbGVnYXRlLmhhbmRsZUVycm9yKHRoaXMsdCkpdGhyb3cgdH19ZmluYWxseXt0LnN0YXRlIT09QyYmdC5zdGF0ZSE9PVAmJih0LnR5cGU9PVN8fHQuZGF0YSYmdC5kYXRhLmlzUGVyaW9kaWM/byYmdC5fdHJhbnNpdGlvblRvKHYseCk6KHQucnVuQ291bnQ9MCx0aGlzLl91cGRhdGVUYXNrQ291bnQodCwtMSksbyYmdC5fdHJhbnNpdGlvblRvKEMseCxDKSkpLEU9RS5wYXJlbnQsQT1pfX19LGUucHJvdG90eXBlLnNjaGVkdWxlVGFzaz1mdW5jdGlvbih0KXtpZih0LnpvbmUmJnQuem9uZSE9PXRoaXMpZm9yKHZhciBlPXRoaXM7ZTspe2lmKGU9PT10LnpvbmUpdGhyb3cgRXJyb3IoImNhbiBub3QgcmVzY2hlZHVsZSB0YXNrIHRvICIrdGhpcy5uYW1lKyIgd2hpY2ggaXMgZGVzY2VuZGFudHMgb2YgdGhlIG9yaWdpbmFsIHpvbmUgIit0LnpvbmUubmFtZSk7ZT1lLnBhcmVudH10Ll90cmFuc2l0aW9uVG8oTSxDKTt2YXIgbj1bXTt0Ll96b25lRGVsZWdhdGVzPW4sdC5fem9uZT10aGlzO3RyeXt0PXRoaXMuX3pvbmVEZWxlZ2F0ZS5zY2hlZHVsZVRhc2sodGhpcyx0KX1jYXRjaChlKXt0aHJvdyB0Ll90cmFuc2l0aW9uVG8oUCxNLEMpLHRoaXMuX3pvbmVEZWxlZ2F0ZS5oYW5kbGVFcnJvcih0aGlzLGUpLGV9cmV0dXJuIHQuX3pvbmVEZWxlZ2F0ZXM9PT1uJiZ0aGlzLl91cGRhdGVUYXNrQ291bnQodCwxKSx0LnN0YXRlPT1NJiZ0Ll90cmFuc2l0aW9uVG8odixNKSx0fSxlLnByb3RvdHlwZS5zY2hlZHVsZU1pY3JvVGFzaz1mdW5jdGlvbih0LGUsbixvKXtyZXR1cm4gdGhpcy5zY2hlZHVsZVRhc2sobmV3IHAodyx0LGUsbixvLHZvaWQgMCkpfSxlLnByb3RvdHlwZS5zY2hlZHVsZU1hY3JvVGFzaz1mdW5jdGlvbih0LGUsbixvLGkpe3JldHVybiB0aGlzLnNjaGVkdWxlVGFzayhuZXcgcChrLHQsZSxuLG8saSkpfSxlLnByb3RvdHlwZS5zY2hlZHVsZUV2ZW50VGFzaz1mdW5jdGlvbih0LGUsbixvLGkpe3JldHVybiB0aGlzLnNjaGVkdWxlVGFzayhuZXcgcChTLHQsZSxuLG8saSkpfSxlLnByb3RvdHlwZS5jYW5jZWxUYXNrPWZ1bmN0aW9uKHQpe2lmKHQuem9uZSE9dGhpcyl0aHJvdyBuZXcgRXJyb3IoIkEgdGFzayBjYW4gb25seSBiZSBjYW5jZWxsZWQgaW4gdGhlIHpvbmUgb2YgY3JlYXRpb24hIChDcmVhdGlvbjogIisodC56b25lfHxfKS5uYW1lKyI7IEV4ZWN1dGlvbjogIit0aGlzLm5hbWUrIikiKTt0Ll90cmFuc2l0aW9uVG8oTyx2LHgpO3RyeXt0aGlzLl96b25lRGVsZWdhdGUuY2FuY2VsVGFzayh0aGlzLHQpfWNhdGNoKGUpe3Rocm93IHQuX3RyYW5zaXRpb25UbyhQLE8pLHRoaXMuX3pvbmVEZWxlZ2F0ZS5oYW5kbGVFcnJvcih0aGlzLGUpLGV9cmV0dXJuIHRoaXMuX3VwZGF0ZVRhc2tDb3VudCh0LC0xKSx0Ll90cmFuc2l0aW9uVG8oQyxPKSx0LnJ1bkNvdW50PTAsdH0sZS5wcm90b3R5cGUuX3VwZGF0ZVRhc2tDb3VudD1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX3pvbmVEZWxlZ2F0ZXM7LTE9PWUmJih0Ll96b25lRGVsZWdhdGVzPW51bGwpO2Zvcih2YXIgbz0wO288bi5sZW5ndGg7bysrKW5bb10uX3VwZGF0ZVRhc2tDb3VudCh0LnR5cGUsZSl9LGV9KSgpO3MuX19zeW1ib2xfXz1hO3ZhciBsLGM9e25hbWU6IiIsb25IYXNUYXNrOmZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB0Lmhhc1Rhc2sobixvKX0sb25TY2hlZHVsZVRhc2s6ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHQuc2NoZWR1bGVUYXNrKG4sbyl9LG9uSW52b2tlVGFzazpmdW5jdGlvbih0LGUsbixvLGksYSl7cmV0dXJuIHQuaW52b2tlVGFzayhuLG8saSxhKX0sb25DYW5jZWxUYXNrOmZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB0LmNhbmNlbFRhc2sobixvKX19LGQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7dGhpcy5fdGFza0NvdW50cz17bWljcm9UYXNrOjAsbWFjcm9UYXNrOjAsZXZlbnRUYXNrOjB9LHRoaXMuem9uZT10LHRoaXMuX3BhcmVudERlbGVnYXRlPWUsdGhpcy5fZm9ya1pTPW4mJihuJiZuLm9uRm9yaz9uOmUuX2ZvcmtaUyksdGhpcy5fZm9ya0RsZ3Q9biYmKG4ub25Gb3JrP2U6ZS5fZm9ya0RsZ3QpLHRoaXMuX2ZvcmtDdXJyWm9uZT1uJiYobi5vbkZvcms/dGhpcy56b25lOmUuX2ZvcmtDdXJyWm9uZSksdGhpcy5faW50ZXJjZXB0WlM9biYmKG4ub25JbnRlcmNlcHQ/bjplLl9pbnRlcmNlcHRaUyksdGhpcy5faW50ZXJjZXB0RGxndD1uJiYobi5vbkludGVyY2VwdD9lOmUuX2ludGVyY2VwdERsZ3QpLHRoaXMuX2ludGVyY2VwdEN1cnJab25lPW4mJihuLm9uSW50ZXJjZXB0P3RoaXMuem9uZTplLl9pbnRlcmNlcHRDdXJyWm9uZSksdGhpcy5faW52b2tlWlM9biYmKG4ub25JbnZva2U/bjplLl9pbnZva2VaUyksdGhpcy5faW52b2tlRGxndD1uJiYobi5vbkludm9rZT9lOmUuX2ludm9rZURsZ3QpLHRoaXMuX2ludm9rZUN1cnJab25lPW4mJihuLm9uSW52b2tlP3RoaXMuem9uZTplLl9pbnZva2VDdXJyWm9uZSksdGhpcy5faGFuZGxlRXJyb3JaUz1uJiYobi5vbkhhbmRsZUVycm9yP246ZS5faGFuZGxlRXJyb3JaUyksdGhpcy5faGFuZGxlRXJyb3JEbGd0PW4mJihuLm9uSGFuZGxlRXJyb3I/ZTplLl9oYW5kbGVFcnJvckRsZ3QpLHRoaXMuX2hhbmRsZUVycm9yQ3VyclpvbmU9biYmKG4ub25IYW5kbGVFcnJvcj90aGlzLnpvbmU6ZS5faGFuZGxlRXJyb3JDdXJyWm9uZSksdGhpcy5fc2NoZWR1bGVUYXNrWlM9biYmKG4ub25TY2hlZHVsZVRhc2s/bjplLl9zY2hlZHVsZVRhc2taUyksdGhpcy5fc2NoZWR1bGVUYXNrRGxndD1uJiYobi5vblNjaGVkdWxlVGFzaz9lOmUuX3NjaGVkdWxlVGFza0RsZ3QpLHRoaXMuX3NjaGVkdWxlVGFza0N1cnJab25lPW4mJihuLm9uU2NoZWR1bGVUYXNrP3RoaXMuem9uZTplLl9zY2hlZHVsZVRhc2tDdXJyWm9uZSksdGhpcy5faW52b2tlVGFza1pTPW4mJihuLm9uSW52b2tlVGFzaz9uOmUuX2ludm9rZVRhc2taUyksdGhpcy5faW52b2tlVGFza0RsZ3Q9biYmKG4ub25JbnZva2VUYXNrP2U6ZS5faW52b2tlVGFza0RsZ3QpLHRoaXMuX2ludm9rZVRhc2tDdXJyWm9uZT1uJiYobi5vbkludm9rZVRhc2s/dGhpcy56b25lOmUuX2ludm9rZVRhc2tDdXJyWm9uZSksdGhpcy5fY2FuY2VsVGFza1pTPW4mJihuLm9uQ2FuY2VsVGFzaz9uOmUuX2NhbmNlbFRhc2taUyksdGhpcy5fY2FuY2VsVGFza0RsZ3Q9biYmKG4ub25DYW5jZWxUYXNrP2U6ZS5fY2FuY2VsVGFza0RsZ3QpLHRoaXMuX2NhbmNlbFRhc2tDdXJyWm9uZT1uJiYobi5vbkNhbmNlbFRhc2s/dGhpcy56b25lOmUuX2NhbmNlbFRhc2tDdXJyWm9uZSksdGhpcy5faGFzVGFza1pTPW51bGwsdGhpcy5faGFzVGFza0RsZ3Q9bnVsbCx0aGlzLl9oYXNUYXNrRGxndE93bmVyPW51bGwsdGhpcy5faGFzVGFza0N1cnJab25lPW51bGw7dmFyIG89biYmbi5vbkhhc1Rhc2s7KG98fGUmJmUuX2hhc1Rhc2taUykmJih0aGlzLl9oYXNUYXNrWlM9bz9uOmMsdGhpcy5faGFzVGFza0RsZ3Q9ZSx0aGlzLl9oYXNUYXNrRGxndE93bmVyPXRoaXMsdGhpcy5faGFzVGFza0N1cnJab25lPXQsbi5vblNjaGVkdWxlVGFza3x8KHRoaXMuX3NjaGVkdWxlVGFza1pTPWMsdGhpcy5fc2NoZWR1bGVUYXNrRGxndD1lLHRoaXMuX3NjaGVkdWxlVGFza0N1cnJab25lPXRoaXMuem9uZSksbi5vbkludm9rZVRhc2t8fCh0aGlzLl9pbnZva2VUYXNrWlM9Yyx0aGlzLl9pbnZva2VUYXNrRGxndD1lLHRoaXMuX2ludm9rZVRhc2tDdXJyWm9uZT10aGlzLnpvbmUpLG4ub25DYW5jZWxUYXNrfHwodGhpcy5fY2FuY2VsVGFza1pTPWMsdGhpcy5fY2FuY2VsVGFza0RsZ3Q9ZSx0aGlzLl9jYW5jZWxUYXNrQ3VyclpvbmU9dGhpcy56b25lKSl9cmV0dXJuIHQucHJvdG90eXBlLmZvcms9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fZm9ya1pTP3RoaXMuX2ZvcmtaUy5vbkZvcmsodGhpcy5fZm9ya0RsZ3QsdGhpcy56b25lLHQsZSk6bmV3IHModCxlKX0sdC5wcm90b3R5cGUuaW50ZXJjZXB0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5faW50ZXJjZXB0WlM/dGhpcy5faW50ZXJjZXB0WlMub25JbnRlcmNlcHQodGhpcy5faW50ZXJjZXB0RGxndCx0aGlzLl9pbnRlcmNlcHRDdXJyWm9uZSx0LGUsbik6ZX0sdC5wcm90b3R5cGUuaW52b2tlPWZ1bmN0aW9uKHQsZSxuLG8saSl7cmV0dXJuIHRoaXMuX2ludm9rZVpTP3RoaXMuX2ludm9rZVpTLm9uSW52b2tlKHRoaXMuX2ludm9rZURsZ3QsdGhpcy5faW52b2tlQ3VyclpvbmUsdCxlLG4sbyxpKTplLmFwcGx5KG4sbyl9LHQucHJvdG90eXBlLmhhbmRsZUVycm9yPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIXRoaXMuX2hhbmRsZUVycm9yWlN8fHRoaXMuX2hhbmRsZUVycm9yWlMub25IYW5kbGVFcnJvcih0aGlzLl9oYW5kbGVFcnJvckRsZ3QsdGhpcy5faGFuZGxlRXJyb3JDdXJyWm9uZSx0LGUpfSx0LnByb3RvdHlwZS5zY2hlZHVsZVRhc2s9ZnVuY3Rpb24odCxlKXt2YXIgbj1lO2lmKHRoaXMuX3NjaGVkdWxlVGFza1pTKXRoaXMuX2hhc1Rhc2taUyYmbi5fem9uZURlbGVnYXRlcy5wdXNoKHRoaXMuX2hhc1Rhc2tEbGd0T3duZXIpLChuPXRoaXMuX3NjaGVkdWxlVGFza1pTLm9uU2NoZWR1bGVUYXNrKHRoaXMuX3NjaGVkdWxlVGFza0RsZ3QsdGhpcy5fc2NoZWR1bGVUYXNrQ3VyclpvbmUsdCxlKSl8fChuPWUpO2Vsc2UgaWYoZS5zY2hlZHVsZUZuKWUuc2NoZWR1bGVGbihlKTtlbHNle2lmKGUudHlwZSE9dyl0aHJvdyBuZXcgRXJyb3IoIlRhc2sgaXMgbWlzc2luZyBzY2hlZHVsZUZuLiIpO2IoZSl9cmV0dXJuIG59LHQucHJvdG90eXBlLmludm9rZVRhc2s9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHRoaXMuX2ludm9rZVRhc2taUz90aGlzLl9pbnZva2VUYXNrWlMub25JbnZva2VUYXNrKHRoaXMuX2ludm9rZVRhc2tEbGd0LHRoaXMuX2ludm9rZVRhc2tDdXJyWm9uZSx0LGUsbixvKTplLmNhbGxiYWNrLmFwcGx5KG4sbyl9LHQucHJvdG90eXBlLmNhbmNlbFRhc2s9ZnVuY3Rpb24odCxlKXt2YXIgbjtpZih0aGlzLl9jYW5jZWxUYXNrWlMpbj10aGlzLl9jYW5jZWxUYXNrWlMub25DYW5jZWxUYXNrKHRoaXMuX2NhbmNlbFRhc2tEbGd0LHRoaXMuX2NhbmNlbFRhc2tDdXJyWm9uZSx0LGUpO2Vsc2V7aWYoIWUuY2FuY2VsRm4pdGhyb3cgRXJyb3IoIlRhc2sgaXMgbm90IGNhbmNlbGFibGUiKTtuPWUuY2FuY2VsRm4oZSl9cmV0dXJuIG59LHQucHJvdG90eXBlLmhhc1Rhc2s9ZnVuY3Rpb24odCxlKXt0cnl7dGhpcy5faGFzVGFza1pTJiZ0aGlzLl9oYXNUYXNrWlMub25IYXNUYXNrKHRoaXMuX2hhc1Rhc2tEbGd0LHRoaXMuX2hhc1Rhc2tDdXJyWm9uZSx0LGUpfWNhdGNoKGUpe3RoaXMuaGFuZGxlRXJyb3IodCxlKX19LHQucHJvdG90eXBlLl91cGRhdGVUYXNrQ291bnQ9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl90YXNrQ291bnRzLG89blt0XSxpPW5bdF09bytlO2lmKGk8MCl0aHJvdyBuZXcgRXJyb3IoIk1vcmUgdGFza3MgZXhlY3V0ZWQgdGhlbiB3ZXJlIHNjaGVkdWxlZC4iKTswIT1vJiYwIT1pfHx0aGlzLmhhc1Rhc2sodGhpcy56b25lLHttaWNyb1Rhc2s6bi5taWNyb1Rhc2s+MCxtYWNyb1Rhc2s6bi5tYWNyb1Rhc2s+MCxldmVudFRhc2s6bi5ldmVudFRhc2s+MCxjaGFuZ2U6dH0pfSx0fSkoKSxwPShmdW5jdGlvbigpe2Z1bmN0aW9uIGUobixvLGksYSxyLHMpe2lmKHRoaXMuX3pvbmU9bnVsbCx0aGlzLnJ1bkNvdW50PTAsdGhpcy5fem9uZURlbGVnYXRlcz1udWxsLHRoaXMuX3N0YXRlPSJub3RTY2hlZHVsZWQiLHRoaXMudHlwZT1uLHRoaXMuc291cmNlPW8sdGhpcy5kYXRhPWEsdGhpcy5zY2hlZHVsZUZuPXIsdGhpcy5jYW5jZWxGbj1zLCFpKXRocm93IG5ldyBFcnJvcigiY2FsbGJhY2sgaXMgbm90IGRlZmluZWQiKTt0aGlzLmNhbGxiYWNrPWk7dmFyIGw9dGhpczt0aGlzLmludm9rZT1uPT09UyYmYSYmYS51c2VHP2UuaW52b2tlVGFzazpmdW5jdGlvbigpe3JldHVybiBlLmludm9rZVRhc2suY2FsbCh0LGwsdGhpcyxhcmd1bWVudHMpfX1yZXR1cm4gZS5pbnZva2VUYXNrPWZ1bmN0aW9uKHQsZSxuKXt0fHwodD10aGlzKSxUKys7dHJ5e3JldHVybiB0LnJ1bkNvdW50KyssdC56b25lLnJ1blRhc2sodCxlLG4pfWZpbmFsbHl7MT09VCYmeSgpLFQtLX19LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiem9uZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl96b25lfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwic3RhdGUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RhdGV9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuY2FuY2VsU2NoZWR1bGVSZXF1ZXN0PWZ1bmN0aW9uKCl7dGhpcy5fdHJhbnNpdGlvblRvKEMsTSl9LGUucHJvdG90eXBlLl90cmFuc2l0aW9uVG89ZnVuY3Rpb24odCxlLG4pe2lmKHRoaXMuX3N0YXRlIT09ZSYmdGhpcy5fc3RhdGUhPT1uKXRocm93IG5ldyBFcnJvcih0aGlzLnR5cGUrIiAnIit0aGlzLnNvdXJjZSsiJzogY2FuIG5vdCB0cmFuc2l0aW9uIHRvICciK3QrIicsIGV4cGVjdGluZyBzdGF0ZSAnIitlKyInIisobj8iIG9yICciK24rIiciOiIiKSsiLCB3YXMgJyIrdGhpcy5fc3RhdGUrIicuIik7dGhpcy5fc3RhdGU9dCx0PT1DJiYodGhpcy5fem9uZURlbGVnYXRlcz1udWxsKX0sZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhJiZ2b2lkIDAhPT10aGlzLmRhdGEuaGFuZGxlSWQ/dGhpcy5kYXRhLmhhbmRsZUlkLnRvU3RyaW5nKCk6T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRoaXMpfSxlLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57dHlwZTp0aGlzLnR5cGUsc3RhdGU6dGhpcy5zdGF0ZSxzb3VyY2U6dGhpcy5zb3VyY2Usem9uZTp0aGlzLnpvbmUubmFtZSxydW5Db3VudDp0aGlzLnJ1bkNvdW50fX0sZX0pKCksbT1hKCJzZXRUaW1lb3V0IiksZj1hKCJQcm9taXNlIiksdT1hKCJ0aGVuIiksZz1bXSxoPSExO2Z1bmN0aW9uIGIoZSl7aWYoMD09PVQmJjA9PT1nLmxlbmd0aClpZihsfHx0W2ZdJiYobD10W2ZdLnJlc29sdmUoMCkpLGwpe3ZhciBuPWxbdV07bnx8KG49bC50aGVuKSxuLmNhbGwobCx5KX1lbHNlIHRbbV0oeSwwKTtlJiZnLnB1c2goZSl9ZnVuY3Rpb24geSgpe2lmKCFoKXtmb3IoaD0hMDtnLmxlbmd0aDspe3ZhciB0PWc7Zz1bXTtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl7dmFyIG49dFtlXTt0cnl7bi56b25lLnJ1blRhc2sobixudWxsLG51bGwpfWNhdGNoKHQpe1Iub25VbmhhbmRsZWRFcnJvcih0KX19fVIubWljcm90YXNrRHJhaW5Eb25lKCksaD0hMX19dmFyIF89e25hbWU6Ik5PIFpPTkUifSxDPSJub3RTY2hlZHVsZWQiLE09InNjaGVkdWxpbmciLHY9InNjaGVkdWxlZCIseD0icnVubmluZyIsTz0iY2FuY2VsaW5nIixQPSJ1bmtub3duIix3PSJtaWNyb1Rhc2siLGs9Im1hY3JvVGFzayIsUz0iZXZlbnRUYXNrIixEPXt9LFI9e3N5bWJvbDphLGN1cnJlbnRab25lRnJhbWU6ZnVuY3Rpb24oKXtyZXR1cm4gRX0sb25VbmhhbmRsZWRFcnJvcjpOLG1pY3JvdGFza0RyYWluRG9uZTpOLHNjaGVkdWxlTWljcm9UYXNrOmIsc2hvd1VuY2F1Z2h0RXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4hc1thKCJpZ25vcmVDb25zb2xlRXJyb3JVbmNhdWdodEVycm9yIildfSxwYXRjaEV2ZW50VGFyZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuW119LHBhdGNoT25Qcm9wZXJ0aWVzOk4scGF0Y2hNZXRob2Q6ZnVuY3Rpb24oKXtyZXR1cm4gTn0sYmluZEFyZ3VtZW50czpmdW5jdGlvbigpe3JldHVybltdfSxwYXRjaFRoZW46ZnVuY3Rpb24oKXtyZXR1cm4gTn0scGF0Y2hNYWNyb1Rhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gTn0scGF0Y2hFdmVudFByb3RvdHlwZTpmdW5jdGlvbigpe3JldHVybiBOfSxpc0lFT3JFZGdlOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGdldEdsb2JhbE9iamVjdHM6ZnVuY3Rpb24oKXt9LE9iamVjdERlZmluZVByb3BlcnR5OmZ1bmN0aW9uKCl7cmV0dXJuIE59LE9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcjpmdW5jdGlvbigpe30sT2JqZWN0Q3JlYXRlOmZ1bmN0aW9uKCl7fSxBcnJheVNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuW119LHBhdGNoQ2xhc3M6ZnVuY3Rpb24oKXtyZXR1cm4gTn0sd3JhcFdpdGhDdXJyZW50Wm9uZTpmdW5jdGlvbigpe3JldHVybiBOfSxmaWx0ZXJQcm9wZXJ0aWVzOmZ1bmN0aW9uKCl7cmV0dXJuW119LGF0dGFjaE9yaWdpblRvUGF0Y2hlZDpmdW5jdGlvbigpe3JldHVybiBOfSxfcmVkZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbigpe3JldHVybiBOfSxwYXRjaENhbGxiYWNrczpmdW5jdGlvbigpe3JldHVybiBOfX0sRT17cGFyZW50Om51bGwsem9uZTpuZXcgcyhudWxsLG51bGwpfSxBPW51bGwsVD0wO2Z1bmN0aW9uIE4oKXt9bygiWm9uZSIsIlpvbmUiKSx0LlpvbmU9c30pKCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3d8fCJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmc2VsZnx8X08pOwovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi8KdmFyIHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxuPU9iamVjdC5nZXRQcm90b3R5cGVPZixvPU9iamVjdC5jcmVhdGUsaT1BcnJheS5wcm90b3R5cGUuc2xpY2UsYT0iYWRkRXZlbnRMaXN0ZW5lciIscj0icmVtb3ZlRXZlbnRMaXN0ZW5lciIscz1ab25lLl9fc3ltYm9sX18oYSksbD1ab25lLl9fc3ltYm9sX18ociksYz0idHJ1ZSIsZD0iZmFsc2UiLHA9Wm9uZS5fX3N5bWJvbF9fKCIiKTtmdW5jdGlvbiBtKHQsZSl7cmV0dXJuIFpvbmUuY3VycmVudC53cmFwKHQsZSl9ZnVuY3Rpb24gZih0LGUsbixvLGkpe3JldHVybiBab25lLmN1cnJlbnQuc2NoZWR1bGVNYWNyb1Rhc2sodCxlLG4sbyxpKX12YXIgdT1ab25lLl9fc3ltYm9sX18sZz0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyxoPWc/d2luZG93OnZvaWQgMCxiPWcmJmh8fCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZnx8X08seT0icmVtb3ZlQXR0cmlidXRlIixfPVtudWxsXTtmdW5jdGlvbiBDKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoLTE7bj49MDtuLS0pImZ1bmN0aW9uIj09dHlwZW9mIHRbbl0mJih0W25dPW0odFtuXSxlKyJfIituKSk7cmV0dXJuIHR9ZnVuY3Rpb24gTShlLG4pe2Zvcih2YXIgbz1lLmNvbnN0cnVjdG9yLm5hbWUsaT1mdW5jdGlvbihpKXt2YXIgYT1uW2ldLHI9ZVthXTtpZihyKXtpZighdih0KGUsYSkpKXJldHVybiJjb250aW51ZSI7ZVthXT0oZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLEMoYXJndW1lbnRzLG8rIi4iK2EpKX07cmV0dXJuIHooZSx0KSxlfSkocil9fSxhPTA7YTxuLmxlbmd0aDthKyspaShhKX1mdW5jdGlvbiB2KHQpe3JldHVybiF0fHwhMSE9PXQud3JpdGFibGUmJiEoImZ1bmN0aW9uIj09dHlwZW9mIHQuZ2V0JiZ2b2lkIDA9PT10LnNldCl9dmFyIHg9InVuZGVmaW5lZCIhPXR5cGVvZiBXb3JrZXJHbG9iYWxTY29wZSYmc2VsZiBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlLE89ISgibnciaW4gYikmJnZvaWQgMCE9PWIucHJvY2VzcyYmIltvYmplY3QgcHJvY2Vzc10iPT09e30udG9TdHJpbmcuY2FsbChiLnByb2Nlc3MpLFA9IU8mJiF4JiYhKCFnfHwhaC5IVE1MRWxlbWVudCksdz12b2lkIDAhPT1iLnByb2Nlc3MmJiJbb2JqZWN0IHByb2Nlc3NdIj09PXt9LnRvU3RyaW5nLmNhbGwoYi5wcm9jZXNzKSYmIXgmJiEoIWd8fCFoLkhUTUxFbGVtZW50KSxrPXt9LFM9ZnVuY3Rpb24odCl7aWYodD10fHxiLmV2ZW50KXt2YXIgZT1rW3QudHlwZV07ZXx8KGU9a1t0LnR5cGVdPXUoIk9OX1BST1BFUlRZIit0LnR5cGUpKTt2YXIgbixvPXRoaXN8fHQudGFyZ2V0fHxiLGk9b1tlXTtyZXR1cm4gUCYmbz09PWgmJiJlcnJvciI9PT10LnR5cGU/ITA9PT0obj1pJiZpLmNhbGwodGhpcyx0Lm1lc3NhZ2UsdC5maWxlbmFtZSx0LmxpbmVubyx0LmNvbG5vLHQuZXJyb3IpKSYmdC5wcmV2ZW50RGVmYXVsdCgpOm51bGw9PShuPWkmJmkuYXBwbHkodGhpcyxhcmd1bWVudHMpKXx8bnx8dC5wcmV2ZW50RGVmYXVsdCgpLG59fTtmdW5jdGlvbiBEKG4sbyxpKXt2YXIgYT10KG4sbyk7aWYoIWEmJmkmJnQoaSxvKSYmKGE9e2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksYSYmYS5jb25maWd1cmFibGUpe3ZhciByPXUoIm9uIitvKyJwYXRjaGVkIik7aWYoIW4uaGFzT3duUHJvcGVydHkocil8fCFuW3JdKXtkZWxldGUgYS53cml0YWJsZSxkZWxldGUgYS52YWx1ZTt2YXIgcz1hLmdldCxsPWEuc2V0LGM9by5zdWJzdHIoMiksZD1rW2NdO2R8fChkPWtbY109dSgiT05fUFJPUEVSVFkiK2MpKSxhLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2V8fG4hPT1ifHwoZT1iKSxlJiYoZVtkXSYmZS5yZW1vdmVFdmVudExpc3RlbmVyKGMsUyksbCYmbC5hcHBseShlLF8pLCJmdW5jdGlvbiI9PXR5cGVvZiB0PyhlW2RdPXQsZS5hZGRFdmVudExpc3RlbmVyKGMsUywhMSkpOmVbZF09bnVsbCl9LGEuZ2V0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZih0fHxuIT09Ynx8KHQ9YiksIXQpcmV0dXJuIG51bGw7dmFyIGU9dFtkXTtpZihlKXJldHVybiBlO2lmKHMpe3ZhciBpPXMmJnMuY2FsbCh0aGlzKTtpZihpKXJldHVybiBhLnNldC5jYWxsKHRoaXMsaSksImZ1bmN0aW9uIj09dHlwZW9mIHRbeV0mJnQucmVtb3ZlQXR0cmlidXRlKG8pLGl9cmV0dXJuIG51bGx9LGUobixvLGEpLG5bcl09ITB9fX1mdW5jdGlvbiBSKHQsZSxuKXtpZihlKWZvcih2YXIgbz0wO288ZS5sZW5ndGg7bysrKUQodCwib24iK2Vbb10sbik7ZWxzZXt2YXIgaT1bXTtmb3IodmFyIGEgaW4gdCkib24iPT1hLnN1YnN0cigwLDIpJiZpLnB1c2goYSk7Zm9yKHZhciByPTA7cjxpLmxlbmd0aDtyKyspRCh0LGlbcl0sbil9fXZhciBFPXUoIm9yaWdpbmFsSW5zdGFuY2UiKTtmdW5jdGlvbiBBKHQpe3ZhciBuPWJbdF07aWYobil7Ylt1KHQpXT1uLGJbdF09ZnVuY3Rpb24oKXt2YXIgZT1DKGFyZ3VtZW50cyx0KTtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMDp0aGlzW0VdPW5ldyBuO2JyZWFrO2Nhc2UgMTp0aGlzW0VdPW5ldyBuKGVbMF0pO2JyZWFrO2Nhc2UgMjp0aGlzW0VdPW5ldyBuKGVbMF0sZVsxXSk7YnJlYWs7Y2FzZSAzOnRoaXNbRV09bmV3IG4oZVswXSxlWzFdLGVbMl0pO2JyZWFrO2Nhc2UgNDp0aGlzW0VdPW5ldyBuKGVbMF0sZVsxXSxlWzJdLGVbM10pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJBcmcgbGlzdCB0b28gbG9uZy4iKX19LHooYlt0XSxuKTt2YXIgbyxpPW5ldyBuKChmdW5jdGlvbigpe30pKTtmb3IobyBpbiBpKSJYTUxIdHRwUmVxdWVzdCI9PT10JiYicmVzcG9uc2VCbG9iIj09PW98fChmdW5jdGlvbihuKXsiZnVuY3Rpb24iPT10eXBlb2YgaVtuXT9iW3RdLnByb3RvdHlwZVtuXT1mdW5jdGlvbigpe3JldHVybiB0aGlzW0VdW25dLmFwcGx5KHRoaXNbRV0sYXJndW1lbnRzKX06ZShiW3RdLnByb3RvdHlwZSxuLHtzZXQ6ZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGU/KHRoaXNbRV1bbl09bShlLHQrIi4iK24pLHoodGhpc1tFXVtuXSxlKSk6dGhpc1tFXVtuXT1lfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tFXVtuXX19KX0pKG8pO2ZvcihvIGluIG4pInByb3RvdHlwZSIhPT1vJiZuLmhhc093blByb3BlcnR5KG8pJiYoYlt0XVtvXT1uW29dKX19ZnVuY3Rpb24gVChlLG8saSl7Zm9yKHZhciBhPWU7YSYmIWEuaGFzT3duUHJvcGVydHkobyk7KWE9bihhKTshYSYmZVtvXSYmKGE9ZSk7dmFyIHI9dShvKSxzPW51bGw7aWYoYSYmKCEocz1hW3JdKXx8IWEuaGFzT3duUHJvcGVydHkocikpJiYocz1hW3JdPWFbb10sdihhJiZ0KGEsbykpKSl7dmFyIGw9aShzLHIsbyk7YVtvXT1mdW5jdGlvbigpe3JldHVybiBsKHRoaXMsYXJndW1lbnRzKX0seihhW29dLHMpfXJldHVybiBzfWZ1bmN0aW9uIE4odCxlLG4pe3ZhciBvPW51bGw7ZnVuY3Rpb24gaSh0KXt2YXIgZT10LmRhdGE7cmV0dXJuIGUuYXJnc1tlLmNiSWR4XT1mdW5jdGlvbigpe3QuaW52b2tlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sby5hcHBseShlLnRhcmdldCxlLmFyZ3MpLHR9bz1UKHQsZSwoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUsbyl7dmFyIGE9bihlLG8pO3JldHVybiBhLmNiSWR4Pj0wJiYiZnVuY3Rpb24iPT10eXBlb2Ygb1thLmNiSWR4XT9mKGEubmFtZSxvW2EuY2JJZHhdLGEsaSk6dC5hcHBseShlLG8pfX0pKX1mdW5jdGlvbiB6KHQsZSl7dFt1KCJPcmlnaW5hbERlbGVnYXRlIildPWV9dmFyIEk9ITEsSD0hMTtmdW5jdGlvbiBGKCl7dHJ5e3ZhciB0PWgubmF2aWdhdG9yLnVzZXJBZ2VudDtpZigtMSE9PXQuaW5kZXhPZigiTVNJRSAiKXx8LTEhPT10LmluZGV4T2YoIlRyaWRlbnQvIikpcmV0dXJuITB9Y2F0Y2godCl7fXJldHVybiExfWZ1bmN0aW9uIEwoKXtpZihJKXJldHVybiBIO0k9ITA7dHJ5e3ZhciB0PWgubmF2aWdhdG9yLnVzZXJBZ2VudDstMT09PXQuaW5kZXhPZigiTVNJRSAiKSYmLTE9PT10LmluZGV4T2YoIlRyaWRlbnQvIikmJi0xPT09dC5pbmRleE9mKCJFZGdlLyIpfHwoSD0hMCl9Y2F0Y2godCl7fXJldHVybiBIfQovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi9ab25lLl9fbG9hZF9wYXRjaCgiWm9uZUF3YXJlUHJvbWlzZSIsKGZ1bmN0aW9uKHQsZSxuKXt2YXIgbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGk9T2JqZWN0LmRlZmluZVByb3BlcnR5O2Z1bmN0aW9uIGEodCl7aWYodCYmdC50b1N0cmluZz09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpe3ZhciBlPXQuY29uc3RydWN0b3ImJnQuY29uc3RydWN0b3IubmFtZTtyZXR1cm4oZXx8IiIpKyI6ICIrSlNPTi5zdHJpbmdpZnkodCl9cmV0dXJuIHQ/dC50b1N0cmluZygpOk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX12YXIgcj1uLnN5bWJvbCxzPVtdLGw9ITA9PT10W3IoIkRJU0FCTEVfV1JBUFBJTkdfVU5DQVVHSFRfUFJPTUlTRV9SRUpFQ1RJT04iKV0sYz1yKCJQcm9taXNlIiksZD1yKCJ0aGVuIikscD0iX19jcmVhdGlvblRyYWNlX18iO24ub25VbmhhbmRsZWRFcnJvcj1mdW5jdGlvbih0KXtpZihuLnNob3dVbmNhdWdodEVycm9yKCkpe3ZhciBlPXQmJnQucmVqZWN0aW9uO2U/Y29uc29sZS5lcnJvcigiVW5oYW5kbGVkIFByb21pc2UgcmVqZWN0aW9uOiIsZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZTplLCI7IFpvbmU6Iix0LnpvbmUubmFtZSwiOyBUYXNrOiIsdC50YXNrJiZ0LnRhc2suc291cmNlLCI7IFZhbHVlOiIsZSxlIGluc3RhbmNlb2YgRXJyb3I/ZS5zdGFjazp2b2lkIDApOmNvbnNvbGUuZXJyb3IodCl9fSxuLm1pY3JvdGFza0RyYWluRG9uZT1mdW5jdGlvbigpe2Zvcih2YXIgdD1mdW5jdGlvbigpe3ZhciB0PXMuc2hpZnQoKTt0cnl7dC56b25lLnJ1bkd1YXJkZWQoKGZ1bmN0aW9uKCl7aWYodC50aHJvd09yaWdpbmFsKXRocm93IHQucmVqZWN0aW9uO3Rocm93IHR9KSl9Y2F0Y2godCl7Zih0KX19O3MubGVuZ3RoOyl0KCl9O3ZhciBtPXIoInVuaGFuZGxlZFByb21pc2VSZWplY3Rpb25IYW5kbGVyIik7ZnVuY3Rpb24gZih0KXtuLm9uVW5oYW5kbGVkRXJyb3IodCk7dHJ5e3ZhciBvPWVbbV07ImZ1bmN0aW9uIj09dHlwZW9mIG8mJm8uY2FsbCh0aGlzLHQpfWNhdGNoKHQpe319ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdCYmdC50aGVufWZ1bmN0aW9uIGcodCl7cmV0dXJuIHR9ZnVuY3Rpb24gaCh0KXtyZXR1cm4gRi5yZWplY3QodCl9dmFyIGI9cigic3RhdGUiKSx5PXIoInZhbHVlIiksXz1yKCJmaW5hbGx5IiksQz1yKCJwYXJlbnRQcm9taXNlVmFsdWUiKSxNPXIoInBhcmVudFByb21pc2VTdGF0ZSIpLHY9IlByb21pc2UudGhlbiIseD1udWxsLE89ITAsUD0hMSx3PTA7ZnVuY3Rpb24gayh0LGUpe3JldHVybiBmdW5jdGlvbihuKXt0cnl7RSh0LGUsbil9Y2F0Y2goZSl7RSh0LCExLGUpfX19dmFyIFM9ZnVuY3Rpb24oKXt2YXIgdD0hMTtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4gZnVuY3Rpb24oKXt0fHwodD0hMCxuLmFwcGx5KG51bGwsYXJndW1lbnRzKSl9fX0sRD0iUHJvbWlzZSByZXNvbHZlZCB3aXRoIGl0c2VsZiIsUj1yKCJjdXJyZW50VGFza1RyYWNlIik7ZnVuY3Rpb24gRSh0LG8scil7dmFyIGM9UygpO2lmKHQ9PT1yKXRocm93IG5ldyBUeXBlRXJyb3IoRCk7aWYodFtiXT09PXgpe3ZhciBkPW51bGw7dHJ5eyJvYmplY3QiIT10eXBlb2YgciYmImZ1bmN0aW9uIiE9dHlwZW9mIHJ8fChkPXImJnIudGhlbil9Y2F0Y2goZSl7cmV0dXJuIGMoKGZ1bmN0aW9uKCl7RSh0LCExLGUpfSkpKCksdH1pZihvIT09UCYmciBpbnN0YW5jZW9mIEYmJnIuaGFzT3duUHJvcGVydHkoYikmJnIuaGFzT3duUHJvcGVydHkoeSkmJnJbYl0hPT14KU4ociksRSh0LHJbYl0sclt5XSk7ZWxzZSBpZihvIT09UCYmImZ1bmN0aW9uIj09dHlwZW9mIGQpdHJ5e2QuY2FsbChyLGMoayh0LG8pKSxjKGsodCwhMSkpKX1jYXRjaChlKXtjKChmdW5jdGlvbigpe0UodCwhMSxlKX0pKSgpfWVsc2V7dFtiXT1vO3ZhciBtPXRbeV07aWYodFt5XT1yLHRbX109PT1fJiZvPT09TyYmKHRbYl09dFtNXSx0W3ldPXRbQ10pLG89PT1QJiZyIGluc3RhbmNlb2YgRXJyb3Ipe3ZhciBmPWUuY3VycmVudFRhc2smJmUuY3VycmVudFRhc2suZGF0YSYmZS5jdXJyZW50VGFzay5kYXRhW3BdO2YmJmkocixSLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCx2YWx1ZTpmfSl9Zm9yKHZhciB1PTA7dTxtLmxlbmd0aDspeih0LG1bdSsrXSxtW3UrK10sbVt1KytdLG1bdSsrXSk7aWYoMD09bS5sZW5ndGgmJm89PVApe3RbYl09dzt2YXIgZz1yO3RyeXt0aHJvdyBuZXcgRXJyb3IoIlVuY2F1Z2h0IChpbiBwcm9taXNlKTogIithKHIpKyhyJiZyLnN0YWNrPyJcbiIrci5zdGFjazoiIikpfWNhdGNoKHQpe2c9dH1sJiYoZy50aHJvd09yaWdpbmFsPSEwKSxnLnJlamVjdGlvbj1yLGcucHJvbWlzZT10LGcuem9uZT1lLmN1cnJlbnQsZy50YXNrPWUuY3VycmVudFRhc2sscy5wdXNoKGcpLG4uc2NoZWR1bGVNaWNyb1Rhc2soKX19fXJldHVybiB0fXZhciBBPXIoInJlamVjdGlvbkhhbmRsZWRIYW5kbGVyIik7ZnVuY3Rpb24gTih0KXtpZih0W2JdPT09dyl7dHJ5e3ZhciBuPWVbQV07biYmImZ1bmN0aW9uIj09dHlwZW9mIG4mJm4uY2FsbCh0aGlzLHtyZWplY3Rpb246dFt5XSxwcm9taXNlOnR9KX1jYXRjaCh0KXt9dFtiXT1QO2Zvcih2YXIgbz0wO288cy5sZW5ndGg7bysrKXQ9PT1zW29dLnByb21pc2UmJnMuc3BsaWNlKG8sMSl9fWZ1bmN0aW9uIHoodCxlLG4sbyxpKXtOKHQpO3ZhciBhPXRbYl0scj1hPyJmdW5jdGlvbiI9PXR5cGVvZiBvP286ZzoiZnVuY3Rpb24iPT10eXBlb2YgaT9pOmg7ZS5zY2hlZHVsZU1pY3JvVGFzayh2LChmdW5jdGlvbigpe3RyeXt2YXIgbz10W3ldLGk9ISFuJiZfPT09bltfXTtpJiYobltDXT1vLG5bTV09YSk7dmFyIHM9ZS5ydW4ocix2b2lkIDAsaSYmciE9PWgmJnIhPT1nP1tdOltvXSk7RShuLCEwLHMpfWNhdGNoKHQpe0UobiwhMSx0KX19KSxuKX12YXIgST0iZnVuY3Rpb24gWm9uZUF3YXJlUHJvbWlzZSgpIHsgW25hdGl2ZSBjb2RlXSB9IixIPWZ1bmN0aW9uKCl7fSxGPShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dmFyIG49dGhpcztpZighKG4gaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgRXJyb3IoIk11c3QgYmUgYW4gaW5zdGFuY2VvZiBQcm9taXNlLiIpO25bYl09eCxuW3ldPVtdO3RyeXtlJiZlKGsobixPKSxrKG4sUCkpfWNhdGNoKHQpe0UobiwhMSx0KX19cmV0dXJuIHQudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gSX0sdC5yZXNvbHZlPWZ1bmN0aW9uKHQpe3JldHVybiBFKG5ldyB0aGlzKG51bGwpLE8sdCl9LHQucmVqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBFKG5ldyB0aGlzKG51bGwpLFAsdCl9LHQucmFjZT1mdW5jdGlvbih0KXt2YXIgZSxuLG89bmV3IHRoaXMoKGZ1bmN0aW9uKHQsbyl7ZT10LG49b30pKTtmdW5jdGlvbiBpKHQpe2UodCl9ZnVuY3Rpb24gYSh0KXtuKHQpfWZvcih2YXIgcj0wLHM9dDtyPHMubGVuZ3RoO3IrKyl7dmFyIGw9c1tyXTt1KGwpfHwobD10aGlzLnJlc29sdmUobCkpLGwudGhlbihpLGEpfXJldHVybiBvfSx0LmFsbD1mdW5jdGlvbihlKXtyZXR1cm4gdC5hbGxXaXRoQ2FsbGJhY2soZSl9LHQuYWxsU2V0dGxlZD1mdW5jdGlvbihlKXtyZXR1cm4odGhpcyYmdGhpcy5wcm90b3R5cGUgaW5zdGFuY2VvZiB0P3RoaXM6dCkuYWxsV2l0aENhbGxiYWNrKGUse3RoZW5DYWxsYmFjazpmdW5jdGlvbih0KXtyZXR1cm57c3RhdHVzOiJmdWxmaWxsZWQiLHZhbHVlOnR9fSxlcnJvckNhbGxiYWNrOmZ1bmN0aW9uKHQpe3JldHVybntzdGF0dXM6InJlamVjdGVkIixyZWFzb246dH19fSl9LHQuYWxsV2l0aENhbGxiYWNrPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuLG8saT1uZXcgdGhpcygoZnVuY3Rpb24odCxlKXtuPXQsbz1lfSkpLGE9MixyPTAscz1bXSxsPWZ1bmN0aW9uKHQpe3UodCl8fCh0PWMucmVzb2x2ZSh0KSk7dmFyIGk9cjt0cnl7dC50aGVuKChmdW5jdGlvbih0KXtzW2ldPWU/ZS50aGVuQ2FsbGJhY2sodCk6dCwwPT0tLWEmJm4ocyl9KSwoZnVuY3Rpb24odCl7ZT8oc1tpXT1lLmVycm9yQ2FsbGJhY2sodCksMD09LS1hJiZuKHMpKTpvKHQpfSkpfWNhdGNoKHQpe28odCl9YSsrLHIrK30sYz10aGlzLGQ9MCxwPXQ7ZDxwLmxlbmd0aDtkKyspbChwW2RdKTtyZXR1cm4gMD09KGEtPTIpJiZuKHMpLGl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxTeW1ib2wudG9TdHJpbmdUYWcse2dldDpmdW5jdGlvbigpe3JldHVybiJQcm9taXNlIn0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsU3ltYm9sLnNwZWNpZXMse2dldDpmdW5jdGlvbigpe3JldHVybiB0fSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24obixvKXt2YXIgaT10aGlzLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXTtpJiYiZnVuY3Rpb24iPT10eXBlb2YgaXx8KGk9dGhpcy5jb25zdHJ1Y3Rvcnx8dCk7dmFyIGE9bmV3IGkoSCkscj1lLmN1cnJlbnQ7cmV0dXJuIHRoaXNbYl09PXg/dGhpc1t5XS5wdXNoKHIsYSxuLG8pOnoodGhpcyxyLGEsbixvKSxhfSx0LnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50aGVuKG51bGwsdCl9LHQucHJvdG90eXBlLmZpbmFsbHk9ZnVuY3Rpb24obil7dmFyIG89dGhpcy5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc107byYmImZ1bmN0aW9uIj09dHlwZW9mIG98fChvPXQpO3ZhciBpPW5ldyBvKEgpO2lbX109Xzt2YXIgYT1lLmN1cnJlbnQ7cmV0dXJuIHRoaXNbYl09PXg/dGhpc1t5XS5wdXNoKGEsaSxuLG4pOnoodGhpcyxhLGksbixuKSxpfSx0fSkoKTtGLnJlc29sdmU9Ri5yZXNvbHZlLEYucmVqZWN0PUYucmVqZWN0LEYucmFjZT1GLnJhY2UsRi5hbGw9Ri5hbGw7dmFyIEw9dFtjXT10LlByb21pc2U7dC5Qcm9taXNlPUY7dmFyIEI9cigidGhlblBhdGNoZWQiKTtmdW5jdGlvbiBWKHQpe3ZhciBlPXQucHJvdG90eXBlLG49byhlLCJ0aGVuIik7aWYoIW58fCExIT09bi53cml0YWJsZSYmbi5jb25maWd1cmFibGUpe3ZhciBpPWUudGhlbjtlW2RdPWksdC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXM7cmV0dXJuIG5ldyBGKChmdW5jdGlvbih0LGUpe2kuY2FsbChuLHQsZSl9KSkudGhlbih0LGUpfSx0W0JdPSEwfX1mdW5jdGlvbiBqKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciBvPXQuYXBwbHkoZSxuKTtpZihvIGluc3RhbmNlb2YgRilyZXR1cm4gbzt2YXIgaT1vLmNvbnN0cnVjdG9yO3JldHVybiBpW0JdfHxWKGkpLG99fXJldHVybiBuLnBhdGNoVGhlbj1WLEwmJihWKEwpLFQodCwiZmV0Y2giLChmdW5jdGlvbih0KXtyZXR1cm4gaih0KX0pKSksUHJvbWlzZVtlLl9fc3ltYm9sX18oInVuY2F1Z2h0UHJvbWlzZUVycm9ycyIpXT1zLEZ9KSksCi8qKgogICAgICAgICAqIEBsaWNlbnNlCiAgICAgICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAgICAgKgogICAgICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICAgICAqLwpab25lLl9fbG9hZF9wYXRjaCgidG9TdHJpbmciLChmdW5jdGlvbih0KXt2YXIgZT1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcsbj11KCJPcmlnaW5hbERlbGVnYXRlIiksbz11KCJQcm9taXNlIiksaT11KCJFcnJvciIpLGE9ZnVuY3Rpb24gYSgpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzKXt2YXIgcj10aGlzW25dO2lmKHIpcmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHI/ZS5jYWxsKHIpOk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKTtpZih0aGlzPT09UHJvbWlzZSl7dmFyIHM9dFtvXTtpZihzKXJldHVybiBlLmNhbGwocyl9aWYodGhpcz09PUVycm9yKXt2YXIgbD10W2ldO2lmKGwpcmV0dXJuIGUuY2FsbChsKX19cmV0dXJuIGUuY2FsbCh0aGlzKX07YVtuXT1lLEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZz1hO3ZhciByPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcscz0iW29iamVjdCBQcm9taXNlXSI7T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBQcm9taXNlJiZ0aGlzIGluc3RhbmNlb2YgUHJvbWlzZT9zOnIuY2FsbCh0aGlzKX19KSk7Ci8qKgogICAgICAgICAqIEBsaWNlbnNlCiAgICAgICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAgICAgKgogICAgICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICAgICAqLwp2YXIgQj0hMTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyl0cnl7dmFyIFY9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7Qj0hMH19KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsVixWKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsVixWKX1jYXRjaCh0KXtCPSExfXZhciBqPXt1c2VHOiEwfSxVPXt9LFc9e30sRz1uZXcgUmVnRXhwKCJeIitwKyIoXFx3KykodHJ1ZXxmYWxzZSkkIiksWT11KCJwcm9wYWdhdGlvblN0b3BwZWQiKTtmdW5jdGlvbiBxKHQsZSl7dmFyIG49KGU/ZSh0KTp0KStkLG89KGU/ZSh0KTp0KStjLGk9cCtuLGE9cCtvO1VbdF09e30sVVt0XVtkXT1pLFVbdF1bY109YX1mdW5jdGlvbiBaKHQsZSxvKXt2YXIgaT1vJiZvLmFkZHx8YSxzPW8mJm8ucm18fHIsbD1vJiZvLmxpc3RlbmVyc3x8ImV2ZW50TGlzdGVuZXJzIixtPW8mJm8ucm1BbGx8fCJyZW1vdmVBbGxMaXN0ZW5lcnMiLGY9dShpKSxnPSIuIitpKyI6IixoPSJwcmVwZW5kTGlzdGVuZXIiLGI9Ii4iK2grIjoiLHk9ZnVuY3Rpb24odCxlLG4pe2lmKCF0LmlzUmVtb3ZlZCl7dmFyIG89dC5jYWxsYmFjazsib2JqZWN0Ij09dHlwZW9mIG8mJm8uaGFuZGxlRXZlbnQmJih0LmNhbGxiYWNrPWZ1bmN0aW9uKHQpe3JldHVybiBvLmhhbmRsZUV2ZW50KHQpfSx0Lm9yaWdpbmFsRGVsZWdhdGU9byksdC5pbnZva2UodCxlLFtuXSk7dmFyIGk9dC5vcHRpb25zO2kmJiJvYmplY3QiPT10eXBlb2YgaSYmaS5vbmNlJiZlW3NdLmNhbGwoZSxuLnR5cGUsdC5vcmlnaW5hbERlbGVnYXRlP3Qub3JpZ2luYWxEZWxlZ2F0ZTp0LmNhbGxiYWNrLGkpfX0sXz1mdW5jdGlvbihlKXtpZihlPWV8fHQuZXZlbnQpe3ZhciBuPXRoaXN8fGUudGFyZ2V0fHx0LG89bltVW2UudHlwZV1bZF1dO2lmKG8paWYoMT09PW8ubGVuZ3RoKXkob1swXSxuLGUpO2Vsc2UgZm9yKHZhciBpPW8uc2xpY2UoKSxhPTA7YTxpLmxlbmd0aCYmKCFlfHwhMCE9PWVbWV0pO2ErKyl5KGlbYV0sbixlKX19LEM9ZnVuY3Rpb24oZSl7aWYoZT1lfHx0LmV2ZW50KXt2YXIgbj10aGlzfHxlLnRhcmdldHx8dCxvPW5bVVtlLnR5cGVdW2NdXTtpZihvKWlmKDE9PT1vLmxlbmd0aCl5KG9bMF0sbixlKTtlbHNlIGZvcih2YXIgaT1vLnNsaWNlKCksYT0wO2E8aS5sZW5ndGgmJighZXx8ITAhPT1lW1ldKTthKyspeShpW2FdLG4sZSl9fTtmdW5jdGlvbiBNKGUsbyl7aWYoIWUpcmV0dXJuITE7dmFyIGE9ITA7byYmdm9pZCAwIT09by51c2VHJiYoYT1vLnVzZUcpO3ZhciByPW8mJm8udmgseT0hMDtvJiZ2b2lkIDAhPT1vLmNoa0R1cCYmKHk9by5jaGtEdXApO3ZhciBNPSExO28mJnZvaWQgMCE9PW8ucnQmJihNPW8ucnQpO2Zvcih2YXIgdj1lO3YmJiF2Lmhhc093blByb3BlcnR5KGkpOyl2PW4odik7aWYoIXYmJmVbaV0mJih2PWUpLCF2KXJldHVybiExO2lmKHZbZl0pcmV0dXJuITE7dmFyIHgsUD1vJiZvLmV2ZW50TmFtZVRvU3RyaW5nLHc9e30saz12W2ZdPXZbaV0sUz12W3UocyldPXZbc10sRD12W3UobCldPXZbbF0sUj12W3UobSldPXZbbV07ZnVuY3Rpb24gRSh0LGUpe3JldHVybiFCJiYib2JqZWN0Ij09dHlwZW9mIHQmJnQ/ISF0LmNhcHR1cmU6QiYmZT8iYm9vbGVhbiI9PXR5cGVvZiB0P3tjYXB0dXJlOnQscGFzc2l2ZTohMH06dD8ib2JqZWN0Ij09dHlwZW9mIHQmJiExIT09dC5wYXNzaXZlP09iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cGFzc2l2ZTohMH0pOnQ6e3Bhc3NpdmU6ITB9OnR9byYmby5wcmVwZW5kJiYoeD12W3Uoby5wcmVwZW5kKV09dltvLnByZXBlbmRdKTt2YXIgQT1mdW5jdGlvbih0KXtyZXR1cm4geC5jYWxsKHcudGFyZ2V0LHcuZXZlbnROYW1lLHQuaW52b2tlLHcub3B0aW9ucyl9LFQ9YT9mdW5jdGlvbih0KXtpZighdy5pc0V4aXN0aW5nKXJldHVybiBrLmNhbGwody50YXJnZXQsdy5ldmVudE5hbWUsdy5jYXB0dXJlP0M6Xyx3Lm9wdGlvbnMpfTpmdW5jdGlvbih0KXtyZXR1cm4gay5jYWxsKHcudGFyZ2V0LHcuZXZlbnROYW1lLHQuaW52b2tlLHcub3B0aW9ucyl9LE49YT9mdW5jdGlvbih0KXtpZighdC5pc1JlbW92ZWQpe3ZhciBlPVVbdC5ldmVudE5hbWVdLG49dm9pZCAwO2UmJihuPWVbdC5jYXB0dXJlP2M6ZF0pO3ZhciBvPW4mJnQudGFyZ2V0W25dO2lmKG8pZm9yKHZhciBpPTA7aTxvLmxlbmd0aDtpKyspaWYob1tpXT09PXQpe28uc3BsaWNlKGksMSksdC5pc1JlbW92ZWQ9ITAsMD09PW8ubGVuZ3RoJiYodC5hbGxSZW1vdmVkPSEwLHQudGFyZ2V0W25dPW51bGwpO2JyZWFrfX1pZih0LmFsbFJlbW92ZWQpcmV0dXJuIFMuY2FsbCh0LnRhcmdldCx0LmV2ZW50TmFtZSx0LmNhcHR1cmU/QzpfLHQub3B0aW9ucyl9OmZ1bmN0aW9uKHQpe3JldHVybiBTLmNhbGwodC50YXJnZXQsdC5ldmVudE5hbWUsdC5pbnZva2UsdC5vcHRpb25zKX0sST1vJiZvLmRpZmY/by5kaWZmOmZ1bmN0aW9uKHQsZSl7dmFyIG49dHlwZW9mIGU7cmV0dXJuImZ1bmN0aW9uIj09PW4mJnQuY2FsbGJhY2s9PT1lfHwib2JqZWN0Ij09PW4mJnQub3JpZ2luYWxEZWxlZ2F0ZT09PWV9LEg9Wm9uZVt1KCJVTlBBVENIRURfRVZFTlRTIildLEY9dFt1KCJQQVNTSVZFX0VWRU5UUyIpXSxMPWZ1bmN0aW9uKGUsbixpLHMsbCxwKXtyZXR1cm4gdm9pZCAwPT09bCYmKGw9ITEpLHZvaWQgMD09PXAmJihwPSExKSxmdW5jdGlvbigpe3ZhciBtPXRoaXN8fHQsZj1hcmd1bWVudHNbMF07byYmby50cmFuc2ZlckV2ZW50TmFtZSYmKGY9by50cmFuc2ZlckV2ZW50TmFtZShmKSk7dmFyIHU9YXJndW1lbnRzWzFdO2lmKCF1KXJldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZihPJiYidW5jYXVnaHRFeGNlcHRpb24iPT09ZilyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIGc9ITE7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHUpe2lmKCF1LmhhbmRsZUV2ZW50KXJldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtnPSEwfWlmKCFyfHxyKGUsdSxtLGFyZ3VtZW50cykpe3ZhciBoPUImJiEhRiYmLTEhPT1GLmluZGV4T2YoZiksYj1FKGFyZ3VtZW50c1syXSxoKTtpZihIKWZvcih2YXIgXz0wO188SC5sZW5ndGg7XysrKWlmKGY9PT1IW19dKXJldHVybiBoP2UuY2FsbChtLGYsdSxiKTplLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt2YXIgQz0hIWImJigiYm9vbGVhbiI9PXR5cGVvZiBifHxiLmNhcHR1cmUpLE09ISghYnx8Im9iamVjdCIhPXR5cGVvZiBiKSYmYi5vbmNlLHY9Wm9uZS5jdXJyZW50LHg9VVtmXTt4fHwocShmLFApLHg9VVtmXSk7dmFyIGssUz14W0M/YzpkXSxEPW1bU10sUj0hMTtpZihEKXtpZihSPSEwLHkpZm9yKF89MDtfPEQubGVuZ3RoO18rKylpZihJKERbX10sdSkpcmV0dXJufWVsc2UgRD1tW1NdPVtdO3ZhciBBPW0uY29uc3RydWN0b3IubmFtZSxUPVdbQV07VCYmKGs9VFtmXSksa3x8KGs9QStuKyhQP1AoZik6ZikpLHcub3B0aW9ucz1iLE0mJih3Lm9wdGlvbnMub25jZT0hMSksdy50YXJnZXQ9bSx3LmNhcHR1cmU9Qyx3LmV2ZW50TmFtZT1mLHcuaXNFeGlzdGluZz1SO3ZhciBOPWE/ajp2b2lkIDA7TiYmKE4udGFza0RhdGE9dyk7dmFyIHo9di5zY2hlZHVsZUV2ZW50VGFzayhrLHUsTixpLHMpO3JldHVybiB3LnRhcmdldD1udWxsLE4mJihOLnRhc2tEYXRhPW51bGwpLE0mJihiLm9uY2U9ITApLChCfHwiYm9vbGVhbiIhPXR5cGVvZiB6Lm9wdGlvbnMpJiYoei5vcHRpb25zPWIpLHoudGFyZ2V0PW0sei5jYXB0dXJlPUMsei5ldmVudE5hbWU9ZixnJiYoei5vcmlnaW5hbERlbGVnYXRlPXUpLHA/RC51bnNoaWZ0KHopOkQucHVzaCh6KSxsP206dm9pZCAwfX19O3JldHVybiB2W2ldPUwoayxnLFQsTixNKSx4JiYodltoXT1MKHgsYixBLE4sTSwhMCkpLHZbc109ZnVuY3Rpb24oKXt2YXIgZT10aGlzfHx0LG49YXJndW1lbnRzWzBdO28mJm8udHJhbnNmZXJFdmVudE5hbWUmJihuPW8udHJhbnNmZXJFdmVudE5hbWUobikpO3ZhciBpPWFyZ3VtZW50c1syXSxhPSEhaSYmKCJib29sZWFuIj09dHlwZW9mIGl8fGkuY2FwdHVyZSkscz1hcmd1bWVudHNbMV07aWYoIXMpcmV0dXJuIFMuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKCFyfHxyKFMscyxlLGFyZ3VtZW50cykpe3ZhciBsLG09VVtuXTttJiYobD1tW2E/YzpkXSk7dmFyIGY9bCYmZVtsXTtpZihmKWZvcih2YXIgdT0wO3U8Zi5sZW5ndGg7dSsrKXt2YXIgZz1mW3VdO2lmKEkoZyxzKSlyZXR1cm4gZi5zcGxpY2UodSwxKSxnLmlzUmVtb3ZlZD0hMCwwPT09Zi5sZW5ndGgmJihnLmFsbFJlbW92ZWQ9ITAsZVtsXT1udWxsLCJzdHJpbmciPT10eXBlb2YgbiYmKGVbcCsiT05fUFJPUEVSVFkiK25dPW51bGwpKSxnLnpvbmUuY2FuY2VsVGFzayhnKSxNP2U6dm9pZCAwfXJldHVybiBTLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LHZbbF09ZnVuY3Rpb24oKXt2YXIgZT10aGlzfHx0LG49YXJndW1lbnRzWzBdO28mJm8udHJhbnNmZXJFdmVudE5hbWUmJihuPW8udHJhbnNmZXJFdmVudE5hbWUobikpO2Zvcih2YXIgaT1bXSxhPVgoZSxQP1Aobik6bikscj0wO3I8YS5sZW5ndGg7cisrKXt2YXIgcz1hW3JdO2kucHVzaChzLm9yaWdpbmFsRGVsZWdhdGU/cy5vcmlnaW5hbERlbGVnYXRlOnMuY2FsbGJhY2spfXJldHVybiBpfSx2W21dPWZ1bmN0aW9uKCl7dmFyIGU9dGhpc3x8dCxuPWFyZ3VtZW50c1swXTtpZihuKXtvJiZvLnRyYW5zZmVyRXZlbnROYW1lJiYobj1vLnRyYW5zZmVyRXZlbnROYW1lKG4pKTt2YXIgaT1VW25dO2lmKGkpe3ZhciBhPWVbaVtkXV0scj1lW2lbY11dO2lmKGEpe3ZhciBsPWEuc2xpY2UoKTtmb3IodT0wO3U8bC5sZW5ndGg7dSsrKXRoaXNbc10uY2FsbCh0aGlzLG4sKHA9bFt1XSkub3JpZ2luYWxEZWxlZ2F0ZT9wLm9yaWdpbmFsRGVsZWdhdGU6cC5jYWxsYmFjayxwLm9wdGlvbnMpfWlmKHIpZm9yKGw9ci5zbGljZSgpLHU9MDt1PGwubGVuZ3RoO3UrKyl7dmFyIHA7dGhpc1tzXS5jYWxsKHRoaXMsbiwocD1sW3VdKS5vcmlnaW5hbERlbGVnYXRlP3Aub3JpZ2luYWxEZWxlZ2F0ZTpwLmNhbGxiYWNrLHAub3B0aW9ucyl9fX1lbHNle2Zvcih2YXIgZj1PYmplY3Qua2V5cyhlKSx1PTA7dTxmLmxlbmd0aDt1Kyspe3ZhciBnPUcuZXhlYyhmW3VdKSxoPWcmJmdbMV07aCYmInJlbW92ZUxpc3RlbmVyIiE9PWgmJnRoaXNbbV0uY2FsbCh0aGlzLGgpfXRoaXNbbV0uY2FsbCh0aGlzLCJyZW1vdmVMaXN0ZW5lciIpfWlmKE0pcmV0dXJuIHRoaXN9LHoodltpXSxrKSx6KHZbc10sUyksUiYmeih2W21dLFIpLEQmJnoodltsXSxEKSwhMH1mb3IodmFyIHY9W10seD0wO3g8ZS5sZW5ndGg7eCsrKXZbeF09TShlW3hdLG8pO3JldHVybiB2fWZ1bmN0aW9uIFgodCxlKXtpZighZSl7dmFyIG49W107Zm9yKHZhciBvIGluIHQpe3ZhciBpPUcuZXhlYyhvKSxhPWkmJmlbMV07aWYoYSYmKCFlfHxhPT09ZSkpe3ZhciByPXRbb107aWYocilmb3IodmFyIHM9MDtzPHIubGVuZ3RoO3MrKyluLnB1c2gocltzXSl9fXJldHVybiBufXZhciBsPVVbZV07bHx8KHEoZSksbD1VW2VdKTt2YXIgcD10W2xbZF1dLG09dFtsW2NdXTtyZXR1cm4gcD9tP3AuY29uY2F0KG0pOnAuc2xpY2UoKTptP20uc2xpY2UoKTpbXX1mdW5jdGlvbiBLKHQsZSl7dmFyIG49dC5FdmVudDtuJiZuLnByb3RvdHlwZSYmZS5wYXRjaE1ldGhvZChuLnByb3RvdHlwZSwic3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uIiwoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7ZVtZXT0hMCx0JiZ0LmFwcGx5KGUsbil9fSkpfQovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi9mdW5jdGlvbiBKKHQsZSxuLG8saSl7dmFyIGE9Wm9uZS5fX3N5bWJvbF9fKG8pO2lmKCFlW2FdKXt2YXIgcj1lW2FdPWVbb107ZVtvXT1mdW5jdGlvbihhLHMsbCl7cmV0dXJuIHMmJnMucHJvdG90eXBlJiZpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBpPW4rIi4iK28rIjo6IitlLGE9cy5wcm90b3R5cGU7aWYoYS5oYXNPd25Qcm9wZXJ0eShlKSl7dmFyIHI9dC5PYmplY3RHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYSxlKTtyJiZyLnZhbHVlPyhyLnZhbHVlPXQud3JhcFdpdGhDdXJyZW50Wm9uZShyLnZhbHVlLGkpLHQuX3JlZGVmaW5lUHJvcGVydHkocy5wcm90b3R5cGUsZSxyKSk6YVtlXSYmKGFbZV09dC53cmFwV2l0aEN1cnJlbnRab25lKGFbZV0saSkpfWVsc2UgYVtlXSYmKGFbZV09dC53cmFwV2l0aEN1cnJlbnRab25lKGFbZV0saSkpfSkpLHIuY2FsbChlLGEscyxsKX0sdC5hdHRhY2hPcmlnaW5Ub1BhdGNoZWQoZVtvXSxyKX19Ci8qKgogICAgICAgICAqIEBsaWNlbnNlCiAgICAgICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAgICAgKgogICAgICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICAgICAqL3ZhciBRLCQsdHQsZXQsbnQsb3Q9WyJhYnNvbHV0ZWRldmljZW9yaWVudGF0aW9uIiwiYWZ0ZXJpbnB1dCIsImFmdGVycHJpbnQiLCJhcHBpbnN0YWxsZWQiLCJiZWZvcmVpbnN0YWxscHJvbXB0IiwiYmVmb3JlcHJpbnQiLCJiZWZvcmV1bmxvYWQiLCJkZXZpY2VsaWdodCIsImRldmljZW1vdGlvbiIsImRldmljZW9yaWVudGF0aW9uIiwiZGV2aWNlb3JpZW50YXRpb25hYnNvbHV0ZSIsImRldmljZXByb3hpbWl0eSIsImhhc2hjaGFuZ2UiLCJsYW5ndWFnZWNoYW5nZSIsIm1lc3NhZ2UiLCJtb3piZWZvcmVwYWludCIsIm9mZmxpbmUiLCJvbmxpbmUiLCJwYWludCIsInBhZ2VzaG93IiwicGFnZWhpZGUiLCJwb3BzdGF0ZSIsInJlamVjdGlvbmhhbmRsZWQiLCJzdG9yYWdlIiwidW5oYW5kbGVkcmVqZWN0aW9uIiwidW5sb2FkIiwidXNlcnByb3hpbWl0eSIsInZyZGlzcGxheWNvbm5lY3RlZCIsInZyZGlzcGxheWRpc2Nvbm5lY3RlZCIsInZyZGlzcGxheXByZXNlbnRjaGFuZ2UiXSxpdD1bImVuY3J5cHRlZCIsIndhaXRpbmdmb3JrZXkiLCJtc25lZWRrZXkiLCJtb3ppbnRlcnJ1cHRiZWdpbiIsIm1vemludGVycnVwdGVuZCJdLGF0PVsibG9hZCJdLHJ0PVsiYmx1ciIsImVycm9yIiwiZm9jdXMiLCJsb2FkIiwicmVzaXplIiwic2Nyb2xsIiwibWVzc2FnZWVycm9yIl0sc3Q9WyJib3VuY2UiLCJmaW5pc2giLCJzdGFydCJdLGx0PVsibG9hZHN0YXJ0IiwicHJvZ3Jlc3MiLCJhYm9ydCIsImVycm9yIiwibG9hZCIsInByb2dyZXNzIiwidGltZW91dCIsImxvYWRlbmQiLCJyZWFkeXN0YXRlY2hhbmdlIl0sY3Q9WyJ1cGdyYWRlbmVlZGVkIiwiY29tcGxldGUiLCJhYm9ydCIsInN1Y2Nlc3MiLCJlcnJvciIsImJsb2NrZWQiLCJ2ZXJzaW9uY2hhbmdlIiwiY2xvc2UiXSxkdD1bImNsb3NlIiwiZXJyb3IiLCJvcGVuIiwibWVzc2FnZSJdLHB0PVsiZXJyb3IiLCJtZXNzYWdlIl0sbXQ9WyJhYm9ydCIsImFuaW1hdGlvbmNhbmNlbCIsImFuaW1hdGlvbmVuZCIsImFuaW1hdGlvbml0ZXJhdGlvbiIsImF1eGNsaWNrIiwiYmVmb3JlaW5wdXQiLCJibHVyIiwiY2FuY2VsIiwiY2FucGxheSIsImNhbnBsYXl0aHJvdWdoIiwiY2hhbmdlIiwiY29tcG9zaXRpb25zdGFydCIsImNvbXBvc2l0aW9udXBkYXRlIiwiY29tcG9zaXRpb25lbmQiLCJjdWVjaGFuZ2UiLCJjbGljayIsImNsb3NlIiwiY29udGV4dG1lbnUiLCJjdXJlY2hhbmdlIiwiZGJsY2xpY2siLCJkcmFnIiwiZHJhZ2VuZCIsImRyYWdlbnRlciIsImRyYWdleGl0IiwiZHJhZ2xlYXZlIiwiZHJhZ292ZXIiLCJkcm9wIiwiZHVyYXRpb25jaGFuZ2UiLCJlbXB0aWVkIiwiZW5kZWQiLCJlcnJvciIsImZvY3VzIiwiZm9jdXNpbiIsImZvY3Vzb3V0IiwiZ290cG9pbnRlcmNhcHR1cmUiLCJpbnB1dCIsImludmFsaWQiLCJrZXlkb3duIiwia2V5cHJlc3MiLCJrZXl1cCIsImxvYWQiLCJsb2Fkc3RhcnQiLCJsb2FkZWRkYXRhIiwibG9hZGVkbWV0YWRhdGEiLCJsb3N0cG9pbnRlcmNhcHR1cmUiLCJtb3VzZWRvd24iLCJtb3VzZWVudGVyIiwibW91c2VsZWF2ZSIsIm1vdXNlbW92ZSIsIm1vdXNlb3V0IiwibW91c2VvdmVyIiwibW91c2V1cCIsIm1vdXNld2hlZWwiLCJvcmllbnRhdGlvbmNoYW5nZSIsInBhdXNlIiwicGxheSIsInBsYXlpbmciLCJwb2ludGVyY2FuY2VsIiwicG9pbnRlcmRvd24iLCJwb2ludGVyZW50ZXIiLCJwb2ludGVybGVhdmUiLCJwb2ludGVybG9ja2NoYW5nZSIsIm1venBvaW50ZXJsb2NrY2hhbmdlIiwid2Via2l0cG9pbnRlcmxvY2tlcmNoYW5nZSIsInBvaW50ZXJsb2NrZXJyb3IiLCJtb3pwb2ludGVybG9ja2Vycm9yIiwid2Via2l0cG9pbnRlcmxvY2tlcnJvciIsInBvaW50ZXJtb3ZlIiwicG9pbnRvdXQiLCJwb2ludGVyb3ZlciIsInBvaW50ZXJ1cCIsInByb2dyZXNzIiwicmF0ZWNoYW5nZSIsInJlc2V0IiwicmVzaXplIiwic2Nyb2xsIiwic2Vla2VkIiwic2Vla2luZyIsInNlbGVjdCIsInNlbGVjdGlvbmNoYW5nZSIsInNlbGVjdHN0YXJ0Iiwic2hvdyIsInNvcnQiLCJzdGFsbGVkIiwic3VibWl0Iiwic3VzcGVuZCIsInRpbWV1cGRhdGUiLCJ2b2x1bWVjaGFuZ2UiLCJ0b3VjaGNhbmNlbCIsInRvdWNobW92ZSIsInRvdWNoc3RhcnQiLCJ0b3VjaGVuZCIsInRyYW5zaXRpb25jYW5jZWwiLCJ0cmFuc2l0aW9uZW5kIiwid2FpdGluZyIsIndoZWVsIl0uY29uY2F0KFsid2ViZ2xjb250ZXh0cmVzdG9yZWQiLCJ3ZWJnbGNvbnRleHRsb3N0Iiwid2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvciJdLFsiYXV0b2NvbXBsZXRlIiwiYXV0b2NvbXBsZXRlZXJyb3IiXSxbInRvZ2dsZSJdLFsiYWZ0ZXJzY3JpcHRleGVjdXRlIiwiYmVmb3Jlc2NyaXB0ZXhlY3V0ZSIsIkRPTUNvbnRlbnRMb2FkZWQiLCJmcmVlemUiLCJmdWxsc2NyZWVuY2hhbmdlIiwibW96ZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtc2Z1bGxzY3JlZW5jaGFuZ2UiLCJmdWxsc2NyZWVuZXJyb3IiLCJtb3pmdWxsc2NyZWVuZXJyb3IiLCJ3ZWJraXRmdWxsc2NyZWVuZXJyb3IiLCJtc2Z1bGxzY3JlZW5lcnJvciIsInJlYWR5c3RhdGVjaGFuZ2UiLCJ2aXNpYmlsaXR5Y2hhbmdlIiwicmVzdW1lIl0sb3QsWyJiZWZvcmVjb3B5IiwiYmVmb3JlY3V0IiwiYmVmb3JlcGFzdGUiLCJjb3B5IiwiY3V0IiwicGFzdGUiLCJkcmFnc3RhcnQiLCJsb2FkZW5kIiwiYW5pbWF0aW9uc3RhcnQiLCJzZWFyY2giLCJ0cmFuc2l0aW9ucnVuIiwidHJhbnNpdGlvbnN0YXJ0Iiwid2Via2l0YW5pbWF0aW9uZW5kIiwid2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiwid2Via2l0YW5pbWF0aW9uc3RhcnQiLCJ3ZWJraXR0cmFuc2l0aW9uZW5kIl0sWyJhY3RpdmF0ZSIsImFmdGVydXBkYXRlIiwiYXJpYXJlcXVlc3QiLCJiZWZvcmVhY3RpdmF0ZSIsImJlZm9yZWRlYWN0aXZhdGUiLCJiZWZvcmVlZGl0Zm9jdXMiLCJiZWZvcmV1cGRhdGUiLCJjZWxsY2hhbmdlIiwiY29udHJvbHNlbGVjdCIsImRhdGFhdmFpbGFibGUiLCJkYXRhc2V0Y2hhbmdlZCIsImRhdGFzZXRjb21wbGV0ZSIsImVycm9ydXBkYXRlIiwiZmlsdGVyY2hhbmdlIiwibGF5b3V0Y29tcGxldGUiLCJsb3NlY2FwdHVyZSIsIm1vdmUiLCJtb3ZlZW5kIiwibW92ZXN0YXJ0IiwicHJvcGVydHljaGFuZ2UiLCJyZXNpemVlbmQiLCJyZXNpemVzdGFydCIsInJvd2VudGVyIiwicm93ZXhpdCIsInJvd3NkZWxldGUiLCJyb3dzaW5zZXJ0ZWQiLCJjb21tYW5kIiwiY29tcGFzc25lZWRzY2FsaWJyYXRpb24iLCJkZWFjdGl2YXRlIiwiaGVscCIsIm1zY29udGVudHpvb20iLCJtc21hbmlwdWxhdGlvbnN0YXRlY2hhbmdlZCIsIm1zZ2VzdHVyZWNoYW5nZSIsIm1zZ2VzdHVyZWRvdWJsZXRhcCIsIm1zZ2VzdHVyZWVuZCIsIm1zZ2VzdHVyZWhvbGQiLCJtc2dlc3R1cmVzdGFydCIsIm1zZ2VzdHVyZXRhcCIsIm1zZ290cG9pbnRlcmNhcHR1cmUiLCJtc2luZXJ0aWFzdGFydCIsIm1zbG9zdHBvaW50ZXJjYXB0dXJlIiwibXNwb2ludGVyY2FuY2VsIiwibXNwb2ludGVyZG93biIsIm1zcG9pbnRlcmVudGVyIiwibXNwb2ludGVyaG92ZXIiLCJtc3BvaW50ZXJsZWF2ZSIsIm1zcG9pbnRlcm1vdmUiLCJtc3BvaW50ZXJvdXQiLCJtc3BvaW50ZXJvdmVyIiwibXNwb2ludGVydXAiLCJwb2ludGVyb3V0IiwibXNzaXRlbW9kZWp1bXBsaXN0aXRlbXJlbW92ZWQiLCJtc3RodW1ibmFpbGNsaWNrIiwic3RvcCIsInN0b3JhZ2Vjb21taXQiXSk7ZnVuY3Rpb24gZnQodCxlLG4pe2lmKCFufHwwPT09bi5sZW5ndGgpcmV0dXJuIGU7dmFyIG89bi5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRhcmdldD09PXR9KSk7aWYoIW98fDA9PT1vLmxlbmd0aClyZXR1cm4gZTt2YXIgaT1vWzBdLmlnbm9yZVByb3BlcnRpZXM7cmV0dXJuIGUuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4tMT09PWkuaW5kZXhPZih0KX0pKX1mdW5jdGlvbiB1dCh0LGUsbixvKXt0JiZSKHQsZnQodCxlLG4pLG8pfWZ1bmN0aW9uIGd0KHQsZSl7aWYoKCFPfHx3KSYmIVpvbmVbdC5zeW1ib2woInBhdGNoRXZlbnRzIildKXt2YXIgbz0idW5kZWZpbmVkIiE9dHlwZW9mIFdlYlNvY2tldCxpPWUuX19ab25lX2lnbm9yZV9vbl9wcm9wZXJ0aWVzO2lmKFApe3ZhciBhPXdpbmRvdyxyPUYoKT9be3RhcmdldDphLGlnbm9yZVByb3BlcnRpZXM6WyJlcnJvciJdfV06W107dXQoYSxtdC5jb25jYXQoWyJtZXNzYWdlZXJyb3IiXSksaT9pLmNvbmNhdChyKTppLG4oYSkpLHV0KERvY3VtZW50LnByb3RvdHlwZSxtdCxpKSx2b2lkIDAhPT1hLlNWR0VsZW1lbnQmJnV0KGEuU1ZHRWxlbWVudC5wcm90b3R5cGUsbXQsaSksdXQoRWxlbWVudC5wcm90b3R5cGUsbXQsaSksdXQoSFRNTEVsZW1lbnQucHJvdG90eXBlLG10LGkpLHV0KEhUTUxNZWRpYUVsZW1lbnQucHJvdG90eXBlLGl0LGkpLHV0KEhUTUxGcmFtZVNldEVsZW1lbnQucHJvdG90eXBlLG90LmNvbmNhdChydCksaSksdXQoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxvdC5jb25jYXQocnQpLGkpLHV0KEhUTUxGcmFtZUVsZW1lbnQucHJvdG90eXBlLGF0LGkpLHV0KEhUTUxJRnJhbWVFbGVtZW50LnByb3RvdHlwZSxhdCxpKTt2YXIgcz1hLkhUTUxNYXJxdWVlRWxlbWVudDtzJiZ1dChzLnByb3RvdHlwZSxzdCxpKTt2YXIgbD1hLldvcmtlcjtsJiZ1dChsLnByb3RvdHlwZSxwdCxpKX12YXIgYz1lLlhNTEh0dHBSZXF1ZXN0O2MmJnV0KGMucHJvdG90eXBlLGx0LGkpO3ZhciBkPWUuWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldDtkJiZ1dChkJiZkLnByb3RvdHlwZSxsdCxpKSwidW5kZWZpbmVkIiE9dHlwZW9mIElEQkluZGV4JiYodXQoSURCSW5kZXgucHJvdG90eXBlLGN0LGkpLHV0KElEQlJlcXVlc3QucHJvdG90eXBlLGN0LGkpLHV0KElEQk9wZW5EQlJlcXVlc3QucHJvdG90eXBlLGN0LGkpLHV0KElEQkRhdGFiYXNlLnByb3RvdHlwZSxjdCxpKSx1dChJREJUcmFuc2FjdGlvbi5wcm90b3R5cGUsY3QsaSksdXQoSURCQ3Vyc29yLnByb3RvdHlwZSxjdCxpKSksbyYmdXQoV2ViU29ja2V0LnByb3RvdHlwZSxkdCxpKX19Ci8qKgogICAgICAgICAqIEBsaWNlbnNlCiAgICAgICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAgICAgKgogICAgICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICAgICAqL2Z1bmN0aW9uIGh0KCl7UT1ab25lLl9fc3ltYm9sX18sJD1PYmplY3RbUSgiZGVmaW5lUHJvcGVydHkiKV09T2JqZWN0LmRlZmluZVByb3BlcnR5LHR0PU9iamVjdFtRKCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiKV09T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixldD1PYmplY3QuY3JlYXRlLG50PVEoInVuY29uZmlndXJhYmxlcyIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eT1mdW5jdGlvbih0LGUsbil7aWYoeXQodCxlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYXNzaWduIHRvIHJlYWQgb25seSBwcm9wZXJ0eSAnIitlKyInIG9mICIrdCk7dmFyIG89bi5jb25maWd1cmFibGU7cmV0dXJuInByb3RvdHlwZSIhPT1lJiYobj1fdCh0LGUsbikpLEN0KHQsZSxuLG8pfSxPYmplY3QuZGVmaW5lUHJvcGVydGllcz1mdW5jdGlvbih0LGUpe3JldHVybiBPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChmdW5jdGlvbihuKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxuLGVbbl0pfSkpLHR9LE9iamVjdC5jcmVhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4ib2JqZWN0IiE9dHlwZW9mIGV8fE9iamVjdC5pc0Zyb3plbihlKXx8T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24obil7ZVtuXT1fdCh0LG4sZVtuXSl9KSksZXQodCxlKX0sT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcj1mdW5jdGlvbih0LGUpe3ZhciBuPXR0KHQsZSk7cmV0dXJuIG4mJnl0KHQsZSkmJihuLmNvbmZpZ3VyYWJsZT0hMSksbn19ZnVuY3Rpb24gYnQodCxlLG4pe3ZhciBvPW4uY29uZmlndXJhYmxlO3JldHVybiBDdCh0LGUsbj1fdCh0LGUsbiksbyl9ZnVuY3Rpb24geXQodCxlKXtyZXR1cm4gdCYmdFtudF0mJnRbbnRdW2VdfWZ1bmN0aW9uIF90KHQsZSxuKXtyZXR1cm4gT2JqZWN0LmlzRnJvemVuKG4pfHwobi5jb25maWd1cmFibGU9ITApLG4uY29uZmlndXJhYmxlfHwodFtudF18fE9iamVjdC5pc0Zyb3plbih0KXx8JCh0LG50LHt3cml0YWJsZTohMCx2YWx1ZTp7fX0pLHRbbnRdJiYodFtudF1bZV09ITApKSxufWZ1bmN0aW9uIEN0KHQsZSxuLG8pe3RyeXtyZXR1cm4gJCh0LGUsbil9Y2F0Y2gocil7aWYoIW4uY29uZmlndXJhYmxlKXRocm93IHI7dm9pZCAwPT09bz9kZWxldGUgbi5jb25maWd1cmFibGU6bi5jb25maWd1cmFibGU9bzt0cnl7cmV0dXJuICQodCxlLG4pfWNhdGNoKG8pe3ZhciBpPSExO2lmKCJjcmVhdGVkQ2FsbGJhY2siIT09ZSYmImF0dGFjaGVkQ2FsbGJhY2siIT09ZSYmImRldGFjaGVkQ2FsbGJhY2siIT09ZSYmImF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayIhPT1lfHwoaT0hMCksIWkpdGhyb3cgbzt2YXIgYT1udWxsO3RyeXthPUpTT04uc3RyaW5naWZ5KG4pfWNhdGNoKHQpe2E9bi50b1N0cmluZygpfWNvbnNvbGUubG9nKCJBdHRlbXB0aW5nIHRvIGNvbmZpZ3VyZSAnIitlKyInIHdpdGggZGVzY3JpcHRvciAnIithKyInIG9uIG9iamVjdCAnIit0KyInIGFuZCBnb3QgZXJyb3IsIGdpdmluZyB1cDogIitvKX19fQovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi9mdW5jdGlvbiBNdCh0LGUpe3ZhciBuPWUuZ2V0R2xvYmFsT2JqZWN0cygpLG89bi5ldmVudE5hbWVzLGk9bi5nbG9iYWxTb3VyY2VzLGE9bi56b25lU3ltYm9sRXZlbnROYW1lcyxyPW4uVFJVRV9TVFIscz1uLkZBTFNFX1NUUixsPW4uWk9ORV9TWU1CT0xfUFJFRklYLGM9IkFuY2hvcixBcmVhLEF1ZGlvLEJSLEJhc2UsQmFzZUZvbnQsQm9keSxCdXR0b24sQ2FudmFzLENvbnRlbnQsRExpc3QsRGlyZWN0b3J5LERpdixFbWJlZCxGaWVsZFNldCxGb250LEZvcm0sRnJhbWUsRnJhbWVTZXQsSFIsSGVhZCxIZWFkaW5nLEh0bWwsSUZyYW1lLEltYWdlLElucHV0LEtleWdlbixMSSxMYWJlbCxMZWdlbmQsTGluayxNYXAsTWFycXVlZSxNZWRpYSxNZW51LE1ldGEsTWV0ZXIsTW9kLE9MaXN0LE9iamVjdCxPcHRHcm91cCxPcHRpb24sT3V0cHV0LFBhcmFncmFwaCxQcmUsUHJvZ3Jlc3MsUXVvdGUsU2NyaXB0LFNlbGVjdCxTb3VyY2UsU3BhbixTdHlsZSxUYWJsZUNhcHRpb24sVGFibGVDZWxsLFRhYmxlQ29sLFRhYmxlLFRhYmxlUm93LFRhYmxlU2VjdGlvbixUZXh0QXJlYSxUaXRsZSxUcmFjayxVTGlzdCxVbmtub3duLFZpZGVvIixkPSJBcHBsaWNhdGlvbkNhY2hlLEV2ZW50U291cmNlLEZpbGVSZWFkZXIsSW5wdXRNZXRob2RDb250ZXh0LE1lZGlhQ29udHJvbGxlcixNZXNzYWdlUG9ydCxOb2RlLFBlcmZvcm1hbmNlLFNWR0VsZW1lbnRJbnN0YW5jZSxTaGFyZWRXb3JrZXIsVGV4dFRyYWNrLFRleHRUcmFja0N1ZSxUZXh0VHJhY2tMaXN0LFdlYktpdE5hbWVkRmxvdyxXaW5kb3csV29ya2VyLFdvcmtlckdsb2JhbFNjb3BlLFhNTEh0dHBSZXF1ZXN0LFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQsWE1MSHR0cFJlcXVlc3RVcGxvYWQsSURCUmVxdWVzdCxJREJPcGVuREJSZXF1ZXN0LElEQkRhdGFiYXNlLElEQlRyYW5zYWN0aW9uLElEQkN1cnNvcixEQkluZGV4LFdlYlNvY2tldCIuc3BsaXQoIiwiKSxwPSJFdmVudFRhcmdldCIsbT1bXSxmPXQud3RmLHU9Yy5zcGxpdCgiLCIpO2Y/bT11Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIkhUTUwiK3QrIkVsZW1lbnQifSkpLmNvbmNhdChkKTp0W3BdP20ucHVzaChwKTptPWQ7Zm9yKHZhciBnPXQuX19ab25lX2Rpc2FibGVfSUVfY2hlY2t8fCExLGg9dC5fX1pvbmVfZW5hYmxlX2Nyb3NzX2NvbnRleHRfY2hlY2t8fCExLGI9ZS5pc0lFT3JFZGdlKCkseT0iLmFkZEV2ZW50TGlzdGVuZXI6IixfPSJbb2JqZWN0IEZ1bmN0aW9uV3JhcHBlcl0iLEM9ImZ1bmN0aW9uIF9fQlJPV1NFUlRPT0xTX0NPTlNPTEVfU0FGRUZVTkMoKSB7IFtuYXRpdmUgY29kZV0gfSIsTT17TVNQb2ludGVyQ2FuY2VsOiJwb2ludGVyY2FuY2VsIixNU1BvaW50ZXJEb3duOiJwb2ludGVyZG93biIsTVNQb2ludGVyRW50ZXI6InBvaW50ZXJlbnRlciIsTVNQb2ludGVySG92ZXI6InBvaW50ZXJob3ZlciIsTVNQb2ludGVyTGVhdmU6InBvaW50ZXJsZWF2ZSIsTVNQb2ludGVyTW92ZToicG9pbnRlcm1vdmUiLE1TUG9pbnRlck91dDoicG9pbnRlcm91dCIsTVNQb2ludGVyT3ZlcjoicG9pbnRlcm92ZXIiLE1TUG9pbnRlclVwOiJwb2ludGVydXAifSx2PTA7djxvLmxlbmd0aDt2Kyspe3ZhciB4PWwrKChTPW9bdl0pK3MpLE89bCsoUytyKTthW1NdPXt9LGFbU11bc109eCxhW1NdW3JdPU99Zm9yKHY9MDt2PHUubGVuZ3RoO3YrKylmb3IodmFyIFA9dVt2XSx3PWlbUF09e30saz0wO2s8by5sZW5ndGg7aysrKXt2YXIgUzt3W1M9b1trXV09UCt5K1N9dmFyIEQ9ZnVuY3Rpb24odCxlLG4sbyl7aWYoIWcmJmIpe2lmKGgpdHJ5e3ZhciBpO2lmKChpPWUudG9TdHJpbmcoKSk9PT1ffHxpPT1DKXJldHVybiB0LmFwcGx5KG4sbyksITF9Y2F0Y2goZSl7cmV0dXJuIHQuYXBwbHkobixvKSwhMX1lbHNlIGlmKChpPWUudG9TdHJpbmcoKSk9PT1ffHxpPT1DKXJldHVybiB0LmFwcGx5KG4sbyksITF9ZWxzZSBpZihoKXRyeXtlLnRvU3RyaW5nKCl9Y2F0Y2goZSl7cmV0dXJuIHQuYXBwbHkobixvKSwhMX1yZXR1cm4hMH0sUj1bXTtmb3Iodj0wO3Y8bS5sZW5ndGg7disrKXt2YXIgRT10W21bdl1dO1IucHVzaChFJiZFLnByb3RvdHlwZSl9cmV0dXJuIGUucGF0Y2hFdmVudFRhcmdldCh0LFIse3ZoOkQsdHJhbnNmZXJFdmVudE5hbWU6ZnVuY3Rpb24odCl7cmV0dXJuIE1bdF18fHR9fSksWm9uZVtlLnN5bWJvbCgicGF0Y2hFdmVudFRhcmdldCIpXT0hIXRbcF0sITB9Ci8qKgogICAgICAgICAqIEBsaWNlbnNlCiAgICAgICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAgICAgKgogICAgICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICAgICAqL2Z1bmN0aW9uIHZ0KHQsZSl7dmFyIG49dC5nZXRHbG9iYWxPYmplY3RzKCksbz1uLkFERF9FVkVOVF9MSVNURU5FUl9TVFIsaT1uLlJFTU9WRV9FVkVOVF9MSVNURU5FUl9TVFIsYT1lLldlYlNvY2tldDtlLkV2ZW50VGFyZ2V0fHx0LnBhdGNoRXZlbnRUYXJnZXQoZSxbYS5wcm90b3R5cGVdKSxlLldlYlNvY2tldD1mdW5jdGlvbihlLG4pe3ZhciByLHMsbD1hcmd1bWVudHMubGVuZ3RoPjE/bmV3IGEoZSxuKTpuZXcgYShlKSxjPXQuT2JqZWN0R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsIm9ubWVzc2FnZSIpO3JldHVybiBjJiYhMT09PWMuY29uZmlndXJhYmxlPyhyPXQuT2JqZWN0Q3JlYXRlKGwpLHM9bCxbbyxpLCJzZW5kIiwiY2xvc2UiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtyW2VdPWZ1bmN0aW9uKCl7dmFyIG49dC5BcnJheVNsaWNlLmNhbGwoYXJndW1lbnRzKTtpZihlPT09b3x8ZT09PWkpe3ZhciBhPW4ubGVuZ3RoPjA/blswXTp2b2lkIDA7aWYoYSl7dmFyIHM9Wm9uZS5fX3N5bWJvbF9fKCJPTl9QUk9QRVJUWSIrYSk7bFtzXT1yW3NdfX1yZXR1cm4gbFtlXS5hcHBseShsLG4pfX0pKSk6cj1sLHQucGF0Y2hPblByb3BlcnRpZXMocixbImNsb3NlIiwiZXJyb3IiLCJtZXNzYWdlIiwib3BlbiJdLHMpLHJ9O3ZhciByPWUuV2ViU29ja2V0O2Zvcih2YXIgcyBpbiBhKXJbc109YVtzXX0KLyoqCiAgICAgICAgICogQGxpY2Vuc2UKICAgICAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICAgICAqCiAgICAgICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgICAgICovZnVuY3Rpb24geHQodCxlKXt2YXIgbj10LmdldEdsb2JhbE9iamVjdHMoKTtpZigoIW4uaXNOb2RlfHxuLmlzTWl4KSYmIU90KHQsZSkpe3ZhciBvPSJ1bmRlZmluZWQiIT10eXBlb2YgV2ViU29ja2V0O1B0KHQpLHQucGF0Y2hDbGFzcygiWE1MSHR0cFJlcXVlc3QiKSxvJiZ2dCh0LGUpLFpvbmVbdC5zeW1ib2woInBhdGNoRXZlbnRzIildPSEwfX1mdW5jdGlvbiBPdCh0LGUpe3ZhciBuPXQuZ2V0R2xvYmFsT2JqZWN0cygpO2lmKChuLmlzQnJvd3Nlcnx8bi5pc01peCkmJiF0Lk9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsIm9uY2xpY2siKSYmInVuZGVmaW5lZCIhPXR5cGVvZiBFbGVtZW50KXt2YXIgbz10Lk9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcihFbGVtZW50LnByb3RvdHlwZSwib25jbGljayIpO2lmKG8mJiFvLmNvbmZpZ3VyYWJsZSlyZXR1cm4hMTtpZihvKXt0Lk9iamVjdERlZmluZVByb3BlcnR5KEVsZW1lbnQucHJvdG90eXBlLCJvbmNsaWNrIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuITB9fSk7dmFyIGk9ISFkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5vbmNsaWNrO3JldHVybiB0Lk9iamVjdERlZmluZVByb3BlcnR5KEVsZW1lbnQucHJvdG90eXBlLCJvbmNsaWNrIixvKSxpfX12YXIgYT1lLlhNTEh0dHBSZXF1ZXN0O2lmKCFhKXJldHVybiExO3ZhciByPSJvbnJlYWR5c3RhdGVjaGFuZ2UiLHM9YS5wcm90b3R5cGUsbD10Lk9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcihzLHIpO2lmKGwpcmV0dXJuIHQuT2JqZWN0RGVmaW5lUHJvcGVydHkocyxyLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH19KSxpPSEhKGQ9bmV3IGEpLm9ucmVhZHlzdGF0ZWNoYW5nZSx0Lk9iamVjdERlZmluZVByb3BlcnR5KHMscixsfHx7fSksaTt2YXIgYz10LnN5bWJvbCgiZmFrZSIpO3QuT2JqZWN0RGVmaW5lUHJvcGVydHkocyxyLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tjXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXNbY109dH19KTt2YXIgZCxwPWZ1bmN0aW9uKCl7fTtyZXR1cm4oZD1uZXcgYSkub25yZWFkeXN0YXRlY2hhbmdlPXAsaT1kW2NdPT09cCxkLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGl9ZnVuY3Rpb24gUHQodCl7Zm9yKHZhciBlPXQuZ2V0R2xvYmFsT2JqZWN0cygpLmV2ZW50TmFtZXMsbj10LnN5bWJvbCgidW5ib3VuZCIpLG89ZnVuY3Rpb24obyl7dmFyIGk9ZVtvXSxhPSJvbiIraTtzZWxmLmFkZEV2ZW50TGlzdGVuZXIoaSwoZnVuY3Rpb24oZSl7dmFyIG8saSxyPWUudGFyZ2V0O2ZvcihpPXI/ci5jb25zdHJ1Y3Rvci5uYW1lKyIuIithOiJ1bmtub3duLiIrYTtyOylyW2FdJiYhclthXVtuXSYmKChvPXQud3JhcFdpdGhDdXJyZW50Wm9uZShyW2FdLGkpKVtuXT1yW2FdLHJbYV09bykscj1yLnBhcmVudEVsZW1lbnR9KSwhMCl9LGk9MDtpPGUubGVuZ3RoO2krKylvKGkpfQovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi9mdW5jdGlvbiB3dCh0LGUpe3ZhciBuPWUuZ2V0R2xvYmFsT2JqZWN0cygpOyhuLmlzQnJvd3Nlcnx8bi5pc01peCkmJiJyZWdpc3RlckVsZW1lbnQiaW4gdC5kb2N1bWVudCYmZS5wYXRjaENhbGxiYWNrcyhlLGRvY3VtZW50LCJEb2N1bWVudCIsInJlZ2lzdGVyRWxlbWVudCIsWyJjcmVhdGVkQ2FsbGJhY2siLCJhdHRhY2hlZENhbGxiYWNrIiwiZGV0YWNoZWRDYWxsYmFjayIsImF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayJdKX0KLyoqCiAgICAgICAgICogQGxpY2Vuc2UKICAgICAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICAgICAqCiAgICAgICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgICAgICovWm9uZS5fX2xvYWRfcGF0Y2goInV0aWwiLChmdW5jdGlvbihuLHMsbCl7bC5wYXRjaE9uUHJvcGVydGllcz1SLGwucGF0Y2hNZXRob2Q9VCxsLmJpbmRBcmd1bWVudHM9QyxsLnBhdGNoTWFjcm9UYXNrPU47dmFyIGY9cy5fX3N5bWJvbF9fKCJCTEFDS19MSVNURURfRVZFTlRTIiksdT1zLl9fc3ltYm9sX18oIlVOUEFUQ0hFRF9FVkVOVFMiKTtuW3VdJiYobltmXT1uW3VdKSxuW2ZdJiYoc1tmXT1zW3VdPW5bZl0pLGwucGF0Y2hFdmVudFByb3RvdHlwZT1LLGwucGF0Y2hFdmVudFRhcmdldD1aLGwuaXNJRU9yRWRnZT1MLGwuT2JqZWN0RGVmaW5lUHJvcGVydHk9ZSxsLk9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcj10LGwuT2JqZWN0Q3JlYXRlPW8sbC5BcnJheVNsaWNlPWksbC5wYXRjaENsYXNzPUEsbC53cmFwV2l0aEN1cnJlbnRab25lPW0sbC5maWx0ZXJQcm9wZXJ0aWVzPWZ0LGwuYXR0YWNoT3JpZ2luVG9QYXRjaGVkPXosbC5fcmVkZWZpbmVQcm9wZXJ0eT1PYmplY3QuZGVmaW5lUHJvcGVydHksbC5wYXRjaENhbGxiYWNrcz1KLGwuZ2V0R2xvYmFsT2JqZWN0cz1mdW5jdGlvbigpe3JldHVybntnbG9iYWxTb3VyY2VzOlcsem9uZVN5bWJvbEV2ZW50TmFtZXM6VSxldmVudE5hbWVzOm10LGlzQnJvd3NlcjpQLGlzTWl4OncsaXNOb2RlOk8sVFJVRV9TVFI6YyxGQUxTRV9TVFI6ZCxaT05FX1NZTUJPTF9QUkVGSVg6cCxBRERfRVZFTlRfTElTVEVORVJfU1RSOmEsUkVNT1ZFX0VWRU5UX0xJU1RFTkVSX1NUUjpyfX19KSksKGZ1bmN0aW9uKHQpe3ZhciBlPXQuX19ab25lX3N5bWJvbF9wcmVmaXh8fCJfX3pvbmVfc3ltYm9sX18iO2Z1bmN0aW9uIG4odCl7cmV0dXJuIGUrdH10W24oImxlZ2FjeVBhdGNoIildPWZ1bmN0aW9uKCl7dmFyIGU9dC5ab25lO2UuX19sb2FkX3BhdGNoKCJkZWZpbmVQcm9wZXJ0eSIsKGZ1bmN0aW9uKHQsZSxuKXtuLl9yZWRlZmluZVByb3BlcnR5PWJ0LGh0KCl9KSksZS5fX2xvYWRfcGF0Y2goInJlZ2lzdGVyRWxlbWVudCIsKGZ1bmN0aW9uKHQsZSxuKXt3dCh0LG4pfSkpLGUuX19sb2FkX3BhdGNoKCJFdmVudFRhcmdldExlZ2FjeSIsKGZ1bmN0aW9uKHQsZSxuKXtNdCh0LG4pLHh0KG4sdCl9KSl9fSkoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnZvaWQgMCE9PV9PP19POiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnt9KTsKLyoqCiAgICAgICAgICogQGxpY2Vuc2UKICAgICAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICAgICAqCiAgICAgICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgICAgICovCnZhciBrdD11KCJ6b25lVGFzayIpO2Z1bmN0aW9uIFN0KHQsZSxuLG8pe3ZhciBpPW51bGwsYT1udWxsO24rPW87dmFyIHI9e307ZnVuY3Rpb24gcyhlKXt2YXIgbj1lLmRhdGE7cmV0dXJuIG4uYXJnc1swXT1mdW5jdGlvbigpe3JldHVybiBlLmludm9rZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LG4uaGFuZGxlSWQ9aS5hcHBseSh0LG4uYXJncyksZX1mdW5jdGlvbiBsKGUpe3JldHVybiBhLmNhbGwodCxlLmRhdGEuaGFuZGxlSWQpfWk9VCh0LGUrPW8sKGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihpLGEpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhWzBdKXt2YXIgYz17aXNQZXJpb2RpYzoiSW50ZXJ2YWwiPT09byxkZWxheToiVGltZW91dCI9PT1vfHwiSW50ZXJ2YWwiPT09bz9hWzFdfHwwOnZvaWQgMCxhcmdzOmF9LGQ9YVswXTthWzBdPWZ1bmN0aW9uIHQoKXt0cnl7cmV0dXJuIGQuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZpbmFsbHl7Yy5pc1BlcmlvZGljfHwoIm51bWJlciI9PXR5cGVvZiBjLmhhbmRsZUlkP2RlbGV0ZSByW2MuaGFuZGxlSWRdOmMuaGFuZGxlSWQmJihjLmhhbmRsZUlkW2t0XT1udWxsKSl9fTt2YXIgcD1mKGUsYVswXSxjLHMsbCk7aWYoIXApcmV0dXJuIHA7dmFyIG09cC5kYXRhLmhhbmRsZUlkO3JldHVybiJudW1iZXIiPT10eXBlb2YgbT9yW21dPXA6bSYmKG1ba3RdPXApLG0mJm0ucmVmJiZtLnVucmVmJiYiZnVuY3Rpb24iPT10eXBlb2YgbS5yZWYmJiJmdW5jdGlvbiI9PXR5cGVvZiBtLnVucmVmJiYocC5yZWY9bS5yZWYuYmluZChtKSxwLnVucmVmPW0udW5yZWYuYmluZChtKSksIm51bWJlciI9PXR5cGVvZiBtfHxtP206cH1yZXR1cm4gbi5hcHBseSh0LGEpfX0pKSxhPVQodCxuLChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24obixvKXt2YXIgaSxhPW9bMF07Im51bWJlciI9PXR5cGVvZiBhP2k9clthXTooaT1hJiZhW2t0XSl8fChpPWEpLGkmJiJzdHJpbmciPT10eXBlb2YgaS50eXBlPyJub3RTY2hlZHVsZWQiIT09aS5zdGF0ZSYmKGkuY2FuY2VsRm4mJmkuZGF0YS5pc1BlcmlvZGljfHwwPT09aS5ydW5Db3VudCkmJigibnVtYmVyIj09dHlwZW9mIGE/ZGVsZXRlIHJbYV06YSYmKGFba3RdPW51bGwpLGkuem9uZS5jYW5jZWxUYXNrKGkpKTplLmFwcGx5KHQsbyl9fSkpfQovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi9mdW5jdGlvbiBEdCh0LGUpe3ZhciBuPWUuZ2V0R2xvYmFsT2JqZWN0cygpOyhuLmlzQnJvd3Nlcnx8bi5pc01peCkmJnQuY3VzdG9tRWxlbWVudHMmJiJjdXN0b21FbGVtZW50cyJpbiB0JiZlLnBhdGNoQ2FsbGJhY2tzKGUsdC5jdXN0b21FbGVtZW50cywiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiLFsiY29ubmVjdGVkQ2FsbGJhY2siLCJkaXNjb25uZWN0ZWRDYWxsYmFjayIsImFkb3B0ZWRDYWxsYmFjayIsImF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayJdKX0KLyoqCiAgICAgICAgICogQGxpY2Vuc2UKICAgICAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICAgICAqCiAgICAgICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgICAgICovZnVuY3Rpb24gUnQodCxlKXtpZighWm9uZVtlLnN5bWJvbCgicGF0Y2hFdmVudFRhcmdldCIpXSl7Zm9yKHZhciBuPWUuZ2V0R2xvYmFsT2JqZWN0cygpLG89bi5ldmVudE5hbWVzLGk9bi56b25lU3ltYm9sRXZlbnROYW1lcyxhPW4uVFJVRV9TVFIscj1uLkZBTFNFX1NUUixzPW4uWk9ORV9TWU1CT0xfUFJFRklYLGw9MDtsPG8ubGVuZ3RoO2wrKyl7dmFyIGM9b1tsXSxkPXMrKGMrcikscD1zKyhjK2EpO2lbY109e30saVtjXVtyXT1kLGlbY11bYV09cH12YXIgbT10LkV2ZW50VGFyZ2V0O2lmKG0mJm0ucHJvdG90eXBlKXJldHVybiBlLnBhdGNoRXZlbnRUYXJnZXQodCxbbSYmbS5wcm90b3R5cGVdKSwhMH19ZnVuY3Rpb24gRXQodCxlKXtlLnBhdGNoRXZlbnRQcm90b3R5cGUodCxlKX0KLyoqCiAgICAgICAgICogQGxpY2Vuc2UKICAgICAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICAgICAqCiAgICAgICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgICAgICovWm9uZS5fX2xvYWRfcGF0Y2goImxlZ2FjeSIsKGZ1bmN0aW9uKHQpe3ZhciBlPXRbWm9uZS5fX3N5bWJvbF9fKCJsZWdhY3lQYXRjaCIpXTtlJiZlKCl9KSksWm9uZS5fX2xvYWRfcGF0Y2goInF1ZXVlTWljcm90YXNrIiwoZnVuY3Rpb24odCxlLG4pe24ucGF0Y2hNZXRob2QodCwicXVldWVNaWNyb3Rhc2siLChmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24odCxuKXtlLmN1cnJlbnQuc2NoZWR1bGVNaWNyb1Rhc2soInF1ZXVlTWljcm90YXNrIixuWzBdKX19KSl9KSksWm9uZS5fX2xvYWRfcGF0Y2goInRpbWVycyIsKGZ1bmN0aW9uKHQpe3ZhciBlPSJzZXQiLG49ImNsZWFyIjtTdCh0LGUsbiwiVGltZW91dCIpLFN0KHQsZSxuLCJJbnRlcnZhbCIpLFN0KHQsZSxuLCJJbW1lZGlhdGUiKX0pKSxab25lLl9fbG9hZF9wYXRjaCgicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwoZnVuY3Rpb24odCl7U3QodCwicmVxdWVzdCIsImNhbmNlbCIsIkFuaW1hdGlvbkZyYW1lIiksU3QodCwibW96UmVxdWVzdCIsIm1vekNhbmNlbCIsIkFuaW1hdGlvbkZyYW1lIiksU3QodCwid2Via2l0UmVxdWVzdCIsIndlYmtpdENhbmNlbCIsIkFuaW1hdGlvbkZyYW1lIil9KSksWm9uZS5fX2xvYWRfcGF0Y2goImJsb2NraW5nIiwoZnVuY3Rpb24odCxlKXtmb3IodmFyIG49WyJhbGVydCIsInByb21wdCIsImNvbmZpcm0iXSxvPTA7bzxuLmxlbmd0aDtvKyspVCh0LG5bb10sKGZ1bmN0aW9uKG4sbyxpKXtyZXR1cm4gZnVuY3Rpb24obyxhKXtyZXR1cm4gZS5jdXJyZW50LnJ1bihuLHQsYSxpKX19KSl9KSksWm9uZS5fX2xvYWRfcGF0Y2goIkV2ZW50VGFyZ2V0IiwoZnVuY3Rpb24odCxlLG4pe0V0KHQsbiksUnQodCxuKTt2YXIgbz10LlhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQ7byYmby5wcm90b3R5cGUmJm4ucGF0Y2hFdmVudFRhcmdldCh0LFtvLnByb3RvdHlwZV0pfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJNdXRhdGlvbk9ic2VydmVyIiwoZnVuY3Rpb24odCxlLG4pe0EoIk11dGF0aW9uT2JzZXJ2ZXIiKSxBKCJXZWJLaXRNdXRhdGlvbk9ic2VydmVyIil9KSksWm9uZS5fX2xvYWRfcGF0Y2goIkludGVyc2VjdGlvbk9ic2VydmVyIiwoZnVuY3Rpb24odCxlLG4pe0EoIkludGVyc2VjdGlvbk9ic2VydmVyIil9KSksWm9uZS5fX2xvYWRfcGF0Y2goIkZpbGVSZWFkZXIiLChmdW5jdGlvbih0LGUsbil7QSgiRmlsZVJlYWRlciIpfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJvbl9wcm9wZXJ0eSIsKGZ1bmN0aW9uKHQsZSxuKXtndChuLHQpfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJjdXN0b21FbGVtZW50cyIsKGZ1bmN0aW9uKHQsZSxuKXtEdCh0LG4pfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJYSFIiLChmdW5jdGlvbih0LGUpe2QodCk7dmFyIG49dSgieGhyVGFzayIpLG89dSgieGhyU3luYyIpLGk9dSgieGhyTGlzdGVuZXIiKSxhPXUoInhoclNjaGVkdWxlZCIpLHI9dSgieGhyVVJMIiksYz11KCJ4aHJFcnJvckJlZm9yZVNjaGVkdWxlZCIpO2Z1bmN0aW9uIGQodCl7dmFyIGQ9dC5YTUxIdHRwUmVxdWVzdDtpZihkKXt2YXIgcD1kLnByb3RvdHlwZSxtPXBbc10sZz1wW2xdO2lmKCFtKXt2YXIgaD10LlhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQ7aWYoaCl7dmFyIGI9aC5wcm90b3R5cGU7bT1iW3NdLGc9YltsXX19dmFyIHk9InJlYWR5c3RhdGVjaGFuZ2UiLF89InNjaGVkdWxlZCIsQz1UKHAsIm9wZW4iLChmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0LGUpe3JldHVybiB0W29dPTA9PWVbMl0sdFtyXT1lWzFdLEMuYXBwbHkodCxlKX19KSksTT0iWE1MSHR0cFJlcXVlc3Quc2VuZCIsdj11KCJmZXRjaFRhc2tBYm9ydGluZyIpLHg9dSgiZmV0Y2hUYXNrU2NoZWR1bGluZyIpLE89VChwLCJzZW5kIiwoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZighMD09PWUuY3VycmVudFt4XSlyZXR1cm4gTy5hcHBseSh0LG4pO2lmKHRbb10pcmV0dXJuIE8uYXBwbHkodCxuKTt2YXIgaT17dGFyZ2V0OnQsdXJsOnRbcl0saXNQZXJpb2RpYzohMSxhcmdzOm4sYWJvcnRlZDohMX0sYT1mKE0sUyxpLGssRCk7dCYmITA9PT10W2NdJiYhaS5hYm9ydGVkJiZhLnN0YXRlPT09XyYmYS5pbnZva2UoKX19KSksUD1UKHAsImFib3J0IiwoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCxuKXt2YXIgbz13KHQpO2lmKG8mJiJzdHJpbmciPT10eXBlb2Ygby50eXBlKXtpZihudWxsPT1vLmNhbmNlbEZufHxvLmRhdGEmJm8uZGF0YS5hYm9ydGVkKXJldHVybjtvLnpvbmUuY2FuY2VsVGFzayhvKX1lbHNlIGlmKCEwPT09ZS5jdXJyZW50W3ZdKXJldHVybiBQLmFwcGx5KHQsbil9fSkpfWZ1bmN0aW9uIHcodCl7cmV0dXJuIHRbbl19ZnVuY3Rpb24gayh0KXt2YXIgbz10LmRhdGEscj1vLnRhcmdldDtyW2FdPSExLHJbY109ITE7dmFyIGQ9cltpXTttfHwobT1yW3NdLGc9cltsXSksZCYmZy5jYWxsKHIseSxkKTt2YXIgcD1yW2ldPWZ1bmN0aW9uKCl7aWYoci5yZWFkeVN0YXRlPT09ci5ET05FKWlmKCFvLmFib3J0ZWQmJnJbYV0mJnQuc3RhdGU9PT1fKXt2YXIgbj1yW2UuX19zeW1ib2xfXygibG9hZGZhbHNlIildO2lmKDAhPT1yLnN0YXR1cyYmbiYmbi5sZW5ndGg+MCl7dmFyIGk9dC5pbnZva2U7dC5pbnZva2U9ZnVuY3Rpb24oKXtmb3IodmFyIG49cltlLl9fc3ltYm9sX18oImxvYWRmYWxzZSIpXSxhPTA7YTxuLmxlbmd0aDthKyspblthXT09PXQmJm4uc3BsaWNlKGEsMSk7by5hYm9ydGVkfHx0LnN0YXRlIT09X3x8aS5jYWxsKHQpfSxuLnB1c2godCl9ZWxzZSB0Lmludm9rZSgpfWVsc2Ugby5hYm9ydGVkfHwhMSE9PXJbYV18fChyW2NdPSEwKX07cmV0dXJuIG0uY2FsbChyLHkscCkscltuXXx8KHJbbl09dCksTy5hcHBseShyLG8uYXJncyksclthXT0hMCx0fWZ1bmN0aW9uIFMoKXt9ZnVuY3Rpb24gRCh0KXt2YXIgZT10LmRhdGE7cmV0dXJuIGUuYWJvcnRlZD0hMCxQLmFwcGx5KGUudGFyZ2V0LGUuYXJncyl9fX0pKSxab25lLl9fbG9hZF9wYXRjaCgiZ2VvbG9jYXRpb24iLChmdW5jdGlvbih0KXt0Lm5hdmlnYXRvciYmdC5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24mJk0odC5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24sWyJnZXRDdXJyZW50UG9zaXRpb24iLCJ3YXRjaFBvc2l0aW9uIl0pfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJQcm9taXNlUmVqZWN0aW9uRXZlbnQiLChmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe1godCxlKS5mb3JFYWNoKChmdW5jdGlvbihvKXt2YXIgaT10LlByb21pc2VSZWplY3Rpb25FdmVudDtpZihpKXt2YXIgYT1uZXcgaShlLHtwcm9taXNlOm4ucHJvbWlzZSxyZWFzb246bi5yZWplY3Rpb259KTtvLmludm9rZShhKX19KSl9fXQuUHJvbWlzZVJlamVjdGlvbkV2ZW50JiYoZVt1KCJ1bmhhbmRsZWRQcm9taXNlUmVqZWN0aW9uSGFuZGxlciIpXT1uKCJ1bmhhbmRsZWRyZWplY3Rpb24iKSxlW3UoInJlamVjdGlvbkhhbmRsZWRIYW5kbGVyIildPW4oInJlamVjdGlvbmhhbmRsZWQiKSl9KSl9KSgpOwovKioKICAgICAqIEBsaWNlbnNlIEFuZ3VsYXIgdjEyLjIuMQogICAgICogKGMpIDIwMTAtMjAyMSBHb29nbGUgTExDLiBodHRwczovL2FuZ3VsYXIuaW8vCiAgICAgKiBMaWNlbnNlOiBNSVQKICAgICAqLwpjbGFzcyBNT3t9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB2Tz0iKiI7ZnVuY3Rpb24geE8odCxlKXtyZXR1cm57dHlwZTo3LG5hbWU6dCxkZWZpbml0aW9uczplLG9wdGlvbnM6e319fWZ1bmN0aW9uIE9PKHQsZT1udWxsKXtyZXR1cm57dHlwZTo0LHN0eWxlczplLHRpbWluZ3M6dH19ZnVuY3Rpb24gUE8odCxlPW51bGwpe3JldHVybnt0eXBlOjIsc3RlcHM6dCxvcHRpb25zOmV9fWZ1bmN0aW9uIHdPKHQpe3JldHVybnt0eXBlOjYsc3R5bGVzOnQsb2Zmc2V0Om51bGx9fWZ1bmN0aW9uIGtPKHQsZSxuKXtyZXR1cm57dHlwZTowLG5hbWU6dCxzdHlsZXM6ZSxvcHRpb25zOm59fWZ1bmN0aW9uIFNPKHQpe3JldHVybnt0eXBlOjUsc3RlcHM6dH19ZnVuY3Rpb24gRE8odCxlLG49bnVsbCl7cmV0dXJue3R5cGU6MSxleHByOnQsYW5pbWF0aW9uOmUsb3B0aW9uczpufX1mdW5jdGlvbiBSTyh0PW51bGwpe3JldHVybnt0eXBlOjksb3B0aW9uczp0fX1mdW5jdGlvbiBFTyh0LGUsbj1udWxsKXtyZXR1cm57dHlwZToxMSxzZWxlY3Rvcjp0LGFuaW1hdGlvbjplLG9wdGlvbnM6bn19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIEFPKHQpe1Byb21pc2UucmVzb2x2ZShudWxsKS50aGVuKHQpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBUT3tjb25zdHJ1Y3Rvcih0PTAsZT0wKXt0aGlzLl9vbkRvbmVGbnM9W10sdGhpcy5fb25TdGFydEZucz1bXSx0aGlzLl9vbkRlc3Ryb3lGbnM9W10sdGhpcy5fc3RhcnRlZD0hMSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5fcG9zaXRpb249MCx0aGlzLnBhcmVudFBsYXllcj1udWxsLHRoaXMudG90YWxUaW1lPXQrZX1fb25GaW5pc2goKXt0aGlzLl9maW5pc2hlZHx8KHRoaXMuX2ZpbmlzaGVkPSEwLHRoaXMuX29uRG9uZUZucy5mb3JFYWNoKCh0PT50KCkpKSx0aGlzLl9vbkRvbmVGbnM9W10pfW9uU3RhcnQodCl7dGhpcy5fb25TdGFydEZucy5wdXNoKHQpfW9uRG9uZSh0KXt0aGlzLl9vbkRvbmVGbnMucHVzaCh0KX1vbkRlc3Ryb3kodCl7dGhpcy5fb25EZXN0cm95Rm5zLnB1c2godCl9aGFzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGFydGVkfWluaXQoKXt9cGxheSgpe3RoaXMuaGFzU3RhcnRlZCgpfHwodGhpcy5fb25TdGFydCgpLHRoaXMudHJpZ2dlck1pY3JvdGFzaygpKSx0aGlzLl9zdGFydGVkPSEwfXRyaWdnZXJNaWNyb3Rhc2soKXtBTygoKCk9PnRoaXMuX29uRmluaXNoKCkpKX1fb25TdGFydCgpe3RoaXMuX29uU3RhcnRGbnMuZm9yRWFjaCgodD0+dCgpKSksdGhpcy5fb25TdGFydEZucz1bXX1wYXVzZSgpe31yZXN0YXJ0KCl7fWZpbmlzaCgpe3RoaXMuX29uRmluaXNoKCl9ZGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3llZHx8KHRoaXMuX2Rlc3Ryb3llZD0hMCx0aGlzLmhhc1N0YXJ0ZWQoKXx8dGhpcy5fb25TdGFydCgpLHRoaXMuZmluaXNoKCksdGhpcy5fb25EZXN0cm95Rm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uRGVzdHJveUZucz1bXSl9cmVzZXQoKXt0aGlzLl9zdGFydGVkPSExfXNldFBvc2l0aW9uKHQpe3RoaXMuX3Bvc2l0aW9uPXRoaXMudG90YWxUaW1lP3QqdGhpcy50b3RhbFRpbWU6MX1nZXRQb3NpdGlvbigpe3JldHVybiB0aGlzLnRvdGFsVGltZT90aGlzLl9wb3NpdGlvbi90aGlzLnRvdGFsVGltZToxfXRyaWdnZXJDYWxsYmFjayh0KXtjb25zdCBlPSJzdGFydCI9PXQ/dGhpcy5fb25TdGFydEZuczp0aGlzLl9vbkRvbmVGbnM7ZS5mb3JFYWNoKCh0PT50KCkpKSxlLmxlbmd0aD0wfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgTk97Y29uc3RydWN0b3IodCl7dGhpcy5fb25Eb25lRm5zPVtdLHRoaXMuX29uU3RhcnRGbnM9W10sdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5fc3RhcnRlZD0hMSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fb25EZXN0cm95Rm5zPVtdLHRoaXMucGFyZW50UGxheWVyPW51bGwsdGhpcy50b3RhbFRpbWU9MCx0aGlzLnBsYXllcnM9dDtsZXQgZT0wLG49MCxvPTA7Y29uc3QgaT10aGlzLnBsYXllcnMubGVuZ3RoOzA9PWk/QU8oKCgpPT50aGlzLl9vbkZpbmlzaCgpKSk6dGhpcy5wbGF5ZXJzLmZvckVhY2goKHQ9Pnt0Lm9uRG9uZSgoKCk9PnsrK2U9PWkmJnRoaXMuX29uRmluaXNoKCl9KSksdC5vbkRlc3Ryb3koKCgpPT57KytuPT1pJiZ0aGlzLl9vbkRlc3Ryb3koKX0pKSx0Lm9uU3RhcnQoKCgpPT57KytvPT1pJiZ0aGlzLl9vblN0YXJ0KCl9KSl9KSksdGhpcy50b3RhbFRpbWU9dGhpcy5wbGF5ZXJzLnJlZHVjZSgoKHQsZSk9Pk1hdGgubWF4KHQsZS50b3RhbFRpbWUpKSwwKX1fb25GaW5pc2goKXt0aGlzLl9maW5pc2hlZHx8KHRoaXMuX2ZpbmlzaGVkPSEwLHRoaXMuX29uRG9uZUZucy5mb3JFYWNoKCh0PT50KCkpKSx0aGlzLl9vbkRvbmVGbnM9W10pfWluaXQoKXt0aGlzLnBsYXllcnMuZm9yRWFjaCgodD0+dC5pbml0KCkpKX1vblN0YXJ0KHQpe3RoaXMuX29uU3RhcnRGbnMucHVzaCh0KX1fb25TdGFydCgpe3RoaXMuaGFzU3RhcnRlZCgpfHwodGhpcy5fc3RhcnRlZD0hMCx0aGlzLl9vblN0YXJ0Rm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uU3RhcnRGbnM9W10pfW9uRG9uZSh0KXt0aGlzLl9vbkRvbmVGbnMucHVzaCh0KX1vbkRlc3Ryb3kodCl7dGhpcy5fb25EZXN0cm95Rm5zLnB1c2godCl9aGFzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGFydGVkfXBsYXkoKXt0aGlzLnBhcmVudFBsYXllcnx8dGhpcy5pbml0KCksdGhpcy5fb25TdGFydCgpLHRoaXMucGxheWVycy5mb3JFYWNoKCh0PT50LnBsYXkoKSkpfXBhdXNlKCl7dGhpcy5wbGF5ZXJzLmZvckVhY2goKHQ9PnQucGF1c2UoKSkpfXJlc3RhcnQoKXt0aGlzLnBsYXllcnMuZm9yRWFjaCgodD0+dC5yZXN0YXJ0KCkpKX1maW5pc2goKXt0aGlzLl9vbkZpbmlzaCgpLHRoaXMucGxheWVycy5mb3JFYWNoKCh0PT50LmZpbmlzaCgpKSl9ZGVzdHJveSgpe3RoaXMuX29uRGVzdHJveSgpfV9vbkRlc3Ryb3koKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9kZXN0cm95ZWQ9ITAsdGhpcy5fb25GaW5pc2goKSx0aGlzLnBsYXllcnMuZm9yRWFjaCgodD0+dC5kZXN0cm95KCkpKSx0aGlzLl9vbkRlc3Ryb3lGbnMuZm9yRWFjaCgodD0+dCgpKSksdGhpcy5fb25EZXN0cm95Rm5zPVtdKX1yZXNldCgpe3RoaXMucGxheWVycy5mb3JFYWNoKCh0PT50LnJlc2V0KCkpKSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5fc3RhcnRlZD0hMX1zZXRQb3NpdGlvbih0KXtjb25zdCBlPXQqdGhpcy50b3RhbFRpbWU7dGhpcy5wbGF5ZXJzLmZvckVhY2goKHQ9Pntjb25zdCBuPXQudG90YWxUaW1lP01hdGgubWluKDEsZS90LnRvdGFsVGltZSk6MTt0LnNldFBvc2l0aW9uKG4pfSkpfWdldFBvc2l0aW9uKCl7Y29uc3QgdD10aGlzLnBsYXllcnMucmVkdWNlKCgodCxlKT0+bnVsbD09PXR8fGUudG90YWxUaW1lPnQudG90YWxUaW1lP2U6dCksbnVsbCk7cmV0dXJuIG51bGwhPXQ/dC5nZXRQb3NpdGlvbigpOjB9YmVmb3JlRGVzdHJveSgpe3RoaXMucGxheWVycy5mb3JFYWNoKCh0PT57dC5iZWZvcmVEZXN0cm95JiZ0LmJlZm9yZURlc3Ryb3koKX0pKX10cmlnZ2VyQ2FsbGJhY2sodCl7Y29uc3QgZT0ic3RhcnQiPT10P3RoaXMuX29uU3RhcnRGbnM6dGhpcy5fb25Eb25lRm5zO2UuZm9yRWFjaCgodD0+dCgpKSksZS5sZW5ndGg9MH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlIEFuZ3VsYXIgdjEyLjIuMQogICAgICogKGMpIDIwMTAtMjAyMSBHb29nbGUgTExDLiBodHRwczovL2FuZ3VsYXIuaW8vCiAgICAgKiBMaWNlbnNlOiBNSVQKICAgICAqLwpmdW5jdGlvbiB6Tygpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnR9ZnVuY3Rpb24gSU8oKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHByb2Nlc3MmJiJbb2JqZWN0IHByb2Nlc3NdIj09PXt9LnRvU3RyaW5nLmNhbGwocHJvY2Vzcyl9ZnVuY3Rpb24gSE8odCl7c3dpdGNoKHQubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIG5ldyBUTztjYXNlIDE6cmV0dXJuIHRbMF07ZGVmYXVsdDpyZXR1cm4gbmV3IE5PKHQpfX1mdW5jdGlvbiBGTyh0LGUsbixvLGk9e30sYT17fSl7Y29uc3Qgcj1bXSxzPVtdO2xldCBsPS0xLGM9bnVsbDtpZihvLmZvckVhY2goKHQ9Pntjb25zdCBuPXQub2Zmc2V0LG89bj09bCxkPW8mJmN8fHt9O09iamVjdC5rZXlzKHQpLmZvckVhY2goKG49PntsZXQgbz1uLHM9dFtuXTtpZigib2Zmc2V0IiE9PW4pc3dpdGNoKG89ZS5ub3JtYWxpemVQcm9wZXJ0eU5hbWUobyxyKSxzKXtjYXNlIiEiOnM9aVtuXTticmVhaztjYXNlIHZPOnM9YVtuXTticmVhaztkZWZhdWx0OnM9ZS5ub3JtYWxpemVTdHlsZVZhbHVlKG4sbyxzLHIpfWRbb109c30pKSxvfHxzLnB1c2goZCksYz1kLGw9bn0pKSxyLmxlbmd0aCl7Y29uc3QgdD0iXG4gLSAiO3Rocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGFuaW1hdGUgZHVlIHRvIHRoZSBmb2xsb3dpbmcgZXJyb3JzOiR7dH0ke3Iuam9pbih0KX1gKX1yZXR1cm4gc31mdW5jdGlvbiBMTyh0LGUsbixvKXtzd2l0Y2goZSl7Y2FzZSJzdGFydCI6dC5vblN0YXJ0KCgoKT0+byhuJiZCTyhuLCJzdGFydCIsdCkpKSk7YnJlYWs7Y2FzZSJkb25lIjp0Lm9uRG9uZSgoKCk9Pm8obiYmQk8obiwiZG9uZSIsdCkpKSk7YnJlYWs7Y2FzZSJkZXN0cm95Ijp0Lm9uRGVzdHJveSgoKCk9Pm8obiYmQk8obiwiZGVzdHJveSIsdCkpKSl9fWZ1bmN0aW9uIEJPKHQsZSxuKXtjb25zdCBvPW4udG90YWxUaW1lLGk9Vk8odC5lbGVtZW50LHQudHJpZ2dlck5hbWUsdC5mcm9tU3RhdGUsdC50b1N0YXRlLGV8fHQucGhhc2VOYW1lLG51bGw9PW8/dC50b3RhbFRpbWU6bywhIW4uZGlzYWJsZWQpLGE9dC5fZGF0YTtyZXR1cm4gbnVsbCE9YSYmKGkuX2RhdGE9YSksaX1mdW5jdGlvbiBWTyh0LGUsbixvLGk9IiIsYT0wLHIpe3JldHVybntlbGVtZW50OnQsdHJpZ2dlck5hbWU6ZSxmcm9tU3RhdGU6bix0b1N0YXRlOm8scGhhc2VOYW1lOmksdG90YWxUaW1lOmEsZGlzYWJsZWQ6ISFyfX1mdW5jdGlvbiBqTyh0LGUsbil7bGV0IG87cmV0dXJuIHQgaW5zdGFuY2VvZiBNYXA/KG89dC5nZXQoZSksb3x8dC5zZXQoZSxvPW4pKToobz10W2VdLG98fChvPXRbZV09bikpLG99ZnVuY3Rpb24gVU8odCl7Y29uc3QgZT10LmluZGV4T2YoIjoiKTtyZXR1cm5bdC5zdWJzdHJpbmcoMSxlKSx0LnN1YnN0cihlKzEpXX1sZXQgV089KHQsZSk9PiExLEdPPSh0LGUpPT4hMSxZTz0odCxlLG4pPT5bXTtjb25zdCBxTz1JTygpOyhxT3x8InVuZGVmaW5lZCIhPXR5cGVvZiBFbGVtZW50KSYmKFdPPXpPKCk/KHQsZSk9Pntmb3IoO2UmJmUhPT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7KXtpZihlPT09dClyZXR1cm4hMDtlPWUucGFyZW50Tm9kZXx8ZS5ob3N0fXJldHVybiExfToodCxlKT0+dC5jb250YWlucyhlKSxHTz0oKCk9PntpZihxT3x8RWxlbWVudC5wcm90b3R5cGUubWF0Y2hlcylyZXR1cm4odCxlKT0+dC5tYXRjaGVzKGUpO3tjb25zdCB0PUVsZW1lbnQucHJvdG90eXBlLGU9dC5tYXRjaGVzU2VsZWN0b3J8fHQubW96TWF0Y2hlc1NlbGVjdG9yfHx0Lm1zTWF0Y2hlc1NlbGVjdG9yfHx0Lm9NYXRjaGVzU2VsZWN0b3J8fHQud2Via2l0TWF0Y2hlc1NlbGVjdG9yO3JldHVybiBlPyh0LG4pPT5lLmFwcGx5KHQsW25dKTpHT319KSgpLFlPPSh0LGUsbik9PntsZXQgbz1bXTtpZihuKXtjb25zdCBuPXQucXVlcnlTZWxlY3RvckFsbChlKTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKylvLnB1c2goblt0XSl9ZWxzZXtjb25zdCBuPXQucXVlcnlTZWxlY3RvcihlKTtuJiZvLnB1c2gobil9cmV0dXJuIG99KTtsZXQgWk89bnVsbCxYTz0hMTtmdW5jdGlvbiBLTyh0KXtaT3x8KFpPPShmdW5jdGlvbiBlKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudClyZXR1cm4gZG9jdW1lbnQuYm9keTtyZXR1cm4gbnVsbH0pKCl8fHt9LFhPPSEhWk8uc3R5bGUmJiJXZWJraXRBcHBlYXJhbmNlImluIFpPLnN0eWxlKTtsZXQgbj0hMDtpZihaTy5zdHlsZSYmIShmdW5jdGlvbiBvKHQpe3JldHVybiJlYmtpdCI9PXQuc3Vic3RyaW5nKDEsNil9KSh0KSYmKG49dCBpbiBaTy5zdHlsZSwhbiYmWE8pKXtuPSJXZWJraXQiK3QuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdC5zdWJzdHIoMSlpbiBaTy5zdHlsZX1yZXR1cm4gbn1jb25zdCBKTz1HTyxRTz1XTywkTz1ZTztmdW5jdGlvbiB0UCh0KXtjb25zdCBlPXt9O3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChuPT57Y29uc3Qgbz1uLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csIiQxLSQyIik7ZVtvXT10W25dfSkpLGV9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIGVQe3ZhbGlkYXRlU3R5bGVQcm9wZXJ0eSh0KXtyZXR1cm4gS08odCl9bWF0Y2hlc0VsZW1lbnQodCxlKXtyZXR1cm4gSk8odCxlKX1jb250YWluc0VsZW1lbnQodCxlKXtyZXR1cm4gUU8odCxlKX1xdWVyeSh0LGUsbil7cmV0dXJuICRPKHQsZSxuKX1jb21wdXRlU3R5bGUodCxlLG4pe3JldHVybiBufHwiIn1hbmltYXRlKHQsZSxuLG8saSxhPVtdLHIpe3JldHVybiBuZXcgVE8obixvKX19ZVAuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGVQKX0sZVAuybVwcm92PVNuKHt0b2tlbjplUCxmYWN0b3J5OmVQLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihlUCxbe3R5cGU6VW19XSxudWxsLG51bGwpO2NsYXNzIG5Qe31uUC5OT09QPW5ldyBlUDsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IG9QPSJuZy1lbnRlciIsaVA9Im5nLWxlYXZlIixhUD0ibmctdHJpZ2dlciIsclA9Ii5uZy10cmlnZ2VyIixzUD0ibmctYW5pbWF0aW5nIixsUD0iLm5nLWFuaW1hdGluZyI7ZnVuY3Rpb24gY1AodCl7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiB0O2NvbnN0IGU9dC5tYXRjaCgvXigtP1tcLlxkXSspKG0/cykvKTtyZXR1cm4hZXx8ZS5sZW5ndGg8Mj8wOmRQKHBhcnNlRmxvYXQoZVsxXSksZVsyXSl9ZnVuY3Rpb24gZFAodCxlKXtzd2l0Y2goZSl7Y2FzZSJzIjpyZXR1cm4gMWUzKnQ7ZGVmYXVsdDpyZXR1cm4gdH19ZnVuY3Rpb24gcFAodCxlLG4pe3JldHVybiB0Lmhhc093blByb3BlcnR5KCJkdXJhdGlvbiIpP3Q6KGZ1bmN0aW9uIG8odCxlLG4pe2NvbnN0IG89L14oLT9bXC5cZF0rKShtP3MpKD86XHMrKC0/W1wuXGRdKykobT9zKSk/KD86XHMrKFstYS16XSsoPzpcKC4rP1wpKT8pKT8kL2k7bGV0IGksYT0wLHI9IiI7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtjb25zdCBuPXQubWF0Y2gobyk7aWYobnVsbD09PW4pcmV0dXJuIGUucHVzaChgVGhlIHByb3ZpZGVkIHRpbWluZyB2YWx1ZSAiJHt0fSIgaXMgaW52YWxpZC5gKSx7ZHVyYXRpb246MCxkZWxheTowLGVhc2luZzoiIn07aT1kUChwYXJzZUZsb2F0KG5bMV0pLG5bMl0pO2NvbnN0IHM9blszXTtudWxsIT1zJiYoYT1kUChwYXJzZUZsb2F0KHMpLG5bNF0pKTtjb25zdCBsPW5bNV07bCYmKHI9bCl9ZWxzZSBpPXQ7aWYoIW4pe2xldCBuPSExLG89ZS5sZW5ndGg7aTwwJiYoZS5wdXNoKCJEdXJhdGlvbiB2YWx1ZXMgYmVsb3cgMCBhcmUgbm90IGFsbG93ZWQgZm9yIHRoaXMgYW5pbWF0aW9uIHN0ZXAuIiksbj0hMCksYTwwJiYoZS5wdXNoKCJEZWxheSB2YWx1ZXMgYmVsb3cgMCBhcmUgbm90IGFsbG93ZWQgZm9yIHRoaXMgYW5pbWF0aW9uIHN0ZXAuIiksbj0hMCksbiYmZS5zcGxpY2UobywwLGBUaGUgcHJvdmlkZWQgdGltaW5nIHZhbHVlICIke3R9IiBpcyBpbnZhbGlkLmApfXJldHVybntkdXJhdGlvbjppLGRlbGF5OmEsZWFzaW5nOnJ9fSkodCxlLG4pfWZ1bmN0aW9uIG1QKHQsZT17fSl7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKG49PntlW25dPXRbbl19KSksZX1mdW5jdGlvbiBmUCh0LGUsbj17fSl7aWYoZSlmb3IobGV0IGUgaW4gdCluW2VdPXRbZV07ZWxzZSBtUCh0LG4pO3JldHVybiBufWZ1bmN0aW9uIHVQKHQsZSxuKXtyZXR1cm4gbj9lKyI6IituKyI7IjoiIn1mdW5jdGlvbiBnUCh0KXtsZXQgZT0iIjtmb3IobGV0IG49MDtuPHQuc3R5bGUubGVuZ3RoO24rKyl7Y29uc3Qgbz10LnN0eWxlLml0ZW0obik7ZSs9dVAoMCxvLHQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShvKSl9Zm9yKGNvbnN0IG4gaW4gdC5zdHlsZSl7aWYoIXQuc3R5bGUuaGFzT3duUHJvcGVydHkobil8fG4uc3RhcnRzV2l0aCgiXyIpKWNvbnRpbnVlO2UrPXVQKDAsbi5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCksdC5zdHlsZVtuXSl9dC5zZXRBdHRyaWJ1dGUoInN0eWxlIixlKX1mdW5jdGlvbiBoUCh0LGUsbil7dC5zdHlsZSYmKE9iamVjdC5rZXlzKGUpLmZvckVhY2goKG89Pntjb25zdCBpPU9QKG8pO24mJiFuLmhhc093blByb3BlcnR5KG8pJiYobltvXT10LnN0eWxlW2ldKSx0LnN0eWxlW2ldPWVbb119KSksSU8oKSYmZ1AodCkpfWZ1bmN0aW9uIGJQKHQsZSl7dC5zdHlsZSYmKE9iamVjdC5rZXlzKGUpLmZvckVhY2goKGU9Pntjb25zdCBuPU9QKGUpO3Quc3R5bGVbbl09IiJ9KSksSU8oKSYmZ1AodCkpfWZ1bmN0aW9uIHlQKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpPzE9PXQubGVuZ3RoP3RbMF06UE8odCk6dH1jb25zdCBfUD1uZXcgUmVnRXhwKCJ7e1xccyooLis/KVxccyp9fSIsImciKTtmdW5jdGlvbiBDUCh0KXtsZXQgZT1bXTtpZigic3RyaW5nIj09dHlwZW9mIHQpe2xldCBuO2Zvcig7bj1fUC5leGVjKHQpOyllLnB1c2goblsxXSk7X1AubGFzdEluZGV4PTB9cmV0dXJuIGV9ZnVuY3Rpb24gTVAodCxlLG4pe2NvbnN0IG89dC50b1N0cmluZygpLGk9by5yZXBsYWNlKF9QLCgodCxvKT0+e2xldCBpPWVbb107cmV0dXJuIGUuaGFzT3duUHJvcGVydHkobyl8fChuLnB1c2goYFBsZWFzZSBwcm92aWRlIGEgdmFsdWUgZm9yIHRoZSBhbmltYXRpb24gcGFyYW0gJHtvfWApLGk9IiIpLGkudG9TdHJpbmcoKX0pKTtyZXR1cm4gaT09bz90Oml9ZnVuY3Rpb24gdlAodCl7Y29uc3QgZT1bXTtsZXQgbj10Lm5leHQoKTtmb3IoOyFuLmRvbmU7KWUucHVzaChuLnZhbHVlKSxuPXQubmV4dCgpO3JldHVybiBlfWNvbnN0IHhQPS8tKyhbYS16MC05XSkvZztmdW5jdGlvbiBPUCh0KXtyZXR1cm4gdC5yZXBsYWNlKHhQLCgoLi4udCk9PnRbMV0udG9VcHBlckNhc2UoKSkpfWZ1bmN0aW9uIFBQKHQsZSl7cmV0dXJuIDA9PT10fHwwPT09ZX1mdW5jdGlvbiB3UCh0LGUsbil7Y29uc3Qgbz1PYmplY3Qua2V5cyhuKTtpZihvLmxlbmd0aCYmZS5sZW5ndGgpe2xldCBhPWVbMF0scj1bXTtpZihvLmZvckVhY2goKHQ9PnthLmhhc093blByb3BlcnR5KHQpfHxyLnB1c2godCksYVt0XT1uW3RdfSkpLHIubGVuZ3RoKWZvcih2YXIgaT0xO2k8ZS5sZW5ndGg7aSsrKXtsZXQgbj1lW2ldO3IuZm9yRWFjaCgoZnVuY3Rpb24oZSl7bltlXT1TUCh0LGUpfSkpfX1yZXR1cm4gZX1mdW5jdGlvbiBrUCh0LGUsbil7c3dpdGNoKGUudHlwZSl7Y2FzZSA3OnJldHVybiB0LnZpc2l0VHJpZ2dlcihlLG4pO2Nhc2UgMDpyZXR1cm4gdC52aXNpdFN0YXRlKGUsbik7Y2FzZSAxOnJldHVybiB0LnZpc2l0VHJhbnNpdGlvbihlLG4pO2Nhc2UgMjpyZXR1cm4gdC52aXNpdFNlcXVlbmNlKGUsbik7Y2FzZSAzOnJldHVybiB0LnZpc2l0R3JvdXAoZSxuKTtjYXNlIDQ6cmV0dXJuIHQudmlzaXRBbmltYXRlKGUsbik7Y2FzZSA1OnJldHVybiB0LnZpc2l0S2V5ZnJhbWVzKGUsbik7Y2FzZSA2OnJldHVybiB0LnZpc2l0U3R5bGUoZSxuKTtjYXNlIDg6cmV0dXJuIHQudmlzaXRSZWZlcmVuY2UoZSxuKTtjYXNlIDk6cmV0dXJuIHQudmlzaXRBbmltYXRlQ2hpbGQoZSxuKTtjYXNlIDEwOnJldHVybiB0LnZpc2l0QW5pbWF0ZVJlZihlLG4pO2Nhc2UgMTE6cmV0dXJuIHQudmlzaXRRdWVyeShlLG4pO2Nhc2UgMTI6cmV0dXJuIHQudmlzaXRTdGFnZ2VyKGUsbik7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byByZXNvbHZlIGFuaW1hdGlvbiBtZXRhZGF0YSBub2RlICMke2UudHlwZX1gKX19ZnVuY3Rpb24gU1AodCxlKXtyZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUodClbZV19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IERQPSIqIjtmdW5jdGlvbiBSUCh0LGUpe2NvbnN0IG49W107cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3Quc3BsaXQoL1xzKixccyovKS5mb3JFYWNoKCh0PT4oZnVuY3Rpb24gbyh0LGUsbil7aWYoIjoiPT10WzBdKXtjb25zdCBvPShmdW5jdGlvbiBvKHQsZSl7c3dpdGNoKHQpe2Nhc2UiOmVudGVyIjpyZXR1cm4idm9pZCA9PiAqIjtjYXNlIjpsZWF2ZSI6cmV0dXJuIiogPT4gdm9pZCI7Y2FzZSI6aW5jcmVtZW50IjpyZXR1cm4odCxlKT0+cGFyc2VGbG9hdChlKT5wYXJzZUZsb2F0KHQpO2Nhc2UiOmRlY3JlbWVudCI6cmV0dXJuKHQsZSk9PnBhcnNlRmxvYXQoZSk8cGFyc2VGbG9hdCh0KTtkZWZhdWx0OnJldHVybiBlLnB1c2goYFRoZSB0cmFuc2l0aW9uIGFsaWFzIHZhbHVlICIke3R9IiBpcyBub3Qgc3VwcG9ydGVkYCksIiogPT4gKiJ9fSkodCxuKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgbylyZXR1cm4gdm9pZCBlLnB1c2gobyk7dD1vfWNvbnN0IGk9dC5tYXRjaCgvXihcKnxbLVx3XSspXHMqKDw/Wz0tXT4pXHMqKFwqfFstXHddKykkLyk7aWYobnVsbD09aXx8aS5sZW5ndGg8NClyZXR1cm4gbi5wdXNoKGBUaGUgcHJvdmlkZWQgdHJhbnNpdGlvbiBleHByZXNzaW9uICIke3R9IiBpcyBub3Qgc3VwcG9ydGVkYCksZTtjb25zdCBhPWlbMV0scj1pWzJdLHM9aVszXTtlLnB1c2goVFAoYSxzKSk7Y29uc3QgbD1hPT1EUCYmcz09RFA7IjwiIT1yWzBdfHxsfHxlLnB1c2goVFAocyxhKSl9KSh0LG4sZSkpKTpuLnB1c2godCksbn1jb25zdCBFUD1uZXcgU2V0KFsidHJ1ZSIsIjEiXSksQVA9bmV3IFNldChbImZhbHNlIiwiMCJdKTtmdW5jdGlvbiBUUCh0LGUpe2NvbnN0IG49RVAuaGFzKHQpfHxBUC5oYXModCksbz1FUC5oYXMoZSl8fEFQLmhhcyhlKTtyZXR1cm4oaSxhKT0+e2xldCByPXQ9PURQfHx0PT1pLHM9ZT09RFB8fGU9PWE7cmV0dXJuIXImJm4mJiJib29sZWFuIj09dHlwZW9mIGkmJihyPWk/RVAuaGFzKHQpOkFQLmhhcyh0KSksIXMmJm8mJiJib29sZWFuIj09dHlwZW9mIGEmJihzPWE/RVAuaGFzKGUpOkFQLmhhcyhlKSksciYmc319Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IE5QPSI6c2VsZiIselA9bmV3IFJlZ0V4cCgicyo6c2VsZnMqLD8iLCJnIik7ZnVuY3Rpb24gSVAodCxlLG4pe3JldHVybiBuZXcgSFAodCkuYnVpbGQoZSxuKX1jbGFzcyBIUHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9kcml2ZXI9dH1idWlsZCh0LGUpe2NvbnN0IG49bmV3IEZQKGUpO3JldHVybiB0aGlzLl9yZXNldENvbnRleHRTdHlsZVRpbWluZ1N0YXRlKG4pLGtQKHRoaXMseVAodCksbil9X3Jlc2V0Q29udGV4dFN0eWxlVGltaW5nU3RhdGUodCl7dC5jdXJyZW50UXVlcnlTZWxlY3Rvcj0iIix0LmNvbGxlY3RlZFN0eWxlcz17fSx0LmNvbGxlY3RlZFN0eWxlc1siIl09e30sdC5jdXJyZW50VGltZT0wfXZpc2l0VHJpZ2dlcih0LGUpe2xldCBuPWUucXVlcnlDb3VudD0wLG89ZS5kZXBDb3VudD0wO2NvbnN0IGk9W10sYT1bXTtyZXR1cm4iQCI9PXQubmFtZS5jaGFyQXQoMCkmJmUuZXJyb3JzLnB1c2goImFuaW1hdGlvbiB0cmlnZ2VycyBjYW5ub3QgYmUgcHJlZml4ZWQgd2l0aCBhbiBgQGAgc2lnbiAoZS5nLiB0cmlnZ2VyKCdAZm9vJywgWy4uLl0pKSIpLHQuZGVmaW5pdGlvbnMuZm9yRWFjaCgodD0+e2lmKHRoaXMuX3Jlc2V0Q29udGV4dFN0eWxlVGltaW5nU3RhdGUoZSksMD09dC50eXBlKXtjb25zdCBuPXQsbz1uLm5hbWU7by50b1N0cmluZygpLnNwbGl0KC9ccyosXHMqLykuZm9yRWFjaCgodD0+e24ubmFtZT10LGkucHVzaCh0aGlzLnZpc2l0U3RhdGUobixlKSl9KSksbi5uYW1lPW99ZWxzZSBpZigxPT10LnR5cGUpe2NvbnN0IGk9dGhpcy52aXNpdFRyYW5zaXRpb24odCxlKTtuKz1pLnF1ZXJ5Q291bnQsbys9aS5kZXBDb3VudCxhLnB1c2goaSl9ZWxzZSBlLmVycm9ycy5wdXNoKCJvbmx5IHN0YXRlKCkgYW5kIHRyYW5zaXRpb24oKSBkZWZpbml0aW9ucyBjYW4gc2l0IGluc2lkZSBvZiBhIHRyaWdnZXIoKSIpfSkpLHt0eXBlOjcsbmFtZTp0Lm5hbWUsc3RhdGVzOmksdHJhbnNpdGlvbnM6YSxxdWVyeUNvdW50Om4sZGVwQ291bnQ6byxvcHRpb25zOm51bGx9fXZpc2l0U3RhdGUodCxlKXtjb25zdCBuPXRoaXMudmlzaXRTdHlsZSh0LnN0eWxlcyxlKSxvPXQub3B0aW9ucyYmdC5vcHRpb25zLnBhcmFtc3x8bnVsbDtpZihuLmNvbnRhaW5zRHluYW1pY1N0eWxlcyl7Y29uc3QgaT1uZXcgU2V0LGE9b3x8e307aWYobi5zdHlsZXMuZm9yRWFjaCgodD0+e2lmKExQKHQpKXtjb25zdCBlPXQ7T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e0NQKGVbdF0pLmZvckVhY2goKHQ9PnthLmhhc093blByb3BlcnR5KHQpfHxpLmFkZCh0KX0pKX0pKX19KSksaS5zaXplKXtjb25zdCBuPXZQKGkudmFsdWVzKCkpO2UuZXJyb3JzLnB1c2goYHN0YXRlKCIke3QubmFtZX0iLCAuLi4pIG11c3QgZGVmaW5lIGRlZmF1bHQgdmFsdWVzIGZvciBhbGwgdGhlIGZvbGxvd2luZyBzdHlsZSBzdWJzdGl0dXRpb25zOiAke24uam9pbigiLCAiKX1gKX19cmV0dXJue3R5cGU6MCxuYW1lOnQubmFtZSxzdHlsZTpuLG9wdGlvbnM6bz97cGFyYW1zOm99Om51bGx9fXZpc2l0VHJhbnNpdGlvbih0LGUpe2UucXVlcnlDb3VudD0wLGUuZGVwQ291bnQ9MDtjb25zdCBuPWtQKHRoaXMseVAodC5hbmltYXRpb24pLGUpO3JldHVybnt0eXBlOjEsbWF0Y2hlcnM6UlAodC5leHByLGUuZXJyb3JzKSxhbmltYXRpb246bixxdWVyeUNvdW50OmUucXVlcnlDb3VudCxkZXBDb3VudDplLmRlcENvdW50LG9wdGlvbnM6QlAodC5vcHRpb25zKX19dmlzaXRTZXF1ZW5jZSh0LGUpe3JldHVybnt0eXBlOjIsc3RlcHM6dC5zdGVwcy5tYXAoKHQ9PmtQKHRoaXMsdCxlKSkpLG9wdGlvbnM6QlAodC5vcHRpb25zKX19dmlzaXRHcm91cCh0LGUpe2NvbnN0IG49ZS5jdXJyZW50VGltZTtsZXQgbz0wO2NvbnN0IGk9dC5zdGVwcy5tYXAoKHQ9PntlLmN1cnJlbnRUaW1lPW47Y29uc3QgaT1rUCh0aGlzLHQsZSk7cmV0dXJuIG89TWF0aC5tYXgobyxlLmN1cnJlbnRUaW1lKSxpfSkpO3JldHVybiBlLmN1cnJlbnRUaW1lPW8se3R5cGU6MyxzdGVwczppLG9wdGlvbnM6QlAodC5vcHRpb25zKX19dmlzaXRBbmltYXRlKHQsZSl7Y29uc3Qgbj0oZnVuY3Rpb24gbyh0LGUpe2xldCBuPW51bGw7aWYodC5oYXNPd25Qcm9wZXJ0eSgiZHVyYXRpb24iKSluPXQ7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIHQpe3JldHVybiBWUChwUCh0LGUpLmR1cmF0aW9uLDAsIiIpfWNvbnN0IG89dDtpZihvLnNwbGl0KC9ccysvKS5zb21lKCh0PT4ieyI9PXQuY2hhckF0KDApJiYieyI9PXQuY2hhckF0KDEpKSkpe2NvbnN0IHQ9VlAoMCwwLCIiKTtyZXR1cm4gdC5keW5hbWljPSEwLHQuc3RyVmFsdWU9byx0fXJldHVybiBuPW58fHBQKG8sZSksVlAobi5kdXJhdGlvbixuLmRlbGF5LG4uZWFzaW5nKX0pKHQudGltaW5ncyxlLmVycm9ycyk7bGV0IGk7ZS5jdXJyZW50QW5pbWF0ZVRpbWluZ3M9bjtsZXQgYT10LnN0eWxlcz90LnN0eWxlczp3Tyh7fSk7aWYoNT09YS50eXBlKWk9dGhpcy52aXNpdEtleWZyYW1lcyhhLGUpO2Vsc2V7bGV0IG89dC5zdHlsZXMsYT0hMTtpZighbyl7YT0hMDtjb25zdCB0PXt9O24uZWFzaW5nJiYodC5lYXNpbmc9bi5lYXNpbmcpLG89d08odCl9ZS5jdXJyZW50VGltZSs9bi5kdXJhdGlvbituLmRlbGF5O2NvbnN0IHI9dGhpcy52aXNpdFN0eWxlKG8sZSk7ci5pc0VtcHR5U3RlcD1hLGk9cn1yZXR1cm4gZS5jdXJyZW50QW5pbWF0ZVRpbWluZ3M9bnVsbCx7dHlwZTo0LHRpbWluZ3M6bixzdHlsZTppLG9wdGlvbnM6bnVsbH19dmlzaXRTdHlsZSh0LGUpe2NvbnN0IG49dGhpcy5fbWFrZVN0eWxlQXN0KHQsZSk7cmV0dXJuIHRoaXMuX3ZhbGlkYXRlU3R5bGVBc3QobixlKSxufV9tYWtlU3R5bGVBc3QodCxlKXtjb25zdCBuPVtdO0FycmF5LmlzQXJyYXkodC5zdHlsZXMpP3Quc3R5bGVzLmZvckVhY2goKHQ9Pnsic3RyaW5nIj09dHlwZW9mIHQ/dD09dk8/bi5wdXNoKHQpOmUuZXJyb3JzLnB1c2goYFRoZSBwcm92aWRlZCBzdHlsZSBzdHJpbmcgdmFsdWUgJHt0fSBpcyBub3QgYWxsb3dlZC5gKTpuLnB1c2godCl9KSk6bi5wdXNoKHQuc3R5bGVzKTtsZXQgbz0hMSxpPW51bGw7cmV0dXJuIG4uZm9yRWFjaCgodD0+e2lmKExQKHQpKXtjb25zdCBlPXQsbj1lLmVhc2luZztpZihuJiYoaT1uLGRlbGV0ZSBlLmVhc2luZyksIW8pZm9yKGxldCB0IGluIGUpe2lmKGVbdF0udG9TdHJpbmcoKS5pbmRleE9mKCJ7eyIpPj0wKXtvPSEwO2JyZWFrfX19fSkpLHt0eXBlOjYsc3R5bGVzOm4sZWFzaW5nOmksb2Zmc2V0OnQub2Zmc2V0LGNvbnRhaW5zRHluYW1pY1N0eWxlczpvLG9wdGlvbnM6bnVsbH19X3ZhbGlkYXRlU3R5bGVBc3QodCxlKXtjb25zdCBuPWUuY3VycmVudEFuaW1hdGVUaW1pbmdzO2xldCBvPWUuY3VycmVudFRpbWUsaT1lLmN1cnJlbnRUaW1lO24mJmk+MCYmKGktPW4uZHVyYXRpb24rbi5kZWxheSksdC5zdHlsZXMuZm9yRWFjaCgodD0+eyJzdHJpbmciIT10eXBlb2YgdCYmT2JqZWN0LmtleXModCkuZm9yRWFjaCgobj0+e2lmKCF0aGlzLl9kcml2ZXIudmFsaWRhdGVTdHlsZVByb3BlcnR5KG4pKXJldHVybiB2b2lkIGUuZXJyb3JzLnB1c2goYFRoZSBwcm92aWRlZCBhbmltYXRpb24gcHJvcGVydHkgIiR7bn0iIGlzIG5vdCBhIHN1cHBvcnRlZCBDU1MgcHJvcGVydHkgZm9yIGFuaW1hdGlvbnNgKTtjb25zdCBhPWUuY29sbGVjdGVkU3R5bGVzW2UuY3VycmVudFF1ZXJ5U2VsZWN0b3JdLHI9YVtuXTtsZXQgcz0hMDtyJiYoaSE9byYmaT49ci5zdGFydFRpbWUmJm88PXIuZW5kVGltZSYmKGUuZXJyb3JzLnB1c2goYFRoZSBDU1MgcHJvcGVydHkgIiR7bn0iIHRoYXQgZXhpc3RzIGJldHdlZW4gdGhlIHRpbWVzIG9mICIke3Iuc3RhcnRUaW1lfW1zIiBhbmQgIiR7ci5lbmRUaW1lfW1zIiBpcyBhbHNvIGJlaW5nIGFuaW1hdGVkIGluIGEgcGFyYWxsZWwgYW5pbWF0aW9uIGJldHdlZW4gdGhlIHRpbWVzIG9mICIke2l9bXMiIGFuZCAiJHtvfW1zImApLHM9ITEpLGk9ci5zdGFydFRpbWUpLHMmJihhW25dPXtzdGFydFRpbWU6aSxlbmRUaW1lOm99KSxlLm9wdGlvbnMmJihmdW5jdGlvbiBsKHQsZSxuKXtjb25zdCBvPWUucGFyYW1zfHx7fSxpPUNQKHQpO2kubGVuZ3RoJiZpLmZvckVhY2goKHQ9PntvLmhhc093blByb3BlcnR5KHQpfHxuLnB1c2goYFVuYWJsZSB0byByZXNvbHZlIHRoZSBsb2NhbCBhbmltYXRpb24gcGFyYW0gJHt0fSBpbiB0aGUgZ2l2ZW4gbGlzdCBvZiB2YWx1ZXNgKX0pKX0pKHRbbl0sZS5vcHRpb25zLGUuZXJyb3JzKX0pKX0pKX12aXNpdEtleWZyYW1lcyh0LGUpe2NvbnN0IG49e3R5cGU6NSxzdHlsZXM6W10sb3B0aW9uczpudWxsfTtpZighZS5jdXJyZW50QW5pbWF0ZVRpbWluZ3MpcmV0dXJuIGUuZXJyb3JzLnB1c2goImtleWZyYW1lcygpIG11c3QgYmUgcGxhY2VkIGluc2lkZSBvZiBhIGNhbGwgdG8gYW5pbWF0ZSgpIiksbjtsZXQgbz0wO2NvbnN0IGk9W107bGV0IGE9ITEscj0hMSxzPTA7Y29uc3QgbD10LnN0ZXBzLm1hcCgodD0+e2NvbnN0IG49dGhpcy5fbWFrZVN0eWxlQXN0KHQsZSk7bGV0IGw9bnVsbCE9bi5vZmZzZXQ/bi5vZmZzZXQ6KGZ1bmN0aW9uIGModCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBudWxsO2xldCBlPW51bGw7aWYoQXJyYXkuaXNBcnJheSh0KSl0LmZvckVhY2goKHQ9PntpZihMUCh0KSYmdC5oYXNPd25Qcm9wZXJ0eSgib2Zmc2V0Iikpe2NvbnN0IG49dDtlPXBhcnNlRmxvYXQobi5vZmZzZXQpLGRlbGV0ZSBuLm9mZnNldH19KSk7ZWxzZSBpZihMUCh0KSYmdC5oYXNPd25Qcm9wZXJ0eSgib2Zmc2V0Iikpe2NvbnN0IG49dDtlPXBhcnNlRmxvYXQobi5vZmZzZXQpLGRlbGV0ZSBuLm9mZnNldH1yZXR1cm4gZX0pKG4uc3R5bGVzKSxkPTA7cmV0dXJuIG51bGwhPWwmJihvKyssZD1uLm9mZnNldD1sKSxyPXJ8fGQ8MHx8ZD4xLGE9YXx8ZDxzLHM9ZCxpLnB1c2goZCksbn0pKTtyJiZlLmVycm9ycy5wdXNoKCJQbGVhc2UgZW5zdXJlIHRoYXQgYWxsIGtleWZyYW1lIG9mZnNldHMgYXJlIGJldHdlZW4gMCBhbmQgMSIpLGEmJmUuZXJyb3JzLnB1c2goIlBsZWFzZSBlbnN1cmUgdGhhdCBhbGwga2V5ZnJhbWUgb2Zmc2V0cyBhcmUgaW4gb3JkZXIiKTtjb25zdCBjPXQuc3RlcHMubGVuZ3RoO2xldCBkPTA7bz4wJiZvPGM/ZS5lcnJvcnMucHVzaCgiTm90IGFsbCBzdHlsZSgpIHN0ZXBzIHdpdGhpbiB0aGUgZGVjbGFyZWQga2V5ZnJhbWVzKCkgY29udGFpbiBvZmZzZXRzIik6MD09byYmKGQ9MS8oYy0xKSk7Y29uc3QgcD1jLTEsbT1lLmN1cnJlbnRUaW1lLGY9ZS5jdXJyZW50QW5pbWF0ZVRpbWluZ3MsdT1mLmR1cmF0aW9uO3JldHVybiBsLmZvckVhY2goKCh0LG8pPT57Y29uc3QgYT1kPjA/bz09cD8xOmQqbzppW29dLHI9YSp1O2UuY3VycmVudFRpbWU9bStmLmRlbGF5K3IsZi5kdXJhdGlvbj1yLHRoaXMuX3ZhbGlkYXRlU3R5bGVBc3QodCxlKSx0Lm9mZnNldD1hLG4uc3R5bGVzLnB1c2godCl9KSksbn12aXNpdFJlZmVyZW5jZSh0LGUpe3JldHVybnt0eXBlOjgsYW5pbWF0aW9uOmtQKHRoaXMseVAodC5hbmltYXRpb24pLGUpLG9wdGlvbnM6QlAodC5vcHRpb25zKX19dmlzaXRBbmltYXRlQ2hpbGQodCxlKXtyZXR1cm4gZS5kZXBDb3VudCsrLHt0eXBlOjksb3B0aW9uczpCUCh0Lm9wdGlvbnMpfX12aXNpdEFuaW1hdGVSZWYodCxlKXtyZXR1cm57dHlwZToxMCxhbmltYXRpb246dGhpcy52aXNpdFJlZmVyZW5jZSh0LmFuaW1hdGlvbixlKSxvcHRpb25zOkJQKHQub3B0aW9ucyl9fXZpc2l0UXVlcnkodCxlKXtjb25zdCBuPWUuY3VycmVudFF1ZXJ5U2VsZWN0b3Isbz10Lm9wdGlvbnN8fHt9O2UucXVlcnlDb3VudCsrLGUuY3VycmVudFF1ZXJ5PXQ7Y29uc3RbaSxhXT0oZnVuY3Rpb24gcih0KXtjb25zdCBlPSEhdC5zcGxpdCgvXHMqLFxzKi8pLmZpbmQoKHQ9PnQ9PU5QKSk7ZSYmKHQ9dC5yZXBsYWNlKHpQLCIiKSk7cmV0dXJuW3Q9dC5yZXBsYWNlKC9AXCovZyxyUCkucmVwbGFjZSgvQFx3Ky9nLCh0PT4iLm5nLXRyaWdnZXItIit0LnN1YnN0cigxKSkpLnJlcGxhY2UoLzphbmltYXRpbmcvZyxsUCksZV19KSh0LnNlbGVjdG9yKTtlLmN1cnJlbnRRdWVyeVNlbGVjdG9yPW4ubGVuZ3RoP24rIiAiK2k6aSxqTyhlLmNvbGxlY3RlZFN0eWxlcyxlLmN1cnJlbnRRdWVyeVNlbGVjdG9yLHt9KTtjb25zdCBzPWtQKHRoaXMseVAodC5hbmltYXRpb24pLGUpO3JldHVybiBlLmN1cnJlbnRRdWVyeT1udWxsLGUuY3VycmVudFF1ZXJ5U2VsZWN0b3I9bix7dHlwZToxMSxzZWxlY3RvcjppLGxpbWl0Om8ubGltaXR8fDAsb3B0aW9uYWw6ISFvLm9wdGlvbmFsLGluY2x1ZGVTZWxmOmEsYW5pbWF0aW9uOnMsb3JpZ2luYWxTZWxlY3Rvcjp0LnNlbGVjdG9yLG9wdGlvbnM6QlAodC5vcHRpb25zKX19dmlzaXRTdGFnZ2VyKHQsZSl7ZS5jdXJyZW50UXVlcnl8fGUuZXJyb3JzLnB1c2goInN0YWdnZXIoKSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBvZiBxdWVyeSgpIik7Y29uc3Qgbj0iZnVsbCI9PT10LnRpbWluZ3M/e2R1cmF0aW9uOjAsZGVsYXk6MCxlYXNpbmc6ImZ1bGwifTpwUCh0LnRpbWluZ3MsZS5lcnJvcnMsITApO3JldHVybnt0eXBlOjEyLGFuaW1hdGlvbjprUCh0aGlzLHlQKHQuYW5pbWF0aW9uKSxlKSx0aW1pbmdzOm4sb3B0aW9uczpudWxsfX19Y2xhc3MgRlB7Y29uc3RydWN0b3IodCl7dGhpcy5lcnJvcnM9dCx0aGlzLnF1ZXJ5Q291bnQ9MCx0aGlzLmRlcENvdW50PTAsdGhpcy5jdXJyZW50VHJhbnNpdGlvbj1udWxsLHRoaXMuY3VycmVudFF1ZXJ5PW51bGwsdGhpcy5jdXJyZW50UXVlcnlTZWxlY3Rvcj1udWxsLHRoaXMuY3VycmVudEFuaW1hdGVUaW1pbmdzPW51bGwsdGhpcy5jdXJyZW50VGltZT0wLHRoaXMuY29sbGVjdGVkU3R5bGVzPXt9LHRoaXMub3B0aW9ucz1udWxsfX1mdW5jdGlvbiBMUCh0KXtyZXR1cm4hQXJyYXkuaXNBcnJheSh0KSYmIm9iamVjdCI9PXR5cGVvZiB0fWZ1bmN0aW9uIEJQKHQpe3JldHVybiB0Pyh0PW1QKHQpKS5wYXJhbXMmJih0LnBhcmFtcz0oZnVuY3Rpb24gZSh0KXtyZXR1cm4gdD9tUCh0KTpudWxsfSkodC5wYXJhbXMpKTp0PXt9LHR9ZnVuY3Rpb24gVlAodCxlLG4pe3JldHVybntkdXJhdGlvbjp0LGRlbGF5OmUsZWFzaW5nOm59fWZ1bmN0aW9uIGpQKHQsZSxuLG8saSxhLHI9bnVsbCxzPSExKXtyZXR1cm57dHlwZToxLGVsZW1lbnQ6dCxrZXlmcmFtZXM6ZSxwcmVTdHlsZVByb3BzOm4scG9zdFN0eWxlUHJvcHM6byxkdXJhdGlvbjppLGRlbGF5OmEsdG90YWxUaW1lOmkrYSxlYXNpbmc6cixzdWJUaW1lbGluZTpzfX1jbGFzcyBVUHtjb25zdHJ1Y3Rvcigpe3RoaXMuX21hcD1uZXcgTWFwfWNvbnN1bWUodCl7bGV0IGU9dGhpcy5fbWFwLmdldCh0KTtyZXR1cm4gZT90aGlzLl9tYXAuZGVsZXRlKHQpOmU9W10sZX1hcHBlbmQodCxlKXtsZXQgbj10aGlzLl9tYXAuZ2V0KHQpO258fHRoaXMuX21hcC5zZXQodCxuPVtdKSxuLnB1c2goLi4uZSl9aGFzKHQpe3JldHVybiB0aGlzLl9tYXAuaGFzKHQpfWNsZWFyKCl7dGhpcy5fbWFwLmNsZWFyKCl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBXUD1uZXcgUmVnRXhwKCI6ZW50ZXIiLCJnIiksR1A9bmV3IFJlZ0V4cCgiOmxlYXZlIiwiZyIpO2Z1bmN0aW9uIFlQKHQsZSxuLG8saSxhPXt9LHI9e30scyxsLGM9W10pe3JldHVybihuZXcgcVApLmJ1aWxkS2V5ZnJhbWVzKHQsZSxuLG8saSxhLHIscyxsLGMpfWNsYXNzIHFQe2J1aWxkS2V5ZnJhbWVzKHQsZSxuLG8saSxhLHIscyxsLGM9W10pe2w9bHx8bmV3IFVQO2NvbnN0IGQ9bmV3IFhQKHQsZSxsLG8saSxjLFtdKTtkLm9wdGlvbnM9cyxkLmN1cnJlbnRUaW1lbGluZS5zZXRTdHlsZXMoW2FdLG51bGwsZC5lcnJvcnMscyksa1AodGhpcyxuLGQpO2NvbnN0IHA9ZC50aW1lbGluZXMuZmlsdGVyKCh0PT50LmNvbnRhaW5zQW5pbWF0aW9uKCkpKTtpZihwLmxlbmd0aCYmT2JqZWN0LmtleXMocikubGVuZ3RoKXtjb25zdCB0PXBbcC5sZW5ndGgtMV07dC5hbGxvd09ubHlUaW1lbGluZVN0eWxlcygpfHx0LnNldFN0eWxlcyhbcl0sbnVsbCxkLmVycm9ycyxzKX1yZXR1cm4gcC5sZW5ndGg/cC5tYXAoKHQ9PnQuYnVpbGRLZXlmcmFtZXMoKSkpOltqUChlLFtdLFtdLFtdLDAsMCwiIiwhMSldfXZpc2l0VHJpZ2dlcih0LGUpe312aXNpdFN0YXRlKHQsZSl7fXZpc2l0VHJhbnNpdGlvbih0LGUpe312aXNpdEFuaW1hdGVDaGlsZCh0LGUpe2NvbnN0IG49ZS5zdWJJbnN0cnVjdGlvbnMuY29uc3VtZShlLmVsZW1lbnQpO2lmKG4pe2NvbnN0IG89ZS5jcmVhdGVTdWJDb250ZXh0KHQub3B0aW9ucyksaT1lLmN1cnJlbnRUaW1lbGluZS5jdXJyZW50VGltZSxhPXRoaXMuX3Zpc2l0U3ViSW5zdHJ1Y3Rpb25zKG4sbyxvLm9wdGlvbnMpO2khPWEmJmUudHJhbnNmb3JtSW50b05ld1RpbWVsaW5lKGEpfWUucHJldmlvdXNOb2RlPXR9dmlzaXRBbmltYXRlUmVmKHQsZSl7Y29uc3Qgbj1lLmNyZWF0ZVN1YkNvbnRleHQodC5vcHRpb25zKTtuLnRyYW5zZm9ybUludG9OZXdUaW1lbGluZSgpLHRoaXMudmlzaXRSZWZlcmVuY2UodC5hbmltYXRpb24sbiksZS50cmFuc2Zvcm1JbnRvTmV3VGltZWxpbmUobi5jdXJyZW50VGltZWxpbmUuY3VycmVudFRpbWUpLGUucHJldmlvdXNOb2RlPXR9X3Zpc2l0U3ViSW5zdHJ1Y3Rpb25zKHQsZSxuKXtsZXQgbz1lLmN1cnJlbnRUaW1lbGluZS5jdXJyZW50VGltZTtjb25zdCBpPW51bGwhPW4uZHVyYXRpb24/Y1Aobi5kdXJhdGlvbik6bnVsbCxhPW51bGwhPW4uZGVsYXk/Y1Aobi5kZWxheSk6bnVsbDtyZXR1cm4gMCE9PWkmJnQuZm9yRWFjaCgodD0+e2NvbnN0IG49ZS5hcHBlbmRJbnN0cnVjdGlvblRvVGltZWxpbmUodCxpLGEpO289TWF0aC5tYXgobyxuLmR1cmF0aW9uK24uZGVsYXkpfSkpLG99dmlzaXRSZWZlcmVuY2UodCxlKXtlLnVwZGF0ZU9wdGlvbnModC5vcHRpb25zLCEwKSxrUCh0aGlzLHQuYW5pbWF0aW9uLGUpLGUucHJldmlvdXNOb2RlPXR9dmlzaXRTZXF1ZW5jZSh0LGUpe2NvbnN0IG49ZS5zdWJDb250ZXh0Q291bnQ7bGV0IG89ZTtjb25zdCBpPXQub3B0aW9ucztpZihpJiYoaS5wYXJhbXN8fGkuZGVsYXkpJiYobz1lLmNyZWF0ZVN1YkNvbnRleHQoaSksby50cmFuc2Zvcm1JbnRvTmV3VGltZWxpbmUoKSxudWxsIT1pLmRlbGF5KSl7Nj09by5wcmV2aW91c05vZGUudHlwZSYmKG8uY3VycmVudFRpbWVsaW5lLnNuYXBzaG90Q3VycmVudFN0eWxlcygpLG8ucHJldmlvdXNOb2RlPVpQKTtjb25zdCB0PWNQKGkuZGVsYXkpO28uZGVsYXlOZXh0U3RlcCh0KX10LnN0ZXBzLmxlbmd0aCYmKHQuc3RlcHMuZm9yRWFjaCgodD0+a1AodGhpcyx0LG8pKSksby5jdXJyZW50VGltZWxpbmUuYXBwbHlTdHlsZXNUb0tleWZyYW1lKCksby5zdWJDb250ZXh0Q291bnQ+biYmby50cmFuc2Zvcm1JbnRvTmV3VGltZWxpbmUoKSksZS5wcmV2aW91c05vZGU9dH12aXNpdEdyb3VwKHQsZSl7Y29uc3Qgbj1bXTtsZXQgbz1lLmN1cnJlbnRUaW1lbGluZS5jdXJyZW50VGltZTtjb25zdCBpPXQub3B0aW9ucyYmdC5vcHRpb25zLmRlbGF5P2NQKHQub3B0aW9ucy5kZWxheSk6MDt0LnN0ZXBzLmZvckVhY2goKGE9Pntjb25zdCByPWUuY3JlYXRlU3ViQ29udGV4dCh0Lm9wdGlvbnMpO2kmJnIuZGVsYXlOZXh0U3RlcChpKSxrUCh0aGlzLGEsciksbz1NYXRoLm1heChvLHIuY3VycmVudFRpbWVsaW5lLmN1cnJlbnRUaW1lKSxuLnB1c2goci5jdXJyZW50VGltZWxpbmUpfSkpLG4uZm9yRWFjaCgodD0+ZS5jdXJyZW50VGltZWxpbmUubWVyZ2VUaW1lbGluZUNvbGxlY3RlZFN0eWxlcyh0KSkpLGUudHJhbnNmb3JtSW50b05ld1RpbWVsaW5lKG8pLGUucHJldmlvdXNOb2RlPXR9X3Zpc2l0VGltaW5nKHQsZSl7aWYodC5keW5hbWljKXtjb25zdCBuPXQuc3RyVmFsdWU7cmV0dXJuIHBQKGUucGFyYW1zP01QKG4sZS5wYXJhbXMsZS5lcnJvcnMpOm4sZS5lcnJvcnMpfXJldHVybntkdXJhdGlvbjp0LmR1cmF0aW9uLGRlbGF5OnQuZGVsYXksZWFzaW5nOnQuZWFzaW5nfX12aXNpdEFuaW1hdGUodCxlKXtjb25zdCBuPWUuY3VycmVudEFuaW1hdGVUaW1pbmdzPXRoaXMuX3Zpc2l0VGltaW5nKHQudGltaW5ncyxlKSxvPWUuY3VycmVudFRpbWVsaW5lO24uZGVsYXkmJihlLmluY3JlbWVudFRpbWUobi5kZWxheSksby5zbmFwc2hvdEN1cnJlbnRTdHlsZXMoKSk7Y29uc3QgaT10LnN0eWxlOzU9PWkudHlwZT90aGlzLnZpc2l0S2V5ZnJhbWVzKGksZSk6KGUuaW5jcmVtZW50VGltZShuLmR1cmF0aW9uKSx0aGlzLnZpc2l0U3R5bGUoaSxlKSxvLmFwcGx5U3R5bGVzVG9LZXlmcmFtZSgpKSxlLmN1cnJlbnRBbmltYXRlVGltaW5ncz1udWxsLGUucHJldmlvdXNOb2RlPXR9dmlzaXRTdHlsZSh0LGUpe2NvbnN0IG49ZS5jdXJyZW50VGltZWxpbmUsbz1lLmN1cnJlbnRBbmltYXRlVGltaW5nczshbyYmbi5nZXRDdXJyZW50U3R5bGVQcm9wZXJ0aWVzKCkubGVuZ3RoJiZuLmZvcndhcmRGcmFtZSgpO2NvbnN0IGk9byYmby5lYXNpbmd8fHQuZWFzaW5nO3QuaXNFbXB0eVN0ZXA/bi5hcHBseUVtcHR5U3RlcChpKTpuLnNldFN0eWxlcyh0LnN0eWxlcyxpLGUuZXJyb3JzLGUub3B0aW9ucyksZS5wcmV2aW91c05vZGU9dH12aXNpdEtleWZyYW1lcyh0LGUpe2NvbnN0IG49ZS5jdXJyZW50QW5pbWF0ZVRpbWluZ3Msbz1lLmN1cnJlbnRUaW1lbGluZS5kdXJhdGlvbixpPW4uZHVyYXRpb24sYT1lLmNyZWF0ZVN1YkNvbnRleHQoKS5jdXJyZW50VGltZWxpbmU7YS5lYXNpbmc9bi5lYXNpbmcsdC5zdHlsZXMuZm9yRWFjaCgodD0+e2EuZm9yd2FyZFRpbWUoKHQub2Zmc2V0fHwwKSppKSxhLnNldFN0eWxlcyh0LnN0eWxlcyx0LmVhc2luZyxlLmVycm9ycyxlLm9wdGlvbnMpLGEuYXBwbHlTdHlsZXNUb0tleWZyYW1lKCl9KSksZS5jdXJyZW50VGltZWxpbmUubWVyZ2VUaW1lbGluZUNvbGxlY3RlZFN0eWxlcyhhKSxlLnRyYW5zZm9ybUludG9OZXdUaW1lbGluZShvK2kpLGUucHJldmlvdXNOb2RlPXR9dmlzaXRRdWVyeSh0LGUpe2NvbnN0IG49ZS5jdXJyZW50VGltZWxpbmUuY3VycmVudFRpbWUsbz10Lm9wdGlvbnN8fHt9LGk9by5kZWxheT9jUChvLmRlbGF5KTowO2kmJig2PT09ZS5wcmV2aW91c05vZGUudHlwZXx8MD09biYmZS5jdXJyZW50VGltZWxpbmUuZ2V0Q3VycmVudFN0eWxlUHJvcGVydGllcygpLmxlbmd0aCkmJihlLmN1cnJlbnRUaW1lbGluZS5zbmFwc2hvdEN1cnJlbnRTdHlsZXMoKSxlLnByZXZpb3VzTm9kZT1aUCk7bGV0IGE9bjtjb25zdCByPWUuaW52b2tlUXVlcnkodC5zZWxlY3Rvcix0Lm9yaWdpbmFsU2VsZWN0b3IsdC5saW1pdCx0LmluY2x1ZGVTZWxmLCEhby5vcHRpb25hbCxlLmVycm9ycyk7ZS5jdXJyZW50UXVlcnlUb3RhbD1yLmxlbmd0aDtsZXQgcz1udWxsO3IuZm9yRWFjaCgoKG4sbyk9PntlLmN1cnJlbnRRdWVyeUluZGV4PW87Y29uc3Qgcj1lLmNyZWF0ZVN1YkNvbnRleHQodC5vcHRpb25zLG4pO2kmJnIuZGVsYXlOZXh0U3RlcChpKSxuPT09ZS5lbGVtZW50JiYocz1yLmN1cnJlbnRUaW1lbGluZSksa1AodGhpcyx0LmFuaW1hdGlvbixyKSxyLmN1cnJlbnRUaW1lbGluZS5hcHBseVN0eWxlc1RvS2V5ZnJhbWUoKTthPU1hdGgubWF4KGEsci5jdXJyZW50VGltZWxpbmUuY3VycmVudFRpbWUpfSkpLGUuY3VycmVudFF1ZXJ5SW5kZXg9MCxlLmN1cnJlbnRRdWVyeVRvdGFsPTAsZS50cmFuc2Zvcm1JbnRvTmV3VGltZWxpbmUoYSkscyYmKGUuY3VycmVudFRpbWVsaW5lLm1lcmdlVGltZWxpbmVDb2xsZWN0ZWRTdHlsZXMocyksZS5jdXJyZW50VGltZWxpbmUuc25hcHNob3RDdXJyZW50U3R5bGVzKCkpLGUucHJldmlvdXNOb2RlPXR9dmlzaXRTdGFnZ2VyKHQsZSl7Y29uc3Qgbj1lLnBhcmVudENvbnRleHQsbz1lLmN1cnJlbnRUaW1lbGluZSxpPXQudGltaW5ncyxhPU1hdGguYWJzKGkuZHVyYXRpb24pLHI9YSooZS5jdXJyZW50UXVlcnlUb3RhbC0xKTtsZXQgcz1hKmUuY3VycmVudFF1ZXJ5SW5kZXg7c3dpdGNoKGkuZHVyYXRpb248MD8icmV2ZXJzZSI6aS5lYXNpbmcpe2Nhc2UicmV2ZXJzZSI6cz1yLXM7YnJlYWs7Y2FzZSJmdWxsIjpzPW4uY3VycmVudFN0YWdnZXJUaW1lfWNvbnN0IGw9ZS5jdXJyZW50VGltZWxpbmU7cyYmbC5kZWxheU5leHRTdGVwKHMpO2NvbnN0IGM9bC5jdXJyZW50VGltZTtrUCh0aGlzLHQuYW5pbWF0aW9uLGUpLGUucHJldmlvdXNOb2RlPXQsbi5jdXJyZW50U3RhZ2dlclRpbWU9by5jdXJyZW50VGltZS1jKyhvLnN0YXJ0VGltZS1uLmN1cnJlbnRUaW1lbGluZS5zdGFydFRpbWUpfX1jb25zdCBaUD17fTtjbGFzcyBYUHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMpe3RoaXMuX2RyaXZlcj10LHRoaXMuZWxlbWVudD1lLHRoaXMuc3ViSW5zdHJ1Y3Rpb25zPW4sdGhpcy5fZW50ZXJDbGFzc05hbWU9byx0aGlzLl9sZWF2ZUNsYXNzTmFtZT1pLHRoaXMuZXJyb3JzPWEsdGhpcy50aW1lbGluZXM9cix0aGlzLnBhcmVudENvbnRleHQ9bnVsbCx0aGlzLmN1cnJlbnRBbmltYXRlVGltaW5ncz1udWxsLHRoaXMucHJldmlvdXNOb2RlPVpQLHRoaXMuc3ViQ29udGV4dENvdW50PTAsdGhpcy5vcHRpb25zPXt9LHRoaXMuY3VycmVudFF1ZXJ5SW5kZXg9MCx0aGlzLmN1cnJlbnRRdWVyeVRvdGFsPTAsdGhpcy5jdXJyZW50U3RhZ2dlclRpbWU9MCx0aGlzLmN1cnJlbnRUaW1lbGluZT1zfHxuZXcgS1AodGhpcy5fZHJpdmVyLGUsMCksci5wdXNoKHRoaXMuY3VycmVudFRpbWVsaW5lKX1nZXQgcGFyYW1zKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5wYXJhbXN9dXBkYXRlT3B0aW9ucyh0LGUpe2lmKCF0KXJldHVybjtjb25zdCBuPXQ7bGV0IG89dGhpcy5vcHRpb25zO251bGwhPW4uZHVyYXRpb24mJihvLmR1cmF0aW9uPWNQKG4uZHVyYXRpb24pKSxudWxsIT1uLmRlbGF5JiYoby5kZWxheT1jUChuLmRlbGF5KSk7Y29uc3QgaT1uLnBhcmFtcztpZihpKXtsZXQgdD1vLnBhcmFtczt0fHwodD10aGlzLm9wdGlvbnMucGFyYW1zPXt9KSxPYmplY3Qua2V5cyhpKS5mb3JFYWNoKChuPT57ZSYmdC5oYXNPd25Qcm9wZXJ0eShuKXx8KHRbbl09TVAoaVtuXSx0LHRoaXMuZXJyb3JzKSl9KSl9fV9jb3B5T3B0aW9ucygpe2NvbnN0IHQ9e307aWYodGhpcy5vcHRpb25zKXtjb25zdCBlPXRoaXMub3B0aW9ucy5wYXJhbXM7aWYoZSl7Y29uc3Qgbj10LnBhcmFtcz17fTtPYmplY3Qua2V5cyhlKS5mb3JFYWNoKCh0PT57blt0XT1lW3RdfSkpfX1yZXR1cm4gdH1jcmVhdGVTdWJDb250ZXh0KHQ9bnVsbCxlLG4pe2NvbnN0IG89ZXx8dGhpcy5lbGVtZW50LGk9bmV3IFhQKHRoaXMuX2RyaXZlcixvLHRoaXMuc3ViSW5zdHJ1Y3Rpb25zLHRoaXMuX2VudGVyQ2xhc3NOYW1lLHRoaXMuX2xlYXZlQ2xhc3NOYW1lLHRoaXMuZXJyb3JzLHRoaXMudGltZWxpbmVzLHRoaXMuY3VycmVudFRpbWVsaW5lLmZvcmsobyxufHwwKSk7cmV0dXJuIGkucHJldmlvdXNOb2RlPXRoaXMucHJldmlvdXNOb2RlLGkuY3VycmVudEFuaW1hdGVUaW1pbmdzPXRoaXMuY3VycmVudEFuaW1hdGVUaW1pbmdzLGkub3B0aW9ucz10aGlzLl9jb3B5T3B0aW9ucygpLGkudXBkYXRlT3B0aW9ucyh0KSxpLmN1cnJlbnRRdWVyeUluZGV4PXRoaXMuY3VycmVudFF1ZXJ5SW5kZXgsaS5jdXJyZW50UXVlcnlUb3RhbD10aGlzLmN1cnJlbnRRdWVyeVRvdGFsLGkucGFyZW50Q29udGV4dD10aGlzLHRoaXMuc3ViQ29udGV4dENvdW50KyssaX10cmFuc2Zvcm1JbnRvTmV3VGltZWxpbmUodCl7cmV0dXJuIHRoaXMucHJldmlvdXNOb2RlPVpQLHRoaXMuY3VycmVudFRpbWVsaW5lPXRoaXMuY3VycmVudFRpbWVsaW5lLmZvcmsodGhpcy5lbGVtZW50LHQpLHRoaXMudGltZWxpbmVzLnB1c2godGhpcy5jdXJyZW50VGltZWxpbmUpLHRoaXMuY3VycmVudFRpbWVsaW5lfWFwcGVuZEluc3RydWN0aW9uVG9UaW1lbGluZSh0LGUsbil7Y29uc3Qgbz17ZHVyYXRpb246bnVsbCE9ZT9lOnQuZHVyYXRpb24sZGVsYXk6dGhpcy5jdXJyZW50VGltZWxpbmUuY3VycmVudFRpbWUrKG51bGwhPW4/bjowKSt0LmRlbGF5LGVhc2luZzoiIn0saT1uZXcgSlAodGhpcy5fZHJpdmVyLHQuZWxlbWVudCx0LmtleWZyYW1lcyx0LnByZVN0eWxlUHJvcHMsdC5wb3N0U3R5bGVQcm9wcyxvLHQuc3RyZXRjaFN0YXJ0aW5nS2V5ZnJhbWUpO3JldHVybiB0aGlzLnRpbWVsaW5lcy5wdXNoKGkpLG99aW5jcmVtZW50VGltZSh0KXt0aGlzLmN1cnJlbnRUaW1lbGluZS5mb3J3YXJkVGltZSh0aGlzLmN1cnJlbnRUaW1lbGluZS5kdXJhdGlvbit0KX1kZWxheU5leHRTdGVwKHQpe3Q+MCYmdGhpcy5jdXJyZW50VGltZWxpbmUuZGVsYXlOZXh0U3RlcCh0KX1pbnZva2VRdWVyeSh0LGUsbixvLGksYSl7bGV0IHI9W107aWYobyYmci5wdXNoKHRoaXMuZWxlbWVudCksdC5sZW5ndGg+MCl7dD0odD10LnJlcGxhY2UoV1AsIi4iK3RoaXMuX2VudGVyQ2xhc3NOYW1lKSkucmVwbGFjZShHUCwiLiIrdGhpcy5fbGVhdmVDbGFzc05hbWUpO2xldCBlPXRoaXMuX2RyaXZlci5xdWVyeSh0aGlzLmVsZW1lbnQsdCwxIT1uKTswIT09biYmKGU9bjwwP2Uuc2xpY2UoZS5sZW5ndGgrbixlLmxlbmd0aCk6ZS5zbGljZSgwLG4pKSxyLnB1c2goLi4uZSl9cmV0dXJuIGl8fDAhPXIubGVuZ3RofHxhLnB1c2goYFxgcXVlcnkoIiR7ZX0iKVxgIHJldHVybmVkIHplcm8gZWxlbWVudHMuIChVc2UgXGBxdWVyeSgiJHtlfSIsIHsgb3B0aW9uYWw6IHRydWUgfSlcYCBpZiB5b3Ugd2lzaCB0byBhbGxvdyB0aGlzLilgKSxyfX1jbGFzcyBLUHtjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLl9kcml2ZXI9dCx0aGlzLmVsZW1lbnQ9ZSx0aGlzLnN0YXJ0VGltZT1uLHRoaXMuX2VsZW1lbnRUaW1lbGluZVN0eWxlc0xvb2t1cD1vLHRoaXMuZHVyYXRpb249MCx0aGlzLl9wcmV2aW91c0tleWZyYW1lPXt9LHRoaXMuX2N1cnJlbnRLZXlmcmFtZT17fSx0aGlzLl9rZXlmcmFtZXM9bmV3IE1hcCx0aGlzLl9zdHlsZVN1bW1hcnk9e30sdGhpcy5fcGVuZGluZ1N0eWxlcz17fSx0aGlzLl9iYWNrRmlsbD17fSx0aGlzLl9jdXJyZW50RW1wdHlTdGVwS2V5ZnJhbWU9bnVsbCx0aGlzLl9lbGVtZW50VGltZWxpbmVTdHlsZXNMb29rdXB8fCh0aGlzLl9lbGVtZW50VGltZWxpbmVTdHlsZXNMb29rdXA9bmV3IE1hcCksdGhpcy5fbG9jYWxUaW1lbGluZVN0eWxlcz1PYmplY3QuY3JlYXRlKHRoaXMuX2JhY2tGaWxsLHt9KSx0aGlzLl9nbG9iYWxUaW1lbGluZVN0eWxlcz10aGlzLl9lbGVtZW50VGltZWxpbmVTdHlsZXNMb29rdXAuZ2V0KGUpLHRoaXMuX2dsb2JhbFRpbWVsaW5lU3R5bGVzfHwodGhpcy5fZ2xvYmFsVGltZWxpbmVTdHlsZXM9dGhpcy5fbG9jYWxUaW1lbGluZVN0eWxlcyx0aGlzLl9lbGVtZW50VGltZWxpbmVTdHlsZXNMb29rdXAuc2V0KGUsdGhpcy5fbG9jYWxUaW1lbGluZVN0eWxlcykpLHRoaXMuX2xvYWRLZXlmcmFtZSgpfWNvbnRhaW5zQW5pbWF0aW9uKCl7c3dpdGNoKHRoaXMuX2tleWZyYW1lcy5zaXplKXtjYXNlIDA6cmV0dXJuITE7Y2FzZSAxOnJldHVybiB0aGlzLmdldEN1cnJlbnRTdHlsZVByb3BlcnRpZXMoKS5sZW5ndGg+MDtkZWZhdWx0OnJldHVybiEwfX1nZXRDdXJyZW50U3R5bGVQcm9wZXJ0aWVzKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX2N1cnJlbnRLZXlmcmFtZSl9Z2V0IGN1cnJlbnRUaW1lKCl7cmV0dXJuIHRoaXMuc3RhcnRUaW1lK3RoaXMuZHVyYXRpb259ZGVsYXlOZXh0U3RlcCh0KXtjb25zdCBlPTE9PXRoaXMuX2tleWZyYW1lcy5zaXplJiZPYmplY3Qua2V5cyh0aGlzLl9wZW5kaW5nU3R5bGVzKS5sZW5ndGg7dGhpcy5kdXJhdGlvbnx8ZT8odGhpcy5mb3J3YXJkVGltZSh0aGlzLmN1cnJlbnRUaW1lK3QpLGUmJnRoaXMuc25hcHNob3RDdXJyZW50U3R5bGVzKCkpOnRoaXMuc3RhcnRUaW1lKz10fWZvcmsodCxlKXtyZXR1cm4gdGhpcy5hcHBseVN0eWxlc1RvS2V5ZnJhbWUoKSxuZXcgS1AodGhpcy5fZHJpdmVyLHQsZXx8dGhpcy5jdXJyZW50VGltZSx0aGlzLl9lbGVtZW50VGltZWxpbmVTdHlsZXNMb29rdXApfV9sb2FkS2V5ZnJhbWUoKXt0aGlzLl9jdXJyZW50S2V5ZnJhbWUmJih0aGlzLl9wcmV2aW91c0tleWZyYW1lPXRoaXMuX2N1cnJlbnRLZXlmcmFtZSksdGhpcy5fY3VycmVudEtleWZyYW1lPXRoaXMuX2tleWZyYW1lcy5nZXQodGhpcy5kdXJhdGlvbiksdGhpcy5fY3VycmVudEtleWZyYW1lfHwodGhpcy5fY3VycmVudEtleWZyYW1lPU9iamVjdC5jcmVhdGUodGhpcy5fYmFja0ZpbGwse30pLHRoaXMuX2tleWZyYW1lcy5zZXQodGhpcy5kdXJhdGlvbix0aGlzLl9jdXJyZW50S2V5ZnJhbWUpKX1mb3J3YXJkRnJhbWUoKXt0aGlzLmR1cmF0aW9uKz0xLHRoaXMuX2xvYWRLZXlmcmFtZSgpfWZvcndhcmRUaW1lKHQpe3RoaXMuYXBwbHlTdHlsZXNUb0tleWZyYW1lKCksdGhpcy5kdXJhdGlvbj10LHRoaXMuX2xvYWRLZXlmcmFtZSgpfV91cGRhdGVTdHlsZSh0LGUpe3RoaXMuX2xvY2FsVGltZWxpbmVTdHlsZXNbdF09ZSx0aGlzLl9nbG9iYWxUaW1lbGluZVN0eWxlc1t0XT1lLHRoaXMuX3N0eWxlU3VtbWFyeVt0XT17dGltZTp0aGlzLmN1cnJlbnRUaW1lLHZhbHVlOmV9fWFsbG93T25seVRpbWVsaW5lU3R5bGVzKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRFbXB0eVN0ZXBLZXlmcmFtZSE9PXRoaXMuX2N1cnJlbnRLZXlmcmFtZX1hcHBseUVtcHR5U3RlcCh0KXt0JiYodGhpcy5fcHJldmlvdXNLZXlmcmFtZS5lYXNpbmc9dCksT2JqZWN0LmtleXModGhpcy5fZ2xvYmFsVGltZWxpbmVTdHlsZXMpLmZvckVhY2goKHQ9Pnt0aGlzLl9iYWNrRmlsbFt0XT10aGlzLl9nbG9iYWxUaW1lbGluZVN0eWxlc1t0XXx8dk8sdGhpcy5fY3VycmVudEtleWZyYW1lW3RdPXZPfSkpLHRoaXMuX2N1cnJlbnRFbXB0eVN0ZXBLZXlmcmFtZT10aGlzLl9jdXJyZW50S2V5ZnJhbWV9c2V0U3R5bGVzKHQsZSxuLG8pe2UmJih0aGlzLl9wcmV2aW91c0tleWZyYW1lLmVhc2luZz1lKTtjb25zdCBpPW8mJm8ucGFyYW1zfHx7fSxhPShmdW5jdGlvbiByKHQsZSl7Y29uc3Qgbj17fTtsZXQgbztyZXR1cm4gdC5mb3JFYWNoKCh0PT57IioiPT09dD8obz1vfHxPYmplY3Qua2V5cyhlKSxvLmZvckVhY2goKHQ9PntuW3RdPXZPfSkpKTpmUCh0LCExLG4pfSkpLG59Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykodCx0aGlzLl9nbG9iYWxUaW1lbGluZVN0eWxlcyk7T2JqZWN0LmtleXMoYSkuZm9yRWFjaCgodD0+e2NvbnN0IGU9TVAoYVt0XSxpLG4pO3RoaXMuX3BlbmRpbmdTdHlsZXNbdF09ZSx0aGlzLl9sb2NhbFRpbWVsaW5lU3R5bGVzLmhhc093blByb3BlcnR5KHQpfHwodGhpcy5fYmFja0ZpbGxbdF09dGhpcy5fZ2xvYmFsVGltZWxpbmVTdHlsZXMuaGFzT3duUHJvcGVydHkodCk/dGhpcy5fZ2xvYmFsVGltZWxpbmVTdHlsZXNbdF06dk8pLHRoaXMuX3VwZGF0ZVN0eWxlKHQsZSl9KSl9YXBwbHlTdHlsZXNUb0tleWZyYW1lKCl7Y29uc3QgdD10aGlzLl9wZW5kaW5nU3R5bGVzLGU9T2JqZWN0LmtleXModCk7MCE9ZS5sZW5ndGgmJih0aGlzLl9wZW5kaW5nU3R5bGVzPXt9LGUuZm9yRWFjaCgoZT0+e3RoaXMuX2N1cnJlbnRLZXlmcmFtZVtlXT10W2VdfSkpLE9iamVjdC5rZXlzKHRoaXMuX2xvY2FsVGltZWxpbmVTdHlsZXMpLmZvckVhY2goKHQ9Pnt0aGlzLl9jdXJyZW50S2V5ZnJhbWUuaGFzT3duUHJvcGVydHkodCl8fCh0aGlzLl9jdXJyZW50S2V5ZnJhbWVbdF09dGhpcy5fbG9jYWxUaW1lbGluZVN0eWxlc1t0XSl9KSkpfXNuYXBzaG90Q3VycmVudFN0eWxlcygpe09iamVjdC5rZXlzKHRoaXMuX2xvY2FsVGltZWxpbmVTdHlsZXMpLmZvckVhY2goKHQ9Pntjb25zdCBlPXRoaXMuX2xvY2FsVGltZWxpbmVTdHlsZXNbdF07dGhpcy5fcGVuZGluZ1N0eWxlc1t0XT1lLHRoaXMuX3VwZGF0ZVN0eWxlKHQsZSl9KSl9Z2V0RmluYWxLZXlmcmFtZSgpe3JldHVybiB0aGlzLl9rZXlmcmFtZXMuZ2V0KHRoaXMuZHVyYXRpb24pfWdldCBwcm9wZXJ0aWVzKCl7Y29uc3QgdD1bXTtmb3IobGV0IGUgaW4gdGhpcy5fY3VycmVudEtleWZyYW1lKXQucHVzaChlKTtyZXR1cm4gdH1tZXJnZVRpbWVsaW5lQ29sbGVjdGVkU3R5bGVzKHQpe09iamVjdC5rZXlzKHQuX3N0eWxlU3VtbWFyeSkuZm9yRWFjaCgoZT0+e2NvbnN0IG49dGhpcy5fc3R5bGVTdW1tYXJ5W2VdLG89dC5fc3R5bGVTdW1tYXJ5W2VdOyghbnx8by50aW1lPm4udGltZSkmJnRoaXMuX3VwZGF0ZVN0eWxlKGUsby52YWx1ZSl9KSl9YnVpbGRLZXlmcmFtZXMoKXt0aGlzLmFwcGx5U3R5bGVzVG9LZXlmcmFtZSgpO2NvbnN0IHQ9bmV3IFNldCxlPW5ldyBTZXQsbj0xPT09dGhpcy5fa2V5ZnJhbWVzLnNpemUmJjA9PT10aGlzLmR1cmF0aW9uO2xldCBvPVtdO3RoaXMuX2tleWZyYW1lcy5mb3JFYWNoKCgoaSxhKT0+e2NvbnN0IHI9ZlAoaSwhMCk7T2JqZWN0LmtleXMocikuZm9yRWFjaCgobj0+e2NvbnN0IG89cltuXTsiISI9PW8/dC5hZGQobik6bz09dk8mJmUuYWRkKG4pfSkpLG58fChyLm9mZnNldD1hL3RoaXMuZHVyYXRpb24pLG8ucHVzaChyKX0pKTtjb25zdCBpPXQuc2l6ZT92UCh0LnZhbHVlcygpKTpbXSxhPWUuc2l6ZT92UChlLnZhbHVlcygpKTpbXTtpZihuKXtjb25zdCB0PW9bMF0sZT1tUCh0KTt0Lm9mZnNldD0wLGUub2Zmc2V0PTEsbz1bdCxlXX1yZXR1cm4galAodGhpcy5lbGVtZW50LG8saSxhLHRoaXMuZHVyYXRpb24sdGhpcy5zdGFydFRpbWUsdGhpcy5lYXNpbmcsITEpfX1jbGFzcyBKUCBleHRlbmRzIEtQe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHI9ITEpe3N1cGVyKHQsZSxhLmRlbGF5KSx0aGlzLmtleWZyYW1lcz1uLHRoaXMucHJlU3R5bGVQcm9wcz1vLHRoaXMucG9zdFN0eWxlUHJvcHM9aSx0aGlzLl9zdHJldGNoU3RhcnRpbmdLZXlmcmFtZT1yLHRoaXMudGltaW5ncz17ZHVyYXRpb246YS5kdXJhdGlvbixkZWxheTphLmRlbGF5LGVhc2luZzphLmVhc2luZ319Y29udGFpbnNBbmltYXRpb24oKXtyZXR1cm4gdGhpcy5rZXlmcmFtZXMubGVuZ3RoPjF9YnVpbGRLZXlmcmFtZXMoKXtsZXQgdD10aGlzLmtleWZyYW1lcyx7ZGVsYXk6ZSxkdXJhdGlvbjpuLGVhc2luZzpvfT10aGlzLnRpbWluZ3M7aWYodGhpcy5fc3RyZXRjaFN0YXJ0aW5nS2V5ZnJhbWUmJmUpe2NvbnN0IGk9W10sYT1uK2Uscj1lL2Escz1mUCh0WzBdLCExKTtzLm9mZnNldD0wLGkucHVzaChzKTtjb25zdCBsPWZQKHRbMF0sITEpO2wub2Zmc2V0PVFQKHIpLGkucHVzaChsKTtjb25zdCBjPXQubGVuZ3RoLTE7Zm9yKGxldCBvPTE7bzw9YztvKyspe2xldCByPWZQKHRbb10sITEpO3Iub2Zmc2V0PVFQKChlK3Iub2Zmc2V0Km4pL2EpLGkucHVzaChyKX1uPWEsZT0wLG89IiIsdD1pfXJldHVybiBqUCh0aGlzLmVsZW1lbnQsdCx0aGlzLnByZVN0eWxlUHJvcHMsdGhpcy5wb3N0U3R5bGVQcm9wcyxuLGUsbywhMCl9fWZ1bmN0aW9uIFFQKHQsZT0zKXtjb25zdCBuPU1hdGgucG93KDEwLGUtMSk7cmV0dXJuIE1hdGgucm91bmQodCpuKS9ufWNsYXNzICRQe30KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgdHcgZXh0ZW5kcyAkUHtub3JtYWxpemVQcm9wZXJ0eU5hbWUodCxlKXtyZXR1cm4gT1AodCl9bm9ybWFsaXplU3R5bGVWYWx1ZSh0LGUsbixvKXtsZXQgaT0iIjtjb25zdCBhPW4udG9TdHJpbmcoKS50cmltKCk7aWYoZXdbZV0mJjAhPT1uJiYiMCIhPT1uKWlmKCJudW1iZXIiPT10eXBlb2YgbilpPSJweCI7ZWxzZXtjb25zdCBlPW4ubWF0Y2goL15bKy1dP1tcZFwuXSsoW2Etel0qKSQvKTtlJiYwPT1lWzFdLmxlbmd0aCYmby5wdXNoKGBQbGVhc2UgcHJvdmlkZSBhIENTUyB1bml0IHZhbHVlIGZvciAke3R9OiR7bn1gKX1yZXR1cm4gYStpfX1jb25zdCBldz0oZnVuY3Rpb24gbncodCl7Y29uc3QgZT17fTtyZXR1cm4gdC5mb3JFYWNoKCh0PT5lW3RdPSEwKSksZX0pKCJ3aWR0aCxoZWlnaHQsbWluV2lkdGgsbWluSGVpZ2h0LG1heFdpZHRoLG1heEhlaWdodCxsZWZ0LHRvcCxib3R0b20scmlnaHQsZm9udFNpemUsb3V0bGluZVdpZHRoLG91dGxpbmVPZmZzZXQscGFkZGluZ1RvcCxwYWRkaW5nTGVmdCxwYWRkaW5nQm90dG9tLHBhZGRpbmdSaWdodCxtYXJnaW5Ub3AsbWFyZ2luTGVmdCxtYXJnaW5Cb3R0b20sbWFyZ2luUmlnaHQsYm9yZGVyUmFkaXVzLGJvcmRlcldpZHRoLGJvcmRlclRvcFdpZHRoLGJvcmRlckxlZnRXaWR0aCxib3JkZXJSaWdodFdpZHRoLGJvcmRlckJvdHRvbVdpZHRoLHRleHRJbmRlbnQscGVyc3BlY3RpdmUiLnNwbGl0KCIsIikpO2Z1bmN0aW9uIG93KHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0pe3JldHVybnt0eXBlOjAsZWxlbWVudDp0LHRyaWdnZXJOYW1lOmUsaXNSZW1vdmFsVHJhbnNpdGlvbjppLGZyb21TdGF0ZTpuLGZyb21TdHlsZXM6YSx0b1N0YXRlOm8sdG9TdHlsZXM6cix0aW1lbGluZXM6cyxxdWVyaWVkRWxlbWVudHM6bCxwcmVTdHlsZVByb3BzOmMscG9zdFN0eWxlUHJvcHM6ZCx0b3RhbFRpbWU6cCxlcnJvcnM6bX19Y29uc3QgaXc9e307Y2xhc3MgYXd7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuX3RyaWdnZXJOYW1lPXQsdGhpcy5hc3Q9ZSx0aGlzLl9zdGF0ZVN0eWxlcz1ufW1hdGNoKHQsZSxuLG8pe3JldHVybihmdW5jdGlvbiBpKHQsZSxuLG8sYSl7cmV0dXJuIHQuc29tZSgodD0+dChlLG4sbyxhKSkpfSkodGhpcy5hc3QubWF0Y2hlcnMsdCxlLG4sbyl9YnVpbGRTdHlsZXModCxlLG4pe2NvbnN0IG89dGhpcy5fc3RhdGVTdHlsZXNbIioiXSxpPXRoaXMuX3N0YXRlU3R5bGVzW3RdLGE9bz9vLmJ1aWxkU3R5bGVzKGUsbik6e307cmV0dXJuIGk/aS5idWlsZFN0eWxlcyhlLG4pOmF9YnVpbGQodCxlLG4sbyxpLGEscixzLGwsYyl7Y29uc3QgZD1bXSxwPXRoaXMuYXN0Lm9wdGlvbnMmJnRoaXMuYXN0Lm9wdGlvbnMucGFyYW1zfHxpdyxtPXRoaXMuYnVpbGRTdHlsZXMobixyJiZyLnBhcmFtc3x8aXcsZCksZj1zJiZzLnBhcmFtc3x8aXcsdT10aGlzLmJ1aWxkU3R5bGVzKG8sZixkKSxnPW5ldyBTZXQsaD1uZXcgTWFwLGI9bmV3IE1hcCx5PSJ2b2lkIj09PW8sXz17cGFyYW1zOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxwKSxmKX0sQz1jP1tdOllQKHQsZSx0aGlzLmFzdC5hbmltYXRpb24saSxhLG0sdSxfLGwsZCk7bGV0IE09MDtpZihDLmZvckVhY2goKHQ9PntNPU1hdGgubWF4KHQuZHVyYXRpb24rdC5kZWxheSxNKX0pKSxkLmxlbmd0aClyZXR1cm4gb3coZSx0aGlzLl90cmlnZ2VyTmFtZSxuLG8seSxtLHUsW10sW10saCxiLE0sZCk7Qy5mb3JFYWNoKCh0PT57Y29uc3Qgbj10LmVsZW1lbnQsbz1qTyhoLG4se30pO3QucHJlU3R5bGVQcm9wcy5mb3JFYWNoKCh0PT5vW3RdPSEwKSk7Y29uc3QgaT1qTyhiLG4se30pO3QucG9zdFN0eWxlUHJvcHMuZm9yRWFjaCgodD0+aVt0XT0hMCkpLG4hPT1lJiZnLmFkZChuKX0pKTtjb25zdCB2PXZQKGcudmFsdWVzKCkpO3JldHVybiBvdyhlLHRoaXMuX3RyaWdnZXJOYW1lLG4sbyx5LG0sdSxDLHYsaCxiLE0pfX1jbGFzcyByd3tjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5zdHlsZXM9dCx0aGlzLmRlZmF1bHRQYXJhbXM9ZSx0aGlzLm5vcm1hbGl6ZXI9bn1idWlsZFN0eWxlcyh0LGUpe2NvbnN0IG49e30sbz1tUCh0aGlzLmRlZmF1bHRQYXJhbXMpO3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChlPT57Y29uc3Qgbj10W2VdO251bGwhPW4mJihvW2VdPW4pfSkpLHRoaXMuc3R5bGVzLnN0eWxlcy5mb3JFYWNoKCh0PT57aWYoInN0cmluZyIhPXR5cGVvZiB0KXtjb25zdCBpPXQ7T2JqZWN0LmtleXMoaSkuZm9yRWFjaCgodD0+e2xldCBhPWlbdF07YS5sZW5ndGg+MSYmKGE9TVAoYSxvLGUpKTtjb25zdCByPXRoaXMubm9ybWFsaXplci5ub3JtYWxpemVQcm9wZXJ0eU5hbWUodCxlKTthPXRoaXMubm9ybWFsaXplci5ub3JtYWxpemVTdHlsZVZhbHVlKHQscixhLGUpLG5bcl09YX0pKX19KSksbn19Y2xhc3Mgc3d7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMubmFtZT10LHRoaXMuYXN0PWUsdGhpcy5fbm9ybWFsaXplcj1uLHRoaXMudHJhbnNpdGlvbkZhY3Rvcmllcz1bXSx0aGlzLnN0YXRlcz17fSxlLnN0YXRlcy5mb3JFYWNoKCh0PT57dGhpcy5zdGF0ZXNbdC5uYW1lXT1uZXcgcncodC5zdHlsZSx0Lm9wdGlvbnMmJnQub3B0aW9ucy5wYXJhbXN8fHt9LG4pfSkpLGx3KHRoaXMuc3RhdGVzLCJ0cnVlIiwiMSIpLGx3KHRoaXMuc3RhdGVzLCJmYWxzZSIsIjAiKSxlLnRyYW5zaXRpb25zLmZvckVhY2goKGU9Pnt0aGlzLnRyYW5zaXRpb25GYWN0b3JpZXMucHVzaChuZXcgYXcodCxlLHRoaXMuc3RhdGVzKSl9KSksdGhpcy5mYWxsYmFja1RyYW5zaXRpb249KGZ1bmN0aW9uIG8odCxlLG4pe3JldHVybiBuZXcgYXcodCx7dHlwZToxLGFuaW1hdGlvbjp7dHlwZToyLHN0ZXBzOltdLG9wdGlvbnM6bnVsbH0sbWF0Y2hlcnM6Wyh0LGUpPT4hMF0sb3B0aW9uczpudWxsLHF1ZXJ5Q291bnQ6MCxkZXBDb3VudDowfSxlKX0pKHQsdGhpcy5zdGF0ZXMpfWdldCBjb250YWluc1F1ZXJpZXMoKXtyZXR1cm4gdGhpcy5hc3QucXVlcnlDb3VudD4wfW1hdGNoVHJhbnNpdGlvbih0LGUsbixvKXtyZXR1cm4gdGhpcy50cmFuc2l0aW9uRmFjdG9yaWVzLmZpbmQoKGk9PmkubWF0Y2godCxlLG4sbykpKXx8bnVsbH1tYXRjaFN0eWxlcyh0LGUsbil7cmV0dXJuIHRoaXMuZmFsbGJhY2tUcmFuc2l0aW9uLmJ1aWxkU3R5bGVzKHQsZSxuKX19ZnVuY3Rpb24gbHcodCxlLG4pe3QuaGFzT3duUHJvcGVydHkoZSk/dC5oYXNPd25Qcm9wZXJ0eShuKXx8KHRbbl09dFtlXSk6dC5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbZV09dFtuXSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IGN3PW5ldyBVUDtjbGFzcyBkd3tjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5ib2R5Tm9kZT10LHRoaXMuX2RyaXZlcj1lLHRoaXMuX25vcm1hbGl6ZXI9bix0aGlzLl9hbmltYXRpb25zPXt9LHRoaXMuX3BsYXllcnNCeUlkPXt9LHRoaXMucGxheWVycz1bXX1yZWdpc3Rlcih0LGUpe2NvbnN0IG49W10sbz1JUCh0aGlzLl9kcml2ZXIsZSxuKTtpZihuLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBidWlsZCB0aGUgYW5pbWF0aW9uIGR1ZSB0byB0aGUgZm9sbG93aW5nIGVycm9yczogJHtuLmpvaW4oIlxuIil9YCk7dGhpcy5fYW5pbWF0aW9uc1t0XT1vfV9idWlsZFBsYXllcih0LGUsbil7Y29uc3Qgbz10LmVsZW1lbnQsaT1GTygwLHRoaXMuX25vcm1hbGl6ZXIsMCx0LmtleWZyYW1lcyxlLG4pO3JldHVybiB0aGlzLl9kcml2ZXIuYW5pbWF0ZShvLGksdC5kdXJhdGlvbix0LmRlbGF5LHQuZWFzaW5nLFtdLCEwKX1jcmVhdGUodCxlLG49e30pe2NvbnN0IG89W10saT10aGlzLl9hbmltYXRpb25zW3RdO2xldCBhO2NvbnN0IHI9bmV3IE1hcDtpZihpPyhhPVlQKHRoaXMuX2RyaXZlcixlLGksb1AsaVAse30se30sbixjdyxvKSxhLmZvckVhY2goKHQ9Pntjb25zdCBlPWpPKHIsdC5lbGVtZW50LHt9KTt0LnBvc3RTdHlsZVByb3BzLmZvckVhY2goKHQ9PmVbdF09bnVsbCkpfSkpKTooby5wdXNoKCJUaGUgcmVxdWVzdGVkIGFuaW1hdGlvbiBkb2Vzbid0IGV4aXN0IG9yIGhhcyBhbHJlYWR5IGJlZW4gZGVzdHJveWVkIiksYT1bXSksby5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gY3JlYXRlIHRoZSBhbmltYXRpb24gZHVlIHRvIHRoZSBmb2xsb3dpbmcgZXJyb3JzOiAke28uam9pbigiXG4iKX1gKTtyLmZvckVhY2goKCh0LGUpPT57T2JqZWN0LmtleXModCkuZm9yRWFjaCgobj0+e3Rbbl09dGhpcy5fZHJpdmVyLmNvbXB1dGVTdHlsZShlLG4sdk8pfSkpfSkpO2NvbnN0IHM9SE8oYS5tYXAoKHQ9Pntjb25zdCBlPXIuZ2V0KHQuZWxlbWVudCk7cmV0dXJuIHRoaXMuX2J1aWxkUGxheWVyKHQse30sZSl9KSkpO3JldHVybiB0aGlzLl9wbGF5ZXJzQnlJZFt0XT1zLHMub25EZXN0cm95KCgoKT0+dGhpcy5kZXN0cm95KHQpKSksdGhpcy5wbGF5ZXJzLnB1c2gocyksc31kZXN0cm95KHQpe2NvbnN0IGU9dGhpcy5fZ2V0UGxheWVyKHQpO2UuZGVzdHJveSgpLGRlbGV0ZSB0aGlzLl9wbGF5ZXJzQnlJZFt0XTtjb25zdCBuPXRoaXMucGxheWVycy5pbmRleE9mKGUpO24+PTAmJnRoaXMucGxheWVycy5zcGxpY2UobiwxKX1fZ2V0UGxheWVyKHQpe2NvbnN0IGU9dGhpcy5fcGxheWVyc0J5SWRbdF07aWYoIWUpdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gZmluZCB0aGUgdGltZWxpbmUgcGxheWVyIHJlZmVyZW5jZWQgYnkgJHt0fWApO3JldHVybiBlfWxpc3Rlbih0LGUsbixvKXtjb25zdCBpPVZPKGUsIiIsIiIsIiIpO3JldHVybiBMTyh0aGlzLl9nZXRQbGF5ZXIodCksbixpLG8pLCgpPT57fX1jb21tYW5kKHQsZSxuLG8pe2lmKCJyZWdpc3RlciI9PW4pcmV0dXJuIHZvaWQgdGhpcy5yZWdpc3Rlcih0LG9bMF0pO2lmKCJjcmVhdGUiPT1uKXtyZXR1cm4gdm9pZCB0aGlzLmNyZWF0ZSh0LGUsb1swXXx8e30pfWNvbnN0IGk9dGhpcy5fZ2V0UGxheWVyKHQpO3N3aXRjaChuKXtjYXNlInBsYXkiOmkucGxheSgpO2JyZWFrO2Nhc2UicGF1c2UiOmkucGF1c2UoKTticmVhaztjYXNlInJlc2V0IjppLnJlc2V0KCk7YnJlYWs7Y2FzZSJyZXN0YXJ0IjppLnJlc3RhcnQoKTticmVhaztjYXNlImZpbmlzaCI6aS5maW5pc2goKTticmVhaztjYXNlImluaXQiOmkuaW5pdCgpO2JyZWFrO2Nhc2Uic2V0UG9zaXRpb24iOmkuc2V0UG9zaXRpb24ocGFyc2VGbG9hdChvWzBdKSk7YnJlYWs7Y2FzZSJkZXN0cm95Ijp0aGlzLmRlc3Ryb3kodCl9fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgcHc9Im5nLWFuaW1hdGUtcXVldWVkIixtdz0ibmctYW5pbWF0ZS1kaXNhYmxlZCIsZnc9Ii5uZy1hbmltYXRlLWRpc2FibGVkIix1dz1bXSxndz17bmFtZXNwYWNlSWQ6IiIsc2V0Rm9yUmVtb3ZhbDohMSxzZXRGb3JNb3ZlOiExLGhhc0FuaW1hdGlvbjohMSxyZW1vdmVkQmVmb3JlUXVlcmllZDohMX0saHc9e25hbWVzcGFjZUlkOiIiLHNldEZvck1vdmU6ITEsc2V0Rm9yUmVtb3ZhbDohMSxoYXNBbmltYXRpb246ITEscmVtb3ZlZEJlZm9yZVF1ZXJpZWQ6ITB9O2NsYXNzIGJ3e2NvbnN0cnVjdG9yKHQsZT0iIil7dGhpcy5uYW1lc3BhY2VJZD1lO2NvbnN0IG49dCYmdC5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKTtpZih0aGlzLnZhbHVlPShmdW5jdGlvbiBvKHQpe3JldHVybiBudWxsIT10P3Q6bnVsbH0pKG4/dC52YWx1ZTp0KSxuKXtjb25zdCBlPW1QKHQpO2RlbGV0ZSBlLnZhbHVlLHRoaXMub3B0aW9ucz1lfWVsc2UgdGhpcy5vcHRpb25zPXt9O3RoaXMub3B0aW9ucy5wYXJhbXN8fCh0aGlzLm9wdGlvbnMucGFyYW1zPXt9KX1nZXQgcGFyYW1zKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5wYXJhbXN9YWJzb3JiT3B0aW9ucyh0KXtjb25zdCBlPXQucGFyYW1zO2lmKGUpe2NvbnN0IHQ9dGhpcy5vcHRpb25zLnBhcmFtcztPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChuPT57bnVsbD09dFtuXSYmKHRbbl09ZVtuXSl9KSl9fX1jb25zdCB5dz0idm9pZCIsX3c9bmV3IGJ3KHl3KTtjbGFzcyBDd3tjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5pZD10LHRoaXMuaG9zdEVsZW1lbnQ9ZSx0aGlzLl9lbmdpbmU9bix0aGlzLnBsYXllcnM9W10sdGhpcy5fdHJpZ2dlcnM9e30sdGhpcy5fcXVldWU9W10sdGhpcy5fZWxlbWVudExpc3RlbmVycz1uZXcgTWFwLHRoaXMuX2hvc3RDbGFzc05hbWU9Im5nLXRucy0iK3Qsa3coZSx0aGlzLl9ob3N0Q2xhc3NOYW1lKX1saXN0ZW4odCxlLG4sbyl7aWYoIXRoaXMuX3RyaWdnZXJzLmhhc093blByb3BlcnR5KGUpKXRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGxpc3RlbiBvbiB0aGUgYW5pbWF0aW9uIHRyaWdnZXIgZXZlbnQgIiR7bn0iIGJlY2F1c2UgdGhlIGFuaW1hdGlvbiB0cmlnZ2VyICIke2V9IiBkb2Vzbid0IGV4aXN0IWApO2lmKG51bGw9PW58fDA9PW4ubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGxpc3RlbiBvbiB0aGUgYW5pbWF0aW9uIHRyaWdnZXIgIiR7ZX0iIGJlY2F1c2UgdGhlIHByb3ZpZGVkIGV2ZW50IGlzIHVuZGVmaW5lZCFgKTtpZighKGZ1bmN0aW9uIGkodCl7cmV0dXJuInN0YXJ0Ij09dHx8ImRvbmUiPT10fSkobikpdGhyb3cgbmV3IEVycm9yKGBUaGUgcHJvdmlkZWQgYW5pbWF0aW9uIHRyaWdnZXIgZXZlbnQgIiR7bn0iIGZvciB0aGUgYW5pbWF0aW9uIHRyaWdnZXIgIiR7ZX0iIGlzIG5vdCBzdXBwb3J0ZWQhYCk7Y29uc3QgYT1qTyh0aGlzLl9lbGVtZW50TGlzdGVuZXJzLHQsW10pLHI9e25hbWU6ZSxwaGFzZTpuLGNhbGxiYWNrOm99O2EucHVzaChyKTtjb25zdCBzPWpPKHRoaXMuX2VuZ2luZS5zdGF0ZXNCeUVsZW1lbnQsdCx7fSk7cmV0dXJuIHMuaGFzT3duUHJvcGVydHkoZSl8fChrdyh0LGFQKSxrdyh0LCJuZy10cmlnZ2VyLSIrZSksc1tlXT1fdyksKCk9Pnt0aGlzLl9lbmdpbmUuYWZ0ZXJGbHVzaCgoKCk9Pntjb25zdCB0PWEuaW5kZXhPZihyKTt0Pj0wJiZhLnNwbGljZSh0LDEpLHRoaXMuX3RyaWdnZXJzW2VdfHxkZWxldGUgc1tlXX0pKX19cmVnaXN0ZXIodCxlKXtyZXR1cm4hdGhpcy5fdHJpZ2dlcnNbdF0mJih0aGlzLl90cmlnZ2Vyc1t0XT1lLCEwKX1fZ2V0VHJpZ2dlcih0KXtjb25zdCBlPXRoaXMuX3RyaWdnZXJzW3RdO2lmKCFlKXRocm93IG5ldyBFcnJvcihgVGhlIHByb3ZpZGVkIGFuaW1hdGlvbiB0cmlnZ2VyICIke3R9IiBoYXMgbm90IGJlZW4gcmVnaXN0ZXJlZCFgKTtyZXR1cm4gZX10cmlnZ2VyKHQsZSxuLG89ITApe2NvbnN0IGk9dGhpcy5fZ2V0VHJpZ2dlcihlKSxhPW5ldyB2dyh0aGlzLmlkLGUsdCk7bGV0IHI9dGhpcy5fZW5naW5lLnN0YXRlc0J5RWxlbWVudC5nZXQodCk7cnx8KGt3KHQsYVApLGt3KHQsIm5nLXRyaWdnZXItIitlKSx0aGlzLl9lbmdpbmUuc3RhdGVzQnlFbGVtZW50LnNldCh0LHI9e30pKTtsZXQgcz1yW2VdO2NvbnN0IGw9bmV3IGJ3KG4sdGhpcy5pZCk7IShuJiZuLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpKSYmcyYmbC5hYnNvcmJPcHRpb25zKHMub3B0aW9ucykscltlXT1sLHN8fChzPV93KTtpZighKGwudmFsdWU9PT15dykmJnMudmFsdWU9PT1sLnZhbHVlKXtpZighKGZ1bmN0aW9uIGUodCxuKXtjb25zdCBvPU9iamVjdC5rZXlzKHQpLGk9T2JqZWN0LmtleXMobik7aWYoby5sZW5ndGghPWkubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgZT0wO2U8by5sZW5ndGg7ZSsrKXtjb25zdCBpPW9bZV07aWYoIW4uaGFzT3duUHJvcGVydHkoaSl8fHRbaV0hPT1uW2ldKXJldHVybiExfXJldHVybiEwfSkocy5wYXJhbXMsbC5wYXJhbXMpKXtjb25zdCBlPVtdLG49aS5tYXRjaFN0eWxlcyhzLnZhbHVlLHMucGFyYW1zLGUpLG89aS5tYXRjaFN0eWxlcyhsLnZhbHVlLGwucGFyYW1zLGUpO2UubGVuZ3RoP3RoaXMuX2VuZ2luZS5yZXBvcnRFcnJvcihlKTp0aGlzLl9lbmdpbmUuYWZ0ZXJGbHVzaCgoKCk9PntiUCh0LG4pLGhQKHQsbyl9KSl9cmV0dXJufWNvbnN0IGM9ak8odGhpcy5fZW5naW5lLnBsYXllcnNCeUVsZW1lbnQsdCxbXSk7Yy5mb3JFYWNoKCh0PT57dC5uYW1lc3BhY2VJZD09dGhpcy5pZCYmdC50cmlnZ2VyTmFtZT09ZSYmdC5xdWV1ZWQmJnQuZGVzdHJveSgpfSkpO2xldCBkPWkubWF0Y2hUcmFuc2l0aW9uKHMudmFsdWUsbC52YWx1ZSx0LGwucGFyYW1zKSxwPSExO2lmKCFkKXtpZighbylyZXR1cm47ZD1pLmZhbGxiYWNrVHJhbnNpdGlvbixwPSEwfXJldHVybiB0aGlzLl9lbmdpbmUudG90YWxRdWV1ZWRQbGF5ZXJzKyssdGhpcy5fcXVldWUucHVzaCh7ZWxlbWVudDp0LHRyaWdnZXJOYW1lOmUsdHJhbnNpdGlvbjpkLGZyb21TdGF0ZTpzLHRvU3RhdGU6bCxwbGF5ZXI6YSxpc0ZhbGxiYWNrVHJhbnNpdGlvbjpwfSkscHx8KGt3KHQscHcpLGEub25TdGFydCgoKCk9PntTdyh0LHB3KX0pKSksYS5vbkRvbmUoKCgpPT57bGV0IGU9dGhpcy5wbGF5ZXJzLmluZGV4T2YoYSk7ZT49MCYmdGhpcy5wbGF5ZXJzLnNwbGljZShlLDEpO2NvbnN0IG49dGhpcy5fZW5naW5lLnBsYXllcnNCeUVsZW1lbnQuZ2V0KHQpO2lmKG4pe2xldCB0PW4uaW5kZXhPZihhKTt0Pj0wJiZuLnNwbGljZSh0LDEpfX0pKSx0aGlzLnBsYXllcnMucHVzaChhKSxjLnB1c2goYSksYX1kZXJlZ2lzdGVyKHQpe2RlbGV0ZSB0aGlzLl90cmlnZ2Vyc1t0XSx0aGlzLl9lbmdpbmUuc3RhdGVzQnlFbGVtZW50LmZvckVhY2goKChlLG4pPT57ZGVsZXRlIGVbdF19KSksdGhpcy5fZWxlbWVudExpc3RlbmVycy5mb3JFYWNoKCgoZSxuKT0+e3RoaXMuX2VsZW1lbnRMaXN0ZW5lcnMuc2V0KG4sZS5maWx0ZXIoKGU9PmUubmFtZSE9dCkpKX0pKX1jbGVhckVsZW1lbnRDYWNoZSh0KXt0aGlzLl9lbmdpbmUuc3RhdGVzQnlFbGVtZW50LmRlbGV0ZSh0KSx0aGlzLl9lbGVtZW50TGlzdGVuZXJzLmRlbGV0ZSh0KTtjb25zdCBlPXRoaXMuX2VuZ2luZS5wbGF5ZXJzQnlFbGVtZW50LmdldCh0KTtlJiYoZS5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX2VuZ2luZS5wbGF5ZXJzQnlFbGVtZW50LmRlbGV0ZSh0KSl9X3NpZ25hbFJlbW92YWxGb3JJbm5lclRyaWdnZXJzKHQsZSl7Y29uc3Qgbj10aGlzLl9lbmdpbmUuZHJpdmVyLnF1ZXJ5KHQsclAsITApO24uZm9yRWFjaCgodD0+e2lmKHQuX19uZ19yZW1vdmVkKXJldHVybjtjb25zdCBuPXRoaXMuX2VuZ2luZS5mZXRjaE5hbWVzcGFjZXNCeUVsZW1lbnQodCk7bi5zaXplP24uZm9yRWFjaCgobj0+bi50cmlnZ2VyTGVhdmVBbmltYXRpb24odCxlLCExLCEwKSkpOnRoaXMuY2xlYXJFbGVtZW50Q2FjaGUodCl9KSksdGhpcy5fZW5naW5lLmFmdGVyRmx1c2hBbmltYXRpb25zRG9uZSgoKCk9Pm4uZm9yRWFjaCgodD0+dGhpcy5jbGVhckVsZW1lbnRDYWNoZSh0KSkpKSl9dHJpZ2dlckxlYXZlQW5pbWF0aW9uKHQsZSxuLG8pe2NvbnN0IGk9dGhpcy5fZW5naW5lLnN0YXRlc0J5RWxlbWVudC5nZXQodCk7aWYoaSl7Y29uc3QgYT1bXTtpZihPYmplY3Qua2V5cyhpKS5mb3JFYWNoKChlPT57aWYodGhpcy5fdHJpZ2dlcnNbZV0pe2NvbnN0IG49dGhpcy50cmlnZ2VyKHQsZSx5dyxvKTtuJiZhLnB1c2gobil9fSkpLGEubGVuZ3RoKXJldHVybiB0aGlzLl9lbmdpbmUubWFya0VsZW1lbnRBc1JlbW92ZWQodGhpcy5pZCx0LCEwLGUpLG4mJkhPKGEpLm9uRG9uZSgoKCk9PnRoaXMuX2VuZ2luZS5wcm9jZXNzTGVhdmVOb2RlKHQpKSksITB9cmV0dXJuITF9cHJlcGFyZUxlYXZlQW5pbWF0aW9uTGlzdGVuZXJzKHQpe2NvbnN0IGU9dGhpcy5fZWxlbWVudExpc3RlbmVycy5nZXQodCksbj10aGlzLl9lbmdpbmUuc3RhdGVzQnlFbGVtZW50LmdldCh0KTtpZihlJiZuKXtjb25zdCBvPW5ldyBTZXQ7ZS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLm5hbWU7aWYoby5oYXMoaSkpcmV0dXJuO28uYWRkKGkpO2NvbnN0IGE9dGhpcy5fdHJpZ2dlcnNbaV0uZmFsbGJhY2tUcmFuc2l0aW9uLHI9bltpXXx8X3cscz1uZXcgYncoeXcpLGw9bmV3IHZ3KHRoaXMuaWQsaSx0KTt0aGlzLl9lbmdpbmUudG90YWxRdWV1ZWRQbGF5ZXJzKyssdGhpcy5fcXVldWUucHVzaCh7ZWxlbWVudDp0LHRyaWdnZXJOYW1lOmksdHJhbnNpdGlvbjphLGZyb21TdGF0ZTpyLHRvU3RhdGU6cyxwbGF5ZXI6bCxpc0ZhbGxiYWNrVHJhbnNpdGlvbjohMH0pfSkpfX1yZW1vdmVOb2RlKHQsZSl7Y29uc3Qgbj10aGlzLl9lbmdpbmU7aWYodC5jaGlsZEVsZW1lbnRDb3VudCYmdGhpcy5fc2lnbmFsUmVtb3ZhbEZvcklubmVyVHJpZ2dlcnModCxlKSx0aGlzLnRyaWdnZXJMZWF2ZUFuaW1hdGlvbih0LGUsITApKXJldHVybjtsZXQgbz0hMTtpZihuLnRvdGFsQW5pbWF0aW9ucyl7Y29uc3QgZT1uLnBsYXllcnMubGVuZ3RoP24ucGxheWVyc0J5UXVlcmllZEVsZW1lbnQuZ2V0KHQpOltdO2lmKGUmJmUubGVuZ3RoKW89ITA7ZWxzZXtsZXQgZT10O2Zvcig7ZT1lLnBhcmVudE5vZGU7KXtpZihuLnN0YXRlc0J5RWxlbWVudC5nZXQoZSkpe289ITA7YnJlYWt9fX19aWYodGhpcy5wcmVwYXJlTGVhdmVBbmltYXRpb25MaXN0ZW5lcnModCksbyluLm1hcmtFbGVtZW50QXNSZW1vdmVkKHRoaXMuaWQsdCwhMSxlKTtlbHNle2NvbnN0IG89dC5fX25nX3JlbW92ZWQ7byYmbyE9PWd3fHwobi5hZnRlckZsdXNoKCgoKT0+dGhpcy5jbGVhckVsZW1lbnRDYWNoZSh0KSkpLG4uZGVzdHJveUlubmVyQW5pbWF0aW9ucyh0KSxuLl9vblJlbW92YWxDb21wbGV0ZSh0LGUpKX19aW5zZXJ0Tm9kZSh0LGUpe2t3KHQsdGhpcy5faG9zdENsYXNzTmFtZSl9ZHJhaW5RdWV1ZWRUcmFuc2l0aW9ucyh0KXtjb25zdCBlPVtdO3JldHVybiB0aGlzLl9xdWV1ZS5mb3JFYWNoKChuPT57Y29uc3Qgbz1uLnBsYXllcjtpZihvLmRlc3Ryb3llZClyZXR1cm47Y29uc3QgaT1uLmVsZW1lbnQsYT10aGlzLl9lbGVtZW50TGlzdGVuZXJzLmdldChpKTthJiZhLmZvckVhY2goKGU9PntpZihlLm5hbWU9PW4udHJpZ2dlck5hbWUpe2NvbnN0IG89Vk8oaSxuLnRyaWdnZXJOYW1lLG4uZnJvbVN0YXRlLnZhbHVlLG4udG9TdGF0ZS52YWx1ZSk7by5fZGF0YT10LExPKG4ucGxheWVyLGUucGhhc2UsbyxlLmNhbGxiYWNrKX19KSksby5tYXJrZWRGb3JEZXN0cm95P3RoaXMuX2VuZ2luZS5hZnRlckZsdXNoKCgoKT0+e28uZGVzdHJveSgpfSkpOmUucHVzaChuKX0pKSx0aGlzLl9xdWV1ZT1bXSxlLnNvcnQoKCh0LGUpPT57Y29uc3Qgbj10LnRyYW5zaXRpb24uYXN0LmRlcENvdW50LG89ZS50cmFuc2l0aW9uLmFzdC5kZXBDb3VudDtyZXR1cm4gMD09bnx8MD09bz9uLW86dGhpcy5fZW5naW5lLmRyaXZlci5jb250YWluc0VsZW1lbnQodC5lbGVtZW50LGUuZWxlbWVudCk/MTotMX0pKX1kZXN0cm95KHQpe3RoaXMucGxheWVycy5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX3NpZ25hbFJlbW92YWxGb3JJbm5lclRyaWdnZXJzKHRoaXMuaG9zdEVsZW1lbnQsdCl9ZWxlbWVudENvbnRhaW5zRGF0YSh0KXtsZXQgZT0hMTtyZXR1cm4gdGhpcy5fZWxlbWVudExpc3RlbmVycy5oYXModCkmJihlPSEwKSxlPSEhdGhpcy5fcXVldWUuZmluZCgoZT0+ZS5lbGVtZW50PT09dCkpfHxlLGV9fWNsYXNzIE13e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmJvZHlOb2RlPXQsdGhpcy5kcml2ZXI9ZSx0aGlzLl9ub3JtYWxpemVyPW4sdGhpcy5wbGF5ZXJzPVtdLHRoaXMubmV3SG9zdEVsZW1lbnRzPW5ldyBNYXAsdGhpcy5wbGF5ZXJzQnlFbGVtZW50PW5ldyBNYXAsdGhpcy5wbGF5ZXJzQnlRdWVyaWVkRWxlbWVudD1uZXcgTWFwLHRoaXMuc3RhdGVzQnlFbGVtZW50PW5ldyBNYXAsdGhpcy5kaXNhYmxlZE5vZGVzPW5ldyBTZXQsdGhpcy50b3RhbEFuaW1hdGlvbnM9MCx0aGlzLnRvdGFsUXVldWVkUGxheWVycz0wLHRoaXMuX25hbWVzcGFjZUxvb2t1cD17fSx0aGlzLl9uYW1lc3BhY2VMaXN0PVtdLHRoaXMuX2ZsdXNoRm5zPVtdLHRoaXMuX3doZW5RdWlldEZucz1bXSx0aGlzLm5hbWVzcGFjZXNCeUhvc3RFbGVtZW50PW5ldyBNYXAsdGhpcy5jb2xsZWN0ZWRFbnRlckVsZW1lbnRzPVtdLHRoaXMuY29sbGVjdGVkTGVhdmVFbGVtZW50cz1bXSx0aGlzLm9uUmVtb3ZhbENvbXBsZXRlPSh0LGUpPT57fX1fb25SZW1vdmFsQ29tcGxldGUodCxlKXt0aGlzLm9uUmVtb3ZhbENvbXBsZXRlKHQsZSl9Z2V0IHF1ZXVlZFBsYXllcnMoKXtjb25zdCB0PVtdO3JldHVybiB0aGlzLl9uYW1lc3BhY2VMaXN0LmZvckVhY2goKGU9PntlLnBsYXllcnMuZm9yRWFjaCgoZT0+e2UucXVldWVkJiZ0LnB1c2goZSl9KSl9KSksdH1jcmVhdGVOYW1lc3BhY2UodCxlKXtjb25zdCBuPW5ldyBDdyh0LGUsdGhpcyk7cmV0dXJuIHRoaXMuYm9keU5vZGUmJnRoaXMuZHJpdmVyLmNvbnRhaW5zRWxlbWVudCh0aGlzLmJvZHlOb2RlLGUpP3RoaXMuX2JhbGFuY2VOYW1lc3BhY2VMaXN0KG4sZSk6KHRoaXMubmV3SG9zdEVsZW1lbnRzLnNldChlLG4pLHRoaXMuY29sbGVjdEVudGVyRWxlbWVudChlKSksdGhpcy5fbmFtZXNwYWNlTG9va3VwW3RdPW59X2JhbGFuY2VOYW1lc3BhY2VMaXN0KHQsZSl7Y29uc3Qgbj10aGlzLl9uYW1lc3BhY2VMaXN0Lmxlbmd0aC0xO2lmKG4+PTApe2xldCBvPSExO2ZvcihsZXQgaT1uO2k+PTA7aS0tKXtpZih0aGlzLmRyaXZlci5jb250YWluc0VsZW1lbnQodGhpcy5fbmFtZXNwYWNlTGlzdFtpXS5ob3N0RWxlbWVudCxlKSl7dGhpcy5fbmFtZXNwYWNlTGlzdC5zcGxpY2UoaSsxLDAsdCksbz0hMDticmVha319b3x8dGhpcy5fbmFtZXNwYWNlTGlzdC5zcGxpY2UoMCwwLHQpfWVsc2UgdGhpcy5fbmFtZXNwYWNlTGlzdC5wdXNoKHQpO3JldHVybiB0aGlzLm5hbWVzcGFjZXNCeUhvc3RFbGVtZW50LnNldChlLHQpLHR9cmVnaXN0ZXIodCxlKXtsZXQgbj10aGlzLl9uYW1lc3BhY2VMb29rdXBbdF07cmV0dXJuIG58fChuPXRoaXMuY3JlYXRlTmFtZXNwYWNlKHQsZSkpLG59cmVnaXN0ZXJUcmlnZ2VyKHQsZSxuKXtsZXQgbz10aGlzLl9uYW1lc3BhY2VMb29rdXBbdF07byYmby5yZWdpc3RlcihlLG4pJiZ0aGlzLnRvdGFsQW5pbWF0aW9ucysrfWRlc3Ryb3kodCxlKXtpZighdClyZXR1cm47Y29uc3Qgbj10aGlzLl9mZXRjaE5hbWVzcGFjZSh0KTt0aGlzLmFmdGVyRmx1c2goKCgpPT57dGhpcy5uYW1lc3BhY2VzQnlIb3N0RWxlbWVudC5kZWxldGUobi5ob3N0RWxlbWVudCksZGVsZXRlIHRoaXMuX25hbWVzcGFjZUxvb2t1cFt0XTtjb25zdCBlPXRoaXMuX25hbWVzcGFjZUxpc3QuaW5kZXhPZihuKTtlPj0wJiZ0aGlzLl9uYW1lc3BhY2VMaXN0LnNwbGljZShlLDEpfSkpLHRoaXMuYWZ0ZXJGbHVzaEFuaW1hdGlvbnNEb25lKCgoKT0+bi5kZXN0cm95KGUpKSl9X2ZldGNoTmFtZXNwYWNlKHQpe3JldHVybiB0aGlzLl9uYW1lc3BhY2VMb29rdXBbdF19ZmV0Y2hOYW1lc3BhY2VzQnlFbGVtZW50KHQpe2NvbnN0IGU9bmV3IFNldCxuPXRoaXMuc3RhdGVzQnlFbGVtZW50LmdldCh0KTtpZihuKXtjb25zdCB0PU9iamVjdC5rZXlzKG4pO2ZvcihsZXQgbz0wO288dC5sZW5ndGg7bysrKXtjb25zdCBpPW5bdFtvXV0ubmFtZXNwYWNlSWQ7aWYoaSl7Y29uc3QgdD10aGlzLl9mZXRjaE5hbWVzcGFjZShpKTt0JiZlLmFkZCh0KX19fXJldHVybiBlfXRyaWdnZXIodCxlLG4sbyl7aWYoeHcoZSkpe2NvbnN0IGk9dGhpcy5fZmV0Y2hOYW1lc3BhY2UodCk7aWYoaSlyZXR1cm4gaS50cmlnZ2VyKGUsbixvKSwhMH1yZXR1cm4hMX1pbnNlcnROb2RlKHQsZSxuLG8pe2lmKCF4dyhlKSlyZXR1cm47Y29uc3QgaT1lLl9fbmdfcmVtb3ZlZDtpZihpJiZpLnNldEZvclJlbW92YWwpe2kuc2V0Rm9yUmVtb3ZhbD0hMSxpLnNldEZvck1vdmU9ITA7Y29uc3QgdD10aGlzLmNvbGxlY3RlZExlYXZlRWxlbWVudHMuaW5kZXhPZihlKTt0Pj0wJiZ0aGlzLmNvbGxlY3RlZExlYXZlRWxlbWVudHMuc3BsaWNlKHQsMSl9aWYodCl7Y29uc3Qgbz10aGlzLl9mZXRjaE5hbWVzcGFjZSh0KTtvJiZvLmluc2VydE5vZGUoZSxuKX1vJiZ0aGlzLmNvbGxlY3RFbnRlckVsZW1lbnQoZSl9Y29sbGVjdEVudGVyRWxlbWVudCh0KXt0aGlzLmNvbGxlY3RlZEVudGVyRWxlbWVudHMucHVzaCh0KX1tYXJrRWxlbWVudEFzRGlzYWJsZWQodCxlKXtlP3RoaXMuZGlzYWJsZWROb2Rlcy5oYXModCl8fCh0aGlzLmRpc2FibGVkTm9kZXMuYWRkKHQpLGt3KHQsbXcpKTp0aGlzLmRpc2FibGVkTm9kZXMuaGFzKHQpJiYodGhpcy5kaXNhYmxlZE5vZGVzLmRlbGV0ZSh0KSxTdyh0LG13KSl9cmVtb3ZlTm9kZSh0LGUsbixvKXtpZih4dyhlKSl7Y29uc3QgaT10P3RoaXMuX2ZldGNoTmFtZXNwYWNlKHQpOm51bGw7aWYoaT9pLnJlbW92ZU5vZGUoZSxvKTp0aGlzLm1hcmtFbGVtZW50QXNSZW1vdmVkKHQsZSwhMSxvKSxuKXtjb25zdCBuPXRoaXMubmFtZXNwYWNlc0J5SG9zdEVsZW1lbnQuZ2V0KGUpO24mJm4uaWQhPT10JiZuLnJlbW92ZU5vZGUoZSxvKX19ZWxzZSB0aGlzLl9vblJlbW92YWxDb21wbGV0ZShlLG8pfW1hcmtFbGVtZW50QXNSZW1vdmVkKHQsZSxuLG8pe3RoaXMuY29sbGVjdGVkTGVhdmVFbGVtZW50cy5wdXNoKGUpLGUuX19uZ19yZW1vdmVkPXtuYW1lc3BhY2VJZDp0LHNldEZvclJlbW92YWw6byxoYXNBbmltYXRpb246bixyZW1vdmVkQmVmb3JlUXVlcmllZDohMX19bGlzdGVuKHQsZSxuLG8saSl7cmV0dXJuIHh3KGUpP3RoaXMuX2ZldGNoTmFtZXNwYWNlKHQpLmxpc3RlbihlLG4sbyxpKTooKT0+e319X2J1aWxkSW5zdHJ1Y3Rpb24odCxlLG4sbyxpKXtyZXR1cm4gdC50cmFuc2l0aW9uLmJ1aWxkKHRoaXMuZHJpdmVyLHQuZWxlbWVudCx0LmZyb21TdGF0ZS52YWx1ZSx0LnRvU3RhdGUudmFsdWUsbixvLHQuZnJvbVN0YXRlLm9wdGlvbnMsdC50b1N0YXRlLm9wdGlvbnMsZSxpKX1kZXN0cm95SW5uZXJBbmltYXRpb25zKHQpe2xldCBlPXRoaXMuZHJpdmVyLnF1ZXJ5KHQsclAsITApO2UuZm9yRWFjaCgodD0+dGhpcy5kZXN0cm95QWN0aXZlQW5pbWF0aW9uc0ZvckVsZW1lbnQodCkpKSwwIT10aGlzLnBsYXllcnNCeVF1ZXJpZWRFbGVtZW50LnNpemUmJihlPXRoaXMuZHJpdmVyLnF1ZXJ5KHQsbFAsITApLGUuZm9yRWFjaCgodD0+dGhpcy5maW5pc2hBY3RpdmVRdWVyaWVkQW5pbWF0aW9uT25FbGVtZW50KHQpKSkpfWRlc3Ryb3lBY3RpdmVBbmltYXRpb25zRm9yRWxlbWVudCh0KXtjb25zdCBlPXRoaXMucGxheWVyc0J5RWxlbWVudC5nZXQodCk7ZSYmZS5mb3JFYWNoKCh0PT57dC5xdWV1ZWQ/dC5tYXJrZWRGb3JEZXN0cm95PSEwOnQuZGVzdHJveSgpfSkpfWZpbmlzaEFjdGl2ZVF1ZXJpZWRBbmltYXRpb25PbkVsZW1lbnQodCl7Y29uc3QgZT10aGlzLnBsYXllcnNCeVF1ZXJpZWRFbGVtZW50LmdldCh0KTtlJiZlLmZvckVhY2goKHQ9PnQuZmluaXNoKCkpKX13aGVuUmVuZGVyaW5nRG9uZSgpe3JldHVybiBuZXcgUHJvbWlzZSgodD0+e2lmKHRoaXMucGxheWVycy5sZW5ndGgpcmV0dXJuIEhPKHRoaXMucGxheWVycykub25Eb25lKCgoKT0+dCgpKSk7dCgpfSkpfXByb2Nlc3NMZWF2ZU5vZGUodCl7Y29uc3QgZT10Ll9fbmdfcmVtb3ZlZDtpZihlJiZlLnNldEZvclJlbW92YWwpe2lmKHQuX19uZ19yZW1vdmVkPWd3LGUubmFtZXNwYWNlSWQpe3RoaXMuZGVzdHJveUlubmVyQW5pbWF0aW9ucyh0KTtjb25zdCBuPXRoaXMuX2ZldGNoTmFtZXNwYWNlKGUubmFtZXNwYWNlSWQpO24mJm4uY2xlYXJFbGVtZW50Q2FjaGUodCl9dGhpcy5fb25SZW1vdmFsQ29tcGxldGUodCxlLnNldEZvclJlbW92YWwpfXRoaXMuZHJpdmVyLm1hdGNoZXNFbGVtZW50KHQsZncpJiZ0aGlzLm1hcmtFbGVtZW50QXNEaXNhYmxlZCh0LCExKSx0aGlzLmRyaXZlci5xdWVyeSh0LGZ3LCEwKS5mb3JFYWNoKCh0PT57dGhpcy5tYXJrRWxlbWVudEFzRGlzYWJsZWQodCwhMSl9KSl9Zmx1c2godD0tMSl7bGV0IGU9W107aWYodGhpcy5uZXdIb3N0RWxlbWVudHMuc2l6ZSYmKHRoaXMubmV3SG9zdEVsZW1lbnRzLmZvckVhY2goKCh0LGUpPT50aGlzLl9iYWxhbmNlTmFtZXNwYWNlTGlzdCh0LGUpKSksdGhpcy5uZXdIb3N0RWxlbWVudHMuY2xlYXIoKSksdGhpcy50b3RhbEFuaW1hdGlvbnMmJnRoaXMuY29sbGVjdGVkRW50ZXJFbGVtZW50cy5sZW5ndGgpZm9yKGxldCB0PTA7dDx0aGlzLmNvbGxlY3RlZEVudGVyRWxlbWVudHMubGVuZ3RoO3QrKyl7a3codGhpcy5jb2xsZWN0ZWRFbnRlckVsZW1lbnRzW3RdLCJuZy1zdGFyLWluc2VydGVkIil9aWYodGhpcy5fbmFtZXNwYWNlTGlzdC5sZW5ndGgmJih0aGlzLnRvdGFsUXVldWVkUGxheWVyc3x8dGhpcy5jb2xsZWN0ZWRMZWF2ZUVsZW1lbnRzLmxlbmd0aCkpe2NvbnN0IG49W107dHJ5e2U9dGhpcy5fZmx1c2hBbmltYXRpb25zKG4sdCl9ZmluYWxseXtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyluW3RdKCl9fWVsc2UgZm9yKGxldCB0PTA7dDx0aGlzLmNvbGxlY3RlZExlYXZlRWxlbWVudHMubGVuZ3RoO3QrKyl7dGhpcy5wcm9jZXNzTGVhdmVOb2RlKHRoaXMuY29sbGVjdGVkTGVhdmVFbGVtZW50c1t0XSl9aWYodGhpcy50b3RhbFF1ZXVlZFBsYXllcnM9MCx0aGlzLmNvbGxlY3RlZEVudGVyRWxlbWVudHMubGVuZ3RoPTAsdGhpcy5jb2xsZWN0ZWRMZWF2ZUVsZW1lbnRzLmxlbmd0aD0wLHRoaXMuX2ZsdXNoRm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX2ZsdXNoRm5zPVtdLHRoaXMuX3doZW5RdWlldEZucy5sZW5ndGgpe2NvbnN0IHQ9dGhpcy5fd2hlblF1aWV0Rm5zO3RoaXMuX3doZW5RdWlldEZucz1bXSxlLmxlbmd0aD9ITyhlKS5vbkRvbmUoKCgpPT57dC5mb3JFYWNoKCh0PT50KCkpKX0pKTp0LmZvckVhY2goKHQ9PnQoKSkpfX1yZXBvcnRFcnJvcih0KXt0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBwcm9jZXNzIGFuaW1hdGlvbnMgZHVlIHRvIHRoZSBmb2xsb3dpbmcgZmFpbGVkIHRyaWdnZXIgdHJhbnNpdGlvbnNcbiAke3Quam9pbigiXG4iKX1gKX1fZmx1c2hBbmltYXRpb25zKHQsZSl7Y29uc3Qgbj1uZXcgVVAsbz1bXSxpPW5ldyBNYXAsYT1bXSxyPW5ldyBNYXAscz1uZXcgTWFwLGw9bmV3IE1hcCxjPW5ldyBTZXQ7dGhpcy5kaXNhYmxlZE5vZGVzLmZvckVhY2goKHQ9PntjLmFkZCh0KTtjb25zdCBlPXRoaXMuZHJpdmVyLnF1ZXJ5KHQsIi5uZy1hbmltYXRlLXF1ZXVlZCIsITApO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWMuYWRkKGVbdF0pfSkpO2NvbnN0IGQ9dGhpcy5ib2R5Tm9kZSxwPUFycmF5LmZyb20odGhpcy5zdGF0ZXNCeUVsZW1lbnQua2V5cygpKSxtPXd3KHAsdGhpcy5jb2xsZWN0ZWRFbnRlckVsZW1lbnRzKSxmPW5ldyBNYXA7bGV0IHU9MDttLmZvckVhY2goKCh0LGUpPT57Y29uc3Qgbj1vUCt1Kys7Zi5zZXQoZSxuKSx0LmZvckVhY2goKHQ9Pmt3KHQsbikpKX0pKTtjb25zdCBnPVtdLGg9bmV3IFNldCxiPW5ldyBTZXQ7Zm9yKGxldCB0PTA7dDx0aGlzLmNvbGxlY3RlZExlYXZlRWxlbWVudHMubGVuZ3RoO3QrKyl7Y29uc3QgZT10aGlzLmNvbGxlY3RlZExlYXZlRWxlbWVudHNbdF0sbj1lLl9fbmdfcmVtb3ZlZDtuJiZuLnNldEZvclJlbW92YWwmJihnLnB1c2goZSksaC5hZGQoZSksbi5oYXNBbmltYXRpb24/dGhpcy5kcml2ZXIucXVlcnkoZSwiLm5nLXN0YXItaW5zZXJ0ZWQiLCEwKS5mb3JFYWNoKCh0PT5oLmFkZCh0KSkpOmIuYWRkKGUpKX1jb25zdCB5PW5ldyBNYXAsXz13dyhwLEFycmF5LmZyb20oaCkpO18uZm9yRWFjaCgoKHQsZSk9Pntjb25zdCBuPWlQK3UrKzt5LnNldChlLG4pLHQuZm9yRWFjaCgodD0+a3codCxuKSkpfSkpLHQucHVzaCgoKCk9PnttLmZvckVhY2goKCh0LGUpPT57Y29uc3Qgbj1mLmdldChlKTt0LmZvckVhY2goKHQ9PlN3KHQsbikpKX0pKSxfLmZvckVhY2goKCh0LGUpPT57Y29uc3Qgbj15LmdldChlKTt0LmZvckVhY2goKHQ9PlN3KHQsbikpKX0pKSxnLmZvckVhY2goKHQ9Pnt0aGlzLnByb2Nlc3NMZWF2ZU5vZGUodCl9KSl9KSk7Y29uc3QgQz1bXSxNPVtdO2ZvcihsZXQgdD10aGlzLl9uYW1lc3BhY2VMaXN0Lmxlbmd0aC0xO3Q+PTA7dC0tKXt0aGlzLl9uYW1lc3BhY2VMaXN0W3RdLmRyYWluUXVldWVkVHJhbnNpdGlvbnMoZSkuZm9yRWFjaCgodD0+e2NvbnN0IGU9dC5wbGF5ZXIsaT10LmVsZW1lbnQ7aWYoQy5wdXNoKGUpLHRoaXMuY29sbGVjdGVkRW50ZXJFbGVtZW50cy5sZW5ndGgpe2NvbnN0IHQ9aS5fX25nX3JlbW92ZWQ7aWYodCYmdC5zZXRGb3JNb3ZlKXJldHVybiB2b2lkIGUuZGVzdHJveSgpfWNvbnN0IGM9IWR8fCF0aGlzLmRyaXZlci5jb250YWluc0VsZW1lbnQoZCxpKSxwPXkuZ2V0KGkpLG09Zi5nZXQoaSksdT10aGlzLl9idWlsZEluc3RydWN0aW9uKHQsbixtLHAsYyk7aWYodS5lcnJvcnMmJnUuZXJyb3JzLmxlbmd0aClyZXR1cm4gdm9pZCBNLnB1c2godSk7aWYoYylyZXR1cm4gZS5vblN0YXJ0KCgoKT0+YlAoaSx1LmZyb21TdHlsZXMpKSksZS5vbkRlc3Ryb3koKCgpPT5oUChpLHUudG9TdHlsZXMpKSksdm9pZCBvLnB1c2goZSk7aWYodC5pc0ZhbGxiYWNrVHJhbnNpdGlvbilyZXR1cm4gZS5vblN0YXJ0KCgoKT0+YlAoaSx1LmZyb21TdHlsZXMpKSksZS5vbkRlc3Ryb3koKCgpPT5oUChpLHUudG9TdHlsZXMpKSksdm9pZCBvLnB1c2goZSk7dS50aW1lbGluZXMuZm9yRWFjaCgodD0+dC5zdHJldGNoU3RhcnRpbmdLZXlmcmFtZT0hMCkpLG4uYXBwZW5kKGksdS50aW1lbGluZXMpO2EucHVzaCh7aW5zdHJ1Y3Rpb246dSxwbGF5ZXI6ZSxlbGVtZW50Oml9KSx1LnF1ZXJpZWRFbGVtZW50cy5mb3JFYWNoKCh0PT5qTyhyLHQsW10pLnB1c2goZSkpKSx1LnByZVN0eWxlUHJvcHMuZm9yRWFjaCgoKHQsZSk9Pntjb25zdCBuPU9iamVjdC5rZXlzKHQpO2lmKG4ubGVuZ3RoKXtsZXQgdD1zLmdldChlKTt0fHxzLnNldChlLHQ9bmV3IFNldCksbi5mb3JFYWNoKChlPT50LmFkZChlKSkpfX0pKSx1LnBvc3RTdHlsZVByb3BzLmZvckVhY2goKCh0LGUpPT57Y29uc3Qgbj1PYmplY3Qua2V5cyh0KTtsZXQgbz1sLmdldChlKTtvfHxsLnNldChlLG89bmV3IFNldCksbi5mb3JFYWNoKCh0PT5vLmFkZCh0KSkpfSkpfSkpfWlmKE0ubGVuZ3RoKXtjb25zdCB0PVtdO00uZm9yRWFjaCgoZT0+e3QucHVzaChgQCR7ZS50cmlnZ2VyTmFtZX0gaGFzIGZhaWxlZCBkdWUgdG86XG5gKSxlLmVycm9ycy5mb3JFYWNoKChlPT50LnB1c2goYC0gJHtlfVxuYCkpKX0pKSxDLmZvckVhY2goKHQ9PnQuZGVzdHJveSgpKSksdGhpcy5yZXBvcnRFcnJvcih0KX1jb25zdCB2PW5ldyBNYXAseD1uZXcgTWFwO2EuZm9yRWFjaCgodD0+e2NvbnN0IGU9dC5lbGVtZW50O24uaGFzKGUpJiYoeC5zZXQoZSxlKSx0aGlzLl9iZWZvcmVBbmltYXRpb25CdWlsZCh0LnBsYXllci5uYW1lc3BhY2VJZCx0Lmluc3RydWN0aW9uLHYpKX0pKSxvLmZvckVhY2goKHQ9Pntjb25zdCBlPXQuZWxlbWVudDt0aGlzLl9nZXRQcmV2aW91c1BsYXllcnMoZSwhMSx0Lm5hbWVzcGFjZUlkLHQudHJpZ2dlck5hbWUsbnVsbCkuZm9yRWFjaCgodD0+e2pPKHYsZSxbXSkucHVzaCh0KSx0LmRlc3Ryb3koKX0pKX0pKTtjb25zdCBPPWcuZmlsdGVyKCh0PT5Fdyh0LHMsbCkpKSxQPW5ldyBNYXA7UHcoUCx0aGlzLmRyaXZlcixiLGwsdk8pLmZvckVhY2goKHQ9PntFdyh0LHMsbCkmJk8ucHVzaCh0KX0pKTtjb25zdCB3PW5ldyBNYXA7bS5mb3JFYWNoKCgodCxlKT0+e1B3KHcsdGhpcy5kcml2ZXIsbmV3IFNldCh0KSxzLCIhIil9KSksTy5mb3JFYWNoKCh0PT57Y29uc3QgZT1QLmdldCh0KSxuPXcuZ2V0KHQpO1Auc2V0KHQsT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGUpLG4pKX0pKTtjb25zdCBrPVtdLFM9W10sRD17fTthLmZvckVhY2goKHQ9Pntjb25zdHtlbGVtZW50OmUscGxheWVyOmEsaW5zdHJ1Y3Rpb246cn09dDtpZihuLmhhcyhlKSl7aWYoYy5oYXMoZSkpcmV0dXJuIGEub25EZXN0cm95KCgoKT0+aFAoZSxyLnRvU3R5bGVzKSkpLGEuZGlzYWJsZWQ9ITAsYS5vdmVycmlkZVRvdGFsVGltZShyLnRvdGFsVGltZSksdm9pZCBvLnB1c2goYSk7bGV0IHQ9RDtpZih4LnNpemU+MSl7bGV0IG49ZTtjb25zdCBvPVtdO2Zvcig7bj1uLnBhcmVudE5vZGU7KXtjb25zdCBlPXguZ2V0KG4pO2lmKGUpe3Q9ZTticmVha31vLnB1c2gobil9by5mb3JFYWNoKChlPT54LnNldChlLHQpKSl9Y29uc3Qgbj10aGlzLl9idWlsZEFuaW1hdGlvbihhLm5hbWVzcGFjZUlkLHIsdixpLHcsUCk7aWYoYS5zZXRSZWFsUGxheWVyKG4pLHQ9PT1EKWsucHVzaChhKTtlbHNle2NvbnN0IGU9dGhpcy5wbGF5ZXJzQnlFbGVtZW50LmdldCh0KTtlJiZlLmxlbmd0aCYmKGEucGFyZW50UGxheWVyPUhPKGUpKSxvLnB1c2goYSl9fWVsc2UgYlAoZSxyLmZyb21TdHlsZXMpLGEub25EZXN0cm95KCgoKT0+aFAoZSxyLnRvU3R5bGVzKSkpLFMucHVzaChhKSxjLmhhcyhlKSYmby5wdXNoKGEpfSkpLFMuZm9yRWFjaCgodD0+e2NvbnN0IGU9aS5nZXQodC5lbGVtZW50KTtpZihlJiZlLmxlbmd0aCl7Y29uc3Qgbj1ITyhlKTt0LnNldFJlYWxQbGF5ZXIobil9fSkpLG8uZm9yRWFjaCgodD0+e3QucGFyZW50UGxheWVyP3Quc3luY1BsYXllckV2ZW50cyh0LnBhcmVudFBsYXllcik6dC5kZXN0cm95KCl9KSk7Zm9yKGxldCB0PTA7dDxnLmxlbmd0aDt0Kyspe2NvbnN0IGU9Z1t0XSxuPWUuX19uZ19yZW1vdmVkO2lmKFN3KGUsaVApLG4mJm4uaGFzQW5pbWF0aW9uKWNvbnRpbnVlO2xldCBvPVtdO2lmKHIuc2l6ZSl7bGV0IHQ9ci5nZXQoZSk7dCYmdC5sZW5ndGgmJm8ucHVzaCguLi50KTtsZXQgbj10aGlzLmRyaXZlci5xdWVyeShlLGxQLCEwKTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7bGV0IGU9ci5nZXQoblt0XSk7ZSYmZS5sZW5ndGgmJm8ucHVzaCguLi5lKX19Y29uc3QgaT1vLmZpbHRlcigodD0+IXQuZGVzdHJveWVkKSk7aS5sZW5ndGg/RHcodGhpcyxlLGkpOnRoaXMucHJvY2Vzc0xlYXZlTm9kZShlKX1yZXR1cm4gZy5sZW5ndGg9MCxrLmZvckVhY2goKHQ9Pnt0aGlzLnBsYXllcnMucHVzaCh0KSx0Lm9uRG9uZSgoKCk9Pnt0LmRlc3Ryb3koKTtjb25zdCBlPXRoaXMucGxheWVycy5pbmRleE9mKHQpO3RoaXMucGxheWVycy5zcGxpY2UoZSwxKX0pKSx0LnBsYXkoKX0pKSxrfWVsZW1lbnRDb250YWluc0RhdGEodCxlKXtsZXQgbj0hMTtjb25zdCBvPWUuX19uZ19yZW1vdmVkO3JldHVybiBvJiZvLnNldEZvclJlbW92YWwmJihuPSEwKSx0aGlzLnBsYXllcnNCeUVsZW1lbnQuaGFzKGUpJiYobj0hMCksdGhpcy5wbGF5ZXJzQnlRdWVyaWVkRWxlbWVudC5oYXMoZSkmJihuPSEwKSx0aGlzLnN0YXRlc0J5RWxlbWVudC5oYXMoZSkmJihuPSEwKSx0aGlzLl9mZXRjaE5hbWVzcGFjZSh0KS5lbGVtZW50Q29udGFpbnNEYXRhKGUpfHxufWFmdGVyRmx1c2godCl7dGhpcy5fZmx1c2hGbnMucHVzaCh0KX1hZnRlckZsdXNoQW5pbWF0aW9uc0RvbmUodCl7dGhpcy5fd2hlblF1aWV0Rm5zLnB1c2godCl9X2dldFByZXZpb3VzUGxheWVycyh0LGUsbixvLGkpe2xldCBhPVtdO2lmKGUpe2NvbnN0IGU9dGhpcy5wbGF5ZXJzQnlRdWVyaWVkRWxlbWVudC5nZXQodCk7ZSYmKGE9ZSl9ZWxzZXtjb25zdCBlPXRoaXMucGxheWVyc0J5RWxlbWVudC5nZXQodCk7aWYoZSl7Y29uc3QgdD0haXx8aT09eXc7ZS5mb3JFYWNoKChlPT57ZS5xdWV1ZWR8fCh0fHxlLnRyaWdnZXJOYW1lPT1vKSYmYS5wdXNoKGUpfSkpfX1yZXR1cm4obnx8bykmJihhPWEuZmlsdGVyKCh0PT4oIW58fG49PXQubmFtZXNwYWNlSWQpJiYoIW98fG89PXQudHJpZ2dlck5hbWUpKSkpLGF9X2JlZm9yZUFuaW1hdGlvbkJ1aWxkKHQsZSxuKXtjb25zdCBvPWUuZWxlbWVudCxpPWUuaXNSZW1vdmFsVHJhbnNpdGlvbj92b2lkIDA6dCxhPWUuaXNSZW1vdmFsVHJhbnNpdGlvbj92b2lkIDA6ZS50cmlnZ2VyTmFtZTtmb3IoY29uc3QgdCBvZiBlLnRpbWVsaW5lcyl7Y29uc3Qgcj10LmVsZW1lbnQscz1yIT09byxsPWpPKG4scixbXSk7dGhpcy5fZ2V0UHJldmlvdXNQbGF5ZXJzKHIscyxpLGEsZS50b1N0YXRlKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10LmdldFJlYWxQbGF5ZXIoKTtlLmJlZm9yZURlc3Ryb3kmJmUuYmVmb3JlRGVzdHJveSgpLHQuZGVzdHJveSgpLGwucHVzaCh0KX0pKX1iUChvLGUuZnJvbVN0eWxlcyl9X2J1aWxkQW5pbWF0aW9uKHQsZSxuLG8saSxhKXtjb25zdCByPWUudHJpZ2dlck5hbWUscz1lLmVsZW1lbnQsbD1bXSxjPW5ldyBTZXQsZD1uZXcgU2V0LHA9ZS50aW1lbGluZXMubWFwKChlPT57Y29uc3QgcD1lLmVsZW1lbnQ7Yy5hZGQocCk7Y29uc3QgbT1wLl9fbmdfcmVtb3ZlZDtpZihtJiZtLnJlbW92ZWRCZWZvcmVRdWVyaWVkKXJldHVybiBuZXcgVE8oZS5kdXJhdGlvbixlLmRlbGF5KTtjb25zdCBmPXAhPT1zLHU9KGZ1bmN0aW9uIGcodCl7Y29uc3QgZT1bXTtyZXR1cm4gUncodCxlKSxlfSkoKG4uZ2V0KHApfHx1dykubWFwKCh0PT50LmdldFJlYWxQbGF5ZXIoKSkpKS5maWx0ZXIoKHQ9PiEhdC5lbGVtZW50JiZ0LmVsZW1lbnQ9PT1wKSksaD1pLmdldChwKSxiPWEuZ2V0KHApLHk9Rk8oMCx0aGlzLl9ub3JtYWxpemVyLDAsZS5rZXlmcmFtZXMsaCxiKSxfPXRoaXMuX2J1aWxkUGxheWVyKGUseSx1KTtpZihlLnN1YlRpbWVsaW5lJiZvJiZkLmFkZChwKSxmKXtjb25zdCBlPW5ldyB2dyh0LHIscCk7ZS5zZXRSZWFsUGxheWVyKF8pLGwucHVzaChlKX1yZXR1cm4gX30pKTtsLmZvckVhY2goKHQ9PntqTyh0aGlzLnBsYXllcnNCeVF1ZXJpZWRFbGVtZW50LHQuZWxlbWVudCxbXSkucHVzaCh0KSx0Lm9uRG9uZSgoKCk9PihmdW5jdGlvbiBlKHQsbixvKXtsZXQgaTtpZih0IGluc3RhbmNlb2YgTWFwKXtpZihpPXQuZ2V0KG4pLGkpe2lmKGkubGVuZ3RoKXtjb25zdCB0PWkuaW5kZXhPZihvKTtpLnNwbGljZSh0LDEpfTA9PWkubGVuZ3RoJiZ0LmRlbGV0ZShuKX19ZWxzZSBpZihpPXRbbl0saSl7aWYoaS5sZW5ndGgpe2NvbnN0IHQ9aS5pbmRleE9mKG8pO2kuc3BsaWNlKHQsMSl9MD09aS5sZW5ndGgmJmRlbGV0ZSB0W25dfXJldHVybiBpfSkodGhpcy5wbGF5ZXJzQnlRdWVyaWVkRWxlbWVudCx0LmVsZW1lbnQsdCkpKX0pKSxjLmZvckVhY2goKHQ9Pmt3KHQsc1ApKSk7Y29uc3QgbT1ITyhwKTtyZXR1cm4gbS5vbkRlc3Ryb3koKCgpPT57Yy5mb3JFYWNoKCh0PT5Tdyh0LHNQKSkpLGhQKHMsZS50b1N0eWxlcyl9KSksZC5mb3JFYWNoKCh0PT57ak8obyx0LFtdKS5wdXNoKG0pfSkpLG19X2J1aWxkUGxheWVyKHQsZSxuKXtyZXR1cm4gZS5sZW5ndGg+MD90aGlzLmRyaXZlci5hbmltYXRlKHQuZWxlbWVudCxlLHQuZHVyYXRpb24sdC5kZWxheSx0LmVhc2luZyxuKTpuZXcgVE8odC5kdXJhdGlvbix0LmRlbGF5KX19Y2xhc3Mgdnd7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMubmFtZXNwYWNlSWQ9dCx0aGlzLnRyaWdnZXJOYW1lPWUsdGhpcy5lbGVtZW50PW4sdGhpcy5fcGxheWVyPW5ldyBUTyx0aGlzLl9jb250YWluc1JlYWxQbGF5ZXI9ITEsdGhpcy5fcXVldWVkQ2FsbGJhY2tzPXt9LHRoaXMuZGVzdHJveWVkPSExLHRoaXMubWFya2VkRm9yRGVzdHJveT0hMSx0aGlzLmRpc2FibGVkPSExLHRoaXMucXVldWVkPSEwLHRoaXMudG90YWxUaW1lPTB9c2V0UmVhbFBsYXllcih0KXt0aGlzLl9jb250YWluc1JlYWxQbGF5ZXJ8fCh0aGlzLl9wbGF5ZXI9dCxPYmplY3Qua2V5cyh0aGlzLl9xdWV1ZWRDYWxsYmFja3MpLmZvckVhY2goKGU9Pnt0aGlzLl9xdWV1ZWRDYWxsYmFja3NbZV0uZm9yRWFjaCgobj0+TE8odCxlLHZvaWQgMCxuKSkpfSkpLHRoaXMuX3F1ZXVlZENhbGxiYWNrcz17fSx0aGlzLl9jb250YWluc1JlYWxQbGF5ZXI9ITAsdGhpcy5vdmVycmlkZVRvdGFsVGltZSh0LnRvdGFsVGltZSksdGhpcy5xdWV1ZWQ9ITEpfWdldFJlYWxQbGF5ZXIoKXtyZXR1cm4gdGhpcy5fcGxheWVyfW92ZXJyaWRlVG90YWxUaW1lKHQpe3RoaXMudG90YWxUaW1lPXR9c3luY1BsYXllckV2ZW50cyh0KXtjb25zdCBlPXRoaXMuX3BsYXllcjtlLnRyaWdnZXJDYWxsYmFjayYmdC5vblN0YXJ0KCgoKT0+ZS50cmlnZ2VyQ2FsbGJhY2soInN0YXJ0IikpKSx0Lm9uRG9uZSgoKCk9PnRoaXMuZmluaXNoKCkpKSx0Lm9uRGVzdHJveSgoKCk9PnRoaXMuZGVzdHJveSgpKSl9X3F1ZXVlRXZlbnQodCxlKXtqTyh0aGlzLl9xdWV1ZWRDYWxsYmFja3MsdCxbXSkucHVzaChlKX1vbkRvbmUodCl7dGhpcy5xdWV1ZWQmJnRoaXMuX3F1ZXVlRXZlbnQoImRvbmUiLHQpLHRoaXMuX3BsYXllci5vbkRvbmUodCl9b25TdGFydCh0KXt0aGlzLnF1ZXVlZCYmdGhpcy5fcXVldWVFdmVudCgic3RhcnQiLHQpLHRoaXMuX3BsYXllci5vblN0YXJ0KHQpfW9uRGVzdHJveSh0KXt0aGlzLnF1ZXVlZCYmdGhpcy5fcXVldWVFdmVudCgiZGVzdHJveSIsdCksdGhpcy5fcGxheWVyLm9uRGVzdHJveSh0KX1pbml0KCl7dGhpcy5fcGxheWVyLmluaXQoKX1oYXNTdGFydGVkKCl7cmV0dXJuIXRoaXMucXVldWVkJiZ0aGlzLl9wbGF5ZXIuaGFzU3RhcnRlZCgpfXBsYXkoKXshdGhpcy5xdWV1ZWQmJnRoaXMuX3BsYXllci5wbGF5KCl9cGF1c2UoKXshdGhpcy5xdWV1ZWQmJnRoaXMuX3BsYXllci5wYXVzZSgpfXJlc3RhcnQoKXshdGhpcy5xdWV1ZWQmJnRoaXMuX3BsYXllci5yZXN0YXJ0KCl9ZmluaXNoKCl7dGhpcy5fcGxheWVyLmZpbmlzaCgpfWRlc3Ryb3koKXt0aGlzLmRlc3Ryb3llZD0hMCx0aGlzLl9wbGF5ZXIuZGVzdHJveSgpfXJlc2V0KCl7IXRoaXMucXVldWVkJiZ0aGlzLl9wbGF5ZXIucmVzZXQoKX1zZXRQb3NpdGlvbih0KXt0aGlzLnF1ZXVlZHx8dGhpcy5fcGxheWVyLnNldFBvc2l0aW9uKHQpfWdldFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMucXVldWVkPzA6dGhpcy5fcGxheWVyLmdldFBvc2l0aW9uKCl9dHJpZ2dlckNhbGxiYWNrKHQpe2NvbnN0IGU9dGhpcy5fcGxheWVyO2UudHJpZ2dlckNhbGxiYWNrJiZlLnRyaWdnZXJDYWxsYmFjayh0KX19ZnVuY3Rpb24geHcodCl7cmV0dXJuIHQmJjE9PT10Lm5vZGVUeXBlfWZ1bmN0aW9uIE93KHQsZSl7Y29uc3Qgbj10LnN0eWxlLmRpc3BsYXk7cmV0dXJuIHQuc3R5bGUuZGlzcGxheT1udWxsIT1lP2U6Im5vbmUiLG59ZnVuY3Rpb24gUHcodCxlLG4sbyxpKXtjb25zdCBhPVtdO24uZm9yRWFjaCgodD0+YS5wdXNoKE93KHQpKSkpO2NvbnN0IHI9W107by5mb3JFYWNoKCgobixvKT0+e2NvbnN0IGE9e307bi5mb3JFYWNoKCh0PT57Y29uc3Qgbj1hW3RdPWUuY29tcHV0ZVN0eWxlKG8sdCxpKTtuJiYwIT1uLmxlbmd0aHx8KG8uX19uZ19yZW1vdmVkPWh3LHIucHVzaChvKSl9KSksdC5zZXQobyxhKX0pKTtsZXQgcz0wO3JldHVybiBuLmZvckVhY2goKHQ9Pk93KHQsYVtzKytdKSkpLHJ9ZnVuY3Rpb24gd3codCxlKXtjb25zdCBuPW5ldyBNYXA7aWYodC5mb3JFYWNoKCh0PT5uLnNldCh0LFtdKSkpLDA9PWUubGVuZ3RoKXJldHVybiBuO2NvbnN0IG89bmV3IFNldChlKSxpPW5ldyBNYXA7ZnVuY3Rpb24gYSh0KXtpZighdClyZXR1cm4gMTtsZXQgZT1pLmdldCh0KTtpZihlKXJldHVybiBlO2NvbnN0IHI9dC5wYXJlbnROb2RlO3JldHVybiBlPW4uaGFzKHIpP3I6by5oYXMocik/MTphKHIpLGkuc2V0KHQsZSksZX1yZXR1cm4gZS5mb3JFYWNoKCh0PT57Y29uc3QgZT1hKHQpOzEhPT1lJiZuLmdldChlKS5wdXNoKHQpfSkpLG59ZnVuY3Rpb24ga3codCxlKXtpZih0LmNsYXNzTGlzdCl0LmNsYXNzTGlzdC5hZGQoZSk7ZWxzZXtsZXQgbj10LiQkY2xhc3NlcztufHwobj10LiQkY2xhc3Nlcz17fSksbltlXT0hMH19ZnVuY3Rpb24gU3codCxlKXtpZih0LmNsYXNzTGlzdCl0LmNsYXNzTGlzdC5yZW1vdmUoZSk7ZWxzZXtsZXQgbj10LiQkY2xhc3NlcztuJiZkZWxldGUgbltlXX19ZnVuY3Rpb24gRHcodCxlLG4pe0hPKG4pLm9uRG9uZSgoKCk9PnQucHJvY2Vzc0xlYXZlTm9kZShlKSkpfWZ1bmN0aW9uIFJ3KHQsZSl7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspe2NvbnN0IG89dFtuXTtvIGluc3RhbmNlb2YgTk8/Uncoby5wbGF5ZXJzLGUpOmUucHVzaChvKX19ZnVuY3Rpb24gRXcodCxlLG4pe2NvbnN0IG89bi5nZXQodCk7aWYoIW8pcmV0dXJuITE7bGV0IGk9ZS5nZXQodCk7cmV0dXJuIGk/by5mb3JFYWNoKCh0PT5pLmFkZCh0KSkpOmUuc2V0KHQsbyksbi5kZWxldGUodCksITB9Y2xhc3MgQXd7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuYm9keU5vZGU9dCx0aGlzLl9kcml2ZXI9ZSx0aGlzLl9ub3JtYWxpemVyPW4sdGhpcy5fdHJpZ2dlckNhY2hlPXt9LHRoaXMub25SZW1vdmFsQ29tcGxldGU9KHQsZSk9Pnt9LHRoaXMuX3RyYW5zaXRpb25FbmdpbmU9bmV3IE13KHQsZSxuKSx0aGlzLl90aW1lbGluZUVuZ2luZT1uZXcgZHcodCxlLG4pLHRoaXMuX3RyYW5zaXRpb25FbmdpbmUub25SZW1vdmFsQ29tcGxldGU9KHQsZSk9PnRoaXMub25SZW1vdmFsQ29tcGxldGUodCxlKX1yZWdpc3RlclRyaWdnZXIodCxlLG4sbyxpKXtjb25zdCBhPXQrIi0iK287bGV0IHI9dGhpcy5fdHJpZ2dlckNhY2hlW2FdO2lmKCFyKXtjb25zdCB0PVtdLGU9SVAodGhpcy5fZHJpdmVyLGksdCk7aWYodC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBUaGUgYW5pbWF0aW9uIHRyaWdnZXIgIiR7b30iIGhhcyBmYWlsZWQgdG8gYnVpbGQgZHVlIHRvIHRoZSBmb2xsb3dpbmcgZXJyb3JzOlxuIC0gJHt0LmpvaW4oIlxuIC0gIil9YCk7cj0oZnVuY3Rpb24gbih0LGUsbyl7cmV0dXJuIG5ldyBzdyh0LGUsbyl9KShvLGUsdGhpcy5fbm9ybWFsaXplciksdGhpcy5fdHJpZ2dlckNhY2hlW2FdPXJ9dGhpcy5fdHJhbnNpdGlvbkVuZ2luZS5yZWdpc3RlclRyaWdnZXIoZSxvLHIpfXJlZ2lzdGVyKHQsZSl7dGhpcy5fdHJhbnNpdGlvbkVuZ2luZS5yZWdpc3Rlcih0LGUpfWRlc3Ryb3kodCxlKXt0aGlzLl90cmFuc2l0aW9uRW5naW5lLmRlc3Ryb3kodCxlKX1vbkluc2VydCh0LGUsbixvKXt0aGlzLl90cmFuc2l0aW9uRW5naW5lLmluc2VydE5vZGUodCxlLG4sbyl9b25SZW1vdmUodCxlLG4sbyl7dGhpcy5fdHJhbnNpdGlvbkVuZ2luZS5yZW1vdmVOb2RlKHQsZSxvfHwhMSxuKX1kaXNhYmxlQW5pbWF0aW9ucyh0LGUpe3RoaXMuX3RyYW5zaXRpb25FbmdpbmUubWFya0VsZW1lbnRBc0Rpc2FibGVkKHQsZSl9cHJvY2Vzcyh0LGUsbixvKXtpZigiQCI9PW4uY2hhckF0KDApKXtjb25zdFt0LGldPVVPKG4pO3RoaXMuX3RpbWVsaW5lRW5naW5lLmNvbW1hbmQodCxlLGksbyl9ZWxzZSB0aGlzLl90cmFuc2l0aW9uRW5naW5lLnRyaWdnZXIodCxlLG4sbyl9bGlzdGVuKHQsZSxuLG8saSl7aWYoIkAiPT1uLmNoYXJBdCgwKSl7Y29uc3RbdCxvXT1VTyhuKTtyZXR1cm4gdGhpcy5fdGltZWxpbmVFbmdpbmUubGlzdGVuKHQsZSxvLGkpfXJldHVybiB0aGlzLl90cmFuc2l0aW9uRW5naW5lLmxpc3Rlbih0LGUsbixvLGkpfWZsdXNoKHQ9LTEpe3RoaXMuX3RyYW5zaXRpb25FbmdpbmUuZmx1c2godCl9Z2V0IHBsYXllcnMoKXtyZXR1cm4gdGhpcy5fdHJhbnNpdGlvbkVuZ2luZS5wbGF5ZXJzLmNvbmNhdCh0aGlzLl90aW1lbGluZUVuZ2luZS5wbGF5ZXJzKX13aGVuUmVuZGVyaW5nRG9uZSgpe3JldHVybiB0aGlzLl90cmFuc2l0aW9uRW5naW5lLndoZW5SZW5kZXJpbmdEb25lKCl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBUdyh0LGUpe2xldCBuPW51bGwsbz1udWxsO3JldHVybiBBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD8obj16dyhlWzBdKSxlLmxlbmd0aD4xJiYobz16dyhlW2UubGVuZ3RoLTFdKSkpOmUmJihuPXp3KGUpKSxufHxvP25ldyBOdyh0LG4sbyk6bnVsbH1jbGFzcyBOd3tjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fZWxlbWVudD10LHRoaXMuX3N0YXJ0U3R5bGVzPWUsdGhpcy5fZW5kU3R5bGVzPW4sdGhpcy5fc3RhdGU9MDtsZXQgbz1Ody5pbml0aWFsU3R5bGVzQnlFbGVtZW50LmdldCh0KTtvfHxOdy5pbml0aWFsU3R5bGVzQnlFbGVtZW50LnNldCh0LG89e30pLHRoaXMuX2luaXRpYWxTdHlsZXM9b31zdGFydCgpe3RoaXMuX3N0YXRlPDEmJih0aGlzLl9zdGFydFN0eWxlcyYmaFAodGhpcy5fZWxlbWVudCx0aGlzLl9zdGFydFN0eWxlcyx0aGlzLl9pbml0aWFsU3R5bGVzKSx0aGlzLl9zdGF0ZT0xKX1maW5pc2goKXt0aGlzLnN0YXJ0KCksdGhpcy5fc3RhdGU8MiYmKGhQKHRoaXMuX2VsZW1lbnQsdGhpcy5faW5pdGlhbFN0eWxlcyksdGhpcy5fZW5kU3R5bGVzJiYoaFAodGhpcy5fZWxlbWVudCx0aGlzLl9lbmRTdHlsZXMpLHRoaXMuX2VuZFN0eWxlcz1udWxsKSx0aGlzLl9zdGF0ZT0xKX1kZXN0cm95KCl7dGhpcy5maW5pc2goKSx0aGlzLl9zdGF0ZTwzJiYoTncuaW5pdGlhbFN0eWxlc0J5RWxlbWVudC5kZWxldGUodGhpcy5fZWxlbWVudCksdGhpcy5fc3RhcnRTdHlsZXMmJihiUCh0aGlzLl9lbGVtZW50LHRoaXMuX3N0YXJ0U3R5bGVzKSx0aGlzLl9lbmRTdHlsZXM9bnVsbCksdGhpcy5fZW5kU3R5bGVzJiYoYlAodGhpcy5fZWxlbWVudCx0aGlzLl9lbmRTdHlsZXMpLHRoaXMuX2VuZFN0eWxlcz1udWxsKSxoUCh0aGlzLl9lbGVtZW50LHRoaXMuX2luaXRpYWxTdHlsZXMpLHRoaXMuX3N0YXRlPTMpfX1mdW5jdGlvbiB6dyh0KXtsZXQgZT1udWxsO2NvbnN0IG49T2JqZWN0LmtleXModCk7Zm9yKGxldCBvPTA7bzxuLmxlbmd0aDtvKyspe2NvbnN0IGk9bltvXTtJdyhpKSYmKGU9ZXx8e30sZVtpXT10W2ldKX1yZXR1cm4gZX1mdW5jdGlvbiBJdyh0KXtyZXR1cm4iZGlzcGxheSI9PT10fHwicG9zaXRpb24iPT09dH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovTncuaW5pdGlhbFN0eWxlc0J5RWxlbWVudD1uZXcgV2Vha01hcDtjb25zdCBIdz0iYW5pbWF0aW9uIixGdz0iYW5pbWF0aW9uZW5kIjtjbGFzcyBMd3tjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyKXt0aGlzLl9lbGVtZW50PXQsdGhpcy5fbmFtZT1lLHRoaXMuX2R1cmF0aW9uPW4sdGhpcy5fZGVsYXk9byx0aGlzLl9lYXNpbmc9aSx0aGlzLl9maWxsTW9kZT1hLHRoaXMuX29uRG9uZUZuPXIsdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3N0YXJ0VGltZT0wLHRoaXMuX3Bvc2l0aW9uPTAsdGhpcy5fZXZlbnRGbj10PT50aGlzLl9oYW5kbGVDYWxsYmFjayh0KX1hcHBseSgpeyEoZnVuY3Rpb24gdChlLG4pe2NvbnN0IG89R3coZSwiIikudHJpbSgpO2xldCBpPTA7by5sZW5ndGgmJihpPShmdW5jdGlvbiBhKHQsZSl7bGV0IG49MDtmb3IobGV0IG89MDtvPHQubGVuZ3RoO28rKyl7dC5jaGFyQXQobyk9PT1lJiZuKyt9cmV0dXJuIG59KShvLCIsIikrMSxuPWAke299LCAke259YCk7cmV0dXJuIFd3KGUsIiIsbiksaX0pKHRoaXMuX2VsZW1lbnQsYCR7dGhpcy5fZHVyYXRpb259bXMgJHt0aGlzLl9lYXNpbmd9ICR7dGhpcy5fZGVsYXl9bXMgMSBub3JtYWwgJHt0aGlzLl9maWxsTW9kZX0gJHt0aGlzLl9uYW1lfWApLFV3KHRoaXMuX2VsZW1lbnQsdGhpcy5fZXZlbnRGbiwhMSksdGhpcy5fc3RhcnRUaW1lPURhdGUubm93KCl9cGF1c2UoKXtCdyh0aGlzLl9lbGVtZW50LHRoaXMuX25hbWUsInBhdXNlZCIpfXJlc3VtZSgpe0J3KHRoaXMuX2VsZW1lbnQsdGhpcy5fbmFtZSwicnVubmluZyIpfXNldFBvc2l0aW9uKHQpe2NvbnN0IGU9VncodGhpcy5fZWxlbWVudCx0aGlzLl9uYW1lKTt0aGlzLl9wb3NpdGlvbj10KnRoaXMuX2R1cmF0aW9uLFd3KHRoaXMuX2VsZW1lbnQsIkRlbGF5IixgLSR7dGhpcy5fcG9zaXRpb259bXNgLGUpfWdldFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuX3Bvc2l0aW9ufV9oYW5kbGVDYWxsYmFjayh0KXtjb25zdCBlPXQuX25nVGVzdE1hbnVhbFRpbWVzdGFtcHx8RGF0ZS5ub3coKSxuPTFlMypwYXJzZUZsb2F0KHQuZWxhcHNlZFRpbWUudG9GaXhlZCgzKSk7dC5hbmltYXRpb25OYW1lPT10aGlzLl9uYW1lJiZNYXRoLm1heChlLXRoaXMuX3N0YXJ0VGltZSwwKT49dGhpcy5fZGVsYXkmJm4+PXRoaXMuX2R1cmF0aW9uJiZ0aGlzLmZpbmlzaCgpfWZpbmlzaCgpe3RoaXMuX2ZpbmlzaGVkfHwodGhpcy5fZmluaXNoZWQ9ITAsdGhpcy5fb25Eb25lRm4oKSxVdyh0aGlzLl9lbGVtZW50LHRoaXMuX2V2ZW50Rm4sITApKX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkfHwodGhpcy5fZGVzdHJveWVkPSEwLHRoaXMuZmluaXNoKCksKGZ1bmN0aW9uIHQoZSxuKXtjb25zdCBvPUd3KGUsIiIpLnNwbGl0KCIsIiksaT1qdyhvLG4pO2lmKGk+PTApe28uc3BsaWNlKGksMSk7V3coZSwiIixvLmpvaW4oIiwiKSl9fSkodGhpcy5fZWxlbWVudCx0aGlzLl9uYW1lKSl9fWZ1bmN0aW9uIEJ3KHQsZSxuKXtXdyh0LCJQbGF5U3RhdGUiLG4sVncodCxlKSl9ZnVuY3Rpb24gVncodCxlKXtjb25zdCBuPUd3KHQsIiIpO2lmKG4uaW5kZXhPZigiLCIpPjApe3JldHVybiBqdyhuLnNwbGl0KCIsIiksZSl9cmV0dXJuIGp3KFtuXSxlKX1mdW5jdGlvbiBqdyh0LGUpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKWlmKHRbbl0uaW5kZXhPZihlKT49MClyZXR1cm4gbjtyZXR1cm4tMX1mdW5jdGlvbiBVdyh0LGUsbil7bj90LnJlbW92ZUV2ZW50TGlzdGVuZXIoRncsZSk6dC5hZGRFdmVudExpc3RlbmVyKEZ3LGUpfWZ1bmN0aW9uIFd3KHQsZSxuLG8pe2NvbnN0IGk9SHcrZTtpZihudWxsIT1vKXtjb25zdCBlPXQuc3R5bGVbaV07aWYoZS5sZW5ndGgpe2NvbnN0IHQ9ZS5zcGxpdCgiLCIpO3Rbb109bixuPXQuam9pbigiLCIpfX10LnN0eWxlW2ldPW59ZnVuY3Rpb24gR3codCxlKXtyZXR1cm4gdC5zdHlsZVtIdytlXXx8IiJ9Y2xhc3MgWXd7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzKXt0aGlzLmVsZW1lbnQ9dCx0aGlzLmtleWZyYW1lcz1lLHRoaXMuYW5pbWF0aW9uTmFtZT1uLHRoaXMuX2R1cmF0aW9uPW8sdGhpcy5fZGVsYXk9aSx0aGlzLl9maW5hbFN0eWxlcz1yLHRoaXMuX3NwZWNpYWxTdHlsZXM9cyx0aGlzLl9vbkRvbmVGbnM9W10sdGhpcy5fb25TdGFydEZucz1bXSx0aGlzLl9vbkRlc3Ryb3lGbnM9W10sdGhpcy5jdXJyZW50U25hcHNob3Q9e30sdGhpcy5fc3RhdGU9MCx0aGlzLmVhc2luZz1hfHwibGluZWFyIix0aGlzLnRvdGFsVGltZT1vK2ksdGhpcy5fYnVpbGRTdHlsZXIoKX1vblN0YXJ0KHQpe3RoaXMuX29uU3RhcnRGbnMucHVzaCh0KX1vbkRvbmUodCl7dGhpcy5fb25Eb25lRm5zLnB1c2godCl9b25EZXN0cm95KHQpe3RoaXMuX29uRGVzdHJveUZucy5wdXNoKHQpfWRlc3Ryb3koKXt0aGlzLmluaXQoKSx0aGlzLl9zdGF0ZT49NHx8KHRoaXMuX3N0YXRlPTQsdGhpcy5fc3R5bGVyLmRlc3Ryb3koKSx0aGlzLl9mbHVzaFN0YXJ0Rm5zKCksdGhpcy5fZmx1c2hEb25lRm5zKCksdGhpcy5fc3BlY2lhbFN0eWxlcyYmdGhpcy5fc3BlY2lhbFN0eWxlcy5kZXN0cm95KCksdGhpcy5fb25EZXN0cm95Rm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uRGVzdHJveUZucz1bXSl9X2ZsdXNoRG9uZUZucygpe3RoaXMuX29uRG9uZUZucy5mb3JFYWNoKCh0PT50KCkpKSx0aGlzLl9vbkRvbmVGbnM9W119X2ZsdXNoU3RhcnRGbnMoKXt0aGlzLl9vblN0YXJ0Rm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uU3RhcnRGbnM9W119ZmluaXNoKCl7dGhpcy5pbml0KCksdGhpcy5fc3RhdGU+PTN8fCh0aGlzLl9zdGF0ZT0zLHRoaXMuX3N0eWxlci5maW5pc2goKSx0aGlzLl9mbHVzaFN0YXJ0Rm5zKCksdGhpcy5fc3BlY2lhbFN0eWxlcyYmdGhpcy5fc3BlY2lhbFN0eWxlcy5maW5pc2goKSx0aGlzLl9mbHVzaERvbmVGbnMoKSl9c2V0UG9zaXRpb24odCl7dGhpcy5fc3R5bGVyLnNldFBvc2l0aW9uKHQpfWdldFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuX3N0eWxlci5nZXRQb3NpdGlvbigpfWhhc1N0YXJ0ZWQoKXtyZXR1cm4gdGhpcy5fc3RhdGU+PTJ9aW5pdCgpe3RoaXMuX3N0YXRlPj0xfHwodGhpcy5fc3RhdGU9MSx0aGlzLl9zdHlsZXIuYXBwbHkoKSx0aGlzLl9kZWxheSYmdGhpcy5fc3R5bGVyLnBhdXNlKCkpfXBsYXkoKXt0aGlzLmluaXQoKSx0aGlzLmhhc1N0YXJ0ZWQoKXx8KHRoaXMuX2ZsdXNoU3RhcnRGbnMoKSx0aGlzLl9zdGF0ZT0yLHRoaXMuX3NwZWNpYWxTdHlsZXMmJnRoaXMuX3NwZWNpYWxTdHlsZXMuc3RhcnQoKSksdGhpcy5fc3R5bGVyLnJlc3VtZSgpfXBhdXNlKCl7dGhpcy5pbml0KCksdGhpcy5fc3R5bGVyLnBhdXNlKCl9cmVzdGFydCgpe3RoaXMucmVzZXQoKSx0aGlzLnBsYXkoKX1yZXNldCgpe3RoaXMuX3N0YXRlPTAsdGhpcy5fc3R5bGVyLmRlc3Ryb3koKSx0aGlzLl9idWlsZFN0eWxlcigpLHRoaXMuX3N0eWxlci5hcHBseSgpfV9idWlsZFN0eWxlcigpe3RoaXMuX3N0eWxlcj1uZXcgTHcodGhpcy5lbGVtZW50LHRoaXMuYW5pbWF0aW9uTmFtZSx0aGlzLl9kdXJhdGlvbix0aGlzLl9kZWxheSx0aGlzLmVhc2luZywiZm9yd2FyZHMiLCgoKT0+dGhpcy5maW5pc2goKSkpfXRyaWdnZXJDYWxsYmFjayh0KXtjb25zdCBlPSJzdGFydCI9PXQ/dGhpcy5fb25TdGFydEZuczp0aGlzLl9vbkRvbmVGbnM7ZS5mb3JFYWNoKCh0PT50KCkpKSxlLmxlbmd0aD0wfWJlZm9yZURlc3Ryb3koKXt0aGlzLmluaXQoKTtjb25zdCB0PXt9O2lmKHRoaXMuaGFzU3RhcnRlZCgpKXtjb25zdCBlPXRoaXMuX3N0YXRlPj0zO09iamVjdC5rZXlzKHRoaXMuX2ZpbmFsU3R5bGVzKS5mb3JFYWNoKChuPT57Im9mZnNldCIhPW4mJih0W25dPWU/dGhpcy5fZmluYWxTdHlsZXNbbl06U1AodGhpcy5lbGVtZW50LG4pKX0pKX10aGlzLmN1cnJlbnRTbmFwc2hvdD10fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgcXcgZXh0ZW5kcyBUT3tjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy5lbGVtZW50PXQsdGhpcy5fc3RhcnRpbmdTdHlsZXM9e30sdGhpcy5fX2luaXRpYWxpemVkPSExLHRoaXMuX3N0eWxlcz10UChlKX1pbml0KCl7IXRoaXMuX19pbml0aWFsaXplZCYmdGhpcy5fc3RhcnRpbmdTdHlsZXMmJih0aGlzLl9faW5pdGlhbGl6ZWQ9ITAsT2JqZWN0LmtleXModGhpcy5fc3R5bGVzKS5mb3JFYWNoKCh0PT57dGhpcy5fc3RhcnRpbmdTdHlsZXNbdF09dGhpcy5lbGVtZW50LnN0eWxlW3RdfSkpLHN1cGVyLmluaXQoKSl9cGxheSgpe3RoaXMuX3N0YXJ0aW5nU3R5bGVzJiYodGhpcy5pbml0KCksT2JqZWN0LmtleXModGhpcy5fc3R5bGVzKS5mb3JFYWNoKCh0PT50aGlzLmVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkodCx0aGlzLl9zdHlsZXNbdF0pKSksc3VwZXIucGxheSgpKX1kZXN0cm95KCl7dGhpcy5fc3RhcnRpbmdTdHlsZXMmJihPYmplY3Qua2V5cyh0aGlzLl9zdGFydGluZ1N0eWxlcykuZm9yRWFjaCgodD0+e2NvbnN0IGU9dGhpcy5fc3RhcnRpbmdTdHlsZXNbdF07ZT90aGlzLmVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkodCxlKTp0aGlzLmVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9KSksdGhpcy5fc3RhcnRpbmdTdHlsZXM9bnVsbCxzdXBlci5kZXN0cm95KCkpfX1jbGFzcyBad3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvdW50PTB9dmFsaWRhdGVTdHlsZVByb3BlcnR5KHQpe3JldHVybiBLTyh0KX1tYXRjaGVzRWxlbWVudCh0LGUpe3JldHVybiBKTyh0LGUpfWNvbnRhaW5zRWxlbWVudCh0LGUpe3JldHVybiBRTyh0LGUpfXF1ZXJ5KHQsZSxuKXtyZXR1cm4gJE8odCxlLG4pfWNvbXB1dGVTdHlsZSh0LGUsbil7cmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpW2VdfWJ1aWxkS2V5ZnJhbWVFbGVtZW50KHQsZSxuKXtuPW4ubWFwKCh0PT50UCh0KSkpO2xldCBvPWBAa2V5ZnJhbWVzICR7ZX0ge1xuYCxpPSIiO24uZm9yRWFjaCgodD0+e2k9IiAiO2NvbnN0IGU9cGFyc2VGbG9hdCh0Lm9mZnNldCk7bys9YCR7aX0kezEwMCplfSUge1xuYCxpKz0iICIsT2JqZWN0LmtleXModCkuZm9yRWFjaCgoZT0+e2NvbnN0IG49dFtlXTtzd2l0Y2goZSl7Y2FzZSJvZmZzZXQiOnJldHVybjtjYXNlImVhc2luZyI6cmV0dXJuIHZvaWQobiYmKG8rPWAke2l9YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHtufTtcbmApKTtkZWZhdWx0OnJldHVybiB2b2lkKG8rPWAke2l9JHtlfTogJHtufTtcbmApfX0pKSxvKz1gJHtpfX1cbmB9KSksbys9In1cbiI7Y29uc3QgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiBhLnRleHRDb250ZW50PW8sYX1hbmltYXRlKHQsZSxuLG8saSxhPVtdLHIpeygidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmciYmKGZ1bmN0aW9uIHMoKXtpZihYdylyZXR1cm47Y29uc29sZS53YXJuKCJAYW5ndWxhci9hbmltYXRpb25zOiBwbGVhc2UgbG9hZCB0aGUgd2ViLWFuaW1hdGlvbnMuanMgcG9seWZpbGwgdG8gYWxsb3cgcHJvZ3JhbW1hdGljIGFjY2Vzcy4uLlxuIiwiICB2aXNpdCBodHRwczovL2JpdC5seS9JV3VrYW0gdG8gbGVhcm4gbW9yZSBhYm91dCB1c2luZyB0aGUgd2ViLWFuaW1hdGlvbi1qcyBwb2x5ZmlsbC4iKSxYdz0hMH0pKCk7Y29uc3QgbD1hLmZpbHRlcigodD0+dCBpbnN0YW5jZW9mIFl3KSksYz17fTtQUChuLG8pJiZsLmZvckVhY2goKHQ9PntsZXQgZT10LmN1cnJlbnRTbmFwc2hvdDtPYmplY3Qua2V5cyhlKS5mb3JFYWNoKCh0PT5jW3RdPWVbdF0pKX0pKTtjb25zdCBkPShmdW5jdGlvbiBwKHQpe2xldCBlPXt9O2lmKHQpeyhBcnJheS5pc0FycmF5KHQpP3Q6W3RdKS5mb3JFYWNoKCh0PT57T2JqZWN0LmtleXModCkuZm9yRWFjaCgobj0+eyJvZmZzZXQiIT1uJiYiZWFzaW5nIiE9biYmKGVbbl09dFtuXSl9KSl9KSl9cmV0dXJuIGV9KShlPXdQKHQsZSxjKSk7aWYoMD09bilyZXR1cm4gbmV3IHF3KHQsZCk7Y29uc3QgbT0iZ2VuX2Nzc19rZl8iK3RoaXMuX2NvdW50KyssZj10aGlzLmJ1aWxkS2V5ZnJhbWVFbGVtZW50KHQsbSxlKTsoZnVuY3Rpb24gdSh0KXt2YXIgZTtjb25zdCBuPW51bGw9PT0oZT10LmdldFJvb3ROb2RlKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5jYWxsKHQpO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgU2hhZG93Um9vdCYmbiBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QpcmV0dXJuIG47cmV0dXJuIGRvY3VtZW50LmhlYWR9KSh0KS5hcHBlbmRDaGlsZChmKTtjb25zdCBnPVR3KHQsZSksaD1uZXcgWXcodCxlLG0sbixvLGksZCxnKTtyZXR1cm4gaC5vbkRlc3Ryb3koKCgpPT4oZnVuY3Rpb24gdChlKXtlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9KShmKSkpLGh9fWxldCBYdz0hMTtjbGFzcyBLd3tjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLmVsZW1lbnQ9dCx0aGlzLmtleWZyYW1lcz1lLHRoaXMub3B0aW9ucz1uLHRoaXMuX3NwZWNpYWxTdHlsZXM9byx0aGlzLl9vbkRvbmVGbnM9W10sdGhpcy5fb25TdGFydEZucz1bXSx0aGlzLl9vbkRlc3Ryb3lGbnM9W10sdGhpcy5faW5pdGlhbGl6ZWQ9ITEsdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5fc3RhcnRlZD0hMSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy50aW1lPTAsdGhpcy5wYXJlbnRQbGF5ZXI9bnVsbCx0aGlzLmN1cnJlbnRTbmFwc2hvdD17fSx0aGlzLl9kdXJhdGlvbj1uLmR1cmF0aW9uLHRoaXMuX2RlbGF5PW4uZGVsYXl8fDAsdGhpcy50aW1lPXRoaXMuX2R1cmF0aW9uK3RoaXMuX2RlbGF5fV9vbkZpbmlzaCgpe3RoaXMuX2ZpbmlzaGVkfHwodGhpcy5fZmluaXNoZWQ9ITAsdGhpcy5fb25Eb25lRm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uRG9uZUZucz1bXSl9aW5pdCgpe3RoaXMuX2J1aWxkUGxheWVyKCksdGhpcy5fcHJlcGFyZVBsYXllckJlZm9yZVN0YXJ0KCl9X2J1aWxkUGxheWVyKCl7aWYodGhpcy5faW5pdGlhbGl6ZWQpcmV0dXJuO3RoaXMuX2luaXRpYWxpemVkPSEwO2NvbnN0IHQ9dGhpcy5rZXlmcmFtZXM7dGhpcy5kb21QbGF5ZXI9dGhpcy5fdHJpZ2dlcldlYkFuaW1hdGlvbih0aGlzLmVsZW1lbnQsdCx0aGlzLm9wdGlvbnMpLHRoaXMuX2ZpbmFsS2V5ZnJhbWU9dC5sZW5ndGg/dFt0Lmxlbmd0aC0xXTp7fSx0aGlzLmRvbVBsYXllci5hZGRFdmVudExpc3RlbmVyKCJmaW5pc2giLCgoKT0+dGhpcy5fb25GaW5pc2goKSkpfV9wcmVwYXJlUGxheWVyQmVmb3JlU3RhcnQoKXt0aGlzLl9kZWxheT90aGlzLl9yZXNldERvbVBsYXllclN0YXRlKCk6dGhpcy5kb21QbGF5ZXIucGF1c2UoKX1fdHJpZ2dlcldlYkFuaW1hdGlvbih0LGUsbil7cmV0dXJuIHQuYW5pbWF0ZShlLG4pfW9uU3RhcnQodCl7dGhpcy5fb25TdGFydEZucy5wdXNoKHQpfW9uRG9uZSh0KXt0aGlzLl9vbkRvbmVGbnMucHVzaCh0KX1vbkRlc3Ryb3kodCl7dGhpcy5fb25EZXN0cm95Rm5zLnB1c2godCl9cGxheSgpe3RoaXMuX2J1aWxkUGxheWVyKCksdGhpcy5oYXNTdGFydGVkKCl8fCh0aGlzLl9vblN0YXJ0Rm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uU3RhcnRGbnM9W10sdGhpcy5fc3RhcnRlZD0hMCx0aGlzLl9zcGVjaWFsU3R5bGVzJiZ0aGlzLl9zcGVjaWFsU3R5bGVzLnN0YXJ0KCkpLHRoaXMuZG9tUGxheWVyLnBsYXkoKX1wYXVzZSgpe3RoaXMuaW5pdCgpLHRoaXMuZG9tUGxheWVyLnBhdXNlKCl9ZmluaXNoKCl7dGhpcy5pbml0KCksdGhpcy5fc3BlY2lhbFN0eWxlcyYmdGhpcy5fc3BlY2lhbFN0eWxlcy5maW5pc2goKSx0aGlzLl9vbkZpbmlzaCgpLHRoaXMuZG9tUGxheWVyLmZpbmlzaCgpfXJlc2V0KCl7dGhpcy5fcmVzZXREb21QbGF5ZXJTdGF0ZSgpLHRoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9maW5pc2hlZD0hMSx0aGlzLl9zdGFydGVkPSExfV9yZXNldERvbVBsYXllclN0YXRlKCl7dGhpcy5kb21QbGF5ZXImJnRoaXMuZG9tUGxheWVyLmNhbmNlbCgpfXJlc3RhcnQoKXt0aGlzLnJlc2V0KCksdGhpcy5wbGF5KCl9aGFzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGFydGVkfWRlc3Ryb3koKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9kZXN0cm95ZWQ9ITAsdGhpcy5fcmVzZXREb21QbGF5ZXJTdGF0ZSgpLHRoaXMuX29uRmluaXNoKCksdGhpcy5fc3BlY2lhbFN0eWxlcyYmdGhpcy5fc3BlY2lhbFN0eWxlcy5kZXN0cm95KCksdGhpcy5fb25EZXN0cm95Rm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uRGVzdHJveUZucz1bXSl9c2V0UG9zaXRpb24odCl7dm9pZCAwPT09dGhpcy5kb21QbGF5ZXImJnRoaXMuaW5pdCgpLHRoaXMuZG9tUGxheWVyLmN1cnJlbnRUaW1lPXQqdGhpcy50aW1lfWdldFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuZG9tUGxheWVyLmN1cnJlbnRUaW1lL3RoaXMudGltZX1nZXQgdG90YWxUaW1lKCl7cmV0dXJuIHRoaXMuX2RlbGF5K3RoaXMuX2R1cmF0aW9ufWJlZm9yZURlc3Ryb3koKXtjb25zdCB0PXt9O3RoaXMuaGFzU3RhcnRlZCgpJiZPYmplY3Qua2V5cyh0aGlzLl9maW5hbEtleWZyYW1lKS5mb3JFYWNoKChlPT57Im9mZnNldCIhPWUmJih0W2VdPXRoaXMuX2ZpbmlzaGVkP3RoaXMuX2ZpbmFsS2V5ZnJhbWVbZV06U1AodGhpcy5lbGVtZW50LGUpKX0pKSx0aGlzLmN1cnJlbnRTbmFwc2hvdD10fXRyaWdnZXJDYWxsYmFjayh0KXtjb25zdCBlPSJzdGFydCI9PXQ/dGhpcy5fb25TdGFydEZuczp0aGlzLl9vbkRvbmVGbnM7ZS5mb3JFYWNoKCh0PT50KCkpKSxlLmxlbmd0aD0wfX1jbGFzcyBKd3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2lzTmF0aXZlSW1wbD0vXHtccypcW25hdGl2ZVxzK2NvZGVcXVxzKlx9Ly50ZXN0KFF3KCkudG9TdHJpbmcoKSksdGhpcy5fY3NzS2V5ZnJhbWVzRHJpdmVyPW5ldyBad312YWxpZGF0ZVN0eWxlUHJvcGVydHkodCl7cmV0dXJuIEtPKHQpfW1hdGNoZXNFbGVtZW50KHQsZSl7cmV0dXJuIEpPKHQsZSl9Y29udGFpbnNFbGVtZW50KHQsZSl7cmV0dXJuIFFPKHQsZSl9cXVlcnkodCxlLG4pe3JldHVybiAkTyh0LGUsbil9Y29tcHV0ZVN0eWxlKHQsZSxuKXtyZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUodClbZV19b3ZlcnJpZGVXZWJBbmltYXRpb25zU3VwcG9ydCh0KXt0aGlzLl9pc05hdGl2ZUltcGw9dH1hbmltYXRlKHQsZSxuLG8saSxhPVtdLHIpe2lmKCFyJiYhdGhpcy5faXNOYXRpdmVJbXBsKXJldHVybiB0aGlzLl9jc3NLZXlmcmFtZXNEcml2ZXIuYW5pbWF0ZSh0LGUsbixvLGksYSk7Y29uc3Qgcz17ZHVyYXRpb246bixkZWxheTpvLGZpbGw6MD09bz8iYm90aCI6ImZvcndhcmRzIn07aSYmKHMuZWFzaW5nPWkpO2NvbnN0IGw9e30sYz1hLmZpbHRlcigodD0+dCBpbnN0YW5jZW9mIEt3KSk7UFAobixvKSYmYy5mb3JFYWNoKCh0PT57bGV0IGU9dC5jdXJyZW50U25hcHNob3Q7T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+bFt0XT1lW3RdKSl9KSk7Y29uc3QgZD1Udyh0LGU9d1AodCxlPWUubWFwKCh0PT5mUCh0LCExKSkpLGwpKTtyZXR1cm4gbmV3IEt3KHQsZSxzLGQpfX1mdW5jdGlvbiBRdygpe3JldHVybiB6TygpJiZFbGVtZW50LnByb3RvdHlwZS5hbmltYXRlfHx7fX0KLyoqCiAgICAgKiBAbGljZW5zZSBBbmd1bGFyIHYxMi4yLjEKICAgICAqIChjKSAyMDEwLTIwMjEgR29vZ2xlIExMQy4gaHR0cHM6Ly9hbmd1bGFyLmlvLwogICAgICogTGljZW5zZTogTUlUCiAgICAgKi9jbGFzcyAkdyBleHRlbmRzIE1Pe2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLl9uZXh0QW5pbWF0aW9uSWQ9MDt0aGlzLl9yZW5kZXJlcj10LmNyZWF0ZVJlbmRlcmVyKGUuYm9keSx7aWQ6IjAiLGVuY2Fwc3VsYXRpb246V24uTm9uZSxzdHlsZXM6W10sZGF0YTp7YW5pbWF0aW9uOltdfX0pfWJ1aWxkKHQpe2NvbnN0IGU9dGhpcy5fbmV4dEFuaW1hdGlvbklkLnRvU3RyaW5nKCk7dGhpcy5fbmV4dEFuaW1hdGlvbklkKys7Y29uc3Qgbj1BcnJheS5pc0FycmF5KHQpP1BPKHQpOnQ7cmV0dXJuIG5rKHRoaXMuX3JlbmRlcmVyLG51bGwsZSwicmVnaXN0ZXIiLFtuXSksbmV3IHRrKGUsdGhpcy5fcmVuZGVyZXIpfX0kdy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JHcpKFRyKFFoKSxUcihzTSkpfSwkdy7JtXByb3Y9U24oe3Rva2VuOiR3LGZhY3Rvcnk6JHcuybVmYWN9KSwkdy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlFofSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKCR3LFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpRaH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjbGFzcyB0ayBleHRlbmRzIGNsYXNze317Y29uc3RydWN0b3IodCxlKXtzdXBlcigpLHRoaXMuX2lkPXQsdGhpcy5fcmVuZGVyZXI9ZX1jcmVhdGUodCxlKXtyZXR1cm4gbmV3IGVrKHRoaXMuX2lkLHQsZXx8e30sdGhpcy5fcmVuZGVyZXIpfX1jbGFzcyBla3tjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLmlkPXQsdGhpcy5lbGVtZW50PWUsdGhpcy5fcmVuZGVyZXI9byx0aGlzLnBhcmVudFBsYXllcj1udWxsLHRoaXMuX3N0YXJ0ZWQ9ITEsdGhpcy50b3RhbFRpbWU9MCx0aGlzLl9jb21tYW5kKCJjcmVhdGUiLG4pfV9saXN0ZW4odCxlKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudCxgQEAke3RoaXMuaWR9OiR7dH1gLGUpfV9jb21tYW5kKHQsLi4uZSl7cmV0dXJuIG5rKHRoaXMuX3JlbmRlcmVyLHRoaXMuZWxlbWVudCx0aGlzLmlkLHQsZSl9b25Eb25lKHQpe3RoaXMuX2xpc3RlbigiZG9uZSIsdCl9b25TdGFydCh0KXt0aGlzLl9saXN0ZW4oInN0YXJ0Iix0KX1vbkRlc3Ryb3kodCl7dGhpcy5fbGlzdGVuKCJkZXN0cm95Iix0KX1pbml0KCl7dGhpcy5fY29tbWFuZCgiaW5pdCIpfWhhc1N0YXJ0ZWQoKXtyZXR1cm4gdGhpcy5fc3RhcnRlZH1wbGF5KCl7dGhpcy5fY29tbWFuZCgicGxheSIpLHRoaXMuX3N0YXJ0ZWQ9ITB9cGF1c2UoKXt0aGlzLl9jb21tYW5kKCJwYXVzZSIpfXJlc3RhcnQoKXt0aGlzLl9jb21tYW5kKCJyZXN0YXJ0Iil9ZmluaXNoKCl7dGhpcy5fY29tbWFuZCgiZmluaXNoIil9ZGVzdHJveSgpe3RoaXMuX2NvbW1hbmQoImRlc3Ryb3kiKX1yZXNldCgpe3RoaXMuX2NvbW1hbmQoInJlc2V0IiksdGhpcy5fc3RhcnRlZD0hMX1zZXRQb3NpdGlvbih0KXt0aGlzLl9jb21tYW5kKCJzZXRQb3NpdGlvbiIsdCl9Z2V0UG9zaXRpb24oKXt2YXIgdCxlO3JldHVybiBudWxsIT09KGU9bnVsbD09PSh0PXRoaXMuX3JlbmRlcmVyLmVuZ2luZS5wbGF5ZXJzWyt0aGlzLmlkXSl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuZ2V0UG9zaXRpb24oKSkmJnZvaWQgMCE9PWU/ZTowfX1mdW5jdGlvbiBuayh0LGUsbixvLGkpe3JldHVybiB0LnNldFByb3BlcnR5KGUsYEBAJHtufToke299YCxpKX1jb25zdCBvaz0iQCIsaWs9IkAuZGlzYWJsZWQiO2NsYXNzIGFre2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmRlbGVnYXRlPXQsdGhpcy5lbmdpbmU9ZSx0aGlzLl96b25lPW4sdGhpcy5fY3VycmVudElkPTAsdGhpcy5fbWljcm90YXNrSWQ9MSx0aGlzLl9hbmltYXRpb25DYWxsYmFja3NCdWZmZXI9W10sdGhpcy5fcmVuZGVyZXJDYWNoZT1uZXcgTWFwLHRoaXMuX2NkUmVjdXJEZXB0aD0wLHRoaXMucHJvbWlzZT1Qcm9taXNlLnJlc29sdmUoMCksZS5vblJlbW92YWxDb21wbGV0ZT0odCxlKT0+e2UmJmUucGFyZW50Tm9kZSh0KSYmZS5yZW1vdmVDaGlsZCh0LnBhcmVudE5vZGUsdCl9fWNyZWF0ZVJlbmRlcmVyKHQsZSl7Y29uc3Qgbj10aGlzLmRlbGVnYXRlLmNyZWF0ZVJlbmRlcmVyKHQsZSk7aWYoISh0JiZlJiZlLmRhdGEmJmUuZGF0YS5hbmltYXRpb24pKXtsZXQgdD10aGlzLl9yZW5kZXJlckNhY2hlLmdldChuKTtyZXR1cm4gdHx8KHQ9bmV3IHJrKCIiLG4sdGhpcy5lbmdpbmUpLHRoaXMuX3JlbmRlcmVyQ2FjaGUuc2V0KG4sdCkpLHR9Y29uc3Qgbz1lLmlkLGk9ZS5pZCsiLSIrdGhpcy5fY3VycmVudElkO3RoaXMuX2N1cnJlbnRJZCsrLHRoaXMuZW5naW5lLnJlZ2lzdGVyKGksdCk7Y29uc3QgYT1lPT57QXJyYXkuaXNBcnJheShlKT9lLmZvckVhY2goYSk6dGhpcy5lbmdpbmUucmVnaXN0ZXJUcmlnZ2VyKG8saSx0LGUubmFtZSxlKX07cmV0dXJuIGUuZGF0YS5hbmltYXRpb24uZm9yRWFjaChhKSxuZXcgc2sodGhpcyxpLG4sdGhpcy5lbmdpbmUpfWJlZ2luKCl7dGhpcy5fY2RSZWN1ckRlcHRoKyssdGhpcy5kZWxlZ2F0ZS5iZWdpbiYmdGhpcy5kZWxlZ2F0ZS5iZWdpbigpfV9zY2hlZHVsZUNvdW50VGFzaygpe3RoaXMucHJvbWlzZS50aGVuKCgoKT0+e3RoaXMuX21pY3JvdGFza0lkKyt9KSl9c2NoZWR1bGVMaXN0ZW5lckNhbGxiYWNrKHQsZSxuKXt0Pj0wJiZ0PHRoaXMuX21pY3JvdGFza0lkP3RoaXMuX3pvbmUucnVuKCgoKT0+ZShuKSkpOigwPT10aGlzLl9hbmltYXRpb25DYWxsYmFja3NCdWZmZXIubGVuZ3RoJiZQcm9taXNlLnJlc29sdmUobnVsbCkudGhlbigoKCk9Pnt0aGlzLl96b25lLnJ1bigoKCk9Pnt0aGlzLl9hbmltYXRpb25DYWxsYmFja3NCdWZmZXIuZm9yRWFjaCgodD0+e2NvbnN0W2Usbl09dDtlKG4pfSkpLHRoaXMuX2FuaW1hdGlvbkNhbGxiYWNrc0J1ZmZlcj1bXX0pKX0pKSx0aGlzLl9hbmltYXRpb25DYWxsYmFja3NCdWZmZXIucHVzaChbZSxuXSkpfWVuZCgpe3RoaXMuX2NkUmVjdXJEZXB0aC0tLDA9PXRoaXMuX2NkUmVjdXJEZXB0aCYmdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9zY2hlZHVsZUNvdW50VGFzaygpLHRoaXMuZW5naW5lLmZsdXNoKHRoaXMuX21pY3JvdGFza0lkKX0pKSx0aGlzLmRlbGVnYXRlLmVuZCYmdGhpcy5kZWxlZ2F0ZS5lbmQoKX13aGVuUmVuZGVyaW5nRG9uZSgpe3JldHVybiB0aGlzLmVuZ2luZS53aGVuUmVuZGVyaW5nRG9uZSgpfX1hay7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8YWspKFRyKFFoKSxUcihBdyksVHIobUMpKX0sYWsuybVwcm92PVNuKHt0b2tlbjphayxmYWN0b3J5OmFrLsm1ZmFjfSksYWsuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpRaH0se3R5cGU6QXd9LHt0eXBlOm1DfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihhayxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UWh9LHt0eXBlOkF3fSx7dHlwZTptQ31dfSksbnVsbCk7Y2xhc3Mgcmt7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMubmFtZXNwYWNlSWQ9dCx0aGlzLmRlbGVnYXRlPWUsdGhpcy5lbmdpbmU9bix0aGlzLmRlc3Ryb3lOb2RlPXRoaXMuZGVsZWdhdGUuZGVzdHJveU5vZGU/dD0+ZS5kZXN0cm95Tm9kZSh0KTpudWxsfWdldCBkYXRhKCl7cmV0dXJuIHRoaXMuZGVsZWdhdGUuZGF0YX1kZXN0cm95KCl7dGhpcy5lbmdpbmUuZGVzdHJveSh0aGlzLm5hbWVzcGFjZUlkLHRoaXMuZGVsZWdhdGUpLHRoaXMuZGVsZWdhdGUuZGVzdHJveSgpfWNyZWF0ZUVsZW1lbnQodCxlKXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZS5jcmVhdGVFbGVtZW50KHQsZSl9Y3JlYXRlQ29tbWVudCh0KXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZS5jcmVhdGVDb21tZW50KHQpfWNyZWF0ZVRleHQodCl7cmV0dXJuIHRoaXMuZGVsZWdhdGUuY3JlYXRlVGV4dCh0KX1hcHBlbmRDaGlsZCh0LGUpe3RoaXMuZGVsZWdhdGUuYXBwZW5kQ2hpbGQodCxlKSx0aGlzLmVuZ2luZS5vbkluc2VydCh0aGlzLm5hbWVzcGFjZUlkLGUsdCwhMSl9aW5zZXJ0QmVmb3JlKHQsZSxuLG89ITApe3RoaXMuZGVsZWdhdGUuaW5zZXJ0QmVmb3JlKHQsZSxuKSx0aGlzLmVuZ2luZS5vbkluc2VydCh0aGlzLm5hbWVzcGFjZUlkLGUsdCxvKX1yZW1vdmVDaGlsZCh0LGUsbil7dGhpcy5lbmdpbmUub25SZW1vdmUodGhpcy5uYW1lc3BhY2VJZCxlLHRoaXMuZGVsZWdhdGUsbil9c2VsZWN0Um9vdEVsZW1lbnQodCxlKXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZS5zZWxlY3RSb290RWxlbWVudCh0LGUpfXBhcmVudE5vZGUodCl7cmV0dXJuIHRoaXMuZGVsZWdhdGUucGFyZW50Tm9kZSh0KX1uZXh0U2libGluZyh0KXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZS5uZXh0U2libGluZyh0KX1zZXRBdHRyaWJ1dGUodCxlLG4sbyl7dGhpcy5kZWxlZ2F0ZS5zZXRBdHRyaWJ1dGUodCxlLG4sbyl9cmVtb3ZlQXR0cmlidXRlKHQsZSxuKXt0aGlzLmRlbGVnYXRlLnJlbW92ZUF0dHJpYnV0ZSh0LGUsbil9YWRkQ2xhc3ModCxlKXt0aGlzLmRlbGVnYXRlLmFkZENsYXNzKHQsZSl9cmVtb3ZlQ2xhc3ModCxlKXt0aGlzLmRlbGVnYXRlLnJlbW92ZUNsYXNzKHQsZSl9c2V0U3R5bGUodCxlLG4sbyl7dGhpcy5kZWxlZ2F0ZS5zZXRTdHlsZSh0LGUsbixvKX1yZW1vdmVTdHlsZSh0LGUsbil7dGhpcy5kZWxlZ2F0ZS5yZW1vdmVTdHlsZSh0LGUsbil9c2V0UHJvcGVydHkodCxlLG4pe2UuY2hhckF0KDApPT1vayYmZT09aWs/dGhpcy5kaXNhYmxlQW5pbWF0aW9ucyh0LCEhbik6dGhpcy5kZWxlZ2F0ZS5zZXRQcm9wZXJ0eSh0LGUsbil9c2V0VmFsdWUodCxlKXt0aGlzLmRlbGVnYXRlLnNldFZhbHVlKHQsZSl9bGlzdGVuKHQsZSxuKXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZS5saXN0ZW4odCxlLG4pfWRpc2FibGVBbmltYXRpb25zKHQsZSl7dGhpcy5lbmdpbmUuZGlzYWJsZUFuaW1hdGlvbnModCxlKX19Y2xhc3Mgc2sgZXh0ZW5kcyBya3tjb25zdHJ1Y3Rvcih0LGUsbixvKXtzdXBlcihlLG4sbyksdGhpcy5mYWN0b3J5PXQsdGhpcy5uYW1lc3BhY2VJZD1lfXNldFByb3BlcnR5KHQsZSxuKXtlLmNoYXJBdCgwKT09b2s/Ii4iPT1lLmNoYXJBdCgxKSYmZT09aWs/dGhpcy5kaXNhYmxlQW5pbWF0aW9ucyh0LG49dm9pZCAwPT09bnx8ISFuKTp0aGlzLmVuZ2luZS5wcm9jZXNzKHRoaXMubmFtZXNwYWNlSWQsdCxlLnN1YnN0cigxKSxuKTp0aGlzLmRlbGVnYXRlLnNldFByb3BlcnR5KHQsZSxuKX1saXN0ZW4odCxlLG4pe2lmKGUuY2hhckF0KDApPT1vayl7Y29uc3Qgbz0oZnVuY3Rpb24gaSh0KXtzd2l0Y2godCl7Y2FzZSJib2R5IjpyZXR1cm4gZG9jdW1lbnQuYm9keTtjYXNlImRvY3VtZW50IjpyZXR1cm4gZG9jdW1lbnQ7Y2FzZSJ3aW5kb3ciOnJldHVybiB3aW5kb3c7ZGVmYXVsdDpyZXR1cm4gdH19KSh0KTtsZXQgYT1lLnN1YnN0cigxKSxyPSIiO3JldHVybiBhLmNoYXJBdCgwKSE9b2smJihbYSxyXT0oZnVuY3Rpb24gcyh0KXtjb25zdCBlPXQuaW5kZXhPZigiLiIpLG49dC5zdWJzdHJpbmcoMCxlKSxvPXQuc3Vic3RyKGUrMSk7cmV0dXJuW24sb119Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykoYSkpLHRoaXMuZW5naW5lLmxpc3Rlbih0aGlzLm5hbWVzcGFjZUlkLG8sYSxyLCh0PT57dGhpcy5mYWN0b3J5LnNjaGVkdWxlTGlzdGVuZXJDYWxsYmFjayh0Ll9kYXRhfHwtMSxuLHQpfSkpfXJldHVybiB0aGlzLmRlbGVnYXRlLmxpc3Rlbih0LGUsbil9fWNsYXNzIGxrIGV4dGVuZHMgQXd7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQuYm9keSxlLG4pfW5nT25EZXN0cm95KCl7dGhpcy5mbHVzaCgpfX1say7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bGspKFRyKHNNKSxUcihuUCksVHIoJFApKX0sbGsuybVwcm92PVNuKHt0b2tlbjpsayxmYWN0b3J5OmxrLsm1ZmFjfSksbGsuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOm5QfSx7dHlwZTokUH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobGssW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6blB9LHt0eXBlOiRQfV19KSxudWxsKTtjb25zdCBjaz1uZXcgZXIoIkFuaW1hdGlvbk1vZHVsZVR5cGUiKSxkaz1be3Byb3ZpZGU6TU8sdXNlQ2xhc3M6JHd9LHtwcm92aWRlOiRQLHVzZUZhY3Rvcnk6ZnVuY3Rpb24gcGsoKXtyZXR1cm4gbmV3IHR3fX0se3Byb3ZpZGU6QXcsdXNlQ2xhc3M6bGt9LHtwcm92aWRlOlFoLHVzZUZhY3Rvcnk6ZnVuY3Rpb24gbWsodCxlLG4pe3JldHVybiBuZXcgYWsodCxlLG4pfSxkZXBzOlt6eCxBdyxtQ119XSxmaz1be3Byb3ZpZGU6blAsdXNlRmFjdG9yeTpmdW5jdGlvbiB1aygpe3JldHVybihmdW5jdGlvbiB0KCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIFF3KCl9KSgpP25ldyBKdzpuZXcgWnd9fSx7cHJvdmlkZTpjayx1c2VWYWx1ZToiQnJvd3NlckFuaW1hdGlvbnMifSwuLi5ka10sZ2s9W3twcm92aWRlOm5QLHVzZUNsYXNzOmVQfSx7cHJvdmlkZTpjayx1c2VWYWx1ZToiTm9vcEFuaW1hdGlvbnMifSwuLi5ka107Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBoa3tzdGF0aWMgd2l0aENvbmZpZyh0KXtyZXR1cm57bmdNb2R1bGU6aGsscHJvdmlkZXJzOnQuZGlzYWJsZUFuaW1hdGlvbnM/Z2s6Zmt9fX1oay7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aGspfSxoay7JtW1vZD1mbyh7dHlwZTpoa30pLGhrLsm1aW5qPURuKHtwcm92aWRlcnM6ZmssaW1wb3J0czpbZE9dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihoayxbe3R5cGU6TF8sYXJnczpbe2V4cG9ydHM6W2RPXSxwcm92aWRlcnM6Zmt9XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhoayx7ZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltkT119fSk7Y2xhc3MgYmt7fWJrLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxiayl9LGJrLsm1bW9kPWZvKHt0eXBlOmJrfSksYmsuybVpbmo9RG4oe3Byb3ZpZGVyczpnayxpbXBvcnRzOltkT119KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGJrLFt7dHlwZTpMXyxhcmdzOlt7ZXhwb3J0czpbZE9dLHByb3ZpZGVyczpna31dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGJrLHtleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW2RPXX19KTtjb25zdCB5az17fTtmdW5jdGlvbiBfayh0LGUpe2lmKHlrW3RdPSh5a1t0XXx8MCkrMSwiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gQ2sodCwoKC4uLm4pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSguLi5uKSkse3R5cGU6dH0pKSk7c3dpdGNoKGU/ZS5fYXM6ImVtcHR5Iil7Y2FzZSJlbXB0eSI6cmV0dXJuIENrKHQsKCgpPT4oe3R5cGU6dH0pKSk7Y2FzZSJwcm9wcyI6cmV0dXJuIENrKHQsKGU9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx7dHlwZTp0fSkpKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBjb25maWcuIil9fWZ1bmN0aW9uIENrKHQsZSl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJ0eXBlIix7dmFsdWU6dCx3cml0YWJsZTohMX0pfWNvbnN0IE1rPSJAbmdyeC9zdG9yZS9pbml0IjtjbGFzcyB2ayBleHRlbmRzIGp7Y29uc3RydWN0b3IoKXtzdXBlcih7dHlwZTpNa30pfW5leHQodCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiXG4gICAgICAgIERpc3BhdGNoIGV4cGVjdGVkIGFuIG9iamVjdCwgaW5zdGVhZCBpdCByZWNlaXZlZCBhIGZ1bmN0aW9uLlxuICAgICAgICBJZiB5b3UncmUgdXNpbmcgdGhlIGNyZWF0ZUFjdGlvbiBmdW5jdGlvbiwgbWFrZSBzdXJlIHRvIGludm9rZSB0aGUgZnVuY3Rpb25cbiAgICAgICAgYmVmb3JlIGRpc3BhdGNoaW5nIHRoZSBhY3Rpb24uIEZvciBleGFtcGxlLCBzb21lQWN0aW9uIHNob3VsZCBiZSBzb21lQWN0aW9uKCkuIik7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBY3Rpb25zIG11c3QgYmUgb2JqZWN0cyIpO2lmKHZvaWQgMD09PXQudHlwZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBY3Rpb25zIG11c3QgaGF2ZSBhIHR5cGUgcHJvcGVydHkiKTtzdXBlci5uZXh0KHQpfWNvbXBsZXRlKCl7fW5nT25EZXN0cm95KCl7c3VwZXIuY29tcGxldGUoKX19dmsuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHZrKX0sdmsuybVwcm92PVNuKHt0b2tlbjp2ayxmYWN0b3J5OnZrLsm1ZmFjfSksdmsuY3RvclBhcmFtZXRlcnM9KCk9PltdLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodmssW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSxudWxsKTtjb25zdCB4az1bdmtdLE9rPW5ldyBlcigiQG5ncngvc3RvcmUgSW50ZXJuYWwgUm9vdCBHdWFyZCIpLFBrPW5ldyBlcigiQG5ncngvc3RvcmUgSW50ZXJuYWwgSW5pdGlhbCBTdGF0ZSIpLHdrPW5ldyBlcigiQG5ncngvc3RvcmUgSW5pdGlhbCBTdGF0ZSIpLGtrPW5ldyBlcigiQG5ncngvc3RvcmUgUmVkdWNlciBGYWN0b3J5IiksU2s9bmV3IGVyKCJAbmdyeC9zdG9yZSBJbnRlcm5hbCBSZWR1Y2VyIEZhY3RvcnkgUHJvdmlkZXIiKSxEaz1uZXcgZXIoIkBuZ3J4L3N0b3JlIEluaXRpYWwgUmVkdWNlcnMiKSxSaz1uZXcgZXIoIkBuZ3J4L3N0b3JlIEludGVybmFsIEluaXRpYWwgUmVkdWNlcnMiKSxFaz1uZXcgZXIoIkBuZ3J4L3N0b3JlIFN0b3JlIEZlYXR1cmVzIiksQWs9bmV3IGVyKCJAbmdyeC9zdG9yZSBJbnRlcm5hbCBTdG9yZSBSZWR1Y2VycyIpLFRrPW5ldyBlcigiQG5ncngvc3RvcmUgSW50ZXJuYWwgRmVhdHVyZSBSZWR1Y2VycyIpLE5rPW5ldyBlcigiQG5ncngvc3RvcmUgSW50ZXJuYWwgRmVhdHVyZSBDb25maWdzIiksems9bmV3IGVyKCJAbmdyeC9zdG9yZSBJbnRlcm5hbCBTdG9yZSBGZWF0dXJlcyIpLElrPW5ldyBlcigiQG5ncngvc3RvcmUgSW50ZXJuYWwgRmVhdHVyZSBSZWR1Y2VycyBUb2tlbiIpLEhrPW5ldyBlcigiQG5ncngvc3RvcmUgRmVhdHVyZSBSZWR1Y2VycyIpLEZrPW5ldyBlcigiQG5ncngvc3RvcmUgVXNlciBQcm92aWRlZCBNZXRhIFJlZHVjZXJzIiksTGs9bmV3IGVyKCJAbmdyeC9zdG9yZSBNZXRhIFJlZHVjZXJzIiksQms9bmV3IGVyKCJAbmdyeC9zdG9yZSBJbnRlcm5hbCBSZXNvbHZlZCBNZXRhIFJlZHVjZXJzIiksVms9bmV3IGVyKCJAbmdyeC9zdG9yZSBVc2VyIFJ1bnRpbWUgQ2hlY2tzIENvbmZpZyIpLGprPW5ldyBlcigiQG5ncngvc3RvcmUgSW50ZXJuYWwgVXNlciBSdW50aW1lIENoZWNrcyBDb25maWciKSxVaz1uZXcgZXIoIkBuZ3J4L3N0b3JlIEludGVybmFsIFJ1bnRpbWUgQ2hlY2tzIiksV2s9bmV3IGVyKCJAbmdyeC9zdG9yZSBDaGVjayBpZiBBY3Rpb24gdHlwZXMgYXJlIHVuaXF1ZSIpO2Z1bmN0aW9uIEdrKHQsZT17fSl7Y29uc3Qgbj1PYmplY3Qua2V5cyh0KSxvPXt9O2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKXtjb25zdCBpPW5bZV07ImZ1bmN0aW9uIj09dHlwZW9mIHRbaV0mJihvW2ldPXRbaV0pfWNvbnN0IGk9T2JqZWN0LmtleXMobyk7cmV0dXJuIGZ1bmN0aW9uIHQobixhKXtuPXZvaWQgMD09PW4/ZTpuO2xldCByPSExO2NvbnN0IHM9e307Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0Kyspe2NvbnN0IGU9aVt0XSxsPW5bZV0sYz0oMCxvW2VdKShsLGEpO3NbZV09YyxyPXJ8fGMhPT1sfXJldHVybiByP3M6bn19ZnVuY3Rpb24gWWsoLi4udCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gZTtjb25zdCBuPXRbdC5sZW5ndGgtMV07cmV0dXJuIHQuc2xpY2UoMCwtMSkucmVkdWNlUmlnaHQoKCh0LGUpPT5lKHQpKSxuKGUpKX19ZnVuY3Rpb24gcWsodCxlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGg+MCYmKHQ9WWsuYXBwbHkobnVsbCxbLi4uZSx0XSkpLChlLG4pPT57Y29uc3Qgbz10KGUpO3JldHVybih0LGUpPT5vKHQ9dm9pZCAwPT09dD9uOnQsZSl9fWNsYXNzIFprIGV4dGVuZHMgVHt9Y2xhc3MgWGsgZXh0ZW5kcyB2a3t9Y2xhc3MgS2sgZXh0ZW5kcyBqe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKG8obixlKSksdGhpcy5kaXNwYXRjaGVyPXQsdGhpcy5pbml0aWFsU3RhdGU9ZSx0aGlzLnJlZHVjZXJzPW4sdGhpcy5yZWR1Y2VyRmFjdG9yeT1vfWdldCBjdXJyZW50UmVkdWNlcnMoKXtyZXR1cm4gdGhpcy5yZWR1Y2Vyc31hZGRGZWF0dXJlKHQpe3RoaXMuYWRkRmVhdHVyZXMoW3RdKX1hZGRGZWF0dXJlcyh0KXtjb25zdCBlPXQucmVkdWNlKCgodCx7cmVkdWNlcnM6ZSxyZWR1Y2VyRmFjdG9yeTpuLG1ldGFSZWR1Y2VyczpvLGluaXRpYWxTdGF0ZTppLGtleTphfSk9Pntjb25zdCByPSJmdW5jdGlvbiI9PXR5cGVvZiBlPyhmdW5jdGlvbiBzKHQpe2NvbnN0IGU9QXJyYXkuaXNBcnJheSh0KSYmdC5sZW5ndGg+MD9ZayguLi50KTp0PT50O3JldHVybih0LG4pPT4odD1lKHQpLChlLG8pPT50KGU9dm9pZCAwPT09ZT9uOmUsbykpfSkobykoZSxpKTpxayhuLG8pKGUsaSk7cmV0dXJuIHRbYV09cix0fSkse30pO3RoaXMuYWRkUmVkdWNlcnMoZSl9cmVtb3ZlRmVhdHVyZSh0KXt0aGlzLnJlbW92ZUZlYXR1cmVzKFt0XSl9cmVtb3ZlRmVhdHVyZXModCl7dGhpcy5yZW1vdmVSZWR1Y2Vycyh0Lm1hcCgodD0+dC5rZXkpKSl9YWRkUmVkdWNlcih0LGUpe3RoaXMuYWRkUmVkdWNlcnMoe1t0XTplfSl9YWRkUmVkdWNlcnModCl7dGhpcy5yZWR1Y2Vycz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdGhpcy5yZWR1Y2VycyksdCksdGhpcy51cGRhdGVSZWR1Y2VycyhPYmplY3Qua2V5cyh0KSl9cmVtb3ZlUmVkdWNlcih0KXt0aGlzLnJlbW92ZVJlZHVjZXJzKFt0XSl9cmVtb3ZlUmVkdWNlcnModCl7dC5mb3JFYWNoKCh0PT57dGhpcy5yZWR1Y2Vycz0oZnVuY3Rpb24gZSh0LG4pe3JldHVybiBPYmplY3Qua2V5cyh0KS5maWx0ZXIoKHQ9PnQhPT1uKSkucmVkdWNlKCgoZSxuKT0+T2JqZWN0LmFzc2lnbihlLHtbbl06dFtuXX0pKSx7fSl9KSh0aGlzLnJlZHVjZXJzLHQpfSkpLHRoaXMudXBkYXRlUmVkdWNlcnModCl9dXBkYXRlUmVkdWNlcnModCl7dGhpcy5uZXh0KHRoaXMucmVkdWNlckZhY3RvcnkodGhpcy5yZWR1Y2Vycyx0aGlzLmluaXRpYWxTdGF0ZSkpLHRoaXMuZGlzcGF0Y2hlci5uZXh0KHt0eXBlOiJAbmdyeC9zdG9yZS91cGRhdGUtcmVkdWNlcnMiLGZlYXR1cmVzOnR9KX1uZ09uRGVzdHJveSgpe3RoaXMuY29tcGxldGUoKX19S2suybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEtrKShUcihYayksVHIod2spLFRyKERrKSxUcihraykpfSxLay7JtXByb3Y9U24oe3Rva2VuOktrLGZhY3Rvcnk6S2suybVmYWN9KSxLay5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlhrfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbd2tdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltEa119XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2trXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihLayxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6WGt9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOlt3a119XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W0RrXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpba2tdfV19XX0pLG51bGwpO2NvbnN0IEprPVtLayx7cHJvdmlkZTpaayx1c2VFeGlzdGluZzpLa30se3Byb3ZpZGU6WGssdXNlRXhpc3Rpbmc6dmt9XTtjbGFzcyBRayBleHRlbmRzIEJ7bmdPbkRlc3Ryb3koKXt0aGlzLmNvbXBsZXRlKCl9fVFrLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShRaykpKShufHxRayl9fSkoKSxRay7JtXByb3Y9U24oe3Rva2VuOlFrLGZhY3Rvcnk6UWsuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFFrLFt7dHlwZTpVbX1dLG51bGwsbnVsbCk7Y29uc3QgJGs9W1FrXTtjbGFzcyB0UyBleHRlbmRzIFR7fWNsYXNzIGVTIGV4dGVuZHMgantjb25zdHJ1Y3Rvcih0LGUsbixvKXtzdXBlcihvKTtjb25zdCBpPXQucGlwZSgoZnVuY3Rpb24gcih0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT0wKSx6KChmdW5jdGlvbihuLG8pe24uc3Vic2NyaWJlKG5ldyBIKG8sKGZ1bmN0aW9uKG4pe3JldHVybiBvLmFkZCh0LnNjaGVkdWxlKChmdW5jdGlvbigpe3JldHVybiBvLm5leHQobil9KSxlKSl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gby5hZGQodC5zY2hlZHVsZSgoZnVuY3Rpb24oKXtyZXR1cm4gby5jb21wbGV0ZSgpfSksZSkpfSksKGZ1bmN0aW9uKG4pe3JldHVybiBvLmFkZCh0LnNjaGVkdWxlKChmdW5jdGlvbigpe3JldHVybiBvLmVycm9yKG4pfSksZSkpfSkpKX0pKX0pKHN0KSkucGlwZShxZShlKSkucGlwZSgoZnVuY3Rpb24gYSh0LGUpe3JldHVybiB6KGJlKHQsZSxhcmd1bWVudHMubGVuZ3RoPj0yLCEwKSl9KShuUyx7c3RhdGU6b30pKTt0aGlzLnN0YXRlU3Vic2NyaXB0aW9uPWkuc3Vic2NyaWJlKCgoe3N0YXRlOnQsYWN0aW9uOmV9KT0+e3RoaXMubmV4dCh0KSxuLm5leHQoZSl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLnN0YXRlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5jb21wbGV0ZSgpfX1mdW5jdGlvbiBuUyh0PXtzdGF0ZTp2b2lkIDB9LFtlLG5dKXtjb25zdHtzdGF0ZTpvfT10O3JldHVybntzdGF0ZTpuKG8sZSksYWN0aW9uOmV9fWVTLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxlUykoVHIodmspLFRyKFprKSxUcihRayksVHIod2spKX0sZVMuybVwcm92PVNuKHt0b2tlbjplUyxmYWN0b3J5OmVTLsm1ZmFjfSksZVMuSU5JVD1NayxlUy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnZrfSx7dHlwZTpaa30se3R5cGU6UWt9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOlt3a119XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZVMsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZrfSx7dHlwZTpaa30se3R5cGU6UWt9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOlt3a119XX1dfSksbnVsbCk7Y29uc3Qgb1M9W2VTLHtwcm92aWRlOnRTLHVzZUV4aXN0aW5nOmVTfV07Y2xhc3MgaVMgZXh0ZW5kcyBUe2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcigpLHRoaXMuYWN0aW9uc09ic2VydmVyPWUsdGhpcy5yZWR1Y2VyTWFuYWdlcj1uLHRoaXMuc291cmNlPXR9c2VsZWN0KHQsLi4uZSl7cmV0dXJuIHJTLmNhbGwobnVsbCx0LC4uLmUpKHRoaXMpfWxpZnQodCl7Y29uc3QgZT1uZXcgaVModGhpcyx0aGlzLmFjdGlvbnNPYnNlcnZlcix0aGlzLnJlZHVjZXJNYW5hZ2VyKTtyZXR1cm4gZS5vcGVyYXRvcj10LGV9ZGlzcGF0Y2godCl7dGhpcy5hY3Rpb25zT2JzZXJ2ZXIubmV4dCh0KX1uZXh0KHQpe3RoaXMuYWN0aW9uc09ic2VydmVyLm5leHQodCl9ZXJyb3IodCl7dGhpcy5hY3Rpb25zT2JzZXJ2ZXIuZXJyb3IodCl9Y29tcGxldGUoKXt0aGlzLmFjdGlvbnNPYnNlcnZlci5jb21wbGV0ZSgpfWFkZFJlZHVjZXIodCxlKXt0aGlzLnJlZHVjZXJNYW5hZ2VyLmFkZFJlZHVjZXIodCxlKX1yZW1vdmVSZWR1Y2VyKHQpe3RoaXMucmVkdWNlck1hbmFnZXIucmVtb3ZlUmVkdWNlcih0KX19aVMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGlTKShUcih0UyksVHIodmspLFRyKEtrKSl9LGlTLsm1cHJvdj1Tbih7dG9rZW46aVMsZmFjdG9yeTppUy7JtWZhY30pLGlTLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dFN9LHt0eXBlOnZrfSx7dHlwZTpLa31dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaVMsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnRTfSx7dHlwZTp2a30se3R5cGU6S2t9XX0pLG51bGwpO2NvbnN0IGFTPVtpU107ZnVuY3Rpb24gclModCxlLC4uLm4pe3JldHVybiBmdW5jdGlvbiBvKGkpe2xldCBhO2lmKCJzdHJpbmciPT10eXBlb2YgdCl7Y29uc3Qgbz1bZSwuLi5uXS5maWx0ZXIoQm9vbGVhbik7YT1pLnBpcGUoKGZ1bmN0aW9uIHIoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49dC5sZW5ndGg7aWYoMD09PW4pdGhyb3cgbmV3IEVycm9yKCJsaXN0IG9mIHByb3BlcnRpZXMgY2Fubm90IGJlIGVtcHR5LiIpO3JldHVybiBWdCgoZnVuY3Rpb24oZSl7Zm9yKHZhciBvPWUsaT0wO2k8bjtpKyspe3ZhciBhPW51bGw9PW8/dm9pZCAwOm9bdFtpXV07aWYodm9pZCAwPT09YSlyZXR1cm47bz1hfXJldHVybiBvfSkpfSkodCwuLi5vKSl9ZWxzZXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKGBVbmV4cGVjdGVkIHR5cGUgJyR7dHlwZW9mIHR9JyBpbiBzZWxlY3Qgb3BlcmF0b3IsIGV4cGVjdGVkICdzdHJpbmcnIG9yICdmdW5jdGlvbidgKTthPWkucGlwZShWdCgobj0+dChuLGUpKSkpfXJldHVybiBhLnBpcGUod2UoKSl9fWNvbnN0IHNTPSJodHRwczovL25ncnguaW8vZ3VpZGUvc3RvcmUvY29uZmlndXJhdGlvbi9ydW50aW1lLWNoZWNrcyI7ZnVuY3Rpb24gbFModCl7cmV0dXJuIHZvaWQgMD09PXR9ZnVuY3Rpb24gY1ModCl7cmV0dXJuIG51bGw9PT10fWZ1bmN0aW9uIGRTKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpfWZ1bmN0aW9uIHBTKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXR9ZnVuY3Rpb24gbVModCl7aWYoIShmdW5jdGlvbiBlKHQpe3JldHVybiBwUyh0KSYmIWRTKHQpfSkodCkpcmV0dXJuITE7Y29uc3Qgbj1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCk7cmV0dXJuIG49PT1PYmplY3QucHJvdG90eXBlfHxudWxsPT09bn1mdW5jdGlvbiBmUyh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH1mdW5jdGlvbiB1Uyh0LGUpe3JldHVybiB0PT09ZX1mdW5jdGlvbiBnUyh0LGUsbil7Zm9yKGxldCBvPTA7bzx0Lmxlbmd0aDtvKyspaWYoIW4odFtvXSxlW29dKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBoUyh0LGU9dVMsbj11Uyl7bGV0IG8saT1udWxsLGE9bnVsbDtyZXR1cm57bWVtb2l6ZWQ6ZnVuY3Rpb24gcigpe2lmKHZvaWQgMCE9PW8pcmV0dXJuIG8ucmVzdWx0O2lmKCFpKXJldHVybiBhPXQuYXBwbHkobnVsbCxhcmd1bWVudHMpLGk9YXJndW1lbnRzLGE7aWYoIWdTKGFyZ3VtZW50cyxpLGUpKXJldHVybiBhO2NvbnN0IHI9dC5hcHBseShudWxsLGFyZ3VtZW50cyk7cmV0dXJuIGk9YXJndW1lbnRzLG4oYSxyKT9hOihhPXIscil9LHJlc2V0OmZ1bmN0aW9uIHMoKXtpPW51bGwsYT1udWxsfSxzZXRSZXN1bHQ6ZnVuY3Rpb24gbCh0KXtvPXtyZXN1bHQ6dH19LGNsZWFyUmVzdWx0OmZ1bmN0aW9uIGMoKXtvPXZvaWQgMH19fWZ1bmN0aW9uIGJTKC4uLnQpe3JldHVybihmdW5jdGlvbiBlKHQsbj17c3RhdGVGbjp5U30pe3JldHVybiBmdW5jdGlvbiguLi5lKXtsZXQgbz1lO2lmKEFycmF5LmlzQXJyYXkob1swXSkpe2NvbnN0W3QsLi4uZV09bztvPVsuLi50LC4uLmVdfWNvbnN0IGk9by5zbGljZSgwLG8ubGVuZ3RoLTEpLGE9b1tvLmxlbmd0aC0xXSxyPWkuZmlsdGVyKCh0PT50LnJlbGVhc2UmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnJlbGVhc2UpKSxzPXQoKGZ1bmN0aW9uKC4uLnQpe3JldHVybiBhLmFwcGx5KG51bGwsdCl9KSksbD1oUygoZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5zdGF0ZUZuLmFwcGx5KG51bGwsW3QsaSxlLHNdKX0pKTtmdW5jdGlvbiBjKCl7bC5yZXNldCgpLHMucmVzZXQoKSxyLmZvckVhY2goKHQ9PnQucmVsZWFzZSgpKSl9cmV0dXJuIE9iamVjdC5hc3NpZ24obC5tZW1vaXplZCx7cmVsZWFzZTpjLHByb2plY3RvcjpzLm1lbW9pemVkLHNldFJlc3VsdDpsLnNldFJlc3VsdCxjbGVhclJlc3VsdDpsLmNsZWFyUmVzdWx0fSl9fSkoaFMpKC4uLnQpfWZ1bmN0aW9uIHlTKHQsZSxuLG8pe2lmKHZvaWQgMD09PW4pe2NvbnN0IG49ZS5tYXAoKGU9PmUodCkpKTtyZXR1cm4gby5tZW1vaXplZC5hcHBseShudWxsLG4pfWNvbnN0IGk9ZS5tYXAoKGU9PmUodCxuKSkpO3JldHVybiBvLm1lbW9pemVkLmFwcGx5KG51bGwsWy4uLmksbl0pfWZ1bmN0aW9uIF9TKHQpe3JldHVybiBiUygoZT0+e2NvbnN0IG49ZVt0XTtyZXR1cm4gUEMoKSYmISh0IGluIGUpJiZjb25zb2xlLndhcm4oYEBuZ3J4L3N0b3JlOiBUaGUgZmVhdHVyZSBuYW1lICIke3R9IiBkb2VzIG5vdCBleGlzdCBpbiB0aGUgc3RhdGUsIHRoZXJlZm9yZSBjcmVhdGVGZWF0dXJlU2VsZWN0b3IgY2Fubm90IGFjY2VzcyBpdC4gIEJlIHN1cmUgaXQgaXMgaW1wb3J0ZWQgaW4gYSBsb2FkZWQgbW9kdWxlIHVzaW5nIFN0b3JlTW9kdWxlLmZvclJvb3QoJyR7dH0nLCAuLi4pIG9yIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoJyR7dH0nLCAuLi4pLiAgSWYgdGhlIGRlZmF1bHQgc3RhdGUgaXMgaW50ZW5kZWQgdG8gYmUgdW5kZWZpbmVkLCBhcyBpcyB0aGUgY2FzZSB3aXRoIHJvdXRlciBzdGF0ZSwgdGhpcyBkZXZlbG9wbWVudC1vbmx5IHdhcm5pbmcgbWVzc2FnZSBjYW4gYmUgaWdub3JlZC5gKSxufSksKHQ9PnQpKX1mdW5jdGlvbiBDUyh0KXtPYmplY3QuZnJlZXplKHQpO2NvbnN0IGU9ZlModCk7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLmZvckVhY2goKG49PntpZighbi5zdGFydHNXaXRoKCLJtSIpJiYoZnVuY3Rpb24gbyh0LGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKX0pKHQsbikmJighZXx8ImNhbGxlciIhPT1uJiYiY2FsbGVlIiE9PW4mJiJhcmd1bWVudHMiIT09bikpe2NvbnN0IGU9dFtuXTshcFMoZSkmJiFmUyhlKXx8T2JqZWN0LmlzRnJvemVuKGUpfHxDUyhlKX19KSksdH1mdW5jdGlvbiBNUyh0LGU9W10pe2lmKChsUyh0KXx8Y1ModCkpJiYwPT09ZS5sZW5ndGgpcmV0dXJue3BhdGg6WyJyb290Il0sdmFsdWU6dH07cmV0dXJuIE9iamVjdC5rZXlzKHQpLnJlZHVjZSgoKG4sbyk9PntpZihuKXJldHVybiBuO2NvbnN0IGk9dFtvXTtyZXR1cm4oZnVuY3Rpb24gYSh0KXtyZXR1cm4gZlModCkmJnQuaGFzT3duUHJvcGVydHkoIsm1Y21wIil9KShpKT9uOiEobFMoaSl8fGNTKGkpfHwoZnVuY3Rpb24gcih0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHR9KShpKXx8KGZ1bmN0aW9uIHModCl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgdH0pKGkpfHwoZnVuY3Rpb24gbCh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR9KShpKXx8ZFMoaSkpJiYobVMoaSk/TVMoaSxbLi4uZSxvXSk6e3BhdGg6Wy4uLmUsb10sdmFsdWU6aX0pfSksITEpfWZ1bmN0aW9uIHZTKHQsZSl7aWYoITE9PT10KXJldHVybjtjb25zdCBuPXQucGF0aC5qb2luKCIuIiksbz1uZXcgRXJyb3IoYERldGVjdGVkIHVuc2VyaWFsaXphYmxlICR7ZX0gYXQgIiR7bn0iLiAke3NTfSNzdHJpY3Qke2V9c2VyaWFsaXphYmlsaXR5YCk7dGhyb3cgby52YWx1ZT10LnZhbHVlLG8udW5zZXJpYWxpemFibGVQYXRoPW4sb31mdW5jdGlvbiB4Uyh0KXtyZXR1cm4gUEMoKT9PYmplY3QuYXNzaWduKHtzdHJpY3RTdGF0ZVNlcmlhbGl6YWJpbGl0eTohMSxzdHJpY3RBY3Rpb25TZXJpYWxpemFiaWxpdHk6ITEsc3RyaWN0U3RhdGVJbW11dGFiaWxpdHk6ITAsc3RyaWN0QWN0aW9uSW1tdXRhYmlsaXR5OiEwLHN0cmljdEFjdGlvbldpdGhpbk5nWm9uZTohMSxzdHJpY3RBY3Rpb25UeXBlVW5pcXVlbmVzczohMX0sdCk6e3N0cmljdFN0YXRlU2VyaWFsaXphYmlsaXR5OiExLHN0cmljdEFjdGlvblNlcmlhbGl6YWJpbGl0eTohMSxzdHJpY3RTdGF0ZUltbXV0YWJpbGl0eTohMSxzdHJpY3RBY3Rpb25JbW11dGFiaWxpdHk6ITEsc3RyaWN0QWN0aW9uV2l0aGluTmdab25lOiExLHN0cmljdEFjdGlvblR5cGVVbmlxdWVuZXNzOiExfX1mdW5jdGlvbiBPUyh7c3RyaWN0QWN0aW9uU2VyaWFsaXphYmlsaXR5OnQsc3RyaWN0U3RhdGVTZXJpYWxpemFiaWxpdHk6ZX0pe3JldHVybiBuPT50fHxlPyhmdW5jdGlvbiBvKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4sbyl7ZS5hY3Rpb24obykmJnZTKE1TKG8pLCJhY3Rpb24iKTtjb25zdCBpPXQobixvKTtyZXR1cm4gZS5zdGF0ZSgpJiZ2UyhNUyhpKSwic3RhdGUiKSxpfX0pKG4se2FjdGlvbjplPT50JiYhd1MoZSksc3RhdGU6KCk9PmV9KTpufWZ1bmN0aW9uIFBTKHtzdHJpY3RBY3Rpb25JbW11dGFiaWxpdHk6dCxzdHJpY3RTdGF0ZUltbXV0YWJpbGl0eTplfSl7cmV0dXJuIG49PnR8fGU/KGZ1bmN0aW9uIG8odCxlKXtyZXR1cm4gZnVuY3Rpb24obixvKXtjb25zdCBpPWUuYWN0aW9uKG8pP0NTKG8pOm8sYT10KG4saSk7cmV0dXJuIGUuc3RhdGUoKT9DUyhhKTphfX0pKG4se2FjdGlvbjplPT50JiYhd1MoZSksc3RhdGU6KCk9PmV9KTpufWZ1bmN0aW9uIHdTKHQpe3JldHVybiB0LnR5cGUuc3RhcnRzV2l0aCgiQG5ncngiKX1mdW5jdGlvbiBrUyh7c3RyaWN0QWN0aW9uV2l0aGluTmdab25lOnR9KXtyZXR1cm4gZT0+dD8oZnVuY3Rpb24gbih0LGUpe3JldHVybiBmdW5jdGlvbihuLG8pe2lmKGUuYWN0aW9uKG8pJiYhbUMuaXNJbkFuZ3VsYXJab25lKCkpdGhyb3cgbmV3IEVycm9yKGBBY3Rpb24gJyR7by50eXBlfScgcnVubmluZyBvdXRzaWRlIE5nWm9uZS4gJHtzU30jc3RyaWN0YWN0aW9ud2l0aGlubmd6b25lYCk7cmV0dXJuIHQobixvKX19KShlLHthY3Rpb246ZT0+dCYmIXdTKGUpfSk6ZX1mdW5jdGlvbiBTUygpe3JldHVyblt7cHJvdmlkZTpXayxtdWx0aTohMCxkZXBzOltVa10sdXNlRmFjdG9yeTpSU31dfWZ1bmN0aW9uIERTKHQpe3JldHVybiB0fWZ1bmN0aW9uIFJTKHQpe2lmKCF0LnN0cmljdEFjdGlvblR5cGVVbmlxdWVuZXNzKXJldHVybjtjb25zdCBlPU9iamVjdC5lbnRyaWVzKHlrKS5maWx0ZXIoKChbLHRdKT0+dD4xKSkubWFwKCgoW3RdKT0+dCkpO2lmKGUubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgQWN0aW9uIHR5cGVzIGFyZSByZWdpc3RlcmVkIG1vcmUgdGhhbiBvbmNlLCAke2UubWFwKCh0PT5gIiR7dH0iYCkpLmpvaW4oIiwgIil9LiAke3NTfSNzdHJpY3RhY3Rpb250eXBldW5pcXVlbmVzc2ApfWNsYXNzIEVTe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhKXt9fUVTLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxFUykoVHIodmspLFRyKFprKSxUcihRayksVHIoaVMpLFRyKE9rLDgpLFRyKFdrLDgpKX0sRVMuybVtb2Q9Zm8oe3R5cGU6RVN9KSxFUy7JtWluaj1Ebih7fSksRVMuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2a30se3R5cGU6Wmt9LHt0eXBlOlFrfSx7dHlwZTppU30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltPa119XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltXa119XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRVMsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2a30se3R5cGU6Wmt9LHt0eXBlOlFrfSx7dHlwZTppU30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltPa119XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltXa119XX1dfSksbnVsbCk7Y2xhc3MgQVN7Y29uc3RydWN0b3IodCxlLG4sbyxpKXt0aGlzLmZlYXR1cmVzPXQsdGhpcy5mZWF0dXJlUmVkdWNlcnM9ZSx0aGlzLnJlZHVjZXJNYW5hZ2VyPW47Y29uc3QgYT10Lm1hcCgoKHQsbik9Pntjb25zdCBvPWUuc2hpZnQoKVtuXTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtyZWR1Y2VyczpvLGluaXRpYWxTdGF0ZTpIUyh0LmluaXRpYWxTdGF0ZSl9KX0pKTtuLmFkZEZlYXR1cmVzKGEpfW5nT25EZXN0cm95KCl7dGhpcy5yZWR1Y2VyTWFuYWdlci5yZW1vdmVGZWF0dXJlcyh0aGlzLmZlYXR1cmVzKX19QVMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEFTKShUcih6ayksVHIoSGspLFRyKEtrKSxUcihFUyksVHIoV2ssOCkpfSxBUy7JtW1vZD1mbyh7dHlwZTpBU30pLEFTLsm1aW5qPURuKHt9KSxBUy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3prXX1dfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltIa119XX0se3R5cGU6S2t9LHt0eXBlOkVTfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1drXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihBUyxbe3R5cGU6TF8sYXJnczpbe31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3prXX1dfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltIa119XX0se3R5cGU6S2t9LHt0eXBlOkVTfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1drXX1dfV19KSxudWxsKTtjbGFzcyBUU3tzdGF0aWMgZm9yUm9vdCh0LGU9e30pe3JldHVybntuZ01vZHVsZTpFUyxwcm92aWRlcnM6W3twcm92aWRlOk9rLHVzZUZhY3Rvcnk6TFMsZGVwczpbW2lTLG5ldyBCcixuZXcganJdXX0se3Byb3ZpZGU6UGssdXNlVmFsdWU6ZS5pbml0aWFsU3RhdGV9LHtwcm92aWRlOndrLHVzZUZhY3Rvcnk6SFMsZGVwczpbUGtdfSx7cHJvdmlkZTpSayx1c2VWYWx1ZTp0fSx7cHJvdmlkZTpBayx1c2VFeGlzdGluZzp0IGluc3RhbmNlb2YgZXI/dDpSa30se3Byb3ZpZGU6RGssZGVwczpbTnAsUmssW25ldyBMcihBayldXSx1c2VGYWN0b3J5Ok5TfSx7cHJvdmlkZTpGayx1c2VWYWx1ZTplLm1ldGFSZWR1Y2Vycz9lLm1ldGFSZWR1Y2VyczpbXX0se3Byb3ZpZGU6QmssZGVwczpbTGssRmtdLHVzZUZhY3Rvcnk6RlN9LHtwcm92aWRlOlNrLHVzZVZhbHVlOmUucmVkdWNlckZhY3Rvcnk/ZS5yZWR1Y2VyRmFjdG9yeTpHa30se3Byb3ZpZGU6a2ssZGVwczpbU2ssQmtdLHVzZUZhY3Rvcnk6cWt9LHhrLEprLCRrLG9TLGFTLChuPWUucnVudGltZUNoZWNrcyxbe3Byb3ZpZGU6amssdXNlVmFsdWU6bn0se3Byb3ZpZGU6VmssdXNlRmFjdG9yeTpEUyxkZXBzOltqa119LHtwcm92aWRlOlVrLGRlcHM6W1ZrXSx1c2VGYWN0b3J5OnhTfSx7cHJvdmlkZTpMayxtdWx0aTohMCxkZXBzOltVa10sdXNlRmFjdG9yeTpQU30se3Byb3ZpZGU6TGssbXVsdGk6ITAsZGVwczpbVWtdLHVzZUZhY3Rvcnk6T1N9LHtwcm92aWRlOkxrLG11bHRpOiEwLGRlcHM6W1VrXSx1c2VGYWN0b3J5OmtTfV0pLFNTKCldfTt2YXIgbn1zdGF0aWMgZm9yRmVhdHVyZSh0LGUsbj17fSl7cmV0dXJue25nTW9kdWxlOkFTLHByb3ZpZGVyczpbe3Byb3ZpZGU6TmssbXVsdGk6ITAsdXNlVmFsdWU6dCBpbnN0YW5jZW9mIE9iamVjdD97fTpufSx7cHJvdmlkZTpFayxtdWx0aTohMCx1c2VWYWx1ZTp7a2V5OnQgaW5zdGFuY2VvZiBPYmplY3Q/dC5uYW1lOnQscmVkdWNlckZhY3Rvcnk6biBpbnN0YW5jZW9mIGVyfHwhbi5yZWR1Y2VyRmFjdG9yeT9HazpuLnJlZHVjZXJGYWN0b3J5LG1ldGFSZWR1Y2VyczpuIGluc3RhbmNlb2YgZXJ8fCFuLm1ldGFSZWR1Y2Vycz9bXTpuLm1ldGFSZWR1Y2Vycyxpbml0aWFsU3RhdGU6biBpbnN0YW5jZW9mIGVyfHwhbi5pbml0aWFsU3RhdGU/dm9pZCAwOm4uaW5pdGlhbFN0YXRlfX0se3Byb3ZpZGU6emssZGVwczpbTnAsTmssRWtdLHVzZUZhY3Rvcnk6elN9LHtwcm92aWRlOlRrLG11bHRpOiEwLHVzZVZhbHVlOnQgaW5zdGFuY2VvZiBPYmplY3Q/dC5yZWR1Y2VyOmV9LHtwcm92aWRlOklrLG11bHRpOiEwLHVzZUV4aXN0aW5nOmUgaW5zdGFuY2VvZiBlcj9lOlRrfSx7cHJvdmlkZTpIayxtdWx0aTohMCxkZXBzOltOcCxUayxbbmV3IExyKElrKV1dLHVzZUZhY3Rvcnk6SVN9LFNTKCldfX19ZnVuY3Rpb24gTlModCxlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIGVyP3QuZ2V0KGUpOmV9ZnVuY3Rpb24gelModCxlLG4pe3JldHVybiBuLm1hcCgoKG4sbyk9PntpZihlW29daW5zdGFuY2VvZiBlcil7Y29uc3QgaT10LmdldChlW29dKTtyZXR1cm57a2V5Om4ua2V5LHJlZHVjZXJGYWN0b3J5OmkucmVkdWNlckZhY3Rvcnk/aS5yZWR1Y2VyRmFjdG9yeTpHayxtZXRhUmVkdWNlcnM6aS5tZXRhUmVkdWNlcnM/aS5tZXRhUmVkdWNlcnM6W10saW5pdGlhbFN0YXRlOmkuaW5pdGlhbFN0YXRlfX1yZXR1cm4gbn0pKX1mdW5jdGlvbiBJUyh0LGUpe3JldHVybiBlLm1hcCgoZT0+ZSBpbnN0YW5jZW9mIGVyP3QuZ2V0KGUpOmUpKX1mdW5jdGlvbiBIUyh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90KCk6dH1mdW5jdGlvbiBGUyh0LGUpe3JldHVybiB0LmNvbmNhdChlKX1mdW5jdGlvbiBMUyh0KXtpZih0KXRocm93IG5ldyBUeXBlRXJyb3IoIlN0b3JlTW9kdWxlLmZvclJvb3QoKSBjYWxsZWQgdHdpY2UuIEZlYXR1cmUgbW9kdWxlcyBzaG91bGQgdXNlIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoKSBpbnN0ZWFkLiIpO3JldHVybiJndWFyZGVkIn1mdW5jdGlvbiBCUyguLi50KXtyZXR1cm57cmVkdWNlcjp0LnBvcCgpLHR5cGVzOnQubWFwKCh0PT50LnR5cGUpKX19ZnVuY3Rpb24gVlModCwuLi5lKXtjb25zdCBuPW5ldyBNYXA7Zm9yKGNvbnN0IHQgb2YgZSlmb3IoY29uc3QgZSBvZiB0LnR5cGVzKXtjb25zdCBvPW4uZ2V0KGUpO2lmKG8pe24uc2V0KGUsKChlLG4pPT50LnJlZHVjZXIobyhlLG4pLG4pKSl9ZWxzZSBuLnNldChlLHQucmVkdWNlcil9cmV0dXJuIGZ1bmN0aW9uKGU9dCxvKXtjb25zdCBpPW4uZ2V0KG8udHlwZSk7cmV0dXJuIGk/aShlLG8pOmV9fVRTLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxUUyl9LFRTLsm1bW9kPWZvKHt0eXBlOlRTfSksVFMuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVFMsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLG51bGwsbnVsbCk7Y29uc3QgalM9e2Rpc3BhdGNoOiEwLHVzZUVmZmVjdHNFcnJvckhhbmRsZXI6ITB9LFVTPSJfX0BuZ3J4L2VmZmVjdHNfY3JlYXRlX18iO2Z1bmN0aW9uIFdTKHQsZSl7Y29uc3Qgbj10KCksbz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30salMpLGUpO3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkobixVUyx7dmFsdWU6b30pLG59ZnVuY3Rpb24gR1ModCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLmZpbHRlcigoZT0+e2lmKHRbZV0mJnRbZV0uaGFzT3duUHJvcGVydHkoVVMpKXtyZXR1cm4gdFtlXVtVU10uaGFzT3duUHJvcGVydHkoImRpc3BhdGNoIil9cmV0dXJuITF9KSkubWFwKChlPT5PYmplY3QuYXNzaWduKHtwcm9wZXJ0eU5hbWU6ZX0sdFtlXVtVU10pKSl9ZnVuY3Rpb24gWVModCl7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0KX1jb25zdCBxUz0iX19AbmdyeC9lZmZlY3RzX18iO2Z1bmN0aW9uIFpTKHQpe3JldHVybiBZayhYUyxZUykodCl9ZnVuY3Rpb24gWFModCl7cmV0dXJuKGZ1bmN0aW9uIGUodCl7cmV0dXJuIHQuY29uc3RydWN0b3IuaGFzT3duUHJvcGVydHkocVMpfSkodCk/dC5jb25zdHJ1Y3RvcltxU106W119ZnVuY3Rpb24gS1ModCxlLG4pe2NvbnN0IG89WVModCkuY29uc3RydWN0b3IubmFtZTtyZXR1cm4gcGUoLi4uKGZ1bmN0aW9uIGkodCl7cmV0dXJuW1pTLEdTXS5yZWR1Y2UoKChlLG4pPT5lLmNvbmNhdChuKHQpKSksW10pfSkodCkubWFwKCgoe3Byb3BlcnR5TmFtZTppLGRpc3BhdGNoOmEsdXNlRWZmZWN0c0Vycm9ySGFuZGxlcjpyfSk9Pntjb25zdCBzPSJmdW5jdGlvbiI9PXR5cGVvZiB0W2ldP3RbaV0oKTp0W2ldLGw9cj9uKHMsZSk6cztpZighMT09PWEpcmV0dXJuIGwucGlwZSh4ZSgpKTtyZXR1cm4gbC5waXBlKChmdW5jdGlvbiBjKCl7cmV0dXJuIHooKGZ1bmN0aW9uKHQsZSl7dC5zdWJzY3JpYmUobmV3IEgoZSwoZnVuY3Rpb24odCl7ZS5uZXh0KEh0LmNyZWF0ZU5leHQodCkpfSksKGZ1bmN0aW9uKCl7ZS5uZXh0KEh0LmNyZWF0ZUNvbXBsZXRlKCkpLGUuY29tcGxldGUoKX0pLChmdW5jdGlvbih0KXtlLm5leHQoSHQuY3JlYXRlRXJyb3IodCkpLGUuY29tcGxldGUoKX0pKSl9KSl9KSgpKS5waXBlKFZ0KChlPT4oe2VmZmVjdDp0W2ldLG5vdGlmaWNhdGlvbjplLHByb3BlcnR5TmFtZTppLHNvdXJjZU5hbWU6byxzb3VyY2VJbnN0YW5jZTp0fSkpKSl9KSkpfWZ1bmN0aW9uIEpTKHQsZSxuPTEwKXtyZXR1cm4gdC5waXBlKGhlKChvPT4oZSYmZS5oYW5kbGVFcnJvcihvKSxuPD0xP3Q6SlModCxlLG4tMSkpKSkpfWNsYXNzIFFTIGV4dGVuZHMgVHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHQmJih0aGlzLnNvdXJjZT10KX1saWZ0KHQpe2NvbnN0IGU9bmV3IFFTO3JldHVybiBlLnNvdXJjZT10aGlzLGUub3BlcmF0b3I9dCxlfX1mdW5jdGlvbiAkUyguLi50KXtyZXR1cm4gdWUoKGU9PnQuc29tZSgodD0+InN0cmluZyI9PXR5cGVvZiB0P3Q9PT1lLnR5cGU6dC50eXBlPT09ZS50eXBlKSkpKX1mdW5jdGlvbiB0RCh0LGUpe2lmKCJOIj09PXQubm90aWZpY2F0aW9uLmtpbmQpe2NvbnN0IG49dC5ub3RpZmljYXRpb24udmFsdWU7IShmdW5jdGlvbiBuKHQpe3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiB0JiZ0JiZ0LnR5cGUmJiJzdHJpbmciPT10eXBlb2YgdC50eXBlfSkobikmJmUuaGFuZGxlRXJyb3IobmV3IEVycm9yKGBFZmZlY3QgJHsoZnVuY3Rpb24gbyh7cHJvcGVydHlOYW1lOnQsc291cmNlSW5zdGFuY2U6ZSxzb3VyY2VOYW1lOm59KXtjb25zdCBvPSJmdW5jdGlvbiI9PXR5cGVvZiBlW3RdO3JldHVybmAiJHtufS4ke1N0cmluZyh0KX0ke28/IigpIjoiIn0iYH0pKHQpfSBkaXNwYXRjaGVkIGFuIGludmFsaWQgYWN0aW9uOiAkeyhmdW5jdGlvbiBpKHQpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCl9Y2F0Y2goZSl7cmV0dXJuIHR9fSkobil9YCkpfX1RUy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UVMpKFRyKFFrKSl9LFFTLsm1cHJvdj1Tbih7dG9rZW46UVMsZmFjdG9yeTpRUy7JtWZhY30pLFFTLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6VCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltRa119XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUVMsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlQsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbUWtdfV19XX0pLG51bGwpO2Z1bmN0aW9uIGVEKHQpe3JldHVybiBuRCh0LCJuZ3J4T25Jbml0RWZmZWN0cyIpfWZ1bmN0aW9uIG5EKHQsZSl7cmV0dXJuIHQmJmUgaW4gdCYmImZ1bmN0aW9uIj09dHlwZW9mIHRbZV19Y29uc3Qgb0Q9bmV3IGVyKCJAbmdyeC9lZmZlY3RzIEludGVybmFsIFJvb3QgR3VhcmQiKSxpRD1uZXcgZXIoIkBuZ3J4L2VmZmVjdHMgVXNlciBQcm92aWRlZCBFZmZlY3RzIiksYUQ9bmV3IGVyKCJAbmdyeC9lZmZlY3RzIEludGVybmFsIFJvb3QgRWZmZWN0cyIpLHJEPW5ldyBlcigiQG5ncngvZWZmZWN0cyBSb290IEVmZmVjdHMiKSxzRD1uZXcgZXIoIkBuZ3J4L2VmZmVjdHMgSW50ZXJuYWwgRmVhdHVyZSBFZmZlY3RzIiksbEQ9bmV3IGVyKCJAbmdyeC9lZmZlY3RzIEZlYXR1cmUgRWZmZWN0cyIpLGNEPW5ldyBlcigiQG5ncngvZWZmZWN0cyBFZmZlY3RzIEVycm9yIEhhbmRsZXIiKTtjbGFzcyBkRCBleHRlbmRzIEJ7Y29uc3RydWN0b3IodCxlKXtzdXBlcigpLHRoaXMuZXJyb3JIYW5kbGVyPXQsdGhpcy5lZmZlY3RzRXJyb3JIYW5kbGVyPWV9YWRkRWZmZWN0cyh0KXt0aGlzLm5leHQodCl9dG9BY3Rpb25zKCl7cmV0dXJuIHRoaXMucGlwZShFZShZUyksJHQoKHQ9PnQucGlwZShFZShwRCkpKSksJHQoKHQ9PnBlKHQucGlwZShSZSgodD0+KGZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gZT0+e2NvbnN0IG89S1MoZSx0LG4pO3JldHVybihmdW5jdGlvbiBpKHQpe3JldHVybiBuRCh0LCJuZ3J4T25SdW5FZmZlY3RzIil9KShlKT9lLm5ncnhPblJ1bkVmZmVjdHMobyk6b319KSh0aGlzLmVycm9ySGFuZGxlcix0aGlzLmVmZmVjdHNFcnJvckhhbmRsZXIpKHQpKSksVnQoKHQ9Pih0RCh0LHRoaXMuZXJyb3JIYW5kbGVyKSx0Lm5vdGlmaWNhdGlvbikpKSx1ZSgodD0+Ik4iPT09dC5raW5kJiZudWxsIT10LnZhbHVlKSksKGZ1bmN0aW9uIGUoKXtyZXR1cm4geigoZnVuY3Rpb24odCxlKXt0LnN1YnNjcmliZShuZXcgSChlLChmdW5jdGlvbih0KXtyZXR1cm4gRnQodCxlKX0pKSl9KSl9KSgpKSx0LnBpcGUodmUoMSksdWUoZUQpLFZ0KCh0PT50Lm5ncnhPbkluaXRFZmZlY3RzKCkpKSkpKSkpfX1mdW5jdGlvbiBwRCh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4gbkQodCwibmdyeE9uSWRlbnRpZnlFZmZlY3RzIil9KSh0KT90Lm5ncnhPbklkZW50aWZ5RWZmZWN0cygpOiIifWRELsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxkRCkoVHIodWwpLFRyKGNEKSl9LGRELsm1cHJvdj1Tbih7dG9rZW46ZEQsZmFjdG9yeTpkRC7JtWZhY30pLGRELmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dWx9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltjRF19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZEQsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnVsfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbY0RdfV19XX0pLG51bGwpO2NsYXNzIG1Ee2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5lZmZlY3RTb3VyY2VzPXQsdGhpcy5zdG9yZT1lLHRoaXMuZWZmZWN0c1N1YnNjcmlwdGlvbj1udWxsfXN0YXJ0KCl7dGhpcy5lZmZlY3RzU3Vic2NyaXB0aW9ufHwodGhpcy5lZmZlY3RzU3Vic2NyaXB0aW9uPXRoaXMuZWZmZWN0U291cmNlcy50b0FjdGlvbnMoKS5zdWJzY3JpYmUodGhpcy5zdG9yZSkpfW5nT25EZXN0cm95KCl7dGhpcy5lZmZlY3RzU3Vic2NyaXB0aW9uJiYodGhpcy5lZmZlY3RzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5lZmZlY3RzU3Vic2NyaXB0aW9uPW51bGwpfX1tRC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bUQpKFRyKGREKSxUcihpUykpfSxtRC7JtXByb3Y9U24oe3Rva2VuOm1ELGZhY3Rvcnk6bUQuybVmYWN9KSxtRC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOmREfSx7dHlwZTppU31dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobUQsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmREfSx7dHlwZTppU31dfSksbnVsbCk7Y29uc3QgZkQ9IkBuZ3J4L2VmZmVjdHMvaW5pdCI7X2soZkQpO2NsYXNzIHVEe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIpe3RoaXMuc291cmNlcz10LGUuc3RhcnQoKSxvLmZvckVhY2goKGU9PnQuYWRkRWZmZWN0cyhlKSkpLG4uZGlzcGF0Y2goe3R5cGU6ZkR9KX1hZGRFZmZlY3RzKHQpe3RoaXMuc291cmNlcy5hZGRFZmZlY3RzKHQpfX11RC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dUQpKFRyKGREKSxUcihtRCksVHIoaVMpLFRyKHJEKSxUcihFUyw4KSxUcihBUyw4KSxUcihvRCw4KSl9LHVELsm1bW9kPWZvKHt0eXBlOnVEfSksdUQuybVpbmo9RG4oe30pLHVELmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6ZER9LHt0eXBlOm1EfSx7dHlwZTppU30se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbckRdfV19LHt0eXBlOkVTLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOkFTLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbb0RdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHVELFt7dHlwZTpMXyxhcmdzOlt7fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6ZER9LHt0eXBlOm1EfSx7dHlwZTppU30se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbckRdfV19LHt0eXBlOkVTLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOkFTLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbb0RdfV19XX0pLG51bGwpO2NsYXNzIGdEe2NvbnN0cnVjdG9yKHQsZSxuLG8pe2UuZm9yRWFjaCgoZT0+ZS5mb3JFYWNoKChlPT50LmFkZEVmZmVjdHMoZSkpKSkpfX1nRC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Z0QpKFRyKHVEKSxUcihsRCksVHIoRVMsOCksVHIoQVMsOCkpfSxnRC7JtW1vZD1mbyh7dHlwZTpnRH0pLGdELsm1aW5qPURuKHt9KSxnRC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnVEfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltsRF19XX0se3R5cGU6RVMsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6QVMsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZ0QsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp1RH0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbbERdfV19LHt0eXBlOkVTLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOkFTLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19XX0pLG51bGwpO2NsYXNzIGhEe3N0YXRpYyBmb3JGZWF0dXJlKHQ9W10pe3JldHVybntuZ01vZHVsZTpnRCxwcm92aWRlcnM6W3Qse3Byb3ZpZGU6c0QsbXVsdGk6ITAsdXNlVmFsdWU6dH0se3Byb3ZpZGU6aUQsbXVsdGk6ITAsdXNlVmFsdWU6W119LHtwcm92aWRlOmxELG11bHRpOiEwLHVzZUZhY3Rvcnk6YkQsZGVwczpbTnAsc0QsaURdfV19fXN0YXRpYyBmb3JSb290KHQ9W10pe3JldHVybntuZ01vZHVsZTp1RCxwcm92aWRlcnM6W3twcm92aWRlOmNELHVzZVZhbHVlOkpTfSxtRCxkRCxRUyx0LHtwcm92aWRlOmFELHVzZVZhbHVlOlt0XX0se3Byb3ZpZGU6b0QsdXNlRmFjdG9yeTp5RCxkZXBzOltbbUQsbmV3IEJyLG5ldyBqcl0sW2FELG5ldyBWcl1dfSx7cHJvdmlkZTppRCxtdWx0aTohMCx1c2VWYWx1ZTpbXX0se3Byb3ZpZGU6ckQsdXNlRmFjdG9yeTpiRCxkZXBzOltOcCxhRCxpRF19XX19fWZ1bmN0aW9uIGJEKHQsZSxuKXtjb25zdCBvPVtdO2Zvcihjb25zdCB0IG9mIGUpby5wdXNoKC4uLnQpO2Zvcihjb25zdCB0IG9mIG4pby5wdXNoKC4uLnQpO3JldHVybihmdW5jdGlvbiBpKHQsZSl7cmV0dXJuIGUubWFwKChlPT50LmdldChlKSkpfSkodCxvKX1mdW5jdGlvbiB5RCh0LGUpe2lmKCEoMT09PWUubGVuZ3RoJiYwPT09ZVswXS5sZW5ndGgpJiZ0KXRocm93IG5ldyBUeXBlRXJyb3IoIkVmZmVjdHNNb2R1bGUuZm9yUm9vdCgpIGNhbGxlZCB0d2ljZS4gRmVhdHVyZSBtb2R1bGVzIHNob3VsZCB1c2UgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKCkgaW5zdGVhZC4iKTtyZXR1cm4iZ3VhcmRlZCJ9dmFyIF9EO2hELsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxoRCl9LGhELsm1bW9kPWZvKHt0eXBlOmhEfSksaEQuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaEQsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLG51bGwsbnVsbCksKGZ1bmN0aW9uKHQpe3RbdC5VTktOT1dOPTBdPSJVTktOT1dOIix0W3QuRVhQRVJJTUVOVFM9MV09IkVYUEVSSU1FTlRTIix0W3QuRVhQRVJJTUVOVD0yXT0iRVhQRVJJTUVOVCIsdFt0LkNPTVBBUkVfRVhQRVJJTUVOVD0zXT0iQ09NUEFSRV9FWFBFUklNRU5UIix0W3QuTk9UX1NFVD00XT0iTk9UX1NFVCJ9KShfRHx8KF9EPXt9KSk7Y29uc3QgQ0Q9ImRlZmF1bHRFeHBlcmltZW50SWQiO2Z1bmN0aW9uIE1EKHQpe3JldHVybiB0LnNwbGl0KCIsIikubWFwKCh0PT57Y29uc3QgZT10LmluZGV4T2YoIjoiKTtpZihlPDApdGhyb3cgbmV3IEVycm9yKGBFeHBlY3QgY29sb24gZGVsaW1pdGluZyBuYW1lIGFuZCBJRDogJHt0fWApO2NvbnN0IG49dC5zbGljZSgwLGUpLG89dC5zbGljZShlKzEpO2lmKCFvKXRocm93IG5ldyBFcnJvcihgRXhwZWN0IGlkIHRvIGJlIG5vbi1mYWxzeTogJHt0fWApO3JldHVybntuYW1lOm4saWQ6b319KSl9ZnVuY3Rpb24gdkQodCxlKXtzd2l0Y2godCl7Y2FzZSBfRC5FWFBFUklNRU5UOnJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwiZXhwZXJpbWVudElkIik/W2UuZXhwZXJpbWVudElkXTpbQ0RdO2Nhc2UgX0QuQ09NUEFSRV9FWFBFUklNRU5UOnJldHVybiBNRChlLmV4cGVyaW1lbnRJZHMpLm1hcCgoKHtpZDp0fSk9PnQpKTtjYXNlIF9ELkVYUEVSSU1FTlRTOmRlZmF1bHQ6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHhEKHQsZSl7aWYoIXR8fCFlKXJldHVybiB0PT09ZTtpZih0LnJvdXRlS2luZCE9PWUucm91dGVLaW5kKXJldHVybiExO2NvbnN0IG49dkQodC5yb3V0ZUtpbmQsdC5wYXJhbXMpLG89dkQoZS5yb3V0ZUtpbmQsZS5wYXJhbXMpO2lmKG51bGw9PT1ufHxudWxsPT09bylyZXR1cm4gbj09PW87aWYobi5sZW5ndGghPT1vLmxlbmd0aClyZXR1cm4hMTtjb25zdCBpPW8uc29ydCgpO3JldHVybiBuLnNvcnQoKS5ldmVyeSgoKHQsZSk9PmlbZV09PT10KSl9Y29uc3QgT0Q9e2dldEhyZWY6KCk9PndpbmRvdy5sb2NhdGlvbi5ocmVmfTtjbGFzcyBQRHtnZXRIcmVmKCl7cmV0dXJuIE9ELmdldEhyZWYoKX1nZXRTZWFyY2goKXtjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCksZT1bXTtyZXR1cm4gdC5mb3JFYWNoKCgodCxuKT0+e2UucHVzaCh7a2V5Om4sdmFsdWU6dH0pfSkpLGV9Z2V0SGFzaCgpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaGFzaH1nZXRQYXRoKCl7cmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX1nZXRIaXN0b3J5U3RhdGUoKXtyZXR1cm4gd2luZG93Lmhpc3Rvcnkuc3RhdGV9cmVwbGFjZVN0YXRlVXJsKHQpe3dpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh3aW5kb3cuaGlzdG9yeS5zdGF0ZSwiIix0KX1wdXNoU3RhdGVVcmwodCl7d2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKG51bGwsIiIsdCl9cmVwbGFjZVN0YXRlRGF0YSh0KXt3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUodCwiIil9b25Qb3BTdGF0ZSgpe3JldHVybiBsZSh3aW5kb3csInBvcHN0YXRlIikucGlwZShWdCgodD0+KHtwYXRobmFtZTp0aGlzLmdldFBhdGgoKSxzdGF0ZTp0LnN0YXRlfSkpKSl9Z2V0UmVzb2x2ZWRQYXRoKHQpe3JldHVybiBuZXcgVVJMKHQsT0QuZ2V0SHJlZigpKS5wYXRobmFtZX1nZXRGdWxsUGF0aEZyb21Sb3V0ZSh0LGUpe2NvbnN0IG49dGhpcy5nZXRSZXNvbHZlZFBhdGgodC5wYXRobmFtZSk7bGV0IG89IiI7dC5xdWVyeVBhcmFtcy5sZW5ndGgmJihvPSI/IisoZnVuY3Rpb24gaSh0KXtjb25zdCBlPW5ldyBVUkxTZWFyY2hQYXJhbXM7Zm9yKGNvbnN0e2tleTpuLHZhbHVlOm99b2YgdCllLmFwcGVuZChuLG8pO3JldHVybiBlfSkodC5xdWVyeVBhcmFtcykudG9TdHJpbmcoKSk7cmV0dXJuYCR7bn0ke299JHtlP3RoaXMuZ2V0SGFzaCgpOiIifWB9fVBELsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxQRCl9LFBELsm1cHJvdj1Tbih7dG9rZW46UEQsZmFjdG9yeTpQRC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUEQsW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjbGFzcyB3RHtjb25zdHJ1Y3Rvcih0KXt0aGlzLmFwcFJvb3Q9dGhpcy5nZXRBcHBSb290RnJvbU1ldGFFbGVtZW50KHQpfWdldEFwcFJvb3RGcm9tTWV0YUVsZW1lbnQodCl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdoZWFkIG1ldGFbbmFtZT0idGItcmVsYXRpdmUtcm9vdCJdJyk7aWYoIWUpcmV0dXJuIi8iO2NvbnN0e3BhdGhuYW1lOm59PW5ldyBVUkwoZS5jb250ZW50LHQuZ2V0SHJlZigpKTtyZXR1cm4gbi5yZXBsYWNlKC9cLyokLywiLyIpfWdldEFic1BhdGhuYW1lV2l0aEFwcFJvb3QodCl7cmV0dXJuIHRoaXMuYXBwUm9vdC5zbGljZSgwLC0xKSt0fWdldEFwcFJvb3RsZXNzUGF0aG5hbWUodCl7cmV0dXJuIHQuc3RhcnRzV2l0aCh0aGlzLmFwcFJvb3QpPyIvIit0LnNsaWNlKHRoaXMuYXBwUm9vdC5sZW5ndGgpOnR9fXdELsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx3RCkoVHIoUEQpKX0sd0QuybVwcm92PVNuKHt0b2tlbjp3RCxmYWN0b3J5OndELsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih3RCxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UER9XX0pLG51bGwpO2NsYXNzIGtEIGV4dGVuZHMgd0R7Z2V0QXBwUm9vdCgpe3JldHVybiB0aGlzLmFwcFJvb3R9c2V0QXBwUm9vdCh0KXt0aGlzLmFwcFJvb3Q9dH19a0QuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKGtEKSkpKG58fGtEKX19KSgpLGtELsm1cHJvdj1Tbih7dG9rZW46a0QsZmFjdG9yeTprRC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoa0QsW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjbGFzcyBTRHt9U0QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFNEKX0sU0QuybVtb2Q9Zm8oe3R5cGU6U0R9KSxTRC7JtWluaj1Ebih7cHJvdmlkZXJzOltQRF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFNELFt7dHlwZTpMXyxhcmdzOlt7cHJvdmlkZXJzOltQRF19XX1dLG51bGwsbnVsbCk7Y2xhc3MgRER7fURELsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxERCl9LERELsm1bW9kPWZvKHt0eXBlOkREfSksREQuybVpbmo9RG4oe3Byb3ZpZGVyczpbd0RdLGltcG9ydHM6W1tTRF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihERCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W1NEXSxwcm92aWRlcnM6W3dEXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKERELHtpbXBvcnRzOltTRF19KTtjb25zdCBSRD1uZXcgZXIoIltBcHAgUm91dGluZ10gRGlydHkgVXBkYXRlcyIpO2NsYXNzIEVEe2NvbnN0cnVjdG9yKHQpe3RoaXMuZGlydHlVcGRhdGVzU2VsZWN0b3JGYWN0b3JpZXM9dH1nZXREaXJ0eVVwZGF0ZXNTZWxlY3RvcnMoKXt2YXIgdDtyZXR1cm4gbnVsbCE9PSh0PXRoaXMuZGlydHlVcGRhdGVzU2VsZWN0b3JGYWN0b3JpZXMpJiZ2b2lkIDAhPT10P3Q6W119c3RhdGljIHJlZ2lzdGVyRGlydHlVcGRhdGVzKHQpe3JldHVybntuZ01vZHVsZTpFRCxwcm92aWRlcnM6W3twcm92aWRlOlJELG11bHRpOiEwLHVzZUZhY3Rvcnk6dH1dfX19RUQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEVEKShUcihSRCw4KSl9LEVELsm1bW9kPWZvKHt0eXBlOkVEfSksRUQuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRUQsW3t0eXBlOkxffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltSRF19XX1dfSksbnVsbCk7Y29uc3QgQUQ9ImZlYXR1cmUiLFREPV9TKEFEKSxORD1iUyhURCwodD0+dC5pc0ZlYXR1cmVGbGFnc0xvYWRlZCkpLHpEPWJTKFRELCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5kZWZhdWx0RmxhZ3MpLHQuZmxhZ092ZXJyaWRlcykpKSxJRD1iUyhURCwodD0+dC5mbGFnT3ZlcnJpZGVzfHx7fSkpLEhEPWJTKHpELCh0PT50LmlzQXV0b0RhcmtNb2RlQWxsb3dlZCkpLEZEPWJTKHpELCh0PT5udWxsIT09dC5lbmFibGVEYXJrTW9kZU92ZXJyaWRlP3QuZW5hYmxlRGFya01vZGVPdmVycmlkZTp0LmRlZmF1bHRFbmFibGVEYXJrTW9kZSkpLExEPWJTKHpELCh0PT50LmVuYWJsZURhcmtNb2RlT3ZlcnJpZGUpKSxCRD1iUyh6RCwodD0+dC5lbmFibGVkRXhwZXJpbWVudGFsUGx1Z2lucykpLFZEPWJTKHpELCh0PT50LmluQ29sYWIpKSxqRD1iUyh6RCwodD0+dC5lbmFibGVkQ29sb3JHcm91cCkpLFVEPWJTKHpELCh0PT50LmVuYWJsZWRDb2xvckdyb3VwQnlSZWdleCkpLFdEPWJTKHpELCh0PT50Lm1ldHJpY3NJbWFnZVN1cHBvcnRFbmFibGVkKSksR0Q9YlMoekQsKHQ9PnQuZW5hYmxlZExpbmtlZFRpbWUpKSxZRD1iUyh6RCwodD0+dC5lbmFibGVUaW1lU2VyaWVzUHJvbW90aW9uKSkscUQ9YlMoekQsKHQ9PnQuZW5hYmxlZENhcmRXaWR0aFNldHRpbmcpKSxaRD1iUyh6RCwodD0+dC5lbmFibGVkVGltZU5hbWVzcGFjZWRTdGF0ZSkpLFhEPV9rKCJbQXBwIFJvdXRpbmddIERpc2NhcmRpbmcgVW5zYXZlZCBVcGRhdGVzIiksS0Q9X2soIltBcHAgUm91dGluZ10gU3RhdGUgUmVoeWRyYXRlZCBGcm9tIFVybCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEpEPV9rKCJbQXBwIFJvdXRpbmddIFJvdXRlIENvbmZpZyBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxRRD1faygiW0FwcCBSb3V0aW5nXSBJbiBBcHAgTmF2aWdhdGlvbiBSZXF1ZXN0ZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSwkRD1faygiW0FwcCBSb3V0aW5nXSBJbiBBcHAgTmF2aWdhdGluZyIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHRSPV9rKCJbQXBwIFJvdXRpbmddIEluIEFwcCBOYXZpZ2F0ZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxlUj1uZXcgZXIoIltBcHAgUm91dGluZ10gUHJvZ3JhbW1hdGljYWwgTmF2aWdhdGlvbiBQcm92aWRlciIpO2NsYXNzIG5Se2NvbnN0cnVjdG9yKHQpe3RoaXMucHJvdmlkZXJzPW5ldyBNYXA7Zm9yKGNvbnN0IGUgb2YgdHx8W10pe2lmKHRoaXMucHJvdmlkZXJzLmhhcyhlLmFjdGlvbkNyZWF0b3IudHlwZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYCIke2UuYWN0aW9uQ3JlYXRvci50eXBlfSIgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGZvciBuYXYuIE11bHRpcGxlIG5hdmlnYXRpb25zIG9uIHNhbWUga2ljayBpcyBub3QgYWxsb3dlZC5gKTt0aGlzLnByb3ZpZGVycy5zZXQoZS5hY3Rpb25DcmVhdG9yLnR5cGUsZS5sYW1iZGEpfX1nZXROYXZpZ2F0aW9uKHQpe2NvbnN0IGU9dGhpcy5wcm92aWRlcnMuZ2V0KHQudHlwZSk7cmV0dXJuIGU/ZSh0KTpudWxsfXN0YXRpYyByZWdpc3RlclByb2dyYW1tYXRpY2FsTmF2aWdhdGlvbih0KXtyZXR1cm57bmdNb2R1bGU6blIscHJvdmlkZXJzOlt7cHJvdmlkZTplUixtdWx0aTohMCx1c2VGYWN0b3J5OnR9XX19fWZ1bmN0aW9uIG9SKHQpe3JldHVybiBudWxsIT10LnJvdXRlS2luZH1mdW5jdGlvbiBpUih0KXtyZXR1cm4gZFIodCkubWFwKCh0PT57Y29uc3QgZT10LnN0YXJ0c1dpdGgoIjoiKTtyZXR1cm4gZT97cGF0aFBhcnQ6dCxpc1BhcmFtOiEwLHBhcmFtTmFtZTp0LnNsaWNlKDEpfTp7cGF0aFBhcnQ6dCxpc1BhcmFtOmV9fSkpfW5SLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxuUikoVHIoZVIsOCkpfSxuUi7JtW1vZD1mbyh7dHlwZTpuUn0pLG5SLsm1aW5qPURuKHt9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG5SLFt7dHlwZTpMXyxhcmdzOlt7fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltlUl19XX1dfSksbnVsbCk7Y2xhc3MgYVJ7Y29uc3RydWN0b3IodCl7dGhpcy52YWxpZGF0ZUNvbmZpZyh0KSx0aGlzLnBhdGhGcmFnbWVudHM9aVIodC5wYXRoKSx0aGlzLnBhdGhNYXRjaGVycz10aGlzLmdldFBhdGhNYXRjaGVycyh0aGlzLnBhdGhGcmFnbWVudHMpfXN0YXRpYyBnZXRNYXRjaGVyKHQpe3JldHVybiBvUih0KT9uZXcgclIodCk6KGZ1bmN0aW9uIGUodCl7cmV0dXJuIHZvaWQgMCE9PXQucmVkaXJlY3Rpb25QYXRofSkodCk/bmV3IHNSKHQpOm5ldyBsUih0KX12YWxpZGF0ZUNvbmZpZyh7cGF0aDp0fSl7aWYoIXQuc3RhcnRzV2l0aCgiLyIpKXRocm93IG5ldyBSYW5nZUVycm9yKGBjb25maWcucGF0aCBzaG91bGQgc3RhcnQgd2l0aCAnLycuICR7dH1gKTtsZXQgZT0wO2Zvcig7KGU9dC5pbmRleE9mKCI6IixlKzEpKT49MDspe2lmKCIvIiE9PXRbZS0xXSl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgY29uZmlnLnBhdGggcGFyYW1ldGVyIHNob3VsZCBjb21lIGFmdGVyICcvJy4gJHt0fWApO2lmKHZvaWQgMD09PXRbZSsxXXx8Ii8iPT09dFtlKzFdKXRocm93IG5ldyBSYW5nZUVycm9yKGBjb25maWcucGF0aCBwYXJhbWV0ZXIgc2hvdWxkIGhhdmUgbm9uLWVtcHR5IG5hbWUuICR7dH1gKX19Z2V0UGF0aE1hdGNoZXJzKHQpe3JldHVybiB0Lm1hcCgodD0+e2NvbnN0e3BhdGhQYXJ0OmV9PXQ7cmV0dXJuIHQuaXNQYXJhbT9lPT4oe2lzUGFyYW1QYXRoUGFydDohMCxwYXJ0TWF0Y2hlZDohMCxwYXJhbU5hbWU6dC5wYXJhbU5hbWUscGFyYW1WYWx1ZTplfSk6dD0+KHtpc1BhcmFtUGF0aFBhcnQ6ITEscGFydE1hdGNoZWQ6dD09PWV9KX0pKX1tYXRjaCh0KXtsZXQgZT17fTtpZih0aGlzLnBhdGhNYXRjaGVycy5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm57cmVzdWx0OiExfTtsZXQgbj0wO2Zvcihjb25zdCBvIG9mIHRoaXMucGF0aE1hdGNoZXJzKXtjb25zdCBpPW8odFtuKytdKTtpZighaS5wYXJ0TWF0Y2hlZClyZXR1cm57cmVzdWx0OiExfTtpLmlzUGFyYW1QYXRoUGFydCYmKGU9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGUpLHtbaS5wYXJhbU5hbWVdOmkucGFyYW1WYWx1ZX0pKX1yZXR1cm57cmVzdWx0OiEwLHBhcmFtczplLHBhdGhQYXJ0czp0LGlzUmVkaXJlY3Rpb246ITEscmVkaXJlY3Rpb25RdWVyeVBhcmFtczp2b2lkIDB9fW1hdGNoQnlQYXJhbXModCl7cmV0dXJue3Jlc3VsdDohMCxwYXJhbXM6dCxwYXRoUGFydHM6dGhpcy5yZXByb2plY3RQYXRoQnlQYXJhbXModGhpcy5wYXRoRnJhZ21lbnRzLHQpLGlzUmVkaXJlY3Rpb246ITEscmVkaXJlY3Rpb25RdWVyeVBhcmFtczp2b2lkIDB9fXJlcHJvamVjdFBhdGhCeVBhcmFtcyh0LGUpe2NvbnN0IG49W107Zm9yKGNvbnN0IG8gb2YgdClpZihvLmlzUGFyYW0pe2NvbnN0e3BhcmFtTmFtZTp0fT1vO2lmKCFlLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBSYW5nZUVycm9yKGBGYWlsZWQgdG8gcmVwcm9qZWN0IHBhcmFtZXRlci4gIiR7dH0iIHBhcmFtZXRlciBzaG91bGQgYmUgcHJlc2VudC5gKTtuLnB1c2goZVt0XSl9ZWxzZSBuLnB1c2goby5wYXRoUGFydCk7cmV0dXJuIG59fWNsYXNzIHJSIGV4dGVuZHMgYVJ7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5kZWZpbml0aW9uPXR9fWNsYXNzIHNSIGV4dGVuZHMgYVJ7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5kZWZpbml0aW9uPXQsdGhpcy5yZWRpcmVjdGlvbkZyYWdtZW50cz1pUih0LnJlZGlyZWN0aW9uUGF0aCl9bWF0Y2godCl7Y29uc3QgZT1zdXBlci5tYXRjaCh0KTtpZighZS5yZXN1bHQpcmV0dXJuIGU7Y29uc3Qgbj10aGlzLnJlcHJvamVjdFBhdGhCeVBhcmFtcyh0aGlzLnJlZGlyZWN0aW9uRnJhZ21lbnRzLGUucGFyYW1zKTtyZXR1cm57cmVzdWx0OiEwLHBhcmFtczplLnBhcmFtcyxwYXRoUGFydHM6bixpc1JlZGlyZWN0aW9uOiEwLHJlZGlyZWN0aW9uUXVlcnlQYXJhbXM6dm9pZCAwfX19Y2xhc3MgbFIgZXh0ZW5kcyBhUntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLmRlZmluaXRpb249dH1tYXRjaCh0KXtjb25zdCBlPXN1cGVyLm1hdGNoKHQpO2lmKCFlLnJlc3VsdClyZXR1cm4gZTtjb25zdHtwYXRoUGFydHM6bixxdWVyeVBhcmFtczpvfT10aGlzLmRlZmluaXRpb24ucmVkaXJlY3Rvcih0KTtyZXR1cm57cmVzdWx0OiEwLHBhcmFtczplLnBhcmFtcyxwYXRoUGFydHM6bixpc1JlZGlyZWN0aW9uOiEwLHJlZGlyZWN0aW9uUXVlcnlQYXJhbXM6b319fWNsYXNzIGNSe2NvbnN0cnVjdG9yKHQsZT0zKXtpZih0aGlzLm1heFJlZGlyZWN0aW9uPWUsZTwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJtYXhSZWRpcmVjdGlvbiBoYXMgdG8gYmUgbm9uLW5lZ2F0aXZlIG51bWJlciIpO3RoaXMudmFsaWRhdGVSb3V0ZUNvbmZpZ3ModCksdGhpcy5kZWZhdWx0Um91dGVDb25maWc9bnVsbCx0aGlzLnJvdXRlS2luZFRvQ29uY3JldGVDb25maWdNYXRjaGVycz1uZXcgTWFwLHRoaXMuY29uZmlnTWF0Y2hlcnM9W107Zm9yKGNvbnN0IGUgb2YgdCl7Y29uc3QgdD1hUi5nZXRNYXRjaGVyKGUpO3RoaXMuY29uZmlnTWF0Y2hlcnMucHVzaCh0KSx0IGluc3RhbmNlb2YgclImJih0aGlzLnJvdXRlS2luZFRvQ29uY3JldGVDb25maWdNYXRjaGVycy5zZXQodC5kZWZpbml0aW9uLnJvdXRlS2luZCx0KSx0LmRlZmluaXRpb24uZGVmYXVsdFJvdXRlJiYodGhpcy5kZWZhdWx0Um91dGVDb25maWc9dCkpfX12YWxpZGF0ZVJvdXRlQ29uZmlncyh0KXtjb25zdCBlPXQuZmlsdGVyKG9SKSxuPWUuZmlsdGVyKCh0PT50LmRlZmF1bHRSb3V0ZSkpO2lmKG4ubGVuZ3RoPjEpe2NvbnN0IHQ9bi5tYXAoKCh7cGF0aDp0fSk9PnQpKS5qb2luKCIsICIpO3Rocm93IG5ldyBSYW5nZUVycm9yKGBUaGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBkZWZhdWx0Um91dGVzLiAke3R9YCl9aWYoMT09PW4ubGVuZ3RoKXtjb25zdHtwYXRoOnR9PW5bMF07aWYoQm9vbGVhbihpUih0KS5maW5kKCgoe2lzUGFyYW06dH0pPT50KSkpKXRocm93IG5ldyBSYW5nZUVycm9yKGBBIGRlZmF1bHRSb3V0ZSBjYW5ub3QgaGF2ZSBhbnkgcGFyYW1zLiAke3R9YCl9Y29uc3Qgbz1uZXcgU2V0O2Zvcihjb25zdHtyb3V0ZUtpbmQ6dH1vZiBlKXtpZihvLmhhcyh0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgTXVsdGlwbGUgcm91dGUgY29uZmlndXJhdGlvbiBmb3Iga2luZDogJHt0fS4gQ29uZmlndXJhdGlvbnMgc2hvdWxkIGhhdmUgdW5pcXVlIHJvdXRlS2luZHNgKTtvLmFkZCh0KX19bWF0Y2godCl7dmFyIGU7aWYoIXQucGF0aG5hbWUuc3RhcnRzV2l0aCgiLyIpKXRocm93IG5ldyBSYW5nZUVycm9yKCdOYXZpZ2F0aW9uIGhhcyB0byBtYWRlIHdpdGggcGF0aG5hbWUgdGhhdCBzdGFydHMgd2l0aCAiLyInKTtsZXQgbixvPWRSKHQucGF0aG5hbWUpLGk9MCxhPSExO2Zvcig7Oyl7bGV0IHQ9ITE7Zm9yKGNvbnN0IGUgb2YgdGhpcy5jb25maWdNYXRjaGVycyl7Y29uc3QgaT1lLm1hdGNoKG8pO2lmKGkucmVzdWx0KXt0PSEwO2NvbnN0e3BhcmFtczpyLHBhdGhQYXJ0czpzLGlzUmVkaXJlY3Rpb246bH09aTtpZihsKXtvPXMsYT0hMCxuPWkucmVkaXJlY3Rpb25RdWVyeVBhcmFtczticmVha31pZighKGUgaW5zdGFuY2VvZiByUikpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk5vIGNvbmNyZXRlIHJvdXRlIGRlZmluaXRpb24gYG1hdGNoYCByZXR1cm4gcmVkaXJlY3Rpb24iKTtjb25zdHtkZWZpbml0aW9uOmN9PWUsZD17cm91dGVLaW5kOmMucm91dGVLaW5kLHBhcmFtczpyLHBhdGhuYW1lOnBSKHMpLGRlZXBMaW5rUHJvdmlkZXI6Yy5kZWVwTGlua1Byb3ZpZGVyfHxudWxsfTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGQpLGE/e29yaWdpbmF0ZUZyb21SZWRpcmVjdGlvbjohMCxyZWRpcmVjdGlvbk9ubHlRdWVyeVBhcmFtczpufTp7b3JpZ2luYXRlRnJvbVJlZGlyZWN0aW9uOiExfSl9fWlmKGEmJmkrKywhdHx8aT50aGlzLm1heFJlZGlyZWN0aW9uKWJyZWFrfWlmKGk+dGhpcy5tYXhSZWRpcmVjdGlvbil0aHJvdyBuZXcgRXJyb3IoYFBvdGVudGlhbCByZWRpcmVjdGlvbiBsb29wIChyZWRpcmVjdGluZyBtb3JlIHRoYW4gJHt0aGlzLm1heFJlZGlyZWN0aW9ufSB0aW1lcy4gUGxlYXNlIGRvIG5vdCBoYXZlIGN5Y2xlcyBpbiB0aGUgcm91dGVzLmApO2lmKHRoaXMuZGVmYXVsdFJvdXRlQ29uZmlnKXtjb25zdHtkZWZpbml0aW9uOnR9PXRoaXMuZGVmYXVsdFJvdXRlQ29uZmlnO3JldHVybntyb3V0ZUtpbmQ6dC5yb3V0ZUtpbmQsZGVlcExpbmtQcm92aWRlcjpudWxsIT09KGU9dC5kZWVwTGlua1Byb3ZpZGVyKSYmdm9pZCAwIT09ZT9lOm51bGwscGF0aG5hbWU6dC5wYXRoLHBhcmFtczp7fSxvcmlnaW5hdGVGcm9tUmVkaXJlY3Rpb246ITAscmVkaXJlY3Rpb25Pbmx5UXVlcnlQYXJhbXM6dm9pZCAwfX1yZXR1cm4gbnVsbH1tYXRjaEJ5Um91dGVLaW5kKHQsZSl7Y29uc3Qgbj10aGlzLnJvdXRlS2luZFRvQ29uY3JldGVDb25maWdNYXRjaGVycy5nZXQodCk7aWYoIW4pdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFJlcXVpcmVzIGNvbmZpZ3VyYXRpb24gZm9yIHJvdXRlS2luZDogJHt0fWApO3JldHVybntyb3V0ZUtpbmQ6dCxwYXJhbXM6ZSxwYXRobmFtZTpwUihuLm1hdGNoQnlQYXJhbXMoZSkucGF0aFBhcnRzKSxkZWVwTGlua1Byb3ZpZGVyOm4uZGVmaW5pdGlvbi5kZWVwTGlua1Byb3ZpZGVyfHxudWxsLG9yaWdpbmF0ZUZyb21SZWRpcmVjdGlvbjohMX19fWZ1bmN0aW9uIGRSKHQpe3JldHVybiB0LnNwbGl0KCIvIikuc2xpY2UoMSl9ZnVuY3Rpb24gcFIodCl7cmV0dXJuIi8iK3Quam9pbigiLyIpfWNvbnN0IG1SPW5ldyBlcigiW0FwcCBSb3V0aW5nXSBSb3V0ZSBDb25maWciKTtjbGFzcyBmUntjb25zdHJ1Y3Rvcih0KXtpZih0aGlzLnJvdXRlS2luZFRvTmdDb21wb25lbnQ9bmV3IE1hcCwhdClyZXR1cm4gdm9pZCh0aGlzLnJvdXRlQ29uZmlncz1uZXcgY1IoW10pKTtjb25zdCBlPVtdO2Zvcihjb25zdCBuIG9mIHQpZm9yKGNvbnN0IHQgb2YgbillLnB1c2godCk7dGhpcy5yb3V0ZUNvbmZpZ3M9bmV3IGNSKGUpLGUuZm9yRWFjaCgodD0+e29SKHQpJiZ0aGlzLnJvdXRlS2luZFRvTmdDb21wb25lbnQuc2V0KHQucm91dGVLaW5kLHQubmdDb21wb25lbnQpfSkpfWdldFJlZ2lzdGVyZWRSb3V0ZUtpbmRzKCl7cmV0dXJuIHRoaXMucm91dGVLaW5kVG9OZ0NvbXBvbmVudC5rZXlzKCl9Z2V0Um91dGVDb25maWdzKCl7cmV0dXJuIHRoaXMucm91dGVDb25maWdzfWdldE5nQ29tcG9uZW50QnlSb3V0ZUtpbmQodCl7cmV0dXJuIHRoaXMucm91dGVLaW5kVG9OZ0NvbXBvbmVudC5nZXQodCl8fG51bGx9c3RhdGljIHJlZ2lzdGVyUm91dGVzKHQpe3JldHVybntuZ01vZHVsZTpmUixwcm92aWRlcnM6W3twcm92aWRlOm1SLG11bHRpOiEwLHVzZUZhY3Rvcnk6dH1dfX19ZlIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGZSKShUcihtUiw4KSl9LGZSLsm1bW9kPWZvKHt0eXBlOmZSfSksZlIuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZlIsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W21SXX1dfV19KSxudWxsKTtjb25zdCB1Uj0iYXBwX3JvdXRpbmciLGdSPV9TKHVSKSxoUj1iUyhnUiwodD0+dC5hY3RpdmVSb3V0ZSkpLGJSPWJTKGdSLCh0PT50Lm5leHRSb3V0ZSkpLHlSPWJTKGdSLCh0PT50LmFjdGl2ZU5hbWVzcGFjZUlkKSksX1I9YlMoZ1IsKHQ9PnQua25vd25OYW1lc3BhY2VJZHMpKSxDUj1iUyhnUiwodD0+dC5yZWdpc3RlcmVkUm91dGVLZXlzKSksTVI9YlMoaFIsKHQ9PnQ/dC5yb3V0ZUtpbmQ6X0QuTk9UX1NFVCkpLHZSPWJTKGhSLCh0PT50P3QucGFyYW1zOnt9KSkseFI9YlMoTVIsdlIsKCh0LGUpPT52RCh0LGUpKSk7YlMoTVIsdlIsKCh0LGUpPT57aWYodCE9PV9ELkNPTVBBUkVfRVhQRVJJTUVOVClyZXR1cm57fTtjb25zdCBuPShmdW5jdGlvbiBvKHQpe2NvbnN0IGU9bmV3IE1hcCxuPU1EKHQuZXhwZXJpbWVudElkcyk7Zm9yKGNvbnN0e2lkOnQsbmFtZTpvfW9mIG4pbyYmZS5zZXQodCxvKTtyZXR1cm4gZX0pKGUpO3JldHVybiBPYmplY3QuZnJvbUVudHJpZXMobi5lbnRyaWVzKCkpfSkpO2NvbnN0IE9SPWJTKE1SLHZSLCgodCxlKT0+e2lmKHQhPT1fRC5DT01QQVJFX0VYUEVSSU1FTlQpcmV0dXJue307Y29uc3Qgbj0oZnVuY3Rpb24gbyh0KXtjb25zdCBlPW5ldyBNYXAsbj1NRCh0LmV4cGVyaW1lbnRJZHMpO2xldCBvPTA7Zm9yKGNvbnN0e2lkOnQsbmFtZTppfW9mIG4pbysrLCFlLmhhcyh0KSYmaSYmZS5zZXQodCx7YWxpYXNUZXh0OmksYWxpYXNOdW1iZXI6b30pO3JldHVybiBlfSkoZSk7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhuLmVudHJpZXMoKSl9KSksUFI9X2soIltBcHAgUm91dGluZ10gRWZmZWN0cyBJbml0Iik7dmFyIHdSOyEoZnVuY3Rpb24odCl7dFt0LlVOQ0hBTkdFRD0wXT0iVU5DSEFOR0VEIix0W3QuTkVXPTFdPSJORVciLHRbdC5GUk9NX0hJU1RPUlk9Ml09IkZST01fSElTVE9SWSJ9KSh3Unx8KHdSPXt9KSk7Y2xhc3Mga1J7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscil7dGhpcy5hY3Rpb25zJD10LHRoaXMuc3RvcmU9ZSx0aGlzLmxvY2F0aW9uPW4sdGhpcy5kaXJ0eVVwZGF0ZXNSZWdpc3RyeT1vLHRoaXMucmVnaXN0cnk9aSx0aGlzLnByb2dyYW1tYXRpY2FsTmF2TW9kdWxlPWEsdGhpcy5hcHBSb290UHJvdmlkZXI9cix0aGlzLm9uTmF2aWdhdGlvblJlcXVlc3RlZCQ9dGhpcy5hY3Rpb25zJC5waXBlKCRTKFFEKSxWdCgodD0+e3ZhciBlO3JldHVybntwYXRobmFtZTp0LnBhdGhuYW1lLnN0YXJ0c1dpdGgoIi8iKT90aGlzLmFwcFJvb3RQcm92aWRlci5nZXRBYnNQYXRobmFtZVdpdGhBcHBSb290KHQucGF0aG5hbWUpOnRoaXMubG9jYXRpb24uZ2V0UmVzb2x2ZWRQYXRoKHQucGF0aG5hbWUpLG9wdGlvbnM6e2Jyb3dzZXJJbml0aWF0ZWQ6ITEscmVwbGFjZVN0YXRlOm51bGwhPT0oZT10LnJlcGxhY2VTdGF0ZSkmJnZvaWQgMCE9PWUmJmUsbmFtZXNwYWNlVXBkYXRlOntvcHRpb246dC5yZXNldE5hbWVzcGFjZWRTdGF0ZT93Ui5ORVc6d1IuVU5DSEFOR0VEfX19fSkpKSx0aGlzLmJvb3RzdHJhcFJlZHVjZXJzJD1XUygoKCk9PnRoaXMuYWN0aW9ucyQucGlwZSgkUyhQUiksVnQoKCgpPT5KRCh7cm91dGVLaW5kczpuZXcgU2V0KHRoaXMucmVnaXN0cnkuZ2V0UmVnaXN0ZXJlZFJvdXRlS2luZHMoKSl9KSkpKSkpLHRoaXMub25Jbml0JD10aGlzLmFjdGlvbnMkLnBpcGUoJFMoUFIpKS5waXBlKFBlKDApLFZ0KCgoKT0+e3ZhciB0O2NvbnN0IGU9bnVsbD09PSh0PXRoaXMubG9jYXRpb24uZ2V0SGlzdG9yeVN0YXRlKCkpfHx2b2lkIDA9PT10P3ZvaWQgMDp0Lm5hbWVzcGFjZUlkLG49dm9pZCAwPT09ZT97b3B0aW9uOndSLk5FV306e29wdGlvbjp3Ui5GUk9NX0hJU1RPUlksbmFtZXNwYWNlSWQ6ZX07cmV0dXJue3BhdGhuYW1lOnRoaXMubG9jYXRpb24uZ2V0UGF0aCgpLG9wdGlvbnM6e2Jyb3dzZXJJbml0aWF0ZWQ6ITAscmVwbGFjZVN0YXRlOiEwLG5hbWVzcGFjZVVwZGF0ZTpufX19KSkpLHRoaXMub25Qb3BTdGF0ZSQ9dGhpcy5sb2NhdGlvbi5vblBvcFN0YXRlKCkucGlwZShWdCgodD0+e3ZhciBlO3JldHVybntwYXRobmFtZTp0LnBhdGhuYW1lLG9wdGlvbnM6e2Jyb3dzZXJJbml0aWF0ZWQ6ITAscmVwbGFjZVN0YXRlOiEwLG5hbWVzcGFjZVVwZGF0ZTp7b3B0aW9uOndSLkZST01fSElTVE9SWSxuYW1lc3BhY2VJZDpudWxsPT09KGU9dC5zdGF0ZSl8fHZvaWQgMD09PWU/dm9pZCAwOmUubmFtZXNwYWNlSWR9fX19KSkpLHRoaXMudXNlckluaXROYXZSb3V0ZSQ9cGUodGhpcy5vbk5hdmlnYXRpb25SZXF1ZXN0ZWQkLHRoaXMub25Jbml0JCx0aGlzLm9uUG9wU3RhdGUkKS5waXBlKFZ0KCh0PT57aWYoIXQucGF0aG5hbWUuc3RhcnRzV2l0aCgiLyIpKXRocm93IG5ldyBFcnJvcihgW0FwcCByb3V0aW5nXSBwYXRobmFtZSBtdXN0IHN0YXJ0IHdpdGggJy8nLiBHb3Q6ICR7dC5wYXRobmFtZX1gKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtwYXRobmFtZTp0aGlzLmFwcFJvb3RQcm92aWRlci5nZXRBcHBSb290bGVzc1BhdGhuYW1lKHQucGF0aG5hbWUpfSl9KSksVnQoKHQ9Pih7cm91dGVNYXRjaDp0aGlzLnJvdXRlQ29uZmlncy5tYXRjaCh0KSxvcHRpb25zOnQub3B0aW9uc30pKSkpLHRoaXMucHJvZ3JhbW1hdGljYWxOYXZSb3V0ZSQ9dGhpcy5hY3Rpb25zJC5waXBlKFZ0KCh0PT50aGlzLnByb2dyYW1tYXRpY2FsTmF2TW9kdWxlLmdldE5hdmlnYXRpb24odCkpKSx1ZSgodD0+bnVsbCE9PXQpKSxWdCgodD0+e2NvbnN0IGU9dCxuPWUucm91dGVLaW5kO2xldCBvO3N3aXRjaChlLnJvdXRlS2luZCl7Y2FzZSBfRC5DT01QQVJFX0VYUEVSSU1FTlQ6bz17ZXhwZXJpbWVudElkczooaT1lLnJvdXRlUGFyYW1zLmFsaWFzQW5kRXhwZXJpbWVudElkcyxpLm1hcCgoKHthbGlhczp0LGlkOmV9KT0+YCR7dH06JHtlfWApKS5qb2luKCIsIikpfTticmVhaztkZWZhdWx0Om89ZS5yb3V0ZVBhcmFtc312YXIgaTtyZXR1cm57cm91dGVLaW5kOm4scm91dGVQYXJhbXM6b319KSksVnQoKCh7cm91dGVLaW5kOnQscm91dGVQYXJhbXM6ZX0pPT4oe3JvdXRlTWF0Y2g6dGhpcy5yb3V0ZUNvbmZpZ3M/dGhpcy5yb3V0ZUNvbmZpZ3MubWF0Y2hCeVJvdXRlS2luZCh0LGUpOm51bGwsb3B0aW9uczp7cmVwbGFjZVN0YXRlOiExLGJyb3dzZXJJbml0aWF0ZWQ6ITEsbmFtZXNwYWNlVXBkYXRlOntvcHRpb246d1IuVU5DSEFOR0VEfX19KSkpKSx0aGlzLnZhbGlkYXRlZFJvdXRlTWF0Y2gkPXBlKHRoaXMudXNlckluaXROYXZSb3V0ZSQsdGhpcy5wcm9ncmFtbWF0aWNhbE5hdlJvdXRlJCkucGlwZSh1ZSgoKHtyb3V0ZU1hdGNoOnR9KT0+Qm9vbGVhbih0KSkpLFZ0KCgoe3JvdXRlTWF0Y2g6dCxvcHRpb25zOmV9KT0+KHtyb3V0ZU1hdGNoOnQsb3B0aW9uczplfSkpKSksdGhpcy5uYXZpZ2F0ZSQ9V1MoKCgpPT50aGlzLnZhbGlkYXRlZFJvdXRlTWF0Y2gkLnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QoaFIpKSwkdCgoKFt0LGVdKT0+e2NvbnN0IG49bnVsbCE9PWUmJnhEKGUsdC5yb3V0ZU1hdGNoKSxvPXRoaXMuZGlydHlVcGRhdGVzUmVnaXN0cnkuZ2V0RGlydHlVcGRhdGVzU2VsZWN0b3JzKCk7cmV0dXJuIG58fCFvLmxlbmd0aD96dCh0KTppZSh0aGlzLmRpcnR5VXBkYXRlc1JlZ2lzdHJ5LmdldERpcnR5VXBkYXRlc1NlbGVjdG9ycygpLm1hcCgodD0+dGhpcy5zdG9yZS5zZWxlY3QodCkucGlwZSh2ZSgxKSkpKSkucGlwZShWdCgodD0+dm9pZCAwIT09dFswXS5leHBlcmltZW50SWRzJiZ0WzBdLmV4cGVyaW1lbnRJZHMubGVuZ3RoPjApKSx1ZSgodD0+e2lmKHQpe2NvbnN0IHQ9d2luZG93LmNvbmZpcm0oIllvdSBoYXZlIHVuc2F2ZWQgZWRpdHMsIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkaXNjYXJkIHRoZW0/Iik7cmV0dXJuIHQmJnRoaXMuc3RvcmUuZGlzcGF0Y2goWEQoKSksdH1yZXR1cm4hMH0pKSxWdCgoKCk9PnQpKSl9KSkscWUodGhpcy5zdG9yZS5zZWxlY3QoX1IpKSxXZSgoKFt7cm91dGVNYXRjaDp0LG9wdGlvbnM6ZX0sbl0pPT57Y29uc3Qgbz1lLm5hbWVzcGFjZVVwZGF0ZS5vcHRpb249PT13Ui5GUk9NX0hJU1RPUlkmJm4uaGFzKGUubmFtZXNwYWNlVXBkYXRlLm5hbWVzcGFjZUlkKTtpZighZS5icm93c2VySW5pdGlhdGVkfHxvfHwhdC5kZWVwTGlua1Byb3ZpZGVyKXJldHVybjtjb25zdCBpPXQub3JpZ2luYXRlRnJvbVJlZGlyZWN0aW9uJiZ0LnJlZGlyZWN0aW9uT25seVF1ZXJ5UGFyYW1zP3QucmVkaXJlY3Rpb25Pbmx5UXVlcnlQYXJhbXM6dGhpcy5sb2NhdGlvbi5nZXRTZWFyY2goKSxhPXQuZGVlcExpbmtQcm92aWRlci5kZXNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKGkpO3RoaXMuc3RvcmUuZGlzcGF0Y2goS0Qoe3JvdXRlS2luZDp0LnJvdXRlS2luZCxwYXJ0aWFsU3RhdGU6YX0pKX0pKSxWZSgoKFt7cm91dGVNYXRjaDp0LG9wdGlvbnM6ZX1dKT0+bnVsbD09PXQuZGVlcExpbmtQcm92aWRlcj96dCh7cm91dGU6e3JvdXRlS2luZDp0LnJvdXRlS2luZCxwYXJhbXM6dC5wYXJhbXMscGF0aG5hbWU6dC5wYXRobmFtZSxxdWVyeVBhcmFtczpbXX0sb3B0aW9uczplfSk6dC5kZWVwTGlua1Byb3ZpZGVyLnNlcmlhbGl6ZVN0YXRlVG9RdWVyeVBhcmFtcyh0aGlzLnN0b3JlKS5waXBlKFZ0KCgobixvKT0+KHtyb3V0ZTp7cm91dGVLaW5kOnQucm91dGVLaW5kLHBhcmFtczp0LnBhcmFtcyxwYXRobmFtZTp0LnBhdGhuYW1lLHF1ZXJ5UGFyYW1zOm59LG9wdGlvbnM6MD09PW8/ZTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse3JlcGxhY2VTdGF0ZTohMCxyZXNldE5hbWVzcGFjZWRTdGF0ZTohMX0pfSkpKSkpKSxXZSgoKHtyb3V0ZTp0fSk9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKCREKHthZnRlcjp0fSkpfSkpLENlKDApKS5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KGhSKSksVnQoKChbe3JvdXRlOnQsb3B0aW9uczplfSxuXSk9Pih7cHJlc2VydmVIYXNoOm51bGw9PT1ufHxudWxsPT09dHx8eEQobix0KSxyb3V0ZTp0LG9wdGlvbnM6ZX0pKSksV2UoKCh7cHJlc2VydmVIYXNoOnQscm91dGU6ZSxvcHRpb25zOm59KT0+eyEoZnVuY3Rpb24gbyh0LGUpe3JldHVybiB0LnBhdGhuYW1lPT09ZS5wYXRobmFtZSYmdC5xdWVyeVBhcmFtcy5sZW5ndGg9PT1lLnF1ZXJ5UGFyYW1zLmxlbmd0aCYmdC5xdWVyeVBhcmFtcy5ldmVyeSgoKHQsbik9Pntjb25zdCBvPWUucXVlcnlQYXJhbXNbbl07cmV0dXJuIHQua2V5PT09by5rZXkmJnQudmFsdWU9PT1vLnZhbHVlfSkpfSkoZSx7cGF0aG5hbWU6dGhpcy5hcHBSb290UHJvdmlkZXIuZ2V0QXBwUm9vdGxlc3NQYXRobmFtZSh0aGlzLmxvY2F0aW9uLmdldFBhdGgoKSkscXVlcnlQYXJhbXM6dGhpcy5sb2NhdGlvbi5nZXRTZWFyY2goKX0pJiYobi5yZXBsYWNlU3RhdGU/dGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGVVcmwodGhpcy5hcHBSb290UHJvdmlkZXIuZ2V0QWJzUGF0aG5hbWVXaXRoQXBwUm9vdCh0aGlzLmxvY2F0aW9uLmdldEZ1bGxQYXRoRnJvbVJvdXRlKGUsdCkpKTp0aGlzLmxvY2F0aW9uLnB1c2hTdGF0ZVVybCh0aGlzLmFwcFJvb3RQcm92aWRlci5nZXRBYnNQYXRobmFtZVdpdGhBcHBSb290KHRoaXMubG9jYXRpb24uZ2V0RnVsbFBhdGhGcm9tUm91dGUoZSx0KSkpKX0pKSkucGlwZShxZSh0aGlzLnN0b3JlLnNlbGVjdChoUiksdGhpcy5zdG9yZS5zZWxlY3QoeVIpLHRoaXMuc3RvcmUuc2VsZWN0KFpEKSksVnQoKChbe3JvdXRlOnQsb3B0aW9uczplfSxuLG8saV0pPT57Y29uc3QgYT0oZnVuY3Rpb24gcih0LGUsbixvKXtyZXR1cm4gdD9uLm5hbWVzcGFjZVVwZGF0ZS5vcHRpb249PT13Ui5GUk9NX0hJU1RPUlk/bi5uYW1lc3BhY2VVcGRhdGUubmFtZXNwYWNlSWQ6bnVsbD09b3x8bi5uYW1lc3BhY2VVcGRhdGUub3B0aW9uPT09d1IuTkVXP0RhdGUubm93KCkudG9TdHJpbmcoKTpvOihmdW5jdGlvbiBpKHQsZSl7dmFyIG47c3dpdGNoKHQpe2Nhc2UgX0QuQ09NUEFSRV9FWFBFUklNRU5UOmNhc2UgX0QuRVhQRVJJTUVOVDp7Y29uc3Qgbz1udWxsIT09KG49dkQodCxlKSkmJnZvaWQgMCE9PW4/bjpbXTtyZXR1cm4gby5zb3J0KCksYCR7dH0vJHtvLmpvaW4oIiwiKX1gfWNhc2UgX0QuRVhQRVJJTUVOVFM6cmV0dXJuIFN0cmluZyh0KTtjYXNlIF9ELk5PVF9TRVQ6cmV0dXJuIl9fbm90X3NldCI7ZGVmYXVsdDpyZXR1cm4iIn19KShlLnJvdXRlS2luZCxlLnBhcmFtcyl9KShpLHQsZSxvKTtyZXR1cm4gdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGVEYXRhKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0aGlzLmxvY2F0aW9uLmdldEhpc3RvcnlTdGF0ZSgpKSx7bmFtZXNwYWNlSWQ6YX0pKSx0Uih7YmVmb3JlOm4sYWZ0ZXI6dCxiZWZvcmVOYW1lc3BhY2VJZDpvLGFmdGVyTmFtZXNwYWNlSWQ6YX0pfSkpKSkpLHRoaXMucm91dGVDb25maWdzPWkuZ2V0Um91dGVDb25maWdzKCl9bmdyeE9uSW5pdEVmZmVjdHMoKXtyZXR1cm4gUFIoKX19a1IuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGtSKShUcihRUyksVHIoaVMpLFRyKFBEKSxUcihFRCksVHIoZlIpLFRyKG5SKSxUcih3RCkpfSxrUi7JtXByb3Y9U24oe3Rva2VuOmtSLGZhY3Rvcnk6a1IuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGtSLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpRU30se3R5cGU6aVN9LHt0eXBlOlBEfSx7dHlwZTpFRH0se3R5cGU6ZlJ9LHt0eXBlOm5SfSx7dHlwZTp3RH1dfSksbnVsbCk7Y29uc3QgU1I9VlMoe2FjdGl2ZVJvdXRlOm51bGwsbmV4dFJvdXRlOm51bGwsYWN0aXZlTmFtZXNwYWNlSWQ6bnVsbCxrbm93bk5hbWVzcGFjZUlkczpuZXcgU2V0LHJlZ2lzdGVyZWRSb3V0ZUtleXM6bmV3IFNldH0sQlMoJEQsKCh0LHthZnRlcjplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7bmV4dFJvdXRlOmV9KSkpLEJTKHRSLCgodCx7YWZ0ZXI6ZSxhZnRlck5hbWVzcGFjZUlkOm59KT0+e2xldCBvPXQua25vd25OYW1lc3BhY2VJZHM7cmV0dXJuIHQua25vd25OYW1lc3BhY2VJZHMuaGFzKG4pfHwobz1uZXcgU2V0KHQua25vd25OYW1lc3BhY2VJZHMpLG8uYWRkKG4pKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2FjdGl2ZVJvdXRlOmUsbmV4dFJvdXRlOm51bGwsYWN0aXZlTmFtZXNwYWNlSWQ6bixrbm93bk5hbWVzcGFjZUlkczpvfSl9KSksQlMoSkQsKCh0LHtyb3V0ZUtpbmRzOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtyZWdpc3RlcmVkUm91dGVLZXlzOmV9KSkpKTtmdW5jdGlvbiBEUih0LGUpe3JldHVybiBTUih0LGUpfWNsYXNzIFJSe31SUi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UlIpfSxSUi7JtW1vZD1mbyh7dHlwZTpSUn0pLFJSLsm1aW5qPURuKHtwcm92aWRlcnM6W0VELG5SXSxpbXBvcnRzOltbZlIsVFMuZm9yRmVhdHVyZSh1UixEUiksaEQuZm9yRmVhdHVyZShba1JdKSxERCxTRF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihSUixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W2ZSLFRTLmZvckZlYXR1cmUodVIsRFIpLGhELmZvckZlYXR1cmUoW2tSXSksREQsU0RdLHByb3ZpZGVyczpbRUQsblJdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oUlIse2ltcG9ydHM6W2ZSLEFTLGdELERELFNEXX0pO2NvbnN0IEVSPSJfX3RhYl9fIjtjbGFzcyBBUntjb25zdHJ1Y3Rvcigpe3RoaXMudGZTdG9yYWdlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRmLXN0b3JhZ2UiKTtkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Zi1nbG9iYWxzIikudGZfZ2xvYmFscy5zZXRVc2VIYXNoKCEwKSx0aGlzLnRmU3RvcmFnZS50Zl9zdG9yYWdlLm1pZ3JhdGVMZWdhY3lVUkxTY2hlbWUoKX1nZXRTdHJpbmcodCl7cmV0dXJuIHRoaXMudGZTdG9yYWdlLnRmX3N0b3JhZ2UuZ2V0U3RyaW5nKHQpfXNldFN0cmluZyh0LGUsbil7dGhpcy50ZlN0b3JhZ2UudGZfc3RvcmFnZS5zZXRTdHJpbmcodCxlLG4pfWdldFBsdWdpbklkKCl7cmV0dXJuIHRoaXMuZ2V0U3RyaW5nKEVSKX1zZXRQbHVnaW5JZCh0LGUpe3RoaXMuc2V0U3RyaW5nKEVSLHQsZSl9fUFSLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxBUil9LEFSLsm1cHJvdj1Tbih7dG9rZW46QVIsZmFjdG9yeTpBUi7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQVIsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSxudWxsKTtjbGFzcyBUUnt9Y29uc3QgTlI9bmV3IGVyKCJbUGVyc2lzdGVudCBTZXR0aW5nc10gR2xvYmFsIFNldHRpbmdzIik7Y2xhc3MgelJ7Y29uc3RydWN0b3IodCl7dGhpcy5nbG9iYWxTZXR0aW5nU2VsZWN0b3JzPVtdLHQmJih0aGlzLmdsb2JhbFNldHRpbmdTZWxlY3RvcnM9dC5tYXAoKHQ9PnQoKSkpKX1nZXRHbG9iYWxTZXR0aW5nU2VsZWN0b3JzKCl7dmFyIHQ7cmV0dXJuIG51bGwhPT0odD10aGlzLmdsb2JhbFNldHRpbmdTZWxlY3RvcnMpJiZ2b2lkIDAhPT10P3Q6W119c3RhdGljIGRlZmluZUdsb2JhbFNldHRpbmcodCl7cmV0dXJue25nTW9kdWxlOnpSLHByb3ZpZGVyczpbe3Byb3ZpZGU6TlIsbXVsdGk6ITAsdXNlVmFsdWU6dH1dfX19elIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHpSKShUcihOUiw4KSl9LHpSLsm1bW9kPWZvKHt0eXBlOnpSfSkselIuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoelIsW3t0eXBlOkxffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltOUl19XX1dfSksbnVsbCk7Y2xhc3MgSVJ7c2V0SXRlbSh0LGUpe2xvY2FsU3RvcmFnZS5zZXRJdGVtKHQsZSl9Z2V0SXRlbSh0KXtyZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odCl9cmVtb3ZlSXRlbSh0KXtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0KX19SVIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fElSKX0sSVIuybVwcm92PVNuKHt0b2tlbjpJUixmYWN0b3J5OklSLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihJUixbe3R5cGU6VW19XSxudWxsLG51bGwpO2NsYXNzIEhSe312YXIgRlI7SFIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEhSKX0sSFIuybVtb2Q9Zm8oe3R5cGU6SFJ9KSxIUi7JtWluaj1Ebih7cHJvdmlkZXJzOltJUl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEhSLFt7dHlwZTpMXyxhcmdzOlt7cHJvdmlkZXJzOltJUl19XX1dLG51bGwsbnVsbCksKGZ1bmN0aW9uKHQpe3QuQlJPV1NFUl9ERUZBVUxUPSJicm93c2VyX2RlZmF1bHQiLHQuTElHSFQ9ImxpZ2h0Iix0LkRBUks9ImRhcmsifSkoRlJ8fChGUj17fSkpO2NvbnN0IExSPSJfdGJfZ2xvYmFsX3NldHRpbmdzLnRpbWVzZXJpZXMiLEJSPSJfdGJfZ2xvYmFsX3NldHRpbmdzIixWUj0ibm90aWZpY2F0aW9uTGFzdFJlYWRUaW1lc3RhbXAiO2NsYXNzIGpSe31qUi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8alIpfSxqUi7JtXByb3Y9U24oe3Rva2VuOmpSLGZhY3Rvcnk6alIuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGpSLFt7dHlwZTpVbX1dLG51bGwsbnVsbCk7Y2xhc3MgVVJ7fVVSLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxVUil9LFVSLsm1cHJvdj1Tbih7dG9rZW46VVIsZmFjdG9yeTpVUi7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVVIsW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjbGFzcyBXUiBleHRlbmRzIFVSe3VpVG9CYWNrZW5kKHQpe2NvbnN0IGU9e307cmV0dXJuIHZvaWQgMCE9PXQuaWdub3JlT3V0bGllcnMmJihlLmlnbm9yZU91dGxpZXJzPXQuaWdub3JlT3V0bGllcnMpLHZvaWQgMCE9PXQuc2NhbGFyU21vb3RoaW5nJiYoZS5zY2FsYXJTbW9vdGhpbmc9dC5zY2FsYXJTbW9vdGhpbmcpLHZvaWQgMCE9PXQudG9vbHRpcFNvcnRTdHJpbmcmJihlLnRvb2x0aXBTb3J0PXQudG9vbHRpcFNvcnRTdHJpbmcpLHZvaWQgMCE9PXQuYXV0b1JlbG9hZCYmKGUuYXV0b1JlbG9hZD10LmF1dG9SZWxvYWQpLHZvaWQgMCE9PXQuYXV0b1JlbG9hZFBlcmlvZEluTXMmJihlLmF1dG9SZWxvYWRQZXJpb2RJbk1zPXQuYXV0b1JlbG9hZFBlcmlvZEluTXMpLHZvaWQgMCE9PXQucGFnZVNpemUmJihlLnBhZ2luYXRpb25TaXplPXQucGFnZVNpemUpLHZvaWQgMCE9PXQudGhlbWVPdmVycmlkZSYmKGUudGhlbWU9dC50aGVtZU92ZXJyaWRlKSx2b2lkIDAhPT10Lm5vdGlmaWNhdGlvbkxhc3RSZWFkVGltZUluTXMmJihlLm5vdGlmaWNhdGlvbkxhc3RSZWFkVGltZUluTXM9dC5ub3RpZmljYXRpb25MYXN0UmVhZFRpbWVJbk1zKSx2b2lkIDAhPT10LnNpZGVCYXJXaWR0aEluUGVyY2VudCYmKGUuc2lkZUJhcldpZHRoSW5QZXJjZW50PXQuc2lkZUJhcldpZHRoSW5QZXJjZW50KSx2b2lkIDAhPT10LnRpbWVTZXJpZXNQcm9tb3Rpb25EaXNtaXNzZWQmJihlLnRpbWVTZXJpZXNQcm9tb3Rpb25EaXNtaXNzZWQ9dC50aW1lU2VyaWVzUHJvbW90aW9uRGlzbWlzc2VkKSx2b2lkIDAhPT10LnRpbWVTZXJpZXNTZXR0aW5nc1BhbmVPcGVuZWQmJihlLnRpbWVTZXJpZXNTZXR0aW5nc1BhbmVPcGVuZWQ9dC50aW1lU2VyaWVzU2V0dGluZ3NQYW5lT3BlbmVkKSx2b2lkIDAhPT10LnRpbWVTZXJpZXNDYXJkTWluV2lkdGgmJihlLnRpbWVTZXJpZXNDYXJkTWluV2lkdGg9dC50aW1lU2VyaWVzQ2FyZE1pbldpZHRoKSxlfWJhY2tlbmRUb1VpKHQpe2NvbnN0IGU9e307cmV0dXJuIHQuaGFzT3duUHJvcGVydHkoInNjYWxhclNtb290aGluZyIpJiYibnVtYmVyIj09dHlwZW9mIHQuc2NhbGFyU21vb3RoaW5nJiYoZS5zY2FsYXJTbW9vdGhpbmc9dC5zY2FsYXJTbW9vdGhpbmcpLHQuaGFzT3duUHJvcGVydHkoImlnbm9yZU91dGxpZXJzIikmJiJib29sZWFuIj09dHlwZW9mIHQuaWdub3JlT3V0bGllcnMmJihlLmlnbm9yZU91dGxpZXJzPXQuaWdub3JlT3V0bGllcnMpLHQuaGFzT3duUHJvcGVydHkoInRvb2x0aXBTb3J0IikmJiJzdHJpbmciPT10eXBlb2YgdC50b29sdGlwU29ydCYmKGUudG9vbHRpcFNvcnRTdHJpbmc9dC50b29sdGlwU29ydCksdC5oYXNPd25Qcm9wZXJ0eSgiYXV0b1JlbG9hZCIpJiYiYm9vbGVhbiI9PXR5cGVvZiB0LmF1dG9SZWxvYWQmJihlLmF1dG9SZWxvYWQ9dC5hdXRvUmVsb2FkKSx0Lmhhc093blByb3BlcnR5KCJhdXRvUmVsb2FkUGVyaW9kSW5NcyIpJiYibnVtYmVyIj09dHlwZW9mIHQuYXV0b1JlbG9hZFBlcmlvZEluTXMmJihlLmF1dG9SZWxvYWRQZXJpb2RJbk1zPXQuYXV0b1JlbG9hZFBlcmlvZEluTXMpLHQuaGFzT3duUHJvcGVydHkoInBhZ2luYXRpb25TaXplIikmJiJudW1iZXIiPT10eXBlb2YgdC5wYWdpbmF0aW9uU2l6ZSYmKGUucGFnZVNpemU9dC5wYWdpbmF0aW9uU2l6ZSksdC5oYXNPd25Qcm9wZXJ0eSgidGhlbWUiKSYmInN0cmluZyI9PXR5cGVvZiB0LnRoZW1lJiZuZXcgU2V0KE9iamVjdC52YWx1ZXMoRlIpKS5oYXModC50aGVtZSkmJihlLnRoZW1lT3ZlcnJpZGU9dC50aGVtZSksdC5oYXNPd25Qcm9wZXJ0eSgibm90aWZpY2F0aW9uTGFzdFJlYWRUaW1lSW5NcyIpJiYibnVtYmVyIj09dHlwZW9mIHQubm90aWZpY2F0aW9uTGFzdFJlYWRUaW1lSW5NcyYmKGUubm90aWZpY2F0aW9uTGFzdFJlYWRUaW1lSW5Ncz10Lm5vdGlmaWNhdGlvbkxhc3RSZWFkVGltZUluTXMpLHQuaGFzT3duUHJvcGVydHkoInNpZGVCYXJXaWR0aEluUGVyY2VudCIpJiYibnVtYmVyIj09dHlwZW9mIHQuc2lkZUJhcldpZHRoSW5QZXJjZW50JiYoZS5zaWRlQmFyV2lkdGhJblBlcmNlbnQ9dC5zaWRlQmFyV2lkdGhJblBlcmNlbnQpLHQuaGFzT3duUHJvcGVydHkoInRpbWVTZXJpZXNQcm9tb3Rpb25EaXNtaXNzZWQiKSYmImJvb2xlYW4iPT10eXBlb2YgdC50aW1lU2VyaWVzUHJvbW90aW9uRGlzbWlzc2VkJiYoZS50aW1lU2VyaWVzUHJvbW90aW9uRGlzbWlzc2VkPXQudGltZVNlcmllc1Byb21vdGlvbkRpc21pc3NlZCksdC5oYXNPd25Qcm9wZXJ0eSgidGltZVNlcmllc1NldHRpbmdzUGFuZU9wZW5lZCIpJiYiYm9vbGVhbiI9PXR5cGVvZiB0LnRpbWVTZXJpZXNTZXR0aW5nc1BhbmVPcGVuZWQmJihlLnRpbWVTZXJpZXNTZXR0aW5nc1BhbmVPcGVuZWQ9dC50aW1lU2VyaWVzU2V0dGluZ3NQYW5lT3BlbmVkKSx0Lmhhc093blByb3BlcnR5KCJ0aW1lU2VyaWVzQ2FyZE1pbldpZHRoIikmJiJudW1iZXIiPT10eXBlb2YgdC50aW1lU2VyaWVzQ2FyZE1pbldpZHRoJiYoZS50aW1lU2VyaWVzQ2FyZE1pbldpZHRoPXQudGltZVNlcmllc0NhcmRNaW5XaWR0aCksZX19V1IuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKFdSKSkpKG58fFdSKX19KSgpLFdSLsm1cHJvdj1Tbih7dG9rZW46V1IsZmFjdG9yeTpXUi7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoV1IsW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjbGFzcyBHUntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMubG9jYWxTdG9yYWdlPXQsdGhpcy5jb252ZXJ0ZXI9ZX1zZXRTZXR0aW5ncyh0KXtyZXR1cm4gT2JqZWN0LmtleXModCk/dGhpcy5nZXRTZXR0aW5ncygpLnBpcGUoV2UoKGU9Pnt0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKEJSLEpTT04uc3RyaW5naWZ5KHRoaXMuY29udmVydGVyLnVpVG9CYWNrZW5kKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx0KSkpKSx0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKExSKSx0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFZSKX0pKSxWdCgoKCk9Pnt9KSkpOmR0fWRlc2VyaWFsaXplKHQpe3RyeXtyZXR1cm4gSlNPTi5wYXJzZSh0KX1jYXRjaCh0KXtyZXR1cm57fX19Z2V0U2V0dGluZ3MoKXt2YXIgdCxlO2NvbnN0IG49dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShWUiksbz10aGlzLmNvbnZlcnRlci5iYWNrZW5kVG9VaSh0aGlzLmRlc2VyaWFsaXplKG4/SlNPTi5zdHJpbmdpZnkoe25vdGlmaWNhdGlvbkxhc3RSZWFkVGltZUluTXM6TnVtYmVyKG4pfSk6Int9IikpLGk9dGhpcy5jb252ZXJ0ZXIuYmFja2VuZFRvVWkodGhpcy5kZXNlcmlhbGl6ZShudWxsIT09KHQ9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShMUikpJiZ2b2lkIDAhPT10P3Q6Int9IikpLGE9dGhpcy5jb252ZXJ0ZXIuYmFja2VuZFRvVWkodGhpcy5kZXNlcmlhbGl6ZShudWxsIT09KGU9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShCUikpJiZ2b2lkIDAhPT1lP2U6Int9IikpO3JldHVybiB6dChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxvKSxpKSxhKSl9fUdSLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxHUikoVHIoSVIpLFRyKFVSKSl9LEdSLsm1cHJvdj1Tbih7dG9rZW46R1IsZmFjdG9yeTpHUi7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoR1IsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOklSfSx7dHlwZTpVUn1dfSksbnVsbCk7Y2xhc3MgWVJ7fVlSLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxZUil9LFlSLsm1bW9kPWZvKHt0eXBlOllSfSksWVIuybVpbmo9RG4oe3Byb3ZpZGVyczpbe3Byb3ZpZGU6alIsdXNlQ2xhc3M6R1J9LFdSLHtwcm92aWRlOlVSLHVzZUV4aXN0aW5nOldSfV0saW1wb3J0czpbW0hSXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFlSLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbSFJdLHByb3ZpZGVyczpbe3Byb3ZpZGU6alIsdXNlQ2xhc3M6R1J9LFdSLHtwcm92aWRlOlVSLHVzZUV4aXN0aW5nOldSfV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhZUix7aW1wb3J0czpbSFJdfSk7Y29uc3QgcVI9X2soIltQZXJzaXN0ZW50IFNldHRpbmdzXSBHbG9iYWwgU2V0dGluZ3MgTG9hZGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksWlI9X2soIltQZXJzaXN0ZW50IFNldHRpbmdzXSBFZmZlY3RzIEluaXQiKTtjbGFzcyBYUntjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLmFjdGlvbnMkPXQsdGhpcy5zdG9yZT1lLHRoaXMuY29uZmlnTW9kdWxlPW4sdGhpcy5kYXRhU291cmNlPW8sdGhpcy5pbml0aWFsaXplQW5kVXBkYXRlU2V0dGluZ3MkPVdTKCgoKT0+e2NvbnN0IHQ9dGhpcy5hY3Rpb25zJC5waXBlKCRTKFpSKSwkdCgoKCk9PnRoaXMuZGF0YVNvdXJjZS5nZXRTZXR0aW5ncygpKSksV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKHFSKHtwYXJ0aWFsU2V0dGluZ3M6dH0pKX0pKSxQZSgwKSwkdCgoKCk9PnBlKC4uLnRoaXMuY29uZmlnTW9kdWxlLmdldEdsb2JhbFNldHRpbmdTZWxlY3RvcnMoKS5tYXAoKHQ9PnRoaXMuc3RvcmUuc2VsZWN0KHQpLnBpcGUod2UoKCh0LGUpPT57Y29uc3Qgbj1PYmplY3QudmFsdWVzKHQpLG89T2JqZWN0LnZhbHVlcyhlKTtyZXR1cm4gbi5sZW5ndGg9PT1vLmxlbmd0aCYmbi5ldmVyeSgoKHQsZSk9PnQ9PT1vW2VdKSl9KSksTGUoMSkpKSkpKSksSWUoKSk7cmV0dXJuIHQucGlwZSgoZnVuY3Rpb24gZSh0KXtyZXR1cm4geigoZnVuY3Rpb24oZSxuKXt2YXIgbz1bXTtyZXR1cm4gZS5zdWJzY3JpYmUobmV3IEgobiwoZnVuY3Rpb24odCl7cmV0dXJuIG8ucHVzaCh0KX0pLChmdW5jdGlvbigpe24ubmV4dChvKSxuLmNvbXBsZXRlKCl9KSkpLHQuc3Vic2NyaWJlKG5ldyBIKG4sKGZ1bmN0aW9uKCl7dmFyIHQ9bztvPVtdLG4ubmV4dCh0KX0pLE0pKSxmdW5jdGlvbigpe289bnVsbH19KSl9KSh0LnBpcGUoQ2UoNTAwKSkpLCR0KCh0PT57Y29uc3QgZT17fTtmb3IoY29uc3QgbiBvZiB0KU9iamVjdC5hc3NpZ24oZSxuKTtyZXR1cm4gdGhpcy5kYXRhU291cmNlLnNldFNldHRpbmdzKGUpfSkpKX0pLHtkaXNwYXRjaDohMX0pfW5ncnhPbkluaXRFZmZlY3RzKCl7cmV0dXJuIFpSKCl9fVhSLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxYUikoVHIoUVMpLFRyKGlTKSxUcih6UiksVHIoalIpKX0sWFIuybVwcm92PVNuKHt0b2tlbjpYUixmYWN0b3J5OlhSLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYUixbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UVN9LHt0eXBlOmlTfSx7dHlwZTp6Un0se3R5cGU6alJ9XX0pLG51bGwpO2NsYXNzIEtSe31LUi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8S1IpfSxLUi7JtW1vZD1mbyh7dHlwZTpLUn0pLEtSLsm1aW5qPURuKHtwcm92aWRlcnM6W3pSXSxpbXBvcnRzOltbaEQuZm9yRmVhdHVyZShbWFJdKSxZUl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihLUixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W2hELmZvckZlYXR1cmUoW1hSXSksWVJdLHByb3ZpZGVyczpbelJdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oS1Ise2ltcG9ydHM6W2dELFlSXX0pOwovKioKICAgICAqIEBsaWNlbnNlIEFuZ3VsYXIgdjEyLjIuMQogICAgICogKGMpIDIwMTAtMjAyMSBHb29nbGUgTExDLiBodHRwczovL2FuZ3VsYXIuaW8vCiAgICAgKiBMaWNlbnNlOiBNSVQKICAgICAqLwpjbGFzcyBKUnt9Y2xhc3MgUVJ7fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyAkUntjb25zdHJ1Y3Rvcih0KXt0aGlzLm5vcm1hbGl6ZWROYW1lcz1uZXcgTWFwLHRoaXMubGF6eVVwZGF0ZT1udWxsLHQ/dGhpcy5sYXp5SW5pdD0ic3RyaW5nIj09dHlwZW9mIHQ/KCk9Pnt0aGlzLmhlYWRlcnM9bmV3IE1hcCx0LnNwbGl0KCJcbiIpLmZvckVhY2goKHQ9Pntjb25zdCBlPXQuaW5kZXhPZigiOiIpO2lmKGU+MCl7Y29uc3Qgbj10LnNsaWNlKDAsZSksbz1uLnRvTG93ZXJDYXNlKCksaT10LnNsaWNlKGUrMSkudHJpbSgpO3RoaXMubWF5YmVTZXROb3JtYWxpemVkTmFtZShuLG8pLHRoaXMuaGVhZGVycy5oYXMobyk/dGhpcy5oZWFkZXJzLmdldChvKS5wdXNoKGkpOnRoaXMuaGVhZGVycy5zZXQobyxbaV0pfX0pKX06KCk9Pnt0aGlzLmhlYWRlcnM9bmV3IE1hcCxPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChlPT57bGV0IG49dFtlXTtjb25zdCBvPWUudG9Mb3dlckNhc2UoKTsic3RyaW5nIj09dHlwZW9mIG4mJihuPVtuXSksbi5sZW5ndGg+MCYmKHRoaXMuaGVhZGVycy5zZXQobyxuKSx0aGlzLm1heWJlU2V0Tm9ybWFsaXplZE5hbWUoZSxvKSl9KSl9OnRoaXMuaGVhZGVycz1uZXcgTWFwfWhhcyh0KXtyZXR1cm4gdGhpcy5pbml0KCksdGhpcy5oZWFkZXJzLmhhcyh0LnRvTG93ZXJDYXNlKCkpfWdldCh0KXt0aGlzLmluaXQoKTtjb25zdCBlPXRoaXMuaGVhZGVycy5nZXQodC50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gZSYmZS5sZW5ndGg+MD9lWzBdOm51bGx9a2V5cygpe3JldHVybiB0aGlzLmluaXQoKSxBcnJheS5mcm9tKHRoaXMubm9ybWFsaXplZE5hbWVzLnZhbHVlcygpKX1nZXRBbGwodCl7cmV0dXJuIHRoaXMuaW5pdCgpLHRoaXMuaGVhZGVycy5nZXQodC50b0xvd2VyQ2FzZSgpKXx8bnVsbH1hcHBlbmQodCxlKXtyZXR1cm4gdGhpcy5jbG9uZSh7bmFtZTp0LHZhbHVlOmUsb3A6ImEifSl9c2V0KHQsZSl7cmV0dXJuIHRoaXMuY2xvbmUoe25hbWU6dCx2YWx1ZTplLG9wOiJzIn0pfWRlbGV0ZSh0LGUpe3JldHVybiB0aGlzLmNsb25lKHtuYW1lOnQsdmFsdWU6ZSxvcDoiZCJ9KX1tYXliZVNldE5vcm1hbGl6ZWROYW1lKHQsZSl7dGhpcy5ub3JtYWxpemVkTmFtZXMuaGFzKGUpfHx0aGlzLm5vcm1hbGl6ZWROYW1lcy5zZXQoZSx0KX1pbml0KCl7dGhpcy5sYXp5SW5pdCYmKHRoaXMubGF6eUluaXQgaW5zdGFuY2VvZiAkUj90aGlzLmNvcHlGcm9tKHRoaXMubGF6eUluaXQpOnRoaXMubGF6eUluaXQoKSx0aGlzLmxhenlJbml0PW51bGwsdGhpcy5sYXp5VXBkYXRlJiYodGhpcy5sYXp5VXBkYXRlLmZvckVhY2goKHQ9PnRoaXMuYXBwbHlVcGRhdGUodCkpKSx0aGlzLmxhenlVcGRhdGU9bnVsbCkpfWNvcHlGcm9tKHQpe3QuaW5pdCgpLEFycmF5LmZyb20odC5oZWFkZXJzLmtleXMoKSkuZm9yRWFjaCgoZT0+e3RoaXMuaGVhZGVycy5zZXQoZSx0LmhlYWRlcnMuZ2V0KGUpKSx0aGlzLm5vcm1hbGl6ZWROYW1lcy5zZXQoZSx0Lm5vcm1hbGl6ZWROYW1lcy5nZXQoZSkpfSkpfWNsb25lKHQpe2NvbnN0IGU9bmV3ICRSO3JldHVybiBlLmxhenlJbml0PXRoaXMubGF6eUluaXQmJnRoaXMubGF6eUluaXQgaW5zdGFuY2VvZiAkUj90aGlzLmxhenlJbml0OnRoaXMsZS5sYXp5VXBkYXRlPSh0aGlzLmxhenlVcGRhdGV8fFtdKS5jb25jYXQoW3RdKSxlfWFwcGx5VXBkYXRlKHQpe2NvbnN0IGU9dC5uYW1lLnRvTG93ZXJDYXNlKCk7c3dpdGNoKHQub3Ape2Nhc2UiYSI6Y2FzZSJzIjpsZXQgbj10LnZhbHVlO2lmKCJzdHJpbmciPT10eXBlb2YgbiYmKG49W25dKSwwPT09bi5sZW5ndGgpcmV0dXJuO3RoaXMubWF5YmVTZXROb3JtYWxpemVkTmFtZSh0Lm5hbWUsZSk7Y29uc3Qgbz0oImEiPT09dC5vcD90aGlzLmhlYWRlcnMuZ2V0KGUpOnZvaWQgMCl8fFtdO28ucHVzaCguLi5uKSx0aGlzLmhlYWRlcnMuc2V0KGUsbyk7YnJlYWs7Y2FzZSJkIjpjb25zdCBpPXQudmFsdWU7aWYoaSl7bGV0IHQ9dGhpcy5oZWFkZXJzLmdldChlKTtpZighdClyZXR1cm47dD10LmZpbHRlcigodD0+LTE9PT1pLmluZGV4T2YodCkpKSwwPT09dC5sZW5ndGg/KHRoaXMuaGVhZGVycy5kZWxldGUoZSksdGhpcy5ub3JtYWxpemVkTmFtZXMuZGVsZXRlKGUpKTp0aGlzLmhlYWRlcnMuc2V0KGUsdCl9ZWxzZSB0aGlzLmhlYWRlcnMuZGVsZXRlKGUpLHRoaXMubm9ybWFsaXplZE5hbWVzLmRlbGV0ZShlKX19Zm9yRWFjaCh0KXt0aGlzLmluaXQoKSxBcnJheS5mcm9tKHRoaXMubm9ybWFsaXplZE5hbWVzLmtleXMoKSkuZm9yRWFjaCgoZT0+dCh0aGlzLm5vcm1hbGl6ZWROYW1lcy5nZXQoZSksdGhpcy5oZWFkZXJzLmdldChlKSkpKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIHRFe2VuY29kZUtleSh0KXtyZXR1cm4gZUUodCl9ZW5jb2RlVmFsdWUodCl7cmV0dXJuIGVFKHQpfWRlY29kZUtleSh0KXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQpfWRlY29kZVZhbHVlKHQpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQodCl9fWZ1bmN0aW9uIGVFKHQpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQodCkucmVwbGFjZSgvJTQwL2dpLCJAIikucmVwbGFjZSgvJTNBL2dpLCI6IikucmVwbGFjZSgvJTI0L2dpLCIkIikucmVwbGFjZSgvJTJDL2dpLCIsIikucmVwbGFjZSgvJTNCL2dpLCI7IikucmVwbGFjZSgvJTJCL2dpLCIrIikucmVwbGFjZSgvJTNEL2dpLCI9IikucmVwbGFjZSgvJTNGL2dpLCI/IikucmVwbGFjZSgvJTJGL2dpLCIvIil9ZnVuY3Rpb24gbkUodCl7cmV0dXJuYCR7dH1gfWNsYXNzIG9Fe2NvbnN0cnVjdG9yKHQ9e30pe2lmKHRoaXMudXBkYXRlcz1udWxsLHRoaXMuY2xvbmVGcm9tPW51bGwsdGhpcy5lbmNvZGVyPXQuZW5jb2Rlcnx8bmV3IHRFLHQuZnJvbVN0cmluZyl7aWYodC5mcm9tT2JqZWN0KXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNwZWNpZnkgYm90aCBmcm9tU3RyaW5nIGFuZCBmcm9tT2JqZWN0LiIpO3RoaXMubWFwPShmdW5jdGlvbiBlKHQsbil7Y29uc3Qgbz1uZXcgTWFwO3QubGVuZ3RoPjAmJnQucmVwbGFjZSgvXlw/LywiIikuc3BsaXQoIiYiKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10LmluZGV4T2YoIj0iKSxbaSxhXT0tMT09ZT9bbi5kZWNvZGVLZXkodCksIiJdOltuLmRlY29kZUtleSh0LnNsaWNlKDAsZSkpLG4uZGVjb2RlVmFsdWUodC5zbGljZShlKzEpKV0scj1vLmdldChpKXx8W107ci5wdXNoKGEpLG8uc2V0KGkscil9KSk7cmV0dXJuIG99KSh0LmZyb21TdHJpbmcsdGhpcy5lbmNvZGVyKX1lbHNlIHQuZnJvbU9iamVjdD8odGhpcy5tYXA9bmV3IE1hcCxPYmplY3Qua2V5cyh0LmZyb21PYmplY3QpLmZvckVhY2goKGU9Pntjb25zdCBuPXQuZnJvbU9iamVjdFtlXTt0aGlzLm1hcC5zZXQoZSxBcnJheS5pc0FycmF5KG4pP246W25dKX0pKSk6dGhpcy5tYXA9bnVsbH1oYXModCl7cmV0dXJuIHRoaXMuaW5pdCgpLHRoaXMubWFwLmhhcyh0KX1nZXQodCl7dGhpcy5pbml0KCk7Y29uc3QgZT10aGlzLm1hcC5nZXQodCk7cmV0dXJuIGU/ZVswXTpudWxsfWdldEFsbCh0KXtyZXR1cm4gdGhpcy5pbml0KCksdGhpcy5tYXAuZ2V0KHQpfHxudWxsfWtleXMoKXtyZXR1cm4gdGhpcy5pbml0KCksQXJyYXkuZnJvbSh0aGlzLm1hcC5rZXlzKCkpfWFwcGVuZCh0LGUpe3JldHVybiB0aGlzLmNsb25lKHtwYXJhbTp0LHZhbHVlOmUsb3A6ImEifSl9YXBwZW5kQWxsKHQpe2NvbnN0IGU9W107cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKG49Pntjb25zdCBvPXRbbl07QXJyYXkuaXNBcnJheShvKT9vLmZvckVhY2goKHQ9PntlLnB1c2goe3BhcmFtOm4sdmFsdWU6dCxvcDoiYSJ9KX0pKTplLnB1c2goe3BhcmFtOm4sdmFsdWU6byxvcDoiYSJ9KX0pKSx0aGlzLmNsb25lKGUpfXNldCh0LGUpe3JldHVybiB0aGlzLmNsb25lKHtwYXJhbTp0LHZhbHVlOmUsb3A6InMifSl9ZGVsZXRlKHQsZSl7cmV0dXJuIHRoaXMuY2xvbmUoe3BhcmFtOnQsdmFsdWU6ZSxvcDoiZCJ9KX10b1N0cmluZygpe3JldHVybiB0aGlzLmluaXQoKSx0aGlzLmtleXMoKS5tYXAoKHQ9Pntjb25zdCBlPXRoaXMuZW5jb2Rlci5lbmNvZGVLZXkodCk7cmV0dXJuIHRoaXMubWFwLmdldCh0KS5tYXAoKHQ9PmUrIj0iK3RoaXMuZW5jb2Rlci5lbmNvZGVWYWx1ZSh0KSkpLmpvaW4oIiYiKX0pKS5maWx0ZXIoKHQ9PiIiIT09dCkpLmpvaW4oIiYiKX1jbG9uZSh0KXtjb25zdCBlPW5ldyBvRSh7ZW5jb2Rlcjp0aGlzLmVuY29kZXJ9KTtyZXR1cm4gZS5jbG9uZUZyb209dGhpcy5jbG9uZUZyb218fHRoaXMsZS51cGRhdGVzPSh0aGlzLnVwZGF0ZXN8fFtdKS5jb25jYXQodCksZX1pbml0KCl7bnVsbD09PXRoaXMubWFwJiYodGhpcy5tYXA9bmV3IE1hcCksbnVsbCE9PXRoaXMuY2xvbmVGcm9tJiYodGhpcy5jbG9uZUZyb20uaW5pdCgpLHRoaXMuY2xvbmVGcm9tLmtleXMoKS5mb3JFYWNoKCh0PT50aGlzLm1hcC5zZXQodCx0aGlzLmNsb25lRnJvbS5tYXAuZ2V0KHQpKSkpLHRoaXMudXBkYXRlcy5mb3JFYWNoKCh0PT57c3dpdGNoKHQub3Ape2Nhc2UiYSI6Y2FzZSJzIjpjb25zdCBlPSgiYSI9PT10Lm9wP3RoaXMubWFwLmdldCh0LnBhcmFtKTp2b2lkIDApfHxbXTtlLnB1c2gobkUodC52YWx1ZSkpLHRoaXMubWFwLnNldCh0LnBhcmFtLGUpO2JyZWFrO2Nhc2UiZCI6aWYodm9pZCAwPT09dC52YWx1ZSl7dGhpcy5tYXAuZGVsZXRlKHQucGFyYW0pO2JyZWFrfXtsZXQgZT10aGlzLm1hcC5nZXQodC5wYXJhbSl8fFtdO2NvbnN0IG49ZS5pbmRleE9mKG5FKHQudmFsdWUpKTstMSE9PW4mJmUuc3BsaWNlKG4sMSksZS5sZW5ndGg+MD90aGlzLm1hcC5zZXQodC5wYXJhbSxlKTp0aGlzLm1hcC5kZWxldGUodC5wYXJhbSl9fX0pKSx0aGlzLmNsb25lRnJvbT10aGlzLnVwZGF0ZXM9bnVsbCl9fWNsYXNzIGlFe2NvbnN0cnVjdG9yKCl7dGhpcy5tYXA9bmV3IE1hcH1zZXQodCxlKXtyZXR1cm4gdGhpcy5tYXAuc2V0KHQsZSksdGhpc31nZXQodCl7cmV0dXJuIHRoaXMubWFwLmhhcyh0KXx8dGhpcy5tYXAuc2V0KHQsdC5kZWZhdWx0VmFsdWUoKSksdGhpcy5tYXAuZ2V0KHQpfWRlbGV0ZSh0KXtyZXR1cm4gdGhpcy5tYXAuZGVsZXRlKHQpLHRoaXN9a2V5cygpe3JldHVybiB0aGlzLm1hcC5rZXlzKCl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBhRSh0KXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZ0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ9ZnVuY3Rpb24gckUodCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBCbG9iJiZ0IGluc3RhbmNlb2YgQmxvYn1mdW5jdGlvbiBzRSh0KXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIEZvcm1EYXRhJiZ0IGluc3RhbmNlb2YgRm9ybURhdGF9Y2xhc3MgbEV7Y29uc3RydWN0b3IodCxlLG4sbyl7bGV0IGk7aWYodGhpcy51cmw9ZSx0aGlzLmJvZHk9bnVsbCx0aGlzLnJlcG9ydFByb2dyZXNzPSExLHRoaXMud2l0aENyZWRlbnRpYWxzPSExLHRoaXMucmVzcG9uc2VUeXBlPSJqc29uIix0aGlzLm1ldGhvZD10LnRvVXBwZXJDYXNlKCksKGZ1bmN0aW9uIGEodCl7c3dpdGNoKHQpe2Nhc2UiREVMRVRFIjpjYXNlIkdFVCI6Y2FzZSJIRUFEIjpjYXNlIk9QVElPTlMiOmNhc2UiSlNPTlAiOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuITB9fSkodGhpcy5tZXRob2QpfHxvPyh0aGlzLmJvZHk9dm9pZCAwIT09bj9uOm51bGwsaT1vKTppPW4saSYmKHRoaXMucmVwb3J0UHJvZ3Jlc3M9ISFpLnJlcG9ydFByb2dyZXNzLHRoaXMud2l0aENyZWRlbnRpYWxzPSEhaS53aXRoQ3JlZGVudGlhbHMsaS5yZXNwb25zZVR5cGUmJih0aGlzLnJlc3BvbnNlVHlwZT1pLnJlc3BvbnNlVHlwZSksaS5oZWFkZXJzJiYodGhpcy5oZWFkZXJzPWkuaGVhZGVycyksaS5jb250ZXh0JiYodGhpcy5jb250ZXh0PWkuY29udGV4dCksaS5wYXJhbXMmJih0aGlzLnBhcmFtcz1pLnBhcmFtcykpLHRoaXMuaGVhZGVyc3x8KHRoaXMuaGVhZGVycz1uZXcgJFIpLHRoaXMuY29udGV4dHx8KHRoaXMuY29udGV4dD1uZXcgaUUpLHRoaXMucGFyYW1zKXtjb25zdCB0PXRoaXMucGFyYW1zLnRvU3RyaW5nKCk7aWYoMD09PXQubGVuZ3RoKXRoaXMudXJsV2l0aFBhcmFtcz1lO2Vsc2V7Y29uc3Qgbj1lLmluZGV4T2YoIj8iKTt0aGlzLnVybFdpdGhQYXJhbXM9ZSsoLTE9PT1uPyI/IjpuPGUubGVuZ3RoLTE/IiYiOiIiKSt0fX1lbHNlIHRoaXMucGFyYW1zPW5ldyBvRSx0aGlzLnVybFdpdGhQYXJhbXM9ZX1zZXJpYWxpemVCb2R5KCl7cmV0dXJuIG51bGw9PT10aGlzLmJvZHk/bnVsbDphRSh0aGlzLmJvZHkpfHxyRSh0aGlzLmJvZHkpfHxzRSh0aGlzLmJvZHkpfHwoZnVuY3Rpb24gdChlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyYmZSBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtc30pKHRoaXMuYm9keSl8fCJzdHJpbmciPT10eXBlb2YgdGhpcy5ib2R5P3RoaXMuYm9keTp0aGlzLmJvZHkgaW5zdGFuY2VvZiBvRT90aGlzLmJvZHkudG9TdHJpbmcoKToib2JqZWN0Ij09dHlwZW9mIHRoaXMuYm9keXx8ImJvb2xlYW4iPT10eXBlb2YgdGhpcy5ib2R5fHxBcnJheS5pc0FycmF5KHRoaXMuYm9keSk/SlNPTi5zdHJpbmdpZnkodGhpcy5ib2R5KTp0aGlzLmJvZHkudG9TdHJpbmcoKX1kZXRlY3RDb250ZW50VHlwZUhlYWRlcigpe3JldHVybiBudWxsPT09dGhpcy5ib2R5fHxzRSh0aGlzLmJvZHkpP251bGw6ckUodGhpcy5ib2R5KT90aGlzLmJvZHkudHlwZXx8bnVsbDphRSh0aGlzLmJvZHkpP251bGw6InN0cmluZyI9PXR5cGVvZiB0aGlzLmJvZHk/InRleHQvcGxhaW4iOnRoaXMuYm9keSBpbnN0YW5jZW9mIG9FPyJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD1VVEYtOCI6Im9iamVjdCI9PXR5cGVvZiB0aGlzLmJvZHl8fCJudW1iZXIiPT10eXBlb2YgdGhpcy5ib2R5fHwiYm9vbGVhbiI9PXR5cGVvZiB0aGlzLmJvZHk/ImFwcGxpY2F0aW9uL2pzb24iOm51bGx9Y2xvbmUodD17fSl7dmFyIGU7Y29uc3Qgbj10Lm1ldGhvZHx8dGhpcy5tZXRob2Qsbz10LnVybHx8dGhpcy51cmwsaT10LnJlc3BvbnNlVHlwZXx8dGhpcy5yZXNwb25zZVR5cGUsYT12b2lkIDAhPT10LmJvZHk/dC5ib2R5OnRoaXMuYm9keSxyPXZvaWQgMCE9PXQud2l0aENyZWRlbnRpYWxzP3Qud2l0aENyZWRlbnRpYWxzOnRoaXMud2l0aENyZWRlbnRpYWxzLHM9dm9pZCAwIT09dC5yZXBvcnRQcm9ncmVzcz90LnJlcG9ydFByb2dyZXNzOnRoaXMucmVwb3J0UHJvZ3Jlc3M7bGV0IGw9dC5oZWFkZXJzfHx0aGlzLmhlYWRlcnMsYz10LnBhcmFtc3x8dGhpcy5wYXJhbXM7Y29uc3QgZD1udWxsIT09KGU9dC5jb250ZXh0KSYmdm9pZCAwIT09ZT9lOnRoaXMuY29udGV4dDtyZXR1cm4gdm9pZCAwIT09dC5zZXRIZWFkZXJzJiYobD1PYmplY3Qua2V5cyh0LnNldEhlYWRlcnMpLnJlZHVjZSgoKGUsbik9PmUuc2V0KG4sdC5zZXRIZWFkZXJzW25dKSksbCkpLHQuc2V0UGFyYW1zJiYoYz1PYmplY3Qua2V5cyh0LnNldFBhcmFtcykucmVkdWNlKCgoZSxuKT0+ZS5zZXQobix0LnNldFBhcmFtc1tuXSkpLGMpKSxuZXcgbEUobixvLGEse3BhcmFtczpjLGhlYWRlcnM6bCxjb250ZXh0OmQscmVwb3J0UHJvZ3Jlc3M6cyxyZXNwb25zZVR5cGU6aSx3aXRoQ3JlZGVudGlhbHM6cn0pfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovdmFyIGNFOyEoZnVuY3Rpb24odCl7dFt0LlNlbnQ9MF09IlNlbnQiLHRbdC5VcGxvYWRQcm9ncmVzcz0xXT0iVXBsb2FkUHJvZ3Jlc3MiLHRbdC5SZXNwb25zZUhlYWRlcj0yXT0iUmVzcG9uc2VIZWFkZXIiLHRbdC5Eb3dubG9hZFByb2dyZXNzPTNdPSJEb3dubG9hZFByb2dyZXNzIix0W3QuUmVzcG9uc2U9NF09IlJlc3BvbnNlIix0W3QuVXNlcj01XT0iVXNlciJ9KShjRXx8KGNFPXt9KSk7Y2xhc3MgZEV7Y29uc3RydWN0b3IodCxlPTIwMCxuPSJPSyIpe3RoaXMuaGVhZGVycz10LmhlYWRlcnN8fG5ldyAkUix0aGlzLnN0YXR1cz12b2lkIDAhPT10LnN0YXR1cz90LnN0YXR1czplLHRoaXMuc3RhdHVzVGV4dD10LnN0YXR1c1RleHR8fG4sdGhpcy51cmw9dC51cmx8fG51bGwsdGhpcy5vaz10aGlzLnN0YXR1cz49MjAwJiZ0aGlzLnN0YXR1czwzMDB9fWNsYXNzIHBFIGV4dGVuZHMgZEV7Y29uc3RydWN0b3IodD17fSl7c3VwZXIodCksdGhpcy50eXBlPWNFLlJlc3BvbnNlSGVhZGVyfWNsb25lKHQ9e30pe3JldHVybiBuZXcgcEUoe2hlYWRlcnM6dC5oZWFkZXJzfHx0aGlzLmhlYWRlcnMsc3RhdHVzOnZvaWQgMCE9PXQuc3RhdHVzP3Quc3RhdHVzOnRoaXMuc3RhdHVzLHN0YXR1c1RleHQ6dC5zdGF0dXNUZXh0fHx0aGlzLnN0YXR1c1RleHQsdXJsOnQudXJsfHx0aGlzLnVybHx8dm9pZCAwfSl9fWNsYXNzIG1FIGV4dGVuZHMgZEV7Y29uc3RydWN0b3IodD17fSl7c3VwZXIodCksdGhpcy50eXBlPWNFLlJlc3BvbnNlLHRoaXMuYm9keT12b2lkIDAhPT10LmJvZHk/dC5ib2R5Om51bGx9Y2xvbmUodD17fSl7cmV0dXJuIG5ldyBtRSh7Ym9keTp2b2lkIDAhPT10LmJvZHk/dC5ib2R5OnRoaXMuYm9keSxoZWFkZXJzOnQuaGVhZGVyc3x8dGhpcy5oZWFkZXJzLHN0YXR1czp2b2lkIDAhPT10LnN0YXR1cz90LnN0YXR1czp0aGlzLnN0YXR1cyxzdGF0dXNUZXh0OnQuc3RhdHVzVGV4dHx8dGhpcy5zdGF0dXNUZXh0LHVybDp0LnVybHx8dGhpcy51cmx8fHZvaWQgMH0pfX1jbGFzcyBmRSBleHRlbmRzIGRFe2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQsMCwiVW5rbm93biBFcnJvciIpLHRoaXMubmFtZT0iSHR0cEVycm9yUmVzcG9uc2UiLHRoaXMub2s9ITEsdGhpcy5tZXNzYWdlPXRoaXMuc3RhdHVzPj0yMDAmJnRoaXMuc3RhdHVzPDMwMD9gSHR0cCBmYWlsdXJlIGR1cmluZyBwYXJzaW5nIGZvciAke3QudXJsfHwiKHVua25vd24gdXJsKSJ9YDpgSHR0cCBmYWlsdXJlIHJlc3BvbnNlIGZvciAke3QudXJsfHwiKHVua25vd24gdXJsKSJ9OiAke3Quc3RhdHVzfSAke3Quc3RhdHVzVGV4dH1gLHRoaXMuZXJyb3I9dC5lcnJvcnx8bnVsbH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIHVFKHQsZSl7cmV0dXJue2JvZHk6ZSxoZWFkZXJzOnQuaGVhZGVycyxjb250ZXh0OnQuY29udGV4dCxvYnNlcnZlOnQub2JzZXJ2ZSxwYXJhbXM6dC5wYXJhbXMscmVwb3J0UHJvZ3Jlc3M6dC5yZXBvcnRQcm9ncmVzcyxyZXNwb25zZVR5cGU6dC5yZXNwb25zZVR5cGUsd2l0aENyZWRlbnRpYWxzOnQud2l0aENyZWRlbnRpYWxzfX1jbGFzcyBnRXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmhhbmRsZXI9dH1yZXF1ZXN0KHQsZSxuPXt9KXtsZXQgbztpZih0IGluc3RhbmNlb2YgbEUpbz10O2Vsc2V7bGV0IGksYTtpPW4uaGVhZGVycyBpbnN0YW5jZW9mICRSP24uaGVhZGVyczpuZXcgJFIobi5oZWFkZXJzKSxuLnBhcmFtcyYmKGE9bi5wYXJhbXMgaW5zdGFuY2VvZiBvRT9uLnBhcmFtczpuZXcgb0Uoe2Zyb21PYmplY3Q6bi5wYXJhbXN9KSksbz1uZXcgbEUodCxlLHZvaWQgMCE9PW4uYm9keT9uLmJvZHk6bnVsbCx7aGVhZGVyczppLGNvbnRleHQ6bi5jb250ZXh0LHBhcmFtczphLHJlcG9ydFByb2dyZXNzOm4ucmVwb3J0UHJvZ3Jlc3MscmVzcG9uc2VUeXBlOm4ucmVzcG9uc2VUeXBlfHwianNvbiIsd2l0aENyZWRlbnRpYWxzOm4ud2l0aENyZWRlbnRpYWxzfSl9Y29uc3QgaT16dChvKS5waXBlKChmdW5jdGlvbiBhKHQsZSl7cmV0dXJuIGQoZSk/JHQodCxlLDEpOiR0KHQsMSl9KSgodD0+dGhpcy5oYW5kbGVyLmhhbmRsZSh0KSkpKTtpZih0IGluc3RhbmNlb2YgbEV8fCJldmVudHMiPT09bi5vYnNlcnZlKXJldHVybiBpO2NvbnN0IHI9aS5waXBlKHVlKCh0PT50IGluc3RhbmNlb2YgbUUpKSk7c3dpdGNoKG4ub2JzZXJ2ZXx8ImJvZHkiKXtjYXNlImJvZHkiOnN3aXRjaChvLnJlc3BvbnNlVHlwZSl7Y2FzZSJhcnJheWJ1ZmZlciI6cmV0dXJuIHIucGlwZShWdCgodD0+e2lmKG51bGwhPT10LmJvZHkmJiEodC5ib2R5IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKXRocm93IG5ldyBFcnJvcigiUmVzcG9uc2UgaXMgbm90IGFuIEFycmF5QnVmZmVyLiIpO3JldHVybiB0LmJvZHl9KSkpO2Nhc2UiYmxvYiI6cmV0dXJuIHIucGlwZShWdCgodD0+e2lmKG51bGwhPT10LmJvZHkmJiEodC5ib2R5IGluc3RhbmNlb2YgQmxvYikpdGhyb3cgbmV3IEVycm9yKCJSZXNwb25zZSBpcyBub3QgYSBCbG9iLiIpO3JldHVybiB0LmJvZHl9KSkpO2Nhc2UidGV4dCI6cmV0dXJuIHIucGlwZShWdCgodD0+e2lmKG51bGwhPT10LmJvZHkmJiJzdHJpbmciIT10eXBlb2YgdC5ib2R5KXRocm93IG5ldyBFcnJvcigiUmVzcG9uc2UgaXMgbm90IGEgc3RyaW5nLiIpO3JldHVybiB0LmJvZHl9KSkpO2Nhc2UianNvbiI6ZGVmYXVsdDpyZXR1cm4gci5waXBlKFZ0KCh0PT50LmJvZHkpKSl9Y2FzZSJyZXNwb25zZSI6cmV0dXJuIHI7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYFVucmVhY2hhYmxlOiB1bmhhbmRsZWQgb2JzZXJ2ZSB0eXBlICR7bi5vYnNlcnZlfX1gKX19ZGVsZXRlKHQsZT17fSl7cmV0dXJuIHRoaXMucmVxdWVzdCgiREVMRVRFIix0LGUpfWdldCh0LGU9e30pe3JldHVybiB0aGlzLnJlcXVlc3QoIkdFVCIsdCxlKX1oZWFkKHQsZT17fSl7cmV0dXJuIHRoaXMucmVxdWVzdCgiSEVBRCIsdCxlKX1qc29ucCh0LGUpe3JldHVybiB0aGlzLnJlcXVlc3QoIkpTT05QIix0LHtwYXJhbXM6KG5ldyBvRSkuYXBwZW5kKGUsIkpTT05QX0NBTExCQUNLIiksb2JzZXJ2ZToiYm9keSIscmVzcG9uc2VUeXBlOiJqc29uIn0pfW9wdGlvbnModCxlPXt9KXtyZXR1cm4gdGhpcy5yZXF1ZXN0KCJPUFRJT05TIix0LGUpfXBhdGNoKHQsZSxuPXt9KXtyZXR1cm4gdGhpcy5yZXF1ZXN0KCJQQVRDSCIsdCx1RShuLGUpKX1wb3N0KHQsZSxuPXt9KXtyZXR1cm4gdGhpcy5yZXF1ZXN0KCJQT1NUIix0LHVFKG4sZSkpfXB1dCh0LGUsbj17fSl7cmV0dXJuIHRoaXMucmVxdWVzdCgiUFVUIix0LHVFKG4sZSkpfX1nRS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Z0UpKFRyKEpSKSl9LGdFLsm1cHJvdj1Tbih7dG9rZW46Z0UsZmFjdG9yeTpnRS7JtWZhY30pLGdFLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6SlJ9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGdFLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpKUn1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBoRXtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMubmV4dD10LHRoaXMuaW50ZXJjZXB0b3I9ZX1oYW5kbGUodCl7cmV0dXJuIHRoaXMuaW50ZXJjZXB0b3IuaW50ZXJjZXB0KHQsdGhpcy5uZXh0KX19Y29uc3QgYkU9bmV3IGVyKCJIVFRQX0lOVEVSQ0VQVE9SUyIpO2NsYXNzIHlFe2ludGVyY2VwdCh0LGUpe3JldHVybiBlLmhhbmRsZSh0KX19eUUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHlFKX0seUUuybVwcm92PVNuKHt0b2tlbjp5RSxmYWN0b3J5OnlFLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih5RSxbe3R5cGU6VW19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KbGV0IF9FPTA7Y2xhc3MgQ0V7fWNsYXNzIE1Fe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5jYWxsYmFja01hcD10LHRoaXMuZG9jdW1lbnQ9ZSx0aGlzLnJlc29sdmVkUHJvbWlzZT1Qcm9taXNlLnJlc29sdmUoKX1uZXh0Q2FsbGJhY2soKXtyZXR1cm4ibmdfanNvbnBfY2FsbGJhY2tfIitfRSsrfWhhbmRsZSh0KXtpZigiSlNPTlAiIT09dC5tZXRob2QpdGhyb3cgbmV3IEVycm9yKCJKU09OUCByZXF1ZXN0cyBtdXN0IHVzZSBKU09OUCByZXF1ZXN0IG1ldGhvZC4iKTtpZigianNvbiIhPT10LnJlc3BvbnNlVHlwZSl0aHJvdyBuZXcgRXJyb3IoIkpTT05QIHJlcXVlc3RzIG11c3QgdXNlIEpzb24gcmVzcG9uc2UgdHlwZS4iKTtyZXR1cm4gbmV3IFQoKGU9Pntjb25zdCBuPXRoaXMubmV4dENhbGxiYWNrKCksbz10LnVybFdpdGhQYXJhbXMucmVwbGFjZSgvPUpTT05QX0NBTExCQUNLKCZ8JCkvLGA9JHtufSQxYCksaT10aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2kuc3JjPW87bGV0IGE9bnVsbCxyPSExLHM9ITE7dGhpcy5jYWxsYmFja01hcFtuXT10PT57ZGVsZXRlIHRoaXMuY2FsbGJhY2tNYXBbbl0sc3x8KGE9dCxyPSEwKX07Y29uc3QgbD0oKT0+e2kucGFyZW50Tm9kZSYmaS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGkpLGRlbGV0ZSB0aGlzLmNhbGxiYWNrTWFwW25dfSxjPXQ9PntzfHx0aGlzLnJlc29sdmVkUHJvbWlzZS50aGVuKCgoKT0+e2woKSxyPyhlLm5leHQobmV3IG1FKHtib2R5OmEsc3RhdHVzOjIwMCxzdGF0dXNUZXh0OiJPSyIsdXJsOm99KSksZS5jb21wbGV0ZSgpKTplLmVycm9yKG5ldyBmRSh7dXJsOm8sc3RhdHVzOjAsc3RhdHVzVGV4dDoiSlNPTlAgRXJyb3IiLGVycm9yOm5ldyBFcnJvcigiSlNPTlAgaW5qZWN0ZWQgc2NyaXB0IGRpZCBub3QgaW52b2tlIGNhbGxiYWNrLiIpfSkpfSkpfSxkPXQ9PntzfHwobCgpLGUuZXJyb3IobmV3IGZFKHtlcnJvcjp0LHN0YXR1czowLHN0YXR1c1RleHQ6IkpTT05QIEVycm9yIix1cmw6b30pKSl9O3JldHVybiBpLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGMpLGkuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGQpLHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpKSxlLm5leHQoe3R5cGU6Y0UuU2VudH0pLCgpPT57cz0hMCxpLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGMpLGkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGQpLGwoKX19KSl9fU1FLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxNRSkoVHIoQ0UpLFRyKHNNKSl9LE1FLsm1cHJvdj1Tbih7dG9rZW46TUUsZmFjdG9yeTpNRS7JtWZhY30pLE1FLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6Q0V9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTUUsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkNFfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpO2NsYXNzIHZFe2NvbnN0cnVjdG9yKHQpe3RoaXMuanNvbnA9dH1pbnRlcmNlcHQodCxlKXtyZXR1cm4iSlNPTlAiPT09dC5tZXRob2Q/dGhpcy5qc29ucC5oYW5kbGUodCk6ZS5oYW5kbGUodCl9fXZFLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx2RSkoVHIoTUUpKX0sdkUuybVwcm92PVNuKHt0b2tlbjp2RSxmYWN0b3J5OnZFLsm1ZmFjfSksdkUuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpNRX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodkUsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOk1FfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHhFPS9eXClcXVx9Jyw/XG4vO2NsYXNzIE9Fe2NvbnN0cnVjdG9yKHQpe3RoaXMueGhyRmFjdG9yeT10fWhhbmRsZSh0KXtpZigiSlNPTlAiPT09dC5tZXRob2QpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0ZWQgdG8gY29uc3RydWN0IEpzb25wIHJlcXVlc3Qgd2l0aG91dCBIdHRwQ2xpZW50SnNvbnBNb2R1bGUgaW5zdGFsbGVkLiIpO3JldHVybiBuZXcgVCgoZT0+e2NvbnN0IG49dGhpcy54aHJGYWN0b3J5LmJ1aWxkKCk7aWYobi5vcGVuKHQubWV0aG9kLHQudXJsV2l0aFBhcmFtcyksdC53aXRoQ3JlZGVudGlhbHMmJihuLndpdGhDcmVkZW50aWFscz0hMCksdC5oZWFkZXJzLmZvckVhY2goKCh0LGUpPT5uLnNldFJlcXVlc3RIZWFkZXIodCxlLmpvaW4oIiwiKSkpKSx0LmhlYWRlcnMuaGFzKCJBY2NlcHQiKXx8bi5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLCJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L3BsYWluLCAqLyoiKSwhdC5oZWFkZXJzLmhhcygiQ29udGVudC1UeXBlIikpe2NvbnN0IGU9dC5kZXRlY3RDb250ZW50VHlwZUhlYWRlcigpO251bGwhPT1lJiZuLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsZSl9aWYodC5yZXNwb25zZVR5cGUpe2NvbnN0IGU9dC5yZXNwb25zZVR5cGUudG9Mb3dlckNhc2UoKTtuLnJlc3BvbnNlVHlwZT0ianNvbiIhPT1lP2U6InRleHQifWNvbnN0IG89dC5zZXJpYWxpemVCb2R5KCk7bGV0IGk9bnVsbDtjb25zdCBhPSgpPT57aWYobnVsbCE9PWkpcmV0dXJuIGk7Y29uc3QgZT0xMjIzPT09bi5zdGF0dXM/MjA0Om4uc3RhdHVzLG89bi5zdGF0dXNUZXh0fHwiT0siLGE9bmV3ICRSKG4uZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpLHI9KGZ1bmN0aW9uIHModCl7cmV0dXJuInJlc3BvbnNlVVJMImluIHQmJnQucmVzcG9uc2VVUkw/dC5yZXNwb25zZVVSTDovXlgtUmVxdWVzdC1VUkw6L20udGVzdCh0LmdldEFsbFJlc3BvbnNlSGVhZGVycygpKT90LmdldFJlc3BvbnNlSGVhZGVyKCJYLVJlcXVlc3QtVVJMIik6bnVsbH0pKG4pfHx0LnVybDtyZXR1cm4gaT1uZXcgcEUoe2hlYWRlcnM6YSxzdGF0dXM6ZSxzdGF0dXNUZXh0Om8sdXJsOnJ9KSxpfSxyPSgpPT57bGV0e2hlYWRlcnM6byxzdGF0dXM6aSxzdGF0dXNUZXh0OnIsdXJsOnN9PWEoKSxsPW51bGw7MjA0IT09aSYmKGw9dm9pZCAwPT09bi5yZXNwb25zZT9uLnJlc3BvbnNlVGV4dDpuLnJlc3BvbnNlKSwwPT09aSYmKGk9bD8yMDA6MCk7bGV0IGM9aT49MjAwJiZpPDMwMDtpZigianNvbiI9PT10LnJlc3BvbnNlVHlwZSYmInN0cmluZyI9PXR5cGVvZiBsKXtjb25zdCB0PWw7bD1sLnJlcGxhY2UoeEUsIiIpO3RyeXtsPSIiIT09bD9KU09OLnBhcnNlKGwpOm51bGx9Y2F0Y2goZSl7bD10LGMmJihjPSExLGw9e2Vycm9yOmUsdGV4dDpsfSl9fWM/KGUubmV4dChuZXcgbUUoe2JvZHk6bCxoZWFkZXJzOm8sc3RhdHVzOmksc3RhdHVzVGV4dDpyLHVybDpzfHx2b2lkIDB9KSksZS5jb21wbGV0ZSgpKTplLmVycm9yKG5ldyBmRSh7ZXJyb3I6bCxoZWFkZXJzOm8sc3RhdHVzOmksc3RhdHVzVGV4dDpyLHVybDpzfHx2b2lkIDB9KSl9LHM9dD0+e2NvbnN0e3VybDpvfT1hKCksaT1uZXcgZkUoe2Vycm9yOnQsc3RhdHVzOm4uc3RhdHVzfHwwLHN0YXR1c1RleHQ6bi5zdGF0dXNUZXh0fHwiVW5rbm93biBFcnJvciIsdXJsOm98fHZvaWQgMH0pO2UuZXJyb3IoaSl9O2xldCBsPSExO2NvbnN0IGM9bz0+e2x8fChlLm5leHQoYSgpKSxsPSEwKTtsZXQgaT17dHlwZTpjRS5Eb3dubG9hZFByb2dyZXNzLGxvYWRlZDpvLmxvYWRlZH07by5sZW5ndGhDb21wdXRhYmxlJiYoaS50b3RhbD1vLnRvdGFsKSwidGV4dCI9PT10LnJlc3BvbnNlVHlwZSYmbi5yZXNwb25zZVRleHQmJihpLnBhcnRpYWxUZXh0PW4ucmVzcG9uc2VUZXh0KSxlLm5leHQoaSl9LGQ9dD0+e2xldCBuPXt0eXBlOmNFLlVwbG9hZFByb2dyZXNzLGxvYWRlZDp0LmxvYWRlZH07dC5sZW5ndGhDb21wdXRhYmxlJiYobi50b3RhbD10LnRvdGFsKSxlLm5leHQobil9O3JldHVybiBuLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLHIpLG4uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHMpLG4uYWRkRXZlbnRMaXN0ZW5lcigidGltZW91dCIscyksbi5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIscyksdC5yZXBvcnRQcm9ncmVzcyYmKG4uYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLGMpLG51bGwhPT1vJiZuLnVwbG9hZCYmbi51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLGQpKSxuLnNlbmQobyksZS5uZXh0KHt0eXBlOmNFLlNlbnR9KSwoKT0+e24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHMpLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHMpLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsciksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJ0aW1lb3V0IixzKSx0LnJlcG9ydFByb2dyZXNzJiYobi5yZW1vdmVFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsYyksbnVsbCE9PW8mJm4udXBsb2FkJiZuLnVwbG9hZC5yZW1vdmVFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZCkpLG4ucmVhZHlTdGF0ZSE9PW4uRE9ORSYmbi5hYm9ydCgpfX0pKX19T0UuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE9FKShUcihweCkpfSxPRS7JtXByb3Y9U24oe3Rva2VuOk9FLGZhY3Rvcnk6T0UuybVmYWN9KSxPRS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnB4fV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPRSxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6cHh9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgUEU9bmV3IGVyKCJYU1JGX0NPT0tJRV9OQU1FIiksd0U9bmV3IGVyKCJYU1JGX0hFQURFUl9OQU1FIik7Y2xhc3Mga0V7fWNsYXNzIFNFe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmRvYz10LHRoaXMucGxhdGZvcm09ZSx0aGlzLmNvb2tpZU5hbWU9bix0aGlzLmxhc3RDb29raWVTdHJpbmc9IiIsdGhpcy5sYXN0VG9rZW49bnVsbCx0aGlzLnBhcnNlQ291bnQ9MH1nZXRUb2tlbigpe2lmKCJzZXJ2ZXIiPT09dGhpcy5wbGF0Zm9ybSlyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMuZG9jLmNvb2tpZXx8IiI7cmV0dXJuIHQhPT10aGlzLmxhc3RDb29raWVTdHJpbmcmJih0aGlzLnBhcnNlQ291bnQrKyx0aGlzLmxhc3RUb2tlbj1fdih0LHRoaXMuY29va2llTmFtZSksdGhpcy5sYXN0Q29va2llU3RyaW5nPXQpLHRoaXMubGFzdFRva2VufX1TRS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8U0UpKFRyKHNNKSxUcihYXyksVHIoUEUpKX0sU0UuybVwcm92PVNuKHt0b2tlbjpTRSxmYWN0b3J5OlNFLsm1ZmFjfSksU0UuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltYX119XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1BFXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihTRSxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbWF9dfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltQRV19XX1dfSksbnVsbCk7Y2xhc3MgREV7Y29uc3RydWN0b3IodCxlKXt0aGlzLnRva2VuU2VydmljZT10LHRoaXMuaGVhZGVyTmFtZT1lfWludGVyY2VwdCh0LGUpe2NvbnN0IG49dC51cmwudG9Mb3dlckNhc2UoKTtpZigiR0VUIj09PXQubWV0aG9kfHwiSEVBRCI9PT10Lm1ldGhvZHx8bi5zdGFydHNXaXRoKCJodHRwOi8vIil8fG4uc3RhcnRzV2l0aCgiaHR0cHM6Ly8iKSlyZXR1cm4gZS5oYW5kbGUodCk7Y29uc3Qgbz10aGlzLnRva2VuU2VydmljZS5nZXRUb2tlbigpO3JldHVybiBudWxsPT09b3x8dC5oZWFkZXJzLmhhcyh0aGlzLmhlYWRlck5hbWUpfHwodD10LmNsb25lKHtoZWFkZXJzOnQuaGVhZGVycy5zZXQodGhpcy5oZWFkZXJOYW1lLG8pfSkpLGUuaGFuZGxlKHQpfX1ERS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8REUpKFRyKGtFKSxUcih3RSkpfSxERS7JtXByb3Y9U24oe3Rva2VuOkRFLGZhY3Rvcnk6REUuybVmYWN9KSxERS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOmtFfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbd0VdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKERFLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTprRX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3dFXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIFJFe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5iYWNrZW5kPXQsdGhpcy5pbmplY3Rvcj1lLHRoaXMuY2hhaW49bnVsbH1oYW5kbGUodCl7aWYobnVsbD09PXRoaXMuY2hhaW4pe2NvbnN0IHQ9dGhpcy5pbmplY3Rvci5nZXQoYkUsW10pO3RoaXMuY2hhaW49dC5yZWR1Y2VSaWdodCgoKHQsZSk9Pm5ldyBoRSh0LGUpKSx0aGlzLmJhY2tlbmQpfXJldHVybiB0aGlzLmNoYWluLmhhbmRsZSh0KX19ZnVuY3Rpb24gRUUoKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdz93aW5kb3c6e319UkUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFJFKShUcihRUiksVHIoTnApKX0sUkUuybVwcm92PVNuKHt0b2tlbjpSRSxmYWN0b3J5OlJFLsm1ZmFjfSksUkUuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpRUn0se3R5cGU6TnB9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFJFLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpRUn0se3R5cGU6TnB9XX0pLG51bGwpO2NsYXNzIEFFe3N0YXRpYyBkaXNhYmxlKCl7cmV0dXJue25nTW9kdWxlOkFFLHByb3ZpZGVyczpbe3Byb3ZpZGU6REUsdXNlQ2xhc3M6eUV9XX19c3RhdGljIHdpdGhPcHRpb25zKHQ9e30pe3JldHVybntuZ01vZHVsZTpBRSxwcm92aWRlcnM6W3QuY29va2llTmFtZT97cHJvdmlkZTpQRSx1c2VWYWx1ZTp0LmNvb2tpZU5hbWV9OltdLHQuaGVhZGVyTmFtZT97cHJvdmlkZTp3RSx1c2VWYWx1ZTp0LmhlYWRlck5hbWV9OltdXX19fUFFLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxBRSl9LEFFLsm1bW9kPWZvKHt0eXBlOkFFfSksQUUuybVpbmo9RG4oe3Byb3ZpZGVyczpbREUse3Byb3ZpZGU6YkUsdXNlRXhpc3Rpbmc6REUsbXVsdGk6ITB9LHtwcm92aWRlOmtFLHVzZUNsYXNzOlNFfSx7cHJvdmlkZTpQRSx1c2VWYWx1ZToiWFNSRi1UT0tFTiJ9LHtwcm92aWRlOndFLHVzZVZhbHVlOiJYLVhTUkYtVE9LRU4ifV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEFFLFt7dHlwZTpMXyxhcmdzOlt7cHJvdmlkZXJzOltERSx7cHJvdmlkZTpiRSx1c2VFeGlzdGluZzpERSxtdWx0aTohMH0se3Byb3ZpZGU6a0UsdXNlQ2xhc3M6U0V9LHtwcm92aWRlOlBFLHVzZVZhbHVlOiJYU1JGLVRPS0VOIn0se3Byb3ZpZGU6d0UsdXNlVmFsdWU6IlgtWFNSRi1UT0tFTiJ9XX1dfV0sbnVsbCxudWxsKTtjbGFzcyBURXt9VEUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFRFKX0sVEUuybVtb2Q9Zm8oe3R5cGU6VEV9KSxURS7JtWluaj1Ebih7cHJvdmlkZXJzOltnRSx7cHJvdmlkZTpKUix1c2VDbGFzczpSRX0sT0Use3Byb3ZpZGU6UVIsdXNlRXhpc3Rpbmc6T0V9XSxpbXBvcnRzOltbQUUud2l0aE9wdGlvbnMoe2Nvb2tpZU5hbWU6IlhTUkYtVE9LRU4iLGhlYWRlck5hbWU6IlgtWFNSRi1UT0tFTiJ9KV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihURSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W0FFLndpdGhPcHRpb25zKHtjb29raWVOYW1lOiJYU1JGLVRPS0VOIixoZWFkZXJOYW1lOiJYLVhTUkYtVE9LRU4ifSldLHByb3ZpZGVyczpbZ0Use3Byb3ZpZGU6SlIsdXNlQ2xhc3M6UkV9LE9FLHtwcm92aWRlOlFSLHVzZUV4aXN0aW5nOk9FfV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhURSx7aW1wb3J0czpbQUVdfSk7Y2xhc3MgTkV7fWZ1bmN0aW9uIHpFKHQpe2NvbnN0IGU9e307Zm9yKGNvbnN0W24sb11vZiB0LmVudHJpZXMoKSllW25dPW87cmV0dXJuIGV9TkUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE5FKX0sTkUuybVtb2Q9Zm8oe3R5cGU6TkV9KSxORS7JtWluaj1Ebih7cHJvdmlkZXJzOltNRSx7cHJvdmlkZTpDRSx1c2VGYWN0b3J5OkVFfSx7cHJvdmlkZTpiRSx1c2VDbGFzczp2RSxtdWx0aTohMH1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihORSxbe3R5cGU6TF8sYXJnczpbe3Byb3ZpZGVyczpbTUUse3Byb3ZpZGU6Q0UsdXNlRmFjdG9yeTpFRX0se3Byb3ZpZGU6YkUsdXNlQ2xhc3M6dkUsbXVsdGk6ITB9XX1dfV0sbnVsbCxudWxsKTtmdW5jdGlvbiBJRSh0KXtsZXQgZT10LmhlYWRlcnN8fG5ldyAkUjtyZXR1cm4gZT1lLmFwcGVuZCgiWC1YU1JGLVByb3RlY3RlZCIsIjEiKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2hlYWRlcnM6ZX0pfWNsYXNzIEhFe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmFwcFJvb3RQcm92aWRlcj10LHRoaXMuaHR0cD1lLHRoaXMuc3RvcmU9bn1yZXNvbHZlQXBwUm9vdCh0KXtyZXR1cm4gdC5zdGFydHNXaXRoKCIvIik/dGhpcy5hcHBSb290UHJvdmlkZXIuZ2V0QWJzUGF0aG5hbWVXaXRoQXBwUm9vdCh0KTp0fWdldCh0LGU9e30pe3JldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMucmVzb2x2ZUFwcFJvb3QodCksZSl9cG9zdCh0LGUsbj17fSl7cmV0dXJuIG49SUUobiksdGhpcy5zdG9yZS5zZWxlY3QoTkQpLnBpcGUodWUoKHQ9PkJvb2xlYW4odCkpKSx2ZSgxKSxxZSh0aGlzLnN0b3JlLnNlbGVjdChWRCkpLCR0KCgoWyxvXSk9Pnt2YXIgaTtjb25zdCBhPXRoaXMucmVzb2x2ZUFwcFJvb3QodCk7cmV0dXJuIG8/dGhpcy5odHRwLmdldChhLHtoZWFkZXJzOm51bGwhPT0oaT1uLmhlYWRlcnMpJiZ2b2lkIDAhPT1pP2k6e30scGFyYW1zOnpFKGUpfSk6dGhpcy5odHRwLnBvc3QoYSxlLG4pfSkpKX1wdXQodCxlLG49e30pe3JldHVybiB0aGlzLmh0dHAucHV0KHRoaXMucmVzb2x2ZUFwcFJvb3QodCksZSxJRShuKSl9ZGVsZXRlKHQsZT17fSl7cmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodGhpcy5yZXNvbHZlQXBwUm9vdCh0KSxJRShlKSl9fUhFLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxIRSkoVHIod0QpLFRyKGdFKSxUcihpUykpfSxIRS7JtXByb3Y9U24oe3Rva2VuOkhFLGZhY3Rvcnk6SEUuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEhFLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp3RH0se3R5cGU6Z0V9LHt0eXBlOmlTfV19KSxudWxsKTtjbGFzcyBGRXt9dmFyIExFO0ZFLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxGRSl9LEZFLsm1bW9kPWZvKHt0eXBlOkZFfSksRkUuybVpbmo9RG4oe3Byb3ZpZGVyczpbSEVdLGltcG9ydHM6W1tURSxERF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihGRSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W1RFLEREXSxwcm92aWRlcnM6W0hFXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEZFLHtpbXBvcnRzOltURSxERF19KSwoZnVuY3Rpb24odCl7dC5VTktOT1dOPSJVTktOT1dOIix0Lk5PVF9GT1VORD0iTk9UX0ZPVU5EIn0pKExFfHwoTEU9e30pKTtjb25zdCBCRT1uZXcgZXIoIlRlbnNvckJvYXJkIGJyYW5kIG5hbWUiKTt2YXIgVkUsakUsVUU7ZnVuY3Rpb24gV0UodCl7bGV0IGU9TEUuVU5LTk9XTjtyZXR1cm4gdCBpbnN0YW5jZW9mIGZFJiY0MDQ9PT10LnN0YXR1cyYmKGU9TEUuTk9UX0ZPVU5EKSxJdChuZXcgR0UoZSkpfSEoZnVuY3Rpb24odCl7dC5TVEVQPSJzdGVwIix0LldBTExfVElNRT0id2FsbF90aW1lIix0LlJFTEFUSVZFPSJyZWxhdGl2ZSJ9KShWRXx8KFZFPXt9KSksKGZ1bmN0aW9uKHQpe3QuT0ZGU0VUPSJvZmZzZXQiLHQuT1ZFUkxBWT0ib3ZlcmxheSJ9KShqRXx8KGpFPXt9KSk7Y2xhc3MgR0V7Y29uc3RydWN0b3IodCl7dGhpcy5mYWlsdXJlQ29kZT10fX1jbGFzcyBZRXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmh0dHA9dCx0aGlzLnRmQmFja2VuZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Zi1iYWNrZW5kIikudGZfYmFja2VuZH1mZXRjaFBsdWdpbnNMaXN0aW5nKHQpe2NvbnN0IGU9KGZ1bmN0aW9uIG4odCl7aWYoIXQubGVuZ3RoKXJldHVybiBudWxsO2NvbnN0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcztmb3IoY29uc3QgbiBvZiB0KWUuYXBwZW5kKCJleHBlcmltZW50YWxQbHVnaW4iLG4pO3JldHVybiBlfSkodCksbz1lP2BkYXRhL3BsdWdpbnNfbGlzdGluZz8ke2UudG9TdHJpbmcoKX1gOiJkYXRhL3BsdWdpbnNfbGlzdGluZyI7cmV0dXJuIHRoaXMuaHR0cC5nZXQobykucGlwZShoZShXRSkpfWZldGNoRW52aXJvbm1lbnQoKXtyZXR1cm4gaWUoW3RoaXMuaHR0cC5nZXQoImRhdGEvZW52aXJvbm1lbnQiKSxQdCh0aGlzLnRmQmFja2VuZC5lbnZpcm9ubWVudFN0b3JlLnJlZnJlc2goKSldKS5waXBlKFZ0KCgoW3RdKT0+dCkpLGhlKFdFKSl9fVlFLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxZRSkoVHIoSEUpKX0sWUUuybVwcm92PVNuKHt0b2tlbjpZRSxmYWN0b3J5OllFLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihZRSxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6SEV9XX0pLG51bGwpO2NsYXNzIHFFe31xRS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cUUpfSxxRS7JtW1vZD1mbyh7dHlwZTpxRX0pLHFFLsm1aW5qPURuKHtwcm92aWRlcnM6W1lFXSxpbXBvcnRzOltbRkVdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocUUsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltGRV0scHJvdmlkZXJzOltZRV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhxRSx7aW1wb3J0czpbRkVdfSksKGZ1bmN0aW9uKHQpe3RbdC5OT1RfTE9BREVEPTBdPSJOT1RfTE9BREVEIix0W3QuTE9BREVEPTFdPSJMT0FERUQiLHRbdC5MT0FESU5HPTJdPSJMT0FESU5HIix0W3QuRkFJTEVEPTNdPSJGQUlMRUQifSkoVUV8fChVRT17fSkpO2NvbnN0IFpFPV9rKCJbQ29yZV0gUGx1Z2luIENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxYRT1faygiW0NvcmVdIFBsdWdpbiBVcmwgSGFzaCBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksS0U9X2soIltDb3JlXSBMb2FkZWQiKSxKRT1faygiW0NvcmVdIFVzZXIgVHJpZ2dlcmVkIFJlbG9hZCIpLFFFPV9rKCJbQ29yZV0gQXV0byBSZWxvYWQiKSwkRT1faygiW0NvcmVdIFBsdWdpbkxpc3RpbmcgRmV0Y2ggUmVxdWVzdGVkIiksdEE9X2soIltDb3JlXSBQbHVnaW5MaXN0aW5nIEZldGNoIFN1Y2Nlc3NmdWwiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxlQT1faygiW0NvcmVdIFBsdWdpbkxpc3RpbmcgRmV0Y2ggRmFpbGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksbkE9X2soIltDb3JlXSBQb2x5bWVyIENvbXBvbmVudCBSdW5zIEZldGNoIFJlcXVlc3RlZCIpLG9BPV9rKCJbQ29yZV0gUG9seW1lciBDb21wb25lbnQgUnVucyBGZXRjaCBTdWNjZXNzZnVsIiksaUE9X2soIltDb3JlXSBQb2x5bWVyIENvbXBvbmVudCBSdW5zIEZldGNoIEZhaWxlZCIpLGFBPV9rKCJbQ29yZV0gRW52aXJvbm1lbnQgRmV0Y2ggU3VjY2Vzc2Z1bCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHJBPV9rKCJbQ29yZV0gUnVuIFNlbGVjdGlvbiBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksc0E9X2soIltDb3JlXSBSdW4gRmV0Y2ggU3VjY2Vzc2Z1bCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLGxBPV9rKCJbQ29yZV0gU2lkZSBCYXIgV2lkdGggQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pO2Z1bmN0aW9uIGNBKHQsZSxuKXtjb25zdCBvPU9iamVjdC5rZXlzKHQpLGk9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCksZSkse3ByaXZhdGVOYW1lc3BhY2VkU3RhdGU6e319KTtyZXR1cm57aW5pdGlhbFN0YXRlOmkscmVkdWNlcnM6VlMoaSxCUyh0UiwoKGUse2JlZm9yZTppLGFmdGVyOmEsYmVmb3JlTmFtZXNwYWNlSWQ6cixhZnRlck5hbWVzcGFjZUlkOnN9KT0+e2xldCBsPWU7cmV0dXJuIHIhPT1zJiYobD0oZnVuY3Rpb24gYyhlLG4saSl7dmFyIGE7bGV0IHI9T2JqZWN0LmFzc2lnbih7fSxlLnByaXZhdGVOYW1lc3BhY2VkU3RhdGUpO2lmKG4pe2NvbnN0IHQ9e307Zm9yKGNvbnN0IG4gb2Ygbyl0W25dPWVbbl07cj1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse1tuXTp0fSl9bGV0IHM9e307cmV0dXJuKG51bGw9PT0oYT1lLnByaXZhdGVOYW1lc3BhY2VkU3RhdGUpfHx2b2lkIDA9PT1hP3ZvaWQgMDphW2ldKT9zPWUucHJpdmF0ZU5hbWVzcGFjZWRTdGF0ZVtpXTpuJiYocz10KSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSxzKSx7cHJpdmF0ZU5hbWVzcGFjZWRTdGF0ZTpyfSl9KShlLHIscykpLCF4RChpLGEpJiZuJiYobD1uKGwsYSkpLGx9KSkpfX1jb25zdCBkQT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZ3MgUGFuZSBDbG9zZWQiKSxwQT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZ3MgUGFuZSBUb2dnbGVkIiksbUE9X2soIltNZXRyaWNzXSBNZXRyaWNzIFRhZyBNZXRhZGF0YSBSZXF1ZXN0ZWQiKSxmQT1faygiW01ldHJpY3NdIE1ldHJpY3MgVGFnIE1ldGFkYXRhIExvYWRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHVBPV9rKCJbTWV0cmljc10gTWV0cmljcyBUYWcgTWV0YWRhdGEgRmFpbGVkIiksZ0E9X2soIltNZXRyaWNzXSBNZXRyaWNzIFNldHRpbmdzIENoYW5nZSBUb29sdGlwIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSk7X2soIltNZXRyaWNzXSBNZXRyaWNzIFNldHRpbmdzIFRvZ2dsZSBTaG93IERhdGEgRG93bmxvYWQiKTtjb25zdCBoQT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZyBUb2dnbGUgSWdub3JlIE91dGxpZXIiKSxiQT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZyBDaGFuZ2UgWCBBeGlzIFR5cGUiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSx5QT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZyBDaGFuZ2UgQ2FyZCBXaWR0aCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLF9BPV9rKCJbTWV0cmljc10gTWV0cmljcyBTZXR0aW5nIFJlc2V0IENhcmQgV2lkdGgiKSxDQT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZyBDaGFuZ2UgU2NhbGFyIFNtb290aGluZyIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLE1BPV9rKCJbTWV0cmljc10gTWV0cmljcyBTZXR0aW5nIFBhcnRpdGlvbiBOb24gTW9ub3RvbmljIFggVG9nZ2xlZCIpLHZBPV9rKCJbTWV0cmljc10gTWV0cmljcyBTZXR0aW5nIENoYW5nZSBJbWFnZSBCcmlnaHRuZXNzIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSkseEE9X2soIltNZXRyaWNzXSBNZXRyaWNzIFNldHRpbmcgQ2hhbmdlIEltYWdlIENvbnRyYXN0Iix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksT0E9X2soIltNZXRyaWNzXSBJbWFnZSBCcmlnaHRuZXNzIFNldHRpbmcgUmVzZXQiKSxQQT1faygiW01ldHJpY3NdIEltYWdlIENvbnRyYXN0IFNldHRpbmcgUmVzZXQiKSx3QT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZyBUb2dnbGUgSW1hZ2UgU2hvdyBBY3R1YWwgU2l6ZSIpLGtBPV9rKCJbTWV0cmljc10gTWV0cmljcyBTZXR0aW5nIENoYW5nZSBIaXN0b2dyYW0gTW9kZSIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLFNBPV9rKCJbTWV0cmljc10gTXVsdGlwbGUgVGltZSBTZXJpZXMgUmVxdWVzdGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksREE9X2soIltNZXRyaWNzXSBGZXRjaCBUaW1lIFNlcmllcyBSZXF1ZXN0IEZhaWxlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLFJBPV9rKCJbTWV0cmljc10gRmV0Y2ggVGltZSBTZXJpZXMgUmVzcG9uc2UgTG9hZGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksRUE9X2soIltNZXRyaWNzXSBDYXJkIFZpc2liaWxpdHkgQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEFBPV9rKCJbTWV0cmljc10gQ2FyZCBTdGVwIFNsaWRlciBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksVEE9X2soIltNZXRyaWNzXSBUYWcgRmlsdGVyIENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxOQT1faygiW01ldHJpY3NdIE1ldHJpY3MgVGFnIEdyb3VwIEV4cGFuc2lvbiBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksekE9X2soIltNZXRyaWNzXSBDYXJkIFBpbiBTdGF0ZSBUb2dnbGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksSUE9X2soIltNZXRyaWNzXSBUb2dnbGUgVmlzaWJsZSBQbHVnaW4iLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxIQT1faygiW01ldHJpY3NdIFRvZ2dsZSBTaG93IEFsbCBQbHVnaW5zIiksRkE9X2soIltNZXRyaWNzXSBMaW5rZWQgVGltZSBTZWxlY3Rpb24gQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLExBPV9rKCJbTWV0cmljc10gTGlua2VkIFRpbWUgU2VsZWN0aW9uIENsZWFyZWQiKSxCQT1faygiW01ldHJpY3NdIFNlbGVjdCBUaW1lIEVuYWJsZSBUb2dnbGUiKSxWQT1faygiW01ldHJpY3NdIFVzZSBSYW5nZSBTZWxlY3QgVGltZSBUb2dnbGUiKSxqQT1faygiW01ldHJpY3NdIE1ldHJpY3MgUHJvbW8gRGlzbWlzc2VkIiksVUE9X2soIltNZXRyaWNzXSBNZXRyaWNzIFByb21vIEdvIFRvIFNjYWxhcnMiKTtmdW5jdGlvbiBXQSguLi50KXtyZXR1cm4oZSxuKT0+e2xldCBvPWU7Zm9yKGNvbnN0IGUgb2YgdClvPWUobyxuKTtyZXR1cm4gb319Y29uc3QgR0E9ImNvcmUiLFlBPXthY3RpdmVQbHVnaW46bnVsbCxwbHVnaW5zOnt9LGNvcmVEYXRhTG9hZFN0YXRlOntzdGF0ZTpVRS5OT1RfTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpudWxsfSxwbHVnaW5zTGlzdExvYWRlZDp7c3RhdGU6VUUuTk9UX0xPQURFRCxsYXN0TG9hZGVkVGltZUluTXM6bnVsbCxmYWlsdXJlQ29kZTpudWxsfSxlbnZpcm9ubWVudDp7ZGF0YV9sb2NhdGlvbjoiIix3aW5kb3dfdGl0bGU6IiJ9LHBvbHltZXJSdW5zTG9hZFN0YXRlOntzdGF0ZTpVRS5OT1RfTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpudWxsfSxwb2x5bWVySW50ZXJvcFJ1bnM6W10scG9seW1lckludGVyb3BSdW5TZWxlY3Rpb246bmV3IFNldCxzaWRlQmFyV2lkdGhJblBlcmNlbnQ6MjB9LHFBPVZTKFlBLEJTKFpFLFhFLCgodCx7cGx1Z2luOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHthY3RpdmVQbHVnaW46ZX0pKSksQlMoJEUsKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7Y29yZURhdGFMb2FkU3RhdGU6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuY29yZURhdGFMb2FkU3RhdGUpLHtzdGF0ZTpVRS5MT0FESU5HfSkscGx1Z2luc0xpc3RMb2FkZWQ6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQucGx1Z2luc0xpc3RMb2FkZWQpLHtzdGF0ZTpVRS5MT0FESU5HfSl9KSkpLEJTKGVBLCgodCx7ZmFpbHVyZUNvZGU6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2NvcmVEYXRhTG9hZFN0YXRlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmNvcmVEYXRhTG9hZFN0YXRlKSx7c3RhdGU6VUUuRkFJTEVEfSkscGx1Z2luc0xpc3RMb2FkZWQ6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQucGx1Z2luc0xpc3RMb2FkZWQpLHtzdGF0ZTpVRS5GQUlMRUQsZmFpbHVyZUNvZGU6ZX0pfSkpKSxCUyh0QSwoKHQse3BsdWdpbnM6ZX0pPT57Y29uc3Qgbj1PYmplY3Qua2V5cyhlKS5maW5kKCh0PT5lW3RdLmVuYWJsZWQpKXx8bnVsbCxvPXQuYWN0aXZlUGx1Z2lufHxuLGk9RGF0ZS5ub3coKTtsZXQgYT10LmNvcmVEYXRhTG9hZFN0YXRlO3JldHVybiB0LnBvbHltZXJSdW5zTG9hZFN0YXRlLnN0YXRlPT09VUUuTE9BREVEJiYoYT17c3RhdGU6VUUuTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczppfSksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHthY3RpdmVQbHVnaW46byxjb3JlRGF0YUxvYWRTdGF0ZTphLHBsdWdpbnM6ZSxwbHVnaW5zTGlzdExvYWRlZDp7c3RhdGU6VUUuTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczppLGZhaWx1cmVDb2RlOm51bGx9fSl9KSksQlMobkEsKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7Y29yZURhdGFMb2FkU3RhdGU6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuY29yZURhdGFMb2FkU3RhdGUpLHtzdGF0ZTpVRS5MT0FESU5HfSkscG9seW1lclJ1bnNMb2FkU3RhdGU6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQucG9seW1lclJ1bnNMb2FkU3RhdGUpLHtzdGF0ZTpVRS5MT0FESU5HfSl9KSkpLEJTKG9BLCh0PT57Y29uc3QgZT1EYXRlLm5vdygpO2xldCBuPXQuY29yZURhdGFMb2FkU3RhdGU7cmV0dXJuIHQucGx1Z2luc0xpc3RMb2FkZWQuc3RhdGU9PT1VRS5MT0FERUQmJihuPXtzdGF0ZTpVRS5MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOmV9KSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2NvcmVEYXRhTG9hZFN0YXRlOm4scG9seW1lclJ1bnNMb2FkU3RhdGU6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQucG9seW1lclJ1bnNMb2FkU3RhdGUpLHtzdGF0ZTpVRS5MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOmV9KX0pfSkpLEJTKGlBLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2NvcmVEYXRhTG9hZFN0YXRlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmNvcmVEYXRhTG9hZFN0YXRlKSx7c3RhdGU6VUUuRkFJTEVEfSkscG9seW1lclJ1bnNMb2FkU3RhdGU6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQucG9seW1lclJ1bnNMb2FkU3RhdGUpLHtzdGF0ZTpVRS5GQUlMRUR9KX0pKSksQlMoYUEsKCh0LHtlbnZpcm9ubWVudDplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZW52aXJvbm1lbnQ6ZX0pKSksQlMoc0EsKCh0LHtydW5zOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtwb2x5bWVySW50ZXJvcFJ1bnM6ZX0pKSksQlMockEsKCh0LHtuZXh0U2VsZWN0aW9uOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtwb2x5bWVySW50ZXJvcFJ1blNlbGVjdGlvbjpuZXcgU2V0KGUpfSkpKSxCUyhsQSwoKHQse3dpZHRoSW5QZXJjZW50OmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzaWRlQmFyV2lkdGhJblBlcmNlbnQ6TWF0aC5taW4oTWF0aC5tYXgoMCxlKSwxMDApfSkpKSxCUyhxUiwoKHQse3BhcnRpYWxTZXR0aW5nczplfSk9Pntjb25zdCBuPU9iamVjdC5hc3NpZ24oe30sdCksbz1lLnNpZGVCYXJXaWR0aEluUGVyY2VudDtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIG8mJm8+PTAmJm88PTEwMCYmKG4uc2lkZUJhcldpZHRoSW5QZXJjZW50PW8pLG59KSksQlMoVUEsKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7YWN0aXZlUGx1Z2luOiJzY2FsYXJzIn0pKSkpLHtyZWR1Y2VyczpaQX09Y0EoWUEse30pO2Z1bmN0aW9uIFhBKHQsZSl7cmV0dXJuIFdBKHFBLFpBKSh0LGUpfWNvbnN0IEtBPV9TKEdBKSxKQT1iUyhLQSwodD0+dC5wbHVnaW5zTGlzdExvYWRlZCkpLFFBPWJTKEtBLCh0PT50LnBvbHltZXJSdW5zTG9hZFN0YXRlKSksJEE9YlMoS0EsKHQ9PnQuY29yZURhdGFMb2FkU3RhdGUuc3RhdGUpKSx0VD1iUyhLQSwodD0+dC5jb3JlRGF0YUxvYWRTdGF0ZS5sYXN0TG9hZGVkVGltZUluTXMpKSxlVD1iUyhLQSwodD0+dC5hY3RpdmVQbHVnaW4pKSxuVD1iUyhLQSwodD0+dC5wbHVnaW5zKSksb1Q9YlMoS0EsKHQ9PnQuZW52aXJvbm1lbnQpKSxpVD1iUyhLQSwodD0+dC5zaWRlQmFyV2lkdGhJblBlcmNlbnQpKSxhVD1uZXcgU2V0KFtfRC5DT01QQVJFX0VYUEVSSU1FTlQsX0QuRVhQRVJJTUVOVCxfRC5OT1RfU0VUXSk7Y2xhc3MgclR7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuYWN0aW9ucyQ9dCx0aGlzLnN0b3JlPWUsdGhpcy53ZWJhcHBEYXRhU291cmNlPW4sdGhpcy50ZkJhY2tlbmQ9e3JlZjpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Zi1iYWNrZW5kIikudGZfYmFja2VuZH0sdGhpcy5vbkRhc2hib2FyZExvYWQkPXBlKHRoaXMuYWN0aW9ucyQucGlwZSgkUyhLRSx0UikscWUodGhpcy5zdG9yZS5zZWxlY3QoaFIpKSx3ZSgoKFssdF0sWyxlXSk9PnhEKHQsZSkpKSksdGhpcy5hY3Rpb25zJC5waXBlKCRTKFFFLEpFKSkpLnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QoTVIpKSx1ZSgoKFssdF0pPT5hVC5oYXModCkpKSxZZSgxLHZvaWQgMCx7bGVhZGluZzohMH0pKSx0aGlzLmZldGNoV2ViQXBwRGF0YSQ9V1MoKCgpPT5wZSh0aGlzLm9uRGFzaGJvYXJkTG9hZCQucGlwZShxZSh0aGlzLnN0b3JlLnNlbGVjdChKQSksdGhpcy5zdG9yZS5zZWxlY3QoQkQpKSx1ZSgoKFsse3N0YXRlOnR9XSk9PnQhPT1VRS5MT0FESU5HKSksV2UoKCgpPT50aGlzLnN0b3JlLmRpc3BhdGNoKCRFKCkpKSksJHQoKChbLCx0XSk9PihmdW5jdGlvbiBlKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3ZhciBuPUF0KHQpLG89ZmUodCk7cmV0dXJuIG8ubGVuZ3RoP25ldyBUKChmdW5jdGlvbih0KXt2YXIgZT1vLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm5bXX0pKSxpPW8ubWFwKChmdW5jdGlvbigpe3JldHVybiExfSkpO3QuYWRkKChmdW5jdGlvbigpe2U9aT1udWxsfSkpO2Zvcih2YXIgcz1mdW5jdGlvbihzKXt3dChvW3NdKS5zdWJzY3JpYmUobmV3IEgodCwoZnVuY3Rpb24obyl7aWYoZVtzXS5wdXNoKG8pLGUuZXZlcnkoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmxlbmd0aH0pKSl7dmFyIGw9ZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnNoaWZ0KCl9KSk7dC5uZXh0KG4/bi5hcHBseSh2b2lkIDAscihbXSxhKGwpKSk6bCksZS5zb21lKChmdW5jdGlvbih0LGUpe3JldHVybiF0Lmxlbmd0aCYmaVtlXX0pKSYmdC5jb21wbGV0ZSgpfX0pLChmdW5jdGlvbigpe2lbc109ITAsIWVbc10ubGVuZ3RoJiZ0LmNvbXBsZXRlKCl9KSkpfSxsPTA7IXQuY2xvc2VkJiZsPG8ubGVuZ3RoO2wrKylzKGwpO3JldHVybiBmdW5jdGlvbigpe2U9aT1udWxsfX0pKTpkdH0pKHRoaXMud2ViYXBwRGF0YVNvdXJjZS5mZXRjaFBsdWdpbnNMaXN0aW5nKHQpLHRoaXMuZmV0Y2hFbnZpcm9ubWVudCgpKS5waXBlKFZ0KCgoW3RdKT0+e3RoaXMuc3RvcmUuZGlzcGF0Y2godEEoe3BsdWdpbnM6dH0pKX0pKSxoZSgodD0+KHRoaXMuc3RvcmUuZGlzcGF0Y2goZUEodCBpbnN0YW5jZW9mIEdFP3tmYWlsdXJlQ29kZTp0LmZhaWx1cmVDb2RlfTp7ZmFpbHVyZUNvZGU6TEUuVU5LTk9XTn0pKSxkdCkpKSkpKSksdGhpcy5vbkRhc2hib2FyZExvYWQkLnBpcGUoVnQoKChbLHRdKT0+dCkpLFZlKCh0PT50IT09X0QuQ09NUEFSRV9FWFBFUklNRU5UP3p0KFtdKTp0aGlzLnN0b3JlLnNlbGVjdChPUikucGlwZSh3ZSgoKHQsZSk9Pntjb25zdCBuPU9iamVjdC5lbnRyaWVzKHQpLG89bmV3IE1hcChPYmplY3QuZW50cmllcyhlKSk7aWYobi5sZW5ndGghPT1vLnNpemUpcmV0dXJuITE7Zm9yKGNvbnN0W3QsZV1vZiBuKXtpZighby5nZXQodCkpcmV0dXJuITE7aWYoby5nZXQodCkuYWxpYXNUZXh0IT09ZS5hbGlhc1RleHR8fG8uZ2V0KHQpLmFsaWFzTnVtYmVyIT09ZS5hbGlhc051bWJlcilyZXR1cm4hMX1yZXR1cm4hMH0pKSxQZSgwKSxZZSg1MDAsdm9pZCAwLHtsZWFkaW5nOiEwLHRyYWlsaW5nOiEwfSkpKSkscWUodGhpcy5zdG9yZS5zZWxlY3QoTVIpLHRoaXMuc3RvcmUuc2VsZWN0KFFBKSksdWUoKChbLHQsZV0pPT5hVC5oYXModCkmJmUuc3RhdGUhPT1VRS5MT0FESU5HKSksV2UoKCgpPT57dGhpcy5zdG9yZS5kaXNwYXRjaChuQSgpKX0pKSxWZSgoKCk9PnRoaXMucmVmcmVzaFBvbHltZXJSdW5zKCkpKSxXZSgoKCk9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKG9BKCkpfSkpLGhlKCgoKT0+KHRoaXMuc3RvcmUuZGlzcGF0Y2goaUEoKSksZHQpKSkpKSkse2Rpc3BhdGNoOiExfSksdGhpcy5kaXNwYXRjaENoYW5nZVBsdWdpbiQ9V1MoKCgpPT5wZSh0aGlzLm9uRGFzaGJvYXJkTG9hZCQsdGhpcy5hY3Rpb25zJC5waXBlKCRTKHRBKSkpLnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QoZVQpKSxWdCgoKFssdF0pPT50KSksd2UoKSx1ZSgodD0+bnVsbCE9PXQpKSx2ZSgxKSxXZSgodD0+e3RoaXMuc3RvcmUuZGlzcGF0Y2goWkUoe3BsdWdpbjp0fSkpfSkpKSkse2Rpc3BhdGNoOiExfSl9cmVmcmVzaFBvbHltZXJSdW5zKCl7cmV0dXJuIFB0KHRoaXMudGZCYWNrZW5kLnJlZi5ydW5zU3RvcmUucmVmcmVzaCgpKX1mZXRjaEVudmlyb25tZW50KCl7cmV0dXJuIHRoaXMud2ViYXBwRGF0YVNvdXJjZS5mZXRjaEVudmlyb25tZW50KCkucGlwZShXZSgodD0+e3RoaXMuc3RvcmUuZGlzcGF0Y2goYUEoe2Vudmlyb25tZW50OnR9KSl9KSkpfX1yVC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8clQpKFRyKFFTKSxUcihpUyksVHIoWUUpKX0sclQuybVwcm92PVNuKHt0b2tlbjpyVCxmYWN0b3J5OnJULsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihyVCxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UVN9LHt0eXBlOmlTfSx7dHlwZTpZRX1dfSksbnVsbCk7Y29uc3Qgc1Q9bmV3IGVyKCJDb3JlIEZlYXR1cmUgQ29uZmlnIik7ZnVuY3Rpb24gbFQodCl7cmV0dXJue2luaXRpYWxTdGF0ZTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sWUEpLHthY3RpdmVQbHVnaW46dC5nZXRQbHVnaW5JZCgpfHxudWxsfSl9fWZ1bmN0aW9uIGNUKCl7cmV0dXJuIGJTKGlULCh0PT4oe3NpZGVCYXJXaWR0aEluUGVyY2VudDp0fSkpKX1jbGFzcyBkVHt9ZFQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGRUKX0sZFQuybVtb2Q9Zm8oe3R5cGU6ZFR9KSxkVC7JtWluaj1Ebih7cHJvdmlkZXJzOlt7cHJvdmlkZTpzVCxkZXBzOltUUl0sdXNlRmFjdG9yeTpsVH1dLGltcG9ydHM6W1toRC5mb3JGZWF0dXJlKFtyVF0pLFRTLmZvckZlYXR1cmUoR0EsWEEsc1QpLHFFLHpSLmRlZmluZUdsb2JhbFNldHRpbmcoY1QpXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRULFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbaEQuZm9yRmVhdHVyZShbclRdKSxUUy5mb3JGZWF0dXJlKEdBLFhBLHNUKSxxRSx6Ui5kZWZpbmVHbG9iYWxTZXR0aW5nKGNUKV0scHJvdmlkZXJzOlt7cHJvdmlkZTpzVCxkZXBzOltUUl0sdXNlRmFjdG9yeTpsVH1dfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oZFQse2ltcG9ydHM6W2dELEFTLHFFLHpSXX0pO2NvbnN0IHBUPW5ldyBlcigiW0FsZXJ0XSBBY3Rpb24tVG8tQWxlcnQgUHJvdmlkZXIiKTtjbGFzcyBtVHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnByb3ZpZGVycz1uZXcgTWFwO2Zvcihjb25zdCBlIG9mIHR8fFtdKWZvcihjb25zdCB0IG9mIGUpe2lmKHRoaXMucHJvdmlkZXJzLmhhcyh0LmFjdGlvbkNyZWF0b3IudHlwZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYCIke3QuYWN0aW9uQ3JlYXRvci50eXBlfSIgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGZvciBhbGVydHMuIE11bHRpcGxlIGFsZXJ0cyBmb3IgdGhlIHNhbWUgYWN0aW9uIGlzIG5vdCBhbGxvd2VkLmApO3RoaXMucHJvdmlkZXJzLnNldCh0LmFjdGlvbkNyZWF0b3IudHlwZSx0LmFsZXJ0RnJvbUFjdGlvbil9fWdldEFsZXJ0RnJvbUFjdGlvbih0KXtjb25zdCBlPXRoaXMucHJvdmlkZXJzLmdldCh0LnR5cGUpO3JldHVybiBlP2UodCk6bnVsbH1zdGF0aWMgcmVnaXN0ZXJBbGVydEFjdGlvbnModCl7cmV0dXJue25nTW9kdWxlOm1ULHByb3ZpZGVyczpbe3Byb3ZpZGU6cFQsbXVsdGk6ITAsdXNlRmFjdG9yeTp0fV19fX1tVC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bVQpKFRyKHBULDgpKX0sbVQuybVtb2Q9Zm8oe3R5cGU6bVR9KSxtVC7JtWluaj1Ebih7fSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihtVCxbe3R5cGU6TF8sYXJnczpbe31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbcFRdfV19XX0pLG51bGwpO2NvbnN0IGZUPV9rKCJbUnVuc10gRmV0Y2ggUnVucyBSZXF1ZXN0ZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSx1VD1faygiW1J1bnNdIEZldGNoIFJ1bnMgU3VjY2VlZGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksZ1Q9X2soIltSdW5zXSBGZXRjaCBSdW5zIEZhaWxlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLGhUPV9rKCJbUnVuc10gUnVuIFNlbGVjdGlvbiBUb2dnbGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksYlQ9X2soIltSdW5zXSBSdW4gUGFnZSBTZWxlY3Rpb24gVG9nZ2xlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHlUPV9rKCJbUnVuc10gUnVuIFNlbGVjdG9yIFBhZ2luYXRpb24gT3B0aW9uIENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxfVD1faygiW1J1bnNdIFJ1biBTZWxlY3RvciBTb3J0IENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxDVD1faygiW1J1bnNdIFJ1biBTZWxlY3RvciBSZWdleCBGaWx0ZXIgQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLE1UPV9rKCJbUnVuc10gUnVuIENvbG9yIENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSx2VD1faygiW1J1bnNdIFJ1biBUYWJsZSBTaG93biIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHhUPV9rKCJbUnVuc10gUnVuIEdyb3VwIEJ5IENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KTt2YXIgT1QsUFQsd1Qsa1Q7IShmdW5jdGlvbih0KXt0LkRBVEFTRVRfVU5LTk9XTj0iREFUQVNFVF9VTktOT1dOIix0LkRBVEFTRVRfVFJBSU5JTkc9IkRBVEFTRVRfVFJBSU5JTkciLHQuREFUQVNFVF9WQUxJREFUSU9OPSJEQVRBU0VUX1ZBTElEQVRJT04ifSkoT1R8fChPVD17fSkpLChmdW5jdGlvbih0KXt0LlNUQVRVU19VTktOT1dOPSJTVEFUVVNfVU5LTk9XTiIsdC5TVEFUVVNfU1VDQ0VTUz0iU1RBVFVTX1NVQ0NFU1MiLHQuU1RBVFVTX0ZBSUxVUkU9IlNUQVRVU19GQUlMVVJFIix0LlNUQVRVU19SVU5OSU5HPSJTVEFUVVNfUlVOTklORyJ9KShQVHx8KFBUPXt9KSksKGZ1bmN0aW9uKHQpe3QuREFUQV9UWVBFX1VOU0VUPSJEQVRBX1RZUEVfVU5TRVQiLHQuREFUQV9UWVBFX1NUUklORz0iREFUQV9UWVBFX1NUUklORyIsdC5EQVRBX1RZUEVfQk9PTD0iREFUQV9UWVBFX0JPT0wiLHQuREFUQV9UWVBFX0ZMT0FUNjQ9IkRBVEFfVFlQRV9GTE9BVDY0In0pKHdUfHwod1Q9e30pKSwoZnVuY3Rpb24odCl7dFt0LkRJU0NSRVRFPTBdPSJESVNDUkVURSIsdFt0LklOVEVSVkFMPTFdPSJJTlRFUlZBTCJ9KShrVHx8KGtUPXt9KSk7Y2xhc3MgU1R7fVNULsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxTVCl9LFNULsm1cHJvdj1Tbih7dG9rZW46U1QsZmFjdG9yeTpTVC7JtWZhYyxwcm92aWRlZEluOiJyb290In0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoU1QsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sbnVsbCxudWxsKTtjb25zdCBEVD1faygiW0hwYXJhbXNdIEhwYXJhbXMgRGlzY3JldGUgSHBhcmFtIEZpbHRlciBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksUlQ9X2soIltIcGFyYW1zXSBIcGFyYW1zIEludGVydmFsIEhwYXJhbSBGaWx0ZXIgQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEVUPV9rKCJbSHBhcmFtc10gSHBhcmFtcyBNZXRyaWMgRmlsdGVyIENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KTtmdW5jdGlvbiBBVCh0KXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoWy4uLnRdLnNvcnQoKSl9ZnVuY3Rpb24gVFQodCl7dmFyIGUsbixvLGk7Y29uc3QgYT1uZXcgTWFwLHI9bmV3IE1hcCxzPW5ldyBNYXA7Zm9yKGNvbnN0IGEgb2YgdClmb3IoY29uc3RbdCxsXW9mIGEpaWYobC50eXBlPT09a1QuRElTQ1JFVEUpe2NvbnN0e3Bvc3NpYmxlVmFsdWVzOmUsdmFsdWVzOm59PXIuZ2V0KHQpfHx7cG9zc2libGVWYWx1ZXM6bmV3IFNldCx2YWx1ZXM6bmV3IFNldH07Zm9yKGNvbnN0IHQgb2YgbC5maWx0ZXJWYWx1ZXMpbi5hZGQodCk7Zm9yKGNvbnN0IHQgb2YgbC5wb3NzaWJsZVZhbHVlcyllLmFkZCh0KTtyLnNldCh0LHtwb3NzaWJsZVZhbHVlczplLHZhbHVlczpufSl9ZWxzZXtjb25zdCBhPXMuZ2V0KHQpO3Muc2V0KHQse2ZpbHRlckxvd2VyVmFsdWU6TWF0aC5taW4obC5maWx0ZXJMb3dlclZhbHVlLG51bGwhPT0oZT1udWxsPT1hP3ZvaWQgMDphLmZpbHRlckxvd2VyVmFsdWUpJiZ2b2lkIDAhPT1lP2U6MS8wKSxmaWx0ZXJVcHBlclZhbHVlOk1hdGgubWF4KGwuZmlsdGVyVXBwZXJWYWx1ZSxudWxsIT09KG49bnVsbD09YT92b2lkIDA6YS5maWx0ZXJVcHBlclZhbHVlKSYmdm9pZCAwIT09bj9uOi0xLzApLG1pblZhbHVlOk1hdGgubWluKGwubWluVmFsdWUsbnVsbCE9PShvPW51bGw9PWE/dm9pZCAwOmEubWluVmFsdWUpJiZ2b2lkIDAhPT1vP286MS8wKSxtYXhWYWx1ZTpNYXRoLm1heChsLm1heFZhbHVlLG51bGwhPT0oaT1udWxsPT1hP3ZvaWQgMDphLm1heFZhbHVlKSYmdm9pZCAwIT09aT9pOi0xLzApfSl9Zm9yKGNvbnN0W3Qse3ZhbHVlczplLHBvc3NpYmxlVmFsdWVzOm59XW9mIHIpYS5zZXQodCx7dHlwZTprVC5ESVNDUkVURSxpbmNsdWRlVW5kZWZpbmVkOiEwLHBvc3NpYmxlVmFsdWVzOlsuLi5uXSxmaWx0ZXJWYWx1ZXM6Wy4uLmVdfSk7Zm9yKGNvbnN0W3Qse21pblZhbHVlOmUsbWF4VmFsdWU6bixmaWx0ZXJMb3dlclZhbHVlOm8sZmlsdGVyVXBwZXJWYWx1ZTppfV1vZiBzKXtpZihhLmhhcyh0KSl7Y29uc3QgZT1hLmdldCh0KTtpZihlLnR5cGU9PT1rVC5ESVNDUkVURSYmZS5wb3NzaWJsZVZhbHVlcy5zb21lKCh0PT50KSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYENhbm5vdCBjb21iaW5lIGhwYXJhbSwgJHt0fSwgYXMgaXQgaXMgb2YgbWl4ZWQgdHlwZXMuYCl9YS5zZXQodCx7dHlwZTprVC5JTlRFUlZBTCxpbmNsdWRlVW5kZWZpbmVkOiEwLG1pblZhbHVlOmUsbWF4VmFsdWU6bixmaWx0ZXJMb3dlclZhbHVlOm8sZmlsdGVyVXBwZXJWYWx1ZTppfSl9cmV0dXJuIGF9ZnVuY3Rpb24gTlQodCl7dmFyIGUsbixvLGk7Y29uc3QgYT1uZXcgTWFwO2Zvcihjb25zdCByIG9mIHQpZm9yKGNvbnN0W3Qsc11vZiByKXtjb25zdCByPWEuZ2V0KHQpO2Euc2V0KHQsT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt0eXBlOmtULklOVEVSVkFMLGluY2x1ZGVVbmRlZmluZWQ6ITB9LHIpLHttaW5WYWx1ZTpNYXRoLm1pbihzLm1pblZhbHVlLG51bGwhPT0oZT1udWxsPT1yP3ZvaWQgMDpyLm1pblZhbHVlKSYmdm9pZCAwIT09ZT9lOjEvMCksbWF4VmFsdWU6TWF0aC5tYXgocy5tYXhWYWx1ZSxudWxsIT09KG49bnVsbD09cj92b2lkIDA6ci5tYXhWYWx1ZSkmJnZvaWQgMCE9PW4/bjotMS8wKSxmaWx0ZXJMb3dlclZhbHVlOk1hdGgubWluKHMuZmlsdGVyTG93ZXJWYWx1ZSxudWxsIT09KG89bnVsbD09cj92b2lkIDA6ci5maWx0ZXJMb3dlclZhbHVlKSYmdm9pZCAwIT09bz9vOjEvMCksZmlsdGVyVXBwZXJWYWx1ZTpNYXRoLm1heChzLmZpbHRlclVwcGVyVmFsdWUsbnVsbCE9PShpPW51bGw9PXI/dm9pZCAwOnIuZmlsdGVyVXBwZXJWYWx1ZSkmJnZvaWQgMCE9PWk/aTotMS8wKX0pKX1yZXR1cm4gYX1jb25zdCB6VD1WUyh7c3BlY3M6e30sZmlsdGVyczp7fX0sQlMoRFQsKCh0LGUpPT57dmFyIG47Y29uc3R7ZXhwZXJpbWVudElkczpvLGhwYXJhbU5hbWU6aSxmaWx0ZXJWYWx1ZXM6YSxpbmNsdWRlVW5kZWZpbmVkOnJ9PWUscz1BVChvKSxsPW51bGwhPT0obj10LmZpbHRlcnNbc10pJiZ2b2lkIDAhPT1uP246e2hwYXJhbXM6bmV3IE1hcH0sYz1sLmhwYXJhbXMuZ2V0KGkpO2lmKGMmJmMudHlwZSE9PWtULkRJU0NSRVRFKXRocm93IG5ldyBSYW5nZUVycm9yKGBOZXcgZGlzY3JldGUgZmlsdGVyIG9mICR7aX0gY29uZmxpY3RzIGV4aXN0aW5nIGZpbHRlciBvZiBgK2tUW2MudHlwZV0pO2NvbnN0IGQ9VFQoby5maWx0ZXIoKGU9PkJvb2xlYW4odC5zcGVjc1tlXSkpKS5tYXAoKGU9PnQuc3BlY3NbZV0uaHBhcmFtLmRlZmF1bHRGaWx0ZXJzKSkpLmdldChpKTtpZighZCl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBzZXQgaHBhcmFtLCAke2l9LCB3aGVuIGl0IGlzIG5vdCBrbm93biBmb3IgZXhwZXJpbWVudElkczogJHtvLmpvaW4oIiwgIil9YCk7aWYoZC50eXBlIT09a1QuRElTQ1JFVEUpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3Qgc2V0ICR7aX0gd2hlbiBkZWZhdWx0IGZpbHRlciBpcyBub3Qgb2YgZGlzY3JldGUgdHlwZS5gKTtjb25zdCBwPW5ldyBTZXQoZC5wb3NzaWJsZVZhbHVlcyksbT1bLi4uYV0uZmlsdGVyKCh0PT4hcC5oYXModCkpKTtpZihtLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYE5ldyBmaWx0ZXIgZm9yICR7aX0gaGFzIG1vcmUgdGhhbiBvbmUgdmFsdWUgdGhhdCBpcyBub3QgcHJlc2VudCBpbiB0aGUgc3BlYy4gQmFkIHZhbHVlczogJHttLmpvaW4oIiwgIil9YCk7Y29uc3QgZj1uZXcgTWFwKGwuaHBhcmFtcyk7cmV0dXJuIGYuc2V0KGksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGMpLHt0eXBlOmtULkRJU0NSRVRFLGluY2x1ZGVVbmRlZmluZWQ6cixwb3NzaWJsZVZhbHVlczpbLi4ucF0sZmlsdGVyVmFsdWVzOmF9KSksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtmaWx0ZXJzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmZpbHRlcnMpLHtbc106T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGwpLHtocGFyYW1zOmZ9KX0pfSl9KSksQlMoUlQsKCh0LGUpPT57dmFyIG47Y29uc3R7ZXhwZXJpbWVudElkczpvLGhwYXJhbU5hbWU6aSxmaWx0ZXJMb3dlclZhbHVlOmEsZmlsdGVyVXBwZXJWYWx1ZTpyLGluY2x1ZGVVbmRlZmluZWQ6c309ZSxsPUFUKG8pLGM9bnVsbCE9PShuPXQuZmlsdGVyc1tsXSkmJnZvaWQgMCE9PW4/bjp7bWV0cmljczpuZXcgTWFwLGhwYXJhbXM6bmV3IE1hcH0sZD1jLmhwYXJhbXMuZ2V0KGkpO2lmKGQmJmQudHlwZSE9PWtULklOVEVSVkFMKXRocm93IG5ldyBSYW5nZUVycm9yKGBOZXcgaW50ZXJ2YWwgZmlsdGVyIG9mICR7aX0gY29uZmxpY3RzIGV4aXN0aW5nIGZpbHRlciBvZiBgK2tUW2QudHlwZV0pO2NvbnN0IHA9VFQoby5maWx0ZXIoKGU9PkJvb2xlYW4odC5zcGVjc1tlXSkpKS5tYXAoKGU9PnQuc3BlY3NbZV0uaHBhcmFtLmRlZmF1bHRGaWx0ZXJzKSkpLmdldChpKTtpZighcCl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBzZXQgaHBhcmEsICR7aX0sIHdoZW4gaXQgaXMgbm90IGtub3duIGZvciBleHBlcmltZW50SWRzOiAke28uam9pbigiLCAiKX1gKTtpZihwLnR5cGUhPT1rVC5JTlRFUlZBTCl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBzZXQgJHtpfSB3aGVuIGRlZmF1bHQgZmlsdGVyIGlzIG5vdCBvZiBpbnRlcnZhbCB0eXBlLmApO2NvbnN0IG09bmV3IE1hcChjLmhwYXJhbXMpO3JldHVybiBtLnNldChpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxkKSx7dHlwZTprVC5JTlRFUlZBTCxpbmNsdWRlVW5kZWZpbmVkOnMsbWluVmFsdWU6cC5taW5WYWx1ZSxtYXhWYWx1ZTpwLm1heFZhbHVlLGZpbHRlckxvd2VyVmFsdWU6YSxmaWx0ZXJVcHBlclZhbHVlOnJ9KSksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtmaWx0ZXJzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmZpbHRlcnMpLHtbbF06T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGMpLHtocGFyYW1zOm19KX0pfSl9KSksQlMoRVQsKCh0LGUpPT57dmFyIG47Y29uc3R7ZXhwZXJpbWVudElkczpvLG1ldHJpY1RhZzppLGZpbHRlckxvd2VyVmFsdWU6YSxmaWx0ZXJVcHBlclZhbHVlOnIsaW5jbHVkZVVuZGVmaW5lZDpzfT1lLGw9QVQobyksYz1udWxsIT09KG49dC5maWx0ZXJzW2xdKSYmdm9pZCAwIT09bj9uOnttZXRyaWNzOm5ldyBNYXAsaHBhcmFtczpuZXcgTWFwfSxkPU5UKG8uZmlsdGVyKChlPT5Cb29sZWFuKHQuc3BlY3NbZV0pKSkubWFwKChlPT50LnNwZWNzW2VdLm1ldHJpYy5kZWZhdWx0RmlsdGVycykpKS5nZXQoaSk7aWYoIWQpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3Qgc2V0IG1ldHJpYywgJHtpfSwgd2hlbiBpdCBpcyBub3Qga25vd24gZm9yIGV4cGVyaW1lbnRJZHM6ICR7by5qb2luKCIsICIpfWApO2NvbnN0IHA9Yy5tZXRyaWNzLmdldChpKSxtPW5ldyBNYXAoYy5tZXRyaWNzKTtyZXR1cm4gbS5zZXQoaSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scCkse3R5cGU6a1QuSU5URVJWQUwsaW5jbHVkZVVuZGVmaW5lZDpzLG1pblZhbHVlOmQubWluVmFsdWUsbWF4VmFsdWU6ZC5tYXhWYWx1ZSxmaWx0ZXJMb3dlclZhbHVlOmEsZmlsdGVyVXBwZXJWYWx1ZTpyfSkpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZmlsdGVyczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5maWx0ZXJzKSx7W2xdOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxjKSx7bWV0cmljczptfSl9KX0pfSkpLEJTKHVULCgodCxlKT0+e3ZhciBuLG8saSxhO2lmKDA9PT1PYmplY3Qua2V5cyhlLm5ld1J1bnNBbmRNZXRhZGF0YSkubGVuZ3RoKXJldHVybiB0O2NvbnN0IHI9T2JqZWN0LmFzc2lnbih7fSx0LnNwZWNzKSxzPW5ldyBNYXAsbD1uZXcgU2V0O2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKGUubmV3UnVuc0FuZE1ldGFkYXRhKSl7Y29uc3QgYz1uZXcgTWFwLGQ9bmV3IE1hcCxwPW5ldyBNYXAsbT1uZXcgTWFwLHtydW5zOmYsbWV0YWRhdGE6dX09ZS5uZXdSdW5zQW5kTWV0YWRhdGFbdF07Zm9yKGNvbnN0IHQgb2YgZil7Y29uc3QgZT11LnJ1blRvSHBhcmFtc0FuZE1ldHJpY3NbdC5pZF07aWYoZSlmb3IoY29uc3QgdCBvZiBlLm1ldHJpY3Mpe2NvbnN0IGU9cy5nZXQodC50YWcpO3Muc2V0KHQudGFnLHttaW46ZT9NYXRoLm1pbihlLm1pbix0LnZhbHVlKTp0LnZhbHVlLG1heDplP01hdGgubWF4KGUubWF4LHQudmFsdWUpOnQudmFsdWV9KX19Zm9yKGNvbnN0e25hbWU6dCxkb21haW46ZX1vZiB1LmhwYXJhbVNwZWNzKWlmKGUudHlwZT09PWtULkRJU0NSRVRFKXtjb25zdCBuPXAuZ2V0KHQpfHxuZXcgU2V0O2Zvcihjb25zdCB0IG9mIGUudmFsdWVzKW4uYWRkKHQpO3Auc2V0KHQsbil9ZWxzZXtjb25zdCBuPW0uZ2V0KHQpO20uc2V0KHQse21pblZhbHVlOm4/TWF0aC5taW4oZS5taW5WYWx1ZSxuLm1pblZhbHVlKTplLm1pblZhbHVlLG1heFZhbHVlOm4/TWF0aC5tYXgoZS5tYXhWYWx1ZSxuLm1heFZhbHVlKTplLm1heFZhbHVlfSl9Zm9yKGNvbnN0IHQgb2YgdS5tZXRyaWNTcGVjcylsLmFkZCh0LnRhZyk7Zm9yKGNvbnN0W3QsZV1vZiBwKWMuc2V0KHQse3R5cGU6a1QuRElTQ1JFVEUsaW5jbHVkZVVuZGVmaW5lZDohMCxwb3NzaWJsZVZhbHVlczpbLi4uZV0sZmlsdGVyVmFsdWVzOlsuLi5lXX0pO2Zvcihjb25zdFt0LHttaW5WYWx1ZTplLG1heFZhbHVlOm59XW9mIG0pYy5zZXQodCx7dHlwZTprVC5JTlRFUlZBTCxpbmNsdWRlVW5kZWZpbmVkOiEwLG1pblZhbHVlOmUsbWF4VmFsdWU6bixmaWx0ZXJMb3dlclZhbHVlOmUsZmlsdGVyVXBwZXJWYWx1ZTpufSk7Zm9yKGNvbnN0IHQgb2YgbCl7Y29uc3QgZT1zLmdldCh0KSxpPW51bGwhPT0obj1udWxsPT1lP3ZvaWQgMDplLm1pbikmJnZvaWQgMCE9PW4/bjowLGE9bnVsbCE9PShvPW51bGw9PWU/dm9pZCAwOmUubWF4KSYmdm9pZCAwIT09bz9vOjA7ZC5zZXQodCx7dHlwZTprVC5JTlRFUlZBTCxpbmNsdWRlVW5kZWZpbmVkOiEwLG1pblZhbHVlOmksbWF4VmFsdWU6YSxmaWx0ZXJMb3dlclZhbHVlOmksZmlsdGVyVXBwZXJWYWx1ZTphfSl9clt0XT17aHBhcmFtOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxudWxsPT09KGk9clt0XSl8fHZvaWQgMD09PWk/dm9pZCAwOmkuaHBhcmFtKSx7c3BlY3M6dS5ocGFyYW1TcGVjcyxkZWZhdWx0RmlsdGVyczpjfSksbWV0cmljOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxudWxsPT09KGE9clt0XSl8fHZvaWQgMD09PWE/dm9pZCAwOmEubWV0cmljKSx7c3BlY3M6dS5tZXRyaWNTcGVjcyxkZWZhdWx0RmlsdGVyczpkfSl9fXJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NwZWNzOnJ9KX0pKSk7ZnVuY3Rpb24gSVQodCxlKXtyZXR1cm4gelQodCxlKX1jb25zdCBIVD0iaHBhcmFtcyI7Y2xhc3MgRlR7fUZULsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxGVCl9LEZULsm1bW9kPWZvKHt0eXBlOkZUfSksRlQuybVpbmo9RG4oe2ltcG9ydHM6W1tUUy5mb3JGZWF0dXJlKEhULElUKV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihGVCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W1RTLmZvckZlYXR1cmUoSFQsSVQpXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEZULHtpbXBvcnRzOltBU119KTtjbGFzcyBMVHt9ZnVuY3Rpb24gQlQodCxlKXtyZXR1cm5gJHtlfS8ke3R9YH1MVC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TFQpfSxMVC7JtW1vZD1mbyh7dHlwZTpMVH0pLExULsm1aW5qPURuKHtpbXBvcnRzOltbRlRdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTFQsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltGVF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhMVCx7aW1wb3J0czpbRlRdfSk7Y2xhc3MgVlR7Y29uc3RydWN0b3IodCl7dGhpcy5odHRwPXR9ZmV0Y2hSdW5zKHQpe3JldHVybiB0aGlzLmh0dHAuZ2V0KCJkYXRhL3J1bnMiKS5waXBlKFZ0KChlPT5lLm1hcCgoZT0+KHtpZDpCVChlLHQpLG5hbWU6ZSxzdGFydFRpbWU6MH0pKSkpKSl9ZmV0Y2hIcGFyYW1zTWV0YWRhdGEodCl7cmV0dXJuIHp0KHtocGFyYW1TcGVjczpbXSxtZXRyaWNTcGVjczpbXSxydW5Ub0hwYXJhbXNBbmRNZXRyaWNzOnt9fSl9fVZULsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxWVCkoVHIoSEUpKX0sVlQuybVwcm92PVNuKHt0b2tlbjpWVCxmYWN0b3J5OlZULsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWVCxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6SEV9XX0pLG51bGwpO2NsYXNzIGpUe31qVC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8alQpfSxqVC7JtW1vZD1mbyh7dHlwZTpqVH0pLGpULsm1aW5qPURuKHtwcm92aWRlcnM6W3twcm92aWRlOlNULHVzZUNsYXNzOlZUfV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGpULFt7dHlwZTpMXyxhcmdzOlt7cHJvdmlkZXJzOlt7cHJvdmlkZTpTVCx1c2VDbGFzczpWVH1dfV19XSxudWxsLG51bGwpO2NvbnN0IFVUPSJhbGVydHMiLFdUPWJTKF9TKFVUKSwodD0+dC5sYXRlc3RBbGVydCkpLEdUPSJleHBlcmltZW50cyIsWVQ9YlMoX1MoR1QpLCh0PT50LmRhdGEpKSxxVD1iUyhZVCwoKHQsZSk9Pntjb25zdHtleHBlcmltZW50SWQ6bn09ZTtyZXR1cm4gdC5leHBlcmltZW50TWFwW25dfHxudWxsfSkpOwovKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLgoKICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLgoKICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRICiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkKICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwKICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IKICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwpmdW5jdGlvbiBaVCh0LGUpe3ZhciBuPXt9O2Zvcih2YXIgbyBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG8pJiZlLmluZGV4T2Yobyk8MCYmKG5bb109dFtvXSk7aWYobnVsbCE9dCYmImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPTA7Zm9yKG89T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KTtpPG8ubGVuZ3RoO2krKyllLmluZGV4T2Yob1tpXSk8MCYmT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHQsb1tpXSkmJihuW29baV1dPXRbb1tpXV0pfXJldHVybiBufWZ1bmN0aW9uIFhUKHQsZSxuLG8pe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKChmdW5jdGlvbihpLGEpe2Z1bmN0aW9uIHIodCl7dHJ5e2woby5uZXh0KHQpKX1jYXRjaCh0KXthKHQpfX1mdW5jdGlvbiBzKHQpe3RyeXtsKG8udGhyb3codCkpfWNhdGNoKHQpe2EodCl9fWZ1bmN0aW9uIGwodCl7dC5kb25lP2kodC52YWx1ZSk6KGZ1bmN0aW9uIGUodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBuP3Q6bmV3IG4oKGZ1bmN0aW9uKGUpe2UodCl9KSl9KSh0LnZhbHVlKS50aGVuKHIscyl9bCgobz1vLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSkpfXZhciBLVCxKVCxRVDshKGZ1bmN0aW9uKHQpe3QuU0NBTEFSUz0ic2NhbGFycyIsdC5ISVNUT0dSQU1TPSJoaXN0b2dyYW1zIix0LklNQUdFUz0iaW1hZ2VzIn0pKEtUfHwoS1Q9e30pKSwoZnVuY3Rpb24odCl7dC5ERUZBVUxUPSJkZWZhdWx0Iix0LkFMUEhBQkVUSUNBTD0iYWxwaGFiZXRpY2FsIix0LkFTQ0VORElORz0iYXNjZW5kaW5nIix0LkRFU0NFTkRJTkc9ImRlc2NlbmRpbmciLHQuTkVBUkVTVD0ibmVhcmVzdCJ9KShKVHx8KEpUPXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5TVEVQPTBdPSJTVEVQIix0W3QuUkVMQVRJVkU9MV09IlJFTEFUSVZFIix0W3QuV0FMTF9USU1FPTJdPSJXQUxMX1RJTUUifSkoUVR8fChRVD17fSkpO2NvbnN0ICRUPSJ0aW1lc2VyaWVzIjtjb25zdCB0Tj1bS1QuSU1BR0VTXTtmdW5jdGlvbiBlTih0KXtyZXR1cm4gdE4uaW5jbHVkZXModCl9Y29uc3Qgbk49W0tULkhJU1RPR1JBTVMsS1QuSU1BR0VTXTtmdW5jdGlvbiBvTih0KXtyZXR1cm4gbk4uaW5jbHVkZXModCl9ZnVuY3Rpb24gaU4odCl7cmV0dXJuIG9OKHQucGx1Z2luKX1jbGFzcyBhTnt9ZnVuY3Rpb24gck4odCl7cmV0dXJuIHQuaGFzT3duUHJvcGVydHkoImVycm9yIil9Y29uc3Qgc049ImRhdGEvcGx1Z2luL3RpbWVzZXJpZXMiO2Z1bmN0aW9uIGxOKHQpe2NvbnN0IGU9dC5pbmRleE9mKCIvIik7cmV0dXJue3J1bjp0LnN1YnN0cmluZyhlKzEpLGV4cGVyaW1lbnRJZDp0LnN1YnN0cmluZygwLGUpfX1mdW5jdGlvbiBjTih0LGUpe3JldHVybmAke2V9LyR7dH1gfWZ1bmN0aW9uIGROKHQsZSl7Y29uc3R7cnVuVG9TZXJpZXM6bixydW46b309dCxpPVpUKHQsWyJydW5Ub1NlcmllcyIsInJ1biJdKSxhPU9iamVjdC5hc3NpZ24oe30saSk7cmV0dXJuIG4mJihhLnJ1blRvU2VyaWVzPXBOKG4sZSkpLG8mJihhLnJ1bklkPWNOKG8sZSkpLGF9ZnVuY3Rpb24gcE4odCxlKXtjb25zdCBuPXt9O2Zvcihjb25zdCBvIGluIHQpaWYodC5oYXNPd25Qcm9wZXJ0eShvKSl7bltjTihvLGUpXT10W29dfXJldHVybiBufWNsYXNzIG1Oe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5odHRwPXQsdGhpcy5zdG9yZT1lfWZldGNoVGFnTWV0YWRhdGEodCl7Y29uc3QgZT10Lm1hcCgodD0+dGhpcy5odHRwLmdldChgL2V4cGVyaW1lbnQvJHt0fS8ke3NOfS90YWdzYCkucGlwZShWdCgoZT0+KGZ1bmN0aW9uIG4odCxlKXtjb25zdCBuPXt9O2Zvcihjb25zdCBvIG9mIE9iamVjdC5rZXlzKHQpKXtjb25zdCBpPW87aWYoZU4oaSkpe2NvbnN0IG89dFtpXSx7dGFnUnVuU2FtcGxlZEluZm86YX09byxyPVpUKG8sWyJ0YWdSdW5TYW1wbGVkSW5mbyJdKSxzPXt9O2Zvcihjb25zdCB0IGluIGEpYS5oYXNPd25Qcm9wZXJ0eSh0KSYmKHNbdF09cE4oYVt0XSxlKSk7bltpXT1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3RhZ1J1blNhbXBsZWRJbmZvOnN9KX1lbHNle2NvbnN0IG89dFtpXSx7cnVuVGFnSW5mbzphfT1vLHI9WlQobyxbInJ1blRhZ0luZm8iXSk7bltpXT1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3J1blRhZ0luZm86cE4oYSxlKX0pfX1yZXR1cm4gbn0pKGUsdCkpKSkpKSxuPXRoaXMuc3RvcmUuc2VsZWN0KE5EKS5waXBlKHVlKEJvb2xlYW4pLHZlKDEpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KFdEKSksVnQoKChbLHRdKT0+dCkpKTtyZXR1cm4gaWUoZSkucGlwZShxZShuKSxWdCgoKFt0LGVdKT0+e2NvbnN0IG49KGZ1bmN0aW9uIG8odCl7Y29uc3QgZT17fTtmb3IoY29uc3QgbiBvZiB0KWZvcihjb25zdCB0IG9mIE9iamVjdC52YWx1ZXMoS1QpKWlmKGVOKHQpKXtlW3RdPWVbdF18fHt0YWdEZXNjcmlwdGlvbnM6e30sdGFnUnVuU2FtcGxlZEluZm86e319O2NvbnN0e3RhZ0Rlc2NyaXB0aW9uczpvLHRhZ1J1blNhbXBsZWRJbmZvOml9PW5bdF07ZVt0XS50YWdEZXNjcmlwdGlvbnM9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGVbdF0udGFnRGVzY3JpcHRpb25zKSxvKTtjb25zdCBhPWVbdF0udGFnUnVuU2FtcGxlZEluZm87Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMoaSkpe2FbdF09YVt0XXx8e307Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXMoaVt0XSkpYVt0XVtlXT1pW3RdW2VdfX1lbHNle2VbdF09ZVt0XXx8e3RhZ0Rlc2NyaXB0aW9uczp7fSxydW5UYWdJbmZvOnt9fTtjb25zdHt0YWdEZXNjcmlwdGlvbnM6byxydW5UYWdJbmZvOml9PW5bdF07ZVt0XS50YWdEZXNjcmlwdGlvbnM9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGVbdF0udGFnRGVzY3JpcHRpb25zKSxvKSxlW3RdLnJ1blRhZ0luZm89T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGVbdF0ucnVuVGFnSW5mbyksaSl9cmV0dXJuIGV9KSh0KTtyZXR1cm4gZXx8KG5bS1QuSU1BR0VTXT17dGFnRGVzY3JpcHRpb25zOnt9LHRhZ1J1blNhbXBsZWRJbmZvOnt9fSksbn0pKSl9ZmV0Y2hUaW1lU2VyaWVzKHQpe2NvbnN0IGU9dC5tYXAoKHQ9PntpZihvTih0LnBsdWdpbikpe2NvbnN0IGU9dCx7cnVuSWQ6bn09ZSxvPVpUKGUsWyJydW5JZCJdKSx7cnVuOmksZXhwZXJpbWVudElkOmF9PWxOKG4pLHI9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG8pLHtydW46aX0pO3JldHVybiB0aGlzLmZldGNoVGltZVNlcmllc0JhY2tlbmRSZXF1ZXN0KHIsYSkucGlwZShWdCgoKHtyZXNwb25zZTp0LGV4cGVyaW1lbnRJZDplfSk9PmROKHQsZSkpKSl9Y29uc3QgZT10LHtleHBlcmltZW50SWRzOm59PWUsbz1aVChlLFsiZXhwZXJpbWVudElkcyJdKTtyZXR1cm4gaWUobi5tYXAoKHQ9PnRoaXMuZmV0Y2hUaW1lU2VyaWVzQmFja2VuZFJlcXVlc3Qobyx0KSkpKS5waXBlKFZ0KCh0PT57Y29uc3QgZT1aVCh0WzBdLnJlc3BvbnNlLFsicnVuVG9TZXJpZXMiLCJlcnJvciJdKTtmb3IoY29uc3R7cmVzcG9uc2U6bixleHBlcmltZW50SWQ6b31vZiB0KXtjb25zdCB0PWROKG4sbyk7aWYoZS5lcnJvciljb250aW51ZTtjb25zdHtydW5Ub1NlcmllczppLGVycm9yOmF9PXQ7aWYoYSllLmVycm9yPWEsZS5ydW5Ub1Nlcmllcz12b2lkIDA7ZWxzZXtlLnJ1blRvU2VyaWVzPWUucnVuVG9TZXJpZXN8fHt9O2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKGkpKWUucnVuVG9TZXJpZXNbdF09aVt0XX19cmV0dXJuIGV9KSkpfSkpO3JldHVybiBpZShlKX1mZXRjaFRpbWVTZXJpZXNCYWNrZW5kUmVxdWVzdCh0LGUpe2NvbnN0IG49bmV3IEZvcm1EYXRhO3JldHVybiBuLmFwcGVuZCgicmVxdWVzdHMiLEpTT04uc3RyaW5naWZ5KFt0XSkpLHRoaXMuaHR0cC5wb3N0KGAvZXhwZXJpbWVudC8ke2V9LyR7c059L3RpbWVTZXJpZXNgLG4pLnBpcGUoVnQoKHQ9Pih7cmVzcG9uc2U6dFswXSxleHBlcmltZW50SWQ6ZX0pKSkpfWltYWdlVXJsKHQpe3JldHVybmAke3NOfS9pbWFnZURhdGE/aW1hZ2VJZD0ke3R9YH1kb3dubG9hZFVybCh0LGUsbixvKXtjb25zdHtydW46aSxleHBlcmltZW50SWQ6YX09bE4obik7bGV0IHI7c3dpdGNoKHQpe2Nhc2UgS1QuU0NBTEFSUzpyPSJzY2FsYXJzL3NjYWxhcnMiO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBOb3QgaW1wbGVtZW50ZWQ6IGRvd25sb2FkVXJsIGZvciAke3R9IGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXRgKX1pZighYSl0aHJvdyBuZXcgRXJyb3IoImV4cGVyaW1lbnRJZCBpcyBlbXB0eTsgaXQgaXMgcmVxdWlyZWQgdG8gZm9ybSBkb3dubG9hZFVybC4iKTtyZXR1cm5gL2V4cGVyaW1lbnQvJHthfS9kYXRhL3BsdWdpbi8ke3J9PyR7bmV3IFVSTFNlYXJjaFBhcmFtcyh7dGFnOmUscnVuOmksZm9ybWF0Om99KX1gfX1tTi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bU4pKFRyKEhFKSxUcihpUykpfSxtTi7JtXByb3Y9U24oe3Rva2VuOm1OLGZhY3Rvcnk6bU4uybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1OLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpIRX0se3R5cGU6aVN9XX0pLG51bGwpO2NvbnN0IGZOPW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7Y2xhc3MgdU57Z2V0UGFyYW1zKCl7cmV0dXJuIGZOfX11Ti7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dU4pfSx1Ti7JtXByb3Y9U24oe3Rva2VuOnVOLGZhY3Rvcnk6dU4uybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHVOLFt7dHlwZTpVbX1dLG51bGwsbnVsbCk7Y2xhc3MgZ057fWdOLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxnTil9LGdOLsm1cHJvdj1Tbih7dG9rZW46Z04sZmFjdG9yeTpnTi7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZ04sW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjb25zdCBoTj0iZXhwZXJpbWVudGFsUGx1Z2luIixiTj0ic2NhbGFyc0JhdGNoU2l6ZSIseU49ImVuYWJsZUNhcmRXaWR0aFNldHRpbmciLF9OPSJlbmFibGVDb2xvckdyb3VwIixDTj0iZW5hYmxlQ29sb3JHcm91cEJ5UmVnZXgiLE1OPSJkYXJrTW9kZSIsdk49ImVuYWJsZUxpbmtUaW1lIix4Tj0iZW5hYmxlVGltZU5hbWVzcGFjZWRTdGF0ZSI7Y2xhc3MgT057Y29uc3RydWN0b3IodCl7dGhpcy5xdWVyeVBhcmFtcz10fWdldEZlYXR1cmVzKHQ9ITEpe2NvbnN0IGU9dGhpcy5xdWVyeVBhcmFtcy5nZXRQYXJhbXMoKSxuPXQ/dGhpcy5nZXRQYXJ0aWFsRmVhdHVyZXNGcm9tTWVkaWFRdWVyeSgpOnt9O3JldHVybiBlLmhhcyhoTikmJihuLmVuYWJsZWRFeHBlcmltZW50YWxQbHVnaW5zPWUuZ2V0QWxsKGhOKSksZS5oYXMoInRlbnNvcmJvYXJkQ29sYWIiKSYmKG4uaW5Db2xhYj0idHJ1ZSI9PT1lLmdldCgidGVuc29yYm9hcmRDb2xhYiIpKSxlLmhhcyhiTikmJihuLnNjYWxhcnNCYXRjaFNpemU9TnVtYmVyKGUuZ2V0KGJOKSkpLGUuaGFzKF9OKSYmKG4uZW5hYmxlZENvbG9yR3JvdXA9ImZhbHNlIiE9PWUuZ2V0KF9OKSksZS5oYXMoQ04pJiYobi5lbmFibGVkQ29sb3JHcm91cEJ5UmVnZXg9ImZhbHNlIiE9PWUuZ2V0KENOKSksZS5oYXMoTU4pJiYobi5kZWZhdWx0RW5hYmxlRGFya01vZGU9ImZhbHNlIiE9PWUuZ2V0KE1OKSksZS5oYXModk4pJiYobi5lbmFibGVkTGlua2VkVGltZT0iZmFsc2UiIT09ZS5nZXQodk4pKSxlLmhhcyh5TikmJihuLmVuYWJsZWRDYXJkV2lkdGhTZXR0aW5nPSJmYWxzZSIhPT1lLmdldCh5TikpLGUuaGFzKHhOKSYmKG4uZW5hYmxlZFRpbWVOYW1lc3BhY2VkU3RhdGU9ImZhbHNlIiE9PWUuZ2V0KHhOKSksbn1nZXRQYXJ0aWFsRmVhdHVyZXNGcm9tTWVkaWFRdWVyeSgpe2NvbnN0IHQ9e307cmV0dXJuIHdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcyYmKHQuZGVmYXVsdEVuYWJsZURhcmtNb2RlPSEwKSx0fX1PTi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8T04pKFRyKHVOKSl9LE9OLsm1cHJvdj1Tbih7dG9rZW46T04sZmFjdG9yeTpPTi7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoT04sW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnVOfV19KSxudWxsKTtjbGFzcyBQTnt9UE4uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFBOKX0sUE4uybVtb2Q9Zm8oe3R5cGU6UE59KSxQTi7JtWluaj1Ebih7cHJvdmlkZXJzOltPTix1Tix7cHJvdmlkZTpnTix1c2VDbGFzczpPTn1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihQTixbe3R5cGU6TF8sYXJnczpbe3Byb3ZpZGVyczpbT04sdU4se3Byb3ZpZGU6Z04sdXNlQ2xhc3M6T059XX1dfV0sbnVsbCxudWxsKTtjb25zdCB3Tj1faygiW0ZFQVRVUkUgRkxBR10gUGFydGlhbCBGZWF0dXJlIEZsYWdzIExvYWRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLGtOPV9rKCJbRkVBVFVSRSBGTEFHXSBFbmFibGUgRGFyayBNb2RlIE92ZXJyaWRlIENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxTTj1faygiW0ZFQVRVUkUgRkxBR10gRWZmZWN0cyBJbml0Iik7Y2xhc3MgRE57Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuYWN0aW9ucyQ9dCx0aGlzLnN0b3JlPWUsdGhpcy5kYXRhU291cmNlPW4sdGhpcy5nZXRGZWF0dXJlRmxhZ3MkPVdTKCgoKT0+dGhpcy5hY3Rpb25zJC5waXBlKCRTKFNOKSxfZSh0aGlzLnN0b3JlLnNlbGVjdChIRCkpLFZ0KCgoWyx0XSk9Pntjb25zdCBlPXRoaXMuZGF0YVNvdXJjZS5nZXRGZWF0dXJlcyh0KTtyZXR1cm4gd04oe2ZlYXR1cmVzOmV9KX0pKSkpKX1uZ3J4T25Jbml0RWZmZWN0cygpe3JldHVybiBTTigpfX1ETi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RE4pKFRyKFFTKSxUcihpUyksVHIoZ04pKX0sRE4uybVwcm92PVNuKHt0b2tlbjpETixmYWN0b3J5OkROLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihETixbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UVN9LHt0eXBlOmlTfSx7dHlwZTpnTn1dfSksbnVsbCk7Y29uc3QgUk49e2lzRmVhdHVyZUZsYWdzTG9hZGVkOiExLGRlZmF1bHRGbGFnczp7aXNBdXRvRGFya01vZGVBbGxvd2VkOiEwLGRlZmF1bHRFbmFibGVEYXJrTW9kZTohMSxlbmFibGVEYXJrTW9kZU92ZXJyaWRlOm51bGwsZW5hYmxlZENvbG9yR3JvdXA6ITAsZW5hYmxlZENvbG9yR3JvdXBCeVJlZ2V4OiEwLGVuYWJsZWRFeHBlcmltZW50YWxQbHVnaW5zOltdLGluQ29sYWI6ITEsc2NhbGFyc0JhdGNoU2l6ZTp2b2lkIDAsbWV0cmljc0ltYWdlU3VwcG9ydEVuYWJsZWQ6ITAsZW5hYmxlZExpbmtlZFRpbWU6ITEsZW5hYmxlVGltZVNlcmllc1Byb21vdGlvbjohMSxlbmFibGVkQ2FyZFdpZHRoU2V0dGluZzohMCxlbmFibGVkVGltZU5hbWVzcGFjZWRTdGF0ZTohMX0sZmxhZ092ZXJyaWRlczp7fX0sRU49bmV3IGVyKCJbRmVhdHVyZSBGbGFnXSBTdG9yZSBDb25maWciKTtmdW5jdGlvbiBBTigpe3JldHVybntpbml0aWFsU3RhdGU6Uk59fWNvbnN0IFROPVZTKFJOLEJTKHdOLCgodCx7ZmVhdHVyZXM6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2lzRmVhdHVyZUZsYWdzTG9hZGVkOiEwLGZsYWdPdmVycmlkZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZmxhZ092ZXJyaWRlcyksZSl9KSkpLEJTKGtOLCgodCx7ZW5hYmxlRGFya01vZGU6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2ZsYWdPdmVycmlkZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZmxhZ092ZXJyaWRlcykse2VuYWJsZURhcmtNb2RlT3ZlcnJpZGU6ZX0pfSkpKSxCUyhxUiwoKHQse3BhcnRpYWxTZXR0aW5nczplfSk9PntpZighZS50aGVtZU92ZXJyaWRlKXJldHVybiB0O2xldCBuO3N3aXRjaChlLnRoZW1lT3ZlcnJpZGUpe2Nhc2UgRlIuQlJPV1NFUl9ERUZBVUxUOm49bnVsbDticmVhaztjYXNlIEZSLkRBUks6bj0hMDticmVhaztjYXNlIEZSLkxJR0hUOm49ITF9cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZmxhZ092ZXJyaWRlczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5mbGFnT3ZlcnJpZGVzKSx7ZW5hYmxlRGFya01vZGVPdmVycmlkZTpufSl9KX0pKSk7ZnVuY3Rpb24gTk4odCxlKXtyZXR1cm4gVE4odCxlKX1mdW5jdGlvbiB6Tigpe3JldHVybiBiUyhMRCwodD0+bnVsbD09PXQ/e3RoZW1lT3ZlcnJpZGU6RlIuQlJPV1NFUl9ERUZBVUxUfTp7dGhlbWVPdmVycmlkZTp0P0ZSLkRBUks6RlIuTElHSFR9KSl9Y2xhc3MgSU57fUlOLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxJTil9LElOLsm1bW9kPWZvKHt0eXBlOklOfSksSU4uybVpbmo9RG4oe3Byb3ZpZGVyczpbe3Byb3ZpZGU6RU4sdXNlRmFjdG9yeTpBTn1dLGltcG9ydHM6W1tQTixUUy5mb3JGZWF0dXJlKEFELE5OLEVOKSxoRC5mb3JGZWF0dXJlKFtETl0pLHpSLmRlZmluZUdsb2JhbFNldHRpbmcoek4pXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKElOLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbUE4sVFMuZm9yRmVhdHVyZShBRCxOTixFTiksaEQuZm9yRmVhdHVyZShbRE5dKSx6Ui5kZWZpbmVHbG9iYWxTZXR0aW5nKHpOKV0scHJvdmlkZXJzOlt7cHJvdmlkZTpFTix1c2VGYWN0b3J5OkFOfV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhJTix7aW1wb3J0czpbUE4sQVMsZ0QselJdfSk7Y2xhc3MgSE57fWZ1bmN0aW9uIEZOKHQsZSxuLG8pe3JldHVybiB0W2VdLmhhc093blByb3BlcnR5KG4pP2VOKGUpP3RbZV1bbl0uaGFzT3duUHJvcGVydHkobyk/dFtlXVtuXVtvXTpudWxsOnRbZV1bbl06bnVsbH1mdW5jdGlvbiBMTih0LGUsbixvKXtpZihlTihlKSl7Y29uc3QgaT1PYmplY3QuYXNzaWduKHt9LHRbZV0pLGE9KGZ1bmN0aW9uIGkodCxlLG4pe2NvbnN0IG89dC5oYXNPd25Qcm9wZXJ0eShlKT9PYmplY3QuYXNzaWduKHt9LHRbZV0pOnt9LGk9by5oYXNPd25Qcm9wZXJ0eShuKTtyZXR1cm4gb1tuXT1pP09iamVjdC5hc3NpZ24oe30sb1tuXSk6e3J1blRvU2VyaWVzOnt9LHJ1blRvTG9hZFN0YXRlOnt9fSxvfSkoaSxuLG8pO3JldHVybiBpW25dPWEsaX1jb25zdCBhPU9iamVjdC5hc3NpZ24oe30sdFtlXSkscj1hLmhhc093blByb3BlcnR5KG4pO3JldHVybiBhW25dPXI/T2JqZWN0LmFzc2lnbih7fSxhW25dKTp7cnVuVG9TZXJpZXM6e30scnVuVG9Mb2FkU3RhdGU6e319LGF9ZnVuY3Rpb24gQk4odCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpfWZ1bmN0aW9uIFZOKHQsZSxuKXtjb25zdCBvPU9iamVjdC5hc3NpZ24oe30sbik7Zm9yKGNvbnN0IG4gb2YgZSlvW25dPXQ7cmV0dXJuIG99ZnVuY3Rpb24gak4odCxlLG4sbyl7aWYoZU4oZSkpe2NvbnN0IGk9dFtlXS50YWdSdW5TYW1wbGVkSW5mbztpZighaS5oYXNPd25Qcm9wZXJ0eShuKSlyZXR1cm5bXTtyZXR1cm4gT2JqZWN0LmtleXMoaVtuXSkuZmlsdGVyKCh0PT5vPGlbbl1bdF0ubWF4U2FtcGxlc1BlclN0ZXApKX1jb25zdCBpPXRbZV0udGFnVG9SdW5zO3JldHVybiBpLmhhc093blByb3BlcnR5KG4pP2lbbl06W119ZnVuY3Rpb24gVU4odCxlKXtyZXR1cm4gdC5wbHVnaW49PT1lLnBsdWdpbiYmdC50YWc9PT1lLnRhZyYmdC5zYW1wbGU9PT1lLnNhbXBsZSYmKHQucnVuSWQ9PT1lLnJ1bklkfHwhdC5ydW5JZCYmIWUucnVuSWQpfWZ1bmN0aW9uIFdOKHQsZSxuLG8saSxhKXtjb25zdCByPW5ldyBTZXQodCkscz1bXTtmb3IoY29uc3QgbyBvZiB0KWZvcihjb25zdCB0IG9mIGUpe2lmKFVOKG5bdF0sbykpe3MucHVzaCh0KSxyLmRlbGV0ZShvKTticmVha319aWYoIXMubGVuZ3RoKXJldHVybnt1bnJlc29sdmVkSW1wb3J0ZWRQaW5uZWRDYXJkczp0LGNhcmRNZXRhZGF0YU1hcDpuLGNhcmRUb1Bpbm5lZENvcHk6byxwaW5uZWRDYXJkVG9PcmlnaW5hbDppLGNhcmRTdGVwSW5kZXg6YX07bGV0IGw9e2NhcmRUb1Bpbm5lZENvcHk6byxwaW5uZWRDYXJkVG9PcmlnaW5hbDppLGNhcmRTdGVwSW5kZXg6YSxjYXJkTWV0YWRhdGFNYXA6bn07Zm9yKGNvbnN0IHQgb2YgcylsPUdOKHQsbC5jYXJkVG9QaW5uZWRDb3B5LGwucGlubmVkQ2FyZFRvT3JpZ2luYWwsbC5jYXJkU3RlcEluZGV4LGwuY2FyZE1ldGFkYXRhTWFwKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGwpLHt1bnJlc29sdmVkSW1wb3J0ZWRQaW5uZWRDYXJkczpbLi4ucl19KX1mdW5jdGlvbiBHTih0LGUsbixvLGkpe2lmKGUuaGFzKHQpKXJldHVybntjYXJkVG9QaW5uZWRDb3B5OmUscGlubmVkQ2FyZFRvT3JpZ2luYWw6bixjYXJkU3RlcEluZGV4Om8sY2FyZE1ldGFkYXRhTWFwOml9O2NvbnN0IGE9bmV3IE1hcChlKSxyPW5ldyBNYXAobikscz1PYmplY3QuYXNzaWduKHt9LG8pLGw9T2JqZWN0LmFzc2lnbih7fSxpKSxjPShmdW5jdGlvbiBkKHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7YmFzZUNhcmRJZDp0fSl9KSh0KTthLnNldCh0LGMpLHIuc2V0KGMsdCksby5oYXNPd25Qcm9wZXJ0eSh0KSYmKHNbY109b1t0XSk7Y29uc3QgcD1pW3RdO2lmKCFwKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHBpbiBhIGNhcmQgd2l0aG91dCBtZXRhZGF0YSIpO3JldHVybiBsW2NdPXAse2NhcmRUb1Bpbm5lZENvcHk6YSxwaW5uZWRDYXJkVG9PcmlnaW5hbDpyLGNhcmRTdGVwSW5kZXg6cyxjYXJkTWV0YWRhdGFNYXA6bH19SE4uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEhOKX0sSE4uybVtb2Q9Zm8oe3R5cGU6SE59KSxITi7JtWluaj1Ebih7cHJvdmlkZXJzOlt7cHJvdmlkZTphTix1c2VDbGFzczptTn1dLGltcG9ydHM6W1tJTixGRV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihITixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W0lOLEZFXSxwcm92aWRlcnM6W3twcm92aWRlOmFOLHVzZUNsYXNzOm1OfV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhITix7aW1wb3J0czpbSU4sRkVdfSk7Y29uc3QgWU49MTA7ZnVuY3Rpb24gcU4odCl7cmV0dXJuIHQucGlubmVkQ2FyZFRvT3JpZ2luYWwuc2l6ZSt0LnVucmVzb2x2ZWRJbXBvcnRlZFBpbm5lZENhcmRzLmxlbmd0aDxZTn1jb25zdCBaTj0ibWV0cmljcyIsWE49e2NhcmRNaW5XaWR0aDpudWxsLHRvb2x0aXBTb3J0OkpULkFMUEhBQkVUSUNBTCxpZ25vcmVPdXRsaWVyczohMCx4QXhpc1R5cGU6UVQuU1RFUCxzY2FsYXJTbW9vdGhpbmc6LjYsc2NhbGFyUGFydGl0aW9uTm9uTW9ub3RvbmljWDohMSxpbWFnZUJyaWdodG5lc3NJbk1pbGxpOjFlMyxpbWFnZUNvbnRyYXN0SW5NaWxsaToxZTMsaW1hZ2VTaG93QWN0dWFsU2l6ZTohMSxoaXN0b2dyYW1Nb2RlOmpFLk9GRlNFVH0sS049X1MoWk4pLEpOPWJTKEtOLCh0PT50LnRhZ01ldGFkYXRhTG9hZFN0YXRlKSk7YlMoS04sKHQ9PnQudGFnTWV0YWRhdGEpKTtjb25zdCBRTj1iUyhLTiwodD0+dC5jYXJkTGlzdCkpLCROPWJTKEtOLCgodCxlKT0+e2lmKCF0LmNhcmRNZXRhZGF0YU1hcC5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gVUUuTk9UX0xPQURFRDtjb25zdHtwbHVnaW46bix0YWc6byxydW5JZDppLHNhbXBsZTphfT10LmNhcmRNZXRhZGF0YU1hcFtlXSxyPUZOKHQudGltZVNlcmllc0RhdGEsbixvLGEpO2lmKCFyKXJldHVybiBVRS5OT1RfTE9BREVEO2NvbnN0IHM9ci5ydW5Ub0xvYWRTdGF0ZTtpZihpKXJldHVybiBzLmhhc093blByb3BlcnR5KGkpP3NbaV06VUUuTk9UX0xPQURFRDtjb25zdCBsPWpOKHQudGFnTWV0YWRhdGEsbixvLGEpO2lmKCFsLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBsb2FkIGEgY2FyZCB3aG9zZSB0YWcgaGFzIG5vIHJ1bnMiKTtyZXR1cm4gbC5ldmVyeSgodD0+c1t0XT09PVVFLkxPQURFRCkpP1VFLkxPQURFRDpsLnNvbWUoKHQ9PnNbdF09PT1VRS5MT0FESU5HKSk/VUUuTE9BRElORzpVRS5OT1RfTE9BREVEfSkpLHR6PWJTKEtOLCgodCxlKT0+e2lmKCF0LmNhcmRNZXRhZGF0YU1hcC5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gbnVsbDtjb25zdHtwbHVnaW46bix0YWc6byxzYW1wbGU6aX09dC5jYXJkTWV0YWRhdGFNYXBbZV0sYT1GTih0LnRpbWVTZXJpZXNEYXRhLG4sbyxpKTtyZXR1cm4gYT9hLnJ1blRvU2VyaWVzOm51bGx9KSksZXo9YlMoS04sKHQ9PnQuY2FyZE1ldGFkYXRhTWFwKSksbno9YlMoZXosKCh0LGUpPT50Lmhhc093blByb3BlcnR5KGUpP3RbZV06bnVsbCkpLG96PWJTKEtOLCh0PT50LnZpc2libGVDYXJkTWFwKSksaXo9YlMob3osKHQ9Pm5ldyBTZXQodC52YWx1ZXMoKSkpKSxhej1iUyhRTixleiwoKHQsZSk9PnQuZmlsdGVyKCh0PT5lLmhhc093blByb3BlcnR5KHQpKSkubWFwKCh0PT5PYmplY3QuYXNzaWduKHtjYXJkSWQ6dH0sZVt0XSkpKSkpLHJ6PWJTKEtOLCgodCxlKT0+dC5jYXJkU3RlcEluZGV4Lmhhc093blByb3BlcnR5KGUpP3QuY2FyZFN0ZXBJbmRleFtlXTpudWxsKSksc3o9YlMoS04sKHQ9PnQuY2FyZFRvUGlubmVkQ29weSkpLGx6PWJTKEtOLCh0PT50LnBpbm5lZENhcmRUb09yaWdpbmFsKSksY3o9YlMoc3osZXosKCh0LGUpPT5bLi4udC52YWx1ZXMoKV0uZmlsdGVyKCh0PT5lLmhhc093blByb3BlcnR5KHQpKSkubWFwKCh0PT5PYmplY3QuYXNzaWduKHtjYXJkSWQ6dH0sZVt0XSkpKSkpLGR6PWJTKHN6LGx6LCgodCxlLG4pPT50LmhhcyhuKXx8ZS5oYXMobikpKSxwej1iUyhLTiwodD0+dC51bnJlc29sdmVkSW1wb3J0ZWRQaW5uZWRDYXJkcykpLG16PWJTKEtOLCh0PT5xTih0KSkpLGZ6PWJTKEtOLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZXR0aW5ncyksdC5zZXR0aW5nT3ZlcnJpZGVzKSkpLHV6PWJTKEtOLCh0PT50LnNldHRpbmdPdmVycmlkZXMpKSxnej1iUyhmeiwodD0+dC5jYXJkTWluV2lkdGgpKSxoej1iUyhmeiwodD0+dC50b29sdGlwU29ydCkpLGJ6PWJTKGZ6LCh0PT50Lmlnbm9yZU91dGxpZXJzKSkseXo9YlMoZnosKHQ9PnQueEF4aXNUeXBlKSksX3o9YlMoZnosKHQ9PnQuaGlzdG9ncmFtTW9kZSkpLEN6PWJTKGZ6LCh0PT50LnNjYWxhclNtb290aGluZykpLE16PWJTKGZ6LCh0PT50LnNjYWxhclBhcnRpdGlvbk5vbk1vbm90b25pY1gpKSx2ej1iUyhmeiwodD0+dC5pbWFnZUJyaWdodG5lc3NJbk1pbGxpKSkseHo9YlMoZnosKHQ9PnQuaW1hZ2VDb250cmFzdEluTWlsbGkpKSxPej1iUyhmeiwodD0+dC5pbWFnZVNob3dBY3R1YWxTaXplKSksUHo9YlMoS04sKHQ9PnQudGFnRmlsdGVyKSksd3o9YlMoS04sKCh0LGUpPT5Cb29sZWFuKHQudGFnR3JvdXBFeHBhbmRlZC5nZXQoZSkpKSksa3o9YlMoS04sKHQ9PnQuc2VsZWN0VGltZUVuYWJsZWQpKSxTej1iUyhLTiwodD0+dC51c2VSYW5nZVNlbGVjdFRpbWUpKSxEej1iUyhLTiwodD0+e2NvbnN0e21pbjplLG1heDpufT10LnN0ZXBNaW5NYXg7cmV0dXJue21pbjplPT09MS8wPzA6ZSxtYXg6bj09PS0xLzA/MWUzOm59fSkpLFJ6PWJTKEtOLER6LCgodCxlKT0+e3ZhciBuO3JldHVybiB0LnNlbGVjdGVkVGltZT9PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZWxlY3RlZFRpbWUpLHtlbmQ6bnVsbCE9PShuPXQuc2VsZWN0ZWRUaW1lLmVuZCkmJnZvaWQgMCE9PW4/bjp7c3RlcDplLm1heH19KTp7c3RhcnQ6e3N0ZXA6ZS5taW59LGVuZDp7c3RlcDplLm1heH19fSkpLEV6PWJTKEtOLFJ6LCgodCxlKT0+dC5zZWxlY3RUaW1lRW5hYmxlZD90LnVzZVJhbmdlU2VsZWN0VGltZT9lOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx7ZW5kOm51bGx9KTpudWxsKSksQXo9YlMoS04sKHQ9PnQuZmlsdGVyZWRQbHVnaW5UeXBlcykpLFR6PWJTKEtOLCh0PT50LnByb21vdGVUaW1lU2VyaWVzKSksTno9YlMoS04sKHQ9PnQuaXNTZXR0aW5nc1BhbmVPcGVuKSk7dmFyIHp6OyEoZnVuY3Rpb24odCl7dFt0Lk5PTkU9MF09Ik5PTkUiLHRbdC5XSEFUU19ORVc9MV09IldIQVRTX05FVyJ9KSh6enx8KHp6PXt9KSk7Y29uc3QgSXo9X1MoIm5vdGlmaWNhdGlvbiIpO2JTKEl6LCh0PT50Lm5vdGlmaWNhdGlvbnMpKSxiUyhJeiwodD0+e3ZhciBlO3JldHVybiBudWxsIT09KGU9dC5sYXN0UmVhZFRpbWVzdGFtcEluTXMpJiZ2b2lkIDAhPT1lP2U6LTF9KSk7Y29uc3QgSHo9InJ1bnMiO3ZhciBGeixMejtmdW5jdGlvbiBCeih0KXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodC5zbGljZSgpLnNvcnQoKSl9ZnVuY3Rpb24gVnoodCxlLG4pe2NvbnN0IG89e30saT1bXSxhPXttYXRjaGVzOm8sbm9uTWF0Y2hlczppfTtzd2l0Y2godC5rZXkpe2Nhc2UgTHouUlVOOmZvcihjb25zdCB0IG9mIGUpb1t0LmlkXT1bdF07YnJlYWs7Y2FzZSBMei5FWFBFUklNRU5UOmZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9blt0LmlkXSxpPW9bZV18fFtdO2kucHVzaCh0KSxvW2VdPWl9YnJlYWs7Y2FzZSBMei5SRUdFWDppZighdC5yZWdleFN0cmluZylicmVhaztsZXQgYTt0cnl7YT1uZXcgUmVnRXhwKHQucmVnZXhTdHJpbmcpfWNhdGNoKHQpe2JyZWFrfWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5uYW1lLm1hdGNoKGEpO2lmKGUpe2NvbnN0IG49ZS5sZW5ndGg+MT9KU09OLnN0cmluZ2lmeShlLnNsaWNlKDEpKToicHNldWRvX2dyb3VwIixpPW9bbl18fFtdO2kucHVzaCh0KSxvW25dPWl9ZWxzZSBpLnB1c2godCl9fXJldHVybiBhfWZ1bmN0aW9uIGp6KHQsZSl7c3dpdGNoKHQpe2Nhc2UgTHouUkVHRVg6cmV0dXJue2tleTp0LHJlZ2V4U3RyaW5nOm51bGwhPWU/ZToiIn07Y2FzZSBMei5SVU46Y2FzZSBMei5FWFBFUklNRU5UOmRlZmF1bHQ6cmV0dXJue2tleTp0fX19IShmdW5jdGlvbih0KXt0W3QuRVhQRVJJTUVOVF9OQU1FPTBdPSJFWFBFUklNRU5UX05BTUUiLHRbdC5IUEFSQU09MV09IkhQQVJBTSIsdFt0Lk1FVFJJQz0yXT0iTUVUUklDIix0W3QuUlVOX05BTUU9M109IlJVTl9OQU1FIn0pKEZ6fHwoRno9e30pKSwoZnVuY3Rpb24odCl7dFt0LlJVTj0wXT0iUlVOIix0W3QuRVhQRVJJTUVOVD0xXT0iRVhQRVJJTUVOVCIsdFt0LlJFR0VYPTJdPSJSRUdFWCJ9KShMenx8KEx6PXt9KSk7Y29uc3QgVXo9X1MoSHopLFd6PWJTKFV6LCh0PT50LmRhdGEpKSxHej1iUyhXeiwoKHQsZSk9Pnt2YXIgbjtyZXR1cm4gbnVsbCE9PShuPXQucnVuSWRUb0V4cElkW2UucnVuSWRdKSYmdm9pZCAwIT09bj9uOm51bGx9KSksWXo9YlMoV3osKCh0LGUpPT57dmFyIG47cmV0dXJuIG51bGwhPT0obj10LnJ1bk1ldGFkYXRhW2UucnVuSWRdKSYmdm9pZCAwIT09bj9uOm51bGx9KSkscXo9YlMoV3osKCh0LGUpPT4odC5ydW5JZHNbZS5leHBlcmltZW50SWRdfHxbXSkuZmlsdGVyKChlPT5Cb29sZWFuKHQucnVuTWV0YWRhdGFbZV0pKSkubWFwKChlPT50LnJ1bk1ldGFkYXRhW2VdKSkpKSxaej1iUyhXeiwoKHQsZSk9Pnt2YXIgbjtyZXR1cm4gbnVsbCE9PShuPXQucnVuSWRzW2UuZXhwZXJpbWVudElkXSkmJnZvaWQgMCE9PW4/bjpbXX0pKSxYej1iUyhXeiwodD0+bmV3IE1hcChPYmplY3QuZW50cmllcyh0LnJ1bk1ldGFkYXRhKSkpKSxLej1iUyhXeiwoKHQsZSk9PnQucnVuc0xvYWRTdGF0ZVtlLmV4cGVyaW1lbnRJZF18fHtsYXN0TG9hZGVkVGltZUluTXM6bnVsbCxzdGF0ZTpVRS5OT1RfTE9BREVEfSkpLEp6PWJTKFd6LCgodCxlKT0+e2NvbnN0IG49QnooZS5leHBlcmltZW50SWRzKTtyZXR1cm4gdC5zZWxlY3Rpb25TdGF0ZS5nZXQobil8fG5ldyBNYXB9KSksUXo9YlMoV3osKHQ9Pm51bGwhPT10LnVzZXJTZXRHcm91cEJ5S2V5P2p6KHQudXNlclNldEdyb3VwQnlLZXksdC5jb2xvckdyb3VwUmVnZXhTdHJpbmcpOm51bGwpKSwkej1iUyhReixXeiwoKHQsZSk9Pm51bGwhPXQ/dDplLmluaXRpYWxHcm91cEJ5KSksdEk9YlMoV3osKHQ9PnQucmVnZXhGaWx0ZXIpKSxlST1iUyhVeiwodD0+dC51aSkpLG5JPWJTKGVJLCh0PT50LnBhZ2luYXRpb25PcHRpb24pKSxvST1iUyhlSSwodD0+dC5zb3J0KSksaUk9YlMoV3osKHQ9PnQucnVuQ29sb3JPdmVycmlkZUZvckdyb3VwQnkpKSxhST1iUyhXeiwodD0+dC5kZWZhdWx0UnVuQ29sb3JJZEZvckdyb3VwQnkpKSxyST1iUyhXeiwodD0+dC5jb2xvckdyb3VwUmVnZXhTdHJpbmcpKSxzST1faygiW1NldHRpbmdzXSBSZWxvYWQgRW5hYmxlIFRvZ2dsZWQiKSxsST1faygiW1NldHRpbmdzXSBSZWxvYWQgUGVyaW9kIENoYW5nZSIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLGNJPV9rKCJbU2V0dGluZ3NdIFBhZ2UgU2l6ZSBDaGFuZ2UiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxkST0ic2V0dGluZ3MiLHBJPXtzdGF0ZTpVRS5MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOkRhdGUubm93KCksc2V0dGluZ3M6e3JlbG9hZFBlcmlvZEluTXM6M2U0LHJlbG9hZEVuYWJsZWQ6ITEscGFnZVNpemU6MTIsY29sb3JQYWxldHRlOntpZDoiZGVmYXVsdCIsbmFtZToiRGVmYWx0Iixjb2xvcnM6W3tuYW1lOiJTbGF0ZSIsbGlnaHRIZXg6IiM0MjUwNjYiLGRhcmtIZXg6IiM4ZTk4YTMifSx7bmFtZToiQ3lhbiIsbGlnaHRIZXg6IiMxMmI1Y2IiLGRhcmtIZXg6IiMxMmI1Y2IifSx7bmFtZToiUGluayIsbGlnaHRIZXg6IiNlNTI1OTIiLGRhcmtIZXg6IiNlNTI1OTIifSx7bmFtZToiWWVsbG93IixsaWdodEhleDoiI2Y5YWIwMCIsZGFya0hleDoiI2Y5YWIwMCJ9LHtuYW1lOiJQdXJwbGUiLGxpZ2h0SGV4OiIjOTMzNGU2IixkYXJrSGV4OiIjOTMzNGU2In0se25hbWU6IkxpZ2h0IEdyZWVuIixsaWdodEhleDoiIzdjYjM0MiIsZGFya0hleDoiIzdjYjM0MiJ9LHtuYW1lOiJPcmFuZ2UiLGxpZ2h0SGV4OiIjZTg3MTBhIixkYXJrSGV4OiIjZTg3MTBhIn1dLGluYWN0aXZlOntuYW1lOiJHcmF5IixsaWdodEhleDoiI2UwZTBlMCIsZGFya0hleDoiIzNiM2IzYiJ9fX19LG1JPV9TKGRJKSxmST1iUyhtSSwodD0+dC5zdGF0ZSkpLHVJPWJTKG1JLCh0PT50LnNldHRpbmdzLnJlbG9hZEVuYWJsZWQpKSxnST1iUyhtSSwodD0+dC5zZXR0aW5ncy5yZWxvYWRQZXJpb2RJbk1zKSksaEk9YlMobUksKHQ9PnQuc2V0dGluZ3MucGFnZVNpemUpKSxiST1iUyhtSSwodD0+dC5zZXR0aW5ncy5jb2xvclBhbGV0dGUpKTtmdW5jdGlvbiB5SSh0LGUsbil7aWYoIWUpcmV0dXJuITA7bGV0IG87dHJ5e289bmV3IFJlZ0V4cChlLCJpIil9Y2F0Y2godCl7cmV0dXJuITF9Y29uc3QgaT1bdC5ydW5OYW1lXTtyZXR1cm4gbiYmaS5wdXNoKHQuZXhwZXJpbWVudEFsaWFzLmFsaWFzVGV4dCxgJHt0LmV4cGVyaW1lbnRBbGlhcy5hbGlhc1RleHR9LyR7dC5ydW5OYW1lfWApLGkuc29tZSgodD0+by50ZXN0KHQpKSl9Y29uc3QgX0k9YlMoKHQ9Pntjb25zdCBlPXhSKHQpO3JldHVybiBlP0p6KHQse2V4cGVyaW1lbnRJZHM6ZX0pOm51bGx9KSx0SSwodD0+e3ZhciBlO2NvbnN0IG49bnVsbCE9PShlPXhSKHQpKSYmdm9pZCAwIT09ZT9lOltdLG89T1IodCksaT1uZXcgTWFwO2Zvcihjb25zdCBlIG9mIG4pe2NvbnN0IG49cXoodCx7ZXhwZXJpbWVudElkOmV9KTtmb3IoY29uc3QgdCBvZiBuKWkuc2V0KHQuaWQse3J1bk5hbWU6dC5uYW1lLGV4cGVyaW1lbnRBbGlhczpvW2VdfSl9cmV0dXJuIGl9KSxNUiwoKHQsZSxuLG8pPT57aWYoIXQpcmV0dXJuIG51bGw7Y29uc3QgaT1vPT09X0QuQ09NUEFSRV9FWFBFUklNRU5ULGE9bmV3IE1hcDtmb3IoY29uc3RbbyxyXW9mIHQuZW50cmllcygpKXtjb25zdCB0PW4uZ2V0KG8pO2Euc2V0KG8seUkodCxlLGkpJiZyKX1yZXR1cm4gYX0pKSxDST1iUyhiSSxhSSxpSSxGRCwoKHQsZSxuLG8pPT57Y29uc3QgaT17fTtyZXR1cm4gZS5mb3JFYWNoKCgoZSxhKT0+e2xldCByPW8/dC5pbmFjdGl2ZS5kYXJrSGV4OnQuaW5hY3RpdmUubGlnaHRIZXg7aWYobi5oYXMoYSkpcj1uLmdldChhKTtlbHNlIGlmKGU+PTApe2NvbnN0IG49dC5jb2xvcnNbZSV0LmNvbG9ycy5sZW5ndGhdO3I9bz9uLmRhcmtIZXg6bi5saWdodEhleH1pW2FdPXJ9KSksaX0pKTtjbGFzcyBNSXtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5hY3Rpb25zJD10LHRoaXMuc3RvcmU9ZSx0aGlzLnJ1bnNEYXRhU291cmNlPW4sdGhpcy5sb2FkUnVuc09uUnVuVGFibGVTaG93biQ9V1MoKCgpPT50aGlzLmFjdGlvbnMkLnBpcGUoJFModlQpLCR0KCgoe2V4cGVyaW1lbnRJZHM6dH0pPT50aGlzLmdldEV4cGVyaW1lbnRzV2l0aExvYWRTdGF0ZSh0LCh0PT50PT09VUUuRkFJTEVEfHx0PT09VUUuTk9UX0xPQURFRCkpLnBpcGUodWUoKHQ9PiEhdC5sZW5ndGgpKSwkdCgoZT0+dGhpcy5mZXRjaEFsbFJ1bnNMaXN0KHQsZSkpKSkpKSkpLHtkaXNwYXRjaDohMX0pLHRoaXMuZXhwZXJpbWVudHNXaXRoU3RhbGVSdW5zT25Sb3V0ZUNoYW5nZSQ9dGhpcy5hY3Rpb25zJC5waXBlKCRTKHRSKSxxZSh0aGlzLnN0b3JlLnNlbGVjdChoUikpLHdlKCgoWyx0XSxbLGVdKT0+eEQodCxlKSkpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KHhSKSksdWUoKChbLHRdKT0+ISF0KSksVnQoKChbLHRdKT0+dCkpLCR0KCh0PT50aGlzLmdldEV4cGVyaW1lbnRzV2l0aExvYWRTdGF0ZSh0LCh0PT50PT09VUUuRkFJTEVEfHx0PT09VUUuTk9UX0xPQURFRCkpLnBpcGUoVnQoKGU9Pih7ZXhwZXJpbWVudElkczp0LGV4cGVyaW1lbnRJZHNUb0JlRmV0Y2hlZDplfSkpKSkpKSksdGhpcy5leHBlcmltZW50c1dpdGhTdGFsZVJ1bnNPblJlbG9hZCQ9dGhpcy5hY3Rpb25zJC5waXBlKCRTKFFFLEpFKSxxZSh0aGlzLnN0b3JlLnNlbGVjdCh4UikpLHVlKCgoWyx0XSk9PiEhdCkpLFZ0KCgoWyx0XSk9PnQpKSwkdCgodD0+dGhpcy5nZXRFeHBlcmltZW50c1dpdGhMb2FkU3RhdGUodCwodD0+dCE9PVVFLkxPQURJTkcpKS5waXBlKFZ0KChlPT4oe2V4cGVyaW1lbnRJZHM6dCxleHBlcmltZW50SWRzVG9CZUZldGNoZWQ6ZX0pKSkpKSkpLHRoaXMubG9hZFJ1bnNPbk5hdmlnYXRpb25PclJlbG9hZCQ9V1MoKCgpPT5wZSh0aGlzLmV4cGVyaW1lbnRzV2l0aFN0YWxlUnVuc09uUm91dGVDaGFuZ2UkLHRoaXMuZXhwZXJpbWVudHNXaXRoU3RhbGVSdW5zT25SZWxvYWQkKS5waXBlKCR0KCgoe2V4cGVyaW1lbnRJZHM6dCxleHBlcmltZW50SWRzVG9CZUZldGNoZWQ6ZX0pPT50aGlzLmZldGNoQWxsUnVuc0xpc3QodCxlKSkpKSkse2Rpc3BhdGNoOiExfSl9Z2V0UnVuc0xpc3RMb2FkU3RhdGUodCl7cmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEt6LHtleHBlcmltZW50SWQ6dH0pLnBpcGUodmUoMSkpfWdldEV4cGVyaW1lbnRzV2l0aExvYWRTdGF0ZSh0LGUpe3JldHVybiBpZSh0Lm1hcCgodD0+dGhpcy5nZXRSdW5zTGlzdExvYWRTdGF0ZSh0KSkpKS5waXBlKFZ0KChuPT50LmZpbHRlcigoKHQsbyk9PmUobltvXS5zdGF0ZSkpKSkpKX1mZXRjaEFsbFJ1bnNMaXN0KHQsZSl7cmV0dXJuIHp0KHtleHBlcmltZW50SWRzOnQsZXhwZXJpbWVudElkc1RvQmVGZXRjaGVkOmV9KS5waXBlKFdlKCgoKT0+e3RoaXMuc3RvcmUuZGlzcGF0Y2goZlQoe2V4cGVyaW1lbnRJZHM6dCxyZXF1ZXN0ZWRFeHBlcmltZW50SWRzOmV9KSl9KSksJHQoKCgpPT57Y29uc3Qgbj1uZXcgU2V0KGUpO3JldHVybiBpZSh0Lm1hcCgodD0+bi5oYXModCk/dGhpcy5mZXRjaFJ1bnNGb3JFeHBlcmltZW50KHQpOnRoaXMubWF5YmVXYWl0Rm9yUnVuc0FuZEdldFJ1bnModCkpKSl9KSksVnQoKHQ9Pntjb25zdCBlPXt9LG49W107Zm9yKGNvbnN0IG8gb2YgdCluLnB1c2goLi4uby5ydW5zKSxvLmZyb21SZW1vdGUmJihlW28uZXhwZXJpbWVudElkXT17cnVuczpvLnJ1bnMsbWV0YWRhdGE6by5tZXRhZGF0YX0pO3JldHVybntuZXdSdW5zQW5kTWV0YWRhdGE6ZSxydW5zRm9yQWxsRXhwZXJpbWVudHM6bn19KSksV2UoKCh7bmV3UnVuc0FuZE1ldGFkYXRhOmUscnVuc0ZvckFsbEV4cGVyaW1lbnRzOm59KT0+e3RoaXMuc3RvcmUuZGlzcGF0Y2godVQoe2V4cGVyaW1lbnRJZHM6dCxuZXdSdW5zQW5kTWV0YWRhdGE6ZSxydW5zRm9yQWxsRXhwZXJpbWVudHM6bn0pKX0pKSxoZSgobj0+KHRoaXMuc3RvcmUuZGlzcGF0Y2goZ1Qoe2V4cGVyaW1lbnRJZHM6dCxyZXF1ZXN0ZWRFeHBlcmltZW50SWRzOmV9KSksenQobnVsbCkpKSksVnQoKCgpPT5udWxsKSkpfW1heWJlV2FpdEZvclJ1bnNBbmRHZXRSdW5zKHQpe3JldHVybiB0aGlzLnN0b3JlLnNlbGVjdChLeix7ZXhwZXJpbWVudElkOnR9KS5waXBlKHVlKCh0PT50LnN0YXRlIT09VUUuTE9BRElORykpLHZlKDEpLCR0KCh0PT50LnN0YXRlPT09VUUuRkFJTEVEP0l0KG5ldyBFcnJvcigiUGVuZGluZyByZXF1ZXN0IGZhaWxlZCIpKTp6dCh0KSkpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KHF6LHtleHBlcmltZW50SWQ6dH0pKSxWdCgoKFssZV0pPT4oe2Zyb21SZW1vdGU6ITEsZXhwZXJpbWVudElkOnQscnVuczplfSkpKSl9ZmV0Y2hSdW5zRm9yRXhwZXJpbWVudCh0KXtyZXR1cm4gaWUoW3RoaXMucnVuc0RhdGFTb3VyY2UuZmV0Y2hSdW5zKHQpLHRoaXMucnVuc0RhdGFTb3VyY2UuZmV0Y2hIcGFyYW1zTWV0YWRhdGEodCldKS5waXBlKFZ0KCgoW2Usbl0pPT4oe2Zyb21SZW1vdGU6ITAsZXhwZXJpbWVudElkOnQscnVuczplLG1ldGFkYXRhOm59KSkpKX19dmFyIHZJLHhJO01JLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxNSSkoVHIoUVMpLFRyKGlTKSxUcihTVCkpfSxNSS7JtXByb3Y9U24oe3Rva2VuOk1JLGZhY3Rvcnk6TUkuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE1JLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpRU30se3R5cGU6aVN9LHt0eXBlOlNUfV19KSxudWxsKSwoZnVuY3Rpb24odCl7dC5BU0M9ImFzYyIsdC5ERVNDPSJkZXNjIix0LlVOU0VUPSIifSkodkl8fCh2ST17fSkpLChmdW5jdGlvbih0KXt0LkVYUEVSSU1FTlRfSUQ9ImlkIix0LlVTRVI9InVzZXIiLHQuQkVGT1JFPSJiZWZvcmUiLHQuQUZURVI9ImFmdGVyIix0LlJFR0VYPSJyZWdleCJ9KSh4SXx8KHhJPXt9KSk7Y29uc3R7aW5pdGlhbFN0YXRlOk9JLHJlZHVjZXJzOlBJfT1jQSh7cnVuQ29sb3JPdmVycmlkZUZvckdyb3VwQnk6bmV3IE1hcCxkZWZhdWx0UnVuQ29sb3JJZEZvckdyb3VwQnk6bmV3IE1hcCxncm91cEtleVRvQ29sb3JJZDpuZXcgTWFwLGluaXRpYWxHcm91cEJ5OntrZXk6THouUlVOfSx1c2VyU2V0R3JvdXBCeUtleTpudWxsLGNvbG9yR3JvdXBSZWdleFN0cmluZzoiIixyZWdleEZpbHRlcjoiIn0se3J1bklkczp7fSxydW5JZFRvRXhwSWQ6e30scnVuTWV0YWRhdGE6e30scnVuc0xvYWRTdGF0ZTp7fSxzZWxlY3Rpb25TdGF0ZTpuZXcgTWFwfSwoKHQsZSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7aW5pdGlhbEdyb3VwQnk6e2tleTplLnJvdXRlS2luZD09PV9ELkNPTVBBUkVfRVhQRVJJTUVOVD9Mei5FWFBFUklNRU5UOkx6LlJVTn19KSkpLHdJPVdBKFZTKE9JLEJTKEtELCgodCx7cm91dGVLaW5kOmUscGFydGlhbFN0YXRlOm59KT0+e3ZhciBvLGk7aWYoZSE9PV9ELkNPTVBBUkVfRVhQRVJJTUVOVCYmZSE9PV9ELkVYUEVSSU1FTlQpcmV0dXJuIHQ7Y29uc3QgYT1uLnJ1bnMuZ3JvdXBCeSxyPW51bGwhPT0obz1uLnJ1bnMucmVnZXhGaWx0ZXIpJiZ2b2lkIDAhPT1vP286IiI7aWYoIWEmJiFyKXJldHVybiB0O2xldHtjb2xvckdyb3VwUmVnZXhTdHJpbmc6cyx1c2VyU2V0R3JvdXBCeUtleTpsfT10O2lmKGEpe3M9YS5rZXk9PT1Mei5SRUdFWD9hLnJlZ2V4U3RyaW5nOnQuY29sb3JHcm91cFJlZ2V4U3RyaW5nLGw9bnVsbCE9PShpPWEua2V5KSYmdm9pZCAwIT09aT9pOm51bGx9cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7Y29sb3JHcm91cFJlZ2V4U3RyaW5nOnMscmVnZXhGaWx0ZXI6cix1c2VyU2V0R3JvdXBCeUtleTpsfSl9KSksQlMoZlQsKCh0LGUpPT57Y29uc3Qgbj1PYmplY3QuYXNzaWduKHt9LHQucnVuc0xvYWRTdGF0ZSk7Zm9yKGNvbnN0IHQgb2YgZS5yZXF1ZXN0ZWRFeHBlcmltZW50SWRzKW5bdF09blt0XT9PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sblt0XSkse3N0YXRlOlVFLkxPQURJTkd9KTp7bGFzdExvYWRlZFRpbWVJbk1zOm51bGwsc3RhdGU6VUUuTE9BRElOR307cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cnVuc0xvYWRTdGF0ZTpufSl9KSksQlModVQsKCh0LGUpPT57dmFyIG47Y29uc3Qgbz1PYmplY3QuYXNzaWduKHt9LHQucnVuSWRzKSxpPU9iamVjdC5hc3NpZ24oe30sdC5ydW5NZXRhZGF0YSksYT1PYmplY3QuYXNzaWduKHt9LHQucnVuSWRUb0V4cElkKSxyPU9iamVjdC5hc3NpZ24oe30sdC5ydW5zTG9hZFN0YXRlKSxzPW5ldyBNYXAodC5zZWxlY3Rpb25TdGF0ZSk7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMoZS5uZXdSdW5zQW5kTWV0YWRhdGEpKXtjb25zdHtydW5zOm4sbWV0YWRhdGE6c309ZS5uZXdSdW5zQW5kTWV0YWRhdGFbdF07b1t0XT1uLm1hcCgoKHtpZDp0fSk9PnQpKSxyW3RdPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxyW3RdKSx7bGFzdExvYWRlZFRpbWVJbk1zOkRhdGUubm93KCksc3RhdGU6VUUuTE9BREVEfSk7Zm9yKGNvbnN0IGUgb2Ygbil7Y29uc3Qgbj1zLnJ1blRvSHBhcmFtc0FuZE1ldHJpY3NbZS5pZF07aVtlLmlkXT1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse2hwYXJhbXM6bj9uLmhwYXJhbXM6bnVsbCxtZXRyaWNzOm4/bi5tZXRyaWNzOm51bGx9KSxhW2UuaWRdPXR9fWNvbnN0IGw9QnooZS5leHBlcmltZW50SWRzKSxjPW5ldyBNYXAobnVsbCE9PShuPXMuZ2V0KGwpKSYmdm9pZCAwIT09bj9uOltdKSxkPWUucnVuc0ZvckFsbEV4cGVyaW1lbnRzLmxlbmd0aDw9NTAwO2Zvcihjb25zdCB0IG9mIGUucnVuc0ZvckFsbEV4cGVyaW1lbnRzKWMuaGFzKHQuaWQpfHxjLnNldCh0LmlkLGQpO3JldHVybiBzLnNldChsLGMpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cnVuSWRzOm8scnVuSWRUb0V4cElkOmEscnVuTWV0YWRhdGE6aSxydW5zTG9hZFN0YXRlOnIsc2VsZWN0aW9uU3RhdGU6c30pfSkpLEJTKGdULCgodCxlKT0+e2NvbnN0IG49T2JqZWN0LmFzc2lnbih7fSx0LnJ1bnNMb2FkU3RhdGUpO2Zvcihjb25zdCB0IG9mIGUucmVxdWVzdGVkRXhwZXJpbWVudElkcyluW3RdPW5bdF0/T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG5bdF0pLHtzdGF0ZTpVRS5GQUlMRUR9KTp7bGFzdExvYWRlZFRpbWVJbk1zOm51bGwsc3RhdGU6VUUuRkFJTEVEfTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtydW5zTG9hZFN0YXRlOm59KX0pKSxCUyhoVCwoKHQse2V4cGVyaW1lbnRJZHM6ZSxydW5JZDpufSk9Pnt2YXIgbztjb25zdCBpPUJ6KGUpLGE9bmV3IE1hcCh0LnNlbGVjdGlvblN0YXRlKSxyPW5ldyBNYXAobnVsbCE9PShvPWEuZ2V0KGkpKSYmdm9pZCAwIT09bz9vOltdKTtyZXR1cm4gci5zZXQobiwhQm9vbGVhbihyLmdldChuKSkpLGEuc2V0KGksciksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZWxlY3Rpb25TdGF0ZTphfSl9KSksQlMoYlQsKCh0LHtleHBlcmltZW50SWRzOmUscnVuSWRzOm59KT0+e3ZhciBvO2NvbnN0IGk9QnooZSksYT1uZXcgTWFwKHQuc2VsZWN0aW9uU3RhdGUpLHI9bmV3IE1hcChudWxsIT09KG89YS5nZXQoaSkpJiZ2b2lkIDAhPT1vP286W10pLHM9IW4uZXZlcnkoKHQ9PkJvb2xlYW4oci5nZXQodCkpKSk7Zm9yKGNvbnN0IHQgb2YgbilyLnNldCh0LHMpO3JldHVybiBhLnNldChpLHIpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2VsZWN0aW9uU3RhdGU6YX0pfSkpLEJTKHVULCgodCx7cnVuc0ZvckFsbEV4cGVyaW1lbnRzOmV9KT0+e2NvbnN0IG49bmV3IE1hcCh0Lmdyb3VwS2V5VG9Db2xvcklkKSxvPW5ldyBNYXAodC5kZWZhdWx0UnVuQ29sb3JJZEZvckdyb3VwQnkpO2xldCBpPXQuaW5pdGlhbEdyb3VwQnk7bnVsbCE9PXQudXNlclNldEdyb3VwQnlLZXkmJihpPWp6KHQudXNlclNldEdyb3VwQnlLZXksdC5jb2xvckdyb3VwUmVnZXhTdHJpbmcpKTtjb25zdCBhPVZ6KGksZSx0LnJ1bklkVG9FeHBJZCk7T2JqZWN0LmVudHJpZXMoYS5tYXRjaGVzKS5mb3JFYWNoKCgoW3QsZV0pPT57dmFyIGk7Y29uc3QgYT1udWxsIT09KGk9bi5nZXQodCkpJiZ2b2lkIDAhPT1pP2k6bi5zaXplO24uc2V0KHQsYSk7Zm9yKGNvbnN0IHQgb2YgZSlvLnNldCh0LmlkLGEpfSkpO2Zvcihjb25zdCB0IG9mIGEubm9uTWF0Y2hlcylvLnNldCh0LmlkLC0xKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtkZWZhdWx0UnVuQ29sb3JJZEZvckdyb3VwQnk6byxncm91cEtleVRvQ29sb3JJZDpufSl9KSksQlMoeFQsKCh0LHtleHBlcmltZW50SWRzOmUsZ3JvdXBCeTpufSk9Pntjb25zdCBvPW5ldyBNYXAsaT1uZXcgTWFwKHQuZGVmYXVsdFJ1bkNvbG9ySWRGb3JHcm91cEJ5KSxhPVZ6KG4sZS5mbGF0TWFwKChlPT50LnJ1bklkc1tlXSkpLm1hcCgoZT0+dC5ydW5NZXRhZGF0YVtlXSkpLHQucnVuSWRUb0V4cElkKTtPYmplY3QuZW50cmllcyhhLm1hdGNoZXMpLmZvckVhY2goKChbdCxlXSk9Pnt2YXIgbjtjb25zdCBhPW51bGwhPT0obj1vLmdldCh0KSkmJnZvaWQgMCE9PW4/bjpvLnNpemU7by5zZXQodCxhKTtmb3IoY29uc3QgdCBvZiBlKWkuc2V0KHQuaWQsYSl9KSk7Zm9yKGNvbnN0IHQgb2YgYS5ub25NYXRjaGVzKWkuc2V0KHQuaWQsLTEpO2NvbnN0IHI9bi5rZXk9PT1Mei5SRUdFWD9uLnJlZ2V4U3RyaW5nOnQuY29sb3JHcm91cFJlZ2V4U3RyaW5nO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2NvbG9yR3JvdXBSZWdleFN0cmluZzpyLHVzZXJTZXRHcm91cEJ5S2V5Om4ua2V5LGRlZmF1bHRSdW5Db2xvcklkRm9yR3JvdXBCeTppLGdyb3VwS2V5VG9Db2xvcklkOm8scnVuQ29sb3JPdmVycmlkZUZvckdyb3VwQnk6bmV3IE1hcH0pfSkpLEJTKE1ULCgodCx7cnVuSWQ6ZSxuZXdDb2xvcjpufSk9Pntjb25zdCBvPW5ldyBNYXAodC5ydW5Db2xvck92ZXJyaWRlRm9yR3JvdXBCeSk7cmV0dXJuIG8uc2V0KGUsbiksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtydW5Db2xvck92ZXJyaWRlRm9yR3JvdXBCeTpvfSl9KSksQlMoQ1QsKCh0LGUpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3JlZ2V4RmlsdGVyOmUucmVnZXhTdHJpbmd9KSkpKSxQSSksa0k9e2tleTpudWxsLGRpcmVjdGlvbjp2SS5VTlNFVH0se2luaXRpYWxTdGF0ZTpTSSxyZWR1Y2VyczpESX09Y0Eoe3BhZ2luYXRpb25PcHRpb246e3BhZ2VJbmRleDowLHBhZ2VTaXplOjEwfSxzb3J0OmtJfSx7fSksUkk9V0EoVlMoU0ksQlMoeVQsKCh0LHtwYWdlU2l6ZTplLHBhZ2VJbmRleDpufSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cGFnaW5hdGlvbk9wdGlvbjp7cGFnZVNpemU6ZSxwYWdlSW5kZXg6bn19KSkpLEJTKENULCgodCxlKT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtwYWdpbmF0aW9uT3B0aW9uOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnBhZ2luYXRpb25PcHRpb24pLHtwYWdlSW5kZXg6MH0pfSkpKSxCUyhfVCwoKHQsZSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c29ydDp7a2V5OmUua2V5LGRpcmVjdGlvbjplLmRpcmVjdGlvbn19KSkpKSxESSk7ZnVuY3Rpb24gRUkodCxlKXtyZXR1cm4gR2soe2RhdGE6d0ksdWk6Ukl9KSh0LGUpfWZ1bmN0aW9uIEFJKCl7cmV0dXJuW3thY3Rpb25DcmVhdG9yOmdULGFsZXJ0RnJvbUFjdGlvbjooKT0+KHtsb2NhbGl6ZWRNZXNzYWdlOiJGYWlsZWQgdG8gZmV0Y2ggcnVucyJ9KX1dfWNsYXNzIFRJe312YXIgTkk7VEkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFRJKX0sVEkuybVtb2Q9Zm8oe3R5cGU6VEl9KSxUSS7JtWluaj1Ebih7aW1wb3J0czpbW1RTLmZvckZlYXR1cmUoSHosRUkpLGhELmZvckZlYXR1cmUoW01JXSksalQsbVQucmVnaXN0ZXJBbGVydEFjdGlvbnMoQUkpLExUXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFRJLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbVFMuZm9yRmVhdHVyZShIeixFSSksaEQuZm9yRmVhdHVyZShbTUldKSxqVCxtVC5yZWdpc3RlckFsZXJ0QWN0aW9ucyhBSSksTFRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oVEkse2ltcG9ydHM6W0FTLGdELGpULG1ULExUXX0pLChmdW5jdGlvbih0KXt0LlJVTlNfQ0hBTkdFRD0iZXhwZXJpbWVudGFsLlJ1bnNDaGFuZ2VkIix0LkdFVF9SVU5TPSJleHBlcmltZW50YWwuR2V0UnVucyIsdC5HRVRfVVJMX0RBVEE9ImV4cGVyaW1lbnRhbC5HZXRVUkxQbHVnaW5EYXRhIix0LkRBVEFfUkVMT0FERUQ9ImV4cGVyaW1lbnRhbC5EYXRhUmVsb2FkZWQifSkoTkl8fChOST17fSkpO2NsYXNzIHpJe2NvbnN0cnVjdG9yKHQpe3RoaXMucG9ydD10LHRoaXMuaWQ9MCx0aGlzLnJlc3BvbnNlV2FpdHM9bmV3IE1hcCx0aGlzLmxpc3RlbmVycz1uZXcgTWFwLHRoaXMucG9ydC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwodD0+dGhpcy5vbk1lc3NhZ2UodCkpKX1saXN0ZW4odCxlKXt0aGlzLmxpc3RlbmVycy5zZXQodCxlKX11bmxpc3Rlbih0KXt0aGlzLmxpc3RlbmVycy5kZWxldGUodCl9b25NZXNzYWdlKHQpe3JldHVybiBYVCh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0IGU9SlNPTi5wYXJzZSh0LmRhdGEpLG49ZS50eXBlLG89ZS5pZCxpPWUucGF5bG9hZCxhPWUuZXJyb3I7aWYoZS5pc1JlcGx5KXtpZighdGhpcy5yZXNwb25zZVdhaXRzLmhhcyhvKSlyZXR1cm47Y29uc3R7cmVzb2x2ZTp0LHJlamVjdDplfT10aGlzLnJlc3BvbnNlV2FpdHMuZ2V0KG8pO3JldHVybiB0aGlzLnJlc3BvbnNlV2FpdHMuZGVsZXRlKG8pLHZvaWQoYT9lKG5ldyBFcnJvcihhKSk6dChpKSl9bGV0IHI9bnVsbCxzPW51bGw7aWYodGhpcy5saXN0ZW5lcnMuaGFzKG4pKXtjb25zdCB0PXRoaXMubGlzdGVuZXJzLmdldChuKTt0cnl7cj15aWVsZCB0KGkpfWNhdGNoKHQpe3M9dH19dGhpcy5wb3N0TWVzc2FnZSh7dHlwZTpuLGlkOm8scGF5bG9hZDpyLGVycm9yOnMsaXNSZXBseTohMH0pfSkpfXBvc3RNZXNzYWdlKHQpe3RoaXMucG9ydC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh0KSl9c2VuZE1lc3NhZ2UodCxlKXtjb25zdCBuPXRoaXMuaWQrKztyZXR1cm4gdGhpcy5wb3N0TWVzc2FnZSh7dHlwZTp0LGlkOm4scGF5bG9hZDplLGVycm9yOm51bGwsaXNSZXBseTohMX0pLG5ldyBQcm9taXNlKCgodCxlKT0+e3RoaXMucmVzcG9uc2VXYWl0cy5zZXQobix7cmVzb2x2ZTp0LHJlamVjdDplfSl9KSl9fWNvbnN0IElJPW5ldyBXZWFrTWFwLEhJPW5ldyBTZXQsRkk9bmV3IE1hcCxMST1uZXcgTWFwO2Z1bmN0aW9uIEJJKHQsZSl7cmV0dXJuIG49Pntjb25zdCBvPUxJLmdldChlKSxpPUlJLmdldChvKXx8bnVsbDtyZXR1cm4gdChpLG4pfX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKHQ9PntpZigiZXhwZXJpbWVudGFsLmJvb3RzdHJhcCIhPT10LmRhdGEpcmV0dXJuO2NvbnN0IGU9dC5wb3J0c1swXTtpZighZSlyZXR1cm47Y29uc3Qgbj10LnNvdXJjZT90LnNvdXJjZS5mcmFtZUVsZW1lbnQ6bnVsbDtuJiYoZnVuY3Rpb24gbyh0LGUpe2NvbnN0IG49bmV3IHpJKHQpO0hJLmFkZChuKSxMSS5zZXQobixlKSx0LnN0YXJ0KCk7Zm9yKGNvbnN0W3QsZV1vZiBGSSl7Y29uc3Qgbz1CSShlLG4pO24ubGlzdGVuKHQsbyl9fSkoZSxuKX0pKTtjbGFzcyBWSXticm9hZGNhc3QodCxlKXtyZXR1cm4oZnVuY3Rpb24gbih0LGUpe2Zvcihjb25zdCB0IG9mIEhJKUxJLmdldCh0KS5pc0Nvbm5lY3RlZHx8KEhJLmRlbGV0ZSh0KSxMSS5kZWxldGUodCkpO2NvbnN0IG49Wy4uLkhJXS5tYXAoKG49Pm4uc2VuZE1lc3NhZ2UodCxlKSkpO3JldHVybiBQcm9taXNlLmFsbChuKX0pKHQsZSl9bGlzdGVuKHQsZSl7IShmdW5jdGlvbiBuKHQsZSl7Rkkuc2V0KHQsZSk7Zm9yKGNvbnN0IG4gb2YgSEkpe2NvbnN0IG89QkkoZSxuKTtuLmxpc3Rlbih0LG8pfX0pKHQsZSl9dW5saXN0ZW4odCl7IShmdW5jdGlvbiBlKHQpe0ZJLmRlbGV0ZSh0KTtmb3IoY29uc3QgZSBvZiBISSllLnVubGlzdGVuKHQpfSkodCl9fVZJLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxWSSl9LFZJLsm1cHJvdj1Tbih7dG9rZW46VkksZmFjdG9yeTpWSS7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVkksW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjbGFzcyBqSXtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuaXBjPXQsdGhpcy5zdG9yZT1lfWluaXQoKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRmLXN0b3JhZ2UiKTt0aGlzLmlwYy5saXN0ZW4oTkkuR0VUX1VSTF9EQVRBLChlPT57aWYoIWUpcmV0dXJuO2NvbnN0IG49YHAuJHtlLnBsdWdpbk5hbWV9LmAsbz17fSxpPXQudGZfc3RvcmFnZS5nZXRVcmxIYXNoRGljdCgpO2ZvcihsZXQgdCBpbiBpKWlmKHQuc3RhcnRzV2l0aChuKSl7b1t0LnN1YnN0cmluZyhuLmxlbmd0aCldPWlbdF19cmV0dXJuIG99KSksdGhpcy5zdG9yZS5zZWxlY3QodFQpLnBpcGUodWUoKHQ9Pm51bGwhPT10KSksd2UoKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuaXBjLmJyb2FkY2FzdChOSS5EQVRBX1JFTE9BREVELHZvaWQgMCl9KSl9fWpJLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxqSSkoVHIoVkkpLFRyKGlTKSl9LGpJLsm1cHJvdj1Tbih7dG9rZW46akksZmFjdG9yeTpqSS7JtWZhYyxwcm92aWRlZEluOiJyb290In0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoakksW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlZJfSx7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgVUl7Y29uc3RydWN0b3IodCxlKXt0aGlzLmlwYz10LHRoaXMuc3RvcmU9ZX1pbml0KCl7Y29uc3QgdD10aGlzLnN0b3JlLnNlbGVjdCh4UikucGlwZSgkdCgodD0+e2lmKCF0KXJldHVybiB6dChbXSk7cmV0dXJuIEt0KHQubWFwKCh0PT50aGlzLnN0b3JlLnNlbGVjdChxeix7ZXhwZXJpbWVudElkOnR9KSkpKS5waXBlKFZ0KCh0PT50LmZsYXQoKSkpLHdlKCgodCxlKT0+dC5sZW5ndGg9PT1lLmxlbmd0aCYmdC5ldmVyeSgoKHQsbik9PmVbbl0uaWQ9PT10LmlkKSkpKSxWdCgodD0+dC5tYXAoKCh7bmFtZTp0fSk9PnQpKSkpKX0pKSk7dC5zdWJzY3JpYmUoKHQ9Pnt0aGlzLmlwYy5icm9hZGNhc3QoTkkuUlVOU19DSEFOR0VELHQpfSkpLHRoaXMuaXBjLmxpc3RlbihOSS5HRVRfUlVOUywoKCk9PnQucGlwZSh2ZSgxKSkudG9Qcm9taXNlKCkpKX19VUkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFVJKShUcihWSSksVHIoaVMpKX0sVUkuybVwcm92PVNuKHt0b2tlbjpVSSxmYWN0b3J5OlVJLsm1ZmFjLHByb3ZpZGVkSW46InJvb3QifSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihVSSxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6Vkl9LHt0eXBlOmlTfV19KSxudWxsKTtjbGFzcyBXSXtjb25zdHJ1Y3Rvcih0LGUpe2UuaW5pdCgpLHQuaW5pdCgpfXJlZ2lzdGVyUGx1Z2luSWZyYW1lKHQsZSl7IShmdW5jdGlvbiBuKHQsZSl7SUkuc2V0KHQse3BsdWdpbk5hbWU6ZX0pfSkodCxlKX19V0kuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFdJKShUcihVSSksVHIoakkpKX0sV0kuybVtb2Q9Zm8oe3R5cGU6V0l9KSxXSS7JtWluaj1Ebih7cHJvdmlkZXJzOltWSSxqSSxVSV0saW1wb3J0czpbW1JSLGRULFRJXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFdJLFt7dHlwZTpMXyxhcmdzOlt7cHJvdmlkZXJzOltWSSxqSSxVSV0saW1wb3J0czpbUlIsZFQsVEldfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6VUl9LHt0eXBlOmpJfV19KSxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFdJLHtpbXBvcnRzOltSUixkVCxUSV19KTtjb25zdCBHST1faygiW0FsZXJ0XSBBbGVydCBSZXBvcnRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pO2NsYXNzIFlJe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmFjdGlvbnMkPXQsdGhpcy5zdG9yZT1lLHRoaXMuYWxlcnRBY3Rpb25Nb2R1bGU9bix0aGlzLnJlcG9ydFJlZ2lzdGVyZWRBY3Rpb25BbGVydHMkPVdTKCgoKT0+dGhpcy5hY3Rpb25zJC5waXBlKFdlKCh0PT57Y29uc3QgZT10aGlzLmFsZXJ0QWN0aW9uTW9kdWxlLmdldEFsZXJ0RnJvbUFjdGlvbih0KTtlJiZ0aGlzLnN0b3JlLmRpc3BhdGNoKEdJKGUpKX0pKSkpLHtkaXNwYXRjaDohMX0pfX1ZSS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WUkpKFRyKFFTKSxUcihpUyksVHIobVQpKX0sWUkuybVwcm92PVNuKHt0b2tlbjpZSSxmYWN0b3J5OllJLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihZSSxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UVN9LHt0eXBlOmlTfSx7dHlwZTptVH1dfSksbnVsbCk7Y29uc3QgcUk9VlMoe2xhdGVzdEFsZXJ0Om51bGx9LEJTKEdJLCgodCx7bG9jYWxpemVkTWVzc2FnZTplLGZvbGxvd3VwQWN0aW9uOm59KT0+e2NvbnN0IG89e2xvY2FsaXplZE1lc3NhZ2U6ZSxjcmVhdGVkOkRhdGUubm93KCl9O3JldHVybiBuJiYoby5mb2xsb3d1cEFjdGlvbj1uKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2xhdGVzdEFsZXJ0Om99KX0pKSk7ZnVuY3Rpb24gWkkodCxlKXtyZXR1cm4gcUkodCxlKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgWEk9MTMsS0k9MjcsSkk9MzIsUUk9MzgsJEk9NDA7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiB0SCh0LC4uLmUpe3JldHVybiBlLmxlbmd0aD9lLnNvbWUoKGU9PnRbZV0pKTp0LmFsdEtleXx8dC5zaGlmdEtleXx8dC5jdHJsS2V5fHx0Lm1ldGFLZXl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIGVIKHQpe3JldHVybiBudWxsIT10JiYiZmFsc2UiIT1gJHt0fWB9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIG5IKHQsZT0wKXtyZXR1cm4gb0godCk/TnVtYmVyKHQpOmV9ZnVuY3Rpb24gb0godCl7cmV0dXJuIWlzTmFOKHBhcnNlRmxvYXQodCkpJiYhaXNOYU4oTnVtYmVyKHQpKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gaUgodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dDpbdF19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIGFIKHQpe3JldHVybiBudWxsPT10PyIiOiJzdHJpbmciPT10eXBlb2YgdD90OmAke3R9cHhgfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBySCh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIEtoP3QubmF0aXZlRWxlbWVudDp0fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9sZXQgc0gsbEg7dHJ5e3NIPSJ1bmRlZmluZWQiIT10eXBlb2YgSW50bCYmSW50bC52OEJyZWFrSXRlcmF0b3J9Y2F0Y2gobUN0KXtzSD0hMX1jbGFzcyBjSHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9wbGF0Zm9ybUlkPXQsdGhpcy5pc0Jyb3dzZXI9dGhpcy5fcGxhdGZvcm1JZD8oZnVuY3Rpb24gZSh0KXtyZXR1cm4gdD09PXN4fSkodGhpcy5fcGxhdGZvcm1JZCk6Im9iamVjdCI9PXR5cGVvZiBkb2N1bWVudCYmISFkb2N1bWVudCx0aGlzLkVER0U9dGhpcy5pc0Jyb3dzZXImJi8oZWRnZSkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHRoaXMuVFJJREVOVD10aGlzLmlzQnJvd3NlciYmLyhtc2llfHRyaWRlbnQpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx0aGlzLkJMSU5LPXRoaXMuaXNCcm93c2VyJiYhKCF3aW5kb3cuY2hyb21lJiYhc0gpJiYidW5kZWZpbmVkIiE9dHlwZW9mIENTUyYmIXRoaXMuRURHRSYmIXRoaXMuVFJJREVOVCx0aGlzLldFQktJVD10aGlzLmlzQnJvd3NlciYmL0FwcGxlV2ViS2l0L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmIXRoaXMuQkxJTksmJiF0aGlzLkVER0UmJiF0aGlzLlRSSURFTlQsdGhpcy5JT1M9dGhpcy5pc0Jyb3dzZXImJi9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiYhKCJNU1N0cmVhbSJpbiB3aW5kb3cpLHRoaXMuRklSRUZPWD10aGlzLmlzQnJvd3NlciYmLyhmaXJlZm94fG1pbmVmaWVsZCkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHRoaXMuQU5EUk9JRD10aGlzLmlzQnJvd3NlciYmL2FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiYhdGhpcy5UUklERU5ULHRoaXMuU0FGQVJJPXRoaXMuaXNCcm93c2VyJiYvc2FmYXJpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmdGhpcy5XRUJLSVR9fWNILsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxjSCkoVHIoWF8pKX0sY0guybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IGNIKFRyKFhfKSl9LHRva2VuOmNILHByb3ZpZGVkSW46InJvb3QifSksY0guY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpPYmplY3QsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbWF9dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGNILFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpPYmplY3QsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbWF9dfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgZEh7fWRILsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxkSCl9LGRILsm1bW9kPWZvKHt0eXBlOmRIfSksZEguybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZEgsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLG51bGwsbnVsbCk7Y29uc3QgcEg9WyJjb2xvciIsImJ1dHRvbiIsImNoZWNrYm94IiwiZGF0ZSIsImRhdGV0aW1lLWxvY2FsIiwiZW1haWwiLCJmaWxlIiwiaGlkZGVuIiwiaW1hZ2UiLCJtb250aCIsIm51bWJlciIsInBhc3N3b3JkIiwicmFkaW8iLCJyYW5nZSIsInJlc2V0Iiwic2VhcmNoIiwic3VibWl0IiwidGVsIiwidGV4dCIsInRpbWUiLCJ1cmwiLCJ3ZWVrIl07ZnVuY3Rpb24gbUgoKXtpZihsSClyZXR1cm4gbEg7aWYoIm9iamVjdCIhPXR5cGVvZiBkb2N1bWVudHx8IWRvY3VtZW50KXJldHVybiBsSD1uZXcgU2V0KHBIKSxsSDtsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO3JldHVybiBsSD1uZXcgU2V0KHBILmZpbHRlcigoZT0+KHQuc2V0QXR0cmlidXRlKCJ0eXBlIixlKSx0LnR5cGU9PT1lKSkpKSxsSH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovbGV0IGZILHVILGdILGhIO2Z1bmN0aW9uIGJIKHQpe3JldHVybihmdW5jdGlvbiBlKCl7aWYobnVsbD09ZkgmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93KXRyeXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCxPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6KCk9PmZIPSEwfSkpfWZpbmFsbHl7Zkg9Zkh8fCExfXJldHVybiBmSH0pKCk/dDohIXQuY2FwdHVyZX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24geUgoKXtpZihudWxsPT1nSCl7aWYoIm9iamVjdCIhPXR5cGVvZiBkb2N1bWVudHx8IWRvY3VtZW50fHwiZnVuY3Rpb24iIT10eXBlb2YgRWxlbWVudHx8IUVsZW1lbnQpcmV0dXJuIGdIPSExLGdIO2lmKCJzY3JvbGxCZWhhdmlvciJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUpZ0g9ITA7ZWxzZXtjb25zdCB0PUVsZW1lbnQucHJvdG90eXBlLnNjcm9sbFRvO2dIPSEhdCYmIS9ce1xzKlxbbmF0aXZlIGNvZGVcXVxzKlx9Ly50ZXN0KHQudG9TdHJpbmcoKSl9fXJldHVybiBnSH1mdW5jdGlvbiBfSCgpe2lmKCJvYmplY3QiIT10eXBlb2YgZG9jdW1lbnR8fCFkb2N1bWVudClyZXR1cm4gMDtpZihudWxsPT11SCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxlPXQuc3R5bGU7dC5kaXI9InJ0bCIsZS53aWR0aD0iMXB4IixlLm92ZXJmbG93PSJhdXRvIixlLnZpc2liaWxpdHk9ImhpZGRlbiIsZS5wb2ludGVyRXZlbnRzPSJub25lIixlLnBvc2l0aW9uPSJhYnNvbHV0ZSI7Y29uc3Qgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxvPW4uc3R5bGU7by53aWR0aD0iMnB4IixvLmhlaWdodD0iMXB4Iix0LmFwcGVuZENoaWxkKG4pLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCksdUg9MCwwPT09dC5zY3JvbGxMZWZ0JiYodC5zY3JvbGxMZWZ0PTEsdUg9MD09PXQuc2Nyb2xsTGVmdD8xOjIpLHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KX1yZXR1cm4gdUh9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIENIKHQpe2lmKChmdW5jdGlvbiBlKCl7aWYobnVsbD09aEgpe2NvbnN0IHQ9InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudD9kb2N1bWVudC5oZWFkOm51bGw7aEg9ISghdHx8IXQuY3JlYXRlU2hhZG93Um9vdCYmIXQuYXR0YWNoU2hhZG93KX1yZXR1cm4gaEh9KSgpKXtjb25zdCBlPXQuZ2V0Um9vdE5vZGU/dC5nZXRSb290Tm9kZSgpOm51bGw7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBTaGFkb3dSb290JiZTaGFkb3dSb290JiZlIGluc3RhbmNlb2YgU2hhZG93Um9vdClyZXR1cm4gZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBNSCgpe2xldCB0PSJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50P2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ6bnVsbDtmb3IoO3QmJnQuc2hhZG93Um9vdDspe2NvbnN0IGU9dC5zaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQ7aWYoZT09PXQpYnJlYWs7dD1lfXJldHVybiB0fWZ1bmN0aW9uIHZIKHQpe3JldHVybiB0LmNvbXBvc2VkUGF0aD90LmNvbXBvc2VkUGF0aCgpWzBdOnQudGFyZ2V0fWNsYXNzIHhIe2NyZWF0ZSh0KXtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXI/bnVsbDpuZXcgTXV0YXRpb25PYnNlcnZlcih0KX19eEguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHhIKX0seEguybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IHhIfSx0b2tlbjp4SCxwcm92aWRlZEluOiJyb290In0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeEgsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sbnVsbCxudWxsKTtjbGFzcyBPSHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9tdXRhdGlvbk9ic2VydmVyRmFjdG9yeT10LHRoaXMuX29ic2VydmVkRWxlbWVudHM9bmV3IE1hcH1uZ09uRGVzdHJveSgpe3RoaXMuX29ic2VydmVkRWxlbWVudHMuZm9yRWFjaCgoKHQsZSk9PnRoaXMuX2NsZWFudXBPYnNlcnZlcihlKSkpfW9ic2VydmUodCl7Y29uc3QgZT1ySCh0KTtyZXR1cm4gbmV3IFQoKHQ9Pntjb25zdCBuPXRoaXMuX29ic2VydmVFbGVtZW50KGUpLnN1YnNjcmliZSh0KTtyZXR1cm4oKT0+e24udW5zdWJzY3JpYmUoKSx0aGlzLl91bm9ic2VydmVFbGVtZW50KGUpfX0pKX1fb2JzZXJ2ZUVsZW1lbnQodCl7aWYodGhpcy5fb2JzZXJ2ZWRFbGVtZW50cy5oYXModCkpdGhpcy5fb2JzZXJ2ZWRFbGVtZW50cy5nZXQodCkuY291bnQrKztlbHNle2NvbnN0IGU9bmV3IEIsbj10aGlzLl9tdXRhdGlvbk9ic2VydmVyRmFjdG9yeS5jcmVhdGUoKHQ9PmUubmV4dCh0KSkpO24mJm4ub2JzZXJ2ZSh0LHtjaGFyYWN0ZXJEYXRhOiEwLGNoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSksdGhpcy5fb2JzZXJ2ZWRFbGVtZW50cy5zZXQodCx7b2JzZXJ2ZXI6bixzdHJlYW06ZSxjb3VudDoxfSl9cmV0dXJuIHRoaXMuX29ic2VydmVkRWxlbWVudHMuZ2V0KHQpLnN0cmVhbX1fdW5vYnNlcnZlRWxlbWVudCh0KXt0aGlzLl9vYnNlcnZlZEVsZW1lbnRzLmhhcyh0KSYmKHRoaXMuX29ic2VydmVkRWxlbWVudHMuZ2V0KHQpLmNvdW50LS0sdGhpcy5fb2JzZXJ2ZWRFbGVtZW50cy5nZXQodCkuY291bnR8fHRoaXMuX2NsZWFudXBPYnNlcnZlcih0KSl9X2NsZWFudXBPYnNlcnZlcih0KXtpZih0aGlzLl9vYnNlcnZlZEVsZW1lbnRzLmhhcyh0KSl7Y29uc3R7b2JzZXJ2ZXI6ZSxzdHJlYW06bn09dGhpcy5fb2JzZXJ2ZWRFbGVtZW50cy5nZXQodCk7ZSYmZS5kaXNjb25uZWN0KCksbi5jb21wbGV0ZSgpLHRoaXMuX29ic2VydmVkRWxlbWVudHMuZGVsZXRlKHQpfX19T0guybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE9IKShUcih4SCkpfSxPSC7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgT0goVHIoeEgpKX0sdG9rZW46T0gscHJvdmlkZWRJbjoicm9vdCJ9KSxPSC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnhIfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPSCxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6eEh9XX0pLG51bGwpO2NsYXNzIFBIe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9jb250ZW50T2JzZXJ2ZXI9dCx0aGlzLl9lbGVtZW50UmVmPWUsdGhpcy5fbmdab25lPW4sdGhpcy5ldmVudD1uZXcgU3ksdGhpcy5fZGlzYWJsZWQ9ITEsdGhpcy5fY3VycmVudFN1YnNjcmlwdGlvbj1udWxsfWdldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLl9kaXNhYmxlZH1zZXQgZGlzYWJsZWQodCl7dGhpcy5fZGlzYWJsZWQ9ZUgodCksdGhpcy5fZGlzYWJsZWQ/dGhpcy5fdW5zdWJzY3JpYmUoKTp0aGlzLl9zdWJzY3JpYmUoKX1nZXQgZGVib3VuY2UoKXtyZXR1cm4gdGhpcy5fZGVib3VuY2V9c2V0IGRlYm91bmNlKHQpe3RoaXMuX2RlYm91bmNlPW5IKHQpLHRoaXMuX3N1YnNjcmliZSgpfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX2N1cnJlbnRTdWJzY3JpcHRpb258fHRoaXMuZGlzYWJsZWR8fHRoaXMuX3N1YnNjcmliZSgpfW5nT25EZXN0cm95KCl7dGhpcy5fdW5zdWJzY3JpYmUoKX1fc3Vic2NyaWJlKCl7dGhpcy5fdW5zdWJzY3JpYmUoKTtjb25zdCB0PXRoaXMuX2NvbnRlbnRPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYpO3RoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9jdXJyZW50U3Vic2NyaXB0aW9uPSh0aGlzLmRlYm91bmNlP3QucGlwZShDZSh0aGlzLmRlYm91bmNlKSk6dCkuc3Vic2NyaWJlKHRoaXMuZXZlbnQpfSkpfV91bnN1YnNjcmliZSgpe3ZhciB0O251bGw9PT0odD10aGlzLl9jdXJyZW50U3Vic2NyaXB0aW9uKXx8dm9pZCAwPT09dHx8dC51bnN1YnNjcmliZSgpfX1QSC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UEgpKGdmKE9IKSxnZihLaCksZ2YobUMpKX0sUEguybVkaXI9aG8oe3R5cGU6UEgsc2VsZWN0b3JzOltbIiIsImNka09ic2VydmVDb250ZW50IiwiIl1dLGlucHV0czp7ZGlzYWJsZWQ6WyJjZGtPYnNlcnZlQ29udGVudERpc2FibGVkIiwiZGlzYWJsZWQiXSxkZWJvdW5jZToiZGVib3VuY2UifSxvdXRwdXRzOntldmVudDoiY2RrT2JzZXJ2ZUNvbnRlbnQifSxleHBvcnRBczpbImNka09ic2VydmVDb250ZW50Il19KSxQSC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOk9IfSx7dHlwZTpLaH0se3R5cGU6bUN9XSxQSC5wcm9wRGVjb3JhdG9ycz17ZXZlbnQ6W3t0eXBlOkVfLGFyZ3M6WyJjZGtPYnNlcnZlQ29udGVudCJdfV0sZGlzYWJsZWQ6W3t0eXBlOlJfLGFyZ3M6WyJjZGtPYnNlcnZlQ29udGVudERpc2FibGVkIl19XSxkZWJvdW5jZTpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihQSCxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbY2RrT2JzZXJ2ZUNvbnRlbnRdIixleHBvcnRBczoiY2RrT2JzZXJ2ZUNvbnRlbnQifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6T0h9LHt0eXBlOktofSx7dHlwZTptQ31dfSkse2V2ZW50Olt7dHlwZTpFXyxhcmdzOlsiY2RrT2JzZXJ2ZUNvbnRlbnQiXX1dLGRpc2FibGVkOlt7dHlwZTpSXyxhcmdzOlsiY2RrT2JzZXJ2ZUNvbnRlbnREaXNhYmxlZCJdfV0sZGVib3VuY2U6W3t0eXBlOlJffV19KTtjbGFzcyB3SHt9d0guybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHdIKX0sd0guybVtb2Q9Zm8oe3R5cGU6d0h9KSx3SC7JtWluaj1Ebih7cHJvdmlkZXJzOlt4SF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHdILFt7dHlwZTpMXyxhcmdzOlt7ZXhwb3J0czpbUEhdLGRlY2xhcmF0aW9uczpbUEhdLHByb3ZpZGVyczpbeEhdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8od0gse2RlY2xhcmF0aW9uczpbUEhdLGV4cG9ydHM6W1BIXX0pO2Z1bmN0aW9uIGtIKHQsZSl7cmV0dXJuKHQuZ2V0QXR0cmlidXRlKGUpfHwiIikubWF0Y2goL1xTKy9nKXx8W119Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFNIPSJjZGstZGVzY3JpYmVkYnktbWVzc2FnZS1jb250YWluZXIiLERIPSJjZGstZGVzY3JpYmVkYnktbWVzc2FnZSIsUkg9ImNkay1kZXNjcmliZWRieS1ob3N0IjtsZXQgRUg9MDtjb25zdCBBSD1uZXcgTWFwO2xldCBUSD1udWxsO2NsYXNzIE5Ie2NvbnN0cnVjdG9yKHQpe3RoaXMuX2RvY3VtZW50PXR9ZGVzY3JpYmUodCxlLG4pe2lmKCF0aGlzLl9jYW5CZURlc2NyaWJlZCh0LGUpKXJldHVybjtjb25zdCBvPXpIKGUsbik7InN0cmluZyIhPXR5cGVvZiBlPyhJSChlKSxBSC5zZXQobyx7bWVzc2FnZUVsZW1lbnQ6ZSxyZWZlcmVuY2VDb3VudDowfSkpOkFILmhhcyhvKXx8dGhpcy5fY3JlYXRlTWVzc2FnZUVsZW1lbnQoZSxuKSx0aGlzLl9pc0VsZW1lbnREZXNjcmliZWRCeU1lc3NhZ2UodCxvKXx8dGhpcy5fYWRkTWVzc2FnZVJlZmVyZW5jZSh0LG8pfXJlbW92ZURlc2NyaXB0aW9uKHQsZSxuKXtpZighZXx8IXRoaXMuX2lzRWxlbWVudE5vZGUodCkpcmV0dXJuO2NvbnN0IG89ekgoZSxuKTtpZih0aGlzLl9pc0VsZW1lbnREZXNjcmliZWRCeU1lc3NhZ2UodCxvKSYmdGhpcy5fcmVtb3ZlTWVzc2FnZVJlZmVyZW5jZSh0LG8pLCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1BSC5nZXQobyk7dCYmMD09PXQucmVmZXJlbmNlQ291bnQmJnRoaXMuX2RlbGV0ZU1lc3NhZ2VFbGVtZW50KG8pfVRIJiYwPT09VEguY2hpbGROb2Rlcy5sZW5ndGgmJnRoaXMuX2RlbGV0ZU1lc3NhZ2VzQ29udGFpbmVyKCl9bmdPbkRlc3Ryb3koKXtjb25zdCB0PXRoaXMuX2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltjZGstZGVzY3JpYmVkYnktaG9zdF0iKTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl0aGlzLl9yZW1vdmVDZGtEZXNjcmliZWRCeVJlZmVyZW5jZUlkcyh0W2VdKSx0W2VdLnJlbW92ZUF0dHJpYnV0ZShSSCk7VEgmJnRoaXMuX2RlbGV0ZU1lc3NhZ2VzQ29udGFpbmVyKCksQUguY2xlYXIoKX1fY3JlYXRlTWVzc2FnZUVsZW1lbnQodCxlKXtjb25zdCBuPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO0lIKG4pLG4udGV4dENvbnRlbnQ9dCxlJiZuLnNldEF0dHJpYnV0ZSgicm9sZSIsZSksdGhpcy5fY3JlYXRlTWVzc2FnZXNDb250YWluZXIoKSxUSC5hcHBlbmRDaGlsZChuKSxBSC5zZXQoekgodCxlKSx7bWVzc2FnZUVsZW1lbnQ6bixyZWZlcmVuY2VDb3VudDowfSl9X2RlbGV0ZU1lc3NhZ2VFbGVtZW50KHQpe2NvbnN0IGU9QUguZ2V0KHQpLG49ZSYmZS5tZXNzYWdlRWxlbWVudDtUSCYmbiYmVEgucmVtb3ZlQ2hpbGQobiksQUguZGVsZXRlKHQpfV9jcmVhdGVNZXNzYWdlc0NvbnRhaW5lcigpe2lmKCFUSCl7Y29uc3QgdD10aGlzLl9kb2N1bWVudC5nZXRFbGVtZW50QnlJZChTSCk7dCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksVEg9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksVEguaWQ9U0gsVEguc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixUSC5jbGFzc0xpc3QuYWRkKCJjZGstdmlzdWFsbHktaGlkZGVuIiksdGhpcy5fZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChUSCl9fV9kZWxldGVNZXNzYWdlc0NvbnRhaW5lcigpe1RIJiZUSC5wYXJlbnROb2RlJiYoVEgucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChUSCksVEg9bnVsbCl9X3JlbW92ZUNka0Rlc2NyaWJlZEJ5UmVmZXJlbmNlSWRzKHQpe2NvbnN0IGU9a0godCwiYXJpYS1kZXNjcmliZWRieSIpLmZpbHRlcigodD0+MCE9dC5pbmRleE9mKERIKSkpO3Quc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5IixlLmpvaW4oIiAiKSl9X2FkZE1lc3NhZ2VSZWZlcmVuY2UodCxlKXtjb25zdCBuPUFILmdldChlKTshKGZ1bmN0aW9uIG8odCxlLG4pe2NvbnN0IG89a0godCxlKTtvLnNvbWUoKHQ9PnQudHJpbSgpPT1uLnRyaW0oKSkpfHwoby5wdXNoKG4udHJpbSgpKSx0LnNldEF0dHJpYnV0ZShlLG8uam9pbigiICIpKSl9KSh0LCJhcmlhLWRlc2NyaWJlZGJ5IixuLm1lc3NhZ2VFbGVtZW50LmlkKSx0LnNldEF0dHJpYnV0ZShSSCwiIiksbi5yZWZlcmVuY2VDb3VudCsrfV9yZW1vdmVNZXNzYWdlUmVmZXJlbmNlKHQsZSl7Y29uc3Qgbj1BSC5nZXQoZSk7bi5yZWZlcmVuY2VDb3VudC0tLChmdW5jdGlvbiBvKHQsZSxuKXtjb25zdCBvPWtIKHQsZSkuZmlsdGVyKCh0PT50IT1uLnRyaW0oKSkpO28ubGVuZ3RoP3Quc2V0QXR0cmlidXRlKGUsby5qb2luKCIgIikpOnQucmVtb3ZlQXR0cmlidXRlKGUpfSkodCwiYXJpYS1kZXNjcmliZWRieSIsbi5tZXNzYWdlRWxlbWVudC5pZCksdC5yZW1vdmVBdHRyaWJ1dGUoUkgpfV9pc0VsZW1lbnREZXNjcmliZWRCeU1lc3NhZ2UodCxlKXtjb25zdCBuPWtIKHQsImFyaWEtZGVzY3JpYmVkYnkiKSxvPUFILmdldChlKSxpPW8mJm8ubWVzc2FnZUVsZW1lbnQuaWQ7cmV0dXJuISFpJiYtMSE9bi5pbmRleE9mKGkpfV9jYW5CZURlc2NyaWJlZCh0LGUpe2lmKCF0aGlzLl9pc0VsZW1lbnROb2RlKHQpKXJldHVybiExO2lmKGUmJiJvYmplY3QiPT10eXBlb2YgZSlyZXR1cm4hMDtjb25zdCBuPW51bGw9PWU/IiI6YCR7ZX1gLnRyaW0oKSxvPXQuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIik7cmV0dXJuISFuJiYoIW98fG8udHJpbSgpIT09bil9X2lzRWxlbWVudE5vZGUodCl7cmV0dXJuIHQubm9kZVR5cGU9PT10aGlzLl9kb2N1bWVudC5FTEVNRU5UX05PREV9fWZ1bmN0aW9uIHpIKHQsZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P2Ake2V8fCIifS8ke3R9YDp0fWZ1bmN0aW9uIElIKHQpe3QuaWR8fCh0LmlkPSJjZGstZGVzY3JpYmVkYnktbWVzc2FnZS0iK0VIKyspfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9OSC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TkgpKFRyKHNNKSl9LE5ILsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyBOSChUcihzTSkpfSx0b2tlbjpOSCxwcm92aWRlZEluOiJyb290In0pLE5ILmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihOSCxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjbGFzcyBISHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9pdGVtcz10LHRoaXMuX2FjdGl2ZUl0ZW1JbmRleD0tMSx0aGlzLl9hY3RpdmVJdGVtPW51bGwsdGhpcy5fd3JhcD0hMSx0aGlzLl9sZXR0ZXJLZXlTdHJlYW09bmV3IEIsdGhpcy5fdHlwZWFoZWFkU3Vic2NyaXB0aW9uPXUuRU1QVFksdGhpcy5fdmVydGljYWw9ITAsdGhpcy5fYWxsb3dlZE1vZGlmaWVyS2V5cz1bXSx0aGlzLl9ob21lQW5kRW5kPSExLHRoaXMuX3NraXBQcmVkaWNhdGVGbj10PT50LmRpc2FibGVkLHRoaXMuX3ByZXNzZWRMZXR0ZXJzPVtdLHRoaXMudGFiT3V0PW5ldyBCLHRoaXMuY2hhbmdlPW5ldyBCLHQgaW5zdGFuY2VvZiBSeSYmdC5jaGFuZ2VzLnN1YnNjcmliZSgodD0+e2lmKHRoaXMuX2FjdGl2ZUl0ZW0pe2NvbnN0IGU9dC50b0FycmF5KCkuaW5kZXhPZih0aGlzLl9hY3RpdmVJdGVtKTtlPi0xJiZlIT09dGhpcy5fYWN0aXZlSXRlbUluZGV4JiYodGhpcy5fYWN0aXZlSXRlbUluZGV4PWUpfX0pKX1za2lwUHJlZGljYXRlKHQpe3JldHVybiB0aGlzLl9za2lwUHJlZGljYXRlRm49dCx0aGlzfXdpdGhXcmFwKHQ9ITApe3JldHVybiB0aGlzLl93cmFwPXQsdGhpc313aXRoVmVydGljYWxPcmllbnRhdGlvbih0PSEwKXtyZXR1cm4gdGhpcy5fdmVydGljYWw9dCx0aGlzfXdpdGhIb3Jpem9udGFsT3JpZW50YXRpb24odCl7cmV0dXJuIHRoaXMuX2hvcml6b250YWw9dCx0aGlzfXdpdGhBbGxvd2VkTW9kaWZpZXJLZXlzKHQpe3JldHVybiB0aGlzLl9hbGxvd2VkTW9kaWZpZXJLZXlzPXQsdGhpc313aXRoVHlwZUFoZWFkKHQ9MjAwKXtpZigoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJnRoaXMuX2l0ZW1zLmxlbmd0aCYmdGhpcy5faXRlbXMuc29tZSgodD0+ImZ1bmN0aW9uIiE9dHlwZW9mIHQuZ2V0TGFiZWwpKSl0aHJvdyBFcnJvcigiTGlzdEtleU1hbmFnZXIgaXRlbXMgaW4gdHlwZWFoZWFkIG1vZGUgbXVzdCBpbXBsZW1lbnQgdGhlIGBnZXRMYWJlbGAgbWV0aG9kLiIpO3JldHVybiB0aGlzLl90eXBlYWhlYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl90eXBlYWhlYWRTdWJzY3JpcHRpb249dGhpcy5fbGV0dGVyS2V5U3RyZWFtLnBpcGUoV2UoKHQ9PnRoaXMuX3ByZXNzZWRMZXR0ZXJzLnB1c2godCkpKSxDZSh0KSx1ZSgoKCk9PnRoaXMuX3ByZXNzZWRMZXR0ZXJzLmxlbmd0aD4wKSksVnQoKCgpPT50aGlzLl9wcmVzc2VkTGV0dGVycy5qb2luKCIiKSkpKS5zdWJzY3JpYmUoKHQ9Pntjb25zdCBlPXRoaXMuX2dldEl0ZW1zQXJyYXkoKTtmb3IobGV0IG49MTtuPGUubGVuZ3RoKzE7bisrKXtjb25zdCBvPSh0aGlzLl9hY3RpdmVJdGVtSW5kZXgrbiklZS5sZW5ndGgsaT1lW29dO2lmKCF0aGlzLl9za2lwUHJlZGljYXRlRm4oaSkmJjA9PT1pLmdldExhYmVsKCkudG9VcHBlckNhc2UoKS50cmltKCkuaW5kZXhPZih0KSl7dGhpcy5zZXRBY3RpdmVJdGVtKG8pO2JyZWFrfX10aGlzLl9wcmVzc2VkTGV0dGVycz1bXX0pKSx0aGlzfXdpdGhIb21lQW5kRW5kKHQ9ITApe3JldHVybiB0aGlzLl9ob21lQW5kRW5kPXQsdGhpc31zZXRBY3RpdmVJdGVtKHQpe2NvbnN0IGU9dGhpcy5fYWN0aXZlSXRlbTt0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW0odCksdGhpcy5fYWN0aXZlSXRlbSE9PWUmJnRoaXMuY2hhbmdlLm5leHQodGhpcy5fYWN0aXZlSXRlbUluZGV4KX1vbktleWRvd24odCl7Y29uc3QgZT10LmtleUNvZGUsbj1bImFsdEtleSIsImN0cmxLZXkiLCJtZXRhS2V5Iiwic2hpZnRLZXkiXS5ldmVyeSgoZT0+IXRbZV18fHRoaXMuX2FsbG93ZWRNb2RpZmllcktleXMuaW5kZXhPZihlKT4tMSkpO3N3aXRjaChlKXtjYXNlIDk6cmV0dXJuIHZvaWQgdGhpcy50YWJPdXQubmV4dCgpO2Nhc2UgJEk6aWYodGhpcy5fdmVydGljYWwmJm4pe3RoaXMuc2V0TmV4dEl0ZW1BY3RpdmUoKTticmVha31yZXR1cm47Y2FzZSBRSTppZih0aGlzLl92ZXJ0aWNhbCYmbil7dGhpcy5zZXRQcmV2aW91c0l0ZW1BY3RpdmUoKTticmVha31yZXR1cm47Y2FzZSAzOTppZih0aGlzLl9ob3Jpem9udGFsJiZuKXsicnRsIj09PXRoaXMuX2hvcml6b250YWw/dGhpcy5zZXRQcmV2aW91c0l0ZW1BY3RpdmUoKTp0aGlzLnNldE5leHRJdGVtQWN0aXZlKCk7YnJlYWt9cmV0dXJuO2Nhc2UgMzc6aWYodGhpcy5faG9yaXpvbnRhbCYmbil7InJ0bCI9PT10aGlzLl9ob3Jpem9udGFsP3RoaXMuc2V0TmV4dEl0ZW1BY3RpdmUoKTp0aGlzLnNldFByZXZpb3VzSXRlbUFjdGl2ZSgpO2JyZWFrfXJldHVybjtjYXNlIDM2OmlmKHRoaXMuX2hvbWVBbmRFbmQmJm4pe3RoaXMuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7YnJlYWt9cmV0dXJuO2Nhc2UgMzU6aWYodGhpcy5faG9tZUFuZEVuZCYmbil7dGhpcy5zZXRMYXN0SXRlbUFjdGl2ZSgpO2JyZWFrfXJldHVybjtkZWZhdWx0OnJldHVybiB2b2lkKChufHx0SCh0LCJzaGlmdEtleSIpKSYmKHQua2V5JiYxPT09dC5rZXkubGVuZ3RoP3RoaXMuX2xldHRlcktleVN0cmVhbS5uZXh0KHQua2V5LnRvTG9jYWxlVXBwZXJDYXNlKCkpOihlPj02NSYmZTw9OTB8fGU+PTQ4JiZlPD01NykmJnRoaXMuX2xldHRlcktleVN0cmVhbS5uZXh0KFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpKSl9dGhpcy5fcHJlc3NlZExldHRlcnM9W10sdC5wcmV2ZW50RGVmYXVsdCgpfWdldCBhY3RpdmVJdGVtSW5kZXgoKXtyZXR1cm4gdGhpcy5fYWN0aXZlSXRlbUluZGV4fWdldCBhY3RpdmVJdGVtKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZUl0ZW19aXNUeXBpbmcoKXtyZXR1cm4gdGhpcy5fcHJlc3NlZExldHRlcnMubGVuZ3RoPjB9c2V0Rmlyc3RJdGVtQWN0aXZlKCl7dGhpcy5fc2V0QWN0aXZlSXRlbUJ5SW5kZXgoMCwxKX1zZXRMYXN0SXRlbUFjdGl2ZSgpe3RoaXMuX3NldEFjdGl2ZUl0ZW1CeUluZGV4KHRoaXMuX2l0ZW1zLmxlbmd0aC0xLC0xKX1zZXROZXh0SXRlbUFjdGl2ZSgpe3RoaXMuX2FjdGl2ZUl0ZW1JbmRleDwwP3RoaXMuc2V0Rmlyc3RJdGVtQWN0aXZlKCk6dGhpcy5fc2V0QWN0aXZlSXRlbUJ5RGVsdGEoMSl9c2V0UHJldmlvdXNJdGVtQWN0aXZlKCl7dGhpcy5fYWN0aXZlSXRlbUluZGV4PDAmJnRoaXMuX3dyYXA/dGhpcy5zZXRMYXN0SXRlbUFjdGl2ZSgpOnRoaXMuX3NldEFjdGl2ZUl0ZW1CeURlbHRhKC0xKX11cGRhdGVBY3RpdmVJdGVtKHQpe2NvbnN0IGU9dGhpcy5fZ2V0SXRlbXNBcnJheSgpLG49Im51bWJlciI9PXR5cGVvZiB0P3Q6ZS5pbmRleE9mKHQpLG89ZVtuXTt0aGlzLl9hY3RpdmVJdGVtPW51bGw9PW8/bnVsbDpvLHRoaXMuX2FjdGl2ZUl0ZW1JbmRleD1ufV9zZXRBY3RpdmVJdGVtQnlEZWx0YSh0KXt0aGlzLl93cmFwP3RoaXMuX3NldEFjdGl2ZUluV3JhcE1vZGUodCk6dGhpcy5fc2V0QWN0aXZlSW5EZWZhdWx0TW9kZSh0KX1fc2V0QWN0aXZlSW5XcmFwTW9kZSh0KXtjb25zdCBlPXRoaXMuX2dldEl0ZW1zQXJyYXkoKTtmb3IobGV0IG49MTtuPD1lLmxlbmd0aDtuKyspe2NvbnN0IG89KHRoaXMuX2FjdGl2ZUl0ZW1JbmRleCt0Km4rZS5sZW5ndGgpJWUubGVuZ3RoO2lmKCF0aGlzLl9za2lwUHJlZGljYXRlRm4oZVtvXSkpcmV0dXJuIHZvaWQgdGhpcy5zZXRBY3RpdmVJdGVtKG8pfX1fc2V0QWN0aXZlSW5EZWZhdWx0TW9kZSh0KXt0aGlzLl9zZXRBY3RpdmVJdGVtQnlJbmRleCh0aGlzLl9hY3RpdmVJdGVtSW5kZXgrdCx0KX1fc2V0QWN0aXZlSXRlbUJ5SW5kZXgodCxlKXtjb25zdCBuPXRoaXMuX2dldEl0ZW1zQXJyYXkoKTtpZihuW3RdKXtmb3IoO3RoaXMuX3NraXBQcmVkaWNhdGVGbihuW3RdKTspaWYoIW5bdCs9ZV0pcmV0dXJuO3RoaXMuc2V0QWN0aXZlSXRlbSh0KX19X2dldEl0ZW1zQXJyYXkoKXtyZXR1cm4gdGhpcy5faXRlbXMgaW5zdGFuY2VvZiBSeT90aGlzLl9pdGVtcy50b0FycmF5KCk6dGhpcy5faXRlbXN9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBGSCBleHRlbmRzIEhIe3NldEFjdGl2ZUl0ZW0odCl7dGhpcy5hY3RpdmVJdGVtJiZ0aGlzLmFjdGl2ZUl0ZW0uc2V0SW5hY3RpdmVTdHlsZXMoKSxzdXBlci5zZXRBY3RpdmVJdGVtKHQpLHRoaXMuYWN0aXZlSXRlbSYmdGhpcy5hY3RpdmVJdGVtLnNldEFjdGl2ZVN0eWxlcygpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgTEggZXh0ZW5kcyBISHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb3JpZ2luPSJwcm9ncmFtIn1zZXRGb2N1c09yaWdpbih0KXtyZXR1cm4gdGhpcy5fb3JpZ2luPXQsdGhpc31zZXRBY3RpdmVJdGVtKHQpe3N1cGVyLnNldEFjdGl2ZUl0ZW0odCksdGhpcy5hY3RpdmVJdGVtJiZ0aGlzLmFjdGl2ZUl0ZW0uZm9jdXModGhpcy5fb3JpZ2luKX19Y2xhc3MgQkh7Y29uc3RydWN0b3IodCl7dGhpcy5fcGxhdGZvcm09dH1pc0Rpc2FibGVkKHQpe3JldHVybiB0Lmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKX1pc1Zpc2libGUodCl7cmV0dXJuKGZ1bmN0aW9uIGUodCl7cmV0dXJuISEodC5vZmZzZXRXaWR0aHx8dC5vZmZzZXRIZWlnaHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldENsaWVudFJlY3RzJiZ0LmdldENsaWVudFJlY3RzKCkubGVuZ3RoKX0pKHQpJiYidmlzaWJsZSI9PT1nZXRDb21wdXRlZFN0eWxlKHQpLnZpc2liaWxpdHl9aXNUYWJiYWJsZSh0KXtpZighdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKXJldHVybiExO2NvbnN0IGU9KGZ1bmN0aW9uIG8odCl7dHJ5e3JldHVybiB0LmZyYW1lRWxlbWVudH1jYXRjaCh0KXtyZXR1cm4gbnVsbH19KSgoZnVuY3Rpb24gbih0KXtyZXR1cm4gdC5vd25lckRvY3VtZW50JiZ0Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvd30KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0KSk7aWYoZSl7aWYoLTE9PT1qSChlKSlyZXR1cm4hMTtpZighdGhpcy5pc1Zpc2libGUoZSkpcmV0dXJuITF9bGV0IGk9dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLGE9akgodCk7cmV0dXJuIHQuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKT8tMSE9PWE6ImlmcmFtZSIhPT1pJiYib2JqZWN0IiE9PWkmJighKHRoaXMuX3BsYXRmb3JtLldFQktJVCYmdGhpcy5fcGxhdGZvcm0uSU9TJiYhKGZ1bmN0aW9uIHIodCl7bGV0IGU9dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLG49ImlucHV0Ij09PWUmJnQudHlwZTtyZXR1cm4idGV4dCI9PT1ufHwicGFzc3dvcmQiPT09bnx8InNlbGVjdCI9PT1lfHwidGV4dGFyZWEiPT09ZX0pKHQpKSYmKCJhdWRpbyI9PT1pPyEhdC5oYXNBdHRyaWJ1dGUoImNvbnRyb2xzIikmJi0xIT09YToidmlkZW8iPT09aT8tMSE9PWEmJihudWxsIT09YXx8KHRoaXMuX3BsYXRmb3JtLkZJUkVGT1h8fHQuaGFzQXR0cmlidXRlKCJjb250cm9scyIpKSk6dC50YWJJbmRleD49MCkpfWlzRm9jdXNhYmxlKHQsZSl7cmV0dXJuKGZ1bmN0aW9uIG4odCl7aWYoKGZ1bmN0aW9uIGUodCl7cmV0dXJuKGZ1bmN0aW9uIGUodCl7cmV0dXJuImlucHV0Ij09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfSkodCkmJiJoaWRkZW4iPT10LnR5cGV9KSh0KSlyZXR1cm4hMTtyZXR1cm4oZnVuY3Rpb24gbih0KXtsZXQgZT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWV8fCJzZWxlY3QiPT09ZXx8ImJ1dHRvbiI9PT1lfHwidGV4dGFyZWEiPT09ZX0pKHQpfHwoZnVuY3Rpb24gbyh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4iYSI9PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKX0pKHQpJiZ0Lmhhc0F0dHJpYnV0ZSgiaHJlZiIpfSkodCl8fHQuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8VkgodCl9KSh0KSYmIXRoaXMuaXNEaXNhYmxlZCh0KSYmKChudWxsPT1lP3ZvaWQgMDplLmlnbm9yZVZpc2liaWxpdHkpfHx0aGlzLmlzVmlzaWJsZSh0KSl9fWZ1bmN0aW9uIFZIKHQpe2lmKCF0Lmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKXx8dm9pZCAwPT09dC50YWJJbmRleClyZXR1cm4hMTtsZXQgZT10LmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKTtyZXR1cm4iLTMyNzY4IiE9ZSYmISghZXx8aXNOYU4ocGFyc2VJbnQoZSwxMCkpKX1mdW5jdGlvbiBqSCh0KXtpZighVkgodCkpcmV0dXJuIG51bGw7Y29uc3QgZT1wYXJzZUludCh0LmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKXx8IiIsMTApO3JldHVybiBpc05hTihlKT8tMTplfUJILsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxCSCkoVHIoY0gpKX0sQkguybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IEJIKFRyKGNIKSl9LHRva2VuOkJILHByb3ZpZGVkSW46InJvb3QifSksQkguY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpjSH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQkgsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmNIfV19KSxudWxsKTtjbGFzcyBVSHtjb25zdHJ1Y3Rvcih0LGUsbixvLGk9ITEpe3RoaXMuX2VsZW1lbnQ9dCx0aGlzLl9jaGVja2VyPWUsdGhpcy5fbmdab25lPW4sdGhpcy5fZG9jdW1lbnQ9byx0aGlzLl9oYXNBdHRhY2hlZD0hMSx0aGlzLnN0YXJ0QW5jaG9yTGlzdGVuZXI9KCk9PnRoaXMuZm9jdXNMYXN0VGFiYmFibGVFbGVtZW50KCksdGhpcy5lbmRBbmNob3JMaXN0ZW5lcj0oKT0+dGhpcy5mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KCksdGhpcy5fZW5hYmxlZD0hMCxpfHx0aGlzLmF0dGFjaEFuY2hvcnMoKX1nZXQgZW5hYmxlZCgpe3JldHVybiB0aGlzLl9lbmFibGVkfXNldCBlbmFibGVkKHQpe3RoaXMuX2VuYWJsZWQ9dCx0aGlzLl9zdGFydEFuY2hvciYmdGhpcy5fZW5kQW5jaG9yJiYodGhpcy5fdG9nZ2xlQW5jaG9yVGFiSW5kZXgodCx0aGlzLl9zdGFydEFuY2hvciksdGhpcy5fdG9nZ2xlQW5jaG9yVGFiSW5kZXgodCx0aGlzLl9lbmRBbmNob3IpKX1kZXN0cm95KCl7Y29uc3QgdD10aGlzLl9zdGFydEFuY2hvcixlPXRoaXMuX2VuZEFuY2hvcjt0JiYodC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5zdGFydEFuY2hvckxpc3RlbmVyKSx0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSksZSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMuZW5kQW5jaG9yTGlzdGVuZXIpLGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpKSx0aGlzLl9zdGFydEFuY2hvcj10aGlzLl9lbmRBbmNob3I9bnVsbCx0aGlzLl9oYXNBdHRhY2hlZD0hMX1hdHRhY2hBbmNob3JzKCl7cmV0dXJuISF0aGlzLl9oYXNBdHRhY2hlZHx8KHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9zdGFydEFuY2hvcnx8KHRoaXMuX3N0YXJ0QW5jaG9yPXRoaXMuX2NyZWF0ZUFuY2hvcigpLHRoaXMuX3N0YXJ0QW5jaG9yLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLnN0YXJ0QW5jaG9yTGlzdGVuZXIpKSx0aGlzLl9lbmRBbmNob3J8fCh0aGlzLl9lbmRBbmNob3I9dGhpcy5fY3JlYXRlQW5jaG9yKCksdGhpcy5fZW5kQW5jaG9yLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLmVuZEFuY2hvckxpc3RlbmVyKSl9KSksdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlJiYodGhpcy5fZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLl9zdGFydEFuY2hvcix0aGlzLl9lbGVtZW50KSx0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuX2VuZEFuY2hvcix0aGlzLl9lbGVtZW50Lm5leHRTaWJsaW5nKSx0aGlzLl9oYXNBdHRhY2hlZD0hMCksdGhpcy5faGFzQXR0YWNoZWQpfWZvY3VzSW5pdGlhbEVsZW1lbnRXaGVuUmVhZHkodCl7cmV0dXJuIG5ldyBQcm9taXNlKChlPT57dGhpcy5fZXhlY3V0ZU9uU3RhYmxlKCgoKT0+ZSh0aGlzLmZvY3VzSW5pdGlhbEVsZW1lbnQodCkpKSl9KSl9Zm9jdXNGaXJzdFRhYmJhYmxlRWxlbWVudFdoZW5SZWFkeSh0KXtyZXR1cm4gbmV3IFByb21pc2UoKGU9Pnt0aGlzLl9leGVjdXRlT25TdGFibGUoKCgpPT5lKHRoaXMuZm9jdXNGaXJzdFRhYmJhYmxlRWxlbWVudCh0KSkpKX0pKX1mb2N1c0xhc3RUYWJiYWJsZUVsZW1lbnRXaGVuUmVhZHkodCl7cmV0dXJuIG5ldyBQcm9taXNlKChlPT57dGhpcy5fZXhlY3V0ZU9uU3RhYmxlKCgoKT0+ZSh0aGlzLmZvY3VzTGFzdFRhYmJhYmxlRWxlbWVudCh0KSkpKX0pKX1fZ2V0UmVnaW9uQm91bmRhcnkodCl7bGV0IGU9dGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKGBbY2RrLWZvY3VzLXJlZ2lvbi0ke3R9XSwgW2Nka0ZvY3VzUmVnaW9uJHt0fV0sIFtjZGstZm9jdXMtJHt0fV1gKTtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyllW25dLmhhc0F0dHJpYnV0ZShgY2RrLWZvY3VzLSR7dH1gKT9jb25zb2xlLndhcm4oYEZvdW5kIHVzZSBvZiBkZXByZWNhdGVkIGF0dHJpYnV0ZSAnY2RrLWZvY3VzLSR7dH0nLCB1c2UgJ2Nka0ZvY3VzUmVnaW9uJHt0fScgaW5zdGVhZC4gVGhlIGRlcHJlY2F0ZWQgYXR0cmlidXRlIHdpbGwgYmUgcmVtb3ZlZCBpbiA4LjAuMC5gLGVbbl0pOmVbbl0uaGFzQXR0cmlidXRlKGBjZGstZm9jdXMtcmVnaW9uLSR7dH1gKSYmY29uc29sZS53YXJuKGBGb3VuZCB1c2Ugb2YgZGVwcmVjYXRlZCBhdHRyaWJ1dGUgJ2Nkay1mb2N1cy1yZWdpb24tJHt0fScsIHVzZSAnY2RrRm9jdXNSZWdpb24ke3R9JyBpbnN0ZWFkLiBUaGUgZGVwcmVjYXRlZCBhdHRyaWJ1dGUgd2lsbCBiZSByZW1vdmVkIGluIDguMC4wLmAsZVtuXSk7cmV0dXJuInN0YXJ0Ij09dD9lLmxlbmd0aD9lWzBdOnRoaXMuX2dldEZpcnN0VGFiYmFibGVFbGVtZW50KHRoaXMuX2VsZW1lbnQpOmUubGVuZ3RoP2VbZS5sZW5ndGgtMV06dGhpcy5fZ2V0TGFzdFRhYmJhYmxlRWxlbWVudCh0aGlzLl9lbGVtZW50KX1mb2N1c0luaXRpYWxFbGVtZW50KHQpe2NvbnN0IGU9dGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKCJbY2RrLWZvY3VzLWluaXRpYWxdLCBbY2RrRm9jdXNJbml0aWFsXSIpO2lmKGUpe2lmKGUuaGFzQXR0cmlidXRlKCJjZGstZm9jdXMtaW5pdGlhbCIpJiZjb25zb2xlLndhcm4oIkZvdW5kIHVzZSBvZiBkZXByZWNhdGVkIGF0dHJpYnV0ZSAnY2RrLWZvY3VzLWluaXRpYWwnLCB1c2UgJ2Nka0ZvY3VzSW5pdGlhbCcgaW5zdGVhZC4gVGhlIGRlcHJlY2F0ZWQgYXR0cmlidXRlIHdpbGwgYmUgcmVtb3ZlZCBpbiA4LjAuMCIsZSksInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0Rldk1vZGUmJiFuZ0Rldk1vZGV8fHRoaXMuX2NoZWNrZXIuaXNGb2N1c2FibGUoZSl8fGNvbnNvbGUud2FybigiRWxlbWVudCBtYXRjaGluZyAnW2Nka0ZvY3VzSW5pdGlhbF0nIGlzIG5vdCBmb2N1c2FibGUuIixlKSwhdGhpcy5fY2hlY2tlci5pc0ZvY3VzYWJsZShlKSl7Y29uc3Qgbj10aGlzLl9nZXRGaXJzdFRhYmJhYmxlRWxlbWVudChlKTtyZXR1cm4gbnVsbD09bnx8bi5mb2N1cyh0KSwhIW59cmV0dXJuIGUuZm9jdXModCksITB9cmV0dXJuIHRoaXMuZm9jdXNGaXJzdFRhYmJhYmxlRWxlbWVudCh0KX1mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KHQpe2NvbnN0IGU9dGhpcy5fZ2V0UmVnaW9uQm91bmRhcnkoInN0YXJ0Iik7cmV0dXJuIGUmJmUuZm9jdXModCksISFlfWZvY3VzTGFzdFRhYmJhYmxlRWxlbWVudCh0KXtjb25zdCBlPXRoaXMuX2dldFJlZ2lvbkJvdW5kYXJ5KCJlbmQiKTtyZXR1cm4gZSYmZS5mb2N1cyh0KSwhIWV9aGFzQXR0YWNoZWQoKXtyZXR1cm4gdGhpcy5faGFzQXR0YWNoZWR9X2dldEZpcnN0VGFiYmFibGVFbGVtZW50KHQpe2lmKHRoaXMuX2NoZWNrZXIuaXNGb2N1c2FibGUodCkmJnRoaXMuX2NoZWNrZXIuaXNUYWJiYWJsZSh0KSlyZXR1cm4gdDtsZXQgZT10LmNoaWxkcmVufHx0LmNoaWxkTm9kZXM7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2xldCBuPWVbdF0ubm9kZVR5cGU9PT10aGlzLl9kb2N1bWVudC5FTEVNRU5UX05PREU/dGhpcy5fZ2V0Rmlyc3RUYWJiYWJsZUVsZW1lbnQoZVt0XSk6bnVsbDtpZihuKXJldHVybiBufXJldHVybiBudWxsfV9nZXRMYXN0VGFiYmFibGVFbGVtZW50KHQpe2lmKHRoaXMuX2NoZWNrZXIuaXNGb2N1c2FibGUodCkmJnRoaXMuX2NoZWNrZXIuaXNUYWJiYWJsZSh0KSlyZXR1cm4gdDtsZXQgZT10LmNoaWxkcmVufHx0LmNoaWxkTm9kZXM7Zm9yKGxldCB0PWUubGVuZ3RoLTE7dD49MDt0LS0pe2xldCBuPWVbdF0ubm9kZVR5cGU9PT10aGlzLl9kb2N1bWVudC5FTEVNRU5UX05PREU/dGhpcy5fZ2V0TGFzdFRhYmJhYmxlRWxlbWVudChlW3RdKTpudWxsO2lmKG4pcmV0dXJuIG59cmV0dXJuIG51bGx9X2NyZWF0ZUFuY2hvcigpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHRoaXMuX3RvZ2dsZUFuY2hvclRhYkluZGV4KHRoaXMuX2VuYWJsZWQsdCksdC5jbGFzc0xpc3QuYWRkKCJjZGstdmlzdWFsbHktaGlkZGVuIiksdC5jbGFzc0xpc3QuYWRkKCJjZGstZm9jdXMtdHJhcC1hbmNob3IiKSx0LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksdH1fdG9nZ2xlQW5jaG9yVGFiSW5kZXgodCxlKXt0P2Uuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIjAiKTplLnJlbW92ZUF0dHJpYnV0ZSgidGFiaW5kZXgiKX10b2dnbGVBbmNob3JzKHQpe3RoaXMuX3N0YXJ0QW5jaG9yJiZ0aGlzLl9lbmRBbmNob3ImJih0aGlzLl90b2dnbGVBbmNob3JUYWJJbmRleCh0LHRoaXMuX3N0YXJ0QW5jaG9yKSx0aGlzLl90b2dnbGVBbmNob3JUYWJJbmRleCh0LHRoaXMuX2VuZEFuY2hvcikpfV9leGVjdXRlT25TdGFibGUodCl7dGhpcy5fbmdab25lLmlzU3RhYmxlP3QoKTp0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKHQpfX1jbGFzcyBXSHtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fY2hlY2tlcj10LHRoaXMuX25nWm9uZT1lLHRoaXMuX2RvY3VtZW50PW59Y3JlYXRlKHQsZT0hMSl7cmV0dXJuIG5ldyBVSCh0LHRoaXMuX2NoZWNrZXIsdGhpcy5fbmdab25lLHRoaXMuX2RvY3VtZW50LGUpfX1XSC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8V0gpKFRyKEJIKSxUcihtQyksVHIoc00pKX0sV0guybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IFdIKFRyKEJIKSxUcihtQyksVHIoc00pKX0sdG9rZW46V0gscHJvdmlkZWRJbjoicm9vdCJ9KSxXSC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkJIfSx7dHlwZTptQ30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihXSCxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6Qkh9LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpO2NsYXNzIEdIe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9lbGVtZW50UmVmPXQsdGhpcy5fZm9jdXNUcmFwRmFjdG9yeT1lLHRoaXMuX3ByZXZpb3VzbHlGb2N1c2VkRWxlbWVudD1udWxsLHRoaXMuZm9jdXNUcmFwPXRoaXMuX2ZvY3VzVHJhcEZhY3RvcnkuY3JlYXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwhMCl9Z2V0IGVuYWJsZWQoKXtyZXR1cm4gdGhpcy5mb2N1c1RyYXAuZW5hYmxlZH1zZXQgZW5hYmxlZCh0KXt0aGlzLmZvY3VzVHJhcC5lbmFibGVkPWVIKHQpfWdldCBhdXRvQ2FwdHVyZSgpe3JldHVybiB0aGlzLl9hdXRvQ2FwdHVyZX1zZXQgYXV0b0NhcHR1cmUodCl7dGhpcy5fYXV0b0NhcHR1cmU9ZUgodCl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvY3VzVHJhcC5kZXN0cm95KCksdGhpcy5fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50JiYodGhpcy5fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50LmZvY3VzKCksdGhpcy5fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50PW51bGwpfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuZm9jdXNUcmFwLmF0dGFjaEFuY2hvcnMoKSx0aGlzLmF1dG9DYXB0dXJlJiZ0aGlzLl9jYXB0dXJlRm9jdXMoKX1uZ0RvQ2hlY2soKXt0aGlzLmZvY3VzVHJhcC5oYXNBdHRhY2hlZCgpfHx0aGlzLmZvY3VzVHJhcC5hdHRhY2hBbmNob3JzKCl9bmdPbkNoYW5nZXModCl7Y29uc3QgZT10LmF1dG9DYXB0dXJlO2UmJiFlLmZpcnN0Q2hhbmdlJiZ0aGlzLmF1dG9DYXB0dXJlJiZ0aGlzLmZvY3VzVHJhcC5oYXNBdHRhY2hlZCgpJiZ0aGlzLl9jYXB0dXJlRm9jdXMoKX1fY2FwdHVyZUZvY3VzKCl7dGhpcy5fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50PU1IKCksdGhpcy5mb2N1c1RyYXAuZm9jdXNJbml0aWFsRWxlbWVudFdoZW5SZWFkeSgpfX1HSC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8R0gpKGdmKEtoKSxnZihXSCksZ2Yoc00pKX0sR0guybVkaXI9aG8oe3R5cGU6R0gsc2VsZWN0b3JzOltbIiIsImNka1RyYXBGb2N1cyIsIiJdXSxpbnB1dHM6e2VuYWJsZWQ6WyJjZGtUcmFwRm9jdXMiLCJlbmFibGVkIl0sYXV0b0NhcHR1cmU6WyJjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZSIsImF1dG9DYXB0dXJlIl19LGV4cG9ydEFzOlsiY2RrVHJhcEZvY3VzIl0sZmVhdHVyZXM6W3FvXX0pLEdILmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOldIfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSxHSC5wcm9wRGVjb3JhdG9ycz17ZW5hYmxlZDpbe3R5cGU6Ul8sYXJnczpbImNka1RyYXBGb2N1cyJdfV0sYXV0b0NhcHR1cmU6W3t0eXBlOlJfLGFyZ3M6WyJjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoR0gsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Nka1RyYXBGb2N1c10iLGV4cG9ydEFzOiJjZGtUcmFwRm9jdXMifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOldIfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLHtlbmFibGVkOlt7dHlwZTpSXyxhcmdzOlsiY2RrVHJhcEZvY3VzIl19XSxhdXRvQ2FwdHVyZTpbe3R5cGU6Ul8sYXJnczpbImNka1RyYXBGb2N1c0F1dG9DYXB0dXJlIl19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgWUggZXh0ZW5kcyBVSHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyKXtzdXBlcih0LGUsbixvLHIuZGVmZXIpLHRoaXMuX2ZvY3VzVHJhcE1hbmFnZXI9aSx0aGlzLl9pbmVydFN0cmF0ZWd5PWEsdGhpcy5fZm9jdXNUcmFwTWFuYWdlci5yZWdpc3Rlcih0aGlzKX1nZXQgZW5hYmxlZCgpe3JldHVybiB0aGlzLl9lbmFibGVkfXNldCBlbmFibGVkKHQpe3RoaXMuX2VuYWJsZWQ9dCx0aGlzLl9lbmFibGVkP3RoaXMuX2ZvY3VzVHJhcE1hbmFnZXIucmVnaXN0ZXIodGhpcyk6dGhpcy5fZm9jdXNUcmFwTWFuYWdlci5kZXJlZ2lzdGVyKHRoaXMpfWRlc3Ryb3koKXt0aGlzLl9mb2N1c1RyYXBNYW5hZ2VyLmRlcmVnaXN0ZXIodGhpcyksc3VwZXIuZGVzdHJveSgpfV9lbmFibGUoKXt0aGlzLl9pbmVydFN0cmF0ZWd5LnByZXZlbnRGb2N1cyh0aGlzKSx0aGlzLnRvZ2dsZUFuY2hvcnMoITApfV9kaXNhYmxlKCl7dGhpcy5faW5lcnRTdHJhdGVneS5hbGxvd0ZvY3VzKHRoaXMpLHRoaXMudG9nZ2xlQW5jaG9ycyghMSl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgcUg9bmV3IGVyKCJGT0NVU19UUkFQX0lORVJUX1NUUkFURUdZIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFpIKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgTm9kZSkpcmV0dXJuIG51bGw7bGV0IG49dDtmb3IoO251bGwhPW4mJiEobiBpbnN0YW5jZW9mIEVsZW1lbnQpOyluPW4ucGFyZW50Tm9kZTtyZXR1cm4gbiYmKFhIP24uY2xvc2VzdChlKTooZnVuY3Rpb24gbyh0LGUpe2xldCBuPXQ7Zm9yKDtudWxsIT1uJiYhKG4gaW5zdGFuY2VvZiBFbGVtZW50JiZLSChuLGUpKTspbj1uLnBhcmVudE5vZGU7cmV0dXJuIG58fG51bGx9KShuLGUpKX1jb25zdCBYSD0idW5kZWZpbmVkIiE9dHlwZW9mIEVsZW1lbnQmJiEhRWxlbWVudC5wcm90b3R5cGUuY2xvc2VzdDtmdW5jdGlvbiBLSCh0LGUpe3JldHVybiB0Lm1hdGNoZXM/dC5tYXRjaGVzKGUpOnQubXNNYXRjaGVzU2VsZWN0b3IoZSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIEpIe2NvbnN0cnVjdG9yKCl7dGhpcy5fbGlzdGVuZXI9bnVsbH1wcmV2ZW50Rm9jdXModCl7dGhpcy5fbGlzdGVuZXImJnQuX2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9saXN0ZW5lciwhMCksdGhpcy5fbGlzdGVuZXI9ZT0+dGhpcy5fdHJhcEZvY3VzKHQsZSksdC5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3QuX2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9saXN0ZW5lciwhMCl9KSl9YWxsb3dGb2N1cyh0KXt0aGlzLl9saXN0ZW5lciYmKHQuX2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9saXN0ZW5lciwhMCksdGhpcy5fbGlzdGVuZXI9bnVsbCl9X3RyYXBGb2N1cyh0LGUpe2NvbnN0IG49ZS50YXJnZXQsbz10Ll9lbGVtZW50O28uY29udGFpbnMobil8fG51bGwhPT1aSChuLCJkaXYuY2RrLW92ZXJsYXktcGFuZSIpfHxzZXRUaW1lb3V0KCgoKT0+e3QuZW5hYmxlZCYmIW8uY29udGFpbnModC5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkmJnQuZm9jdXNGaXJzdFRhYmJhYmxlRWxlbWVudCgpfSkpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgUUh7Y29uc3RydWN0b3IoKXt0aGlzLl9mb2N1c1RyYXBTdGFjaz1bXX1yZWdpc3Rlcih0KXt0aGlzLl9mb2N1c1RyYXBTdGFjaz10aGlzLl9mb2N1c1RyYXBTdGFjay5maWx0ZXIoKGU9PmUhPT10KSk7bGV0IGU9dGhpcy5fZm9jdXNUcmFwU3RhY2s7ZS5sZW5ndGgmJmVbZS5sZW5ndGgtMV0uX2Rpc2FibGUoKSxlLnB1c2godCksdC5fZW5hYmxlKCl9ZGVyZWdpc3Rlcih0KXt0Ll9kaXNhYmxlKCk7Y29uc3QgZT10aGlzLl9mb2N1c1RyYXBTdGFjayxuPWUuaW5kZXhPZih0KTstMSE9PW4mJihlLnNwbGljZShuLDEpLGUubGVuZ3RoJiZlW2UubGVuZ3RoLTFdLl9lbmFibGUoKSl9fVFILsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxRSCl9LFFILsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyBRSH0sdG9rZW46UUgscHJvdmlkZWRJbjoicm9vdCJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFFILFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVybltdfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyAkSHtjb25zdHJ1Y3Rvcih0LGUsbixvLGkpe3RoaXMuX2NoZWNrZXI9dCx0aGlzLl9uZ1pvbmU9ZSx0aGlzLl9mb2N1c1RyYXBNYW5hZ2VyPW4sdGhpcy5fZG9jdW1lbnQ9byx0aGlzLl9pbmVydFN0cmF0ZWd5PWl8fG5ldyBKSH1jcmVhdGUodCxlPXtkZWZlcjohMX0pe2xldCBuO3JldHVybiBuPSJib29sZWFuIj09dHlwZW9mIGU/e2RlZmVyOmV9OmUsbmV3IFlIKHQsdGhpcy5fY2hlY2tlcix0aGlzLl9uZ1pvbmUsdGhpcy5fZG9jdW1lbnQsdGhpcy5fZm9jdXNUcmFwTWFuYWdlcix0aGlzLl9pbmVydFN0cmF0ZWd5LG4pfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIHRGKHQpe3JldHVybiAwPT09dC5vZmZzZXRYJiYwPT09dC5vZmZzZXRZfWZ1bmN0aW9uIGVGKHQpe2NvbnN0IGU9dC50b3VjaGVzJiZ0LnRvdWNoZXNbMF18fHQuY2hhbmdlZFRvdWNoZXMmJnQuY2hhbmdlZFRvdWNoZXNbMF07cmV0dXJuISghZXx8LTEhPT1lLmlkZW50aWZpZXJ8fG51bGwhPWUucmFkaXVzWCYmMSE9PWUucmFkaXVzWHx8bnVsbCE9ZS5yYWRpdXNZJiYxIT09ZS5yYWRpdXNZKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovJEguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fCRIKShUcihCSCksVHIobUMpLFRyKFFIKSxUcihzTSksVHIocUgsOCkpfSwkSC7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgJEgoVHIoQkgpLFRyKG1DKSxUcihRSCksVHIoc00pLFRyKHFILDgpKX0sdG9rZW46JEgscHJvdmlkZWRJbjoicm9vdCJ9KSwkSC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkJIfSx7dHlwZTptQ30se3R5cGU6UUh9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltxSF19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJEgsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkJIfSx7dHlwZTptQ30se3R5cGU6UUh9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltxSF19XX1dfSksbnVsbCk7Y29uc3QgbkY9bmV3IGVyKCJjZGstaW5wdXQtbW9kYWxpdHktZGV0ZWN0b3Itb3B0aW9ucyIpLG9GPXtpZ25vcmVLZXlzOlsxOCwxNywyMjQsOTEsMTZdfSxpRj1iSCh7cGFzc2l2ZTohMCxjYXB0dXJlOiEwfSk7Y2xhc3MgYUZ7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5fcGxhdGZvcm09dCx0aGlzLl9tb3N0UmVjZW50VGFyZ2V0PW51bGwsdGhpcy5fbW9kYWxpdHk9bmV3IGoobnVsbCksdGhpcy5fbGFzdFRvdWNoTXM9MCx0aGlzLl9vbktleWRvd249dD0+e3ZhciBlLG47KG51bGw9PT0obj1udWxsPT09KGU9dGhpcy5fb3B0aW9ucyl8fHZvaWQgMD09PWU/dm9pZCAwOmUuaWdub3JlS2V5cyl8fHZvaWQgMD09PW4/dm9pZCAwOm4uc29tZSgoZT0+ZT09PXQua2V5Q29kZSkpKXx8KHRoaXMuX21vZGFsaXR5Lm5leHQoImtleWJvYXJkIiksdGhpcy5fbW9zdFJlY2VudFRhcmdldD12SCh0KSl9LHRoaXMuX29uTW91c2Vkb3duPXQ9PntEYXRlLm5vdygpLXRoaXMuX2xhc3RUb3VjaE1zPDY1MHx8KHRoaXMuX21vZGFsaXR5Lm5leHQodEYodCk/ImtleWJvYXJkIjoibW91c2UiKSx0aGlzLl9tb3N0UmVjZW50VGFyZ2V0PXZIKHQpKX0sdGhpcy5fb25Ub3VjaHN0YXJ0PXQ9PntlRih0KT90aGlzLl9tb2RhbGl0eS5uZXh0KCJrZXlib2FyZCIpOih0aGlzLl9sYXN0VG91Y2hNcz1EYXRlLm5vdygpLHRoaXMuX21vZGFsaXR5Lm5leHQoInRvdWNoIiksdGhpcy5fbW9zdFJlY2VudFRhcmdldD12SCh0KSl9LHRoaXMuX29wdGlvbnM9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG9GKSxvKSx0aGlzLm1vZGFsaXR5RGV0ZWN0ZWQ9dGhpcy5fbW9kYWxpdHkucGlwZShMZSgxKSksdGhpcy5tb2RhbGl0eUNoYW5nZWQ9dGhpcy5tb2RhbGl0eURldGVjdGVkLnBpcGUod2UoKSksdC5pc0Jyb3dzZXImJmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT57bi5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9vbktleWRvd24saUYpLG4uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9vbk1vdXNlZG93bixpRiksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9vblRvdWNoc3RhcnQsaUYpfSkpfWdldCBtb3N0UmVjZW50TW9kYWxpdHkoKXtyZXR1cm4gdGhpcy5fbW9kYWxpdHkudmFsdWV9bmdPbkRlc3Ryb3koKXt0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9vbktleWRvd24saUYpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5fb25Nb3VzZWRvd24saUYpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hzdGFydCxpRikpfX1hRi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8YUYpKFRyKGNIKSxUcihtQyksVHIoc00pLFRyKG5GLDgpKX0sYUYuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IGFGKFRyKGNIKSxUcihtQyksVHIoc00pLFRyKG5GLDgpKX0sdG9rZW46YUYscHJvdmlkZWRJbjoicm9vdCJ9KSxhRi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOmNIfSx7dHlwZTptQ30se3R5cGU6RG9jdW1lbnQsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbbkZdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGFGLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpjSH0se3R5cGU6bUN9LHt0eXBlOkRvY3VtZW50LGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W25GXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHJGPW5ldyBlcigibGl2ZUFubm91bmNlckVsZW1lbnQiLHtwcm92aWRlZEluOiJyb290IixmYWN0b3J5OmZ1bmN0aW9uIHNGKCl7cmV0dXJuIG51bGx9fSk7Y29uc3QgbEY9bmV3IGVyKCJMSVZFX0FOTk9VTkNFUl9ERUZBVUxUX09QVElPTlMiKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgY0Z7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5fbmdab25lPWUsdGhpcy5fZGVmYXVsdE9wdGlvbnM9byx0aGlzLl9kb2N1bWVudD1uLHRoaXMuX2xpdmVFbGVtZW50PXR8fHRoaXMuX2NyZWF0ZUxpdmVFbGVtZW50KCl9YW5ub3VuY2UodCwuLi5lKXtjb25zdCBuPXRoaXMuX2RlZmF1bHRPcHRpb25zO2xldCBvLGk7cmV0dXJuIDE9PT1lLmxlbmd0aCYmIm51bWJlciI9PXR5cGVvZiBlWzBdP2k9ZVswXTpbbyxpXT1lLHRoaXMuY2xlYXIoKSxjbGVhclRpbWVvdXQodGhpcy5fcHJldmlvdXNUaW1lb3V0KSxvfHwobz1uJiZuLnBvbGl0ZW5lc3M/bi5wb2xpdGVuZXNzOiJwb2xpdGUiKSxudWxsPT1pJiZuJiYoaT1uLmR1cmF0aW9uKSx0aGlzLl9saXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGl2ZSIsbyksdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+bmV3IFByb21pc2UoKGU9PntjbGVhclRpbWVvdXQodGhpcy5fcHJldmlvdXNUaW1lb3V0KSx0aGlzLl9wcmV2aW91c1RpbWVvdXQ9c2V0VGltZW91dCgoKCk9Pnt0aGlzLl9saXZlRWxlbWVudC50ZXh0Q29udGVudD10LGUoKSwibnVtYmVyIj09dHlwZW9mIGkmJih0aGlzLl9wcmV2aW91c1RpbWVvdXQ9c2V0VGltZW91dCgoKCk9PnRoaXMuY2xlYXIoKSksaSkpfSksMTAwKX0pKSkpfWNsZWFyKCl7dGhpcy5fbGl2ZUVsZW1lbnQmJih0aGlzLl9saXZlRWxlbWVudC50ZXh0Q29udGVudD0iIil9bmdPbkRlc3Ryb3koKXtjbGVhclRpbWVvdXQodGhpcy5fcHJldmlvdXNUaW1lb3V0KSx0aGlzLl9saXZlRWxlbWVudCYmdGhpcy5fbGl2ZUVsZW1lbnQucGFyZW50Tm9kZSYmKHRoaXMuX2xpdmVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fbGl2ZUVsZW1lbnQpLHRoaXMuX2xpdmVFbGVtZW50PW51bGwpfV9jcmVhdGVMaXZlRWxlbWVudCgpe2NvbnN0IHQ9ImNkay1saXZlLWFubm91bmNlci1lbGVtZW50IixlPXRoaXMuX2RvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodCksbj10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZVt0XSk7cmV0dXJuIG4uY2xhc3NMaXN0LmFkZCh0KSxuLmNsYXNzTGlzdC5hZGQoImNkay12aXN1YWxseS1oaWRkZW4iKSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1hdG9taWMiLCJ0cnVlIiksbi5zZXRBdHRyaWJ1dGUoImFyaWEtbGl2ZSIsInBvbGl0ZSIpLHRoaXMuX2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobiksbn19Y0YuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGNGKShUcihyRiw4KSxUcihtQyksVHIoc00pLFRyKGxGLDgpKX0sY0YuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IGNGKFRyKHJGLDgpLFRyKG1DKSxUcihzTSksVHIobEYsOCkpfSx0b2tlbjpjRixwcm92aWRlZEluOiJyb290In0pLGNGLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltyRl19XX0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltsRl19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoY0YsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbckZdfV19LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbbEZdfV19XX0pLG51bGwpO2NsYXNzIGRGe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9saXZlQW5ub3VuY2VyPWUsdGhpcy5fY29udGVudE9ic2VydmVyPW4sdGhpcy5fbmdab25lPW8sdGhpcy5fcG9saXRlbmVzcz0icG9saXRlIn1nZXQgcG9saXRlbmVzcygpe3JldHVybiB0aGlzLl9wb2xpdGVuZXNzfXNldCBwb2xpdGVuZXNzKHQpe3RoaXMuX3BvbGl0ZW5lc3M9Im9mZiI9PT10fHwiYXNzZXJ0aXZlIj09PXQ/dDoicG9saXRlIiwib2ZmIj09PXRoaXMuX3BvbGl0ZW5lc3M/dGhpcy5fc3Vic2NyaXB0aW9uJiYodGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fc3Vic2NyaXB0aW9uPW51bGwpOnRoaXMuX3N1YnNjcmlwdGlvbnx8KHRoaXMuX3N1YnNjcmlwdGlvbj10aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT50aGlzLl9jb250ZW50T2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9lbGVtZW50UmVmKS5zdWJzY3JpYmUoKCgpPT57Y29uc3QgdD10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7dCE9PXRoaXMuX3ByZXZpb3VzQW5ub3VuY2VkVGV4dCYmKHRoaXMuX2xpdmVBbm5vdW5jZXIuYW5ub3VuY2UodCx0aGlzLl9wb2xpdGVuZXNzKSx0aGlzLl9wcmV2aW91c0Fubm91bmNlZFRleHQ9dCl9KSkpKSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9zdWJzY3JpcHRpb24mJnRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfX1kRi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZEYpKGdmKEtoKSxnZihjRiksZ2YoT0gpLGdmKG1DKSl9LGRGLsm1ZGlyPWhvKHt0eXBlOmRGLHNlbGVjdG9yczpbWyIiLCJjZGtBcmlhTGl2ZSIsIiJdXSxpbnB1dHM6e3BvbGl0ZW5lc3M6WyJjZGtBcmlhTGl2ZSIsInBvbGl0ZW5lc3MiXX0sZXhwb3J0QXM6WyJjZGtBcmlhTGl2ZSJdfSksZEYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6Y0Z9LHt0eXBlOk9IfSx7dHlwZTptQ31dLGRGLnByb3BEZWNvcmF0b3JzPXtwb2xpdGVuZXNzOlt7dHlwZTpSXyxhcmdzOlsiY2RrQXJpYUxpdmUiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRGLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtBcmlhTGl2ZV0iLGV4cG9ydEFzOiJjZGtBcmlhTGl2ZSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6Y0Z9LHt0eXBlOk9IfSx7dHlwZTptQ31dfSkse3BvbGl0ZW5lc3M6W3t0eXBlOlJfLGFyZ3M6WyJjZGtBcmlhTGl2ZSJdfV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHBGPW5ldyBlcigiY2RrLWZvY3VzLW1vbml0b3ItZGVmYXVsdC1vcHRpb25zIiksbUY9Ykgoe3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0pO2NsYXNzIGZGe2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7dGhpcy5fbmdab25lPXQsdGhpcy5fcGxhdGZvcm09ZSx0aGlzLl9pbnB1dE1vZGFsaXR5RGV0ZWN0b3I9bix0aGlzLl9vcmlnaW49bnVsbCx0aGlzLl93aW5kb3dGb2N1c2VkPSExLHRoaXMuX29yaWdpbkZyb21Ub3VjaEludGVyYWN0aW9uPSExLHRoaXMuX2VsZW1lbnRJbmZvPW5ldyBNYXAsdGhpcy5fbW9uaXRvcmVkRWxlbWVudENvdW50PTAsdGhpcy5fcm9vdE5vZGVGb2N1c0xpc3RlbmVyQ291bnQ9bmV3IE1hcCx0aGlzLl93aW5kb3dGb2N1c0xpc3RlbmVyPSgpPT57dGhpcy5fd2luZG93Rm9jdXNlZD0hMCx0aGlzLl93aW5kb3dGb2N1c1RpbWVvdXRJZD1zZXRUaW1lb3V0KCgoKT0+dGhpcy5fd2luZG93Rm9jdXNlZD0hMSkpfSx0aGlzLl9zdG9wSW5wdXRNb2RhbGl0eURldGVjdG9yPW5ldyBCLHRoaXMuX3Jvb3ROb2RlRm9jdXNBbmRCbHVyTGlzdGVuZXI9dD0+e2NvbnN0IGU9dkgodCksbj0iZm9jdXMiPT09dC50eXBlP3RoaXMuX29uRm9jdXM6dGhpcy5fb25CbHVyO2ZvcihsZXQgbz1lO287bz1vLnBhcmVudEVsZW1lbnQpbi5jYWxsKHRoaXMsdCxvKX0sdGhpcy5fZG9jdW1lbnQ9byx0aGlzLl9kZXRlY3Rpb25Nb2RlPShudWxsPT1pP3ZvaWQgMDppLmRldGVjdGlvbk1vZGUpfHwwfW1vbml0b3IodCxlPSExKXtjb25zdCBuPXJIKHQpO2lmKCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXJ8fDEhPT1uLm5vZGVUeXBlKXJldHVybiB6dChudWxsKTtjb25zdCBvPUNIKG4pfHx0aGlzLl9nZXREb2N1bWVudCgpLGk9dGhpcy5fZWxlbWVudEluZm8uZ2V0KG4pO2lmKGkpcmV0dXJuIGUmJihpLmNoZWNrQ2hpbGRyZW49ITApLGkuc3ViamVjdDtjb25zdCBhPXtjaGVja0NoaWxkcmVuOmUsc3ViamVjdDpuZXcgQixyb290Tm9kZTpvfTtyZXR1cm4gdGhpcy5fZWxlbWVudEluZm8uc2V0KG4sYSksdGhpcy5fcmVnaXN0ZXJHbG9iYWxMaXN0ZW5lcnMoYSksYS5zdWJqZWN0fXN0b3BNb25pdG9yaW5nKHQpe2NvbnN0IGU9ckgodCksbj10aGlzLl9lbGVtZW50SW5mby5nZXQoZSk7biYmKG4uc3ViamVjdC5jb21wbGV0ZSgpLHRoaXMuX3NldENsYXNzZXMoZSksdGhpcy5fZWxlbWVudEluZm8uZGVsZXRlKGUpLHRoaXMuX3JlbW92ZUdsb2JhbExpc3RlbmVycyhuKSl9Zm9jdXNWaWEodCxlLG4pe2NvbnN0IG89ckgodCk7bz09PXRoaXMuX2dldERvY3VtZW50KCkuYWN0aXZlRWxlbWVudD90aGlzLl9nZXRDbG9zZXN0RWxlbWVudHNJbmZvKG8pLmZvckVhY2goKChbdCxuXSk9PnRoaXMuX29yaWdpbkNoYW5nZWQodCxlLG4pKSk6KHRoaXMuX3NldE9yaWdpbihlKSwiZnVuY3Rpb24iPT10eXBlb2Ygby5mb2N1cyYmby5mb2N1cyhuKSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9lbGVtZW50SW5mby5mb3JFYWNoKCgodCxlKT0+dGhpcy5zdG9wTW9uaXRvcmluZyhlKSkpfV9nZXREb2N1bWVudCgpe3JldHVybiB0aGlzLl9kb2N1bWVudHx8ZG9jdW1lbnR9X2dldFdpbmRvdygpe3JldHVybiB0aGlzLl9nZXREb2N1bWVudCgpLmRlZmF1bHRWaWV3fHx3aW5kb3d9X3RvZ2dsZUNsYXNzKHQsZSxuKXtuP3QuY2xhc3NMaXN0LmFkZChlKTp0LmNsYXNzTGlzdC5yZW1vdmUoZSl9X2dldEZvY3VzT3JpZ2luKHQpe3JldHVybiB0aGlzLl9vcmlnaW4/dGhpcy5fb3JpZ2luRnJvbVRvdWNoSW50ZXJhY3Rpb24/dGhpcy5fc2hvdWxkQmVBdHRyaWJ1dGVkVG9Ub3VjaCh0KT8idG91Y2giOiJwcm9ncmFtIjp0aGlzLl9vcmlnaW46dGhpcy5fd2luZG93Rm9jdXNlZCYmdGhpcy5fbGFzdEZvY3VzT3JpZ2luP3RoaXMuX2xhc3RGb2N1c09yaWdpbjoicHJvZ3JhbSJ9X3Nob3VsZEJlQXR0cmlidXRlZFRvVG91Y2godCl7cmV0dXJuIDE9PT10aGlzLl9kZXRlY3Rpb25Nb2RlfHwhIShudWxsPT10P3ZvaWQgMDp0LmNvbnRhaW5zKHRoaXMuX2lucHV0TW9kYWxpdHlEZXRlY3Rvci5fbW9zdFJlY2VudFRhcmdldCkpfV9zZXRDbGFzc2VzKHQsZSl7dGhpcy5fdG9nZ2xlQ2xhc3ModCwiY2RrLWZvY3VzZWQiLCEhZSksdGhpcy5fdG9nZ2xlQ2xhc3ModCwiY2RrLXRvdWNoLWZvY3VzZWQiLCJ0b3VjaCI9PT1lKSx0aGlzLl90b2dnbGVDbGFzcyh0LCJjZGsta2V5Ym9hcmQtZm9jdXNlZCIsImtleWJvYXJkIj09PWUpLHRoaXMuX3RvZ2dsZUNsYXNzKHQsImNkay1tb3VzZS1mb2N1c2VkIiwibW91c2UiPT09ZSksdGhpcy5fdG9nZ2xlQ2xhc3ModCwiY2RrLXByb2dyYW0tZm9jdXNlZCIsInByb2dyYW0iPT09ZSl9X3NldE9yaWdpbih0LGU9ITEpe3RoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PntpZih0aGlzLl9vcmlnaW49dCx0aGlzLl9vcmlnaW5Gcm9tVG91Y2hJbnRlcmFjdGlvbj0idG91Y2giPT09dCYmZSwwPT09dGhpcy5fZGV0ZWN0aW9uTW9kZSl7Y2xlYXJUaW1lb3V0KHRoaXMuX29yaWdpblRpbWVvdXRJZCk7dGhpcy5fb3JpZ2luVGltZW91dElkPXNldFRpbWVvdXQoKCgpPT50aGlzLl9vcmlnaW49bnVsbCksdGhpcy5fb3JpZ2luRnJvbVRvdWNoSW50ZXJhY3Rpb24/NjUwOjEpfX0pKX1fb25Gb2N1cyh0LGUpe2NvbnN0IG49dGhpcy5fZWxlbWVudEluZm8uZ2V0KGUpLG89dkgodCk7biYmKG4uY2hlY2tDaGlsZHJlbnx8ZT09PW8pJiZ0aGlzLl9vcmlnaW5DaGFuZ2VkKGUsdGhpcy5fZ2V0Rm9jdXNPcmlnaW4obyksbil9X29uQmx1cih0LGUpe2NvbnN0IG49dGhpcy5fZWxlbWVudEluZm8uZ2V0KGUpOyFufHxuLmNoZWNrQ2hpbGRyZW4mJnQucmVsYXRlZFRhcmdldCBpbnN0YW5jZW9mIE5vZGUmJmUuY29udGFpbnModC5yZWxhdGVkVGFyZ2V0KXx8KHRoaXMuX3NldENsYXNzZXMoZSksdGhpcy5fZW1pdE9yaWdpbihuLnN1YmplY3QsbnVsbCkpfV9lbWl0T3JpZ2luKHQsZSl7dGhpcy5fbmdab25lLnJ1bigoKCk9PnQubmV4dChlKSkpfV9yZWdpc3Rlckdsb2JhbExpc3RlbmVycyh0KXtpZighdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKXJldHVybjtjb25zdCBlPXQucm9vdE5vZGUsbj10aGlzLl9yb290Tm9kZUZvY3VzTGlzdGVuZXJDb3VudC5nZXQoZSl8fDA7bnx8dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e2UuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMuX3Jvb3ROb2RlRm9jdXNBbmRCbHVyTGlzdGVuZXIsbUYpLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fcm9vdE5vZGVGb2N1c0FuZEJsdXJMaXN0ZW5lcixtRil9KSksdGhpcy5fcm9vdE5vZGVGb2N1c0xpc3RlbmVyQ291bnQuc2V0KGUsbisxKSwxPT0rK3RoaXMuX21vbml0b3JlZEVsZW1lbnRDb3VudCYmKHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9nZXRXaW5kb3coKS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fd2luZG93Rm9jdXNMaXN0ZW5lcil9KSksdGhpcy5faW5wdXRNb2RhbGl0eURldGVjdG9yLm1vZGFsaXR5RGV0ZWN0ZWQucGlwZShqZSh0aGlzLl9zdG9wSW5wdXRNb2RhbGl0eURldGVjdG9yKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5fc2V0T3JpZ2luKHQsITApfSkpKX1fcmVtb3ZlR2xvYmFsTGlzdGVuZXJzKHQpe2NvbnN0IGU9dC5yb290Tm9kZTtpZih0aGlzLl9yb290Tm9kZUZvY3VzTGlzdGVuZXJDb3VudC5oYXMoZSkpe2NvbnN0IHQ9dGhpcy5fcm9vdE5vZGVGb2N1c0xpc3RlbmVyQ291bnQuZ2V0KGUpO3Q+MT90aGlzLl9yb290Tm9kZUZvY3VzTGlzdGVuZXJDb3VudC5zZXQoZSx0LTEpOihlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9yb290Tm9kZUZvY3VzQW5kQmx1ckxpc3RlbmVyLG1GKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX3Jvb3ROb2RlRm9jdXNBbmRCbHVyTGlzdGVuZXIsbUYpLHRoaXMuX3Jvb3ROb2RlRm9jdXNMaXN0ZW5lckNvdW50LmRlbGV0ZShlKSl9aWYoIS0tdGhpcy5fbW9uaXRvcmVkRWxlbWVudENvdW50KXt0aGlzLl9nZXRXaW5kb3coKS5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fd2luZG93Rm9jdXNMaXN0ZW5lciksdGhpcy5fc3RvcElucHV0TW9kYWxpdHlEZXRlY3Rvci5uZXh0KCksY2xlYXJUaW1lb3V0KHRoaXMuX3dpbmRvd0ZvY3VzVGltZW91dElkKSxjbGVhclRpbWVvdXQodGhpcy5fb3JpZ2luVGltZW91dElkKX19X29yaWdpbkNoYW5nZWQodCxlLG4pe3RoaXMuX3NldENsYXNzZXModCxlKSx0aGlzLl9lbWl0T3JpZ2luKG4uc3ViamVjdCxlKSx0aGlzLl9sYXN0Rm9jdXNPcmlnaW49ZX1fZ2V0Q2xvc2VzdEVsZW1lbnRzSW5mbyh0KXtjb25zdCBlPVtdO3JldHVybiB0aGlzLl9lbGVtZW50SW5mby5mb3JFYWNoKCgobixvKT0+eyhvPT09dHx8bi5jaGVja0NoaWxkcmVuJiZvLmNvbnRhaW5zKHQpKSYmZS5wdXNoKFtvLG5dKX0pKSxlfX1mRi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZkYpKFRyKG1DKSxUcihjSCksVHIoYUYpLFRyKHNNLDgpLFRyKHBGLDgpKX0sZkYuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IGZGKFRyKG1DKSxUcihjSCksVHIoYUYpLFRyKHNNLDgpLFRyKHBGLDgpKX0sdG9rZW46ZkYscHJvdmlkZWRJbjoicm9vdCJ9KSxmRi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6YUZ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbcEZdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGZGLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOmFGfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3BGXX1dfV19KSxudWxsKTtjbGFzcyB1Rntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9mb2N1c01vbml0b3I9ZSx0aGlzLmNka0ZvY3VzQ2hhbmdlPW5ldyBTeX1uZ0FmdGVyVmlld0luaXQoKXtjb25zdCB0PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDt0aGlzLl9tb25pdG9yU3Vic2NyaXB0aW9uPXRoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHQsMT09PXQubm9kZVR5cGUmJnQuaGFzQXR0cmlidXRlKCJjZGtNb25pdG9yU3VidHJlZUZvY3VzIikpLnN1YnNjcmliZSgodD0+dGhpcy5jZGtGb2N1c0NoYW5nZS5lbWl0KHQpKSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZiksdGhpcy5fbW9uaXRvclN1YnNjcmlwdGlvbiYmdGhpcy5fbW9uaXRvclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfX11Ri7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dUYpKGdmKEtoKSxnZihmRikpfSx1Ri7JtWRpcj1obyh7dHlwZTp1RixzZWxlY3RvcnM6W1siIiwiY2RrTW9uaXRvckVsZW1lbnRGb2N1cyIsIiJdLFsiIiwiY2RrTW9uaXRvclN1YnRyZWVGb2N1cyIsIiJdXSxvdXRwdXRzOntjZGtGb2N1c0NoYW5nZToiY2RrRm9jdXNDaGFuZ2UifX0pLHVGLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOmZGfV0sdUYucHJvcERlY29yYXRvcnM9e2Nka0ZvY3VzQ2hhbmdlOlt7dHlwZTpFX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHVGLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtNb25pdG9yRWxlbWVudEZvY3VzXSwgW2Nka01vbml0b3JTdWJ0cmVlRm9jdXNdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpmRn1dfSkse2Nka0ZvY3VzQ2hhbmdlOlt7dHlwZTpFX31dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBnRj0iY2RrLWhpZ2gtY29udHJhc3QtYmxhY2stb24td2hpdGUiLGhGPSJjZGstaGlnaC1jb250cmFzdC13aGl0ZS1vbi1ibGFjayIsYkY9ImNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSI7Y2xhc3MgeUZ7Y29uc3RydWN0b3IodCxlKXt0aGlzLl9wbGF0Zm9ybT10LHRoaXMuX2RvY3VtZW50PWV9Z2V0SGlnaENvbnRyYXN0TW9kZSgpe2lmKCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpcmV0dXJuIDA7Y29uc3QgdD10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LnN0eWxlLmJhY2tncm91bmRDb2xvcj0icmdiKDEsMiwzKSIsdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHRoaXMuX2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7Y29uc3QgZT10aGlzLl9kb2N1bWVudC5kZWZhdWx0Vmlld3x8d2luZG93LG49ZSYmZS5nZXRDb21wdXRlZFN0eWxlP2UuZ2V0Q29tcHV0ZWRTdHlsZSh0KTpudWxsLG89KG4mJm4uYmFja2dyb3VuZENvbG9yfHwiIikucmVwbGFjZSgvIC9nLCIiKTtzd2l0Y2godGhpcy5fZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0KSxvKXtjYXNlInJnYigwLDAsMCkiOnJldHVybiAyO2Nhc2UicmdiKDI1NSwyNTUsMjU1KSI6cmV0dXJuIDF9cmV0dXJuIDB9X2FwcGx5Qm9keUhpZ2hDb250cmFzdE1vZGVDc3NDbGFzc2VzKCl7aWYoIXRoaXMuX2hhc0NoZWNrZWRIaWdoQ29udHJhc3RNb2RlJiZ0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXImJnRoaXMuX2RvY3VtZW50LmJvZHkpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuYm9keS5jbGFzc0xpc3Q7dC5yZW1vdmUoYkYpLHQucmVtb3ZlKGdGKSx0LnJlbW92ZShoRiksdGhpcy5faGFzQ2hlY2tlZEhpZ2hDb250cmFzdE1vZGU9ITA7Y29uc3QgZT10aGlzLmdldEhpZ2hDb250cmFzdE1vZGUoKTsxPT09ZT8odC5hZGQoYkYpLHQuYWRkKGdGKSk6Mj09PWUmJih0LmFkZChiRiksdC5hZGQoaEYpKX19fXlGLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx5RikoVHIoY0gpLFRyKHNNKSl9LHlGLsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyB5RihUcihjSCksVHIoc00pKX0sdG9rZW46eUYscHJvdmlkZWRJbjoicm9vdCJ9KSx5Ri5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOmNIfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHlGLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIF9Ge2NvbnN0cnVjdG9yKHQpe3QuX2FwcGx5Qm9keUhpZ2hDb250cmFzdE1vZGVDc3NDbGFzc2VzKCl9fV9GLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxfRikoVHIoeUYpKX0sX0YuybVtb2Q9Zm8oe3R5cGU6X0Z9KSxfRi7JtWluaj1Ebih7aW1wb3J0czpbW2RILHdIXV19KSxfRi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnlGfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihfRixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W2RILHdIXSxkZWNsYXJhdGlvbnM6W2RGLEdILHVGXSxleHBvcnRzOltkRixHSCx1Rl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp5Rn1dfSksbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhfRix7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW2RGLEdILHVGXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltkSCx3SF19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bZEYsR0gsdUZdfX0pO2NvbnN0IENGPW5ldyBlcigiY2RrLWRpci1kb2MiLHtwcm92aWRlZEluOiJyb290IixmYWN0b3J5OmZ1bmN0aW9uIE1GKCl7cmV0dXJuIHpyKHNNKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovfSk7Y2xhc3MgdkZ7Y29uc3RydWN0b3IodCl7aWYodGhpcy52YWx1ZT0ibHRyIix0aGlzLmNoYW5nZT1uZXcgU3ksdCl7Y29uc3QgZT10LmRvY3VtZW50RWxlbWVudD90LmRvY3VtZW50RWxlbWVudC5kaXI6bnVsbCxuPSh0LmJvZHk/dC5ib2R5LmRpcjpudWxsKXx8ZTt0aGlzLnZhbHVlPSJsdHIiPT09bnx8InJ0bCI9PT1uP246Imx0ciJ9fW5nT25EZXN0cm95KCl7dGhpcy5jaGFuZ2UuY29tcGxldGUoKX19dkYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHZGKShUcihDRiw4KSl9LHZGLsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyB2RihUcihDRiw4KSl9LHRva2VuOnZGLHByb3ZpZGVkSW46InJvb3QifSksdkYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W0NGXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih2Rixbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltDRl19XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyB4Rntjb25zdHJ1Y3Rvcigpe3RoaXMuX2Rpcj0ibHRyIix0aGlzLl9pc0luaXRpYWxpemVkPSExLHRoaXMuY2hhbmdlPW5ldyBTeX1nZXQgZGlyKCl7cmV0dXJuIHRoaXMuX2Rpcn1zZXQgZGlyKHQpe2NvbnN0IGU9dGhpcy5fZGlyLG49dD90LnRvTG93ZXJDYXNlKCk6dDt0aGlzLl9yYXdEaXI9dCx0aGlzLl9kaXI9Imx0ciI9PT1ufHwicnRsIj09PW4/bjoibHRyIixlIT09dGhpcy5fZGlyJiZ0aGlzLl9pc0luaXRpYWxpemVkJiZ0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX2Rpcil9Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuZGlyfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX2lzSW5pdGlhbGl6ZWQ9ITB9bmdPbkRlc3Ryb3koKXt0aGlzLmNoYW5nZS5jb21wbGV0ZSgpfX14Ri7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eEYpfSx4Ri7JtWRpcj1obyh7dHlwZTp4RixzZWxlY3RvcnM6W1siIiwiZGlyIiwiIl1dLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJnltKCJkaXIiLG4uX3Jhd0Rpcil9LGlucHV0czp7ZGlyOiJkaXIifSxvdXRwdXRzOntjaGFuZ2U6ImRpckNoYW5nZSJ9LGV4cG9ydEFzOlsiZGlyIl0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTp2Rix1c2VFeGlzdGluZzp4Rn1dKV19KSx4Ri5wcm9wRGVjb3JhdG9ycz17Y2hhbmdlOlt7dHlwZTpFXyxhcmdzOlsiZGlyQ2hhbmdlIl19XSxkaXI6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeEYsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Rpcl0iLHByb3ZpZGVyczpbe3Byb3ZpZGU6dkYsdXNlRXhpc3Rpbmc6eEZ9XSxob3N0OnsiW2F0dHIuZGlyXSI6Il9yYXdEaXIifSxleHBvcnRBczoiZGlyIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSx7Y2hhbmdlOlt7dHlwZTpFXyxhcmdzOlsiZGlyQ2hhbmdlIl19XSxkaXI6W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIE9Ge31PRi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8T0YpfSxPRi7JtW1vZD1mbyh7dHlwZTpPRn0pLE9GLsm1aW5qPURuKHt9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE9GLFt7dHlwZTpMXyxhcmdzOlt7ZXhwb3J0czpbeEZdLGRlY2xhcmF0aW9uczpbeEZdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oT0Yse2RlY2xhcmF0aW9uczpbeEZdLGV4cG9ydHM6W3hGXX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgUEY9bmV3IG9iKCIxMi4yLjEiKSx3Rj1bIioiLFtbIm1hdC1vcHRpb24iXSxbIm5nLWNvbnRhaW5lciJdXV07ZnVuY3Rpb24ga0YodCxlKXtpZigxJnQmJnZmKDAsIm1hdC1wc2V1ZG8tY2hlY2tib3giLDQpLDImdCl7Y29uc3QgdD16ZigpO2JmKCJzdGF0ZSIsdC5zZWxlY3RlZD8iY2hlY2tlZCI6InVuY2hlY2tlZCIpKCJkaXNhYmxlZCIsdC5kaXNhYmxlZCl9fWZ1bmN0aW9uIFNGKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsNSksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksa3UoIigiLHQuZ3JvdXAubGFiZWwsIikiKX19bmV3IG9iKCIxMi4yLjMiKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIERGe31ERi5TVEFOREFSRF9DVVJWRT0iY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpIixERi5ERUNFTEVSQVRJT05fQ1VSVkU9ImN1YmljLWJlemllcigwLjAsMC4wLDAuMiwxKSIsREYuQUNDRUxFUkFUSU9OX0NVUlZFPSJjdWJpYy1iZXppZXIoMC40LDAuMCwxLDEpIixERi5TSEFSUF9DVVJWRT0iY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC42LDEpIjtjbGFzcyBSRnt9UkYuQ09NUExFWD0iMzc1bXMiLFJGLkVOVEVSSU5HPSIyMjVtcyIsUkYuRVhJVElORz0iMTk1bXMiOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgRUY9bmV3IG9iKCIxMi4yLjMiKTtjb25zdCBBRj1uZXcgZXIoIm1hdC1zYW5pdHktY2hlY2tzIix7cHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTpmdW5jdGlvbiBURigpe3JldHVybiEwfX0pO2NsYXNzIE5Ge2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9oYXNEb25lR2xvYmFsQ2hlY2tzPSExLHRoaXMuX2RvY3VtZW50PW4sdC5fYXBwbHlCb2R5SGlnaENvbnRyYXN0TW9kZUNzc0NsYXNzZXMoKSx0aGlzLl9zYW5pdHlDaGVja3M9ZSx0aGlzLl9oYXNEb25lR2xvYmFsQ2hlY2tzfHwodGhpcy5fY2hlY2tEb2N0eXBlSXNEZWZpbmVkKCksdGhpcy5fY2hlY2tUaGVtZUlzUHJlc2VudCgpLHRoaXMuX2NoZWNrQ2RrVmVyc2lvbk1hdGNoKCksdGhpcy5faGFzRG9uZUdsb2JhbENoZWNrcz0hMCl9X2dldFdpbmRvdygpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvdztyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJnQ/dDpudWxsfV9jaGVja0lzRW5hYmxlZCh0KXtyZXR1cm4hKCFQQygpfHx0aGlzLl9pc1Rlc3RFbnYoKSkmJigiYm9vbGVhbiI9PXR5cGVvZiB0aGlzLl9zYW5pdHlDaGVja3M/dGhpcy5fc2FuaXR5Q2hlY2tzOiEhdGhpcy5fc2FuaXR5Q2hlY2tzW3RdKX1faXNUZXN0RW52KCl7Y29uc3QgdD10aGlzLl9nZXRXaW5kb3coKTtyZXR1cm4gdCYmKHQuX19rYXJtYV9ffHx0Lmphc21pbmUpfV9jaGVja0RvY3R5cGVJc0RlZmluZWQoKXt0aGlzLl9jaGVja0lzRW5hYmxlZCgiZG9jdHlwZSIpJiYhdGhpcy5fZG9jdW1lbnQuZG9jdHlwZSYmY29uc29sZS53YXJuKCJDdXJyZW50IGRvY3VtZW50IGRvZXMgbm90IGhhdmUgYSBkb2N0eXBlLiBUaGlzIG1heSBjYXVzZSBzb21lIEFuZ3VsYXIgTWF0ZXJpYWwgY29tcG9uZW50cyBub3QgdG8gYmVoYXZlIGFzIGV4cGVjdGVkLiIpfV9jaGVja1RoZW1lSXNQcmVzZW50KCl7aWYoIXRoaXMuX2NoZWNrSXNFbmFibGVkKCJ0aGVtZSIpfHwhdGhpcy5fZG9jdW1lbnQuYm9keXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGdldENvbXB1dGVkU3R5bGUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc0xpc3QuYWRkKCJtYXQtdGhlbWUtbG9hZGVkLW1hcmtlciIpLHRoaXMuX2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7Y29uc3QgZT1nZXRDb21wdXRlZFN0eWxlKHQpO2UmJiJub25lIiE9PWUuZGlzcGxheSYmY29uc29sZS53YXJuKCJDb3VsZCBub3QgZmluZCBBbmd1bGFyIE1hdGVyaWFsIGNvcmUgdGhlbWUuIE1vc3QgTWF0ZXJpYWwgY29tcG9uZW50cyBtYXkgbm90IHdvcmsgYXMgZXhwZWN0ZWQuIEZvciBtb3JlIGluZm8gcmVmZXIgdG8gdGhlIHRoZW1pbmcgZ3VpZGU6IGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS90aGVtaW5nIiksdGhpcy5fZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0KX1fY2hlY2tDZGtWZXJzaW9uTWF0Y2goKXt0aGlzLl9jaGVja0lzRW5hYmxlZCgidmVyc2lvbiIpJiZFRi5mdWxsIT09UEYuZnVsbCYmY29uc29sZS53YXJuKCJUaGUgQW5ndWxhciBNYXRlcmlhbCB2ZXJzaW9uICgiK0VGLmZ1bGwrIikgZG9lcyBub3QgbWF0Y2ggdGhlIEFuZ3VsYXIgQ0RLIHZlcnNpb24gKCIrUEYuZnVsbCsiKS5cblBsZWFzZSBlbnN1cmUgdGhlIHZlcnNpb25zIG9mIHRoZXNlIHR3byBwYWNrYWdlcyBleGFjdGx5IG1hdGNoLiIpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIHpGKHQpe3JldHVybiBjbGFzcyBleHRlbmRzIHR7Y29uc3RydWN0b3IoLi4udCl7c3VwZXIoLi4udCksdGhpcy5fZGlzYWJsZWQ9ITF9Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkfXNldCBkaXNhYmxlZCh0KXt0aGlzLl9kaXNhYmxlZD1lSCh0KX19fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBJRih0LGUpe3JldHVybiBjbGFzcyBleHRlbmRzIHR7Y29uc3RydWN0b3IoLi4udCl7c3VwZXIoLi4udCksdGhpcy5kZWZhdWx0Q29sb3I9ZSx0aGlzLmNvbG9yPWV9Z2V0IGNvbG9yKCl7cmV0dXJuIHRoaXMuX2NvbG9yfXNldCBjb2xvcih0KXtjb25zdCBlPXR8fHRoaXMuZGVmYXVsdENvbG9yO2UhPT10aGlzLl9jb2xvciYmKHRoaXMuX2NvbG9yJiZ0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShgbWF0LSR7dGhpcy5fY29sb3J9YCksZSYmdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYG1hdC0ke2V9YCksdGhpcy5fY29sb3I9ZSl9fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gSEYodCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgdHtjb25zdHJ1Y3RvciguLi50KXtzdXBlciguLi50KSx0aGlzLl9kaXNhYmxlUmlwcGxlPSExfWdldCBkaXNhYmxlUmlwcGxlKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVSaXBwbGV9c2V0IGRpc2FibGVSaXBwbGUodCl7dGhpcy5fZGlzYWJsZVJpcHBsZT1lSCh0KX19fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBGRih0LGU9MCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgdHtjb25zdHJ1Y3RvciguLi50KXtzdXBlciguLi50KSx0aGlzLl90YWJJbmRleD1lLHRoaXMuZGVmYXVsdFRhYkluZGV4PWV9Z2V0IHRhYkluZGV4KCl7cmV0dXJuIHRoaXMuZGlzYWJsZWQ/LTE6dGhpcy5fdGFiSW5kZXh9c2V0IHRhYkluZGV4KHQpe3RoaXMuX3RhYkluZGV4PW51bGwhPXQ/bkgodCk6dGhpcy5kZWZhdWx0VGFiSW5kZXh9fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gTEYodCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgdHtjb25zdHJ1Y3RvciguLi50KXtzdXBlciguLi50KSx0aGlzLnN0YXRlQ2hhbmdlcz1uZXcgQix0aGlzLmVycm9yU3RhdGU9ITF9dXBkYXRlRXJyb3JTdGF0ZSgpe2NvbnN0IHQ9dGhpcy5lcnJvclN0YXRlLGU9KHRoaXMuZXJyb3JTdGF0ZU1hdGNoZXJ8fHRoaXMuX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcikuaXNFcnJvclN0YXRlKHRoaXMubmdDb250cm9sP3RoaXMubmdDb250cm9sLmNvbnRyb2w6bnVsbCx0aGlzLl9wYXJlbnRGb3JtR3JvdXB8fHRoaXMuX3BhcmVudEZvcm0pO2UhPT10JiYodGhpcy5lcnJvclN0YXRlPWUsdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpKX19fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBCRih0KXtyZXR1cm4gY2xhc3MgZXh0ZW5kcyB0e2NvbnN0cnVjdG9yKC4uLnQpe3N1cGVyKC4uLnQpLHRoaXMuX2lzSW5pdGlhbGl6ZWQ9ITEsdGhpcy5fcGVuZGluZ1N1YnNjcmliZXJzPVtdLHRoaXMuaW5pdGlhbGl6ZWQ9bmV3IFQoKHQ9Pnt0aGlzLl9pc0luaXRpYWxpemVkP3RoaXMuX25vdGlmeVN1YnNjcmliZXIodCk6dGhpcy5fcGVuZGluZ1N1YnNjcmliZXJzLnB1c2godCl9KSl9X21hcmtJbml0aWFsaXplZCgpe2lmKHRoaXMuX2lzSW5pdGlhbGl6ZWQmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBFcnJvcigiVGhpcyBkaXJlY3RpdmUgaGFzIGFscmVhZHkgYmVlbiBtYXJrZWQgYXMgaW5pdGlhbGl6ZWQgYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIHR3aWNlLiIpO3RoaXMuX2lzSW5pdGlhbGl6ZWQ9ITAsdGhpcy5fcGVuZGluZ1N1YnNjcmliZXJzLmZvckVhY2godGhpcy5fbm90aWZ5U3Vic2NyaWJlciksdGhpcy5fcGVuZGluZ1N1YnNjcmliZXJzPW51bGx9X25vdGlmeVN1YnNjcmliZXIodCl7dC5uZXh0KCksdC5jb21wbGV0ZSgpfX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9ORi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TkYpKFRyKHlGKSxUcihBRiw4KSxUcihzTSkpfSxORi7JtW1vZD1mbyh7dHlwZTpORn0pLE5GLsm1aW5qPURuKHtpbXBvcnRzOltbT0ZdLE9GXX0pLE5GLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6eUZ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbQUZdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTkYsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltPRl0sZXhwb3J0czpbT0ZdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6eUZ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbQUZdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dfSksbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhORix7aW1wb3J0czpmdW5jdGlvbigpe3JldHVybltPRl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bT0ZdfX0pO2NvbnN0IFZGPW5ldyBlcigiTUFUX0RBVEVfTE9DQUxFIix7cHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTpmdW5jdGlvbiBqRigpe3JldHVybiB6cihRXyl9fSk7Y2xhc3MgVUZ7Y29uc3RydWN0b3IoKXt0aGlzLl9sb2NhbGVDaGFuZ2VzPW5ldyBCLHRoaXMubG9jYWxlQ2hhbmdlcz10aGlzLl9sb2NhbGVDaGFuZ2VzfWdldFZhbGlkRGF0ZU9yTnVsbCh0KXtyZXR1cm4gdGhpcy5pc0RhdGVJbnN0YW5jZSh0KSYmdGhpcy5pc1ZhbGlkKHQpP3Q6bnVsbH1kZXNlcmlhbGl6ZSh0KXtyZXR1cm4gbnVsbD09dHx8dGhpcy5pc0RhdGVJbnN0YW5jZSh0KSYmdGhpcy5pc1ZhbGlkKHQpP3Q6dGhpcy5pbnZhbGlkKCl9c2V0TG9jYWxlKHQpe3RoaXMubG9jYWxlPXQsdGhpcy5fbG9jYWxlQ2hhbmdlcy5uZXh0KCl9Y29tcGFyZURhdGUodCxlKXtyZXR1cm4gdGhpcy5nZXRZZWFyKHQpLXRoaXMuZ2V0WWVhcihlKXx8dGhpcy5nZXRNb250aCh0KS10aGlzLmdldE1vbnRoKGUpfHx0aGlzLmdldERhdGUodCktdGhpcy5nZXREYXRlKGUpfXNhbWVEYXRlKHQsZSl7aWYodCYmZSl7bGV0IG49dGhpcy5pc1ZhbGlkKHQpLG89dGhpcy5pc1ZhbGlkKGUpO3JldHVybiBuJiZvPyF0aGlzLmNvbXBhcmVEYXRlKHQsZSk6bj09b31yZXR1cm4gdD09ZX1jbGFtcERhdGUodCxlLG4pe3JldHVybiBlJiZ0aGlzLmNvbXBhcmVEYXRlKHQsZSk8MD9lOm4mJnRoaXMuY29tcGFyZURhdGUodCxuKT4wP246dH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFdGPW5ldyBlcigibWF0LWRhdGUtZm9ybWF0cyIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9sZXQgR0Y7dHJ5e0dGPSJ1bmRlZmluZWQiIT10eXBlb2YgSW50bH1jYXRjaChtQ3Qpe0dGPSExfWNvbnN0IFlGPXtsb25nOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxzaG9ydDpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLG5hcnJvdzpbIkoiLCJGIiwiTSIsIkEiLCJNIiwiSiIsIkoiLCJBIiwiUyIsIk8iLCJOIiwiRCJdfSxxRj1LRigzMSwodD0+U3RyaW5nKHQrMSkpKSxaRj17bG9uZzpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sc2hvcnQ6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSxuYXJyb3c6WyJTIiwiTSIsIlQiLCJXIiwiVCIsIkYiLCJTIl19LFhGPS9eXGR7NH0tXGR7Mn0tXGR7Mn0oPzpUXGR7Mn06XGR7Mn06XGR7Mn0oPzpcLlxkKyk/KD86WnwoPzooPzpcK3wtKVxkezJ9OlxkezJ9KSk/KT8kLztmdW5jdGlvbiBLRih0LGUpe2NvbnN0IG49QXJyYXkodCk7Zm9yKGxldCBvPTA7bzx0O28rKyluW29dPWUobyk7cmV0dXJuIG59Y2xhc3MgSkYgZXh0ZW5kcyBVRntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy51c2VVdGNGb3JEaXNwbGF5PSEwLHN1cGVyLnNldExvY2FsZSh0KSx0aGlzLnVzZVV0Y0ZvckRpc3BsYXk9IWUuVFJJREVOVCx0aGlzLl9jbGFtcERhdGU9ZS5UUklERU5UfHxlLkVER0V9Z2V0WWVhcih0KXtyZXR1cm4gdC5nZXRGdWxsWWVhcigpfWdldE1vbnRoKHQpe3JldHVybiB0LmdldE1vbnRoKCl9Z2V0RGF0ZSh0KXtyZXR1cm4gdC5nZXREYXRlKCl9Z2V0RGF5T2ZXZWVrKHQpe3JldHVybiB0LmdldERheSgpfWdldE1vbnRoTmFtZXModCl7aWYoR0Ype2NvbnN0IGU9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5sb2NhbGUse21vbnRoOnQsdGltZVpvbmU6InV0YyJ9KTtyZXR1cm4gS0YoMTIsKHQ9PnRoaXMuX3N0cmlwRGlyZWN0aW9uYWxpdHlDaGFyYWN0ZXJzKHRoaXMuX2Zvcm1hdChlLG5ldyBEYXRlKDIwMTcsdCwxKSkpKSl9cmV0dXJuIFlGW3RdfWdldERhdGVOYW1lcygpe2lmKEdGKXtjb25zdCB0PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMubG9jYWxlLHtkYXk6Im51bWVyaWMiLHRpbWVab25lOiJ1dGMifSk7cmV0dXJuIEtGKDMxLChlPT50aGlzLl9zdHJpcERpcmVjdGlvbmFsaXR5Q2hhcmFjdGVycyh0aGlzLl9mb3JtYXQodCxuZXcgRGF0ZSgyMDE3LDAsZSsxKSkpKSl9cmV0dXJuIHFGfWdldERheU9mV2Vla05hbWVzKHQpe2lmKEdGKXtjb25zdCBlPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMubG9jYWxlLHt3ZWVrZGF5OnQsdGltZVpvbmU6InV0YyJ9KTtyZXR1cm4gS0YoNywodD0+dGhpcy5fc3RyaXBEaXJlY3Rpb25hbGl0eUNoYXJhY3RlcnModGhpcy5fZm9ybWF0KGUsbmV3IERhdGUoMjAxNywwLHQrMSkpKSkpfXJldHVybiBaRlt0XX1nZXRZZWFyTmFtZSh0KXtpZihHRil7Y29uc3QgZT1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLmxvY2FsZSx7eWVhcjoibnVtZXJpYyIsdGltZVpvbmU6InV0YyJ9KTtyZXR1cm4gdGhpcy5fc3RyaXBEaXJlY3Rpb25hbGl0eUNoYXJhY3RlcnModGhpcy5fZm9ybWF0KGUsdCkpfXJldHVybiBTdHJpbmcodGhpcy5nZXRZZWFyKHQpKX1nZXRGaXJzdERheU9mV2Vlaygpe3JldHVybiAwfWdldE51bURheXNJbk1vbnRoKHQpe3JldHVybiB0aGlzLmdldERhdGUodGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh0aGlzLmdldFllYXIodCksdGhpcy5nZXRNb250aCh0KSsxLDApKX1jbG9uZSh0KXtyZXR1cm4gbmV3IERhdGUodC5nZXRUaW1lKCkpfWNyZWF0ZURhdGUodCxlLG4pe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpe2lmKGU8MHx8ZT4xMSl0aHJvdyBFcnJvcihgSW52YWxpZCBtb250aCBpbmRleCAiJHtlfSIuIE1vbnRoIGluZGV4IGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDExLmApO2lmKG48MSl0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlICIke259Ii4gRGF0ZSBoYXMgdG8gYmUgZ3JlYXRlciB0aGFuIDAuYCl9bGV0IG89dGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh0LGUsbik7aWYoby5nZXRNb250aCgpIT1lJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSAiJHtufSIgZm9yIG1vbnRoIHdpdGggaW5kZXggIiR7ZX0iLmApO3JldHVybiBvfXRvZGF5KCl7cmV0dXJuIG5ldyBEYXRlfXBhcnNlKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdD9uZXcgRGF0ZSh0KTp0P25ldyBEYXRlKERhdGUucGFyc2UodCkpOm51bGx9Zm9ybWF0KHQsZSl7aWYoIXRoaXMuaXNWYWxpZCh0KSl0aHJvdyBFcnJvcigiTmF0aXZlRGF0ZUFkYXB0ZXI6IENhbm5vdCBmb3JtYXQgaW52YWxpZCBkYXRlLiIpO2lmKEdGKXt0aGlzLl9jbGFtcERhdGUmJih0LmdldEZ1bGxZZWFyKCk8MXx8dC5nZXRGdWxsWWVhcigpPjk5OTkpJiYodD10aGlzLmNsb25lKHQpKS5zZXRGdWxsWWVhcihNYXRoLm1heCgxLE1hdGgubWluKDk5OTksdC5nZXRGdWxsWWVhcigpKSkpLGU9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGUpLHt0aW1lWm9uZToidXRjIn0pO2NvbnN0IG49bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5sb2NhbGUsZSk7cmV0dXJuIHRoaXMuX3N0cmlwRGlyZWN0aW9uYWxpdHlDaGFyYWN0ZXJzKHRoaXMuX2Zvcm1hdChuLHQpKX1yZXR1cm4gdGhpcy5fc3RyaXBEaXJlY3Rpb25hbGl0eUNoYXJhY3RlcnModC50b0RhdGVTdHJpbmcoKSl9YWRkQ2FsZW5kYXJZZWFycyh0LGUpe3JldHVybiB0aGlzLmFkZENhbGVuZGFyTW9udGhzKHQsMTIqZSl9YWRkQ2FsZW5kYXJNb250aHModCxlKXtsZXQgbj10aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KHRoaXMuZ2V0WWVhcih0KSx0aGlzLmdldE1vbnRoKHQpK2UsdGhpcy5nZXREYXRlKHQpKTtyZXR1cm4gdGhpcy5nZXRNb250aChuKSE9KCh0aGlzLmdldE1vbnRoKHQpK2UpJTEyKzEyKSUxMiYmKG49dGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh0aGlzLmdldFllYXIobiksdGhpcy5nZXRNb250aChuKSwwKSksbn1hZGRDYWxlbmRhckRheXModCxlKXtyZXR1cm4gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh0aGlzLmdldFllYXIodCksdGhpcy5nZXRNb250aCh0KSx0aGlzLmdldERhdGUodCkrZSl9dG9Jc284NjAxKHQpe3JldHVyblt0LmdldFVUQ0Z1bGxZZWFyKCksdGhpcy5fMmRpZ2l0KHQuZ2V0VVRDTW9udGgoKSsxKSx0aGlzLl8yZGlnaXQodC5nZXRVVENEYXRlKCkpXS5qb2luKCItIil9ZGVzZXJpYWxpemUodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZighdClyZXR1cm4gbnVsbDtpZihYRi50ZXN0KHQpKXtsZXQgZT1uZXcgRGF0ZSh0KTtpZih0aGlzLmlzVmFsaWQoZSkpcmV0dXJuIGV9fXJldHVybiBzdXBlci5kZXNlcmlhbGl6ZSh0KX1pc0RhdGVJbnN0YW5jZSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIERhdGV9aXNWYWxpZCh0KXtyZXR1cm4haXNOYU4odC5nZXRUaW1lKCkpfWludmFsaWQoKXtyZXR1cm4gbmV3IERhdGUoTmFOKX1fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh0LGUsbil7Y29uc3Qgbz1uZXcgRGF0ZTtyZXR1cm4gby5zZXRGdWxsWWVhcih0LGUsbiksby5zZXRIb3VycygwLDAsMCwwKSxvfV8yZGlnaXQodCl7cmV0dXJuKCIwMCIrdCkuc2xpY2UoLTIpfV9zdHJpcERpcmVjdGlvbmFsaXR5Q2hhcmFjdGVycyh0KXtyZXR1cm4gdC5yZXBsYWNlKC9bXHUyMDBlXHUyMDBmXS9nLCIiKX1fZm9ybWF0KHQsZSl7Y29uc3Qgbj1uZXcgRGF0ZTtyZXR1cm4gbi5zZXRVVENGdWxsWWVhcihlLmdldEZ1bGxZZWFyKCksZS5nZXRNb250aCgpLGUuZ2V0RGF0ZSgpKSxuLnNldFVUQ0hvdXJzKGUuZ2V0SG91cnMoKSxlLmdldE1pbnV0ZXMoKSxlLmdldFNlY29uZHMoKSxlLmdldE1pbGxpc2Vjb25kcygpKSx0LmZvcm1hdChuKX19SkYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEpGKShUcihWRiw4KSxUcihjSCkpfSxKRi7JtXByb3Y9U24oe3Rva2VuOkpGLGZhY3Rvcnk6SkYuybVmYWN9KSxKRi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbVkZdfV19LHt0eXBlOmNIfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihKRixbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltWRl19XX0se3R5cGU6Y0h9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgUUZ7fVFGLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxRRil9LFFGLsm1bW9kPWZvKHt0eXBlOlFGfSksUUYuybVpbmo9RG4oe3Byb3ZpZGVyczpbe3Byb3ZpZGU6VUYsdXNlQ2xhc3M6SkZ9XSxpbXBvcnRzOltbZEhdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUUYsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltkSF0scHJvdmlkZXJzOlt7cHJvdmlkZTpVRix1c2VDbGFzczpKRn1dfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oUUYse2ltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bZEhdfX0pO2NvbnN0ICRGPXtwYXJzZTp7ZGF0ZUlucHV0Om51bGx9LGRpc3BsYXk6e2RhdGVJbnB1dDp7eWVhcjoibnVtZXJpYyIsbW9udGg6Im51bWVyaWMiLGRheToibnVtZXJpYyJ9LG1vbnRoWWVhckxhYmVsOnt5ZWFyOiJudW1lcmljIixtb250aDoic2hvcnQifSxkYXRlQTExeUxhYmVsOnt5ZWFyOiJudW1lcmljIixtb250aDoibG9uZyIsZGF5OiJudW1lcmljIn0sbW9udGhZZWFyQTExeUxhYmVsOnt5ZWFyOiJudW1lcmljIixtb250aDoibG9uZyJ9fX07Y2xhc3MgdEx7fXRMLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0TCl9LHRMLsm1bW9kPWZvKHt0eXBlOnRMfSksdEwuybVpbmo9RG4oe3Byb3ZpZGVyczpbe3Byb3ZpZGU6V0YsdXNlVmFsdWU6JEZ9XSxpbXBvcnRzOltbUUZdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodEwsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltRRl0scHJvdmlkZXJzOlt7cHJvdmlkZTpXRix1c2VWYWx1ZTokRn1dfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8odEwse2ltcG9ydHM6W1FGXX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgZUx7aXNFcnJvclN0YXRlKHQsZSl7cmV0dXJuISEodCYmdC5pbnZhbGlkJiYodC5kaXJ0eXx8ZSYmZS5zdWJtaXR0ZWQpKX19ZUwuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGVMKX0sZUwuybVwcm92PVNuKHt0b2tlbjplTCxmYWN0b3J5OmVMLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihlTCxbe3R5cGU6VW19XSxudWxsLG51bGwpO2NsYXNzIG5Me2lzRXJyb3JTdGF0ZSh0LGUpe3JldHVybiEhKHQmJnQuaW52YWxpZCYmKHQudG91Y2hlZHx8ZSYmZS5zdWJtaXR0ZWQpKX19bkwuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG5MKX0sbkwuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IG5MfSx0b2tlbjpuTCxwcm92aWRlZEluOiJyb290In0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobkwsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIG9Me31vTC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8b0wpfSxvTC7JtWRpcj1obyh7dHlwZTpvTCxzZWxlY3RvcnM6W1siIiwibWF0LWxpbmUiLCIiXSxbIiIsIm1hdExpbmUiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtbGluZSJdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihvTCxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbWF0LWxpbmVdLCBbbWF0TGluZV0iLGhvc3Q6e2NsYXNzOiJtYXQtbGluZSJ9fV19XSxudWxsLG51bGwpO2NsYXNzIGlMe31pTC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aUwpfSxpTC7JtW1vZD1mbyh7dHlwZTppTH0pLGlMLsm1aW5qPURuKHtpbXBvcnRzOltbTkZdLE5GXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaUwsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltORl0sZXhwb3J0czpbb0wsTkZdLGRlY2xhcmF0aW9uczpbb0xdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oaUwse2RlY2xhcmF0aW9uczpbb0xdLGltcG9ydHM6W05GXSxleHBvcnRzOltvTCxORl19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIGFMe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9yZW5kZXJlcj10LHRoaXMuZWxlbWVudD1lLHRoaXMuY29uZmlnPW4sdGhpcy5zdGF0ZT0zfWZhZGVPdXQoKXt0aGlzLl9yZW5kZXJlci5mYWRlT3V0UmlwcGxlKHRoaXMpfX1jb25zdCByTD17ZW50ZXJEdXJhdGlvbjoyMjUsZXhpdER1cmF0aW9uOjE1MH0sc0w9Ykgoe3Bhc3NpdmU6ITB9KSxsTD1bIm1vdXNlZG93biIsInRvdWNoc3RhcnQiXSxjTD1bIm1vdXNldXAiLCJtb3VzZWxlYXZlIiwidG91Y2hlbmQiLCJ0b3VjaGNhbmNlbCJdO2NsYXNzIGRMe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX3RhcmdldD10LHRoaXMuX25nWm9uZT1lLHRoaXMuX2lzUG9pbnRlckRvd249ITEsdGhpcy5fYWN0aXZlUmlwcGxlcz1uZXcgU2V0LHRoaXMuX3BvaW50ZXJVcEV2ZW50c1JlZ2lzdGVyZWQ9ITEsby5pc0Jyb3dzZXImJih0aGlzLl9jb250YWluZXJFbGVtZW50PXJIKG4pKX1mYWRlSW5SaXBwbGUodCxlLG49e30pe2NvbnN0IG89dGhpcy5fY29udGFpbmVyUmVjdD10aGlzLl9jb250YWluZXJSZWN0fHx0aGlzLl9jb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHJMKSxuLmFuaW1hdGlvbik7bi5jZW50ZXJlZCYmKHQ9by5sZWZ0K28ud2lkdGgvMixlPW8udG9wK28uaGVpZ2h0LzIpO2NvbnN0IGE9bi5yYWRpdXN8fChmdW5jdGlvbiByKHQsZSxuKXtjb25zdCBvPU1hdGgubWF4KE1hdGguYWJzKHQtbi5sZWZ0KSxNYXRoLmFicyh0LW4ucmlnaHQpKSxpPU1hdGgubWF4KE1hdGguYWJzKGUtbi50b3ApLE1hdGguYWJzKGUtbi5ib3R0b20pKTtyZXR1cm4gTWF0aC5zcXJ0KG8qbytpKmkpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKHQsZSxvKSxzPXQtby5sZWZ0LGw9ZS1vLnRvcCxjPWkuZW50ZXJEdXJhdGlvbixkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2QuY2xhc3NMaXN0LmFkZCgibWF0LXJpcHBsZS1lbGVtZW50IiksZC5zdHlsZS5sZWZ0PXMtYSsicHgiLGQuc3R5bGUudG9wPWwtYSsicHgiLGQuc3R5bGUuaGVpZ2h0PTIqYSsicHgiLGQuc3R5bGUud2lkdGg9MiphKyJweCIsbnVsbCE9bi5jb2xvciYmKGQuc3R5bGUuYmFja2dyb3VuZENvbG9yPW4uY29sb3IpLGQuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPWAke2N9bXNgLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQoZCksKGZ1bmN0aW9uIHAodCl7d2luZG93LmdldENvbXB1dGVkU3R5bGUodCkuZ2V0UHJvcGVydHlWYWx1ZSgib3BhY2l0eSIpfSkoZCksZC5zdHlsZS50cmFuc2Zvcm09InNjYWxlKDEpIjtjb25zdCBtPW5ldyBhTCh0aGlzLGQsbik7cmV0dXJuIG0uc3RhdGU9MCx0aGlzLl9hY3RpdmVSaXBwbGVzLmFkZChtKSxuLnBlcnNpc3RlbnR8fCh0aGlzLl9tb3N0UmVjZW50VHJhbnNpZW50UmlwcGxlPW0pLHRoaXMuX3J1blRpbWVvdXRPdXRzaWRlWm9uZSgoKCk9Pntjb25zdCB0PW09PT10aGlzLl9tb3N0UmVjZW50VHJhbnNpZW50UmlwcGxlO20uc3RhdGU9MSxuLnBlcnNpc3RlbnR8fHQmJnRoaXMuX2lzUG9pbnRlckRvd258fG0uZmFkZU91dCgpfSksYyksbX1mYWRlT3V0UmlwcGxlKHQpe2NvbnN0IGU9dGhpcy5fYWN0aXZlUmlwcGxlcy5kZWxldGUodCk7aWYodD09PXRoaXMuX21vc3RSZWNlbnRUcmFuc2llbnRSaXBwbGUmJih0aGlzLl9tb3N0UmVjZW50VHJhbnNpZW50UmlwcGxlPW51bGwpLHRoaXMuX2FjdGl2ZVJpcHBsZXMuc2l6ZXx8KHRoaXMuX2NvbnRhaW5lclJlY3Q9bnVsbCksIWUpcmV0dXJuO2NvbnN0IG49dC5lbGVtZW50LG89T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHJMKSx0LmNvbmZpZy5hbmltYXRpb24pO24uc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPWAke28uZXhpdER1cmF0aW9ufW1zYCxuLnN0eWxlLm9wYWNpdHk9IjAiLHQuc3RhdGU9Mix0aGlzLl9ydW5UaW1lb3V0T3V0c2lkZVpvbmUoKCgpPT57dC5zdGF0ZT0zLG4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKX0pLG8uZXhpdER1cmF0aW9uKX1mYWRlT3V0QWxsKCl7dGhpcy5fYWN0aXZlUmlwcGxlcy5mb3JFYWNoKCh0PT50LmZhZGVPdXQoKSkpfWZhZGVPdXRBbGxOb25QZXJzaXN0ZW50KCl7dGhpcy5fYWN0aXZlUmlwcGxlcy5mb3JFYWNoKCh0PT57dC5jb25maWcucGVyc2lzdGVudHx8dC5mYWRlT3V0KCl9KSl9c2V0dXBUcmlnZ2VyRXZlbnRzKHQpe2NvbnN0IGU9ckgodCk7ZSYmZSE9PXRoaXMuX3RyaWdnZXJFbGVtZW50JiYodGhpcy5fcmVtb3ZlVHJpZ2dlckV2ZW50cygpLHRoaXMuX3RyaWdnZXJFbGVtZW50PWUsdGhpcy5fcmVnaXN0ZXJFdmVudHMobEwpKX1oYW5kbGVFdmVudCh0KXsibW91c2Vkb3duIj09PXQudHlwZT90aGlzLl9vbk1vdXNlZG93bih0KToidG91Y2hzdGFydCI9PT10LnR5cGU/dGhpcy5fb25Ub3VjaFN0YXJ0KHQpOnRoaXMuX29uUG9pbnRlclVwKCksdGhpcy5fcG9pbnRlclVwRXZlbnRzUmVnaXN0ZXJlZHx8KHRoaXMuX3JlZ2lzdGVyRXZlbnRzKGNMKSx0aGlzLl9wb2ludGVyVXBFdmVudHNSZWdpc3RlcmVkPSEwKX1fb25Nb3VzZWRvd24odCl7Y29uc3QgZT10Rih0KSxuPXRoaXMuX2xhc3RUb3VjaFN0YXJ0RXZlbnQmJkRhdGUubm93KCk8dGhpcy5fbGFzdFRvdWNoU3RhcnRFdmVudCs4MDA7dGhpcy5fdGFyZ2V0LnJpcHBsZURpc2FibGVkfHxlfHxufHwodGhpcy5faXNQb2ludGVyRG93bj0hMCx0aGlzLmZhZGVJblJpcHBsZSh0LmNsaWVudFgsdC5jbGllbnRZLHRoaXMuX3RhcmdldC5yaXBwbGVDb25maWcpKX1fb25Ub3VjaFN0YXJ0KHQpe2lmKCF0aGlzLl90YXJnZXQucmlwcGxlRGlzYWJsZWQmJiFlRih0KSl7dGhpcy5fbGFzdFRvdWNoU3RhcnRFdmVudD1EYXRlLm5vdygpLHRoaXMuX2lzUG9pbnRlckRvd249ITA7Y29uc3QgZT10LmNoYW5nZWRUb3VjaGVzO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXRoaXMuZmFkZUluUmlwcGxlKGVbdF0uY2xpZW50WCxlW3RdLmNsaWVudFksdGhpcy5fdGFyZ2V0LnJpcHBsZUNvbmZpZyl9fV9vblBvaW50ZXJVcCgpe3RoaXMuX2lzUG9pbnRlckRvd24mJih0aGlzLl9pc1BvaW50ZXJEb3duPSExLHRoaXMuX2FjdGl2ZVJpcHBsZXMuZm9yRWFjaCgodD0+eyF0LmNvbmZpZy5wZXJzaXN0ZW50JiYoMT09PXQuc3RhdGV8fHQuY29uZmlnLnRlcm1pbmF0ZU9uUG9pbnRlclVwJiYwPT09dC5zdGF0ZSkmJnQuZmFkZU91dCgpfSkpKX1fcnVuVGltZW91dE91dHNpZGVab25lKHQsZT0wKXt0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT5zZXRUaW1lb3V0KHQsZSkpKX1fcmVnaXN0ZXJFdmVudHModCl7dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3QuZm9yRWFjaCgodD0+e3RoaXMuX3RyaWdnZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIodCx0aGlzLHNMKX0pKX0pKX1fcmVtb3ZlVHJpZ2dlckV2ZW50cygpe3RoaXMuX3RyaWdnZXJFbGVtZW50JiYobEwuZm9yRWFjaCgodD0+e3RoaXMuX3RyaWdnZXJFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodCx0aGlzLHNMKX0pKSx0aGlzLl9wb2ludGVyVXBFdmVudHNSZWdpc3RlcmVkJiZjTC5mb3JFYWNoKCh0PT57dGhpcy5fdHJpZ2dlckVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LHRoaXMsc0wpfSkpKX19Y29uc3QgcEw9bmV3IGVyKCJtYXQtcmlwcGxlLWdsb2JhbC1vcHRpb25zIik7Y2xhc3MgbUx7Y29uc3RydWN0b3IodCxlLG4sbyxpKXt0aGlzLl9lbGVtZW50UmVmPXQsdGhpcy5fYW5pbWF0aW9uTW9kZT1pLHRoaXMucmFkaXVzPTAsdGhpcy5fZGlzYWJsZWQ9ITEsdGhpcy5faXNJbml0aWFsaXplZD0hMSx0aGlzLl9nbG9iYWxPcHRpb25zPW98fHt9LHRoaXMuX3JpcHBsZVJlbmRlcmVyPW5ldyBkTCh0aGlzLGUsdCxuKX1nZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5fZGlzYWJsZWR9c2V0IGRpc2FibGVkKHQpe3QmJnRoaXMuZmFkZU91dEFsbE5vblBlcnNpc3RlbnQoKSx0aGlzLl9kaXNhYmxlZD10LHRoaXMuX3NldHVwVHJpZ2dlckV2ZW50c0lmRW5hYmxlZCgpfWdldCB0cmlnZ2VyKCl7cmV0dXJuIHRoaXMuX3RyaWdnZXJ8fHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudH1zZXQgdHJpZ2dlcih0KXt0aGlzLl90cmlnZ2VyPXQsdGhpcy5fc2V0dXBUcmlnZ2VyRXZlbnRzSWZFbmFibGVkKCl9bmdPbkluaXQoKXt0aGlzLl9pc0luaXRpYWxpemVkPSEwLHRoaXMuX3NldHVwVHJpZ2dlckV2ZW50c0lmRW5hYmxlZCgpfW5nT25EZXN0cm95KCl7dGhpcy5fcmlwcGxlUmVuZGVyZXIuX3JlbW92ZVRyaWdnZXJFdmVudHMoKX1mYWRlT3V0QWxsKCl7dGhpcy5fcmlwcGxlUmVuZGVyZXIuZmFkZU91dEFsbCgpfWZhZGVPdXRBbGxOb25QZXJzaXN0ZW50KCl7dGhpcy5fcmlwcGxlUmVuZGVyZXIuZmFkZU91dEFsbE5vblBlcnNpc3RlbnQoKX1nZXQgcmlwcGxlQ29uZmlnKCl7cmV0dXJue2NlbnRlcmVkOnRoaXMuY2VudGVyZWQscmFkaXVzOnRoaXMucmFkaXVzLGNvbG9yOnRoaXMuY29sb3IsYW5pbWF0aW9uOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMuX2dsb2JhbE9wdGlvbnMuYW5pbWF0aW9uKSwiTm9vcEFuaW1hdGlvbnMiPT09dGhpcy5fYW5pbWF0aW9uTW9kZT97ZW50ZXJEdXJhdGlvbjowLGV4aXREdXJhdGlvbjowfTp7fSksdGhpcy5hbmltYXRpb24pLHRlcm1pbmF0ZU9uUG9pbnRlclVwOnRoaXMuX2dsb2JhbE9wdGlvbnMudGVybWluYXRlT25Qb2ludGVyVXB9fWdldCByaXBwbGVEaXNhYmxlZCgpe3JldHVybiB0aGlzLmRpc2FibGVkfHwhIXRoaXMuX2dsb2JhbE9wdGlvbnMuZGlzYWJsZWR9X3NldHVwVHJpZ2dlckV2ZW50c0lmRW5hYmxlZCgpeyF0aGlzLmRpc2FibGVkJiZ0aGlzLl9pc0luaXRpYWxpemVkJiZ0aGlzLl9yaXBwbGVSZW5kZXJlci5zZXR1cFRyaWdnZXJFdmVudHModGhpcy50cmlnZ2VyKX1sYXVuY2godCxlPTAsbil7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0P3RoaXMuX3JpcHBsZVJlbmRlcmVyLmZhZGVJblJpcHBsZSh0LGUsT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMucmlwcGxlQ29uZmlnKSxuKSk6dGhpcy5fcmlwcGxlUmVuZGVyZXIuZmFkZUluUmlwcGxlKDAsMCxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdGhpcy5yaXBwbGVDb25maWcpLHQpKX19bUwuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG1MKShnZihLaCksZ2YobUMpLGdmKGNIKSxnZihwTCw4KSxnZihjayw4KSl9LG1MLsm1ZGlyPWhvKHt0eXBlOm1MLHNlbGVjdG9yczpbWyIiLCJtYXQtcmlwcGxlIiwiIl0sWyIiLCJtYXRSaXBwbGUiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtcmlwcGxlIl0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoIm1hdC1yaXBwbGUtdW5ib3VuZGVkIixuLnVuYm91bmRlZCl9LGlucHV0czp7cmFkaXVzOlsibWF0UmlwcGxlUmFkaXVzIiwicmFkaXVzIl0sZGlzYWJsZWQ6WyJtYXRSaXBwbGVEaXNhYmxlZCIsImRpc2FibGVkIl0sdHJpZ2dlcjpbIm1hdFJpcHBsZVRyaWdnZXIiLCJ0cmlnZ2VyIl0sY29sb3I6WyJtYXRSaXBwbGVDb2xvciIsImNvbG9yIl0sdW5ib3VuZGVkOlsibWF0UmlwcGxlVW5ib3VuZGVkIiwidW5ib3VuZGVkIl0sY2VudGVyZWQ6WyJtYXRSaXBwbGVDZW50ZXJlZCIsImNlbnRlcmVkIl0sYW5pbWF0aW9uOlsibWF0UmlwcGxlQW5pbWF0aW9uIiwiYW5pbWF0aW9uIl19LGV4cG9ydEFzOlsibWF0UmlwcGxlIl19KSxtTC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbcExdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XSxtTC5wcm9wRGVjb3JhdG9ycz17Y29sb3I6W3t0eXBlOlJfLGFyZ3M6WyJtYXRSaXBwbGVDb2xvciJdfV0sdW5ib3VuZGVkOlt7dHlwZTpSXyxhcmdzOlsibWF0UmlwcGxlVW5ib3VuZGVkIl19XSxjZW50ZXJlZDpbe3R5cGU6Ul8sYXJnczpbIm1hdFJpcHBsZUNlbnRlcmVkIl19XSxyYWRpdXM6W3t0eXBlOlJfLGFyZ3M6WyJtYXRSaXBwbGVSYWRpdXMiXX1dLGFuaW1hdGlvbjpbe3R5cGU6Ul8sYXJnczpbIm1hdFJpcHBsZUFuaW1hdGlvbiJdfV0sZGlzYWJsZWQ6W3t0eXBlOlJfLGFyZ3M6WyJtYXRSaXBwbGVEaXNhYmxlZCJdfV0sdHJpZ2dlcjpbe3R5cGU6Ul8sYXJnczpbIm1hdFJpcHBsZVRyaWdnZXIiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1MLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXQtcmlwcGxlXSwgW21hdFJpcHBsZV0iLGV4cG9ydEFzOiJtYXRSaXBwbGUiLGhvc3Q6e2NsYXNzOiJtYXQtcmlwcGxlIiwiW2NsYXNzLm1hdC1yaXBwbGUtdW5ib3VuZGVkXSI6InVuYm91bmRlZCJ9fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltwTF19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse3JhZGl1czpbe3R5cGU6Ul8sYXJnczpbIm1hdFJpcHBsZVJhZGl1cyJdfV0sZGlzYWJsZWQ6W3t0eXBlOlJfLGFyZ3M6WyJtYXRSaXBwbGVEaXNhYmxlZCJdfV0sdHJpZ2dlcjpbe3R5cGU6Ul8sYXJnczpbIm1hdFJpcHBsZVRyaWdnZXIiXX1dLGNvbG9yOlt7dHlwZTpSXyxhcmdzOlsibWF0UmlwcGxlQ29sb3IiXX1dLHVuYm91bmRlZDpbe3R5cGU6Ul8sYXJnczpbIm1hdFJpcHBsZVVuYm91bmRlZCJdfV0sY2VudGVyZWQ6W3t0eXBlOlJfLGFyZ3M6WyJtYXRSaXBwbGVDZW50ZXJlZCJdfV0sYW5pbWF0aW9uOlt7dHlwZTpSXyxhcmdzOlsibWF0UmlwcGxlQW5pbWF0aW9uIl19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgZkx7fWZMLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxmTCl9LGZMLsm1bW9kPWZvKHt0eXBlOmZMfSksZkwuybVpbmo9RG4oe2ltcG9ydHM6W1tORixkSF0sTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihmTCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W05GLGRIXSxleHBvcnRzOlttTCxORl0sZGVjbGFyYXRpb25zOlttTF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhmTCx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW21MXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltORixkSF19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bbUwsTkZdfX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgdUx7Y29uc3RydWN0b3IodCl7dGhpcy5fYW5pbWF0aW9uTW9kZT10LHRoaXMuc3RhdGU9InVuY2hlY2tlZCIsdGhpcy5kaXNhYmxlZD0hMX19dUwuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHVMKShnZihjayw4KSl9LHVMLsm1Y21wPXNvKHt0eXBlOnVMLHNlbGVjdG9yczpbWyJtYXQtcHNldWRvLWNoZWNrYm94Il1dLGhvc3RBdHRyczpbMSwibWF0LXBzZXVkby1jaGVja2JveCJdLGhvc3RWYXJzOjgsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJmN1KCJtYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUiLCJpbmRldGVybWluYXRlIj09PW4uc3RhdGUpKCJtYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQiLCJjaGVja2VkIj09PW4uc3RhdGUpKCJtYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkIixuLmRpc2FibGVkKSgiX21hdC1hbmltYXRpb24tbm9vcGFibGUiLCJOb29wQW5pbWF0aW9ucyI9PT1uLl9hbmltYXRpb25Nb2RlKX0saW5wdXRzOntzdGF0ZToic3RhdGUiLGRpc2FibGVkOiJkaXNhYmxlZCJ9LGRlY2xzOjAsdmFyczowLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXt9LHN0eWxlczpbJy5tYXQtcHNldWRvLWNoZWNrYm94e3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyOjJweCBzb2xpZDtib3JkZXItcmFkaXVzOjJweDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgOTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpLGJhY2tncm91bmQtY29sb3IgOTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpfS5tYXQtcHNldWRvLWNoZWNrYm94OjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7Y29udGVudDoiIjtib3JkZXItYm90dG9tOjJweCBzb2xpZCBjdXJyZW50Q29sb3I7dHJhbnNpdGlvbjpvcGFjaXR5IDkwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMC4xKX0ubWF0LXBzZXVkby1jaGVja2JveC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsLm1hdC1wc2V1ZG8tY2hlY2tib3gubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRle2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXBzZXVkby1jaGVja2JveHt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1wc2V1ZG8tY2hlY2tib3g6OmFmdGVye3RyYW5zaXRpb246bm9uZX0ubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlOjphZnRlcnt0b3A6NXB4O2xlZnQ6MXB4O3dpZHRoOjEwcHg7b3BhY2l0eToxO2JvcmRlci1yYWRpdXM6MnB4fS5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQ6OmFmdGVye3RvcDoyLjRweDtsZWZ0OjFweDt3aWR0aDo4cHg7aGVpZ2h0OjNweDtib3JkZXItbGVmdDoycHggc29saWQgY3VycmVudENvbG9yO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtvcGFjaXR5OjE7Ym94LXNpemluZzpjb250ZW50LWJveH1cbiddLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLHVMLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dLHVMLnByb3BEZWNvcmF0b3JzPXtzdGF0ZTpbe3R5cGU6Ul99XSxkaXNhYmxlZDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih1TCxbe3R5cGU6U18sYXJnczpbe2VuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLHNlbGVjdG9yOiJtYXQtcHNldWRvLWNoZWNrYm94Iix0ZW1wbGF0ZToiIixob3N0OntjbGFzczoibWF0LXBzZXVkby1jaGVja2JveCIsIltjbGFzcy5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGVdIjonc3RhdGUgPT09ICJpbmRldGVybWluYXRlIicsIltjbGFzcy5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWRdIjonc3RhdGUgPT09ICJjaGVja2VkIicsIltjbGFzcy5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkXSI6ImRpc2FibGVkIiwiW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSI6J19hbmltYXRpb25Nb2RlID09PSAiTm9vcEFuaW1hdGlvbnMiJ30sc3R5bGVzOlsnLm1hdC1wc2V1ZG8tY2hlY2tib3h7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXI6MnB4IHNvbGlkO2JvcmRlci1yYWRpdXM6MnB4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7ZmxleC1zaHJpbms6MDt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciA5MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSksYmFja2dyb3VuZC1jb2xvciA5MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSl9Lm1hdC1wc2V1ZG8tY2hlY2tib3g6OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO29wYWNpdHk6MDtjb250ZW50OiIiO2JvcmRlci1ib3R0b206MnB4IHNvbGlkIGN1cnJlbnRDb2xvcjt0cmFuc2l0aW9uOm9wYWNpdHkgOTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpfS5tYXQtcHNldWRvLWNoZWNrYm94Lm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwubWF0LXBzZXVkby1jaGVja2JveC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGV7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHNldWRvLWNoZWNrYm94e3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXBzZXVkby1jaGVja2JveDo6YWZ0ZXJ7dHJhbnNpdGlvbjpub25lfS5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6OmFmdGVye3RvcDo1cHg7bGVmdDoxcHg7d2lkdGg6MTBweDtvcGFjaXR5OjE7Ym9yZGVyLXJhZGl1czoycHh9Lm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZDo6YWZ0ZXJ7dG9wOjIuNHB4O2xlZnQ6MXB4O3dpZHRoOjhweDtoZWlnaHQ6M3B4O2JvcmRlci1sZWZ0OjJweCBzb2xpZCBjdXJyZW50Q29sb3I7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO29wYWNpdHk6MTtib3gtc2l6aW5nOmNvbnRlbnQtYm94fVxuJ119XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV19KSx7c3RhdGU6W3t0eXBlOlJffV0sZGlzYWJsZWQ6W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIGdMe31nTC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Z0wpfSxnTC7JtW1vZD1mbyh7dHlwZTpnTH0pLGdMLsm1aW5qPURuKHtpbXBvcnRzOltbTkZdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZ0wsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltORl0sZXhwb3J0czpbdUxdLGRlY2xhcmF0aW9uczpbdUxdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oZ0wse2RlY2xhcmF0aW9uczpbdUxdLGltcG9ydHM6W05GXSxleHBvcnRzOlt1TF19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IGhMPW5ldyBlcigiTUFUX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UIiksYkw9ekYoY2xhc3N7fSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2xldCB5TD0wO2NsYXNzIF9MIGV4dGVuZHMgYkx7Y29uc3RydWN0b3IodCl7dmFyIGU7c3VwZXIoKSx0aGlzLl9sYWJlbElkPSJtYXQtb3B0Z3JvdXAtbGFiZWwtIit5TCsrLHRoaXMuX2luZXJ0PW51bGwhPT0oZT1udWxsPT10P3ZvaWQgMDp0LmluZXJ0R3JvdXBzKSYmdm9pZCAwIT09ZSYmZX19X0wuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fF9MKShnZihoTCw4KSl9LF9MLsm1ZGlyPWhvKHt0eXBlOl9MLGlucHV0czp7bGFiZWw6ImxhYmVsIn0sZmVhdHVyZXM6W1FwXX0pLF9MLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2hMXX0se3R5cGU6QnJ9XX1dLF9MLnByb3BEZWNvcmF0b3JzPXtsYWJlbDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihfTCxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2hMXX0se3R5cGU6QnJ9XX1dfSkse2xhYmVsOlt7dHlwZTpSX31dfSk7Y29uc3QgQ0w9bmV3IGVyKCJNYXRPcHRncm91cCIpO2NsYXNzIE1MIGV4dGVuZHMgX0x7fU1MLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShNTCkpKShufHxNTCl9fSkoKSxNTC7JtWNtcD1zbyh7dHlwZTpNTCxzZWxlY3RvcnM6W1sibWF0LW9wdGdyb3VwIl1dLGhvc3RBdHRyczpbMSwibWF0LW9wdGdyb3VwIl0saG9zdFZhcnM6NSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmKHltKCJyb2xlIixuLl9pbmVydD9udWxsOiJncm91cCIpKCJhcmlhLWRpc2FibGVkIixuLl9pbmVydD9udWxsOm4uZGlzYWJsZWQudG9TdHJpbmcoKSkoImFyaWEtbGFiZWxsZWRieSIsbi5faW5lcnQ/bnVsbDpuLl9sYWJlbElkKSxjdSgibWF0LW9wdGdyb3VwLWRpc2FibGVkIixuLmRpc2FibGVkKSl9LGlucHV0czp7ZGlzYWJsZWQ6ImRpc2FibGVkIn0sZXhwb3J0QXM6WyJtYXRPcHRncm91cCJdLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6Q0wsdXNlRXhpc3Rpbmc6TUx9XSksUXBdLG5nQ29udGVudFNlbGVjdG9yczpbIioiLCJtYXQtb3B0aW9uLCBuZy1jb250YWluZXIiXSxkZWNsczo0LHZhcnM6Mixjb25zdHM6W1siYXJpYS1oaWRkZW4iLCJ0cnVlIiwxLCJtYXQtb3B0Z3JvdXAtbGFiZWwiLDMsImlkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZih3RiksQ2YoMCwic3BhbiIsMCksUHUoMSksRmYoMiksTWYoKSxGZigzLDEpKSwyJmUmJihiZigiaWQiLG4uX2xhYmVsSWQpLERjKDEpLGt1KCIiLG4ubGFiZWwsIiAiKSl9LHN0eWxlczpbIi5tYXQtb3B0Z3JvdXAtbGFiZWx7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6NDhweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTZweDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bWF4LXdpZHRoOjEwMCU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5tYXQtb3B0Z3JvdXAtbGFiZWxbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fVtkaXI9cnRsXSAubWF0LW9wdGdyb3VwLWxhYmVse3RleHQtYWxpZ246cmlnaHR9Lm1hdC1vcHRncm91cC1sYWJlbCAubWF0LWljb257bWFyZ2luLXJpZ2h0OjE2cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtb3B0Z3JvdXAtbGFiZWwgLm1hdC1pY29uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjp0b3B9W2Rpcj1ydGxdIC5tYXQtb3B0Z3JvdXAtbGFiZWwgLm1hdC1pY29ue21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjB9XG4iXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE1MLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1vcHRncm91cCIsZXhwb3J0QXM6Im1hdE9wdGdyb3VwIix0ZW1wbGF0ZTonPHNwYW4gY2xhc3M9Im1hdC1vcHRncm91cC1sYWJlbCIgYXJpYS1oaWRkZW49InRydWUiIFtpZF09Il9sYWJlbElkIj57eyBsYWJlbCB9fSA8bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuPG5nLWNvbnRlbnQgc2VsZWN0PSJtYXQtb3B0aW9uLCBuZy1jb250YWluZXIiPjwvbmctY29udGVudD5cbicsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsaW5wdXRzOlsiZGlzYWJsZWQiXSxob3N0OntjbGFzczoibWF0LW9wdGdyb3VwIiwiW2F0dHIucm9sZV0iOidfaW5lcnQgPyBudWxsIDogImdyb3VwIicsIlthdHRyLmFyaWEtZGlzYWJsZWRdIjoiX2luZXJ0ID8gbnVsbCA6IGRpc2FibGVkLnRvU3RyaW5nKCkiLCJbYXR0ci5hcmlhLWxhYmVsbGVkYnldIjoiX2luZXJ0ID8gbnVsbCA6IF9sYWJlbElkIiwiW2NsYXNzLm1hdC1vcHRncm91cC1kaXNhYmxlZF0iOiJkaXNhYmxlZCJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Q0wsdXNlRXhpc3Rpbmc6TUx9XSxzdHlsZXM6WyIubWF0LW9wdGdyb3VwLWxhYmVse3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjQ4cHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDE2cHg7dGV4dC1hbGlnbjpsZWZ0O3RleHQtZGVjb3JhdGlvbjpub25lO21heC13aWR0aDoxMDAlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6ZGVmYXVsdH0ubWF0LW9wdGdyb3VwLWxhYmVsW2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1bZGlyPXJ0bF0gLm1hdC1vcHRncm91cC1sYWJlbHt0ZXh0LWFsaWduOnJpZ2h0fS5tYXQtb3B0Z3JvdXAtbGFiZWwgLm1hdC1pY29ue21hcmdpbi1yaWdodDoxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWF0LW9wdGdyb3VwLWxhYmVsIC5tYXQtaWNvbiBzdmd7dmVydGljYWwtYWxpZ246dG9wfVtkaXI9cnRsXSAubWF0LW9wdGdyb3VwLWxhYmVsIC5tYXQtaWNvbnttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDowfVxuIl19XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpsZXQgdkw9MDtjbGFzcyB4THtjb25zdHJ1Y3Rvcih0LGU9ITEpe3RoaXMuc291cmNlPXQsdGhpcy5pc1VzZXJJbnB1dD1lfX1jbGFzcyBPTHtjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLl9lbGVtZW50PXQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9ZSx0aGlzLl9wYXJlbnQ9bix0aGlzLmdyb3VwPW8sdGhpcy5fc2VsZWN0ZWQ9ITEsdGhpcy5fYWN0aXZlPSExLHRoaXMuX2Rpc2FibGVkPSExLHRoaXMuX21vc3RSZWNlbnRWaWV3VmFsdWU9IiIsdGhpcy5pZD0ibWF0LW9wdGlvbi0iK3ZMKyssdGhpcy5vblNlbGVjdGlvbkNoYW5nZT1uZXcgU3ksdGhpcy5fc3RhdGVDaGFuZ2VzPW5ldyBCfWdldCBtdWx0aXBsZSgpe3JldHVybiB0aGlzLl9wYXJlbnQmJnRoaXMuX3BhcmVudC5tdWx0aXBsZX1nZXQgc2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWR9Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuZ3JvdXAmJnRoaXMuZ3JvdXAuZGlzYWJsZWR8fHRoaXMuX2Rpc2FibGVkfXNldCBkaXNhYmxlZCh0KXt0aGlzLl9kaXNhYmxlZD1lSCh0KX1nZXQgZGlzYWJsZVJpcHBsZSgpe3JldHVybiB0aGlzLl9wYXJlbnQmJnRoaXMuX3BhcmVudC5kaXNhYmxlUmlwcGxlfWdldCBhY3RpdmUoKXtyZXR1cm4gdGhpcy5fYWN0aXZlfWdldCB2aWV3VmFsdWUoKXtyZXR1cm4odGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS50ZXh0Q29udGVudHx8IiIpLnRyaW0oKX1zZWxlY3QoKXt0aGlzLl9zZWxlY3RlZHx8KHRoaXMuX3NlbGVjdGVkPSEwLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpLHRoaXMuX2VtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpKX1kZXNlbGVjdCgpe3RoaXMuX3NlbGVjdGVkJiYodGhpcy5fc2VsZWN0ZWQ9ITEsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCksdGhpcy5fZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCkpfWZvY3VzKHQsZSl7Y29uc3Qgbj10aGlzLl9nZXRIb3N0RWxlbWVudCgpOyJmdW5jdGlvbiI9PXR5cGVvZiBuLmZvY3VzJiZuLmZvY3VzKGUpfXNldEFjdGl2ZVN0eWxlcygpe3RoaXMuX2FjdGl2ZXx8KHRoaXMuX2FjdGl2ZT0hMCx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSl9c2V0SW5hY3RpdmVTdHlsZXMoKXt0aGlzLl9hY3RpdmUmJih0aGlzLl9hY3RpdmU9ITEsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpfWdldExhYmVsKCl7cmV0dXJuIHRoaXMudmlld1ZhbHVlfV9oYW5kbGVLZXlkb3duKHQpe3Qua2V5Q29kZSE9PVhJJiZ0LmtleUNvZGUhPT1KSXx8dEgodCl8fCh0aGlzLl9zZWxlY3RWaWFJbnRlcmFjdGlvbigpLHQucHJldmVudERlZmF1bHQoKSl9X3NlbGVjdFZpYUludGVyYWN0aW9uKCl7dGhpcy5kaXNhYmxlZHx8KHRoaXMuX3NlbGVjdGVkPSF0aGlzLm11bHRpcGxlfHwhdGhpcy5fc2VsZWN0ZWQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCksdGhpcy5fZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCEwKSl9X2dldEFyaWFTZWxlY3RlZCgpe3JldHVybiB0aGlzLnNlbGVjdGVkfHwhdGhpcy5tdWx0aXBsZSYmbnVsbH1fZ2V0VGFiSW5kZXgoKXtyZXR1cm4gdGhpcy5kaXNhYmxlZD8iLTEiOiIwIn1fZ2V0SG9zdEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50fW5nQWZ0ZXJWaWV3Q2hlY2tlZCgpe2lmKHRoaXMuX3NlbGVjdGVkKXtjb25zdCB0PXRoaXMudmlld1ZhbHVlO3QhPT10aGlzLl9tb3N0UmVjZW50Vmlld1ZhbHVlJiYodGhpcy5fbW9zdFJlY2VudFZpZXdWYWx1ZT10LHRoaXMuX3N0YXRlQ2hhbmdlcy5uZXh0KCkpfX1uZ09uRGVzdHJveSgpe3RoaXMuX3N0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpfV9lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQodD0hMSl7dGhpcy5vblNlbGVjdGlvbkNoYW5nZS5lbWl0KG5ldyB4TCh0aGlzLHQpKX19T0wuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE9MKShnZihLaCksZ2YoT2IpLGdmKHZvaWQgMCksZ2YoX0wpKX0sT0wuybVkaXI9aG8oe3R5cGU6T0wsaW5wdXRzOntpZDoiaWQiLGRpc2FibGVkOiJkaXNhYmxlZCIsdmFsdWU6InZhbHVlIn0sb3V0cHV0czp7b25TZWxlY3Rpb25DaGFuZ2U6Im9uU2VsZWN0aW9uQ2hhbmdlIn19KSxPTC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6dm9pZCAwfSx7dHlwZTpfTH1dLE9MLnByb3BEZWNvcmF0b3JzPXt2YWx1ZTpbe3R5cGU6Ul99XSxpZDpbe3R5cGU6Ul99XSxkaXNhYmxlZDpbe3R5cGU6Ul99XSxvblNlbGVjdGlvbkNoYW5nZTpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPTCxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDB9LHt0eXBlOl9MfV19KSx7aWQ6W3t0eXBlOlJffV0sb25TZWxlY3Rpb25DaGFuZ2U6W3t0eXBlOkVffV0sZGlzYWJsZWQ6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV19KTtjbGFzcyBQTCBleHRlbmRzIE9Me2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKHQsZSxuLG8pfX1mdW5jdGlvbiB3TCh0LGUsbil7aWYobi5sZW5ndGgpe2xldCBvPWUudG9BcnJheSgpLGk9bi50b0FycmF5KCksYT0wO2ZvcihsZXQgZT0wO2U8dCsxO2UrKylvW2VdLmdyb3VwJiZvW2VdLmdyb3VwPT09aVthXSYmYSsrO3JldHVybiBhfXJldHVybiAwfWZ1bmN0aW9uIGtMKHQsZSxuLG8pe3JldHVybiB0PG4/dDp0K2U+bitvP01hdGgubWF4KDAsdC1vK2UpOm59Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL1BMLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxQTCkoZ2YoS2gpLGdmKE9iKSxnZihoTCw4KSxnZihDTCw4KSl9LFBMLsm1Y21wPXNvKHt0eXBlOlBMLHNlbGVjdG9yczpbWyJtYXQtb3B0aW9uIl1dLGhvc3RBdHRyczpbInJvbGUiLCJvcHRpb24iLDEsIm1hdC1vcHRpb24iLCJtYXQtZm9jdXMtaW5kaWNhdG9yIl0saG9zdFZhcnM6MTIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fc2VsZWN0VmlhSW50ZXJhY3Rpb24oKX0pKSgia2V5ZG93biIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2hhbmRsZUtleWRvd24oZSl9KSksMiZlJiYoY2coImlkIixuLmlkKSx5bSgidGFiaW5kZXgiLG4uX2dldFRhYkluZGV4KCkpKCJhcmlhLXNlbGVjdGVkIixuLl9nZXRBcmlhU2VsZWN0ZWQoKSkoImFyaWEtZGlzYWJsZWQiLG4uZGlzYWJsZWQudG9TdHJpbmcoKSksY3UoIm1hdC1zZWxlY3RlZCIsbi5zZWxlY3RlZCkoIm1hdC1vcHRpb24tbXVsdGlwbGUiLG4ubXVsdGlwbGUpKCJtYXQtYWN0aXZlIixuLmFjdGl2ZSkoIm1hdC1vcHRpb24tZGlzYWJsZWQiLG4uZGlzYWJsZWQpKX0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXSxmZWF0dXJlczpbUXBdLG5nQ29udGVudFNlbGVjdG9yczpbIioiXSxkZWNsczo1LHZhcnM6NCxjb25zdHM6W1siY2xhc3MiLCJtYXQtb3B0aW9uLXBzZXVkby1jaGVja2JveCIsMywic3RhdGUiLCJkaXNhYmxlZCIsNCwibmdJZiJdLFsxLCJtYXQtb3B0aW9uLXRleHQiXSxbImNsYXNzIiwiY2RrLXZpc3VhbGx5LWhpZGRlbiIsNCwibmdJZiJdLFsibWF0LXJpcHBsZSIsIiIsMSwibWF0LW9wdGlvbi1yaXBwbGUiLDMsIm1hdFJpcHBsZVRyaWdnZXIiLCJtYXRSaXBwbGVEaXNhYmxlZCJdLFsxLCJtYXQtb3B0aW9uLXBzZXVkby1jaGVja2JveCIsMywic3RhdGUiLCJkaXNhYmxlZCJdLFsxLCJjZGstdmlzdWFsbHktaGlkZGVuIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZigpLEhtKDAsa0YsMSwyLCJtYXQtcHNldWRvLWNoZWNrYm94IiwwKSxDZigxLCJzcGFuIiwxKSxGZigyKSxNZigpLEhtKDMsU0YsMiwxLCJzcGFuIiwyKSx2Zig0LCJkaXYiLDMpKSwyJmUmJihiZigibmdJZiIsbi5tdWx0aXBsZSksRGMoMyksYmYoIm5nSWYiLG4uZ3JvdXAmJm4uZ3JvdXAuX2luZXJ0KSxEYygxKSxiZigibWF0UmlwcGxlVHJpZ2dlciIsbi5fZ2V0SG9zdEVsZW1lbnQoKSkoIm1hdFJpcHBsZURpc2FibGVkIixuLmRpc2FibGVkfHxuLmRpc2FibGVSaXBwbGUpKX0sZGlyZWN0aXZlczpbUHYsbUwsdUxdLHN0eWxlczpbIi5tYXQtb3B0aW9ue3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjQ4cHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDE2cHg7dGV4dC1hbGlnbjpsZWZ0O3RleHQtZGVjb3JhdGlvbjpub25lO21heC13aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O21heC13aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveDthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtb3B0aW9uW2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1bZGlyPXJ0bF0gLm1hdC1vcHRpb257dGV4dC1hbGlnbjpyaWdodH0ubWF0LW9wdGlvbiAubWF0LWljb257bWFyZ2luLXJpZ2h0OjE2cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtb3B0aW9uIC5tYXQtaWNvbiBzdmd7dmVydGljYWwtYWxpZ246dG9wfVtkaXI9cnRsXSAubWF0LW9wdGlvbiAubWF0LWljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6MH0ubWF0LW9wdGlvblthcmlhLWRpc2FibGVkPXRydWVdey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6ZGVmYXVsdH0ubWF0LW9wdGdyb3VwIC5tYXQtb3B0aW9uOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSl7cGFkZGluZy1sZWZ0OjMycHh9W2Rpcj1ydGxdIC5tYXQtb3B0Z3JvdXAgLm1hdC1vcHRpb246bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKXtwYWRkaW5nLWxlZnQ6MTZweDtwYWRkaW5nLXJpZ2h0OjMycHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LW9wdGlvbnttYXJnaW46MCAxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LW9wdGlvbi5tYXQtYWN0aXZle2JvcmRlcjpzb2xpZCAxcHggY3VycmVudENvbG9yO21hcmdpbjowfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1vcHRpb25bYXJpYS1kaXNhYmxlZD10cnVlXXtvcGFjaXR5Oi41fS5tYXQtb3B0aW9uLXRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxleC1ncm93OjE7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lm1hdC1vcHRpb24gLm1hdC1vcHRpb24tcmlwcGxle3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1hdC1vcHRpb24tcHNldWRvLWNoZWNrYm94e21hcmdpbi1yaWdodDo4cHh9W2Rpcj1ydGxdIC5tYXQtb3B0aW9uLXBzZXVkby1jaGVja2JveHttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjB9XG4iXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSxQTC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltoTF19XX0se3R5cGU6TUwsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W0NMXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihQTCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtb3B0aW9uIixleHBvcnRBczoibWF0T3B0aW9uIixob3N0Ontyb2xlOiJvcHRpb24iLCJbYXR0ci50YWJpbmRleF0iOiJfZ2V0VGFiSW5kZXgoKSIsIltjbGFzcy5tYXQtc2VsZWN0ZWRdIjoic2VsZWN0ZWQiLCJbY2xhc3MubWF0LW9wdGlvbi1tdWx0aXBsZV0iOiJtdWx0aXBsZSIsIltjbGFzcy5tYXQtYWN0aXZlXSI6ImFjdGl2ZSIsIltpZF0iOiJpZCIsIlthdHRyLmFyaWEtc2VsZWN0ZWRdIjoiX2dldEFyaWFTZWxlY3RlZCgpIiwiW2F0dHIuYXJpYS1kaXNhYmxlZF0iOiJkaXNhYmxlZC50b1N0cmluZygpIiwiW2NsYXNzLm1hdC1vcHRpb24tZGlzYWJsZWRdIjoiZGlzYWJsZWQiLCIoY2xpY2spIjoiX3NlbGVjdFZpYUludGVyYWN0aW9uKCkiLCIoa2V5ZG93bikiOiJfaGFuZGxlS2V5ZG93bigkZXZlbnQpIixjbGFzczoibWF0LW9wdGlvbiBtYXQtZm9jdXMtaW5kaWNhdG9yIn0sdGVtcGxhdGU6JzxtYXQtcHNldWRvLWNoZWNrYm94ICpuZ0lmPSJtdWx0aXBsZSIgY2xhc3M9Im1hdC1vcHRpb24tcHNldWRvLWNoZWNrYm94IlxuICAgIFtzdGF0ZV09InNlbGVjdGVkID8gXCdjaGVja2VkXCcgOiBcJ3VuY2hlY2tlZFwnIiBbZGlzYWJsZWRdPSJkaXNhYmxlZCI+PC9tYXQtcHNldWRvLWNoZWNrYm94PlxuXG48c3BhbiBjbGFzcz0ibWF0LW9wdGlvbi10ZXh0Ij48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuXG5ceDNjIS0tIFNlZSBhMTF5IG5vdGVzIGluc2lkZSBvcHRncm91cC50cyBmb3IgY29udGV4dCBiZWhpbmQgdGhpcyBlbGVtZW50LiAtLVx4M2VcbjxzcGFuIGNsYXNzPSJjZGstdmlzdWFsbHktaGlkZGVuIiAqbmdJZj0iZ3JvdXAgJiYgZ3JvdXAuX2luZXJ0Ij4oe3sgZ3JvdXAubGFiZWwgfX0pPC9zcGFuPlxuXG48ZGl2IGNsYXNzPSJtYXQtb3B0aW9uLXJpcHBsZSIgbWF0LXJpcHBsZVxuICAgICBbbWF0UmlwcGxlVHJpZ2dlcl09Il9nZXRIb3N0RWxlbWVudCgpIlxuICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPSJkaXNhYmxlZCB8fCBkaXNhYmxlUmlwcGxlIj5cbjwvZGl2PlxuJyxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxzdHlsZXM6WyIubWF0LW9wdGlvbnt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MCAxNnB4O3RleHQtYWxpZ246bGVmdDt0ZXh0LWRlY29yYXRpb246bm9uZTttYXgtd2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzttYXgtd2lkdGg6MTAwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ubWF0LW9wdGlvbltkaXNhYmxlZF17Y3Vyc29yOmRlZmF1bHR9W2Rpcj1ydGxdIC5tYXQtb3B0aW9ue3RleHQtYWxpZ246cmlnaHR9Lm1hdC1vcHRpb24gLm1hdC1pY29ue21hcmdpbi1yaWdodDoxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWF0LW9wdGlvbiAubWF0LWljb24gc3Zne3ZlcnRpY2FsLWFsaWduOnRvcH1bZGlyPXJ0bF0gLm1hdC1vcHRpb24gLm1hdC1pY29ue21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjB9Lm1hdC1vcHRpb25bYXJpYS1kaXNhYmxlZD10cnVlXXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Y3Vyc29yOmRlZmF1bHR9Lm1hdC1vcHRncm91cCAubWF0LW9wdGlvbjpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpe3BhZGRpbmctbGVmdDozMnB4fVtkaXI9cnRsXSAubWF0LW9wdGdyb3VwIC5tYXQtb3B0aW9uOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSl7cGFkZGluZy1sZWZ0OjE2cHg7cGFkZGluZy1yaWdodDozMnB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1vcHRpb257bWFyZ2luOjAgMXB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZXtib3JkZXI6c29saWQgMXB4IGN1cnJlbnRDb2xvcjttYXJnaW46MH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtb3B0aW9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17b3BhY2l0eTouNX0ubWF0LW9wdGlvbi10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZsZXgtZ3JvdzoxO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5tYXQtb3B0aW9uIC5tYXQtb3B0aW9uLXJpcHBsZXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfS5tYXQtb3B0aW9uLXBzZXVkby1jaGVja2JveHttYXJnaW4tcmlnaHQ6OHB4fVtkaXI9cnRsXSAubWF0LW9wdGlvbi1wc2V1ZG8tY2hlY2tib3h7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDowfVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbaExdfV19LHt0eXBlOk1MLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltDTF19XX1dfSksbnVsbCk7Y2xhc3MgU0x7fVNMLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxTTCl9LFNMLsm1bW9kPWZvKHt0eXBlOlNMfSksU0wuybVpbmo9RG4oe2ltcG9ydHM6W1tmTCxyeCxORixnTF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihTTCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W2ZMLHJ4LE5GLGdMXSxleHBvcnRzOltQTCxNTF0sZGVjbGFyYXRpb25zOltQTCxNTF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhTTCx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW1BMLE1MXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltmTCxyeCxORixnTF19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bUEwsTUxdfX0pO2NvbnN0IERMPVsibWF0LWJ1dHRvbiIsIiJdLFJMPVsiKiJdLEVMPSIubWF0LWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5OjB9Lm1hdC1idXR0b246aG92ZXI6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b246aG92ZXI6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjA0fUBtZWRpYShob3Zlcjogbm9uZSl7Lm1hdC1idXR0b246aG92ZXI6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b246aG92ZXI6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6MH19Lm1hdC1idXR0b24sLm1hdC1pY29uLWJ1dHRvbiwubWF0LXN0cm9rZWQtYnV0dG9uLC5tYXQtZmxhdC1idXR0b257Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDttaW4td2lkdGg6NjRweDtsaW5lLWhlaWdodDozNnB4O3BhZGRpbmc6MCAxNnB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93OnZpc2libGV9Lm1hdC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLm1hdC1pY29uLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwubWF0LXN0cm9rZWQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLC5tYXQtZmxhdC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWljb24tYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmxhdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ubWF0LWJ1dHRvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LWljb24tYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbi5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24uY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtZmxhdC1idXR0b24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LWZsYXQtYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi4xMn0ubWF0LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwubWF0LWljb24tYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLC5tYXQtc3Ryb2tlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLm1hdC1mbGF0LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0ubWF0LXJhaXNlZC1idXR0b257Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDttaW4td2lkdGg6NjRweDtsaW5lLWhlaWdodDozNnB4O3BhZGRpbmc6MCAxNnB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93OnZpc2libGU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApO3RyYW5zaXRpb246YmFja2dyb3VuZCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSl9Lm1hdC1yYWlzZWQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtcmFpc2VkLWJ1dHRvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtcmFpc2VkLWJ1dHRvbi5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouMTJ9Lm1hdC1yYWlzZWQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcmFpc2VkLWJ1dHRvbnt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1zdHJva2VkLWJ1dHRvbntib3JkZXI6MXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtwYWRkaW5nOjAgMTVweDtsaW5lLWhlaWdodDozNHB4fS5tYXQtc3Ryb2tlZC1idXR0b24gLm1hdC1idXR0b24tcmlwcGxlLm1hdC1yaXBwbGUsLm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e3RvcDotMXB4O2xlZnQ6LTFweDtyaWdodDotMXB4O2JvdHRvbTotMXB4fS5tYXQtZmFie2JveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTpub25lO2JvcmRlcjpub25lOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtkaXNwbGF5OmlubGluZS1ibG9jazt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bWluLXdpZHRoOjY0cHg7bGluZS1oZWlnaHQ6MzZweDtwYWRkaW5nOjAgMTZweDtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdzp2aXNpYmxlO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYm94LXNoYWRvdyAyODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO21pbi13aWR0aDowO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7cGFkZGluZzowO2ZsZXgtc2hyaW5rOjB9Lm1hdC1mYWI6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ubWF0LWZhYi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtZmFiLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi4xMn0ubWF0LWZhYjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LWZhYnt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1mYWIgLm1hdC1idXR0b24td3JhcHBlcntwYWRkaW5nOjE2cHggMDtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoyNHB4fS5tYXQtbWluaS1mYWJ7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDttaW4td2lkdGg6NjRweDtsaW5lLWhlaWdodDozNnB4O3BhZGRpbmc6MCAxNnB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93OnZpc2libGU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApO3RyYW5zaXRpb246YmFja2dyb3VuZCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7bWluLXdpZHRoOjA7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtwYWRkaW5nOjA7ZmxleC1zaHJpbms6MH0ubWF0LW1pbmktZmFiOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5tYXQtbWluaS1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ubWF0LW1pbmktZmFiLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1taW5pLWZhYi5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouMTJ9Lm1hdC1taW5pLWZhYjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LW1pbmktZmFie3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LW1pbmktZmFiIC5tYXQtYnV0dG9uLXdyYXBwZXJ7cGFkZGluZzo4cHggMDtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoyNHB4fS5tYXQtaWNvbi1idXR0b257cGFkZGluZzowO21pbi13aWR0aDowO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7ZmxleC1zaHJpbms6MDtsaW5lLWhlaWdodDo0MHB4O2JvcmRlci1yYWRpdXM6NTAlfS5tYXQtaWNvbi1idXR0b24gaSwubWF0LWljb24tYnV0dG9uIC5tYXQtaWNvbntsaW5lLWhlaWdodDoyNHB4fS5tYXQtYnV0dG9uLXJpcHBsZS5tYXQtcmlwcGxlLC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOmluaGVyaXR9Lm1hdC1idXR0b24tcmlwcGxlLm1hdC1yaXBwbGU6bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDIwMG1zIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKSxiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXt0cmFuc2l0aW9uOm5vbmV9Lm1hdC1idXR0b24tcmlwcGxlLXJvdW5ke2JvcmRlci1yYWRpdXM6NTAlO3otaW5kZXg6MX0ubWF0LWJ1dHRvbiAubWF0LWJ1dHRvbi13cmFwcGVyPiosLm1hdC1mbGF0LWJ1dHRvbiAubWF0LWJ1dHRvbi13cmFwcGVyPiosLm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LWJ1dHRvbi13cmFwcGVyPiosLm1hdC1yYWlzZWQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LWljb24tYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LWZhYiAubWF0LWJ1dHRvbi13cmFwcGVyPiosLm1hdC1taW5pLWZhYiAubWF0LWJ1dHRvbi13cmFwcGVyPip7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtZm9ybS1maWVsZDpub3QoLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5KSAubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24sLm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29uLWJ1dHRvbntkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZTppbmhlcml0O3dpZHRoOjIuNWVtO2hlaWdodDoyLjVlbX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mbGF0LWJ1dHRvbiwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtcmFpc2VkLWJ1dHRvbiwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtaWNvbi1idXR0b24sLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZhYiwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtbWluaS1mYWJ7b3V0bGluZTpzb2xpZCAxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi1iYXNlLmNkay1rZXlib2FyZC1mb2N1c2VkLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tYmFzZS5jZGstcHJvZ3JhbS1mb2N1c2Vke291dGxpbmU6c29saWQgM3B4fVxuIixBTD1bIm1hdC1idXR0b24iLCJtYXQtZmxhdC1idXR0b24iLCJtYXQtaWNvbi1idXR0b24iLCJtYXQtcmFpc2VkLWJ1dHRvbiIsIm1hdC1zdHJva2VkLWJ1dHRvbiIsIm1hdC1taW5pLWZhYiIsIm1hdC1mYWIiXSxUTD1JRih6RihIRihjbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLl9lbGVtZW50UmVmPXR9fSkpKTtjbGFzcyBOTCBleHRlbmRzIFRMe2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcih0KSx0aGlzLl9mb2N1c01vbml0b3I9ZSx0aGlzLl9hbmltYXRpb25Nb2RlPW4sdGhpcy5pc1JvdW5kQnV0dG9uPXRoaXMuX2hhc0hvc3RBdHRyaWJ1dGVzKCJtYXQtZmFiIiwibWF0LW1pbmktZmFiIiksdGhpcy5pc0ljb25CdXR0b249dGhpcy5faGFzSG9zdEF0dHJpYnV0ZXMoIm1hdC1pY29uLWJ1dHRvbiIpO2Zvcihjb25zdCB0IG9mIEFMKXRoaXMuX2hhc0hvc3RBdHRyaWJ1dGVzKHQpJiZ0aGlzLl9nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQodCk7dC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoIm1hdC1idXR0b24tYmFzZSIpLHRoaXMuaXNSb3VuZEJ1dHRvbiYmKHRoaXMuY29sb3I9ImFjY2VudCIpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsITApfW5nT25EZXN0cm95KCl7dGhpcy5fZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYpfWZvY3VzKHQsZSl7dD90aGlzLl9mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSx0LGUpOnRoaXMuX2dldEhvc3RFbGVtZW50KCkuZm9jdXMoZSl9X2dldEhvc3RFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudH1faXNSaXBwbGVEaXNhYmxlZCgpe3JldHVybiB0aGlzLmRpc2FibGVSaXBwbGV8fHRoaXMuZGlzYWJsZWR9X2hhc0hvc3RBdHRyaWJ1dGVzKC4uLnQpe3JldHVybiB0LnNvbWUoKHQ9PnRoaXMuX2dldEhvc3RFbGVtZW50KCkuaGFzQXR0cmlidXRlKHQpKSl9fU5MLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxOTCkoZ2YoS2gpLGdmKGZGKSxnZihjayw4KSl9LE5MLsm1Y21wPXNvKHt0eXBlOk5MLHNlbGVjdG9yczpbWyJidXR0b24iLCJtYXQtYnV0dG9uIiwiIl0sWyJidXR0b24iLCJtYXQtcmFpc2VkLWJ1dHRvbiIsIiJdLFsiYnV0dG9uIiwibWF0LWljb24tYnV0dG9uIiwiIl0sWyJidXR0b24iLCJtYXQtZmFiIiwiIl0sWyJidXR0b24iLCJtYXQtbWluaS1mYWIiLCIiXSxbImJ1dHRvbiIsIm1hdC1zdHJva2VkLWJ1dHRvbiIsIiJdLFsiYnV0dG9uIiwibWF0LWZsYXQtYnV0dG9uIiwiIl1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeShtTCw1KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLnJpcHBsZT10LmZpcnN0KX19LGhvc3RBdHRyczpbMSwibWF0LWZvY3VzLWluZGljYXRvciJdLGhvc3RWYXJzOjUsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJih5bSgiZGlzYWJsZWQiLG4uZGlzYWJsZWR8fG51bGwpLGN1KCJfbWF0LWFuaW1hdGlvbi1ub29wYWJsZSIsIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGUpKCJtYXQtYnV0dG9uLWRpc2FibGVkIixuLmRpc2FibGVkKSl9LGlucHV0czp7ZGlzYWJsZWQ6ImRpc2FibGVkIixkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIixjb2xvcjoiY29sb3IifSxleHBvcnRBczpbIm1hdEJ1dHRvbiJdLGZlYXR1cmVzOltRcF0sYXR0cnM6REwsbmdDb250ZW50U2VsZWN0b3JzOlJMLGRlY2xzOjQsdmFyczo1LGNvbnN0czpbWzEsIm1hdC1idXR0b24td3JhcHBlciJdLFsibWF0UmlwcGxlIiwiIiwxLCJtYXQtYnV0dG9uLXJpcHBsZSIsMywibWF0UmlwcGxlRGlzYWJsZWQiLCJtYXRSaXBwbGVDZW50ZXJlZCIsIm1hdFJpcHBsZVRyaWdnZXIiXSxbMSwibWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5Il1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZigpLENmKDAsInNwYW4iLDApLEZmKDEpLE1mKCksdmYoMiwic3BhbiIsMSksdmYoMywic3BhbiIsMikpLDImZSYmKERjKDIpLGN1KCJtYXQtYnV0dG9uLXJpcHBsZS1yb3VuZCIsbi5pc1JvdW5kQnV0dG9ufHxuLmlzSWNvbkJ1dHRvbiksYmYoIm1hdFJpcHBsZURpc2FibGVkIixuLl9pc1JpcHBsZURpc2FibGVkKCkpKCJtYXRSaXBwbGVDZW50ZXJlZCIsbi5pc0ljb25CdXR0b24pKCJtYXRSaXBwbGVUcmlnZ2VyIixuLl9nZXRIb3N0RWxlbWVudCgpKSl9LGRpcmVjdGl2ZXM6W21MXSxzdHlsZXM6W0VMXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSxOTC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpmRn0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dLE5MLnByb3BEZWNvcmF0b3JzPXtyaXBwbGU6W3t0eXBlOmFyLGFyZ3M6W21MXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE5MLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0sXG4gICAgICAgICAgICAgYnV0dG9uW21hdC1mYWJdLCBidXR0b25bbWF0LW1pbmktZmFiXSwgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0sXG4gICAgICAgICAgICAgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0iLGV4cG9ydEFzOiJtYXRCdXR0b24iLGhvc3Q6eyJbYXR0ci5kaXNhYmxlZF0iOiJkaXNhYmxlZCB8fCBudWxsIiwiW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSI6J19hbmltYXRpb25Nb2RlID09PSAiTm9vcEFuaW1hdGlvbnMiJywiW2NsYXNzLm1hdC1idXR0b24tZGlzYWJsZWRdIjoiZGlzYWJsZWQiLGNsYXNzOiJtYXQtZm9jdXMtaW5kaWNhdG9yIn0sdGVtcGxhdGU6JzxzcGFuIGNsYXNzPSJtYXQtYnV0dG9uLXdyYXBwZXIiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XG48c3BhbiBtYXRSaXBwbGUgY2xhc3M9Im1hdC1idXR0b24tcmlwcGxlIlxuICAgICAgW2NsYXNzLm1hdC1idXR0b24tcmlwcGxlLXJvdW5kXT0iaXNSb3VuZEJ1dHRvbiB8fCBpc0ljb25CdXR0b24iXG4gICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPSJfaXNSaXBwbGVEaXNhYmxlZCgpIlxuICAgICAgW21hdFJpcHBsZUNlbnRlcmVkXT0iaXNJY29uQnV0dG9uIlxuICAgICAgW21hdFJpcHBsZVRyaWdnZXJdPSJfZ2V0SG9zdEVsZW1lbnQoKSI+PC9zcGFuPlxuPHNwYW4gY2xhc3M9Im1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSI+PC9zcGFuPlxuJyxpbnB1dHM6WyJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJjb2xvciJdLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLHN0eWxlczpbIi5tYXQtYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6MH0ubWF0LWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouMDR9QG1lZGlhKGhvdmVyOiBub25lKXsubWF0LWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTowfX0ubWF0LWJ1dHRvbiwubWF0LWljb24tYnV0dG9uLC5tYXQtc3Ryb2tlZC1idXR0b24sLm1hdC1mbGF0LWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO21pbi13aWR0aDo2NHB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwubWF0LWljb24tYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLC5tYXQtc3Ryb2tlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLm1hdC1mbGF0LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0ubWF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtaWNvbi1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1idXR0b24uY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LWljb24tYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LXN0cm9rZWQtYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1mbGF0LWJ1dHRvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtZmxhdC1idXR0b24uY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjEyfS5tYXQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLC5tYXQtaWNvbi1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLm1hdC1zdHJva2VkLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwubWF0LWZsYXQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5tYXQtcmFpc2VkLWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO21pbi13aWR0aDo2NHB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6dmlzaWJsZTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKX0ubWF0LXJhaXNlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9Lm1hdC1yYWlzZWQtYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1yYWlzZWQtYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi4xMn0ubWF0LXJhaXNlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1yYWlzZWQtYnV0dG9ue3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXN0cm9rZWQtYnV0dG9ue2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yO3BhZGRpbmc6MCAxNXB4O2xpbmUtaGVpZ2h0OjM0cHh9Lm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LWJ1dHRvbi1yaXBwbGUubWF0LXJpcHBsZSwubWF0LXN0cm9rZWQtYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7dG9wOi0xcHg7bGVmdDotMXB4O3JpZ2h0Oi0xcHg7Ym90dG9tOi0xcHh9Lm1hdC1mYWJ7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDttaW4td2lkdGg6NjRweDtsaW5lLWhlaWdodDozNnB4O3BhZGRpbmc6MCAxNnB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93OnZpc2libGU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApO3RyYW5zaXRpb246YmFja2dyb3VuZCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7bWluLXdpZHRoOjA7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjA7ZmxleC1zaHJpbms6MH0ubWF0LWZhYjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0ubWF0LWZhYi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtZmFiLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1mYWIuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjEyfS5tYXQtZmFiOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtZmFie3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LWZhYiAubWF0LWJ1dHRvbi13cmFwcGVye3BhZGRpbmc6MTZweCAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1taW5pLWZhYntib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO21pbi13aWR0aDo2NHB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6dmlzaWJsZTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTttaW4td2lkdGg6MDtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6MDtmbGV4LXNocmluazowfS5tYXQtbWluaS1mYWI6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1taW5pLWZhYi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtbWluaS1mYWIuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LW1pbmktZmFiLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi4xMn0ubWF0LW1pbmktZmFiOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtbWluaS1mYWJ7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtbWluaS1mYWIgLm1hdC1idXR0b24td3JhcHBlcntwYWRkaW5nOjhweCAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1pY29uLWJ1dHRvbntwYWRkaW5nOjA7bWluLXdpZHRoOjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtmbGV4LXNocmluazowO2xpbmUtaGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czo1MCV9Lm1hdC1pY29uLWJ1dHRvbiBpLC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29ue2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1idXR0b24tcmlwcGxlLm1hdC1yaXBwbGUsLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1yYWRpdXM6aW5oZXJpdH0ubWF0LWJ1dHRvbi1yaXBwbGUubWF0LXJpcHBsZTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgMjAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgMjAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e3RyYW5zaXRpb246bm9uZX0ubWF0LWJ1dHRvbi1yaXBwbGUtcm91bmR7Ym9yZGVyLXJhZGl1czo1MCU7ei1pbmRleDoxfS5tYXQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LWZsYXQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LXN0cm9rZWQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LXJhaXNlZC1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcj4qLC5tYXQtaWNvbi1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcj4qLC5tYXQtZmFiIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LW1pbmktZmFiIC5tYXQtYnV0dG9uLXdyYXBwZXI+Knt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiwubWF0LWZvcm0tZmllbGQ6bm90KC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSkgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOmluaGVyaXQ7d2lkdGg6Mi41ZW07aGVpZ2h0OjIuNWVtfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24sLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZsYXQtYnV0dG9uLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1yYWlzZWQtYnV0dG9uLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1pY29uLWJ1dHRvbiwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZmFiLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1taW5pLWZhYntvdXRsaW5lOnNvbGlkIDFweH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLWJhc2UuY2RrLWtleWJvYXJkLWZvY3VzZWQsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi1iYXNlLmNkay1wcm9ncmFtLWZvY3VzZWR7b3V0bGluZTpzb2xpZCAzcHh9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpmRn0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse3JpcHBsZTpbe3R5cGU6YXIsYXJnczpbbUxdfV19KTtjbGFzcyB6TCBleHRlbmRzIE5Me2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcihlLHQsbil9X2hhbHREaXNhYmxlZEV2ZW50cyh0KXt0aGlzLmRpc2FibGVkJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX16TC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ekwpKGdmKGZGKSxnZihLaCksZ2YoY2ssOCkpfSx6TC7JtWNtcD1zbyh7dHlwZTp6TCxzZWxlY3RvcnM6W1siYSIsIm1hdC1idXR0b24iLCIiXSxbImEiLCJtYXQtcmFpc2VkLWJ1dHRvbiIsIiJdLFsiYSIsIm1hdC1pY29uLWJ1dHRvbiIsIiJdLFsiYSIsIm1hdC1mYWIiLCIiXSxbImEiLCJtYXQtbWluaS1mYWIiLCIiXSxbImEiLCJtYXQtc3Ryb2tlZC1idXR0b24iLCIiXSxbImEiLCJtYXQtZmxhdC1idXR0b24iLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtZm9jdXMtaW5kaWNhdG9yIl0saG9zdFZhcnM6Nyxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFsdERpc2FibGVkRXZlbnRzKGUpfSkpLDImZSYmKHltKCJ0YWJpbmRleCIsbi5kaXNhYmxlZD8tMTpuLnRhYkluZGV4fHwwKSgiZGlzYWJsZWQiLG4uZGlzYWJsZWR8fG51bGwpKCJhcmlhLWRpc2FibGVkIixuLmRpc2FibGVkLnRvU3RyaW5nKCkpLGN1KCJfbWF0LWFuaW1hdGlvbi1ub29wYWJsZSIsIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGUpKCJtYXQtYnV0dG9uLWRpc2FibGVkIixuLmRpc2FibGVkKSl9LGlucHV0czp7ZGlzYWJsZWQ6ImRpc2FibGVkIixkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIixjb2xvcjoiY29sb3IiLHRhYkluZGV4OiJ0YWJJbmRleCJ9LGV4cG9ydEFzOlsibWF0QnV0dG9uIiwibWF0QW5jaG9yIl0sZmVhdHVyZXM6W1FwXSxhdHRyczpETCxuZ0NvbnRlbnRTZWxlY3RvcnM6UkwsZGVjbHM6NCx2YXJzOjUsY29uc3RzOltbMSwibWF0LWJ1dHRvbi13cmFwcGVyIl0sWyJtYXRSaXBwbGUiLCIiLDEsIm1hdC1idXR0b24tcmlwcGxlIiwzLCJtYXRSaXBwbGVEaXNhYmxlZCIsIm1hdFJpcHBsZUNlbnRlcmVkIiwibWF0UmlwcGxlVHJpZ2dlciJdLFsxLCJtYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKEhmKCksQ2YoMCwic3BhbiIsMCksRmYoMSksTWYoKSx2ZigyLCJzcGFuIiwxKSx2ZigzLCJzcGFuIiwyKSksMiZlJiYoRGMoMiksY3UoIm1hdC1idXR0b24tcmlwcGxlLXJvdW5kIixuLmlzUm91bmRCdXR0b258fG4uaXNJY29uQnV0dG9uKSxiZigibWF0UmlwcGxlRGlzYWJsZWQiLG4uX2lzUmlwcGxlRGlzYWJsZWQoKSkoIm1hdFJpcHBsZUNlbnRlcmVkIixuLmlzSWNvbkJ1dHRvbikoIm1hdFJpcHBsZVRyaWdnZXIiLG4uX2dldEhvc3RFbGVtZW50KCkpKX0sZGlyZWN0aXZlczpbbUxdLHN0eWxlczpbRUxdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLHpMLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6ZkZ9LHt0eXBlOktofSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sekwucHJvcERlY29yYXRvcnM9e3RhYkluZGV4Olt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHpMLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFbbWF0LWJ1dHRvbl0sIGFbbWF0LXJhaXNlZC1idXR0b25dLCBhW21hdC1pY29uLWJ1dHRvbl0sIGFbbWF0LWZhYl0sXG4gICAgICAgICAgICAgYVttYXQtbWluaS1mYWJdLCBhW21hdC1zdHJva2VkLWJ1dHRvbl0sIGFbbWF0LWZsYXQtYnV0dG9uXSIsZXhwb3J0QXM6Im1hdEJ1dHRvbiwgbWF0QW5jaG9yIixob3N0OnsiW2F0dHIudGFiaW5kZXhdIjoiZGlzYWJsZWQgPyAtMSA6ICh0YWJJbmRleCB8fCAwKSIsIlthdHRyLmRpc2FibGVkXSI6ImRpc2FibGVkIHx8IG51bGwiLCJbYXR0ci5hcmlhLWRpc2FibGVkXSI6ImRpc2FibGVkLnRvU3RyaW5nKCkiLCIoY2xpY2spIjoiX2hhbHREaXNhYmxlZEV2ZW50cygkZXZlbnQpIiwiW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSI6J19hbmltYXRpb25Nb2RlID09PSAiTm9vcEFuaW1hdGlvbnMiJywiW2NsYXNzLm1hdC1idXR0b24tZGlzYWJsZWRdIjoiZGlzYWJsZWQiLGNsYXNzOiJtYXQtZm9jdXMtaW5kaWNhdG9yIn0saW5wdXRzOlsiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwiY29sb3IiXSx0ZW1wbGF0ZTonPHNwYW4gY2xhc3M9Im1hdC1idXR0b24td3JhcHBlciI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cbjxzcGFuIG1hdFJpcHBsZSBjbGFzcz0ibWF0LWJ1dHRvbi1yaXBwbGUiXG4gICAgICBbY2xhc3MubWF0LWJ1dHRvbi1yaXBwbGUtcm91bmRdPSJpc1JvdW5kQnV0dG9uIHx8IGlzSWNvbkJ1dHRvbiJcbiAgICAgIFttYXRSaXBwbGVEaXNhYmxlZF09Il9pc1JpcHBsZURpc2FibGVkKCkiXG4gICAgICBbbWF0UmlwcGxlQ2VudGVyZWRdPSJpc0ljb25CdXR0b24iXG4gICAgICBbbWF0UmlwcGxlVHJpZ2dlcl09Il9nZXRIb3N0RWxlbWVudCgpIj48L3NwYW4+XG48c3BhbiBjbGFzcz0ibWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5Ij48L3NwYW4+XG4nLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLHN0eWxlczpbIi5tYXQtYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6MH0ubWF0LWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouMDR9QG1lZGlhKGhvdmVyOiBub25lKXsubWF0LWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTowfX0ubWF0LWJ1dHRvbiwubWF0LWljb24tYnV0dG9uLC5tYXQtc3Ryb2tlZC1idXR0b24sLm1hdC1mbGF0LWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO21pbi13aWR0aDo2NHB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwubWF0LWljb24tYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLC5tYXQtc3Ryb2tlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLm1hdC1mbGF0LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0ubWF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtaWNvbi1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1idXR0b24uY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LWljb24tYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LXN0cm9rZWQtYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1mbGF0LWJ1dHRvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtZmxhdC1idXR0b24uY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjEyfS5tYXQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLC5tYXQtaWNvbi1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLm1hdC1zdHJva2VkLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwubWF0LWZsYXQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5tYXQtcmFpc2VkLWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO21pbi13aWR0aDo2NHB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6dmlzaWJsZTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKX0ubWF0LXJhaXNlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9Lm1hdC1yYWlzZWQtYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1yYWlzZWQtYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi4xMn0ubWF0LXJhaXNlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1yYWlzZWQtYnV0dG9ue3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXN0cm9rZWQtYnV0dG9ue2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yO3BhZGRpbmc6MCAxNXB4O2xpbmUtaGVpZ2h0OjM0cHh9Lm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LWJ1dHRvbi1yaXBwbGUubWF0LXJpcHBsZSwubWF0LXN0cm9rZWQtYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7dG9wOi0xcHg7bGVmdDotMXB4O3JpZ2h0Oi0xcHg7Ym90dG9tOi0xcHh9Lm1hdC1mYWJ7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDttaW4td2lkdGg6NjRweDtsaW5lLWhlaWdodDozNnB4O3BhZGRpbmc6MCAxNnB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93OnZpc2libGU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApO3RyYW5zaXRpb246YmFja2dyb3VuZCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7bWluLXdpZHRoOjA7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjA7ZmxleC1zaHJpbms6MH0ubWF0LWZhYjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0ubWF0LWZhYi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtZmFiLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1mYWIuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjEyfS5tYXQtZmFiOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtZmFie3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LWZhYiAubWF0LWJ1dHRvbi13cmFwcGVye3BhZGRpbmc6MTZweCAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1taW5pLWZhYntib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO21pbi13aWR0aDo2NHB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6dmlzaWJsZTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTttaW4td2lkdGg6MDtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6MDtmbGV4LXNocmluazowfS5tYXQtbWluaS1mYWI6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1taW5pLWZhYi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtbWluaS1mYWIuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LW1pbmktZmFiLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi4xMn0ubWF0LW1pbmktZmFiOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtbWluaS1mYWJ7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtbWluaS1mYWIgLm1hdC1idXR0b24td3JhcHBlcntwYWRkaW5nOjhweCAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1pY29uLWJ1dHRvbntwYWRkaW5nOjA7bWluLXdpZHRoOjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtmbGV4LXNocmluazowO2xpbmUtaGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czo1MCV9Lm1hdC1pY29uLWJ1dHRvbiBpLC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29ue2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1idXR0b24tcmlwcGxlLm1hdC1yaXBwbGUsLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1yYWRpdXM6aW5oZXJpdH0ubWF0LWJ1dHRvbi1yaXBwbGUubWF0LXJpcHBsZTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgMjAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgMjAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e3RyYW5zaXRpb246bm9uZX0ubWF0LWJ1dHRvbi1yaXBwbGUtcm91bmR7Ym9yZGVyLXJhZGl1czo1MCU7ei1pbmRleDoxfS5tYXQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LWZsYXQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LXN0cm9rZWQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LXJhaXNlZC1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcj4qLC5tYXQtaWNvbi1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcj4qLC5tYXQtZmFiIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LW1pbmktZmFiIC5tYXQtYnV0dG9uLXdyYXBwZXI+Knt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiwubWF0LWZvcm0tZmllbGQ6bm90KC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSkgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOmluaGVyaXQ7d2lkdGg6Mi41ZW07aGVpZ2h0OjIuNWVtfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24sLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZsYXQtYnV0dG9uLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1yYWlzZWQtYnV0dG9uLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1pY29uLWJ1dHRvbiwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZmFiLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1taW5pLWZhYntvdXRsaW5lOnNvbGlkIDFweH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLWJhc2UuY2RrLWtleWJvYXJkLWZvY3VzZWQsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi1iYXNlLmNkay1wcm9ncmFtLWZvY3VzZWR7b3V0bGluZTpzb2xpZCAzcHh9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmZGfSx7dHlwZTpLaH0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse3RhYkluZGV4Olt7dHlwZTpSX31dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBJTHt9SUwuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fElMKX0sSUwuybVtb2Q9Zm8oe3R5cGU6SUx9KSxJTC7JtWluaj1Ebih7aW1wb3J0czpbW2ZMLE5GXSxORl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKElMLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbZkwsTkZdLGV4cG9ydHM6W05MLHpMLE5GXSxkZWNsYXJhdGlvbnM6W05MLHpMXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKElMLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bTkwsekxdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW2ZMLE5GXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltOTCx6TCxORl19fSk7Y2xhc3MgSEx7fWZ1bmN0aW9uIEZMKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC5jb25uZWN0fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBMTCBleHRlbmRzIEhMe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5fZGF0YT10fWNvbm5lY3QoKXtyZXR1cm4gTHQodGhpcy5fZGF0YSk/dGhpcy5fZGF0YTp6dCh0aGlzLl9kYXRhKX1kaXNjb25uZWN0KCl7fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIEJMe2FwcGx5Q2hhbmdlcyh0LGUsbixvLGkpe3QuZm9yRWFjaE9wZXJhdGlvbigoKHQsbyxhKT0+e2xldCByLHM7aWYobnVsbD09dC5wcmV2aW91c0luZGV4KXtjb25zdCBpPW4odCxvLGEpO3I9ZS5jcmVhdGVFbWJlZGRlZFZpZXcoaS50ZW1wbGF0ZVJlZixpLmNvbnRleHQsaS5pbmRleCkscz0xfWVsc2UgbnVsbD09YT8oZS5yZW1vdmUobykscz0zKToocj1lLmdldChvKSxlLm1vdmUocixhKSxzPTIpO2kmJmkoe2NvbnRleHQ6bnVsbD09cj92b2lkIDA6ci5jb250ZXh0LG9wZXJhdGlvbjpzLHJlY29yZDp0fSl9KSl9ZGV0YWNoKCl7fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgVkx7Y29uc3RydWN0b3IoKXt0aGlzLnZpZXdDYWNoZVNpemU9MjAsdGhpcy5fdmlld0NhY2hlPVtdfWFwcGx5Q2hhbmdlcyh0LGUsbixvLGkpe3QuZm9yRWFjaE9wZXJhdGlvbigoKHQsYSxyKT0+e2xldCBzLGw7aWYobnVsbD09dC5wcmV2aW91c0luZGV4KXtzPXRoaXMuX2luc2VydFZpZXcoKCgpPT5uKHQsYSxyKSkscixlLG8odCkpLGw9cz8xOjB9ZWxzZSBudWxsPT1yPyh0aGlzLl9kZXRhY2hBbmRDYWNoZVZpZXcoYSxlKSxsPTMpOihzPXRoaXMuX21vdmVWaWV3KGEscixlLG8odCkpLGw9Mik7aSYmaSh7Y29udGV4dDpudWxsPT1zP3ZvaWQgMDpzLmNvbnRleHQsb3BlcmF0aW9uOmwscmVjb3JkOnR9KX0pKX1kZXRhY2goKXtmb3IoY29uc3QgdCBvZiB0aGlzLl92aWV3Q2FjaGUpdC5kZXN0cm95KCk7dGhpcy5fdmlld0NhY2hlPVtdfV9pbnNlcnRWaWV3KHQsZSxuLG8pe2NvbnN0IGk9dGhpcy5faW5zZXJ0Vmlld0Zyb21DYWNoZShlLG4pO2lmKGkpcmV0dXJuIHZvaWQoaS5jb250ZXh0LiRpbXBsaWNpdD1vKTtjb25zdCBhPXQoKTtyZXR1cm4gbi5jcmVhdGVFbWJlZGRlZFZpZXcoYS50ZW1wbGF0ZVJlZixhLmNvbnRleHQsYS5pbmRleCl9X2RldGFjaEFuZENhY2hlVmlldyh0LGUpe2NvbnN0IG49ZS5kZXRhY2godCk7dGhpcy5fbWF5YmVDYWNoZVZpZXcobixlKX1fbW92ZVZpZXcodCxlLG4sbyl7Y29uc3QgaT1uLmdldCh0KTtyZXR1cm4gbi5tb3ZlKGksZSksaS5jb250ZXh0LiRpbXBsaWNpdD1vLGl9X21heWJlQ2FjaGVWaWV3KHQsZSl7aWYodGhpcy5fdmlld0NhY2hlLmxlbmd0aDx0aGlzLnZpZXdDYWNoZVNpemUpdGhpcy5fdmlld0NhY2hlLnB1c2godCk7ZWxzZXtjb25zdCBuPWUuaW5kZXhPZih0KTstMT09PW4/dC5kZXN0cm95KCk6ZS5yZW1vdmUobil9fV9pbnNlcnRWaWV3RnJvbUNhY2hlKHQsZSl7Y29uc3Qgbj10aGlzLl92aWV3Q2FjaGUucG9wKCk7cmV0dXJuIG4mJmUuaW5zZXJ0KG4sdCksbnx8bnVsbH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIGpMe2NvbnN0cnVjdG9yKHQ9ITEsZSxuPSEwKXt0aGlzLl9tdWx0aXBsZT10LHRoaXMuX2VtaXRDaGFuZ2VzPW4sdGhpcy5fc2VsZWN0aW9uPW5ldyBTZXQsdGhpcy5fZGVzZWxlY3RlZFRvRW1pdD1bXSx0aGlzLl9zZWxlY3RlZFRvRW1pdD1bXSx0aGlzLmNoYW5nZWQ9bmV3IEIsZSYmZS5sZW5ndGgmJih0P2UuZm9yRWFjaCgodD0+dGhpcy5fbWFya1NlbGVjdGVkKHQpKSk6dGhpcy5fbWFya1NlbGVjdGVkKGVbMF0pLHRoaXMuX3NlbGVjdGVkVG9FbWl0Lmxlbmd0aD0wKX1nZXQgc2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWR8fCh0aGlzLl9zZWxlY3RlZD1BcnJheS5mcm9tKHRoaXMuX3NlbGVjdGlvbi52YWx1ZXMoKSkpLHRoaXMuX3NlbGVjdGVkfXNlbGVjdCguLi50KXt0aGlzLl92ZXJpZnlWYWx1ZUFzc2lnbm1lbnQodCksdC5mb3JFYWNoKCh0PT50aGlzLl9tYXJrU2VsZWN0ZWQodCkpKSx0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKX1kZXNlbGVjdCguLi50KXt0aGlzLl92ZXJpZnlWYWx1ZUFzc2lnbm1lbnQodCksdC5mb3JFYWNoKCh0PT50aGlzLl91bm1hcmtTZWxlY3RlZCh0KSkpLHRoaXMuX2VtaXRDaGFuZ2VFdmVudCgpfXRvZ2dsZSh0KXt0aGlzLmlzU2VsZWN0ZWQodCk/dGhpcy5kZXNlbGVjdCh0KTp0aGlzLnNlbGVjdCh0KX1jbGVhcigpe3RoaXMuX3VubWFya0FsbCgpLHRoaXMuX2VtaXRDaGFuZ2VFdmVudCgpfWlzU2VsZWN0ZWQodCl7cmV0dXJuIHRoaXMuX3NlbGVjdGlvbi5oYXModCl9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5fc2VsZWN0aW9uLnNpemV9aGFzVmFsdWUoKXtyZXR1cm4hdGhpcy5pc0VtcHR5KCl9c29ydCh0KXt0aGlzLl9tdWx0aXBsZSYmdGhpcy5zZWxlY3RlZCYmdGhpcy5fc2VsZWN0ZWQuc29ydCh0KX1pc011bHRpcGxlU2VsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX211bHRpcGxlfV9lbWl0Q2hhbmdlRXZlbnQoKXt0aGlzLl9zZWxlY3RlZD1udWxsLCh0aGlzLl9zZWxlY3RlZFRvRW1pdC5sZW5ndGh8fHRoaXMuX2Rlc2VsZWN0ZWRUb0VtaXQubGVuZ3RoKSYmKHRoaXMuY2hhbmdlZC5uZXh0KHtzb3VyY2U6dGhpcyxhZGRlZDp0aGlzLl9zZWxlY3RlZFRvRW1pdCxyZW1vdmVkOnRoaXMuX2Rlc2VsZWN0ZWRUb0VtaXR9KSx0aGlzLl9kZXNlbGVjdGVkVG9FbWl0PVtdLHRoaXMuX3NlbGVjdGVkVG9FbWl0PVtdKX1fbWFya1NlbGVjdGVkKHQpe3RoaXMuaXNTZWxlY3RlZCh0KXx8KHRoaXMuX211bHRpcGxlfHx0aGlzLl91bm1hcmtBbGwoKSx0aGlzLl9zZWxlY3Rpb24uYWRkKHQpLHRoaXMuX2VtaXRDaGFuZ2VzJiZ0aGlzLl9zZWxlY3RlZFRvRW1pdC5wdXNoKHQpKX1fdW5tYXJrU2VsZWN0ZWQodCl7dGhpcy5pc1NlbGVjdGVkKHQpJiYodGhpcy5fc2VsZWN0aW9uLmRlbGV0ZSh0KSx0aGlzLl9lbWl0Q2hhbmdlcyYmdGhpcy5fZGVzZWxlY3RlZFRvRW1pdC5wdXNoKHQpKX1fdW5tYXJrQWxsKCl7dGhpcy5pc0VtcHR5KCl8fHRoaXMuX3NlbGVjdGlvbi5mb3JFYWNoKCh0PT50aGlzLl91bm1hcmtTZWxlY3RlZCh0KSkpfV92ZXJpZnlWYWx1ZUFzc2lnbm1lbnQodCl7aWYodC5sZW5ndGg+MSYmIXRoaXMuX211bHRpcGxlJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3coZnVuY3Rpb24gZSgpe3JldHVybiBFcnJvcigiQ2Fubm90IHBhc3MgbXVsdGlwbGUgdmFsdWVzIGludG8gU2VsZWN0aW9uTW9kZWwgd2l0aCBzaW5nbGUtdmFsdWUgbW9kZS4iKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSgpfX1jbGFzcyBVTHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2xpc3RlbmVycz1bXX1ub3RpZnkodCxlKXtmb3IobGV0IG4gb2YgdGhpcy5fbGlzdGVuZXJzKW4odCxlKX1saXN0ZW4odCl7cmV0dXJuIHRoaXMuX2xpc3RlbmVycy5wdXNoKHQpLCgpPT57dGhpcy5fbGlzdGVuZXJzPXRoaXMuX2xpc3RlbmVycy5maWx0ZXIoKGU9PnQhPT1lKSl9fW5nT25EZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfX1VTC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8VUwpfSxVTC7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgVUx9LHRva2VuOlVMLHByb3ZpZGVkSW46InJvb3QifSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihVTCxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFdMPW5ldyBlcigiX1ZpZXdSZXBlYXRlciIpLEdMPVsiY29udGVudFdyYXBwZXIiXSxZTD1uZXcgZXIoIlZJUlRVQUxfU0NST0xMX1NUUkFURUdZIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBxTHtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fc2Nyb2xsZWRJbmRleENoYW5nZT1uZXcgQix0aGlzLnNjcm9sbGVkSW5kZXhDaGFuZ2U9dGhpcy5fc2Nyb2xsZWRJbmRleENoYW5nZS5waXBlKHdlKCkpLHRoaXMuX3ZpZXdwb3J0PW51bGwsdGhpcy5faXRlbVNpemU9dCx0aGlzLl9taW5CdWZmZXJQeD1lLHRoaXMuX21heEJ1ZmZlclB4PW59YXR0YWNoKHQpe3RoaXMuX3ZpZXdwb3J0PXQsdGhpcy5fdXBkYXRlVG90YWxDb250ZW50U2l6ZSgpLHRoaXMuX3VwZGF0ZVJlbmRlcmVkUmFuZ2UoKX1kZXRhY2goKXt0aGlzLl9zY3JvbGxlZEluZGV4Q2hhbmdlLmNvbXBsZXRlKCksdGhpcy5fdmlld3BvcnQ9bnVsbH11cGRhdGVJdGVtQW5kQnVmZmVyU2l6ZSh0LGUsbil7aWYobjxlJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgRXJyb3IoIkNESyB2aXJ0dWFsIHNjcm9sbDogbWF4QnVmZmVyUHggbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gbWluQnVmZmVyUHgiKTt0aGlzLl9pdGVtU2l6ZT10LHRoaXMuX21pbkJ1ZmZlclB4PWUsdGhpcy5fbWF4QnVmZmVyUHg9bix0aGlzLl91cGRhdGVUb3RhbENvbnRlbnRTaXplKCksdGhpcy5fdXBkYXRlUmVuZGVyZWRSYW5nZSgpfW9uQ29udGVudFNjcm9sbGVkKCl7dGhpcy5fdXBkYXRlUmVuZGVyZWRSYW5nZSgpfW9uRGF0YUxlbmd0aENoYW5nZWQoKXt0aGlzLl91cGRhdGVUb3RhbENvbnRlbnRTaXplKCksdGhpcy5fdXBkYXRlUmVuZGVyZWRSYW5nZSgpfW9uQ29udGVudFJlbmRlcmVkKCl7fW9uUmVuZGVyZWRPZmZzZXRDaGFuZ2VkKCl7fXNjcm9sbFRvSW5kZXgodCxlKXt0aGlzLl92aWV3cG9ydCYmdGhpcy5fdmlld3BvcnQuc2Nyb2xsVG9PZmZzZXQodCp0aGlzLl9pdGVtU2l6ZSxlKX1fdXBkYXRlVG90YWxDb250ZW50U2l6ZSgpe3RoaXMuX3ZpZXdwb3J0JiZ0aGlzLl92aWV3cG9ydC5zZXRUb3RhbENvbnRlbnRTaXplKHRoaXMuX3ZpZXdwb3J0LmdldERhdGFMZW5ndGgoKSp0aGlzLl9pdGVtU2l6ZSl9X3VwZGF0ZVJlbmRlcmVkUmFuZ2UoKXtpZighdGhpcy5fdmlld3BvcnQpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fdmlld3BvcnQuZ2V0UmVuZGVyZWRSYW5nZSgpLGU9e3N0YXJ0OnQuc3RhcnQsZW5kOnQuZW5kfSxuPXRoaXMuX3ZpZXdwb3J0LmdldFZpZXdwb3J0U2l6ZSgpLG89dGhpcy5fdmlld3BvcnQuZ2V0RGF0YUxlbmd0aCgpO2xldCBpPXRoaXMuX3ZpZXdwb3J0Lm1lYXN1cmVTY3JvbGxPZmZzZXQoKSxhPXRoaXMuX2l0ZW1TaXplPjA/aS90aGlzLl9pdGVtU2l6ZTowO2lmKGUuZW5kPm8pe2NvbnN0IHQ9TWF0aC5jZWlsKG4vdGhpcy5faXRlbVNpemUpLHI9TWF0aC5tYXgoMCxNYXRoLm1pbihhLG8tdCkpO2EhPXImJihhPXIsaT1yKnRoaXMuX2l0ZW1TaXplLGUuc3RhcnQ9TWF0aC5mbG9vcihhKSksZS5lbmQ9TWF0aC5tYXgoMCxNYXRoLm1pbihvLGUuc3RhcnQrdCkpfWNvbnN0IHI9aS1lLnN0YXJ0KnRoaXMuX2l0ZW1TaXplO2lmKHI8dGhpcy5fbWluQnVmZmVyUHgmJjAhPWUuc3RhcnQpe2NvbnN0IHQ9TWF0aC5jZWlsKCh0aGlzLl9tYXhCdWZmZXJQeC1yKS90aGlzLl9pdGVtU2l6ZSk7ZS5zdGFydD1NYXRoLm1heCgwLGUuc3RhcnQtdCksZS5lbmQ9TWF0aC5taW4obyxNYXRoLmNlaWwoYSsobit0aGlzLl9taW5CdWZmZXJQeCkvdGhpcy5faXRlbVNpemUpKX1lbHNle2NvbnN0IHQ9ZS5lbmQqdGhpcy5faXRlbVNpemUtKGkrbik7aWYodDx0aGlzLl9taW5CdWZmZXJQeCYmZS5lbmQhPW8pe2NvbnN0IG49TWF0aC5jZWlsKCh0aGlzLl9tYXhCdWZmZXJQeC10KS90aGlzLl9pdGVtU2l6ZSk7bj4wJiYoZS5lbmQ9TWF0aC5taW4obyxlLmVuZCtuKSxlLnN0YXJ0PU1hdGgubWF4KDAsTWF0aC5mbG9vcihhLXRoaXMuX21pbkJ1ZmZlclB4L3RoaXMuX2l0ZW1TaXplKSkpfX10aGlzLl92aWV3cG9ydC5zZXRSZW5kZXJlZFJhbmdlKGUpLHRoaXMuX3ZpZXdwb3J0LnNldFJlbmRlcmVkQ29udGVudE9mZnNldCh0aGlzLl9pdGVtU2l6ZSplLnN0YXJ0KSx0aGlzLl9zY3JvbGxlZEluZGV4Q2hhbmdlLm5leHQoTWF0aC5mbG9vcihhKSl9fWZ1bmN0aW9uIFpMKHQpe3JldHVybiB0Ll9zY3JvbGxTdHJhdGVneX1jbGFzcyBYTHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2l0ZW1TaXplPTIwLHRoaXMuX21pbkJ1ZmZlclB4PTEwMCx0aGlzLl9tYXhCdWZmZXJQeD0yMDAsdGhpcy5fc2Nyb2xsU3RyYXRlZ3k9bmV3IHFMKHRoaXMuaXRlbVNpemUsdGhpcy5taW5CdWZmZXJQeCx0aGlzLm1heEJ1ZmZlclB4KX1nZXQgaXRlbVNpemUoKXtyZXR1cm4gdGhpcy5faXRlbVNpemV9c2V0IGl0ZW1TaXplKHQpe3RoaXMuX2l0ZW1TaXplPW5IKHQpfWdldCBtaW5CdWZmZXJQeCgpe3JldHVybiB0aGlzLl9taW5CdWZmZXJQeH1zZXQgbWluQnVmZmVyUHgodCl7dGhpcy5fbWluQnVmZmVyUHg9bkgodCl9Z2V0IG1heEJ1ZmZlclB4KCl7cmV0dXJuIHRoaXMuX21heEJ1ZmZlclB4fXNldCBtYXhCdWZmZXJQeCh0KXt0aGlzLl9tYXhCdWZmZXJQeD1uSCh0KX1uZ09uQ2hhbmdlcygpe3RoaXMuX3Njcm9sbFN0cmF0ZWd5LnVwZGF0ZUl0ZW1BbmRCdWZmZXJTaXplKHRoaXMuaXRlbVNpemUsdGhpcy5taW5CdWZmZXJQeCx0aGlzLm1heEJ1ZmZlclB4KX19WEwuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFhMKX0sWEwuybVkaXI9aG8oe3R5cGU6WEwsc2VsZWN0b3JzOltbImNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCIsIml0ZW1TaXplIiwiIl1dLGlucHV0czp7aXRlbVNpemU6Iml0ZW1TaXplIixtaW5CdWZmZXJQeDoibWluQnVmZmVyUHgiLG1heEJ1ZmZlclB4OiJtYXhCdWZmZXJQeCJ9LGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6WUwsdXNlRmFjdG9yeTpaTCxkZXBzOlskZSgoKCk9PlhMKSldfV0pLHFvXX0pLFhMLnByb3BEZWNvcmF0b3JzPXtpdGVtU2l6ZTpbe3R5cGU6Ul99XSxtaW5CdWZmZXJQeDpbe3R5cGU6Ul99XSxtYXhCdWZmZXJQeDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYTCxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnRbaXRlbVNpemVdIixwcm92aWRlcnM6W3twcm92aWRlOllMLHVzZUZhY3Rvcnk6WkwsZGVwczpbJGUoKCgpPT5YTCkpXX1dfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLHtpdGVtU2l6ZTpbe3R5cGU6Ul99XSxtaW5CdWZmZXJQeDpbe3R5cGU6Ul99XSxtYXhCdWZmZXJQeDpbe3R5cGU6Ul99XX0pO2NsYXNzIEtMe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9uZ1pvbmU9dCx0aGlzLl9wbGF0Zm9ybT1lLHRoaXMuX3Njcm9sbGVkPW5ldyBCLHRoaXMuX2dsb2JhbFN1YnNjcmlwdGlvbj1udWxsLHRoaXMuX3Njcm9sbGVkQ291bnQ9MCx0aGlzLnNjcm9sbENvbnRhaW5lcnM9bmV3IE1hcCx0aGlzLl9kb2N1bWVudD1ufXJlZ2lzdGVyKHQpe3RoaXMuc2Nyb2xsQ29udGFpbmVycy5oYXModCl8fHRoaXMuc2Nyb2xsQ29udGFpbmVycy5zZXQodCx0LmVsZW1lbnRTY3JvbGxlZCgpLnN1YnNjcmliZSgoKCk9PnRoaXMuX3Njcm9sbGVkLm5leHQodCkpKSl9ZGVyZWdpc3Rlcih0KXtjb25zdCBlPXRoaXMuc2Nyb2xsQ29udGFpbmVycy5nZXQodCk7ZSYmKGUudW5zdWJzY3JpYmUoKSx0aGlzLnNjcm9sbENvbnRhaW5lcnMuZGVsZXRlKHQpKX1zY3JvbGxlZCh0PTIwKXtyZXR1cm4gdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyP25ldyBUKChlPT57dGhpcy5fZ2xvYmFsU3Vic2NyaXB0aW9ufHx0aGlzLl9hZGRHbG9iYWxMaXN0ZW5lcigpO2NvbnN0IG49dD4wP3RoaXMuX3Njcm9sbGVkLnBpcGUoZ2UodCkpLnN1YnNjcmliZShlKTp0aGlzLl9zY3JvbGxlZC5zdWJzY3JpYmUoZSk7cmV0dXJuIHRoaXMuX3Njcm9sbGVkQ291bnQrKywoKT0+e24udW5zdWJzY3JpYmUoKSx0aGlzLl9zY3JvbGxlZENvdW50LS0sdGhpcy5fc2Nyb2xsZWRDb3VudHx8dGhpcy5fcmVtb3ZlR2xvYmFsTGlzdGVuZXIoKX19KSk6enQoKX1uZ09uRGVzdHJveSgpe3RoaXMuX3JlbW92ZUdsb2JhbExpc3RlbmVyKCksdGhpcy5zY3JvbGxDb250YWluZXJzLmZvckVhY2goKCh0LGUpPT50aGlzLmRlcmVnaXN0ZXIoZSkpKSx0aGlzLl9zY3JvbGxlZC5jb21wbGV0ZSgpfWFuY2VzdG9yU2Nyb2xsZWQodCxlKXtjb25zdCBuPXRoaXMuZ2V0QW5jZXN0b3JTY3JvbGxDb250YWluZXJzKHQpO3JldHVybiB0aGlzLnNjcm9sbGVkKGUpLnBpcGUodWUoKHQ9PiF0fHxuLmluZGV4T2YodCk+LTEpKSl9Z2V0QW5jZXN0b3JTY3JvbGxDb250YWluZXJzKHQpe2NvbnN0IGU9W107cmV0dXJuIHRoaXMuc2Nyb2xsQ29udGFpbmVycy5mb3JFYWNoKCgobixvKT0+e3RoaXMuX3Njcm9sbGFibGVDb250YWluc0VsZW1lbnQobyx0KSYmZS5wdXNoKG8pfSkpLGV9X2dldFdpbmRvdygpe3JldHVybiB0aGlzLl9kb2N1bWVudC5kZWZhdWx0Vmlld3x8d2luZG93fV9zY3JvbGxhYmxlQ29udGFpbnNFbGVtZW50KHQsZSl7bGV0IG49ckgoZSksbz10LmdldEVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50O2Rve2lmKG49PW8pcmV0dXJuITB9d2hpbGUobj1uLnBhcmVudEVsZW1lbnQpO3JldHVybiExfV9hZGRHbG9iYWxMaXN0ZW5lcigpe3RoaXMuX2dsb2JhbFN1YnNjcmlwdGlvbj10aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT5sZSh0aGlzLl9nZXRXaW5kb3coKS5kb2N1bWVudCwic2Nyb2xsIikuc3Vic2NyaWJlKCgoKT0+dGhpcy5fc2Nyb2xsZWQubmV4dCgpKSkpKX1fcmVtb3ZlR2xvYmFsTGlzdGVuZXIoKXt0aGlzLl9nbG9iYWxTdWJzY3JpcHRpb24mJih0aGlzLl9nbG9iYWxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9nbG9iYWxTdWJzY3JpcHRpb249bnVsbCl9fUtMLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxLTCkoVHIobUMpLFRyKGNIKSxUcihzTSw4KSl9LEtMLsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyBLTChUcihtQyksVHIoY0gpLFRyKHNNLDgpKX0sdG9rZW46S0wscHJvdmlkZWRJbjoicm9vdCJ9KSxLTC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoS0wsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBKTHtjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLmVsZW1lbnRSZWY9dCx0aGlzLnNjcm9sbERpc3BhdGNoZXI9ZSx0aGlzLm5nWm9uZT1uLHRoaXMuZGlyPW8sdGhpcy5fZGVzdHJveWVkPW5ldyBCLHRoaXMuX2VsZW1lbnRTY3JvbGxlZD1uZXcgVCgodD0+dGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT5sZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwic2Nyb2xsIikucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUodCkpKSkpfW5nT25Jbml0KCl7dGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpfW5nT25EZXN0cm95KCl7dGhpcy5zY3JvbGxEaXNwYXRjaGVyLmRlcmVnaXN0ZXIodGhpcyksdGhpcy5fZGVzdHJveWVkLm5leHQoKSx0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKX1lbGVtZW50U2Nyb2xsZWQoKXtyZXR1cm4gdGhpcy5fZWxlbWVudFNjcm9sbGVkfWdldEVsZW1lbnRSZWYoKXtyZXR1cm4gdGhpcy5lbGVtZW50UmVmfXNjcm9sbFRvKHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsbj10aGlzLmRpciYmInJ0bCI9PXRoaXMuZGlyLnZhbHVlO251bGw9PXQubGVmdCYmKHQubGVmdD1uP3QuZW5kOnQuc3RhcnQpLG51bGw9PXQucmlnaHQmJih0LnJpZ2h0PW4/dC5zdGFydDp0LmVuZCksbnVsbCE9dC5ib3R0b20mJih0LnRvcD1lLnNjcm9sbEhlaWdodC1lLmNsaWVudEhlaWdodC10LmJvdHRvbSksbiYmMCE9X0goKT8obnVsbCE9dC5sZWZ0JiYodC5yaWdodD1lLnNjcm9sbFdpZHRoLWUuY2xpZW50V2lkdGgtdC5sZWZ0KSwyPT1fSCgpP3QubGVmdD10LnJpZ2h0OjE9PV9IKCkmJih0LmxlZnQ9dC5yaWdodD8tdC5yaWdodDp0LnJpZ2h0KSk6bnVsbCE9dC5yaWdodCYmKHQubGVmdD1lLnNjcm9sbFdpZHRoLWUuY2xpZW50V2lkdGgtdC5yaWdodCksdGhpcy5fYXBwbHlTY3JvbGxUb09wdGlvbnModCl9X2FwcGx5U2Nyb2xsVG9PcHRpb25zKHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7eUgoKT9lLnNjcm9sbFRvKHQpOihudWxsIT10LnRvcCYmKGUuc2Nyb2xsVG9wPXQudG9wKSxudWxsIT10LmxlZnQmJihlLnNjcm9sbExlZnQ9dC5sZWZ0KSl9bWVhc3VyZVNjcm9sbE9mZnNldCh0KXtjb25zdCBlPSJsZWZ0IixuPSJyaWdodCIsbz10aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtpZigidG9wIj09dClyZXR1cm4gby5zY3JvbGxUb3A7aWYoImJvdHRvbSI9PXQpcmV0dXJuIG8uc2Nyb2xsSGVpZ2h0LW8uY2xpZW50SGVpZ2h0LW8uc2Nyb2xsVG9wO2NvbnN0IGk9dGhpcy5kaXImJiJydGwiPT10aGlzLmRpci52YWx1ZTtyZXR1cm4ic3RhcnQiPT10P3Q9aT9uOmU6ImVuZCI9PXQmJih0PWk/ZTpuKSxpJiYyPT1fSCgpP3Q9PWU/by5zY3JvbGxXaWR0aC1vLmNsaWVudFdpZHRoLW8uc2Nyb2xsTGVmdDpvLnNjcm9sbExlZnQ6aSYmMT09X0goKT90PT1lP28uc2Nyb2xsTGVmdCtvLnNjcm9sbFdpZHRoLW8uY2xpZW50V2lkdGg6LW8uc2Nyb2xsTGVmdDp0PT1lP28uc2Nyb2xsTGVmdDpvLnNjcm9sbFdpZHRoLW8uY2xpZW50V2lkdGgtby5zY3JvbGxMZWZ0fX1KTC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SkwpKGdmKEtoKSxnZihLTCksZ2YobUMpLGdmKHZGLDgpKX0sSkwuybVkaXI9aG8oe3R5cGU6Skwsc2VsZWN0b3JzOltbIiIsImNkay1zY3JvbGxhYmxlIiwiIl0sWyIiLCJjZGtTY3JvbGxhYmxlIiwiIl1dfSksSkwuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6S0x9LHt0eXBlOm1DfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihKTCxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbY2RrLXNjcm9sbGFibGVdLCBbY2RrU2Nyb2xsYWJsZV0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOktMfSx7dHlwZTptQ30se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX1dfSksbnVsbCk7Y2xhc3MgUUx7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuX3BsYXRmb3JtPXQsdGhpcy5fY2hhbmdlPW5ldyBCLHRoaXMuX2NoYW5nZUxpc3RlbmVyPXQ9Pnt0aGlzLl9jaGFuZ2UubmV4dCh0KX0sdGhpcy5fZG9jdW1lbnQ9bixlLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e2lmKHQuaXNCcm93c2VyKXtjb25zdCB0PXRoaXMuX2dldFdpbmRvdygpO3QuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9jaGFuZ2VMaXN0ZW5lciksdC5hZGRFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsdGhpcy5fY2hhbmdlTGlzdGVuZXIpfXRoaXMuY2hhbmdlKCkuc3Vic2NyaWJlKCgoKT0+dGhpcy5fdmlld3BvcnRTaXplPW51bGwpKX0pKX1uZ09uRGVzdHJveSgpe2lmKHRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcil7Y29uc3QgdD10aGlzLl9nZXRXaW5kb3coKTt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fY2hhbmdlTGlzdGVuZXIpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLHRoaXMuX2NoYW5nZUxpc3RlbmVyKX10aGlzLl9jaGFuZ2UuY29tcGxldGUoKX1nZXRWaWV3cG9ydFNpemUoKXt0aGlzLl92aWV3cG9ydFNpemV8fHRoaXMuX3VwZGF0ZVZpZXdwb3J0U2l6ZSgpO2NvbnN0IHQ9e3dpZHRoOnRoaXMuX3ZpZXdwb3J0U2l6ZS53aWR0aCxoZWlnaHQ6dGhpcy5fdmlld3BvcnRTaXplLmhlaWdodH07cmV0dXJuIHRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcnx8KHRoaXMuX3ZpZXdwb3J0U2l6ZT1udWxsKSx0fWdldFZpZXdwb3J0UmVjdCgpe2NvbnN0IHQ9dGhpcy5nZXRWaWV3cG9ydFNjcm9sbFBvc2l0aW9uKCkse3dpZHRoOmUsaGVpZ2h0Om59PXRoaXMuZ2V0Vmlld3BvcnRTaXplKCk7cmV0dXJue3RvcDp0LnRvcCxsZWZ0OnQubGVmdCxib3R0b206dC50b3ArbixyaWdodDp0LmxlZnQrZSxoZWlnaHQ6bix3aWR0aDplfX1nZXRWaWV3cG9ydFNjcm9sbFBvc2l0aW9uKCl7aWYoIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3NlcilyZXR1cm57dG9wOjAsbGVmdDowfTtjb25zdCB0PXRoaXMuX2RvY3VtZW50LGU9dGhpcy5fZ2V0V2luZG93KCksbj10LmRvY3VtZW50RWxlbWVudCxvPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue3RvcDotby50b3B8fHQuYm9keS5zY3JvbGxUb3B8fGUuc2Nyb2xsWXx8bi5zY3JvbGxUb3B8fDAsbGVmdDotby5sZWZ0fHx0LmJvZHkuc2Nyb2xsTGVmdHx8ZS5zY3JvbGxYfHxuLnNjcm9sbExlZnR8fDB9fWNoYW5nZSh0PTIwKXtyZXR1cm4gdD4wP3RoaXMuX2NoYW5nZS5waXBlKGdlKHQpKTp0aGlzLl9jaGFuZ2V9X2dldFdpbmRvdygpe3JldHVybiB0aGlzLl9kb2N1bWVudC5kZWZhdWx0Vmlld3x8d2luZG93fV91cGRhdGVWaWV3cG9ydFNpemUoKXtjb25zdCB0PXRoaXMuX2dldFdpbmRvdygpO3RoaXMuX3ZpZXdwb3J0U2l6ZT10aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXI/e3dpZHRoOnQuaW5uZXJXaWR0aCxoZWlnaHQ6dC5pbm5lckhlaWdodH06e3dpZHRoOjAsaGVpZ2h0OjB9fX1RTC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UUwpKFRyKGNIKSxUcihtQyksVHIoc00sOCkpfSxRTC7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgUUwoVHIoY0gpLFRyKG1DKSxUcihzTSw4KSl9LHRva2VuOlFMLHByb3ZpZGVkSW46InJvb3QifSksUUwuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpjSH0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFFMLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpjSH0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpO2NvbnN0ICRMPSJ1bmRlZmluZWQiIT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lP2N0Om90O2NsYXNzIHRCIGV4dGVuZHMgSkx7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscil7aWYoc3VwZXIodCxhLG4saSksdGhpcy5lbGVtZW50UmVmPXQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9ZSx0aGlzLl9zY3JvbGxTdHJhdGVneT1vLHRoaXMuX2RldGFjaGVkU3ViamVjdD1uZXcgQix0aGlzLl9yZW5kZXJlZFJhbmdlU3ViamVjdD1uZXcgQix0aGlzLl9vcmllbnRhdGlvbj0idmVydGljYWwiLHRoaXMuX2FwcGVuZE9ubHk9ITEsdGhpcy5zY3JvbGxlZEluZGV4Q2hhbmdlPW5ldyBUKCh0PT50aGlzLl9zY3JvbGxTdHJhdGVneS5zY3JvbGxlZEluZGV4Q2hhbmdlLnN1YnNjcmliZSgoZT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PnRoaXMubmdab25lLnJ1bigoKCk9PnQubmV4dChlKSkpKSkpKSkpLHRoaXMucmVuZGVyZWRSYW5nZVN0cmVhbT10aGlzLl9yZW5kZXJlZFJhbmdlU3ViamVjdCx0aGlzLl90b3RhbENvbnRlbnRTaXplPTAsdGhpcy5fdG90YWxDb250ZW50V2lkdGg9IiIsdGhpcy5fdG90YWxDb250ZW50SGVpZ2h0PSIiLHRoaXMuX3JlbmRlcmVkUmFuZ2U9e3N0YXJ0OjAsZW5kOjB9LHRoaXMuX2RhdGFMZW5ndGg9MCx0aGlzLl92aWV3cG9ydFNpemU9MCx0aGlzLl9yZW5kZXJlZENvbnRlbnRPZmZzZXQ9MCx0aGlzLl9yZW5kZXJlZENvbnRlbnRPZmZzZXROZWVkc1Jld3JpdGU9ITEsdGhpcy5faXNDaGFuZ2VEZXRlY3Rpb25QZW5kaW5nPSExLHRoaXMuX3J1bkFmdGVyQ2hhbmdlRGV0ZWN0aW9uPVtdLHRoaXMuX3ZpZXdwb3J0Q2hhbmdlcz11LkVNUFRZLCFvJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgRXJyb3IoJ0Vycm9yOiBjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgcmVxdWlyZXMgdGhlICJpdGVtU2l6ZSIgcHJvcGVydHkgdG8gYmUgc2V0LicpO3RoaXMuX3ZpZXdwb3J0Q2hhbmdlcz1yLmNoYW5nZSgpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmNoZWNrVmlld3BvcnRTaXplKCl9KSl9Z2V0IG9yaWVudGF0aW9uKCl7cmV0dXJuIHRoaXMuX29yaWVudGF0aW9ufXNldCBvcmllbnRhdGlvbih0KXt0aGlzLl9vcmllbnRhdGlvbiE9PXQmJih0aGlzLl9vcmllbnRhdGlvbj10LHRoaXMuX2NhbGN1bGF0ZVNwYWNlclNpemUoKSl9Z2V0IGFwcGVuZE9ubHkoKXtyZXR1cm4gdGhpcy5fYXBwZW5kT25seX1zZXQgYXBwZW5kT25seSh0KXt0aGlzLl9hcHBlbmRPbmx5PWVIKHQpfW5nT25Jbml0KCl7c3VwZXIubmdPbkluaXQoKSx0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fbWVhc3VyZVZpZXdwb3J0U2l6ZSgpLHRoaXMuX3Njcm9sbFN0cmF0ZWd5LmF0dGFjaCh0aGlzKSx0aGlzLmVsZW1lbnRTY3JvbGxlZCgpLnBpcGUoQmUobnVsbCksZ2UoMCwkTCkpLnN1YnNjcmliZSgoKCk9PnRoaXMuX3Njcm9sbFN0cmF0ZWd5Lm9uQ29udGVudFNjcm9sbGVkKCkpKSx0aGlzLl9tYXJrQ2hhbmdlRGV0ZWN0aW9uTmVlZGVkKCl9KSkpKX1uZ09uRGVzdHJveSgpe3RoaXMuZGV0YWNoKCksdGhpcy5fc2Nyb2xsU3RyYXRlZ3kuZGV0YWNoKCksdGhpcy5fcmVuZGVyZWRSYW5nZVN1YmplY3QuY29tcGxldGUoKSx0aGlzLl9kZXRhY2hlZFN1YmplY3QuY29tcGxldGUoKSx0aGlzLl92aWV3cG9ydENoYW5nZXMudW5zdWJzY3JpYmUoKSxzdXBlci5uZ09uRGVzdHJveSgpfWF0dGFjaCh0KXtpZih0aGlzLl9mb3JPZiYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93IEVycm9yKCJDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgaXMgYWxyZWFkeSBhdHRhY2hlZC4iKTt0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9mb3JPZj10LHRoaXMuX2Zvck9mLmRhdGFTdHJlYW0ucGlwZShqZSh0aGlzLl9kZXRhY2hlZFN1YmplY3QpKS5zdWJzY3JpYmUoKHQ9Pntjb25zdCBlPXQubGVuZ3RoO2UhPT10aGlzLl9kYXRhTGVuZ3RoJiYodGhpcy5fZGF0YUxlbmd0aD1lLHRoaXMuX3Njcm9sbFN0cmF0ZWd5Lm9uRGF0YUxlbmd0aENoYW5nZWQoKSksdGhpcy5fZG9DaGFuZ2VEZXRlY3Rpb24oKX0pKX0pKX1kZXRhY2goKXt0aGlzLl9mb3JPZj1udWxsLHRoaXMuX2RldGFjaGVkU3ViamVjdC5uZXh0KCl9Z2V0RGF0YUxlbmd0aCgpe3JldHVybiB0aGlzLl9kYXRhTGVuZ3RofWdldFZpZXdwb3J0U2l6ZSgpe3JldHVybiB0aGlzLl92aWV3cG9ydFNpemV9Z2V0UmVuZGVyZWRSYW5nZSgpe3JldHVybiB0aGlzLl9yZW5kZXJlZFJhbmdlfXNldFRvdGFsQ29udGVudFNpemUodCl7dGhpcy5fdG90YWxDb250ZW50U2l6ZSE9PXQmJih0aGlzLl90b3RhbENvbnRlbnRTaXplPXQsdGhpcy5fY2FsY3VsYXRlU3BhY2VyU2l6ZSgpLHRoaXMuX21hcmtDaGFuZ2VEZXRlY3Rpb25OZWVkZWQoKSl9c2V0UmVuZGVyZWRSYW5nZSh0KXsoCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiBlKHQsbil7cmV0dXJuIHQuc3RhcnQ9PW4uc3RhcnQmJnQuZW5kPT1uLmVuZH0pKHRoaXMuX3JlbmRlcmVkUmFuZ2UsdCl8fCh0aGlzLmFwcGVuZE9ubHkmJih0PXtzdGFydDowLGVuZDpNYXRoLm1heCh0aGlzLl9yZW5kZXJlZFJhbmdlLmVuZCx0LmVuZCl9KSx0aGlzLl9yZW5kZXJlZFJhbmdlU3ViamVjdC5uZXh0KHRoaXMuX3JlbmRlcmVkUmFuZ2U9dCksdGhpcy5fbWFya0NoYW5nZURldGVjdGlvbk5lZWRlZCgoKCk9PnRoaXMuX3Njcm9sbFN0cmF0ZWd5Lm9uQ29udGVudFJlbmRlcmVkKCkpKSl9Z2V0T2Zmc2V0VG9SZW5kZXJlZENvbnRlbnRTdGFydCgpe3JldHVybiB0aGlzLl9yZW5kZXJlZENvbnRlbnRPZmZzZXROZWVkc1Jld3JpdGU/bnVsbDp0aGlzLl9yZW5kZXJlZENvbnRlbnRPZmZzZXR9c2V0UmVuZGVyZWRDb250ZW50T2Zmc2V0KHQsZT0idG8tc3RhcnQiKXtjb25zdCBuPSJob3Jpem9udGFsIj09dGhpcy5vcmllbnRhdGlvbixvPW4/IlgiOiJZIjtsZXQgaT1gdHJhbnNsYXRlJHtvfSgke051bWJlcigobiYmKHRoaXMuZGlyJiYicnRsIj09dGhpcy5kaXIudmFsdWUpPy0xOjEpKnQpfXB4KWA7dGhpcy5fcmVuZGVyZWRDb250ZW50T2Zmc2V0PXQsInRvLWVuZCI9PT1lJiYoaSs9YCB0cmFuc2xhdGUke299KC0xMDAlKWAsdGhpcy5fcmVuZGVyZWRDb250ZW50T2Zmc2V0TmVlZHNSZXdyaXRlPSEwKSx0aGlzLl9yZW5kZXJlZENvbnRlbnRUcmFuc2Zvcm0hPWkmJih0aGlzLl9yZW5kZXJlZENvbnRlbnRUcmFuc2Zvcm09aSx0aGlzLl9tYXJrQ2hhbmdlRGV0ZWN0aW9uTmVlZGVkKCgoKT0+e3RoaXMuX3JlbmRlcmVkQ29udGVudE9mZnNldE5lZWRzUmV3cml0ZT8odGhpcy5fcmVuZGVyZWRDb250ZW50T2Zmc2V0LT10aGlzLm1lYXN1cmVSZW5kZXJlZENvbnRlbnRTaXplKCksdGhpcy5fcmVuZGVyZWRDb250ZW50T2Zmc2V0TmVlZHNSZXdyaXRlPSExLHRoaXMuc2V0UmVuZGVyZWRDb250ZW50T2Zmc2V0KHRoaXMuX3JlbmRlcmVkQ29udGVudE9mZnNldCkpOnRoaXMuX3Njcm9sbFN0cmF0ZWd5Lm9uUmVuZGVyZWRPZmZzZXRDaGFuZ2VkKCl9KSkpfXNjcm9sbFRvT2Zmc2V0KHQsZT0iYXV0byIpe2NvbnN0IG49e2JlaGF2aW9yOmV9OyJob3Jpem9udGFsIj09PXRoaXMub3JpZW50YXRpb24/bi5zdGFydD10Om4udG9wPXQsdGhpcy5zY3JvbGxUbyhuKX1zY3JvbGxUb0luZGV4KHQsZT0iYXV0byIpe3RoaXMuX3Njcm9sbFN0cmF0ZWd5LnNjcm9sbFRvSW5kZXgodCxlKX1tZWFzdXJlU2Nyb2xsT2Zmc2V0KHQpe3JldHVybiBzdXBlci5tZWFzdXJlU2Nyb2xsT2Zmc2V0KHR8fCgiaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uPyJzdGFydCI6InRvcCIpKX1tZWFzdXJlUmVuZGVyZWRDb250ZW50U2l6ZSgpe2NvbnN0IHQ9dGhpcy5fY29udGVudFdyYXBwZXIubmF0aXZlRWxlbWVudDtyZXR1cm4iaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uP3Qub2Zmc2V0V2lkdGg6dC5vZmZzZXRIZWlnaHR9bWVhc3VyZVJhbmdlU2l6ZSh0KXtyZXR1cm4gdGhpcy5fZm9yT2Y/dGhpcy5fZm9yT2YubWVhc3VyZVJhbmdlU2l6ZSh0LHRoaXMub3JpZW50YXRpb24pOjB9Y2hlY2tWaWV3cG9ydFNpemUoKXt0aGlzLl9tZWFzdXJlVmlld3BvcnRTaXplKCksdGhpcy5fc2Nyb2xsU3RyYXRlZ3kub25EYXRhTGVuZ3RoQ2hhbmdlZCgpfV9tZWFzdXJlVmlld3BvcnRTaXplKCl7Y29uc3QgdD10aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDt0aGlzLl92aWV3cG9ydFNpemU9Imhvcml6b250YWwiPT09dGhpcy5vcmllbnRhdGlvbj90LmNsaWVudFdpZHRoOnQuY2xpZW50SGVpZ2h0fV9tYXJrQ2hhbmdlRGV0ZWN0aW9uTmVlZGVkKHQpe3QmJnRoaXMuX3J1bkFmdGVyQ2hhbmdlRGV0ZWN0aW9uLnB1c2godCksdGhpcy5faXNDaGFuZ2VEZXRlY3Rpb25QZW5kaW5nfHwodGhpcy5faXNDaGFuZ2VEZXRlY3Rpb25QZW5kaW5nPSEwLHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9Pnt0aGlzLl9kb0NoYW5nZURldGVjdGlvbigpfSkpKSkpfV9kb0NoYW5nZURldGVjdGlvbigpe3RoaXMuX2lzQ2hhbmdlRGV0ZWN0aW9uUGVuZGluZz0hMSx0aGlzLl9jb250ZW50V3JhcHBlci5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zZm9ybT10aGlzLl9yZW5kZXJlZENvbnRlbnRUcmFuc2Zvcm0sdGhpcy5uZ1pvbmUucnVuKCgoKT0+dGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpKTtjb25zdCB0PXRoaXMuX3J1bkFmdGVyQ2hhbmdlRGV0ZWN0aW9uO3RoaXMuX3J1bkFmdGVyQ2hhbmdlRGV0ZWN0aW9uPVtdO2Zvcihjb25zdCBlIG9mIHQpZSgpfV9jYWxjdWxhdGVTcGFjZXJTaXplKCl7dGhpcy5fdG90YWxDb250ZW50SGVpZ2h0PSJob3Jpem9udGFsIj09PXRoaXMub3JpZW50YXRpb24/IiI6YCR7dGhpcy5fdG90YWxDb250ZW50U2l6ZX1weGAsdGhpcy5fdG90YWxDb250ZW50V2lkdGg9Imhvcml6b250YWwiPT09dGhpcy5vcmllbnRhdGlvbj9gJHt0aGlzLl90b3RhbENvbnRlbnRTaXplfXB4YDoiIn19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiBlQih0LGUsbil7aWYoIW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KXJldHVybiAwO2NvbnN0IG89bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4iaG9yaXpvbnRhbCI9PT10PyJzdGFydCI9PT1lP28ubGVmdDpvLnJpZ2h0OiJzdGFydCI9PT1lP28udG9wOm8uYm90dG9tfXRCLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0QikoZ2YoS2gpLGdmKE9iKSxnZihtQyksZ2YoWUwsOCksZ2YodkYsOCksZ2YoS0wpLGdmKFFMKSl9LHRCLsm1Y21wPXNvKHt0eXBlOnRCLHNlbGVjdG9yczpbWyJjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJlZ5KEdMLDcpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uX2NvbnRlbnRXcmFwcGVyPXQuZmlyc3QpfX0saG9zdEF0dHJzOlsxLCJjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQiXSxob3N0VmFyczo0LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgiY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLWhvcml6b250YWwiLCJob3Jpem9udGFsIj09PW4ub3JpZW50YXRpb24pKCJjZGstdmlydHVhbC1zY3JvbGwtb3JpZW50YXRpb24tdmVydGljYWwiLCJob3Jpem9udGFsIiE9PW4ub3JpZW50YXRpb24pfSxpbnB1dHM6e29yaWVudGF0aW9uOiJvcmllbnRhdGlvbiIsYXBwZW5kT25seToiYXBwZW5kT25seSJ9LG91dHB1dHM6e3Njcm9sbGVkSW5kZXhDaGFuZ2U6InNjcm9sbGVkSW5kZXhDaGFuZ2UifSxmZWF0dXJlczpbamgoW3twcm92aWRlOkpMLHVzZUV4aXN0aW5nOnRCfV0pLFFwXSxuZ0NvbnRlbnRTZWxlY3RvcnM6WyIqIl0sZGVjbHM6NCx2YXJzOjQsY29uc3RzOltbMSwiY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlciJdLFsiY29udGVudFdyYXBwZXIiLCIiXSxbMSwiY2RrLXZpcnR1YWwtc2Nyb2xsLXNwYWNlciJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxDZigwLCJkaXYiLDAsMSksRmYoMiksTWYoKSx2ZigzLCJkaXYiLDIpKSwyJmUmJihEYygzKSxsdSgid2lkdGgiLG4uX3RvdGFsQ29udGVudFdpZHRoKSgiaGVpZ2h0IixuLl90b3RhbENvbnRlbnRIZWlnaHQpKX0sc3R5bGVzOlsiY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6YXV0bztjb250YWluOnN0cmljdDt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt3aWxsLWNoYW5nZTpzY3JvbGwtcG9zaXRpb247LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2NvbnRhaW46Y29udGVudH1bZGlyPXJ0bF0gLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXJ7cmlnaHQ6MDtsZWZ0OmF1dG99LmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVye21pbi1oZWlnaHQ6MTAwJX0uY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLWhvcml6b250YWwgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXI+ZGw6bm90KFtjZGtWaXJ0dWFsRm9yXSksLmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyPm9sOm5vdChbY2RrVmlydHVhbEZvcl0pLC5jZGstdmlydHVhbC1zY3JvbGwtb3JpZW50YXRpb24taG9yaXpvbnRhbCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcj50YWJsZTpub3QoW2Nka1ZpcnR1YWxGb3JdKSwuY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLWhvcml6b250YWwgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXI+dWw6bm90KFtjZGtWaXJ0dWFsRm9yXSl7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLWxlZnQtd2lkdGg6MDtib3JkZXItcmlnaHQtd2lkdGg6MDtvdXRsaW5lOm5vbmV9LmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi12ZXJ0aWNhbCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcnttaW4td2lkdGg6MTAwJX0uY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLXZlcnRpY2FsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyPmRsOm5vdChbY2RrVmlydHVhbEZvcl0pLC5jZGstdmlydHVhbC1zY3JvbGwtb3JpZW50YXRpb24tdmVydGljYWwgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXI+b2w6bm90KFtjZGtWaXJ0dWFsRm9yXSksLmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi12ZXJ0aWNhbCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcj50YWJsZTpub3QoW2Nka1ZpcnR1YWxGb3JdKSwuY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLXZlcnRpY2FsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyPnVsOm5vdChbY2RrVmlydHVhbEZvcl0pe3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206MDttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO2JvcmRlci10b3Atd2lkdGg6MDtib3JkZXItYm90dG9tLXdpZHRoOjA7b3V0bGluZTpub25lfS5jZGstdmlydHVhbC1zY3JvbGwtc3BhY2Vye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MXB4O3dpZHRoOjFweDt0cmFuc2Zvcm0tb3JpZ2luOjAgMH1bZGlyPXJ0bF0gLmNkay12aXJ0dWFsLXNjcm9sbC1zcGFjZXJ7cmlnaHQ6MDtsZWZ0OmF1dG87dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9XG4iXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSx0Qi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbWUxdfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOktMfSx7dHlwZTpRTH1dLHRCLnByb3BEZWNvcmF0b3JzPXtvcmllbnRhdGlvbjpbe3R5cGU6Ul99XSxhcHBlbmRPbmx5Olt7dHlwZTpSX31dLHNjcm9sbGVkSW5kZXhDaGFuZ2U6W3t0eXBlOkVffV0sX2NvbnRlbnRXcmFwcGVyOlt7dHlwZTphcixhcmdzOlsiY29udGVudFdyYXBwZXIiLHtzdGF0aWM6ITB9XX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHRCLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgV3JhcCB0aGUgcmVuZGVyZWQgY29udGVudCBpbiBhbiBlbGVtZW50IHRoYXQgd2lsbCBiZSB1c2VkIHRvIG9mZnNldCBpdCBiYXNlZCBvbiB0aGUgc2Nyb2xsXG4gIHBvc2l0aW9uLlxuLS1ceDNlXG48ZGl2ICNjb250ZW50V3JhcHBlciBjbGFzcz0iY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlciI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXHgzYyEtLVxuICBTcGFjZXIgdXNlZCB0byBmb3JjZSB0aGUgc2Nyb2xsaW5nIGNvbnRhaW5lciB0byB0aGUgY29ycmVjdCBzaXplIGZvciB0aGUgKnRvdGFsKiBudW1iZXIgb2YgaXRlbXNcbiAgc28gdGhhdCB0aGUgc2Nyb2xsYmFyIGNhcHR1cmVzIHRoZSBzaXplIG9mIHRoZSBlbnRpcmUgZGF0YSBzZXQuXG4tLVx4M2VcbjxkaXYgY2xhc3M9ImNkay12aXJ0dWFsLXNjcm9sbC1zcGFjZXIiXG4gICAgIFtzdHlsZS53aWR0aF09Il90b3RhbENvbnRlbnRXaWR0aCIgW3N0eWxlLmhlaWdodF09Il90b3RhbENvbnRlbnRIZWlnaHQiPjwvZGl2PlxuJyxob3N0OntjbGFzczoiY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IiwiW2NsYXNzLmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi1ob3Jpem9udGFsXSI6J29yaWVudGF0aW9uID09PSAiaG9yaXpvbnRhbCInLCJbY2xhc3MuY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLXZlcnRpY2FsXSI6J29yaWVudGF0aW9uICE9PSAiaG9yaXpvbnRhbCInfSxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOkpMLHVzZUV4aXN0aW5nOnRCfV0sc3R5bGVzOlsiY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6YXV0bztjb250YWluOnN0cmljdDt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt3aWxsLWNoYW5nZTpzY3JvbGwtcG9zaXRpb247LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2NvbnRhaW46Y29udGVudH1bZGlyPXJ0bF0gLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXJ7cmlnaHQ6MDtsZWZ0OmF1dG99LmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVye21pbi1oZWlnaHQ6MTAwJX0uY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLWhvcml6b250YWwgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXI+ZGw6bm90KFtjZGtWaXJ0dWFsRm9yXSksLmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyPm9sOm5vdChbY2RrVmlydHVhbEZvcl0pLC5jZGstdmlydHVhbC1zY3JvbGwtb3JpZW50YXRpb24taG9yaXpvbnRhbCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcj50YWJsZTpub3QoW2Nka1ZpcnR1YWxGb3JdKSwuY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLWhvcml6b250YWwgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXI+dWw6bm90KFtjZGtWaXJ0dWFsRm9yXSl7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLWxlZnQtd2lkdGg6MDtib3JkZXItcmlnaHQtd2lkdGg6MDtvdXRsaW5lOm5vbmV9LmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi12ZXJ0aWNhbCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcnttaW4td2lkdGg6MTAwJX0uY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLXZlcnRpY2FsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyPmRsOm5vdChbY2RrVmlydHVhbEZvcl0pLC5jZGstdmlydHVhbC1zY3JvbGwtb3JpZW50YXRpb24tdmVydGljYWwgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXI+b2w6bm90KFtjZGtWaXJ0dWFsRm9yXSksLmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi12ZXJ0aWNhbCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcj50YWJsZTpub3QoW2Nka1ZpcnR1YWxGb3JdKSwuY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLXZlcnRpY2FsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyPnVsOm5vdChbY2RrVmlydHVhbEZvcl0pe3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206MDttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO2JvcmRlci10b3Atd2lkdGg6MDtib3JkZXItYm90dG9tLXdpZHRoOjA7b3V0bGluZTpub25lfS5jZGstdmlydHVhbC1zY3JvbGwtc3BhY2Vye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MXB4O3dpZHRoOjFweDt0cmFuc2Zvcm0tb3JpZ2luOjAgMH1bZGlyPXJ0bF0gLmNkay12aXJ0dWFsLXNjcm9sbC1zcGFjZXJ7cmlnaHQ6MDtsZWZ0OmF1dG87dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbWUxdfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOktMfSx7dHlwZTpRTH1dfSkse3Njcm9sbGVkSW5kZXhDaGFuZ2U6W3t0eXBlOkVffV0sb3JpZW50YXRpb246W3t0eXBlOlJffV0sYXBwZW5kT25seTpbe3R5cGU6Ul99XSxfY29udGVudFdyYXBwZXI6W3t0eXBlOmFyLGFyZ3M6WyJjb250ZW50V3JhcHBlciIse3N0YXRpYzohMH1dfV19KTtjbGFzcyBuQntjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7dGhpcy5fdmlld0NvbnRhaW5lclJlZj10LHRoaXMuX3RlbXBsYXRlPWUsdGhpcy5fZGlmZmVycz1uLHRoaXMuX3ZpZXdSZXBlYXRlcj1vLHRoaXMuX3ZpZXdwb3J0PWksdGhpcy52aWV3Q2hhbmdlPW5ldyBCLHRoaXMuX2RhdGFTb3VyY2VDaGFuZ2VzPW5ldyBCLHRoaXMuZGF0YVN0cmVhbT10aGlzLl9kYXRhU291cmNlQ2hhbmdlcy5waXBlKEJlKG51bGwpLE5lKCksVmUoKChbdCxlXSk9PnRoaXMuX2NoYW5nZURhdGFTb3VyY2UodCxlKSkpLEZlKDEpKSx0aGlzLl9kaWZmZXI9bnVsbCx0aGlzLl9uZWVkc1VwZGF0ZT0hMSx0aGlzLl9kZXN0cm95ZWQ9bmV3IEIsdGhpcy5kYXRhU3RyZWFtLnN1YnNjcmliZSgodD0+e3RoaXMuX2RhdGE9dCx0aGlzLl9vblJlbmRlcmVkRGF0YUNoYW5nZSgpfSkpLHRoaXMuX3ZpZXdwb3J0LnJlbmRlcmVkUmFuZ2VTdHJlYW0ucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLl9yZW5kZXJlZFJhbmdlPXQsYS5ydW4oKCgpPT50aGlzLnZpZXdDaGFuZ2UubmV4dCh0aGlzLl9yZW5kZXJlZFJhbmdlKSkpLHRoaXMuX29uUmVuZGVyZWREYXRhQ2hhbmdlKCl9KSksdGhpcy5fdmlld3BvcnQuYXR0YWNoKHRoaXMpfWdldCBjZGtWaXJ0dWFsRm9yT2YoKXtyZXR1cm4gdGhpcy5fY2RrVmlydHVhbEZvck9mfXNldCBjZGtWaXJ0dWFsRm9yT2YodCl7dGhpcy5fY2RrVmlydHVhbEZvck9mPXQsRkwodCk/dGhpcy5fZGF0YVNvdXJjZUNoYW5nZXMubmV4dCh0KTp0aGlzLl9kYXRhU291cmNlQ2hhbmdlcy5uZXh0KG5ldyBMTChMdCh0KT90OkFycmF5LmZyb20odHx8W10pKSl9Z2V0IGNka1ZpcnR1YWxGb3JUcmFja0J5KCl7cmV0dXJuIHRoaXMuX2Nka1ZpcnR1YWxGb3JUcmFja0J5fXNldCBjZGtWaXJ0dWFsRm9yVHJhY2tCeSh0KXt0aGlzLl9uZWVkc1VwZGF0ZT0hMCx0aGlzLl9jZGtWaXJ0dWFsRm9yVHJhY2tCeT10PyhlLG4pPT50KGUrKHRoaXMuX3JlbmRlcmVkUmFuZ2U/dGhpcy5fcmVuZGVyZWRSYW5nZS5zdGFydDowKSxuKTp2b2lkIDB9c2V0IGNka1ZpcnR1YWxGb3JUZW1wbGF0ZSh0KXt0JiYodGhpcy5fbmVlZHNVcGRhdGU9ITAsdGhpcy5fdGVtcGxhdGU9dCl9Z2V0IGNka1ZpcnR1YWxGb3JUZW1wbGF0ZUNhY2hlU2l6ZSgpe3JldHVybiB0aGlzLl92aWV3UmVwZWF0ZXIudmlld0NhY2hlU2l6ZX1zZXQgY2RrVmlydHVhbEZvclRlbXBsYXRlQ2FjaGVTaXplKHQpe3RoaXMuX3ZpZXdSZXBlYXRlci52aWV3Q2FjaGVTaXplPW5IKHQpfW1lYXN1cmVSYW5nZVNpemUodCxlKXtpZih0LnN0YXJ0Pj10LmVuZClyZXR1cm4gMDtpZigodC5zdGFydDx0aGlzLl9yZW5kZXJlZFJhbmdlLnN0YXJ0fHx0LmVuZD50aGlzLl9yZW5kZXJlZFJhbmdlLmVuZCkmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBFcnJvcigiRXJyb3I6IGF0dGVtcHRlZCB0byBtZWFzdXJlIGFuIGl0ZW0gdGhhdCBpc24ndCByZW5kZXJlZC4iKTtjb25zdCBuPXQuc3RhcnQtdGhpcy5fcmVuZGVyZWRSYW5nZS5zdGFydCxvPXQuZW5kLXQuc3RhcnQ7bGV0IGksYTtmb3IobGV0IHQ9MDt0PG87dCsrKXtjb25zdCBlPXRoaXMuX3ZpZXdDb250YWluZXJSZWYuZ2V0KHQrbik7aWYoZSYmZS5yb290Tm9kZXMubGVuZ3RoKXtpPWE9ZS5yb290Tm9kZXNbMF07YnJlYWt9fWZvcihsZXQgdD1vLTE7dD4tMTt0LS0pe2NvbnN0IGU9dGhpcy5fdmlld0NvbnRhaW5lclJlZi5nZXQodCtuKTtpZihlJiZlLnJvb3ROb2Rlcy5sZW5ndGgpe2E9ZS5yb290Tm9kZXNbZS5yb290Tm9kZXMubGVuZ3RoLTFdO2JyZWFrfX1yZXR1cm4gaSYmYT9lQihlLCJlbmQiLGEpLWVCKGUsInN0YXJ0IixpKTowfW5nRG9DaGVjaygpe2lmKHRoaXMuX2RpZmZlciYmdGhpcy5fbmVlZHNVcGRhdGUpe2NvbnN0IHQ9dGhpcy5fZGlmZmVyLmRpZmYodGhpcy5fcmVuZGVyZWRJdGVtcyk7dD90aGlzLl9hcHBseUNoYW5nZXModCk6dGhpcy5fdXBkYXRlQ29udGV4dCgpLHRoaXMuX25lZWRzVXBkYXRlPSExfX1uZ09uRGVzdHJveSgpe3RoaXMuX3ZpZXdwb3J0LmRldGFjaCgpLHRoaXMuX2RhdGFTb3VyY2VDaGFuZ2VzLm5leHQodm9pZCAwKSx0aGlzLl9kYXRhU291cmNlQ2hhbmdlcy5jb21wbGV0ZSgpLHRoaXMudmlld0NoYW5nZS5jb21wbGV0ZSgpLHRoaXMuX2Rlc3Ryb3llZC5uZXh0KCksdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCksdGhpcy5fdmlld1JlcGVhdGVyLmRldGFjaCgpfV9vblJlbmRlcmVkRGF0YUNoYW5nZSgpe3RoaXMuX3JlbmRlcmVkUmFuZ2UmJih0aGlzLl9yZW5kZXJlZEl0ZW1zPXRoaXMuX2RhdGEuc2xpY2UodGhpcy5fcmVuZGVyZWRSYW5nZS5zdGFydCx0aGlzLl9yZW5kZXJlZFJhbmdlLmVuZCksdGhpcy5fZGlmZmVyfHwodGhpcy5fZGlmZmVyPXRoaXMuX2RpZmZlcnMuZmluZCh0aGlzLl9yZW5kZXJlZEl0ZW1zKS5jcmVhdGUoKCh0LGUpPT50aGlzLmNka1ZpcnR1YWxGb3JUcmFja0J5P3RoaXMuY2RrVmlydHVhbEZvclRyYWNrQnkodCxlKTplKSkpLHRoaXMuX25lZWRzVXBkYXRlPSEwKX1fY2hhbmdlRGF0YVNvdXJjZSh0LGUpe3JldHVybiB0JiZ0LmRpc2Nvbm5lY3QodGhpcyksdGhpcy5fbmVlZHNVcGRhdGU9ITAsZT9lLmNvbm5lY3QodGhpcyk6enQoKX1fdXBkYXRlQ29udGV4dCgpe2NvbnN0IHQ9dGhpcy5fZGF0YS5sZW5ndGg7bGV0IGU9dGhpcy5fdmlld0NvbnRhaW5lclJlZi5sZW5ndGg7Zm9yKDtlLS07KXtjb25zdCBuPXRoaXMuX3ZpZXdDb250YWluZXJSZWYuZ2V0KGUpO24uY29udGV4dC5pbmRleD10aGlzLl9yZW5kZXJlZFJhbmdlLnN0YXJ0K2Usbi5jb250ZXh0LmNvdW50PXQsdGhpcy5fdXBkYXRlQ29tcHV0ZWRDb250ZXh0UHJvcGVydGllcyhuLmNvbnRleHQpLG4uZGV0ZWN0Q2hhbmdlcygpfX1fYXBwbHlDaGFuZ2VzKHQpe3RoaXMuX3ZpZXdSZXBlYXRlci5hcHBseUNoYW5nZXModCx0aGlzLl92aWV3Q29udGFpbmVyUmVmLCgodCxlLG4pPT50aGlzLl9nZXRFbWJlZGRlZFZpZXdBcmdzKHQsbikpLCh0PT50Lml0ZW0pKSx0LmZvckVhY2hJZGVudGl0eUNoYW5nZSgodD0+e3RoaXMuX3ZpZXdDb250YWluZXJSZWYuZ2V0KHQuY3VycmVudEluZGV4KS5jb250ZXh0LiRpbXBsaWNpdD10Lml0ZW19KSk7Y29uc3QgZT10aGlzLl9kYXRhLmxlbmd0aDtsZXQgbj10aGlzLl92aWV3Q29udGFpbmVyUmVmLmxlbmd0aDtmb3IoO24tLTspe2NvbnN0IHQ9dGhpcy5fdmlld0NvbnRhaW5lclJlZi5nZXQobik7dC5jb250ZXh0LmluZGV4PXRoaXMuX3JlbmRlcmVkUmFuZ2Uuc3RhcnQrbix0LmNvbnRleHQuY291bnQ9ZSx0aGlzLl91cGRhdGVDb21wdXRlZENvbnRleHRQcm9wZXJ0aWVzKHQuY29udGV4dCl9fV91cGRhdGVDb21wdXRlZENvbnRleHRQcm9wZXJ0aWVzKHQpe3QuZmlyc3Q9MD09PXQuaW5kZXgsdC5sYXN0PXQuaW5kZXg9PT10LmNvdW50LTEsdC5ldmVuPXQuaW5kZXglMj09MCx0Lm9kZD0hdC5ldmVufV9nZXRFbWJlZGRlZFZpZXdBcmdzKHQsZSl7cmV0dXJue3RlbXBsYXRlUmVmOnRoaXMuX3RlbXBsYXRlLGNvbnRleHQ6eyRpbXBsaWNpdDp0Lml0ZW0sY2RrVmlydHVhbEZvck9mOnRoaXMuX2Nka1ZpcnR1YWxGb3JPZixpbmRleDotMSxjb3VudDotMSxmaXJzdDohMSxsYXN0OiExLG9kZDohMSxldmVuOiExfSxpbmRleDplfX19bkIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG5CKShnZihGYiksZ2YoRWIpLGdmKGhiKSxnZihXTCksZ2YodEIsNCksZ2YobUMpKX0sbkIuybVkaXI9aG8oe3R5cGU6bkIsc2VsZWN0b3JzOltbIiIsImNka1ZpcnR1YWxGb3IiLCIiLCJjZGtWaXJ0dWFsRm9yT2YiLCIiXV0saW5wdXRzOntjZGtWaXJ0dWFsRm9yT2Y6ImNka1ZpcnR1YWxGb3JPZiIsY2RrVmlydHVhbEZvclRyYWNrQnk6ImNka1ZpcnR1YWxGb3JUcmFja0J5IixjZGtWaXJ0dWFsRm9yVGVtcGxhdGU6ImNka1ZpcnR1YWxGb3JUZW1wbGF0ZSIsY2RrVmlydHVhbEZvclRlbXBsYXRlQ2FjaGVTaXplOiJjZGtWaXJ0dWFsRm9yVGVtcGxhdGVDYWNoZVNpemUifSxmZWF0dXJlczpbamgoW3twcm92aWRlOldMLHVzZUNsYXNzOlZMfV0pXX0pLG5CLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RmJ9LHt0eXBlOkVifSx7dHlwZTpoYn0se3R5cGU6VkwsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbV0xdfV19LHt0eXBlOnRCLGRlY29yYXRvcnM6W3t0eXBlOmpyfV19LHt0eXBlOm1DfV0sbkIucHJvcERlY29yYXRvcnM9e2Nka1ZpcnR1YWxGb3JPZjpbe3R5cGU6Ul99XSxjZGtWaXJ0dWFsRm9yVHJhY2tCeTpbe3R5cGU6Ul99XSxjZGtWaXJ0dWFsRm9yVGVtcGxhdGU6W3t0eXBlOlJffV0sY2RrVmlydHVhbEZvclRlbXBsYXRlQ2FjaGVTaXplOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG5CLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtWaXJ0dWFsRm9yXVtjZGtWaXJ0dWFsRm9yT2ZdIixwcm92aWRlcnM6W3twcm92aWRlOldMLHVzZUNsYXNzOlZMfV19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpGYn0se3R5cGU6RWJ9LHt0eXBlOmhifSx7dHlwZTpWTCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltXTF19XX0se3R5cGU6dEIsZGVjb3JhdG9yczpbe3R5cGU6anJ9XX0se3R5cGU6bUN9XX0pLHtjZGtWaXJ0dWFsRm9yT2Y6W3t0eXBlOlJffV0sY2RrVmlydHVhbEZvclRyYWNrQnk6W3t0eXBlOlJffV0sY2RrVmlydHVhbEZvclRlbXBsYXRlOlt7dHlwZTpSX31dLGNka1ZpcnR1YWxGb3JUZW1wbGF0ZUNhY2hlU2l6ZTpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3Mgb0J7fW9CLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxvQil9LG9CLsm1bW9kPWZvKHt0eXBlOm9CfSksb0IuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIob0IsW3t0eXBlOkxfLGFyZ3M6W3tleHBvcnRzOltKTF0sZGVjbGFyYXRpb25zOltKTF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhvQix7ZGVjbGFyYXRpb25zOltKTF0sZXhwb3J0czpbSkxdfSk7Y2xhc3MgaUJ7fWZ1bmN0aW9uIGFCKCl7dGhyb3cgRXJyb3IoIkhvc3QgYWxyZWFkeSBoYXMgYSBwb3J0YWwgYXR0YWNoZWQiKX1pQi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aUIpfSxpQi7JtW1vZD1mbyh7dHlwZTppQn0pLGlCLsm1aW5qPURuKHtpbXBvcnRzOltbT0YsZEgsb0JdLE9GLG9CXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaUIsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltPRixkSCxvQl0sZXhwb3J0czpbT0Ysb0IsWEwsbkIsdEJdLGRlY2xhcmF0aW9uczpbWEwsbkIsdEJdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oaUIse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVybltYTCxuQix0Ql19LGltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bT0YsZEgsb0JdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW09GLG9CLFhMLG5CLHRCXX19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIHJCe2F0dGFjaCh0KXtyZXR1cm4oInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJihudWxsPT10JiYoZnVuY3Rpb24gZSgpe3Rocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGF0dGFjaCBhIHBvcnRhbCB0byBhIG51bGwgUG9ydGFsT3V0bGV0Iil9KSgpLHQuaGFzQXR0YWNoZWQoKSYmYUIoKSksdGhpcy5fYXR0YWNoZWRIb3N0PXQsdC5hdHRhY2godGhpcyl9ZGV0YWNoKCl7bGV0IHQ9dGhpcy5fYXR0YWNoZWRIb3N0O251bGwhPXQ/KHRoaXMuX2F0dGFjaGVkSG9zdD1udWxsLHQuZGV0YWNoKCkpOigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmKGZ1bmN0aW9uIGUoKXt0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBkZXRhY2ggYSBwb3J0YWwgdGhhdCBpcyBub3QgYXR0YWNoZWQgdG8gYSBob3N0Iil9KSgpfWdldCBpc0F0dGFjaGVkKCl7cmV0dXJuIG51bGwhPXRoaXMuX2F0dGFjaGVkSG9zdH1zZXRBdHRhY2hlZEhvc3QodCl7dGhpcy5fYXR0YWNoZWRIb3N0PXR9fWNsYXNzIHNCIGV4dGVuZHMgckJ7Y29uc3RydWN0b3IodCxlLG4sbyl7c3VwZXIoKSx0aGlzLmNvbXBvbmVudD10LHRoaXMudmlld0NvbnRhaW5lclJlZj1lLHRoaXMuaW5qZWN0b3I9bix0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj1vfX1jbGFzcyBsQiBleHRlbmRzIHJCe2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcigpLHRoaXMudGVtcGxhdGVSZWY9dCx0aGlzLnZpZXdDb250YWluZXJSZWY9ZSx0aGlzLmNvbnRleHQ9bn1nZXQgb3JpZ2luKCl7cmV0dXJuIHRoaXMudGVtcGxhdGVSZWYuZWxlbWVudFJlZn1hdHRhY2godCxlPXRoaXMuY29udGV4dCl7cmV0dXJuIHRoaXMuY29udGV4dD1lLHN1cGVyLmF0dGFjaCh0KX1kZXRhY2goKXtyZXR1cm4gdGhpcy5jb250ZXh0PXZvaWQgMCxzdXBlci5kZXRhY2goKX19Y2xhc3MgY0IgZXh0ZW5kcyByQntjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuZWxlbWVudD10IGluc3RhbmNlb2YgS2g/dC5uYXRpdmVFbGVtZW50OnR9fWNsYXNzIGRCe2NvbnN0cnVjdG9yKCl7dGhpcy5faXNEaXNwb3NlZD0hMSx0aGlzLmF0dGFjaERvbVBvcnRhbD1udWxsfWhhc0F0dGFjaGVkKCl7cmV0dXJuISF0aGlzLl9hdHRhY2hlZFBvcnRhbH1hdHRhY2godCl7cmV0dXJuKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiYodHx8KGZ1bmN0aW9uIGUoKXt0aHJvdyBFcnJvcigiTXVzdCBwcm92aWRlIGEgcG9ydGFsIHRvIGF0dGFjaCIpfSkoKSx0aGlzLmhhc0F0dGFjaGVkKCkmJmFCKCksdGhpcy5faXNEaXNwb3NlZCYmKGZ1bmN0aW9uIG4oKXt0aHJvdyBFcnJvcigiVGhpcyBQb3J0YWxPdXRsZXQgaGFzIGFscmVhZHkgYmVlbiBkaXNwb3NlZCIpfSkoKSksdCBpbnN0YW5jZW9mIHNCPyh0aGlzLl9hdHRhY2hlZFBvcnRhbD10LHRoaXMuYXR0YWNoQ29tcG9uZW50UG9ydGFsKHQpKTp0IGluc3RhbmNlb2YgbEI/KHRoaXMuX2F0dGFjaGVkUG9ydGFsPXQsdGhpcy5hdHRhY2hUZW1wbGF0ZVBvcnRhbCh0KSk6dGhpcy5hdHRhY2hEb21Qb3J0YWwmJnQgaW5zdGFuY2VvZiBjQj8odGhpcy5fYXR0YWNoZWRQb3J0YWw9dCx0aGlzLmF0dGFjaERvbVBvcnRhbCh0KSk6dm9pZCgoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJihmdW5jdGlvbiBvKCl7dGhyb3cgRXJyb3IoIkF0dGVtcHRpbmcgdG8gYXR0YWNoIGFuIHVua25vd24gUG9ydGFsIHR5cGUuIEJhc2VQb3J0YWxPdXRsZXQgYWNjZXB0cyBlaXRoZXIgYSBDb21wb25lbnRQb3J0YWwgb3IgYSBUZW1wbGF0ZVBvcnRhbC4iKX0pKCkpfWRldGFjaCgpe3RoaXMuX2F0dGFjaGVkUG9ydGFsJiYodGhpcy5fYXR0YWNoZWRQb3J0YWwuc2V0QXR0YWNoZWRIb3N0KG51bGwpLHRoaXMuX2F0dGFjaGVkUG9ydGFsPW51bGwpLHRoaXMuX2ludm9rZURpc3Bvc2VGbigpfWRpc3Bvc2UoKXt0aGlzLmhhc0F0dGFjaGVkKCkmJnRoaXMuZGV0YWNoKCksdGhpcy5faW52b2tlRGlzcG9zZUZuKCksdGhpcy5faXNEaXNwb3NlZD0hMH1zZXREaXNwb3NlRm4odCl7dGhpcy5fZGlzcG9zZUZuPXR9X2ludm9rZURpc3Bvc2VGbigpe3RoaXMuX2Rpc3Bvc2VGbiYmKHRoaXMuX2Rpc3Bvc2VGbigpLHRoaXMuX2Rpc3Bvc2VGbj1udWxsKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIHBCIGV4dGVuZHMgZEJ7Y29uc3RydWN0b3IodCxlLG4sbyxpKXtzdXBlcigpLHRoaXMub3V0bGV0RWxlbWVudD10LHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj1lLHRoaXMuX2FwcFJlZj1uLHRoaXMuX2RlZmF1bHRJbmplY3Rvcj1vLHRoaXMuYXR0YWNoRG9tUG9ydGFsPXQ9PntpZighdGhpcy5fZG9jdW1lbnQmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBFcnJvcigiQ2Fubm90IGF0dGFjaCBET00gcG9ydGFsIHdpdGhvdXQgX2RvY3VtZW50IGNvbnN0cnVjdG9yIHBhcmFtZXRlciIpO2NvbnN0IGU9dC5lbGVtZW50O2lmKCFlLnBhcmVudE5vZGUmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBFcnJvcigiRE9NIHBvcnRhbCBjb250ZW50IG11c3QgYmUgYXR0YWNoZWQgdG8gYSBwYXJlbnQgbm9kZS4iKTtjb25zdCBuPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUNvbW1lbnQoImRvbS1wb3J0YWwiKTtlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG4sZSksdGhpcy5vdXRsZXRFbGVtZW50LmFwcGVuZENoaWxkKGUpLHRoaXMuX2F0dGFjaGVkUG9ydGFsPXQsc3VwZXIuc2V0RGlzcG9zZUZuKCgoKT0+e24ucGFyZW50Tm9kZSYmbi5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChlLG4pfSkpfSx0aGlzLl9kb2N1bWVudD1pfWF0dGFjaENvbXBvbmVudFBvcnRhbCh0KXtjb25zdCBlPSh0LmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcnx8dGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyKS5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0LmNvbXBvbmVudCk7bGV0IG47cmV0dXJuIHQudmlld0NvbnRhaW5lclJlZj8obj10LnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGUsdC52aWV3Q29udGFpbmVyUmVmLmxlbmd0aCx0LmluamVjdG9yfHx0LnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IpLHRoaXMuc2V0RGlzcG9zZUZuKCgoKT0+bi5kZXN0cm95KCkpKSk6KG49ZS5jcmVhdGUodC5pbmplY3Rvcnx8dGhpcy5fZGVmYXVsdEluamVjdG9yKSx0aGlzLl9hcHBSZWYuYXR0YWNoVmlldyhuLmhvc3RWaWV3KSx0aGlzLnNldERpc3Bvc2VGbigoKCk9Pnt0aGlzLl9hcHBSZWYuZGV0YWNoVmlldyhuLmhvc3RWaWV3KSxuLmRlc3Ryb3koKX0pKSksdGhpcy5vdXRsZXRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2dldENvbXBvbmVudFJvb3ROb2RlKG4pKSx0aGlzLl9hdHRhY2hlZFBvcnRhbD10LG59YXR0YWNoVGVtcGxhdGVQb3J0YWwodCl7bGV0IGU9dC52aWV3Q29udGFpbmVyUmVmLG49ZS5jcmVhdGVFbWJlZGRlZFZpZXcodC50ZW1wbGF0ZVJlZix0LmNvbnRleHQpO3JldHVybiBuLnJvb3ROb2Rlcy5mb3JFYWNoKCh0PT50aGlzLm91dGxldEVsZW1lbnQuYXBwZW5kQ2hpbGQodCkpKSxuLmRldGVjdENoYW5nZXMoKSx0aGlzLnNldERpc3Bvc2VGbigoKCk9PntsZXQgdD1lLmluZGV4T2Yobik7LTEhPT10JiZlLnJlbW92ZSh0KX0pKSx0aGlzLl9hdHRhY2hlZFBvcnRhbD10LG59ZGlzcG9zZSgpe3N1cGVyLmRpc3Bvc2UoKSxudWxsIT10aGlzLm91dGxldEVsZW1lbnQucGFyZW50Tm9kZSYmdGhpcy5vdXRsZXRFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5vdXRsZXRFbGVtZW50KX1fZ2V0Q29tcG9uZW50Um9vdE5vZGUodCl7cmV0dXJuIHQuaG9zdFZpZXcucm9vdE5vZGVzWzBdfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgbUIgZXh0ZW5kcyBsQntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSl9fW1CLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxtQikoZ2YoRWIpLGdmKEZiKSl9LG1CLsm1ZGlyPWhvKHt0eXBlOm1CLHNlbGVjdG9yczpbWyIiLCJjZGtQb3J0YWwiLCIiXV0sZXhwb3J0QXM6WyJjZGtQb3J0YWwiXSxmZWF0dXJlczpbUXBdfSksbUIuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpFYn0se3R5cGU6RmJ9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1CLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtQb3J0YWxdIixleHBvcnRBczoiY2RrUG9ydGFsIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkVifSx7dHlwZTpGYn1dfSksbnVsbCk7Y2xhc3MgZkIgZXh0ZW5kcyBtQnt9ZkIuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKGZCKSkpKG58fGZCKX19KSgpLGZCLsm1ZGlyPWhvKHt0eXBlOmZCLHNlbGVjdG9yczpbWyIiLCJjZGstcG9ydGFsIiwiIl0sWyIiLCJwb3J0YWwiLCIiXV0sZXhwb3J0QXM6WyJjZGtQb3J0YWwiXSxmZWF0dXJlczpbamgoW3twcm92aWRlOm1CLHVzZUV4aXN0aW5nOmZCfV0pLFFwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZkIsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Nkay1wb3J0YWxdLCBbcG9ydGFsXSIsZXhwb3J0QXM6ImNka1BvcnRhbCIscHJvdmlkZXJzOlt7cHJvdmlkZTptQix1c2VFeGlzdGluZzpmQn1dfV19XSxudWxsLG51bGwpO2NsYXNzIHVCIGV4dGVuZHMgZEJ7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKCksdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyPXQsdGhpcy5fdmlld0NvbnRhaW5lclJlZj1lLHRoaXMuX2lzSW5pdGlhbGl6ZWQ9ITEsdGhpcy5hdHRhY2hlZD1uZXcgU3ksdGhpcy5hdHRhY2hEb21Qb3J0YWw9dD0+e2lmKCF0aGlzLl9kb2N1bWVudCYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93IEVycm9yKCJDYW5ub3QgYXR0YWNoIERPTSBwb3J0YWwgd2l0aG91dCBfZG9jdW1lbnQgY29uc3RydWN0b3IgcGFyYW1ldGVyIik7Y29uc3QgZT10LmVsZW1lbnQ7aWYoIWUucGFyZW50Tm9kZSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93IEVycm9yKCJET00gcG9ydGFsIGNvbnRlbnQgbXVzdCBiZSBhdHRhY2hlZCB0byBhIHBhcmVudCBub2RlLiIpO2NvbnN0IG49dGhpcy5fZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiZG9tLXBvcnRhbCIpO3Quc2V0QXR0YWNoZWRIb3N0KHRoaXMpLGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobixlKSx0aGlzLl9nZXRSb290Tm9kZSgpLmFwcGVuZENoaWxkKGUpLHRoaXMuX2F0dGFjaGVkUG9ydGFsPXQsc3VwZXIuc2V0RGlzcG9zZUZuKCgoKT0+e24ucGFyZW50Tm9kZSYmbi5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChlLG4pfSkpfSx0aGlzLl9kb2N1bWVudD1ufWdldCBwb3J0YWwoKXtyZXR1cm4gdGhpcy5fYXR0YWNoZWRQb3J0YWx9c2V0IHBvcnRhbCh0KXsoIXRoaXMuaGFzQXR0YWNoZWQoKXx8dHx8dGhpcy5faXNJbml0aWFsaXplZCkmJih0aGlzLmhhc0F0dGFjaGVkKCkmJnN1cGVyLmRldGFjaCgpLHQmJnN1cGVyLmF0dGFjaCh0KSx0aGlzLl9hdHRhY2hlZFBvcnRhbD10KX1nZXQgYXR0YWNoZWRSZWYoKXtyZXR1cm4gdGhpcy5fYXR0YWNoZWRSZWZ9bmdPbkluaXQoKXt0aGlzLl9pc0luaXRpYWxpemVkPSEwfW5nT25EZXN0cm95KCl7c3VwZXIuZGlzcG9zZSgpLHRoaXMuX2F0dGFjaGVkUG9ydGFsPW51bGwsdGhpcy5fYXR0YWNoZWRSZWY9bnVsbH1hdHRhY2hDb21wb25lbnRQb3J0YWwodCl7dC5zZXRBdHRhY2hlZEhvc3QodGhpcyk7Y29uc3QgZT1udWxsIT10LnZpZXdDb250YWluZXJSZWY/dC52aWV3Q29udGFpbmVyUmVmOnRoaXMuX3ZpZXdDb250YWluZXJSZWYsbj0odC5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJ8fHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodC5jb21wb25lbnQpLG89ZS5jcmVhdGVDb21wb25lbnQobixlLmxlbmd0aCx0LmluamVjdG9yfHxlLmluamVjdG9yKTtyZXR1cm4gZSE9PXRoaXMuX3ZpZXdDb250YWluZXJSZWYmJnRoaXMuX2dldFJvb3ROb2RlKCkuYXBwZW5kQ2hpbGQoby5ob3N0Vmlldy5yb290Tm9kZXNbMF0pLHN1cGVyLnNldERpc3Bvc2VGbigoKCk9Pm8uZGVzdHJveSgpKSksdGhpcy5fYXR0YWNoZWRQb3J0YWw9dCx0aGlzLl9hdHRhY2hlZFJlZj1vLHRoaXMuYXR0YWNoZWQuZW1pdChvKSxvfWF0dGFjaFRlbXBsYXRlUG9ydGFsKHQpe3Quc2V0QXR0YWNoZWRIb3N0KHRoaXMpO2NvbnN0IGU9dGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodC50ZW1wbGF0ZVJlZix0LmNvbnRleHQpO3JldHVybiBzdXBlci5zZXREaXNwb3NlRm4oKCgpPT50aGlzLl92aWV3Q29udGFpbmVyUmVmLmNsZWFyKCkpKSx0aGlzLl9hdHRhY2hlZFBvcnRhbD10LHRoaXMuX2F0dGFjaGVkUmVmPWUsdGhpcy5hdHRhY2hlZC5lbWl0KGUpLGV9X2dldFJvb3ROb2RlKCl7Y29uc3QgdD10aGlzLl92aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudDtyZXR1cm4gdC5ub2RlVHlwZT09PXQuRUxFTUVOVF9OT0RFP3Q6dC5wYXJlbnROb2RlfX11Qi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dUIpKGdmKEdoKSxnZihGYiksZ2Yoc00pKX0sdUIuybVkaXI9aG8oe3R5cGU6dUIsc2VsZWN0b3JzOltbIiIsImNka1BvcnRhbE91dGxldCIsIiJdXSxpbnB1dHM6e3BvcnRhbDpbImNka1BvcnRhbE91dGxldCIsInBvcnRhbCJdfSxvdXRwdXRzOnthdHRhY2hlZDoiYXR0YWNoZWQifSxleHBvcnRBczpbImNka1BvcnRhbE91dGxldCJdLGZlYXR1cmVzOltRcF19KSx1Qi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkdofSx7dHlwZTpGYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV0sdUIucHJvcERlY29yYXRvcnM9e2F0dGFjaGVkOlt7dHlwZTpFX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHVCLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtQb3J0YWxPdXRsZXRdIixleHBvcnRBczoiY2RrUG9ydGFsT3V0bGV0IixpbnB1dHM6WyJwb3J0YWw6IGNka1BvcnRhbE91dGxldCJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6R2h9LHt0eXBlOkZifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLHthdHRhY2hlZDpbe3R5cGU6RV99XX0pO2NsYXNzIGdCIGV4dGVuZHMgdUJ7fWdCLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShnQikpKShufHxnQil9fSkoKSxnQi7JtWRpcj1obyh7dHlwZTpnQixzZWxlY3RvcnM6W1siIiwiY2RrUG9ydGFsSG9zdCIsIiJdLFsiIiwicG9ydGFsSG9zdCIsIiJdXSxpbnB1dHM6e3BvcnRhbDpbImNka1BvcnRhbEhvc3QiLCJwb3J0YWwiXX0sZXhwb3J0QXM6WyJjZGtQb3J0YWxIb3N0Il0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTp1Qix1c2VFeGlzdGluZzpnQn1dKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGdCLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtQb3J0YWxIb3N0XSwgW3BvcnRhbEhvc3RdIixleHBvcnRBczoiY2RrUG9ydGFsSG9zdCIsaW5wdXRzOlsicG9ydGFsOiBjZGtQb3J0YWxIb3N0Il0scHJvdmlkZXJzOlt7cHJvdmlkZTp1Qix1c2VFeGlzdGluZzpnQn1dfV19XSxudWxsLG51bGwpO2NsYXNzIGhCe31oQi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aEIpfSxoQi7JtW1vZD1mbyh7dHlwZTpoQn0pLGhCLsm1aW5qPURuKHt9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGhCLFt7dHlwZTpMXyxhcmdzOlt7ZXhwb3J0czpbbUIsdUIsZkIsZ0JdLGRlY2xhcmF0aW9uczpbbUIsdUIsZkIsZ0JdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oaEIse2RlY2xhcmF0aW9uczpbbUIsdUIsZkIsZ0JdLGV4cG9ydHM6W21CLHVCLGZCLGdCXX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgYkI9eUgoKTtjbGFzcyB5Qntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX3ZpZXdwb3J0UnVsZXI9dCx0aGlzLl9wcmV2aW91c0hUTUxTdHlsZXM9e3RvcDoiIixsZWZ0OiIifSx0aGlzLl9pc0VuYWJsZWQ9ITEsdGhpcy5fZG9jdW1lbnQ9ZX1hdHRhY2goKXt9ZW5hYmxlKCl7aWYodGhpcy5fY2FuQmVFbmFibGVkKCkpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMuX3ByZXZpb3VzU2Nyb2xsUG9zaXRpb249dGhpcy5fdmlld3BvcnRSdWxlci5nZXRWaWV3cG9ydFNjcm9sbFBvc2l0aW9uKCksdGhpcy5fcHJldmlvdXNIVE1MU3R5bGVzLmxlZnQ9dC5zdHlsZS5sZWZ0fHwiIix0aGlzLl9wcmV2aW91c0hUTUxTdHlsZXMudG9wPXQuc3R5bGUudG9wfHwiIix0LnN0eWxlLmxlZnQ9YUgoLXRoaXMuX3ByZXZpb3VzU2Nyb2xsUG9zaXRpb24ubGVmdCksdC5zdHlsZS50b3A9YUgoLXRoaXMuX3ByZXZpb3VzU2Nyb2xsUG9zaXRpb24udG9wKSx0LmNsYXNzTGlzdC5hZGQoImNkay1nbG9iYWwtc2Nyb2xsYmxvY2siKSx0aGlzLl9pc0VuYWJsZWQ9ITB9fWRpc2FibGUoKXtpZih0aGlzLl9pc0VuYWJsZWQpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGU9dC5zdHlsZSxuPXRoaXMuX2RvY3VtZW50LmJvZHkuc3R5bGUsbz1lLnNjcm9sbEJlaGF2aW9yfHwiIixpPW4uc2Nyb2xsQmVoYXZpb3J8fCIiO3RoaXMuX2lzRW5hYmxlZD0hMSxlLmxlZnQ9dGhpcy5fcHJldmlvdXNIVE1MU3R5bGVzLmxlZnQsZS50b3A9dGhpcy5fcHJldmlvdXNIVE1MU3R5bGVzLnRvcCx0LmNsYXNzTGlzdC5yZW1vdmUoImNkay1nbG9iYWwtc2Nyb2xsYmxvY2siKSxiQiYmKGUuc2Nyb2xsQmVoYXZpb3I9bi5zY3JvbGxCZWhhdmlvcj0iYXV0byIpLHdpbmRvdy5zY3JvbGwodGhpcy5fcHJldmlvdXNTY3JvbGxQb3NpdGlvbi5sZWZ0LHRoaXMuX3ByZXZpb3VzU2Nyb2xsUG9zaXRpb24udG9wKSxiQiYmKGUuc2Nyb2xsQmVoYXZpb3I9byxuLnNjcm9sbEJlaGF2aW9yPWkpfX1fY2FuQmVFbmFibGVkKCl7aWYodGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiY2RrLWdsb2JhbC1zY3JvbGxibG9jayIpfHx0aGlzLl9pc0VuYWJsZWQpcmV0dXJuITE7Y29uc3QgdD10aGlzLl9kb2N1bWVudC5ib2R5LGU9dGhpcy5fdmlld3BvcnRSdWxlci5nZXRWaWV3cG9ydFNpemUoKTtyZXR1cm4gdC5zY3JvbGxIZWlnaHQ+ZS5oZWlnaHR8fHQuc2Nyb2xsV2lkdGg+ZS53aWR0aH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIF9CKCl7cmV0dXJuIEVycm9yKCJTY3JvbGwgc3RyYXRlZ3kgaGFzIGFscmVhZHkgYmVlbiBhdHRhY2hlZC4iKX1jbGFzcyBDQntjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLl9zY3JvbGxEaXNwYXRjaGVyPXQsdGhpcy5fbmdab25lPWUsdGhpcy5fdmlld3BvcnRSdWxlcj1uLHRoaXMuX2NvbmZpZz1vLHRoaXMuX3Njcm9sbFN1YnNjcmlwdGlvbj1udWxsLHRoaXMuX2RldGFjaD0oKT0+e3RoaXMuZGlzYWJsZSgpLHRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSYmdGhpcy5fbmdab25lLnJ1bigoKCk9PnRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCkpKX19YXR0YWNoKHQpe2lmKHRoaXMuX292ZXJsYXlSZWYmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBfQigpO3RoaXMuX292ZXJsYXlSZWY9dH1lbmFibGUoKXtpZih0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb24pcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc2Nyb2xsRGlzcGF0Y2hlci5zY3JvbGxlZCgwKTt0aGlzLl9jb25maWcmJnRoaXMuX2NvbmZpZy50aHJlc2hvbGQmJnRoaXMuX2NvbmZpZy50aHJlc2hvbGQ+MT8odGhpcy5faW5pdGlhbFNjcm9sbFBvc2l0aW9uPXRoaXMuX3ZpZXdwb3J0UnVsZXIuZ2V0Vmlld3BvcnRTY3JvbGxQb3NpdGlvbigpLnRvcCx0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb249dC5zdWJzY3JpYmUoKCgpPT57Y29uc3QgdD10aGlzLl92aWV3cG9ydFJ1bGVyLmdldFZpZXdwb3J0U2Nyb2xsUG9zaXRpb24oKS50b3A7TWF0aC5hYnModC10aGlzLl9pbml0aWFsU2Nyb2xsUG9zaXRpb24pPnRoaXMuX2NvbmZpZy50aHJlc2hvbGQ/dGhpcy5fZGV0YWNoKCk6dGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpfSkpKTp0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb249dC5zdWJzY3JpYmUodGhpcy5fZGV0YWNoKX1kaXNhYmxlKCl7dGhpcy5fc2Nyb2xsU3Vic2NyaXB0aW9uJiYodGhpcy5fc2Nyb2xsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fc2Nyb2xsU3Vic2NyaXB0aW9uPW51bGwpfWRldGFjaCgpe3RoaXMuZGlzYWJsZSgpLHRoaXMuX292ZXJsYXlSZWY9bnVsbH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIE1Ce2VuYWJsZSgpe31kaXNhYmxlKCl7fWF0dGFjaCgpe319Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIHZCKHQsZSl7cmV0dXJuIGUuc29tZSgoZT0+dC5ib3R0b208ZS50b3B8fHQudG9wPmUuYm90dG9tfHx0LnJpZ2h0PGUubGVmdHx8dC5sZWZ0PmUucmlnaHQpKX1mdW5jdGlvbiB4Qih0LGUpe3JldHVybiBlLnNvbWUoKGU9PnQudG9wPGUudG9wfHx0LmJvdHRvbT5lLmJvdHRvbXx8dC5sZWZ0PGUubGVmdHx8dC5yaWdodD5lLnJpZ2h0KSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIE9Ce2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX3Njcm9sbERpc3BhdGNoZXI9dCx0aGlzLl92aWV3cG9ydFJ1bGVyPWUsdGhpcy5fbmdab25lPW4sdGhpcy5fY29uZmlnPW8sdGhpcy5fc2Nyb2xsU3Vic2NyaXB0aW9uPW51bGx9YXR0YWNoKHQpe2lmKHRoaXMuX292ZXJsYXlSZWYmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBfQigpO3RoaXMuX292ZXJsYXlSZWY9dH1lbmFibGUoKXtpZighdGhpcy5fc2Nyb2xsU3Vic2NyaXB0aW9uKXt0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb249dGhpcy5fc2Nyb2xsRGlzcGF0Y2hlci5zY3JvbGxlZCh0aGlzLl9jb25maWc/dGhpcy5fY29uZmlnLnNjcm9sbFRocm90dGxlOjApLnN1YnNjcmliZSgoKCk9PntpZih0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCksdGhpcy5fY29uZmlnJiZ0aGlzLl9jb25maWcuYXV0b0Nsb3NlKXtjb25zdCB0PXRoaXMuX292ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse3dpZHRoOmUsaGVpZ2h0Om59PXRoaXMuX3ZpZXdwb3J0UnVsZXIuZ2V0Vmlld3BvcnRTaXplKCk7dkIodCxbe3dpZHRoOmUsaGVpZ2h0Om4sYm90dG9tOm4scmlnaHQ6ZSx0b3A6MCxsZWZ0OjB9XSkmJih0aGlzLmRpc2FibGUoKSx0aGlzLl9uZ1pvbmUucnVuKCgoKT0+dGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKSkpKX19KSl9fWRpc2FibGUoKXt0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb24mJih0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb249bnVsbCl9ZGV0YWNoKCl7dGhpcy5kaXNhYmxlKCksdGhpcy5fb3ZlcmxheVJlZj1udWxsfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgUEJ7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5fc2Nyb2xsRGlzcGF0Y2hlcj10LHRoaXMuX3ZpZXdwb3J0UnVsZXI9ZSx0aGlzLl9uZ1pvbmU9bix0aGlzLm5vb3A9KCk9Pm5ldyBNQix0aGlzLmNsb3NlPXQ9Pm5ldyBDQih0aGlzLl9zY3JvbGxEaXNwYXRjaGVyLHRoaXMuX25nWm9uZSx0aGlzLl92aWV3cG9ydFJ1bGVyLHQpLHRoaXMuYmxvY2s9KCk9Pm5ldyB5Qih0aGlzLl92aWV3cG9ydFJ1bGVyLHRoaXMuX2RvY3VtZW50KSx0aGlzLnJlcG9zaXRpb249dD0+bmV3IE9CKHRoaXMuX3Njcm9sbERpc3BhdGNoZXIsdGhpcy5fdmlld3BvcnRSdWxlcix0aGlzLl9uZ1pvbmUsdCksdGhpcy5fZG9jdW1lbnQ9b319UEIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFBCKShUcihLTCksVHIoUUwpLFRyKG1DKSxUcihzTSkpfSxQQi7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgUEIoVHIoS0wpLFRyKFFMKSxUcihtQyksVHIoc00pKX0sdG9rZW46UEIscHJvdmlkZWRJbjoicm9vdCJ9KSxQQi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktMfSx7dHlwZTpRTH0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUEIsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktMfSx7dHlwZTpRTH0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3Mgd0J7Y29uc3RydWN0b3IodCl7aWYodGhpcy5zY3JvbGxTdHJhdGVneT1uZXcgTUIsdGhpcy5wYW5lbENsYXNzPSIiLHRoaXMuaGFzQmFja2Ryb3A9ITEsdGhpcy5iYWNrZHJvcENsYXNzPSJjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIix0aGlzLmRpc3Bvc2VPbk5hdmlnYXRpb249ITEsdCl7Y29uc3QgZT1PYmplY3Qua2V5cyh0KTtmb3IoY29uc3QgbiBvZiBlKXZvaWQgMCE9PXRbbl0mJih0aGlzW25dPXRbbl0pfX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIGtCe2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7dGhpcy5vZmZzZXRYPW4sdGhpcy5vZmZzZXRZPW8sdGhpcy5wYW5lbENsYXNzPWksdGhpcy5vcmlnaW5YPXQub3JpZ2luWCx0aGlzLm9yaWdpblk9dC5vcmlnaW5ZLHRoaXMub3ZlcmxheVg9ZS5vdmVybGF5WCx0aGlzLm92ZXJsYXlZPWUub3ZlcmxheVl9fWNsYXNzIFNCe31jbGFzcyBEQntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuY29ubmVjdGlvblBhaXI9dCx0aGlzLnNjcm9sbGFibGVWaWV3UHJvcGVydGllcz1lfX1mdW5jdGlvbiBSQih0LGUpe2lmKCJ0b3AiIT09ZSYmImJvdHRvbSIhPT1lJiYiY2VudGVyIiE9PWUpdGhyb3cgRXJyb3IoYENvbm5lY3RlZFBvc2l0aW9uOiBJbnZhbGlkICR7dH0gIiR7ZX0iLiBFeHBlY3RlZCAidG9wIiwgImJvdHRvbSIgb3IgImNlbnRlciIuYCl9ZnVuY3Rpb24gRUIodCxlKXtpZigic3RhcnQiIT09ZSYmImVuZCIhPT1lJiYiY2VudGVyIiE9PWUpdGhyb3cgRXJyb3IoYENvbm5lY3RlZFBvc2l0aW9uOiBJbnZhbGlkICR7dH0gIiR7ZX0iLiBFeHBlY3RlZCAic3RhcnQiLCAiZW5kIiBvciAiY2VudGVyIi5gKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovREIuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTprQn0se3R5cGU6U0IsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX1dO2NsYXNzIEFCe2NvbnN0cnVjdG9yKHQpe3RoaXMuX2F0dGFjaGVkT3ZlcmxheXM9W10sdGhpcy5fZG9jdW1lbnQ9dH1uZ09uRGVzdHJveSgpe3RoaXMuZGV0YWNoKCl9YWRkKHQpe3RoaXMucmVtb3ZlKHQpLHRoaXMuX2F0dGFjaGVkT3ZlcmxheXMucHVzaCh0KX1yZW1vdmUodCl7Y29uc3QgZT10aGlzLl9hdHRhY2hlZE92ZXJsYXlzLmluZGV4T2YodCk7ZT4tMSYmdGhpcy5fYXR0YWNoZWRPdmVybGF5cy5zcGxpY2UoZSwxKSwwPT09dGhpcy5fYXR0YWNoZWRPdmVybGF5cy5sZW5ndGgmJnRoaXMuZGV0YWNoKCl9fUFCLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxBQikoVHIoc00pKX0sQUIuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IEFCKFRyKHNNKSl9LHRva2VuOkFCLHByb3ZpZGVkSW46InJvb3QifSksQUIuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEFCLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgVEIgZXh0ZW5kcyBBQntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLl9rZXlkb3duTGlzdGVuZXI9dD0+e2NvbnN0IGU9dGhpcy5fYXR0YWNoZWRPdmVybGF5cztmb3IobGV0IG49ZS5sZW5ndGgtMTtuPi0xO24tLSlpZihlW25dLl9rZXlkb3duRXZlbnRzLm9ic2VydmVycy5sZW5ndGg+MCl7ZVtuXS5fa2V5ZG93bkV2ZW50cy5uZXh0KHQpO2JyZWFrfX19YWRkKHQpe3N1cGVyLmFkZCh0KSx0aGlzLl9pc0F0dGFjaGVkfHwodGhpcy5fZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9rZXlkb3duTGlzdGVuZXIpLHRoaXMuX2lzQXR0YWNoZWQ9ITApfWRldGFjaCgpe3RoaXMuX2lzQXR0YWNoZWQmJih0aGlzLl9kb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2tleWRvd25MaXN0ZW5lciksdGhpcy5faXNBdHRhY2hlZD0hMSl9fVRCLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxUQikoVHIoc00pKX0sVEIuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IFRCKFRyKHNNKSl9LHRva2VuOlRCLHByb3ZpZGVkSW46InJvb3QifSksVEIuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFRCLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgTkIgZXh0ZW5kcyBBQntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQpLHRoaXMuX3BsYXRmb3JtPWUsdGhpcy5fY3Vyc29yU3R5bGVJc1NldD0hMSx0aGlzLl9jbGlja0xpc3RlbmVyPXQ9Pntjb25zdCBlPXZIKHQpLG49dGhpcy5fYXR0YWNoZWRPdmVybGF5cy5zbGljZSgpO2ZvcihsZXQgbz1uLmxlbmd0aC0xO28+LTE7by0tKXtjb25zdCBpPW5bb107aWYoIShpLl9vdXRzaWRlUG9pbnRlckV2ZW50cy5vYnNlcnZlcnMubGVuZ3RoPDEpJiZpLmhhc0F0dGFjaGVkKCkpe2lmKGkub3ZlcmxheUVsZW1lbnQuY29udGFpbnMoZSkpYnJlYWs7aS5fb3V0c2lkZVBvaW50ZXJFdmVudHMubmV4dCh0KX19fX1hZGQodCl7aWYoc3VwZXIuYWRkKHQpLCF0aGlzLl9pc0F0dGFjaGVkKXtjb25zdCB0PXRoaXMuX2RvY3VtZW50LmJvZHk7dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5fY2xpY2tMaXN0ZW5lciwhMCksdC5hZGRFdmVudExpc3RlbmVyKCJhdXhjbGljayIsdGhpcy5fY2xpY2tMaXN0ZW5lciwhMCksdC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsdGhpcy5fY2xpY2tMaXN0ZW5lciwhMCksdGhpcy5fcGxhdGZvcm0uSU9TJiYhdGhpcy5fY3Vyc29yU3R5bGVJc1NldCYmKHRoaXMuX2N1cnNvck9yaWdpbmFsVmFsdWU9dC5zdHlsZS5jdXJzb3IsdC5zdHlsZS5jdXJzb3I9InBvaW50ZXIiLHRoaXMuX2N1cnNvclN0eWxlSXNTZXQ9ITApLHRoaXMuX2lzQXR0YWNoZWQ9ITB9fWRldGFjaCgpe2lmKHRoaXMuX2lzQXR0YWNoZWQpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuYm9keTt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl9jbGlja0xpc3RlbmVyLCEwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImF1eGNsaWNrIix0aGlzLl9jbGlja0xpc3RlbmVyLCEwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51Iix0aGlzLl9jbGlja0xpc3RlbmVyLCEwKSx0aGlzLl9wbGF0Zm9ybS5JT1MmJnRoaXMuX2N1cnNvclN0eWxlSXNTZXQmJih0LnN0eWxlLmN1cnNvcj10aGlzLl9jdXJzb3JPcmlnaW5hbFZhbHVlLHRoaXMuX2N1cnNvclN0eWxlSXNTZXQ9ITEpLHRoaXMuX2lzQXR0YWNoZWQ9ITF9fX1OQi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TkIpKFRyKHNNKSxUcihjSCkpfSxOQi7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgTkIoVHIoc00pLFRyKGNIKSl9LHRva2VuOk5CLHByb3ZpZGVkSW46InJvb3QifSksTkIuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOmNIfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihOQixbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpjSH1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB6Qj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30sSUI9dm9pZCAwIT09ekIuX19rYXJtYV9fJiYhIXpCLl9fa2FybWFfX3x8dm9pZCAwIT09ekIuamFzbWluZSYmISF6Qi5qYXNtaW5lfHx2b2lkIDAhPT16Qi5qZXN0JiYhIXpCLmplc3R8fHZvaWQgMCE9PXpCLk1vY2hhJiYhIXpCLk1vY2hhO2NsYXNzIEhCe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fcGxhdGZvcm09ZSx0aGlzLl9kb2N1bWVudD10fW5nT25EZXN0cm95KCl7Y29uc3QgdD10aGlzLl9jb250YWluZXJFbGVtZW50O3QmJnQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpfWdldENvbnRhaW5lckVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fY29udGFpbmVyRWxlbWVudHx8dGhpcy5fY3JlYXRlQ29udGFpbmVyKCksdGhpcy5fY29udGFpbmVyRWxlbWVudH1fY3JlYXRlQ29udGFpbmVyKCl7Y29uc3QgdD0iY2RrLW92ZXJsYXktY29udGFpbmVyIjtpZih0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXJ8fElCKXtjb25zdCBlPXRoaXMuX2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYC4ke3R9W3BsYXRmb3JtPSJzZXJ2ZXIiXSwgLiR7dH1bcGxhdGZvcm09InRlc3QiXWApO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlW3RdKX1jb25zdCBlPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2UuY2xhc3NMaXN0LmFkZCh0KSxJQj9lLnNldEF0dHJpYnV0ZSgicGxhdGZvcm0iLCJ0ZXN0Iik6dGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyfHxlLnNldEF0dHJpYnV0ZSgicGxhdGZvcm0iLCJzZXJ2ZXIiKSx0aGlzLl9kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQ9ZX19SEIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEhCKShUcihzTSksVHIoY0gpKX0sSEIuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IEhCKFRyKHNNKSxUcihjSCkpfSx0b2tlbjpIQixwcm92aWRlZEluOiJyb290In0pLEhCLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpjSH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSEIsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6Y0h9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgRkJ7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzLGwpe3RoaXMuX3BvcnRhbE91dGxldD10LHRoaXMuX2hvc3Q9ZSx0aGlzLl9wYW5lPW4sdGhpcy5fY29uZmlnPW8sdGhpcy5fbmdab25lPWksdGhpcy5fa2V5Ym9hcmREaXNwYXRjaGVyPWEsdGhpcy5fZG9jdW1lbnQ9cix0aGlzLl9sb2NhdGlvbj1zLHRoaXMuX291dHNpZGVDbGlja0Rpc3BhdGNoZXI9bCx0aGlzLl9iYWNrZHJvcEVsZW1lbnQ9bnVsbCx0aGlzLl9iYWNrZHJvcENsaWNrPW5ldyBCLHRoaXMuX2F0dGFjaG1lbnRzPW5ldyBCLHRoaXMuX2RldGFjaG1lbnRzPW5ldyBCLHRoaXMuX2xvY2F0aW9uQ2hhbmdlcz11LkVNUFRZLHRoaXMuX2JhY2tkcm9wQ2xpY2tIYW5kbGVyPXQ9PnRoaXMuX2JhY2tkcm9wQ2xpY2submV4dCh0KSx0aGlzLl9rZXlkb3duRXZlbnRzPW5ldyBCLHRoaXMuX291dHNpZGVQb2ludGVyRXZlbnRzPW5ldyBCLG8uc2Nyb2xsU3RyYXRlZ3kmJih0aGlzLl9zY3JvbGxTdHJhdGVneT1vLnNjcm9sbFN0cmF0ZWd5LHRoaXMuX3Njcm9sbFN0cmF0ZWd5LmF0dGFjaCh0aGlzKSksdGhpcy5fcG9zaXRpb25TdHJhdGVneT1vLnBvc2l0aW9uU3RyYXRlZ3l9Z2V0IG92ZXJsYXlFbGVtZW50KCl7cmV0dXJuIHRoaXMuX3BhbmV9Z2V0IGJhY2tkcm9wRWxlbWVudCgpe3JldHVybiB0aGlzLl9iYWNrZHJvcEVsZW1lbnR9Z2V0IGhvc3RFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2hvc3R9YXR0YWNoKHQpe2xldCBlPXRoaXMuX3BvcnRhbE91dGxldC5hdHRhY2godCk7cmV0dXJuIXRoaXMuX2hvc3QucGFyZW50RWxlbWVudCYmdGhpcy5fcHJldmlvdXNIb3N0UGFyZW50JiZ0aGlzLl9wcmV2aW91c0hvc3RQYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5faG9zdCksdGhpcy5fcG9zaXRpb25TdHJhdGVneSYmdGhpcy5fcG9zaXRpb25TdHJhdGVneS5hdHRhY2godGhpcyksdGhpcy5fdXBkYXRlU3RhY2tpbmdPcmRlcigpLHRoaXMuX3VwZGF0ZUVsZW1lbnRTaXplKCksdGhpcy5fdXBkYXRlRWxlbWVudERpcmVjdGlvbigpLHRoaXMuX3Njcm9sbFN0cmF0ZWd5JiZ0aGlzLl9zY3JvbGxTdHJhdGVneS5lbmFibGUoKSx0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuaGFzQXR0YWNoZWQoKSYmdGhpcy51cGRhdGVQb3NpdGlvbigpfSkpLHRoaXMuX3RvZ2dsZVBvaW50ZXJFdmVudHMoITApLHRoaXMuX2NvbmZpZy5oYXNCYWNrZHJvcCYmdGhpcy5fYXR0YWNoQmFja2Ryb3AoKSx0aGlzLl9jb25maWcucGFuZWxDbGFzcyYmdGhpcy5fdG9nZ2xlQ2xhc3Nlcyh0aGlzLl9wYW5lLHRoaXMuX2NvbmZpZy5wYW5lbENsYXNzLCEwKSx0aGlzLl9hdHRhY2htZW50cy5uZXh0KCksdGhpcy5fa2V5Ym9hcmREaXNwYXRjaGVyLmFkZCh0aGlzKSx0aGlzLl9jb25maWcuZGlzcG9zZU9uTmF2aWdhdGlvbiYmKHRoaXMuX2xvY2F0aW9uQ2hhbmdlcz10aGlzLl9sb2NhdGlvbi5zdWJzY3JpYmUoKCgpPT50aGlzLmRpc3Bvc2UoKSkpKSx0aGlzLl9vdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLmFkZCh0aGlzKSxlfWRldGFjaCgpe2lmKCF0aGlzLmhhc0F0dGFjaGVkKCkpcmV0dXJuO3RoaXMuZGV0YWNoQmFja2Ryb3AoKSx0aGlzLl90b2dnbGVQb2ludGVyRXZlbnRzKCExKSx0aGlzLl9wb3NpdGlvblN0cmF0ZWd5JiZ0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LmRldGFjaCYmdGhpcy5fcG9zaXRpb25TdHJhdGVneS5kZXRhY2goKSx0aGlzLl9zY3JvbGxTdHJhdGVneSYmdGhpcy5fc2Nyb2xsU3RyYXRlZ3kuZGlzYWJsZSgpO2NvbnN0IHQ9dGhpcy5fcG9ydGFsT3V0bGV0LmRldGFjaCgpO3JldHVybiB0aGlzLl9kZXRhY2htZW50cy5uZXh0KCksdGhpcy5fa2V5Ym9hcmREaXNwYXRjaGVyLnJlbW92ZSh0aGlzKSx0aGlzLl9kZXRhY2hDb250ZW50V2hlblN0YWJsZSgpLHRoaXMuX2xvY2F0aW9uQ2hhbmdlcy51bnN1YnNjcmliZSgpLHRoaXMuX291dHNpZGVDbGlja0Rpc3BhdGNoZXIucmVtb3ZlKHRoaXMpLHR9ZGlzcG9zZSgpe2NvbnN0IHQ9dGhpcy5oYXNBdHRhY2hlZCgpO3RoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kmJnRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kuZGlzcG9zZSgpLHRoaXMuX2Rpc3Bvc2VTY3JvbGxTdHJhdGVneSgpLHRoaXMuZGV0YWNoQmFja2Ryb3AoKSx0aGlzLl9sb2NhdGlvbkNoYW5nZXMudW5zdWJzY3JpYmUoKSx0aGlzLl9rZXlib2FyZERpc3BhdGNoZXIucmVtb3ZlKHRoaXMpLHRoaXMuX3BvcnRhbE91dGxldC5kaXNwb3NlKCksdGhpcy5fYXR0YWNobWVudHMuY29tcGxldGUoKSx0aGlzLl9iYWNrZHJvcENsaWNrLmNvbXBsZXRlKCksdGhpcy5fa2V5ZG93bkV2ZW50cy5jb21wbGV0ZSgpLHRoaXMuX291dHNpZGVQb2ludGVyRXZlbnRzLmNvbXBsZXRlKCksdGhpcy5fb3V0c2lkZUNsaWNrRGlzcGF0Y2hlci5yZW1vdmUodGhpcyksdGhpcy5faG9zdCYmdGhpcy5faG9zdC5wYXJlbnROb2RlJiYodGhpcy5faG9zdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX2hvc3QpLHRoaXMuX2hvc3Q9bnVsbCksdGhpcy5fcHJldmlvdXNIb3N0UGFyZW50PXRoaXMuX3BhbmU9bnVsbCx0JiZ0aGlzLl9kZXRhY2htZW50cy5uZXh0KCksdGhpcy5fZGV0YWNobWVudHMuY29tcGxldGUoKX1oYXNBdHRhY2hlZCgpe3JldHVybiB0aGlzLl9wb3J0YWxPdXRsZXQuaGFzQXR0YWNoZWQoKX1iYWNrZHJvcENsaWNrKCl7cmV0dXJuIHRoaXMuX2JhY2tkcm9wQ2xpY2t9YXR0YWNobWVudHMoKXtyZXR1cm4gdGhpcy5fYXR0YWNobWVudHN9ZGV0YWNobWVudHMoKXtyZXR1cm4gdGhpcy5fZGV0YWNobWVudHN9a2V5ZG93bkV2ZW50cygpe3JldHVybiB0aGlzLl9rZXlkb3duRXZlbnRzfW91dHNpZGVQb2ludGVyRXZlbnRzKCl7cmV0dXJuIHRoaXMuX291dHNpZGVQb2ludGVyRXZlbnRzfWdldENvbmZpZygpe3JldHVybiB0aGlzLl9jb25maWd9dXBkYXRlUG9zaXRpb24oKXt0aGlzLl9wb3NpdGlvblN0cmF0ZWd5JiZ0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LmFwcGx5KCl9dXBkYXRlUG9zaXRpb25TdHJhdGVneSh0KXt0IT09dGhpcy5fcG9zaXRpb25TdHJhdGVneSYmKHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kmJnRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kuZGlzcG9zZSgpLHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3k9dCx0aGlzLmhhc0F0dGFjaGVkKCkmJih0LmF0dGFjaCh0aGlzKSx0aGlzLnVwZGF0ZVBvc2l0aW9uKCkpKX11cGRhdGVTaXplKHQpe3RoaXMuX2NvbmZpZz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdGhpcy5fY29uZmlnKSx0KSx0aGlzLl91cGRhdGVFbGVtZW50U2l6ZSgpfXNldERpcmVjdGlvbih0KXt0aGlzLl9jb25maWc9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMuX2NvbmZpZykse2RpcmVjdGlvbjp0fSksdGhpcy5fdXBkYXRlRWxlbWVudERpcmVjdGlvbigpfWFkZFBhbmVsQ2xhc3ModCl7dGhpcy5fcGFuZSYmdGhpcy5fdG9nZ2xlQ2xhc3Nlcyh0aGlzLl9wYW5lLHQsITApfXJlbW92ZVBhbmVsQ2xhc3ModCl7dGhpcy5fcGFuZSYmdGhpcy5fdG9nZ2xlQ2xhc3Nlcyh0aGlzLl9wYW5lLHQsITEpfWdldERpcmVjdGlvbigpe2NvbnN0IHQ9dGhpcy5fY29uZmlnLmRpcmVjdGlvbjtyZXR1cm4gdD8ic3RyaW5nIj09dHlwZW9mIHQ/dDp0LnZhbHVlOiJsdHIifXVwZGF0ZVNjcm9sbFN0cmF0ZWd5KHQpe3QhPT10aGlzLl9zY3JvbGxTdHJhdGVneSYmKHRoaXMuX2Rpc3Bvc2VTY3JvbGxTdHJhdGVneSgpLHRoaXMuX3Njcm9sbFN0cmF0ZWd5PXQsdGhpcy5oYXNBdHRhY2hlZCgpJiYodC5hdHRhY2godGhpcyksdC5lbmFibGUoKSkpfV91cGRhdGVFbGVtZW50RGlyZWN0aW9uKCl7dGhpcy5faG9zdC5zZXRBdHRyaWJ1dGUoImRpciIsdGhpcy5nZXREaXJlY3Rpb24oKSl9X3VwZGF0ZUVsZW1lbnRTaXplKCl7aWYoIXRoaXMuX3BhbmUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fcGFuZS5zdHlsZTt0LndpZHRoPWFIKHRoaXMuX2NvbmZpZy53aWR0aCksdC5oZWlnaHQ9YUgodGhpcy5fY29uZmlnLmhlaWdodCksdC5taW5XaWR0aD1hSCh0aGlzLl9jb25maWcubWluV2lkdGgpLHQubWluSGVpZ2h0PWFIKHRoaXMuX2NvbmZpZy5taW5IZWlnaHQpLHQubWF4V2lkdGg9YUgodGhpcy5fY29uZmlnLm1heFdpZHRoKSx0Lm1heEhlaWdodD1hSCh0aGlzLl9jb25maWcubWF4SGVpZ2h0KX1fdG9nZ2xlUG9pbnRlckV2ZW50cyh0KXt0aGlzLl9wYW5lLnN0eWxlLnBvaW50ZXJFdmVudHM9dD8iIjoibm9uZSJ9X2F0dGFjaEJhY2tkcm9wKCl7Y29uc3QgdD0iY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyI7dGhpcy5fYmFja2Ryb3BFbGVtZW50PXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2JhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJjZGstb3ZlcmxheS1iYWNrZHJvcCIpLHRoaXMuX2NvbmZpZy5iYWNrZHJvcENsYXNzJiZ0aGlzLl90b2dnbGVDbGFzc2VzKHRoaXMuX2JhY2tkcm9wRWxlbWVudCx0aGlzLl9jb25maWcuYmFja2Ryb3BDbGFzcywhMCksdGhpcy5faG9zdC5wYXJlbnRFbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLl9iYWNrZHJvcEVsZW1lbnQsdGhpcy5faG9zdCksdGhpcy5fYmFja2Ryb3BFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl9iYWNrZHJvcENsaWNrSGFuZGxlciksInVuZGVmaW5lZCIhPXR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU/dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLl9iYWNrZHJvcEVsZW1lbnQmJnRoaXMuX2JhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QuYWRkKHQpfSkpfSkpOnRoaXMuX2JhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QuYWRkKHQpfV91cGRhdGVTdGFja2luZ09yZGVyKCl7dGhpcy5faG9zdC5uZXh0U2libGluZyYmdGhpcy5faG9zdC5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHRoaXMuX2hvc3QpfWRldGFjaEJhY2tkcm9wKCl7bGV0IHQsZT10aGlzLl9iYWNrZHJvcEVsZW1lbnQ7aWYoIWUpcmV0dXJuO2xldCBuPSgpPT57ZSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX2JhY2tkcm9wQ2xpY2tIYW5kbGVyKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLG4pLGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpKSx0aGlzLl9iYWNrZHJvcEVsZW1lbnQ9PWUmJih0aGlzLl9iYWNrZHJvcEVsZW1lbnQ9bnVsbCksdGhpcy5fY29uZmlnLmJhY2tkcm9wQ2xhc3MmJnRoaXMuX3RvZ2dsZUNsYXNzZXMoZSx0aGlzLl9jb25maWcuYmFja2Ryb3BDbGFzcywhMSksY2xlYXJUaW1lb3V0KHQpfTtlLmNsYXNzTGlzdC5yZW1vdmUoImNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmciKSx0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT57ZS5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixuKX0pKSxlLnN0eWxlLnBvaW50ZXJFdmVudHM9Im5vbmUiLHQ9dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+c2V0VGltZW91dChuLDUwMCkpKX1fdG9nZ2xlQ2xhc3Nlcyh0LGUsbil7Y29uc3Qgbz10LmNsYXNzTGlzdDtpSChlKS5mb3JFYWNoKCh0PT57dCYmKG4/by5hZGQodCk6by5yZW1vdmUodCkpfSkpfV9kZXRhY2hDb250ZW50V2hlblN0YWJsZSgpe3RoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pntjb25zdCB0PXRoaXMuX25nWm9uZS5vblN0YWJsZS5waXBlKGplKHBlKHRoaXMuX2F0dGFjaG1lbnRzLHRoaXMuX2RldGFjaG1lbnRzKSkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9wYW5lJiZ0aGlzLl9ob3N0JiYwIT09dGhpcy5fcGFuZS5jaGlsZHJlbi5sZW5ndGh8fCh0aGlzLl9wYW5lJiZ0aGlzLl9jb25maWcucGFuZWxDbGFzcyYmdGhpcy5fdG9nZ2xlQ2xhc3Nlcyh0aGlzLl9wYW5lLHRoaXMuX2NvbmZpZy5wYW5lbENsYXNzLCExKSx0aGlzLl9ob3N0JiZ0aGlzLl9ob3N0LnBhcmVudEVsZW1lbnQmJih0aGlzLl9wcmV2aW91c0hvc3RQYXJlbnQ9dGhpcy5faG9zdC5wYXJlbnRFbGVtZW50LHRoaXMuX3ByZXZpb3VzSG9zdFBhcmVudC5yZW1vdmVDaGlsZCh0aGlzLl9ob3N0KSksdC51bnN1YnNjcmliZSgpKX0pKX0pKX1fZGlzcG9zZVNjcm9sbFN0cmF0ZWd5KCl7Y29uc3QgdD10aGlzLl9zY3JvbGxTdHJhdGVneTt0JiYodC5kaXNhYmxlKCksdC5kZXRhY2gmJnQuZGV0YWNoKCkpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgTEI9ImNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3giLEJCPS8oW0EtWmEteiVdKykkLztjbGFzcyBWQntjb25zdHJ1Y3Rvcih0LGUsbixvLGkpe3RoaXMuX3ZpZXdwb3J0UnVsZXI9ZSx0aGlzLl9kb2N1bWVudD1uLHRoaXMuX3BsYXRmb3JtPW8sdGhpcy5fb3ZlcmxheUNvbnRhaW5lcj1pLHRoaXMuX2xhc3RCb3VuZGluZ0JveFNpemU9e3dpZHRoOjAsaGVpZ2h0OjB9LHRoaXMuX2lzUHVzaGVkPSExLHRoaXMuX2NhblB1c2g9ITAsdGhpcy5fZ3Jvd0FmdGVyT3Blbj0hMSx0aGlzLl9oYXNGbGV4aWJsZURpbWVuc2lvbnM9ITAsdGhpcy5fcG9zaXRpb25Mb2NrZWQ9ITEsdGhpcy5fdmlld3BvcnRNYXJnaW49MCx0aGlzLl9zY3JvbGxhYmxlcz1bXSx0aGlzLl9wcmVmZXJyZWRQb3NpdGlvbnM9W10sdGhpcy5fcG9zaXRpb25DaGFuZ2VzPW5ldyBCLHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX29mZnNldFg9MCx0aGlzLl9vZmZzZXRZPTAsdGhpcy5fYXBwbGllZFBhbmVsQ2xhc3Nlcz1bXSx0aGlzLnBvc2l0aW9uQ2hhbmdlcz10aGlzLl9wb3NpdGlvbkNoYW5nZXMsdGhpcy5zZXRPcmlnaW4odCl9Z2V0IHBvc2l0aW9ucygpe3JldHVybiB0aGlzLl9wcmVmZXJyZWRQb3NpdGlvbnN9YXR0YWNoKHQpe2lmKHRoaXMuX292ZXJsYXlSZWYmJnQhPT10aGlzLl9vdmVybGF5UmVmJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgRXJyb3IoIlRoaXMgcG9zaXRpb24gc3RyYXRlZ3kgaXMgYWxyZWFkeSBhdHRhY2hlZCB0byBhbiBvdmVybGF5Iik7dGhpcy5fdmFsaWRhdGVQb3NpdGlvbnMoKSx0Lmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoTEIpLHRoaXMuX292ZXJsYXlSZWY9dCx0aGlzLl9ib3VuZGluZ0JveD10Lmhvc3RFbGVtZW50LHRoaXMuX3BhbmU9dC5vdmVybGF5RWxlbWVudCx0aGlzLl9pc0Rpc3Bvc2VkPSExLHRoaXMuX2lzSW5pdGlhbFJlbmRlcj0hMCx0aGlzLl9sYXN0UG9zaXRpb249bnVsbCx0aGlzLl9yZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9yZXNpemVTdWJzY3JpcHRpb249dGhpcy5fdmlld3BvcnRSdWxlci5jaGFuZ2UoKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5faXNJbml0aWFsUmVuZGVyPSEwLHRoaXMuYXBwbHkoKX0pKX1hcHBseSgpe2lmKHRoaXMuX2lzRGlzcG9zZWR8fCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpcmV0dXJuO2lmKCF0aGlzLl9pc0luaXRpYWxSZW5kZXImJnRoaXMuX3Bvc2l0aW9uTG9ja2VkJiZ0aGlzLl9sYXN0UG9zaXRpb24pcmV0dXJuIHZvaWQgdGhpcy5yZWFwcGx5TGFzdFBvc2l0aW9uKCk7dGhpcy5fY2xlYXJQYW5lbENsYXNzZXMoKSx0aGlzLl9yZXNldE92ZXJsYXlFbGVtZW50U3R5bGVzKCksdGhpcy5fcmVzZXRCb3VuZGluZ0JveFN0eWxlcygpLHRoaXMuX3ZpZXdwb3J0UmVjdD10aGlzLl9nZXROYXJyb3dlZFZpZXdwb3J0UmVjdCgpLHRoaXMuX29yaWdpblJlY3Q9dGhpcy5fZ2V0T3JpZ2luUmVjdCgpLHRoaXMuX292ZXJsYXlSZWN0PXRoaXMuX3BhbmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Y29uc3QgdD10aGlzLl9vcmlnaW5SZWN0LGU9dGhpcy5fb3ZlcmxheVJlY3Qsbj10aGlzLl92aWV3cG9ydFJlY3Qsbz1bXTtsZXQgaTtmb3IobGV0IGEgb2YgdGhpcy5fcHJlZmVycmVkUG9zaXRpb25zKXtsZXQgcj10aGlzLl9nZXRPcmlnaW5Qb2ludCh0LGEpLHM9dGhpcy5fZ2V0T3ZlcmxheVBvaW50KHIsZSxhKSxsPXRoaXMuX2dldE92ZXJsYXlGaXQocyxlLG4sYSk7aWYobC5pc0NvbXBsZXRlbHlXaXRoaW5WaWV3cG9ydClyZXR1cm4gdGhpcy5faXNQdXNoZWQ9ITEsdm9pZCB0aGlzLl9hcHBseVBvc2l0aW9uKGEscik7dGhpcy5fY2FuRml0V2l0aEZsZXhpYmxlRGltZW5zaW9ucyhsLHMsbik/by5wdXNoKHtwb3NpdGlvbjphLG9yaWdpbjpyLG92ZXJsYXlSZWN0OmUsYm91bmRpbmdCb3hSZWN0OnRoaXMuX2NhbGN1bGF0ZUJvdW5kaW5nQm94UmVjdChyLGEpfSk6KCFpfHxpLm92ZXJsYXlGaXQudmlzaWJsZUFyZWE8bC52aXNpYmxlQXJlYSkmJihpPXtvdmVybGF5Rml0Omwsb3ZlcmxheVBvaW50OnMsb3JpZ2luUG9pbnQ6cixwb3NpdGlvbjphLG92ZXJsYXlSZWN0OmV9KX1pZihvLmxlbmd0aCl7bGV0IHQ9bnVsbCxlPS0xO2Zvcihjb25zdCBuIG9mIG8pe2NvbnN0IG89bi5ib3VuZGluZ0JveFJlY3Qud2lkdGgqbi5ib3VuZGluZ0JveFJlY3QuaGVpZ2h0KihuLnBvc2l0aW9uLndlaWdodHx8MSk7bz5lJiYoZT1vLHQ9bil9cmV0dXJuIHRoaXMuX2lzUHVzaGVkPSExLHZvaWQgdGhpcy5fYXBwbHlQb3NpdGlvbih0LnBvc2l0aW9uLHQub3JpZ2luKX1pZih0aGlzLl9jYW5QdXNoKXJldHVybiB0aGlzLl9pc1B1c2hlZD0hMCx2b2lkIHRoaXMuX2FwcGx5UG9zaXRpb24oaS5wb3NpdGlvbixpLm9yaWdpblBvaW50KTt0aGlzLl9hcHBseVBvc2l0aW9uKGkucG9zaXRpb24saS5vcmlnaW5Qb2ludCl9ZGV0YWNoKCl7dGhpcy5fY2xlYXJQYW5lbENsYXNzZXMoKSx0aGlzLl9sYXN0UG9zaXRpb249bnVsbCx0aGlzLl9wcmV2aW91c1B1c2hBbW91bnQ9bnVsbCx0aGlzLl9yZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX1kaXNwb3NlKCl7dGhpcy5faXNEaXNwb3NlZHx8KHRoaXMuX2JvdW5kaW5nQm94JiZqQih0aGlzLl9ib3VuZGluZ0JveC5zdHlsZSx7dG9wOiIiLGxlZnQ6IiIscmlnaHQ6IiIsYm90dG9tOiIiLGhlaWdodDoiIix3aWR0aDoiIixhbGlnbkl0ZW1zOiIiLGp1c3RpZnlDb250ZW50OiIifSksdGhpcy5fcGFuZSYmdGhpcy5fcmVzZXRPdmVybGF5RWxlbWVudFN0eWxlcygpLHRoaXMuX292ZXJsYXlSZWYmJnRoaXMuX292ZXJsYXlSZWYuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShMQiksdGhpcy5kZXRhY2goKSx0aGlzLl9wb3NpdGlvbkNoYW5nZXMuY29tcGxldGUoKSx0aGlzLl9vdmVybGF5UmVmPXRoaXMuX2JvdW5kaW5nQm94PW51bGwsdGhpcy5faXNEaXNwb3NlZD0hMCl9cmVhcHBseUxhc3RQb3NpdGlvbigpe2lmKCF0aGlzLl9pc0Rpc3Bvc2VkJiYoIXRoaXMuX3BsYXRmb3JtfHx0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpKXt0aGlzLl9vcmlnaW5SZWN0PXRoaXMuX2dldE9yaWdpblJlY3QoKSx0aGlzLl9vdmVybGF5UmVjdD10aGlzLl9wYW5lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHRoaXMuX3ZpZXdwb3J0UmVjdD10aGlzLl9nZXROYXJyb3dlZFZpZXdwb3J0UmVjdCgpO2NvbnN0IHQ9dGhpcy5fbGFzdFBvc2l0aW9ufHx0aGlzLl9wcmVmZXJyZWRQb3NpdGlvbnNbMF0sZT10aGlzLl9nZXRPcmlnaW5Qb2ludCh0aGlzLl9vcmlnaW5SZWN0LHQpO3RoaXMuX2FwcGx5UG9zaXRpb24odCxlKX19d2l0aFNjcm9sbGFibGVDb250YWluZXJzKHQpe3JldHVybiB0aGlzLl9zY3JvbGxhYmxlcz10LHRoaXN9d2l0aFBvc2l0aW9ucyh0KXtyZXR1cm4gdGhpcy5fcHJlZmVycmVkUG9zaXRpb25zPXQsLTE9PT10LmluZGV4T2YodGhpcy5fbGFzdFBvc2l0aW9uKSYmKHRoaXMuX2xhc3RQb3NpdGlvbj1udWxsKSx0aGlzLl92YWxpZGF0ZVBvc2l0aW9ucygpLHRoaXN9d2l0aFZpZXdwb3J0TWFyZ2luKHQpe3JldHVybiB0aGlzLl92aWV3cG9ydE1hcmdpbj10LHRoaXN9d2l0aEZsZXhpYmxlRGltZW5zaW9ucyh0PSEwKXtyZXR1cm4gdGhpcy5faGFzRmxleGlibGVEaW1lbnNpb25zPXQsdGhpc313aXRoR3Jvd0FmdGVyT3Blbih0PSEwKXtyZXR1cm4gdGhpcy5fZ3Jvd0FmdGVyT3Blbj10LHRoaXN9d2l0aFB1c2godD0hMCl7cmV0dXJuIHRoaXMuX2NhblB1c2g9dCx0aGlzfXdpdGhMb2NrZWRQb3NpdGlvbih0PSEwKXtyZXR1cm4gdGhpcy5fcG9zaXRpb25Mb2NrZWQ9dCx0aGlzfXNldE9yaWdpbih0KXtyZXR1cm4gdGhpcy5fb3JpZ2luPXQsdGhpc313aXRoRGVmYXVsdE9mZnNldFgodCl7cmV0dXJuIHRoaXMuX29mZnNldFg9dCx0aGlzfXdpdGhEZWZhdWx0T2Zmc2V0WSh0KXtyZXR1cm4gdGhpcy5fb2Zmc2V0WT10LHRoaXN9d2l0aFRyYW5zZm9ybU9yaWdpbk9uKHQpe3JldHVybiB0aGlzLl90cmFuc2Zvcm1PcmlnaW5TZWxlY3Rvcj10LHRoaXN9X2dldE9yaWdpblBvaW50KHQsZSl7bGV0IG4sbztpZigiY2VudGVyIj09ZS5vcmlnaW5YKW49dC5sZWZ0K3Qud2lkdGgvMjtlbHNle2NvbnN0IG89dGhpcy5faXNSdGwoKT90LnJpZ2h0OnQubGVmdCxpPXRoaXMuX2lzUnRsKCk/dC5sZWZ0OnQucmlnaHQ7bj0ic3RhcnQiPT1lLm9yaWdpblg/bzppfXJldHVybiBvPSJjZW50ZXIiPT1lLm9yaWdpblk/dC50b3ArdC5oZWlnaHQvMjoidG9wIj09ZS5vcmlnaW5ZP3QudG9wOnQuYm90dG9tLHt4Om4seTpvfX1fZ2V0T3ZlcmxheVBvaW50KHQsZSxuKXtsZXQgbyxpO3JldHVybiBvPSJjZW50ZXIiPT1uLm92ZXJsYXlYPy1lLndpZHRoLzI6InN0YXJ0Ij09PW4ub3ZlcmxheVg/dGhpcy5faXNSdGwoKT8tZS53aWR0aDowOnRoaXMuX2lzUnRsKCk/MDotZS53aWR0aCxpPSJjZW50ZXIiPT1uLm92ZXJsYXlZPy1lLmhlaWdodC8yOiJ0b3AiPT1uLm92ZXJsYXlZPzA6LWUuaGVpZ2h0LHt4OnQueCtvLHk6dC55K2l9fV9nZXRPdmVybGF5Rml0KHQsZSxuLG8pe2NvbnN0IGk9V0IoZSk7bGV0e3g6YSx5OnJ9PXQscz10aGlzLl9nZXRPZmZzZXQobywieCIpLGw9dGhpcy5fZ2V0T2Zmc2V0KG8sInkiKTtzJiYoYSs9cyksbCYmKHIrPWwpO2xldCBjPTAtcixkPXIraS5oZWlnaHQtbi5oZWlnaHQscD10aGlzLl9zdWJ0cmFjdE92ZXJmbG93cyhpLndpZHRoLDAtYSxhK2kud2lkdGgtbi53aWR0aCksbT10aGlzLl9zdWJ0cmFjdE92ZXJmbG93cyhpLmhlaWdodCxjLGQpLGY9cCptO3JldHVybnt2aXNpYmxlQXJlYTpmLGlzQ29tcGxldGVseVdpdGhpblZpZXdwb3J0Omkud2lkdGgqaS5oZWlnaHQ9PT1mLGZpdHNJblZpZXdwb3J0VmVydGljYWxseTptPT09aS5oZWlnaHQsZml0c0luVmlld3BvcnRIb3Jpem9udGFsbHk6cD09aS53aWR0aH19X2NhbkZpdFdpdGhGbGV4aWJsZURpbWVuc2lvbnModCxlLG4pe2lmKHRoaXMuX2hhc0ZsZXhpYmxlRGltZW5zaW9ucyl7Y29uc3Qgbz1uLmJvdHRvbS1lLnksaT1uLnJpZ2h0LWUueCxhPVVCKHRoaXMuX292ZXJsYXlSZWYuZ2V0Q29uZmlnKCkubWluSGVpZ2h0KSxyPVVCKHRoaXMuX292ZXJsYXlSZWYuZ2V0Q29uZmlnKCkubWluV2lkdGgpLHM9dC5maXRzSW5WaWV3cG9ydEhvcml6b250YWxseXx8bnVsbCE9ciYmcjw9aTtyZXR1cm4odC5maXRzSW5WaWV3cG9ydFZlcnRpY2FsbHl8fG51bGwhPWEmJmE8PW8pJiZzfXJldHVybiExfV9wdXNoT3ZlcmxheU9uU2NyZWVuKHQsZSxuKXtpZih0aGlzLl9wcmV2aW91c1B1c2hBbW91bnQmJnRoaXMuX3Bvc2l0aW9uTG9ja2VkKXJldHVybnt4OnQueCt0aGlzLl9wcmV2aW91c1B1c2hBbW91bnQueCx5OnQueSt0aGlzLl9wcmV2aW91c1B1c2hBbW91bnQueX07Y29uc3Qgbz1XQihlKSxpPXRoaXMuX3ZpZXdwb3J0UmVjdCxhPU1hdGgubWF4KHQueCtvLndpZHRoLWkud2lkdGgsMCkscj1NYXRoLm1heCh0Lnkrby5oZWlnaHQtaS5oZWlnaHQsMCkscz1NYXRoLm1heChpLnRvcC1uLnRvcC10LnksMCksbD1NYXRoLm1heChpLmxlZnQtbi5sZWZ0LXQueCwwKTtsZXQgYz0wLGQ9MDtyZXR1cm4gYz1vLndpZHRoPD1pLndpZHRoP2x8fC1hOnQueDx0aGlzLl92aWV3cG9ydE1hcmdpbj9pLmxlZnQtbi5sZWZ0LXQueDowLGQ9by5oZWlnaHQ8PWkuaGVpZ2h0P3N8fC1yOnQueTx0aGlzLl92aWV3cG9ydE1hcmdpbj9pLnRvcC1uLnRvcC10Lnk6MCx0aGlzLl9wcmV2aW91c1B1c2hBbW91bnQ9e3g6Yyx5OmR9LHt4OnQueCtjLHk6dC55K2R9fV9hcHBseVBvc2l0aW9uKHQsZSl7aWYodGhpcy5fc2V0VHJhbnNmb3JtT3JpZ2luKHQpLHRoaXMuX3NldE92ZXJsYXlFbGVtZW50U3R5bGVzKGUsdCksdGhpcy5fc2V0Qm91bmRpbmdCb3hTdHlsZXMoZSx0KSx0LnBhbmVsQ2xhc3MmJnRoaXMuX2FkZFBhbmVsQ2xhc3Nlcyh0LnBhbmVsQ2xhc3MpLHRoaXMuX2xhc3RQb3NpdGlvbj10LHRoaXMuX3Bvc2l0aW9uQ2hhbmdlcy5vYnNlcnZlcnMubGVuZ3RoKXtjb25zdCBlPXRoaXMuX2dldFNjcm9sbFZpc2liaWxpdHkoKSxuPW5ldyBEQih0LGUpO3RoaXMuX3Bvc2l0aW9uQ2hhbmdlcy5uZXh0KG4pfXRoaXMuX2lzSW5pdGlhbFJlbmRlcj0hMX1fc2V0VHJhbnNmb3JtT3JpZ2luKHQpe2lmKCF0aGlzLl90cmFuc2Zvcm1PcmlnaW5TZWxlY3RvcilyZXR1cm47Y29uc3QgZT10aGlzLl9ib3VuZGluZ0JveC5xdWVyeVNlbGVjdG9yQWxsKHRoaXMuX3RyYW5zZm9ybU9yaWdpblNlbGVjdG9yKTtsZXQgbixvPXQub3ZlcmxheVk7bj0iY2VudGVyIj09PXQub3ZlcmxheVg/ImNlbnRlciI6dGhpcy5faXNSdGwoKT8ic3RhcnQiPT09dC5vdmVybGF5WD8icmlnaHQiOiJsZWZ0Ijoic3RhcnQiPT09dC5vdmVybGF5WD8ibGVmdCI6InJpZ2h0Ijtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnN0eWxlLnRyYW5zZm9ybU9yaWdpbj1gJHtufSAke299YH1fY2FsY3VsYXRlQm91bmRpbmdCb3hSZWN0KHQsZSl7Y29uc3Qgbj10aGlzLl92aWV3cG9ydFJlY3Qsbz10aGlzLl9pc1J0bCgpO2xldCBpLGEscjtpZigidG9wIj09PWUub3ZlcmxheVkpYT10LnksaT1uLmhlaWdodC1hK3RoaXMuX3ZpZXdwb3J0TWFyZ2luO2Vsc2UgaWYoImJvdHRvbSI9PT1lLm92ZXJsYXlZKXI9bi5oZWlnaHQtdC55KzIqdGhpcy5fdmlld3BvcnRNYXJnaW4saT1uLmhlaWdodC1yK3RoaXMuX3ZpZXdwb3J0TWFyZ2luO2Vsc2V7Y29uc3QgZT1NYXRoLm1pbihuLmJvdHRvbS10Lnkrbi50b3AsdC55KSxvPXRoaXMuX2xhc3RCb3VuZGluZ0JveFNpemUuaGVpZ2h0O2k9MiplLGE9dC55LWUsaT5vJiYhdGhpcy5faXNJbml0aWFsUmVuZGVyJiYhdGhpcy5fZ3Jvd0FmdGVyT3BlbiYmKGE9dC55LW8vMil9bGV0IHMsbCxjO2lmKCJlbmQiPT09ZS5vdmVybGF5WCYmIW98fCJzdGFydCI9PT1lLm92ZXJsYXlYJiZvKWM9bi53aWR0aC10LngrdGhpcy5fdmlld3BvcnRNYXJnaW4scz10LngtdGhpcy5fdmlld3BvcnRNYXJnaW47ZWxzZSBpZigic3RhcnQiPT09ZS5vdmVybGF5WCYmIW98fCJlbmQiPT09ZS5vdmVybGF5WCYmbylsPXQueCxzPW4ucmlnaHQtdC54O2Vsc2V7Y29uc3QgZT1NYXRoLm1pbihuLnJpZ2h0LXQueCtuLmxlZnQsdC54KSxvPXRoaXMuX2xhc3RCb3VuZGluZ0JveFNpemUud2lkdGg7cz0yKmUsbD10LngtZSxzPm8mJiF0aGlzLl9pc0luaXRpYWxSZW5kZXImJiF0aGlzLl9ncm93QWZ0ZXJPcGVuJiYobD10Lngtby8yKX1yZXR1cm57dG9wOmEsbGVmdDpsLGJvdHRvbTpyLHJpZ2h0OmMsd2lkdGg6cyxoZWlnaHQ6aX19X3NldEJvdW5kaW5nQm94U3R5bGVzKHQsZSl7Y29uc3Qgbj10aGlzLl9jYWxjdWxhdGVCb3VuZGluZ0JveFJlY3QodCxlKTt0aGlzLl9pc0luaXRpYWxSZW5kZXJ8fHRoaXMuX2dyb3dBZnRlck9wZW58fChuLmhlaWdodD1NYXRoLm1pbihuLmhlaWdodCx0aGlzLl9sYXN0Qm91bmRpbmdCb3hTaXplLmhlaWdodCksbi53aWR0aD1NYXRoLm1pbihuLndpZHRoLHRoaXMuX2xhc3RCb3VuZGluZ0JveFNpemUud2lkdGgpKTtjb25zdCBvPXt9O2lmKHRoaXMuX2hhc0V4YWN0UG9zaXRpb24oKSlvLnRvcD1vLmxlZnQ9IjAiLG8uYm90dG9tPW8ucmlnaHQ9by5tYXhIZWlnaHQ9by5tYXhXaWR0aD0iIixvLndpZHRoPW8uaGVpZ2h0PSIxMDAlIjtlbHNle2NvbnN0IHQ9dGhpcy5fb3ZlcmxheVJlZi5nZXRDb25maWcoKS5tYXhIZWlnaHQsaT10aGlzLl9vdmVybGF5UmVmLmdldENvbmZpZygpLm1heFdpZHRoO28uaGVpZ2h0PWFIKG4uaGVpZ2h0KSxvLnRvcD1hSChuLnRvcCksby5ib3R0b209YUgobi5ib3R0b20pLG8ud2lkdGg9YUgobi53aWR0aCksby5sZWZ0PWFIKG4ubGVmdCksby5yaWdodD1hSChuLnJpZ2h0KSxvLmFsaWduSXRlbXM9ImNlbnRlciI9PT1lLm92ZXJsYXlYPyJjZW50ZXIiOiJlbmQiPT09ZS5vdmVybGF5WD8iZmxleC1lbmQiOiJmbGV4LXN0YXJ0IixvLmp1c3RpZnlDb250ZW50PSJjZW50ZXIiPT09ZS5vdmVybGF5WT8iY2VudGVyIjoiYm90dG9tIj09PWUub3ZlcmxheVk/ImZsZXgtZW5kIjoiZmxleC1zdGFydCIsdCYmKG8ubWF4SGVpZ2h0PWFIKHQpKSxpJiYoby5tYXhXaWR0aD1hSChpKSl9dGhpcy5fbGFzdEJvdW5kaW5nQm94U2l6ZT1uLGpCKHRoaXMuX2JvdW5kaW5nQm94LnN0eWxlLG8pfV9yZXNldEJvdW5kaW5nQm94U3R5bGVzKCl7akIodGhpcy5fYm91bmRpbmdCb3guc3R5bGUse3RvcDoiMCIsbGVmdDoiMCIscmlnaHQ6IjAiLGJvdHRvbToiMCIsaGVpZ2h0OiIiLHdpZHRoOiIiLGFsaWduSXRlbXM6IiIsanVzdGlmeUNvbnRlbnQ6IiJ9KX1fcmVzZXRPdmVybGF5RWxlbWVudFN0eWxlcygpe2pCKHRoaXMuX3BhbmUuc3R5bGUse3RvcDoiIixsZWZ0OiIiLGJvdHRvbToiIixyaWdodDoiIixwb3NpdGlvbjoiIix0cmFuc2Zvcm06IiJ9KX1fc2V0T3ZlcmxheUVsZW1lbnRTdHlsZXModCxlKXtjb25zdCBuPXt9LG89dGhpcy5faGFzRXhhY3RQb3NpdGlvbigpLGk9dGhpcy5faGFzRmxleGlibGVEaW1lbnNpb25zLGE9dGhpcy5fb3ZlcmxheVJlZi5nZXRDb25maWcoKTtpZihvKXtjb25zdCBvPXRoaXMuX3ZpZXdwb3J0UnVsZXIuZ2V0Vmlld3BvcnRTY3JvbGxQb3NpdGlvbigpO2pCKG4sdGhpcy5fZ2V0RXhhY3RPdmVybGF5WShlLHQsbykpLGpCKG4sdGhpcy5fZ2V0RXhhY3RPdmVybGF5WChlLHQsbykpfWVsc2Ugbi5wb3NpdGlvbj0ic3RhdGljIjtsZXQgcj0iIixzPXRoaXMuX2dldE9mZnNldChlLCJ4IiksbD10aGlzLl9nZXRPZmZzZXQoZSwieSIpO3MmJihyKz1gdHJhbnNsYXRlWCgke3N9cHgpIGApLGwmJihyKz1gdHJhbnNsYXRlWSgke2x9cHgpYCksbi50cmFuc2Zvcm09ci50cmltKCksYS5tYXhIZWlnaHQmJihvP24ubWF4SGVpZ2h0PWFIKGEubWF4SGVpZ2h0KTppJiYobi5tYXhIZWlnaHQ9IiIpKSxhLm1heFdpZHRoJiYobz9uLm1heFdpZHRoPWFIKGEubWF4V2lkdGgpOmkmJihuLm1heFdpZHRoPSIiKSksakIodGhpcy5fcGFuZS5zdHlsZSxuKX1fZ2V0RXhhY3RPdmVybGF5WSh0LGUsbil7bGV0IG89e3RvcDoiIixib3R0b206IiJ9LGk9dGhpcy5fZ2V0T3ZlcmxheVBvaW50KGUsdGhpcy5fb3ZlcmxheVJlY3QsdCk7dGhpcy5faXNQdXNoZWQmJihpPXRoaXMuX3B1c2hPdmVybGF5T25TY3JlZW4oaSx0aGlzLl9vdmVybGF5UmVjdCxuKSk7bGV0IGE9dGhpcy5fb3ZlcmxheUNvbnRhaW5lci5nZXRDb250YWluZXJFbGVtZW50KCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO2lmKGkueS09YSwiYm90dG9tIj09PXQub3ZlcmxheVkpe28uYm90dG9tPXRoaXMuX2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQtKGkueSt0aGlzLl9vdmVybGF5UmVjdC5oZWlnaHQpKyJweCJ9ZWxzZSBvLnRvcD1hSChpLnkpO3JldHVybiBvfV9nZXRFeGFjdE92ZXJsYXlYKHQsZSxuKXtsZXQgbyxpPXtsZWZ0OiIiLHJpZ2h0OiIifSxhPXRoaXMuX2dldE92ZXJsYXlQb2ludChlLHRoaXMuX292ZXJsYXlSZWN0LHQpO2lmKHRoaXMuX2lzUHVzaGVkJiYoYT10aGlzLl9wdXNoT3ZlcmxheU9uU2NyZWVuKGEsdGhpcy5fb3ZlcmxheVJlY3QsbikpLG89dGhpcy5faXNSdGwoKT8iZW5kIj09PXQub3ZlcmxheVg/ImxlZnQiOiJyaWdodCI6ImVuZCI9PT10Lm92ZXJsYXlYPyJyaWdodCI6ImxlZnQiLCJyaWdodCI9PT1vKXtpLnJpZ2h0PXRoaXMuX2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aC0oYS54K3RoaXMuX292ZXJsYXlSZWN0LndpZHRoKSsicHgifWVsc2UgaS5sZWZ0PWFIKGEueCk7cmV0dXJuIGl9X2dldFNjcm9sbFZpc2liaWxpdHkoKXtjb25zdCB0PXRoaXMuX2dldE9yaWdpblJlY3QoKSxlPXRoaXMuX3BhbmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj10aGlzLl9zY3JvbGxhYmxlcy5tYXAoKHQ9PnQuZ2V0RWxlbWVudFJlZigpLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpKTtyZXR1cm57aXNPcmlnaW5DbGlwcGVkOnhCKHQsbiksaXNPcmlnaW5PdXRzaWRlVmlldzp2Qih0LG4pLGlzT3ZlcmxheUNsaXBwZWQ6eEIoZSxuKSxpc092ZXJsYXlPdXRzaWRlVmlldzp2QihlLG4pfX1fc3VidHJhY3RPdmVyZmxvd3ModCwuLi5lKXtyZXR1cm4gZS5yZWR1Y2UoKCh0LGUpPT50LU1hdGgubWF4KGUsMCkpLHQpfV9nZXROYXJyb3dlZFZpZXdwb3J0UmVjdCgpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLGU9dGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxuPXRoaXMuX3ZpZXdwb3J0UnVsZXIuZ2V0Vmlld3BvcnRTY3JvbGxQb3NpdGlvbigpO3JldHVybnt0b3A6bi50b3ArdGhpcy5fdmlld3BvcnRNYXJnaW4sbGVmdDpuLmxlZnQrdGhpcy5fdmlld3BvcnRNYXJnaW4scmlnaHQ6bi5sZWZ0K3QtdGhpcy5fdmlld3BvcnRNYXJnaW4sYm90dG9tOm4udG9wK2UtdGhpcy5fdmlld3BvcnRNYXJnaW4sd2lkdGg6dC0yKnRoaXMuX3ZpZXdwb3J0TWFyZ2luLGhlaWdodDplLTIqdGhpcy5fdmlld3BvcnRNYXJnaW59fV9pc1J0bCgpe3JldHVybiJydGwiPT09dGhpcy5fb3ZlcmxheVJlZi5nZXREaXJlY3Rpb24oKX1faGFzRXhhY3RQb3NpdGlvbigpe3JldHVybiF0aGlzLl9oYXNGbGV4aWJsZURpbWVuc2lvbnN8fHRoaXMuX2lzUHVzaGVkfV9nZXRPZmZzZXQodCxlKXtyZXR1cm4ieCI9PT1lP251bGw9PXQub2Zmc2V0WD90aGlzLl9vZmZzZXRYOnQub2Zmc2V0WDpudWxsPT10Lm9mZnNldFk/dGhpcy5fb2Zmc2V0WTp0Lm9mZnNldFl9X3ZhbGlkYXRlUG9zaXRpb25zKCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSl7aWYoIXRoaXMuX3ByZWZlcnJlZFBvc2l0aW9ucy5sZW5ndGgpdGhyb3cgRXJyb3IoIkZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneTogQXQgbGVhc3Qgb25lIHBvc2l0aW9uIGlzIHJlcXVpcmVkLiIpO3RoaXMuX3ByZWZlcnJlZFBvc2l0aW9ucy5mb3JFYWNoKCh0PT57RUIoIm9yaWdpblgiLHQub3JpZ2luWCksUkIoIm9yaWdpblkiLHQub3JpZ2luWSksRUIoIm92ZXJsYXlYIix0Lm92ZXJsYXlYKSxSQigib3ZlcmxheVkiLHQub3ZlcmxheVkpfSkpfX1fYWRkUGFuZWxDbGFzc2VzKHQpe3RoaXMuX3BhbmUmJmlIKHQpLmZvckVhY2goKHQ9PnsiIiE9PXQmJi0xPT09dGhpcy5fYXBwbGllZFBhbmVsQ2xhc3Nlcy5pbmRleE9mKHQpJiYodGhpcy5fYXBwbGllZFBhbmVsQ2xhc3Nlcy5wdXNoKHQpLHRoaXMuX3BhbmUuY2xhc3NMaXN0LmFkZCh0KSl9KSl9X2NsZWFyUGFuZWxDbGFzc2VzKCl7dGhpcy5fcGFuZSYmKHRoaXMuX2FwcGxpZWRQYW5lbENsYXNzZXMuZm9yRWFjaCgodD0+e3RoaXMuX3BhbmUuY2xhc3NMaXN0LnJlbW92ZSh0KX0pKSx0aGlzLl9hcHBsaWVkUGFuZWxDbGFzc2VzPVtdKX1fZ2V0T3JpZ2luUmVjdCgpe2NvbnN0IHQ9dGhpcy5fb3JpZ2luO2lmKHQgaW5zdGFuY2VvZiBLaClyZXR1cm4gdC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKHQgaW5zdGFuY2VvZiBFbGVtZW50KXJldHVybiB0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IGU9dC53aWR0aHx8MCxuPXQuaGVpZ2h0fHwwO3JldHVybnt0b3A6dC55LGJvdHRvbTp0LnkrbixsZWZ0OnQueCxyaWdodDp0LngrZSxoZWlnaHQ6bix3aWR0aDplfX19ZnVuY3Rpb24gakIodCxlKXtmb3IobGV0IG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodFtuXT1lW25dKTtyZXR1cm4gdH1mdW5jdGlvbiBVQih0KXtpZigibnVtYmVyIiE9dHlwZW9mIHQmJm51bGwhPXQpe2NvbnN0W2Usbl09dC5zcGxpdChCQik7cmV0dXJuIG4mJiJweCIhPT1uP251bGw6cGFyc2VGbG9hdChlKX1yZXR1cm4gdHx8bnVsbH1mdW5jdGlvbiBXQih0KXtyZXR1cm57dG9wOk1hdGguZmxvb3IodC50b3ApLHJpZ2h0Ok1hdGguZmxvb3IodC5yaWdodCksYm90dG9tOk1hdGguZmxvb3IodC5ib3R0b20pLGxlZnQ6TWF0aC5mbG9vcih0LmxlZnQpLHdpZHRoOk1hdGguZmxvb3IodC53aWR0aCksaGVpZ2h0Ok1hdGguZmxvb3IodC5oZWlnaHQpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgR0J7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscil7dGhpcy5fcHJlZmVycmVkUG9zaXRpb25zPVtdLHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3k9bmV3IFZCKG4sbyxpLGEscikud2l0aEZsZXhpYmxlRGltZW5zaW9ucyghMSkud2l0aFB1c2goITEpLndpdGhWaWV3cG9ydE1hcmdpbigwKSx0aGlzLndpdGhGYWxsYmFja1Bvc2l0aW9uKHQsZSksdGhpcy5vblBvc2l0aW9uQ2hhbmdlPXRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kucG9zaXRpb25DaGFuZ2VzfWdldCBwb3NpdGlvbnMoKXtyZXR1cm4gdGhpcy5fcHJlZmVycmVkUG9zaXRpb25zfWF0dGFjaCh0KXt0aGlzLl9vdmVybGF5UmVmPXQsdGhpcy5fcG9zaXRpb25TdHJhdGVneS5hdHRhY2godCksdGhpcy5fZGlyZWN0aW9uJiYodC5zZXREaXJlY3Rpb24odGhpcy5fZGlyZWN0aW9uKSx0aGlzLl9kaXJlY3Rpb249bnVsbCl9ZGlzcG9zZSgpe3RoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kuZGlzcG9zZSgpfWRldGFjaCgpe3RoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kuZGV0YWNoKCl9YXBwbHkoKXt0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LmFwcGx5KCl9cmVjYWxjdWxhdGVMYXN0UG9zaXRpb24oKXt0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LnJlYXBwbHlMYXN0UG9zaXRpb24oKX13aXRoU2Nyb2xsYWJsZUNvbnRhaW5lcnModCl7dGhpcy5fcG9zaXRpb25TdHJhdGVneS53aXRoU2Nyb2xsYWJsZUNvbnRhaW5lcnModCl9d2l0aEZhbGxiYWNrUG9zaXRpb24odCxlLG4sbyl7Y29uc3QgaT1uZXcga0IodCxlLG4sbyk7cmV0dXJuIHRoaXMuX3ByZWZlcnJlZFBvc2l0aW9ucy5wdXNoKGkpLHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kud2l0aFBvc2l0aW9ucyh0aGlzLl9wcmVmZXJyZWRQb3NpdGlvbnMpLHRoaXN9d2l0aERpcmVjdGlvbih0KXtyZXR1cm4gdGhpcy5fb3ZlcmxheVJlZj90aGlzLl9vdmVybGF5UmVmLnNldERpcmVjdGlvbih0KTp0aGlzLl9kaXJlY3Rpb249dCx0aGlzfXdpdGhPZmZzZXRYKHQpe3JldHVybiB0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LndpdGhEZWZhdWx0T2Zmc2V0WCh0KSx0aGlzfXdpdGhPZmZzZXRZKHQpe3JldHVybiB0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LndpdGhEZWZhdWx0T2Zmc2V0WSh0KSx0aGlzfXdpdGhMb2NrZWRQb3NpdGlvbih0KXtyZXR1cm4gdGhpcy5fcG9zaXRpb25TdHJhdGVneS53aXRoTG9ja2VkUG9zaXRpb24odCksdGhpc313aXRoUG9zaXRpb25zKHQpe3JldHVybiB0aGlzLl9wcmVmZXJyZWRQb3NpdGlvbnM9dC5zbGljZSgpLHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kud2l0aFBvc2l0aW9ucyh0aGlzLl9wcmVmZXJyZWRQb3NpdGlvbnMpLHRoaXN9c2V0T3JpZ2luKHQpe3JldHVybiB0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LnNldE9yaWdpbih0KSx0aGlzfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgWUI9ImNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIjtjbGFzcyBxQntjb25zdHJ1Y3Rvcigpe3RoaXMuX2Nzc1Bvc2l0aW9uPSJzdGF0aWMiLHRoaXMuX3RvcE9mZnNldD0iIix0aGlzLl9ib3R0b21PZmZzZXQ9IiIsdGhpcy5fbGVmdE9mZnNldD0iIix0aGlzLl9yaWdodE9mZnNldD0iIix0aGlzLl9hbGlnbkl0ZW1zPSIiLHRoaXMuX2p1c3RpZnlDb250ZW50PSIiLHRoaXMuX3dpZHRoPSIiLHRoaXMuX2hlaWdodD0iIn1hdHRhY2godCl7Y29uc3QgZT10LmdldENvbmZpZygpO3RoaXMuX292ZXJsYXlSZWY9dCx0aGlzLl93aWR0aCYmIWUud2lkdGgmJnQudXBkYXRlU2l6ZSh7d2lkdGg6dGhpcy5fd2lkdGh9KSx0aGlzLl9oZWlnaHQmJiFlLmhlaWdodCYmdC51cGRhdGVTaXplKHtoZWlnaHQ6dGhpcy5faGVpZ2h0fSksdC5ob3N0RWxlbWVudC5jbGFzc0xpc3QuYWRkKFlCKSx0aGlzLl9pc0Rpc3Bvc2VkPSExfXRvcCh0PSIiKXtyZXR1cm4gdGhpcy5fYm90dG9tT2Zmc2V0PSIiLHRoaXMuX3RvcE9mZnNldD10LHRoaXMuX2FsaWduSXRlbXM9ImZsZXgtc3RhcnQiLHRoaXN9bGVmdCh0PSIiKXtyZXR1cm4gdGhpcy5fcmlnaHRPZmZzZXQ9IiIsdGhpcy5fbGVmdE9mZnNldD10LHRoaXMuX2p1c3RpZnlDb250ZW50PSJmbGV4LXN0YXJ0Iix0aGlzfWJvdHRvbSh0PSIiKXtyZXR1cm4gdGhpcy5fdG9wT2Zmc2V0PSIiLHRoaXMuX2JvdHRvbU9mZnNldD10LHRoaXMuX2FsaWduSXRlbXM9ImZsZXgtZW5kIix0aGlzfXJpZ2h0KHQ9IiIpe3JldHVybiB0aGlzLl9sZWZ0T2Zmc2V0PSIiLHRoaXMuX3JpZ2h0T2Zmc2V0PXQsdGhpcy5fanVzdGlmeUNvbnRlbnQ9ImZsZXgtZW5kIix0aGlzfXdpZHRoKHQ9IiIpe3JldHVybiB0aGlzLl9vdmVybGF5UmVmP3RoaXMuX292ZXJsYXlSZWYudXBkYXRlU2l6ZSh7d2lkdGg6dH0pOnRoaXMuX3dpZHRoPXQsdGhpc31oZWlnaHQodD0iIil7cmV0dXJuIHRoaXMuX292ZXJsYXlSZWY/dGhpcy5fb3ZlcmxheVJlZi51cGRhdGVTaXplKHtoZWlnaHQ6dH0pOnRoaXMuX2hlaWdodD10LHRoaXN9Y2VudGVySG9yaXpvbnRhbGx5KHQ9IiIpe3JldHVybiB0aGlzLmxlZnQodCksdGhpcy5fanVzdGlmeUNvbnRlbnQ9ImNlbnRlciIsdGhpc31jZW50ZXJWZXJ0aWNhbGx5KHQ9IiIpe3JldHVybiB0aGlzLnRvcCh0KSx0aGlzLl9hbGlnbkl0ZW1zPSJjZW50ZXIiLHRoaXN9YXBwbHkoKXtpZighdGhpcy5fb3ZlcmxheVJlZnx8IXRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LnN0eWxlLGU9dGhpcy5fb3ZlcmxheVJlZi5ob3N0RWxlbWVudC5zdHlsZSxuPXRoaXMuX292ZXJsYXlSZWYuZ2V0Q29uZmlnKCkse3dpZHRoOm8saGVpZ2h0OmksbWF4V2lkdGg6YSxtYXhIZWlnaHQ6cn09bixzPSEoIjEwMCUiIT09byYmIjEwMHZ3IiE9PW98fGEmJiIxMDAlIiE9PWEmJiIxMDB2dyIhPT1hKSxsPSEoIjEwMCUiIT09aSYmIjEwMHZoIiE9PWl8fHImJiIxMDAlIiE9PXImJiIxMDB2aCIhPT1yKTt0LnBvc2l0aW9uPXRoaXMuX2Nzc1Bvc2l0aW9uLHQubWFyZ2luTGVmdD1zPyIwIjp0aGlzLl9sZWZ0T2Zmc2V0LHQubWFyZ2luVG9wPWw/IjAiOnRoaXMuX3RvcE9mZnNldCx0Lm1hcmdpbkJvdHRvbT10aGlzLl9ib3R0b21PZmZzZXQsdC5tYXJnaW5SaWdodD10aGlzLl9yaWdodE9mZnNldCxzP2UuanVzdGlmeUNvbnRlbnQ9ImZsZXgtc3RhcnQiOiJjZW50ZXIiPT09dGhpcy5fanVzdGlmeUNvbnRlbnQ/ZS5qdXN0aWZ5Q29udGVudD0iY2VudGVyIjoicnRsIj09PXRoaXMuX292ZXJsYXlSZWYuZ2V0Q29uZmlnKCkuZGlyZWN0aW9uPyJmbGV4LXN0YXJ0Ij09PXRoaXMuX2p1c3RpZnlDb250ZW50P2UuanVzdGlmeUNvbnRlbnQ9ImZsZXgtZW5kIjoiZmxleC1lbmQiPT09dGhpcy5fanVzdGlmeUNvbnRlbnQmJihlLmp1c3RpZnlDb250ZW50PSJmbGV4LXN0YXJ0Iik6ZS5qdXN0aWZ5Q29udGVudD10aGlzLl9qdXN0aWZ5Q29udGVudCxlLmFsaWduSXRlbXM9bD8iZmxleC1zdGFydCI6dGhpcy5fYWxpZ25JdGVtc31kaXNwb3NlKCl7aWYodGhpcy5faXNEaXNwb3NlZHx8IXRoaXMuX292ZXJsYXlSZWYpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fb3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5zdHlsZSxlPXRoaXMuX292ZXJsYXlSZWYuaG9zdEVsZW1lbnQsbj1lLnN0eWxlO2UuY2xhc3NMaXN0LnJlbW92ZShZQiksbi5qdXN0aWZ5Q29udGVudD1uLmFsaWduSXRlbXM9dC5tYXJnaW5Ub3A9dC5tYXJnaW5Cb3R0b209dC5tYXJnaW5MZWZ0PXQubWFyZ2luUmlnaHQ9dC5wb3NpdGlvbj0iIix0aGlzLl9vdmVybGF5UmVmPW51bGwsdGhpcy5faXNEaXNwb3NlZD0hMH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIFpCe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX3ZpZXdwb3J0UnVsZXI9dCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX3BsYXRmb3JtPW4sdGhpcy5fb3ZlcmxheUNvbnRhaW5lcj1vfWdsb2JhbCgpe3JldHVybiBuZXcgcUJ9Y29ubmVjdGVkVG8odCxlLG4pe3JldHVybiBuZXcgR0IoZSxuLHQsdGhpcy5fdmlld3BvcnRSdWxlcix0aGlzLl9kb2N1bWVudCx0aGlzLl9wbGF0Zm9ybSx0aGlzLl9vdmVybGF5Q29udGFpbmVyKX1mbGV4aWJsZUNvbm5lY3RlZFRvKHQpe3JldHVybiBuZXcgVkIodCx0aGlzLl92aWV3cG9ydFJ1bGVyLHRoaXMuX2RvY3VtZW50LHRoaXMuX3BsYXRmb3JtLHRoaXMuX292ZXJsYXlDb250YWluZXIpfX1aQi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WkIpKFRyKFFMKSxUcihzTSksVHIoY0gpLFRyKEhCKSl9LFpCLsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyBaQihUcihRTCksVHIoc00pLFRyKGNIKSxUcihIQikpfSx0b2tlbjpaQixwcm92aWRlZEluOiJyb290In0pLFpCLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6UUx9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6Y0h9LHt0eXBlOkhCfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihaQixbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UUx9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6Y0h9LHt0eXBlOkhCfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBYQj0wO2NsYXNzIEtCe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMsZCl7dGhpcy5zY3JvbGxTdHJhdGVnaWVzPXQsdGhpcy5fb3ZlcmxheUNvbnRhaW5lcj1lLHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj1uLHRoaXMuX3Bvc2l0aW9uQnVpbGRlcj1vLHRoaXMuX2tleWJvYXJkRGlzcGF0Y2hlcj1pLHRoaXMuX2luamVjdG9yPWEsdGhpcy5fbmdab25lPXIsdGhpcy5fZG9jdW1lbnQ9cyx0aGlzLl9kaXJlY3Rpb25hbGl0eT1sLHRoaXMuX2xvY2F0aW9uPWMsdGhpcy5fb3V0c2lkZUNsaWNrRGlzcGF0Y2hlcj1kfWNyZWF0ZSh0KXtjb25zdCBlPXRoaXMuX2NyZWF0ZUhvc3RFbGVtZW50KCksbj10aGlzLl9jcmVhdGVQYW5lRWxlbWVudChlKSxvPXRoaXMuX2NyZWF0ZVBvcnRhbE91dGxldChuKSxpPW5ldyB3Qih0KTtyZXR1cm4gaS5kaXJlY3Rpb249aS5kaXJlY3Rpb258fHRoaXMuX2RpcmVjdGlvbmFsaXR5LnZhbHVlLG5ldyBGQihvLGUsbixpLHRoaXMuX25nWm9uZSx0aGlzLl9rZXlib2FyZERpc3BhdGNoZXIsdGhpcy5fZG9jdW1lbnQsdGhpcy5fbG9jYXRpb24sdGhpcy5fb3V0c2lkZUNsaWNrRGlzcGF0Y2hlcil9cG9zaXRpb24oKXtyZXR1cm4gdGhpcy5fcG9zaXRpb25CdWlsZGVyfV9jcmVhdGVQYW5lRWxlbWVudCh0KXtjb25zdCBlPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBlLmlkPSJjZGstb3ZlcmxheS0iK1hCKyssZS5jbGFzc0xpc3QuYWRkKCJjZGstb3ZlcmxheS1wYW5lIiksdC5hcHBlbmRDaGlsZChlKSxlfV9jcmVhdGVIb3N0RWxlbWVudCgpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHRoaXMuX292ZXJsYXlDb250YWluZXIuZ2V0Q29udGFpbmVyRWxlbWVudCgpLmFwcGVuZENoaWxkKHQpLHR9X2NyZWF0ZVBvcnRhbE91dGxldCh0KXtyZXR1cm4gdGhpcy5fYXBwUmVmfHwodGhpcy5fYXBwUmVmPXRoaXMuX2luamVjdG9yLmdldChIQykpLG5ldyBwQih0LHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcix0aGlzLl9hcHBSZWYsdGhpcy5faW5qZWN0b3IsdGhpcy5fZG9jdW1lbnQpfX1LQi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8S0IpKFRyKFBCKSxUcihIQiksVHIoR2gpLFRyKFpCKSxUcihUQiksVHIoTnApLFRyKG1DKSxUcihzTSksVHIodkYpLFRyKE1NKSxUcihOQikpfSxLQi7JtXByb3Y9U24oe3Rva2VuOktCLGZhY3Rvcnk6S0IuybVmYWN9KSxLQi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlBCfSx7dHlwZTpIQn0se3R5cGU6R2h9LHt0eXBlOlpCfSx7dHlwZTpUQn0se3R5cGU6TnB9LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOnZGfSx7dHlwZTpNTX0se3R5cGU6TkJ9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEtCLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpQQn0se3R5cGU6SEJ9LHt0eXBlOkdofSx7dHlwZTpaQn0se3R5cGU6VEJ9LHt0eXBlOk5wfSx7dHlwZTptQ30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTp2Rn0se3R5cGU6TU19LHt0eXBlOk5CfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IEpCPVt7b3JpZ2luWDoic3RhcnQiLG9yaWdpblk6ImJvdHRvbSIsb3ZlcmxheVg6InN0YXJ0IixvdmVybGF5WToidG9wIn0se29yaWdpblg6InN0YXJ0IixvcmlnaW5ZOiJ0b3AiLG92ZXJsYXlYOiJzdGFydCIsb3ZlcmxheVk6ImJvdHRvbSJ9LHtvcmlnaW5YOiJlbmQiLG9yaWdpblk6InRvcCIsb3ZlcmxheVg6ImVuZCIsb3ZlcmxheVk6ImJvdHRvbSJ9LHtvcmlnaW5YOiJlbmQiLG9yaWdpblk6ImJvdHRvbSIsb3ZlcmxheVg6ImVuZCIsb3ZlcmxheVk6InRvcCJ9XSxRQj1uZXcgZXIoImNkay1jb25uZWN0ZWQtb3ZlcmxheS1zY3JvbGwtc3RyYXRlZ3kiKTtjbGFzcyAkQntjb25zdHJ1Y3Rvcih0KXt0aGlzLmVsZW1lbnRSZWY9dH19JEIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fCRCKShnZihLaCkpfSwkQi7JtWRpcj1obyh7dHlwZTokQixzZWxlY3RvcnM6W1siIiwiY2RrLW92ZXJsYXktb3JpZ2luIiwiIl0sWyIiLCJvdmVybGF5LW9yaWdpbiIsIiJdLFsiIiwiY2RrT3ZlcmxheU9yaWdpbiIsIiJdXSxleHBvcnRBczpbImNka092ZXJsYXlPcmlnaW4iXX0pLCRCLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKCRCLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGstb3ZlcmxheS1vcmlnaW5dLCBbb3ZlcmxheS1vcmlnaW5dLCBbY2RrT3ZlcmxheU9yaWdpbl0iLGV4cG9ydEFzOiJjZGtPdmVybGF5T3JpZ2luIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofV19KSxudWxsKTtjbGFzcyB0Vntjb25zdHJ1Y3Rvcih0LGUsbixvLGkpe3RoaXMuX292ZXJsYXk9dCx0aGlzLl9kaXI9aSx0aGlzLl9oYXNCYWNrZHJvcD0hMSx0aGlzLl9sb2NrUG9zaXRpb249ITEsdGhpcy5fZ3Jvd0FmdGVyT3Blbj0hMSx0aGlzLl9mbGV4aWJsZURpbWVuc2lvbnM9ITEsdGhpcy5fcHVzaD0hMSx0aGlzLl9iYWNrZHJvcFN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX2F0dGFjaFN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX2RldGFjaFN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX3Bvc2l0aW9uU3Vic2NyaXB0aW9uPXUuRU1QVFksdGhpcy52aWV3cG9ydE1hcmdpbj0wLHRoaXMub3Blbj0hMSx0aGlzLmRpc2FibGVDbG9zZT0hMSx0aGlzLmJhY2tkcm9wQ2xpY2s9bmV3IFN5LHRoaXMucG9zaXRpb25DaGFuZ2U9bmV3IFN5LHRoaXMuYXR0YWNoPW5ldyBTeSx0aGlzLmRldGFjaD1uZXcgU3ksdGhpcy5vdmVybGF5S2V5ZG93bj1uZXcgU3ksdGhpcy5vdmVybGF5T3V0c2lkZUNsaWNrPW5ldyBTeSx0aGlzLl90ZW1wbGF0ZVBvcnRhbD1uZXcgbEIoZSxuKSx0aGlzLl9zY3JvbGxTdHJhdGVneUZhY3Rvcnk9byx0aGlzLnNjcm9sbFN0cmF0ZWd5PXRoaXMuX3Njcm9sbFN0cmF0ZWd5RmFjdG9yeSgpfWdldCBvZmZzZXRYKCl7cmV0dXJuIHRoaXMuX29mZnNldFh9c2V0IG9mZnNldFgodCl7dGhpcy5fb2Zmc2V0WD10LHRoaXMuX3Bvc2l0aW9uJiZ0aGlzLl91cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRoaXMuX3Bvc2l0aW9uKX1nZXQgb2Zmc2V0WSgpe3JldHVybiB0aGlzLl9vZmZzZXRZfXNldCBvZmZzZXRZKHQpe3RoaXMuX29mZnNldFk9dCx0aGlzLl9wb3NpdGlvbiYmdGhpcy5fdXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLl9wb3NpdGlvbil9Z2V0IGhhc0JhY2tkcm9wKCl7cmV0dXJuIHRoaXMuX2hhc0JhY2tkcm9wfXNldCBoYXNCYWNrZHJvcCh0KXt0aGlzLl9oYXNCYWNrZHJvcD1lSCh0KX1nZXQgbG9ja1Bvc2l0aW9uKCl7cmV0dXJuIHRoaXMuX2xvY2tQb3NpdGlvbn1zZXQgbG9ja1Bvc2l0aW9uKHQpe3RoaXMuX2xvY2tQb3NpdGlvbj1lSCh0KX1nZXQgZmxleGlibGVEaW1lbnNpb25zKCl7cmV0dXJuIHRoaXMuX2ZsZXhpYmxlRGltZW5zaW9uc31zZXQgZmxleGlibGVEaW1lbnNpb25zKHQpe3RoaXMuX2ZsZXhpYmxlRGltZW5zaW9ucz1lSCh0KX1nZXQgZ3Jvd0FmdGVyT3Blbigpe3JldHVybiB0aGlzLl9ncm93QWZ0ZXJPcGVufXNldCBncm93QWZ0ZXJPcGVuKHQpe3RoaXMuX2dyb3dBZnRlck9wZW49ZUgodCl9Z2V0IHB1c2goKXtyZXR1cm4gdGhpcy5fcHVzaH1zZXQgcHVzaCh0KXt0aGlzLl9wdXNoPWVIKHQpfWdldCBvdmVybGF5UmVmKCl7cmV0dXJuIHRoaXMuX292ZXJsYXlSZWZ9Z2V0IGRpcigpe3JldHVybiB0aGlzLl9kaXI/dGhpcy5fZGlyLnZhbHVlOiJsdHIifW5nT25EZXN0cm95KCl7dGhpcy5fYXR0YWNoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fZGV0YWNoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9wb3NpdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuX292ZXJsYXlSZWYmJnRoaXMuX292ZXJsYXlSZWYuZGlzcG9zZSgpfW5nT25DaGFuZ2VzKHQpe3RoaXMuX3Bvc2l0aW9uJiYodGhpcy5fdXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLl9wb3NpdGlvbiksdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVTaXplKHt3aWR0aDp0aGlzLndpZHRoLG1pbldpZHRoOnRoaXMubWluV2lkdGgsaGVpZ2h0OnRoaXMuaGVpZ2h0LG1pbkhlaWdodDp0aGlzLm1pbkhlaWdodH0pLHQub3JpZ2luJiZ0aGlzLm9wZW4mJnRoaXMuX3Bvc2l0aW9uLmFwcGx5KCkpLHQub3BlbiYmKHRoaXMub3Blbj90aGlzLl9hdHRhY2hPdmVybGF5KCk6dGhpcy5fZGV0YWNoT3ZlcmxheSgpKX1fY3JlYXRlT3ZlcmxheSgpe3RoaXMucG9zaXRpb25zJiZ0aGlzLnBvc2l0aW9ucy5sZW5ndGh8fCh0aGlzLnBvc2l0aW9ucz1KQik7Y29uc3QgdD10aGlzLl9vdmVybGF5UmVmPXRoaXMuX292ZXJsYXkuY3JlYXRlKHRoaXMuX2J1aWxkQ29uZmlnKCkpO3RoaXMuX2F0dGFjaFN1YnNjcmlwdGlvbj10LmF0dGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgoKT0+dGhpcy5hdHRhY2guZW1pdCgpKSksdGhpcy5fZGV0YWNoU3Vic2NyaXB0aW9uPXQuZGV0YWNobWVudHMoKS5zdWJzY3JpYmUoKCgpPT50aGlzLmRldGFjaC5lbWl0KCkpKSx0LmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLm92ZXJsYXlLZXlkb3duLm5leHQodCksdC5rZXlDb2RlIT09S0l8fHRoaXMuZGlzYWJsZUNsb3NlfHx0SCh0KXx8KHQucHJldmVudERlZmF1bHQoKSx0aGlzLl9kZXRhY2hPdmVybGF5KCkpfSkpLHRoaXMuX292ZXJsYXlSZWYub3V0c2lkZVBvaW50ZXJFdmVudHMoKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLm92ZXJsYXlPdXRzaWRlQ2xpY2submV4dCh0KX0pKX1fYnVpbGRDb25maWcoKXtjb25zdCB0PXRoaXMuX3Bvc2l0aW9uPXRoaXMucG9zaXRpb25TdHJhdGVneXx8dGhpcy5fY3JlYXRlUG9zaXRpb25TdHJhdGVneSgpLGU9bmV3IHdCKHtkaXJlY3Rpb246dGhpcy5fZGlyLHBvc2l0aW9uU3RyYXRlZ3k6dCxzY3JvbGxTdHJhdGVneTp0aGlzLnNjcm9sbFN0cmF0ZWd5LGhhc0JhY2tkcm9wOnRoaXMuaGFzQmFja2Ryb3B9KTtyZXR1cm4odGhpcy53aWR0aHx8MD09PXRoaXMud2lkdGgpJiYoZS53aWR0aD10aGlzLndpZHRoKSwodGhpcy5oZWlnaHR8fDA9PT10aGlzLmhlaWdodCkmJihlLmhlaWdodD10aGlzLmhlaWdodCksKHRoaXMubWluV2lkdGh8fDA9PT10aGlzLm1pbldpZHRoKSYmKGUubWluV2lkdGg9dGhpcy5taW5XaWR0aCksKHRoaXMubWluSGVpZ2h0fHwwPT09dGhpcy5taW5IZWlnaHQpJiYoZS5taW5IZWlnaHQ9dGhpcy5taW5IZWlnaHQpLHRoaXMuYmFja2Ryb3BDbGFzcyYmKGUuYmFja2Ryb3BDbGFzcz10aGlzLmJhY2tkcm9wQ2xhc3MpLHRoaXMucGFuZWxDbGFzcyYmKGUucGFuZWxDbGFzcz10aGlzLnBhbmVsQ2xhc3MpLGV9X3VwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodCl7Y29uc3QgZT10aGlzLnBvc2l0aW9ucy5tYXAoKHQ9Pih7b3JpZ2luWDp0Lm9yaWdpblgsb3JpZ2luWTp0Lm9yaWdpblksb3ZlcmxheVg6dC5vdmVybGF5WCxvdmVybGF5WTp0Lm92ZXJsYXlZLG9mZnNldFg6dC5vZmZzZXRYfHx0aGlzLm9mZnNldFgsb2Zmc2V0WTp0Lm9mZnNldFl8fHRoaXMub2Zmc2V0WSxwYW5lbENsYXNzOnQucGFuZWxDbGFzc3x8dm9pZCAwfSkpKTtyZXR1cm4gdC5zZXRPcmlnaW4odGhpcy5vcmlnaW4uZWxlbWVudFJlZikud2l0aFBvc2l0aW9ucyhlKS53aXRoRmxleGlibGVEaW1lbnNpb25zKHRoaXMuZmxleGlibGVEaW1lbnNpb25zKS53aXRoUHVzaCh0aGlzLnB1c2gpLndpdGhHcm93QWZ0ZXJPcGVuKHRoaXMuZ3Jvd0FmdGVyT3Blbikud2l0aFZpZXdwb3J0TWFyZ2luKHRoaXMudmlld3BvcnRNYXJnaW4pLndpdGhMb2NrZWRQb3NpdGlvbih0aGlzLmxvY2tQb3NpdGlvbikud2l0aFRyYW5zZm9ybU9yaWdpbk9uKHRoaXMudHJhbnNmb3JtT3JpZ2luU2VsZWN0b3IpfV9jcmVhdGVQb3NpdGlvblN0cmF0ZWd5KCl7Y29uc3QgdD10aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLm9yaWdpbi5lbGVtZW50UmVmKTtyZXR1cm4gdGhpcy5fdXBkYXRlUG9zaXRpb25TdHJhdGVneSh0KSx0fV9hdHRhY2hPdmVybGF5KCl7dGhpcy5fb3ZlcmxheVJlZj90aGlzLl9vdmVybGF5UmVmLmdldENvbmZpZygpLmhhc0JhY2tkcm9wPXRoaXMuaGFzQmFja2Ryb3A6dGhpcy5fY3JlYXRlT3ZlcmxheSgpLHRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKXx8dGhpcy5fb3ZlcmxheVJlZi5hdHRhY2godGhpcy5fdGVtcGxhdGVQb3J0YWwpLHRoaXMuaGFzQmFja2Ryb3A/dGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb249dGhpcy5fb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCh0PT57dGhpcy5iYWNrZHJvcENsaWNrLmVtaXQodCl9KSk6dGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9wb3NpdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMucG9zaXRpb25DaGFuZ2Uub2JzZXJ2ZXJzLmxlbmd0aD4wJiYodGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb249dGhpcy5fcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnBpcGUoVWUoKCgpPT50aGlzLnBvc2l0aW9uQ2hhbmdlLm9ic2VydmVycy5sZW5ndGg+MCkpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLnBvc2l0aW9uQ2hhbmdlLmVtaXQodCksMD09PXRoaXMucG9zaXRpb25DaGFuZ2Uub2JzZXJ2ZXJzLmxlbmd0aCYmdGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX0pKSl9X2RldGFjaE92ZXJsYXkoKXt0aGlzLl9vdmVybGF5UmVmJiZ0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpLHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX19dFYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHRWKShnZihLQiksZ2YoRWIpLGdmKEZiKSxnZihRQiksZ2YodkYsOCkpfSx0Vi7JtWRpcj1obyh7dHlwZTp0VixzZWxlY3RvcnM6W1siIiwiY2RrLWNvbm5lY3RlZC1vdmVybGF5IiwiIl0sWyIiLCJjb25uZWN0ZWQtb3ZlcmxheSIsIiJdLFsiIiwiY2RrQ29ubmVjdGVkT3ZlcmxheSIsIiJdXSxpbnB1dHM6e3ZpZXdwb3J0TWFyZ2luOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVZpZXdwb3J0TWFyZ2luIiwidmlld3BvcnRNYXJnaW4iXSxvcGVuOlsiY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW4iLCJvcGVuIl0sZGlzYWJsZUNsb3NlOlsiY2RrQ29ubmVjdGVkT3ZlcmxheURpc2FibGVDbG9zZSIsImRpc2FibGVDbG9zZSJdLHNjcm9sbFN0cmF0ZWd5OlsiY2RrQ29ubmVjdGVkT3ZlcmxheVNjcm9sbFN0cmF0ZWd5Iiwic2Nyb2xsU3RyYXRlZ3kiXSxvZmZzZXRYOlsiY2RrQ29ubmVjdGVkT3ZlcmxheU9mZnNldFgiLCJvZmZzZXRYIl0sb2Zmc2V0WTpbImNka0Nvbm5lY3RlZE92ZXJsYXlPZmZzZXRZIiwib2Zmc2V0WSJdLGhhc0JhY2tkcm9wOlsiY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wIiwiaGFzQmFja2Ryb3AiXSxsb2NrUG9zaXRpb246WyJjZGtDb25uZWN0ZWRPdmVybGF5TG9ja1Bvc2l0aW9uIiwibG9ja1Bvc2l0aW9uIl0sZmxleGlibGVEaW1lbnNpb25zOlsiY2RrQ29ubmVjdGVkT3ZlcmxheUZsZXhpYmxlRGltZW5zaW9ucyIsImZsZXhpYmxlRGltZW5zaW9ucyJdLGdyb3dBZnRlck9wZW46WyJjZGtDb25uZWN0ZWRPdmVybGF5R3Jvd0FmdGVyT3BlbiIsImdyb3dBZnRlck9wZW4iXSxwdXNoOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVB1c2giLCJwdXNoIl0scG9zaXRpb25zOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9ucyIsInBvc2l0aW9ucyJdLG9yaWdpbjpbImNka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW4iLCJvcmlnaW4iXSxwb3NpdGlvblN0cmF0ZWd5OlsiY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3kiLCJwb3NpdGlvblN0cmF0ZWd5Il0sd2lkdGg6WyJjZGtDb25uZWN0ZWRPdmVybGF5V2lkdGgiLCJ3aWR0aCJdLGhlaWdodDpbImNka0Nvbm5lY3RlZE92ZXJsYXlIZWlnaHQiLCJoZWlnaHQiXSxtaW5XaWR0aDpbImNka0Nvbm5lY3RlZE92ZXJsYXlNaW5XaWR0aCIsIm1pbldpZHRoIl0sbWluSGVpZ2h0OlsiY2RrQ29ubmVjdGVkT3ZlcmxheU1pbkhlaWdodCIsIm1pbkhlaWdodCJdLGJhY2tkcm9wQ2xhc3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcyIsImJhY2tkcm9wQ2xhc3MiXSxwYW5lbENsYXNzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVBhbmVsQ2xhc3MiLCJwYW5lbENsYXNzIl0sdHJhbnNmb3JtT3JpZ2luU2VsZWN0b3I6WyJjZGtDb25uZWN0ZWRPdmVybGF5VHJhbnNmb3JtT3JpZ2luT24iLCJ0cmFuc2Zvcm1PcmlnaW5TZWxlY3RvciJdfSxvdXRwdXRzOntiYWNrZHJvcENsaWNrOiJiYWNrZHJvcENsaWNrIixwb3NpdGlvbkNoYW5nZToicG9zaXRpb25DaGFuZ2UiLGF0dGFjaDoiYXR0YWNoIixkZXRhY2g6ImRldGFjaCIsb3ZlcmxheUtleWRvd246Im92ZXJsYXlLZXlkb3duIixvdmVybGF5T3V0c2lkZUNsaWNrOiJvdmVybGF5T3V0c2lkZUNsaWNrIn0sZXhwb3J0QXM6WyJjZGtDb25uZWN0ZWRPdmVybGF5Il0sZmVhdHVyZXM6W3FvXX0pLHRWLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S0J9LHt0eXBlOkVifSx7dHlwZTpGYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1FCXX1dfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfV0sdFYucHJvcERlY29yYXRvcnM9e29yaWdpbjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW4iXX1dLHBvc2l0aW9uczpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnMiXX1dLHBvc2l0aW9uU3RyYXRlZ3k6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25TdHJhdGVneSJdfV0sb2Zmc2V0WDpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlPZmZzZXRYIl19XSxvZmZzZXRZOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheU9mZnNldFkiXX1dLHdpZHRoOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVdpZHRoIl19XSxoZWlnaHQ6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5SGVpZ2h0Il19XSxtaW5XaWR0aDpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlNaW5XaWR0aCJdfV0sbWluSGVpZ2h0Olt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheU1pbkhlaWdodCJdfV0sYmFja2Ryb3BDbGFzczpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlCYWNrZHJvcENsYXNzIl19XSxwYW5lbENsYXNzOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVBhbmVsQ2xhc3MiXX1dLHZpZXdwb3J0TWFyZ2luOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVZpZXdwb3J0TWFyZ2luIl19XSxzY3JvbGxTdHJhdGVneTpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneSJdfV0sb3Blbjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlPcGVuIl19XSxkaXNhYmxlQ2xvc2U6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5RGlzYWJsZUNsb3NlIl19XSx0cmFuc2Zvcm1PcmlnaW5TZWxlY3Rvcjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlUcmFuc2Zvcm1PcmlnaW5PbiJdfV0saGFzQmFja2Ryb3A6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3AiXX1dLGxvY2tQb3NpdGlvbjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlMb2NrUG9zaXRpb24iXX1dLGZsZXhpYmxlRGltZW5zaW9uczpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlGbGV4aWJsZURpbWVuc2lvbnMiXX1dLGdyb3dBZnRlck9wZW46W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5R3Jvd0FmdGVyT3BlbiJdfV0scHVzaDpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlQdXNoIl19XSxiYWNrZHJvcENsaWNrOlt7dHlwZTpFX31dLHBvc2l0aW9uQ2hhbmdlOlt7dHlwZTpFX31dLGF0dGFjaDpbe3R5cGU6RV99XSxkZXRhY2g6W3t0eXBlOkVffV0sb3ZlcmxheUtleWRvd246W3t0eXBlOkVffV0sb3ZlcmxheU91dHNpZGVDbGljazpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih0Vixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbY2RrLWNvbm5lY3RlZC1vdmVybGF5XSwgW2Nvbm5lY3RlZC1vdmVybGF5XSwgW2Nka0Nvbm5lY3RlZE92ZXJsYXldIixleHBvcnRBczoiY2RrQ29ubmVjdGVkT3ZlcmxheSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLQn0se3R5cGU6RWJ9LHt0eXBlOkZifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbUUJdfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19XX0pLHt2aWV3cG9ydE1hcmdpbjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlWaWV3cG9ydE1hcmdpbiJdfV0sb3Blbjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlPcGVuIl19XSxkaXNhYmxlQ2xvc2U6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5RGlzYWJsZUNsb3NlIl19XSxiYWNrZHJvcENsaWNrOlt7dHlwZTpFX31dLHBvc2l0aW9uQ2hhbmdlOlt7dHlwZTpFX31dLGF0dGFjaDpbe3R5cGU6RV99XSxkZXRhY2g6W3t0eXBlOkVffV0sb3ZlcmxheUtleWRvd246W3t0eXBlOkVffV0sb3ZlcmxheU91dHNpZGVDbGljazpbe3R5cGU6RV99XSxzY3JvbGxTdHJhdGVneTpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneSJdfV0sb2Zmc2V0WDpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlPZmZzZXRYIl19XSxvZmZzZXRZOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheU9mZnNldFkiXX1dLGhhc0JhY2tkcm9wOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wIl19XSxsb2NrUG9zaXRpb246W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5TG9ja1Bvc2l0aW9uIl19XSxmbGV4aWJsZURpbWVuc2lvbnM6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zIl19XSxncm93QWZ0ZXJPcGVuOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheUdyb3dBZnRlck9wZW4iXX1dLHB1c2g6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5UHVzaCJdfV0scG9zaXRpb25zOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9ucyJdfV0sb3JpZ2luOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbiJdfV0scG9zaXRpb25TdHJhdGVneTpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5Il19XSx3aWR0aDpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlXaWR0aCJdfV0saGVpZ2h0Olt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheUhlaWdodCJdfV0sbWluV2lkdGg6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5TWluV2lkdGgiXX1dLG1pbkhlaWdodDpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlNaW5IZWlnaHQiXX1dLGJhY2tkcm9wQ2xhc3M6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcyJdfV0scGFuZWxDbGFzczpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzIl19XSx0cmFuc2Zvcm1PcmlnaW5TZWxlY3Rvcjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlUcmFuc2Zvcm1PcmlnaW5PbiJdfV19KTtjb25zdCBlVj17cHJvdmlkZTpRQixkZXBzOltLQl0sdXNlRmFjdG9yeTpmdW5jdGlvbiBuVih0KXtyZXR1cm4oKT0+dC5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKX19OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBvVnt9b1YuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG9WKX0sb1YuybVtb2Q9Zm8oe3R5cGU6b1Z9KSxvVi7JtWluaj1Ebih7cHJvdmlkZXJzOltLQixlVl0saW1wb3J0czpbW09GLGhCLGlCXSxpQl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG9WLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbT0YsaEIsaUJdLGV4cG9ydHM6W3RWLCRCLGlCXSxkZWNsYXJhdGlvbnM6W3RWLCRCXSxwcm92aWRlcnM6W0tCLGVWXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKG9WLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bdFYsJEJdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW09GLGhCLGlCXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVyblt0ViwkQixpQl19fSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgaVYgZXh0ZW5kcyBIQntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSl9bmdPbkRlc3Ryb3koKXtzdXBlci5uZ09uRGVzdHJveSgpLHRoaXMuX2Z1bGxTY3JlZW5FdmVudE5hbWUmJnRoaXMuX2Z1bGxTY3JlZW5MaXN0ZW5lciYmdGhpcy5fZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLl9mdWxsU2NyZWVuRXZlbnROYW1lLHRoaXMuX2Z1bGxTY3JlZW5MaXN0ZW5lcil9X2NyZWF0ZUNvbnRhaW5lcigpe3N1cGVyLl9jcmVhdGVDb250YWluZXIoKSx0aGlzLl9hZGp1c3RQYXJlbnRGb3JGdWxsc2NyZWVuQ2hhbmdlKCksdGhpcy5fYWRkRnVsbHNjcmVlbkNoYW5nZUxpc3RlbmVyKCgoKT0+dGhpcy5fYWRqdXN0UGFyZW50Rm9yRnVsbHNjcmVlbkNoYW5nZSgpKSl9X2FkanVzdFBhcmVudEZvckZ1bGxzY3JlZW5DaGFuZ2UoKXtpZighdGhpcy5fY29udGFpbmVyRWxlbWVudClyZXR1cm47KHRoaXMuZ2V0RnVsbHNjcmVlbkVsZW1lbnQoKXx8dGhpcy5fZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQodGhpcy5fY29udGFpbmVyRWxlbWVudCl9X2FkZEZ1bGxzY3JlZW5DaGFuZ2VMaXN0ZW5lcih0KXtjb25zdCBlPXRoaXMuX2dldEV2ZW50TmFtZSgpO2UmJih0aGlzLl9mdWxsU2NyZWVuTGlzdGVuZXImJnRoaXMuX2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0aGlzLl9mdWxsU2NyZWVuTGlzdGVuZXIpLHRoaXMuX2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoZSx0KSx0aGlzLl9mdWxsU2NyZWVuTGlzdGVuZXI9dCl9X2dldEV2ZW50TmFtZSgpe2lmKCF0aGlzLl9mdWxsU2NyZWVuRXZlbnROYW1lKXtjb25zdCB0PXRoaXMuX2RvY3VtZW50O3QuZnVsbHNjcmVlbkVuYWJsZWQ/dGhpcy5fZnVsbFNjcmVlbkV2ZW50TmFtZT0iZnVsbHNjcmVlbmNoYW5nZSI6dC53ZWJraXRGdWxsc2NyZWVuRW5hYmxlZD90aGlzLl9mdWxsU2NyZWVuRXZlbnROYW1lPSJ3ZWJraXRmdWxsc2NyZWVuY2hhbmdlIjp0Lm1vekZ1bGxTY3JlZW5FbmFibGVkP3RoaXMuX2Z1bGxTY3JlZW5FdmVudE5hbWU9Im1vemZ1bGxzY3JlZW5jaGFuZ2UiOnQubXNGdWxsc2NyZWVuRW5hYmxlZCYmKHRoaXMuX2Z1bGxTY3JlZW5FdmVudE5hbWU9Ik1TRnVsbHNjcmVlbkNoYW5nZSIpfXJldHVybiB0aGlzLl9mdWxsU2NyZWVuRXZlbnROYW1lfWdldEZ1bGxzY3JlZW5FbGVtZW50KCl7Y29uc3QgdD10aGlzLl9kb2N1bWVudDtyZXR1cm4gdC5mdWxsc2NyZWVuRWxlbWVudHx8dC53ZWJraXRGdWxsc2NyZWVuRWxlbWVudHx8dC5tb3pGdWxsU2NyZWVuRWxlbWVudHx8dC5tc0Z1bGxzY3JlZW5FbGVtZW50fHxudWxsfX1pVi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aVYpKFRyKHNNKSxUcihjSCkpfSxpVi7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgaVYoVHIoc00pLFRyKGNIKSl9LHRva2VuOmlWLHByb3ZpZGVkSW46InJvb3QifSksaVYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOmNIfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihpVixbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpjSH1dfSksbnVsbCk7Y2xhc3MgYVZ7fWFWLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxhVil9LGFWLsm1bW9kPWZvKHt0eXBlOmFWfSksYVYuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoYVYsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCByVj1uZXcgU2V0O2xldCBzVjtjbGFzcyBsVntjb25zdHJ1Y3Rvcih0KXt0aGlzLl9wbGF0Zm9ybT10LHRoaXMuX21hdGNoTWVkaWE9dGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyJiZ3aW5kb3cubWF0Y2hNZWRpYT93aW5kb3cubWF0Y2hNZWRpYS5iaW5kKHdpbmRvdyk6Y1Z9bWF0Y2hNZWRpYSh0KXtyZXR1cm4gdGhpcy5fcGxhdGZvcm0uV0VCS0lUJiYoZnVuY3Rpb24gZSh0KXtpZihyVi5oYXModCkpcmV0dXJuO3RyeXtzVnx8KHNWPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIiksc1Yuc2V0QXR0cmlidXRlKCJ0eXBlIiwidGV4dC9jc3MiKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNWKSksc1Yuc2hlZXQmJihzVi5zaGVldC5pbnNlcnRSdWxlKGBAbWVkaWEgJHt0fSB7LmZ4LXF1ZXJ5LXRlc3R7IH19YCwwKSxyVi5hZGQodCkpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCl9fSkodCksdGhpcy5fbWF0Y2hNZWRpYSh0KX19ZnVuY3Rpb24gY1YodCl7cmV0dXJue21hdGNoZXM6ImFsbCI9PT10fHwiIj09PXQsbWVkaWE6dCxhZGRMaXN0ZW5lcjooKT0+e30scmVtb3ZlTGlzdGVuZXI6KCk9Pnt9fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovbFYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGxWKShUcihjSCkpfSxsVi7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgbFYoVHIoY0gpKX0sdG9rZW46bFYscHJvdmlkZWRJbjoicm9vdCJ9KSxsVi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOmNIfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihsVixbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6Y0h9XX0pLG51bGwpO2NsYXNzIGRWe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fbWVkaWFNYXRjaGVyPXQsdGhpcy5fem9uZT1lLHRoaXMuX3F1ZXJpZXM9bmV3IE1hcCx0aGlzLl9kZXN0cm95U3ViamVjdD1uZXcgQn1uZ09uRGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3lTdWJqZWN0Lm5leHQoKSx0aGlzLl9kZXN0cm95U3ViamVjdC5jb21wbGV0ZSgpfWlzTWF0Y2hlZCh0KXtyZXR1cm4gcFYoaUgodCkpLnNvbWUoKHQ9PnRoaXMuX3JlZ2lzdGVyUXVlcnkodCkubXFsLm1hdGNoZXMpKX1vYnNlcnZlKHQpe2xldCBlPUt0KHBWKGlIKHQpKS5tYXAoKHQ9PnRoaXMuX3JlZ2lzdGVyUXVlcnkodCkub2JzZXJ2YWJsZSkpKTtyZXR1cm4gZT1uZShlLnBpcGUodmUoMSkpLGUucGlwZShMZSgxKSxDZSgwKSkpLGUucGlwZShWdCgodD0+e2NvbnN0IGU9e21hdGNoZXM6ITEsYnJlYWtwb2ludHM6e319O3JldHVybiB0LmZvckVhY2goKCh7bWF0Y2hlczp0LHF1ZXJ5Om59KT0+e2UubWF0Y2hlcz1lLm1hdGNoZXN8fHQsZS5icmVha3BvaW50c1tuXT10fSkpLGV9KSkpfV9yZWdpc3RlclF1ZXJ5KHQpe2lmKHRoaXMuX3F1ZXJpZXMuaGFzKHQpKXJldHVybiB0aGlzLl9xdWVyaWVzLmdldCh0KTtjb25zdCBlPXRoaXMuX21lZGlhTWF0Y2hlci5tYXRjaE1lZGlhKHQpLG49e29ic2VydmFibGU6bmV3IFQoKHQ9Pntjb25zdCBuPWU9PnRoaXMuX3pvbmUucnVuKCgoKT0+dC5uZXh0KGUpKSk7cmV0dXJuIGUuYWRkTGlzdGVuZXIobiksKCk9PntlLnJlbW92ZUxpc3RlbmVyKG4pfX0pKS5waXBlKEJlKGUpLFZ0KCgoe21hdGNoZXM6ZX0pPT4oe3F1ZXJ5OnQsbWF0Y2hlczplfSkpKSxqZSh0aGlzLl9kZXN0cm95U3ViamVjdCkpLG1xbDplfTtyZXR1cm4gdGhpcy5fcXVlcmllcy5zZXQodCxuKSxufX1mdW5jdGlvbiBwVih0KXtyZXR1cm4gdC5tYXAoKHQ9PnQuc3BsaXQoIiwiKSkpLnJlZHVjZSgoKHQsZSk9PnQuY29uY2F0KGUpKSkubWFwKCh0PT50LnRyaW0oKSkpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9kVi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZFYpKFRyKGxWKSxUcihtQykpfSxkVi7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgZFYoVHIobFYpLFRyKG1DKSl9LHRva2VuOmRWLHByb3ZpZGVkSW46InJvb3QifSksZFYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpsVn0se3R5cGU6bUN9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRWLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpsVn0se3R5cGU6bUN9XX0pLG51bGwpO2NvbnN0IG1WPSIobWF4LXdpZHRoOiA1OTkuOThweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpLCAobWF4LXdpZHRoOiA5NTkuOThweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIsZlY9IihtYXgtd2lkdGg6IDU5OS45OHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkiO2Z1bmN0aW9uIHVWKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxKSxDZigxLCJidXR0b24iLDIpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5hY3Rpb24oKX0pKSxQdSgyKSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksd3UodC5kYXRhLmFjdGlvbil9fWZ1bmN0aW9uIGdWKHQsZSl7fWNvbnN0IGhWPW5ldyBlcigiTWF0U25hY2tCYXJEYXRhIik7Y2xhc3MgYlZ7Y29uc3RydWN0b3IoKXt0aGlzLnBvbGl0ZW5lc3M9ImFzc2VydGl2ZSIsdGhpcy5hbm5vdW5jZW1lbnRNZXNzYWdlPSIiLHRoaXMuZHVyYXRpb249MCx0aGlzLmRhdGE9bnVsbCx0aGlzLmhvcml6b250YWxQb3NpdGlvbj0iY2VudGVyIix0aGlzLnZlcnRpY2FsUG9zaXRpb249ImJvdHRvbSJ9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCB5Vj1NYXRoLnBvdygyLDMxKS0xO2NsYXNzIF9We2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fb3ZlcmxheVJlZj1lLHRoaXMuX2FmdGVyRGlzbWlzc2VkPW5ldyBCLHRoaXMuX2FmdGVyT3BlbmVkPW5ldyBCLHRoaXMuX29uQWN0aW9uPW5ldyBCLHRoaXMuX2Rpc21pc3NlZEJ5QWN0aW9uPSExLHRoaXMuY29udGFpbmVySW5zdGFuY2U9dCx0aGlzLm9uQWN0aW9uKCkuc3Vic2NyaWJlKCgoKT0+dGhpcy5kaXNtaXNzKCkpKSx0Ll9vbkV4aXQuc3Vic2NyaWJlKCgoKT0+dGhpcy5fZmluaXNoRGlzbWlzcygpKSl9ZGlzbWlzcygpe3RoaXMuX2FmdGVyRGlzbWlzc2VkLmNsb3NlZHx8dGhpcy5jb250YWluZXJJbnN0YW5jZS5leGl0KCksY2xlYXJUaW1lb3V0KHRoaXMuX2R1cmF0aW9uVGltZW91dElkKX1kaXNtaXNzV2l0aEFjdGlvbigpe3RoaXMuX29uQWN0aW9uLmNsb3NlZHx8KHRoaXMuX2Rpc21pc3NlZEJ5QWN0aW9uPSEwLHRoaXMuX29uQWN0aW9uLm5leHQoKSx0aGlzLl9vbkFjdGlvbi5jb21wbGV0ZSgpKSxjbGVhclRpbWVvdXQodGhpcy5fZHVyYXRpb25UaW1lb3V0SWQpfWNsb3NlV2l0aEFjdGlvbigpe3RoaXMuZGlzbWlzc1dpdGhBY3Rpb24oKX1fZGlzbWlzc0FmdGVyKHQpe3RoaXMuX2R1cmF0aW9uVGltZW91dElkPXNldFRpbWVvdXQoKCgpPT50aGlzLmRpc21pc3MoKSksTWF0aC5taW4odCx5VikpfV9vcGVuKCl7dGhpcy5fYWZ0ZXJPcGVuZWQuY2xvc2VkfHwodGhpcy5fYWZ0ZXJPcGVuZWQubmV4dCgpLHRoaXMuX2FmdGVyT3BlbmVkLmNvbXBsZXRlKCkpfV9maW5pc2hEaXNtaXNzKCl7dGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCksdGhpcy5fb25BY3Rpb24uY2xvc2VkfHx0aGlzLl9vbkFjdGlvbi5jb21wbGV0ZSgpLHRoaXMuX2FmdGVyRGlzbWlzc2VkLm5leHQoe2Rpc21pc3NlZEJ5QWN0aW9uOnRoaXMuX2Rpc21pc3NlZEJ5QWN0aW9ufSksdGhpcy5fYWZ0ZXJEaXNtaXNzZWQuY29tcGxldGUoKSx0aGlzLl9kaXNtaXNzZWRCeUFjdGlvbj0hMX1hZnRlckRpc21pc3NlZCgpe3JldHVybiB0aGlzLl9hZnRlckRpc21pc3NlZH1hZnRlck9wZW5lZCgpe3JldHVybiB0aGlzLmNvbnRhaW5lckluc3RhbmNlLl9vbkVudGVyfW9uQWN0aW9uKCl7cmV0dXJuIHRoaXMuX29uQWN0aW9ufX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgQ1Z7Y29uc3RydWN0b3IodCxlKXt0aGlzLnNuYWNrQmFyUmVmPXQsdGhpcy5kYXRhPWV9YWN0aW9uKCl7dGhpcy5zbmFja0JhclJlZi5kaXNtaXNzV2l0aEFjdGlvbigpfWdldCBoYXNBY3Rpb24oKXtyZXR1cm4hIXRoaXMuZGF0YS5hY3Rpb259fUNWLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxDVikoZ2YoX1YpLGdmKGhWKSl9LENWLsm1Y21wPXNvKHt0eXBlOkNWLHNlbGVjdG9yczpbWyJzaW1wbGUtc25hY2stYmFyIl1dLGhvc3RBdHRyczpbMSwibWF0LXNpbXBsZS1zbmFja2JhciJdLGRlY2xzOjMsdmFyczoyLGNvbnN0czpbWyJjbGFzcyIsIm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIiw0LCJuZ0lmIl0sWzEsIm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIl0sWyJtYXQtYnV0dG9uIiwiIiwzLCJjbGljayJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwic3BhbiIpLFB1KDEpLE1mKCksSG0oMix1ViwzLDEsImRpdiIsMCkpLDImZSYmKERjKDEpLHd1KG4uZGF0YS5tZXNzYWdlKSxEYygxKSxiZigibmdJZiIsbi5oYXNBY3Rpb24pKX0sZGlyZWN0aXZlczpbUHYsTkxdLHN0eWxlczpbIi5tYXQtc2ltcGxlLXNuYWNrYmFye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7bGluZS1oZWlnaHQ6MjBweDtvcGFjaXR5OjF9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9ue2ZsZXgtc2hyaW5rOjA7bWFyZ2luOi04cHggLThweCAtOHB4IDhweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24gYnV0dG9ue21heC1oZWlnaHQ6MzZweDttaW4td2lkdGg6MH1bZGlyPXJ0bF0gLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9ue21hcmdpbi1sZWZ0Oi04cHg7bWFyZ2luLXJpZ2h0OjhweH1cbiJdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLENWLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6X1Z9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltoVl19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ1YsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic2ltcGxlLXNuYWNrLWJhciIsdGVtcGxhdGU6JzxzcGFuPnt7ZGF0YS5tZXNzYWdlfX08L3NwYW4+XG48ZGl2IGNsYXNzPSJtYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiIgICpuZ0lmPSJoYXNBY3Rpb24iPlxuICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT0iYWN0aW9uKCkiPnt7ZGF0YS5hY3Rpb259fTwvYnV0dG9uPlxuPC9kaXY+XG4nLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLGhvc3Q6e2NsYXNzOiJtYXQtc2ltcGxlLXNuYWNrYmFyIn0sc3R5bGVzOlsiLm1hdC1zaW1wbGUtc25hY2tiYXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtsaW5lLWhlaWdodDoyMHB4O29wYWNpdHk6MX0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb257ZmxleC1zaHJpbms6MDttYXJnaW46LThweCAtOHB4IC04cHggOHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiBidXR0b257bWF4LWhlaWdodDozNnB4O21pbi13aWR0aDowfVtkaXI9cnRsXSAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb257bWFyZ2luLWxlZnQ6LThweDttYXJnaW4tcmlnaHQ6OHB4fVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpfVn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2hWXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IE1WPXtzbmFja0JhclN0YXRlOnhPKCJzdGF0ZSIsW2tPKCJ2b2lkLCBoaWRkZW4iLHdPKHt0cmFuc2Zvcm06InNjYWxlKDAuOCkiLG9wYWNpdHk6MH0pKSxrTygidmlzaWJsZSIsd08oe3RyYW5zZm9ybToic2NhbGUoMSkiLG9wYWNpdHk6MX0pKSxETygiKiA9PiB2aXNpYmxlIixPTygiMTUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSkiKSksRE8oIiogPT4gdm9pZCwgKiA9PiBoaWRkZW4iLE9PKCI3NW1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMSwgMSkiLHdPKHtvcGFjaXR5OjB9KSkpXSl9OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyB2ViBleHRlbmRzIGRCe2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7c3VwZXIoKSx0aGlzLl9uZ1pvbmU9dCx0aGlzLl9lbGVtZW50UmVmPWUsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9bix0aGlzLl9wbGF0Zm9ybT1vLHRoaXMuc25hY2tCYXJDb25maWc9aSx0aGlzLl9hbm5vdW5jZURlbGF5PTE1MCx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fb25Bbm5vdW5jZT1uZXcgQix0aGlzLl9vbkV4aXQ9bmV3IEIsdGhpcy5fb25FbnRlcj1uZXcgQix0aGlzLl9hbmltYXRpb25TdGF0ZT0idm9pZCIsdGhpcy5hdHRhY2hEb21Qb3J0YWw9dD0+KHRoaXMuX2Fzc2VydE5vdEF0dGFjaGVkKCksdGhpcy5fYXBwbHlTbmFja0JhckNsYXNzZXMoKSx0aGlzLl9wb3J0YWxPdXRsZXQuYXR0YWNoRG9tUG9ydGFsKHQpKSx0aGlzLl9saXZlPSJhc3NlcnRpdmUiIT09aS5wb2xpdGVuZXNzfHxpLmFubm91bmNlbWVudE1lc3NhZ2U/Im9mZiI9PT1pLnBvbGl0ZW5lc3M/Im9mZiI6InBvbGl0ZSI6ImFzc2VydGl2ZSIsdGhpcy5fcGxhdGZvcm0uRklSRUZPWCYmKCJwb2xpdGUiPT09dGhpcy5fbGl2ZSYmKHRoaXMuX3JvbGU9InN0YXR1cyIpLCJhc3NlcnRpdmUiPT09dGhpcy5fbGl2ZSYmKHRoaXMuX3JvbGU9ImFsZXJ0IikpfWF0dGFjaENvbXBvbmVudFBvcnRhbCh0KXtyZXR1cm4gdGhpcy5fYXNzZXJ0Tm90QXR0YWNoZWQoKSx0aGlzLl9hcHBseVNuYWNrQmFyQ2xhc3NlcygpLHRoaXMuX3BvcnRhbE91dGxldC5hdHRhY2hDb21wb25lbnRQb3J0YWwodCl9YXR0YWNoVGVtcGxhdGVQb3J0YWwodCl7cmV0dXJuIHRoaXMuX2Fzc2VydE5vdEF0dGFjaGVkKCksdGhpcy5fYXBwbHlTbmFja0JhckNsYXNzZXMoKSx0aGlzLl9wb3J0YWxPdXRsZXQuYXR0YWNoVGVtcGxhdGVQb3J0YWwodCl9b25BbmltYXRpb25FbmQodCl7Y29uc3R7ZnJvbVN0YXRlOmUsdG9TdGF0ZTpufT10O2lmKCgidm9pZCI9PT1uJiYidm9pZCIhPT1lfHwiaGlkZGVuIj09PW4pJiZ0aGlzLl9jb21wbGV0ZUV4aXQoKSwidmlzaWJsZSI9PT1uKXtjb25zdCB0PXRoaXMuX29uRW50ZXI7dGhpcy5fbmdab25lLnJ1bigoKCk9Pnt0Lm5leHQoKSx0LmNvbXBsZXRlKCl9KSl9fWVudGVyKCl7dGhpcy5fZGVzdHJveWVkfHwodGhpcy5fYW5pbWF0aW9uU3RhdGU9InZpc2libGUiLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKSx0aGlzLl9zY3JlZW5SZWFkZXJBbm5vdW5jZSgpKX1leGl0KCl7cmV0dXJuIHRoaXMuX2FuaW1hdGlvblN0YXRlPSJoaWRkZW4iLHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoIm1hdC1leGl0IiwiIiksY2xlYXJUaW1lb3V0KHRoaXMuX2Fubm91bmNlVGltZW91dElkKSx0aGlzLl9vbkV4aXR9bmdPbkRlc3Ryb3koKXt0aGlzLl9kZXN0cm95ZWQ9ITAsdGhpcy5fY29tcGxldGVFeGl0KCl9X2NvbXBsZXRlRXhpdCgpe3RoaXMuX25nWm9uZS5vbk1pY3JvdGFza0VtcHR5LnBpcGUodmUoMSkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9vbkV4aXQubmV4dCgpLHRoaXMuX29uRXhpdC5jb21wbGV0ZSgpfSkpfV9hcHBseVNuYWNrQmFyQ2xhc3Nlcygpe2NvbnN0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LGU9dGhpcy5zbmFja0JhckNvbmZpZy5wYW5lbENsYXNzO2UmJihBcnJheS5pc0FycmF5KGUpP2UuZm9yRWFjaCgoZT0+dC5jbGFzc0xpc3QuYWRkKGUpKSk6dC5jbGFzc0xpc3QuYWRkKGUpKSwiY2VudGVyIj09PXRoaXMuc25hY2tCYXJDb25maWcuaG9yaXpvbnRhbFBvc2l0aW9uJiZ0LmNsYXNzTGlzdC5hZGQoIm1hdC1zbmFjay1iYXItY2VudGVyIiksInRvcCI9PT10aGlzLnNuYWNrQmFyQ29uZmlnLnZlcnRpY2FsUG9zaXRpb24mJnQuY2xhc3NMaXN0LmFkZCgibWF0LXNuYWNrLWJhci10b3AiKX1fYXNzZXJ0Tm90QXR0YWNoZWQoKXtpZih0aGlzLl9wb3J0YWxPdXRsZXQuaGFzQXR0YWNoZWQoKSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGF0dGFjaCBzbmFjayBiYXIgY29udGVudCBhZnRlciBjb250ZW50IGlzIGFscmVhZHkgYXR0YWNoZWQiKX1fc2NyZWVuUmVhZGVyQW5ub3VuY2UoKXt0aGlzLl9hbm5vdW5jZVRpbWVvdXRJZHx8dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3RoaXMuX2Fubm91bmNlVGltZW91dElkPXNldFRpbWVvdXQoKCgpPT57Y29uc3QgdD10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigiW2FyaWEtaGlkZGVuXSIpLGU9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIlthcmlhLWxpdmVdIik7aWYodCYmZSl7bGV0IG49bnVsbDt0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXImJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmKG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCksdC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiksZS5hcHBlbmRDaGlsZCh0KSxudWxsPT1ufHxuLmZvY3VzKCksdGhpcy5fb25Bbm5vdW5jZS5uZXh0KCksdGhpcy5fb25Bbm5vdW5jZS5jb21wbGV0ZSgpfX0pLHRoaXMuX2Fubm91bmNlRGVsYXkpfSkpfX12Vi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dlYpKGdmKG1DKSxnZihLaCksZ2YoT2IpLGdmKGNIKSxnZihiVikpfSx2Vi7JtWNtcD1zbyh7dHlwZTp2VixzZWxlY3RvcnM6W1sic25hY2stYmFyLWNvbnRhaW5lciJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkodUIsNyksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5fcG9ydGFsT3V0bGV0PXQuZmlyc3QpfX0saG9zdEF0dHJzOlsxLCJtYXQtc25hY2stYmFyLWNvbnRhaW5lciJdLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJkVmKCJAc3RhdGUuZG9uZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25BbmltYXRpb25FbmQoZSl9KSksMiZlJiZkZygiQHN0YXRlIixuLl9hbmltYXRpb25TdGF0ZSl9LGZlYXR1cmVzOltRcF0sZGVjbHM6Myx2YXJzOjIsY29uc3RzOltbImFyaWEtaGlkZGVuIiwidHJ1ZSJdLFsiY2RrUG9ydGFsT3V0bGV0IiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLEhtKDEsZ1YsMCwwLCJuZy10ZW1wbGF0ZSIsMSksTWYoKSx2ZigyLCJkaXYiKSksMiZlJiYoRGMoMikseW0oImFyaWEtbGl2ZSIsbi5fbGl2ZSkoInJvbGUiLG4uX3JvbGUpKX0sZGlyZWN0aXZlczpbdUJdLHN0eWxlczpbIi5tYXQtc25hY2stYmFyLWNvbnRhaW5lcntib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jazttYXJnaW46MjRweDttYXgtd2lkdGg6MzN2dzttaW4td2lkdGg6MzQ0cHg7cGFkZGluZzoxNHB4IDE2cHg7bWluLWhlaWdodDo0OHB4O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbmFjay1iYXItY29udGFpbmVye2JvcmRlcjpzb2xpZCAxcHh9Lm1hdC1zbmFjay1iYXItaGFuZHNldHt3aWR0aDoxMDAlfS5tYXQtc25hY2stYmFyLWhhbmRzZXQgLm1hdC1zbmFjay1iYXItY29udGFpbmVye21hcmdpbjo4cHg7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7d2lkdGg6MTAwJX1cbiJdLGVuY2Fwc3VsYXRpb246MixkYXRhOnthbmltYXRpb246W01WLnNuYWNrQmFyU3RhdGVdfX0pLHZWLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6bUN9LHt0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6Y0h9LHt0eXBlOmJWfV0sdlYucHJvcERlY29yYXRvcnM9e19wb3J0YWxPdXRsZXQ6W3t0eXBlOmFyLGFyZ3M6W3VCLHtzdGF0aWM6ITB9XX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHZWLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InNuYWNrLWJhci1jb250YWluZXIiLHRlbXBsYXRlOidceDNjIS0tIEluaXRpYWxseSBob2xkcyB0aGUgc25hY2sgYmFyIGNvbnRlbnQsIHdpbGwgYmUgZW1wdHkgYWZ0ZXIgYW5ub3VuY2luZyB0byBzY3JlZW4gcmVhZGVycy4gLS1ceDNlXG48ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIj5cbiAgPG5nLXRlbXBsYXRlIGNka1BvcnRhbE91dGxldD48L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cblx4M2MhLS0gV2lsbCByZWNlaXZlIHRoZSBzbmFjayBiYXIgY29udGVudCBmcm9tIHRoZSBub24tbGl2ZSBkaXYsIG1vdmUgd2lsbCBoYXBwZW4gYSBzaG9ydCBkZWxheSBhZnRlciBvcGVuaW5nIC0tXHgzZVxuPGRpdiBbYXR0ci5hcmlhLWxpdmVdPSJfbGl2ZSIgW2F0dHIucm9sZV09Il9yb2xlIj48L2Rpdj5cbicsY2hhbmdlRGV0ZWN0aW9uOmpuLkRlZmF1bHQsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGFuaW1hdGlvbnM6W01WLnNuYWNrQmFyU3RhdGVdLGhvc3Q6e2NsYXNzOiJtYXQtc25hY2stYmFyLWNvbnRhaW5lciIsIltAc3RhdGVdIjoiX2FuaW1hdGlvblN0YXRlIiwiKEBzdGF0ZS5kb25lKSI6Im9uQW5pbWF0aW9uRW5kKCRldmVudCkifSxzdHlsZXM6WyIubWF0LXNuYWNrLWJhci1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjI0cHg7bWF4LXdpZHRoOjMzdnc7bWluLXdpZHRoOjM0NHB4O3BhZGRpbmc6MTRweCAxNnB4O21pbi1oZWlnaHQ6NDhweDt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcn0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc25hY2stYmFyLWNvbnRhaW5lcntib3JkZXI6c29saWQgMXB4fS5tYXQtc25hY2stYmFyLWhhbmRzZXR7d2lkdGg6MTAwJX0ubWF0LXNuYWNrLWJhci1oYW5kc2V0IC5tYXQtc25hY2stYmFyLWNvbnRhaW5lcnttYXJnaW46OHB4O21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO3dpZHRoOjEwMCV9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOm1DfSx7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOmNIfSx7dHlwZTpiVn1dfSkse19wb3J0YWxPdXRsZXQ6W3t0eXBlOmFyLGFyZ3M6W3VCLHtzdGF0aWM6ITB9XX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyB4Vnt9eFYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHhWKX0seFYuybVtb2Q9Zm8oe3R5cGU6eFZ9KSx4Vi7JtWluaj1Ebih7aW1wb3J0czpbW29WLGhCLHJ4LElMLE5GXSxORl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHhWLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbb1YsaEIscngsSUwsTkZdLGV4cG9ydHM6W3ZWLE5GXSxkZWNsYXJhdGlvbnM6W3ZWLENWXSxlbnRyeUNvbXBvbmVudHM6W3ZWLENWXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHhWLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bdlYsQ1ZdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW29WLGhCLHJ4LElMLE5GXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVyblt2VixORl19fSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBPVj1uZXcgZXIoIm1hdC1zbmFjay1iYXItZGVmYXVsdC1vcHRpb25zIix7cHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTpmdW5jdGlvbiBQVigpe3JldHVybiBuZXcgYlZ9fSk7Y2xhc3Mgd1Z7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEpe3RoaXMuX292ZXJsYXk9dCx0aGlzLl9saXZlPWUsdGhpcy5faW5qZWN0b3I9bix0aGlzLl9icmVha3BvaW50T2JzZXJ2ZXI9byx0aGlzLl9wYXJlbnRTbmFja0Jhcj1pLHRoaXMuX2RlZmF1bHRDb25maWc9YSx0aGlzLl9zbmFja0JhclJlZkF0VGhpc0xldmVsPW51bGwsdGhpcy5zaW1wbGVTbmFja0JhckNvbXBvbmVudD1DVix0aGlzLnNuYWNrQmFyQ29udGFpbmVyQ29tcG9uZW50PXZWLHRoaXMuaGFuZHNldENzc0NsYXNzPSJtYXQtc25hY2stYmFyLWhhbmRzZXQifWdldCBfb3BlbmVkU25hY2tCYXJSZWYoKXtjb25zdCB0PXRoaXMuX3BhcmVudFNuYWNrQmFyO3JldHVybiB0P3QuX29wZW5lZFNuYWNrQmFyUmVmOnRoaXMuX3NuYWNrQmFyUmVmQXRUaGlzTGV2ZWx9c2V0IF9vcGVuZWRTbmFja0JhclJlZih0KXt0aGlzLl9wYXJlbnRTbmFja0Jhcj90aGlzLl9wYXJlbnRTbmFja0Jhci5fb3BlbmVkU25hY2tCYXJSZWY9dDp0aGlzLl9zbmFja0JhclJlZkF0VGhpc0xldmVsPXR9b3BlbkZyb21Db21wb25lbnQodCxlKXtyZXR1cm4gdGhpcy5fYXR0YWNoKHQsZSl9b3BlbkZyb21UZW1wbGF0ZSh0LGUpe3JldHVybiB0aGlzLl9hdHRhY2godCxlKX1vcGVuKHQsZT0iIixuKXtjb25zdCBvPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0aGlzLl9kZWZhdWx0Q29uZmlnKSxuKTtyZXR1cm4gby5kYXRhPXttZXNzYWdlOnQsYWN0aW9uOmV9LG8uYW5ub3VuY2VtZW50TWVzc2FnZT09PXQmJihvLmFubm91bmNlbWVudE1lc3NhZ2U9dm9pZCAwKSx0aGlzLm9wZW5Gcm9tQ29tcG9uZW50KHRoaXMuc2ltcGxlU25hY2tCYXJDb21wb25lbnQsbyl9ZGlzbWlzcygpe3RoaXMuX29wZW5lZFNuYWNrQmFyUmVmJiZ0aGlzLl9vcGVuZWRTbmFja0JhclJlZi5kaXNtaXNzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLl9zbmFja0JhclJlZkF0VGhpc0xldmVsJiZ0aGlzLl9zbmFja0JhclJlZkF0VGhpc0xldmVsLmRpc21pc3MoKX1fYXR0YWNoU25hY2tCYXJDb250YWluZXIodCxlKXtjb25zdCBuPU5wLmNyZWF0ZSh7cGFyZW50OmUmJmUudmlld0NvbnRhaW5lclJlZiYmZS52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yfHx0aGlzLl9pbmplY3Rvcixwcm92aWRlcnM6W3twcm92aWRlOmJWLHVzZVZhbHVlOmV9XX0pLG89bmV3IHNCKHRoaXMuc25hY2tCYXJDb250YWluZXJDb21wb25lbnQsZS52aWV3Q29udGFpbmVyUmVmLG4pLGk9dC5hdHRhY2gobyk7cmV0dXJuIGkuaW5zdGFuY2Uuc25hY2tCYXJDb25maWc9ZSxpLmluc3RhbmNlfV9hdHRhY2godCxlKXtjb25zdCBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG5ldyBiViksdGhpcy5fZGVmYXVsdENvbmZpZyksZSksbz10aGlzLl9jcmVhdGVPdmVybGF5KG4pLGk9dGhpcy5fYXR0YWNoU25hY2tCYXJDb250YWluZXIobyxuKSxhPW5ldyBfVihpLG8pO2lmKHQgaW5zdGFuY2VvZiBFYil7Y29uc3QgZT1uZXcgbEIodCxudWxsLHskaW1wbGljaXQ6bi5kYXRhLHNuYWNrQmFyUmVmOmF9KTthLmluc3RhbmNlPWkuYXR0YWNoVGVtcGxhdGVQb3J0YWwoZSl9ZWxzZXtjb25zdCBlPXRoaXMuX2NyZWF0ZUluamVjdG9yKG4sYSksbz1uZXcgc0IodCx2b2lkIDAsZSkscj1pLmF0dGFjaENvbXBvbmVudFBvcnRhbChvKTthLmluc3RhbmNlPXIuaW5zdGFuY2V9cmV0dXJuIHRoaXMuX2JyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKGZWKS5waXBlKGplKG8uZGV0YWNobWVudHMoKSkpLnN1YnNjcmliZSgodD0+e2NvbnN0IGU9by5vdmVybGF5RWxlbWVudC5jbGFzc0xpc3Q7dC5tYXRjaGVzP2UuYWRkKHRoaXMuaGFuZHNldENzc0NsYXNzKTplLnJlbW92ZSh0aGlzLmhhbmRzZXRDc3NDbGFzcyl9KSksbi5hbm5vdW5jZW1lbnRNZXNzYWdlJiZpLl9vbkFubm91bmNlLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9saXZlLmFubm91bmNlKG4uYW5ub3VuY2VtZW50TWVzc2FnZSxuLnBvbGl0ZW5lc3MpfSkpLHRoaXMuX2FuaW1hdGVTbmFja0JhcihhLG4pLHRoaXMuX29wZW5lZFNuYWNrQmFyUmVmPWEsdGhpcy5fb3BlbmVkU25hY2tCYXJSZWZ9X2FuaW1hdGVTbmFja0Jhcih0LGUpe3QuYWZ0ZXJEaXNtaXNzZWQoKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fb3BlbmVkU25hY2tCYXJSZWY9PXQmJih0aGlzLl9vcGVuZWRTbmFja0JhclJlZj1udWxsKSxlLmFubm91bmNlbWVudE1lc3NhZ2UmJnRoaXMuX2xpdmUuY2xlYXIoKX0pKSx0aGlzLl9vcGVuZWRTbmFja0JhclJlZj8odGhpcy5fb3BlbmVkU25hY2tCYXJSZWYuYWZ0ZXJEaXNtaXNzZWQoKS5zdWJzY3JpYmUoKCgpPT57dC5jb250YWluZXJJbnN0YW5jZS5lbnRlcigpfSkpLHRoaXMuX29wZW5lZFNuYWNrQmFyUmVmLmRpc21pc3MoKSk6dC5jb250YWluZXJJbnN0YW5jZS5lbnRlcigpLGUuZHVyYXRpb24mJmUuZHVyYXRpb24+MCYmdC5hZnRlck9wZW5lZCgpLnN1YnNjcmliZSgoKCk9PnQuX2Rpc21pc3NBZnRlcihlLmR1cmF0aW9uKSkpfV9jcmVhdGVPdmVybGF5KHQpe2NvbnN0IGU9bmV3IHdCO2UuZGlyZWN0aW9uPXQuZGlyZWN0aW9uO2xldCBuPXRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKTtjb25zdCBvPSJydGwiPT09dC5kaXJlY3Rpb24saT0ibGVmdCI9PT10Lmhvcml6b250YWxQb3NpdGlvbnx8InN0YXJ0Ij09PXQuaG9yaXpvbnRhbFBvc2l0aW9uJiYhb3x8ImVuZCI9PT10Lmhvcml6b250YWxQb3NpdGlvbiYmbyxhPSFpJiYiY2VudGVyIiE9PXQuaG9yaXpvbnRhbFBvc2l0aW9uO3JldHVybiBpP24ubGVmdCgiMCIpOmE/bi5yaWdodCgiMCIpOm4uY2VudGVySG9yaXpvbnRhbGx5KCksInRvcCI9PT10LnZlcnRpY2FsUG9zaXRpb24/bi50b3AoIjAiKTpuLmJvdHRvbSgiMCIpLGUucG9zaXRpb25TdHJhdGVneT1uLHRoaXMuX292ZXJsYXkuY3JlYXRlKGUpfV9jcmVhdGVJbmplY3Rvcih0LGUpe3JldHVybiBOcC5jcmVhdGUoe3BhcmVudDp0JiZ0LnZpZXdDb250YWluZXJSZWYmJnQudmlld0NvbnRhaW5lclJlZi5pbmplY3Rvcnx8dGhpcy5faW5qZWN0b3IscHJvdmlkZXJzOlt7cHJvdmlkZTpfVix1c2VWYWx1ZTplfSx7cHJvdmlkZTpoVix1c2VWYWx1ZTp0LmRhdGF9XX0pfX13Vi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8d1YpKFRyKEtCKSxUcihjRiksVHIoTnApLFRyKGRWKSxUcih3ViwxMiksVHIoT1YpKX0sd1YuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IHdWKFRyKEtCKSxUcihjRiksVHIoeXApLFRyKGRWKSxUcih3ViwxMiksVHIoT1YpKX0sdG9rZW46d1YscHJvdmlkZWRJbjp4Vn0pLHdWLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S0J9LHt0eXBlOmNGfSx7dHlwZTpOcH0se3R5cGU6ZFZ9LHt0eXBlOndWLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpqcn1dfSx7dHlwZTpiVixkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltPVl19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIod1YsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOnhWfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S0J9LHt0eXBlOmNGfSx7dHlwZTpOcH0se3R5cGU6ZFZ9LHt0eXBlOndWLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpqcn1dfSx7dHlwZTpiVixkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltPVl19XX1dfSksbnVsbCk7Y29uc3Qga1Y9L1tcXF4kLiorPygpW1xde318XS9nO2NvbnN0IFNWPSJcXHUwMDAwLVxcdTAwMjBcXHUwMDdmLVxcdTAwOWYiLERWPW5ldyBSZWdFeHAoIig/OlthLXpBLVpdW2EtekEtWjAtOSsuLV17Mix9OlxcL1xcL3xkYXRhOnx3d3dcXC4pW15cXHMiK1NWKyciXXsyLH1bXlxccycrU1YrIlwiJyl9XFxdLDo7LiE/XSIsImd1Iik7ZnVuY3Rpb24gUlYodCl7cmV0dXJuKGZ1bmN0aW9uIGUodCxuKXtuLmZsYWdzLmluY2x1ZGVzKCJnIil8fChuPW5ldyBSZWdFeHAobixuLmZsYWdzKyJnIikpO2NvbnN0IG89W107bGV0IGk9MDtmb3IoY29uc3QgZSBvZiB0Lm1hdGNoQWxsKG4pKXtjb25zdCBuPWUuaW5kZXgsYT1lWzBdO24+aSYmby5wdXNoKHtpbmRleDppLHRleHQ6dC5zdWJzdHJpbmcoaSxuKSxtYXRjaGVzUmVnZXg6ITF9KSxvLnB1c2goe2luZGV4Om4sdGV4dDphLG1hdGNoZXNSZWdleDohMH0pLGk9bithLmxlbmd0aH1yZXR1cm4gdC5sZW5ndGg+aSYmby5wdXNoKHtpbmRleDppLHRleHQ6dC5zdWJzdHJpbmcoaSx0Lmxlbmd0aCksbWF0Y2hlc1JlZ2V4OiExfSksb30pKHQsRFYpLm1hcCgoKHttYXRjaGVzUmVnZXg6dCx0ZXh0OmV9KT0+KHtpc1VSTDp0LHRleHQ6ZX0pKSl9ZnVuY3Rpb24gRVYodCxlKXtpZigxJnQmJih4ZigwKSxQdSgxKSxPZigpKSwyJnQpe2NvbnN0IHQ9emYoKS4kaW1wbGljaXQ7RGMoMSksa3UoIiAiLHQudGV4dCwiICIpfX1mdW5jdGlvbiBBVih0LGUpe2lmKDEmdCYmKENmKDAsImEiLDcpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpLiRpbXBsaWNpdDtMZigiaHJlZiIsdC50ZXh0LFhzKSxEYygxKSx3dSh0LnRleHQpfX1mdW5jdGlvbiBUVih0LGUpe2lmKDEmdCYmKHhmKDApLEhtKDEsRVYsMiwxLCJuZy1jb250YWluZXIiLDUpLEhtKDIsQVYsMiwyLCJuZy10ZW1wbGF0ZSIsbnVsbCw2LHF5KSxPZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj1GbSgzKTtEYygxKSxiZigibmdJZiIsIXQuaXNVUkwpKCJuZ0lmRWxzZSIsbil9fWZ1bmN0aW9uIE5WKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiYnV0dG9uIiw4KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkub25BY3Rpb25CdXR0b25DbGlja2VkKCl9KSksUHUoMSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxrdSgiICIsdC5hbGVydC5mb2xsb3d1cEFjdGlvbi5sb2NhbGl6ZWRMYWJlbCwiICIpfX1jbGFzcyB6Vntjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5zbmFja0JhclJlZj10LHRoaXMudW5rbm93bkRhdGE9ZSx0aGlzLnN0b3JlPW4sdGhpcy5zcGxpdEJ5VVJMPVJWLHRoaXMuYWxlcnQ9ZX1vbkFjdGlvbkJ1dHRvbkNsaWNrZWQoKXtyZXR1cm4gWFQodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0aGlzLnNuYWNrQmFyUmVmLmRpc21pc3MoKTtjb25zdCB0PXlpZWxkIHRoaXMuYWxlcnQuZm9sbG93dXBBY3Rpb24uZ2V0Rm9sbG93dXBBY3Rpb24odGhpcy5zdG9yZSk7dGhpcy5zdG9yZS5kaXNwYXRjaCh0KX0pKX1vbkNsb3NlQnV0dG9uQ2xpY2tlZCgpe3RoaXMuc25hY2tCYXJSZWYuZGlzbWlzcygpfX16Vi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8elYpKGdmKF9WKSxnZihoViksZ2YoaVMpKX0selYuybVjbXA9c28oe3R5cGU6elYsc2VsZWN0b3JzOltbImFsZXJ0LWRpc3BsYXktc25hY2tiYXIiXV0sZGVjbHM6Nix2YXJzOjIsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQ7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe3Q9Z29vZy5nZXRNc2coIkRpc21pc3MiKX1lbHNlIHQ9JGxvY2FsaXplYDpBIGJ1dHRvbiB0byBjbG9zZSB0aGUgc25hY2tiYXIgbWVzc2FnZeKQn2VhNGQ5ZmU2MTQyMGEzZmNlODFjZjU0YzRjNjE1ZTNjMTljNjQ2YTbikJ8xNTM2MDg3NTE5NzQzNzA3MzYyOkRpc21pc3NgO3JldHVybltbMSwibWVzc2FnZSJdLFs0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbMSwiY29udHJvbHMiXSxbIm1hdC1idXR0b24iLCIiLCJjbGFzcyIsImZvbGxvd3VwLWJ1dHRvbiIsMywiY2xpY2siLDQsIm5nSWYiXSxbIm1hdC1idXR0b24iLCIiLCJhcmlhLWxhYmVsIix0LDEsImRpc21pc3MtYnV0dG9uIiwzLCJjbGljayJdLFs0LCJuZ0lmIiwibmdJZkVsc2UiXSxbImxpbmtQaWVjZSIsIiJdLFsicmVsIiwibm9yZWZlcnJlciBub29wZW5lciIsInRhcmdldCIsIl9ibGFuayIsMywiaHJlZiJdLFsibWF0LWJ1dHRvbiIsIiIsMSwiZm9sbG93dXAtYnV0dG9uIiwzLCJjbGljayJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCksSG0oMSxUViw0LDIsIm5nLWNvbnRhaW5lciIsMSksTWYoKSxDZigyLCJkaXYiLDIpLEhtKDMsTlYsMiwxLCJidXR0b24iLDMpLENmKDQsImJ1dHRvbiIsNCksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uQ2xvc2VCdXR0b25DbGlja2VkKCl9KSksUHUoNSwiIERpc21pc3MgIiksTWYoKSxNZigpKSwyJmUmJihEYygxKSxiZigibmdGb3JPZiIsbi5zcGxpdEJ5VVJMKG4uYWxlcnQubG9jYWxpemVkTWVzc2FnZSkpLERjKDIpLGJmKCJuZ0lmIixuLmFsZXJ0LmZvbGxvd3VwQWN0aW9uKSl9LGRpcmVjdGl2ZXM6W3h2LFB2LE5MXSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcH0ubWVzc2FnZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7YWxpZ24tc2VsZjpjZW50ZXI7bWFyZ2luOjVweCAwO3dvcmQtYnJlYWs6YnJlYWstd29yZH0ubWVzc2FnZVtfbmdjb250ZW50LSVDT01QJV0gICBhW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjppbmhlcml0fS5jb250cm9sc1tfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OmF1dG99YnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Il0sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHpWLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFsZXJ0LWRpc3BsYXktc25hY2tiYXIiLHRlbXBsYXRlVXJsOiIuL2FsZXJ0X2Rpc3BsYXlfc25hY2tiYXJfY29udGFpbmVyLm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vYWxlcnRfZGlzcGxheV9zbmFja2Jhcl9jb250YWluZXIuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOl9WfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbaFZdfV19LHt0eXBlOmlTfV19KSxudWxsKTtjbGFzcyBJVntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuc3RvcmU9dCx0aGlzLnNuYWNrQmFyPWUsdGhpcy5uZ1Vuc3Vic2NyaWJlPW5ldyBCfW5nT25Jbml0KCl7dGhpcy5zdG9yZS5zZWxlY3QoV1QpLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSx1ZSgodD0+Qm9vbGVhbih0KSkpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLnNob3dBbGVydCh0KX0pKX1uZ09uRGVzdHJveSgpe3RoaXMubmdVbnN1YnNjcmliZS5uZXh0KCksdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCl9c2hvd0FsZXJ0KHQpe3RoaXMuc25hY2tCYXIub3BlbkZyb21Db21wb25lbnQoelYse2R1cmF0aW9uOjVlMyxob3Jpem9udGFsUG9zaXRpb246InN0YXJ0Iix2ZXJ0aWNhbFBvc2l0aW9uOiJib3R0b20iLGRhdGE6dH0pfX1JVi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SVYpKGdmKGlTKSxnZih3VikpfSxJVi7JtWNtcD1zbyh7dHlwZTpJVixzZWxlY3RvcnM6W1siYWxlcnQtc25hY2tiYXIiXV0sZGVjbHM6MCx2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe30sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihJVixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJhbGVydC1zbmFja2JhciIsdGVtcGxhdGU6IiIsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfSx7dHlwZTp3Vn1dfSksbnVsbCk7Y2xhc3MgSFZ7fUhWLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxIVil9LEhWLsm1bW9kPWZvKHt0eXBlOkhWfSksSFYuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxJTCx4Vl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihIVixbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbSVYselZdLGV4cG9ydHM6W0lWXSxpbXBvcnRzOltyeCxJTCx4Vl0sZW50cnlDb21wb25lbnRzOlt6Vl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhIVix7ZGVjbGFyYXRpb25zOltJVix6Vl0saW1wb3J0czpbcngsSUwseFZdLGV4cG9ydHM6W0lWXX0pO2NsYXNzIEZWe31GVi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RlYpfSxGVi7JtW1vZD1mbyh7dHlwZTpGVn0pLEZWLsm1aW5qPURuKHtpbXBvcnRzOltbbVQsSFYsVFMuZm9yRmVhdHVyZShVVCxaSSksaEQuZm9yRmVhdHVyZShbWUldKV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihGVixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W21ULEhWLFRTLmZvckZlYXR1cmUoVVQsWkkpLGhELmZvckZlYXR1cmUoW1lJXSldfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oRlYse2ltcG9ydHM6W21ULEhWLEFTLGdEXX0pO2NvbnN0IExWPVsiKiIsW1sibWF0LXRvb2xiYXItcm93Il1dXSxCVj1JRihjbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLl9lbGVtZW50UmVmPXR9fSk7Y2xhc3MgVlZ7fVZWLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxWVil9LFZWLsm1ZGlyPWhvKHt0eXBlOlZWLHNlbGVjdG9yczpbWyJtYXQtdG9vbGJhci1yb3ciXV0saG9zdEF0dHJzOlsxLCJtYXQtdG9vbGJhci1yb3ciXSxleHBvcnRBczpbIm1hdFRvb2xiYXJSb3ciXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVlYsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXRvb2xiYXItcm93IixleHBvcnRBczoibWF0VG9vbGJhclJvdyIsaG9zdDp7Y2xhc3M6Im1hdC10b29sYmFyLXJvdyJ9fV19XSxudWxsLG51bGwpO2NsYXNzIGpWIGV4dGVuZHMgQlZ7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQpLHRoaXMuX3BsYXRmb3JtPWUsdGhpcy5fZG9jdW1lbnQ9bn1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXImJih0aGlzLl9jaGVja1Rvb2xiYXJNaXhlZE1vZGVzKCksdGhpcy5fdG9vbGJhclJvd3MuY2hhbmdlcy5zdWJzY3JpYmUoKCgpPT50aGlzLl9jaGVja1Rvb2xiYXJNaXhlZE1vZGVzKCkpKSl9X2NoZWNrVG9vbGJhck1peGVkTW9kZXMoKXtpZih0aGlzLl90b29sYmFyUm93cy5sZW5ndGgmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl7QXJyYXkuZnJvbSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2RlcykuZmlsdGVyKCh0PT4hKHQuY2xhc3NMaXN0JiZ0LmNsYXNzTGlzdC5jb250YWlucygibWF0LXRvb2xiYXItcm93IikpKSkuZmlsdGVyKCh0PT50Lm5vZGVUeXBlIT09KHRoaXMuX2RvY3VtZW50P3RoaXMuX2RvY3VtZW50LkNPTU1FTlRfTk9ERTo4KSkpLnNvbWUoKHQ9PiEoIXQudGV4dENvbnRlbnR8fCF0LnRleHRDb250ZW50LnRyaW0oKSkpKSYmKGZ1bmN0aW9uIHQoKXt0aHJvdyBFcnJvcigiTWF0VG9vbGJhcjogQXR0ZW1wdGluZyB0byBjb21iaW5lIGRpZmZlcmVudCB0b29sYmFyIG1vZGVzLiBFaXRoZXIgc3BlY2lmeSBtdWx0aXBsZSBgPG1hdC10b29sYmFyLXJvdz5gIGVsZW1lbnRzIGV4cGxpY2l0bHkgb3IganVzdCBwbGFjZSBjb250ZW50IGluc2lkZSBvZiBhIGA8bWF0LXRvb2xiYXI+YCBmb3IgYSBzaW5nbGUgcm93LiIpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKCl9fX1qVi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8alYpKGdmKEtoKSxnZihjSCksZ2Yoc00pKX0salYuybVjbXA9c28oe3R5cGU6alYsc2VsZWN0b3JzOltbIm1hdC10b29sYmFyIl1dLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uIHQoZSxuLG8pe2lmKDEmZSYmankobyxWViw1KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLl90b29sYmFyUm93cz10KX19LGhvc3RBdHRyczpbMSwibWF0LXRvb2xiYXIiXSxob3N0VmFyczo0LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgibWF0LXRvb2xiYXItbXVsdGlwbGUtcm93cyIsbi5fdG9vbGJhclJvd3MubGVuZ3RoPjApKCJtYXQtdG9vbGJhci1zaW5nbGUtcm93IiwwPT09bi5fdG9vbGJhclJvd3MubGVuZ3RoKX0saW5wdXRzOntjb2xvcjoiY29sb3IifSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXSxmZWF0dXJlczpbUXBdLG5nQ29udGVudFNlbGVjdG9yczpbIioiLCJtYXQtdG9vbGJhci1yb3ciXSxkZWNsczoyLHZhcnM6MCx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoTFYpLEZmKDApLEZmKDEsMSkpfSxzdHlsZXM6WyIuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdG9vbGJhcntvdXRsaW5lOnNvbGlkIDFweH0ubWF0LXRvb2xiYXItcm93LC5tYXQtdG9vbGJhci1zaW5nbGUtcm93e2Rpc3BsYXk6ZmxleDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowIDE2cHg7d2lkdGg6MTAwJTtmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0ubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93c3tkaXNwbGF5OmZsZXg7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt3aWR0aDoxMDAlfVxuIl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksalYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6Y0h9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLGpWLnByb3BEZWNvcmF0b3JzPXtfdG9vbGJhclJvd3M6W3t0eXBlOm9yLGFyZ3M6W1ZWLHtkZXNjZW5kYW50czohMH1dfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoalYsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXRvb2xiYXIiLGV4cG9ydEFzOiJtYXRUb29sYmFyIix0ZW1wbGF0ZTonPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgc2VsZWN0PSJtYXQtdG9vbGJhci1yb3ciPjwvbmctY29udGVudD5cbicsaW5wdXRzOlsiY29sb3IiXSxob3N0OntjbGFzczoibWF0LXRvb2xiYXIiLCJbY2xhc3MubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93c10iOiJfdG9vbGJhclJvd3MubGVuZ3RoID4gMCIsIltjbGFzcy5tYXQtdG9vbGJhci1zaW5nbGUtcm93XSI6Il90b29sYmFyUm93cy5sZW5ndGggPT09IDAifSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLGVuY2Fwc3VsYXRpb246V24uTm9uZSxzdHlsZXM6WyIuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdG9vbGJhcntvdXRsaW5lOnNvbGlkIDFweH0ubWF0LXRvb2xiYXItcm93LC5tYXQtdG9vbGJhci1zaW5nbGUtcm93e2Rpc3BsYXk6ZmxleDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowIDE2cHg7d2lkdGg6MTAwJTtmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0ubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93c3tkaXNwbGF5OmZsZXg7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt3aWR0aDoxMDAlfVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6Y0h9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dfSkse190b29sYmFyUm93czpbe3R5cGU6b3IsYXJnczpbVlYse2Rlc2NlbmRhbnRzOiEwfV19XX0pO2NsYXNzIFVWe31mdW5jdGlvbiBXVih0LGUpezEmdCYmRmYoMCl9VVYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFVWKX0sVVYuybVtb2Q9Zm8oe3R5cGU6VVZ9KSxVVi7JtWluaj1Ebih7aW1wb3J0czpbW05GXSxORl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFVWLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbTkZdLGV4cG9ydHM6W2pWLFZWLE5GXSxkZWNsYXJhdGlvbnM6W2pWLFZWXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFVWLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5balYsVlZdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW05GXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltqVixWVixORl19fSk7Y29uc3QgR1Y9WyIqIl07ZnVuY3Rpb24gWVYodCxlKXt9Y29uc3QgcVY9ZnVuY3Rpb24odCl7cmV0dXJue2FuaW1hdGlvbkR1cmF0aW9uOnR9fSxaVj1mdW5jdGlvbih0LGUpe3JldHVybnt2YWx1ZTp0LHBhcmFtczplfX0sWFY9WyJ0YWJCb2R5V3JhcHBlciJdLEtWPVsidGFiSGVhZGVyIl07ZnVuY3Rpb24gSlYodCxlKXt9ZnVuY3Rpb24gUVYodCxlKXtpZigxJnQmJkhtKDAsSlYsMCwwLCJuZy10ZW1wbGF0ZSIsOSksMiZ0KXtiZigiY2RrUG9ydGFsT3V0bGV0Iix6ZigpLiRpbXBsaWNpdC50ZW1wbGF0ZUxhYmVsKX19ZnVuY3Rpb24gJFYodCxlKXtpZigxJnQmJlB1KDApLDImdCl7d3UoemYoKS4kaW1wbGljaXQudGV4dExhYmVsKX19ZnVuY3Rpb24gdGoodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDYpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtjb25zdCBuPVBpKHQpLG89bi4kaW1wbGljaXQsaT1uLmluZGV4LGE9emYoKSxyPUZtKDEpO3JldHVybiBhLl9oYW5kbGVDbGljayhvLHIsaSl9KSkoImNka0ZvY3VzQ2hhbmdlIiwoZnVuY3Rpb24gZShuKXtjb25zdCBvPVBpKHQpLmluZGV4O3JldHVybiB6ZigpLl90YWJGb2N1c0NoYW5nZWQobixvKX0pKSxDZigxLCJkaXYiLDcpLEhtKDIsUVYsMSwxLCJuZy10ZW1wbGF0ZSIsOCksSG0oMywkViwxLDEsIm5nLXRlbXBsYXRlIiw4KSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49ZS5pbmRleCxvPXpmKCk7Y3UoIm1hdC10YWItbGFiZWwtYWN0aXZlIixvLnNlbGVjdGVkSW5kZXg9PW4pLGJmKCJpZCIsby5fZ2V0VGFiTGFiZWxJZChuKSkoImRpc2FibGVkIix0LmRpc2FibGVkKSgibWF0UmlwcGxlRGlzYWJsZWQiLHQuZGlzYWJsZWR8fG8uZGlzYWJsZVJpcHBsZSkseW0oInRhYkluZGV4IixvLl9nZXRUYWJJbmRleCh0LG4pKSgiYXJpYS1wb3NpbnNldCIsbisxKSgiYXJpYS1zZXRzaXplIixvLl90YWJzLmxlbmd0aCkoImFyaWEtY29udHJvbHMiLG8uX2dldFRhYkNvbnRlbnRJZChuKSkoImFyaWEtc2VsZWN0ZWQiLG8uc2VsZWN0ZWRJbmRleD09bikoImFyaWEtbGFiZWwiLHQuYXJpYUxhYmVsfHxudWxsKSgiYXJpYS1sYWJlbGxlZGJ5IiwhdC5hcmlhTGFiZWwmJnQuYXJpYUxhYmVsbGVkYnk/dC5hcmlhTGFiZWxsZWRieTpudWxsKSxEYygyKSxiZigibmdJZiIsdC50ZW1wbGF0ZUxhYmVsKSxEYygxKSxiZigibmdJZiIsIXQudGVtcGxhdGVMYWJlbCl9fWZ1bmN0aW9uIGVqKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibWF0LXRhYi1ib2R5IiwxMCksUmYoIl9vbkNlbnRlcmVkIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLl9yZW1vdmVUYWJCb2R5V3JhcHBlckhlaWdodCgpfSkpKCJfb25DZW50ZXJpbmciLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLl9zZXRUYWJCb2R5V3JhcHBlckhlaWdodChuKX0pKSxNZigpfWlmKDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPWUuaW5kZXgsbz16ZigpO2N1KCJtYXQtdGFiLWJvZHktYWN0aXZlIixvLnNlbGVjdGVkSW5kZXg9PT1uKSxiZigiaWQiLG8uX2dldFRhYkNvbnRlbnRJZChuKSkoImNvbnRlbnQiLHQuY29udGVudCkoInBvc2l0aW9uIix0LnBvc2l0aW9uKSgib3JpZ2luIix0Lm9yaWdpbikoImFuaW1hdGlvbkR1cmF0aW9uIixvLmFuaW1hdGlvbkR1cmF0aW9uKSx5bSgidGFiaW5kZXgiLG51bGwhPW8uY29udGVudFRhYkluZGV4JiZvLnNlbGVjdGVkSW5kZXg9PT1uP28uY29udGVudFRhYkluZGV4Om51bGwpKCJhcmlhLWxhYmVsbGVkYnkiLG8uX2dldFRhYkxhYmVsSWQobikpfX1jb25zdCBuaj1bInRhYkxpc3RDb250YWluZXIiXSxvaj1bInRhYkxpc3QiXSxpaj1bIm5leHRQYWdpbmF0b3IiXSxhaj1bInByZXZpb3VzUGFnaW5hdG9yIl0scmo9bmV3IGVyKCJNYXRJbmtCYXJQb3NpdGlvbmVyIix7cHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTpmdW5jdGlvbiBzaigpe3JldHVybiB0PT4oe2xlZnQ6dD8odC5vZmZzZXRMZWZ0fHwwKSsicHgiOiIwIix3aWR0aDp0Pyh0Lm9mZnNldFdpZHRofHwwKSsicHgiOiIwIn0pfX0pO2NsYXNzIGxqe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9uZ1pvbmU9ZSx0aGlzLl9pbmtCYXJQb3NpdGlvbmVyPW4sdGhpcy5fYW5pbWF0aW9uTW9kZT1vfWFsaWduVG9FbGVtZW50KHQpe3RoaXMuc2hvdygpLCJ1bmRlZmluZWQiIT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lP3RoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PntyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLl9zZXRTdHlsZXModCkpKX0pKTp0aGlzLl9zZXRTdHlsZXModCl9c2hvdygpe3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIn1oaWRlKCl7dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiJ9X3NldFN0eWxlcyh0KXtjb25zdCBlPXRoaXMuX2lua0JhclBvc2l0aW9uZXIodCksbj10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7bi5zdHlsZS5sZWZ0PWUubGVmdCxuLnN0eWxlLndpZHRoPWUud2lkdGh9fWxqLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxsaikoZ2YoS2gpLGdmKG1DKSxnZihyaiksZ2YoY2ssOCkpfSxsai7JtWRpcj1obyh7dHlwZTpsaixzZWxlY3RvcnM6W1sibWF0LWluay1iYXIiXV0saG9zdEF0dHJzOlsxLCJtYXQtaW5rLWJhciJdLGhvc3RWYXJzOjIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJmN1KCJfbWF0LWFuaW1hdGlvbi1ub29wYWJsZSIsIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGUpfX0pLGxqLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbcmpdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGxqLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1pbmstYmFyIixob3N0OntjbGFzczoibWF0LWluay1iYXIiLCJbY2xhc3MuX21hdC1hbmltYXRpb24tbm9vcGFibGVdIjoiX2FuaW1hdGlvbk1vZGUgPT09ICdOb29wQW5pbWF0aW9ucycifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTptQ30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3JqXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IGNqPW5ldyBlcigiTWF0VGFiQ29udGVudCIpO2NsYXNzIGRqe2NvbnN0cnVjdG9yKHQpe3RoaXMudGVtcGxhdGU9dH19ZGouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGRqKShnZihFYikpfSxkai7JtWRpcj1obyh7dHlwZTpkaixzZWxlY3RvcnM6W1siIiwibWF0VGFiQ29udGVudCIsIiJdXSxmZWF0dXJlczpbamgoW3twcm92aWRlOmNqLHVzZUV4aXN0aW5nOmRqfV0pXX0pLGRqLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RWJ9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRqLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXRUYWJDb250ZW50XSIscHJvdmlkZXJzOlt7cHJvdmlkZTpjaix1c2VFeGlzdGluZzpkan1dfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RWJ9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgcGo9bmV3IGVyKCJNYXRUYWJMYWJlbCIpO2NsYXNzIG1qIGV4dGVuZHMgbUJ7fW1qLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShtaikpKShufHxtail9fSkoKSxtai7JtWRpcj1obyh7dHlwZTptaixzZWxlY3RvcnM6W1siIiwibWF0LXRhYi1sYWJlbCIsIiJdLFsiIiwibWF0VGFiTGFiZWwiLCIiXV0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpwaix1c2VFeGlzdGluZzptan1dKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1qLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXQtdGFiLWxhYmVsXSwgW21hdFRhYkxhYmVsXSIscHJvdmlkZXJzOlt7cHJvdmlkZTpwaix1c2VFeGlzdGluZzptan1dfV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgZmo9ekYoY2xhc3N7fSksdWo9bmV3IGVyKCJNQVRfVEFCX0dST1VQIik7Y2xhc3MgZ2ogZXh0ZW5kcyBmantjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy5fdmlld0NvbnRhaW5lclJlZj10LHRoaXMuX2Nsb3Nlc3RUYWJHcm91cD1lLHRoaXMudGV4dExhYmVsPSIiLHRoaXMuX2NvbnRlbnRQb3J0YWw9bnVsbCx0aGlzLl9zdGF0ZUNoYW5nZXM9bmV3IEIsdGhpcy5wb3NpdGlvbj1udWxsLHRoaXMub3JpZ2luPW51bGwsdGhpcy5pc0FjdGl2ZT0hMX1nZXQgdGVtcGxhdGVMYWJlbCgpe3JldHVybiB0aGlzLl90ZW1wbGF0ZUxhYmVsfXNldCB0ZW1wbGF0ZUxhYmVsKHQpe3RoaXMuX3NldFRlbXBsYXRlTGFiZWxJbnB1dCh0KX1nZXQgY29udGVudCgpe3JldHVybiB0aGlzLl9jb250ZW50UG9ydGFsfW5nT25DaGFuZ2VzKHQpeyh0Lmhhc093blByb3BlcnR5KCJ0ZXh0TGFiZWwiKXx8dC5oYXNPd25Qcm9wZXJ0eSgiZGlzYWJsZWQiKSkmJnRoaXMuX3N0YXRlQ2hhbmdlcy5uZXh0KCl9bmdPbkRlc3Ryb3koKXt0aGlzLl9zdGF0ZUNoYW5nZXMuY29tcGxldGUoKX1uZ09uSW5pdCgpe3RoaXMuX2NvbnRlbnRQb3J0YWw9bmV3IGxCKHRoaXMuX2V4cGxpY2l0Q29udGVudHx8dGhpcy5faW1wbGljaXRDb250ZW50LHRoaXMuX3ZpZXdDb250YWluZXJSZWYpfV9zZXRUZW1wbGF0ZUxhYmVsSW5wdXQodCl7dCYmKHRoaXMuX3RlbXBsYXRlTGFiZWw9dCl9fWdqLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxnaikoZ2YoRmIpLGdmKHVqLDgpKX0sZ2ouybVjbXA9c28oe3R5cGU6Z2osc2VsZWN0b3JzOltbIm1hdC10YWIiXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24gdChlLG4sbyl7aWYoMSZlJiYoankobyxwaiw1KSxqeShvLGNqLDcsRWIpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLnRlbXBsYXRlTGFiZWw9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uX2V4cGxpY2l0Q29udGVudD10LmZpcnN0KX19LHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeShFYiw3KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLl9pbXBsaWNpdENvbnRlbnQ9dC5maXJzdCl9fSxpbnB1dHM6e2Rpc2FibGVkOiJkaXNhYmxlZCIsdGV4dExhYmVsOlsibGFiZWwiLCJ0ZXh0TGFiZWwiXSxhcmlhTGFiZWw6WyJhcmlhLWxhYmVsIiwiYXJpYUxhYmVsIl0sYXJpYUxhYmVsbGVkYnk6WyJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhTGFiZWxsZWRieSJdfSxleHBvcnRBczpbIm1hdFRhYiJdLGZlYXR1cmVzOltRcCxxb10sbmdDb250ZW50U2VsZWN0b3JzOkdWLGRlY2xzOjEsdmFyczowLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZigpLEhtKDAsV1YsMSwwLCJuZy10ZW1wbGF0ZSIpKX0sZW5jYXBzdWxhdGlvbjoyfSksZ2ouY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpGYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3VqXX0se3R5cGU6QnJ9XX1dLGdqLnByb3BEZWNvcmF0b3JzPXt0ZW1wbGF0ZUxhYmVsOlt7dHlwZTppcixhcmdzOltwal19XSxfZXhwbGljaXRDb250ZW50Olt7dHlwZTppcixhcmdzOltjaix7cmVhZDpFYixzdGF0aWM6ITB9XX1dLF9pbXBsaWNpdENvbnRlbnQ6W3t0eXBlOmFyLGFyZ3M6W0ViLHtzdGF0aWM6ITB9XX1dLHRleHRMYWJlbDpbe3R5cGU6Ul8sYXJnczpbImxhYmVsIl19XSxhcmlhTGFiZWw6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsIl19XSxhcmlhTGFiZWxsZWRieTpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWxsZWRieSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZ2osW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXRhYiIsdGVtcGxhdGU6Ilx4M2MhLS0gQ3JlYXRlIGEgdGVtcGxhdGUgZm9yIHRoZSBjb250ZW50IG9mIHRoZSA8bWF0LXRhYj4gc28gdGhhdCB3ZSBjYW4gZ3JhYiBhIHJlZmVyZW5jZSB0byB0aGlzXG4gICAgVGVtcGxhdGVSZWYgYW5kIHVzZSBpdCBpbiBhIFBvcnRhbCB0byByZW5kZXIgdGhlIHRhYiBjb250ZW50IGluIHRoZSBhcHByb3ByaWF0ZSBwbGFjZSBpbiB0aGVcbiAgICB0YWItZ3JvdXAuIC0tXHgzZVxuPG5nLXRlbXBsYXRlPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPlxuIixpbnB1dHM6WyJkaXNhYmxlZCJdLGNoYW5nZURldGVjdGlvbjpqbi5EZWZhdWx0LGVuY2Fwc3VsYXRpb246V24uTm9uZSxleHBvcnRBczoibWF0VGFiIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkZifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbdWpdfSx7dHlwZTpCcn1dfV19KSx7dGV4dExhYmVsOlt7dHlwZTpSXyxhcmdzOlsibGFiZWwiXX1dLHRlbXBsYXRlTGFiZWw6W3t0eXBlOmlyLGFyZ3M6W3BqXX1dLF9leHBsaWNpdENvbnRlbnQ6W3t0eXBlOmlyLGFyZ3M6W2NqLHtyZWFkOkViLHN0YXRpYzohMH1dfV0sX2ltcGxpY2l0Q29udGVudDpbe3R5cGU6YXIsYXJnczpbRWIse3N0YXRpYzohMH1dfV0sYXJpYUxhYmVsOlt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbCJdfV0sYXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBoaj17dHJhbnNsYXRlVGFiOnhPKCJ0cmFuc2xhdGVUYWIiLFtrTygiY2VudGVyLCB2b2lkLCBsZWZ0LW9yaWdpbi1jZW50ZXIsIHJpZ2h0LW9yaWdpbi1jZW50ZXIiLHdPKHt0cmFuc2Zvcm06Im5vbmUifSkpLGtPKCJsZWZ0Iix3Tyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkiLG1pbkhlaWdodDoiMXB4In0pKSxrTygicmlnaHQiLHdPKHt0cmFuc2Zvcm06InRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIixtaW5IZWlnaHQ6IjFweCJ9KSksRE8oIiogPT4gbGVmdCwgKiA9PiByaWdodCwgbGVmdCA9PiBjZW50ZXIsIHJpZ2h0ID0+IGNlbnRlciIsT08oInt7YW5pbWF0aW9uRHVyYXRpb259fSBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSkiKSksRE8oInZvaWQgPT4gbGVmdC1vcmlnaW4tY2VudGVyIixbd08oe3RyYW5zZm9ybToidHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIn0pLE9PKCJ7e2FuaW1hdGlvbkR1cmF0aW9ufX0gY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpIildKSxETygidm9pZCA9PiByaWdodC1vcmlnaW4tY2VudGVyIixbd08oe3RyYW5zZm9ybToidHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkifSksT08oInt7YW5pbWF0aW9uRHVyYXRpb259fSBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSkiKV0pXSl9OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBiaiBleHRlbmRzIHVCe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKHQsZSxvKSx0aGlzLl9ob3N0PW4sdGhpcy5fY2VudGVyaW5nU3ViPXUuRU1QVFksdGhpcy5fbGVhdmluZ1N1Yj11LkVNUFRZfW5nT25Jbml0KCl7c3VwZXIubmdPbkluaXQoKSx0aGlzLl9jZW50ZXJpbmdTdWI9dGhpcy5faG9zdC5fYmVmb3JlQ2VudGVyaW5nLnBpcGUoQmUodGhpcy5faG9zdC5faXNDZW50ZXJQb3NpdGlvbih0aGlzLl9ob3N0Ll9wb3NpdGlvbikpKS5zdWJzY3JpYmUoKHQ9Pnt0JiYhdGhpcy5oYXNBdHRhY2hlZCgpJiZ0aGlzLmF0dGFjaCh0aGlzLl9ob3N0Ll9jb250ZW50KX0pKSx0aGlzLl9sZWF2aW5nU3ViPXRoaXMuX2hvc3QuX2FmdGVyTGVhdmluZ0NlbnRlci5zdWJzY3JpYmUoKCgpPT57dGhpcy5kZXRhY2goKX0pKX1uZ09uRGVzdHJveSgpe3N1cGVyLm5nT25EZXN0cm95KCksdGhpcy5fY2VudGVyaW5nU3ViLnVuc3Vic2NyaWJlKCksdGhpcy5fbGVhdmluZ1N1Yi51bnN1YnNjcmliZSgpfX1iai7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8YmopKGdmKEdoKSxnZihGYiksZ2YoJGUoKCgpPT5faikpKSxnZihzTSkpfSxiai7JtWRpcj1obyh7dHlwZTpiaixzZWxlY3RvcnM6W1siIiwibWF0VGFiQm9keUhvc3QiLCIiXV0sZmVhdHVyZXM6W1FwXX0pLGJqLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6R2h9LHt0eXBlOkZifSx7dHlwZTpfaixkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOlskZSgoKCk9Pl9qKSldfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoYmosW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdFRhYkJvZHlIb3N0XSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpHaH0se3R5cGU6RmJ9LHt0eXBlOl9qLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6WyRlKCgoKT0+X2opKV19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjbGFzcyB5antjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fZWxlbWVudFJlZj10LHRoaXMuX2Rpcj1lLHRoaXMuX2RpckNoYW5nZVN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX3RyYW5zbGF0ZVRhYkNvbXBsZXRlPW5ldyBCLHRoaXMuX29uQ2VudGVyaW5nPW5ldyBTeSx0aGlzLl9iZWZvcmVDZW50ZXJpbmc9bmV3IFN5LHRoaXMuX2FmdGVyTGVhdmluZ0NlbnRlcj1uZXcgU3ksdGhpcy5fb25DZW50ZXJlZD1uZXcgU3koITApLHRoaXMuYW5pbWF0aW9uRHVyYXRpb249IjUwMG1zIixlJiYodGhpcy5fZGlyQ2hhbmdlU3Vic2NyaXB0aW9uPWUuY2hhbmdlLnN1YnNjcmliZSgodD0+e3RoaXMuX2NvbXB1dGVQb3NpdGlvbkFuaW1hdGlvblN0YXRlKHQpLG4ubWFya0ZvckNoZWNrKCl9KSkpLHRoaXMuX3RyYW5zbGF0ZVRhYkNvbXBsZXRlLnBpcGUod2UoKCh0LGUpPT50LmZyb21TdGF0ZT09PWUuZnJvbVN0YXRlJiZ0LnRvU3RhdGU9PT1lLnRvU3RhdGUpKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5faXNDZW50ZXJQb3NpdGlvbih0LnRvU3RhdGUpJiZ0aGlzLl9pc0NlbnRlclBvc2l0aW9uKHRoaXMuX3Bvc2l0aW9uKSYmdGhpcy5fb25DZW50ZXJlZC5lbWl0KCksdGhpcy5faXNDZW50ZXJQb3NpdGlvbih0LmZyb21TdGF0ZSkmJiF0aGlzLl9pc0NlbnRlclBvc2l0aW9uKHRoaXMuX3Bvc2l0aW9uKSYmdGhpcy5fYWZ0ZXJMZWF2aW5nQ2VudGVyLmVtaXQoKX0pKX1zZXQgcG9zaXRpb24odCl7dGhpcy5fcG9zaXRpb25JbmRleD10LHRoaXMuX2NvbXB1dGVQb3NpdGlvbkFuaW1hdGlvblN0YXRlKCl9bmdPbkluaXQoKXsiY2VudGVyIj09dGhpcy5fcG9zaXRpb24mJm51bGwhPXRoaXMub3JpZ2luJiYodGhpcy5fcG9zaXRpb249dGhpcy5fY29tcHV0ZVBvc2l0aW9uRnJvbU9yaWdpbih0aGlzLm9yaWdpbikpfW5nT25EZXN0cm95KCl7dGhpcy5fZGlyQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fdHJhbnNsYXRlVGFiQ29tcGxldGUuY29tcGxldGUoKX1fb25UcmFuc2xhdGVUYWJTdGFydGVkKHQpe2NvbnN0IGU9dGhpcy5faXNDZW50ZXJQb3NpdGlvbih0LnRvU3RhdGUpO3RoaXMuX2JlZm9yZUNlbnRlcmluZy5lbWl0KGUpLGUmJnRoaXMuX29uQ2VudGVyaW5nLmVtaXQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCl9X2dldExheW91dERpcmVjdGlvbigpe3JldHVybiB0aGlzLl9kaXImJiJydGwiPT09dGhpcy5fZGlyLnZhbHVlPyJydGwiOiJsdHIifV9pc0NlbnRlclBvc2l0aW9uKHQpe3JldHVybiJjZW50ZXIiPT10fHwibGVmdC1vcmlnaW4tY2VudGVyIj09dHx8InJpZ2h0LW9yaWdpbi1jZW50ZXIiPT10fV9jb21wdXRlUG9zaXRpb25BbmltYXRpb25TdGF0ZSh0PXRoaXMuX2dldExheW91dERpcmVjdGlvbigpKXt0aGlzLl9wb3NpdGlvbj10aGlzLl9wb3NpdGlvbkluZGV4PDA/Imx0ciI9PXQ/ImxlZnQiOiJyaWdodCI6dGhpcy5fcG9zaXRpb25JbmRleD4wPyJsdHIiPT10PyJyaWdodCI6ImxlZnQiOiJjZW50ZXIifV9jb21wdXRlUG9zaXRpb25Gcm9tT3JpZ2luKHQpe2NvbnN0IGU9dGhpcy5fZ2V0TGF5b3V0RGlyZWN0aW9uKCk7cmV0dXJuImx0ciI9PWUmJnQ8PTB8fCJydGwiPT1lJiZ0PjA/ImxlZnQtb3JpZ2luLWNlbnRlciI6InJpZ2h0LW9yaWdpbi1jZW50ZXIifX15ai7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eWopKGdmKEtoKSxnZih2Riw4KSxnZihPYikpfSx5ai7JtWRpcj1obyh7dHlwZTp5aixpbnB1dHM6e2FuaW1hdGlvbkR1cmF0aW9uOiJhbmltYXRpb25EdXJhdGlvbiIscG9zaXRpb246InBvc2l0aW9uIixfY29udGVudDpbImNvbnRlbnQiLCJfY29udGVudCJdLG9yaWdpbjoib3JpZ2luIn0sb3V0cHV0czp7X29uQ2VudGVyaW5nOiJfb25DZW50ZXJpbmciLF9iZWZvcmVDZW50ZXJpbmc6Il9iZWZvcmVDZW50ZXJpbmciLF9hZnRlckxlYXZpbmdDZW50ZXI6Il9hZnRlckxlYXZpbmdDZW50ZXIiLF9vbkNlbnRlcmVkOiJfb25DZW50ZXJlZCJ9fSkseWouY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6T2J9XSx5ai5wcm9wRGVjb3JhdG9ycz17X29uQ2VudGVyaW5nOlt7dHlwZTpFX31dLF9iZWZvcmVDZW50ZXJpbmc6W3t0eXBlOkVffV0sX2FmdGVyTGVhdmluZ0NlbnRlcjpbe3R5cGU6RV99XSxfb25DZW50ZXJlZDpbe3R5cGU6RV99XSxfY29udGVudDpbe3R5cGU6Ul8sYXJnczpbImNvbnRlbnQiXX1dLG9yaWdpbjpbe3R5cGU6Ul99XSxhbmltYXRpb25EdXJhdGlvbjpbe3R5cGU6Ul99XSxwb3NpdGlvbjpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih5aixbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOk9ifV19KSx7X29uQ2VudGVyaW5nOlt7dHlwZTpFX31dLF9iZWZvcmVDZW50ZXJpbmc6W3t0eXBlOkVffV0sX2FmdGVyTGVhdmluZ0NlbnRlcjpbe3R5cGU6RV99XSxfb25DZW50ZXJlZDpbe3R5cGU6RV99XSxhbmltYXRpb25EdXJhdGlvbjpbe3R5cGU6Ul99XSxwb3NpdGlvbjpbe3R5cGU6Ul99XSxfY29udGVudDpbe3R5cGU6Ul8sYXJnczpbImNvbnRlbnQiXX1dLG9yaWdpbjpbe3R5cGU6Ul99XX0pO2NsYXNzIF9qIGV4dGVuZHMgeWp7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSxuKX19X2ouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fF9qKShnZihLaCksZ2YodkYsOCksZ2YoT2IpKX0sX2ouybVjbXA9c28oe3R5cGU6X2osc2VsZWN0b3JzOltbIm1hdC10YWItYm9keSJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkodUIsNSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5fcG9ydGFsSG9zdD10LmZpcnN0KX19LGhvc3RBdHRyczpbMSwibWF0LXRhYi1ib2R5Il0sZmVhdHVyZXM6W1FwXSxkZWNsczozLHZhcnM6Nixjb25zdHM6W1siY2RrU2Nyb2xsYWJsZSIsIiIsMSwibWF0LXRhYi1ib2R5LWNvbnRlbnQiXSxbImNvbnRlbnQiLCIiXSxbIm1hdFRhYkJvZHlIb3N0IiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDAsMSksUmYoIkB0cmFuc2xhdGVUYWIuc3RhcnQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9vblRyYW5zbGF0ZVRhYlN0YXJ0ZWQoZSl9KSkoIkB0cmFuc2xhdGVUYWIuZG9uZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX3RyYW5zbGF0ZVRhYkNvbXBsZXRlLm5leHQoZSl9KSksSG0oMixZViwwLDAsIm5nLXRlbXBsYXRlIiwyKSxNZigpKSwyJmUmJmJmKCJAdHJhbnNsYXRlVGFiIixheSgzLFpWLG4uX3Bvc2l0aW9uLGl5KDEscVYsbi5hbmltYXRpb25EdXJhdGlvbikpKX0sZGlyZWN0aXZlczpbYmpdLHN0eWxlczpbIi5tYXQtdGFiLWJvZHktY29udGVudHtoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvfS5tYXQtdGFiLWdyb3VwLWR5bmFtaWMtaGVpZ2h0IC5tYXQtdGFiLWJvZHktY29udGVudHtvdmVyZmxvdzpoaWRkZW59XG4iXSxlbmNhcHN1bGF0aW9uOjIsZGF0YTp7YW5pbWF0aW9uOltoai50cmFuc2xhdGVUYWJdfX0pLF9qLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOk9ifV0sX2oucHJvcERlY29yYXRvcnM9e19wb3J0YWxIb3N0Olt7dHlwZTphcixhcmdzOlt1Ql19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihfaixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtdGFiLWJvZHkiLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJtYXQtdGFiLWJvZHktY29udGVudCIgI2NvbnRlbnRcbiAgICAgW0B0cmFuc2xhdGVUYWJdPSJ7XG4gICAgICAgIHZhbHVlOiBfcG9zaXRpb24sXG4gICAgICAgIHBhcmFtczoge2FuaW1hdGlvbkR1cmF0aW9uOiBhbmltYXRpb25EdXJhdGlvbn1cbiAgICAgfSJcbiAgICAgKEB0cmFuc2xhdGVUYWIuc3RhcnQpPSJfb25UcmFuc2xhdGVUYWJTdGFydGVkKCRldmVudCkiXG4gICAgIChAdHJhbnNsYXRlVGFiLmRvbmUpPSJfdHJhbnNsYXRlVGFiQ29tcGxldGUubmV4dCgkZXZlbnQpIlxuICAgICBjZGtTY3JvbGxhYmxlPlxuICA8bmctdGVtcGxhdGUgbWF0VGFiQm9keUhvc3Q+PC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuJyxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLkRlZmF1bHQsYW5pbWF0aW9uczpbaGoudHJhbnNsYXRlVGFiXSxob3N0OntjbGFzczoibWF0LXRhYi1ib2R5In0sc3R5bGVzOlsiLm1hdC10YWItYm9keS1jb250ZW50e2hlaWdodDoxMDAlO292ZXJmbG93OmF1dG99Lm1hdC10YWItZ3JvdXAtZHluYW1pYy1oZWlnaHQgLm1hdC10YWItYm9keS1jb250ZW50e292ZXJmbG93OmhpZGRlbn1cbiJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOk9ifV19KSx7X3BvcnRhbEhvc3Q6W3t0eXBlOmFyLGFyZ3M6W3VCXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBDaj1uZXcgZXIoIk1BVF9UQUJTX0NPTkZJRyIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9sZXQgTWo9MDtjbGFzcyB2ant9Y29uc3QgeGo9SUYoSEYoY2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5fZWxlbWVudFJlZj10fX0pLCJwcmltYXJ5Iik7Y2xhc3MgT2ogZXh0ZW5kcyB4antjb25zdHJ1Y3Rvcih0LGUsbixvKXt2YXIgaTtzdXBlcih0KSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj1lLHRoaXMuX2FuaW1hdGlvbk1vZGU9byx0aGlzLl90YWJzPW5ldyBSeSx0aGlzLl9pbmRleFRvU2VsZWN0PTAsdGhpcy5fdGFiQm9keVdyYXBwZXJIZWlnaHQ9MCx0aGlzLl90YWJzU3Vic2NyaXB0aW9uPXUuRU1QVFksdGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb249dS5FTVBUWSx0aGlzLl9zZWxlY3RlZEluZGV4PW51bGwsdGhpcy5oZWFkZXJQb3NpdGlvbj0iYWJvdmUiLHRoaXMuc2VsZWN0ZWRJbmRleENoYW5nZT1uZXcgU3ksdGhpcy5mb2N1c0NoYW5nZT1uZXcgU3ksdGhpcy5hbmltYXRpb25Eb25lPW5ldyBTeSx0aGlzLnNlbGVjdGVkVGFiQ2hhbmdlPW5ldyBTeSghMCksdGhpcy5fZ3JvdXBJZD1NaisrLHRoaXMuYW5pbWF0aW9uRHVyYXRpb249biYmbi5hbmltYXRpb25EdXJhdGlvbj9uLmFuaW1hdGlvbkR1cmF0aW9uOiI1MDBtcyIsdGhpcy5kaXNhYmxlUGFnaW5hdGlvbj0hKCFufHxudWxsPT1uLmRpc2FibGVQYWdpbmF0aW9uKSYmbi5kaXNhYmxlUGFnaW5hdGlvbix0aGlzLmR5bmFtaWNIZWlnaHQ9ISghbnx8bnVsbD09bi5keW5hbWljSGVpZ2h0KSYmbi5keW5hbWljSGVpZ2h0LHRoaXMuY29udGVudFRhYkluZGV4PW51bGwhPT0oaT1udWxsPT1uP3ZvaWQgMDpuLmNvbnRlbnRUYWJJbmRleCkmJnZvaWQgMCE9PWk/aTpudWxsfWdldCBkeW5hbWljSGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2R5bmFtaWNIZWlnaHR9c2V0IGR5bmFtaWNIZWlnaHQodCl7dGhpcy5fZHluYW1pY0hlaWdodD1lSCh0KX1nZXQgc2VsZWN0ZWRJbmRleCgpe3JldHVybiB0aGlzLl9zZWxlY3RlZEluZGV4fXNldCBzZWxlY3RlZEluZGV4KHQpe3RoaXMuX2luZGV4VG9TZWxlY3Q9bkgodCxudWxsKX1nZXQgYW5pbWF0aW9uRHVyYXRpb24oKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uRHVyYXRpb259c2V0IGFuaW1hdGlvbkR1cmF0aW9uKHQpe3RoaXMuX2FuaW1hdGlvbkR1cmF0aW9uPS9eXGQrJC8udGVzdCh0KT90KyJtcyI6dH1nZXQgY29udGVudFRhYkluZGV4KCl7cmV0dXJuIHRoaXMuX2NvbnRlbnRUYWJJbmRleH1zZXQgY29udGVudFRhYkluZGV4KHQpe3RoaXMuX2NvbnRlbnRUYWJJbmRleD1uSCh0LG51bGwpfWdldCBiYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvbG9yfXNldCBiYWNrZ3JvdW5kQ29sb3IodCl7Y29uc3QgZT10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7ZS5jbGFzc0xpc3QucmVtb3ZlKGBtYXQtYmFja2dyb3VuZC0ke3RoaXMuYmFja2dyb3VuZENvbG9yfWApLHQmJmUuY2xhc3NMaXN0LmFkZChgbWF0LWJhY2tncm91bmQtJHt0fWApLHRoaXMuX2JhY2tncm91bmRDb2xvcj10fW5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpe2NvbnN0IHQ9dGhpcy5faW5kZXhUb1NlbGVjdD10aGlzLl9jbGFtcFRhYkluZGV4KHRoaXMuX2luZGV4VG9TZWxlY3QpO2lmKHRoaXMuX3NlbGVjdGVkSW5kZXghPXQpe2NvbnN0IGU9bnVsbD09dGhpcy5fc2VsZWN0ZWRJbmRleDtpZighZSl7dGhpcy5zZWxlY3RlZFRhYkNoYW5nZS5lbWl0KHRoaXMuX2NyZWF0ZUNoYW5nZUV2ZW50KHQpKTtjb25zdCBlPXRoaXMuX3RhYkJvZHlXcmFwcGVyLm5hdGl2ZUVsZW1lbnQ7ZS5zdHlsZS5taW5IZWlnaHQ9ZS5jbGllbnRIZWlnaHQrInB4In1Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX3RhYnMuZm9yRWFjaCgoKGUsbik9PmUuaXNBY3RpdmU9bj09PXQpKSxlfHwodGhpcy5zZWxlY3RlZEluZGV4Q2hhbmdlLmVtaXQodCksdGhpcy5fdGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudC5zdHlsZS5taW5IZWlnaHQ9IiIpfSkpfXRoaXMuX3RhYnMuZm9yRWFjaCgoKGUsbik9PntlLnBvc2l0aW9uPW4tdCxudWxsPT10aGlzLl9zZWxlY3RlZEluZGV4fHwwIT1lLnBvc2l0aW9ufHxlLm9yaWdpbnx8KGUub3JpZ2luPXQtdGhpcy5fc2VsZWN0ZWRJbmRleCl9KSksdGhpcy5fc2VsZWN0ZWRJbmRleCE9PXQmJih0aGlzLl9zZWxlY3RlZEluZGV4PXQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX3N1YnNjcmliZVRvQWxsVGFiQ2hhbmdlcygpLHRoaXMuX3N1YnNjcmliZVRvVGFiTGFiZWxzKCksdGhpcy5fdGFic1N1YnNjcmlwdGlvbj10aGlzLl90YWJzLmNoYW5nZXMuc3Vic2NyaWJlKCgoKT0+e2lmKHRoaXMuX2NsYW1wVGFiSW5kZXgodGhpcy5faW5kZXhUb1NlbGVjdCk9PT10aGlzLl9zZWxlY3RlZEluZGV4KXtjb25zdCB0PXRoaXMuX3RhYnMudG9BcnJheSgpO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKHRbZV0uaXNBY3RpdmUpe3RoaXMuX2luZGV4VG9TZWxlY3Q9dGhpcy5fc2VsZWN0ZWRJbmRleD1lO2JyZWFrfX10aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX0pKX1fc3Vic2NyaWJlVG9BbGxUYWJDaGFuZ2VzKCl7dGhpcy5fYWxsVGFicy5jaGFuZ2VzLnBpcGUoQmUodGhpcy5fYWxsVGFicykpLnN1YnNjcmliZSgodD0+e3RoaXMuX3RhYnMucmVzZXQodC5maWx0ZXIoKHQ9PnQuX2Nsb3Nlc3RUYWJHcm91cD09PXRoaXN8fCF0Ll9jbG9zZXN0VGFiR3JvdXApKSksdGhpcy5fdGFicy5ub3RpZnlPbkNoYW5nZXMoKX0pKX1uZ09uRGVzdHJveSgpe3RoaXMuX3RhYnMuZGVzdHJveSgpLHRoaXMuX3RhYnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl90YWJMYWJlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfXJlYWxpZ25JbmtCYXIoKXt0aGlzLl90YWJIZWFkZXImJnRoaXMuX3RhYkhlYWRlci5fYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCl9Zm9jdXNUYWIodCl7Y29uc3QgZT10aGlzLl90YWJIZWFkZXI7ZSYmKGUuZm9jdXNJbmRleD10KX1fZm9jdXNDaGFuZ2VkKHQpe3RoaXMuZm9jdXNDaGFuZ2UuZW1pdCh0aGlzLl9jcmVhdGVDaGFuZ2VFdmVudCh0KSl9X2NyZWF0ZUNoYW5nZUV2ZW50KHQpe2NvbnN0IGU9bmV3IHZqO3JldHVybiBlLmluZGV4PXQsdGhpcy5fdGFicyYmdGhpcy5fdGFicy5sZW5ndGgmJihlLnRhYj10aGlzLl90YWJzLnRvQXJyYXkoKVt0XSksZX1fc3Vic2NyaWJlVG9UYWJMYWJlbHMoKXt0aGlzLl90YWJMYWJlbFN1YnNjcmlwdGlvbiYmdGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl90YWJMYWJlbFN1YnNjcmlwdGlvbj1wZSguLi50aGlzLl90YWJzLm1hcCgodD0+dC5fc3RhdGVDaGFuZ2VzKSkpLnN1YnNjcmliZSgoKCk9PnRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKSl9X2NsYW1wVGFiSW5kZXgodCl7cmV0dXJuIE1hdGgubWluKHRoaXMuX3RhYnMubGVuZ3RoLTEsTWF0aC5tYXgodHx8MCwwKSl9X2dldFRhYkxhYmVsSWQodCl7cmV0dXJuYG1hdC10YWItbGFiZWwtJHt0aGlzLl9ncm91cElkfS0ke3R9YH1fZ2V0VGFiQ29udGVudElkKHQpe3JldHVybmBtYXQtdGFiLWNvbnRlbnQtJHt0aGlzLl9ncm91cElkfS0ke3R9YH1fc2V0VGFiQm9keVdyYXBwZXJIZWlnaHQodCl7aWYoIXRoaXMuX2R5bmFtaWNIZWlnaHR8fCF0aGlzLl90YWJCb2R5V3JhcHBlckhlaWdodClyZXR1cm47Y29uc3QgZT10aGlzLl90YWJCb2R5V3JhcHBlci5uYXRpdmVFbGVtZW50O2Uuc3R5bGUuaGVpZ2h0PXRoaXMuX3RhYkJvZHlXcmFwcGVySGVpZ2h0KyJweCIsdGhpcy5fdGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQmJihlLnN0eWxlLmhlaWdodD10KyJweCIpfV9yZW1vdmVUYWJCb2R5V3JhcHBlckhlaWdodCgpe2NvbnN0IHQ9dGhpcy5fdGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudDt0aGlzLl90YWJCb2R5V3JhcHBlckhlaWdodD10LmNsaWVudEhlaWdodCx0LnN0eWxlLmhlaWdodD0iIix0aGlzLmFuaW1hdGlvbkRvbmUuZW1pdCgpfV9oYW5kbGVDbGljayh0LGUsbil7dC5kaXNhYmxlZHx8KHRoaXMuc2VsZWN0ZWRJbmRleD1lLmZvY3VzSW5kZXg9bil9X2dldFRhYkluZGV4KHQsZSl7cmV0dXJuIHQuZGlzYWJsZWQ/bnVsbDp0aGlzLnNlbGVjdGVkSW5kZXg9PT1lPzA6LTF9X3RhYkZvY3VzQ2hhbmdlZCh0LGUpe3QmJiJtb3VzZSIhPT10JiYidG91Y2giIT09dCYmKHRoaXMuX3RhYkhlYWRlci5mb2N1c0luZGV4PWUpfX1Pai7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8T2opKGdmKEtoKSxnZihPYiksZ2YoQ2osOCksZ2YoY2ssOCkpfSxPai7JtWRpcj1obyh7dHlwZTpPaixpbnB1dHM6e2hlYWRlclBvc2l0aW9uOiJoZWFkZXJQb3NpdGlvbiIsYW5pbWF0aW9uRHVyYXRpb246ImFuaW1hdGlvbkR1cmF0aW9uIixkaXNhYmxlUGFnaW5hdGlvbjoiZGlzYWJsZVBhZ2luYXRpb24iLGR5bmFtaWNIZWlnaHQ6ImR5bmFtaWNIZWlnaHQiLGNvbnRlbnRUYWJJbmRleDoiY29udGVudFRhYkluZGV4IixzZWxlY3RlZEluZGV4OiJzZWxlY3RlZEluZGV4IixiYWNrZ3JvdW5kQ29sb3I6ImJhY2tncm91bmRDb2xvciJ9LG91dHB1dHM6e3NlbGVjdGVkSW5kZXhDaGFuZ2U6InNlbGVjdGVkSW5kZXhDaGFuZ2UiLGZvY3VzQ2hhbmdlOiJmb2N1c0NoYW5nZSIsYW5pbWF0aW9uRG9uZToiYW5pbWF0aW9uRG9uZSIsc2VsZWN0ZWRUYWJDaGFuZ2U6InNlbGVjdGVkVGFiQ2hhbmdlIn0sZmVhdHVyZXM6W1FwXX0pLE9qLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbQ2pdfSx7dHlwZTpCcn1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sT2oucHJvcERlY29yYXRvcnM9e2R5bmFtaWNIZWlnaHQ6W3t0eXBlOlJffV0sc2VsZWN0ZWRJbmRleDpbe3R5cGU6Ul99XSxoZWFkZXJQb3NpdGlvbjpbe3R5cGU6Ul99XSxhbmltYXRpb25EdXJhdGlvbjpbe3R5cGU6Ul99XSxjb250ZW50VGFiSW5kZXg6W3t0eXBlOlJffV0sZGlzYWJsZVBhZ2luYXRpb246W3t0eXBlOlJffV0sYmFja2dyb3VuZENvbG9yOlt7dHlwZTpSX31dLHNlbGVjdGVkSW5kZXhDaGFuZ2U6W3t0eXBlOkVffV0sZm9jdXNDaGFuZ2U6W3t0eXBlOkVffV0sYW5pbWF0aW9uRG9uZTpbe3R5cGU6RV99XSxzZWxlY3RlZFRhYkNoYW5nZTpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPaixbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbQ2pdfSx7dHlwZTpCcn1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV19KSx7aGVhZGVyUG9zaXRpb246W3t0eXBlOlJffV0sc2VsZWN0ZWRJbmRleENoYW5nZTpbe3R5cGU6RV99XSxmb2N1c0NoYW5nZTpbe3R5cGU6RV99XSxhbmltYXRpb25Eb25lOlt7dHlwZTpFX31dLHNlbGVjdGVkVGFiQ2hhbmdlOlt7dHlwZTpFX31dLGFuaW1hdGlvbkR1cmF0aW9uOlt7dHlwZTpSX31dLGRpc2FibGVQYWdpbmF0aW9uOlt7dHlwZTpSX31dLGR5bmFtaWNIZWlnaHQ6W3t0eXBlOlJffV0sY29udGVudFRhYkluZGV4Olt7dHlwZTpSX31dLHNlbGVjdGVkSW5kZXg6W3t0eXBlOlJffV0sYmFja2dyb3VuZENvbG9yOlt7dHlwZTpSX31dfSk7Y2xhc3MgUGogZXh0ZW5kcyBPantjb25zdHJ1Y3Rvcih0LGUsbixvKXtzdXBlcih0LGUsbixvKX19UGouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFBqKShnZihLaCksZ2YoT2IpLGdmKENqLDgpLGdmKGNrLDgpKX0sUGouybVjbXA9c28oe3R5cGU6UGosc2VsZWN0b3JzOltbIm1hdC10YWItZ3JvdXAiXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24gdChlLG4sbyl7aWYoMSZlJiZqeShvLGdqLDUpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uX2FsbFRhYnM9dCl9fSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKFZ5KFhWLDUpLFZ5KEtWLDUpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLl90YWJCb2R5V3JhcHBlcj10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5fdGFiSGVhZGVyPXQuZmlyc3QpfX0saG9zdEF0dHJzOlsxLCJtYXQtdGFiLWdyb3VwIl0saG9zdFZhcnM6NCxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoIm1hdC10YWItZ3JvdXAtZHluYW1pYy1oZWlnaHQiLG4uZHluYW1pY0hlaWdodCkoIm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIiwiYmVsb3ciPT09bi5oZWFkZXJQb3NpdGlvbil9LGlucHV0czp7Y29sb3I6ImNvbG9yIixkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIn0sZXhwb3J0QXM6WyJtYXRUYWJHcm91cCJdLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6dWosdXNlRXhpc3Rpbmc6UGp9XSksUXBdLGRlY2xzOjYsdmFyczo3LGNvbnN0czpbWzMsInNlbGVjdGVkSW5kZXgiLCJkaXNhYmxlUmlwcGxlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJpbmRleEZvY3VzZWQiLCJzZWxlY3RGb2N1c2VkSW5kZXgiXSxbInRhYkhlYWRlciIsIiJdLFsiY2xhc3MiLCJtYXQtdGFiLWxhYmVsIG1hdC1mb2N1cy1pbmRpY2F0b3IiLCJyb2xlIiwidGFiIiwibWF0VGFiTGFiZWxXcmFwcGVyIiwiIiwibWF0LXJpcHBsZSIsIiIsImNka01vbml0b3JFbGVtZW50Rm9jdXMiLCIiLDMsImlkIiwibWF0LXRhYi1sYWJlbC1hY3RpdmUiLCJkaXNhYmxlZCIsIm1hdFJpcHBsZURpc2FibGVkIiwiY2xpY2siLCJjZGtGb2N1c0NoYW5nZSIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzEsIm1hdC10YWItYm9keS13cmFwcGVyIl0sWyJ0YWJCb2R5V3JhcHBlciIsIiJdLFsicm9sZSIsInRhYnBhbmVsIiwzLCJpZCIsIm1hdC10YWItYm9keS1hY3RpdmUiLCJjb250ZW50IiwicG9zaXRpb24iLCJvcmlnaW4iLCJhbmltYXRpb25EdXJhdGlvbiIsIl9vbkNlbnRlcmVkIiwiX29uQ2VudGVyaW5nIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbInJvbGUiLCJ0YWIiLCJtYXRUYWJMYWJlbFdyYXBwZXIiLCIiLCJtYXQtcmlwcGxlIiwiIiwiY2RrTW9uaXRvckVsZW1lbnRGb2N1cyIsIiIsMSwibWF0LXRhYi1sYWJlbCIsIm1hdC1mb2N1cy1pbmRpY2F0b3IiLDMsImlkIiwiZGlzYWJsZWQiLCJtYXRSaXBwbGVEaXNhYmxlZCIsImNsaWNrIiwiY2RrRm9jdXNDaGFuZ2UiXSxbMSwibWF0LXRhYi1sYWJlbC1jb250ZW50Il0sWzMsIm5nSWYiXSxbMywiY2RrUG9ydGFsT3V0bGV0Il0sWyJyb2xlIiwidGFicGFuZWwiLDMsImlkIiwiY29udGVudCIsInBvc2l0aW9uIiwib3JpZ2luIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJfb25DZW50ZXJlZCIsIl9vbkNlbnRlcmluZyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWF0LXRhYi1oZWFkZXIiLDAsMSksUmYoImluZGV4Rm9jdXNlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2ZvY3VzQ2hhbmdlZChlKX0pKSgic2VsZWN0Rm9jdXNlZEluZGV4IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5zZWxlY3RlZEluZGV4PWV9KSksSG0oMix0aiw0LDE0LCJkaXYiLDIpLE1mKCksQ2YoMywiZGl2IiwzLDQpLEhtKDUsZWosMSw5LCJtYXQtdGFiLWJvZHkiLDUpLE1mKCkpLDImZSYmKGJmKCJzZWxlY3RlZEluZGV4IixuLnNlbGVjdGVkSW5kZXh8fDApKCJkaXNhYmxlUmlwcGxlIixuLmRpc2FibGVSaXBwbGUpKCJkaXNhYmxlUGFnaW5hdGlvbiIsbi5kaXNhYmxlUGFnaW5hdGlvbiksRGMoMiksYmYoIm5nRm9yT2YiLG4uX3RhYnMpLERjKDEpLGN1KCJfbWF0LWFuaW1hdGlvbi1ub29wYWJsZSIsIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGUpLERjKDIpLGJmKCJuZ0Zvck9mIixuLl90YWJzKSl9LGRpcmVjdGl2ZXM6ZnVuY3Rpb24oKXtyZXR1cm5bRWoseHYsa2osbUwsdUYsUHYsdUIsX2pdfSxzdHlsZXM6WyIubWF0LXRhYi1ncm91cHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC13aWR0aDoxMDAlfS5tYXQtdGFiLWdyb3VwLm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfS5tYXQtdGFiLWxhYmVse2hlaWdodDo0OHB4O3BhZGRpbmc6MCAyNHB4O2N1cnNvcjpwb2ludGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtvcGFjaXR5Oi42O21pbi13aWR0aDoxNjBweDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXRhYi1sYWJlbDpmb2N1c3tvdXRsaW5lOm5vbmV9Lm1hdC10YWItbGFiZWw6Zm9jdXM6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRhYi1sYWJlbDpmb2N1c3tvdXRsaW5lOmRvdHRlZCAycHg7b3V0bGluZS1vZmZzZXQ6LTJweH0ubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZHtvcGFjaXR5Oi41fS5tYXQtdGFiLWxhYmVsIC5tYXQtdGFiLWxhYmVsLWNvbnRlbnR7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRhYi1sYWJlbHtvcGFjaXR5OjF9QG1lZGlhKG1heC13aWR0aDogNTk5cHgpey5tYXQtdGFiLWxhYmVse3BhZGRpbmc6MCAxMnB4fX1AbWVkaWEobWF4LXdpZHRoOiA5NTlweCl7Lm1hdC10YWItbGFiZWx7cGFkZGluZzowIDEycHh9fS5tYXQtdGFiLWdyb3VwW21hdC1zdHJldGNoLXRhYnNdPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbHtmbGV4LWJhc2lzOjA7ZmxleC1ncm93OjF9Lm1hdC10YWItYm9keS13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmZsZXg7dHJhbnNpdGlvbjpoZWlnaHQgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtdGFiLWJvZHktd3JhcHBlcnt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC10YWItYm9keXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtvdXRsaW5lOjA7ZmxleC1iYXNpczoxMDAlfS5tYXQtdGFiLWJvZHkubWF0LXRhYi1ib2R5LWFjdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87ei1pbmRleDoxO2ZsZXgtZ3JvdzoxfS5tYXQtdGFiLWdyb3VwLm1hdC10YWItZ3JvdXAtZHluYW1pYy1oZWlnaHQgLm1hdC10YWItYm9keS5tYXQtdGFiLWJvZHktYWN0aXZle292ZXJmbG93LXk6aGlkZGVufVxuIl0sZW5jYXBzdWxhdGlvbjoyfSksUGouY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltDal19LHt0eXBlOkJyfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XSxQai5wcm9wRGVjb3JhdG9ycz17X2FsbFRhYnM6W3t0eXBlOm9yLGFyZ3M6W2dqLHtkZXNjZW5kYW50czohMH1dfV0sX3RhYkJvZHlXcmFwcGVyOlt7dHlwZTphcixhcmdzOlsidGFiQm9keVdyYXBwZXIiXX1dLF90YWJIZWFkZXI6W3t0eXBlOmFyLGFyZ3M6WyJ0YWJIZWFkZXIiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFBqLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC10YWItZ3JvdXAiLGV4cG9ydEFzOiJtYXRUYWJHcm91cCIsdGVtcGxhdGU6JzxtYXQtdGFiLWhlYWRlciAjdGFiSGVhZGVyXG4gICAgICAgICAgICAgICBbc2VsZWN0ZWRJbmRleF09InNlbGVjdGVkSW5kZXggfHwgMCJcbiAgICAgICAgICAgICAgIFtkaXNhYmxlUmlwcGxlXT0iZGlzYWJsZVJpcHBsZSJcbiAgICAgICAgICAgICAgIFtkaXNhYmxlUGFnaW5hdGlvbl09ImRpc2FibGVQYWdpbmF0aW9uIlxuICAgICAgICAgICAgICAgKGluZGV4Rm9jdXNlZCk9Il9mb2N1c0NoYW5nZWQoJGV2ZW50KSJcbiAgICAgICAgICAgICAgIChzZWxlY3RGb2N1c2VkSW5kZXgpPSJzZWxlY3RlZEluZGV4ID0gJGV2ZW50Ij5cbiAgPGRpdiBjbGFzcz0ibWF0LXRhYi1sYWJlbCBtYXQtZm9jdXMtaW5kaWNhdG9yIiByb2xlPSJ0YWIiIG1hdFRhYkxhYmVsV3JhcHBlciBtYXQtcmlwcGxlIGNka01vbml0b3JFbGVtZW50Rm9jdXNcbiAgICAgICAqbmdGb3I9ImxldCB0YWIgb2YgX3RhYnM7IGxldCBpID0gaW5kZXgiXG4gICAgICAgW2lkXT0iX2dldFRhYkxhYmVsSWQoaSkiXG4gICAgICAgW2F0dHIudGFiSW5kZXhdPSJfZ2V0VGFiSW5kZXgodGFiLCBpKSJcbiAgICAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT0iaSArIDEiXG4gICAgICAgW2F0dHIuYXJpYS1zZXRzaXplXT0iX3RhYnMubGVuZ3RoIlxuICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPSJfZ2V0VGFiQ29udGVudElkKGkpIlxuICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPSJzZWxlY3RlZEluZGV4ID09IGkiXG4gICAgICAgW2F0dHIuYXJpYS1sYWJlbF09InRhYi5hcmlhTGFiZWwgfHwgbnVsbCJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPSIoIXRhYi5hcmlhTGFiZWwgJiYgdGFiLmFyaWFMYWJlbGxlZGJ5KSA/IHRhYi5hcmlhTGFiZWxsZWRieSA6IG51bGwiXG4gICAgICAgW2NsYXNzLm1hdC10YWItbGFiZWwtYWN0aXZlXT0ic2VsZWN0ZWRJbmRleCA9PSBpIlxuICAgICAgIFtkaXNhYmxlZF09InRhYi5kaXNhYmxlZCJcbiAgICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPSJ0YWIuZGlzYWJsZWQgfHwgZGlzYWJsZVJpcHBsZSJcbiAgICAgICAoY2xpY2spPSJfaGFuZGxlQ2xpY2sodGFiLCB0YWJIZWFkZXIsIGkpIlxuICAgICAgIChjZGtGb2N1c0NoYW5nZSk9Il90YWJGb2N1c0NoYW5nZWQoJGV2ZW50LCBpKSI+XG5cblxuICAgIDxkaXYgY2xhc3M9Im1hdC10YWItbGFiZWwtY29udGVudCI+XG4gICAgICBceDNjIS0tIElmIHRoZXJlIGlzIGEgbGFiZWwgdGVtcGxhdGUsIHVzZSBpdC4gLS1ceDNlXG4gICAgICA8bmctdGVtcGxhdGUgW25nSWZdPSJ0YWIudGVtcGxhdGVMYWJlbCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT0idGFiLnRlbXBsYXRlTGFiZWwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICBceDNjIS0tIElmIHRoZXJlIGlzIG5vdCBhIGxhYmVsIHRlbXBsYXRlLCBmYWxsIGJhY2sgdG8gdGhlIHRleHQgbGFiZWwuIC0tXHgzZVxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT0iIXRhYi50ZW1wbGF0ZUxhYmVsIj57e3RhYi50ZXh0TGFiZWx9fTwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9tYXQtdGFiLWhlYWRlcj5cblxuPGRpdlxuICBjbGFzcz0ibWF0LXRhYi1ib2R5LXdyYXBwZXIiXG4gIFtjbGFzcy5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZV09Il9hbmltYXRpb25Nb2RlID09PSBcJ05vb3BBbmltYXRpb25zXCciXG4gICN0YWJCb2R5V3JhcHBlcj5cbiAgPG1hdC10YWItYm9keSByb2xlPSJ0YWJwYW5lbCJcbiAgICAgICAgICAgICAgICpuZ0Zvcj0ibGV0IHRhYiBvZiBfdGFiczsgbGV0IGkgPSBpbmRleCJcbiAgICAgICAgICAgICAgIFtpZF09Il9nZXRUYWJDb250ZW50SWQoaSkiXG4gICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09Iihjb250ZW50VGFiSW5kZXggIT0gbnVsbCAmJiBzZWxlY3RlZEluZGV4ID09PSBpKSA/IGNvbnRlbnRUYWJJbmRleCA6IG51bGwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPSJfZ2V0VGFiTGFiZWxJZChpKSJcbiAgICAgICAgICAgICAgIFtjbGFzcy5tYXQtdGFiLWJvZHktYWN0aXZlXT0ic2VsZWN0ZWRJbmRleCA9PT0gaSJcbiAgICAgICAgICAgICAgIFtjb250ZW50XT0idGFiLmNvbnRlbnQhIlxuICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT0idGFiLnBvc2l0aW9uISJcbiAgICAgICAgICAgICAgIFtvcmlnaW5dPSJ0YWIub3JpZ2luIlxuICAgICAgICAgICAgICAgW2FuaW1hdGlvbkR1cmF0aW9uXT0iYW5pbWF0aW9uRHVyYXRpb24iXG4gICAgICAgICAgICAgICAoX29uQ2VudGVyZWQpPSJfcmVtb3ZlVGFiQm9keVdyYXBwZXJIZWlnaHQoKSJcbiAgICAgICAgICAgICAgIChfb25DZW50ZXJpbmcpPSJfc2V0VGFiQm9keVdyYXBwZXJIZWlnaHQoJGV2ZW50KSI+XG4gIDwvbWF0LXRhYi1ib2R5PlxuPC9kaXY+XG4nLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxpbnB1dHM6WyJjb2xvciIsImRpc2FibGVSaXBwbGUiXSxwcm92aWRlcnM6W3twcm92aWRlOnVqLHVzZUV4aXN0aW5nOlBqfV0saG9zdDp7Y2xhc3M6Im1hdC10YWItZ3JvdXAiLCJbY2xhc3MubWF0LXRhYi1ncm91cC1keW5hbWljLWhlaWdodF0iOiJkeW5hbWljSGVpZ2h0IiwiW2NsYXNzLm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyXSI6J2hlYWRlclBvc2l0aW9uID09PSAiYmVsb3ciJ30sc3R5bGVzOlsiLm1hdC10YWItZ3JvdXB7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6MTAwJX0ubWF0LXRhYi1ncm91cC5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX0ubWF0LXRhYi1sYWJlbHtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMjRweDtjdXJzb3I6cG9pbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3BhY2l0eTouNjttaW4td2lkdGg6MTYwcHg7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC10YWItbGFiZWw6Zm9jdXN7b3V0bGluZTpub25lfS5tYXQtdGFiLWxhYmVsOmZvY3VzOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC10YWItbGFiZWw6Zm9jdXN7b3V0bGluZTpkb3R0ZWQgMnB4O291dGxpbmUtb2Zmc2V0Oi0ycHh9Lm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWR7b3BhY2l0eTouNX0ubWF0LXRhYi1sYWJlbCAubWF0LXRhYi1sYWJlbC1jb250ZW50e2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC10YWItbGFiZWx7b3BhY2l0eToxfUBtZWRpYShtYXgtd2lkdGg6IDU5OXB4KXsubWF0LXRhYi1sYWJlbHtwYWRkaW5nOjAgMTJweH19QG1lZGlhKG1heC13aWR0aDogOTU5cHgpey5tYXQtdGFiLWxhYmVse3BhZGRpbmc6MCAxMnB4fX0ubWF0LXRhYi1ncm91cFttYXQtc3RyZXRjaC10YWJzXT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWx7ZmxleC1iYXNpczowO2ZsZXgtZ3JvdzoxfS5tYXQtdGFiLWJvZHktd3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpmbGV4O3RyYW5zaXRpb246aGVpZ2h0IDUwMG1zIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXRhYi1ib2R5LXdyYXBwZXJ7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtdGFiLWJvZHl7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47b3V0bGluZTowO2ZsZXgtYmFzaXM6MTAwJX0ubWF0LXRhYi1ib2R5Lm1hdC10YWItYm9keS1hY3RpdmV7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO3otaW5kZXg6MTtmbGV4LWdyb3c6MX0ubWF0LXRhYi1ncm91cC5tYXQtdGFiLWdyb3VwLWR5bmFtaWMtaGVpZ2h0IC5tYXQtdGFiLWJvZHkubWF0LXRhYi1ib2R5LWFjdGl2ZXtvdmVyZmxvdy15OmhpZGRlbn1cbiJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbQ2pdfSx7dHlwZTpCcn1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV19KSx7X2FsbFRhYnM6W3t0eXBlOm9yLGFyZ3M6W2dqLHtkZXNjZW5kYW50czohMH1dfV0sX3RhYkJvZHlXcmFwcGVyOlt7dHlwZTphcixhcmdzOlsidGFiQm9keVdyYXBwZXIiXX1dLF90YWJIZWFkZXI6W3t0eXBlOmFyLGFyZ3M6WyJ0YWJIZWFkZXIiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB3aj16RihjbGFzc3t9KTtjbGFzcyBraiBleHRlbmRzIHdqe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5lbGVtZW50UmVmPXR9Zm9jdXMoKXt0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpfWdldE9mZnNldExlZnQoKXtyZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdH1nZXRPZmZzZXRXaWR0aCgpe3JldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aH19a2ouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGtqKShnZihLaCkpfSxrai7JtWRpcj1obyh7dHlwZTpraixzZWxlY3RvcnM6W1siIiwibWF0VGFiTGFiZWxXcmFwcGVyIiwiIl1dLGhvc3RWYXJzOjMsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJih5bSgiYXJpYS1kaXNhYmxlZCIsISFuLmRpc2FibGVkKSxjdSgibWF0LXRhYi1kaXNhYmxlZCIsbi5kaXNhYmxlZCkpfSxpbnB1dHM6e2Rpc2FibGVkOiJkaXNhYmxlZCJ9LGZlYXR1cmVzOltRcF19KSxrai5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihraixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbWF0VGFiTGFiZWxXcmFwcGVyXSIsaW5wdXRzOlsiZGlzYWJsZWQiXSxob3N0OnsiW2NsYXNzLm1hdC10YWItZGlzYWJsZWRdIjoiZGlzYWJsZWQiLCJbYXR0ci5hcmlhLWRpc2FibGVkXSI6IiEhZGlzYWJsZWQifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFNqPWJIKHtwYXNzaXZlOiEwfSk7Y2xhc3MgRGp7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscil7dGhpcy5fZWxlbWVudFJlZj10LHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPWUsdGhpcy5fdmlld3BvcnRSdWxlcj1uLHRoaXMuX2Rpcj1vLHRoaXMuX25nWm9uZT1pLHRoaXMuX3BsYXRmb3JtPWEsdGhpcy5fYW5pbWF0aW9uTW9kZT1yLHRoaXMuX3Njcm9sbERpc3RhbmNlPTAsdGhpcy5fc2VsZWN0ZWRJbmRleENoYW5nZWQ9ITEsdGhpcy5fZGVzdHJveWVkPW5ldyBCLHRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHM9ITEsdGhpcy5fZGlzYWJsZVNjcm9sbEFmdGVyPSEwLHRoaXMuX2Rpc2FibGVTY3JvbGxCZWZvcmU9ITAsdGhpcy5fc3RvcFNjcm9sbGluZz1uZXcgQix0aGlzLmRpc2FibGVQYWdpbmF0aW9uPSExLHRoaXMuX3NlbGVjdGVkSW5kZXg9MCx0aGlzLnNlbGVjdEZvY3VzZWRJbmRleD1uZXcgU3ksdGhpcy5pbmRleEZvY3VzZWQ9bmV3IFN5LGkucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT57bGUodC5uYXRpdmVFbGVtZW50LCJtb3VzZWxlYXZlIikucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fc3RvcEludGVydmFsKCl9KSl9KSl9Z2V0IHNlbGVjdGVkSW5kZXgoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWRJbmRleH1zZXQgc2VsZWN0ZWRJbmRleCh0KXt0PW5IKHQpLHRoaXMuX3NlbGVjdGVkSW5kZXghPXQmJih0aGlzLl9zZWxlY3RlZEluZGV4Q2hhbmdlZD0hMCx0aGlzLl9zZWxlY3RlZEluZGV4PXQsdGhpcy5fa2V5TWFuYWdlciYmdGhpcy5fa2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKHQpKX1uZ0FmdGVyVmlld0luaXQoKXtsZSh0aGlzLl9wcmV2aW91c1BhZ2luYXRvci5uYXRpdmVFbGVtZW50LCJ0b3VjaHN0YXJ0IixTaikucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5faGFuZGxlUGFnaW5hdG9yUHJlc3MoImJlZm9yZSIpfSkpLGxlKHRoaXMuX25leHRQYWdpbmF0b3IubmF0aXZlRWxlbWVudCwidG91Y2hzdGFydCIsU2opLnBpcGUoamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2hhbmRsZVBhZ2luYXRvclByZXNzKCJhZnRlciIpfSkpfW5nQWZ0ZXJDb250ZW50SW5pdCgpe2NvbnN0IHQ9dGhpcy5fZGlyP3RoaXMuX2Rpci5jaGFuZ2U6enQoImx0ciIpLGU9dGhpcy5fdmlld3BvcnRSdWxlci5jaGFuZ2UoMTUwKSxuPSgpPT57dGhpcy51cGRhdGVQYWdpbmF0aW9uKCksdGhpcy5fYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCl9O3RoaXMuX2tleU1hbmFnZXI9bmV3IExIKHRoaXMuX2l0ZW1zKS53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2dldExheW91dERpcmVjdGlvbigpKS53aXRoSG9tZUFuZEVuZCgpLndpdGhXcmFwKCksdGhpcy5fa2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKHRoaXMuX3NlbGVjdGVkSW5kZXgpLCJ1bmRlZmluZWQiIT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lP3JlcXVlc3RBbmltYXRpb25GcmFtZShuKTpuKCkscGUodCxlLHRoaXMuX2l0ZW1zLmNoYW5nZXMpLnBpcGUoamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX25nWm9uZS5ydW4oKCgpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKG4pKSksdGhpcy5fa2V5TWFuYWdlci53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2dldExheW91dERpcmVjdGlvbigpKX0pKSx0aGlzLl9rZXlNYW5hZ2VyLmNoYW5nZS5waXBlKGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgodD0+e3RoaXMuaW5kZXhGb2N1c2VkLmVtaXQodCksdGhpcy5fc2V0VGFiRm9jdXModCl9KSl9bmdBZnRlckNvbnRlbnRDaGVja2VkKCl7dGhpcy5fdGFiTGFiZWxDb3VudCE9dGhpcy5faXRlbXMubGVuZ3RoJiYodGhpcy51cGRhdGVQYWdpbmF0aW9uKCksdGhpcy5fdGFiTGFiZWxDb3VudD10aGlzLl9pdGVtcy5sZW5ndGgsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpLHRoaXMuX3NlbGVjdGVkSW5kZXhDaGFuZ2VkJiYodGhpcy5fc2Nyb2xsVG9MYWJlbCh0aGlzLl9zZWxlY3RlZEluZGV4KSx0aGlzLl9jaGVja1Njcm9sbGluZ0NvbnRyb2xzKCksdGhpcy5fYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCksdGhpcy5fc2VsZWN0ZWRJbmRleENoYW5nZWQ9ITEsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpLHRoaXMuX3Njcm9sbERpc3RhbmNlQ2hhbmdlZCYmKHRoaXMuX3VwZGF0ZVRhYlNjcm9sbFBvc2l0aW9uKCksdGhpcy5fc2Nyb2xsRGlzdGFuY2VDaGFuZ2VkPSExLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKX1uZ09uRGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3llZC5uZXh0KCksdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCksdGhpcy5fc3RvcFNjcm9sbGluZy5jb21wbGV0ZSgpfV9oYW5kbGVLZXlkb3duKHQpe2lmKCF0SCh0KSlzd2l0Y2godC5rZXlDb2RlKXtjYXNlIFhJOmNhc2UgSkk6dGhpcy5mb2N1c0luZGV4IT09dGhpcy5zZWxlY3RlZEluZGV4JiYodGhpcy5zZWxlY3RGb2N1c2VkSW5kZXguZW1pdCh0aGlzLmZvY3VzSW5kZXgpLHRoaXMuX2l0ZW1TZWxlY3RlZCh0KSk7YnJlYWs7ZGVmYXVsdDp0aGlzLl9rZXlNYW5hZ2VyLm9uS2V5ZG93bih0KX19X29uQ29udGVudENoYW5nZXMoKXtjb25zdCB0PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudDt0IT09dGhpcy5fY3VycmVudFRleHRDb250ZW50JiYodGhpcy5fY3VycmVudFRleHRDb250ZW50PXR8fCIiLHRoaXMuX25nWm9uZS5ydW4oKCgpPT57dGhpcy51cGRhdGVQYWdpbmF0aW9uKCksdGhpcy5fYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9KSkpfXVwZGF0ZVBhZ2luYXRpb24oKXt0aGlzLl9jaGVja1BhZ2luYXRpb25FbmFibGVkKCksdGhpcy5fY2hlY2tTY3JvbGxpbmdDb250cm9scygpLHRoaXMuX3VwZGF0ZVRhYlNjcm9sbFBvc2l0aW9uKCl9Z2V0IGZvY3VzSW5kZXgoKXtyZXR1cm4gdGhpcy5fa2V5TWFuYWdlcj90aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleDowfXNldCBmb2N1c0luZGV4KHQpe3RoaXMuX2lzVmFsaWRJbmRleCh0KSYmdGhpcy5mb2N1c0luZGV4IT09dCYmdGhpcy5fa2V5TWFuYWdlciYmdGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHQpfV9pc1ZhbGlkSW5kZXgodCl7aWYoIXRoaXMuX2l0ZW1zKXJldHVybiEwO2NvbnN0IGU9dGhpcy5faXRlbXM/dGhpcy5faXRlbXMudG9BcnJheSgpW3RdOm51bGw7cmV0dXJuISFlJiYhZS5kaXNhYmxlZH1fc2V0VGFiRm9jdXModCl7aWYodGhpcy5fc2hvd1BhZ2luYXRpb25Db250cm9scyYmdGhpcy5fc2Nyb2xsVG9MYWJlbCh0KSx0aGlzLl9pdGVtcyYmdGhpcy5faXRlbXMubGVuZ3RoKXt0aGlzLl9pdGVtcy50b0FycmF5KClbdF0uZm9jdXMoKTtjb25zdCBlPXRoaXMuX3RhYkxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudCxuPXRoaXMuX2dldExheW91dERpcmVjdGlvbigpO2Uuc2Nyb2xsTGVmdD0ibHRyIj09bj8wOmUuc2Nyb2xsV2lkdGgtZS5vZmZzZXRXaWR0aH19X2dldExheW91dERpcmVjdGlvbigpe3JldHVybiB0aGlzLl9kaXImJiJydGwiPT09dGhpcy5fZGlyLnZhbHVlPyJydGwiOiJsdHIifV91cGRhdGVUYWJTY3JvbGxQb3NpdGlvbigpe2lmKHRoaXMuZGlzYWJsZVBhZ2luYXRpb24pcmV0dXJuO2NvbnN0IHQ9dGhpcy5zY3JvbGxEaXN0YW5jZSxlPSJsdHIiPT09dGhpcy5fZ2V0TGF5b3V0RGlyZWN0aW9uKCk/LXQ6dDt0aGlzLl90YWJMaXN0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGVYKCR7TWF0aC5yb3VuZChlKX1weClgLCh0aGlzLl9wbGF0Zm9ybS5UUklERU5UfHx0aGlzLl9wbGF0Zm9ybS5FREdFKSYmKHRoaXMuX3RhYkxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0PTApfWdldCBzY3JvbGxEaXN0YW5jZSgpe3JldHVybiB0aGlzLl9zY3JvbGxEaXN0YW5jZX1zZXQgc2Nyb2xsRGlzdGFuY2UodCl7dGhpcy5fc2Nyb2xsVG8odCl9X3Njcm9sbEhlYWRlcih0KXtyZXR1cm4gdGhpcy5fc2Nyb2xsVG8odGhpcy5fc2Nyb2xsRGlzdGFuY2UrKCJiZWZvcmUiPT10Py0xOjEpKnRoaXMuX3RhYkxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aC8zKX1faGFuZGxlUGFnaW5hdG9yQ2xpY2sodCl7dGhpcy5fc3RvcEludGVydmFsKCksdGhpcy5fc2Nyb2xsSGVhZGVyKHQpfV9zY3JvbGxUb0xhYmVsKHQpe2lmKHRoaXMuZGlzYWJsZVBhZ2luYXRpb24pcmV0dXJuO2NvbnN0IGU9dGhpcy5faXRlbXM/dGhpcy5faXRlbXMudG9BcnJheSgpW3RdOm51bGw7aWYoIWUpcmV0dXJuO2NvbnN0IG49dGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoLHtvZmZzZXRMZWZ0Om8sb2Zmc2V0V2lkdGg6aX09ZS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7bGV0IGEscjsibHRyIj09dGhpcy5fZ2V0TGF5b3V0RGlyZWN0aW9uKCk/KGE9byxyPWEraSk6KHI9dGhpcy5fdGFiTGlzdC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoLW8sYT1yLWkpO2NvbnN0IHM9dGhpcy5zY3JvbGxEaXN0YW5jZSxsPXRoaXMuc2Nyb2xsRGlzdGFuY2UrbjthPHM/dGhpcy5zY3JvbGxEaXN0YW5jZS09cy1hKzYwOnI+bCYmKHRoaXMuc2Nyb2xsRGlzdGFuY2UrPXItbCs2MCl9X2NoZWNrUGFnaW5hdGlvbkVuYWJsZWQoKXtpZih0aGlzLmRpc2FibGVQYWdpbmF0aW9uKXRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHM9ITE7ZWxzZXtjb25zdCB0PXRoaXMuX3RhYkxpc3QubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aD50aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7dHx8KHRoaXMuc2Nyb2xsRGlzdGFuY2U9MCksdCE9PXRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHMmJnRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpLHRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHM9dH19X2NoZWNrU2Nyb2xsaW5nQ29udHJvbHMoKXt0aGlzLmRpc2FibGVQYWdpbmF0aW9uP3RoaXMuX2Rpc2FibGVTY3JvbGxBZnRlcj10aGlzLl9kaXNhYmxlU2Nyb2xsQmVmb3JlPSEwOih0aGlzLl9kaXNhYmxlU2Nyb2xsQmVmb3JlPTA9PXRoaXMuc2Nyb2xsRGlzdGFuY2UsdGhpcy5fZGlzYWJsZVNjcm9sbEFmdGVyPXRoaXMuc2Nyb2xsRGlzdGFuY2U9PXRoaXMuX2dldE1heFNjcm9sbERpc3RhbmNlKCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpfV9nZXRNYXhTY3JvbGxEaXN0YW5jZSgpe3JldHVybiB0aGlzLl90YWJMaXN0Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGgtdGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRofHwwfV9hbGlnbklua0JhclRvU2VsZWN0ZWRUYWIoKXtjb25zdCB0PXRoaXMuX2l0ZW1zJiZ0aGlzLl9pdGVtcy5sZW5ndGg/dGhpcy5faXRlbXMudG9BcnJheSgpW3RoaXMuc2VsZWN0ZWRJbmRleF06bnVsbCxlPXQ/dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ6bnVsbDtlP3RoaXMuX2lua0Jhci5hbGlnblRvRWxlbWVudChlKTp0aGlzLl9pbmtCYXIuaGlkZSgpfV9zdG9wSW50ZXJ2YWwoKXt0aGlzLl9zdG9wU2Nyb2xsaW5nLm5leHQoKX1faGFuZGxlUGFnaW5hdG9yUHJlc3ModCxlKXtlJiZudWxsIT1lLmJ1dHRvbiYmMCE9PWUuYnV0dG9ufHwodGhpcy5fc3RvcEludGVydmFsKCksZGUoNjUwLDEwMCkucGlwZShqZShwZSh0aGlzLl9zdG9wU2Nyb2xsaW5nLHRoaXMuX2Rlc3Ryb3llZCkpKS5zdWJzY3JpYmUoKCgpPT57Y29uc3R7bWF4U2Nyb2xsRGlzdGFuY2U6ZSxkaXN0YW5jZTpufT10aGlzLl9zY3JvbGxIZWFkZXIodCk7KDA9PT1ufHxuPj1lKSYmdGhpcy5fc3RvcEludGVydmFsKCl9KSkpfV9zY3JvbGxUbyh0KXtpZih0aGlzLmRpc2FibGVQYWdpbmF0aW9uKXJldHVybnttYXhTY3JvbGxEaXN0YW5jZTowLGRpc3RhbmNlOjB9O2NvbnN0IGU9dGhpcy5fZ2V0TWF4U2Nyb2xsRGlzdGFuY2UoKTtyZXR1cm4gdGhpcy5fc2Nyb2xsRGlzdGFuY2U9TWF0aC5tYXgoMCxNYXRoLm1pbihlLHQpKSx0aGlzLl9zY3JvbGxEaXN0YW5jZUNoYW5nZWQ9ITAsdGhpcy5fY2hlY2tTY3JvbGxpbmdDb250cm9scygpLHttYXhTY3JvbGxEaXN0YW5jZTplLGRpc3RhbmNlOnRoaXMuX3Njcm9sbERpc3RhbmNlfX19RGouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fERqKShnZihLaCksZ2YoT2IpLGdmKFFMKSxnZih2Riw4KSxnZihtQyksZ2YoY0gpLGdmKGNrLDgpKX0sRGouybVkaXI9aG8oe3R5cGU6RGosaW5wdXRzOntkaXNhYmxlUGFnaW5hdGlvbjoiZGlzYWJsZVBhZ2luYXRpb24ifX0pLERqLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTpRTH0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6bUN9LHt0eXBlOmNIfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sRGoucHJvcERlY29yYXRvcnM9e2Rpc2FibGVQYWdpbmF0aW9uOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKERqLFt7dHlwZTprX31dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOlFMfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XX0pLHtkaXNhYmxlUGFnaW5hdGlvbjpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgUmogZXh0ZW5kcyBEantjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyKXtzdXBlcih0LGUsbixvLGksYSxyKSx0aGlzLl9kaXNhYmxlUmlwcGxlPSExfWdldCBkaXNhYmxlUmlwcGxlKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVSaXBwbGV9c2V0IGRpc2FibGVSaXBwbGUodCl7dGhpcy5fZGlzYWJsZVJpcHBsZT1lSCh0KX1faXRlbVNlbGVjdGVkKHQpe3QucHJldmVudERlZmF1bHQoKX19UmouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFJqKShnZihLaCksZ2YoT2IpLGdmKFFMKSxnZih2Riw4KSxnZihtQyksZ2YoY0gpLGdmKGNrLDgpKX0sUmouybVkaXI9aG8oe3R5cGU6UmosaW5wdXRzOntkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIn0sZmVhdHVyZXM6W1FwXX0pLFJqLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTpRTH0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6bUN9LHt0eXBlOmNIfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sUmoucHJvcERlY29yYXRvcnM9e2Rpc2FibGVSaXBwbGU6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUmosW3t0eXBlOmtffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6UUx9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse2Rpc2FibGVSaXBwbGU6W3t0eXBlOlJffV19KTtjbGFzcyBFaiBleHRlbmRzIFJqe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIpe3N1cGVyKHQsZSxuLG8saSxhLHIpfX1Fai7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RWopKGdmKEtoKSxnZihPYiksZ2YoUUwpLGdmKHZGLDgpLGdmKG1DKSxnZihjSCksZ2YoY2ssOCkpfSxFai7JtWNtcD1zbyh7dHlwZTpFaixzZWxlY3RvcnM6W1sibWF0LXRhYi1oZWFkZXIiXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24gdChlLG4sbyl7aWYoMSZlJiZqeShvLGtqLDQpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uX2l0ZW1zPXQpfX0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihWeShsaiw3KSxWeShuaiw3KSxWeShvaiw3KSxWeShpaiw1KSxWeShhaiw1KSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5faW5rQmFyPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl90YWJMaXN0Q29udGFpbmVyPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl90YWJMaXN0PXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9uZXh0UGFnaW5hdG9yPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9wcmV2aW91c1BhZ2luYXRvcj10LmZpcnN0KX19LGhvc3RBdHRyczpbMSwibWF0LXRhYi1oZWFkZXIiXSxob3N0VmFyczo0LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jb250cm9scy1lbmFibGVkIixuLl9zaG93UGFnaW5hdGlvbkNvbnRyb2xzKSgibWF0LXRhYi1oZWFkZXItcnRsIiwicnRsIj09bi5fZ2V0TGF5b3V0RGlyZWN0aW9uKCkpfSxpbnB1dHM6e3NlbGVjdGVkSW5kZXg6InNlbGVjdGVkSW5kZXgifSxvdXRwdXRzOntzZWxlY3RGb2N1c2VkSW5kZXg6InNlbGVjdEZvY3VzZWRJbmRleCIsaW5kZXhGb2N1c2VkOiJpbmRleEZvY3VzZWQifSxmZWF0dXJlczpbUXBdLG5nQ29udGVudFNlbGVjdG9yczpHVixkZWNsczoxMyx2YXJzOjgsY29uc3RzOltbImFyaWEtaGlkZGVuIiwidHJ1ZSIsIm1hdC1yaXBwbGUiLCIiLDEsIm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24iLCJtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSIsIm1hdC1lbGV2YXRpb24tejQiLDMsIm1hdFJpcHBsZURpc2FibGVkIiwiY2xpY2siLCJtb3VzZWRvd24iLCJ0b3VjaGVuZCJdLFsicHJldmlvdXNQYWdpbmF0b3IiLCIiXSxbMSwibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIl0sWzEsIm1hdC10YWItbGFiZWwtY29udGFpbmVyIiwzLCJrZXlkb3duIl0sWyJ0YWJMaXN0Q29udGFpbmVyIiwiIl0sWyJyb2xlIiwidGFibGlzdCIsMSwibWF0LXRhYi1saXN0IiwzLCJjZGtPYnNlcnZlQ29udGVudCJdLFsidGFiTGlzdCIsIiJdLFsxLCJtYXQtdGFiLWxhYmVscyJdLFsiYXJpYS1oaWRkZW4iLCJ0cnVlIiwibWF0LXJpcHBsZSIsIiIsMSwibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiIsIm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXIiLCJtYXQtZWxldmF0aW9uLXo0IiwzLCJtYXRSaXBwbGVEaXNhYmxlZCIsIm1vdXNlZG93biIsImNsaWNrIiwidG91Y2hlbmQiXSxbIm5leHRQYWdpbmF0b3IiLCIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKEhmKCksQ2YoMCwiZGl2IiwwLDEpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5faGFuZGxlUGFnaW5hdG9yQ2xpY2soImJlZm9yZSIpfSkpKCJtb3VzZWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9oYW5kbGVQYWdpbmF0b3JQcmVzcygiYmVmb3JlIixlKX0pKSgidG91Y2hlbmQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX3N0b3BJbnRlcnZhbCgpfSkpLHZmKDIsImRpdiIsMiksTWYoKSxDZigzLCJkaXYiLDMsNCksUmYoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9oYW5kbGVLZXlkb3duKGUpfSkpLENmKDUsImRpdiIsNSw2KSxSZigiY2RrT2JzZXJ2ZUNvbnRlbnQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX29uQ29udGVudENoYW5nZXMoKX0pKSxDZig3LCJkaXYiLDcpLEZmKDgpLE1mKCksdmYoOSwibWF0LWluay1iYXIiKSxNZigpLE1mKCksQ2YoMTAsImRpdiIsOCw5KSxSZigibW91c2Vkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlUGFnaW5hdG9yUHJlc3MoImFmdGVyIixlKX0pKSgiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX2hhbmRsZVBhZ2luYXRvckNsaWNrKCJhZnRlciIpfSkpKCJ0b3VjaGVuZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fc3RvcEludGVydmFsKCl9KSksdmYoMTIsImRpdiIsMiksTWYoKSksMiZlJiYoY3UoIm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQiLG4uX2Rpc2FibGVTY3JvbGxCZWZvcmUpLGJmKCJtYXRSaXBwbGVEaXNhYmxlZCIsbi5fZGlzYWJsZVNjcm9sbEJlZm9yZXx8bi5kaXNhYmxlUmlwcGxlKSxEYyg1KSxjdSgiX21hdC1hbmltYXRpb24tbm9vcGFibGUiLCJOb29wQW5pbWF0aW9ucyI9PT1uLl9hbmltYXRpb25Nb2RlKSxEYyg1KSxjdSgibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCIsbi5fZGlzYWJsZVNjcm9sbEFmdGVyKSxiZigibWF0UmlwcGxlRGlzYWJsZWQiLG4uX2Rpc2FibGVTY3JvbGxBZnRlcnx8bi5kaXNhYmxlUmlwcGxlKSl9LGRpcmVjdGl2ZXM6W21MLFBILGxqXSxzdHlsZXM6WycubWF0LXRhYi1oZWFkZXJ7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LXNocmluazowfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmU7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLXdpZHRoOjMycHg7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0b3VjaC1hY3Rpb246bm9uZX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jb250cm9scy1lbmFibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9ue2Rpc3BsYXk6ZmxleH0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1iZWZvcmUsLm1hdC10YWItaGVhZGVyLXJ0bCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlcntwYWRkaW5nLWxlZnQ6NHB4fS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKC0xMzVkZWcpfS5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlLC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWFmdGVye3BhZGRpbmctcmlnaHQ6NHB4fS5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4IDJweCAwIDA7Y29udGVudDoiIjtoZWlnaHQ6OHB4O3dpZHRoOjhweH0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZHtib3gtc2hhZG93Om5vbmU7Y3Vyc29yOmRlZmF1bHR9Lm1hdC10YWItbGlzdHtmbGV4LWdyb3c6MTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSA1MDBtcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSl9Lm1hdC1pbmstYmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2hlaWdodDoycHg7dHJhbnNpdGlvbjo1MDBtcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSl9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1pbmstYmFye3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXRhYi1ncm91cC1pbnZlcnRlZC1oZWFkZXIgLm1hdC1pbmstYmFye2JvdHRvbTphdXRvO3RvcDowfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1pbmstYmFye291dGxpbmU6c29saWQgMnB4O2hlaWdodDowfS5tYXQtdGFiLWxhYmVsc3tkaXNwbGF5OmZsZXh9W21hdC1hbGlnbi10YWJzPWNlbnRlcl0+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsc3tqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfVttYXQtYWxpZ24tdGFicz1lbmRdPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbHN7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5tYXQtdGFiLWxhYmVsLWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7ZmxleC1ncm93OjE7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXRhYi1saXN0e3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXRhYi1sYWJlbHtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMjRweDtjdXJzb3I6cG9pbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3BhY2l0eTouNjttaW4td2lkdGg6MTYwcHg7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC10YWItbGFiZWw6Zm9jdXN7b3V0bGluZTpub25lfS5tYXQtdGFiLWxhYmVsOmZvY3VzOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC10YWItbGFiZWw6Zm9jdXN7b3V0bGluZTpkb3R0ZWQgMnB4O291dGxpbmUtb2Zmc2V0Oi0ycHh9Lm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWR7b3BhY2l0eTouNX0ubWF0LXRhYi1sYWJlbCAubWF0LXRhYi1sYWJlbC1jb250ZW50e2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC10YWItbGFiZWx7b3BhY2l0eToxfUBtZWRpYShtYXgtd2lkdGg6IDU5OXB4KXsubWF0LXRhYi1sYWJlbHttaW4td2lkdGg6NzJweH19XG4nXSxlbmNhcHN1bGF0aW9uOjJ9KSxFai5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6UUx9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dLEVqLnByb3BEZWNvcmF0b3JzPXtfaXRlbXM6W3t0eXBlOm9yLGFyZ3M6W2tqLHtkZXNjZW5kYW50czohMX1dfV0sX2lua0Jhcjpbe3R5cGU6YXIsYXJnczpbbGose3N0YXRpYzohMH1dfV0sX3RhYkxpc3RDb250YWluZXI6W3t0eXBlOmFyLGFyZ3M6WyJ0YWJMaXN0Q29udGFpbmVyIix7c3RhdGljOiEwfV19XSxfdGFiTGlzdDpbe3R5cGU6YXIsYXJnczpbInRhYkxpc3QiLHtzdGF0aWM6ITB9XX1dLF9uZXh0UGFnaW5hdG9yOlt7dHlwZTphcixhcmdzOlsibmV4dFBhZ2luYXRvciJdfV0sX3ByZXZpb3VzUGFnaW5hdG9yOlt7dHlwZTphcixhcmdzOlsicHJldmlvdXNQYWdpbmF0b3IiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEVqLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC10YWItaGVhZGVyIix0ZW1wbGF0ZTonPGRpdiBjbGFzcz0ibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiBtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSBtYXQtZWxldmF0aW9uLXo0IlxuICAgICAjcHJldmlvdXNQYWdpbmF0b3JcbiAgICAgYXJpYS1oaWRkZW49InRydWUiXG4gICAgIG1hdC1yaXBwbGUgW21hdFJpcHBsZURpc2FibGVkXT0iX2Rpc2FibGVTY3JvbGxCZWZvcmUgfHwgZGlzYWJsZVJpcHBsZSJcbiAgICAgW2NsYXNzLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWRdPSJfZGlzYWJsZVNjcm9sbEJlZm9yZSJcbiAgICAgKGNsaWNrKT0iX2hhbmRsZVBhZ2luYXRvckNsaWNrKFwnYmVmb3JlXCcpIlxuICAgICAobW91c2Vkb3duKT0iX2hhbmRsZVBhZ2luYXRvclByZXNzKFwnYmVmb3JlXCcsICRldmVudCkiXG4gICAgICh0b3VjaGVuZCk9Il9zdG9wSW50ZXJ2YWwoKSI+XG4gIDxkaXYgY2xhc3M9Im1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiI+PC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz0ibWF0LXRhYi1sYWJlbC1jb250YWluZXIiICN0YWJMaXN0Q29udGFpbmVyIChrZXlkb3duKT0iX2hhbmRsZUtleWRvd24oJGV2ZW50KSI+XG4gIDxkaXZcbiAgICAjdGFiTGlzdFxuICAgIGNsYXNzPSJtYXQtdGFiLWxpc3QiXG4gICAgW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXT0iX2FuaW1hdGlvbk1vZGUgPT09IFwnTm9vcEFuaW1hdGlvbnNcJyJcbiAgICByb2xlPSJ0YWJsaXN0IlxuICAgIChjZGtPYnNlcnZlQ29udGVudCk9Il9vbkNvbnRlbnRDaGFuZ2VzKCkiPlxuICAgIDxkaXYgY2xhc3M9Im1hdC10YWItbGFiZWxzIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8bWF0LWluay1iYXI+PC9tYXQtaW5rLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz0ibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiBtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWFmdGVyIG1hdC1lbGV2YXRpb24tejQiXG4gICAgICNuZXh0UGFnaW5hdG9yXG4gICAgIGFyaWEtaGlkZGVuPSJ0cnVlIlxuICAgICBtYXQtcmlwcGxlIFttYXRSaXBwbGVEaXNhYmxlZF09Il9kaXNhYmxlU2Nyb2xsQWZ0ZXIgfHwgZGlzYWJsZVJpcHBsZSJcbiAgICAgW2NsYXNzLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWRdPSJfZGlzYWJsZVNjcm9sbEFmdGVyIlxuICAgICAobW91c2Vkb3duKT0iX2hhbmRsZVBhZ2luYXRvclByZXNzKFwnYWZ0ZXJcJywgJGV2ZW50KSJcbiAgICAgKGNsaWNrKT0iX2hhbmRsZVBhZ2luYXRvckNsaWNrKFwnYWZ0ZXJcJykiXG4gICAgICh0b3VjaGVuZCk9Il9zdG9wSW50ZXJ2YWwoKSI+XG4gIDxkaXYgY2xhc3M9Im1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiI+PC9kaXY+XG48L2Rpdj5cbicsaW5wdXRzOlsic2VsZWN0ZWRJbmRleCJdLG91dHB1dHM6WyJzZWxlY3RGb2N1c2VkSW5kZXgiLCJpbmRleEZvY3VzZWQiXSxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLkRlZmF1bHQsaG9zdDp7Y2xhc3M6Im1hdC10YWItaGVhZGVyIiwiW2NsYXNzLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY29udHJvbHMtZW5hYmxlZF0iOiJfc2hvd1BhZ2luYXRpb25Db250cm9scyIsIltjbGFzcy5tYXQtdGFiLWhlYWRlci1ydGxdIjoiX2dldExheW91dERpcmVjdGlvbigpID09ICdydGwnIn0sc3R5bGVzOlsnLm1hdC10YWItaGVhZGVye2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7ZmxleC1zaHJpbms6MH0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbnstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpub25lO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi13aWR0aDozMnB4O2N1cnNvcjpwb2ludGVyO3otaW5kZXg6Mjstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dG91Y2gtYWN0aW9uOm5vbmV9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY29udHJvbHMtZW5hYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbntkaXNwbGF5OmZsZXh9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlLC5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXJ7cGFkZGluZy1sZWZ0OjRweH0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1iZWZvcmUgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1oZWFkZXItcnRsIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWFmdGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257dHJhbnNmb3JtOnJvdGF0ZSgtMTM1ZGVnKX0ubWF0LXRhYi1oZWFkZXItcnRsIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSwubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlcntwYWRkaW5nLXJpZ2h0OjRweH0ubWF0LXRhYi1oZWFkZXItcnRsIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWFmdGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweCAycHggMCAwO2NvbnRlbnQ6IiI7aGVpZ2h0OjhweDt3aWR0aDo4cHh9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWR7Ym94LXNoYWRvdzpub25lO2N1cnNvcjpkZWZhdWx0fS5tYXQtdGFiLWxpc3R7ZmxleC1ncm93OjE7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNTAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5tYXQtaW5rLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtoZWlnaHQ6MnB4O3RyYW5zaXRpb246NTAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtaW5rLWJhcnt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIC5tYXQtaW5rLWJhcntib3R0b206YXV0bzt0b3A6MH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtaW5rLWJhcntvdXRsaW5lOnNvbGlkIDJweDtoZWlnaHQ6MH0ubWF0LXRhYi1sYWJlbHN7ZGlzcGxheTpmbGV4fVttYXQtYWxpZ24tdGFicz1jZW50ZXJdPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbHN7anVzdGlmeS1jb250ZW50OmNlbnRlcn1bbWF0LWFsaWduLXRhYnM9ZW5kXT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWxze2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ubWF0LXRhYi1sYWJlbC1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZ3JvdzoxO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjF9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC10YWItbGlzdHt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC10YWItbGFiZWx7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDI0cHg7Y3Vyc29yOnBvaW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O29wYWNpdHk6LjY7bWluLXdpZHRoOjE2MHB4O3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtdGFiLWxhYmVsOmZvY3Vze291dGxpbmU6bm9uZX0ubWF0LXRhYi1sYWJlbDpmb2N1czpub3QoLm1hdC10YWItZGlzYWJsZWQpe29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdGFiLWxhYmVsOmZvY3Vze291dGxpbmU6ZG90dGVkIDJweDtvdXRsaW5lLW9mZnNldDotMnB4fS5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVke29wYWNpdHk6LjV9Lm1hdC10YWItbGFiZWwgLm1hdC10YWItbGFiZWwtY29udGVudHtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdGFiLWxhYmVse29wYWNpdHk6MX1AbWVkaWEobWF4LXdpZHRoOiA1OTlweCl7Lm1hdC10YWItbGFiZWx7bWluLXdpZHRoOjcycHh9fVxuJ119XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOlFMfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XX0pLHtfaXRlbXM6W3t0eXBlOm9yLGFyZ3M6W2tqLHtkZXNjZW5kYW50czohMX1dfV0sX2lua0Jhcjpbe3R5cGU6YXIsYXJnczpbbGose3N0YXRpYzohMH1dfV0sX3RhYkxpc3RDb250YWluZXI6W3t0eXBlOmFyLGFyZ3M6WyJ0YWJMaXN0Q29udGFpbmVyIix7c3RhdGljOiEwfV19XSxfdGFiTGlzdDpbe3R5cGU6YXIsYXJnczpbInRhYkxpc3QiLHtzdGF0aWM6ITB9XX1dLF9uZXh0UGFnaW5hdG9yOlt7dHlwZTphcixhcmdzOlsibmV4dFBhZ2luYXRvciJdfV0sX3ByZXZpb3VzUGFnaW5hdG9yOlt7dHlwZTphcixhcmdzOlsicHJldmlvdXNQYWdpbmF0b3IiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBBaiBleHRlbmRzIERqe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIpe3N1cGVyKHQsbyxpLGUsbixhLHIpLHRoaXMuX2Rpc2FibGVSaXBwbGU9ITEsdGhpcy5jb2xvcj0icHJpbWFyeSJ9Z2V0IGJhY2tncm91bmRDb2xvcigpe3JldHVybiB0aGlzLl9iYWNrZ3JvdW5kQ29sb3J9c2V0IGJhY2tncm91bmRDb2xvcih0KXtjb25zdCBlPXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3Q7ZS5yZW1vdmUoYG1hdC1iYWNrZ3JvdW5kLSR7dGhpcy5iYWNrZ3JvdW5kQ29sb3J9YCksdCYmZS5hZGQoYG1hdC1iYWNrZ3JvdW5kLSR7dH1gKSx0aGlzLl9iYWNrZ3JvdW5kQ29sb3I9dH1nZXQgZGlzYWJsZVJpcHBsZSgpe3JldHVybiB0aGlzLl9kaXNhYmxlUmlwcGxlfXNldCBkaXNhYmxlUmlwcGxlKHQpe3RoaXMuX2Rpc2FibGVSaXBwbGU9ZUgodCl9X2l0ZW1TZWxlY3RlZCgpe31uZ0FmdGVyQ29udGVudEluaXQoKXt0aGlzLl9pdGVtcy5jaGFuZ2VzLnBpcGUoQmUobnVsbCksamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMudXBkYXRlQWN0aXZlTGluaygpfSkpLHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpfXVwZGF0ZUFjdGl2ZUxpbmsoKXtpZighdGhpcy5faXRlbXMpcmV0dXJuO2NvbnN0IHQ9dGhpcy5faXRlbXMudG9BcnJheSgpO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKHRbZV0uYWN0aXZlKXJldHVybiB0aGlzLnNlbGVjdGVkSW5kZXg9ZSx2b2lkIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO3RoaXMuc2VsZWN0ZWRJbmRleD0tMSx0aGlzLl9pbmtCYXIuaGlkZSgpfX1Bai7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QWopKGdmKEtoKSxnZih2Riw4KSxnZihtQyksZ2YoT2IpLGdmKFFMKSxnZihjSCksZ2YoY2ssOCkpfSxBai7JtWRpcj1obyh7dHlwZTpBaixpbnB1dHM6e2NvbG9yOiJjb2xvciIsYmFja2dyb3VuZENvbG9yOiJiYWNrZ3JvdW5kQ29sb3IiLGRpc2FibGVSaXBwbGU6ImRpc2FibGVSaXBwbGUifSxmZWF0dXJlczpbUXBdfSksQWouY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6bUN9LHt0eXBlOk9ifSx7dHlwZTpRTH0se3R5cGU6Y0h9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XSxBai5wcm9wRGVjb3JhdG9ycz17YmFja2dyb3VuZENvbG9yOlt7dHlwZTpSX31dLGRpc2FibGVSaXBwbGU6W3t0eXBlOlJffV0sY29sb3I6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQWosW3t0eXBlOmtffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTptQ30se3R5cGU6T2J9LHt0eXBlOlFMfSx7dHlwZTpjSH0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse2NvbG9yOlt7dHlwZTpSX31dLGJhY2tncm91bmRDb2xvcjpbe3R5cGU6Ul99XSxkaXNhYmxlUmlwcGxlOlt7dHlwZTpSX31dfSk7Y2xhc3MgVGogZXh0ZW5kcyBBantjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyKXtzdXBlcih0LGUsbixvLGksYSxyKX19VGouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFRqKShnZihLaCksZ2YodkYsOCksZ2YobUMpLGdmKE9iKSxnZihRTCksZ2YoY0gpLGdmKGNrLDgpKX0sVGouybVjbXA9c28oe3R5cGU6VGosc2VsZWN0b3JzOltbIiIsIm1hdC10YWItbmF2LWJhciIsIiJdXSxjb250ZW50UXVlcmllczpmdW5jdGlvbiB0KGUsbixvKXtpZigxJmUmJmp5KG8sSWosNSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5faXRlbXM9dCl9fSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKFZ5KGxqLDcpLFZ5KG5qLDcpLFZ5KG9qLDcpLFZ5KGlqLDUpLFZ5KGFqLDUpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLl9pbmtCYXI9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uX3RhYkxpc3RDb250YWluZXI9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uX3RhYkxpc3Q9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uX25leHRQYWdpbmF0b3I9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uX3ByZXZpb3VzUGFnaW5hdG9yPXQuZmlyc3QpfX0saG9zdEF0dHJzOlsxLCJtYXQtdGFiLW5hdi1iYXIiLCJtYXQtdGFiLWhlYWRlciJdLGhvc3RWYXJzOjEwLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jb250cm9scy1lbmFibGVkIixuLl9zaG93UGFnaW5hdGlvbkNvbnRyb2xzKSgibWF0LXRhYi1oZWFkZXItcnRsIiwicnRsIj09bi5fZ2V0TGF5b3V0RGlyZWN0aW9uKCkpKCJtYXQtcHJpbWFyeSIsIndhcm4iIT09bi5jb2xvciYmImFjY2VudCIhPT1uLmNvbG9yKSgibWF0LWFjY2VudCIsImFjY2VudCI9PT1uLmNvbG9yKSgibWF0LXdhcm4iLCJ3YXJuIj09PW4uY29sb3IpfSxpbnB1dHM6e2NvbG9yOiJjb2xvciJ9LGV4cG9ydEFzOlsibWF0VGFiTmF2QmFyIiwibWF0VGFiTmF2Il0sZmVhdHVyZXM6W1FwXSxhdHRyczpbIm1hdC10YWItbmF2LWJhciIsIiJdLG5nQ29udGVudFNlbGVjdG9yczpHVixkZWNsczoxMyx2YXJzOjgsY29uc3RzOltbImFyaWEtaGlkZGVuIiwidHJ1ZSIsIm1hdC1yaXBwbGUiLCIiLDEsIm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24iLCJtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSIsIm1hdC1lbGV2YXRpb24tejQiLDMsIm1hdFJpcHBsZURpc2FibGVkIiwiY2xpY2siLCJtb3VzZWRvd24iLCJ0b3VjaGVuZCJdLFsicHJldmlvdXNQYWdpbmF0b3IiLCIiXSxbMSwibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIl0sWzEsIm1hdC10YWItbGluay1jb250YWluZXIiLDMsImtleWRvd24iXSxbInRhYkxpc3RDb250YWluZXIiLCIiXSxbMSwibWF0LXRhYi1saXN0IiwzLCJjZGtPYnNlcnZlQ29udGVudCJdLFsidGFiTGlzdCIsIiJdLFsxLCJtYXQtdGFiLWxpbmtzIl0sWyJhcmlhLWhpZGRlbiIsInRydWUiLCJtYXQtcmlwcGxlIiwiIiwxLCJtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIiwibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlciIsIm1hdC1lbGV2YXRpb24tejQiLDMsIm1hdFJpcHBsZURpc2FibGVkIiwibW91c2Vkb3duIiwiY2xpY2siLCJ0b3VjaGVuZCJdLFsibmV4dFBhZ2luYXRvciIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxDZigwLCJkaXYiLDAsMSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9oYW5kbGVQYWdpbmF0b3JDbGljaygiYmVmb3JlIil9KSkoIm1vdXNlZG93biIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2hhbmRsZVBhZ2luYXRvclByZXNzKCJiZWZvcmUiLGUpfSkpKCJ0b3VjaGVuZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fc3RvcEludGVydmFsKCl9KSksdmYoMiwiZGl2IiwyKSxNZigpLENmKDMsImRpdiIsMyw0KSxSZigia2V5ZG93biIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2hhbmRsZUtleWRvd24oZSl9KSksQ2YoNSwiZGl2Iiw1LDYpLFJmKCJjZGtPYnNlcnZlQ29udGVudCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fb25Db250ZW50Q2hhbmdlcygpfSkpLENmKDcsImRpdiIsNyksRmYoOCksTWYoKSx2Zig5LCJtYXQtaW5rLWJhciIpLE1mKCksTWYoKSxDZigxMCwiZGl2Iiw4LDkpLFJmKCJtb3VzZWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9oYW5kbGVQYWdpbmF0b3JQcmVzcygiYWZ0ZXIiLGUpfSkpKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5faGFuZGxlUGFnaW5hdG9yQ2xpY2soImFmdGVyIil9KSkoInRvdWNoZW5kIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9zdG9wSW50ZXJ2YWwoKX0pKSx2ZigxMiwiZGl2IiwyKSxNZigpKSwyJmUmJihjdSgibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCIsbi5fZGlzYWJsZVNjcm9sbEJlZm9yZSksYmYoIm1hdFJpcHBsZURpc2FibGVkIixuLl9kaXNhYmxlU2Nyb2xsQmVmb3JlfHxuLmRpc2FibGVSaXBwbGUpLERjKDUpLGN1KCJfbWF0LWFuaW1hdGlvbi1ub29wYWJsZSIsIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGUpLERjKDUpLGN1KCJtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIixuLl9kaXNhYmxlU2Nyb2xsQWZ0ZXIpLGJmKCJtYXRSaXBwbGVEaXNhYmxlZCIsbi5fZGlzYWJsZVNjcm9sbEFmdGVyfHxuLmRpc2FibGVSaXBwbGUpKX0sZGlyZWN0aXZlczpbbUwsUEgsbGpdLHN0eWxlczpbJy5tYXQtdGFiLWhlYWRlcntkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjB9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6bm9uZTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4td2lkdGg6MzJweDtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RvdWNoLWFjdGlvbjpub25lfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNvbnRyb2xzLWVuYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257ZGlzcGxheTpmbGV4fS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSwubWF0LXRhYi1oZWFkZXItcnRsIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWFmdGVye3BhZGRpbmctbGVmdDo0cHh9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItaGVhZGVyLXJ0bCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue3RyYW5zZm9ybTpyb3RhdGUoLTEzNWRlZyl9Lm1hdC10YWItaGVhZGVyLXJ0bCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1iZWZvcmUsLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXJ7cGFkZGluZy1yaWdodDo0cHh9Lm1hdC10YWItaGVhZGVyLXJ0bCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1iZWZvcmUgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHggMnB4IDAgMDtjb250ZW50OiIiO2hlaWdodDo4cHg7d2lkdGg6OHB4fS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVke2JveC1zaGFkb3c6bm9uZTtjdXJzb3I6ZGVmYXVsdH0ubWF0LXRhYi1saXN0e2ZsZXgtZ3JvdzoxO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246dHJhbnNmb3JtIDUwMG1zIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKX0ubWF0LXRhYi1saW5rc3tkaXNwbGF5OmZsZXh9W21hdC1hbGlnbi10YWJzPWNlbnRlcl0+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGlua3N7anVzdGlmeS1jb250ZW50OmNlbnRlcn1bbWF0LWFsaWduLXRhYnM9ZW5kXT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rc3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lm1hdC1pbmstYmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2hlaWdodDoycHg7dHJhbnNpdGlvbjo1MDBtcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSl9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1pbmstYmFye3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXRhYi1ncm91cC1pbnZlcnRlZC1oZWFkZXIgLm1hdC1pbmstYmFye2JvdHRvbTphdXRvO3RvcDowfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1pbmstYmFye291dGxpbmU6c29saWQgMnB4O2hlaWdodDowfS5tYXQtdGFiLWxpbmstY29udGFpbmVye2Rpc3BsYXk6ZmxleDtmbGV4LWdyb3c6MTtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoxfS5tYXQtdGFiLWxpbmt7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDI0cHg7Y3Vyc29yOnBvaW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O29wYWNpdHk6LjY7bWluLXdpZHRoOjE2MHB4O3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO3ZlcnRpY2FsLWFsaWduOnRvcDt0ZXh0LWRlY29yYXRpb246bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtdGFiLWxpbms6Zm9jdXN7b3V0bGluZTpub25lfS5tYXQtdGFiLWxpbms6Zm9jdXM6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRhYi1saW5rOmZvY3Vze291dGxpbmU6ZG90dGVkIDJweDtvdXRsaW5lLW9mZnNldDotMnB4fS5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtvcGFjaXR5Oi41fS5tYXQtdGFiLWxpbmsgLm1hdC10YWItbGFiZWwtY29udGVudHtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdGFiLWxpbmt7b3BhY2l0eToxfVttYXQtc3RyZXRjaC10YWJzXSAubWF0LXRhYi1saW5re2ZsZXgtYmFzaXM6MDtmbGV4LWdyb3c6MX0ubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7cG9pbnRlci1ldmVudHM6bm9uZX1AbWVkaWEobWF4LXdpZHRoOiA1OTlweCl7Lm1hdC10YWItbGlua3ttaW4td2lkdGg6NzJweH19XG4nXSxlbmNhcHN1bGF0aW9uOjJ9KSxUai5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTptQ30se3R5cGU6T2J9LHt0eXBlOlFMfSx7dHlwZTpjSH0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dLFRqLnByb3BEZWNvcmF0b3JzPXtfaXRlbXM6W3t0eXBlOm9yLGFyZ3M6WyRlKCgoKT0+SWopKSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9pbmtCYXI6W3t0eXBlOmFyLGFyZ3M6W2xqLHtzdGF0aWM6ITB9XX1dLF90YWJMaXN0Q29udGFpbmVyOlt7dHlwZTphcixhcmdzOlsidGFiTGlzdENvbnRhaW5lciIse3N0YXRpYzohMH1dfV0sX3RhYkxpc3Q6W3t0eXBlOmFyLGFyZ3M6WyJ0YWJMaXN0Iix7c3RhdGljOiEwfV19XSxfbmV4dFBhZ2luYXRvcjpbe3R5cGU6YXIsYXJnczpbIm5leHRQYWdpbmF0b3IiXX1dLF9wcmV2aW91c1BhZ2luYXRvcjpbe3R5cGU6YXIsYXJnczpbInByZXZpb3VzUGFnaW5hdG9yIl19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihUaixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJbbWF0LXRhYi1uYXYtYmFyXSIsZXhwb3J0QXM6Im1hdFRhYk5hdkJhciwgbWF0VGFiTmF2IixpbnB1dHM6WyJjb2xvciJdLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIG1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlIG1hdC1lbGV2YXRpb24tejQiXG4gICAgICNwcmV2aW91c1BhZ2luYXRvclxuICAgICBhcmlhLWhpZGRlbj0idHJ1ZSJcbiAgICAgbWF0LXJpcHBsZSBbbWF0UmlwcGxlRGlzYWJsZWRdPSJfZGlzYWJsZVNjcm9sbEJlZm9yZSB8fCBkaXNhYmxlUmlwcGxlIlxuICAgICBbY2xhc3MubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZF09Il9kaXNhYmxlU2Nyb2xsQmVmb3JlIlxuICAgICAoY2xpY2spPSJfaGFuZGxlUGFnaW5hdG9yQ2xpY2soXCdiZWZvcmVcJykiXG4gICAgIChtb3VzZWRvd24pPSJfaGFuZGxlUGFnaW5hdG9yUHJlc3MoXCdiZWZvcmVcJywgJGV2ZW50KSJcbiAgICAgKHRvdWNoZW5kKT0iX3N0b3BJbnRlcnZhbCgpIj5cbiAgPGRpdiBjbGFzcz0ibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIj48L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPSJtYXQtdGFiLWxpbmstY29udGFpbmVyIiAjdGFiTGlzdENvbnRhaW5lciAoa2V5ZG93bik9Il9oYW5kbGVLZXlkb3duKCRldmVudCkiPlxuICA8ZGl2XG4gICAgY2xhc3M9Im1hdC10YWItbGlzdCJcbiAgICBbY2xhc3MuX21hdC1hbmltYXRpb24tbm9vcGFibGVdPSJfYW5pbWF0aW9uTW9kZSA9PT0gXCdOb29wQW5pbWF0aW9uc1wnIlxuICAgICN0YWJMaXN0XG4gICAgKGNka09ic2VydmVDb250ZW50KT0iX29uQ29udGVudENoYW5nZXMoKSI+XG4gICAgPGRpdiBjbGFzcz0ibWF0LXRhYi1saW5rcyI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1pbmstYmFyPjwvbWF0LWluay1iYXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9Im1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gbWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlciBtYXQtZWxldmF0aW9uLXo0IlxuICAgICAjbmV4dFBhZ2luYXRvclxuICAgICBhcmlhLWhpZGRlbj0idHJ1ZSJcbiAgICAgbWF0LXJpcHBsZSBbbWF0UmlwcGxlRGlzYWJsZWRdPSJfZGlzYWJsZVNjcm9sbEFmdGVyIHx8IGRpc2FibGVSaXBwbGUiXG4gICAgIFtjbGFzcy5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkXT0iX2Rpc2FibGVTY3JvbGxBZnRlciJcbiAgICAgKG1vdXNlZG93bik9Il9oYW5kbGVQYWdpbmF0b3JQcmVzcyhcJ2FmdGVyXCcsICRldmVudCkiXG4gICAgIChjbGljayk9Il9oYW5kbGVQYWdpbmF0b3JDbGljayhcJ2FmdGVyXCcpIlxuICAgICAodG91Y2hlbmQpPSJfc3RvcEludGVydmFsKCkiPlxuICA8ZGl2IGNsYXNzPSJtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24iPjwvZGl2PlxuPC9kaXY+XG4nLGhvc3Q6e2NsYXNzOiJtYXQtdGFiLW5hdi1iYXIgbWF0LXRhYi1oZWFkZXIiLCJbY2xhc3MubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jb250cm9scy1lbmFibGVkXSI6Il9zaG93UGFnaW5hdGlvbkNvbnRyb2xzIiwiW2NsYXNzLm1hdC10YWItaGVhZGVyLXJ0bF0iOiJfZ2V0TGF5b3V0RGlyZWN0aW9uKCkgPT0gJ3J0bCciLCJbY2xhc3MubWF0LXByaW1hcnldIjonY29sb3IgIT09ICJ3YXJuIiAmJiBjb2xvciAhPT0gImFjY2VudCInLCJbY2xhc3MubWF0LWFjY2VudF0iOidjb2xvciA9PT0gImFjY2VudCInLCJbY2xhc3MubWF0LXdhcm5dIjonY29sb3IgPT09ICJ3YXJuIid9LGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxzdHlsZXM6WycubWF0LXRhYi1oZWFkZXJ7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LXNocmluazowfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmU7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLXdpZHRoOjMycHg7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0b3VjaC1hY3Rpb246bm9uZX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jb250cm9scy1lbmFibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9ue2Rpc3BsYXk6ZmxleH0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1iZWZvcmUsLm1hdC10YWItaGVhZGVyLXJ0bCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlcntwYWRkaW5nLWxlZnQ6NHB4fS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKC0xMzVkZWcpfS5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlLC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWFmdGVye3BhZGRpbmctcmlnaHQ6NHB4fS5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4IDJweCAwIDA7Y29udGVudDoiIjtoZWlnaHQ6OHB4O3dpZHRoOjhweH0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZHtib3gtc2hhZG93Om5vbmU7Y3Vyc29yOmRlZmF1bHR9Lm1hdC10YWItbGlzdHtmbGV4LWdyb3c6MTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSA1MDBtcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSl9Lm1hdC10YWItbGlua3N7ZGlzcGxheTpmbGV4fVttYXQtYWxpZ24tdGFicz1jZW50ZXJdPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmtze2p1c3RpZnktY29udGVudDpjZW50ZXJ9W21hdC1hbGlnbi10YWJzPWVuZF0+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGlua3N7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5tYXQtaW5rLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtoZWlnaHQ6MnB4O3RyYW5zaXRpb246NTAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtaW5rLWJhcnt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIC5tYXQtaW5rLWJhcntib3R0b206YXV0bzt0b3A6MH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtaW5rLWJhcntvdXRsaW5lOnNvbGlkIDJweDtoZWlnaHQ6MH0ubWF0LXRhYi1saW5rLWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7ZmxleC1ncm93OjE7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MX0ubWF0LXRhYi1saW5re2hlaWdodDo0OHB4O3BhZGRpbmc6MCAyNHB4O2N1cnNvcjpwb2ludGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtvcGFjaXR5Oi42O21pbi13aWR0aDoxNjBweDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjp0b3A7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ubWF0LXRhYi1saW5rOmZvY3Vze291dGxpbmU6bm9uZX0ubWF0LXRhYi1saW5rOmZvY3VzOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC10YWItbGluazpmb2N1c3tvdXRsaW5lOmRvdHRlZCAycHg7b3V0bGluZS1vZmZzZXQ6LTJweH0ubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7b3BhY2l0eTouNX0ubWF0LXRhYi1saW5rIC5tYXQtdGFiLWxhYmVsLWNvbnRlbnR7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRhYi1saW5re29wYWNpdHk6MX1bbWF0LXN0cmV0Y2gtdGFic10gLm1hdC10YWItbGlua3tmbGV4LWJhc2lzOjA7ZmxleC1ncm93OjF9Lm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVke3BvaW50ZXItZXZlbnRzOm5vbmV9QG1lZGlhKG1heC13aWR0aDogNTk5cHgpey5tYXQtdGFiLWxpbmt7bWluLXdpZHRoOjcycHh9fVxuJ119XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6bUN9LHt0eXBlOk9ifSx7dHlwZTpRTH0se3R5cGU6Y0h9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XX0pLHtfaXRlbXM6W3t0eXBlOm9yLGFyZ3M6WyRlKCgoKT0+SWopKSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9pbmtCYXI6W3t0eXBlOmFyLGFyZ3M6W2xqLHtzdGF0aWM6ITB9XX1dLF90YWJMaXN0Q29udGFpbmVyOlt7dHlwZTphcixhcmdzOlsidGFiTGlzdENvbnRhaW5lciIse3N0YXRpYzohMH1dfV0sX3RhYkxpc3Q6W3t0eXBlOmFyLGFyZ3M6WyJ0YWJMaXN0Iix7c3RhdGljOiEwfV19XSxfbmV4dFBhZ2luYXRvcjpbe3R5cGU6YXIsYXJnczpbIm5leHRQYWdpbmF0b3IiXX1dLF9wcmV2aW91c1BhZ2luYXRvcjpbe3R5cGU6YXIsYXJnczpbInByZXZpb3VzUGFnaW5hdG9yIl19XX0pO2NvbnN0IE5qPUZGKEhGKHpGKGNsYXNze30pKSk7Y2xhc3MgemogZXh0ZW5kcyBOantjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7c3VwZXIoKSx0aGlzLl90YWJOYXZCYXI9dCx0aGlzLmVsZW1lbnRSZWY9ZSx0aGlzLl9mb2N1c01vbml0b3I9aSx0aGlzLl9pc0FjdGl2ZT0hMSx0aGlzLnJpcHBsZUNvbmZpZz1ufHx7fSx0aGlzLnRhYkluZGV4PXBhcnNlSW50KG8pfHwwLCJOb29wQW5pbWF0aW9ucyI9PT1hJiYodGhpcy5yaXBwbGVDb25maWcuYW5pbWF0aW9uPXtlbnRlckR1cmF0aW9uOjAsZXhpdER1cmF0aW9uOjB9KX1nZXQgYWN0aXZlKCl7cmV0dXJuIHRoaXMuX2lzQWN0aXZlfXNldCBhY3RpdmUodCl7ZUgodCkhPT10aGlzLl9pc0FjdGl2ZSYmKHRoaXMuX2lzQWN0aXZlPXQsdGhpcy5fdGFiTmF2QmFyLnVwZGF0ZUFjdGl2ZUxpbmsoKSl9Z2V0IHJpcHBsZURpc2FibGVkKCl7cmV0dXJuIHRoaXMuZGlzYWJsZWR8fHRoaXMuZGlzYWJsZVJpcHBsZXx8dGhpcy5fdGFiTmF2QmFyLmRpc2FibGVSaXBwbGV8fCEhdGhpcy5yaXBwbGVDb25maWcuZGlzYWJsZWR9Zm9jdXMoKXt0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuZWxlbWVudFJlZil9bmdPbkRlc3Ryb3koKXt0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5lbGVtZW50UmVmKX1faGFuZGxlRm9jdXMoKXt0aGlzLl90YWJOYXZCYXIuZm9jdXNJbmRleD10aGlzLl90YWJOYXZCYXIuX2l0ZW1zLnRvQXJyYXkoKS5pbmRleE9mKHRoaXMpfX16ai7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8emopKGdmKEFqKSxnZihLaCksZ2YocEwsOCksR2EoInRhYmluZGV4IiksZ2YoZkYpLGdmKGNrLDgpKX0semouybVkaXI9aG8oe3R5cGU6emosaW5wdXRzOnthY3RpdmU6ImFjdGl2ZSJ9LGZlYXR1cmVzOltRcF19KSx6ai5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkFqfSx7dHlwZTpLaH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltwTF19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJ0YWJpbmRleCJdfV19LHt0eXBlOmZGfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0semoucHJvcERlY29yYXRvcnM9e2FjdGl2ZTpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih6aixbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6QWp9LHt0eXBlOktofSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3BMXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbInRhYmluZGV4Il19XX0se3R5cGU6ZkZ9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XX0pLHthY3RpdmU6W3t0eXBlOlJffV19KTtjbGFzcyBJaiBleHRlbmRzIHpqe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyl7c3VwZXIodCxlLGksYSxyLHMpLHRoaXMuX3RhYkxpbmtSaXBwbGU9bmV3IGRMKHRoaXMsbixlLG8pLHRoaXMuX3RhYkxpbmtSaXBwbGUuc2V0dXBUcmlnZ2VyRXZlbnRzKGUubmF0aXZlRWxlbWVudCl9bmdPbkRlc3Ryb3koKXtzdXBlci5uZ09uRGVzdHJveSgpLHRoaXMuX3RhYkxpbmtSaXBwbGUuX3JlbW92ZVRyaWdnZXJFdmVudHMoKX19SWouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fElqKShnZihUaiksZ2YoS2gpLGdmKG1DKSxnZihjSCksZ2YocEwsOCksR2EoInRhYmluZGV4IiksZ2YoZkYpLGdmKGNrLDgpKX0sSWouybVkaXI9aG8oe3R5cGU6SWosc2VsZWN0b3JzOltbIiIsIm1hdC10YWItbGluayIsIiJdLFsiIiwibWF0VGFiTGluayIsIiJdXSxob3N0QXR0cnM6WzEsIm1hdC10YWItbGluayIsIm1hdC1mb2N1cy1pbmRpY2F0b3IiXSxob3N0VmFyczo3LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigiZm9jdXMiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX2hhbmRsZUZvY3VzKCl9KSksMiZlJiYoeW0oImFyaWEtY3VycmVudCIsbi5hY3RpdmU/InBhZ2UiOm51bGwpKCJhcmlhLWRpc2FibGVkIixuLmRpc2FibGVkKSgidGFiSW5kZXgiLG4udGFiSW5kZXgpLGN1KCJtYXQtdGFiLWRpc2FibGVkIixuLmRpc2FibGVkKSgibWF0LXRhYi1sYWJlbC1hY3RpdmUiLG4uYWN0aXZlKSl9LGlucHV0czp7ZGlzYWJsZWQ6ImRpc2FibGVkIixkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIix0YWJJbmRleDoidGFiSW5kZXgifSxleHBvcnRBczpbIm1hdFRhYkxpbmsiXSxmZWF0dXJlczpbUXBdfSksSWouY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpUan0se3R5cGU6S2h9LHt0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltwTF19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJ0YWJpbmRleCJdfV19LHt0eXBlOmZGfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihJaixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbWF0LXRhYi1saW5rXSwgW21hdFRhYkxpbmtdIixleHBvcnRBczoibWF0VGFiTGluayIsaW5wdXRzOlsiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiXSxob3N0OntjbGFzczoibWF0LXRhYi1saW5rIG1hdC1mb2N1cy1pbmRpY2F0b3IiLCJbYXR0ci5hcmlhLWN1cnJlbnRdIjonYWN0aXZlID8gInBhZ2UiIDogbnVsbCcsIlthdHRyLmFyaWEtZGlzYWJsZWRdIjoiZGlzYWJsZWQiLCJbYXR0ci50YWJJbmRleF0iOiJ0YWJJbmRleCIsIltjbGFzcy5tYXQtdGFiLWRpc2FibGVkXSI6ImRpc2FibGVkIiwiW2NsYXNzLm1hdC10YWItbGFiZWwtYWN0aXZlXSI6ImFjdGl2ZSIsIihmb2N1cykiOiJfaGFuZGxlRm9jdXMoKSJ9fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6VGp9LHt0eXBlOktofSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbcExdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsidGFiaW5kZXgiXX1dfSx7dHlwZTpmRn0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBIant9SGouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEhqKX0sSGouybVtb2Q9Zm8oe3R5cGU6SGp9KSxIai7JtWluaj1Ebih7aW1wb3J0czpbW3J4LE5GLGhCLGZMLHdILF9GXSxORl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEhqLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbcngsTkYsaEIsZkwsd0gsX0ZdLGV4cG9ydHM6W05GLFBqLG1qLGdqLFRqLElqLGRqXSxkZWNsYXJhdGlvbnM6W1BqLG1qLGdqLGxqLGtqLFRqLElqLF9qLGJqLEVqLGRqXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEhqLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bUGosbWosZ2osbGosa2osVGosSWosX2osYmosRWosZGpdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW3J4LE5GLGhCLGZMLHdILF9GXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltORixQaixtaixnaixUaixJaixkal19fSk7Y29uc3QgRmo9WyJ1bmRlcmxpbmUiXSxMaj1bImNvbm5lY3Rpb25Db250YWluZXIiXSxCaj1bImlucHV0Q29udGFpbmVyIl0sVmo9WyJsYWJlbCJdO2Z1bmN0aW9uIGpqKHQsZSl7MSZ0JiYoeGYoMCksQ2YoMSwiZGl2IiwxNCksdmYoMiwiZGl2IiwxNSksdmYoMywiZGl2IiwxNiksdmYoNCwiZGl2IiwxNyksTWYoKSxDZig1LCJkaXYiLDE4KSx2Zig2LCJkaXYiLDE1KSx2Zig3LCJkaXYiLDE2KSx2Zig4LCJkaXYiLDE3KSxNZigpLE9mKCkpfWZ1bmN0aW9uIFVqKHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxOSksRmYoMSwxKSxNZigpKX1mdW5jdGlvbiBXaih0LGUpe2lmKDEmdCYmKHhmKDApLEZmKDEsMiksQ2YoMiwic3BhbiIpLFB1KDMpLE1mKCksT2YoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDMpLHd1KHQuX2NvbnRyb2wucGxhY2Vob2xkZXIpfX1mdW5jdGlvbiBHaih0LGUpezEmdCYmRmYoMCwzLFsiKm5nU3dpdGNoQ2FzZSIsInRydWUiXSl9ZnVuY3Rpb24gWWoodCxlKXsxJnQmJihDZigwLCJzcGFuIiwyMyksUHUoMSwiICoiKSxNZigpKX1mdW5jdGlvbiBxaih0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImxhYmVsIiwyMCwyMSksUmYoImNka09ic2VydmVDb250ZW50IiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLnVwZGF0ZU91dGxpbmVHYXAoKX0pKSxIbSgyLFdqLDQsMSwibmctY29udGFpbmVyIiwxMiksSG0oMyxHaiwxLDAsIm5nLWNvbnRlbnQiLDEyKSxIbSg0LFlqLDIsMCwic3BhbiIsMjIpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7Y3UoIm1hdC1lbXB0eSIsdC5fY29udHJvbC5lbXB0eSYmIXQuX3Nob3VsZEFsd2F5c0Zsb2F0KCkpKCJtYXQtZm9ybS1maWVsZC1lbXB0eSIsdC5fY29udHJvbC5lbXB0eSYmIXQuX3Nob3VsZEFsd2F5c0Zsb2F0KCkpKCJtYXQtYWNjZW50IiwiYWNjZW50Ij09dC5jb2xvcikoIm1hdC13YXJuIiwid2FybiI9PXQuY29sb3IpLGJmKCJjZGtPYnNlcnZlQ29udGVudERpc2FibGVkIiwib3V0bGluZSIhPXQuYXBwZWFyYW5jZSkoImlkIix0Ll9sYWJlbElkKSgibmdTd2l0Y2giLHQuX2hhc0xhYmVsKCkpLHltKCJmb3IiLHQuX2NvbnRyb2wuaWQpKCJhcmlhLW93bnMiLHQuX2NvbnRyb2wuaWQpLERjKDIpLGJmKCJuZ1N3aXRjaENhc2UiLCExKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIiwhMCksRGMoMSksYmYoIm5nSWYiLCF0LmhpZGVSZXF1aXJlZE1hcmtlciYmdC5fY29udHJvbC5yZXF1aXJlZCYmIXQuX2NvbnRyb2wuZGlzYWJsZWQpfX1mdW5jdGlvbiBaaih0LGUpezEmdCYmKENmKDAsImRpdiIsMjQpLEZmKDEsNCksTWYoKSl9ZnVuY3Rpb24gWGoodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDI1LDI2KSx2ZigyLCJzcGFuIiwyNyksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksY3UoIm1hdC1hY2NlbnQiLCJhY2NlbnQiPT10LmNvbG9yKSgibWF0LXdhcm4iLCJ3YXJuIj09dC5jb2xvcil9fWZ1bmN0aW9uIEtqKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiksRmYoMSw1KSxNZigpKSwyJnQpe2JmKCJAdHJhbnNpdGlvbk1lc3NhZ2VzIix6ZigpLl9zdWJzY3JpcHRBbmltYXRpb25TdGF0ZSl9fWZ1bmN0aW9uIEpqKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiwzMSksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJpZCIsdC5faGludExhYmVsSWQpLERjKDEpLHd1KHQuaGludExhYmVsKX19ZnVuY3Rpb24gUWoodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDI4KSxIbSgxLEpqLDIsMiwiZGl2IiwyOSksRmYoMiw2KSx2ZigzLCJkaXYiLDMwKSxGZig0LDcpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO2JmKCJAdHJhbnNpdGlvbk1lc3NhZ2VzIix0Ll9zdWJzY3JpcHRBbmltYXRpb25TdGF0ZSksRGMoMSksYmYoIm5nSWYiLHQuaGludExhYmVsKX19Y29uc3QgJGo9WyIqIixbWyIiLCJtYXRQcmVmaXgiLCIiXV0sW1sibWF0LXBsYWNlaG9sZGVyIl1dLFtbIm1hdC1sYWJlbCJdXSxbWyIiLCJtYXRTdWZmaXgiLCIiXV0sW1sibWF0LWVycm9yIl1dLFtbIm1hdC1oaW50IiwzLCJhbGlnbiIsImVuZCJdXSxbWyJtYXQtaGludCIsImFsaWduIiwiZW5kIl1dXTtsZXQgdFU9MDtjb25zdCBlVT1uZXcgZXIoIk1hdEVycm9yIik7Y2xhc3MgblV7Y29uc3RydWN0b3IodCxlKXt0aGlzLmlkPSJtYXQtZXJyb3ItIit0VSsrLHR8fGUubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGl2ZSIsInBvbGl0ZSIpfX1uVS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8blUpKEdhKCJhcmlhLWxpdmUiKSxnZihLaCkpfSxuVS7JtWRpcj1obyh7dHlwZTpuVSxzZWxlY3RvcnM6W1sibWF0LWVycm9yIl1dLGhvc3RBdHRyczpbImFyaWEtYXRvbWljIiwidHJ1ZSIsMSwibWF0LWVycm9yIl0saG9zdFZhcnM6MSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmeW0oImlkIixuLmlkKX0saW5wdXRzOntpZDoiaWQifSxmZWF0dXJlczpbamgoW3twcm92aWRlOmVVLHVzZUV4aXN0aW5nOm5VfV0pXX0pLG5VLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJhcmlhLWxpdmUiXX1dfSx7dHlwZTpLaH1dLG5VLnByb3BEZWNvcmF0b3JzPXtpZDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihuVSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtZXJyb3IiLGhvc3Q6e2NsYXNzOiJtYXQtZXJyb3IiLCJbYXR0ci5pZF0iOiJpZCIsImFyaWEtYXRvbWljIjoidHJ1ZSJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6ZVUsdXNlRXhpc3Rpbmc6blV9XX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsiYXJpYS1saXZlIl19XX0se3R5cGU6S2h9XX0pLHtpZDpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3Qgb1U9e3RyYW5zaXRpb25NZXNzYWdlczp4TygidHJhbnNpdGlvbk1lc3NhZ2VzIixba08oImVudGVyIix3Tyh7b3BhY2l0eToxLHRyYW5zZm9ybToidHJhbnNsYXRlWSgwJSkifSkpLERPKCJ2b2lkID0+IGVudGVyIixbd08oe29wYWNpdHk6MCx0cmFuc2Zvcm06InRyYW5zbGF0ZVkoLTVweCkifSksT08oIjMwMG1zIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjU1LCAwLjIpIildKV0pfTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgaVV7fWZ1bmN0aW9uIGFVKHQpe3JldHVybiBFcnJvcihgQSBoaW50IHdhcyBhbHJlYWR5IGRlY2xhcmVkIGZvciAnYWxpZ249IiR7dH0iJy5gKX1pVS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aVUpfSxpVS7JtWRpcj1obyh7dHlwZTppVX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaVUsW3t0eXBlOmtffV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCByVT0wO2NvbnN0IHNVPW5ldyBlcigiTWF0SGludCIpO2NsYXNzIGxVe2NvbnN0cnVjdG9yKCl7dGhpcy5hbGlnbj0ic3RhcnQiLHRoaXMuaWQ9Im1hdC1oaW50LSIrclUrK319bFUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGxVKX0sbFUuybVkaXI9aG8oe3R5cGU6bFUsc2VsZWN0b3JzOltbIm1hdC1oaW50Il1dLGhvc3RBdHRyczpbMSwibWF0LWhpbnQiXSxob3N0VmFyczo0LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiYoeW0oImlkIixuLmlkKSgiYWxpZ24iLG51bGwpLGN1KCJtYXQtZm9ybS1maWVsZC1oaW50LWVuZCIsImVuZCI9PT1uLmFsaWduKSl9LGlucHV0czp7YWxpZ246ImFsaWduIixpZDoiaWQifSxmZWF0dXJlczpbamgoW3twcm92aWRlOnNVLHVzZUV4aXN0aW5nOmxVfV0pXX0pLGxVLnByb3BEZWNvcmF0b3JzPXthbGlnbjpbe3R5cGU6Ul99XSxpZDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihsVSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtaGludCIsaG9zdDp7Y2xhc3M6Im1hdC1oaW50IiwiW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWhpbnQtZW5kXSI6J2FsaWduID09PSAiZW5kIicsIlthdHRyLmlkXSI6ImlkIiwiW2F0dHIuYWxpZ25dIjoibnVsbCJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6c1UsdXNlRXhpc3Rpbmc6bFV9XX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSx7YWxpZ246W3t0eXBlOlJffV0saWQ6W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIGNVe31jVS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Y1UpfSxjVS7JtWRpcj1obyh7dHlwZTpjVSxzZWxlY3RvcnM6W1sibWF0LWxhYmVsIl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihjVSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtbGFiZWwifV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgZFV7fWRVLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxkVSl9LGRVLsm1ZGlyPWhvKHt0eXBlOmRVLHNlbGVjdG9yczpbWyJtYXQtcGxhY2Vob2xkZXIiXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRVLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1wbGFjZWhvbGRlciJ9XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBwVT1uZXcgZXIoIk1hdFByZWZpeCIpO2NsYXNzIG1Ve31tVS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bVUpfSxtVS7JtWRpcj1obyh7dHlwZTptVSxzZWxlY3RvcnM6W1siIiwibWF0UHJlZml4IiwiIl1dLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6cFUsdXNlRXhpc3Rpbmc6bVV9XSldfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihtVSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbWF0UHJlZml4XSIscHJvdmlkZXJzOlt7cHJvdmlkZTpwVSx1c2VFeGlzdGluZzptVX1dfV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgZlU9bmV3IGVyKCJNYXRTdWZmaXgiKTtjbGFzcyB1VXt9dVUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHVVKX0sdVUuybVkaXI9aG8oe3R5cGU6dVUsc2VsZWN0b3JzOltbIiIsIm1hdFN1ZmZpeCIsIiJdXSxmZWF0dXJlczpbamgoW3twcm92aWRlOmZVLHVzZUV4aXN0aW5nOnVVfV0pXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodVUsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdFN1ZmZpeF0iLHByb3ZpZGVyczpbe3Byb3ZpZGU6ZlUsdXNlRXhpc3Rpbmc6dVV9XX1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBnVT0wO2NvbnN0IGhVPUlGKGNsYXNze2NvbnN0cnVjdG9yKHQpe3RoaXMuX2VsZW1lbnRSZWY9dH19LCJwcmltYXJ5IiksYlU9bmV3IGVyKCJNQVRfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMiKSx5VT1uZXcgZXIoIk1hdEZvcm1GaWVsZCIpO2NsYXNzIF9VIGV4dGVuZHMgaFV7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzKXtzdXBlcih0KSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj1lLHRoaXMuX2Rpcj1vLHRoaXMuX2RlZmF1bHRzPWksdGhpcy5fcGxhdGZvcm09YSx0aGlzLl9uZ1pvbmU9cix0aGlzLl9vdXRsaW5lR2FwQ2FsY3VsYXRpb25OZWVkZWRJbW1lZGlhdGVseT0hMSx0aGlzLl9vdXRsaW5lR2FwQ2FsY3VsYXRpb25OZWVkZWRPblN0YWJsZT0hMSx0aGlzLl9kZXN0cm95ZWQ9bmV3IEIsdGhpcy5fc2hvd0Fsd2F5c0FuaW1hdGU9ITEsdGhpcy5fc3Vic2NyaXB0QW5pbWF0aW9uU3RhdGU9IiIsdGhpcy5faGludExhYmVsPSIiLHRoaXMuX2hpbnRMYWJlbElkPSJtYXQtaGludC0iK2dVKyssdGhpcy5fbGFiZWxJZD0ibWF0LWZvcm0tZmllbGQtbGFiZWwtIitnVSsrLHRoaXMuZmxvYXRMYWJlbD10aGlzLl9nZXREZWZhdWx0RmxvYXRMYWJlbFN0YXRlKCksdGhpcy5fYW5pbWF0aW9uc0VuYWJsZWQ9Ik5vb3BBbmltYXRpb25zIiE9PXMsdGhpcy5hcHBlYXJhbmNlPWkmJmkuYXBwZWFyYW5jZT9pLmFwcGVhcmFuY2U6ImxlZ2FjeSIsdGhpcy5faGlkZVJlcXVpcmVkTWFya2VyPSEoIWl8fG51bGw9PWkuaGlkZVJlcXVpcmVkTWFya2VyKSYmaS5oaWRlUmVxdWlyZWRNYXJrZXJ9Z2V0IGFwcGVhcmFuY2UoKXtyZXR1cm4gdGhpcy5fYXBwZWFyYW5jZX1zZXQgYXBwZWFyYW5jZSh0KXtjb25zdCBlPXRoaXMuX2FwcGVhcmFuY2U7dGhpcy5fYXBwZWFyYW5jZT10fHx0aGlzLl9kZWZhdWx0cyYmdGhpcy5fZGVmYXVsdHMuYXBwZWFyYW5jZXx8ImxlZ2FjeSIsIm91dGxpbmUiPT09dGhpcy5fYXBwZWFyYW5jZSYmZSE9PXQmJih0aGlzLl9vdXRsaW5lR2FwQ2FsY3VsYXRpb25OZWVkZWRPblN0YWJsZT0hMCl9Z2V0IGhpZGVSZXF1aXJlZE1hcmtlcigpe3JldHVybiB0aGlzLl9oaWRlUmVxdWlyZWRNYXJrZXJ9c2V0IGhpZGVSZXF1aXJlZE1hcmtlcih0KXt0aGlzLl9oaWRlUmVxdWlyZWRNYXJrZXI9ZUgodCl9X3Nob3VsZEFsd2F5c0Zsb2F0KCl7cmV0dXJuImFsd2F5cyI9PT10aGlzLmZsb2F0TGFiZWwmJiF0aGlzLl9zaG93QWx3YXlzQW5pbWF0ZX1fY2FuTGFiZWxGbG9hdCgpe3JldHVybiJuZXZlciIhPT10aGlzLmZsb2F0TGFiZWx9Z2V0IGhpbnRMYWJlbCgpe3JldHVybiB0aGlzLl9oaW50TGFiZWx9c2V0IGhpbnRMYWJlbCh0KXt0aGlzLl9oaW50TGFiZWw9dCx0aGlzLl9wcm9jZXNzSGludHMoKX1nZXQgZmxvYXRMYWJlbCgpe3JldHVybiJsZWdhY3kiIT09dGhpcy5hcHBlYXJhbmNlJiYibmV2ZXIiPT09dGhpcy5fZmxvYXRMYWJlbD8iYXV0byI6dGhpcy5fZmxvYXRMYWJlbH1zZXQgZmxvYXRMYWJlbCh0KXt0IT09dGhpcy5fZmxvYXRMYWJlbCYmKHRoaXMuX2Zsb2F0TGFiZWw9dHx8dGhpcy5fZ2V0RGVmYXVsdEZsb2F0TGFiZWxTdGF0ZSgpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKX1nZXQgX2NvbnRyb2woKXtyZXR1cm4gdGhpcy5fZXhwbGljaXRGb3JtRmllbGRDb250cm9sfHx0aGlzLl9jb250cm9sTm9uU3RhdGljfHx0aGlzLl9jb250cm9sU3RhdGljfXNldCBfY29udHJvbCh0KXt0aGlzLl9leHBsaWNpdEZvcm1GaWVsZENvbnRyb2w9dH1nZXRMYWJlbElkKCl7cmV0dXJuIHRoaXMuX2hhc0Zsb2F0aW5nTGFiZWwoKT90aGlzLl9sYWJlbElkOm51bGx9Z2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uQ29udGFpbmVyUmVmfHx0aGlzLl9lbGVtZW50UmVmfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX3ZhbGlkYXRlQ29udHJvbENoaWxkKCk7Y29uc3QgdD10aGlzLl9jb250cm9sO3QuY29udHJvbFR5cGUmJnRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBtYXQtZm9ybS1maWVsZC10eXBlLSR7dC5jb250cm9sVHlwZX1gKSx0LnN0YXRlQ2hhbmdlcy5waXBlKEJlKG51bGwpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fdmFsaWRhdGVQbGFjZWhvbGRlcnMoKSx0aGlzLl9zeW5jRGVzY3JpYmVkQnlJZHMoKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX0pKSx0Lm5nQ29udHJvbCYmdC5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzJiZ0Lm5nQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT50aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSkpLHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fb3V0bGluZUdhcENhbGN1bGF0aW9uTmVlZGVkT25TdGFibGUmJnRoaXMudXBkYXRlT3V0bGluZUdhcCgpfSkpfSkpLHBlKHRoaXMuX3ByZWZpeENoaWxkcmVuLmNoYW5nZXMsdGhpcy5fc3VmZml4Q2hpbGRyZW4uY2hhbmdlcykuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX291dGxpbmVHYXBDYWxjdWxhdGlvbk5lZWRlZE9uU3RhYmxlPSEwLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfSkpLHRoaXMuX2hpbnRDaGlsZHJlbi5jaGFuZ2VzLnBpcGUoQmUobnVsbCkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9wcm9jZXNzSGludHMoKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX0pKSx0aGlzLl9lcnJvckNoaWxkcmVuLmNoYW5nZXMucGlwZShCZShudWxsKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3N5bmNEZXNjcmliZWRCeUlkcygpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfSkpLHRoaXMuX2RpciYmdGhpcy5fZGlyLmNoYW5nZS5waXBlKGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgoKCk9PnsiZnVuY3Rpb24iPT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lP3RoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PntyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLnVwZGF0ZU91dGxpbmVHYXAoKSkpfSkpOnRoaXMudXBkYXRlT3V0bGluZUdhcCgpfSkpfW5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpe3RoaXMuX3ZhbGlkYXRlQ29udHJvbENoaWxkKCksdGhpcy5fb3V0bGluZUdhcENhbGN1bGF0aW9uTmVlZGVkSW1tZWRpYXRlbHkmJnRoaXMudXBkYXRlT3V0bGluZUdhcCgpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuX3N1YnNjcmlwdEFuaW1hdGlvblN0YXRlPSJlbnRlciIsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpfW5nT25EZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkLm5leHQoKSx0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKX1fc2hvdWxkRm9yd2FyZCh0KXtjb25zdCBlPXRoaXMuX2NvbnRyb2w/dGhpcy5fY29udHJvbC5uZ0NvbnRyb2w6bnVsbDtyZXR1cm4gZSYmZVt0XX1faGFzUGxhY2Vob2xkZXIoKXtyZXR1cm4hISh0aGlzLl9jb250cm9sJiZ0aGlzLl9jb250cm9sLnBsYWNlaG9sZGVyfHx0aGlzLl9wbGFjZWhvbGRlckNoaWxkKX1faGFzTGFiZWwoKXtyZXR1cm4hKCF0aGlzLl9sYWJlbENoaWxkTm9uU3RhdGljJiYhdGhpcy5fbGFiZWxDaGlsZFN0YXRpYyl9X3Nob3VsZExhYmVsRmxvYXQoKXtyZXR1cm4gdGhpcy5fY2FuTGFiZWxGbG9hdCgpJiYodGhpcy5fY29udHJvbCYmdGhpcy5fY29udHJvbC5zaG91bGRMYWJlbEZsb2F0fHx0aGlzLl9zaG91bGRBbHdheXNGbG9hdCgpKX1faGlkZUNvbnRyb2xQbGFjZWhvbGRlcigpe3JldHVybiJsZWdhY3kiPT09dGhpcy5hcHBlYXJhbmNlJiYhdGhpcy5faGFzTGFiZWwoKXx8dGhpcy5faGFzTGFiZWwoKSYmIXRoaXMuX3Nob3VsZExhYmVsRmxvYXQoKX1faGFzRmxvYXRpbmdMYWJlbCgpe3JldHVybiB0aGlzLl9oYXNMYWJlbCgpfHwibGVnYWN5Ij09PXRoaXMuYXBwZWFyYW5jZSYmdGhpcy5faGFzUGxhY2Vob2xkZXIoKX1fZ2V0RGlzcGxheWVkTWVzc2FnZXMoKXtyZXR1cm4gdGhpcy5fZXJyb3JDaGlsZHJlbiYmdGhpcy5fZXJyb3JDaGlsZHJlbi5sZW5ndGg+MCYmdGhpcy5fY29udHJvbC5lcnJvclN0YXRlPyJlcnJvciI6ImhpbnQifV9hbmltYXRlQW5kTG9ja0xhYmVsKCl7dGhpcy5faGFzRmxvYXRpbmdMYWJlbCgpJiZ0aGlzLl9jYW5MYWJlbEZsb2F0KCkmJih0aGlzLl9hbmltYXRpb25zRW5hYmxlZCYmdGhpcy5fbGFiZWwmJih0aGlzLl9zaG93QWx3YXlzQW5pbWF0ZT0hMCxsZSh0aGlzLl9sYWJlbC5uYXRpdmVFbGVtZW50LCJ0cmFuc2l0aW9uZW5kIikucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3Nob3dBbHdheXNBbmltYXRlPSExfSkpKSx0aGlzLmZsb2F0TGFiZWw9ImFsd2F5cyIsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpfV92YWxpZGF0ZVBsYWNlaG9sZGVycygpe2lmKHRoaXMuX2NvbnRyb2wucGxhY2Vob2xkZXImJnRoaXMuX3BsYWNlaG9sZGVyQ2hpbGQmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSkKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCnRocm93KGZ1bmN0aW9uIHQoKXtyZXR1cm4gRXJyb3IoIlBsYWNlaG9sZGVyIGF0dHJpYnV0ZSBhbmQgY2hpbGQgZWxlbWVudCB3ZXJlIGJvdGggc3BlY2lmaWVkLiIpfSkoKX1fcHJvY2Vzc0hpbnRzKCl7dGhpcy5fdmFsaWRhdGVIaW50cygpLHRoaXMuX3N5bmNEZXNjcmliZWRCeUlkcygpfV92YWxpZGF0ZUhpbnRzKCl7aWYodGhpcy5faGludENoaWxkcmVuJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpe2xldCB0LGU7dGhpcy5faGludENoaWxkcmVuLmZvckVhY2goKG49PntpZigic3RhcnQiPT09bi5hbGlnbil7aWYodHx8dGhpcy5oaW50TGFiZWwpdGhyb3cgYVUoInN0YXJ0Iik7dD1ufWVsc2UgaWYoImVuZCI9PT1uLmFsaWduKXtpZihlKXRocm93IGFVKCJlbmQiKTtlPW59fSkpfX1fZ2V0RGVmYXVsdEZsb2F0TGFiZWxTdGF0ZSgpe3JldHVybiB0aGlzLl9kZWZhdWx0cyYmdGhpcy5fZGVmYXVsdHMuZmxvYXRMYWJlbHx8ImF1dG8ifV9zeW5jRGVzY3JpYmVkQnlJZHMoKXtpZih0aGlzLl9jb250cm9sKXtsZXQgdD1bXTtpZih0aGlzLl9jb250cm9sLnVzZXJBcmlhRGVzY3JpYmVkQnkmJiJzdHJpbmciPT10eXBlb2YgdGhpcy5fY29udHJvbC51c2VyQXJpYURlc2NyaWJlZEJ5JiZ0LnB1c2goLi4udGhpcy5fY29udHJvbC51c2VyQXJpYURlc2NyaWJlZEJ5LnNwbGl0KCIgIikpLCJoaW50Ij09PXRoaXMuX2dldERpc3BsYXllZE1lc3NhZ2VzKCkpe2NvbnN0IGU9dGhpcy5faGludENoaWxkcmVuP3RoaXMuX2hpbnRDaGlsZHJlbi5maW5kKCh0PT4ic3RhcnQiPT09dC5hbGlnbikpOm51bGwsbj10aGlzLl9oaW50Q2hpbGRyZW4/dGhpcy5faGludENoaWxkcmVuLmZpbmQoKHQ9PiJlbmQiPT09dC5hbGlnbikpOm51bGw7ZT90LnB1c2goZS5pZCk6dGhpcy5faGludExhYmVsJiZ0LnB1c2godGhpcy5faGludExhYmVsSWQpLG4mJnQucHVzaChuLmlkKX1lbHNlIHRoaXMuX2Vycm9yQ2hpbGRyZW4mJnQucHVzaCguLi50aGlzLl9lcnJvckNoaWxkcmVuLm1hcCgodD0+dC5pZCkpKTt0aGlzLl9jb250cm9sLnNldERlc2NyaWJlZEJ5SWRzKHQpfX1fdmFsaWRhdGVDb250cm9sQ2hpbGQoKXtpZighdGhpcy5fY29udHJvbCYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93KGZ1bmN0aW9uIHQoKXtyZXR1cm4gRXJyb3IoIm1hdC1mb3JtLWZpZWxkIG11c3QgY29udGFpbiBhIE1hdEZvcm1GaWVsZENvbnRyb2wuIil9KSgpfXVwZGF0ZU91dGxpbmVHYXAoKXtjb25zdCB0PXRoaXMuX2xhYmVsP3RoaXMuX2xhYmVsLm5hdGl2ZUVsZW1lbnQ6bnVsbDtpZigib3V0bGluZSIhPT10aGlzLmFwcGVhcmFuY2V8fCF0fHwhdC5jaGlsZHJlbi5sZW5ndGh8fCF0LnRleHRDb250ZW50LnRyaW0oKSlyZXR1cm47aWYoIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3NlcilyZXR1cm47aWYoIXRoaXMuX2lzQXR0YWNoZWRUb0RPTSgpKXJldHVybiB2b2lkKHRoaXMuX291dGxpbmVHYXBDYWxjdWxhdGlvbk5lZWRlZEltbWVkaWF0ZWx5PSEwKTtsZXQgZT0wLG49MDtjb25zdCBvPXRoaXMuX2Nvbm5lY3Rpb25Db250YWluZXJSZWYubmF0aXZlRWxlbWVudCxpPW8ucXVlcnlTZWxlY3RvckFsbCgiLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnQiKSxhPW8ucXVlcnlTZWxlY3RvckFsbCgiLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZ2FwIik7aWYodGhpcy5fbGFiZWwmJnRoaXMuX2xhYmVsLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoKXtjb25zdCBpPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoMD09PWkud2lkdGgmJjA9PT1pLmhlaWdodClyZXR1cm4gdGhpcy5fb3V0bGluZUdhcENhbGN1bGF0aW9uTmVlZGVkT25TdGFibGU9ITAsdm9pZCh0aGlzLl9vdXRsaW5lR2FwQ2FsY3VsYXRpb25OZWVkZWRJbW1lZGlhdGVseT0hMSk7Y29uc3QgYT10aGlzLl9nZXRTdGFydEVuZChpKSxyPXQuY2hpbGRyZW4scz10aGlzLl9nZXRTdGFydEVuZChyWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtsZXQgbD0wO2ZvcihsZXQgdD0wO3Q8ci5sZW5ndGg7dCsrKWwrPXJbdF0ub2Zmc2V0V2lkdGg7ZT1NYXRoLmFicyhzLWEpLTUsbj1sPjA/Ljc1KmwrMTA6MH1mb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKylpW3RdLnN0eWxlLndpZHRoPWAke2V9cHhgO2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7dCsrKWFbdF0uc3R5bGUud2lkdGg9YCR7bn1weGA7dGhpcy5fb3V0bGluZUdhcENhbGN1bGF0aW9uTmVlZGVkT25TdGFibGU9dGhpcy5fb3V0bGluZUdhcENhbGN1bGF0aW9uTmVlZGVkSW1tZWRpYXRlbHk9ITF9X2dldFN0YXJ0RW5kKHQpe3JldHVybiB0aGlzLl9kaXImJiJydGwiPT09dGhpcy5fZGlyLnZhbHVlP3QucmlnaHQ6dC5sZWZ0fV9pc0F0dGFjaGVkVG9ET00oKXtjb25zdCB0PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtpZih0LmdldFJvb3ROb2RlKXtjb25zdCBlPXQuZ2V0Um9vdE5vZGUoKTtyZXR1cm4gZSYmZSE9PXR9cmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jb250YWlucyh0KX19X1UuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fF9VKShnZihLaCksZ2YoT2IpLGdmKEtoKSxnZih2Riw4KSxnZihiVSw4KSxnZihjSCksZ2YobUMpLGdmKGNrLDgpKX0sX1UuybVjbXA9c28oe3R5cGU6X1Usc2VsZWN0b3JzOltbIm1hdC1mb3JtLWZpZWxkIl1dLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uIHQoZSxuLG8pe2lmKDEmZSYmKGp5KG8saVUsNSksankobyxpVSw3KSxqeShvLGNVLDUpLGp5KG8sY1UsNyksankobyxkVSw1KSxqeShvLGVVLDUpLGp5KG8sc1UsNSksankobyxwVSw1KSxqeShvLGZVLDUpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLl9jb250cm9sTm9uU3RhdGljPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9jb250cm9sU3RhdGljPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9sYWJlbENoaWxkTm9uU3RhdGljPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9sYWJlbENoaWxkU3RhdGljPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9wbGFjZWhvbGRlckNoaWxkPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9lcnJvckNoaWxkcmVuPXQpLEJ5KHQ9VXkoKSkmJihuLl9oaW50Q2hpbGRyZW49dCksQnkodD1VeSgpKSYmKG4uX3ByZWZpeENoaWxkcmVuPXQpLEJ5KHQ9VXkoKSkmJihuLl9zdWZmaXhDaGlsZHJlbj10KX19LHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoVnkoRmosNSksVnkoTGosNyksVnkoQmosNSksVnkoVmosNSkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4udW5kZXJsaW5lUmVmPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9jb25uZWN0aW9uQ29udGFpbmVyUmVmPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9pbnB1dENvbnRhaW5lclJlZj10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5fbGFiZWw9dC5maXJzdCl9fSxob3N0QXR0cnM6WzEsIm1hdC1mb3JtLWZpZWxkIl0saG9zdFZhcnM6NDAsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJmN1KCJtYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkIiwic3RhbmRhcmQiPT1uLmFwcGVhcmFuY2UpKCJtYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwiLCJmaWxsIj09bi5hcHBlYXJhbmNlKSgibWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIiwib3V0bGluZSI9PW4uYXBwZWFyYW5jZSkoIm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IiwibGVnYWN5Ij09bi5hcHBlYXJhbmNlKSgibWF0LWZvcm0tZmllbGQtaW52YWxpZCIsbi5fY29udHJvbC5lcnJvclN0YXRlKSgibWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IixuLl9jYW5MYWJlbEZsb2F0KCkpKCJtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQiLG4uX3Nob3VsZExhYmVsRmxvYXQoKSkoIm1hdC1mb3JtLWZpZWxkLWhhcy1sYWJlbCIsbi5faGFzRmxvYXRpbmdMYWJlbCgpKSgibWF0LWZvcm0tZmllbGQtaGlkZS1wbGFjZWhvbGRlciIsbi5faGlkZUNvbnRyb2xQbGFjZWhvbGRlcigpKSgibWF0LWZvcm0tZmllbGQtZGlzYWJsZWQiLG4uX2NvbnRyb2wuZGlzYWJsZWQpKCJtYXQtZm9ybS1maWVsZC1hdXRvZmlsbGVkIixuLl9jb250cm9sLmF1dG9maWxsZWQpKCJtYXQtZm9jdXNlZCIsbi5fY29udHJvbC5mb2N1c2VkKSgibmctdW50b3VjaGVkIixuLl9zaG91bGRGb3J3YXJkKCJ1bnRvdWNoZWQiKSkoIm5nLXRvdWNoZWQiLG4uX3Nob3VsZEZvcndhcmQoInRvdWNoZWQiKSkoIm5nLXByaXN0aW5lIixuLl9zaG91bGRGb3J3YXJkKCJwcmlzdGluZSIpKSgibmctZGlydHkiLG4uX3Nob3VsZEZvcndhcmQoImRpcnR5IikpKCJuZy12YWxpZCIsbi5fc2hvdWxkRm9yd2FyZCgidmFsaWQiKSkoIm5nLWludmFsaWQiLG4uX3Nob3VsZEZvcndhcmQoImludmFsaWQiKSkoIm5nLXBlbmRpbmciLG4uX3Nob3VsZEZvcndhcmQoInBlbmRpbmciKSkoIl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIiwhbi5fYW5pbWF0aW9uc0VuYWJsZWQpfSxpbnB1dHM6e2NvbG9yOiJjb2xvciIsZmxvYXRMYWJlbDoiZmxvYXRMYWJlbCIsYXBwZWFyYW5jZToiYXBwZWFyYW5jZSIsaGlkZVJlcXVpcmVkTWFya2VyOiJoaWRlUmVxdWlyZWRNYXJrZXIiLGhpbnRMYWJlbDoiaGludExhYmVsIn0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXSxmZWF0dXJlczpbamgoW3twcm92aWRlOnlVLHVzZUV4aXN0aW5nOl9VfV0pLFFwXSxuZ0NvbnRlbnRTZWxlY3RvcnM6WyIqIiwiW21hdFByZWZpeF0iLCJtYXQtcGxhY2Vob2xkZXIiLCJtYXQtbGFiZWwiLCJbbWF0U3VmZml4XSIsIm1hdC1lcnJvciIsIm1hdC1oaW50Om5vdChbYWxpZ249J2VuZCddKSIsIm1hdC1oaW50W2FsaWduPSdlbmQnXSJdLGRlY2xzOjE1LHZhcnM6OCxjb25zdHM6W1sxLCJtYXQtZm9ybS1maWVsZC13cmFwcGVyIl0sWzEsIm1hdC1mb3JtLWZpZWxkLWZsZXgiLDMsImNsaWNrIl0sWyJjb25uZWN0aW9uQ29udGFpbmVyIiwiIl0sWzQsIm5nSWYiXSxbImNsYXNzIiwibWF0LWZvcm0tZmllbGQtcHJlZml4Iiw0LCJuZ0lmIl0sWzEsIm1hdC1mb3JtLWZpZWxkLWluZml4Il0sWyJpbnB1dENvbnRhaW5lciIsIiJdLFsxLCJtYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIl0sWyJjbGFzcyIsIm1hdC1mb3JtLWZpZWxkLWxhYmVsIiwzLCJjZGtPYnNlcnZlQ29udGVudERpc2FibGVkIiwiaWQiLCJtYXQtZW1wdHkiLCJtYXQtZm9ybS1maWVsZC1lbXB0eSIsIm1hdC1hY2NlbnQiLCJtYXQtd2FybiIsIm5nU3dpdGNoIiwiY2RrT2JzZXJ2ZUNvbnRlbnQiLDQsIm5nSWYiXSxbImNsYXNzIiwibWF0LWZvcm0tZmllbGQtc3VmZml4Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsIm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSIsNCwibmdJZiJdLFsxLCJtYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlciIsMywibmdTd2l0Y2giXSxbNCwibmdTd2l0Y2hDYXNlIl0sWyJjbGFzcyIsIm1hdC1mb3JtLWZpZWxkLWhpbnQtd3JhcHBlciIsNCwibmdTd2l0Y2hDYXNlIl0sWzEsIm1hdC1mb3JtLWZpZWxkLW91dGxpbmUiXSxbMSwibWF0LWZvcm0tZmllbGQtb3V0bGluZS1zdGFydCJdLFsxLCJtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWdhcCJdLFsxLCJtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWVuZCJdLFsxLCJtYXQtZm9ybS1maWVsZC1vdXRsaW5lIiwibWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayJdLFsxLCJtYXQtZm9ybS1maWVsZC1wcmVmaXgiXSxbMSwibWF0LWZvcm0tZmllbGQtbGFiZWwiLDMsImNka09ic2VydmVDb250ZW50RGlzYWJsZWQiLCJpZCIsIm5nU3dpdGNoIiwiY2RrT2JzZXJ2ZUNvbnRlbnQiXSxbImxhYmVsIiwiIl0sWyJjbGFzcyIsIm1hdC1wbGFjZWhvbGRlci1yZXF1aXJlZCBtYXQtZm9ybS1maWVsZC1yZXF1aXJlZC1tYXJrZXIiLCJhcmlhLWhpZGRlbiIsInRydWUiLDQsIm5nSWYiXSxbImFyaWEtaGlkZGVuIiwidHJ1ZSIsMSwibWF0LXBsYWNlaG9sZGVyLXJlcXVpcmVkIiwibWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyIl0sWzEsIm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCJdLFsxLCJtYXQtZm9ybS1maWVsZC11bmRlcmxpbmUiXSxbInVuZGVybGluZSIsIiJdLFsxLCJtYXQtZm9ybS1maWVsZC1yaXBwbGUiXSxbMSwibWF0LWZvcm0tZmllbGQtaGludC13cmFwcGVyIl0sWyJjbGFzcyIsIm1hdC1oaW50IiwzLCJpZCIsNCwibmdJZiJdLFsxLCJtYXQtZm9ybS1maWVsZC1oaW50LXNwYWNlciJdLFsxLCJtYXQtaGludCIsMywiaWQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKEhmKCRqKSxDZigwLCJkaXYiLDApLENmKDEsImRpdiIsMSwyKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9jb250cm9sLm9uQ29udGFpbmVyQ2xpY2smJm4uX2NvbnRyb2wub25Db250YWluZXJDbGljayhlKX0pKSxIbSgzLGpqLDksMCwibmctY29udGFpbmVyIiwzKSxIbSg0LFVqLDIsMCwiZGl2Iiw0KSxDZig1LCJkaXYiLDUsNiksRmYoNyksQ2YoOCwic3BhbiIsNyksSG0oOSxxaiw1LDE2LCJsYWJlbCIsOCksTWYoKSxNZigpLEhtKDEwLFpqLDIsMCwiZGl2Iiw5KSxNZigpLEhtKDExLFhqLDMsNCwiZGl2IiwxMCksQ2YoMTIsImRpdiIsMTEpLEhtKDEzLEtqLDIsMSwiZGl2IiwxMiksSG0oMTQsUWosNSwyLCJkaXYiLDEzKSxNZigpLE1mKCkpLDImZSYmKERjKDMpLGJmKCJuZ0lmIiwib3V0bGluZSI9PW4uYXBwZWFyYW5jZSksRGMoMSksYmYoIm5nSWYiLG4uX3ByZWZpeENoaWxkcmVuLmxlbmd0aCksRGMoNSksYmYoIm5nSWYiLG4uX2hhc0Zsb2F0aW5nTGFiZWwoKSksRGMoMSksYmYoIm5nSWYiLG4uX3N1ZmZpeENoaWxkcmVuLmxlbmd0aCksRGMoMSksYmYoIm5nSWYiLCJvdXRsaW5lIiE9bi5hcHBlYXJhbmNlKSxEYygxKSxiZigibmdTd2l0Y2giLG4uX2dldERpc3BsYXllZE1lc3NhZ2VzKCkpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLCJlcnJvciIpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLCJoaW50IikpfSxkaXJlY3RpdmVzOltQdixEdixSdixQSF0sc3R5bGVzOlsiLm1hdC1mb3JtLWZpZWxke2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdH1bZGlyPXJ0bF0gLm1hdC1mb3JtLWZpZWxke3RleHQtYWxpZ246cmlnaHR9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1mb3JtLWZpZWxkLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpiYXNlbGluZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0ubWF0LWZvcm0tZmllbGQtcHJlZml4LC5tYXQtZm9ybS1maWVsZC1zdWZmaXh7d2hpdGUtc3BhY2U6bm93cmFwO2ZsZXg6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LWZvcm0tZmllbGQtaW5maXh7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4OmF1dG87bWluLXdpZHRoOjA7d2lkdGg6MTgwcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtaW5maXh7Ym9yZGVyLWltYWdlOmxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmV9W2Rpcj1ydGxdIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVye2xlZnQ6YXV0bztyaWdodDowfS5tYXQtZm9ybS1maWVsZC1sYWJlbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Zm9udDppbmhlcml0O3BvaW50ZXItZXZlbnRzOm5vbmU7d2lkdGg6MTAwJTt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW47dHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksY29sb3IgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksd2lkdGggNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7ZGlzcGxheTpub25lfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDA7bGVmdDphdXRvO3JpZ2h0OjB9Lm1hdC1mb3JtLWZpZWxkLWVtcHR5Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbHtkaXNwbGF5OmJsb2NrfS5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2Rpc3BsYXk6bm9uZX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2Rpc3BsYXk6YmxvY2s7dHJhbnNpdGlvbjpub25lfS5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWlucHV0LXNlcnZlcltwbGFjZWhvbGRlcl06bm90KDpwbGFjZWhvbGRlci1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2Rpc3BsYXk6bm9uZX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW3BsYWNlaG9sZGVyXTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7ZGlzcGxheTpibG9ja30ubWF0LWZvcm0tZmllbGQtbGFiZWw6bm90KC5tYXQtZm9ybS1maWVsZC1lbXB0eSl7dHJhbnNpdGlvbjpub25lfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zZm9ybTpzY2FsZTNkKDEsIDEuMDAwMSwgMSl9Lm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6MTAwJTt0cmFuc2Zvcm0tb3JpZ2luOjUwJTt0cmFuc2Zvcm06c2NhbGVYKDAuNSk7b3BhY2l0eTowO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAzMDBtcyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC41NSwgMC4yKX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxvcGFjaXR5IDEwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye3Bvc2l0aW9uOmFic29sdXRlO2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIgLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtaWNvbnt3aWR0aDoxZW07aGVpZ2h0OjFlbTtmb250LXNpemU6aW5oZXJpdDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ubWF0LWZvcm0tZmllbGQtaGludC13cmFwcGVye2Rpc3BsYXk6ZmxleH0ubWF0LWZvcm0tZmllbGQtaGludC1zcGFjZXJ7ZmxleDoxIDAgMWVtfS5tYXQtZXJyb3J7ZGlzcGxheTpibG9ja30ubWF0LWZvcm0tZmllbGQtY29udHJvbC13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtZm9ybS1maWVsZC1oaW50LWVuZHtvcmRlcjoxfS5tYXQtZm9ybS1maWVsZC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7dHJhbnNpdGlvbjpub25lfVxuIiwnLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtZmxleHtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwO3BhZGRpbmc6Ljc1ZW0gLjc1ZW0gMCAuNzVlbX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLWZsZXh7b3V0bGluZTpzb2xpZCAxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4e291dGxpbmU6ZGFzaGVkIDNweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7aGVpZ2h0OjFweDt3aWR0aDoxMDAlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtib3R0b206MDtoZWlnaHQ6MnB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2hlaWdodDowfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGw6bm90KC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCkgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXJ+Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSAubWF0LWZvcm0tZmllbGQtcmlwcGxle29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgNjAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZTpub3QoLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkKSAubWF0LWZvcm0tZmllbGQtZmxleDpob3Zlcn4ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7dHJhbnNpdGlvbjpub25lfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye3BhZGRpbmc6MCAxZW19XG4nLCcubWF0LWlucHV0LWVsZW1lbnR7Zm9udDppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6Y3VycmVudENvbG9yO2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjA7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTt2ZXJ0aWNhbC1hbGlnbjpib3R0b207dGV4dC1hbGlnbjppbmhlcml0O2JveC1zaXppbmc6Y29udGVudC1ib3h9Lm1hdC1pbnB1dC1lbGVtZW50Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9Lm1hdC1pbnB1dC1lbGVtZW50OjotbXMtY2xlYXIsLm1hdC1pbnB1dC1lbGVtZW50OjotbXMtcmV2ZWFse2Rpc3BsYXk6bm9uZX0ubWF0LWlucHV0LWVsZW1lbnQsLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiwubWF0LWlucHV0LWVsZW1lbnQ6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfS5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1jb250YWN0cy1hdXRvLWZpbGwtYnV0dG9uLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1jYXBzLWxvY2staW5kaWNhdG9yLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1jcmVkZW50aWFscy1hdXRvLWZpbGwtYnV0dG9ue3Zpc2liaWxpdHk6aGlkZGVufS5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPWRhdGVdLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPWRhdGV0aW1lXSwubWF0LWlucHV0LWVsZW1lbnRbdHlwZT1kYXRldGltZS1sb2NhbF0sLm1hdC1pbnB1dC1lbGVtZW50W3R5cGU9bW9udGhdLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPXdlZWtdLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPXRpbWVde2xpbmUtaGVpZ2h0OjF9Lm1hdC1pbnB1dC1lbGVtZW50W3R5cGU9ZGF0ZV06OmFmdGVyLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPWRhdGV0aW1lXTo6YWZ0ZXIsLm1hdC1pbnB1dC1lbGVtZW50W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOjphZnRlciwubWF0LWlucHV0LWVsZW1lbnRbdHlwZT1tb250aF06OmFmdGVyLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPXdlZWtdOjphZnRlciwubWF0LWlucHV0LWVsZW1lbnRbdHlwZT10aW1lXTo6YWZ0ZXJ7Y29udGVudDoiICI7d2hpdGUtc3BhY2U6cHJlO3dpZHRoOjFweH0ubWF0LWlucHV0LWVsZW1lbnQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWNsZWFyLWJ1dHRvbntmb250LXNpemU6Ljc1ZW19Lm1hdC1pbnB1dC1lbGVtZW50OjpwbGFjZWhvbGRlcnstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjpjb2xvciA0MDBtcyAxMzMuMzMzMzMzMzMzM21zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtaW5wdXQtZWxlbWVudDo6cGxhY2Vob2xkZXI6LW1zLWlucHV0LXBsYWNlaG9sZGVyey1tcy11c2VyLXNlbGVjdDp0ZXh0fS5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcnstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjpjb2xvciA0MDBtcyAxMzMuMzMzMzMzMzMzM21zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcjotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7LW1zLXVzZXItc2VsZWN0OnRleHR9Lm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmNvbG9yIDQwMG1zIDEzMy4zMzMzMzMzMzMzbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyOi1tcy1pbnB1dC1wbGFjZWhvbGRlcnstbXMtdXNlci1zZWxlY3Q6dGV4dH0ubWF0LWlucHV0LWVsZW1lbnQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmNvbG9yIDQwMG1zIDEzMy4zMzMzMzMzMzMzbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1pbnB1dC1lbGVtZW50Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcjotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7LW1zLXVzZXItc2VsZWN0OnRleHR9Lm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50OjpwbGFjZWhvbGRlcntjb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtaW5wdXQtZWxlbWVudDo6cGxhY2Vob2xkZXJ7b3BhY2l0eTowfS5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntvcGFjaXR5OjB9Lm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye29wYWNpdHk6MH0ubWF0LWZvcm0tZmllbGQtaGlkZS1wbGFjZWhvbGRlciAubWF0LWlucHV0LWVsZW1lbnQ6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcntvcGFjaXR5OjB9dGV4dGFyZWEubWF0LWlucHV0LWVsZW1lbnR7cmVzaXplOnZlcnRpY2FsO292ZXJmbG93OmF1dG99dGV4dGFyZWEubWF0LWlucHV0LWVsZW1lbnQuY2RrLXRleHRhcmVhLWF1dG9zaXple3Jlc2l6ZTpub25lfXRleHRhcmVhLm1hdC1pbnB1dC1lbGVtZW50e3BhZGRpbmc6MnB4IDA7bWFyZ2luOi0ycHggMH1zZWxlY3QubWF0LWlucHV0LWVsZW1lbnR7LW1vei1hcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtkaXNwbGF5OmlubGluZS1mbGV4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nLXRvcDoxZW07dG9wOi0xZW07bWFyZ2luLWJvdHRvbTotMWVtfXNlbGVjdC5tYXQtaW5wdXQtZWxlbWVudDo6LW1zLWV4cGFuZHtkaXNwbGF5Om5vbmV9c2VsZWN0Lm1hdC1pbnB1dC1lbGVtZW50OjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfXNlbGVjdC5tYXQtaW5wdXQtZWxlbWVudDpub3QoOmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn1zZWxlY3QubWF0LWlucHV0LWVsZW1lbnQ6Oi1tcy12YWx1ZXtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6bm9uZX0ubWF0LWZvY3VzZWQgLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSBzZWxlY3QubWF0LWlucHV0LWVsZW1lbnQ6Oi1tcy12YWx1ZXtjb2xvcjppbmhlcml0fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29udGVudDoiIjt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MDttYXJnaW4tdG9wOi0yLjVweDtwb2ludGVyLWV2ZW50czpub25lfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye3JpZ2h0OmF1dG87bGVmdDowfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtaW5wdXQtZWxlbWVudHtwYWRkaW5nLXJpZ2h0OjE1cHh9W2Rpcj1ydGxdIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtaW5wdXQtZWxlbWVudHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjE1cHh9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJ7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDEwcHgpfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye21hcmdpbi10b3A6LTVweH0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcnttYXJnaW4tdG9wOi0xMHB4fVxuJywiLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMTAwcHgpOy1tcy10cmFuc2Zvcm06bm9uZX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCAubWF0LWljb24sLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29ue3dpZHRoOjFlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCAubWF0LWljb24tYnV0dG9uLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b257Zm9udDppbmhlcml0O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29ue2ZvbnQtc2l6ZTppbmhlcml0fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2hlaWdodDoxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtoZWlnaHQ6MDtib3JkZXItdG9wOnNvbGlkIDFweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXt0b3A6MDtoZWlnaHQ6MnB4O292ZXJmbG93OmhpZGRlbn0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtcmlwcGxle2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtcG9zaXRpb246MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7Ym9yZGVyLXRvcC1zdHlsZTpkb3R0ZWQ7Ym9yZGVyLXRvcC13aWR0aDoycHh9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQ6bm90KC5tYXQtZm9jdXNlZCkgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtoZWlnaHQ6MXB4fVxuIiwiLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtd3JhcHBlcnttYXJnaW46LjI1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1mbGV4e3BhZGRpbmc6MCAuNzVlbSAwIC43NWVtO21hcmdpbi10b3A6LTAuMjVlbTtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1wcmVmaXgsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtc3VmZml4e3RvcDouMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjI1ZW07bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9pbnRlci1ldmVudHM6bm9uZX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXN0YXJ0LC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZW5ke2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yO21pbi13aWR0aDo1cHh9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1zdGFydHtib3JkZXItcmFkaXVzOjVweCAwIDAgNXB4O2JvcmRlci1yaWdodC1zdHlsZTpub25lfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXN0YXJ0e2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtib3JkZXItbGVmdC1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6MCA1cHggNXB4IDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmR7Ym9yZGVyLXJhZGl1czowIDVweCA1cHggMDtib3JkZXItbGVmdC1zdHlsZTpub25lO2ZsZXgtZ3JvdzoxfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWVuZHtib3JkZXItbGVmdC1zdHlsZTpzb2xpZDtib3JkZXItcmlnaHQtc3R5bGU6bm9uZTtib3JkZXItcmFkaXVzOjVweCAwIDAgNXB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZ2Fwe2JvcmRlci1yYWRpdXM6LjAwMDAwMXB4O2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yO2JvcmRlci1sZWZ0LXN0eWxlOm5vbmU7Ym9yZGVyLXJpZ2h0LXN0eWxlOm5vbmV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWdhcHtib3JkZXItdG9wLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7b3BhY2l0eTowfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1nYXB7Ym9yZGVyLXdpZHRoOjJweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDEwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2ssLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7Ym9yZGVyOjNweCBkYXNoZWR9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZTpub3QoLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkKSAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDYwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmU6bm90KC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCkgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7b3BhY2l0eToxfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye3BhZGRpbmc6MCAxZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZTpub3QoLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkKSAubWF0LWZvcm0tZmllbGQtZmxleDpob3Zlcn4ubWF0LWZvcm0tZmllbGQtb3V0bGluZSwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1nYXB7dHJhbnNpdGlvbjpub25lfVxuIiwiLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLWZsZXh7cGFkZGluZy10b3A6Ljc1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtoZWlnaHQ6MXB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtoZWlnaHQ6MDtib3JkZXItdG9wOnNvbGlkIDFweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2JvdHRvbTowO2hlaWdodDoycHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1wb3NpdGlvbjowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JvcmRlci10b3Atc3R5bGU6ZG90dGVkO2JvcmRlci10b3Atd2lkdGg6MnB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkOm5vdCgubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyfi5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IDYwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlOm5vdCgubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyfi5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXt0cmFuc2l0aW9uOm5vbmV9XG4iXSxlbmNhcHN1bGF0aW9uOjIsZGF0YTp7YW5pbWF0aW9uOltvVS50cmFuc2l0aW9uTWVzc2FnZXNdfSxjaGFuZ2VEZXRlY3Rpb246MH0pLF9VLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbS2hdfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbYlVdfV19LHt0eXBlOmNIfSx7dHlwZTptQ30se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dLF9VLnByb3BEZWNvcmF0b3JzPXthcHBlYXJhbmNlOlt7dHlwZTpSX31dLGhpZGVSZXF1aXJlZE1hcmtlcjpbe3R5cGU6Ul99XSxoaW50TGFiZWw6W3t0eXBlOlJffV0sZmxvYXRMYWJlbDpbe3R5cGU6Ul99XSx1bmRlcmxpbmVSZWY6W3t0eXBlOmFyLGFyZ3M6WyJ1bmRlcmxpbmUiXX1dLF9jb25uZWN0aW9uQ29udGFpbmVyUmVmOlt7dHlwZTphcixhcmdzOlsiY29ubmVjdGlvbkNvbnRhaW5lciIse3N0YXRpYzohMH1dfV0sX2lucHV0Q29udGFpbmVyUmVmOlt7dHlwZTphcixhcmdzOlsiaW5wdXRDb250YWluZXIiXX1dLF9sYWJlbDpbe3R5cGU6YXIsYXJnczpbImxhYmVsIl19XSxfY29udHJvbE5vblN0YXRpYzpbe3R5cGU6aXIsYXJnczpbaVVdfV0sX2NvbnRyb2xTdGF0aWM6W3t0eXBlOmlyLGFyZ3M6W2lVLHtzdGF0aWM6ITB9XX1dLF9sYWJlbENoaWxkTm9uU3RhdGljOlt7dHlwZTppcixhcmdzOltjVV19XSxfbGFiZWxDaGlsZFN0YXRpYzpbe3R5cGU6aXIsYXJnczpbY1Use3N0YXRpYzohMH1dfV0sX3BsYWNlaG9sZGVyQ2hpbGQ6W3t0eXBlOmlyLGFyZ3M6W2RVXX1dLF9lcnJvckNoaWxkcmVuOlt7dHlwZTpvcixhcmdzOltlVSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9oaW50Q2hpbGRyZW46W3t0eXBlOm9yLGFyZ3M6W3NVLHtkZXNjZW5kYW50czohMH1dfV0sX3ByZWZpeENoaWxkcmVuOlt7dHlwZTpvcixhcmdzOltwVSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9zdWZmaXhDaGlsZHJlbjpbe3R5cGU6b3IsYXJnczpbZlUse2Rlc2NlbmRhbnRzOiEwfV19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihfVSxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsZXhwb3J0QXM6Im1hdEZvcm1GaWVsZCIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLXdyYXBwZXIiPlxuICA8ZGl2IGNsYXNzPSJtYXQtZm9ybS1maWVsZC1mbGV4IiAjY29ubmVjdGlvbkNvbnRhaW5lclxuICAgICAgIChjbGljayk9Il9jb250cm9sLm9uQ29udGFpbmVyQ2xpY2sgJiYgX2NvbnRyb2wub25Db250YWluZXJDbGljaygkZXZlbnQpIj5cblxuICAgIFx4M2MhLS0gT3V0bGluZSB1c2VkIGZvciBvdXRsaW5lIGFwcGVhcmFuY2UuIC0tXHgzZVxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9ImFwcGVhcmFuY2UgPT0gXCdvdXRsaW5lXCciPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtb3V0bGluZSI+XG4gICAgICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnQiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWdhcCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZW5kIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtb3V0bGluZSBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtb3V0bGluZS1zdGFydCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZ2FwIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmQiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2IGNsYXNzPSJtYXQtZm9ybS1maWVsZC1wcmVmaXgiICpuZ0lmPSJfcHJlZml4Q2hpbGRyZW4ubGVuZ3RoIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD0iW21hdFByZWZpeF0iPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLWluZml4IiAjaW5wdXRDb250YWluZXI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgIDxzcGFuIGNsYXNzPSJtYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIj5cbiAgICAgICAgXHgzYyEtLSBXZSBhZGQgYXJpYS1vd25zIGFzIGEgd29ya2Fyb3VuZCBmb3IgYW4gaXNzdWUgaW4gSkFXUyAmIE5WREEgd2hlcmUgdGhlIGxhYmVsIGlzblwndFxuICAgICAgICAgICAgIHJlYWQgaWYgaXQgY29tZXMgYmVmb3JlIHRoZSBjb250cm9sIGluIHRoZSBET00uIC0tXHgzZVxuICAgICAgICA8bGFiZWwgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLWxhYmVsIlxuICAgICAgICAgICAgICAgKGNka09ic2VydmVDb250ZW50KT0idXBkYXRlT3V0bGluZUdhcCgpIlxuICAgICAgICAgICAgICAgW2Nka09ic2VydmVDb250ZW50RGlzYWJsZWRdPSJhcHBlYXJhbmNlICE9IFwnb3V0bGluZVwnIlxuICAgICAgICAgICAgICAgW2lkXT0iX2xhYmVsSWQiXG4gICAgICAgICAgICAgICBbYXR0ci5mb3JdPSJfY29udHJvbC5pZCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtb3duc109Il9jb250cm9sLmlkIlxuICAgICAgICAgICAgICAgW2NsYXNzLm1hdC1lbXB0eV09Il9jb250cm9sLmVtcHR5ICYmICFfc2hvdWxkQWx3YXlzRmxvYXQoKSJcbiAgICAgICAgICAgICAgIFtjbGFzcy5tYXQtZm9ybS1maWVsZC1lbXB0eV09Il9jb250cm9sLmVtcHR5ICYmICFfc2hvdWxkQWx3YXlzRmxvYXQoKSJcbiAgICAgICAgICAgICAgIFtjbGFzcy5tYXQtYWNjZW50XT0iY29sb3IgPT0gXCdhY2NlbnRcJyJcbiAgICAgICAgICAgICAgIFtjbGFzcy5tYXQtd2Fybl09ImNvbG9yID09IFwnd2FyblwnIlxuICAgICAgICAgICAgICAgI2xhYmVsXG4gICAgICAgICAgICAgICAqbmdJZj0iX2hhc0Zsb2F0aW5nTGFiZWwoKSJcbiAgICAgICAgICAgICAgIFtuZ1N3aXRjaF09Il9oYXNMYWJlbCgpIj5cblxuICAgICAgICAgIFx4M2MhLS0gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCByZW1vdmUgaW4gZmF2b3Igb2YgbWF0LWxhYmVsIGVsZW1lbnQgYW4gcGxhY2Vob2xkZXIgYXR0ci4gLS1ceDNlXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJmYWxzZSI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9Im1hdC1wbGFjZWhvbGRlciI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPHNwYW4+e3tfY29udHJvbC5wbGFjZWhvbGRlcn19PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PSJtYXQtbGFiZWwiICpuZ1N3aXRjaENhc2U9InRydWUiPjwvbmctY29udGVudD5cblxuICAgICAgICAgIFx4M2MhLS0gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCByZW1vdmUgYG1hdC1wbGFjZWhvbGRlci1yZXF1aXJlZGAgY2xhc3MgLS1ceDNlXG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPSJtYXQtcGxhY2Vob2xkZXItcmVxdWlyZWQgbWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49InRydWUiXG4gICAgICAgICAgICAqbmdJZj0iIWhpZGVSZXF1aXJlZE1hcmtlciAmJiBfY29udHJvbC5yZXF1aXJlZCAmJiAhX2NvbnRyb2wuZGlzYWJsZWQiPiYjMzI7Kjwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLXN1ZmZpeCIgKm5nSWY9Il9zdWZmaXhDaGlsZHJlbi5sZW5ndGgiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PSJbbWF0U3VmZml4XSI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICBceDNjIS0tIFVuZGVybGluZSB1c2VkIGZvciBsZWdhY3ksIHN0YW5kYXJkLCBhbmQgYm94IGFwcGVhcmFuY2VzLiAtLVx4M2VcbiAgPGRpdiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIiAjdW5kZXJsaW5lXG4gICAgICAgKm5nSWY9ImFwcGVhcmFuY2UgIT0gXCdvdXRsaW5lXCciPlxuICAgIDxzcGFuIGNsYXNzPSJtYXQtZm9ybS1maWVsZC1yaXBwbGUiXG4gICAgICAgICAgW2NsYXNzLm1hdC1hY2NlbnRdPSJjb2xvciA9PSBcJ2FjY2VudFwnIlxuICAgICAgICAgIFtjbGFzcy5tYXQtd2Fybl09ImNvbG9yID09IFwnd2FyblwnIj48L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIlxuICAgICAgIFtuZ1N3aXRjaF09Il9nZXREaXNwbGF5ZWRNZXNzYWdlcygpIj5cbiAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9IlwnZXJyb3JcJyIgW0B0cmFuc2l0aW9uTWVzc2FnZXNdPSJfc3Vic2NyaXB0QW5pbWF0aW9uU3RhdGUiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PSJtYXQtZXJyb3IiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLWhpbnQtd3JhcHBlciIgKm5nU3dpdGNoQ2FzZT0iXCdoaW50XCciXG4gICAgICBbQHRyYW5zaXRpb25NZXNzYWdlc109Il9zdWJzY3JpcHRBbmltYXRpb25TdGF0ZSI+XG4gICAgICBceDNjIS0tIFRPRE8obW1hbGVyYmEpOiB1c2UgYW4gYWN0dWFsIDxtYXQtaGludD4gb25jZSBhbGwgc2VsZWN0b3JzIGFyZSBzd2l0Y2hlZCB0byBtYXQtKiAtLVx4M2VcbiAgICAgIDxkaXYgKm5nSWY9ImhpbnRMYWJlbCIgW2lkXT0iX2hpbnRMYWJlbElkIiBjbGFzcz0ibWF0LWhpbnQiPnt7aGludExhYmVsfX08L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD0ibWF0LWhpbnQ6bm90KFthbGlnbj1cJ2VuZFwnXSkiPjwvbmctY29udGVudD5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLWhpbnQtc3BhY2VyIj48L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD0ibWF0LWhpbnRbYWxpZ249XCdlbmRcJ10iPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsYW5pbWF0aW9uczpbb1UudHJhbnNpdGlvbk1lc3NhZ2VzXSxob3N0OntjbGFzczoibWF0LWZvcm0tZmllbGQiLCJbY2xhc3MubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZF0iOidhcHBlYXJhbmNlID09ICJzdGFuZGFyZCInLCJbY2xhc3MubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsXSI6J2FwcGVhcmFuY2UgPT0gImZpbGwiJywiW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZV0iOidhcHBlYXJhbmNlID09ICJvdXRsaW5lIicsIltjbGFzcy5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeV0iOidhcHBlYXJhbmNlID09ICJsZWdhY3kiJywiW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWludmFsaWRdIjoiX2NvbnRyb2wuZXJyb3JTdGF0ZSIsIltjbGFzcy5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRdIjoiX2NhbkxhYmVsRmxvYXQoKSIsIltjbGFzcy5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRdIjoiX3Nob3VsZExhYmVsRmxvYXQoKSIsIltjbGFzcy5tYXQtZm9ybS1maWVsZC1oYXMtbGFiZWxdIjoiX2hhc0Zsb2F0aW5nTGFiZWwoKSIsIltjbGFzcy5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyXSI6Il9oaWRlQ29udHJvbFBsYWNlaG9sZGVyKCkiLCJbY2xhc3MubWF0LWZvcm0tZmllbGQtZGlzYWJsZWRdIjoiX2NvbnRyb2wuZGlzYWJsZWQiLCJbY2xhc3MubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGxlZF0iOiJfY29udHJvbC5hdXRvZmlsbGVkIiwiW2NsYXNzLm1hdC1mb2N1c2VkXSI6Il9jb250cm9sLmZvY3VzZWQiLCJbY2xhc3MubmctdW50b3VjaGVkXSI6J19zaG91bGRGb3J3YXJkKCJ1bnRvdWNoZWQiKScsIltjbGFzcy5uZy10b3VjaGVkXSI6J19zaG91bGRGb3J3YXJkKCJ0b3VjaGVkIiknLCJbY2xhc3MubmctcHJpc3RpbmVdIjonX3Nob3VsZEZvcndhcmQoInByaXN0aW5lIiknLCJbY2xhc3MubmctZGlydHldIjonX3Nob3VsZEZvcndhcmQoImRpcnR5IiknLCJbY2xhc3MubmctdmFsaWRdIjonX3Nob3VsZEZvcndhcmQoInZhbGlkIiknLCJbY2xhc3MubmctaW52YWxpZF0iOidfc2hvdWxkRm9yd2FyZCgiaW52YWxpZCIpJywiW2NsYXNzLm5nLXBlbmRpbmddIjonX3Nob3VsZEZvcndhcmQoInBlbmRpbmciKScsIltjbGFzcy5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZV0iOiIhX2FuaW1hdGlvbnNFbmFibGVkIn0saW5wdXRzOlsiY29sb3IiXSxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOnlVLHVzZUV4aXN0aW5nOl9VfV0sc3R5bGVzOlsiLm1hdC1mb3JtLWZpZWxke2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdH1bZGlyPXJ0bF0gLm1hdC1mb3JtLWZpZWxke3RleHQtYWxpZ246cmlnaHR9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1mb3JtLWZpZWxkLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpiYXNlbGluZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0ubWF0LWZvcm0tZmllbGQtcHJlZml4LC5tYXQtZm9ybS1maWVsZC1zdWZmaXh7d2hpdGUtc3BhY2U6bm93cmFwO2ZsZXg6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LWZvcm0tZmllbGQtaW5maXh7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4OmF1dG87bWluLXdpZHRoOjA7d2lkdGg6MTgwcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtaW5maXh7Ym9yZGVyLWltYWdlOmxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmV9W2Rpcj1ydGxdIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVye2xlZnQ6YXV0bztyaWdodDowfS5tYXQtZm9ybS1maWVsZC1sYWJlbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Zm9udDppbmhlcml0O3BvaW50ZXItZXZlbnRzOm5vbmU7d2lkdGg6MTAwJTt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW47dHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksY29sb3IgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksd2lkdGggNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7ZGlzcGxheTpub25lfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDA7bGVmdDphdXRvO3JpZ2h0OjB9Lm1hdC1mb3JtLWZpZWxkLWVtcHR5Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbHtkaXNwbGF5OmJsb2NrfS5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2Rpc3BsYXk6bm9uZX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2Rpc3BsYXk6YmxvY2s7dHJhbnNpdGlvbjpub25lfS5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWlucHV0LXNlcnZlcltwbGFjZWhvbGRlcl06bm90KDpwbGFjZWhvbGRlci1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2Rpc3BsYXk6bm9uZX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW3BsYWNlaG9sZGVyXTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7ZGlzcGxheTpibG9ja30ubWF0LWZvcm0tZmllbGQtbGFiZWw6bm90KC5tYXQtZm9ybS1maWVsZC1lbXB0eSl7dHJhbnNpdGlvbjpub25lfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zZm9ybTpzY2FsZTNkKDEsIDEuMDAwMSwgMSl9Lm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6MTAwJTt0cmFuc2Zvcm0tb3JpZ2luOjUwJTt0cmFuc2Zvcm06c2NhbGVYKDAuNSk7b3BhY2l0eTowO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAzMDBtcyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC41NSwgMC4yKX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxvcGFjaXR5IDEwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye3Bvc2l0aW9uOmFic29sdXRlO2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIgLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtaWNvbnt3aWR0aDoxZW07aGVpZ2h0OjFlbTtmb250LXNpemU6aW5oZXJpdDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ubWF0LWZvcm0tZmllbGQtaGludC13cmFwcGVye2Rpc3BsYXk6ZmxleH0ubWF0LWZvcm0tZmllbGQtaGludC1zcGFjZXJ7ZmxleDoxIDAgMWVtfS5tYXQtZXJyb3J7ZGlzcGxheTpibG9ja30ubWF0LWZvcm0tZmllbGQtY29udHJvbC13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtZm9ybS1maWVsZC1oaW50LWVuZHtvcmRlcjoxfS5tYXQtZm9ybS1maWVsZC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7dHJhbnNpdGlvbjpub25lfVxuIiwnLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtZmxleHtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwO3BhZGRpbmc6Ljc1ZW0gLjc1ZW0gMCAuNzVlbX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLWZsZXh7b3V0bGluZTpzb2xpZCAxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4e291dGxpbmU6ZGFzaGVkIDNweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7aGVpZ2h0OjFweDt3aWR0aDoxMDAlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtib3R0b206MDtoZWlnaHQ6MnB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2hlaWdodDowfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGw6bm90KC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCkgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXJ+Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSAubWF0LWZvcm0tZmllbGQtcmlwcGxle29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgNjAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZTpub3QoLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkKSAubWF0LWZvcm0tZmllbGQtZmxleDpob3Zlcn4ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7dHJhbnNpdGlvbjpub25lfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye3BhZGRpbmc6MCAxZW19XG4nLCcubWF0LWlucHV0LWVsZW1lbnR7Zm9udDppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6Y3VycmVudENvbG9yO2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjA7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTt2ZXJ0aWNhbC1hbGlnbjpib3R0b207dGV4dC1hbGlnbjppbmhlcml0O2JveC1zaXppbmc6Y29udGVudC1ib3h9Lm1hdC1pbnB1dC1lbGVtZW50Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9Lm1hdC1pbnB1dC1lbGVtZW50OjotbXMtY2xlYXIsLm1hdC1pbnB1dC1lbGVtZW50OjotbXMtcmV2ZWFse2Rpc3BsYXk6bm9uZX0ubWF0LWlucHV0LWVsZW1lbnQsLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiwubWF0LWlucHV0LWVsZW1lbnQ6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfS5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1jb250YWN0cy1hdXRvLWZpbGwtYnV0dG9uLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1jYXBzLWxvY2staW5kaWNhdG9yLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1jcmVkZW50aWFscy1hdXRvLWZpbGwtYnV0dG9ue3Zpc2liaWxpdHk6aGlkZGVufS5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPWRhdGVdLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPWRhdGV0aW1lXSwubWF0LWlucHV0LWVsZW1lbnRbdHlwZT1kYXRldGltZS1sb2NhbF0sLm1hdC1pbnB1dC1lbGVtZW50W3R5cGU9bW9udGhdLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPXdlZWtdLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPXRpbWVde2xpbmUtaGVpZ2h0OjF9Lm1hdC1pbnB1dC1lbGVtZW50W3R5cGU9ZGF0ZV06OmFmdGVyLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPWRhdGV0aW1lXTo6YWZ0ZXIsLm1hdC1pbnB1dC1lbGVtZW50W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOjphZnRlciwubWF0LWlucHV0LWVsZW1lbnRbdHlwZT1tb250aF06OmFmdGVyLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPXdlZWtdOjphZnRlciwubWF0LWlucHV0LWVsZW1lbnRbdHlwZT10aW1lXTo6YWZ0ZXJ7Y29udGVudDoiICI7d2hpdGUtc3BhY2U6cHJlO3dpZHRoOjFweH0ubWF0LWlucHV0LWVsZW1lbnQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWNsZWFyLWJ1dHRvbntmb250LXNpemU6Ljc1ZW19Lm1hdC1pbnB1dC1lbGVtZW50OjpwbGFjZWhvbGRlcnstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjpjb2xvciA0MDBtcyAxMzMuMzMzMzMzMzMzM21zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtaW5wdXQtZWxlbWVudDo6cGxhY2Vob2xkZXI6LW1zLWlucHV0LXBsYWNlaG9sZGVyey1tcy11c2VyLXNlbGVjdDp0ZXh0fS5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcnstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjpjb2xvciA0MDBtcyAxMzMuMzMzMzMzMzMzM21zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcjotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7LW1zLXVzZXItc2VsZWN0OnRleHR9Lm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmNvbG9yIDQwMG1zIDEzMy4zMzMzMzMzMzMzbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyOi1tcy1pbnB1dC1wbGFjZWhvbGRlcnstbXMtdXNlci1zZWxlY3Q6dGV4dH0ubWF0LWlucHV0LWVsZW1lbnQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmNvbG9yIDQwMG1zIDEzMy4zMzMzMzMzMzMzbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1pbnB1dC1lbGVtZW50Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcjotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7LW1zLXVzZXItc2VsZWN0OnRleHR9Lm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50OjpwbGFjZWhvbGRlcntjb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtaW5wdXQtZWxlbWVudDo6cGxhY2Vob2xkZXJ7b3BhY2l0eTowfS5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntvcGFjaXR5OjB9Lm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye29wYWNpdHk6MH0ubWF0LWZvcm0tZmllbGQtaGlkZS1wbGFjZWhvbGRlciAubWF0LWlucHV0LWVsZW1lbnQ6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcntvcGFjaXR5OjB9dGV4dGFyZWEubWF0LWlucHV0LWVsZW1lbnR7cmVzaXplOnZlcnRpY2FsO292ZXJmbG93OmF1dG99dGV4dGFyZWEubWF0LWlucHV0LWVsZW1lbnQuY2RrLXRleHRhcmVhLWF1dG9zaXple3Jlc2l6ZTpub25lfXRleHRhcmVhLm1hdC1pbnB1dC1lbGVtZW50e3BhZGRpbmc6MnB4IDA7bWFyZ2luOi0ycHggMH1zZWxlY3QubWF0LWlucHV0LWVsZW1lbnR7LW1vei1hcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtkaXNwbGF5OmlubGluZS1mbGV4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nLXRvcDoxZW07dG9wOi0xZW07bWFyZ2luLWJvdHRvbTotMWVtfXNlbGVjdC5tYXQtaW5wdXQtZWxlbWVudDo6LW1zLWV4cGFuZHtkaXNwbGF5Om5vbmV9c2VsZWN0Lm1hdC1pbnB1dC1lbGVtZW50OjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfXNlbGVjdC5tYXQtaW5wdXQtZWxlbWVudDpub3QoOmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn1zZWxlY3QubWF0LWlucHV0LWVsZW1lbnQ6Oi1tcy12YWx1ZXtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6bm9uZX0ubWF0LWZvY3VzZWQgLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSBzZWxlY3QubWF0LWlucHV0LWVsZW1lbnQ6Oi1tcy12YWx1ZXtjb2xvcjppbmhlcml0fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29udGVudDoiIjt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MDttYXJnaW4tdG9wOi0yLjVweDtwb2ludGVyLWV2ZW50czpub25lfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye3JpZ2h0OmF1dG87bGVmdDowfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtaW5wdXQtZWxlbWVudHtwYWRkaW5nLXJpZ2h0OjE1cHh9W2Rpcj1ydGxdIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtaW5wdXQtZWxlbWVudHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjE1cHh9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJ7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDEwcHgpfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye21hcmdpbi10b3A6LTVweH0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcnttYXJnaW4tdG9wOi0xMHB4fVxuJywiLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMTAwcHgpOy1tcy10cmFuc2Zvcm06bm9uZX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCAubWF0LWljb24sLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29ue3dpZHRoOjFlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCAubWF0LWljb24tYnV0dG9uLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b257Zm9udDppbmhlcml0O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29ue2ZvbnQtc2l6ZTppbmhlcml0fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2hlaWdodDoxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtoZWlnaHQ6MDtib3JkZXItdG9wOnNvbGlkIDFweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXt0b3A6MDtoZWlnaHQ6MnB4O292ZXJmbG93OmhpZGRlbn0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtcmlwcGxle2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtcG9zaXRpb246MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7Ym9yZGVyLXRvcC1zdHlsZTpkb3R0ZWQ7Ym9yZGVyLXRvcC13aWR0aDoycHh9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQ6bm90KC5tYXQtZm9jdXNlZCkgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtoZWlnaHQ6MXB4fVxuIiwiLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtd3JhcHBlcnttYXJnaW46LjI1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1mbGV4e3BhZGRpbmc6MCAuNzVlbSAwIC43NWVtO21hcmdpbi10b3A6LTAuMjVlbTtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1wcmVmaXgsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtc3VmZml4e3RvcDouMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjI1ZW07bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9pbnRlci1ldmVudHM6bm9uZX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXN0YXJ0LC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZW5ke2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yO21pbi13aWR0aDo1cHh9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1zdGFydHtib3JkZXItcmFkaXVzOjVweCAwIDAgNXB4O2JvcmRlci1yaWdodC1zdHlsZTpub25lfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXN0YXJ0e2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtib3JkZXItbGVmdC1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6MCA1cHggNXB4IDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmR7Ym9yZGVyLXJhZGl1czowIDVweCA1cHggMDtib3JkZXItbGVmdC1zdHlsZTpub25lO2ZsZXgtZ3JvdzoxfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWVuZHtib3JkZXItbGVmdC1zdHlsZTpzb2xpZDtib3JkZXItcmlnaHQtc3R5bGU6bm9uZTtib3JkZXItcmFkaXVzOjVweCAwIDAgNXB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZ2Fwe2JvcmRlci1yYWRpdXM6LjAwMDAwMXB4O2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yO2JvcmRlci1sZWZ0LXN0eWxlOm5vbmU7Ym9yZGVyLXJpZ2h0LXN0eWxlOm5vbmV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWdhcHtib3JkZXItdG9wLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7b3BhY2l0eTowfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1nYXB7Ym9yZGVyLXdpZHRoOjJweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDEwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2ssLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7Ym9yZGVyOjNweCBkYXNoZWR9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZTpub3QoLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkKSAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDYwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmU6bm90KC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCkgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7b3BhY2l0eToxfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye3BhZGRpbmc6MCAxZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZTpub3QoLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkKSAubWF0LWZvcm0tZmllbGQtZmxleDpob3Zlcn4ubWF0LWZvcm0tZmllbGQtb3V0bGluZSwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1nYXB7dHJhbnNpdGlvbjpub25lfVxuIiwiLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLWZsZXh7cGFkZGluZy10b3A6Ljc1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtoZWlnaHQ6MXB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtoZWlnaHQ6MDtib3JkZXItdG9wOnNvbGlkIDFweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2JvdHRvbTowO2hlaWdodDoycHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1wb3NpdGlvbjowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JvcmRlci10b3Atc3R5bGU6ZG90dGVkO2JvcmRlci10b3Atd2lkdGg6MnB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkOm5vdCgubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyfi5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IDYwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlOm5vdCgubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyfi5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXt0cmFuc2l0aW9uOm5vbmV9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W0toXX1dfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2JVXX1dfSx7dHlwZTpjSH0se3R5cGU6bUN9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XX0pLHtmbG9hdExhYmVsOlt7dHlwZTpSX31dLGFwcGVhcmFuY2U6W3t0eXBlOlJffV0saGlkZVJlcXVpcmVkTWFya2VyOlt7dHlwZTpSX31dLGhpbnRMYWJlbDpbe3R5cGU6Ul99XSx1bmRlcmxpbmVSZWY6W3t0eXBlOmFyLGFyZ3M6WyJ1bmRlcmxpbmUiXX1dLF9jb25uZWN0aW9uQ29udGFpbmVyUmVmOlt7dHlwZTphcixhcmdzOlsiY29ubmVjdGlvbkNvbnRhaW5lciIse3N0YXRpYzohMH1dfV0sX2lucHV0Q29udGFpbmVyUmVmOlt7dHlwZTphcixhcmdzOlsiaW5wdXRDb250YWluZXIiXX1dLF9sYWJlbDpbe3R5cGU6YXIsYXJnczpbImxhYmVsIl19XSxfY29udHJvbE5vblN0YXRpYzpbe3R5cGU6aXIsYXJnczpbaVVdfV0sX2NvbnRyb2xTdGF0aWM6W3t0eXBlOmlyLGFyZ3M6W2lVLHtzdGF0aWM6ITB9XX1dLF9sYWJlbENoaWxkTm9uU3RhdGljOlt7dHlwZTppcixhcmdzOltjVV19XSxfbGFiZWxDaGlsZFN0YXRpYzpbe3R5cGU6aXIsYXJnczpbY1Use3N0YXRpYzohMH1dfV0sX3BsYWNlaG9sZGVyQ2hpbGQ6W3t0eXBlOmlyLGFyZ3M6W2RVXX1dLF9lcnJvckNoaWxkcmVuOlt7dHlwZTpvcixhcmdzOltlVSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9oaW50Q2hpbGRyZW46W3t0eXBlOm9yLGFyZ3M6W3NVLHtkZXNjZW5kYW50czohMH1dfV0sX3ByZWZpeENoaWxkcmVuOlt7dHlwZTpvcixhcmdzOltwVSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9zdWZmaXhDaGlsZHJlbjpbe3R5cGU6b3IsYXJnczpbZlUse2Rlc2NlbmRhbnRzOiEwfV19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgQ1V7fUNVLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxDVSl9LENVLsm1bW9kPWZvKHt0eXBlOkNVfSksQ1UuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxORix3SF0sTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihDVSxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbblUsX1UsbFUsY1UsZFUsbVUsdVVdLGltcG9ydHM6W3J4LE5GLHdIXSxleHBvcnRzOltORixuVSxfVSxsVSxjVSxkVSxtVSx1VV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhDVSx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW25VLF9VLGxVLGNVLGRVLG1VLHVVXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltyeCxORix3SF19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bTkYsblUsX1UsbFUsY1UsZFUsbVUsdVVdfX0pOwovKioKICAgICAqIEBsaWNlbnNlIEFuZ3VsYXIgdjEyLjIuMQogICAgICogKGMpIDIwMTAtMjAyMSBHb29nbGUgTExDLiBodHRwczovL2FuZ3VsYXIuaW8vCiAgICAgKiBMaWNlbnNlOiBNSVQKICAgICAqLwpjbGFzcyBNVXtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX3JlbmRlcmVyPXQsdGhpcy5fZWxlbWVudFJlZj1lLHRoaXMub25DaGFuZ2U9dD0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9fXNldFByb3BlcnR5KHQsZSl7dGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LHQsZSl9cmVnaXN0ZXJPblRvdWNoZWQodCl7dGhpcy5vblRvdWNoZWQ9dH1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMub25DaGFuZ2U9dH1zZXREaXNhYmxlZFN0YXRlKHQpe3RoaXMuc2V0UHJvcGVydHkoImRpc2FibGVkIix0KX19TVUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE1VKShnZigkaCksZ2YoS2gpKX0sTVUuybVkaXI9aG8oe3R5cGU6TVV9KSxNVS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOiRofSx7dHlwZTpLaH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTVUsW3t0eXBlOmtffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOiRofSx7dHlwZTpLaH1dfSksbnVsbCk7Y2xhc3MgdlUgZXh0ZW5kcyBNVXt9dlUuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHZVKSkpKG58fHZVKX19KSgpLHZVLsm1ZGlyPWhvKHt0eXBlOnZVLGZlYXR1cmVzOltRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHZVLFt7dHlwZTprX31dLG51bGwsbnVsbCk7Y29uc3QgeFU9bmV3IGVyKCJOZ1ZhbHVlQWNjZXNzb3IiKSxPVT17cHJvdmlkZTp4VSx1c2VFeGlzdGluZzokZSgoKCk9PlBVKSksbXVsdGk6ITB9OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBQVSBleHRlbmRzIHZVe3dyaXRlVmFsdWUodCl7dGhpcy5zZXRQcm9wZXJ0eSgiY2hlY2tlZCIsdCl9fVBVLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShQVSkpKShufHxQVSl9fSkoKSxQVS7JtWRpcj1obyh7dHlwZTpQVSxzZWxlY3RvcnM6W1siaW5wdXQiLCJ0eXBlIiwiY2hlY2tib3giLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbImlucHV0IiwidHlwZSIsImNoZWNrYm94IiwiZm9ybUNvbnRyb2wiLCIiXSxbImlucHV0IiwidHlwZSIsImNoZWNrYm94IiwibmdNb2RlbCIsIiJdXSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25DaGFuZ2UoZS50YXJnZXQuY2hlY2tlZCl9KSkoImJsdXIiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub3VjaGVkKCl9KSl9LGZlYXR1cmVzOltqaChbT1VdKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFBVLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6ImlucHV0W3R5cGU9Y2hlY2tib3hdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1jaGVja2JveF1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9Y2hlY2tib3hdW25nTW9kZWxdIixob3N0OnsiKGNoYW5nZSkiOiJvbkNoYW5nZSgkZXZlbnQudGFyZ2V0LmNoZWNrZWQpIiwiKGJsdXIpIjoib25Ub3VjaGVkKCkifSxwcm92aWRlcnM6W09VXX1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHdVPXtwcm92aWRlOnhVLHVzZUV4aXN0aW5nOiRlKCgoKT0+U1UpKSxtdWx0aTohMH07Y29uc3Qga1U9bmV3IGVyKCJDb21wb3NpdGlvbkV2ZW50TW9kZSIpO2NsYXNzIFNVIGV4dGVuZHMgTVV7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSksdGhpcy5fY29tcG9zaXRpb25Nb2RlPW4sdGhpcy5fY29tcG9zaW5nPSExLG51bGw9PXRoaXMuX2NvbXBvc2l0aW9uTW9kZSYmKHRoaXMuX2NvbXBvc2l0aW9uTW9kZT0hKGZ1bmN0aW9uIG8oKXtjb25zdCB0PXJNKCk/ck0oKS5nZXRVc2VyQWdlbnQoKToiIjtyZXR1cm4vYW5kcm9pZCAoXGQrKS8udGVzdCh0LnRvTG93ZXJDYXNlKCkpfSkoKSl9d3JpdGVWYWx1ZSh0KXt0aGlzLnNldFByb3BlcnR5KCJ2YWx1ZSIsbnVsbD09dD8iIjp0KX1faGFuZGxlSW5wdXQodCl7KCF0aGlzLl9jb21wb3NpdGlvbk1vZGV8fHRoaXMuX2NvbXBvc2l0aW9uTW9kZSYmIXRoaXMuX2NvbXBvc2luZykmJnRoaXMub25DaGFuZ2UodCl9X2NvbXBvc2l0aW9uU3RhcnQoKXt0aGlzLl9jb21wb3Npbmc9ITB9X2NvbXBvc2l0aW9uRW5kKHQpe3RoaXMuX2NvbXBvc2luZz0hMSx0aGlzLl9jb21wb3NpdGlvbk1vZGUmJnRoaXMub25DaGFuZ2UodCl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gRFUodCl7cmV0dXJuIG51bGw9PXR8fDA9PT10Lmxlbmd0aH1mdW5jdGlvbiBSVSh0KXtyZXR1cm4gbnVsbCE9dCYmIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aH1TVS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8U1UpKGdmKCRoKSxnZihLaCksZ2Yoa1UsOCkpfSxTVS7JtWRpcj1obyh7dHlwZTpTVSxzZWxlY3RvcnM6W1siaW5wdXQiLCJmb3JtQ29udHJvbE5hbWUiLCIiLDMsInR5cGUiLCJjaGVja2JveCJdLFsidGV4dGFyZWEiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbImlucHV0IiwiZm9ybUNvbnRyb2wiLCIiLDMsInR5cGUiLCJjaGVja2JveCJdLFsidGV4dGFyZWEiLCJmb3JtQ29udHJvbCIsIiJdLFsiaW5wdXQiLCJuZ01vZGVsIiwiIiwzLCJ0eXBlIiwiY2hlY2tib3giXSxbInRleHRhcmVhIiwibmdNb2RlbCIsIiJdLFsiIiwibmdEZWZhdWx0Q29udHJvbCIsIiJdXSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlSW5wdXQoZS50YXJnZXQudmFsdWUpfSkpKCJibHVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uVG91Y2hlZCgpfSkpKCJjb21wb3NpdGlvbnN0YXJ0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9jb21wb3NpdGlvblN0YXJ0KCl9KSkoImNvbXBvc2l0aW9uZW5kIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5fY29tcG9zaXRpb25FbmQoZS50YXJnZXQudmFsdWUpfSkpfSxmZWF0dXJlczpbamgoW3dVXSksUXBdfSksU1UuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTokaH0se3R5cGU6S2h9LHt0eXBlOkJvb2xlYW4sZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2tVXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihTVSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0iLGhvc3Q6eyIoaW5wdXQpIjoiJGFueSh0aGlzKS5faGFuZGxlSW5wdXQoJGV2ZW50LnRhcmdldC52YWx1ZSkiLCIoYmx1cikiOiJvblRvdWNoZWQoKSIsIihjb21wb3NpdGlvbnN0YXJ0KSI6IiRhbnkodGhpcykuX2NvbXBvc2l0aW9uU3RhcnQoKSIsIihjb21wb3NpdGlvbmVuZCkiOiIkYW55KHRoaXMpLl9jb21wb3NpdGlvbkVuZCgkZXZlbnQudGFyZ2V0LnZhbHVlKSJ9LHByb3ZpZGVyczpbd1VdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6JGh9LHt0eXBlOktofSx7dHlwZTpCb29sZWFuLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltrVV19XX1dfSksbnVsbCk7Y29uc3QgRVU9bmV3IGVyKCJOZ1ZhbGlkYXRvcnMiKSxBVT1uZXcgZXIoIk5nQXN5bmNWYWxpZGF0b3JzIiksVFU9L14oPz0uezEsMjU0fSQpKD89LnsxLDY0fUApW2EtekEtWjAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKyg/OlwuW2EtekEtWjAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKykqQFthLXpBLVowLTldKD86W2EtekEtWjAtOS1dezAsNjF9W2EtekEtWjAtOV0pPyg/OlwuW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSk/KSokLztjbGFzcyBOVXtzdGF0aWMgbWluKHQpe3JldHVybiB6VSh0KX1zdGF0aWMgbWF4KHQpe3JldHVybiBJVSh0KX1zdGF0aWMgcmVxdWlyZWQodCl7cmV0dXJuIEhVKHQpfXN0YXRpYyByZXF1aXJlZFRydWUodCl7cmV0dXJuIEZVKHQpfXN0YXRpYyBlbWFpbCh0KXtyZXR1cm4gTFUodCl9c3RhdGljIG1pbkxlbmd0aCh0KXtyZXR1cm4gQlUodCl9c3RhdGljIG1heExlbmd0aCh0KXtyZXR1cm4gVlUodCl9c3RhdGljIHBhdHRlcm4odCl7cmV0dXJuIGpVKHQpfXN0YXRpYyBudWxsVmFsaWRhdG9yKHQpe3JldHVybiBudWxsfXN0YXRpYyBjb21wb3NlKHQpe3JldHVybiBYVSh0KX1zdGF0aWMgY29tcG9zZUFzeW5jKHQpe3JldHVybiBKVSh0KX19ZnVuY3Rpb24gelUodCl7cmV0dXJuIGU9PntpZihEVShlLnZhbHVlKXx8RFUodCkpcmV0dXJuIG51bGw7Y29uc3Qgbj1wYXJzZUZsb2F0KGUudmFsdWUpO3JldHVybiFpc05hTihuKSYmbjx0P3ttaW46e21pbjp0LGFjdHVhbDplLnZhbHVlfX06bnVsbH19ZnVuY3Rpb24gSVUodCl7cmV0dXJuIGU9PntpZihEVShlLnZhbHVlKXx8RFUodCkpcmV0dXJuIG51bGw7Y29uc3Qgbj1wYXJzZUZsb2F0KGUudmFsdWUpO3JldHVybiFpc05hTihuKSYmbj50P3ttYXg6e21heDp0LGFjdHVhbDplLnZhbHVlfX06bnVsbH19ZnVuY3Rpb24gSFUodCl7cmV0dXJuIERVKHQudmFsdWUpP3tyZXF1aXJlZDohMH06bnVsbH1mdW5jdGlvbiBGVSh0KXtyZXR1cm4hMD09PXQudmFsdWU/bnVsbDp7cmVxdWlyZWQ6ITB9fWZ1bmN0aW9uIExVKHQpe3JldHVybiBEVSh0LnZhbHVlKXx8VFUudGVzdCh0LnZhbHVlKT9udWxsOntlbWFpbDohMH19ZnVuY3Rpb24gQlUodCl7cmV0dXJuIGU9PkRVKGUudmFsdWUpfHwhUlUoZS52YWx1ZSk/bnVsbDplLnZhbHVlLmxlbmd0aDx0P3ttaW5sZW5ndGg6e3JlcXVpcmVkTGVuZ3RoOnQsYWN0dWFsTGVuZ3RoOmUudmFsdWUubGVuZ3RofX06bnVsbH1mdW5jdGlvbiBWVSh0KXtyZXR1cm4gZT0+UlUoZS52YWx1ZSkmJmUudmFsdWUubGVuZ3RoPnQ/e21heGxlbmd0aDp7cmVxdWlyZWRMZW5ndGg6dCxhY3R1YWxMZW5ndGg6ZS52YWx1ZS5sZW5ndGh9fTpudWxsfWZ1bmN0aW9uIGpVKHQpe2lmKCF0KXJldHVybiBVVTtsZXQgZSxuO3JldHVybiJzdHJpbmciPT10eXBlb2YgdD8obj0iIiwiXiIhPT10LmNoYXJBdCgwKSYmKG4rPSJeIiksbis9dCwiJCIhPT10LmNoYXJBdCh0Lmxlbmd0aC0xKSYmKG4rPSIkIiksZT1uZXcgUmVnRXhwKG4pKToobj10LnRvU3RyaW5nKCksZT10KSx0PT57aWYoRFUodC52YWx1ZSkpcmV0dXJuIG51bGw7Y29uc3Qgbz10LnZhbHVlO3JldHVybiBlLnRlc3Qobyk/bnVsbDp7cGF0dGVybjp7cmVxdWlyZWRQYXR0ZXJuOm4sYWN0dWFsVmFsdWU6b319fX1mdW5jdGlvbiBVVSh0KXtyZXR1cm4gbnVsbH1mdW5jdGlvbiBXVSh0KXtyZXR1cm4gbnVsbCE9dH1mdW5jdGlvbiBHVSh0KXtjb25zdCBlPWtmKHQpP1B0KHQpOnQ7aWYoIURmKGUpJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCB2YWxpZGF0b3IgdG8gcmV0dXJuIFByb21pc2Ugb3IgT2JzZXJ2YWJsZS4iKTtyZXR1cm4gZX1mdW5jdGlvbiBZVSh0KXtsZXQgZT17fTtyZXR1cm4gdC5mb3JFYWNoKCh0PT57ZT1udWxsIT10P09iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx0KTplfSkpLDA9PT1PYmplY3Qua2V5cyhlKS5sZW5ndGg/bnVsbDplfWZ1bmN0aW9uIHFVKHQsZSl7cmV0dXJuIGUubWFwKChlPT5lKHQpKSl9ZnVuY3Rpb24gWlUodCl7cmV0dXJuIHQubWFwKCh0PT4oZnVuY3Rpb24gZSh0KXtyZXR1cm4hdC52YWxpZGF0ZX0pKHQpP3Q6ZT0+dC52YWxpZGF0ZShlKSkpfWZ1bmN0aW9uIFhVKHQpe2lmKCF0KXJldHVybiBudWxsO2NvbnN0IGU9dC5maWx0ZXIoV1UpO3JldHVybiAwPT1lLmxlbmd0aD9udWxsOmZ1bmN0aW9uKHQpe3JldHVybiBZVShxVSh0LGUpKX19ZnVuY3Rpb24gS1UodCl7cmV0dXJuIG51bGwhPXQ/WFUoWlUodCkpOm51bGx9ZnVuY3Rpb24gSlUodCl7aWYoIXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LmZpbHRlcihXVSk7cmV0dXJuIDA9PWUubGVuZ3RoP251bGw6ZnVuY3Rpb24odCl7cmV0dXJuIGllKHFVKHQsZSkubWFwKEdVKSkucGlwZShWdChZVSkpfX1mdW5jdGlvbiBRVSh0KXtyZXR1cm4gbnVsbCE9dD9KVShaVSh0KSk6bnVsbH1mdW5jdGlvbiAkVSh0LGUpe3JldHVybiBudWxsPT09dD9bZV06QXJyYXkuaXNBcnJheSh0KT9bLi4udCxlXTpbdCxlXX1mdW5jdGlvbiB0Vyh0KXtyZXR1cm4gdC5fcmF3VmFsaWRhdG9yc31mdW5jdGlvbiBlVyh0KXtyZXR1cm4gdC5fcmF3QXN5bmNWYWxpZGF0b3JzfWZ1bmN0aW9uIG5XKHQpe3JldHVybiB0P0FycmF5LmlzQXJyYXkodCk/dDpbdF06W119ZnVuY3Rpb24gb1codCxlKXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90LmluY2x1ZGVzKGUpOnQ9PT1lfWZ1bmN0aW9uIGlXKHQsZSl7Y29uc3Qgbj1uVyhlKTtyZXR1cm4gblcodCkuZm9yRWFjaCgodD0+e29XKG4sdCl8fG4ucHVzaCh0KX0pKSxufWZ1bmN0aW9uIGFXKHQsZSl7cmV0dXJuIG5XKGUpLmZpbHRlcigoZT0+IW9XKHQsZSkpKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3Mgcld7Y29uc3RydWN0b3IoKXt0aGlzLl9yYXdWYWxpZGF0b3JzPVtdLHRoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycz1bXSx0aGlzLl9vbkRlc3Ryb3lDYWxsYmFja3M9W119Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wudmFsdWU6bnVsbH1nZXQgdmFsaWQoKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC52YWxpZDpudWxsfWdldCBpbnZhbGlkKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wuaW52YWxpZDpudWxsfWdldCBwZW5kaW5nKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wucGVuZGluZzpudWxsfWdldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLmNvbnRyb2w/dGhpcy5jb250cm9sLmRpc2FibGVkOm51bGx9Z2V0IGVuYWJsZWQoKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC5lbmFibGVkOm51bGx9Z2V0IGVycm9ycygpe3JldHVybiB0aGlzLmNvbnRyb2w/dGhpcy5jb250cm9sLmVycm9yczpudWxsfWdldCBwcmlzdGluZSgpe3JldHVybiB0aGlzLmNvbnRyb2w/dGhpcy5jb250cm9sLnByaXN0aW5lOm51bGx9Z2V0IGRpcnR5KCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wuZGlydHk6bnVsbH1nZXQgdG91Y2hlZCgpe3JldHVybiB0aGlzLmNvbnRyb2w/dGhpcy5jb250cm9sLnRvdWNoZWQ6bnVsbH1nZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wuc3RhdHVzOm51bGx9Z2V0IHVudG91Y2hlZCgpe3JldHVybiB0aGlzLmNvbnRyb2w/dGhpcy5jb250cm9sLnVudG91Y2hlZDpudWxsfWdldCBzdGF0dXNDaGFuZ2VzKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wuc3RhdHVzQ2hhbmdlczpudWxsfWdldCB2YWx1ZUNoYW5nZXMoKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC52YWx1ZUNoYW5nZXM6bnVsbH1nZXQgcGF0aCgpe3JldHVybiBudWxsfV9zZXRWYWxpZGF0b3JzKHQpe3RoaXMuX3Jhd1ZhbGlkYXRvcnM9dHx8W10sdGhpcy5fY29tcG9zZWRWYWxpZGF0b3JGbj1LVSh0aGlzLl9yYXdWYWxpZGF0b3JzKX1fc2V0QXN5bmNWYWxpZGF0b3JzKHQpe3RoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycz10fHxbXSx0aGlzLl9jb21wb3NlZEFzeW5jVmFsaWRhdG9yRm49UVUodGhpcy5fcmF3QXN5bmNWYWxpZGF0b3JzKX1nZXQgdmFsaWRhdG9yKCl7cmV0dXJuIHRoaXMuX2NvbXBvc2VkVmFsaWRhdG9yRm58fG51bGx9Z2V0IGFzeW5jVmFsaWRhdG9yKCl7cmV0dXJuIHRoaXMuX2NvbXBvc2VkQXN5bmNWYWxpZGF0b3JGbnx8bnVsbH1fcmVnaXN0ZXJPbkRlc3Ryb3kodCl7dGhpcy5fb25EZXN0cm95Q2FsbGJhY2tzLnB1c2godCl9X2ludm9rZU9uRGVzdHJveUNhbGxiYWNrcygpe3RoaXMuX29uRGVzdHJveUNhbGxiYWNrcy5mb3JFYWNoKCh0PT50KCkpKSx0aGlzLl9vbkRlc3Ryb3lDYWxsYmFja3M9W119cmVzZXQodCl7dGhpcy5jb250cm9sJiZ0aGlzLmNvbnRyb2wucmVzZXQodCl9aGFzRXJyb3IodCxlKXtyZXR1cm4hIXRoaXMuY29udHJvbCYmdGhpcy5jb250cm9sLmhhc0Vycm9yKHQsZSl9Z2V0RXJyb3IodCxlKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC5nZXRFcnJvcih0LGUpOm51bGx9fXJXLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxyVyl9LHJXLsm1ZGlyPWhvKHt0eXBlOnJXfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBzVyBleHRlbmRzIHJXe2dldCBmb3JtRGlyZWN0aXZlKCl7cmV0dXJuIG51bGx9Z2V0IHBhdGgoKXtyZXR1cm4gbnVsbH19c1cuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHNXKSkpKG58fHNXKX19KSgpLHNXLsm1ZGlyPWhvKHt0eXBlOnNXLGZlYXR1cmVzOltRcF19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIGxXIGV4dGVuZHMgcld7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3BhcmVudD1udWxsLHRoaXMubmFtZT1udWxsLHRoaXMudmFsdWVBY2Nlc3Nvcj1udWxsfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgY1d7Y29uc3RydWN0b3IodCl7dGhpcy5fY2Q9dH1pcyh0KXt2YXIgZSxuLG87cmV0dXJuInN1Ym1pdHRlZCI9PT10PyEhKG51bGw9PT0oZT10aGlzLl9jZCl8fHZvaWQgMD09PWU/dm9pZCAwOmUuc3VibWl0dGVkKTohIShudWxsPT09KG89bnVsbD09PShuPXRoaXMuX2NkKXx8dm9pZCAwPT09bj92b2lkIDA6bi5jb250cm9sKXx8dm9pZCAwPT09bz92b2lkIDA6b1t0XSl9fWNvbnN0IGRXPXsiW2NsYXNzLm5nLXVudG91Y2hlZF0iOidpcygidW50b3VjaGVkIiknLCJbY2xhc3MubmctdG91Y2hlZF0iOidpcygidG91Y2hlZCIpJywiW2NsYXNzLm5nLXByaXN0aW5lXSI6J2lzKCJwcmlzdGluZSIpJywiW2NsYXNzLm5nLWRpcnR5XSI6J2lzKCJkaXJ0eSIpJywiW2NsYXNzLm5nLXZhbGlkXSI6J2lzKCJ2YWxpZCIpJywiW2NsYXNzLm5nLWludmFsaWRdIjonaXMoImludmFsaWQiKScsIltjbGFzcy5uZy1wZW5kaW5nXSI6J2lzKCJwZW5kaW5nIiknfSxwVz17IltjbGFzcy5uZy11bnRvdWNoZWRdIjonaXMoInVudG91Y2hlZCIpJywiW2NsYXNzLm5nLXRvdWNoZWRdIjonaXMoInRvdWNoZWQiKScsIltjbGFzcy5uZy1wcmlzdGluZV0iOidpcygicHJpc3RpbmUiKScsIltjbGFzcy5uZy1kaXJ0eV0iOidpcygiZGlydHkiKScsIltjbGFzcy5uZy12YWxpZF0iOidpcygidmFsaWQiKScsIltjbGFzcy5uZy1pbnZhbGlkXSI6J2lzKCJpbnZhbGlkIiknLCJbY2xhc3MubmctcGVuZGluZ10iOidpcygicGVuZGluZyIpJywiW2NsYXNzLm5nLXN1Ym1pdHRlZF0iOidpcygic3VibWl0dGVkIiknfTtjbGFzcyBtVyBleHRlbmRzIGNXe2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfX1tVy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bVcpKGdmKGxXLDIpKX0sbVcuybVkaXI9aG8oe3R5cGU6bVcsc2VsZWN0b3JzOltbIiIsImZvcm1Db250cm9sTmFtZSIsIiJdLFsiIiwibmdNb2RlbCIsIiJdLFsiIiwiZm9ybUNvbnRyb2wiLCIiXV0saG9zdFZhcnM6MTQsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJmN1KCJuZy11bnRvdWNoZWQiLG4uaXMoInVudG91Y2hlZCIpKSgibmctdG91Y2hlZCIsbi5pcygidG91Y2hlZCIpKSgibmctcHJpc3RpbmUiLG4uaXMoInByaXN0aW5lIikpKCJuZy1kaXJ0eSIsbi5pcygiZGlydHkiKSkoIm5nLXZhbGlkIixuLmlzKCJ2YWxpZCIpKSgibmctaW52YWxpZCIsbi5pcygiaW52YWxpZCIpKSgibmctcGVuZGluZyIsbi5pcygicGVuZGluZyIpKX0sZmVhdHVyZXM6W1FwXX0pLG1XLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6bFcsZGVjb3JhdG9yczpbe3R5cGU6VnJ9XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobVcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0iLGhvc3Q6ZFd9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpsVyxkZWNvcmF0b3JzOlt7dHlwZTpWcn1dfV19KSxudWxsKTtjbGFzcyBmVyBleHRlbmRzIGNXe2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfX1mVy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZlcpKGdmKHNXLDEwKSl9LGZXLsm1ZGlyPWhvKHt0eXBlOmZXLHNlbGVjdG9yczpbWyIiLCJmb3JtR3JvdXBOYW1lIiwiIl0sWyIiLCJmb3JtQXJyYXlOYW1lIiwiIl0sWyIiLCJuZ01vZGVsR3JvdXAiLCIiXSxbIiIsImZvcm1Hcm91cCIsIiJdLFsiZm9ybSIsMywibmdOb0Zvcm0iLCIiXSxbIiIsIm5nRm9ybSIsIiJdXSxob3N0VmFyczoxNixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoIm5nLXVudG91Y2hlZCIsbi5pcygidW50b3VjaGVkIikpKCJuZy10b3VjaGVkIixuLmlzKCJ0b3VjaGVkIikpKCJuZy1wcmlzdGluZSIsbi5pcygicHJpc3RpbmUiKSkoIm5nLWRpcnR5IixuLmlzKCJkaXJ0eSIpKSgibmctdmFsaWQiLG4uaXMoInZhbGlkIikpKCJuZy1pbnZhbGlkIixuLmlzKCJpbnZhbGlkIikpKCJuZy1wZW5kaW5nIixuLmlzKCJwZW5kaW5nIikpKCJuZy1zdWJtaXR0ZWQiLG4uaXMoInN1Ym1pdHRlZCIpKX0sZmVhdHVyZXM6W1FwXX0pLGZXLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6c1csZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGZXLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0iLGhvc3Q6cFd9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpzVyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB1Vz0nXG4gICAgPGRpdiBbZm9ybUdyb3VwXT0ibXlHcm91cCI+XG4gICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJmaXJzdE5hbWUiPlxuICAgIDwvZGl2PlxuXG4gICAgSW4geW91ciBjbGFzczpcblxuICAgIHRoaXMubXlHcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgIGZpcnN0TmFtZTogbmV3IEZvcm1Db250cm9sKClcbiAgICB9KTsnLGdXPSdcbiAgICA8ZGl2IFtmb3JtR3JvdXBdPSJteUdyb3VwIj5cbiAgICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InBlcnNvbiI+XG4gICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT0iZmlyc3ROYW1lIj5cbiAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIEluIHlvdXIgY2xhc3M6XG5cbiAgICB0aGlzLm15R3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICBwZXJzb246IG5ldyBGb3JtR3JvdXAoeyBmaXJzdE5hbWU6IG5ldyBGb3JtQ29udHJvbCgpIH0pXG4gICAgfSk7JyxoVz0nXG4gICAgPGRpdiBbZm9ybUdyb3VwXT0ibXlHcm91cCI+XG4gICAgICA8ZGl2IGZvcm1BcnJheU5hbWU9ImNpdGllcyI+XG4gICAgICAgIDxkaXYgKm5nRm9yPSJsZXQgY2l0eSBvZiBjaXR5QXJyYXkuY29udHJvbHM7IGluZGV4IGFzIGkiPlxuICAgICAgICAgIDxpbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT0iaSI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBJbiB5b3VyIGNsYXNzOlxuXG4gICAgdGhpcy5jaXR5QXJyYXkgPSBuZXcgRm9ybUFycmF5KFtuZXcgRm9ybUNvbnRyb2woXCdTRlwnKV0pO1xuICAgIHRoaXMubXlHcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgY2l0aWVzOiB0aGlzLmNpdHlBcnJheVxuICAgIH0pOycsYlc9J1xuICAgIDxmb3JtPlxuICAgICAgIDxkaXYgbmdNb2RlbEdyb3VwPSJwZXJzb24iPlxuICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT0icGVyc29uLm5hbWUiIG5hbWU9ImZpcnN0TmFtZSI+XG4gICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPicseVc9J1xuICAgIDxkaXYgW2Zvcm1Hcm91cF09Im15R3JvdXAiPlxuICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9ImZpcnN0TmFtZSI+XG4gICAgICAgPGlucHV0IFsobmdNb2RlbCldPSJzaG93TW9yZUNvbnRyb2xzIiBbbmdNb2RlbE9wdGlvbnNdPSJ7c3RhbmRhbG9uZTogdHJ1ZX0iPlxuICAgIDwvZGl2PlxuICAnOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBfV3tzdGF0aWMgY29udHJvbFBhcmVudEV4Y2VwdGlvbigpe3Rocm93IG5ldyBFcnJvcihgZm9ybUNvbnRyb2xOYW1lIG11c3QgYmUgdXNlZCB3aXRoIGEgcGFyZW50IGZvcm1Hcm91cCBkaXJlY3RpdmUuICBZb3UnbGwgd2FudCB0byBhZGQgYSBmb3JtR3JvdXBcbiAgICAgICBkaXJlY3RpdmUgYW5kIHBhc3MgaXQgYW4gZXhpc3RpbmcgRm9ybUdyb3VwIGluc3RhbmNlICh5b3UgY2FuIGNyZWF0ZSBvbmUgaW4geW91ciBjbGFzcykuXG5cbiAgICAgIEV4YW1wbGU6XG5cbiAgICAgICR7dVd9YCl9c3RhdGljIG5nTW9kZWxHcm91cEV4Y2VwdGlvbigpe3Rocm93IG5ldyBFcnJvcihgZm9ybUNvbnRyb2xOYW1lIGNhbm5vdCBiZSB1c2VkIHdpdGggYW4gbmdNb2RlbEdyb3VwIHBhcmVudC4gSXQgaXMgb25seSBjb21wYXRpYmxlIHdpdGggcGFyZW50c1xuICAgICAgIHRoYXQgYWxzbyBoYXZlIGEgImZvcm0iIHByZWZpeDogZm9ybUdyb3VwTmFtZSwgZm9ybUFycmF5TmFtZSwgb3IgZm9ybUdyb3VwLlxuXG4gICAgICAgT3B0aW9uIDE6ICBVcGRhdGUgdGhlIHBhcmVudCB0byBiZSBmb3JtR3JvdXBOYW1lIChyZWFjdGl2ZSBmb3JtIHN0cmF0ZWd5KVxuXG4gICAgICAgICR7Z1d9XG5cbiAgICAgICAgT3B0aW9uIDI6IFVzZSBuZ01vZGVsIGluc3RlYWQgb2YgZm9ybUNvbnRyb2xOYW1lICh0ZW1wbGF0ZS1kcml2ZW4gc3RyYXRlZ3kpXG5cbiAgICAgICAgJHtiV31gKX1zdGF0aWMgbWlzc2luZ0Zvcm1FeGNlcHRpb24oKXt0aHJvdyBuZXcgRXJyb3IoYGZvcm1Hcm91cCBleHBlY3RzIGEgRm9ybUdyb3VwIGluc3RhbmNlLiBQbGVhc2UgcGFzcyBvbmUgaW4uXG5cbiAgICAgICBFeGFtcGxlOlxuXG4gICAgICAgJHt1V31gKX1zdGF0aWMgZ3JvdXBQYXJlbnRFeGNlcHRpb24oKXt0aHJvdyBuZXcgRXJyb3IoYGZvcm1Hcm91cE5hbWUgbXVzdCBiZSB1c2VkIHdpdGggYSBwYXJlbnQgZm9ybUdyb3VwIGRpcmVjdGl2ZS4gIFlvdSdsbCB3YW50IHRvIGFkZCBhIGZvcm1Hcm91cFxuICAgICAgZGlyZWN0aXZlIGFuZCBwYXNzIGl0IGFuIGV4aXN0aW5nIEZvcm1Hcm91cCBpbnN0YW5jZSAoeW91IGNhbiBjcmVhdGUgb25lIGluIHlvdXIgY2xhc3MpLlxuXG4gICAgICBFeGFtcGxlOlxuXG4gICAgICAke2dXfWApfXN0YXRpYyBhcnJheVBhcmVudEV4Y2VwdGlvbigpe3Rocm93IG5ldyBFcnJvcihgZm9ybUFycmF5TmFtZSBtdXN0IGJlIHVzZWQgd2l0aCBhIHBhcmVudCBmb3JtR3JvdXAgZGlyZWN0aXZlLiAgWW91J2xsIHdhbnQgdG8gYWRkIGEgZm9ybUdyb3VwXG4gICAgICAgZGlyZWN0aXZlIGFuZCBwYXNzIGl0IGFuIGV4aXN0aW5nIEZvcm1Hcm91cCBpbnN0YW5jZSAoeW91IGNhbiBjcmVhdGUgb25lIGluIHlvdXIgY2xhc3MpLlxuXG4gICAgICAgIEV4YW1wbGU6XG5cbiAgICAgICAgJHtoV31gKX1zdGF0aWMgZGlzYWJsZWRBdHRyV2FybmluZygpe2NvbnNvbGUud2FybigiXG4gICAgICBJdCBsb29rcyBsaWtlIHlvdSdyZSB1c2luZyB0aGUgZGlzYWJsZWQgYXR0cmlidXRlIHdpdGggYSByZWFjdGl2ZSBmb3JtIGRpcmVjdGl2ZS4gSWYgeW91IHNldCBkaXNhYmxlZCB0byB0cnVlXG4gICAgICB3aGVuIHlvdSBzZXQgdXAgdGhpcyBjb250cm9sIGluIHlvdXIgY29tcG9uZW50IGNsYXNzLCB0aGUgZGlzYWJsZWQgYXR0cmlidXRlIHdpbGwgYWN0dWFsbHkgYmUgc2V0IGluIHRoZSBET00gZm9yXG4gICAgICB5b3UuIFdlIHJlY29tbWVuZCB1c2luZyB0aGlzIGFwcHJvYWNoIHRvIGF2b2lkICdjaGFuZ2VkIGFmdGVyIGNoZWNrZWQnIGVycm9ycy5cblxuICAgICAgRXhhbXBsZTpcbiAgICAgIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgZmlyc3Q6IG5ldyBGb3JtQ29udHJvbCh7dmFsdWU6ICdOYW5jeScsIGRpc2FibGVkOiB0cnVlfSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGxhc3Q6IG5ldyBGb3JtQ29udHJvbCgnRHJldycsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgICB9KTtcbiAgICAiKX1zdGF0aWMgbmdNb2RlbFdhcm5pbmcodCl7Y29uc29sZS53YXJuKGBcbiAgICBJdCBsb29rcyBsaWtlIHlvdSdyZSB1c2luZyBuZ01vZGVsIG9uIHRoZSBzYW1lIGZvcm0gZmllbGQgYXMgJHt0fS5cbiAgICBTdXBwb3J0IGZvciB1c2luZyB0aGUgbmdNb2RlbCBpbnB1dCBwcm9wZXJ0eSBhbmQgbmdNb2RlbENoYW5nZSBldmVudCB3aXRoXG4gICAgcmVhY3RpdmUgZm9ybSBkaXJlY3RpdmVzIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gQW5ndWxhciB2NiBhbmQgd2lsbCBiZSByZW1vdmVkXG4gICAgaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiBBbmd1bGFyLlxuXG4gICAgRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgc2VlIG91ciBBUEkgZG9jcyBoZXJlOlxuICAgIGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvJHsiZm9ybUNvbnRyb2wiPT09dD8iRm9ybUNvbnRyb2xEaXJlY3RpdmUiOiJGb3JtQ29udHJvbE5hbWUifSN1c2Utd2l0aC1uZ21vZGVsXG4gICAgYCl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBDVyh0LGUpe3JldHVyblsuLi5lLnBhdGgsdF19ZnVuY3Rpb24gTVcodCxlKXsoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJih0fHxTVyhlLCJDYW5ub3QgZmluZCBjb250cm9sIHdpdGgiKSxlLnZhbHVlQWNjZXNzb3J8fFNXKGUsIk5vIHZhbHVlIGFjY2Vzc29yIGZvciBmb3JtIGNvbnRyb2wgd2l0aCIpKSxPVyh0LGUpLGUudmFsdWVBY2Nlc3Nvci53cml0ZVZhbHVlKHQudmFsdWUpLChmdW5jdGlvbiBuKHQsZSl7ZS52YWx1ZUFjY2Vzc29yLnJlZ2lzdGVyT25DaGFuZ2UoKG49Pnt0Ll9wZW5kaW5nVmFsdWU9bix0Ll9wZW5kaW5nQ2hhbmdlPSEwLHQuX3BlbmRpbmdEaXJ0eT0hMCwiY2hhbmdlIj09PXQudXBkYXRlT24mJndXKHQsZSl9KSl9KSh0LGUpLChmdW5jdGlvbiBvKHQsZSl7Y29uc3Qgbj0odCxuKT0+e2UudmFsdWVBY2Nlc3Nvci53cml0ZVZhbHVlKHQpLG4mJmUudmlld1RvTW9kZWxVcGRhdGUodCl9O3QucmVnaXN0ZXJPbkNoYW5nZShuKSxlLl9yZWdpc3Rlck9uRGVzdHJveSgoKCk9Pnt0Ll91bnJlZ2lzdGVyT25DaGFuZ2Uobil9KSl9KSh0LGUpLChmdW5jdGlvbiBpKHQsZSl7ZS52YWx1ZUFjY2Vzc29yLnJlZ2lzdGVyT25Ub3VjaGVkKCgoKT0+e3QuX3BlbmRpbmdUb3VjaGVkPSEwLCJibHVyIj09PXQudXBkYXRlT24mJnQuX3BlbmRpbmdDaGFuZ2UmJndXKHQsZSksInN1Ym1pdCIhPT10LnVwZGF0ZU9uJiZ0Lm1hcmtBc1RvdWNoZWQoKX0pKX0pKHQsZSksKGZ1bmN0aW9uIGEodCxlKXtpZihlLnZhbHVlQWNjZXNzb3Iuc2V0RGlzYWJsZWRTdGF0ZSl7Y29uc3Qgbj10PT57ZS52YWx1ZUFjY2Vzc29yLnNldERpc2FibGVkU3RhdGUodCl9O3QucmVnaXN0ZXJPbkRpc2FibGVkQ2hhbmdlKG4pLGUuX3JlZ2lzdGVyT25EZXN0cm95KCgoKT0+e3QuX3VucmVnaXN0ZXJPbkRpc2FibGVkQ2hhbmdlKG4pfSkpfX0pKHQsZSl9ZnVuY3Rpb24gdlcodCxlLG49ITApe2NvbnN0IG89KCk9PntuJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJihmdW5jdGlvbiB0KGUpe3JldHVybiBTVyhlLCJUaGVyZSBpcyBubyBGb3JtQ29udHJvbCBpbnN0YW5jZSBhdHRhY2hlZCB0byBmb3JtIGNvbnRyb2wgZWxlbWVudCB3aXRoIil9KShlKX07ZS52YWx1ZUFjY2Vzc29yJiYoZS52YWx1ZUFjY2Vzc29yLnJlZ2lzdGVyT25DaGFuZ2UobyksZS52YWx1ZUFjY2Vzc29yLnJlZ2lzdGVyT25Ub3VjaGVkKG8pKSxQVyh0LGUpLHQmJihlLl9pbnZva2VPbkRlc3Ryb3lDYWxsYmFja3MoKSx0Ll9yZWdpc3Rlck9uQ29sbGVjdGlvbkNoYW5nZSgoKCk9Pnt9KSkpfWZ1bmN0aW9uIHhXKHQsZSl7dC5mb3JFYWNoKCh0PT57dC5yZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlJiZ0LnJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZSl9KSl9ZnVuY3Rpb24gT1codCxlKXtjb25zdCBuPXRXKHQpO251bGwhPT1lLnZhbGlkYXRvcj90LnNldFZhbGlkYXRvcnMoJFUobixlLnZhbGlkYXRvcikpOiJmdW5jdGlvbiI9PXR5cGVvZiBuJiZ0LnNldFZhbGlkYXRvcnMoW25dKTtjb25zdCBvPWVXKHQpO251bGwhPT1lLmFzeW5jVmFsaWRhdG9yP3Quc2V0QXN5bmNWYWxpZGF0b3JzKCRVKG8sZS5hc3luY1ZhbGlkYXRvcikpOiJmdW5jdGlvbiI9PXR5cGVvZiBvJiZ0LnNldEFzeW5jVmFsaWRhdG9ycyhbb10pO2NvbnN0IGk9KCk9PnQudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO3hXKGUuX3Jhd1ZhbGlkYXRvcnMsaSkseFcoZS5fcmF3QXN5bmNWYWxpZGF0b3JzLGkpfWZ1bmN0aW9uIFBXKHQsZSl7bGV0IG49ITE7aWYobnVsbCE9PXQpe2lmKG51bGwhPT1lLnZhbGlkYXRvcil7Y29uc3Qgbz10Vyh0KTtpZihBcnJheS5pc0FycmF5KG8pJiZvLmxlbmd0aD4wKXtjb25zdCBpPW8uZmlsdGVyKCh0PT50IT09ZS52YWxpZGF0b3IpKTtpLmxlbmd0aCE9PW8ubGVuZ3RoJiYobj0hMCx0LnNldFZhbGlkYXRvcnMoaSkpfX1pZihudWxsIT09ZS5hc3luY1ZhbGlkYXRvcil7Y29uc3Qgbz1lVyh0KTtpZihBcnJheS5pc0FycmF5KG8pJiZvLmxlbmd0aD4wKXtjb25zdCBpPW8uZmlsdGVyKCh0PT50IT09ZS5hc3luY1ZhbGlkYXRvcikpO2kubGVuZ3RoIT09by5sZW5ndGgmJihuPSEwLHQuc2V0QXN5bmNWYWxpZGF0b3JzKGkpKX19fWNvbnN0IG89KCk9Pnt9O3JldHVybiB4VyhlLl9yYXdWYWxpZGF0b3JzLG8pLHhXKGUuX3Jhd0FzeW5jVmFsaWRhdG9ycyxvKSxufWZ1bmN0aW9uIHdXKHQsZSl7dC5fcGVuZGluZ0RpcnR5JiZ0Lm1hcmtBc0RpcnR5KCksdC5zZXRWYWx1ZSh0Ll9wZW5kaW5nVmFsdWUse2VtaXRNb2RlbFRvVmlld0NoYW5nZTohMX0pLGUudmlld1RvTW9kZWxVcGRhdGUodC5fcGVuZGluZ1ZhbHVlKSx0Ll9wZW5kaW5nQ2hhbmdlPSExfWZ1bmN0aW9uIGtXKHQsZSl7bnVsbCE9dHx8InVuZGVmaW5lZCIhPXR5cGVvZiBuZ0Rldk1vZGUmJiFuZ0Rldk1vZGV8fFNXKGUsIkNhbm5vdCBmaW5kIGNvbnRyb2wgd2l0aCIpLE9XKHQsZSl9ZnVuY3Rpb24gU1codCxlKXtsZXQgbjt0aHJvdyBuPXQucGF0aC5sZW5ndGg+MT9gcGF0aDogJyR7dC5wYXRoLmpvaW4oIiAtPiAiKX0nYDp0LnBhdGhbMF0/YG5hbWU6ICcke3QucGF0aH0nYDoidW5zcGVjaWZpZWQgbmFtZSBhdHRyaWJ1dGUiLG5ldyBFcnJvcihgJHtlfSAke259YCl9ZnVuY3Rpb24gRFcodCxlKXtpZighdC5oYXNPd25Qcm9wZXJ0eSgibW9kZWwiKSlyZXR1cm4hMTtjb25zdCBuPXQubW9kZWw7cmV0dXJuISFuLmlzRmlyc3RDaGFuZ2UoKXx8IU9iamVjdC5pcyhlLG4uY3VycmVudFZhbHVlKX1mdW5jdGlvbiBSVyh0LGUpe3QuX3N5bmNQZW5kaW5nQ29udHJvbHMoKSxlLmZvckVhY2goKHQ9Pntjb25zdCBlPXQuY29udHJvbDsic3VibWl0Ij09PWUudXBkYXRlT24mJmUuX3BlbmRpbmdDaGFuZ2UmJih0LnZpZXdUb01vZGVsVXBkYXRlKGUuX3BlbmRpbmdWYWx1ZSksZS5fcGVuZGluZ0NoYW5nZT0hMSl9KSl9ZnVuY3Rpb24gRVcodCxlKXtpZighZSlyZXR1cm4gbnVsbDtsZXQgbixvLGk7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSl8fCJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlfHxTVyh0LCJWYWx1ZSBhY2Nlc3NvciB3YXMgbm90IHByb3ZpZGVkIGFzIGFuIGFycmF5IGZvciBmb3JtIGNvbnRyb2wgd2l0aCIpLGUuZm9yRWFjaCgoZT0+e2UuY29uc3RydWN0b3I9PT1TVT9uPWU6IShmdW5jdGlvbiBhKHQpe3JldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodC5jb25zdHJ1Y3Rvcik9PT12VX0pKGUpPyhpJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlNXKHQsIk1vcmUgdGhhbiBvbmUgY3VzdG9tIHZhbHVlIGFjY2Vzc29yIG1hdGNoZXMgZm9ybSBjb250cm9sIHdpdGgiKSxpPWUpOihvJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlNXKHQsIk1vcmUgdGhhbiBvbmUgYnVpbHQtaW4gdmFsdWUgYWNjZXNzb3IgbWF0Y2hlcyBmb3JtIGNvbnRyb2wgd2l0aCIpLG89ZSl9KSksaXx8KG98fChufHwoKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZTVyh0LCJObyB2YWxpZCB2YWx1ZSBhY2Nlc3NvciBmb3IgZm9ybSBjb250cm9sIHdpdGgiKSxudWxsKSkpfWZ1bmN0aW9uIEFXKHQsZSl7Y29uc3Qgbj10LmluZGV4T2YoZSk7bj4tMSYmdC5zcGxpY2UobiwxKX1mdW5jdGlvbiBUVyh0LGUsbixvKXsibmV2ZXIiIT09byYmKChudWxsIT09byYmIm9uY2UiIT09b3x8ZS5fbmdNb2RlbFdhcm5pbmdTZW50T25jZSkmJigiYWx3YXlzIiE9PW98fG4uX25nTW9kZWxXYXJuaW5nU2VudCl8fChfVy5uZ01vZGVsV2FybmluZyh0KSxlLl9uZ01vZGVsV2FybmluZ1NlbnRPbmNlPSEwLG4uX25nTW9kZWxXYXJuaW5nU2VudD0hMCkpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBOVz0iVkFMSUQiLHpXPSJJTlZBTElEIixJVz0iUEVORElORyIsSFc9IkRJU0FCTEVEIjtmdW5jdGlvbiBGVyh0KXtyZXR1cm4oalcodCk/dC52YWxpZGF0b3JzOnQpfHxudWxsfWZ1bmN0aW9uIExXKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP0tVKHQpOnR8fG51bGx9ZnVuY3Rpb24gQlcodCxlKXtyZXR1cm4oalcoZSk/ZS5hc3luY1ZhbGlkYXRvcnM6dCl8fG51bGx9ZnVuY3Rpb24gVlcodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/UVUodCk6dHx8bnVsbH1mdW5jdGlvbiBqVyh0KXtyZXR1cm4gbnVsbCE9dCYmIUFycmF5LmlzQXJyYXkodCkmJiJvYmplY3QiPT10eXBlb2YgdH1jbGFzcyBVV3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2hhc093blBlbmRpbmdBc3luY1ZhbGlkYXRvcj0hMSx0aGlzLl9vbkNvbGxlY3Rpb25DaGFuZ2U9KCk9Pnt9LHRoaXMuX3BhcmVudD1udWxsLHRoaXMucHJpc3RpbmU9ITAsdGhpcy50b3VjaGVkPSExLHRoaXMuX29uRGlzYWJsZWRDaGFuZ2U9W10sdGhpcy5fcmF3VmFsaWRhdG9ycz10LHRoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycz1lLHRoaXMuX2NvbXBvc2VkVmFsaWRhdG9yRm49TFcodGhpcy5fcmF3VmFsaWRhdG9ycyksdGhpcy5fY29tcG9zZWRBc3luY1ZhbGlkYXRvckZuPVZXKHRoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycyl9Z2V0IHZhbGlkYXRvcigpe3JldHVybiB0aGlzLl9jb21wb3NlZFZhbGlkYXRvckZufXNldCB2YWxpZGF0b3IodCl7dGhpcy5fcmF3VmFsaWRhdG9ycz10aGlzLl9jb21wb3NlZFZhbGlkYXRvckZuPXR9Z2V0IGFzeW5jVmFsaWRhdG9yKCl7cmV0dXJuIHRoaXMuX2NvbXBvc2VkQXN5bmNWYWxpZGF0b3JGbn1zZXQgYXN5bmNWYWxpZGF0b3IodCl7dGhpcy5fcmF3QXN5bmNWYWxpZGF0b3JzPXRoaXMuX2NvbXBvc2VkQXN5bmNWYWxpZGF0b3JGbj10fWdldCBwYXJlbnQoKXtyZXR1cm4gdGhpcy5fcGFyZW50fWdldCB2YWxpZCgpe3JldHVybiB0aGlzLnN0YXR1cz09PU5XfWdldCBpbnZhbGlkKCl7cmV0dXJuIHRoaXMuc3RhdHVzPT09eld9Z2V0IHBlbmRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0dXM9PUlXfWdldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLnN0YXR1cz09PUhXfWdldCBlbmFibGVkKCl7cmV0dXJuIHRoaXMuc3RhdHVzIT09SFd9Z2V0IGRpcnR5KCl7cmV0dXJuIXRoaXMucHJpc3RpbmV9Z2V0IHVudG91Y2hlZCgpe3JldHVybiF0aGlzLnRvdWNoZWR9Z2V0IHVwZGF0ZU9uKCl7cmV0dXJuIHRoaXMuX3VwZGF0ZU9uP3RoaXMuX3VwZGF0ZU9uOnRoaXMucGFyZW50P3RoaXMucGFyZW50LnVwZGF0ZU9uOiJjaGFuZ2UifXNldFZhbGlkYXRvcnModCl7dGhpcy5fcmF3VmFsaWRhdG9ycz10LHRoaXMuX2NvbXBvc2VkVmFsaWRhdG9yRm49TFcodCl9c2V0QXN5bmNWYWxpZGF0b3JzKHQpe3RoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycz10LHRoaXMuX2NvbXBvc2VkQXN5bmNWYWxpZGF0b3JGbj1WVyh0KX1hZGRWYWxpZGF0b3JzKHQpe3RoaXMuc2V0VmFsaWRhdG9ycyhpVyh0LHRoaXMuX3Jhd1ZhbGlkYXRvcnMpKX1hZGRBc3luY1ZhbGlkYXRvcnModCl7dGhpcy5zZXRBc3luY1ZhbGlkYXRvcnMoaVcodCx0aGlzLl9yYXdBc3luY1ZhbGlkYXRvcnMpKX1yZW1vdmVWYWxpZGF0b3JzKHQpe3RoaXMuc2V0VmFsaWRhdG9ycyhhVyh0LHRoaXMuX3Jhd1ZhbGlkYXRvcnMpKX1yZW1vdmVBc3luY1ZhbGlkYXRvcnModCl7dGhpcy5zZXRBc3luY1ZhbGlkYXRvcnMoYVcodCx0aGlzLl9yYXdBc3luY1ZhbGlkYXRvcnMpKX1oYXNWYWxpZGF0b3IodCl7cmV0dXJuIG9XKHRoaXMuX3Jhd1ZhbGlkYXRvcnMsdCl9aGFzQXN5bmNWYWxpZGF0b3IodCl7cmV0dXJuIG9XKHRoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycyx0KX1jbGVhclZhbGlkYXRvcnMoKXt0aGlzLnZhbGlkYXRvcj1udWxsfWNsZWFyQXN5bmNWYWxpZGF0b3JzKCl7dGhpcy5hc3luY1ZhbGlkYXRvcj1udWxsfW1hcmtBc1RvdWNoZWQodD17fSl7dGhpcy50b3VjaGVkPSEwLHRoaXMuX3BhcmVudCYmIXQub25seVNlbGYmJnRoaXMuX3BhcmVudC5tYXJrQXNUb3VjaGVkKHQpfW1hcmtBbGxBc1RvdWNoZWQoKXt0aGlzLm1hcmtBc1RvdWNoZWQoe29ubHlTZWxmOiEwfSksdGhpcy5fZm9yRWFjaENoaWxkKCh0PT50Lm1hcmtBbGxBc1RvdWNoZWQoKSkpfW1hcmtBc1VudG91Y2hlZCh0PXt9KXt0aGlzLnRvdWNoZWQ9ITEsdGhpcy5fcGVuZGluZ1RvdWNoZWQ9ITEsdGhpcy5fZm9yRWFjaENoaWxkKCh0PT57dC5tYXJrQXNVbnRvdWNoZWQoe29ubHlTZWxmOiEwfSl9KSksdGhpcy5fcGFyZW50JiYhdC5vbmx5U2VsZiYmdGhpcy5fcGFyZW50Ll91cGRhdGVUb3VjaGVkKHQpfW1hcmtBc0RpcnR5KHQ9e30pe3RoaXMucHJpc3RpbmU9ITEsdGhpcy5fcGFyZW50JiYhdC5vbmx5U2VsZiYmdGhpcy5fcGFyZW50Lm1hcmtBc0RpcnR5KHQpfW1hcmtBc1ByaXN0aW5lKHQ9e30pe3RoaXMucHJpc3RpbmU9ITAsdGhpcy5fcGVuZGluZ0RpcnR5PSExLHRoaXMuX2ZvckVhY2hDaGlsZCgodD0+e3QubWFya0FzUHJpc3RpbmUoe29ubHlTZWxmOiEwfSl9KSksdGhpcy5fcGFyZW50JiYhdC5vbmx5U2VsZiYmdGhpcy5fcGFyZW50Ll91cGRhdGVQcmlzdGluZSh0KX1tYXJrQXNQZW5kaW5nKHQ9e30pe3RoaXMuc3RhdHVzPUlXLCExIT09dC5lbWl0RXZlbnQmJnRoaXMuc3RhdHVzQ2hhbmdlcy5lbWl0KHRoaXMuc3RhdHVzKSx0aGlzLl9wYXJlbnQmJiF0Lm9ubHlTZWxmJiZ0aGlzLl9wYXJlbnQubWFya0FzUGVuZGluZyh0KX1kaXNhYmxlKHQ9e30pe2NvbnN0IGU9dGhpcy5fcGFyZW50TWFya2VkRGlydHkodC5vbmx5U2VsZik7dGhpcy5zdGF0dXM9SFcsdGhpcy5lcnJvcnM9bnVsbCx0aGlzLl9mb3JFYWNoQ2hpbGQoKGU9PntlLmRpc2FibGUoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtvbmx5U2VsZjohMH0pKX0pKSx0aGlzLl91cGRhdGVWYWx1ZSgpLCExIT09dC5lbWl0RXZlbnQmJih0aGlzLnZhbHVlQ2hhbmdlcy5lbWl0KHRoaXMudmFsdWUpLHRoaXMuc3RhdHVzQ2hhbmdlcy5lbWl0KHRoaXMuc3RhdHVzKSksdGhpcy5fdXBkYXRlQW5jZXN0b3JzKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2tpcFByaXN0aW5lQ2hlY2s6ZX0pKSx0aGlzLl9vbkRpc2FibGVkQ2hhbmdlLmZvckVhY2goKHQ9PnQoITApKSl9ZW5hYmxlKHQ9e30pe2NvbnN0IGU9dGhpcy5fcGFyZW50TWFya2VkRGlydHkodC5vbmx5U2VsZik7dGhpcy5zdGF0dXM9TlcsdGhpcy5fZm9yRWFjaENoaWxkKChlPT57ZS5lbmFibGUoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtvbmx5U2VsZjohMH0pKX0pKSx0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe29ubHlTZWxmOiEwLGVtaXRFdmVudDp0LmVtaXRFdmVudH0pLHRoaXMuX3VwZGF0ZUFuY2VzdG9ycyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NraXBQcmlzdGluZUNoZWNrOmV9KSksdGhpcy5fb25EaXNhYmxlZENoYW5nZS5mb3JFYWNoKCh0PT50KCExKSkpfV91cGRhdGVBbmNlc3RvcnModCl7dGhpcy5fcGFyZW50JiYhdC5vbmx5U2VsZiYmKHRoaXMuX3BhcmVudC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHQpLHQuc2tpcFByaXN0aW5lQ2hlY2t8fHRoaXMuX3BhcmVudC5fdXBkYXRlUHJpc3RpbmUoKSx0aGlzLl9wYXJlbnQuX3VwZGF0ZVRvdWNoZWQoKSl9c2V0UGFyZW50KHQpe3RoaXMuX3BhcmVudD10fXVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkodD17fSl7dGhpcy5fc2V0SW5pdGlhbFN0YXR1cygpLHRoaXMuX3VwZGF0ZVZhbHVlKCksdGhpcy5lbmFibGVkJiYodGhpcy5fY2FuY2VsRXhpc3RpbmdTdWJzY3JpcHRpb24oKSx0aGlzLmVycm9ycz10aGlzLl9ydW5WYWxpZGF0b3IoKSx0aGlzLnN0YXR1cz10aGlzLl9jYWxjdWxhdGVTdGF0dXMoKSx0aGlzLnN0YXR1cyE9PU5XJiZ0aGlzLnN0YXR1cyE9PUlXfHx0aGlzLl9ydW5Bc3luY1ZhbGlkYXRvcih0LmVtaXRFdmVudCkpLCExIT09dC5lbWl0RXZlbnQmJih0aGlzLnZhbHVlQ2hhbmdlcy5lbWl0KHRoaXMudmFsdWUpLHRoaXMuc3RhdHVzQ2hhbmdlcy5lbWl0KHRoaXMuc3RhdHVzKSksdGhpcy5fcGFyZW50JiYhdC5vbmx5U2VsZiYmdGhpcy5fcGFyZW50LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkodCl9X3VwZGF0ZVRyZWVWYWxpZGl0eSh0PXtlbWl0RXZlbnQ6ITB9KXt0aGlzLl9mb3JFYWNoQ2hpbGQoKGU9PmUuX3VwZGF0ZVRyZWVWYWxpZGl0eSh0KSkpLHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7b25seVNlbGY6ITAsZW1pdEV2ZW50OnQuZW1pdEV2ZW50fSl9X3NldEluaXRpYWxTdGF0dXMoKXt0aGlzLnN0YXR1cz10aGlzLl9hbGxDb250cm9sc0Rpc2FibGVkKCk/SFc6Tld9X3J1blZhbGlkYXRvcigpe3JldHVybiB0aGlzLnZhbGlkYXRvcj90aGlzLnZhbGlkYXRvcih0aGlzKTpudWxsfV9ydW5Bc3luY1ZhbGlkYXRvcih0KXtpZih0aGlzLmFzeW5jVmFsaWRhdG9yKXt0aGlzLnN0YXR1cz1JVyx0aGlzLl9oYXNPd25QZW5kaW5nQXN5bmNWYWxpZGF0b3I9ITA7Y29uc3QgZT1HVSh0aGlzLmFzeW5jVmFsaWRhdG9yKHRoaXMpKTt0aGlzLl9hc3luY1ZhbGlkYXRpb25TdWJzY3JpcHRpb249ZS5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9oYXNPd25QZW5kaW5nQXN5bmNWYWxpZGF0b3I9ITEsdGhpcy5zZXRFcnJvcnMoZSx7ZW1pdEV2ZW50OnR9KX0pKX19X2NhbmNlbEV4aXN0aW5nU3Vic2NyaXB0aW9uKCl7dGhpcy5fYXN5bmNWYWxpZGF0aW9uU3Vic2NyaXB0aW9uJiYodGhpcy5fYXN5bmNWYWxpZGF0aW9uU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5faGFzT3duUGVuZGluZ0FzeW5jVmFsaWRhdG9yPSExKX1zZXRFcnJvcnModCxlPXt9KXt0aGlzLmVycm9ycz10LHRoaXMuX3VwZGF0ZUNvbnRyb2xzRXJyb3JzKCExIT09ZS5lbWl0RXZlbnQpfWdldCh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0LG4sbyl7aWYobnVsbD09bilyZXR1cm4gbnVsbDtpZihBcnJheS5pc0FycmF5KG4pfHwobj1uLnNwbGl0KG8pKSxBcnJheS5pc0FycmF5KG4pJiYwPT09bi5sZW5ndGgpcmV0dXJuIG51bGw7bGV0IGk9dDtyZXR1cm4gbi5mb3JFYWNoKCh0PT57aT1pIGluc3RhbmNlb2YgR1c/aS5jb250cm9scy5oYXNPd25Qcm9wZXJ0eSh0KT9pLmNvbnRyb2xzW3RdOm51bGw6aSBpbnN0YW5jZW9mIFlXJiZpLmF0KHQpfHxudWxsfSkpLGl9KSh0aGlzLHQsIi4iKX1nZXRFcnJvcih0LGUpe2NvbnN0IG49ZT90aGlzLmdldChlKTp0aGlzO3JldHVybiBuJiZuLmVycm9ycz9uLmVycm9yc1t0XTpudWxsfWhhc0Vycm9yKHQsZSl7cmV0dXJuISF0aGlzLmdldEVycm9yKHQsZSl9Z2V0IHJvb3QoKXtsZXQgdD10aGlzO2Zvcig7dC5fcGFyZW50Oyl0PXQuX3BhcmVudDtyZXR1cm4gdH1fdXBkYXRlQ29udHJvbHNFcnJvcnModCl7dGhpcy5zdGF0dXM9dGhpcy5fY2FsY3VsYXRlU3RhdHVzKCksdCYmdGhpcy5zdGF0dXNDaGFuZ2VzLmVtaXQodGhpcy5zdGF0dXMpLHRoaXMuX3BhcmVudCYmdGhpcy5fcGFyZW50Ll91cGRhdGVDb250cm9sc0Vycm9ycyh0KX1faW5pdE9ic2VydmFibGVzKCl7dGhpcy52YWx1ZUNoYW5nZXM9bmV3IFN5LHRoaXMuc3RhdHVzQ2hhbmdlcz1uZXcgU3l9X2NhbGN1bGF0ZVN0YXR1cygpe3JldHVybiB0aGlzLl9hbGxDb250cm9sc0Rpc2FibGVkKCk/SFc6dGhpcy5lcnJvcnM/elc6dGhpcy5faGFzT3duUGVuZGluZ0FzeW5jVmFsaWRhdG9yfHx0aGlzLl9hbnlDb250cm9sc0hhdmVTdGF0dXMoSVcpP0lXOnRoaXMuX2FueUNvbnRyb2xzSGF2ZVN0YXR1cyh6Vyk/elc6Tld9X2FueUNvbnRyb2xzSGF2ZVN0YXR1cyh0KXtyZXR1cm4gdGhpcy5fYW55Q29udHJvbHMoKGU9PmUuc3RhdHVzPT09dCkpfV9hbnlDb250cm9sc0RpcnR5KCl7cmV0dXJuIHRoaXMuX2FueUNvbnRyb2xzKCh0PT50LmRpcnR5KSl9X2FueUNvbnRyb2xzVG91Y2hlZCgpe3JldHVybiB0aGlzLl9hbnlDb250cm9scygodD0+dC50b3VjaGVkKSl9X3VwZGF0ZVByaXN0aW5lKHQ9e30pe3RoaXMucHJpc3RpbmU9IXRoaXMuX2FueUNvbnRyb2xzRGlydHkoKSx0aGlzLl9wYXJlbnQmJiF0Lm9ubHlTZWxmJiZ0aGlzLl9wYXJlbnQuX3VwZGF0ZVByaXN0aW5lKHQpfV91cGRhdGVUb3VjaGVkKHQ9e30pe3RoaXMudG91Y2hlZD10aGlzLl9hbnlDb250cm9sc1RvdWNoZWQoKSx0aGlzLl9wYXJlbnQmJiF0Lm9ubHlTZWxmJiZ0aGlzLl9wYXJlbnQuX3VwZGF0ZVRvdWNoZWQodCl9X2lzQm94ZWRWYWx1ZSh0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYyPT09T2JqZWN0LmtleXModCkubGVuZ3RoJiYidmFsdWUiaW4gdCYmImRpc2FibGVkImluIHR9X3JlZ2lzdGVyT25Db2xsZWN0aW9uQ2hhbmdlKHQpe3RoaXMuX29uQ29sbGVjdGlvbkNoYW5nZT10fV9zZXRVcGRhdGVTdHJhdGVneSh0KXtqVyh0KSYmbnVsbCE9dC51cGRhdGVPbiYmKHRoaXMuX3VwZGF0ZU9uPXQudXBkYXRlT24pfV9wYXJlbnRNYXJrZWREaXJ0eSh0KXtyZXR1cm4hdCYmISEodGhpcy5fcGFyZW50JiZ0aGlzLl9wYXJlbnQuZGlydHkpJiYhdGhpcy5fcGFyZW50Ll9hbnlDb250cm9sc0RpcnR5KCl9fWNsYXNzIFdXIGV4dGVuZHMgVVd7Y29uc3RydWN0b3IodD1udWxsLGUsbil7c3VwZXIoRlcoZSksQlcobixlKSksdGhpcy5fb25DaGFuZ2U9W10sdGhpcy5fYXBwbHlGb3JtU3RhdGUodCksdGhpcy5fc2V0VXBkYXRlU3RyYXRlZ3koZSksdGhpcy5faW5pdE9ic2VydmFibGVzKCksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtvbmx5U2VsZjohMCxlbWl0RXZlbnQ6ISF0aGlzLmFzeW5jVmFsaWRhdG9yfSl9c2V0VmFsdWUodCxlPXt9KXt0aGlzLnZhbHVlPXRoaXMuX3BlbmRpbmdWYWx1ZT10LHRoaXMuX29uQ2hhbmdlLmxlbmd0aCYmITEhPT1lLmVtaXRNb2RlbFRvVmlld0NoYW5nZSYmdGhpcy5fb25DaGFuZ2UuZm9yRWFjaCgodD0+dCh0aGlzLnZhbHVlLCExIT09ZS5lbWl0Vmlld1RvTW9kZWxDaGFuZ2UpKSksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KGUpfXBhdGNoVmFsdWUodCxlPXt9KXt0aGlzLnNldFZhbHVlKHQsZSl9cmVzZXQodD1udWxsLGU9e30pe3RoaXMuX2FwcGx5Rm9ybVN0YXRlKHQpLHRoaXMubWFya0FzUHJpc3RpbmUoZSksdGhpcy5tYXJrQXNVbnRvdWNoZWQoZSksdGhpcy5zZXRWYWx1ZSh0aGlzLnZhbHVlLGUpLHRoaXMuX3BlbmRpbmdDaGFuZ2U9ITF9X3VwZGF0ZVZhbHVlKCl7fV9hbnlDb250cm9scyh0KXtyZXR1cm4hMX1fYWxsQ29udHJvbHNEaXNhYmxlZCgpe3JldHVybiB0aGlzLmRpc2FibGVkfXJlZ2lzdGVyT25DaGFuZ2UodCl7dGhpcy5fb25DaGFuZ2UucHVzaCh0KX1fdW5yZWdpc3Rlck9uQ2hhbmdlKHQpe0FXKHRoaXMuX29uQ2hhbmdlLHQpfXJlZ2lzdGVyT25EaXNhYmxlZENoYW5nZSh0KXt0aGlzLl9vbkRpc2FibGVkQ2hhbmdlLnB1c2godCl9X3VucmVnaXN0ZXJPbkRpc2FibGVkQ2hhbmdlKHQpe0FXKHRoaXMuX29uRGlzYWJsZWRDaGFuZ2UsdCl9X2ZvckVhY2hDaGlsZCh0KXt9X3N5bmNQZW5kaW5nQ29udHJvbHMoKXtyZXR1cm4hKCJzdWJtaXQiIT09dGhpcy51cGRhdGVPbnx8KHRoaXMuX3BlbmRpbmdEaXJ0eSYmdGhpcy5tYXJrQXNEaXJ0eSgpLHRoaXMuX3BlbmRpbmdUb3VjaGVkJiZ0aGlzLm1hcmtBc1RvdWNoZWQoKSwhdGhpcy5fcGVuZGluZ0NoYW5nZSkpJiYodGhpcy5zZXRWYWx1ZSh0aGlzLl9wZW5kaW5nVmFsdWUse29ubHlTZWxmOiEwLGVtaXRNb2RlbFRvVmlld0NoYW5nZTohMX0pLCEwKX1fYXBwbHlGb3JtU3RhdGUodCl7dGhpcy5faXNCb3hlZFZhbHVlKHQpPyh0aGlzLnZhbHVlPXRoaXMuX3BlbmRpbmdWYWx1ZT10LnZhbHVlLHQuZGlzYWJsZWQ/dGhpcy5kaXNhYmxlKHtvbmx5U2VsZjohMCxlbWl0RXZlbnQ6ITF9KTp0aGlzLmVuYWJsZSh7b25seVNlbGY6ITAsZW1pdEV2ZW50OiExfSkpOnRoaXMudmFsdWU9dGhpcy5fcGVuZGluZ1ZhbHVlPXR9fWNsYXNzIEdXIGV4dGVuZHMgVVd7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKEZXKGUpLEJXKG4sZSkpLHRoaXMuY29udHJvbHM9dCx0aGlzLl9pbml0T2JzZXJ2YWJsZXMoKSx0aGlzLl9zZXRVcGRhdGVTdHJhdGVneShlKSx0aGlzLl9zZXRVcENvbnRyb2xzKCksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtvbmx5U2VsZjohMCxlbWl0RXZlbnQ6ISF0aGlzLmFzeW5jVmFsaWRhdG9yfSl9cmVnaXN0ZXJDb250cm9sKHQsZSl7cmV0dXJuIHRoaXMuY29udHJvbHNbdF0/dGhpcy5jb250cm9sc1t0XToodGhpcy5jb250cm9sc1t0XT1lLGUuc2V0UGFyZW50KHRoaXMpLGUuX3JlZ2lzdGVyT25Db2xsZWN0aW9uQ2hhbmdlKHRoaXMuX29uQ29sbGVjdGlvbkNoYW5nZSksZSl9YWRkQ29udHJvbCh0LGUsbj17fSl7dGhpcy5yZWdpc3RlckNvbnRyb2wodCxlKSx0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDpuLmVtaXRFdmVudH0pLHRoaXMuX29uQ29sbGVjdGlvbkNoYW5nZSgpfXJlbW92ZUNvbnRyb2wodCxlPXt9KXt0aGlzLmNvbnRyb2xzW3RdJiZ0aGlzLmNvbnRyb2xzW3RdLl9yZWdpc3Rlck9uQ29sbGVjdGlvbkNoYW5nZSgoKCk9Pnt9KSksZGVsZXRlIHRoaXMuY29udHJvbHNbdF0sdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6ZS5lbWl0RXZlbnR9KSx0aGlzLl9vbkNvbGxlY3Rpb25DaGFuZ2UoKX1zZXRDb250cm9sKHQsZSxuPXt9KXt0aGlzLmNvbnRyb2xzW3RdJiZ0aGlzLmNvbnRyb2xzW3RdLl9yZWdpc3Rlck9uQ29sbGVjdGlvbkNoYW5nZSgoKCk9Pnt9KSksZGVsZXRlIHRoaXMuY29udHJvbHNbdF0sZSYmdGhpcy5yZWdpc3RlckNvbnRyb2wodCxlKSx0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDpuLmVtaXRFdmVudH0pLHRoaXMuX29uQ29sbGVjdGlvbkNoYW5nZSgpfWNvbnRhaW5zKHQpe3JldHVybiB0aGlzLmNvbnRyb2xzLmhhc093blByb3BlcnR5KHQpJiZ0aGlzLmNvbnRyb2xzW3RdLmVuYWJsZWR9c2V0VmFsdWUodCxlPXt9KXt0aGlzLl9jaGVja0FsbFZhbHVlc1ByZXNlbnQodCksT2JqZWN0LmtleXModCkuZm9yRWFjaCgobj0+e3RoaXMuX3Rocm93SWZDb250cm9sTWlzc2luZyhuKSx0aGlzLmNvbnRyb2xzW25dLnNldFZhbHVlKHRbbl0se29ubHlTZWxmOiEwLGVtaXRFdmVudDplLmVtaXRFdmVudH0pfSkpLHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eShlKX1wYXRjaFZhbHVlKHQsZT17fSl7bnVsbCE9dCYmKE9iamVjdC5rZXlzKHQpLmZvckVhY2goKG49Pnt0aGlzLmNvbnRyb2xzW25dJiZ0aGlzLmNvbnRyb2xzW25dLnBhdGNoVmFsdWUodFtuXSx7b25seVNlbGY6ITAsZW1pdEV2ZW50OmUuZW1pdEV2ZW50fSl9KSksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KGUpKX1yZXNldCh0PXt9LGU9e30pe3RoaXMuX2ZvckVhY2hDaGlsZCgoKG4sbyk9PntuLnJlc2V0KHRbb10se29ubHlTZWxmOiEwLGVtaXRFdmVudDplLmVtaXRFdmVudH0pfSkpLHRoaXMuX3VwZGF0ZVByaXN0aW5lKGUpLHRoaXMuX3VwZGF0ZVRvdWNoZWQoZSksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KGUpfWdldFJhd1ZhbHVlKCl7cmV0dXJuIHRoaXMuX3JlZHVjZUNoaWxkcmVuKHt9LCgodCxlLG4pPT4odFtuXT1lIGluc3RhbmNlb2YgV1c/ZS52YWx1ZTplLmdldFJhd1ZhbHVlKCksdCkpKX1fc3luY1BlbmRpbmdDb250cm9scygpe2xldCB0PXRoaXMuX3JlZHVjZUNoaWxkcmVuKCExLCgodCxlKT0+ISFlLl9zeW5jUGVuZGluZ0NvbnRyb2xzKCl8fHQpKTtyZXR1cm4gdCYmdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtvbmx5U2VsZjohMH0pLHR9X3Rocm93SWZDb250cm9sTWlzc2luZyh0KXtpZighT2JqZWN0LmtleXModGhpcy5jb250cm9scykubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiXG4gICAgICAgIFRoZXJlIGFyZSBubyBmb3JtIGNvbnRyb2xzIHJlZ2lzdGVyZWQgd2l0aCB0aGlzIGdyb3VwIHlldC4gSWYgeW91J3JlIHVzaW5nIG5nTW9kZWwsXG4gICAgICAgIHlvdSBtYXkgd2FudCB0byBjaGVjayBuZXh0IHRpY2sgKGUuZy4gdXNlIHNldFRpbWVvdXQpLlxuICAgICAgIik7aWYoIXRoaXMuY29udHJvbHNbdF0pdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBmb3JtIGNvbnRyb2wgd2l0aCBuYW1lOiAke3R9LmApfV9mb3JFYWNoQ2hpbGQodCl7T2JqZWN0LmtleXModGhpcy5jb250cm9scykuZm9yRWFjaCgoZT0+e2NvbnN0IG49dGhpcy5jb250cm9sc1tlXTtuJiZ0KG4sZSl9KSl9X3NldFVwQ29udHJvbHMoKXt0aGlzLl9mb3JFYWNoQ2hpbGQoKHQ9Pnt0LnNldFBhcmVudCh0aGlzKSx0Ll9yZWdpc3Rlck9uQ29sbGVjdGlvbkNoYW5nZSh0aGlzLl9vbkNvbGxlY3Rpb25DaGFuZ2UpfSkpfV91cGRhdGVWYWx1ZSgpe3RoaXMudmFsdWU9dGhpcy5fcmVkdWNlVmFsdWUoKX1fYW55Q29udHJvbHModCl7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModGhpcy5jb250cm9scykpe2NvbnN0IG49dGhpcy5jb250cm9sc1tlXTtpZih0aGlzLmNvbnRhaW5zKGUpJiZ0KG4pKXJldHVybiEwfXJldHVybiExfV9yZWR1Y2VWYWx1ZSgpe3JldHVybiB0aGlzLl9yZWR1Y2VDaGlsZHJlbih7fSwoKHQsZSxuKT0+KChlLmVuYWJsZWR8fHRoaXMuZGlzYWJsZWQpJiYodFtuXT1lLnZhbHVlKSx0KSkpfV9yZWR1Y2VDaGlsZHJlbih0LGUpe2xldCBuPXQ7cmV0dXJuIHRoaXMuX2ZvckVhY2hDaGlsZCgoKHQsbyk9PntuPWUobix0LG8pfSkpLG59X2FsbENvbnRyb2xzRGlzYWJsZWQoKXtmb3IoY29uc3QgdCBvZiBPYmplY3Qua2V5cyh0aGlzLmNvbnRyb2xzKSlpZih0aGlzLmNvbnRyb2xzW3RdLmVuYWJsZWQpcmV0dXJuITE7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuY29udHJvbHMpLmxlbmd0aD4wfHx0aGlzLmRpc2FibGVkfV9jaGVja0FsbFZhbHVlc1ByZXNlbnQodCl7dGhpcy5fZm9yRWFjaENoaWxkKCgoZSxuKT0+e2lmKHZvaWQgMD09PXRbbl0pdGhyb3cgbmV3IEVycm9yKGBNdXN0IHN1cHBseSBhIHZhbHVlIGZvciBmb3JtIGNvbnRyb2wgd2l0aCBuYW1lOiAnJHtufScuYCl9KSl9fWNsYXNzIFlXIGV4dGVuZHMgVVd7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKEZXKGUpLEJXKG4sZSkpLHRoaXMuY29udHJvbHM9dCx0aGlzLl9pbml0T2JzZXJ2YWJsZXMoKSx0aGlzLl9zZXRVcGRhdGVTdHJhdGVneShlKSx0aGlzLl9zZXRVcENvbnRyb2xzKCksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtvbmx5U2VsZjohMCxlbWl0RXZlbnQ6ISF0aGlzLmFzeW5jVmFsaWRhdG9yfSl9YXQodCl7cmV0dXJuIHRoaXMuY29udHJvbHNbdF19cHVzaCh0LGU9e30pe3RoaXMuY29udHJvbHMucHVzaCh0KSx0aGlzLl9yZWdpc3RlckNvbnRyb2wodCksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6ZS5lbWl0RXZlbnR9KSx0aGlzLl9vbkNvbGxlY3Rpb25DaGFuZ2UoKX1pbnNlcnQodCxlLG49e30pe3RoaXMuY29udHJvbHMuc3BsaWNlKHQsMCxlKSx0aGlzLl9yZWdpc3RlckNvbnRyb2woZSksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6bi5lbWl0RXZlbnR9KX1yZW1vdmVBdCh0LGU9e30pe3RoaXMuY29udHJvbHNbdF0mJnRoaXMuY29udHJvbHNbdF0uX3JlZ2lzdGVyT25Db2xsZWN0aW9uQ2hhbmdlKCgoKT0+e30pKSx0aGlzLmNvbnRyb2xzLnNwbGljZSh0LDEpLHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OmUuZW1pdEV2ZW50fSl9c2V0Q29udHJvbCh0LGUsbj17fSl7dGhpcy5jb250cm9sc1t0XSYmdGhpcy5jb250cm9sc1t0XS5fcmVnaXN0ZXJPbkNvbGxlY3Rpb25DaGFuZ2UoKCgpPT57fSkpLHRoaXMuY29udHJvbHMuc3BsaWNlKHQsMSksZSYmKHRoaXMuY29udHJvbHMuc3BsaWNlKHQsMCxlKSx0aGlzLl9yZWdpc3RlckNvbnRyb2woZSkpLHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50Om4uZW1pdEV2ZW50fSksdGhpcy5fb25Db2xsZWN0aW9uQ2hhbmdlKCl9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmNvbnRyb2xzLmxlbmd0aH1zZXRWYWx1ZSh0LGU9e30pe3RoaXMuX2NoZWNrQWxsVmFsdWVzUHJlc2VudCh0KSx0LmZvckVhY2goKCh0LG4pPT57dGhpcy5fdGhyb3dJZkNvbnRyb2xNaXNzaW5nKG4pLHRoaXMuYXQobikuc2V0VmFsdWUodCx7b25seVNlbGY6ITAsZW1pdEV2ZW50OmUuZW1pdEV2ZW50fSl9KSksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KGUpfXBhdGNoVmFsdWUodCxlPXt9KXtudWxsIT10JiYodC5mb3JFYWNoKCgodCxuKT0+e3RoaXMuYXQobikmJnRoaXMuYXQobikucGF0Y2hWYWx1ZSh0LHtvbmx5U2VsZjohMCxlbWl0RXZlbnQ6ZS5lbWl0RXZlbnR9KX0pKSx0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoZSkpfXJlc2V0KHQ9W10sZT17fSl7dGhpcy5fZm9yRWFjaENoaWxkKCgobixvKT0+e24ucmVzZXQodFtvXSx7b25seVNlbGY6ITAsZW1pdEV2ZW50OmUuZW1pdEV2ZW50fSl9KSksdGhpcy5fdXBkYXRlUHJpc3RpbmUoZSksdGhpcy5fdXBkYXRlVG91Y2hlZChlKSx0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoZSl9Z2V0UmF3VmFsdWUoKXtyZXR1cm4gdGhpcy5jb250cm9scy5tYXAoKHQ9PnQgaW5zdGFuY2VvZiBXVz90LnZhbHVlOnQuZ2V0UmF3VmFsdWUoKSkpfWNsZWFyKHQ9e30pe3RoaXMuY29udHJvbHMubGVuZ3RoPDF8fCh0aGlzLl9mb3JFYWNoQ2hpbGQoKHQ9PnQuX3JlZ2lzdGVyT25Db2xsZWN0aW9uQ2hhbmdlKCgoKT0+e30pKSkpLHRoaXMuY29udHJvbHMuc3BsaWNlKDApLHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OnQuZW1pdEV2ZW50fSkpfV9zeW5jUGVuZGluZ0NvbnRyb2xzKCl7bGV0IHQ9dGhpcy5jb250cm9scy5yZWR1Y2UoKCh0LGUpPT4hIWUuX3N5bmNQZW5kaW5nQ29udHJvbHMoKXx8dCksITEpO3JldHVybiB0JiZ0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe29ubHlTZWxmOiEwfSksdH1fdGhyb3dJZkNvbnRyb2xNaXNzaW5nKHQpe2lmKCF0aGlzLmNvbnRyb2xzLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlxuICAgICAgICBUaGVyZSBhcmUgbm8gZm9ybSBjb250cm9scyByZWdpc3RlcmVkIHdpdGggdGhpcyBhcnJheSB5ZXQuIElmIHlvdSdyZSB1c2luZyBuZ01vZGVsLFxuICAgICAgICB5b3UgbWF5IHdhbnQgdG8gY2hlY2sgbmV4dCB0aWNrIChlLmcuIHVzZSBzZXRUaW1lb3V0KS5cbiAgICAgICIpO2lmKCF0aGlzLmF0KHQpKXRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgZm9ybSBjb250cm9sIGF0IGluZGV4ICR7dH1gKX1fZm9yRWFjaENoaWxkKHQpe3RoaXMuY29udHJvbHMuZm9yRWFjaCgoKGUsbik9Pnt0KGUsbil9KSl9X3VwZGF0ZVZhbHVlKCl7dGhpcy52YWx1ZT10aGlzLmNvbnRyb2xzLmZpbHRlcigodD0+dC5lbmFibGVkfHx0aGlzLmRpc2FibGVkKSkubWFwKCh0PT50LnZhbHVlKSl9X2FueUNvbnRyb2xzKHQpe3JldHVybiB0aGlzLmNvbnRyb2xzLnNvbWUoKGU9PmUuZW5hYmxlZCYmdChlKSkpfV9zZXRVcENvbnRyb2xzKCl7dGhpcy5fZm9yRWFjaENoaWxkKCh0PT50aGlzLl9yZWdpc3RlckNvbnRyb2wodCkpKX1fY2hlY2tBbGxWYWx1ZXNQcmVzZW50KHQpe3RoaXMuX2ZvckVhY2hDaGlsZCgoKGUsbik9PntpZih2b2lkIDA9PT10W25dKXRocm93IG5ldyBFcnJvcihgTXVzdCBzdXBwbHkgYSB2YWx1ZSBmb3IgZm9ybSBjb250cm9sIGF0IGluZGV4OiAke259LmApfSkpfV9hbGxDb250cm9sc0Rpc2FibGVkKCl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5jb250cm9scylpZih0LmVuYWJsZWQpcmV0dXJuITE7cmV0dXJuIHRoaXMuY29udHJvbHMubGVuZ3RoPjB8fHRoaXMuZGlzYWJsZWR9X3JlZ2lzdGVyQ29udHJvbCh0KXt0LnNldFBhcmVudCh0aGlzKSx0Ll9yZWdpc3Rlck9uQ29sbGVjdGlvbkNoYW5nZSh0aGlzLl9vbkNvbGxlY3Rpb25DaGFuZ2UpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgcVc9e3Byb3ZpZGU6c1csdXNlRXhpc3Rpbmc6JGUoKCgpPT5YVykpfSxaVz1Qcm9taXNlLnJlc29sdmUobnVsbCk7Y2xhc3MgWFcgZXh0ZW5kcyBzV3tjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy5zdWJtaXR0ZWQ9ITEsdGhpcy5fZGlyZWN0aXZlcz1bXSx0aGlzLm5nU3VibWl0PW5ldyBTeSx0aGlzLmZvcm09bmV3IEdXKHt9LEtVKHQpLFFVKGUpKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLl9zZXRVcGRhdGVTdHJhdGVneSgpfWdldCBmb3JtRGlyZWN0aXZlKCl7cmV0dXJuIHRoaXN9Z2V0IGNvbnRyb2woKXtyZXR1cm4gdGhpcy5mb3JtfWdldCBwYXRoKCl7cmV0dXJuW119Z2V0IGNvbnRyb2xzKCl7cmV0dXJuIHRoaXMuZm9ybS5jb250cm9sc31hZGRDb250cm9sKHQpe1pXLnRoZW4oKCgpPT57Y29uc3QgZT10aGlzLl9maW5kQ29udGFpbmVyKHQucGF0aCk7dC5jb250cm9sPWUucmVnaXN0ZXJDb250cm9sKHQubmFtZSx0LmNvbnRyb2wpLE1XKHQuY29udHJvbCx0KSx0LmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSksdGhpcy5fZGlyZWN0aXZlcy5wdXNoKHQpfSkpfWdldENvbnRyb2wodCl7cmV0dXJuIHRoaXMuZm9ybS5nZXQodC5wYXRoKX1yZW1vdmVDb250cm9sKHQpe1pXLnRoZW4oKCgpPT57Y29uc3QgZT10aGlzLl9maW5kQ29udGFpbmVyKHQucGF0aCk7ZSYmZS5yZW1vdmVDb250cm9sKHQubmFtZSksQVcodGhpcy5fZGlyZWN0aXZlcyx0KX0pKX1hZGRGb3JtR3JvdXAodCl7WlcudGhlbigoKCk9Pntjb25zdCBlPXRoaXMuX2ZpbmRDb250YWluZXIodC5wYXRoKSxuPW5ldyBHVyh7fSk7a1cobix0KSxlLnJlZ2lzdGVyQ29udHJvbCh0Lm5hbWUsbiksbi51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6ITF9KX0pKX1yZW1vdmVGb3JtR3JvdXAodCl7WlcudGhlbigoKCk9Pntjb25zdCBlPXRoaXMuX2ZpbmRDb250YWluZXIodC5wYXRoKTtlJiZlLnJlbW92ZUNvbnRyb2wodC5uYW1lKX0pKX1nZXRGb3JtR3JvdXAodCl7cmV0dXJuIHRoaXMuZm9ybS5nZXQodC5wYXRoKX11cGRhdGVNb2RlbCh0LGUpe1pXLnRoZW4oKCgpPT57dGhpcy5mb3JtLmdldCh0LnBhdGgpLnNldFZhbHVlKGUpfSkpfXNldFZhbHVlKHQpe3RoaXMuY29udHJvbC5zZXRWYWx1ZSh0KX1vblN1Ym1pdCh0KXtyZXR1cm4gdGhpcy5zdWJtaXR0ZWQ9ITAsUlcodGhpcy5mb3JtLHRoaXMuX2RpcmVjdGl2ZXMpLHRoaXMubmdTdWJtaXQuZW1pdCh0KSwhMX1vblJlc2V0KCl7dGhpcy5yZXNldEZvcm0oKX1yZXNldEZvcm0odCl7dGhpcy5mb3JtLnJlc2V0KHQpLHRoaXMuc3VibWl0dGVkPSExfV9zZXRVcGRhdGVTdHJhdGVneSgpe3RoaXMub3B0aW9ucyYmbnVsbCE9dGhpcy5vcHRpb25zLnVwZGF0ZU9uJiYodGhpcy5mb3JtLl91cGRhdGVPbj10aGlzLm9wdGlvbnMudXBkYXRlT24pfV9maW5kQ29udGFpbmVyKHQpe3JldHVybiB0LnBvcCgpLHQubGVuZ3RoP3RoaXMuZm9ybS5nZXQodCk6dGhpcy5mb3JtfX1YVy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WFcpKGdmKEVVLDEwKSxnZihBVSwxMCkpfSxYVy7JtWRpcj1obyh7dHlwZTpYVyxzZWxlY3RvcnM6W1siZm9ybSIsMywibmdOb0Zvcm0iLCIiLDMsImZvcm1Hcm91cCIsIiJdLFsibmctZm9ybSJdLFsiIiwibmdGb3JtIiwiIl1dLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigic3VibWl0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblN1Ym1pdChlKX0pKSgicmVzZXQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25SZXNldCgpfSkpfSxpbnB1dHM6e29wdGlvbnM6WyJuZ0Zvcm1PcHRpb25zIiwib3B0aW9ucyJdfSxvdXRwdXRzOntuZ1N1Ym1pdDoibmdTdWJtaXQifSxleHBvcnRBczpbIm5nRm9ybSJdLGZlYXR1cmVzOltqaChbcVddKSxRcF19KSxYVy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbRVVdfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbQVVdfV19XSxYVy5wcm9wRGVjb3JhdG9ycz17b3B0aW9uczpbe3R5cGU6Ul8sYXJnczpbIm5nRm9ybU9wdGlvbnMiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFhXLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6ImZvcm06bm90KFtuZ05vRm9ybV0pOm5vdChbZm9ybUdyb3VwXSksbmctZm9ybSxbbmdGb3JtXSIscHJvdmlkZXJzOltxV10saG9zdDp7IihzdWJtaXQpIjoib25TdWJtaXQoJGV2ZW50KSIsIihyZXNldCkiOiJvblJlc2V0KCkifSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczoibmdGb3JtIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbRVVdfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbQVVdfV19XX0pLHtvcHRpb25zOlt7dHlwZTpSXyxhcmdzOlsibmdGb3JtT3B0aW9ucyJdfV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIEtXIGV4dGVuZHMgc1d7bmdPbkluaXQoKXt0aGlzLl9jaGVja1BhcmVudFR5cGUoKSx0aGlzLmZvcm1EaXJlY3RpdmUuYWRkRm9ybUdyb3VwKHRoaXMpfW5nT25EZXN0cm95KCl7dGhpcy5mb3JtRGlyZWN0aXZlJiZ0aGlzLmZvcm1EaXJlY3RpdmUucmVtb3ZlRm9ybUdyb3VwKHRoaXMpfWdldCBjb250cm9sKCl7cmV0dXJuIHRoaXMuZm9ybURpcmVjdGl2ZS5nZXRGb3JtR3JvdXAodGhpcyl9Z2V0IHBhdGgoKXtyZXR1cm4gQ1cobnVsbD09dGhpcy5uYW1lP3RoaXMubmFtZTp0aGlzLm5hbWUudG9TdHJpbmcoKSx0aGlzLl9wYXJlbnQpfWdldCBmb3JtRGlyZWN0aXZlKCl7cmV0dXJuIHRoaXMuX3BhcmVudD90aGlzLl9wYXJlbnQuZm9ybURpcmVjdGl2ZTpudWxsfV9jaGVja1BhcmVudFR5cGUoKXt9fUtXLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShLVykpKShufHxLVyl9fSkoKSxLVy7JtWRpcj1obyh7dHlwZTpLVyxmZWF0dXJlczpbUXBdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihLVyxbe3R5cGU6a199XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgSld7c3RhdGljIG1vZGVsUGFyZW50RXhjZXB0aW9uKCl7dGhyb3cgbmV3IEVycm9yKGBcbiAgICAgIG5nTW9kZWwgY2Fubm90IGJlIHVzZWQgdG8gcmVnaXN0ZXIgZm9ybSBjb250cm9scyB3aXRoIGEgcGFyZW50IGZvcm1Hcm91cCBkaXJlY3RpdmUuICBUcnkgdXNpbmdcbiAgICAgIGZvcm1Hcm91cCdzIHBhcnRuZXIgZGlyZWN0aXZlICJmb3JtQ29udHJvbE5hbWUiIGluc3RlYWQuICBFeGFtcGxlOlxuXG4gICAgICAke3VXfVxuXG4gICAgICBPciwgaWYgeW91J2QgbGlrZSB0byBhdm9pZCByZWdpc3RlcmluZyB0aGlzIGZvcm0gY29udHJvbCwgaW5kaWNhdGUgdGhhdCBpdCdzIHN0YW5kYWxvbmUgaW4gbmdNb2RlbE9wdGlvbnM6XG5cbiAgICAgIEV4YW1wbGU6XG5cbiAgICAgICR7eVd9YCl9c3RhdGljIGZvcm1Hcm91cE5hbWVFeGNlcHRpb24oKXt0aHJvdyBuZXcgRXJyb3IoYFxuICAgICAgbmdNb2RlbCBjYW5ub3QgYmUgdXNlZCB0byByZWdpc3RlciBmb3JtIGNvbnRyb2xzIHdpdGggYSBwYXJlbnQgZm9ybUdyb3VwTmFtZSBvciBmb3JtQXJyYXlOYW1lIGRpcmVjdGl2ZS5cblxuICAgICAgT3B0aW9uIDE6IFVzZSBmb3JtQ29udHJvbE5hbWUgaW5zdGVhZCBvZiBuZ01vZGVsIChyZWFjdGl2ZSBzdHJhdGVneSk6XG5cbiAgICAgICR7Z1d9XG5cbiAgICAgIE9wdGlvbiAyOiAgVXBkYXRlIG5nTW9kZWwncyBwYXJlbnQgYmUgbmdNb2RlbEdyb3VwICh0ZW1wbGF0ZS1kcml2ZW4gc3RyYXRlZ3kpOlxuXG4gICAgICAke2JXfWApfXN0YXRpYyBtaXNzaW5nTmFtZUV4Y2VwdGlvbigpe3Rocm93IG5ldyBFcnJvcignSWYgbmdNb2RlbCBpcyB1c2VkIHdpdGhpbiBhIGZvcm0gdGFnLCBlaXRoZXIgdGhlIG5hbWUgYXR0cmlidXRlIG11c3QgYmUgc2V0IG9yIHRoZSBmb3JtXG4gICAgICBjb250cm9sIG11c3QgYmUgZGVmaW5lZCBhcyBcJ3N0YW5kYWxvbmVcJyBpbiBuZ01vZGVsT3B0aW9ucy5cblxuICAgICAgRXhhbXBsZSAxOiA8aW5wdXQgWyhuZ01vZGVsKV09InBlcnNvbi5maXJzdE5hbWUiIG5hbWU9ImZpcnN0Ij5cbiAgICAgIEV4YW1wbGUgMjogPGlucHV0IFsobmdNb2RlbCldPSJwZXJzb24uZmlyc3ROYW1lIiBbbmdNb2RlbE9wdGlvbnNdPSJ7c3RhbmRhbG9uZTogdHJ1ZX0iPicpfXN0YXRpYyBtb2RlbEdyb3VwUGFyZW50RXhjZXB0aW9uKCl7dGhyb3cgbmV3IEVycm9yKGBcbiAgICAgIG5nTW9kZWxHcm91cCBjYW5ub3QgYmUgdXNlZCB3aXRoIGEgcGFyZW50IGZvcm1Hcm91cCBkaXJlY3RpdmUuXG5cbiAgICAgIE9wdGlvbiAxOiBVc2UgZm9ybUdyb3VwTmFtZSBpbnN0ZWFkIG9mIG5nTW9kZWxHcm91cCAocmVhY3RpdmUgc3RyYXRlZ3kpOlxuXG4gICAgICAke2dXfVxuXG4gICAgICBPcHRpb24gMjogIFVzZSBhIHJlZ3VsYXIgZm9ybSB0YWcgaW5zdGVhZCBvZiB0aGUgZm9ybUdyb3VwIGRpcmVjdGl2ZSAodGVtcGxhdGUtZHJpdmVuIHN0cmF0ZWd5KTpcblxuICAgICAgJHtiV31gKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFFXPXtwcm92aWRlOnNXLHVzZUV4aXN0aW5nOiRlKCgoKT0+JFcpKX07Y2xhc3MgJFcgZXh0ZW5kcyBLV3tjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIoKSx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9zZXRWYWxpZGF0b3JzKGUpLHRoaXMuX3NldEFzeW5jVmFsaWRhdG9ycyhuKX1fY2hlY2tQYXJlbnRUeXBlKCl7dGhpcy5fcGFyZW50IGluc3RhbmNlb2YgJFd8fHRoaXMuX3BhcmVudCBpbnN0YW5jZW9mIFhXfHwidW5kZWZpbmVkIiE9dHlwZW9mIG5nRGV2TW9kZSYmIW5nRGV2TW9kZXx8SlcubW9kZWxHcm91cFBhcmVudEV4Y2VwdGlvbigpfX0kVy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JFcpKGdmKHNXLDUpLGdmKEVVLDEwKSxnZihBVSwxMCkpfSwkVy7JtWRpcj1obyh7dHlwZTokVyxzZWxlY3RvcnM6W1siIiwibmdNb2RlbEdyb3VwIiwiIl1dLGlucHV0czp7bmFtZTpbIm5nTW9kZWxHcm91cCIsIm5hbWUiXX0sZXhwb3J0QXM6WyJuZ01vZGVsR3JvdXAiXSxmZWF0dXJlczpbamgoW1FXXSksUXBdfSksJFcuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpzVyxkZWNvcmF0b3JzOlt7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dLCRXLnByb3BEZWNvcmF0b3JzPXtuYW1lOlt7dHlwZTpSXyxhcmdzOlsibmdNb2RlbEdyb3VwIl19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYigkVyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbmdNb2RlbEdyb3VwXSIscHJvdmlkZXJzOltRV10sZXhwb3J0QXM6Im5nTW9kZWxHcm91cCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpzVyxkZWNvcmF0b3JzOlt7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dfSkse25hbWU6W3t0eXBlOlJfLGFyZ3M6WyJuZ01vZGVsR3JvdXAiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB0Rz17cHJvdmlkZTpsVyx1c2VFeGlzdGluZzokZSgoKCk9Pm5HKSl9LGVHPVByb21pc2UucmVzb2x2ZShudWxsKTtjbGFzcyBuRyBleHRlbmRzIGxXe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKCksdGhpcy5jb250cm9sPW5ldyBXVyx0aGlzLl9yZWdpc3RlcmVkPSExLHRoaXMudXBkYXRlPW5ldyBTeSx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9zZXRWYWxpZGF0b3JzKGUpLHRoaXMuX3NldEFzeW5jVmFsaWRhdG9ycyhuKSx0aGlzLnZhbHVlQWNjZXNzb3I9RVcodGhpcyxvKX1uZ09uQ2hhbmdlcyh0KXt0aGlzLl9jaGVja0ZvckVycm9ycygpLHRoaXMuX3JlZ2lzdGVyZWR8fHRoaXMuX3NldFVwQ29udHJvbCgpLCJpc0Rpc2FibGVkImluIHQmJnRoaXMuX3VwZGF0ZURpc2FibGVkKHQpLERXKHQsdGhpcy52aWV3TW9kZWwpJiYodGhpcy5fdXBkYXRlVmFsdWUodGhpcy5tb2RlbCksdGhpcy52aWV3TW9kZWw9dGhpcy5tb2RlbCl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm1EaXJlY3RpdmUmJnRoaXMuZm9ybURpcmVjdGl2ZS5yZW1vdmVDb250cm9sKHRoaXMpfWdldCBwYXRoKCl7cmV0dXJuIHRoaXMuX3BhcmVudD9DVyh0aGlzLm5hbWUsdGhpcy5fcGFyZW50KTpbdGhpcy5uYW1lXX1nZXQgZm9ybURpcmVjdGl2ZSgpe3JldHVybiB0aGlzLl9wYXJlbnQ/dGhpcy5fcGFyZW50LmZvcm1EaXJlY3RpdmU6bnVsbH12aWV3VG9Nb2RlbFVwZGF0ZSh0KXt0aGlzLnZpZXdNb2RlbD10LHRoaXMudXBkYXRlLmVtaXQodCl9X3NldFVwQ29udHJvbCgpe3RoaXMuX3NldFVwZGF0ZVN0cmF0ZWd5KCksdGhpcy5faXNTdGFuZGFsb25lKCk/dGhpcy5fc2V0VXBTdGFuZGFsb25lKCk6dGhpcy5mb3JtRGlyZWN0aXZlLmFkZENvbnRyb2wodGhpcyksdGhpcy5fcmVnaXN0ZXJlZD0hMH1fc2V0VXBkYXRlU3RyYXRlZ3koKXt0aGlzLm9wdGlvbnMmJm51bGwhPXRoaXMub3B0aW9ucy51cGRhdGVPbiYmKHRoaXMuY29udHJvbC5fdXBkYXRlT249dGhpcy5vcHRpb25zLnVwZGF0ZU9uKX1faXNTdGFuZGFsb25lKCl7cmV0dXJuIXRoaXMuX3BhcmVudHx8ISghdGhpcy5vcHRpb25zfHwhdGhpcy5vcHRpb25zLnN0YW5kYWxvbmUpfV9zZXRVcFN0YW5kYWxvbmUoKXtNVyh0aGlzLmNvbnRyb2wsdGhpcyksdGhpcy5jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfV9jaGVja0ZvckVycm9ycygpe3RoaXMuX2lzU3RhbmRhbG9uZSgpfHx0aGlzLl9jaGVja1BhcmVudFR5cGUoKSx0aGlzLl9jaGVja05hbWUoKX1fY2hlY2tQYXJlbnRUeXBlKCl7KCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiYoISh0aGlzLl9wYXJlbnQgaW5zdGFuY2VvZiAkVykmJnRoaXMuX3BhcmVudCBpbnN0YW5jZW9mIEtXP0pXLmZvcm1Hcm91cE5hbWVFeGNlcHRpb24oKTp0aGlzLl9wYXJlbnQgaW5zdGFuY2VvZiAkV3x8dGhpcy5fcGFyZW50IGluc3RhbmNlb2YgWFd8fEpXLm1vZGVsUGFyZW50RXhjZXB0aW9uKCkpfV9jaGVja05hbWUoKXt0aGlzLm9wdGlvbnMmJnRoaXMub3B0aW9ucy5uYW1lJiYodGhpcy5uYW1lPXRoaXMub3B0aW9ucy5uYW1lKSx0aGlzLl9pc1N0YW5kYWxvbmUoKXx8dGhpcy5uYW1lfHwidW5kZWZpbmVkIiE9dHlwZW9mIG5nRGV2TW9kZSYmIW5nRGV2TW9kZXx8SlcubWlzc2luZ05hbWVFeGNlcHRpb24oKX1fdXBkYXRlVmFsdWUodCl7ZUcudGhlbigoKCk9Pnt0aGlzLmNvbnRyb2wuc2V0VmFsdWUodCx7ZW1pdFZpZXdUb01vZGVsQ2hhbmdlOiExfSl9KSl9X3VwZGF0ZURpc2FibGVkKHQpe2NvbnN0IGU9dC5pc0Rpc2FibGVkLmN1cnJlbnRWYWx1ZSxuPSIiPT09ZXx8ZSYmImZhbHNlIiE9PWU7ZUcudGhlbigoKCk9PntuJiYhdGhpcy5jb250cm9sLmRpc2FibGVkP3RoaXMuY29udHJvbC5kaXNhYmxlKCk6IW4mJnRoaXMuY29udHJvbC5kaXNhYmxlZCYmdGhpcy5jb250cm9sLmVuYWJsZSgpfSkpfX1uRy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bkcpKGdmKHNXLDkpLGdmKEVVLDEwKSxnZihBVSwxMCksZ2YoeFUsMTApKX0sbkcuybVkaXI9aG8oe3R5cGU6bkcsc2VsZWN0b3JzOltbIiIsIm5nTW9kZWwiLCIiLDMsImZvcm1Db250cm9sTmFtZSIsIiIsMywiZm9ybUNvbnRyb2wiLCIiXV0saW5wdXRzOntuYW1lOiJuYW1lIixpc0Rpc2FibGVkOlsiZGlzYWJsZWQiLCJpc0Rpc2FibGVkIl0sbW9kZWw6WyJuZ01vZGVsIiwibW9kZWwiXSxvcHRpb25zOlsibmdNb2RlbE9wdGlvbnMiLCJvcHRpb25zIl19LG91dHB1dHM6e3VwZGF0ZToibmdNb2RlbENoYW5nZSJ9LGV4cG9ydEFzOlsibmdNb2RlbCJdLGZlYXR1cmVzOltqaChbdEddKSxRcCxxb119KSxuRy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnNXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn1dfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9LHt0eXBlOkxyLGFyZ3M6W0VVXX1dfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9LHt0eXBlOkxyLGFyZ3M6W0FVXX1dfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9LHt0eXBlOkxyLGFyZ3M6W3hVXX1dfV0sbkcucHJvcERlY29yYXRvcnM9e25hbWU6W3t0eXBlOlJffV0saXNEaXNhYmxlZDpbe3R5cGU6Ul8sYXJnczpbImRpc2FibGVkIl19XSxtb2RlbDpbe3R5cGU6Ul8sYXJnczpbIm5nTW9kZWwiXX1dLG9wdGlvbnM6W3t0eXBlOlJfLGFyZ3M6WyJuZ01vZGVsT3B0aW9ucyJdfV0sdXBkYXRlOlt7dHlwZTpFXyxhcmdzOlsibmdNb2RlbENoYW5nZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobkcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW25nTW9kZWxdOm5vdChbZm9ybUNvbnRyb2xOYW1lXSk6bm90KFtmb3JtQ29udHJvbF0pIixwcm92aWRlcnM6W3RHXSxleHBvcnRBczoibmdNb2RlbCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpzVyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VXJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOlt4VV19XX1dfSkse3VwZGF0ZTpbe3R5cGU6RV8sYXJnczpbIm5nTW9kZWxDaGFuZ2UiXX1dLG5hbWU6W3t0eXBlOlJffV0saXNEaXNhYmxlZDpbe3R5cGU6Ul8sYXJnczpbImRpc2FibGVkIl19XSxtb2RlbDpbe3R5cGU6Ul8sYXJnczpbIm5nTW9kZWwiXX1dLG9wdGlvbnM6W3t0eXBlOlJfLGFyZ3M6WyJuZ01vZGVsT3B0aW9ucyJdfV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIG9He31vRy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8b0cpfSxvRy7JtWRpcj1obyh7dHlwZTpvRyxzZWxlY3RvcnM6W1siZm9ybSIsMywibmdOb0Zvcm0iLCIiLDMsIm5nTmF0aXZlVmFsaWRhdGUiLCIiXV0saG9zdEF0dHJzOlsibm92YWxpZGF0ZSIsIiJdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihvRyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJmb3JtOm5vdChbbmdOb0Zvcm1dKTpub3QoW25nTmF0aXZlVmFsaWRhdGVdKSIsaG9zdDp7bm92YWxpZGF0ZToiIn19XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBpRz17cHJvdmlkZTp4VSx1c2VFeGlzdGluZzokZSgoKCk9PmFHKSksbXVsdGk6ITB9O2NsYXNzIGFHIGV4dGVuZHMgdlV7d3JpdGVWYWx1ZSh0KXt0aGlzLnNldFByb3BlcnR5KCJ2YWx1ZSIsbnVsbD09dD8iIjp0KX1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMub25DaGFuZ2U9ZT0+e3QoIiI9PWU/bnVsbDpwYXJzZUZsb2F0KGUpKX19fWFHLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShhRykpKShufHxhRyl9fSkoKSxhRy7JtWRpcj1obyh7dHlwZTphRyxzZWxlY3RvcnM6W1siaW5wdXQiLCJ0eXBlIiwibnVtYmVyIiwiZm9ybUNvbnRyb2xOYW1lIiwiIl0sWyJpbnB1dCIsInR5cGUiLCJudW1iZXIiLCJmb3JtQ29udHJvbCIsIiJdLFsiaW5wdXQiLCJ0eXBlIiwibnVtYmVyIiwibmdNb2RlbCIsIiJdXSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkNoYW5nZShlLnRhcmdldC52YWx1ZSl9KSkoImJsdXIiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub3VjaGVkKCl9KSl9LGZlYXR1cmVzOltqaChbaUddKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGFHLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIixob3N0OnsiKGlucHV0KSI6Im9uQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpIiwiKGJsdXIpIjoib25Ub3VjaGVkKCkifSxwcm92aWRlcnM6W2lHXX1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHJHPXtwcm92aWRlOnhVLHVzZUV4aXN0aW5nOiRlKCgoKT0+Y0cpKSxtdWx0aTohMH07Y2xhc3Mgc0d7fXNHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxzRyl9LHNHLsm1bW9kPWZvKHt0eXBlOnNHfSksc0cuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoc0csW3t0eXBlOkxffV0sbnVsbCxudWxsKTtjbGFzcyBsR3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2FjY2Vzc29ycz1bXX1hZGQodCxlKXt0aGlzLl9hY2Nlc3NvcnMucHVzaChbdCxlXSl9cmVtb3ZlKHQpe2ZvcihsZXQgZT10aGlzLl9hY2Nlc3NvcnMubGVuZ3RoLTE7ZT49MDstLWUpaWYodGhpcy5fYWNjZXNzb3JzW2VdWzFdPT09dClyZXR1cm4gdm9pZCB0aGlzLl9hY2Nlc3NvcnMuc3BsaWNlKGUsMSl9c2VsZWN0KHQpe3RoaXMuX2FjY2Vzc29ycy5mb3JFYWNoKChlPT57dGhpcy5faXNTYW1lR3JvdXAoZSx0KSYmZVsxXSE9PXQmJmVbMV0uZmlyZVVuY2hlY2sodC52YWx1ZSl9KSl9X2lzU2FtZUdyb3VwKHQsZSl7cmV0dXJuISF0WzBdLmNvbnRyb2wmJih0WzBdLl9wYXJlbnQ9PT1lLl9jb250cm9sLl9wYXJlbnQmJnRbMV0ubmFtZT09PWUubmFtZSl9fWxHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxsRyl9LGxHLsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyBsR30sdG9rZW46bEcscHJvdmlkZWRJbjpzR30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobEcsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOnNHfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpO2NsYXNzIGNHIGV4dGVuZHMgdlV7Y29uc3RydWN0b3IodCxlLG4sbyl7c3VwZXIodCxlKSx0aGlzLl9yZWdpc3RyeT1uLHRoaXMuX2luamVjdG9yPW8sdGhpcy5vbkNoYW5nZT0oKT0+e319bmdPbkluaXQoKXt0aGlzLl9jb250cm9sPXRoaXMuX2luamVjdG9yLmdldChsVyksdGhpcy5fY2hlY2tOYW1lKCksdGhpcy5fcmVnaXN0cnkuYWRkKHRoaXMuX2NvbnRyb2wsdGhpcyl9bmdPbkRlc3Ryb3koKXt0aGlzLl9yZWdpc3RyeS5yZW1vdmUodGhpcyl9d3JpdGVWYWx1ZSh0KXt0aGlzLl9zdGF0ZT10PT09dGhpcy52YWx1ZSx0aGlzLnNldFByb3BlcnR5KCJjaGVja2VkIix0aGlzLl9zdGF0ZSl9cmVnaXN0ZXJPbkNoYW5nZSh0KXt0aGlzLl9mbj10LHRoaXMub25DaGFuZ2U9KCk9Pnt0KHRoaXMudmFsdWUpLHRoaXMuX3JlZ2lzdHJ5LnNlbGVjdCh0aGlzKX19ZmlyZVVuY2hlY2sodCl7dGhpcy53cml0ZVZhbHVlKHQpfV9jaGVja05hbWUoKXt0aGlzLm5hbWUmJnRoaXMuZm9ybUNvbnRyb2xOYW1lJiZ0aGlzLm5hbWUhPT10aGlzLmZvcm1Db250cm9sTmFtZSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiYoZnVuY3Rpb24gdCgpe3Rocm93IG5ldyBFcnJvcignXG4gICAgICBJZiB5b3UgZGVmaW5lIGJvdGggYSBuYW1lIGFuZCBhIGZvcm1Db250cm9sTmFtZSBhdHRyaWJ1dGUgb24geW91ciByYWRpbyBidXR0b24sIHRoZWlyIHZhbHVlc1xuICAgICAgbXVzdCBtYXRjaC4gRXg6IDxpbnB1dCB0eXBlPSJyYWRpbyIgZm9ybUNvbnRyb2xOYW1lPSJmb29kIiBuYW1lPSJmb29kIj5cbiAgICAnKX0pKCksIXRoaXMubmFtZSYmdGhpcy5mb3JtQ29udHJvbE5hbWUmJih0aGlzLm5hbWU9dGhpcy5mb3JtQ29udHJvbE5hbWUpfX1jRy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Y0cpKGdmKCRoKSxnZihLaCksZ2YobEcpLGdmKE5wKSl9LGNHLsm1ZGlyPWhvKHt0eXBlOmNHLHNlbGVjdG9yczpbWyJpbnB1dCIsInR5cGUiLCJyYWRpbyIsImZvcm1Db250cm9sTmFtZSIsIiJdLFsiaW5wdXQiLCJ0eXBlIiwicmFkaW8iLCJmb3JtQ29udHJvbCIsIiJdLFsiaW5wdXQiLCJ0eXBlIiwicmFkaW8iLCJuZ01vZGVsIiwiIl1dLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigiY2hhbmdlIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uQ2hhbmdlKCl9KSkoImJsdXIiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub3VjaGVkKCl9KSl9LGlucHV0czp7bmFtZToibmFtZSIsZm9ybUNvbnRyb2xOYW1lOiJmb3JtQ29udHJvbE5hbWUiLHZhbHVlOiJ2YWx1ZSJ9LGZlYXR1cmVzOltqaChbckddKSxRcF19KSxjRy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOiRofSx7dHlwZTpLaH0se3R5cGU6bEd9LHt0eXBlOk5wfV0sY0cucHJvcERlY29yYXRvcnM9e25hbWU6W3t0eXBlOlJffV0sZm9ybUNvbnRyb2xOYW1lOlt7dHlwZTpSX31dLHZhbHVlOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGNHLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6ImlucHV0W3R5cGU9cmFkaW9dW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1yYWRpb11bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9cmFkaW9dW25nTW9kZWxdIixob3N0OnsiKGNoYW5nZSkiOiJvbkNoYW5nZSgpIiwiKGJsdXIpIjoib25Ub3VjaGVkKCkifSxwcm92aWRlcnM6W3JHXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOiRofSx7dHlwZTpLaH0se3R5cGU6bEd9LHt0eXBlOk5wfV19KSx7bmFtZTpbe3R5cGU6Ul99XSxmb3JtQ29udHJvbE5hbWU6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IGRHPXtwcm92aWRlOnhVLHVzZUV4aXN0aW5nOiRlKCgoKT0+cEcpKSxtdWx0aTohMH07Y2xhc3MgcEcgZXh0ZW5kcyB2VXt3cml0ZVZhbHVlKHQpe3RoaXMuc2V0UHJvcGVydHkoInZhbHVlIixwYXJzZUZsb2F0KHQpKX1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMub25DaGFuZ2U9ZT0+e3QoIiI9PWU/bnVsbDpwYXJzZUZsb2F0KGUpKX19fXBHLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShwRykpKShufHxwRyl9fSkoKSxwRy7JtWRpcj1obyh7dHlwZTpwRyxzZWxlY3RvcnM6W1siaW5wdXQiLCJ0eXBlIiwicmFuZ2UiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbImlucHV0IiwidHlwZSIsInJhbmdlIiwiZm9ybUNvbnRyb2wiLCIiXSxbImlucHV0IiwidHlwZSIsInJhbmdlIiwibmdNb2RlbCIsIiJdXSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25DaGFuZ2UoZS50YXJnZXQudmFsdWUpfSkpKCJpbnB1dCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25DaGFuZ2UoZS50YXJnZXQudmFsdWUpfSkpKCJibHVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uVG91Y2hlZCgpfSkpfSxmZWF0dXJlczpbamgoW2RHXSksUXBdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihwRyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJpbnB1dFt0eXBlPXJhbmdlXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9cmFuZ2VdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPXJhbmdlXVtuZ01vZGVsXSIsaG9zdDp7IihjaGFuZ2UpIjoib25DaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSkiLCIoaW5wdXQpIjoib25DaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSkiLCIoYmx1cikiOiJvblRvdWNoZWQoKSJ9LHByb3ZpZGVyczpbZEddfV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgbUc9bmV3IGVyKCJOZ01vZGVsV2l0aEZvcm1Db250cm9sV2FybmluZyIpLGZHPXtwcm92aWRlOmxXLHVzZUV4aXN0aW5nOiRlKCgoKT0+dUcpKX07Y2xhc3MgdUcgZXh0ZW5kcyBsV3tjb25zdHJ1Y3Rvcih0LGUsbixvKXtzdXBlcigpLHRoaXMuX25nTW9kZWxXYXJuaW5nQ29uZmlnPW8sdGhpcy51cGRhdGU9bmV3IFN5LHRoaXMuX25nTW9kZWxXYXJuaW5nU2VudD0hMSx0aGlzLl9zZXRWYWxpZGF0b3JzKHQpLHRoaXMuX3NldEFzeW5jVmFsaWRhdG9ycyhlKSx0aGlzLnZhbHVlQWNjZXNzb3I9RVcodGhpcyxuKX1zZXQgaXNEaXNhYmxlZCh0KXsoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJl9XLmRpc2FibGVkQXR0cldhcm5pbmcoKX1uZ09uQ2hhbmdlcyh0KXtpZih0aGlzLl9pc0NvbnRyb2xDaGFuZ2VkKHQpKXtjb25zdCBlPXQuZm9ybS5wcmV2aW91c1ZhbHVlO2UmJnZXKGUsdGhpcywhMSksTVcodGhpcy5mb3JtLHRoaXMpLHRoaXMuY29udHJvbC5kaXNhYmxlZCYmdGhpcy52YWx1ZUFjY2Vzc29yLnNldERpc2FibGVkU3RhdGUmJnRoaXMudmFsdWVBY2Nlc3Nvci5zZXREaXNhYmxlZFN0YXRlKCEwKSx0aGlzLmZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9RFcodCx0aGlzLnZpZXdNb2RlbCkmJigoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlRXKCJmb3JtQ29udHJvbCIsdUcsdGhpcyx0aGlzLl9uZ01vZGVsV2FybmluZ0NvbmZpZyksdGhpcy5mb3JtLnNldFZhbHVlKHRoaXMubW9kZWwpLHRoaXMudmlld01vZGVsPXRoaXMubW9kZWwpfW5nT25EZXN0cm95KCl7dGhpcy5mb3JtJiZ2Vyh0aGlzLmZvcm0sdGhpcywhMSl9Z2V0IHBhdGgoKXtyZXR1cm5bXX1nZXQgY29udHJvbCgpe3JldHVybiB0aGlzLmZvcm19dmlld1RvTW9kZWxVcGRhdGUodCl7dGhpcy52aWV3TW9kZWw9dCx0aGlzLnVwZGF0ZS5lbWl0KHQpfV9pc0NvbnRyb2xDaGFuZ2VkKHQpe3JldHVybiB0Lmhhc093blByb3BlcnR5KCJmb3JtIil9fXVHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx1RykoZ2YoRVUsMTApLGdmKEFVLDEwKSxnZih4VSwxMCksZ2YobUcsOCkpfSx1Ry7JtWRpcj1obyh7dHlwZTp1RyxzZWxlY3RvcnM6W1siIiwiZm9ybUNvbnRyb2wiLCIiXV0saW5wdXRzOntpc0Rpc2FibGVkOlsiZGlzYWJsZWQiLCJpc0Rpc2FibGVkIl0sZm9ybTpbImZvcm1Db250cm9sIiwiZm9ybSJdLG1vZGVsOlsibmdNb2RlbCIsIm1vZGVsIl19LG91dHB1dHM6e3VwZGF0ZToibmdNb2RlbENoYW5nZSJ9LGV4cG9ydEFzOlsibmdGb3JtIl0sZmVhdHVyZXM6W2poKFtmR10pLFFwLHFvXX0pLHVHLl9uZ01vZGVsV2FybmluZ1NlbnRPbmNlPSExLHVHLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOlt4VV19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOlttR119XX1dLHVHLnByb3BEZWNvcmF0b3JzPXtmb3JtOlt7dHlwZTpSXyxhcmdzOlsiZm9ybUNvbnRyb2wiXX1dLGlzRGlzYWJsZWQ6W3t0eXBlOlJfLGFyZ3M6WyJkaXNhYmxlZCJdfV0sbW9kZWw6W3t0eXBlOlJfLGFyZ3M6WyJuZ01vZGVsIl19XSx1cGRhdGU6W3t0eXBlOkVfLGFyZ3M6WyJuZ01vZGVsQ2hhbmdlIl19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih1Ryxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixwcm92aWRlcnM6W2ZHXSxleHBvcnRBczoibmdGb3JtIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbRVVdfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbQVVdfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbeFVdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbbUddfV19XX0pLHt1cGRhdGU6W3t0eXBlOkVfLGFyZ3M6WyJuZ01vZGVsQ2hhbmdlIl19XSxpc0Rpc2FibGVkOlt7dHlwZTpSXyxhcmdzOlsiZGlzYWJsZWQiXX1dLGZvcm06W3t0eXBlOlJfLGFyZ3M6WyJmb3JtQ29udHJvbCJdfV0sbW9kZWw6W3t0eXBlOlJfLGFyZ3M6WyJuZ01vZGVsIl19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgZ0c9e3Byb3ZpZGU6c1csdXNlRXhpc3Rpbmc6JGUoKCgpPT5oRykpfTtjbGFzcyBoRyBleHRlbmRzIHNXe2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLnZhbGlkYXRvcnM9dCx0aGlzLmFzeW5jVmFsaWRhdG9ycz1lLHRoaXMuc3VibWl0dGVkPSExLHRoaXMuX29uQ29sbGVjdGlvbkNoYW5nZT0oKT0+dGhpcy5fdXBkYXRlRG9tVmFsdWUoKSx0aGlzLmRpcmVjdGl2ZXM9W10sdGhpcy5mb3JtPW51bGwsdGhpcy5uZ1N1Ym1pdD1uZXcgU3ksdGhpcy5fc2V0VmFsaWRhdG9ycyh0KSx0aGlzLl9zZXRBc3luY1ZhbGlkYXRvcnMoZSl9bmdPbkNoYW5nZXModCl7dGhpcy5fY2hlY2tGb3JtUHJlc2VudCgpLHQuaGFzT3duUHJvcGVydHkoImZvcm0iKSYmKHRoaXMuX3VwZGF0ZVZhbGlkYXRvcnMoKSx0aGlzLl91cGRhdGVEb21WYWx1ZSgpLHRoaXMuX3VwZGF0ZVJlZ2lzdHJhdGlvbnMoKSx0aGlzLl9vbGRGb3JtPXRoaXMuZm9ybSl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm0mJihQVyh0aGlzLmZvcm0sdGhpcyksdGhpcy5mb3JtLl9vbkNvbGxlY3Rpb25DaGFuZ2U9PT10aGlzLl9vbkNvbGxlY3Rpb25DaGFuZ2UmJnRoaXMuZm9ybS5fcmVnaXN0ZXJPbkNvbGxlY3Rpb25DaGFuZ2UoKCgpPT57fSkpKX1nZXQgZm9ybURpcmVjdGl2ZSgpe3JldHVybiB0aGlzfWdldCBjb250cm9sKCl7cmV0dXJuIHRoaXMuZm9ybX1nZXQgcGF0aCgpe3JldHVybltdfWFkZENvbnRyb2wodCl7Y29uc3QgZT10aGlzLmZvcm0uZ2V0KHQucGF0aCk7cmV0dXJuIE1XKGUsdCksZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmRpcmVjdGl2ZXMucHVzaCh0KSxlfWdldENvbnRyb2wodCl7cmV0dXJuIHRoaXMuZm9ybS5nZXQodC5wYXRoKX1yZW1vdmVDb250cm9sKHQpe3ZXKHQuY29udHJvbHx8bnVsbCx0LCExKSxBVyh0aGlzLmRpcmVjdGl2ZXMsdCl9YWRkRm9ybUdyb3VwKHQpe3RoaXMuX3NldFVwRm9ybUNvbnRhaW5lcih0KX1yZW1vdmVGb3JtR3JvdXAodCl7dGhpcy5fY2xlYW5VcEZvcm1Db250YWluZXIodCl9Z2V0Rm9ybUdyb3VwKHQpe3JldHVybiB0aGlzLmZvcm0uZ2V0KHQucGF0aCl9YWRkRm9ybUFycmF5KHQpe3RoaXMuX3NldFVwRm9ybUNvbnRhaW5lcih0KX1yZW1vdmVGb3JtQXJyYXkodCl7dGhpcy5fY2xlYW5VcEZvcm1Db250YWluZXIodCl9Z2V0Rm9ybUFycmF5KHQpe3JldHVybiB0aGlzLmZvcm0uZ2V0KHQucGF0aCl9dXBkYXRlTW9kZWwodCxlKXt0aGlzLmZvcm0uZ2V0KHQucGF0aCkuc2V0VmFsdWUoZSl9b25TdWJtaXQodCl7cmV0dXJuIHRoaXMuc3VibWl0dGVkPSEwLFJXKHRoaXMuZm9ybSx0aGlzLmRpcmVjdGl2ZXMpLHRoaXMubmdTdWJtaXQuZW1pdCh0KSwhMX1vblJlc2V0KCl7dGhpcy5yZXNldEZvcm0oKX1yZXNldEZvcm0odCl7dGhpcy5mb3JtLnJlc2V0KHQpLHRoaXMuc3VibWl0dGVkPSExfV91cGRhdGVEb21WYWx1ZSgpe3RoaXMuZGlyZWN0aXZlcy5mb3JFYWNoKCh0PT57Y29uc3QgZT10LmNvbnRyb2wsbj10aGlzLmZvcm0uZ2V0KHQucGF0aCk7ZSE9PW4mJih2VyhlfHxudWxsLHQpLG4gaW5zdGFuY2VvZiBXVyYmKE1XKG4sdCksdC5jb250cm9sPW4pKX0pKSx0aGlzLmZvcm0uX3VwZGF0ZVRyZWVWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9X3NldFVwRm9ybUNvbnRhaW5lcih0KXtjb25zdCBlPXRoaXMuZm9ybS5nZXQodC5wYXRoKTtrVyhlLHQpLGUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9X2NsZWFuVXBGb3JtQ29udGFpbmVyKHQpe2lmKHRoaXMuZm9ybSl7Y29uc3QgZT10aGlzLmZvcm0uZ2V0KHQucGF0aCk7aWYoZSl7KGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4gUFcodCxlKX0pKGUsdCkmJmUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9fX1fdXBkYXRlUmVnaXN0cmF0aW9ucygpe3RoaXMuZm9ybS5fcmVnaXN0ZXJPbkNvbGxlY3Rpb25DaGFuZ2UodGhpcy5fb25Db2xsZWN0aW9uQ2hhbmdlKSx0aGlzLl9vbGRGb3JtJiZ0aGlzLl9vbGRGb3JtLl9yZWdpc3Rlck9uQ29sbGVjdGlvbkNoYW5nZSgoKCk9Pnt9KSl9X3VwZGF0ZVZhbGlkYXRvcnMoKXtPVyh0aGlzLmZvcm0sdGhpcyksdGhpcy5fb2xkRm9ybSYmUFcodGhpcy5fb2xkRm9ybSx0aGlzKX1fY2hlY2tGb3JtUHJlc2VudCgpe3RoaXMuZm9ybXx8InVuZGVmaW5lZCIhPXR5cGVvZiBuZ0Rldk1vZGUmJiFuZ0Rldk1vZGV8fF9XLm1pc3NpbmdGb3JtRXhjZXB0aW9uKCl9fWhHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxoRykoZ2YoRVUsMTApLGdmKEFVLDEwKSl9LGhHLsm1ZGlyPWhvKHt0eXBlOmhHLHNlbGVjdG9yczpbWyIiLCJmb3JtR3JvdXAiLCIiXV0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJzdWJtaXQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uU3VibWl0KGUpfSkpKCJyZXNldCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblJlc2V0KCl9KSl9LGlucHV0czp7Zm9ybTpbImZvcm1Hcm91cCIsImZvcm0iXX0sb3V0cHV0czp7bmdTdWJtaXQ6Im5nU3VibWl0In0sZXhwb3J0QXM6WyJuZ0Zvcm0iXSxmZWF0dXJlczpbamgoW2dHXSksUXAscW9dfSksaEcuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9LHt0eXBlOkxyLGFyZ3M6W0VVXX1dfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9LHt0eXBlOkxyLGFyZ3M6W0FVXX1dfV0saEcucHJvcERlY29yYXRvcnM9e2Zvcm06W3t0eXBlOlJfLGFyZ3M6WyJmb3JtR3JvdXAiXX1dLG5nU3VibWl0Olt7dHlwZTpFX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGhHLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Iltmb3JtR3JvdXBdIixwcm92aWRlcnM6W2dHXSxob3N0OnsiKHN1Ym1pdCkiOiJvblN1Ym1pdCgkZXZlbnQpIiwiKHJlc2V0KSI6Im9uUmVzZXQoKSJ9LGV4cG9ydEFzOiJuZ0Zvcm0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dfSkse2Zvcm06W3t0eXBlOlJfLGFyZ3M6WyJmb3JtR3JvdXAiXX1dLG5nU3VibWl0Olt7dHlwZTpFX31dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBiRz17cHJvdmlkZTpzVyx1c2VFeGlzdGluZzokZSgoKCk9PnlHKSl9O2NsYXNzIHlHIGV4dGVuZHMgS1d7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKCksdGhpcy5fcGFyZW50PXQsdGhpcy5fc2V0VmFsaWRhdG9ycyhlKSx0aGlzLl9zZXRBc3luY1ZhbGlkYXRvcnMobil9X2NoZWNrUGFyZW50VHlwZSgpe01HKHRoaXMuX3BhcmVudCkmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmX1cuZ3JvdXBQYXJlbnRFeGNlcHRpb24oKX19eUcuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHlHKShnZihzVywxMyksZ2YoRVUsMTApLGdmKEFVLDEwKSl9LHlHLsm1ZGlyPWhvKHt0eXBlOnlHLHNlbGVjdG9yczpbWyIiLCJmb3JtR3JvdXBOYW1lIiwiIl1dLGlucHV0czp7bmFtZTpbImZvcm1Hcm91cE5hbWUiLCJuYW1lIl19LGZlYXR1cmVzOltqaChbYkddKSxRcF19KSx5Ry5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnNXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dLHlHLnByb3BEZWNvcmF0b3JzPXtuYW1lOlt7dHlwZTpSXyxhcmdzOlsiZm9ybUdyb3VwTmFtZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeUcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdIixwcm92aWRlcnM6W2JHXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnNXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dfSkse25hbWU6W3t0eXBlOlJfLGFyZ3M6WyJmb3JtR3JvdXBOYW1lIl19XX0pO2NvbnN0IF9HPXtwcm92aWRlOnNXLHVzZUV4aXN0aW5nOiRlKCgoKT0+Q0cpKX07Y2xhc3MgQ0cgZXh0ZW5kcyBzV3tjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIoKSx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9zZXRWYWxpZGF0b3JzKGUpLHRoaXMuX3NldEFzeW5jVmFsaWRhdG9ycyhuKX1uZ09uSW5pdCgpe3RoaXMuX2NoZWNrUGFyZW50VHlwZSgpLHRoaXMuZm9ybURpcmVjdGl2ZS5hZGRGb3JtQXJyYXkodGhpcyl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm1EaXJlY3RpdmUmJnRoaXMuZm9ybURpcmVjdGl2ZS5yZW1vdmVGb3JtQXJyYXkodGhpcyl9Z2V0IGNvbnRyb2woKXtyZXR1cm4gdGhpcy5mb3JtRGlyZWN0aXZlLmdldEZvcm1BcnJheSh0aGlzKX1nZXQgZm9ybURpcmVjdGl2ZSgpe3JldHVybiB0aGlzLl9wYXJlbnQ/dGhpcy5fcGFyZW50LmZvcm1EaXJlY3RpdmU6bnVsbH1nZXQgcGF0aCgpe3JldHVybiBDVyhudWxsPT10aGlzLm5hbWU/dGhpcy5uYW1lOnRoaXMubmFtZS50b1N0cmluZygpLHRoaXMuX3BhcmVudCl9X2NoZWNrUGFyZW50VHlwZSgpe01HKHRoaXMuX3BhcmVudCkmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmX1cuYXJyYXlQYXJlbnRFeGNlcHRpb24oKX19ZnVuY3Rpb24gTUcodCl7cmV0dXJuISh0IGluc3RhbmNlb2YgeUd8fHQgaW5zdGFuY2VvZiBoR3x8dCBpbnN0YW5jZW9mIENHKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovQ0cuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fENHKShnZihzVywxMyksZ2YoRVUsMTApLGdmKEFVLDEwKSl9LENHLsm1ZGlyPWhvKHt0eXBlOkNHLHNlbGVjdG9yczpbWyIiLCJmb3JtQXJyYXlOYW1lIiwiIl1dLGlucHV0czp7bmFtZTpbImZvcm1BcnJheU5hbWUiLCJuYW1lIl19LGZlYXR1cmVzOltqaChbX0ddKSxRcF19KSxDRy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnNXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dLENHLnByb3BEZWNvcmF0b3JzPXtuYW1lOlt7dHlwZTpSXyxhcmdzOlsiZm9ybUFycmF5TmFtZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ0csW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Zvcm1BcnJheU5hbWVdIixwcm92aWRlcnM6W19HXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnNXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dfSkse25hbWU6W3t0eXBlOlJfLGFyZ3M6WyJmb3JtQXJyYXlOYW1lIl19XX0pO2NvbnN0IHZHPXtwcm92aWRlOmxXLHVzZUV4aXN0aW5nOiRlKCgoKT0+eEcpKX07Y2xhc3MgeEcgZXh0ZW5kcyBsV3tjb25zdHJ1Y3Rvcih0LGUsbixvLGkpe3N1cGVyKCksdGhpcy5fbmdNb2RlbFdhcm5pbmdDb25maWc9aSx0aGlzLl9hZGRlZD0hMSx0aGlzLnVwZGF0ZT1uZXcgU3ksdGhpcy5fbmdNb2RlbFdhcm5pbmdTZW50PSExLHRoaXMuX3BhcmVudD10LHRoaXMuX3NldFZhbGlkYXRvcnMoZSksdGhpcy5fc2V0QXN5bmNWYWxpZGF0b3JzKG4pLHRoaXMudmFsdWVBY2Nlc3Nvcj1FVyh0aGlzLG8pfXNldCBpc0Rpc2FibGVkKHQpeygidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmX1cuZGlzYWJsZWRBdHRyV2FybmluZygpfW5nT25DaGFuZ2VzKHQpe3RoaXMuX2FkZGVkfHx0aGlzLl9zZXRVcENvbnRyb2woKSxEVyh0LHRoaXMudmlld01vZGVsKSYmKCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmVFcoImZvcm1Db250cm9sTmFtZSIseEcsdGhpcyx0aGlzLl9uZ01vZGVsV2FybmluZ0NvbmZpZyksdGhpcy52aWV3TW9kZWw9dGhpcy5tb2RlbCx0aGlzLmZvcm1EaXJlY3RpdmUudXBkYXRlTW9kZWwodGhpcyx0aGlzLm1vZGVsKSl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm1EaXJlY3RpdmUmJnRoaXMuZm9ybURpcmVjdGl2ZS5yZW1vdmVDb250cm9sKHRoaXMpfXZpZXdUb01vZGVsVXBkYXRlKHQpe3RoaXMudmlld01vZGVsPXQsdGhpcy51cGRhdGUuZW1pdCh0KX1nZXQgcGF0aCgpe3JldHVybiBDVyhudWxsPT10aGlzLm5hbWU/dGhpcy5uYW1lOnRoaXMubmFtZS50b1N0cmluZygpLHRoaXMuX3BhcmVudCl9Z2V0IGZvcm1EaXJlY3RpdmUoKXtyZXR1cm4gdGhpcy5fcGFyZW50P3RoaXMuX3BhcmVudC5mb3JtRGlyZWN0aXZlOm51bGx9X2NoZWNrUGFyZW50VHlwZSgpeygidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmKCEodGhpcy5fcGFyZW50IGluc3RhbmNlb2YgeUcpJiZ0aGlzLl9wYXJlbnQgaW5zdGFuY2VvZiBLVz9fVy5uZ01vZGVsR3JvdXBFeGNlcHRpb24oKTp0aGlzLl9wYXJlbnQgaW5zdGFuY2VvZiB5R3x8dGhpcy5fcGFyZW50IGluc3RhbmNlb2YgaEd8fHRoaXMuX3BhcmVudCBpbnN0YW5jZW9mIENHfHxfVy5jb250cm9sUGFyZW50RXhjZXB0aW9uKCkpfV9zZXRVcENvbnRyb2woKXt0aGlzLl9jaGVja1BhcmVudFR5cGUoKSx0aGlzLmNvbnRyb2w9dGhpcy5mb3JtRGlyZWN0aXZlLmFkZENvbnRyb2wodGhpcyksdGhpcy5jb250cm9sLmRpc2FibGVkJiZ0aGlzLnZhbHVlQWNjZXNzb3Iuc2V0RGlzYWJsZWRTdGF0ZSYmdGhpcy52YWx1ZUFjY2Vzc29yLnNldERpc2FibGVkU3RhdGUoITApLHRoaXMuX2FkZGVkPSEwfX14Ry7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eEcpKGdmKHNXLDEzKSxnZihFVSwxMCksZ2YoQVUsMTApLGdmKHhVLDEwKSxnZihtRyw4KSl9LHhHLsm1ZGlyPWhvKHt0eXBlOnhHLHNlbGVjdG9yczpbWyIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXV0saW5wdXRzOntpc0Rpc2FibGVkOlsiZGlzYWJsZWQiLCJpc0Rpc2FibGVkIl0sbmFtZTpbImZvcm1Db250cm9sTmFtZSIsIm5hbWUiXSxtb2RlbDpbIm5nTW9kZWwiLCJtb2RlbCJdfSxvdXRwdXRzOnt1cGRhdGU6Im5nTW9kZWxDaGFuZ2UifSxmZWF0dXJlczpbamgoW3ZHXSksUXAscW9dfSkseEcuX25nTW9kZWxXYXJuaW5nU2VudE9uY2U9ITEseEcuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpzVyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VXJ9LHt0eXBlOmpyfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbRVVdfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbQVVdfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbeFVdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbbUddfV19XSx4Ry5wcm9wRGVjb3JhdG9ycz17bmFtZTpbe3R5cGU6Ul8sYXJnczpbImZvcm1Db250cm9sTmFtZSJdfV0saXNEaXNhYmxlZDpbe3R5cGU6Ul8sYXJnczpbImRpc2FibGVkIl19XSxtb2RlbDpbe3R5cGU6Ul8sYXJnczpbIm5nTW9kZWwiXX1dLHVwZGF0ZTpbe3R5cGU6RV8sYXJnczpbIm5nTW9kZWxDaGFuZ2UiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHhHLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixwcm92aWRlcnM6W3ZHXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnNXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOlt4VV19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOlttR119XX1dfSkse3VwZGF0ZTpbe3R5cGU6RV8sYXJnczpbIm5nTW9kZWxDaGFuZ2UiXX1dLGlzRGlzYWJsZWQ6W3t0eXBlOlJfLGFyZ3M6WyJkaXNhYmxlZCJdfV0sbmFtZTpbe3R5cGU6Ul8sYXJnczpbImZvcm1Db250cm9sTmFtZSJdfV0sbW9kZWw6W3t0eXBlOlJfLGFyZ3M6WyJuZ01vZGVsIl19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgT0c9e3Byb3ZpZGU6eFUsdXNlRXhpc3Rpbmc6JGUoKCgpPT53RykpLG11bHRpOiEwfTtmdW5jdGlvbiBQRyh0LGUpe3JldHVybiBudWxsPT10P2Ake2V9YDooZSYmIm9iamVjdCI9PXR5cGVvZiBlJiYoZT0iT2JqZWN0IiksYCR7dH06ICR7ZX1gLnNsaWNlKDAsNTApKX1jbGFzcyB3RyBleHRlbmRzIHZVe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9vcHRpb25NYXA9bmV3IE1hcCx0aGlzLl9pZENvdW50ZXI9MCx0aGlzLl9jb21wYXJlV2l0aD1PYmplY3QuaXN9c2V0IGNvbXBhcmVXaXRoKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0JiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgbmV3IEVycm9yKGBjb21wYXJlV2l0aCBtdXN0IGJlIGEgZnVuY3Rpb24sIGJ1dCByZWNlaXZlZCAke0pTT04uc3RyaW5naWZ5KHQpfWApO3RoaXMuX2NvbXBhcmVXaXRoPXR9d3JpdGVWYWx1ZSh0KXt0aGlzLnZhbHVlPXQ7Y29uc3QgZT10aGlzLl9nZXRPcHRpb25JZCh0KTtudWxsPT1lJiZ0aGlzLnNldFByb3BlcnR5KCJzZWxlY3RlZEluZGV4IiwtMSk7Y29uc3Qgbj1QRyhlLHQpO3RoaXMuc2V0UHJvcGVydHkoInZhbHVlIixuKX1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMub25DaGFuZ2U9ZT0+e3RoaXMudmFsdWU9dGhpcy5fZ2V0T3B0aW9uVmFsdWUoZSksdCh0aGlzLnZhbHVlKX19X3JlZ2lzdGVyT3B0aW9uKCl7cmV0dXJuKHRoaXMuX2lkQ291bnRlcisrKS50b1N0cmluZygpfV9nZXRPcHRpb25JZCh0KXtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHRoaXMuX29wdGlvbk1hcC5rZXlzKCkpKWlmKHRoaXMuX2NvbXBhcmVXaXRoKHRoaXMuX29wdGlvbk1hcC5nZXQoZSksdCkpcmV0dXJuIGU7cmV0dXJuIG51bGx9X2dldE9wdGlvblZhbHVlKHQpe2NvbnN0IGU9KGZ1bmN0aW9uIG4odCl7cmV0dXJuIHQuc3BsaXQoIjoiKVswXX0pKHQpO3JldHVybiB0aGlzLl9vcHRpb25NYXAuaGFzKGUpP3RoaXMuX29wdGlvbk1hcC5nZXQoZSk6dH19d0cuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHdHKSkpKG58fHdHKX19KSgpLHdHLsm1ZGlyPWhvKHt0eXBlOndHLHNlbGVjdG9yczpbWyJzZWxlY3QiLCJmb3JtQ29udHJvbE5hbWUiLCIiLDMsIm11bHRpcGxlIiwiIl0sWyJzZWxlY3QiLCJmb3JtQ29udHJvbCIsIiIsMywibXVsdGlwbGUiLCIiXSxbInNlbGVjdCIsIm5nTW9kZWwiLCIiLDMsIm11bHRpcGxlIiwiIl1dLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigiY2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkNoYW5nZShlLnRhcmdldC52YWx1ZSl9KSkoImJsdXIiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub3VjaGVkKCl9KSl9LGlucHV0czp7Y29tcGFyZVdpdGg6ImNvbXBhcmVXaXRoIn0sZmVhdHVyZXM6W2poKFtPR10pLFFwXX0pLHdHLnByb3BEZWNvcmF0b3JzPXtjb21wYXJlV2l0aDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih3Ryxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJzZWxlY3Q6bm90KFttdWx0aXBsZV0pW2Zvcm1Db250cm9sTmFtZV0sc2VsZWN0Om5vdChbbXVsdGlwbGVdKVtmb3JtQ29udHJvbF0sc2VsZWN0Om5vdChbbXVsdGlwbGVdKVtuZ01vZGVsXSIsaG9zdDp7IihjaGFuZ2UpIjoib25DaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSkiLCIoYmx1cikiOiJvblRvdWNoZWQoKSJ9LHByb3ZpZGVyczpbT0ddfV19XSxudWxsLHtjb21wYXJlV2l0aDpbe3R5cGU6Ul99XX0pO2NsYXNzIGtHe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9lbGVtZW50PXQsdGhpcy5fcmVuZGVyZXI9ZSx0aGlzLl9zZWxlY3Q9bix0aGlzLl9zZWxlY3QmJih0aGlzLmlkPXRoaXMuX3NlbGVjdC5fcmVnaXN0ZXJPcHRpb24oKSl9c2V0IG5nVmFsdWUodCl7bnVsbCE9dGhpcy5fc2VsZWN0JiYodGhpcy5fc2VsZWN0Ll9vcHRpb25NYXAuc2V0KHRoaXMuaWQsdCksdGhpcy5fc2V0RWxlbWVudFZhbHVlKFBHKHRoaXMuaWQsdCkpLHRoaXMuX3NlbGVjdC53cml0ZVZhbHVlKHRoaXMuX3NlbGVjdC52YWx1ZSkpfXNldCB2YWx1ZSh0KXt0aGlzLl9zZXRFbGVtZW50VmFsdWUodCksdGhpcy5fc2VsZWN0JiZ0aGlzLl9zZWxlY3Qud3JpdGVWYWx1ZSh0aGlzLl9zZWxlY3QudmFsdWUpfV9zZXRFbGVtZW50VmFsdWUodCl7dGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCJ2YWx1ZSIsdCl9bmdPbkRlc3Ryb3koKXt0aGlzLl9zZWxlY3QmJih0aGlzLl9zZWxlY3QuX29wdGlvbk1hcC5kZWxldGUodGhpcy5pZCksdGhpcy5fc2VsZWN0LndyaXRlVmFsdWUodGhpcy5fc2VsZWN0LnZhbHVlKSl9fWtHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxrRykoZ2YoS2gpLGdmKCRoKSxnZih3Ryw5KSl9LGtHLsm1ZGlyPWhvKHt0eXBlOmtHLHNlbGVjdG9yczpbWyJvcHRpb24iXV0saW5wdXRzOntuZ1ZhbHVlOiJuZ1ZhbHVlIix2YWx1ZToidmFsdWUifX0pLGtHLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOiRofSx7dHlwZTp3RyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VXJ9XX1dLGtHLnByb3BEZWNvcmF0b3JzPXtuZ1ZhbHVlOlt7dHlwZTpSXyxhcmdzOlsibmdWYWx1ZSJdfV0sdmFsdWU6W3t0eXBlOlJfLGFyZ3M6WyJ2YWx1ZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoa0csW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3Rvcjoib3B0aW9uIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTokaH0se3R5cGU6d0csZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlVyfV19XX0pLHtuZ1ZhbHVlOlt7dHlwZTpSXyxhcmdzOlsibmdWYWx1ZSJdfV0sdmFsdWU6W3t0eXBlOlJfLGFyZ3M6WyJ2YWx1ZSJdfV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFNHPXtwcm92aWRlOnhVLHVzZUV4aXN0aW5nOiRlKCgoKT0+UkcpKSxtdWx0aTohMH07ZnVuY3Rpb24gREcodCxlKXtyZXR1cm4gbnVsbD09dD9gJHtlfWA6KCJzdHJpbmciPT10eXBlb2YgZSYmKGU9YCcke2V9J2ApLGUmJiJvYmplY3QiPT10eXBlb2YgZSYmKGU9Ik9iamVjdCIpLGAke3R9OiAke2V9YC5zbGljZSgwLDUwKSl9Y2xhc3MgUkcgZXh0ZW5kcyB2VXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb3B0aW9uTWFwPW5ldyBNYXAsdGhpcy5faWRDb3VudGVyPTAsdGhpcy5fY29tcGFyZVdpdGg9T2JqZWN0LmlzfXNldCBjb21wYXJlV2l0aCh0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93IG5ldyBFcnJvcihgY29tcGFyZVdpdGggbXVzdCBiZSBhIGZ1bmN0aW9uLCBidXQgcmVjZWl2ZWQgJHtKU09OLnN0cmluZ2lmeSh0KX1gKTt0aGlzLl9jb21wYXJlV2l0aD10fXdyaXRlVmFsdWUodCl7bGV0IGU7aWYodGhpcy52YWx1ZT10LEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IG49dC5tYXAoKHQ9PnRoaXMuX2dldE9wdGlvbklkKHQpKSk7ZT0odCxlKT0+e3QuX3NldFNlbGVjdGVkKG4uaW5kZXhPZihlLnRvU3RyaW5nKCkpPi0xKX19ZWxzZSBlPSh0LGUpPT57dC5fc2V0U2VsZWN0ZWQoITEpfTt0aGlzLl9vcHRpb25NYXAuZm9yRWFjaChlKX1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMub25DaGFuZ2U9ZT0+e2NvbnN0IG49W107aWYodm9pZCAwIT09ZS5zZWxlY3RlZE9wdGlvbnMpe2NvbnN0IHQ9ZS5zZWxlY3RlZE9wdGlvbnM7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2NvbnN0IG89dC5pdGVtKGUpLGk9dGhpcy5fZ2V0T3B0aW9uVmFsdWUoby52YWx1ZSk7bi5wdXNoKGkpfX1lbHNle2NvbnN0IHQ9ZS5vcHRpb25zO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtjb25zdCBvPXQuaXRlbShlKTtpZihvLnNlbGVjdGVkKXtjb25zdCB0PXRoaXMuX2dldE9wdGlvblZhbHVlKG8udmFsdWUpO24ucHVzaCh0KX19fXRoaXMudmFsdWU9bix0KG4pfX1fcmVnaXN0ZXJPcHRpb24odCl7Y29uc3QgZT0odGhpcy5faWRDb3VudGVyKyspLnRvU3RyaW5nKCk7cmV0dXJuIHRoaXMuX29wdGlvbk1hcC5zZXQoZSx0KSxlfV9nZXRPcHRpb25JZCh0KXtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHRoaXMuX29wdGlvbk1hcC5rZXlzKCkpKWlmKHRoaXMuX2NvbXBhcmVXaXRoKHRoaXMuX29wdGlvbk1hcC5nZXQoZSkuX3ZhbHVlLHQpKXJldHVybiBlO3JldHVybiBudWxsfV9nZXRPcHRpb25WYWx1ZSh0KXtjb25zdCBlPShmdW5jdGlvbiBuKHQpe3JldHVybiB0LnNwbGl0KCI6IilbMF19KSh0KTtyZXR1cm4gdGhpcy5fb3B0aW9uTWFwLmhhcyhlKT90aGlzLl9vcHRpb25NYXAuZ2V0KGUpLl92YWx1ZTp0fX1SRy7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoUkcpKSkobnx8UkcpfX0pKCksUkcuybVkaXI9aG8oe3R5cGU6Ukcsc2VsZWN0b3JzOltbInNlbGVjdCIsIm11bHRpcGxlIiwiIiwiZm9ybUNvbnRyb2xOYW1lIiwiIl0sWyJzZWxlY3QiLCJtdWx0aXBsZSIsIiIsImZvcm1Db250cm9sIiwiIl0sWyJzZWxlY3QiLCJtdWx0aXBsZSIsIiIsIm5nTW9kZWwiLCIiXV0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJjaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uQ2hhbmdlKGUudGFyZ2V0KX0pKSgiYmx1ciIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblRvdWNoZWQoKX0pKX0saW5wdXRzOntjb21wYXJlV2l0aDoiY29tcGFyZVdpdGgifSxmZWF0dXJlczpbamgoW1NHXSksUXBdfSksUkcucHJvcERlY29yYXRvcnM9e2NvbXBhcmVXaXRoOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFJHLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6InNlbGVjdFttdWx0aXBsZV1bZm9ybUNvbnRyb2xOYW1lXSxzZWxlY3RbbXVsdGlwbGVdW2Zvcm1Db250cm9sXSxzZWxlY3RbbXVsdGlwbGVdW25nTW9kZWxdIixob3N0OnsiKGNoYW5nZSkiOiJvbkNoYW5nZSgkZXZlbnQudGFyZ2V0KSIsIihibHVyKSI6Im9uVG91Y2hlZCgpIn0scHJvdmlkZXJzOltTR119XX1dLG51bGwse2NvbXBhcmVXaXRoOlt7dHlwZTpSX31dfSk7Y2xhc3MgRUd7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuX2VsZW1lbnQ9dCx0aGlzLl9yZW5kZXJlcj1lLHRoaXMuX3NlbGVjdD1uLHRoaXMuX3NlbGVjdCYmKHRoaXMuaWQ9dGhpcy5fc2VsZWN0Ll9yZWdpc3Rlck9wdGlvbih0aGlzKSl9c2V0IG5nVmFsdWUodCl7bnVsbCE9dGhpcy5fc2VsZWN0JiYodGhpcy5fdmFsdWU9dCx0aGlzLl9zZXRFbGVtZW50VmFsdWUoREcodGhpcy5pZCx0KSksdGhpcy5fc2VsZWN0LndyaXRlVmFsdWUodGhpcy5fc2VsZWN0LnZhbHVlKSl9c2V0IHZhbHVlKHQpe3RoaXMuX3NlbGVjdD8odGhpcy5fdmFsdWU9dCx0aGlzLl9zZXRFbGVtZW50VmFsdWUoREcodGhpcy5pZCx0KSksdGhpcy5fc2VsZWN0LndyaXRlVmFsdWUodGhpcy5fc2VsZWN0LnZhbHVlKSk6dGhpcy5fc2V0RWxlbWVudFZhbHVlKHQpfV9zZXRFbGVtZW50VmFsdWUodCl7dGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCJ2YWx1ZSIsdCl9X3NldFNlbGVjdGVkKHQpe3RoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwic2VsZWN0ZWQiLHQpfW5nT25EZXN0cm95KCl7dGhpcy5fc2VsZWN0JiYodGhpcy5fc2VsZWN0Ll9vcHRpb25NYXAuZGVsZXRlKHRoaXMuaWQpLHRoaXMuX3NlbGVjdC53cml0ZVZhbHVlKHRoaXMuX3NlbGVjdC52YWx1ZSkpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIEFHKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdD90OnBhcnNlSW50KHQsMTApfUVHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxFRykoZ2YoS2gpLGdmKCRoKSxnZihSRyw5KSl9LEVHLsm1ZGlyPWhvKHt0eXBlOkVHLHNlbGVjdG9yczpbWyJvcHRpb24iXV0saW5wdXRzOntuZ1ZhbHVlOiJuZ1ZhbHVlIix2YWx1ZToidmFsdWUifX0pLEVHLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOiRofSx7dHlwZTpSRyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VXJ9XX1dLEVHLnByb3BEZWNvcmF0b3JzPXtuZ1ZhbHVlOlt7dHlwZTpSXyxhcmdzOlsibmdWYWx1ZSJdfV0sdmFsdWU6W3t0eXBlOlJfLGFyZ3M6WyJ2YWx1ZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRUcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3Rvcjoib3B0aW9uIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTokaH0se3R5cGU6UkcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlVyfV19XX0pLHtuZ1ZhbHVlOlt7dHlwZTpSXyxhcmdzOlsibmdWYWx1ZSJdfV0sdmFsdWU6W3t0eXBlOlJfLGFyZ3M6WyJ2YWx1ZSJdfV19KTtjbGFzcyBUR3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3ZhbGlkYXRvcj1VVX1oYW5kbGVDaGFuZ2VzKHQpe2lmKHRoaXMuaW5wdXROYW1lIGluIHQpe2NvbnN0IGU9dGhpcy5ub3JtYWxpemVJbnB1dCh0W3RoaXMuaW5wdXROYW1lXS5jdXJyZW50VmFsdWUpO3RoaXMuX3ZhbGlkYXRvcj10aGlzLmNyZWF0ZVZhbGlkYXRvcihlKSx0aGlzLl9vbkNoYW5nZSYmdGhpcy5fb25DaGFuZ2UoKX19dmFsaWRhdGUodCl7cmV0dXJuIHRoaXMuX3ZhbGlkYXRvcih0KX1yZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKHQpe3RoaXMuX29uQ2hhbmdlPXR9fVRHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxURyl9LFRHLsm1ZGlyPWhvKHt0eXBlOlRHfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihURyxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpO2NvbnN0IE5HPXtwcm92aWRlOkVVLHVzZUV4aXN0aW5nOiRlKCgoKT0+ekcpKSxtdWx0aTohMH07Y2xhc3MgekcgZXh0ZW5kcyBUR3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5pbnB1dE5hbWU9Im1heCIsdGhpcy5ub3JtYWxpemVJbnB1dD10PT5wYXJzZUZsb2F0KHQpLHRoaXMuY3JlYXRlVmFsaWRhdG9yPXQ9PklVKHQpfW5nT25DaGFuZ2VzKHQpe3RoaXMuaGFuZGxlQ2hhbmdlcyh0KX19ekcuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHpHKSkpKG58fHpHKX19KSgpLHpHLsm1ZGlyPWhvKHt0eXBlOnpHLHNlbGVjdG9yczpbWyJpbnB1dCIsInR5cGUiLCJudW1iZXIiLCJtYXgiLCIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbImlucHV0IiwidHlwZSIsIm51bWJlciIsIm1heCIsIiIsImZvcm1Db250cm9sIiwiIl0sWyJpbnB1dCIsInR5cGUiLCJudW1iZXIiLCJtYXgiLCIiLCJuZ01vZGVsIiwiIl1dLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXtpZigyJmUpe2xldCB0O3ltKCJtYXgiLG51bGwhPT0odD1uLm1heCkmJnZvaWQgMCE9PXQ/dDpudWxsKX19LGlucHV0czp7bWF4OiJtYXgifSxmZWF0dXJlczpbamgoW05HXSksUXAscW9dfSksekcucHJvcERlY29yYXRvcnM9e21heDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih6Ryxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIscHJvdmlkZXJzOltOR10saG9zdDp7IlthdHRyLm1heF0iOiJtYXggPz8gbnVsbCJ9fV19XSxudWxsLHttYXg6W3t0eXBlOlJffV19KTtjb25zdCBJRz17cHJvdmlkZTpFVSx1c2VFeGlzdGluZzokZSgoKCk9PkhHKSksbXVsdGk6ITB9O2NsYXNzIEhHIGV4dGVuZHMgVEd7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuaW5wdXROYW1lPSJtaW4iLHRoaXMubm9ybWFsaXplSW5wdXQ9dD0+cGFyc2VGbG9hdCh0KSx0aGlzLmNyZWF0ZVZhbGlkYXRvcj10PT56VSh0KX1uZ09uQ2hhbmdlcyh0KXt0aGlzLmhhbmRsZUNoYW5nZXModCl9fUhHLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShIRykpKShufHxIRyl9fSkoKSxIRy7JtWRpcj1obyh7dHlwZTpIRyxzZWxlY3RvcnM6W1siaW5wdXQiLCJ0eXBlIiwibnVtYmVyIiwibWluIiwiIiwiZm9ybUNvbnRyb2xOYW1lIiwiIl0sWyJpbnB1dCIsInR5cGUiLCJudW1iZXIiLCJtaW4iLCIiLCJmb3JtQ29udHJvbCIsIiJdLFsiaW5wdXQiLCJ0eXBlIiwibnVtYmVyIiwibWluIiwiIiwibmdNb2RlbCIsIiJdXSxob3N0VmFyczoxLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7aWYoMiZlKXtsZXQgdDt5bSgibWluIixudWxsIT09KHQ9bi5taW4pJiZ2b2lkIDAhPT10P3Q6bnVsbCl9fSxpbnB1dHM6e21pbjoibWluIn0sZmVhdHVyZXM6W2poKFtJR10pLFFwLHFvXX0pLEhHLnByb3BEZWNvcmF0b3JzPXttaW46W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSEcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLHByb3ZpZGVyczpbSUddLGhvc3Q6eyJbYXR0ci5taW5dIjoibWluID8/IG51bGwifX1dfV0sbnVsbCx7bWluOlt7dHlwZTpSX31dfSk7Y29uc3QgRkc9e3Byb3ZpZGU6RVUsdXNlRXhpc3Rpbmc6JGUoKCgpPT5CRykpLG11bHRpOiEwfSxMRz17cHJvdmlkZTpFVSx1c2VFeGlzdGluZzokZSgoKCk9PlZHKSksbXVsdGk6ITB9O2NsYXNzIEJHe2NvbnN0cnVjdG9yKCl7dGhpcy5fcmVxdWlyZWQ9ITF9Z2V0IHJlcXVpcmVkKCl7cmV0dXJuIHRoaXMuX3JlcXVpcmVkfXNldCByZXF1aXJlZCh0KXt0aGlzLl9yZXF1aXJlZD1udWxsIT10JiYhMSE9PXQmJiJmYWxzZSIhPWAke3R9YCx0aGlzLl9vbkNoYW5nZSYmdGhpcy5fb25DaGFuZ2UoKX12YWxpZGF0ZSh0KXtyZXR1cm4gdGhpcy5yZXF1aXJlZD9IVSh0KTpudWxsfXJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UodCl7dGhpcy5fb25DaGFuZ2U9dH19QkcuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEJHKX0sQkcuybVkaXI9aG8oe3R5cGU6Qkcsc2VsZWN0b3JzOltbIiIsInJlcXVpcmVkIiwiIiwiZm9ybUNvbnRyb2xOYW1lIiwiIiwzLCJ0eXBlIiwiY2hlY2tib3giXSxbIiIsInJlcXVpcmVkIiwiIiwiZm9ybUNvbnRyb2wiLCIiLDMsInR5cGUiLCJjaGVja2JveCJdLFsiIiwicmVxdWlyZWQiLCIiLCJuZ01vZGVsIiwiIiwzLCJ0eXBlIiwiY2hlY2tib3giXV0saG9zdFZhcnM6MSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmeW0oInJlcXVpcmVkIixuLnJlcXVpcmVkPyIiOm51bGwpfSxpbnB1dHM6e3JlcXVpcmVkOiJyZXF1aXJlZCJ9LGZlYXR1cmVzOltqaChbRkddKV19KSxCRy5wcm9wRGVjb3JhdG9ycz17cmVxdWlyZWQ6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQkcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLHByb3ZpZGVyczpbRkddLGhvc3Q6eyJbYXR0ci5yZXF1aXJlZF0iOidyZXF1aXJlZCA/ICIiIDogbnVsbCd9fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLHtyZXF1aXJlZDpbe3R5cGU6Ul99XX0pO2NsYXNzIFZHIGV4dGVuZHMgQkd7dmFsaWRhdGUodCl7cmV0dXJuIHRoaXMucmVxdWlyZWQ/RlUodCk6bnVsbH19VkcuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKFZHKSkpKG58fFZHKX19KSgpLFZHLsm1ZGlyPWhvKHt0eXBlOlZHLHNlbGVjdG9yczpbWyJpbnB1dCIsInR5cGUiLCJjaGVja2JveCIsInJlcXVpcmVkIiwiIiwiZm9ybUNvbnRyb2xOYW1lIiwiIl0sWyJpbnB1dCIsInR5cGUiLCJjaGVja2JveCIsInJlcXVpcmVkIiwiIiwiZm9ybUNvbnRyb2wiLCIiXSxbImlucHV0IiwidHlwZSIsImNoZWNrYm94IiwicmVxdWlyZWQiLCIiLCJuZ01vZGVsIiwiIl1dLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJnltKCJyZXF1aXJlZCIsbi5yZXF1aXJlZD8iIjpudWxsKX0sZmVhdHVyZXM6W2poKFtMR10pLFFwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVkcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiaW5wdXRbdHlwZT1jaGVja2JveF1bcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1jaGVja2JveF1bcmVxdWlyZWRdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPWNoZWNrYm94XVtyZXF1aXJlZF1bbmdNb2RlbF0iLHByb3ZpZGVyczpbTEddLGhvc3Q6eyJbYXR0ci5yZXF1aXJlZF0iOidyZXF1aXJlZCA/ICIiIDogbnVsbCd9fV19XSxudWxsLG51bGwpO2NvbnN0IGpHPXtwcm92aWRlOkVVLHVzZUV4aXN0aW5nOiRlKCgoKT0+VUcpKSxtdWx0aTohMH07Y2xhc3MgVUd7Y29uc3RydWN0b3IoKXt0aGlzLl9lbmFibGVkPSExfXNldCBlbWFpbCh0KXt0aGlzLl9lbmFibGVkPSIiPT09dHx8ITA9PT10fHwidHJ1ZSI9PT10LHRoaXMuX29uQ2hhbmdlJiZ0aGlzLl9vbkNoYW5nZSgpfXZhbGlkYXRlKHQpe3JldHVybiB0aGlzLl9lbmFibGVkP0xVKHQpOm51bGx9cmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZSh0KXt0aGlzLl9vbkNoYW5nZT10fX1VRy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8VUcpfSxVRy7JtWRpcj1obyh7dHlwZTpVRyxzZWxlY3RvcnM6W1siIiwiZW1haWwiLCIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbIiIsImVtYWlsIiwiIiwiZm9ybUNvbnRyb2wiLCIiXSxbIiIsImVtYWlsIiwiIiwibmdNb2RlbCIsIiJdXSxpbnB1dHM6e2VtYWlsOiJlbWFpbCJ9LGZlYXR1cmVzOltqaChbakddKV19KSxVRy5wcm9wRGVjb3JhdG9ycz17ZW1haWw6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVUcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2VtYWlsXVtmb3JtQ29udHJvbE5hbWVdLFtlbWFpbF1bZm9ybUNvbnRyb2xdLFtlbWFpbF1bbmdNb2RlbF0iLHByb3ZpZGVyczpbakddfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLHtlbWFpbDpbe3R5cGU6Ul99XX0pO2NvbnN0IFdHPXtwcm92aWRlOkVVLHVzZUV4aXN0aW5nOiRlKCgoKT0+R0cpKSxtdWx0aTohMH07Y2xhc3MgR0d7Y29uc3RydWN0b3IoKXt0aGlzLl92YWxpZGF0b3I9VVV9bmdPbkNoYW5nZXModCl7Im1pbmxlbmd0aCJpbiB0JiYodGhpcy5fY3JlYXRlVmFsaWRhdG9yKCksdGhpcy5fb25DaGFuZ2UmJnRoaXMuX29uQ2hhbmdlKCkpfXZhbGlkYXRlKHQpe3JldHVybiB0aGlzLmVuYWJsZWQoKT90aGlzLl92YWxpZGF0b3IodCk6bnVsbH1yZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKHQpe3RoaXMuX29uQ2hhbmdlPXR9X2NyZWF0ZVZhbGlkYXRvcigpe3RoaXMuX3ZhbGlkYXRvcj10aGlzLmVuYWJsZWQoKT9CVShBRyh0aGlzLm1pbmxlbmd0aCkpOlVVfWVuYWJsZWQoKXtyZXR1cm4gbnVsbCE9dGhpcy5taW5sZW5ndGh9fUdHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxHRyl9LEdHLsm1ZGlyPWhvKHt0eXBlOkdHLHNlbGVjdG9yczpbWyIiLCJtaW5sZW5ndGgiLCIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbIiIsIm1pbmxlbmd0aCIsIiIsImZvcm1Db250cm9sIiwiIl0sWyIiLCJtaW5sZW5ndGgiLCIiLCJuZ01vZGVsIiwiIl1dLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJnltKCJtaW5sZW5ndGgiLG4uZW5hYmxlZCgpP24ubWlubGVuZ3RoOm51bGwpfSxpbnB1dHM6e21pbmxlbmd0aDoibWlubGVuZ3RoIn0sZmVhdHVyZXM6W2poKFtXR10pLHFvXX0pLEdHLnByb3BEZWNvcmF0b3JzPXttaW5sZW5ndGg6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoR0csW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21pbmxlbmd0aF1bZm9ybUNvbnRyb2xOYW1lXSxbbWlubGVuZ3RoXVtmb3JtQ29udHJvbF0sW21pbmxlbmd0aF1bbmdNb2RlbF0iLHByb3ZpZGVyczpbV0ddLGhvc3Q6eyJbYXR0ci5taW5sZW5ndGhdIjoiZW5hYmxlZCgpID8gbWlubGVuZ3RoIDogbnVsbCJ9fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLHttaW5sZW5ndGg6W3t0eXBlOlJffV19KTtjb25zdCBZRz17cHJvdmlkZTpFVSx1c2VFeGlzdGluZzokZSgoKCk9PnFHKSksbXVsdGk6ITB9O2NsYXNzIHFHe2NvbnN0cnVjdG9yKCl7dGhpcy5fdmFsaWRhdG9yPVVVfW5nT25DaGFuZ2VzKHQpeyJtYXhsZW5ndGgiaW4gdCYmKHRoaXMuX2NyZWF0ZVZhbGlkYXRvcigpLHRoaXMuX29uQ2hhbmdlJiZ0aGlzLl9vbkNoYW5nZSgpKX12YWxpZGF0ZSh0KXtyZXR1cm4gdGhpcy5lbmFibGVkKCk/dGhpcy5fdmFsaWRhdG9yKHQpOm51bGx9cmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZSh0KXt0aGlzLl9vbkNoYW5nZT10fV9jcmVhdGVWYWxpZGF0b3IoKXt0aGlzLl92YWxpZGF0b3I9dGhpcy5lbmFibGVkKCk/VlUoQUcodGhpcy5tYXhsZW5ndGgpKTpVVX1lbmFibGVkKCl7cmV0dXJuIG51bGwhPXRoaXMubWF4bGVuZ3RofX1xRy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cUcpfSxxRy7JtWRpcj1obyh7dHlwZTpxRyxzZWxlY3RvcnM6W1siIiwibWF4bGVuZ3RoIiwiIiwiZm9ybUNvbnRyb2xOYW1lIiwiIl0sWyIiLCJtYXhsZW5ndGgiLCIiLCJmb3JtQ29udHJvbCIsIiJdLFsiIiwibWF4bGVuZ3RoIiwiIiwibmdNb2RlbCIsIiJdXSxob3N0VmFyczoxLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZ5bSgibWF4bGVuZ3RoIixuLmVuYWJsZWQoKT9uLm1heGxlbmd0aDpudWxsKX0saW5wdXRzOnttYXhsZW5ndGg6Im1heGxlbmd0aCJ9LGZlYXR1cmVzOltqaChbWUddKSxxb119KSxxRy5wcm9wRGVjb3JhdG9ycz17bWF4bGVuZ3RoOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHFHLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXhsZW5ndGhdW2Zvcm1Db250cm9sTmFtZV0sW21heGxlbmd0aF1bZm9ybUNvbnRyb2xdLFttYXhsZW5ndGhdW25nTW9kZWxdIixwcm92aWRlcnM6W1lHXSxob3N0OnsiW2F0dHIubWF4bGVuZ3RoXSI6ImVuYWJsZWQoKSA/IG1heGxlbmd0aCA6IG51bGwifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSx7bWF4bGVuZ3RoOlt7dHlwZTpSX31dfSk7Y29uc3QgWkc9e3Byb3ZpZGU6RVUsdXNlRXhpc3Rpbmc6JGUoKCgpPT5YRykpLG11bHRpOiEwfTtjbGFzcyBYR3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3ZhbGlkYXRvcj1VVX1uZ09uQ2hhbmdlcyh0KXsicGF0dGVybiJpbiB0JiYodGhpcy5fY3JlYXRlVmFsaWRhdG9yKCksdGhpcy5fb25DaGFuZ2UmJnRoaXMuX29uQ2hhbmdlKCkpfXZhbGlkYXRlKHQpe3JldHVybiB0aGlzLl92YWxpZGF0b3IodCl9cmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZSh0KXt0aGlzLl9vbkNoYW5nZT10fV9jcmVhdGVWYWxpZGF0b3IoKXt0aGlzLl92YWxpZGF0b3I9alUodGhpcy5wYXR0ZXJuKX19WEcuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFhHKX0sWEcuybVkaXI9aG8oe3R5cGU6WEcsc2VsZWN0b3JzOltbIiIsInBhdHRlcm4iLCIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbIiIsInBhdHRlcm4iLCIiLCJmb3JtQ29udHJvbCIsIiJdLFsiIiwicGF0dGVybiIsIiIsIm5nTW9kZWwiLCIiXV0saG9zdFZhcnM6MSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmeW0oInBhdHRlcm4iLG4ucGF0dGVybj9uLnBhdHRlcm46bnVsbCl9LGlucHV0czp7cGF0dGVybjoicGF0dGVybiJ9LGZlYXR1cmVzOltqaChbWkddKSxxb119KSxYRy5wcm9wRGVjb3JhdG9ycz17cGF0dGVybjpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYRyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbcGF0dGVybl1bZm9ybUNvbnRyb2xOYW1lXSxbcGF0dGVybl1bZm9ybUNvbnRyb2xdLFtwYXR0ZXJuXVtuZ01vZGVsXSIscHJvdmlkZXJzOltaR10saG9zdDp7IlthdHRyLnBhdHRlcm5dIjoicGF0dGVybiA/IHBhdHRlcm4gOiBudWxsIn19XX1dLChmdW5jdGlvbigpe3JldHVybltdfSkse3BhdHRlcm46W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IEtHPVtvRyxrRyxFRyxTVSxhRyxwRyxQVSx3RyxSRyxjRyxtVyxmVyxCRyxHRyxxRyxYRyxWRyxVRyxIRyx6R10sSkc9W25HLCRXLFhXXSxRRz1bdUcsaEcseEcseUcsQ0ddO2NsYXNzICRHe30kRy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JEcpfSwkRy7JtW1vZD1mbyh7dHlwZTokR30pLCRHLsm1aW5qPURuKHtpbXBvcnRzOltbc0ddXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJEcsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6S0csaW1wb3J0czpbc0ddLGV4cG9ydHM6S0d9XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1bygkRyx7ZGVjbGFyYXRpb25zOltvRyxrRyxFRyxTVSxhRyxwRyxQVSx3RyxSRyxjRyxtVyxmVyxCRyxHRyxxRyxYRyxWRyxVRyxIRyx6R10saW1wb3J0czpbc0ddLGV4cG9ydHM6W29HLGtHLEVHLFNVLGFHLHBHLFBVLHdHLFJHLGNHLG1XLGZXLEJHLEdHLHFHLFhHLFZHLFVHLEhHLHpHXX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgdFl7fXRZLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0WSl9LHRZLsm1bW9kPWZvKHt0eXBlOnRZfSksdFkuybVpbmo9RG4oe2ltcG9ydHM6WyRHXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodFksW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6SkcsZXhwb3J0czpbJEcsSkddfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8odFkse2RlY2xhcmF0aW9uczpbbkcsJFcsWFddLGV4cG9ydHM6WyRHLG5HLCRXLFhXXX0pO2NsYXNzIGVZe3N0YXRpYyB3aXRoQ29uZmlnKHQpe3JldHVybntuZ01vZHVsZTplWSxwcm92aWRlcnM6W3twcm92aWRlOm1HLHVzZVZhbHVlOnQud2Fybk9uTmdNb2RlbFdpdGhGb3JtQ29udHJvbH1dfX19ZVkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGVZKX0sZVkuybVtb2Q9Zm8oe3R5cGU6ZVl9KSxlWS7JtWluaj1Ebih7aW1wb3J0czpbJEddfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihlWSxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbUUddLGV4cG9ydHM6WyRHLFFHXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGVZLHtkZWNsYXJhdGlvbnM6W3VHLGhHLHhHLHlHLENHXSxleHBvcnRzOlskRyx1RyxoRyx4Ryx5RyxDR119KTtjbGFzcyBuWXtncm91cCh0LGU9bnVsbCl7Y29uc3Qgbj10aGlzLl9yZWR1Y2VDb250cm9scyh0KTtsZXQgbyxpPW51bGwsYT1udWxsO3JldHVybiBudWxsIT1lJiYoISgKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIHIodCl7cmV0dXJuIHZvaWQgMCE9PXQuYXN5bmNWYWxpZGF0b3JzfHx2b2lkIDAhPT10LnZhbGlkYXRvcnN8fHZvaWQgMCE9PXQudXBkYXRlT259KShlKT8oaT1udWxsIT1lLnZhbGlkYXRvcj9lLnZhbGlkYXRvcjpudWxsLGE9bnVsbCE9ZS5hc3luY1ZhbGlkYXRvcj9lLmFzeW5jVmFsaWRhdG9yOm51bGwpOihpPW51bGwhPWUudmFsaWRhdG9ycz9lLnZhbGlkYXRvcnM6bnVsbCxhPW51bGwhPWUuYXN5bmNWYWxpZGF0b3JzP2UuYXN5bmNWYWxpZGF0b3JzOm51bGwsbz1udWxsIT1lLnVwZGF0ZU9uP2UudXBkYXRlT246dm9pZCAwKSksbmV3IEdXKG4se2FzeW5jVmFsaWRhdG9yczphLHVwZGF0ZU9uOm8sdmFsaWRhdG9yczppfSl9Y29udHJvbCh0LGUsbil7cmV0dXJuIG5ldyBXVyh0LGUsbil9YXJyYXkodCxlLG4pe2NvbnN0IG89dC5tYXAoKHQ9PnRoaXMuX2NyZWF0ZUNvbnRyb2wodCkpKTtyZXR1cm4gbmV3IFlXKG8sZSxuKX1fcmVkdWNlQ29udHJvbHModCl7Y29uc3QgZT17fTtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaCgobj0+e2Vbbl09dGhpcy5fY3JlYXRlQ29udHJvbCh0W25dKX0pKSxlfV9jcmVhdGVDb250cm9sKHQpe2lmKHQgaW5zdGFuY2VvZiBXV3x8dCBpbnN0YW5jZW9mIEdXfHx0IGluc3RhbmNlb2YgWVcpcmV0dXJuIHQ7aWYoQXJyYXkuaXNBcnJheSh0KSl7cmV0dXJuIHRoaXMuY29udHJvbCh0WzBdLHQubGVuZ3RoPjE/dFsxXTpudWxsLHQubGVuZ3RoPjI/dFsyXTpudWxsKX1yZXR1cm4gdGhpcy5jb250cm9sKHQpfX1uWS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8blkpfSxuWS7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgbll9LHRva2VuOm5ZLHByb3ZpZGVkSW46ZVl9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG5ZLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjplWX1dfV0sbnVsbCxudWxsKSwKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCm5ldyBvYigiMTIuMi4xIik7Y29uc3Qgb1k9WyJ0cmlnZ2VyIl0saVk9WyJwYW5lbCJdO2Z1bmN0aW9uIGFZKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsOCksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksd3UodC5wbGFjZWhvbGRlcil9fWZ1bmN0aW9uIHJZKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMTIpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYygxKSx3dSh0LnRyaWdnZXJWYWx1ZSl9fWZ1bmN0aW9uIHNZKHQsZSl7MSZ0JiZGZigwLDAsWyIqbmdTd2l0Y2hDYXNlIiwidHJ1ZSJdKX1mdW5jdGlvbiBsWSh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDkpLEhtKDEsclksMiwxLCJzcGFuIiwxMCksSG0oMixzWSwxLDAsIm5nLWNvbnRlbnQiLDExKSxNZigpKSwyJnQpe2JmKCJuZ1N3aXRjaCIsISF6ZigpLmN1c3RvbVRyaWdnZXIpLERjKDIpLGJmKCJuZ1N3aXRjaENhc2UiLCEwKX19ZnVuY3Rpb24gY1kodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDEzKSxDZigxLCJkaXYiLDE0LDE1KSxSZigiQHRyYW5zZm9ybVBhbmVsLmRvbmUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLl9wYW5lbERvbmVBbmltYXRpbmdTdHJlYW0ubmV4dChuLnRvU3RhdGUpfSkpKCJrZXlkb3duIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5faGFuZGxlS2V5ZG93bihuKX0pKSxGZigzLDEpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtiZigiQHRyYW5zZm9ybVBhbmVsV3JhcCIsdm9pZCAwKSxEYygxKSxJdSgibWF0LXNlbGVjdC1wYW5lbCAiLHQuX2dldFBhbmVsVGhlbWUoKSwiIiksbHUoInRyYW5zZm9ybS1vcmlnaW4iLHQuX3RyYW5zZm9ybU9yaWdpbikoImZvbnQtc2l6ZSIsdC5fdHJpZ2dlckZvbnRTaXplLCJweCIpLGJmKCJuZ0NsYXNzIix0LnBhbmVsQ2xhc3MpKCJAdHJhbnNmb3JtUGFuZWwiLHQubXVsdGlwbGU/InNob3dpbmctbXVsdGlwbGUiOiJzaG93aW5nIikseW0oImlkIix0LmlkKyItcGFuZWwiKSgiYXJpYS1tdWx0aXNlbGVjdGFibGUiLHQubXVsdGlwbGUpKCJhcmlhLWxhYmVsIix0LmFyaWFMYWJlbHx8bnVsbCkoImFyaWEtbGFiZWxsZWRieSIsdC5fZ2V0UGFuZWxBcmlhTGFiZWxsZWRieSgpKX19Y29uc3QgZFk9W1tbIm1hdC1zZWxlY3QtdHJpZ2dlciJdXSwiKiJdLHBZPXt0cmFuc2Zvcm1QYW5lbFdyYXA6eE8oInRyYW5zZm9ybVBhbmVsV3JhcCIsW0RPKCIqID0+IHZvaWQiLEVPKCJAdHJhbnNmb3JtUGFuZWwiLFtSTygpXSx7b3B0aW9uYWw6ITB9KSldKSx0cmFuc2Zvcm1QYW5lbDp4TygidHJhbnNmb3JtUGFuZWwiLFtrTygidm9pZCIsd08oe3RyYW5zZm9ybToic2NhbGVZKDAuOCkiLG1pbldpZHRoOiIxMDAlIixvcGFjaXR5OjB9KSksa08oInNob3dpbmciLHdPKHtvcGFjaXR5OjEsbWluV2lkdGg6ImNhbGMoMTAwJSArIDMycHgpIix0cmFuc2Zvcm06InNjYWxlWSgxKSJ9KSksa08oInNob3dpbmctbXVsdGlwbGUiLHdPKHtvcGFjaXR5OjEsbWluV2lkdGg6ImNhbGMoMTAwJSArIDY0cHgpIix0cmFuc2Zvcm06InNjYWxlWSgxKSJ9KSksRE8oInZvaWQgPT4gKiIsT08oIjEyMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpIikpLERPKCIqID0+IHZvaWQiLE9PKCIxMDBtcyAyNW1zIGxpbmVhciIsd08oe29wYWNpdHk6MH0pKSldKX07Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpsZXQgbVk9MDtjb25zdCBmWT0yNTYsdVk9MTYsZ1k9bmV3IGVyKCJtYXQtc2VsZWN0LXNjcm9sbC1zdHJhdGVneSIpO2NvbnN0IGhZPW5ldyBlcigiTUFUX1NFTEVDVF9DT05GSUciKSxiWT17cHJvdmlkZTpnWSxkZXBzOltLQl0sdXNlRmFjdG9yeTpmdW5jdGlvbiB5WSh0KXtyZXR1cm4oKT0+dC5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKX19O2NsYXNzIF9Ze2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5zb3VyY2U9dCx0aGlzLnZhbHVlPWV9fWNvbnN0IENZPUhGKEZGKHpGKExGKGNsYXNze2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7dGhpcy5fZWxlbWVudFJlZj10LHRoaXMuX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcj1lLHRoaXMuX3BhcmVudEZvcm09bix0aGlzLl9wYXJlbnRGb3JtR3JvdXA9byx0aGlzLm5nQ29udHJvbD1pfX0pKSkpLE1ZPW5ldyBlcigiTWF0U2VsZWN0VHJpZ2dlciIpO2NsYXNzIHZZe312WS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dlkpfSx2WS7JtWRpcj1obyh7dHlwZTp2WSxzZWxlY3RvcnM6W1sibWF0LXNlbGVjdC10cmlnZ2VyIl1dLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6TVksdXNlRXhpc3Rpbmc6dll9XSldfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih2WSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtc2VsZWN0LXRyaWdnZXIiLHByb3ZpZGVyczpbe3Byb3ZpZGU6TVksdXNlRXhpc3Rpbmc6dll9XX1dfV0sbnVsbCxudWxsKTtjbGFzcyB4WSBleHRlbmRzIENZe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZil7dmFyIHUsZyxoO3N1cGVyKGksbyxyLHMsYyksdGhpcy5fdmlld3BvcnRSdWxlcj10LHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPWUsdGhpcy5fbmdab25lPW4sdGhpcy5fZGlyPWEsdGhpcy5fcGFyZW50Rm9ybUZpZWxkPWwsdGhpcy5fbGl2ZUFubm91bmNlcj1tLHRoaXMuX2RlZmF1bHRPcHRpb25zPWYsdGhpcy5fcGFuZWxPcGVuPSExLHRoaXMuX2NvbXBhcmVXaXRoPSh0LGUpPT50PT09ZSx0aGlzLl91aWQ9Im1hdC1zZWxlY3QtIittWSsrLHRoaXMuX3RyaWdnZXJBcmlhTGFiZWxsZWRCeT1udWxsLHRoaXMuX2Rlc3Ryb3k9bmV3IEIsdGhpcy5fb25DaGFuZ2U9KCk9Pnt9LHRoaXMuX29uVG91Y2hlZD0oKT0+e30sdGhpcy5fdmFsdWVJZD0ibWF0LXNlbGVjdC12YWx1ZS0iK21ZKyssdGhpcy5fcGFuZWxEb25lQW5pbWF0aW5nU3RyZWFtPW5ldyBCLHRoaXMuX292ZXJsYXlQYW5lbENsYXNzPShudWxsPT09KHU9dGhpcy5fZGVmYXVsdE9wdGlvbnMpfHx2b2lkIDA9PT11P3ZvaWQgMDp1Lm92ZXJsYXlQYW5lbENsYXNzKXx8IiIsdGhpcy5fZm9jdXNlZD0hMSx0aGlzLmNvbnRyb2xUeXBlPSJtYXQtc2VsZWN0Iix0aGlzLl9yZXF1aXJlZD0hMSx0aGlzLl9tdWx0aXBsZT0hMSx0aGlzLl9kaXNhYmxlT3B0aW9uQ2VudGVyaW5nPW51bGwhPT0oaD1udWxsPT09KGc9dGhpcy5fZGVmYXVsdE9wdGlvbnMpfHx2b2lkIDA9PT1nP3ZvaWQgMDpnLmRpc2FibGVPcHRpb25DZW50ZXJpbmcpJiZ2b2lkIDAhPT1oJiZoLHRoaXMuYXJpYUxhYmVsPSIiLHRoaXMub3B0aW9uU2VsZWN0aW9uQ2hhbmdlcz1vZSgoKCk9Pntjb25zdCB0PXRoaXMub3B0aW9ucztyZXR1cm4gdD90LmNoYW5nZXMucGlwZShCZSh0KSxWZSgoKCk9PnBlKC4uLnQubWFwKCh0PT50Lm9uU2VsZWN0aW9uQ2hhbmdlKSkpKSkpOnRoaXMuX25nWm9uZS5vblN0YWJsZS5waXBlKHZlKDEpLFZlKCgoKT0+dGhpcy5vcHRpb25TZWxlY3Rpb25DaGFuZ2VzKSkpfSkpLHRoaXMub3BlbmVkQ2hhbmdlPW5ldyBTeSx0aGlzLl9vcGVuZWRTdHJlYW09dGhpcy5vcGVuZWRDaGFuZ2UucGlwZSh1ZSgodD0+dCkpLFZ0KCgoKT0+e30pKSksdGhpcy5fY2xvc2VkU3RyZWFtPXRoaXMub3BlbmVkQ2hhbmdlLnBpcGUodWUoKHQ9PiF0KSksVnQoKCgpPT57fSkpKSx0aGlzLnNlbGVjdGlvbkNoYW5nZT1uZXcgU3ksdGhpcy52YWx1ZUNoYW5nZT1uZXcgU3ksdGhpcy5uZ0NvbnRyb2wmJih0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yPXRoaXMpLG51bGwhPShudWxsPT1mP3ZvaWQgMDpmLnR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwpJiYodGhpcy5fdHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbD1mLnR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwpLHRoaXMuX3Njcm9sbFN0cmF0ZWd5RmFjdG9yeT1wLHRoaXMuX3Njcm9sbFN0cmF0ZWd5PXRoaXMuX3Njcm9sbFN0cmF0ZWd5RmFjdG9yeSgpLHRoaXMudGFiSW5kZXg9cGFyc2VJbnQoZCl8fDAsdGhpcy5pZD10aGlzLmlkfWdldCBmb2N1c2VkKCl7cmV0dXJuIHRoaXMuX2ZvY3VzZWR8fHRoaXMuX3BhbmVsT3Blbn1nZXQgcGxhY2Vob2xkZXIoKXtyZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXJ9c2V0IHBsYWNlaG9sZGVyKHQpe3RoaXMuX3BsYWNlaG9sZGVyPXQsdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpfWdldCByZXF1aXJlZCgpe3JldHVybiB0aGlzLl9yZXF1aXJlZH1zZXQgcmVxdWlyZWQodCl7dGhpcy5fcmVxdWlyZWQ9ZUgodCksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpfWdldCBtdWx0aXBsZSgpe3JldHVybiB0aGlzLl9tdWx0aXBsZX1zZXQgbXVsdGlwbGUodCl7aWYodGhpcy5fc2VsZWN0aW9uTW9kZWwmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSkKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCnRocm93KGZ1bmN0aW9uIGUoKXtyZXR1cm4gRXJyb3IoIkNhbm5vdCBjaGFuZ2UgYG11bHRpcGxlYCBtb2RlIG9mIHNlbGVjdCBhZnRlciBpbml0aWFsaXphdGlvbi4iKX0pKCk7dGhpcy5fbXVsdGlwbGU9ZUgodCl9Z2V0IGRpc2FibGVPcHRpb25DZW50ZXJpbmcoKXtyZXR1cm4gdGhpcy5fZGlzYWJsZU9wdGlvbkNlbnRlcmluZ31zZXQgZGlzYWJsZU9wdGlvbkNlbnRlcmluZyh0KXt0aGlzLl9kaXNhYmxlT3B0aW9uQ2VudGVyaW5nPWVIKHQpfWdldCBjb21wYXJlV2l0aCgpe3JldHVybiB0aGlzLl9jb21wYXJlV2l0aH1zZXQgY29tcGFyZVdpdGgodCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyhmdW5jdGlvbiBlKCl7cmV0dXJuIEVycm9yKCJgY29tcGFyZVdpdGhgIG11c3QgYmUgYSBmdW5jdGlvbi4iKX0pKCk7dGhpcy5fY29tcGFyZVdpdGg9dCx0aGlzLl9zZWxlY3Rpb25Nb2RlbCYmdGhpcy5faW5pdGlhbGl6ZVNlbGVjdGlvbigpfWdldCB2YWx1ZSgpe3JldHVybiB0aGlzLl92YWx1ZX1zZXQgdmFsdWUodCl7KHQhPT10aGlzLl92YWx1ZXx8dGhpcy5fbXVsdGlwbGUmJkFycmF5LmlzQXJyYXkodCkpJiYodGhpcy5vcHRpb25zJiZ0aGlzLl9zZXRTZWxlY3Rpb25CeVZhbHVlKHQpLHRoaXMuX3ZhbHVlPXQpfWdldCB0eXBlYWhlYWREZWJvdW5jZUludGVydmFsKCl7cmV0dXJuIHRoaXMuX3R5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWx9c2V0IHR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwodCl7dGhpcy5fdHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbD1uSCh0KX1nZXQgaWQoKXtyZXR1cm4gdGhpcy5faWR9c2V0IGlkKHQpe3RoaXMuX2lkPXR8fHRoaXMuX3VpZCx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9bmdPbkluaXQoKXt0aGlzLl9zZWxlY3Rpb25Nb2RlbD1uZXcgakwodGhpcy5tdWx0aXBsZSksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpLHRoaXMuX3BhbmVsRG9uZUFuaW1hdGluZ1N0cmVhbS5waXBlKHdlKCksamUodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKCk9PnRoaXMuX3BhbmVsRG9uZUFuaW1hdGluZyh0aGlzLnBhbmVsT3BlbikpKX1uZ0FmdGVyQ29udGVudEluaXQoKXt0aGlzLl9pbml0S2V5TWFuYWdlcigpLHRoaXMuX3NlbGVjdGlvbk1vZGVsLmNoYW5nZWQucGlwZShqZSh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCh0PT57dC5hZGRlZC5mb3JFYWNoKCh0PT50LnNlbGVjdCgpKSksdC5yZW1vdmVkLmZvckVhY2goKHQ9PnQuZGVzZWxlY3QoKSkpfSkpLHRoaXMub3B0aW9ucy5jaGFuZ2VzLnBpcGUoQmUobnVsbCksamUodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9yZXNldE9wdGlvbnMoKSx0aGlzLl9pbml0aWFsaXplU2VsZWN0aW9uKCl9KSl9bmdEb0NoZWNrKCl7Y29uc3QgdD10aGlzLl9nZXRUcmlnZ2VyQXJpYUxhYmVsbGVkYnkoKTtpZih0IT09dGhpcy5fdHJpZ2dlckFyaWFMYWJlbGxlZEJ5KXtjb25zdCBlPXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDt0aGlzLl90cmlnZ2VyQXJpYUxhYmVsbGVkQnk9dCx0P2Uuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsbGVkYnkiLHQpOmUucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWxhYmVsbGVkYnkiKX10aGlzLm5nQ29udHJvbCYmdGhpcy51cGRhdGVFcnJvclN0YXRlKCl9bmdPbkNoYW5nZXModCl7dC5kaXNhYmxlZCYmdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpLHQudHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCYmdGhpcy5fa2V5TWFuYWdlciYmdGhpcy5fa2V5TWFuYWdlci53aXRoVHlwZUFoZWFkKHRoaXMuX3R5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwpfW5nT25EZXN0cm95KCl7dGhpcy5fZGVzdHJveS5uZXh0KCksdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpLHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCl9dG9nZ2xlKCl7dGhpcy5wYW5lbE9wZW4/dGhpcy5jbG9zZSgpOnRoaXMub3BlbigpfW9wZW4oKXt0aGlzLl9jYW5PcGVuKCkmJih0aGlzLl9wYW5lbE9wZW49ITAsdGhpcy5fa2V5TWFuYWdlci53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKG51bGwpLHRoaXMuX2hpZ2hsaWdodENvcnJlY3RPcHRpb24oKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSl9Y2xvc2UoKXt0aGlzLl9wYW5lbE9wZW4mJih0aGlzLl9wYW5lbE9wZW49ITEsdGhpcy5fa2V5TWFuYWdlci53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2lzUnRsKCk/InJ0bCI6Imx0ciIpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpLHRoaXMuX29uVG91Y2hlZCgpKX13cml0ZVZhbHVlKHQpe3RoaXMudmFsdWU9dH1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMuX29uQ2hhbmdlPXR9cmVnaXN0ZXJPblRvdWNoZWQodCl7dGhpcy5fb25Ub3VjaGVkPXR9c2V0RGlzYWJsZWRTdGF0ZSh0KXt0aGlzLmRpc2FibGVkPXQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpfWdldCBwYW5lbE9wZW4oKXtyZXR1cm4gdGhpcy5fcGFuZWxPcGVufWdldCBzZWxlY3RlZCgpe3JldHVybiB0aGlzLm11bHRpcGxlP3RoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkOnRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkWzBdfWdldCB0cmlnZ2VyVmFsdWUoKXtpZih0aGlzLmVtcHR5KXJldHVybiIiO2lmKHRoaXMuX211bHRpcGxlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkLm1hcCgodD0+dC52aWV3VmFsdWUpKTtyZXR1cm4gdGhpcy5faXNSdGwoKSYmdC5yZXZlcnNlKCksdC5qb2luKCIsICIpfXJldHVybiB0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZFswXS52aWV3VmFsdWV9X2lzUnRsKCl7cmV0dXJuISF0aGlzLl9kaXImJiJydGwiPT09dGhpcy5fZGlyLnZhbHVlfV9oYW5kbGVLZXlkb3duKHQpe3RoaXMuZGlzYWJsZWR8fCh0aGlzLnBhbmVsT3Blbj90aGlzLl9oYW5kbGVPcGVuS2V5ZG93bih0KTp0aGlzLl9oYW5kbGVDbG9zZWRLZXlkb3duKHQpKX1faGFuZGxlQ2xvc2VkS2V5ZG93bih0KXtjb25zdCBlPXQua2V5Q29kZSxuPWU9PT0kSXx8ZT09PVFJfHwzNz09PWV8fDM5PT09ZSxvPWU9PT1YSXx8ZT09PUpJLGk9dGhpcy5fa2V5TWFuYWdlcjtpZighaS5pc1R5cGluZygpJiZvJiYhdEgodCl8fCh0aGlzLm11bHRpcGxlfHx0LmFsdEtleSkmJm4pdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMub3BlbigpO2Vsc2UgaWYoIXRoaXMubXVsdGlwbGUpe2NvbnN0IGU9dGhpcy5zZWxlY3RlZDtpLm9uS2V5ZG93bih0KTtjb25zdCBuPXRoaXMuc2VsZWN0ZWQ7biYmZSE9PW4mJnRoaXMuX2xpdmVBbm5vdW5jZXIuYW5ub3VuY2Uobi52aWV3VmFsdWUsMWU0KX19X2hhbmRsZU9wZW5LZXlkb3duKHQpe2NvbnN0IGU9dGhpcy5fa2V5TWFuYWdlcixuPXQua2V5Q29kZSxvPW49PT0kSXx8bj09PVFJLGk9ZS5pc1R5cGluZygpO2lmKG8mJnQuYWx0S2V5KXQucHJldmVudERlZmF1bHQoKSx0aGlzLmNsb3NlKCk7ZWxzZSBpZihpfHxuIT09WEkmJm4hPT1KSXx8IWUuYWN0aXZlSXRlbXx8dEgodCkpaWYoIWkmJnRoaXMuX211bHRpcGxlJiY2NT09PW4mJnQuY3RybEtleSl7dC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGU9dGhpcy5vcHRpb25zLnNvbWUoKHQ9PiF0LmRpc2FibGVkJiYhdC5zZWxlY3RlZCkpO3RoaXMub3B0aW9ucy5mb3JFYWNoKCh0PT57dC5kaXNhYmxlZHx8KGU/dC5zZWxlY3QoKTp0LmRlc2VsZWN0KCkpfSkpfWVsc2V7Y29uc3Qgbj1lLmFjdGl2ZUl0ZW1JbmRleDtlLm9uS2V5ZG93bih0KSx0aGlzLl9tdWx0aXBsZSYmbyYmdC5zaGlmdEtleSYmZS5hY3RpdmVJdGVtJiZlLmFjdGl2ZUl0ZW1JbmRleCE9PW4mJmUuYWN0aXZlSXRlbS5fc2VsZWN0VmlhSW50ZXJhY3Rpb24oKX1lbHNlIHQucHJldmVudERlZmF1bHQoKSxlLmFjdGl2ZUl0ZW0uX3NlbGVjdFZpYUludGVyYWN0aW9uKCl9X29uRm9jdXMoKXt0aGlzLmRpc2FibGVkfHwodGhpcy5fZm9jdXNlZD0hMCx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCkpfV9vbkJsdXIoKXt0aGlzLl9mb2N1c2VkPSExLHRoaXMuZGlzYWJsZWR8fHRoaXMucGFuZWxPcGVufHwodGhpcy5fb25Ub3VjaGVkKCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpKX1fb25BdHRhY2hlZCgpe3RoaXMuX292ZXJsYXlEaXIucG9zaXRpb25DaGFuZ2UucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKSx0aGlzLl9wb3NpdGlvbmluZ1NldHRsZWQoKX0pKX1fZ2V0UGFuZWxUaGVtZSgpe3JldHVybiB0aGlzLl9wYXJlbnRGb3JtRmllbGQ/YG1hdC0ke3RoaXMuX3BhcmVudEZvcm1GaWVsZC5jb2xvcn1gOiIifWdldCBlbXB0eSgpe3JldHVybiF0aGlzLl9zZWxlY3Rpb25Nb2RlbHx8dGhpcy5fc2VsZWN0aW9uTW9kZWwuaXNFbXB0eSgpfV9pbml0aWFsaXplU2VsZWN0aW9uKCl7UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9Pnt0aGlzLl9zZXRTZWxlY3Rpb25CeVZhbHVlKHRoaXMubmdDb250cm9sP3RoaXMubmdDb250cm9sLnZhbHVlOnRoaXMuX3ZhbHVlKSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9KSl9X3NldFNlbGVjdGlvbkJ5VmFsdWUodCl7aWYodGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQuZm9yRWFjaCgodD0+dC5zZXRJbmFjdGl2ZVN0eWxlcygpKSksdGhpcy5fc2VsZWN0aW9uTW9kZWwuY2xlYXIoKSx0aGlzLm11bHRpcGxlJiZ0KXtpZighQXJyYXkuaXNBcnJheSh0KSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93KGZ1bmN0aW9uIGUoKXtyZXR1cm4gRXJyb3IoIlZhbHVlIG11c3QgYmUgYW4gYXJyYXkgaW4gbXVsdGlwbGUtc2VsZWN0aW9uIG1vZGUuIil9KSgpO3QuZm9yRWFjaCgodD0+dGhpcy5fc2VsZWN0VmFsdWUodCkpKSx0aGlzLl9zb3J0VmFsdWVzKCl9ZWxzZXtjb25zdCBlPXRoaXMuX3NlbGVjdFZhbHVlKHQpO2U/dGhpcy5fa2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGUpOnRoaXMucGFuZWxPcGVufHx0aGlzLl9rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oLTEpfXRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfV9zZWxlY3RWYWx1ZSh0KXtjb25zdCBlPXRoaXMub3B0aW9ucy5maW5kKChlPT57aWYodGhpcy5fc2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZChlKSlyZXR1cm4hMTt0cnl7cmV0dXJuIG51bGwhPWUudmFsdWUmJnRoaXMuX2NvbXBhcmVXaXRoKGUudmFsdWUsdCl9Y2F0Y2godCl7cmV0dXJuKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZjb25zb2xlLndhcm4odCksITF9fSkpO3JldHVybiBlJiZ0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3QoZSksZX1faW5pdEtleU1hbmFnZXIoKXt0aGlzLl9rZXlNYW5hZ2VyPW5ldyBGSCh0aGlzLm9wdGlvbnMpLndpdGhUeXBlQWhlYWQodGhpcy5fdHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCkud2l0aFZlcnRpY2FsT3JpZW50YXRpb24oKS53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2lzUnRsKCk/InJ0bCI6Imx0ciIpLndpdGhIb21lQW5kRW5kKCkud2l0aEFsbG93ZWRNb2RpZmllcktleXMoWyJzaGlmdEtleSJdKSx0aGlzLl9rZXlNYW5hZ2VyLnRhYk91dC5waXBlKGplKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5wYW5lbE9wZW4mJighdGhpcy5tdWx0aXBsZSYmdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtJiZ0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0uX3NlbGVjdFZpYUludGVyYWN0aW9uKCksdGhpcy5mb2N1cygpLHRoaXMuY2xvc2UoKSl9KSksdGhpcy5fa2V5TWFuYWdlci5jaGFuZ2UucGlwZShqZSh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3BhbmVsT3BlbiYmdGhpcy5wYW5lbD90aGlzLl9zY3JvbGxPcHRpb25JbnRvVmlldyh0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleHx8MCk6dGhpcy5fcGFuZWxPcGVufHx0aGlzLm11bHRpcGxlfHwhdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtfHx0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0uX3NlbGVjdFZpYUludGVyYWN0aW9uKCl9KSl9X3Jlc2V0T3B0aW9ucygpe2NvbnN0IHQ9cGUodGhpcy5vcHRpb25zLmNoYW5nZXMsdGhpcy5fZGVzdHJveSk7dGhpcy5vcHRpb25TZWxlY3Rpb25DaGFuZ2VzLnBpcGUoamUodCkpLnN1YnNjcmliZSgodD0+e3RoaXMuX29uU2VsZWN0KHQuc291cmNlLHQuaXNVc2VySW5wdXQpLHQuaXNVc2VySW5wdXQmJiF0aGlzLm11bHRpcGxlJiZ0aGlzLl9wYW5lbE9wZW4mJih0aGlzLmNsb3NlKCksdGhpcy5mb2N1cygpKX0pKSxwZSguLi50aGlzLm9wdGlvbnMubWFwKCh0PT50Ll9zdGF0ZUNoYW5nZXMpKSkucGlwZShqZSh0KSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKX0pKX1fb25TZWxlY3QodCxlKXtjb25zdCBuPXRoaXMuX3NlbGVjdGlvbk1vZGVsLmlzU2VsZWN0ZWQodCk7bnVsbCE9dC52YWx1ZXx8dGhpcy5fbXVsdGlwbGU/KG4hPT10LnNlbGVjdGVkJiYodC5zZWxlY3RlZD90aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3QodCk6dGhpcy5fc2VsZWN0aW9uTW9kZWwuZGVzZWxlY3QodCkpLGUmJnRoaXMuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSh0KSx0aGlzLm11bHRpcGxlJiYodGhpcy5fc29ydFZhbHVlcygpLGUmJnRoaXMuZm9jdXMoKSkpOih0LmRlc2VsZWN0KCksdGhpcy5fc2VsZWN0aW9uTW9kZWwuY2xlYXIoKSxudWxsIT10aGlzLnZhbHVlJiZ0aGlzLl9wcm9wYWdhdGVDaGFuZ2VzKHQudmFsdWUpKSxuIT09dGhpcy5fc2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZCh0KSYmdGhpcy5fcHJvcGFnYXRlQ2hhbmdlcygpLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKX1fc29ydFZhbHVlcygpe2lmKHRoaXMubXVsdGlwbGUpe2NvbnN0IHQ9dGhpcy5vcHRpb25zLnRvQXJyYXkoKTt0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zb3J0KCgoZSxuKT0+dGhpcy5zb3J0Q29tcGFyYXRvcj90aGlzLnNvcnRDb21wYXJhdG9yKGUsbix0KTp0LmluZGV4T2YoZSktdC5pbmRleE9mKG4pKSksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpfX1fcHJvcGFnYXRlQ2hhbmdlcyh0KXtsZXQgZT1udWxsO2U9dGhpcy5tdWx0aXBsZT90aGlzLnNlbGVjdGVkLm1hcCgodD0+dC52YWx1ZSkpOnRoaXMuc2VsZWN0ZWQ/dGhpcy5zZWxlY3RlZC52YWx1ZTp0LHRoaXMuX3ZhbHVlPWUsdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGUpLHRoaXMuX29uQ2hhbmdlKGUpLHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5fZ2V0Q2hhbmdlRXZlbnQoZSkpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfV9oaWdobGlnaHRDb3JyZWN0T3B0aW9uKCl7dGhpcy5fa2V5TWFuYWdlciYmKHRoaXMuZW1wdHk/dGhpcy5fa2V5TWFuYWdlci5zZXRGaXJzdEl0ZW1BY3RpdmUoKTp0aGlzLl9rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0odGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWRbMF0pKX1fY2FuT3Blbigpe3ZhciB0O3JldHVybiF0aGlzLl9wYW5lbE9wZW4mJiF0aGlzLmRpc2FibGVkJiYobnVsbD09PSh0PXRoaXMub3B0aW9ucyl8fHZvaWQgMD09PXQ/dm9pZCAwOnQubGVuZ3RoKT4wfWZvY3VzKHQpe3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cyh0KX1fZ2V0UGFuZWxBcmlhTGFiZWxsZWRieSgpe3ZhciB0O2lmKHRoaXMuYXJpYUxhYmVsKXJldHVybiBudWxsO2NvbnN0IGU9bnVsbD09PSh0PXRoaXMuX3BhcmVudEZvcm1GaWVsZCl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuZ2V0TGFiZWxJZCgpO3JldHVybiB0aGlzLmFyaWFMYWJlbGxlZGJ5PyhlP2UrIiAiOiIiKSt0aGlzLmFyaWFMYWJlbGxlZGJ5OmV9X2dldEFyaWFBY3RpdmVEZXNjZW5kYW50KCl7cmV0dXJuIHRoaXMucGFuZWxPcGVuJiZ0aGlzLl9rZXlNYW5hZ2VyJiZ0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/dGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtLmlkOm51bGx9X2dldFRyaWdnZXJBcmlhTGFiZWxsZWRieSgpe3ZhciB0O2lmKHRoaXMuYXJpYUxhYmVsKXJldHVybiBudWxsO2NvbnN0IGU9bnVsbD09PSh0PXRoaXMuX3BhcmVudEZvcm1GaWVsZCl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuZ2V0TGFiZWxJZCgpO2xldCBuPShlP2UrIiAiOiIiKSt0aGlzLl92YWx1ZUlkO3JldHVybiB0aGlzLmFyaWFMYWJlbGxlZGJ5JiYobis9IiAiK3RoaXMuYXJpYUxhYmVsbGVkYnkpLG59X3BhbmVsRG9uZUFuaW1hdGluZyh0KXt0aGlzLm9wZW5lZENoYW5nZS5lbWl0KHQpfXNldERlc2NyaWJlZEJ5SWRzKHQpe3RoaXMuX2FyaWFEZXNjcmliZWRieT10LmpvaW4oIiAiKX1vbkNvbnRhaW5lckNsaWNrKCl7dGhpcy5mb2N1cygpLHRoaXMub3BlbigpfWdldCBzaG91bGRMYWJlbEZsb2F0KCl7cmV0dXJuIHRoaXMuX3BhbmVsT3Blbnx8IXRoaXMuZW1wdHl8fHRoaXMuX2ZvY3VzZWQmJiEhdGhpcy5fcGxhY2Vob2xkZXJ9fXhZLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4WSkoZ2YoUUwpLGdmKE9iKSxnZihtQyksZ2YobkwpLGdmKEtoKSxnZih2Riw4KSxnZihYVyw4KSxnZihoRyw4KSxnZih5VSw4KSxnZihsVywxMCksR2EoInRhYmluZGV4IiksZ2YoZ1kpLGdmKGNGKSxnZihoWSw4KSl9LHhZLsm1ZGlyPWhvKHt0eXBlOnhZLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoVnkob1ksNSksVnkoaVksNSksVnkodFYsNSkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4udHJpZ2dlcj10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5wYW5lbD10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5fb3ZlcmxheURpcj10LmZpcnN0KX19LGlucHV0czp7YXJpYUxhYmVsOlsiYXJpYS1sYWJlbCIsImFyaWFMYWJlbCJdLGlkOiJpZCIscGxhY2Vob2xkZXI6InBsYWNlaG9sZGVyIixyZXF1aXJlZDoicmVxdWlyZWQiLG11bHRpcGxlOiJtdWx0aXBsZSIsZGlzYWJsZU9wdGlvbkNlbnRlcmluZzoiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsY29tcGFyZVdpdGg6ImNvbXBhcmVXaXRoIix2YWx1ZToidmFsdWUiLHR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWw6InR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLHBhbmVsQ2xhc3M6InBhbmVsQ2xhc3MiLGFyaWFMYWJlbGxlZGJ5OlsiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYUxhYmVsbGVkYnkiXSxlcnJvclN0YXRlTWF0Y2hlcjoiZXJyb3JTdGF0ZU1hdGNoZXIiLHNvcnRDb21wYXJhdG9yOiJzb3J0Q29tcGFyYXRvciJ9LG91dHB1dHM6e29wZW5lZENoYW5nZToib3BlbmVkQ2hhbmdlIixfb3BlbmVkU3RyZWFtOiJvcGVuZWQiLF9jbG9zZWRTdHJlYW06ImNsb3NlZCIsc2VsZWN0aW9uQ2hhbmdlOiJzZWxlY3Rpb25DaGFuZ2UiLHZhbHVlQ2hhbmdlOiJ2YWx1ZUNoYW5nZSJ9LGZlYXR1cmVzOltRcCxxb119KSx4WS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlFMfSx7dHlwZTpPYn0se3R5cGU6bUN9LHt0eXBlOm5MfSx7dHlwZTpLaH0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6WFcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6aEcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6X1UsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3lVXX1dfSx7dHlwZTpsVyxkZWNvcmF0b3JzOlt7dHlwZTpWcn0se3R5cGU6QnJ9XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJ0YWJpbmRleCJdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltnWV19XX0se3R5cGU6Y0Z9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbaFldfV19XSx4WS5wcm9wRGVjb3JhdG9ycz17dHJpZ2dlcjpbe3R5cGU6YXIsYXJnczpbInRyaWdnZXIiXX1dLHBhbmVsOlt7dHlwZTphcixhcmdzOlsicGFuZWwiXX1dLF9vdmVybGF5RGlyOlt7dHlwZTphcixhcmdzOlt0Vl19XSxwYW5lbENsYXNzOlt7dHlwZTpSX31dLHBsYWNlaG9sZGVyOlt7dHlwZTpSX31dLHJlcXVpcmVkOlt7dHlwZTpSX31dLG11bHRpcGxlOlt7dHlwZTpSX31dLGRpc2FibGVPcHRpb25DZW50ZXJpbmc6W3t0eXBlOlJffV0sY29tcGFyZVdpdGg6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV0sYXJpYUxhYmVsOlt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbCJdfV0sYXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dLGVycm9yU3RhdGVNYXRjaGVyOlt7dHlwZTpSX31dLHR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWw6W3t0eXBlOlJffV0sc29ydENvbXBhcmF0b3I6W3t0eXBlOlJffV0saWQ6W3t0eXBlOlJffV0sb3BlbmVkQ2hhbmdlOlt7dHlwZTpFX31dLF9vcGVuZWRTdHJlYW06W3t0eXBlOkVfLGFyZ3M6WyJvcGVuZWQiXX1dLF9jbG9zZWRTdHJlYW06W3t0eXBlOkVfLGFyZ3M6WyJjbG9zZWQiXX1dLHNlbGVjdGlvbkNoYW5nZTpbe3R5cGU6RV99XSx2YWx1ZUNoYW5nZTpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4WSxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UUx9LHt0eXBlOk9ifSx7dHlwZTptQ30se3R5cGU6bkx9LHt0eXBlOktofSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpYVyxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpoRyxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpfVSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbeVVdfV19LHt0eXBlOmxXLGRlY29yYXRvcnM6W3t0eXBlOlZyfSx7dHlwZTpCcn1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbInRhYmluZGV4Il19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2dZXX1dfSx7dHlwZTpjRn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltoWV19XX1dfSkse2FyaWFMYWJlbDpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWwiXX1dLG9wZW5lZENoYW5nZTpbe3R5cGU6RV99XSxfb3BlbmVkU3RyZWFtOlt7dHlwZTpFXyxhcmdzOlsib3BlbmVkIl19XSxfY2xvc2VkU3RyZWFtOlt7dHlwZTpFXyxhcmdzOlsiY2xvc2VkIl19XSxzZWxlY3Rpb25DaGFuZ2U6W3t0eXBlOkVffV0sdmFsdWVDaGFuZ2U6W3t0eXBlOkVffV0saWQ6W3t0eXBlOlJffV0scGxhY2Vob2xkZXI6W3t0eXBlOlJffV0scmVxdWlyZWQ6W3t0eXBlOlJffV0sbXVsdGlwbGU6W3t0eXBlOlJffV0sZGlzYWJsZU9wdGlvbkNlbnRlcmluZzpbe3R5cGU6Ul99XSxjb21wYXJlV2l0aDpbe3R5cGU6Ul99XSx2YWx1ZTpbe3R5cGU6Ul99XSx0eXBlYWhlYWREZWJvdW5jZUludGVydmFsOlt7dHlwZTpSX31dLHRyaWdnZXI6W3t0eXBlOmFyLGFyZ3M6WyJ0cmlnZ2VyIl19XSxwYW5lbDpbe3R5cGU6YXIsYXJnczpbInBhbmVsIl19XSxfb3ZlcmxheURpcjpbe3R5cGU6YXIsYXJnczpbdFZdfV0scGFuZWxDbGFzczpbe3R5cGU6Ul99XSxhcmlhTGFiZWxsZWRieTpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWxsZWRieSJdfV0sZXJyb3JTdGF0ZU1hdGNoZXI6W3t0eXBlOlJffV0sc29ydENvbXBhcmF0b3I6W3t0eXBlOlJffV19KTtjbGFzcyBPWSBleHRlbmRzIHhZe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9zY3JvbGxUb3A9MCx0aGlzLl90cmlnZ2VyRm9udFNpemU9MCx0aGlzLl90cmFuc2Zvcm1PcmlnaW49InRvcCIsdGhpcy5fb2Zmc2V0WT0wLHRoaXMuX3Bvc2l0aW9ucz1be29yaWdpblg6InN0YXJ0IixvcmlnaW5ZOiJ0b3AiLG92ZXJsYXlYOiJzdGFydCIsb3ZlcmxheVk6InRvcCJ9LHtvcmlnaW5YOiJzdGFydCIsb3JpZ2luWToiYm90dG9tIixvdmVybGF5WDoic3RhcnQiLG92ZXJsYXlZOiJib3R0b20ifV19X2NhbGN1bGF0ZU92ZXJsYXlTY3JvbGwodCxlLG4pe2NvbnN0IG89dGhpcy5fZ2V0SXRlbUhlaWdodCgpO3JldHVybiBNYXRoLm1pbihNYXRoLm1heCgwLG8qdC1lK28vMiksbil9bmdPbkluaXQoKXtzdXBlci5uZ09uSW5pdCgpLHRoaXMuX3ZpZXdwb3J0UnVsZXIuY2hhbmdlKCkucGlwZShqZSh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMucGFuZWxPcGVuJiYodGhpcy5fdHJpZ2dlclJlY3Q9dGhpcy50cmlnZ2VyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpfSkpfW9wZW4oKXtzdXBlci5fY2FuT3BlbigpJiYoc3VwZXIub3BlbigpLHRoaXMuX3RyaWdnZXJSZWN0PXRoaXMudHJpZ2dlci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHRoaXMuX3RyaWdnZXJGb250U2l6ZT1wYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHRoaXMudHJpZ2dlci5uYXRpdmVFbGVtZW50KS5mb250U2l6ZXx8IjAiKSx0aGlzLl9jYWxjdWxhdGVPdmVybGF5UG9zaXRpb24oKSx0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3RyaWdnZXJGb250U2l6ZSYmdGhpcy5fb3ZlcmxheURpci5vdmVybGF5UmVmJiZ0aGlzLl9vdmVybGF5RGlyLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQmJih0aGlzLl9vdmVybGF5RGlyLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuc3R5bGUuZm9udFNpemU9YCR7dGhpcy5fdHJpZ2dlckZvbnRTaXplfXB4YCl9KSkpfV9zY3JvbGxPcHRpb25JbnRvVmlldyh0KXtjb25zdCBlPXdMKHQsdGhpcy5vcHRpb25zLHRoaXMub3B0aW9uR3JvdXBzKSxuPXRoaXMuX2dldEl0ZW1IZWlnaHQoKTt0aGlzLnBhbmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wPTA9PT10JiYxPT09ZT8wOmtMKCh0K2UpKm4sbix0aGlzLnBhbmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wLGZZKX1fcG9zaXRpb25pbmdTZXR0bGVkKCl7dGhpcy5fY2FsY3VsYXRlT3ZlcmxheU9mZnNldFgoKSx0aGlzLnBhbmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wPXRoaXMuX3Njcm9sbFRvcH1fcGFuZWxEb25lQW5pbWF0aW5nKHQpe3RoaXMucGFuZWxPcGVuP3RoaXMuX3Njcm9sbFRvcD0wOih0aGlzLl9vdmVybGF5RGlyLm9mZnNldFg9MCx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSksc3VwZXIuX3BhbmVsRG9uZUFuaW1hdGluZyh0KX1fZ2V0Q2hhbmdlRXZlbnQodCl7cmV0dXJuIG5ldyBfWSh0aGlzLHQpfV9jYWxjdWxhdGVPdmVybGF5T2Zmc2V0WCgpe2NvbnN0IHQ9dGhpcy5fb3ZlcmxheURpci5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGU9dGhpcy5fdmlld3BvcnRSdWxlci5nZXRWaWV3cG9ydFNpemUoKSxuPXRoaXMuX2lzUnRsKCksbz10aGlzLm11bHRpcGxlPzU2OjMyO2xldCBpO2lmKHRoaXMubXVsdGlwbGUpaT00MDtlbHNlIGlmKHRoaXMuZGlzYWJsZU9wdGlvbkNlbnRlcmluZylpPXVZO2Vsc2V7bGV0IHQ9dGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWRbMF18fHRoaXMub3B0aW9ucy5maXJzdDtpPXQmJnQuZ3JvdXA/MzI6dVl9bnx8KGkqPS0xKTtjb25zdCBhPTAtKHQubGVmdCtpLShuP286MCkpLHI9dC5yaWdodCtpLWUud2lkdGgrKG4/MDpvKTthPjA/aSs9YSs4OnI+MCYmKGktPXIrOCksdGhpcy5fb3ZlcmxheURpci5vZmZzZXRYPU1hdGgucm91bmQoaSksdGhpcy5fb3ZlcmxheURpci5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCl9X2NhbGN1bGF0ZU92ZXJsYXlPZmZzZXRZKHQsZSxuKXtjb25zdCBvPXRoaXMuX2dldEl0ZW1IZWlnaHQoKSxpPShvLXRoaXMuX3RyaWdnZXJSZWN0LmhlaWdodCkvMixhPU1hdGguZmxvb3IoZlkvbyk7bGV0IHI7aWYodGhpcy5kaXNhYmxlT3B0aW9uQ2VudGVyaW5nKXJldHVybiAwO2lmKDA9PT10aGlzLl9zY3JvbGxUb3Apcj10Km87ZWxzZSBpZih0aGlzLl9zY3JvbGxUb3A9PT1uKXtyPSh0LSh0aGlzLl9nZXRJdGVtQ291bnQoKS1hKSkqbysoby0odGhpcy5fZ2V0SXRlbUNvdW50KCkqby1mWSklbyl9ZWxzZSByPWUtby8yO3JldHVybiBNYXRoLnJvdW5kKC0xKnItaSl9X2NoZWNrT3ZlcmxheVdpdGhpblZpZXdwb3J0KHQpe2NvbnN0IGU9dGhpcy5fZ2V0SXRlbUhlaWdodCgpLG49dGhpcy5fdmlld3BvcnRSdWxlci5nZXRWaWV3cG9ydFNpemUoKSxvPXRoaXMuX3RyaWdnZXJSZWN0LnRvcC04LGk9bi5oZWlnaHQtdGhpcy5fdHJpZ2dlclJlY3QuYm90dG9tLTgsYT1NYXRoLmFicyh0aGlzLl9vZmZzZXRZKSxyPU1hdGgubWluKHRoaXMuX2dldEl0ZW1Db3VudCgpKmUsZlkpLWEtdGhpcy5fdHJpZ2dlclJlY3QuaGVpZ2h0O3I+aT90aGlzLl9hZGp1c3RQYW5lbFVwKHIsaSk6YT5vP3RoaXMuX2FkanVzdFBhbmVsRG93bihhLG8sdCk6dGhpcy5fdHJhbnNmb3JtT3JpZ2luPXRoaXMuX2dldE9yaWdpbkJhc2VkT25PcHRpb24oKX1fYWRqdXN0UGFuZWxVcCh0LGUpe2NvbnN0IG49TWF0aC5yb3VuZCh0LWUpO3RoaXMuX3Njcm9sbFRvcC09bix0aGlzLl9vZmZzZXRZLT1uLHRoaXMuX3RyYW5zZm9ybU9yaWdpbj10aGlzLl9nZXRPcmlnaW5CYXNlZE9uT3B0aW9uKCksdGhpcy5fc2Nyb2xsVG9wPD0wJiYodGhpcy5fc2Nyb2xsVG9wPTAsdGhpcy5fb2Zmc2V0WT0wLHRoaXMuX3RyYW5zZm9ybU9yaWdpbj0iNTAlIGJvdHRvbSAwcHgiKX1fYWRqdXN0UGFuZWxEb3duKHQsZSxuKXtjb25zdCBvPU1hdGgucm91bmQodC1lKTtpZih0aGlzLl9zY3JvbGxUb3ArPW8sdGhpcy5fb2Zmc2V0WSs9byx0aGlzLl90cmFuc2Zvcm1PcmlnaW49dGhpcy5fZ2V0T3JpZ2luQmFzZWRPbk9wdGlvbigpLHRoaXMuX3Njcm9sbFRvcD49bilyZXR1cm4gdGhpcy5fc2Nyb2xsVG9wPW4sdGhpcy5fb2Zmc2V0WT0wLHZvaWQodGhpcy5fdHJhbnNmb3JtT3JpZ2luPSI1MCUgdG9wIDBweCIpfV9jYWxjdWxhdGVPdmVybGF5UG9zaXRpb24oKXtjb25zdCB0PXRoaXMuX2dldEl0ZW1IZWlnaHQoKSxlPXRoaXMuX2dldEl0ZW1Db3VudCgpLG49TWF0aC5taW4oZSp0LGZZKSxvPWUqdC1uO2xldCBpO2k9dGhpcy5lbXB0eT8wOk1hdGgubWF4KHRoaXMub3B0aW9ucy50b0FycmF5KCkuaW5kZXhPZih0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZFswXSksMCksaSs9d0woaSx0aGlzLm9wdGlvbnMsdGhpcy5vcHRpb25Hcm91cHMpO2NvbnN0IGE9bi8yO3RoaXMuX3Njcm9sbFRvcD10aGlzLl9jYWxjdWxhdGVPdmVybGF5U2Nyb2xsKGksYSxvKSx0aGlzLl9vZmZzZXRZPXRoaXMuX2NhbGN1bGF0ZU92ZXJsYXlPZmZzZXRZKGksYSxvKSx0aGlzLl9jaGVja092ZXJsYXlXaXRoaW5WaWV3cG9ydChvKX1fZ2V0T3JpZ2luQmFzZWRPbk9wdGlvbigpe2NvbnN0IHQ9dGhpcy5fZ2V0SXRlbUhlaWdodCgpLGU9KHQtdGhpcy5fdHJpZ2dlclJlY3QuaGVpZ2h0KS8yO3JldHVybmA1MCUgJHtNYXRoLmFicyh0aGlzLl9vZmZzZXRZKS1lK3QvMn1weCAwcHhgfV9nZXRJdGVtSGVpZ2h0KCl7cmV0dXJuIDMqdGhpcy5fdHJpZ2dlckZvbnRTaXplfV9nZXRJdGVtQ291bnQoKXtyZXR1cm4gdGhpcy5vcHRpb25zLmxlbmd0aCt0aGlzLm9wdGlvbkdyb3Vwcy5sZW5ndGh9fU9ZLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShPWSkpKShufHxPWSl9fSkoKSxPWS7JtWNtcD1zbyh7dHlwZTpPWSxzZWxlY3RvcnM6W1sibWF0LXNlbGVjdCJdXSxjb250ZW50UXVlcmllczpmdW5jdGlvbiB0KGUsbixvKXtpZigxJmUmJihqeShvLE1ZLDUpLGp5KG8sUEwsNSksankobyxDTCw1KSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5jdXN0b21UcmlnZ2VyPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLm9wdGlvbnM9dCksQnkodD1VeSgpKSYmKG4ub3B0aW9uR3JvdXBzPXQpfX0saG9zdEF0dHJzOlsicm9sZSIsImNvbWJvYm94IiwiYXJpYS1hdXRvY29tcGxldGUiLCJub25lIiwiYXJpYS1oYXNwb3B1cCIsInRydWUiLDEsIm1hdC1zZWxlY3QiXSxob3N0VmFyczoyMCxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9oYW5kbGVLZXlkb3duKGUpfSkpKCJmb2N1cyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fb25Gb2N1cygpfSkpKCJibHVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9vbkJsdXIoKX0pKSwyJmUmJih5bSgiaWQiLG4uaWQpKCJ0YWJpbmRleCIsbi50YWJJbmRleCkoImFyaWEtY29udHJvbHMiLG4ucGFuZWxPcGVuP24uaWQrIi1wYW5lbCI6bnVsbCkoImFyaWEtZXhwYW5kZWQiLG4ucGFuZWxPcGVuKSgiYXJpYS1sYWJlbCIsbi5hcmlhTGFiZWx8fG51bGwpKCJhcmlhLXJlcXVpcmVkIixuLnJlcXVpcmVkLnRvU3RyaW5nKCkpKCJhcmlhLWRpc2FibGVkIixuLmRpc2FibGVkLnRvU3RyaW5nKCkpKCJhcmlhLWludmFsaWQiLG4uZXJyb3JTdGF0ZSkoImFyaWEtZGVzY3JpYmVkYnkiLG4uX2FyaWFEZXNjcmliZWRieXx8bnVsbCkoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsbi5fZ2V0QXJpYUFjdGl2ZURlc2NlbmRhbnQoKSksY3UoIm1hdC1zZWxlY3QtZGlzYWJsZWQiLG4uZGlzYWJsZWQpKCJtYXQtc2VsZWN0LWludmFsaWQiLG4uZXJyb3JTdGF0ZSkoIm1hdC1zZWxlY3QtcmVxdWlyZWQiLG4ucmVxdWlyZWQpKCJtYXQtc2VsZWN0LWVtcHR5IixuLmVtcHR5KSgibWF0LXNlbGVjdC1tdWx0aXBsZSIsbi5tdWx0aXBsZSkpfSxpbnB1dHM6e2Rpc2FibGVkOiJkaXNhYmxlZCIsZGlzYWJsZVJpcHBsZToiZGlzYWJsZVJpcHBsZSIsdGFiSW5kZXg6InRhYkluZGV4In0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXSxmZWF0dXJlczpbamgoW3twcm92aWRlOmlVLHVzZUV4aXN0aW5nOk9ZfSx7cHJvdmlkZTpoTCx1c2VFeGlzdGluZzpPWX1dKSxRcF0sbmdDb250ZW50U2VsZWN0b3JzOlsibWF0LXNlbGVjdC10cmlnZ2VyIiwiKiJdLGRlY2xzOjksdmFyczoxMixjb25zdHM6W1siY2RrLW92ZXJsYXktb3JpZ2luIiwiIiwxLCJtYXQtc2VsZWN0LXRyaWdnZXIiLDMsImNsaWNrIl0sWyJvcmlnaW4iLCJjZGtPdmVybGF5T3JpZ2luIiwidHJpZ2dlciIsIiJdLFsxLCJtYXQtc2VsZWN0LXZhbHVlIiwzLCJuZ1N3aXRjaCJdLFsiY2xhc3MiLCJtYXQtc2VsZWN0LXBsYWNlaG9sZGVyIG1hdC1zZWxlY3QtbWluLWxpbmUiLDQsIm5nU3dpdGNoQ2FzZSJdLFsiY2xhc3MiLCJtYXQtc2VsZWN0LXZhbHVlLXRleHQiLDMsIm5nU3dpdGNoIiw0LCJuZ1N3aXRjaENhc2UiXSxbMSwibWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyIl0sWzEsIm1hdC1zZWxlY3QtYXJyb3ciXSxbImNkay1jb25uZWN0ZWQtb3ZlcmxheSIsIiIsImNka0Nvbm5lY3RlZE92ZXJsYXlMb2NrUG9zaXRpb24iLCIiLCJjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3AiLCIiLCJjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcyIsImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wIiwzLCJjZGtDb25uZWN0ZWRPdmVybGF5UGFuZWxDbGFzcyIsImNka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneSIsImNka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW4iLCJjZGtDb25uZWN0ZWRPdmVybGF5T3BlbiIsImNka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnMiLCJjZGtDb25uZWN0ZWRPdmVybGF5TWluV2lkdGgiLCJjZGtDb25uZWN0ZWRPdmVybGF5T2Zmc2V0WSIsImJhY2tkcm9wQ2xpY2siLCJhdHRhY2giLCJkZXRhY2giXSxbMSwibWF0LXNlbGVjdC1wbGFjZWhvbGRlciIsIm1hdC1zZWxlY3QtbWluLWxpbmUiXSxbMSwibWF0LXNlbGVjdC12YWx1ZS10ZXh0IiwzLCJuZ1N3aXRjaCJdLFsiY2xhc3MiLCJtYXQtc2VsZWN0LW1pbi1saW5lIiw0LCJuZ1N3aXRjaERlZmF1bHQiXSxbNCwibmdTd2l0Y2hDYXNlIl0sWzEsIm1hdC1zZWxlY3QtbWluLWxpbmUiXSxbMSwibWF0LXNlbGVjdC1wYW5lbC13cmFwIl0sWyJyb2xlIiwibGlzdGJveCIsInRhYmluZGV4IiwiLTEiLDMsIm5nQ2xhc3MiLCJrZXlkb3duIl0sWyJwYW5lbCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoSGYoZFkpLENmKDAsImRpdiIsMCwxKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4udG9nZ2xlKCl9KSksQ2YoMywiZGl2IiwyKSxIbSg0LGFZLDIsMSwic3BhbiIsMyksSG0oNSxsWSwzLDIsInNwYW4iLDQpLE1mKCksQ2YoNiwiZGl2Iiw1KSx2Zig3LCJkaXYiLDYpLE1mKCksTWYoKSxIbSg4LGNZLDQsMTQsIm5nLXRlbXBsYXRlIiw3KSxSZigiYmFja2Ryb3BDbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5jbG9zZSgpfSkpKCJhdHRhY2giLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX29uQXR0YWNoZWQoKX0pKSgiZGV0YWNoIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLmNsb3NlKCl9KSkpLDImZSl7Y29uc3QgdD1GbSgxKTt5bSgiYXJpYS1vd25zIixuLnBhbmVsT3Blbj9uLmlkKyItcGFuZWwiOm51bGwpLERjKDMpLGJmKCJuZ1N3aXRjaCIsbi5lbXB0eSkseW0oImlkIixuLl92YWx1ZUlkKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIiwhMCksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsITEpLERjKDMpLGJmKCJjZGtDb25uZWN0ZWRPdmVybGF5UGFuZWxDbGFzcyIsbi5fb3ZlcmxheVBhbmVsQ2xhc3MpKCJjZGtDb25uZWN0ZWRPdmVybGF5U2Nyb2xsU3RyYXRlZ3kiLG4uX3Njcm9sbFN0cmF0ZWd5KSgiY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbiIsdCkoImNka0Nvbm5lY3RlZE92ZXJsYXlPcGVuIixuLnBhbmVsT3BlbikoImNka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnMiLG4uX3Bvc2l0aW9ucykoImNka0Nvbm5lY3RlZE92ZXJsYXlNaW5XaWR0aCIsbnVsbD09bi5fdHJpZ2dlclJlY3Q/bnVsbDpuLl90cmlnZ2VyUmVjdC53aWR0aCkoImNka0Nvbm5lY3RlZE92ZXJsYXlPZmZzZXRZIixuLl9vZmZzZXRZKX19LGRpcmVjdGl2ZXM6WyRCLER2LFJ2LHRWLEV2LEN2XSxzdHlsZXM6WycubWF0LXNlbGVjdHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMDAlO291dGxpbmU6bm9uZX0ubWF0LXNlbGVjdC10cmlnZ2Vye2Rpc3BsYXk6aW5saW5lLXRhYmxlO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LXNlbGVjdC1kaXNhYmxlZCAubWF0LXNlbGVjdC10cmlnZ2Vyey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6ZGVmYXVsdH0ubWF0LXNlbGVjdC12YWx1ZXtkaXNwbGF5OnRhYmxlLWNlbGw7bWF4LXdpZHRoOjA7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lm1hdC1zZWxlY3QtdmFsdWUtdGV4dHt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTI1JSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWZvcm0tZmllbGQtaGFzLWxhYmVsIC5tYXQtc2VsZWN0Om5vdCgubWF0LXNlbGVjdC1lbXB0eSkgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWVtcHR5IC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXJ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1lbXB0eSAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVye3RyYW5zaXRpb246bm9uZX0ubWF0LXNlbGVjdC1hcnJvd3t3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO21hcmdpbjowIDRweH0ubWF0LXNlbGVjdC1wYW5lbC13cmFwe2ZsZXgtYmFzaXM6MTAwJX0ubWF0LXNlbGVjdC1wYW5lbHttaW4td2lkdGg6MTEycHg7bWF4LXdpZHRoOjI4MHB4O292ZXJmbG93OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO21heC1oZWlnaHQ6MjU2cHg7bWluLXdpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo0cHg7b3V0bGluZTowfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zZWxlY3QtcGFuZWx7b3V0bGluZTpzb2xpZCAxcHh9Lm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRncm91cC1sYWJlbCwubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbntmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDozZW07aGVpZ2h0OjNlbX0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtc2VsZWN0Om5vdCgubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC5tYXQtZm9ybS1maWVsZC1mbGV4e2N1cnNvcjpwb2ludGVyfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1zZWxlY3QgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3dpZHRoOmNhbGMoMTAwJSAtIDE4cHgpfS5tYXQtc2VsZWN0LXBsYWNlaG9sZGVye3RyYW5zaXRpb246Y29sb3IgNDAwbXMgMTMzLjMzMzMzMzMzMzNtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zZWxlY3QtcGxhY2Vob2xkZXJ7dHJhbnNpdGlvbjpub25lfS5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtc2VsZWN0LXBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246bm9uZTtkaXNwbGF5OmJsb2NrfS5tYXQtc2VsZWN0LW1pbi1saW5lOmVtcHR5OjpiZWZvcmV7Y29udGVudDoiICI7d2hpdGUtc3BhY2U6cHJlO3dpZHRoOjFweDtkaXNwbGF5OmlubGluZS1ibG9jaztvcGFjaXR5OjB9XG4nXSxlbmNhcHN1bGF0aW9uOjIsZGF0YTp7YW5pbWF0aW9uOltwWS50cmFuc2Zvcm1QYW5lbFdyYXAscFkudHJhbnNmb3JtUGFuZWxdfSxjaGFuZ2VEZXRlY3Rpb246MH0pLE9ZLnByb3BEZWNvcmF0b3JzPXtvcHRpb25zOlt7dHlwZTpvcixhcmdzOltQTCx7ZGVzY2VuZGFudHM6ITB9XX1dLG9wdGlvbkdyb3Vwczpbe3R5cGU6b3IsYXJnczpbQ0wse2Rlc2NlbmRhbnRzOiEwfV19XSxjdXN0b21UcmlnZ2VyOlt7dHlwZTppcixhcmdzOltNWV19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPWSxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtc2VsZWN0IixleHBvcnRBczoibWF0U2VsZWN0Iix0ZW1wbGF0ZTonXHgzYyEtLVxuIE5vdGUgdGhhdCB0aGUgc2VsZWN0IHRyaWdnZXIgZWxlbWVudCBzcGVjaWZpZXMgYGFyaWEtb3duc2AgcG9pbnRpbmcgdG8gdGhlIGxpc3Rib3ggb3ZlcmxheS5cbiBXaGlsZSBhcmlhLW93bnMgaXMgbm90IHJlcXVpcmVkIGZvciB0aGUgQVJJQSAxLjIgYHJvbGU9ImNvbWJvYm94ImAgaW50ZXJhY3Rpb24gcGF0dGVybixcbiBpdCBmaXhlcyBhbiBpc3N1ZSB3aXRoIFZvaWNlT3ZlciB3aGVuIHRoZSBzZWxlY3QgYXBwZWFycyBpbnNpZGUgb2YgYW4gYGFyaWEtbW9kZWw9InRydWUiYFxuIGVsZW1lbnQgKGUuZy4gYSBkaWFsb2cpLiBXaXRob3V0IHRoaXMgYGFyaWEtb3duc2AsIHRoZSBgYXJpYS1tb2RhbGAgb24gYSBkaWFsb2cgcHJldmVudHNcbiBWb2ljZU92ZXIgZnJvbSAic2VlaW5nIiB0aGUgc2VsZWN0XCdzIGxpc3Rib3ggb3ZlcmxheSBmb3IgYXJpYS1hY3RpdmVkZXNjZW5kYW50LlxuIFVzaW5nIGBhcmlhLW93bnNgIHJlLXBhcmVudHMgdGhlIHNlbGVjdCBvdmVybGF5IHNvIHRoYXQgaXQgd29ya3MgYWdhaW4uXG4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzIwNjk0XG4tLVx4M2VcbjxkaXYgY2RrLW92ZXJsYXktb3JpZ2luXG4gICAgIFthdHRyLmFyaWEtb3duc109InBhbmVsT3BlbiA/IGlkICsgXCctcGFuZWxcJyA6IG51bGwiXG4gICAgIGNsYXNzPSJtYXQtc2VsZWN0LXRyaWdnZXIiXG4gICAgIChjbGljayk9InRvZ2dsZSgpIlxuICAgICAjb3JpZ2luPSJjZGtPdmVybGF5T3JpZ2luIlxuICAgICAjdHJpZ2dlcj5cbiAgPGRpdiBjbGFzcz0ibWF0LXNlbGVjdC12YWx1ZSIgW25nU3dpdGNoXT0iZW1wdHkiIFthdHRyLmlkXT0iX3ZhbHVlSWQiPlxuICAgIDxzcGFuIGNsYXNzPSJtYXQtc2VsZWN0LXBsYWNlaG9sZGVyIG1hdC1zZWxlY3QtbWluLWxpbmUiICpuZ1N3aXRjaENhc2U9InRydWUiPnt7cGxhY2Vob2xkZXJ9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz0ibWF0LXNlbGVjdC12YWx1ZS10ZXh0IiAqbmdTd2l0Y2hDYXNlPSJmYWxzZSIgW25nU3dpdGNoXT0iISFjdXN0b21UcmlnZ2VyIj5cbiAgICAgIDxzcGFuIGNsYXNzPSJtYXQtc2VsZWN0LW1pbi1saW5lIiAqbmdTd2l0Y2hEZWZhdWx0Pnt7dHJpZ2dlclZhbHVlfX08L3NwYW4+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9Im1hdC1zZWxlY3QtdHJpZ2dlciIgKm5nU3dpdGNoQ2FzZT0idHJ1ZSI+PC9uZy1jb250ZW50PlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz0ibWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyIj48ZGl2IGNsYXNzPSJtYXQtc2VsZWN0LWFycm93Ij48L2Rpdj48L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGVcbiAgY2RrLWNvbm5lY3RlZC1vdmVybGF5XG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlMb2NrUG9zaXRpb25cbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlCYWNrZHJvcENsYXNzPSJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzXT0iX292ZXJsYXlQYW5lbENsYXNzIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVNjcm9sbFN0cmF0ZWd5XT0iX3Njcm9sbFN0cmF0ZWd5IlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09Im9yaWdpbiJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT0icGFuZWxPcGVuIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109Il9wb3NpdGlvbnMiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5TWluV2lkdGhdPSJfdHJpZ2dlclJlY3Q/LndpZHRoISJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPZmZzZXRZXT0iX29mZnNldFkiXG4gIChiYWNrZHJvcENsaWNrKT0iY2xvc2UoKSJcbiAgKGF0dGFjaCk9Il9vbkF0dGFjaGVkKCkiXG4gIChkZXRhY2gpPSJjbG9zZSgpIj5cbiAgPGRpdiBjbGFzcz0ibWF0LXNlbGVjdC1wYW5lbC13cmFwIiBbQHRyYW5zZm9ybVBhbmVsV3JhcF0+XG4gICAgPGRpdlxuICAgICAgI3BhbmVsXG4gICAgICByb2xlPSJsaXN0Ym94IlxuICAgICAgdGFiaW5kZXg9Ii0xIlxuICAgICAgY2xhc3M9Im1hdC1zZWxlY3QtcGFuZWwge3sgX2dldFBhbmVsVGhlbWUoKSB9fSJcbiAgICAgIFthdHRyLmlkXT0iaWQgKyBcJy1wYW5lbFwnIlxuICAgICAgW2F0dHIuYXJpYS1tdWx0aXNlbGVjdGFibGVdPSJtdWx0aXBsZSJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPSJhcmlhTGFiZWwgfHwgbnVsbCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09Il9nZXRQYW5lbEFyaWFMYWJlbGxlZGJ5KCkiXG4gICAgICBbbmdDbGFzc109InBhbmVsQ2xhc3MiXG4gICAgICBbQHRyYW5zZm9ybVBhbmVsXT0ibXVsdGlwbGUgPyBcJ3Nob3dpbmctbXVsdGlwbGVcJyA6IFwnc2hvd2luZ1wnIlxuICAgICAgKEB0cmFuc2Zvcm1QYW5lbC5kb25lKT0iX3BhbmVsRG9uZUFuaW1hdGluZ1N0cmVhbS5uZXh0KCRldmVudC50b1N0YXRlKSJcbiAgICAgIFtzdHlsZS50cmFuc2Zvcm1PcmlnaW5dPSJfdHJhbnNmb3JtT3JpZ2luIlxuICAgICAgW3N0eWxlLmZvbnQtc2l6ZS5weF09Il90cmlnZ2VyRm9udFNpemUiXG4gICAgICAoa2V5ZG93bik9Il9oYW5kbGVLZXlkb3duKCRldmVudCkiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4nLGlucHV0czpbImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4Il0sZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsaG9zdDp7cm9sZToiY29tYm9ib3giLCJhcmlhLWF1dG9jb21wbGV0ZSI6Im5vbmUiLCJhcmlhLWhhc3BvcHVwIjoidHJ1ZSIsY2xhc3M6Im1hdC1zZWxlY3QiLCJbYXR0ci5pZF0iOiJpZCIsIlthdHRyLnRhYmluZGV4XSI6InRhYkluZGV4IiwiW2F0dHIuYXJpYS1jb250cm9sc10iOidwYW5lbE9wZW4gPyBpZCArICItcGFuZWwiIDogbnVsbCcsIlthdHRyLmFyaWEtZXhwYW5kZWRdIjoicGFuZWxPcGVuIiwiW2F0dHIuYXJpYS1sYWJlbF0iOiJhcmlhTGFiZWwgfHwgbnVsbCIsIlthdHRyLmFyaWEtcmVxdWlyZWRdIjoicmVxdWlyZWQudG9TdHJpbmcoKSIsIlthdHRyLmFyaWEtZGlzYWJsZWRdIjoiZGlzYWJsZWQudG9TdHJpbmcoKSIsIlthdHRyLmFyaWEtaW52YWxpZF0iOiJlcnJvclN0YXRlIiwiW2F0dHIuYXJpYS1kZXNjcmliZWRieV0iOiJfYXJpYURlc2NyaWJlZGJ5IHx8IG51bGwiLCJbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdIjoiX2dldEFyaWFBY3RpdmVEZXNjZW5kYW50KCkiLCJbY2xhc3MubWF0LXNlbGVjdC1kaXNhYmxlZF0iOiJkaXNhYmxlZCIsIltjbGFzcy5tYXQtc2VsZWN0LWludmFsaWRdIjoiZXJyb3JTdGF0ZSIsIltjbGFzcy5tYXQtc2VsZWN0LXJlcXVpcmVkXSI6InJlcXVpcmVkIiwiW2NsYXNzLm1hdC1zZWxlY3QtZW1wdHldIjoiZW1wdHkiLCJbY2xhc3MubWF0LXNlbGVjdC1tdWx0aXBsZV0iOiJtdWx0aXBsZSIsIihrZXlkb3duKSI6Il9oYW5kbGVLZXlkb3duKCRldmVudCkiLCIoZm9jdXMpIjoiX29uRm9jdXMoKSIsIihibHVyKSI6Il9vbkJsdXIoKSJ9LGFuaW1hdGlvbnM6W3BZLnRyYW5zZm9ybVBhbmVsV3JhcCxwWS50cmFuc2Zvcm1QYW5lbF0scHJvdmlkZXJzOlt7cHJvdmlkZTppVSx1c2VFeGlzdGluZzpPWX0se3Byb3ZpZGU6aEwsdXNlRXhpc3Rpbmc6T1l9XSxzdHlsZXM6WycubWF0LXNlbGVjdHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMDAlO291dGxpbmU6bm9uZX0ubWF0LXNlbGVjdC10cmlnZ2Vye2Rpc3BsYXk6aW5saW5lLXRhYmxlO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LXNlbGVjdC1kaXNhYmxlZCAubWF0LXNlbGVjdC10cmlnZ2Vyey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6ZGVmYXVsdH0ubWF0LXNlbGVjdC12YWx1ZXtkaXNwbGF5OnRhYmxlLWNlbGw7bWF4LXdpZHRoOjA7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lm1hdC1zZWxlY3QtdmFsdWUtdGV4dHt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTI1JSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWZvcm0tZmllbGQtaGFzLWxhYmVsIC5tYXQtc2VsZWN0Om5vdCgubWF0LXNlbGVjdC1lbXB0eSkgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWVtcHR5IC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXJ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1lbXB0eSAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVye3RyYW5zaXRpb246bm9uZX0ubWF0LXNlbGVjdC1hcnJvd3t3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO21hcmdpbjowIDRweH0ubWF0LXNlbGVjdC1wYW5lbC13cmFwe2ZsZXgtYmFzaXM6MTAwJX0ubWF0LXNlbGVjdC1wYW5lbHttaW4td2lkdGg6MTEycHg7bWF4LXdpZHRoOjI4MHB4O292ZXJmbG93OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO21heC1oZWlnaHQ6MjU2cHg7bWluLXdpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo0cHg7b3V0bGluZTowfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zZWxlY3QtcGFuZWx7b3V0bGluZTpzb2xpZCAxcHh9Lm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRncm91cC1sYWJlbCwubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbntmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDozZW07aGVpZ2h0OjNlbX0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtc2VsZWN0Om5vdCgubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC5tYXQtZm9ybS1maWVsZC1mbGV4e2N1cnNvcjpwb2ludGVyfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1zZWxlY3QgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3dpZHRoOmNhbGMoMTAwJSAtIDE4cHgpfS5tYXQtc2VsZWN0LXBsYWNlaG9sZGVye3RyYW5zaXRpb246Y29sb3IgNDAwbXMgMTMzLjMzMzMzMzMzMzNtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zZWxlY3QtcGxhY2Vob2xkZXJ7dHJhbnNpdGlvbjpub25lfS5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtc2VsZWN0LXBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246bm9uZTtkaXNwbGF5OmJsb2NrfS5tYXQtc2VsZWN0LW1pbi1saW5lOmVtcHR5OjpiZWZvcmV7Y29udGVudDoiICI7d2hpdGUtc3BhY2U6cHJlO3dpZHRoOjFweDtkaXNwbGF5OmlubGluZS1ibG9jaztvcGFjaXR5OjB9XG4nXX1dfV0sbnVsbCx7b3B0aW9uczpbe3R5cGU6b3IsYXJnczpbUEwse2Rlc2NlbmRhbnRzOiEwfV19XSxvcHRpb25Hcm91cHM6W3t0eXBlOm9yLGFyZ3M6W0NMLHtkZXNjZW5kYW50czohMH1dfV0sY3VzdG9tVHJpZ2dlcjpbe3R5cGU6aXIsYXJnczpbTVldfV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIFBZe31mdW5jdGlvbiB3WSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsInNwYW4iLDUpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUobil7UGkodCk7Y29uc3Qgbz16ZigpLiRpbXBsaWNpdDtyZXR1cm4gemYoKS5vbkFjdGl2ZVBsdWdpblNlbGVjdGlvbihuLG8uaWQpfSkpLFB1KDEpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCkuJGltcGxpY2l0O3ltKCJkYXRhLXBsdWdpbi1pZCIsdC5pZCksRGMoMSksa3UoIiAiLHQudGFiX25hbWUsIiAiKX19ZnVuY3Rpb24ga1kodCxlKXtpZigxJnQmJihDZigwLCJtYXQtdGFiIiwzKSxIbSgxLHdZLDIsMiwibmctdGVtcGxhdGUiLDQpLE1mKCkpLDImdCl7YmYoImRpc2FibGVkIiwhZS4kaW1wbGljaXQuZW5hYmxlZCl9fWZ1bmN0aW9uIFNZKHQsZSl7aWYoMSZ0JiYoQ2YoMCwibWF0LW9wdGlvbiIsOSksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0O2JmKCJ2YWx1ZSIsdC5pZCkseW0oImRhdGEtcGx1Z2luLWlkIix0LmlkKSxEYygxKSxrdSgiICIsdC50YWJfbmFtZSwiICIpfX1mdW5jdGlvbiBEWSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsIm1hdC1mb3JtLWZpZWxkIiw2KSxDZigxLCJtYXQtbGFiZWwiKSxQdSgyLCJJbmFjdGl2ZSIpLE1mKCksQ2YoMywibWF0LXNlbGVjdCIsNyksUmYoInNlbGVjdGlvbkNoYW5nZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25EaXNhYmxlZFBsdWdpblNlbGVjdGlvbkNoYW5nZWQobil9KSksSG0oNCxTWSwyLDMsIm1hdC1vcHRpb24iLDgpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtEYygzKSxiZigidmFsdWUiLHQuc2VsZWN0ZWRQbHVnaW4pLERjKDEpLGJmKCJuZ0Zvck9mIix0LmRpc2FibGVkUGx1Z2lucyl9fVBZLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxQWSl9LFBZLsm1bW9kPWZvKHt0eXBlOlBZfSksUFkuybVpbmo9RG4oe3Byb3ZpZGVyczpbYlldLGltcG9ydHM6W1tyeCxvVixTTCxORl0sb0IsQ1UsU0wsTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihQWSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W3J4LG9WLFNMLE5GXSxleHBvcnRzOltvQixDVSxPWSx2WSxTTCxORl0sZGVjbGFyYXRpb25zOltPWSx2WV0scHJvdmlkZXJzOltiWV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhQWSx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW09ZLHZZXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltyeCxvVixTTCxORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bb0IsQ1UsT1ksdlksU0wsTkZdfX0pO2NsYXNzIFJZe2NvbnN0cnVjdG9yKCl7dGhpcy5vblBsdWdpblNlbGVjdGlvbkNoYW5nZWQ9bmV3IFN5fWdldEFjdGl2ZVBsdWdpbkluZGV4KCl7cmV0dXJuIHRoaXMuYWN0aXZlUGx1Z2lucy5maW5kSW5kZXgoKCh7aWQ6dH0pPT50PT09dGhpcy5zZWxlY3RlZFBsdWdpbikpfW9uQWN0aXZlUGx1Z2luU2VsZWN0aW9uKHQsZSl7dC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLm9uUGx1Z2luU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KGUpfW9uRGlzYWJsZWRQbHVnaW5TZWxlY3Rpb25DaGFuZ2VkKHQpe3RoaXMub25QbHVnaW5TZWxlY3Rpb25DaGFuZ2VkLmVtaXQodC52YWx1ZSl9fVJZLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxSWSl9LFJZLsm1Y21wPXNvKHt0eXBlOlJZLHNlbGVjdG9yczpbWyJwbHVnaW4tc2VsZWN0b3ItY29tcG9uZW50Il1dLGlucHV0czp7YWN0aXZlUGx1Z2luczoiYWN0aXZlUGx1Z2lucyIsZGlzYWJsZWRQbHVnaW5zOiJkaXNhYmxlZFBsdWdpbnMiLHNlbGVjdGVkUGx1Z2luOiJzZWxlY3RlZFBsdWdpbiJ9LG91dHB1dHM6e29uUGx1Z2luU2VsZWN0aW9uQ2hhbmdlZDoib25QbHVnaW5TZWxlY3Rpb25DaGFuZ2VkIn0sZGVjbHM6Myx2YXJzOjMsY29uc3RzOltbImFuaW1hdGlvbkR1cmF0aW9uIiwiMTAwbXMiLDEsImFjdGl2ZS1wbHVnaW4tbGlzdCIsMywic2VsZWN0ZWRJbmRleCJdLFszLCJkaXNhYmxlZCIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWyJmbG9hdExhYmVsIiwibmV2ZXIiLDQsIm5nSWYiXSxbMywiZGlzYWJsZWQiXSxbIm1hdC10YWItbGFiZWwiLCIiXSxbMSwicGx1Z2luLW5hbWUiLDMsImNsaWNrIl0sWyJmbG9hdExhYmVsIiwibmV2ZXIiXSxbMywidmFsdWUiLCJzZWxlY3Rpb25DaGFuZ2UiXSxbMywidmFsdWUiLDQsIm5nRm9yIiwibmdGb3JPZiJdLFszLCJ2YWx1ZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWF0LXRhYi1ncm91cCIsMCksSG0oMSxrWSwyLDEsIm1hdC10YWIiLDEpLE1mKCksSG0oMixEWSw1LDIsIm1hdC1mb3JtLWZpZWxkIiwyKSksMiZlJiYoYmYoInNlbGVjdGVkSW5kZXgiLG4uZ2V0QWN0aXZlUGx1Z2luSW5kZXgoKSksRGMoMSksYmYoIm5nRm9yT2YiLG4uYWN0aXZlUGx1Z2lucyksRGMoMSksYmYoIm5nSWYiLG4uZGlzYWJsZWRQbHVnaW5zLmxlbmd0aD4wKSl9LGRpcmVjdGl2ZXM6W1BqLHh2LFB2LGdqLG1qLF9VLGNVLE9ZLFBMXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztmb250LXNpemU6MTRweDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59bWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZsZXg6MCAwO21hcmdpbi10b3A6NXB4O3dpZHRoOjEzMHB4fW1hdC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIG1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVdLCBtYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo1MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5hY3RpdmUtcGx1Z2luLWxpc3RbX25nY29udGVudC0lQ09NUCVde2FsaWduLXNlbGY6c3RyZXRjaDtmbGV4OjEgMSBhdXRvO292ZXJmbG93OmhpZGRlbn0ucGx1Z2luLW5hbWVbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2hlaWdodDoxMDAlO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowIDEycHg7d2lkdGg6MTAwJX1bX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0Lm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpc3QgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfVtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgLm1hdC10YWItbGFiZWwsIFtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgLm1hdC10YWItbGlua3tjb2xvcjppbmhlcml0O29wYWNpdHk6Ljd9W19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWxhYmVsLWFjdGl2ZSwgW19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCAubWF0LXRhYi1saW5rLm1hdC10YWItbGFiZWwtYWN0aXZle29wYWNpdHk6MX1bX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOmN1cnJlbnRDb2xvcn1bX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVke3Zpc2liaWxpdHk6aGlkZGVufVtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgLm1hdC10YWItZGlzYWJsZWR7ZGlzcGxheTpub25lfVtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgbWF0LXRhYi1saXN0LCBbX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IC5tYXQtdGFiLWhlYWRlciwgW19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCAubWF0LXRhYi1sYWJlbHMsIFtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgLm1hdC10YWItbGFiZWx7aGVpZ2h0OjEwMCV9W19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCAubWF0LXRhYi1sYWJlbHttaW4td2lkdGg6NDhweDtwYWRkaW5nOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfVtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgLm1hdC10YWItbGFiZWwtY29udGVudHtoZWlnaHQ6MTAwJX1bX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IG1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxpc3R7cGFkZGluZzowIDM2cHh9W19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCBtYXQtdGFiLWhlYWRlcj46Zmlyc3QtY2hpbGQsIFtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgbWF0LXRhYi1oZWFkZXI+Lm1hdC10YWItbGFiZWwtY29udGFpbmVyLCBbX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IG1hdC10YWItaGVhZGVyPjpsYXN0LWNoaWxke2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfVtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgbWF0LXRhYi1oZWFkZXI+OmZpcnN0LWNoaWxkLCBbX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IG1hdC10YWItaGVhZGVyPi5tYXQtdGFiLWxhYmVsLWNvbnRhaW5lcntsZWZ0OjB9W19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCBtYXQtdGFiLWhlYWRlcj46bGFzdC1jaGlsZCwgW19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCBtYXQtdGFiLWhlYWRlcj4ubWF0LXRhYi1sYWJlbC1jb250YWluZXJ7cmlnaHQ6MH1bX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IG1hdC10YWItaGVhZGVyPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9ue2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMH1ib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgbWF0LXRhYi1oZWFkZXI+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfSddfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihSWSxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJwbHVnaW4tc2VsZWN0b3ItY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9wbHVnaW5fc2VsZWN0b3JfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vcGx1Z2luX3NlbGVjdG9yX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCx7YWN0aXZlUGx1Z2luczpbe3R5cGU6Ul99XSxkaXNhYmxlZFBsdWdpbnM6W3t0eXBlOlJffV0sc2VsZWN0ZWRQbHVnaW46W3t0eXBlOlJffV0sb25QbHVnaW5TZWxlY3Rpb25DaGFuZ2VkOlt7dHlwZTpFX31dfSk7Y29uc3QgRVk9YlMoblQsKHQ9Pk9iamVjdC5rZXlzKHQpLm1hcCgoZT0+T2JqZWN0LmFzc2lnbih7fSx7aWQ6ZX0sdFtlXSkpKSkpLEFZPWJTKEVZLCh0PT50LmZpbHRlcigodD0+IXQuZW5hYmxlZCkpKSk7Y2xhc3MgVFl7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuYWN0aXZlUGx1Z2luJD10aGlzLnN0b3JlLnBpcGUoclMoZVQpKSx0aGlzLnBsdWdpbnMkPXRoaXMuc3RvcmUucGlwZShyUyhFWSkpLHRoaXMuZGlzYWJsZWRQbHVnaW5zJD10aGlzLnN0b3JlLnBpcGUoclMoQVkpKX1vblBsdWdpblNlbGVjdGlvbkNoYW5nZSh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKFpFKHtwbHVnaW46dH0pKX19ZnVuY3Rpb24gTlkodCxlKXt9VFkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFRZKShnZihpUykpfSxUWS7JtWNtcD1zbyh7dHlwZTpUWSxzZWxlY3RvcnM6W1sicGx1Z2luLXNlbGVjdG9yIl1dLGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsImFjdGl2ZVBsdWdpbnMiLCJkaXNhYmxlZFBsdWdpbnMiLCJzZWxlY3RlZFBsdWdpbiIsIm9uUGx1Z2luU2VsZWN0aW9uQ2hhbmdlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwicGx1Z2luLXNlbGVjdG9yLWNvbXBvbmVudCIsMCksUmYoIm9uUGx1Z2luU2VsZWN0aW9uQ2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25QbHVnaW5TZWxlY3Rpb25DaGFuZ2UoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksTWYoKSksMiZlJiZiZigiYWN0aXZlUGx1Z2lucyIsQ3koMSwzLG4ucGx1Z2lucyQpKSgiZGlzYWJsZWRQbHVnaW5zIixDeSgyLDUsbi5kaXNhYmxlZFBsdWdpbnMkKSkoInNlbGVjdGVkUGx1Z2luIixDeSgzLDcsbi5hY3RpdmVQbHVnaW4kKSl9LGRpcmVjdGl2ZXM6W1JZXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVFksW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoicGx1Z2luLXNlbGVjdG9yIix0ZW1wbGF0ZTonXG4gICAgPHBsdWdpbi1zZWxlY3Rvci1jb21wb25lbnRcbiAgICAgIFthY3RpdmVQbHVnaW5zXT0icGx1Z2lucyQgfCBhc3luYyJcbiAgICAgIFtkaXNhYmxlZFBsdWdpbnNdPSJkaXNhYmxlZFBsdWdpbnMkIHwgYXN5bmMiXG4gICAgICBbc2VsZWN0ZWRQbHVnaW5dPSJhY3RpdmVQbHVnaW4kIHwgYXN5bmMiXG4gICAgICAob25QbHVnaW5TZWxlY3Rpb25DaGFuZ2VkKT0ib25QbHVnaW5TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KSJcbiAgICA+PC9wbHVnaW4tc2VsZWN0b3ItY29tcG9uZW50PlxuICAnfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLG51bGwpO2NsYXNzIHpZe2NvbnN0cnVjdG9yKCl7dGhpcy5yb2xlPSJkaWFsb2ciLHRoaXMucGFuZWxDbGFzcz0iIix0aGlzLmhhc0JhY2tkcm9wPSEwLHRoaXMuYmFja2Ryb3BDbGFzcz0iIix0aGlzLmRpc2FibGVDbG9zZT0hMSx0aGlzLndpZHRoPSIiLHRoaXMuaGVpZ2h0PSIiLHRoaXMubWF4V2lkdGg9IjgwdnciLHRoaXMuZGF0YT1udWxsLHRoaXMuYXJpYURlc2NyaWJlZEJ5PW51bGwsdGhpcy5hcmlhTGFiZWxsZWRCeT1udWxsLHRoaXMuYXJpYUxhYmVsPW51bGwsdGhpcy5hdXRvRm9jdXM9ITAsdGhpcy5yZXN0b3JlRm9jdXM9ITAsdGhpcy5jbG9zZU9uTmF2aWdhdGlvbj0hMH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IElZPXtkaWFsb2dDb250YWluZXI6eE8oImRpYWxvZ0NvbnRhaW5lciIsW2tPKCJ2b2lkLCBleGl0Iix3Tyh7b3BhY2l0eTowLHRyYW5zZm9ybToic2NhbGUoMC43KSJ9KSksa08oImVudGVyIix3Tyh7dHJhbnNmb3JtOiJub25lIn0pKSxETygiKiA9PiBlbnRlciIsT08oIjE1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpIix3Tyh7dHJhbnNmb3JtOiJub25lIixvcGFjaXR5OjF9KSkpLERPKCIqID0+IHZvaWQsICogPT4gZXhpdCIsT08oIjc1bXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIix3Tyh7b3BhY2l0eTowfSkpKV0pfTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gSFkoKXt0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBhdHRhY2ggZGlhbG9nIGNvbnRlbnQgYWZ0ZXIgY29udGVudCBpcyBhbHJlYWR5IGF0dGFjaGVkIil9Y2xhc3MgRlkgZXh0ZW5kcyBkQntjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7c3VwZXIoKSx0aGlzLl9lbGVtZW50UmVmPXQsdGhpcy5fZm9jdXNUcmFwRmFjdG9yeT1lLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPW4sdGhpcy5fY29uZmlnPWksdGhpcy5fZm9jdXNNb25pdG9yPWEsdGhpcy5fYW5pbWF0aW9uU3RhdGVDaGFuZ2VkPW5ldyBTeSx0aGlzLl9lbGVtZW50Rm9jdXNlZEJlZm9yZURpYWxvZ1dhc09wZW5lZD1udWxsLHRoaXMuX2Nsb3NlSW50ZXJhY3Rpb25UeXBlPW51bGwsdGhpcy5hdHRhY2hEb21Qb3J0YWw9dD0+KHRoaXMuX3BvcnRhbE91dGxldC5oYXNBdHRhY2hlZCgpJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJkhZKCksdGhpcy5fcG9ydGFsT3V0bGV0LmF0dGFjaERvbVBvcnRhbCh0KSksdGhpcy5fYXJpYUxhYmVsbGVkQnk9aS5hcmlhTGFiZWxsZWRCeXx8bnVsbCx0aGlzLl9kb2N1bWVudD1vfV9pbml0aWFsaXplV2l0aEF0dGFjaGVkQ29udGVudCgpe3RoaXMuX3NldHVwRm9jdXNUcmFwKCksdGhpcy5fY2FwdHVyZVByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCgpLHRoaXMuX2ZvY3VzRGlhbG9nQ29udGFpbmVyKCl9YXR0YWNoQ29tcG9uZW50UG9ydGFsKHQpe3JldHVybiB0aGlzLl9wb3J0YWxPdXRsZXQuaGFzQXR0YWNoZWQoKSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZIWSgpLHRoaXMuX3BvcnRhbE91dGxldC5hdHRhY2hDb21wb25lbnRQb3J0YWwodCl9YXR0YWNoVGVtcGxhdGVQb3J0YWwodCl7cmV0dXJuIHRoaXMuX3BvcnRhbE91dGxldC5oYXNBdHRhY2hlZCgpJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJkhZKCksdGhpcy5fcG9ydGFsT3V0bGV0LmF0dGFjaFRlbXBsYXRlUG9ydGFsKHQpfV9yZWNhcHR1cmVGb2N1cygpe2lmKCF0aGlzLl9jb250YWluc0ZvY3VzKCkpeyghdGhpcy5fY29uZmlnLmF1dG9Gb2N1c3x8IXRoaXMuX2ZvY3VzVHJhcC5mb2N1c0luaXRpYWxFbGVtZW50KCkpJiZ0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKX19X3RyYXBGb2N1cygpe3RoaXMuX2NvbmZpZy5hdXRvRm9jdXM/dGhpcy5fZm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnRXaGVuUmVhZHkoKTp0aGlzLl9jb250YWluc0ZvY3VzKCl8fHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpfV9yZXN0b3JlRm9jdXMoKXtjb25zdCB0PXRoaXMuX2VsZW1lbnRGb2N1c2VkQmVmb3JlRGlhbG9nV2FzT3BlbmVkO2lmKHRoaXMuX2NvbmZpZy5yZXN0b3JlRm9jdXMmJnQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmZvY3VzKXtjb25zdCBlPU1IKCksbj10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7ZSYmZSE9PXRoaXMuX2RvY3VtZW50LmJvZHkmJmUhPT1uJiYhbi5jb250YWlucyhlKXx8KHRoaXMuX2ZvY3VzTW9uaXRvcj8odGhpcy5fZm9jdXNNb25pdG9yLmZvY3VzVmlhKHQsdGhpcy5fY2xvc2VJbnRlcmFjdGlvblR5cGUpLHRoaXMuX2Nsb3NlSW50ZXJhY3Rpb25UeXBlPW51bGwpOnQuZm9jdXMoKSl9dGhpcy5fZm9jdXNUcmFwJiZ0aGlzLl9mb2N1c1RyYXAuZGVzdHJveSgpfV9zZXR1cEZvY3VzVHJhcCgpe3RoaXMuX2ZvY3VzVHJhcD10aGlzLl9mb2N1c1RyYXBGYWN0b3J5LmNyZWF0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpfV9jYXB0dXJlUHJldmlvdXNseUZvY3VzZWRFbGVtZW50KCl7dGhpcy5fZG9jdW1lbnQmJih0aGlzLl9lbGVtZW50Rm9jdXNlZEJlZm9yZURpYWxvZ1dhc09wZW5lZD1NSCgpKX1fZm9jdXNEaWFsb2dDb250YWluZXIoKXt0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMmJnRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpfV9jb250YWluc0ZvY3VzKCl7Y29uc3QgdD10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsZT1NSCgpO3JldHVybiB0PT09ZXx8dC5jb250YWlucyhlKX19RlkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEZZKShnZihLaCksZ2YoV0gpLGdmKE9iKSxnZihzTSw4KSxnZih6WSksZ2YoZkYpKX0sRlkuybVkaXI9aG8oe3R5cGU6Rlksdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJlZ5KHVCLDcpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uX3BvcnRhbE91dGxldD10LmZpcnN0KX19LGZlYXR1cmVzOltRcF19KSxGWS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpXSH0se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOnpZfSx7dHlwZTpmRn1dLEZZLnByb3BEZWNvcmF0b3JzPXtfcG9ydGFsT3V0bGV0Olt7dHlwZTphcixhcmdzOlt1Qix7c3RhdGljOiEwfV19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihGWSxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOldIfSx7dHlwZTpPYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6ell9LHt0eXBlOmZGfV19KSx7X3BvcnRhbE91dGxldDpbe3R5cGU6YXIsYXJnczpbdUIse3N0YXRpYzohMH1dfV19KTtjbGFzcyBMWSBleHRlbmRzIEZZe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9zdGF0ZT0iZW50ZXIifV9vbkFuaW1hdGlvbkRvbmUoe3RvU3RhdGU6dCx0b3RhbFRpbWU6ZX0peyJlbnRlciI9PT10Pyh0aGlzLl90cmFwRm9jdXMoKSx0aGlzLl9hbmltYXRpb25TdGF0ZUNoYW5nZWQubmV4dCh7c3RhdGU6Im9wZW5lZCIsdG90YWxUaW1lOmV9KSk6ImV4aXQiPT09dCYmKHRoaXMuX3Jlc3RvcmVGb2N1cygpLHRoaXMuX2FuaW1hdGlvblN0YXRlQ2hhbmdlZC5uZXh0KHtzdGF0ZToiY2xvc2VkIix0b3RhbFRpbWU6ZX0pKX1fb25BbmltYXRpb25TdGFydCh7dG9TdGF0ZTp0LHRvdGFsVGltZTplfSl7ImVudGVyIj09PXQ/dGhpcy5fYW5pbWF0aW9uU3RhdGVDaGFuZ2VkLm5leHQoe3N0YXRlOiJvcGVuaW5nIix0b3RhbFRpbWU6ZX0pOiJleGl0IiE9PXQmJiJ2b2lkIiE9PXR8fHRoaXMuX2FuaW1hdGlvblN0YXRlQ2hhbmdlZC5uZXh0KHtzdGF0ZToiY2xvc2luZyIsdG90YWxUaW1lOmV9KX1fc3RhcnRFeGl0QW5pbWF0aW9uKCl7dGhpcy5fc3RhdGU9ImV4aXQiLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfX1MWS7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoTFkpKSkobnx8TFkpfX0pKCksTFkuybVjbXA9c28oe3R5cGU6TFksc2VsZWN0b3JzOltbIm1hdC1kaWFsb2ctY29udGFpbmVyIl1dLGhvc3RBdHRyczpbInRhYmluZGV4IiwiLTEiLCJhcmlhLW1vZGFsIiwidHJ1ZSIsMSwibWF0LWRpYWxvZy1jb250YWluZXIiXSxob3N0VmFyczo2LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZFZigiQGRpYWxvZ0NvbnRhaW5lci5zdGFydCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX29uQW5pbWF0aW9uU3RhcnQoZSl9KSkoIkBkaWFsb2dDb250YWluZXIuZG9uZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX29uQW5pbWF0aW9uRG9uZShlKX0pKSwyJmUmJihjZygiaWQiLG4uX2lkKSx5bSgicm9sZSIsbi5fY29uZmlnLnJvbGUpKCJhcmlhLWxhYmVsbGVkYnkiLG4uX2NvbmZpZy5hcmlhTGFiZWw/bnVsbDpuLl9hcmlhTGFiZWxsZWRCeSkoImFyaWEtbGFiZWwiLG4uX2NvbmZpZy5hcmlhTGFiZWwpKCJhcmlhLWRlc2NyaWJlZGJ5IixuLl9jb25maWcuYXJpYURlc2NyaWJlZEJ5fHxudWxsKSxkZygiQGRpYWxvZ0NvbnRhaW5lciIsbi5fc3RhdGUpKX0sZmVhdHVyZXM6W1FwXSxkZWNsczoxLHZhcnM6MCxjb25zdHM6W1siY2RrUG9ydGFsT3V0bGV0IiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJkhtKDAsTlksMCwwLCJuZy10ZW1wbGF0ZSIsMCl9LGRpcmVjdGl2ZXM6W3VCXSxzdHlsZXM6WyIubWF0LWRpYWxvZy1jb250YWluZXJ7ZGlzcGxheTpibG9jaztwYWRkaW5nOjI0cHg7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OmF1dG87b3V0bGluZTowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDppbmhlcml0O21heC1oZWlnaHQ6aW5oZXJpdH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZGlhbG9nLWNvbnRhaW5lcntvdXRsaW5lOnNvbGlkIDFweH0ubWF0LWRpYWxvZy1jb250ZW50e2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjAgLTI0cHg7cGFkZGluZzowIDI0cHg7bWF4LWhlaWdodDo2NXZoO292ZXJmbG93OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9Lm1hdC1kaWFsb2ctdGl0bGV7bWFyZ2luOjAgMCAyMHB4O2Rpc3BsYXk6YmxvY2t9Lm1hdC1kaWFsb2ctYWN0aW9uc3twYWRkaW5nOjhweCAwO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDttaW4taGVpZ2h0OjUycHg7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Y29udGVudC1ib3g7bWFyZ2luLWJvdHRvbTotMjRweH0ubWF0LWRpYWxvZy1hY3Rpb25zW2FsaWduPWVuZF17anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5tYXQtZGlhbG9nLWFjdGlvbnNbYWxpZ249Y2VudGVyXXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5tYXQtZGlhbG9nLWFjdGlvbnMgLm1hdC1idXR0b24tYmFzZSsubWF0LWJ1dHRvbi1iYXNlLC5tYXQtZGlhbG9nLWFjdGlvbnMgLm1hdC1tZGMtYnV0dG9uLWJhc2UrLm1hdC1tZGMtYnV0dG9uLWJhc2V7bWFyZ2luLWxlZnQ6OHB4fVtkaXI9cnRsXSAubWF0LWRpYWxvZy1hY3Rpb25zIC5tYXQtYnV0dG9uLWJhc2UrLm1hdC1idXR0b24tYmFzZSxbZGlyPXJ0bF0gLm1hdC1kaWFsb2ctYWN0aW9ucyAubWF0LW1kYy1idXR0b24tYmFzZSsubWF0LW1kYy1idXR0b24tYmFzZXttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDo4cHh9XG4iXSxlbmNhcHN1bGF0aW9uOjIsZGF0YTp7YW5pbWF0aW9uOltJWS5kaWFsb2dDb250YWluZXJdfX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTFksW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LWRpYWxvZy1jb250YWluZXIiLHRlbXBsYXRlOiI8bmctdGVtcGxhdGUgY2RrUG9ydGFsT3V0bGV0PjwvbmctdGVtcGxhdGU+XG4iLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxhbmltYXRpb25zOltJWS5kaWFsb2dDb250YWluZXJdLGhvc3Q6e2NsYXNzOiJtYXQtZGlhbG9nLWNvbnRhaW5lciIsdGFiaW5kZXg6Ii0xIiwiYXJpYS1tb2RhbCI6InRydWUiLCJbaWRdIjoiX2lkIiwiW2F0dHIucm9sZV0iOiJfY29uZmlnLnJvbGUiLCJbYXR0ci5hcmlhLWxhYmVsbGVkYnldIjoiX2NvbmZpZy5hcmlhTGFiZWwgPyBudWxsIDogX2FyaWFMYWJlbGxlZEJ5IiwiW2F0dHIuYXJpYS1sYWJlbF0iOiJfY29uZmlnLmFyaWFMYWJlbCIsIlthdHRyLmFyaWEtZGVzY3JpYmVkYnldIjoiX2NvbmZpZy5hcmlhRGVzY3JpYmVkQnkgfHwgbnVsbCIsIltAZGlhbG9nQ29udGFpbmVyXSI6Il9zdGF0ZSIsIihAZGlhbG9nQ29udGFpbmVyLnN0YXJ0KSI6Il9vbkFuaW1hdGlvblN0YXJ0KCRldmVudCkiLCIoQGRpYWxvZ0NvbnRhaW5lci5kb25lKSI6Il9vbkFuaW1hdGlvbkRvbmUoJGV2ZW50KSJ9LHN0eWxlczpbIi5tYXQtZGlhbG9nLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MjRweDtib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6YXV0bztvdXRsaW5lOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OmluaGVyaXQ7bWF4LWhlaWdodDppbmhlcml0fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1kaWFsb2ctY29udGFpbmVye291dGxpbmU6c29saWQgMXB4fS5tYXQtZGlhbG9nLWNvbnRlbnR7ZGlzcGxheTpibG9jazttYXJnaW46MCAtMjRweDtwYWRkaW5nOjAgMjRweDttYXgtaGVpZ2h0OjY1dmg7b3ZlcmZsb3c6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaH0ubWF0LWRpYWxvZy10aXRsZXttYXJnaW46MCAwIDIwcHg7ZGlzcGxheTpibG9ja30ubWF0LWRpYWxvZy1hY3Rpb25ze3BhZGRpbmc6OHB4IDA7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO21pbi1oZWlnaHQ6NTJweDthbGlnbi1pdGVtczpjZW50ZXI7Ym94LXNpemluZzpjb250ZW50LWJveDttYXJnaW4tYm90dG9tOi0yNHB4fS5tYXQtZGlhbG9nLWFjdGlvbnNbYWxpZ249ZW5kXXtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lm1hdC1kaWFsb2ctYWN0aW9uc1thbGlnbj1jZW50ZXJde2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lm1hdC1kaWFsb2ctYWN0aW9ucyAubWF0LWJ1dHRvbi1iYXNlKy5tYXQtYnV0dG9uLWJhc2UsLm1hdC1kaWFsb2ctYWN0aW9ucyAubWF0LW1kYy1idXR0b24tYmFzZSsubWF0LW1kYy1idXR0b24tYmFzZXttYXJnaW4tbGVmdDo4cHh9W2Rpcj1ydGxdIC5tYXQtZGlhbG9nLWFjdGlvbnMgLm1hdC1idXR0b24tYmFzZSsubWF0LWJ1dHRvbi1iYXNlLFtkaXI9cnRsXSAubWF0LWRpYWxvZy1hY3Rpb25zIC5tYXQtbWRjLWJ1dHRvbi1iYXNlKy5tYXQtbWRjLWJ1dHRvbi1iYXNle21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjhweH1cbiJdfV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KbGV0IEJZPTA7Y2xhc3MgVll7Y29uc3RydWN0b3IodCxlLG49Im1hdC1kaWFsb2ctIitCWSsrKXt0aGlzLl9vdmVybGF5UmVmPXQsdGhpcy5fY29udGFpbmVySW5zdGFuY2U9ZSx0aGlzLmlkPW4sdGhpcy5kaXNhYmxlQ2xvc2U9dGhpcy5fY29udGFpbmVySW5zdGFuY2UuX2NvbmZpZy5kaXNhYmxlQ2xvc2UsdGhpcy5fYWZ0ZXJPcGVuZWQ9bmV3IEIsdGhpcy5fYWZ0ZXJDbG9zZWQ9bmV3IEIsdGhpcy5fYmVmb3JlQ2xvc2VkPW5ldyBCLHRoaXMuX3N0YXRlPTAsZS5faWQ9bixlLl9hbmltYXRpb25TdGF0ZUNoYW5nZWQucGlwZSh1ZSgodD0+Im9wZW5lZCI9PT10LnN0YXRlKSksdmUoMSkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9hZnRlck9wZW5lZC5uZXh0KCksdGhpcy5fYWZ0ZXJPcGVuZWQuY29tcGxldGUoKX0pKSxlLl9hbmltYXRpb25TdGF0ZUNoYW5nZWQucGlwZSh1ZSgodD0+ImNsb3NlZCI9PT10LnN0YXRlKSksdmUoMSkpLnN1YnNjcmliZSgoKCk9PntjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VGYWxsYmFja1RpbWVvdXQpLHRoaXMuX2ZpbmlzaERpYWxvZ0Nsb3NlKCl9KSksdC5kZXRhY2htZW50cygpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9iZWZvcmVDbG9zZWQubmV4dCh0aGlzLl9yZXN1bHQpLHRoaXMuX2JlZm9yZUNsb3NlZC5jb21wbGV0ZSgpLHRoaXMuX2FmdGVyQ2xvc2VkLm5leHQodGhpcy5fcmVzdWx0KSx0aGlzLl9hZnRlckNsb3NlZC5jb21wbGV0ZSgpLHRoaXMuY29tcG9uZW50SW5zdGFuY2U9bnVsbCx0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKX0pKSx0LmtleWRvd25FdmVudHMoKS5waXBlKHVlKCh0PT50LmtleUNvZGU9PT1LSSYmIXRoaXMuZGlzYWJsZUNsb3NlJiYhdEgodCkpKSkuc3Vic2NyaWJlKCh0PT57dC5wcmV2ZW50RGVmYXVsdCgpLGpZKHRoaXMsImtleWJvYXJkIil9KSksdC5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuZGlzYWJsZUNsb3NlP3RoaXMuX2NvbnRhaW5lckluc3RhbmNlLl9yZWNhcHR1cmVGb2N1cygpOmpZKHRoaXMsIm1vdXNlIil9KSl9Y2xvc2UodCl7dGhpcy5fcmVzdWx0PXQsdGhpcy5fY29udGFpbmVySW5zdGFuY2UuX2FuaW1hdGlvblN0YXRlQ2hhbmdlZC5waXBlKHVlKCh0PT4iY2xvc2luZyI9PT10LnN0YXRlKSksdmUoMSkpLnN1YnNjcmliZSgoZT0+e3RoaXMuX2JlZm9yZUNsb3NlZC5uZXh0KHQpLHRoaXMuX2JlZm9yZUNsb3NlZC5jb21wbGV0ZSgpLHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoQmFja2Ryb3AoKSx0aGlzLl9jbG9zZUZhbGxiYWNrVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+dGhpcy5fZmluaXNoRGlhbG9nQ2xvc2UoKSksZS50b3RhbFRpbWUrMTAwKX0pKSx0aGlzLl9zdGF0ZT0xLHRoaXMuX2NvbnRhaW5lckluc3RhbmNlLl9zdGFydEV4aXRBbmltYXRpb24oKX1hZnRlck9wZW5lZCgpe3JldHVybiB0aGlzLl9hZnRlck9wZW5lZH1hZnRlckNsb3NlZCgpe3JldHVybiB0aGlzLl9hZnRlckNsb3NlZH1iZWZvcmVDbG9zZWQoKXtyZXR1cm4gdGhpcy5fYmVmb3JlQ2xvc2VkfWJhY2tkcm9wQ2xpY2soKXtyZXR1cm4gdGhpcy5fb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCl9a2V5ZG93bkV2ZW50cygpe3JldHVybiB0aGlzLl9vdmVybGF5UmVmLmtleWRvd25FdmVudHMoKX11cGRhdGVQb3NpdGlvbih0KXtsZXQgZT10aGlzLl9nZXRQb3NpdGlvblN0cmF0ZWd5KCk7cmV0dXJuIHQmJih0LmxlZnR8fHQucmlnaHQpP3QubGVmdD9lLmxlZnQodC5sZWZ0KTplLnJpZ2h0KHQucmlnaHQpOmUuY2VudGVySG9yaXpvbnRhbGx5KCksdCYmKHQudG9wfHx0LmJvdHRvbSk/dC50b3A/ZS50b3AodC50b3ApOmUuYm90dG9tKHQuYm90dG9tKTplLmNlbnRlclZlcnRpY2FsbHkoKSx0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCksdGhpc311cGRhdGVTaXplKHQ9IiIsZT0iIil7cmV0dXJuIHRoaXMuX292ZXJsYXlSZWYudXBkYXRlU2l6ZSh7d2lkdGg6dCxoZWlnaHQ6ZX0pLHRoaXMuX292ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKSx0aGlzfWFkZFBhbmVsQ2xhc3ModCl7cmV0dXJuIHRoaXMuX292ZXJsYXlSZWYuYWRkUGFuZWxDbGFzcyh0KSx0aGlzfXJlbW92ZVBhbmVsQ2xhc3ModCl7cmV0dXJuIHRoaXMuX292ZXJsYXlSZWYucmVtb3ZlUGFuZWxDbGFzcyh0KSx0aGlzfWdldFN0YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXRlfV9maW5pc2hEaWFsb2dDbG9zZSgpe3RoaXMuX3N0YXRlPTIsdGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCl9X2dldFBvc2l0aW9uU3RyYXRlZ3koKXtyZXR1cm4gdGhpcy5fb3ZlcmxheVJlZi5nZXRDb25maWcoKS5wb3NpdGlvblN0cmF0ZWd5fX1mdW5jdGlvbiBqWSh0LGUsbil7cmV0dXJuIHZvaWQgMCE9PXQuX2NvbnRhaW5lckluc3RhbmNlJiYodC5fY29udGFpbmVySW5zdGFuY2UuX2Nsb3NlSW50ZXJhY3Rpb25UeXBlPWUpLHQuY2xvc2Uobil9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFVZPW5ldyBlcigiTWF0RGlhbG9nRGF0YSIpLFdZPW5ldyBlcigibWF0LWRpYWxvZy1kZWZhdWx0LW9wdGlvbnMiKSxHWT1uZXcgZXIoIm1hdC1kaWFsb2ctc2Nyb2xsLXN0cmF0ZWd5Iik7Y29uc3QgWVk9e3Byb3ZpZGU6R1ksZGVwczpbS0JdLHVzZUZhY3Rvcnk6ZnVuY3Rpb24gcVkodCl7cmV0dXJuKCk9PnQuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpfX07Y2xhc3MgWll7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzLGwpe3RoaXMuX292ZXJsYXk9dCx0aGlzLl9pbmplY3Rvcj1lLHRoaXMuX2RlZmF1bHRPcHRpb25zPW4sdGhpcy5fcGFyZW50RGlhbG9nPW8sdGhpcy5fb3ZlcmxheUNvbnRhaW5lcj1pLHRoaXMuX2RpYWxvZ1JlZkNvbnN0cnVjdG9yPXIsdGhpcy5fZGlhbG9nQ29udGFpbmVyVHlwZT1zLHRoaXMuX2RpYWxvZ0RhdGFUb2tlbj1sLHRoaXMuX29wZW5EaWFsb2dzQXRUaGlzTGV2ZWw9W10sdGhpcy5fYWZ0ZXJBbGxDbG9zZWRBdFRoaXNMZXZlbD1uZXcgQix0aGlzLl9hZnRlck9wZW5lZEF0VGhpc0xldmVsPW5ldyBCLHRoaXMuX2FyaWFIaWRkZW5FbGVtZW50cz1uZXcgTWFwLHRoaXMuYWZ0ZXJBbGxDbG9zZWQ9b2UoKCgpPT50aGlzLm9wZW5EaWFsb2dzLmxlbmd0aD90aGlzLl9nZXRBZnRlckFsbENsb3NlZCgpOnRoaXMuX2dldEFmdGVyQWxsQ2xvc2VkKCkucGlwZShCZSh2b2lkIDApKSkpLHRoaXMuX3Njcm9sbFN0cmF0ZWd5PWF9Z2V0IG9wZW5EaWFsb2dzKCl7cmV0dXJuIHRoaXMuX3BhcmVudERpYWxvZz90aGlzLl9wYXJlbnREaWFsb2cub3BlbkRpYWxvZ3M6dGhpcy5fb3BlbkRpYWxvZ3NBdFRoaXNMZXZlbH1nZXQgYWZ0ZXJPcGVuZWQoKXtyZXR1cm4gdGhpcy5fcGFyZW50RGlhbG9nP3RoaXMuX3BhcmVudERpYWxvZy5hZnRlck9wZW5lZDp0aGlzLl9hZnRlck9wZW5lZEF0VGhpc0xldmVsfV9nZXRBZnRlckFsbENsb3NlZCgpe2NvbnN0IHQ9dGhpcy5fcGFyZW50RGlhbG9nO3JldHVybiB0P3QuX2dldEFmdGVyQWxsQ2xvc2VkKCk6dGhpcy5fYWZ0ZXJBbGxDbG9zZWRBdFRoaXNMZXZlbH1vcGVuKHQsZSl7aWYoKGU9KGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGUpLHQpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKGUsdGhpcy5fZGVmYXVsdE9wdGlvbnN8fG5ldyB6WSkpLmlkJiZ0aGlzLmdldERpYWxvZ0J5SWQoZS5pZCkmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBFcnJvcihgRGlhbG9nIHdpdGggaWQgIiR7ZS5pZH0iIGV4aXN0cyBhbHJlYWR5LiBUaGUgZGlhbG9nIGlkIG11c3QgYmUgdW5pcXVlLmApO2NvbnN0IG89dGhpcy5fY3JlYXRlT3ZlcmxheShlKSxpPXRoaXMuX2F0dGFjaERpYWxvZ0NvbnRhaW5lcihvLGUpLGE9dGhpcy5fYXR0YWNoRGlhbG9nQ29udGVudCh0LGksbyxlKTtyZXR1cm4gdGhpcy5vcGVuRGlhbG9ncy5sZW5ndGh8fHRoaXMuX2hpZGVOb25EaWFsb2dDb250ZW50RnJvbUFzc2lzdGl2ZVRlY2hub2xvZ3koKSx0aGlzLm9wZW5EaWFsb2dzLnB1c2goYSksYS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKCk9PnRoaXMuX3JlbW92ZU9wZW5EaWFsb2coYSkpKSx0aGlzLmFmdGVyT3BlbmVkLm5leHQoYSksaS5faW5pdGlhbGl6ZVdpdGhBdHRhY2hlZENvbnRlbnQoKSxhfWNsb3NlQWxsKCl7dGhpcy5fY2xvc2VEaWFsb2dzKHRoaXMub3BlbkRpYWxvZ3MpfWdldERpYWxvZ0J5SWQodCl7cmV0dXJuIHRoaXMub3BlbkRpYWxvZ3MuZmluZCgoZT0+ZS5pZD09PXQpKX1uZ09uRGVzdHJveSgpe3RoaXMuX2Nsb3NlRGlhbG9ncyh0aGlzLl9vcGVuRGlhbG9nc0F0VGhpc0xldmVsKSx0aGlzLl9hZnRlckFsbENsb3NlZEF0VGhpc0xldmVsLmNvbXBsZXRlKCksdGhpcy5fYWZ0ZXJPcGVuZWRBdFRoaXNMZXZlbC5jb21wbGV0ZSgpfV9jcmVhdGVPdmVybGF5KHQpe2NvbnN0IGU9dGhpcy5fZ2V0T3ZlcmxheUNvbmZpZyh0KTtyZXR1cm4gdGhpcy5fb3ZlcmxheS5jcmVhdGUoZSl9X2dldE92ZXJsYXlDb25maWcodCl7Y29uc3QgZT1uZXcgd0Ioe3Bvc2l0aW9uU3RyYXRlZ3k6dGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLHNjcm9sbFN0cmF0ZWd5OnQuc2Nyb2xsU3RyYXRlZ3l8fHRoaXMuX3Njcm9sbFN0cmF0ZWd5KCkscGFuZWxDbGFzczp0LnBhbmVsQ2xhc3MsaGFzQmFja2Ryb3A6dC5oYXNCYWNrZHJvcCxkaXJlY3Rpb246dC5kaXJlY3Rpb24sbWluV2lkdGg6dC5taW5XaWR0aCxtaW5IZWlnaHQ6dC5taW5IZWlnaHQsbWF4V2lkdGg6dC5tYXhXaWR0aCxtYXhIZWlnaHQ6dC5tYXhIZWlnaHQsZGlzcG9zZU9uTmF2aWdhdGlvbjp0LmNsb3NlT25OYXZpZ2F0aW9ufSk7cmV0dXJuIHQuYmFja2Ryb3BDbGFzcyYmKGUuYmFja2Ryb3BDbGFzcz10LmJhY2tkcm9wQ2xhc3MpLGV9X2F0dGFjaERpYWxvZ0NvbnRhaW5lcih0LGUpe2NvbnN0IG49TnAuY3JlYXRlKHtwYXJlbnQ6ZSYmZS52aWV3Q29udGFpbmVyUmVmJiZlLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3J8fHRoaXMuX2luamVjdG9yLHByb3ZpZGVyczpbe3Byb3ZpZGU6elksdXNlVmFsdWU6ZX1dfSksbz1uZXcgc0IodGhpcy5fZGlhbG9nQ29udGFpbmVyVHlwZSxlLnZpZXdDb250YWluZXJSZWYsbixlLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcik7cmV0dXJuIHQuYXR0YWNoKG8pLmluc3RhbmNlfV9hdHRhY2hEaWFsb2dDb250ZW50KHQsZSxuLG8pe2NvbnN0IGk9bmV3IHRoaXMuX2RpYWxvZ1JlZkNvbnN0cnVjdG9yKG4sZSxvLmlkKTtpZih0IGluc3RhbmNlb2YgRWIpZS5hdHRhY2hUZW1wbGF0ZVBvcnRhbChuZXcgbEIodCxudWxsLHskaW1wbGljaXQ6by5kYXRhLGRpYWxvZ1JlZjppfSkpO2Vsc2V7Y29uc3Qgbj10aGlzLl9jcmVhdGVJbmplY3RvcihvLGksZSksYT1lLmF0dGFjaENvbXBvbmVudFBvcnRhbChuZXcgc0IodCxvLnZpZXdDb250YWluZXJSZWYsbikpO2kuY29tcG9uZW50SW5zdGFuY2U9YS5pbnN0YW5jZX1yZXR1cm4gaS51cGRhdGVTaXplKG8ud2lkdGgsby5oZWlnaHQpLnVwZGF0ZVBvc2l0aW9uKG8ucG9zaXRpb24pLGl9X2NyZWF0ZUluamVjdG9yKHQsZSxuKXtjb25zdCBvPXQmJnQudmlld0NvbnRhaW5lclJlZiYmdC52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yLGk9W3twcm92aWRlOnRoaXMuX2RpYWxvZ0NvbnRhaW5lclR5cGUsdXNlVmFsdWU6bn0se3Byb3ZpZGU6dGhpcy5fZGlhbG9nRGF0YVRva2VuLHVzZVZhbHVlOnQuZGF0YX0se3Byb3ZpZGU6dGhpcy5fZGlhbG9nUmVmQ29uc3RydWN0b3IsdXNlVmFsdWU6ZX1dO3JldHVybiF0LmRpcmVjdGlvbnx8byYmby5nZXQodkYsbnVsbCxIbi5PcHRpb25hbCl8fGkucHVzaCh7cHJvdmlkZTp2Rix1c2VWYWx1ZTp7dmFsdWU6dC5kaXJlY3Rpb24sY2hhbmdlOnp0KCl9fSksTnAuY3JlYXRlKHtwYXJlbnQ6b3x8dGhpcy5faW5qZWN0b3IscHJvdmlkZXJzOml9KX1fcmVtb3ZlT3BlbkRpYWxvZyh0KXtjb25zdCBlPXRoaXMub3BlbkRpYWxvZ3MuaW5kZXhPZih0KTtlPi0xJiYodGhpcy5vcGVuRGlhbG9ncy5zcGxpY2UoZSwxKSx0aGlzLm9wZW5EaWFsb2dzLmxlbmd0aHx8KHRoaXMuX2FyaWFIaWRkZW5FbGVtZW50cy5mb3JFYWNoKCgodCxlKT0+e3Q/ZS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIix0KTplLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKX0pKSx0aGlzLl9hcmlhSGlkZGVuRWxlbWVudHMuY2xlYXIoKSx0aGlzLl9nZXRBZnRlckFsbENsb3NlZCgpLm5leHQoKSkpfV9oaWRlTm9uRGlhbG9nQ29udGVudEZyb21Bc3Npc3RpdmVUZWNobm9sb2d5KCl7Y29uc3QgdD10aGlzLl9vdmVybGF5Q29udGFpbmVyLmdldENvbnRhaW5lckVsZW1lbnQoKTtpZih0LnBhcmVudEVsZW1lbnQpe2NvbnN0IGU9dC5wYXJlbnRFbGVtZW50LmNoaWxkcmVuO2ZvcihsZXQgbj1lLmxlbmd0aC0xO24+LTE7bi0tKXtsZXQgbz1lW25dO289PT10fHwiU0NSSVBUIj09PW8ubm9kZU5hbWV8fCJTVFlMRSI9PT1vLm5vZGVOYW1lfHxvLmhhc0F0dHJpYnV0ZSgiYXJpYS1saXZlIil8fCh0aGlzLl9hcmlhSGlkZGVuRWxlbWVudHMuc2V0KG8sby5nZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIikpLG8uc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSl9fX1fY2xvc2VEaWFsb2dzKHQpe2xldCBlPXQubGVuZ3RoO2Zvcig7ZS0tOyl0W2VdLmNsb3NlKCl9fVpZLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxaWSkoZ2YoS0IpLGdmKE5wKSxnZih2b2lkIDApLGdmKHZvaWQgMCksZ2YoSEIpLGdmKHZvaWQgMCksZ2YoY3IpLGdmKGNyKSxnZihlcikpfSxaWS7JtWRpcj1obyh7dHlwZTpaWX0pLFpZLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S0J9LHt0eXBlOk5wfSx7dHlwZTp2b2lkIDB9LHt0eXBlOnZvaWQgMH0se3R5cGU6SEJ9LHt0eXBlOnZvaWQgMH0se3R5cGU6Y3J9LHt0eXBlOmNyfSx7dHlwZTplcn1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWlksW3t0eXBlOmtffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktCfSx7dHlwZTpOcH0se3R5cGU6dm9pZCAwfSx7dHlwZTp2b2lkIDB9LHt0eXBlOkhCfSx7dHlwZTp2b2lkIDB9LHt0eXBlOmNyfSx7dHlwZTpjcn0se3R5cGU6ZXJ9XX0pLG51bGwpO2NsYXNzIFhZIGV4dGVuZHMgWll7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscil7c3VwZXIodCxlLG8sYSxyLGksVlksTFksVVkpfX1YWS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WFkpKFRyKEtCKSxUcihOcCksVHIoTU0sOCksVHIoV1ksOCksVHIoR1kpLFRyKFhZLDEyKSxUcihIQikpfSxYWS7JtXByb3Y9U24oe3Rva2VuOlhZLGZhY3Rvcnk6WFkuybVmYWN9KSxYWS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktCfSx7dHlwZTpOcH0se3R5cGU6TU0sZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6elksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1dZXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbR1ldfV19LHt0eXBlOlhZLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpqcn1dfSx7dHlwZTpIQn1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWFksW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktCfSx7dHlwZTpOcH0se3R5cGU6TU0sZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6elksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1dZXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbR1ldfV19LHt0eXBlOlhZLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpqcn1dfSx7dHlwZTpIQn1dfSksbnVsbCk7bGV0IEtZPTA7Y2xhc3MgSll7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuZGlhbG9nUmVmPXQsdGhpcy5fZWxlbWVudFJlZj1lLHRoaXMuX2RpYWxvZz1uLHRoaXMudHlwZT0iYnV0dG9uIn1uZ09uSW5pdCgpe3RoaXMuZGlhbG9nUmVmfHwodGhpcy5kaWFsb2dSZWY9ZXEodGhpcy5fZWxlbWVudFJlZix0aGlzLl9kaWFsb2cub3BlbkRpYWxvZ3MpKX1uZ09uQ2hhbmdlcyh0KXtjb25zdCBlPXQuX21hdERpYWxvZ0Nsb3NlfHx0Ll9tYXREaWFsb2dDbG9zZVJlc3VsdDtlJiYodGhpcy5kaWFsb2dSZXN1bHQ9ZS5jdXJyZW50VmFsdWUpfV9vbkJ1dHRvbkNsaWNrKHQpe2pZKHRoaXMuZGlhbG9nUmVmLDA9PT10LnNjcmVlblgmJjA9PT10LnNjcmVlblk/ImtleWJvYXJkIjoibW91c2UiLHRoaXMuZGlhbG9nUmVzdWx0KX19SlkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEpZKShnZihWWSw4KSxnZihLaCksZ2YoWFkpKX0sSlkuybVkaXI9aG8oe3R5cGU6Slksc2VsZWN0b3JzOltbIiIsIm1hdC1kaWFsb2ctY2xvc2UiLCIiXSxbIiIsIm1hdERpYWxvZ0Nsb3NlIiwiIl1dLGhvc3RWYXJzOjIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJjbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX29uQnV0dG9uQ2xpY2soZSl9KSksMiZlJiZ5bSgiYXJpYS1sYWJlbCIsbi5hcmlhTGFiZWx8fG51bGwpKCJ0eXBlIixuLnR5cGUpfSxpbnB1dHM6e3R5cGU6InR5cGUiLGRpYWxvZ1Jlc3VsdDpbIm1hdC1kaWFsb2ctY2xvc2UiLCJkaWFsb2dSZXN1bHQiXSxhcmlhTGFiZWw6WyJhcmlhLWxhYmVsIiwiYXJpYUxhYmVsIl0sX21hdERpYWxvZ0Nsb3NlOlsibWF0RGlhbG9nQ2xvc2UiLCJfbWF0RGlhbG9nQ2xvc2UiXX0sZXhwb3J0QXM6WyJtYXREaWFsb2dDbG9zZSJdLGZlYXR1cmVzOltxb119KSxKWS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlZZLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOktofSx7dHlwZTpYWX1dLEpZLnByb3BEZWNvcmF0b3JzPXthcmlhTGFiZWw6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsIl19XSx0eXBlOlt7dHlwZTpSX31dLGRpYWxvZ1Jlc3VsdDpbe3R5cGU6Ul8sYXJnczpbIm1hdC1kaWFsb2ctY2xvc2UiXX1dLF9tYXREaWFsb2dDbG9zZTpbe3R5cGU6Ul8sYXJnczpbIm1hdERpYWxvZ0Nsb3NlIl19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihKWSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbWF0LWRpYWxvZy1jbG9zZV0sIFttYXREaWFsb2dDbG9zZV0iLGV4cG9ydEFzOiJtYXREaWFsb2dDbG9zZSIsaG9zdDp7IihjbGljaykiOiJfb25CdXR0b25DbGljaygkZXZlbnQpIiwiW2F0dHIuYXJpYS1sYWJlbF0iOiJhcmlhTGFiZWwgfHwgbnVsbCIsIlthdHRyLnR5cGVdIjoidHlwZSJ9fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6VlksZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6S2h9LHt0eXBlOlhZfV19KSx7dHlwZTpbe3R5cGU6Ul99XSxkaWFsb2dSZXN1bHQ6W3t0eXBlOlJfLGFyZ3M6WyJtYXQtZGlhbG9nLWNsb3NlIl19XSxhcmlhTGFiZWw6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsIl19XSxfbWF0RGlhbG9nQ2xvc2U6W3t0eXBlOlJfLGFyZ3M6WyJtYXREaWFsb2dDbG9zZSJdfV19KTtjbGFzcyBRWXtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fZGlhbG9nUmVmPXQsdGhpcy5fZWxlbWVudFJlZj1lLHRoaXMuX2RpYWxvZz1uLHRoaXMuaWQ9Im1hdC1kaWFsb2ctdGl0bGUtIitLWSsrfW5nT25Jbml0KCl7dGhpcy5fZGlhbG9nUmVmfHwodGhpcy5fZGlhbG9nUmVmPWVxKHRoaXMuX2VsZW1lbnRSZWYsdGhpcy5fZGlhbG9nLm9wZW5EaWFsb2dzKSksdGhpcy5fZGlhbG9nUmVmJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e2NvbnN0IHQ9dGhpcy5fZGlhbG9nUmVmLl9jb250YWluZXJJbnN0YW5jZTt0JiYhdC5fYXJpYUxhYmVsbGVkQnkmJih0Ll9hcmlhTGFiZWxsZWRCeT10aGlzLmlkKX0pKX19UVkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFFZKShnZihWWSw4KSxnZihLaCksZ2YoWFkpKX0sUVkuybVkaXI9aG8oe3R5cGU6UVksc2VsZWN0b3JzOltbIiIsIm1hdC1kaWFsb2ctdGl0bGUiLCIiXSxbIiIsIm1hdERpYWxvZ1RpdGxlIiwiIl1dLGhvc3RBdHRyczpbMSwibWF0LWRpYWxvZy10aXRsZSJdLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJmNnKCJpZCIsbi5pZCl9LGlucHV0czp7aWQ6ImlkIn0sZXhwb3J0QXM6WyJtYXREaWFsb2dUaXRsZSJdfSksUVkuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpWWSxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpLaH0se3R5cGU6WFl9XSxRWS5wcm9wRGVjb3JhdG9ycz17aWQ6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUVksW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdC1kaWFsb2ctdGl0bGVdLCBbbWF0RGlhbG9nVGl0bGVdIixleHBvcnRBczoibWF0RGlhbG9nVGl0bGUiLGhvc3Q6e2NsYXNzOiJtYXQtZGlhbG9nLXRpdGxlIiwiW2lkXSI6ImlkIn19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpWWSxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpLaH0se3R5cGU6WFl9XX0pLHtpZDpbe3R5cGU6Ul99XX0pO2NsYXNzICRZe30kWS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JFkpfSwkWS7JtWRpcj1obyh7dHlwZTokWSxzZWxlY3RvcnM6W1siIiwibWF0LWRpYWxvZy1jb250ZW50IiwiIl0sWyJtYXQtZGlhbG9nLWNvbnRlbnQiXSxbIiIsIm1hdERpYWxvZ0NvbnRlbnQiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtZGlhbG9nLWNvbnRlbnQiXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJFksW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIixob3N0OntjbGFzczoibWF0LWRpYWxvZy1jb250ZW50In19XX1dLG51bGwsbnVsbCk7Y2xhc3MgdHF7fWZ1bmN0aW9uIGVxKHQsZSl7bGV0IG49dC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7Zm9yKDtuJiYhbi5jbGFzc0xpc3QuY29udGFpbnMoIm1hdC1kaWFsb2ctY29udGFpbmVyIik7KW49bi5wYXJlbnRFbGVtZW50O3JldHVybiBuP2UuZmluZCgodD0+dC5pZD09PW4uaWQpKTpudWxsfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi90cS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dHEpfSx0cS7JtWRpcj1obyh7dHlwZTp0cSxzZWxlY3RvcnM6W1siIiwibWF0LWRpYWxvZy1hY3Rpb25zIiwiIl0sWyJtYXQtZGlhbG9nLWFjdGlvbnMiXSxbIiIsIm1hdERpYWxvZ0FjdGlvbnMiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtZGlhbG9nLWFjdGlvbnMiXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodHEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdC1kaWFsb2ctYWN0aW9uc10sIG1hdC1kaWFsb2ctYWN0aW9ucywgW21hdERpYWxvZ0FjdGlvbnNdIixob3N0OntjbGFzczoibWF0LWRpYWxvZy1hY3Rpb25zIn19XX1dLG51bGwsbnVsbCk7Y2xhc3MgbnF7fW5xLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxucSl9LG5xLsm1bW9kPWZvKHt0eXBlOm5xfSksbnEuybVpbmo9RG4oe3Byb3ZpZGVyczpbWFksWVldLGltcG9ydHM6W1tvVixoQixORl0sTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihucSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W29WLGhCLE5GXSxleHBvcnRzOltMWSxKWSxRWSwkWSx0cSxORl0sZGVjbGFyYXRpb25zOltMWSxKWSxRWSx0cSwkWV0scHJvdmlkZXJzOltYWSxZWV0sZW50cnlDb21wb25lbnRzOltMWV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhucSx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW0xZLEpZLFFZLHRxLCRZXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltvVixoQixORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bTFksSlksUVksJFksdHEsTkZdfX0pO2NsYXNzIG9xe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fZG9jdW1lbnQ9ZTtjb25zdCBuPXRoaXMuX3RleHRhcmVhPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIiksbz1uLnN0eWxlO28ucG9zaXRpb249ImZpeGVkIixvLnRvcD1vLm9wYWNpdHk9IjAiLG8ubGVmdD0iLTk5OWVtIixuLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksbi52YWx1ZT10LHRoaXMuX2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobil9Y29weSgpe2NvbnN0IHQ9dGhpcy5fdGV4dGFyZWE7bGV0IGU9ITE7dHJ5e2lmKHQpe2NvbnN0IG49dGhpcy5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudDt0LnNlbGVjdCgpLHQuc2V0U2VsZWN0aW9uUmFuZ2UoMCx0LnZhbHVlLmxlbmd0aCksZT10aGlzLl9kb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpLG4mJm4uZm9jdXMoKX19Y2F0Y2godCl7fXJldHVybiBlfWRlc3Ryb3koKXtjb25zdCB0PXRoaXMuX3RleHRhcmVhO3QmJih0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSx0aGlzLl90ZXh0YXJlYT12b2lkIDApfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgaXF7Y29uc3RydWN0b3IodCl7dGhpcy5fZG9jdW1lbnQ9dH1jb3B5KHQpe2NvbnN0IGU9dGhpcy5iZWdpbkNvcHkodCksbj1lLmNvcHkoKTtyZXR1cm4gZS5kZXN0cm95KCksbn1iZWdpbkNvcHkodCl7cmV0dXJuIG5ldyBvcSh0LHRoaXMuX2RvY3VtZW50KX19aXEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGlxKShUcihzTSkpfSxpcS7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgaXEoVHIoc00pKX0sdG9rZW46aXEscHJvdmlkZWRJbjoicm9vdCJ9KSxpcS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaXEsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBhcT1uZXcgZXIoIkNES19DT1BZX1RPX0NMSVBCT0FSRF9DT05GSUciKTtjbGFzcyBycXtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fY2xpcGJvYXJkPXQsdGhpcy5fbmdab25lPWUsdGhpcy50ZXh0PSIiLHRoaXMuYXR0ZW1wdHM9MSx0aGlzLmNvcGllZD1uZXcgU3ksdGhpcy5fcGVuZGluZz1uZXcgU2V0LG4mJm51bGwhPW4uYXR0ZW1wdHMmJih0aGlzLmF0dGVtcHRzPW4uYXR0ZW1wdHMpfWNvcHkodD10aGlzLmF0dGVtcHRzKXtpZih0PjEpe2xldCBlPXQ7Y29uc3Qgbj10aGlzLl9jbGlwYm9hcmQuYmVnaW5Db3B5KHRoaXMudGV4dCk7dGhpcy5fcGVuZGluZy5hZGQobik7Y29uc3Qgbz0oKT0+e2NvbnN0IHQ9bi5jb3B5KCk7dHx8IS0tZXx8dGhpcy5fZGVzdHJveWVkPyh0aGlzLl9jdXJyZW50VGltZW91dD1udWxsLHRoaXMuX3BlbmRpbmcuZGVsZXRlKG4pLG4uZGVzdHJveSgpLHRoaXMuY29waWVkLmVtaXQodCkpOnRoaXMuX2N1cnJlbnRUaW1lb3V0PXRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PnNldFRpbWVvdXQobywxKSkpfTtvKCl9ZWxzZSB0aGlzLmNvcGllZC5lbWl0KHRoaXMuX2NsaXBib2FyZC5jb3B5KHRoaXMudGV4dCkpfW5nT25EZXN0cm95KCl7dGhpcy5fY3VycmVudFRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLl9jdXJyZW50VGltZW91dCksdGhpcy5fcGVuZGluZy5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX3BlbmRpbmcuY2xlYXIoKSx0aGlzLl9kZXN0cm95ZWQ9ITB9fXJxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxycSkoZ2YoaXEpLGdmKG1DKSxnZihhcSw4KSl9LHJxLsm1ZGlyPWhvKHt0eXBlOnJxLHNlbGVjdG9yczpbWyIiLCJjZGtDb3B5VG9DbGlwYm9hcmQiLCIiXV0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5jb3B5KCl9KSl9LGlucHV0czp7dGV4dDpbImNka0NvcHlUb0NsaXBib2FyZCIsInRleHQiXSxhdHRlbXB0czpbImNka0NvcHlUb0NsaXBib2FyZEF0dGVtcHRzIiwiYXR0ZW1wdHMiXX0sb3V0cHV0czp7Y29waWVkOiJjZGtDb3B5VG9DbGlwYm9hcmRDb3BpZWQifX0pLHJxLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6aXF9LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2FxXX1dfV0scnEucHJvcERlY29yYXRvcnM9e3RleHQ6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb3B5VG9DbGlwYm9hcmQiXX1dLGF0dGVtcHRzOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29weVRvQ2xpcGJvYXJkQXR0ZW1wdHMiXX1dLGNvcGllZDpbe3R5cGU6RV8sYXJnczpbImNka0NvcHlUb0NsaXBib2FyZENvcGllZCJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocnEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Nka0NvcHlUb0NsaXBib2FyZF0iLGhvc3Q6eyIoY2xpY2spIjoiY29weSgpIn19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppcX0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbYXFdfV19XX0pLHt0ZXh0Olt7dHlwZTpSXyxhcmdzOlsiY2RrQ29weVRvQ2xpcGJvYXJkIl19XSxhdHRlbXB0czpbe3R5cGU6Ul8sYXJnczpbImNka0NvcHlUb0NsaXBib2FyZEF0dGVtcHRzIl19XSxjb3BpZWQ6W3t0eXBlOkVfLGFyZ3M6WyJjZGtDb3B5VG9DbGlwYm9hcmRDb3BpZWQiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBzcXt9c3EuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHNxKX0sc3EuybVtb2Q9Zm8oe3R5cGU6c3F9KSxzcS7JtWluaj1Ebih7fSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihzcSxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbcnFdLGV4cG9ydHM6W3JxXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHNxLHtkZWNsYXJhdGlvbnM6W3JxXSxleHBvcnRzOltycV19KTtmdW5jdGlvbiBscSh0KXtyZXR1cm4gRXJyb3IoYFVuYWJsZSB0byBmaW5kIGljb24gd2l0aCB0aGUgbmFtZSAiJHt0fSJgKX1mdW5jdGlvbiBjcSh0KXtyZXR1cm4gRXJyb3IoYFRoZSBVUkwgcHJvdmlkZWQgdG8gTWF0SWNvblJlZ2lzdHJ5IHdhcyBub3QgdHJ1c3RlZCBhcyBhIHJlc291cmNlIFVSTCB2aWEgQW5ndWxhcidzIERvbVNhbml0aXplci4gQXR0ZW1wdGVkIFVSTCB3YXMgIiR7dH0iLmApfWZ1bmN0aW9uIGRxKHQpe3JldHVybiBFcnJvcihgVGhlIGxpdGVyYWwgcHJvdmlkZWQgdG8gTWF0SWNvblJlZ2lzdHJ5IHdhcyBub3QgdHJ1c3RlZCBhcyBzYWZlIEhUTUwgYnkgQW5ndWxhcidzIERvbVNhbml0aXplci4gQXR0ZW1wdGVkIGxpdGVyYWwgd2FzICIke3R9Ii5gKX1jbGFzcyBwcXtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy51cmw9dCx0aGlzLnN2Z1RleHQ9ZSx0aGlzLm9wdGlvbnM9bn19Y2xhc3MgbXF7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5faHR0cENsaWVudD10LHRoaXMuX3Nhbml0aXplcj1lLHRoaXMuX2Vycm9ySGFuZGxlcj1vLHRoaXMuX3N2Z0ljb25Db25maWdzPW5ldyBNYXAsdGhpcy5faWNvblNldENvbmZpZ3M9bmV3IE1hcCx0aGlzLl9jYWNoZWRJY29uc0J5VXJsPW5ldyBNYXAsdGhpcy5faW5Qcm9ncmVzc1VybEZldGNoZXM9bmV3IE1hcCx0aGlzLl9mb250Q3NzQ2xhc3Nlc0J5QWxpYXM9bmV3IE1hcCx0aGlzLl9yZXNvbHZlcnM9W10sdGhpcy5fZGVmYXVsdEZvbnRTZXRDbGFzcz0ibWF0ZXJpYWwtaWNvbnMiLHRoaXMuX2RvY3VtZW50PW59YWRkU3ZnSWNvbih0LGUsbil7cmV0dXJuIHRoaXMuYWRkU3ZnSWNvbkluTmFtZXNwYWNlKCIiLHQsZSxuKX1hZGRTdmdJY29uTGl0ZXJhbCh0LGUsbil7cmV0dXJuIHRoaXMuYWRkU3ZnSWNvbkxpdGVyYWxJbk5hbWVzcGFjZSgiIix0LGUsbil9YWRkU3ZnSWNvbkluTmFtZXNwYWNlKHQsZSxuLG8pe3JldHVybiB0aGlzLl9hZGRTdmdJY29uQ29uZmlnKHQsZSxuZXcgcHEobixudWxsLG8pKX1hZGRTdmdJY29uUmVzb2x2ZXIodCl7cmV0dXJuIHRoaXMuX3Jlc29sdmVycy5wdXNoKHQpLHRoaXN9YWRkU3ZnSWNvbkxpdGVyYWxJbk5hbWVzcGFjZSh0LGUsbixvKXtjb25zdCBpPXRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShZcy5IVE1MLG4pO2lmKCFpKXRocm93IGRxKG4pO3JldHVybiB0aGlzLl9hZGRTdmdJY29uQ29uZmlnKHQsZSxuZXcgcHEoIiIsaSxvKSl9YWRkU3ZnSWNvblNldCh0LGUpe3JldHVybiB0aGlzLmFkZFN2Z0ljb25TZXRJbk5hbWVzcGFjZSgiIix0LGUpfWFkZFN2Z0ljb25TZXRMaXRlcmFsKHQsZSl7cmV0dXJuIHRoaXMuYWRkU3ZnSWNvblNldExpdGVyYWxJbk5hbWVzcGFjZSgiIix0LGUpfWFkZFN2Z0ljb25TZXRJbk5hbWVzcGFjZSh0LGUsbil7cmV0dXJuIHRoaXMuX2FkZFN2Z0ljb25TZXRDb25maWcodCxuZXcgcHEoZSxudWxsLG4pKX1hZGRTdmdJY29uU2V0TGl0ZXJhbEluTmFtZXNwYWNlKHQsZSxuKXtjb25zdCBvPXRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShZcy5IVE1MLGUpO2lmKCFvKXRocm93IGRxKGUpO3JldHVybiB0aGlzLl9hZGRTdmdJY29uU2V0Q29uZmlnKHQsbmV3IHBxKCIiLG8sbikpfXJlZ2lzdGVyRm9udENsYXNzQWxpYXModCxlPXQpe3JldHVybiB0aGlzLl9mb250Q3NzQ2xhc3Nlc0J5QWxpYXMuc2V0KHQsZSksdGhpc31jbGFzc05hbWVGb3JGb250QWxpYXModCl7cmV0dXJuIHRoaXMuX2ZvbnRDc3NDbGFzc2VzQnlBbGlhcy5nZXQodCl8fHR9c2V0RGVmYXVsdEZvbnRTZXRDbGFzcyh0KXtyZXR1cm4gdGhpcy5fZGVmYXVsdEZvbnRTZXRDbGFzcz10LHRoaXN9Z2V0RGVmYXVsdEZvbnRTZXRDbGFzcygpe3JldHVybiB0aGlzLl9kZWZhdWx0Rm9udFNldENsYXNzfWdldFN2Z0ljb25Gcm9tVXJsKHQpe2NvbnN0IGU9dGhpcy5fc2FuaXRpemVyLnNhbml0aXplKFlzLlJFU09VUkNFX1VSTCx0KTtpZighZSl0aHJvdyBjcSh0KTtjb25zdCBuPXRoaXMuX2NhY2hlZEljb25zQnlVcmwuZ2V0KGUpO3JldHVybiBuP3p0KGZxKG4pKTp0aGlzLl9sb2FkU3ZnSWNvbkZyb21Db25maWcobmV3IHBxKHQsbnVsbCkpLnBpcGUoV2UoKHQ9PnRoaXMuX2NhY2hlZEljb25zQnlVcmwuc2V0KGUsdCkpKSxWdCgodD0+ZnEodCkpKSl9Z2V0TmFtZWRTdmdJY29uKHQsZT0iIil7Y29uc3Qgbj11cShlLHQpO2xldCBvPXRoaXMuX3N2Z0ljb25Db25maWdzLmdldChuKTtpZihvKXJldHVybiB0aGlzLl9nZXRTdmdGcm9tQ29uZmlnKG8pO2lmKG89dGhpcy5fZ2V0SWNvbkNvbmZpZ0Zyb21SZXNvbHZlcnMoZSx0KSxvKXJldHVybiB0aGlzLl9zdmdJY29uQ29uZmlncy5zZXQobixvKSx0aGlzLl9nZXRTdmdGcm9tQ29uZmlnKG8pO2NvbnN0IGk9dGhpcy5faWNvblNldENvbmZpZ3MuZ2V0KGUpO3JldHVybiBpP3RoaXMuX2dldFN2Z0Zyb21JY29uU2V0Q29uZmlncyh0LGkpOkl0KGxxKG4pKX1uZ09uRGVzdHJveSgpe3RoaXMuX3Jlc29sdmVycz1bXSx0aGlzLl9zdmdJY29uQ29uZmlncy5jbGVhcigpLHRoaXMuX2ljb25TZXRDb25maWdzLmNsZWFyKCksdGhpcy5fY2FjaGVkSWNvbnNCeVVybC5jbGVhcigpfV9nZXRTdmdGcm9tQ29uZmlnKHQpe3JldHVybiB0LnN2Z1RleHQ/enQoZnEodGhpcy5fc3ZnRWxlbWVudEZyb21Db25maWcodCkpKTp0aGlzLl9sb2FkU3ZnSWNvbkZyb21Db25maWcodCkucGlwZShWdCgodD0+ZnEodCkpKSl9X2dldFN2Z0Zyb21JY29uU2V0Q29uZmlncyh0LGUpe2NvbnN0IG49dGhpcy5fZXh0cmFjdEljb25XaXRoTmFtZUZyb21BbnlTZXQodCxlKTtpZihuKXJldHVybiB6dChuKTtyZXR1cm4gaWUoZS5maWx0ZXIoKHQ9PiF0LnN2Z1RleHQpKS5tYXAoKHQ9PnRoaXMuX2xvYWRTdmdJY29uU2V0RnJvbUNvbmZpZyh0KS5waXBlKGhlKChlPT57Y29uc3Qgbj10aGlzLl9zYW5pdGl6ZXIuc2FuaXRpemUoWXMuUkVTT1VSQ0VfVVJMLHQudXJsKTtyZXR1cm4gdGhpcy5fZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKG5ldyBFcnJvcihgTG9hZGluZyBpY29uIHNldCBVUkw6ICR7bn0gZmFpbGVkOiAke2UubWVzc2FnZX1gKSksenQobnVsbCl9KSkpKSkpLnBpcGUoVnQoKCgpPT57Y29uc3Qgbj10aGlzLl9leHRyYWN0SWNvbldpdGhOYW1lRnJvbUFueVNldCh0LGUpO2lmKCFuKXRocm93IGxxKHQpO3JldHVybiBufSkpKX1fZXh0cmFjdEljb25XaXRoTmFtZUZyb21BbnlTZXQodCxlKXtmb3IobGV0IG49ZS5sZW5ndGgtMTtuPj0wO24tLSl7Y29uc3Qgbz1lW25dO2lmKG8uc3ZnVGV4dCYmby5zdmdUZXh0LmluZGV4T2YodCk+LTEpe2NvbnN0IGU9dGhpcy5fc3ZnRWxlbWVudEZyb21Db25maWcobyksbj10aGlzLl9leHRyYWN0U3ZnSWNvbkZyb21TZXQoZSx0LG8ub3B0aW9ucyk7aWYobilyZXR1cm4gbn19cmV0dXJuIG51bGx9X2xvYWRTdmdJY29uRnJvbUNvbmZpZyh0KXtyZXR1cm4gdGhpcy5fZmV0Y2hJY29uKHQpLnBpcGUoV2UoKGU9PnQuc3ZnVGV4dD1lKSksVnQoKCgpPT50aGlzLl9zdmdFbGVtZW50RnJvbUNvbmZpZyh0KSkpKX1fbG9hZFN2Z0ljb25TZXRGcm9tQ29uZmlnKHQpe3JldHVybiB0LnN2Z1RleHQ/enQobnVsbCk6dGhpcy5fZmV0Y2hJY29uKHQpLnBpcGUoV2UoKGU9PnQuc3ZnVGV4dD1lKSkpfV9leHRyYWN0U3ZnSWNvbkZyb21TZXQodCxlLG4pe2NvbnN0IG89dC5xdWVyeVNlbGVjdG9yKGBbaWQ9IiR7ZX0iXWApO2lmKCFvKXJldHVybiBudWxsO2NvbnN0IGk9by5jbG9uZU5vZGUoITApO2lmKGkucmVtb3ZlQXR0cmlidXRlKCJpZCIpLCJzdmciPT09aS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXJldHVybiB0aGlzLl9zZXRTdmdBdHRyaWJ1dGVzKGksbik7aWYoInN5bWJvbCI9PT1pLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpcmV0dXJuIHRoaXMuX3NldFN2Z0F0dHJpYnV0ZXModGhpcy5fdG9TdmdFbGVtZW50KGkpLG4pO2NvbnN0IGE9dGhpcy5fc3ZnRWxlbWVudEZyb21TdHJpbmcoIjxzdmc+PC9zdmc+Iik7cmV0dXJuIGEuYXBwZW5kQ2hpbGQoaSksdGhpcy5fc2V0U3ZnQXR0cmlidXRlcyhhLG4pfV9zdmdFbGVtZW50RnJvbVN0cmluZyh0KXtjb25zdCBlPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpO2UuaW5uZXJIVE1MPXQ7Y29uc3Qgbj1lLnF1ZXJ5U2VsZWN0b3IoInN2ZyIpO2lmKCFuKXRocm93IEVycm9yKCI8c3ZnPiB0YWcgbm90IGZvdW5kIik7cmV0dXJuIG59X3RvU3ZnRWxlbWVudCh0KXtjb25zdCBlPXRoaXMuX3N2Z0VsZW1lbnRGcm9tU3RyaW5nKCI8c3ZnPjwvc3ZnPiIpLG49dC5hdHRyaWJ1dGVzO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXtjb25zdHtuYW1lOm8sdmFsdWU6aX09blt0XTsiaWQiIT09byYmZS5zZXRBdHRyaWJ1dGUobyxpKX1mb3IobGV0IG49MDtuPHQuY2hpbGROb2Rlcy5sZW5ndGg7bisrKXQuY2hpbGROb2Rlc1tuXS5ub2RlVHlwZT09PXRoaXMuX2RvY3VtZW50LkVMRU1FTlRfTk9ERSYmZS5hcHBlbmRDaGlsZCh0LmNoaWxkTm9kZXNbbl0uY2xvbmVOb2RlKCEwKSk7cmV0dXJuIGV9X3NldFN2Z0F0dHJpYnV0ZXModCxlKXtyZXR1cm4gdC5zZXRBdHRyaWJ1dGUoImZpdCIsIiIpLHQuc2V0QXR0cmlidXRlKCJoZWlnaHQiLCIxMDAlIiksdC5zZXRBdHRyaWJ1dGUoIndpZHRoIiwiMTAwJSIpLHQuc2V0QXR0cmlidXRlKCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIiwieE1pZFlNaWQgbWVldCIpLHQuc2V0QXR0cmlidXRlKCJmb2N1c2FibGUiLCJmYWxzZSIpLGUmJmUudmlld0JveCYmdC5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLGUudmlld0JveCksdH1fZmV0Y2hJY29uKHQpe3ZhciBlO2NvbnN0e3VybDpuLG9wdGlvbnM6b309dCxpPW51bGwhPT0oZT1udWxsPT1vP3ZvaWQgMDpvLndpdGhDcmVkZW50aWFscykmJnZvaWQgMCE9PWUmJmU7aWYoIXRoaXMuX2h0dHBDbGllbnQpdGhyb3coZnVuY3Rpb24gYSgpe3JldHVybiBFcnJvcigiQ291bGQgbm90IGZpbmQgSHR0cENsaWVudCBwcm92aWRlciBmb3IgdXNlIHdpdGggQW5ndWxhciBNYXRlcmlhbCBpY29ucy4gUGxlYXNlIGluY2x1ZGUgdGhlIEh0dHBDbGllbnRNb2R1bGUgZnJvbSBAYW5ndWxhci9jb21tb24vaHR0cCBpbiB5b3VyIGFwcCBpbXBvcnRzLiIpfSkoKTtpZihudWxsPT1uKXRocm93IEVycm9yKGBDYW5ub3QgZmV0Y2ggaWNvbiBmcm9tIFVSTCAiJHtufSIuYCk7Y29uc3Qgcj10aGlzLl9zYW5pdGl6ZXIuc2FuaXRpemUoWXMuUkVTT1VSQ0VfVVJMLG4pO2lmKCFyKXRocm93IGNxKG4pO2NvbnN0IHM9dGhpcy5faW5Qcm9ncmVzc1VybEZldGNoZXMuZ2V0KHIpO2lmKHMpcmV0dXJuIHM7Y29uc3QgbD10aGlzLl9odHRwQ2xpZW50LmdldChyLHtyZXNwb25zZVR5cGU6InRleHQiLHdpdGhDcmVkZW50aWFsczppfSkucGlwZSgoZnVuY3Rpb24gYyh0KXtyZXR1cm4geigoZnVuY3Rpb24oZSxuKXt0cnl7ZS5zdWJzY3JpYmUobil9ZmluYWxseXtuLmFkZCh0KX19KSl9KSgoKCk9PnRoaXMuX2luUHJvZ3Jlc3NVcmxGZXRjaGVzLmRlbGV0ZShyKSkpLEllKCkpO3JldHVybiB0aGlzLl9pblByb2dyZXNzVXJsRmV0Y2hlcy5zZXQocixsKSxsfV9hZGRTdmdJY29uQ29uZmlnKHQsZSxuKXtyZXR1cm4gdGhpcy5fc3ZnSWNvbkNvbmZpZ3Muc2V0KHVxKHQsZSksbiksdGhpc31fYWRkU3ZnSWNvblNldENvbmZpZyh0LGUpe2NvbnN0IG49dGhpcy5faWNvblNldENvbmZpZ3MuZ2V0KHQpO3JldHVybiBuP24ucHVzaChlKTp0aGlzLl9pY29uU2V0Q29uZmlncy5zZXQodCxbZV0pLHRoaXN9X3N2Z0VsZW1lbnRGcm9tQ29uZmlnKHQpe2lmKCF0LnN2Z0VsZW1lbnQpe2NvbnN0IGU9dGhpcy5fc3ZnRWxlbWVudEZyb21TdHJpbmcodC5zdmdUZXh0KTt0aGlzLl9zZXRTdmdBdHRyaWJ1dGVzKGUsdC5vcHRpb25zKSx0LnN2Z0VsZW1lbnQ9ZX1yZXR1cm4gdC5zdmdFbGVtZW50fV9nZXRJY29uQ29uZmlnRnJvbVJlc29sdmVycyh0LGUpe2ZvcihsZXQgbz0wO288dGhpcy5fcmVzb2x2ZXJzLmxlbmd0aDtvKyspe2NvbnN0IGk9dGhpcy5fcmVzb2x2ZXJzW29dKGUsdCk7aWYoaSlyZXR1cm4obj1pKS51cmwmJm4ub3B0aW9ucz9uZXcgcHEoaS51cmwsbnVsbCxpLm9wdGlvbnMpOm5ldyBwcShpLG51bGwpfXZhciBuOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi99fWZ1bmN0aW9uIGZxKHQpe3JldHVybiB0LmNsb25lTm9kZSghMCl9ZnVuY3Rpb24gdXEodCxlKXtyZXR1cm4gdCsiOiIrZX1tcS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bXEpKFRyKGdFLDgpLFRyKGVPKSxUcihzTSw4KSxUcih1bCkpfSxtcS7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgbXEoVHIoZ0UsOCksVHIoZU8pLFRyKHNNLDgpLFRyKHVsKSl9LHRva2VuOm1xLHByb3ZpZGVkSW46InJvb3QifSksbXEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpnRSxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTplT30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6dWx9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1xLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpnRSxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTplT30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6dWx9XX0pLG51bGwpLG5ldyBCcixuZXcganIsbmV3IEJyLG5ldyBCcjtjb25zdCBncT1JRihjbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLl9lbGVtZW50UmVmPXR9fSksaHE9bmV3IGVyKCJtYXQtaWNvbi1sb2NhdGlvbiIse3Byb3ZpZGVkSW46InJvb3QiLGZhY3Rvcnk6ZnVuY3Rpb24gYnEoKXtjb25zdCB0PXpyKHNNKSxlPXQ/dC5sb2NhdGlvbjpudWxsO3JldHVybntnZXRQYXRobmFtZTooKT0+ZT9lLnBhdGhuYW1lK2Uuc2VhcmNoOiIifX19KTtjb25zdCB5cT1bImNsaXAtcGF0aCIsImNvbG9yLXByb2ZpbGUiLCJzcmMiLCJjdXJzb3IiLCJmaWxsIiwiZmlsdGVyIiwibWFya2VyIiwibWFya2VyLXN0YXJ0IiwibWFya2VyLW1pZCIsIm1hcmtlci1lbmQiLCJtYXNrIiwic3Ryb2tlIl0sX3E9eXEubWFwKCh0PT5gWyR7dH1dYCkpLmpvaW4oIiwgIiksQ3E9L151cmxcKFsnIl0/IyguKj8pWyciXT9cKSQvO2NsYXNzIE1xIGV4dGVuZHMgZ3F7Y29uc3RydWN0b3IodCxlLG4sbyxpKXtzdXBlcih0KSx0aGlzLl9pY29uUmVnaXN0cnk9ZSx0aGlzLl9sb2NhdGlvbj1vLHRoaXMuX2Vycm9ySGFuZGxlcj1pLHRoaXMuX2lubGluZT0hMSx0aGlzLl9jdXJyZW50SWNvbkZldGNoPXUuRU1QVFksbnx8dC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIil9Z2V0IGlubGluZSgpe3JldHVybiB0aGlzLl9pbmxpbmV9c2V0IGlubGluZSh0KXt0aGlzLl9pbmxpbmU9ZUgodCl9Z2V0IHN2Z0ljb24oKXtyZXR1cm4gdGhpcy5fc3ZnSWNvbn1zZXQgc3ZnSWNvbih0KXt0IT09dGhpcy5fc3ZnSWNvbiYmKHQ/dGhpcy5fdXBkYXRlU3ZnSWNvbih0KTp0aGlzLl9zdmdJY29uJiZ0aGlzLl9jbGVhclN2Z0VsZW1lbnQoKSx0aGlzLl9zdmdJY29uPXQpfWdldCBmb250U2V0KCl7cmV0dXJuIHRoaXMuX2ZvbnRTZXR9c2V0IGZvbnRTZXQodCl7Y29uc3QgZT10aGlzLl9jbGVhbnVwRm9udFZhbHVlKHQpO2UhPT10aGlzLl9mb250U2V0JiYodGhpcy5fZm9udFNldD1lLHRoaXMuX3VwZGF0ZUZvbnRJY29uQ2xhc3NlcygpKX1nZXQgZm9udEljb24oKXtyZXR1cm4gdGhpcy5fZm9udEljb259c2V0IGZvbnRJY29uKHQpe2NvbnN0IGU9dGhpcy5fY2xlYW51cEZvbnRWYWx1ZSh0KTtlIT09dGhpcy5fZm9udEljb24mJih0aGlzLl9mb250SWNvbj1lLHRoaXMuX3VwZGF0ZUZvbnRJY29uQ2xhc3NlcygpKX1fc3BsaXRJY29uTmFtZSh0KXtpZighdClyZXR1cm5bIiIsIiJdO2NvbnN0IGU9dC5zcGxpdCgiOiIpO3N3aXRjaChlLmxlbmd0aCl7Y2FzZSAxOnJldHVyblsiIixlWzBdXTtjYXNlIDI6cmV0dXJuIGU7ZGVmYXVsdDp0aHJvdyBFcnJvcihgSW52YWxpZCBpY29uIG5hbWU6ICIke3R9ImApfX1uZ09uSW5pdCgpe3RoaXMuX3VwZGF0ZUZvbnRJY29uQ2xhc3NlcygpfW5nQWZ0ZXJWaWV3Q2hlY2tlZCgpe2NvbnN0IHQ9dGhpcy5fZWxlbWVudHNXaXRoRXh0ZXJuYWxSZWZlcmVuY2VzO2lmKHQmJnQuc2l6ZSl7Y29uc3QgdD10aGlzLl9sb2NhdGlvbi5nZXRQYXRobmFtZSgpO3QhPT10aGlzLl9wcmV2aW91c1BhdGgmJih0aGlzLl9wcmV2aW91c1BhdGg9dCx0aGlzLl9wcmVwZW5kUGF0aFRvUmVmZXJlbmNlcyh0KSl9fW5nT25EZXN0cm95KCl7dGhpcy5fY3VycmVudEljb25GZXRjaC51bnN1YnNjcmliZSgpLHRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcyYmdGhpcy5fZWxlbWVudHNXaXRoRXh0ZXJuYWxSZWZlcmVuY2VzLmNsZWFyKCl9X3VzaW5nRm9udEljb24oKXtyZXR1cm4hdGhpcy5zdmdJY29ufV9zZXRTdmdFbGVtZW50KHQpe3RoaXMuX2NsZWFyU3ZnRWxlbWVudCgpO2NvbnN0IGU9dC5xdWVyeVNlbGVjdG9yQWxsKCJzdHlsZSIpO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0udGV4dENvbnRlbnQrPSIgIjtjb25zdCBuPXRoaXMuX2xvY2F0aW9uLmdldFBhdGhuYW1lKCk7dGhpcy5fcHJldmlvdXNQYXRoPW4sdGhpcy5fY2FjaGVDaGlsZHJlbldpdGhFeHRlcm5hbFJlZmVyZW5jZXModCksdGhpcy5fcHJlcGVuZFBhdGhUb1JlZmVyZW5jZXMobiksdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHQpfV9jbGVhclN2Z0VsZW1lbnQoKXtjb25zdCB0PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtsZXQgZT10LmNoaWxkTm9kZXMubGVuZ3RoO2Zvcih0aGlzLl9lbGVtZW50c1dpdGhFeHRlcm5hbFJlZmVyZW5jZXMmJnRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcy5jbGVhcigpO2UtLTspe2NvbnN0IG49dC5jaGlsZE5vZGVzW2VdOzE9PT1uLm5vZGVUeXBlJiYic3ZnIiE9PW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKXx8dC5yZW1vdmVDaGlsZChuKX19X3VwZGF0ZUZvbnRJY29uQ2xhc3Nlcygpe2lmKCF0aGlzLl91c2luZ0ZvbnRJY29uKCkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LGU9dGhpcy5mb250U2V0P3RoaXMuX2ljb25SZWdpc3RyeS5jbGFzc05hbWVGb3JGb250QWxpYXModGhpcy5mb250U2V0KTp0aGlzLl9pY29uUmVnaXN0cnkuZ2V0RGVmYXVsdEZvbnRTZXRDbGFzcygpO2UhPXRoaXMuX3ByZXZpb3VzRm9udFNldENsYXNzJiYodGhpcy5fcHJldmlvdXNGb250U2V0Q2xhc3MmJnQuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9wcmV2aW91c0ZvbnRTZXRDbGFzcyksZSYmdC5jbGFzc0xpc3QuYWRkKGUpLHRoaXMuX3ByZXZpb3VzRm9udFNldENsYXNzPWUpLHRoaXMuZm9udEljb24hPXRoaXMuX3ByZXZpb3VzRm9udEljb25DbGFzcyYmKHRoaXMuX3ByZXZpb3VzRm9udEljb25DbGFzcyYmdC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX3ByZXZpb3VzRm9udEljb25DbGFzcyksdGhpcy5mb250SWNvbiYmdC5jbGFzc0xpc3QuYWRkKHRoaXMuZm9udEljb24pLHRoaXMuX3ByZXZpb3VzRm9udEljb25DbGFzcz10aGlzLmZvbnRJY29uKX1fY2xlYW51cEZvbnRWYWx1ZSh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/dC50cmltKCkuc3BsaXQoIiAiKVswXTp0fV9wcmVwZW5kUGF0aFRvUmVmZXJlbmNlcyh0KXtjb25zdCBlPXRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcztlJiZlLmZvckVhY2goKChlLG4pPT57ZS5mb3JFYWNoKChlPT57bi5zZXRBdHRyaWJ1dGUoZS5uYW1lLGB1cmwoJyR7dH0jJHtlLnZhbHVlfScpYCl9KSl9KSl9X2NhY2hlQ2hpbGRyZW5XaXRoRXh0ZXJuYWxSZWZlcmVuY2VzKHQpe2NvbnN0IGU9dC5xdWVyeVNlbGVjdG9yQWxsKF9xKSxuPXRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcz10aGlzLl9lbGVtZW50c1dpdGhFeHRlcm5hbFJlZmVyZW5jZXN8fG5ldyBNYXA7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspeXEuZm9yRWFjaCgobz0+e2NvbnN0IGk9ZVt0XSxhPWkuZ2V0QXR0cmlidXRlKG8pLHI9YT9hLm1hdGNoKENxKTpudWxsO2lmKHIpe2xldCB0PW4uZ2V0KGkpO3R8fCh0PVtdLG4uc2V0KGksdCkpLHQucHVzaCh7bmFtZTpvLHZhbHVlOnJbMV19KX19KSl9X3VwZGF0ZVN2Z0ljb24odCl7aWYodGhpcy5fc3ZnTmFtZXNwYWNlPW51bGwsdGhpcy5fc3ZnTmFtZT1udWxsLHRoaXMuX2N1cnJlbnRJY29uRmV0Y2gudW5zdWJzY3JpYmUoKSx0KXtjb25zdFtlLG5dPXRoaXMuX3NwbGl0SWNvbk5hbWUodCk7ZSYmKHRoaXMuX3N2Z05hbWVzcGFjZT1lKSxuJiYodGhpcy5fc3ZnTmFtZT1uKSx0aGlzLl9jdXJyZW50SWNvbkZldGNoPXRoaXMuX2ljb25SZWdpc3RyeS5nZXROYW1lZFN2Z0ljb24obixlKS5waXBlKHZlKDEpKS5zdWJzY3JpYmUoKHQ9PnRoaXMuX3NldFN2Z0VsZW1lbnQodCkpLCh0PT57dGhpcy5fZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKG5ldyBFcnJvcihgRXJyb3IgcmV0cmlldmluZyBpY29uICR7ZX06JHtufSEgJHt0Lm1lc3NhZ2V9YCkpfSkpfX19TXEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE1xKShnZihLaCksZ2YobXEpLEdhKCJhcmlhLWhpZGRlbiIpLGdmKGhxKSxnZih1bCkpfSxNcS7JtWNtcD1zbyh7dHlwZTpNcSxzZWxlY3RvcnM6W1sibWF0LWljb24iXV0saG9zdEF0dHJzOlsicm9sZSIsImltZyIsMSwibWF0LWljb24iLCJub3RyYW5zbGF0ZSJdLGhvc3RWYXJzOjcsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJih5bSgiZGF0YS1tYXQtaWNvbi10eXBlIixuLl91c2luZ0ZvbnRJY29uKCk/ImZvbnQiOiJzdmciKSgiZGF0YS1tYXQtaWNvbi1uYW1lIixuLl9zdmdOYW1lfHxuLmZvbnRJY29uKSgiZGF0YS1tYXQtaWNvbi1uYW1lc3BhY2UiLG4uX3N2Z05hbWVzcGFjZXx8bi5mb250U2V0KSxjdSgibWF0LWljb24taW5saW5lIixuLmlubGluZSkoIm1hdC1pY29uLW5vLWNvbG9yIiwicHJpbWFyeSIhPT1uLmNvbG9yJiYiYWNjZW50IiE9PW4uY29sb3ImJiJ3YXJuIiE9PW4uY29sb3IpKX0saW5wdXRzOntjb2xvcjoiY29sb3IiLGlubGluZToiaW5saW5lIixzdmdJY29uOiJzdmdJY29uIixmb250U2V0OiJmb250U2V0Iixmb250SWNvbjoiZm9udEljb24ifSxleHBvcnRBczpbIm1hdEljb24iXSxmZWF0dXJlczpbUXBdLG5nQ29udGVudFNlbGVjdG9yczpbIioiXSxkZWNsczoxLHZhcnM6MCx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxGZigwKSl9LHN0eWxlczpbIi5tYXQtaWNvbntiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmlsbDpjdXJyZW50Q29sb3I7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ubWF0LWljb24ubWF0LWljb24taW5saW5le2ZvbnQtc2l6ZTppbmhlcml0O2hlaWdodDppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdH1bZGlyPXJ0bF0gLm1hdC1pY29uLXJ0bC1taXJyb3J7dHJhbnNmb3JtOnNjYWxlKC0xLCAxKX0ubWF0LWZvcm0tZmllbGQ6bm90KC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSkgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCAubWF0LWljb24sLm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29ue2Rpc3BsYXk6YmxvY2t9Lm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb24sLm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb257bWFyZ2luOmF1dG99XG4iXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSxNcS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTptcX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJhcmlhLWhpZGRlbiJdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltocV19XX0se3R5cGU6dWx9XSxNcS5wcm9wRGVjb3JhdG9ycz17aW5saW5lOlt7dHlwZTpSX31dLHN2Z0ljb246W3t0eXBlOlJffV0sZm9udFNldDpbe3R5cGU6Ul99XSxmb250SWNvbjpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihNcSxbe3R5cGU6U18sYXJnczpbe3RlbXBsYXRlOiI8bmctY29udGVudD48L25nLWNvbnRlbnQ+IixzZWxlY3RvcjoibWF0LWljb24iLGV4cG9ydEFzOiJtYXRJY29uIixpbnB1dHM6WyJjb2xvciJdLGhvc3Q6e3JvbGU6ImltZyIsY2xhc3M6Im1hdC1pY29uIG5vdHJhbnNsYXRlIiwiW2F0dHIuZGF0YS1tYXQtaWNvbi10eXBlXSI6J191c2luZ0ZvbnRJY29uKCkgPyAiZm9udCIgOiAic3ZnIicsIlthdHRyLmRhdGEtbWF0LWljb24tbmFtZV0iOiJfc3ZnTmFtZSB8fCBmb250SWNvbiIsIlthdHRyLmRhdGEtbWF0LWljb24tbmFtZXNwYWNlXSI6Il9zdmdOYW1lc3BhY2UgfHwgZm9udFNldCIsIltjbGFzcy5tYXQtaWNvbi1pbmxpbmVdIjoiaW5saW5lIiwiW2NsYXNzLm1hdC1pY29uLW5vLWNvbG9yXSI6J2NvbG9yICE9PSAicHJpbWFyeSIgJiYgY29sb3IgIT09ICJhY2NlbnQiICYmIGNvbG9yICE9PSAid2FybiInfSxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxzdHlsZXM6WyIubWF0LWljb257YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZpbGw6Y3VycmVudENvbG9yO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lm1hdC1pY29uLm1hdC1pY29uLWlubGluZXtmb250LXNpemU6aW5oZXJpdDtoZWlnaHQ6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O3dpZHRoOmluaGVyaXR9W2Rpcj1ydGxdIC5tYXQtaWNvbi1ydGwtbWlycm9ye3RyYW5zZm9ybTpzY2FsZSgtMSwgMSl9Lm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZDpub3QoLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5KSAubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbntkaXNwbGF5OmJsb2NrfS5tYXQtZm9ybS1maWVsZDpub3QoLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5KSAubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZDpub3QoLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5KSAubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29ue21hcmdpbjphdXRvfVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6bXF9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsiYXJpYS1oaWRkZW4iXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbaHFdfV19LHt0eXBlOnVsfV19KSx7aW5saW5lOlt7dHlwZTpSX31dLHN2Z0ljb246W3t0eXBlOlJffV0sZm9udFNldDpbe3R5cGU6Ul99XSxmb250SWNvbjpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgdnF7fXZxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx2cSl9LHZxLsm1bW9kPWZvKHt0eXBlOnZxfSksdnEuybVpbmo9RG4oe2ltcG9ydHM6W1tORl0sTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih2cSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W05GXSxleHBvcnRzOltNcSxORl0sZGVjbGFyYXRpb25zOltNcV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byh2cSx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW01xXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bTXEsTkZdfX0pO2NsYXNzIHhxe2NvbnN0cnVjdG9yKHQpe3RoaXMuZGlhbG9nUmVmPXQsdGhpcy50ZW5zb3Jib2FyZERvdERldlVybD0iaHR0cHM6Ly90ZW5zb3Jib2FyZC5kZXYvP3V0bV9zb3VyY2U9dGVuc29yYm9hcmQifW9uQ2xvc2UoKXt0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpfWdldENvbW1hbmRUZXh0KCl7aWYodGhpcy5sb2dkaXIpe3JldHVybiJ0ZW5zb3Jib2FyZCBkZXYgdXBsb2FkIC0tbG9nZGlyIFxcXG4gICAgJyIrdGhpcy5sb2dkaXIucmVwbGFjZSgvJy9nLCInXFwnJyIpKyInIn1yZXR1cm4idGVuc29yYm9hcmQgZGV2IHVwbG9hZCAtLWxvZ2RpciB7bG9nZGlyfSJ9fXhxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4cSkoZ2YoVlkpKX0seHEuybVjbXA9c28oe3R5cGU6eHEsc2VsZWN0b3JzOltbInRiZGV2LXVwbG9hZC1kaWFsb2ctY29tcG9uZW50Il1dLGlucHV0czp7bG9nZGlyOiJsb2dkaXIifSxkZWNsczoyMSx2YXJzOjQsY29uc3RzOltbInRhcmdldCIsIl9ibGFuayIsInJlbCIsIm5vcmVmZXJyZXIgbm9vcGVuZXIiLDEsImFuY2hvci10ZXh0IiwzLCJocmVmIl0sWzEsImNvbW1hbmQiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsInRpdGxlIiwiQ2xpY2sgdG8gY29weSB0aGUgY29tbWFuZCIsMSwiY29tbWFuZC1jb3B5IiwzLCJjZGtDb3B5VG9DbGlwYm9hcmQiXSxbInN2Z0ljb24iLCJjb250ZW50X2NvcHlfMjRweCJdLFsxLCJib3R0b20tYnV0dG9ucyJdLFsibWF0LWZsYXQtYnV0dG9uIiwiIiwxLCJjbG9zZS1idXR0b24iLDMsImNsaWNrIl0sWyJtYXQtZmxhdC1idXR0b24iLCIiLCJ0YXJnZXQiLCJfYmxhbmsiLCJyZWwiLCJub3JlZmVycmVyIG5vb3BlbmVyIiwxLCJsZWFybi1tb3JlLWJ1dHRvbiIsMywiaHJlZiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiaDMiKSxQdSgxLCJVcGxvYWQgdG8gVGVuc29yQm9hcmQuZGV2IiksTWYoKSxDZigyLCJwIiksQ2YoMywiYSIsMCksUHUoNCwiIFRlbnNvckJvYXJkLmRldiIpLE1mKCksUHUoNSwiIGVuYWJsZXMgeW91IHRvIGVhc2lseSBob3N0LCB0cmFjaywgYW5kIHNoYXJlIHlvdXIgTUwgZXhwZXJpbWVudHMgd2l0aCBldmVyeW9uZS4gWW91IGNhbiBzaGFyZSBhIGxpbmsgdG8gdGhlIHVwbG9hZGVkIFRlbnNvckJvYXJkIGluIHBhcGVycywgYmxvZyBwb3N0cywgYW5kIHNvY2lhbCBtZWRpYS4gVGhpcyBjYW4gc2hvd2Nhc2UgdGhlIHJlc3VsdHMgbW9yZSBlZmZlY3RpdmVseSBhbmQgaGVscHMgcmVwcm9kdWNpYmlsaXR5LlxuIiksTWYoKSxDZig2LCJwIiksUHUoNywiVG8gdXBsb2FkIGEgbG9nZGlyIHRvIFRlbnNvckJvYXJkLmRldiwgcnVuIHRoZSBjb21tYW5kOiIpLE1mKCksQ2YoOCwiZGl2IiwxKSxDZig5LCJwcmUiKSxDZigxMCwiY29kZSIpLFB1KDExKSxNZigpLE1mKCksQ2YoMTIsImJ1dHRvbiIsMiksdmYoMTMsIm1hdC1pY29uIiwzKSxNZigpLE1mKCksQ2YoMTQsInAiKSxQdSgxNSwiIE9ubHkgY2VydGFpbiBwbHVnaW5zIGFyZSBjdXJyZW50bHkgc3VwcG9ydGVkLiBVcGxvYWRlZCBUZW5zb3JCb2FyZHMgYXJlIHB1YmxpYyBhbmQgdmlzaWJsZSB0byBldmVyeW9uZTsgZG8gbm90IHVwbG9hZCBzZW5zaXRpdmUgZGF0YS5cbiIpLE1mKCksQ2YoMTYsImRpdiIsNCksQ2YoMTcsImJ1dHRvbiIsNSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uQ2xvc2UoKX0pKSxQdSgxOCwiIENsb3NlICIpLE1mKCksQ2YoMTksImEiLDYpLFB1KDIwLCIgTGVhcm4gbW9yZSAiKSxNZigpLE1mKCkpLDImZSYmKERjKDMpLExmKCJocmVmIixuLnRlbnNvcmJvYXJkRG90RGV2VXJsLFhzKSxEYyg4KSx3dShuLmdldENvbW1hbmRUZXh0KCkpLERjKDEpLGJmKCJjZGtDb3B5VG9DbGlwYm9hcmQiLG4uZ2V0Q29tbWFuZFRleHQoKSksRGMoNyksTGYoImhyZWYiLG4udGVuc29yYm9hcmREb3REZXZVcmwsWHMpKX0sZGlyZWN0aXZlczpbTkwscnEsTXEsekxdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfWRpdltfbmdjb250ZW50LSVDT01QJV0sIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjoxNnB4IDB9W19uZ2hvc3QtJUNPTVAlXSA+IFtfbmdjb250ZW50LSVDT01QJV06Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfVtfbmdob3N0LSVDT01QJV0gPiBbX25nY29udGVudC0lQ09NUCVdOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfWgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS41fXBbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiMyMTIxMjE7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojZmZmfS5hbmNob3ItdGV4dFtfbmdjb250ZW50LSVDT01QJV17dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmNvbW1hbmRbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOiNmNWY2Zjc7Ym9yZGVyLXJhZGl1czo0cHg7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MnB4IDEycHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmNvbW1hbmRbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuY29tbWFuZFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojNjE2MTYxfXByZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3cteDphdXRvfWNvZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNX0uYm90dG9tLWJ1dHRvbnNbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5jbG9zZS1idXR0b25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOiM2MTYxNjE7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO21hcmdpbi1yaWdodDo4cHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmNsb3NlLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5jbG9zZS1idXR0b25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfVtfbmdob3N0LSVDT01QJV0gICAubGVhcm4tbW9yZS1idXR0b25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOiMxOTc2ZDI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5sZWFybi1tb3JlLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6IzQyYTVmNX0nXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeHEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGJkZXYtdXBsb2FkLWRpYWxvZy1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL3RiZGV2X3VwbG9hZF9kaWFsb2dfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vdGJkZXZfdXBsb2FkX2RpYWxvZ19jb21wb25lbnQuY3NzIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpWWX1dfSkse2xvZ2Rpcjpbe3R5cGU6Ul99XX0pO2NvbnN0IE9xPWJTKG9ULCh0PT50LmRhdGFfbG9jYXRpb24pKTtjbGFzcyBQcXtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5sb2dkaXIkPXRoaXMuc3RvcmUucGlwZShyUyhPcSkpfX1mdW5jdGlvbiB3cSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImJ1dHRvbiIsMSksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9wZW5EaWFsb2coKX0pKSxDZigxLCJzcGFuIiwyKSx2ZigyLCJtYXQtaWNvbiIsMyksUHUoMywiIFVwbG9hZCAiKSxNZigpLE1mKCl9fVBxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxQcSkoZ2YoaVMpKX0sUHEuybVjbXA9c28oe3R5cGU6UHEsc2VsZWN0b3JzOltbInRiZGV2LXVwbG9hZC1kaWFsb2ciXV0sZGVjbHM6Mix2YXJzOjMsY29uc3RzOltbMywibG9nZGlyIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJ0YmRldi11cGxvYWQtZGlhbG9nLWNvbXBvbmVudCIsMCksX3koMSwiYXN5bmMiKSksMiZlJiZiZigibG9nZGlyIixDeSgxLDEsbi5sb2dkaXIkKSl9LGRpcmVjdGl2ZXM6W3hxXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUHEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGJkZXYtdXBsb2FkLWRpYWxvZyIsdGVtcGxhdGU6J1xuICAgIDx0YmRldi11cGxvYWQtZGlhbG9nLWNvbXBvbmVudFxuICAgICAgW2xvZ2Rpcl09ImxvZ2RpciQgfCBhc3luYyJcbiAgICA+PC90YmRldi11cGxvYWQtZGlhbG9nLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBrcT1bImxvY2FsaG9zdCIsIjEyNy4wLjAuMSJdO2NsYXNzIFNxe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy53aW5kb3c9dCx0aGlzLmRpYWxvZz1lLHRoaXMuc2hvd249a3EuaW5jbHVkZXModC5sb2NhdGlvbi5ob3N0bmFtZSl9b3BlbkRpYWxvZygpe3RoaXMuZGlhbG9nLm9wZW4oUHEse3dpZHRoOiI1NjBweCJ9KX19U3EuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFNxKShnZigid2luZG93IiksZ2YoWFkpKX0sU3EuybVjbXA9c28oe3R5cGU6U3Esc2VsZWN0b3JzOltbInRiZGV2LXVwbG9hZC1idXR0b24iXV0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoInNob3duIixuLnNob3duKX0sZGVjbHM6MSx2YXJzOjEsY29uc3RzOltbIm1hdC1zdHJva2VkLWJ1dHRvbiIsIiIsMywiY2xpY2siLDQsIm5nSWYiXSxbIm1hdC1zdHJva2VkLWJ1dHRvbiIsIiIsMywiY2xpY2siXSxbMSwiYnV0dG9uLWNvbnRlbnRzIl0sWyJzdmdJY29uIiwiaW5mb19vdXRsaW5lXzI0cHgiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmSG0oMCx3cSw0LDAsImJ1dHRvbiIsMCksMiZlJiZiZigibmdJZiIsbi5zaG93bil9LGRpcmVjdGl2ZXM6W1B2LE5MLE1xXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVdICAgYnV0dG9uLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwO2JvcmRlcjoxcHggc29saWQgI2ViZWJlYn1ib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICBidXR0b24ubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9LmJ1dHRvbi1jb250ZW50c1tfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9bWF0LWljb25bX25nY29udGVudC0lQ09NUCVde21hcmdpbi1yaWdodDo2cHh9J119KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFNxLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRiZGV2LXVwbG9hZC1idXR0b24iLHRlbXBsYXRlVXJsOiIuL3RiZGV2X3VwbG9hZF9idXR0b25fY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vdGJkZXZfdXBsb2FkX2J1dHRvbl9jb21wb25lbnQuY3NzIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpXaW5kb3csZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbIndpbmRvdyJdfV19LHt0eXBlOlhZfV19KSx7c2hvd246W3t0eXBlOkFfLGFyZ3M6WyJjbGFzcy5zaG93biJdfV19KTtmdW5jdGlvbiBEcSh0LGUpezEmdCYmKG9hKCksQ2YoMCwic3ZnIiwyKSx2ZigxLCJwb2x5Z29uIiwzKSxNZigpKX1jb25zdCBScT1bIioiXTtmdW5jdGlvbiBFcSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsMCksUmYoImtleWRvd24iLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLl9oYW5kbGVLZXlkb3duKG4pfSkpKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5jbG9zZWQuZW1pdCgiY2xpY2siKX0pKSgiQHRyYW5zZm9ybU1lbnUuc3RhcnQiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLl9vbkFuaW1hdGlvblN0YXJ0KG4pfSkpKCJAdHJhbnNmb3JtTWVudS5kb25lIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5fb25BbmltYXRpb25Eb25lKG4pfSkpLENmKDEsImRpdiIsMSksRmYoMiksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2JmKCJpZCIsdC5wYW5lbElkKSgibmdDbGFzcyIsdC5fY2xhc3NMaXN0KSgiQHRyYW5zZm9ybU1lbnUiLHQuX3BhbmVsQW5pbWF0aW9uU3RhdGUpLHltKCJhcmlhLWxhYmVsIix0LmFyaWFMYWJlbHx8bnVsbCkoImFyaWEtbGFiZWxsZWRieSIsdC5hcmlhTGFiZWxsZWRieXx8bnVsbCkoImFyaWEtZGVzY3JpYmVkYnkiLHQuYXJpYURlc2NyaWJlZGJ5fHxudWxsKX19Y29uc3QgQXE9e3RyYW5zZm9ybU1lbnU6eE8oInRyYW5zZm9ybU1lbnUiLFtrTygidm9pZCIsd08oe29wYWNpdHk6MCx0cmFuc2Zvcm06InNjYWxlKDAuOCkifSkpLERPKCJ2b2lkID0+IGVudGVyIixPTygiMTIwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSkiLHdPKHtvcGFjaXR5OjEsdHJhbnNmb3JtOiJzY2FsZSgxKSJ9KSkpLERPKCIqID0+IHZvaWQiLE9PKCIxMDBtcyAyNW1zIGxpbmVhciIsd08oe29wYWNpdHk6MH0pKSldKSxmYWRlSW5JdGVtczp4TygiZmFkZUluSXRlbXMiLFtrTygic2hvd2luZyIsd08oe29wYWNpdHk6MX0pKSxETygidm9pZCA9PiAqIixbd08oe29wYWNpdHk6MH0pLE9PKCI0MDBtcyAxMDBtcyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC41NSwgMC4yKSIpXSldKX0sVHE9bmV3IGVyKCJNYXRNZW51Q29udGVudCIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBOcXtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyKXt0aGlzLl90ZW1wbGF0ZT10LHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj1lLHRoaXMuX2FwcFJlZj1uLHRoaXMuX2luamVjdG9yPW8sdGhpcy5fdmlld0NvbnRhaW5lclJlZj1pLHRoaXMuX2RvY3VtZW50PWEsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9cix0aGlzLl9hdHRhY2hlZD1uZXcgQn1hdHRhY2godD17fSl7dGhpcy5fcG9ydGFsfHwodGhpcy5fcG9ydGFsPW5ldyBsQih0aGlzLl90ZW1wbGF0ZSx0aGlzLl92aWV3Q29udGFpbmVyUmVmKSksdGhpcy5kZXRhY2goKSx0aGlzLl9vdXRsZXR8fCh0aGlzLl9vdXRsZXQ9bmV3IHBCKHRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcix0aGlzLl9hcHBSZWYsdGhpcy5faW5qZWN0b3IpKTtjb25zdCBlPXRoaXMuX3RlbXBsYXRlLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuX291dGxldC5vdXRsZXRFbGVtZW50LGUpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmJiZ0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSx0aGlzLl9wb3J0YWwuYXR0YWNoKHRoaXMuX291dGxldCx0KSx0aGlzLl9hdHRhY2hlZC5uZXh0KCl9ZGV0YWNoKCl7dGhpcy5fcG9ydGFsLmlzQXR0YWNoZWQmJnRoaXMuX3BvcnRhbC5kZXRhY2goKX1uZ09uRGVzdHJveSgpe3RoaXMuX291dGxldCYmdGhpcy5fb3V0bGV0LmRpc3Bvc2UoKX19TnEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE5xKShnZihFYiksZ2YoR2gpLGdmKEhDKSxnZihOcCksZ2YoRmIpLGdmKHNNKSxnZihPYikpfSxOcS7JtWRpcj1obyh7dHlwZTpOcSxzZWxlY3RvcnM6W1sibmctdGVtcGxhdGUiLCJtYXRNZW51Q29udGVudCIsIiJdXSxmZWF0dXJlczpbamgoW3twcm92aWRlOlRxLHVzZUV4aXN0aW5nOk5xfV0pXX0pLE5xLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RWJ9LHt0eXBlOkdofSx7dHlwZTpIQ30se3R5cGU6TnB9LHt0eXBlOkZifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOk9ifV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihOcSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJuZy10ZW1wbGF0ZVttYXRNZW51Q29udGVudF0iLHByb3ZpZGVyczpbe3Byb3ZpZGU6VHEsdXNlRXhpc3Rpbmc6TnF9XX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkVifSx7dHlwZTpHaH0se3R5cGU6SEN9LHt0eXBlOk5wfSx7dHlwZTpGYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpPYn1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB6cT1uZXcgZXIoIk1BVF9NRU5VX1BBTkVMIiksSXE9SEYoekYoY2xhc3N7fSkpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBIcSBleHRlbmRzIElxe2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7c3VwZXIoKSx0aGlzLl9lbGVtZW50UmVmPXQsdGhpcy5fZm9jdXNNb25pdG9yPW4sdGhpcy5fcGFyZW50TWVudT1vLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPWksdGhpcy5yb2xlPSJtZW51aXRlbSIsdGhpcy5faG92ZXJlZD1uZXcgQix0aGlzLl9mb2N1c2VkPW5ldyBCLHRoaXMuX2hpZ2hsaWdodGVkPSExLHRoaXMuX3RyaWdnZXJzU3VibWVudT0hMSxvJiZvLmFkZEl0ZW0mJm8uYWRkSXRlbSh0aGlzKX1mb2N1cyh0LGUpe3RoaXMuX2ZvY3VzTW9uaXRvciYmdD90aGlzLl9mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSx0LGUpOnRoaXMuX2dldEhvc3RFbGVtZW50KCkuZm9jdXMoZSksdGhpcy5fZm9jdXNlZC5uZXh0KHRoaXMpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuX2ZvY3VzTW9uaXRvciYmdGhpcy5fZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5fZWxlbWVudFJlZiwhMSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9mb2N1c01vbml0b3ImJnRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKSx0aGlzLl9wYXJlbnRNZW51JiZ0aGlzLl9wYXJlbnRNZW51LnJlbW92ZUl0ZW0mJnRoaXMuX3BhcmVudE1lbnUucmVtb3ZlSXRlbSh0aGlzKSx0aGlzLl9ob3ZlcmVkLmNvbXBsZXRlKCksdGhpcy5fZm9jdXNlZC5jb21wbGV0ZSgpfV9nZXRUYWJJbmRleCgpe3JldHVybiB0aGlzLmRpc2FibGVkPyItMSI6IjAifV9nZXRIb3N0RWxlbWVudCgpe3JldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnR9X2NoZWNrRGlzYWJsZWQodCl7dGhpcy5kaXNhYmxlZCYmKHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpKX1faGFuZGxlTW91c2VFbnRlcigpe3RoaXMuX2hvdmVyZWQubmV4dCh0aGlzKX1nZXRMYWJlbCgpe3ZhciB0LGU7Y29uc3Qgbj10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xvbmVOb2RlKCEwKSxvPW4ucXVlcnlTZWxlY3RvckFsbCgibWF0LWljb24sIC5tYXRlcmlhbC1pY29ucyIpO2ZvcihsZXQgZT0wO2U8by5sZW5ndGg7ZSsrKXtjb25zdCBuPW9bZV07bnVsbD09PSh0PW4ucGFyZW50Tm9kZSl8fHZvaWQgMD09PXR8fHQucmVtb3ZlQ2hpbGQobil9cmV0dXJuKG51bGw9PT0oZT1uLnRleHRDb250ZW50KXx8dm9pZCAwPT09ZT92b2lkIDA6ZS50cmltKCkpfHwiIn1fc2V0SGlnaGxpZ2h0ZWQodCl7dmFyIGU7dGhpcy5faGlnaGxpZ2h0ZWQ9dCxudWxsPT09KGU9dGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYpfHx2b2lkIDA9PT1lfHxlLm1hcmtGb3JDaGVjaygpfX1IcS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SHEpKGdmKEtoKSxnZihzTSksZ2YoZkYpLGdmKHpxLDgpLGdmKE9iKSl9LEhxLsm1Y21wPXNvKHt0eXBlOkhxLHNlbGVjdG9yczpbWyIiLCJtYXQtbWVudS1pdGVtIiwiIl1dLGhvc3RBdHRyczpbMSwibWF0LWZvY3VzLWluZGljYXRvciJdLGhvc3RWYXJzOjEwLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9jaGVja0Rpc2FibGVkKGUpfSkpKCJtb3VzZWVudGVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9oYW5kbGVNb3VzZUVudGVyKCl9KSksMiZlJiYoeW0oInJvbGUiLG4ucm9sZSkoInRhYmluZGV4IixuLl9nZXRUYWJJbmRleCgpKSgiYXJpYS1kaXNhYmxlZCIsbi5kaXNhYmxlZC50b1N0cmluZygpKSgiZGlzYWJsZWQiLG4uZGlzYWJsZWR8fG51bGwpLGN1KCJtYXQtbWVudS1pdGVtIiwhMCkoIm1hdC1tZW51LWl0ZW0taGlnaGxpZ2h0ZWQiLG4uX2hpZ2hsaWdodGVkKSgibWF0LW1lbnUtaXRlbS1zdWJtZW51LXRyaWdnZXIiLG4uX3RyaWdnZXJzU3VibWVudSkpfSxpbnB1dHM6e2Rpc2FibGVkOiJkaXNhYmxlZCIsZGlzYWJsZVJpcHBsZToiZGlzYWJsZVJpcHBsZSIscm9sZToicm9sZSJ9LGV4cG9ydEFzOlsibWF0TWVudUl0ZW0iXSxmZWF0dXJlczpbUXBdLGF0dHJzOlsibWF0LW1lbnUtaXRlbSIsIiJdLG5nQ29udGVudFNlbGVjdG9yczpScSxkZWNsczozLHZhcnM6Myxjb25zdHM6W1sibWF0UmlwcGxlIiwiIiwxLCJtYXQtbWVudS1yaXBwbGUiLDMsIm1hdFJpcHBsZURpc2FibGVkIiwibWF0UmlwcGxlVHJpZ2dlciJdLFsiY2xhc3MiLCJtYXQtbWVudS1zdWJtZW51LWljb24iLCJ2aWV3Qm94IiwiMCAwIDUgMTAiLCJmb2N1c2FibGUiLCJmYWxzZSIsNCwibmdJZiJdLFsidmlld0JveCIsIjAgMCA1IDEwIiwiZm9jdXNhYmxlIiwiZmFsc2UiLDEsIm1hdC1tZW51LXN1Ym1lbnUtaWNvbiJdLFsicG9pbnRzIiwiMCwwIDUsNSAwLDEwIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZigpLEZmKDApLHZmKDEsImRpdiIsMCksSG0oMixEcSwyLDAsInN2ZyIsMSkpLDImZSYmKERjKDEpLGJmKCJtYXRSaXBwbGVEaXNhYmxlZCIsbi5kaXNhYmxlUmlwcGxlfHxuLmRpc2FibGVkKSgibWF0UmlwcGxlVHJpZ2dlciIsbi5fZ2V0SG9zdEVsZW1lbnQoKSksRGMoMSksYmYoIm5nSWYiLG4uX3RyaWdnZXJzU3VibWVudSkpfSxkaXJlY3RpdmVzOlttTCxQdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksSHEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpmRn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3pxXX0se3R5cGU6QnJ9XX0se3R5cGU6T2J9XSxIcS5wcm9wRGVjb3JhdG9ycz17cm9sZTpbe3R5cGU6Ul99XSxfY2hlY2tEaXNhYmxlZDpbe3R5cGU6VF8sYXJnczpbImNsaWNrIixbIiRldmVudCJdXX1dLF9oYW5kbGVNb3VzZUVudGVyOlt7dHlwZTpUXyxhcmdzOlsibW91c2VlbnRlciJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSHEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdC1tZW51LWl0ZW1dIixleHBvcnRBczoibWF0TWVudUl0ZW0iLGlucHV0czpbImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSJdLGhvc3Q6eyJbYXR0ci5yb2xlXSI6InJvbGUiLCJbY2xhc3MubWF0LW1lbnUtaXRlbV0iOiJ0cnVlIiwiW2NsYXNzLm1hdC1tZW51LWl0ZW0taGlnaGxpZ2h0ZWRdIjoiX2hpZ2hsaWdodGVkIiwiW2NsYXNzLm1hdC1tZW51LWl0ZW0tc3VibWVudS10cmlnZ2VyXSI6Il90cmlnZ2Vyc1N1Ym1lbnUiLCJbYXR0ci50YWJpbmRleF0iOiJfZ2V0VGFiSW5kZXgoKSIsIlthdHRyLmFyaWEtZGlzYWJsZWRdIjoiZGlzYWJsZWQudG9TdHJpbmcoKSIsIlthdHRyLmRpc2FibGVkXSI6ImRpc2FibGVkIHx8IG51bGwiLGNsYXNzOiJtYXQtZm9jdXMtaW5kaWNhdG9yIn0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxlbmNhcHN1bGF0aW9uOlduLk5vbmUsdGVtcGxhdGU6JzxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9Im1hdC1tZW51LXJpcHBsZSIgbWF0UmlwcGxlXG4gICAgIFttYXRSaXBwbGVEaXNhYmxlZF09ImRpc2FibGVSaXBwbGUgfHwgZGlzYWJsZWQiXG4gICAgIFttYXRSaXBwbGVUcmlnZ2VyXT0iX2dldEhvc3RFbGVtZW50KCkiPlxuPC9kaXY+XG5cbjxzdmdcbiAgKm5nSWY9Il90cmlnZ2Vyc1N1Ym1lbnUiXG4gIGNsYXNzPSJtYXQtbWVudS1zdWJtZW51LWljb24iXG4gIHZpZXdCb3g9IjAgMCA1IDEwIlxuICBmb2N1c2FibGU9ImZhbHNlIj48cG9seWdvbiBwb2ludHM9IjAsMCA1LDUgMCwxMCIvPjwvc3ZnPlxuJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOmZGfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbenFdfSx7dHlwZTpCcn1dfSx7dHlwZTpPYn1dfSkse3JvbGU6W3t0eXBlOlJffV0sX2NoZWNrRGlzYWJsZWQ6W3t0eXBlOlRfLGFyZ3M6WyJjbGljayIsWyIkZXZlbnQiXV19XSxfaGFuZGxlTW91c2VFbnRlcjpbe3R5cGU6VF8sYXJnczpbIm1vdXNlZW50ZXIiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBGcT1uZXcgZXIoIm1hdC1tZW51LWRlZmF1bHQtb3B0aW9ucyIse3Byb3ZpZGVkSW46InJvb3QiLGZhY3Rvcnk6ZnVuY3Rpb24gTHEoKXtyZXR1cm57b3ZlcmxhcFRyaWdnZXI6ITEseFBvc2l0aW9uOiJhZnRlciIseVBvc2l0aW9uOiJiZWxvdyIsYmFja2Ryb3BDbGFzczoiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AifX19KTtsZXQgQnE9MDtjbGFzcyBWcXtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fZWxlbWVudFJlZj10LHRoaXMuX25nWm9uZT1lLHRoaXMuX2RlZmF1bHRPcHRpb25zPW4sdGhpcy5feFBvc2l0aW9uPXRoaXMuX2RlZmF1bHRPcHRpb25zLnhQb3NpdGlvbix0aGlzLl95UG9zaXRpb249dGhpcy5fZGVmYXVsdE9wdGlvbnMueVBvc2l0aW9uLHRoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcz1uZXcgUnksdGhpcy5fdGFiU3Vic2NyaXB0aW9uPXUuRU1QVFksdGhpcy5fY2xhc3NMaXN0PXt9LHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGU9InZvaWQiLHRoaXMuX2FuaW1hdGlvbkRvbmU9bmV3IEIsdGhpcy5vdmVybGF5UGFuZWxDbGFzcz10aGlzLl9kZWZhdWx0T3B0aW9ucy5vdmVybGF5UGFuZWxDbGFzc3x8IiIsdGhpcy5iYWNrZHJvcENsYXNzPXRoaXMuX2RlZmF1bHRPcHRpb25zLmJhY2tkcm9wQ2xhc3MsdGhpcy5fb3ZlcmxhcFRyaWdnZXI9dGhpcy5fZGVmYXVsdE9wdGlvbnMub3ZlcmxhcFRyaWdnZXIsdGhpcy5faGFzQmFja2Ryb3A9dGhpcy5fZGVmYXVsdE9wdGlvbnMuaGFzQmFja2Ryb3AsdGhpcy5jbG9zZWQ9bmV3IFN5LHRoaXMuY2xvc2U9dGhpcy5jbG9zZWQsdGhpcy5wYW5lbElkPSJtYXQtbWVudS1wYW5lbC0iK0JxKyt9Z2V0IHhQb3NpdGlvbigpe3JldHVybiB0aGlzLl94UG9zaXRpb259c2V0IHhQb3NpdGlvbih0KXsiYmVmb3JlIj09PXR8fCJhZnRlciI9PT10fHwidW5kZWZpbmVkIiE9dHlwZW9mIG5nRGV2TW9kZSYmIW5nRGV2TW9kZXx8KGZ1bmN0aW9uIGUoKXt0aHJvdyBFcnJvcigneFBvc2l0aW9uIHZhbHVlIG11c3QgYmUgZWl0aGVyIFwnYmVmb3JlXCcgb3IgYWZ0ZXJcJy5cbiAgICAgIEV4YW1wbGU6IDxtYXQtbWVudSB4UG9zaXRpb249ImJlZm9yZSIgI21lbnU9Im1hdE1lbnUiPjwvbWF0LW1lbnU+Jyl9KSgpLHRoaXMuX3hQb3NpdGlvbj10LHRoaXMuc2V0UG9zaXRpb25DbGFzc2VzKCl9Z2V0IHlQb3NpdGlvbigpe3JldHVybiB0aGlzLl95UG9zaXRpb259c2V0IHlQb3NpdGlvbih0KXsiYWJvdmUiPT09dHx8ImJlbG93Ij09PXR8fCJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlfHwoZnVuY3Rpb24gZSgpe3Rocm93IEVycm9yKCd5UG9zaXRpb24gdmFsdWUgbXVzdCBiZSBlaXRoZXIgXCdhYm92ZVwnIG9yIGJlbG93XCcuXG4gICAgICBFeGFtcGxlOiA8bWF0LW1lbnUgeVBvc2l0aW9uPSJhYm92ZSIgI21lbnU9Im1hdE1lbnUiPjwvbWF0LW1lbnU+Jyl9KSgpLHRoaXMuX3lQb3NpdGlvbj10LHRoaXMuc2V0UG9zaXRpb25DbGFzc2VzKCl9Z2V0IG92ZXJsYXBUcmlnZ2VyKCl7cmV0dXJuIHRoaXMuX292ZXJsYXBUcmlnZ2VyfXNldCBvdmVybGFwVHJpZ2dlcih0KXt0aGlzLl9vdmVybGFwVHJpZ2dlcj1lSCh0KX1nZXQgaGFzQmFja2Ryb3AoKXtyZXR1cm4gdGhpcy5faGFzQmFja2Ryb3B9c2V0IGhhc0JhY2tkcm9wKHQpe3RoaXMuX2hhc0JhY2tkcm9wPWVIKHQpfXNldCBwYW5lbENsYXNzKHQpe2NvbnN0IGU9dGhpcy5fcHJldmlvdXNQYW5lbENsYXNzO2UmJmUubGVuZ3RoJiZlLnNwbGl0KCIgIikuZm9yRWFjaCgodD0+e3RoaXMuX2NsYXNzTGlzdFt0XT0hMX0pKSx0aGlzLl9wcmV2aW91c1BhbmVsQ2xhc3M9dCx0JiZ0Lmxlbmd0aCYmKHQuc3BsaXQoIiAiKS5mb3JFYWNoKCh0PT57dGhpcy5fY2xhc3NMaXN0W3RdPSEwfSkpLHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc05hbWU9IiIpfWdldCBjbGFzc0xpc3QoKXtyZXR1cm4gdGhpcy5wYW5lbENsYXNzfXNldCBjbGFzc0xpc3QodCl7dGhpcy5wYW5lbENsYXNzPXR9bmdPbkluaXQoKXt0aGlzLnNldFBvc2l0aW9uQ2xhc3NlcygpfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX3VwZGF0ZURpcmVjdERlc2NlbmRhbnRzKCksdGhpcy5fa2V5TWFuYWdlcj1uZXcgTEgodGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zKS53aXRoV3JhcCgpLndpdGhUeXBlQWhlYWQoKS53aXRoSG9tZUFuZEVuZCgpLHRoaXMuX3RhYlN1YnNjcmlwdGlvbj10aGlzLl9rZXlNYW5hZ2VyLnRhYk91dC5zdWJzY3JpYmUoKCgpPT50aGlzLmNsb3NlZC5lbWl0KCJ0YWIiKSkpLHRoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcy5jaGFuZ2VzLnBpcGUoQmUodGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zKSxWZSgodD0+cGUoLi4udC5tYXAoKHQ9PnQuX2ZvY3VzZWQpKSkpKSkuc3Vic2NyaWJlKCh0PT50aGlzLl9rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0odCkpKX1uZ09uRGVzdHJveSgpe3RoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcy5kZXN0cm95KCksdGhpcy5fdGFiU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5jbG9zZWQuY29tcGxldGUoKX1faG92ZXJlZCgpe3JldHVybiB0aGlzLl9kaXJlY3REZXNjZW5kYW50SXRlbXMuY2hhbmdlcy5waXBlKEJlKHRoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcyksVmUoKHQ9PnBlKC4uLnQubWFwKCh0PT50Ll9ob3ZlcmVkKSkpKSkpfWFkZEl0ZW0odCl7fXJlbW92ZUl0ZW0odCl7fV9oYW5kbGVLZXlkb3duKHQpe2NvbnN0IGU9dC5rZXlDb2RlLG49dGhpcy5fa2V5TWFuYWdlcjtzd2l0Y2goZSl7Y2FzZSBLSTp0SCh0KXx8KHQucHJldmVudERlZmF1bHQoKSx0aGlzLmNsb3NlZC5lbWl0KCJrZXlkb3duIikpO2JyZWFrO2Nhc2UgMzc6dGhpcy5wYXJlbnRNZW51JiYibHRyIj09PXRoaXMuZGlyZWN0aW9uJiZ0aGlzLmNsb3NlZC5lbWl0KCJrZXlkb3duIik7YnJlYWs7Y2FzZSAzOTp0aGlzLnBhcmVudE1lbnUmJiJydGwiPT09dGhpcy5kaXJlY3Rpb24mJnRoaXMuY2xvc2VkLmVtaXQoImtleWRvd24iKTticmVhaztkZWZhdWx0OmUhPT1RSSYmZSE9PSRJfHxuLnNldEZvY3VzT3JpZ2luKCJrZXlib2FyZCIpLG4ub25LZXlkb3duKHQpfX1mb2N1c0ZpcnN0SXRlbSh0PSJwcm9ncmFtIil7dGhpcy5sYXp5Q29udGVudD90aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+dGhpcy5fZm9jdXNGaXJzdEl0ZW0odCkpKTp0aGlzLl9mb2N1c0ZpcnN0SXRlbSh0KX1fZm9jdXNGaXJzdEl0ZW0odCl7Y29uc3QgZT10aGlzLl9rZXlNYW5hZ2VyO2lmKGUuc2V0Rm9jdXNPcmlnaW4odCkuc2V0Rmlyc3RJdGVtQWN0aXZlKCksIWUuYWN0aXZlSXRlbSYmdGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zLmxlbmd0aCl7bGV0IHQ9dGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zLmZpcnN0Ll9nZXRIb3N0RWxlbWVudCgpLnBhcmVudEVsZW1lbnQ7Zm9yKDt0Oyl7aWYoIm1lbnUiPT09dC5nZXRBdHRyaWJ1dGUoInJvbGUiKSl7dC5mb2N1cygpO2JyZWFrfXQ9dC5wYXJlbnRFbGVtZW50fX19cmVzZXRBY3RpdmVJdGVtKCl7dGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKC0xKX1zZXRFbGV2YXRpb24odCl7Y29uc3QgZT1NYXRoLm1pbih0aGlzLl9iYXNlRWxldmF0aW9uK3QsMjQpLG49YCR7dGhpcy5fZWxldmF0aW9uUHJlZml4fSR7ZX1gLG89T2JqZWN0LmtleXModGhpcy5fY2xhc3NMaXN0KS5maW5kKCh0PT50LnN0YXJ0c1dpdGgodGhpcy5fZWxldmF0aW9uUHJlZml4KSkpO28mJm8hPT10aGlzLl9wcmV2aW91c0VsZXZhdGlvbnx8KHRoaXMuX3ByZXZpb3VzRWxldmF0aW9uJiYodGhpcy5fY2xhc3NMaXN0W3RoaXMuX3ByZXZpb3VzRWxldmF0aW9uXT0hMSksdGhpcy5fY2xhc3NMaXN0W25dPSEwLHRoaXMuX3ByZXZpb3VzRWxldmF0aW9uPW4pfXNldFBvc2l0aW9uQ2xhc3Nlcyh0PXRoaXMueFBvc2l0aW9uLGU9dGhpcy55UG9zaXRpb24pe2NvbnN0IG49dGhpcy5fY2xhc3NMaXN0O25bIm1hdC1tZW51LWJlZm9yZSJdPSJiZWZvcmUiPT09dCxuWyJtYXQtbWVudS1hZnRlciJdPSJhZnRlciI9PT10LG5bIm1hdC1tZW51LWFib3ZlIl09ImFib3ZlIj09PWUsblsibWF0LW1lbnUtYmVsb3ciXT0iYmVsb3ciPT09ZX1fc3RhcnRBbmltYXRpb24oKXt0aGlzLl9wYW5lbEFuaW1hdGlvblN0YXRlPSJlbnRlciJ9X3Jlc2V0QW5pbWF0aW9uKCl7dGhpcy5fcGFuZWxBbmltYXRpb25TdGF0ZT0idm9pZCJ9X29uQW5pbWF0aW9uRG9uZSh0KXt0aGlzLl9hbmltYXRpb25Eb25lLm5leHQodCksdGhpcy5faXNBbmltYXRpbmc9ITF9X29uQW5pbWF0aW9uU3RhcnQodCl7dGhpcy5faXNBbmltYXRpbmc9ITAsImVudGVyIj09PXQudG9TdGF0ZSYmMD09PXRoaXMuX2tleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4JiYodC5lbGVtZW50LnNjcm9sbFRvcD0wKX1fdXBkYXRlRGlyZWN0RGVzY2VuZGFudHMoKXt0aGlzLl9hbGxJdGVtcy5jaGFuZ2VzLnBpcGUoQmUodGhpcy5fYWxsSXRlbXMpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLl9kaXJlY3REZXNjZW5kYW50SXRlbXMucmVzZXQodC5maWx0ZXIoKHQ9PnQuX3BhcmVudE1lbnU9PT10aGlzKSkpLHRoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcy5ub3RpZnlPbkNoYW5nZXMoKX0pKX19VnEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFZxKShnZihLaCksZ2YobUMpLGdmKEZxKSl9LFZxLsm1ZGlyPWhvKHt0eXBlOlZxLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uIHQoZSxuLG8pe2lmKDEmZSYmKGp5KG8sVHEsNSksankobyxIcSw1KSxqeShvLEhxLDQpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLmxhenlDb250ZW50PXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9hbGxJdGVtcz10KSxCeSh0PVV5KCkpJiYobi5pdGVtcz10KX19LHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeShFYiw1KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLnRlbXBsYXRlUmVmPXQuZmlyc3QpfX0saW5wdXRzOntiYWNrZHJvcENsYXNzOiJiYWNrZHJvcENsYXNzIix4UG9zaXRpb246InhQb3NpdGlvbiIseVBvc2l0aW9uOiJ5UG9zaXRpb24iLG92ZXJsYXBUcmlnZ2VyOiJvdmVybGFwVHJpZ2dlciIsaGFzQmFja2Ryb3A6Imhhc0JhY2tkcm9wIixwYW5lbENsYXNzOlsiY2xhc3MiLCJwYW5lbENsYXNzIl0sY2xhc3NMaXN0OiJjbGFzc0xpc3QiLGFyaWFMYWJlbDpbImFyaWEtbGFiZWwiLCJhcmlhTGFiZWwiXSxhcmlhTGFiZWxsZWRieTpbImFyaWEtbGFiZWxsZWRieSIsImFyaWFMYWJlbGxlZGJ5Il0sYXJpYURlc2NyaWJlZGJ5OlsiYXJpYS1kZXNjcmliZWRieSIsImFyaWFEZXNjcmliZWRieSJdfSxvdXRwdXRzOntjbG9zZWQ6ImNsb3NlZCIsY2xvc2U6ImNsb3NlIn19KSxWcS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTptQ30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W0ZxXX1dfV0sVnEucHJvcERlY29yYXRvcnM9e19hbGxJdGVtczpbe3R5cGU6b3IsYXJnczpbSHEse2Rlc2NlbmRhbnRzOiEwfV19XSxiYWNrZHJvcENsYXNzOlt7dHlwZTpSX31dLGFyaWFMYWJlbDpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWwiXX1dLGFyaWFMYWJlbGxlZGJ5Olt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbGxlZGJ5Il19XSxhcmlhRGVzY3JpYmVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWRlc2NyaWJlZGJ5Il19XSx4UG9zaXRpb246W3t0eXBlOlJffV0seVBvc2l0aW9uOlt7dHlwZTpSX31dLHRlbXBsYXRlUmVmOlt7dHlwZTphcixhcmdzOltFYl19XSxpdGVtczpbe3R5cGU6b3IsYXJnczpbSHEse2Rlc2NlbmRhbnRzOiExfV19XSxsYXp5Q29udGVudDpbe3R5cGU6aXIsYXJnczpbVHFdfV0sb3ZlcmxhcFRyaWdnZXI6W3t0eXBlOlJffV0saGFzQmFja2Ryb3A6W3t0eXBlOlJffV0scGFuZWxDbGFzczpbe3R5cGU6Ul8sYXJnczpbImNsYXNzIl19XSxjbGFzc0xpc3Q6W3t0eXBlOlJffV0sY2xvc2VkOlt7dHlwZTpFX31dLGNsb3NlOlt7dHlwZTpFX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFZxLFt7dHlwZTprX31dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltGcV19XX1dfSkse2JhY2tkcm9wQ2xhc3M6W3t0eXBlOlJffV0sY2xvc2VkOlt7dHlwZTpFX31dLGNsb3NlOlt7dHlwZTpFX31dLHhQb3NpdGlvbjpbe3R5cGU6Ul99XSx5UG9zaXRpb246W3t0eXBlOlJffV0sb3ZlcmxhcFRyaWdnZXI6W3t0eXBlOlJffV0saGFzQmFja2Ryb3A6W3t0eXBlOlJffV0scGFuZWxDbGFzczpbe3R5cGU6Ul8sYXJnczpbImNsYXNzIl19XSxjbGFzc0xpc3Q6W3t0eXBlOlJffV0sX2FsbEl0ZW1zOlt7dHlwZTpvcixhcmdzOltIcSx7ZGVzY2VuZGFudHM6ITB9XX1dLGFyaWFMYWJlbDpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWwiXX1dLGFyaWFMYWJlbGxlZGJ5Olt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbGxlZGJ5Il19XSxhcmlhRGVzY3JpYmVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWRlc2NyaWJlZGJ5Il19XSx0ZW1wbGF0ZVJlZjpbe3R5cGU6YXIsYXJnczpbRWJdfV0saXRlbXM6W3t0eXBlOm9yLGFyZ3M6W0hxLHtkZXNjZW5kYW50czohMX1dfV0sbGF6eUNvbnRlbnQ6W3t0eXBlOmlyLGFyZ3M6W1RxXX1dfSk7Y2xhc3MganEgZXh0ZW5kcyBWcXtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIodCxlLG4pLHRoaXMuX2VsZXZhdGlvblByZWZpeD0ibWF0LWVsZXZhdGlvbi16Iix0aGlzLl9iYXNlRWxldmF0aW9uPTR9fWpxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxqcSkoZ2YoS2gpLGdmKG1DKSxnZihGcSkpfSxqcS7JtWNtcD1zbyh7dHlwZTpqcSxzZWxlY3RvcnM6W1sibWF0LW1lbnUiXV0saG9zdFZhcnM6Myxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmeW0oImFyaWEtbGFiZWwiLG51bGwpKCJhcmlhLWxhYmVsbGVkYnkiLG51bGwpKCJhcmlhLWRlc2NyaWJlZGJ5IixudWxsKX0sZXhwb3J0QXM6WyJtYXRNZW51Il0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTp6cSx1c2VFeGlzdGluZzpqcX1dKSxRcF0sbmdDb250ZW50U2VsZWN0b3JzOlJxLGRlY2xzOjEsdmFyczowLGNvbnN0czpbWyJ0YWJpbmRleCIsIi0xIiwicm9sZSIsIm1lbnUiLDEsIm1hdC1tZW51LXBhbmVsIiwzLCJpZCIsIm5nQ2xhc3MiLCJrZXlkb3duIiwiY2xpY2siXSxbMSwibWF0LW1lbnUtY29udGVudCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxIbSgwLEVxLDMsNiwibmctdGVtcGxhdGUiKSl9LGRpcmVjdGl2ZXM6W0N2XSxzdHlsZXM6WyJtYXQtbWVudXtkaXNwbGF5Om5vbmV9Lm1hdC1tZW51LXBhbmVse21pbi13aWR0aDoxMTJweDttYXgtd2lkdGg6MjgwcHg7b3ZlcmZsb3c6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KTtib3JkZXItcmFkaXVzOjRweDtvdXRsaW5lOjA7bWluLWhlaWdodDo2NHB4fS5tYXQtbWVudS1wYW5lbC5uZy1hbmltYXRpbmd7cG9pbnRlci1ldmVudHM6bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtbWVudS1wYW5lbHtvdXRsaW5lOnNvbGlkIDFweH0ubWF0LW1lbnUtY29udGVudDpub3QoOmVtcHR5KXtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbWVudS1pdGVtey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjQ4cHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDE2cHg7dGV4dC1hbGlnbjpsZWZ0O3RleHQtZGVjb3JhdGlvbjpub25lO21heC13aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWVudS1pdGVtOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1bZGlyPXJ0bF0gLm1hdC1tZW51LWl0ZW17dGV4dC1hbGlnbjpyaWdodH0ubWF0LW1lbnUtaXRlbSAubWF0LWljb257bWFyZ2luLXJpZ2h0OjE2cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbiBzdmd7dmVydGljYWwtYWxpZ246dG9wfVtkaXI9cnRsXSAubWF0LW1lbnUtaXRlbSAubWF0LWljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6MH0ubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF17cG9pbnRlci1ldmVudHM6bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtbWVudS1pdGVte21hcmdpbi10b3A6MXB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1tZW51LWl0ZW0uY2RrLXByb2dyYW0tZm9jdXNlZCwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1tZW51LWl0ZW0taGlnaGxpZ2h0ZWR7b3V0bGluZTpkb3R0ZWQgMXB4fS5tYXQtbWVudS1pdGVtLXN1Ym1lbnUtdHJpZ2dlcntwYWRkaW5nLXJpZ2h0OjMycHh9W2Rpcj1ydGxdIC5tYXQtbWVudS1pdGVtLXN1Ym1lbnUtdHJpZ2dlcntwYWRkaW5nLXJpZ2h0OjE2cHg7cGFkZGluZy1sZWZ0OjMycHh9Lm1hdC1tZW51LXN1Ym1lbnUtaWNvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3JpZ2h0OjE2cHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6NXB4O2hlaWdodDoxMHB4O2ZpbGw6Y3VycmVudENvbG9yfVtkaXI9cnRsXSAubWF0LW1lbnUtc3VibWVudS1pY29ue3JpZ2h0OmF1dG87bGVmdDoxNnB4O3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlWCgtMSl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LW1lbnUtc3VibWVudS1pY29ue2ZpbGw6Q2FudmFzVGV4dH1idXR0b24ubWF0LW1lbnUtaXRlbXt3aWR0aDoxMDAlfS5tYXQtbWVudS1pdGVtIC5tYXQtbWVudS1yaXBwbGV7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZX1cbiJdLGVuY2Fwc3VsYXRpb246MixkYXRhOnthbmltYXRpb246W0FxLnRyYW5zZm9ybU1lbnUsQXEuZmFkZUluSXRlbXNdfSxjaGFuZ2VEZXRlY3Rpb246MH0pLGpxLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbRnFdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGpxLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1tZW51Iix0ZW1wbGF0ZTonPG5nLXRlbXBsYXRlPlxuICA8ZGl2XG4gICAgY2xhc3M9Im1hdC1tZW51LXBhbmVsIlxuICAgIFtpZF09InBhbmVsSWQiXG4gICAgW25nQ2xhc3NdPSJfY2xhc3NMaXN0IlxuICAgIChrZXlkb3duKT0iX2hhbmRsZUtleWRvd24oJGV2ZW50KSJcbiAgICAoY2xpY2spPSJjbG9zZWQuZW1pdChcJ2NsaWNrXCcpIlxuICAgIFtAdHJhbnNmb3JtTWVudV09Il9wYW5lbEFuaW1hdGlvblN0YXRlIlxuICAgIChAdHJhbnNmb3JtTWVudS5zdGFydCk9Il9vbkFuaW1hdGlvblN0YXJ0KCRldmVudCkiXG4gICAgKEB0cmFuc2Zvcm1NZW51LmRvbmUpPSJfb25BbmltYXRpb25Eb25lKCRldmVudCkiXG4gICAgdGFiaW5kZXg9Ii0xIlxuICAgIHJvbGU9Im1lbnUiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09ImFyaWFMYWJlbCB8fCBudWxsIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09ImFyaWFMYWJlbGxlZGJ5IHx8IG51bGwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09ImFyaWFEZXNjcmliZWRieSB8fCBudWxsIj5cbiAgICA8ZGl2IGNsYXNzPSJtYXQtbWVudS1jb250ZW50Ij5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLGVuY2Fwc3VsYXRpb246V24uTm9uZSxleHBvcnRBczoibWF0TWVudSIsaG9zdDp7IlthdHRyLmFyaWEtbGFiZWxdIjoibnVsbCIsIlthdHRyLmFyaWEtbGFiZWxsZWRieV0iOiJudWxsIiwiW2F0dHIuYXJpYS1kZXNjcmliZWRieV0iOiJudWxsIn0sYW5pbWF0aW9uczpbQXEudHJhbnNmb3JtTWVudSxBcS5mYWRlSW5JdGVtc10scHJvdmlkZXJzOlt7cHJvdmlkZTp6cSx1c2VFeGlzdGluZzpqcX1dLHN0eWxlczpbIm1hdC1tZW51e2Rpc3BsYXk6bm9uZX0ubWF0LW1lbnUtcGFuZWx7bWluLXdpZHRoOjExMnB4O21heC13aWR0aDoyODBweDtvdmVyZmxvdzphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpO2JvcmRlci1yYWRpdXM6NHB4O291dGxpbmU6MDttaW4taGVpZ2h0OjY0cHh9Lm1hdC1tZW51LXBhbmVsLm5nLWFuaW1hdGluZ3twb2ludGVyLWV2ZW50czpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1tZW51LXBhbmVse291dGxpbmU6c29saWQgMXB4fS5tYXQtbWVudS1jb250ZW50Om5vdCg6ZW1wdHkpe3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1tZW51LWl0ZW17LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6NDhweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTZweDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bWF4LXdpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZW51LWl0ZW06Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fVtkaXI9cnRsXSAubWF0LW1lbnUtaXRlbXt0ZXh0LWFsaWduOnJpZ2h0fS5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbnttYXJnaW4tcmlnaHQ6MTZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjp0b3B9W2Rpcj1ydGxdIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbnttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDowfS5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXXtwb2ludGVyLWV2ZW50czpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1tZW51LWl0ZW17bWFyZ2luLXRvcDoxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LW1lbnUtaXRlbS5jZGstcHJvZ3JhbS1mb2N1c2VkLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LW1lbnUtaXRlbS1oaWdobGlnaHRlZHtvdXRsaW5lOmRvdHRlZCAxcHh9Lm1hdC1tZW51LWl0ZW0tc3VibWVudS10cmlnZ2Vye3BhZGRpbmctcmlnaHQ6MzJweH1bZGlyPXJ0bF0gLm1hdC1tZW51LWl0ZW0tc3VibWVudS10cmlnZ2Vye3BhZGRpbmctcmlnaHQ6MTZweDtwYWRkaW5nLWxlZnQ6MzJweH0ubWF0LW1lbnUtc3VibWVudS1pY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MTZweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDo1cHg7aGVpZ2h0OjEwcHg7ZmlsbDpjdXJyZW50Q29sb3J9W2Rpcj1ydGxdIC5tYXQtbWVudS1zdWJtZW51LWljb257cmlnaHQ6YXV0bztsZWZ0OjE2cHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGVYKC0xKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtbWVudS1zdWJtZW51LWljb257ZmlsbDpDYW52YXNUZXh0fWJ1dHRvbi5tYXQtbWVudS1pdGVte3dpZHRoOjEwMCV9Lm1hdC1tZW51LWl0ZW0gLm1hdC1tZW51LXJpcHBsZXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltGcV19XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBVcT1uZXcgZXIoIm1hdC1tZW51LXNjcm9sbC1zdHJhdGVneSIpO2NvbnN0IFdxPXtwcm92aWRlOlVxLGRlcHM6W0tCXSx1c2VGYWN0b3J5OmZ1bmN0aW9uIEdxKHQpe3JldHVybigpPT50LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpfX0sWXE9Ykgoe3Bhc3NpdmU6ITB9KTtjbGFzcyBxcXtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMpe3RoaXMuX292ZXJsYXk9dCx0aGlzLl9lbGVtZW50PWUsdGhpcy5fdmlld0NvbnRhaW5lclJlZj1uLHRoaXMuX21lbnVJdGVtSW5zdGFuY2U9YSx0aGlzLl9kaXI9cix0aGlzLl9mb2N1c01vbml0b3I9cyx0aGlzLl9vdmVybGF5UmVmPW51bGwsdGhpcy5fbWVudU9wZW49ITEsdGhpcy5fY2xvc2luZ0FjdGlvbnNTdWJzY3JpcHRpb249dS5FTVBUWSx0aGlzLl9ob3ZlclN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX21lbnVDbG9zZVN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQ9dD0+e2VGKHQpfHwodGhpcy5fb3BlbmVkQnk9InRvdWNoIil9LHRoaXMuX29wZW5lZEJ5PXZvaWQgMCx0aGlzLnJlc3RvcmVGb2N1cz0hMCx0aGlzLm1lbnVPcGVuZWQ9bmV3IFN5LHRoaXMub25NZW51T3Blbj10aGlzLm1lbnVPcGVuZWQsdGhpcy5tZW51Q2xvc2VkPW5ldyBTeSx0aGlzLm9uTWVudUNsb3NlPXRoaXMubWVudUNsb3NlZCx0aGlzLl9zY3JvbGxTdHJhdGVneT1vLHRoaXMuX3BhcmVudE1hdGVyaWFsTWVudT1pIGluc3RhbmNlb2YgVnE/aTp2b2lkIDAsZS5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQsWXEpLGEmJihhLl90cmlnZ2Vyc1N1Ym1lbnU9dGhpcy50cmlnZ2Vyc1N1Ym1lbnUoKSl9Z2V0IF9kZXByZWNhdGVkTWF0TWVudVRyaWdnZXJGb3IoKXtyZXR1cm4gdGhpcy5tZW51fXNldCBfZGVwcmVjYXRlZE1hdE1lbnVUcmlnZ2VyRm9yKHQpe3RoaXMubWVudT10fWdldCBtZW51KCl7cmV0dXJuIHRoaXMuX21lbnV9c2V0IG1lbnUodCl7dCE9PXRoaXMuX21lbnUmJih0aGlzLl9tZW51PXQsdGhpcy5fbWVudUNsb3NlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdCYmKHQhPT10aGlzLl9wYXJlbnRNYXRlcmlhbE1lbnV8fCJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlfHwoZnVuY3Rpb24gZSgpe3Rocm93IEVycm9yKCJtYXRNZW51VHJpZ2dlckZvcjogbWVudSBjYW5ub3QgY29udGFpbiBpdHMgb3duIHRyaWdnZXIuIEFzc2lnbiBhIG1lbnUgdGhhdCBpcyBub3QgYSBwYXJlbnQgb2YgdGhlIHRyaWdnZXIgb3IgbW92ZSB0aGUgdHJpZ2dlciBvdXRzaWRlIG9mIHRoZSBtZW51LiIpfSkoKSx0aGlzLl9tZW51Q2xvc2VTdWJzY3JpcHRpb249dC5jbG9zZS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLl9kZXN0cm95TWVudSh0KSwiY2xpY2siIT09dCYmInRhYiIhPT10fHwhdGhpcy5fcGFyZW50TWF0ZXJpYWxNZW51fHx0aGlzLl9wYXJlbnRNYXRlcmlhbE1lbnUuY2xvc2VkLmVtaXQodCl9KSkpKX1uZ0FmdGVyQ29udGVudEluaXQoKXt0aGlzLl9jaGVja01lbnUoKSx0aGlzLl9oYW5kbGVIb3ZlcigpfW5nT25EZXN0cm95KCl7dGhpcy5fb3ZlcmxheVJlZiYmKHRoaXMuX292ZXJsYXlSZWYuZGlzcG9zZSgpLHRoaXMuX292ZXJsYXlSZWY9bnVsbCksdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQsWXEpLHRoaXMuX21lbnVDbG9zZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuX2Nsb3NpbmdBY3Rpb25zU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5faG92ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX1nZXQgbWVudU9wZW4oKXtyZXR1cm4gdGhpcy5fbWVudU9wZW59Z2V0IGRpcigpe3JldHVybiB0aGlzLl9kaXImJiJydGwiPT09dGhpcy5fZGlyLnZhbHVlPyJydGwiOiJsdHIifXRyaWdnZXJzU3VibWVudSgpe3JldHVybiEoIXRoaXMuX21lbnVJdGVtSW5zdGFuY2V8fCF0aGlzLl9wYXJlbnRNYXRlcmlhbE1lbnUpfXRvZ2dsZU1lbnUoKXtyZXR1cm4gdGhpcy5fbWVudU9wZW4/dGhpcy5jbG9zZU1lbnUoKTp0aGlzLm9wZW5NZW51KCl9b3Blbk1lbnUoKXtpZih0aGlzLl9tZW51T3BlbilyZXR1cm47dGhpcy5fY2hlY2tNZW51KCk7Y29uc3QgdD10aGlzLl9jcmVhdGVPdmVybGF5KCksZT10LmdldENvbmZpZygpO3RoaXMuX3NldFBvc2l0aW9uKGUucG9zaXRpb25TdHJhdGVneSksZS5oYXNCYWNrZHJvcD1udWxsPT10aGlzLm1lbnUuaGFzQmFja2Ryb3A/IXRoaXMudHJpZ2dlcnNTdWJtZW51KCk6dGhpcy5tZW51Lmhhc0JhY2tkcm9wLHQuYXR0YWNoKHRoaXMuX2dldFBvcnRhbCgpKSx0aGlzLm1lbnUubGF6eUNvbnRlbnQmJnRoaXMubWVudS5sYXp5Q29udGVudC5hdHRhY2godGhpcy5tZW51RGF0YSksdGhpcy5fY2xvc2luZ0FjdGlvbnNTdWJzY3JpcHRpb249dGhpcy5fbWVudUNsb3NpbmdBY3Rpb25zKCkuc3Vic2NyaWJlKCgoKT0+dGhpcy5jbG9zZU1lbnUoKSkpLHRoaXMuX2luaXRNZW51KCksdGhpcy5tZW51IGluc3RhbmNlb2YgVnEmJnRoaXMubWVudS5fc3RhcnRBbmltYXRpb24oKX1jbG9zZU1lbnUoKXt0aGlzLm1lbnUuY2xvc2UuZW1pdCgpfWZvY3VzKHQsZSl7dGhpcy5fZm9jdXNNb25pdG9yJiZ0P3RoaXMuX2ZvY3VzTW9uaXRvci5mb2N1c1ZpYSh0aGlzLl9lbGVtZW50LHQsZSk6dGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKGUpfXVwZGF0ZVBvc2l0aW9uKCl7dmFyIHQ7bnVsbD09PSh0PXRoaXMuX292ZXJsYXlSZWYpfHx2b2lkIDA9PT10fHx0LnVwZGF0ZVBvc2l0aW9uKCl9X2Rlc3Ryb3lNZW51KHQpe2lmKCF0aGlzLl9vdmVybGF5UmVmfHwhdGhpcy5tZW51T3BlbilyZXR1cm47Y29uc3QgZT10aGlzLm1lbnU7dGhpcy5fY2xvc2luZ0FjdGlvbnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpLCF0aGlzLnJlc3RvcmVGb2N1c3x8ImtleWRvd24iIT09dCYmdGhpcy5fb3BlbmVkQnkmJnRoaXMudHJpZ2dlcnNTdWJtZW51KCl8fHRoaXMuZm9jdXModGhpcy5fb3BlbmVkQnkpLHRoaXMuX29wZW5lZEJ5PXZvaWQgMCxlIGluc3RhbmNlb2YgVnE/KGUuX3Jlc2V0QW5pbWF0aW9uKCksZS5sYXp5Q29udGVudD9lLl9hbmltYXRpb25Eb25lLnBpcGUodWUoKHQ9PiJ2b2lkIj09PXQudG9TdGF0ZSkpLHZlKDEpLGplKGUubGF6eUNvbnRlbnQuX2F0dGFjaGVkKSkuc3Vic2NyaWJlKHtuZXh0OigpPT5lLmxhenlDb250ZW50LmRldGFjaCgpLGNvbXBsZXRlOigpPT50aGlzLl9zZXRJc01lbnVPcGVuKCExKX0pOnRoaXMuX3NldElzTWVudU9wZW4oITEpKToodGhpcy5fc2V0SXNNZW51T3BlbighMSksZS5sYXp5Q29udGVudCYmZS5sYXp5Q29udGVudC5kZXRhY2goKSl9X2luaXRNZW51KCl7dGhpcy5tZW51LnBhcmVudE1lbnU9dGhpcy50cmlnZ2Vyc1N1Ym1lbnUoKT90aGlzLl9wYXJlbnRNYXRlcmlhbE1lbnU6dm9pZCAwLHRoaXMubWVudS5kaXJlY3Rpb249dGhpcy5kaXIsdGhpcy5fc2V0TWVudUVsZXZhdGlvbigpLHRoaXMubWVudS5mb2N1c0ZpcnN0SXRlbSh0aGlzLl9vcGVuZWRCeXx8InByb2dyYW0iKSx0aGlzLl9zZXRJc01lbnVPcGVuKCEwKX1fc2V0TWVudUVsZXZhdGlvbigpe2lmKHRoaXMubWVudS5zZXRFbGV2YXRpb24pe2xldCB0PTAsZT10aGlzLm1lbnUucGFyZW50TWVudTtmb3IoO2U7KXQrKyxlPWUucGFyZW50TWVudTt0aGlzLm1lbnUuc2V0RWxldmF0aW9uKHQpfX1fc2V0SXNNZW51T3Blbih0KXt0aGlzLl9tZW51T3Blbj10LHRoaXMuX21lbnVPcGVuP3RoaXMubWVudU9wZW5lZC5lbWl0KCk6dGhpcy5tZW51Q2xvc2VkLmVtaXQoKSx0aGlzLnRyaWdnZXJzU3VibWVudSgpJiZ0aGlzLl9tZW51SXRlbUluc3RhbmNlLl9zZXRIaWdobGlnaHRlZCh0KX1fY2hlY2tNZW51KCl7dGhpcy5tZW51fHwidW5kZWZpbmVkIiE9dHlwZW9mIG5nRGV2TW9kZSYmIW5nRGV2TW9kZXx8KAovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gdCgpe3Rocm93IEVycm9yKCdtYXRNZW51VHJpZ2dlckZvcjogbXVzdCBwYXNzIGluIGFuIG1hdC1tZW51IGluc3RhbmNlLlxuXG4gICAgRXhhbXBsZTpcbiAgICAgIDxtYXQtbWVudSAjbWVudT0ibWF0TWVudSI+PC9tYXQtbWVudT5cbiAgICAgIDxidXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT0ibWVudSI+PC9idXR0b24+Jyl9KSgpfV9jcmVhdGVPdmVybGF5KCl7aWYoIXRoaXMuX292ZXJsYXlSZWYpe2NvbnN0IHQ9dGhpcy5fZ2V0T3ZlcmxheUNvbmZpZygpO3RoaXMuX3N1YnNjcmliZVRvUG9zaXRpb25zKHQucG9zaXRpb25TdHJhdGVneSksdGhpcy5fb3ZlcmxheVJlZj10aGlzLl9vdmVybGF5LmNyZWF0ZSh0KSx0aGlzLl9vdmVybGF5UmVmLmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoKX1yZXR1cm4gdGhpcy5fb3ZlcmxheVJlZn1fZ2V0T3ZlcmxheUNvbmZpZygpe3JldHVybiBuZXcgd0Ioe3Bvc2l0aW9uU3RyYXRlZ3k6dGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5fZWxlbWVudCkud2l0aExvY2tlZFBvc2l0aW9uKCkud2l0aEdyb3dBZnRlck9wZW4oKS53aXRoVHJhbnNmb3JtT3JpZ2luT24oIi5tYXQtbWVudS1wYW5lbCwgLm1hdC1tZGMtbWVudS1wYW5lbCIpLGJhY2tkcm9wQ2xhc3M6dGhpcy5tZW51LmJhY2tkcm9wQ2xhc3N8fCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCIscGFuZWxDbGFzczp0aGlzLm1lbnUub3ZlcmxheVBhbmVsQ2xhc3Msc2Nyb2xsU3RyYXRlZ3k6dGhpcy5fc2Nyb2xsU3RyYXRlZ3koKSxkaXJlY3Rpb246dGhpcy5fZGlyfSl9X3N1YnNjcmliZVRvUG9zaXRpb25zKHQpe3RoaXMubWVudS5zZXRQb3NpdGlvbkNsYXNzZXMmJnQucG9zaXRpb25DaGFuZ2VzLnN1YnNjcmliZSgodD0+e3RoaXMubWVudS5zZXRQb3NpdGlvbkNsYXNzZXMoInN0YXJ0Ij09PXQuY29ubmVjdGlvblBhaXIub3ZlcmxheVg/ImFmdGVyIjoiYmVmb3JlIiwidG9wIj09PXQuY29ubmVjdGlvblBhaXIub3ZlcmxheVk/ImJlbG93IjoiYWJvdmUiKX0pKX1fc2V0UG9zaXRpb24odCl7bGV0W2Usbl09ImJlZm9yZSI9PT10aGlzLm1lbnUueFBvc2l0aW9uP1siZW5kIiwic3RhcnQiXTpbInN0YXJ0IiwiZW5kIl0sW28saV09ImFib3ZlIj09PXRoaXMubWVudS55UG9zaXRpb24/WyJib3R0b20iLCJ0b3AiXTpbInRvcCIsImJvdHRvbSJdLFthLHJdPVtvLGldLFtzLGxdPVtlLG5dLGM9MDt0aGlzLnRyaWdnZXJzU3VibWVudSgpPyhsPWU9ImJlZm9yZSI9PT10aGlzLm1lbnUueFBvc2l0aW9uPyJzdGFydCI6ImVuZCIsbj1zPSJlbmQiPT09ZT8ic3RhcnQiOiJlbmQiLGM9ImJvdHRvbSI9PT1vPzg6LTgpOnRoaXMubWVudS5vdmVybGFwVHJpZ2dlcnx8KGE9InRvcCI9PT1vPyJib3R0b20iOiJ0b3AiLHI9InRvcCI9PT1pPyJib3R0b20iOiJ0b3AiKSx0LndpdGhQb3NpdGlvbnMoW3tvcmlnaW5YOmUsb3JpZ2luWTphLG92ZXJsYXlYOnMsb3ZlcmxheVk6byxvZmZzZXRZOmN9LHtvcmlnaW5YOm4sb3JpZ2luWTphLG92ZXJsYXlYOmwsb3ZlcmxheVk6byxvZmZzZXRZOmN9LHtvcmlnaW5YOmUsb3JpZ2luWTpyLG92ZXJsYXlYOnMsb3ZlcmxheVk6aSxvZmZzZXRZOi1jfSx7b3JpZ2luWDpuLG9yaWdpblk6cixvdmVybGF5WDpsLG92ZXJsYXlZOmksb2Zmc2V0WTotY31dKX1fbWVudUNsb3NpbmdBY3Rpb25zKCl7Y29uc3QgdD10aGlzLl9vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKSxlPXRoaXMuX292ZXJsYXlSZWYuZGV0YWNobWVudHMoKTtyZXR1cm4gcGUodCx0aGlzLl9wYXJlbnRNYXRlcmlhbE1lbnU/dGhpcy5fcGFyZW50TWF0ZXJpYWxNZW51LmNsb3NlZDp6dCgpLHRoaXMuX3BhcmVudE1hdGVyaWFsTWVudT90aGlzLl9wYXJlbnRNYXRlcmlhbE1lbnUuX2hvdmVyZWQoKS5waXBlKHVlKCh0PT50IT09dGhpcy5fbWVudUl0ZW1JbnN0YW5jZSkpLHVlKCgoKT0+dGhpcy5fbWVudU9wZW4pKSk6enQoKSxlKX1faGFuZGxlTW91c2Vkb3duKHQpe3RGKHQpfHwodGhpcy5fb3BlbmVkQnk9MD09PXQuYnV0dG9uPyJtb3VzZSI6dm9pZCAwLHRoaXMudHJpZ2dlcnNTdWJtZW51KCkmJnQucHJldmVudERlZmF1bHQoKSl9X2hhbmRsZUtleWRvd24odCl7Y29uc3QgZT10LmtleUNvZGU7ZSE9PVhJJiZlIT09Skl8fCh0aGlzLl9vcGVuZWRCeT0ia2V5Ym9hcmQiKSx0aGlzLnRyaWdnZXJzU3VibWVudSgpJiYoMzk9PT1lJiYibHRyIj09PXRoaXMuZGlyfHwzNz09PWUmJiJydGwiPT09dGhpcy5kaXIpJiYodGhpcy5fb3BlbmVkQnk9ImtleWJvYXJkIix0aGlzLm9wZW5NZW51KCkpfV9oYW5kbGVDbGljayh0KXt0aGlzLnRyaWdnZXJzU3VibWVudSgpPyh0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMub3Blbk1lbnUoKSk6dGhpcy50b2dnbGVNZW51KCl9X2hhbmRsZUhvdmVyKCl7dGhpcy50cmlnZ2Vyc1N1Ym1lbnUoKSYmdGhpcy5fcGFyZW50TWF0ZXJpYWxNZW51JiYodGhpcy5faG92ZXJTdWJzY3JpcHRpb249dGhpcy5fcGFyZW50TWF0ZXJpYWxNZW51Ll9ob3ZlcmVkKCkucGlwZSh1ZSgodD0+dD09PXRoaXMuX21lbnVJdGVtSW5zdGFuY2UmJiF0LmRpc2FibGVkKSksUGUoMCxvdCkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9vcGVuZWRCeT0ibW91c2UiLHRoaXMubWVudSBpbnN0YW5jZW9mIFZxJiZ0aGlzLm1lbnUuX2lzQW5pbWF0aW5nP3RoaXMubWVudS5fYW5pbWF0aW9uRG9uZS5waXBlKHZlKDEpLFBlKDAsb3QpLGplKHRoaXMuX3BhcmVudE1hdGVyaWFsTWVudS5faG92ZXJlZCgpKSkuc3Vic2NyaWJlKCgoKT0+dGhpcy5vcGVuTWVudSgpKSk6dGhpcy5vcGVuTWVudSgpfSkpKX1fZ2V0UG9ydGFsKCl7cmV0dXJuIHRoaXMuX3BvcnRhbCYmdGhpcy5fcG9ydGFsLnRlbXBsYXRlUmVmPT09dGhpcy5tZW51LnRlbXBsYXRlUmVmfHwodGhpcy5fcG9ydGFsPW5ldyBsQih0aGlzLm1lbnUudGVtcGxhdGVSZWYsdGhpcy5fdmlld0NvbnRhaW5lclJlZikpLHRoaXMuX3BvcnRhbH19cXEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHFxKShnZihLQiksZ2YoS2gpLGdmKEZiKSxnZihVcSksZ2YoenEsOCksZ2YoSHEsMTApLGdmKHZGLDgpLGdmKGZGKSl9LHFxLsm1ZGlyPWhvKHt0eXBlOnFxLHNlbGVjdG9yczpbWyIiLCJtYXQtbWVudS10cmlnZ2VyLWZvciIsIiJdLFsiIiwibWF0TWVudVRyaWdnZXJGb3IiLCIiXV0saG9zdEF0dHJzOlsiYXJpYS1oYXNwb3B1cCIsInRydWUiLDEsIm1hdC1tZW51LXRyaWdnZXIiXSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigibW91c2Vkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlTW91c2Vkb3duKGUpfSkpKCJrZXlkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlS2V5ZG93bihlKX0pKSgiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9oYW5kbGVDbGljayhlKX0pKSwyJmUmJnltKCJhcmlhLWV4cGFuZGVkIixuLm1lbnVPcGVufHxudWxsKSgiYXJpYS1jb250cm9scyIsbi5tZW51T3Blbj9uLm1lbnUucGFuZWxJZDpudWxsKX0saW5wdXRzOntyZXN0b3JlRm9jdXM6WyJtYXRNZW51VHJpZ2dlclJlc3RvcmVGb2N1cyIsInJlc3RvcmVGb2N1cyJdLF9kZXByZWNhdGVkTWF0TWVudVRyaWdnZXJGb3I6WyJtYXQtbWVudS10cmlnZ2VyLWZvciIsIl9kZXByZWNhdGVkTWF0TWVudVRyaWdnZXJGb3IiXSxtZW51OlsibWF0TWVudVRyaWdnZXJGb3IiLCJtZW51Il0sbWVudURhdGE6WyJtYXRNZW51VHJpZ2dlckRhdGEiLCJtZW51RGF0YSJdfSxvdXRwdXRzOnttZW51T3BlbmVkOiJtZW51T3BlbmVkIixvbk1lbnVPcGVuOiJvbk1lbnVPcGVuIixtZW51Q2xvc2VkOiJtZW51Q2xvc2VkIixvbk1lbnVDbG9zZToib25NZW51Q2xvc2UifSxleHBvcnRBczpbIm1hdE1lbnVUcmlnZ2VyIl19KSxxcS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktCfSx7dHlwZTpLaH0se3R5cGU6RmJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltVcV19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3pxXX0se3R5cGU6QnJ9XX0se3R5cGU6SHEsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOmZGfV0scXEucHJvcERlY29yYXRvcnM9e19kZXByZWNhdGVkTWF0TWVudVRyaWdnZXJGb3I6W3t0eXBlOlJfLGFyZ3M6WyJtYXQtbWVudS10cmlnZ2VyLWZvciJdfV0sbWVudTpbe3R5cGU6Ul8sYXJnczpbIm1hdE1lbnVUcmlnZ2VyRm9yIl19XSxtZW51RGF0YTpbe3R5cGU6Ul8sYXJnczpbIm1hdE1lbnVUcmlnZ2VyRGF0YSJdfV0scmVzdG9yZUZvY3VzOlt7dHlwZTpSXyxhcmdzOlsibWF0TWVudVRyaWdnZXJSZXN0b3JlRm9jdXMiXX1dLG1lbnVPcGVuZWQ6W3t0eXBlOkVffV0sb25NZW51T3Blbjpbe3R5cGU6RV99XSxtZW51Q2xvc2VkOlt7dHlwZTpFX31dLG9uTWVudUNsb3NlOlt7dHlwZTpFX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHFxLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXQtbWVudS10cmlnZ2VyLWZvcl0sIFttYXRNZW51VHJpZ2dlckZvcl0iLGhvc3Q6e2NsYXNzOiJtYXQtbWVudS10cmlnZ2VyIiwiYXJpYS1oYXNwb3B1cCI6InRydWUiLCJbYXR0ci5hcmlhLWV4cGFuZGVkXSI6Im1lbnVPcGVuIHx8IG51bGwiLCJbYXR0ci5hcmlhLWNvbnRyb2xzXSI6Im1lbnVPcGVuID8gbWVudS5wYW5lbElkIDogbnVsbCIsIihtb3VzZWRvd24pIjoiX2hhbmRsZU1vdXNlZG93bigkZXZlbnQpIiwiKGtleWRvd24pIjoiX2hhbmRsZUtleWRvd24oJGV2ZW50KSIsIihjbGljaykiOiJfaGFuZGxlQ2xpY2soJGV2ZW50KSJ9LGV4cG9ydEFzOiJtYXRNZW51VHJpZ2dlciJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLQn0se3R5cGU6S2h9LHt0eXBlOkZifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbVXFdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOlt6cV19LHt0eXBlOkJyfV19LHt0eXBlOkhxLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn1dfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpmRn1dfSkse3Jlc3RvcmVGb2N1czpbe3R5cGU6Ul8sYXJnczpbIm1hdE1lbnVUcmlnZ2VyUmVzdG9yZUZvY3VzIl19XSxtZW51T3BlbmVkOlt7dHlwZTpFX31dLG9uTWVudU9wZW46W3t0eXBlOkVffV0sbWVudUNsb3NlZDpbe3R5cGU6RV99XSxvbk1lbnVDbG9zZTpbe3R5cGU6RV99XSxfZGVwcmVjYXRlZE1hdE1lbnVUcmlnZ2VyRm9yOlt7dHlwZTpSXyxhcmdzOlsibWF0LW1lbnUtdHJpZ2dlci1mb3IiXX1dLG1lbnU6W3t0eXBlOlJfLGFyZ3M6WyJtYXRNZW51VHJpZ2dlckZvciJdfV0sbWVudURhdGE6W3t0eXBlOlJfLGFyZ3M6WyJtYXRNZW51VHJpZ2dlckRhdGEiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBacXt9WnEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFpxKX0sWnEuybVtb2Q9Zm8oe3R5cGU6WnF9KSxacS7JtWluaj1Ebih7cHJvdmlkZXJzOltXcV0saW1wb3J0czpbTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihacSxbe3R5cGU6TF8sYXJnczpbe2V4cG9ydHM6W3FxLE5xLE5GXSxkZWNsYXJhdGlvbnM6W3FxLE5xXSxwcm92aWRlcnM6W1dxXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFpxLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bcXEsTnFdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW3FxLE5xLE5GXX19KTtjbGFzcyBYcXt9ZnVuY3Rpb24gS3EodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiw4KX1mdW5jdGlvbiBKcSh0LGUpezEmdCYmdmYoMCwibWF0LWljb24iLDkpfWZ1bmN0aW9uIFFxKHQsZSl7MSZ0JiZ2ZigwLCJtYXQtaWNvbiIsMTApfXZhciAkcTtYcS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WHEpfSxYcS7JtW1vZD1mbyh7dHlwZTpYcX0pLFhxLsm1aW5qPURuKHtwcm92aWRlcnM6W1dxXSxpbXBvcnRzOltbcngsTkYsZkwsb1YsWnFdLG9CLE5GLFpxXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWHEsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltyeCxORixmTCxvVixacV0sZXhwb3J0czpbb0IsTkYsanEsSHEsWnFdLGRlY2xhcmF0aW9uczpbanEsSHFdLHByb3ZpZGVyczpbV3FdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oWHEse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVybltqcSxIcV19LGltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bcngsTkYsZkwsb1YsWnFdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW29CLE5GLGpxLEhxLFpxXX19KSwoZnVuY3Rpb24odCl7dFt0LkRFRkFVTFQ9MF09IkRFRkFVTFQiLHRbdC5EQVJLX01PREVfT049MV09IkRBUktfTU9ERV9PTiIsdFt0LkRBUktfTU9ERV9PRkY9Ml09IkRBUktfTU9ERV9PRkYifSkoJHF8fCgkcT17fSkpO2NsYXNzIHRae2NvbnN0cnVjdG9yKCl7dGhpcy5EYXJrTW9kZU92ZXJyaWRlPSRxLHRoaXMub25PdmVycmlkZUNoYW5nZWQ9bmV3IFN5fWdldEJ1dHRvblRpdGxlKCl7bGV0IHQ7c3dpdGNoKHRoaXMuZGFya01vZGVPdmVycmlkZSl7Y2FzZSAkcS5ERUZBVUxUOnQ9IkJyb3dzZXIgZGVmYXVsdCI7YnJlYWs7Y2FzZSAkcS5EQVJLX01PREVfT046dD0iRGFyayBtb2RlIjticmVhaztjYXNlICRxLkRBUktfTU9ERV9PRkY6dD0iTGlnaHQgbW9kZSJ9cmV0dXJuYEN1cnJlbnQgbW9kZTogWyR7dH1dLiBTd2l0Y2ggYmV0d2VlbiBicm93c2VyIGRlZmF1bHQsIGxpZ2h0LCBvciBkYXJrIHRoZW1lLmB9fXRaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0Wil9LHRaLsm1Y21wPXNvKHt0eXBlOnRaLHNlbGVjdG9yczpbWyJhcHAtaGVhZGVyLWRhcmstbW9kZS10b2dnbGUtY29tcG9uZW50Il1dLGlucHV0czp7ZGFya01vZGVPdmVycmlkZToiZGFya01vZGVPdmVycmlkZSJ9LG91dHB1dHM6e29uT3ZlcnJpZGVDaGFuZ2VkOiJvbk92ZXJyaWRlQ2hhbmdlZCJ9LGRlY2xzOjE1LHZhcnM6Nixjb25zdHM6W1sibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsIk1lbnUgZm9yIGNoYW5naW5nIGxpZ2h0IG9yIGRhcmsgdGhlbWUiLDMsIm1hdE1lbnVUcmlnZ2VyRm9yIiwibmdTd2l0Y2giLCJ0aXRsZSJdLFsic3ZnSWNvbiIsImJyaWdodG5lc3NfNl8yNHB4Iiw0LCJuZ1N3aXRjaENhc2UiXSxbInN2Z0ljb24iLCJsaWdodF9tb2RlXzI0cHgiLDQsIm5nU3dpdGNoQ2FzZSJdLFsic3ZnSWNvbiIsImRhcmtfbW9kZV8yNHB4Iiw0LCJuZ1N3aXRjaENhc2UiXSxbIm1lbnUiLCJtYXRNZW51Il0sWyJtYXQtbWVudS1pdGVtIiwiIiwidGl0bGUiLCJTZXQgdGhlIHRoZW1lIHRvIG1hdGNoIHRoZSBkZWZhdWx0IG1vZGUgaW4gdGhlIGJyb3dzZXIuIiwzLCJjbGljayJdLFsibWF0LW1lbnUtaXRlbSIsIiIsInRpdGxlIiwiRm9yY2UgbGlnaHQgVGVuc29yQm9hcmQgdGhlbWUuIiwzLCJjbGljayJdLFsibWF0LW1lbnUtaXRlbSIsIiIsInRpdGxlIiwiRm9yY2UgZGFyayBUZW5zb3JCb2FyZCB0aGVtZS4iLDMsImNsaWNrIl0sWyJzdmdJY29uIiwiYnJpZ2h0bmVzc182XzI0cHgiXSxbInN2Z0ljb24iLCJsaWdodF9tb2RlXzI0cHgiXSxbInN2Z0ljb24iLCJkYXJrX21vZGVfMjRweCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiYnV0dG9uIiwwKSxIbSgxLEtxLDEsMCwibWF0LWljb24iLDEpLEhtKDIsSnEsMSwwLCJtYXQtaWNvbiIsMiksSG0oMyxRcSwxLDAsIm1hdC1pY29uIiwzKSxNZigpLENmKDQsIm1hdC1tZW51IixudWxsLDQpLENmKDYsImJ1dHRvbiIsNSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uT3ZlcnJpZGVDaGFuZ2VkLmVtaXQobi5EYXJrTW9kZU92ZXJyaWRlLkRFRkFVTFQpfSkpLENmKDcsImxhYmVsIiksUHUoOCwiQnJvd3NlciBkZWZhdWx0IiksTWYoKSxNZigpLENmKDksImJ1dHRvbiIsNiksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uT3ZlcnJpZGVDaGFuZ2VkLmVtaXQobi5EYXJrTW9kZU92ZXJyaWRlLkRBUktfTU9ERV9PRkYpfSkpLENmKDEwLCJsYWJlbCIpLFB1KDExLCJMaWdodCIpLE1mKCksTWYoKSxDZigxMiwiYnV0dG9uIiw3KSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25PdmVycmlkZUNoYW5nZWQuZW1pdChuLkRhcmtNb2RlT3ZlcnJpZGUuREFSS19NT0RFX09OKX0pKSxDZigxMywibGFiZWwiKSxQdSgxNCwiRGFyayIpLE1mKCksTWYoKSxNZigpKSwyJmUpe2JmKCJtYXRNZW51VHJpZ2dlckZvciIsRm0oNSkpKCJuZ1N3aXRjaCIsbi5kYXJrTW9kZU92ZXJyaWRlKSgidGl0bGUiLG4uZ2V0QnV0dG9uVGl0bGUoKSksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsbi5EYXJrTW9kZU92ZXJyaWRlLkRFRkFVTFQpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLG4uRGFya01vZGVPdmVycmlkZS5EQVJLX01PREVfT0ZGKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIixuLkRhcmtNb2RlT3ZlcnJpZGUuREFSS19NT0RFX09OKX19LGRpcmVjdGl2ZXM6W05MLHFxLER2LFJ2LGpxLEhxLE1xXSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHRaLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFwcC1oZWFkZXItZGFyay1tb2RlLXRvZ2dsZS1jb21wb25lbnQiLHRlbXBsYXRlOidcbiAgICA8YnV0dG9uXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09Im1lbnUiXG4gICAgICBhcmlhLWxhYmVsPSJNZW51IGZvciBjaGFuZ2luZyBsaWdodCBvciBkYXJrIHRoZW1lIlxuICAgICAgW25nU3dpdGNoXT0iZGFya01vZGVPdmVycmlkZSJcbiAgICAgIFt0aXRsZV09ImdldEJ1dHRvblRpdGxlKCkiXG4gICAgPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgICpuZ1N3aXRjaENhc2U9IkRhcmtNb2RlT3ZlcnJpZGUuREVGQVVMVCJcbiAgICAgICAgc3ZnSWNvbj0iYnJpZ2h0bmVzc182XzI0cHgiXG4gICAgICA+PC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICAqbmdTd2l0Y2hDYXNlPSJEYXJrTW9kZU92ZXJyaWRlLkRBUktfTU9ERV9PRkYiXG4gICAgICAgIHN2Z0ljb249ImxpZ2h0X21vZGVfMjRweCJcbiAgICAgID48L21hdC1pY29uPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgICpuZ1N3aXRjaENhc2U9IkRhcmtNb2RlT3ZlcnJpZGUuREFSS19NT0RFX09OIlxuICAgICAgICBzdmdJY29uPSJkYXJrX21vZGVfMjRweCJcbiAgICAgID48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxtYXQtbWVudSAjbWVudT0ibWF0TWVudSI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgdGl0bGU9IlNldCB0aGUgdGhlbWUgdG8gbWF0Y2ggdGhlIGRlZmF1bHQgbW9kZSBpbiB0aGUgYnJvd3Nlci4iXG4gICAgICAgIChjbGljayk9Im9uT3ZlcnJpZGVDaGFuZ2VkLmVtaXQoRGFya01vZGVPdmVycmlkZS5ERUZBVUxUKSJcbiAgICAgID5cbiAgICAgICAgPGxhYmVsPkJyb3dzZXIgZGVmYXVsdDwvbGFiZWw+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICB0aXRsZT0iRm9yY2UgbGlnaHQgVGVuc29yQm9hcmQgdGhlbWUuIlxuICAgICAgICAoY2xpY2spPSJvbk92ZXJyaWRlQ2hhbmdlZC5lbWl0KERhcmtNb2RlT3ZlcnJpZGUuREFSS19NT0RFX09GRikiXG4gICAgICA+XG4gICAgICAgIDxsYWJlbD5MaWdodDwvbGFiZWw+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICB0aXRsZT0iRm9yY2UgZGFyayBUZW5zb3JCb2FyZCB0aGVtZS4iXG4gICAgICAgIChjbGljayk9Im9uT3ZlcnJpZGVDaGFuZ2VkLmVtaXQoRGFya01vZGVPdmVycmlkZS5EQVJLX01PREVfT04pIlxuICAgICAgPlxuICAgICAgICA8bGFiZWw+RGFyazwvbGFiZWw+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC1tZW51PlxuICAnfV19XSxudWxsLHtkYXJrTW9kZU92ZXJyaWRlOlt7dHlwZTpSX31dLG9uT3ZlcnJpZGVDaGFuZ2VkOlt7dHlwZTpFX31dfSk7Y2xhc3MgZVp7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuZGFya01vZGVPdmVycmlkZSQ9dGhpcy5zdG9yZS5zZWxlY3QoTEQpLnBpcGUoVnQoKHQ9Pm51bGw9PT10PyRxLkRFRkFVTFQ6dD8kcS5EQVJLX01PREVfT046JHEuREFSS19NT0RFX09GRikpKX1jaGFuZ2VEYXJrTW9kZSh0KXtsZXQgZT1udWxsO3N3aXRjaCh0KXtjYXNlICRxLkRFRkFVTFQ6ZT1udWxsO2JyZWFrO2Nhc2UgJHEuREFSS19NT0RFX09GRjplPSExO2JyZWFrO2Nhc2UgJHEuREFSS19NT0RFX09OOmU9ITB9dGhpcy5zdG9yZS5kaXNwYXRjaChrTih7ZW5hYmxlRGFya01vZGU6ZX0pKX19ZVouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGVaKShnZihpUykpfSxlWi7JtWNtcD1zbyh7dHlwZTplWixzZWxlY3RvcnM6W1siYXBwLWhlYWRlci1kYXJrLW1vZGUtdG9nZ2xlIl1dLGRlY2xzOjIsdmFyczozLGNvbnN0czpbWzMsImRhcmtNb2RlT3ZlcnJpZGUiLCJvbk92ZXJyaWRlQ2hhbmdlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiYXBwLWhlYWRlci1kYXJrLW1vZGUtdG9nZ2xlLWNvbXBvbmVudCIsMCksUmYoIm9uT3ZlcnJpZGVDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5jaGFuZ2VEYXJrTW9kZShlKX0pKSxfeSgxLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoImRhcmtNb2RlT3ZlcnJpZGUiLEN5KDEsMSxuLmRhcmtNb2RlT3ZlcnJpZGUkKSl9LGRpcmVjdGl2ZXM6W3RaXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZVosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiYXBwLWhlYWRlci1kYXJrLW1vZGUtdG9nZ2xlIix0ZW1wbGF0ZTonXG4gICAgPGFwcC1oZWFkZXItZGFyay1tb2RlLXRvZ2dsZS1jb21wb25lbnRcbiAgICAgIFtkYXJrTW9kZU92ZXJyaWRlXT0iZGFya01vZGVPdmVycmlkZSQgfCBhc3luYyJcbiAgICAgIChvbk92ZXJyaWRlQ2hhbmdlZCk9ImNoYW5nZURhcmtNb2RlKCRldmVudCkiXG4gICAgPlxuICAgIDwvYXBwLWhlYWRlci1kYXJrLW1vZGUtdG9nZ2xlLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBuWj1iUyhuVCxlVCwoKHQsZSk9PiEoIWV8fCF0W2VdKSYmdFtlXS5kaXNhYmxlX3JlbG9hZCkpO2NsYXNzIG9ae2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLnJlbG9hZERpc2FibGVkJD10aGlzLnN0b3JlLnNlbGVjdChuWiksdGhpcy5pc1JlbG9hZGluZyQ9dGhpcy5zdG9yZS5zZWxlY3QoJEEpLnBpcGUoX2UodGhpcy5yZWxvYWREaXNhYmxlZCQpLFZ0KCgoW3QsZV0pPT4hZSYmdD09PVVFLkxPQURJTkcpKSksdGhpcy5sYXN0TG9hZGVkVGltZUluTXMkPXRoaXMuc3RvcmUuc2VsZWN0KHRUKX10cmlnZ2VyUmVsb2FkKCl7dGhpcy5zdG9yZS5kaXNwYXRjaChKRSgpKX1nZXRSZWxvYWRUaXRsZSh0KXtyZXR1cm4gdD9gTGFzdCBVcGRhdGVkOiAke3R9YDoiTG9hZGluZy4uLiJ9fWZ1bmN0aW9uIGlaKHQpe3JldHVybiB0LnN0YXRlIT09VUUuTk9UX0xPQURFRCYmdC5zdGF0ZSE9PVVFLkxPQURJTkd9b1ouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG9aKShnZihpUykpfSxvWi7JtWNtcD1zbyh7dHlwZTpvWixzZWxlY3RvcnM6W1siYXBwLWhlYWRlci1yZWxvYWQiXV0sZGVjbHM6Nix2YXJzOjEzLGNvbnN0czpbWyJtYXQtaWNvbi1idXR0b24iLCIiLDEsInJlbG9hZC1idXR0b24iLDMsInRpdGxlIiwiZGlzYWJsZWQiLCJjbGljayJdLFsic3ZnSWNvbiIsInJlZnJlc2hfMjRweCIsMSwicmVmcmVzaC1pY29uIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJidXR0b24iLDApLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi50cmlnZ2VyUmVsb2FkKCl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJkYXRlIiksX3koMywiYXN5bmMiKSxfeSg0LCJhc3luYyIpLHZmKDUsIm1hdC1pY29uIiwxKSxNZigpKSwyJmUmJihjdSgibG9hZGluZyIsQ3koMSw0LG4uaXNSZWxvYWRpbmckKSksYmYoInRpdGxlIixuLmdldFJlbG9hZFRpdGxlKE15KDIsNixDeSgzLDksbi5sYXN0TG9hZGVkVGltZUluTXMkKSwibWVkaXVtIikpKSgiZGlzYWJsZWQiLEN5KDQsMTEsbi5yZWxvYWREaXNhYmxlZCQpKSl9LGRpcmVjdGl2ZXM6W05MLE1xXSxwaXBlczpbVnYsWXZdLHN0eWxlczpbIi5yZWxvYWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLnJlZnJlc2gtaWNvbltfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLnJlbG9hZC1idXR0b24ubG9hZGluZ1tfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBhbmltYXRpb246IHJvdGF0ZSAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgcm90YXRlIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB9XG4gICAgICB9Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG9aLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFwcC1oZWFkZXItcmVsb2FkIix0ZW1wbGF0ZTonXG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9InJlbG9hZC1idXR0b24iXG4gICAgICBbY2xhc3MubG9hZGluZ109ImlzUmVsb2FkaW5nJCB8IGFzeW5jIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAoY2xpY2spPSJ0cmlnZ2VyUmVsb2FkKCkiXG4gICAgICBbdGl0bGVdPSJnZXRSZWxvYWRUaXRsZShsYXN0TG9hZGVkVGltZUluTXMkIHwgYXN5bmMgfCBkYXRlOiBcJ21lZGl1bVwnKSJcbiAgICAgIFtkaXNhYmxlZF09InJlbG9hZERpc2FibGVkJCB8IGFzeW5jIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz0icmVmcmVzaC1pY29uIiBzdmdJY29uPSJyZWZyZXNoXzI0cHgiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICcsc3R5bGVzOlsiXG4gICAgICAucmVsb2FkLWJ1dHRvbixcbiAgICAgIC5yZWZyZXNoLWljb24ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLnJlbG9hZC1idXR0b24ubG9hZGluZyB7XG4gICAgICAgIGFuaW1hdGlvbjogcm90YXRlIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyByb3RhdGUge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAiXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBhWj0zZTQsclo9VlMocEksQlMoc0ksKHQ9PmlaKHQpP09iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2V0dGluZ3M6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuc2V0dGluZ3MpLHtyZWxvYWRFbmFibGVkOiF0LnNldHRpbmdzLnJlbG9hZEVuYWJsZWR9KX0pOnQpKSxCUyhsSSwoKHQse3BlcmlvZEluTXM6ZX0pPT57aWYoIWlaKHQpKXJldHVybiB0O2NvbnN0IG49ZT49YVo/ZTp0LnNldHRpbmdzLnJlbG9hZFBlcmlvZEluTXM7cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2V0dGluZ3M6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuc2V0dGluZ3MpLHtyZWxvYWRQZXJpb2RJbk1zOm59KX0pfSkpLEJTKGNJLCgodCx7c2l6ZTplfSk9PntpZighaVoodCkpcmV0dXJuIHQ7Y29uc3Qgbj1lPjA/ZTp0LnNldHRpbmdzLnBhZ2VTaXplO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NldHRpbmdzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNldHRpbmdzKSx7cGFnZVNpemU6bn0pfSl9KSksQlMocVIsKCh0LHtwYXJ0aWFsU2V0dGluZ3M6ZX0pPT57Y29uc3Qgbj17fTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKGUucGFnZVNpemUpJiZlLnBhZ2VTaXplPjAmJihuLnBhZ2VTaXplPU51bWJlcihlLnBhZ2VTaXplKSksImJvb2xlYW4iPT10eXBlb2YgZS5hdXRvUmVsb2FkJiYobi5yZWxvYWRFbmFibGVkPWUuYXV0b1JlbG9hZCksTnVtYmVyLmlzRmluaXRlKGUuYXV0b1JlbG9hZFBlcmlvZEluTXMpJiZlLmF1dG9SZWxvYWRQZXJpb2RJbk1zPmFaJiYobi5yZWxvYWRQZXJpb2RJbk1zPU51bWJlcihlLmF1dG9SZWxvYWRQZXJpb2RJbk1zKSksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZXR0aW5nczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZXR0aW5ncyksbil9KX0pKSk7ZnVuY3Rpb24gc1oodCxlKXtyZXR1cm4gcloodCxlKX1jb25zdCBsWj1bImlucHV0Il0sY1o9ZnVuY3Rpb24odCl7cmV0dXJue2VudGVyRHVyYXRpb246dH19LGRaPW5ldyBlcigibWF0LWNoZWNrYm94LWRlZmF1bHQtb3B0aW9ucyIse3Byb3ZpZGVkSW46InJvb3QiLGZhY3Rvcnk6cFp9KTtmdW5jdGlvbiBwWigpe3JldHVybntjb2xvcjoiYWNjZW50IixjbGlja0FjdGlvbjoiY2hlY2staW5kZXRlcm1pbmF0ZSJ9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9sZXQgbVo9MDtjb25zdCBmWj17Y29sb3I6ImFjY2VudCIsY2xpY2tBY3Rpb246ImNoZWNrLWluZGV0ZXJtaW5hdGUifSx1Wj17cHJvdmlkZTp4VSx1c2VFeGlzdGluZzokZSgoKCk9PmJaKSksbXVsdGk6ITB9O2NsYXNzIGdae31jb25zdCBoWj1GRihJRihIRih6RihjbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLl9lbGVtZW50UmVmPXR9fSkpKSk7Y2xhc3MgYlogZXh0ZW5kcyBoWntjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyKXtzdXBlcih0KSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj1lLHRoaXMuX2ZvY3VzTW9uaXRvcj1uLHRoaXMuX25nWm9uZT1vLHRoaXMuX2FuaW1hdGlvbk1vZGU9YSx0aGlzLl9vcHRpb25zPXIsdGhpcy5hcmlhTGFiZWw9IiIsdGhpcy5hcmlhTGFiZWxsZWRieT1udWxsLHRoaXMuX3VuaXF1ZUlkPSJtYXQtY2hlY2tib3gtIisgKyttWix0aGlzLmlkPXRoaXMuX3VuaXF1ZUlkLHRoaXMubGFiZWxQb3NpdGlvbj0iYWZ0ZXIiLHRoaXMubmFtZT1udWxsLHRoaXMuY2hhbmdlPW5ldyBTeSx0aGlzLmluZGV0ZXJtaW5hdGVDaGFuZ2U9bmV3IFN5LHRoaXMuX29uVG91Y2hlZD0oKT0+e30sdGhpcy5fY3VycmVudEFuaW1hdGlvbkNsYXNzPSIiLHRoaXMuX2N1cnJlbnRDaGVja1N0YXRlPTAsdGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbj0oKT0+e30sdGhpcy5fY2hlY2tlZD0hMSx0aGlzLl9kaXNhYmxlZD0hMSx0aGlzLl9pbmRldGVybWluYXRlPSExLHRoaXMuX29wdGlvbnM9dGhpcy5fb3B0aW9uc3x8ZlosdGhpcy5jb2xvcj10aGlzLmRlZmF1bHRDb2xvcj10aGlzLl9vcHRpb25zLmNvbG9yfHxmWi5jb2xvcix0aGlzLnRhYkluZGV4PXBhcnNlSW50KGkpfHwwfWdldCBpbnB1dElkKCl7cmV0dXJuYCR7dGhpcy5pZHx8dGhpcy5fdW5pcXVlSWR9LWlucHV0YH1nZXQgcmVxdWlyZWQoKXtyZXR1cm4gdGhpcy5fcmVxdWlyZWR9c2V0IHJlcXVpcmVkKHQpe3RoaXMuX3JlcXVpcmVkPWVIKHQpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsITApLnN1YnNjcmliZSgodD0+e3R8fFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fb25Ub3VjaGVkKCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9KSl9KSksdGhpcy5fc3luY0luZGV0ZXJtaW5hdGUodGhpcy5faW5kZXRlcm1pbmF0ZSl9bmdBZnRlclZpZXdDaGVja2VkKCl7fW5nT25EZXN0cm95KCl7dGhpcy5fZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYpfWdldCBjaGVja2VkKCl7cmV0dXJuIHRoaXMuX2NoZWNrZWR9c2V0IGNoZWNrZWQodCl7dCE9dGhpcy5jaGVja2VkJiYodGhpcy5fY2hlY2tlZD10LHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKX1nZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5fZGlzYWJsZWR9c2V0IGRpc2FibGVkKHQpe2NvbnN0IGU9ZUgodCk7ZSE9PXRoaXMuZGlzYWJsZWQmJih0aGlzLl9kaXNhYmxlZD1lLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKX1nZXQgaW5kZXRlcm1pbmF0ZSgpe3JldHVybiB0aGlzLl9pbmRldGVybWluYXRlfXNldCBpbmRldGVybWluYXRlKHQpe2NvbnN0IGU9dCE9dGhpcy5faW5kZXRlcm1pbmF0ZTt0aGlzLl9pbmRldGVybWluYXRlPWVIKHQpLGUmJih0aGlzLl90cmFuc2l0aW9uQ2hlY2tTdGF0ZSh0aGlzLl9pbmRldGVybWluYXRlPzM6dGhpcy5jaGVja2VkPzE6MiksdGhpcy5pbmRldGVybWluYXRlQ2hhbmdlLmVtaXQodGhpcy5faW5kZXRlcm1pbmF0ZSkpLHRoaXMuX3N5bmNJbmRldGVybWluYXRlKHRoaXMuX2luZGV0ZXJtaW5hdGUpfV9pc1JpcHBsZURpc2FibGVkKCl7cmV0dXJuIHRoaXMuZGlzYWJsZVJpcHBsZXx8dGhpcy5kaXNhYmxlZH1fb25MYWJlbFRleHRDaGFuZ2UoKXt0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCl9d3JpdGVWYWx1ZSh0KXt0aGlzLmNoZWNrZWQ9ISF0fXJlZ2lzdGVyT25DaGFuZ2UodCl7dGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbj10fXJlZ2lzdGVyT25Ub3VjaGVkKHQpe3RoaXMuX29uVG91Y2hlZD10fXNldERpc2FibGVkU3RhdGUodCl7dGhpcy5kaXNhYmxlZD10fV9nZXRBcmlhQ2hlY2tlZCgpe3JldHVybiB0aGlzLmNoZWNrZWQ/InRydWUiOnRoaXMuaW5kZXRlcm1pbmF0ZT8ibWl4ZWQiOiJmYWxzZSJ9X3RyYW5zaXRpb25DaGVja1N0YXRlKHQpe2xldCBlPXRoaXMuX2N1cnJlbnRDaGVja1N0YXRlLG49dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O2lmKGUhPT10JiYodGhpcy5fY3VycmVudEFuaW1hdGlvbkNsYXNzLmxlbmd0aD4wJiZuLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fY3VycmVudEFuaW1hdGlvbkNsYXNzKSx0aGlzLl9jdXJyZW50QW5pbWF0aW9uQ2xhc3M9dGhpcy5fZ2V0QW5pbWF0aW9uQ2xhc3NGb3JDaGVja1N0YXRlVHJhbnNpdGlvbihlLHQpLHRoaXMuX2N1cnJlbnRDaGVja1N0YXRlPXQsdGhpcy5fY3VycmVudEFuaW1hdGlvbkNsYXNzLmxlbmd0aD4wKSl7bi5jbGFzc0xpc3QuYWRkKHRoaXMuX2N1cnJlbnRBbmltYXRpb25DbGFzcyk7Y29uc3QgdD10aGlzLl9jdXJyZW50QW5pbWF0aW9uQ2xhc3M7dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3NldFRpbWVvdXQoKCgpPT57bi5jbGFzc0xpc3QucmVtb3ZlKHQpfSksMWUzKX0pKX19X2VtaXRDaGFuZ2VFdmVudCgpe2NvbnN0IHQ9bmV3IGdaO3Quc291cmNlPXRoaXMsdC5jaGVja2VkPXRoaXMuY2hlY2tlZCx0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHRoaXMuY2hlY2tlZCksdGhpcy5jaGFuZ2UuZW1pdCh0KSx0aGlzLl9pbnB1dEVsZW1lbnQmJih0aGlzLl9pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5jaGVja2VkPXRoaXMuY2hlY2tlZCl9dG9nZ2xlKCl7dGhpcy5jaGVja2VkPSF0aGlzLmNoZWNrZWR9X29uSW5wdXRDbGljayh0KXt2YXIgZTtjb25zdCBuPW51bGw9PT0oZT10aGlzLl9vcHRpb25zKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5jbGlja0FjdGlvbjt0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuZGlzYWJsZWR8fCJub29wIj09PW4/dGhpcy5kaXNhYmxlZHx8Im5vb3AiIT09bnx8KHRoaXMuX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNoZWNrZWQ9dGhpcy5jaGVja2VkLHRoaXMuX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmluZGV0ZXJtaW5hdGU9dGhpcy5pbmRldGVybWluYXRlKToodGhpcy5pbmRldGVybWluYXRlJiYiY2hlY2siIT09biYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9Pnt0aGlzLl9pbmRldGVybWluYXRlPSExLHRoaXMuaW5kZXRlcm1pbmF0ZUNoYW5nZS5lbWl0KHRoaXMuX2luZGV0ZXJtaW5hdGUpfSkpLHRoaXMudG9nZ2xlKCksdGhpcy5fdHJhbnNpdGlvbkNoZWNrU3RhdGUodGhpcy5fY2hlY2tlZD8xOjIpLHRoaXMuX2VtaXRDaGFuZ2VFdmVudCgpKX1mb2N1cyh0LGUpe3Q/dGhpcy5fZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuX2lucHV0RWxlbWVudCx0LGUpOnRoaXMuX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKGUpfV9vbkludGVyYWN0aW9uRXZlbnQodCl7dC5zdG9wUHJvcGFnYXRpb24oKX1fZ2V0QW5pbWF0aW9uQ2xhc3NGb3JDaGVja1N0YXRlVHJhbnNpdGlvbih0LGUpe2lmKCJOb29wQW5pbWF0aW9ucyI9PT10aGlzLl9hbmltYXRpb25Nb2RlKXJldHVybiIiO2xldCBuPSIiO3N3aXRjaCh0KXtjYXNlIDA6aWYoMT09PWUpbj0idW5jaGVja2VkLWNoZWNrZWQiO2Vsc2V7aWYoMyE9ZSlyZXR1cm4iIjtuPSJ1bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSJ9YnJlYWs7Y2FzZSAyOm49MT09PWU/InVuY2hlY2tlZC1jaGVja2VkIjoidW5jaGVja2VkLWluZGV0ZXJtaW5hdGUiO2JyZWFrO2Nhc2UgMTpuPTI9PT1lPyJjaGVja2VkLXVuY2hlY2tlZCI6ImNoZWNrZWQtaW5kZXRlcm1pbmF0ZSI7YnJlYWs7Y2FzZSAzOm49MT09PWU/ImluZGV0ZXJtaW5hdGUtY2hlY2tlZCI6ImluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIn1yZXR1cm5gbWF0LWNoZWNrYm94LWFuaW0tJHtufWB9X3N5bmNJbmRldGVybWluYXRlKHQpe2NvbnN0IGU9dGhpcy5faW5wdXRFbGVtZW50O2UmJihlLm5hdGl2ZUVsZW1lbnQuaW5kZXRlcm1pbmF0ZT10KX19YlouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGJaKShnZihLaCksZ2YoT2IpLGdmKGZGKSxnZihtQyksR2EoInRhYmluZGV4IiksZ2YoY2ssOCksZ2YoZFosOCkpfSxiWi7JtWNtcD1zbyh7dHlwZTpiWixzZWxlY3RvcnM6W1sibWF0LWNoZWNrYm94Il1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoVnkobFosNSksVnkobUwsNSkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uX2lucHV0RWxlbWVudD10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5yaXBwbGU9dC5maXJzdCl9fSxob3N0QXR0cnM6WzEsIm1hdC1jaGVja2JveCJdLGhvc3RWYXJzOjEyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiYoY2coImlkIixuLmlkKSx5bSgidGFiaW5kZXgiLG51bGwpLGN1KCJtYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSIsbi5pbmRldGVybWluYXRlKSgibWF0LWNoZWNrYm94LWNoZWNrZWQiLG4uY2hlY2tlZCkoIm1hdC1jaGVja2JveC1kaXNhYmxlZCIsbi5kaXNhYmxlZCkoIm1hdC1jaGVja2JveC1sYWJlbC1iZWZvcmUiLCJiZWZvcmUiPT1uLmxhYmVsUG9zaXRpb24pKCJfbWF0LWFuaW1hdGlvbi1ub29wYWJsZSIsIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGUpKX0saW5wdXRzOntkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIixjb2xvcjoiY29sb3IiLHRhYkluZGV4OiJ0YWJJbmRleCIsYXJpYUxhYmVsOlsiYXJpYS1sYWJlbCIsImFyaWFMYWJlbCJdLGFyaWFMYWJlbGxlZGJ5OlsiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYUxhYmVsbGVkYnkiXSxpZDoiaWQiLGxhYmVsUG9zaXRpb246ImxhYmVsUG9zaXRpb24iLG5hbWU6Im5hbWUiLHJlcXVpcmVkOiJyZXF1aXJlZCIsY2hlY2tlZDoiY2hlY2tlZCIsZGlzYWJsZWQ6ImRpc2FibGVkIixpbmRldGVybWluYXRlOiJpbmRldGVybWluYXRlIixhcmlhRGVzY3JpYmVkYnk6WyJhcmlhLWRlc2NyaWJlZGJ5IiwiYXJpYURlc2NyaWJlZGJ5Il0sdmFsdWU6InZhbHVlIn0sb3V0cHV0czp7Y2hhbmdlOiJjaGFuZ2UiLGluZGV0ZXJtaW5hdGVDaGFuZ2U6ImluZGV0ZXJtaW5hdGVDaGFuZ2UifSxleHBvcnRBczpbIm1hdENoZWNrYm94Il0sZmVhdHVyZXM6W2poKFt1Wl0pLFFwXSxuZ0NvbnRlbnRTZWxlY3RvcnM6WyIqIl0sZGVjbHM6MTcsdmFyczoyMSxjb25zdHM6W1sxLCJtYXQtY2hlY2tib3gtbGF5b3V0Il0sWyJsYWJlbCIsIiJdLFsxLCJtYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyIl0sWyJ0eXBlIiwiY2hlY2tib3giLDEsIm1hdC1jaGVja2JveC1pbnB1dCIsImNkay12aXN1YWxseS1oaWRkZW4iLDMsImlkIiwicmVxdWlyZWQiLCJjaGVja2VkIiwiZGlzYWJsZWQiLCJ0YWJJbmRleCIsImNoYW5nZSIsImNsaWNrIl0sWyJpbnB1dCIsIiJdLFsibWF0UmlwcGxlIiwiIiwxLCJtYXQtY2hlY2tib3gtcmlwcGxlIiwibWF0LWZvY3VzLWluZGljYXRvciIsMywibWF0UmlwcGxlVHJpZ2dlciIsIm1hdFJpcHBsZURpc2FibGVkIiwibWF0UmlwcGxlUmFkaXVzIiwibWF0UmlwcGxlQ2VudGVyZWQiLCJtYXRSaXBwbGVBbmltYXRpb24iXSxbMSwibWF0LXJpcHBsZS1lbGVtZW50IiwibWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxlIl0sWzEsIm1hdC1jaGVja2JveC1mcmFtZSJdLFsxLCJtYXQtY2hlY2tib3gtYmFja2dyb3VuZCJdLFsidmVyc2lvbiIsIjEuMSIsImZvY3VzYWJsZSIsImZhbHNlIiwidmlld0JveCIsIjAgMCAyNCAyNCIsMCwieG1sIiwic3BhY2UiLCJwcmVzZXJ2ZSIsImFyaWEtaGlkZGVuIiwidHJ1ZSIsMSwibWF0LWNoZWNrYm94LWNoZWNrbWFyayJdLFsiZmlsbCIsIm5vbmUiLCJzdHJva2UiLCJ3aGl0ZSIsImQiLCJNNC4xLDEyLjcgOSwxNy42IDIwLjMsNi4zIiwxLCJtYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGgiXSxbMSwibWF0LWNoZWNrYm94LW1peGVkbWFyayJdLFsxLCJtYXQtY2hlY2tib3gtbGFiZWwiLDMsImNka09ic2VydmVDb250ZW50Il0sWyJjaGVja2JveExhYmVsIiwiIl0sWzIsImRpc3BsYXkiLCJub25lIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihIZigpLENmKDAsImxhYmVsIiwwLDEpLENmKDIsInNwYW4iLDIpLENmKDMsImlucHV0IiwzLDQpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9vbkludGVyYWN0aW9uRXZlbnQoZSl9KSkoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5fb25JbnB1dENsaWNrKGUpfSkpLE1mKCksQ2YoNSwic3BhbiIsNSksdmYoNiwic3BhbiIsNiksTWYoKSx2Zig3LCJzcGFuIiw3KSxDZig4LCJzcGFuIiw4KSxvYSgpLENmKDksInN2ZyIsOSksdmYoMTAsInBhdGgiLDEwKSxNZigpLGFhKCksdmYoMTEsInNwYW4iLDExKSxNZigpLE1mKCksQ2YoMTIsInNwYW4iLDEyLDEzKSxSZigiY2RrT2JzZXJ2ZUNvbnRlbnQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX29uTGFiZWxUZXh0Q2hhbmdlKCl9KSksQ2YoMTQsInNwYW4iLDE0KSxQdSgxNSwiwqAiKSxNZigpLEZmKDE2KSxNZigpLE1mKCkpLDImZSl7Y29uc3QgdD1GbSgxKSxlPUZtKDEzKTt5bSgiZm9yIixuLmlucHV0SWQpLERjKDIpLGN1KCJtYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyLW5vLXNpZGUtbWFyZ2luIiwhZS50ZXh0Q29udGVudHx8IWUudGV4dENvbnRlbnQudHJpbSgpKSxEYygxKSxiZigiaWQiLG4uaW5wdXRJZCkoInJlcXVpcmVkIixuLnJlcXVpcmVkKSgiY2hlY2tlZCIsbi5jaGVja2VkKSgiZGlzYWJsZWQiLG4uZGlzYWJsZWQpKCJ0YWJJbmRleCIsbi50YWJJbmRleCkseW0oInZhbHVlIixuLnZhbHVlKSgibmFtZSIsbi5uYW1lKSgiYXJpYS1sYWJlbCIsbi5hcmlhTGFiZWx8fG51bGwpKCJhcmlhLWxhYmVsbGVkYnkiLG4uYXJpYUxhYmVsbGVkYnkpKCJhcmlhLWNoZWNrZWQiLG4uX2dldEFyaWFDaGVja2VkKCkpKCJhcmlhLWRlc2NyaWJlZGJ5IixuLmFyaWFEZXNjcmliZWRieSksRGMoMiksYmYoIm1hdFJpcHBsZVRyaWdnZXIiLHQpKCJtYXRSaXBwbGVEaXNhYmxlZCIsbi5faXNSaXBwbGVEaXNhYmxlZCgpKSgibWF0UmlwcGxlUmFkaXVzIiwyMCkoIm1hdFJpcHBsZUNlbnRlcmVkIiwhMCkoIm1hdFJpcHBsZUFuaW1hdGlvbiIsaXkoMTksY1osIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGU/MDoxNTApKX19LGRpcmVjdGl2ZXM6W21MLFBIXSxzdHlsZXM6WyJAa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmR7MCV7b3BhY2l0eTowfTUwJXtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgbWF0LWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmR7MCUsNTAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MH19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtdW5jaGVja2VkLWNoZWNrZWQtY2hlY2ttYXJrLXBhdGh7MCUsNTAle3N0cm9rZS1kYXNob2Zmc2V0OjIyLjkxMDI1OX01MCV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpfTEwMCV7c3Ryb2tlLWRhc2hvZmZzZXQ6MH19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrezAlLDY4LjIle3RyYW5zZm9ybTpzY2FsZVgoMCl9NjguMiV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwgMCwgMCwgMSl9MTAwJXt0cmFuc2Zvcm06c2NhbGVYKDEpfX1Aa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aHtmcm9te2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7c3Ryb2tlLWRhc2hvZmZzZXQ6MH10b3tzdHJva2UtZGFzaG9mZnNldDotMjIuOTEwMjU5fX1Aa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJre2Zyb217YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpO29wYWNpdHk6MTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFya3tmcm9te2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMTQsIDAsIDAsIDEpO29wYWNpdHk6MDt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJre2Zyb217YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpO29wYWNpdHk6MDt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fUBrZXlmcmFtZXMgbWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmt7ZnJvbXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE0LCAwLCAwLCAxKTtvcGFjaXR5OjE7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnJvdGF0ZSgzMTVkZWcpfX1Aa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLXVuY2hlY2tlZC1taXhlZG1hcmt7MCV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZVgoMSl9MzIuOCUsMTAwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlWCgwKX19Lm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLC5tYXQtY2hlY2tib3gtZnJhbWV7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czoycHg7Ym94LXNpemluZzpib3JkZXItYm94O3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1hdC1jaGVja2JveHtkaXNwbGF5OmlubGluZS1ibG9jazt0cmFuc2l0aW9uOmJhY2tncm91bmQgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYm94LXNoYWRvdyAyODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LWNoZWNrYm94e3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LWNoZWNrYm94IC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtY2hlY2tib3gtcGVyc2lzdGVudC1yaXBwbGUpe29wYWNpdHk6LjE2fS5tYXQtY2hlY2tib3ggLm1hdC1jaGVja2JveC1yaXBwbGV7cG9zaXRpb246YWJzb2x1dGU7bGVmdDpjYWxjKDUwJSAtIDIwcHgpO3RvcDpjYWxjKDUwJSAtIDIwcHgpO2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmV9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWNoZWNrYm94LmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2hlY2tib3gtcmlwcGxle291dGxpbmU6c29saWQgM3B4fS5tYXQtY2hlY2tib3gtbGF5b3V0ey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6aW5oZXJpdDthbGlnbi1pdGVtczpiYXNlbGluZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTppbmxpbmUtZmxleDt3aGl0ZS1zcGFjZTpub3dyYXB9Lm1hdC1jaGVja2JveC1sYWJlbHstd2Via2l0LXVzZXItc2VsZWN0OmF1dG87LW1vei11c2VyLXNlbGVjdDphdXRvOy1tcy11c2VyLXNlbGVjdDphdXRvO3VzZXItc2VsZWN0OmF1dG99Lm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6MDttYXJnaW46YXV0bzttYXJnaW4tcmlnaHQ6OHB4O29yZGVyOjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxNnB4O2ZsZXgtc2hyaW5rOjB9W2Rpcj1ydGxdIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVye21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6YXV0b30ubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lci1uby1zaWRlLW1hcmdpbnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS5tYXQtY2hlY2tib3gtZnJhbWV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciA5MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSk7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtY2hlY2tib3gtZnJhbWV7dHJhbnNpdGlvbjpub25lfS5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciA5MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSksb3BhY2l0eSA5MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSk7LXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6ZXhhY3Q7Y29sb3ItYWRqdXN0OmV4YWN0fS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7dHJhbnNpdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1jaGVja2JveCAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZDpub25lfS5tYXQtY2hlY2tib3gtcGVyc2lzdGVudC1yaXBwbGV7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RyYW5zZm9ybTpub25lfS5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyOmhvdmVyIC5tYXQtY2hlY2tib3gtcGVyc2lzdGVudC1yaXBwbGV7b3BhY2l0eTouMDR9Lm1hdC1jaGVja2JveC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxle29wYWNpdHk6LjEyfS5tYXQtY2hlY2tib3gtcGVyc2lzdGVudC1yaXBwbGUsLm1hdC1jaGVja2JveC5tYXQtY2hlY2tib3gtZGlzYWJsZWQgLm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXI6aG92ZXIgLm1hdC1jaGVja2JveC1wZXJzaXN0ZW50LXJpcHBsZXtvcGFjaXR5OjB9QG1lZGlhKGhvdmVyOiBub25lKXsubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lcjpob3ZlciAubWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxle2Rpc3BsYXk6bm9uZX19Lm1hdC1jaGVja2JveC1jaGVja21hcmt7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0ubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe3N0cm9rZS1kYXNob2Zmc2V0OjIyLjkxMDI1OTtzdHJva2UtZGFzaGFycmF5OjIyLjkxMDI1OTtzdHJva2Utd2lkdGg6Mi4xMzMzMzMzMzMzcHh9LmNkay1oaWdoLWNvbnRyYXN0LWJsYWNrLW9uLXdoaXRlIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGh7c3Ryb2tlOiMwMDAgIWltcG9ydGFudH0ubWF0LWNoZWNrYm94LW1peGVkbWFya3t3aWR0aDpjYWxjKDEwMCUgLSA2cHgpO2hlaWdodDoycHg7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZVgoMCkgcm90YXRlKDBkZWcpO2JvcmRlci1yYWRpdXM6MnB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1jaGVja2JveC1taXhlZG1hcmt7aGVpZ2h0OjA7Ym9yZGVyLXRvcDpzb2xpZCAycHg7bWFyZ2luLXRvcDoycHh9Lm1hdC1jaGVja2JveC1sYWJlbC1iZWZvcmUgLm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXJ7b3JkZXI6MTttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OmF1dG99W2Rpcj1ydGxdIC5tYXQtY2hlY2tib3gtbGFiZWwtYmVmb3JlIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVye21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OjhweH0ubWF0LWNoZWNrYm94LWNoZWNrZWQgLm1hdC1jaGVja2JveC1jaGVja21hcmt7b3BhY2l0eToxfS5tYXQtY2hlY2tib3gtY2hlY2tlZCAubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe3N0cm9rZS1kYXNob2Zmc2V0OjB9Lm1hdC1jaGVja2JveC1jaGVja2VkIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre3RyYW5zZm9ybTpzY2FsZVgoMSkgcm90YXRlKC00NWRlZyl9Lm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJre29wYWNpdHk6MDt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2UtZGFzaG9mZnNldDowfS5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAubWF0LWNoZWNrYm94LW1peGVkbWFya3tvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlWCgxKSByb3RhdGUoMGRlZyl9Lm1hdC1jaGVja2JveC11bmNoZWNrZWQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm1hdC1jaGVja2JveC1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtY2hlY2tib3gtZGlzYWJsZWR7b3BhY2l0eTouNX0ubWF0LWNoZWNrYm94LWFuaW0tdW5jaGVja2VkLWNoZWNrZWQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2FuaW1hdGlvbjoxODBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmR9Lm1hdC1jaGVja2JveC1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGh7YW5pbWF0aW9uOjE4MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRofS5tYXQtY2hlY2tib3gtYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YW5pbWF0aW9uOjE4MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZH0ubWF0LWNoZWNrYm94LWFuaW0tdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1taXhlZG1hcmt7YW5pbWF0aW9uOjkwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrfS5tYXQtY2hlY2tib3gtYW5pbS1jaGVja2VkLXVuY2hlY2tlZCAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YW5pbWF0aW9uOjE4MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmR9Lm1hdC1jaGVja2JveC1hbmltLWNoZWNrZWQtdW5jaGVja2VkIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGh7YW5pbWF0aW9uOjkwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtY2hlY2tlZC11bmNoZWNrZWQtY2hlY2ttYXJrLXBhdGh9Lm1hdC1jaGVja2JveC1hbmltLWNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWF0LWNoZWNrYm94LWNoZWNrbWFya3thbmltYXRpb246OTBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrfS5tYXQtY2hlY2tib3gtYW5pbS1jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1taXhlZG1hcmt7YW5pbWF0aW9uOjkwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFya30ubWF0LWNoZWNrYm94LWFuaW0taW5kZXRlcm1pbmF0ZS1jaGVja2VkIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJre2FuaW1hdGlvbjo1MDBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtY2hlY2ttYXJrfS5tYXQtY2hlY2tib3gtYW5pbS1pbmRldGVybWluYXRlLWNoZWNrZWQgLm1hdC1jaGVja2JveC1taXhlZG1hcmt7YW5pbWF0aW9uOjUwMG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmt9Lm1hdC1jaGVja2JveC1hbmltLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHthbmltYXRpb246MTgwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtZmFkZS1vdXQtYmFja2dyb3VuZH0ubWF0LWNoZWNrYm94LWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1hdC1jaGVja2JveC1taXhlZG1hcmt7YW5pbWF0aW9uOjMwMG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFya30ubWF0LWNoZWNrYm94LWlucHV0e2JvdHRvbTowO2xlZnQ6NTAlfVxuIl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksYlouY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOmZGfSx7dHlwZTptQ30se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJ0YWJpbmRleCJdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbZFpdfV19XSxiWi5wcm9wRGVjb3JhdG9ycz17YXJpYUxhYmVsOlt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbCJdfV0sYXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dLGFyaWFEZXNjcmliZWRieTpbe3R5cGU6Ul8sYXJnczpbImFyaWEtZGVzY3JpYmVkYnkiXX1dLGlkOlt7dHlwZTpSX31dLHJlcXVpcmVkOlt7dHlwZTpSX31dLGxhYmVsUG9zaXRpb246W3t0eXBlOlJffV0sbmFtZTpbe3R5cGU6Ul99XSxjaGFuZ2U6W3t0eXBlOkVffV0saW5kZXRlcm1pbmF0ZUNoYW5nZTpbe3R5cGU6RV99XSx2YWx1ZTpbe3R5cGU6Ul99XSxfaW5wdXRFbGVtZW50Olt7dHlwZTphcixhcmdzOlsiaW5wdXQiXX1dLHJpcHBsZTpbe3R5cGU6YXIsYXJnczpbbUxdfV0sY2hlY2tlZDpbe3R5cGU6Ul99XSxkaXNhYmxlZDpbe3R5cGU6Ul99XSxpbmRldGVybWluYXRlOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGJaLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1jaGVja2JveCIsdGVtcGxhdGU6JzxsYWJlbCBbYXR0ci5mb3JdPSJpbnB1dElkIiBjbGFzcz0ibWF0LWNoZWNrYm94LWxheW91dCIgI2xhYmVsPlxuICA8c3BhbiBjbGFzcz0ibWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lciJcbiAgICAgICBbY2xhc3MubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lci1uby1zaWRlLW1hcmdpbl09IiFjaGVja2JveExhYmVsLnRleHRDb250ZW50IHx8ICFjaGVja2JveExhYmVsLnRleHRDb250ZW50LnRyaW0oKSI+XG4gICAgPGlucHV0ICNpbnB1dFxuICAgICAgICAgICBjbGFzcz0ibWF0LWNoZWNrYm94LWlucHV0IGNkay12aXN1YWxseS1oaWRkZW4iIHR5cGU9ImNoZWNrYm94IlxuICAgICAgICAgICBbaWRdPSJpbnB1dElkIlxuICAgICAgICAgICBbcmVxdWlyZWRdPSJyZXF1aXJlZCJcbiAgICAgICAgICAgW2NoZWNrZWRdPSJjaGVja2VkIlxuICAgICAgICAgICBbYXR0ci52YWx1ZV09InZhbHVlIlxuICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgW2F0dHIubmFtZV09Im5hbWUiXG4gICAgICAgICAgIFt0YWJJbmRleF09InRhYkluZGV4IlxuICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT0iYXJpYUxhYmVsIHx8IG51bGwiXG4gICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09ImFyaWFMYWJlbGxlZGJ5IlxuICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPSJfZ2V0QXJpYUNoZWNrZWQoKSJcbiAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09ImFyaWFEZXNjcmliZWRieSJcbiAgICAgICAgICAgKGNoYW5nZSk9Il9vbkludGVyYWN0aW9uRXZlbnQoJGV2ZW50KSJcbiAgICAgICAgICAgKGNsaWNrKT0iX29uSW5wdXRDbGljaygkZXZlbnQpIj5cbiAgICA8c3BhbiBtYXRSaXBwbGUgY2xhc3M9Im1hdC1jaGVja2JveC1yaXBwbGUgbWF0LWZvY3VzLWluZGljYXRvciJcbiAgICAgICAgIFttYXRSaXBwbGVUcmlnZ2VyXT0ibGFiZWwiXG4gICAgICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPSJfaXNSaXBwbGVEaXNhYmxlZCgpIlxuICAgICAgICAgW21hdFJpcHBsZVJhZGl1c109IjIwIlxuICAgICAgICAgW21hdFJpcHBsZUNlbnRlcmVkXT0idHJ1ZSJcbiAgICAgICAgIFttYXRSaXBwbGVBbmltYXRpb25dPSJ7ZW50ZXJEdXJhdGlvbjogX2FuaW1hdGlvbk1vZGUgPT09IFwnTm9vcEFuaW1hdGlvbnNcJyA/IDAgOiAxNTB9Ij5cbiAgICAgIDxzcGFuIGNsYXNzPSJtYXQtcmlwcGxlLWVsZW1lbnQgbWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxlIj48L3NwYW4+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPSJtYXQtY2hlY2tib3gtZnJhbWUiPjwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz0ibWF0LWNoZWNrYm94LWJhY2tncm91bmQiPlxuICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiXG4gICAgICAgICAgIGZvY3VzYWJsZT0iZmFsc2UiXG4gICAgICAgICAgIGNsYXNzPSJtYXQtY2hlY2tib3gtY2hlY2ttYXJrIlxuICAgICAgICAgICB2aWV3Qm94PSIwIDAgMjQgMjQiXG4gICAgICAgICAgIHhtbDpzcGFjZT0icHJlc2VydmUiXG4gICAgICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIj5cbiAgICAgICAgPHBhdGggY2xhc3M9Im1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aCJcbiAgICAgICAgICAgICAgZmlsbD0ibm9uZSJcbiAgICAgICAgICAgICAgc3Ryb2tlPSJ3aGl0ZSJcbiAgICAgICAgICAgICAgZD0iTTQuMSwxMi43IDksMTcuNiAyMC4zLDYuMyIvPlxuICAgICAgPC9zdmc+XG4gICAgICBceDNjIS0tIEVsZW1lbnQgZm9yIHJlbmRlcmluZyB0aGUgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBjaGVja2JveC4gLS1ceDNlXG4gICAgICA8c3BhbiBjbGFzcz0ibWF0LWNoZWNrYm94LW1peGVkbWFyayI+PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz0ibWF0LWNoZWNrYm94LWxhYmVsIiAjY2hlY2tib3hMYWJlbCAoY2RrT2JzZXJ2ZUNvbnRlbnQpPSJfb25MYWJlbFRleHRDaGFuZ2UoKSI+XG4gICAgXHgzYyEtLSBBZGQgYW4gaW52aXNpYmxlIHNwYW4gc28gSkFXUyBjYW4gcmVhZCB0aGUgbGFiZWwgLS1ceDNlXG4gICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6bm9uZSI+Jm5ic3A7PC9zcGFuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9zcGFuPlxuPC9sYWJlbD5cbicsZXhwb3J0QXM6Im1hdENoZWNrYm94Iixob3N0OntjbGFzczoibWF0LWNoZWNrYm94IiwiW2lkXSI6ImlkIiwiW2F0dHIudGFiaW5kZXhdIjoibnVsbCIsIltjbGFzcy5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZV0iOiJpbmRldGVybWluYXRlIiwiW2NsYXNzLm1hdC1jaGVja2JveC1jaGVja2VkXSI6ImNoZWNrZWQiLCJbY2xhc3MubWF0LWNoZWNrYm94LWRpc2FibGVkXSI6ImRpc2FibGVkIiwiW2NsYXNzLm1hdC1jaGVja2JveC1sYWJlbC1iZWZvcmVdIjonbGFiZWxQb3NpdGlvbiA9PSAiYmVmb3JlIicsIltjbGFzcy5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZV0iOiJfYW5pbWF0aW9uTW9kZSA9PT0gJ05vb3BBbmltYXRpb25zJyJ9LHByb3ZpZGVyczpbdVpdLGlucHV0czpbImRpc2FibGVSaXBwbGUiLCJjb2xvciIsInRhYkluZGV4Il0sZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsc3R5bGVzOlsiQGtleWZyYW1lcyBtYXQtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kezAle29wYWNpdHk6MH01MCV7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kezAlLDUwJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgbWF0LWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoezAlLDUwJXtzdHJva2UtZGFzaG9mZnNldDoyMi45MTAyNTl9NTAle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMC4xKX0xMDAle3N0cm9rZS1kYXNob2Zmc2V0OjB9fUBrZXlmcmFtZXMgbWF0LWNoZWNrYm94LXVuY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFya3swJSw2OC4yJXt0cmFuc2Zvcm06c2NhbGVYKDApfTY4LjIle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpfTEwMCV7dHJhbnNmb3JtOnNjYWxlWCgxKX19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtY2hlY2tlZC11bmNoZWNrZWQtY2hlY2ttYXJrLXBhdGh7ZnJvbXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpO3N0cm9rZS1kYXNob2Zmc2V0OjB9dG97c3Ryb2tlLWRhc2hvZmZzZXQ6LTIyLjkxMDI1OX19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLWNoZWNrbWFya3tmcm9te2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMC4xKTtvcGFjaXR5OjE7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9fUBrZXlmcmFtZXMgbWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcmt7ZnJvbXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE0LCAwLCAwLCAxKTtvcGFjaXR5OjA7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFya3tmcm9te2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMC4xKTtvcGFjaXR5OjA7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtbWl4ZWRtYXJre2Zyb217YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4xNCwgMCwgMCwgMSk7b3BhY2l0eToxO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97b3BhY2l0eTowO3RyYW5zZm9ybTpyb3RhdGUoMzE1ZGVnKX19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQtbWl4ZWRtYXJrezAle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGVYKDEpfTMyLjglLDEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZVgoMCl9fS5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCwubWF0LWNoZWNrYm94LWZyYW1le3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwb2ludGVyLWV2ZW50czpub25lfS5tYXQtY2hlY2tib3h7ZGlzcGxheTppbmxpbmUtYmxvY2s7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1jaGVja2JveHt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1jaGVja2JveCAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxlKXtvcGFjaXR5Oi4xNn0ubWF0LWNoZWNrYm94IC5tYXQtY2hlY2tib3gtcmlwcGxle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6Y2FsYyg1MCUgLSAyMHB4KTt0b3A6Y2FsYyg1MCUgLSAyMHB4KTtoZWlnaHQ6NDBweDt3aWR0aDo0MHB4O3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1jaGVja2JveC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNoZWNrYm94LXJpcHBsZXtvdXRsaW5lOnNvbGlkIDNweH0ubWF0LWNoZWNrYm94LWxheW91dHstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Y3Vyc29yOmluaGVyaXQ7YWxpZ24taXRlbXM6YmFzZWxpbmU7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lLWZsZXg7d2hpdGUtc3BhY2U6bm93cmFwfS5tYXQtY2hlY2tib3gtbGFiZWx7LXdlYmtpdC11c2VyLXNlbGVjdDphdXRvOy1tb3otdXNlci1zZWxlY3Q6YXV0bzstbXMtdXNlci1zZWxlY3Q6YXV0bzt1c2VyLXNlbGVjdDphdXRvfS5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O2xpbmUtaGVpZ2h0OjA7bWFyZ2luOmF1dG87bWFyZ2luLXJpZ2h0OjhweDtvcmRlcjowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTZweDtmbGV4LXNocmluazowfVtkaXI9cnRsXSAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lcnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OmF1dG99Lm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXItbm8tc2lkZS1tYXJnaW57bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MH0ubWF0LWNoZWNrYm94LWZyYW1le2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgOTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpO2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWNoZWNrYm94LWZyYW1le3RyYW5zaXRpb246bm9uZX0ubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgOTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpLG9wYWNpdHkgOTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpOy13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OmV4YWN0O2NvbG9yLWFkanVzdDpleGFjdH0uX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke3RyYW5zaXRpb246bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtY2hlY2tib3ggLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bm9uZX0ubWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxle2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0cmFuc2Zvcm06bm9uZX0ubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lcjpob3ZlciAubWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxle29wYWNpdHk6LjA0fS5tYXQtY2hlY2tib3guY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jaGVja2JveC1wZXJzaXN0ZW50LXJpcHBsZXtvcGFjaXR5Oi4xMn0ubWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxlLC5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWRpc2FibGVkIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyOmhvdmVyIC5tYXQtY2hlY2tib3gtcGVyc2lzdGVudC1yaXBwbGV7b3BhY2l0eTowfUBtZWRpYShob3Zlcjogbm9uZSl7Lm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXI6aG92ZXIgLm1hdC1jaGVja2JveC1wZXJzaXN0ZW50LXJpcHBsZXtkaXNwbGF5Om5vbmV9fS5tYXQtY2hlY2tib3gtY2hlY2ttYXJre3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2UtZGFzaG9mZnNldDoyMi45MTAyNTk7c3Ryb2tlLWRhc2hhcnJheToyMi45MTAyNTk7c3Ryb2tlLXdpZHRoOjIuMTMzMzMzMzMzM3B4fS5jZGstaGlnaC1jb250cmFzdC1ibGFjay1vbi13aGl0ZSAubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe3N0cm9rZTojMDAwICFpbXBvcnRhbnR9Lm1hdC1jaGVja2JveC1taXhlZG1hcmt7d2lkdGg6Y2FsYygxMDAlIC0gNnB4KTtoZWlnaHQ6MnB4O29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGVYKDApIHJvdGF0ZSgwZGVnKTtib3JkZXItcmFkaXVzOjJweH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4O21hcmdpbi10b3A6MnB4fS5tYXQtY2hlY2tib3gtbGFiZWwtYmVmb3JlIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVye29yZGVyOjE7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDphdXRvfVtkaXI9cnRsXSAubWF0LWNoZWNrYm94LWxhYmVsLWJlZm9yZSAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lcnttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDo4cHh9Lm1hdC1jaGVja2JveC1jaGVja2VkIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJre29wYWNpdHk6MX0ubWF0LWNoZWNrYm94LWNoZWNrZWQgLm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2UtZGFzaG9mZnNldDowfS5tYXQtY2hlY2tib3gtY2hlY2tlZCAubWF0LWNoZWNrYm94LW1peGVkbWFya3t0cmFuc2Zvcm06c2NhbGVYKDEpIHJvdGF0ZSgtNDVkZWcpfS5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAubWF0LWNoZWNrYm94LWNoZWNrbWFya3tvcGFjaXR5OjA7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9Lm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGh7c3Ryb2tlLWRhc2hvZmZzZXQ6MH0ubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1taXhlZG1hcmt7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZVgoMSkgcm90YXRlKDBkZWcpfS5tYXQtY2hlY2tib3gtdW5jaGVja2VkIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtY2hlY2tib3gtZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWNoZWNrYm94LWRpc2FibGVke29wYWNpdHk6LjV9Lm1hdC1jaGVja2JveC1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHthbmltYXRpb246MTgwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kfS5tYXQtY2hlY2tib3gtYW5pbS11bmNoZWNrZWQtY2hlY2tlZCAubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe2FuaW1hdGlvbjoxODBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC11bmNoZWNrZWQtY2hlY2tlZC1jaGVja21hcmstcGF0aH0ubWF0LWNoZWNrYm94LWFuaW0tdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2FuaW1hdGlvbjoxODBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmR9Lm1hdC1jaGVja2JveC1hbmltLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2FuaW1hdGlvbjo5MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LXVuY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFya30ubWF0LWNoZWNrYm94LWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2FuaW1hdGlvbjoxODBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kfS5tYXQtY2hlY2tib3gtYW5pbS1jaGVja2VkLXVuY2hlY2tlZCAubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe2FuaW1hdGlvbjo5MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRofS5tYXQtY2hlY2tib3gtYW5pbS1jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1jaGVja21hcmt7YW5pbWF0aW9uOjkwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLWNoZWNrbWFya30ubWF0LWNoZWNrYm94LWFuaW0tY2hlY2tlZC1pbmRldGVybWluYXRlIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2FuaW1hdGlvbjo5MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmt9Lm1hdC1jaGVja2JveC1hbmltLWluZGV0ZXJtaW5hdGUtY2hlY2tlZCAubWF0LWNoZWNrYm94LWNoZWNrbWFya3thbmltYXRpb246NTAwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFya30ubWF0LWNoZWNrYm94LWFuaW0taW5kZXRlcm1pbmF0ZS1jaGVja2VkIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2FuaW1hdGlvbjo1MDBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtbWl4ZWRtYXJrfS5tYXQtY2hlY2tib3gtYW5pbS1pbmRldGVybWluYXRlLXVuY2hlY2tlZCAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YW5pbWF0aW9uOjE4MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmR9Lm1hdC1jaGVja2JveC1hbmltLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2FuaW1hdGlvbjozMDBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLXVuY2hlY2tlZC1taXhlZG1hcmt9Lm1hdC1jaGVja2JveC1pbnB1dHtib3R0b206MDtsZWZ0OjUwJX1cbiJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTpmRn0se3R5cGU6bUN9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsidGFiaW5kZXgiXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2RaXX1dfV19KSx7YXJpYUxhYmVsOlt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbCJdfV0sYXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dLGlkOlt7dHlwZTpSX31dLGxhYmVsUG9zaXRpb246W3t0eXBlOlJffV0sbmFtZTpbe3R5cGU6Ul99XSxjaGFuZ2U6W3t0eXBlOkVffV0saW5kZXRlcm1pbmF0ZUNoYW5nZTpbe3R5cGU6RV99XSxyZXF1aXJlZDpbe3R5cGU6Ul99XSxjaGVja2VkOlt7dHlwZTpSX31dLGRpc2FibGVkOlt7dHlwZTpSX31dLGluZGV0ZXJtaW5hdGU6W3t0eXBlOlJffV0sYXJpYURlc2NyaWJlZGJ5Olt7dHlwZTpSXyxhcmdzOlsiYXJpYS1kZXNjcmliZWRieSJdfV0sdmFsdWU6W3t0eXBlOlJffV0sX2lucHV0RWxlbWVudDpbe3R5cGU6YXIsYXJnczpbImlucHV0Il19XSxyaXBwbGU6W3t0eXBlOmFyLGFyZ3M6W21MXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB5Wj17cHJvdmlkZTpFVSx1c2VFeGlzdGluZzokZSgoKCk9Pl9aKSksbXVsdGk6ITB9O2NsYXNzIF9aIGV4dGVuZHMgVkd7fV9aLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShfWikpKShufHxfWil9fSkoKSxfWi7JtWRpcj1obyh7dHlwZTpfWixzZWxlY3RvcnM6W1sibWF0LWNoZWNrYm94IiwicmVxdWlyZWQiLCIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbIm1hdC1jaGVja2JveCIsInJlcXVpcmVkIiwiIiwiZm9ybUNvbnRyb2wiLCIiXSxbIm1hdC1jaGVja2JveCIsInJlcXVpcmVkIiwiIiwibmdNb2RlbCIsIiJdXSxmZWF0dXJlczpbamgoW3laXSksUXBdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihfWixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtY2hlY2tib3hbcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0sXG4gICAgICAgICAgICAgbWF0LWNoZWNrYm94W3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sIG1hdC1jaGVja2JveFtyZXF1aXJlZF1bbmdNb2RlbF0iLHByb3ZpZGVyczpbeVpdfV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgQ1p7fUNaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxDWil9LENaLsm1bW9kPWZvKHt0eXBlOkNafSksQ1ouybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ1osW3t0eXBlOkxfLGFyZ3M6W3tleHBvcnRzOltfWl0sZGVjbGFyYXRpb25zOltfWl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhDWix7ZGVjbGFyYXRpb25zOltfWl0sZXhwb3J0czpbX1pdfSk7Y2xhc3MgTVp7fU1aLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxNWil9LE1aLsm1bW9kPWZvKHt0eXBlOk1afSksTVouybVpbmo9RG4oe2ltcG9ydHM6W1tmTCxORix3SCxDWl0sTkYsQ1pdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihNWixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W2ZMLE5GLHdILENaXSxleHBvcnRzOltiWixORixDWl0sZGVjbGFyYXRpb25zOltiWl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhNWix7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW2JaXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltmTCxORix3SCxDWl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bYlosTkYsQ1pdfX0pO2NvbnN0IHZaPWJIKHtwYXNzaXZlOiEwfSk7Y2xhc3MgeFp7Y29uc3RydWN0b3IodCxlKXt0aGlzLl9wbGF0Zm9ybT10LHRoaXMuX25nWm9uZT1lLHRoaXMuX21vbml0b3JlZEVsZW1lbnRzPW5ldyBNYXB9bW9uaXRvcih0KXtpZighdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKXJldHVybiBkdDtjb25zdCBlPXJIKHQpLG49dGhpcy5fbW9uaXRvcmVkRWxlbWVudHMuZ2V0KGUpO2lmKG4pcmV0dXJuIG4uc3ViamVjdDtjb25zdCBvPW5ldyBCLGk9ImNkay10ZXh0LWZpZWxkLWF1dG9maWxsZWQiLGE9dD0+eyJjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCIhPT10LmFuaW1hdGlvbk5hbWV8fGUuY2xhc3NMaXN0LmNvbnRhaW5zKGkpPyJjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQiPT09dC5hbmltYXRpb25OYW1lJiZlLmNsYXNzTGlzdC5jb250YWlucyhpKSYmKGUuY2xhc3NMaXN0LnJlbW92ZShpKSx0aGlzLl9uZ1pvbmUucnVuKCgoKT0+by5uZXh0KHt0YXJnZXQ6dC50YXJnZXQsaXNBdXRvZmlsbGVkOiExfSkpKSk6KGUuY2xhc3NMaXN0LmFkZChpKSx0aGlzLl9uZ1pvbmUucnVuKCgoKT0+by5uZXh0KHt0YXJnZXQ6dC50YXJnZXQsaXNBdXRvZmlsbGVkOiEwfSkpKSl9O3JldHVybiB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT57ZS5hZGRFdmVudExpc3RlbmVyKCJhbmltYXRpb25zdGFydCIsYSx2WiksZS5jbGFzc0xpc3QuYWRkKCJjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQiKX0pKSx0aGlzLl9tb25pdG9yZWRFbGVtZW50cy5zZXQoZSx7c3ViamVjdDpvLHVubGlzdGVuOigpPT57ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJhbmltYXRpb25zdGFydCIsYSx2Wil9fSksb31zdG9wTW9uaXRvcmluZyh0KXtjb25zdCBlPXJIKHQpLG49dGhpcy5fbW9uaXRvcmVkRWxlbWVudHMuZ2V0KGUpO24mJihuLnVubGlzdGVuKCksbi5zdWJqZWN0LmNvbXBsZXRlKCksZS5jbGFzc0xpc3QucmVtb3ZlKCJjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQiKSxlLmNsYXNzTGlzdC5yZW1vdmUoImNkay10ZXh0LWZpZWxkLWF1dG9maWxsZWQiKSx0aGlzLl9tb25pdG9yZWRFbGVtZW50cy5kZWxldGUoZSkpfW5nT25EZXN0cm95KCl7dGhpcy5fbW9uaXRvcmVkRWxlbWVudHMuZm9yRWFjaCgoKHQsZSk9PnRoaXMuc3RvcE1vbml0b3JpbmcoZSkpKX19eFouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHhaKShUcihjSCksVHIobUMpKX0seFouybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IHhaKFRyKGNIKSxUcihtQykpfSx0b2tlbjp4Wixwcm92aWRlZEluOiJyb290In0pLHhaLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6Y0h9LHt0eXBlOm1DfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4Wixbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6Y0h9LHt0eXBlOm1DfV19KSxudWxsKTtjbGFzcyBPWntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9hdXRvZmlsbE1vbml0b3I9ZSx0aGlzLmNka0F1dG9maWxsPW5ldyBTeX1uZ09uSW5pdCgpe3RoaXMuX2F1dG9maWxsTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYpLnN1YnNjcmliZSgodD0+dGhpcy5jZGtBdXRvZmlsbC5lbWl0KHQpKSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9hdXRvZmlsbE1vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZil9fU9aLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxPWikoZ2YoS2gpLGdmKHhaKSl9LE9aLsm1ZGlyPWhvKHt0eXBlOk9aLHNlbGVjdG9yczpbWyIiLCJjZGtBdXRvZmlsbCIsIiJdXSxvdXRwdXRzOntjZGtBdXRvZmlsbDoiY2RrQXV0b2ZpbGwifX0pLE9aLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOnhafV0sT1oucHJvcERlY29yYXRvcnM9e2Nka0F1dG9maWxsOlt7dHlwZTpFX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE9aLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtBdXRvZmlsbF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOnhafV19KSx7Y2RrQXV0b2ZpbGw6W3t0eXBlOkVffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIFBae2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9wbGF0Zm9ybT1lLHRoaXMuX25nWm9uZT1uLHRoaXMuX2Rlc3Ryb3llZD1uZXcgQix0aGlzLl9lbmFibGVkPSEwLHRoaXMuX3ByZXZpb3VzTWluUm93cz0tMSx0aGlzLl9pc1ZpZXdJbml0ZWQ9ITEsdGhpcy5faGFuZGxlRm9jdXNFdmVudD10PT57dGhpcy5faGFzRm9jdXM9ImZvY3VzIj09PXQudHlwZX0sdGhpcy5fZG9jdW1lbnQ9byx0aGlzLl90ZXh0YXJlYUVsZW1lbnQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50fWdldCBtaW5Sb3dzKCl7cmV0dXJuIHRoaXMuX21pblJvd3N9c2V0IG1pblJvd3ModCl7dGhpcy5fbWluUm93cz1uSCh0KSx0aGlzLl9zZXRNaW5IZWlnaHQoKX1nZXQgbWF4Um93cygpe3JldHVybiB0aGlzLl9tYXhSb3dzfXNldCBtYXhSb3dzKHQpe3RoaXMuX21heFJvd3M9bkgodCksdGhpcy5fc2V0TWF4SGVpZ2h0KCl9Z2V0IGVuYWJsZWQoKXtyZXR1cm4gdGhpcy5fZW5hYmxlZH1zZXQgZW5hYmxlZCh0KXt0PWVIKHQpLHRoaXMuX2VuYWJsZWQhPT10JiYoKHRoaXMuX2VuYWJsZWQ9dCk/dGhpcy5yZXNpemVUb0ZpdENvbnRlbnQoITApOnRoaXMucmVzZXQoKSl9Z2V0IHBsYWNlaG9sZGVyKCl7cmV0dXJuIHRoaXMuX3RleHRhcmVhRWxlbWVudC5wbGFjZWhvbGRlcn1zZXQgcGxhY2Vob2xkZXIodCl7dGhpcy5fY2FjaGVkUGxhY2Vob2xkZXJIZWlnaHQ9dm9pZCAwLHRoaXMuX3RleHRhcmVhRWxlbWVudC5wbGFjZWhvbGRlcj10LHRoaXMuX2NhY2hlVGV4dGFyZWFQbGFjZWhvbGRlckhlaWdodCgpfV9zZXRNaW5IZWlnaHQoKXtjb25zdCB0PXRoaXMubWluUm93cyYmdGhpcy5fY2FjaGVkTGluZUhlaWdodD90aGlzLm1pblJvd3MqdGhpcy5fY2FjaGVkTGluZUhlaWdodCsicHgiOm51bGw7dCYmKHRoaXMuX3RleHRhcmVhRWxlbWVudC5zdHlsZS5taW5IZWlnaHQ9dCl9X3NldE1heEhlaWdodCgpe2NvbnN0IHQ9dGhpcy5tYXhSb3dzJiZ0aGlzLl9jYWNoZWRMaW5lSGVpZ2h0P3RoaXMubWF4Um93cyp0aGlzLl9jYWNoZWRMaW5lSGVpZ2h0KyJweCI6bnVsbDt0JiYodGhpcy5fdGV4dGFyZWFFbGVtZW50LnN0eWxlLm1heEhlaWdodD10KX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXImJih0aGlzLl9pbml0aWFsSGVpZ2h0PXRoaXMuX3RleHRhcmVhRWxlbWVudC5zdHlsZS5oZWlnaHQsdGhpcy5yZXNpemVUb0ZpdENvbnRlbnQoKSx0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT57bGUodGhpcy5fZ2V0V2luZG93KCksInJlc2l6ZSIpLnBpcGUoZ2UoMTYpLGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgoKCk9PnRoaXMucmVzaXplVG9GaXRDb250ZW50KCEwKSkpLHRoaXMuX3RleHRhcmVhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5faGFuZGxlRm9jdXNFdmVudCksdGhpcy5fdGV4dGFyZWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2hhbmRsZUZvY3VzRXZlbnQpfSkpLHRoaXMuX2lzVmlld0luaXRlZD0hMCx0aGlzLnJlc2l6ZVRvRml0Q29udGVudCghMCkpfW5nT25EZXN0cm95KCl7dGhpcy5fdGV4dGFyZWFFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9oYW5kbGVGb2N1c0V2ZW50KSx0aGlzLl90ZXh0YXJlYUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5faGFuZGxlRm9jdXNFdmVudCksdGhpcy5fZGVzdHJveWVkLm5leHQoKSx0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKX1fY2FjaGVUZXh0YXJlYUxpbmVIZWlnaHQoKXtpZih0aGlzLl9jYWNoZWRMaW5lSGVpZ2h0KXJldHVybjtsZXQgdD10aGlzLl90ZXh0YXJlYUVsZW1lbnQuY2xvbmVOb2RlKCExKTt0LnJvd3M9MSx0LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdC5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLHQuc3R5bGUuYm9yZGVyPSJub25lIix0LnN0eWxlLnBhZGRpbmc9IjAiLHQuc3R5bGUuaGVpZ2h0PSIiLHQuc3R5bGUubWluSGVpZ2h0PSIiLHQuc3R5bGUubWF4SGVpZ2h0PSIiLHQuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5fdGV4dGFyZWFFbGVtZW50LnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodCksdGhpcy5fY2FjaGVkTGluZUhlaWdodD10LmNsaWVudEhlaWdodCx0aGlzLl90ZXh0YXJlYUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSx0aGlzLl9zZXRNaW5IZWlnaHQoKSx0aGlzLl9zZXRNYXhIZWlnaHQoKX1fbWVhc3VyZVNjcm9sbEhlaWdodCgpe2NvbnN0IHQ9dGhpcy5fdGV4dGFyZWFFbGVtZW50LGU9dC5zdHlsZS5tYXJnaW5Cb3R0b218fCIiLG49dGhpcy5fcGxhdGZvcm0uRklSRUZPWCxvPW4mJnRoaXMuX2hhc0ZvY3VzLGk9bj8iY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94IjoiY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZyI7byYmKHQuc3R5bGUubWFyZ2luQm90dG9tPWAke3QuY2xpZW50SGVpZ2h0fXB4YCksdC5jbGFzc0xpc3QuYWRkKGkpO2NvbnN0IGE9dC5zY3JvbGxIZWlnaHQtNDtyZXR1cm4gdC5jbGFzc0xpc3QucmVtb3ZlKGkpLG8mJih0LnN0eWxlLm1hcmdpbkJvdHRvbT1lKSxhfV9jYWNoZVRleHRhcmVhUGxhY2Vob2xkZXJIZWlnaHQoKXtpZighdGhpcy5faXNWaWV3SW5pdGVkfHxudWxsIT10aGlzLl9jYWNoZWRQbGFjZWhvbGRlckhlaWdodClyZXR1cm47aWYoIXRoaXMucGxhY2Vob2xkZXIpcmV0dXJuIHZvaWQodGhpcy5fY2FjaGVkUGxhY2Vob2xkZXJIZWlnaHQ9MCk7Y29uc3QgdD10aGlzLl90ZXh0YXJlYUVsZW1lbnQudmFsdWU7dGhpcy5fdGV4dGFyZWFFbGVtZW50LnZhbHVlPXRoaXMuX3RleHRhcmVhRWxlbWVudC5wbGFjZWhvbGRlcix0aGlzLl9jYWNoZWRQbGFjZWhvbGRlckhlaWdodD10aGlzLl9tZWFzdXJlU2Nyb2xsSGVpZ2h0KCksdGhpcy5fdGV4dGFyZWFFbGVtZW50LnZhbHVlPXR9bmdEb0NoZWNrKCl7dGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyJiZ0aGlzLnJlc2l6ZVRvRml0Q29udGVudCgpfXJlc2l6ZVRvRml0Q29udGVudCh0PSExKXtpZighdGhpcy5fZW5hYmxlZClyZXR1cm47aWYodGhpcy5fY2FjaGVUZXh0YXJlYUxpbmVIZWlnaHQoKSx0aGlzLl9jYWNoZVRleHRhcmVhUGxhY2Vob2xkZXJIZWlnaHQoKSwhdGhpcy5fY2FjaGVkTGluZUhlaWdodClyZXR1cm47Y29uc3QgZT10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsbj1lLnZhbHVlO2lmKCF0JiZ0aGlzLl9taW5Sb3dzPT09dGhpcy5fcHJldmlvdXNNaW5Sb3dzJiZuPT09dGhpcy5fcHJldmlvdXNWYWx1ZSlyZXR1cm47Y29uc3Qgbz10aGlzLl9tZWFzdXJlU2Nyb2xsSGVpZ2h0KCksaT1NYXRoLm1heChvLHRoaXMuX2NhY2hlZFBsYWNlaG9sZGVySGVpZ2h0fHwwKTtlLnN0eWxlLmhlaWdodD1gJHtpfXB4YCx0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT57InVuZGVmaW5lZCIhPXR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU/cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5fc2Nyb2xsVG9DYXJldFBvc2l0aW9uKGUpKSk6c2V0VGltZW91dCgoKCk9PnRoaXMuX3Njcm9sbFRvQ2FyZXRQb3NpdGlvbihlKSkpfSkpLHRoaXMuX3ByZXZpb3VzVmFsdWU9bix0aGlzLl9wcmV2aW91c01pblJvd3M9dGhpcy5fbWluUm93c31yZXNldCgpe3ZvaWQgMCE9PXRoaXMuX2luaXRpYWxIZWlnaHQmJih0aGlzLl90ZXh0YXJlYUVsZW1lbnQuc3R5bGUuaGVpZ2h0PXRoaXMuX2luaXRpYWxIZWlnaHQpfV9ub29wSW5wdXRIYW5kbGVyKCl7fV9nZXREb2N1bWVudCgpe3JldHVybiB0aGlzLl9kb2N1bWVudHx8ZG9jdW1lbnR9X2dldFdpbmRvdygpe3JldHVybiB0aGlzLl9nZXREb2N1bWVudCgpLmRlZmF1bHRWaWV3fHx3aW5kb3d9X3Njcm9sbFRvQ2FyZXRQb3NpdGlvbih0KXtjb25zdHtzZWxlY3Rpb25TdGFydDplLHNlbGVjdGlvbkVuZDpufT10OyF0aGlzLl9kZXN0cm95ZWQuaXNTdG9wcGVkJiZ0aGlzLl9oYXNGb2N1cyYmdC5zZXRTZWxlY3Rpb25SYW5nZShlLG4pfX1QWi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UFopKGdmKEtoKSxnZihjSCksZ2YobUMpLGdmKHNNLDgpKX0sUFouybVkaXI9aG8oe3R5cGU6UFosc2VsZWN0b3JzOltbInRleHRhcmVhIiwiY2RrVGV4dGFyZWFBdXRvc2l6ZSIsIiJdXSxob3N0QXR0cnM6WyJyb3dzIiwiMSIsMSwiY2RrLXRleHRhcmVhLWF1dG9zaXplIl0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJpbnB1dCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fbm9vcElucHV0SGFuZGxlcigpfSkpfSxpbnB1dHM6e21pblJvd3M6WyJjZGtBdXRvc2l6ZU1pblJvd3MiLCJtaW5Sb3dzIl0sbWF4Um93czpbImNka0F1dG9zaXplTWF4Um93cyIsIm1heFJvd3MiXSxlbmFibGVkOlsiY2RrVGV4dGFyZWFBdXRvc2l6ZSIsImVuYWJsZWQiXSxwbGFjZWhvbGRlcjoicGxhY2Vob2xkZXIifSxleHBvcnRBczpbImNka1RleHRhcmVhQXV0b3NpemUiXX0pLFBaLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOmNIfSx7dHlwZTptQ30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX1dLFBaLnByb3BEZWNvcmF0b3JzPXttaW5Sb3dzOlt7dHlwZTpSXyxhcmdzOlsiY2RrQXV0b3NpemVNaW5Sb3dzIl19XSxtYXhSb3dzOlt7dHlwZTpSXyxhcmdzOlsiY2RrQXV0b3NpemVNYXhSb3dzIl19XSxlbmFibGVkOlt7dHlwZTpSXyxhcmdzOlsiY2RrVGV4dGFyZWFBdXRvc2l6ZSJdfV0scGxhY2Vob2xkZXI6W3t0eXBlOlJffV0sX25vb3BJbnB1dEhhbmRsZXI6W3t0eXBlOlRfLGFyZ3M6WyJpbnB1dCJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUFosW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoidGV4dGFyZWFbY2RrVGV4dGFyZWFBdXRvc2l6ZV0iLGV4cG9ydEFzOiJjZGtUZXh0YXJlYUF1dG9zaXplIixob3N0OntjbGFzczoiY2RrLXRleHRhcmVhLWF1dG9zaXplIixyb3dzOiIxIn19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6Y0h9LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSx7bWluUm93czpbe3R5cGU6Ul8sYXJnczpbImNka0F1dG9zaXplTWluUm93cyJdfV0sbWF4Um93czpbe3R5cGU6Ul8sYXJnczpbImNka0F1dG9zaXplTWF4Um93cyJdfV0sZW5hYmxlZDpbe3R5cGU6Ul8sYXJnczpbImNka1RleHRhcmVhQXV0b3NpemUiXX1dLHBsYWNlaG9sZGVyOlt7dHlwZTpSX31dLF9ub29wSW5wdXRIYW5kbGVyOlt7dHlwZTpUXyxhcmdzOlsiaW5wdXQiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyB3Wnt9d1ouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHdaKX0sd1ouybVtb2Q9Zm8oe3R5cGU6d1p9KSx3Wi7JtWluaj1Ebih7aW1wb3J0czpbW2RIXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHdaLFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltPWixQWl0saW1wb3J0czpbZEhdLGV4cG9ydHM6W09aLFBaXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHdaLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bT1osUFpdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW2RIXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltPWixQWl19fSk7Y2xhc3Mga1ogZXh0ZW5kcyBQWntnZXQgbWF0QXV0b3NpemVNaW5Sb3dzKCl7cmV0dXJuIHRoaXMubWluUm93c31zZXQgbWF0QXV0b3NpemVNaW5Sb3dzKHQpe3RoaXMubWluUm93cz10fWdldCBtYXRBdXRvc2l6ZU1heFJvd3MoKXtyZXR1cm4gdGhpcy5tYXhSb3dzfXNldCBtYXRBdXRvc2l6ZU1heFJvd3ModCl7dGhpcy5tYXhSb3dzPXR9Z2V0IG1hdEF1dG9zaXplKCl7cmV0dXJuIHRoaXMuZW5hYmxlZH1zZXQgbWF0QXV0b3NpemUodCl7dGhpcy5lbmFibGVkPXR9Z2V0IG1hdFRleHRhcmVhQXV0b3NpemUoKXtyZXR1cm4gdGhpcy5lbmFibGVkfXNldCBtYXRUZXh0YXJlYUF1dG9zaXplKHQpe3RoaXMuZW5hYmxlZD10fX1rWi7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoa1opKSkobnx8a1opfX0pKCksa1ouybVkaXI9aG8oe3R5cGU6a1osc2VsZWN0b3JzOltbInRleHRhcmVhIiwibWF0LWF1dG9zaXplIiwiIl0sWyJ0ZXh0YXJlYSIsIm1hdFRleHRhcmVhQXV0b3NpemUiLCIiXV0saG9zdEF0dHJzOlsicm93cyIsIjEiLDEsImNkay10ZXh0YXJlYS1hdXRvc2l6ZSIsIm1hdC1hdXRvc2l6ZSJdLGlucHV0czp7Y2RrQXV0b3NpemVNaW5Sb3dzOiJjZGtBdXRvc2l6ZU1pblJvd3MiLGNka0F1dG9zaXplTWF4Um93czoiY2RrQXV0b3NpemVNYXhSb3dzIixtYXRBdXRvc2l6ZU1pblJvd3M6Im1hdEF1dG9zaXplTWluUm93cyIsbWF0QXV0b3NpemVNYXhSb3dzOiJtYXRBdXRvc2l6ZU1heFJvd3MiLG1hdEF1dG9zaXplOlsibWF0LWF1dG9zaXplIiwibWF0QXV0b3NpemUiXSxtYXRUZXh0YXJlYUF1dG9zaXplOiJtYXRUZXh0YXJlYUF1dG9zaXplIn0sZXhwb3J0QXM6WyJtYXRUZXh0YXJlYUF1dG9zaXplIl0sZmVhdHVyZXM6W1FwXX0pLGtaLnByb3BEZWNvcmF0b3JzPXttYXRBdXRvc2l6ZU1pblJvd3M6W3t0eXBlOlJffV0sbWF0QXV0b3NpemVNYXhSb3dzOlt7dHlwZTpSX31dLG1hdEF1dG9zaXplOlt7dHlwZTpSXyxhcmdzOlsibWF0LWF1dG9zaXplIl19XSxtYXRUZXh0YXJlYUF1dG9zaXplOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGtaLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6InRleHRhcmVhW21hdC1hdXRvc2l6ZV0sIHRleHRhcmVhW21hdFRleHRhcmVhQXV0b3NpemVdIixleHBvcnRBczoibWF0VGV4dGFyZWFBdXRvc2l6ZSIsaW5wdXRzOlsiY2RrQXV0b3NpemVNaW5Sb3dzIiwiY2RrQXV0b3NpemVNYXhSb3dzIl0saG9zdDp7Y2xhc3M6ImNkay10ZXh0YXJlYS1hdXRvc2l6ZSBtYXQtYXV0b3NpemUiLHJvd3M6IjEifX1dfV0sbnVsbCx7bWF0QXV0b3NpemVNaW5Sb3dzOlt7dHlwZTpSX31dLG1hdEF1dG9zaXplTWF4Um93czpbe3R5cGU6Ul99XSxtYXRBdXRvc2l6ZTpbe3R5cGU6Ul8sYXJnczpbIm1hdC1hdXRvc2l6ZSJdfV0sbWF0VGV4dGFyZWFBdXRvc2l6ZTpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgU1o9bmV3IGVyKCJNQVRfSU5QVVRfVkFMVUVfQUNDRVNTT1IiKSxEWj1bImJ1dHRvbiIsImNoZWNrYm94IiwiZmlsZSIsImhpZGRlbiIsImltYWdlIiwicmFkaW8iLCJyYW5nZSIsInJlc2V0Iiwic3VibWl0Il07Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2xldCBSWj0wO2NvbnN0IEVaPUxGKGNsYXNze2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcj10LHRoaXMuX3BhcmVudEZvcm09ZSx0aGlzLl9wYXJlbnRGb3JtR3JvdXA9bix0aGlzLm5nQ29udHJvbD1vfX0pO2NsYXNzIEFaIGV4dGVuZHMgRVp7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzLGwsYyl7c3VwZXIoYSxvLGksbiksdGhpcy5fZWxlbWVudFJlZj10LHRoaXMuX3BsYXRmb3JtPWUsdGhpcy5fYXV0b2ZpbGxNb25pdG9yPXMsdGhpcy5fZm9ybUZpZWxkPWMsdGhpcy5fdWlkPSJtYXQtaW5wdXQtIitSWisrLHRoaXMuZm9jdXNlZD0hMSx0aGlzLnN0YXRlQ2hhbmdlcz1uZXcgQix0aGlzLmNvbnRyb2xUeXBlPSJtYXQtaW5wdXQiLHRoaXMuYXV0b2ZpbGxlZD0hMSx0aGlzLl9kaXNhYmxlZD0hMSx0aGlzLl9yZXF1aXJlZD0hMSx0aGlzLl90eXBlPSJ0ZXh0Iix0aGlzLl9yZWFkb25seT0hMSx0aGlzLl9uZXZlckVtcHR5SW5wdXRUeXBlcz1bImRhdGUiLCJkYXRldGltZSIsImRhdGV0aW1lLWxvY2FsIiwibW9udGgiLCJ0aW1lIiwid2VlayJdLmZpbHRlcigodD0+bUgoKS5oYXModCkpKTtjb25zdCBkPXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxwPWQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTt0aGlzLl9pbnB1dFZhbHVlQWNjZXNzb3I9cnx8ZCx0aGlzLl9wcmV2aW91c05hdGl2ZVZhbHVlPXRoaXMudmFsdWUsdGhpcy5pZD10aGlzLmlkLGUuSU9TJiZsLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3QubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsKHQ9Pntjb25zdCBlPXQudGFyZ2V0O2UudmFsdWV8fDAhPT1lLnNlbGVjdGlvblN0YXJ0fHwwIT09ZS5zZWxlY3Rpb25FbmR8fChlLnNldFNlbGVjdGlvblJhbmdlKDEsMSksZS5zZXRTZWxlY3Rpb25SYW5nZSgwLDApKX0pKX0pKSx0aGlzLl9pc1NlcnZlcj0hdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyLHRoaXMuX2lzTmF0aXZlU2VsZWN0PSJzZWxlY3QiPT09cCx0aGlzLl9pc1RleHRhcmVhPSJ0ZXh0YXJlYSI9PT1wLHRoaXMuX2lzSW5Gb3JtRmllbGQ9ISFjLHRoaXMuX2lzTmF0aXZlU2VsZWN0JiYodGhpcy5jb250cm9sVHlwZT1kLm11bHRpcGxlPyJtYXQtbmF0aXZlLXNlbGVjdC1tdWx0aXBsZSI6Im1hdC1uYXRpdmUtc2VsZWN0Iil9Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMubmdDb250cm9sJiZudWxsIT09dGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQ/dGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQ6dGhpcy5fZGlzYWJsZWR9c2V0IGRpc2FibGVkKHQpe3RoaXMuX2Rpc2FibGVkPWVIKHQpLHRoaXMuZm9jdXNlZCYmKHRoaXMuZm9jdXNlZD0hMSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCkpfWdldCBpZCgpe3JldHVybiB0aGlzLl9pZH1zZXQgaWQodCl7dGhpcy5faWQ9dHx8dGhpcy5fdWlkfWdldCByZXF1aXJlZCgpe3JldHVybiB0aGlzLl9yZXF1aXJlZH1zZXQgcmVxdWlyZWQodCl7dGhpcy5fcmVxdWlyZWQ9ZUgodCl9Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy5fdHlwZX1zZXQgdHlwZSh0KXt0aGlzLl90eXBlPXR8fCJ0ZXh0Iix0aGlzLl92YWxpZGF0ZVR5cGUoKSwhdGhpcy5faXNUZXh0YXJlYSYmbUgoKS5oYXModGhpcy5fdHlwZSkmJih0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudHlwZT10aGlzLl90eXBlKX1nZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy5faW5wdXRWYWx1ZUFjY2Vzc29yLnZhbHVlfXNldCB2YWx1ZSh0KXt0IT09dGhpcy52YWx1ZSYmKHRoaXMuX2lucHV0VmFsdWVBY2Nlc3Nvci52YWx1ZT10LHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKSl9Z2V0IHJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5fXNldCByZWFkb25seSh0KXt0aGlzLl9yZWFkb25seT1lSCh0KX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXImJnRoaXMuX2F1dG9maWxsTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkuc3Vic2NyaWJlKCh0PT57dGhpcy5hdXRvZmlsbGVkPXQuaXNBdXRvZmlsbGVkLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKX0pKX1uZ09uQ2hhbmdlcygpe3RoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKX1uZ09uRGVzdHJveSgpe3RoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCksdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyJiZ0aGlzLl9hdXRvZmlsbE1vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KX1uZ0RvQ2hlY2soKXt0aGlzLm5nQ29udHJvbCYmdGhpcy51cGRhdGVFcnJvclN0YXRlKCksdGhpcy5fZGlydHlDaGVja05hdGl2ZVZhbHVlKCksdGhpcy5fZGlydHlDaGVja1BsYWNlaG9sZGVyKCl9Zm9jdXModCl7dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKHQpfV9mb2N1c0NoYW5nZWQodCl7dCE9PXRoaXMuZm9jdXNlZCYmKHRoaXMuZm9jdXNlZD10LHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKSl9X29uSW5wdXQoKXt9X2RpcnR5Q2hlY2tQbGFjZWhvbGRlcigpe3ZhciB0LGU7Y29uc3Qgbj0obnVsbD09PShlPW51bGw9PT0odD10aGlzLl9mb3JtRmllbGQpfHx2b2lkIDA9PT10P3ZvaWQgMDp0Ll9oaWRlQ29udHJvbFBsYWNlaG9sZGVyKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5jYWxsKHQpKT9udWxsOnRoaXMucGxhY2Vob2xkZXI7aWYobiE9PXRoaXMuX3ByZXZpb3VzUGxhY2Vob2xkZXIpe2NvbnN0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O3RoaXMuX3ByZXZpb3VzUGxhY2Vob2xkZXI9bixuP3Quc2V0QXR0cmlidXRlKCJwbGFjZWhvbGRlciIsbik6dC5yZW1vdmVBdHRyaWJ1dGUoInBsYWNlaG9sZGVyIil9fV9kaXJ0eUNoZWNrTmF0aXZlVmFsdWUoKXtjb25zdCB0PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTt0aGlzLl9wcmV2aW91c05hdGl2ZVZhbHVlIT09dCYmKHRoaXMuX3ByZXZpb3VzTmF0aXZlVmFsdWU9dCx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCkpfV92YWxpZGF0ZVR5cGUoKXtpZihEWi5pbmRleE9mKHRoaXMuX3R5cGUpPi0xJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwp0aHJvdyhmdW5jdGlvbiB0KGUpe3JldHVybiBFcnJvcihgSW5wdXQgdHlwZSAiJHtlfSIgaXNuJ3Qgc3VwcG9ydGVkIGJ5IG1hdElucHV0LmApfSkodGhpcy5fdHlwZSl9X2lzTmV2ZXJFbXB0eSgpe3JldHVybiB0aGlzLl9uZXZlckVtcHR5SW5wdXRUeXBlcy5pbmRleE9mKHRoaXMuX3R5cGUpPi0xfV9pc0JhZElucHV0KCl7bGV0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbGlkaXR5O3JldHVybiB0JiZ0LmJhZElucHV0fWdldCBlbXB0eSgpe3JldHVybiEodGhpcy5faXNOZXZlckVtcHR5KCl8fHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZXx8dGhpcy5faXNCYWRJbnB1dCgpfHx0aGlzLmF1dG9maWxsZWQpfWdldCBzaG91bGRMYWJlbEZsb2F0KCl7aWYodGhpcy5faXNOYXRpdmVTZWxlY3Qpe2NvbnN0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LGU9dC5vcHRpb25zWzBdO3JldHVybiB0aGlzLmZvY3VzZWR8fHQubXVsdGlwbGV8fCF0aGlzLmVtcHR5fHwhISh0LnNlbGVjdGVkSW5kZXg+LTEmJmUmJmUubGFiZWwpfXJldHVybiB0aGlzLmZvY3VzZWR8fCF0aGlzLmVtcHR5fXNldERlc2NyaWJlZEJ5SWRzKHQpe3QubGVuZ3RoP3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGVzY3JpYmVkYnkiLHQuam9pbigiICIpKTp0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5Iil9b25Db250YWluZXJDbGljaygpe3RoaXMuZm9jdXNlZHx8dGhpcy5mb2N1cygpfX1BWi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QVopKGdmKEtoKSxnZihjSCksZ2YobFcsMTApLGdmKFhXLDgpLGdmKGhHLDgpLGdmKG5MKSxnZihTWiwxMCksZ2YoeFopLGdmKG1DKSxnZih5VSw4KSl9LEFaLsm1ZGlyPWhvKHt0eXBlOkFaLHNlbGVjdG9yczpbWyJpbnB1dCIsIm1hdElucHV0IiwiIl0sWyJ0ZXh0YXJlYSIsIm1hdElucHV0IiwiIl0sWyJzZWxlY3QiLCJtYXROYXRpdmVDb250cm9sIiwiIl0sWyJpbnB1dCIsIm1hdE5hdGl2ZUNvbnRyb2wiLCIiXSxbInRleHRhcmVhIiwibWF0TmF0aXZlQ29udHJvbCIsIiJdXSxob3N0QXR0cnM6WzEsIm1hdC1pbnB1dC1lbGVtZW50IiwibWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbCJdLGhvc3RWYXJzOjksaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJmb2N1cyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fZm9jdXNDaGFuZ2VkKCEwKX0pKSgiYmx1ciIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fZm9jdXNDaGFuZ2VkKCExKX0pKSgiaW5wdXQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX29uSW5wdXQoKX0pKSwyJmUmJihjZygiZGlzYWJsZWQiLG4uZGlzYWJsZWQpKCJyZXF1aXJlZCIsbi5yZXF1aXJlZCkseW0oImlkIixuLmlkKSgiZGF0YS1wbGFjZWhvbGRlciIsbi5wbGFjZWhvbGRlcikoInJlYWRvbmx5IixuLnJlYWRvbmx5JiYhbi5faXNOYXRpdmVTZWxlY3R8fG51bGwpKCJhcmlhLWludmFsaWQiLG4uZW1wdHkmJm4ucmVxdWlyZWQ/bnVsbDpuLmVycm9yU3RhdGUpKCJhcmlhLXJlcXVpcmVkIixuLnJlcXVpcmVkKSxjdSgibWF0LWlucHV0LXNlcnZlciIsbi5faXNTZXJ2ZXIpKX0saW5wdXRzOntpZDoiaWQiLGRpc2FibGVkOiJkaXNhYmxlZCIscmVxdWlyZWQ6InJlcXVpcmVkIix0eXBlOiJ0eXBlIix2YWx1ZToidmFsdWUiLHJlYWRvbmx5OiJyZWFkb25seSIscGxhY2Vob2xkZXI6InBsYWNlaG9sZGVyIixlcnJvclN0YXRlTWF0Y2hlcjoiZXJyb3JTdGF0ZU1hdGNoZXIiLHVzZXJBcmlhRGVzY3JpYmVkQnk6WyJhcmlhLWRlc2NyaWJlZGJ5IiwidXNlckFyaWFEZXNjcmliZWRCeSJdfSxleHBvcnRBczpbIm1hdElucHV0Il0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTppVSx1c2VFeGlzdGluZzpBWn1dKSxRcCxxb119KSxBWi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpjSH0se3R5cGU6bFcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfV19LHt0eXBlOlhXLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOmhHLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOm5MfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltTWl19XX0se3R5cGU6eFp9LHt0eXBlOm1DfSx7dHlwZTpfVSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbeVVdfV19XSxBWi5wcm9wRGVjb3JhdG9ycz17ZGlzYWJsZWQ6W3t0eXBlOlJffV0saWQ6W3t0eXBlOlJffV0scGxhY2Vob2xkZXI6W3t0eXBlOlJffV0scmVxdWlyZWQ6W3t0eXBlOlJffV0sdHlwZTpbe3R5cGU6Ul99XSxlcnJvclN0YXRlTWF0Y2hlcjpbe3R5cGU6Ul99XSx1c2VyQXJpYURlc2NyaWJlZEJ5Olt7dHlwZTpSXyxhcmdzOlsiYXJpYS1kZXNjcmliZWRieSJdfV0sdmFsdWU6W3t0eXBlOlJffV0scmVhZG9ubHk6W3t0eXBlOlJffV0sX2ZvY3VzQ2hhbmdlZDpbe3R5cGU6VF8sYXJnczpbImZvY3VzIixbInRydWUiXV19LHt0eXBlOlRfLGFyZ3M6WyJibHVyIixbImZhbHNlIl1dfV0sX29uSW5wdXQ6W3t0eXBlOlRfLGFyZ3M6WyJpbnB1dCJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQVosW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSxcbiAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsZXhwb3J0QXM6Im1hdElucHV0Iixob3N0OntjbGFzczoibWF0LWlucHV0LWVsZW1lbnQgbWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbCIsIltjbGFzcy5tYXQtaW5wdXQtc2VydmVyXSI6Il9pc1NlcnZlciIsIlthdHRyLmlkXSI6ImlkIiwiW2F0dHIuZGF0YS1wbGFjZWhvbGRlcl0iOiJwbGFjZWhvbGRlciIsIltkaXNhYmxlZF0iOiJkaXNhYmxlZCIsIltyZXF1aXJlZF0iOiJyZXF1aXJlZCIsIlthdHRyLnJlYWRvbmx5XSI6InJlYWRvbmx5ICYmICFfaXNOYXRpdmVTZWxlY3QgfHwgbnVsbCIsIlthdHRyLmFyaWEtaW52YWxpZF0iOiIoZW1wdHkgJiYgcmVxdWlyZWQpID8gbnVsbCA6IGVycm9yU3RhdGUiLCJbYXR0ci5hcmlhLXJlcXVpcmVkXSI6InJlcXVpcmVkIn0scHJvdmlkZXJzOlt7cHJvdmlkZTppVSx1c2VFeGlzdGluZzpBWn1dfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOmNIfSx7dHlwZTpsVyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9XX0se3R5cGU6WFcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6aEcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6bkx9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9LHt0eXBlOkxyLGFyZ3M6W1NaXX1dfSx7dHlwZTp4Wn0se3R5cGU6bUN9LHt0eXBlOl9VLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOlt5VV19XX1dfSkse2lkOlt7dHlwZTpSX31dLGRpc2FibGVkOlt7dHlwZTpSX31dLHJlcXVpcmVkOlt7dHlwZTpSX31dLHR5cGU6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV0scmVhZG9ubHk6W3t0eXBlOlJffV0sX2ZvY3VzQ2hhbmdlZDpbe3R5cGU6VF8sYXJnczpbImZvY3VzIixbInRydWUiXV19LHt0eXBlOlRfLGFyZ3M6WyJibHVyIixbImZhbHNlIl1dfV0sX29uSW5wdXQ6W3t0eXBlOlRfLGFyZ3M6WyJpbnB1dCJdfV0scGxhY2Vob2xkZXI6W3t0eXBlOlJffV0sZXJyb3JTdGF0ZU1hdGNoZXI6W3t0eXBlOlJffV0sdXNlckFyaWFEZXNjcmliZWRCeTpbe3R5cGU6Ul8sYXJnczpbImFyaWEtZGVzY3JpYmVkYnkiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBUWnt9ZnVuY3Rpb24gTloodCxlKXtpZigxJnQmJihDZigwLCJtYXQtZXJyb3IiKSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxrdSgiIFJlbG9hZCBwZXJpb2QgaGFzIHRvIGJlIG1pbmltdW0gb2YgIix0Lk1JTl9SRUxPQURfUEVSSU9EX0lOX1MsIiBzZWNvbmRzLiAiKX19ZnVuY3Rpb24geloodCxlKXsxJnQmJihDZigwLCJtYXQtZXJyb3IiKSxQdSgxLCIgUGFnZSBzaXplIGhhcyB0byBiZSBhIHBvc2l0aXZlIGludGVnZXIuICIpLE1mKCkpfVRaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxUWil9LFRaLsm1bW9kPWZvKHt0eXBlOlRafSksVFouybVpbmo9RG4oe3Byb3ZpZGVyczpbbkxdLGltcG9ydHM6W1t3WixDVSxORl0sd1osQ1VdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihUWixbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbQVosa1pdLGltcG9ydHM6W3daLENVLE5GXSxleHBvcnRzOlt3WixDVSxBWixrWl0scHJvdmlkZXJzOltuTF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhUWix7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW0FaLGtaXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVyblt3WixDVSxORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bd1osQ1UsQVosa1pdfX0pO2NsYXNzIElae2NvbnN0cnVjdG9yKCl7dGhpcy5yZWxvYWRUb2dnbGVkPW5ldyBTeSx0aGlzLnJlbG9hZFBlcmlvZEluTXNDaGFuZ2VkPW5ldyBTeSx0aGlzLnBhZ2VTaXplQ2hhbmdlZD1uZXcgU3ksdGhpcy5NSU5fUkVMT0FEX1BFUklPRF9JTl9TPTMwLHRoaXMucmVsb2FkUGVyaW9kQ29udHJvbD1uZXcgV1codGhpcy5NSU5fUkVMT0FEX1BFUklPRF9JTl9TLFtOVS5yZXF1aXJlZCxOVS5taW4odGhpcy5NSU5fUkVMT0FEX1BFUklPRF9JTl9TKV0pLHRoaXMucGFnaW5hdGlvbkNvbnRyb2w9bmV3IFdXKDEsW05VLnJlcXVpcmVkLE5VLm1pbigxKSx0PT57Y29uc3QgZT1OdW1iZXIodC52YWx1ZSk7cmV0dXJuIE1hdGgucm91bmQoZSk9PT10LnZhbHVlP251bGw6e2ludGVnZXI6e3ZhbHVlOnQudmFsdWV9fX1dKSx0aGlzLm5nVW5zdWJzY3JpYmU9bmV3IEJ9bmdPbkluaXQoKXt0aGlzLnJlbG9hZFBlcmlvZENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSxDZSg1MDApLHVlKCgoKT0+dGhpcy5yZWxvYWRQZXJpb2RDb250cm9sLnZhbGlkKSkpLnN1YnNjcmliZSgoKCk9PntpZighdGhpcy5yZWxvYWRQZXJpb2RDb250cm9sLnZhbGlkKXJldHVybjt0aGlzLnJlbG9hZFBlcmlvZEluTXNDaGFuZ2VkLmVtaXQoMWUzKnRoaXMucmVsb2FkUGVyaW9kQ29udHJvbC52YWx1ZSl9KSksdGhpcy5wYWdpbmF0aW9uQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLENlKDUwMCksdWUoKCgpPT50aGlzLnBhZ2luYXRpb25Db250cm9sLnZhbGlkKSkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLnBhZ2VTaXplQ2hhbmdlZC5lbWl0KHRoaXMucGFnaW5hdGlvbkNvbnRyb2wudmFsdWUpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKSx0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKX1uZ09uQ2hhbmdlcyh0KXtpZih0LnJlbG9hZFBlcmlvZEluTXMpe2NvbnN0IGU9dC5yZWxvYWRQZXJpb2RJbk1zO2UucHJldmlvdXNWYWx1ZSE9PWUuY3VycmVudFZhbHVlJiZ0aGlzLnJlbG9hZFBlcmlvZENvbnRyb2wuc2V0VmFsdWUoZS5jdXJyZW50VmFsdWUvMWUzKX1pZih0LnJlbG9hZEVuYWJsZWQpe3QucmVsb2FkRW5hYmxlZC5jdXJyZW50VmFsdWU/dGhpcy5yZWxvYWRQZXJpb2RDb250cm9sLmVuYWJsZSgpOnRoaXMucmVsb2FkUGVyaW9kQ29udHJvbC5kaXNhYmxlKCl9aWYodC5wYWdlU2l6ZSl7Y29uc3QgZT10LnBhZ2VTaXplO2UucHJldmlvdXNWYWx1ZSE9PWUuY3VycmVudFZhbHVlJiZ0aGlzLnBhZ2luYXRpb25Db250cm9sLnNldFZhbHVlKGUuY3VycmVudFZhbHVlKX19b25SZWxvYWRUb2dnbGUoKXt0aGlzLnJlbG9hZFRvZ2dsZWQuZW1pdCgpfX1JWi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SVopfSxJWi7JtWNtcD1zbyh7dHlwZTpJWixzZWxlY3RvcnM6W1sic2V0dGluZ3MtZGlhbG9nLWNvbXBvbmVudCJdXSxpbnB1dHM6e3JlbG9hZEVuYWJsZWQ6InJlbG9hZEVuYWJsZWQiLHJlbG9hZFBlcmlvZEluTXM6InJlbG9hZFBlcmlvZEluTXMiLHBhZ2VTaXplOiJwYWdlU2l6ZSJ9LG91dHB1dHM6e3JlbG9hZFRvZ2dsZWQ6InJlbG9hZFRvZ2dsZWQiLHJlbG9hZFBlcmlvZEluTXNDaGFuZ2VkOiJyZWxvYWRQZXJpb2RJbk1zQ2hhbmdlZCIscGFnZVNpemVDaGFuZ2VkOiJwYWdlU2l6ZUNoYW5nZWQifSxmZWF0dXJlczpbcW9dLGRlY2xzOjE0LHZhcnM6NSxjb25zdHM6W1sxLCJyZWxvYWQtdG9nZ2xlIl0sWzMsImNoZWNrZWQiLCJjaGFuZ2UiXSxbIm1hdElucHV0IiwiIiwidHlwZSIsIm51bWJlciIsInBsYWNlaG9sZGVyIiwiUmVsb2FkIFBlcmlvZCIsMSwicmVsb2FkLXBlcmlvZCIsMywiZm9ybUNvbnRyb2wiXSxbNCwibmdJZiJdLFsibWF0SW5wdXQiLCIiLCJ0eXBlIiwibnVtYmVyIiwicGxhY2Vob2xkZXIiLCJQYWdpbmF0aW9uIExpbWl0IiwxLCJwYWdlLXNpemUiLDMsImZvcm1Db250cm9sIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJoMyIpLFB1KDEsIlNldHRpbmdzIiksTWYoKSxDZigyLCJkaXYiKSxDZigzLCJkaXYiLDApLENmKDQsIm1hdC1jaGVja2JveCIsMSksUmYoImNoYW5nZSIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblJlbG9hZFRvZ2dsZSgpfSkpLFB1KDUsIlJlbG9hZCBkYXRhIiksTWYoKSxNZigpLENmKDYsImRpdiIpLENmKDcsIm1hdC1mb3JtLWZpZWxkIiksdmYoOCwiaW5wdXQiLDIpLE1mKCksSG0oOSxOWiwyLDEsIm1hdC1lcnJvciIsMyksTWYoKSxNZigpLENmKDEwLCJkaXYiKSxDZigxMSwibWF0LWZvcm0tZmllbGQiKSx2ZigxMiwiaW5wdXQiLDQpLE1mKCksSG0oMTMselosMiwwLCJtYXQtZXJyb3IiLDMpLE1mKCkpLDImZSYmKERjKDQpLGJmKCJjaGVja2VkIixuLnJlbG9hZEVuYWJsZWQpLERjKDQpLGJmKCJmb3JtQ29udHJvbCIsbi5yZWxvYWRQZXJpb2RDb250cm9sKSxEYygxKSxiZigibmdJZiIsbi5yZWxvYWRQZXJpb2RDb250cm9sLmhhc0Vycm9yKCJtaW4iKXx8bi5yZWxvYWRQZXJpb2RDb250cm9sLmhhc0Vycm9yKCJyZXF1aXJlZCIpKSxEYygzKSxiZigiZm9ybUNvbnRyb2wiLG4ucGFnaW5hdGlvbkNvbnRyb2wpLERjKDEpLGJmKCJuZ0lmIixuLnBhZ2luYXRpb25Db250cm9sLmludmFsaWQpKX0sZGlyZWN0aXZlczpbYlosX1UsQVosYUcsU1UsbVcsdUcsUHYsblVdLHN0eWxlczpbIltfbmdob3N0LSVDT01QJV0ge1xuICBmb250LXNpemU6IDE1cHg7XG59XG5cbltfbmdob3N0LSVDT01QJV0gICAgPiBkaXZbX25nY29udGVudC0lQ09NUCVdIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbltfbmdob3N0LSVDT01QJV0gICAgPiBbX25nY29udGVudC0lQ09NUCVdOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuW19uZ2hvc3QtJUNPTVAlXSAgICA+IFtfbmdjb250ZW50LSVDT01QJV06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmgzW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnJlbG9hZC10b2dnbGVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn0iXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSVosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic2V0dGluZ3MtZGlhbG9nLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6InNldHRpbmdzX2RpYWxvZ19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9zZXR0aW5nc19kaWFsb2dfY29tcG9uZW50LmNzcyJdfV19XSxudWxsLHtyZWxvYWRFbmFibGVkOlt7dHlwZTpSX31dLHJlbG9hZFBlcmlvZEluTXM6W3t0eXBlOlJffV0scGFnZVNpemU6W3t0eXBlOlJffV0scmVsb2FkVG9nZ2xlZDpbe3R5cGU6RV99XSxyZWxvYWRQZXJpb2RJbk1zQ2hhbmdlZDpbe3R5cGU6RV99XSxwYWdlU2l6ZUNoYW5nZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBIWntjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5yZWxvYWRFbmFibGVkJD10aGlzLnN0b3JlLnNlbGVjdCh1SSksdGhpcy5yZWxvYWRQZXJpb2RJbk1zJD10aGlzLnN0b3JlLnNlbGVjdChnSSksdGhpcy5wYWdlU2l6ZSQ9dGhpcy5zdG9yZS5zZWxlY3QoaEkpfW9uUmVsb2FkVG9nZ2xlZCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goc0koKSl9b25SZWxvYWRQZXJpb2RJbk1zQ2hhbmdlZCh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKGxJKHtwZXJpb2RJbk1zOnR9KSl9b25QYWdlU2l6ZUNoYW5nZWQodCl7dGhpcy5zdG9yZS5kaXNwYXRjaChjSSh7c2l6ZTp0fSkpfX1IWi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SFopKGdmKGlTKSl9LEhaLsm1Y21wPXNvKHt0eXBlOkhaLHNlbGVjdG9yczpbWyJzZXR0aW5ncy1kaWFsb2ciXV0sZGVjbHM6NCx2YXJzOjksY29uc3RzOltbMywicmVsb2FkRW5hYmxlZCIsInJlbG9hZFBlcmlvZEluTXMiLCJwYWdlU2l6ZSIsInJlbG9hZFRvZ2dsZWQiLCJyZWxvYWRQZXJpb2RJbk1zQ2hhbmdlZCIsInBhZ2VTaXplQ2hhbmdlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwic2V0dGluZ3MtZGlhbG9nLWNvbXBvbmVudCIsMCksUmYoInJlbG9hZFRvZ2dsZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25SZWxvYWRUb2dnbGVkKCl9KSkoInJlbG9hZFBlcmlvZEluTXNDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblJlbG9hZFBlcmlvZEluTXNDaGFuZ2VkKGUpfSkpKCJwYWdlU2l6ZUNoYW5nZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUGFnZVNpemVDaGFuZ2VkKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoInJlbG9hZEVuYWJsZWQiLEN5KDEsMyxuLnJlbG9hZEVuYWJsZWQkKSkoInJlbG9hZFBlcmlvZEluTXMiLEN5KDIsNSxuLnJlbG9hZFBlcmlvZEluTXMkKSkoInBhZ2VTaXplIixDeSgzLDcsbi5wYWdlU2l6ZSQpKX0sZGlyZWN0aXZlczpbSVpdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihIWixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJzZXR0aW5ncy1kaWFsb2ciLHRlbXBsYXRlOidcbiAgICA8c2V0dGluZ3MtZGlhbG9nLWNvbXBvbmVudFxuICAgICAgW3JlbG9hZEVuYWJsZWRdPSJyZWxvYWRFbmFibGVkJCB8IGFzeW5jIlxuICAgICAgW3JlbG9hZFBlcmlvZEluTXNdPSJyZWxvYWRQZXJpb2RJbk1zJCB8IGFzeW5jIlxuICAgICAgW3BhZ2VTaXplXT0icGFnZVNpemUkIHwgYXN5bmMiXG4gICAgICAocmVsb2FkVG9nZ2xlZCk9Im9uUmVsb2FkVG9nZ2xlZCgpIlxuICAgICAgKHJlbG9hZFBlcmlvZEluTXNDaGFuZ2VkKT0ib25SZWxvYWRQZXJpb2RJbk1zQ2hhbmdlZCgkZXZlbnQpIlxuICAgICAgKHBhZ2VTaXplQ2hhbmdlZCk9Im9uUGFnZVNpemVDaGFuZ2VkKCRldmVudCkiXG4gICAgPjwvc2V0dGluZ3MtZGlhbG9nLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjbGFzcyBGWntjb25zdHJ1Y3Rvcih0KXt0aGlzLmRpYWxvZz10fWlzQnV0dG9uRGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5zZXR0aW5nc0xvYWRTdGF0ZT09PVVFLk5PVF9MT0FERUR8fHRoaXMuc2V0dGluZ3NMb2FkU3RhdGU9PT1VRS5MT0FESU5HfW9wZW5EaWFsb2coKXt0aGlzLmRpYWxvZy5vcGVuKEhaLHt3aWR0aDoiNDAwcHgifSl9fUZaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxGWikoZ2YoWFkpKX0sRlouybVjbXA9c28oe3R5cGU6Rlosc2VsZWN0b3JzOltbInNldHRpbmdzLWJ1dHRvbi1jb21wb25lbnQiXV0saW5wdXRzOntzZXR0aW5nc0xvYWRTdGF0ZToic2V0dGluZ3NMb2FkU3RhdGUifSxkZWNsczoyLHZhcnM6MSxjb25zdHM6W1sibWF0LWljb24tYnV0dG9uIiwiIiwzLCJkaXNhYmxlZCIsImNsaWNrIl0sWyJzdmdJY29uIiwic2V0dGluZ3NfMjRweCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiYnV0dG9uIiwwKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub3BlbkRpYWxvZygpfSkpLHZmKDEsIm1hdC1pY29uIiwxKSxNZigpKSwyJmUmJmJmKCJkaXNhYmxlZCIsbi5pc0J1dHRvbkRpc2FibGVkKCkpfSxkaXJlY3RpdmVzOltOTCxNcV0sZW5jYXBzdWxhdGlvbjoyfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihGWixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJzZXR0aW5ncy1idXR0b24tY29tcG9uZW50Iix0ZW1wbGF0ZTonXG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBbZGlzYWJsZWRdPSJpc0J1dHRvbkRpc2FibGVkKCkiXG4gICAgICAoY2xpY2spPSJvcGVuRGlhbG9nKCkiXG4gICAgPlxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249InNldHRpbmdzXzI0cHgiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICd9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpYWX1dfSkse3NldHRpbmdzTG9hZFN0YXRlOlt7dHlwZTpSX31dfSk7Y2xhc3MgTFp7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuc2V0dGluZ3NMb2FkU3RhdGUkPXRoaXMuc3RvcmUuc2VsZWN0KGZJKX19TFouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fExaKShnZihpUykpfSxMWi7JtWNtcD1zbyh7dHlwZTpMWixzZWxlY3RvcnM6W1sic2V0dGluZ3MtYnV0dG9uIl1dLGRlY2xzOjIsdmFyczozLGNvbnN0czpbWzMsInNldHRpbmdzTG9hZFN0YXRlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJzZXR0aW5ncy1idXR0b24tY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpKSwyJmUmJmJmKCJzZXR0aW5nc0xvYWRTdGF0ZSIsQ3koMSwxLG4uc2V0dGluZ3NMb2FkU3RhdGUkKSl9LGRpcmVjdGl2ZXM6W0ZaXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTFosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic2V0dGluZ3MtYnV0dG9uIix0ZW1wbGF0ZTonXG4gICAgPHNldHRpbmdzLWJ1dHRvbi1jb21wb25lbnRcbiAgICAgIFtzZXR0aW5nc0xvYWRTdGF0ZV09InNldHRpbmdzTG9hZFN0YXRlJCB8IGFzeW5jIlxuICAgID48L3NldHRpbmdzLWJ1dHRvbi1jb21wb25lbnQ+XG4gICd9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgQlp7fUJaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxCWil9LEJaLsm1Y21wPXNvKHt0eXBlOkJaLHNlbGVjdG9yczpbWyJhcHAtaGVhZGVyIl1dLGRlY2xzOjEwLHZhcnM6MCxjb25zdHM6W1sxLCJicmFuZCJdLFsxLCJwbHVnaW5zIl0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJocmVmIiwiaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIiwicmVsIiwibm9vcGVuZXIgbm9yZWZlcnJlciIsInRhcmdldCIsIl9ibGFuayIsImFyaWEtbGFiZWwiLCJIZWxwIiwxLCJyZWFkbWUiXSxbInN2Z0ljb24iLCJoZWxwX291dGxpbmVfMjRweCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWF0LXRvb2xiYXIiKSxDZigxLCJzcGFuIiwwKSxQdSgyLCJUZW5zb3JCb2FyZCIpLE1mKCksdmYoMywicGx1Z2luLXNlbGVjdG9yIiwxKSx2Zig0LCJ0YmRldi11cGxvYWQtYnV0dG9uIiksdmYoNSwiYXBwLWhlYWRlci1kYXJrLW1vZGUtdG9nZ2xlIiksdmYoNiwiYXBwLWhlYWRlci1yZWxvYWQiKSx2Zig3LCJzZXR0aW5ncy1idXR0b24iKSxDZig4LCJhIiwyKSx2Zig5LCJtYXQtaWNvbiIsMyksTWYoKSxNZigpKX0sZGlyZWN0aXZlczpbalYsVFksU3EsZVosb1osTFosekwsTXFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfW1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjY0cHg7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjEwMCV9dGJkZXYtdXBsb2FkLWJ1dHRvbi5zaG93bltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgOHB4IDAgMTZweH0uYnJhbmRbX25nY29udGVudC0lQ09NUCVdLCAucmVhZG1lW19uZ2NvbnRlbnQtJUNPTVAlXSwgYXBwLWhlYWRlci1yZWxvYWRbX25nY29udGVudC0lQ09NUCVdLCBzZXR0aW5ncy1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZsZXg6MCAwIGF1dG99LmJyYW5kW19uZ2NvbnRlbnQtJUNPTVAlXXtsZXR0ZXItc3BhY2luZzotMC4wMjVlbTttYXJnaW4tbGVmdDoxMHB4O3RleHQtcmVuZGVyaW5nOm9wdGltaXplTGVnaWJpbGl0eX0ucGx1Z2luc1tfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbn0nXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQlosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiYXBwLWhlYWRlciIsdGVtcGxhdGU6J1xuICAgIDxtYXQtdG9vbGJhcj5cbiAgICAgIDxzcGFuIGNsYXNzPSJicmFuZCI+VGVuc29yQm9hcmQ8L3NwYW4+XG4gICAgICA8cGx1Z2luLXNlbGVjdG9yIGNsYXNzPSJwbHVnaW5zIj48L3BsdWdpbi1zZWxlY3Rvcj5cbiAgICAgIDx0YmRldi11cGxvYWQtYnV0dG9uPjwvdGJkZXYtdXBsb2FkLWJ1dHRvbj5cbiAgICAgIDxhcHAtaGVhZGVyLWRhcmstbW9kZS10b2dnbGU+PC9hcHAtaGVhZGVyLWRhcmstbW9kZS10b2dnbGU+XG4gICAgICA8YXBwLWhlYWRlci1yZWxvYWQ+PC9hcHAtaGVhZGVyLXJlbG9hZD5cbiAgICAgIDxzZXR0aW5ncy1idXR0b24+PC9zZXR0aW5ncy1idXR0b24+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz0icmVhZG1lIlxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIlxuICAgICAgICByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiXG4gICAgICAgIHRhcmdldD0iX2JsYW5rIlxuICAgICAgICBhcmlhLWxhYmVsPSJIZWxwIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj0iaGVscF9vdXRsaW5lXzI0cHgiPjwvbWF0LWljb24+XG4gICAgICA8L2E+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgJyxzdHlsZVVybHM6WyJoZWFkZXJfY29tcG9uZW50LmNzcyJdfV19XSxudWxsLG51bGwpO2NvbnN0IFZaPVsicm91dGVDb250YWluZXIiXTtjbGFzcyBqWntjb25zdHJ1Y3Rvcih0KXt0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj10fW5nT25DaGFuZ2VzKHQpe2NvbnN0IGU9dC5hY3RpdmVOZ0NvbXBvbmVudDtpZihlJiYodGhpcy5yb3V0ZUNvbnRhaW5lci5jbGVhcigpLGUuY3VycmVudFZhbHVlKSl7Y29uc3QgdD10aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShlLmN1cnJlbnRWYWx1ZSk7dGhpcy5yb3V0ZUNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQodCl9fX1qWi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8alopKGdmKEdoKSl9LGpaLsm1Y21wPXNvKHt0eXBlOmpaLHNlbGVjdG9yczpbWyJyb3V0ZXItb3V0bGV0LWNvbXBvbmVudCJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkoVlosNyxGYiksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5yb3V0ZUNvbnRhaW5lcj10LmZpcnN0KX19LGlucHV0czp7YWN0aXZlTmdDb21wb25lbnQ6ImFjdGl2ZU5nQ29tcG9uZW50In0sZmVhdHVyZXM6W3FvXSxkZWNsczoyLHZhcnM6MCxjb25zdHM6W1sicm91dGVDb250YWluZXIiLCIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmUGYoMCxudWxsLDApfSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGpaLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InJvdXRlci1vdXRsZXQtY29tcG9uZW50Iix0ZW1wbGF0ZToiIDxuZy1jb250YWluZXIgI3JvdXRlQ29udGFpbmVyPjwvbmctY29udGFpbmVyPiAiLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpHaH1dfSkse3JvdXRlQ29udGFpbmVyOlt7dHlwZTphcixhcmdzOlsicm91dGVDb250YWluZXIiLHtzdGF0aWM6ITAscmVhZDpGYn1dfV0sYWN0aXZlTmdDb21wb25lbnQ6W3t0eXBlOlJffV19KTtjbGFzcyBVWntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuc3RvcmU9dCx0aGlzLnJlZ2lzdHJ5PWUsdGhpcy5hY3RpdmVOZ0NvbXBvbmVudCQ9S3QoW3RoaXMuc3RvcmUuc2VsZWN0KGhSKSx0aGlzLnN0b3JlLnNlbGVjdChiUildKS5waXBlKFZ0KCgoW3QsZV0pPT57aWYoIXQpcmV0dXJuIG51bGw7cmV0dXJuIG51bGwhPT1lJiYheEQodCxlKT9udWxsOnRoaXMucmVnaXN0cnkuZ2V0TmdDb21wb25lbnRCeVJvdXRlS2luZCh0LnJvdXRlS2luZCl9KSkpfX12YXIgV1o7VVouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFVaKShnZihpUyksZ2YoZlIpKX0sVVouybVjbXA9c28oe3R5cGU6VVosc2VsZWN0b3JzOltbInJvdXRlci1vdXRsZXQiXV0sZGVjbHM6Mix2YXJzOjMsY29uc3RzOltbMywiYWN0aXZlTmdDb21wb25lbnQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsInJvdXRlci1vdXRsZXQtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpKSwyJmUmJmJmKCJhY3RpdmVOZ0NvbXBvbmVudCIsQ3koMSwxLG4uYWN0aXZlTmdDb21wb25lbnQkKSl9LGRpcmVjdGl2ZXM6W2paXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVVosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoicm91dGVyLW91dGxldCIsdGVtcGxhdGU6J1xuICAgIDxyb3V0ZXItb3V0bGV0LWNvbXBvbmVudFxuICAgICAgW2FjdGl2ZU5nQ29tcG9uZW50XT0iYWN0aXZlTmdDb21wb25lbnQkIHwgYXN5bmMiXG4gICAgPjwvcm91dGVyLW91dGxldC1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfSx7dHlwZTpmUn1dfSksbnVsbCksKGZ1bmN0aW9uKHQpe3RbdC5BQ1RJVkVfUExVR0lOPTBdPSJBQ1RJVkVfUExVR0lOIn0pKFdafHwoV1o9e30pKTtjbGFzcyBHWntjb25zdHJ1Y3Rvcih0KXt0aGlzLmRlZXBMaW5rZXI9dCx0aGlzLm9uVmFsdWVDaGFuZ2U9bmV3IFN5LHRoaXMubmdVbnN1YnNjcmliZT1uZXcgQix0aGlzLm9uSGFzaENoYW5nZT1sZSh3aW5kb3csInBvcHN0YXRlIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSl9bmdPbkluaXQoKXt0aGlzLm9uSGFzaENoYW5nZS5zdWJzY3JpYmUoKCgpPT57Y29uc3QgdD10aGlzLmRlZXBMaW5rZXIuZ2V0UGx1Z2luSWQoKTt0IT09dGhpcy5hY3RpdmVQbHVnaW5JZCYmdGhpcy5vblZhbHVlQ2hhbmdlLmVtaXQoe3Byb3A6V1ouQUNUSVZFX1BMVUdJTix2YWx1ZTp0fSl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpLHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpfW5nT25DaGFuZ2VzKHQpe2lmKHQuYWN0aXZlUGx1Z2luSWQpe2NvbnN0IGU9dC5hY3RpdmVQbHVnaW5JZDt0aGlzLmRlZXBMaW5rZXIuc2V0UGx1Z2luSWQobnVsbD09PWUuY3VycmVudFZhbHVlPyIiOmUuY3VycmVudFZhbHVlLHtkZWZhdWx0VmFsdWU6IiIsdXNlTG9jYXRpb25SZXBsYWNlOm51bGw9PT1lLnByZXZpb3VzVmFsdWV8fGUuZmlyc3RDaGFuZ2V9KX19fUdaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxHWikoZ2YoVFIpKX0sR1ouybVjbXA9c28oe3R5cGU6R1osc2VsZWN0b3JzOltbImhhc2gtc3RvcmFnZS1jb21wb25lbnQiXV0saW5wdXRzOnthY3RpdmVQbHVnaW5JZDoiYWN0aXZlUGx1Z2luSWQifSxvdXRwdXRzOntvblZhbHVlQ2hhbmdlOiJvblZhbHVlQ2hhbmdlIn0sZmVhdHVyZXM6W3FvXSxkZWNsczowLHZhcnM6MCx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7fSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEdaLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Imhhc2gtc3RvcmFnZS1jb21wb25lbnQiLHRlbXBsYXRlOiIiLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpUUn1dfSkse2FjdGl2ZVBsdWdpbklkOlt7dHlwZTpSX31dLG9uVmFsdWVDaGFuZ2U6W3t0eXBlOkVffV19KTtjbGFzcyBZWntjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5hY3RpdmVQbHVnaW5JZCQ9dGhpcy5zdG9yZS5waXBlKHJTKGVUKSl9b25WYWx1ZUNoYW5nZWQodCl7c3dpdGNoKHQucHJvcCl7Y2FzZSBXWi5BQ1RJVkVfUExVR0lOOnRoaXMuc3RvcmUuZGlzcGF0Y2goWEUoe3BsdWdpbjp0LnZhbHVlfSkpfX19WVouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFlaKShnZihpUykpfSxZWi7JtWNtcD1zbyh7dHlwZTpZWixzZWxlY3RvcnM6W1siaGFzaC1zdG9yYWdlIl1dLGRlY2xzOjIsdmFyczozLGNvbnN0czpbWzMsImFjdGl2ZVBsdWdpbklkIiwib25WYWx1ZUNoYW5nZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiaGFzaC1zdG9yYWdlLWNvbXBvbmVudCIsMCksUmYoIm9uVmFsdWVDaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uVmFsdWVDaGFuZ2VkKGUpfSkpLF95KDEsImFzeW5jIiksTWYoKSksMiZlJiZiZigiYWN0aXZlUGx1Z2luSWQiLEN5KDEsMSxuLmFjdGl2ZVBsdWdpbklkJCkpfSxkaXJlY3RpdmVzOltHWl0scGlwZXM6W1Z2XSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWVosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiaGFzaC1zdG9yYWdlIix0ZW1wbGF0ZTonXG4gICAgPGhhc2gtc3RvcmFnZS1jb21wb25lbnRcbiAgICAgIFthY3RpdmVQbHVnaW5JZF09ImFjdGl2ZVBsdWdpbklkJCB8IGFzeW5jIlxuICAgICAgKG9uVmFsdWVDaGFuZ2UpPSJvblZhbHVlQ2hhbmdlZCgkZXZlbnQpIlxuICAgID5cbiAgICA8L2hhc2gtc3RvcmFnZS1jb21wb25lbnQ+XG4gICcsc3R5bGVzOlsiXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBxWj17c2V0RG9jdW1lbnRUaXRsZTpmdW5jdGlvbiBaWih0KXtkb2N1bWVudC50aXRsZT10fX07Y2xhc3MgWFp7bmdPbkNoYW5nZXModCl7dC50aXRsZSYmcVouc2V0RG9jdW1lbnRUaXRsZSh0LnRpdGxlLmN1cnJlbnRWYWx1ZSl9fVhaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxYWil9LFhaLsm1Y21wPXNvKHt0eXBlOlhaLHNlbGVjdG9yczpbWyJwYWdlLXRpdGxlLWNvbXBvbmVudCJdXSxpbnB1dHM6e3RpdGxlOiJ0aXRsZSJ9LGZlYXR1cmVzOltxb10sZGVjbHM6MCx2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe30sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYWixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJwYWdlLXRpdGxlLWNvbXBvbmVudCIsdGVtcGxhdGU6IiIsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7dGl0bGU6W3t0eXBlOlJffV19KTtjb25zdCBLWj0iVGVuc29yQm9hcmQiO2NsYXNzIEpae2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5zdG9yZT10LHRoaXMuY3VzdG9tQnJhbmROYW1lPWUsdGhpcy5nZXRFeHBlcmltZW50SWQkPXRoaXMuc3RvcmUuc2VsZWN0KHhSKS5waXBlKFZ0KCh0PT5udWxsPT10P3ZvaWQgMDp0WzBdKSkpLHRoaXMuZXhwZXJpbWVudE5hbWUkPXRoaXMuZ2V0RXhwZXJpbWVudElkJC5waXBlKHVlKEJvb2xlYW4pLCR0KCh0PT50aGlzLnN0b3JlLnNlbGVjdChxVCx7ZXhwZXJpbWVudElkOnR9KSkpLFZ0KCh0PT50P3QubmFtZTpudWxsKSkpLHRoaXMudGl0bGUkPXRoaXMuc3RvcmUuc2VsZWN0KG9UKS5waXBlKF9lKHRoaXMuc3RvcmUuc2VsZWN0KE1SKSx0aGlzLmV4cGVyaW1lbnROYW1lJCksVnQoKChbdCxlLG5dKT0+e2NvbnN0IG89dGhpcy5jdXN0b21CcmFuZE5hbWV8fEtaO3JldHVybiB0LndpbmRvd190aXRsZT90LndpbmRvd190aXRsZTplPT09X0QuRVhQRVJJTUVOVCYmbj9gJHtufSAtICR7b31gOm99KSksQmUodGhpcy5jdXN0b21CcmFuZE5hbWV8fEtaKSx3ZSgpKX19SlouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEpaKShnZihpUyksZ2YoQkUsOCkpfSxKWi7JtWNtcD1zbyh7dHlwZTpKWixzZWxlY3RvcnM6W1sicGFnZS10aXRsZSJdXSxkZWNsczoyLHZhcnM6Myxjb25zdHM6W1szLCJ0aXRsZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwicGFnZS10aXRsZS1jb21wb25lbnQiLDApLF95KDEsImFzeW5jIikpLDImZSYmYmYoInRpdGxlIixDeSgxLDEsbi50aXRsZSQpKX0sZGlyZWN0aXZlczpbWFpdLHBpcGVzOltWdl0sc3R5bGVzOlsiW19uZ2hvc3QtJUNPTVAlXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9Il0sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEpaLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InBhZ2UtdGl0bGUiLHRlbXBsYXRlOidcbiAgICA8cGFnZS10aXRsZS1jb21wb25lbnQgW3RpdGxlXT0idGl0bGUkIHwgYXN5bmMiPjwvcGFnZS10aXRsZS1jb21wb25lbnQ+XG4gICcsc3R5bGVzOlsiXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W0JFXX1dfV19KSxudWxsKTtjbGFzcyBRWntjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5uZ1Vuc3Vic2NyaWJlPW5ldyBCLHRoaXMuZ2V0UGFnZVNpemUkPXRoaXMuc3RvcmUucGlwZShyUyhoSSkpLHRoaXMucGFnaW5hdGVkVmlld1N0b3JlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRmLXBhZ2luYXRlZC12aWV3LXN0b3JlIikudGZfcGFnaW5hdGVkX3ZpZXd9bmdPbkluaXQoKXt0aGlzLmdldFBhZ2VTaXplJC5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSksd2UoKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5wYWdpbmF0ZWRWaWV3U3RvcmUuc2V0TGltaXQodCl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpLHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpfX1RWi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UVopKGdmKGlTKSl9LFFaLsm1Y21wPXNvKHt0eXBlOlFaLHNlbGVjdG9yczpbWyJzZXR0aW5ncy1wb2x5bWVyLWludGVyb3AiXV0sZGVjbHM6MCx2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe30sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihRWixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJzZXR0aW5ncy1wb2x5bWVyLWludGVyb3AiLHRlbXBsYXRlOiIiLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgJFp7Y29uc3RydWN0b3IodCl7dC5zZWxlY3QoRkQpLnN1YnNjcmliZSgodD0+e2RvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnRvZ2dsZSgiZGFyay1tb2RlIix0KX0pKX19JFouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fCRaKShnZihpUykpfSwkWi7JtWNtcD1zbyh7dHlwZTokWixzZWxlY3RvcnM6W1siZGFyay1tb2RlLXN1cHBvcnRlciJdXSxkZWNsczowLHZhcnM6MCx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7fSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJFosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiZGFyay1tb2RlLXN1cHBvcnRlciIsdGVtcGxhdGU6IiIsc3R5bGVzOlsiXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjbGFzcyB0WHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnZjUmVmPXR9fXRYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0WCkoZ2YoRmIpKX0sdFguybVjbXA9c28oe3R5cGU6dFgsc2VsZWN0b3JzOltbInRiLXdlYmFwcCJdXSxkZWNsczo4LHZhcnM6MCx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwiYXBwLWhlYWRlciIpLENmKDEsIm1haW4iKSx2ZigyLCJyb3V0ZXItb3V0bGV0IiksTWYoKSx2ZigzLCJhbGVydC1zbmFja2JhciIpLHZmKDQsImhhc2gtc3RvcmFnZSIpLHZmKDUsInBhZ2UtdGl0bGUiKSx2Zig2LCJzZXR0aW5ncy1wb2x5bWVyLWludGVyb3AiKSx2Zig3LCJkYXJrLW1vZGUtc3VwcG9ydGVyIikpfSxkaXJlY3RpdmVzOltCWixVWixJVixZWixKWixRWiwkWl0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9aHRtbFtfbmdjb250ZW50LSVDT01QJV0sIGJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90byxzYW5zLXNlcmlmO2hlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MH1bX25naG9zdC0lQ09NUCVde2JhY2tncm91bmQ6I2Y1ZjVmNTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlfWFwcC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2JveC1zaGFkb3c6MCAxcHggM3B4IDNweCByZ2JhKDAsMCwwLC4yNSk7ZmxleDowIDA7ei1pbmRleDoxfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIGFwcC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICBhcHAtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3gtc2hhZG93OjAgMXB4IDNweCAzcHggcmdiYSgyNTUsMjU1LDI1NSwuMSl9bWFpbltfbmdjb250ZW50LSVDT01QJV17ZmxleC1ncm93OjE7b3ZlcmZsb3c6YXV0b30nXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodFgsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGItd2ViYXBwIix0ZW1wbGF0ZVVybDoiLi9hcHBfY29udGFpbmVyLm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vYXBwX2NvbnRhaW5lci5jc3MiXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkZifV19KSxudWxsKTtjbGFzcyBlWHtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5zdG9yZT10LHRoaXMubG9jYXRpb249ZSx0aGlzLmFwcFJvb3RQcm92aWRlcj1uLHRoaXMucGF0aG5hbWU9bnVsbCx0aGlzLnJlc2V0TmFtZXNwYWNlZFN0YXRlPSExfWhhbmRsZUNsaWNrKHQpeyF0aGlzLnBhdGhuYW1lfHx0LmN0cmxLZXl8fHQubWV0YUtleXx8KHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuc3RvcmUuZGlzcGF0Y2goUUQoe3BhdGhuYW1lOnRoaXMucGF0aG5hbWUscmVzZXROYW1lc3BhY2VkU3RhdGU6dGhpcy5yZXNldE5hbWVzcGFjZWRTdGF0ZX0pKSl9Z2V0IGhyZWYoKXtyZXR1cm4gdGhpcy5wYXRobmFtZT90aGlzLmFwcFJvb3RQcm92aWRlci5nZXRBYnNQYXRobmFtZVdpdGhBcHBSb290KHRoaXMubG9jYXRpb24uZ2V0UmVzb2x2ZWRQYXRoKHRoaXMucGF0aG5hbWUpKTpudWxsfXNldCByb3V0ZXJMaW5rKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9W3RdKSwwPT09dC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInJvdXRlTGluayBzaG91bGQgaGF2ZSBwcm9wZXIgcGF0aC4gR290IG5vdGhpbmcuIik7Y29uc3QgZT1bLi4udF0uam9pbigiLyIpO3RoaXMucGF0aG5hbWU9ZS5lbmRzV2l0aCgiLyIpP2U6ZSsiLyJ9fWVYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxlWCkoZ2YoaVMpLGdmKFBEKSxnZih3RCkpfSxlWC7JtWRpcj1obyh7dHlwZTplWCxzZWxlY3RvcnM6W1siYSIsInJvdXRlckxpbmsiLCIiXV0saG9zdFZhcnM6MSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5oYW5kbGVDbGljayhlKX0pKSwyJmUmJnltKCJocmVmIixuLmhyZWYsWHMpfSxpbnB1dHM6e3JvdXRlckxpbms6InJvdXRlckxpbmsiLHJlc2V0TmFtZXNwYWNlZFN0YXRlOiJyZXNldE5hbWVzcGFjZWRTdGF0ZSJ9fSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihlWCxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJhW3JvdXRlckxpbmtdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfSx7dHlwZTpQRH0se3R5cGU6d0R9XX0pLHtoYW5kbGVDbGljazpbe3R5cGU6VF8sYXJnczpbImNsaWNrIixbIiRldmVudCJdXX1dLGhyZWY6W3t0eXBlOkFfLGFyZ3M6WyJhdHRyLmhyZWYiXX1dLHJvdXRlckxpbms6W3t0eXBlOlJffV0scmVzZXROYW1lc3BhY2VkU3RhdGU6W3t0eXBlOlJffV19KTtjbGFzcyBuWHt9blguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG5YKX0sblguybVtb2Q9Zm8oe3R5cGU6blh9KSxuWC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LERELFNELGZSXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG5YLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbcngsREQsU0QsZlJdLGV4cG9ydHM6W1VaLGVYXSxkZWNsYXJhdGlvbnM6W1VaLGpaLGVYXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKG5YLHtkZWNsYXJhdGlvbnM6W1VaLGpaLGVYXSxpbXBvcnRzOltyeCxERCxTRCxmUl0sZXhwb3J0czpbVVosZVhdfSk7Y2xhc3Mgb1h7fW9YLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxvWCl9LG9YLsm1bW9kPWZvKHt0eXBlOm9YfSksb1guybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIob1gsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6WyRaXSxleHBvcnRzOlskWl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhvWCx7ZGVjbGFyYXRpb25zOlskWl0sZXhwb3J0czpbJFpdfSk7Y2xhc3MgaVh7fWlYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxpWCl9LGlYLsm1bW9kPWZvKHt0eXBlOmlYfSksaVguybVpbmo9RG4oe3Byb3ZpZGVyczpbe3Byb3ZpZGU6VFIsdXNlQ2xhc3M6QVJ9XX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaVgsW3t0eXBlOkxfLGFyZ3M6W3twcm92aWRlcnM6W3twcm92aWRlOlRSLHVzZUNsYXNzOkFSfV19XX1dLG51bGwsbnVsbCk7Y2xhc3MgYVh7fWFYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxhWCl9LGFYLsm1bW9kPWZvKHt0eXBlOmFYfSksYVguybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxpWF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihhWCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbWVosR1pdLGV4cG9ydHM6W1laXSxpbXBvcnRzOltyeCxpWF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhhWCx7ZGVjbGFyYXRpb25zOltZWixHWl0saW1wb3J0czpbcngsaVhdLGV4cG9ydHM6W1laXX0pO2NsYXNzIHJYe31yWC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8clgpfSxyWC7JtW1vZD1mbyh7dHlwZTpyWH0pLHJYLsm1aW5qPURuKHtpbXBvcnRzOltbcnhdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoclgsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W0paLFhaXSxleHBvcnRzOltKWl0saW1wb3J0czpbcnhdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oclgse2RlY2xhcmF0aW9uczpbSlosWFpdLGltcG9ydHM6W3J4XSxleHBvcnRzOltKWl19KTtjb25zdCBzWD17aWQ6Q0QsbmFtZToiIixzdGFydF90aW1lOjB9LGxYPVZTKHtleHBlcmltZW50TWFwOntbc1guaWRdOnNYfX0pO2Z1bmN0aW9uIGNYKHQsZSl7cmV0dXJuIEdrKHtkYXRhOmxYfSkodCxlKX1jbGFzcyBkWHt9ZFguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGRYKX0sZFguybVtb2Q9Zm8oe3R5cGU6ZFh9KSxkWC7JtWluaj1Ebih7aW1wb3J0czpbW1RTLmZvckZlYXR1cmUoR1QsY1gpXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRYLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbVFMuZm9yRmVhdHVyZShHVCxjWCldfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oZFgse2ltcG9ydHM6W0FTXX0pO2NsYXNzIHBYe31mdW5jdGlvbiBtWCgpe3JldHVybiBiUyh1SSwodD0+KHthdXRvUmVsb2FkOnR9KSkpfWZ1bmN0aW9uIGZYKCl7cmV0dXJuIGJTKGdJLCh0PT4oe2F1dG9SZWxvYWRQZXJpb2RJbk1zOnR9KSkpfWZ1bmN0aW9uIHVYKCl7cmV0dXJuIGJTKGhJLCh0PT4oe3BhZ2VTaXplOnR9KSkpfXBYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxwWCl9LHBYLsm1bW9kPWZvKHt0eXBlOnBYfSkscFguybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx0WSxlWSxJTCxNWixucSx2cSxUWl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihwWCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbRlosTFosSVosSFosUVpdLGV4cG9ydHM6W0ZaLExaLEhaLFFaXSxlbnRyeUNvbXBvbmVudHM6W0haXSxpbXBvcnRzOltyeCx0WSxlWSxJTCxNWixucSx2cSxUWl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhwWCx7ZGVjbGFyYXRpb25zOltGWixMWixJWixIWixRWl0saW1wb3J0czpbcngsdFksZVksSUwsTVosbnEsdnEsVFpdLGV4cG9ydHM6W0ZaLExaLEhaLFFaXX0pO2NsYXNzIGdYe31nWC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Z1gpfSxnWC7JtW1vZD1mbyh7dHlwZTpnWH0pLGdYLsm1aW5qPURuKHtpbXBvcnRzOltbVFMuZm9yRmVhdHVyZShkSSxzWikselIuZGVmaW5lR2xvYmFsU2V0dGluZyhtWCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyhmWCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyh1WCldLHBYXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZ1gsW3t0eXBlOkxfLGFyZ3M6W3tleHBvcnRzOltwWF0saW1wb3J0czpbVFMuZm9yRmVhdHVyZShkSSxzWikselIuZGVmaW5lR2xvYmFsU2V0dGluZyhtWCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyhmWCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyh1WCldfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oZ1gse2ltcG9ydHM6W0FTLHpSLHpSLHpSXSxleHBvcnRzOltwWF19KTtjbGFzcyBoWHt9aFguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGhYKX0saFguybVtb2Q9Zm8oe3R5cGU6aFh9KSxoWC7JtWluaj1Ebih7cHJvdmlkZXJzOlt7cHJvdmlkZToid2luZG93Iix1c2VWYWx1ZTp3aW5kb3d9XSxpbXBvcnRzOltbc3EscngsSUwsbnEsdnFdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaFgsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W1NxLHhxLFBxXSxleHBvcnRzOltTcV0sZW50cnlDb21wb25lbnRzOltQcV0saW1wb3J0czpbc3EscngsSUwsbnEsdnFdLHByb3ZpZGVyczpbe3Byb3ZpZGU6IndpbmRvdyIsdXNlVmFsdWU6d2luZG93fV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhoWCx7ZGVjbGFyYXRpb25zOltTcSx4cSxQcV0saW1wb3J0czpbc3EscngsSUwsbnEsdnFdLGV4cG9ydHM6W1NxXX0pO2NsYXNzIGJYe31iWC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8YlgpfSxiWC7JtW1vZD1mbyh7dHlwZTpiWH0pLGJYLsm1aW5qPURuKHtwcm92aWRlcnM6W10saW1wb3J0czpbW0lMLHZxLEhqLFVWLFBZLFhxLHJ4LGRULGdYLGhYXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGJYLFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOlt0WixlWixCWixSWSxUWSxvWl0sZXhwb3J0czpbZVosQlosVFksb1pdLHByb3ZpZGVyczpbXSxpbXBvcnRzOltJTCx2cSxIaixVVixQWSxYcSxyeCxkVCxnWCxoWF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhiWCx7ZGVjbGFyYXRpb25zOlt0WixlWixCWixSWSxUWSxvWl0saW1wb3J0czpbSUwsdnEsSGosVVYsUFksWHEscngsZFQsZ1gsaFhdLGV4cG9ydHM6W2VaLEJaLFRZLG9aXX0pO2NsYXNzIHlYe2NvbnN0cnVjdG9yKHQsZSl7Y29uc3Qgbj10LmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCgiLi9pY29uX2J1bmRsZS5zdmciKTtlLmFkZFN2Z0ljb25TZXQobil9fXlYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx5WCkoVHIoZU8pLFRyKG1xKSl9LHlYLsm1bW9kPWZvKHt0eXBlOnlYfSkseVguybVpbmo9RG4oe2ltcG9ydHM6W1t2cV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih5WCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W3ZxXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmVPfSx7dHlwZTptcX1dfSksbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byh5WCx7aW1wb3J0czpbdnFdfSk7Y29uc3QgX1g9bmV3IGVyKCJbcGx1Z2luc10gUGx1Z2luIHJlZ2lzdHJ5IGNvbmZpZyIpLENYPW5ldyBNYXA7Y2xhc3MgTVh7Y29uc3RydWN0b3IodCl7aWYoIXQpcmV0dXJuO2NvbnN0IGU9bmV3IFNldCh0Lm1hcCgodD0+dC5wbHVnaW5OYW1lKSkpO2NvbnNvbGUuYXNzZXJ0KGUuc2l6ZT09PXQubGVuZ3RoLCJDYW5ub3QgcmVnaXN0ZXIgdGhlIHNhbWUgcGx1Z2luIG11bHRpcGxlIHRpbWVzLiIpO2Zvcihjb25zdCBlIG9mIHQpe2NvbnN0e3BsdWdpbk5hbWU6dCxjb21wb25lbnRDbGFzczpufT1lO0NYLnNldCh0LG4pfX1zdGF0aWMgZm9yUGx1Z2luKHQsZSl7cmV0dXJue25nTW9kdWxlOk1YLHByb3ZpZGVyczpbe3Byb3ZpZGU6X1gsbXVsdGk6ITAsdXNlVmFsdWU6e3BsdWdpbk5hbWU6dCxjb21wb25lbnRDbGFzczplfX1dfX1nZXRDb21wb25lbnQodCl7cmV0dXJuIENYLmdldCh0KXx8bnVsbH19TVguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE1YKShUcihfWCw4KSl9LE1YLsm1bW9kPWZvKHt0eXBlOk1YfSksTVguybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTVgsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W19YXX1dfV19KSxudWxsKTtjbGFzcyB2WHtjb25zdHJ1Y3Rvcih0KXt0aGlzLmh0dHA9dCx0aGlzLmh0dHBQYXRoUHJlZml4PSJkYXRhL3BsdWdpbi9kZWJ1Z2dlci12MiJ9ZmV0Y2hSdW5zKCl7cmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5odHRwUGF0aFByZWZpeCsiL3J1bnMiKX1mZXRjaEV4ZWN1dGlvbkRpZ2VzdHModCxlLG4pe3JldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuaHR0cFBhdGhQcmVmaXgrIi9leGVjdXRpb24vZGlnZXN0cyIse3BhcmFtczp7cnVuOnQsYmVnaW46U3RyaW5nKGUpLGVuZDpTdHJpbmcobil9fSl9ZmV0Y2hFeGVjdXRpb25EYXRhKHQsZSxuKXtyZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmh0dHBQYXRoUHJlZml4KyIvZXhlY3V0aW9uL2RhdGEiLHtwYXJhbXM6e3J1bjp0LGJlZ2luOlN0cmluZyhlKSxlbmQ6U3RyaW5nKG4pfX0pfWZldGNoR3JhcGhFeGVjdXRpb25EaWdlc3RzKHQsZSxuLG8pe2lmKHZvaWQgMCE9PW8pdGhyb3cgbmV3IEVycm9yKCJ0cmFjZV9pZCBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIGZldGNoR3JhcGhFeGVjdXRpb25EaWdlc3RzKCkgeWV0Iik7cmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5odHRwUGF0aFByZWZpeCsiL2dyYXBoX2V4ZWN1dGlvbi9kaWdlc3RzIix7cGFyYW1zOntydW46dCxiZWdpbjpTdHJpbmcoZSksZW5kOlN0cmluZyhuKX19KX1mZXRjaEdyYXBoRXhlY3V0aW9uRGF0YSh0LGUsbixvKXtpZih2b2lkIDAhPT1vKXRocm93IG5ldyBFcnJvcigidHJhY2VfaWQgaXMgbm90IGltcGxlbWVudGVkIGZvciBmZXRjaEdyYXBoRXhlY3V0aW9uRGF0YSgpIHlldCIpO3JldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuaHR0cFBhdGhQcmVmaXgrIi9ncmFwaF9leGVjdXRpb24vZGF0YSIse3BhcmFtczp7cnVuOnQsYmVnaW46U3RyaW5nKGUpLGVuZDpTdHJpbmcobil9fSl9ZmV0Y2hHcmFwaE9wSW5mbyh0LGUsbil7cmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5odHRwUGF0aFByZWZpeCsiL2dyYXBocy9vcF9pbmZvIix7cGFyYW1zOntydW46dCxncmFwaF9pZDplLG9wX25hbWU6bn19KX1mZXRjaFNvdXJjZUZpbGVMaXN0KHQpe3JldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuaHR0cFBhdGhQcmVmaXgrIi9zb3VyY2VfZmlsZXMvbGlzdCIse3BhcmFtczp7cnVuOnR9fSl9ZmV0Y2hTb3VyY2VGaWxlKHQsZSl7cmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5odHRwUGF0aFByZWZpeCsiL3NvdXJjZV9maWxlcy9maWxlIix7cGFyYW1zOntydW46dCxpbmRleDpTdHJpbmcoZSl9fSl9ZmV0Y2hTdGFja0ZyYW1lcyh0LGUpe3JldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuaHR0cFBhdGhQcmVmaXgrIi9zdGFja19mcmFtZXMvc3RhY2tfZnJhbWVzIix7cGFyYW1zOntydW46dCxzdGFja19mcmFtZV9pZHM6ZS5qb2luKCIsIil9fSkucGlwZShWdCgodD0+KHtzdGFja19mcmFtZXM6dC5zdGFja19mcmFtZXMubWFwKCh0PT4oZnVuY3Rpb24gZSh0KXtyZXR1cm57aG9zdF9uYW1lOnRbMF0sZmlsZV9wYXRoOnRbMV0sbGluZW5vOnRbMl0sZnVuY3Rpb25fbmFtZTp0WzNdfX0pKHQpKSl9KSkpKX1mZXRjaEFsZXJ0cyh0LGUsbixvKXtjb25zdCBpPXtydW46dCxiZWdpbjpTdHJpbmcoZSksZW5kOlN0cmluZyhuKX07cmV0dXJuIHZvaWQgMCE9PW8mJihpLmFsZXJ0X3R5cGU9byksdGhpcy5odHRwLmdldCh0aGlzLmh0dHBQYXRoUHJlZml4KyIvYWxlcnRzIix7cGFyYW1zOml9KX19dlguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHZYKShUcihIRSkpfSx2WC7JtXByb3Y9U24oe3Rva2VuOnZYLGZhY3Rvcnk6dlguybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHZYLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpIRX1dfSksbnVsbCk7Y2xhc3MgeFh7fXhYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4WCl9LHhYLsm1bW9kPWZvKHt0eXBlOnhYfSkseFguybVpbmo9RG4oe3Byb3ZpZGVyczpbdlhdLGltcG9ydHM6W1tGRV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4WCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W0ZFXSxwcm92aWRlcnM6W3ZYXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHhYLHtpbXBvcnRzOltGRV19KTtjbGFzcyBPWHt9T1guybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE9YKX0sT1guybVjbXA9c28oe3R5cGU6T1gsc2VsZWN0b3JzOltbImluYWN0aXZlLWNvbXBvbmVudCJdXSxkZWNsczo1NCx2YXJzOjAsY29uc3RzOltbMSwiY29udGFpbmVyIl0sWzEsInRpdGxlIl0sWzEsImNvZGUiXSxbMSwiYXJnIl0sWzEsImV4aGliaXRzLWNvbnRhaW5lciJdLFsxLCJleGhpYml0Il0sWzEsInNjcmVlbnNob3QiXSxbInNyYyIsImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBVFlBQUFFMkNBWUFBQURydkw2cEFBQW95SHBVV0hSU1lYY2djSEp2Wm1sc1pTQjBlWEJsSUdWNGFXWUFBSGphclp4cGRoeTVjb1gvWXhWZUF1WmhPUmdDNTNnSFhyNi9pMkpyZW1xcm4rMVdpNlNLeFV3a0VIR0hRSURPL3VzL3Ivc1AvaHV0WlpkTDYzWFU2dmt2anp6aTVJdnVQLytOOXpINC9ENisvMUw5K2lyOC9Mcjc5bzNJNTZSM2ZyN1I1dWR6bUx4ZXZ2L0FYL2NJNitmWFhmLzZUdXhmRi9yNkJoZitqRUIzMXRmbngwSHlldnk4SHZMWGhZWjl2cWlqdHgrSHVyNHV0TC9lK0lieTlUZC9HOWJuay83dGZucWhNVXVuY0tNVW82V1EvUHVZUHlOSW43K1R2KzE5akx3djhOcE1LUVgzK2ZSMU1TYmtwOGY3NjdQM1AwN1FUNVA4MTFmdTE5bi85dFV2a3gvbjErdnBsN21zWDNQazYrKy9FY292cjZkdnQ0ay9oY08zRWNXZnYzRjd6UC95T0Y5Lzd6MzlYdnM4M2N5VkdhMWZFZlVtKzY4WjBoc1hVNTdlajFYK05QNFd2bTd2eitCUDk5TnZsdno0N1JkL2RoZ2hzaXJYaFJ4T21PRUdlNTkzMkF3eFI0dU56ekh1bU41clBiVTQ0azVhcDZ3LzRjYVdSanFwczI0N21tUE5jb3JmeGhMZWZjZTczdzZkTzUvQVcyUGdZbHJxdi8zai9xZHYvanQvM0wxYlV4UjgvelpYakNzcXJobUdWazRmZVJkTEVPN1h1cFUzd1gvOStWcCsvMFA4RUtxc1lIblQzSG5BNmRmbkVxdUU3N0dWM2pvbjNsZjQvRm5qNE5yNXVnQlR4TDBMZ3dtSkZmQTFwQkpxOEMzR0ZnTHoyRm1neWNoanluR3hBcUdVZUJoa3pDblY2RnJzVWZmbVoxcDQ3NDBsMXFpWHdTWVdvcVJLYm5WV2FMSllPUmZpcCtWT0RNMlNTaTZsMU5KS2QyV1VXVlBOdGRSYVd4WEl6WlphYnFYVjFscHZvODJlZXU2bDE5NTY3NlBQRVVjQ0E4dW9vNDAreHBnenVzbU5KdGVhdkgveXlvb3JyYnpLcXF1dHZzYWFtL0RaZVpkZGQ5dDlqejFQUE9rQUU2ZWVkdm9aWjFwd0JsSll0bUxWbW5VYk5pK3hkdFBOdDl4NjIrMTMzUGx0MWI1VzlWLysvQnVyRnI1V0xiNlYwdnZhdDFYalZkZmFYNWNJZ3BPaU5XUEZZZzZzZU5NS0VOQlJhK1o3eURscTViUm1ma1NTb2tRR1diUTI3Z1N0R0V1WUxjUnl3N2UxKzc1eS8yamRYT24vYU4zaW4xYk9hZW4rUDFiT3NYVC91bTYvV2JVam50dHZ4VDVacURuMWlleTdaWnk0M0k1eDFUTG50SmxhUzJYdUZYTUxhWmVRV3oyMXJucUJrOXZQTHQzSHhyZTZaNVlQbk1Na0hMOXlQYUhvUXIybWZPUHhFM2hmcGQwMTAyRnBrNTZ5TTQ2OVRyNjUzMVVZTFpjRy84NDhPN1JqM0xTc3VGZFk1dG8wbml1bGZYbmtsdkkrbnFRc0J3QmRmVzhtZGQ4V29tK3NaT285NTU3KzRvWWtLTDlsbmpaakp5RDVPSFZ6bTZXdVdjNWNaWmVUSnludnpmTzQyWWM2Um84UnJTR1NQbmxNUzIzbmNRbTFmSS9DeGFVZVRpM3dkZHNnd3RwMzdicHV5TVhhWWJKcnYxWUE3dVhUYWNiVDVkRGEzS3pEQ20weWY1VXhNMzNiNVFrOWhGMW40YVozU1JTRXMyOGZ6V0k2Vm1lSXlXeHM0MXErcmg3V09DMGFWekRpdUsvR1BCRVF3U21KQ09uK3hFUmFZOTdNMEViYnZoeml0bmF5b0xHRVBNSnN1MXBpa1FmZ05jdGw2WHNJMXRmTmxoMXozRzhvZHBLRndjTWh1eTZQNGxFVFFPSHVNNDJ5N0I3TlNDSU9UN3A5WHlZL0hPWDJRaUsxZlJaejFIWUVPWGlZZmtyTithUmx1L2hWZlIrUm1HUnR5VEk3blptb2ljZzcvdVp5RDhHOUR6azZFb05vc2FHUGFneDVaUktOY1laOFd6bjdpQXZQOWJQWktHWWtKdmNOUE5EMW5ZYytQQ1J3UFkxUXlIRHRhdFhjNnJYQ3hKZEpiWk9STWhlVmRMQithMHVSbXhJUmhjbGsyT2UwYm9jdzdpeUVKK1p6Vk1EeWdmK2R4TjJZZXNycnIvWFR5Tmk5V3BuNTlNMDAzV09OQlNZVkV2ZFY2QmF1SFBaS0RETldHeFZZS2JlNFdFY1NjR3crRTZFa3hzbkowQk05dEJLWXQ2QWJWejFPR2d1Z0lmZnZIRVQ2SkZvTDR3UWN6bUN5Szh6V1NLTWFod2ZIeUdHR2txWUdFTllCVG5PRGpNdGNaeEZZMmJZVmNBT1FJMklodDd1TnBTUkY5a1JDZENZWVBPVHJHeUEvVnJjdVltSGNYYStGblJseU9Zblp0VkRTM2p3T29kcHRTZkFrd1U4eU55NloxWGpBS2FCWXVaK3doYlVrRkFoYUEvUkpGdm8rUVFWYkF6Q3ViU2NGb3lka0pwTi9iaUhtSElIT3R3dWh0bmRPZTBtRXdRZkxHOGhSMHdnbEt4UkoyMkp4RTFDRGZONFRlcmRid0VER3lQVldkRHN0QUdPMkM4TGI2Qy9tUmdQTG1KaDRnS3JXenlTbWdmNEZGbGZ3ajVjSlVGRGtLa3dPa1hQbmNZMVpKZ0tQRVZhZ0c2blFvSlNJZGtzeGQ4VlFPMW15K1M0a21TMkZ4QllFVk5ZdWx5UWtZNUZRL2lFTWI2Y1FqdU9za3hKaWxGZ0RNb3p3OEtZQkdWRTZSaGl4MWhJOXQyOWtYeWRLWWp5ekxsWWhJMnVZeXBHQ2dlTTFBWGZlR3lBMDg5T2txSnRNZW1mMGkxd0hNRjYrZjI0a0pNaEZoRVhRaWpnQ0hiRU81QnY4dUMvNUltSWxCZ09NQ21vQ2cyUDdUYWlCM0FFQUJWdFJtSk1GSmlTenFHSEFLYTd1QVVPUEJwcDBCbVNRNGdVTklSTmZZUDFGVk56Yy9ENEFkMEdlb28wclV1MENZUkFCVHlxV3UyazRVQlR0dFhoV0l3Uk5yQXN4RGpKM3JkMVg3Y0lLaFd1VEtTQVNlU0JtSDBpWXl0V05zQWFoaHJtamxTV1ZXQ0x6MnpKRU9zWTlGUTZyd3ZiZWJWOGlrRXVrc2xseUxOQ05zemFBNktZSjN5MkxBY3kydVJnMHlaaFdtdWlVeGhVRUFMVlpJbFFQY01UVkd6UlBzdkxvbXhDY0Z4QWFyV1JDd3RhMUNFbTZUUGdRdXhpL2phNnYrQUFlR3NRaXF3MThJdHBZUjBKZU9Dd1dBVWxMWXVyMktzTUkwbzRuSU5YTjVUU1kraHhaOVhQNUZwZGNDbGVnc0VQSFlHSmg0VWoyVWxZZy9OcmxHbk1zSm1NalZMaFpZRVhUbG1JREZWbVd4SlNqb3pBT3hCY3EyWVBsVVU0M041SFUvWWFGdi8vczlFVUd0a3NtYXJvQWRPOExCWkVFWnlJbGRrSlE5VEJyUlI4Y1VyYklYb01QTWszTVNnT3pab0ZGN0JJWEZ6RllHcU5ackJ4NnlMTmVnRXNpbi9xR3VJS3VqaHpQSFRteVJIQ0VCcmxtRWpSOGU5VGxrT2RubGF0WlBhdW53d2ZqbmR3OEkxb1dkQWI3b3lNazQ5QmVxWEhQR01sbEVtT1VSc0FNTkV3MzVxaEFud0J5T2NnOGtET1RtMnY0WXdVaGdLSElCS1VGcENEUEMvcXh0UDU2VUdSc1lMOEZDUThnTFRtSW5wOHhLWkF1ZE1DSThzT1hmQU9vQUxrOERnK1Z6amFXcDBwSG5BZVI2Q2xtNWFUWmk1WFRGOW0vejE3RUoxbU1jb2w1QXgxTUplQU93Y3E5NEIyUlBRZ0pRaGpVSHVnVnBCeU1kQVc0QUdXVU9IUHRqZ0k4Ly9LeVhtM0tBd3h3MlFOUVFocVFOOEZTWC9ub0ViR1c1V0E5MGE3TXJYY0xXMlZvU2lJeUNla3ZySCtUeEtvRXpnMWkxMFpXMkRwRzhnellkM2Q0STI4bWdYVWhjcVJkajBOaWlYZVFCbVErUzVvQnExU1FDUFBGdk1JRXpHNUZvclNSK0loRzVCd2lPeXRtRTdDQXJKODdPVGlJTllSbHhLOXozNW1ZOTdvV0lnZm9aa2FnTVM3TTRJQUpjQzRkbnBtQmNvdUw2WWRIdHRla3VDQnNxdWVBSk9RMnF5bnhESHNzekFEWVRIREJCd2huSHBVdkNJY05tUFlKODJFSWdoSXpTTnd2aDYyL3FGc3doYWVUa0NJMFlDeFNIV3lYK3I5RFRtS0JUajBiOEVBNHMrNHNDeCtoYzUrUmFYdkRJb2hoWTdxMTVIeGo0SnBLWVdhR3lVRVV5RHFzUmt4MTY1M0Z1TUlXeFhWRnpFR1pDSTJUSlhoZFFoekFXNENwdUFIeVpSUm9OQVlML1JnUDI1RVJnWGtvOEdmZWltK1VRMGZBTGNLU2pPQ0JRYkx0OW43Z2F2Q1RzZkRjbmpTMTlBWlZpSG5NRm9NZjh4UkJHcWc1R0JEZmcrbDZ3MDFKd203MHUxdGdXRldnWENSekp2MlJOUTJHSjlZbmlMbXc1MFJySmtpTXlRVnAwb0pLa1RRcXNzMG5Kb1ltM0JVRi9FQzk2TVlFU1VORzgwenh6UkRBakd0b09MdXFkVitFMkVsZDZvSDVLS3JUbGZEMTJZVmZYdmoxTTg4Qmtac25DbGp5eG1JeVVGSzN5dG9OTFE4cXNVK0Uxc0I0SUZnMnVoOCtSQkloRDhrZVJEaHZ3UzB1RkFUMlUrYXBpcThObzFnRFZnWHJwZVVETTJGSWMwQ2V4OUMwcCtQQkw2SVJUYTRNK2Qyckt5ZEV5bnhnalIwQ2JrRWFNQWRWeXd1SnJMeGRzNDdzeFh6aVVnbG1GbjRsd0JrN0FkSGphSnNQYlMydXdHQU54b0JlMGFHUUY3QkdISGtVb2ljeFR3ZlJWRUVCQUlvaXY0cEZpZkR0S3c0bjRTMEdFOXdKZFZnUmJEdG5zOEI0aWFUS1FITVhKWUlXNnZJc1RLN2hpdURDblFGSkpneTloN2NHUzBHNXhGdkp2cWFFaDNJbVNiZEltYXFVYU0xeDM0cmNRUGZpSTlDSHZVYUZqdzNtc2hLQWd4aEg1c0hPQURrMEVGUEFxUjVWaGRmWDB2SnhaZ2VNRWk2YnFTTWZFUzlkdzdFYjVDTWxSN2tkN0RQSVY3SUJHN3RFQ1pmd0dnMEZIQWNUZmdqQTdiQSt0NkpNSTR4dGsrbkVUbHkvSUkyRGwwMVpNcjBVNG5VRG5TajlQVUg5S2prUDlWd0VKaTVoZ0crT3Q2QVlLdmlCYkNETU10UW1kc3prdXlvdGQrRXZzWDVRTUltUDZpWDRXWktPOVFlbE8yQVo4VHU1T0d3NVVBeWgrUVpSamd1WGJpQk5kRWwrR3c2S0M0MUVrbTlpT1pBODFhOVIwWnk0TGloQWhXMVdGb0lrc1J2RSt5aTF3Vmt6TjJSakJ0K3d0Z1NTS2d1NkczR3lBZU83aENsSFZvaGJvWWFpYkpCTlJ3QTI1bzdjUmxlU3UxYzJoY1ZsWmdGZzFwMHhtT1Myblp3TmFnR0lXQlhRRWlXRlk2N2dzRExaVFRDOE5WVkJ5SDl1TFdGM3lId01mVlJkMTBmSWxEQkRCYWFTNWxCUS9lN216alEyd0xaQzE3OFoyei8rcnZzZnZvM2dIWmkzeWRSVUtMczJTUkNNak9GRXZDcER5TWs0VHdEemVuVG80SHQ1dEJWNU51Z2FUTjk4WjRtMjhZZnBDV0pzZjg4a2ZTakk2Z1QrSWtUQ1NJQXl1cmJzQnRnNWVETmwvR1Z0d1dxMURaVjFnZytkamhDend6eXBOb04wUWI1K2dMWFV2dlFWMmdYMlJWa3RlVXlFVnBtcVFudkJKOCtHaWNkKzRUd2J1blFUMndENUJXdHlSQThOVkJ2UFF5RGpJOUFhcjhhQVJXQXNqdHh2Q0VWNEVHL2pzUkZIUWtRQ0UrZWgwVi9CS2tsRFhCWFFNT0ZYVVZwZ0ZtU25Za1p2cW03OGJrU0FkRVNuSTZUSnhiaE5QbkxqcGcyc0JKY2JNbWc5TTA5aU56eTI3Y0JGSFhaVThnUjl4M1NyYXNFaUJsYnd4U1g0SlcwWGtDbmtlSW1JeGJMRkgrVEU1Q21aS1dWRkdzY2pqM0V1NEFnRElZTFIyQ1VPcEEvS0RLMkxZdVk5ZXlxdXF5MzQ0RjVMQjhPbFM3eVBjV0xJN2kxRWRnRzFmbFZyT0ttR2pPOHBRV212Mm5pSU54Z3g0N1RRUXd2elhQd3dINkpRaW9zNDNCKzQrRDdnQlBCSTZYTlJyb0NJR2ZLb3FSSWNoRWc0aVFCaC9ZSmxuUFRLRUJsU0NIWURLaHhra29UR2ozaE93V3lSU3dnejNtODVTQmtmQ0ZBZWhWczJwb21YcWt6OVFFQTErQUlLQmZ6TlhjZ2NqVGtoTXE4S0NuNGtraGhBUnBYckRQQzh5Qnk4eEFGTVpCYk9aSmNxZjRkd3c1aWhDdEVoSkMzeENRWlBSb3ZiNTJhQU92Zm43ZkJLMFZjQmpWRndQSjJuSXc1c1Y3UVhERUpBRUVFb3ZnaHk0bW1OTWJKUzRhcllTcnFxL25zbVM0WDVneDhMZW42QUg3dE1CV2Jnc2ZkVzlSUGtoc2tOa0x3NVl0Y0JKY3kyYXF3TlQwR3VIZFlEcFRWeG1zd2ZBRlFCK29reElRTHc0N1YyOEpNMXhER2VjRkYzR2VyT3ljV0FCT011aUdnRUVLcHF5Sm1RYXdOSzZVT0tHbUlqRXJhUGVFOUd2YmhDWFRsM01wSjFOSW5maW9oQTJ5MWtQSzRSK1lJTTQ1MVFUdVhmQ0hPVkVaSmtQSlBVV2RJTE1HUkJySHlyN0FWNkhVNjRyVHBaS213dlZITVNiSGV4ZWd1Ym5VT3ZTT25FeHpFUVl5dDY4WkxIQ1NBTGlXK0NCQVZNanNZWm5zNldqYnZJQVVNV2NHTXlxd2tIa1FnZUVpcXF2ZkNvd1BpUmVjSlRkZVViZ2dMaU9vUUl5UzNUVkYzUXM3QWl2ak9mczkvU29tMjRDMHNhSVllTG9tem5WVUhIRURrejVxeDYrZXg1QXhlcVEvaFpnWkZ3dE5raCtjZzZUR050VFNWZjhOeS9FaDJvZytoRFBiK3FKdlluUU12R2NyRUVRN1Y0THllOXRodTRicHhEd0EyZ1ZWQkJYcFZuTXYvakoxWHJCODJEWnlGSVhpL0JlQkx1QlRXSFlxL0llaVFVb3dMOHhkam5xSnlBZEF0RitRRlFza1pqU0NWRHJVaTNoSEt6RElGZ3NqekNvOHJ3a3ozanF0VEh1RjNEaVdPRThheFlIdXlvU0lKVVZIWDU3clZBUTYzOVVCMXNUT3ZvU0RqR0JrNys2NHZOdFU4MGdJMkhHdWhBeE5yVlpzRUowbVBNSUJHS0NHeHlwZmRnTFM3UHRVT2RxZ2hweDhaam9WUjNOMlRocks1Q1krT0JDTG8xdnkvMVJTRXlEY2tXK0RmakIrOUlqZmpBbFM5QnVsNEVuYnhpNVNHWVF4ZUc5N1crcUN5Vzl2YUVrcis5K0U4Ly9lMUhCYnZ1NjZkYlRLbytCRlJ4cmR0dlpCQjhwdklNTVlrNlJHYUdxKzJkRmpzcVRvVm5ySStzWFJmVjE0aUZHQkZ6cXQwZTZkTktsdGpXcm9CQzhFck5HUUJ6dURzMGIzRDAxZzVFT3BYcHFxck40TFFyVjNmaUNvS2lvM3VnUmtnVTBUb0FjOUlyUkJGWnNpelBnek1XOHhUVktyQTJrSTU4SHNhNkU1a1dyMHNKc0FocnFCb0N2MGtoSkhTV2FvbS9HMWw0U3ZQb1ZjVUpXWHVGSmdFWUdmQlV4TVpma2grZm04WXowb2g0TEFoY29rSkpQV21URVBDejEyNnFhbzNaZ3lhRVFCeXd6Q0lFbmZhMnQwcFI4QXlhUEwzU2tYUXljcnFYbXlLWWx5T3d3cGZvWTc1R09hSkFtREVZdmdGZEx5U3V3OTVGV0VGVnRneUt4YXpCTFBUOGxtYkU2U0hyUzBoZVZYU2dIWW1lc1FZcklhako1dkZZVnNiTC9ZNkVZWnA0eHVhS2VSRW1hQ1pCbnlsODhHYWtZekR1Yzg2SThQQ0FYQkdWYm5obUtpZzlxeHl6bkJtQVBCSGpxRmtUbXNCNVZzaUoxeVF5WmNaaE9TZ1RFSUFXeUhRVmZ4b3d3a3dEV0VBMHN1NG13SVhVVEhQQ21vQ3RxclJra3JnS0xESTVHV0FUeHN0UGhxT1hWWkJDN1Rpc1FZQitONmtFWlJ0TEtoUkVScU8vRm9NbGdRRThucFh3dy9zeE5pZ1E5cTRxeXV3bG1FWW1abm1SSHNsOU1rZENTK1VWeEwzMkV1NitNQ0wzYkNRSElRajFRYVg0aEE1dXBKTHhVRUhpRjRhdXpLMDI2Z3hGempLRGc3V2NqRE1uNDdSWmh0c2srdkYzQ1AyTDVnQ3A0WjJsblFrMEhpRmZNVERjcTRvcVhjWjBxdXdudlFJOVZOZ1hsa2xoeTZGY1pET0crdzZicHlEL3NMcEhtdy9ZeUNDcjI3WTIrSFpQK3lMWUkwTUh1Q2RpaEF0Z0V3blpDVjVXeEFoQktLT1hDcEZhWW9GaVgzS1FpdVEvT1lLZVpRV1FQT3BBV054ODVZdmIzdW81V05JVGcwRjZtWkl3aXFvMWhRZ0pTeG1OdDBKV0Z0RXZjaFRXa3JQeWkxd0QxSGU4ZW1ORVJuVnQyMTdwcTRrTVpoNFlFcm9maEJ5bDk2WktWZGNtTWhJSTVRMHFJNXo4d1dBNGVWNjBDN09aNE1vcnpVVEt6anVKeTUyYXNPWUU3UndpUnJURkZBTEVLSmxlVlV5T2pjV2ZSQ1pNU3c2U01RUGdERis3Y21IUFgzY2MvdnpaL2MwM1htSFNFNXcvU04ydmN1VXZyNnBIakNkeXFreWtsTENXYzJ6c1hjS0dJN25nUXBBRGEzRWFHTnFUZ2xKSUFwL0FzUU5OVW1QVHRyK3hGancrOHZnUUZSMVFnTkd5N0dZQ1FsUmd5MHdTcnArOGdlSUlERHlzb1RwMjJFOGNXMGZqc2M0TkVHNTRmVGZsV3JWbkpqZFZ0RHRkRDdKTEdhaUV2ZDZ5akpzQjdKaWhzSGJ2R2RPaktobWtzeUNUS05VK0hIU3Y0bVF3d0dtK1RYK3l0V0VqTmhtSm9vRngxZ3MxZkZHVDd1SG5rTmZKdzNLZElHVmNtRDB1aE1iY0lpaE1pQm5XYThtS1NxV055dU9CbVZmS0hCMkROc1pUdHpXSWtSclgxUDRLdUt4U0xmZU9yazN5R1dtTzMxUHhrZmpSTmh6RDV6NEJMd3BtSXp1MVZjZlBBSDJxRFFOSFFObFJ1d3hRYzNLSkhxZ0ZjZUdscXQyVTNobHdXREZCZkhoRzFJZ0s5eVNqdE93YkFnbU9oMk0yVUxza0xGUUppRi9GT2JsMm1WVFVJWXpieHVFeVRMTlhwcVBGVkpBUFN1NVc0T0JscXBLUkZkclNhZHBKQ1VjNGdpaTczU25BTU1DR3hzR081MUs4NGFvWEQ4Zno1M2FzN1BISVNGeFlWRkJTRldoRm5odEd4WkJtTWdXOGQraUpnVTBHQjRIYXVyRmZBQVBNcG5JZlFzMlBpWHNhVUFiVXJGS0FxY2hVYnhsM2VoVTNWQXcxZExzakVNdFpTRVVpSitNU3h6YjhPalBVQ0lQSmRHT3d5cCtLbFh4MmYzckQrNXpiVTBFL0VWejgrVlgzZVRtckN3RTFMTXdIU0dTM2VWazg4c2M4NC9NYkVkcjBkTDVvaWVBZWlKbmJTWnBUbVNCQWlIeXBRL1VtVm8ybGVjME9zb21nY3VTeFFTNGl2aWdVSFNxL0JrL1VSdUlaQThDaXdRR21iWkVJaFZvNW9seXV0MGxzRUJCWFNKVFd5VzBydDhRY1RmU3piYWZTMWxGVHlXaVZjRlJSQ1c3V1B1a2NRbEdZa3JRUDVFd0k2UGtCQUlqMTRHbUdoanhBU0VPdUN6RUt3ajVmalFyS2hRa2k2azBiaFR3L2RBNnBRSnZFZzk1VENUNlVOTStMV1VyeUhLai9oaFFuVFJ6QWpPSkNaR1FZYTZtS2ZER0pBQk42Zld0UEVmTzhrdTJDTGtFOU1PY2dRNUJwU1ZQa1dERUxyWTZ0elFPeTVMeVo1NUg5djQvV244L3UvNHJXbitqUWhWNkFJTjVlaUJEN3Y0bW1EZmVlRWJCdjJCWSthL0RhR3BvenY2NGVkSzUzMGhqd040WW1MTWdXYVlwcmtPL3J1SlZVK3V6cFpLK2V5Ym04ZHVteTloQ0taRG82bmlraDVUcjZ3cW5KRE5nWnVCVDFUWGpWN0dBWGRXQVl3dnVvMVlEQUF5bjR1WWxuRGIxTDNsUVZZVkdDL2FJYk54WUMyTFBYK1lBeFJLUGFSZTBsaExsS3Y5TURSaDZVMkVXOVVvQUF4dXlxazJHczBodTJaOVpTRnBOUjBVY3NPSk1Xc1dUQXdsak1RRk43QlJKK3FXbWt5NldpQWZqT1BnVDR4QVZtK0JvSXhvYmg0OUNUQ1B2dXdCY0dweDNxSExzdUxxL1oxUWdKbXRYTmNzRmFEWHZLYW5BWFZSWFUwem0xU2RCVTVzWFRJMG1Td3pLamgwL3RYYjA2blZERXR2TG9VTVpSRlloSHIxZWx2ZkRLNHZCdlVMK05qT3dabDhsRUE2cEx4bUhJNzl1MmV3VngrYkpqcjNxdkhXdkVJYWxMOGlCOUcxQnZ0Y2JwVlFkZm9BSitBZnI3Q2tEM3Z3N2xueU5ZWXZRM0lmeEx4ZTJIRVA0UjRJZ1RNTEloWG10UmkxNk8rR1A4ZUN5TDljWktWNVF2RDQ5VnE3YXJIRGlDMEJQQlhxVWNuRUJDQTdJQTBGbU1XQWh0bDNPaHMydGxQVnZIZktwWEVnRWF1am9zSnJvWTB1RTJQVmVWWm1CTkVBakVTMHVYWkFXWENoc3A1UnJVTXR6eDlBb2RtQ2hPUk9ZR2FJOHdWOXhWUUdCK0pEZXAvSml2akZocVRNQ0RmUnpIM1JJV016MkNIS2dZVFFXOGhUaE9GUVcwc0dUb0R6K3h5bDBOZmFCY1VrK2IvaTRRRG43VVprZGhOUkhTWXpnVkdEZnordmJhMFVmaFU2WEVEQmIrNzlwemozSFhyZFJWcVZjRGtMU2U0aDZpR3JFd3dJREFaTVBQVUhwN1pTcDhSWWpTWGdKbDhsTjdudHlsbzVIMHM0Qzh1cW53ZkpnV0ZhdHRxUDJOVkdwZ2RuNmRZdkF5d2tyOWt0cTNTeUpuaUFPUm9KMkRBOTFqUWZFVEpLUnlRclk5WTcxNFhsRDRZcDNkWkxWbXVuNnBsUTJsc3hUejFZTUc2clVpc0M3U1hwMTd2cXV2aTFFQWFVbm1VQW9HeGM2VHMvTFplUXpLM2xQY2J6cTNFQ2ZtRk8vZUZrL3pRd3I4S2NMZFAwMkJQMldBKzY2NUp6RkFrQmIxZEJncUdYYUN0dmREOUxZd0hOQWlHTWVIb3ViVlg2RGQvUXUyQTNTWVpnVDB4dWdGbWUwQTZrMFlMMnJuSGlTREg4cFNHR3NuL1ZXZG1XV25NaWdzZ0RndlNkMkNXNW9XVFF4b0V2cEZFQmRHWk9INTMyUUVNb0RmVkhvbEpxd2tOVlduMVlkRHprRXBFdi8xcXB6ZUVZSmphZGRoRXBuVnQ2Rk95MnEzUklYY0FSbW45bzZJMnlFc1o5eXY1OGdWYlEva0dsbHBobll6U1pLbHU1Y2hHZ3IzSzRYbkFSejVCbUc2TXRrMmNOWXdpWFpReUFpOE9DRGd1QXBFUHRST2NORE9mVExSUk9CYytMcklEWGlDSkgwYWRITGd6akNaYXJDL2c4cjFYQmdzWmd4alBtNW45ZmlOT3pMZUQ4SERpNjlmUzVWRXlHRTh6NHAxcVFuQjM5WHdlUlBMSVFIUDhoWGIwSjE2TlJ3alYvRnRta3BwaUgxU0tsMzFjUUh2eHljbXpBaDRGV2JnNG55bnlnN0UrVkJoYkRRUHdpK0diOEFJcGtmb3JqSUQ2UTFXb2F5RERoUGNYdFJBaHNJMjZXdnRwNWRaQTA0VkZjZWpxWDlwa0NwcTA1N05aZGJ1OWxmeHZyM0pES3NYaUp3cGFnR00yaVZJMmtKSzVvV1FoNGYwOEE1b0JhV3BDV1BDNkFDbnF3aFRWby9waG1NQndTVWRwZE0xVVR2Y1hmWDZCb1l2aENTZUFvU2VjM3oyM0h0Vm5YUjF0Q3ByNG5EMG1EVWNFRWE3NHRYQjFqVDd0NDM0Zi96Wi9jMDMvbkVIUVBjUlZSRVdUS3VlOENITGtyU0IxWkJCVmFVaWdLMEFLT1I0K29XaGdEcmQ4TEZKN0V4ZnFBTlpvMi9xY0FuQ3lxdWlGcjJha2hIS1JITHlhaWxSNDJwR2plRmFNSGRvS0J3ZFlsNGRIT0ZEN1RndEorOWNCK0hpdFZtTzk4UjJ0L3FxVk1nUE5Xek85Yng4WGdnUndjTHhPRGJBQ3A5L2tDQTRjaUk1NGlDemYvNFllSnJxQXQ3STRsN1UxeFl5RDZ2K1gzZ0xndEttcVRRTGtTbzJKWkVKOFM2Nnprd1o1bGlubjFqOHJrTTROWWxRaDdZbFZpbmkrNXEzNnAyS2Z2U2FRZmJocUtyWXlKNWR5MmNYSWRma3VFbUJVUHZDZU12S1hXM1lzQkxZZnVZOUlIYU9PdXlnQWpYTFFabHhuMC9IRjNDR2NpZC84VHpadTJ6dzVGb3lKK3JnWGMxNFoxUTV3UjZwNkZqS1ZJc2hkcDgxU0RMQ1pLR0Z2WGJ6UXkxeitFdWZuSHlrUi9oOStyOVJXbG1OOGlnT2kxUFpScVozYmF0VUJjNGVMS2k2TDBFMWtrQWRPOUFaQ0J1M2s5S056V3Q3cTZrM2w4eGdtdFdsSGRRdWh1TzRBV1M4SW1Jc2pxbStEa0hrckZ1Z1RCZWEwemVienZmWExYSzBjdW9OcS85V1luei83UDV2aWZFOUw5eTN4QWo0Uk9RL0RpbURtQWlURVY0RElsNjN2K1JJbURINVpkT1JNZVNacm5lZTE5TS9uSURBTnI0RGFRTDlxMXVNREF0TDRxbCtkaGplUDhSckJuSTJYQ0N6MWlRTHB0cE1rQ0RFZm5OZUxlc0l5c0p0Tzl4MmNZeFJPOUhNY28zcXRjY3E0MzRhY1lQZ1ltSURaQlFHTE1GZFdTaHR2K0NFQVRaN0hlbllHcEJkNTE5QWFSUjhLd2pEWVF1RkFmYm1nbEdHNzVPMHEwNDhxTzl5cVhZR0d1c3d5WFJYeDBSSXU2QkdXZmpiQXFGOGNNUVdrQVRxNDlldWRvWkJzVFBjUGh2dU5KUFVHVis3dFdIcHB6YitIZTdFOTVuZ09TUURvMndyOTc1MEtJWG9RZGRsRlVSaWJ3ZmszV0JwcXFxV29Va3dNQk5ZelVHbGlOSWN6d0JyQU11Z016bE50QUxTNnBEMUt1WWExTkpLVUhKNWJOWk40RDVLTnV5dFhzUWJNcE9nMHgrWW1taWVhYjd2dUNUMnBUSXo0R01KbUczRTR0WDJQTXQ1WHU4ekNTaU5oc3IwT2dUME5udkZFVWdBNXNoVXBCM3Ewb3dhNTZ2aXF2VmxGNTNDUEZzTlNpVE0rbkRIVUNFclZKUm5Kd3F6Q3VyKzFWMmNIZXRvZy8xNkNab2ttdHFyMGl6L3FJenovYlA3VFgzbmQ5V2RIMTk3cFIzTUpkYXU3cFhSYVlBSnk3K0JYaWtWTW1mc2pBaTFRZndVc21ab245bE9RSEdvS0ZpMHAzTFFZSFY0U2UzUzFCYXJuWGZzdEF2cXdrZi9xbHFwWGkva0lkWmF4dVlNc1NiWEJ4NW0wZUdLaVVBQ0pra1VRRnoxUTNCT0xaT3EvamdTcFduL0hOcVdKQXZpQUxSVWxaa1lhbVFGL2RXb1JGamhQR1RSMUxhaFJsa05IVFdGWmpqekhBY1RsWTVHclZqcFJwQ0NtK1I0bTdlOTB3N1ZKeHpHOTlFa1pROXNGWS9DcE5TbVBXbFpCTGRoa0tyeG9QMzk4QWRpcW5vV0s3eVpZUEhhbndzSlZPSEhkQmYxSXZZZ1p3dW5RYTJEL0sxSFVKdlUyNXZHYXlsL2JieERYYmg3YVljUXlGaVlrS0YyT2dGV3JYSmpUQ05jcTYzUnF0YW5UdlFXWnd3OG9xRG02K0RSOWdTdTRTSjhIbVRob2RZTlFXWW9QZGpHQ1pZTENJSkFvYWt5VFNaS20zcW5iVTBVZG1aQTZ0QU42ajVnK1JFUUdSTkhITVUrSUNwbVQ3M3RpR3F6dHFPMk45b3BVWEtQVUlhZWRYNHRxV1c5ZFo5ZjR4M3FLZXJmQ1p5UTcwRmdDQzNSbUZ4Q3g0VlcvNXlwMWxGd1NVaHNJL2JXU1NZam50WHBpK3lkYitXbTltNlV6RldWVlJ3TE1oblFqeGsvZ0hKWEd5eXBPdS9DSEVKSWt1L2RhWThMVFlHczFvYks3QzNxekp0d2oxemd2ZTBsSzU0bmdRVTZtWWNXNnRsWG5Td2RQSWZPa0xGc0h1NC9Gek9vR3JKT3dPbUlVMUVMNjZoSzQ2UGpCZHRRUUhVUDFNM1N4dUxybitTQm5vRUlrbFRBaXNzcUhrMDFQWU1XMHVPTUNRT3BwblVnbm9qQllDTm1vVDNlcGZYc0M3QmNHNVZtekI3NENBQ0dGcHdLcGR5Zmh3cmEybEhKQzhHRTZsVmp2NDVZUnBEMW5SbHAwa293M0lycVFkd3FNUFNrWXpYdm9JNUxCRHJXZzJBR2pEVFFGZFdzaVl3anUzbHN4V3NpS0ZGK2hiUWhqeit0bkJlVjNsRVEyN1RwaFJWZHFhdEJ3VlRvZ2oySzlpQjErby9rMDZteXJoYWNQeHc2ZUovZHJ5L005THVkMi9FM3I3T2VxSnVHbDNPZWh3R3NWSVpZdGhJY3FiTmhwWXlrVXdGRVhLNXFHQXlxZE1FM3BpTmpxRkI3dS9OcU1EYlpCdnhhOE5ORDE3dkwvY2s2TWpqMU9FaUJialZvUytzT25ZOVVwSVdHNkQxRmlLQitWQWxFd3BwL2RLZDhKV1lqL09FSkxrbFRuZW5EMGxpb1IzWkp2VzFCRnErVC93RktVNnBsakJqeUJCdEU3c3Z2dWxXSWEvUnBtOEFOWVVGV3ZnWGRFcGtaOEVDOElna200cFVNVzhHdnJqT01ZYXNyQ0FEUTBTQUFEMzJFYmh6S3BsNVFRS0FuajAwRUdHTXg5VnV5Nk9yMXdIbGxIV3U5d042Vkt1OWxJS1hxYStVTndKUmpQZFNUcno2bnJhMFMxVUVLUU9WNVo1L29SQkRRZ3A3Z3lOb2lPV1dscG9TMnBXaGJKWXNPUWp1OGJxaGRsbk9oWDh0V1I3anN2Rnc3czZ6ejZJUzJDRncxQWVndnFXYVRYNmRSd0JLaTBPZnJpWWhadmZsSmhqQXh2MXEyT3NMTVY4M21yOU9DcEFRbWN0b2RKVVRlYlIxbkpLbTZqblF3ejZCV3l1YlVkcmluQXFkbWdIcngrSk1sQlpzZ1YvV0E0THEzZlB4bEZDU2Nlb0o3ZjNRRVovS2Rxak9YSXpwQ1U2azZuZ3ByYWpTS2tuMldkZm9MMnBpdnNxNU5nMlpiQWd6M1BKcGtxK3FGRWFRbDZkVVBTVTR2OVVsai9PUFY0UXhGL2xUZm9qYjgwSHVHeG9NVFpvU3BKMitwWUhsOGpXRkxUV2JjOGJVRU9mSmJKMTZBRVNPSmwxcEljQVozRTBYYTF6cWZRajVDT3dlVUtnWXBNOWNYczR4ZXJWRERWZUVlZ25MSTZsZHEwakdmNUYrUE9nQ0t3UENBVFh6dDE4aEtLT2tkU24wSFVPTWVDUmZlV05Ld0paRkx4ZmZQdEhHSVVlNzBDME9ISGdLRnJPT0hPb1h4cmltMkFMTlJPR3IzVVJkTWZtMzdPZ0JVTTRiUGZXN1pzRHM2akR0MUlyUEtQbzFJTW5ENXc0cnNxZTBySXAyNWI2bzJ2T08vK00ycmZqRUdpdlNBKzYrT2hiR3NDeXR3R2ZSZ0RVR0pGZ09HTFJsOEFIZXkzTWp0dzgrbEYxczZqd2xwNDRhSWFsWFEzSzA2SnNQVWtpSjg1SnVIUkFPUGp4Nm9pek1CSHlHMk9vUzlQQXlXc0d2VnA4NG5JYWdRTmI0NmozTWsrSEJyeUUxQ2ZhcHd5OUJFdDR4WVBRVjRrSUpPUHlwUUZCMFAxVzdUaHZrQlpsUjhFbGNXTG9SOWtsYkRxZjBCbG45Q1kzN2lnN3RDWGJDWXlKYXRWbGxoRTZGQko0ZVpFeDN6RzJBR3l6KzBWMkllb0YwQmtVMHVCektBbjJMd09wYW1rM2g0U3ZEbzZLd25ZWTJoVklPS2dFMEt0S21BWFZ0VzZUY0RzV1NjamtzT25ocEpvVUtqam9TK3ZnZlVTSEpFQWg1Nlh2Vm5EMEMzNlZpZ05JeUtGc0Fxcm5vZG5SYnM2dFhJMWxxR0owYVh6SHRPU3NlWFJ5bHV2aE1ES2VvYWdWVTY3OGpNdWtYblVMWVJFc2dpdUpqNXlmbWRrOUZPVEkwNHlxc3lzN3F4dFJQc0pKU2hBclZTVjBtRmhlUFdyNjI1NnQ3UHFobnZaRStiQS93MXFidEtuU2lpSnBBY3lPa2dJdUh0VkRjSlJ5YzVNc0dUbVlaeUZFOXhERFd1RVFvb3RLUTZkYml2WmZNcGJWVEc4VHJZcitvMWRKeW1XK0NsS3ZQQUhnWTBKamtxNExFdWRVMlRyb3I1T0tzaVZoeUtlckRQZm5aV1I0eUJST0tDdDhIUzFGUSs5UXNJTWhuOGRqOVZxaVBSWjFDSHRhb1hxQVVKVDlQdnFDRFJnSE5XaTRUU3IySkk2cUVFYWhrZFdWUlAyYS95QSs5Y0RXUU83ZkhMdnBPNEJFL1NNYnNkbWVXVnRCc2NNSlVIWWEwVEkvNkMyVk9IWC9Ec3dPVzRiNGNCTzRvOE5rblFxOU5HTnBOYTNsL2ZLTm1nTTJNQTF3RjhWVkt4TEFSdEZhYkZlQ1BCQ2srUEwwbUszdTVmK1g2dDE0TkNXSHkwQjZScXFQcnhkVjkxM00ybnhuWHZ0OEh5NiszVjRNWUFqclF5bksvRGpKTHdFUnRRNitmNHE5cml3TkpmeTRkcFpLVVpNWVgxdFQ3R1VjeThaVldoYTBvSkJwQWtMY0dpdWc2NURHOEkrdDBOREV2S2YrbjNWRFMxMzZvU0VnUk5iWVhQK1Q0Y0hjZ1QxZEdpWHNKUWxCZkkzWGNtMGRUT05QeCtIY1U2VG4zZWhvcllweDZOaVNUZjJ1a0RNSnZPVm1vZlVJQ3ZYN1lCWlZicFZjRU9VZTYxSjQ0Q3VNeXhtMTd0T1BoczlCYjZCQXA4OUlPS2FXckMwV1pQbDNnRjE4QTRSTmRhOEJLbzYwZFBIUytONkFFbHN0TzJWd096V2FEWHVRdHZYMi9JMFVTR0tOUGlpam9CSDFHRW9LRWVHUThFOFJIeGFxV2FSQmpMa1Z3UlBML3FCYTVOT3h3NGYvMCtEWlYyZWxFbEFSYUVFb1BNVTlwUGhPRmR1Vi9mWDdVQTJUMEJXM2o5SmloU0xFMUNGOXV1T3ErbDN4UVE5QnQrNXRhdnBqQVUzMmc2RTN1Zkw3MEhVYmtNUzBWMHhLNytvL2RUcjU2b0k5ZjhHeFJsVGhFK1RTNVNwZThoUVlwcTRPblJ2VjNTUUQwL3JFWlFYd3h4YWc3dW5Jb1FKQ3BmcUtYNjg3c2ZqbjZ6Q1c5YThBc29kWmR5R3JRaDlYRWRXK2NLY2xUYnNrNEdBYTZPV2ZTTVl1aFg2YWh6WDRwMWZCMGdJTWFBQ0l1U25UbXJaQnJIZk16NzJWZmxXZFJ2dEl3bmRYM2ppZkRxYW1OcUtNQUlUT3R3SWlLVm1OK1cvWTZDZkdndmFnOTZwUFNNNEg2U0Z5eUR3TlUwNS9DQ0FkRFdXWkNzTGR3dWNhSGZ6aFdDVHFxb2s2UWhNVmo4aGJoQytwYWpYeUtoQmhCMVdPZ2IyTGdWbkZ3cTRrNlRxczR0cG5hdFhaWitwWWM2NS9WZHNhNU9DNkpsbU9oY2xVZ3JhYWNDa0dvK2VUMmpBeEszMnM5WDBMbU5kRmpOZ1JObnBwcnlROGR3MVN5Y1ZDTXNQREpKa0xYRnFaTnhPakx6MTYvTWNnaUU5ZmVWSVJ3ajV0VDlOOUN1dGhqZzZ0MTRBQUFCZzJsRFExQkpRME1nY0hKdlptbHNaUUFBZUp4OWtUMUl3MEFjeFY5VHBhSVZCVHVJT0dTb1RoWkVSUnkxQ2tXb0VHcUZWaDFNTHYyQ0pnMUppb3VqNEZwdzhHT3g2dURpckt1RHF5QUlmb0E0T1RvcHVraUovMHNLTFdJOE9PN0h1M3VQdTNlQVVDOHp6ZW9ZQnpUZE5sT0p1SmpKcm9xaFY0UWdvQjg5Q01qTU11WWtLUW5mOFhXUEFGL3ZZanpMLzl5Zm8xZk5XUXdJaU1TenpEQnQ0ZzNpNlUzYjRMeFBIR0ZGV1NVK0p4NHo2WUxFajF4WFBIN2pYSEJaNEprUk01MmFKNDRRaTRVMlZ0cVlGVTJOZUlvNHFtbzY1UXNaajFYT1c1eTFjcFUxNzhsZkdNN3BLOHRjcHptTUJCYXhCQWtpRkZSUlFoazJZclRxcEZoSTBYN2N4ei9rK2lWeUtlUXFnWkZqQVJWb2tGMC8rQi84N3RiS1QwNTRTZUU0MFBuaU9COGpRR2dYYU5RYzUvdlljUm9uUVBBWnVOSmIva29kbVBra3ZkYlNva2RBM3pad2NkM1NsRDNnY2djWWZESmtVM2FsSUUwaG53ZmV6K2lic3NEQUxkQzk1dlhXM01mcEE1Q21ycEkzd01FaE1GcWc3SFdmZDNlMTkvYnZtV1ovUDhhN2NtTHcwWHh2QUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFCM1JKVFVVSDVBY0NFQjhmQlZ4SHRBQUFJQUJKUkVGVWVOcnNuWGw4Vk9XOS85L1BtUzA3a0lXd2hNVUVBUkVFcEFXMEltb1JwWXExaUZXdy9rVEZ1clNpWGNDNjBOcUNYYkQxdXR3cVdtcXhyZEQySXJkWHNiVEk5WXBMQ3lpaVV0a0RFUklnZXpLVFdjK2M4L3orbUhNbUo1TUppeUlrOEx4ZnIvTUtaQ1l6a3pOblB2bnVYL0g5cjEzQW1xMVZSSDE5R1RieFp1WmQrQUczejF0RjBSMnJXRHR2R0ZETGlobmptTGRoSElzK1dNNzBQS0Q4R2E2NDlGSEtMMTNNOW1jbjA0cWZGYlBHTXUvTjBTellzSndiaXV6dlJ5bGZzWUNIRnIvQzVqMEJmSVZuTWY3bWU3aW1iZ0YzL0M3S3pHVWJXVGllTGtrNEhPYkFnUVBVMU5SUVYxZEhZMk1qVFUxTkJBSUJXbHBhQ0FhRGhNTmh3dUV3MFdpVWFEUktMQllqRm91aDZ6cTZyaE9QeDVPSFlSakpyNFpoWUpxbTg5L0NORTJjaDVUUy9pcWtsTmdISUZLL0FrZ3BoZlhTazE5VHZpZDI3ZHBWWEZCUTBOdm44eFc3WEs1aVRkT0tORTByRUVMa0F6MkFQQ0ZFSHBBTlpBR1pnTmM2WElCbVBaNEpHRURNT3NKQUNBaEtLZjJBWDByWkpLVnNrRkxXRzRaUnArdDZkU1FTcVRsNDhPREJrU05IMWxpUEl4MUh1LzhMSVZKdnM3OEhJSVVRN2I0NkRxbHBHa0lJTkUxTFBhVEw1Y0xsY3FGcEd2YS8zVzUzOHF0OWVEd2UzRzQzaG1IUXZYdDNmRDRmUHArUHpNeE1Nak16eWM3T0ppY25oOXpjWExwMzcwNlBIajBvTEN5a1o4K2U5T25UaDh6TXpHTzQ2dnlzbXp1Sm16ZFBaZFhhK1F4RGtZcDkwYmVlc2hXekdEdnZUVVl2Mk1EeVZtWDZISWl5YnM1WWJsNVZ4QjJyMWpLdmk3MDdzVmlNQXdjT2NPalFJZXJxNm1ob2FLQ3BxUW0vMzU4VXRGQW9SQ1FTSVJLSkhGSFFuR0xtUEV6VEZMYkFwWWhaR3lHenhja3BVcW1DNWZ4L1RVM040SnljbkVGdXQ3dE0wN1JTSWNSQUljUUFZQUNRMFVsT2N3VFlKNlg4eERUTkNzTXc5c1ppc1QyTmpZM2xBd1lNMkowaWNQSXdndGRPQUczaEUwSzBFVHBOMDJTcXlGbkNsaFE1NStFVU41ZkxoV0VZNU9YbDRmVjY4WHE5K0h3K01qSXl5TWpJSUNzckt5bHdlWGw1ZE8vZW5mejhmQW9MQytuVnF4ZDkrdlRCNi9VZVZ0QzJybmlSbDk1Y3hZcFZsUXhiOENyTGJ5aFJLcFlHZHkzUWFsaHRaZkh2MWhQakxDNGNYM1RjQkd6ck0zTlpWaktQK1ZOTDhObmZMVi9CNG5VQjZEdVZTN3VZcU8zZnY1OURodzVSVzF0TGZYMDlqWTJOK1AxK0FvRkFVdERDNGZCaEJVM1g5YVIxbGlwcTZjVE10c3BzWWJQL0tLVVJzamIvMzdWclY4OCtmZnFNOEhnOEkxd3UxOWxDaUxPQnN5RDVWblJtTW9EQlFvakJ0cEI0dlY1eWNuSXdUVE1LYkROTmMyczhIdDhhRG9jLzNybHo1OGZqeG8ycnN5eEZLUk1uU3RyL2Q0cWNsRklLSWV6N0pBWE9NSXlrOVdaYmM5WWhPaEk1cDdDWnBvbW1hWGc4SGp3ZUQxNnZsM0E0ak0vbkl4UUtFUXdHYVdscElSQUk0UGY3YVdwcW9yR3hrWWFHQm1wcmErblZxeGY5K3ZYcitMTzA2Z2wrdDc2SWNUYy95Wk5LMURxMjJJWmNjRDJUSnc2amlGbzJyMXZEQjFWUWV2TlNWczRmVDk1eGVZcEtWc3lheHJ3My9mUWROWkdKbzB2QXY1WDFyMnhnVDZ3dlZ5NWV5Wk9UaTdyRXlhcXVybTduZGpZM055ZmRUcWVnUlNLUmRvSjJCQ3ROMkc1bmlxQ0pEcXl5ZGhiWnRkZGU2MXF5Wk1rWE16SXl2dUJ5dWNZSUljNEZCcDltMS9RdTB6VGYxM1Y5czkvdmYvL3JYLy82Kyt2V3JUTWQ0cFlVT1NHRW1jNmlTMmZOYVpvbTAxaHh1Rnl1TmlJbnBTUXJLeXZwbmpvRnp1djFKcTIzek14TXNyS3lrdTVwdDI3ZDJybW54Y1hGU3FFK3JiQjkvNmF2c0c3OU51cklwYkJzTkZOdm5zYzkwNGNkSjFHenFXWDlpMCt3ZU5rNk5wZFhFYUNRMHZHVHVmbWVlN2hoZE9jWHRlYm1acXFxcXBKV1dqcTNNMTBjVGRkMVlyRlkwa0pMRTBjVHpqaGFHc3RNcEltWDJWYVorTjczdnVkNitPR0hML0Q1Zk9kcG1uYStFT0k4SUVkZDFtMW9rVkt1ajhmajZ3T0J3TWE3N3Jwci9WLys4cGQ0R3FFem5hNnJRK1NjY1RtWmFzbWx4TitrbEpLTWpJeDJzVGV2MTVzVXVJN2liMDczdEtpb2lGNjlldEczYjErNmRldW0zc1hQR21OVHRLTHJPdnYzNzI5anBUVTFOU1d0dEtPSm82VkxEdGlDbG1LZEpkMU1oMFdHVThpa2xGcERROE93bkp5Y2kxd3UxNFZDaUltQXV1cVA4ZStVYVpwdjZicitkblYxOWRzREJ3N2Nib2xiTzZ2T2FkSFoxcHZ6MzNhQ3dTbHlVa3A4UHA5TWwxeEl0ZDdTeGQ5czY2MTc5KzV0ckxkKy9mcmg4WGpVdTZlRTdiTng2TkFoS2lzcjJ5VUhuRzZuTFdxMmxXWmJhRWNyYUlaaEpOMU0welE3RkxOUUtIU3gxK3VkcEduYUpHQ0VlbmVPSy8rT3grT3YrLzMrTndvTEM5OG1rY1UxVThXdUk1R3prdzIydXdyZzlYcVRGbHhIQW1kYmNMYjFab3ViMHoxTlRTNlVsSlRRcTFjdjlZNHBZVHQyZ3NFZysvYnQ0OENCQTFSWFY2ZE5EaHlwZkNQRjdSUXBpUUduZFNaU0xMU2ttSVhENFNsZXIzZUtFR0lLMEZlOU15ZUVLc013L2hFSUJOYm01K2V2cGJWY0phM0lPV055dHFzSzRIYTdwYk04eEJhNUkxbHZxZTVwYm00dWVYbDU5T2pSZzRLQ0FvcUxpK25UcHcvOSsvY25PenRidlZ0SzJJNk8vZnYzSjYwMFp5d3RYWElnTlphV3hrbzdrcUNKMUpoWk1CaTh4T2Z6WFNXRXVGS0pXYWNRdWRWTlRVMnJpNHFLYkV1dWpjaWxXbkgydngzdWFUdUJjN3ZkSFFxYzAzcExUUzZreHQ1S1Nrb09rejFWS0dFREFvRUFuM3p5Q1ZWVlZXMnN0T2JtNWpZMWFVZFpaQ3RzMTlOMk53OWpuV21OalkzRGMzSnl2cVpwMnRXZ2FpMDdLZHRpc2RnckJ3NGMrRnRwYWVsV2g4QVpEcEZ6eHViYVdIRjI5dFFXT1V2WVpEcjNOTlY2YzlhKzJabFQyM3JyMjdjdkF3WU1JRGMzVjcxRFN0amFXMmwyZ2lCZHhyT2pFZzViMU5JSm1yTkx3Q2xvdHBpdFdyVXFZOUtrU2RlNjNlN3BRb2pMMUdYWWRUQk5jMDBvRkhyNXFhZWVldVhCQng4TUEvR09SQzZkd0RscjROSUpuQzF1SFpXR3BHWk83Y1NDc3Q2VXNBRVFDb1hZdTNkdnV3U0JiYVcxdExRa1kybEg2Qnc0bktBSnA5dloxTlEwSWpzNyt6cE4wNjREMUpYWXhmOG02cnIrMHY3OSsvODZhTkNnYlE1WDFVaDFWUjBDSjQ4a2NCMWxUdTNZVzA1T1R0SjZTMDBzbkhIR0dXUmxaYWwzNW5RVnRvTUhEeVpkejVxYW1qWUpnaVBWcFRsRUxhMmdXUVcxYmR6TlVDZzB4ZXYxemhCQ1hLc3V1VlBTaWx2WjFOVDBVbUZoNGV0U3lyZ1F3aWx3aHRPQ3M0WE9HWWRMRmJpT1ltL3A2dDVzMTdSbno1NUoxN1IzNzk2bi9YdmlQcDErV2NNd0tDOHZaOSsrZlJ3OGVERFpFdFhjM0l6Zjd5Y1lEQ1pGTFJxTnB1MGVzQVhORVVkTEsyZzMzbmlqYThtU0pUZTYzZTRiZ1F2VXgvL1VSZE8wYWZuNStkTmlzZGc3TzNmdS9QTXR0OXp5MHNhTkcrT1dtMnBJS2R0bFZnM0RrS1pwU2szVDdGaXNkSllFeGVOeDZTd1hzajBFWnlqRS9xTnIveEVPaFVMSmRxMnlzakpjTHBjU3RsT2RwcVltOXV6WjB5YnI2V3lKT2xLeGJScTNVemk2QkpLQ3RtblRwdHdSSTBiTWNybGNONkZxems0djkwZUlMMlZuWjMvcFgvLzYxemNqa2NqeVpjdVcvZVcyMjI3elc5WmJ2Q09CazFKS1I2RzJVK0JrYWd1ZXM5ZjRTQUpYV2xwSzkrN2RsU3Q2cWxKWldVbEZSUVdWbFpWcGE5UFNGZHNleGtwTEcwUGJ0bTFiajdLeXNsdGNMdGN0d0NEMU1ULzlNQXlEeXNwS0Jnd1lZSCtyUEJLSi9PR1ZWMTc1ODNYWFhkZG9XM0QyWWNYZ3pIUXhPR2ZkbTlNOVRTMExzWXQ2MDlXOGxaU1VNSERnUUVwS1NwU3duVXBJS2RtNWN5ZWZmUEpKc3VEMmNGblAxQTZDRHR4T084dXBTU25GaHg5K21IZldXV2ZOZHJsY3M0RXk5ZkZXd3VZUU5wczk0WEQ0OTMvNjA1K1czM3JycmMxSEVEalQwWFNmMnJrZzAzVXNkSlExdFF0NkJ3d1l3T0RCZzdHNkpaU3dkV1VDZ1FDN2QrOU94dE5xYW1xU1dVOW53VzBIcnFkSWJZVktzZEswK2ZQbnUrYlBuLzlObDh2MVRWVDkyUWw4WXc5QjlRNW9xSUJ3VStJQXlPeWVPUElIUXZFUXlPM1ZtWVROL2tPN0xSUUt2ZkQxcjM5OTJlclZxMk9Xd05raVp6b0V6a3kxM3B3QzUvRjRaRWY5cHM1cElmbjUrZlRzMlpQZXZYdlR2MzkvQmcwYWROclV2SjJTd2xaZFhVMTVlVG43OSsvbjRNR0Q3VW81VXVOcHpvQnNPcmZUVGd6WVdjNUlKSEs5eCtPNUV4aW5sT1lFMFZBQnU5Y2x2aDROK1FOaDBNVEUxMDRpYkE2QjIrajMrNWQyNzk3OUZTR0VuaUp3N1Z4VVJ3ZURUTFhlVW12ZVVndDY3WktRM3IxNzA2OWZQOHJLeWs2TGNVaW5YUEtnb3FLaVRaTEFucHZXVVR6TmFhWFpnVm1uMitsSURHaWhVT2dTcjlkN2w5WHlwRGhSYlBrclZIMTQ3RUs0c1FMNmpvSVJYKzFjMW9RUVk3dDE2emJXTUl3cmEycHFsdmJ1M2Z1ZlRvRkxUVExZQ1FacldJSk1tZDluLy8rb2tneVJTSVJ3T016QWdRT1ZzSFdWZU5xT0hUdllzMmRQc2pYS0hqUFVVVHl0QTllem5kdlowTkF3T0M4djcxdENpRHVVeXB4QTRoSFk4RUxDL2Z5MFZIMlFjRmZQdlE3Y0daM3ExOU0wN1N1OWV2WDZTaXdXVy9MeHh4Ly9mdlRvMGVVT2diUExSQXpBTkUzVHRQZGIyTmxUdTJYUEtXNnBJbWNud0ZMRkxSS0pNR1RJa0ZNMjduWktDRnM0SEdiSGpoMVVWRlMwNmZlMDY5TTZpcWVsV21tV3FDWGR6bG16WnJtZWUrNjV1MTB1MXh4QXpXRSswV3hZQ29IcTQrUEd2djluR0h0VHAvdzFQUjdQN0ZHalJrMEpCb1BQVHBndzRmZWJOMitPQWJwbHZXbTJpeXFsTk8xeDVsWUNTenFISzZRS1hMcFNFV2ZZeFJhM1kxc2tvNFR0aE5EWTJNak9uVHVwcUtoSURvUjBUdVZJVjU5bS9SVnppcHJUU3RPa2xDSVVDazMyK1h6M0FsOVdDbk9TM00vaklXcE9jZHZ5UDUzT0xYWFFOeXNyNnlmdnZ2dnV4VFUxTlV0NjkrNzlsaEFpNW5CUEJhMDlxVExGZ25NS25FeTNGQ2lkZTJwWEFRd2VQSmdlUFhxY1lzTG1YOEdNVWZQWWtIc052L3Z3VVNaMm9SZGZYVjNkcHB6RGJtSlBWM1RyS09VUXRubWV4a3JUS2lzcmV4VVhGOStyYWRwM2xMcWNKQm9xamoybWRyUnVhZCtSSnpTaDhDbmMwNHQ3OWVwMWNUUWEvZlhycjcvK3V5bFRwaHl5M0ZQTktYQ0pYVFRDN01oNmM3aXFISTJiT25qdzRGTXFxZEJsTGJiOSsvZXphOWN1UHZua2syUTVoN09USUYyU0lOVktNd3pEYWFWcGtVaGt1c2ZqK1E0d1JxbkxTV1RYRzYzLzFnL3gwSS8vd2JJR0dEZmo2eXlma0FrWVZINjRpWWRlM2N2NnlnaGtaak42NUFqbVRSL0NhS3NIUExwL053dFdiT0dWdlg0Q1pGQTZ1RDkzVEIvTDlOM3JZT3pBVG44S3ZGN3Z0eTY3N0xMejYrdnJueTBvS0ZndGhIQlo3cW51aUwwSlovd3RqY0IxR0h0THRlQnNnZXZ5VTBMODVheDdaUm51U2FQbXNRY2c4QkkzbDY1ajVrc2JXVmkybFJjWFBNVGlOVnVwaXZyb08yd2lOODlmeUMyajh6ckZheTh2TDJmMzd0MUpVYlBMT1ZLYjJEc1NOV2ZHVTBxcFZWZFg5eXNvS1BpdUVPSXVwU29ubWNBaGFQd2srZCt0cjI5a1JVUEt0ZnZ4djVqeGJEbFZlQ2dkV0l5dm9aWU42OWN6b3g3V2ZtY0lKYzE3bWZQNE83d1doc0xpWW9iUnpJYXRPNW4zZUl5OEg3cVlmTmFoazFMbmRxd0lJVWJuNStjdmpzVml2M25ublhlZXYvamlpeXVGRUpyRFBZMWp0ZkxaazBUc3pLbFQzSnhiejV6TGcrellzbk80UXl3V282eXNLOWFabDdOaXpod1dyZG1HMzVlTGUrYk1DL25kc2plcDhwWnk2UTNYY0dtUm4zVVB6V0wrS2o5OUw1ek9IU1hsdkxKc0ZRdG4rY2xidTVUcEozbXAxUGJ0MjVPRnQ4NmV6OE5rUG9XejE5TlJsNlpKS1VVa0Vwbm04WGkrQjN4QnFVcG5pQzlzYi8xMy9RNFd2TnBJTE9VdVc3ZldFczNMNXNJckxtZnBoQndJN1diV0Q5N2h6YjM3V0I4YXd1U0tmV3oxWk5CMzJGaFczbm9HUmJUdy9LS1hXRmhSeGFxOU1MbStva3NJbTQzSDQ3bHQ0c1NKWTJwcmF4Y1hGUld0c1dKdm1pVnF0dlZHd25DVHFkYWJTSW5Ea2VxaU9qZW4yUUkzZE9qUUxuYmhSS0hvR3VZdm44cmt2Qlc0YjVsM0phOHRlNU1xMzJobXpyK1RpWlR6VEhrZFVNclVlZk9aTnl6S3BXY3RadFdlWFBMOE9MWXJuMWlrbEh6ODhjZnMzcjI3emNKaWUydVVQWmtqSlVtUUttckplTnIyN2R1N2w1V1ZmVi9UdEhsS1RUb1I5UlhXUDJLcytlc0hiS0FINHdhMnNLRkNUOTVsL0xWZlkyTzZBVkFlTDNrZXlCczVrYmRHcG50d0Yza2VTendIanU5U3AwVUljVzVoWWVGemtVamtpVC8rOFkrL25UMTdkcU5sdmVtMGpzZ3liRUZ6eHQ3c1FhZE9jVXRkKzVnUXVTaE5GZS95NXlmMlVqanJQM2xzNXRsZHFCeGtHTlBuRDdPTnQzUXh0akltWGptS0o3Wjl3T0lyeDdKbTFIakdYM29OTSsrWnpMQ1Q1SW5xdXM3SEgzK2M3Q1pJTGJ4TkxlZXcwdG1wV2M5a2dpQVlERjdvOC9ubUNpRW1LeVhwWkZndFV0RzltMWl3S1VMZkN5WnljM3hkRzJHenFmMXdFd3ZlYTZaMmJ4VWI0aGxjZU8wb0pqczMxQjNhelVPdlZsRlpmNGoxRlJwOXg0emxqc0ZBUE5wbFQ0L1A1N3ZuNXB0dlBudlNwRW5QRGh3NDhGMHI5aGF6WEZNaGhEQVNobHByM00zcG1xWk1Fa2tJV3p4QzNkNHR2TDUvUHdmOEp1Nk1Ya3lkdklNUFA0eHo5dGxuZDhtMWYybVRCOFB1WE03YTBTdFl0dXcxMXExZng3SkhYMlBaNzY1azhkb25tWHlDeFMwU2lhUVZOYnZ3TnQwK0FvZWxsdXA2YXJGWTdIYVh5M1VmMEVlcFNDY2swZ3cwOC96eTNWUmw5dU9KcTN1UnR5TDlYZjE3OTdGcWt6L3huN3h1REN0T3FjZnkxN0ptVXdWMUFPNXNocDNSTGJFSS9MTVUvSFlDTkUyYk5HREFnR0Yrdi84LzgvTHkvZ3hvbG51YXROeHdKQlpzajhleTNvVGxzbUthVVJxcnlxbHRDcU9qNGMzcnlhQnpoelAyM0hNNFM2dGc1ODZFcTNyMjJXZVRrWkhSdGM0UmdNL3lVYU5Sd0wrZVorYk1aZEZyZWN4OGNpbXZibHpMUTZPQXVuV3MybnhpWDF3d0dPU2pqejQ2YkoxYVNseE54R0l4WWZkOFdtYTJacHFtVmxWVjFTY2Vqei9tY3JtZVVLTFd1YW45MTBZV1Y4SzRxOGN5OVRDVHJzdXUvaHA3bnY0R0crNDlpN05DMVN4KzlsK3NDVG51TVBnOE5qNTlFOXNXWE13MUJVRmVXL0U2aS9ZYXA4cHA2cE9ibS92VGFEUjYvNnBWcTBxa2xCbldSOWtMZUtTVUxpbWxabC8vVmd4TjJONU1KQklSNFdBejFRMGhvcVlnbytnTVJvNFl6QmtGR2VqTk5SdzRjSUNLaWdwMjd0ekpSeDk5UkRBWTdHSVdtNitJdkZ3Z3NJWUYwMlpSdm5BaGViVnJXTFZxSFZzclAyQnlTUzNyeWdGdkdhTk9ZTElrRUFpMHNkU2NMVksyb0RuSGQ5dXVwMVdmMWlickdRd0dKL2g4dnZ1RUVKY3EyZWprWkJpcytMOERCSUFOeTEraWRIbnJUUnVXLzRVSis3L0NxNWQ1cWRWZDVCWGtVT1J4VVRSNEdOZVViR05oUlMwYnFtRmlmZ3VWWVFOZlhqZEtzc0JYMEorWnc3SjVxVHJJNXAwdGNNN2dVK1owZWIzZTJWT21UQ25kdTNmdk0yZWNjY1o3VnR6TlRpd0lJWVJobXFacEwzaHVHM2R6aVc3ZE1tVkxNRUs0ZWpjYmF6OGh0N0F2WldjT1lxakRYYldQczg4K3U4dE1CM0hqbThnOTg2OWs2NEkxN0NrdnB5cGF3cDFQTHNYLzBBSit0KzUzTEk1NUtUenJVdTZZdDVCYlRsQlRVWE56YzFMVTdHYjIrdnI2ZHU3bllUS2Z5WGhhTkJyOWh0dnR2aDgxL0xGcmtObVRzalA3Y0tFajVGRmJlWWh0ZnBQYzRtTEdueUZZcy94bDVtMkZjVE8reHZJSk9SQnE0SU1HQUMrRm1WQzUvblV1L1o5R2NzZGN6RnUzOWllUE1PWFZZVUFqTDgvYjZYcEdqNE5yZXNtQUFRTUdORFEwUEpXZm4vK0s1WnFLRk5jVVo5ek5Gam1QSjFOMEwrd21QZWdFQTM2YWF6L2hnOW9xYXVPWGNxSFYyZURzVVQzNzdMUHAxcTFiMTRpeGxVMS9rclhUbmQ4ZXo1M1B2c3FkSitFRk5UVTFmV3BSY3lRSnRGdHV1Y1cxZVBIaUgyaWE5aUNuMlc2SExrM0JjQ1pmZXluT3JNNzYzLytabWVzakRMdGtJbytlbDBtdHB5K0ZXL2V6WWZuTFRIb3ZIMTkxTGR2OGtIdm1FS2IyZ2hMUEVNYXRXYytHVGV1WVZGMUVtZDdNaG1vVDh2b3hjMWdtRkE4OTVVNmJFS0tzUjQ4ZXZ3eUZRbjNHangrLzVLT1BQdEljMXB0dWlWa3k3aGFQeDl0a1RLWFhLM01LZWxQWUcyTEJJTzVvTTQyTnliS1JOc2ZaWjUvZDZVZU9kNm9QZkdOajR4RkZMWjM3bVpva09IVG9VTCtDZ29MN2hSQ3psVkowTVlxSEp1YXVIWWFpTDB4a09adFlzR1l2NjNkVlEyWWU0eTRZd2Z5ckJ5VW1GUlFNNGRsN1hTeGFzWVUxZTZ2WlFBWm5EVHVMTzZhUFlXbzNvR0RncVhyMjNKbVptZlBlZSsrOTR0ZGZmLzAzbDE5K2VhVnR1Vm5XVzl5K1k3cWtRdUtMajh6Y0FqSmxDODNONllYTkZyZk8zRi9hYVFaTk9rWE56bjdhb3VhTXFhV3gxT3pXS00wMFRSRUlCTDZRbVpuNWdKcVoxb1hac0xSTjk4RnhwY2NBR0RmcmMzbm9veDAwZVNJd0RHUDF6cDA3Rnc4Yk5td0xFTFd5cGpxUVhBK29hWm9VUXBqV2RGNXA3VlNRenBIajlrVGU3dDI3VTFCUVFLOWV2WklES3p1enVIVUtpODNwZnFhSzJ1SGNUNnZmTStsK2hzUGh5N3hlNzRPb3liWmRtek12Z28wdmZINlBmUnJnY3JtbURCMDZ0S0N5c3ZMcGtwS1N0NnhFZ20yNUlZVEFtVlN3ZzI2dGxsc3lGc2ZoakovaHc0ZDNTcmYwcEF1Yk0xSGdGTFhHeHNhMEV6cFMzTStrcUVXajBSbHV0L3RCNEV5bERGMmMvSUdKS1J6SGU4SkhKNS9zOFRuRTNjYjI2ZE1udjY2dTdxbkN3c0svU1NtZFNRVWRSMUxCSVdEU2NsM2JxVms2Z1JOQ01IejQ4RTZYVURpcHd1WXM2WERHMUd4Uk81ejc2UlMxV0N4Mmg4dmxlb2lUMXZDbE9PNk11QnI4aDQ3ZlRMWWVBeEtQZVpvaGhCaFVVRkR3VUZOVFUwNzM3dDMveTJHNXRRbEYyZUlXajhmVGlsdEhvbVlmSTBhTTZGU2xJQ2ROMklMQllJZUpnalIxYXNLNTQ5TXBhcnF1ejlVMDdTRWdRNm5CS2NhNFdjZG5pbTZQQVREbSt0UDVUQloxNjladGZrdExTM1pPVHM3dm5XNnBVN1RTaVp1ZFhFZ1Z0RlJoMHpTTkVTTkdrSjJkM1NsK1llMWtQS216VGVvb3NwL0N1VUhLanFrOS9mVFRIbDNYZjZocDJrSWxhcWNvN2d6NDBoMEpGL0t6dUovalpwMXl0V3VmZ296czdPd0hRcUhRN1ZkZWVXVzJvMVBCQTdpdFRnV1hhWnJDTUF6aDZGSWdHbzBLKy9NWURBYngrLzAwTlRWUlgxL1BvVU9IcUt5c3BMeThuSTgvL3BoSUpOSXBmbG5Yd3c4L2ZFS2ZVTmQxL3YzdmY3Y1pQZVMwMUZKaWFzTGV5RzRuQ3FTVTR0MTMzODM1eWxlKzhpTk4wMzZnUHYybkFjVkRFN0d4VUpQVlMzcVVWdG81VjUvUUtSNVNTdngrZjZldThmSjRQT2RObXpZTmw4dTFkZDI2ZGZFT3BuZklOSWtEa2VxU09wcnMyeHhGUlVXNFhLN1RSOWlrbEd6WnNxV05xS1hiSkpVNmRzZ3BhanQyN09neGRPalFIMnFhOWwzMWlUK055T3dPSmFNU0l1ZkxTVGhLbmd5SVdUMk11Y1dRWFpnUXNpR1RvUFNDeE0rY1FMcUNzQUc0M2U2eDU1OS92aWd1THQ3K3Q3LzlUWGRtUmpzU042Y0FPdXZaVWdYTy9scGNYSHhTUng2ZDBCaGJSNzJmVHZlem81SU9LYVVvTHk4djZOKy8vNE5DaUx2VkovMDBKYmRYNGxBTmNwOEpuODkzKzIyMzNhWjV2ZDRsdDk5K2V5MjB4czRjVnBsaEdJYnRhYlZKS0RqamE4NDRtOHZsd3Q1YVAzejQ4Rk5mMk96SnR4Mk5IanBNOFczU1VsT2lwbEFjVjNHNzdhYWJiaUlhalQ0M1o4NmNCcWRsbGs3Y2NHUkxPeEsyVkhFN1daTjRUNGdyV2w1ZW50d21kZkRnd1E3SGVhY3I2YkJqYXBiN09VZGRqb3JPU2xkeFJWUGMwakVqUjQ2VVFvaC92L25tbTRabGpiVnpTMVBFcmwyOHpYa09uTzZweStVaVB6Ly8xTFBZOXUvZmY5UXh0WFIxYWs4Ly9iUm41TWlSRDJxYWRvLzY2Q2dVeDUrTWpJemJIM2pnZ2ZpbVRadWVYYjE2TmVrc045TTBEV2d0QmJIS1JlVGgzRkdYeTRYVnBuWEN0MTk5cnNKV1hWMmRYSkdYdW5qbGNERTFaNTNhN05tekg5UTA3ZnZxOGxNb1BqOHlNek8vdFdMRmlsaDJkdlp2YlVGemlKdkVXdEpzK2FiSm1Kc1FRanJkVU9kaHU2TzJ1SjNJdmFXZm03RFpHOXFkN21kSDQ3eFRZMm9weGJjUHFzdE9vZmo4eWNySytrNGdFSWprNXViK2tiWlpVcGxheEd0L1h5U1FIY1haYkt2TkZyY1QxVFQvdVFoYk9CeHVJMnIyNHBYbTV1YkR1cC9XS085a201VFZVYUJRS0U0UU9UazUzMmxzYkF6MTZORmpwV1cxU1ZKaWJKYTRPUzAySVlTUXRxZzVCYzYyMkd4aE8rZWNjOGpNek94NndpYWxaTWVPSGUxMkZLUmFhdFkyS2VjU1kreUZLOUZvZEliVis2azZDaFNLRTB0RzkrN2Q1MVJYVndlTGk0di9MaFA5VjIwKzMvWlhlMkNsWmEyMXNkeWNGcHZUSmZYNWZJd2NPZkp6cjNFNzdzTG1GTFhVN0tlOTk3T2p5YmVtYVlwd09IeVpOYVZETmJRckZDZUhvcUtpb3J2Mjd0M3JQK09NTS82Wllyblo4VGE3OUFPSG9BbE4wMlJIY1RaYjJESXlNajczTXBEakttd1ZGUlhzMmJPSHFxcXFwS1dXNm40NnVncElLZXZRQW9IQUY2eDVhbXIwa0VKeEVoRkNET3Jmdi8vdG16ZHZiaG85ZXZUSGx1V1duTnNtaEdoanRaR1NJVTJOczduZGJ0eHVOMTZ2RjYvWFMwWkdCZ01IRHV6OHdsWmRYWjBVdGVycTZxU28yZjJmRHZlelRhdVVjNXgzWm1ibUE2Z2hrUXBGcDBEVHRDK09HREZpOXNxVkt4K2RObTFhbFVQY3BHTjJHNlpwbW5hbU5KM1Zac2ZhbkJsU2UwTHY1NVVwUFM3Q0ZnZ0VrcE02cXF1cjJ6UzFPMk5xNmNvNnBKVGlsbHR1Y1ZrN0N0UTRiNFdpRStGeXVTNi80b29yYW9jT0hmclk5dTNielJSeHN6T24wdDRxYjR1Yk01bGdXMnoyVjYvWG0zUkpzN0t5UHBjNWJwOVoyS1NVN1ZxbG5KWmF1cWIyMUF6bzRzV0xmNkFXcnlnVW5ST3YxM3ZqdSsrK1c1T2JtL3Q3UzlETUZIR1RxWmxTVGRQYVdHN3BTajk4UGgrWm1abU1HalhxdUNjVFByT3c3ZHk1azMzNzlpWExPbzVtVFY1S0J2UWJxbFpOb2VqYzVPVGszRk5kWFgyb3VMajQ3NENaeGkxdEUzT3p5ajZTNG5hNFdGdFdWaFpEaGd6cFBNSldXVm5acmxhdGcxWXAwbVZBZzhIZ0JHdVpzZHI3cVZCMGJ0eEZSVVYzYk4yNjlkQ3dZY1BldDZ3ejIwcHJseW1OeCtPeW80TGRkTEcyN094c1NrcU8zMGIyVHkwb1RVMU5hV3ZWT2hBMWtiS2xYVHR3NEVBZm44OTNIMm9BalVMUkpSQkNsQTBlUFBpV0YxOTg4Y0FOTjl4d3dPR1NKaTI0bFBxMnBFdWFUdGljNHBhVmxVVk9UczV4R3lEZy9qVDdHdzNUWk0rL3QxSzVldy9WKzZ0b09GUkRjMzA5Z2FabVF2NEFrV0NJU0NoRU5CSkJqOFNFcnNlSTYzRmhHcWFRTWlGc1BUM2hlYUpwMzZYcWNsR2NuRStwQmk0UGFKN0V3RXB2dGpvblI0SEw1YnA0MnJScEZjQlR0TWJiVE5Ja0UxTEZ6WmxJY0xxa3prVEN5SkVqajh2MDNVOWxzWlh2L1lUS3FvTlUxOVRSME5CSXM5OVBTMHVRVUNoTU9CSWhFbzBTamNYUVk3clE0M0hpY1NNeE5saEtJU1ZhckhyMzdVS0l1OVJsb2pocFNCUGlVU0FLc1JZSU5VSkdMbVRrMmQ2VW9nTXlNakp1cnErdnJ5Z29LUGdyWUhTVVRCQkNTRHZlbG1xNU9kMVJwN0RsNU9Rd2VQRGdFeTlzQjZ0cjJGZFp4YUhxV3VvYkdtbHE5aE1JdEJBTWhRaUZJMFFpVWFMUkdIcE1KeUZxY1JJeE5TbWtsQ0pZdGUxQ2w4dDFuN284RkoxTDZBd0lONEVlaHB5ZUNZdE8wU0g1K2ZsM2JOMjZ0Y0tLdDVrcGg1UlN5b1MyQ2VMeGVESTdHbzFHNlVqY01qTXprK1Vmdlh2M1BuSENGZ3FGK1dSL0pRY1AxVkJiWDA5alV6TW9NaklCQUFBZ0FFbEVRVlQrUUFzdFNWR0xFSTNGaU9reDlIaGM2UEU0aHRFNmdtajdodi90N3ZQNTVnSjkxS1doNkpURW8rQS9tQkEzbCtkemY3cDE2OVoxbWwvOW9vc3VPcGE3OXdadUF2YVNpTEcxRVRaQVdpVmRwbUVZeE9OeEdZdkZSRFFhbGZhMnE1YVdsdVMycStycWFxcXFxcWlvcUdEbnpwMlVsWldSa2ZIcFc4V1BTZGoyN3R0UDFjRnFhdXRzVVF2UUVuUllhckVZc1ppT3JzZUZyc2N4REJORFdpNG9pTEl6Qm54ZndHVDE2VkYwYXN3NGhPb1R1eFZPQUdWbmZyYSt5ZkpkMndIdzlmM2lwMzZNYU5XN0FGU2QrZVN4L05nbFlUTzJiVkQ1OTM5TFlxdThnWjFJQUNrUVVrZ3BNRTFKWEVMVWdHQmNhQ0ltTldKb0lvSkxoSENKSUc2WEg3ZXJDWStuRG8vM0VBY1haWEhHR1dkdzVtMGZmYXJmNTZqdDdmMVZCNmlzT2toTmJSMzFqVTAwK3dNRVdvS0V3bUVpNFVSY0xSYUxFZE4xZEQxTzNEQXdERk5JTXhGWGl4emNPVTNUdEhucVU2UG9NcGJiMGE3Nk80M0oxTHpmZW5mZ2p5ZVFtTVRqQTd5V3dlU1NTSmNFVFNLRmlSUUdramdtT2dZeDRrUmxuSWpVQ2Nzb1FUTkt3QXpUYUFTcGkvdXByYTJscHFibVU3K3VveEsyUUVzTCt5c1BjS2ltbHZyNlJwcWIvUVJhV2hMSkFxZW9XZFphc2w3TnlvQlc3M2l2bjhmai9wNjZEQlJkaW5CeklzbWdPTHhQNnVrKzY5bWlXYjA3RURkTmdtWTZ4RTJYcGtpS0d6b1JxUk9TVVZyTUNINGpUR004bUhSUFc0eFB0NEQ1cUZ6UlQvWlZjYUM2aHJyNkJocWJFM0cxWURCTXlKRUJqU1dTQmJhb1lab1NLYVdRU0swZ3Y4ZDNnUytvUytBVTh0YWFZd1NlMjBIa1g5VVlWYUV1OFpwZGZiUEpPSzhudWQ4Y2d0Yk5leFEvSVJON1MzMjVKKzAxZi9MWEozbUdhL241MWIxUDl0bkQ5L09iS0xpaWpzWXhMeE9PdGQ0aUVLTXZ6UnZ4ZFdyNXRlMlNTakNFTTVrQTBrUktBeE1CYU5JUUxpR2tTMnE0aFlaYnV2Q1lVYnpDamM5d296VTNrNW1aU2FVZVlhanIyRVB5UjdUWTlsY2RwT3JnSVdycjZtbXdrZ1dKREtpenNWMXY2NEphR2RDRUM3cHJ1aXJ0T1BYd1AvRXh3UlY3dTR5b0FSaFZRWUlyOXVKLzR1T2oveUU5ck43c284Q25lVzUrYitCUEpqZ3NOaS9nQWR3U3FRR2FCR0ZDV3BjMEtuWENVcmRjMGdoK3Y1K21waVlPNlUwYzBCdVByOFVXRElhb1BIQ1E2dG82R2hxYWt2VnF3WkF0YWpHaWxxakY0M0VSTjZ3c3FPV0NWbjY4dnBmSDQvNk9ldHRQUFNML3F1bXlyejI2cWY3bzd4eVBkc25mc2ZvZmovRFMzbUlLM0g1YUdnTzRoMDFrY0dBTGU1cjhOSWVMR2YrTm16aTM2UGhtZlh0NXV0MEVmSnpPYXBOSUNVS2FTRk1BQmxMR3BTazBZVWczY2FKb3VIRVJsaTY4cGhzUkROTGMzRXl0SGlWSHk2QzdLNHNzelhkOExMWkV2VnBOc2w3TkZyVkVFVzRzVVlTYkdCaHB1YUFtcGpSdEYxUVVGeFhkQzR4Uk1uQnFJUU02WmtPMHk3NStvemFNR2RDUDhwZnR1akcyZU9HWCtPcnM3M0xydHk4blkrTmE2cys5Z3h2dWVKQ1pZLzI4dmE3aXVEK2ZRSXdDcGx0V213L3dTaXZXWm1tTklHRzFZVnR0Y1dtSUdBWXhhUkNWT2hFWkl5U2poRUloV2xwYWFJd0hxWTM3cVlvMUhCOVg5RkIxTFFjT1ZWTmIxNUFvN1docG9TVVlJaHdKRTdXS2NHTkphODJ3dXd2c0xLZ0lIZGd4V2RPRXN0Wk9RVVN1cDJ2L0FvWkU2K3Evd3hIeGtKMmJtMWdha3BsUGRrNHgvZnNsZnVlYzNFemlrYy9OeGY3bUgvLzR4M1BUdUtSMmxsU2taa25qR09qRWlVa3JVMnJxUkNJUlFxRVFUVWFJK25pQVEzb3pOYnIvc3dtYkhvOWJMbWc5RFZacHh5ZnZyT0t2ZjkvQTN1WW9rVmcwVVlTcjY4U2pBZEhVN0Nlc3QzWVh6SnB4amN2bjlkNmI3ckUzLy9SNlNzKzdseGNQcE54UTl6SXp6cHZHUSsrbGNSMys3eWVNdldrWjVVcFRUaU95eVBqMUxmVForVFd5Q3gwWDdJVHp5Rjk5QzcxMzNrM3ZkNjZueHpmN3Q3bUlqM1M3NHZPblQ1OCtNd2VJN2hrT3E4MWpoYjAwYWNYYVpFTFlFdUxXSmtzYUowSkMyTUxoY0tJRUpCNmlMaDdnb041SVhCcWZYdGlTcFIwTmpUVDUvYlFFZzBSMEEwdy9GZVhWaEdLNm5RVWxiaVJNZGRsYWlLczk5L2pQN3dhKzNPR3p4ajVrMGE5ZXAvYW9YbUlMYTFaOVFNblVTeWhUMTh6cFl4Vk9ta0MzUzFNYTAwdkhrUC8wQ0Z3Yi8wbjlWWCtrN3BkMXVPKytuTzVmeXpxNjJ4VW5CRTNUSnE0KzR3ZFRIVmFicDFYY3BJdWt1TFc2cERwRzRwQnhZbEluR28wU2lVUUlHaEg4Um9qR2VJdmxralorT21GcjlnYzRjS2c2VWRyUjFKem9BdzJHaU1STnBBRFpjcENxeG9qZEJ5cmloa3k0MTFJS3BCUU41UjhNZHJsY2N3NzdyRG5aOE1aL3N1aWZMVWQraFhWdjg5SjdnNWg1VVM5MXhad3U1UFluNzRFQkdLOVZZanBDZWU1SlorS3AzVW56STl1SmJXOUUvKzgzYWRuZ3dqZXA3MUhkcmpoeGRITmwzZlRINHR2N09jV050clZ0d2xuYjVyVGFZc1NKeFdKRW8xRkNNa2FMR2FIWkNGRWZiNkU2M2tUQUNCKzdzRlVkU0hRWE5EUTJPVnFtd3NUaUpyaTdrWjhoQ2RmWEVkVGoxdURJNUtRU0laRmFYcDc0MXVabFB5bVpObmt5cFdNbU0vYWFlU3o2Wjl2QW4zZmdWZHd6R1Y3NjZYTnNQa0lNdXZhTnY3UDVDNWN6dWZCdzRyZVB6VnYyNFZmWFV5Y1RxQjU0Si9URjdTd0RHM3NSUmUvZFFON1lqa2JUdVBEY1BZSE11azAwLzNmYlVwTDQwdi9pME9WdkVZdWwvSWpQZFZTM2QwVUdYRDNuVTlXd0ZWODJqMXN2c3djM25zbVZjKy9tSEd0UHNmdWNPL251Tjg0NXhrYzBpUDdnZVE2TWFGdkRkaGo2bnA4eitHcFNFd2xDdUt4RFF4TkpxODFJSkJLSVc0a0VYZGVKeFdLRVpZeVFHU1ZnUkdpS0I2azdveS9oMzF4RXo5ZHZTaDVGLzNGbXUza3NiY285cW12ck9GUlRTNTA5dGNOcW1RcEhvc1RpRWt4QlpsRTNYQWVhOERlN1JKYTN0UThVaVFnZjJINUozYXI1ZDh4Nk5zWU5QMXZDczROaDYvS2ZNK2YreHpocjFVS21KaS93ZkNaLzc5dHN1T2JuUFBUY1ZieDZkMGV6SmcveHlpdjdHRDlyTEhuMnR3Njh6WUtmTG1OenJEL1gzUDF0SmdlZVk4N1NGc3A2dDdENXFWRTgrdFJNaHZtVXBweHd2SVZrL2VKaXNrdmp4RmYraytZTlJYVDd5Wm13SjRycmdiRkV2dk15TGRzTnFOcEg1TlVvK3A0T1lpVkR4OUo5R29SdS9RQzlhRkpLQ01OQU9nVFFOV0VjT2VPaVJPN2JkM1MzbnlZYzJGZkJDOC8reHhIdk4rbUtyL0hGOHk4NnFzZjBYVFNRZ3VlbUFoQmF1WTJtSDZ3OThzOW9ucHZlNlBmQU94ZnQvK2ttSUc0ZGlYNVNwQW5DTkVHQXhBQnBJSVdPSVYzRUVaYXdSV1Nja0JuREp5SmtHbDZhbTNiUXdCZW85NFNURzY1aWRhT1E3T3BZMkE0Y1RHUkJtNXFhQ2JRa0NuSERZYXNJMTVCSWFhRExESEo5UWpSR3drUTBqOUJNS1VpOE9NM3I5ZDZWZDk2M1diazhuN0krT1FCTW5IRTV3NVl0NDRNS21EckM4V1NGbHpELzdwZVo5S3ZIZVA2YXA3a2xYU0g0M3RkNTZlQW81cDJmay96VytxWEw0UGJIV2RsN0s0c2V1SXNadWRONTlybXJLQVBXLy9SZVh0bzVrMkVqbE02YzhMakt0UFBKcW4yVDJ2dGlaUHppTW9xdTkrUC8xbjhUM2dQaWExZFJjRVVQV3JiWFFkVWVBai9hMDhHajlDRDdKeU1Rci82ZHdJY0dUT3JBb252Z2VncG41Q044Y2VJci8wSHozMExIY1B1cFQ1LytBN24va1NlTzYyTkczNmpnd09Dbmp2bm5TbjA5cndIK0RlaUFMcVdNQzd2T1RhS1I2RXJBQk9LWVVwTkN4SVVoUlR5ZXNOcGtuQWh1UW1iQ0pXMm9yR0hIZFM4UXp5aG1lR2EvSTd1aSs2dGFYZEJtZjhJRlRmU0JKa1lSNllZRWFSQ1B4OEhud3lVa2hoN0hxdkxSN3YvYnJ1dUZFRmY2Q25Pby9jZGpUTHZ5U29hZU41blN5LzZERGJFWTZUek9rdW5mNXA2QnUzbmlwMytuTXMzdFcxZjlIZjlGVnpIZVlZSDV2RkM1WXg5YmQrNm1QT29sTDdDUHlnQkFDLzVBNG5iRmlVZjY0NGlpSG5oSEZlUHJDMmJNaDZjdzhXWm9lUzVrNE1qWkxOZjFFOGp0K3duK1grNXpXRjd0WFNMOXViOVJlKzFmYVBqaEx1U2tTZlM0cWNjeDNLNDRrYmlFZHRtbWdUKzV3T0dTZWxwcjI1SWRDWmhPbDVURTlGMWQxNU5kQ1JFWlMzUWxHR0dhakNCMWV1Q3dIUWx1Z0ppdWM2aTZwdFVGRGJaT3c3WHIxZUptUXRpTWVGekVEWUhISllRUk40VmhDbTFvWHFGTGM3bnZCQ2hmOWhDelh1ckZ3bC85bnFsRDh2RUYvczZNeWM5MThQU0R1T1dCcTNocDFuTXNlbU42cXF5eDdCOHhKdjlzRkU3UGN2VGRQK0RLNTVieHU0cEIzUHlySll5dWY1bTUzNzZMeGJRUUhUaUxKNGVvaStta0NOdmYzc0JmZEQ3Wk0rTEVubnFWNW0wOXlQdVBhUlRsdVlCcUFuY2RJWnZsTFNiN213UFFpcURIUDB1dHYySnVCTkR0Lys0a2ErbC9VZnVyT2l1bTJraThEdUxiNnpEUDZrdkJ0S0c0WC9nWDhXVE05UWkzSzA0b1BUM2RyaDJoOWY3WEZ2T2dibGx1VHBkVWdwQVNhVnJpSnVQU0ZDSWVseTZYQ3gwelVRSWlkY0ptakJZalFyTVdwc0Zvb1VadnBzaWRoMGU0MGd2YkFhc1h0TEdweVdwd1Q4eFlpOW9ON3JwTzNBQ2thWThqd2hRdU5CRVhwcFRDazkvdm04QTRhR0h6UDNlVE4rYWJUQitTbjNpR1FBdUh5dy80UnN4aS9wV3ZjL05UeThpTmVaTWxIZEgzWG1hTjd4S1dwcnFWdnY1TXZmc0hURTI2dEZmeDVBdFhFWTJDVDhYV1RpSWhvaStzSmZxQy9mOEEvaHYzZ2RjRnNhT29QWXJWMFRKN09TR254VDNxZkFwL2trWHcxcldFOS9qeFBuQTkzVXUzMFREN3c2Ukl5U2lKbkJzdXZBOWNlNWpiRlNjdFRJSDQ0cklCZDA4ZXNmZUJWVW1YRkd5WDFHcTVRaVJNcDBUNWg1WVlUb2t1VFhSY1JORUp5eGcrMDBPTEViRUtkMXM0cERmUnoxdlEvam5Ea1FpSGFscG5yTFVFZzRuQmtkRldhMDNYZGVKU0lqR0ZFVTh1T2haQ0NIRk5XZSs4RmlHK21YaTRITW9HNWxQM3IyVTgvOC9kYkgzdjd6eDAvMUkraUVHMFEzWExZZUxkMytaU2dnUmFyM0xXdmJTUm9pc3ZaOWhSbmp3bGFwMlVWRkhyVzBydXo4L0RWOWpleFRUMzFCSGY3ampxb2hDTkpyNWZGMFBmV0ljWU40YThiNWJpTHUyQlo5Slk4cTdJSXY3V25rVDErbUZ2VjV4TWVyaXpyNzA3NTh1NXBEVElKMXhScWFWMkpCaUdJUXpEd0ZrQ2ttaVVqeEUwSXdTczhVYTF1cCtJMmI0OVRtdFhzNVpjbmRjcWFyb2V4N0NHajVpbWFTMW1RVWlFZUd6dTJObGVXdlZuOU8wLzVLRVJoM2ppZTdjeDdZRVYrQytieGN6aE9VVHJEMU96Vm5nSjgrOGUyZnFITmZBMkwvMnpGOWRjMWw5ZEVhY2FmZnVUT2FrVVg5OWpMOEdRYS8rUCtoL3VRWHh0RWtWLy93YUZQeTVGdnJxV3hsOVdIOVh0aXBPSFFBeTlzK2VsbDlLMmFMZE5INmxkdEdzbWhBM0RTSlIvNk5MdUpVMklXOGgyU1kwUTlVWUwxWHBUKytmNzV6OWVZbGQ1UmJzRkxmNFd5eVZ0M1R3bG90SEVMb080WVFocFNtM3Jodi9OSDF4MnhqdHduSnNDRHJ6TjgvL01ZZXIwVVJTcGE2SlRjbURjeTEzNjlmZlpjTlV4bUJzRGp1cHVobUZRV1ZuSmdBRURqdnFodS9ET2d3NTU0NDAzMHY5aGtuTFBILzd3aHp1ZWYvNzVPaUFJaElDd0VDSm11YWlHRU1LMHRsbEphOUdMdExkWTJjdGVjbkp5Nk5hdEcvbjUrUlFYRjFOU1VzS2dRWVBhN0VodzE5VzNyMW16VnVjbHJEVnIwMVE4Ym1CWTFwcVVDWFV0R3pqZ2x1TXVhZ0I5THVDVzZVbzhGS2MrRXlkTzdEU3ZwWFV0Nk9kRzZhaFJveVk5Ly96eksrMVlteEJDeHlyL0VFS1lRb2prbWo3bjNsRjdXM3hPVGc1NWVYbms1K2RUVkZSRTc5Njk2ZCsvUDRNR0RhS3NyRldLTkhzcFN6RG9xRm16ZHhmWW9tYjV1NlpwQ3ROcW5kcjBmNnR5WFM3dEZuVnBLaFNLbzZWYnQyN1h6SjA3TnpmcGprcnBzZHpScEV1YVdOZHBDbXU3bGJCTFB4THJCeEt0VnZhbUs3L2ZUMk5qSXpVMU5ZUkNyZldLbWoxbkxSUU90NDc1dHVKcXVwNFV0bmJXMm9oaFEyWUJnOVJiZFhyaTZwVjFlcngyemFYZTdPT0lFS0xzdnZ2dXU1ajJTUVNYbEZKTFRONld3alJOTEdGTDFyVFo0bVkzeU5zejIrd1Zmb2NPSFdwOTJ4SWRCZ2tYTkdLTitVNjRvRHB4bzYyMUppMXI3Y2F2WCsxeXVWdzNxYmZwOU1VM3BxRHJ2dll2RkI2RENxcGFrZU5OZm43K1YwdExTNzFwckRiTnR0b3NjV3RudGRuaVpvODFDZ2FEQkFJQkdoc2JxYTJ0SlJKSkxIL1JuTmFhTXd0cUQ0ODBEQVBUTUszbExBbHJiY21UaTI0RVZPUFNhVXplUFdlVGRYVi9YSDJ6dTQ2bDFqZUw3T2xua0RkbjJOSC9rQ2RUdmRuSDMybzcrKzIzMzU1d05GYmI0U3czcDlYVzNOemN4bXB6Si9ZWFJOUEcxaEsxSkNhR1phMVpGcHZtZHJ0dlZHL1A2WTNXelV2MyswZWQ0cDlBRGJ3NTZzMytIQ2d1THI0Q2VOTVN0cGlVMGkyRWNKTklKR2d5Z2JES1BxUmhHQ0llajh2VVdGc2tFbWxqdGRYVjFWRlNVb0xiS3VXd2Q0SW1sVEZ1MVpFWXBvRXBKVkpLSklqUXdSMVRnQXZVVzZNNDVjbnNCa0o4L3M5akduQm9LN1RVbkRaYnNUUTRiK2VyaTBjTnZ1S09qWmJGNWtGS0hZRkxTZ3dTaGhTbU5ER2tnU0YxNG1hVXVCRW1IZytpeHdQRVlrMUVvZzJFSXpXMGhBL1FIUHlFK3BiZEhQTC9PeUZzeVdMY3VHMnRHUmkyRzJwS3BKbFl6Z0pTZUQyZUdlcUtWNXp5dUgzZ3kvdjhueWZVQ0pXYlFRK2RkcWQ0WU4vaVNjQUhTYXNOUEVJU1IwZ1hDRk1paFpSZ1Npa053OFF3VE9LR2lXNFk2THBCVEk4VDFYWENrU2pCY0pSQU1FeFRvSVc2eG1hMGFDVGhndXB4dlcwVzFISkRyYVFCVWlLYTltNFpJWVM0VmwzMWlsUGJuSEJCVHM4VDgxd3ROYWVscUFGNDNPNnIvdmUzQy9zbExiWkVuQzFsTndLWVVnb2pFV3NUY1NNUis5ZU5PSG84VGl5bUU0MVo0aFlLMHh3STBkQVVRSE9XZHlRTGNXMFgxRFFUYm1qQ1d0T3lzN091VTFlOTRwUzMxUEo2SitKcko0TG1BNmYxNlI0N1lzaUZwR3l6UWxvWlVva21wUlNtbEppbXhMQVRDYmE0eFExaThUalJtRTRrR2lNWWlSSUlobWdNQk5HU1RlNU9VVXRhYTNiQ0FMSHFUNy9MMERSTkNadmkxRVM0d0pzTnViMFMvejVSbk9hYjVuT3lNcTZZT1dWQ2htMjFTVnZjRXJQYUJJbVpSaUpodFVrTXd4UUpsOVNhL3FISGllbHhJcGJWMWhLTzRBOEUwZXdzcUc2NW9IYlNJR210V1NVZWt5NjY0RnFnbi9vRUtFNE5JZE1TMXBrM0I3SUxvWHNKYmZiOG5TaTY4RUxtNDBUSm8zTnZIWmZHSFhWSjBLUzBoWTJrMVJZM1RPSnhFOTIyMnZSV3F5MFVqaElJaFhIcnVJbmp4c0JGWEFvTUtZUWhCWVlsYUpacWF1N0MwdWtuSkVPa1VDaE9LM29XZEw4RWVOdGh0Ym1GeElXUVd1SXZrSlJTSWd3cE1Vd3BEZE1RY2NPUXR1V214MU9zdGxBRXJkVU5qU2RIaFNSYXA2UjlpTWJHeHVGQ2lNdlVXNkJRZEQyaWIvNkdvWGU4ek5aTyt2cmNMdGNsYTVjc1NFMGl1Q3lyTFRuT1NKclNLdGcxTGN1dE5kWm1KeElTVmxzRWQ3SnV6UkkyTTlrVG1oQTFRT1RrNUh4TlhSNEt4UW1rOGpXdXVQTVZ0clYrL01udE9aREowNmN4ZjBvSmh5MUVhZHpGaS8vclovejBNU2R3eWZndUhycnhLWmFsamtiem5NdmlsYk9ZZklTZi91THd3ZU9BVDFLc05oMkJoaVJSK2lHUXBta2xFcXpTRHp0ODFqYldGbXNWdHRha2dUWEZ3elJ0TjFSb21uYTF1dElVaWhPTVp4QUxmanVIRzNvQTZGUnVXczJjUjU5aWJ2YVBlUGJDd3pUeU4yN2pkOHVxeUx0OERHVW50SEhDemFVUFBzYXo0NC85SjNPek15Y0IvMDNiT0pzYlpOeXFraGFtRldzelRGTWFpVDVTbVlpM0dlaEdhNnd0SEkyaHBicWc5b0hWaUJvTUJpOEJocW1yVEtFNHFTcEh5WmdwM0R4RVovT1dHaXIvNTFkdDNjdnFONWcyN1JmODhyK2VZZXdEYjdCSDM4WGMyUTh6ZDVOMXUxN05TNC8vaWduVDVqRDArb1hNV1Z1ZDNFVVNyZHpFUS9jL3pNaHAzMlhvamIvZzloVzdxTFZ1Vy8vNGc0ejkwWitaZS84dm1IVGpmWXk4NHhtZTMzNk1kWGV4U3A2WjgxMnVXRnFaZU03R1RkeCsvWVBjL3FhMTRyejZJeFkrOE1qUVFmMzZEYlVFcmRVZGxiaE1LVFhEbENKdW1DSnFtQmlteE5RakhLenpVeCt6eXovQzdQN3czN3k1UDhUdURXK2gyYUtXTHI0R0NKL1BkNVc2cUJTS2s0MU83ZlozV0xiRHc3QWgrWlJjT0k3Uk5SK3h5bHJSV3Z2K1Iyd3RPWmV2WFhzbkczOTZFYVdlTTNsMHljTThPc2I2OFpvcWFvZC9nMWRYL29xMXM0dFp2K1JsMXJRQXNRb1dMZndMVzRmY3dOcVZqL0hoenliaFc3MkVPYXZyazg5Y1Z4bm0wbnZ2WSswZkZySjBURDJMWG5nL0tYeEhoYmVFVys2OUNQNytaMTZzOUxQdU55dlpQUHdxRmw2WUI3RUtGdnpvUlRZUHVZN1gvL3I0ZWM0NG03UXlvNENtQ1NGY0FqQk5Jb2JFTUVGQ011YVdHSzBHcG1IUzgreHpFNjZvdy8zRWJuYTNEazBJY2FXNnFCU0trNkZsdTVuLy8rWXdQeGxqNjh2RTZiT1pQeWtQT0lkcmhxeGs4WnVWekN2Tlo5MzZLc291dks3am1GcmZjN2xqVWpGNVFONlljeWg3K2cxcWd4RGQ4VFlyZ2lONGR1YVppVEg4SldPWVAvMGRKcXgrbi9JcGx3SlFPT0pMVEM1T1dJMmpSNVRBK21vcUljM1kvaml2UFRLSFVzZDNMcnpuNXl5ZGxJV3ZkQXFQWHI2TkdRdWZKQzlZd3J3bngxRUVSTGU4d1lyZ0NKNmNlU2I5dkZ3Q0xFMjEyb1JJZENJZ2hLbUJRRXJNaFBVbFRNT1VpVGliaGlIQnRGeFNkNnExWnJ1aGdBaUh3MU9BdnVvS1V5aE9kb3d0bFR3bWZ2bE1Gcnk4amZMcCtieTJJNThyYnlzK1dxODI0WUxxRUcwTUVDMCtpeExIMkxtaW52bjRHcXM3dE1wOG55ckc1bUhZVnk5aTlNc3ZVdjdsNjVodS9VN1JSaitCcGdwdXYvNTlnRDREQnZRZjhja24rOTVyRzJkREJ3UVNJWVFRbWtDYTFoUnowelN0amdRd3BVd0ttNVlxYXBhbEJpQzhYdThVZFhVcEZKMlRvdkZqR1YzelBzdit2b1hOSmVPWVduTHNqK0hya1ltdnVwcktXT3YzYW1zYWlQWW9QczZMbEVLc1g3YWF6U1VEOEwyMW1oZXR4V0crbkR4eWUzNko1U3NmWS92S3g5aSs4aisrbUdxeFNkbmFpV0JLaVNHbE1HV3FLMm9tRnBTYWlkSVB6UkkwZTZpYnNNczhMRGRVQ1p0QzBWbkpPWXRyaGpmdzRyS1BLSmt3Z3FTdWVUUHhFYUt5NmNoQmZ0K0lpNWp1Zlo5Rnl5cW9CYUxWbTFpd29vclJVODQ5cnFVaTBTMnZNUGV0Zk9ZOU9JZEh2K3huMGVOdlV3bjRobzlsTWh0WnRLSUNQNUNoTjE2VVlxMGxWL1JKcEdaYW9tYUNFRWlpRVYzb1JweHd3RTlkSEtTWnFHdHpweVlOYkRjMEZBcGRyTnhRaGFJems4WEVTWVB3YmZCejVYakhxUGFTYzdqNTNIZDQ2TTRmcyszQmhUeDZ1SWZ3RG1UZWo3L09nbDh2WmRJMFA5SHNmQ1orZFRaUFR2azBvOS9ieDlqZ0xCYTlNSWtQZnIyQm9objNjVU94QjJaTVkvSTlMekIzOVZrc256S01oVCtleG9KZkwyWENNajlSYjE2ZnkyWitlOGcvbHYzbmh5VDdSbkZKbVJnWmpoQkNBeUdsa0Y2WElLcEhPVmdmdytWeTQ5TWtwbFgrSVhyMjdFazBHaFd4V0l4NFBDNU0wOVNrbEM1ZDEzK21hZHAzMU1XalVCd2RuMmF2S0IrditteVcwS1kvTW1sNUNjdC9lUkVscDhoNURJWWlTM0xHWHZzaTBBSUVnS0NBTUlLb1FPaENZR2hDbUc2WEpyMGVGejZ2UjJiNnZHVDZmR1JsK3NqT3pFQkx6WWFTcUYvVE5FMmJwQzVWaGFMekVtMnM0UGtWMnlqNThybW5qS2dCWkdYNnprdm5pbUxOYWNOdXM1SlNKRG9SVEd1RmdaSHNSTkJTaW5LUlVvcUdob1pocUdVdENrWG5aYy9MWEhIck03elU0eW9XVHNrN3BYNDFJY1RacTUvNVVlOE94RTFJaVVDQ0thMU1xTE9IMURyY3FRM3ZKSHBETDFKWGprTFJpU205aXJVclQ5M2ErVEZubnprTTJHOExtd1NYa0dnSTIyS1RRb0tVZHUrb2RkaGJyWkpaVVZwSEZBbVh5M1dodW5JVUNzWEpvbnRlemlqTFNrdE8ra2djc2xXcnBOMC9LcE9WSFlaMWFLa1cyL2UrOXoyWEVHS2lPclVLaGVKazRYRzd6aHQ1WnIrVWh2aGtuSzExbEJHV0t5cmJ1cU5haWh2S3d3OC9mQUhRVFoxYWhVSnhFdW4yL0NQZkxYVmFiVExSRkovWUZpL0JtcTZMdEVRdE9kTElhYkZaQ0ovUGQ1NDZwd3FGNG1SVFd0SnJTSHRYRkszVkhVMFlaYVoxR0xJMUVhbzV5enhJekY0N1g1MVNoVUp4c3NuSnpqekhZYkcxS2Z1dzlVcGFXVkpwN1Q4MlpHS3NrV1piYTFKS2NlMjExN3FFRU1waVV5Z1VKeDIzeS9XRkFiM3lYU2tXbThzU05FMUtCRmh4dGpidWFHdU1UUUJpeVpJbFh3UnkxQ2xWS0JTZHdXaGI5dWg5L1oyaUpxMTlvemhXOHlYaWJNNmFOb2ZGQnBDUmtmRUZkUzRWQ2tWbjRjd0JmZHNrRUdnYlp5TTF6aWFsaVNuTlZ1VWpVYjgyUnAxS2hVTFJXZWlXbXpXRWRzbUR0bkUySEhFMjAweTBXYmtkWTRxRUVPSmNkU29WQ2tWbndlTjJENmQ5akMzWkw0cXpuaTNwanJaYWJPemF0YXNuTUZpZFNvVkMwVmtRUWd6NjVmZG01WFFrYmlSVUxWblBacnVsZG94TjlPblRSelc5S3hTS1RzZWw1NS9ieHhJeWErQWtHaEpoVDlXVldKVWRWaGVDbEk3c2dzZmpVY0ttVUNnNkhYMkxDL283ckxSMnRXeFlJNHhhdXhBU3dvYVVVcmhjcnJQVktWUW9GSjJObkt6TU14eWkxa2JZckRoYndpT1ZDTXNWRlpyZEl5cUVVTUttVUNnNkhSNlBlMUNLcUxrY0ZodXQ0cFpJSU5pdUtOWWR6bEtuVUtGUWREWTBJWVk0ckxUMkpSOXBFZ2dhSUdwcWFnWnp1SFdCQ29WQ2NTU3FOekYzem9NTW5Yb2ZjOWJyeC9PUmZTc2Z2Ny9RS1dqU21zZEdzdVREVGlBNExMYWNuSnhCNmwxUktFNVgvTHg0L3k5WVZBbFV2OEcwNzc5QjVURS9oczZhRi83Q3VwNVhzZmFsWC9Ea2VFL2JtN2UveElRYmw3SW05dWxlNGREU2ZrV2tMZEsxT3hBU2dxYnJCdUc0WmJHNTNlNHk5ZVlxRktjcExidDRzM0VnRjVaQTdaWnRSSWNQK2hUTFljTFVOdXFVakJqVVpxdDhrdEtMZUhMZUZNWjdQOTFMTE95UlY1ekdIUlZ0RHlrTTB4UzZBVzRwcGRBMHJWUzl1d3JGNmNaVzV0NzZJdXVDWWVwaUhqYmYrQkhSWUlDb3Q1SUpOZGV4ZHQ0NWJlTlRzVXBlZlByUExGNWZSUzJaRER0M0NndnZ1b0JoT1pVODgvMW5lR0pIbk5pT1JZeGRQWlpuRjEvRGFPZlA3bGpMN1kvb1BQcW5iekQremQ4d2NobmNVQnBtM1k1cWFtT1pUTHpwTmg2ZFZJeXY4VzFtM1BvT2VSZG1Vcm05Z2RvbUtQdnlOQmJjT0tSUFcwc3RHVjhUSmxKb2dHN2F4bU0wNFlvS0lRYXFOMW1oT04wWXhxTy9mWVNWTS9veWF1WjMyZmlIT2R4Uk1vajV6enpDVzZtaVJvZzFqei9ERTQxamVIYkpZMnhmY2lmWEJGY3o2L0ZOMUZMQ25iKzhqL25EM1l5NmFSNGJVMFV0SFRVTk1HVVdhMy83Q0cvZE81RDFTMTVtVFV1cmE4endHMWk1K0dFMlBqT05vdlV2OHBNM1E3MHR5Nnk5dUFGU0NPRjJpY1FkM043RURVS0lBZXBOVmloT1IzUzI3Z2hRZGtZeHRGVHlRYXd2dzNxa2MxZTNzR3g5SnROdnVvaGhPVUJPQ1RmY05vNjg5OTloWGVPbmVOcWVaM0hOaU1UYXdMelNNeW1MTlZBYnRHOHM1c0l4QlFsaDdYRU9kMHpJWmVNN08wbzZFRFY3c1Fza0J4VkozTllOU3RnVWl0T015dFhQTUdOWkpmNm1NR3g1a0hXRXFRdDYySHhyQlRjLytEM3VkQWFvbXZ6VVVrQnBUNmM0OWFXRWo5alRDUFQ0REMvRXlqTkVkU0JOREs2b09BLytIZW1YWXJFSkNacEltYVpyeTV1MmE5ZXVZaUJEdmMwS3hlbEZ5WlE3ZWV1WmFZenYreVdXL3VFUlhwMTVKbWRkZFRjYmY1c2lhZ0RkOHlpaW5qMDFiZDNKV3ZJbzdmSDV2czdLeWdiSXpzMzQyYnhiY2pxMDJGTFFDZ29LZXF1M1dLRTRUYW1wb0prdkJxQUFBQ0FBU1VSQlZMeTRoREtnZkU4OUphWEY2ZStYTTRLWjQ4T3NlT0Z0dHJZQUxaVzh1UFFOYXMvOUVoT1B1N0JWc2VwL0svQUQwY3EzZWVMTk1PTW5uTWtYQjUrUjV4Q3kxbnEyRktScDR2YjVmTVhxM1ZVb1RrLzhsUTFRTW9ZOC9KUlhlaWliNHVuZ25sbE12dmRPYXAvK003Tm1yOFFmeTZScy9CU2V2V3NNUmNmOVZlV1NWN21hYWRmdm9qS1d4K2dwTi9Eb3BEeWFkL2ZJNjhCYWExMUdKUkNHYVVnUmpVYnY5SHE5VDZ1M1dLSDRiQmlHUVdWbEpRTUdIRVBJK3VOVjZzUTVhWHliR2JlK3o1Vy9uY01OS1paZ1pYWGRnbjVmdnZrZElHQWZBa0lJSWdJUkV3SkRFOEowYVpwMGE1cFdwTTZtUXFIbzdHUmwrUEljYm1nYlM4MDU1UU1rbXFacEJlcVVLUlNLem83WDQyNFhZeU5kakExd0N5SHkxU2xUS0JTZGdoNFhzSHpsQldsdmNydmJDRnY3UXlKc21kUDRiQlVvQ29WQ2NVSndhVm82VjVRMlZwdFZxS3NCZWVxVUtSU0t6bzZtaVJ6U3hkWmtHM0VURXRDRUVFcllGQXBGcDBlSTlzS1dhcm5aWFZVYWtLMU9tVUtoNlBUQ2x0QXFwL3VacHV0QUpvVXRTNTB5aFVMUkJTeTJ6QlJSYzJpZWJDTndHcENwVHBsQ29lZ0NaQnpHRFcxanRXbWs3YWRYS0JTS1RvZTN2WGVhVHRaUXdxWlFLSTZHRUp0WFBNT0U2Ny9MME8rL1J2bkpFN1oyQ1lOMkFpZGI1NGNyRklwVGxTMS9adExDajRpaXMyN1JRdVp1K2hRYnBDcmY0YUZsZmlZL3ZKRHR2N3lVNDdja3BaNTEvL01HYTZxUDZzNnV3MWhzMWtaNE1HbHRTMUFvRktjb1d6ZFZVRFJtSUQ2cWVHMVBNUmNPOFJ6N2d6UTJVSnZkbHd1SEh1OWNZd092clZqTmEwZTNGa3ZyMEVxelRMWEVKbmdRVWtxcDNucUY0clBUMmFaN2xQL1BrOHhZVVlXL1NjZlhQUk9mbmxqYVVwamRrNXQvM0g2WVpPMm1sNW43bTNkWVg2UGo2M2ttMDJkOW5mbmpDNGl1WDhxRXh6K2lMZ2k1MlptTW4zMGZ6MDVxVy80YXJkekVnbCsvd2lzNy9FU3ppNW40MVdrc25ING1SY0M2UmZjeE4zczJHNzkxWnVMTzYzL0QwTi9rcy96SGVTeTRmeTFibThLUW5Vdlo1YmZ4NmxjcjB5NXplZlMyY3lnQnhQQ3AwNEFnaWVrZWZxQUZDQXFJU3RDQk9DQTFFcGFiUXFFNHhTajc2aHcyL3ZZbXB2WThoMGQvK3dodjNYc09mUytjemNZL3BKbVFXL2thc3g3OWlKSlo4L2h3NVM5WWUxcys2eDVmd3FJOTRCcy9pNDBQanFPdys3azgrYWRIMm9rYXNRb1dMZndMVzRmY3dOcVZqL0hoenliaFc3MkVPYXZyRC84Q1N5NWw1UjltTTcxN0psUG5Qc0tyc3daYU43UmY1dkxRV2orSDFTcVJtQk9lR01xbW9RR0d1Z1FVaWxPVW1pcktldzVpbUJmS3QxZFROcnh2MnJ0dFh2ME9sY09uTUc5OEFUNDhGSTJaeXJ6aERheFlYWEhFcDRodWVac1Z3UkhNbTVtdzBId2xZNWcvdlMrYlY3Ly9LWk1NN1plNXJIOXJHLzcyV3RXK1Y5VENEY1JJcmxOUUtCU25CbHQ1Nkk2L3NLYkpUMTBzazJrM3JrN3NETTEraEFudlQrUFZlV1BhTkluWE5vYkpLeTV3ZkMrTGtwSmMvSlgxUkJtWXNvb3ZSZGdhQTBTTHoycXpLTG1vWno2K3htcHFqOE52a2xqbUVzYWYwS3FqUXVNWTdxeFFLTG9LdzFpNCtHR1dmam1mQys5NmtJMS9tTVhVbmlNU0xtbUtxQUVVOWNqRVgxMlBQL2tkbmNxYUFIazlDZzRyYWdDK0hwbjRxcXVwZENoSmJVMEQwUjdGaWJIaG43R2d6RnJtUWw1N3JaSXBYOXNJVzFoZEJBckZxVWlJOG1vb0s4bUN4bXJLdmNXVWRTQXlvNmQ4aVpKL3IyWFJKajlSRW9tRUo5N1BaL3FVZ1VkOEZ0K0lpNWp1Zlo5Rnl5cW9CYUxWbTFpd29vclJVODZsRENncHljZS81U1BXTitwRUd5dDRmbldGUTZFOCtMdzZ0VFgxUkpQZlM3L01KUThpUi9Wcnk0UXJHbElYZ0VKeEt0TEFCNVVGbkZVQzdLMml0dWVnanV2UFNpNWw2ZHd3YzMvekNDTWZzYktpOTg1bVh1bFJQSTEzSVBOKy9IVVcvSG9wazZiNWlXYm5NL0dyczNseVNtSTRkOW5sMTNIUGxxWGMvdi9XRWUwK2dLa2o4c2xOL25CZnJwa3lrRm0vZVlSSmUrN2tyWm5RMFRJWEtXVTRqWFhtK0w5QUNJa3BUU21rbEI4QUk5VkZvRkI4TnRReWwrUEFZWmE1bUZKdWNZMjQ2b2UwbG5zNEY3cEVCVUlYZ3JnbWhLbEpLZjNxYkNvVWlzNk9sTEtsWTJ2Tm5wMmJRQU9Vc0NrVWlrNlBhY29XaDRESmRJSm1lYVM0cFpSTlFnaDExaFFLeGNubk1NdGNETU1JSE1aaWMrb2FtcFN5UVoxTmhVTFIyWWtiaGovRllwUHB4VTJnU1NucjFTbFRLQlNkbldoTTkzZmdma3JIdWdNQU5NTXc2dFFwVXlnVW5aMVFKQnFnZld4TnRuZEVRZE4xdlZxZE1vVkMwZGxwOGdjN2NrV1RZbWRuQzl5UlNLUW1KeWRIblRXRm9oUHh5WUVhZFJKUytHRDdua0RIb2lhdEZhT0pRV3p1Z3djUEhpd3NMRlJuVGFIb1JBem8wMU9kaEJTcTZ4dnRjZy9URmpXUjhENmw3WUlLSWRBMGdUWnk1TWdhanJZSFM2RlFLRTRPa2JtL1dobzZqQ3Y2Lzl0NzgvaW82bnYvLy9VNTIreExsc2tlRWhLV0VFUkFLK0R2aWxoLzZOV3FiUzlZV3JTOVNsdSthUHVyMUc4TDFRcTl0cUJ0b2N0RmJ5dFdyMWhic0ZxZ1ZXcFJSQlRVRmxjVU5TeWFSQ0FRUXNqQ3pHU1ptWFBPNS9mSG5IUHltWk16U2JCc3d1ZjFlQndUQW1hWk0vUE02NzE5M3RUYUNZKytvM2IzODhlTmk0dnJUQldsOUlBTlpEcmozREpFRExCUlN1aysvdEJ4Y1hHZHFkSjAvYUFOYWhsdXpkeVliQVNrYWJEcHV2NHhmK2k0dUxqT1ZDV1Rhck9EWTNOcytTQWt2Zk9BYXByV3lCODZMaTZ1TTFYeDdwNW1oeEEwYSt1SGxLWmhza0ZSK041a0xpNnVNMEVwYkZqNkE4eC9UVTMvc1dBYWZuN0haMW94aEJ3YklTUmRHUVZBT3pvNjZ2bUR5Y1YxWmluUjlCWVczWGszeGw5M0cycSs5a3NzMk56RW5ESTdORURVYlg0ZWEzZWZyTE5rVzdCcDdTdlkzbkdpUDYrTTZ4YjlDcnZXL1JMdkxCZ0hCVUJEL2I0MkJtWTIxMmFPVXhIcnZ3SUFXbEZSOFJGd25JOFpGeGZYeVZQeVF5eForaVIyVk0zQStzZC9oczBMejBmVHd3OWd3ZmJqZ1ZRUGRyeXdFV3Yybkt6VC8xdXdiczFMMk5aeGNqNjdTNUVSVEFlU2lUdSt2N3pEN3RRSW9JTms5TFNsQ3dna0hZcWExbTRYZ0FuOEdjWEZkZm9WM2Y0U05tQVNIcDE3ZnZvNDczRlhZT24xYitPYXA5NUQ2NVRKaURpY05MdHA2Zi9Ga3NMYjhQTGNTdXg0OU9lWTkydzdvbDBxa251V1lmempBT1FSV0h6ZlhGeWZBMFEzUDRCSmF5VmNWOWlPSFEzdGFGVktjZjNjRzdGNFN2bzQ3OFMyaHpCK1RTSFdyL3c4YWdFQUgyTFIxeDVHOUxzL3gzMFh0dUNSTysvRGlrWVZpVlFQdHY3d0IxZ053RFg4YWp6KzA4dXlIeitlb1c1c1g3c2FTNTdhaGZvdUlGZzJCblBtZmhtM2pnczYvRnU2eHdZMUhZQk9BUW9LQ3FTM3ZoTmlMQmFsZWpySGhuUmx0RTRRQkE0MkxxNHpRRTBOTFVEVlpBTXFhVldQcmtUd3FROVJqOG5wN1U4RGFPTE5QOERyTjBleCtzNjdzVzdLUXF6L1FsNy9mOVNwWXNLaS80dmxaVEphdHorS0dmKzlHbFVyYnNPTmhZTjlkNFg0K2svdndkZXhFL05tUEkzcWV4Y05iVGNDRzJhL3RSNjNQUVVzL09uUGNYMVpDblViZjQrYjcxbVA2b2R2eHBXMkNVOWQxK3ZSUDdlbUE5Q0oyWlJMUVRWS0lZR0FDQ0lFUWdnRlFGVlZyZU5QSnk2dU0wT0pMaFV1UmNwY2ZlZVQ0RXFwSnk1blZEQUNVOHJTSzRValU2N0dEUVVmNDIvdm5hSUR0UlVacmxRUFdqdWlpTUtMMnF1L2ljMFB6TUkwaDdGMVhVdnVRLy84R2hPQ0Vpb1FBSlJDQTFNOEFFQjdlbm8rNEU4bkxxNHpReTZmaEVUU0JyRXVGUWxaR25UUDV5ZFRBR1U1UUxUejFHempkSTJiZ2NlL093YTcxanlBNlYrNUM5UC9hejAydEtpT1AxdXlOMzdRQmpRTjlwWVBRaWhKVDhKVFF2cEdxdWpldlhzNTJMaTR6aEJWMXhRQ2V6NUVYVVo0Mm9SbzJVZ2poeVVEU0NGeHd0YWR4OURVQWdURG5qUjRGQm11Vk9xa1ZSUVRMUzFJakw0TTkvMTBFVjcvMDEyNGIyb1BWdDY5R21zZENoSFI5Z010QnNBMEJtckdaVlJFS1FVRklCQ1N2a3ppVFo0OCtTaUFEL2xUaW92ckRIQnNGMXlCNitYWHNlU2hPdFRIdTlHNit5VXNXTnVPSzc4d0xwMWZ5eWxGYmNGQi9PM2xKa1NSUXV2dTU3SHFmZFgyV1R3b3k1RlIvL1l1MUNlQlJEeUtLQXZDSXp1eGFYYzNnQlRxTnorTlZVY3FjYTJadkI5ZWllcU9YZmpiZTkwQXVsRzMrU1ZzNnJSL2wwR1U1YlJqKzl0TmlBS0lkblFQR1lTdDI1L0FOWGMrZ1UwdEtRQmVSQW9EY0NYN2c3UTNnWStPSGQ3Wmc2eXRIdWxMcHdDSUFKbWtpd2hXOFFDQXJ1djYyNElnak9SUEt5NnUweXlsRWdzWHpjS1MzenlKYTJhM0ErRlNYSG5EclZnK3hXdjhnekxNLy9abG1QZmZ2OEtFMzhzb1BlOENYSGxlQUUwWm4wVEd0SnRtNE1wN25zWTFNNThFd2hXWWY5ZjNjR3VOOGRjK0wzWTkvaXRNZXE4ZDBaeEtYTC93eHI3Q1FlRy9ZZWxOSCtLMmV4WmhWZEtEQ1pkZWdDbWw5bSt5RXJmTW5ZeDV2L2tWSnZ3ZUNKVCtHKzY3YnlhbURhSFh2K3dMTitQQmp2Vlk5djBmNExZdXdGVlFpZXUvZTZOUjRlMXIwS1dVZnVBVWhwSjBWVlNuNmVQWEFFS29MS2JkR2lFRVJCUkZXZGQxQ1lEYzA5TnpxOHZsK2hsL1ZuRnhIYjgrVFF1VG81c2Z3S1NuUitDWis2NFlZbnZHNmRIaG94Mi9MTDdzUDE5RmVrbHlISmxMa25zQmtoSUlWRUtJTGdrQ1ZTU0JLb3FjenJHWmxkRm9OUG8yZjNweWNYR2RLZHJkY0dDZnphMnhPVFpLakpFcW96R1hrblNPalFwc25EcHIxcXkzRFNweWNYRnhuVzdGdi9hRDVTM0lySVJtZ00yOENDR1VrTDRUZENWQ2lIRktPUFN0VzdmcWxOTHRoSkRwL0RIbDRqcDdGWngrSzNhZjRhOXlWZFBlYW1ydDdBYzFZNVNLQXNSd2JlYU1hQnBxYkI4YmpMZTZxcXJiK1czbjR1STYzWXJHdTk5M0NFUFpjSlNtWTFCWWJvMlk3UjdHSDZpWlo0dkZZcS96aDVTTGkrdDBhKy9IQnhzR2dockpPRG1YUUNCR0g1c2dJQ1BIQmtELzFyZSt0UjNBTWY2d2NuRnhuVVlkKzhhaVh6ZGxnWnBEamcyVUNBU0NRS2dnR0k2TkVYM3l5U2RWWGRkZjVvOHJGeGVYa3lnOStWOGpwYXF2MVRVZVlzTlFOUk51Zldld01lRW5DQkVnRUNGZFBDQ0VtSDF1RklDZVNxVmVjYmxjMS9KYnlNWEZCYVM3WVErblBEaVNVS0NCSUo3UVR1clhhMnRyMjVrdERLWHBBZ0tsNXRRQkNGS1VBRlFFcUFpcWkybXdBVll2bTA0cHBTMHRMYThNR3phTTMwMHVMaTdvRk5nUkN3S3VBUHg1UWZoOGZoU2U1Sy81NFVkL3IzZUFtZ1pBTTFsRkNLRkVFQ0FJQW1SWmhxSzQ0SEs1NEhhNzA4Y1dtWVVEMDdGVlZsYnVCdkErdjZWY1hGeUhVMjdBRlVCaFVRbDhQdjhwQ0hWcDNkeHZmcjNORm9hcUJ0UnNSeGFaUFd5Q2tWOUxnMDRRQkFGTW5zMkNtNnFxVy9ndDVlTGlPcEpRNEE4RVQ5blg2K3JxZWczT3ViVytpbWpha0JrdEhnSUVnY0NDbWloWTdSNW1LQXJqZjlTajBlaEwvSlp5Y1ozYm9oVFFxSkRkcWJWdHg4cnZmUVdmdS94aVRML3FQL0REdnpjREFKcWYvQ1l1dmVSaTQvb20vdHc4OUs5WlgvOVJIVEx6YTdiQ0FYVExpQm1UQm9JZ2dCaFFFd1VSa3VuWUdMaFJTcW1lbjUvL2lwN2V2bHpLYnk4WDE3a3BRb0I0VXN1U1U0dmg1ZnNXNDFsOEN5dWUrZytNVkdLSUlRQUFLSjcxTUxaOUlZRkUrOSt4NE1abmp1ZExIcnIyYzFmdHQ0V2d4bVVQUXlrMFZZY2twNkVtc283TnNHOU9TMGMxVGRPZTQ3ZVdpNHZMV2MzNDRNTWthcS8rSEVZR0FMZ0NDTEJINExwY2NCM251dUtlbnA1dDJkd2FJZENRc1hLUFVsM1hxSjUyYkZRUVJJaUNDRkh2N08vWXpMbFJBSG9zRnRzY0RvZS96bThnRnhjWEUzOWk0NTMvaWZ0M0pKR01KNEZmWEl2UC9RS0FNZ1YzL25rSnBycUc5amxlKytNeVBQamtkdXlQS3lpYWVBM21mZis3eU85c2ZOY0dOYXR3WUxSNTZBUklBODM0VE1sNEhPM3hPQVJQQkZWbFBvakVuUWFiZWVtNm5nRzMzTnpjelR3YzVlTGl5bFFlcnY3cE03Z2FlN0h5aHJuWS8vVy80ZDdweDdlSllkK1RQOENQLzE2Qk94L2NoS201Y2J5MjhuYjgrSHUvUGZUZTFwODBHc1pLdFlNTmxPb2doSUlRS2dvaVJLSWhxUko0d2lFRWpUWVBVUlFnZW5JZ3BDMmNrREV2eXBSVWRVM1ROdklieWNYRmRlSzBGeHYvK2lGcXYvcGRUQzEyQWE0OFRMN2xHNWg0OU9tWDRKaGI2ejlLUlVoNk94VWhBREhDVUVFVUlZb2lSRW1DSUlxaTVkak1rQlI5Ky91MHpzNU9Eall1THE0VHFIYTB0L3RSVkJ6bys1Q3JBZ0Z2MjQ1c1lhZ0Z0NHcyRHdBZ1NFTXRYUTBWUlJHU0tLYkJac0tOZ1pyVnp4YUpSRjVCZWtzOEZ4Y1gxd2xRTG5KejR6amNGck0rUW51Yjkvem1qUVAyYW1qS2hCckpQREhYT0NrMy9mK3lVQk5GQ1pJVzY2dUttbStaWTR5c0FkUmtNcm1CM3d3dUxxNVBySXcxZ2FOdzlSZEhvdTZSMytMbDVnU0FOcnp5MndkZVF2OUpnNHpDZ1hXd3BNRW9RUlJBb05ORWtrSVVDWFFLU0pJSWljWWdzWTZOeWJVUnBqcXFIVHAwNk8rVmxaVUwrZDNoNHVJYWlwcWYvQ2ErZkYvZnF1SjNicndZOXdPWTlNTk4rTVhuQXFpWTlYUDhWOXNTM0QvdlN2dzRya0FMalhqWHdhM1pHM01wVE9NbENCQmtCWDZ0Ry9HT0kyanNKSkQ5WlJpWG13TTVNQkpreElnUjZPM3RSVzl2TDBra0VraWxVa1JWVmFMcnVrQXBsWkRlek9wU1ZmV1BnaUJjeVc4WkY1ZXpQazFicW9ZcVNvRzNZMkVVVnB5OHJaeXFxcjQ0dktKc0pZQmU5RzJqTXE5dVFrZ0NRSW9Rb2hKQ2RGRVVxU1RKVkZFVXVOd3U2bmE3NFhGNzRQVjY0ZlA3RVF3RUlFaVNaRHEyak9xb1BSenQ3dTUrbWo5MXViak9MUkVDU0VSSFY5ZkoyL0hVM0h6b1ZZY1FOQVZBSllSa2JxVXkyQ1FJQWtSUm9GWnVUUkloU1JKa1NZS3NLSDNGQTNzUndWWWQxZSsvLy80TkFBN3dXODNGZFc2cFFFbWdLM1p5RHRXbWxEYjkxNDhXNzJMQWxyS0ZvVHJNSTRyTW5RYlcyRlFmdHlSUlNvTk5scUVvU3A5alkvTnNnaUNBb2FNT1FMdnJycnQ2VXFuVU9uNmJ1YmpPTFJVcENkQkVIRWVhbTA2NGM0dkg0ODg5dittNWxKTmJBNGc5djVhR216RVhhb2VhSk11UUZRVXVsd3VTSktVL2FQd2pLb29pMFRTTkNvSUFUZE1vNDlyVUF3Y08vTFdxcXVxNy9GWnpjWjFiNGVnRmdTaU9KTHB4dUMyTzJGRVJYY2tUYzRMdUs2Kzg4bllXdDZZQzFCeDhUM09JR3RKMWFKcEdOVTJGcXFhUVNvbElKa1ZJdlNKNlpRazlMcVVQYkV5dWpRMUhNMlpIUjR3WXNVdFYxZldDSU16Z3Q1dUw2OXlDVzZGYlJhRTdCa3FCekZVcG4weUpaT3B2bHkxYWROVG0xRklBVWdSUVFjd3dGRlFnb0NJQlpCRlFKTUN0RUhnVXdPc0N2RzRnNEFWQ2ZpQTNDQlRrQUlJc3k3QzVOdGdINDQxUkt3M3BTUVFlam5KeG5lT1FPeEhhM1hqZ1ZRZTNsdEhta2JGaXp6aDNUUlRUb2Fna2lwQWtFYklrUXBZa0tJb010MHVCMStQdUE1c29pdVpiYW9hbHpKSGhWblUwUHo5L0M2WDBWWDU3dWJpNFBxazBUZDgrWWViOHhnSGNtdFozL2xyYVhJbUVVRkVnRUFXUlNxSUlVVXpEVFpZa0tMSUV0eUxENDNiQjczVkRVQlFGc2l6RDd0eHNEYnRXRVFHQTJ0WFY5UVMvTlZ4Y1hKOVVCdzYzdmpDQVcxTU50NmFUOUpaM0toQkFFSWpoMUFSSWttQTROUkdLTE1GbHVUVVhBbDVQSDlnY2lnam1pRlhHN0NnQWJmcjA2ZXNvcFh6WkN4Y1gxM0ZMcDdSdTZsZS8vMzRXdDJiTWgvWVZEZEpnTTl5YUtGRFRxYVhiTzJ4dXplTkdNT0NENEhLNWtBVnVHYTZORFVkZmYvMTF0YmUzOTNGK2k3aTR1STVYUjlvNm4yMXE3V1NobGpTdU5OU0llWkpIdW45Tk1QWWFtQzBlYkc1TmtmcmNtcy90UXNEblJZNGRiRGE0c2E3TlBoaXZybG16NWtrQTlmdzJjWEZ4RFZXVTBvWWYzZitISFlPRW9kWkp1UVJBMnEwSkVNVjBiazJTUk1paVpCVU1YSVpiODNrOUNBVzh5QTBISUhnOEhqakJ6VlloWlVOU0RZQTJkKzdjYUc5djd4LzRyZUxpNGhxcVdqdWlHeDVhOTN6Q3lhMFJJR1VVRFRUQVBFZ3k3ZGhFVVRDS0JRSmtVWVFzRzdrMTJZQ2F4NFdBejROd3dJLzhuRkFhYkc2M3UxODRtcVg5STZQMVk4T0dEVThBYU9DM2k0dUxhd2h1clhIWncwKytaWU1hNjlqNldqelNSUU1JaEVDMGlnWnB0MmJPaENxeURMZExoc2Vsd08vMUlCVHdJUzhjUUZGZURnU2Z6d2UzMjIyNU5oWnc5dFlQVzY1Ti9mS1h2OXpSMDlQekdMOWxYRnhjZzdxMTltTlAvL0t4cDN0dElhanAxbFNRdmhWN3Bsc1RCVUxUYmkwZGhxYUJsbGtKOVhuY0NQZzh5QW1tM1pva2lSRDhmais4WG0rR2F6dWUxbzgvL2VsUGoxTksrUW03WEZ4Y0E3bTFQWGYvNW85dk9rRE5kRzBPTFI1RzBVQVVqUllQZXpPdURLL2JCYi9QY0d1aEFJcnljd0FBUWlBUWdNL25nejBrWmVEbTFQcGhWVWkvOFkxdkhPdnU3djQ5djNWY1hGeloxTnphL3ZRRFR6NDNXRzR0b3lGWE1OeWFKQXEwSDlRVUdSNlhLOE90UlhKRGNCdUxUSVZ3T0F6V3RRMVFKYzNxMm1iTm1yV0dVdm82djMxY1hGeDI2YnIrNXZSdi9IQ0hBOVFHY0d1QUtCQklnamxkMERkaDRKSmx1SlYwTTY3ZjUwRTQ0RU5lT0lpaS9GenJhd281T1RrSUJvT1dhM1BLdGJHdWpka2FiMjFyM3JoeFl6SWFqVDdLYnlFWEY1ZGREVTJIbjluVmVFakY0SlZRSFNCVVNCOGtTVVZCZ0NTSmhsdExRMDJSbWZZT2p4dEJueGM1d1FBS2NzUHdldnAybXdyNStma0loOE1JQkFMd2VyMFczRXpITmxUWEZnNkhOK2k2L25kK0c3bTR1RXlsVlBYNWtaK2J0OHZCcVEzdTFzUk10eVliQlFPUDJ4aWQ4bmtRRHZxUW54TkVVU1FuNCtzS0JRVUZ5TTNOUlRBWWhOL3Z0M0p0RGhNSkE3azJsUkNTT25Ma0NIZHRYRnhjbG5ic3F0K0V6R1pjQzJ5R1cxT0g2dFpjVm51SE1Ucmw5eUkzRkVCQlhoZytqenNUYkNVbEpjalB6MGRPVGc3TVFzSlFjbTFtTVlGMWJjWEZ4ZjlJcFZJUDg5dkp4Y1hWMWRPN1p2THM3eCt3UVMyUnphMEpSaVhVeWEwcHNnU1h5Mnp2Y0NIZzkxcnRIU1dSdkg1ZlcvQjRQQ2dxS2tKZVhoNUNvVkRXUW9KVGhkVGUxMFlJU1gzd3dRZVBBVGpJYnlzWDE3a3JDaHo4NitaL2JvTnp3WUIxYXhsOWExWWwxTzdXRktOZzRIYW4yenY4WHVTRmdpakt6NEhIcmZRSEd3Q1VsSlFnRW9tQUxTUjR2VjY0WEM1a0c1TFBsbXViT0hGaWZYZDM5NFA4MW5KeG5iczZjclRqeWEvZSthc09tMVBMNnRaSWhsc1RNODVaY3lreVhJb0NyMXVCejJzVURFSUJSSEpES0NuSWMvejZBZ0FvaW9LaW9pSmtLeVRZcXFUVW5FcXdyK2d6WGR2VXFWTWYwM1g5Ulg1N3ViZ0drZUk3NjM0a1ZkTmUvc3lYYm50akNHNU5NOXlhYms0WlNFYmZXcjhxcUhFeWJzQ2JidS9JRHdkUkZNbUZJa3Zad1FZQTVlWGxNQXNKWmtqcVZFaGdoK1NaR1ZLZGRXMDdkdXhJSGpseWhPZmF1TGdHVTZqa3JQdVJkdTVwZkthcHRkTStYWkFBa0NETUJpckRyZW5FT2tTU1dFNU50bzFOZVR6cGszSE4wenNLOHNJb0w4clArajBJN0IvTWtOUjBiUVAwdGxtdWpabElZSjFicXJpNCtPVmtNdmtiL3N6bDRocEFrWkZubFd1THhyc2Z2WERXN1I4YmJvMkZXdC9BZS8vejFxaElDRTBQdUlzMGZTcXVuT0hXMGhNR1hvU0Rma1J5c29lZ2ptQXJMQ3pNR3BJNmpGdFJTWkl5Q2dtc2F5T0VKTGRzMmJLS1VycURQM3U1dUxLSUNFRDFwVUJPQlNCN1B0VS9pcTdUZHgvNDB6UDJnb0dWV3lOQTBneEJtZlBXcUdDRm9HbW9aWnlLNnhTQzV1ZWlNQzg4NFBmU0wwQXRMUzFGZTNzN290RW80dkU0ZW5wNmtFZ2trRXdta1V3bWtVcWxvS29xVkZXRnBtblFOQTI2cm9OWjA2ZFJTZ1VBNnRWWFgzMjRyYTN0d2R6YzNKWDhHY3pGbGMxZWlFREp1RS85ai9IaG5qM3I3L2p2eCtJT1VFczdOa0xTQlFOQ05DTjlSUVZSaENqTGtGd3VTQzRYWkk4SGl0Y0xsOThQZHpBSWJ6Z01mMTRlZ29XRnlCMDJEQVVqUnFCMDNEZ2dGQnE2WXdPQVVDZ0VwOTYyTEkyN0dTRXBISnAyOC9MeU5xWlNxWWY0czVlTDYreFZQQjVmWFZOVHM0Y0pRVE9nUmdoaDErcnBBTktOdUtKSXpWWXlXWmFoR0p2YzNXNDNQQjRQZkQ0ZkFvRUFjbkp5a0orZmo1S1NFb1FHZ1pvajJJQjBJY0hzYldPSDVMUE5rdHFhZG5WQ2lOVnBUQWhKdmZycXE0OVFTdC9tdDUrTDYreVRydXZ2UFByb295K2lmMTZOaFZyS01Ec2FJVVEzSnBpc3RaOG0xRXl3ZVR3ZWVMMWUrUDEraE1OaDVPWGxvYWlvQ09YbDVVTXp3VTRmbEdVWlpXVmxLQ3dzN0ZjbGRUaHhkNkJDZ2dvZzlkblBmcmFwcmEyTmg2TmNYR2VoOXV6WnMvNDczL2xPTkdzSTJ0ZTNabXgySjFuZG11blVQQjRQL0g0L1FxRVFjbk56VVZoWWlMS3lNc2l5UEtUdlNjcjJGMFZGUmVqbzZFQTBHa1ZYVjFmV1hCdWJaOU4xbmVxNmJtNjEwaWlseEhCdFFpUVMyZFRiMjd2QzVYTE41MDhGTHE2elE4ZU9IWHU0dHJaMjd3QnV6ZG8rWmJnMWFvTE5iUGhublpycDF2eCtQNExCSUhKeWNoQ0pSRkJTVW9LaW9xSWhmMS9TUUg4NWJOZ3dkSFoySWhhTG9idTdPd051WmdIQnVLaXU2OFJXU0tBQWRFcXBWU1g5NHgvLytMOXo1c3daS3dqQ2RQNlU0T0lDOXUzYjk2bjkzbFZWZmVtZWUrNTUyUWExWHB0Ynk4aXJBYUNFRU90ekdDWUlBSkRHUnZxdHdSSHJZOGY3V0EwSU5wL1BoN0t5TXN1MWRYZDNXMkJMcFZKMjEwWTFUU082cmxQakc5TU54MmJtMjRSdmZ2T2JIZE9uVDMrd29xS2lGa0FKZjFwem5ldXFxS2o0dEg3cnphKysrdXFHVmF0VzlUaUVvTDJ3RlF5TXZKcHVPRFZxT0RScTV0TE1Ja0U0SEVadWJpNEtDZ3BRVmxhR3Fxb3ExTmJXRGptM05pU3dBZWxDd3JGanh5elgxdHZibXdFM3R2WERDRWRCMDRMUjEwWW9wV29hemtTb3JLeDhJeHFOL2s4Z0VMaVhQNjI1dUQ2ZE9uanc0Qjh2dWVTU0pnTnFMTkRzSWFocVRpWVJRcXk4bXIxWTRIYTdMY0FGZzBIazV1WWlFb21ndExUMHVLRUdaQ2tlT1AxV1lWdEEyRUY1V3dzSWRSaVNaOGV0VW9TUVpEQVlmQ0taVFBLUkt5NnVNMVIxUzZhaXF1cG1ySTMyLzd0NFBMNjZyS3pzYldTMmRsZ2hxQzJ2WmtITlZnV2wyYURHdG5aOFVrYzdKTEFGQW9HTUZwQlFLT1E0bFdDRG0xa2x6UmlTTngrSTU1OS8vbUZkMTdmd3B4QVhWMXJSdXJWWU11OGFUQjFmZzZxcUdveWZOQjJ6Rnp5Q3JhMW56dmVvcXVyV2xTdFhib0Z6QmRTQUcwMVNTbFZLcWFicnVxNXBtcTVwT3RWaHVUV3FLQXBFdFF2dDdURWs1WFE0R2dnRUVBcUZNbG83QW9IQUovbytwYUgrdy9MeWNzZHBCSWRjVzdhUUZFYk9UU1dFSksrOTl0cERqWTJORDFSVVZGUVFRcXI1MDVyclhGYnIxZ1dZUFc4ZEdvSVRjTzMxODNGREtSRGJ0UTBiTml6Rm5LMnZZY1V6RCtLNnlPbjlIaW1sRGR1M2IzOTZ3WUlGTVljUXRCZnBJZmNrcFdiQmdHaUVwRWVuS05WcEt0R0RoTWVIZ0dHQ3hHZ3ptbzhvQ05lY2x3RTFNNy8yU1VMUTR3WWJBQXdmUHR5eFF1b3daa1YxWFNkbVpRTUExWFdkYlFFaGhCQmgrUERoYjdhM3Q5K2ZrNVB6aStQOVhyaTR6aDZydGhYTEZxeERRMlFtVnExZmpta1d3RzdGTFRjc3dZeVpxN0JrMlZaY3VYd2FYS2ZSckRVMk5xNlpPblZxazgydFpZYWdsS1lMQmtUUVJNSHFWNE1rYU9qdVNhRTNucUJDWGhBdWx3dWlMSUFRRVc1dlptdEhhV2twaGc4Zi9pOTlzOEx4L0dPdjE0dUtpZ29VRnhkbkhFeVo1ZFJkS3N0eXY1RFVOcFdReU0zTjNkRFQwL01yL3V6bU9uZTV0Z1liamlxNGRQNUMwU0F4c2dBQUlBQkpSRUZVQm1wcEJTZmVnc1VMYnNDVmtRUmFiZm12WmFzWFlNYlVHbFNOWDRDdGFkK0hyUS9jaGhsVHg2T21xZ28xazY3QnpVczJvU25CZk1LdHQyRjgxWFFzV3JzYWkyWlB4L2lhS3RTTW40b1pDOWFpemlHZmxxamZnRVd6cDJQc2lJcUhxcXVyMzJlY1dpOTdFVUlTWUErUVRKL2NvWnVOdUxMTEI3OGtVSUhxSUhvNzluN3dBZDQ3bEFRaGNieS82Uzk0NUsvdkl4V0pvUGpJVTVnemF3NXUvLzJmY05zMWsxQlROUlZMNmdCc21vZWFxa2xZc0Qzeis5dTZZRHlxYXVaaEUvdkJwcTNINzVLS2k0c0hkRzFtT01xR3BHWUxpQkdhc3ZrMkFZQXdaY3FVaDk5ODg4MUNXWlp2NGs5enJuTk5kYS90UUJLMXVHS0tVNndad2JSYmwySmF2NDl2dzhwbFZiamkrdmxZVkZXTGFrU3hkZEVNekZtVHdPUWI1bVBwQkJkYVgxdUhsYXR1d2V6b0ttek9jSHNOV0xOb0ZhNmRQeC8zelE4aXVtMFZscTFjaU5sUkZ6WS9lQjM2dm92dFdIWnpIU28rKy9rbjlyZjhnKzFYNnhlQ3NsQURvRk1LU296RlQrbThtZ0ovVVNtS3ZWNzRQQkp5eHBZQnh4cnd3V0UzeGw0eEhSZVBIb054UlVVWTVnMUJrUko0ZnZrS2pMbjJSc3lmV1lXSkVRQk5RM2UvQzJiUCtXVGhYM1YxTmVMeGVOYjJEd1pzR1NFcHBaVHF1bTV2QVNFN2QrNFV0bXpaOHREMDZkTUxSRkc4bWovVnVjNGRKZERhR2dXVUNDSXMxNkt0YUdXZEZsd0lSb0lNbkVveDg3NzFXRDR0YVB6N1RWaXhIWmh3eTRONGRPSEU5TCs3L2pwRVdpZGg0YWEvWWZ2eWFRd2NGVXhlL0RqdXU5SDRnbE9tb0N3eEhUTlhyY0NxdXV1d3NMYnZhNDYvODRuTm56bXk0ZmtOOFI2blhqVjdGVlFsQXRHaFU1MVNuYVpTS1ZBSVVFUVpzaXhUYTdqZGx3NDlKYmtadTQ1NFVUbHVJaTQ1dndMRHk4cFFmU3k5UnEvcWxzZXhmbUh0Y1lmZWRTdVhZTjNCcWs4R05sRVVVVlZWMVE5czdEU0NiY3lLbUlVRUkrZkdGaE1JSVVTNDZxcXJtdXJxNmxiVzFOVGtFVUltOFNjODE3a0N0a1FpRFJFWDh5cmV2dVFhM0xEdWFOOEhBak94NnQzbERKeXFNWGxpa0lsWnI4VHl6VmZhUG5jUTFXVVJZSHNyb2dtZ2p4SXVSTW9pR2RDY09QTTZWSzFhaWUwN1dvRmE4KzhtdkZXdTdIMTYvdno1VVZ0T3JjZTRlbTM5YXVsR1hJbFFVSjFxdWs3VlpDK090U2RvM09WSFVYa0llVVpyUnlBUWdCU1ZJWW91QlBNTHJXWmM4VjBDSUlEYXliV2ZJSjlZajYxYkc0QXhDejU1d2o0Y0RxT3lzdEtDVzdZS0tldmNUTGdaVXdrZ2hKakZCSUVRUW1wcmE5OXJhbXI2YlVsSlNTNGhaQVIvMG5PZC9US0JaZ0RPZURYWDNuSWZWbDJiQUJERnRtWHpzV29vb1ZpMERtdFhyTUNhVGR0UmR6Q0dwR1hRcXROSUdvZ1VaVlVvQTFEZjBBUWdBa3BSMzlQVDl1ZDdaMTdWWW9OYVh3V1V5YXNadVhNcnJ5YkxMaXJMTW1SQnAycWlGL0dlT0pvYlBnTDFUY2Jra3JSamt6c1VTSklMNGNJU1ZGWldJaHdPLzR1UFpTc2FXZ0ZsWXZXL1Zva3NLeXV6QnVSWnVHWEx0UmxRTTRlL3pMQlVNeDRjQWtBb0t5dDcrZWpSby9mbjVlVXRBaERoVDN5dXN4MXNrVWdRU0RhaHFSVkFtZUcxcXFkZ1dqVUFSTkc2U2hsQ2pxa09EOHllZ2VXdEV6Rm40WElzckM1RDBBWFVyYndaQ3pjTjFUdGFPbnFndlh2MTRjT3ZOQ0p6c0wzWElhK1dNdk5xNWpKMWRyckE3WGJEazErRVNpV0ZwcjM3Y0tUaE1EQ2hDams1T1ZEYVhaQWtEL0xMS2xCV1ZuWkNIOVYvdWNWaTFLaFJHYTZORFVudEozOVFTdGw4bTI0T3d4cmhLU0dFRUVvcHljL1AvM3RuWjZjL0ZBb3RCdURtVDM2dXMxbTFsMDVFWU0xVy9HMVRFNzcrOVUvNEF0K3hCbXQyQVpldWVCQ0xyK3NMVVJQQklRWjA5ZStnQ1VDa3FxejM0TUdEcTY1ZThYWWQrdG82elBDVGRXdjlRbEJDcUs0bWswaUpMbmg5TWhSRnNmSnEza0FleXZNUG9MTXRpVlFnalB6OGZMaU91cUVvUGhSVmpSclNMd0Fna1VIZi9vcWdLZ0lrbTVxT3I5M0RTWVFRakJneHdwcE15TS9QdHlZVDdHTlhaZ3VJYmZHeU9YSmx0b0FrQVNUQzRmQ2Z1N3E2ZUJzSTExbXY0TFJiY0gxcEV1K3NXSUJINmhMOXdxdlcxdVFRN0ZZQ1VRQ0pLUFAvSitydy9JNVd1eHNERUVOOVhUMGJ3MkxUcWswNGlER1lNZ29QR2VOU0xOUjZHYmhsbkxGbXZuN05maldCZ0ZJOWhTVHBLeFo0dlY3NFBDbkU0Z1NDUHc5bGhma29LaXBDUldFSWlxSWdtU1NELzN5UkNDS0lvYjYrS2VQbmU2MHV4dnlqYWt5YlZnWHNXbk5pbW1JRGdRQ3FxNnY3RlJJMFRjczJJRDlZTVlGUVNvbmY3MytzdTd2YjQvRjRidWRQZjY2ek54cWRpSVVQTGtMZDdLVllPbU02bnIvdVNsdzZwaFE0Mm9EWE5tM0F0b1lBSnR3eUV4TUh0SDNYNHNyOGRWaTNaRGJtTlZ5SmFyUml4NllOMkhFd0NTQ0tSQlFBVTJ2WXRYdzJaalJjajJzbjVPUG9hMnV3K205SEViNzA5Z2QvTUtuZ0h3Nmhadzh5anlPeU9UV3pFVmVpYmg4UTYwclMrTkVXSkx1RHlBbW4wQk5ydzc3Mk5yUW5YYWllUGhVWEdJZEdqblNOUXVpSkxWaXpaQWx3eGFXNDdzWnBLQnZvNXl0ZGhWWExic2E4Z3pNeHdYVVE3MnphZ09jYkFEQ0w0R3R2V1l5WkcrYWN1Rzcvd3NKQ3gxeWJxcXBzUDF0R1dNb1dFNHhQbzluRDBsbXpaajM4NXovL1dYRzczZC9tcndDdXM1WnR0Vi9INDV0cjhjaXlGVml6ZFMxV3JJc2hxZVNqcW5ZYWJsazVIL092ckI2NFNoaWNocVdQTDROcjBRcHNXTDBTVzExVm1ITDlmWGg4d3ZOWXRMSUpCNW44SFJEQUZZc1dvMnpiQ3F4YzBvQ29xeFFqcjczN2tmcFhmN2tWL2FjS3JCQ1VFQ1FvTlZmb1dWRHJhOEtWWlNpS2o1YUdLSHFpY2NSN1kyZzlITU5SUVVHNHNBcFRwMTZPYS85dEpFcExTMUZWVllYeXkrL0U0amVic1d6REtxeG96Y2UwRzZjTkRQOUhseUc2WUFVMnJWcU9yWUVxVEx4dU1aWk5YSUdGR3pJZmgrV1Byd1JoRDNJN0VkcTllemQyNzk2TnhzWkdIRHAwQ0VlT0hFRjdlM3ZHMFVjR0FBa0RRR0wwdXdrQVJFcXBCRUFHNEtLVXVuLzBveCtGZi9qREg5N2ljcm5tOFpjQTE1a3FUZFBRMU5SMFpwK3h0dlUyakorekZkTld2WXY3REk3RVlySGZmL3ZiMzk3OGh6LzhvWWR4WlQwQXVvMjNQWVFRcTJCQWpHMVQ3UGxxek5IZTFobHI1dnluZWI1YVNVa0poZzhmanBxYUd0VFUxSnpVSC9PRXoyZU9IajNhQ2tudDdSOVpYSnQ1NGk2UVdTbTF3dEtmL09Rbm5aRkk1T0c1YytjS0xwZHJMbjhKY1hHZEdNVmlzVDhzWHJ4NGl3RzFKQU8xSGdacS9VN0RkYXFBc3NVQ244L25lTHgzWldVbFJvOGVmZEovcmhNT05rSUlSbzhlYllITjN2cWhhWnAxNUMrVGI4dFdLYlUrNTNlKzg1MDJSVkVldnVtbW04RGh4c1YxWXFDMmRPblN6U3RXck9oQ1pxR0FiY0RObGxmVEJVRmdOMHhSY3hHTC9jQkkwNjJaVUdPUEJ2L1VnQTBBUEI0UFJvMGExYTlwMTliUDFxK1lZTGcwMDdXeGNDT0VFREp2M3J6V1JDTHh1N2x6NStwdXQ1dUhwVnhjbjFESjd0anZGeTlldkdVQXFMRk9yZC9xUE9QQVNHcDNhdWJLdkZBb1pCMFlXVnhjaklxS0Nvd2FOUW9lejZuWmRpL2VmZmZkSitVVG13ZFFtbkF6SzZRczNHelhZQmluQUxCeDQ4WVVJZVQ5aXkrK1dKVmxtWTllY1oweG9wUWlHbzJlZ0E3Nms2aktxM0hEelRjODh2U3kvMi9MNzM3M3UrNXNUZzBPa3dWc29jQ0Vtc3Zsb3V3SnVQYVZlV2FoWU15WU1jalB6ejlsUCtaSlBRT3RzTEN3M3pTQ1E0VVVUSjdOcXBRQ2dHMWdIb1FRVUVxeGRPbFN2UFhXV3crdVhiczI2ZlY2ZVNzSUY5Y1ExZEhSOGVBVlYxeXg5YTIzM2twbWMycXdIVVBFVmo4eks2QjlUczNjMnM3bTFJcUtpbEJSVVlHUkkwZWlzTER3bFA2Y0ovMXd4L0x5OGd6WHhrNGoyRjFiK3BjZUpRQ29xcW9tM0RRMkxEWGh0bkhqUnZoOHZ2K054V0s5ZnIvL2R2QUpCUzZ1Z2RUYjJ0cjZVRUZCd1QvUS8vVGJnYUNtRVVJMG9lOElvcXpoWnpBWVJEaWNuaW9vS2lyQ3NHSERyT2I5VTYxVGNtcHRkWFYxMXVQRG1WTjJUVHR2NWRwVVZUWC96aEZ1QUJBSUJQN1kwZEhSSFE2SGJ3T2ZMZVhpY3RMUmd3Y1ByakltQ3RqWnp4NWIrT2tJTldiQmNRYlVuRmJubVZBckx5L0hpQkVqVUYxOWVrNzlQMlhIY2RmVTFHVGJpK0RvM0V5NEFlbitvQUhnUm5OeWN0YTN0TFIwUlNLUmIvRlRRYmk0d0JxRit2cjYrdFVqUjQ2c0c4U3BKYkpCamMycFpRcy9uYUIyc252VnpnaXdBY0RZc1dQN3dTMEwyQ3k0bVFtM2JIQXovMXhZV1Boc1kyTmpkTml3WWZNRVFiaUlQNlc1em5WcG12Yld1KysrKytjTEw3eXdFZjFuUHdkcjZiQ2dObGhPellSYVlXRWh5c3ZMVVYxZGpiRmp4NTdXbi8yVWdvMFFnckZqeDJaMWJRNi9iVmdINXdnMzQvTlNTaWtkUG56NFAzYnMyTkU1YnR5NGI0cWllQlYvYW5PZDhUcjJ1NVB5YVZNcGJmT1diYnVldm1ybS9TMU0rR21mL2V3aHhycThUS2hSalJCS1JZRlFVYUJVbG5USW9nNlhwTUl0cS9BcUtmamRTUVE5Q1lTOVBjanpkNkV3RkVkNVhoVFZoWjBZVzk0R0VuMzkzQUViQU1peWJNRnRFTWZHNXR1eXdZMGFINmRtYURweDRzUVAxcTlmdi95YWE2NXBWUlRsYS95VnczV3VxYnM3K2NURGoyMTdmdjRkZjQ0T0FMVmVBaVJBWUt0K1FpTUVhYWlKaE1xeUFFVVc0WEpKMU8yVzRmVW84UGxjQ1BqZENJZTh5TXYxbzZnd2hQTFNYRlFQTDhEWW1sTElrbmphSDRQVHN2TE83WFpqN05peGpuazIxcTJ4SVNraEJLbFVLbjBVU1ByLzAvcllsdW5jWnN5WWNiQ21wdVpYYjd6eHhoRy8zejhmZkxVZjE3a2h0YTA5L3RENGYvdXZsdzgyeCswN0N0anoxRXlvMlp3YWRJR0FDZ0toa2dFMVdSYVE2RXpRenFBTFkzTFNVQXNHR0tnVmhGQldtb3ZxNFJHTUhWTUN0MXMrSXg2STAvYUM5L2w4RnR6c1lMT0hwWVFRYXVUVDdLMGc5Z2tGYXNKdDkrN2RlaUFRZUt5bHBlVndKQks1aFM5bDVqcFR0ZjJlKzNIejBmOFg3LzY2OWhQdkRhV1VOalR1TzdxbWVzS2k5NUc1VGFyZmVXb00xTlNCb0tZb0luVXBJcWlRUkZLUjRmZTVFVENobHVkSFVVR3dEMm8xcGZCNVhhaC85cC9Zbmo4T04zN0c3L0JkeHJIMXZtZXc1T245YUlwSmlJd2JoOFUvbVk0clM4NGlzQUhwYzl6R2poM3I2TmpZdkJ4Ny93YUJHMldkR3dCYVdGajRiRjFkM2VGUm8wWjlYUlRGei9LWEVkZFpaOU5VYmV2Mk54cWVubnIxTDV5V0dkdVA4MDZBOUIzcDNRYzFRZ1VCVkpJRUtrdkVnSm9NdDF1QUpoS0lMaGNDQVRkeVdLZFcxZ2UxUU1BTlFFWGRjNjlnWlVtVkk5aGFuMzBHdHowdFllbGp0K082a2w1cy9kRWF6THZqRFd4KzdDS1VuVTFnQTRCUUtHVEJiUkNvOVlPYmtXOWp6M096Z0diQVRRZWcxOWJXdnIxNjllcERNMmJNK05qdGRzL2hMd1d1TTFXSlo5ZGgvSVBBamFNVDJMcXpEYTFKRjZiZE5oUExQNThIRjFxdzdEL1dZUHZvS3JqMnRLQXBsb0JZTldiMWVTUFZMYis1NXk4eFpMWnoyTU5QYSs2VFVxUUVRalFRNkNiVVJBRlVUZWswbWRRQlFxZ2dFNVNWeXZCNlJHZ1MwTzEyR1ZEelFEdTBIMzk2TG9aTzNZdnlDOGZqaHo4ZWp1dUMrN0hrUDU3QzJrTWFZbGlEU1hzdXdlTVBYNFMrTUVuRmp1Y09JZmp2czNCZGlRVEFqMmx6eHFINkt4OWllK3dpWEorb3c3eXZiRVhrWjdkaTZXZk9BckFCNlkxWEE1V0hUY0FSUXN5TEVrS0ltWE16YzIyNnJsTzJ2NDExYmpmZWVPTWhBUGUzdGJWOW5KdWJld3VBWXY0eTRqb2pkZWdZY05jc2JQNlpIOUZYbjhIME8xN0Nwcy9PeEhVQkFFaWdWUm1EOVgvNVFuUHk0LzEvTEp0d3o5dGIrNWFxSkJtSXNVZDVKd2hCa2xLa1FLQUtJQm9JTklHQUVvSG9va0JBVXhyVmlJQ2NQQmYxU3hUdHJRbTBkSXNvSzNCQmxRVW8zblQ0NlRuNk1WYnZDdUsySDgvQXZNdHo4ZkZqeitMbWIyOUc1QzlYWWZGZmJzV0UyMytOWlNVMzRPVUY5aEdxWHJUR1ZFUktHQ2VYNzBjRXZXZzlDbUQ0TU54eTE3OGpPTzRzY1d5bWNuSnlNdURHUUt3ZjJPek9EUUJoNWtyN09UY0F1dUhlYUY1ZTNsL3I2dW8rSGpWcTFFMmlLRjdPWDBWY1o1eEtxakRUQ09XQ280ZWhPdmtHV21NQUFnQWdvbVp5eFV0N3QzKzQ0WktyZnRHRWdiZXo5OXBDVHhWSWg1NkVRQmNFUWdXQlFKSUlKUnBCVWdjbGdnaVgzNFVSdVVFb1hpK0NBUWtwUlVEVTcwTnhnUXYxcjNXaCtrdWZ4N3pMaHlFbjdFWE9iWmZodXFmWFljMC9wbVBLWUltZWZxc2JSQUFxWWtrQThHUGlaLzFuVHlocWg5dDU1NTNYRDJvRFFJNlN0UHJsM0N3YjE5Y09Zb2FtV20xdDdkcy8rOW5QR3Ivem5lL3M4bnE5L01oeHJqTlhSalVoWVd4ajZVbHBENy95Mk5xWEgzNXVXNDh0bjlaLzd5ZVFwRUNLV0ZDRER2UkJUUlFKbFNRQ1dSS2dlQ1hxN2traDJ0Nk56clllQkNLNU9ML1lqWnl3Z3FSYlJHY29pUEl5TnhwVUwyb3ZISUdjc05kTUpxR3FSTVh6UjNzeDZMaTJZditBQmtCQ1FEbnhEOXNaMXdZUkRvZUhCRGQ3V0dxK2J4eU5wSnRBWTRvS09pSEVkRzc2SFhmY29kOXh4eDMvZStEQWdiMmxwYVUzRTBJbThsY1IxNWtxcXROM2R1MDVzdjd1VnhyM0FvMnFRejR0dzZVUmdpU29CVFNORUdpZzBFRkFCWkZRU1NCVWt0THRISW9pVWdrRXZrSS95djBLZkxLTzVvK080dDJtZkV3WTRVZlNJNkV0TndjanF2TVFyWGdmcjBaMTVqdUxvK0dvaEVqK1lHZFF1QkhKbDlCNktBNGdsUDdRMFRoYTRVUGtKSnhtSkp5Sk56RVVDbUhjdUhFWU9YSWtoZzBiaHVMaVlrUWlFZVRrNUdSYjdVY1ZSUUd6Mm84eXEvMDA0NHoyRklBa0lTUkJDREhQYys4dUx5L2Z1bTdkdWgvMjl2YXU0aThmcmpOUnFxNnRmdkdKTGY5VE8vbC9kaU56ejZmMVBHWXVhMFVlTloyYWNaWmEraGM4Mjg0aEdJMjNJbExIZXJDL1RZWHNkU09VNDBlK1g0TGk4Nkc0S0loOG40SkFRVDdHamFuQkYyY1BSOTJxRjdEaGtBcWdGenNlMllvTkdJTWIvaDhKZ0FTWFMwS2k3UmhhRS8wOTFKVExoaUg2M0hhc2JWU0J4REZzV3ZVTzZzZU53cFJBR3BBN1hteEFmZUlzZFd5bUFvRUF4bzBiQjBFUUhDOUNpUDJ0NWR4U3FaUlpNV1dMQ3BRSlRVMzNwZ0hRdnZTbEx6VUIrRTFUVTlQT2twS1Ntd2doRS9qTGlldDBTOWZwdXgvV3Q2OWYrK0diZTdEc1RaVUpQWk9PTG8yQkdhVjkrd2xJdWo5TkZ5aEZTdGRwVDFLRXp5dENVU1RxZGtsd3UyWGtqMUNnSEl6aG5UZmpvS0tNZ29waG1IMVZHU3JLdlVnRVhEaFlXb0pBd0kzQTU3K0FCNDgrZ3lYLytXc3NpRW1JakI2RHhiK1pqaWxHeUR6bCtuRW91K01wVFAzUFMvRE1FeGVEYlI0Tlh2WHZlUERRYzFnMDk5ZFlaUFN4M2ZlVGllbFdqNlA3c2ZKSFcxSDJtMXV4K1B4Ly9iRTc0VnVxVHJSNmUzdnh3UWNmb0w2K0hnY09ITURodzRkeDlPaFJkSFoySWhxTm9xdXJ5OXA4bFVna3pGMExoTmwrQlYzWENhVlVNQzhqYXlrQmtDbWxpcEhKY0FGd3JWcTFLakpyMXF6cnZWN3YvK0V2TGE3ajBTZmFVcFZsVmpRYTYzbjBnZjk5Y2RzZGR6OFZSMStCZ0IyUFlzUFFkT2dKTnZRa09rSC9Jb0VzQ1pCbGticVV0THZ5dUdWNHZhNk1pWUw4dkFDS0NrSW9MOHV4eHFUT2xJbUNUNzFqc3lKenR4dm5uMzgrUkZIc2Q3SHV6ZWJnc2hVVktKTjdNNHNLT3RKVlV3MkFPbWZPSEczT25Ea1A3ZDI3OTYycXFxb2JSRkdjeGwreVhLY3M3RlQxbDNlK2YrQ1pDeSs3OTJNRFVuYVh4dWJVa2dSSVprd1JvSzgvelhCcVZCU1lJb0VpVWtXUjRIYkpjQnRROC90Y0NBWTh5QWw1a1ovSHpINVdGV0RzbUROajl2T3NBeHVRSHB3ZlAzNDhKRW5xQnpiN1d3WjJWQkFFSWdnQ1ZGV2x6TDZGOU42L3Z0RFVxQlFSelF4TkFhaWpSbzE2ZmNTSUVUdGZmLzMxNjNKeWNtNENVTXBmZGx3blM1VGk0SkhXWTA5K1p0cFAzbWhLejNteVVFczRYRWtIbDlZWGVwcVRCR0pma1NEdDFHUzQzUkxjYmdVK2IzcjJNeFR3SUJ6MklXSkNyU3dYSTRZWFl1eVlVcHlDaFZMbkx0aUFkSHZIZWVlZEIwbVNqZ2R3L1NxbWhCQnFoS1pnblp1WmQwTjZHNzBHUVAzb280L1UzTnpjOVJzM2Juempzc3N1KzZMYjdiNkp2d1M1VHFoQy93ZGRYVjFyL3ZyWHYyNzc2bGZuZFF6aTBneWdFUk5vS2VNWHNYVitHck9iQUpJa09lNzhORSsrdGUvOVpJL3pQcDJIUko1VFlETlZVMU1EV1piTkNpaU1OV0NPSWFvSk4rTXRZZUFHUFMzclNDU3pnZGZKdlYxOTlkV05BSDViVjFmMzZzaVJJMmRLa3ZUdi9CWEo5YThxbFVvOXYyUEhqazJUSjA4K3dBQXRHOVNTRE5SVTlBMndteEdIdFd6Rk9NYmJmSjFRUlZGZ1B5RFNoRnB1Ym03R2lyelRlWnozT1EwMklMMUR3V3p2TUM4V2NFNmhxWEhEcmRDVXFacGFybzBKVFRYR3ZWbFBvdHJhMnJjQXZOL1UxUFJDY1hIeGwvaEp2VnlmUkxxdXY5blEwUERNeUpFamQ1bS9QRzFBU3pxNHRKU0RTOU9aaXhxLzJMTkN6ZXYxd3V2MUloQUlXSHMvQ3dvS0xLaU5IRG55dEN4ZTRXQmpWRjVlbmdFMzgyYWFvYXJkeFJtZ3MrQ1dTcVVvSWNRODhOSmVXTkFad0dXNE53Q3Bzckt5RnkrODhNSi9QdnZzczFmbTVlVjlpUkJTdzErdVhJUG4wZWllNXVibXA2ZFBuNzVqMTY1ZEtwTWZZM05wN051a0RXb3E4MHZYQXBxNUVrOFVSZmFYUFhXNVhCbFFNNWV1bUhzL0k1RUlTa3BLckdYR3AzcEYzc25VU1Z1WWZDcGsybW1uZkp6NWRvQnhMSHRhMUp3cmhRRTRHSEN6R24xTjJBSFFtNXVidGVYTGx6ZWtVcWtYTHJqZ2dtYTMyMTFDQ01uaEw5OXpHbHlPQzVNcHBZMnRyYTJQTFZ5NDhFK3paOC9lZi9Ub1Vic3I2M2RrTjlMTFZYcnQrVFJtY2JIVFJuWW9pa0lWUmVtWFMyT0J4aTVkcWE2dVB1WExqTGxqRzRKeWNuSncvdm5udy96dHhFd2daT1RoMkN1UlNEaUdwb3g3TTRmckJWdDRxZ0ZRamZBMEJTQjE3NzMzSnUrOTk5Ni9MRjI2OUlWdmYvdmIwME9oMEV4K3FDV1hBYlNHMXRiV0RjdVdMWHZybDcvOFpTK1RHM1BLcGJGaGFBcnA0NFZVUW1CR0N4cEEra1lGQVVwQWFQcXBTa0JCUUNtb1RnRktDWFFLYURxRnBnT3FScEhTZ0pRR0pGV0toQW9rVWtCdmlxQW5SYkQ3b3dNQURweFZqLzJuMnJHWmttVVpoWVdGanFlQURISGUxRzdnekJONzJSTkM3TlZUeTcwQjBMWnMyWkw0K2M5L3ZyZTd1L3Y1Q3k2NG9Nbmo4ZVFTUWdyNHkvdmNjMnpCWUxDdXBhWGxEOS83M3ZjZW56MTdkdU0vLy9uUFhnZUgxbStucHkybnBoSmlnZERJcDZXZmk0UUlFQVdSaXBJSVNUSnlhYklNUlVuL2NuZTUzWEM3UGZCNmZmRDUvQWdFQXdpRndzakp5VVYrcEFERnhTVW9IellNVmRVaklFbnlXWGt2enZqSmcrUFZ4eDkvaklhR0JqUTFOVmxUQ2gwZEhZaEdvNGpGWXVqdTdrWjNkemQ2ZTN1UlNDU1FUQ2JOVGZXRVhlcXM2em94TCtOeE1xY1cyTWtGaVZJcUE1Q1JQcnZBdXFxcXFwUlhYbmxsYW1GaDRUV0NJRnpNWC9abnY1TEo1UFkzM25qamhhOTg1U3Z2TnpVMW1TTk5yRU96RndneUhKb3gwOHlNUWhIemx5aGxLNTVtb1l3dEVHUXJFcGp0SEdiNFdWWldocXFxS2xSV1ZwN1Y5K0tzVzNKU1dWa0pqOGRqRHNlYmVZZWhGQmlvVVUwbHFxcGE0YW5aOTJhNk5TTTgxUWNJVDVNQWxJYUdCcVdrcE9RRkFOdjI3dDA3b2JLeWNyb3N5NS9uTC8relQ0bEU0bSs3ZCs5K2RjS0VDWTBNek5pd00ra0FOUloycWdFMXE5cHBnSTJheFFIanVVbVo1NjRGTkRPbnhoWUovSDUvUms2dHVMall5cW1kVFVXQ2N3WnNBRkJZV0FpdjEyc0J6dTEyZzMwUzJPSFcyOXRyQVM2WlRHYkx2VkZLS1dIUGVEUFBkMk9lbUNuRHdWbUFBNkNNR2pYcWRRRHZ2UERDQzA5TW1qVHBVci9mZncxd3dvOTU1enExWVdkVExCWjc3c1VYWDN6N2kxLzg0dEVzUUhPQ211bk9yR0YxSTQrbTI2dWRCdFJnVmp6TjU2dVRTek9oWmk4VW1PMGNadU50SUJBNEorN1BXUmVLMm5NZWUvZnV4YjU5KzNEbzBDRzB0TFNndmIzZEdxQ1B4K1BXQUwwWm1ocEQ5RWdtazFCVjFYUnZHZUdwc1hoR29KUVN3OEdaNGFsNXNTRXFHNnJLQUpRYmJyakJ2WHo1OHNrRkJRV1hTNUxFVC9IOUZFbFYxUmNQSERqdzZ1MjMzNzdycWFlZVNnMFJhQ2s3MEFDMktKQUJNOTJjZDJiRFR0YWx5YklNdHBYRFBra1FEb2VSbTV1THdzTENqSFlPOG1tZGorSmdjMVpUVXhNKy92aGpORFUxb2FXbEJXMXRiUVBtM2N6Y1d5cVZnbmxLQ0FNNFlxd01KT3cxQU9Da0xJQ1RBY2liTjI4dXYraWlpeVlIQW9IcHZCL3VqUDBGdWFlenMvT2xiZHUydmZ2RkwzNnhqUUdTRTlCU1dZQ20yb0ZtSG54cWhwdDJsOFlDemV4UE0xM2FRUG0wdkx3OEZCWVdvcXlzREpXVmxTZ3JPL2VDZzNNQ2JBRFEyZG1aVVZSb2JXMUZSMGNIamgwN2hsZ3NaaDEvMU52YjYxUllnQUUyWXJvM0ZuQk1nWUVGSEZ0a0VBMEhaNGRjeHZYZWUrL1ZWRmRYWCt6eGVDNEhVTUtSY2xwaGRxaTd1L3VsdXJxNkhaTW1UZHFQdmlyNFlFQ3o1ODVZVjJjUE9hbDVJQU9UNDJWZEdqdnI2Umg2c2syMzdNeW5XU1N3OTlSeHNKMkYwalFOOWZYMTJMOS9QNXFibTlIYTJvcTJ0alljTzNiTU90dXRxNnZMT3R1dHQ3YzNBMjRPN3MwTVQ4MHozd1lDM0ZBZ1ozNU0ycjE3OTdpS2lvcUwzRzczWlJ4eXB3NW1QVDA5Mno3NjZLTjN4NDhmMzJnTEY1MkFwZzRSWnYyQUJtc1BCeWdSQ0JSWjdoZDJzaTdOTEJDNFhDNXIzdFBuOHlFWURDSVVDaUV2THcrUlNNVEtwMVZYVjBNVXhYUDJYcDVUWURQVjNOeU1mZnYyNGVEQmd6aHk1RWhHYUJxUHh5MjRzWWRYc25CakFjY1VGd1lDSERIQUpqaUVxWklOYXJMdFk5TE9uVHRIVjFWVlRmQjZ2UmNUUXNaeUJKMDQ2YnBlMTlYVjlkcWVQWHZxTHJyb0l0YVo2UXlZQmdLYXlnQk5wWlNxUnFYYzZuRTBONld4UURNcm5icXVVMEVRNFhhNytnSE5IbnA2UEo1K1EreG02RmxRVUlEUzBsSlVWRlNndUpodmxqd253UVlBM2QzZGFHeHN6T2gzYTI5dng3Rmp4eENQeHhHUHh5MjRPWVdtV2NKVEMzQU9PVGpDT0xpTVhCd0RPQ2ZRWmZ6ZHhvMGJpeSs4OE1MYWNEZzhRWmJsaTJGdHh1QWFvbzZsVXFuWDJ0cmFkdjd6bi8rc256RmpScHNCSUgwQWQrWUVOZmFFalg3RkFNYWhXYmt6Tm9kbUZnWTBUWWNvaXZENXZPendlci9RMDRTYTMrL3YxOHBoaHA3RGh3K0gxK3ZsZC9oY0JwdXBBd2NPNE1DQkF6aDA2QkJhVzFzSHJKcXlvYWt0OXpZWTRNQVdHV3lRTTUyY0dhYUtkcGc1QVE2QU9INzhlUG1SUng2cHFxcXFHdTMzKzgrWEpPa3pBUHo4YVoyaHVLcXFiMFdqMGZmMzd0M2I4STF2ZktPcHJxNnUzK1NJTFhUTUJqUVdadXovbzl1QVpqazA0NElkYUdiWXFhb2FGU1VKQWI4dkEyaHNiMXEycXFjNXhGNWVYbjdXbk1yQndYWUNGWXZGck5DVXJacWE3czFwcjBJVzk1WUJPRjNYN1ZWVVpBbFQ3WkF6UTFVckwrY0FOc24yZDJKRlJZVzRaczJhWVNOSGpxd0toVUtqWlZrK2p4QXk0aHpMazMyVVRDWS82T2pvK0dqMzd0Mzd2dmExcjdVME5UWHBObGZtNU02eXVUVHI3OHhtYk52bnlJQ1p6YUdCclhLYXgybXhoWUZrU29Va1NRaUhnaGt1elF3OTdRMjNiTlhUREQzUGxkNDBEclovd2IyeFZWUFR2Y1Zpc2F3OWJ3NjVOd3R3cG5zeklXY1BVeG5BT1lXcTluQlZ0QUhPNlgzUmZ2M2lGNy93WDNIRkZTV2xwYVhEL0g3L2NGbVdSd2lDTUJyV0t0NVByUks2cnU5SkpwUDFzVmhzMy83OSt3OCs5OXh6TFhmZGRWZVBDWmhCWUpZTmFobnZNODRzSTh4a1EwM1k1b21adzAySXBRaVhBQUFHR1VsRVFWUXRtREV1alRLTnRrZ2tVNUFrR1htNTRheTlhWUZBSU1PbG1hRW5kMmtjYkVOV1YxY1g5dS9mYnpYMDJudmVzaFVXc2dGTzA3VEJBR2QzY1NiZ2lBUGtCQWZJRGZhKzZPQUdoZlhyMStmWDFOUkU4dlB6Qy8xK2Y0a3N5OFdpS0pZUlFzb3g2RXJ2VTZaZVN1a0JUZE1PSnBQSjVuZzgzbnpreUpIV3VycTZ0aTkvK2NzZFlBNG1HQVJtMlJ5YTQvdjI1RDhMTS9RdEFLSnNNY0IwWndBZ1NWSS9vTEY5YVd4eG9LYzNtVDdFb1NDL1g0SEFxVGV0cEtRRXc0WU5nOC9uNHk5V0RyYmoxK0hEaC9zVkZ1enV6ZDdVYTA0c09MZzNxL2VOQlp5bWFTYll3UFRDd2NIRjJTRm5BWXFCM0dDWFlIdGZzTDF2NWY5Ky9ldGYrOGVOR3hjc0tpb0toa0tob05mckRTcUtFcFFrS1NpS1lsQVFCRDhoeEU4SThSRkNQQVlJelFNQXpNOEpCZ3pXMmpoS2FRK2x0SXRTR3RkMVBhNXBXa3hWMVdnaWtZaDJkM2ZIT2pzN284M056YkdkTzNmR0Z5eFkwTTNBaTlwQVJnZUFtVzV6V05wZ2wvMjh2V3d3WTBGbXVqTm1TeG9GQUVWUkxKalpXamd5aWdPeUxLTzdKd2xGVVZCU1hHQTEyOXBkR2xzZ0tDb3E0aTlPRHJaL1RhbFV5aW9zSERseXhOcG5PdFNtM3FFQ3p1YmlXQWMzRU9RY1ljZE1Qd2dEUUUxMEFKdjlZci9PUUJjYzN0cmZ6MGlET2J6UHZoM29zb1BNZm1WemFmM2VONDkrZDRMWVlEQXozN2Z0MUlBb2lxQ1V3dVZ5WlFXYXZlSVo3K3FGeStWQ3hiRFNqR2JiY0RpTS9QeDhGQlFVV0FVQ1daYjVpNUtEN2NUcDJMRmpPSGp3WUwvYzIxRDYzb3laVTN0NG1oR21HdTdOZ3B3eHpXQ0Zxc3g5c3Vma2lBT0Vzc0ZPeUFJemNRaGdZd0VuT0VCdElNQU5CRGM3ME9BQXNZRWNtcDdGcmRrVCs0TkNqQ2tBVUZ1WWFjTE1LZ1F3RmM2TUhSdWlLRkpLS2R4dWR3YlFKRW15SEpxOU9CQ05kY1B0OFdEVWlPSDlLcDVGUlVVb0xTMUZLTVE3ZWpqWVRxSmFXbG95M0JzN2tqVlFhMGcyOThhMmg1alZVNXVMQXpOMGI3bzNlMDRPRG81dVVPRFpxckZPUUJzSWJzZmozSTRIYk1jVGRqb0NqcWxPWmdVWUF5OFdubUJ6WnVhZjJUQ1RYUTdFQUkyeXVUUktLYnhlYjFhWFptL2g2SXgyd2V2MTRmenphcXh6MDB5WGRpNGNMOFRCZGdicHdJRURsbnR6S2k3WXE2ZE9yU0dwVk1weWJqYkFRZGQxNGdBNDFzbkJGcXJhM1p6OXozWW9aWFZpRHVFdUdRUnMyVnliUFNTbEE4QnRJTURwVG45bW9EU1FzN1AvUHhsZmkvMnpMZFNFM1puWmdFWnRsVTdyYkQ5ZDErSHorUVpzdEdWblBOczZZZ2dFZ3BneWFhTGwwbmkxazRQdHRDbVpUT0xRb1VQOWlndHNlRHBZL20wQTl6WWc1TXhpQStQazdHNE9XUnlkSFVSTzE2RE9qQTJIVDBhT3piWlVodzRSZVBZTHRpUGRZUWVaM1pXWnpvekpuMldGbVIxcUp0ZzBUVU13R0J4d2FKMXR0RzA1ZWd6aGNBNnV1UHdTbEpTVVFGRVUvdUxpWUR2OTZ1bnA2UmVlc3RYVG9iU0gyT0ZtbTJCd21rZTFRNDV0SFlGRFhnNDJLTUhCMldFQUp6YlVmSm9UekxJNXRxRVdFdXlBd3dBQWd4MWM5andaa3krRExXOW0zME9iQVRPMmZZTmQxRzNQcFdtYWhuQTRuSFcrMDZ4Mm1tSG53Y1B0eUk4VTRMSkwrSXJhRXltSlB3VC9tandlRDZxcnExRlVWSVREaHc5bkROV3orVGNUY0hZSE4xRDExQUZ3bE1uREVSdmdxQTEwNWtWTm9GRkt6Y01HMlY5b2c0TEtDWVlEd0d5b3B4blNvVUxPWVMwaWJDRWwrMjh6M21lY21TUElISUJHN1V1M0J3TWFlMm1haHB5Y25INWIxOW1qaGN5aDlhS2lJa0NxNXk4aURyWXpWejZmRDlYVjFTZ3VMdTZYZjJQYlEreUFzOCtlWm1rUGNRcFJxUWsxVGRPcy9Kc1Q2RXpBTWE3T2hGMC8xODVBYkRCb1pRUFlKd1ZiVnNBeEo3LzIwYmdQZHJBNXNneUkyY0xNZmlBek42amJROC9Cd2s1N0RzMjhWRlZGZm42K2RheVFIV2htSG8wUHEzT3dmYXJrOVhwUlZWV0ZrcElTSy8vVzF0YVcwZi9tVkVFOUhnZG5DMDh6M0J5YmczTndjSGJZbVhCajMyWkFqLzI3VTVIQ1lCMlg3V1A5NEdWNzZ3Z3hCNkJsNU5CWXFObkR6c0VjbWoySDVuYTdrVXFsVUZKU2t0R1BscGVYWnpYWnV0MXUvaUxoWVB2MHl1MTJXOGN5c3dVR3RvTEtBdTU0Y25BTzdzMnBUY1FPdW40RkI5UFoyUUhIL0preVJRblcxZldqbWhQOGh1TFVuTTdoWnovR2dzdm14dXp1TEFObWJJdEdsdnlaWTdnNVZJZG16NkdaVXdPcFZBcVZsWlhJeWNuSm1CcVFKUDVTTzVYNi93SEYxRm5aOGoxaXh3QUFBQUJKUlU1RXJrSmdnZz09Il0sWzEsImRlc2NyaXB0aW9uIl0sWyJzcmMiLCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVRZQUFBRTJDQVlBQUFEcnZMNnBBQUJNQzNwVVdIUlNZWGNnY0hKdlptbHNaU0IwZVhCbElHVjRhV1lBQUhqYXJmMVp0aVc1bFdVTC9rc3JvZ2tpcUFSb0Rpb1o0L1VnbTU5ejRpaU5SdEk5SXZ4bG1sSUwzbnV1Rk1BdTF0b1ZydjMvK1grKzYzLzlyLy8xdktta0srVzNsbGJLelgrcHBSWTYvNmozNzc5Mi9uenVkUDQ4LzhYeTUxL1B2Mzc5K3VzYmdiK2puL3g5NCsyL3Y1L08xL00vZitBZjkzakd2Mzc5cW4rK0UrcWZDLzM1QmhmK1BZRjM5dC9yN3cvSjE4UHY2MC82YzZHMmYvOG9yYjUvZjlUeDUwTHp6d2ZQby96NW5mNTZyTjlmL3Yvclg3N3dza29yYzZNWXdvNVB2TStmNmZjRThmZTc4L3M5ZndZKzkvQzFIbU1zRjM4OThmMXpNUmJrWDE3dkgzL2Y5OThYNkY4VytSLy91djU5OWYvNjE3OHRmdWgvdmg3L2JTM0xuelc2eTMvOWpTZi8yOWZqWDdjSi95SU9mejFSK05kdjNDSEYvM2lkUDcrL2I5WHYyNyszNjBoaFMrV1BSSjNGZnY1eEdUNDRXUEo0ZnF6dzYrVjM1dC92K2RYNFZlOStUN1o4M2ZNZS9KcFBld0s3OGwxUGV0YlRuKy9aNSsvNVRCNHhoUjFlL2c1aGhuaStWdU1iV3BqUmZVcitlcjd3eGhaWHJPemJEUHRpNjFJTWZ6M0xjKzdienYzbVU3bnpldmhvZUxpWVcvM2YvcnIrZDkvOG4veTZ2bSs2Uk05ZC8xb3JuaXNvMXp5R08rZWZmSW9OZWI0Lys1YlBBdi9qMTUvdHYvOG1QNGdxTzVqUE1sZGVzTi9qZDRtUm4zL0tWano3SFBsYzV1K2ZDajNYdS81Y2dDWGkzcG1IZVNJN2NKY241cWM4OXh2Qyt6eXNZMldET2s4ZVlncURIWGh5RG91SFJGNWlDZGNiYXZEZS9NejduTStHSEVyd3k5Z21OaUxIZ201VmRxaXpXU2xsNU9kTkZSbnFPZWFVY3k3NXpmWEtMZmNTU3lxNWxQSVdqVngvNDV2ZS9KYjNmZXZiM2w1alRUWFhVdDlhYTZ1OWhSYXhnYm1WOXJiYVd1czlYSjBiZGE3VitYem5LeU9NT05MSW80eDMxTkZHbjRqUFREUFBNdDlaWjV0OWhSVVhabUtWOWE2NjJ1cjd1VGFXWXFlZGQ5bnZycnZ0L2lGclgvelNsNy95dlYvOTJ0Zi8yclUvdS9vZnYvNEh1L2I4MmJWd2RzclB2WC90R2wrOTN2Y2ZsM2cwSjlrOVk4ZENldGp4MXgxQW9JTjdkdGNucGVET3VXZDNDeWhGRGp4a2RtK3U5YmhqYkdIYVQ4amY4OWZlL1hQbi9xLzI3Y3IxLzJyZnd2OXA1eTYzN3Y4Zk8zZXhkZis1Yi8vRnJpMzkzRHc3OXROQzEvU09hQitmNmFGZS9MNXYvdmpyYng2cDdwN0w2SG4xa1dkZXFhTWk5NzdmRjRmeWNObVpZbjkzdjFOWU82VXZocFRlSzliUWE4Wk81YStOc2Q1N2JOYzhzRFp2K3VwVDhGclBkcW5penBVMXJuMitiWS82MUw3ak84dkhoM2R1VjRtNHlCRXdaWVZscjJGekU0eGYvN2hvU3l6QnlPL3FmYzMwM2pQdzFud1hieHZZMGR4YS9ZbytPbzc3WXNPL09ubVorTDVmcVd6RDJobWZIc1lJdmV5TVJ3UUlQTHhsbmFPdHROTllMZk9jdVlYTXBuN0lFd0pVcjRFUlhwWG5DcW4xUFYvZXVlYjFmbThyOWV1MWpQWStYMEVvSXErNVcxOGRPOU16Ky9IdVozQ2hOMjA4d1hzOTdCNHVvdll2NTQ4djFQeWw4ZDFuVC9IZ2RjZTYyVS8ycnFlRW9JNVVTd2hydHZmRncxUldaQjNkdWNvN25sMTR6VmxIaWp6TllBay8xQUlkd0g0OXBha01uMUw1N2Z6bCtaWEpvOFZudDd6MnF1K2VIMXRjVUpGNWYzM3R3ZDUrTWRZNzl6QlN1dG1kOTVsMXphVVhXdC9kZWNiOERsNXZmVWhQV09OYisvbG1yeXU5Kzd0NGlxeDQ3UGNwNzNkdmZNSEx6OHhSMm14WXlQZDk0c2F2enBCdjlndWREM2ZKZGFQckc2ZjI3SW5FUFN0Y0kwMWVrajhpdCtvKzloZm5qWmNiM3JPbFhka3lkaTZ1Kzlzam9Wbzk4WWc3c0lNWWx6SkNyU0d4L1JPUmFDbjB2VldudVQ3V2xsdVArYjBvM1U0RnVZajM3clBpZFhkZ0M5QzV3YzY5TGgxWHcvWWdGL25DUG9Ua3hTcHFGbmZ4L2R0dXdiL1hOOC8vZjNwaHM1Nm5aVFM3M1RFMmZYZ1liM2kvMkhkZUk2MXJMRjRtM1BWTHJHRmlEenNPS2JjUmUvdFFjT0J1VzJOZ21DYmJ3Zjh3Vm14VGIvRWJvV0Nwa0tuVTN0d3ZmTk5DTXdjN0hWSkJxZ2VHQjdBQXNwdklGelp1YllUanJldkxBMlVaZS9LWU55L2xEU0pyMitabXQ2K05UajF6RlV4YlExYjd5bHZkZjdGSTkrQlJFS0cxUUl4ejhyRTNIRDBzV0krZXhoeiticXYwOWFDMDJpYmM1NDVlTGN6R005MnJwcktScjRhdGlieDFmN25MZzB6c2pxbGFxN1FXTUZBcGxkcnZ2TGdPeUw5aXhQWWNEeVlaUk5YQlZ4R2JJaTVlNmR0UC9saFdWZ3ZKU2JraU1hM3hrYlhxTE9sN0VOUVhGVTF4UWlFKzNqUnJUQkhWK21Jd3NBWCtMOFRCNXM0K1o4UWZvTHgzVGhnbDlCZ2wzOXc5THBUM2V3RjZvUTlzZHJ2ZFl2UVQrTVhiOCsrWSsxMnd6YkgzdDk1alloZmkzZG8zSzR2Q1U5MjVZVTE0aFRsQi9yRXNsdnZDek1YTmpzeGNucFI3VFJqcThLUTNJSU1kTHFDSHV3dUxneWZJZzQwYWhlY2N1d0ZXeHV4bGxZU0hBRVRVbVBKNGNrVFVKMnBYc084VDNMcmJmTit1TUxIM3JPUERzaURzdlBsdUdBM1cwVjNFcDdFay9VWXZMcGE1cE1ETEQyMUw0c1ZRSUM1MmYvNTRYaXhmd2dFTlJHVy8yTitNU3FMMGZLNDJibzZ3aDgwRjl0VzRZNHQ1cnJjTzFCem5zSEJ5dURLRUR1L1YwZmZZNTUxS0tNL0h2MnY1VUY5TU9UOHhQOXhGM0R2anhhRlpHNXVYRTUvQUFLWStzRTY4YnVVdlRENWVBdUY4ZTZxajNCT0ZCbVVETmpGeGVYd0ZiVVlpTXo3andXV3ZoUnRwWGg5bm05N2FlbVpWMFFoV0Z2SEg2bUtHZmVmQk15TmhyNUx4ZklNbmEvVjQzdlcxV2E5SEN5S3c1eG5SRnN4NUx3RkJ3STY2L0E4K0d5ZVJ0SWpOVmVUYkJiRFBXN0RTN0ZoVDBsNFpwRnVNVVFOS1lIa2p0cFJYeTFoUlZpYS82RCtDV1ZyR2tDTSsrR0YwclFxbnY3bGJTWURSa2p2T1pWelNndzlHOElZUlpzVUF5VlhDOXVJZG1VSmxrSjVVUGtES2hpdjBnWWdqSDBYUDlXSE1jWWhMYTMwOXFPVVJwWFhqejlhSDJyZHYrWUg3UXhLaEVBVVFrR0NtTENieXhZOGhBN21pTkI4cnpSODM5dll0MTFzbkYwY0pWd2U4N2JleUl3cmRNeFl1ODFiZXNONVR3SUF2akJxMnIyYzgyQXg0eHc5UitmYis4Q0s4SytnQTRJSVJ3b2hqOFlCbGoyNmQ3V3Y3Z3gwTkVNOUNLRUZCS0M2QzhHMFdQN0o2SDc0Qng5QVJodXZHQ29SM0RGejBERHpqM1dOUkZWa3NTQUtQMnBDRDJZb2NXQlB6WWNBQk9Ed1M5OGFWWWtqdzdSSGp2M2paamRGSndDVllJVGRhZU8xajlNZUdaUDM5SnhyS3picC83NUdma0F1N2dZWlhEUGVGN2VVaURTZ3hwRVRsUlZ0QkZHOTlYTlZieGVkR1BDdTdFU2FlVDBjTGF2eGFqZ3BPeGcxaTBGOEFPeVlVQlh1ZlVQQUtlQSswbGdzQXk5Qlp4SGgvZ3hYTEdLRGVubmV5K3FrOEQ1Z25nVGg1SWxaUWczYTlFL1BMT3BaUFUrbEs3YWNDSDBabDYzc3JlYlQwRnFBVzBvaWZIamp5K1FEWXBqR0NxcmlpM1R3WFFHdlA5dUVBRmV3RjZzR2xjR0hVRkNlUGlSTTVndDJ3VDAvSEZVajlVRHBzVlB0dXR2RURmTU9Obm5JMW5BWXFnM0haQmJERjVvQWZzVnFaalgzQU9NMTM1MllWZzg0LzhYMlFYY3dsL2pHT3dpYmphUkhBZENIdFNGbGNRVU1PbW4vVGdpRUNWc1E0b1VBcWNvQktsSXhqdUpWdGRBaVpQOGdETkFFdUwySGdsYTVibUlOb0taTVF4M0dXSGhkWGdhWW85WU92QmdLK0dHTitQSlNXbG55UzF3c1pnY1gvSWNaM25lbWFGVE8xVmU4bXdjZER4L3VOMEZYV1RjU1IwVXpFSFMvT1ZvTlhjcGh6QXdyeGlZSEwzQ3c3TnFpVks3SUhXTGdHL0FNN0k3MW9PU3Yxdks3eWc1NkhoZy9EK0FZd05nUVB1UHNoZWVLdG1yazVxcFVnVFB2cTZCUXdJUmVjV0FJeklBZ29QcThGT1lZYUpZZ0hkMEh5SjJDVkhaL0lGWmoxdzNOdnZBSGZPVngrWFZpbXg4akpDeVg1eDllUHZ5NTFQVEtHOWZzQUZ1VHZINW5IcHYzdEo2Ly85ei82cno5NW5SL2RvK1M3WWd4N2F0aWVDSnFjWTJKT1lTbUk2SVBSaFphQzlMRGZDR25MRUlDWEhTcWlrZC9iWHZOSUs5Ymh4ZTIvOCtBQWRMVCtZeVYrMzRCRitDMlY5MEFaVE5ETnphS2F6eTNuVGhjQ09QRnlvTCtBSG1GdFhpQXI2b082SHVUSFBrSms4Z3NkMkYySGt6SHU3S0M0SFVCWC9mUERNMStMN1VHNzN4VUVkZy9NQU1VT01zOGN2VFdrWmVEbWNXOTR1dyt2SkU2TGdNUTNkamowRFJBZlJqb3VjSERCR1dPQnNac05nY0dBaHhlNENLWm1LYmduZG0wQWNnR2JQR3BNY1dnVEVxaDFwTHVCYWhOeTNPTjFieTRGcWNHUGJSWm5vQzJzQk9hUGp3VEpJSzQrUkZ3WVZvbEhHYkFqckxEUlQ0aGpiM3VQdmRhbzMyWG9DdUFxb0ZMUDBTelVEWjRjV0JBWU5adGJFbWF2cy8wTkdaMDRwcG1mTU1TbjdEUFVHMk4wZi9tcWNHdUFKZENndmtwSmlobjNCUHY0S3A0NUQ1eCtydHh6ZGhGWVNWS01oQ0dhK203czBvSTJMNjU5VFRRU1NsamZJVHBpalhDV2NUenBHOUQvUGxnMWVQNkh6TUNTeDFmeGRqc0hIQlppMVdTUkQyNityUEZnMkxqekIrd0FqZUJESUFqdm01OThLQVIrQWxTR0NQWENZdDBpL1RkTTlMNjlBVjVRUlNKdzZ3UmtYeGVxSGZSVUJidUJ0SDFmKzRQSEFPOXhZNWphRVZoZ0lkWXN3bmcvWE5QODhEdm9pQnl4QXRUWnp5dGovUnF3SDZ6K3BNQnQ1ZUxuaDFHS0cvekE0K1hJM21ON2VDM2VuMzFubFo4TUZvcEE4WTRGRGUwRnNiRWZRRTJlQTFvQjJVS3FOb1JpcHdSNVlVZUN6QXVVOG9DY01KNll4QWc5d3RtaHVDelhEZVNTb2x6RlhjZkRBWFIxbkJtbUpibzNwaWd3TGVnZnNBR1V6dTQwT0lBc21wL2xIYll1YWNKOU1XUGh1WDc4ck9MdG9KYTd2MndUb3BCNWQ1VDFabFZ1VER1MjFUQUdEQjZ6Q1ppTE9NQ2huMDI4WGtxbzdydzZJQnRFaGs0VWJTK09DSGpUV1V6OENZNUJ6b1RvWWVqaE14MUVDQk9GVGtpMjJNNEhhQVhrZkRSc0NUM283eDRzUFJzeThLcUdIOUNXRFBERGMyRW5CTU0za09jYjJBQnNUeEFuZWowZUwyRE1XYjN5WG1VamU5c2NBekNzMyt4U3llOUJoMi9HdjdGRU9OWlZXUkxqYnM4TFRPa2JHN0x3ZExPQWpockVtblcvUU5aWWlpQlpLdm5CaVJvMUFhYkEyTytXSDNYemhNTEV2RGpZd3JPM0ZjTXFBRng0Q2VqdlpRM3ZjcTNxSG1TbGNIVE1Sb1hpSkw0SUJJMlNZdkFOc0czaGpZYVNBdHlJaWdXaTlPb0gxUW53ejQyS0hDWVBtTUpVOFNCcnZTQjZsQi9oNEw2YlZjS0pZYzRDQ2kwWkc1V05CY0hOVzdXOTN3RWhoRzdzQzRJTDlrSFV3ZGY1L011ZGcrT3pZcENxZ0kxR1lQa1NXTmVRNHR3dk9CZWJuc0V1aGlSUVhBUzhYNENZZ0YvQUM1YU5QT0NLdFZ0VG1NRHl1ZXlvVGw4R0NtS29idzRxY3BlMnNtNExFUXlWRndQNnNUZ1lEVVFNdFVSY3VUZXlFUnFNSE13R2FoQ2xWR3c4SGtxdml6MWx6WkNNelRibWdUSFJoT1BicjVNNkFhQXZzUld3Qm16NUhTZ2RjQ0RmMjNIdXJDRzYvQUVPY0pPZjRmWVhIS2tDQVg0MmN1Sy9UVUpwRU1ieFo0TmJJZnBZZm9CV1FMNXF5TytFTFhXOERsNElLNDJkbCtrQkdQazhKQUtXaVZLOXo1VmcrVGphdHU3ZHE2ckFOcUlEckdMSUlqak1icm1CS3dOZXQ5bkhKUDJHb2Y3alNmN3hJTmVmSjBFUCtyR0tCbjBFMVh5SzNVRkl2N3hPZkplMWhnMFhTRFBZQzhWaWRlSmROSjYzRHYzS01GZE1yczVBRXQxUWJYNmcxSUpBWTdaaGM0akFnNmJmZmNsWnZ2TG4xbmp4OVAzejl0ZmY3eDgvd0sxb0F5TEtBcDBGN1N2ajBnRzZCbG1rUWMzb21ORS9CYlBINTJ1WXROd3ZURnFTaWhiSWZ4TkFnOEZiZERGbHNDOE1EUG4rak9nbTZhQ3hJSmdqdHBVdE5jUjlGbjIwY0NVOFVPQ3hmRGZNTnFBVi93YWlEcytJUU9JQWoxUm1jYWI1T1NMellzV2hWTU9jNE4vQ0dwZHhqZFlibmdIZmNvUmdISkFsc1AwRHQvNXRmLzdyN2JuKzJoOHQvd0NCNEN6eWcvK0YzK0JaRjZRSEd3YnN5TFZnT2xJNFVjVWJwTERuMFU4ajZTakx0YkNRYStiS0MwekRCZ0hsWWRNYjJzYzJicnhVbEZzY29MNm1pQXQrTm5CNzZBQVB4eGFEVEZoWUxPUytIeUQ5MHpvdktNM0xFM3M0MEV5TWJOREh3MGw1NmdlSzYxN2lZOS96cW8veDhyMzdUMW11dTVRNzdxckZFeGd2dlB0RUd5RzFrcTRURTRPWHlScll1eE9kVG51QU96NXN6RjVWNW84Q2xIcE5IQ0hLWFRMd3B3Q1RFSVEzd25OQnFCQVVLSGRmVDNCdEIxNk42L085VlFXdWZDTHlUT3dydXJrMEk0anlQV0RBS0JSbW1MWHBFU0tNbTB3UlVJSGx1Q1Zhc21EZUh5dUUxUVVsU1lDZVZlSEtHM2YwakF1RU53d2FHTjFIWmhkcUpOVjh4MmQ4R0JRTWJPblF3aGhpVWRrTldBL2o4SzlCbEtYeGI2dUVkU0hOTUdtRG5Ed2prZzFkZ0thT2IyWWM3YU5aNkJXeWdLeGxLTXFlMHFHeXNaUEdwa1BTbmlKVkkxMUd6bHBubFg1N1d4dE9RQWdIcW1oUWQ3T3JyQ0Uvelpla3B4aGhRK25pdXNERmNaVGdLL2pLVlJzVzJEVDMvYXBMb3J4dkYwWFlUQVJNc3FPQ09JcVYyc2J3c3pOQTA2NVMzRkJsdkRyUGlud1lRS2g0aW5yamJpclVxT25raGlRS1JJKzNpUk1VQTdQN01zdUNnWTN6Qjd3Z2VSR29rbVlBOEVNbzZoVkVRaER1bGNGUCsyQTE0T3YzYmlRYVVpd0kzem5pOHlGbkgxcXc4Ym52QjVUaEpoK1dISk5UOEpoVHhKYkJIK3JzUE9xNGpTMFhWZzI4T1NlMGMrQWpqQUZEUW5HdllHTjR4c2RGY2VHWXpGWnJpZERRQzE3OExwZGQwYTA0RGZnUnEyaUFrNFZQT0dXZUZ3K3dZaDlyNTJXQXc0MVBPck9HRUppb3h0NWY0Snh0M0NFMGJyaGtMM2xVMEUweUFZQVRPK0lYUG53c1duaVhiNlBhS1R6b2Z0WG56VGRXZ05LYVY5MjRiMURZbDJ0Q3NjRE1DTzhOOFgxZ05pdHh1N3FCT3hEdS9EN2dINU1uY0RVdzJNMXRBQXREM1dueE1qUTBaY2NRNm9DdHdEd2x0UmlTZ0dEK0kzUmZzVTFQaHRpKzBFaDBialhFUndlUVZvc2dqU2RmQVMxeVlUZGVlRWltOTZ0MTI1aUNEREsrTzdnVWZ3cnZpMGEwUUxJYkMzaFhjekdGSmZwKzBQN2tSWkJnby9PUEllMG5KYUF6QXNVK0JoMHkwZzNPM2RLQ1J6ZGw0bjdNOVFCSmNWTy9uQkpMbks4aEdETGtnUkZwaUJ2YWJqRHhSSStCSlZKWUVGWXZFcGtRVVNIZUQ1SEZ0Y016dExwUVg2U3FYeGlVa1JBRVZnRi9OdlBocjF0bkFMaUlRcldGSEdKM3NSY0w4OGJydzlJU3VBaWZlWnM0ZUJhVWFGKzZTendIMndTSGhvYTJwMFlBUENKeWcwL3lFWGJJTDZ6dzQ0RmZTQ0FmUUdLNWIwYnVRZjVnUlJ6WkJYcGNieXFEYjQwSi94NzhSalc1aEtIbkFxb0VSeGovdUxHendNY25MK0g0L1Z2aXB4cWdXeXc0K0tpYXQ5ZWNpWE1OdjJoMHFrYkpid0J4bnR1ZzI5MTF5WWFsMEg1WTJtNXhQWGxHSlFIbHVNU01ZS0tOMFVSV09oQnFwaStFYm5YTjFwMXJ0K2FTR2d5SkFQaVVaY05oY1MrTWNZakJqRW9HUkZTd1pQOFA0UlBuLzIzZE1BaDhNR09ySS9BaG9vV1ovOTdYZVBhZEowK0s4VzhtcGRDeEpkbXl4Q2ViSkdXZkRURmhGZmNHNjBNUEJDYi9manNFOHNjRDQ2VTR4bi9lL2NGVFlDbnJNSTJrU0p0clN5Y3FBaitCZE1TVGhHTFhhOCt4Ui9OK3JZZnhYcCtGTGJWalAxSFIyOWcxUk9NRi9KZit6OXVkdTAyREFGdDRPdXVCRUR3UTNuUGh1d0JQRjhKZkUzZ2Y0SVE1eDhzVUF3SjREM3dxZnROMFg2eVloMSt1RDdNWmtzOHdOL0tCUWdCVnh0RFdYUHpiVDZZdllpaTNBZnp2WkFsOTE3TWdmeTBIK0pnSGlUZHdQT0NDc1cyNDFsWngxWERrKzJLSHh6M2h1cmp6cmFpQk5iV3ZrbzErdGg0OGhkbHIvNGViWFArNFN6NFNBVWptM1lFR2FMVUxEOFpENFRDWXVMc09UOG5uOFYvQS9NdDJBQTdteWZMaGZDN2diUnpZNTR4dmVqNFVHb3ZzbXM2VGpmM1hCL2pidHYvTGU4WWFRUDRzRFJ3REl3Rml3b1ZrVGZHSjZXQXlHOXVDRFVIWlFaZEdrYnFrNWUrN2gvWEMrdlN4TDBnNldvbFV5dEFOT09LWEkyWVZNWmJzakNkQzVORkY3REc4NTMyQnYrQTVKS2RYNUMvcXZrenhLWkQ0YnpZQUlpU016bFdhTnF1R3pqaUNGQkZZQnJvcVg5RUdoWm54UkRqdzl5OVFXaWFROFNyQ3VmRUhtcU9WRTRxTFA4VWxRNUFiMmdRVktDK1diVXYvYnBPRnoxR0NabUprUDloUmRIYysxNUJjR01xQnd0enhYdWptTU04SzFvVE5taHpCaEpaM2M5Rzh6d2FBUlQ0enRaQWhQMzFqUExBb2x6NXZtT21ZK0lOOUloRGNqMlhHeDZmNjRXNHhsU2JKd0NhTlp3UTVyY0x5c3VLc25RVmxHYVRSOTJYQWNuMG1ia3J2WEFWbmhJaU1lbWRaRlR1QzZaOW8wSy9LWmZMcTIxZ1lQamF6UWRVOHZrWVN1cjRUeGlQd1hpYlJYK09kNFBScFRka1RQak5VOG9yZXNaWGJJQnY4MzJqWlNRVWE2Q3JyYWV3UHFMWUI4aDgwZnhnOWovMEJFTEd6Y24xY1NHZGpKcVprakNQU1ZVSWhpREFTemNydllPWTRocThIdkVnNzlZbHd1ME1sUHJqbGhMc1ZUR1FHcFVXcjZmZ1paQzByS1ZQSlI2WndhOXorUzVnU3J2Mll6bEE0VFRWSGxwMVZnU3hiaHZDTGFZSDd1NVVqM0RzTmdCNTcyTER5TDh4UlB3aGdCdFVDTFo1OVJlQWxaQ0dEeE9SNG90MjNJWGxKWklodkxTdkRxMXFZNlFTbjJFeUFDK3lETlRTK1h2UEo1RDJtNlJ0MExCWFRHY2FvOFMxY1RFdHV2WU4wVlN5cytjUEhyRU9WWUlOZ2p2UWtCSjM3NDIyeGtkZnptSFNva3gzQVdJeGpXOFBQKzhLanVPTWI0SU1MaElDSUFIQlJhTVRydFdnbWZnQXpBQW52SFBjRlJ2QmJxSk5xdytzaGpMTjNKQjhvQmwrdGVMWnZRZUdXZ1k3OEdMSlMvLys2NDdtZnlVejkweERpb3lUb2RjVHg0TEFnL2pIaGJzVmhpVjJER0NCSCtIU1RnUG5GVTZNQmo5OFB4a3UrZmpYOE5ONW5BblhhKzVqNkJDV0M4WEEyUXFCUWpBTHhMbENXdUZHa2x2QlhKOWxkQVErZ3laR0tNT3JpVVlCd0E0dUREdDVZVThnQ05HcURBU3JZTytYNFlMYVEvMmNOOXEwY0hnYktRWW5CNFA2NUVKaUpQZnBiamtIY0QwQkt0NG5vWDhidnh4VWp5cHpMNFlxWUdmalJCL1FCNUpna1MrOER3Uy9YMXdjWUtpMWVDU2tDSWdMU3A3YnpPWWtIeGRtNm9CdWptdzB5Z3preGozbGpKdzJyOFB3WStyb25oaTNrb1o1dU1XMHlWN3RNdTNmTE9VQ0NTR1FVdExlbDdSUm5Md1AzM1NEaFNVekdYOHIrMHZGSGpPVUh1TTNscERSK2JQN0J1ZTRIQk1iM3Y2YVIrcjJNMG94d3ZMb0JNVFJlQS9xTzBsYVVITitiSVNuV3ZTQ2tCaTd4aVR4L1J5eXl0VXlnRi9CQnJnQ2h1azRCTlVDTHI0RGg0YTVKTk5KTWVrUlVKUFZYVHplTnpnRmFVNDl2d2lJaWdZWWhlU3VVdmNSa3JBNXZQWUJJMGJEY1l4WVJRbnhGODVQc1RyQktSY3FLalZZTnhoaStoN1JCcnhLTHNWV2NTTVhaWW1DeExqaTdjcTlmREtDVUN3c0NyVGdMRmtvK1A0UVJnT2dCL2pDL3JBK0FBNXVCYU93RjhBY0NBcUVtR2phd0pwZ1M3aHRHWFNCL2ZLSkpBTmxOUlJSV3g2RVpOK0RkYmpsQ040akJicUhYVm9weHp3UytFbTZNdjczNEJVK0hHRm1PdHdZdzRzRk9mTUhhRlRnak1tNGxqd2dKbSszV205RUFxeVFnR080WXVDaGVoSzNkMjByZnVBQUZ0UjVCNFBkU0g3SDRIK2dQQUc3cXE4UGxBK3hyak00aWxjejZXRHRpNlZHMFhNRDgyZ2N1aEd3K3hnQS85dVhCcVBQS3JHUnNRMFdDa3FOZ3dMSnlGcTJlOVFQUW16cWYzSVJyWVJMcTFhQVBrSU1ialc4dzluTFNveDlXRVhPSDgrTDN4cDRNakg5OVRmbnZDbWZsZmdLYzIwVFc4YjRqWHRFUTFYbVg4UDZXTUJzVndIWkIzVzVqN29BdGtDTW9CRVNVZ2hsQlNCR2NXNS95R3ZaK2tKNThJWmEzRjBMZVlEd3NVTG9iajlqUjduYkNFam1mdEJhMElxQjdWaXhpa3RrTHNhakpVdlBGT05lejJKWEw1SGREaTRlbEFZY1ZRU0JBRWF3S3lHNXVFSXFBUWJMQVhtQUxjQjVJc01WU1pSbzltWmVSUVpacytkN28xUnJzY0RReXRBeWU2VG0ybVFjNG82Vi9vby83TTBzeEFhdDgwWW9qci9kZE1JV2VyZUVTTW9kYWNJbzMxczJ5aHdTQTJQR1lpUnRuQXhQY2x2NEJDbnZkRFU4Q1dNMElHRVJ0dGdzTGJFUkdlSmg3TlErRlBxTG5HTFo2U20wQXl0V0VOSStYWXNaNkEvQkFoVkNqOVZoU2NHUHVNQWlBQ0o4SDZHRFdMWnJiUndicVFoYkJUK1UrSmRrWnNqMXcyaGJJWTdBTndBRDhkVVliRnkzZ3llT2FXSWVOQi84c21RSlUxMnJBUWIyTTNDSVhnekhmSVJHc3RlbDYxamRYby9pbXdaRHFWSkc0TmkremY1dDdmNERLOXZaaTZHcytJRHVYR0E2QUlOekJNT1g5amZHcjNMOTNISllWQ3NuTnY3SnFMMDhVNzdSUHJTRWdoMGV0cHJjTTJRd2xQT0NkTUtVR2kzQWNpYlY5bXFVTXhnaTNWZWdBc1g1cVF5K3NNcFRLekUweUNtbHBPbERBU2dZeGlMY0hZbVJFeitvQjYzYkFRUjBFanMxN0UzSTF1blVYRDd0V1VUME1NRGZNMnpJelh1M1JqbjI4UGpDaFdTZG9jQTJ2MExSZFlMM0JUc09WbGNOVmVYYkFON3EydDZVVkpvWUFZNy9rUE1TZWEvbyswTGREQTVCa05CYy9oSERMQkxKNTcySlFOb1lUdVYyc2tmZ0llUVludkJWUVBqSkVKQmpEZkRBZ3dMTStoNldURmVqRzZrSUYrNHVBRnhZWkV6YjdBeUR1YjduMkN4UkZiZ0EyWnJSYTNOTTBtcFV2Z0IzaklkKzB3SEVhY0R2NTBSUGJUMzU1TEdReEh3VDJvR3RUSjQxTzdveHQ0WGRTcmpWOGVLWUVlOENXM01naVd4V01WdFlwU2VhS0FsM1E2N1FjTmdmcklRM001WEkva0JaV2hFdmkrcE5PYW9mT3ZyQVh0NFdsNzdES3cyenVsRHVlY0hzM2pKaGVFT0ZsTmVTZnJFUFYxa2JyUmZqaUwxZUwwVFNDekplZzVjbXlhYXRXMUFSNWk2V2UrME1KY0R3Zy93Y0VCUy9PMll2MXRuR01PTS8zUmErbjRSS1RaRHdRV0FBRDJ3empyMmd4Z0xWalNpVk1qQVc4MHZydkh2YmZuMVZUYlREelZ5TVJiaFpDN3d3UVp6L0RaWmhMYVR4MW1LZzlHS0Nua0tCKzBEUTBLV0NacGd5bDUxTyswR1JCVmpKTlhBZG1Ca0lGQTQvcENtd0NnQWhROWVpcXpCQWExZWFudnYvcXFmNDgvbC9KalQ4dk1QSmwwZnc2M3dJcEhCdUZtQlJjNllrQ2hjT3RjenN4M21DVUVvcWJtb0YxSE9EM0V6TGp3Zmw2MVhkMFBJckhrVEVBeWR4OFNzZ0tsSHQxMDEyc2dyeTk3TU1OMTFxditCV29CL01HQjdNb3NLT3EyWVA4VDR2cUJDalZOSElDL21KdThzbGdKK1N2WWVzQVFCYXZKUFBxa05NTUdKbFkrRzRjQjNka08wRDY2VWI0ZmtwUWZsVnN1azZBblJVMXI3c2FUelhiOGF6YjZrRTRMRitZRFNkWjhnVUJZTjlnUmV3WXptSGpBbmx6WEhFQ3lHUFo1MHdnbmhNUldzYWVIMnM1Z1IxQVZaYm13Nyt4YXZsYjEwa1BRRnh1cUhUYkp0T01oVUFzc0grUHhaTGhHMko4bnE3OEl4bjExNk1kMGpST1U4bUZoRXR1VDJ6OXMwSmxHUWxvL3JpUDBIbzB2NkkxSHZoTXN6bTV6aUFWVXZqNXMwNDg0dXFYRnVqR3dUYXd1dVdrMVlMbFZYaE5pQXQyQmM2RUh3WlNscHdOQ2NrT0FpNGlXL0J6M2hIT0JBYStEQTdNZitUSlhPWHh5NkQ5YzVYLzgyVitVT2JGb1lsc29rYjVRWTRPMjhERUE2QlNNTXp5enZITFZvbS9oQ213aHBGWnhWQnV1OFFDNjgxYW5DUkNBd0ZqUHRFMXl4NEVJVkNiKzFldkx1ZEZzd0xNQmljZnNSd3dDQUFsUUJQNkF2Y01tbGFXaDFkRDlMRmFzb01yS1hRNG5BZEVpSWdpaWpDQS9QNWFmVjVERWMxQThuZGFackNTMnR3aGZZYnlCMUNwVFB3R0YxNUdPSU5PMDRRRmFONW1rLy9wcW8wT3AvMUxPTlAzV3pZWWJJNTJKeVRRL1lpamJMTmtKcGZTdEpRQlMyTWR2dVd5ZVJvZEttMWo4VnpzbUc1Z1dNTkNza0R1UFdhUzJ4c1BBMzBYaUdyRy9YSVIvQU9Zb2dQTit1RVcxb1ZEN0VMZ0JhOW45T2VuWWN0V2pHS2NnL1VWclUwNDlyT2EvbnZITzFjdk8wVVArRGFjTDVRWHNIbi85SE9mcEhnL0pGTmptdUl2NEcySjJIRzEvVFV6S1RWM0RmQ01acFBZNWJidUNlZTAxSHh1Q0NPNkZxcmRWY2JPY1VDMkpKZzNlMW13WllrTW9CMUVqZ3V3akJta2lnQmFZR1kwNXpIcmZVUlR2M0VwT1hIVzMxNTgzQlVlUE8yQ1lUMStYN1BraEZkQWhJOFh4VWppUW5oM05nTHppRU8yL21GZUZyN3hxaFhrcjc0OXVNME9vUVF2c1Y3TE5FblpBOXFDRmJFYWN6MW1IaXhtZk15K1ZlUHQ3T29ET1k0NjBQRWZxd01xdjMreWhHRndFYlg4K1FDVytBdmF3YWp2MzRMWk9IQk4yelVSdTN0TGFSQXZaQmJNaEttd3pjc2FJOGpEampnUkMxOTdmV2Y4UUkvc0t5eENYdnZsWW16NytsanhhaTJMelNSWlBwdngwYmZ0TGkvT0FlLzE5dnNFVlgydUIzS04yMnRZbTEydEFVSEYwVHN3TUo2Mnd3M1JSVjU4V2M5a2p1WlRwbUlwa0M0QlNZVGdQbmlhaWRtTDJDalFLMWJpQkdhbXhkNUFMeE4xMml6OGVRbWdKTU5LcGxUdmFtMEFVTHNBWTRWWXRoeFptd0pJKzdSKzRLenZUNUxsdDdzWEx0UTBtWjRudlBCUGxobWJ6MlpJK0FNcktWNkRackhoRnYxSTBvSEttUFFuVnd0ajd0ZmkvejJ1ekRmYk5vQWM1ZytUdlVheE9raFpKQUFUQ0xZbHhYeHlXZmlXK2t6SXJFVlFBZnJiakI1YW9IOHRnQVVnSVNCZDFlUjlZWGRuTFR3RkdQUzI1OHNWV0pZSmdqS0xKWW80WHcwVlZoWEEvaHBWZzNkY3I5MFhjZ0owcWhpUmg4RStXaXBUTGpPQ1NOZW9keHNOaWRnYlc4bHF2OFppbzQwVnBXTlN4b1BzWHRrNkJIemQrMkJ5Z2xIQitTdkFRYmFCRzQvMTNValQ5QVhaZDVNSXNCbXJkTmtIYkhoa2I4Q2J6OVhNVkcxb3h5bTNoc3MrVm1qRENrQjdvSE13R3JUaWZubkJ0NTMvaSt3OHdJZkM0NWI3eTgrbzJKUUpZcHQyUFVCcWpvdkVmaUVxN0NuSU52Q0R2QWI4aTMxL0Nnd01lbXY1MHdPaGd5c0F2bkpHMEFPWUxkNlhqMnpqajdsTWtOakhtMWRiUWxsTGtWMHhEbjRiZGhrbm1vK2t0bWJlRklsNVBvc1dSQzZQRHZKVEVjNDJjbWZ3RDQ3TnFzTXRSOVNzeFpQWHQwVUxGTmpFZmJOYVVNSUw1OU1qOHV3S283dXlyWFFEeTEveUNDZ1M1aXpmS1ExZkIwYkFRMmJjOTJNczB0b1JNMVJ2ejZlMUNkTTVnRkxSeXFyN21paE5BcXdIaVNEMk5PT2EwaTgzYW1yZjZrbzA1OWxOeW1SZWZwWmZkVmNDYzMwTFd3a2wrdVVnc1VVL2ExT3M5VWtuUFduOVpZVDkzeWM2Rk4vL3ZOamY3bm51ZUV3dHlCWklhY0V2bG9WZGVMSFJvVC80K1JmOEJhS0d0UmdOQk12SUNic0I5OWZvaUltUmIwNlVOVi90Ly9LTy83d2grQVlUdml4RHJTYTg3YzVGYWEzd1NSSFBnREIydUdjSGZleW84N3J4QXljYTlWb2hnYW5VdW9TVFBaQWduU0lDRVlOZUNRWlpRSGw5TmE2UC83VDdnMGMyM1JsaHNSRGZvVnRLRWR4eGVqOHdVYk5ZSklXaFJ5Y0JlQmxrYlJFdHZoOVl4N1hjL0lCMVEyM1JWOVFPbWRQNk50OEQwcCtSLzJVN0ZwK0hwRTE0NUVKYjhaSmNHOFp4d1NXVEtkaGZLOVFHWHFIcEZ2MW1TR0RoU3NzTU1wU1l4MEJoaDJuYlVYRExCWE13Wmg0R2NRVVJ6ekJuY1dCTHNYQ25tVHAvMFVVOGNMYXdEM2lDOEQzUmN0YmJMUFJ0bjJOUGFMaWhTalFScWxXUTdGUWI3OXZTblpHemQxbHpjb3YzT2g5ZkZVS2F0dlY1Q1JObk1NeGtxc0VHNjlnQ1hzVU9UdnZQcnJzZ0hiYStueHdQL3k0ejdPM0RBV1hRUW4wcFc0YmMvT3FScFU1NGw5UFJDcjh3QXdlbnVOc1YwQXRydU5Lako3NFBUbjRWb2JFTUFVRXQ4ZjRiUkpPZko3MFdMNXJBd3loQUt1dmRyWm01YlhpNUxNTXg3V3I0OUhQYnJIdVozUzVsaUxpdG9XWWR6Ly9rODM3QlVoYWtJRFpBVmx0OCtFRXFMNzBremdHaWpWTkRIbitVWloyWUNzOVhzbDAxdHNXODJVNndiOThMNjQ3ODNnYVFSb21vVk5peEE5Z25iZ21pZ3hldnZCeUdOZHZMdGF6N2U1QzlPN1lLbEY2R1RTZlMxSzF1Wkd0aE11aW1WWE8zelpHWHdBQXRPRzA0M1M0NFdJaTE0QWFBeStoSlRtaWpkYlVOVkZ6SGZvN0dTeGE4R2dhQ1MvRXlrSnBxWVVlMFR0Z1FOV3NIZU9rZDN3cUJ3NDNWOXJKSkEzRTBoSG9IYlBtOHhRc1p0cnB2T1N6dmsyYTZVS014dWpLQVkwRWlZSkJXQmtQanpLMmNlcEtWTEtCQjhLMXJRTXBDTWRVL2JCL2IvdUJudzlZRnYzaGF0Sm5Gc29rQXhjM0JlUmYzcjlidVJuZnRkc2FpUG5iZEJRdFJjbzg4S0x4MlFwTXR0T0VScmxvd1hKYUw1ZklyNGx0VzRDZjRLeXNRQkZiVHd2VngrbTROUDBBZlpoSjNSQi9KZm9udEY2NXBFQ3lDUEFNN3lRNmR2SVVKSWR1T3JkaFd1RzhiWG80K2RvakhpWjBsYkRJMDZaVVRBQ2NhaUMzYkNZVWtBOWNBQ3ZNR2wvSmNHS2JIUWtUK0Z5SFpFMkNMYnpzWGh1R2hTSjkxcHNrY0J1UWVNUHE5eTQ2QnZaZUZFVHh3MDZIanZMQitFN2VRd3BrZmczSkdheFhTeEQ4Nm9jTW5xVkNjKzdITE9kMFhUSFBxUjVMSkt2WUhEeFAxMHlDR1lZSHpLb2FnNUErMVlRVWVwOGRnVEIzK1lldkdON1hJNzNkZnRqbEE2Y3FKTTBGVTY3QktwMzVyMWV3NjFjOE12c2g0L1lDQnFNbHNBQ0RsRVdBQXd1NDA4MVY5bTJ3N245NzBzL2UxL0JyWDVtNkdsUnFMZ0sycDVvd2UrTTNhVWxOSkZMU2ExWURlRyt3RytWdkdZNzdIM21BMGtLZDVnRlZmaXZZTVRzdUVPeUsxb3kzaEZRT2FkZmpXMmUzYkpCNm9kd1BKcm1KVlNtT0RiNlhSdmNCbnJiQ2JuWlh3M1c3VmtCR0s3TndJNjdRRm90RTFLOUFkSU9MSE5oVjgvelRpakUxOGJQSkh5SGwrOERPU1p2a2IzcVRaK1hCcXRZQkdwdy84Tlo3UDB4a0gyWGsvTDFoM1h3NmpFTk4rMDU3Sk5uUWt4WWc2R0JuUUFZNDNhMmZhK2IxMXhVRjJEWFlBVU5wNTNwTFY5M2RmMXRXZWR0MWhXNER4WTc0Tk9zTU5JSXdmYm5uV2hCV1BCZ1FRZUFQb0ZkWlJtcGp6VFNrT25TbFUxTmdzUDVBQTYxZ3RLOGJITkVsclZwZWwvekJoUm5kcjBoNThBTnBuV1hsLzkvWktYSGpZZUtvVnJ4V3RJUWkxc0JlZ1k2Zzdvb0FPZ1RkZmROT3VOaXo5YWNROWxCMVViVHZMQnpFQWgyQzVYeXZWNTc3YStCV1pEbXNQZGJ0bXhnUG10cUFaN1o4QmoxOVY4bXQxQ0FvZ285c0YycmJtYTZRNVAxNEkwYmp6MDRDY3ZHK3lwdmdCdFg4RkRXVDVnTDQxb0dHUHIvdVlxYnF0Uzc3TmVlZFdPZzdJZlBuMS9xcnhoNE5jOERsUEhJWURwb0hvejNRREtzSnF1dFJnak1lSW5WV3RwcFFOa3RoaW5ubjUrVnc0QlR1UldBdWNyQ0pxdEJOMStVNWhFbTRjQjJBUExONm0zS2dDcUw0cVU3Y0Y0U2lJVVVCem5sZTI2djdyanJWd3B0T3ZJanR1eWZnN3NYamdlREFHdUczaDY3Q2p1T1JpTlFPMFl1c1owMzc3aGpkY1dDS00xTVFzN1JhNEsvY0ZhQ0diZ3FLVEdMVFVZYkZJOVFiRmZraVY3UENKb0NORXIvRkpmTUtLRjVhZGwwSUoyVXRjb0ROTE9tK0thaTV6NmFjRkhYc045YmVieFhqTXRPTUM4Y0w1N2RIdDlXUTN3b1VUc2Nwaldlc0lXMlB2UU9vTDA3Vk1jdHBtanBHMGZBVCtEN1JmV2VVd2lZQVhlaHhLMEZLSEp0Y0xrTm1xZVNxdzl2MUFsRjQ3eVJxdXhraE5ONHhnZWJ3c09laVgrTmZEVXE1VHBldGJQalpqM2VXeWxla3RQNmxGZ3NISHhoTGk5eE8yQlVuL0pyTFBBd3dqK3JvS3FCNXVHUmRtbmhSMGhIM285NFZmL0xhanZuZ0ExdGU1Tm05SmVpSk10L2xJYS9WUS9mYldkVHVNQnZDVjlPV2dNRVF1Yjl0Zys4YlRzc3ZSeGdRdzlPbi9LRnpEZkgwMndqenN0dWtuczVxc1h4Qms4WDc3QVBvTndaNGlnNDFEdjlBZnE0cmlabHRmRUhKSTNEajVpbVpqV0RTZ3haTlBCOGs3ZVV3YjZONWs4M0VDOUo3WUp0YmlUbGMxeExiakVjVFhDb2J5TEhOMm16VjVPdVRPTWxKOVg1ejJHSlFUMjRoQUFXTWtDYkxDRG9BWnRpb0NKbTAyNFFGdmwyTnFESWFGVTRzTWpnY293bVpWOTNVeU5MeFVzRFNqbi9BOWdORWVSejV4L1I4K01qVjRqaFZ3QkUyMjlRbDZISVRQdVFnVG12U2c3VEV1bHVPRWt1b25BRDVZSFAvUXJWNXpoQXZDYkR3K0FUeFo3aTdFd2p3Q2NEQWVlbDVuTmZRT2w3MldOVnZMSG5XMjNqamo1NVFTU0REbU5waUtyS2U2NmdSMGJMbEIrT0VxQmdoNUpKTjZFOU1BNmRhd0xXTXhXRmNnQnNZODNGYStOMXcrWkFiYk5MdVc2Yk5DTEM1OFZiWlFxanFKQjVjSEFnSzJodzFndHlZa3VndjVzWnFrVDhFTU9qMDZTQXlpNEpnTmk5YmdReG5sQWtuQU5CQ0xHMUF2OXVqSUdSRHh1d0xpL3FIengrWTFhUjBQaiswelBsVW4ydzZrUU9vVHB2UERKSnRZMFgxdHl4ZmduY1hDT0V6dGdJc0FLOUgzZnFyUkM3b2hjUi9WK241OGJNYUJRTCtlSUZuWXAyOHJhd3M2QUdvTHE0OFZBb2RmV2xyOUV0TEhTMWg2K0oxRjVnYnZ2NGlEZEREYkFTOXpTSFl5c2s3b0FCQUhyQUFWeGM5ejlSSE5LNE1WeXd0d0dNRVVCMjRmSzNTZnlVaC9YVk42YnpEMng1WEdMMExBQ2x4bjJKSlZhNWhhczByclYzUno2bDMvN2N2RzBITDlieTU1L2ZPYS83OWQ4dnF2SHZQL3pTV3YvLzJiczd5b0lpUTBZRzV2YStLRTBpZjZrSDRMZVRjY24zRklKejhzZyt6MytJL0wvQ3lIY3hCK3RzTXNwZTIrTVBlZ252ZmY0SUJUdTN6OSs5Y05IdjBYTDJ1ZEpPWUZOZDZJbzUxVXVmMW8xN0xNOUF1WFExdWdaSmdpZkNkVzBNTG5Qait3SWh3cGgybzhoSFd3Wk85VEZHMW0xQ1RvaDBRVHVEV3JOc3ZWM20wUEtmYndYTisrS0J6eHJLNFpvR1pWc0RVZUQ3dXd3cHdPdlVHWjRKSExrbmowUmtoczZPYjZiT2I3ckhVR1c1U0JaZGhXZ3pWNzlEc2VheHNVL09JeDNWWnliSXRoYjl1QkhQMFJzRG1mSTVRc3EzN3QrZnF3elJsc2lFTkV4Wko5YXYxNUxJUUFEZk0xVE1vQ2htclA3Q2ZBQW42R21kakU2YlNEMUM4c2FJZkR0RlFDak8wV2pqdEQ3eGpPTjd6THJqSEwvWUp4TlNjZzdRRGdkdnJNNTJ3MTUwN0FDWnBnRk9XSENzT3VvZzJyZU96UDhIODUxWnJSQnVwa21mVm5kYUxmMUNkRE81Rkt5STNKMHUva3RpNFdDNE1KN3Rxd1NDaUNwc2R3ZExGMHlkaTVmdmZPUHB3ellaQkE4UWtJeUM0bDJ5QUNIaUdZcDUxbjlscTNsWDdjRWtNcHhiUXF4Z2Q3VHFPRkpYcXV6MGtmbWRHRUFkejFjTXJIbUR3c0hONlBpdVR1OXA5Q1dNVHh3MlZEN1NQR1pqeXVaUlVHRnlpcDJhdzE4QU1CcDFLQlIxQkV4ZkNiVmlBNDYwTU90VXdhaFZPZkc1emZ4ZzRub3phVzRTNG43U1FMR3V4VWorQXNiUE50UlFxK3JEM3c0eXZjZ29xU3dRYThUY1R4NXo4Vm8zc3NpZFp0WU1PeHBILzl6Zk82RzlYSmZBQnJLT2Q2KzJrNlpZc0ZLamY3QnZDMFZ1aXpNc1FhVllBOGtFYWkxRSt2L3lmYTNXQk9tT1NMVHp5N0NFLzhlRFVUZElvanFNbm04NDRvZ2M1aWJhQkI1eVhzYWY4RlBnWFFCNUp1eHJUZ0NwSzc1THlPamg5YSs4cllvd25LZi9LcDFFZ1dQeWN1RVIxamd4cW5XRXl6Qk9kQ0RXdlljVTdnOVR3aDNSVStMRlYyVE5hRmxDYzI2OHVIcVlJZGRGK0RIWjIrSDhBR2pKWWN1bW1GRFI1OGRoT2lmaFZENHJnWk5JbWRYSmRSSWhNUW9KaU5YSDJ2cERuZXpyNTY0WDRxVjA4akE2YWRXY1crckZTY0ZLZ0REWTVYbTg0OEt0bW8zOWRPSTlkMkxnK3lETDhRbTIyTVUxYjlUMjJ0ZzV6QTNOemxEbVhQMCtBMnNKbVFLR3U4OXJwMHE5QWpPT1pHSmV5N0dNQWdlSkRCTXJHM1JvRFhXYzZGM2ZPa3VrOXgyTnJQbVRsa3JSRlk1bkxTaGZrdExyRGhmMWdpVUt3OXJvNGNhbGhHN004d0NnUVlTaCs2RDIxaC9leGJDZllKWXRjL2N5QVhhQkwvMEU5UzFwQ1ZMc0ZhdFdMT3o1UkR3VmFjVVlmOU9mV2RJZzZ6UVFzQXI3a3JnSVFTeDNWaW5MRllDZHJ2VmNvOWZHM2N1SE1FNnNNWGlnR3RaQVZBZkQ2UXJ6MHM2N1NQYUtqR3I5UXpYVGFyWlhZQk84SnRSc0MyZDJmZzJhMThRMWJ0ZVVnZENXZEo0VkNBYlg4WTJ4a21ycVpOMlBZMFQyUy95Qm03QnVGN0R4NTZONHNrUTg2aVZNU3UyS2pGbi9kb0xMSnhOaU5ucDZNcG41U01jMENRYkpocXNMYnZrTjdxYUtUMWE4MEY5Wm5ZUEpNNVdqVmRtaUhoblo5dk1lUG53bE1iaU1iWmNuMlB5d1FlNzRrdk5uUTUyc24rTzUzUWNWdFlBc2NFYXA0c2NqMnp3Nnh6Y3ppRjB4ak9hdy9SS2RBUDlKNmp5cE5ZNTJVMzFRamxRY1N4VHJFa3kzcHU3MitGNlBQc1dqRDhUcmw3TFNacnR4TjJIcmp0ZGFmakQ4dy9yejJqdFZIZHlISjJobDl1em5jS1JVTGZUNWs5aG5qeDJmdXhiUGlaaGc2YzZ3VmQvL25YZWlxYkhjVmg0ZWRuL3dYNm9iSUgrK2JMWTVQeGQ0dnBIWGgxaGlnYUhyVmMwMExDbmk5WEptRUxNL3R1YkxMYk8zUjNqSThpblo2K2tuT3k3dXhrcEZoNEcyQUpCaW80ZCtwR3E4Nk9MOW1SUGRZMkNaY1BVQXBzeHJJajdOREtZRWtHUGhkYmJWSHJOSXI5dnBGcnB2WWFjc0NsWUFaUlpCemVaWWtRSnBkZnh0anc2Z2dYcERTYmNJeEFHa0dXeVFNY0UwYldHVWRMaWV0Mkx5Sy9xWnJEUi9pdkh0OWpkNFdEZVZ2Q3NoeXlkaGVuRmpxV1l0c0Q4Q0MyR2FZNzdhZVAwYkdNRmlmYUFZeHd3SG4yOVNURnlqSTJRelN2UmFaV3RGblpDV000Q1ZVYkh4elhOL01OSTMyek5YeHMxVDR6Ry9qQmJ1bm1sYzR3UDd1VExhRnc3aGxMNTU3ajNuU01mQXREWWVVc2l6OC95NTk1OU9lTVQwVFJxMmxBVEVtNEZvNm5JMXloTzIvcVBVbUo5U3dzbXoyR1RrZUM3VXdzTnM0aldyeWFMVWFTejhDRjdER2NKclhMZDdHcEFkRWNmQmljQlNiQWU3Q3I5Mm1CZ0pEZ3pzemtETXpZc2xyRE1rellDaUp1bEd3WVlhaldLRjdSOFpOdlNoTllaREwvTnhjeXNxbjZLQTBscEZ1ZG5mWjhuZ0dnYjNST1N2dWdheGpqTUhyQUZrSkY0V3UzMC92TWlnS2dINmpxWjBzTTJtd3I4R09zekM3MVlWTDJzZllyNUk3VzI1WGk0Rm9NZkovOXNvL0hvVzdRK2ZLY1dBSzJIbmdGRkhvNmNtckxTM1JpREFidlVEVTg4SXZCc3NEVEVHZVZRdS8yWHY5KzE2YzVqTEtPdi9jOGZZYm1ZL3lYai83NnN2NzY4SHV0OTlkVy8xOSsyb28ybTJZY3MyRTIwWG04dU05OU85UmdSSXhMZXh6WFluRUZGZzhuc2o0aHB5WGIrMUVOWUFzWmZ5QkJmTWRVdXZsak9rdXRtalVCeWlLbXhjRmZyOVdhVmVMMzNkVnFKZENRUFBxSGplS2ZSTUZwZEJIQ0c3ZGF6YWhzTXFBRU5FaC9taW02NGNocEVnb2R4dVUxaDhvNHRndGJheGNNTG1WYnhCckFSc3ZlZFdjVW1WZDAxSWR3ekVsc2dGZm5XWHd2YkpnMVNoWnhPbm9EVmNkdk81bkYydVFIWTVmNEY1UTRkSWUxMmd6bkZJVzdDZzJSSFQ2emJLaTNjdmU3T202a3h0amRWRXdGTmxhaHRvUnhWa3lpcWZmZEg1Tmh3QlV3eTBRSFR2QjQyQzJCcDhyMloyS1BCdHVHR1J5T3RJTHl4OU15UEgvVk0vdXpFRktKRjlDZU52UDNoeS90TU1nc084c2F1cFBhL296aytYM2l6L2Vmdnk3WC8zNDVuRUw5MTd2NTdiL3VkZjF1OXU4WCszT3pZWnY3KzRBNXdWbzRHSUM1ZnRZSmV1dTBBSm5RUWNEYm50ZWZCV25sdjdqZC8rM0xPWFhwTW1nSkttR2xMVEhGQm1sZklVYWZVb1ZYaGhYQ1g5N3o5ZGFIeGN0RGFobFAvTkZSRFRndDAvU25nK1kzWFhTViswOWxKazl3aXNrUTAxT3lqSE0zRHY0Q2NFYzZVVDRINTVuM2h1RmFIeEZRMnBGTzJXaHp1RkpDbVVCM1RsdnFqckxVNFJ6QVA3czVxWk1NZ1AwKy9UUGJacmV2ZFJ3MzhEcGV1Nlh0dUJIczJENnIwK2RaZk50Sy96enM3MUZ0MVhQU2I5UmxPaThRZC9SYVpmZllmRjJ1VXV1WVozelV2RSt6VE5vQ01qMDJTL0hzcms1N3lBTm9CUHk1bmFXS0FZZEFSTjFXL2NmY0U1RC9mejRKcE5zaEtkRVorZEJ1YTN1TElkb2MwWFZuWUJRMEpGbjNaSjNLWjA5NXU4Qkx2cXdlSXI0aUhpOW9tOG5FYnlaVEozek1OaVY4VzBOZzdFWlhkRWFNelp6M3dOb0tqSzVvYk1GSm1OYitQK0FTcDVjMHAwM01GSVVXay9mb2o2MjExWEc0SVFHUU1USHhWR25nMjRlOWZXVmNqOFBFQnRwbEZCaW9hT1U4Zmo5aGtuTUZhNHJOeStoeWhkMTJjWnpTRkJra0VCN290STZZdWcyMGw2MVYzU1lDUG4xTTFZMG5ldXhtNDRraXZpZndvbkQxM2NOcnRQZ2RDYnJqcXQ0T2NWYjZNRXRmdll6em5xNnp4eXBIVUtqMW5lY2dDZXhLa0gvYjBkUUJHZFpKWWUxNFRJK1hlREIzRDg0WFI4NFNMVlRFZEFBT3lFamx4NElEY2Ezc2M5ekZzbitUSmNNM2RTSENWZ2Ewejh1U1FHN3NTSVIvekNmSEhUbWtDY0M1Q2p6ZXdZZmdGNFVrR3ZBM2JlSElqZkE2d2hoOFVSMXVCcjIwUUxJMWdLVXpYKzFydHUzTStsN0FvNTFyeHIyWDRSQ2JvMWFSa2JYeHE2Und0eDNmaEMxWmpyYnNOdDA2bXJUWkpoMHV4eCtFaEg4RklJSUNiOGU2R01rNEpZb3hPeGtITUhVYjRyUnJhY3ZHckJoNlBXakRnbjBUREVqOGhZWVg2Yk1KV3JNWUMzTDE4R0pwREljQlliZC9NNkRPZkkvYlFWcE9ZZ05RU0hZVjd3ZVozMjFkZGErVFJuZWtLcHdqTy9kMU9FWWt2bzREZGhqK0djRTBucnV5dUdjMkZvRFNzckU3OVpxbFdPV2N3dkR1bk9ZNE15dXpnL0dCYXdyaTQ5em1NNGhrbEYvaG5vYlVtSVVzSHdQZ3pDelRTaGlDQmRHLzBFaFFITlRWdVRaQ25MYVBWZXY2dVhRN1p2Nk1lVisyemZJU29oZHJZVnQzSUlLbGFyQktRT2pGN2pkc2UvSkpIL2t4OStuamNkemN0b0tGMVRlU2J3R1Vsc2lBRkFyOG1DT2Jwb1k3dEFjb0VDNlA0bkE2aHVVTXAxUlNaQXUxL1pWTXZHY3k3ZW5yZDlhVk9lbmwrUS9RUWg3dHBIczYzaFk1WWRmczNPZS9aYk1pVW1TZ1dDNEQvTXZSbWppSFg2RDMzNGtyNlZKTVhyWlNMRmdLMWlzaXM3a0RqNDA3T2t3aE9CaXVRSHZDeWVNNW9VTHNhbkhhWWd1ZEZ2QnQzUUo3S2tWdlR0aVMrRmwyczY1ZG0wMDF3UmpQNUhtZHZNdWwzcE1iZzBBNTNXN0FPRHFJWTlvTEVneldMSHZjc2pLNk16QUE4Ym84cldHaVhzVmhQZ2tFYmwwd0dJR2ZldTM5QSt0SDUyMWlEcjVwODJNcGdoRWJwTzFTYmJhUGFnSXVQcEhuTktYY25QLytBdmRaVVpPUTJRNTlGSGFoM0V1MzdieVFWTGNRMEs0SkdOeGZZNnNReVBjNHhYOGJYU1U3TmdCNUI4ZFEyQnpDbDE5WDNjd29QdEVDQjE4K1FVMjNTWmIzUWw4dytzV3VKMjluSGF3VG1DcytvVGtZMzk2WmFuK2VrUmhkcTEzOWF4Z3lmUzN5UDJWTWQ3b3YwVlpsMjUyNlpnc05FcThZdjZmZGFUazN4dk9Gd3EvQkhxWUU3Ri9SbWhTbk85OUdmZmNKbjF4bzl3ZU4rRHl5Qld6czNNdHpwc2lYbm1pUnFaMGsyUmR5dE42L0pJTnQ0UG5uOUtyckgrT3JUS0RDR1ROY1o3RzVEaWMwL0dYenRPYzFGQ3YxK002MkpnWlB3UVo4VHRSeElqUU9NYldyQkFzNllNUGZWL0swWVE3U1o5UTFzejBRNHJVMTNwYk9Jay93WFNFUUsycHJFdHVLeW1wRTBhekxtY2VtaW02TXFIUFFVU3hXODhYcllhdTFOZEdPdTU0ek1vQjJzOEFzVnJIYkdHeGcvL2hJNHdNMlgvekViZ1dLZHVielduSUwvd3c0clhMR0w3L0FzQWFZRlpwaG84YXRNTllEWlhHMlJsRVFQbEJMdXh5MVpXOHlaSHBiWFZ4US9TQmN5cGEvcy8rc2lpMHNFK1Z6cUluaXNrOVN6V0J4YzJnNE9qNDMwSzh0eStudEdKeVc3ejdPdUxUekZsS0NKUGRqZHJHWThqMEVGa3A0VzhnVzdTMHZkalZhN3ZhT0s1WnNsNS9sbHVaYkxWcEhzT3B2c3VGdGRHSGdZdkNkR3ZjWm5aZFRuSXlRNjNJOVR3Sk5ZQWluL1pPNk94bGQwVU5VTVIwYTR1a1ZSdHFHRXdhaHFvZ2J6Z1FENUtEdzRXd3g0SktqVkR3bTVESzAvMWl0Q1RNMWh1ZjhWNHdHckFUcVlEN0U2Z04rMnFrZ0huNnc5bTVOUDJER0huVlBJempMT1Y5R2N3VmF4YzRzWHVqTVZpeUNZWFNXbDEvT202MU9sd3ptTVQzSVkySnRicTRNamlwWWFSczdXN3lTSmN3V2UzZ1NUN2RkeHE2Wnp3SkI1Nzg3MkRlbHoyS1U3cUJvVzVSOXdBWVE4WkFKamJyenZMN0w3cDdITWo5ci9lMVl6YzV0QmtMd0FqZHd4RzVlNEtUZGNmZm5EQlI3MjdOczEra2tnS2xsRnRTb0g1TG9kSGVZUFU0ME9lcjZYbzdkNG9HcUk1UU02emxWeGxaT0FGV1Foajl2cWc2akFzS01BWjVCQ0s4Y3ExV2p4OHJaTGZJdHAvS2lBT09NZER6YW5mcDYwalRnbUFxUW96alV5cWJGS0RjbzQ0VGpyN2dkTlpSQWpzYWg4Q0dhTlJ2MzdQVzMwdmFjS3VBRXlSSzVQZThlSGd2UERYTy80YlI0bm5rV0YwaU1hK05ieTRCMHoxMnRyTm0ybnpza0paaitCM0k1dTk2aFA5aU1kaVl1QThHclUwT0FBVHJxV2ZCcjRjbkcrZmM2UlgrYWZGYmx6QUZ3aERsNjVVU284Zm9zemFsYzFlbkhqNTJjRS92blJ2Q0NrSnJQU2FMZENiMjJ3L01Hd2VnaDdCZFcvc3lGRllxWkpXdmwxcnc2dE43REVTQWFxS2I5cEkrVHR1TzRUa2xqUGlOdGVYVUhFUlM3a3M0RzhNcjl6SVhVVE85VHkrR0V0MkszK1BLNEJZQklldkZ2MElQTGVwZDU2dGlzcGtBRnN4bDJHM2lUNGNWMHlwMUJ5S2MxcmhlYkdCOXIyRUcraUFZd3J0NW5jUDNGYXRnNmNzVFplcTBqMEZiTW1pZHF2L1RKZzVmL2paMCtFWXBkQnliQzNwdS82Y0FGTk1oT3JuQW9POThZOVVGcDU2K3QrKzNoc3gzODN5NTUzTVcvL0JUN2Z2MVRxSjczRGhXYzhadGZZckZyLy9kTDVwOVgvdHZQOFBRT3g1N3JPbTJUKzBhZHNSdFNhdERGdWoxbUFTY2QyK256WDh0SjFyRmdYdS84cGpQTzRIWkduYk9qMmpodmVQMXpYWDd2S0VQOVBlLy83UG11ZjMzQWZ6eGZCQXkxVlJ5bSs4QVQrMnRhYmp2SXltcmhRMXl6aFdUM2hIZ0hlKzh2Si9hbDkwK2IxOUVXREdob1dIL2tlK1V6Z2p3QWRvS1JHbmI5SElqenJDK2ZTanFMYUNOUTlKa1hacVpGQi9zdW85Vm5Ndmo0NEVleHZ0bm9mTFVrc1owT2lnZU54Rm5EUkR5MkIzNjZmS0w2RnVOL09NaHpSb1V6MVZ5YU5OZzdRTy9lVHA1ajllMVhyTGFpbndwcGlFVURuajhOV2pyMGZjMTRDY3YzWGF2Vlg1djA5MXRJQ2E3elVESXdkd3RPUUFnVGtRZC9ZV3FEWFp2WWs5Y1JCbVU3Ui9nSTZjMGFtV3Q1REV6djRUU3p3Q3Fpc3RZYkJ0Ti9Ob0VOY1VYVnZ3V25yR0VmdjM0N0ZOUVJjSjQwOGE1d2RZODYrdXhmOEFYT21GdkxWbmZ3K0ozdDZ6Nk92SE0yY1hWMkpaWUVZTHVhQ25lT0g5aW5GaVZmbHFQYVRIeE9mTE4xSU5qQ2J3SUVQYmYwZnZ4NjUrQjJtQ3Nza29YUnhlcFE0KzFHdzlLUksvdjd2OXVoSXlmYnlzOVpCV2pmb3FNWnJDMndXVDJmVXlhSDFYVk8vLzh6YXVXY0paWnhwZTB0OGJJWXhrazUzUW01TmlUb3pWNGpNN2dBOGU5WDg2L3lvUUFxTXErRGV3TDBKUHNFdUFOYytuR3c5OFVLZUpsdDdRRTNQNE94c3pkK2s0ZXN4TjRobUNGM1l6cmRvc2o4Y1p2eFdGenVYSWJqeDVEMHF6dkdjejhuaUtIdnJUYm1aTFBpYk13Wk1tcXpUZ2Rhb25RQlJ1bm8zZjQ2WGRKdW1uRG5DY1Z0VHF0K3pWREpIZU1haGp5QmRmYW1PRWpRR0M4S2dWbSsyN2JjYWxxQ09VNWVFRGZhOFJQR3doY28rS3IxeklhWVFxVG1DSU8yeHVOSktmSUttNVF4SXUxZEh0amxxVkZHMEl5L0EvS2NNeFZDZGd5RXNSR1dZWTFpQXl0SzQ4UUE1NDJiQzdZTFlOdEo2SW1ZemRQV0tqaW1DMTBkaXJlc0szRGUza25Jd1duWm1OZFl6YXRCeHNGQkdCMTlaUWUzalh6T0ZzV0ZoWFBnbUFIV1J6RGtsT3BxLzQ1VEJWN0lTZ2NlNHpsWE94cnlaL1N1cDJ2QWR4T0FFTjRJYnVGQy9PY2NEUWRjUEwybWF1TnBIcFpRWVFYcVBuWCtzTmd6NldlOURqVEJ2TDRPRUpsUS9XV0I5N1pIUERudTFRbW1BOUtQNlFBQ2R0WURhY0pwclFlcGdFSmc5QUtJSlRzWFpNOEhON2xnSlU5ZTZEWTR5NVkrYkxUSFVEUlBXektHSEhqR3gzSnBRZloyd0Jpa0pqdEVibjNPemJiSDdBN2I0SlBSRmRUVzdybGx6WnFKdzVGc3REdmI5OERaUEJPdzVXankzOU5WMkRVNzNMZW54bGh3NGlHc096bnpGdkF5RUIzbnpOZ0RjM3VjWEMvL01ndmJ3cVl5L3ZUVHJyK1pzNXovL3ExLy9jNFptbW5hMElIWXcrRjRTOVNRem5sc0ZqSlZxRGtneTU0OUozNGoxL0VjMVZOdFFSdW5yZ1loVHNueDBKYmNJQWpiM3JMVkZwN2Y4ZXpEYWNUMWdqMEQ4bkowSU1ZcGJiSkw1VDBaaVBramR1Q2svKzdyRzNRS0NhczlOb2Nwc0pvNVFKNnFjMlphc01FNnozTjQwV3RJTldHN25qNGQ2M3BtVE5zMGRRcElteFgvQUc4ZStZa1hGc3l3OFRZMWZsc045ajk4cG1LZmZCd0RtcldPcTBxMVNxOGZFSmVlRnhLQVpRNnZoWXlmQjl2QkFaYjcxb0tWQWw4emNPdEpUWFo1UEU0WnhvUlg2eUtBMG0xRDBXMHlkNmJTaVNMWFgyVFlzMjRNVW5pNG5tTWg0NWxZZ3BOMHJ2Q0p1K1Z3cllWN21WYm9POW9SOFppdjRZUHFxQmN3Tjl0NG5qLy82YS8vRFFhM21lc2M5MlVtNk1oTHZJNjRIR0ZoMWY0cFNQSGZ2aTU5M2JxcWZCRC9hMEdEVll0V21zQUVlcnlLM1NnQTh3cTczc1hJMkZxZUJ3QnlIQTcvZENZemJNMDVkbllreE5xQ25pT1krUmVkUDVLaENJVzROZHJzV0xJWWY4azFrM05qMlYvRGljTW12QS9XMEkyS25LbXJ3VnJuNHJGY0ZsSTRJZVdrMWEvL05xL3VtWGIyWWV1NFVZY3prQW9HNGxRVXlQUDBFS1VCV2hTTTQ4UHlKZkMrblV4Z0JiZlJRS2VncmVuOFM2T1pnODEzcUxlVkx2czljNnN0MDlKYWFFL0RtOUY5UXdZWE1LTURUQ1FRY0xKdUlIS2hoUG11VGxWL25DTnVCMkg5bkwvRXowaEwwam5BemtIb0EvNTlnNGJnSW13aE8zWG5BdXBvNW4wL1IxNkJOWndVTmswR2RTbmU2N3dMUkpBMTNBWnJzRWlHcnozaVlJQXNjNGNjODNPbUwvczlTbUczcG1jdW5CcG0yTFZJQmF2bHFaaUlQSTZTSGZIY1NLZytUc3ltclZHSHVZam53b0FCY1l6ZExOU2dUVXc4cmcvbytTNEw4WjdIdHVuaTNOeHNPKzNub0JnYjd5d1pibmZCVEJlanAvQitUS2FuQVZUcmhMTjFFL0djM2dPZ3ZIZkZjSDlHSEVCaVdGV0xXSVlENDdkRE1MbjE2N2xOc0U3ZUJGMnp2QitIZXRjS0JuRzBlUDg4eEk3bk5HY1RuMmRZWi9mbnlDdVB3b0hTL3M3SWFyZ293K1hoSEp5RXE3SC8rM01NdHVld05tZTA0QzdSWUtSb2ZSVWJ3U1dkVStRWXpISnlMYTloeUF6QkJlMTRFa091bDNQSFc3V1h3bmx0ck84SHRrYWVuWWtsbFB0ekdpT2dFUTd4MDd4UExPM1FobmVkempsWTUwVDdiNFBtT3g2bGdmLzliMzdVb0hZOThZVHFKSlhpYVdmQlRuZFcxTUM0VSs2c25KYm1lOUFkZ3Y3OEFOV050Sm5nRzhsTUNWemRtd0h0SEFFenpsR1JxNkRZb0RHbkREZjcweE13cVlLUW5EWDdIQ0x0eU5LN2ZkWFRPejA1OWN4M1FmcnJjRHlEZHJMQUxJRDdEbEQ1S3J1bXhKeUlpWlRIczE4OFpRL2s3YUc0dytIK3dTRkw4VDdCbHBvZHZnZUtWNTVQZHZCclRxcXpXMHhvNFBTNjRjUkZEMGV0UUtLNlBDUFM4U3hkc3V5cjhrOUFoVlUvejMwYUFUeWYwN3A0YkVudjdUcUpGOUNsZzJhVmllaWg1WkM5UitvdkI3REJBb2RRN0hBby9WUWEyMEpsMVE4bTBIR0pTTjFiQUtOcm56TW5vR0JCL1p1Ty9Cb3ZiQnNEYWsyZFo1M1lsb3ZpUEFHaTFQM0JkZWJWb2pPZXc0YkphNWZwL2pySzQwUUtYTXp6TEQzZEVna0oydTNhVC9ZemRyUGxZR2d3RkovSmY1MTNXcitUKzIrWGRZSDNPZHJIQks1UlRNdTFxb25pWUR0TFlWMkFOcERJSTJKL0JBeGt6RlliY3dkbDJpQ1lFY2hUc1c4OThmQW93SGxLWmw2bkhqaFFFMlZ6aXA1OXlSQ2RmV3V0djJqRjdqNk5uTk9CZFpDdmpvWHN2NGtoeTlFUDZWK1Z3b2cvTUJiejI2b0htb0phV2NFRG5XMTVsWDBYNXp4N0NvTVRiMDZ4Mll1dUJ5VVZNMncweFZOdVlyQUZyVnJwNDZrdGtBZnJHZi8yaWtlSGpnWmQ5emxDcHRXRDZJc1RLb0taaXZ2YnhUa1ljWGhnQVlUVUh1dlg4ZGU1ZUE0Wmh0VVUrdHhXaUdEQjM4dVdCQ2R3Mld0NzZ2L3pMMGJDNHRaUWYyWHAzNS8zenZpUCtEcGtPR0liWXJubFpmMTBIcS9MZzJYUVZDZlFUSDRZeEZxc1Q0Mi9uaFljMWZyZlhmcmtyWUtEMDY4bCtMWnRBUmlNT0ZyZGhqbVl4NDk1Mk5BNTZRNi9GZlJYNW91dHpFUHpEVnhDQVlQdE9pYkFMMzJDZ1NlRGpZNmJEeDRQZ0dMQ2NzN1p3STdBZkR6cEdMVjUwMWgydUtmYndmYnY4YTNnVzZoV0hGYzk3V2FtZE9YeVJWeGN6UzNvZjdjVkVjT2h3Q2ExQzQ3S2s1QTlabU1iZ0JxZVZYc0x1a3l3T0hJWExDbjdpNmJjUHFjdEd0TXNRVXAwVGlscUo2ZDVvMzJtSXg4blY1YUQ1aEgrYUlOem1QUDZwU29GYXNIMHROT2YwMkQ5bHFOM25kRWI0enJUbWMyc3RUT1l6VURmNDRtb3poN3BKeTN6b212ak50MWpxV0p4aXFPbE0veVk4MU1xSy9VQXBSMm1XVytQdXdSSEZEdGNBQmt0Z2ZkZTV5SzNQL05xZVVpWThNblF6TlNkQzJTZStINHdBTHVlU1BHTXU4YmtNYjdaREJlT3VucWVGTXpRTXQxNENtRytDd2RXSCtjQ3ZtVTFzQTk0Mm41YnozNTF2TUE2WTF3ODBleHhMay8rZFZNOGY4N1Z3c0J0VDY0QmRGMVdUTnVRNy9HQXJMT1QvZmM1SE9aOHRCNjNQSm9ub0p3SVRzQzdyNG9yaTU1NitwMVJxeDdNbU9EOVZyRkFRSjBYamJleWlMLzhUUzA5Ly91RkJNZm1hUXBPZFRRRVpxT0RTZnVURVR4RFVDOU1qR2JaZVFmSXlHMEZuUU9tSEhhMFR6cXQ1Tjg1UHRaZEZhZXMyMEg0bi9wLzZVS2RvL0NkdlAzZks4M2ZadkFXUkhMYUJUM2w3VTM0eFZvZFRGQTgzdkp6T1BuNzRnKzNaL253bzlwS2VJaGQzazZVQ3c1OXkwaVEyNDM4VktNcjAyTlZzSDhuVHZTZTA3V2hDajFZRGNvbnJuaHFUWkRrVTNuVG5aNTRzeUxvd0x6UElRT2oyVzZKRUU4bktOcDhiM0d5SWJieU9Ea1poZ0RvU0pjTkx0YVBXVG0yaHZQaGtzZmtnYUVmaDhNSEo1YS9uZ3I2Mmd6ZG5PMnBMM0w2cVJXWW5yV0J2RUhYMzlmanc4VHhqL044K1Jtbk8rQ0lkYVpXN0s3b3NNOXUvUTRPK3daMk8zcjhPY1Z5ZUFCMmFEcE00RG9oRkFDNStHVTYyZ0ZnNWJBZ2c5UFJVOEtEeHhFNS9NekRUNnl0aE94Nzh0M3lhRGxJaEFLUzhQMC8wb0tjTjFOaWdHWkQxMkU2cmNhSjJxK05EaW44OHRIMmJpZlU4UFdjS1N1dGNlWEpRdWRRN3N0Y2RRd1oxbStlZHppdVl0M0NRanZSRGV1Yks1SXh6eE9UdzMyV09UQWxveDhrMGV1SUtET28xck1Ta1dYZFRJRkkyS2xSREpuK0NpdzFUTTZlM3RGRGZLM3g3UmFFYnVNTDJHSGtkVHYwc1RuWjY4OWswN25QSVhNZTBwREZhR3hyR3lmVmhLa2YyOWxtRW1qUFMweW1mOHpqLzg0N0F1cjlacks4QzFPQmVTMmUrUHhyZ2JRbXBKNGhua1hHNlFHTjFWbmlGaVpoNHExbWZteDF4S2ZiakhRNldLWm52enpid1ZPNGpUZWVmQjJ2M2U5d3N1YU9uclJvekJTVnc1ejVUQTdBaHZyMWc5YnZEeVhEdFhtMldKYVlwdGtTQW96bU90SGZFNmxONFFHbHpwRkdOcFFBOHl3TEhSNjEzaDJpM0o1cXM0SDlXTTZybFdBODV0M1J5eGgyUUdNTW5qMm1EeDNRVUIyY1d5eWVsdVp0TEhnemNlRXVPNURXSkNPc3RsMW53aXcyMi9PL3krZTVndmFOVEpkbHRHTTVrY1BuOUkwNkNPSjJCb09EWWhUTlpGdnJPUXNsTFk5eWFpZjV4MjRhWGJIeHFXbmVUdnJPWkp3elJ0WFk3V25BVmt4Z0V1SDEvdGpkalZMakE2dERGSk1CYnE5L2gyTWhEcEhTWEVIZWx0bjltTTVSV3g3QXhMN1pHOHU3MnJpaHF6WWN1YkgybDlVZXJ6bnpjelM5REdlbk03YXBXZk53Q2xkVzV6WGY5M1I4WTVGd21kbkdHNk9BbnZzVHo3SGZGK1ROZ2pWTFM1cjhJdU81N3p3OGRDSmo2UlpiWUNWRkVoMDYrUTAzalgzVElYZ3YrWkJkcDlhd3Z4N2VpZzJ3RU1hS0pydzZUMlgwZEZwMyttWHJZVDh1Q01IQ3VaZmxvUjNZeDlJTlpUM3VnTW5UeTAxWVo5Nzk0TW51NVpFWUNJQnpSb1NrRm0rSm9MZkYzR2RtMWhsbzdSQ3d1czhCMzFhN2xQWmRBUy9aN00wS1R0d2Q5em5zT1ZuVHREekJRalY5ekN1YkVuUzRQUGFlYjJlSHdsYjcxN09uRmZlK0w5dWpIVCtGM21WUDMrck9CdkRjUC90WHduTU9WUExRR0E5eHFpYmcyRi9KWnZmSWVnK3R3YXpwZjY1ekxDckk1ZnIvQXBZVHFBOGFKZXJZQUFBQmcybERRMUJKUTBNZ2NISnZabWxzWlFBQWVKeDlrVDFJdzBBY3hWOVRwYUlWQlR1SU9HU29UaFpFUlJ5MUNrV29FR3FGVmgxTUx2MkNKZzFKaW91ajRGcHc4R094NnVEaXJLdURxeUFJZm9BNE9Ub3B1a2lKLzBzS0xXSThPTzdIdTN1UHUzZUFVQzh6emVvWUJ6VGRObE9KdUpqSnJvcWhWNFFnb0I4OUNNak1NdVlrS1FuZjhYV1BBRi92WWp6TC85eWZvMWZOV1F3SWlNU3p6REJ0NGczaTZVM2I0THhQSEdGRldTVStKeDR6NllMRWoxeFhQSDdqWEhCWjRKa1JNNTJhSjQ0UWk0VTJWdHFZRlUyTmVJbzRxbW82NVFzWmoxWE9XNXkxY3BVMTc4bGZHTTdwSzh0Y3B6bU1CQmF4QkFraUZGUlJRaGsyWXJUcXBGaEkwWDdjeHovaytpVnlLZVFxZ1pGakFSVm9rRjAvK0IvODd0YktUMDU0U2VFNDBQbmlPQjhqUUdnWGFOUWM1L3ZZY1JvblFQQVp1TkpiL2tvZG1Qa2t2ZGJTb2tkQTN6WndjZDNTbEQzZ2NnY1lmREprVTNhbElFMGhud2ZleitpYnNzREFMZEM5NXZYVzNNZnBBNUNtcnBJM3dNRWhNRnFnN0hXZmQzZTE5L2J2bVdaL1A4YTdjbUx3MFh4dkFBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBQjNSSlRVVUg1QWNDRUNRU1IxL1VNUUFBSUFCSlJFRlVlTnJzWFdkNEZGWGJ2cy9NMW5UU0V3SkpxRUtvU3ErQ1NGRXNLS0orb29DZ2lJclN1d2d2dlNnZFFTa1dSSDFGUklvRkMvS0NnQ0NDUWlDMGtKQzJ1OGx1eXZhZGNyNGZPek5zR29ZU2l1eHpYWE50c2p1N00zUG1uSHVlZWorRVVvcTdWZjc4ODArTUdERUNmLy85TjhMRHc5R3paMC9FeHNiaXE2Kyt3dG16WndFQUd6ZHV4T3paczVHYm00dEhIMzBVTE1zaUpDUUVhOWFzQVFEczNic1hJMGVPeE9uVHA1R1ltSWhHalJyaHQ5OSt3OWl4WTJHejJiQjU4MllVRmhiaTBVY2ZoZHZ0aHNQaHdOR2pSMkV5bVFBQW9hR2hTRTVPaGlpSzRIa2VnaUFvcjRJZ1FCUkYzNytKS0lydzNTaWw4aXVobEVMZUFKQ3lyd0JBS1NYUzVTdXZaZDRqNTg2ZGk0bUlpSWpUYXJVeExNdkdNQXdUeFRCTUJDRWtIRUFOQUNHRWtCQUFnUUFDQU9nQmFLU05CY0JJdnljQ0VBQjRwTTBKd0FIQVRpa3RBVkJDS1MyaWxGb29wV1pCRUFvNGpqTzZYQzVUWGw1ZVh2UG16VTNTNzFDZnJkei9oSkN5bjhudkFRQWxoSlI3OWRrb3d6QWdoSUJobUxJYlpWa1dMTXVDWVJqSWY2dFVLdVZWM3RScU5kUnFOVFFhRFRRYURiUmFMYlJhTGZSNlBmUjZQUUlEQXhFVUZJVGc0R0NFaFlXaFJvMGFpSXlNUkhSME5PTGo0M0g0OEdIVXJYOFAvSEpqaE56TndIWTk0dkY0a0p1YkM0UEJnSUtDQWxnc0ZoUVZGYUdrcEFRMm13MTJ1eDBPaHdNdWx3c3Vsd3R1dHhzZWp3Y2Vqd2NjeDRIak9QQThYMnFUQWN4M0UwV1J5QUJYQnN4S0FabjhmeGtBS3dWWXZ2OXYyN2F0Z1Y2dnI4ZXliRjJHWWVvQVNDS0VKQUpJQktDN1RZYlpCZUFTcFRTVFVwb2hpdUpGanVQU3JWYnJoUUVEQnB5WHdjMEgyQ29EdkhJQVNBaWgwbmhSRUhKNVlBZ3BCWHkrSU9jTGVtWEJ6aGYwZk1GT3A5ZERwOVVpTkRRVU1URXhDc0NGaElRZ0xDd000ZUhoaUl5TVJFWkdCdHEyN3dTMVd1MWZYSDVndTNZWk9YSWtWcTVjZVZ1ZFUzUjB0RmZOcVFETVpLMU1CamI1M3NtYW1pOTQrZjYvYi8vQjZKalkyS1pxdGJvcHd6QXBoSkFVQUkwQWFPL3dXK2dHY0ZvVXhWT0NJSnh5dVp5cDZSZlNVeC9wMjZkQTBoUjlRVTBzQTRDZ2xDci9YMEdqbzRSaHdCQUdERVBBTURLWU1aUmgyQXBCalZXeFVLblVVS3RVVUtuVjBLalZFaGdTcURVYTFFcElRRUJBQUFJREF4RWNISXlRa0JEVXFGRURPVGs1YU5xc0pRUkJRRXhNakIrWi9NQjI4OFJvTkNJM054Y21rd2tGQlFVb0xDeEVjWEV4ckZZcmJEWWJIQTRIbkU2bm9xV1YxZEQrUVVzanN0bFpCdEI4TmJOUzJsaFpVSHU0N3lQczRuZVd0TmJwZEswWWhybVBFSEl2Z0FaMzJXMDZKNHJpbjdrNVdjYzBHdldmWThlTStYUHYzcjJpRDlpSmxRQ2VaTVlTU2dnb1FFQklaU0RIZ0dFWnNBd0RobUZwS1lCVHNWQ3hsN1UybFd5aXF0VVFSUkhCd1VHSWlJaUFYcTlIUUVDQVlwNGFqVWJVYjNBUGFrZ2FYR3hNTENLam92eUx6ZzlzMVNmRnhjWEl5Y21Cd1dCQWZuNStoV2FuMCttRTArbUUyKzFXekU2TzQrRHhlTUR6ZkNsUTgvR2pFVjgvV2dXYUdhbkFYNlpvWm1QSGptVWZlK3p4VHVHUlVlMkRnb0k3RUVMYUF3ankzekhBYnJmQldsS01WdmZkYTZPVUh1SjUvcERWYWozODZxdXZIdnJpaXk5NFFraFpvQk1yTW0zTGFIRzBsRitPVWNBTkxNdUFZYjBncDJKWnNMN2dKZ0Vjd3pCZ2lGY3pMK3QvTTV2TnFGVTdDYUdob1Y0VE5TSUMwZEhSaUl1TFEzQndpUCtHK29IdHhnbkhjY2pLeWlxbHBSVVZGU2xhV2xYOGFHVzFORms3OHcwT3lKcVpiR2I2YUdTK3ZqSkNLV1VzRmt2am9LQ2crMW1XN1FLUXJrZU9IQW1OVDZqdHYxa1ZTRzdPSmJScDNicmNjK3JRNzRmM1JVWEg3aThveU4vZnZtM3JOQW5VS3RMcXhFcEE3cklteHpDVUlUNGFITXVDbGJXNGN0cWJDcUlnSWpJeVFna3c2SFE2NkhRNkZCVVZJUzZ1SmdLREFoRWNISUxRMEZCRmU0dUppVVZ3VUJDeXN6Smh0OXNxdmQ3QXdDQWtKZGRGU0dqb0xSdnprdUppWkZ5OGNNdlBVM1czVFhaS0tRd0dBMHdtRTNoQmdNMXFyWEEvaThVQ2s4bFVTanV6MisyS2R1WUxaUDhBWWhWR05XV0h2MlQvZ1BqNHg4cUNtY1BoNktiUmFIb3dETk1EUUZQZjgzUTZIWDRFcTBTY2pnckhKdFR0Y3ZiVmFyVjlhOVpNd0tYc3ZKTTh6LzlpczlsK2JaclNhRDhoRUh5QmpsSmFUcU9UL0hNQUlaU0lJa1JDd0lnTUJNSlFoaEhBc2d4aEdCWXN6MUtlNWFGU1NSb2NwNElnOExEWnROQm9OSXAyNzNLNVVGSlNBcTFPRDZmTHEvazdITjY1WnJOYVVWSlNnaUpMQVFJREF4RVdGblpGTFRYajRnVTBhM0h2TFJ2emkrbm40WERZLzFHYnJ1N3pWTjF0b0hiczJER0FNQWdNQ2taZ1lCQmlZa3Z2NDNBNGtKT1REYmVIQjhlTDRBUVJna2doVWlpdkZLVDBSbEZtbzZBVUVDbUZLRklpS3BGTDcxYld4S1NVRWlxWm1jUWJybU9jVG1jZmpVYlRoeERTQjBETmE3M21IM2YvZ0kwYjFzTmtNaUkrUGg0ZmIvb001ODZkeGRBaGc1UjlKazJaaG9jZWV2aHV4YjhtS3BXcVNWaFkyQnRaT1hrNWdpRDhZTGZiZjBwcDFPQW55VndWS2dVNVNpa0ZvZDRBS3dVaElrU1JRQkI4QUk1bHdmTXNXQlZQVmJ3S29pakE0WENBNHppbzFXckZYV0czMjZFcExsYUFUblp0T0J4MjJPdzJGSmlNQ0EwTmhjMW1RMlJrSkhRNlhhV2djU3ZsbjBEdFpwM25YUVZzQm9NQklBeWlZK0lxTmwxeWM1R1htd3RUdmdsbXN4bEZoWVdLSDgzaHNNTXBtNTF1Tnp4dU56eWNCNXhIMHRaNEh4OGFMMEFRZU1uY0ZDR0tzc2xKQ2FVaUtBVUJLTGxzY25yLy8rMjNBOTBURTJzL0doOGYzL2Q2d016M2VoYk1uNHVacythZ2RlczJLQ2twQVFEVXExY2ZQLzc4S3dEZ3BhR0RxMjI4TjZ4Zmg4Y2U3NGVJaUloeTU3VnN5VHM0Y2VKdmFEUWE5SGl3RjBhOCtocFlsZ1VBWkdkblk4V3lKVGh4OGdTMFdpMTY5dXlGbDRlUFVENnZEcEdPV2ZQRXlSTXZhclhhRjZkTW5aWXpkTmpMMzludDl1K2FOV20wWHdJNG9ZelpXbGFMazRJUElrU1JnU2dTeWdnQ0JJWUZLekJFWUhtSW9raWRUbWM1WUhNNEhGQ3JOVjVYaGpTLzNHNDNuRTRYSEE0bkNpMEZFdEE1WUxmYkVSRVJnY2pJU0w5YTdnYzJ3R1RLUjJCUWNMbjNiVFlic3JPenZEbHArZm13RkZwUVhDVDcwUzVITzkwdUY5d2VOenh1anhmVU9BNDh4NEZUQUkwSEx3Y0VGRkFUSlRDVEUyaTlJQ2FibWFkT24yMFNFQmpZajJHWXgrMTJXK1A4L0h6RXg4ZmZrT3M5azNZYWtaR1I2Tml4RXdBb0M0RVFBcTFXcS94ZFhmTGh4dlhvM0tWTE9XQ2I4ZlkwTkduU0ZQK1pQUmZGUlVVWU0vcE4xRXlvaVg3OW5vUW9pcGcwWVJ5NmRYOEFzK2JNZzhsb3hMaXhveEFWRlkzK1R3Mm9sdk9zNUpnMW82S2loL1YvYXNDd3JCekQ2YzRkMiszNHoreTUzNzR3OFA5T0FSQWs3VTBneEt1WVg5YmtLS1dVVUVJRVNpa2hvaWhTUWtRSUFrTloxdXVPY0xsY1VLbFVWQTRxcWRWcXVGd3VxTlIyeWFYaDlkTzZQUjdKWEhXaHVLaFEwZVpjTGhjY0RnY2NEZ2Vpb3FLZzErdXY2YnEvMnZJbDNsdTlFai85c2hjQThNckx3MkN4V0VxNVl5Wk5ub0llRC9ZRUFKdytmUXE3ZHU1QTgrWXQ4R0RQWHRXK1hoZk1uNHR2ZCsxVTV1anJJOTlFLzZjR0lEMDlIVXZlWFl5UzRpSUVoNFJpNHFUSnFGWEw2MmMrZU9BM3JGbXordTRDTmw3Z0VSZ1lWRVo3eUVGdVRpNk1SaVBNWm04S2gxZExzMTcycDhuUlRvL2tVL1BJL2pRdnFBazhENTczRFFnSXZta2FwSFJBQU14SEgzK2k2OXlsNjFNc3kvWW5oUFR5ZGFyYVNvcXUrenFQSHorR0dkT25LWnJBNDQ5NnpjeCtUL1RIb01GRHF2UWJodzRld01vVnkyRXc1Q0V4TVFsanhvNUhTcE1teXVkN2Y5MkREUnZXSWQ5a1FreHNMSVlQSDRGMjdUc0FBRWErL2lxeUxtVUNBRWEvK1FaVUtoWUpDYld3Y3ZVYWlLS0lybDI3NGVHK2ZhSFZhaEVkRTROV3JWdmo3Smt6eW1LcUVSNk81d1lPaEVhalFVS3RXdWpZcVRQUzBrNVgyN3lvd2pFYkVVSWF4Y2JHVHJpVW5iZmI2WFJzbnpIOXJSMmZmYmJaQ1lDWE5EY1o3QlNRazMxeGhGQlE2alZUS2FYVTdYYUQ1M2tpQlJVb3ovTnd1OTFnV1JWNE5RK092K3l6NWFSZ2xMV2tSQWxNZVR5ZVVnQVhHUmxab2ZZbWlpSVloaW4zTndEazVlWGgyMTA3UysyLzV2MTF5dDl1bHd0REJyK0FqcDA2QXdCV3IxcUo5UFFMY05qdHFGZXYvdFhaK2syYUtJbnNWenJIc3Y5YnpHYTh0K1lETkU1SktmV2RXZjk1RzZOR2pVSHpGaTJ4YStjT0xGKzJGSXNXdnd1WHk0bUZDK1poNWVxMVlPNG1ZUE1ORkRpZFRwdzVjd1puejU3RnhZdnB5TTdPUWw1ZUh2THpUUXJBRlJjWHd5cVpvamE3SFE2N0EwNkgweWRYelEyMzIwM2NiZy94QmhFODRIbU9TRGxwUkJSRlJoUkZobExLVWtyWjFOTm5tMmRjeXA3ZHJmc0RKMVFxMVFlK29PYXJQVjZ2dEdqUkV0dTI3OEtibzhhZ1pzMEViTnUrQzl1Mjc2b3lxRjA0Zng1dlRadUNFYSs5amwzZjdjWlRBNTdHbU5GdndHUTBBZ0F5TXpNd2U5Wk1USnc0QlR1Ly9RR1BQUElZcGs2ZERJZmtyRit4Y2pXMmJkOEZBRml5YkRtMmJkK0ZsYXU5SldnTXcrQzVnYzhqTEt5RzE5bDhNUjBIZnZzTmJkdTJVN1RLRlN0WFE2ZlRLeFA5K0xGamFOYXNlYlhOaTZzNUppR2taMEJBNE1vRmk5N1pYNzlCZ3lscjMxL1hqRktxaFRmaFdRTkFEVkFWcFZRbDMzZDVIa2h6Z25BY1J6eVNOdVp5dVlqTDVTSXlXRG1kVGpnZFRqanNEdGpzZHRoc05saWx3SlhOWmtOeGNURUtDd3RoTnB0aE1wbVFsNWVIckt3c1hMcDBDVzYzV3puUEkwY09ZK3JraWVBNERoYUxCUzhOSFZKS0cxdTBjRDVHdnZGbXBXUHkzWGZmb2xQbkxvbzJPT3lsbDdING5TV29VN2Z1Vlk5dlNFZ0lOQnBOaFordFgvYytObis2Q1FCdzRzVGZlUE9OMThzOWNNcjZ5Ujk5N0hFMGI5RVNBSERQUFkxZ2xnQXpMeThQWVdFMVVMTm16YnN2S3VvMVNZM0l6c3FXbmlMNUtDeTA0TUtGQzlqOXcvZm8xdTBCdUZ4T09GMnV5NmFucEtWbFptWWdyRVlORUVJZzhEemhlYStHNXZHNElRZ0NZVlVxOEJ4SFpKSE56ZDY5Ky9SWis4SDZaL2Y5Yis5VEgyN2NBSTdqVUxkZVBVeWFQRVZaVExlVDdOeTVIVjN2NzZhWXNMMzdQSVR2dnR1RjNidC93TURuWDBCRVJDUTJiUHdZdFdwNzFmOUhIbjBNUzVlOGc2eXNTMmpZc0dyMWpxa25UMkwwcUpGd3VWeTR2MXQzZE9sNmY0WDdyWGx2RmZRQkFYam80YjQzN2ZxcmNreENTSzJJOEloUlFjSEJvekt6Y3JlV2xCUi8xVFNsMFM4QTRhWElxaUJwYllLdkJnZUE4anhQR1lhUjh4ZXBsTmRJR0lZQkw2Z29ML2dtY1h2OXQwNkhvMVErcEt6UmVSUnoxV3VtUmtsSnZhMWF0Y2F2ZTM3QnpCblRrWk9UalNlZmZBcmhFa2hzLzJZYjZ0YXRoMGFOVXlvMXpiZCs5U1VXTG41WGVhOHlZTHBlZWZiL0JtTDBxRGRnTmhkZzMvLytoMWx6NWlxZm1TMW1USjgyQldhTEdXM2F0TVhvTWVPZzFXclJyOStUeWo1ZmZQNFpldmJ1RFFDSWpZMkR4V0pHZW5yNjNhV3hpYUtJOVBRTE9IUG1qS1NsWFVKZVhoNU1KaFBPcEtXQjUzbGN5cnFrVkJMSWVXcE9oeE5PbHhPVVVuamNIdUp4dTB0cGFGTGFCcUdpeUJCQ0dFb3AwKytKSjFVWExsNGFQRzc4aEIrN2RMMS9xOWxzZm1yRjhtVjRkK2t5ZlBMcFoxQ3IxTmo2MVZlM2JaQWxMcTYwbjY5MjdTUVlESGtBZ0tDZ0lCdzkrZ2VHdnp3VXp6MzdOQWEvTUZBWjM2cEtTcE1tMlAzVEhueng1VmJrNWVWaHcvcDE1ZmI1K0tNUDhmdnZoekIzN255b1ZEZm5HVnpWWTFKS1lTbTBJQ2d3Q0F6RFBCRVdWdVBUUzlsNVc5TE9ubisyZWZNV2VrcXBEcGVKQVh3MU9JWlN5Z2lDd1BBOFQzaWVKeHpIRVo3bjVjQUJjYnZjeE9WeWVWTS9IRTRsVjFJT0h2QThyMVFzaElhR1FxL1h3MlF5SVRjM0YxbFpXVWhQdndCS0tZWVBINEUvai80QnJVYXJnTFRSYU1DTzdkOWcyTENYS3IyMjMvYnZRMUp5SGNUR3hsM1hXUGJ1M1J2OSsvZEhmSHc4T25Ub2dQNzkrNk54NDhhbDlna0tDc0lycjd5S0wvLzdCYnAxNzE3cXdUaCsvRVM4OCs1U2JQcjBjNWpOWm55OWRVdXA3Mjc1OHI4b01CZmdxYWVlQmdEbzlYcE1uaklOOCtmTnZuczB0cUtpSXB3L2Z4NnNTZ3RUdmhFV3N6Yy96V3IxbXBwWldaY1FHeGVIM053Y3hNVEVLRTlDUTE0ZU9JNERJUVNVVXNKeEhnQUVITWNSUWVDQjBqV2FaUE5uWHdRdldqaC84SktseXdjUlFwb2VQSGdBOCtZdkJCVkZ2REZxdEdLQ05iem5IdVRsNWQ2V1l4VVRFd05EWGw2cDkzSnlzdEd5cFRmdmFOLy85dUxUVFo5Z3lkTGxTS2hWQ3dEUXBWUDdpclNhY21EbmRybnczWGZmb2srZmg2RFY2UkFYRjRjZVBSN0UvdjM3eWszYUgzZi9nR1VyVnQyMGhOT3JPZWFSSTRlaFVhdlJvR0ZEMyt2dEdCZ1kySEg3em05ZmRydmRuMzM5OVZmL25UQnViQWtoUkpCOGNiSVdwL2ppQkVHZ2xGSXFpaUk0am9NZ2lKUmxSUWlpUUFSQm9JSktnQ0I0UWM4M0o5SnV0ME9qMFVDbjB5bmxXYkwvN2Z5NTh5aklMOENhTmFzdzhQbEJPSHNtRFF2bXo4V2t5Vk94YzhjT1dHMVd2REw4SllCNHlSeUdESG9lYTlaK0FLMlVRdkxGNTUvaDVWZEdYUGQ0ZnYvOTl3Q0FEaDA2SUNNakE3bTU1ZWY3aFFzWE1IL2VIUHhuMWh4czNMQU90Uk9UOFBERGZTRUlBbHEwdkZjeGhYdjI3SVhEdi8rdWZPL1hQYi9neHg5L3dMdExscGVLbHJkcjN3SHQybmU0T3pTMjdPeHNuRHg1RWxsWldjakt1b1M4M0R5WVRKZURCVWFEQVlJZ0lpZ3dDRVdGaFlvZnJTQS9INElnSUNRa2xHaTFPa0lwaFNBSWhCZDRJZ2c4WVNRQndEejVaUC93aTVuWll6dDE3bklvSmpaMmNkcnBVMDJ6c2k0QkFKS1NraEVWSFkzT25ic29pM3ZIam0vUW84ZUR0eTZRSXBrNkFFQWx5aVFaaEI3dSt3ajI3dDJEdzRkL0I4L3orT1dYbjVGNjhnUjY5dks2Qk0xbU13Z0JHSlpGY1hHUjRpT2hZdWtxbHJqNGVCdzZlQkFjeHlGZm9tblNhTFg0NU9PUDhQbm5tOEZ4SElxS0NyRnYzLy9RckZtenk2YndqdTNZOXZWV0xGMitVakdmcXQzOHJ1SXgzVzQzZmo5MEVQUG56Y0h3VjE1RllHQmdSWURlUktmVHpYbjIyZWUrUDM4aFk4VHE5OVpHU1JxY2xsS3FvWlNxZlRVNHlRL0xlTWtQZU1MeEhQRUdEZHpFN1hZVGw4c05INTljS2UzTmJyZkRLaVh4eXI2M3JLeExPSFRvQU9yVXFZdHUzUi9BdE9rem9ORm9ZYkZZTUhUWVMvajhpeTNZK05FbldMTjJIVFFhRFRaKzlJa0NhcWRQbllMYjQ2bFduNmF2SFAzakNDWk5ub3I3dTNYSHUwdFg0RlRxU1ZCS1VWeGNqQmNHL3ArU29uVDgrREVrSlNjcmYzLzA0VWJNWDdDb3d2RUgvdVhwSHBSU25EMTdGcG1abVFyRkVLdFNvNlM0QkZhYkZRNjdIUTZuRTlrNTJRZ0kwRXZPVjRMaTRtSVFoc0RsY2hPMVdnVVA1NEVvQ2dCQWZPaUJHQURraHg5L0NibDBLWFBZZ2YzN2hqRU1VeGNBT25ic2pJTUhEeUl3TUJDZE8zY3RadzdQbVRNTER6elFvMUlmUjNWTDJRVGRCZlBuWXNIOHVYaXdaeSs4TlgwRzZ0ZHZnTGRuenNKN3ExZkNrSmVIMm9tSldMajRYY1JJMmN4OUhub1lKMCtld05BaEw0QmxWWGpzOFg2b1g3OEJMSVdXVXNjWk0yWWNGaTlhNkgwUzE2Nk5kUnMrZ2thandZS0ZpN0Z5eFRKODhmbG5VS3ZWNkhwL053d2EvQ0lBUUJBRUxGcm9OUU9mZmJwL2FUTngwK2JyTm84cWtxb2VjK1JycjRJUUlERXhDV1BIVFZCOGtGZVF1bHFkYmtiZlJ4NTlvY2VEUFQvK1p0dlhuNDBiTzdwWTF0NGsvNXVpeFhsVFE0aElLQVgxVnFoUVFSUWhpZ0xoZVI0c3kxSzVjcVVpaWl2NVlXVXc1S0ZHalhBMGFOQVFaOCtlZ2NQaHdKaXg0NnFVMnZQNVo1L2lxUnVjVm5QZ3dJRktQeHZ3OURQSzN4RVJFUmcvWVJJQUlEdzhIQzhPRzRiWFh4ME9Tb0hrT25YUTd3bXZiMjMrdkRsd3U5MFk1Uk5vbVByVzIyalFvQ0VLQ3kxNGVkalFmMit0cU5WcXhmbno1M0hwMG1VLzJsOS8vUVdHVmNGdXM4SHVrNXVXbG5iNnN2WkNLZFJxTmRIcGRMQmFyVEx2RnBHSUlBbkRNSVJTeWlRbEpiRjc5dTUvbVdYWmwzLzY2Y2ZHKy8rM0Z6UCtNeHNBa0o2ZWpubHpaeU1vTUJDRFh4eUs1czFiS09lMWJPbTc0RGdPNDhaUHJEZ2llUzROWGJ0MnJmSjE3dDI3MTA5UVdJbFVOcGEzY014T3A1NDQvdEh5NWNzM2YvZmRkeDRKNEJRVEZkN2FWUG1WeXNYMkRNTlFRUkFVL2plVlNrVlpsb1ZhcllaS3BWTElMV1hUTkNtNWpzVDNKcEZaeHNTZ1pzMEVKQ2NubFV0M3V0Rnk4TGYvVlhuZjloMjdWTnQ1L0NzMU5xUFJpQXNYTGlBcnk1dkM0VXNFeWJBcXJ6UFc2WVRMN1lMZGJnZlA4NGlPaVFIUGNYQzZYTVJodDROaFdSQkNpQ0FJY2k2YUV1VThmZWI4TXk4TS9MOFJScU94Ylh4OFBQTEsrQTdxMUtrRHU4Mkdnb0o4TkcxNjJjVGEvT2ttbU0xbXpKZzU2NFpkcTE0ZjRFZXdxeHliV3pobWpXclVDSisvYytmT0owcEtTajRNQ3d2YlFRamhmQUZPMHVLSVY0c0RwVlNnb2xTckovbmpJSW9pVWFsVTFKY1ZSdGJhQUlLaW9pTHdISzhrKzdyZGJyaGRMcmhjVGlRbEpsVXJIVkpBUUdDVnlxb0NBZ0tyZGFEL2RjQ1drWkdCOVBSMFpHZG5LMG1CY3RLdDFXb0Z3N0JLS29mSDQ0SEZiSUZLcFlMYjVTWTh6NE5LQmVyZXRBMkdpQ0pQQkVFZ0FKZzJiZHAyZjJmSjBsY0RBd1A3VHBveUZWTW5UMFNOOEhDb1ZDd0N5aXlXanAwNm82UzRTRWsyTkJvTldQUGVLaVFrMU1LUVFkNG9Jc093MlBqUko5ZDF2U3pMd202M1ZmdVQrRTRUdTgxYWFRa1djNHZHekc2emdsV3BRQWhwRXhvYTJrWVFoTDRtaytuRHVMaTRBNFFRamxMS0UwSmtnQk5CSUlKQ2hDZ3FCSm1pNk0wYWthbXRSRkZVekZNQTBPbjBzSmFVZUZOQ2VEa2xoTHRjeWVCeXcrbHlvWllVOUxuUmtseW4zajhXd2djRUJDSzVUcjFxSGV0L2pTbEtLY1daTTJlUW5wNk9uSndjR0kxR2hXWklydmZNeWNrQllSZ3ZLMGVwc2lpZWVOazRlRi82SUZsTFkwNmtwalVJRGc1K2pSRHl5cTB5bnlvSDhreVlMUmJFeE1iNzBjeFhhemZrSWpJeUFvbTF5MU02WldSbXdteSsrV05tTk9RaUlpSUNTWW1sejRuanVIV3BxYWtmdDJ6WjhnSUFEZ0F2UlZJVkg1ek1IK2ZMQ2VkRGNFbkxtcVV5SlpJY01aVlRROExEd3hFVkZZVzR1RGpVcmwyN1drdnFicVg4S3pRMnVZb2dJeU5EQVRXejJZemk0bUtmSW5ZSDNHNDNSRXA5eTZJSXovUGdCUjZpUWl0RUNRVWxvSlQwZjJvQXUzRFJPeU5abG4wRFFNTE51SmFnNE9DcjJqOHhzVGJ5ODAwd0duSVJGQnh5MTJ0dWRwc1ZOcHNWQXM5WENHb0FrSlNZQ0pQcDVvMlpmRTZpSUpRRE5RQlFxOVhEV3JSbzBjZHV0Ni90M0xueng4ZU9IZlBJQUFkdmtNcTNBRi9oaHBOQmptRVlJdm5mcUV4Ujd0dGNSZ1k0WDlaZXVlZEN3NFlOcjduVzlIYVdPMTVqS3l3c3hObXpaNVU4R1Y4T3RiSmtrSVdGaGZCV0MvRGdLdGZTR0FEazNJV01uaHFOWmhTQUIyN21vblM3bldqV3RPbFZhNnNYTXpKaHNaZ2g4Q0pjcnJ1VG8wMnZEd0REc29pTWlFUmlZcTEvMUVZeU15OGh2NkFBQWk5VTI1anA5UUZnVmFvS05iV0tSQlRGUFNhVGFWMWNYTncrUW9odmdJR1hORGRCQWpSUkRpNndMRXQ5d0l5cTFlcFNKSmErUFJia0JqSnlkNnlrcENRMGFOQUFOV3JVOEFQYmJXTnVHSTJsMGpsazJ1NktHRzdkYmpmc2RqdGNMaGNSS1lVZ0VVRXFXaHFsQktETWthUEhZcU9pb2tjUlFrYmY3T3N4R2ZNUUZ4dUR1TGc0K09YdUZvL0hzK3FYWDM3WjJLZFBINE1VWUpBMU9NRW5jaXFERzVXMU5WbFRVNnZWVkc0QldCYmNmRTNTK1BoNEpDWW1va0dEQnYrcUpqSjNyQ21hbFpXRmMrZk9JVE16VTBubjhHMnVJdE82K0RMZENvSkFQQjZ1SXZZTkJnQno0ZUtsL2lxVmFqU0ErMjdtdFRqc050aXNKUUNvSDlUOEFnRFFhRFN2OWVyVnE0UFpiRjRiRVJIeEhTR0VsY0NOODhsL0kxNGxUeFI5R3Y1UUg2cDVXbG11VzJWMXA5VVZWUEFEV3hYa3dvVUxPSC8rdkFKcWNqcEgyZVlxWmVpN0NjZHhBS2g4MCtVdVQ4eTJiZHRxaFlTRWpNbThlUDdWbTMwdHdjSEJVS2xVaUkrUFEyeHNySDlGKytXeU9VVkl5L0R3OERVZWorZUQzMzc3YlVPM2J0MnlDU0dNYkpwU1NubGNabDRXdlY0SjZoc3BKYjVSMDdMcElUSjl2UysxdmNmalFkMXJZUER3QTl0MVNscGFtcEo0SzNlTktpekZkT3NvQzJyRXB4ZUI0a3VEVkRuZ2RydWZVS3ZWWXdHMDhpOGx2OXlPb2xhclgrcmF0ZXQ5K2ZuNWE2S2lvblpMdmpkR0FqVlplNU5UUWNwcWIrWFNRc3BXTHZoMlRwTUI3cDU3N3V5a2I1S1JrWEZIbktoY0hpVUhDWHo5YVdXMU5KOU9VY1JiV096dERDV25jRkJLeWM4Ly94eVdtSmc0am1HWUNmNmw0NWM3eVBlMmJPdldyZXNuVFpwVUNNRGprK0FyeVA0M3VXcEJTZ254OWIxUjN3b0Z1ZlZmVUZCUU9iK2JIRlM0VTlOQlZJbUppYmY5U1hJY2g5VFVWTVYzVmxHSHFBcTZRdmwyVS9jRk5jWnV0M2ZSYXJYakNTRTkvVXZGTDNlWXZEbCsvUGlVWjU1NVptMVNVdElSQUN3QU9YcEtVSnJKRjZJb2doQWlsMlFSbWYrdHJJYm1XMlR2Y0RoZ3RWcFJWRlNFbEpRVXFOVnF2eWw2bzhYbGNpRTFOVlVwa1pLckNYeGI0aWs5Q1NUQ1BWbFRrMDFQQ2RnWVNpbmo4WGlHc3l3N0VZQS9vOVV2ZDZRd0ROTWpNVEd4Y1VsSnljcVFrSkF2QURDU2VTb25sWmNLTE1nV0QvVUtrYXNYZlByWTRrckY5U2twS1pWMnhicHRUZEhiT2QzRGJyZVhBcld5MVFSbEd4YkwvalRKL0pUclBCbFJGRWx1Ym01OGRIVDBCRUxJcS82bDRaZmIxZDFpTUJoZ05Kb2dDQUpzTnVzL2ZvZm4rWFZIamh4Wk4zbnk1RnhKYzVNckY1VGllcCs4TjBpcElYSVNyNUx6Sm5lbUwxdWxFQjBkalpvMWF5STVPZm0yQUxmZzRCQ3dMSVBvNk9nclpoRGN0aHFiMVdxdEZOUmtobHU1OTZKdmtFQUdOWi9JSjJPMzJ6dHJ0ZHFKaEpBSC9jdkhMN2NycUIwN2Rnd1VSS21HcUdKVzJiRDZEUnZYNmRydGdmYzZ0R3Z6QndBRzNzaXBUSURxcFVYeS9rT2x2cmRlalkxU0wwT1MxQWRYM3VRZXVvSkl3UXNVSEMvQzdSR1FtSnlBb0tCYlg5bGl0OXVRbTJkQWJsNGU3cnYzM2pzSDJJcUxpeFZRazR2WnpXWnpoWnBhSlpGUHhaL21kcnNIcWxTcXlRRHErWmVQWDI1WE1SZ01vQ0RYVkwvS01FejNXclZxSjU1TVRWdlJKT1dlSGFDVW9ZQnYzdzFCb2dzUnZiRUFDc2tDQmJ6cmhDb21xUnhSbGN4VVVhUVFxUlJOcFNJYU5taUk0SkNRV3pwV2dZRkJDQXdNZ3NtWUI0UEJVR0dhMUczRm9QdkREeitnZmZ2MmlJbUpRZGV1WFRGaHdnVHMyYk5IWWVpb0tBTHFWdm9QZUgxcTBzYUlvcWlhUDMvK2xQVDA5TFhmZi8vOWJRTnFQTTlqMUtoUmlJNk9SbWhvS0lZUEg2NTBkL0xMM1NzbVV6NkNncThMTU9xR2hvVXRQbmYrNHZDRzl6UUtBS0NUdW1mSlBSZFlTc0ZTS25mTEVnalBjL0J3bkplcDErV1dlaXg0dTJOWnJWWVVGeFhCWWpIRFpEUWhKeWNIR1Jjdkl1MU1Ha3FLaTIrTE1Rc01Db1pSNnB4V1Z0Z1pNMmJjRmllNWQrOWU5T3paRXlrcEtYamdnUWVRbEpTRW9xSWlIRDU4V0k3c0tJQlcxdnlVdFRRdnRiTEFwS1NrMVByODg4L25kdTNhZGN5QUFRT1lrSkFRZE9uUzViYTR6b2tUSjJMYnRtMzQ5Tk5QOGV5enoyTHAwcVU0ZGVvVUhudnNNZi9xdm9zbE56Y1hOY0lqcnZwN3AwK2xZdDVVN01lSEFBQWdBRWxFUVZTYzJlalZ1dzhBTUNxMXV1T3ovL2RjU0t2V2JTNTh2ZlVyQitCVjNTb3pmeWxBY0xtUnQyU08wc3VicEtrVkZPVGowTUdES0N3c1JFUkVCSUtDZ3FIVDZmRDExMTloL3R6WjJMWnRLd290aFdncG1ZYjUrZmw0YTlvVWJONjhDVC8vOUJPYU5HMkswTkF3QU1CZmZ4M0h0Q21Uc0hYckZody85aWRhdDJsN1RWMndOQm9Ock5aaXhGZmdhN3R0VE5HMWE5ZWlhZE9tZU9hWlo1Q1ZsUVZDQ0ZxMmJJbUNnZ0tjT1hNR0tTa3BsU1hlbGdvU1BQamdnNjBhTldvMHBWdTNibjNsbTNlN2lOMXV4NnBWcTdCcDB5YUZtdWo5OTk5SHo1NDlzV0RCZ2dxYjN2cmw3aENydFFUUjEyQ0dOcnluRWQ2ZStaOVM3Nm5WNmtGZHVuU0ovdVhYLzYzcGZuK1hFNVJTUmtJM3hUU1ZzVTBVQkpHWGZHMkE5OVVMZUJLd2dlSkMrZ1Z3SEFlV1lSRVJFWUdNakF4UUFJR0JnZGk2WlF2V2ZyQWVHbzBHWThlOGlTTkhEcU4xNnpaWXZXb0Z1bmQvQUgwZmVSUi8vSEVFQytiTnhhcjMxb0xuZWN5Yk13dnpGeTVHVWxJeTFuM2c3U3Y2MHN2RHIybmNmSHNGMzNhbWFGRlJFZXgyTzNKeWNuRGh3b1ZTUHJYRXhFUWtKaVlxS1IxMnV4MzUrZm1rc0xBUU5wdU51Rnd1SWdnQ0k0b2lrNVNVMVB2SEgzOWNzbno1OHI2RUVIVHAwZ1ZIang3RlcyKzloWGJ0dkExNTI3VnJoOW16WjZONzkrNElDQWhBdlhyMThQMzMzMlBac21WSVNFaEFhR2dvaGcwYnBoRDNVVW94Yjk0ODFLOWZIeHFOQmhFUkVSZzBhQkRzZGpzOEhnK2FObTJLQngrOEhKUFl0R2tUdEZvdGpoOC9EZ0RvMzc4L1dyWHlGalVjTzNZTVRxZXpGTjlhNTg3ZVR0c0hEeDcwcjI2L2xCT3oyWXl4WTBaaDBQUC9oOEdEQnVMM1E5NTVrcDJkalFIOW44Q1QvUjdGcURkR2x2ck81SW5qTVdUUTgzMW0vMmZHMUpTVWxDNEFkS0RVdDVFTUs0b2lLNjhicFlrTXg2R2twSmdZREhsZVFrcW50M0Z6WkdRa0dqWm9DSTFXZzVLU0V1VG01aUF6SXdPN2YvZ0JLVTJhSUNEQVM3SmFJNndHL3BMbS9WOS9IVWVYTHQ1NUhob2FpclMwMC9CNFBERGs1VUduMXlNcHlkdVlKVHc4SEg4ZFAzYkR4KzJXYTJ4eW9LQmR1M2I0OXR0dk1YZnVYTVRGeFNFa0pBUjZ2UjR5MTd1YzBtRTJtd2tBcUZRcVFpbVZ1NjR6VnF2MVdZMUdNN1Z2Mzc3MUd6WnNpRVdMRm9GaEdMUnYzeDZQUFBJSXBreVpvaHh6L3Z6NTJMRmpCenAxNm9SWFhua0YvZnIxdytPUFA0N1RwMC9qMUtsVDZOYXRHeDU2NkNFODhjUVRXTFZxRlJZdVhJak5temVqY2VQR09INzhPQVlPSElqbXpadGp6Smd4K1BEREQ5R3VYVHQ4OHNrbjZONjlPMGFPSEltWk0yZWlSWXNXQ3JBVkZoWUNBSEp5Y2hSdzlIbTZJaUlpQXRuWjJmNVY3SmR5OHNYbm05R3NXVE1NR3Z3aTB0UFRzWHJWQ3JSdDF4NEpDUW40NzVhdE9IZnVMT2JPTGswMVAyL0JJbWx0RmJVWi90TFE4QTgvK21URjRFSFBmeXNwTWtTeVRqa0tDTjRIT0JHbGZGNFFRcWhLcFNKdXQ5dXJ4QUdnb0NDRWdkdmxnczFtUTc0cEh3QkJabVlHQWdJQ2NQRmlPbFlzV3dwQkZCQXMrUW1MaTR1aDFlbXdZL3MzK09tbjNkQm9OTERaYkNncEtZRldxNFhINDhIS0ZjdVFtNXVMb3FLaUd6NXV0MVJqODAzcEVFVVJBd2NPUk4yNmRXRXltWERxMUNrY1BYb1VxYW1wS0NrcGdkdnRSa2xKQ1pIQVFJbjRNQXpEQkFjSHYvTGxsMTh1MG1nMDllV0dGenFkRGhxTkJvUVFoVmxVbG43OStxRmJ0MjVRcTlWNDRva240SEs1TUhmdVhBUUhCNk50MjdabzBxUUpVbE5UQVFCSlNVbFl2MzQ5K3ZUcGc4VEVSRHoyMkdQbzJyV3I4dmw5OTkySFNaTW1ZZno0OFJneVpBaWFOR21DQ1JNdVYyazk4OHd6R0RIQzI2UFI0WEJVbUF1azFXcWxEbGwrOFV0cGFkMm1MWDcrNlVkODlPRkd1RjB1TEg1blNaVytKNG9pWnM1NEd3LzNmYlRlQXowZW5IWXE3ZHdBQURwcDAxQksxYUJVQllBRktLT2tSd0dFWlZYZ09BL3h1RDArcmY3c2NIczhjRGdjc0JSYWtKOXZRbEZSRVU3OC9SZkdqeHVENTU1L0FkMjZsYVl1bkRkbkZqSXlMbUx4TzB1aDFXcExLVE5qUnIrSnhvMVRNUEtOTjZ0bDNHNFpzUGttMzhvcEhTNlhDM1hxMUVHclZxM1F1SEZqUkVSRVFCQUVHSTFHNG5hN0pYWU83eE5IemxIak9HNThTa3JLZ3RUVTFDcDNxUEF0STVNSFBDRWhvWlJUVWdhYXZuMzdvbmJ0MnBnNWN5YWVlKzQ1dEdqUkF0OTk5NTNVT01NcjA2ZFBSMFJFQlBiczJZT1BQLzVZNlhOUVZ2UjZQVHdlVDduMzNXNTNwZjBSL1hLWEExdnJObGk1YWcxcUppVGc0NDgyNHUyM3BsYnBlK3ZYdlErZFRvZUJ6NzhBQUZIQndjRnZmZjNOOXNFQTlCSzRhUWtoYWtLSWlsTEtBbUI4QW5DRTQzaDRPQTlSSXFaT0p6aVBGK2hLaW90aHNWamdjYnRSWEZLQ3h4OS9BZ1FFSmRZU2hJYUZLZVpuaDQ2ZE1QS05VVkNyMWZCNFBBcHpiMGx4TVVhUEdZZmVmUjZDeStWQ21QU2RPeDdZZk11a3NyT3prWk9UZ3kxYnR1RGl4WXRLbmhySGNkRHI5UWdKQ1NHQWwvN2JGOVJXcjE2dDVqaHVPc013czBWUjFKWHRPSDVGKzF0VjNnS3ZyTmgzeVpJbDZOQ2hBekl6TTlHaFF3ZXNYYnNXdlh2M0xyV1AwV2hFVGs0T0tLWDQ5ZGRmS3oxdVFrSUNYQzVYS2RXYjR6aVl6V2JVckZuVHY0cjlVazdteloyTncwY09vMGVQQnpGNXlqUWNPblFRL3pUWDkrL2ZoNzIvL29vcFU5L3luZGU2SmsyYVRybjMzbnVITjJ2V1BCQlNPZ2lsVkEwcEhRUUFTMFdSOER4SEJJRW5QRmM2SFlUbmViamRic1drVkdzMGNEZ2NLQ2pJeDhXTDZkajl3L2RvMUxneEFLQkZpNWJLZWY1NTlDaVNrcEtoMFdnUUd4ZUgwTEF3YUNVTGF2KytmV2plb3NXZDcyT1RDOXA5YXorTGlvcVFuNThQaDhPQjVPUmszK1JiSW1zNGN2czdBR1RuenAxQlBYdjJuTW93ekxpaW9pS2NPblVLUTRjT3JmQjQxOHRPc0dUSkVreWVQQmt6Wjg1VTNzdkl5Q2dWd1h6cHBaZlFva1VMOU92WEQ2TkhqMGJQbmowckJLcVdMVnRDcjlkajM3NTllT1NSUjZSSnVCOE13eWpCRGIvNHhWY0dEbndCaXhjdndPZWJQNFVvaWhnemRqd1loa0YyZGpiR2pIb0RIT2RCY1hFeEJ2Ui9BdmZlZHg4bVRaNktsY3VYd3VWeTRiVVJMeXUvczNMMVdnUUhCMlBCb25kR3Y3Tm9vYWFnSUg5ZGJtNnUvSVNWbzZXOHROWUViMk1zd2V0aWsvYmhlWUY2T0s4NUNnSUVCd1VqTGk0ZW4yN3lkcEsvOTk3N0VCd2NESjduOGVwckl6Ri8zaHg4K2Q4dm9OZnJNWEh5RkVXcG1ETDFMY3lhTlFPY2gwT3RXclV3WWRLVU94dllLS1hseXFUazZHZHljakxPbnorUDFOUlVCQVFFUUJBRXVOM2Vwd1FoUkNiVEl5a3BLVFZtejU0OU5TSWk0azIxV28wcFU2WWdKQ1FFQXdaVTNMMDZLQ2dJQnc4ZXhLRkRoNjRKUE1MRHczSGd3QUhrNXVaQ0VBUXNYTGdRcDA2ZFFsT3BMOEg2OWV1eFo4OGUvUDMzMzZoWHJ4NDJiZHFFbDE1NkNkOSsreTBBNFBQUFAwZGhZU0ZHakJpQndNQkFEQjA2RksrLy9qcUNnNE9oMFdnd2ZQaHdEQmt5Qk9IaDRmNVY3SmR5VXF0MmJTeGJ2cXBDN2YrL1c3WlcrSjNQLy90VnBiOTN6ejJOOE1INmphKzUzVzdWNWs4M3JadisxbFN6dExaOGxBRUdsSXFDS0RLbHdDMG9LQWdhclVhMm5rQkFVQ01zREVsSlNZaUlpRUJNVEN3eU16TEFzaXdhTjA2cDFCL1l0R2t6ckgxL2ZiV08yMDAxUmE5VTBCNFVGSVRZMkZpSW9paWJvMFFHTlpabENhV1VYTGh3SWVMNzc3OS9LeTR1N3MwSEhuZ0FYYnAwZ1ZhcnhmNzkreXUxMDE5NzdUVWNPSEFBZ3djUHZxWnozckJoQTBwS1NsQzNibDIwYTljT05wc05reVpOd3A5Ly9vbXNyQ3lNR1RNR1U2ZE9SWU1HRGNBd0RENzQ0QVA4K09PUDJMQmhBd0JneTVZdFdMLys4azFjdkhneEhucm9JVHorK09QbzI3Y3Y3ci8vZml4YnRzeS9ndjF5VTBXcjFRNS9idURBbCtjdFdCUUZRQ3RWS2FpOXlvNVNwVUJFMFp0NTRHM0E3QTBvdU4zZUtnV0h3K0UxU3lXZm04bGtRbTV1TGpJeU1uRDJ6SmxiZW4wM2pkMGpMUzBOYVdscFNvczh1WnVVWENibHkzeGJKdm1XVUVySm1UTm5hdFNwVStjdFFzaEkvN1FzTGFJb0lpUHpFaXdXQ3dSQmdNdDVkNVpvNmZSNnNDeUw4Qm9SU0VxcVhXa1FSN1lldkdObUJzOVgzNWpwOUhxb1ZDcEVoRWNnS2FseTdzTzllL2VpYnYyYnoxcnJjYnMvMkxUcGsvZmZuajdOQXNCRkNIRkRhUnhEQkVJZ0VNSW9EV1BVYWhYVUdnM1ZhcVMrcFFFQkNBb01STERVemk4aUloS3hzYkdvWGJzMjZ0YXJqM3IxcXJlYXNiSSt2RGZGRkpWN0ZKVGxVNU03U1IwL2Z0eTNRb0Q0MnYzU0ZsU3ZYcjJwQVA3Vm9HWXdHSzY2VTVEYjdjRmZmLzBGVnFWQ2NFaW92NitvM1liQ29rSVVITTFIaStZdG9OR29Ld1MxUC80NENvWmxFUlJjL1dObXQ5dGd0bGlRWDVDUDFxMnV6RUNmYy9QekdWL3ExcTI3ZUhISWkycy8zTGhCV1lkZTA5UmJZZ1dJZ2loU1VHOHhQQlVFa1FpOFFKVnU4ejRrbFU2SEEzYTdEVlpyQ1lvS2kyQXVLQ2lWY1hBanBlWVZmcmZhZ1Mwcks2dFVqNEt5M2RrZERnZHExNjZ0YUdvZWo2ZFU3ZWZxMWF2Vnc0WU5tOG93ekp2d1N6bkpNK1NCVmFuOG5lQWxrWmtmaklaYzVPYmxJcWtDaHVpTEdabGdXUGFtalpudk9XVm1Ya0xpRmZxTDFreEl1QlhETm56cXRPbDhSa2JHMmwvMy9GS1poaXRjQmp1UlVpb1NTc3YzVWVBbFpsNlBoNFBMNDgyQkk0UWcvaVpIL2FzVjJJeEdvOUlpcjJ6amxRbzZTWkdLdU5Ra1VCdm5YN0lWaTduQWpLQ1FVUDlBbEpHZzRCQVVGSmdyQkRhTHhZTGdXekJtUWNFaEtEQVhYQkhZYnBrWnI5Tzk5djRINnowTjZpV3ZsN1ZhT2FCQXZkRUZLcGJLTXlFVUlBUWdjbGQ2RUVMQWVNa3N3VEFzV0phRmlsVkI1VFZmRVJVVmRlY0RtOXloWFc2Umw1K2ZYeW1kZDFtZm1tL3lMY013VS8zTHRESS9FU0FJd2wxdmZsYW1KUlVYV1NyODdGYU5XV0JnRUlvTExkZjAzWkxpWW1SY3ZBQzczWGJGMzA5S3JvdVEwR3NEYmIxZVB6cnQ3QVhYUFEzcWJwTHdUSmxxUG1NblhtN2Z4MUdPOHhBSitFQVlBc0l3RXJBeFlGa0dLcFhDMWd1TlJvUFEwTkE3RjlpY1RtY3BVQ3ZMcDFZSlNhVGNmSVZJdlFsZVlSaG0ycFVYOXRWVEtkOXVVbFdxNDRxRUVNRHA5SE81VlRvUEsrRzV1NVhCbFd1OVh4ZlR6OFBoc0Y5eEg3dmRob3lMRjlDc3hiM1hBYjZCbzArZU91Tm8wcmpoVmg5UW8yVTBPQkVBRlVXUjhEeFBuVTRIWVZtV01vU0FFQVlNUXlDWE5ubzNGVlJxTlRScURSbzFibnhUS01adk9MQlJTbkhtekJtbFRaNGMvU3lycVpXSmZzcU5KUmlKOWZaWmxtV253VnY2VWVseHJwRksrYmFUcWxBZFg2djh1UHNIYk55d0hpYVRFZkh4OGZoNDAyYzRkKzRzaGc0WnBPd3phY28wUFBUUXczNGt2STNsbjBETmR5NWRyMVVhR2hyNnhyRy9UdHBiTm0veXZhKzJWZ2JjQUVDa2xIcDlhcHlIZUhzclhBWTJobVhCTWhLd3lWcWJWb1BHalZPcXZhM2ZEUWMyWDFBcjI4ellicmRYU09mdDYxZHpPcDI5VkNyVlZBQlhOTWl2aDByNWRqU2Ivb25xK0Zva056Y1hDK2JQeGN4WmM5QzZkUnVVbEpRQUFPclZxNDhmZi80VkFQRFMwTUhWZGwwYjFxL0RZNC8zSzhWbUlwL1hzaVh2NE1TSnY2SFJhTkRqd1Y0WThlcHJZRmtXZ0plU1o4V3lKVGh4OGdTMFdpMTY5dXlGbDRlUFVENnZEdm1uWTNicDFCNXF0UnFFTUVoS1NzS1FvY1BRc1dPbmZ5dU9Sa1ZFUkx5NmN1WEtrdGRmZi8xQUdjMk5Fa0tvOUQrUm0yRHhIT2ZsSW1jSUpRd0JReVEvbTZTNUtjQ20xa0NyMGFKZS9mclZlZ0UzTkVFM0l5TUQ2ZW5wbGVhcHlkUkRVb3M4K0xMZlVrb1pxOVhhU3FQUlRBWHdqMWQ5QTZpVWJ6K0F1d0xWOFRVOVpOSk9Jekl5RWgwN2RvSkdvMUhLd0FnaFNtZWk2bnh5ZnJoeFBTd1djN24zWjd3OURUVVRFdkQxTnp2eC9nY2JjT2pnQVd6ZnZnMkFOeWR2MG9SeGFORHdIbXo3WmlkV3JGaU52Yi91d2RkYnY2cTI4NnpxTVZldVhvTWR1NzdEa0tIRHNIamhmR3o5YXNzdG1TZUVFTng3NzczbzJiTW5ldlRvZ2ZqNHEzdTRDNEtBMzM3Ymo4a1R4eU03SzZ1eVk5U0xpb29hdm1EQmdzYVM1U1RUakt1VnVsSks1VzcwaE9kNThKdzM5Y05US3ZYRGpzS2lRdnowNDI2c1hmTWU1cytmZy8zNzl5RkxPbTdXcFVzWStmcXJlUGFacHpCbTFCc29LaXBVenVHakR6Zml1V2VmeGpOUDk4ZXVuVHR1amNabU5Cb1ZVRE1halFxb3libHF2bDNhZlRxMEs2Qm1NQmhxNmZYNktRRGFWdlhtL051YzVvR0JRYkJacjU5UC92anhZNWd4ZlJvOEVzM000NDk2emN4K1QvVEhvTUZEcXZRYmh3NGV3TW9WeTJFdzVDRXhNUWxqeG81SFNwTW15dWQ3ZjkyRERSdldJZDlrUWt4c0xJWVBINEYyN1RzQUFFYSsvaXF5TG1VQ0FFYS8rUVpVS2hZSkNiV3djdlVhaUtLSXJsMjc0ZUcrZmFIVmFoRWRFNE5XclZzcm1lb1dpd1Uxd3NQeDNNQ0IwR2cwU0toVkN4MDdkVVphMnVscUcvZXJPYVplcjBmSGpwMmduaklOYjArZmhsNjkrOXgwWnBiazVHU3dMSXZkdTNkRHE5V2llL2Z1eU0vUGg4UitVd3F3NVNSbDM3L2ZmT04xMUt4WkU2ZFBuNElnQ2xjQzBOYUppWW5EeG80ZHUraWRkOTdKa2JVMkg1K2JIR0FRQlVFRUlieTM3cEV3bERBTUNFUEFzQXh5YzNOQkNNRURQWG9BbEdMRCtuV29WNzgrOURvZGxpNTVCNDg5M2c4OWVqeUlMejcvRE8rdFhvWEpVNmJoeEltL3ZYTnM0MGR3dTkwWVBud1lXdDU3WDVWQi9JWm9iRmFyVldIcThLMy9sRHUzWHltdGcxSktYbnp4UlRZaUltSXlJYVJ2MVk5WmNrTW5pOWxzeHVSSkUvRGNzMDlqM3R6WnR3emNLcU02dmhwcDBhSWx0bTNmaFRkSGpVSE5tZ25ZdG4wWHRtM2ZWV1ZRdTNEK1BONmFOZ1VqWG5zZHU3N2JqYWNHUEkweG85K0FTZEltTXpNek1IdldURXljT0FVN3YvMEJqenp5R0taT25hdzBwVm14Y2pXMmJkOEZBRml5YkRtMmJkK0ZsYXZYZUNjY3crQzVnYzhqTEt5RzF5bCtNUjBIZnZzTmJkdDY2M2dqSXlPeFl1VnE2SFI2WlVFZVAzWU16Wm8xcjdZeHY1Wmp0bTdURmg2T3V5V2xRNUdSa2NqTnpWVjhYYUlvb2thTkdxWDJPWExrTUtaT25naU80MkN4V1BEUzBDR3dXTHdSMlhlWExNUGtLZE9xcEJnd0ROUDd2dnZ1R3h3VEU2T1h0RGFmMGl1d0FCaHZSemlSdUZ3dTRuSzV3SEVlWWpHYmtaZWJDNWZUaGVMaUlnUUdCcUtrcEFRcXRScUNJQ0QxNUFsa1pHWWdMZTIwY3U4ZmVyZ3ZEdjkrQ0FCdy90eFp0R2paRWxxZERpR2hvV2pmdmdQK09ITDQ1cG1pbE5KeVZRVyttcHB2Qk5TM1E3dHZCSFRObWpXVENDSERic1JOLzJyTGwzanUyYWZ4N0ROUFlmNjhPWEM3WEZYNjN2dHIzOE05OXpUQ3A1OTlnYkhqTGhORm1veEc3Tnl4L2E1eVZPL2N1UjFkNysrR2poMDdRYXZWb25lZmgzQlBvMGJZdmZzSEFFQkVSQ1EyYlB3WWpWTlN3REFNSG5uME1YQWVEN0t5TGxYNUdLa25UNkpuajI0WTlQeHp1S2RSSTNUcGVuK0YrNjE1YnhYMEFRRjQ2T0crTiszNnEzSk1RZ2pDYTRURGR2M08rcXNXalVZRFFSQVFFUkdCVHAwNlFSVEZVa1NPQU5DcVZXdUVSMFJnNW96cEdEdm1UZlI3NGttRmFPRnFHNmVvVktybkZ5MWFOQkJlTGpkZmsxUWxZUWdqVWtvWWhvSEg0eUUybXcwdWw0c0VCZ2JDN1haRHBWTEJZTWlEMVdwRmRuWTJDZ3N0eU0zTlJXNU9EaUlqb3lBbkJSODZlQUJXcTNjODY5U3RoNk4vSEZFb2tsSlRUOEptczkwOFlEdDc5aXd1WGJxa3BIVlVwZmRubVFqb3dCdVZxM2JpeE4vWXN1Vy9XUHZCZW55NitRc3dESVAxNjlkVjZidm56NTFEaDQ0ZHk5MzQvUHg4N05qeHpWMEZiQWFEQVhGeHBWWCsycldUWUREa0FmQ3lQQnc5K2dlR3Z6d1V6ejM3TkFhL01GRFJkS29xS1UyYVlQZFBlL0RGbDF1Umw1ZUhEUlhjcDQ4LytoQy8vMzRJYytmT3I1QkRyenFrcXNla2xNSlNhRUhRTFhLSEpDY25vMUdqUnZqdHQ5K1VvRkJaNEIwK2ZBVCtQUG9IdEJydGRUMFk5SG85Qmc0YytLYkJZT2haZ2IvTnE3bDUvVzBNSVFTQ0lFQ3Qxa0FRQk9MeHVCRVVGQXhlRUhENDkwTTRmU29WRE1QQTRYREFaREtoVjYvZStPYWJyekZrOFBOSVRUMkp3RUJ2LzRUbXpWdWdaNjgrR1BuNkNFeWZOZ1VCK2dEb0EvUTN4OGVXbloxZExsZk50MVRLQjlSUVVRVFVicmQzbHBvWjM1QlphN05hRVJRVWpJQ0FBREFNZ3hlSHZvU0xGOU9seFpxSFJRc1hJTjlrUkdoWURZd2JQd0dKaVVuNCtlZWY4Tjh2UGtObVppYm16cGtGalVhRDU1NTdIbDI2M28rbFM5N0JzVCtQd21Bd1lQakxYcjYzdGUrdng0YjE2L0RubjBkaE5CaVEwcVFKTHFaZlFHUlVOTjU1ZHlrb3BWaTlhaVgrK09Nd09BK0g5aDA2NHJYWFI0SlNpbkZqUnVIK2J0M3h5S09QNGNTSnZ6Rm45bit3YnYySHQwVjNiVitKaVltQklTK3YxSHM1T2RsbzJkS2Jpckx2ZjN2eDZhWlBzR1RwY2lUVXFnWEFHeldzYUhHVkJUdTN5NFh2dnZzV2ZmbzhCSzFPaDdpNE9QVG84U0QyNzk5WGFyOHRYLzRYUCs3K0FjdFdyTHJtaE5PcmxhczU1cEVqaDZGUnE5R2dZY09iZm4ra3NrUDgrZWVmQUFDV1pjdFJ5OXRzTm93ZlB3WURueCtFczJmU3NHRCtYRXlhUFBXYWdrVk9weE5idG14UkFYamxyNy8rTWpSdjN2eFB5ZGNtU3Y0MkpXSktLU1VNdzhMamNWT24wOXVVbmpBTW9xS2lFQkFRQUoxT2g3Ly8rZ3VpSU1KaU1VTWJGNC9uWHhpTUJnMGE0bUo2T2k1bFppckhmVzdnODNodTRQTUFnSmVHdllpNmRhdGVVSC9OR2x0UlVWR0Z1V3FWZ0JvcDA2V2R5YzNOamRkcXRSTnhBenUwdDI3VEZqVnIxc1RMdzE3RTExdTNRS2ZUb1hYck5nQ0FPYk5ub1dmUFh2aDQwMmQ0L29WQm1DNVJMRC93UUErc2ZYODlhdGFNeDdTM1ptRHQrK3NWczJqVTZMR1lNSEVLa3BLVHNmYjk5YVU0cE5xMmJZY1pNMmNoTXpNREgzMnlHWmN5TTJHeFdHQTBHaEFZR0lBTkd6L0d4NXMySS9Ya0NSdy9mZ3lFRUV5Wk5oMmZidm9ZYVdtbk1YZk9MRXg3NisxYkJtclMvZkJxSDZLb2FOSUE4SERmUjdCMzd4NGNQdnc3ZUo3SEw3LzhqTlNUSjlDelZ5L0ZIMGtJd0xBc2lvdUxzUG5UVGRMdmxHYUtpWXVQeDZHREI4RnhIUEpOSnE4MnJOWGlrNDgvd3VlZmJ3YkhjU2dxS3NTK2ZmOURzMmJOTHB2Q083WmoyOWRic1hUNXlwdkdVMWZWWTdyZGJ2eCs2Q0RtejV1RDRhKzhla3NvM2ZQejh4V0EwbWcwQ0FzTEs5Y1E1Y0tGOCtqYXRSdis3N21CbURaOUJqUWFyZUpqdXc2cFc3OSsvUmRIalJvVlc1Ry9qVkxLTUF6RHlGUmpIbzhISE04UnpzUEI0M2JEWVhmZ3pKa3ppSXFLZ3QxaFIxRlJFUW9LQ21BMEdQREhIMGV3Zk5rU1BQbFVhVjVGanVPdzZaT1BRWWlYeDYxYU5UWkJFSkNlbnE0RUMzd2pvQldrZFpBeWFSMkVVc3BFUjBkUElJUThlQ052dUVxbHdveVpzM0Q2VkNxKy9mWmJESDVoSUdiTm5vczZkZXZpN0prMDlGemhKZXhyMDZZdDNuVzVZRElhRVIxemJXbTlXcTBXT3IxZU1Wc0RBdlRnT1E2eHNYR0lqSXpDeEFsandUSXNERWF2MzlIcm00ckE2REhqOFBxcnIrRDVGd2FqU1pPbXR3VFV5aWJvTHBnL0Z3dm16OFdEUFh2aHJla3pVTDkrQTd3OWN4YmVXNzBTaHJ3ODFFNU14TUxGN3lJbXhwdGYxK2VoaDNIeTVBa01IZklDV0ZhRnh4N3ZoL3IxRzhCU3BseG96Smh4V0x4b0lUWnVXSWZhdFd0ajNZYVBvTkZvc0dEaFlxeGNzUXhmZlA0WjFHbzF1dDdmRFlNR3Y2ak1yVVVMdldiZ3MwLzNMMjBtYnRxTTJOaTRHejRlVlQzbXlOZGVCU0ZBWW1JU3hvNmJjRVB6MklLRGc2dThiMFpHQnNMQ3d0Q2pSdzhBd1BIang4djEwbWpldkFXYU4yK2hySXV4NDhiZklQL3J6bTZ0VzdmT0FMRENSMnNUQVZCQ2lEZEdTa1VxMTR2eVBFOFp3cEFTYXdubE9RNmhvV0dJam9tRjNXNkhXcVdHV3EzR3JsMDd3RElzbm5yNmFiU1hJdXVBbCtKOCtkSjMwYng1Uzh4ZnNMaENiYk95Y2JzbVlQT05nRmJHcVZZRzFHUUdBTGxjYWpnaDVOVWJQVUZQbno0Rm5VNkhSbzFUMEtoeENyNzl0akUrK0dBdDVzMWJvSmhHaXBuRU1LQzQ4VngwZi8xMUhMdDI3c0RTWlN1ZzFla3dZM3JwcWpDSHd3RzFXZzJYeTFudEFOYXJkeCs1UTNncHFWKy9BZjYzLzhwOVREdDI3RlRwd3RWcXRaajIxdHVsM3F1bzRXMmJ0dTBxWkhtdFY3OCtsaTVmV2VGdnN5eUx2ZnNPM0ZTZ3I4b3gvMm04YnNRNTJPMjJLa1VxNWFxYjY1VlBQL3ZpbXI2blZxdUhiTml3SWVQRkYxL2NCaS9GcmtnQktyV1NwL0NtZ1lpaUtGS0JGOEFURG9FQkFVU3IxVkdkWGdlMzJ3V253MXVOb0ZLcjBLMWJkOFRHeHFGV3Jkckl5TGlJT25YcUFnQTZkZXFNVHAwNlYzb2VkcHUxVWovb1ZadWllWGw1Q2dXUmIxcEhCUkZRK0lDYW9xM1o3Zll1TE10T3JJN0prWFhwRWhiT253ZTczVnQrWWk0b1FHaG9LTFE2SGVvM2FJZ2ZwYWplSDM4Y2dWcWxRblQwUDJ0cm9hR2hLTWd2cUxDN1ZFVmlOcHVoMSt1aDFtaVFuNS92ellXU2lva05oank4dDNvbDN2OWdBdzcvL2p1T1hFWDR1bkxIYmdEOGNuVmpjeXZIckxKalIwZEh3M0dGV3VlQWdLcVp2RlhkNzNwL0t5Z282SlYzMzMyM2hSSk1rSnJDeUNhcG5BSWlpZ0xoZVFFY3o0UGpQUEI0WkFaZUZ4d09CK3cyRzBxS1M3d012UGxHS2JtL2FrbnFkcHNWMGRIUjF3OXNEb2VqRkZ2SFB3UUx5aVhocHFXbGhXbTEydkVBcXFVT3FtZXYzdWpjcFN0ZUh2WWlubjNtS2FTZVBJSFhSM3BwM0taT200NXZkKzNFNEVFRHNYSDlPc3o0ejV3cU9WSVRhdFZDMjNidDhQU0FKL0hDd0dkaE5CcXV1SCtuVHAyaDArdngxSlA5TUgzYUZOU3RWeDkydXgwOHoyUG0yOVB4MHN1dm9GYnQycGo2MXR0WXZIRCtkZnM5NUNlOVg4cFArc3BLc0poYk5HWjJteFZzSlJwR1hGd2NLQldSYjh5cjhOeVM2OVQ3UjlBS0NBaEVjcDBieDFqN0Q4ZU1pNCtQSC9UQ0M0TnF5T0JHeTRNYlF5a2xvaWdRZ2VmQmNiemtiL1BBN1hMQjVYVEM3bkRBYXJPaXVMZ0lGck1GSnFNUjJWblpTbCtGeXNiUlpNZ0ZDQ290UDd3cWF2RFUxRlNrcGFVaE16TlRxUVgxTlVWOUtneUlyTFZKdmpWR29pR2F4VERNaEJzeDZMZUtTcm02cFRLcTQ4cjlMWmt3V3l4K29za3lZalRrSWpJeUFvbTF5M09mWldSbXdteSsrV05tTk9RaUlpSUNTVmZnWXpPWlREQVlET0I1SGxicjdjOVc0M0s1VnZYdTNYczlBSWUwdVFCNENDRWNBSjRRSWhKQ1JJbGFYS1l2b2xxdGwxbzhJQ0FBZ1lHQkNBNE9SbzBhTlJBUkVZRzR1RGpVcmwwYnljbko1VFhGNEdDb1ZTckV4c1pXcXExZGxZOHRLeXNMMmRuWk1KbE1NSnZORlFZTFBCNVB1ZFFPT1ZqZ2NybWV1RkdnZHJYTzFqdEpydmE2RWhOckl6L2ZCS01oVjJFNXVkczFOWnZOQ29Ibkt3UTFBRWhLVElUSmRQUEdURDRuVVJDdUNHcXlTWHFsQlhzYnltdFpXVmxuYTlXcXRWZjJ0eEZDbElBQ0FIaFpQd2hrY0ZPcFZOQm9OTkJxdGREcjlRcXdoWWFHSWp3OEhGRlJVWWlMaTBPZE9uVlFTMG9udWxxcEVyQlpyVmFsc3FBc3FQbldnUHFtZHZpYW9FYWpzWlphclI1N3E1eXRkOUtpdk5wRVZFSUlXclZxaFlzWm1iQll6Q2l5V09CeTNaMGNiWHA5QUJpV1JXUkVKQklUcjd3ZzJyUnVqY3pNUzhndktLaldNZFByQThDcVZQK29xZDNKVXJObXpjRmZmdm5sMmFlZWVpb2JsNk9rTXJCUk9aTGdKYWZrS2NNd2hHVlp5cklzWEM1WEtTSktHZXdDQWdJUUhKdGcwTndBQUNBQVNVUkJWQnlNc0xDd2ExSmlxclNLWk5QVE53bTNnc29DWDFDVHF3c0lwWlNKaUlnWUE2RFZqUnpNNk9ob0dBekdmeDJ3eGNkZmZUb0RJUVIxa3BOUUp6bkpiNE5lcGJhYitDOEZtNXNwaEpDV2ZmdjJIUUJnRlFCQjZvL2dqWlpLcEpUd0VsTlNDZHpBY1p3Q2JpcVZxa0p3Q3d3TVJFaElDSnI0a0M5VVZmNHhlSkNWbFlXY25CekZuMVlacUYzQkJPMWZIYWtkaXJQVlpJRGpEbmVlTyt3MnJ6TVU5SVp4c2ZuRkx6ZFRkRHJka096czdNNlF5cTBvcFJwSXlidStnUVJCRUlnRWJBcHV5QjJ1SEJMTlVVbUpOMHFhbjUrUG5Kd2NoZUxvaG1sc2RydTl3bncxWDhKSUdkaDRuaTluZ21ablo4ZXExZXJSMVRXWTk5NTdMNHhHSTR3bUU2d2x4WGNrTmJqc0RFMUlxSG1uK1ZiODRwZFNFaDhmUDJqanhvMnBRNFlNRVNSL20rQnJscFkxU2FYcUJPcExSR20zMnhXdFRRNHNoSVNFSUR3OC9LcXFQSzRJYkdYejFjcEVQbjN6MVNveVFVbE1UTXdvQVBkVjUyREd4TVJjZFM5T3YvakZMOVZpa3JZWU1HQkEveUZEaG53QWdQY3hTUVhKSkJYaFpkMVZURktHWVloS3BhSXlDNGh2WUtHb3FLaVVyNjFSbzBaVkI3Wk1uNkpUWDhuUHo4ZVpNMmRLTVhlVTlhK1ZEUno0Y3F5bHBhWDF6TXJLR3UyLzNYN3h5MTBsTCsvWnMrZG90MjdkRHN2Z0JpbFNLaGZMUzAxZzVLcDVoVlB1Y3Zlcnk2WnFXVE8xcWkzOFZJbGhQNVI3aytNRjVGL01BbkVhUU54bUVFOHhDR2NESTloQkJCY2d1QURCNDkxRWpsQlJBQ2dsOGpiNC85cXc5YVAzalBMZlk3LzQ1ZTZUaEdiaS85VkxydkgzK1l1RlBBQ0JBQUpBWmJPVWdSZk5BQ3FDaWp5RjZDWVFYQlNDQXhDc0lJSU9qR0FCNGZKQlBMa2c3a3dRNXpuQWxvcjQ1RnBRcS82NTkwV0Z3WU9zYkFzTXBtS1lMVFlVRlR0aHM3bmdjTHJoZEhKd3V6bDRQRHc4SEErT0Y4RHpJZ1NCUWhRcFJFb0pCWmozbHcwZUNlQUIveTMyaTErdVRTaTljOCtkWlptdWgvZE1md1J5SU1FYlJKQURDU3lWaUNsRmtVSVFLSGhlQk1jTDhIQThQQjRlYmpjSHA1T0R3K21HemVaQ1ViRVRab3NOQmxNeExtVlZyVktubkkrdHVNU0ozTHdpRkJSWVVWamtnTlhxaE4zaEJUV1htNFBidzhQakVjQnhBbmhlSkx4QUlRaVVpSlFTVUJETHhYY2JzQ3p6aG45cStzVXZWeWNpQlF5V1NKZ0t3eUNJTEd4M2RqcmlvQVVMRmh5Wk9ISGlSYTlKNmcwbWVFMVNpSklGU2tSS3dBdUVjZ0pEUER4TDNad0tUbzhhTnBjYUpVNHRDbTA2RkZqMU1CWUZJdHNjQkVOeENQSks0bEFuZ1VOY2VBRXFxNG9zQjJ3NXVZVXc1WmZBVW1oSGlkVUptOTBOaDlNRGw4c2pnUm9QanVQQisycHJGS0FVaEFKTVNJaitOUUFKL21ucUY3OWNIYWdkTzFjZllNTVFGSEpuOThtVnBHWkM3ZVRISjA2Y3VCb0FEMitFVkg0VlFRZ0Z2RzM4Q0NFZ1VyTmxJdEVkc1NvMVZDbzFWR29OMUJvdE5Gb2R0TG9BaUNRUXhUWTE4b29Ta0djT3c3MzF6MWNJYnFWTVVXTitDUXpHWWhSWWJDZ3Fkc0JxYzhIaDhNRHA0dUJ5eTZBbXlDWW80YjBtS0tFaUpaU0NPUEpXZENlRXZQSnZtbkRqcG0zQi9YM2Z1V0cveC9NQ1JrMytBdEgxeGlHMDlwc1lQbW9USEE2UGYyWGY1V0lvakFUWU1NVEV4djlya3M2MVd1MmdQYi91YTQ3TFZPSWFTdUZESmU3Tm5oQkZrUWlDQUY3Z0NjOTVBd2VjNS8vWk8rL3dLS28yaXY5bXRtVlRJRTE2Q1VoSGFWSkUwQUFmVWtSQkJDc2xJQWdxTFlMU2xkNkQ5TjVFcFNnSWlpQktFWkFlbENJSVVnVUVFdEo3c21WbXZqOW1kNUpOSXlCTjJmTTgrMEIyWm5idTNwMTU1MjMzSENzV3F3V0xROFpQMVQ1SUpENHVqdVNVRkhRNkErZ0tjelBlTDlkenV4aTJHeEVKUk1jbWs1Q2dHclhVTkF2cEdkYk12SnJEc05udHNtQzNPMEpRR1VFQkFSQ05Sc1A3N2tzMGZ3d2JzNUZOUC96T3VzOTZzV2wxSDNidStaTitnOWU2SitZUlIxUjhvZitjVGk1QXVmTGxPMlF4YkFaUURHU3FXNG5PMWpCSmxnWEpMbUczMndXYjNaWlpGYlZtVmtWVFVsSklURXdrTGphV3lKdVJlUHY0M3Rxdy9YMDlUZzFCNDFKSlRFb2pKZFZDZXBxVmpBd2JGb3VqV0pEcHJTRkpNcktzT0FzY1lrYlV2RGNFZ1JmZGwyamVTRTIxTUcvcGJzTEdkeUM0Y1NXQ0cxZGk4YXpPckZ4emtKaFlOL1hRb3dwRkFVblMzNUduZHViMEh3d012ZmNwN1ROblRoTTJiWXJHYWVqRXhvM2ZFTkxsTFVLNmRuSVI1SW1Pam1iZ0J3TjR1M3ZYbGkxYXRtcE1GaXB4UlZIVUlvS2lpQTdtSHhSSHE0Y2syYlYyRHlmRlVZYWo1U00xTlpYazVDU05Vand4TVFtN3JNKzEwQ0lDV0cxMk5RU05UU0VoS1kza0ZBdHBhUmJTblViTldUQ3dTOWp0a21DWFpDUVp4N0lweEk4L2FxMHo2SFh2UGVnTDVPbm1rd2tkOWhYQmJjSUlxakdjSnhxTzRmdXRKN1R0ZFp0TVpQallqVlN0UDRyaWxUL2k3UGxJTEJZYll5WnZwbnpORVhnVTdVTzlwaFBac2R0VktOZG1rK2dkK2lYZUpmdFR2UEpIZkRwdmUrWVBHSlBNSzUwWDRsZjJBN3hMOXVlRlYrZHc0VktVdHIxajEwWFViVElSZ0dPLy8wMTZ1bzNnUnBXMDdjODJWRVh2RDRaZmROL2hqeWdFQVZMU2hEczZ0bktWcW93YU0vYWVqbS8rdkxrc1c3cUVTeGN2YWlTdUFGZXZYbUhEK3ZVc1dMU1VaY3RYY3VMRU1ZMDhkZjY4T1RScjlqOVdmcjZLZDk5Ny8xVVBEN09ITXh6RlVTRVZCRUVIT0kyYnl0c21TVWlPVlV3Mm13MnJMWXV5ZkhvNnFTbXBKQ2FxSVdsMFZCUUppVkt1T1RZOXdJMGJDVVRISkJPZmtFcFNrbG9GVFhPMGRsaXNkcXlhcHliaHFJSTZ2RFUxRFAxNDhFdTlLS0NDKzczR2dtVy9zSFY5UDVvOVY0WE5QLzdPSzEwV2Nuam5VR3JYVUJjN3o1aS9rNVVMdW1FeTZxbFVvU2c5KzMzQmp6di9ZT0duYjFHcFFsR1dmcjZQRjE2ZHcvRzlJNmxXUmVYck9uRDRJdVhLQm5CMHp3aU9ucmhLajM2ZlU4akhUTSt1alFrZDlqVVdxNDN3bjRjQzBHL3dWNFM4OXhuN2YxSVptanEycTBOOGdscmV1aDZSZ05Hb0o4QS84OGxzTU9nSThQZmkybzBFOXgzdVJnN0V4c1l5Y2NJNFlxS2pFRVNSOTk3clE0T25HM0x0MmpVR2h2YkhaclBpNit2SGlwVmZaS1k3aG56RWpSdlhBVlYweWRQTGl6VnIxd0VxcmYrY1dUTklURXJFMzgrZndVT0hhVm9XQU91Ky9vb05HOVpyK3dQMGZLY1hScU9Sc0dsVFhNYjIrNGtUUEZXM0xwNmVudGp0ZHZ4OC9UaHgvRGoxNnRYbnhJbmpmUENCU3VqajYrdGJyMFNKNGkwdVhicTBHYkE1WGxvaFFWRVUyUkdTT2xZa1NPaDBkdXgyR3phYkhxdk4wYWlibms2YVNRMUpFeElTaUltTndXVEl2YWRObjU1dTFYcldFcE95VkVFMW8rYklxemx5YTQ0UTFPbXRDU2YyZlZ4SXB4TjdQU3dYd2xzZDY5SHNPWldBOHNWV05XamVwQ29MbC8vQ29wbXE5bVdiRmsveVdudVZhQ1F1UHBYUFZoOWcxWklldk5SYVZmMmVOcTRqaDM3OWl5bXpmbUxsQWxVNXZWalJRaXliMHhXVHlVQ2xDa1g1N2ZnVjVpemVSYyt1amJsOE5aYlNKZjBvV2R3UFQwOGp5K2QyNWRxTmVHMDhiM1NvcC8wL0xkMktoNGMrbHlTckhvdlY3cjZMM2NpQnI5YXVwa2FOR29SMGU1dExseTR4Zjk0Y0dqemRrRktsU3ZIMStnMmNQMytPaWVQSHVSd3phY28wQUJJVEUrajlUZzgrR1BnaG9NcjJUUncvbHZFVEoxTzhlSEYrK25FckMrYlBZL1NZek9OcjFxcVZnM2s0TDRIbHhNUkVQRHc4aUk2T1p0S0VjVWl5aEk4alQ1aVltSWpKdzRQdk4zM0hqaDNiOFBUMGZMVkh6M2YyTEZ1NnhPbzBiSTVWQ1pJajM2YklpaUlJYWtpcTJDVzdZTFByRkwwekpEV29JV2w2ZWpxcHFTbHFTQm9majBFdmtwNHVZemE3amxHOEVhbUdvUEdKbVQxckdlbVpCUU9iemRtemx0VmJBOW5oclZXdFhMd25VTzFodVJEcTFIU2xvYWxlcFRpbnp0elEvcTc0ZU9aQzh6Tm5JNUJsaFliMXlyc2MwL2pwQ3Z4eEpsTlhzMjd0SUV3bWcvWjMvYWZLOGVlNVNHUlpac2lBbG56LzQrOEVQajZRTnEvTjRic2ZUbEM5U3U3TXJHWVBBMWFybE9OOWk4V09sNmZSZlJlN2tRUDE2amRnNTQ3dHJQeHNCWmFNRE1LbXp5alFjYklzTTJiMEtOcTgySmI2OWRWZzZxKy9Mbkh0MnQ4TUh6cVk3aUZkV0wzNlM2SnV1dW9MVktwVW1WYzZkQ3p3K0U2Zi9vT1JJNGJ5VHU5M2FkclV0U2QvMG9SeFhMNzhGMkhUWjJJeW1hcDA2OTdqZVZ3S0NZNEtxWm9TRTFDOU5tUlpRckpMU0hhN1F5dEJyWkphTFJZeUxCbWtwNlZyaFlURXhFUnVSQ2JtOU5qVW5yVVVraHplV3JyVFc3TTRRbEJuejVva0M1SmQ5ZGFjemJobndzZjQ2WFJpejRmcFFwQ3phVnRtV096b2RKbkYzNndHSkx1Vnovb1pXWVYramRuY1hiMWVSSzhYRVVXUnRpL1U1UHFaS1h5LzlYZCszUGtIdzhkK3kveGx1em04WXhpZTJZeFZxUkorWkdUWVNFaE13N2V3cDVhL2k0MUxwV1J4WC9kZDdFWk93MWF2UG5QbkxTVDhTRGlmcjF5QjBXaGt6TGdKdHp4dTJkTEZlSGg0MExsTDF5eTVZaHZGaWhWekNWdi9DUW9YTGt4R1JnWmgwMmRTcUZBaFRwdzRUbUZmWDIzYk00MGEwNkpsSzgxYkxGNjgrS3U5ZXIyN2MvSGloZFlzNGFpZExMeHRMbDZiWFJKMGRydmlVaVcxV0VqUFNDYzFOWTNrNUdUME9vR29hSmxpUlF2aDVXbks5TmhpWXBOSlNFeFhlOWJTclZyQndLWlZRZVZNYjAxV3ZUVm5idTN4Y28rOURUeitNRjBJNFVjdnUveDk2TWdsYXRmSW5VMjFZdmtpNlBVaUI0OWNjbm4vUVBoRnFsVEt6RHVjdmVENlZEdCs4bStxVlZZSklZZU0yc0Q1aTFGMGVlTnBWaTNwd2Y2ZlB1TFU2UnNjUDVtVFE2cDJqZEtZelFiMkhqaXZ2YmZ2MEFWRVVlRHBiRjZqRzI0QVRKbzRudkFqNFRSdi9qekRoby9rMEtHRExnL2QzTEJ2MzE3MjdON044QkVmdXdnV1ZhaFFnYVNrSkg3WnMxdkx0MzIvNlR1WFk4K2ZQOGZHamQ4VWFHeFAxcWlCMVdyRlpESWhTUklIRCt5blppMVZ5N1JXcmRyYU9JLys5aHRCUWVVd21VemwrL1R0MTV4c1JZVHNYcHZzOU5yVVFrSm1sZFNtQ2k5Yk1qSklUMWR6YlNrcEtjVEVKaE41MDlWcjA4Y25xQ3NNVWgzZW1zVmlVOWRzT1VOUW04TmJrMXk5dGQvMkRQZlI2Y1MzSDdxY3hJWmZlYWIrNHp6ZnRDb3JWaDNnNU9ucnJGclNJOWQ5Zlh3ODZOZXJHWU5HcnNmYnkwU2xDa1ZaL3VWK0RvWmZZdXJXRDdYOS9qaHpnNFhMOS9EdTI4RWMvdlV2NWl6YXhkSTVYUnhHTDVJK0g2NWhYdGliQlBoN3NXTFZBYnk5VFpwaFhQdk5FZUlUMG5pdlJ6QmVYaVo2ZEdsTTM4RnI4Zkh4d0dqUTB6djBTN3AzZWdaL1B5LzNYZXhHRG5UdTNKV3dzQ21zWGIwS1daWVpPT2dqUkZGMEtSNGtKaWJ5V3NkWHFQUFVVd3dkTm9LNXMyZVNrWkZCbi9jeVU5OXo1eS9DeDhlSFNWT21NZlBUNlN4YXVBQlBUMDhHWmhOU1BuYjBLQnMycktkOSt3NjNIRnZac2tHMGI5K0JkM3YxUkVIaDJXZURxVmV2UGdEdjkrbkg1RWtUV1BmMVY1ak5ab1lNR3c2QW43OS9oL2F2ZE5pK2NjTTNOc0RxTUc1MlZHVXJsVzFYYmRwMTVOcFVyeTFybGRSaXRXcTliVG9SNGhNa29xS1RLVjdVVjR1U2hGbVRYK1ZHUkR4Uk1jbkV4NmVTbUt3dWVrOU5zMnBMcVRJc2ttQzFTdGp0aWlESmlxZ29pTmJvK2YxME9qSHNZYm9Jbm00K21TZXFsdURDWDlFY09uS0pHdFZMTVgxOFI1NTlSbTJwcU50a0lpKzNxY25Jajlwb3gxaXRka2FPLzQ0dnZqcEVRbUk2dFo0c3pmaVJiZmxmc01yOTlPSEk5Wnc1RjRHZnJ5Yy8vM0lXblU1a2FHZ3IrcnpUQkZEYlBRWU0vWXJ0dTg2UW5KSkJuWnBsbURhMkE0MmVWbVhRT25aZHhPV3JzZnk2ZTdnam4yWWpkTmpYclBubUNLSWcwTEZkSFdaUGVRTVBENFA3TG42RXNlZDQ1ZitrNmxwdWlJK1BuMWpqaWFyZkF5bEFLcEFtQ0lJRlZkM0s3bEMxa25VNm5XSXdHakVaVFlxSGh3a1BzeGxQc3lkZTNsNzQrQlRDdDdBdm9nZ05hMG1VRDNxTWFsVktVRDVJcFRVU3hvOTh5WFVabGNON1MwMnprcDVoSlNQREpsaXNFamFiSWtpU0xNZ3lZdWZYNitrL1c5RGpNUERrdzJiWVdqV3Z6dWloTHoyeU40aWlnQ0M0di92RE1tY0YvZXhIeWJBcGl2SkhvNFlOM3YvNzc2c3BEdU9XSmdoQ09tQkJsZXlUUkZHVVJWRlVEQWFEb2hKUGVpZ2VIaDZZUGMxNGVucmg3ZTFONFVLRkVRU0Zlay9LbENubFQ2VUt4YWo1UkdrOFBBem9VeHk1dFl3TUcxWkwxdFVGV1JhNVordGJXenFuVzVlSHphaGxoK0RiKzEvM2cwZWVtMGJSSXJlL3JFWlM5RnlPcWt4OGtoNUpGc2xJZnpSVnFqek1ablNpZ244aE8wRkZ6aUlLZWJmUXlBcGNpYWxNYklJSlNkYmRzemxUeHlRVFdOaEMyY2ZPM3RMSVhiOTI3Vkg0cWFvdldMajQyUmZidE5ycHlMWFpGRVd4Z1dBWEJMV1FJTXV5QUNnMm15M1RJT0pZNlNTckt4VThUQ2ExdVRsRklqRXBrOW9vcUV3Zyt0UTBpNE81STF0dVRaS1JKRm1RSk1XeHlrQjlvU0RxOWJvdUQvMVRJV0hSSTNFenA5djkrUDFDS2ZRR0Qzd0t1M1ZGVTFOVGlFOU9JaWFoS2pVZnY0cEpuNWlyVWZ2MTNCUG85T2I3TW1lcHFTbkVKaWNSRmY4RTlTcWR5dGU0bFN6MWFCRGpGQzlSb2czd2k4T3dXUUc5SUtESDBkZUdxbXdscU12UUJRVUVRUlFFUlJUVmJnUlJwOE5pdFNLZ2tKb21rWnljUVh4Q0dqRXh5WlFxNFllWW5tNVR2VFdyU3lNdWRydUVKTWxxSmRSQm5xU0FrSFp6Ym11ZzhjTTRXWWQyREgza3d0REl1Q0xvRFI3L0tWYUlmd0l2TDIrS0ZpdUJUdTlCUkZ6dWlsK1hvNnVoMDV2djI1eGxqc25NbFpqS3VBR2lLRGJjcy9kQUxUSkpLQTJLb3VoUUs2U3FOVk1VRkVWV0s2U3lNNHJNdXBaVWxTUklUN2VSa3BwQllsSWFzZkdwUkVZbElhWnJQR3RxejVyTkxtR1hIRWJOR1lKbU1uZ0lSb1B1VGZmUDh2QWdOdEgwbjJTRitLZnc5aWxFVEtJcDEyMXhpZm9ITW1mZVBvV0lTVEM1Znh3SFNwY3VuYjMxdzhuOG9YT3lmamhvalpBbHRmM0Q3bGdrYjdmWnNEcGFRTkl6cktTbVdVbE95U0FoSVkyWTJHVDBGa3NtZWFUV3M2Ym0xZ1MxYjAxeFdFNkVoQ3N6bnhRRTRkWGJDZ2tmNFdUMnZaNGZTZFloeVRxM3A1YUhsNVFZSDRzc2d5aTZ6dmVEbWpOMVRIRjM5SnNuSlNaeSthK0xwT2Fqb2V2bDVVMVF1Y2NwVkxqd1hSbnZ2VDZud1dCb3UvYXI5Vis5OFhySEMyUlNoK3NGUWJBN3dsRlpsZXhUQkVtU0ZVbVNCTWt1S1U2dnpXNnpBUW9XaTB4NnVwWFVWQXVKeWVuRXhhV2lWM05yV1pkTnlRNXZUVmFMQmdvNCtkYTh2RXl2RjJUQS96R0s0M3Y3RlBjRW5VNmlpRzlDdmxUSHVVRW5Tbzlzb2FBZ1NFOVBkekZxb0JxVUJ6bG42ZWxwZC9RZysrdlNCZExTVXZQZEp6VTFoY3QvWGFSR3JUcDNaYXozNDV5MTY5UitEcmlhSmRkbWRYaHRrcUtvdVRaRmtSVlZ4VXB5cFRheTJ4RlFzRmdsTWl3MjFXdEx6aUErTVExOUZ2MENOYTltenl3YXlBNVhFQVZoODFkOVBFUlJlTDBnUnUwL1JuRjh6NUdhbWtKRWdsKytWTWQzaXUzYmZtTEY4bVZFUmQya1JJa1NmUDdsR3M2ZlAwZVA3aUhhUGtPSGorU0ZGOXE0ZjRpSEdMY3lNRm12cFgvVE9UMDl2ZHEwZTduOSt1KyszV2pKekxWaEV3UkVVQnk1TmtGUUZCbEpraFZKbGdTN3VrZ2V1OTJHQUZpdE1oa1dHK25wVmxKU00waEtTa2VmblVEU25pVzNsblg1VlBPbTFWNEZTdDlxb0ZrcGp0MG9lSWppNWVYTnpVaVptL0YrRlBPUHZ5dWZlK1BHRGFaTW5zaVljUk9vVjY4K1NVbEpBRlNvVUpIdE8zY0Q4RTZQYnZmc2V5MWZ0cFIyTDdjbklDQWd4N2htelpqT3laTy9ZelFhYWY1OFM5NTd2NC9HS25IdDJqWG16SnJCeVZNbk1abE10R2pSa2w2OTM4dkJPbkUzY2F0elB0ZTRJUWFEQVVFUUNRb0tvbnVQbmpScTFOaDk4ZjV6bEJyNThhZ0czMzI3Y1JmYUVpdEZEMEttUG9KS0lhNWt6YldwaStRbFFNRnFrN0ZZN0dSWWJLU2xxN2syMFJtQ1NwS2MyZUloWjdaNDRHengwT2tLdE9UL3YwcHhmRi9DMG55b2p1OEVaLzg4UTJCZ0lJMGFOY1pvTkJJWUdPZ0l4d1JNSmhNbWs4bGxMZUhkeG1jcmxoRVhGNXZqL2RHalJsS3lWQ2syZnJlWnhVdVdjK2pnQVRadCtsYjErR1dab1lNL3BGTGxLbno3M1dibXpKblBudDI3MkxqaG0zczJ6b0tlYys3OGhYeS9aU3ZkZS9Ra2JPcGtObnl6L29GY0o0SWdVS2RPSFZxMGFFSHo1czBwVWVMMm5BaEprdGkvZngvRGhuekV0Yi8vdmk4cGdiRmpSdkhXRzYvUnZWc1h6cHcrclczNysrcFZ4bzhiMDR3czFWRWM2MGVkREx1U0pBbVNKQW1LSWd1U2F0d0VwN0N5SktrUnA5VnFkL0hhTk1QbTB0NGhPU20vMVJhUCtLc3puaEFFV3Q3cUMvd1RpbU0zVk04dEw2cmoyOEh4NDhkNHVXMGJwazJkVEdSa0pDKzNiY1BMYmR1dzhyTVZCZjZNUXdjUDBQbXROMmplTEpnZTNVUDQ0OVFwbCsxN2R1OGlwR3NuWG1qMVBOMjdkZUhRd1FQYXRuNTkzK2ZsdG1wbys4R0EvcnpjdGcxOTMzOVhNeUxCd1UzcEd0SU5rOGxFa2FKRnFWdXZIdWZPbmdVZ0xpNE9QMzkvT25YdWpORm9wRlRwMGpScS9DeC8vbm5tbnMzNzdaelRiRGJUcUZGamhnMGZ5WkxGQzEwWVplOFh5cFVyaDA2blk5dTJiZXpkdTVlYU5XdGlNQmh5TmRpNS9YOUEvNzc4c21jM1o4NmNScEtsMnpwMzQ4YU4wZXYxZVQ0Z2N2dDczZGRmNGVucHllcTFYek40OEZER2p4dUQ0cmpJWjg2WXpzdnRYMm0yWnUyNjBtVFRId1YwZ2lBSW9pZzYxNDRpYXpVQVNYczVxZFdzRmpzWkdUYlMwcXlJem9LQlhTc1lPTFVNdEtLQjRPM2wwYjVnVDVJN3B6aDJRMFZLcXZDUGMyeTFhdFhtMjAxYkdCQTZrSklsUy9IdHBpMTh1MmtMSWQyNkYrajRpeGN1OFBISTRielhweTlidG03ajFkZGVaK0FIL1RYdXJpdFhMak4rM0JpR0RCbk81aDkrNHFXWDJqRml4RERTMHRTay9KeTU4L2wyMHhZQVpzeWF6YmVidGpCMy9rSUFSRkdrVStjdStQcXFudWxmZjEzaXdQNzlOR2p3TkFDQmdZSE1tVHNmRHcremRuTWNQM2FNR2pWcTNyTTV2NU56MXF2ZkFLdk5waG5rKzRuQXdFQnUzTGpoY0NaVWlpMC9QMWRQLzhpUmNFWU1HNExOWmlNdUxvNTNlblFuTGs0VkcvNTB4aXlHRFI5NVJ3NUlRRUJBbmw3K2h3TkRPWDdzcUdiTUZzeWY1N2llem11L2I5VnExVEVhalZ5N3BucUs1OCtmbzBHRHA2bFZ1MWFEWEx3MkVSQVZCVUVRQkxYdFE4bGFSSEMwZ05pemVtMTIwak9zaUhaSjFzUlpuR0dvckdTeWVLQW9naWdLTC8rVEgyTFF3RkJlNjlpZWtDNXYwYlh6bTJ6Wi9MMlcxM2l0NHl1MGIvY2kzVVB1N1dLRzdpRmR1SGp4OW5RRnR2MzBJNjkxZklVWFdyZGc5cXk4Q2Y1MjdOak82RTlHL21lTTYrYk5td2h1MHBSR2pScGpNcGxvMWZvRnFsU3R5amFIa0VkQVFDRExWM3hPdGVyVkVVV1JsOXEydzJhMTh2ZmZWd3Q4amo5T25hSkY4NmFFZE9sRWxhcFZlUzY0U2E3N0xWd3dEN09uSnkrMHVYODZRUVU1cHlBSStQdjVrNUo2LzBWNGpFWWpraVFSRUJCQTQ4YU5rV1VaazhtMVA2NXUzWHI0QndRd1p2UW5EQm80Z1BhdmRNRGYzMTg3L2w2Z1Q5LytUSnd3bnJselpyUDFoeTEwNmFvV3FCNnZVSUZmOXV4QmxtVXVYYnJFelp1UnBDU3I4L2I0NHhYWXMzc1hYbDdlemJNWk5YMm1jY3ZzYVZOa1J6anExRWVRVk1kTVZaS1hzRmh0cEdmWUVMTVlOYTFnSUN1QW8yaVFHakczR1hlQklmZWpJY05ZK2NWcTVzeGJ3T2NyVjNEcDBpV04zbmhxMktjUDVRM2VvbVVydmw2L2dXN2QzdVpSUW1Sa0pNV0x1K1p0eXBRSklqSlNaUlgyOXZibXQ5OStwWGV2SG5SNjgzVzZkZTJjYXlpU0g2by84UVRiZHV6aXEzVWJpSWlJY0ZFNGN1THpsWjl4K1BBaEprNmNuR2Y0YzdkUjBITXFpa0pjZkJ6ZUR5anRVcTVjT2FwV3JjcisvZnUxb2xCMnc5dTc5M3NjL2UxWFRFYlRQM293bU0xbU9uYnNTTWVPSFRFWURMUnIxNDZPSFR2eTJHT1B1ZXozZUlVSzZqM3oxUnA2OVg2WFFvWFVYUHVycjcyQlRxK2plN2N1ZlBINVozaDdlMlAyVkwzalFSOE81dWVmZC9KMjk2NVZ1b2FFVkhFWXM2eDVOcDJpS0NwWG0zTTFnaXdqT1VOVFdkWTZPbFN2VGNKaXNhR1hzcXd5Y0RUa09zTlFBTUZrMHJlOW16OUk0Y0srUFBGa0RTNWVPRS81OG5tVEt5WW1KakI1NGdTaW9xS3cyMjEwNnR4VlkrTThjK1kwTTJkTUp6MHRqU0pGaXpGMDJBZ3RNYjU3MTgrc1h2MGxsb3dNcWoveEpCOE0vRkRMUCt6NmVTZGpSMzlNZW5vR2ZmdjExN3lFYjlhdlU1UFhpa0xUWnYralcvY2V0L3dlUjQ2RTgrbjBhWWlDU01sU0pmRTBlMnJiOGh0RDgyYkI5Qi93QVV1WExFSlI0UHN0V3g4NncxYTBhRkVpSXlKYzNydCsvUnExYTZ1OVNudC8yY09xTDc5Z3hzelpsQ3F0RnNxZmE5d3cxNXNydTdHelpHU3dkZXNQdEc3OUFpWVBENG9YTDA3ejVzK3piOTllbC8zV3IvdWE3ZHQrWXRhY2VYZXQ0ZlJXdUoxekhqa1NqdEZnb0ZMbCs3OUV5bXExWXJmYk9YcFVEZnQwT2gwV2k4VTFwWkdTd2tjZkRhUnpseERPbmYyVEtaTW5NblRZaURzcUZxV25wN04rdlZvb2FkZXVIVC84OEFOWkY2ZG5qWEIyNy9xWjhSTW1NVDFzR2hNbVRhWlNwY3FZeldhR0Roc0JRRkpTRW0rODFvRVNKVW9DVUtwMGFUNmRNY3R4Myt4cStQbktsWDlrTld5Q0lEakNVVVhJR25xcktUTUpSUkdRSkFXN1hmWGFiRFk3Rm90ZERVVlZiMDBXSEVVRFRhaEZVUlJSRUlTN0dnTkVSMFZ4NnVUdlZLbFNOZC85enAwN3gvK2FQOCt5RlN1Wk0zY0JzMmJPd09wWUd6YnE0eEdFaGc3azh5L1g4TXd6alZpeWFJR1dyMW0vZmgxejVzeG41UmVyQWZoaHkyYnRNMzE4ZkZqNXhXcEdqeG5IL1BsekFaVlliL1BtVFN4Y3RKUWx5ejdqdDk5K1k5ZlBPL01kbThWaVljSzRNWXdhUFpZdlY2K2xUT215MnJaYmpjRnV0eE1WRmNXNmI3NWwvVGNiSDVqeGNuWnZBeWl5ak4xdTE0eFFteGRmWXMrZVhZU0hIOFp1dC9Qenp6djU0OVJKV3JSVTYwZXhzYkVJQW9nNkhZbUpDYXhlOWFYamMxeXJIc1ZMbE9EUXdZUFliRGFpbzFSSlFxUEp4QmVmcjJUdDJ0WFliRFlTRXVMWnUvY1hhdFNva1JrS2Y3K0piemR1WU9ic3VWcjRkTS9EN3dLZTAyS3hjUGpRUVNaUG1rRHZkOS9IeSt2K0U0UkdSMGRyQnNwb05PTHI2MHRDZ3F2SzJjV0xGd2dPYnNwYm5Ub3o4cFBSR0kwbUxjZDJyM0R5NUVrK25UR0w1NEtiTU9MalQvanQxeU11MjVPU2twZzJkVEl2dnRRMlJ6ajg5OTlYV2JaMGNiTXNJYWhXUkhCNGJLSWdDQzdMckZRYU5kbFJJM0ROdGVuVlNxaXNlV3V5eW1FcEFFSjY1THpXUU1tNzhhV25oMDNGN0dIR2FETFNwMjkvU3BjcGsrLytOV3ZXWXZteUpXemI5aU02blI2TEpZUGs1R1FTNHVQeDl2YWhhclhxQUx6VXRoMU5telVENFBEaFExejcreXJ2OW41SGU3SjVlL3RrNWgwYzdKNVZxMVhURXVIaDRZZDQvdm1XbU0ycWEvemlpeThSSG42WXBzMytsK2ZZcmw2OXdtT1BGZEdNYzVWcTFkajN5NTRDalFHZ2EwaTNlNWJuS0FpeU4raE9tVHlSS1pNbjhueUxsbno4eVdncVZxekVxREhqV0RCL0xwRVJFWlFwVzVhcFlaOXFNbTJ0WDJqRHFWTW42ZEc5S3pxZG5uWXZ0NmRpeFVyRXhidmVPQU1IZmtqWXRLbXNXTDZVTW1YS3NIVDVTb3hHSTFPbWhqRjN6aXkrV3JzR2c4RkFjSk9taERqQ2ZVbVNtRFpWRFFQZmZOMjF3K2p6TDFkVHJGanh1ejRmQlQxbnZ6N3ZJd2dxYyt5Z0R3ZmZ0VDQyUlFGdno0S1h3aTlmdm95dnJ5L05temNINFBqeDQxaXQxaHozdzYyQXVRQUFJQUJKUkVGVVQ4MmFLazIzWHE5blVEYW0zRHZGZDk5OWwzY3VQY3M1YXRXcVRhMWF0YlcvRnk5YXdPNWR1L2hmOCtkekZMSDY5M3VmbE9RVVFycS9YV0wwMlBGUE5ubXUwYS9aOG13MlFiWGt6bkJVVVlzSU1vS2dlbXlTbzFiZ3pMWHBKYWZ5bEhQNWxKcGJBeENNUmwzcnUzWHhEUHB3c0VZYlhCQ3NYYk1LdTgzT2xLblRFUVJCYXg5d2hqaE9HQXdHL1B6VUo2ek5haU80U1ZOTmJpeS94Ry9XRUNtcmR5NElnbGFLemkrL2tsZXphRUhHSUdaZjUzT1AwTEpWYTFxMnl2a1RWcXhZaVYvMkhjejMyRWFOR3VkNTQ1cE1Ka1orUE1ybHZYZDY1ZVMvcTkvZ2FiNWV2eUhIK3hVcVZtVG03TG01ZnJaT3AyUFAzZ1AzMWRBWDVKeTNtcTkvQWtFQXZjNU9hbXBLZ1NxVmlxSnc3Tml4ZjN6ZVZXdSt1bTl6M0t2M2UvVHFuYnVtK3V3NTg3T21LdW9CeDdPRm83cHM0YWlneUxJaVNYWkVRVVNTQk1maWdreXZUWlNkWWFpakdxcVN1V2xoYUdzZUVLS2pZL0QyOFVZUUJJNGZQMFpTVWhLS29sQzZUQm1TazVNNWYvNGNBRC85dUZVVGNxMVh2ejQvNzl6SjlldXFXT3pPblRzNGVmTDNmTTlUdDI1OXRtL2JSbnA2T2phYmpSKzJiS2Erb3pTZEY4cVdEU0k2T2xvcnVVZmN5SlQzdTVNeC9KTW52VGxMYnMrTjdFbHZ6eHc5Z1E5NnpuSWJFMEFSM3dSU2svTVd6ZmIwTEZqSVc5RDk3dVpuM2Mxem1qdzhtbVR6MXB3OWJhTGo1U0RsVUFSSmtoQUV1eUE3bzg0c1hwdGVDME1WQlNWTEdKb1dNYmZwM1FwRDgwSitnaFN2dmZZNlk4ZU00b2N0VzZoY3BRb1ZLbFlrTVNHQndNQkF4b3diejZkaDA3QllMQVErRnNpUW9XcGlza3FWcXZUclA0Q2hnei9FWnJkUkxxZ2NnNGNPeTNjTVQ5V3RTOHRXclhtM2wxb3dlUGE1SmpSdDJreExoaTVkc3BpVTFCUmtTV0xmM3IxMDZSckNTMjNiTVhUNENFWU1HNEtmdno5NnZVNHJIdHpKR1A3SmsxNFU1UUkvNlI4bHBLWWtJNHB5anA1QWRjNmtCekpucVNuSjZFUXAxejdGWXY1eDNJajFKeXBTd2N2SEw4Zll5cFd2Y010RjZaNmVYcFFyWCtHdWpmZEJuQk1vc1gzSHJzclBOMjk2Z2l3MFJrNmpwaG8yQkZtV0hlNGJTTEtnZFhZNEs2UkNrVUF6RnF0ZHNGcGw3SklpeUtwWWk4NFdzMkNTS0FvZjNPNm9IaVh1OW51QmkrZi9KTGhXd1pzK0wwZFZKamE1a0h0dGJqYmNqTHhCUUtFa2doN0xPWmVYb3lzVG0zVC81eXkvTVRtOXlhajRRa1RHQjJDVGpLUStvc1F0NmVucFMxdTNicjBLVlE4aEdWWHdKZDBoK0dJVEJDUlJGR1NEWGxDTVJoR1RVYStZUFF5WXpRWTh6U2E4dkV6b25XR29rb1hKUTFFVVVSU0Y1dmM2Q2VwR1RuaDdLcmZGMTFVbThEeFI4ZFc1R1hrRGJ4ODNOWGhxU2pJcEtjblliUm1VQ1RpWGV5b2g4Q3hSY1UvZXR6bHpqa215cDFNMjhHeStIbmhSL3lTSytpYzk0cUk4U2tQZ3F5emhxTTdCOXFGV1J4RWNDK05CbGhWRlZwdDJGVWxTMUFxcFhVS2ZyU2tYQllTNHl6T3FjUWRpTGJlYkJIVWo1dzJnMTlsdjY0SVdSWm02bGM1d09ib3ljWWxXRXVMaXlNaDROQi8xWnJNbm9pZ1RVTmhHMmNmT0lRcEtudGRwdlVvbnVSSlRtWmdFeXoyZE03UFpFNTBvRWVCcm9XemcyUUwvdG84eU9hc2dDTlczcnU5YnZIWEh1WDlweGsxQmgrRElzWUVnS0tyTmttWFViZzVIWmRUNTBxdlUzOW5XaG5wN05MblRRUlh4VFNBaUljRnQyTzRBS1NtSmxQUzdmY29pVWJCVHZzZ2ZsQy9pbHQrN0hjTVI5TmhaZ2g1N09PVDMzSERGVTdXQ3FnRi9PdzJiQWpvaGF3RkJ6YlVwaXFOTlRYS3NSbkQwdHlFNnZEVUJiVzBvZ2s0VW43dlRBUlh6ajBPUkVvaTZlWTIwQjdDTzd0K0l0TlFVb2lLdWdwUklVYjkveHNYMmFEL3BINzQ1Y3h1MU80T3ZyMmN0MUtLQm5zd0NnaXIwb3RHcEtZS3NJRGk4TmtHV2xTd2VtNU9leU9HeERlclhUQ2NJQlArVEgvS3BTcGU0R2UvRHpmZ0FraE9OcEtTNmY2aTg0TzBGQnAyVlVvRnhGUEZOY2srSUcyNEFCcjJ1WWMzcXhRd24vb2pVWndsSFJRUkVCVVVBUVZBVXh4SXJ4Ykc0d0VHN0pza3lncGRaSjlqc2lpQ3AxVkF4K2Zyc3BwNW00NC91cVhYRERUY2VKSTZldU5MbnFlQ0pwOGhTSFJVRTBnR3JJQWcyUVVEV2FkVlJIUjRtdmVMaFljQnNOcUszUzFrV3ZpdUtjRE1xc2VIOTZveDN3dzAzM01qVGF6UG9LZ04vWmcxRkZRVlJFRkE3T0JDUVpRVzdCSUpOUmhEc2FzZ29nT0RoNFNIYTdYWkJVUlJSVVJTZDNXN2ZKQWpDOCs1cGRjTU5OeDRrN0hiN2JvUEJNREdMeDVZaUNFSXFZQkVFd1NvSWdpUUlncXpYNnhXajBhZzQ2TzRWczltTTZGd1hxU2lLOE9xcnIrb0VRV2pvbmxJMzNIRGpRVU92MTljdFc3WnMxc0tCVmtCd09HS3VWRVpaWG9MUmFCUWxTUklWUmRFbEppWTI5UGIyM3VXZVVqZmN1UDlRRklYSXlFaHUzb3hDa2lSU1VwSWYrVGs1ZGVwVTc3NTkrNTUxZW15T1Y3b2dDRmJBN3ZUYWREcWRvdGZyTVJnTWlzbGtRcCtWeWNMRHc2T3UrL0p5dzQwSFk5U09IVHVHZ3FDdGhuRHI4WUt2LzJQbGdRdGthZnR3a0U5cWpUU0NJQ0FJQXFLb1E2L1hvOWNiTWhlV0FvSk9wM3ZxMy9qbFEwTkRhZFdxVllIMlRVbEpRUkFFZHUvZWZjZm5xMVdyRnBNblQ3N1R2QUdob2FFVUtWS0V3b1VMMDd0M2IwMEV4WTFIRjVHUmtTZ0lGQzFXd3QzY25nVStQajZWczRXaG9wTjRNcXZ0VWhtSlpMV2ZUWkhWSEp0em5hZ2dDSFhjVTNsdk1XellNRFp0MnNTNmRldll0R2tUTzNmdXBGKy9mdTZKZWNRUkZSWHQxdVBOQlFhRDRRbHk1dGl5R1RVRmxXNU5RVkZrRkZuV2R1RDgrZk5GZ0VydXFieDNTRTFOWmQ2OGVZU0ZoUkVjSEV4d2NEQ0xGeTltNWNxVnhNVEV1Q2ZvRVlZa1NYZmtxWjA1L1FjRFEvdmY4L0dkT1hPYXNHbFQyTzVRS25OaTQ4WnZDT255RmlGZE83a0k4a1JIUnpQd2d3R0VkTzFFM3o3dmNmWHFGVzNiaVJQSDZmbDJON3FGZEdiMEp5UHoxV1lWQktIQ3lJOUhlZWRqM0FBRUhBc05uTTI2enFxb1VLSkVpU2YvS3hmSmQ5OTlSLzM2OVRHYnpYaDVlZEc4ZVhQT25YTmxldmpsbDErb1ZxMGFIaDRlTkd2V2pMLysra3ZiSnNzeVk4ZU9wWFRwMG5oN2U5T29VU1AyNzkrZjY3bWlvNk41NVpWWDhQUHp3OXZibXhkZWVJRUxGeTVvMndNREEvbndRNVZOOTlpeFk2U25weE1jbkxtdzQ5bG5ud1hnNE1HRDdydjdFVVp5OHAydE9xbGNwU3FqeG95OXAyT2JQMjh1eTVZdTRkTEZpeTVHNk9yVksyeFl2NTRGaTVheWJQbEtUcHc0eHBFajRZNWo1dENzMmY5WStma3F1blYvbXltVEptcXBtRWtUeGpIeWsxRjh0dkpMU3BVdW8ybG01SVZubndzdTRUQmtMb1NUanJCVVc0R2dLbGlwWHB2bTBoa01oditFWWZ2OTk5OTU1WlZYNk55NU0yZk9uR0hIamgzY3ZIbFRNeTVPekpvMWkwbVRKbkg4K0hHOHZiMXAxcXlacHJ3emNlSkVsaXhad3BJbFN6aDU4aVFkT25TZ2VmUG1uTTFGSERjME5CU0x4VUo0ZURqSGpoMURsbVZDUWpMMUJBWU5HcVJ4MDErL2ZoMmowVWhBUUVCV1Y1dUFnQUN1WGJ2bXZydmR5SUhZMkZnR0RRd2xwTXRiZEF2cHpPRkQ2Z1BRcWNuYm9YMWJRdnU3cGpLR0RmbEk5YUs2dkVXN2wxN2d6VGRlMWJaZHZIaVIwUDU5NmQ2dEM0TStHTURObTVFdXg2NzcraXVYL1FGNnZ0T0xzT2t6S1AvNDQ2NzMyb2tUUEZXM0xwNmVLc21xbjY4Zko0NGYxN3l5NTU1VEgrQ0ZDeGZtenovUFlMVmFpWXlJd01Oc0ppaW9IQUQrL3Y2Y09KNC96WG54WXNYS1pERnFqanhiMW5CVXlReEoxVHdiZWxCNzJIUTZYZlgvd29XZ0tBcWZmdm9wL2Z1cjdubFFVQkFoSVNFc1dMREFaYjlQUHZtRWR1M2FBYkJpeFFwS2xTckY1czJiZWVtbGw1ZzhlVExMbHkvWENoSURCdzVrMTY1ZHpKdzVNOGZuWEw1OG1kS2xTMU95WkVrOFBUMVp2bnk1aTVFYU5peVRQVGN0TFEwUEQ0OGNZemFaVERuazA5eHdBK0NydGF1cFVhTUdJZDNlNXRLbFM4eWZONGNHVHpmVU5IblBuei9IeFBIalhJNlpOR1Vhb0VwWTluNm5oNmEvWWJWYW1UaCtMT01uVHFaNDhlTDg5T05XRnN5ZngrZ3htY2ZYckZVcmg1NUhYc0pEaVltSmVIaDRFQjBkemFRSjQ1QmtDUjlIbmpBeE1SR1Rod2ZmYi9xT0hUdTJZVFFhU1VsSklTa3BDWlBKaE5WcVplNmNXZHk0Y1NPSHdsWjJlSGw3bDh0aTFCd0dUaEVkRkFPT1hqYWN0UUpGVVJSQjcyeHlFd1RoUDJIWWF0YXNTVUJBQU5PblQrZk1tVE9jUFh1V1gzLzlsYUpGWFl2bmpSdG5DcFVFQkFSUXZueDUvdmpqRDU1ODhrbFNVMVBwMXEwYmI3K2RLWlJzdFZwZGpuRml5SkFodlBubW13UUdCdEswYVZOZWZQRkZ1bmJ0bXV2WXpHWnpEalVoVUNYZEhvU01teHNQUCtyVmI4Q2NXVE1BZ2ZyMUd4QTJmVWFCanBObG1UR2pSOUhteGJiVXI5OEFVS1VocjEzN20rRkRCNnY3S0RKZTJmUUtLbFdxVEtWS0JkZEtQWDM2RDQ2TkdFcm9CNE00KytlZlhNeVNocGswWVJ3QmdZR0VUWi9KcXgxZWRqR0lBejhZd0lzdnZrU0hqcTh5WXRqUWZNOWhNQmdxWk11dDVjeXhvYUNBVmtEUVoyNmc2bi9oUWpoNDhDRE5taldqU1pNbU5HM2FsTmRlZTQzdzhIQ1dMbDJhNzFOSXI5ZGpOQm8xcmMwMWE5WlF2YnFycmMvTjIycmJ0aTNYcjEvbisrKy81OGNmZjJUNDhPSE1ueitmdzRjUGF5NjZFNlZLbFNJakk0T0VoQVI4ZlgwQnNObHN4TWJHVXJKa1NmZGQ3RVpPdzFhdlBuUG5MU1Q4U0RpZnIxeUIwV2hrekxnSnR6eHUyZExGZUhoNDBMbEw1a1BXWnJOUnJGZ3hWcXo4NHE2TXJYRGh3bVJrWkJBMmZTYUZDaFhpeEluakZIWmMxNFVMRithWlJvMDFrWE5WaHRLYlFvVUtrWlNZeUlTSlUzajg4Y2M1ZS9aUDdWN0lDNElnVk02U1c4dWFaOHRlUUZDY0JRUVJFS0tpb2lvQnB2L0NoYkJnd1FMcTE2L1AxcTFiR1R4NE1DMWF0T0RHalJzNUpQV3k1c3VTazVPNWVQRWkxYXRYcDN6NThwaE1KaTVjdUVDRkNoVzAxNkpGaTlpeVpVdXVIdHY1OCtmcDBxVUxxMWF0WXYvKy9adzZkWXJqamx4RFZ0U3VYUnV6MmN6ZXZabXE1L3YyN1VNVVJaNSsrbW4zWGV4R0RreWFPSjd3SStFMGIvNDh3NGFQNU5DaGd5N1NrYmxoMzc2OTdObTltK0VqUG5hUnFxeFFvUUpKU1VuOHNtZTNsbS83ZnBPclR1ajU4K2ZZdVBHYkFvM3R5Um8xc0ZxdG1Fd21KRW5pNElIOTFLeWxhcG5XcWxWYkcrZlIzMzRqS0tnY1JxT1JZc1dMVTlqWEY1UERzZGkzZDY5MlRENHdMVjY2UERBWGc2YjFzQUZaUERaSGpzM2IyN3ZDZitWQzhQZjNaK2ZPblp3OGVaS1NKVXV5YnQwNmxpMWJocCtmbjh0KzQ4ZVBwM0hqeHZqNitoSWFHa3JGaWhWcDNibzFvaWd5Y09CQXhvNGRTN0ZpeFdqWXNDSHIxNjlueG93WmJOKytQY2Y1enA0OVM1OCtmWmczYng0QkFRR3NXTEVDYjI5dnFsUlJCVzBtVFpwRTdkcTFhZFdxRlY1ZVh2VG8wWU8rZmZ2aTQrT0QwV2lrZCsvZWRPL2UvYjRwbnJ2eDcwTG56bDBKQzV2QzJ0V3JrR1daZ1lNK1FoVEZmQlhlNXM2ZVNVWkdCbjNlNjZWOXp0ejVpL0R4OFdIU2xHbk0vSFE2aXhZdXdOUFRrNEhaaEpTUEhUM0toZzNyYWQrK3d5M0hWclpzRU8zYmQrRGRYajFSVUhqMjJXQk5PL2o5UHYyWVBHa0M2NzcrQ3JQWnpKQmh3N1hJYVBpSWp4azNialEycTQzU3BVc3plT2p3VzU2clFvV0tqd0hYYy9mWUhEb2hHcmVrZ2lDS29vZkZZaG1nMStzbi8xdC8vTkRRVVA3ODgwOSsvUEZIWW1OajZkbXpKenQzN3NSZ01QRFVVMC94eGh0djBMTm5UNjVldllxdnJ5OCtQajVNblRxVmxTdFg4dmZmZjlPb1VTTVdMbHhJR1ljNnZjMW1ZOHlZTVh6MjJXZkV4TVJRdVhKbFB2bmtFenAwNk9CNEd0WGlqVGZlWU9qUW9VUkhSek5nd0FDMmI5OU9jbkl5ZGVyVVlkcTBhVFJxMUFoUTJ6MjZkZXRHV0ZpWWxrOExEUTFselpvMWlLSkl4NDRkbVQxN2RxNWhyaHVQRHZiczJlTldkOHNIY2JHeFlUVnJWTitPdW1iVStVb1RCQ0VEVlNsZUVrVlJYVE5xTUNpQ0lBaG11OTArVXhURlh1N3BjOE1OdDJGN0dKR1JucjY2WW9WeVgyUXpiS2xaREp0ZEVFUlpweE1WdmNHZzZCM0p1YUIvNnhlZU4yOGVmZnYyL1UvOGVKR1JrVG1xdHdXQkxNdGN2bktWdUxnNEpFa2lJLzNSWEh2cVlUYWowK253OXdzZ0tLZ00rUkdtS29yaW1MTlk3UFo3TjJjZVpqTjZ2WjRBL3dDQ2dzcmVjdi9yN243R1hDRkpVbkVjVGJsWlg0cWlwaEhWN2c0WldRYkpMaUVJZ3VBcHkvSlJvTEo3K3Y1OXNGaXNuRGh4QXAxZTc5WVZCVkpUVTBoSlRrS1M3TlNxV1F1ajBaQ3JVZnYxMTk4UWRicjdveXZxR0pNc1M5U3JXOWZ0c2QwQkZFVTVYNlpVOFEvSUpKMTBFazg2cWNMdGpuQlUwZXYxaXJPNlVOWTlkZjlPUkVSR29OUHIzYXdRRG5oNWVWTzBXQWwwT2owM0ltN2t1czlmbDY4ZzZuVDNiYzZjWXhKRkhWZXVYSFZmdEhjQVFSQktaL1BZc3YvZnBWbFhQSC8rZkZIQW5ibitseUkySnRiTkNwRUx2SDBLRVJNVG0rdTJ1TGk0QnpKbjNqNkZpSWwxa3gzY2FWVC95ZWd4M3VUWjh1SFViUUZRMEFjRUJCUjN6OW0vMVQyL2MxYUlSOEZ6UzB5SXkzWGJnNW96THk5dkV1UGo3dWpZcE1SRUx2OTFrZFI4dEhxOXZMd0pLdmM0aFFvWGZtRHpmaS9IV2JWS3RVSkFUQzdlbXZPT3dObjZvVGVaVEVYdi9nM25wamd1S0h4OENxSFRpUlFwVW9UaXhXL3ZHU01Ja0o3dUpxbk1DK2w1RUhnK3lPTEtuZjVlZjEyNlFGcGEvZ0s5cWFrcFhQN3JJalZxUFRoYXhYczV6c2VLRkNtVTNWdHpGQThFMTNCVVVmUTZuZTZ1R2pZM3hmSHRJelUxaFJzUmtkeUlpT0NwT25mM290eSs3U2RXTEY5R1ZOUk5TcFFvd2VkZnJ1SDgrWFAwNko3SlFESjArRWhlZUtHTis0ZDRpSEVyWTVIMVd2cXZqck5Rb1VLRnNoZ3daM091NEZnTW56V1NFZlNpS0Q1Mk43OVlWb3BqTndvZW9uaDVlUk4xTTRMSXlFaUtGU3QyVno3M3hvMGJUSms4a1RIakpsQ3ZYbjJTa2xUT3J3b1ZLcko5NTI0QTN1blI3WjU5citYTGx0THU1Zll1TkUzT2NjMmFNWjJUSjMvSGFEVFMvUG1XdlBkK0g0MVY0dHExYTh5Wk5ZT1RwMDVpTXBsbzBhSWx2WHEvbDROMTRtN2lWdWQ4cm5GRERBWURnaUFTRkJSRTl4NDlhZFNvc2Z2aXZZOHdtejBLdVJxMUhDL0gwa2tGVVJURmdMdDVjamZGOFQ4d2NONCszTHg1ODY1OTN0ay96eEFZR0VpalJvMHhHbzBFQmdZNlFsZ0Jod2FqeTFyQ3U0M1BWaXdqTGk1bkFuLzBxSkdVTEZXS2pkOXRadkdTNVJ3NmVJQk5tNzRGMUo2OG9ZTS9wRkxsS256NzNXYm16Sm5QbnQyNzJMamhtM3Myem9LZWMrNzhoWHkvWlN2ZGUvUWtiT3BrTm55ei9vRmNKNElnVUtkT0hWcTBhRUh6NXMwcFVlTDJuSWlEQi9ZVDByVVRyNy82Q2pNK0RkUFdkTnBzTnNLbVRTR2t5MXQwRCtuQ3ZuMlphNXJ6WThTOWQ1Rk1LcHUrKzVhaGcxWGFKWVBCbU4xakUzRVVEckpHakZhckZWRVFoTHU2U05HZHpQNW5ucHRka3Y3eDV4dy9mb3lYMjdaaDJ0VEpSRVpHOG5MYk5yemN0ZzByUDF0UjRNODRkUEFBbmQ5NmcrYk5ndW5SUFlRL1RwMXkyYjVuOXk1Q3VuYmloVmJQMDcxYkZ3NGRQS0J0NjlmM2ZWNXVxNGEySHd6b3o4dHQyOUQzL1hjMUl4SWMzSlN1SWQwd21Vd1VLVnFVdXZYcWNjNUJTaEFYRjRlZnZ6K2RPbmZHYURSU3FuUnBHalYrbGovL1BIUFA1djEyem1rMm0yblVxREhEaG85a3llS0YrZEphM3l1VUsxY09uVTdIdG0zYjJMdDNMelZyMXNSZ01PUnFzTFAvUHlNam5hbFRKakZ4MGxSV3IxMUhURXdNMjM3NkVZQ3RQMndoSXlPRGxWK3NadnFNV2N5ZSthbm01ZWZGaUZzUVBQSEVFOXBETmI4eFp2MDdKaWFHZDNwMDU4S0Y4OXJ2b05mckMrWGhxV2t2V1piUjYvV0lnTi9kblBRN3BUaDJRMFZLOGo4dnROU3FWWnR2TjIxaFFPaEFTcFlzeGJlYnR2RHRwaTJFZE90ZW9PTXZYcmpBeHlPSDgxNmZ2bXpadW8xWFgzdWRnUi8wSjhyaFRWNjVjcG54NDhZd1pNaHdOdi93RXkrOTFJNFJJNFpwYWx0ejVzN24yMDBxRThxTVdiUDVkdE1XNXM1ZkNJQW9pblRxM0FWZlgvV3krK3V2U3h6WXY1OEdEVlIyazhEQVFPYk1uWStIaDFtNzBJOGZPMGFOR2pYdjJaemZ5VG5yMVcrQTFXYlREUEw5UkdCZ0lEZHUzTkE4RkZtV2M1QThIRGtTem9oaFE3RFpiTVRGeGZGT2orN0V4Y1VSRVJHQnI2OGZKVXVXUktmVDBhcFZhdzRmUGdTb3JMZlBQdnVjNDNjU01CaU1uRHQzVnR1V0d5TnVBWE5qZVpKVkxsdTZXS01HUDNueWR3YjBWMWNSK2ZyNjhzV3FOWVIweStSRTFPbDB1WVdpdUlhaHFrY3JBdmM4Ymh3ME1KVFhPcllucE10YmRPMzhKbHMyZjYvbE5WN3IrQXJ0MjcxSTk1QXU5M1FNM1VPNmNQSGl4ZHM2WnR0UFAvSmF4MWQ0b1hVTFpzL0ttK0J2eDQ3dGpQNWs1SC9HdUc3ZXZJbmdKazFwMUtneEpwT0pWcTFmb0VyVnFteHpDSGtFQkFTeWZNWG5WS3RlSFZFVWVhbHRPMnhXSzMvL1hmRG0wejlPbmFKRjg2YUVkT2xFbGFwVmVTNjRTYTc3TFZ3d0Q3T25KeSswZWZHK2ZmK0NuRk1RQlB6OS9FbDVBTWw2bzlHSUpFa0VCQVRRdUhGalpGbkdaSEpsSGF0YnR4NytBUUdNR2YwSmd3WU9vUDBySGZEMzk2ZFlzZUxFeGNWeTZkSWw3SFk3NGVIaHBLU28zOEhKaUh2cTFFbUdEUDRRbzhsSVltS2l0czNKaUR0M3ppeU5FZmVmNHMyM09yTnIxOC9NbVQyVGNXTkcwN2RmZjZkM2xpT25LZ2lDZHo2NU5SY2pweGNFNGI0a3hENGFNb3g2OWVxVG1KaEFyNTV2VTdXYXluMldGNzN4dzRBV0xWdlJvbVVydnY1cUxaR1JFWStNMXhnWkdVbUZDaFZkM2l0VEpraWJBMjl2YjNaczM4YjQ4V05JU1U3Sk02eklEOVdmZUlKdE8zWVJFUkhCSngrUFlQbXlwZlI4eDVXSDRmT1ZuM0g0OENIbXpKbVBYcSsvTDkrOW9PZFVGSVc0K0RpOEgxRGF4Um1PN3QrL24xcTU4SmtKZ2tEdjN1L3h4dXNkS1ZPbXJHYWt6V1l6dzRhUFpQS2s4WTdmdFN5ZVpyTjIzUGZmYnlJOVBaMUprNmN4ZSthbkxwK1pGeU51WG1qVnFoWGUzdXI4T1BPQXAwK2Y1dlRwMDlvKzN0N2V2UHZ1KzN3UTJvODMzK3BFNWNwNUx5c1RSZEU3bnpCVU0ybzJtdzA5Y0Y4NXFRc1g5dVdKSjJ0dzhjSjV5cGN2bitkK2lZa0pUSjQ0Z2Fpb0tPeDJHNTA2ZDlYWU9NK2NPYzNNR2ROSlQwdWpTTkZpREIwMlFvdmhkKy82bWRXcnY4U1NrVUgxSjU3a2c0RWZhdm1IWFQvdlpPem9qMGxQejZCdnYvNmFsL0ROK25WcThscFJhTnJzZjNUcjN1T1czK1BJa1hBK25UNE5VUkFwV2Fva251Wk10dHo4eHRDOFdURDlCM3pBMGlXTFVCVDRmc3ZXaDg2d0ZTMWFsTWdJVjBOKy9mbzFhdGRXVzFIMi9yS0hWVjkrd1l5WnN5bFZ1alNnVmcxenU3bXlHenRMUmdaYnQvNUE2OVl2WVBMd29Iang0alJ2L3J4TG9ocGcvYnF2MmI3dEoyYk5tWGZmR2s1djU1eEhqb1JqTkJpb1ZQbitMN0cyV3EzWTdYYU9IajNxRE5GeWFHYWtwS1R3MFVjRDZkd2xoSE5uLzJUSzVJa01IVFlDUVJCNHV1RXpQTjN3R1VmdWJLNUdTMSs0Y0dITVpqTmp4MDFBRkVVc0ZndUZIZk9RRnlOdWZ2anhSelYzOTh3enozRDU4bVV0ZkhaSmUxeTh5T1JKRXhnN2JnSXJsaStsVE5rZzJ1VHRLWHRsTTJKWmpKcVFOV1JGQkR6djU0OFNIUlhGcVpPL1U2Vksva3prNTg2ZDQzL05uMmZaaXBYTW1idUFXVE5uWUxWYXNWcXRqUHA0QktHaEEvbjh5elU4ODB3amxpeGFvT1ZyMXE5Zng1dzU4MW41eFdvQWZ0aXlXZnRNSHg4ZlZuNnhtdEZqeGpGLy9seEFKZGJidkhrVEN4Y3RaY215ei9qdHQ5L1k5ZlBPZk1kbXNWaVlNRzRNbzBhUDVjdlZheWxUT25PcDdhM0dZTGZiaVlxS1l0MDMzN0wrbTQwUHpIalo3WGFOQmwyUlpleDJ1MmFFMnJ6NEVudjI3Q0k4L0RCMnU1MmZmOTdKSDZkTzBxSmxTMEJWVGhJRUVIVTZFaE1UdEJ5SklydXlGQmN2VVlKREJ3OWlzOW1Jam9wU3d5aVRpUzgrWDhuYXRhdXgyV3drSk1TemQrOHYxS2hSSXpNVS9uNFQzMjdjd016WmMrOGJBV2RCejJteFdEaDg2Q0NUSjAyZzk3dnZQeEN0aXVqb2FLMmFiVFFhOGZYMXpTR0ljdkhpQllLRG0vSldwODZNL0dRMFJxT0p1RGpYVlErSER4MWt4NDV0V2c5anJWcTFzZHZ0aUtKSVFrSThGeTllcEZMRlN0cTIzQmh4L3lsKysvVUlRNGVOb0VuVFpudzZjdzZuL3ppVmcrMDZ5NFBTbk0yb1pYMkd1cFQzOVlENWZ2d1kwOE9tWXZZd1l6UVo2ZE8zUDZVZHBJNTVvV2JOV2l4ZnRvUnQyMzVFcDlOanNXU1FuSnhNUW53ODN0NCtWSzJtNmhHODFMWWRUWnMxVTMrb3c0ZTQ5dmRWM3UzOVRwYW5pazltM3NIQjdsbTFXalV0RVI0ZWZvam5uMitKMmVHT3YvamlTNFNISDZacHMvL2xPYmFyVjYvdzJHTkZOT05jcFZvMTl2MnlwMEJqQU9nYTB1MnVYQlIzaXV3TnVsTW1UMlRLNUlrODM2SWxIMzh5bW9vVkt6RnF6RGdXeko5TFpFUUVaY3FXWldyWXB4UXRxdmJYdFg2aERhZE9uYVJIOTY3b2RIcmF2ZHllaWhVckVaZHR1ZERBZ1I4U05tMnEraVF1VTRhbHkxZGlOQnFaTWpXTXVYTm04ZFhhTlJnTUJvS2JOTldTeEpJa01XM3FaUFI2UFcrKzN0RTFUUHh5TmNXSzNmMFZnQVU5Wjc4Kzd5TUlLblBzb0E4SDM5VStOaDhmbndMdmUvbnlaWHg5ZlRWWngrUEhqK2RJNU5lc1dZdWFOV3RwK2FwQldaaHk0K1BqNk5XekI2VkxsMmJpcENrOFZxU0k5cnVlTzNkT3kzZjNHeENxZWE1NU1lSVdCQWNPSE1oejIydXZ2Nkg5UHlBZ2dJOEc1eXZzNHBGUEdPcXdjQ0tTSktFSDdzc2ROdWpEd1JwdGNFR3dkczBxN0RZN1U2Wk9SeEFFclgzQWFaNmRNQmdNK1BtcFQxaWIxVVp3azZhYTNGaCtpZCtzSVZMV1ZpNUJFUEo4WW1UTnIrVFZMRnFRTWVUSEUzWTMwYkpWYTFxMmFwM2ovWW9WSy9ITHZ2d0ZtaHMxYXB6bmpXc3ltUmo1OFNpWDk5N3AxVHZIZnZVYlBNM1g2emZrZUw5Q3hZck1uRDAzMTgvVzZYVHMyWHZndmhyNmdwenpWdk4xTjhhUW1wcFNvRllwNStxZU80V2Zuei9yY29rV3NodkFyQWdNREN5d1F0YmRSRUJBZ0ZaaHo4VldDZG50Z1NDQVRxZTJlenc0MXlGZmR6c0dieDl2QkVIZytQRmpKQ1Vsb1NnS3BjdVVJVGs1bWZQblZXWDNuMzdjU3RpMEtRRFVxMStmbjNmdTVQcjE2d0RzM0xtRGt5ZC96L2M4ZGV2V1ovdTJiYVNucDJPejJmaGh5MmJxTjhoZldLVnMyU0NpbzZPMW5FRkVsdHpCbll6aG44QnM5c1NOMjV1YkJ6bG5lWjI3U0pFaXBPV3pwdHJUczJBaGIwSDN1MWU0eCtNMDV1S3BDVW8ycjgwWml1b2UxQ1RrSjBqeDJtdXZNM2JNS0g3WXNvWEtWYXBRb1dKRkVoTVNDQXdNWk15NDhYd2FOZzJMeFVMZ1k0RU1HVHBDRFFtclZLVmYvd0VNSGZ3aE5ydU5ja0hsR0R4MFdMNWplS3B1WFZxMmFzMjd2ZFNDd2JQUE5hRnBVelcwM2ZiVGp5eGRzcGlVMUJSa1NXTGYzcjEwNlJyQ1MyM2JNWFQ0Q0VZTUc0S2Z2ejk2dlU0ckh0ekpHTzdYay81UlFtcEtjcDVldGZpQTVpdzFKUmxkSHBYVzRzV0xFeEVSUWZUTkNEeTlmWEtNclZ6NUNyZGNZTzdwNlVXNThnOVdsK2tlajFPWG04ZVdXOTVOVUc0VmQ5MG1qaDQ5U3BGaWJvM01PMFZVNUhYcTNNWkMrTXVYcnhBYkYrZGVtNXNOTnlOdkVCZ1lRTmxjY3JtWHIxd2hOdmIrejluTnlCc0VCQVFRVkRidi9ISlVWQlNSa1pIWTdYYVNrOTJzT05uUnBFbVQ5a0FhS29OdUVwbWlMaFkwN1FOQnZ1dk5RVzRQNHA4OTBXKzNYNnRzMlRKRVIwY2pudHFQQUFBZ0FFbEVRVlJ4TS9LR214cmNNWWNwS2NsSWRudXVSZzBncUd4Wm9xTHUzNXc1eHlSTFVyNUd6Um1TRm5Fazg5M0lGZG5EVHNHWll4TUVRVjExSUlxQ29DaUtoTHBFNGE0Z0lpS0N5TWliUEZiVXpWOTUrOTdhRFVxVUtIN2I3QjZLb3ZEWDVTdkV4Y1VpMldVeU1oNU5qamF6MlJOUnB5TXdJSkN5WlV2ZmNvSC9sU3RYaVk2SlFiSkw5MnpPekdaUGRIcjlMVDAxTndvRVdSQ0Vqa0JxRm84dFJSQ0VWTUFpQ0lKTkVBUzdLSXFLb0NpS0ZURGM3WEJVRUhWNGVYbmo2ZmJjYm9rMGg5Z0hLTGNWaHJyaHhpTUdteUFJcjJjeGJNbEFzaUFJYVVCR1ZzT21CKzY2WWF0VHB3NDNiOTdrWmxRVXlVbUpiZ2JkZk9EdDQ0TkJyNmRVcVpMdUVNUU5OL0tIdGFBN09nM2JYYThSRnkxYTlJNDBNdDF3d3cwM0NtallsR3ovYWhDQmRQZDh1ZUdHRy84Q1pCVFlZN3R5NVlwYkRjUU5OOXg0NktFb1Nub3UzcG1pT0JSZG5KMXJpcUlvK3JKbHk2YTZwOHdOTjl4NDJDSExjbXFXMEZNemNObmJQUVJCUUZRVXhVMTU2NFliYnZ3YlBMYnN6SlpLdHY5cmYrdFJlMEhjY01PTkIzL2p1dlY0ODRIZGJrL0pZc0NVTEtHb2tqVVVsV1VadmFJb0NmZFNxY2dOTjl3b21GRno2L0htRDR2RmtweWJ4K1pxdnpKRDBiaEhiWUpLbFNwRnRXclZjaFdqOFBiMjVyUFBQcnVYVHgxQ1EwTXBVcVFJaFFzWHBuZnYzcG9JaWh1UExyTHE4YnFYSStaNTd5Umw4OWdVY21uMUFOV3d4VDZLazNUbXpCa21UWnAwMzg4N2JOZ3dObTNheExwMTY5aTBhUk03ZCs2a1g3OSs3cXYyRVlkYmovZldzRnF0U1ZrOHRWenlhNExLclNpQUtFbFN6S000U2VYS2xXUGl4SW1jT1hQbXZwMHpOVFdWZWZQbUVSWVdSbkJ3TU1IQndTeGV2SmlWSzFjU0V4UGp2bklmWWR5cEh1K1owMzh3TUxUL2ZYQUVUaE0yYlFyYkhVcGxUbXpjK0EwaFhkNGlwR3NubGk5YnFyMmZuOER5aVJQSDZmbDJON3FGZEdiMEp5TUxyTTJhbnA2V2pHdFRicmJxcU5OZkE5Rm1zOTE4RkMrazNyMTdVNzE2ZGQ1NTU1MThHWFBYcjEvUGswOCtpZGxzcG5yMTZpeGR1dFJsKzg4Ly8weWRPblV3bTgzVXExZVBzTEF3RjNIWXdNQkFQdnhRWmRNOWR1d1k2ZW5wQkFjSGE5dWZmZlpaQUE0ZVBPaSt1eDloM0trZWIrVXFWUmsxWnV3OUhkdjhlWE5adG5RSmx5NWVkREZDVjY5ZVljUDY5U3hZdEpSbHkxZHk0c1F4amh3SmR4eVR1OEN5M1c1bjBvUnhqUHhrRkordC9KSlNwY3RvbWhtM1FsSmlVbDZoYUk0VkNQcU1qSXlvVzZuTi9CZWgwK2xZc21RSkRSbzBZTkdpUmJ6NzdyczU5dG03ZHkrZE9uVmk5dXpadEdyVmlxTkhqOUs3ZDI5ME9oM2R1M2ZuNHNXTHRHblRocjU5KzdKbXpScCsrZVVYK3Zmdjd5THdNV2pRSUdyWHJnM0E5ZXZYTVJxTkJBUUVhTnNOQmdNQkFRRmN1M2JOZlhlN2tRT3hzYkZNbkRDT21PZ29CRkhrdmZmNjBPRHBoaTRrcmI2K2ZxeFkrVVZtdW1QSVI5eTRvVEk0SnlRazRPbmx4WnExNndCVkZXck9yQmtrSmlYaTcrZlA0S0hETkMwTGdIVmZmOFdHRGV1MS9RRjZ2dE1MbzlHb01WVTc4ZnVKRXp4VnR5NmVucDdZN1hiOGZQMDRjZnc0OWVyVjU4U0o0M3p3d1NEQVZXQTU2dVpOUE14bWdvTEtBZUR2NzgvUE8zY1VhQzV1UnQxTUxvQlJVd0QwRVJFUkVYbkp6Ly9YOGRSVFR4RWFHc3FRSVVObzI3YXRwbjNveElRSkUralJvd2U5ZTZ0OC9tWExsdVhTcFV0TW5UcVY3dDI3czNEaFFxcFVxY0swYWRQVXAyZmx5cHc4ZVpMVnExZTc1TlNjU0V0THc4UERJOGM0VENaVER2azBOOXdBK0dydGFtclVxRUZJdDdlNWRPa1M4K2ZOb2NIVERTbFZxbFNlbXJ5VHBxalhZMkppQXIzZjZhSHBiMWl0VmlhT0g4djRpWk1wWHJ3NFAvMjRsUVh6NXpGNlRPYnhOV3ZWeXNFOG5KZndrRk5nT1RvNm1ra1R4aUhKRWo2T1BHRldnZVVkTzdacEFzdEpTVW1ZVENhc1ZpdHo1OHppeG8wYk9SUzI4ZzY3VHp2YlBlUzhQRFZuTUNyV3JGa3ppdHRZZy9WZnc5aXhZd2tJQ0tCdjM3NDV0cDA2ZFlwbHk1Ymg3ZTJ0dlVhT0hNbUZDeGVRSkluang0OVR2NzZyUUUyalJvM3lQSmZaYk02MUVtdXhXQjZJakpzYkR6L3ExVy9BemgzYldmblpDaXdaR1FVV1ZKRmxtVEdqUjlIbXhiYlVyOThBVUtVaHIxMzdtK0ZEQjlNOXBBdXJWMytwcWJVNVVhbFNaVjdwMExIQTR6dDkrZzlHamhqS083M2ZwV2xUVjJXM1NSUEdjZm55WDRSTm4rbWlWSitZbU1qQUR3WlFyVnAxK3ZVZlVOQlRaVXdZUHpZdG4xQlVNM1NDb0Rib0Fsd0ZLajJLRjQ2bnB5Y0xGeTZrWmN1V2JOem9xdHhqdDlzWk5HZ1FiNy85ZG83alJGRkVyOWZuRUFUT0wxOVhxbFFwTWpJeVNFaEl3TmZYRjFCVnEyTmpZeWxaMGsybjdrWXVocTFlZmViT1cwajRrWEErWDdrQ285SEltSEVUYm5uY3NxV0w4ZkR3b0hPWHJ0cDdOcHVOWXNXS3VZU3Qvd1NGQ3hjbUl5T0RzT2t6S1ZTb0VDZE9IS2V3NDdyT1MyQzVVS0ZDSkNVbU1tSGlGQjUvL0hIT252MVR1eGZ5ZzZJb2YyY3pZSElXenkzbi9ha2VvMXg1bEMrZUZpMWEwTGx6Wi9yMjdhdUpDQU5VcTFhTmt5ZFBVcUZDQmUxMTRNQUJaczJhaFNBSVBQbmtreHc1Y3NUbHM3TC9uUlcxYTlmR2JEYXpkMittNnZtK2Zmc1FSWkdubjM3YWZSZTdrUU9USm80bi9FZzR6WnMvejdEaEl6bDA2R0NPaDJsMjdOdTNsejI3ZHpOOHhNY3V6YXNWS2xRZ0tTbUpYL2JzMXZKdDMyLzZ6dVhZOCtmUHNYSGpOd1VhMjVNMWFtQzFXakdaVEVpU3hNRUQrNmxaUzlVeXpVdGd1Vmp4NGhUMjljWGtDRy8zN2QyckhaTWZKRW02bnMybzVlR3RxZjBlZWtDUlpmbHlYb28randwbXpKaEIxYXBWWFhKZFE0WU1vVldyVm93ZVBacE9uVHB4K3ZScCt2ZnZ6OENCQXdIbzI3Y3ZzMmZQWnVqUW9iejk5dHNjT25TSUJRc1d1SVNWa3laTm9uYnQyclJxMVFvdkx5OTY5T2hCMzc1OThmSHh3V2cwMHJ0M2I3cDM3MzdmRk0vZCtIZWhjK2V1aElWTlllM3FWY2l5ek1CQkh5R0tZcjRLYjNObnp5UWpJNE0rNy9YU1BtZnUvRVg0K1Bnd2FjbzBabjQ2blVVTEYrRHA2Y25BYkRxaXg0NGVaY09HOWJSdjMrR1dZeXRiTm9qMjdUdndicStlS0NnOCsyeXdwaDJjbDhDeVhxOW4rSWlQR1RkdU5EYXJqZEtsU3pONDZLM0ZsMjAyVzBRdUhwdWlxdSs1ZW0yQ2dDSUlndUNka1pIUnoyZzBUbnhVTHBaU3BVb1JHaHFxdFdFNDhjVVhYOUMxYTFkV3JGaEJ0MjdkQUZpMWFoVVRKMDdrd29VTEZDdFdqSjQ5ZXpKeTVFanRTZmpUVHo4eGNPQkFMbHk0UU8zYXRXblFvQUhyMTYvWGRFVURBd1BwMXEwYllXRmhXajR0TkRTVU5XdldJSW9pSFR0MlpQYnMyYmtXRmR4NGRMQm56eDRlcjFqRlBSRjVJQ1ltNXRQYU5aLzRCVmRhOEJRbkxUZ3FiYmdraXFLczArbFZ3NWFVbE5URzI5dDdyWHY2Ymc4blQ1NGtMUzJOQmcwYWFPK05IajJhSDM3NGdmRHc4UHMyRGxtV3VYemxLbkZ4Y1VpU1JFYjZvN2xFeThOc1JxZlQ0ZThYUUZCUUdVUlJ6QzluNDVpeldPejJlemRuSG1ZemVyMmVBUDhBZ29MS3VnM2JIZUxzbjM4T2EvNi9KcWZKS2VTU0RqaWs5MFJKRkVWWnI5Y3Bla0NKajQrLytDajBza21TZE52eWR2bmRHQmN1WEtCTGx5NnNXcldLV3JWcWNmTGtTZWJObThmdzRjUEpqUGNManNqSXlOdW1VN2RZckp3NGNRS2RYbzlQb2NKdStiM1VGT0lUNG9uNUxacGFOV3RoTkJweS9lMSsvZlUzUkowT2I1OTdQMmVwcVNuRXhzVVJIUk5OdmJwMTg5MzN1cnVmTVZjY09uZ2dsc3lDZ1ZZNGNEQjdPRUpSQlFVRldaWVJCRUh3Qkl6L1orKzc0NXVvLy8rZmQ1ZGNkdmVtcFlXMkRGR2dTQUUvRkJGL2JCemdGMFVGUkN4WWtDRWdJaFFVRkdRclFnc2lVNUNsSUdKWkFySmt5aXBZaG15UTBxYnBidE9SY1hlL1AyNDBTZE5Tb0dYbTlYaEVhZFpkM25mM3ZOZDhQbG1XMVFOUXVKYnc3bXpxMUtsWXZIZ3gwdExTRUJ3Y2pMaTRPSXdlUGJwU2I2RTY3V0dKL3o3cXhvc1RleUVzdEx5WGRPMzZEZVRtNWo0VXdXUWZiMitFT3BIaGMzbHNsZCsvUTJvRjlBRXZZMkIwQ0VWTEFKZ0ZvV1NHSkVsT0pwTnhKTXFTY1JkYzYzZjNGaDhmait2WHI4TmtNdUhxMWFzWU0yYk1Bd00xQU1qT3luWU5UenN4cmM0TldWbk8rUjF5Y25JZXlwcHBkVzdJeW5iTkJOOURxdVVpN0ZzOGJGczk3SXNISW9PdTZKMnpMSHZldFlTUGwzSGN2UTlQUCttbTBXakJza3lGS1ltSHNXWWFqUmFNbFhFZG5MczBpOFZ5RmVYNzF4ejcySGgyRHdIY1pBUkJjQnpIY1ZhcjlYeEZveE11ZXpTTklJQ1NFaGVYVzBWV1VnSFAzY01zcnR6cjhTckl6OGVONjFkUlZHU3NGRGpENm9URHpkMzlvZjIrbXRoUG83SHdwaE5BSytleEVVU1o3b0ZNZktHa3BPU2NDOWdxODQ1NDJtYUR3UUFydzhCWVdEMjB6VnF0RGpLNURINit2Z2dNREt6Mi9kNjFjd2VXTDFzS2d5RURRVUZCV0xscUxTNWZ2b1RZL3Yyazk0eU5uNEN1WGJ1NUR2SWpiTmV2WFVGeGNlWDBQa1ZGUnR5NGZoV05telo3b3Ziejl1MjAydzZBeGdCZ2hhSkJ1WWNJYkFEQVhicDA2VngwZExUckRLb0ExSktUa3dHQ2hFYXI0Mm1iQTZydis0dUtqRWpYWnlBOVBSM05tbFhmU1ptV2xvWVowNmZpeThsZkl6cTZCUW9LZUdxY2lJaEk3TnE5RHdBd01QYjlHbHUzWlV1WDRQWHVQZXpZVE1UOW1qdm5HNlNrL0FPYXB0RytReWNNL21pSU5IeWRtcHFLaExsemtISTJCUXFGQWgwN2RzS0hjWU5SazAza2Q5cm1pekV2UUM2WGd5QkloSVdGb1gvc0FMUnVIZlBBenNFN2dZWHR1ZlF3clNiMmMvKyt2UmtDYURFaXFObDdiYnlYQmx1VktoSGxXclpzbVFYZ3Nndkd5cHRlcndjSUVuNytnVFdTbTlGb3RQRHpEd1JBSUQwOXZkcSs5K0svRitEajQ0UFdyV05BMDdURUUwY1FCQlFLQlJRS0JXcFM3K0xINVV1UmsxTStnVDlwNGdUVUNnN0diNzl2d2FMRnkzRDB5R0VrSlcwQ3dQZmtqUjB6R3ZYcU44Q20zN2NnSVdFQjl1L2JpOTgyL2xwaisxblZiU1l1V0lqTlc3ZWpmK3dBeko0NUhSdC8zZUM2T0dyZXFiZ3ljOGEwa3NyQ1VJSVFRbEhZaDZJUTNzQ3lMSHVLSk1sSTEzTGFtOEdRQ1kxV1YrUGIwZWpjWURBWTdqc2tQWDA2R1pPK21BQ3oyWXppNG1KMGY0MFBNM3U4MFJQOTN1OWZwZTg0ZXVRd0VoUG1RYTlQUjJob0dFWjk4aWthUGZ1czdWMFV5NVl0UWFiQkFQK0FBTVRGRFVhckYvNEhBQmcyOUNQY0VoaFRSMzQ4SERJWmhlRGdFQ1F1V0FpV1pkRzJiVHQwZStVVktCUUsrUG43bzNsME5DNWR2QWlBcjFoNmVubWhkNTgrb0drYXdTRWhhQjNUQnYvK1czTkYrN3ZacGtxbFF1dldNWkRIVDhERUx5YWdVK2N1angwekM4TXdPSHIwQ0xZay9ZNGhRNGNqT0NRRUFEOGtQL2U3YjVIeXp4bVFKSVhZZ1I4aUpvWW5RczNNek1TMHFWT1FuWjBGbmM0Tll6NGJpOXExUXl2ZERrRVFpSXFLZ28rUEQxaVd4Zm56NTVHV2xsYmwvVnp4NDNMOHNYM2JPV2RoS0FDVzR6aTJMTDlHY0NBSXZrRzlvRUFxSGdBQVo3RllraFVLUlM4WGxObWJsYkUra0NxYVJxT0ZzU0R2dnIrbmFkTW9iRXJhaWgxL2JNZktGVDlpOWRxZjcrcnpWNjljd2VjVDRqSHBxeWxvM2p3YWUvZnN4cWlSdy9IVHFyWHc4L2ZIelpzM01HWHlsNWc3Yno0YU5HeUlUYjl0eFBqeDQ3QjV5M2FvMVdva0pDNlF3cmM1YytjaE1yS01PSVlrU2ZUdTA3Y3NKM1A5R2c0Zk9vU1BodkMwVVQ0K1B0TG5SVy9xZEhJeVh1L2VvOGJXL1Y2MkdkMmlKY3dXQ3k1ZHZJaW9aczBleWZPV1pWbXA5Y2oyM3g4UEg0cGF0V3Jod29YellHd3F4OXUzYlVWcGFTbFcvTFFHT1RrNUdQUmhMQm8zYmdJM056ZUpFZmVWVjEvRGlSUEhNV1BhVk16Ly9vZEt0MStuVGgxUUZJV2RPM2RDb1ZEZzVaZGZSbVptSml3V2k5Tjl0UDA3SmVVZjdOKzNGN05tZjN2bGhWYlJqbUdvYlk0TklvQVJBamhydFZxKzNVTk13aFVVRkp4eXdWaDVxNjVDUVpXMlpUUSs5Tis3WlVzUzJyN1VEcTFieDBDaFVLQnpsNjVvMExBaGRncDg5OTdlUGxpMmZDV2VhZFFJSkVuaTFkZGVoOFZzeHExYi8xVjVHK2ZPbmtYSDl1M1FyMjl2TkdqWUVDKzJmY25wK3haK1B4OHF0UnBkdTczeXdINS9WYlpKRUFTOFBMMWdMREkra3VmczhlUEhNSDdjWjdCWUxNakp5Y0hBMlA3SXllRUY2YjZkTXhmajRpZVV1MW1mT1hNYWJkcThLTnlBQ01qbE5DNWR1aWk5OXVLTFBLVzlMU1B1blc0WW9vZkdjZnhFZ0tlbnA5MTdsaTVaSkZHRHA2VDhnNCtIOHplNEs1Y3ZvV2xVRkc3eHJyK3R0OFk0Q1VmQmNad0VjSEk1YmRlZ3k3MzExbHVud0hmMnVxd1NPM1BtTkRwMWVCbDVlYm1TaDlPdjc3dFBWRTR4TU5DK0s3OTI3VERvOVh6K1Q2dlY0dVRKRTRqN01CYTkzK21GOTkvckk5MXRxMnFObm4wV08vL2NpNS9YYjBSNmVycWRFSWhvSzFmOGlMLy9Qb3FwVTZkWDJ5amNuYXlxMitRNERqbTVPZEErb2oyRXpadEh3OHZiRzE5TytnS2ZqUG9ZUGQ3NFA0bEI1azZNdUdmUHB1Q3pNYU5CSzJqazUrZExyNG1NdUlrSmN5VkczTXFNcG1rd0RBTnZiMi9FeE1TQVpWazd3a2tBZU9mZFB0aTdkdzhTNW4ySHlWOU93dEJodkRCTjNmQUluRHh4M0RoMHlFY1pEaUdvSGJBSllGWk8xSVVVa3NjY0FIYi8vdjBzeDNGSFhkQjFaeXNwS2NHYTFhdWZ5Ti9tNys4UHZVTVI0L2J0VklrYi84QmYrN0Y2MVUvNC9QTkpXTDMyNXdwRFhZSWd5b0dkcWJRVW0zN2JDRk1wVDlvY0dCaUk5dTA3NE15WjAzYnYyN0QrRit6YXVRTnp2a3Q0WUgxWmQ3UE40OGVQZ1piTFVhOSsvWWR5ZkRwMjdDZzlIRm1jeGJXUGl4dU1VeWRQUUVFcnF1enhidDZjaE9YTGxtTGE5RmtJZGNpaFZjU0llNmR3dEdIRGhqaDA2SkJVbGJjMXJWYUxRWU0rd3ZwZmZrYTdsMTlHL2ZyOFdGbVRKazNSdmtPbmt3WkRSbVdneHBiTmlZckJLSy96UU1LZU41eTFXcTB1WUt2aUFkdTdaN2ZrM3R2YXZyMTc4T0hBRDlDdjc3dVlPV09hbEZOSVMwdkRvQThIb1BjN3ZUQnI1blFwcWY5UThvWldxMFNxeWJFc3JGYXJCRUxkWG5rVisvZnZ4YkZqZjhOcXRXTFBudDA0ZHpZRkhUdDFBc0FMakJBRVFGSVU4dlB6cEZDQ1krM0pUQU9EZ25EMHlCRllMQlprR2d6OFhWeWh3RThyVjJEZHVqV3dXQ3pJeTh2RmdRTi9vWEhqeG1XaDhPWWtiUHB0STc2YmwvakFlT3FxdWsyVHlZUy9qeDdCOUdsZkkyN1FSdytsY0pDUmtZR2RPM2RLRDJkTU1rYWpFWjkrT2dwOSt2WkRRRUFBWmt5ZldpbTdzeGhpZW5oNFlOYnNiK0hsNVFXVHlRUjNBZUJGUnR4aHcwZEFMcGRMakxpVm1kbHNoc2xrd3NHREIyRXltVUJSVkRsdGo2dFhyMkw2dEsveDFlU3ZjZlRJWVd6ZHVrVjY3ZFZYWHp2ckpBeGxiSE5zb21OR0VJU1VxM056ZDRkTUtJOXlvbHRYV0ZoNHpFVjZlR2RUcXpYbzJLa0xWcTlhaVM1ZHlnRHErdlZyMkxCaFBSSVNGa0NoVkdMbWpHbll0blVMWHUvZUEzUG5mSVAySFRxaTU1dHY0ZGpmUjNIbzRJR0hzdStPRGJvenBrL0ZqT2xUMGFGakozeit4U1JFUnRiRHhDOG40L3NGaWRDbnA2TjJhQ2htenY1Vzh0aTZkTzJHczJkVEVOdi9QVkNVREs5Mzc0SEl5SHJJeWJVSCtWR2pSbVAyckpsWXZtd0phdGV1alNYTFZvQ21hY3lZT1J1SkNYUHg4N3Exa012bGFQdFNPL1I3bjZkZlp4Z0dzMmJ5WWVBN3ZleTU5MWV1V29PQWdPcHZZcTdxTm9jTitRZ0V3Uk1zZmpKNnpBUHRZN3RidTNyMUN0cTJiWWQzZS9lQjFXckYzTy9tSUNjbnAxeFBvYTAxYlJxRmMrZk9naVJKNU9YbDR1clZxNmduRkg0cVlzU3R6REl6TSszQ1h3OFBqM0xDTFNkUEhNZlljZVB4ZlBQbWVLNXhFeXhidWhoZHUzWURRUkM0ZHYzYXRZcEFEUTVUQnlSSlFTYWpZRFlERkVtVlRSNklIdHRISDMxMGROMjZkZmtBM0Yzd1ZibTk4WDg5MGE5dmI0azFGQUQrL3Zzb1VtLzloMEZ4QTZXN2xsWm9GVWxKK1FjVEJVV2c4SWlhNzZycDFMa0xPblh1VXU3NXlNaDYrT3RnNVRxbXJWdkhWSGpoS2hRS1RQaDhvdDF6QXorTUsvZStGaTFiNFpjTkc4czlIeEVaaWUvbUpUcjlib3Fpc1AvQTRRZDZIS3V5elR1dDEvMmFUbGU5N1VSTm1qUkZreVk4NWJaTUpzTW5Ea3k1enF4TDEyNjRkT2tTK3ZmanE5YkRQaDRoaGVRVk1lSldaamR1M0lDSGh3ZmF0MjhQQURoOStuUzVnc05idmQ2Vy91M3Q3WTFQeDR5VlVuNXhBMk5UbllJYVFiRGdPSllUakNSSmppUUpqaUJJYUxWYUxqYzNoL2ZZYkhPaXYvenlpM1hObWpVSFNKSjh4UVZkRlJ0QkVGQ3BWSGlqWjArc1dsVW1qbUV4VzlEMnBYYVM1Smxqd3JrbUcySmQ5dmdhUlZFb0tqSSswT0Y4eDl4b1pRRG80K05UWllVczIvTTlPVG41bnZiTllySDhyZGZyYmNOUXF3aHVCQTl1bkRSbFFKSWdDQklrU1lCV0tPRHU3c0VYRHh4bXJsaUx4WExRZGFyZEdkZ0FvRWYzTjNBNzlaYjBmSFNMRnRpemU3ZEVEYjU3OTU5SVNmbEhjdWUzYjl2S2g0TkNHZjErVGFWU3V3N0dYYTdOdzF5emlyYnQ1K2VIWW1OaHBhbVBxcVpJSG5hS3BqcmVsNXViKzA4bFlhaERLQ3FNVXBFa1NJSUVTWkpTVlJSQ0lvNEZ3R1ZrWkxpQXJZcW1VQ3JScDI5WnZxcEJnNFlZTnZ4ampCMHpHbS8zNm9rL2QrNUFjSEF3QUdENGlGSFl1ZU1QOUg2bkY3WnQyd3F5R21ZZnhUdTl5K3l0eUZoWTRXd3ArWkRXck1oWUNLcUNGcExBd0VCd0hJdk1qSFNuKzFhbmJzUWR3VUN0MXFCTzNZaUh1dTdWdForblRwNjQ2Z1RVeEVlWm1BdEI4SVVza2lnRE5aSUVvVktwQ0t2VlNyQXNTM0ljUjNFY0p3ZWdZRmwySDRCblhaY0ljUExVS2ZnSDNML3U1NFVMNTFHclZqRGMzTnl3Wjg5dWJOKzJGYk5tZjJ2M25nejliVHgvRjUzc04yN2NSSGFPaTBIWDBUTDBhZkR4OFVabzdmSnN0UStMZFpobjlmVkdtQk1HWGRFTUJnUDBlajJzVmlzS0gyQmorS05rSE1lZGI5ZXUzU1R3SWkyMjRpMUZBSW9KZ2hBMERnaUdJQWlXSkVtT29palFOTTNSTkEyRlFnRVpINTlLZVI4cEhMVmFyWHRrTXBrTDJBRElxaW4vVVZwU2lqR2pSL0hLNzFvdFBoczdydHdkWFM2WDM5VjNob2JXUm1hbUFSbjZOR2gxYmk3TkEyTWhqTVpDTUZhclUxQURnTERRVUJnTUQyN054SDFpR2FaU1VCTkRVajgvdjZmNkdCWVdGdjROSjdrMUFJd1lWWXF0SGhSRlFTNlhnNlpwS0pWS0tKVktxRlFxRUZxdGxyQllMQVRETUFUTHNoVEhjUlFBT2lzcjYyVXZMNitOTGxnRDB0UFRrYTdQRUJnNGFzNE1HZWtJRFBDLzZ5RjRqdU53L2NaTjVPUmtnN0d5S0MxOU9za25WU28xU0lxQ2o3Y1BRa05EN2xpb3VYbnpQMlJtWllHeE1qVzJaaXFWR3BSTWRrZFB6V1ZsZHVMRWlVK2pvNk92QWloR21jYUJrU0NJSXNHTE13djZCZ3hGVVp4Y0x1Y1VDZ1dVU2lXblZDcWhWcXRCdUxtNUVXYXpXUVEyMjNCVXliSnNNb0JhcnFVR1RwMUtCa0VRMEdoMVVGZnpIYjY0eUFoallRRUFybHI1MkZ6bXNzY3dERTBqU1hLa1RSaHFDMndsQUVvSmdyRFJFS1U0bXFZbFlGT3BWRkNyMVh3b1NwSWt4ekNNYlNqS0FXQVlodGxCVWRRSHJ1VUdtaldMUW5wNk9neUdUQlFXNUZYYnNMcE9wNE5NSmtOUVVDQUNBZ0pjQysyeXA5cEtTa3IrZ24wMTFDNFVkY0Fvb1llTnh6Q1NKRUZSRkNpS0tzdXhpVzBmd2xBcEM0QXRMQ3o4MDhQRHd3VnNnZ1VHQnRZSWZiZkxYT1l5M3E1Y3VYTEdBZFNzQUt3RVFkaTFlaEFPZld3aW9Jbi9Kc1h5cURoblpkUFR4bnA1ZWYwSjRMWnJ1VjNtTXBjOWlEQzBTWk1tMXdYd3NqbzhHRnRRQXdCYjdMSUZONHFpSUdOWmx1TTRyb3h0MHNaakE4QmV1M1p0TzBWUkExekw3aktYdWF5R3c5QjlqcDZhQTZpSnpMbWNHRjBLUEc4Y3d6QmdHQVpXcXhVV2l3VXloVUloa3JSSjAvOEMyTEVBR0hkMzkrM2UzdDR1WUhPWnkxeFdvM2I4K1BIa1NzSlFpZEZEOU5Ca01obmtjam1Fd2dIRXdvRldxd1ZwRzV2YWNMTko0YWl2cis5QnVGVGlYZVl5bDlWc0dIcXhSWXNXL3ptQW1nVVZNSG80NXRha0VGUW00eDgyRlFXQ0pFbU9aVmxDaUdGRnNRVEdiRFp2cG1tNm9XdjVYZWF5R3IyNG9kZnJrWkZoQU1Nd01CcWZuc21Ed3NMQ2ZiQnZ5cFVlSE1lSmpia2l3U1JZbHVVc0ZndHNkQS9BY1p3VWpzcHNQVGJCYStPSU1vVVhGZ0NUbHBhMkxTd3NiSXpyMUhPWnkyb08xSktUazhHQmtLWWgvSitpMzc5enh4OW5uSGhyVnZEVEJuYkVraVJKY3BSTUJscE9RNkdnb1ZBcW9WS3FvRktyb0ZGcm9OUHB5a0pSVzNCekRFZnIxcTE3bm1YWm5VL2FZaVltSmtLcFZEN1FiVnF0Vm93WU1RSitmbjV3ZDNkSFhGd2Npb3VMWFZmMlUyNTZ2UjRjQ1BnSEJEMTFZM0ZXcTNWdjdBZnZaOXNBbThYQmF5c2Zob29ENzdaaEtDV0RUQzZIWEM0SEtaUEpSRkRqYkR3MnpvYnRnd1hBRkJjWEo3bE92L3UzY2VQR0lTa3BDZXZYcjBkU1VoSjI3OTZOWWNPR3VSYm1LVGVESVJOYW5kdFQrZHZUMDlNT09RbEJMYWk0ZjAxb3hpVTVpaFNBVGNibjErUXlHZVEwWFJhS09oWVJDSUt3YS8xSVNFallQRzdjdU04QWhMaE93M3V6b3FJaXpKOC9INnRXclVMYnRyeVUyYUpGaTlDeFkwZk1tREZEVW1wMzJkTm5ETVBjazZkMjRmdzVMRjcwQTc3OWJsNk43dCtGQytleGRjdG1OR25TRkIwNmRwS2UvKzIzWDdGcDQ2OEFRYUJ0MjNiNElKWnZvS2hNWVBuTW1kTkltUHNkckl3VllhRmhxZGV1WDcvZzRLMUpZYWlJUDQ0TnVTUkZnaVFkdkRXaFNrclRkSm5IWmh1S2l1R29qZGZHakI4L3ZzUmlzZno2dEoxd2E5ZXVSWk1tVGFCU3FWQzNibDNNbTJkL0F1M1pzd2ZObWpXRFNxVkNkSFEwWnMrZWJRZFFQWHYyUlBQbXpRRUF5Y25KS0NrcGtVQU5BTnEwNFpXMmp4dzU0cnE2bjJJckxDeTRwOC9WYjlBUUU3Lzhxa2IzYmNIOFJDeGRzaGpYcmw1RlVWR1I5UHgvLzkzRXhnMGI4UDBQUzdCMDJRcWNPWk9NNDhlUENaL2hCWlpYckZ5TjkvdC9nQm5UcGtxcG1HbGZUOGFFTHliaXh4V3I0T1BydDJQdm50MFdaOTRhUU5oWFJFVndJMGxRdHVOVEFxako1SExJUmRvaXNUd3F2SW1qS0lwZ0dJWWpTUklNdzBoNU5nRFdXN2R1YmFwYnQrNklwK1ZrKyttbm54QWJHNHR2dnZrR25UdDN4bDkvL1lYaHc0ZERyVlpqd0lBQnVIcjFLcnAxNjRhaFE0ZGk3ZHExMHV1MnlrVTllL1pFYmk2dlAzcjc5bTNRTkcwbnFDR1h5K0h0N1kzVTFGVFgxZTJ5Y3BhZG5ZMnBYMDlHVnFZQkJFbGk4T0FoYU5ucUJhU21wbUxVaU9Hd1dNenc4UERFOGhWbDlQVGpQdnNVYVduOHdGQmVYaDdVR2czV3Jsc1BnRmVGU3BnN0Iva0YrZkR5OU1LWXNlTWtrUjRBV1AvTHo5aTRjWVAwZmdBWU1QQkQwRFNOMmJObTJPM2JQMmZPNFBubXphRldxMkcxV3VIcDRZa3pwMDhqT3JvRnpwdzVqWkVqUHdGZ0w3QnN5TWlBVXFWQ1dGZ2QwYk03VllHM1ppVUlNYjlHY0FEQkVRQkhrQ1JIa1NSSWt1S2tTRk1NUXdWdlRhRlFsZ0diVGE3Tk5oeTFteDJOaUlpNFlMVmFONUlrK2NiVGNGSjk4ODAzK09DREQ2UWNXR1JrSkc3Y3VJSEpreWRqd0lBQldMaHdJUm8wYUlCWnMyYnhkOC82OVpHU2tvSTFhOVpJMy9IMjIyVmlGY1hGeFU2TEZRcUZvcHdzbWN0Y0JnQS9yMXVEeG8wYm85LzdIK0RhdFd0WU1EOEJMVnU5Z09EZ1lQeXlZU011WDc2RXFWTW0yMzFtMmd6K2ZNelB6MFBjd0ZoSmY4TnNObVBxbEs4d1plcDBCQVlHWXNjZjIvSDlndm1ZOVBqTzdyUUFBQ0FBU1VSQlZHWFo1NXMwYlZxT2VmaE9Bc3VabVptWTl2VmtNQ3dEblpBbnRCVlkvdlBQblpMQWNrRkJBUlFLQmN4bU0rWis5KzJXWlVzWFp6bDRhcmJnSm9TaDRQaUhXRFN3U1ovSnlydzFXbWpXVmFtVUlPVnlPUnk4TmpnT3hndTlJZ3dBSmk4djc2a0pSOCtmUDQ4WFhuakI3cm1ZbUJqODk5OS9NQnFOT0gzNmREbXgydGF0VzFmNGZTcVZxcHhLRDhCclZUNE1mVXFYUGZvVzNhSWxkdis1Q3l0K1hBNVRhV21WQlZWWWxzV1hreWFpMnl1dm9VV0xsZ0I0YWNqVTFGdUlIenNHL2Z2MXhabzFxMkRJeUxEN1hMMTY5ZkhHLy9XOGkydmtIQ2FNSDR1QmNZUFFydDMvc3dmWUNnU1c4L1B6TVdya3gvQnc5empreEZ1ekxScEliQjYydVRXS3NnbERaUlJrTXJtTnQ2YUFTcVdHVEFRMnNXdFhERWNwaXVJRUhVSGIyVkhHeDhkbkQ4TXdod2lDYVAya24xUXFsY3JwQ1NQK1h5YVRsVk02cjB5VU5qZzRHS1dscGNqTHk0T0hod2NBd0dLeElEczdHN1ZxdVdqdlhPWUUyS0piSUhIK1FodzdmZ3dyVnl3SFRkUDRjdkxYZC96YzBpV0xvRlFxMGFmdmU5SnpGb3NGQVFFQmRtSHIvWmk3dXp0S1Mwc3grNXZ2NE9ibWhqTm5Uc05kT0s5RmdlV09uVHBMM3FKV3E0V2JteHNLOHZNeGVjcTBveSsvMU9aNkpkNmEyTHZHbG5WcENHRW9qMUdTUXlhWHlVREw1YUFWQ2lpVktxZzFhcEEwVFVNdTlINVVFSkxhRlJFQVdJdUtpbjUrR2s2cWhnMGJsa3ZxSHo1OEdJR0JnWEJ6YzhOenp6Mkg0OGVQMjczdStMZXRSVVZGUWFWUzRjQ0JNcUhrZ3djUGdpUkp0R3JWeW5VVnU2eWNUWnM2QmNlT0gwUDc5aDB3TG40Q2poNDlVdTVtNm1nSER4N0EvbjM3RUQvK2N6c1c0WWlJQ0JRVUZPQ3YvZnVrZk52bXBOL3RQbnY1OGlYODlsdlZnckxuR2plRzJXeUdRcUVBd3pBNGN2Z1FtalRsdFV3ckVsZ09DQXlFdTRjSDhuSnpkMWZrclFHRUhac0hRTmg0YkdWNU5jck9XMU5BcVZCQ3JWWkJxOUZDSmdKYlJVVUVtN1lQYVJLaGZmdjJ2eDQ1Y3VSRGdpQWVlMDBFbG1YeHh4OS9sSHUrYmR1MmlJK1BSOCtlUGZIc3M4K2ljK2ZPT0hqd0lPYk1tWU9KRTNteDRLRkRoMkxldkhrWU8zWXNQdmpnQXh3OWVoVGZmLys5WFZpNWJ0MDY1T2JtWXZEZ3dkQm9OSWlOamNYUW9VT2gwK2xBMHpUaTR1TFF2MzkvU1RIYlpTNnp0VDU5M3NQczJUT3diczFxc0N5TFVaOThDcElrN1lvSCtmbjVlS3ZuRzJqMi9QTVlPMjQ4RXVkOWg5TFNVZ3daL0tIMFBZa0xmb0JPcDhPMEdiUHczYmZmNEllRjMwT3RWbU9VZzQ1bzhxbFQyTGh4QTNyMCtMODc3bHRvYUJoNjlQZy9EUHB3QURod2FOT21yU1FlWHBIQXNrd213N2o0Q2VkZmU2WHIyUXE4TlF0QmlLQW1GQTBJOE40YVJZSWlLVTRtVlVMbFV0OGFyYUNoVkNtaEZpWVBpSjQ5ZXlJL1B4K0ZoWVVvS2lwQ2NYRXhTa3BLWURLWkNKUEpCQnM5QkpMak9Ca0FPUUJsVVZIUkFKVks5ZlhqZk5Ja0ppWlcyQng3L2ZwMWhJV0ZZZG15WlpneFl3WnUzTGlCc0xBd0RCOCtIRU9HREpIZXQyUEhEb3dhTlFwWHJseEJWRlFVV3Jac2lRMGJOa2k2b2oxNzlzU05HemR3NHNRSktaODJZc1FJckYyN0ZpUkpvbWZQbnBnM2I5NERuNEJ3MmFObCsvZnZSM2hrZzZmaXR4b01obStmajJwOEJEejl0NmhyWUFSUEJWNUNFRVFwRDNDRWxWZWhvamlaVENZcVVIRzJUQjRhclJZNm5RNmVucDd3OGZGRlVGQVF3c0xDUVBUdTNSdDVlWGtvS0NoQVVWRVJpb3FLVUZKU2d0TFNVcGhNSnNKc05zTnF0WklzeXhJMmVnajA0c1dMdldKalkvOEFFUDYwbm93cEtTa29MaTVHeTVZdHBlY21UWnFFYmR1MjRkaXhZdy9VNjd4eDh6L2s1T1NBWVJpVWxqeWRJMXBLbFFvVVJjSEwweHRoWWJVbDhsUm54bkdjc0diWnNGcHJiczJVS2hWa01obTh2YndSRmhiNjFBTWJ4M0hYUGhzemV1TGFOYXVMQUpTZ1ROZkFDRjVhcndTQVdRQTJScERXWTRWd2sxTW9GZnhjcUVvRnRVWURuVllMTjNkM2VIbDV3OS9mRDhIQklRaVBpSUJNcFZLaHBLUUVORTNEYkRaRExwZkRZckU0VmtodFExSUdBRE53NE1DQzNyMTcvNlJVS2ljOWpnczhiTmd3SkNZbTNzOEJ3cFVyVjlDM2IxK3NYcjBhVFpzMlJVcEtDdWJQbjQvNGVON3R2cE5La3FQcDlYcjQrOS9kNkxQSlpNYVpNMmRBeVdUUXVibTc1UGVLak1qTnkwWFd5VXcwYmRJVU5DMTNldXhPbkRnSmtxS2cxZFg4bWhVVkdaR2RrNFBNckV4RUM4M2FGZG50Sjd5Zk1UYzNkL1BhTmF0Tk5pR29XUVF5QUJZT1lBZ0hiUVB4UHh6SGdXTTVzQ3dMbG1WNUpnK0J6Y05xdGNCaXNjQmlOc05zTXZQQXBsUXFVVkpTWXBkcms4bGtzRnF0b0NnS0RNT0E0emlKTnB6ak9BWUFzM256NXAvZmZQUE45d0RVZmR3V09DRWhBUWtKQ2ZmMUhUMTY5RUI4ZkR4R2pCaUJ0TFEwQkFjSDQ5TlBQOFhISDM4c1hVQTFiZW42ZEZBeW1Vc3dXVENOUmd1TlJvc01mUnJTMHRNUUZscmVTN3ArNHlaSWlucGdhMmE3VHpkdi9vZlFTbVQ0YWdVSFA4bmUydldsUzVlY2RBQTFtOXhhV1l0SEdhRWtCYmxNMUEzbHE1Nml0NmJWYXVIdTdnNVBUeS80K2ZraE9EZ1lkY1BEMGFqUnN5QTFHZzJVU2lVVUNnVm9tb1p0TVVFb0lvQ2lLTTZtbjAxcy9iRDI2dFVydDZTa1pPWFRmQ0hGeDhmait2WHJNSmxNdUhyMUtzYU1HVk5wQ0ZUZGxwMlYvZFFPVDFkbVdwMGJzckt5bmI2V2s1UHpVTlpNcTNORFZuYldVM3RNc3JPemt4WXZXbGdLKzRLQkNHNFNrNGR0aXdjZmlwS2daQlJIVVE3TnVNS1VnVnF0a2tETzI4c2JNcGtNcEZhcmhWcXRobEtweEwyMGZxeGJ0MjR0eDNFdWh0MkhjZ2U4OStIcHA4RnpZMW5HNldzUGE4MDBHaTBZSy9PVW5xdmN4VzltenpyaEJOVEVmRm81d1JaZTZaMTBtQWZsUjZma0FxaXBWRXBvTkJxNHVibkJ3OU1Udm42K0FBQ1pUcWVUS3FKQ3djQXUxeWFUeVRpcjFVb3dET08wWVRjMk5qYi9yYmZlV3FIUmFLWS80UWNHZXIwZUJvTUJWb2FCc2JCNjJFMjFXaDFrY2huOGZIM3ZXdHFQSUlDU0VoZVhXMFZXVWdIUDNjTXNydHpyOFNLU00wSE1Ud2F1NU4zYmhpTTh3QTJKQWhmbFd5Mi9veUEvSHpldVgwVlJrYkZTSUErckV3NDNkM2RrWkdRa3JmcHBSWVc1TlRocHlDVkprdVA3MW1TY1RFYnhvQ2FUZzZiTGRBNTRqUU1kNzYxNSswQ2g0THNMWkI0ZUhpZ29LSURSYUpTcW9XYXpXUUkzcTlVS21Vd0dobUhFcEozVTB5YmsycXh2dmZYV21pMWJ0cnhCRUVTTEp4WFVrcE9UQVlLRVJxdmoyVTJyVWR1NHFNaUlkSDBHMHRQVHExMEpmdGZPSFZpK2JDa01oZ3dFQlFWaDVhcTF1SHo1RW1MNzk1UGVNelorQXJwMjdlWkN3a2ZaRXBPQnEzbjMvdmtyZVNEbUo0TmIwckZhZHVmNnRTc29MaTY2NDNsOTQvcFZQTnU0NllsM2VyMlo3QVRVbkhwcmtKaHliWWZjNVpETDVKRFRmRE91UXFHQVVxV0NSc05QTTNoNjhYazIwV1NlbnA3SXk4dERZV0doYlE4YmFKcm1xd3dPWHBzTjY0ZWsxcng5KzNaelFVSEJqKzd1N2s4a3NPbjFlb0FnNGVkZk0yTEpZbkxab0U5RGVucDZ0WWt5cDZXbFljYjBxZmh5OHRlSWptNkJnZ0tlR2ljaUloSzdkdThEQUF5TWZiL0cxbTNaMGlWNHZYc1BPellUY2IvbXp2a0dLU24vZ0tacHRPL1FDWU0vR2lJTlg2ZW1waUpoN2h5a25FMkJRcUZBeDQ2ZDhHSGM0SExEMmRWcGQ5cm1pekV2UUM2WGd5QkloSVdGb1gvc0FMUnVIZlBBemtIaWZrRE5CdHlxeSs0RWFyYmc5dC9ObTF1dlhMbHN2WU8zeHBUUHJWR1FVUlFualU3SjVUd2RPRTJYZVdzNkxkdzlQT0R0N1dNM0FrbjYrUGpBdzhNRE9wME9hclVhS3BVS0NvVkN5clU1eTdjNXk3VjVlSGhzWmxsMjI1TUliQVpESmpSYVhjM25ZSFJ1TUJnTTFmWjlGLys5QUI4Zkg3UnVIUU9hcGlXZU9JSWdvRkR3ZDcyN2JVbTVHL3R4K1ZMazVKUlA0RSthT0FHMWdvUHgyKzlic0dqeE1odzljaGhKU1pzQThEMTVZOGVNUnIzNkRiRHA5eTFJU0ZpQS9mdjI0cmVOTmNlOVVOVnRKaTVZaU0xYnQ2Ti83QURNbmprZEczL2Q0UElrNzJCV3EzVlhtNWdYTGpqeDFDcjAxa2c3YjYwTTFPVENQS2hDcVlSS3hjdnN1YnU1dzh2VEMvNDIzaG9Ba0g1K2Z2RHk4b0tibXh1MFdpM0U5Zyt4U21vRGJKd05oYmpkaUJYNGFYeUx3V0Q0OFlrOE9JejFnU1NiTlJvdHJGYnJmWC9QNmRQSjZQNWFOOHlhT1IxNnZSN2RYK3VHN3E5MXc0b2ZsMWY1TzQ0ZU9Zdys3NzZOOWkrM1JXei9mamgzOXF6ZDYvdjM3VVcvOTNxamErY082UDkrWHh3OWNsaDZiZGpRajlEOU5UNjBIZm54Y0hSL3JSdUdmalJJQXBHMmJkdmh2WDd2UTZGUXdNL2ZIODJqbzNIcDRrVUFmTVhTMDhzTHZmdjBBVTNUQ0E0SlFldVlOdmozMzVxclQ5M05ObFVxRlZxM2pzRzQrQWxZdkdpaEhmSGlrMkJGUlVWSStuMFR4bzRaWFQwaDYvWHJPMkUvRTJvSGJCekhXVG1PWXppT1kxbVc1UWhBOHRaS1NvcTVUSU1CcWJkdW9hQ2dvSXk5UTZtQ1JxT0dRcUhBZ3ZtSk9IandMNmpVYW50Z0N3b0tnbytQRHp3OVBhSFQ2ZURZL2xGSmxiU2MxeFlZR0hqWVlyRXNlZEtBcmJvS0JWWGFsdEY0MzkvUnRHa1VOaVZ0eGNjalJxRldyV0JzU3RxS1RVbGIwZS85L2xYNi9OVXJWL0Q1aEhnTUhqSVVXN2Z2eEp0djljS29rY01saXB1Yk4yOWd5dVF2OGRsbjhkaXliUWRlZmZWMWpCOC9UaEtsU1VoY2dFMUpXd0VBYytiT3c2YWtyVWhjc0pBLzRVZ1N2ZnYwaFllSHAzRGlYOFBoUTRmUXNpVlBBdURqNDRPRXhBVlFLbFVTRUo1T1RrYmp4azFxYk0zdlpadlJMVnJDYkxGSWdQdzRtZU1RdmZoM1ZsWVdCc2IyeDVVcmw2dmxSbEphV3JwbS9Qanh0eHhBemVUb3JmRmpVenllTUF3RGtxVEFzZ3dzRmdzL1NSQWVqc3lzVExBY0I2VkNDWlhRM25IczJGRW9sVXE0dWJtWDJ6YXBVcWtRRUJBQWIyOXZ1THU3dzdiOW96S3Z6VmxmRzBFUWxuUG56cTBFY052bGhEKyt0bVZMRXRxKzFBNnRXOGRBb1ZDZ2M1ZXVhTkN3SVhidTNBRUE4UGIyd2JMbEsvRk1vMFlnU1JLdnZ2WTZMR1l6YnQzNnI4cmJPSGYyTERxMmI0ZCtmWHVqUWNPR2VMSHRTMDdmdC9ENytWQ3AxZWphN1pVSDl2dXJzazJDSU9EbDZRVmprZkhST1hBRW9QMGdDbTZqL3dkQ0tZUHF0ZnB3RzljR2hKdkM3bTJqUjQzQTZlUlRBSGpHM084WHpBY0FlSGg0NEtmVmE5SHYvUStxWTI5dUh6dDI3SzhLUERYYjNqVVc0SE5yRkVWeEhNZHhGRVdCWlZsT29WQUl3KzBxZUh0NXdXZ3NoRW9vR09UbDVjRnNNdUhGRjErRVhGNSt1b1FFZ0tDZ0lQajYrc0xUMHhOdWJtN1FhRFJRcTlWU0hzWVpBMGhGdWJhb3FLaXJ4Y1hGUHp6cEYzL1h6aDFRV1Boa0N0cnE5WG9FQnRwMzVkZXVIUWE5UGgwQW9OVnFjZkxrQ2NSOUdJdmU3L1RDKysvMWNlb0pWR2FObm4wV08vL2NpNS9YYjBSNmVqcVdMUzN2Nks5YzhTUCsvdnNvcGs2ZERwbE05a0IrZTFXM3lYRWNjbkp6b0gyRWVnaVZIU05BcU9SZ2Mwcmd2ZlExcU45b2lOSS9yOEw5VTN2cXhDRkRoMlBxMTFPUW1EQVAyN2R0UmQvMytBcTVlRzFYaCtYbDVmMlNtSmlZNitDcG1aem4xaml1VE1vWWtNa29LSlJLbU0xbVVDU1BOY1hGeFNBSVFuQzZGRGg4NkJBR0RJaUR6czE1bzdVTTRLbC9Bd0lDa0pPVFUySHJoOFZpRVdheXJKekE5c0d4TEF1Q0lGaU80d2piWEZ1Yk5tMVdIajkrdkIxSmt1MWMvcy9qWi83Ky90Q25wOXZmZm0rbklpcUtiMFU1OE5kK3JGNzFFK1o4TncvQklieG8yWXN4THpqMWFoekJ6bFJhaXUzYnQ2RkxsNjVRS0pVSURBeEUrL1lkY1BEZ0FidjNiVmovQzNidDNJRzVDZlBoNXU3K1FINzMzV3p6K1BGam9PVnkxS3RmLzRFZkgwWHJFTGpIdnlqOWJmazNFN21mN0lTOG5qZEt0bDJHOVhvdWRNTmJJbmZrRHBpUHAwSDdnWDBMVVhoRUJEcDI2b3lWSzVaajVxeHY0T1oyNzFNWWNya2M3ZHJaWCtZN2R1dzRNSHIwNk9OVjhOWVlBVDlZcTlYS0NaRWdLSm1NVXlxVUlBa0NOMjVjbDRZSGVEWVBEVTZmVHNaTDdWNUd2UVlOOE8vRkN4VURHd0NFaElRZ0t5dkxhZXVIQ0d3aXVERU1JejJFR1ZJV0FDSDJ0U1VuSjVzTkJzT1NnSUNBcHhMWWZ0MnducS95Y1J6YXZmei84SDcvV0FCOG04TlhrNzVBWVdFaG1rWkY0ZERCQTFJdTZrR2JiWkdDWTFsWXJWWnB3cVRiSzY5aXlPQTRkT2pVQ2MyYVBZKy8vdHFQYzJkVDhOblljUUI0Z1JHQ0FFaUtRbjUrSHJadTJTSjhqLzFzYkdCUUVJNGVPWUs2ZGNPUmw1c0xYejgvMEFvRmZscTVBdm41ZVhpM2QxOFVGUmx4NE1CZmFOS2tMSisxWlhNU052MjJFWE1UNWo4d25ycXFidE5rTXVGMDhpbk1tREVOY1lNK2VpaVU3cVpEdDJEb3RycjhNYjJlQzdxSlArVFArY0Y2TXcrcVYrdkJjamtiY0RndU8zZjhnWDE3OTJESzE5UHd6ZXhaK0hyYWROU3JkMjhBYmJGWXNIT252WmI2dFd2WHRoWVVGRGhPRjRnZVd6bUdYSXFpUUZJVXdIRlMzNnhjTGtkQVlDQTBHZzEwV2gzKytlY00vUDBEUU5NS1hMMXlCWVVGaGJqNDd3WGs1R1NESkVuSTVYTDBldnVkOHNBbWhxUzV1Ym5JejgrSDBXaEVjWEV4VENhVEhialplbTBNdzNBY3gwRjRTTk1JQUN5QmdZRUhUQ2JUZkpxbWh6eE5vSlo4NmhTMmJFbkN3aCtXZ0tJb2ZESnFCRUpEdzlEdTVmK0h1WE8rUWZzT0hkSHp6YmR3N08rak9PVGdwVHdvYzJ6UW5URjlLbVpNbjRvT0hUdmg4eThtSVRLeUhpWitPUm5mTDBpRVBqMGR0VU5ETVhQMnQ1S2FVWmV1M1hEMmJBcGkrNzhIaXBMaDllNDlFQmxaRHptNU9YYmJHVFZxTkdiUG1vbmx5NWFnZHUzYVdMSnNCV2lheG95WnM1R1lNQmMvcjFzTHVWeU90aSsxay9JNkRNTmcxa3crREh5bmx6MzMvc3BWYXhBUVVQMjloRlhkNXJBaEg0RWdlSUxGVDBhUGVhQjliRld4a3UyWDRmYkovMEQ1cUpIVmV5TTBiejREOTg5aWtEL2pvTjM3VWxKUzhPMmN1ZkR6OTRlYnV6dE9uamgrejhCV2JoOUtTbjRjTjI3Y0RRRzh6STRGQTFRd1pRQ0FzMWdzMEdpMW5OeEd3MEF1cDVHV25nYVpUSVk2ZGVyQ3o4OFAwMmZPUm9QNkRlRGo2NHVGMzgrSFZxdXpBN1Z5d09idjc0L3M3R3prNWVWSndDYU9XWWtlbTQzWDVoaVMyazBqRUFSaDNyTm56L0pPblRyOWp5Q0lxS2NGMkk0ZE80b09IVHBKellLdnZQSXFqaDM3RysxZS9uOUlTZmtIRXdWRm9QQ0l5QnJmbDA2ZHU2QlQ1eTdsbm8rTXJJZS9EbGF1WTlxNmRVeUZGNjVDb2NDRXp5ZmFQVGZ3dzdoeTcydlJzaFYrMmJDeDNQTVJrWkg0YnA1enlpaUtvckQvd09FSGVzeXFzczA3cmRmOW1rNVhEWDJTREllQ21ZZWtQNDNMVHdQTFQ1ZDcyeWMyckxsTm0wYWhhZFBxdVR3NWpqdnp4eDkvT0JZTWJITnJaaW0zUmhDc1FQbk5XYTFXRGdDVVNpV24wK21rV2RDaW9tSmN1bmdSL3Y0QjZOQ3hFOC9rSVV3WStQaFdQaHBXTGp0YXExYXRjcmsyMFdOejhOcWtjSlJsV1Z2VmVJYmpPQktBdFV1WEx2cnM3T3dmdkx5OEZqNU5YcHR0ejZ2QVl5Y2xuR3V5SWRabGo2OVJGSVdpSXVNalFXamc3ZTE5VHltU3RMUzBqV3ZYcmpVNkFUV1RIYWp4bkdzc1FZQWpTWktuOXBielBXcmkySlNDcHVIdDVZWDY5ZXNMdEVTKzhQRHdnSStQajkxa3pxREJ6Z1BDY3Z3Njd1N3VjTmJiVmtIakxpZlNHMVhVdE92dDdiM2RZckVzZmxwTzBPYk5XMkRYenAwb0tTbUJ4V0xCdHExYjBFTG8wV3JhTkFyYnQvRW56T1ZMMWRQL3BGS3BYYWh3bDJ2ek1OZXNvbTM3K2ZtaDJGaHhsWjBMOTdoL2o2b2F2a00wdGRvK3QxaGFXcnA2NU1pUkYyMUNVSk9EdDJaWE1DQUlnaU9FWm44WnJ6akZ5ZVV5WVJhVWxtWkIrU0YzZ1NYWDJ4disvZ0dTZHVsZGVXd0FYMGdRdlRaYnFuQkhyODIyaUNCNmJTeGZCbU9FU2lsSkVBUjE2TkNoWlczYnRuMmVJSWhtVDlLRk0rQ0RmaUFFN2pWZlh6OGtKQzdBODgyYm8xUG5MaGowSVY4d2FQUGlTMmpYN21VQXdQQVJvL0RseE0veDY0YjFDSStJNEJPbVQ5Q2QvbEd5SW1OaGhhMEw1RU5hc3lKaklhZ0tXa2dDQXdPUm5wNk96SXgwcUFXaUJUc2JHZ1V1TWZtZVowYTVjQTlnYVBWbGhPclVqWkFHNFRtT083MW56NTY5VHZKcXR1MGRqa1VEZm5SS0hKdVN5eUNYQzU0YkxZNU5sUTI1ZTNsNndjL1hyOG95bFU1WFdTNlhJemc0Mks2SVlFdHBKSWFpanUwZlRnb0pWZ0NXZHUzYXBXWm1aaTcwOGZGWjlEaGVKRm9uK1k5dGYreXE4UDI5M242blhESVRBUEx5Y2pGejlyZHdjM1BEbmoyN1VWSlNVcVZ0M1Nsc3lNN0pjUUdiZ3htTmhmRHg5WEg2bW8rUE43S3pIL3lhR1kyRjVRZ0JiSzFaczJZd0dBelE2L1VvS3N5Mzc1UFVBaGhiRzBEdCs5aURiT0J5ZHZWZEYxb050Rm9OYnQ2OHVmSEhIMzhzcUNnRWhZT3lPNStWRVpUdk9BNGN5M0ljeTRKbEdUQ01sWDlZTGJCYXpMQ1lTMkV4bDhKVVdneFRhUkZ1WHI5eTc4QUdBQUVCQWNqTnpiWHoycHpsMm13OU5vZENndWkxV1FpQ0lIMTlmWGVXbHBiT1ZTZ1VIejl1RjRtc211N3dwU1dsR0RONkZLLzhydFZLN1JPMmQzUm5YZFNWV1dob2JXUm1HcENoVDROVzUrYlNQREFXd21nc0JHTzFJclMyY3hBSUN3MkZ3ZkRnMWt6Y0o1WmhFQlphT1RENStmblowZTg4NnBhZm43L2twWmRldWxTUnQwWVFoQWhzREVFUWpNamNJYXBPMFRRTmxVb2xlR2RsZE45ZVhsN3c5UzFUbldyUW9BRWFObXhZOVd1MnNoZHIxNjVkWVYrYm85ZkdzaXpoVUVnb1Z5VmR0V3JWMHY3OSt6Y2lTYkw5NDNTeCtQbjVJVjJmY2Q4WFFGU3pabGk0cU9KUjJxSWlJd0lEN2s3TWhTQUlORy9lSE5kdjNFUk9UamJ5Y25KUVd2cDBraytxVkdxUUZBVWZieCtFaG9aVSt0NFcwZEc0ZWZNL1pHWmwxZWlhcVZScVVESVp2TDI5N3docWo1dFpyZFo5RXlkT1BPQUFhcVVpc0FtZ1pwOVhFN1FNUkNWM3VWek95ZVZseEpHMkFPZmg0UUZ2YjI4RUJBU2dkdTI3V3p2aVRvSWp0Mjdkd3ZuejUzSHQyaldrcHFiQ1lEQWdKeWRIQWp4SExWSUI5QWlXWlFtV1pTbU80eWp3V3FRMHgzSEtHemR1dEFvTkRaMEw0TEZTSHpsMUtoa0VRVUNqMVVGZHpYZjQ0aUlqaklVRkFMaHFKNXAwbWN0cXlOSVBIVG8wT3lZbTVwWUFaQ1hnTlVLTFlLOFBhaXVseDloNmF3cUZncFAwUVRXODBMR0hod2U4dkd6RVdlcld4VFBQUElPUWtKQzdpN0x1OUlhUWtCQkpVTmt4MStiWStpSEtZbkc4MlU0a1dIbm5naUREd3NLT0Z4UVVKT3AwdXFtUDAxRnMxaXdLNmVucE1CZ3lVVmlRVnkwc0hBRGZ2eVNUeVJBVUZJaUFnQURYNWVLeXg4SnUzNzY5S2lZbUpsVUlNOFhRczlSSkNHb1Z2RFZwMEYwaWpSUkNVVnVhYjFHL1FBeEZhOVdxZGRlZ1ZpVmc0L000b1U1emJVNTYyc1JDZ21Odm16aHVaU0VJZ25KemMvdlpaRExWcFdsNndPTjBNQU1EQTZ1TjNkWmxMbnRjeldnMHJnNE9EajRGKzlZT3h4RFVZaE9Dc3M1QzBJcEFqVmQxOTBGUVVCQkNRMFB2YVIrcnBCT24wK2tRRWhKaVIyOWt5N2dyRHFrSy9XMTJ2VzJDMXliMXRva0xzV3ZYcmlVc3krNXhuU1l1YzlsamxWZmJ2M0Rod2oxd1hnR1ZQRFk0eklNSzVKR2NMYWpSQXNXM0dJN3FkS0lvQzU5WEN3a0p1ZWVKRE5uTm16ZXJqb0k4VlpIVDdubnhPZkYxNFNFbThGaWhBNThRd2UyVlYxNUpPM0Rnd1BjaElTR2hBTUpkcDR6TFhQWm9HOGR4MTA2Y09KSDA2YWVmRmpvSlFjdUJtaUNBYkNlblo0c2ZGZUVJTCtSQ2dtVlozQTArMlFIYjNiaDZ2cjYrVGljUmJBU1dZVU1mVHBoTUpoQUVBVUc2VDJvQklmaGZSTFpwMCtaRVRrNU9ncWVuNSt5cWhzVXVjNW5MSG82emR1M2F0VFZ2dnZsbXFvTzM1aXdFdGRxMmRvamhwOER2S0JVTXRGcXRYZWdwVmo4akl5UFJ1SEZqcU5YM1BpRnlWMkNpVnFzUkdocGFib2EwZ3ZsUmptVlpRaXdrY0J6SENnVUYyNmtFMHN2TGEzTnhjWEdRU3FVYTR6cDNYT2F5UjlPeXM3TVhoNGVIbjdYeDFFcHRId1JCbUd4QnpURUVGU1FHeXVYVmJNSE5WOURXRFEwTnZTOVF1MnRnQS9nRWVrVjhiYzdHck1UR1hRSGNPR0VxUWN5M2tRRElWcTFhTFRseDRvUy9YQzd2NXpxRlhQWVVoM3JRNi9YSXlEQ0FZUmdZalk4R1EzTnBhZW5QNzc3N3JtMi9XcmtRbE9NNENkUTRqbU1GUmx5T1pWbU9ZUmc3dmo4eHNoTWZZcFZVb1ZCQXJWWkRMcGZqMHFWTER4YllBQ0E4UE56cHFKV1RhUVJPNkdjVFI2M0VXVkxiRmhEaW4zLytJZmZzMmJPNGZmdjJmaFJGZFhHZDRpNTdHa0V0T1RrWkhBaHBHc0wvRWRndmk4WHk1MDhyVit6S3ljbXhPQUUxMndrRGZteUtJRmdDWVBsMEZLL2VMakIzY0VvbEw4U2kwV2o1bmpWM0QzaDVlOEhmUHdDMWdvTVJYamRjMHRHNFg3dW5iNkFvQ25YcjFrVndjREQ4L2YzaDVlVmxWeWxWS3BXMitUZE9aQUt4VmJZUzNGVXIrQllRYytmT25WTXZYYnEwa09PNFk0L3pDYnBwMHlZb2xjcUtFeFZXSzBhTUdBRS9Qeis0dTdzakxpNU9VbmR5MmROcmVyMGVIQWo0QndROU1tTnhMTXVlUEhUd1lOTEVMeVlVT09UVVNvUkhxUjJvU1hSRUpGZStDbHArdWtEbnBvT0hoNmRFUlZRN05MUmFRTzJlZ1EzZ0ZXM0N3c0lRRkJRRVIyMVNKeXBYb3BxelhRdUlBN2labm5ubW1aUzB0TFFGSE1kZGVWSlA0SEhqeGlFcEtRbnIxNjlIVWxJU2R1L2VqV0hEaHJtdTdLZmNESVpNYUhWdWo4eitjQngzOWR5NWMrdjc5bmtud3dIVWJDdWdKanRRRTNyV1NGS2FCNFZjSnVma3RDaDBySUJLWlQ5bDRPUGpBLytBQUlTRTFMNHY3WVZxQXpZQUNBNE9SbWhvS0FJREF5WCt0a3JBRGJiOWJRSi9tMFFsTGp4TXdjSEJCM0p5Y2hJQVpENXBKMjlSVVJIbXo1K1AyYk5ubzIzYnRtamJ0aTBXTFZxRUZTdFdJQ3NyeTNWMVA4WEdNTXc5ZVdvWHpwL0RxQkhEcTN0M3NtN2V2TG02YStjTzEyRS8yRzRIYkFSQldEaU9zNGlDeHh6SENSeHJGRWVRSklxS2pNak56VUdtd1FBQ3ZOaTBScTJHMldUQ2diLyt3cFl0bS9IbnJwM3c5dmF1OXNiMysvYjc2dFdyaDlxMWEwdmc1dUhoWVNmaFp3TnVZa2dxOXNPeHprSlNBQ1lmSDU5dCtmbjUzd2tMV0tQV3FsVXJUSmt5QlMrLy9ETFVhalVpSWlMd3h4OS9ZTzdjdVFnT0RvYTd1enNHREJnZ3FTMk5HREVDblR0M3R2dU83dDI3WTlDZ1FVNi92MmZQbm1qZXZEa0FJRGs1R1NVbEpXamJ0cTMwZXBzMmJRQUFSNDRjY1YzZFQ3RVZGaGJjMCtmcU4yaUlpVjkrVloyN1VxclhweTl2MDdyVmVaUzFkWlRhaEo2OHQyYlgya0V5SkVteEhNZXg0RGpJWkJUTUpoTlVLalVYRWxJYi9nRUJTRTlQaDFxdGdWcWpRVXJLUDNqbDFWY3hldlFZUkVSRTR2Q2hROVcrbnZmZE8wWVFCQ0lpSXB3cVdqbXJqb290SUFBSUFFNkxDUnpIa1I0ZUh1dU5ScU5HbzlIRTEvUkpOWDM2ZEd6ZXZCa3hNVEVZTkdnUWV2VG9nZTdkdStQQ2hRczRmLzQ4MnJWcmg2NWR1K0tOTjk2NDYrL3UyYk1uY25OekFRQzNiOThHVGROMm5GeHl1UnplM3Q1SVRVMTFYZDB1SzJmWjJkbVkrdlZrWkdVYVFKQWtCZzhlZ3BhdFhrQnFhaXBHalJnT2k4VU1EdzlQTEYveFUxbTY0N05Qa1piR2E1Ym41ZVZCcmRGZzdicjFBSUNyVjY4aVllNGM1QmZrdzh2VEMyUEdqcE5FZWdCZytiS2xpNy80ZlB3cEIxQXJ0UUUzdmxnQVdJUnJsaVVJc0FSSmNBUkhnT000VGlhVGdXVlp6dDNESFFxRkFnUkJRSitlRHJWS0RZcWlvRmFyVWI5QlF3VFZxb1dpSWlNT0hUejRNcm5Fd0FBQUlBQkpSRUZVNkFFYndJOWNoWWVIbHlPakZNdThUZ2JrYmZ2YklJU2s0bVNDQ0c2RVZxdGRXVnhjckZLcFZDTnI4dVRwMGFPSHBJMzR4aHR2WU5teVpaZzZkU3AwT2gxYXRteUpaNTk5RnVmT25ic25ZSHY3N2JlbGZ4Y1hGenN0TENnVUNwaE1KdGRWN0xKeTl2TzZOV2pjdURINnZmOEJybDI3aGdYekU5Q3kxUXNJRGc3R0x4czI0dkxsUzVnNlpiTGRaNmJObUFVQXlNL1BROXpBV0l3Y05Sb0FZRGFiTVhYS1Y1Z3lkVG9DQXdPeDQ0L3QrSDdCZkV3U0JJYnk4L04rK09MejhZZWRoSjRsZDhpcmNTekRpRlJsa010cFVad0ZSVVZGTUFwc3hrb1ZINzFwdEZyNCt2cGkrN2F0eU0vUFIxNWUzcU1KYkFDdmNHVkxJVzdidEd2anNkbjJ0VW5neHBhcDZqSUMwRW5nOXRaYmJ5MVp2MzQ5clZRcWEwekd6M2I2UXFGUVNQbEQwV2lhcmhiZ1VhbFVNSnZONVo0M21Vd1BSWi9TWlkrK1JiZG9pWVM1Y3dBUWFOR2lKV1ovTTZkS24yTlpGbDlPbW9odXI3eUdGaTFhQWdDdVg3K0cxTlJiaUIvTDk4S3pIQXVOb0YxUVdGaTQ3SjFlYisxSCtha0MreERVUmtKUEZEdG1HSWFUeStVYzc1eUFvMm1lTERYVFlJQkdvMFYwZEF2OC9mZFJ1THQ3UUtWVWdtVlpyUGh4T1hyMWVoc05uM2tHNDhlTmZYU0JEUURDd3NMc3RCRWNweEZzaUNoaDQ2MXhBdmlKa3drUW12MUFFQVN4WmNzV1l0cTBhVXZpNCtObENvVWlyaVpPSHBrVEh2cUsxS1NjUFcreFdLcTBuZURnWUpTV2xpSXZMdzhlSGg3U1o3T3pzNnZNNWU2eXB3ellvbHNnY2Y1Q0hEdCtEQ3RYTEFkTjAvaHk4dGQzL056U0pZdWdWQ3JScCs5N2R1ZHBRRUNBWGRnS0FFYWpjY1dFK0hGN1UxTCtjZXhUY3dRMU96WmNvZG1lb3hVS2pwYkxZYlpZUUpFa2FJVUNGRVhCMTljWGRlclVoYnU3QndpQ1FHQlFJSFJhSFJpckZSTStuNGp3OEhCY3ZQaXZkQzA4c3NBR0FQWHIxeStuUmVvWWpqcDRiU0s5RVd4eWJveVFneU1JZ2lDKyt1cXJQRjlmM3lVREJ3NGtGUXJGd0lkNW90RTBYYzUxdm5UcFVwVTRvNktpb3FCU3FYRGd3QUc4K3VxckFJQ0RCdytDSkVtMGF0WEtkUlc3ckp4Tm16b0YwUzFhb24zN0RtZ1IzUUp2OXV3QmxtVXI3ZmM2ZVBBQTl1L2JoNFdMbHRqZGlDTWlJbEJRVUlDLzl1L0RpMjFmd3RXclYzSHE1SW1menA0OXUyZmp4ZzBsTnA1YWljUERSQkNFV2NpcDJiSGhNaXpMeVNnWlpESTVTa3BLT0hjdmJ5aVZTdWgwYmxBbytQK1hta3I1SnR4YXdRZ0xEVU5BWUNBVU5NM3Y2NEVEYU5LMDZhTVBiQVJCb0g3OStoS3dPWHBzRE1QWWVteTI0QVpoRkFOQ3ZzM3VPNGNORzVaTjAvU1NmdjM2NFdHQ1c4dVdMVEY3OW13c1c3WU16WnMzeDZKRmk1Q2VubDdoKzlldFc0ZmMzRndNSGp3WUdvMEdzYkd4R0RwMEtIUTZIV2lhUmx4Y0hQcjM3dzh2THkvWFZleXljdGFuejN1WVBYc0cxcTFaRFpabE1lcVRUMEdTcEYzeElEOC9IMi8xZkFQTm5uOGVZOGVOUitLODcxQmFXb29oZ3orVXZpZHh3US9RNlhTWU5tTVd2dnYyRy95dzhIdlFOUDJUaDZmbm54dlcvMUlFKzBLQmJRT3V5WEVPVk9wWG95Z1FESU9Ta21LVWxwWndhclVhbmw1ZVVLbFVxRmUvUG03ZXVJR2pSdzlEcDlPaDE5dnZJaVE0QlBYcTEwZjgrTTh4ZWZJa1dNd1doSVNFWU16WStFY2YyTVJjVXIxNjlld3FwTGE1TmlHdlZxNllBUHRLcVMyNEVRUkJFSEZ4Y1prbWsyblJ3SUVEV2FWU0dmY3dUclRYWDM4ZEkwZU94T2pSbzhHeUxQcjE2NGNCQXdhZ3ROUjVaOHFHRFJ0dzQ4WU5EQjQ4R0FBd2UvWnNXSzFXZE8vZUhTUkpvbWZQbnBnN2Q2N3JDbmFaVXd1cFhSdHo1ODEzbXRiNFpjTkc1emZUWDM2dDhQc2FOR2lJaFl1V3dHZzBycGcxYzhhZVpVc1hWd1Jxa3FjbWdocEprZ3hRUmhvcG95aE9ybFNDcGhVYzMzd3JpTEtvTlhCemQwZGtaQ1Q4L1B3UUZGUUxZWFhxb0c1NE9KUktKWjU3cmpGK1dMUzBSdGZ0anBvSDkyTVpHUms0ZCs0Y3JseTVndFRVVk9qMWVtUm5aNWZUU3hCQ1YwSUFRRUpnNFNVNGppTnROQlBrSE1jcEFDZ25USmpnSGg4Zkg2dFNxWWE0VG4wK1VYemo1bi9JeWNrQnd6QW9MWGs2UjdTVUtoVW9pb0tYcHpmQ3dtcFhHcTV4SENlc1dUYXMxcHBiTTZWS0JabE1CbTh2YjRTRlZVd1J0bi8vZm9SSE5uZ2c2MVJZV0xoc1F2eTR2VGJocHpOUXMyWHNzSWlNSFdKelBVWEpPSUhlbXdjMXBiMjRzYWRubWNwVWFGZ1k2dGR2QUY5ZjN3ZDJMdFFvQjVxL3YzKzU0WGduRlZMWTVObWtTcWx3d2RyMnVJbUZCVXlaTWdVblQ1NzhZY09HRFdhMVduM1ByU0FkT25UQW4zLysrY2hjbUhxOUh2NytkemY2YkRLWmNlYk1HVkF5R1hSdTdpNzV2U0lqY3ZOeWtYVXlFMDJiTklWWW9YTUV0Uk1uVG9La0tHaDFOYjltUlVWR1pPZmtJRE1yRTlGQ3MzWkZkcnVHK3hrTENncCtHRHBrOFA1TGx5NmFLd00xbEZWQUpUMVFnVGhXVUpvaUlJeE9TYXdkSkNWUWYxTVU1RElaeFBsUXRWSUZzOGxVNDcvdGdRRWJ3SXZCaU9CV1dYVlVySkFLdld5YzFXb1Z3WTJ4RFV0RmNOdStmVHMwR3MzU3dzTENVcTFXT3hLQThtNzNiZGV1WFkvOWhaeXVUd2NsazhFL0lBZ3VBelFhTFRRYUxUTDBhVWhMVDBPWUV5TFY2emR1Z3FTb0I3Wm10dnQwOCtaL0NLMUVocStXVFp0Uk5WdHBkbmIyNGxZdG14OUdlZmJiaWp3MUt3aUNJUUNHRUR3MUdVVnhNcG5ncVlsRDdXbzF0Qm9OZEhha2tZR29YVHNVa1pHUkNBMExlK0Rud1FOaHJRMFBENjlJWUZrQ09KdTdxWlJyczFxdDRtdE93UTBBZERyZHF0emMzR0lQRDQvaEFIeWZ0Z3M1T3lzYldqZDNGNkk1bUZibmhxeXNiS2ZBbHBPVEE5MURXRE90emcxWjJWbVZBbHNOV1paZW43NDgrdm1vVTdDZi9YVDAwdXhCRFFLb0VTUkhFaVJIa1FKYkIyMURHQ25NZjJvRnZRSStCUFZEclZwOFh1MWhnTm9EQXpZK2FkbkFLYkE1ZW0yaTV5YUNHOEFQQ0ZjQ2JweW5wK2ZHakl5TUlsOWYzNDhJZ29oNFdpNWVqcnYzNGVtbndYUEx6OHR4K3RyRFdqT05Sb3Y4M0p4NytpeVJuQWxpZmpKdzVlNjY5RGx3VjIrYXNsYTMvbS95K1R0NGFxWnlvRVlJb0VZU0FndXVESEk1elNsb2thbERBRFdKQmRjTGJqb2RMT1pTNU9WbUl6TkRnOHlNTktmckVGWW5IRzd1N284L3NBRkFvMGFOeW9GYkJjQW1nWnVZY0tzSTNNUy8vZjM5LzdoKy9YcEI3ZHExNDBpU2pLNStFT0haVFEwR0E2d01BMk5oOWJDYmFyVTZ5T1F5K0FtMHlIZDFzaE5BU1ltTHk2MGlLNm1BNSs1aEZsZnUrWGdsSmdOWDd3N1VXSEFuejVYY1d0ODVkZloxbEovOXRHL3BzTXVwbFFjMW1RQnF0SUwzMUJ5TEJhTElzZFZpZ29lSFI2WEs3VVZGUnR5NGZoV05telo3TW9DTklBZzBhdFNvUXEvTkdaalllSEJPd1UzNFhvN2pPSzVPblRxSGs1T1Q4NTU3N3JrQkZFVjFyazVRUzA1T0JnZ1NHcTJPWnpldFJtM2pvaUlqMHZVWlNFOVByM1lsK0YwN2QyRDVzcVV3R0RJUUZCU0VsYXZXNHZMbFM0anRYOGJDUGpaK0FycDI3ZVpDd2tmWWlMc0VOUXZIL0htdzhHSlNuNHlGR1RiaHArUHNaNGtBYXVaeU9UVTdVSk9ERmdTT2xRcEJMay9qV0FIMVEyQlFFSXdGZVpXQ211MDUvMFNFb3FMSjVYSUozTzdnc2RubTJ5b0NOM0h3bGhORDA2aW9xSE1iTjI2YzFhMWJ0MHlhcHZ0V3h6N3I5WHFBSU9Iblh6Tml5V0p5MmFCUFEzcDZlclZ4VTZXbHBXSEc5S240Y3ZMWGlJNXVnWUlDbmhvbklpSVN1M2J2QXdBTWpIMi94bzcxc3FWTDhIcjNIblpzSnVKK3paM3pEVkpTL2dGTjAyamZvUk1HZnpRRUZFVUJBRkpUVTVFd2R3NVN6cVpBb1ZDZ1k4ZE8rREJ1c1BSNlRkaWR0dmxpekF1UXkrVWdDQkpoWVdIb0h6c0FyVnZIUEpxZUttditlVTMyb1YxZjVQMVdVQW1vbGZQVUJBTFlDa0NONzFWVHFrUVJGbDBacVBueGJSMWhvV0hJejh1dTBlTlVWU01meGthVlNpVWFOV3FFOFBCd0JBY0hTMExNdGx4dVlyT2ZRcUdReEZWbE1obG5JOFRNMkhLNUNUbUNVZ0FsYjd6eHh1MG1UWnA4YXpRYXZ4RmV2eTh6R0RLaDBlcHFmRjAwT2pjWURJWnErNzZMLzE2QWo0OFBXcmVPQVUzVDhQSHhrVHhuUVFxdHdwblk2ckFmbHk5RlRrNTJ1ZWNuVFp5QVdzSEIrTzMzTFZpMGVCbU9Iam1NcEtSTmZQakVzaGc3WmpUcTFXK0FUYjl2UVVMQ0F1emZ0eGUvYmZ5MXh2YXpxdHRNWExBUW03ZHVSLy9ZQVpnOWN6bzIvcnJob1Z5MDNqOTJoOXZvLzBsL2V5VjBoYkpUQkFCWWM2MUYzN2UrTnZIM0wvSit5M2ZJcFJVTGo3THFweTJvZ1dCZ1UvMmtLRms1VUFNSFpHWm1vcmk0V01xcCtmcjZJaWd3Q0tHaFlhaFh2ejVvWVZSS1BNK2FOV3VHamgwN29uMzc5Z2dLdXJzcTlJb2ZsNlAzTzczd2RxK2UyTHBsYzVrM2FyRmc5cXdaNk5mM1hmVHYxeGNIRHg1NCtCNWJtWmVpUWFOR2pad054WmNMUzBXeFZkaFVTNFVUMG5GQ2dSUEQwbi8vL1pmVjZYUXJNekl5OUw2K3ZvTUlncmhuVVdZclkzMGd5V2FOUmd0andmMVR1Sncrbll4SlgweUEyV3hHY1hFeHVyL0doNWs5M3VpSmZ1LzNyOUozSEQxeUdJa0o4NkRYcHlNME5BeWpQdmtValo1OVZucDkvNzY5V0xac0NUSU5CdmdIQkNBdWJqQmF2Y0JmYk1PR2ZvUmIvL0ZDdHlNL0hnNlpqRUp3Y0FnU0Z5d0V5N0pvMjdZZHVyM3lDaFFLQmZ6OC9kRThPaHFYTGw0RXdGY3NQYjI4MEx0UEg5QTBqZUNRRUxTT2FZTi8vNzFRWSt0K045dFVxVlJvM1RvRzh2Z0ptUGpGQkhUcTNPV2hNTE5vK2pTR2NWa3kySndTSVp6aHJ2MW56bHJ6d3MydnpzSmVUY29abjVvUWZoSldnQk5CamVVZEJ0S21VQ0RuYUtGUWtKK2ZEMFpRbXFKcEdsNWVaWjVhYUJnUGFvNlNlWFhxMUFGRlVkaTVjeWNVQ2dWZWZ2bGxaR1ptMnBGR09NNjlpbitucFB6RG4yUExWOEJrTWlFdWJnQ2ltajJQb0tBZ2JOKzJGYVdscFZqeDB4cms1T1JnMElleGFOeTRpVVF0bnA2ZS9uQThOdEYwT3AxVHo4M1QweE02bmM0WnhiaWRNSXlvbitEZ3Vaa0Z6NjBVUUxHL3YvOGYvLzc3N3lTR1lmYmU2MzVXVjZHZ1N0c3kzbi91b1duVEtHeEsyb3FQUjR4Q3JWckIySlMwRlp1U3RsWVoxSzVldVlMUEo4Umo4SkNoMkxwOUo5NThxeGRHalJ3T1EwWUdBT0RtelJ1WU12bExmUFpaUExaczI0RlhYMzBkNDhlUGswUnBFaElYWUZQU1ZnREFuTG56c0NscEt4SVhMT1JEQkpKRTd6NTk0ZUhoQ1lDbjBqbDg2QkJhdHVSSkFIeDhmSkNRdUFCS3BVbzYwVThuSjZOeDR5WTF0dWIzc3Mzb0ZpMWh0bGdrUUg3UVpqbHJnUGJENS9rYkwydmQvL2Z0Yy9OZnVQbFZDdXdaYjRzZEhxVUUvekFEaEFVRXlrQ056K3h3VnF1Rms4bDVDdis4dkh6STVES29WQ3JVQ2F1RHFHYlB3OHZiRzFxdEZyNitmcnluRmhhRyt2WHFRNnZWT2wzWHRMUTB5VmxoV1JhZW5wNTI3MW02WkJIV3JGNEZBRWhKK1FjZkR4OEtBTGh5K1JLYVJrVkJvVlRDemQwZEw3endQNXc0enVzOG5UbHpHbTNhdkNpY1R3VGtjaHFYTHBVZGgxa3pwejljWUFNQWQzZDNDZHhDUWtMc3dPME9GT08yWVNrcmhLYmluVW9FdHhJQXhjODg4OHlwbjMvK2VVcHBhZWx5VnhyNnpyWmxTeExhdnRRT3JWdkhRS0ZRb0hPWHJtalFzQ0YyN3R6QmgwTGVQbGkyZktVa2xmYnFhNi9EWWpiajFxMy9xcnlOYzJmUG9tUDdkdWpYdHpjYU5HeUlGOXUrNVBSOUM3K2ZENVZhamE3ZFhubGd2NzhxMnlRSUFsNmVYakRXY0JLOHdodmd5ak5RZFk1QWlTZTFPdUhYNVN1Ny9UYm1sZ09vT1FKYkNRR1VBb1NaZjhCS0NLcFNKTUNSSURpYXBqbVNKRkZTWE13VkZCVEEzY01kT3EyT24vMTBjNE83dXp0VUtoWGMzTno0bkpvQWFyb0tSRmhvbWdiRE1QRDI5a1pNVEF4WWxwWDREa1Y3NTkwKzJMdDNEeExtZllmSlgwN0MwR0c4ZmtQZDhBaWNQSEVjUnFNUkJRVUZPSGZ1ckhUVHo4L1BoMUtweE5tektmaHN6R2pRQ2hyNStma0FnS1RmTnlFOFBPTGhoYUsyNXVIaGdVYU5HbFY2RW9uL0Z4NGNRUkNFeFdMaGJPc01MTXR5dHYxdFlsZ0tnT3ZkdTNjYWdJVHM3T3diWGw1ZWd3RGNjNGIrd29YemlCc1lpMlhMVnlJaU1oSkxseXpHNXFSTmtwZFNrWDAzNXhzY1BuUUlPVGs1bURqcFM3UjVzZTBqQ1d4NnZSNFJFWkYyejlXdUhRYTlubWN4MFdxMStIUFhUa3laOGlXTWhVYTdNS0txMXVqWlo3SHp6NzFJVDAvSEY1K1B4N0tsU3pCZzRJZDI3MW01NGtmOC9mZFJKQ1FzY01xWlZ4TlcxVzF5SEllYzNCeG9IMUlQSVZka1NiODhmL2VxaHNlR25NSXhpZnhSQkRaVEJhR25CZUJFcFhhR0FNRUp3QVlLQkNlWHk2RlVxcmk4dkZ4UWxBd0IvZ0ZDOVZNSE56YzNlSGw1UWEvWHdOUExTd2cvRzl5eEYwME1SdzhkT29TbVR1aUp0Rm90QmczNkNDTkhETU03Ny9aRy9mcjh2R3lUSmszUnNWTVhEQnM2R081dTdsQ3IxRkNwVmRMbk5tOU9Ra2xKQ2FaTm40VjUzMzBMQU1qSTBHTnowdTlJblAvOW93RnNBT0RwNldrSGJqWWdWZzdZeEdPTHNpWmV3bWF1VkFRNmFhNE5BQ3VTNG5sN2UyODZmLzc4alhyMTZ2V2pLT3JsZTkxZnVWeU92LzdhajRqSVNCdytWRFhPOWhFalA4R0lrWjlnbk1CZytxaWF2NzgvOUE1VVRMZHZweUlxaW05Rk9mRFhmcXhlOVJQbWZEY1B3UUlQM1lzeEx6aTlJVG1DbmFtMEZOdTNiME9YTGwyaFVDb1JHQmlJOXUwN2xFc0FiMWovQzNidDNJRzVDZk5ydEpIelhyZDUvUGd4MEhJNTZ0V3YvOENQajVXeDd2dGJmMzV6dHgvalUxR0pPcnQ5Z1lDUWV0UUFnaVVKZ2lWQWNDVEhnZ0xKeVVCQ0pwTnorZmw1Y0hOM0IyTzF3bURJd0xQUE5TNmJLUER6aFZ2cUxmajYrcUYrL2YvZjNwbkhSMVhlKy8vem5HWDJ5YjRNeVlTRWtJUmN0dUNsd3JWaVhTNHVWRnNwdUsrWHFxMC8vZlc2SWxhOXJiVjFCWmNxeXExNlJhdTFldVVWYmRVZjlkNjZ3cjBnb2xHSkNZUWtKQ1FrSVNHUVpTYVptYk04dnovT2VVNmVPWmxKUUFGSnpQTjZIZVprTXBNWnpweDVuODkzTDBmcUtNZUlOWnY5N0xQUEFCanppTzJkcUJzYUd2REEvZmZpbnQvZWk3WFBQWXZKaFVVNDIxVEtsMTUyT1M2OXpFaHN1T2JxbjJMcTFCTEx5bk83M2JqbnQvZENFQVJFbzFHa3BxYmlyVGZmUkgrb0g5ZisvSnB2M3hTMXcyM216SmtvS1NsQlFVRkIzRmkvMU5SVXkrZm1kcnVaYVVyWjNGS2JXY3I4Ym9yTk5CMWdwdW1xVmF2dUhoZ1llUExydnRkL21ENERIMys4Q1hWMU94RGcwak0rM3J3Sks1YmZZdjM4NkNPcnZyWG8yWWhmRHJPN01RQlFYYmZhU2dIQTJlZjhDQjkrK0Q2MmJQa1lxcXJpdmZmZXhWZlYyM0RHbVdjQ01BYU1FQUlJb29qZTNoN0xSMEwxK0tEUHBMdzhiTjYwQ1lxaW9NdU05anFjVHJ6NHh4Znd5aXN2UTFFVTlQUWN3SVlOSDJIMjdObERwdkNiZjhVYnIxZmlzY2RYSDdVK2RRZjdtdEZvRkI5djNvUUg3cjhYUDcvMnVxTWVPT2pUQnArOS9mSGZyVDM3YjNlTVpub09BSWlZMDZSaUFCUkN6SUhHRkxvZ2lWUWtBcFVnVUJrQ0hFU2toQUIrZndyeTg0T1lWdjRQY0xuY2NMdmN5TWpJUkU1T0R2THo4cEdlbG82OHZMeFJvUVlZRVZRbVJCd09COUxTMG9ZMWFmMTA2eWU0L1pkMzRwUlRUOE1qanoyQm1xK3E0NEtIaXFMZ3BSZi9DRUtBV2JObVd6NWsxUXhrOVBRY1FFTkRBOHBLeTNEVjFkZmdsVmZYWWUwTEx4NDdpbzAzUzJmT25EbE1zWTJ3VVdJc0VFS3NOdU9ta3FOY2dxL09lclFEMEcrLy9YYjk5dHR2LzQrV2xwYTYvUHo4ZnlHRUhIY283OU1oeS9CNlBIanhqeTlnd1VrbjRhdnFiV1BHaDJaUDBIM3dnZnZ3NEFQMzRmUXp6c1MvL2VwdWxKYVc0ZGUvK1MzV1BMVWFIZTN0bUZ4WWlJZFdQV0pOTTFyMHc3TlJYYjBOVnkyN0FxSW80ZHpGUDBGcGFSbjIyOHFGYnI3NVZxeGErWkJ4Slo0OEdjOCs5d0ljRGdjZWZHZ1ZWai94ZTd6NnlwOGh5ekpPUHVWVVhQa3ZQd1ZnNUNtdWZPZ0JTSktFaXk4OEw5NU1mT2xsQkFLSFA1ZndZRi96RjlkZkIwS0F3c0lpM0hMcmJVYzFqMDBIL2J3aHNyZnlsSmI3NnRBNGxPSmtVMnJXTGNGUUh6VUFSaVVCaUE1UUtnQlVwSVJLZ2dCUkEyUWlVaWNrT05QU2gyby9mVDRVRkJRTTVhbVpnWUlkTzdZUGkzNG1XMDFOVFVoTFM4UENoUXNCQUo5Ly92bXdtUjhYWERnMDdDZ3pNeFBMYnh1YWY3Qng0d1k4L3RnanFLZzREZzg4dU1xQzVLSWZubzI2dWpvc3U5SlFjNys0NGNaaENsczZGcjk0cWFtcG1EVnJsdFVPaFJCaTNmTDczSDBXM0FCUXJxcEI1M3h3aVV4VHJhQ2c0TVBYWG51dDdweHp6cm5BNVhJdE85ajNxS2dxVHZ2bmhmajlZNC9naGh0dnhoL1dQSFhNSGNjenoxcUVNODlhTk96KzB0SXlmTFJ4NURtbUo1NjRJT2tYMStsMDRxNS8rM1hjZmRmOGJIamZ6M256L3lsaE04U1MwbEk4OXZqcWhIOWJGRVY4dU9GL2orcHhPcGpYSE8xNGZkUGw5eWZQa3h3SWgvLzAycjRQMzcvclFHVWZaM3JHRWdITjlLY3BBRFdnUmcyZ0VRcWRnRklDUWtVUUtpb2FKQUF5a1F5b1FZYmI0ekdTYi8xRFByWHM3QndqcGNQTVUvdmU5dzYrV3RHcTJQbWFhOEdDazdCZ3dVbkQ3cGNrQ2JmY3VuekU1eDZUWUdNZk5BODMrNVlBY0JiY0ZFV2hab1VDSDFTZ1hLVUNVMjhhQU8zODg4OXZCZkJrYTJ2cmwzbDVlVmNTUWtadHdxNXJHcjUvNGdJME5UWEZSWG9FVVlSK0JKdDNUcXp4dVVSUlJEZ2Npc3VYMUhYOWkxMjdkbFdlOG9NVGQ0QkxaeG9CYWpFeXBOSllkdzZkQUdhUWdFQUVvUklFeUJBc3FMa2d3K1gwd09QendlZnpXVDYxbkJ5alRLcW9NSEdlV3FMbDhYZ3hNQkErcU1jZHlTVWR5eCsyMSt2RjdObXpJWXFpdFkwQ09tb3FPQll4dFFjVm1HMnEyMDFUQUZvd0dQeGc3ZHExWDExd3dRWG5lVHllbjQzMi9qSXlNdkIvZi9HdjZPZnkzUEx6ZzlqZDNJUllMQWFxNjZpdHJVRmhZZEVSTzBadXQyZUNDb2Q0Ykw3Tlk1YnN0WE55Y3REUnNkY0NXeWpVLy93ZlgzaitvL3Z2dXpka1UybDg1SlBmZUtpWlppZDBFMmpVaUh3S1ZBS0JURVRxZ0FnSFpMaUlETGZEQTA5SkRueG1TZ2VER3QvOTFwNm1rV3hOS1M3QnJzYjZFZUhtOFhneHBiamt1d3Myd0NpL3NzUE5EcmtFSmlwVGIvWXFCY3I1M3BocHFwdW1xUVpBWGJac21iWnMyYkpuNnVycVBpMHVMcjVFRk1WRHlzbkl5OHZEcWFmOU15Ni85Q0trcEtSYVpVeEFmTHJIVjlYYjhNVGp2OGY5RHp5RXFTVmYvME5PZEtXZldFRFlITktiYUFuZjBqRUxoL29oSmtraG1UUnBFdHJiMjlIUjFycGhkMHZyMjB1WExHNUtvdEo0bnhvTGpNV0dWSm94UmNxNGNCczFuNElnVWtrU0lVbG1odzZIREFkckVtbk9LR0Q5MUN6ek16L2Z5Rk9iVm41SXFUWXBxYW1vT0c3dXQvNzVIOUdaQjRkelVVcXQrUWt0TFMzbzZPaEFWMWNYZW5wNjBOdmJpM0E0akhBNGpFZ2t3by8vSTl6Z1pxTHJPcHVsUUFDd2VRcWlDWGlaVXVvQTRBRGdCT0FzS1NseGJkbXk1VWVOdTNaZG1SczRPb00vOTNic3dkeEQ2UERSMU5TTTd2MzdKenJvRGp1T2Jjakt5a1JoZ2s0VFRjM042TzQrK3Nkc2IwY2JNak16VVpTZzBTU2xkRTluWitkL3pwa3o1NU9Pamc3RkJyVm9Jb1VHSzlwSlZCaU5JVFRURXFGc015dDBJRWtTSk1tYVV3QW5CemFQeHdPLzM0KzB0RFJrWkdRZ056Y1grZm41bURKbHloR3RKZjVPS3phTHdJUmc1c3laN0FNYXB0enN0K1kyTEdKS0NLRW0zTUFyTjJhYXdwaEdyd0ZRNit2cjFZeU1qTW9ubjN6eWt3VS9PR1Z4UmtibWxVZjZpaTdMOGlFOXA3QndNcnE2T3JHM293MCtmOHJFeklOUVAwS2hmbWlxbWhCcUFGQlVXSWpPenFOM3pOaDcwalV0SWRUQzRmRExiN3p4eGtlWFhYYlpnVkZVV3BSVGFOWkVkbE9sYVNiTWRBNW1Sc2RiMmRiSzI4MzFValBiZVdkblp5TVFDR0R5NU1rb0tTbEJlWG41bUQ0UHhveGk0MWREUXdQcTYrdlIzTnlNOXZaMjdOdTNEL3YzNzBkZlh4OUNvUkRDNFRBR0J3Y3Q1V2JPWENEY0dFQmV2UW1tZWhOTTBFc0FKRTY5V1FydS9RODJWRXdwTGw0cWl1S1pSK0wvMWJtM0haTUN1WWZjdG9oU2lsMU56ZGkvdnh1YXFpTVMrVzQybjNTN1BSQkVFVm1aV1Nnc0xCaFZiVFEzNzBiWHZuM1FWTzJJSFRPMzJ3TlJraElxTlVWUi9ydXFxdXEvNXMrZjM4SUJMUm5VRXBtZDZwRFphUUhObUUxZ0FzMG9aSTlYYUY2djE0SmFSa1lHc3JLeU1HblNKQlFXRnFLa3BBUlRwMDRkOCtmQ21BUWJBTFMwdEdEbnpwMFczRG83TzNIZ3dBSDA5dmFpdjc4ZkF3TUQvR2kvWVhEVE5JMll3NXZabUQ4R04yYWVzcEYvTWc4M0FNNVBQcTFha0pPVGUvN2g2dFE3RUE0aDFOOEhnQjcyUnBNVDY5aGJ1cTV2Yld4c2ZMdTB0TFRXVkZ4MmxSWkxvTktVQkNwTjV6WnFXakJKb2VZeDB6bjgxbnlDZENQeWFVS3R0TFFVQldZbHlWaGYwbGg5NHdVRkJUQ3JEbUFXeFZ1M2ljeFYwMFNsZ2lBUVFSQ2dLQW9saExDR2wvYkFnaFVwSllRdzA5UTZBWStmZTl6N0pTVWxteDUrK09FelVsSlN6aWVFZkczZDd2ZjdJVWtTOHZJbUlSQUlUSHpyeC9HaWxPNW9iMi8vNjhLRkM2dHFhMnNaek95K3RKak5oOFpEelJZY3NJWVhVMUVVcVNpSzF2ZEJsbVhLZXU0eHFIbTlYZ3RxUnBEQWJEdFVXSWl5c3JKREh2MDRBYllqdEhKemM4R2FVUEtBU3dRMXp2ZkdaaUVTUlZGQUNHRUp2WlFPRFRYVmJXa2hHZ0RWbkcrcW1QNDM1ZHh6ejMzcmpqdnUrUERXVzI4OVBTMHQ3WHhDU1BIRTEzZGlKUURhcnE2dXJyL2VmZmZkVzllc1dSUGxUTWxZQXRPVDNTcDJzNU9kaTh5WHhpYXkyMVdhTE1zVzBPeFFZd0VDbHM1UlZGU0Vzckt5WWUyRXhyd3AydFRVTk9iL0U1RklCSTJOalZhMGROKytmVmEwTkJRS1lXQmdBSU9EZzRoR281WlphaGJvRWxZenljeFNMbXBLYkthcFNDbVZtSW5LK2Q4Y0FKeTMzSEpMeWhWWFhMRXdKU1ZsNlRkcGFqbXh4aFhRR3ZmdjMvL21talZyUG4zMjJXY2pIS0NVSkVDTGNiQ3pSenVaVXJPaW5jejg1S3dVcTlzMFUydDhvQ0ExTlJWcGFXbm0zTThBQ2dvS1VGeGNESmZMTmU2Ty9aajFzU1U0aWJCanh3NDBOalppejU0OTJMdDNyd1U0RmxSZ2dPUDlic3ozeGdHT21GMTlDZk8vSVQ0MVJJUVJYRWdFT01meTVjdjlLMWFzT0RVakkrTmNRc2lNaWEvM2Q5S0hWdFBaMmZtM1gvM3FWMVhQUFBOTWRBU2cyVGZGTkR0VkRtWWFiM2JhVlpxcDFPS0FsaWp5eVlER1VqbUtpNHN4YmRxME1adk84WjBCRzF0TlRVMW9iR3hFYTJ1cnBkNE9IRGlBdnI2K3BFR0ZCSUdGdU1ncFUyOE1jaGpLZlVzS3VPTGlZc2ZHalJ0UHlzM05QVnNRaEJNbXZ1N2pmMm1hdHJtbHBlWGRrMDQ2cWJxMXRaWEJpUWVhY2hCQVk4K3pBZ01BS0IveFpDcU5EeEFrQ3hLa3hFMW5EeUFZREtLNHVCaEYzOUlnNHdrZjI5ZGNSVVZGZkZ1ak9CL2NLQUVHZGlWazZvMXFtbWJsdmNITWRUUFZXMXh3d2VaL2l3RndORFkyT3ZMeTh0NEY4RkZkWGQyY29xS2loYklzLzNqaTZ6LytWalFhZld2Nzl1My9NMmZPbkYwY3pIaVZGa3NBTlNVSjBQamdRRnlTTGEvU2VMUFQ0WEFNODZjeDA1TlA1eWdvS01EVXFWUEhWWkRnT3dNMndBZ3E4SDNiWEM0WCtKUEFEcmRJSkdJQkxoYUxXWkZUQmpjdXVFRDRrWCtzUXdpTWZDSVZnR0lxT0F0d0FCeGxaV1ZiQUh6KzdydnZ2anB2M3J3ZitIeStzd0VFSjVBd3BsMGZyZjM5L2UrOC8vNzdueTFldkhoZkVxQWxncG95a2tJekw1aDhsQjRzcHNXdGtKVHlBQUFUVGtsRVFWVG1CdWk2VG5WZGg2WnBWbDh5UlZHc0JIV202QndPQjhMaE1OeHVOL3I3KzlIYjI0dnQyN2RqKy9idGgrVVkrUDBwRUVYQlNobVpNRVdQb3QrdHJxNE96YzNOYUd0cnc5NjllN0YvLy80Ui9XNW1LVmJDNEFLWDFBdlROR1dsV1hGQkJwdUp5cHVxTWdESEpaZGM0bHE1Y3VYOG5KeWMweVJKT20wQ0UyTm5xYXI2Zmt0THkvL2NkTk5OdFgvNXkxK1Vnd1Nha2dCbzlxQUFnNWxPaUFDanhsT2dnaWhDRWtXSXJDUktraUU3WkRoa0I0eXA3S1pTYzd2aDhYcmg5L21Sa21xTXhzdkt5a0p1SUlCZzBBZ1NIQWwvV3BqTHdaeDdET1Znaml1d1hYVFJSWGoxMVZkeC9mWFhZL1hxb1g1ZnJhMnRhR3Bxd2cwMzNJRFBQdnNNNTU1N0xnb0tDcEw2M2JpRVhwaCt0NUdDQzJRVXdFbEpBQ2NEa0JjdFdsU3dkdTNhK1RrNU9RdS9TVDdjeERxaUY4Z2RQVDA5SDN6MDBVZGZMRjY4dUp1RFVpS2dLVW1BcGlZRG10a2prREpmR2hFRWlLWXZUUlFOb0VteVdSb2xPeUE3SEhDYVVITzdYSERINWFnWjZSeFoyZG1tK1RuNXFLaXB6cjN0eUpzVU9HWnlNY2VkS1NyTE10NTQ0dzA4OGNRVDFoVXFHQXhDRUFSVVYxY0RNRHAxQmdLQllUNDRleTVjTEJhREtJcFFGSVZsZFpORTVxbk5COGM2aFFpbWlTcHhKcXBrbnZBVzJOYXZYMThmQ0FTYUFieStiZHUyOHFsVHA1N2dkcnRQQXpCUjFmN3R3cXh0WUdEZ2c1cWFtcXA1OCtidFpqN1Znd0FhdjZtbVF0TVNtWndNYUlJZ1VFcXBtVjlwSk5xS2tnaEpaTFdlRW1UWllTZzFGaVJ3R3BGUHR4bjU5UHVOeUdkR1pnWnlzbk9SbDVlSHlZV0YxcXpOSTcyOFBqLzI3dDA3QWJZanRSWXNXSUFOR3paZ3k1WXRtRDkvdm5YL3hvMGJNV2ZPSEd6ZHV0VXE5alVuemNjQkxod09XMEdHU0NSaUFjNVViOVFlWE5CMW5ROHdKQW95YUFCRTg0b3RVVW9aMk94S1RwNDFhOWJuQUw0QzhQejI3ZHRuRlJZV0h1OXl1VTZaZ056Umc5bmc0T0JIOWZYMVgxUlVWT3ppMVZVU29La0hDYk9FUU9NREE3cXVVMW1XTVV5bHhabWVUcmo0ZEE2dkY3Rm9GRnMvK1FRWFgzSUpNak96a0dPbWN4UVZUWWtiUlB4TlYyMXREZDUrNjAxVVZNekI2V2NNTDVYMmVuMEk5ZmNlTTUvbHVBTmJSa1lHVGozMVZGUldWc2FCYmQyNmRiamdnZ3Z3NmFlZkloZ01vclMwRkI2UEJ6VTFOYWlzckVSUFR3L2NiamZLeTh1Um41K1B3Y0ZCU0pLRW5UdDNZdCsrZmRhZ0UwbVNhR1ptSmtSUkpLRlFDSkZJaElxaUNOYXhGd0FSUmRFQ25LN3JnbWwyaUdia1ZEUlBmR2FtU2dsQUo1V1hsMjhGOERtQXRWOSsrZVcwNHVMaU9SNlA1NFNKM0xqRHUzUmRyd21Id3gvdjJMR2o1dmpqaitlVm1jNkJhU1NncVJ6UTdPWW1pNXpUWkVCajZSdXFxc0xoY0VCa0hUa2swNEpnS3MzaGhOTTEzUFQwcDZSZ3puSEhJUmljYktSekZBU1JrM040bzU1UFBia2FqWTBOR0FpSGg0MWw1TmZSSEN6K25RTWJBQ3hkdWhRUFAvd3dIbnp3UVFEQTRPQWcxcTlmajVVclYyTEZpaFZJVDAvSDdObXpVVmRYaCtlZmZ4NlhYSElKQ2dvS1VGdGJpemZmZkJPeUxDTVlER0wzN3QzbzZ1cENhV2twWkZsR1QwOFA5dXpaZzRHQkFhU21wdEpZTElaSUpFSjBYWWZYNjZXYXBpRVNpVURYZFNwSkV1R2lxTVM4V2dzMk01V3ZhT0EzSG5UUzdObXp2ekNWM0t2cjE2K2ZOSGZ1M09scGFXbHpaRmsrQVVEcUJKNE9hZlVxaXZKeGQzZjNsNXMyYldwWXNtUkpONFlpa2NuVVdTS284UjAyVk50emRVNmhVYjQvR2t1d0ZTd2ZtaEhCRkFTQk9wMHVQajhOc3NNQmdSRHMzcjBibXFwQ2xDVE1ualViK2NFZ0tBWCszOXR2UVJBRXBLZG40SkhISHJlc2tGK3VXSTYydGowQWdKNmVIbmk4WHZ6NWxkY0FHSjF4bnZqOW8ranQ2MFZHZWdadXUvMlgxcEFlQUhqdFAxOUZaZVU2Ni9FQWNQVTFQNFBENGNDcWxRK09tUTk1WElKdDhlTEZ1TzY2NjFCZFhZMlpNMmRpL2ZyMW1ENTlPZ29MQzYzSGVEd2V2UHp5eTdqNDRvdHg3YlhYb3EydERjRmdFS0ZRQ0pzMmJVSkZSUVZ5YzNQaDkvdVJsWldGU0NRQ244K0hmZnYyUWRNMHVOMXVSQ0lSQUtEcDZla1FCTUV5VVZWVmhTaUtiTllDaTZJUzB6UVZ6UHNZNEVUeml5S1pxazYwUVk0SG5iUm8wYUpkQUZvQS9MMmlva0orN3JubmlvdUxpNmY1Zkw3WmtpUjlEOEJFSzEyYmtGQlY5ZE8rdnI3cXVycTZ4cXV1dXFxMXBxWkd0eWt6eldZNkpnTWFEelArT2JyTjNMUVVtcmtoR2RCWXp6UkNDRnd1MXpDVnRxZHREM0t5Y3pCOXhneW9xb3J0dGJXWS8wOG5JRDA5SGQvLy9vbUl4YUo0OVpVL1l4bzMzL1QrQjFjYUJPL3R3Yyt2dVFvMzNYd3JBR1BPNTMyL3V3ZS91KzhCVEpvMENlLzhiVDNXUFBVazd2N05iNjNuVnN5Wk02enpzTVBoR0hNZityak5ZMXV3WUFGZWYvMTF6Snc1RSt2V3JjTjU1NTAzN0hIVjFkWG82dXBDWldVbHVNbFcwSFVkMmRuWmNMbGNhR3hzeE02ZE82MDBFVVZSa0pLU0FxL1hpNEVCbzRlWDMrK0hwbWxVVlZVTURnNFNWVlVoeTdLVmEyUkdVVmsrRWpYSGFRMVRjS2FaYWxVMmNKQkxCRHZwaXkrK2tPYk9uVnNOWUR1QXR3b0xDOFdYWDM1NWNtbHBhWEZxYXVvMFdaWm5Fa0pLdmtzVW81VFd4Mkt4cnc0Y09GQy9mZnYyNXNzdnYzeHZhMnVyYmxObGlkUlpNcFZtL1k0bFk5ditCdTgzaXpNM2VhQnhDZUJ4UUdNS2pSQUN0OGM5bE1aaG1wN0JZQUYyMXUxQVcxc2JTa3BLY01sbGx5RWozWWg2QmdJQlJLTlJ1TjN1UkNZMmZuUDNyM0gyT1QvR3ZIbUdTMmJYcmthMHRyYmdEbk5ndDA1MWVHMURWY3JLcHFHc2JOcVlQdytrOFhxQ0wxMjZGR3ZYcnNWdHQ5Mkd0OTkrRy9mZWUrK3d4NmlxaWx0dXVRVS8vYWt4MDdLOXZkMXFPUzZLSXQ1NDR3Mjg4ODQ3S0M0dXh1VEprekZqeGd4VVZWVkJraVQ0ZkQ1cmlJdlg2N1ZTUTJSWnB0Rm9GRTZuazVqUlUycUxvREt3V1ZQc0thVzZlUitEbkFBalJZQXZ3QmR0Z0J1MjM5emNMSjU0NG9rN0FOUURlQmVBdUdyVkt0L3BwNStlbDUrZlA5bm44MDJSWmJsRUVJUnBNSHJMamVVVjFYVjlSeXdXYStqdjcyL2V2WHYzbm5mZWVXZnZuWGZlT1FndUoyd0VtQ1dEV3R3K3A4eml6RXliT3FNMm9GRytrd3pmWWNZT05MWUJnTmZqalE4UWVEekl5OHZIak9uVGNhQ25CenZyZHFDOXJRMDMzblFMSnVYbElTOHZEenQzMWlVOE9QL3g3Tk53dVZ5NDdQSXJyUHNVUlVFZ0VNRGFGMTRjOXhlNGNRdTJKVXVXNE1ZYmI4VFRUeitOc3JJeVRKa3laZGhqcGsrZmptM2J0cUhFSEtaU1VsS0NaNTU1QmhzM2JzUlZWMTJGVFpzMlllSENoVml3WUlHVjg3WjU4MmE0M1c3NC9YNXJxclhYNjdVaXB3NkhnNWtWbEc5b3FXa2FCRUdncXFxQ1VncFJGQ21sbEpoQkI4S3BPRlo0VHpqSUNTYmtoQVNRRzNILzFsdHZIUVRRRGFDR00zMkZ5c3JLclBMeTh1eXNyS3hjbjgrWEo4dnlKRkVVZzRTUUFnREhTcnVIQ0tXMFJkTzBQYkZZckQwVUNyVjNkbloyMWRUVWRGOTQ0WVVITUpTZHI0OENzMlFLTGVFK0J6UGREak1NRFFDaXlkUlpJcURaaXRhdGpVWGpBY0RuOThlVlJ2bDhQbXpkK2dtbVRTdkhxYWVlQnJmYmpYdC9kdyttbFpmRDUwdnVjZGk0Y1FNKy9PQUQvUHZUejhZbDVaYVVsS0N2cnc4ZmZmZ0JmbkR5S1dob2FFRE5WOVg0MFkvUHRSNnpjMmNkcXF1MzRTYy9XVG9CdG1OeEJZTkJ6SnMzRDNmZGRSZnV2UFBPaEk5WnNXSUZ6anJyTE54OTk5MjQ5TkpMVVZOVGcrWExsK1BtbTIvR2pCa3prSldWaFk2T0R2ajlmaWlLZ3ZmZWV3K1JTQVN5TENNOVBSMzc5eHVUejMwK24xV3h3RTVTdDlzTlZWV3hmLzkrcWlnS2ZENGZKRWtpZzRPRDBEU05NajhHU3hjUkJJRVYyNE1CYmdUSVdZQ3lkUjBaYWVPVGg0VWxTNVlNQU5qRC9WMzJHdVRSUngvMXpabzFLeVVRQ0tTa3BxYW1lRHllRklmRGtTSkpVb29vaWltQ0lQZ0lJVDVDaUpjUTRqWkJ5Qm9Bc05jQ0J3WnJiQnlsZEpCU0dxYVVoblJkRDJtYTFxK3FhbDgwR3UwYkdCam83K25wNld0dmIrLy84c3N2UTh1WEx4L2c0RVZ0SUtNandFeTNLU3h0dEkxMTBVZ0FzamlZOFNBRFM2ZzFwNlR4NWlhRG1hMnRVQnpRV044MHA5TUpTaWxTVTFOdHJidFRjZFpaUDhTNzcvNDNHaHZxNFhRNmNlZGR2NExQNTBOcmF5dHV2dkZmb1NneDlQYjI0b0x6bHVBZjU4N0Y3Yis4RTZzZmZ3eVJTQVRYLzUraENaS3JuL29EL0g0LzduOXdKUjU3NUdIODRkL1h3T1B4NEdiYjRPR3F6ejVEWmVXNk1RKzJjVmQ1b0tvcTFxMWJCd0JZdVhJbGJydnROalEwTktDNDJPZ0JLVWtTWG5ycEpWeDAwVVVBZ0QvOTZVKzQ3Nzc3VUY5ZmowQWdnS3V2dmhwMzNYVVhDQ0hZc21VTHJyNzZhdFRXMXNMajhhQzgzSml2V0ZWVmhXWExscUcydGhaLy8vdmZzWGp4WXF0cVlkZXVYV2h1YmtaRlJRVVVSY0hPblR1aHFpcUN3U0NibG9YdTdtNm0xQ0FJQWp1eENlZUxzeURIOWhOQUxnNTJuSm9URW9Fc3dUNS9tMmpqWDJla0RRbHU3ZnR4YnJBRSsvenRTSnNkWlBZdG1Vb2J0czhHOXlTQzJHZ3dZL3UyeHFVSEJUUmVwZkhOSUh0NmVqQnBVajY4UGkvOGZuTytwMW5BbnBzYlFINSsvaUdOd2ZzMlZzUE83VGo1NUpNbndEWldWbTl2TC9iczJXUDUzK3oxcG14NGpMMlpKVmR6Q200TW9GVzh6TXhVUHNqQXlyVzRzaTMrY3lJMjBNVkJqbElRZ0E2RDNTSCtuQWhzUE9DRUJGQWJDWEFqd2MwT05DU0EyRWdLVFUraTF1eU8vVkVoWm5zOTNtL0dZR2JkY3FhbmZYQTN0WGR0WmpCenVkeElTZkVQYXdMSkZGcDNkemNLSmhkWnpTQXpNak90NG5LL1AyVk1mRStPSmJDTkcxUDBoQk5Pd09iTm04ZGNFSSsveUtTbXBqTHpsSEpkSEFqWDNZRVFRdUpVSEl4eGdjVHcwMEVBQ0VrRUpVb2gyS0JIUmdIYVNIQTdGT1YyS0dBN0ZMTXpHZUNvRFdnakFVeTNBd3dnbEJCUWdJQVFDMlFHekFRQkFqRWhKZ29RK1JJb3RobWxVRU5xVFpZaENBUUNJVkExRGRtcHFjTWFRZnI5ZmhCQ0VBd0dvV2thZkQ0L1VsTlM0ZlY0MGRmYmg3N2V2bVArUk00UEhsdk5hc1lOMkRadDJuVFVYb3NmMk56ZDNSM1h5REljRG8vVXFkZFNib3FpV01yTlZHOThEU3JoRkJ6bGxCeTdwVFpUbGNGRTU5VWRyN0lJQVVrRVBRNlNvNEZNR0FWb3lhQkdFa0I4TkxWR2t5aTNaS0JqY05KSGVnNXo5ck9ac3B6elA1RXFzOEdNUUJEWTdGcUJDc0x3bVJxU0pCbGdrMlRJSnRRY1pxS3QwK0dBcnV1UUpCbVptWmxXNVFCckJDbUtJb3FMcHlMYm5FVXdzU2JBZHRSWFFVRUJjbk56MGRiV1puWHBUV1Nlc280aEl3R08zeGpZUm9NY0J6aG9ta1lKa3hoRFFJdURqVTNoeFVHUFN6MFpCakRUdEIwSlpFZlN4MmI3bVNtcHBNQ2ppWjdQZGM3QXNIMkQ5Z2JRQ0FFQkFSRUlGUWhCbkRvekZCb1ZCUUdDS0VLMFEwMlNJRW5NcDJaQVRYWTQ0SkJsT0V5ejA2Z3FFQ0dLQWdLQmdOV3VteldDbEdVWjAyZk1PT1NCMlJOckFteUhkVGtjRGhRVkZWbUE2K3pzdE5xUTkvVDBvTCsvZjBUL1d6TEFjZjQzcTRNSUR6a3VpZGlDbkdtZUluNjRQYS9jQ0V4QVlRaDJJT3c3bmd4WU5wVTNxaitOc24wNmltSWoxczNCUUc0VTRQRS9HK1lqLzNkc1RuOEFvTHBPSVFnQ0RKNFJhdlkvQTdHVW1jQUZCa1RUN0RSdmVZVW1Nb1hHQWMxVWFQSEJBVGM4SHNPWHBpb0tKaytlYkxYclp0T2lvdEhvaUZBalZWMGdUMVlCOVQySC8yUXVTUU85L2pqUTQ3SW53RFllRjZVVUhSMGQ2T3pzaEtwcGgxVFVHNGxFME4vZmI1bWpiRXZXeUpKdGxBSTZwWkFrQ1U2bmN5VEFRZE0wdnByQmdwd2dpS0JVcDdwT1RjRHBvQlNnb0t6OUtnQkNUUENaMzNlWUlCd09LaTZnUkVhNWpkdTNlSFZ3L1F6cElTcTUrRGVmNEhkY3poWmwrYytpS0ZyUFllYWxwbWtRUldrWXpBaWZnMmI0enl5b2plWkhrMDJ6MCtGd3d1RjB4QUhONHhtYXZENFE3a2RwYVNseWNuSVFDQVRnOVhvUDdnUmJYUVUwOUJ5WkU3KytCK1RKS3RCbno1Z0EyM2lFV2xWVkZVQUVlSDErZUwwKzVINk4xbEtEZzRQbzdPeEVkL2MrOUppVDZmdjYreEFPaFJBT0QyQndjQUNSd1FnaTBRaGlwbm9iR0J4RUpESUlWVkdNcTNwaTh6UnVZNHBOVlZWSWtnUmRwMFNuT3FpdXd3Q2NNUnFWUldWTkFCRFo0WUJ1bXJxTVJ5eTZOOFFuQWs3TklZbDV5WU1TQjJHQ2pnSTJBa0tTQWk0T1dQR1A0MzRtaEplYW9KUmFkWmpzLzBnSU1TcEVIQTdtTzZNTWFoYk1ERC9hY0xOelJLQ3h0a0l1dU53dXVOMGVlTDBlZUgwK3BKanBHMm5wNlFqMzk2S2lvZ0llaitlUXppdHlwS0RHd1czQ0ZCMkhxNk9qQXlBQ2NuSy9XYmRSdDl1TndzSkNCQUs1Nk9yc1F2ZCtNN2pRMjJ1WnB3TURZUXdNR0RDTFJxTndlenlJeFdMbzcrdUZKRWx3dTkwam1xaE10V21hQmtWUklFbnlVSkJoQ0c1RVZZMi80WFE2emNlWS9qaFJoSzRiMWxzMEdqV1VpaWhpeUpaRkhOZ1NwQVF4Zm1Bb2RrRVRYaXlTdGFObWJhRGkxWlQxUEdyL3ZablF6SVBOQWxnQ3B6OElJZEEwRFE2SHd3SWFNeThCd09sd3hxZHFpSUwxR1ZGSzRUTHJORjF1RjBSUndoZWZWMWwvMStQeG9LUzBGSG1abVhIcEczYUY1dmY3a1pLYWl2VDBkR1JtWkNJN0p4dXR1NXNPR1dvVGF3SnNYM3QxZG5iQjYvTWZ0ci9uZExvUUxDaEFZTklrTS9ldDIxSncvZjM5Q0lWREdEQVYzT0JnQk5Gb0JBNVp4dURnQUh3KzM0ZytPSDZMeFdLUVpVZGNBYjhKT0txR0ZCQkM0UGY3VFJWSENhVTZkTXBNVm1vTXJ5RUNaRW5pL1hTY3YyN0lGY1lCei9xSERPME5neDhiTkdLREcxVlYxWUlWcFlDbXFTQ0VRaENNYWd4RlVVQUVBWkpvdkNkVlZhRHJsQnJGNGtNcXpYTDYyemFCR0NhbXBxblU1WElOeXpkajRPS2hGZ3FGRUFxRlVGdzhGUzYzRzNzN090RFd0Z2V6WnMwR1UzM2ZPMzRlMHRMUzBOZlhoK3B0WDhMcGNHTEd6Rmx3bXdyTjQvWEE1L1daTGJvTmhaYVJrWW5zN096RG1seWIrZnhpS05XZDZGdjF2d0NBakNkK2lJRzM2aEI1cHo3cGMvelhIUS9uS1VYWWQ0SFJqc2g3K1d4SVU5TFJlOCtIQi8yNm96V2JQSmJXL3djYUx0Ynd1T0xUcXdBQUFBQkpSVTVFcmtKZ2dnPT0iXSxbInNyYyIsImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBVFlBQUFFMkNBWUFBQURydkw2cEFBQktvbnBVV0hSU1lYY2djSEp2Wm1sc1pTQjBlWEJsSUdWNGFXWUFBSGphcloxdGx1VzRyV1gvYXhSdkNCSy9PUnp4UTJ2MURIcjR2VGNqczF4VnRsLzdyVzZYcXlJejRzYTlFZ2tjbkFNQzBMWC85Ly82cnYvNnIvOTZTbXZoU3JtMjBrdTUrVi9xcVllWFA3VDc1My85L1BlNTAvbnYrVjhzdi83MC9QWDcxeDgvQ0h5TnZ2TG5CL1g5K2ZxOGZELy80eGQrZjhZei92cjlxLzM2U1dpLzN1alhEM2pqbnl2d2svM3ordk5GOHYzdzgvMG4vWHFqdm4vK1VIcXJmNzdVOGV1TjVxOFhua3Y1OVcvNjQ3Sit2dmozNnkvZnFLelN5bnhRREdISEo5N252K25uQ3VMUHZ5Ly8xdlBmd091ZUdQbnpFOXQxdnZ5K0pSYmtMN2YzKyt0OS8zbUIvckxJdi85MC9YMzEvL2pUM3hZL3ZMKytILysybHVYWEd0M2xYLy9neVgvN2Z2empZOEpmek9HUEt3cC8vY0VZNlo5djU5ZS8zN2ZhOSsyZnUzdFRZVVhMTDRzNmkvMzhmaHRlT0ZqeWVINnQ4RS9sMzh5ZjYvbW44MCs3MzN1eTVldWU5K0NmK2ZRbnNDdmY5YVJuUGUvelBmdDhuYy9rRWxQWW9mSTFoQm5pK1Y2TE5mUXdvL3VVL09mNVFvMDlydGpZeXhuMnhmYWxHUDY0bHVkOGJqK2ZONS9HSjYrSGw0YUhOM3Y0bFgvN3ovWGYvZkIvOHMvMWZkTWxldTcyeDFweFhVRzc1akxjT2YvTHE5aUQ1L3UxYi9rczhPOS9mbTMvL1NmN3dWVFp3WHlXdVhHRDd6MSszbUxrNXgrMkZjOCtSMTZYK2ZxenljOVYxNjgzWUluNDdNekZQSkVkdU1zVDgxT2V1NFpRbjRkMWJHelF5NVdIbU1KZ0I1NmN3K0lpUTRxeGhLdUdGdnhzZnFjKzU3VWhoeEw4TnRqRVJ1Ulk4SzNHRHIxc1Zrb1orNm1wWVVOdmpqbmxuRXV1dVYyNTU3ZkVra291cGRRaXlMMDExbFJ6TGJYV1ZudDlXMnlwNVZaYWJhMzE5dmJRSXhpWWUrbTF0OTc3KzRicjVZTmUzdXZsOVMvZkdXSEVrVVllWmRUUlJoL3Z4SHhtbW5tV1dXZWJmYjRyckxpQWlWVldYVzMxOWU3bjJpREZUanZ2c3V0dXUrLzN3OWErK0tVdmYrV3JYL3Y2OS82eGE3OTI5Wi8rK1IvczJ2TnIxOExaS1Y5WC85ZzF2bnZWK3ZzdEh1RWt1MmZzV0VnUE8xN2RBUXc2dUdkM2UxSUs3cHg3ZHZlQVUrVEFSV2IzNWxxUE84WVdwdjJFL0QxLzdOMC9kdTQvMnJjcnQvOW8zOEwvYmVjdXQrNy94ODVkYk4wLzc5dS8yTFZsbkp0bngzNjgwRFc5STk3SGE5N0FGWDFqZmZ5MXhDKy84YXZqMjdOdVlkSWYvK2MvdlY3dlo3LzE0VjdMdStwVGMwaWx2V3h1SEozTEdIUGlWMmxFTDJXL2laZU1IZExYV255NWc5bldNKzg5cmpCbkhMdTJKKzg2ZHN4ZmU0RzZiK3kxVjU0SmU5cVR6MXExMzJ2dDhYQWZNKzkzalRWQ0duenVFL29NcVY1UDQ2MG02NFgxM1h2WG1RWTJzTCtZNy81OE5lMzY4TE9ZNTczbUhwM3RIUFVlVDhwanMyT0EvOHN1WWxUWFRLTFZzK2FxTDhRa3gwMTRmZGZMT25RdU1lVEJubGJXSjR6U0FmWTN6L3FOVk4vd0xTeHJmaVhPWEVlNklEVjEzaXhHYlFtRDdrU1ozc3Yzc01GZjNTekdIUHh4eGEvTkw5eGNudjR6b0NGMThxNnh6b0J6enE5ZGJlV1MwbUtkWnI1SHVWc1A3UHNjUUg3ZnE0VTFTMXhoclB0TCtWc1kwRno0UVk5NXJ4cHEzeVd3RVNtWHE3U0hQZmxxNXVhTU4rdTcyWXpPNjl6WWY3UDV6OHlyY1RIQVFTejl1MGNxMXpEZ3hidVV0UWF3d3EyRnVQRWpEQk96aldzVXRqbHlLWFBFL1BJSkJjZC9CNSs4NDZoY3lvTWg4R3ZYR01lcS9qdUwreGMvbTZXTVdQYVk4Y09wOTJ6ZkZkWXFIZmVPaWJET1BXTWJLVXhYcHNjMlYvYlcxajYzK1h3dllQL0hXMk10SWJBaFJQcjJmQmVoL1FGOUZtQ0NLZlc1dWNmK3hsQXg0bWVYd1hLWDhSVSt2UlI4OHlQQ1l5ZnRUZmViV250NVQ4eDlyblcxOHVVSmlIM0huTXFMRFg3LzdncStmdlBpcjZWdngvcHhRVEdOc0h0Ym9PUDFzb1A4dFh3UkFNSzd1VXBRRE44SEZVYm5mbk1BU2NTczJPVis3N05lYkNBYUJSZi81bzlYNzY5ZVVoNHV2dGZ2aWQvWi9mMDFYZUZsaTJyQldwNVpndWF5ODRRbUxqeGs4LzZzSWV5R1QzMjBsVEJodFlTVHhJY2tQUXgzL1BhajV3NXNhb1JudlBWaks3aitZNWNkTUs2d0JSY3UxZGJmTC9MaGtYZTRObEc2bDhhT0R1Z1NLMVJUK2JCalhqbEhMOXQ3WHZ5aEZaYWtoNmZuRzJzTEtRZnViNy9TNzdyRzgxNnBqRldlZC9JcGdHdHZCQUt3R09OLzhsdnpSK0J2TlU3d2xML09BejR6cHhiM3lDek1malRIY1dOVTE4TTlWWnowVGJNMjdoNUhlOWRSRUptOWxJN0pMbExBMTBKZ0pmK2R5VjcvdVQwL1h2SEtHdzRYSmpmTkJSY2lUK2NlcERVM3hqZUJWVHhhT2xwRHdUS0pydlV0R3lOczd5N2xHNERBZ3BEbGN2ZlJpbXZFUlk5S0dKMVZUSG9IVjlRelZERUJwcE9RcHJrV1ByVHp5ZzF1d25uNC8vZXlpckVOWUpLVjRwNzUwekQyQVR2c3lWcFB2OHJUZExXT05RSlFmT0p1OGRDdXpYczloQzhDWWt4RXhNZFBHUnU4aWdSVklta3BzZDBFOC9SaUd2dGEvVTQ1Z28rZG5jZW5TOFpRSGx5clB4MThZSjltNUJjcWNjWlBXcVcrWHd0N0VqSW4vc1J2YmFJQWNZMzd3RnJaNWtCRVh1bmV4TS8rZU5zdmlBT3lEZEIxMTRKb1drRERBMFpoTWMvZ2QwZHEvVDdzRysrNVFPRmtWRFdDRFlKYzIxWGt4ZWkrQXRCa1FoUG9jRStDL2lEK3M3SjFQanZpOXgzR1V4OUR6cTQ1WFdQaTd2RVJFTURZeGtKeStiemxuQVQrR3JtaU1jcXp1TTNiMEFRUmdPaDhIU3dCL2lOK0dTQXJmTzlLOFNVOGNodjh6U1VocW1DNjVka3BHOGJBSlZaLzg0dG44VEdMbGdGckl4Vy9qemtsc0FFeUVhK1JGb3NPUUk2YXhTaG9GUHpxL25hQU9zQzI5b2RZTFFOQ1JkUWpYb3pBSGNBaXFtamEwaUljZjVOMXV6Wk9DSVpGU0VlcXdENlVZMGxDcHRZRGpFU1FzUzhpVFNHNFZqQ3NOTDZ1dlo4SmZNU1ZoYkV2dlZkSmE5OGd3ZDczT3dpM2tXQ2VYdXc4QXk4ZjcvSHRZcEM1VTJFbFo5dkljYkFLLzBPTHNWdllQcHp0SmtDK2hPUWJ1cGQwcHp1dnRVSW0zTDdiQ3dVRVNzejVXYmxCSE91SFMzUFJtTUtRSlJMU1lERWZzQkhZTlJ5K2x3eDI5bHN0QmJ6aVFSdkN4d2RqZmRBVUdDQXh6VVdGeExWYUNPRmpBOURneFFmZFpITUpKUmU2ekhDQ3pSUGVJVWg0TjVmUDRzUDFRSFo0M3MwTnNVNHBEYUltZG5BTEJqS24vdjVjRmplVzR4VXlSR2krSFhMWUMvNkN4QUtWY0NQOGpoc2hxT1pudndUbXNEYjJuRURWaVRNUVplL2FpWDdZS0phdjhJdlF4ZzVtOTRGNVlFejNCOW9BRzRtTDc4QXc5S2pnM1VSMGRoNEVaM1hlbk5oWjNwZGJ4V1Q3M250ZFMzNUJOQW9ZZDRzRHozZzdMdnBKQS9BYUtCWnZnQk1YMW4yOVdNbWNIZGJSY3lDWUpTVlc1WGQ2dmZTZVJQZ0k4QnRDOWF1ZHdDZ211QTZsSS83Y0IvV1FCa0FNWkJLK1dONVFGd3FoNUFGWTFjNlBCbS9VZVBsczNuWGlWckVNcENCMG5vMURYMWVNSXh2bmVvTkpnZ0VMcmM2YWFrdWJWWGxZbDRWbEJRSWtiTXJOVGMwZFJjZWtHZ2hvcUljMmMrdDU0b2tUTXdBdVFBYmVlMkUxaTFENlFNWUMwZ0NxU2VSWUY4eXVtU0tBanFVcUhpQkljQTU1R1ZFd3NaUlFwRGsvc0creElZU3JDVTBCUjNadVdncHNZY0w1MkRYQXZHdktQVWFpQXdJS2x3V3BXSFB6UGZ3V1ZCTmtqdEF3VENPV2I3NWdub3QrUWhXdndLbnJ2bnJDbTlZTDJ6VHlQVFVBeklRTDRESmtkQVdYRGdxaFBrQ1laMjNlSFJ3QmFOeHEyR3JxT0FnN2VvUFpnQWg0RHVKcWh2ZFRqVE5xc0JjSlhURENSSFI5Mk1EcFp3Z09OMkU3dzhwQmF3SXpEbG9ENEhvQjVIQ0xVREo0OVFiV0N4VGlBb24reUFEczVlMndpL0tDbkVRWGpIYjM1eDR2Q3h6QlVvSUlXOHJXb1VXZ3IwUWIvSE9OcEJXai8xaXhUdUJoWSsrcHo1NTBHeXNFUnR4dzVwNGpJVGRPSWhpVUFFSjhBL0lRclNlVmhZWUpRanM3N0gyK2NDUXVHWDhrSEJDOE96aUZIRzBoSmNJc1lWTWdMdGd2VXFVU1A5VU1GMFFwanU4dUh4NnNXZ256WXpIblU4SGtyK2NLeHpkU0FUeVREWUlrVHJidWdUQUNQQldUZnJHcmhHOWVMOUhLUDZKTStSTkdVSlArNnk5MWJpWEJzN2lxZ0o0QzFBSExoUVJDVmdTa1RKUTlZa2U0TE5RUHZJa2RKb0NPaWxJNUNkR0FrOVVYaEk0RUtaeDgrOEdHT3Q4WHFwYkN5OW9EVTVDS3lwSzFXY2VGZlV3WXdyY0NvaFg5M1JNc0VIN29Uc0FFMGJtOEFRZ3dDTVBwVWJSQjBJM0ZMNlFFbklhMHNNdDN2ZEFrMzBOY2hLR3lwSERhSmpYZXQxSWJVK3FUaTlrOVpKZ2Y5UGcxakhrRkV6S0dHNktGNzdJaDF3bmhSNmoxcGlEampTVU9vTklORkJwckJ5R08vK0JaZXN6NzVjNTFGUlRsQm9sYklPSmwvQnBKeDFaZUVjditqSTEzbDQrQ3dvRVk5TEsyUkVWZXlKMHZUTjBQWVZNSkZ4MlRhd2d4Z2pPWWl4SHRQSUNrQzdjWUgrOFA0bjFMVGY2OU4wNnZqZ1RtVW1oZ0M0dUh3NEVvMkNUT0FnRUQ2aUJWbnd1R1JZLzh0Z3MwakhzaEJGQUZEZmNObUVyMmN4QzRpK0J1S3F5ejZnTW43cUFRd1pOb2puYzExU3ZtR0hDOHVIRVJYZ2tNYnN4RzVNaUdZUUpRZmt0NkFOZTM0VkhObldjTkRpRDFrMVpFNDM1dk96RnA0akFENGNmSHNoTUp3aEpnNVRBRkZ1ZjgxZ0E4TUNlRFVkc0dJbHk1SnhPYUl4THAyRHN3Q3NrTW5zQjhMdmdBZkp4OU53b013UHJlSU4zTnZSQzdNZU1YTzRiRVRwWWZQdjZDZzF3Rmk4VjExd1RyZWdzYjJVYTRaSE1nQmFvZWlXc3VGYU5KWExNOHBCTnA5dEVvbU1lSUNlRDd5ckd6bDZWbEtURS9TRFpMUDVFUWdBdmsrTlhqbDJaRzRBZGxvQk80U0NWU3dmaUlJWlYvdi81RU16UklpVWVYSm1wT0JkNElZOHpyVFJnOGtRVyt6VzlYV0dFMFJUSkN4NGVKRWdBZ2R3SHlmRk41WHpFUzFQNDlzRnpvMzNvRVFaWWxYeTBaN0RHTDczTzdJakljVGNsNnZRQ0l2MDRVYmtab2ZpV1BEMUkrRXlTQmVBUEhiZnpwWFFpSkhTNTBZTTY5dzJ2TC9neTZCUFBLVnZ4YURoY2pFWWhRaWIyYmdJQUNzemhQVFRkUnFiRzF5QVFXdEpsaGYvZzczeFhIUzVBQmJLUXMxbzZqQ095QVVpb3plYkF3RVRWZlJnMzZTWWczS0czSk4rdk5HN1h3Qk5qZDRIS0krTUFQY2FraTVIQnRERGVqKzlnempHS1lNTVRKaUFBZzI1MzRYRmtOL0NHR2hjVmRFMHZlQ2s2azViY2lLLzF6UWR5RWx5VHFIYTcyNVVHWVFESHp1Wkcvb25wQjVZclNmUkNUZlVOR1lkWTNuSFBJWkFKeUQvNmNYendLQm9uUGNTUEFGWnJQZTRaVndqakdxTVh3U2lSOE5QRE94U0N6cXZENXI1YVZnSWlZUkpNVVJENWU4YjRxUHZpN0Y1TUM3MGNvYnhncGtwQXJZaStoS1lxTHBkOGs0aU4zK21IcGtLcWdac201aEhQa2xYbHYrSXFadEk0NzhUMkUyMjlidi83cFFoQWVLUEJ6SmdGU1lZNnNDT3h0QzNoM0FLSUQyaWplUmxsVys4R0xIaVJSdXZobDZUdWNLK0pWaElZTU9VSU9RRFVLWlA4TExNaG1sWEJzeURBaHlqd21sNy8rdGp2WDkzdHpjTkVjRGp2bURiaWhuUk9Pai9hUmZrYzJDeVoxQ0dEYmtERndGeFNxSzV2VUsxOVpGL3JtSVJ3VDdMeFRqMlpNRldmMkZpYi9uWk01S0J3b1FIamQzQlpzOWc5ei9jZEZzVWJiSzY4WksvbHUxRTh3ek8raDYwSzh3R3o4RFZuUmVLOGxyMFZheE5kTUw2UnU5M0diNlVXV2huakJmRk9ycHNyVVpWa1VoWEdFb2YzOXEwOG1aa2kxVFgraUxZQWErWEo5dUtKOW05dG1IV0NGSGJxeVppRFdvTGlBZkN6SENBZFlZcWNtdkJGUUQzK0R0MmJzR1Y0SHFRYW4wS2tROWc0VE80bW50eUpDUy93M1Y4SUs2TEd4d2poWXJGQU5mOHArSUJVeWVSR3VDdEVUTVlWQThKUjJtME1DODkrQi9YNTF3K2FnS093T2tmZE81dUtXeW1pZ0JBdnFMR2dLNE01MW44djQvdXlvZjc2UWp6MEc5cEN4alNoQzdNWVB3UisyRk9XTnIvRCtjUFRTRzhDR1ZtZ05KWHQvQlZZRyswUEJoeUdoQk53N0lUUEJBR1dxUlAveHFvMGdhWmdZNFA3ZUFEaWtBVFZ5N2VlRnR1NnQ5b0pPUWM0RkZSZzZ2UHJGMU1HZVhUL0UrZ1BxcGc5V2h0U0ZnQU8rQ0llWjNJc0t4RjdRUWVMMWN6d2ptM3NzQ01pQ2VxdlRvNVM0aHprbjJRMXZuRG82SFZva2hxc0x3VFRDMkFNRDJSZWhuc1dBTTNTbzJ3ZnRoeVpBR0Q1MzVYbjVWYVFsd211bXdtMFFOTUNGQ0QzQ05jdnU3RE1lRFV5T1pqNzdoeDdoNU5nSFV0SXMyRHNWaUliS2JDb2FWcDBDTWFoNWpBUDNmVEZMZUJVRWxpZ0hQK1NTTC9VdWxrelEzcmZISEpBT1VDeDZxdHkwY3lrQWVyc1hreVVUR0J6L0dnYXZoR1ErWndQbEhGaW5RLy9RTy9EQlYva0hjR1djQWRuVTRHNGdhekRCNFE3eWxqQmJyamRyLzNnL1AyTDFrVzltc0JBU1k2RllSTTEzNFpLWURmc2lBUUV2Q1NkOENqc1BpM2lmMjBUSVJHczh4T3pyZy8zaWhxQlBXRENMWVdvTUFOdmI3QmJMU3B5RzFTQ1FRRjVBR0NkcEd5Zi96TG1pVEovMkZjK3VJRnEvVHZtRnJNZGZPQm54eVdWTFc3RHZpVkVpa2VEeEExV0ZtMFhzaEhVQjV6QnJOTUdFMW02UE13aFJZRTB6dzVuUUhlemFEVmplSUJOdmpBNzU3cDhVNzRSakxQT2szUGQ0YnUrZlVCUlordlRHY3ZrbHY4bzlJbkJQNkErcEpKdmhrVmhCSXhkVGhCRGVneEJRTnFKa0lBaUdqLy80blR0ajhOKytWTHJmQ2JYdzU0VkJCUk9pR3dHQTViTmx2QzF2VE9BSkNpelRjWVowb2dJQjdtTmxaUTR2dGc4ZWdZVlFRUzQrZUtiTmRpRGNDYXNEQnpSTjVCRjlOK1dKVnVtSFBSVitCTWk4VC9tTWZxbDUxQzBiZWZkRVd3K3dybmt3QXkwRTR3bGhEeHdUaTBEVFdINHczRXZvWXovWkhSVjJCN3d6ZUkyd04rbnJZa1RQcjVROWlwWEYvektNaW5qL0lnTUJYV3hwdGladjczampvL0dDYVd5ZktRSzJjMEVUTDZ3Tklib251eFhEQUptTzNHa1JodEZ1ZHJpYWFrVko4NVkzOFNTWlJNZEF1RnpJVTN4dVhtK2VaMTRtYWowQnd5YUEvY3dPc3NxbUdFQlNMbjFnR2JlSG1oTkdVUU1CQ1ViS3k3aVUwUlZqTmNDU0FuZ0VhcmtzbWRYQUlWajNDblNqREpJL3hjeUJUR1F6TzZJOEI1MlIxZHk0YUdndUszZEFHa0JvL1dMVm9rZXFzczlzRHU0eFZ5QVBVR1crejhSK3NmUjFrc0VwbjNPdUFGQTB6NFYwanFtU2UrS0JFYWkvMG9WMVlGZkxCK2VEUFlNV3c2UUZ3UWQyakl3YmdOczM0RnFMSFlNSVJZVHZzOGRraitIUjE0S05OYzJkVDlDYkg4d285Qzk0Nk5XTS8rSXNzY25ySktCREx3TFhORjVvbm1lQmhJWkJuT3JKek9pUnpnTTZSaERrMzlpSmMwaG9FeDEzckhDOFdhYld2VytjQlRoN01pVFovRHJ4SVJIS3NEZENkb05ZOFJWSEtBRHo5cXpRUThlNUlBTlEvTytjbGo0QkdZQjhSSTQ4QVJUbmdyRW4zQnlGalJEYnJQaUZxK1VZQVdoQ1RabGRvd3d2OGNqTTJGNDNsMkMrK2I2SnQ4MWNYczluZllnb0EwWUlQZ0xzUU5wM2VmenRTVEJHMEhDYjZhSFdMSjV3dWtpN1JzKzhBYlNIVDRXRFpVVHBqU2NYZVlmcFhUNGNXQ3hnTnB1MWM0UVZFc0M1YTZ5ZHBSdjZnam93UG1xOGtuRUpOQURnNG5uQkIxT1FxZDBJbklEWUFzbS9xNThqTU5nMFBnakh3Tzg4cW5qalMrd0pVQjh3Q2c3WElKVlFIVURRT0xsMm5oMEhuYXpmbkh4YTdkWkUrS1hpWk1FY2p3b2MzdjZrS2tYNkNCQUxGaDFNc1dXdUFsVDk5b3ZwNEFiZklwUmcyMWdYNkh2bDBuTkpyWXNCSC94K21VZ3o1bnhvSG9nVkxHc1MzeXN3aGd4aGRTcUxGRTUwY2tzc0JZQkExK2ZpTS9PVFFDVElEUGpKZFhzWWlEMjl0YjFjVW9RYnd1WFBnY09ReTZBRmN5dG1nN2NudVI5V2g2eUx2Qkc4Q1JhYk1wSDlQV3dITzVkUUI1VDlGNUk2S21NZGt4Zy9DWnVZSGF2SkhzTjcwTFlZbzZ4bXNtdmZuYzA4WUtGcEhBVDRJTEVzRlIvVk52RVBzLzlraDZ3S09yT2hQelBXNFdGRGZXRHhlRG5zazhWTzdnWDZFd2FTWVdhK2NVbFI4WHR6U1dBcVhBNFhHY3Jld2QzazduRVE3N21RME85M2t0K3MvY1ZHSnBPa2tmODAxaGFWUWNTSXJpRU96SjVpeEN3OHpHTWNkYzdtQnZWU3ZORUxqOWlOQy9NcDJORURTOWtmWVFMVzBJRW1OSWVxSGw0VWpLVGJzeWJRdE4xNFdJdFlLMzhEcVRJYldHY2tKbVF6T0pjNmVucTRiVjFUelBMaURqUlg3TndFVFVvSk8wTGFjaG1JZkZuRmtxRkdrd090c3h6M1NvVVB2Z2pkY0FzVXlrbER3VEF3Tnk3VkUwK1dNSjZERytKc2d3MXpmNnNRdXNmTjlkK2Ztc0xqekd6S2ZsektRY0IvUXk5Z0o3RDNpZWEya3FZQWN1RlFBaHozeTZZb1AwOWNmMzBsM0RlTFQyN1l5Z3Qzdm9KT25ZMzloSTVVZ3A4Rnl1UVA2czc3d2lMeEI0SCtlVmpvZ28vaWIzdzFpSnVQQkxPSlYxaDI4SXY1V3lJN3NhaXVUckErQlJpeXZtYXhnV3lXV0liUVJnZ2h6bDVwNVZnUW1tWFVBc3NoaVZmUHBwb3RaeWp6M21iNVpHS3lnUVEvQWhNQVgwU2UvczV0VEVJSEVXY3JOV0dQT1cwMEgwSHJDOWZIdldZaURCYnZNWEQ3elZsdVM0OStjUllzOEpBV3YvNm1MWWg1L0l6bC8zNFkwT1Y1RUpkcmpVekdWcTJBeUlxUUxuRnFQNVVSNkJ6ZTMrTnBmQVU0Ky9XRFg5OW1PL2pCWmRWcU9uVUdlRW8za2Zld3ljU2pZS2tTenJKWTBZRGRBT2x3NUtWVCt4UGpuWnc2UVF1UTNPa0NRYUxSazlqbUFjTk0yWElsd2pZVXR2MmNTU1NEQXpIOHNXNGwrZG9Kbm52dUZzdDRUNlZKd3RlZ1RTVnNYcTJjWXk4TlJkd2ZGMi9RUWdkbWVBZ3VtTTM4UmVqSmhLVkhWd2w3KzlRcGlBYnprSXNZSU9oRU0vdGFFdW9HU01FOVZPc2VwN0xOZzQwSXJBWGhYbTRGa3JIcW5xeHREQno5QkI2aDlFSEM0QW5JVWoxOW9TVmpHd29DdkdpZXRkMFZydWpCN0NzMzBFL2VmRnNUZ1Q1Q1Q4WXhQWUx1VUdiYzRnVnlJK292L05iNlppd0paNE1ZV2N3NHhXYVZJandobitOd1pDZmlsMGpiUVhZbzk3cFlmZ2drNUFuVUp1S0JEb1ZZQUhzWWFncmVzSGwrRGl5VzVzY0JlRmh3U2FqVEczT0ZFOHdQMHZhdWE5MWNFaUlkY0s0cHZxYU1NWUxDQnNDWDJQM2pKQURMMTBYbUFNZ1JDRGNSZ3N1SGZTV0oyZ0l1TGd0N0lLZTNDSkNlMTN3anZqYlVDcDRhcWhMWnlqcFpKalllUU5NZXUwa0V6d3E0ZHpaMUxld0k0WlZiZ29SWVZRYlAzZENXNWYyZ1FSY1hrenlJQXdkeFYvUU0xTWxVVEFnblNuYlBrdkJzRER4Y3hJbHVMdWdHL2tDTmVKTGpyeUkvSUJwWnZWY2ptTTNnZ2t5VEk0VnpOdm15YmNDRnJLU3lJTmZSZDZnMUJGRXFUMHFZeDRDZG0zajF2Qnl1WkNHSmxIYXREd0dSY0ZIcmJLWlZYTkdqUWV5SnYxOGVGTTdpZ2ZYTEN5dVlnNTU4MkZ3UUZ2a0x1VFdCZzBJcGFYSi9jSXQ4dng2MGJqMHpHOU83U2RmcnVTWGphRTlNNyszcWNHVDlubnRDTEt6VllnOENieFB1VWFmbFkwMHJHcGlBRlJnRUJUZ2dhaTdBajVUQ1ZpWDI1Mlk5RFNYRTdJWnk1QmZoSjU0eEVtMkkxTkUxaDdFSGF3THdqQUlwK0Y3dkJ2NWFMamFQeFNkQWg2Y3ZyTUxqdVY4NnoyUnBSZXQ4ZWc4TURQYThDSENzQVJqU0lBNHhudFNoWlNQek10ZXdQbFFDV0RndGxVaXNNazZWd1pOUUxDK0J1UlBBOHBzOEl3Q05SM3JpMXVnOW8wSnllMnlkKzJYVm1qVTcwQ1BJUW1GaGtYZ3h3bTFhTE83SVBPVlJyRHU4RkRLNGdyQzA1Yjc4ZzZTMi9xTDE3MUlabm16NnRLcGtla3FIQ3NFaXNQYmFNaUNEN3hLVDhXb1kwSWhHR1NMK1l6VVJUSVJWZzR2dzI5ZkRqNkFzME5FR3UxK285S1A5UHp5WXkzeVFjMzE3d0tXZE5lUVRzb2RJSWlNUjEzRi9sQ29Xdks4eWRydk5hWUVHWFBDRzB6WlBYOTZBcDJZcjFtQm1XQnAweWxNbWdpWnVpc1FHS3daMytwMWpQbXdjcUlXQUZDQm40RFNTSzFIWlBJV25hUStoNFVQeVdVN1NNUC9rMFdnbGRPSHVPeGRVQjN0L2QwakF2RTQyQi9mUzRNRFpMeEQ0SmxweWU3S044V1lnazRpQW12M3dLSWdyOGR3Q0NmWWlXNTExRXpvZU5OcEY4SjRQU0pIUTBGNWt4S1BqQjg1akRBblJBdU41OWNKRFkxNVBnWEI5aE1zODVZSEVHZUJDMkxocWhmbUQrT3o3U3F3dmhKVDFqRStjMzcwOFd1ZTlFYWRWczRKaEdkQytVMWgxa3R5OUtPeDE5Q3RDTVZYRXBadGl5ZFkyQTRnbTF2c0E3Vm9hdC9rMjRlelR4aHZHM2l4WHdpOEpaTU55TzI0blhFUWYxTDVITCtZZmVWdDhJbkROQ09mUUJ1dVpWU2pkMCtpWndrOGQyd3hBeU1PMno0Z2ZIWkhiTUVoQ0N0ekhZZ0ZZVEZ2TjBtTkMxU0wyVmlVT3VMSUhqTnJpa3cxZlN3WmlZdDBIMENvd3VZSEFyUkd3WUJFQnNudnlsZWFNdVp6SGNsOVdlbHFJU3h5dHcwekhucm4vOEpaa2FZRkhJT003b3NqRFRIRDVaRVJZMGZNVkR2Mk5NSElBMllpTWgyMThZRDVzNjJSbldNbnp0Y0ozNEsyUTVHRFJIZXJvNXcyYXF2cHdFV0lGSENUOC9PRFAzNFpYRXd3ZVpEaTBMQ05GRTJ3N0FlZzNXRWFBQlBJSSsraVhCOUNLeVlOS1hOeVRTY2lKdVJURVp4andOWXZaaVpaRWJpQlpvMGsvbkNtejM1OTVTRlBYVnVBVFlxRURFTWdXOFE4enc1RC91QWlZNFpYNVZpZ1RkbW9SVDhBaXBiMmdLeTQ0WnVhS0NITUE2aXVmSDBiN1l2RU9ZZTlGejJHY2dNSE9saW53VGxDQTVkNFFjOU5YM2wwOStRVkRDUUR4YXJDb2hrNUE3dktHajNtS2x3L0hlT0Rsbms5K2ZncHk1ejBWM0hDOVlnVU11QldoTFZrakJCZ0dlSVFOVjlBRFVXUEppUTVIK014UTBVV2MvenduaFBkZ0hjWGNSUkVDaVRGcllYZ0VxUnVIUnZQaXhsY05uaktoQklnenNtSVFHSnd3YzVnc3ZIemhpTVAxZ0x2NFpaMzhCVGMzOS9aSTV5UkhhbHdXNkdaTUhPV3dNbmFER09KdGxmeVlKaDZJNTRscm5tOWtzMWMxSGNrN1gxNWlFYUhKM0w0VEYzNnhteXhreTNCN0FKV3dWNENRRE0rekJvOFFvRktLQ0NJUDhyOWR6Mms2b2loWk1vdFZnRkd2UlJuelFwNjQ3NW13bGphTW9pZ25QZHY0dXZLZExRSEtTdWNqVXJmMjB2cVNHeTNBbFFIakE1cGt6dVpOT0czMEhWK1BlamV1VDNUeXlKN3cwME1GbzJBY2pVMW0vL2tLQXB2M0JkUzlLU3RWTEpmMGlDQmYrU2xXVnVMVlpoQ3g1M21EcUFVL2dZZGJRVzdlZnB0T1dOWGFNNnYyVGY0cytTclVDbXFRaUlEemdwV1diWEVac1N5S0RwMlZHM3dHWVQ2WmpLOWY1ZFZkaFdOdHdjWk0wU0tvYm5odkRCNEF3cEZEdk41SC80R2VJK3pGU1U5MFhXZ2dUU3BIZUFraDVCdDA1aDFkb21xbEZ0d1VpRVAzWWFIcWpWUXYweUxGbnBVdmVvWnJ3aGh2KzFEQjhPd01zQzU3aXhEcTMydWxkaXQ0YkpGb0tURm15OFNJT1UyeWVPcGNMUnhKMW95cVdaRFZxa1pXNjMzTW9pcmRjT0JzMGNCandrT3JUNS90RG55RzlTb1FqWGhKYVYrMldlOENtRnMzdFhCYlYyZHhocFdQZUxGNVNuTVkxVkRIZHFOTXNhRjlKNlFKRWhlWGJOalJTYmhtT050VTdySjVzRHJpNC9Ra1pYbFloZmhBNVFIOXczd1ZvdlN6RlNGOEN2bHFRb2RYak1zNmxUWk9xNDh4MUNvL1VNNktHcVR3dWIvTmxYT0R5MmFnUkJodjVpM1IvamFOUUZiT3I1ZDJIVWpyMXNUMDkvRU0veFJYbmFRak1SRCsxUWpnWEhBTG51L0JzT1J0dUJEclY2eW16eWNmY3BkTC95REc0WlZKYmMvVkVDcDlPMjQyWlFGZzVJZGRzUjZNT0llRVlZa3c2Qml5cm9RdmhKTXJ1anl3eGdDMng2WkZhWlVzOWtWK2N1R2JXQkhiOXliUHVvcThXOGU3N1pSQkVjSkVWT29DQUpkMDNkOUo5QUtFSGx3UFAxVkZDS1MrWmdKaGFVSEx0M2o0c1cxdjJ3QlJvSkhZUDR1QnVYbSsvcXpMRTFsM2lrMEJ2RHBvMTB6TlFEUnY2eWNhUE5hVHdHTGhIZ1NZU01hL0NETm8yWHJWY1lYM2duZGREWjVQSU1TSVh1dmhlejVIMHVobnFIQ3N5end2SnZ3TjNyUGV3U0tmMjFSRVZrZmVrSDZDLzNvQXV3c3oyZ1ZDWVM4RWl3cnFZQUxaSlBPNHQxazJjQk0xaUh3SFlTMVg5elQxMjFCWTFtWS9Ia1N0RnllK2Jtemh0bHAydmVWV2I0YjJlVUx3SlF0UTlvc1VqQjllQ0dVS2NBQ2JIOWdRYzRhbklNbmNhSlNsWEF0MitMelFHbUV5V3ZFSGtQWU9WeUVTWTQ5Sk5meHBCekFXNVRCNmhMdkNVVjhFbkdrc3BHU0RSSnk0RDc5RkJKVTVVZUlzdHZtYkV1QWVqYjJ2cHVwTk1scVRYQzEzeHpxZ1U0UUZsdlFKMWRPU3VTL0xKSW5GbUVVbERJQVVjSHZUVzNWd3o3bjNXbGdza05naUQ2SWZFZXk5VHhVenFxdFkzeVl2aEFaY2lOK2Zia3dyZVRFbjhRRXdlSHN3bzNNYmdMY0ZtaG1pVGdSQXNZQm5BMTVrOUFGZlhHbndaVmxXYlVrWjhmdFU4eUs0Q1drS3FTZXRVM2VBSUlIUXNqQVQxUTJKOEtnakRmUk1oNTI3NTJ3eUNBalBQdFgwbGlUZU54b2RhZFYzdHRpaERvM05JdW0wakRLNVNuZUZKVnU4MnQ4eVRkZC9ubXI2dDVrbUlES25DK1BJcDRwKzNoN1lXYzVhMm8wL1AyaHV2L0hhai94Ly8zcjlKeS9FUUwrbXRBNjdib3MzUWR4NDloZXNjdU5tZXkvdUQ2V1BDbEQwZ1JJNXFxNEpaY0dNd2VrSEdxdlVvMVpQcVJwRVEraDNqMUh2dHFmczUwTkN3Snl6WjkrUXpXbDUvcFEwMitGUW9Sa1YvUE13YnMzWHVrRUxPT3A5aWh5TjE3Q1E1Rm51YThmV1pTbWVhRnR0QVNsVGtZWXJSUTgxS3NJaHZ4V3FBU0VBZzFCZEhnaWlrcERXdUdERFh3bGhmcnVuaS9oYjl5bFF0R1RXZzdueVUxYVIwS3daTmcwclRzMDJtdnNoVUJERlRPNWE4RSs0R3FqNXRPMjdhVmZmMmdvc3Q3SHBTNEsxUVo2QTV4eGJoOHBDUHN4L1ZHTFBUMFo1ZWtoeWpyYjVVSlFtU2ljL1Z3YWxyTHQ2ckZJREFQNWhQTmpVTC9PQm1tbEFmdFdBTkovOFZ3SHhwT3ZmQ0FoOGIySGY0QXVJWkdGRUJsRHVjenh1a3lBK3JFSjhna1NtVFVqUnhZNWk1eDU5MjdrUVpDV3RleWpYSUVVR3ptcllHelovZWZCK0UycUl3LzNlN0d1MEgrV3p5YUxlMTRaenhlR2gycHVoNXpnczRkM0RENXM3b2gxZ0ZqYTFJaUdDMHNMNHRnYklVc0lVSVZpSnV3ZHc3Y3kwemhEbW1LeGxKd3hvUmVqVkl4SU1UeS9raUlWOHZtTDhBazZnVndhRmRIK0laaERyNS9TWFhjdmFEc0RMaW9JNzlvRkhHWnRaSHl0eE5od0VqSUpDOHRiYlZ1TzFMSDM4aW9NS0NPTHBOYVYrM2VkMCtnNzRRclRPOUFVb3VXVVRHUGFDVEl0Tmk4ZUdxNEdIMktiY0ZQSG9ZZWhMa0xESkcxVmFMOHU4eHZzaG5UejVObWNhMzNkYVM1VE5pc3JncDgxTHJNT3cyQzE2VjRRTG5EZDUvdGVuRFJscFhqOFY1NmxteTdyWTdoMWdDY05PRUg0WC80UVVQZk93SmE4TTl2amFIT1JaU05WTzdaUE8vSGhkL0lkdHZLc25udUZXQVZiN3Y0TG50REpjWEJtdzl1aFZDUmM4cmJmWGdNQXk4ZVVNc0Z1cWtQTUZ0Vlh6QXJDc2Q3RTBJd1I3MUJJWHhNb2pRU2UveHR2aTR6REw1NjBRaUk1ck51MGh4Zzk5d0VhTnEyY0N1Y0s1bjQ2Qi9tcEFvMldQS203ZEtVNTc1bEZCSDRUL0ZWYzJGdTBwZWJ3Sm9xZVdGWnBEN0VldFFCclNZNDN4NmYrSW1DQ0tGcDV2VFkwbzVYa1h2TG9wcWdEenoycEtZak1xUzFVSDJNdVBoTHB2blB3b3Q5SHdvcG93RHVMYU9aMTRCU0MyRktLQmF5eGdEUzRNSDhNK0pXRlFvS2RCNXVCSFpaNXlTbUo4Wm1NOFhtTEZZTHhzT3BvanRQSGVmTWNRRGtMY0xnOUFjWHVtSW1TbzJjNVhTejJuYVlGbFVTTUJCYU9UUVdlcjBFR0swV1hucVgrYis5NW93enNFOWJrbEpETWFoOHhjNHliWFNnUmw3ZzNlYkRrYVpsVGE1dzVQdTA3Wk9LVDZkNXZ3WGFhTk1EM0NPWXJmUGpVK1BkU2Z2Rkh4WE1RU0dzbnB0bExIWE0yclhuNHRuRVI2b0dtZTZuRXhHdE9hWURTTnhWYnZ1b25YWU53Z1NBSXkxMk41VkxSYVB4TjFZR3hRTFN3cnZLYjRQUWMxdEkxNFRxZms3MkFHTG05REgyNkNxVmlZNXBuQ2xjL0Z3c3B2MDBlQk5VZmNOL2p6WStEeFhKTGJRbVRZOXhUUGVkZmNrR25yVHRHWllEeDB6MmtDbDZtZG5RNlBNTnRkVDRLbm1PRjVmNTFNL1NYRDg1M1dRZkg1QjUwUE5qc0w1UHBUZnVjSHRYL3lPei9ablpQYnNUVG5qK3pPN3h3T1FlZVAxSTdpRDZlVmV1SVVpeFY1YlpuL1VMakk3WjBscUY4TGxtRVppZE50WitZdHN3a1NTTVc3WndMRVBKSGhRdWg3QklBMnR3U0FuUXNtdzNNRnltMGtpV3pUR3NCR1BOM0ZNbDM3a2lyeExSTUk4YlRhUFcwY0Y1UUxYcVhZUnpCK3RwL2NNdEQ1M3RZNnZUYXZJcEpaUHhRb1FvWXJnQ2w3T3BXRzRpS0FyYTBDOGRkMFpVOTlpRjA0dDVvVXJ3aFdMdGhzQURZUUVvcWRMUTJaYzAvelJWdFRXcXphOE9BcFlMb1FkaFF1Sk5hZ2dneUdvNFNJaUo2akhXbUJVUFBVc3lUQlJDUWhaRUcxVjhSRDhmcmNUOCsvZlRMMWdzbWlZdkMzaytNaWltV1BkajBJRlZDdDlhMGIzMzhMZ3NQdXJXSFJIQ3JWRSsvYk9IQVRpcjhYY2R4TlRyS2lxSWFBWnhlNDlsZHFCcEc1ZUpqMU1uOUlyR3V2OVNQZGNvQTJyZkN5UldVb1hiNlJHNkxHUGxMUDgwYUI2VnREbGl3ditPYnRNUnErdk9SQ2FPRlRJem05Wlg2S3JNZGFvS0UyMUJHaFFyN1FyVVJpT0RoTEVrOXVHQ1FZZDdZUkZDVEJZZmtRQy9ROXM3TVNpQVY5OFZhNEdMYUVVV3picUV1OTJHSG9VN2NZSENIK0pxakVBcXFFWnB5WXo1QXMrMm53ZWpQYWIzREtRaUpZUnoweFB1VlVickZyWDdhZERTbldMVWZGTllqMnBkc2xBSnN3aHJNUkhtczBlY3lLL0xENVNTMzkycERubFhSRnQzOWhrOG1TSG1TTUtRTTdaSzFvYlRicDNnZEo4LzNIVjZ6NkJwMGhML2plSFo1b0RjRzhMM1ljaTl6Mzk0eTFJVDVyUTdGd3RpT0NXVXlUSkpXTCtDeU5lSDRUNG1DYlNEdDBlS2F2OFdhb0kvajNwMERLSnNqTVpTUTRoYjIrbUNwQXNDd3o2bTlWWjI1RFZKdldYWnNWcmVFemJNVVBMbkRaMTczNkdDWUlocXpOWG1ZWUwzelp5dExrb1lLdEZYcVNMYzNFQ0FESG1seHJrakMzdUxsSkZydXNaVTlMTEJrVnVvc0ZCN2pTeVc2Q2pmWnpkb2hWd2UvdEJPcjdIdGF3b3hJZUs3WkNMbVlQaU80WHEyTXUxS1JLOWppR1RjUENoMG1mYW9iWlRuWEwxNkVOeGZROS9Bb0RZWGZoTlhnMEcvVlk4ZGl1MC9xUzJUdjdwOUVxV0JDM1pYZFZ1QWZFeFdLdEdON3ErWkx1YTllYmRTK0liTWlrV2Nxa3BvV043T1VwYURTaFM0ejdxZmdiME5PRDJLUEdPM1FwNDJOM3BvWTkyZEZwQ2pRQ3NNbVpTOEQrd1B0L3VpVFp1MDYwWUM5WWVWdUg0UE8rMnRCRGxBUFdRN2Vub0VPM2hpWDdHNTVyZEZIMUUxYjdaUVVjM2dXdTRvZ2Y4Tlh0dFFuMkNPR25ZSWNqYTlnUlpQdXc5UlY3d0ZBa2xpZUt6OWNHZVJpaDNhdklhSFMwNGFoQ01oYmFOMzBlUzhjQlZUcDVMSHZPaUJnSUxXTEd3QnBxcS9DY2lZOXdrWjhXZjltWGg3TURiOHFMaEJvSFpqeFZ0RDBaQW5qYkJvMENaeHNBeG1FNUNsU0hCYnVmKy9Ub1JHTTRscDFodUJxTjgwRkt0dUVBRGRSKzhvK0xxSXFvUUZuY2xreDN4VjUyUnNyQ1B0aWpVNlpzVWU1VDltVWhaVFJ4aXluWEUreTM4cnoyMCtLRVcwTmoyVmpDWXZZOHN2MzVMOE5oV1orQ2E2WExHa2tMRGdQQjFKemViU1YwaFJ0dkR6R3NFYlR2UGllUEZrL040dW5SdCszSlVzc3h3eTQyKzBCR29jb3ZzWThvQkxDZHMvSWJ6bUVueU5MMnVFZVcwOGtoaFZVM0VmdHVBQVQvdGtldnl1RVF3ZDB5eHVIQkl2WVI3dHdxQk1DVCtmZ2tHM3JzNWcvOFB4RllIUDB3alZlWVN6THA5VVhBQXVqajkzRHlDNXJPajl3QVNGUDd3QzlpUk1JNHQrVlhIWE8zOE9KOTdqUVZpdkt3YytDRExUbE9BV00weTlIV2hTTEhKZ25wbnB0OU50MjJFdTdYSTJnLzJLSnAyeFVnSlhhcUNxU1BSN3AyT0Nkb0tWS2pnYVhodWV5R3g1a3hudWVyZzdqM3ZkK3BvdzBUVWJCNGp5U0JKT1NqWlorYkFMdk1QVUhvZ0tKNWl2UHg3NGJ3ZS9OeUhsaDdmaVo1Z0tyQTZZQXduVGFkYXBVMnY0VmZQeGp1UkpUQTMrMHBPdDIzN054cDRCcmo4aUlkSldFZFFuNklZZzRtd1I3NXRJRFdBNjdpK296Y0lOeEk3Q0pYSUFtMHN2QlVvVG04QUtPNlRsVVFIL0M2U3QzMHBiTmlHaXlEaFpYL2VsWmhKVEdMeDRJRTV4NndVNTVXNVJ2NVorbWFKeUtYZlRBQkxPdFdjTUdTMFozb1BrU2d4Uml3VGxRM0RERTYxYU1OOTZoNmhBUGdqMmRwUURZMVFkakNGWnVOWThsNDVrZ25HYUNESnJUY1J3VmFUNjRSNDhja3JTejc4MS9rM0dBenB2TFdDd0k5WlJ0UVpEemdCa0FncjdZWFk2Tld3VXZtTXpwRzFwK1QxUS9OQTdISFJvRGFSSkxHbmdXSDMvRkRhM3VKSHNSS0xUQkNuNU5kc3M4UDNxemJuZ3lMNElJVkFZWHdMc094cHdtZU9nMGMvYnYrakk1UVNHVEp6YkpNQTJxeU5BRHU5SjBnbDg1UWc1dXR1Z1cyZldhQUNGV3ZSd0g5VWhSOEFXRnpHci82R2dSZEM5bWlaMzJZZFNLOFlVRElVM1BGSnBXd1FidUJUbkV4ZnRRMlRtQmY5c09xT0Jya0NNTS9yYU9KUnJQR09KcEYxZyswM2VKZUdGU3h6aEl6OEt3ZXY2eEhrVGxLSlVsa1VmVm5KNGQ1M2drenQxN0hBenhFc0gyUXhWNWNhd3EzS05JZVI4bDRvQUpGQStnZk1MdStaNG9JNEdMSGJMUnAxcmlZUFZHNms0NXNpZitmY2JIeDQyWHpyNEhOUW1Uczhic2lVSm1zbCtINm9ZamRkUFNSY3BZZDN3TG5Qb1RjWmxKTG05My9aWVZycW56T3kxWGFZYmJqaGJERytzWW5nT3BKbm4rcml0ZjNUQk1yc0kzSERubUVZQnFuWlVpQ041RWhqN0tud0tCN2htcGVyS0F6Wmo3TFd1QWN4NUJlbTBtc2owQVdsUXBXMjJHVG1rSXlUWnRsVHBFMEROdUtYbXRQVTNOa0lXeWd5Vk4xbzNxYTA3SUNnS3RzWjU0T1FJRWtLRmJybUt0MGxrMHdqSjRwUWhGb3RUMitYaXpHK094YnJRdFVZRFhzclZtd2htRGJPOXUxZ2FWcWpTbmZYQkdHVXgzWTByRlI4Rzg1RU1WVlRSQ3RhU3J5ak9xeGhPTk1BYnFqZmNvZjlMM1pSYk9reVkxTGcvVEJxVzdMZng5bDF5bll1NjBPT3J0bTlTcWFuSHUxZHJWVm0yS1JYb252SVR0bWI2Y2ZGSmJTTnJHSXEzalhUNjZ3bnVFaHBwRHVkWUh3ZDdZQjlrVzl0cG9KTzl1NVFzUFhlTDZ1QklJOUlJb2VqTnloQU1zVUVPd2JGc0hXM3ZkSlplRWlQNk1WdUd0VWlBWE1kekluQW1kcDQ0ZGF4Ny9YUC95cjhvZnJmMXovQUg1YU9HUVpPM2JOeFJJZEg1dVhuUkFUUFVpOVpUWGJpbXJ6RGNzVGQvVGRBaEpxc2xFWE0vRmtEbmNoZGp2S3hzazVZWjVFMC8xYzUvVGFPc3p1U0pMUUdzUTdHeS81M0czbGFuRHdUYldIQWxjZml1OVJGcGJaaTUwdDNTaUJXQTVYc0VsYWlaUS9ITHlhRWljUUkvQk9TTWJWYjQ5Umt0VlFOc2VjbVQ1SVpNK0phbStZSnlMV1pOaUZnV0JpdTM0ZDQ3SmNuVEFTVGQzT0JWWERWenhDaHBKVmh3MHNQcU5uQzhuUElGRDkrSDVzbnJON0ZTVDJZb1pWT3RnenIzSll4eTBsZEJwQjk4RFpRVGhIdllQMUVWM0xkUk1aK0trZHlkbUVTTG1Lc3pYZ251Z3hqRG9IbEYrSGVFR1F1aE11Y0xzVnovVEQxMFdxVDdKUE1IdUF3R3VzNWp3ZGlTK1dqVXFyNHlIYUZQU0QxUkIyNFh5MUlna3NjSnEyWHp1OElKeVkrazAvMWNsLzBwNlJjZVE2MkFWTHp3Rit5N3lKY253aVc5QnRXUHlRRE9xK0FDRXl0VzM5MWpRTGpabUF2aXhpa2w5Tlc3WnNIMEN1VjhkL25lRlVMMWorVFJ1OTJOd1A3bzA5bVIwN2RiYjNaNHQyUkJTak00dlZaYytaUlFEbFJmek5jZG1SQmJXeGxmTzBRcldmd1hOSVdkNGd2dXhjRWpHKzNFVTlKSjFDMnV6cHRISktRaFNWQ00zaGQ2RE51S1hYWnVmQUFWc3VBQlRlM3g1T0lnbnNkbHF4bHh6Z1lGMUIxYldKeE9hVkliVTJBRjFsOE9sY20yVWFKWEo5ZGJQLzdIN0MwTHVwQzlNTlQ3Y3NoTldwOXM4OUZnNG9Lci9LZmdDb2hQaXJFWG1iTGQ0bXVyVmlHeWVkYVRvOVJiSlBmZndhN21IN0RQQU1TN0ZFWHJFMHpzZ1IxTk00TTFsZ3lyZWpSQ3A0UjZnd0dXSFZ4dlQ4dWhMV3FpMkg2QnRIM2ppSllscm5pWnNjb3BneXdZS1lNNi8zN3J6YWdRaE9hdUd1c1BlcThzOW13KzYxU2lVbzFRUWR0M3ZlbkdNaHlHS1U0WkVtaEFmayszSzRia3ZkTElqWjBhYks5NXlMejI3d05Zc0wrL1BZRGtGRE9QTzA4bFNnY2tmVlJZZDVSdXZkVUtTWGM0bFFsSXVBZzNpQU41eENjU3MrWCtnQVNoakw2bDRKS0FwZmY1VFh3WUtqS20zeTNGOWhOZVBGTzhPNzdHeDB5b1ZETk12SGhVQUE4UFhGeDhFbnAyT0F5bnRTOEN3aWEyZEZyeVB2SE5YRzMxQVQ0TkZXNGtEemw3eU9FRFhVaytha0F1NXo2aEU5TU5zcXlZMjZzeWkxdjkwalYvemI3aGRFMmszc1ArMnVOZG16MjI0ejVPS01LUUdQNmkwUUtrUTRPMEtTczhLU1V5ekRaK0hFTXpkRTFhcFMvZVZhZXptdkFDT0h3cnlaQzI0UUVIQUExMTJXNmVKZGtIQTdXZVA0R1hsa1NYeXc2cmJhQUV1WVF6c0wvazRKR1N0c3h6UWd2bXhQc0Z0NjJXQnUzUzUwVmNpcUd5cndnV2JOMlg2d2dkNHRjV0JYNEJiN0ptUURzRGR4OFN4c3MxNGRVL0N1TUZ1WW5LM2VqdmNzelpZdlFMTnpnNDdVTzNVaCtod3FFN2VEWjc5bmRxbWQvYkF2cStteEhKUVgvby9Mb3BvN24yRm5mSmxJczFqT1hMUElXdzUyTm0raDBwbGVsMVBnTEloK29ZSndBeFR4K0lnY0x3cDFPYXZGZ0dGeXhoUG1ZcFI0aTNYSmFhTmx4NWswWjRGWHlwYyttZXhhYVNkWHgzNVVzM1phcDZNeVc5V2hsbW5LZFVZSVd0RDdoTStJWVNQNDh0QWM1UUhQdG44bUJpZURmQjY2bm82TVd3NkpxRjNPbkgzc3hjMjREQjVwM1F5TVp6WUhYa0E5VXdJUjdaL3RGOXEybTU0bWFuK0NsbnEyT212bWxNNTBCd1FrU3dOTlJXNUhYam9FeGdoSlJMSlJIUm8vbGFRNExTUXhlcnBSN0pERWUrNkdmSHFKSzhFYVdPazNOM1I3S1o5OVJxZmt2cGpmeERiUTVOeThReit1RnUvdGRKZEtHRnpPN0pDa1RZZnVlWVJwMjhjMExYeWZZdHlLMk9HTnEvT01uSzRRUFQ2NHR6SGdzZ0VTSVpzd1l0VGdhNi81czdtWnluSTBTL1VkSFFzWXNCSFR1VFNkS0JSTXZ6d3FEWENVaU9JMHBHdEd1MFl0T0IyM2c4TEVIWWRSc01VT1FhbTh1L2xLTE96R2daRktFS0JvQ2drS21LRWhlcUhvY0ZrOGJMK1VmZ05MbTl0R01rZEx3UjZ4azk2emhjTmVSN2Z1MHg0NVp4amxKRHNCdTBSK3MyalgvMU5Mem9aaXoxZnpjaEp6OUFEanpPT0RIU0VEMGlNdnpXTTVHY0IyUVBndTI0Y202aGtiQ2VkSWVkbGxrMDgrdFNja3JYTzBWaE5CYlg5NzBVN0padjl6V284YXZKWE5CYUFDWDk3WFlpU3JkbzFWdHNWQWRYck5aK29BTGtKSWNtN0hlckl0N2NYWlFleE5pK3V6d1JBUEZtV3lsQTVjbDllWnNMQVNld0RmZ0prN2JUZkV0Vm4xT3Q1bytsSXl0dmRqVWYzS1lJQjE1UkNGYm5jTGhLZnAyVW9FaTVuU2l6Vmx0Nkp4L3dGZ0s5Qm5pOWo0TzdIS28rL0hVdlY2Y3EzQm9jcjJjeFMwUElqaTRCYXU2Sndxb0FHaXVkTzdtOHF6aHAwZGR3NGVETXhCWTNnOGtZK1kxcTNPTWp0bi9xZkhjMkZlUkROOTcvRElNVE1oMFBsNHRmYnJjZklJOHF6ZVZnRGNRUEhKODVnNUtJNERhZjloTWN2MSt3OThORzcyUmFVT1hCRFQ3eTlhaDh2YnJQZVlhSFBIQjVVelZUT1kzM1FqVUMvd3hNOUJBYWRlL3U0T2hTVnNPaEhyNlU2N08rZFcyQW9CMVNQSEl5U3l3d0N5cmpmL2lpMEo1bS9iQ1FSaW52R29lNnhwZXRLcWVaVFdaOHV2OUFYRkRsTkFISFkxaUQzczlwdUFDZmxNNVFYeDZ1WHM4ZWRNTVlDUERZSlJzZSsxbmxFM2RzMXVhRjZBa2lUbk5jQmliaWR4dmE3L0diTmlsc2Z4MSsxQ040VFRBV0RuVWJROWMvdkJYZ3hibzcwTkoxK3pTTzh3N1dMeGJIZXdYaWV1bnVvYVhCZi8xZnUzdllnT29iMm5rNHNjNmZYWnhJdzlnT2RGZUVNeERLQ3NPUmpxTTFMYi9QMFI5d2g2anI3emVMV2o4c3FwS3Q3Mm9pQ1duTGxjRllOZ1ZtZ2VURmhhdE02QXJoYndwK2JzUTJ1S0FJRFBDdnorMU12bzhqcUhwWG9WMXFJVUQvMXdOY2NkalhiS3kyRU9DWVd4UGZNbUppQXJwc1dObnZUZlo3ejNHeTZvMkQraFVScEswTDlxeWhjelE3NkowS3poR1c3V1hZb0pPMzN4NXN1RmN3VFY0L2dqTzJtS1F5VDNHVm50L0RuSXZQVXpVdVpodmFQZE9aSy9nYmRPcS84UVJRNXlRV1VUbDkya1plOEVhMm5DRFM5OEFYTEgyRVhWcFMxMDRUUXZUUk9iTUNNSCtVNUZwM2w0cTJhdXR3SEpBV3RJRHJSR0ZoYWJSQWg2emxvdEhsdHVod0U0d29hVmN6ajI3enFWdzhYQkRsUHJCV0JEZEExRmFQU1F5ZnFRR1J5TUxRNVh1TjFZRGpFdWpvU2RpZGR0MXBQZFc2WnhQNURXNTNhWTVyNmNFMXljaCtjMFJNelowNXB3TDJBU29zL2xwRE12ZFlHZjZSeVI4Z2M0K1RJTnptZG1TN2tKN2M5anliQ2VhSGNySzJxZ3Nya1BpY2oyZU52OEJKb0JCd25tOWp3dWNKWm82ZEdSSGl3Z2xNVXN1SThGV1phbmVJNTYwcnVaYnpnMUJEcTBDclJ0V3Bqd09wak4vQzRYSGR3U0lPV3hOR1E2NDhHcFYrdUtFRElmcllHMlFwQk9PeDJtSlR2TlVZTFd1Nk8zeStlUGNNQ2l1TDJkK0NBa0wraUNyVU1FREpoLytkZ2tEeENjelNCYjNQbFJ2RnNEQVgwTzlaU2lPc242N2JjbnF0bnhWQjJ1UFpKam0wR2JaWTN4aGRzL3MyUWtxN01XSWNUM0dlTmJZY2g1Yi9tUE8yVzFsbWVQVmc3ZERoTUowMkViYzhwNklSYmx1VHcyaTA3QTR6NHJmTlJCamtHVkg1MHpiOVlnclE3dk1WVU10MEpFSjhoRjZpQ2I5U0tJVFdoYlNlbWFMcDFIZHBBS3p6aXFoK2pCSTh4enlieE5VZzQ3VE0yVGRXeEVQaHlNdmc3WmNkWm5YSkM5aXdYTUdYNzBkc2Z0b1Q2Uk11aGFoN281RStBSTR0Y3lXQmFEbjVtSlBLVjFEbnE1WHlzRWlyMEZuU3VLWjc0SFJMUFlyVTBnOXNoWGQrTzMrNHlDdzdJa0p3Y2Y0MkVxMHRMMFBURS9iT0hCMmVaK3kzVnNidU8waHpIeDRhM1pydXhnT0V6YlRtM3I1bStWZGJLczMrSWw1elRDVkk3c2FNN05ubm5ad2ZKNUVqUk85aUtBUXdUWkRXS3hXbDkzd3VGZy80YWQ1Y0ZheERPNDdNT09paFZ3enNnOFIrL3pxaTNyanpiTmdkWFJtbVJFYVkybjZQdUZTamduU2ZZUXpvbU9mZVFZQktMTXJ2a3p3YzdPOFp3dngrNmY0ZllQQkVuY2VDVkt6NmxXVGFZcm0yMnBjVFJMRWRBOTJxdjFNYzVVdUNIYTIvNzJCUnNCTEIxMkFLNklIcFBMeHJQZjVCeGNCMGJaZUJmdEZMR1V6RWNCNUZkZXRVMzJFQmZMM1J4ZmlicTZBUElVcmI2MDJUNmZLZEtRdkFBdlk0M3Q1cTAyeWNWNVlPcWdYUHVzRERXcjlWcU44Slg5Ni9raTJJVFZVRDdVWVZvWG9QVG5zajMvYnR5Q2pjWWorUnFjeXpxTnh5NGJlZVhqbU1uYlUyV2c0eHFLci9zZFVYMktRSzAycnNleXA3eDNFSitSQ0M5ZlFLdmw1QitSZkczSG5kc1JsQWEzUXdBSW1WMUxKdmVlNHVobFFrUkc3N3dKS1pmc0NLM3pPUWZVWnlxbXd6QnRWMHFFTkxZV3VGeW1kcXFqVnNEc3dqM3NFdXd0Tmxub3RDS3ovVTZmSFVzbURPZGVHb2Z6czNlZDVzNm5kYXI3REdRTVcwbGVpTFErZ2NOUjJGeG9IUjBBZStDSVFMNkhTY1Y0RHgrWUUyWmVrYWtZRnJJS3NpY0xiQVpnRzdUdFJMN09JNEdzQkhwUTBRNmk5akVSblVoNFNtbE45Y1ZmcWZ4N1F1ZVFEaTk0VlFuRURvb01UdFhhbFNEREd0blBDb0lRMFZsc0E3V0gvMjg5WTV3czRmbHI2SFlpYzJ0U0FLRHdUSHpHQTlBczF5bnV0Q29wK2N3SVQvQlJiYXVlMlJaT0luSjhxVnhQbW50T1dKeEpqaUpiQlZWeGp1Q1FacWlDeTdaclowK1lQWWxPUkF5RVlQU2lGTHQxL2dWY3h6bDNzVFhrT1pPNG5NMW9sL1FaTHNSclBNKy93blF1SElEQ0lqcHVibHVKdno1QnpKNzZoQjYzTk5LWlhPOHI2eHZkWTRKa2Q1QkpxK0swYnJ0OHRtTS9Tbldvc01PRE1ERTA0SEppM0YyRHg0WFA4ckV2NXU4ZHd1TlFMdE1QM1Q2K25LeGJDY04raGl2RGIvT1ppZXVBR1FkT1pQMklHOTVvMWZjOHBNcVNwdFBicmZKVGdBWWZLR052a3ZPUnQwOGJtUmYyMFcxdHNMVHlTK0VwNDNhYzRuTzYvWjFJdnUwd1I3WEU2dXhpL05tU2FmNis3UUo4N0dpUzVUaXVHSmJrZFVySGlwTzJUanNoUHR1enRVMVdQRVZreG1zamtHY3NIdGE0eks5anBHQXhYRGtoWlY5V2hMUFFZMGhDUWZaWW5DOXZuc2xHRDBlblRvOE5MU3MyZUxDZ3RpRUxGa1FQTUJxL1FrM0VkS0VTQjl4M09HRy9PcXpiYytVN08vUU1FbXA5b3pNNVlYVk83UWtlM1Rrc0lVNGZJd005WklOWm16SHFaUmRldDM0WldVVTBIUVNheDBJQUVCMU9qSGtSOGZGQzNPWG4rVlV6TmJPd1RuTTJnZVRJN0dYZG5OUFBWdFdqOSsxSjhubUVUc3NlMVRUc09ZbWlxWnpKenQxQ1VqYkVrbGxJZ2hKcm5tZGJGUWRMWGVNOG1DRytDQ3M3M1ZzOFBVNTludEgwSGl3RmorM251VDByTjYyRWhxY2lxT2Vwc2JGWFFXUkNpd3l1M2NkVkNJUGd6SFNLbDlVVmhBLzdqWHlhRlZ4M255Rnh6dWNiRXVGRGFnZUNFZlJweHJLTEdNY0cxZWM4eG9WRkM1Wk1ycy8yVWdMSFo4TmRQc09hc3NZL0hPQVNwSnk5clFjZGhjL3NjeGg1V1JUOUFsa2VqQklDMkZySHJmTFNSY0NQOHVVV3dta25URTZPVjJEWTRGT3JKZzZkcmFkSDhDdlhxeGMvbmd3QXpNMm5YWlNOcEd2eWhHYUNncUJLV0o0d2xCTVVYck1hUGxmRE05MDVMYm5rWFV1NUhCeTFidDRob0ltY1EvUVltanhySDVBZGJzV1p5Q1U1QnM0SGpIbVVPOC9NaG16cnVNaGt3K0FMaHdUbXBKcnJnMVRwSDE4MVRMTnlNU0FmSVlUck5uK0VKWVIwQ29vOXdmS3dhNXhuUnRnd05DcVJGbnJpMEhtSFBVcmhjdjJpVTFvY2cyL2VIdk5uKzNCY1p6S2tkVW94WGdMa1poY01sT3E0TTB6NzRrMVpNMGNxUDdhR212WlhnSG00cEVOeDAzMDVUZUZrK2U0enN2UjliU2diVS9WT2pFZHNGd3d5M3phMm4yZVpmT1laNEp1dzVtQnZHMDd4Uk1mN1EyeFlSQ2RlV3B3Umc4Zmp6dUQwRVNMVG04TWpyd290ZEVobFErWkRmMTVQVTZFaHpZbmgzMm1FZGNLTUZkM2JpZ1VucDhYNzFORi90amxMTTFnT3BDalVhSnVIUkhSL1owNDNHR0MzeUxmOW44blFuUkVNSGk2Zkt2Nzl5VUJBdE1VRjMxYTRxYnFMYklTMVU3dHZITVhpVitkT090TEQ2aE5ZS2lFL3p1REpPRCtOTWpaN1BzOVAxOC9JSDJ3RXNMK2NZZ1NYeHRpakU4RXNOVHd0enE4QS9kMjJ4ei8yQ0hUMnhPWVdKQ09PQzJFR1grNC9xc2FKL1E3YlFRQlpvWWNHdWxXdTFlb3ZyTkU1cnRzcFI1OFliTVVMN0tBNm8vaDk2NWxydVRCTTFOWUdOODhBbkR0Z0E4RmhtUWpONlNEb0JlWkRCTE9QQmJEakhFTHdWZDVjZlltT3RwVUNUUUkzMm1kSTBoZlNaVzF2UDQvVklhcER4bDZrOW52TEFCT29LZkt1TTdOQ1BMQ2p2eUsxUk9xZWJjOTQ3QWhTdDkvWHVPMlVLSStqTW53Q0RqUXUyKzRFUEtsV05OdG4ydkl5dkVrdmRxVEVwUTROanQwN3ovMGc0TmpDTUIyK0RuVERtQkQwVHNmM0lWQnpnTnZRNi9ZemhsTmFycnBTbFVHZnUrZkZ6UUhGODhVZzQ4ZXRvV0E4Z0Ivd016dk1hem5WL0E3d3RxcnE3czZVZW4xMmhGMVF2TmR0SVZwWUJNa0owNnNGVE1SUkw3TzRsaFUyczhDQjJIWUdhRXF3VC9YZmFZSHljTWl4K1gzNGtNSk1KQjBPbkxjNDByWnJLZmdIclhGV2c2ak4rL3U0SE1UNjRjL2JLR2VXRFFKamdZeGo3NTA2aGlna0RGbkZBNEttZVZ0NURGZThRQllZOUxkNklNNWo4SGJUelBFTjA2MGQ4d1VvUFhFa2ZpMFBQUWlrUVA3eTJRanMybXpCL0ZWS2xudllIeDU4T0E5czNQeVNUVWZ1UjhGMUxBODNDVmk0TXdkTDMyOXdZcFd4M2o2K24vS29hdU1wck5idXNuNmU4VE1PaFhYV1BRcjljUWQ5TEJEczBVa25acG50MDRBOXFLelk0b25hOGF6VHFkZDVYczR3N2FhelFJd2tGQ0RwQUJBZ3dybWNyK2Mwc3BYWnpJdG11QnNSb0RvVUdnMmY1RGFuWWRFNUVkRklMbXFkZ3ZCbWR0RHhkTU5YMVdvTnZROXVFUWliZGFESlBEWHJMVUxiL0RESGVTYmFldzFqd3VOa2Z2aml5YXRidEdkQnVQWER5Tkg3VjVuYzU4RCs0UFMxQndMNUZvamg2WkU1VTdReHlONWZINVBuVThoWVRaOFFVY3lyQnlLb1RkWUJIKzRQd1luSTVxTWVzek95YlNhMU5zcHNNU0NUbk1kK2ZVS3lVMzU4SXBVUEV3aU9rcldiL05UaFkxQ0ZOVmJrMkZQc09CM0VySlZxYi9JNUtwYVB5S3pMTloxQWMwb2RvNDl1eUVGUXhxOFFDZmVaeER6RVRaOVQxcVd6RG5UY0hxQzlmRnIwak0wbjZPd0ZyUWxPRFN2MmZTVnJWc3JwaE1WSlVOZG55Q0NZMElGTUk5NlEySnc4M2o3UGw0eU9XSzhSZWZMQklaL3d0WHhTSGphVW0rb1o3N1FySldQeFhFNXhVQ3dLMUFlc2JLT1NUZkdPZlBtNlJQbk1nY1Y2ek5VU3d5MnNIaVhhTzB2NFNJTVhPZVFTTkR4SjB0UDRmYWJhcWZGaC9zdGFKQUlDdi9ZNGJ6dDlWeFlwSkZVTzBYWXVUenE1L25rb3UvSEExT3hKTEh2MnZKMjBCN05wNXJQR012QnhYeXhGZ3ZvdER3NlhCK2pGYnMrNStsaU8zTGZRR2VkSXArcmVzckc1N3VqYzNZM2RPc1lmWSsvZXZvTzE3OHZCRW5leUJBTWk1RUFSOWJRZEx1TzBjeW05enpSVnJNc0RUc05nUm01NkcvYlFtQ1k3UVlQRnZzRVczcHdMSkZaOVRrYVdJamh6eEVmdlFXS2NBdS80Y1hqVk5nZnBXU0ZyWFdkQnF2dUFoNG9kWHdnNmZvWFA1UHF3Ryt4b0JuejZ0SVJidE04aU9hU3BPZmZVc2JtT2tuak91SXpwdWZBY3lyZnc1c3NScnl5SkZQUFhzOU13eUdrVHVNODZlVEUrWU5iNXo0NHI4ZnpFZG9UUHlBdjRQVTVYbVYxMjRPZ0NxM2R1TUxuSWJDdG8rOGdGQUZtazFEcXpvM3pvbk95TEJlUm1wYU1lUmNGSnpUNlpQdnVlaTQxblM1N1hHdTNndVkvVFdRQlRLSGVGVjY5dFRaa0greW9taTJ6T2M5dWVIY2JuUXgvMEZ4K08xYS8zVENpMTFNaE9ZR0lIckxIN2JDZXJzdGxESjhkVkoraDZ6T2ZEUFJ3bGtwMDVXbndLVFBJdVRkMWNJN3BYenpQeVQ1bGVObHc2M2dKRzlxQUNsSENQTGZ0UWlzOENoalBQenc0NTYxRWNWcGxmUi9aZTJJbFBuWU9heEF3bjgzZ1pjSWdvQy9UNnlWcURiUFk4bktkZHpXb3Yrc05LQjRQUjgvajRGeTVzK3JBN2EzRjhvcFoxbXltY1pGeDAzTnVwdC9ZeGRQMHRVSDY4OVIxbldwV0hOdXdLTXVXUjBRTUhNNjdydTAvNUtmdnpoVlZPVnQvU041RFVKOFE1VU1hSFBWaHFOTXlVbU9xTHhCK1dtWS8zc1ljSWU3YTJYWTZYZGlpaWJXNDQ2ODlNWkd3YXh2dTVKeU9jeHpqc2JmL1RZMTdmTWp1YkN5Q2J6bW00bXdlYjR6cVJPL2xZWWVodzhyR1B5OVF3Nkg2eXNkc0gxK0syNTdBMjJoWmpoMlV4a3hOOWhBOE1FWmVFK0RwcmJOa3NrYU1QOCswK29jN1JURWZ3TGl2R2lJUmVDbmJoOFlIc3Zwc3ljSnc2RUlzZjVWUFNjNWxXVUxmNllMdm5IR0RZZUswY1JKN0FUeDdpQmN5TDNmUkpJdzQveFBNOUtYMGo3bHJzdXpsbmxsZER5dmlJaGVjMkxZMjVmUEZNQncvTFRyNWdmWVJUaHdnMnhBZTIydGtFNk96aFUrSFdjdjY0bytTMG8yMWZvTW1qZTV4SGU1YndGSityTVFGbHgxaDlCSE1mK3VSakhHQlIrZGVvcWZ2MHo1aVlQWDRNSGprU3gvTnFXR1VqMkcySEREcmdLeE5wWVhIZFpwWGlRNWtMdU9DY3NtYndSUUlhWHl5ejhEUGZlb204NlZjL0k0cnF0YXdmTmVxMFVqMkEzYkk0eDBjMzJibnNRMTdzUUQxUHViS3BHTnN3N3p6MlJiU1lSaFdIbnBxdDRyY3RteVo4RW9BbXhCYjVacnFia0Izbk14NWJhWHdpeE9jakhoM0RpVHBzRnVnQ2xzMnVNcXR3eTdiU0JEbjNzRGg4RWdCUHdQaFRUeVBCNVBuZG5WN0ZFdnYvZVo4eGg3Tjk3Q0tNU0NHZkFGc0pSaDZiblRHcll6cTVQWHVzV1oyQ0dJZlBkNElGL3IzaGtkVzR0a2Q0UG43cmtZR2JxSExlRU84QzZ6QllFMm5FVFpPZ1RqcVJRVHNJQ1hlSzJlZWNkc2M2eExhdVUxV3JCWml0T2dQYmEyMU9GL1NRenZHM1ZreGd1WHRHQjVXZHB5Q2RWdjd1V0NZVFV5THNlQzRIV0ZydFlNdEtkQW9RaXNRSjYrTnpOQ3ZZOFp5Ukt3NDh4UUNoYThnY09LTlpWQ3VLZ2s4cGZYekNRRlhLcnZBNUU5OE8yZXpqQjZyOXZpamY1VE4vRytLMU9QeTZPOG9TVW5JN0dyOURlN0Y4SStEc25tV2o5VDJmeHlpTEhJb0ZnSSs2OEo1NzRTeE8zYTdMNThQNGJKMEEvcjNxcFNSQi9FenhlUnFSZlFJVHhoaUFWcGpGbUQ3Y2JKdTI5Umpma3Ywelh1MDdCeCtPNXhDK2ZXNVdQdW1vZWNvWUVWOEFjcnYyUExOTWtHZndSVlpLVU1TSnN5VWlIakhHMTltSHFUdSszeDZUSHM2elNhQmV3SWZEK29vUGRBNzJISCtWdXh6V0o5bXBCdXQzakh5MnJRekYzQ3JvYW1JZm1MdWRNTUNOUWRSc3IvQTVqNXMzdzJCWnZldk1BU2svbGNTT0xEelBKNFdPTCtOR3NSbHlxRHpmWGoyMUR6NDJPUHRvaWNma2NiU21mSjJ6MjR1bEhvN0U1aXFRaWhha1R4K1RHcERlTXoxQzJVZjR6QjMxNWZOVUxQVzUyK05qcVo5NysxeW5ZQkhVNHlOVG5UUnpwamVpYzMwR2VmbDV4dGdwSC9MSkFzUVk0N3dkYVdDVkE0SldjVFRwTU4zdHdUVC9zbXU3VjgrKytDN3JBRGtFOXg3SENWaHc4bnBnN0lPcEhYWG84eHA5cU9PcC92Rmh5TDRZazM3VTA5RkJremJIM2FnREJ4dXdXdDI0T2thMU5XQWxqMElSRkQ2emFaWUdlWHJpT2NDM1dKL2xyY3VXdSs4ODdheWZydjdoZ2FYajhweStWeUptZDVxSEljMldyampNd0dNZ0tCZlUyTm84eStVcjB2aStjVnVqOCtWNGcyMEJrMCtzdzRZOWh1WENpVUdPVFhmcUdwVFpKeUY1K2o1Zm43c21mOXYyNHpxeC93VDR1dXBWUEhJZ05IZ1c1SUZ1UDdNOXZvUkxmZFZIRDhHSUFmZnNBY1I5R3ZlVEQwQWJCZG1IQTN5UGVlRVhMZEtHbTRyN29aN1BYRWY4QkNKdm5ScXY5eG1OVnQxR0h3NTlocDFqSDhSdEsxVXNpMkZsZllidERENnB3bno3emhIRWM1enpycWRRREJhbWhTenA1NW56WmFzWnZvRTVMZ25rNFpUSnMxdmxmRW5UY1h6ejFKZEVINXhta2lEeUJxOUQ4ckZqYkljRmwvTE94ZldiZzdRbXloSFdEd1NCejc0L2JxZjduR09zNnZVMHdRZk5BUm5Pckx0dDVhaHE2L2M4eFdQZU9UbmNzMFdUZkZZcjNSNHBwek9nVHp6QlJ5NnJuQUNFODh5MEp3MldNcW1uaStOOWJhYXhlOENHZm9tQ3d3THMvZmc4ZXpZVlBCeGtyaXRhZ1dDVGdnY3pQVHZFMzRkdUpwK2ltQjJ3ZFNyMVgydlpBRUZqNkRlQXpXS2F4SWR3UHpBM3Uza2lvdU02RDFKS1g1cWVmTXRLdWRKbGhwdG8ySDFNd1p1ZHR3WEVxdWVjOHd1YXNXT0FyR08rNjdRamkrVytQaDkvKzRxVEZpVzBEaUI2U05LRzAvaHR6MFc0d3BpMlJsODN1NUVTOGdQZHlmWjRQb2lSR2J2aVpibWxOWWFXZkZvbGlMQllwalNmZDNZRjRPdUVGTHVYMXZESnUydlk4dTJENnQvMlpXUUlkdTVVbTN3VkM5VzZjK1J0OGJQWkdtZGp5WjNZeEJyYk1YdGI3dm42Q0hFY3cvUDU2cEFWYktsWk9rQzQ1SXJTOVZrTWRkdVVaOE5Fc04za3RrTjN3YmJsN0dCcFF3QzJuZzArbm9vNDhqaWFyOGRqN0xVQVp2OFBQUGZ2RWE2TzBVNEFBQUdEYVVORFVFbERReUJ3Y205bWFXeGxBQUI0bkgyUlBVakRRQnpGWDFPbG9oVUZPNGc0WktoT0ZrUkZITFVLUmFnUWFvVldIVXd1L1lJbURVbUtpNlBnV25Ed1k3SHE0T0tzcTRPcklBaCtnRGc1T2ltNlNJbi9Td290WWp3NDdzZTdlNCs3ZDRCUUx6UE42aGdITk4wMlU0bTRtTW11aXFGWGhDQ2dIejBJeU13eTVpUXBDZC94ZFk4QVgrOWlQTXYvM0oralY4MVpEQWlJeExQTU1HM2lEZUxwVGR2Z3ZFOGNZVVZaSlQ0bkhqUHBnc1NQWEZjOGZ1TmNjRm5nbVJFem5ab25qaENMaFRaVzJwZ1ZUWTE0aWppcWFqcmxDeG1QVmM1Ym5MVnlsVFh2eVY4WXp1a3J5MXluT1l3RUZyRUVDU0lVVkZGQ0dUWml0T3FrV0VqUmZ0ekhQK1Q2SlhJcDVDcUJrV01CRldpUVhULzRIL3p1MXNwUFRuaEo0VGpRK2VJNEh5TkFhQmRvMUJ6bis5aHhHaWRBOEJtNDBsditTaDJZK1NTOTF0S2lSMERmTm5CeDNkS1VQZUJ5QnhoOE1tUlRkcVVnVFNHZkI5N1A2SnV5d01BdDBMM205ZGJjeCtrRGtLYXVramZBd1NFd1dxRHNkWjkzZDdYMzl1K1pabjgveHJ0eVl2RFJmRzhBQUFBR1lrdEhSQUQvQVA4QS82QzlwNU1BQUFBSmNFaFpjd0FBQ3hNQUFBc1RBUUNhbkJnQUFBQUhkRWxOUlFma0J3SVJFZytzaDBPcUFBQWdBRWxFUVZSNDJ1eGRkM2dVMWQ1K3oyekxwdmVFa0lSaUNDMFFhZ2hkT3FHSU5CRkVVY0VHSW9JRnBQaGh1VjdBY20zWDNwQXJLZ29pSUNBaXZZbDBFa3BDU085bGU1dlptZlA5c1R2RDdHWkRVVVRVL1QzUFBKdmR6Y3llT1hQbW5mZlhDYVVVZnZudFlyUFpVRjVlanVycWF0VFcxa0tuMDBHdjE4TmtNc0ZzTnNOaXNjQm1zOEZtczhIaGNNRGhjSUJsV2JBc0M0N2p3SEVjbkU2bnRQRThMNzN5UEE5QkVPUi9FMEVRSU44b3BlSXJvWlJDM0FBUTcxY0FvSlFTOTlDbFY2L1BTRjVlWGx4VVZGUVRqVVlUcDFBbzRoaUdpV0VZSm9vUUVna2dBa0FvSVNRVVFCQ0FRQUJhQUdyM3BnREF1SThuQU9BQnNPN05Cc0FLd0VJcE5RSXdVa3IxbE5KNlNta2R6L08xSE1kVjJlMzI2b3FLaW9yMDlQUnE5M0dvYkd2d25oRGkvWjM0R1FCUVFraURWOWxHR1lZQklRUU13MEFRQktqVmFqQU1BNFpocUVLaGdFS2hBTU13RVA5V0twWFNxN2lwVkNxb1ZDcW8xV3FvMVdwb05CcG9OQnBvdFZwb3RWb0VCUVVoT0RnWUlTRWhDQThQUjBSRUJLS2pveEViRzR1RWhBUm90VnIvelhRZGhmaUI3YmNKeTdJb0x5OUhaV1VsYW10clVWOWZENzFlRDZQUktBR2ExV3FGM1c2SDNXNi9JcURKd1V5K0NZSkFSSUR6QWpNUElCUEJTUTVTM29BbGYxOWRYWjBhSEJ5Y29sUXFiMkVZcGlVaHBEa2hwQm1BWmdBQ2JwSnB0Z01vcHBRV0NZSlF5UE44QWN1eUYzVTZYWDZ6WnMwdWVBRWN2UXpnTlFCQUVmZ0lJUjVBUnltbFNxVlNCRFlKME9RZ0o5L2s0TllZd0FVRUJDQWdJQUNCZ1lFU3dJV0doaUk4UEJ5UmtaR0lqbzVHZkh3OEVoSVNvRmFyL1RlWEg5aitIQ2twS1VGbFpTVnFhbXBRVjFjSG5VNEhvOUVJazhra0Fack5acnNzb0hFY0o3RXpiMUR6QldZaUt4T0JUYngyUG9ETTQzMWVYbDVzUWtKQ0I1VksxVUdoVUxRbmhMUUgwQmFBNXE5OERYaWVkNVNXbHA1TlNrbzY0M1E2ejloc3RwemMzTnljSGoxNjFMcVpvaHpVQkRkVDgyQjIza0FuQXBzSWFDS2J1eExJaWFDbVVDaWdVcWt1QzNCYXJWWUN1SkNRRUlTR2hpSWlJZ0pSVVZHSWlZbEJmSHc4a3BLUy9EZVpIOWh1bkZSVlZUVlFPdzBHZzZSMnlnSE5icmMzQUxRcnNEUWlxcDFlZ0VZYVlXVU5HTm5FaVJNVkgzMzBVZmVBZ0lCdUNvV2lLeUdrQzREVXYrTzE0SGtlcGFXbGFOYXNtZmRYZVlJZ0hPTTQ3cmpSYUR4Mnh4MTNITnU5ZTdjZ0F6c0o5QWdoZ2plamN3TmJBemJITUF6MUFYQlFLQlQwU3V4TkRuQWlleE1CVGxSUHc4TENHcWluY1hGeC9wdk9EMngvbkJnTUJwU1ZsVWtzelpmYTZjdU94bkVjV0phVkdKb1BPeHFSMjlGOE1EUGl3MTRtc2pMeXhCTlBLSll1WGRwSG85SDBaQmltRnlHa0o0RGdmOEkxdVF5d2VZdVpVbnJJNlhRZU1wbE1oMmZPbkhsb3pabzFUaDlBSjRqQTVnWTA2c011UjcyWm5KZjlqWHJiMzBRR3AxYXJKWUJyelA0bVYwOUY5dGEwYVZPRWhZWDViMEkvc0YwLzRUZ09KU1VsSGl4TnI5ZExMTzFxN0dpK25BTWlvSG14TTBuTmxERXl5SUdNVXNyVTE5ZTNDdzRPdmxXaFVQUWpoUFFIOEk5YzlkY0FiQTJlVTRJZzdPVTRibDlWVmRXKzVzMmJuM09EV3dOV0oyZDBJbnVUL3kwNkdPUWdKd0pjWTg2Rks5bmZSUFlXSGg3dXdkNlNrcEtnVXFuOE42VWYySDZmVkZaV29yUzB0SUZ6UUs1MmlxQW1zalNSb1YwdG9QRThMNm1aZ2lBMENtWldxM1dBV3EwZXpERE1ZQUFkL0ZmbmR3R2J0MlE3bmM0ZFJxTnhWM1IwOUQ2NHZMaUNOOWcxQm5JTXcwanFxa0tob0ZjTGNDS0RFOW1iQ0c1eTlkVGJ1WkNZbUlqNCtIai94ZmNEMjdXTHhXSkJjWEV4eXN2TFVWVlY1ZE01Y0tYd0RTKzFrM2c1QnVUc2pIZ3hOQW5NYkRaYmxscXR6aUtFWkFGbzZyOHlOMFRLZUo3LzBXUXliWStNak55T1MrRXFQa0ZPcHE1NnFLb2lpL1B5b05JcnNUZHY5ZFRidVJBWEY0ZUVoQVFrSnljaktDaklmN1g4d0haMVVsSlNJckUwdVMzTmwzUEEyNWJtZzZWZENkQ0l0ODNNWXJFTTFHZzB0eEZDUnZuQjdLWUF1UzE2dlg1TFRFeU15T1E4UU02YnhjbEFybEdBVXlxVmpRS2NuTDE1T3hlOGJXK0ppWWwrNzZrZjJDNHZKcE1KUlVWRktDc3I4MkJwQm9QQkl5YnRLb05zaWFoNml1cm1aZGdabzlQcDBvS0RnOGN5REhNN2dIYitKWGxUeWxtV1pUZVdsNWR2YnRteTVSa1p3UEV5a0tPeTF3WXNUcTZtdW9HTlhrMXdyenoyVGZTY2l1eXRhZE9tYU5hc0dVSkNRdnhYeUE5c0RWbWE2Q0R3NWZGc0xJUkRCRFZmZ0NiUEVwQURtZ2htbXpadENoZzhlUEJFcFZJNWdSQXl6TDhNL3pvaUNNSTJxOVc2NGEyMzN0cTRhTkVpR3dDbkhPUmtMRTRRMlp1M211b1ZIdUlCY0NLNE5SWWE0dTA1RlIwTGZ2Ym1CellBZ05WcVJVRkJRUU1IZ2NqU3pHYXpaRXU3UXViQTVRQ055TlZPdlY3ZklTZ29hQkxETUpNQStGZmlYL3laeUhIYzJwS1NrdlVwS1Nsblphb3E3NjJxeWdDT1hnbmdMaGZZcTlWcUVSd2NMTEUzYjhkQ2l4WXRFQmdZNkw4eS8xUmdxNmlva0ZUUDZ1cHFEd2ZCbGVMU1pLRG1FOURjQWJVZTZxYlZhczFTcTlXVENTRVQvVXZ1YjhuaTF1bjErclhSMGRFNzNBeE9EbkM4THpWVkZpYlNBT0FhczczNWluc1RWZFBZMkZoSk5XM1NwTWsvL3Bvby8wa255L004OHZQelVWeGNqSXFLQ2lrbHltQXd3R2cwd21LeFNLRG1jRGg4WmcrSWdDYXpvL2tFdEx2dnZsdngwVWNmM2ExVUt1OEcwTWQvKy85OWhXR1ljWkdSa2VONG50OXZzVmkrSGp4NDhOckRodzg3UlpDamxEYndyUEk4VHdWQm9HTGlQYy96VkI0UzVIUTZxVHhjU05RUTVLWVE4YUVyUG9TdFZpdk1aak5NSmhOdXVlVVdLQlNLZnk1akt5d3MvRWVjcU5GbzlBbG9vc2RUcm5aZXpvN21TK1dVc1RPeWFkT21rTmF0VzkrclVDaW13Ujl6OW84VVNtbTJ3K0g0Y3YzNjlXc1dMRmhnSklUd01pYlhRRTJWc1RodkJuZForNXRjUFJVRGU4V2MweVpObWlBNU9SbWhvYUgvVEdEak9PNXZmNUpsWldVb0xDeVV2SjVpQm9HMzZ0bFlHSWVYMmtsa2FVOFNxR1ZuWjBlMGJObnlmb1ZDY1QrQUZQL3Q3UmNBK1hhN2ZkV21UWnUrbmpKbGlzNUxUZVhkNENhcHFPNWdYeXJQUWZWV1QzMkZoWGluWkVWSFIwdGUwK2JObTZOcDAzOWU1TkRmMnNaR0tVVnViaTZLaW9xa2dOdkxlVDI5TXdnYVVUdEZMeWRES1NVblQ1NE1iZHUyN1F5RlFqRUR3QzMrZTlrdlB1U2l6V2I3L0t1dnZ2cHkrdlRwaHNzQkhDRkVrQ1hkZTJjdVVGOFpDNDE1VGNXQTNtYk5taUUxTlJYdWJBay9zUDJWeFdReTRjS0ZDNUw2V1YxZExYazk1UUczamVSNUV1OVVLQzlQSjdOa3lSTEZraVZMSGxRb0ZBL0NIMy9tbDZ0NzBKNjFXcTByNzdqamp0VmJ0bXhoM1FBbnFhZ3lnQlBrSGxUdjFDeVZTa1VieXplVnE2V1JrWkdJalkyVjFOS1VsSlIvVE16YjN4TFlxcXFxa0orZmo1S1NFbFJVVkRRSTVmQk9YcGZiMUx4WW1vZGpRUFJ5MnUzMk8xVXExU01BZXZodlY3LzhCb0E3YkRRYVB3c1BEOTlJQ09HOEFNNmJ3VkZaQmdQMVptL2VNVy9lQWIxaVNFaVRKazJRbEpTRVcyNjU1UjlSRHVsdjV4VXRMQ3pFeFlzWFBlTFQ1TG1lM3NucmNwWW1PZ3JrYXFmTWpzWllyZGFCYXJWNnBqdmx5UzkrK1cxc2dwQ01zTEN3REo3blIxVlhWMy9XcEVtVEEzS0E4L2FpOGp4UDNRSkJFS2hYL1Q3eFBYeDVVVVd6aXVoRnRkdnRzTmxzYU42OHVSL1kvaXIydFBQbnorUGl4WXVOT2drdVU5bTJBVXVUcTUzMTlmV3BvYUdoc3dnaEQvdHZTNzljTDJFWVprUjhmUHdJbG1VL3lzbkorYnh6NTg3NU1vQVR3MFI0QUlJZ0NJTFkzOEs5VVRGbFR3NXUzaUFuT3NDOHdjMXV0Nk4xNjlaL1c3dmIzd0xZYkRZYnpwOC83K0g1bE1lbk5XWlA4MlpwYmxDVDFNNTc3NzFYOGNFSEg4eFdLQlNQQVVqMDM0cCsrU05FcFZMTjZOU3BVNWJGWW5tL2I5KytueDgvZnB3RndMblpHeU9xcUpSU3FSaW0yNEZGNWNVVnZBSE91MXF6SE9CWWxwWEE3ZS9ZU09ZdkQydzZuUTY1dWJrb0xDeVVDa0xLcTNMNEtnYnBmb3JKUVUzTzBoaEtLYkZhclVNMUdzM2pBQWI1YnoyLzNBQnBHaGdZK1B5dnYvNDZvTHE2K3FNbVRacnNKWVN3TXZXVTRGSk9LdlZpY0hLQW83NmFBdmxTVDhVb2dOVFVWRVJFUlBpQjdXYVJxcW9xajNBT01ZbmRWNFZiV1NnSEVlbTVENWJHbEphV3hzZkZ4VDNPTU14Yy83M21sejlCUFIwUUh4OC93T0Z3L0hmSGpoMmZabVZsVmJyVlUwWU9jSzRLNWtSb2pMM0pWRlZjalpxYW1wcjZ0M0lxL0dXQnJhU2tCSGw1ZVNncUtwTENPZVROVlh3NUNieFpHcy96Y3BiRzJPMzJDU3FWYW03cHVlTmR5eDNCeUVodmRWT2RjMzE5UFdwcmE1R2FtdXBIZ0wrQTZQVjZiTnEwQ1E2SEE0TUdEYm9tZzcxYXJaNDFiTml3WG5WMWRlOUhSVVZ0SVlRbzNPb3BKN085RWJuOVRRNXdMTXNTbG1VYnRiMTVNemlPNDFCVFV3T3oyUXdBaUlpSVFPdldyWDgzOFNnb0tBQUF4TWZIWDlYNVYxUlV3T0Z3L0c3bkJ0UG9ONndlbnl4N0VvUDdaeUlqc3o4ZVdmZ3F5a3pPbTJMQjVPZm40OHlaTXg1eGFwZlltZzdGRjg3ZzJKRmZrWjJkZzhMaU1saHNkamdjRGlJQ25EczFpZ2lDd0FpQ29LaXNyRXgyT3AydnFWU3Evd0hvdXZvLzgzRFB3bmR1aW5NOWZQZ3czbnp6VFFEQWtTTkg4TnByci8ycFkvZzl3bkVjQmcwYUJJUEI4S2VONFhyTDJiTm5ZYmZiRzN6dWREb3hZY0lFRkJVVklUQXdFRmFyOVpxUFRRanBIQmtaK1I3THNvdDM3TmpSakZJYVFDblZ3TldZV2tVcFZWQktGWUlnS0FSQllIaWVKMDZuazdBc0M1UEpCS1BSU0VRdnFEeVAxR0F3U0ZXaUt5b3FVRnhjakFzWEx1RFFvVVA0K09PUDhmYmJiLy9tZGZiU1N5L2h6Smt6QUlDQ2dnS3NXN2NPSzFhc3dLcFZxNjVxUFd6WnNzWG4vMTdyZW1nVTJMWjk4Q3hlL0hRM1JrNS9CdiszNEQ3ay9mZ2VIbm4yNHo5OUlaMDdkdzVuejU1RmZuNitSN1Zia2ExVkZlY2h2NlFheXNCUWhBUUhnSE5ZU0gyOW5vaU16YzNVaUNBSUlrc2JGeDBkL1JVaFpPYk4rTlQvOHNzdmtaR1I4YmNZZzBxbHd2dnZ2LytidWk3ZERQUGdTK2JNbVlPU2twSUduK2ZsNVlFUWdrV0xGbUh5NU1sbzE2N2Q3NW0zQi9yMzcvL2ZFeWRPWkFIUXd0VVRWZ1EzcFJ2Z0dCSGMzTDAwQ00vemNEZ2N4RzYzRXhIY0xCWUxUQ1lUVHA0OGlZS0NBdFRVMUVqOVBWaVd4Wmd4WXpCdzRNRGZORTZUeVlUZHUzZWpUWnMyQUlETXpFeXNXTEVDdDkxMjJ3MWZENDBDVzFGUkVVaEVjMHlaTkFZamI3OFhMeTkvRWNPNkpNRUpRRjk0RkhQdm40Q01qRXpjTnZraDdENVhCUUE0dXY1TkRNKzZGM2syQUhEaXhZZEc0dUZsWDdwNStVbE15aHFPZDcvWWlEbFRiMGRtUmlZKzIxM29ZbUNIdnNjOTQ0WWlJNk1YcGo3NkhQSnJIU0p0eE5aUGxtUDBnTDdJN0RzWUR5NTRCYWZQblVOQlFZSFVEcys3SjBGRmVUWEFxQkFhRkFDVldrdlVTZ1dvNEhTQm10TkpPSTVsbkU0bjAyUEFpUEJ2OXAxNVFhVlNmUW1nMjRGdjM4VHcvcjB3OExaN2NMalFKS2V1SG1OWTh1WWFPRzdRVFdNMEduSDI3Rm4wNkhFcER0aHF0V0xldkhubzM3OC9IbnZzTVRnY3J0R1l6V1k4OWRSVEdEcDBLQ1pObW9SVHAwNEJBTDc0NGdzOCt1aWpHREJnQUJZdlhveXNyQ3pNbVROSGJMcU10V3ZYWXVUSWtjakt5dkw1cFBRMWhsOSsrUVhqeDQvSDRNR0RzV1RKRXRoc05nQkFiVzB0WnMrZWpheXNMSXdmUHg2Ly9QS0x0TTlkZDkyRmtTTkhZczZjT1pLNkk4cW5uMzZLNGNPSFk4aVFJWGp0dGRmZ0hUVHVQWWJ2di84ZTc3MzNudlQ5NmRPbnNXREJBb2twTFZ1MkRFT0hEc1hZc1dPbE1aak5aa3lmUGgydnYvNDZoZ3daZ29rVEo2S29xQWdBOE1JTEwyRC8vdjNTOFZhdlhvM1ZxMWRmOXRyczJiTUhFeWRPUkdscEtlYk9uWXVKRXlkaTU4NmRBSUNubjM0YVR6enhCQ29xS2pCeDRrUk1uRGdSTE10ZTluanIxNi9INjYrL2poa3pacUJmdjM1WXVuU3BOQS9MbHkvSHFGR2p1aXhjdVBDRFhidDJ6ZjN3d3crakthVUJBRFNVVWhXbFZDa0lncExuZVViYzNNQkdEQVlEYW10clVWdGJTMncyRzNRNkhVNmZQZzJqMFlqczdHeHMyN1lOUjQ4ZVJXVmxKY3JLeWxCUVVJRGk0bUxVMWRWSnY1K1hsNGQ3N3JrSGdpQkk0NTA5ZXphT0hqM3FjUTRiTjI3RXFGR2p3RERNRmRmMjVkYkR1WFBuTUdIQ0JBd1lNQUNmZnZycEZkZmtoUXNYTUhQbVREend3QVBvMzc4L0ZpNWNDTWgwYzQrdDhzUUc5R2pmRXAxNmpjRFNWOTdCNlJMWGlWTGVnRmtqT3FIN3NHbjRidE42ekpwd0sxcjNtSUFTTzhXdWorZWpSWXMrT0dtbW9KVERJNE5TTUd6Mlc2NzlxdmVoUzRzV2FObTZFMmJNbTQ5Rjg1L0Uzbnd6K0xvVEdOQytKVVkvK0N3MnJGK04wVDNiWXRUanJuMU9yRnVHbGkzYVl2N3JLL0hLMGpsSWlvbEMxclFuTUgvK2ZFeWZQaDNqeG8zRDRNR0RrWm1aaVk0ZE95STFOUlVhQlFGUmFoQVpHVWxDUWtLSVZxc2xhcldhVVNxVkN1S3lLYXBYcmZsMjhPSUhSLy9Zc20wZmVxeWFvNDdTUGJSclNnczY5cUdsZFAzYWxYUll0MVRhZXNUamxGSktUNnhiUmx1MmFFdWZlZXQvZE8ybksyaW5sSlowMmJvVDlFYklxbFdyNk50dnZ5MjkvL0hISDJuLy92MXBXVmtaZFRnYzlNNDc3NlJyMTY2bGxGSzZZTUVDK3E5Ly9Zc0tna0FQSHo1TWUvVG9RYTFXSzMzOTlkZnBmLzd6SDNya3lCRTZkT2hReW5FYzdkV3JGNjJ0cmFVSER4NmtJMGVPcEhxOW51cjFlanBreUJCNjh1VEp5NDVCcDlQUjd0MjcwN05uejFLZTUrbkNoUXZwRzIrOFFTbWw5UDMzMzZlZmYvNDVwWlRTUTRjTzBYNzkra243bVV3bWFqUWFhWHA2T2pVWUROTG41OCtmcC8zNjlhTVdpNFZhTEJZNlpjb1Urc3N2djF4MkREVTFOYlIzNzk2VTR6aEtLYVZMbGl5aGE5YXNvWlJTK3ZycnI5T25uMzZhT3AxT2V2YnNXWnFabVVudGRqczFHQXcwSlNXRkhqaHdnRkpLNllvVksrajgrZk9sZVowNWM2WjAvR0hEaHRIQ3dzS3J1a1pEaGd5aHVibTVEVDQvY2VJRUhUTm16RlZmNjQ4Ly9wamVkdHR0VktmVFViUFpUQWNPSEVoLy9mVlhTaW1sTnB1TkdvMUdPbVBHRFByamp6OVNudWQvS2l3c25BQ2dHWUFtQUtJSUlXRUFnZ0FFTUF5akpvUW9DU0VLdFZyTkJBUUVFQUFrTEN5TXhNZkhJems1R1FFQkFXamV2RGt5TXpNeGVQQmdqQnMzRHRPblQ4ZjgrZlB4MEVNUFllREFnVGgrL0RoWWxnV2xGR1BHak1IT25UdEJLY1c1YytmUXQyOWZPSjFPRDh3WU4yNGN5c3JLR21ESnA1OStpdWVmZjk3ak03ZXFqUFQwZEJnTUJ1bnpqei8rR0dQSGpvWFpiRVpWVlJVeU16T1JuWjN0c2UrcVZhdnc5dHR2Uys5UG56Nk5ybDI3b3F5c0RGYXJGUk1uVG15Y3NjV2xqOGJXcmQvanZxd08yUC9OZXhnemVBZysrZmtjaE9JRDJISFdnSWtQUG8zYlI0N0Jvc2Z1Qmx0OUZMdFAxbDhWQ3huMTZISjgrT295dkxqc1pmUnBHWVNDZzd0UmFHVXdmZDRpakI0ekdXKzgrd0ZtanV2dGVnSjh2d0UwTEFGOHhSbmtGQmtRb0hEaTlQR2pVcHlhZDBpSHpXWURUeWtnOEI2cXA4dnJLVEFVVU14K1k5UERVeWVPWDdsay9zeWhHbnNadHUzT1JmNnZoMURQQitEQnA1L0JtSEgzWUdDWGhFdFBvZTgzQUJGSlNGQVlVV1VMUkdJRWcxMjc5dDBReHJaMjdWcU1HemZPNDdNMmJkb2dJU0VCYXJVYTNicDFRMFZGQlFEZ3A1OSt3b3daTTBBSVFmZnUzWkdjbkl3VEowNEFnRlIxTlNRa0JFcWxFa0ZCUVdCWkZwczNiMGFUSmsyd2R1MWFyRjI3RmpFeE1UaDA2TkJseDNENDhHRjA2TkFCYmRxMEFjTXdXTEJnQWNhUEh3OEFtREZqQmhJU0V2RDIyMjlqNTg2ZHFLbXBrZllUZjk4N0lEUXVMZzRxbFFydnZQTU9UcDgralpVclZ6WlFNYnpIRUIwZGpTNWR1bUQzN3QxZ1dSYTdkKy9HcUZHdVpKQWZmdmdCSVNFaFdMbHlKUTRjT0FDR1lYRCsvSGxwREQxNzlnUUFaR1Jrb0tyS3BXa01IRGdRT1RrNTBPbDBPSG55Sk9MaTRxNUhXNzlybHU3ZHV5TThQQnhCUVVGbzM3NDlLaXNyQVFBQkFRRUlDUW1SNnFzeERETzRXYk5tYjN6enpUZFQzS3BwZ0tpYUFoQlZVd1VBUnN5ZUlZUVF0eU9OMk8xMjhEd1B1OTB1cWFaNnZSNTFkWFZTWUx2UmFFUnViaTVPblRvRnU5Mk9HVE5tNFBQUFB3Y0FmUFhWVjdqbm5uczg2cjNsNXVZaUpDUUVDUWtKVjNXdWphMEhBT2pjdVRPQ2dvSVFHeHVMWWNPR2VURC94dTZMaElRRUpDUWtRS3ZWNHE2Nzdtb00yRmhzVy9NWjloY3llR3p4TW16YnN4ZTNkMURobGRmZWQzbFFBR2cwcnVhdEt2Y3J4L0x1ZlFYSUdHc0RDZmVLbDJFNUJ3QUZOQnFYZzdaRmVoOWs5ZTNzb3B3bUN6aWJIaGZPbjBkaFlSSENrMUlSRzZLOFhQY29Ra0VJcFlKVU84M3A1QmllNTVuaXZPMEp2VnEyZUMxQXEzMERRSUpTbzRZQ0FNZXo0Snc4QUFXVW1vWk9ZcnZORGlYRG82YXlFcFdWMWVpU05RVlp2ZHJlRUZ0aWVIajRaYXVoTWd3anFRc2N4MEdqMFVqZmFiWGFLNm8vTnBzTm9hR2gwaloyN0ZqMDZkUG5zbVBnT0E1cXRWcDZIeElTSXBYRmVlMjExN0IrL1hyMDZORURJMGFNdUtyekRBc0x3OGFORzVHYW1vcHZ2dmtHdzRZTlExbFoyUlhuWWVyVXFmajIyMit4ZmZ0MkRCbzBTQW95dGRsc2lJeU1sTTVwN3R5NVB1ZFFQbmRLcFJMang0L0g5OTkvajNYcjF1R3V1Kzc2MDIxM2hCQmNJWTg3UWExV3Z6Uno1c3huTm0zYWxDaXFwaktBRTRHTmNkdVRJUWdDY1FmbkVrRVFpTVBoOEhBcTZQVjY2ZDZ5V0N3b0xDeVV3SzF2Mzc3SXo4L0h1WFBuc0czYk5reWFOTWxqTUd2V3JNR0VDUk91K3p5bzFXcklTNnRkelgyaDBXZ2FBellsanYrNEVrOHRlQlo3VCthanRMUVFlclByeGxFMDY0Wk8wU3I4c081L0tDd3R4YW92TndDQkxkR3RZd3ppWStJQTFPR1hnOW5JUDdrTEY2cjVLdzY4WlpjTVJDaFliUHBtSGNwSzgvRFl1RXowdnVkRm1Fd21ORW0rQlpiYUtnaWg4YmlsWlRNb0JSWUJha1dET0RWM3hWdkNzaXdVaEFCVUlDekxFWjduR1VHZ3pOQ0hYKzNYcEhubWg1bnR3MmJ1MnJnRzU0cEw4ZTJxTmJDUUVHUjBhWTFiT25SRUlDeFl2Mm9kQ3M4ZnhjbThPbWw4ZlhyM0JLZlhJU0VqQ3c4L09BMXQ0c09Ra2RIbEQxL1lhOWFzd1IxMzNIRk5UL3N0VzdaSWJ2YnM3R3gwN05qeGl2dFVWVlZoekpneG1EQmhBbHEzYnUyeFlIeU5vWFBuempoNjlDajBlcjMwUHg5ODhJSGt0UjAzYmh5NmQrOHVxUWxYa2wyN2R1SGxsMS9HYmJmZGhsZGVlUVZ0MjdiRndZTUhyemdQM2J0M1IybHBLVmF1WElrcFU2WkluMmRrWklCbFdVeVlNQUVUSmt4QVFrTENWUVdmVHBvMENldlhyOGZodzRldnlYaXUxV3BSVjFmM3A0QmZlbm82amg0OU9xTlhyMTR2RlJRVTlQRGxXQUNnRUFTQkVkbWI2RFdsbE1LWFUwSE0xckhaYkZJSi9ieThQSnc5ZXhhVEprM0NvNDgraXFGRGgzcFVDZUU0RHJ0MjdjTFFvVU92eTNrVkZoYUNVZ3FIdzRIZHUzZWpRNGNPVjF3UE9wMU9zamYvOU5OUGpjV3hNWGpzcGYraWV2NUN6QmczQkJ3Rm9sdDJ3Y3N2ejRGUzNRVExYdjhYWnM1N0hnUDdyWUk2ckNtZWVlVnRwSVVDR0h3blJxVjlnK1VQMzRaUFcvZERpNlpoMEYzaEpEVEovZkhLMGdmeDFMOFhvZSs3SEtLYWQ4VnpDNmZnOU9uVGlPNDRCSm10TCtEbmJ6NEQ2K1NoMElhZ1pZb0dBWEI2eDZoSjhXbFFLQWdSQkNJSVBBSEFESjc0eU5UWC8rL2had2pScGl4NCtYVVVQVElQSTI3dEIwVkFCTzViK2hxR3R0SUNHSW9sRHc3QnN4OCtqUjlYeDZKOXdxV3FvOE1mZmg2UGx6NkJOeDZmZ3VVOEVOMnFLMTdxUHhsQStCKzJZRm1XeFo0OWV5U0QrTlhJMHFWTE1YUG1UR3phdEFrVkZSVll1blRwRlcvbzhlUEg0L1RwMDhqS3lrSk1UQXdVQ29YazVtOXNEQWtKQ1pnN2R5NG1USmlBbUpnWUFKRGM3ak5tek1EQ2hRc1JHeHVMMk5oWUNJSUFnOEdBc0xBd2pCczNEdlgxOVRDWlRCZzFhaFNDZ29Ld1pjc1daR1ptWXZYcTFSZ3pab3pyd2FsUVNEZkk1ZWFCRUlLSkV5ZGl5NVl0U0VtNVZOZHo0Y0tGZVBUUlJ6RjI3RmhRU3RHdVhidXI4cWFLUFFOYXRXb0ZwZkxxd3p1blRwMktPWFBtb0huejVoZzllalNtVHAxNjNkZkQ4ODgvangwN2RxQzJ0aGJIamgzRFN5KzloUGZmZngrdFc3ZkcxS2xUTVdyVXFJRnhjWEhOQmcwYTlOYlBQLys4MFoyR0phL3N6QU1BcFZSd3gyNUNvVkJRa1JDbzFXb2FIeDhQczltTVU2ZE9TV3p4czg4K1EvdjI3VEZ5NUVnSWdvQTJiZHFndUxnWTk5NTdyOGY0ZnY3NVovVHQyOWVEeVFQQWhnMGI4TnBycjhGa01zSHBkT0xubjMvR0k0ODhna21USmpXNkhrU1FHanQyTFBSNlBYcjA2Q0daRHk2M0hod09CKzY5OTE0cDlPYUtaWXRZaHdsV0I0UHdVSy9PMDRJVDlYbzlna09qb2ZaWUJ3TDA5WG9FUjBaZVUvU3Z3RHFnTjlzQUJqaWJrK01SemxGZFhZWGFlaDBjTmx1RGJBSTVxTW15Q0pocGQwOVZMUC9QZnhkRWh3Y3Rna2Nnc210ODJ1QndhTlNlaE5WbTBRUEtZR2g5cUtTc3d3S2pqVWQwK0I5ZmF2bnMyYk00Y3VRSTdyNzc3bXZldDY2dURxR2hvVkNwVkZlOWo4MW1BOGR4SG1Xa3J6UUdsbVZoTnBzUkdSblpZSUhaYkRhRWgxOGI4SnRNSmhCQ0VCd2NmRjNtd1dBd1FLMVcvKzQ4eUNsVHBqU0l1OXU0Y2FPSDUwL3NrWEdsY3k0dUxzWWpqenppOFZuNzl1MnhZc1dLM3p5K21wb2FhTFZhTUF5RGYvM3JYODdFeE1UWDNudnZ2WTlPblRwbGQ2ZGtjZTdONmE3ekpoQkNCSGtoUzQxR0E3VmFUY1hhYm1McEk3Rm9aVlJVRk9MajQyRTBHcEdUazROVnExWjVuT3VubjM2S1BuMzZvRldyNnhmUUxpYnJ5ME5CR2xzUDJkblpXTGh3SWI3Nzdqdm85WHBFUmtiZVhQWFlkRG9kY3J4QVRYUVNpTTFXNU4yalpLQW1yNXZHVkZaV0prVkZSVDFEQ0prQnYvamxieXFDSU9EdXUrOUcwNlpOd2ZNOFRwMDZoYSsvL2hvaElTRXJkK3pZOGVIdzRjTkxDU0VPTDNEanZjQk5LajB1Z3B1OEc1WUlicVdscFNnb0tNQ3NXYlBRcDA4ZnRHL2YvcWJKTHhXQmJjT0dEWmNZL2MwQ2JISlFLeWtwOFFBMWVjTVZIMHhOVEkxaUJFRWdKcE9wbTFhclhlaXZtZWFYZndxNFpXZG53MjYzSXowOVhYSWc4VHkvSlRjMzk3MTI3ZHFkQnVDUXNUZW51N2tNNys2eElJaU5ZK1RnSnBZY0Y3MlhZZzIzbEpRVXFXRGx6UUp1VnFzVmhZV0ZIa0hRTndXdzZmVjZaR2RuK3dRMWthbjVVajlsV1FTRVVzclliTFpoYXJWNkVmeVZiZjNpRjFCS0Q1ZVhsNytUbUppNDF3dmNPRGU0U2N6TlhYNjhBYmcxcHBhSzRKYVdsbmJOWm9jYklYOTZFcnpCWVBESjFIUTZuYzhLSFY3cXB3UnFEb2Rqc2xLcFhBU2dsWDlKKzhVdnJrcTlDUWtKa2JXMXRXOUZSMGR2cHBReXhCVTRSaWlsSE54T0JjR2RVdUFtT1JRdXh3UDFBWlMrZmdOcGFXbS9LUzNxYnd0c0pwUEpwMDFOQkxYTHFaOXlVR05aOW1HRlFyRVlRSXgvT2Z2Rkx4N0FreElWRmJWWXI5Y0hoNGVIZitNdWQwUzhOVFlSM0p4T3AwOXdhd3pVeEsxRGh3NDNWYU1ZNXMvNllZdkYwcWlqd0VjVFk5SVlxSEVjOTVSQ29WanVCN1hHN1EvMzNYZmZUVFdtd3NKQy9OVWFkYi84OHN2bzNiczNoZzRkS3FVYVRaNDhHWk1uVDhiMDZkT3YrKy90Mzc4ZjE3SG5iMHhZV05nU3M5bDhMd0N0TEpoWG5xa2daU2s0blU3aXJscEpSN1FBQUNBQVNVUkJWTk1tSmREYmJEYVBRTjY2dWpvcGVUNC9QeDg1T1Rtd1dDdzRlL2FzbE5IaExmUG16Wk15WlJxVHpaczNTeGtPZnpsZ3M5dnQxK0w5SlBJT1VxSk43WjEzM2xGeEhQY3N3ekF2d3BWUzRoY2Z3dk04amh3NWNsT042Y1VYWDRURllwSGVHNDFHeko0OSs2YWR3NU1uVDJMTGxpMzQ2YWVmc0czYk5uVHExQWtxbFFxdnZQSUtubnZ1dWVzK3Z6VTFOVmkrZlBrMWhlejRrb3NYTCtLNTU1NFQzd1lFQlFVdHJLeXNmRWlqMFFRMUFtNEtRUkNJdlB5UnU5S3VCRzRXaXdWR283RlJjSHZpaVNjOFVxM2tjdXJVS2FsZ1FtTlNXVmtwRlNmNFM2bWlITWRkMXZ2cFpWTVRjejRoTDhmeTY2Ky9CcWVucHk5aUdPYkp2eU1ZSFRod0FNMmJOOGYrL2ZzUkZ4ZUh2bjM3U2psMVpyTVoyN2R2QndEMDZkTUgwZEhSMG43bDVlWFl0MjhmSWlNak1YRGdRSjlWRms2ZE9nV05SaU1WRWF5dHJjWE9uVHNSR0JpSWZ2MzZlYWdUUjQ4ZVJWNWVIdnIxNjRmYzNGemNldXV0a2xxeWI5OCtsSmVYbzNmdjNraE12TlFPb3F5c0RQdjI3VU5vYUNnR0Roem9rZVlGdUxJaWFtcHEwTDU5ZXdCQVRrNE96cDQ5aTkyN2QyUGJ0bTBBZ0w1OSswcnhaOFhGeFRodzRBQ1NrNVBScTFjdkNRZ3ZYTGlBbUpnWTdOKy9INm1wcWVqU3Bjc1Z4MEFweGQ2OWUxRlJVWUdlUFhzaU9UbFoyaWNuSndkUlVWRW9MUzFGYm00dSt2WHJoOFRFUk96Y3VST0hEaDFDUkVRRTl1M2JCN1ZhTGMxRDA2Wk5ZVEtaR21XbGh3NGRRbEpTRW5yMTZnVkNDSTRkTzRiVTFGUm90VnFjUG4wYW5UcDF3b1VMRnhBWUdPaVJZN2x1M1RxTUhUdjJpdXZoK1BIamlJNk9SbEpTRWdCSWViT0RCZzNDc1dQSGNQVG9VZXphdFVzS2NCMDZkQ2kwV3UzYzFxMWJxNGNORy9iUnl5Ky9ySGVybEtMZHplbFdTM2wzcVh4UkxZWEQ0U0NDSUZDajBRaTFXbzNFeEVRUFZaUVFncEtTRWdRRUJIalkyOFRyNTZ0czA5R2pSNUdibTR0dTNicDV4TUFKZ29BZE8zYWd2cjRlUTRZTWtZNzN5eSsvb0UyYk5nZ0xDd1BMc2podzRJQjBMZXgyTzdadDJ3YWxVb2wyN2RyZFdNWkdLZlVBTlhreXUzZlRGVmx2QWc5UU8zLytmRVI2ZXZyU3Z5dW9BYTR5T2s4KytTVDBlajJXTFZzbVpRUG9kRHJjZHR0dEtDMHRSV0ZoSVVhUEhvM2EybG9Bd0xGanh6QnAwaVRvOVhwczNyd1pEenp3UUlQamJ0bXlCZlBuejVmQThPTEZpNWc0Y2FLVS9EMW16QmdwTFdYMTZ0VjQrdW1uWVRRYXNXalJJano5OU5NZUtzWFhYMzhObzlHSUtWT21JRHM3R3dCdy9QaHgzSDMzM1RBYWpkaTVjeWNtVDU3Y3dEYXpidDA2andUbXVybzZsSmFXUWhBRUZCVVZvYWlvU0xUellPZk9uWGpnZ1FkZ3NWanc3cnZ2U29Hc3BhV2xtRFZyRnQ1NDR3M29kRHJNbWpVTHUzYnR1dUlZNXMyYmh5KysrQUlta3dsVHAwNzFLRlcwYXRVcVRKOCtIZSsrK3k1eWNuSlFYKzhxNmxCU1VvS2FtaHJZYkRZVUZSV2h0TFQwaXRkdjU4NmR1TysrKzJDeFdQRFJSeDlKa2ZJYk4yN0VrU05IY1Bic1dUenh4Qk1BZ1BmZmY5OURQYU9VNHZ2dnY4ZnR0OTkreGZWdy92eDVQUC84ODlML2JkMjZGWjkvL2prWWhrRjFkVFVxS3l2QnNxdzByNkt3TER2TDRYQThQSEhpeEdnQVl2RktGUUNsSUFnS0FBcEtLV0ZaVmxKTFRTWVRxcXFxWUxGWVVGMWRqWnljSEEvbVZsVlZoYTFidDZKZHUzYkl5Y2tCcFJSbnpwekIrUEhqVVYxZGpjOC8vOXhqN2w1OTlWVzgvdnJyc0ZxdGVPU1JSN0JqeHc3cHV3MGJOdURvMGFNNGZmbzB4b3daSTdINzVjdVhTeVlNbzlHSUo1OThVZ0xDcVZPbll2djI3Y2pQejNkbGZ6Uld0dWlQMkU2ZlBvMXZ2LzBXcjd6eUN1Yk5tNGVwVTZkaTVNaVI2Tk9uRHpwMTZvVFUxRlFrSlNVaE5qWVc0ZUhoSkNnb2lHZzBHa2FwVkNvVUNvV3lzTEF3VGhDRU4rbmZYSVlQSDA2enM3TXBwWlNXbHBiU0RoMDZVS2ZUU1d0cmErbXhZOGNvcFpTeUxFdG56SmhCdDJ6WlFpbWw5UDc3NzZlYk5tMmk3dExRZE1HQ0JWU24wMUdqMFVqVDB0TG8xcTFiNlpBaFEyaFZWWlgwTzZXbHBmVE1tVFBTOGJLeXN1anAwNmNwcFpUMjc5OWZHa041ZVRudDNyMDdwWlRTNDhlUDB4RWpSbEJYTldwS3Yvbm1HL3JVVTA5UlNpbjk5Tk5QNmV6WnM2blQ2WlMrczlsczB1OEpna0N6c3JLb1RxZnpPTithbWhyYXRXdlhCdk13ZVBCZ2FRd1dpNFYyN3R5Wk9od09tcE9UUXdjTkdpU040WU1QUHFEUFBmZmNaY2R3NXN3WmV1dXR0MUt4UitldVhidm8rUEhqcGQrYVAzOCtmZjc1NTMxZWowMmJOdEZaczJiNS9NNW9OTktPSFR0NmZEWnExQ2g2K1BCaFNpbWxITWZSbmoxNzB2ejhmUHJkZDkvUmQ5NTVoMzc0NFlkMDRNQ0J0TEt5a280ZE85WmpqbzRjT2RMZ3R4cGJEM2E3bldaa1pORGk0bUpLS2FWMzNua24zYkZqeDJWTEp4a01CcHFXbGtZNWpxTjJ1LzJEMmJOblp3Qm9BU0FCUUJTQVVFSklJTU13R2dCS2htRVVHbzJHSVlTUXdNQkFFaHNiaTRTRUJEQU1nMDZkT3FGUG56NFlPWElrSmsrZWpDWk5tbURGaWhYNDl0dHZwUnA1SDMvOHNYVC85K3ZYRC9uNSthaXNyRVJHUmdic2Rqc29wVGg0OENDbVRKa2lsUzFhdEdpUnRNLzA2ZE94ZnYxNlVFb3hkdXhZbkRoeEFwUlMxTlRVb0d2WHJxQ1U0cGRmZnNHSUVTTWdzc3kzM25ycnhxbWk1ODZkdzRVTEZ5VDFVOTd6VTdTcE5SSjhLekcxNU9Ua1JZU1EyZmdIaUppdjJMUnBVekFNQTZQUmlKQ1FFS3hldlJvclZxeEFhR2dvY25KeXBDZDdZV0docEY0U1F2RHZmLzhiZ012emJMZmJNWC8rZlBUczJWUEs3d1JjcFdPZWYvNTVXQ3dXQkFjSG82S2lBanpQUzZ4SVBKN2MxcE9ibTR2eThuS01IRGxTc3VHMWJldXFkako1OG1RVUZSVmgyTEJoU0UxTnhiUnAweEFRY01uOGVlVElFYVNrcEZ4VjNCUFA4OGpQejhkVFR6M2xNVjR4K1Y2cjFVcnFlWEJ3c0ZUSnBMRXhGQlFVb0czYnRwSjZucGFXSnRYakYrVjZwUVJkdkhoUlVyMlVTaVhhdEdtRHdzSkNwS2VuWStmT25YQTRISmc2ZFNvT0hqd0lwVkxwTVVlTkpYbjdXZzhSRVJHWU9uVXFWcTFhaGNtVEo2T21wZ2I5Ky9lL3FyWGwzaDRZTjI0Yzl1N2QrOEdKRXlmcXZiVXJkODRvTCthWDhqeFBXWllWKy8vQlpyTkphbWg1ZVRsaVkyTlJYVjBObFVvRmhVS0IwNmRQUytXazVPc29QejhmRm90RlVyY0ZRZkJZRTNMelJXcHFxa2UxRjE5U1ZsYm0wU05WcFZMZEdHREx6OC8zQ1dvK0tuUTBDT2tRYldvdFdyVDR4NENhWEl4R0kxaVdSWEJ3TUxaczJRS2owWWd2djNSVkpYNzAwVWVsLzR1T2prWkZSWVdVRUw1bnp4NTA3OTdkNVNGaUdHemV2Qm56NXMzRGUrKzlKK1Vycmw2OUdvbUppVml5WkFrQWVLZy9VVkZScUt5czlMQ2ZpWiszYmR2V1o0WFp2THc4UFB6d3czajIyV2R4N05neFBQamdnOWkyYlJ1aW9xSXVlOU1TUWp5cXN3S0FRcUZBZUhnNFB2endRNmtza2lpaSt1MUxHaHREVEV5TXh3MVNWbGJtQWZMWFU4VGZFcHZ1aUwvVnZIbHpWRlpXSWpBd0VJTUdEY0xpeFlzOUdxWllMQlljUDM1Y2VpaGRhVDBBcmlUOEVTTkdnR1ZaVEpzMnpjT3U2bXRldlVXdFZqL1FwazBiWWRTb1VlKy8rT0tMYUF6Y1JBRGlPRTRLQlJFZEFZUVFYTHg0RWQyNmRVTnRiUzBVQ29Ya1FEaCsvRGg2OSs0dEhVOWNROUhSMGRpMGFaTlBPN0I4ek9YbDVjak16QlRIS2ozQTVDYU9xS2lvQnVyOEh3NXNKU1VsVXRNVmI2Ym1iVlB6RmRMeHpqdnZxTnlPZ2puL0pFQjc3NzMzTUdYS0ZLeGF0UW9qUm95QVNxVkNiR3lzVkErcnVMZ1l1M2J0a2tyc1RKczJUZktrNWVibTRxdXZ2c0tHRFJ2Z2REcWhWcXVSa0pDQXQ5NTZDN2ZmZmp2YXRXdUgvdjM3SXlZbUJsdTNic1dPSFR0dzRzUUpuRGx6UnJLeFRabzBDUXNYTHNTRER6N29rWVBYdDI5ZnZQTEtLM2oxMVZmUnYzOS83Tml4QTBsSlNaZzhlVEtPSERtQ2JkdTJZYzZjT2FpcHFZRmFyWmFldm1MbGlPWExsemM0MS9Ed2NDZ1VDbnoxMVZkbzBxUUoyclZyaDVpWUdEend3QU9ZTTJjTzVzMmJoN3E2T216WnNnWC8vZTkvTHp0dmpZMmhhOWV1SUlUZzdiZmZSa1pHQnBZdFc5YWdTc1cxZXBzM2JOZ0F1OTBPanVQdzNYZmZJVFEwRklNR0RjTDk5OStQSlV1VzRNa25uOFRldlhzUkZoYUd0TFEwRUVJUUdCaUl0bTNiSWprNUdVVkZSUjc5QURadjNvemh3NGY3dk5sOXJRZkExVTFxOE9EQjJMQmhBL2J0OHl5QW1wU1VoT0xpWXZ6d3d3OElDQWlRQU1KYkZBckZRd3NYTG5UdTNMbnovZjM3OXpld2k3cmY4NElnU0hGdWxGTGljRGdvSVFUeXB1TjZ2VjRDdHRUVVZMejc3cnVJakl5RXpXWkRjWEV4QUtCMTY5Wm8zcnc1RmkxYWhQSGp4K1BZc1dPd1dDeVlPM2V1TkE5ZHUzYUZ5V1RDL3YzN3NYanhZZ0JBMTY1ZDhmbm5uOFBoY09DSEgzNlF4cGVabVluLys3Ly93M3Z2dllkV3JWcGh6Wm8xVUN4ZHV2UVB1em1ycXFwd3p0MmpRTjdNMkdBd2VCU0k5RTZUa3NlcHJWKy9mZ25ETUF2K1NhRDJ4UmRmWU5Tb1VUaDQ4Q0JhdEdpQnVYUG5RcVZTSVRFeEVZbUppZGkzYngvaTQrTXhZY0lFUkVWRklURXhFYTFhdFVKU1VwS3JGcFZTaVJkZWVFSHlMQ29VQ25UdjNoMUJRVUhvMGFNSHpwdzVnL1QwZExScjF3NHFsUXFIRGgxQ1dsb2FoZzRkaW9TRUJNVEV4Q0FqSXdOV3F4VkhqaHhCdDI3ZGNPalFJVXlmUGgwS2hRSzMzWFliY25OemNmVG9VYlJwMHdZVEprd0F3ekJJVDA5SFVGQVFkdTdjQ1l2RmdzV0xGMHU5S3RldFc0Y21UWnBJSGpxNU1BeURYcjE2WWQrK2ZhaW9xRUJhV2hwQ1EwT2xpcktpK2pacjFpeUpxUVFHQm5yVTZZcUxpME9MRmkwYUhRTWhCQ05IamtSMmRqYU9IeitPaVJNbk5tZ3kwckpsUzhUR3h2cThKbEZSVVEwOGQ5dTNiNGZGWWtHM2J0MWdNQmpnZERxUm5wNk85UFIwaElXRllmdjI3WWlLaXNLenp6NHJsZlNKaUloQXQyN2RFQjBkamVqb2FHUm1aa3FlNk9lZWV3NlBQLzU0Z3lqK3h0YURuRHcwYjk0Y0F3WU04TmhQcTlXaVk4ZU8yTE5uRDNRNkhUcDE2b1NBZ0FBb0ZBcDA2OVpOK3Ird3NEQjA3Tmd4NDg0Nzc3Uy85TkpMcDJXTVQwUTRLcXFjY2lhblZDcUo2TlFLQ1FueHFLUkNLVVZrWkNTYU5XdUdFeWRPSUNrcENWbFpXVWhMUzROV3EwVldWaGFxcTZ0eDhPQkJ4TWJHNHQ1Nzc1WFU3ZDY5ZXlNdkx3OWxaV1Y0OXRsbkplOTF0MjdkVUZwYWlweWNIRXlhTkFteHNiSG8ycldyVk9ycThPSERxS3FxUW54OC9CK1hLNnJUNlpDZG5lM0Ixcnl6Q3J6RE91UnhhbUx3clR0T3pTOSs4Y3NORUxQWi9PK1FrSkQvQWJDNUs0TTRBTENRVlFZUmMwdVZTaVYxTTJJcTVwV0tTZk1SRVJGU1htbHljakpTVWxLUWxwWjJ3NUxtL3hCVjFHYXpTUjNhS3lvcVVGdGJLN1hIdTV6NnlmTTg1R2xTRE1NczlpODF2L2pseGtsd2NQQmNuVTVuallpSVdPZG1aaFR1V0RhdjlDdnFJblhFbGFORkNHVVlCZ3pEZ0JBQzhXK2xVZ21WU2dWM2NqMDZkdXo0dTJ2ay9TbkFSaW5GK2ZQblVWaFk2S0YreXF0MGlCNVFlWkZJdDZ1V0VSUGEzYm1mL293Q3Yvamx4a3BBZUhqNFkxVlZWWmE0dUxpdDFKVmM2bTF2Zzd1SGd1QjBPa1hQcUFoeUlJUklkalp4RXdGT285RWdQVDNkWnhPWG14clk1S0FtTmpJV0hRVVdpK1d5bFc4RlFTQTJtMjJZdTBxSFAvZlRMMzc1Y3lRbUppWm1aa0ZCZ2JGRml4WUh2SmdiQlVBRlFSQzlvNUFCR2hHTFY0cWJITlJFWUFzSUNKQ2FLdjhsZ0syd3NCQVhMMTVFV1ZtWlQwZUIzVzV2a0ZVZ0MrdGdUQ1pUTjNjOU5YL3BJYi80NVU4VVFraEtjbkx5UThlUEg5ZDM3dHc1eDgzY1JKV1VpbjBSUk5ZR21ZTkJWRVc5R1p0U3FZUmFyWVphclpiNm12NVJjdDI4b2xWVlZaSmRyYnk4M0tkZHJURVBxRmpPT3pRMDlDVkN5RUQvc3ZLTFgyNEtjR3NhRXhNVDJxbFRwOU5mZi8yMXpRMWVrcWNVUG1xMnVWVlM4Vy81NTVCL0xvYSt5SHRjWEZmR2RqMWFoNW5OWnB3NWMwWmlhMklPcUhlYlBJZkQ0ZUVCRmRYUHUrNjZTd0hnbWZyNmVuODViNy80NWVhUzRabVptVFVwS1NtdlhiaHdRWkF4TjFmNmdmc1A5eXZjV1FuRW5VSUgrZVowT3FYTlhUVUU3ZHExKzBQQVRmbDdhejVSU3BHWGw0Zmk0bUpVVkZRMHNLczFWdExiN1N3Z0FKaGx5NVl0Y0RxZE42VHhpdGhUMGJ2cXhKWEVZckVnTUZBTFFoai9VdmZMUDQyNTNiMTE2OWJxbEpTVXo5MDRKc2pCalJBUnh3VEs4enpoT0k2NmFSc1Z2YVJ5RmRYYlk5cStmZnZyN2t4UUJnVUYvcTRENU9YbG9iYTJCbnE5RG1hekNWYXJCWGE3cEhMS0tuUTRpUmlkTFBlQTF0YldUSFU3QzI2SThMd1RUaWVQYXoxdm5VNkh5TWlJYStvNWFUQVlFUklTN0RPUzNDOSsrU3RKVUZEZ25QejhDNVczM0pLeUZZQTNjNVArVHhBRWdlZDVPSjFPS0JRTTRUaU9LcFZLaWFIWjdUWllyUmFZelNibzlUclUxdGFnb3FMOHVyYnVBd0RsdGR5bzNsSldWb2F5c25KVVY5ZWd2bDRIZzhFSXM3bEJqd0kzdUVtZ1J0eFVsZFRXMXZRTkNBaDRCamV3THB6cmFTSGd0NXkzYUFDOVdqR1pUQWdMQzhYdm1XTy8rT1VtRVdWOGZQekR4NDhmcSt6Y3Vjc3hYOHpOL1VvRVFRRFA4NVRqbkdBWXppdmtRd21WU2cyMVdnT05KZ0JhYlNDQ2dvSVJHaHJhSUNmNGR3MjJzV3FYVjVMUzhqSWNQM3NCT25kR2djRndLYW5kYkxiQWJMV0J2UVJzSWxzanZDQVFLbENtcUtnd0lTZ29hRDZBbEJ0THF4a3B6dVphVlc1NWN1OGZ0YzhmSWZwamU2Qm9sb0dRcUJzVEZrZzVPNncxOVZCR1JFT2pWUU53b21Mckp0aHNnS3BwR3lSbHRQbGIzT20vWlY1dGhUbXdPS01SblJMWHlIL1lVYlhqTUNKdjdRZVZtK2c3aWs2ajdGZytBSUxZUWFNUkhNcGN4N0ZFSURvbDRXcDN1YVYxNjliM3IxeTVzbnphdEdubEFNUkFYZkdWaXA1U251ZmhEdHFWUWtBdWVVY3Q3dEFQdGJzVGxoYkJ3VUVJQ3d1N3BxWXdqdEpjR0l4YXhMWkxhbkJPeW10V2s2Z1ZpejdZZ1AxRjVTQjFaU2l2cVVmWHVGQW9MU1pZTEdhVWxKV2hzTjRNd3RrZ0NFQ0lFc1RwZE1MSmNjVEJPUW5nc3F1OWsydCsrcm40K0NIa1QxaVFsT0thMVVNeFArNWE5dnN0Ky93UlV2TFpjZ1JOL2d4aHZRUC84TitxMi9ZWkRyL3lKYlROV3NCUlZvQm04OTlGbS81SlVBVUV3bkp1Tjg0ZHFFS3p6SFovQzJEN0xmTnFPTEFHaGZwTXhLYU9iSXpuSS8rOXp4RFk5MVpvM0VTZlVXcWcxZ2JnNHRzdlFKMStHMExERzY2bnl1OC9Sc0R0YVFpTDhSeEx3ZnRMb2V6MUdKSTZSRGJZeDN6aVI1UVlPaU0yTmZGYU5KNEI0OGFOSzV3MmJkcGJNdFlteUZnYjRJcHpnMXNscFF6REVJV0NvUTZIQWtxbGF4TXpFZFRxUzIzK2dvT0QwYkZqeDZzbUFwYmptM0gyVkJMaTA1bzFPS2RyQnphbzBUK3REWG8yRFVGaG9ScTc5cFppN3prZHVrY29ZTmJYNFdLZEZZbmhnZUR0UUVWMUhURXJsVkFJVG5DdUNHVkNBTVpTbS8vUXlEZjJ6TXpKVEVYSEc1eGJJRGRpL2pZMWx2bkQ5d0VFVURCdzZxdkEwU0FFUm5oNmpTZ0VFREN3VjVWRDBJUWpNUHpTWXJaWGxZSlhoaUlvS3ZUU0Rxd2RvQVRPdW1vSW1qQUVoSHFtdERpTmRiQVpIUWlNaTRkQzlkdEJtQy9kai8yTFY2TEgybzFvMGl3VUVHeXcxbk5nR0EzaUI0OUFNRk9PL0FLTGova1E0S2lwQnNjcEVKUVFBOCtISFE5YmVRVUVWVEFDWThJOXZxTU9LOHhWdGRERXhFR3QxZHhrOCtyN25BalBnVG9GVUtzQk5nc1FIQmZoT1Q1bkRQcCsreG1JYkk2MHpkcWhlYk4ycVB4b0NZQ0dhNWM2bldqLzNDb1FaY1BQemFjT1FObHFPb2dRRGlpVjBqaW80RVQ4N2ZNUUwvdnMwakE0V01zcndFVEdJU0JRMDJDdDhFYkhmVlVWVllWeFRlTFdBK0I5cWFTQ0lBaUVFT3AwT3NFd0JBNGJKWVF3MUtYQktLRlV1dE9zVkdvRWFOUlFPT3pRS0xVSURRMTEyOXNFMkNyTFFRTWlQYTREQUhDNktuQWtCRVRnUUoyOE5CL3ljMUplcXplaW9xSWVhazZQa3FwSzFOWFZnemhaMk13bVdOUXExT29NSUFvQ2NDNjdtb0pRY0N3TEVFcW9xNlk2c1ZoTS9aVE91dmtjbzBTd2tvQ1FHdzFzbHdEdXR6QzJhOW52dCt3REFPZWZtWWlMdVNvd1NpV0V5b3NJdm4waCtzNGQ3ZnJTZUFycit6K0RwR0V4cUR5bEE4dzZkUGprSnpSTE11TFFmVk5SWjQyRXlsSUdrallSdDc0Nkd5b0dvRTRPaFcvTlI3RktBWHZCR2NUUFhvSHVkN2tLRWhiKzUxR2MzRlNDaU9ZUk1GNm9ROFozR3hFclBkd2RPUG5rVEtnR3pVSzdyQzVYWGhzL3JJZXErd1FrTkhlckU0cEFCTW55UndnVlFIbkJhejZxc1hQd2VMQXhMYUdDQVNaZEtQcXUraENSTVJwUVV6SDJUTGtIOXRDV1VBczYyQk1HSXV0VlYwaysvZTdQc1dmUkp3aHRtd0o3MlVVa1Ava0oyZzFzZnBQTWErUG5CSUdIOGVlVjJIN2dLekNXTXFEMW5SajR4aXdvQVZTdSt5OU9mYmtEK21OMUdIeG1MeUs5c1pyakFIaXVKL2JzejlqOS9FZXduUDRWcmQvZWk3YTNObkdwWk1jMllkL0xYOENTVXdKUzhEaktQOUVpK3JaSDBHVnlQd0JsT0hEM2s5QVZua2ZJN1l2Ui8rbExwZHJ0dVh1d2U5WWlNRTFhZ1MzTVE5eERMNkhiWFgxOXJaV0g5eHpJTHV6WEsrMllTeFdsQWtBRVVTMTF1MGtKejdKdzJ1MVVTUWpzT2gzNDZIZzNhMU9DNk10UTlRdUxXcFVkUWVwZ1hGVCtpSUIzWGtDZ3ZReDV6endITnJRWlVIOFJRVVBub3ZjVDQwQWc0T0pyczNGeVl5SENZalhnV0FkSW0yVDNmSGllMHpVQm05VnFsY0k2YW12cm9LK3Z4dkhDU3NRRmg3cmFjOW5zSUx3QW85RUdvOE5KRkZRQUZTaWhEQWhEd0l4YnNpTDhrVFU3bjZxdjB5ZE1HejhZS2VvL1F4SDliY0QyZS9hN1poRGxuWEJHOXNLb2o1NENNZVhoaDh6eHFKZ3lBZ254U2hldnFEa0ZSZVptakY3ZUVRQUxKNnRFMWVvM1VhWHFoOUhmTDRiQ2FjQ3VJWm5JMnpNTzdRY2tBcndUeXJRc0RINXVDcHpsZTdGK3dCSzBHcmNMRVlIVk9QZmhYbVRzT29XRU9BQk9GandqZjlnSU1KdzZBazE3M1ZXZGcrWENCUVFuOTJ6OGY2a0F3ZWtOYkJIb3MzNDcxQ0V1NnA3M3doU2MrV29YK2o0MkhPWURQNkErYkRER2ZlRXFoTW16ckxSdjRlY2ZvTm5UbjZIVEdOZlRuV2VGSzQ3eHhzMXI0K2NFZ1ljVnlSajc3WnRRQ3dic0hOUUQrWWZ1UUp1ZXNXZ3lmZzZhakIrTEg5cE1kQU9ZMS9pZEhFQTlnVTNUYmpDR2ZqVVlSKzdxQnRCTGF5Mnc2MmdNL1dvMGp0L2ZHNm83MzBMYTBHVFprUkxSNTh1dlVQTCtZN2hRVDJYSHMrTElZM09Rc09CcmRCemNHb0xwUERiM200SDZNWHNSRmRKZ3JUUmhxV0xhc21YL0xsaXc0Qm1CVWdpRVFJRE1ZMG9wQlFVRXlpaWcwQVpRRlp6RVhGdER0YUdCVUNqc0lDd0xjMTAxNG9lUFJHeUxKb2lMamtadFJRVjIvdWRWSkkxOEdjTm5EUUdjT3V3WU9BQ2w0MGFpcWZvUWpuNXlBVU1QYjBWNGtJRGo5dzlHbGZTZzlEeW5hM0xYRlJRVW9Lek1uUU5hWDR1REo4N0FvUXBDc3NJSnM5a09qbVVoY0FLYzFFbkFTNG50RUFRUVFhREVrZHpweWJuOTJ3MnRMem1QVjdjZndhalVFWWhUd1M4K0pMWlBMMWVublpCV2lHa0QxSjhxUjBLOGUzRnFVbkhMNkk2U2FVQ3BCblFuVHlLdTc1TlFBSUF5REUxNnQwZjE2ZFBBQUpmOUpLNm5xNHFwTXFFN29xSXVvajdmam9nT2tZanZHWWtqRDB4RDhwQitpQjg0RFBIdDVmYVdRUFQvNmRRZmZLWU1xamUrZzl6dmRzTm10b090TGtLSXU1eTBOcTBybUZNUFlOY2NCK0o2ZEVYeXlKRUlVcnZucDJjdkhQalhMRGpQamtCVWozNUlIdERsSnBwWFphUG5CQUJSbVpsUU13Q1lNTVIzYjRYNjdHeWc1MDJRY0dQS1JYVzJEWXE5MytEWVFaZHFUcDJsMEJXWUVkWFI1MW9aT0h2MjdMTUxGanp6c1ZzbDViM3NiZFNOMEpUbmVUQXFCZ0xsaWMzT1VxVkNBY0p5Y0FaR1FDQXNqRVlqTkJvTkFtc0tVSCtzQ0h6MGVoeXIvd1VVQU90MG9ENm5CQkdxTTJEU01oQWV4QUJnRU4rM0o2ck9OTGFxcnRaUVdsS0MwdEpTVkZkWG9hNnVGa2RPbkVLSlE0SFdvVXJZN2E1cUhWUVFJSEFjR01KQXpRQzhRQWxBQ2FXVW1mYjhmOFpOSGRybjZaN040ekd5YngrMDV3cXhyZERpUjdCRzZjVmx2dE1HNGZkRmtCRDNsVmVpODBmYjBIdnhkS2k1TXV3ZlB4UjV4MnArODFHRFdqYUhzYUQ0bXZheDdGK0pneCtmUkpkMy9vZVJXN2FnNi8xRDNkb01vRXpzZ2RIN2ZrTEtrRTR3N1ZxRkgyNS9ES3g3djZZUHZJd1JYNjVBZUh3QXppKzVCNGZlMzNIVHpPdmx6c25uWG96aUpsbDBBcUNLUlB6SUxDUm1aU0VwYXlSNmZMb1dUVzhKYkhTdEJBWUd6aW9wS2U0TFZ5VWVEYVZVRFZmNGxvSlNxcUFBUXlsMTl5cmx3UVBnT0JZczY0Q0Q0OEJCZ05WcWhjbGtoc0ZnUUYyZERqcU9BZHVxTFVpWExrakt5a0tYTi8rSGxGN1hGZ3B5VmNCbU1wazhlb0FlUDNVS1o0d1VIYUkwWU8wMjJPME9zS3dEQ2dDVXRST0hLMmFOVUVFZ0JHQ3Fxa3FUUWdQVlR4VFZHbHpUWnplZ3hFSVFIT0NQNzJwTXF2Y2VjQmtyVEhtb09RZEVkcnk4U3o0aXZRT3E5dTRGRHdCT0F5cjI1eUJTVm1HMjZ1QmVsL0czL0ZmVTZWb2hxa1VBQUJhc1JVQlVSaiswbS9jc1V2ckZ3cGd2NytMTkl1Zi81dUQ4OXF0amJRbWp4NEhkdHhwbEJRYjNmV0tGcGRwd3llMFVHUW0yckFST3VYbWpyQXdCcmRJUkhoTUVDQmFVL2JUM2txSGFaQUxDNHBBNGFnSzZ2N1lVeXBKenNMcDNaazBtQk4zU0NTbjNQb3hPRDk0Ry9ibThtMlplTDNkT0FGQzNieDlZd1hXOHlsL3pFTmtoN2VyY2RwSGhzRnloc1ltM0tEVWFzSFgxVi9mUElXMFEyOW9HcXlrY3NkMjZJclpiVjRTM2FBWlZFSFBadGRLMGFkTjd2L2xtVFJNUjNBQkk0QWFBb1FMUHVPeHRUc0lUUUhCeWhHVTVPRGduV040Sm04MFZ0T3NDTnc2MGFTREtDcXRnaXdpSHRuVXFvbHEzaERva0VFR2RPb0JtSDRiZUlnQndvbkx2d2NiUCsyck8xNVhZN2k0WVdWT0tBM21Wc0xGMjdDbTNRV0R0Z0FBa0JDbmhwQ0FxeHRXOUJ0UlZoNDRCbUtpb3VIbVBqdXpkN1lGdk4rTG9rUmpvYTJ1UjBMRW5SaVJwL0FqV2lDaHFEK0xIY1hlQXI3NkkwQWRlY051QkdwZjRPeDlIM0E5MzRvY1JKNkN5bFlHa1BZUlcvUytwbGR6SkxkZzZjU3ZzQldmUWZNbGJjRG1hcXJGcjJGandDYWxRb3g1Rzh5MFlPRlFlaXNHaGN0TTNVTWNPUit2QkhhOThFeVgzUjc5L1Q4SCsyL3Nqb0VVTE9FcUxrZkxTYW5RWTZuSW1hTHFNUkt1V1gyRjl0OTdRZEJtQjBSOHNRdFNnU1ZDL2RSZTJURHdLeGxhUGdPaExEZ0R6d2YvaDU4VmZJcUpOQzlnS3ppQjY1Z0tFdWFmaDdJSTdVSFJSaTVBWU5YUzUxZWo2d2VNM3pid0tsemtuQU5BcXl2SFQ3ZVBBV01yQWRIb010MlJFQWREaDREMzNRRmZ2Z05GUWdRUGpSa09wYllFK2E5K0UyTUs2OWR6NTJQbllPT1F2RFViN2w3OUVxNTRKeUZ2eEtQTDJGTUdhV3cxU2NpOEtYOU1pYmZuL2tOemV0VmZ5UFE5ajF4T1BvT3lURU1UZCtUUXlwZzlHN2RaM2NQanRMV0FyTDhMQi9Zck4rMWVpeVgwTDBYbDhUM1I3ODNYc2ZuQXFTdDVMZ1pLcmhkbVNnQ0UvZll6Z3k2d1ZRa2puVWFORzNRSGd2ektWbEhmVFZJRlNTZ1dua3dvQVZTclZjRHFkNERpT0VKNm5uRUJodDl2ZHdidXV5aDlSUFFlZ2F2dEtiRHorRTNJaUF4QmxEVVBmRGQ4akpyNHZ1ajdRRWo4UEc0N1FXQzE0cW5FMURBUWFuQk9oR21uUWdRQUFJQUJKUkVGVVZMaWlDaW9tdUplV2l1V0k2cURYRzN4MW1YSW51SE9FNXdWQ0tWWFk3YmFKS3BYcWZ5N3JMNGR5Z3dVYWJSQ2l0SCtPY2EyNnVob3N5eUV4OGRxb2JYWjJEbEpUVzBtMTYvK29mUURnN0ZPalllbTZGQjJISllJVGdoRVVGWFRWKzdyQ0VrSVFGTlV3ME5GUlV3a2hJQlRha0VBUDljTldXUWtuVkFpT2o4SDFjT2RRMWdwemVUVlVNZkVJQ0xxS2VCNkJoYW00RXVyWUJHZ0NsVjVmV1dHcHJJVXFJaFlCSVo3SFlnMDFjQmdjQ0V4SWhFSjVrODNyWmM0SkFIaExIV3hteGl2YzQyWVJBZGJ5VWxCTkJJS2lRcTU2clpTVmxjMU5URXphQmNBQ1YybHhPNldVSllSdzdyTGl2SGRKY2ExV2k4REFRQVFGQlNFa0pBVGg0V0dJakl4Q2JHd3M0a0lEMGF4WkszVHVuWW5rcEV0QnVHeGRGWnhNTUFJamduNGJZN05ZTENndExVVlZsYnkybWdrV2k5V2REM29wYmNycGxISkJpU0M0Z25CTFMwdmlWU3JWM0V1UFN4VVNJc1BobDZzVGRVUWMxTmU0VDBCYzQ4R1dtcGg0bjlZSWJYekNkUjAzVVFjaTVGcHFiVEZxaERSUGJ1U3JRSVFrKy81T0hSWURkZGhOT3ErWE9TY0FVQVJGSVRqb1psMTVEQUlUa3E5NXJTUWtKRXo3OU5OUGN1Njc3MzRlQUE5UWliWGhVb0ZLTVplVUtoUUt3cklzZFdVa0tLQlNLV0d4cUtUT1lvR0JXaGhZTzhwS1N4RVZHWW1nSU5lRXFhT3VmUDB1YTJPNzFJVEYxVEpQQkRWWGFXOEhIQTRXSE9lUk1pVjZRZ21sbE1URnhUME9vS3Nmb3E1TkVtZjhIMUp1VGZGUGhIOWUvMUpDQ09sMHh4MTNUSERiMlRTVVF1NUlZRVJja0dVbGdPTTR3bkVzSEE0V2Ryc0ROcHNORm92Vm5TU3ZSMTFkTFNvcks2WFdmVmR0VzJ6c2k4cktTcS95M2lhWXpSYlliRllQcHNheW5GUmpTUkI0S2NIZGFyVU1aUmhtcnY5eVg3dUV0TzdtbndUL3ZQNGxKVEF3OE1IYzNQTkhVMU5iSHdiZ2RERzNTN1kyU0lueVVyb1ZXSmFEUXNGS1NmSTJtd3BtczlxZEpLOURVRkFRUWtOREVSRVJnZmo0K0t2a25ENkU0emd2RmRSVlc4MW1zOEptczd1OW9LeFUybHV1Z2xKS3liMzNUbE5vTkpySC9aZlpMMzc1NTBuTGxpMm5wS1NreUQya0tqZUpZdUFPL3hBRU1RVEVDYWZUU1RpT0E4dUtyTTBPbTgwS3M5a01nOEdJK3ZwNlZGVlZvN1MwRkZkYlA5SW5zTGxDTzZyY0txaEJxck5tczhtWkd1dlJBZHBkSlpOUVNwa1BQdmhnTm9CQi9rdDg3VkpkWFkzUzBqTC9SUGpsTHlzS2hhTC80Y08vakJhQmpWS3FFc0dOVXFxZ2xETHU2dGx5bFZUQ0ZZZkRCVzZYNnJZWjNDcHBGVXBLU240YnNCa01CbmZQZ2hyb2RIcVlUSzYyZVdMTFBIbU5OYWVUSS9JdVV3QklmWDFkcWtLaGVNeC9lZjNpbDMrdVJFUkVUTnV5WlhPU0Y3aEpzVzBBaUNBSU10YkdTYXpOVlpEUzdyYTNXV0F5R2FIVDZWRmJXNFB5OG5JWURJWnJCelo1aHlsWGVXOExyRlpQVURPYXpLZzFtS0EzV1dGak9ibkRnQkU0NjZ4WE51eE1YTEJ1TC9hV21TNGQyR25ITjdzUDRjbXZ0dUhmMjArZ3lrSDlWLzk2aTlPQzJ0UG5YY0drdjFNcVZyK0FnKzl2dSs1RDVDdC94WTdaeXozR2FEaTJIY2VXek1lKzJYTng1cnU5RUg3WEx3alFuOWlQOHgrK2d4TnZyb1RENjd1cXJTdHhjUFpqT1BMS2g3QmFaYi9rck1PKysyZkM1RStHdVY3UzlOWmJiNzNkRFd3ZVFic2lhL04wSkhneU54SGNyRlliekdZTGpFYVhTbHBkWFkyeXF3aFM5Z0MycXFvcVZGWld1aExjM1hGcUxoWFVKck9yMldHdzJNRVFWeUVQd2NrUnB5dG1qVmdORlFObmY3VDVZUzRxRVNOYi9qOTc1eDBmUlozLy8rZk1sdXhtMDNzMmdTUWtoQllnR0NEU0lRS0NvS0FDSXZZR25PVzhzNWV2RFU4NXozTHF6M1lxbGtOUkViRmdwQmNGUktRSENNMlFoUFJlTjl0bmZuL3NKdGtVVWhDVTAzazl6QU96bTVuNXpPZnptZmU4Nit0dDRLSDN2dUZBdldzTGY1VCtIVXR6Yk13ZE1Zamcyanh1WHZIenI5ekFDdHJBZEpRdDF6N2FWSGIwcTJSa1hSbVd5dHF6UHNUakx6MUw4TVV6OFN3aXl2bGlKWDdESnhFM1l4VFpqOTlNNW9iY1gzR0ZLakpmZUlYcXpEMWt2dnB4aTdtbzN2dzJQL3pqYTZMblhvZTJhQ09iN251MXVjSktIVXpNRUMwSDN0K2c3S096QkoxT2QwTm01dUhCSGxyYjZhS2tMYlMybHY2Mnhxb0VsMGxhWGw1QmNYRXhKU1VsWFJkc2hZV3VaaXpWMVZVdFRGQ3IxWUxOMWlqWUpQeTl0WUpXRkJBRkJORlZ4aThBWXVISjdOdVArTVZ5LzZqZWpFbStnTGtKQWl2MkZ3QldOaHd1NGRaSkl4a2FFOEg4UzBkZ1AzYVVnMlpsOGM4V2lyNWV3djZYbHVLb084bmh4WXZadi9oNXFpcWtSaWxGMXB2UHMvMk9POW43OGhJYVRGMTdwY2gxaFJ4YS9BamI3MzJFZ294OFQ2bEg5anN2c2YyT085bjkwcEtXbWsrSGd2Y0l4OWFhaUp2Y3A4WEhnNTk1ZzRSTEp4STFjUmFSS1NHWUNvdC94VXdFTS9LajVhVGVmdzJ0S3pDelAxeEs3TUtINlRGcUdJTVdQWUw5dS85UzVtSFZSTTIrbk9ML3ZvZEZlZU9lTmZUdTNmdEtXZ1lSTkI3bWFLUFcxbFJMNmhsSXNObXNXSzB0VGRMcTZpckt5c29vTEN6cW1tREx5M01WdUxlT2dycE1VRmRhaDBlVDQrYUFnU3VDSzFvczVybkh5NnVuSjBTRTRHeW81MVNkbGNTSUVJNlhWZ0ZPSEpLTVN1VytuS2hDSmRkenN0S3VyUHhaZ2svL1lZU05HWUtvQ1NJNExZMnd0TEhvOWE3NVB2SDBBbzd1cVNIK3RsdlI1RzlrdzkwdmRrbGJMbHJ4R2VvaDA0aWRFTWRQMTh5anZNSUJPTWk0ZXc2L1pEcEpXREFmSC9NZU52NzEzMTA2WDkzUFAyQlBISTdmYWJJcmk1Y3RJanUzRi8wdUgzWU9ac2hDOWRFOC9Qc25Vbi95R0RhdlJBSWl5cW5KYW5hWGlCRXBCSWw3S2M2eUtSdnFMRUd0VmwrY241ODNtcWJjdG1aZlcyTkRKemVkZUl0QWdrdTQyZDM1YlcyanBLV2xKZVRsNVhjczJHdzJHOFhGcmxyUTZ1cHF0d25hNEJFRlBVMTZoOU1weUxJczN2SFFZeXFOUnZNWHM4Mkd0MWJGcDJ2V2NzMktuOUZyMU5UYUhZQTNJK0tEV1BGakJtWDFEYXpkdW85Y1djQnNkU2dyZjViZzIzc1F4bUZKaUxvQUlsSlRNYWFtb3ZNR0tDTjc1UzZTSG4yY2lPUmtCaTU2Rk9lNjVWVFVkMzVPLzZsWDAzZktLS0ttMzBiOE1DYzVHektRUzNkeWJLT1RvWXZ1SWlneGtmaTc3MFhjc1lLcWhzN1BWM3Z5Sklib21IYS9hOWkvZ20ydjdTTnQrUkw4Zk04Rmxib0pteGxVbW1LMlRCeExabm91YWowNDZqek5CaDk4WW5UVVpSVXJHK29zSWpJeWNuWktTb3JPcmJXMUNTUTBtcVh0cFgrNHRMYkdLR21EMnlTdHByeThuT0xpSW15MjlsOUNhcGNKV3RpaUg2aXIvck94WktwWlcydE14SFU2bmE0MmRwSWtDSUlndlBMMFkvT0JWTDFXUzRQSnlkWFRMK0VTcDVxOU96ZmpwM0hWaE40Mll3cld0VHU1ZldrV0EvdjBaWHpRQ2J3VmRvOXpEMGMxRGRYK2VJZTUxU1R2VVBTKzFWZ3FnVTc2MUJvOGtpSDF4a2pLSzh0eGxOWml0UlN5NjlZYm05UjlyNlFrc0FLZFVQL0xPT0EwTk9rVk83WVJjUEZzQWtQUEZWZThBYTBlblBZSUp2NjBEMDFJRUQ4c0JyV3Z2dTJmU2s1bDM1eEZpS0k0Yk0yYTFaTkRROE8rQmV6dUh3ZHVXbkZjeWJ1Q3V5OXBrNXp4MU5xMFdsY2dRYWR6QlJLcXFocE4wa0ppMnluZlU1dk41aVk2SWxjdHFHZVQ0NWI1YWc2SFEzQUxOY0h1Y0FtMWpBUDcvVlFxMVh5QVBxR0IvSEswSE5Gck1LSEE4ZUp5RW51NE9oSnB2UU80NS9LTDNTNmFRaVpzOCtYK1VJVmw4dXp1SUFGQmNyYWtIRk1INEIxUVEwT3BEZUswWUNyRFhCZUFMcWdMT282SHI4dGNXSVIrc0JGMW1BRXZRenlqUHY0VVF6ZmZTMzZSY1pnM3RKK0hGRFR4V3BKc29lMGJrU1g1NEIySXp2ZlhGRmZxQ09qZmc1ck00K2d1R0FhbURLcEx3eGdRNzl2Q1hHMG9NQkVTRjludUdKeGFmd3lCdnNvK094UFBaM0R3N0VjZWVmajdaNTlkYkFQc3NpdzczQXdnVHJmVzFxSjFuOXN5bEp1anBEWjNsTFRSSksyaG9zSVZTQWdQRDBldmIvbUNFcHZvaUtvYTIrYzFlRFE4dGpiV2d1SndOUHJXSE5oc0RnQUJXUmIyMURodVhiYi9WSCtBMkw1OTZWZWJ3L1BiVDdCbC8xNCt6WktabGV3cUhpNDZsY3RIZTA2dzZlQXgvcjUwRTRNdUhFcWNJdGZPc2xJU2c2LzZCSm52ZlVIZXVnMDBtQUJDaWIxaUdJZWUrUWZGR2ZzNStNUmlWSlBuRU96VCtlbHExbjdNMFRYYktmajJIYkwyYU9nNXNUOUNXQ3A5eHRyNDhmN25LZDZmUWRIbU5leCs0WjB1cFpqNGpSaUprTGtIVXpzZWlNcE5Lem0rZW5lN3grMjVkZ3piWDE3VjVXa28rdllqam55K0FhZTluS3dQUGlSNyt5RUFlbDEzUFRsdlBFUHU5enM1OFBpemFLWmNTNmhIRWIxY2NZQnkweUFpK3JUVkdnL2NNWVh2bjEydTdMRXpoQ0FJZmUrNzc3NUp0SzFHOEV6OWFKRzA2M0EwK3ZXYlRWS0x4VlZMV2xkWDU4NXRLMjgza0tDYU8vY3FqOXkxS21wcmE5cHBlbXpGWm5PRllwME9SeE43eHlQdmZSYWs5dlo1M1NwcWc0WkhCNEhLaTdSK1VSdzRsa1ZHcFpNN0x4M0hNSGVmUTZmTndwYk1iUGFYMURJd2FUQVBqSW5uOStBTk5abE1PSjBTZm41KzNUcXV0TFNNNE9EZ2J2VUlQWk5qem5SOHJ0M2pqWEhTaFppT0hxUWh2d2pEd0F2UmV3c0VqNW1NcXV3d2VhdTNJTWFPWlBpamYwSGJoWDRUd2VNbVl6dXdscExNV2dZKy9VL0NZL3dBa2ZBcE0xQ1ZIaVF2ZlFPMWhiVUVqeHhMVUZ4azU1Ukgra2pzR1V1cDhSNURXSytXTEMrU3RRRjFXQ3hCY2ExcUFhVmlEdi96Yll4M1BFWlliTmVZWWFwKzJrUkRyWmF3NFFNUkdreUlmajBKN20xRUYzY0JJVkYyVHFXdlJZZ2V6ZkJIRnFEVk5JKzY2SlBYYU9nMW5jUXg3ZmM5OVJzd2pPRDRTRVZLbmFuT3JOTVpOUnJOK2syYk5sdHgxNDgyVW9rTGd0RFlXZDZ6azV3Z2lnS2lxSEwvaU80T1Z5cDNseXMxV3EwV25jNkxvS0NnRnZSZ3dqZmZmTzNSeTZCUnVOVzZtVHdhazNQTldDeU5YR3NPd2VsMGlySXNpemFiOVY2VlN2WHMvOUxrbnU5OGJHYzZ2djhWMkxJMnNQSHBINW44d2VOZGVySFpNcjVnMVNNL00rUGI1emluSGxsSEJWdXUrQXVEUHZ5VW9FQlJrVUxuQ05YVjFmOEtEQXhhaVl1enpTUUlRZ011RDYxTkVBU0hJQWlTU3FXU0dqbmJkRG92V2FmVDQrMnR4MkF3NE9Qamk1K2ZIMEZCZ1lTR2hoRVZaU1F1TG83Ky9mc1RIeC9mYklwNkJnemNaSkdOR2hwMnU4T3RFam9GZDNwSFUrblVuajI3ZlZVcTFjM0tVaW5vRHJUeEU1bmFSYUVHb0UyYXdlVmZMZWFjaDVuVXdZei9acmtpMU00eC9QMzlyN3ovL3Z0OEc4MVJkNFJVUmF0U0szZHVHdzZISzFKcXR6dXcyZXdlVVZKWGJsdGpJS0cwdEpTR2h1YlF2T2dxY3E5dlpYcTJ6RmxyajJ0dDRNQ0JOd0lLdVpXQ2N3dFJqYWhXaE0wZnlOY1cvK0NERDA1d0M3WjJmVzJ0T2R2YTVyWlpXd1FTWEVYeXJrQkMwN1pwV2VUZW1LL1dOaExxWnU0UUFPRzY2NjVWcVZTcUc1UmxVcUJBUVhjUkZCUTBvMWV2WHRwMnREYXhVV3Z6cUVob3lwMXREaVI0a2xJMkZzbTcwajhzRm90THNMbTBOVmVSZXp0Q3paT1NxRWxiZS9mZGQ2OERCaXBMZFBiaEl0VlRVZ29VL0tHMXRnSGJ0bTBkMHhXdHJYM05yVkc0TlJiSnQwei9BQkJicG5mWVd2alduRTZuTzIrdG1Sa1hFTlZxOVhYSzhweEx3ZWFuVElTQ1B6VEN3OE9udVFWYW85YW1waFVaWldNMVFxTU1hdWxyczUwMi9jUGhjS0J1ckFkdDFOWWE4OVdhS3d5YWZHdTRLYituQXFPcmEydXBzWXRFQmZyUXJndkVLWU9xZFFLQWs2S3FPZ3pldnZoNXFaVFZQUTJLMTN4S1ZiRVZNYVFYZmFhUDZkSXh0dndqbEJTSzlCamVwOHZYc1JjZklXdk56OGhBK01RckNJbytWNXFpaE9Sb1cwMHFxTlZucFN0V2l5dFY1Wkt6dDR4ZUYzV0RCcnd1bjJOZmJFUUNBbE12SnFKZjEraW5LN2F2UnRWN0hBRmgzbDIrVk1YV2RFcXp5aEYwNGNUUG5jTFpTdVdVR2lvbzNMSU5xMG5FZU9tbDZIVy8zWDQxbmRoTnJUV1V5S1NZTGg4aml1S0k0OGVQSmJzcHhCdUw0KzF1cmMzcE5rZWJORGFuMDRuRFpzRlVYNDlUcTRYUVNMeTh2RnJWa1RacWJTV0lybnJRNWdvREQyMnRUY0FBRUxScTI5VjMvZnNEcHIzMUxYLy82RXRHdjdTQ0hhV045WFpXbnZ2b0MwWSs5UjhTRmkzSHMwVFZZYXBnL2lzZnNlQ3p6Vno2NGxJK1BGS21TTERUUU9WbFFGTnpoRDJ2Zk43bFl4cjJmY3UrRDlaMnp5UVF0V2dNQm9vL2VaSEN6S3B6ZGorbjNubVlsU2xEV1ptU3pDZkdhRDRmTXBTVktVUForTVJIditxOCtSOHQ1c2lHSXkxZm5RVzcrUG1GLzNidlJLSWFqY0ZBNWRvUHlmN3hlSmNQeTM3ak1Zb09WWGZ2VWw1NnRHSTUrNTk2bmJOWGF1OWc5MDJYOE11bVE1aEx5NUhPSVR2SndZZHVvcml3NVFVcU55MGo4OHRkM1Q1WGJHenNSRTl6dEZXRVZHZ2RTSEE2blRobEdXdDFPZldWZFUwVkNXYXpwVWxyYzlXUmxpRTJVaEo1Q2pWM2hZRm4wQUJabG9YcTZxcUJna283ZThHc21XeC9ZQjRyNzc2T0IvcDdzV2pEd2NaSGtza2pMMlRWZ290by9lNWY5ZjJQMVBVY3pEY0xMMmZsTlVONSthdnRWQ2owTU8waWRNS2w5SnFjZW5ydHJLS0UybE9GT051WlAyZERIWFg1cGJTaDhaUnNtRTdsWURGWm1qNVNoOFVUUDNzV2dWRytwMzFnR3ZKUFVWOVN4YStoQmUxNTIzUE1PckNmV1FkVzRlY2R5S2kxKzVsMVlEOFRuN3EyZVhpU1M3TXo1ZWRncWJOMHJxRTRISmlPSGFEbVZEbVN3MEdiOXJpU2picWNmT3kyTG13eVF3UzlaczhpTlBFMHJlVWNOa3o1cHpCVnRNL2NhaTB0eEZ6VDBNNWExRkNiazk5aW5RS0hweEUvNHlKT0YraVZMQ1pxYzNLd05saTZPTHNTa2lPZnNuMGlTWXNlcFA5ZmJzRGdvVUE2VFJYVW5jcHZkNi9JQUE0TGRUazVYWm9ueWVHZ2V1Y1dURFUyMTV5M3UvZUsyeks5dUs5aGJXaFpjcUxSYUM3YnVIRkREdytOcmNrY2JmSzF1VnNPdUlRYWd1anREUm9WRG1kakxha0h0VkZkRGFVNTJSUms1NkgyVE85b0xwdHk0blJLU0ZLenhnYUlCb1BoS2hCSjh1amczalBJSDB0SkkvMlFtaUc5b3FBbXA4MFU3c2dxWk1KRll3RUlqdWxGUDhkV2RwWTV1U1JjTVVtN1k5THR2R29NWmVaSXZIMGxxck1iU0gzL0U2TDZ1SnJ1Mmc2dlpzMnN6V2lvd3F3Znh1UlBua2V2QmZPeExXeWUveUFxWXlMVzdPTkUzUDR2aGw4L3JzTXJ5WFc1YkprOUQ0dHZMN1J5Slphb1NVeDdwYmsvaiszWUpyWXVXazd5RzI4UjdQOHI3K3JJbDN5eTRITVNldFZSVmlSaHIzSXdldjFhTEovZXcvSFNrVnowMkN6QXdwYVIvWWo5T0pzWXpRN1cvZTFGTENjT1lqYzhSZlYzQVJoR3ptSE1QWFBjNW1nV1c2NmJpNjJ1bnVwU1B5YXZYMEhBR1ZyWjloUHJXSFhOMC9qMjdvVlVmaElwYmpvWHZmRWdXcmRneW43MVhuTFZLaXpabVVUZS9SS3AxNDhISkU2OTh3aTdsL3lFZjN3UXRmbDJSbjY0alBEWWpnZFJ2Zmw5TmovNEx2NzlFN0FVWkJIejRGSUdUSXpyOEppODkvN0I0VzkyVWx0VHhFL3o1cUpXQnpEcy9YY0o5b1dDOXg3aHB6ZTJFUkFYU0hXdWpaR2ZmVXBrbkd1eENwZmN6NEdkRW1MMkxwd2FiNnoreWN6ODVKK25kUTJVci9zUHU5OWVRMTIybVlwN3J1YUVRVVhQK1UvUmYvSUFBTXo3dm1iOXRjdVJLbjVCNm5NTlU5KytGeFZRdldNNVA5ejlQUG8rZlRFZCs0WEVmN3piZEF6QThPR3BZNEZUYnEzTkJySU5CQld5N0pSbFdaUkFscHhPV1JCRTFHcVg1aVpMTW9Ma2JKSCswVkJ5Z3IwcnZpUXkya2lKMUlDNnRXK3QwVkhuMHRhYVRkQnZ2LzFXSjRyaVZTMVgzY1I3TzdPWU0rbXlUcmFIbGJJNkJ5UDhSRjc0YkEzSm8wY1I3Z05sdFdZSTkxSGtWZGNOR1lhOHV3YXRyK3NCS2ZyZ0VmYS9zNUtvRjI1eHpYSzFscWxydjhTZ3M3SDdxbEZrZnIyZmxObUo3UDdyMzRoKzdETUdUZXlEVkhlTTc4YmVTc1hsV3dudTREbXIzNTVPVmZBVXJ2ajRNZGZidUJVOWpMT3VsSXI5aDdDZEpYdEtQckdId0JjMmt6cmNDQTRMVHFEd2RDWjA5QWltckZqQjhTZm1VaFgzZDFKdmJLbmRTcVVtQnE3OW1tQi9rZDFYRFNmMyt5d0Nwc2VmbVZzZ2FnU1gvcmdWalJyQXdyWXBROG5kUFovZXcxMHZFKzNnUzVuNDFEd2NoVnY1YXNKakpNN2FnaUY3TlR2L2M0eUxOMi9DejFlay9JdG4rT241OTVuK2VzZXRRTEtYdmt2Y294K1FQS00zSU9Ic2doYlY0K2JINlhIektWWWxYTTNJRlNzSWFzeGtyc3ZnNTMrdVovUzJyWVNINmNoLy9XNTJQZmMrbDczVi9IS3Eybm1VU3phdEl5QlloOU5pNmREZkdUSjVBVk1tTDJEcmhEaWlYdjJjWHIxYnBreWJIVVl1LytZNTFKWWMwZ2ZOcEt6aVhpSjhDOWw1K3o5SVdycVJYa21oMlBPMzhQWE1wNGlidUJ3M1ZTQStQb1pwOCtiTlc3RnMyVEtyeXh4Rkl5RGJaUkFGd2ZXZjRDS3p4ZWwweWs2blU1QWxXUmFjVG5jdHFic0JqQ0dBNk5temlJd01wMmZQQ05TTlVWQ1hHZXIwU1BGbzZWK2JPSEhpYktDNXo3eGs1L1V2VnVOSVNHVkIvK0N1ZW5VdzZEUm9SRUdSVVdlSW11MHJ5Znc0SFZORkhZN3FFcVMremU4YVE4cG9ERG9BTFNHamgzSDh3Q0dZQXFXSHpLaTJmczdlSFNBaklUdnlxY3F1SjNqUTZWOHErcVFVeEl6YjJISzNsZkRVRkhwT200YkJvekpNUDNRdWN3N1BQWHMzRm5NaHZZYTdUVUcxN2xmVkVhdmlrd2oyZHoxNGh1aEk2cXFyei9oY2dtamh4UE9MeWQ5NUFMdFZ3cHhUUzBCbERlQVNiT0VqUnJtR2JCeEdjUEJKS3JNc21IZHZBMi9JZXZsWlZ3djB5aFBVSFBUQzZYWWVuUTVoSTBieTR6TjM0RGh5Q2NHcFkrazU0WUl6SHJmbFdBYm1xR0dFaGJtaUNCRmp4MUM3TkwzRkdBSW16aVRBWGN1dDB2MjZhRU5neWhCWGRZZ3VBa05JRFpaYWNKYnZvcnpHaTZBdi8wUFZsNEJrUnF6TXBLWUs5TTBpSS9yNTUvK1Z1bXpac3MyTjVxanNNa2NkSUR0bEdjbmxiNU5rU1hLMjB0ZzhvcVJhTThVL2JhR2lwcDRDalJmcVJoUFU2V3lkNHRHY2tBdUlhclZxbHNmN21rOVhyV2FyR01mN1UvdlRlVjY0RjZHK2FzcHFuZnhseGtWQUEvK3BoMUEvdlNLcE9yWThXN29xVHE1ank2UExHZmZGZndtTERhYnE2eGZaOHJXdEl3WFBkUkpORUJIVHB1TGpYcWdlVTZmakcrL2Q0YlhVMGFsY3VtMDlSVnUzVXZqTlV0TGZXY3ZNelcraFBVZTNLdW9OcDlsSFV0Ty9jaGQ1U1FWUEIxWTNpaGJhZTkxbXYvb1ErYVVwakYyMkNKMjNtdDNYRFVPVzVOT2Z3WDA5cjVqQlJFMmQ2djU4S2oxdkRtZ3hsUGF1RlhYYjgxeVN0cCtpclQ5eDdMSHJLYnp1VlVZdFNEdG4yMHZyYy9hZVAwRThUZEdiZnpSUlU2YzJsY1QxbURhN2pWc2dMQ3dzRGRqV3l0Zm1tYkFydTFJL1hKUkdzb3dnT0oyeVMyYTUzR2hWbVlkQk5qSmdTaHJSUFl5SXpjbTR6dmJTTzVCbFdhaXFxa3dTQk9IaVJuOVordnIxZkZZWHdqdFhwalNwbEoxdG1aR0pSallmeXdhZ0xQY2t4OVNScElZcS9yWFR6bGh3Q09yeVhFd2Vjc3RlVklRYzJaZmcyR0RBUWQ2NmxvMUhUSHUyVVc4QnNGRytiUmVoQXdlQmIxL0MrcGhwcUFzZ2JHZ0tZVU5UQ0lpTFFXTm9Yamh0U0FoMUJTMGJxRGpxNnNBL25PanBzeGoyMHBPbzg0N2k2ZnUxWlcxbCsxMFBVMWwzN3ViQUt5Q0FCamY5czdQNEFKVkZMY21SMUhvRGxzcnlzL2VnaHdSaE90V1NicnFob0lDQUljUFFlYXR4Vmh5aWFHZExQcm1TSFZ0ZDgxVzRpNHFxM2dUSDZRZ1pQaHByMWlIMC9ZWTB6Ym1mTWFoWm1CbUMwRHFLTVZXMWxOUzJ1am9NOGNrazNMaVE1UG1YVVgzMHhCbmZpNjdQSUhRRnV5Z3RkUVVoaW4vWWlsL3k0Ri9OcUtQMjFXTXI3MW9FWFJVM2pCQnlzUnBpbStjaExncE5xN2VqV3ExTzI3QmhmWTkyQkp1cTBXSnNsRWVTSkNFTDRMRFpXblMyc3BnYUVQejljVGl0MUpkbm8yNFVhbTJyREpxQ0JvS1BqOC9semNaMENZczNaVkdyOHlMdFdWZW9YUnZhaSswTEp3RHc1TnNma0Y1c284N21ZTWFpSlNRTkhzYUhNd1l4ZmN3b3ZudG5GWmU5ZVpLYXFscitldmswZ3BVU3dOTUx0ckFSREo0Wnd1b0xSNkEycG5EeHQ2K2hIellWSTIremV1WmN0R0lkdXFDUWxvSWdTT0tIV1planBncUw3MFFtenhnRXdOQlhYK2I3K2RlUzkxWUNhbnM1OVNZams5WXZhU0xRN1hYTFBXeTYrVDYrZkY5SDNOOWZKUG5Lb2RUditJaU4vL2NKZ1gzak1HZG5Fbkw3US9oN3ZKU2Q1U2ZKL3V3clloNWJUTkE1U244TG1YZ0Zxbi9PSVgzbVQ2ajlJdEdGdE5SempKZGZ6OUZiSCtLYjFhL2dOLzU2eGo5NjdhKzZYdlRjQlp5WU41K1ZJOThrNHBxSEdIbkhOR0t1dVpYMUN4WlF0M0VnbGhyUUo3UmtYYkVmV00yYTJXdXdaR2NTKzlqL0k4QWJHRENWMUp1MnMzN0NPUHo3eFdJK2xZM2ZwUTh5OXA1TDNVOXlUd2JmZHhGYjAwYWc4b3RoVFBvS2duM2d5RU56eUQycHh6ZFVTOVh4VWxMZS90dVozNHp2SUZJZnVwanQweWZqSHg5TWRiYU5rWjhzK3RWcmtuRFRRcmJmUFpOZi9BM0UzUDBTQTZjbmRmQ21NSkw2MmtOc3ZXa0tKK0w3SWxlVllnbEtaZnBIaTlvSTJHSERocVVDdVo3Q1RaWmx1K0NLa0VxeUlMak5VUW1WbHc3SlZFOVZ0Z2xiWURqYVdDOTA0VVpxTTM4aXEvd2tKWUlPWWZEZ3dlNytCbVlzRm90Z3RWcXgyKzJDdytFUTNDRlhsZFBwMkFQMFB4dTJWVWxWUFhxREFUL3Q3Nk90bmUrMFJaM0RnU2svSDFWZ0JEcERXNytJczZHT2hsb0xQaEdocmN3ZGlZYkNmR1N2UUF6QlhaTkVrcTBCVTNFNW1zQXdkTDY2MzJXOVpKdUordEk2dktNaitMMzBlMmRESFEybE5YajNqRWJWenN2WVdsYU1wUE5ENzl2U3ZKY3NKa3lsRlhpRlJhRFZkVzBQMkdyS3NOWlk4VFpHb3pvTGxDWk9VdzBORlNhOG80M3RqdjIzY2FuWU1PVVhJL3FIb1BkdlA1bFpsdVdqb3FpNkE2Z0g2bkJSR3BrQmk0QmdGMFRCS1FpQ3BGYXJaWTFHSTN0NWVhSFQ2V1M5WG8rM3Q3ZUwwc2hiajQ5V1QxalBIaTZOcmRrRWJkYlljQ2ZJbVV6MWFXZEhxTGtjSHVHQlNyblFyelFHTUVUSG5sNzk5L2JGMTl1MzNibjNOdmJzM21wcHZmSHQyZk4zdlZ0QmE4QTMydkM3amtIbDdZdHZCNmthWHFIdFZ5cUlPZ08rUGJzM2RxMS9LRnIvc3poMmd6KytCdi9mZDh1S1dneWQ3Q05CRVBvZVBKalJkK0RBUWZ2Ym1LUElUbVFrUVJBRVNYSnBiWTJCQk04NlVvY2tJMm5WMkd3V3hNYkdMTTI1YTgzK05VRHc4dks2VEJFbUNoUW9PTmVJajQ4ZjBjb1ViYzM0UVhPWmxZU243UElza0xkYWJZZ2V2alhCN1ZzVFBCeDJvaUFJMDVVcFY2QkF3Ym1HWHE5UG83bjZvTjBXZmE0ZnFaSDVRMmloc1RWMXRySTFhbXlTUitEQXBha0JndG5jTUJXSVVxWmNnUUlGdndHTVI0OGVHVWpMOHFwR3hvL0cxRE5Ca2p5TDQ1czF0MmIyanliQjFvWnp6ZVhlMEdxbktuUDkyNkswdEpUOC9BSmxJaFQ4S1JFVEV6UE1VMk56bTZPcVZ1Wm9DNjQyTjRWNEM2MU5kQWNNbWxTN3hnUGRacWdpMkJRb1VQQ2JRYWZUalcrbHJiVm5qcmFRV2EwRENYYTdIZEhUREczVTFBQ2hvY0Uwb1gwejFNbk9qTU1zV3JtQmU1ZHY0djE5dVI3MEt6SlplWGw4dW0wdnIyNDhTSzNIVVE1ckE5c1BIZWV0alR0Wm5sbWlyT0J2aUVQM1hjR0pIY1hud1Vna2ZyNTZQQVduL2poemF5dk5wYnF3NGd5UHJtUGJaWmRTMnFYRGJWUmxITUorRmhoeGFqY3RZY01UUzgvcVBNZ05GWlFleVczeitjL1hqQ1V2cDN2bWFFYkdnVDRlV2xzTGphM3hweVZYbTlRbVFpcTJNa1B4TUVNbnRyODM2L2hxYnlGOVltUEV6UktVQUFBZ0FFbEVRVlM0dEg4VW03ZHM0UEVmR2tkdTVyMzFlemhTWE1KYlAyUzJFR3lsZVRtOHN6ZWIvYitjNUl0amltRDdMV0V0SzhCdXRwMEhJeEdKbnJjUXY4QS9rT3RnMVN2c1diTCtqQVc5cFNBUFIxZTZUVlBPanF0dnBOcDhGbDR2cGtvYXlzNHUvNTZVK3dNYi92cGltODh0ZVRuWTdkMDdWNjlldlpJOU5iYlRtS040bXFQTldwdExzS21ibzZHTlRCNHVNMVFVeGZZRm14akE0aHNuTmYwYTJGREdYL2Jud3RoWXdKdG5icDRKTlRsOGMzQm5TekdjMEo4UEV2cXplc05hUHFoVGhNMjVRUFhPZEk0dlg0OGREUUVqcDlIL3l2Rk5TYnEyNHFQc2UreDF6RlpmRXY5Mk55RkdYOEJDM3JJUEtkcDdGTHRkVGZDa1dmU1pub29BVlArY1RtV2xub1k5RzZpcEZJbTc2WGFNU2U0aWRVY2QyZSsvUStIK2szakZENkgvd3B2dzl1NDQrOU4wNkFkT3JOb09vaGJ2MGEwRWI4NStNcGQ4Z3FuYWlpRitDSDBYM3RBNUEreHB4bEN6ZHcxRkJmNzB2WFFFQUpXYlYxSWxKUkovVVJKbDZ6NmlRVzJrY25NNkZtY3dDZlB2SURUVzMvMndsM0w4blhlb3lDckJrRFNPL3JkY2lWYmRxSTJVY2VLOTl5ZzdVb0JYejBRU2JyNlZBUDlxTWw5K240bzlHZFRWbGJGL2NUWkNaREtEYjNSNWJ4d1ZXUng5OTBPcVQ5VVNNUFl5K2wyVjVrNHd0cEgzMFZ1YzJubVNnTFRKZEVVQnEveCtCYWQrM0kvWlZNT0pGeFpUb0JXSm5MT1E4SGgvMS9tV3ZVdmVqcU9valFra3pwL2ZWTmplc1FKWXpiR1huNlU4dTRySVdUZlRhMHkvSnMwdy8vUDN5UHZoRUtxSVJCSVhkbjYrM0E5ZW92TGdBZVRpWFBZdFhveWdDcVQzM3hZMmtTYVlUK3hrOTVKUHNYdEZNK0NldS9Gemw3Qlk4ak00OXM3SDFGVTdDSjE2TllsVGhpSUEzdDdlSTREUFdwdWlqZVlvc2lRNUpVbkE2VVFscW1WSkl3bE91MDAyMWRSZ2t5UXNYdDZJalZMUG5aU0xMQ05VVmxiMHA0dk5XbzZVbHBOb0RGR2t5dThNdVdRbkcrWS9UK2pNYStsejNSVUk1cG9XUklBbmwzOUY2Q1d6Q2RCbHMvWEIxNXBNb1pwQ08xR3pyNlAzdkdrVXZYSTdCOWNjQTZCbVZ6bzcvdlk0bXBScHhFN293WTZycjZXaVJnSWNaTnc5aDE4eW5TUXNtSStQZVE4Yi8vcnZUaDlRVFhnc1lXbWpLZm44VlZxU2JUU3c4NmJyY2ZhNW1IN3piOFEvUU1MYTZSdis5R1B3Nnp1SXdsZnY0OFR1UW14Wlcvbmg0ZjhRTUNqUnBmT3MvNHdkRDd4STRPUzVHQk1kYkxuMlRzd09seFd5ODVvWmxKbU1KTjUySXh6OWpCK2VXOTVrb2Z3MDd6SUtDbjFKdUcwKzRiMjhxTTJ0QkxVdndlUFM4RThNUXh2ZGw3QzBOTUtISnJwdktaOHRNK2ZRRUpCQ245dXVvdjdiWjluOXdYWUFTajU5bGwyZkhpTHVwaHNSOXEya3JMRHp5bjVkM0VEQzBsSlJhNzBJSEpOR1dOcDRmSUpjbklpRlN4NWoxNmNaeE41ME13R2FrNnlmZDErWG1IbnIxbjFLUStTRnhNOGN5YUU3cnlMM21JdEVNK3U1djdCL1ZUYXhOODBuTkt5VXpkYzkxT241L0llT0lXUllFdmhHRUo2V1J0aTRDOTAwVHk2dE5HZEZPc1paMTZBdDNjSlB6eTl6T2JSSzk3TnU1aTJJZ3liUlo5NWxGTDU4QjRjM1pRR3VaaStyVjM4WDJaNmZEVmtXWkFSQkVBUVFhSEtqT2UxV25LalJCSWVpRGRDaGJsM3dqcXMyZEh4WEhxWlQyWWQ1ODdDVGQrN3NwMGlXMzl0NzFWQ0p3NkZIYjR3bUpENkNrT1NXMzhkZGR5ZlJJL29qUjExTnh1VWZZQU8waERMZ3J6ZFJzWDgvNW1vYi9vUGlLTjkxRUthNCtpWUVYSHdOZmFhTUFrWVJ0K0k5Y2pjZEkyaFVKY2MyT3BtNDZ5NThOQkIwOTcxa3BWNUxWY085QkhkQS9hOE43WWt4MU1ndmJUUTdLNVpxSzRGaFlRUU1TQ0o0WUhMblFyeDBad2RqTURMeXRhZFpjOHR0NUJocTZmdmlSd1NITnBjelJjNWJTT3lZWVRCbU1Ma2ZEaUIvYnhVeDZ2WGtsdmRuNXIxWG93TDg3NzJEcjJlOGp1WFJPWWdacThrcFR1REtyMjUzTVpza045ZEdocWVtWWo4VVFaazJIbU5xTXlkYzFmcmwxQmluTWY2R2k1R0JRWGZkeUtwRlh6SDh4bEhrcmxoSjc3OStqZkdDT0l6OTcrZkVoMWQyZXIvZVBmdmczZE1YalVaSFNHb3FvWVptb1pHOTRpdjZQdlE5eGdzaUlQa0pjcFplUU1HSmw0anIzWEVKbCthQ1MwbStLZzBCNkRmek0zTFRmeUFtZmpCSGx1d2llZE9QaElhb2tmdmZUKzdTRVJSbE9ZaUpQMzE5VjBEU01IeFYrUWlHdkJiejBJamVDLytPY1dnZ2dmWlpySHJPVlY5ZThQbjdhTWJmU3Y5cG81R0FnUXV1WU1meWRKTFNYSngxS1NrcC9ZRThUM05VRUlTbVpGMEVRVUFVWlVIRXBaaHB2TkQ1YW5BNnJOZ0ZMNWRnYSt6dTN2aWpVcW5HZGpiWkZVVTVMUGo4QUl0dW1FbWlRYWxtLzcyaGlwdkV5SHN5T0hEbkhING90R0s4NXUrTWVHQnVVMzJsVjZDcjVGM1FhUkVjRGlUQVdaSEoraGszNFQxeUtnRVIvalFVMXlQNU5GTlNlMGVFTnYyL1BqU002c29TSEtYbFdDMkY3THIxeGlZYUhxK2tKTEFDM21jeThrQ0d2Zm9NKzE5OW1DLytua2ZBaU1zWThjcVQrSGF3cHh5bFJSMk9RZGRuUERHSml6aGVNSmp4bzFvMkdOR0hOZEovYS9FMit0TlFYazJEc3hpcE1vTnROOXpZUEtvQjhVaUF0YkFZVFV4OHQraWE2b3Z6Y1J6ZHc1WWJtdnNuQlBjZTdqcGZhUjFCWVdGdVZTd0NROEN2S1FnMVl5azFvMnUwbU1SQURHRmdxNndET3VaSTFJVkZOYmtwZE1Zd0dySXFvYVlJczluTW9YdHY1V2pUbStBQ1ZOamM4dVhNL0tycVFKZFRWYVZSSVZ1dHJwRVhGV0Q2OFFpYmI5amNyUGtOYVM1eUNnZ0lTQVkyZUdocnJoOEJBVmtXSktkVGtKMlNJSW9xSkVtU0hlWmFvYWJVS2h0OGZCRjB0cllhMjczMzNxc1NCS0ZEM3VpNmlnSnUrV2diZDg2ZHdiZ0liMFdxbkJkUTAvT1dCK2w1eTRQWVNqTllOMjQyUmRmT0pkcllnZTltNHdvY1EyNWc3TDl1QitENEU3dndERmcyRkRjMzNER1hsZUoxWVRqcU1BMWVobmhHZmZ3cEJ2WFpHWG5nbUZsTUdETUwyVkxGam5tVE9mN2RIRkptbjU0MVFoMFcyZUVZeXI5NWtkenFJY1QzK29XZlg5L0FxRHVhM2NYbTRrSWdCYkRSVUZoRFpFZ0EzdW9JVkpHcFRQanN0VGFGOWpaakJQYmNuZGdrbXVqQVBTRUlBbktyN2lrK0VkRjRwWVF5OGIySDJ3cVVjSC9NcGFWQUhGaUtNVlU3dWl3Z0JGRnExZHRCank1TWo2V3dISHBIZ0ZTRnFSU01YYUJic1pRV0lMczFHVXRoS2Q0UlFlQWZqdDdnejVDM2xoRWVlQWJLU2plNnlPZ2pqZmhmTkpPSlQ3ZlB5S0xSYUVZTUhqeEljK0JBUnF0RVhVRjA2V3VDZ0N6aHROdVJOR3JzWmdzYW4yQjBZZjdvdkhXb1c1bWhQUG5rRTZPQjAxZk4ydXU0YzBrNnV1ZytWQlprczdRQVZQb0E1aVc3aWx5M0h6akV5WXB5ckU0elgyN1BJQ0U4a3FrSm9VZ04xU3c3Y0lyRHA2b3B0VWtzM1FHcEEvcVI2S2RSWk5KWmdDMXJPMGMyRlJDWk9nQkgvazZzMmhoOEFqb3hjYUo2MExBbm5ZS2ZSMFB4TG81OXV3Lzk5RXVhZ3hGclArYm9ta0g0T2c2UnZjL0ErRmY2SVBoTDlCbHI0OGY3bjJmZ0RSY2pWeFZTc0NlUElmZmQxaUg3UnRYKzdaaHFySmhOVGlwM2JrRjl5b3VRMUJIb2RLVWMvTmNLZ3NhTlJFc2w5YVYyZ21QQ094eTNFSlo2MmpFNHM3YXo3UjlyR2ZYTk40VDRsckYreWh4T3BQYW45MUNYaEMvNjVDMXlVaU1Rc2xkVFlyK1FZUmNFb2hXbjB0UDNSYlkvczRRK2w2YmlLRHhHU2JiRUJYK1pqWGJRVkdJai9zMzIvM3VEL25QSFlzdmRneHc1aVo3dTgvbkg5NlhxZzY4NE9UUUliV2dNMGNQN0VUaHBEajR2WE03UGIvWW1ia3dpNXF4RFZKdkNHRFJ2SWpGenJtVGJxNHNKQ2JtZHFxL2VvTDZyY28wUUFtSWNuSGh6S2Ria1NBSlNSdU1ickNOdTFreCtldkZKQW53WFVyL3BBMm9pcGhIVnUzUDkwcjQzblgyZlhZd3hvb1lqM3h4bHlLZmpRZTFMdjVzR3N2dXVoMG4rNnpXbzdlVVViZHBQd21QMzBCbUJ2eW82SG4zQk14ejZmQlgrZ1VHRWp4L1ZGSHhwRDFHemIrVEFKWDhobzM4SXhnRkc2bzd1eE9xVFROOUxoalVwY08rOTkzNnZsSlNVUXpRM1UxWUpJQ0lJSXJMc1JFWkFGR1JabHBGRkFidTVGbHVEQnJtNkZKVmFyUmJjaWJrQ0lENzExSk5YaTZKNGVoK2JaS2ZLcGlMY29NRmlkMkN4TzdDS1dvWkhCd0Z3TFBjVWVWWTFRMk5Ed2VGQXJmY2xLY3dYMlZyUEQ5bGwrUGdIMGkvSUc0dmRRVlI0QkJINjM1YU14bVF5NFhSSzNXNUtYRnBhUm5Cd01DcVY2cHdlYzZialEzQlN0V3M3UlpzMlUxc3FNSERSMDRRYW03ZWpiNzhVRElIdTZKWW1nTEJoL2RIMUhFeGdVQTA1WDY3QmpKR2syMlpqNkpGQVlGdzROYnZTY2NSY2hMNXNENlhIVFF4OCtwK0U5L0FGUk1LbnpFQlZlcEM4OUEzVUZ0WVNQSElzUVhHUkhYTG1sNjFiU2RYeGZIeVRVaEZyQ3pFWGxPQnpRU282THpCbkhhQm8weWJLRHVjUWZjdWpKSTVONkZSN09kMFl5cmR2Sm5UMlh6RDJqVURRQmhBNW9pOFZod3NKR1JoUHhmcFAwSTJkaStQZ0pxcktmRWg1N2duOEEzUWdlQkYxMlV4c1I3ZVR2KzRIVEZWMndzYU93ejhxQkFRdm9pK2JnVDE3Si9scmY4RHFDTUE0WVFRNmI5ZFRxNDBkVEVpVVFQWGg0MWpNV3NJSDl3YU5IejFuVEtMdTU4MFViTnlLMWFvbFl1eDRmTU44TVF3WWdhK1lUKzQzbTlHTm1VMU1TaStDaGc3RnExTlpKQkkrTVExYjFpSHE4L0xSeFNWakNOTGhlOEU0Zk9RQ1RxMWFqODBRei9Cbkg4YmczYmtxYlJpZWhsZkJ6K1QvbkVYQy9jOFNrK3dTMUVHakw4RkhLQ0l2L1R1cXNvcnh1MkEwWWYxaU9pY2k5Z29uYW13L2FqSU9ZUzZzeG45NENvM01aQUhKSTlDN0RUdkJONXl3UVFtSWhraGlMeGxCeFpZMUZHNzdDWWNZVE9UWTBYZ0hORnVBZXIwKzY3bm5uanVCcTkrb0hYQUk0QUNjZ0NRSW9peXFSRmtRQk5SZU9sU1NFNm5CZ3RvUWlLRFQ2VVJQN2pXSHcvNk5JQWlUL3FpYXpmbk94M2FtNHp2YnlIMzlkckpOa3hqL3dPVi9tTFUvY3YrbG1GS2VaT2pjRkVYRi94K0F3K0hZb3RGb242V1pvNjFlRUFRVFlCVUV3U1lJelJ4dFdxMkxvODNMeThYUkpyb1RjcEZsV1pnOWU1WktFSVFSeXBRcThBcUx3eWNpNkE5MVQ3cVlSTHhERkovdy80elhXSzBlR2hNVDB4dzRhTmxNV1d4MG43bVNkUnQvWEtscmFzODBqM2ZmZlhjWW9QVERVMERFN1B1SitJUGRVOXlkTHlvTCs3OEZuMlhMUHU0NWF0VG9ZelQzUUJEZGFSK05wVldDTE11eUxEZm40MHFTMUt5eEFlaDB1cUhLWENwUW9PQjhRZS9ldlh1NWhacG4ya2VqWUtPbHh1YnExU0pKVXN2Q1VwVktwVGdmemlMQ3drSzdGVGdBTUJnTStQbjVLcE9uUUFIZzcrL2ZwNVVaS25yOENLMDBOeVRKUldtazlxQXBFZ1JCdUVDWnlyTXAyTUs2Zll6QllGQW1Ub0VDTnpRYVRSSnRmV3lOeGZCTlRCK2VSZkdlR2hzblRod1BBeEs3ZXNIcTJscHlLK3B4bkM0bno5bTJxYXpWYkNhM3JCcXpRMVpXVElFQ0JaMUNFSVNFRjE1NDNxZWxZSk5ibTZOQ2N6NnVSL0FBRUl4R1k1ZUszcEhxdWV1VkZleTFhd24zY2xKbzEvUHY2NmN4SWt3UFdIbnVvMi81T3F1Y1VpbUFMVTlkUmJUN3NQZFhydVNOekRwNkJIaVJWMlZod1JXWGNPdUFNR1hsRkNoUTBDRW1UWnBrQkNwb0lweEVGQVFFRDgwTmFQYTF5YktFdXRGRzFXaTBYUk5zb29ZRnMyYVMxTU9WMXI3eXUxVXMybkNRMWZPR0F5b21qN3lRV3llYW1mam1uaGFIalVnZHhUVXp3OUdLa0g5MEQ1TlhiT1B5QVZkMFV0R21RSUdDUHp1aW9xSjZBcGx1UWRhaWN4VnRvcU11NFNhNkpaMmdVb2tEdW5ZWnJ5YWhCdEF6eUI5TEU4K01taUc5b2dqV3Q4MTg3aHNWM2xSckZ4YmtoK2l3WTVXVVJWT2dRRUhIOFBIeGlmTVFhcTFiOGpYbHNyazdXQ0ZKa3RDVTVDWUl3b0J1WDlGdTRyMmRXY3hKN2R1TmcyUSsyWHFRWWNPVE1DcWtJQW9VS09nRUdvMG1vWlZRYStGamE1Mm9LOHR5VXdtWUFIU1BWRTJ5OC9vWHEzRWtwTEtnZjljTnloMC9iK1hqY2o5ZW1EUkFXVEVGQ2hSMENsRVUrM2hvYVc2aEpudWFvOUFpZ09BU2JFSnBhVWtpNE5YMVN6bjVkTlZxdG9weHZESzFQMTFWdkE1bTdPS3huMnA1NTdvMGdoVlNEd1VLRkhRTlhpdFhmaEhpSWR4RVdhWUZoNlJuQUVHV1hla2UrUGo0SkhUOUdqTHA2OWZ6V1YwSTcxeVpncjZMVXUzRThRUDhmVk1CYjl3MGhSaHZ4UVpWb0VCQjE5RzNiOTlRVHArazZ5SFVYT2FvR2hEVWFuVjhsNjlnTG1IeHBpeHFkVjZrUGV1aStkV0c5bUw3d2drQVBQbjJCNlFYMjZpek9aaXhhQWxKZzRmeDRZeEIvR2YxRGdvclJhNTUrVVAzaWZTOGQ5ODhCdXFWUlZPZ1FFSEhDQWtKRFc5cmpyYlUyanpNVVZrUUJFSHZjTmhmRmtWeC9wOWhnbjVMMmlJRkNoU2NIWmpONW1YZTNvYWx1T2lMNm9BNk40V1JCYkFMZ3VBUVJWRlNxOVd5UnFPUlJRQkJFR0tWcVZPZ1FNSDVDbzFHRStuV3lzVFRtS0tlYVIrdUx3UkJpRkdtVG9FQ0JlY3JWQ3BWOUdtRW11QWgzQUFaa0p1K1ZBU2JBZ1VLemxzSWd0Q2psY1lteUhLTGxBOTM5UUhJTW9nblRod1BCM1RLMUNsUW9PQThodTdmLzM3SnAzT056V1dPaXNIQndaSEtuQ2xRb09COHg4Q0JBLzA4QkZtYmRJOUdvU2JMTXFLWGwxZjRtVnprVEdpTHpPWUdjc3VxTWRuL1BMUkZzdVJBa3BTaVdBVUtmaTBpSWlMOFRxT3R0ZjVCclZLcHVpZll6cEMyNktPdlZ2TG1VUlBodmxvS0swM2NPR01xQ3dmOXdaWEZ3azBzVDc0ZVZZOElaSnNGcjdnVWhyLzRFaEc5T3k5Qk0rMyttZ1BiSFl5OCswcGxSeXRRQVBqNys3ZlcyRTVuaWdxaUtJcWgzVHE3bTdabyt3UHpXSG4zZFR6UTM0dEZHdzY2djNUUkZxMWFjQkd0eWEydm5EcWQ3UTlkeDhvN3JpTDkycUc4K3MxUFZQd1pWc01ya1VsN2RqUDc0SDc2RG5Hdy9mLytYNHV2SFRWbDFPWVhJN1hROGlUc3hkbVVIdndGeWRFOWpVOEdjRmlveThuQmJwUGM1M045WjZzcW83NjBwczB4OXBveWFrL2w0N0FwbXFXQzh4ZmUzdDUrcHhGcVRkVGdqYVZWYWxFVXUwbUo1a1ZTaitheTBwNUIvbGhLV3RJV1VaUFQ1aWk5UjBkWUNWQ3J4QTRiN1A3eG9DWnNlQXFXelVkeEFpb3NISHY2TGc1dnlNTS9WRU50YlJBVFBsdENRR0FkTytmZlJzV0pIQnJLSk5iTjNRVUJTVXg0OTBtOEtDUzk3K1VNMzdPVFVBTlVmcm1ZYmVzTlhQYkdYMTBLNHBMN09iQlRRc3plaFZQampkVS9tWm1mL0pPOU42VlNJUXhCTmxYVGNEU0RpTCsveFlpYnh3S1EvY0pDOW4yVFMyQnNFTFcvbEhQaHFyV0VOKzBJQy92L3ZnRDFSWGVSTkYzcDg2UGc5NFZXcSszVXgrYlcyRkFMZ25EbXpTTWJhWXNtWGRhbFAvOXB6eTVlM1pYTnlRb3IvNWgzS1VGL2h0V1E2aWpldElscVN3MG5YL3VDdUd1ZVFnVlViM2lQakIwYUx0dTRCaTgxNUx3OG4zMXZyV0xDdzVkejRic3JxUG51VlRaL1pXWEsyL2QzNjNKVk80OXl5YVoxQkFUcmNGb3NUYXV1NlRlVkNRL093TEo3R1YvZXU0emhONDlGUlNsSGwvekloVnN5TUlZRERodk9GbVc4RWpXSDl1RTFzRnA1cWhUOC9xcUJXdTFIeDc0MW9WbU5nTUF6ZTJDN1QxczBzRzgvbmpMR3NHM3ZIbDdkdUorTGJoM1BINzUxaVZSTDhhcHZFWXFQVWFNZnl1UWJKZ0pRdG4wN0drUXlGLzhEQ2JEblZsQmxQUVQ4dXM3ckFSTm5FaERzeXQ1UjZacXplTUtHREFaQUZ4Mk5XRjJOSFZBUlJNU0lJSGJmZGdNOUo0MGxJdTFpSWdaRWV5ci9qRnVmb1R4UkNzNExxRlNxZGt4UkdSQ0UxZzRaRWZEci9pWE9qTGJJWVBDaGQyUVlOMDBkalYvK01YNnMrQk5FUjlWUkpQLzdKY1orc29wZWtjZlk5VnA2MCtRYmtsS0ptanFWSGxPbjBtdmhJNHg5L0phdVNNcm01V3NuSkszMWFaOVZRRkM3VjBsc2FSNFBlWGNkby83dkZyVDJBclpmT1prVGU4dVVKMGpCZVFsUkZIMW80MXRyV1ZMbC9neFJFSVJ1Q3JZem9TMlNLS294TmYxV1dWcE1ua05Mb083UDVHVVQ2WGYvQTVRc2VaN0tHb25RVVNPcHpUeUJmM0lLWVVOVENCczZHRU5Rcy82cTlqVmdMNitrcGVqeXhjdW5sb2JDQnBmV3QyL1ByeHlURFp0SkluajRXUHJmOHpnSlk4T296U3BwOGYzaEorN20yQVpGYTFQdyswTVFCSjlPVE5BbVhqWTFkTk1hUENQYW9yNjhzdlF6dHB0MWhPcEZjaXRNekpsK0VVUC9aQzAwTmJGcDlCMy9MQWYvazg2NEIyNGxhY2ZkcEkrYlRFQ3ZjT3B6ZnlIcWpwZEl1V3FFUzd0Tm1Vb2tOL0xOdUlsb0lsSzQ2TFBuME9GTDcrc25zWFBXeFJ4TENFZHJFTUhuMTR5b2xDMFhYNDdUbUlpV1NtcnI0MG1iM04vamV6dkYzMzZPTm13S2ZTWU9VcDRzQmIrM1lEUFFzdWk5VGFvSHpSSk9LZ0NNdjhYQVRBMG1LaXdPZ24xOU1XaCtIN0xKODQyMnlHbXFvYUdxRG4yWUViVzJhM05pTFN0RTBnV2c5L1UrQ3lPUU1CY1g0MENEVDBUb255eFNyZUIvREVXQ0lDNEVUTGlvaTJxQmVrRVF6SUJWRUFTN0lBaE9sVW9scVlIZmpPclI0RzNBNEsyc2ppZFVCbjk4RGY3ZE9zWXI5R3kraDBUMEVVWmxJUlQ4TDBEWGdSbnFBVmZ3UUdGT1ZLQkF3ZjhDV3N1cWRnME1XVVlSYkFvVUtQaWZFbXh0QWdidENiaEcvbkFGQ2hRb09OK2g2a0JqYXlIZ0dzc1NGSndESERwMEdKdk5wa3lFQWdWbkIySkhXbHA3ZjZoQWdRSUYvd3NRT3ZrZFFCQ0JibEk2T05tWmNaaEZLemR3Ny9KTnZMOHZsMmFkUkNZckw0OVB0KzNsMVkwSHFXM3ZjSWVKOXpmK3hKYjhHbVdKT29LdG1NeC9QVWZlL3R6ZjVmSy92SFF2NlpkTVl2bm9HMmc0aDljeFo2U1RQdjFTVmc0Znd0SHY4My9YS2EvUE9vU3BSdEd3ejJOMFdWYUpnTE43cDY3anE3MkY5SW1ONGRMK1VXemVzb0hIZjhocDNLYTh0MzRQUjRwTGVPdUh6SFlGMitvdDIzamp4d3kyRk5RcXk5VFJRN2JqYXc1OXNKVDkvL255ZDdsK3dqMHZNdTJUNXhHcktqbVhoVy82UWRPWTl1MHFlaVY1NDdEK3ZyUkpKNTVaUVBiT1ltWHpuYjl3bmtaYmE2TzFxUUVib09tNmxSdkE0aHNuTmYwYTJGREdYL2Jud3RoWXdKdG5icDRKTlRsOGMzQm5tME5yaTdOWld1akQ3RGp2YzZvRi9CR1F0M29OdmU1OWlQeVhQNmJXOWpmOHVoQzdydDZaenZIbDY3R2pJV0RrTlBwZk9iNXB4VTFIdG5OczJUZVlheVg4TDd5WWZsZFBSSVdGdkdVZlVyVDNLSGE3bXVCSnMrZ3pQYlhUSk4ySzdhdklYZjBqRFZVbWZBZU5vZTlOczJsa3BhcmJ1NDdTbWlDOFNuNGlkK3RSZk1aY3dlQzVhV2Y4Z2k3NWJpblphM2VCWHhUeHR5d2tOTmJGMlNBM2xITHM3WGNvUDFHRWx6R0dYamNzSkRqYXhRSm9PcnlWSXgrdXhHb1Y4UmswbHY2M3pPaHdnMXV6ZG5GaytRWktqcFlqcm5nVHh4NC8vRVplU3E5eFNVM25PN2IwSzh4V0xWRnpieVEydFE4QWhWKzhnMndjUk9sM0t6RmJmVW44MjkyRUdGMWpzT2JzSjNQSko1aXFyUmppaDlCMzRRM29kUjNmRTVnNDhmcFNncWRjU002U3BWZ2N2dlQ1Mi8wRUd3M0tBK0cyWTdxanNmMHEzZnRJYVRtSnhwQXU3RkViejMzN013dW5Ec05MU1cvdlpLNnF5RitYVGVUVU9VUW1scERmQlMxQ0x0bkpodm5QRXpyeld2cGNkd1dDdWFaSjA3SWNXY09hZVErZ0czb3hmVzZhZzFEVzZENm9vNmJRVHRUczYrZzlieHBGcjl6T3dUWEhPcjFXWFZZdWdXblQ2YmZnZXFUTXovamhtWSthdjl1M25yMzMvWTFUMlY3RXpKcUoybEYzeGhwZjlZYlgrT0haZEtMbTNreGtuSk10Vjk1RXJmdU5lUHpaMjhrdkRLVHY3UXVKSE5JRFM2VzdGdG1Xei9mejdzSTdiUTU5YjVtTEhoT09UcTZqRG9vaUxDME43eEFEUG9NdUpDd3REZis0OE9hNXUvNVJmTkpta25ERk9JN2VlejNaQjZzQUtQcm1YWFkrOXlHaGw4d21RSmZOMWdkZmM1K3hnWjAzWFkreno4WDBtMzhqL2dFU1Zudm45d1Ftc2w1N2tSLy83elg4UjE1TTlLZ0VMT1YxeXZOd2VzRW10L3EzaGNabTVneXBpMDVsSCtiTncwN2V1Yk5mcDMvNzg4NGRWUGRJWm15b2xuM0tBblVJYThaR0tueFNDVGRxa2RMR2NHVHRPdnFQdWI1aldkaFFpY09oUjIrTUppUStncERrNXU5eWxyNU42SFdQMG4rR1MzTUtTUjdtL2lhVUFYKzlpWXI5K3pGWDIvQWZGRWY1cm9Nd3BVK0gxNHE5L25acWoreW5wcUFjLzZUK0hGdXhHN2kyK1cyWmtNYUloMjlEQUtKL3hUemtMbDlCM08wdjBXUEVCVEJpRUlVckI1SDNVejREMHFLeFZsYWlpUXJCTDc0dklRT1NQTForTlZhVENsMVlCSUdENGdnZU5LelQ2NmdDalJoVGpaU0U2TkVrRHNHWTJyTjU3dDcvRDJFM1BFU3ZzY09RZ2I2emg1R2R2b200Z1M3SzlyanI3aVI2Ukgva3FLdkp1UHdEYklBV0s1WnFLNEZoWVFRTVNDSjRZSEtYN3NuMWlKcnBjKzl6eEE4TlZoNkV0ckIwUjJNN0k2dXdvaWlIQlo4ZllORU5VMGswZEJKY3RWWHdqNDNaREEzWHNQN3dTVTdXMk1rckxPWlFoVWxacW5aUXVHNHRHcjJGbzYrL1FVVmVQV1ZyMTJMdDdPR01tOFRJZThaejRNNDVMQitjeXJaL2ZkcmtrREFYRk9BYkY5ZldZVkdSeWRxME5ESlhyS2ZxMEdFYWl1dVJISjN0SFJPN3I3K1lINS85TDVYN0QxT1hYWVJrczdWNFpmb21KcDZWbWxOTFpTWGVJV0ZONzJCOVdDQ1cwbklBK2p6d0FsNTVYL1B0aUtGOGZjbTFGSjV3RTgzN0pESHlwZHM0K2VRQ3ZoaVF6S1lIWHNicU9QTXhtRW9LS2Z2eVRiYmNjQ1BmMzNBanYveFlqazl3czJub0ZlaGlJUkIwV2dTSHcrM2REbVRZcTg5US9zN0RmREV3bVhXM1BrNmRTZXIwbmx3TEdZSnZ2Q0xVMnJWS1pObmNqbmJXbmtFZ3EzRVZsSFlMZFJVRjNQTFJOdTZjTzROeEVWMG8vcFJWakIwWVMyN3VLWEtCN0hvNzl0SlNUbFRFa2hTcytBOWF2NVR5MTI4bGZNSzlxQXhhVkgxSEVwRCtUd29PbXVnMXNLTzVVdFB6bGdmcGVjdUQyRW96V0RkdU5rWFh6aVhhQ1BvZVVaUmtad010TmV2S2pTdHdETG1Cc2YrNjNXWGVQYkdMVXkya3BSclI0V2l4YytUOEhadzRITUdWZTE1R0M5UnVlSTNET3pKZGRIK05iOHN6U0NJUzFDcWtSbnZORFYxUUVBM2xwVUJQd0lHNXRBcS9NSmZid3l2MkFpNTg2MlBBUWRiaUJleC9hd1hHRnhjQUVIN1pRc0l2VzRpekpwOHQweWFRcy9jRytnenZvbEhTcXIrRUlkeEk1T2g3R0hIYm1HN2RUK0NZV1V3WU13dlpVc1dPZVpNNS90MGNVbVluZFhoUGRESi90b3BpYkE0dmZNSUQvNnlDemVRaHpEcjBjS2hsV2E0VmhHNjhYKzExM0xra0hWMTBIeW9Mc2xsYUFDcDlBUE9TWGVyNzlnT0hPRmxSanRWcDVzdnRHU1NFUnpJMUlaVDdab3h2T3NVckgrZFRsVENJeXhOREZUbldXb3ZLLzVIQzNKNU12ZSsycG9DQmZQQXI4amQrVDYrQmw1eGVLYzdhenBGTkJVU21Ec0NSdnhPck5nYWZBTGZwZU0xOERzOTdpc3g0SFdGeHZwUituMEhjWGJmZ0hkV0RoajNwRlB3OEdvcDNjZXpiZmVpbmUxekRweGVoc1VWa3ZQQWhFWDBpTVU2ZGpDNHdDbS96UWJMVzdTRFlZT0x3cXg4RFEzNzFmWWVtam1EWGYxL0JJRTNDZjlDRmhNU0YwblBPTERZOCtTL0M0eDVDeWxwTmZsRWlGMS9vTXRteVAzZ1ZvZWN3ZkVNMVZKekl3eWY1S3JjcGNZZ0R5L1lRUGlZRm9TYUxCcE12dmwxMHZ2djFUdURZOG5meEZjZmlIVGVJME40UnhONndnTU0zUE1iUnlDY0o2ZWxIOWQ0ZkVIdlBvTmVvdUE3T1ZNckJmNjBnYU54SXRGUlNYMm9uT01ibHMrdm9uanJETDA5ZVQyYnBTR1o5OXVTZlZiRFZkNkN0dFJCMnFpZWVlT0pLUVJBU3UrN1l0bE5sVXhGdTBHQ3hPN0RZSFZoRkxjT2pYUjBNanVXZUlzK3FabWhzS0RnY3FQVytKSVg1dGpsTmRIZzRzWDYvZmJjT3Npd0FBQ0FBU1VSQlZBTjZrOG1FMHluaDU5YzlmczNTMGpLQ2c0TlJxVlRuOUJoclFTSHF2c1Bva1J6ZjlKbDNsQkdIWFVOby85Z09WQjRuVmJ1MlU3UnBNN1dsQWdNWFBVMm8wV1VtcVVNVGlCazNnSksxNlJUL2ZBaDk3MVRDQjhiaTFYTXdnVUUxNUh5NUJqTkdrbTZiamFGSEFvRnhqUjBaTlJndnZnanpzUXdzSlNZQ2hxYWc5UTdGbUJwTHdjb3ZxY3F0cDk5ZHQrTWRIa1Y0Y3JQNTZSVVo3M0dPcnNFM2VRdytZaVcxV2Jtb0l4UHhqd3hBMzJzWW9VWWJwNzVLeDFRZnhKQi9MaUlvMUVWRzQ2ak1wV2pUWmtwKzNJY2hkUzdKdDE2Q1NnUkVnZHFNSFJSdDJVVGxMMVVrUHZnMDBmM0N1cVpsRFJ1UDJseE0zUzg1NEJkRllHd1k2ckFFWXNiMHBuaE5Pc1UvSFVEd2pjVTRiamc2Z3l2TzZ0c3ZCVU9nZXg5ckFnZ2I1bUtVTm1jZG9HalRKc29PNXhCOXk2TWtqazBBNlBDZVhOQVNOR3dvV25YN1l6VDBIa3pvZ05nLzUwdmY2VHo2OU5QLytCbFhFTUhhK0s4Z0NIYkFLUWlDSkFpQ0xBaUNMRGlkam85RVViem16ekk1dnlVZjI3bmljRk9nNEUvcHBMRllWdXIxM3YrbExSOWJBeTM0MkVSSmxHVzVVcGt5QlFvVW5POXdPQnkxSGlhbmZIcGZtNEFveTNLRk1tVUtGQ2c0MzJHMVdodkxsVm9MdERZQ1RuUTZuZVhLbENsUW9PQjhSME5EUXgwdGszSlBHeDBWN1haN2lUSmw1d1poWWFIZENod29VS0RnOUtpdXJqNmRLZG9rN0JvelBFU0x4VktxVE5tNUVteGhpbUJUb09Bc29haW9xSzYxUUJPRU5tVlZzaUNBV0ZSVVhIUkcwck8ybHR5S2VoeW5JMlJ3dHRJUUpSbUhVMnI2a2FRL3o0TEk3bngwdVIzV2xkTVZ1elY5TGlrYldvRUNnSXlNZy9YdVIwTnFGbTVDTzQrUGdIcnc0TUdsa3VTMDRPb0Ewem1rZXU1NlpRVjc3VnJDdlp3VTJ2WDgrL3BwakFqVEExYWUrK2hidnM0cXAxUUtZTXRUVnpYVkNuNjFialdQN0NqQXo1MmdNL3JDVWJ4d1VlSWZmelZxOXZERnBIOHo0K2NuU0I5d0Q1TU9yMnBxNUpxLzVCNU8xa3lnbi9FQUI0NGtNUEdwdVUySGJadVFST3lIaHlpOEo1blFwM2ZUcTU5YTJka0svc3l3M0gvLy9RMGRtS0l0L0cyTlQ4c3BvR3RTUnRTd1lOWk1rbnE0MHRwWGZyZUtSUnNPc25yZWNFREY1SkVYY3V0RU14UGZiTnVsZk9xRUNidzRQa0ZaSWdVS0ZIVFA2cEhsdkZZQ1RQTFEzRnJxYTRLQTZEcEc3Z1pOcTFlVFVBUG9HZVNQcGFuR1Q4MlFYbEVFNjl2WExxcXJxOWh5Sklmc0dzdWZhRWtFVkY1ZWdJaEtyMjlSSEM2cXZCQzFJb0pLaGRncTFWelU2MEVFMFV2djRqbFdvT0JQREtmVFdkQktxTFh5dFFteUlBZzBCZy9VZ0N4SlVzNFpPYm50SnQ3Ym1jV2NTWmQxK3FjYUx4MzJrbkpXN1M5aDYvSjFUSjh5aGNjOTZHSCtzUEMvZ011M0xnSGcwdDNMVzN4bHZIRXhybGJGMDJoTnhUanF1MTBBOVBoNGg3S3JGZnpwWWJQWml0clIyTnBOK1JBRVFWWURzdFBwek82MllKUHN2UDdGYWh3SnFTem8zem5OeXJRSmFVeHovMzlaN21FbXZMZWQ2eS9vU2F4R1dUUUZDaFIwalByNitxSjJUTkRUK3RsRXR6UTgyVTNGa0U5WHJXYXJHTWNyVS90M3U5VlZhSFFrVVk1NlRpbjg0QW9VS09nQ1NrdEx5K2lDajYzUkhCVUJ1YXFxS3F2cmw1QkpYNytleitwQ2VPZktGUFJpMTQ2cHJEYzMvWloxN0NRRittRDYrQ2dMcGtDQmdzNlJtWmxaNFNITXBFNU1VUVJCRUx3QnJTUTVpd0d2VHE5Z0xtYjBvaStvMVhuaEpib2NkZHJRWG14Zk9BR0FKOS8rZ1BSaUcxVm1CLzU2TDVJR0QrUERHUU80NzVYMzJPUHd3Vjhqa1ZjcmNlL3NxY3pyRS9LYlQ5QnZ5ZTZoUUlHQ3N3S3JJSWpYNG1walVJK0wyYU5PRUlSNjkyYzJRUkFjb2lnNlZTcFIxbWcwc2lBSWd0NHQyTFlBeWVkdWJCSmwxZldZblFMaEFiNTQvVTRKK1lwZ1U2RGdmd3VTSkdXb1ZPcEZ1Tm9ZZUFvMms0ZGdjN29FbTByV2FEUnlZNDZCTEVsU3BpaUs1MUN3aVlRRytDbXJwRUNCZ203QlpyTmwwZGEzMXRySEpudVlvWWlDSU1pQTdIQTRNcFVwVktCQXdmbUd1cnE2M0hZRVdwT1ByWFVPVzFQd0FKRE5adk5oWlFvVktGQnd2dUhVcVZNRnJRU2FrOU9rZkRRS3VjYVlwbno4K0FsRnNDbFFvT0M4dzlxMTYwcmNnc3ZwSWRUYXBIczBtYUdpNEtvOEFPVFUxTlJ5U1hLZUFIci9wcU4rNTlLMm4xMXdOYVRNVTFaVWdZSS9PV1JaL3VYUlJ4ODF0elpEM1hSRm5wcWFoM0FUbTRyZ1pVQ1NKR212S0lxOS84Z1Q1VldUaTZvd0U2cTcxNVRXNzlRcFJNY0pVQ3NzR3dvVS9GYXcyZXlIMnpWRFpTUUVXUUpCUnBaQmxtUkJsaEdjSURqa3B1QUJnR3kzMi9kMWZpa25Pek1PczJqbEJ1NWR2b24zOStWaWE1YXZaT1hsOGVtMnZieTY4U0MxclczbC9CeWUrWElqOTYzWXpFZVpoWCs2UlNyZnQ1bXhUMzdSNHJPVDI3NWwrcjlXdC92M1A2NVp3ZWpaZDVFODYxSDIxbmg4NGFobDBaUC9ZTkFWZDNQSjRxOS8yNXR3RkhQdFRROHk5SXFGWFB2R0QxMCs3SVVuSCtHL2U2dTZkYWxsLzNtTjBkZituZWdaejNBMjJWQy9XN242LzdOMzduRlIxZm4vZjU0ekY0WmhHRVlZWUVSRVJGSkRSRU15SkRVemM4M016Rnh6eTh5MXNqSXoxM1ZiYTExei9mVTF0MjI3bUd0bWRqTXoxOHpNVE0xWU5EUFh5c3pJQzVrUklSSWlJZ3pETU16bGZINS96SVVad0d2cVZzNzc4VGdQWmM3bDh6bm44em12ODc2K1BwelI3SE0zc0t1b2xCTXRLTC9talpmSkdUV1pubVAvU2NWNWUvQXU5dTByeHRhTW4yLzVpMDh6NS8xdnoraEtCYXRmcCsrNDZhUmQrd2QyMjg1aEZ4VWJVNmJQNDREOTNKRUlIcmZhRHJaaWhnYjcyUENUVFVwSXlGSlQ4QUIvWk5ScXRlNDZkZWZyV0xPcm5DNnBIYmdob3gyYnQrUXphMnVKYjJjREwzLzRCZnNyanJCbzY3NFFZRHRXZG9EZnZicU51TGJKREwwMEdkbmx2dWlBemUyb3AvUm9iY2h2c1IweXVPdnFMcTBjWGNmc2Y3N0h6UGxQc252Vi81RWQwN1NuL0xPUGVMazhnWjJybjJYOXd6ZGUySnRRVzFqMnl0K1pOeXFMR3J2cjlFSDlhQ1ZXdStlTW1ycjFuc2xzV3pnSmRhMlZjL0dxNUc5NGo0SUR4eml3NXh1cTdjZVovL0phcWs1bkd0cExHWDcvaTdTNk9JaTltQmt2RnJKczZiUHNYdlpITE9mdHdkY3ljZEpjaXBvUjQxaXJxNm11ZDUzUmxRYU92SjF0Uy85Q2txdnV4RVN4WnlHRm05YXlyMDBXbmZYbmpvNm1xUGpRRDgyMHRXQWZtNUQ4NE9ZRE9GK3FoMUFIMjZtalI5K3lhL1BtQWh0dzRtSW4yY1RqNDY4Ti9ObkdmcFQ3ZHY4QS9WTUJQZjgzWVFUVWxyRDI2MDlEVGx1eGJSZlhEUnJJdmJsSkZ4V1lPWTRmNXNtWDExSmNyMlZvdWk3a0M3enN0YmNvc2lwWUxzME9PV2ZudHYrdzVzdHZLYXgyczNybFcyeFRSVEx4enB0SmliU3orTVYzMkxYM2F4eFZHdVk4dDR6WWpwbE1HOWJ6WjNHdmJsc1ZpMWZtcy92N0NoU2RrZEUzM2NEZ2pQZ21jQ3Y5aG9mbXZJbE5uOENVMzQrZ2E1eTMwTVYrL0RBTDN0aklubklibWJsOW1UcThGNmRLZzFZYWpyTm8yWHZzK1A0WXNZbUpqQnM5Z3V5MitwTy8wQU91WXRuS3RiejhTU0ZibERVOE5QNG16S2Z3TEd6NVlCMzVYeGRqclQvTUU4OHRRNC9NcldQSGtORkdKdi85dFd6Wjh5MWxqZ2FXdlBRbWVsMGMwKzYrRHRNSnI5YkkwdGMzVWVPcTVxQTlnYUdkbkt6OC9CalQ3NytkakRnTnV6Ly9oQlVGZXlpdmJTRHQwaDVNSFhNMUpnM3MvdTltVnUwOFNJbTlua1dMbG1IUlNBeTk0VWJ5VWcwK0JiNktKeGNzWnM5UkdELzJ0d3k0cE0xUEdFUTd5OTlZdzZadmptRHBlQWxUYnh1S3hRZFVaVVc3ZVdMRlJ5aHRraG1lRlk4anRoUERlN1FMV0hLTC9sM0FyVk9mRHJIdVZpeC9CMk5xZTlaLzhDbTZ4STVNLy8zMVdIeDFtRFVsKzFtMjMwbU85a2VXRkJTUjBPa3laazY0Q2owdTFxOWV4Nm92ZnJDOXNXSHJrV1phbWdkUWhOY2M5Vk9EQzBsQ0tJcUNyY0dEcmRHRjdITzZDVUQ1NktPUEZDSEVqak41RHZzcnEraWNkS3JTS0JkN1MydUpFY2U1Yy9GYjNQcnlCajc0b2VaaThCQXdmZHBzRHVxN01HbFlOc3ZleVEvYXB5STdweWRkdFVkWmxCK2FRcGpjSVowaHVkMHdTUkhrNVdZekpLODdSZzJBaHQ2OUx5T3ZjeUlHY3lKRHJzeW0vNlZ0VDlvRDY2RUR6Rm40SnJPYmJadUt6djNpWk03cUNxcTFDWXkvWlRoais3Vm42b04vWVh0Vms1YTI1SjB0REJvMmhOeW9IeG55aHhleEF6UWNaZFNFUjZtTTZjeVVXNitoWk5QclRQLzMxNmRzYThuOHAxaC9KSnBwZDl6STBPNEpWQjF2T09VNXhRZjJzK09IT3BMajQwblFPZGoweWQ0V3BsMXpTZXQ4S1VONlg0Sk9ZNlQvbGRrTXViSW5DVHJ2aTVuZTlWS0c1S1NqMHhrWWVHVTJneS92Y2dvYTZrYVd2dkltY3FmZWxIKzhuTVY3dGVSR1ZmREV1MThCY0xDa2dwd3I4NWcyZGdnY0tHRE1zNXNBU0VycHhKQXJNNGpWYU9qZE81c2hWMTVHU3BzbTZGKzk3aitrOWVyTHNJNkMwWDk1aVovQ0xmSHFNLzlnZm1FOUUyOGRSdXlQWHpENHJ5dTg2bEZ0TVVNbnpTY2w5eXBHOXpJeWJmWjhWbjhaWk5EYmZtRFRnU2o2ZG9zT0FiWlZiNzdCak5jL1ovU282NGl0M01uSXVVMnVrNW9maXBqOTVIUE0vMjhOSTYrL2lsU2RDd2RRc0h3SlU5NzlqdHQrZTkwWFRwZGJhY1VFOVp1aGlpS0VrUERxYlkxdUJZMUdUWXhlRzRpS0JzRE43WGJ2MEdnMGcwN25JWlIrdjVmbjkzcDRjZktscC9vTVlITzVXYi92Q00rUEdZYXQvQnNtdkxhUmpnK040ZGRNRHE1VTdHWEY5M0hzZVdrZ0ZobG0zdDZmVVIvNEg3ZE1ScmNNNU1PNzRmdlE4eXp0TzJCcHI4T2dpU0NuVndhWkFhMUNRODhlR2FqTGQyTW9qNlJ2ZHNhcExVZU5sZ1J6U3gzQ29EbjNOVzM2bEV5bUQ2L2hzMisrd3laTVpDUTQrR3hmTlhuOXZWcmJtTnQreStEc1M2RG5IYno4MW4xc09UeUoxRDBGN0V2c3c2clJWeUFEYys0Y1NzYlRXNWwvUy9lVHRsVjkzSXErYlF4cHFSM28yU1h0dFBvbkd5ek1lK1ErWHA3N0RFTm0zQWRGM3lPZndtcEs2ZGlKbERnM1dtMDB1ZGtaSWFabWFxZExTSTJwUnhjUlRWNTJ4a2swdGVEdldSeUQrbDJLODBNelNxL0xHT0NwWjlVWDNvL01xTi9lUlBHM0J5bjZzWmJNcnFuTVgxY0VEQ2FoWFFvSjdmUVlOVnF5c3pQSWFhYVlEaHgySFNQN1pNRGwwY3hlT0k4U0oyU2NWZVZmRFV2WDcyZm1xNCtRbDZJaHI5TTRsdlNmeTI3N3JjZ2ZmNEl6YXhEVGgzaXRnd2xYZjBoaDhFZnR4ekxLWXhKSWFVVUR2dmZPMituZlBZYitLV05ZK0p0RkZEOTZFMm0rNCt5R05CYlBIT00xRWZNQUZKYS8vekZUSmovSFpSMjFlMW94UXoyQVI1Szg0Q1lFSUNIOGE3cW8xU29pSXlKUSszSS9oUGNnSWVycTZqNkxqWTA5NVNNNDltTUo5N3oxRlhQdUdFSG5xRlBaMUdyMGFoalcrekpTalpGZ3pLSlAxSFkrSzdmL3FvSE5XVk9MclUwY1p0L2pzY1RHQXhkMlVUQTVRb2ZGM05JME1lcFBIZDFkdHVCSlpxN2REOGc4OGR4OFJuZUpQUG1IYmxjK2cyYSt5NUJCdVNSRXFhbXllM0M0bS93L3lXYmZ2SktOV0dKY1ZOWTBJbGRXWWozNERTTWZQQlE0cm5mSFMxSGdwSFJZOTk1L1A0OHNXRUgyc05mUkpYWmsvditieXNDT0p5L1pTK3ZVQVlBaE4xOVBFbURzMnZIQ1R3cFpqVm9HV2FWQzFraG9aUlgyUmdFME1IUEtJMndScVF6cVpvSGpWVGhjcHhlQk54dDk5NjFXb1ZhNVVjUloreEtvckRWZ01mdElFaU5OSkVUWktEOE82dG9hTE9ZbVd2K0UySmpRanppZ3lGSXJGOVdRbE9BN05pYVdCTWxLcFIzU2ZGMU83cGpjek8vVlNFVlZJME1zSmc2VWZGdmNHcWdGKzllRWQwT1NaYlFvMURjNHNOa2RoUGpZQUdYU3BQdDNyRmp4WmkwUWM2TDdyenQybUR1WGJXUHltQnU1eXFJL2pTZW1vV09pQVpmYkhYZ01MbytFUnY1MUwwMm5qVFZoUEg2TUtnVXNNbFJVSGIzd1ByN3FvNnovNlBNV3p2Y2hwbFF5MjBhZjlOeXhrNmN6ZHZJSjdrMmp4dUVLRFFhc2VtY0RJeWRPWmQ2SVRvQ0w0aTN2aE93dnE2b0N6S0JZcWFqVmtSUWJRWEpDQWdsWmJkajQxTmdUYURncVpMZW5SVVRTMUw0ekMvOCtDL0N3YlA0L21QbmFGcmJQSG41YXo2UnJ0elBNYUpJbFpNVnp4Z0VNbTdXV0tyc2cxWElhdXR5UGUxbjRUUnlsSHp5SUFTaloralpQZkZFU2RJQUUwcG12N3VhMDJ5Zy8za2h5dXppYWtjK2pWU2s0Z29kUWJTQWh4a1pGbFF0U05HQ3ZvYkxlUUZJYjBKbmpLZDNXRlBNdHF6Z0tRZDhSWFdJOENjY3JLVmNnVFE1MVE1VWZxWUVVRTlSV1V5bU1tSU1nUTI0QmhoRll6QkdVVjlUVVB2cjRNMlVuQUxXUWtpclpWM0VRcWRQU1Jxc1JHaFZlalMxSXhNcVZLOTNMbDcveHNTekx3MXAzbDlVeCthWDMwU1Yzb2Zydzk3eCtHRlNSSm03dDZhWDUvdVNyUFJRZnE2TFIwOEE3bnhTU250aVc2OUxqdWJIWHBVd28rQzg5alRuVUh6N0k1NHFGdjdhTCtGVURtNXlRd2EzcHg1anh3bVltWDJIaXNUYytob1MrWHNDcFBjcTJmWWNwUGZBajlxTnE4dis3RzFOQ01qbWR6aTJWazZsVGR4Yi9yZnM1djdlczd0MG9ldWtkRm1mcFNVMXV6K0FlSFVocGw4Q0tyVnZZMlZWaTM4Y2ZzUDRISlVRalgvbkcyd3hPR1UzbHArOVQycUVmZmR2SzZFMERTVnYwQ05OZWE4ZXRWNlJRV1ZMTUhuc2JIaHFaNHowcHFoMEQyaDlqenZNYkdOekp6TUNCbHhPcmhsWC9YZ1h0dXRMWnJHYm45NVdrWjE1ei9nWlNuMGhYZFJrTFZueEVYdHNvY2k3UDRYUys1eHZmWE15WWRSNXM3ODA0OVJKd01mRWtPYjVqMlVkN3lORTdlT0tsRHduTmxUZVIwZDdEb3FVYnFleG1KaU1yaTdRMnA3WTNDemU5emVWemQvSHRaODhTdW94U0RQMTdSUEhVb3JjcDcyVWhMNjhQeVFZVDQ0WmV5bVBQTGlYMnp2NXNXL1VtdXY1WDAxTVBjcjkrSkQ4OWsrbXZwWkFUV2NXcm54NGhOM2h3amVrTTdsakw5cUlHMGpKQ05mdEZMeThqTS9JM2JGKzFrdVJyQjVCK1VrVlU1dGJyKzNIUDh5OTlldkQ3OG1BejFCMENic0svTXFXdlJsUW8xRHNFa2lTanVEMm8xR3ExSklSQUNDSDV0SC81NFljZlRsQ3IxYTM3MlJRWHg1MHFFcU0wT0Z4dUhDNDNqYktXM3NsZU0rT2JIMG81MUtnbUp6VWUzRzdVa2RGa0prUmpUa3lpbTc2UkRWLy93STlLSkErUDZFY25neHAydmRteWpiYmRJYW43ZVptampkWGxLSFZIMGV2MVozUmViVzB0MGRIUnlQS1poTEpWRE9pWHc0R2RPL2pQL3FQY2Njc3dPcVVra2R1NUxiYUtVbFordklkYUtab2VTVkdVVmxSaDE1ckk3aGdNYkZwNlpYY21xaFVOUHlvdWdaeU84Zjh6ME5hWlV4amMxY2dYUlQ5UXI0bWhkM29pR2QyekVPVUhlUHVqUXFJdTdjdTkxM1NrVTNwblV0cDRQMkRYWDNVNS84bmZ6QTlTSWd2K2ZDdUprU3JRUkhIemIzTDQ5c3N2V2ZmSlYxUTZ0UXpzY3hrZDR2UUJOOFkxQTNMNDhidGlTcW9hNk5HakM5RnFzTmRVc09tVFhlUi9mb0NVN0VITXZqV1hpUE8xNkkyazR6Zjl1MUY4c0pqaThtT2tYWnBCZkdUUW9HZ005T21SU212dmEzeFNDbGQxVHdreXExWDA2SkZPSkpEY3NSUEpNVnAwSmpPWFhaTEc0T3kyckZ1L2xjL0xHbmhnd2syMGl6ZlRyMXY3d0F0L1ZiOWVWSlY4ejdlSGo1S1lrazU3azlZWFhPaElla0pVWU03a1pIY2gyRHNVYmJZd29OY2xOSGNrOUwzeUN1b3JTdmp1eCtPa2RlMUdnbDZpWisvZTZLdS9aK1htTDlFa1o3TGd3WnVJMWtpZ01YTFRvQ3dPZkYxRWpiNDkvUklhT0dycXlnM2RMWUg3U2hCVkxOaFZ6MjE5T2dhQ0J5dmZmSThieG81aWUvNFdHaTBaTEhqZ0JxSTBUYzlPWnpMVE96MDBTYVpqOTU3RVdnKzk4ODcydlljQUo5QUlPSHovT2dHWEgrQlVzcXlvSkFtMVNrWlJCRTYzQjZjaUllbDBPdG50ZGt0Q0NGa0lvUkpDYUV0S3Z1K2VrcEt5N1lLOElSZTRwS3IyMjg5eGwrOGpMdTdNS2c5S1MwdEpTa3BDSGE0OENNdEZLa1hmZkVkcXAwNm9uY2U1OWZkL1pPak1weG5mUGNoajVhcGgxTDFQTWVmWjJXUVlaTURKcUJ2R01YYlJDa2FjR2YwaDcrUnZ2Mi9rSCtiOVNDZ0htMDJDZWlRYUpTU25KT0dSSkVsUnk3TFFxbVVSb2RVUUVhRVIvdUNCa0NRSjRZMHZDRUJKVGUxWXBDaWVQVUJtZURqREVwYXdBR3o5Y0EzalpwZWhTSkVNSFRXSmNkMmJ1ZUUxSmxhOU5DZkVMNWpldFJPeFo3aGdreUxFdnBGL21IZXNtUm5xcG1XNmg1QjhPV3orSUtoS2tsSEpFbXBabGdueXN3WEF6ZTEyRjZqVjZsOGRzTGtqWW5ESHBrRkM0cG1ac0xVU0lqNFZOT0ZsdGNKeWNjckVPUzh3OFF6UG1mZmFXMmZjVHIydC90TVQrTlk4U0pJWDFDUUVrb1FreTk0SXMxcUxTcU5GMWtZZ1IrZ0M2UjVJa3VSVDJyeUlhTFZhdDhUR3hrNzV0UTJPUjJmQ0pVZEJ3cG5weG8yVkxrVDhKUkNtQmc5TFdNNnJmRk82Y3graGFSNXV3Q05KVXBER0ppRkpzcEJrRlpKS2c2elJJbXQxeUZvZHFnaDlrOGJXTEo5Tk1admp0eW1LNXpEUTdyemVSZmJ2V3Y3V3RudDRkTU1TbG90UWhCRGxsMS9ldTdTWkNlcmZmSlJGVWdocnJpekxnVTJsVXFGU3lWNWdrMlZaZUR5ZVlGTlVBQjZQeC9PQlNxV2FjRjd2Sk15N0ZwYXdoTVVuRFEwTlcxdlQxb0syRUI0MldaYUZIOE84d09ZRk43azFqYzJQakhWMXR2d1RkYURHYXVXSFk3WVRzd040UXRPZkZVWEI3UW5kZnZXaVZMTmk4U0lXTFZyRSt1MUZ2N3JicXlrdll2V0s1U3hmZHlFQzZFNEtWcSttMG5FUnZOMk9LdGJuZjNiQzNmdTJiNlN3TkxUV2V2ZVdOUlJWdEY0bFdsbThrNVhMbDdObXkrNW04OVBKWndWcldiNXNHWHRLbTdoNFBpdFlUNVh6ZjNQckJ3OSs5MVV6VUhNRDdsQXpsQllhV3hPZ3FWQ3AxRjVnODI4UTREWVNnQkliRzVzUEhBNTlHRFllZVBwVnJsKzBqajhzZTRlK1Q2M2l2NVgrQXVSRy9yN3NiZkwrOWdMcGMxWlNGampKeFVQL2VvMis4M3piNHk5ejZjd2xmRlFqZnVVelZNWmdNRkM2NHkwV3J0N3hpK3U5dTJRTG82YzgxZnBPNng0RzVWM1A5cUpTS2lwck9QK2ZLVHRQVEh1UXdvdUFPMkhkTTM5aS9iNFRFNld0WC93d3E3ZVhoZnkyOGRXL3MrMkF0U1ZHbG13aWQrQ2Q3Q2t0bzdJNjlPR3RuZmQ3N24zaWJjcktLN0RhbTJvN2JIdldNSDMreHYrSkdkcWpSNC92ZmVEVjNBeHRLcVh5RllZR1k1Y1gwSm8ydFUrRms1clNQaVFoU1NoQ0NBVlFQQjdQQnBWS2RWZlR1NnJobmxFanlHenZMUk5admY0OTV1Ui96WVpiZXdNcUJ1ZmxjdGVnQmdZOS8wVlFselU4K2NEdkEzK1ZGMzNKeU0zSDZXT1NmdVc0Wm1MWXJXUFJWWDlDWWNrSnRKN0tNbXJjT2xLYk02UW9Uc3BLeTVBTlpwTE1vVFdRRGxzMTVaVld6RW5KR0hYbkthOU9VWERVbExGcCsxZTQzVzZRWmRUKzVHUkZ3VnEwazFMTFFPYk5uTzZkV0tkMVRVQUdlMDBWbFRaSVRXNjZaNmU5aHJJS0swbXBLZWlDTCtaMlVGSldpU1hsREpkdVZKeVVsWmFqajdVUWE5U0ZkS0t5ckJTMzNreFNyT0gwQU41aHBjb0dsbGd0WmVVMUpDVmJtdTdYTjA0NmN4Sm1RMmc3MVJYbFdKMXFVbElzSWM5SEFSUzdsYklxRzhrcFNhR0p2YzVTNWkzWnljTGRyN1I0ZUJXbHBlak1MV20vRkxlYjZVcytRYTJXVzFoSnhUdDJZT2g3QzdPbVQwT1cxU0huYk4rK2czRlROak41Y0doKzVzRHhrNWlhL1FDbFU0YVFjZ0ZqWlhhN2Zjc0pmR3VlSVArYUFnRWZXOEFNOVd0c2FyVUt0VnFOMm1lUEVteVMrc0tqQ3VDcHFhblpFQmNYMXdSc1JKRFp2cWtVS2lVMkJzY1JmNkd6bXN2UzJrRnR5VWx2NEsyZGV4bVdmVFVYZFh4UnNURjMvQTI4V3VnbVJWOURsYkV2RzljOGowVUg5cklkREI1MEc3cjBuc2pXTW1MNzM4K0t4OFlCc09YVnYzRFgzUFZrWmFaUWV1QUFNNVovenFnc3d6bnYzaE9UaDdOKzV3L1lEbFF4YU1oMXFPVkVGcTVkUm1jZFBEWnhDSnQySDZibVlBMURobHlIbkhvVkc1Zk1QQ1c0amUvZEJuMy9DV3pOMzRKZWRqQmd5Z3M4TVNHUHRmTWZaT3FDcldSME5sTlUyc2lyYTliVE44MklyWFE3Z3diOURsMTZGZzZIaTVvZ2pxRXhtWkdNV3RYQXFLNVFzMk1KWGFkK1NzV09Gd0U0c0cwcG84Yy9TbXpuTEp4VkpReWE5aUt6eC9UR1hyNkwwU051bzhxWUJsVUhTQjN4S010bmp6MXB2OGZudHFYRW5FdnBycy9vbXRzSGEvRlg5Sno0QWdzbURhUnkzeVpHanJrZmJYSUdOUWYzTVhENjh6dzVjUkJRd2Npc2ZsUW1kQ2FXR2c1VW0xaTUvbTJ5TERvMlBuTTNqNnc5UWl5TjJLdUtjR2JjeWZZVnN3THZRa25CS2lvNi80YVFJWFZXTVduRU5XeXJTY0NFQTdldG1zRkRmSXB6NFRwR1RudVdvbDNibUw3OFc2WU9TZmFkVk1XVWtiOWo1OEVERkZmS0RCbXlHVXZ1TFN4NzdDNUt0eTVqd3B6WEtOcFZqcUg4TnRZOXBXUGNySmNZMTk5YkZvbXhKNE03bDdPcW9JUnBRMUl2MkN1eGI5LytMMDlpaGdacGJLRkJneVlUMUd1R3F0VnFTRTV1aDlsc2xxS2pvNldJaUFoWnJWYXJaRm5XU0pJVUtVbVNVWktrQkNHVWZVSW9vc1htckJQM1BmT1NXTGozYU9qdk5jV2k1NnczeGFGV3puSFZIUko1czVlSy9RMnRYTzhDYkVlT1ZJaERodzZkOFhsZmYvMjFhR3gwbkZXYkh6NTNqN2orankrSC9QYkRCMCtLeEY2M2lGcVBJb1J3aUQ5ZmY2bDQ4SVd0UWdoRi9PZTVlOFhWOXkwTUhCdmM3dTJYeFloWFByZjYvbmFLeGtiM1Nkdis4YVBGb20xaW9raHN0ajM2eG1lbjdIZkQxOHRGVEs4N1d0MTMvUE9YUmVLVjk1elJjN2lqVjVTNDVyNW5oTXQvL1FhN3FQMXFsVWpzZUpYNHZ0WjdIMSs4TVVQMHVuMnVFRUlSejk3ZFIvenU4VFhlOXI1YUlXS2tSUEhoajk1emIra1dJZDdhNyt2TGZ4ZUx4Q3Z1OUxiaktoTlh0NDhYcjN4UzVtdlhMWTRkcnhGQ0tPTFJtN3VMKzU3Tjl4MVhKVzdzMWs2OCs2Mzk1SDIrSWxHOHRkOHBYdnZ6OWVMMmY2d1J4ejVaSXJyOWRvNFF3aVorZjNrNzhmZjM5d2doRk9HcDNTTjZ0YjlVZkZIckhjL2EycWJydnZibjY4VHR2dnZZOFBTZG9sMi9lMFc5VUlSb09DaDZ0V2tuUGo3YTFONWJmN3RGM1BqdzBwQStmUEhHSTZManRkTkVvMUNFYUNnVlY3WFRpRWZmTEF3NTVzL1hkeEJQYnlodE9XL2ZuQ1Y2M1BGRXEvZjJ4K3M3aU9jK0xHOTEzK3NQM3lodStkdktDL1plS29xbkNCZ05EQWNHQWJsQU55QlZrcVFFSHhaRnlyS3NVYXZWcW9pSUNEazZPbG95bTgxU2NuSTcwdFBUeWNyS29rK2ZQbHg3N2JXb1pWbmxqeWhJc2l3TFJWRWtYeERCYjQ1Nm5FN25lMXF0TnBSMFRYSHhyN2MzNEU2L2duc3lUcjg4YWR2Ty9jUmYycFd1T2k1cTJiWHJTM3IydlFhakRLQmx3T0E4SHR1NUd5YjJKYk4zZnc3TS9UUGo1Ukw2NXZWbDVNaWgrSW1rQmd6c3k1eTdidVRBeU92b08yZ29RL05PenNsbTZYOFg1UlYzL1d4OGptUEdqZzJZWGpxZGpoM2JDbEQwc0dqdVg3elRxcXFJUGJ0MEtNQ3VuWHNZT01GTEdtREtHa0JQODZrTlh2ZUJiWHdtOTJadFhsS2d6VmlURWFoa3k5WUR4Sm8vWU1hTUQ3MDZqZHRCNGU0U2hxZDNQY2tWOVJnTWFqQWFNQmxpTVJqdE9PdzJzTzVqeTI0N2NzSHJ6TmpxTlJXZDdsTDJITFNSbmExang2b25XYmppUXlxdERtb3Fpa2tkZFhQZ2lqMXplNk1IMENXUm1sQkRWUTNnczhxcnE2c3dKWWV5Z1JUdS9wSzhBWGQ2dFRwZE1nUHowcys3VDlNWWE2S3E3TUk1Tkd0cWFyYlFzdElneEJTVkpFa0pyQnNhRWcwTjhxMnAxV2cwR3E4cDJzd2NGVkpUdHE0Q2VNckx5OWVucHFZK0ZCVHlaTVY3Ry9oWTdzZ3IxMlZ3MnJYSFNpTXJzU09ncEFBQUlBQkpSRUZVZHhZemNzUkZsdUp4aHNYWkNiM0hzRzkzTGdYNUJheGUramVlWExHZGZXdm5JZ01Ubm55WC9ydTJVYkJsQ3pORzlXUDN3bzk0Wk1TSkMwUXFkNnhnOEwxL2IvSDd1Tm12TVcxRTFvVVBwaGhia2c5WTBub3hZb1IvN1lZYkdUVTU5cFNQek92Vjh6cnRGRVZwZXRGUGVxS2VBVU52b25lQzk2OFJJMjRrSlQzbDlBWlA5akZFZU9FVFVGQzBaZ2FQdkpFVTJYKzltMG5ycktkOHkwSW1MUGlDL0kzdjBUWEJ3UG9uNzJSK1JSTVVxZVVUKzBXTkpoTldxN1dWUHNnWGRLUnNWaXNtaytHQ3RiZDE2OGRmTlFNMTEwbk1VQkdhdHhia1cvTUJtK3hQYUdzQ3R3QlZlQ0E2bXBiV2FaK2lLSnQ4c1F2ZS8vQkQvbDFuNXNXYmV4RjVCcy83NkEvZjhJbW5MY1BUREJjVnJsbGkyMUpjWEJMeWxjM092b3pkMi82RFZRRndzbVhqZG5KeWVnWW1sU0VobFJHM1RtRHhNdzlUc1c4L0RwOEQyV3ExazU3ZG40blRadkhRK0w3czJYZmdwRzJiczRlemZ0MTdyR3UyM1RXNDZ5bjdyZFhwVUtxcmZIMDhmVm4yeEJUbUxzMC9yV096K3c2azZzQlhKR1gySmpjM2w5emNYTko4UVlYczNKNFViUEdta3RRVWJtRlhWVk5IWXMxR1NrdThrY0VkMjNZRW5xMDZ2Uys5bGM5WUdZZ2FLdFRVV0lFRUJ2UlA1bUNGTTlCT2RrYm5Wb0gyOUZTYVRBWm0yQ20xeGdhdWw1bWVodEVnVTFGYVNrTFhYblJOTUlCaVkrMjZndE8rYkU1MkwvYnRDYVdLejg2K2pPMWJ0bmxYZzNPVWtiLzk0UG4zZCszWlEwNTJ6Z1Y1UDl4dTkrWVJJMFljQ3dJMkZ5MFRjNE55MTZTUVpOeGczNXBHbzBhcjFhSldxOVYrVVBORlIyVWhTUXJOelZHN3ZXR3R3UkExbUlZalBGN3dIVlpkQkFQbjd2ZStBUEZwZkhMdjFRRE1YdndxNzFjNHFYTzZ1WEhPUzJUMnVKelhidlJxQm05L3ZwOSt2WHBoa2k4cVhDTnorQVR5WHI2SnRLNXZrVFgwUHRZK05abVVRUk9ac3Z4OWNuS3VJa1ZucGNyWW40M2p2R2JYWnl0bU0vR1pqOG5zbWtKeDRXNG1QZktTMTNUQnpVUERlN0JMU1NmSjZLU3d4TTN5OVlOUHJtOW85U1FsbjkzTEs2Y1BaR3J2WjhuSnVneWpJWlZsQmUvUTlUUXV0V1BUVyt4Tzc4d2o0MDdOTUcvTUdzSGlTUjh4c0dkM3VtYW1VMVZ5a0s2ai9zYXJNMGR4MXlOL1orWGczekZnNjRzNDNZTGtJRk4wM01TN0dUcStINXV5T21NeFJ5RGpXL3RCbmNTaTVmOWd6TGlyV05ZMUU2V3FqRUZUbjJmbW1ONDhOUDhWeG82OG5aemx5VmkwRGc2V0NaWnQzVXJPV1ZIZzZabjM2a3VNSG5NRGE1L3FpczVaU2FtdEhmazdWNUUxZER6bUo2NG5iL0NuNk94VldCTFNUdnVxNllOR1lwaDJHd2NkaitGZit5ZHIxQlNHTGIyR25MeHJpWlZkS09ZbW1wK1haOS9CeS9uRkZPK3JRRmR5RTZzZTB6Tmo0WHNNeXpLZS9ZUzFIMkRqTGlQTGw2VmZrUGZqMEtHeVQxb3hRVjBuTUVPRkpNbEIwZEFtVGMydnJXbTFXcVJ1M2JyUjBOQkFRME1EalkwT3FiSFJpY3Zsa2hSRmtSVkZrWVVRYWtEN2YvLzNtUEhoaHgvZUJyVC9KWU5NWldVbFRxZUw1T1F6cXhUYnMyY3ZuVHRmZ3ZZYzE0cldWSlZqZFd0SnNZUytYVTY3bGZMS2Frd0pTWmowMmhiblZOdGxVcEl0cUg4bEh3bTN3MFo1UlJXeGxpUU1PbTN3RHNyS3FraElTVWJiN0Y1dFZlWFlNR0l4dDJJQktFN0tTOHZSbVMzRUdrSWR1dFVWcFRqUVk3R1l6NEdCcDFCUlZncTZXQ3pCYVRtS2s5S1Njb3lXWkV6Nk0wdkpXVDdySm5hblBjd1Q0M3VIdEZOWlhvYk9sSFJhdE80L1JiWXZtY2FUcFRtc25uUCtYVVpDaUxLYmJocjU1M2ZmZmRkT0UwV1JEYkJKa21USHk4UG1sQ1RKTGN1eUlzdXlvdEZvUkVTRWxvZ0luWWlNakNReU1wS29xQ2dNQmdOR281SFkyRFpJUFhyMHdHNjMwOURRZ01QaGtCb2JHM0c1WEZJempqWU5vR3RzZER5aTBXaW1ob0V0TEdFNWY2SllpMW02cVlUeG93YitUOW92V1BVcTZVUEdrV0k0LzE5TnE5WDZVa3lNNlFPZ2dWRHV0WHBKa2hvQWh5UkpMa21Tdk54cmFyWHdBbHNFT3AwWDJQUjZQVkZSVVVSSFJ4TVRFME5jWEp6WEZQV2JveXFWU3FoVUtzbmo4UWhabHZCNFJIQ0psZnZRb1VOcjB0TFNwb2FuWGxoK1BWTEQ4b1hMcUc3Rmoyako3TXVvQVJkK3pWYlptTWI0VVduL3N5Y3ljTlQ0QzliVzVzMWJkalh6clozUXZ5YkxrdkNibno2c0NqSkIxV2kxR2lJaUlvaU0xUG1CVFVXUXI4MFhIWlh4eGtZRDBWRWxQZjJTL1c2M2E3VXN5eVBETDBSWWZoMWk0dFpKazhPUDRYOGdqWTJONjBhTUdGRkZxRi9OQmJna1NRcXdlUkNvRFExbDhRakdMcjl2VGFlTElESlNqNnpSYUFJSEJLZCtCQmZHK3dJSkhyeVZDRytIaHlRc1lRbkxUNVdpb3FKUFd0SFdnb01HbnRZb2lwcW5lR2cwR2pRYUxWcHRCRHFkRHIwK0FHeWFRTGpVcitLcFZMSm96dllCZU16bStBSWh4Q2ZoWVFsTFdNSnl0dUx4ZUhiMDdIblo5eWZSMWxxd2VhaFVUV2FvRjZ2VXFOV2FGdHFhd1JDRldxdlZvTkY0YlZTWHk0dUFicmNiYjBXQ2dxSW9BWEFUUW5nQWQzMTkvYi9kaW5KbHJVdW1YUnRENjVFNWp3QlZzeUozajR2eTR6WWlvZ3pFUllZcHRuL09zcnRnTlRzT1ZJSXVpWEhqaDZNUFA1S3duRU01ZEtqc1B5ZlIxdnlNdVVwb3Nic3F4QVQxNDViZnQ2YlRlUU1KMGRIUnFMVmFMUnFORnJYYTJVb1F3ZDFpb1JmQWs5SWw4KzFMSDV3N01USENrMW51aXVUcGNkZlRKeUVTTDIzUk90Nzlyb3BLeGNTV3Y5MkN2eVQzeUtGdkdiOXNHM0dXZUk1WEhxVnpyenorT2FnTGNuaU1XNVh5SFRCbkN5eWE4YjlwWDZ2VFk1QXJtZnJRRzR3SUExdFl6cUVvaXJLdlg3KytlMXJYMXBxVzFzTy9ZSXNrQ1ZtV1dna2ErRTFRdjdZV2ljRVFoZEVZZ3h3UkVZRlhhL09hcEUzZ0p2dTBOam1Rck9zSHR1UGxoOXo1RDl6MDV1b0hiK2VoakFqbTVIL3Q2N0tYdHVpOWU2NmgrUnJqYjJ6OWxPNTVWN1BzOThONGQ5SzFmTHA1TzE4MVhDUUQ2ZnZYV2dWbEZhSDc3RFZRWEVySVN1ZUtBclp5MkxvTDNHN09hUFZ2QmU5VUtTa0d1ek8wQTdicWx1MmZTREx5aGpCMjlGQk9GUEYzTzZ3VUY1ZGdkN2JzWEUxbEdTV2w1YlRZcFRncEt5bW12TW9hZnJzdllxbXNyTnhZVm5ZNEdOU2NCTllMRFNtaFVrSzF0ZUNnZ2Q4RWJkTFdvcUs4MmxxYk5pYmtpQWdkV20yRXp3SFhsTUdyVXFtRnZ5SWhLSWpnYXd6Mzh1WExWd0xmcGNURzRHZ01wUzJLaTJ5WlFHalFhbEg1bDdPWEFMVVdnK3JpR01qK0ZwajJFT1FOZ3VHRFlJR3ZPRzN4RE9qWkg2Wk1nS3plVUZUdC9mMmhNVEJ1TnBSc2dTRkRZUEFZOE8waTF3eTdmUnlFZTFaQXo3Rk43ZVF2Z0FGallIQXVqQmtMMlNPOHY4OFlDVU5Hd3NneE1DZ2JKaS84aVdicTJtZm8zTGtYVTZiY1E5Zk9QVmk1bzlTM3g4bVRFNitoNzlBN21EcjU5L1RNSG81L2o3MXNCMzB6TG1YODVEOHhmdVMxakptNU5QeUdYNFFpaENpZU5ldlJMMDloaHJZb2VQZVZUWW5nOUE0dnNFVVFFYUh6SmVrYWlJbUpJVFkyRm5Wa3BJNkdCcTg2NTNScWZMNDJkZk1JYWJCSjZnRThkOTg5MFhyYjZCR3Z2L3pwZDdOSFh6djhsRGQweDNYWDhNRHJteGhmdkpmcVl6WGNPZnBhTHJsWWNsM2RFdFd4Z2owK1ptYUhBNHJYdzJOYm9YQVhtTlN3ZGk0ODlCU3NmUXllWEFrSDE4Q0lGWkMvNHN5YTJya05kdTZHRExPM25jQ0hKUk5XellHYUhaQTZFWjZaQkdlVnY2NVVNbTNTLytPeHRkOXdhN2FaZmF0bU0yRGFZNHpZdmhodHpXNFdyTEt5cGVwelVtVlFuTTZBdHJwanpWSzBBLzlFL3NKN3ZSRG9kSWJmOG90UWpoNDkrdDZMTDc3WTJKcTJKa21TM3d6MTBFVC9MVUlqb2NHZ3BpVWlRa3RrcEM2Z3JabE1Kc3ptZU9USVNEMDZuWTRtWDV1R1prbTd3ZWtmSWFrZmsyYiszNy9kNlZjVW53NXQwWmJQdnFCU1orR2VxN0s1NS9KMnZKRy9rd0EvNWE5ZFpNR3RRWnFWVGdmYnRvQWVtRGNUWnN5QWpidGhUK0ZQYjZyblVDK28rZHZ4UzU2dk9zZVVBcnBxYjNyMzJUbi9DaW0wWnpBZzI5dEl4c0JCcUFzL3AxUUJqT24wVDY5a3pMRGJtZnZNSW5hWDFRVEFNN04zZnc2c2VaenhrMmV3WlBrNmJJbzYvSlpmZk5yYTkwODg4Y1FYelVBdFdHTnJrZUxSSE5SYSt0WjB2a2lvSVZCMVlMRWtJa2RGNmRIcEl2SDYyclQ0bzZTaHFSOHFFUVJxQ3Q0SXFmdVYrYzhjLy91QWprdFBIUUJvWk9XbjMzTGJ0VmZTSjlYQzlmMzYwczFWd3FhUytvc0UyTUJvYU9rTFMra0pJMFo0dDNIVFlOVVRaK2F6VTl3dDl4bFBVUHNjWU1vNW45RWFPWmFsMi9jeWYvb3R5Qlc3R056N2NyYVdlVFV6THhYVFI0ekk2OHpXcFg4amIvUk1sUEM3ZnJGcGEydi8rYytuSE0xTVVMKzIxdW9TZThFWUZGeGg0TlhXV3ZyV3pHWXphclVhMldBd29OZEhobWh0VFVtNzZ0YTQybnpnSm5ra1NYS3ZXYm5pVFNIRS9wUGZrZ3BEaElvZnFtcTlMNlNqbGtQMUVnYmR4ZnZWN2o4QURoUkMxeHpJemZWdUtVRjE4SG9qV0N0RGd3b0FDVVlvOVRIeWJQdnNQSGZTWU1ic0xxZWtPcWdYU1psazZmZXhaVmNWQVBzSzhuRm5YZTdsSkhQYXNMcjE5QjQ0akJuekZqSWkzVUZSaVZjM1BERVZVMWd1RW0zdG05bXpaKzlzQmRTY1FmNjFWbEk4WkVKTHAwSzFOYjArc3BtMjVtVStVVWRIRzZtcnE2TyszbzdEMFVCall5Tk9weGFOeG9YTDVVS3RWZ3UzMnkxNVBCNmhlTU56UWdnVUVJb1FlQ1pNdUxQMmhUckxhenVtWERjUFRreGJOUG42SzdsNzFYdDhzVE9lbXFvcWtyTDZNRFJvN1lTTFRkS0d3c3l0a0pNRm1lbmVLT2JRaDJEdU9COSs1SHI1a2JPeXdKQUVHemRDTERCaEl0dzFDQloyQmJNQk9KL1VkdXBVWnM4YXlxMDl1NkEzcGJGaSs0ZGtHaXc4dGVDdmpCclpoK1daYWV6WlY4NkM1ZTk3MlYxckN1bWZlenZtakN6a21oSnFFc1l3TDlmTC9YdGlLcWF3WEF6eTQ0OC9ybjMrK1VXbjhxMkZKT1FHMFJLSmxxQVdFV0QxaUk0MjBxWk5HK0xqNDlINS9DL1NhNis5U21scEtSVVZSemgycklxYW1scnE2cXpZYlBXbnkvcWh2ZTY2SWZwMTY5YXRraVNwOTBudnp1T2l2TGFlaU1pby8xbUM3cytOM2NOaGc0cHFzRmhBZDVxWHJxNEVSUWRtNC85dW9yb2ROc29xcWtoSVRrRWZuS0d0T0ttb0tNZXROcEdjRUVweGZUSXFwckQ4ZWtWUmxKMlptZDJmMnI5L3Z3TXZpMGU5YjdNQmRoK0xoL04wV0R3TUJpK1FtVXd4eE1XWnNWZ1NTVWxKNFpKTExxRkhqeDdvOWQ3UHBicE5temJVMU5SUVYyZkRicStub2NGQlkyTUVXcTBUbDhzYklWV3JWY0x0OXJOK3lIZzhua0N5THVEWnNHR2owMnExdmhvVEUzTnlZRk5wU0lvMWhVYzZTSFFHU0QxRHJTczI0WC9mYjdYT1FHcHJIWmUxV0pKU1d6MUhxemVTbW1vTUQvcEZKc1hGeGUvdjM3L2Z6YWtqb1FwTnE3djd0TFhtdnJVSUg0T0hWMXN6R3IzYVdrSkNRZ0RVQUdTejJZekpaQ0k2Mm9CZUgwVmtwSTZJaUFpZnI2MTFmMXRRMUNLdytJTEoxT1k5UlZIV2g0Y3hMR0VKaTE5Y0x0ZUhsMXpTZVg4elFEdWxiNjAxdjVwR293M1FFdW4xVVVSSEczenBIZWFBYnkwQWJBa0ppY1RHeG1JMHhtQXdST0ZOLzRpZ3FTSkI3VXNCVVlrZ0N2R1FFaXU4aXk2NEtpc3JYdzBQWlZqQ0VoYS9mUG5sbDVzSVRjWU5BSnRQVzNPZlhGdlROS3NIYlNwME54cTl5YmdKQ1lsRVJVV0ZBbHRTVWx2TVpqTnQycGlJam80bU5QMGpJa2hyMHpTUGtyYlEydHEyVGRydWNybVdoSWN6TEdFSlMzMTkvZklycnNnOTFBelVHaytrcmZtWDFHdGVOdVduSkRwUmVrZFNVdHVXSHBISXlFZ3NGZ3R4Y1hIRXhNVGdUZi93SnUxR1JHaDlLU0FCY3pTNHpFbzBxeUYxUzVMazJydDM3MUxnOEs5dGtESXp1NFZwd2NNU2x0TVVJY1RoTld2V2JHMU5VMnVtcllYa3JiVVdDZlZYR1BpNTFwcW5kMFJHUnJZRU5vQ2twQ1RpNCtOcDA2WU5ScU9ScUtnbzlQcElJaUw4NEtZNWJWL2JaWmRsZjJlMzIxOElEMjFZd25MeFNtVmw1Y3F4WTI4LzNreFRPNkcyZGlMZm10Y0UxUklSNGMxWkN3NFl4TWZIazVTVTFHcjczblhJdFZvc0ZxOUo2ZzBrUktQWDZ3T0JCSzAySWxoekU0b1FPTjBlNGZZb1FoRk5yQjkrZE83YUkzdnBzL21GbTBNNEhOd08zdnBvQjlOWGJPTHgvTjBjYVJUaDBROUxXSDZGNG5hN1A4N0p5Zm44TkxTMWtLWDEvTlVGdmxRUFh5VlVSRkRBSUxnZTFJekYwdmFFVmxRZ0FhbDkrMlQ4Z1lTWUdDTUdnd0YvSFdtdzFxYlJ5RGpkb05ab1VLbFVJQVRDMXprL3VCMDZlTUM1WU1OL2x3UUQyN0wzMS9ONmlaTXhmYktJc3g1aXdxclB3aVUxWVFuTHIxQUtDd3ZmTHlzNzNMeTZvQkZvREFZMUg2QXB3VFdoVFZIUUptMHR0QjdVR0FnWXRHK2ZmTUkraEZRT0ppVzFKVDQrSHBPcERkSFJYcE0wTXRKcmtqWnBiVHJNYmFLRklUS0NDSzFHcUZTeThHSmJ3RmIyU0JLdWcwL2Q5N0hMNmZ5WDk4cU41Tzg5d2wzWDVwSFR3Y0xFRy9yZytxYUlyeHZDa3lBc1lmazFpZFZxZmJWWHI1d1NIM2dGZzFwd3dYdHp2aldmdHFacVJWdlRoVlFZbUV4K0U3VHRTZnNSQW15SmlZbFlMQmJNNWpoTXBoaWZTZW9GTjUydXlSejFSVW1GV3ExR0JOR0xOR2x0a2h0d2Jpc29lRVVJOFNWNGNDc0NsY3JYbkt4Q0pXd1VWN3ZDTXlFc1lmbVZpS0lvWHozLy9LTG1BWU9BYjAyU0pDZXQrOVo4SnFoR05HbHJUV1ZUM3B5MWFFeW1HTXhtYjhBZ01USHg5SUVOb0YyN2RpUWtKUGh5MjR3WURGR0JJbmsvQTRnL2tBQUtpcEJRYTlRQklrcEpDakJndXNkZE43VGkrUEhqTDRDZVBwMWlXYlc5a0tNMk94OTgvQ1UvQ0ltR1JuZDROb1FsTEw4UytmYmJiMWZQbURIRDFncW8rVFUyUDZnRnAzaTBXSEdxaWJuRFgrUWU1VnZoUFphRWhBVGF0VHQxT1dRTFlJdUppU0VwS1Ftek9kNlgyOVpra2dhRG15eEJuY01qZEhvOUdwV3ExYVJkSk1rVkYyZmU0SEs1WHJ6N3hpRjA1d2lUWHQvQXAwb2lBMkpWNkhWaFRxNndoT1hYSURhYjdZMnVYUy85SnNnRWJXeW1yYldhak5zVU1OQ0k1cUFXV3VUdUpaQk1Ta29pSmlibWxQMXBGVm5hdDI5UGRYVTFWcXVWK3ZwNlh5RjhJMDZuRTZmVGlhT2huaU8yUm93bUUycVBrOFpHQlVWUkVFSUlSVkVVRUI0aGtDU1FrU1RWSjU5ODh2SlZWMTNWYTlwTnY4a0djTmVWYy9XMmFQNFVIMTZwS2l4aCtSV1lvTHRmZmZXMXphMzQxWUpCellVMzE5VWpTWkxTUEJtM3lhOFdXalpsTUVTSEZMeTNiOS8rdFByVUtyQnBOQnFTazVPcHJhM0ZacXZEYnJmamNEaThsRWFPQnI0K1ZvY3FNZ3BKdUdod0s4SXRKRW10VWdraEZEd2U4TklhU1lvQU53TFgxVmNQTE52ejVhNUZYM3FpRmlkcEZkNzUrSE95Y252VE1ZeHJZUW5MTDE2KytlYWIxUTg4OElEMUpDWm9pMlJjMzZwVExkSTd2SDYxbGxIUXhNUUVrcE9UMFdoT0R6Uk95S2Rxc1ZpYUplNUcrMnBKSTRtUGk4T2tqd0NWQ2ttbFFwSzlxQ3ZMS2lGSkNDUkpTSkt2WWwvQ0pVbVNNL095N0UybEpTWFByaTg2VE0vZWZYbDZjT2Z3akFoTFdIN2hVbHRidXlRam85dUJrMmhyZm1Eeis5WjhBWU1BcUlVdzRucWpvUDVhME9pUVJOem1oZTVuckxINUpTVWxKWWpTeU82ak5Hb2tQVm54Y2JiWnFLKzMwOURRSUJvYkd5V1B4NE5hcmNiajhRaWZCQlpabGlUSm1WaFQrdEtNMy8rK215ekxnOEpUSWl4aCtXV0wyKzNlOHVpanN6OXVCbW9PbW5MV1RoUUZEVFpCaFplMUk1ZzhVdTh6UVUwK0U5UkNTa3JLR2ZYdHBBejRVVkZSSkNjbms1aVk0RXZjamNGZ0NDNlVid29tK0d1N1ZMNUFnbitwUG9JcUV1NjY2KzdqaHc0ZGVnRW9EMCtMc0lUbEZ5MC9mdnJwcCs4OSsreXpEYTJZb0k1bUptaWd3aUEwWUtBV3dacWF2OERkWUlnT0xLUG5OMEdiczNmOEpJME52SUdFMnRyYWdOWVc4TFU1dmRUaGJyY2J0OXVOeCtOQlVacUNDRUlJZk9BbUNTSGNnQ1JKa3B5YTJ2RnpxN1YyUVhSMDlOenczQWhMV0g2WmN2anc0V1Y5Ky9Zcjg0RlhNS0ExTjBIZFFSVUdvbWxSbHRCZ2diL0FQU3JLNEV2dGFFTjh2RGUxNDNRREJtY0ViQUFkT25Ud1JVaHRORFEwME5qb3dPbDA0bkk1ZzRETmpjZmpFUjZQUndvR09KL1dKdmxNVXBja1NTcWpNZWJmalkyT05LMVdlMWQ0aW9RbExMOHNzZGxzYnlRbnQ5OUZhR3BIY3hQVVJXalpWQXNUdElsakxiakFQWlNPcUVPSERtZlZ4OU5hakMwNk9wcjI3ZHNIMFJzRk0rNzZxeEw4eEpTYVU1bWtUcUR4d3cvemx5aUtVaENlSm1FSnl5OUgzRzczUjRzV0xTcWc5UWhvUUdNN21RbnFCeld0TnFKWmRZR0JtQmhUZ0k2b2ZmdjJSRWRIbjFVL1R6dER0bjM3OWxpdDNrVmVRclUydjBucXdlUHg0UEVvSnpKSkVVSklQdFhVT1d6WXNQTHZ2eTkrdmtPSDFBNlNSS2Z3bEFsTFdIN2VJb1FvM3JGang5by8vZW1odWxaTVVBY3RBd2FlRTV1Z1hrMU5wNHYwc1hiNE9kYThCZTdKeWNsblpZS2VrY2JtbDQ0ZE85S3VuVGNGSkZLdkIwMGsrcWlvSUdMS0NMUWFEWklzQzFubFgwaytoRzAzRUVpUUpNblpzV1BhenBxYTQ4L1Jjdm5NaTBhc3BYdFl2MjNQdWJuTzluMFhwTS9iMXErZ3pQcHpmNjZ3ZnR1RmFzMU93Zm90T0g4aGM2VzVmTFpwTlFlclQva0t1b3UvL3UveWZ2MzZselhUMWxvelFmMkp1TDdxQXE4SnF0SDR0YlZRdjVxL1pLcE5tMWppNCtOcDF5NkpqaDA3L3FSN09pTmcwK3YxZEdodjVxMVBDbm45NnpJK0tTbG4wM2VWTktpOU5ySWtQSlJVMTNITTdzUnFkd2k3UzBGV3FZVXNTMEtTVUJUaFhZdFVDT0VXQXBja1NZMnhzWEh2TlRRMFBQVkxBYUluSm85a1c5bTVJMXlxTE16bm1aVmJmdkoxeWo5YnhTTUwxMTZRZTFydzBPL1o4VE9QYTFjV3dqTXJXM2xPTytEZWVlZTJyZDByNS9Ga3dVRzB2NUM1MGx4ZW5uTS8yNHB0SnozbTJMSHFGOU43OU4wVHBLazVnamRKa2hxRFFhM0pCSldFU3FVV1hsRFRpaFBWZ1hyejFjeTBiWnRFaHc0ZFFsYWNPdS9BQnRDMlhYc20vbTRNODM4L2dnZHVHRVMvOWtiMjF6aUppb3JDRUIzRHBSM2FrWjZVUUx1RU5raEN3WVdNTEt1RUlvUUFTY2l5djFCZStCa0FHbk56YzVlNFhLN1hmZ0grQlFxM2ZVaFpqVGRvRWlyZUNhdzRiQlFYbCtJTW1zLzJtaXFLaTB1d3UwTW51YUlvcEE2WnpNYjVrMXU5bHNOV1JVbFoxWm4xMFc2bHBMU2lCZGVkdzFaRFNYRXhOb2Y3RE83SnUzNW9jVWtwZG1mTEY3U21zb3lLNnBZdmhLMnF2TlYrSzA0N0pjWEZWRm50NTNXY0ZBVlNoOERHK1MxL3Q1WEQxbDNnZG52L0R0bnZnSklTc0xlaWVpbDQ3WXFTNHViNzdUejV4QnRNbWpUMmx6VlhGQ2RsSlNYWVdoblg1dU5rdDl2LzNhTkhqK0I4dFJZbUtDMVRPM3hyR0toRU1NZGE4MkNCbnppeUtWK3RQVzNidHYzSmMrQXNxdEFqdUs1dlQ3NzZTc1p1YnlERmtzQ250ZFVZREJHNFhHNGtXY2FHZ3NmalFhMVJDNkZTUzJvWkhJMU9aRmtTRWlLUUFpSzhLU0JTWWVIWGNrRkJ3WXVEQmcxS1VLbFUxLzBjUWExdzNUTk1lK1pkQ2cvYTJYM1hkU3d4cUJrMjlaOU1IWllGd0t2VGIyUjFUVWNxUDlzTWVoM3F6SnZadG1RR1Q5dzdpR1c3UGFRbDZOaXpyNXpacjc3TjJMN3BnSU5aNDRhVFgvZ050cXo3MkxOc1JxQ3RSVk4vdzRvRGNhamR4Nms2V0VqSzZNZFpPMi84S2Z0WVhiaUdBWU0rUUVjMUZmbzhDdFkvVDRJV1ZzNFp5NnpWMzlNNTFjekJ3aUxHUC9FR0Q0M0tPZVU5clZ2d0lGT2Uya1JHVm1mS0R4UXpkKzBYREVuMzZpWExabzluc2ZVSSszYnVZdXJMLzJINnNFeHdWek5yL00yc0xGSkkwZHVwTnZSbTNlcC9ZZEZCeGU0MURCNzFKMUl5czdCVkhpUjcvTk04TlhIZ2VSbXJXZU1ndnhCc1diQm5XZFB2RDQyQmJVVlFVZ0ZEaGdDeHNISWx4QUk3VnNMNEdaQ2VDUWVLWU81eUdKWGpQUzkvQWN6WkJycURZTlZDalFtS2ZBdE5Pb3JXVTJEUFlVbWE3aGN6VjVTYWc0d2MvQnNxREYyUjdRMDRLcDNrK3ZZMUg2ZWV0LzhqUDgzMXpZZUhEeDl1TFZldE5STlVDYTRGOWE4SnF0Rm9SZE1xVTVHQk90Q1lHQk94c1hFa0ppYVNuTnllVHAzT2tidGRDT1dzdHVQSHEvbDQ4d2YwdjJVODE5My9aKzY3N3o1R2ovNHQxMTU3TFZkY2NRV2RMMGxETnNRUmIybExiR3diU1ZLcEpKVldLMHV5ckpKa1dRTlNCSklVSlVtU1NaS2tSS0REdm4xN2h5dUs1MU52d2NMNTJZNGNxUkNIRGgwNjYvTnY2eEVsM3RydmJQSDdLMys4WHNUM0dpVitySGNMSVJUUjBHZ1hRaWlpdHJZbWNNejNHNTRRSGE2ZEduTGUvcmRtaVc2M3pRMzU3ZmtIcnhHWDN6WlhlSVFpWEljTFJMdTRLOFFQbnBQM2EvOWJzNFNtWFQ5eHFFRVJRampFSDMvVFVmenA5YzlhOUtGdS95b1IzK1ZtVVgrS2U2cjlhcFdJYTNlRjJIL000ZjJ0c1VZY3IvUGUyeTNkVk9LUEwyNFhRaWhpNzc5bmlrNDN6QkJDS0dMemM1TkVqNXNmRVkxQ0VVSzR4ZE4zWHluKzhPSTIzL081VHR6eGo3V0I2emMyT2s3K3JCdjNpVDV0RTBWaVl1aDI5ZjN6VDJ1YzlyK2xpRzYzdGZ6OTIzY1UwZTJXME44OFJ4WFJLVkVSbnh6Mi92M2p4NHBvMzA4Ukx0LytENTlUUkdRN1Jldzk2djI3b2FIcDNDOWVteUc2Lys2eFg5UmNlZmZ4c2FMZmZkN24ySGhraCtnVXFSS3ZmRjdkWXB6Y2J0Zk85OTViK3dEd1cyQTRNQmpvQzJRRFhZRU9raVFsK3Q3aEtGbVdJMVFxbFVhdFZxc2lJaUprZzhFZ3hjYkdTbTNidGlVdHJTT1ptZDI0NG9vcnVQYmFheGs5K3JmY2Q5OTkvTzF2ZitPVlYxN200NCszY3Z4NDlWbmpVZlB0ckhtRFRNWW90dXd0SnJKYkg0YkZleWd2Sy9ORlNOMDBOdFJ6eU9yQ2toaUh4dDJJUTNpRUpNbVNKS3VFMS95V0ZDRjVrTHhxcXdUSWtpUkpHUm5kdmk0ck83UXdLU2twVnBLazlGOWFJR0R3eUZ1eDZMM1d2VTdyL1lKWEZHNWk4ak92Y0tDc0dzVlJSYVdjZDFyWDZwMlhpd3pJU2NtWW5kVlluWUR1NU9lazVWNU5zZzVBUy8rQmVTemN1UnZHNW1BcjNjbU1lZjlpOThFS0ZMZU5tbW9qVnVCa1hveGRPd3BJSFhRelhXTjluaU90RVpPMlNkSHZuZWRWWjVKU1VyQlZmUTdBMXEyYjBkcHptRFhqWVFCS1MreFU2QXFCUExMNzltUEc1RDl4YjhWbjVQWHR6NmhoZ3pqcG1sL2FybXd2Ly9HQ2pGdkpkaWhYdzVyNXNOWnJwV0hkNHkyUDhSZnk5QndLR1didi8zVkI0MUJaZlJTak1ma1hOVmQyN2Z5Yy9pT25leDl6UWc1OU00eUJmVTNqOU9sM1NXMlQzbnAwK3YxSG1nVUtnaU9nSi9DcnlhSnBCWGQvc0tBcEFtb3dHSHhyZ3JZaEljRmJCNXFhbW9ySlpEcG5ZM3FXd09aaHhYc2IyQk9md3hQWEdQaitteUtjUGxvamg3Mk9UNDdXMFM0NW1XakZRWDI5MXo4Z3ExUklzcG9JTGNMamNlTlVFRWlTZ2k5eDF3OXd5Y250UDY2cU92cGNYRnpjVENEK2x3UnNPcU9obWJPcGtGR2ovc3BqNno5Z1dIWUs5bDFMc1V6NDhQUUdSZzRhR3ZuTUhkQ0szNE9xVkRGaCtHME1XL1FoOHdkbm9xN2NnaVh6cno4NURDMEg5OC9uckZLQXJOeHJHVEhZOTAwYWNTUEdoRlFBc2tiTVlGL09jUEkzRmJCMDNuMHMzZkpIOHArNTk4UU5PQTh5SXUrM2xEVHJhTmRoRDdEaXNRbm5mT3lNeVRCeVJOUGZJOGRBUXZCK1krdm5tWTNSMk96V1g5WmNrZVhXM0hUQjQxUzE3UFYvdi9IZzlQdS9KN1N3M2RHS1h5MUE5UjIwMkxId3J3bmFNZ0pxOEFVTHZQeHFiZHQ2azNDVGs1UFA2WGllQmJBSjN2L3dRLzVkWjJicDczcGhrQVdlaGdZY0RnY09XdzNyZGh3ak9TMmRSQnhZcmJWNHpGTmlBQUFnQUVsRVFWU0JVcXVveUFoUjV4U1NUcTFHOGJnQlNaRWxDUUY0Q3hTOC9qWWhoR1EyeDYrdnFUbHVpSW1KK2V1cDlaUUxLd2FqbnFyS2F1aWFjT3FEcThzb1ZhZlF0MmNLTXJCK3pidTQwWiszdmhYdjJFeVpZemJKT2lmYkNyYVRNL1lQNEs2a3ROcEkvN3hNMU1DTzlldXBWRTU5VDltNUF5bVo4dytLcXFkNHRUYTNsUnFIQVpQaHhQR21BZjJ2NXFGdHhXVFBHdXZWeGhRN1ZUWGV4cXhXSzdISkdZeWVrRUZ1a3B1OEo0dE9malBhVkJhdmZZL212bTJ0NGFkOTFmVkdzRlo2dmR6K3laK2FCNFpTa0ZPaHQ0OUFvcXJxOUNaZTE1NDVsRCt6QVNlMDBFQi9ybk9sZDA0djVtM2JDcmRtNGF6Y3liWWlLd044KzZ4V3E2TkJpbm5sd1VmKzN6NmEwam9jUUVNSXFMVk03ZkJyYThIOGFxSzF5Z0wvS2xOdDIxcElTZWxBNTg3bm51bm56SUd0NFFpUEYzeUhWUmZCd0xuN0FWQkZXM2lxZHdxRmhWOXlTTkdpUG5LTWIreDF1QnZzdE5GSFl0YnBpRFhGVUgva21LaHY5RWpDSTRSS3JaWmsvTVNVSWZXa2toQkNOcG5hdkdXejFVVkZSVVU5OG5NQ3RnbVQvc0Q0Q1ZleDJHUmd6Q012OHRESW5pYytPR1VBVS9JZXBXL3VOYVFaRk13cDhZRUhYckZqQmFPbS93dDdWUWtsVlRKOSs3NVA1ckFIV1RSajFGbjN6V0wyTUhiUTFhaXBwdEk0bElMUjJhQlZtRDZoTThOeis5QXpXWStjMUI2TGZPcDdNbWFONE5VWkh6RTBwd2NaV1oycExDM2xzWldmTWpqOXhBYmtnSWx6R1ByWmI4bnNlU1VaS1NZT0hpaG04b0wzdVhlUWdiVlBqT2V4OVVmSlNJMWxYMkVSanl4OCs1UlRNeUhwekwvaUZUdGcxSFN3VjBGSkZmVHRDNW5EWUpIUDM1NlVDNE9BckN3d0pNSEdqUkJyaHVYellWeWVOM2hnTFFkdER1UXZPbzBQWGMraDVMa2ZaV3VaazBISjJsL0VYQmx5N3l4ZUhuUTl1UU0vUU8xMFliUTBxYVBMSHYzZGkvYy9zMkZYTTFCekJJR2J0eGEwbFdDQmY2RmpYd1JVdEJZQmpZa3hCZFl0YU44K2hmVDBUa2lTZE03ZlUwbUljNU5uYytUSUVmYnUzY3QzMzMzSG9VTmxIRGxTd2JGanh6aCt2SWE2dWpycTY3MUY5UFgxRFRoZFRzbnRMYUNYUEI2UEpJU1FmWnNhMEFCYUlZUU9pTFRiNisrSmpJejh3N202NGNyS1NweE9GOG5KN1M0WUdGYVZsZURXbTdIRUdzNTdXMjY3bGZJYUI4bEpDU0c1UERXVlpkZ3drSnh3WmhxUDIyR2p2TElhc3lVWnZmYjBzb1BzTlpWVVdkMVlrcExRQm4wNkhiWXF5cXRzV0pKU1R2dGFGMUlVTjVTVmdkRU1wak1ZcW0xTHBqSy9OSStWYzBiL2d1YUttL0xTY2t4QjQzcjgrUEVYWW1QanRqUXpQUnNBdSs5ZnI5WW1TVTdKbTJRZkFEWmZaWUUvVDAwMEFacUI2R2h2L1dkY1hCeUppUmJhdDArbVU2ZE9kT3ZXN1pTTHNweXRxR2JQZnZUY21HZ0dBNUlrMGRqb0xZNTN1ZnlGOFFxSzR2R1hXUGxEc1Q1UUZVMi9CZHU2WHMwTmdLKysrbXJQeUpFalVhdlZ2YzlGUCt2cjYvRjRGSXduY3BxY0I5RWJUUmdpdFJla0xWa1RRVXgwRk0yL2dib29JOGFvTTdmcVpiV1dtSmdZTktyVC82cHFkRkhFeEVTamFvWmRhcTJlTmliVEdWM3JRb29rUTR3SmRHYzRWQ2xadldrOFhFYlhIbDFSL1dMbWlreDAwTGpXMXRhK1BHalF0WnQvL1BGSFZ5dkE1azNDOWZuVkpFbHlOVE0vQTZEbU56LzlDeHo3QXdWdDJyVHhyVm5RTm1CK25tdS8yamtJSHJRdXFhbXBPQndPbkU0dnJaSGI3UXBRR25rOGlnL2t2R0RXQkdwQ2VKTWxGY1ZYVjRvUXd1VjN1cTFiOTc3MCtPUHpsanp5eU1QcWlJaUllN2hvcFlibEM1ZFIzWXFDYmNuc3k2Z0JQUW5MLzBqVXNZd2ROK0lYTzFmcTZ1cGVlK0NCQnpaLzhjVVh6ZlBVbWtETkd3SDFhMm9lZk13ZC9naG84d1JjYndUVW42c1d1c0pVV2xwSFVsTlR6KytRbk9zTGR1blN4Y2ZaNWd5a2YvZ0w1UDJhbTI4VFFnaWYxa1pBbFZNVTRXY0NrZncrdHpsejV0VEV4NXVYM0gzMzNYSkVSTVRkRitmYlkrTFdTWlBESUJLV2N6cFg2dXJxWHYvclgyY1Z2UDc2c29ZZ1RhMGhlUE9ER2tHVkJiSXN0UllCRGZqVnZJU1JocUFhMElSQVdrZVhMbDNPLzdmbW5Ldnpra1NYTGwxb2JHejA4Ylc1L0Z4dEFjMnRLWkZPQklHYlFBaWgrSWhBUWt4VVNaSjQ0SUVweDdSYTdaSTc3cmlEaXhmY3doS1djeWQxZFhXdlAvYllZL25QUHZ0c1BhR0Jnb0EvelFkcUlmbHFYaE5VYmhFQjlTL0UwcHd3MHB1cjFwYlUxQTUwNmRMbHZBUUx6anV3QVVSR1J0SzVjK2NnV2lPdjF0YmthL09hcEQ2ejFBOXV3cWVsK1NPbHdlQW1TUkxTUGZmY2U3U3hzWEh4M1hmZnJlaDB1bnZDVXpNc1lUbHJVSHZ0cjMrZFZYQVNVR3VRcE5CVnBvS1h6Z3VPZ0RacGFrMEp1REV4eG9CZnpaK3Ixcmx6WnlJakl5L0kvWjJ6NEVGcjRLYlQ2UUxnNXZINHdTM0ExZWJYMnZ5YkQ4YkZpWFJCQWJCaHcwYVhKRWw3K3ZUSmRXczBtak1PS1B3dmdnZGhDY3ZQU1dwcmExK2VQSGx5d2VMRkw5cFBwS25SU21WQkU2akp3ci9BY1dnRU5LckZlZ1YrbjlxbGwxNksyV3krWVBkNEZqRjNENThXN21YTzZueit1TEtBVjc3OEljQkQxVmhmdy9LUFBtWEd2emZ4bDNlM1U2eEVjY2tsbDlDaFF3b0o1amdhRkluRDlZM1VDSzF2ZFhsOThPcnlRcVBSb0ZLcGhUK0QyUjkxb1luRHJSRndQUGJZWTdVMzN6enFCYnZkL3ZTRm5oUUg5K3lrMm5HdXJ1WmszNjdkMkU0NzQ2YWNrVG0vNGNCWkVIOVpLNG9wT2dQMmgyMnZQc0s5VDY3NTJiK2tJM09ncUpYbnNXOFhaL0JjVDBmY3pMdHJORnRLN0QvcHVaNUtLa3VMS0trOFM3STc5d0dHWk45TTJVa09PWDc4K0F2WFhETW9QOGluMWtKVG95VU5VWEJodTQrR0tOU25GaG1wOXlYZ2Vxc0s0dVBOV0N4dDZkQWhoVXN1dWVTOHBYV2NPMkJUNmxpenE1d3VxUjI0SWFNZG03ZmtNMnRyQ1FBL0ZKZndkYjNNMWQwN2t4MHJlT0NGVlJ3MnRDVTlQWjFvblliOURSTDFIc0VSUllQUmFNUmdhRVpTNlFNM3Rkb1BibDV5eW1ZRWxZMkFZOE9HRGZWUlVZYVhiRGJiNDc2QnVTQXllK3pWRkpTY0sxN01TaVlPdllraSsra0RZV2xKTWM2emVHRS9XL1U0MHhlc08rM2piVFZIcWFpeS9leUJiZnhVU0dobEZrOGN5aGs4MTlNWXFSMUxXVkdSUnY5VS9VOTZycWVTdGZQL3dMelZoV2Y5b1N3cExqMVJ1WnpqNk5Hano4WEd4bTBKaW42ZURxaDVKRW55K0lNRkxjM1BVTEpJZjFXQm40SW9QVDM5SnpIaFhqZ2ZtMnppOGZIWEJ2NXNZei9LZmJ0L2dQNnBkTzdlazhlNysvZWtzbXZ2ZnJaK1g4MUQyWjF3dVFZU2s5Q085emV1cDZEY2dja2srY3pTUU5vSFByOWF3TmZtZHVNckpjVVQ3SFB6cFlRQUVCMXRYSGI4ZUxYZFpESk40VHpXbHBidVhNZmlOWjlTV09IRS9zeWo3RGJMNUk2NG0yRTUzakxwZlZ0WHMyVDUrMWpsTm95NWR5cURzcnc1T29xOWdrWFB6R2RIMFdGaWt6c3k3dDVwWktjWTJaMi9qRlZidnFERVZzT2lPWC9Gb3BVWk91NFA1SFUrZFFMdDd2eWx6RisxbVlTTXE1ZytiVHdtTmJpdFpTeGU5REs3aTc1SDBjY3hlc0lVQm1lbmdMT2NwK1krejg0ZHV6aGdyV1Rtek8vUUpmZGk1cjBqQWk5RC9zckZyTnI0QlJqYU1tckNKQWIxOVBYZFdjMlN1WSt3N2VBeGhrMzRJNlA2K2twZjNGWldMSnpQcHAzZmt0RDVjcVpPbXhRbzZONjNiVFdMbHI2UERTMFpBMjVpMnEyRE9SK3B1UHUyd3ZKTjNobmNPK1Rad0tvdFVHS0RSWFBBb29XaDR5RFAxL1h0NjJEWkduQWJZT0kweVBGWHVUdmdtUVV3WkRBc1hnQjJBMHlmQmVtKzRYaDE4UXNNSC90QzA3MmM0cm5hcXc2d1lQNGk5cFRVa2pub3Qwd2ROeVJRY3JWajNXSmVYZjFmbkZvamVjTnY0NjZodlZHcTlqSG4vN2QzN3VGUmxIZjcvOHpzSVp2TlpyTXNJUWtoaVRGZ2lDSEVpQmdSSXlJaUlsSkVSS1NJaUpRaVdxcldvclZLS1M4dlB6elVJcVVVclZJOElaNFFFUkVwSXFVVUVSQVJNVWFNTWNRUVlnZ2hoR1d6MmV6T3p2UDdZL1l3dXptQWVLSytQdGMxMTU1blptZWV1ZWYrbnU3dndoZll0YldDdXJLL002dm1uNlFWWHNhTWNZTlB3TkpjTEYvNENCdEx2MkxJMkl1amtheWhnb1VMRjFOV2Zhd2hQam45cVNjZWZXQTMwYldmTFRIbVo3dWdwbXR3SEFWcWtVQkJBb21KMGFDbVZSWDArdlpraUw1ellJc1puOVkza0p0K1Z0c1AvTWVwT0tJeUtUVUpnTHk4UEJSRm9WdEtOK0piV2toT1J1ZHJDeTFoOEFxREcwQWcwQ200aVM1ZG5Lc09IYXByN3RhdDIyM2ZsU3FJUFNPUDRjTnRiSC94RVlwS0xtTkl0cG0wRE0xUFY3NWhFU1B1ZkkwRmkvNlhaRjhsTThaY3hkSnQ3MU9jWW1icGZUZXl6bmNGODJhT283NXlEdzBOYnNpeWs5NnJIOE10RnRZc2VaSGlJVmVRYjRPczVKTklvRldxV1BaeU9RL2Uva3RXekwrRHlYTXNySjQzSGw5OUpZMldiQ2JmTmdwZi9XNXVHMzBaUzNkK3lzQVVPNE9HWG9IczJrMWxiUitHRDc4QzJSYXBYWHh4OWczTTIyWm53Wnhic1hwcUtOMVhIZ2EyTFM4L3g4Z2xEekVoZXhzVHh0NU1jZlc3WkprVkhweHlCWnZOVnpEN3pqc29YZmtvSXlZM3N1dmwyVkMzbFJIai80Y0Z6LzZkYkx1UGJYczB3Y3ZPZ0czYnFzZlpzUGRRek0yeks3ZmRONE9VVG1ablNqWU1Id3BUUjhQWWV5RXQrTjMwWGpEY0FtdVdRUEVRZ3NjMWFGNHZnNmxQd01KSGdGb1lQd3cyN1lFc1N4RFk1c0c2N1RCMU10QUlqUzdBQWREQSt2V1YzRGV2VUhmbGRISmNQZFdNSFh3RitWTWY0dlpSYVN5Yit4dG1laXdzbWo2WXh0MHJHRDN6RlpZdmV3aUgyc0R1YXMyTWxhMHBEQjErQmQ3eURjaFpGekI4ZUJIVzVCTTNDVjQ1N3hjczNKdkJvdnQreWJwRjkxS2hvMnR6cHY2TStuTm5mWEg5OWJiblI0NjhKbFQ3R1p1bkZscGFPd0sxVUZWQlorYW5CbXBkU1V0TEpUTXprMTY5ZXBLWGwvZURNZmx2Qkd6Vit6L2hzVThDUERuajdGaDdsV2ZXYkNUdTdBRmMyU011L0c2ZlBuMUlUMDhub2JtWjFGUTZDaUlFdnkwRWhLT2xIWUliYUlDWW1wcTJmdi8rL2E2c3JNeGJaRmsrLzlzK1VJNjBYcFNrOVNMTlppUy8veUJLOGlLSGJ1bkN2ekJ4MXF1TUtNa0Qrak4xNkZPc1dMdUw0aWtEYVd4b3dKcVZRazV1QVVXRlJib0xNNStVYkR0MnM0VitKU1gwUDlrS0d0bkt6TGx6S000MlVqajN0NlNNZWc3WHZQSFlldzFpNXFROGR1N1pqVnROSVQvZHpjN2R0UXdja1VYL2toS2E5cVNUYk02bHBLUkVCNUxWTEZ5OGxRVjd2bVJZbGhrb1J2Y3BCU052Wk5xb0lVQXhBMmY5bWIyMWtHWFp5c0oxQ3Bzcjd5WGJEUDN1K3dOUDlQb1pwWjdaNUxzYmFGS3NwR1JrMFM4M25YNzlUL3gzTEE0bmFXbHRiaU1ZVDBEemtyT2dKQXRzeHJhQWw1SU5kalAwS3lIcXVDNTZCTzU2QWdZSDkydjAwN0I2Szl3K05QZ0ZEOXk3Q0lha3gyeXNxWkpLVndiWitpSmIyZGJoY1MxYit5eGxHZGV3Y3Zvb1pHRHV2YmVTZjgrTExKbytHRzlESTZyRlJscEdOZ1ZaL1FnZkltc3lKU1VsN0Z2dHBLbFhVZlI1NnRoaHdQSVZHNW01NmlBREM2d1V6NzJISmF2L0VQR25IV3I4b0xYVi9jcklrVGZ1cDIzdHA2NUVpbGFKamtITllEQUlrOG1JMld6U2dWcHNVWHVvWENvelhDNzFRNDVUQnJZalgxVnh5eXNmTWZlbTBlUW02R2VoWU1PbWpieDZQSm5sTnhaRzNhMGxTU0k3TzV2RTR5NHlNOUNab21xVU9ScGFqOGJnb0RQbUJoSWFlUlBpekRQUDNQYmhoN3ViK3ZidE85VmdNQXovdmc1aWRYVXRaWXQveDY1blEvL1d3dENoMnZQcGMvL09mYlArbDM2NTkyUEpLR0xSc3FjWWt2Y05va055Q3VsQmVtSkp5OERhVkU4ajBMVDFhWVpPZnBUaFk2NG14VzZtd2EzZzlaMGd5dUN1cFVaTkl5ZXIvUktlWkljelBFM01aZ1ZGQVc5ZERZM2VHdTRjZDAza2UwWG5vSHJCMkdza3o4N2F6YXhKVjFCZTQyWDQxUHQ1Zk03a1RuWFhiSTRVMHRKaXZpSGJ2NU04cE9wYVdEb0xWdW1JY1QvOWhoeVFtOTZ1WXhsRi9qcmIrUkpYNlhiR2pQNDAvRjV4M2tXb1FQclF5VHc0cG9LcEl5K2syaVV6K2Q1SG1ULzlWS2RxRTNYMUZqS1NOYitmTVMwTlozQS8vWDcveG9zbjNyN214aG0zSHRLWm4zcFFDeGUxUzdSUjZvZ0JOUk1tVTNzTldFS3kzbTFCN2Z2SVZmdldnZTM0a1lQOFl2bFdab3kvbWt2U29wMnA3NzczSC83eXVjelROMStNdlozQ09ZUFJnQ09ySnozUEZLaHFJSWF0aFlBczVHOExtNlFkZ1ZzSURVWElORDMzM0g2ZnJGcjE2cCt1dXVxcXcyYXorY1p2UGRvaXk2Z3hZdmxaV1JrVVRmOGI5NDVxYXdVN2NvcFpzdUlOUUdINXJKOHphOEZ5dGoxeFp5UjJJNnR0dFBjN0Q5N1VVMU9yVUpSanhGdFhnOGVaUVRMd3hMTEhHRFByS1I2YzNBL3dVYm5tejdFNzNtYS9zYVdUSWRkUldlMmpWOWJKMVNlYTB6Sncybko1ZXUxYllmTlBQNTFHelpqTHFCbHpjZFh0Wm5EaDVXeWVPcGxoblpRRVZ1N1p3dHB0QjJKV2swcnhpQ0hZdjRselRtN2IweUFySGNZc2h2RUZYek9VNXNnbXgxSkhUUVAwU3VHRXh6VXIvUXhTQnFTeWZ1VzhkclpoWThyc2hVeVp2WkQ2MGxVVURmdzlVNllPcDVkUlA3OU9OampsSUQzRlMwMkRCOUtzS0hWMU5LclE0dkc4OU5qU2Y3eDl4eDEvY0hVQ2FsNmRXYXFQZnJZQnRVaGhlN3hPcWNPdTYxV1FHaXhzejZGUG56NllUS1lmUEtqMDlZSE5mNXdaLzNnVFMwWnZHZy91NTdtRFlJaDNNS0VvaS8zbGU3ajFyYys1NGRMK3JQOUFpK3ljZGNhWkRFaFBSUFUwc2VLamFqNnBidUtJVDJWdk55ZjJ0RFBJVUtOOWJEcFFDejBYSWF2VDc5ZHkyYlJFWHdJUmJBc3pRaUdFRUdQR1hIc3dMeTl2d2Z2djc2eTMyV3gzOEMwbUl1Zm45Mkw1b2dWWVJoYlFxM0FnK1ZsT3B0NzVLNGJmOVV0eXpQOURybE5tNTZiMTVJeTZoNkg1ZGxZKy9pQmtEeVEzemN5dWZWWDA2bitUM25BaVAwZmg4UVZQVU44L2cvd0JROGc1a1o5TjliSmd6aXhTYmgvRml2bC9adGpFMzJFRHNyS3plWEh0OCt3cWtpbGI5d1RyeWhYMEtsZTV1WDNZdmVRbFhoeVFqQ010aCtFREM4Q1l4WjB6U3JocnlxMHNtUE1yck40YTlqWGFtRHF1NDE0RWNsb0pkdzcxTVhuNkhHWk5Id1dOTmF6ZFhzWGMyYmZqSzkvTW92WFZEQ2twd2xPOWxRWnpEdG5PenYvTzhDbXpHWDRLdXBHN3QwS2pGMXcrMkw0Skdxd3djSEJFRlRnL0J4NWZBUFg5SVg4QTVDVEQ3VE5oNmpTd3pkZUNDbHZXdytEYm9kOEpDWFFhdzRhbXNHMTdPWU5IUld1SHRYZGM4MGRPSW1mdXBkeTFJSThKUS9LcEw5OURxVHVOZTZhTW9HcnJhbGFWK3hqY0w1ZmEzYnVRczdKSjFzM092RjVuOCtDS2Y3QXF3MDF5Umg2RCtuWG1Ncll4Y2VKdzVzKytuNno3ZnM2YVJZOG94eFhseVV0emUvL25VTnNlQlhwQTgwcVMxQ3FFYUNmNVZoOG9NSWFZbW9pUEQ1bWZOaDFUMDBBdDFLdWdUNTgrV0N5bmgzemkxMC9RVmYwYzlSbElUVERoOVN0NC9RcXRzcG5pRENmSG0xdXcybXlZUkNEOFdWSVhKemxKRmtTcm15MzdEMk5MNnNMWlRpdCtJWkdYbTR2VEtGQVVCVldObEZ1cHFnaWJvanF5Um9pOUNkSGgzZ2xKa2dRZ0dob2ExQWNlZUtEc3R0dHVyYkphclQwbFNYTENOMC9RTFI1eUZVcmRQajZ0cUNLK1J4OXkwNVBvMm5NQVZ4WTVXZlBxcTJ4K3Z3eHJabCtHWG53ZWlYRXlub1pLTnF6L0p4czM3eVNyWkRKemZqMmFPRGxDRVM0WmNTVU41WHY0Zkg4MXFiMzZrOW4xQkJORFRtWFVzRE40L3BtVk9NLzlPUS9kTTU0NEdmSXZ1QlJSdFlOWDMvZ1hDZjNHTVgxMEVUMzdGSk9WckdWNkorV2N4NEFzaWQwZmZVcWR4OHpGNTJtTzNZSkxSNU5ycWVPMVYxL240Mm9YRncrOWd1eFU3ZGc0TTNwVGtKTWEzdGMreFJlVEhDOVRNbW9jbHJvUFdiVnFIWjhlT0VhL1M0WnlUcThlR0NTRkQ3ZjlpdzNyLzBuWlZ4Si9XUEFvNS9WSS9FNG03dHN2dzBjVjBQZENjQitFNmhvNGQxQUUyQzRaQVEzbDhQbCtTTzBGbVYwaDYxd1kwQjFXdlFvN1BvSzBQakQ0ZkxBWUlyZjVBUU1ocnAzdFpYZnhNK2ZwWFV3YmUwblUrKzBlVjFNUzE0Njdpcy9mWGMvYXR6WlIzeHJIa0tIRE9DUFZqb3lYN1p2ZjVxMzE3L0JsU3pjZS9zc0RuSmtVT2VlWjU1WndWdHd4UGl3cngyMTBjbjUrZHFmSDRleUxobUUvOUFFdnJYdTNNbWZ3MVkrdFgvblkrODNIajNlazBLRlA1L0FGQVMwcStUWTIraGxxdmhJZnI1bWZpWW4yb0FTUkpoU3BCUXA2VVZCUWdNMW00M1FaMzVvZTI2bU9ZOGVPVVZwYVNrWEZGeHc0Y0lDNnVqcU9IR21JMFhGckNSYld0K0x6K1NSL1VNdE5WVlZKVmRXUW5wc0JNS0RwdVptRUVIRm9jOVJTVnZaSlVXNXU3aFNEd1hEcEQ2SEg5dFA0TVF3UGQ0NitrbEVMMzJKSXR2VzAyak5GVWY2OWZmdjJOUjAwTSs2Z1Q0SHdDMEZBbHVXQVB2bTIvVHkxV0YyMVVFcUhGdjBzS0NnZ0tTbnB0RG9teGg5NkI1S1NrdWpUcDQvTzlOU2JsbEZFVFUvZkpOQjZKMmltYWRqSklVSit0NkJacWdKcWZuNmYzYzgvLzN6dG1ESFhWQUUzbjg2WFQvbXVUZXl0YW16bkV6dkR4ZzdqcDBLd0gycFlXYmo2MzkvN1ZuME5GYXpadktmZHozS0xoNUxqTkQ3LytPT1BiN3I3N251T0U1M09FV3QrNnR2aytTVkpEa2dTcXI1TXFyMktnbENlV3F6NXFSZUxQTjFBN2JRQU5nQ0h3MEdmUHZrNlVKTjBqMUlZNENSSkNpMUNraVJKODdrcFFVQlRVVlVoOVBsdElaOGJJRzY0NFlaYTRLK2ZmYmF2eW1wTm1BNTBQeDB2bjR5OEl1d1o3VVF6WlNPMm45RGwvOXd3MmpNWVZHS2pIYnZxSzdmSHRUd3hNVHNrNDYxUDU5Q2JvTzMxL2d3QUFhMnlSMWJiTDJqWGZHb2g4ek1VL2RTWVdnalU4ci9WemxJL09tQUQ2TktsU3pEM0pRSm1Hb2lGbUpzVWZoM0wzQUJKVlNVVlZDa0VhbnJtQnFoQjlpWjY5ODVidlduVHBxcnUzZE51TWhnTVEwNjNFMksxT2JIK2hHQS9qZEQ5ekd3aEpTYlJUMUdVelR0MjdIaWpwT1RpR2pydnpxNnZKR2l2OFVxb3FYR2Jpb0pJOG0xSGdZSjh1blRwY3RvZXQrOU0zZU5VUm54OFBIYTdQYXpmRmdva2hMSTZPZ2dhZEpZd0U3WnRRd0FIaUdlZWVlYXcxV3JkMGE5ZlA4K3BLSVQ4Tkg0YVA5UTRkdXpZMHZ2dXUvLzFXMjY1NVlqTzlEeFJ6V2RVTWJ0T2VpZ21uY09pNjlJZUt6Mms5Nm4xT2ExQkRVNkQ0RUVISjQ5UFBpbmppeSsrb0tibUFIVjFoemh5NUFoTlRVMjRYQzZhbTV2eGVEenRCQlQ4S0VvZ0ZGQ0lEU29ZMFlJS1pvSkJCU0R1d0lIcWkzdjA2REZaa3FSemY3cHNmaHFuNjFCVmRjOW5uMzIyS2orL1QzbVFwY1g2MC9RbWFKVHBpU2JqSFdKcUl0TFEyRVRIUGpXOStSbk4xRTVIbjlxM3h0aWFYQzRPdWYzWUxHWmtQV2NLS05RMkhzTWpETmpNMFJtNnJTMHRIR3hxSmk0dURwUGNNZEd5V0N3NEhJNXdUOUxvNmdUQ3ZyaVk1R2FwSS9JV1NnSFJtNmFoMTQ4Kyt1akJnb0tDblRrNU9YNmowZmk5ZzV1cnVwUjNQcTduckt5VWsvK1J0NTVWYTNiUTgrd3p2M0h6a05OcFZPM2R5dnAzdGxEWFlpR25SOWZ2ZndkTzhiaHVYZnNpY2xvQjlyanZacmZjYnZmelR6NjU5T1dSSTBjZXBQMTZUMzBxaDFmcXVPZW5ydTdUSEdacVF2Rmh0am13MnhKSVRJdzBYd2xKRDRWVU9nb0tDazZZSnJWM3l6b0NYWHVTYUpaQWJlVEZKNTloNi91N3FQZlpPQ3Z6KzlOaisvbytOdFhOci8reWt0MStNNmx4QVdyOThUdzY2U291VEltbjV2T1B1ZTdGSFRnZGRqeXU0M1R2MVplL1gxZE1vZ3hQclZyRmtyTGpaRHJpT0hEVXl5MWpSakMxVDhjWGMySmlJbjM3OWtXV1pXVFpFSHlNTEpLa2Y0d0VGQ1JKd3UvM2kyQ0ZnaEJDb0twcVZDQWhxUEdtQ2swNkpIRGRkZU5xZ0wvVjFCelltNTZlZnBNa1NkOXFaNVQxUzJkUmtUNmVHU1BhcHJ6WDc5M0l3ZzFHUnBRVW5Qd0tQVlhNZjNBcGc4Y013ZmxmQkZ4NzFpeGtWV01CY3ljUGJmTlozYlluR0RUbE9hWlAvaGx5aXVjNzI0ZmE3Uzh6ZDdQQzQvZE8rSmFPcThxS0JYOWtWTUY0TXI3bGtMV3FxaDk5L3ZubnEvTHl6djVNeDlKaU83TjN4TklVU1pJQ1FxaXFFQWpaYUZJTkJnT1JFcWxJbmxyZG9hOHdkYzBpTVRFeHFxQTlVaWFsVlJRa0pDUjBmbCtvM3N6a1dTK3daY3VJa0ljUW04M0czZzFQc2JiQ3dvaUJlYWN4c01rbWJoazdtb0pNTFJxeWF0MGJ6TjM0TVc5TktNYnFUT2ZWMzk1RXV0V0U2bk16YWNGenZGU2V4OVE4T3hkZWNCRTNqRTdGTEVQTnZnOFl0bklyMS9RWlEyZjM1WVNFQkFvTEM5Rk9pSXpCMEI3SVNVRmdrd21LVTZKRlRQM0JvRUs0SVROaHBOTVlteXBKVWlpb29BS0JqSXpNelU4OXRleVRjZVBHamJWYXJkUGF2WHMyMVZQdlVzbktTb3M2ZUNyZ2RUWFE0SmJKU285Y0ZxcWlVRjMyQWFXK0lTaUtnaXdia2VYd3hDVjcrQXpXanpTMnVWamNqZlg0ekU3c3NvYzZ0MHhHaWozOG1XTHZ4ODd0eTl0VUFDbEtkQ21PYkRSR3ZxUDZxS211d1pLY1RyTE5FcnM1a0ZYcXFxc3dPdEpKdG4vNzJlT3FxbEJYOVFtN2ErenRIQWVGbmR2ZW85L1lXN2huNW5oazQ4bE5TOFhyb3JxMmtiU01tRDZsS3FpS20rcmFKdEt6TThLMXFxcXE0cTZ0WU10dWIzQWZ0RGwwd3VQcWRkSGdoalNubVpyYUp0SXowc0xmVVJTVlJScy9iVk8wcnlwS1ZDUlQvMzhCbXVxcWNjdjJObjFlUTJvb0IvZVhQLzIzZjZ6WThzRC9tK3NtRWlEUWwwZnB6ZEQyVEU5VmtpUlZWVFhyUktnaXVwbXgyWXdzeThSWnJKaGtpRSt3NFhBNHRNVnV3MktPSXkwOWc5emNzNElWQldadER0VTJrcDZSUmtOTk5iYTBMS3k2VS9Yc3dnY1lNdmwvSXRGNzJjSElDUk94Tkw3TDNxb083dEZOOWRTNUZMS3kwcU91SjhYcnBxYTJIa2RLT283WStSbzhTbzIxMWZnc3pxZ2VyS3JQUTNWdHc2bEVSZU1veUl4dzdpeG5FdDVEZmdDY1hTTXdKWnNUeUxBYmFmRnBGMXRlajRpQ1pvclRqcXo0YVQyUnBrM1FMSTJBbXlFRzVDS3NMY0xncEJEQVNaSWtpZERGSGdRNGdTNWkyZzU3VTI2K2VVcmc1cHVuUEZsZS90a0hPVGs1RXd3R3d5V2hnL24wZlQ5bnp1cEs4dE5rS3R6cHJGNzNFdm5KWmxZL2NpT3pWaDdBYmpRZ2U2b3hGOTNDdW1Vek1WZHZZZmlVLzZWbTMyNmFiSGRUc2NwSjl1QWJXVHByRXVCbDlxUlJiTno3R2U3Q1d5bGRIbXhWN3Q1RGJ0YlBLQ2pKWS92ZVJnYjBTMlBmN3IzTVcvMHhZNG9jckh4NEJvK3YyY0cyS2lmVk5XOFRKdmMxV3hnKy92Nmc0cWFQMHAyN1diVDlLSlA2MmFndjI4Q1k4Yi9DbkpGUFUwVVpRMlkreGlQVE5OYWtsTDZJWS94elRNazl4dFlhZ2FkUlljV3VIZlQ3TnFQNDNuSW1qZm9WWmRXbFZMbTNNWHozQzFoeUwyZnRrbnZBVmNyNHNiK2h2THlVR25VWHc3Yy9ROUhvTzNoa3hzZ1Rzcjh4TS81R2ZtRU9lMHRyZWVURk54azNJSXVtN1V2Sm1mQVlSU2xXTEZhRmZlNTBObXg4aFY3Mkp1NFpmejFiOTFWUVZhY3lmUGg3NER5SGwxOStCQ2QwZUZ3bkQraE9WZklBcW5mdkpHL0FoYmdxUDZKbzJ0OVpmTnNReWpjczViYUhuMmZ2OXUwczJkUEMySEQxazR1N3h2Mk1YZlVhdEZYdjI4M1FXYSt3N000UnFLNUtwbzI5anQwZUp3NWZQUlQ4bkxYTDdnMVdUTlJ4Y1dyLy81d3hyT2pORjVhdnErcUFwZW5OVUY4UTBIeDZsaGE2YVV0YXVFM0VtUXlpVlZFSjlmMDBHK0dyMm9Pb0JoUHlWNGVRVkxBbUp0RzFxNU5Ebi95SDF5czlaR2VrOFB3enk3bmwwWmM1N3p3THkrKzlodm1ibXJHN1A4V1ljUjQyNVN2cWs2OWs5OHR6Z3BkSFBTKytYTWJzZTA4MkZ1ZmxpYWN4dkRnQUFDQUFTVVJCVkh0djRwRjFWZVNtbUtsMEpiTnEvU3ZrT1kxc2ZmbytKai84TmdXNTZWU1hsVEx3dHIrdytNN2dmR2phUlhiZXJZd2RuY3FHWFVkUVhJM01XL01SK2FXUE1QemhMUlE1QkUxTnRlZzZScDNDNGp2T3JRdi93WkpQRHJmNXJIWi9LUmZPZjRVRDN0amZCWGg2NVVvbXYvbngxOXFXcWdiNCtPTzl2UGJhYXl4YTlCZnV1Ky8zL1BLWHYrUzY2OFl5Yk5nd0xycG9JRVZGUmVUbDlTWTdPNXZ1M2J1VG5Kd3NKU1VsU1FrSlZpa3VMazQybVV3R2c4RmdsR1haSk10eW5DUkpWa21TRWlWSjZpSkpVZ3FRQWVRQVp3TkZ2WHIxR3REWWVPVC9DYUhXTkgrNlNuVHRmcUhZMzZ3SUlWVHh0MTlkS241Mi83TkNDRlc4OXFjYlJMY0xKb3ZqQVZVSWY0TzQrdXl1NHFrZERVSUlWUWloaWlkL2U0VzQ1YkV0NGRmNjVkTlhab3MrTjh5UHZIZDh0emlyeDZYaXNGREV6ZWNsaVgrODN5aGVlK0FHOGF2SE5rVytjM2lMNk5Iak1uRzRuZlVKb1lwM0h2dTFPUGZxZTdUOUVXNXg4L2s5eEVOdmxnb2hWQkU0VmlyT3l6eGJmSEJNKzY3LzR4WENZT2dpbm5xM1d2dTkzeU5hL08ydlZ3aFZ2UC84YkpHYW1ocXpkQmRQL3J1Mnc5K0VscmYvK2d0eDFlK1d0ZnZaRzMrNlNWejd4eFVuWEljUXFoQ0JPbkZwank3aStRL3FoUkNxK09TVjJhTGJoVk5GcTFERjBmZWVFSWI0czhTT3cxNGhoQ3IrL011THhFMFByUTMvOXZQWDVvcysxODl1ZjczdEhOZWJMa2dWcjN6cUU4Lzg3aXB4NDU5V2l5UHZMaFY5cnB1cis1MVBYTjhuUWJ6eWVmdjcrdFdISzBYdjNpWGk0K0QrUEhYM1ZlTEszeTRUQWFFS0lUemlqc3ZPRW45NXAxcW9hcUNtcnU2akJUTDhIQmdMakFhdUFpNEhCZ0VYQUVYQnVaa0RaRWlTbEJLY3U0bVNKRmxsV1k2VFpkbGtNQmlNSnBQSllKUWxHY2tnSmRrVEpBa2taMnAzc3JPelNYUEVZYktuY3RGRkE3bDg4UG1ZSkNpNWVoTDMzZmQ3SG5yb0lWNTc3VFUrL25ndnJyS1ZkT3Q5TGMxQzVibmZYYzJ2SDl2TWwyODhUT1pWZHlJQzVaeDc1aVVjQ2w2ZmdmM3I2Tkw5TWc2M2MrMisvZGRidU9xM3k2TGUrK0xOaDhtODhBYU8rclhYci8rLzYvblovU3NRUXVYNHNTWUNvZlVlM1U3UHJ1ZnlSZkI3NHVoT3pqQ1orTU1MdTRMcjh0TFNxdkRwSzNPSlAvTUtEcldxQ09INkJubHNxcCsvdmZvV1NxOEx1Q1UvMnFCc2J2eUtXMS8rZ1B0dnVJYU1HSWZxZXp2L3cvTU5kbDZZOHZYMG1pUkpvcUNnQUtQUmlORm93R0F3aGhtY0xPc2ZvM3h4WWIrYkpDa2g5aVpVVlEwcmh1allXNmkvUWlERTNpb3FLaFNucyt1cXQ5NWE5MzdYUTl0SE93ZGNlbE4yVUNsMjZKRExtUC9FYm1BaUFNV0RCbUdUQWRuSjRJRTU3TnBkeXVUaVFhZDBhR1diSFJzeWRvY2R1ODJPeldiRDdUazVtZTdxcmM4eWZVazU2N2E4b2UyUHE0ek5lenpJbTU3ajNpMGE4L1FwMVpSV3VPblhUNlB3NXB4QmpCOFlsT0F3V3VqTUVPMC9ZUTUxRStiOHNNNjYycjNzOWVRek9GaTluajlrS01iSnY2WmFoV1RBbmorUS9zbWFBVHBrME1Vc1c3c0xHSEdLRzdOaXN4bkJic05oYzJLemUvQ2U1TG53TlpReWJ2ejl6SC94WHhRRTkyZlR4aTM0Y3JPNTc5N1BBQ2gzcXh4NWYvdUtGVisxYnBrNDhjYWpKMkJwb1JwUG55UkpvVFNPZ0M3cUtmVDVhVDdGTDR4eDhaamo0akViUEtMVkQ5YXU4YmdQK2VuYW96dDJleEoyZXlLWjl0MGtkVTJoUjQ4TUVrUWpMeTVkVEhXREIxVngwOVJvSjlTQndXNnpZM1hZY2RvOElOdXc0aWJrRGZVMk5lQ3hPemhab3I5MTg3K3hJdlBnck45ckhMZXlubEx2SG1BOGFsTUY5OTcxSjNhV1ZlRlZmZFM3RzJod1EwNW81Wlo4Sm8zdEYzeGh4aEwwTldUM3Y0QVVNNER0VklFdHdJdHZ2TVYvNURONTZzcjhLR3V5MWQzQXJjOXU1TnFycitLcXJPaE0wNC8zdnM4ZnRydjR4OVFSZEQxRlpaTzh2RHhDemsrajBZakJFQUs2aUptcStlSEN2amdSZkpTQ0VWR2RiellLNEZRZHdJWEFMUUFvVjE0NVlqK3dKUE95WDc2cktNcTFScVB4aXBOeEtuL3pJVWRzOVpOWW5hZDJOK09uL0puRnEvOUZMNGN4dkIrcU9abGhZNjRtSzdpcTBhT3ZKU2MzVXU4b1cyMmNyRmR0NytvRlRKcnpYSnYzNzMzOG40d2ZrTUtQYjhqaGg4alpPQWxaSWFXSjI4ZmZRTW5zcHhoVGxCYTF2Z0ZEcjJaa2dRMUZVZDQrNjZ4ZUc2Wk9IWGRnZVFUUU9nSTF2WTlOMFptZVlYOXhxRStJTEJ1RTBTRHdla0gxdWtWRGF6TUlnYi9GUzBLQ2pUaXpqTWxxbzB1WExqaWREcXhHaWE2cFBlaDVabGZtL2ZJUFhMOXNNOU9IRldDczMweGF3UjlpL20zN2M5Sml0MlAydUhCQjI4Q0wzTjdWb1pKVmRER2pSNGR1L2xjejFaRUJLTnczNldvc2s1NW53eE9ETUZOTmNmSkYwZFBmYXNQU0RuTEpzdkViQkE4UXZQbjIyN3gwUEpsbmYzNGU4YnFkVmp4TjNQSFVlZ1lPR2NhTnZhUC8zdWZsSC9HYlRRZFo4b3VSbkdIOVppcjRQWHYyeEd3MkJ3SE9pTWtVRFhEdE1MY2d3RWxTUkhvOFVxRVFZbTI2d0VKQXg5N0NrK2pBTzA5K1lESTlXVnBUYytDZHQ5L1plRjIvL2xQQ1NyMDd0MnpCclU3R3BqYXllVnNsbzZaR1pLUnRWaHVORGZYZjdmWG5xMmY2dUJzWStlQUxETXZYSFh0N0FVUHlQVlM3bkl3YnJrbnV1QnNhTU5wTzdSemtEWnZLMnY3ajJzeGNaOHFKUS9sV2F5SU5EViszbzVPUGhUT25ZeDB5ZzJramduZnA5QUlLcldWczN0M0FoSDdKbEczYWlGSjRQbGt5ZUFCWDJWWjJOZmdvVGphemFjdC82Ti92OTVGOXNOdHcxZGVnOEYyVzNhZ3N2ZWRHYWdwL3paSUpBNkkrR1RKMElLOStYck5yMHVDU04zdWZsZnRwNk9ZWkEyanRnSnJrbHlRTitJUVFBUUVCT1p4d2l4b0lxQUxKZ05sb0VrYWpFZUZyQnRra3pzaE0xd1FpWlM4ZmYvWVZSbHNpNmFsZCtkenRvVnUzYmppdFhnNDJCUmllY1NiNXVRa2NjWGRsME1BQ2pNRDJkZXVvUDhuN3M1emRqMExmUHNvYW9TUUcyZEtjM2FuY1dCVWxFejlvOENYTW1mOFplZjN2UWJzSEs1cHNQaDZxcXoxTUxTbkdMRVBWcGpYc1BZV21YVi8vM0xZYzRvRk5YK0N5eERGa3ZxWVFhdTZXdzd2VEwyWEhoeCt5c2U0NEg3eStsbis4SG1RSGx3L2ovZ0daL1AydDk2aHRsTGxoNFRQQkZjV3piT1lFK3A1aS85VE16RXdkdUpuUWtnMk5ZVk0xbXNXRmdVNElJYVJnUGFtUXBFQW9WeTRjV05DeHR4REFSYkUzd0orUmtma3YyUmovM3I4L2VYNllFT0k2SUMrRlNvWU51Z3lqcHdaenllK1pNQ0J5ZG9lTnY0VkY0MzVGMGVvSHlCdDJDeS9PbjByZDloY1pPL052ZUJxcXFHcVFLU2w1azRLUmQvRDRqRTcwdDd6N0dEZnNsOVI2WGRUWFZ6T3k1R0xNR1JlejhjWDUxRzk2a2VXNzZpaWNlek12ejlWTzdid1YvMlprdnBVSG4vNEg0OGIvakRVTDhyRDQ2cWwyOTJEanJwVmtuTUp4TjF2dFpGaFBMYStoLzhoSk9CNi9nWUtpRjNBV1hjT1dwMmVkRkxCdFhQa2NqclJSRVdDVDAxaXcrQStNSFhNaEt3cHlLQzJyWmZHS056R2pBWnM5emM2OUl5L0ZhbFVwZDJldzdwR0lRbTM2Z05FTTVSb0tDOC9EbG40QjY5Y3Z3ZG5KY2Uxc3pKOTJCZXZLM095cjlMQjMzRVVzdERwWXNPcE5pdTE3ZVhEUmVzaXJvVi9SMzdUcllPWmYrZU1ORjMwMjlCZXoxdnlxNzZBUGV6OGNVSFJSVEwwaWh5K1dvVW5nRjVvYWh4S2NoMm9FMUNRaHl3aEZFVUpJTW1hemRqMGNiM1lKYzBKeXVBdWMxZXJFWVR5QXF6V080dUtMYUZqM1QxNSt6VVc4MFlTemF6d1pQZlBJN05tTG1WTnlHVFhnUW9veXJNanBtYVNkN1AxUHptRGM2Q3pXYjloRHlmam9iS21DVVZNWXVPd2Fjdkplb1hERXJheFpNSU9jRWJjemE4dk45Qzg4bjRKZTZWUlY3bVBFUFU4eWY5SWdicnR6QWxPSFg4Q3lnalM4MXU3ME9vV2NwdE95OHVEcmpLTkhqMUplWGs1VjFaZlUxdFpTWDE5UFkrTVJtcHFPQldXUFFsVUtMWGk5clhnOEhudytIMEtva3RhaFhpRVFDRWpCL2d1aGFnVXBXTEVnQjhIZkNCaURWUXNtdE1vRk14QjMzMzIvVHp6YlVuSDU2c0ExMXkyL2EyaE9nMWNtSStWMHpDNVRxYXVwQm91VHRPUWZoMGFJNG5WVFU5ZEFTa1lXMW1DK1JkUDJwZVROL0lEYVRYK2lwczVGZWt3YXdROHhoQkQ3RHg4K3ZHYk9uRG03SG52czhWYWRLZWxyeC9RTVBmcURFVTlGdDZoNlgxcXdpb0JnMG0zUWVqR0hHaGxqc1VTNnMydXF0NGs0SEVrNG5WMUpTZWxLdk5uQzJlZWNSMkdmM2xFbFVrMzFOYml4dFVsRk9kRndsYTJoWk1ZR2RtNWFmTkt1RGErN2licEdGMmxwR1ZoMEtUdnV4bm9hUERKWkdjbW4xT1hNK044K3VidDA2VUpoWVNGeGNYSEV4Wm5EZHl3OWc5TXpOeUhVVUljckljdCtTWlpsRkVVUmdVQVVld3NWMThzeDVta0FVSUxtcVIvd3o1Ly9nQTk0cmZjZzhZNzN6dUZEZTNSTHVoYm9lZm9kS1ptMGpPd2ZsZmZMYUxHUm5kMitZb0JzdHBHVlpmdWhBYTN5OE9IRGJ6ejg4TU1mL1BuUEM3dzZnUEozQUdpeGdRRkZIeHdJQXBzSWxVVUY1YnZSUUUzTFR3dFdFMFNCbXMybXFkNG1KWVg2RTJnZDJyT3pzK25kdXpmeDhkRm1reU1sZzFQSjlySG5qMkxoakVacVhTbzVKNm5yYnJFNXlMYTEzWnJObVlMdEcvQ0QvM3JHcHB0RWZQYlpaMVJXN3VmZ3dSb09IVHBFUTBPa3Z0VHRkdVB4ZUhDNWp0SFM0a1VJZ2MvbncrZno0ZmY3SlVWcGw3MUpRZ2c1Q0hDaG1sTkRrTDJaZ3V6TnJGL3V2bnRtNHU5Kzk3dExuVTduMVpJazllR244ZjJ5dUtZYXR1eHpNV1JBL2cvSGpWVzFyTDYrZnYzczJYLzg4TWtubjJ6dEJOQmlGMzhRMU5vRE5EMm9oVmxhRU5SRU1FY052ZVJRQk5UMDFRU3A5T2lSUVU3T21mVHUzZnNIYjdyeVhZMGZEYkNGUmxWVkZaV1ZsZFRVMUZCWFYwZERnNmJHNjNJZDQvaHhOMGVQSHNYajhTQ0VDQmJRdCtMeitmSDcvU0ZsM2lCekMwaXFLcVJnNURSa29vWkNRZ2FkZWRvdXdPWGs1SmkzYnYzUHhhbXBxVmZKc256aFQ1RHo0eCtCUUdEN2dRTTE3MXg4Y1VscFRjMUJKU1l3MEJtbzZRRXQ3RWNMVlE4QVFoL3hiTXZTVEpqTmNlZ1ZiNjFXZmQxbnBKRnhSa1lHT1RrNVpHZG4vNmpQaGZISDlvZXlzN09KajQvSFlva25MaTRPc3prdUhHUXdHazBFQWdGa1dVWUlvVE5UV3pFWURLRTdZWWk5aVVBZ2dDUkpvYnkza0VrcXh3WVhZc3hUSDJDdXJLdzBwNmYzZUFmWVVsNytXVkYyZHZaUWs4azA2cWZMLzhjM1dsdGIxKzdidCsvZG9xSno5K3ZBVE0vU2ZPMkFtcjhEUUF2b1VqakNabWNzU3pNYWpVR1dwb0dheFdMUnlYZ25ZTE1sa3BTVWhOT3BseDNLb21mUEhGSlRVMy8wNThUNFkveFRxYW1wV0szV0lNQlpzRmdpQUJjSUtCZ01CbFJWRFVkUXZWNWpDTnp3K1h4Q2x1WDJmRzhpYUpyR1JrOERCSnRpb0lYaVRYcUFBOHk1dWIxM0FudmVlV2ZqUzhYRkZ3eXkyUkt1Z2xNS1N2NDBUaC9YUjgzeDQ4Zi8rYTkvYmQ0OWV2VG9oZzRBclQxUTgzZkcwRG95TzBNc3JYM1RVKzlQMDRJRVNVa09uRTRuS1NuZDZONjlPMWxaWjlDclYwOFNFeFAvVDV5ZlV6WkZtMXd1anZsbGVuU3hSUmNBQnhScWp4N0hFSjlBYWtKMHI4cVdGZy8xYmgvSmppUVNUTkwzTWZrb0x5L255eSsxaU9taFEvVWNPRkROMGFOTnFHb0F0MXVMbUxhMFJKckZ0TGEyNHZmNzhQbTBoakU2M3h1aDVqRnFRS0FLSVFmYm1ZWk0xSTU4Y0hwVDFRU1lKMHlZWVBuVG54NitJQ1VsWllqUmFPeFF4WGZQNXRWWThvYVJsM2J5elVOcXk2QkNnVUdGUDY2SldyRnJNMnBHTWJuaFk2R2lLRkZsNWhpREUvRkVKY2lxcXVxSzM2TStvYjZtR3AvWjBTWWkyTlJRUTZNYjB0TFQvblhvWU0yN3Yvbk5iejU5L2ZYWC9TY0phUDUyQUMzUUFVTlRRL1hPd1FBQjBTd3Qwcnk0clQ4dG9xUG1kR3BCZ3ZUMGRNNDQ0d3h5YzNPL1UzOWE5ZDZ0dUoyRjVHZWNIaEgzNzAyMmFQbnFWVHkycjVuVVJETzFqYzFNdnZwS3BoZCt0MjBISkVtaWQrL2VKQ1FrQlBONTR2SDcvUmdNUmxRMUVKWGtHNWs4QmxwYmpSZ01QdngrdjlDK0wwdUtFa0JSRktINEF2aFZGVWtTS3RwTk5hd1dFc3gzTXdRbmE0akJHWU9BNWdzQjI0b1ZLMXBYckZqeEwyRHJ4bzF2UDNYKytlZGZrSmlZT0ZTU3BDaGRsL1ZQUDBUeWxBRmZDOWoyYllNVmpUOHVZRk5kNVV5Wit2OVlzZjN0OEhzcjU5M0F4QWZYayt5d2hhZnlJMnMrWW55L1JvcHQ1ekp2MzFHR3Q4ZUpQV1VVcEJWZ0gvY3cyNWZPakFCWHhWYkdqYnVKV21NR2RxVWV1ZkJtdGo1OUQzanJ1V1BDMVordC9zUzNPY25RL05ISG41WWYwWUZTZTREbTd3RFFsQk1BbW1nL09HREFhRFRwcFlhSWl6TVRGMmRweDUrbUtkNTI3WnBNYW1vcUdSazkyUDM2WXR6WExhTDNkeHdrc0NrMWpKbStsbTFySDhSOEdzeVpVMkJzclpRZWFJbVNMWHF5S1pXM0poVFRlT1FJM25oN2xHelI0TkUzTURYUFRrdXJqL2c0N1M4ZjJiK1hpNS8vZ3YvTXVvYnZTMDZ3cWFtSnlzcjlsSmFXVWx0YlN5QVE0T2pSUm80ZDA0SUtzZmx1UVdYZVVOUVVSVkh3Ky8xUzgvRUFmalZBbkRrU1BkVUZHQ1Foa0tGTmtNRVFaSERHR0JZWHRYejg4ZDY4bmoxN1hoZ2ZIejlFVlpSMFZjZENUZ29BVkcyUmpUR01KVWhoM0kzUTVJT010SzhKTEY2b3FvV01iQWlsR25tYW9LNFIwcktJa3E0SjFiNVVWMEZ5QmxoMXMxenhRblVkWkdXM3ZhT3F3YzlTMHFOL0E3QngwVFNXTkE1aDFaenhPbUQ3T1F0ckxtSHI0OU5qMWxSRi8wNkFyWEx0ZzR4ZHNndDMyV0UyVi95YmRDT0FtMG45ZTJLZjloS0xwdzBHb0xTMHJQYk1NOC9ZL05KRDB6Nzh4ZisrVUIzeXFaNEVvT2tYSmNqUUF1MlpuQVNGVDRNMXpURm1wd0dEd1JSc1dteWlJOU16SVNHQlJKc1ZDWWt1S2VuMHpNNElCZ2t5eWM3SzRwRnBBM0ZNZnBPN1JtUkh5MWdCN29aYUdyeG1zak9TMjh5VnhycHFGR3N5S2Zib202cW5xWjY2Smk5cDZSblJVbEg0bUQ2b0Q0TVh2cy80Zmo5OGc1ZnZUYllvQkdxaFkyYzB5SHlmZ1dhSHc4RTU1eFRTMnVyRlpES2hLSDdpNHkzRXhWbUNRUWJORWR2Y2JNSm9iTUZrTXVMMWFpek81L1BoYi9WenBNRWdWRldSQkFxdHJZcVE1QUJtazRxRUpIeCtEZHhDUVFaWkRnY1pBa0pnQUNsWXhTTkN6SzBOeVBYdFc3Z0grQVI0K29JTEx1aDc0TE1QejcvN2hZckJkdzdQU0QrWi96aHRPT3lxZ093SnNIcGU1UDE3eDhBZUdWUTNWSmZDMEZtdytMWVRyKy9wbWJDcUNlcDNBbFl3RnNEV3BmRHdkRmkrQjNKU29MUU01andORTB2QXZRY3l4c0hJWEdod3daNDYyTElMY3UxUXR4c0dqNGFNUXUyZjc5c01XNXNnRzlqK01reStGM29WUVBrK21MOEN4dllQd3lFclZyek82RVVQZnl2ellNM3FOeGc2NFZHOFM2OWw3ZllHcHBVazQ5MjNudFVWV2V5WmZFbXR4K1BaVWxIeHhVZm5uSFBPZmoyNzZnRFEyZ08yMEh1aG9GSWdER2l5ckVwQ3FHcW9JemdJSkVrWVRTWU1zaVM4TFMzSTVnUzZXT1BBM3l3YWpyckl6TTdHYXRGQXpXS0pJeTR1MUpIZFNrS0NqWGpKemVzdnY0RTE3UXppMUdaU2lzZng1SnpCMkJwMk0yNzhQWlR2cWNGWWVSTWJGbGtaTVA1dTVrMGRCa29qc3lkZnk4djdWTEtzSGhwdHhheGQ5VGZTTERCelJDYmJQSDB4bWczVVYrNWw5T3puZUhDeVZzLzU0dHdibVBWeUpZVzlrcW5ZVjg4VFczY3dJSXlKWmthTnVvZ2xMNjlsZkwrSlVjZmNWYmFlQ2ZjOHk3emxLeWh5bkxiQXBoditacGJ0K0lKeGw3Y045bjFWOVNsYmpqbDVXVmN6dXYyRDkxbjAvbjRxajdReWI4TFB2bmYxVjRQQlFNK2VQWW1McytEenRXSzFKZ1M3WE1jQ25KbVdGaTJLMnRyYXFvR2IwY2NaMlVhTzF2bUZLK0NuUzZJV1BRMEVBcUxGRndCSnhXeFNoYXFxa3FJZ0NSQ1NGSTZpQmdDREpLR0FaQWhPZkdQUVREVzJBM1RHSFR0MjdBTDIvT2JLcktjdTIvdFI3NXljbkNLcjFYcGhaN2x4U3pmQTJvV3d0SjF5VEZzQnJKd0xUZHNoZXhvc3ZPM2tUdjcyUGJCM082Ulp3UnZzQ2pqOVliZ242RXFwV2crRDU4TEVEY0U3ZWgzY3N4TUtIWERQY0ZpNUVlNGJBdy9mQzJNZmhIa1RvR29EOU5vWXZNazF3TVRiNGRuZE1EQWQ2clpDOFYwd2VrdHcvM3dWN0N5MWMzdEIyeXVpZE0xZkdGcnhxamFSMHk1ZzlmSjVuV2U4cTNXc1hsZkY3SG45OGRSZXl1TnIxekYxNE1TeThnLzM3ZkIwY1pUMWpEUG9tWm1xWTFtZEFacWlZMmVLSHN3a0NUWFlsRmhvaWd1U2tHUkpHTU9SVG9sV2I2dFFoWUY0czRuNE9CT05UY2RGZ0hpT0hXc2hMYXNuU2JiNHNEOHQwajNLaXMybXFkMGUrYlNVaEw0amVmaXVjZlRva1U1NmVqcFpXVm1RbTh2R2plT1pOZlpzSEpPZlorYkk3UEJoMlB6NGJOWjRMMkx2cm5tWVVWazQ3UkllWHI2TkJWTUhhaVJnd0RqV1BUd1pUL1ZHZXZXL20ybmpkNUJqcVdQSjRzMHMyM3VRUVdtQTRzTVhZMHdVRmhheDY4R2RoQlJ2d3JjbVZ4MjdkbjJFMi9mZkVCVTlCZG1pdm5sbjh6L3BaN0IxOXdjc2VtY1BsMDBkVE1JUFFGTlRVbEp3T3J1UW1KaUl6WllRRlVIVkp0RngzRzR6WnJPSGxoYU40WVZNMDJhekQ4bHZ4R0x4aTJCZ1FmSzRGUXltZ0RBYXRSNE5BVVVWSUNSWkRrZFJKUTNraEJ5OFVPVGdoV0FJbXFuaHNxMTJnTTVZV0hqT1IwRW05OUpiYjYzcmZ0NTU1K1U3SEk0aWs4bDBJWEJTblRVR0J2WC9IRmxnYVFRM25GUjIrYkF4R3FnQllYbVl1cjB3WXlHVTEyZ21aTDF1Z3R0eU5WQUR5TXFDVU8vblhidGg5dFBhOCt5QmtCR2NlVlhib05ZSXF4ZkJHa0QxZ2FzVWFvRXNBRmNEalVZSGpuYmNqRG1Ecm1QeG5LREV0OUYyUXQ5TzQvYTFsS1pkZHV6OHJvRWQ5VVhGZTkrWjlOY3ZEQTlOUGhMeWtYYkN6dG9ETmIzQ1JyVHZERlNCcEdxUFFvUjdic2l5TU1nSTdZYW9DSkMwM3BFR0l4YUxSUmlOUnRLTmNQQndBL2JVYkxwM3Rlc0NCQnFvMld6UnFSelpDZWZ6K3FLVlBMc3lnV0hEUnBCYmRHS2h4eTFiL29YWjA1L1o5LzQrNkRid1VHZlpDMmpBTm1TUVpvNWJzd1pTYkM5bGQ1VkNUbDR5UXdZbGM5dTRheGczOGpJR0R4L0ZvTUtzcVBYYW5RNWM5VWZhYk04NVlESjFkWk5QZDFNVVRsVzJLQ0hCeGxrSk5zNjZzb1EzNXE1ZzI1Rkx1THpyRDVQNWJMVmE2ZE9uRDNhN25jVEVSQklTYkZpdFZxeldlSnFhTkFibmRzZGhOamRqTnB2d2VrMTR2YTBjTnhzeDRDYytQdXg3RTdMa0IyTkFNcHMxQnVkcjFSaWNMR3NwSW9HQVFKS0ZoQWdIN0tUZ1hWM1dtSnprMS9uaURERWdwd2M2WTFCQzZRQ3c4Wnh6Q2szTGxqMlZrNU56Wm0rYnpWWm9OQnI3US90OWxjT0tMbCt6OE00U0crUnl3OWl4TUc4ZGpPd0hudDJRTnFXZDdjUnNTemFDVDRuNEl2U2VYWHNHakJrZGVUMW1QSVFGa093TzdJb0xseGRpNlpqVmtVNWUzZ2wxOU4yS29uemdjcmxLRno3K1ZPV1JEN2ZYMk0zTDFSaG1Gb2p4ZzNVRWFIb3cwLzlHMWZ2UGdvMGlWVWxDSUJDeUxLTUdBa0tXRGFoS3F4RElKTm9UTVp1TUhHdHNFQWFUQmw0bWt3bVA1d2l5TE9Ieks5Z1NiY1RIdE1RTDlmbDBPcDEwNjVaQ2V2cUZiTHZtSmo3NzlGTldQZnNnZjMzdEE4cld6Tzg4S2d3VURyaWMwY09DZ2d1anI4YWVrbjFDcUpqejh2dU0zcjZGTFpzMk1ISEkrVHk0N21NbUZFZWtxdHhOTG16TzA2T0QxZmNrVzZUeTFiRVd1aWRwL0t5eHZvNERpcGt1bGgrK25DTXpNeE9Id3hFRU9Gc1k0T0xqajJLeGFPQ21CUlphTUpsYU9CWm53b0NQaEFSanFHS0JoRGdqTHNVdkxIWURpaThndVlXQ3lSd1FKbGtsRUFqZzk2dElraURZVHliVTZGbHZwc3JCQzhRZ1NWSTQ2S0FEdWZiQXp2alJSM3VONTUxM1hpbXdEMWg3eGhsbkdHNGI5WHhXcStHc0hKOHZxYmZKWkNxUUpLblh0M3JBR3FIYUNDVkYyazZ2VzMxUzZtUU1HZ2pyMThDSUdiQjNQZFFvRWZabXF3WTVHNHFEUVkyR0JoMkdtWE1wem0ya3ROeERZZUdKbzhOQ2lBcFZpRStPSHE2cjJGeXg3OHNiYjV4MHFLYW1SbzFoWmUyeHM0NVlXdml6b05LTEVyTU9WUWloVDlVUVdndGNTY2d5QkZTRXdXQkE4ZnVGd1dSQ1ZWb3htT0t4eHNjSmd4UkFVU0UrVG10N0o3eE5mSFZNMEsrNG1PcTlIMURqeXViOE5JY3U0VllmOWRUcVBidDI2VUpxang2Y2ZlNkZETy9uSUcza2MzZzFsNmpHb0MwVzZoc2EwTHlaMmhnODZGTHUyVnBKdjlrVE5aYXJlbWhvaXR4cU5tM1p4TXlSVS9CVWIyT25xNEFGMlViQWg4dXRValJ3S0VVRGg5SlUray9LeW10QkIyeGxaYVVVOVcvTEdOM2xtNWd4ZnhYM0xGcE12djEwQmJaVGtpMUs1Uy9QdmNTN0xSYTZ4Y3Q4ZWFTWmNTTXZvMy9DYVFIdUpDWW1VbEJRUUZKU2tnN2dFckJhRzJscWlzZGljUkVYMTB4Y25KbkdPRE1tNGNWbU05SGFxa1ZOMHpKOXVDdE0xQi8ySTFSRnlHWUZlNElpQlpON2hkY2JRRGFxUWhhcUZFcjAxUVVhUWlBWFpuSEJ2RGcvMGJseGhoaUFhL1A4eXkrL05QenVyeVdmQVJWeEMza0hNRHp5eUo5c2g1b3VUMDkwOWNocWJiV2RhUkttWGlEM1JsTW8rZm9qQzI0ZkNDVURJTWNHeVZrbk40bnVlaGhHajRIOHBaRGJIN0tDZHFPY0RDc1d3YVNCV3ZEQVZRdm0vckR4OFloVGV1eTRLMWk1ZmlNVENrZEZoK2VGK016cjlYNXgvUGp4TDZ1cnF3Lys4NThiRHQxLy8vMHRnRHFoWDdvNEFaaDFCR3F4ejhOTDhQeEVKZElHMndNSmlLUnJJRWxDUXNKb2tJUmYwZEtLZksxZVRPWTRMQ1pWSEdseWM3akJDMExDYUpBd3g4VmpOY1BlZlhYazlSdElhbGM3R1lNdjR1Mk5PL0hrOXlhN1czSlFsY05KdDI3ZHdxVlJtWm1aYkhyaUxpNWUrQjhLOHJLbzNMdUgyKzc3QjNyNEh6dnRONHlkZGdNYkY5c1pQUGwvV0RCakJJT256V1hFenVzb0tMcUkvQ3dIRmVXVnpGajhKdE9IYW1TL2FmdkxEQnI2R2syVnBVeDYrQmx5TEFCMWpDKytGSGRHUG5ZYXFIVG5zbVprWVJSNVdidm0zNHlkTzYvTnVmZldsL1BNTXk4eDhjSHZEOWkrMTFyUlprOHpSN3dLWFJNVFNUREpQd2lJMWRmWDQvUDV5Y2pvMGY0K05qZFRYVjBkVHVnOWNpUlVhK29LeXlDMXRHaSt0OVpXYnhEY3RIcFRqOXVISWhTRXFxV0hoSXJxUTlVTHdScFVnaldvb1VKN1FrQ25lNVNEZ0NmcmxwQ01raUdtQ2ZTSm5odGlmdy9JcTFhOW1weVhsOWN0T2JsYnFzMldrRzR5bWJvYkRJWU1TWkl5MnhwOWJVZEREU2hXU1B1YUVTQkZBV29oYXlpVWwwZnNabFdCbWhxd0o0TWpZa3g3aFJBSFdnL3ZPamh3K0IrL1dySDI2YStVeHZyRFpXVmxSNjYvZnZ4UklocDY0ZlNKRHNDc0k0Ylc0Zk5ROGJudTkvb1VqWENxUnVneDJCMHRxTllzaVpCY3ZXNkpsRU1aWkFRUzFnUWJscmhRbmFjNUdQRU1CUWdTd3Uzd3VuUnhoRmxhS0RpZ2I0WG44N2lvclcvVU9qcFpUejZMek5OVVQ0TkxJUzA5SFhQdzdqUnplQ2JaTTk5bllxR0NZbkdTSEpYdW9kSlFXNHNiTTFucEtkR3BJL3ZXTW5ENk9yWnZYb0wxTkNBclA3b2krRzhLYktGUlYxY1hMS1EvUkVQRFlSb2JHNE1hYnhHbEVJK24vWW9Gdjk4ZnpuM1RWeTRFQW9vVUNLaGhnQXNFMUNDd3FhaHFHTlRRTWJxT1FDNE1VREdxSTUwdGNzeHpPZVo1YUJ2U280OHVzUFh0MjllZWxwWm1UMHBLc2x1dFZydlpiTFlialVhN3dXQ3d5N0pza3lUSkprbFNnaVJKOFVFZ0RBa0FHSFRldFJBdytHcTM0cHY1TE41emU0dVdiYStKNXZRSndyM3dsNm83RUFnY1Z4VEYxZHJhNnZKNFBNZWJtcHBjWDMzMTFmRzllejkyMzMzMzNSNGRlSWtZSUJPZGIrLzA0Z0FBQzh4SlJFRlVnSmtleURwaWFsRkxKMEFXQldaNklBT0VMRXRDNjVJbVlURElPa0NUTVJpTXNaVURSQkp0MjFZUWFNbTJtaUpIWXFJOXpOS1NrN3NGdTdGck9XcmY1UWdCMjR5aFgyODcrN2F0cGNGUlRFbis2U0VQL3hPd2RaYk40dmR6NE1DQnNJQ2xKb04wbEdQSFhPMktXRWFyaGZpQ0FLZTBBM0FSRnFkMXVsZEQ1VnJFTUxqT1FLNWRzTk9WZDhtZGdKcWhIV0NMWGZUYjZXeWhuY2ZZNTlGTzJyYlA5WStkTGJGQUZydDB4TkxhUEE5SnY3Y0hZaWNDczlEem1KNGFVZXlzTGFDRlFDMVN1TjZSR0dSU2toMkhvd3ZKeVYxeHlHNys4MkVsRG1jWERJYm8vdlQ5aDQxblFPNjMyMTE5Mzg3TldIc05KTXRwL3ErK3puOEN0cE1ZeDQ0ZDQrREJnOVRWMVhINGNJaTlSWFRlbXBzOU92TTBVclVRcVRtTkJyaEFJQkJscHFxcUdnVnlRcWlTcW9xd3FVcTQ0Yk9RaEVBUGRGSTdJQlFEVU1LZ1ZVTzB5OUk2QXplcEE0Q1Qyd0cxemdDdU0zQ0xCVFRhQWJIT0dKcmFBVnVMZXEybDJraWRnbGpRWjZick54djJtNFhBTEdocVNraFNOSmpwUUUyRUZHUDBnR1kwUmhoYXFIcWdiVjZhVFZmbkdmR2w5ZWpSZzZTa0pINGEzM2xVOVAvZVNFcEtJaWtwaWE1ZHUxSmIreFgxOVllQ09tOUhneVZaeDRNRjljM2hnbnF2VjErU3BXZHZJUk0xRUtVZW9nbGNCZ2dFVkZSVkZVR1FFNnFxU3FGK00xcS9CcUpZWFBBQ2ptVjBPZ0NTWkVtS0JUd2hCd0d5TTBEckROeStEblA3T3NEMmRjek9kZ0V1Q0VpZEFoalJ6YkxEb0tyM21ZVmVCd0V0aXBscFFDYUgyajZLRUZPTDFIWWF3d3JPRVpZV3FSNndSS1Z3aEZoYUVsMjZkQ0U1T1ptVWxGVFMwN3YvbjVBWCtnbllmdUJSV3ZvSnVibG5rWnFheW9FRE5kVFZmY1hodzRjNWN1UklsSkJseUR6Vks0Ym9hMDQxMzVzR2NvRkFHT0FJQkFKNmlTUkp4K0JFaE1tSjBLT0lNVlhSUjFjamJGeEk3WU5TRk5oRmZhY2RjMWM2QWJCMXhOcGlUVkxSQ2JoMUJuQnFlNjkxb05RWnM0djlUZFMyOUs5alRFMWtXZFlGQS9TQVppQ2t1aEVMYUFaRGhLSHBpOWJiVTdiVnpNNklFR1RYcmwyRExLMDdtWmsvS1ZyOUJHdy93TWpNekNBMU5ZWGEydHF3U205Yjg3UTVHRndJQVp3dnh2L1docjJGQWd4QmtGTTdCRGtkd0JITjVxUllvSXQ2M3M1bmJaWmdIbDBuekV4TDB2b3VmV3hCMW5XeVRLNmpCYjFwR2ZPYTlsaFppSm5wL0dmdGdGbkk3RFIyd3RMMGZqUnpVQk13WGljQ0dXMTJodFJ0MDlQVE1adk5QMTFnUHd5d0JkaXhkeC8vclBpS1k0cE13Vms5dWVIY016QURyYzFOdkxyck0vYldIY05nc1RHeXVKQUx1OGNrd2l2TlBQWHZqem16OTlrTXp2anY5UjJZeldheXM3TkpUVTF0WTU3cW82ZlIvamM5ZytzNGVxb29Db3EvbFpaV0NZdFppZ0k1WGJDaFBaQWowaVlWS2ZaUlZWVWtXUTRKMk1ReU96cGhZcnJYVWtqVzYyVEJyQ1BHRnZXZUNOblpKMlp5ZEFKZ2tkOExJVlJWWURESVVVeE01eTlEbjZJUkMyYWh3SUMrQ2JlZW9YVVc3WXo0MFN4dC9HaWhhR2VzMlJuYlVLVzlVYllic29xZzNaYXc3aW9tVEhtWXhTdVc0TlJkMWJYbGU1QlQ4a2x6ZkR1QTZTbGR4ZUM1dTlqNTh2eHZ2SjRoYzNleC9SVFdjekwvNlJUMDJJNnplbmN0UllYWnBKcFZscjI5a2MrT1g4YURnN0w1c3JLS2o1dGxMdTJiaS92SVFYNzk5NVVzdm1NaUE3cEVOdlBXNXEwc2VlOUxyckwxK0s4R3R0Q0lqNCtuWjg4YzB0SlNxYXVybzc2K1BtaWU2djF2SVlCcmFTT0wxRkgwdExuaENJY2JBK1JrcGVqVFE0VE9ENmNIT1lSUWhSWndVQWtHSHNKQUY3ek9KU0VFa2l3alJjQ09rMkZkTWNCM0lqQTcyWEtTTnFhcGlQdzRDcVJDN0tvanRxY0h4UER6NFA4ekdBemg5Mk1DQUVRZVk4Rk0xalhkMWdPYUlkaVl1Nk5vWjdTc1VFaUZRd08waUIrdGE5ZXVwS1Nra0phV0ZwV1BkcUl4YlFRc3JJRCs3UlROclZzeUI4dUE4VkdnQnJEa3ZwL2ptUHhXVkJIOE43cWhweFZ3KzZSdm50S2hlbDFVVlI4K3BkK2V6SC82K3NBbU8zaGc4dVhobDEwOGg3bDF6NWN3S0p2Y3ZrVTgwRGYwU1RhN1AvbVVMZnNiR2RCRk94Q3V1djA4VjJ2anVqT3RlSDVrMURjaElZR2VQWHZTdlh2M2NQVDBTTzFuUFAvQ2UvUXRLY0hlY2h6WG9VbzJmVkpMbjc2NUpMUzJCQU1Nc1F6T3k0RXZ2cURwV0ROQ0VSdzVjZ1JWTXBHUzRvUkFnSURpNWZEaFkxaXRSbkhNNVVKRnhwN2tRQloreWVWeW93UzBXSUlwemlKTVJna2hCQUcvRDE4Z0lBQkpsZzFJaE1CT1JWRlVMU0NocXFDeGxwTUZyVFlBcGtYWXBUQ2xDNmJrSTdjdmNpakMzd21CclBiOVlGNFlZWUFLN20yUTFXbUFKSVFxaE5CK0wwa3lScU1oQkhBRUZEOENDVW5Xb3BRaFVBdjRXMUV4b3JTMkVoQmd0ZG14eHBuQ1FOWk8yZ1p0ZldudE16U3Q3MEFRMEl6eDdQbkVTdTRaTm5ac1M2UmJUaEkzVDNTUTNrM3pveDJ0U09OdnoxaHh5VEIrT2d3dEJEeXdjQkdNdnhQU0xPQ3JoMGVlaFJsM1FlVW1XTGtacXR6dytGeElNOE9JU1RBd040UVNqU3grNGwvY3RXVnArT0EybFc5andiTnZzYm0wSHN2eVA5TzAzVUhlNEd1Wk9GUnJabHk1Y3kxYm01SkpxZDNDaTVzK0lYZkl6N2x2OG5BcWQyM2c2WmZmb3JxdWtmVGM4NWx4KzNUUzdScE1ySHY2WWJaVkhNZWFkWDdVaWF6WXZvYnRqWGE4ZXphd3RlSUlJNmY4bHJFbHVTZHgxZmhZdldRZWEzWitTYitSTjNIYjJCSmtvTDU4TzB1ZlhVVjU5U0djR2IyWmR2dWQ1S1ZaVC9pZlZFODl5eFl2Wm12cEFiNXgrdituOVEza3ByZVRTK00vVHNVUmxUNnBRVmFtK25obzdVNm1YM2srY1QvT2psK0FWbHlmazVQRE9lZWNRLzY1Z3pqSDBjQ0xHOHZJeWtwangvbzFtRFB5eVV4THBWdTNGSktUdStKME9uRTR1b1RMdWV4Mk82azlNa2gxSmlLWkUwaExTeU0xcFNzSlZvMEJ4TWNaY0x1UGMrUm9NM2FIRTd2Tmd0RWNSNXhSRnJJcFR0aVRrb1F0d1N4OExjMWdER2EwV3pRNUpzMDJNd21UeVNTTVJxTXdHaVFSQkFoaE1CcUUxc1JCVWcwR2d5ckxjbnRMSUxpRUd2ZEdMNXIybkNKSmtxWjRvZFZWaGwvSExBRkprZ0t5SkFWa1dRNG15V3JybG1VcHZCMkJVSVdHdW1wd3U2ckJZRkFsdEk1TkpwTlJTS2hDQ2FqQ2FEUUtrOGtrVENhek1FaUlnQ3AwaXJOeGlJQkNhMnVyc0NRa0NwdFpGbTdYY1JFWHIvbS9Jbzc5NEhHT2o4ZHF0WEM4c1o1RGh3NVJWMWRIYlcwdEJ3OGU1S3NqYnV4Mk8wbEpTVGdjWFlKK3NxNTA2NVpDYW1vcTZjbmRlVzlMQm1VTlozRDk5VGswN3N4bFcxMCs1NXh6RGtwRkR0ZmVhYVZrTEV3YUNYZU5nWjMxZ0JXeWZERHBIazBzZE5ZVWNLV0JYWWIwWGpCOE9Eak5VRHhFZTU2bHUrUjg1WnZZS2ZkblFIcUVwMWlTc3hnMi9BcXlVMnowNm5jeHc0ZGZRYjllRVZtL3lwMXZjdCswWDdDcXdzTDRpZGRqVlZ3QVZGV1UwMnZBbGR4KzF4MWt1ZDlqMkpSNVljR0N2SDZES2NrSzhNaXlOMktBN1ExbVRMc2J0V0FvRTRabU1uM3N6VlNmaEVSUjArNVZiSEQxWXZxVWExazkrem9XYjZnRW9LYXlBbWQrQ1hmZWRRY2xLWWNZTnVJVzNDZjZUNnFMR1NNdVpsMk5uV20zMy9ITmdnZlYrei9oc1U4Q1BEbmo3RmlpeVROck5oSjM5Z0N1N0tHVkpPN2M4UjVObVVVTTZtYm13LzhEemt1THhVSjJkalozTFg2QlR5Ky9tTWNmLzRER3pKSE12dTRTM0M1OWlvaW5UWW1XMVpxSVRiaW85UGpKeU1pSTlzRVp0Um1UY1ZadkVnMUNaNlphTU1mN2FQWTBvMGp4eUhLTFVERVFGMmRHbU0zRVdWUWFXcjJTMFJ4SG5DRm9zaXFDRnE5ZnhOc1NrSVdndGFVWlJZRFJhQ1Jpd1lxUU9Sb21Xa0VpRmtXK2hORGlwcW8vQUxLTWpDb0ZBbUF3R0pHbGprMVFqV1JKK0gwK0pJTVJveHg1RDBBRUFnUWtDWXNsTHNxa05KdE5CQlNGZ0Nvd0dtUjhBVUZjbkJsSmtwRXNGcFFXRjY1V1NWZ3NjV0Z6cy9XNGhDa3VpV1NuQTFsSzRIaGxMWEpjUFBGR2ZiV0FQakFnMDJwTEpJNW9jOVNjMkFXbnMwdVVEMDNmU01WT0VpYWpnOS8rMFVtLzFHNTBQNTdLcXpWR0xCWll1aEFtem9JUkpkci9uem9VVnF5RjRpa3daaFpzSGdGanhrQlRDbXdNeXBxbFpHdUwzUXo5U3RxYW9yWGxWVmh5TXFOa1hTek9ERXBLTWxpZllzV1JYMHhKU1Z1enpaaDNCWS9QdXgwWkdCNThiOGo0R2RSVzdHVnZlUTBaaGVkUzkreGJOQUxKUUU1aE1TbStNdVJsYlUzSWdwRTNNbTNVRUtDWWdiUCt6TjVhVFNtNTA1RStpUG4zanNjQnpKcHhEZmU4dUlyYmg4MmszL0NKWkZmdlkwOVpKZVplNTJDcGZJQUtOeFIxOHA5Y3UxZXp2RGFQbXMwenNRUC9IM2l4Z0ptUU81d3VBQUFBQUVsRlRrU3VRbUNDIl0sWzEsImRldGFpbHMtY29udGFpbmVyIl0sWzEsImRldGFpbHMiXSxbImhyZWYiLCJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9hcGlfZG9jcy9weXRob24vdGYvZGVidWdnaW5nL2V4cGVyaW1lbnRhbC9lbmFibGVfZHVtcF9kZWJ1Z19pbmZvIiwidGFyZ2V0IiwiYmxhbmsiLCJyZWwiLCJub3JlZmVycmVyIG5vb3BlbmVyIl0sWyJocmVmIiwiaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvYXBpX2RvY3MvcHl0aG9uL3RmL2RlYnVnZ2luZyIsInRhcmdldCIsImJsYW5rIiwicmVsIiwibm9yZWZlcnJlciBub29wZW5lciJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZGl2IiwwKSxDZigxLCJkaXYiLDEpLFB1KDIsIkRlYnVnZ2VyIFYyIGlzIGluYWN0aXZlIGJlY2F1c2Ugbm8gZGF0YSBpcyBhdmFpbGFibGUuIiksTWYoKSxDZigzLCJkaXYiKSxQdSg0LCJUbyB1c2UgdGhlIGRlYnVnZ2VyLCIpLE1mKCksQ2YoNSwiZGl2IiksQ2YoNiwib2wiKSxDZig3LCJsaSIpLFB1KDgsIiBBZGQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIHRoZSBiZWdpbm5pbmcgb2YgeW91ciBwcm9ncmFtOiAiKSxDZig5LCJkaXYiLDIpLENmKDEwLCJzcGFuIiksUHUoMTEsInRmLmRlYnVnZ2luZy5leHBlcmltZW50YWwuZW5hYmxlX2R1bXBfZGVidWdfaW5mbygiKSxNZigpLENmKDEyLCJzcGFuIiwzKSxQdSgxMywibG9nZGlyIiksTWYoKSxQdSgxNCwiLCAiKSxDZigxNSwic3BhbiIsMyksUHUoMTYsJ3RlbnNvcl9kZWJ1Z19tb2RlPSJGVUxMX0hFQUxUSCInKSxNZigpLFB1KDE3LCIsICIpLENmKDE4LCJzcGFuIiwzKSxQdSgxOSwiY2lyY3VsYXJfYnVmZmVyX3NpemU9LTEiKSxNZigpLENmKDIwLCJzcGFuIiksUHUoMjEsIikiKSxNZigpLE1mKCksTWYoKSxDZigyMiwibGkiKSxQdSgyMywiUmUtcnVuIHRoZSBwcm9ncmFtLiIpLE1mKCksTWYoKSxNZigpLENmKDI0LCJkaXYiLDQpLENmKDI1LCJkaXYiLDUpLENmKDI2LCJkaXYiLDYpLHZmKDI3LCJpbWciLDcpLE1mKCksQ2YoMjgsImRpdiIsOCksUHUoMjksIkF1dG8tYWxlcnRzIGZvciBwcm9ibGVtcyBmb3VuZCIpLE1mKCksTWYoKSxDZigzMCwiZGl2Iiw1KSxDZigzMSwiZGl2Iiw2KSx2ZigzMiwiaW1nIiw5KSxNZigpLENmKDMzLCJkaXYiLDgpLFB1KDM0LCIgSW50ZWdyYXRlZCBkZWJ1Z2dpbmcgdG8gdHJhY2UgcHJvYmxlbXMgdG8gdGhlaXIgY2F1c2VzICIpLE1mKCksTWYoKSxDZigzNSwiZGl2Iiw1KSxDZigzNiwiZGl2Iiw2KSx2ZigzNywiaW1nIiwxMCksTWYoKSxDZigzOCwiZGl2Iiw4KSxQdSgzOSwiTGluayBsb2cgdG8gY29kZSIpLE1mKCksTWYoKSxNZigpLENmKDQwLCJkaXYiLDExKSxDZig0MSwiZGl2IiwxMiksUHUoNDIsIiBUaGUgbG9nIGRpcmVjdG9yeSBtdXN0IGNvbnRhaW4gVGVuc29yRmxvdyBEZWJ1Z2dlciAoVjIpIGRhdGEuIHRmLmRlYnVnZ2luZy5leHBlcmltZW50YWwuZW5hYmxlX2R1bXBfZGVidWdfaW5mbygpIHdpbGwgY29sbGVjdCB0ZW5zb3IgZGF0YSwgZ3JhcGggc3RydWN0dXJlcywgdGhlIGFzc29jaWF0ZWQgc3RhY2sgdHJhY2VzLCBhbmQgc291cmNlIGNvZGUgdG8gdGhlIHNwZWNpZmljZWQgZGlyZWN0b3J5IGxvZ2RpciBhcyB0aGUgaW5zdHJ1bWVudGVkIFRlbnNvckZsb3cgcHJvZ3JhbSBleGVjdXRlcy4gIiksTWYoKSxDZig0MywiZGl2IiwxMiksQ2YoNDQsImRpdiIpLFB1KDQ1LCIgU2VlICIpLENmKDQ2LCJhIiwxMyksUHUoNDcsIiBkb2N1bWVudGF0aW9uICIpLE1mKCksUHUoNDgsIiBvZiB0aGUgUHl0aG9uIEFQSSBvZiBEZWJ1Z2dlciBWMi4gIiksTWYoKSxDZig0OSwiZGl2IiksUHUoNTAsIiBTZWUgIiksQ2YoNTEsImEiLDE0KSxQdSg1MiwiIGhlcmUgIiksTWYoKSxQdSg1MywiIGZvciBvdGhlciBUZW5zb3JGbG93IGRlYnVnZ2luZyBBUElzLiAiKSxNZigpLE1mKCksTWYoKSxNZigpKX0sc3R5bGVzOlsiLmFyZ1tfbmdjb250ZW50LSVDT01QJV0ge1xuICBjb2xvcjogbGlnaHRibHVlO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1hcmdpbjogMnB4O1xufVxuXG4uY29kZVtfbmdjb250ZW50LSVDT01QJV0ge1xuICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgbW9ub3NwYWNlO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi5jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LWZhbWlseTogUm9ib3RvO1xuICBmb250LXNpemU6IDE1cHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDUwcHg7XG59XG5cbi5kZXRhaWxzLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5kZXRhaWxzW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAxMHB4IDYwcHg7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5leGhpYml0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmV4aGliaXRbX25nY29udGVudC0lQ09NUCVdIHtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMTBweCA2MHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMzEwcHg7XG59XG5cbi5leGhpYml0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5kZXNjcmlwdGlvbltfbmdjb250ZW50LSVDT01QJV0ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMzEwcHg7XG59XG5cbi5leGhpYml0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5zY3JlZW5zaG90W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGNhbnZhc1tfbmdjb250ZW50LSVDT01QJV0ge1xuICBoZWlnaHQ6IDIwMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGZvbnQtc2l6ZTogMTM1JTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE9YLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImluYWN0aXZlLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vaW5hY3RpdmVfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vaW5hY3RpdmVfY29tcG9uZW50LmNzcyJdfV19XSxudWxsLG51bGwpO2NsYXNzIFBYe2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dH19UFguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFBYKShnZihpUykpfSxQWC7JtWNtcD1zbyh7dHlwZTpQWCxzZWxlY3RvcnM6W1sidGYtZGVidWdnZXItdjItaW5hY3RpdmUiXV0sZGVjbHM6MSx2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmdmYoMCwiaW5hY3RpdmUtY29tcG9uZW50Iil9LGRpcmVjdGl2ZXM6W09YXSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFBYLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRmLWRlYnVnZ2VyLXYyLWluYWN0aXZlIix0ZW1wbGF0ZToiIDxpbmFjdGl2ZS1jb21wb25lbnQ+PC9pbmFjdGl2ZS1jb21wb25lbnQ+ICJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y29uc3Qgd1g9X2soIltEZWJ1Z2dlcl0gRGVidWdnZXIgTG9hZGVkIiksa1g9X2soIltEZWJ1Z2dlcl0gRGVidWdnZXIgVW5sb2FkZWQiKSxTWD1faygiW0RlYnVnZ2VyXSBBIE5ldyBEZWJ1Z2dlciBEYXRhIFBvbGxpbmcgRXZlbnQgQmVnaW5zIiksRFg9X2soIltEZWJ1Z2dlcl0gRGVidWdnZXIgUnVucyBSZXF1ZXN0ZWQiKSxSWD1faygiW0RlYnVnZ2VyXSBEZWJ1Z2dlciBSdW5zIExvYWRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEVYPV9rKCJbRGVidWdnZXJdIERlYnVnZ2VyIFJ1bnMgUmVxdWVzdCBGYWlsZWQiKSxBWD1faygiW0RlYnVnZ2VyXSBOdW1iZXIgYW5kIEJyZWFrZG93biBvZiBBbGVydHMgUmVxdWVzdGVkIiksVFg9X2soIltEZWJ1Z2dlcl0gTnVtYmVyIGFuZCBCcmVha2Rvd24gb2YgQWxlcnRzIExvYWRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLE5YPV9rKCJbRGVidWdnZXJdIEFsZXJ0cyBEYXRhIG9mIGFuIEFsZXJ0VHlwZSBJcyBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSx6WD1faygiW0RlYnVnZ2VyXSBBbGVydCBUeXBlIEZvY3VzIFRvZ2dsZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxJWD1faygiW0RlYnVnZ2VyXSBOdW1iZXIgb2YgVG9wLUxldmVsIEV4ZWN1dGlvbnMgUmVxdWVzdGVkIiksSFg9X2soIltEZWJ1Z2dlcl0gTnVtYmVyIG9mIFRvcC1MZXZlbCBFeGVjdXRpb25zIExvYWRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEZYPV9rKCJbRGVidWdnZXJdIEV4ZWN1dGlvbkRpZ2VzdHMgUmVxdWVzdGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksTFg9X2soIltEZWJ1Z2dlcl0gRXhlY3V0aW9uRGlnZXN0cyBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxCWD1faygiW0RlYnVnZ2VyXSBTY3JvbGwgTGVmdHdhcmQgb24gdGhlIEV4ZWN1dGlvbiBUaW1lbGluZSIpLFZYPV9rKCJbRGVidWdnZXJdIFNjcm9sbCBSaWdodHdhcmQgb24gdGhlIEV4ZWN1dGlvbiBUaW1lbGluZSIpLGpYPV9rKCJbRGVidWdnZXJdIFNjcm9sbCB0aGUgRXhlY3V0aW9uIFRpbWVsaW5lIHRvIEdpdmVuIEluZGV4Iix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksVVg9X2soIltEZWJ1Z2dlcl0gRXhlY3V0aW9uIERhdGEgT2JqZWN0cyBCZWluZyBGb2N1c2VkIE9uIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksV1g9X2soIltEZWJ1Z2dlcl0gRXhlY3V0aW9uIERhdGEgT2JqZWN0cyBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxHWD1faygiW0RlYnVnZ2VyXSBOdW1iZXIgb2YgSW50cmEtR3JhcGggRXhlY3V0aW9ucyBSZXF1ZXN0ZWQiKSxZWD1faygiW0RlYnVnZ2VyXSBOdW1iZXIgb2YgSW50cmEtR3JhcGggRXhlY3V0aW9ucyBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxxWD1faygiW0RlYnVnZ2VyXSBJbnRyYS1HcmFwaCBFeGVjdXRpb24gRGF0YSBSZXF1ZXN0ZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxaWD1faygiW0RlYnVnZ2VyXSBJbnRyYS1HcmFwaCBFeGVjdXRpb24gRGF0YSBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxYWD1faygiW0RlYnVnZ2VyXSBTY3JvbGwgSW50cmEtR3JhcGggRXhlY3V0aW9uIExpc3QgdG8gR2l2ZW4gSW5kZXgiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxLWD1faygiW0RlYnVnZ2VyXSBHcmFwaCBFeGVjdXRpb24gaXMgRm9jdXNlZCBPbiIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEpYPV9rKCJbRGVidWdnZXJdIEdyYXBoIE9wIElzIEZvY3VzZWQgT24iLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxRWD1faygiW0RlYnVnZ2VyXSBHcmFwaCBPcCBJbmZvIFJlcXVlc3RlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLCRYPV9rKCJbRGVidWdnZXJdIEdyYXBoIE9wIEluZm8gTG9hZGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksdEs9X2soIltEZWJ1Z2dlcl0gU291cmNlIEZpbGUgTGlzdCBSZXF1ZXN0ZWQuIiksZUs9X2soIltEZWJ1Z2dlcl0gU291cmNlIEZpbGUgTGlzdCBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxuSz1faygiW0RlYnVnZ2VyXSBTb3VyY2UgRmlsZSBMaW5lIElzIEZvY3VzZWQgb24iLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxvSz1faygiW0RlYnVnZ2VyXSBTb3VyY2UgRmlsZSBSZXF1ZXN0ZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxpSz1faygiW0RlYnVnZ2VyXSBTb3VyY2UgRmlsZSBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxhSz1faygiW0RlYnVnZ2VyXSBBIFNldCBvZiBTdGFjayBGcmFtZXMgSGF2ZSBCZWVuIExvYWRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHJLPSJkZWJ1Z2dlciI7dmFyIHNLLGxLLGNLO2Z1bmN0aW9uIGRLKHQpe2lmKG51bGw9PT10LmNvZGVMb2NhdGlvbkZvY3VzVHlwZSlyZXR1cm4gbnVsbDtsZXQgZT1bXTtpZih0LmNvZGVMb2NhdGlvbkZvY3VzVHlwZT09PWNLLkVYRUNVVElPTil7Y29uc3R7Zm9jdXNJbmRleDpuLGV4ZWN1dGlvbkRhdGE6b309dC5leGVjdXRpb25zO2lmKG51bGw9PT1ufHx2b2lkIDA9PT1vW25dKXJldHVybiBudWxsO2U9b1tuXS5zdGFja19mcmFtZV9pZHN9ZWxzZXtpZihudWxsPT09dC5ncmFwaHMuZm9jdXNlZE9wKXJldHVybiBudWxsO2NvbnN0e2dyYXBoSWQ6bixvcE5hbWU6b309dC5ncmFwaHMuZm9jdXNlZE9wO2lmKHZvaWQgMD09PXQuZ3JhcGhzLm9wc1tuXXx8IXQuZ3JhcGhzLm9wc1tuXS5oYXMobykpcmV0dXJuIG51bGw7ZT10LmdyYXBocy5vcHNbbl0uZ2V0KG8pLnN0YWNrX2ZyYW1lX2lkc31jb25zdCBuPVtdO2Zvcihjb25zdCBvIG9mIGUpe2lmKG51bGw9PXQuc3RhY2tGcmFtZXNbb10pcmV0dXJuIG51bGw7bi5wdXNoKHQuc3RhY2tGcmFtZXNbb10pfXJldHVybiBufWZ1bmN0aW9uIHBLKHQsZSl7cmV0dXJuIHQuZmluZEluZGV4KCh0PT50Lmhvc3RfbmFtZT09PWUuaG9zdF9uYW1lJiZ0LmZpbGVfcGF0aD09PWUuZmlsZV9wYXRoKSl9ZnVuY3Rpb24gbUsodCxlLG4pe2lmKGU+PW4pdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBiZWdpbiB0byBiZSBsZXNzIHRoYW4gZW5kLCBidXQgZ290IGJlZ2luPSR7ZX0sIGVuZD0ke259YCk7cmV0dXJuIHQuZmluZEluZGV4KCh0PT50LmJlZ2luPT09ZSYmdC5lbmQ9PT1uKSl9ZnVuY3Rpb24gZksodCl7Y29uc3QgZT10LnNvdXJjZUNvZGUuZm9jdXNMaW5lU3BlYztpZighdC5zdGlja1RvQm90dG9tbW9zdEZyYW1lSW5Gb2N1c2VkRmlsZSlyZXR1cm4gZTtjb25zdCBuPWRLKHQpO2lmKG51bGw9PT1uKXJldHVybiBlO2NvbnN0IG89KGZ1bmN0aW9uIGkodCxlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtmb3IobGV0IG49dC5sZW5ndGgtMTtuPj0wOy0tbil7Y29uc3Qgbz10W25dLHtob3N0X25hbWU6aSxmaWxlX3BhdGg6YX09bztpZihpPT09ZS5ob3N0X25hbWUmJmE9PT1lLmZpbGVfcGF0aClyZXR1cm4gb31yZXR1cm4gbnVsbH0pKG4sZSk7cmV0dXJuIG51bGw9PT1vP2U6b30hKGZ1bmN0aW9uKHQpe3RbdC5VTlNQRUNJRklFRD0wXT0iVU5TUEVDSUZJRUQiLHRbdC5OT19URU5TT1I9MV09Ik5PX1RFTlNPUiIsdFt0LkNVUlRfSEVBTFRIPTJdPSJDVVJUX0hFQUxUSCIsdFt0LkNPTkNJU0VfSEVBTFRIPTNdPSJDT05DSVNFX0hFQUxUSCIsdFt0LkZVTExfSEVBTFRIPTRdPSJGVUxMX0hFQUxUSCIsdFt0LlNIQVBFPTVdPSJTSEFQRSIsdFt0LkZVTExfTlVNRVJJQ1M9Nl09IkZVTExfTlVNRVJJQ1MiLHRbdC5GVUxMX1RFTlNPUj03XT0iRlVMTF9URU5TT1IiLHRbdC5SRURVQ0VfSU5GX05BTl9USFJFRV9TTE9UUz04XT0iUkVEVUNFX0lORl9OQU5fVEhSRUVfU0xPVFMifSkoc0t8fChzSz17fSkpLChmdW5jdGlvbih0KXt0LkZVTkNUSU9OX1JFQ09NUElMRV9BTEVSVD0iRnVuY3Rpb25SZWNvbXBpbGVzQWxlcnQiLHQuSU5GX05BTl9BTEVSVD0iSW5mTmFuQWxlcnQiLHQuVEVOU09SX1NIQVBFX0FMRVJUPSJUZW5zb3JTaGFwZUFsZXJ0In0pKGxLfHwobEs9e30pKSwoZnVuY3Rpb24odCl7dFt0LkVYRUNVVElPTj0wXT0iRVhFQ1VUSU9OIix0W3QuR1JBUEhfT1BfQ1JFQVRJT049MV09IkdSQVBIX09QX0NSRUFUSU9OIn0pKGNLfHwoY0s9e30pKTtjb25zdCB1Sz1WUyh7cnVuczp7fSxydW5zTG9hZGVkOntzdGF0ZTpVRS5OT1RfTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpudWxsfSxhY3RpdmVSdW5JZDpudWxsLGxhc3REYXRhUG9sbE9uc2V0VGltZU1zOi0xLGxhc3ROb25FbXB0eVBvbGxEYXRhVGltZU1zOjEsYWxlcnRzOnthbGVydHNMb2FkZWQ6e3N0YXRlOlVFLk5PVF9MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOm51bGx9LG51bUFsZXJ0czowLGFsZXJ0c0JyZWFrZG93bjp7fSxhbGVydHM6e30sZXhlY3V0aW9uSW5kaWNlczp7fSxncmFwaEV4ZWN1dGlvbkluZGljZXM6e30sZm9jdXNUeXBlOm51bGx9LGV4ZWN1dGlvbnM6KGZ1bmN0aW9uIGdLKCl7cmV0dXJue251bUV4ZWN1dGlvbnNMb2FkZWQ6e3N0YXRlOlVFLk5PVF9MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOm51bGx9LGV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQ6e2xvYWRpbmdSYW5nZXM6W10sbnVtRXhlY3V0aW9uczowLHBhZ2VMb2FkZWRTaXplczp7fX0sZGlzcGxheUNvdW50OjUwLHBhZ2VTaXplOjEwMCxzY3JvbGxCZWdpbkluZGV4OjAsZm9jdXNJbmRleDpudWxsLGV4ZWN1dGlvbkRpZ2VzdHM6e30sZXhlY3V0aW9uRGF0YTp7fX19KSgpLGdyYXBoRXhlY3V0aW9uczooZnVuY3Rpb24gaEsoKXtyZXR1cm57bnVtRXhlY3V0aW9uc0xvYWRlZDp7c3RhdGU6VUUuTk9UX0xPQURFRCxsYXN0TG9hZGVkVGltZUluTXM6bnVsbH0sZXhlY3V0aW9uRGlnZXN0c0xvYWRlZDp7bG9hZGluZ1JhbmdlczpbXSxudW1FeGVjdXRpb25zOjAscGFnZUxvYWRlZFNpemVzOnt9fSxkaXNwbGF5Q291bnQ6MTAwLHBhZ2VTaXplOjIwMCxzY3JvbGxCZWdpbkluZGV4OjAsZm9jdXNJbmRleDpudWxsLGdyYXBoRXhlY3V0aW9uRGlnZXN0czp7fSxncmFwaEV4ZWN1dGlvbkRhdGFMb2FkaW5nUGFnZXM6W10sZ3JhcGhFeGVjdXRpb25EYXRhUGFnZUxvYWRlZFNpemVzOnt9LGdyYXBoRXhlY3V0aW9uRGF0YTp7fX19KSgpLGdyYXBoczp7b3BzOnt9LGxvYWRpbmdPcHM6e30sZm9jdXNlZE9wOm51bGx9LHN0YWNrRnJhbWVzOnt9LGNvZGVMb2NhdGlvbkZvY3VzVHlwZTpudWxsLHN0aWNrVG9Cb3R0b21tb3N0RnJhbWVJbkZvY3VzZWRGaWxlOiExLHNvdXJjZUNvZGU6e3NvdXJjZUZpbGVMaXN0TG9hZGVkOntzdGF0ZTpVRS5OT1RfTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpudWxsfSxzb3VyY2VGaWxlTGlzdDpbXSxmaWxlQ29udGVudHM6W10sZm9jdXNMaW5lU3BlYzpudWxsfX0sQlMoRFgsKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cnVuc0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ydW5zTG9hZGVkKSx7c3RhdGU6VUUuTE9BRElOR30pfSkpKSxCUyhFWCwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtydW5zTG9hZGVkOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnJ1bnNMb2FkZWQpLHtzdGF0ZTpVRS5GQUlMRUR9KX0pKSksQlMoUlgsKCh0LHtydW5zOmV9KT0+e2NvbnN0IG49T2JqZWN0LmtleXMoZSksbz1uLmxlbmd0aD4wJiZudWxsPT09dC5hY3RpdmVSdW5JZDtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtsYXN0Tm9uRW1wdHlQb2xsRGF0YVRpbWVNczpvP0RhdGUubm93KCk6dC5sYXN0Tm9uRW1wdHlQb2xsRGF0YVRpbWVNcyxydW5zOmUscnVuc0xvYWRlZDp7c3RhdGU6VUUuTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpEYXRlLm5vdygpfSxhY3RpdmVSdW5JZDpuLmxlbmd0aD4wP25bMF06bnVsbH0pfSkpLEJTKFNYLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2xhc3REYXRhUG9sbE9uc2V0VGltZU1zOkRhdGUubm93KCl9KSkpLEJTKEFYLCh0PT5udWxsPT09dC5hY3RpdmVSdW5JZD90Ok9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7YWxlcnRzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmFsZXJ0cykse2FsZXJ0c0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5hbGVydHMuYWxlcnRzTG9hZGVkKSx7c3RhdGU6VUUuTE9BRElOR30pfSl9KSkpLEJTKFRYLCgodCx7bnVtQWxlcnRzOmUsYWxlcnRzQnJlYWtkb3duOm59KT0+e2lmKG51bGw9PT10LmFjdGl2ZVJ1bklkKXJldHVybiB0O2NvbnN0IG89ZT50LmFsZXJ0cy5udW1BbGVydHM7cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7bGFzdE5vbkVtcHR5UG9sbERhdGFUaW1lTXM6bz9EYXRlLm5vdygpOnQubGFzdE5vbkVtcHR5UG9sbERhdGFUaW1lTXMsYWxlcnRzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmFsZXJ0cykse2FsZXJ0c0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5hbGVydHMuYWxlcnRzTG9hZGVkKSx7c3RhdGU6VUUuTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpEYXRlLm5vdygpfSksbnVtQWxlcnRzOmUsYWxlcnRzQnJlYWtkb3duOm59KX0pfSkpLEJTKE5YLCgodCx7bnVtQWxlcnRzOmUsYWxlcnRzQnJlYWtkb3duOm4sYWxlcnRUeXBlOm8sYmVnaW46aSxhbGVydHM6YX0pPT57aWYobnVsbD09PXQuYWN0aXZlUnVuSWQpcmV0dXJuIHQ7Y29uc3Qgcj17fSxzPXQuYWxlcnRzLmV4ZWN1dGlvbkluZGljZXNbb10/dC5hbGVydHMuZXhlY3V0aW9uSW5kaWNlc1tvXS5zbGljZSgpOltdLGw9dC5hbGVydHMuZ3JhcGhFeGVjdXRpb25JbmRpY2VzW29dP3QuYWxlcnRzLmdyYXBoRXhlY3V0aW9uSW5kaWNlc1tvXS5zbGljZSgpOltdO2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7Kyt0KXtjb25zdCBlPWkrdCxuPWFbdF07aWYocltlXT1uLG4uYWxlcnRfdHlwZT09PWxLLklORl9OQU5fQUxFUlQpe2NvbnN0IHQ9bjtzW2VdPXQuZXhlY3V0aW9uX2luZGV4LG51bGwhPT10LmdyYXBoX2V4ZWN1dGlvbl90cmFjZV9pbmRleCYmKGxbZV09dC5ncmFwaF9leGVjdXRpb25fdHJhY2VfaW5kZXgpfX12b2lkIDAhPT10LmFsZXJ0cy5hbGVydHNbb10mJk9iamVjdC5hc3NpZ24ocix0LmFsZXJ0cy5hbGVydHNbb10pO2xldCBjPXQuZXhlY3V0aW9ucy5zY3JvbGxCZWdpbkluZGV4LGQ9dC5ncmFwaEV4ZWN1dGlvbnMuZm9jdXNJbmRleDtpZihvPT09bEsuSU5GX05BTl9BTEVSVCYmMD09PWkpe2NvbnN0IGU9YVswXTtjPU1hdGgubWF4KDAsZS5leGVjdXRpb25faW5kZXgtTWF0aC5mbG9vcih0LmV4ZWN1dGlvbnMuZGlzcGxheUNvdW50LzIpKSxudWxsIT09ZS5ncmFwaF9leGVjdXRpb25fdHJhY2VfaW5kZXgmJihkPWUuZ3JhcGhfZXhlY3V0aW9uX3RyYWNlX2luZGV4KX1yZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtleGVjdXRpb25zOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmV4ZWN1dGlvbnMpLHtzY3JvbGxCZWdpbkluZGV4OmN9KSxncmFwaEV4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhFeGVjdXRpb25zKSx7Zm9jdXNJbmRleDpkfSksYWxlcnRzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmFsZXJ0cykse2FsZXJ0c0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5hbGVydHMuYWxlcnRzTG9hZGVkKSx7c3RhdGU6VUUuTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpEYXRlLm5vdygpfSksbnVtQWxlcnRzOmUsYWxlcnRzQnJlYWtkb3duOm4sYWxlcnRzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmFsZXJ0cy5hbGVydHMpLHtbb106cn0pLGV4ZWN1dGlvbkluZGljZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuYWxlcnRzLmV4ZWN1dGlvbkluZGljZXMpLHtbb106c30pLGdyYXBoRXhlY3V0aW9uSW5kaWNlczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5hbGVydHMuZ3JhcGhFeGVjdXRpb25JbmRpY2VzKSx7W29dOmx9KX0pfSl9KSksQlMoelgsKCh0LHthbGVydFR5cGU6ZX0pPT57Y29uc3Qgbj1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2FsZXJ0czpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5hbGVydHMpLHtmb2N1c1R5cGU6dC5hbGVydHMuZm9jdXNUeXBlPT09ZT9udWxsOmV9KX0pLG89bi5hbGVydHMuZm9jdXNUeXBlO2lmKG51bGwhPT1vKXtjb25zdCB0PW4uYWxlcnRzLmV4ZWN1dGlvbkluZGljZXNbb118fFtdO3ZvaWQgMCE9PXRbMF0mJihuLmV4ZWN1dGlvbnM9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG4uZXhlY3V0aW9ucykse3Njcm9sbEJlZ2luSW5kZXg6TWF0aC5tYXgoMCxOdW1iZXIodFswXSktTWF0aC5mbG9vcihuLmV4ZWN1dGlvbnMuZGlzcGxheUNvdW50LzIpKX0pKX1yZXR1cm4gbn0pKSxCUyhJWCwodD0+bnVsbD09PXQuYWN0aXZlUnVuSWQ/dDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2V4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucykse251bUV4ZWN1dGlvbnNMb2FkZWQ6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucy5udW1FeGVjdXRpb25zTG9hZGVkKSx7c3RhdGU6VUUuTE9BRElOR30pfSl9KSkpLEJTKEhYLCgodCx7bnVtRXhlY3V0aW9uczplfSk9PntpZihudWxsPT09dC5hY3RpdmVSdW5JZClyZXR1cm4gdDtjb25zdCBuPWU+dC5leGVjdXRpb25zLmV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQubnVtRXhlY3V0aW9ucyxvPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7bGFzdE5vbkVtcHR5UG9sbERhdGFUaW1lTXM6bj9EYXRlLm5vdygpOnQubGFzdE5vbkVtcHR5UG9sbERhdGFUaW1lTXMsZXhlY3V0aW9uczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5leGVjdXRpb25zKSx7bnVtRXhlY3V0aW9uc0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5leGVjdXRpb25zLm51bUV4ZWN1dGlvbnNMb2FkZWQpLHtzdGF0ZTpVRS5MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOkRhdGUubm93KCl9KSxleGVjdXRpb25EaWdlc3RzTG9hZGVkOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmV4ZWN1dGlvbnMuZXhlY3V0aW9uRGlnZXN0c0xvYWRlZCkse251bUV4ZWN1dGlvbnM6ZX0pfSl9KTtyZXR1cm4gZT4wJiZudWxsPT09dC5leGVjdXRpb25zLmZvY3VzSW5kZXgmJihvLmV4ZWN1dGlvbnMuZm9jdXNJbmRleD0wKSxvfSkpLEJTKEZYLCgodCxlKT0+e2lmKG51bGw9PT10LmFjdGl2ZVJ1bklkKXJldHVybiB0O2NvbnN0IG49Wy4uLnQuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkLmxvYWRpbmdSYW5nZXNdOy0xPT09bUsobixlLmJlZ2luLGUuZW5kKSYmbi5wdXNoKHtiZWdpbjplLmJlZ2luLGVuZDplLmVuZH0pO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2V4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucykse2V4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQ6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkKSx7bG9hZGluZ1JhbmdlczpufSl9KX0pfSkpLEJTKExYLCgodCxlKT0+e2lmKG51bGw9PT10LmFjdGl2ZVJ1bklkKXJldHVybiB0O2NvbnN0IG49Wy4uLnQuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkLmxvYWRpbmdSYW5nZXNdLG89bUsobixlLmJlZ2luLGUuZW5kKTstMSE9PW8mJm4uc3BsaWNlKG8sMSk7Y29uc3QgaT1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2V4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucykse2V4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQ6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkKSx7bnVtRXhlY3V0aW9uczplLm51bV9kaWdlc3RzLGxvYWRpbmdSYW5nZXM6bn0pLGV4ZWN1dGlvbkRpZ2VzdHM6T2JqZWN0LmFzc2lnbih7fSx0LmV4ZWN1dGlvbnMuZXhlY3V0aW9uRGlnZXN0cyl9KX0pO2ZvcihsZXQgdD1lLmJlZ2luO3Q8ZS5lbmQ7Kyt0KWkuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzW3RdPWUuZXhlY3V0aW9uX2RpZ2VzdHNbdC1lLmJlZ2luXTtpZihlLmVuZD5lLmJlZ2luKXtjb25zdCBuPWUuYmVnaW4vdC5leGVjdXRpb25zLnBhZ2VTaXplO2kuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkLnBhZ2VMb2FkZWRTaXplcz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30saS5leGVjdXRpb25zLmV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQucGFnZUxvYWRlZFNpemVzKSx7W25dOmUuZW5kLWUuYmVnaW59KX1yZXR1cm4gaX0pKSxCUyhCWCwodD0+e2lmKG51bGw9PT10LmFjdGl2ZVJ1bklkKXJldHVybiB0O2xldCBlPXQuZXhlY3V0aW9ucy5zY3JvbGxCZWdpbkluZGV4O3JldHVybiBlPjAmJmUtLSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2V4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucykse3Njcm9sbEJlZ2luSW5kZXg6ZX0pfSl9KSksQlMoVlgsKHQ9PntpZihudWxsPT09dC5hY3RpdmVSdW5JZClyZXR1cm4gdDtsZXQgZT10LmV4ZWN1dGlvbnMuc2Nyb2xsQmVnaW5JbmRleDtyZXR1cm4gZSt0LmV4ZWN1dGlvbnMuZGlzcGxheUNvdW50KzE8PXQuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkLm51bUV4ZWN1dGlvbnMmJmUrKyxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2V4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucykse3Njcm9sbEJlZ2luSW5kZXg6ZX0pfSl9KSksQlMoalgsKCh0LGUpPT57aWYoZS5pbmRleDwwfHwhTnVtYmVyLmlzSW50ZWdlcihlLmluZGV4KSl0aHJvdyBuZXcgRXJyb3IoYEF0dGVtcHQgdG8gc2Nyb2xsIHRvIG5lZ2F0aXZlIG9yIG5vbi1pbnRlZ2VyIGV4ZWN1dGlvbiBpbmRleCAoJHtlLmluZGV4fSlgKTtjb25zdHtkaXNwbGF5Q291bnQ6bn09dC5leGVjdXRpb25zLHtudW1FeGVjdXRpb25zOm99PXQuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkO2lmKGUuaW5kZXg+TWF0aC5tYXgoMCxvLW4pKXRocm93IG5ldyBFcnJvcihgQXR0ZW1wdCB0byBzY3JvbGwgdG8gZXhlY3V0aW9uIGluZGV4ICgke2UuaW5kZXh9KSwgd2hpY2ggZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgaW5kZXggKG51bUV4ZWN1dGlvbnM9JHtvfTsgZGlzcGxheUNvdW50PSR7bn0pYCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZXhlY3V0aW9uczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5leGVjdXRpb25zKSx7c2Nyb2xsQmVnaW5JbmRleDplLmluZGV4fSl9KX0pKSxCUyhVWCwoKHQsZSk9Pntjb25zdCBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZXhlY3V0aW9uczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5leGVjdXRpb25zKSx7Zm9jdXNJbmRleDp0LmV4ZWN1dGlvbnMuc2Nyb2xsQmVnaW5JbmRleCtlLmRpc3BsYXlJbmRleH0pLGNvZGVMb2NhdGlvbkZvY3VzVHlwZTpjSy5FWEVDVVRJT04sc291cmNlQ29kZTpPYmplY3QuYXNzaWduKHt9LHQuc291cmNlQ29kZSl9KTtyZXR1cm4gbi5zb3VyY2VDb2RlLmZvY3VzTGluZVNwZWM9Zksobiksbn0pKSxCUyhXWCwoKHQsZSk9PntpZihudWxsPT09dC5hY3RpdmVSdW5JZClyZXR1cm4gdDtjb25zdCBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZXhlY3V0aW9uczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5leGVjdXRpb25zKSx7ZXhlY3V0aW9uRGF0YTpPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucy5leGVjdXRpb25EYXRhKX0pfSk7Zm9yKGxldCB0PWUuYmVnaW47dDxlLmVuZDsrK3Qpbi5leGVjdXRpb25zLmV4ZWN1dGlvbkRhdGFbdF09ZS5leGVjdXRpb25zW3QtZS5iZWdpbl07cmV0dXJuIG59KSksQlMoR1gsKHQ9Pm51bGw9PT10LmFjdGl2ZVJ1bklkP3Q6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtncmFwaEV4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhFeGVjdXRpb25zKSx7bnVtRXhlY3V0aW9uc0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ncmFwaEV4ZWN1dGlvbnMubnVtRXhlY3V0aW9uc0xvYWRlZCkse3N0YXRlOlVFLkxPQURJTkd9KX0pfSkpKSxCUyhZWCwoKHQse251bUdyYXBoRXhlY3V0aW9uczplfSk9PntpZihudWxsPT09dC5hY3RpdmVSdW5JZClyZXR1cm4gdDtjb25zdCBuPWU+dC5ncmFwaEV4ZWN1dGlvbnMuZXhlY3V0aW9uRGlnZXN0c0xvYWRlZC5udW1FeGVjdXRpb25zLG89T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtsYXN0Tm9uRW1wdHlQb2xsRGF0YVRpbWVNczpuP0RhdGUubm93KCk6dC5sYXN0Tm9uRW1wdHlQb2xsRGF0YVRpbWVNcyxncmFwaEV4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhFeGVjdXRpb25zKSx7bnVtRXhlY3V0aW9uc0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ncmFwaEV4ZWN1dGlvbnMubnVtRXhlY3V0aW9uc0xvYWRlZCkse3N0YXRlOlVFLkxPQURFRCxsYXN0TG9hZGVkVGltZUluTXM6RGF0ZS5ub3coKX0pLGV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQ6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhFeGVjdXRpb25zLmV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQpLHtudW1FeGVjdXRpb25zOmV9KX0pfSk7cmV0dXJuIGU+MCYmbnVsbD09PXQuZ3JhcGhFeGVjdXRpb25zLmZvY3VzSW5kZXgmJihvLmdyYXBoRXhlY3V0aW9ucy5mb2N1c0luZGV4PTApLG99KSksQlMocVgsKCh0LHtwYWdlSW5kZXg6ZX0pPT57aWYobnVsbD09PXQuYWN0aXZlUnVuSWQpcmV0dXJuIHQ7Y29uc3Qgbj10LmdyYXBoRXhlY3V0aW9ucy5ncmFwaEV4ZWN1dGlvbkRhdGFMb2FkaW5nUGFnZXMuc2xpY2UoKTtyZXR1cm4tMT09PW4uaW5kZXhPZihlKSYmbi5wdXNoKGUpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7Z3JhcGhFeGVjdXRpb25zOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmdyYXBoRXhlY3V0aW9ucykse2dyYXBoRXhlY3V0aW9uRGF0YUxvYWRpbmdQYWdlczpufSl9KX0pKSxCUyhaWCwoKHQsZSk9PntpZihudWxsPT09dC5hY3RpdmVSdW5JZClyZXR1cm4gdDtjb25zdHtwYWdlU2l6ZTpufT10LmdyYXBoRXhlY3V0aW9ucyxvPXQuZ3JhcGhFeGVjdXRpb25zLmdyYXBoRXhlY3V0aW9uRGF0YUxvYWRpbmdQYWdlcy5zbGljZSgpLGk9T2JqZWN0LmFzc2lnbih7fSx0LmdyYXBoRXhlY3V0aW9ucy5ncmFwaEV4ZWN1dGlvbkRhdGFQYWdlTG9hZGVkU2l6ZXMpLGE9T2JqZWN0LmFzc2lnbih7fSx0LmdyYXBoRXhlY3V0aW9ucy5ncmFwaEV4ZWN1dGlvbkRhdGEpO2ZvcihsZXQgdD1lLmJlZ2luO3Q8ZS5lbmQ7Kyt0KXtjb25zdCByPU1hdGguZmxvb3IodC9uKTstMSE9PW8uaW5kZXhPZihyKSYmby5zcGxpY2Uoby5pbmRleE9mKHIpLDEpLHZvaWQgMD09PWlbcl0mJihpW3JdPTApLHZvaWQgMD09PWFbdF0mJmlbcl0rKyxhW3RdPWUuZ3JhcGhfZXhlY3V0aW9uc1t0LWUuYmVnaW5dfXJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2dyYXBoRXhlY3V0aW9uczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ncmFwaEV4ZWN1dGlvbnMpLHtncmFwaEV4ZWN1dGlvbkRhdGFMb2FkaW5nUGFnZXM6byxncmFwaEV4ZWN1dGlvbkRhdGFQYWdlTG9hZGVkU2l6ZXM6aSxncmFwaEV4ZWN1dGlvbkRhdGE6YX0pfSl9KSksQlMoWFgsKCh0LGUpPT57aWYoZS5pbmRleDwwfHwhTnVtYmVyLmlzSW50ZWdlcihlLmluZGV4KSl0aHJvdyBuZXcgRXJyb3IoYEF0dGVtcHQgdG8gc2Nyb2xsIHRvIG5lZ2F0aXZlIG9yIG5vbi1pbnRlZ2VyIGdyYXBoLWV4ZWN1dGlvbiBpbmRleCAoJHtlLmluZGV4fSlgKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtncmFwaEV4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhFeGVjdXRpb25zKSx7c2Nyb2xsQmVnaW5JbmRleDplLmluZGV4fSl9KX0pKSxCUyhLWCwoKHQsZSk9PmJLKHQsZS5ncmFwaF9pZCxlLm9wX25hbWUsZS5pbmRleCkpKSxCUyhKWCwoKHQsZSk9PmJLKHQsZS5ncmFwaF9pZCxlLm9wX25hbWUpKSksQlMoUVgsKCh0LGUpPT57Y29uc3R7Z3JhcGhfaWQ6bixvcF9uYW1lOm99PWUsaT1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2dyYXBoczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ncmFwaHMpLHtsb2FkaW5nT3BzOk9iamVjdC5hc3NpZ24oe30sdC5ncmFwaHMubG9hZGluZ09wcyl9KX0pO3JldHVybiB2b2lkIDA9PT1pLmdyYXBocy5sb2FkaW5nT3BzW25dJiYoaS5ncmFwaHMubG9hZGluZ09wc1tuXT1uZXcgTWFwKSxpLmdyYXBocy5sb2FkaW5nT3BzW25dLmhhcyhvKXx8aS5ncmFwaHMubG9hZGluZ09wc1tuXS5zZXQobyxVRS5MT0FESU5HKSxpfSkpLEJTKCRYLCgodCxlKT0+e2NvbnN0e2dyYXBoT3BJbmZvUmVzcG9uc2U6bn09ZSx7Z3JhcGhfaWRzOm99PW4saT1vW28ubGVuZ3RoLTFdLGE9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtncmFwaHM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhzKSx7b3BzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmdyYXBocy5vcHMpLHtbaV06bmV3IE1hcCh0LmdyYXBocy5vcHNbaV0pfSksbG9hZGluZ09wczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ncmFwaHMubG9hZGluZ09wcykse1tpXTpuZXcgTWFwKHQuZ3JhcGhzLmxvYWRpbmdPcHNbaV0pfSl9KX0pO2Zvcihjb25zdCB0IG9mIG4uaW5wdXRzKXQuZGF0YSYmYS5ncmFwaHMub3BzW2ldLnNldCh0Lm9wX25hbWUsdC5kYXRhKTtmb3IobGV0IHQ9MDt0PG4uY29uc3VtZXJzLmxlbmd0aDsrK3QpZm9yKGNvbnN0IGUgb2Ygbi5jb25zdW1lcnNbdF0pZS5kYXRhJiZhLmdyYXBocy5vcHNbaV0uc2V0KGUub3BfbmFtZSxlLmRhdGEpO3JldHVybiBhLmdyYXBocy5vcHNbaV0uc2V0KG4ub3BfbmFtZSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sbikse2lucHV0czpuLmlucHV0cy5tYXAoKHQ9Pih7b3BfbmFtZTp0Lm9wX25hbWUsb3V0cHV0X3Nsb3Q6dC5vdXRwdXRfc2xvdH0pKSksY29uc3VtZXJzOm4uY29uc3VtZXJzLm1hcCgodD0+dC5tYXAoKHQ9Pih7b3BfbmFtZTp0Lm9wX25hbWUsaW5wdXRfc2xvdDp0LmlucHV0X3Nsb3R9KSkpKSl9KSksYS5ncmFwaHMubG9hZGluZ09wc1tpXS5zZXQobi5vcF9uYW1lLFVFLkxPQURFRCksYX0pKSxCUyh0SywodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzb3VyY2VDb2RlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNvdXJjZUNvZGUpLHtzb3VyY2VGaWxlTGlzdExvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zb3VyY2VDb2RlLnNvdXJjZUZpbGVMaXN0TG9hZGVkKSx7c3RhdGU6VUUuTE9BRElOR30pfSl9KSkpLEJTKGVLLCgodCxlKT0+e3ZhciBuO2NvbnN0IG89T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzb3VyY2VDb2RlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNvdXJjZUNvZGUpLHtzb3VyY2VGaWxlTGlzdExvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zb3VyY2VDb2RlLnNvdXJjZUZpbGVMaXN0TG9hZGVkKSx7c3RhdGU6VUUuTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpEYXRlLm5vdygpfSksc291cmNlRmlsZUxpc3Q6ZS5zb3VyY2VGaWxlcyxmaWxlQ29udGVudHM6dC5zb3VyY2VDb2RlLmZpbGVDb250ZW50cy5zbGljZSgpfSl9KSxpPWUuc291cmNlRmlsZXMubGVuZ3RoLHtmaWxlQ29udGVudHM6YX09by5zb3VyY2VDb2RlO2ZvcihsZXQgZT0wO2U8aTsrK2UpYVtlXT1udWxsIT09KG49dC5zb3VyY2VDb2RlLmZpbGVDb250ZW50c1tlXSkmJnZvaWQgMCE9PW4/bjp7bG9hZFN0YXRlOlVFLk5PVF9MT0FERUQsbGluZXM6bnVsbH07cmV0dXJuIG99KSksQlMobkssKCh0LGUpPT57Y29uc3Qgbj1kSyh0KSxvPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c291cmNlQ29kZTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zb3VyY2VDb2RlKSx7Zm9jdXNMaW5lU3BlYzplLnN0YWNrRnJhbWV9KX0pO3JldHVybiBudWxsIT09biYmKG8uc3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGU9KGZ1bmN0aW9uIGkodCxlKXtsZXQgbj0tMSxvPS0xO2lmKHQuZm9yRWFjaCgoKHtmaWxlX3BhdGg6dCxsaW5lbm86aX0sYSk9Pnt0PT09ZS5maWxlX3BhdGgmJihvPWEsaT09PWUubGluZW5vJiYobj1hKSl9KSksLTE9PT1uKXRocm93IG5ldyBFcnJvcihgU3RhY2sgZnJhbWUgJHtKU09OLnN0cmluZ2lmeShlKX0gaXMgbm90IGZvdW5kLmApO3JldHVybiBuPT09b30pKG4sZS5zdGFja0ZyYW1lKSksb30pKSxCUyhvSywoKHQsZSk9Pntjb25zdCBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c291cmNlQ29kZTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zb3VyY2VDb2RlKSx7ZmlsZUNvbnRlbnRzOnQuc291cmNlQ29kZS5maWxlQ29udGVudHMuc2xpY2UoKX0pfSksbz1wSyhuLnNvdXJjZUNvZGUuc291cmNlRmlsZUxpc3QsZSk7aWYoIShvPj0wKSl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIHRoZSBmb2xsb3dpbmcgZmlsZSBpbiBmaWxlIGxpc3Q6IGhvc3RfbmFtZT0iJHtlLmhvc3RfbmFtZX0iLCBmaWxlX3BhdGg9IiR7ZS5maWxlX3BhdGh9ImApO3JldHVybiBuLnNvdXJjZUNvZGUuZmlsZUNvbnRlbnRzLnNwbGljZShvLDEsT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG4uc291cmNlQ29kZS5maWxlQ29udGVudHNbb10pLHtsb2FkU3RhdGU6VUUuTE9BRElOR30pKSxufSkpLEJTKGlLLCgodCxlKT0+e2NvbnN0IG49T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzb3VyY2VDb2RlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNvdXJjZUNvZGUpLHtmaWxlQ29udGVudHM6dC5zb3VyY2VDb2RlLmZpbGVDb250ZW50cy5zbGljZSgpfSl9KSxvPXBLKG4uc291cmNlQ29kZS5zb3VyY2VGaWxlTGlzdCxlKTtpZighKG8+PTApKXRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgdGhlIGZvbGxvd2luZyBmaWxlIGluIGZpbGUgbGlzdDogaG9zdF9uYW1lPSIke2UuaG9zdF9uYW1lfSIsIGZpbGVfcGF0aD0iJHtlLmZpbGVfcGF0aH0iYCk7cmV0dXJuIG4uc291cmNlQ29kZS5maWxlQ29udGVudHMuc3BsaWNlKG8sMSx7bG9hZFN0YXRlOlVFLkxPQURFRCxsaW5lczplLmxpbmVzfSksbn0pKSxCUyhhSywoKHQsZSk9PntpZihudWxsPT09dC5hY3RpdmVSdW5JZClyZXR1cm4gdDtjb25zdCBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c3RhY2tGcmFtZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuc3RhY2tGcmFtZXMpLGUuc3RhY2tGcmFtZXMpLHNvdXJjZUNvZGU6T2JqZWN0LmFzc2lnbih7fSx0LnNvdXJjZUNvZGUpfSk7cmV0dXJuIG4uc291cmNlQ29kZS5mb2N1c0xpbmVTcGVjPWZLKG4pLG59KSkpO2Z1bmN0aW9uIGJLKHQsZSxuLG8pe2NvbnN0IGk9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtncmFwaHM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhzKSx7Zm9jdXNlZE9wOntncmFwaElkOmUsb3BOYW1lOm59fSksY29kZUxvY2F0aW9uRm9jdXNUeXBlOmNLLkdSQVBIX09QX0NSRUFUSU9OLHNvdXJjZUNvZGU6T2JqZWN0LmFzc2lnbih7fSx0LnNvdXJjZUNvZGUpfSk7cmV0dXJuIGkuc291cmNlQ29kZS5mb2N1c0xpbmVTcGVjPWZLKGkpLHZvaWQgMCE9PW8mJihpLmdyYXBoRXhlY3V0aW9ucz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ncmFwaEV4ZWN1dGlvbnMpLHtmb2N1c0luZGV4Om99KSksaX1mdW5jdGlvbiB5Syh0LGUpe3JldHVybiB1Syh0LGUpfWNvbnN0IF9LPV9TKHJLKSxDSz1iUyhfSywodD0+dC5ydW5zKSksTUs9YlMoX0ssKHQ9PnQucnVuc0xvYWRlZCkpLHZLPWJTKF9LLCh0PT50LmFjdGl2ZVJ1bklkKSkseEs9YlMoX0ssKHQ9PnQubGFzdERhdGFQb2xsT25zZXRUaW1lTXMtdC5sYXN0Tm9uRW1wdHlQb2xsRGF0YVRpbWVNcykpLE9LPWJTKF9LLCh0PT50LmFsZXJ0cykpLFBLPWJTKE9LLCh0PT50LmFsZXJ0c0xvYWRlZCkpLHdLPWJTKE9LLCh0PT50Lm51bUFsZXJ0cykpLGtLPWJTKE9LLCh0PT50LmZvY3VzVHlwZSkpLFNLPWJTKE9LLCh0PT5udWxsPT09dC5mb2N1c1R5cGU/MDp0LmFsZXJ0c0JyZWFrZG93blt0LmZvY3VzVHlwZV18fDApKSxESz1iUyhPSywodD0+bnVsbD09PXQuZm9jdXNUeXBlfHx2b2lkIDA9PT10LmFsZXJ0c1t0LmZvY3VzVHlwZV0/bnVsbDp0LmFsZXJ0c1t0LmZvY3VzVHlwZV0pKSxSSz1iUyhPSywodD0+dC5hbGVydHNCcmVha2Rvd24pKSxFSz1iUyhfSywodD0+dC5leGVjdXRpb25zKSksQUs9YlMoRUssKHQ9PnQubnVtRXhlY3V0aW9uc0xvYWRlZCkpLFRLPWJTKEVLLCh0PT50LmV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQpKSxOSz1iUyhFSywodD0+dC5leGVjdXRpb25EaWdlc3RzTG9hZGVkLm51bUV4ZWN1dGlvbnMpKSx6Sz1iUyhFSywodD0+dC5zY3JvbGxCZWdpbkluZGV4KSksSUs9YlMoRUssKHQ9PnQucGFnZVNpemUpKSxISz1iUyhFSywodD0+dC5kaXNwbGF5Q291bnQpKSxGSz1iUyhFSywodD0+e2NvbnN0IGU9W107Zm9yKGxldCBuPXQuc2Nyb2xsQmVnaW5JbmRleDtuPHQuc2Nyb2xsQmVnaW5JbmRleCt0LmRpc3BsYXlDb3VudDsrK24pZS5wdXNoKG4gaW4gdC5leGVjdXRpb25EaWdlc3RzP3QuZXhlY3V0aW9uRGlnZXN0c1tuXTpudWxsKTtyZXR1cm4gZX0pKSxMSz1iUyhfSywodD0+dC5ncmFwaEV4ZWN1dGlvbnMpKSxCSz1iUyhMSywodD0+dC5udW1FeGVjdXRpb25zTG9hZGVkKSksVks9YlMoX0ssKHQ9PnQuZ3JhcGhFeGVjdXRpb25zLmV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQubnVtRXhlY3V0aW9ucykpLGpLPWJTKExLLCh0PT50LnNjcm9sbEJlZ2luSW5kZXgpKSxVSz1iUyhMSywodD0+dC5kaXNwbGF5Q291bnQpKSxXSz1iUyhMSywodD0+dC5wYWdlU2l6ZSkpLEdLPWJTKExLLCh0PT50LmdyYXBoRXhlY3V0aW9uRGF0YUxvYWRpbmdQYWdlcykpLFlLPWJTKExLLCh0PT50LmdyYXBoRXhlY3V0aW9uRGF0YVBhZ2VMb2FkZWRTaXplcykpLHFLPWJTKExLLCh0PT50LmdyYXBoRXhlY3V0aW9uRGF0YSkpLFpLPWJTKExLLCh0PT50LmZvY3VzSW5kZXgpKSxYSz1iUyhfSywodD0+dC5ncmFwaHMpKSxLSz1iUyhYSywodD0+e2NvbnN0e2ZvY3VzZWRPcDplLG9wczpufT10O3JldHVybiBudWxsPT09ZXx8dm9pZCAwPT09bltlLmdyYXBoSWRdP251bGw6bltlLmdyYXBoSWRdLmdldChlLm9wTmFtZSl8fG51bGx9KSksSks9YlMoWEssKHQ9Pntjb25zdHtmb2N1c2VkT3A6ZSxvcHM6bn09dDtpZihudWxsIT09ZSYmdm9pZCAwIT09bltlLmdyYXBoSWRdJiZuW2UuZ3JhcGhJZF0uaGFzKGUub3BOYW1lKSl7Y29uc3QgdD1uW2UuZ3JhcGhJZF0se2lucHV0czpvfT10LmdldChlLm9wTmFtZSk7cmV0dXJuIG8ubWFwKChlPT57Y29uc3Qgbj1PYmplY3QuYXNzaWduKHt9LGUpO3JldHVybiB0LmhhcyhlLm9wX25hbWUpJiYobi5kYXRhPXQuZ2V0KGUub3BfbmFtZSkpLG59KSl9cmV0dXJuIG51bGx9KSksUUs9YlMoWksscUssSkssKCh0LGUsbik9PntpZihudWxsPT09dHx8bnVsbD09PW4pcmV0dXJuIG51bGw7Y29uc3Qgbz1uLm1hcCgodD0+ITEpKSxpPVtdO2lmKDA9PT1uLmxlbmd0aClyZXR1cm4gaTtjb25zdCBhPWVbdF0uZ3JhcGhfaWQscj1NYXRoLm1heCgwLHQtMjAwKTtmb3IobGV0IHM9dC0xO3M+PXI7LS1zKWlmKHZvaWQgMCE9PWVbc10pZm9yKGxldCB0PTA7dDxuLmxlbmd0aCYmKG9bdF18fGVbc10uZ3JhcGhfaWQhPT1hfHxlW3NdLm9wX25hbWUhPT1uW3RdLm9wX25hbWV8fGVbc10ub3V0cHV0X3Nsb3QhPT1uW3RdLm91dHB1dF9zbG90fHwoaS5wdXNoKHMpLG9bdF09ITAsaS5sZW5ndGghPT1uLmxlbmd0aCkpOysrdCk7cmV0dXJuIGl9KSksJEs9YlMoWEssKHQ9Pntjb25zdHtmb2N1c2VkT3A6ZSxvcHM6bn09dDtpZihudWxsIT09ZSYmdm9pZCAwIT09bltlLmdyYXBoSWRdJiZuW2UuZ3JhcGhJZF0uaGFzKGUub3BOYW1lKSl7Y29uc3QgdD1uW2UuZ3JhcGhJZF0se2NvbnN1bWVyczpvfT10LmdldChlLm9wTmFtZSk7cmV0dXJuIG8ubWFwKChlPT5lLm1hcCgoZT0+e2NvbnN0IG49T2JqZWN0LmFzc2lnbih7fSxlKTtyZXR1cm4gdC5oYXMoZS5vcF9uYW1lKSYmKG4uZGF0YT10LmdldChlLm9wX25hbWUpKSxufSkpKSl9cmV0dXJuIG51bGx9KSksdEo9YlMoX0ssKHQ9Pntjb25zdCBlPXQuZXhlY3V0aW9ucy5zY3JvbGxCZWdpbkluZGV4LG49dC5leGVjdXRpb25zLnNjcm9sbEJlZ2luSW5kZXgrdC5leGVjdXRpb25zLmRpc3BsYXlDb3VudCxvPW5ldyBBcnJheShuLWUpLmZpbGwobnVsbCksaT10LmFsZXJ0cy5mb2N1c1R5cGU7aWYobnVsbD09PWkpcmV0dXJuIG87Y29uc3QgYT10LmFsZXJ0cy5leGVjdXRpb25JbmRpY2VzW2ldO2lmKHZvaWQgMD09PWEpcmV0dXJuIG87Zm9yKGxldCBpPWU7aTxuOysraSlhLmluY2x1ZGVzKGkpJiYob1tpLWVdPXQuYWxlcnRzLmZvY3VzVHlwZSk7cmV0dXJuIG99KSksZUo9YlMoX0ssKHQ9PnQuZXhlY3V0aW9ucykpLG5KPWJTKGVKLCh0PT50LmZvY3VzSW5kZXgpKSxvSj1iUyhlSiwodD0+e2lmKG51bGw9PT10LmZvY3VzSW5kZXgpcmV0dXJuIG51bGw7Y29uc3R7Zm9jdXNJbmRleDplLHNjcm9sbEJlZ2luSW5kZXg6bixkaXNwbGF5Q291bnQ6b309dDtyZXR1cm4gZTxufHxlPj1uK28/bnVsbDplLW59KSksaUo9YlMoZUosKHQ9PnQuZXhlY3V0aW9uRGF0YSkpLGFKPWJTKF9LLCh0PT50LmdyYXBocy5sb2FkaW5nT3BzKSkscko9YlMoX0ssKHQ9PnQuc3RhY2tGcmFtZXMpKSxzSj1iUyhlSiwodD0+e2NvbnN0e2ZvY3VzSW5kZXg6ZSxleGVjdXRpb25EYXRhOm59PXQ7cmV0dXJuIG51bGw9PT1lfHx2b2lkIDA9PT1uW2VdP251bGw6bltlXX0pKSxsSj1iUyhfSyxuSixzSixLSywoKHQsZSxuLG8pPT57Y29uc3R7Y29kZUxvY2F0aW9uRm9jdXNUeXBlOml9PXQ7cmV0dXJuIG51bGw9PT1pP251bGw6aT09PWNLLkVYRUNVVElPTj9udWxsPT09ZXx8bnVsbD09PW4/bnVsbDp7Y29kZUxvY2F0aW9uVHlwZTpjSy5FWEVDVVRJT04sb3BUeXBlOm4ub3BfdHlwZSxleGVjdXRpb25JbmRleDplfTpudWxsPT09bz9udWxsOntjb2RlTG9jYXRpb25UeXBlOmNLLkdSQVBIX09QX0NSRUFUSU9OLG9wVHlwZTpvLm9wX3R5cGUsb3BOYW1lOm8ub3BfbmFtZX19KSksY0o9YlMoX0ssZEspLGRKPWJTKF9LLCh0PT50LnNvdXJjZUNvZGUpKSxwSj1iUyhkSiwodD0+dC5zb3VyY2VGaWxlTGlzdExvYWRlZCkpO2JTKGRKLCh0PT50LnNvdXJjZUZpbGVMaXN0KSk7Y29uc3QgbUo9YlMoZEosKHQ9Pntjb25zdHtzb3VyY2VGaWxlTGlzdDplLGZvY3VzTGluZVNwZWM6bn09dDtyZXR1cm4gbnVsbD09PW4/LTE6cEsoZSxuKX0pKSxmSj1iUyhkSixtSiwoKHQsZSk9Pi0xPT09ZT9udWxsOnQuZmlsZUNvbnRlbnRzW2VdfHxudWxsKSksdUo9YlMoX0ssKHQ9PnQuc291cmNlQ29kZS5mb2N1c0xpbmVTcGVjKSksZ0o9YlMoX0ssKHQ9PnQuc3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGUpKSxoSj1mdW5jdGlvbih0KXtyZXR1cm5bdF19O2Z1bmN0aW9uIGJKKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2Iiw3KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7Y29uc3Qgbj1QaSh0KS4kaW1wbGljaXQ7cmV0dXJuIHpmKCkub25Ub2dnbGVGb2N1c1R5cGUuZW1pdChuLnR5cGUpfSkpLENmKDEsImRpdiIsOCksUHUoMiksTWYoKSxDZigzLCJkaXYiLDkpLFB1KDQpLE1mKCksdmYoNSwiZGl2IiksTWYoKX1pZigyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigpO2JmKCJuZ0NsYXNzIixpeSg0LGhKLHQudHlwZT09PW4uZm9jdXNUeXBlPyJmb2N1cyI6IiIpKSxEYygyKSx3dSh0LmRpc3BsYXlOYW1lKSxEYygyKSxTdSgiICIsdC5kaXNwbGF5U3ltYm9sLCI6ICIsdC5jb3VudCwiICIpfX1jbGFzcyB5Sntjb25zdHJ1Y3Rvcigpe3RoaXMubnVtQWxlcnRzPTAsdGhpcy5hbGVydHNCcmVha2Rvd249W10sdGhpcy5mb2N1c1R5cGU9bnVsbCx0aGlzLm9uVG9nZ2xlRm9jdXNUeXBlPW5ldyBTeX19eUouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHlKKX0seUouybVjbXA9c28oe3R5cGU6eUosc2VsZWN0b3JzOltbImFsZXJ0cy1jb21wb25lbnQiXV0saW5wdXRzOntudW1BbGVydHM6Im51bUFsZXJ0cyIsYWxlcnRzQnJlYWtkb3duOiJhbGVydHNCcmVha2Rvd24iLGZvY3VzVHlwZToiZm9jdXNUeXBlIn0sb3V0cHV0czp7b25Ub2dnbGVGb2N1c1R5cGU6Im9uVG9nZ2xlRm9jdXNUeXBlIn0sZGVjbHM6MTAsdmFyczo1LGNvbnN0czpbWzEsImFsZXJ0cy1jb250YWluZXIiXSxbMSwiZGVidWdnaW5nLXRpdGxlIl0sWzEsIm51bS1hbGVydHMtY29udGFpbmVyIl0sWzEsIm51bS1hbGVydHMtbGFiZWwiXSxbMSwibnVtLWFsZXJ0cy12YWx1ZSIsMywibmdDbGFzcyJdLFsxLCJhbGVydHMtYnJlYWtkb3duLWNvbnRhaW5lciJdLFsiY2xhc3MiLCJhbGVydHMtYnJlYWtkb3duLXR5cGUiLDMsIm5nQ2xhc3MiLCJjbGljayIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzEsImFsZXJ0cy1icmVha2Rvd24tdHlwZSIsMywibmdDbGFzcyIsImNsaWNrIl0sWzEsImFsZXJ0LXR5cGUtbmFtZSJdLFsxLCJhbGVydC10eXBlLWNvdW50Il1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLENmKDEsImRpdiIsMSksUHUoMiwiRGVidWdnaW5nIiksTWYoKSxDZigzLCJkaXYiLDIpLENmKDQsImRpdiIsMyksUHUoNSwiQWxlcnRzIiksTWYoKSxDZig2LCJkaXYiLDQpLFB1KDcpLE1mKCksTWYoKSxDZig4LCJkaXYiLDUpLEhtKDksYkosNiw2LCJkaXYiLDYpLE1mKCksTWYoKSksMiZlJiYoRGMoNiksYmYoIm5nQ2xhc3MiLGl5KDMsaEosbi5udW1BbGVydHM+MD8ibm9uLXplcm8iOiIiKSksRGMoMSksa3UoIiAiLG4ubnVtQWxlcnRzLCIgIiksRGMoMiksYmYoIm5nRm9yT2YiLG4uYWxlcnRzQnJlYWtkb3duKSl9LGRpcmVjdGl2ZXM6W0N2LHh2XSxzdHlsZXM6WyIuYWxlcnRzLWJyZWFrZG93bi1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYWxlcnRzLWJyZWFrZG93bi10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNnB4IDAgNnB4IDUwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5hbGVydHMtYnJlYWtkb3duLXR5cGUuZm9jdXNbX25nY29udGVudC0lQ09NUCVdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWVlMDtcbn1cblxuLmFsZXJ0cy1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xufVxuXG4uYWxlcnQtdHlwZS1jb3VudFtfbmdjb250ZW50LSVDT01QJV0ge1xuICBcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1MjU5MjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAzcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5hbGVydC10eXBlLW5hbWVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAzcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5kZWJ1Z2dpbmctdGl0bGVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ubnVtLWFsZXJ0cy1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm51bS1hbGVydHMtbGFiZWxbX25nY29udGVudC0lQ09NUCVdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi5udW0tYWxlcnRzLXZhbHVlW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjRweDtcbn1cblxuLm51bS1hbGVydHMtdmFsdWUubm9uLXplcm9bX25nY29udGVudC0lQ09NUCVdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYjc4MDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHlKLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFsZXJ0cy1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL2FsZXJ0c19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9hbGVydHNfY29tcG9uZW50LmNzcyJdfV19XSxudWxsLHtudW1BbGVydHM6W3t0eXBlOlJffV0sYWxlcnRzQnJlYWtkb3duOlt7dHlwZTpSX31dLGZvY3VzVHlwZTpbe3R5cGU6Ul99XSxvblRvZ2dsZUZvY3VzVHlwZTpbe3R5cGU6RV99XX0pO2NvbnN0IF9KPXtbbEsuRlVOQ1RJT05fUkVDT01QSUxFX0FMRVJUXTp7ZGlzcGxheU5hbWU6IkZ1bmN0aW9uIHJlY29tcGlsZXMiLGRpc3BsYXlTeW1ib2w6IkMifSxbbEsuSU5GX05BTl9BTEVSVF06e2Rpc3BsYXlOYW1lOiJOYU4v4oieIixkaXNwbGF5U3ltYm9sOiLiiJ4ifSxbbEsuVEVOU09SX1NIQVBFX0FMRVJUXTp7ZGlzcGxheU5hbWU6IlRlbnNvciBzaGFwZSIsZGlzcGxheVN5bWJvbDoi4pagIn19O2NsYXNzIENKe2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLm51bUFsZXJ0cyQ9dGhpcy5zdG9yZS5waXBlKHJTKHdLKSksdGhpcy5hbGVydHNCcmVha2Rvd24kPXRoaXMuc3RvcmUucGlwZShyUyhiUyhSSywodD0+e2NvbnN0IGU9T2JqZWN0LmtleXModCk7cmV0dXJuIGUuc29ydCgpLGUubWFwKChlPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe3R5cGU6ZX0sX0pbZV0pLHtjb3VudDp0W2VdfSkpKX0pKSkpLHRoaXMuZm9jdXNUeXBlJD10aGlzLnN0b3JlLnBpcGUoclMoa0spKX1vblRvZ2dsZUZvY3VzVHlwZSh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKHpYKHthbGVydFR5cGU6dH0pKX19Q0ouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fENKKShnZihpUykpfSxDSi7JtWNtcD1zbyh7dHlwZTpDSixzZWxlY3RvcnM6W1sidGYtZGVidWdnZXItdjItYWxlcnRzIl1dLGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsIm51bUFsZXJ0cyIsImFsZXJ0c0JyZWFrZG93biIsImZvY3VzVHlwZSIsIm9uVG9nZ2xlRm9jdXNUeXBlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJhbGVydHMtY29tcG9uZW50IiwwKSxSZigib25Ub2dnbGVGb2N1c1R5cGUiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uVG9nZ2xlRm9jdXNUeXBlKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoIm51bUFsZXJ0cyIsQ3koMSwzLG4ubnVtQWxlcnRzJCkpKCJhbGVydHNCcmVha2Rvd24iLEN5KDIsNSxuLmFsZXJ0c0JyZWFrZG93biQpKSgiZm9jdXNUeXBlIixDeSgzLDcsbi5mb2N1c1R5cGUkKSl9LGRpcmVjdGl2ZXM6W3lKXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ0osW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGYtZGVidWdnZXItdjItYWxlcnRzIix0ZW1wbGF0ZTonXG4gICAgPGFsZXJ0cy1jb21wb25lbnRcbiAgICAgIFtudW1BbGVydHNdPSJudW1BbGVydHMkIHwgYXN5bmMiXG4gICAgICBbYWxlcnRzQnJlYWtkb3duXT0iYWxlcnRzQnJlYWtkb3duJCB8IGFzeW5jIlxuICAgICAgW2ZvY3VzVHlwZV09ImZvY3VzVHlwZSQgfCBhc3luYyJcbiAgICAgIChvblRvZ2dsZUZvY3VzVHlwZSk9Im9uVG9nZ2xlRm9jdXNUeXBlKCRldmVudCkiXG4gICAgPlxuICAgIDwvYWxlcnRzLWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLG51bGwpO2NvbnN0IE1KPVsic2xpZGVyV3JhcHBlciJdLHZKPWJIKHtwYXNzaXZlOiExfSkseEo9e3Byb3ZpZGU6eFUsdXNlRXhpc3Rpbmc6JGUoKCgpPT53SikpLG11bHRpOiEwfTtjbGFzcyBPSnt9Y29uc3QgUEo9RkYoSUYoekYoY2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5fZWxlbWVudFJlZj10fX0pLCJhY2NlbnQiKSk7Y2xhc3Mgd0ogZXh0ZW5kcyBQSntjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMpe3N1cGVyKHQpLHRoaXMuX2ZvY3VzTW9uaXRvcj1lLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPW4sdGhpcy5fZGlyPW8sdGhpcy5fbmdab25lPWEsdGhpcy5fYW5pbWF0aW9uTW9kZT1zLHRoaXMuX2ludmVydD0hMSx0aGlzLl9tYXg9MTAwLHRoaXMuX21pbj0wLHRoaXMuX3N0ZXA9MSx0aGlzLl90aHVtYkxhYmVsPSExLHRoaXMuX3RpY2tJbnRlcnZhbD0wLHRoaXMuX3ZhbHVlPW51bGwsdGhpcy5fdmVydGljYWw9ITEsdGhpcy5jaGFuZ2U9bmV3IFN5LHRoaXMuaW5wdXQ9bmV3IFN5LHRoaXMudmFsdWVDaGFuZ2U9bmV3IFN5LHRoaXMub25Ub3VjaGVkPSgpPT57fSx0aGlzLl9wZXJjZW50PTAsdGhpcy5faXNTbGlkaW5nPW51bGwsdGhpcy5faXNBY3RpdmU9ITEsdGhpcy5fdGlja0ludGVydmFsUGVyY2VudD0wLHRoaXMuX3NsaWRlckRpbWVuc2lvbnM9bnVsbCx0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuPSgpPT57fSx0aGlzLl9kaXJDaGFuZ2VTdWJzY3JpcHRpb249dS5FTVBUWSx0aGlzLl9wb2ludGVyRG93bj10PT57dGhpcy5kaXNhYmxlZHx8dGhpcy5faXNTbGlkaW5nfHwha0oodCkmJjAhPT10LmJ1dHRvbnx8dGhpcy5fbmdab25lLnJ1bigoKCk9Pnt0aGlzLl90b3VjaElkPWtKKHQpPyhmdW5jdGlvbiBlKHQsbil7Zm9yKGxldCBlPTA7ZTx0LnRvdWNoZXMubGVuZ3RoO2UrKyl7Y29uc3Qgbz10LnRvdWNoZXNbZV0udGFyZ2V0O2lmKG49PT1vfHxuLmNvbnRhaW5zKG8pKXJldHVybiB0LnRvdWNoZXNbZV0uaWRlbnRpZmllcn1yZXR1cm59Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykodCx0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpOnZvaWQgMDtjb25zdCBuPVNKKHQsdGhpcy5fdG91Y2hJZCk7aWYobil7Y29uc3QgZT10aGlzLnZhbHVlO3RoaXMuX2lzU2xpZGluZz0icG9pbnRlciIsdGhpcy5fbGFzdFBvaW50ZXJFdmVudD10LHQucHJldmVudERlZmF1bHQoKSx0aGlzLl9mb2N1c0hvc3RFbGVtZW50KCksdGhpcy5fb25Nb3VzZWVudGVyKCksdGhpcy5fYmluZEdsb2JhbEV2ZW50cyh0KSx0aGlzLl9mb2N1c0hvc3RFbGVtZW50KCksdGhpcy5fdXBkYXRlVmFsdWVGcm9tUG9zaXRpb24obiksdGhpcy5fdmFsdWVPblNsaWRlU3RhcnQ9ZSxlIT10aGlzLnZhbHVlJiZ0aGlzLl9lbWl0SW5wdXRFdmVudCgpfX0pKX0sdGhpcy5fcG9pbnRlck1vdmU9dD0+e2lmKCJwb2ludGVyIj09PXRoaXMuX2lzU2xpZGluZyl7Y29uc3QgZT1TSih0LHRoaXMuX3RvdWNoSWQpO2lmKGUpe3QucHJldmVudERlZmF1bHQoKTtjb25zdCBuPXRoaXMudmFsdWU7dGhpcy5fbGFzdFBvaW50ZXJFdmVudD10LHRoaXMuX3VwZGF0ZVZhbHVlRnJvbVBvc2l0aW9uKGUpLG4hPXRoaXMudmFsdWUmJnRoaXMuX2VtaXRJbnB1dEV2ZW50KCl9fX0sdGhpcy5fcG9pbnRlclVwPXQ9PnsicG9pbnRlciI9PT10aGlzLl9pc1NsaWRpbmcmJihrSih0KSYmIm51bWJlciI9PXR5cGVvZiB0aGlzLl90b3VjaElkJiYhREoodC5jaGFuZ2VkVG91Y2hlcyx0aGlzLl90b3VjaElkKXx8KHQucHJldmVudERlZmF1bHQoKSx0aGlzLl9yZW1vdmVHbG9iYWxFdmVudHMoKSx0aGlzLl9pc1NsaWRpbmc9bnVsbCx0aGlzLl90b3VjaElkPXZvaWQgMCx0aGlzLl92YWx1ZU9uU2xpZGVTdGFydD09dGhpcy52YWx1ZXx8dGhpcy5kaXNhYmxlZHx8dGhpcy5fZW1pdENoYW5nZUV2ZW50KCksdGhpcy5fdmFsdWVPblNsaWRlU3RhcnQ9dGhpcy5fbGFzdFBvaW50ZXJFdmVudD1udWxsKSl9LHRoaXMuX3dpbmRvd0JsdXI9KCk9Pnt0aGlzLl9sYXN0UG9pbnRlckV2ZW50JiZ0aGlzLl9wb2ludGVyVXAodGhpcy5fbGFzdFBvaW50ZXJFdmVudCl9LHRoaXMuX2RvY3VtZW50PXIsdGhpcy50YWJJbmRleD1wYXJzZUludChpKXx8MCxhLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e2NvbnN0IGU9dC5uYXRpdmVFbGVtZW50O2UuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9wb2ludGVyRG93bix2SiksZS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9wb2ludGVyRG93bix2Sil9KSl9Z2V0IGludmVydCgpe3JldHVybiB0aGlzLl9pbnZlcnR9c2V0IGludmVydCh0KXt0aGlzLl9pbnZlcnQ9ZUgodCl9Z2V0IG1heCgpe3JldHVybiB0aGlzLl9tYXh9c2V0IG1heCh0KXt0aGlzLl9tYXg9bkgodCx0aGlzLl9tYXgpLHRoaXMuX3BlcmNlbnQ9dGhpcy5fY2FsY3VsYXRlUGVyY2VudGFnZSh0aGlzLl92YWx1ZSksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9Z2V0IG1pbigpe3JldHVybiB0aGlzLl9taW59c2V0IG1pbih0KXt0aGlzLl9taW49bkgodCx0aGlzLl9taW4pLHRoaXMuX3BlcmNlbnQ9dGhpcy5fY2FsY3VsYXRlUGVyY2VudGFnZSh0aGlzLl92YWx1ZSksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9Z2V0IHN0ZXAoKXtyZXR1cm4gdGhpcy5fc3RlcH1zZXQgc3RlcCh0KXt0aGlzLl9zdGVwPW5IKHQsdGhpcy5fc3RlcCksdGhpcy5fc3RlcCUxIT0wJiYodGhpcy5fcm91bmRUb0RlY2ltYWw9dGhpcy5fc3RlcC50b1N0cmluZygpLnNwbGl0KCIuIikucG9wKCkubGVuZ3RoKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX1nZXQgdGh1bWJMYWJlbCgpe3JldHVybiB0aGlzLl90aHVtYkxhYmVsfXNldCB0aHVtYkxhYmVsKHQpe3RoaXMuX3RodW1iTGFiZWw9ZUgodCl9Z2V0IHRpY2tJbnRlcnZhbCgpe3JldHVybiB0aGlzLl90aWNrSW50ZXJ2YWx9c2V0IHRpY2tJbnRlcnZhbCh0KXt0aGlzLl90aWNrSW50ZXJ2YWw9ImF1dG8iPT09dD8iYXV0byI6Im51bWJlciI9PXR5cGVvZiB0fHwic3RyaW5nIj09dHlwZW9mIHQ/bkgodCx0aGlzLl90aWNrSW50ZXJ2YWwpOjB9Z2V0IHZhbHVlKCl7cmV0dXJuIG51bGw9PT10aGlzLl92YWx1ZSYmKHRoaXMudmFsdWU9dGhpcy5fbWluKSx0aGlzLl92YWx1ZX1zZXQgdmFsdWUodCl7aWYodCE9PXRoaXMuX3ZhbHVlKXtsZXQgZT1uSCh0LDApO3RoaXMuX3JvdW5kVG9EZWNpbWFsJiZlIT09dGhpcy5taW4mJmUhPT10aGlzLm1heCYmKGU9cGFyc2VGbG9hdChlLnRvRml4ZWQodGhpcy5fcm91bmRUb0RlY2ltYWwpKSksdGhpcy5fdmFsdWU9ZSx0aGlzLl9wZXJjZW50PXRoaXMuX2NhbGN1bGF0ZVBlcmNlbnRhZ2UodGhpcy5fdmFsdWUpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfX1nZXQgdmVydGljYWwoKXtyZXR1cm4gdGhpcy5fdmVydGljYWx9c2V0IHZlcnRpY2FsKHQpe3RoaXMuX3ZlcnRpY2FsPWVIKHQpfWdldCBkaXNwbGF5VmFsdWUoKXtyZXR1cm4gdGhpcy5kaXNwbGF5V2l0aD90aGlzLmRpc3BsYXlXaXRoKHRoaXMudmFsdWUpOnRoaXMuX3JvdW5kVG9EZWNpbWFsJiZ0aGlzLnZhbHVlJiZ0aGlzLnZhbHVlJTEhPTA/dGhpcy52YWx1ZS50b0ZpeGVkKHRoaXMuX3JvdW5kVG9EZWNpbWFsKTp0aGlzLnZhbHVlfHwwfWZvY3VzKHQpe3RoaXMuX2ZvY3VzSG9zdEVsZW1lbnQodCl9Ymx1cigpe3RoaXMuX2JsdXJIb3N0RWxlbWVudCgpfWdldCBwZXJjZW50KCl7cmV0dXJuIHRoaXMuX2NsYW1wKHRoaXMuX3BlcmNlbnQpfV9zaG91bGRJbnZlcnRBeGlzKCl7cmV0dXJuIHRoaXMudmVydGljYWw/IXRoaXMuaW52ZXJ0OnRoaXMuaW52ZXJ0fV9pc01pblZhbHVlKCl7cmV0dXJuIDA9PT10aGlzLnBlcmNlbnR9X2dldFRodW1iR2FwKCl7cmV0dXJuIHRoaXMuZGlzYWJsZWQ/Nzp0aGlzLl9pc01pblZhbHVlKCkmJiF0aGlzLnRodW1iTGFiZWw/dGhpcy5faXNBY3RpdmU/MTA6NzowfV9nZXRUcmFja0JhY2tncm91bmRTdHlsZXMoKXtjb25zdCB0PXRoaXMudmVydGljYWw/YDEsICR7MS10aGlzLnBlcmNlbnR9LCAxYDoxLXRoaXMucGVyY2VudCsiLCAxLCAxIjtyZXR1cm57dHJhbnNmb3JtOmB0cmFuc2xhdGUke3RoaXMudmVydGljYWw/IlkiOiJYIn0oJHt0aGlzLl9zaG91bGRJbnZlcnRNb3VzZUNvb3JkcygpPyItIjoiIn0ke3RoaXMuX2dldFRodW1iR2FwKCl9cHgpIHNjYWxlM2QoJHt0fSlgfX1fZ2V0VHJhY2tGaWxsU3R5bGVzKCl7Y29uc3QgdD10aGlzLnBlcmNlbnQsZT10aGlzLnZlcnRpY2FsP2AxLCAke3R9LCAxYDpgJHt0fSwgMSwgMWA7cmV0dXJue3RyYW5zZm9ybTpgdHJhbnNsYXRlJHt0aGlzLnZlcnRpY2FsPyJZIjoiWCJ9KCR7dGhpcy5fc2hvdWxkSW52ZXJ0TW91c2VDb29yZHMoKT8iIjoiLSJ9JHt0aGlzLl9nZXRUaHVtYkdhcCgpfXB4KSBzY2FsZTNkKCR7ZX0pYCxkaXNwbGF5OjA9PT10PyJub25lIjoiIn19X2dldFRpY2tzQ29udGFpbmVyU3R5bGVzKCl7cmV0dXJue3RyYW5zZm9ybTpgdHJhbnNsYXRlJHt0aGlzLnZlcnRpY2FsPyJZIjoiWCJ9KCR7dGhpcy52ZXJ0aWNhbHx8InJ0bCIhPXRoaXMuX2dldERpcmVjdGlvbigpPyItIjoiIn0ke3RoaXMuX3RpY2tJbnRlcnZhbFBlcmNlbnQvMioxMDB9JSlgfX1fZ2V0VGlja3NTdHlsZXMoKXtsZXQgdD0xMDAqdGhpcy5fdGlja0ludGVydmFsUGVyY2VudCxlPXtiYWNrZ3JvdW5kU2l6ZTp0aGlzLnZlcnRpY2FsP2AycHggJHt0fSVgOmAke3R9JSAycHhgLHRyYW5zZm9ybTpgdHJhbnNsYXRlWigwKSB0cmFuc2xhdGUke3RoaXMudmVydGljYWw/IlkiOiJYIn0oJHt0aGlzLnZlcnRpY2FsfHwicnRsIiE9dGhpcy5fZ2V0RGlyZWN0aW9uKCk/IiI6Ii0ifSR7dC8yfSUpJHt0aGlzLnZlcnRpY2FsfHwicnRsIiE9dGhpcy5fZ2V0RGlyZWN0aW9uKCk/IiI6IiByb3RhdGUoMTgwZGVnKSJ9YH07aWYodGhpcy5faXNNaW5WYWx1ZSgpJiZ0aGlzLl9nZXRUaHVtYkdhcCgpKXtjb25zdCB0PXRoaXMuX3Nob3VsZEludmVydEF4aXMoKTtsZXQgbjtuPXRoaXMudmVydGljYWw/dD8iQm90dG9tIjoiVG9wIjp0PyJSaWdodCI6IkxlZnQiLGVbYHBhZGRpbmcke259YF09YCR7dGhpcy5fZ2V0VGh1bWJHYXAoKX1weGB9cmV0dXJuIGV9X2dldFRodW1iQ29udGFpbmVyU3R5bGVzKCl7Y29uc3QgdD10aGlzLl9zaG91bGRJbnZlcnRBeGlzKCk7cmV0dXJue3RyYW5zZm9ybTpgdHJhbnNsYXRlJHt0aGlzLnZlcnRpY2FsPyJZIjoiWCJ9KC0kezEwMCooKCJydGwiIT10aGlzLl9nZXREaXJlY3Rpb24oKXx8dGhpcy52ZXJ0aWNhbD90OiF0KT90aGlzLnBlcmNlbnQ6MS10aGlzLnBlcmNlbnQpfSUpYH19X3Nob3VsZEludmVydE1vdXNlQ29vcmRzKCl7Y29uc3QgdD10aGlzLl9zaG91bGRJbnZlcnRBeGlzKCk7cmV0dXJuInJ0bCIhPXRoaXMuX2dldERpcmVjdGlvbigpfHx0aGlzLnZlcnRpY2FsP3Q6IXR9X2dldERpcmVjdGlvbigpe3JldHVybiB0aGlzLl9kaXImJiJydGwiPT10aGlzLl9kaXIudmFsdWU/InJ0bCI6Imx0ciJ9bmdBZnRlclZpZXdJbml0KCl7dGhpcy5fZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5fZWxlbWVudFJlZiwhMCkuc3Vic2NyaWJlKCh0PT57dGhpcy5faXNBY3RpdmU9ISF0JiYia2V5Ym9hcmQiIT09dCx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCl9KSksdGhpcy5fZGlyJiYodGhpcy5fZGlyQ2hhbmdlU3Vic2NyaXB0aW9uPXRoaXMuX2Rpci5jaGFuZ2Uuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfSkpKX1uZ09uRGVzdHJveSgpe2NvbnN0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9wb2ludGVyRG93bix2SiksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9wb2ludGVyRG93bix2SiksdGhpcy5fbGFzdFBvaW50ZXJFdmVudD1udWxsLHRoaXMuX3JlbW92ZUdsb2JhbEV2ZW50cygpLHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKSx0aGlzLl9kaXJDaGFuZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX1fb25Nb3VzZWVudGVyKCl7dGhpcy5kaXNhYmxlZHx8KHRoaXMuX3NsaWRlckRpbWVuc2lvbnM9dGhpcy5fZ2V0U2xpZGVyRGltZW5zaW9ucygpLHRoaXMuX3VwZGF0ZVRpY2tJbnRlcnZhbFBlcmNlbnQoKSl9X29uRm9jdXMoKXt0aGlzLl9zbGlkZXJEaW1lbnNpb25zPXRoaXMuX2dldFNsaWRlckRpbWVuc2lvbnMoKSx0aGlzLl91cGRhdGVUaWNrSW50ZXJ2YWxQZXJjZW50KCl9X29uQmx1cigpe3RoaXMub25Ub3VjaGVkKCl9X29uS2V5ZG93bih0KXtpZih0aGlzLmRpc2FibGVkfHx0SCh0KXx8dGhpcy5faXNTbGlkaW5nJiYia2V5Ym9hcmQiIT09dGhpcy5faXNTbGlkaW5nKXJldHVybjtjb25zdCBlPXRoaXMudmFsdWU7c3dpdGNoKHQua2V5Q29kZSl7Y2FzZSAzMzp0aGlzLl9pbmNyZW1lbnQoMTApO2JyZWFrO2Nhc2UgMzQ6dGhpcy5faW5jcmVtZW50KC0xMCk7YnJlYWs7Y2FzZSAzNTp0aGlzLnZhbHVlPXRoaXMubWF4O2JyZWFrO2Nhc2UgMzY6dGhpcy52YWx1ZT10aGlzLm1pbjticmVhaztjYXNlIDM3OnRoaXMuX2luY3JlbWVudCgicnRsIj09dGhpcy5fZ2V0RGlyZWN0aW9uKCk/MTotMSk7YnJlYWs7Y2FzZSBRSTp0aGlzLl9pbmNyZW1lbnQoMSk7YnJlYWs7Y2FzZSAzOTp0aGlzLl9pbmNyZW1lbnQoInJ0bCI9PXRoaXMuX2dldERpcmVjdGlvbigpPy0xOjEpO2JyZWFrO2Nhc2UgJEk6dGhpcy5faW5jcmVtZW50KC0xKTticmVhaztkZWZhdWx0OnJldHVybn1lIT10aGlzLnZhbHVlJiYodGhpcy5fZW1pdElucHV0RXZlbnQoKSx0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKSksdGhpcy5faXNTbGlkaW5nPSJrZXlib2FyZCIsdC5wcmV2ZW50RGVmYXVsdCgpfV9vbktleXVwKCl7ImtleWJvYXJkIj09PXRoaXMuX2lzU2xpZGluZyYmKHRoaXMuX2lzU2xpZGluZz1udWxsKX1fZ2V0V2luZG93KCl7cmV0dXJuIHRoaXMuX2RvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3d9X2JpbmRHbG9iYWxFdmVudHModCl7Y29uc3QgZT10aGlzLl9kb2N1bWVudCxuPWtKKHQpLG89bj8idG91Y2hlbmQiOiJtb3VzZXVwIjtlLmFkZEV2ZW50TGlzdGVuZXIobj8idG91Y2htb3ZlIjoibW91c2Vtb3ZlIix0aGlzLl9wb2ludGVyTW92ZSx2SiksZS5hZGRFdmVudExpc3RlbmVyKG8sdGhpcy5fcG9pbnRlclVwLHZKKSxuJiZlLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoY2FuY2VsIix0aGlzLl9wb2ludGVyVXAsdkopO2NvbnN0IGk9dGhpcy5fZ2V0V2luZG93KCk7dm9pZCAwIT09aSYmaSYmaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl93aW5kb3dCbHVyKX1fcmVtb3ZlR2xvYmFsRXZlbnRzKCl7Y29uc3QgdD10aGlzLl9kb2N1bWVudDt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fcG9pbnRlck1vdmUsdkopLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fcG9pbnRlclVwLHZKKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fcG9pbnRlck1vdmUsdkopLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3BvaW50ZXJVcCx2SiksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGNhbmNlbCIsdGhpcy5fcG9pbnRlclVwLHZKKTtjb25zdCBlPXRoaXMuX2dldFdpbmRvdygpO3ZvaWQgMCE9PWUmJmUmJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fd2luZG93Qmx1cil9X2luY3JlbWVudCh0KXt0aGlzLnZhbHVlPXRoaXMuX2NsYW1wKCh0aGlzLnZhbHVlfHwwKSt0aGlzLnN0ZXAqdCx0aGlzLm1pbix0aGlzLm1heCl9X3VwZGF0ZVZhbHVlRnJvbVBvc2l0aW9uKHQpe2lmKCF0aGlzLl9zbGlkZXJEaW1lbnNpb25zKXJldHVybjtsZXQgZT10aGlzLl9jbGFtcCgoKHRoaXMudmVydGljYWw/dC55OnQueCktKHRoaXMudmVydGljYWw/dGhpcy5fc2xpZGVyRGltZW5zaW9ucy50b3A6dGhpcy5fc2xpZGVyRGltZW5zaW9ucy5sZWZ0KSkvKHRoaXMudmVydGljYWw/dGhpcy5fc2xpZGVyRGltZW5zaW9ucy5oZWlnaHQ6dGhpcy5fc2xpZGVyRGltZW5zaW9ucy53aWR0aCkpO2lmKHRoaXMuX3Nob3VsZEludmVydE1vdXNlQ29vcmRzKCkmJihlPTEtZSksMD09PWUpdGhpcy52YWx1ZT10aGlzLm1pbjtlbHNlIGlmKDE9PT1lKXRoaXMudmFsdWU9dGhpcy5tYXg7ZWxzZXtjb25zdCB0PXRoaXMuX2NhbGN1bGF0ZVZhbHVlKGUpLG49TWF0aC5yb3VuZCgodC10aGlzLm1pbikvdGhpcy5zdGVwKSp0aGlzLnN0ZXArdGhpcy5taW47dGhpcy52YWx1ZT10aGlzLl9jbGFtcChuLHRoaXMubWluLHRoaXMubWF4KX19X2VtaXRDaGFuZ2VFdmVudCgpe3RoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4odGhpcy52YWx1ZSksdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpLHRoaXMuY2hhbmdlLmVtaXQodGhpcy5fY3JlYXRlQ2hhbmdlRXZlbnQoKSl9X2VtaXRJbnB1dEV2ZW50KCl7dGhpcy5pbnB1dC5lbWl0KHRoaXMuX2NyZWF0ZUNoYW5nZUV2ZW50KCkpfV91cGRhdGVUaWNrSW50ZXJ2YWxQZXJjZW50KCl7aWYodGhpcy50aWNrSW50ZXJ2YWwmJnRoaXMuX3NsaWRlckRpbWVuc2lvbnMpaWYoImF1dG8iPT10aGlzLnRpY2tJbnRlcnZhbCl7bGV0IHQ9dGhpcy52ZXJ0aWNhbD90aGlzLl9zbGlkZXJEaW1lbnNpb25zLmhlaWdodDp0aGlzLl9zbGlkZXJEaW1lbnNpb25zLndpZHRoLGU9TWF0aC5jZWlsKDMwLyh0KnRoaXMuc3RlcC8odGhpcy5tYXgtdGhpcy5taW4pKSk7dGhpcy5fdGlja0ludGVydmFsUGVyY2VudD1lKnRoaXMuc3RlcC90fWVsc2UgdGhpcy5fdGlja0ludGVydmFsUGVyY2VudD10aGlzLnRpY2tJbnRlcnZhbCp0aGlzLnN0ZXAvKHRoaXMubWF4LXRoaXMubWluKX1fY3JlYXRlQ2hhbmdlRXZlbnQodD10aGlzLnZhbHVlKXtsZXQgZT1uZXcgT0o7cmV0dXJuIGUuc291cmNlPXRoaXMsZS52YWx1ZT10LGV9X2NhbGN1bGF0ZVBlcmNlbnRhZ2UodCl7cmV0dXJuKCh0fHwwKS10aGlzLm1pbikvKHRoaXMubWF4LXRoaXMubWluKX1fY2FsY3VsYXRlVmFsdWUodCl7cmV0dXJuIHRoaXMubWluK3QqKHRoaXMubWF4LXRoaXMubWluKX1fY2xhbXAodCxlPTAsbj0xKXtyZXR1cm4gTWF0aC5tYXgoZSxNYXRoLm1pbih0LG4pKX1fZ2V0U2xpZGVyRGltZW5zaW9ucygpe3JldHVybiB0aGlzLl9zbGlkZXJXcmFwcGVyP3RoaXMuX3NsaWRlcldyYXBwZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTpudWxsfV9mb2N1c0hvc3RFbGVtZW50KHQpe3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cyh0KX1fYmx1ckhvc3RFbGVtZW50KCl7dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmJsdXIoKX13cml0ZVZhbHVlKHQpe3RoaXMudmFsdWU9dH1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm49dH1yZWdpc3Rlck9uVG91Y2hlZCh0KXt0aGlzLm9uVG91Y2hlZD10fXNldERpc2FibGVkU3RhdGUodCl7dGhpcy5kaXNhYmxlZD10fX1mdW5jdGlvbiBrSih0KXtyZXR1cm4idCI9PT10LnR5cGVbMF19ZnVuY3Rpb24gU0oodCxlKXtsZXQgbjtyZXR1cm4gbj1rSih0KT8ibnVtYmVyIj09dHlwZW9mIGU/REoodC50b3VjaGVzLGUpfHxESih0LmNoYW5nZWRUb3VjaGVzLGUpOnQudG91Y2hlc1swXXx8dC5jaGFuZ2VkVG91Y2hlc1swXTp0LG4/e3g6bi5jbGllbnRYLHk6bi5jbGllbnRZfTp2b2lkIDB9ZnVuY3Rpb24gREoodCxlKXtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKylpZih0W25dLmlkZW50aWZpZXI9PT1lKXJldHVybiB0W25dfXdKLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx3SikoZ2YoS2gpLGdmKGZGKSxnZihPYiksZ2YodkYsOCksR2EoInRhYmluZGV4IiksZ2YobUMpLGdmKHNNKSxnZihjayw4KSl9LHdKLsm1Y21wPXNvKHt0eXBlOndKLHNlbGVjdG9yczpbWyJtYXQtc2xpZGVyIl1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeShNSiw1KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLl9zbGlkZXJXcmFwcGVyPXQuZmlyc3QpfX0saG9zdEF0dHJzOlsicm9sZSIsInNsaWRlciIsMSwibWF0LXNsaWRlciIsIm1hdC1mb2N1cy1pbmRpY2F0b3IiXSxob3N0VmFyczoyOSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImZvY3VzIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9vbkZvY3VzKCl9KSkoImJsdXIiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX29uQmx1cigpfSkpKCJrZXlkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5fb25LZXlkb3duKGUpfSkpKCJrZXl1cCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fb25LZXl1cCgpfSkpKCJtb3VzZWVudGVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9vbk1vdXNlZW50ZXIoKX0pKSgic2VsZWN0c3RhcnQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBlLnByZXZlbnREZWZhdWx0KCl9KSksMiZlJiYoY2coInRhYkluZGV4IixuLnRhYkluZGV4KSx5bSgiYXJpYS1kaXNhYmxlZCIsbi5kaXNhYmxlZCkoImFyaWEtdmFsdWVtYXgiLG4ubWF4KSgiYXJpYS12YWx1ZW1pbiIsbi5taW4pKCJhcmlhLXZhbHVlbm93IixuLnZhbHVlKSgiYXJpYS12YWx1ZXRleHQiLG51bGw9PW4udmFsdWVUZXh0P24uZGlzcGxheVZhbHVlOm4udmFsdWVUZXh0KSgiYXJpYS1vcmllbnRhdGlvbiIsbi52ZXJ0aWNhbD8idmVydGljYWwiOiJob3Jpem9udGFsIiksY3UoIm1hdC1zbGlkZXItZGlzYWJsZWQiLG4uZGlzYWJsZWQpKCJtYXQtc2xpZGVyLWhhcy10aWNrcyIsbi50aWNrSW50ZXJ2YWwpKCJtYXQtc2xpZGVyLWhvcml6b250YWwiLCFuLnZlcnRpY2FsKSgibWF0LXNsaWRlci1heGlzLWludmVydGVkIixuLl9zaG91bGRJbnZlcnRBeGlzKCkpKCJtYXQtc2xpZGVyLWludmVydC1tb3VzZS1jb29yZHMiLG4uX3Nob3VsZEludmVydE1vdXNlQ29vcmRzKCkpKCJtYXQtc2xpZGVyLXNsaWRpbmciLG4uX2lzU2xpZGluZykoIm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyIsbi50aHVtYkxhYmVsKSgibWF0LXNsaWRlci12ZXJ0aWNhbCIsbi52ZXJ0aWNhbCkoIm1hdC1zbGlkZXItbWluLXZhbHVlIixuLl9pc01pblZhbHVlKCkpKCJtYXQtc2xpZGVyLWhpZGUtbGFzdC10aWNrIixuLmRpc2FibGVkfHxuLl9pc01pblZhbHVlKCkmJm4uX2dldFRodW1iR2FwKCkmJm4uX3Nob3VsZEludmVydEF4aXMoKSkoIl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIiwiTm9vcEFuaW1hdGlvbnMiPT09bi5fYW5pbWF0aW9uTW9kZSkpfSxpbnB1dHM6e2Rpc2FibGVkOiJkaXNhYmxlZCIsY29sb3I6ImNvbG9yIix0YWJJbmRleDoidGFiSW5kZXgiLGludmVydDoiaW52ZXJ0IixtYXg6Im1heCIsbWluOiJtaW4iLHN0ZXA6InN0ZXAiLHRodW1iTGFiZWw6InRodW1iTGFiZWwiLHRpY2tJbnRlcnZhbDoidGlja0ludGVydmFsIix2YWx1ZToidmFsdWUiLHZlcnRpY2FsOiJ2ZXJ0aWNhbCIsZGlzcGxheVdpdGg6ImRpc3BsYXlXaXRoIix2YWx1ZVRleHQ6InZhbHVlVGV4dCJ9LG91dHB1dHM6e2NoYW5nZToiY2hhbmdlIixpbnB1dDoiaW5wdXQiLHZhbHVlQ2hhbmdlOiJ2YWx1ZUNoYW5nZSJ9LGV4cG9ydEFzOlsibWF0U2xpZGVyIl0sZmVhdHVyZXM6W2poKFt4Sl0pLFFwXSxkZWNsczoxMyx2YXJzOjYsY29uc3RzOltbMSwibWF0LXNsaWRlci13cmFwcGVyIl0sWyJzbGlkZXJXcmFwcGVyIiwiIl0sWzEsIm1hdC1zbGlkZXItdHJhY2std3JhcHBlciJdLFsxLCJtYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQiLDMsIm5nU3R5bGUiXSxbMSwibWF0LXNsaWRlci10cmFjay1maWxsIiwzLCJuZ1N0eWxlIl0sWzEsIm1hdC1zbGlkZXItdGlja3MtY29udGFpbmVyIiwzLCJuZ1N0eWxlIl0sWzEsIm1hdC1zbGlkZXItdGlja3MiLDMsIm5nU3R5bGUiXSxbMSwibWF0LXNsaWRlci10aHVtYi1jb250YWluZXIiLDMsIm5nU3R5bGUiXSxbMSwibWF0LXNsaWRlci1mb2N1cy1yaW5nIl0sWzEsIm1hdC1zbGlkZXItdGh1bWIiXSxbMSwibWF0LXNsaWRlci10aHVtYi1sYWJlbCJdLFsxLCJtYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCwxKSxDZigyLCJkaXYiLDIpLHZmKDMsImRpdiIsMyksdmYoNCwiZGl2Iiw0KSxNZigpLENmKDUsImRpdiIsNSksdmYoNiwiZGl2Iiw2KSxNZigpLENmKDcsImRpdiIsNyksdmYoOCwiZGl2Iiw4KSx2Zig5LCJkaXYiLDkpLENmKDEwLCJkaXYiLDEwKSxDZigxMSwic3BhbiIsMTEpLFB1KDEyKSxNZigpLE1mKCksTWYoKSxNZigpKSwyJmUmJihEYygzKSxiZigibmdTdHlsZSIsbi5fZ2V0VHJhY2tCYWNrZ3JvdW5kU3R5bGVzKCkpLERjKDEpLGJmKCJuZ1N0eWxlIixuLl9nZXRUcmFja0ZpbGxTdHlsZXMoKSksRGMoMSksYmYoIm5nU3R5bGUiLG4uX2dldFRpY2tzQ29udGFpbmVyU3R5bGVzKCkpLERjKDEpLGJmKCJuZ1N0eWxlIixuLl9nZXRUaWNrc1N0eWxlcygpKSxEYygxKSxiZigibmdTdHlsZSIsbi5fZ2V0VGh1bWJDb250YWluZXJTdHlsZXMoKSksRGMoNSksd3Uobi5kaXNwbGF5VmFsdWUpKX0sZGlyZWN0aXZlczpbenZdLHN0eWxlczpbJy5tYXQtc2xpZGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjhweDtvdXRsaW5lOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCk6YWN0aXZlLC5tYXQtc2xpZGVyLm1hdC1zbGlkZXItc2xpZGluZzpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpe2N1cnNvcjotd2Via2l0LWdyYWJiaW5nO2N1cnNvcjpncmFiYmluZ30ubWF0LXNsaWRlci13cmFwcGVyey13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OmV4YWN0O2NvbG9yLWFkanVzdDpleGFjdDtwb3NpdGlvbjphYnNvbHV0ZX0ubWF0LXNsaWRlci10cmFjay13cmFwcGVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtvdmVyZmxvdzpoaWRkZW59Lm1hdC1zbGlkZXItdHJhY2stZmlsbHtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm0tb3JpZ2luOjAgMDt0cmFuc2l0aW9uOnRyYW5zZm9ybSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDEwMCU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYmFja2dyb3VuZC1jb2xvciA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0ubWF0LXNsaWRlci10aWNrcy1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO292ZXJmbG93OmhpZGRlbn0ubWF0LXNsaWRlci10aWNrc3std2Via2l0LWJhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0O2JveC1zaXppbmc6Ym9yZGVyLWJveDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtc2xpZGVyLXRodW1iLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjE7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1zbGlkZXItZm9jdXMtcmluZ3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDozMHB4O2hlaWdodDozMHB4O2JvcmRlci1yYWRpdXM6NTAlO3RyYW5zZm9ybTpzY2FsZSgwKTtvcGFjaXR5OjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYmFja2dyb3VuZC1jb2xvciA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtc2xpZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcsLm1hdC1zbGlkZXIuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LXNsaWRlci1mb2N1cy1yaW5ne3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9Lm1hdC1zbGlkZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKTpub3QoLm1hdC1zbGlkZXItc2xpZGluZykgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwsLm1hdC1zbGlkZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKTpub3QoLm1hdC1zbGlkZXItc2xpZGluZykgLm1hdC1zbGlkZXItdGh1bWJ7Y3Vyc29yOi13ZWJraXQtZ3JhYjtjdXJzb3I6Z3JhYn0ubWF0LXNsaWRlci10aHVtYntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMTBweDtib3R0b206LTEwcHg7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyOjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMC43KTt0cmFuc2l0aW9uOnRyYW5zZm9ybSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJvcmRlci1jb2xvciA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0ubWF0LXNsaWRlci10aHVtYi1sYWJlbHtkaXNwbGF5Om5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2l0aW9uOnRyYW5zZm9ybSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxib3JkZXItcmFkaXVzIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtvdXRsaW5lOnNvbGlkIDFweH0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e3otaW5kZXg6MTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtc2xpZGVyLXNsaWRpbmcgLm1hdC1zbGlkZXItdHJhY2stZmlsbCwubWF0LXNsaWRlci1zbGlkaW5nIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsLm1hdC1zbGlkZXItc2xpZGluZyAubWF0LXNsaWRlci10aHVtYi1jb250YWluZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjowbXN9Lm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXdpZHRoOjA7Ym9yZGVyLXN0eWxlOnNvbGlkO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1zbGlkZXItaGFzLXRpY2tzLmNkay1mb2N1c2VkOm5vdCgubWF0LXNsaWRlci1oaWRlLWxhc3QtdGljaykgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXIsLm1hdC1zbGlkZXItaGFzLXRpY2tzOmhvdmVyOm5vdCgubWF0LXNsaWRlci1oaWRlLWxhc3QtdGljaykgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXJ7b3BhY2l0eToxfS5tYXQtc2xpZGVyLWhhcy10aWNrcy5jZGstZm9jdXNlZDpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpIC5tYXQtc2xpZGVyLXRpY2tzLC5tYXQtc2xpZGVyLWhhcy10aWNrczpob3Zlcjpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpIC5tYXQtc2xpZGVyLXRpY2tze29wYWNpdHk6MX0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7ZGlzcGxheTpub25lfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7ZGlzcGxheTpmbGV4fS5tYXQtc2xpZGVyLWF4aXMtaW52ZXJ0ZWQgLm1hdC1zbGlkZXItdHJhY2stZmlsbHt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMTAwJX0ubWF0LXNsaWRlci1heGlzLWludmVydGVkIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7dHJhbnNmb3JtLW9yaWdpbjowIDB9Lm1hdC1zbGlkZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKS5jZGstZm9jdXNlZC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcgLm1hdC1zbGlkZXItdGh1bWJ7dHJhbnNmb3JtOnNjYWxlKDApfS5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCkuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7Ym9yZGVyLXJhZGl1czo1MCUgNTAlIDB9Lm1hdC1zbGlkZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKS5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e29wYWNpdHk6MX0ubWF0LXNsaWRlcjpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpLmNkay1tb3VzZS1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCkuY2RrLXRvdWNoLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKS5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1ie2JvcmRlci13aWR0aDoycHg7dHJhbnNmb3JtOnNjYWxlKDEpfS5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7dHJhbnNmb3JtOnNjYWxlKDApO29wYWNpdHk6MH0ubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItd2lkdGg6NHB4O3RyYW5zZm9ybTpzY2FsZSgwLjUpfS5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2Rpc3BsYXk6bm9uZX0ubWF0LXNsaWRlci1ob3Jpem9udGFse2hlaWdodDo0OHB4O21pbi13aWR0aDoxMjhweH0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXdyYXBwZXJ7aGVpZ2h0OjJweDt0b3A6MjNweDtsZWZ0OjhweDtyaWdodDo4cHh9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci13cmFwcGVyOjphZnRlcntoZWlnaHQ6MnB4O2JvcmRlci1sZWZ0LXdpZHRoOjJweDtyaWdodDowO3RvcDowfS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdHJhY2std3JhcHBlcntoZWlnaHQ6MnB4O3dpZHRoOjEwMCV9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10cmFjay1maWxse2hlaWdodDoycHg7d2lkdGg6MTAwJTt0cmFuc2Zvcm06c2NhbGVYKDApfS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHtoZWlnaHQ6MnB4O3dpZHRoOjEwMCU7dHJhbnNmb3JtOnNjYWxlWCgxKX0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tzLWNvbnRhaW5lcntoZWlnaHQ6MnB4O3dpZHRoOjEwMCV9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tzLWNvbnRhaW5lcntoZWlnaHQ6MDtvdXRsaW5lOnNvbGlkIDJweDt0b3A6MXB4fS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdGlja3N7aGVpZ2h0OjJweDt3aWR0aDoxMDAlfS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdGh1bWItY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjA7dG9wOjUwJX0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7dG9wOi0xNXB4O3JpZ2h0Oi0xNXB4fS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7cmlnaHQ6LTE0cHg7dG9wOi00MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVZKDI2cHgpIHNjYWxlKDAuMDEpIHJvdGF0ZSg0NWRlZyl9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX0ubWF0LXNsaWRlci1ob3Jpem9udGFsLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbGlkZXItaG9yaXpvbnRhbC5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbCwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc2xpZGVyLWhvcml6b250YWwuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHt0cmFuc2Zvcm06bm9uZX0ubWF0LXNsaWRlci12ZXJ0aWNhbHt3aWR0aDo0OHB4O21pbi1oZWlnaHQ6MTI4cHh9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItd3JhcHBlcnt3aWR0aDoycHg7dG9wOjhweDtib3R0b206OHB4O2xlZnQ6MjNweH0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci13cmFwcGVyOjphZnRlcnt3aWR0aDoycHg7Ym9yZGVyLXRvcC13aWR0aDoycHg7Ym90dG9tOjA7bGVmdDowfS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRyYWNrLXdyYXBwZXJ7aGVpZ2h0OjEwMCU7d2lkdGg6MnB4fS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGx7aGVpZ2h0OjEwMCU7d2lkdGg6MnB4O3RyYW5zZm9ybTpzY2FsZVkoMCl9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHtoZWlnaHQ6MTAwJTt3aWR0aDoycHg7dHJhbnNmb3JtOnNjYWxlWSgxKX0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aWNrcy1jb250YWluZXJ7d2lkdGg6MnB4O2hlaWdodDoxMDAlfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3MtY29udGFpbmVye3dpZHRoOjA7b3V0bGluZTpzb2xpZCAycHg7bGVmdDoxcHh9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItZm9jdXMtcmluZ3tib3R0b206LTE1cHg7bGVmdDotMTVweH0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aWNrc3t3aWR0aDoycHg7aGVpZ2h0OjEwMCV9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGh1bWItY29udGFpbmVye2hlaWdodDoxMDAlO3dpZHRoOjA7bGVmdDo1MCV9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGh1bWJ7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtib3R0b206LTE0cHg7bGVmdDotNDBweDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyNnB4KSBzY2FsZSgwLjAxKSByb3RhdGUoLTQ1ZGVnKX0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5tYXQtc2xpZGVyLXZlcnRpY2FsLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX1bZGlyPXJ0bF0gLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXJ7bGVmdDowO3JpZ2h0OmF1dG99W2Rpcj1ydGxdIC5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdHJhY2stZmlsbHt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMTAwJX1bZGlyPXJ0bF0gLm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke3RyYW5zZm9ybS1vcmlnaW46MCAwfVtkaXI9cnRsXSAubWF0LXNsaWRlci1ob3Jpem9udGFsLm1hdC1zbGlkZXItYXhpcy1pbnZlcnRlZCAubWF0LXNsaWRlci10cmFjay1maWxse3RyYW5zZm9ybS1vcmlnaW46MCAwfVtkaXI9cnRsXSAubWF0LXNsaWRlci1ob3Jpem9udGFsLm1hdC1zbGlkZXItYXhpcy1pbnZlcnRlZCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke3RyYW5zZm9ybS1vcmlnaW46MTAwJSAxMDAlfS5tYXQtc2xpZGVyLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCwubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci10aWNrcywubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci10aHVtYi1jb250YWluZXIsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItZm9jdXMtcmluZywubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci10aHVtYi1sYWJlbCwubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0LC5tYXQtc2xpZGVyLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtc2xpZGVyLWhhcy10aWNrcyAubWF0LXNsaWRlci13cmFwcGVyOjphZnRlcnt0cmFuc2l0aW9uOm5vbmV9XG4nXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSx3Si5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpmRn0se3R5cGU6T2J9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsidGFiaW5kZXgiXX1dfSx7dHlwZTptQ30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sd0oucHJvcERlY29yYXRvcnM9e2ludmVydDpbe3R5cGU6Ul99XSxtYXg6W3t0eXBlOlJffV0sbWluOlt7dHlwZTpSX31dLHN0ZXA6W3t0eXBlOlJffV0sdGh1bWJMYWJlbDpbe3R5cGU6Ul99XSx0aWNrSW50ZXJ2YWw6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV0sZGlzcGxheVdpdGg6W3t0eXBlOlJffV0sdmFsdWVUZXh0Olt7dHlwZTpSX31dLHZlcnRpY2FsOlt7dHlwZTpSX31dLGNoYW5nZTpbe3R5cGU6RV99XSxpbnB1dDpbe3R5cGU6RV99XSx2YWx1ZUNoYW5nZTpbe3R5cGU6RV99XSxfc2xpZGVyV3JhcHBlcjpbe3R5cGU6YXIsYXJnczpbInNsaWRlcldyYXBwZXIiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHdKLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1zbGlkZXIiLGV4cG9ydEFzOiJtYXRTbGlkZXIiLHByb3ZpZGVyczpbeEpdLGhvc3Q6eyIoZm9jdXMpIjoiX29uRm9jdXMoKSIsIihibHVyKSI6Il9vbkJsdXIoKSIsIihrZXlkb3duKSI6Il9vbktleWRvd24oJGV2ZW50KSIsIihrZXl1cCkiOiJfb25LZXl1cCgpIiwiKG1vdXNlZW50ZXIpIjoiX29uTW91c2VlbnRlcigpIiwiKHNlbGVjdHN0YXJ0KSI6IiRldmVudC5wcmV2ZW50RGVmYXVsdCgpIixjbGFzczoibWF0LXNsaWRlciBtYXQtZm9jdXMtaW5kaWNhdG9yIixyb2xlOiJzbGlkZXIiLCJbdGFiSW5kZXhdIjoidGFiSW5kZXgiLCJbYXR0ci5hcmlhLWRpc2FibGVkXSI6ImRpc2FibGVkIiwiW2F0dHIuYXJpYS12YWx1ZW1heF0iOiJtYXgiLCJbYXR0ci5hcmlhLXZhbHVlbWluXSI6Im1pbiIsIlthdHRyLmFyaWEtdmFsdWVub3ddIjoidmFsdWUiLCJbYXR0ci5hcmlhLXZhbHVldGV4dF0iOiJ2YWx1ZVRleHQgPT0gbnVsbCA/IGRpc3BsYXlWYWx1ZSA6IHZhbHVlVGV4dCIsIlthdHRyLmFyaWEtb3JpZW50YXRpb25dIjondmVydGljYWwgPyAidmVydGljYWwiIDogImhvcml6b250YWwiJywiW2NsYXNzLm1hdC1zbGlkZXItZGlzYWJsZWRdIjoiZGlzYWJsZWQiLCJbY2xhc3MubWF0LXNsaWRlci1oYXMtdGlja3NdIjoidGlja0ludGVydmFsIiwiW2NsYXNzLm1hdC1zbGlkZXItaG9yaXpvbnRhbF0iOiIhdmVydGljYWwiLCJbY2xhc3MubWF0LXNsaWRlci1heGlzLWludmVydGVkXSI6Il9zaG91bGRJbnZlcnRBeGlzKCkiLCJbY2xhc3MubWF0LXNsaWRlci1pbnZlcnQtbW91c2UtY29vcmRzXSI6Il9zaG91bGRJbnZlcnRNb3VzZUNvb3JkcygpIiwiW2NsYXNzLm1hdC1zbGlkZXItc2xpZGluZ10iOiJfaXNTbGlkaW5nIiwiW2NsYXNzLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZ10iOiJ0aHVtYkxhYmVsIiwiW2NsYXNzLm1hdC1zbGlkZXItdmVydGljYWxdIjoidmVydGljYWwiLCJbY2xhc3MubWF0LXNsaWRlci1taW4tdmFsdWVdIjoiX2lzTWluVmFsdWUoKSIsIltjbGFzcy5tYXQtc2xpZGVyLWhpZGUtbGFzdC10aWNrXSI6ImRpc2FibGVkIHx8IF9pc01pblZhbHVlKCkgJiYgX2dldFRodW1iR2FwKCkgJiYgX3Nob3VsZEludmVydEF4aXMoKSIsIltjbGFzcy5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZV0iOidfYW5pbWF0aW9uTW9kZSA9PT0gIk5vb3BBbmltYXRpb25zIid9LHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJtYXQtc2xpZGVyLXdyYXBwZXIiICNzbGlkZXJXcmFwcGVyPlxuICA8ZGl2IGNsYXNzPSJtYXQtc2xpZGVyLXRyYWNrLXdyYXBwZXIiPlxuICAgIDxkaXYgY2xhc3M9Im1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCIgW25nU3R5bGVdPSJfZ2V0VHJhY2tCYWNrZ3JvdW5kU3R5bGVzKCkiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9Im1hdC1zbGlkZXItdHJhY2stZmlsbCIgW25nU3R5bGVdPSJfZ2V0VHJhY2tGaWxsU3R5bGVzKCkiPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0ibWF0LXNsaWRlci10aWNrcy1jb250YWluZXIiIFtuZ1N0eWxlXT0iX2dldFRpY2tzQ29udGFpbmVyU3R5bGVzKCkiPlxuICAgIDxkaXYgY2xhc3M9Im1hdC1zbGlkZXItdGlja3MiIFtuZ1N0eWxlXT0iX2dldFRpY2tzU3R5bGVzKCkiPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0ibWF0LXNsaWRlci10aHVtYi1jb250YWluZXIiIFtuZ1N0eWxlXT0iX2dldFRodW1iQ29udGFpbmVyU3R5bGVzKCkiPlxuICAgIDxkaXYgY2xhc3M9Im1hdC1zbGlkZXItZm9jdXMtcmluZyI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0ibWF0LXNsaWRlci10aHVtYiI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0ibWF0LXNsaWRlci10aHVtYi1sYWJlbCI+XG4gICAgICA8c3BhbiBjbGFzcz0ibWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0Ij57e2Rpc3BsYXlWYWx1ZX19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxpbnB1dHM6WyJkaXNhYmxlZCIsImNvbG9yIiwidGFiSW5kZXgiXSxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxzdHlsZXM6WycubWF0LXNsaWRlcntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzo4cHg7b3V0bGluZTpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWF0LXNsaWRlcjpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpOmFjdGl2ZSwubWF0LXNsaWRlci5tYXQtc2xpZGVyLXNsaWRpbmc6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKXtjdXJzb3I6LXdlYmtpdC1ncmFiYmluZztjdXJzb3I6Z3JhYmJpbmd9Lm1hdC1zbGlkZXItd3JhcHBlcnstd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDpleGFjdDtjb2xvci1hZGp1c3Q6ZXhhY3Q7cG9zaXRpb246YWJzb2x1dGV9Lm1hdC1zbGlkZXItdHJhY2std3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7b3ZlcmZsb3c6aGlkZGVufS5tYXQtc2xpZGVyLXRyYWNrLWZpbGx7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYmFja2dyb3VuZC1jb2xvciA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0ubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybS1vcmlnaW46MTAwJSAxMDAlO3RyYW5zaXRpb246dHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1zbGlkZXItdGlja3MtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtvdmVyZmxvdzpoaWRkZW59Lm1hdC1zbGlkZXItdGlja3N7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0ubWF0LXNsaWRlci10aHVtYi1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxO3RyYW5zaXRpb246dHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMCk7b3BhY2l0eTowO3RyYW5zaXRpb246dHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksb3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0ubWF0LXNsaWRlci5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LXNsaWRlci1mb2N1cy1yaW5nLC5tYXQtc2xpZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1zbGlkZXItZm9jdXMtcmluZ3t0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfS5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCk6bm90KC5tYXQtc2xpZGVyLXNsaWRpbmcpIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLC5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCk6bm90KC5tYXQtc2xpZGVyLXNsaWRpbmcpIC5tYXQtc2xpZGVyLXRodW1ie2N1cnNvcjotd2Via2l0LWdyYWI7Y3Vyc29yOmdyYWJ9Lm1hdC1zbGlkZXItdGh1bWJ7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6LTEwcHg7Ym90dG9tOi0xMHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O2JvcmRlcjozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNmb3JtOnNjYWxlKDAuNyk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYmFja2dyb3VuZC1jb2xvciA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxib3JkZXItY29sb3IgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWx7ZGlzcGxheTpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYm9yZGVyLXJhZGl1cyA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7b3V0bGluZTpzb2xpZCAxcHh9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHt6LWluZGV4OjE7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0ubWF0LXNsaWRlci1zbGlkaW5nIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsLm1hdC1zbGlkZXItc2xpZGluZyAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kLC5tYXQtc2xpZGVyLXNsaWRpbmcgLm1hdC1zbGlkZXItdGh1bWItY29udGFpbmVye3RyYW5zaXRpb24tZHVyYXRpb246MG1zfS5tYXQtc2xpZGVyLWhhcy10aWNrcyAubWF0LXNsaWRlci13cmFwcGVyOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci13aWR0aDowO2JvcmRlci1zdHlsZTpzb2xpZDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtc2xpZGVyLWhhcy10aWNrcy5jZGstZm9jdXNlZDpub3QoLm1hdC1zbGlkZXItaGlkZS1sYXN0LXRpY2spIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVyLC5tYXQtc2xpZGVyLWhhcy10aWNrczpob3Zlcjpub3QoLm1hdC1zbGlkZXItaGlkZS1sYXN0LXRpY2spIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVye29wYWNpdHk6MX0ubWF0LXNsaWRlci1oYXMtdGlja3MuY2RrLWZvY3VzZWQ6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKSAubWF0LXNsaWRlci10aWNrcywubWF0LXNsaWRlci1oYXMtdGlja3M6aG92ZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKSAubWF0LXNsaWRlci10aWNrc3tvcGFjaXR5OjF9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyAubWF0LXNsaWRlci1mb2N1cy1yaW5ne2Rpc3BsYXk6bm9uZX0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2Rpc3BsYXk6ZmxleH0ubWF0LXNsaWRlci1heGlzLWludmVydGVkIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGx7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDEwMCV9Lm1hdC1zbGlkZXItYXhpcy1pbnZlcnRlZCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke3RyYW5zZm9ybS1vcmlnaW46MCAwfS5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCkuY2RrLWZvY3VzZWQubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIC5tYXQtc2xpZGVyLXRodW1ie3RyYW5zZm9ybTpzY2FsZSgwKX0ubWF0LXNsaWRlcjpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2JvcmRlci1yYWRpdXM6NTAlIDUwJSAwfS5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCkuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtvcGFjaXR5OjF9Lm1hdC1zbGlkZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKS5jZGstbW91c2UtZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlcjpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpLmNkay10b3VjaC1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCkuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItd2lkdGg6MnB4O3RyYW5zZm9ybTpzY2FsZSgxKX0ubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci1mb2N1cy1yaW5ne3RyYW5zZm9ybTpzY2FsZSgwKTtvcGFjaXR5OjB9Lm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdGh1bWJ7Ym9yZGVyLXdpZHRoOjRweDt0cmFuc2Zvcm06c2NhbGUoMC41KX0ubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtkaXNwbGF5Om5vbmV9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbHtoZWlnaHQ6NDhweDttaW4td2lkdGg6MTI4cHh9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci13cmFwcGVye2hlaWdodDoycHg7dG9wOjIzcHg7bGVmdDo4cHg7cmlnaHQ6OHB4fS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXJ7aGVpZ2h0OjJweDtib3JkZXItbGVmdC13aWR0aDoycHg7cmlnaHQ6MDt0b3A6MH0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRyYWNrLXdyYXBwZXJ7aGVpZ2h0OjJweDt3aWR0aDoxMDAlfS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdHJhY2stZmlsbHtoZWlnaHQ6MnB4O3dpZHRoOjEwMCU7dHJhbnNmb3JtOnNjYWxlWCgwKX0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7aGVpZ2h0OjJweDt3aWR0aDoxMDAlO3RyYW5zZm9ybTpzY2FsZVgoMSl9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10aWNrcy1jb250YWluZXJ7aGVpZ2h0OjJweDt3aWR0aDoxMDAlfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10aWNrcy1jb250YWluZXJ7aGVpZ2h0OjA7b3V0bGluZTpzb2xpZCAycHg7dG9wOjFweH0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tze2hlaWdodDoycHg7d2lkdGg6MTAwJX0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRodW1iLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDowO3RvcDo1MCV9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci1mb2N1cy1yaW5ne3RvcDotMTVweDtyaWdodDotMTVweH0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse3JpZ2h0Oi0xNHB4O3RvcDotNDBweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyNnB4KSBzY2FsZSgwLjAxKSByb3RhdGUoNDVkZWcpfS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbC5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc2xpZGVyLWhvcml6b250YWwuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNsaWRlci1ob3Jpem9udGFsLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7dHJhbnNmb3JtOm5vbmV9Lm1hdC1zbGlkZXItdmVydGljYWx7d2lkdGg6NDhweDttaW4taGVpZ2h0OjEyOHB4fS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXdyYXBwZXJ7d2lkdGg6MnB4O3RvcDo4cHg7Ym90dG9tOjhweDtsZWZ0OjIzcHh9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXJ7d2lkdGg6MnB4O2JvcmRlci10b3Atd2lkdGg6MnB4O2JvdHRvbTowO2xlZnQ6MH0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10cmFjay13cmFwcGVye2hlaWdodDoxMDAlO3dpZHRoOjJweH0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10cmFjay1maWxse2hlaWdodDoxMDAlO3dpZHRoOjJweDt0cmFuc2Zvcm06c2NhbGVZKDApfS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7aGVpZ2h0OjEwMCU7d2lkdGg6MnB4O3RyYW5zZm9ybTpzY2FsZVkoMSl9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3MtY29udGFpbmVye3dpZHRoOjJweDtoZWlnaHQ6MTAwJX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRpY2tzLWNvbnRhaW5lcnt3aWR0aDowO291dGxpbmU6c29saWQgMnB4O2xlZnQ6MXB4fS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7Ym90dG9tOi0xNXB4O2xlZnQ6LTE1cHh9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3N7d2lkdGg6MnB4O2hlaWdodDoxMDAlfS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRodW1iLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTt3aWR0aDowO2xlZnQ6NTAlfS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRodW1iey13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7Ym90dG9tOi0xNHB4O2xlZnQ6LTQwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjZweCkgc2NhbGUoMC4wMSkgcm90YXRlKC00NWRlZyl9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ubWF0LXNsaWRlci12ZXJ0aWNhbC5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9W2Rpcj1ydGxdIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVye2xlZnQ6MDtyaWdodDphdXRvfVtkaXI9cnRsXSAubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGx7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDEwMCV9W2Rpcj1ydGxdIC5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHt0cmFuc2Zvcm0tb3JpZ2luOjAgMH1bZGlyPXJ0bF0gLm1hdC1zbGlkZXItaG9yaXpvbnRhbC5tYXQtc2xpZGVyLWF4aXMtaW52ZXJ0ZWQgLm1hdC1zbGlkZXItdHJhY2stZmlsbHt0cmFuc2Zvcm0tb3JpZ2luOjAgMH1bZGlyPXJ0bF0gLm1hdC1zbGlkZXItaG9yaXpvbnRhbC5tYXQtc2xpZGVyLWF4aXMtaW52ZXJ0ZWQgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMTAwJX0ubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci10cmFjay1maWxsLC5tYXQtc2xpZGVyLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItdGlja3MsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItdGh1bWItY29udGFpbmVyLC5tYXQtc2xpZGVyLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dCwubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci1oYXMtdGlja3MgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXJ7dHJhbnNpdGlvbjpub25lfVxuJ119XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6ZkZ9LHt0eXBlOk9ifSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbInRhYmluZGV4Il19XX0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse2NoYW5nZTpbe3R5cGU6RV99XSxpbnB1dDpbe3R5cGU6RV99XSx2YWx1ZUNoYW5nZTpbe3R5cGU6RV99XSxpbnZlcnQ6W3t0eXBlOlJffV0sbWF4Olt7dHlwZTpSX31dLG1pbjpbe3R5cGU6Ul99XSxzdGVwOlt7dHlwZTpSX31dLHRodW1iTGFiZWw6W3t0eXBlOlJffV0sdGlja0ludGVydmFsOlt7dHlwZTpSX31dLHZhbHVlOlt7dHlwZTpSX31dLHZlcnRpY2FsOlt7dHlwZTpSX31dLGRpc3BsYXlXaXRoOlt7dHlwZTpSX31dLHZhbHVlVGV4dDpbe3R5cGU6Ul99XSxfc2xpZGVyV3JhcHBlcjpbe3R5cGU6YXIsYXJnczpbInNsaWRlcldyYXBwZXIiXX1dfSk7Y2xhc3MgUkp7fVJKLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxSSil9LFJKLsm1bW9kPWZvKHt0eXBlOlJKfSksUkouybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxORl0sTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihSSixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W3J4LE5GXSxleHBvcnRzOlt3SixORl0sZGVjbGFyYXRpb25zOlt3Sl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhSSix7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW3dKXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltyeCxORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bd0osTkZdfX0pO2NvbnN0IEVKPXsxOToiZmxvYXQxNiIsMToiZmxvYXQzMiIsMjoiZmxvYXQ2NCIsMzoiaW50MzIiLDQ6InVpbnQ4IiwxNzoidWludDE2IiwyMjoidWludDMyIiwyMzoidWludDY0Iiw1OiJpbnQxNiIsNjoiaW50OCIsNzoic3RyaW5nIiw4OiJjb21wbGV4NjQiLDE4OiJjb21wbGV4MTI4Iiw5OiJpbnQ2NCIsMTA6ImJvb2wiLDExOiJxaW50OCIsMTI6InF1aW50OCIsMTU6InFpbnQxNiIsMTY6InF1aW50MTYiLDEzOiJxaW50MzIiLDE0OiJiZmxvYXQxNiIsMjA6InJlc291cmNlIiwyMToidmFyaWFudCIsMTE5OiJmbG9hdDE2X3JlZiIsMTAxOiJmbG9hdDMyX3JlZiIsMTAyOiJmbG9hdDY0X3JlZiIsMTAzOiJpbnQzMl9yZWYiLDEyMjoidWludDMyX3JlZiIsMTA0OiJ1aW50OF9yZWYiLDExNzoidWludDE2X3JlZiIsMTA1OiJpbnQxNl9yZWYiLDEwNjoiaW50OF9yZWYiLDEwNzoic3RyaW5nX3JlZiIsMTA4OiJjb21wbGV4NjRfcmVmIiwxMTg6ImNvbXBsZXgxMjhfcmVmIiwxMDk6ImludDY0X3JlZiIsMTIzOiJ1aW50NjRfcmVmIiwxMTA6ImJvb2xfcmVmIiwxMTE6InFpbnQ4X3JlZiIsMTEyOiJxdWludDhfcmVmIiwxMTU6InFpbnQxNl9yZWYiLDExNjoicXVpbnQxNl9yZWYiLDExMzoicWludDMyX3JlZiIsMTE0OiJiZmxvYXQxNl9yZWYiLDEyMDoicmVzb3VyY2VfcmVmIiwxMjE6InZhcmlhbnRfcmVmIn07ZnVuY3Rpb24gQUoodCl7Y29uc3R7dGVuc29yRGVidWdNb2RlOmUsYXJyYXk6bn09dDtzd2l0Y2goZSl7Y2FzZSBzSy5OT19URU5TT1I6aWYobnVsbCE9PW4pdGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkbHkgcmVjZWl2ZWQgbm9uLW51bGwgZGVidWctdGVuc29yLXZhbHVlIGFycmF5IHVuZGVyIE5PX1RFTlNPUiBtb2RlIik7cmV0dXJue307Y2FzZSBzSy5DVVJUX0hFQUxUSDppZihudWxsPT09bnx8MiE9PW4ubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgVW5kZXIgQ1VSVF9IRUFMVEggbW9kZSwgZXhwZWN0ZWQgZGVidWctdGVuc29yLXZhbHVlIGFycmF5IHRvIGhhdmUgbGVuZ3RoIDIsIGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeShuKX1gKTtyZXR1cm57aGFzSW5mT3JOYU46Qm9vbGVhbihuWzFdKX07Y2FzZSBzSy5DT05DSVNFX0hFQUxUSDp7aWYobnVsbD09PW58fDUhPT1uLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYFVuZGVyIENPTkNJU0VfSEVBTFRIIG1vZGUsIGV4cGVjdGVkIGRlYnVnLXRlbnNvci12YWx1ZSBhcnJheSB0byBoYXZlIGxlbmd0aCA1LCBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkobil9YCk7Y29uc3QgdD17c2l6ZTpuWzFdfTtyZXR1cm4gblsyXT4wJiYodC5udW1OZWdhdGl2ZUluZnM9blsyXSksblszXT4wJiYodC5udW1Qb3NpdGl2ZUluZnM9blszXSksbls0XT4wJiYodC5udW1OYU5zPW5bNF0pLHR9Y2FzZSBzSy5TSEFQRTp7aWYobnVsbD09PW58fDEwIT09bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBVbmRlciBTSEFQRSBtb2RlLCBleHBlY3RlZCBkZWJ1Zy10ZW5zb3ItdmFsdWUgYXJyYXkgdG8gaGF2ZSBsZW5ndGggMTAsIGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeShuKX1gKTtjb25zdCB0PW5bMl07bGV0IGU9bi5zbGljZSg0LE1hdGgubWluKDQrdCxuLmxlbmd0aCkpO3JldHVybiBlLmxlbmd0aDx0JiYoZT1uZXcgQXJyYXkodC1lLmxlbmd0aCkuY29uY2F0KGUpKSx7ZHR5cGU6RUpbblsxXV0scmFuazp0LHNpemU6blszXSxzaGFwZTplfX1jYXNlIHNLLkZVTExfSEVBTFRIOntpZihudWxsPT09bnx8MTEhPT1uLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYFVuZGVyIEZVTExfSEVBTFRIIG1vZGUsIGV4cGVjdGVkIGRlYnVnLXRlbnNvci12YWx1ZSBhcnJheSB0byBoYXZlIGxlbmd0aCAxMSwgYnV0IGdvdCAke0pTT04uc3RyaW5naWZ5KG4pfWApO2NvbnN0IHQ9e2R0eXBlOkVKW25bMl1dLHJhbms6blszXSxzaXplOm5bNF19O3JldHVybiBuWzVdPjAmJih0Lm51bU5lZ2F0aXZlSW5mcz1uWzVdKSxuWzZdPjAmJih0Lm51bVBvc2l0aXZlSW5mcz1uWzZdKSxuWzddPjAmJih0Lm51bU5hTnM9bls3XSksbls4XT4wJiYodC5udW1OZWdhdGl2ZUZpbml0ZXM9bls4XSksbls5XT4wJiYodC5udW1aZXJvcz1uWzldKSxuWzEwXT4wJiYodC5udW1Qb3NpdGl2ZUZpbml0ZXM9blsxMF0pLHR9Y2FzZSBzSy5GVUxMX1RFTlNPUjppZihudWxsIT09bil0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWRseSByZWNlaXZlZCBub24tbnVsbCBkZWJ1Zy10ZW5zb3ItdmFsdWUgYXJyYXkgdW5kZXIgRlVMTF9URU5TT1IgbW9kZSIpO3JldHVybnt9O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgdGVuc29yRGVidWdNb2RlOiAke2V9YCl9fWNvbnN0IFRKPSJbX25naG9zdC0lQ09NUCVdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlNWU4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nLCBtb25vc3BhY2U7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMXB4IDNweDtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIH0iO2Z1bmN0aW9uIE5KKHQsZSl7MSZ0JiZ2ZigwLCJkaXYiLDQpfWZ1bmN0aW9uIHpKKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw3KSxDZigxLCJzcGFuIiw4KSxQdSgyLCJOYU4iKSxNZigpLENmKDMsInNwYW4iLDkpLFB1KDQpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDQpLGt1KCLDlyIsdC5udW1OYU5zLCIiKX19ZnVuY3Rpb24gSUoodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDcpLENmKDEsInNwYW4iLDgpLFB1KDIsIi3iiJ4iKSxNZigpLENmKDMsInNwYW4iLDkpLFB1KDQpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDQpLGt1KCLDlyIsdC5udW1OZWdhdGl2ZUluZnMsIiIpfX1mdW5jdGlvbiBISih0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsNyksQ2YoMSwic3BhbiIsOCksUHUoMiwiK+KIniIpLE1mKCksQ2YoMywic3BhbiIsOSksUHUoNCksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoNCksa3UoIsOXIix0Lm51bVBvc2l0aXZlSW5mcywiIil9fWZ1bmN0aW9uIEZKKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw3KSxDZigxLCJzcGFuIiwxMCksUHUoMiwiLSIpLE1mKCksQ2YoMywic3BhbiIsOSksUHUoNCksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoNCksa3UoIsOXIix0Lm51bU5lZ2F0aXZlRmluaXRlcywiIil9fWZ1bmN0aW9uIExKKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw3KSxDZigxLCJzcGFuIiwxMCksUHUoMiwiMCIpLE1mKCksQ2YoMywic3BhbiIsOSksUHUoNCksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoNCksa3UoIsOXIix0Lm51bVplcm9zLCIiKX19ZnVuY3Rpb24gQkoodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDcpLENmKDEsInNwYW4iLDEwKSxQdSgyLCIrIiksTWYoKSxDZigzLCJzcGFuIiw5KSxQdSg0KSxNZigpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYyg0KSxrdSgiw5ciLHQubnVtUG9zaXRpdmVGaW5pdGVzLCIiKX19ZnVuY3Rpb24gVkoodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDUpLEhtKDEsekosNSwxLCJkaXYiLDYpLEhtKDIsSUosNSwxLCJkaXYiLDYpLEhtKDMsSEosNSwxLCJkaXYiLDYpLEhtKDQsRkosNSwxLCJkaXYiLDYpLEhtKDUsTEosNSwxLCJkaXYiLDYpLEhtKDYsQkosNSwxLCJkaXYiLDYpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGJmKCJuZ0lmIix2b2lkIDAhPT10Lm51bU5hTnMmJnQubnVtTmFOcz4wKSxEYygxKSxiZigibmdJZiIsdm9pZCAwIT09dC5udW1OZWdhdGl2ZUluZnMmJnQubnVtTmVnYXRpdmVJbmZzPjApLERjKDEpLGJmKCJuZ0lmIix2b2lkIDAhPT10Lm51bVBvc2l0aXZlSW5mcyYmdC5udW1Qb3NpdGl2ZUluZnM+MCksRGMoMSksYmYoIm5nSWYiLHZvaWQgMCE9PXQubnVtTmVnYXRpdmVGaW5pdGVzJiZ0Lm51bU5lZ2F0aXZlRmluaXRlcz4wKSxEYygxKSxiZigibmdJZiIsdm9pZCAwIT09dC5udW1aZXJvcyYmdC5udW1aZXJvcz4wKSxEYygxKSxiZigibmdJZiIsdm9pZCAwIT09dC5udW1Qb3NpdGl2ZUZpbml0ZXMmJnQubnVtUG9zaXRpdmVGaW5pdGVzPjApfX1jb25zdCBqSj1mdW5jdGlvbih0KXtyZXR1cm5bImNvbnRhaW5lciIsdF19O2Z1bmN0aW9uIFVKKHQsZSl7aWYoMSZ0JiZ2ZigwLCJkZWJ1Zy10ZW5zb3ItZHR5cGUiLDUpLDImdCl7YmYoImR0eXBlIix6ZigpLmRlYnVnVGVuc29yVmFsdWUuZHR5cGUpfX1mdW5jdGlvbiBXSih0LGUpe2lmKDEmdCYmdmYoMCwiZGVidWctdGVuc29yLXJhbmsiLDYpLDImdCl7YmYoInJhbmsiLHpmKCkuZGVidWdUZW5zb3JWYWx1ZS5yYW5rKX19ZnVuY3Rpb24gR0oodCxlKXtpZigxJnQmJnZmKDAsImRlYnVnLXRlbnNvci1zaGFwZSIsNyksMiZ0KXtiZigic2hhcGUiLHpmKCkuZGVidWdUZW5zb3JWYWx1ZS5zaGFwZSl9fWZ1bmN0aW9uIFlKKHQsZSl7aWYoMSZ0JiZ2ZigwLCJkZWJ1Zy10ZW5zb3ItaGFzLWluZi1vci1uYW4iLDgpLDImdCl7YmYoImhhc0luZk9yTmFOIix6ZigpLmRlYnVnVGVuc29yVmFsdWUuaGFzSW5mT3JOYU4pfX1mdW5jdGlvbiBxSih0LGUpe2lmKDEmdCYmdmYoMCwiZGVidWctdGVuc29yLW51bWVyaWMtYnJlYWtkb3duIiw5KSwyJnQpe2NvbnN0IHQ9emYoKTtMZigic2l6ZSIsdC5kZWJ1Z1RlbnNvclZhbHVlLnNpemUpLGJmKCJudW1OZWdhdGl2ZUluZnMiLHQuZGVidWdUZW5zb3JWYWx1ZS5udW1OZWdhdGl2ZUluZnMpKCJudW1Qb3NpdGl2ZUluZnMiLHQuZGVidWdUZW5zb3JWYWx1ZS5udW1Qb3NpdGl2ZUluZnMpKCJudW1OYU5zIix0LmRlYnVnVGVuc29yVmFsdWUubnVtTmFOcykoIm51bU5lZ2F0aXZlRmluaXRlcyIsdC5kZWJ1Z1RlbnNvclZhbHVlLm51bU5lZ2F0aXZlRmluaXRlcykoIm51bVplcm9zIix0LmRlYnVnVGVuc29yVmFsdWUubnVtWmVyb3MpKCJudW1Qb3NpdGl2ZUZpbml0ZXMiLHQuZGVidWdUZW5zb3JWYWx1ZS5udW1Qb3NpdGl2ZUZpbml0ZXMpfX1jb25zdCBaSj0iXG4gIDpob3N0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlNWU4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nLCBtb25vc3BhY2U7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMXB4IDNweDtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIH1cbiI7Y2xhc3MgWEp7fVhKLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxYSil9LFhKLsm1Y21wPXNvKHt0eXBlOlhKLHNlbGVjdG9yczpbWyJkZWJ1Zy10ZW5zb3ItZHR5cGUiXV0saW5wdXRzOntkdHlwZToiZHR5cGUifSxkZWNsczoxLHZhcnM6MSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiZQdSgwKSwyJmUmJmt1KCIgIixuLmR0eXBlLCIgIil9LHN0eWxlczpbVEpdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYSixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJkZWJ1Zy10ZW5zb3ItZHR5cGUiLHRlbXBsYXRlOiIge3sgZHR5cGUgfX0gIixzdHlsZXM6W1pKXX1dfV0sbnVsbCx7ZHR5cGU6W3t0eXBlOlJffV19KTtjbGFzcyBLSnt9S0ouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEtKKX0sS0ouybVjbXA9c28oe3R5cGU6S0osc2VsZWN0b3JzOltbImRlYnVnLXRlbnNvci1yYW5rIl1dLGlucHV0czp7cmFuazoicmFuayJ9LGRlY2xzOjEsdmFyczoxLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlB1KDApLDImZSYma3UoIiAiLG4ucmFuaywiRCAiKX0sc3R5bGVzOltUSl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEtKLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImRlYnVnLXRlbnNvci1yYW5rIix0ZW1wbGF0ZToiIHt7IHJhbmsgfX1EICIsc3R5bGVzOltaSl19XX1dLG51bGwse3Jhbms6W3t0eXBlOlJffV19KTtjbGFzcyBKSntnZXQgc2hhcGVTdHJpbmcoKXtyZXR1cm4iWyIrdGhpcy5zaGFwZS5tYXAoKHQ9PnZvaWQgMD09PXQ/Ij8iOlN0cmluZyh0KSkpLmpvaW4oIiwiKSsiXSJ9fUpKLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxKSil9LEpKLsm1Y21wPXNvKHt0eXBlOkpKLHNlbGVjdG9yczpbWyJkZWJ1Zy10ZW5zb3Itc2hhcGUiXV0saW5wdXRzOntzaGFwZToic2hhcGUifSxkZWNsczoxLHZhcnM6MSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiZQdSgwKSwyJmUmJmt1KCIgc2hhcGU6IixuLnNoYXBlU3RyaW5nLCIgIil9LHN0eWxlczpbVEpdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihKSixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJkZWJ1Zy10ZW5zb3Itc2hhcGUiLHRlbXBsYXRlOiIgc2hhcGU6e3sgc2hhcGVTdHJpbmcgfX0gIixzdHlsZXM6W1pKXX1dfV0sbnVsbCx7c2hhcGU6W3t0eXBlOlJffV19KTtjbGFzcyBRSntnZXQgYnJlYWtkb3duRXhpc3RzKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMubnVtTmFOc3x8dm9pZCAwIT09dGhpcy5udW1OZWdhdGl2ZUluZnN8fHZvaWQgMCE9PXRoaXMubnVtUG9zaXRpdmVJbmZzfHx2b2lkIDAhPT10aGlzLm51bU5lZ2F0aXZlRmluaXRlc3x8dm9pZCAwIT09dGhpcy5udW1aZXJvc3x8dm9pZCAwIT09dGhpcy5udW1Qb3NpdGl2ZUZpbml0ZXN9fVFKLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxRSil9LFFKLsm1Y21wPXNvKHt0eXBlOlFKLHNlbGVjdG9yczpbWyJkZWJ1Zy10ZW5zb3ItbnVtZXJpYy1icmVha2Rvd24iXV0saW5wdXRzOntzaXplOiJzaXplIixudW1OYU5zOiJudW1OYU5zIixudW1OZWdhdGl2ZUluZnM6Im51bU5lZ2F0aXZlSW5mcyIsbnVtUG9zaXRpdmVJbmZzOiJudW1Qb3NpdGl2ZUluZnMiLG51bU5lZ2F0aXZlRmluaXRlczoibnVtTmVnYXRpdmVGaW5pdGVzIixudW1aZXJvczoibnVtWmVyb3MiLG51bVBvc2l0aXZlRmluaXRlczoibnVtUG9zaXRpdmVGaW5pdGVzIn0sZGVjbHM6Nyx2YXJzOjMsY29uc3RzOltbMSwic2l6ZSJdLFsxLCJzaXplLXZhbHVlIl0sWyJjbGFzcyIsImJyZWFrIiw0LCJuZ0lmIl0sWyJjbGFzcyIsImJyZWFrZG93biIsNCwibmdJZiJdLFsxLCJicmVhayJdLFsxLCJicmVha2Rvd24iXSxbImNsYXNzIiwiY2F0ZWdvcnkiLDQsIm5nSWYiXSxbMSwiY2F0ZWdvcnkiXSxbMSwiY2F0ZWdvcnktdGFnIiwiaW5maW5pdGUiXSxbMSwiY2F0ZWdvcnktY291bnQiXSxbMSwiY2F0ZWdvcnktdGFnIiwiZmluaXRlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLENmKDEsInNwYW4iKSxQdSgyLCJzaXplOiIpLE1mKCksQ2YoMywic3BhbiIsMSksUHUoNCksTWYoKSxNZigpLEhtKDUsTkosMSwwLCJkaXYiLDIpLEhtKDYsVkosNyw2LCJkaXYiLDMpKSwyJmUmJihEYyg0KSx3dShuLnNpemUpLERjKDEpLGJmKCJuZ0lmIixuLmJyZWFrZG93bkV4aXN0cyksRGMoMSksYmYoIm5nSWYiLG4uYnJlYWtkb3duRXhpc3RzKSl9LGRpcmVjdGl2ZXM6W1B2XSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UzZTVlODtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgbW9ub3NwYWNlO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICAgIHBhZGRpbmc6IDFweDtcbiAgICAgIH1cbiAgICAgIC5icmVha1tfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgIH1cbiAgICAgIC5zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMXB4O1xuICAgICAgICBtYXJnaW46IDAgM3B4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgICAgLmJyZWFrZG93bltfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTFweDtcbiAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgICAgLmNhdGVnb3J5W19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICBoZWlndGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgIH1cbiAgICAgIC5jYXRlZ29yeS10YWdbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDJweDtcbiAgICAgIH1cbiAgICAgIC5maW5pdGVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FhYTtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICB9XG4gICAgICAuaW5maW5pdGVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1MjU5MjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFFKLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImRlYnVnLXRlbnNvci1udW1lcmljLWJyZWFrZG93biIsdGVtcGxhdGU6J1xuICAgIDxkaXYgY2xhc3M9InNpemUiPlxuICAgICAgPHNwYW4+c2l6ZTo8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz0ic2l6ZS12YWx1ZSI+e3sgc2l6ZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJicmVha2Rvd25FeGlzdHMiIGNsYXNzPSJicmVhayI+PC9kaXY+XG4gICAgPGRpdiAqbmdJZj0iYnJlYWtkb3duRXhpc3RzIiBjbGFzcz0iYnJlYWtkb3duIj5cbiAgICAgIDxkaXYgKm5nSWY9Im51bU5hTnMgIT09IHVuZGVmaW5lZCAmJiBudW1OYU5zID4gMCIgY2xhc3M9ImNhdGVnb3J5Ij5cbiAgICAgICAgPHNwYW4gY2xhc3M9ImNhdGVnb3J5LXRhZyBpbmZpbml0ZSI+TmFOPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnktY291bnQiPsOXe3sgbnVtTmFOcyB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj0ibnVtTmVnYXRpdmVJbmZzICE9PSB1bmRlZmluZWQgJiYgbnVtTmVnYXRpdmVJbmZzID4gMCJcbiAgICAgICAgY2xhc3M9ImNhdGVnb3J5IlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnktdGFnIGluZmluaXRlIj4t4oiePC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnktY291bnQiPsOXe3sgbnVtTmVnYXRpdmVJbmZzIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPSJudW1Qb3NpdGl2ZUluZnMgIT09IHVuZGVmaW5lZCAmJiBudW1Qb3NpdGl2ZUluZnMgPiAwIlxuICAgICAgICBjbGFzcz0iY2F0ZWdvcnkiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS10YWcgaW5maW5pdGUiPiviiJ48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS1jb3VudCI+w5d7eyBudW1Qb3NpdGl2ZUluZnMgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9Im51bU5lZ2F0aXZlRmluaXRlcyAhPT0gdW5kZWZpbmVkICYmIG51bU5lZ2F0aXZlRmluaXRlcyA+IDAiXG4gICAgICAgIGNsYXNzPSJjYXRlZ29yeSJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9ImNhdGVnb3J5LXRhZyBmaW5pdGUiPi08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS1jb3VudCI+w5d7eyBudW1OZWdhdGl2ZUZpbml0ZXMgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9Im51bVplcm9zICE9PSB1bmRlZmluZWQgJiYgbnVtWmVyb3MgPiAwIiBjbGFzcz0iY2F0ZWdvcnkiPlxuICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnktdGFnIGZpbml0ZSI+MDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9ImNhdGVnb3J5LWNvdW50Ij7Dl3t7IG51bVplcm9zIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPSJudW1Qb3NpdGl2ZUZpbml0ZXMgIT09IHVuZGVmaW5lZCAmJiBudW1Qb3NpdGl2ZUZpbml0ZXMgPiAwIlxuICAgICAgICBjbGFzcz0iY2F0ZWdvcnkiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS10YWcgZmluaXRlIj4rPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnktY291bnQiPsOXe3sgbnVtUG9zaXRpdmVGaW5pdGVzIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICcsc3R5bGVzOlsiXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlM2U1ZTg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubycsIG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICB9XG4gICAgICAuYnJlYWsge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgIH1cbiAgICAgIC5zaXplIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDExcHg7XG4gICAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgICAuYnJlYWtkb3duIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDExcHg7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICAgIC5jYXRlZ29yeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICBoZWlndGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgIH1cbiAgICAgIC5jYXRlZ29yeS10YWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgICAgfVxuICAgICAgLmZpbml0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgfVxuICAgICAgLmluZmluaXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1MjU5MjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgIl19XX1dLG51bGwse3NpemU6W3t0eXBlOlJffV0sbnVtTmFOczpbe3R5cGU6Ul99XSxudW1OZWdhdGl2ZUluZnM6W3t0eXBlOlJffV0sbnVtUG9zaXRpdmVJbmZzOlt7dHlwZTpSX31dLG51bU5lZ2F0aXZlRmluaXRlczpbe3R5cGU6Ul99XSxudW1aZXJvczpbe3R5cGU6Ul99XSxudW1Qb3NpdGl2ZUZpbml0ZXM6W3t0eXBlOlJffV19KTtjbGFzcyAkSntnZXQgaW5mb1N0cmluZygpe3JldHVybiB0aGlzLmhhc0luZk9yTmFOPyJIYXMg4oieL05hTiI6Ik5vIOKIni9OYU4ifX0kSi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JEopfSwkSi7JtWNtcD1zbyh7dHlwZTokSixzZWxlY3RvcnM6W1siZGVidWctdGVuc29yLWhhcy1pbmYtb3ItbmFuIl1dLGlucHV0czp7aGFzSW5mT3JOYU46Imhhc0luZk9yTmFOIn0sZGVjbHM6Mix2YXJzOjQsY29uc3RzOltbMywibmdDbGFzcyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZGl2IiwwKSxQdSgxKSxNZigpKSwyJmUmJihiZigibmdDbGFzcyIsaXkoMixqSixuLmhhc0luZk9yTmFOPyJoYXMtaW5mLW9yLW5hbiI6IiIpKSxEYygxKSxrdSgiICIsbi5pbmZvU3RyaW5nLCIgIikpfSxkaXJlY3RpdmVzOltDdl0sc3R5bGVzOlsiLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlNWU4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgbW9ub3NwYWNlO1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgICBwYWRkaW5nOiAxcHggM3B4O1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICB9XG4gICAgICAuaGFzLWluZi1vci1uYW5bX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1MjU5MjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKCRKLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImRlYnVnLXRlbnNvci1oYXMtaW5mLW9yLW5hbiIsdGVtcGxhdGU6IlxuICAgIDxkaXYgW25nQ2xhc3NdPVwiWydjb250YWluZXInLCBoYXNJbmZPck5hTiA/ICdoYXMtaW5mLW9yLW5hbicgOiAnJ11cIj5cbiAgICAgIHt7IGluZm9TdHJpbmcgfX1cbiAgICA8L2Rpdj5cbiAgIixzdHlsZXM6WyJcbiAgICAgIC5jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlNWU4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgbW9ub3NwYWNlO1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgICBwYWRkaW5nOiAxcHggM3B4O1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICB9XG4gICAgICAuaGFzLWluZi1vci1uYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTUyNTkyO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICAiXX1dfV0sbnVsbCx7aGFzSW5mT3JOYU46W3t0eXBlOlJffV19KTtjbGFzcyB0UXt9dFEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHRRKX0sdFEuybVjbXA9c28oe3R5cGU6dFEsc2VsZWN0b3JzOltbImRlYnVnLXRlbnNvci12YWx1ZSJdXSxpbnB1dHM6e2RlYnVnVGVuc29yVmFsdWU6ImRlYnVnVGVuc29yVmFsdWUifSxkZWNsczo1LHZhcnM6NSxjb25zdHM6W1szLCJkdHlwZSIsNCwibmdJZiJdLFszLCJyYW5rIiw0LCJuZ0lmIl0sWzMsInNoYXBlIiw0LCJuZ0lmIl0sWzMsImhhc0luZk9yTmFOIiw0LCJuZ0lmIl0sWzMsInNpemUiLCJudW1OZWdhdGl2ZUluZnMiLCJudW1Qb3NpdGl2ZUluZnMiLCJudW1OYU5zIiwibnVtTmVnYXRpdmVGaW5pdGVzIiwibnVtWmVyb3MiLCJudW1Qb3NpdGl2ZUZpbml0ZXMiLDQsIm5nSWYiXSxbMywiZHR5cGUiXSxbMywicmFuayJdLFszLCJzaGFwZSJdLFszLCJoYXNJbmZPck5hTiJdLFszLCJzaXplIiwibnVtTmVnYXRpdmVJbmZzIiwibnVtUG9zaXRpdmVJbmZzIiwibnVtTmFOcyIsIm51bU5lZ2F0aXZlRmluaXRlcyIsIm51bVplcm9zIiwibnVtUG9zaXRpdmVGaW5pdGVzIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIbSgwLFVKLDEsMSwiZGVidWctdGVuc29yLWR0eXBlIiwwKSxIbSgxLFdKLDEsMSwiZGVidWctdGVuc29yLXJhbmsiLDEpLEhtKDIsR0osMSwxLCJkZWJ1Zy10ZW5zb3Itc2hhcGUiLDIpLEhtKDMsWUosMSwxLCJkZWJ1Zy10ZW5zb3ItaGFzLWluZi1vci1uYW4iLDMpLEhtKDQscUosMSw3LCJkZWJ1Zy10ZW5zb3ItbnVtZXJpYy1icmVha2Rvd24iLDQpKSwyJmUmJihiZigibmdJZiIsdm9pZCAwIT09bi5kZWJ1Z1RlbnNvclZhbHVlLmR0eXBlKSxEYygxKSxiZigibmdJZiIsdm9pZCAwIT09bi5kZWJ1Z1RlbnNvclZhbHVlLnJhbmspLERjKDEpLGJmKCJuZ0lmIix2b2lkIDAhPT1uLmRlYnVnVGVuc29yVmFsdWUuc2hhcGUpLERjKDEpLGJmKCJuZ0lmIix2b2lkIDAhPT1uLmRlYnVnVGVuc29yVmFsdWUuaGFzSW5mT3JOYU4pLERjKDEpLGJmKCJuZ0lmIix2b2lkIDAhPT1uLmRlYnVnVGVuc29yVmFsdWUuc2l6ZSkpfSxkaXJlY3RpdmVzOltQdixYSixLSixKSiwkSixRSl0sc3R5bGVzOlsiW19uZ2hvc3QtJUNPTVAlXSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cbiAgICAgIGRlYnVnLXRlbnNvci1udW1lcmljLWJyZWFrZG93bltfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHRRLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImRlYnVnLXRlbnNvci12YWx1ZSIsdGVtcGxhdGU6J1xuICAgIDxkZWJ1Zy10ZW5zb3ItZHR5cGVcbiAgICAgICpuZ0lmPSJkZWJ1Z1RlbnNvclZhbHVlLmR0eXBlICE9PSB1bmRlZmluZWQiXG4gICAgICBbZHR5cGVdPSJkZWJ1Z1RlbnNvclZhbHVlLmR0eXBlIlxuICAgID5cbiAgICA8L2RlYnVnLXRlbnNvci1kdHlwZT5cbiAgICA8ZGVidWctdGVuc29yLXJhbmtcbiAgICAgICpuZ0lmPSJkZWJ1Z1RlbnNvclZhbHVlLnJhbmsgIT09IHVuZGVmaW5lZCJcbiAgICAgIFtyYW5rXT0iZGVidWdUZW5zb3JWYWx1ZS5yYW5rIlxuICAgID5cbiAgICA8L2RlYnVnLXRlbnNvci1yYW5rPlxuICAgIDxkZWJ1Zy10ZW5zb3Itc2hhcGVcbiAgICAgICpuZ0lmPSJkZWJ1Z1RlbnNvclZhbHVlLnNoYXBlICE9PSB1bmRlZmluZWQiXG4gICAgICBbc2hhcGVdPSJkZWJ1Z1RlbnNvclZhbHVlLnNoYXBlIlxuICAgID5cbiAgICA8L2RlYnVnLXRlbnNvci1zaGFwZT5cbiAgICA8ZGVidWctdGVuc29yLWhhcy1pbmYtb3ItbmFuXG4gICAgICAqbmdJZj0iZGVidWdUZW5zb3JWYWx1ZS5oYXNJbmZPck5hTiAhPT0gdW5kZWZpbmVkIlxuICAgICAgW2hhc0luZk9yTmFOXT0iZGVidWdUZW5zb3JWYWx1ZS5oYXNJbmZPck5hTiJcbiAgICA+XG4gICAgPC9kZWJ1Zy10ZW5zb3ItaGFzLWluZi1vci1uYW4+XG4gICAgPGRlYnVnLXRlbnNvci1udW1lcmljLWJyZWFrZG93blxuICAgICAgKm5nSWY9ImRlYnVnVGVuc29yVmFsdWUuc2l6ZSAhPT0gdW5kZWZpbmVkIlxuICAgICAgc2l6ZT0ie3sgZGVidWdUZW5zb3JWYWx1ZS5zaXplIH19IlxuICAgICAgW251bU5lZ2F0aXZlSW5mc109ImRlYnVnVGVuc29yVmFsdWUubnVtTmVnYXRpdmVJbmZzIlxuICAgICAgW251bVBvc2l0aXZlSW5mc109ImRlYnVnVGVuc29yVmFsdWUubnVtUG9zaXRpdmVJbmZzIlxuICAgICAgW251bU5hTnNdPSJkZWJ1Z1RlbnNvclZhbHVlLm51bU5hTnMiXG4gICAgICBbbnVtTmVnYXRpdmVGaW5pdGVzXT0iZGVidWdUZW5zb3JWYWx1ZS5udW1OZWdhdGl2ZUZpbml0ZXMiXG4gICAgICBbbnVtWmVyb3NdPSJkZWJ1Z1RlbnNvclZhbHVlLm51bVplcm9zIlxuICAgICAgW251bVBvc2l0aXZlRmluaXRlc109ImRlYnVnVGVuc29yVmFsdWUubnVtUG9zaXRpdmVGaW5pdGVzIlxuICAgID5cbiAgICA8L2RlYnVnLXRlbnNvci1udW1lcmljLWJyZWFrZG93bj5cbiAgJyxzdHlsZXM6WyJcbiAgICAgIDpob3N0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgICAgZGVidWctdGVuc29yLW51bWVyaWMtYnJlYWtkb3duIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgICJdfV19XSxudWxsLHtkZWJ1Z1RlbnNvclZhbHVlOlt7dHlwZTpSX31dfSk7Y29uc3QgZVE9ZnVuY3Rpb24odCxlKXtyZXR1cm57dGVuc29yRGVidWdNb2RlOnQsYXJyYXk6ZX19O2Z1bmN0aW9uIG5RKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiwxMiksQ2YoMSwiZGl2IiwxMyksUHUoMiksTWYoKSxDZigzLCJkaXYiLDE0KSx2Zig0LCJkZWJ1Zy10ZW5zb3ItdmFsdWUiLDE1KSxNZigpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPWUuaW5kZXgsbz16ZigzKTtEYygyKSxrdSgiT3V0cHV0IHNsb3QgIixuLCI6IiksRGMoMiksYmYoImRlYnVnVGVuc29yVmFsdWUiLG8ucGFyc2VEZWJ1Z1RlbnNvclZhbHVlKGF5KDIsZVEsby50ZW5zb3JEZWJ1Z01vZGUsdCkpKX19ZnVuY3Rpb24gb1EodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDEwKSxIbSgxLG5RLDUsNSwiZGl2IiwxMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDEpLGJmKCJuZ0Zvck9mIix0LmRlYnVnVGVuc29yVmFsdWVzKX19ZnVuY3Rpb24gaVEodCxlKXtpZigxJnQmJihDZigwLCJkaXYiKSxDZigxLCJkaXYiKSxDZigyLCJkaXYiLDMpLENmKDMsInNwYW4iLDQpLFB1KDQsIiBPcDogIiksTWYoKSxDZig1LCJzcGFuIiw1KSxQdSg2KSxNZigpLE1mKCksQ2YoNywiZGl2IiwzKSxDZig4LCJzcGFuIiw0KSxQdSg5LCIgIyBvZiBpbnB1dCB0ZW5zb3JzOiAiKSxNZigpLENmKDEwLCJzcGFuIiw2KSxQdSgxMSksTWYoKSxNZigpLENmKDEyLCJkaXYiLDMpLENmKDEzLCJzcGFuIiw0KSxQdSgxNCwiICMgb2Ygb3V0cHV0IHRlbnNvcnM6ICIpLE1mKCksQ2YoMTUsInNwYW4iLDcpLFB1KDE2KSxNZigpLENmKDE3LCJzcGFuIiw4KSxQdSgxOCksTWYoKSxNZigpLEhtKDE5LG9RLDIsMSwiZGl2Iiw5KSxNZigpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDYpLGt1KCIgIix0LmZvY3VzZWRFeGVjdXRpb25EYXRhLm9wX3R5cGUsIiAiKSxEYyg1KSxrdSgiICIsbnVsbD09dC5mb2N1c2VkRXhlY3V0aW9uRGF0YS5pbnB1dF90ZW5zb3JfaWRzPzA6dC5mb2N1c2VkRXhlY3V0aW9uRGF0YS5pbnB1dF90ZW5zb3JfaWRzLmxlbmd0aCwiICIpLERjKDUpLGt1KCIgIixudWxsPT10LmZvY3VzZWRFeGVjdXRpb25EYXRhLm91dHB1dF90ZW5zb3JfaWRzPzA6dC5mb2N1c2VkRXhlY3V0aW9uRGF0YS5vdXRwdXRfdGVuc29yX2lkcy5sZW5ndGgsIiAiKSxEYygyKSxrdSgiIChkZWJ1ZyBtb2RlOiAiLHQuVGVuc29yRGVidWdNb2RlW3QudGVuc29yRGVidWdNb2RlXSwiKSAiKSxEYygxKSxiZigibmdJZiIsdC5oYXNEZWJ1Z1RlbnNvclZhbHVlcyl9fWZ1bmN0aW9uIGFRKHQsZSl7fWNsYXNzIHJRe2NvbnN0cnVjdG9yKCl7dGhpcy50ZW5zb3JEZWJ1Z01vZGU9c0suVU5TUEVDSUZJRUQsdGhpcy5oYXNEZWJ1Z1RlbnNvclZhbHVlcz0hMSx0aGlzLmRlYnVnVGVuc29yVmFsdWVzPW51bGwsdGhpcy5kZWJ1Z1RlbnNvckR0eXBlcz1udWxsLHRoaXMuVGVuc29yRGVidWdNb2RlPXNLLHRoaXMucGFyc2VEZWJ1Z1RlbnNvclZhbHVlPUFKfX1yUS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8clEpfSxyUS7JtWNtcD1zbyh7dHlwZTpyUSxzZWxlY3RvcnM6W1siZXhlY3V0aW9uLWRhdGEtY29tcG9uZW50Il1dLGlucHV0czp7Zm9jdXNlZEV4ZWN1dGlvbkluZGV4OiJmb2N1c2VkRXhlY3V0aW9uSW5kZXgiLGZvY3VzZWRFeGVjdXRpb25EYXRhOiJmb2N1c2VkRXhlY3V0aW9uRGF0YSIsdGVuc29yRGVidWdNb2RlOiJ0ZW5zb3JEZWJ1Z01vZGUiLGhhc0RlYnVnVGVuc29yVmFsdWVzOiJoYXNEZWJ1Z1RlbnNvclZhbHVlcyIsZGVidWdUZW5zb3JWYWx1ZXM6ImRlYnVnVGVuc29yVmFsdWVzIixkZWJ1Z1RlbnNvckR0eXBlczoiZGVidWdUZW5zb3JEdHlwZXMifSxkZWNsczo3LHZhcnM6Myxjb25zdHM6W1sxLCJmb2N1cy1leGVjdXRpb24tY29udGFpbmVyIl0sWzQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsibG9hZGluZ19zZWN0aW9uIiwiIl0sWzEsImV4ZWN1dGlvbi1kYXRhLWZpZWxkIl0sWzEsImV4ZWN1dGlvbi1kYXRhLWtleSJdLFsxLCJleGVjdXRpb24tZGF0YS12YWx1ZSIsIm9wLXR5cGUiXSxbMSwiZXhlY3V0aW9uLWRhdGEtdmFsdWUiLCJpbnB1dC10ZW5zb3JzIl0sWzEsImV4ZWN1dGlvbi1kYXRhLXZhbHVlIiwib3V0cHV0LXRlbnNvcnMiXSxbMSwiZXhlY3V0aW9uLWRhdGEtdmFsdWUiXSxbImNsYXNzIiwib3V0cHV0LXNsb3RzIiw0LCJuZ0lmIl0sWzEsIm91dHB1dC1zbG90cyJdLFsiY2xhc3MiLCJvdXRwdXQtc2xvdC1jb250YWluZXIiLDQsIm5nRm9yIiwibmdGb3JPZiJdLFsxLCJvdXRwdXQtc2xvdC1jb250YWluZXIiXSxbMSwib3V0cHV0LXNsb3QtbnVtYmVyIl0sWzEsIm91dHB1dC1zbG90LWRlYnVnLXRlbnNvci12YWx1ZSJdLFszLCJkZWJ1Z1RlbnNvclZhbHVlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihDZigwLCJkaXYiLDApLENmKDEsImRpdiIpLENmKDIsInNwYW4iKSxQdSgzKSxNZigpLE1mKCksSG0oNCxpUSwyMCw1LCJkaXYiLDEpLEhtKDUsYVEsMCwwLCJuZy10ZW1wbGF0ZSIsbnVsbCwyLHF5KSxNZigpKSwyJmUpe2NvbnN0IHQ9Rm0oNik7RGMoMyksa3UoIiBQeXRob24gRXhlY3V0aW9uICMiLG4uZm9jdXNlZEV4ZWN1dGlvbkluZGV4LCIgIiksRGMoMSksYmYoIm5nSWYiLG51bGwhPT1uLmZvY3VzZWRFeGVjdXRpb25EYXRhKSgibmdJZkVsc2UiLHQpfX0sZGlyZWN0aXZlczpbUHYseHYsdFFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5kZWJ1Zy10ZW5zb3ItdmFsdWVzLXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXt3aWR0aDoxMDAlfS5kZWJ1Zy10ZW5zb3ItdmFsdWVzLXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRkW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItdG9wOjFweCBzb2xpZCAjMDAwO3RleHQtYWxpZ246bGVmdH0uZGVidWctdGVuc29yLXZhbHVlcy10YWJsZVtfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17dGV4dC1hbGlnbjpsZWZ0fS5leGVjdXRpb24tZGF0YS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwfS5leGVjdXRpb24tZGF0YS1rZXlbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxMjBweDt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEyMHB4fS5leGVjdXRpb24tZGF0YS12YWx1ZVtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6MTBweH0uZm9jdXMtZXhlY3V0aW9uLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZjYzgwO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxMjBweDtwYWRkaW5nOjVweDt3aWR0aDozNjBweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZm9jdXMtZXhlY3V0aW9uLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5mb2N1cy1leGVjdXRpb24tY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNlNjUxMDB9Lm91dHB1dC1zbG90c1tfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjYwcHg7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6YXV0b30ub3V0cHV0LXNsb3QtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO21hcmdpbi10b3A6NXB4O3BhZGRpbmc6MnB4IDA7dmVydGljYWwtYWxpZ246dG9wfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5vdXRwdXQtc2xvdC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAub3V0cHV0LXNsb3QtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItdG9wOjFweCBzb2xpZCAjNTU1fS5vdXRwdXQtc2xvdC1udW1iZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6IlJvYm90byBNb25vIixtb25vc3BhY2V9Lm91dHB1dC1zbG90LWRlYnVnLXRlbnNvci12YWx1ZVtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpibG9jazttYXJnaW46M3B4IDAgM3B4IDMwcHh9Lm91dHB1dC10ZW5zb3JzW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOjVweH0nXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoclEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiZXhlY3V0aW9uLWRhdGEtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9leGVjdXRpb25fZGF0YV9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9leGVjdXRpb25fZGF0YV9jb21wb25lbnQuY3NzIl19XX1dLG51bGwse2ZvY3VzZWRFeGVjdXRpb25JbmRleDpbe3R5cGU6Ul99XSxmb2N1c2VkRXhlY3V0aW9uRGF0YTpbe3R5cGU6Ul99XSx0ZW5zb3JEZWJ1Z01vZGU6W3t0eXBlOlJffV0saGFzRGVidWdUZW5zb3JWYWx1ZXM6W3t0eXBlOlJffV0sZGVidWdUZW5zb3JWYWx1ZXM6W3t0eXBlOlJffV0sZGVidWdUZW5zb3JEdHlwZXM6W3t0eXBlOlJffV19KTtjb25zdCBzUT0iVW5rbm93biBkdHlwZSI7Y2xhc3MgbFF7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuZm9jdXNlZEV4ZWN1dGlvbkRhdGEkPXRoaXMuc3RvcmUucGlwZShyUyhzSikpLHRoaXMudGVuc29yRGVidWdNb2RlJD10aGlzLnN0b3JlLnBpcGUoclMoYlMoc0osKHQ9Pm51bGw9PT10P3NLLlVOU1BFQ0lGSUVEOnQudGVuc29yX2RlYnVnX21vZGUpKSkpLHRoaXMuaGFzRGVidWdUZW5zb3JWYWx1ZXMkPXRoaXMuc3RvcmUucGlwZShyUyhiUyhzSiwodD0+e2lmKG51bGw9PT10fHxudWxsPT09dC5kZWJ1Z190ZW5zb3JfdmFsdWVzKXJldHVybiExO2Zvcihjb25zdCBlIG9mIHQuZGVidWdfdGVuc29yX3ZhbHVlcylpZihudWxsIT09ZSYmZS5sZW5ndGg+MClyZXR1cm4hMDtyZXR1cm4hMX0pKSkpLHRoaXMuZGVidWdUZW5zb3JWYWx1ZXMkPXRoaXMuc3RvcmUucGlwZShyUyhiUyhzSiwodD0+bnVsbD09PXQ/bnVsbDp0LmRlYnVnX3RlbnNvcl92YWx1ZXMpKSkpLHRoaXMuZGVidWdUZW5zb3JEdHlwZXMkPXRoaXMuc3RvcmUucGlwZShyUyhiUyhzSiwodD0+e2lmKG51bGw9PT10fHxudWxsPT09dC5kZWJ1Z190ZW5zb3JfdmFsdWVzKXJldHVybiBudWxsO2lmKHQudGVuc29yX2RlYnVnX21vZGUhPT1zSy5GVUxMX0hFQUxUSCYmdC50ZW5zb3JfZGVidWdfbW9kZSE9PXNLLlNIQVBFKXJldHVybiBudWxsO2NvbnN0IGU9W107Zm9yKGNvbnN0IG4gb2YgdC5kZWJ1Z190ZW5zb3JfdmFsdWVzKWlmKG51bGw9PT1uKWUucHVzaChzUSk7ZWxzZXtjb25zdCBvPVN0cmluZyh0LnRlbnNvcl9kZWJ1Z19tb2RlPT09c0suRlVMTF9IRUFMVEg/blsyXTpuWzFdKTtlLnB1c2goRUpbb118fHNRKX1yZXR1cm4gZX0pKSkpfX1mdW5jdGlvbiBjUSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsIm1hdC1zbGlkZXIiLDExKSxSZigiaW5wdXQiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vblNsaWRlckNoYW5nZS5lbWl0KG4udmFsdWUpfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJtaW4iLDApKCJtYXgiLHQuc2Nyb2xsQmVnaW5JbmRleFVwcGVyTGltaXQpKCJ2YWx1ZSIsdC5zY3JvbGxCZWdpbkluZGV4KX19ZnVuY3Rpb24gZFEodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDYpLENmKDEsImJ1dHRvbiIsNyksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uTmF2aWdhdGVMZWZ0LmVtaXQoKX0pKSxQdSgyLCIgPCAiKSxNZigpLENmKDMsImRpdiIsOCksUHUoNCksTWYoKSxDZig1LCJidXR0b24iLDkpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5vbk5hdmlnYXRlUmlnaHQuZW1pdCgpfSkpLFB1KDYsIiA+ICIpLE1mKCksSG0oNyxjUSwxLDMsIm1hdC1zbGlkZXIiLDEwKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO0RjKDQpLER1KCIgIix0LnNjcm9sbEJlZ2luSW5kZXgsIiB+ICIsdC5zY3JvbGxCZWdpbkluZGV4K3QuZGlzcGxheUNvdW50LTEsIiBvZiAiLHQubnVtRXhlY3V0aW9ucywiICIpLERjKDMpLGJmKCJuZ0lmIix0LnNjcm9sbEJlZ2luSW5kZXhVcHBlckxpbWl0PjApfX1sUS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bFEpKGdmKGlTKSl9LGxRLsm1Y21wPXNvKHt0eXBlOmxRLHNlbGVjdG9yczpbWyJ0Zi1kZWJ1Z2dlci12Mi1leGVjdXRpb24tZGF0YSJdXSxpbnB1dHM6e2ZvY3VzZWRFeGVjdXRpb25JbmRleDoiZm9jdXNlZEV4ZWN1dGlvbkluZGV4In0sZGVjbHM6Nix2YXJzOjE2LGNvbnN0czpbWzMsImZvY3VzZWRFeGVjdXRpb25JbmRleCIsImZvY3VzZWRFeGVjdXRpb25EYXRhIiwidGVuc29yRGVidWdNb2RlIiwiaGFzRGVidWdUZW5zb3JWYWx1ZXMiLCJkZWJ1Z1RlbnNvclZhbHVlcyIsImRlYnVnVGVuc29yRHR5cGVzIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJleGVjdXRpb24tZGF0YS1jb21wb25lbnQiLDApLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIiksX3koNSwiYXN5bmMiKSksMiZlJiZiZigiZm9jdXNlZEV4ZWN1dGlvbkluZGV4IixuLmZvY3VzZWRFeGVjdXRpb25JbmRleCkoImZvY3VzZWRFeGVjdXRpb25EYXRhIixDeSgxLDYsbi5mb2N1c2VkRXhlY3V0aW9uRGF0YSQpKSgidGVuc29yRGVidWdNb2RlIixDeSgyLDgsbi50ZW5zb3JEZWJ1Z01vZGUkKSkoImhhc0RlYnVnVGVuc29yVmFsdWVzIixDeSgzLDEwLG4uaGFzRGVidWdUZW5zb3JWYWx1ZXMkKSkoImRlYnVnVGVuc29yVmFsdWVzIixDeSg0LDEyLG4uZGVidWdUZW5zb3JWYWx1ZXMkKSkoImRlYnVnVGVuc29yRHR5cGVzIixDeSg1LDE0LG4uZGVidWdUZW5zb3JEdHlwZXMkKSl9LGRpcmVjdGl2ZXM6W3JRXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobFEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGYtZGVidWdnZXItdjItZXhlY3V0aW9uLWRhdGEiLHRlbXBsYXRlOidcbiAgICA8ZXhlY3V0aW9uLWRhdGEtY29tcG9uZW50XG4gICAgICBbZm9jdXNlZEV4ZWN1dGlvbkluZGV4XT0iZm9jdXNlZEV4ZWN1dGlvbkluZGV4IlxuICAgICAgW2ZvY3VzZWRFeGVjdXRpb25EYXRhXT0iZm9jdXNlZEV4ZWN1dGlvbkRhdGEkIHwgYXN5bmMiXG4gICAgICBbdGVuc29yRGVidWdNb2RlXT0idGVuc29yRGVidWdNb2RlJCB8IGFzeW5jIlxuICAgICAgW2hhc0RlYnVnVGVuc29yVmFsdWVzXT0iaGFzRGVidWdUZW5zb3JWYWx1ZXMkIHwgYXN5bmMiXG4gICAgICBbZGVidWdUZW5zb3JWYWx1ZXNdPSJkZWJ1Z1RlbnNvclZhbHVlcyQgfCBhc3luYyJcbiAgICAgIFtkZWJ1Z1RlbnNvckR0eXBlc109ImRlYnVnVGVuc29yRHR5cGVzJCB8IGFzeW5jIlxuICAgID48L2V4ZWN1dGlvbi1kYXRhLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSx7Zm9jdXNlZEV4ZWN1dGlvbkluZGV4Olt7dHlwZTpSX31dfSk7Y29uc3QgcFE9ZnVuY3Rpb24odCxlLG4pe3JldHVyblt0LGUsbl19O2Z1bmN0aW9uIG1RKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxNCksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe2NvbnN0IG49UGkodCkuaW5kZXg7cmV0dXJuIHpmKDIpLm9uRXhlY3V0aW9uRGlnZXN0Q2xpY2tlZC5lbWl0KG4pfSkpLENmKDEsImRpdiIsMTUpLFB1KDIpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj1lLmluZGV4LG89emYoMik7RGMoMSksTGYoInRpdGxlIix0Lm9wX3R5cGUpLGJmKCJuZ0NsYXNzIixyeSgzLHBRLHQuaXNfZ3JhcGg/ImZ1bmMtZ3JhcGgtZXhlY3V0aW9uIjoiIixuPT09by5mb2N1c2VkRXhlY3V0aW9uRGlzcGxheUluZGV4PyJmb2N1c2VkIjoiIixvLmRpc3BsYXlGb2N1c2VkQWxlcnRUeXBlc1tuXXx8IiIpKSxEYygxKSxrdSgiICIsdC5zaG9ydF9vcF90eXBlLCIgIil9fWZ1bmN0aW9uIGZRKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiwxMiksSG0oMSxtUSwzLDcsImRpdiIsMTMpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGJmKCJuZ0Zvck9mIix0LmRpc3BsYXlFeGVjdXRpb25EaWdlc3RzKX19ZnVuY3Rpb24gdVEodCxlKXtpZigxJnQmJih4ZigwKSx2ZigxLCJ0Zi1kZWJ1Z2dlci12Mi1leGVjdXRpb24tZGF0YSIsMTYpLE9mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGJmKCJmb2N1c2VkRXhlY3V0aW9uSW5kZXgiLHQuZm9jdXNlZEV4ZWN1dGlvbkluZGV4KX19Y2xhc3MgZ1F7Y29uc3RydWN0b3IoKXt0aGlzLmFjdGl2ZVJ1bklkPW51bGwsdGhpcy5sb2FkaW5nTnVtRXhlY3V0aW9ucz0hMSx0aGlzLm51bUV4ZWN1dGlvbnM9MCx0aGlzLnNjcm9sbEJlZ2luSW5kZXg9MCx0aGlzLnNjcm9sbEJlZ2luSW5kZXhVcHBlckxpbWl0PTAsdGhpcy5wYWdlU2l6ZT0wLHRoaXMuZGlzcGxheUNvdW50PTAsdGhpcy5kaXNwbGF5RXhlY3V0aW9uRGlnZXN0cz1bXSx0aGlzLmRpc3BsYXlGb2N1c2VkQWxlcnRUeXBlcz1bXSx0aGlzLmZvY3VzZWRFeGVjdXRpb25JbmRleD1udWxsLHRoaXMuZm9jdXNlZEV4ZWN1dGlvbkRpc3BsYXlJbmRleD1udWxsLHRoaXMuZm9jdXNlZEV4ZWN1dGlvbkRhdGE9bnVsbCx0aGlzLm9uTmF2aWdhdGVMZWZ0PW5ldyBTeSx0aGlzLm9uTmF2aWdhdGVSaWdodD1uZXcgU3ksdGhpcy5vbkV4ZWN1dGlvbkRpZ2VzdENsaWNrZWQ9bmV3IFN5LHRoaXMub25TbGlkZXJDaGFuZ2U9bmV3IFN5fX1nUS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Z1EpfSxnUS7JtWNtcD1zbyh7dHlwZTpnUSxzZWxlY3RvcnM6W1sidGltZWxpbmUtY29tcG9uZW50Il1dLGlucHV0czp7YWN0aXZlUnVuSWQ6ImFjdGl2ZVJ1bklkIixsb2FkaW5nTnVtRXhlY3V0aW9uczoibG9hZGluZ051bUV4ZWN1dGlvbnMiLG51bUV4ZWN1dGlvbnM6Im51bUV4ZWN1dGlvbnMiLHNjcm9sbEJlZ2luSW5kZXg6InNjcm9sbEJlZ2luSW5kZXgiLHNjcm9sbEJlZ2luSW5kZXhVcHBlckxpbWl0OiJzY3JvbGxCZWdpbkluZGV4VXBwZXJMaW1pdCIscGFnZVNpemU6InBhZ2VTaXplIixkaXNwbGF5Q291bnQ6ImRpc3BsYXlDb3VudCIsZGlzcGxheUV4ZWN1dGlvbkRpZ2VzdHM6ImRpc3BsYXlFeGVjdXRpb25EaWdlc3RzIixkaXNwbGF5Rm9jdXNlZEFsZXJ0VHlwZXM6ImRpc3BsYXlGb2N1c2VkQWxlcnRUeXBlcyIsZm9jdXNlZEV4ZWN1dGlvbkluZGV4OiJmb2N1c2VkRXhlY3V0aW9uSW5kZXgiLGZvY3VzZWRFeGVjdXRpb25EaXNwbGF5SW5kZXg6ImZvY3VzZWRFeGVjdXRpb25EaXNwbGF5SW5kZXgiLGZvY3VzZWRFeGVjdXRpb25EYXRhOiJmb2N1c2VkRXhlY3V0aW9uRGF0YSJ9LG91dHB1dHM6e29uTmF2aWdhdGVMZWZ0OiJvbk5hdmlnYXRlTGVmdCIsb25OYXZpZ2F0ZVJpZ2h0OiJvbk5hdmlnYXRlUmlnaHQiLG9uRXhlY3V0aW9uRGlnZXN0Q2xpY2tlZDoib25FeGVjdXRpb25EaWdlc3RDbGlja2VkIixvblNsaWRlckNoYW5nZToib25TbGlkZXJDaGFuZ2UifSxkZWNsczo5LHZhcnM6NCxjb25zdHM6W1sxLCJ0aW1lbGluZS10aXRsZSJdLFsxLCJleGVjdXRpb24tY291bnQiXSxbMSwidG9wLWxldmVsLWV4ZWN1dGlvbnMiXSxbImNsYXNzIiwibmF2aWdhdGlvbi1zZWN0aW9uIiw0LCJuZ0lmIl0sWyJjbGFzcyIsImV4ZWN1dGlvbi10aW1lbGluZSIsNCwibmdJZiJdLFs0LCJuZ0lmIl0sWzEsIm5hdmlnYXRpb24tc2VjdGlvbiJdLFsibWF0LWJ1dHRvbiIsIiIsMSwibmF2aWdhdGlvbi1idXR0b24tbGVmdCIsMywiY2xpY2siXSxbMSwibmF2aWdhdGlvbi1wb3NpdGlvbi1pbmZvIl0sWyJtYXQtYnV0dG9uIiwiIiwxLCJuYXZpZ2F0aW9uLWJ1dHRvbi1yaWdodCIsMywiY2xpY2siXSxbImNsYXNzIiwidGltZWxpbmUtc2xpZGVyIiwic3RlcCIsIjEiLDMsIm1pbiIsIm1heCIsInZhbHVlIiwiaW5wdXQiLDQsIm5nSWYiXSxbInN0ZXAiLCIxIiwxLCJ0aW1lbGluZS1zbGlkZXIiLDMsIm1pbiIsIm1heCIsInZhbHVlIiwiaW5wdXQiXSxbMSwiZXhlY3V0aW9uLXRpbWVsaW5lIl0sWzMsImNsaWNrIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbMywiY2xpY2siXSxbMSwiZXhlY3V0aW9uLWRpZ2VzdCIsMywibmdDbGFzcyIsInRpdGxlIl0sWzMsImZvY3VzZWRFeGVjdXRpb25JbmRleCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZGl2IiksQ2YoMSwiZGl2IiwwKSxQdSgyLCIgUHl0aG9uIEV4ZWN1dGlvbiBUaW1lbGluZSAiKSxDZigzLCJzcGFuIiwxKSxQdSg0KSxNZigpLE1mKCksQ2YoNSwiZGl2IiwyKSxIbSg2LGRRLDgsNCwiZGl2IiwzKSxIbSg3LGZRLDIsMSwiZGl2Iiw0KSxIbSg4LHVRLDIsMSwibmctY29udGFpbmVyIiw1KSxNZigpLE1mKCkpLDImZSYmKERjKDQpLGt1KCIgKCIsbi5udW1FeGVjdXRpb25zLCIpICIpLERjKDIpLGJmKCJuZ0lmIixuLm51bUV4ZWN1dGlvbnMpLERjKDEpLGJmKCJuZ0lmIixuLm51bUV4ZWN1dGlvbnMpLERjKDEpLGJmKCJuZ0lmIixudWxsIT09bi5hY3RpdmVSdW5JZCYmbnVsbCE9PW4uZm9jdXNlZEV4ZWN1dGlvbkluZGV4KSl9LGRpcmVjdGl2ZXM6W1B2LE5MLHdKLHh2LEN2LGxRXSxzdHlsZXM6WyIuZXhlY3V0aW9uLWRpZ2VzdFtfbmdjb250ZW50LSVDT01QJV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlNWU4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBjb2xvcjogIzQyNTA2NjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGhlaWdodDogMTVweDtcbiAgcGFkZGluZzogMXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxMnB4O1xufVxuXG4uZXhlY3V0aW9uLWRpZ2VzdC5mdW5jLWdyYXBoLWV4ZWN1dGlvbltfbmdjb250ZW50LSVDT01QJV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdkYmY1O1xuICBjb2xvcjogIzRlNTY2NDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5leGVjdXRpb24tZGlnZXN0LmZvY3VzZWRbX25nY29udGVudC0lQ09NUCVdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDRiMztcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5leGVjdXRpb24tZGlnZXN0LkluZk5hbkFsZXJ0W19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTI1OTI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5cbi5leGVjdXRpb24tZGlnZXN0W19uZ2NvbnRlbnQtJUNPTVAlXTpob3ZlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZXhlY3V0aW9uLXRpbWVsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4udGltZWxpbmUtc2xpZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA0OHB4O1xuICBsZWZ0OiAzNDBweDsgXG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDQwcHg7XG59XG5cbiAgLnRpbWVsaW5lLXNsaWRlciAubWF0LXNsaWRlci10aHVtYiB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcmlnaHQ6IC00MHB4O1xuICB3aWR0aDogODBweDtcbn1cblxuXG4ubmF2aWdhdGlvbi1wb3NpdGlvbi1pbmZvW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubmF2aWdhdGlvbi1zZWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGhlaWdodDogNDhweDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEwMCU7XG59Il0sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGdRLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRpbWVsaW5lLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vdGltZWxpbmVfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vdGltZWxpbmVfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLG51bGwse2FjdGl2ZVJ1bklkOlt7dHlwZTpSX31dLGxvYWRpbmdOdW1FeGVjdXRpb25zOlt7dHlwZTpSX31dLG51bUV4ZWN1dGlvbnM6W3t0eXBlOlJffV0sc2Nyb2xsQmVnaW5JbmRleDpbe3R5cGU6Ul99XSxzY3JvbGxCZWdpbkluZGV4VXBwZXJMaW1pdDpbe3R5cGU6Ul99XSxwYWdlU2l6ZTpbe3R5cGU6Ul99XSxkaXNwbGF5Q291bnQ6W3t0eXBlOlJffV0sZGlzcGxheUV4ZWN1dGlvbkRpZ2VzdHM6W3t0eXBlOlJffV0sZGlzcGxheUZvY3VzZWRBbGVydFR5cGVzOlt7dHlwZTpSX31dLGZvY3VzZWRFeGVjdXRpb25JbmRleDpbe3R5cGU6Ul99XSxmb2N1c2VkRXhlY3V0aW9uRGlzcGxheUluZGV4Olt7dHlwZTpSX31dLGZvY3VzZWRFeGVjdXRpb25EYXRhOlt7dHlwZTpSX31dLG9uTmF2aWdhdGVMZWZ0Olt7dHlwZTpFX31dLG9uTmF2aWdhdGVSaWdodDpbe3R5cGU6RV99XSxvbkV4ZWN1dGlvbkRpZ2VzdENsaWNrZWQ6W3t0eXBlOkVffV0sb25TbGlkZXJDaGFuZ2U6W3t0eXBlOkVffV19KTtjb25zdCBoUT1bIl9fZm9yd2FyZF8iLCJfX2JhY2t3YXJkXyIsIl9faW5mZXJlbmNlXyJdO2NsYXNzIGJRe2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLmFjdGl2ZVJ1bklkJD10aGlzLnN0b3JlLnBpcGUoclModkspKSx0aGlzLmxvYWRpbmdOdW1FeGVjdXRpb25zJD10aGlzLnN0b3JlLnBpcGUoclMoYlMoQUssKHQ9PnQuc3RhdGU9PVVFLkxPQURJTkcpKSkpLHRoaXMuc2Nyb2xsQmVnaW5JbmRleCQ9dGhpcy5zdG9yZS5waXBlKHJTKHpLKSksdGhpcy5zY3JvbGxCZWdpbkluZGV4VXBwZXJMaW1pdCQ9dGhpcy5zdG9yZS5waXBlKHJTKGJTKE5LLEhLLCgodCxlKT0+TWF0aC5tYXgoMCx0LWUpKSkpKSx0aGlzLnBhZ2VTaXplJD10aGlzLnN0b3JlLnBpcGUoclMoSUspKSx0aGlzLmRpc3BsYXlDb3VudCQ9dGhpcy5zdG9yZS5waXBlKHJTKEhLKSksdGhpcy5kaXNwbGF5RXhlY3V0aW9uRGlnZXN0cyQ9dGhpcy5zdG9yZS5waXBlKHJTKGJTKEZLLCh0PT50Lm1hcCgodD0+KGZ1bmN0aW9uIGUodCxuPTEpe2lmKCF0KXJldHVybntvcF90eXBlOiIoTi9BKSIsc2hvcnRfb3BfdHlwZToiLi4iLGlzX2dyYXBoOiExfTtjb25zdCBvPWhRLmZpbHRlcigoZT0+dC5vcF90eXBlLnN0YXJ0c1dpdGgoZSkpKTtpZihvLmxlbmd0aCl7Y29uc3QgZT10Lm9wX3R5cGUuc2xpY2Uob1swXS5sZW5ndGgpO3JldHVybntvcF90eXBlOnQub3BfdHlwZSxzaG9ydF9vcF90eXBlOmUuc2xpY2UoMCxuKSxpc19ncmFwaDohMH19cmV0dXJue29wX3R5cGU6dC5vcF90eXBlLHNob3J0X29wX3R5cGU6dC5vcF90eXBlLnNsaWNlKDAsbiksaXNfZ3JhcGg6ITF9fSkodCkpKSkpKSksdGhpcy5kaXNwbGF5Rm9jdXNlZEFsZXJ0VHlwZXMkPXRoaXMuc3RvcmUucGlwZShyUyh0SikpLHRoaXMuZm9jdXNlZEV4ZWN1dGlvbkluZGV4JD10aGlzLnN0b3JlLnBpcGUoclMobkopKSx0aGlzLmZvY3VzZWRFeGVjdXRpb25EaXNwbGF5SW5kZXgkPXRoaXMuc3RvcmUucGlwZShyUyhvSikpLHRoaXMubnVtRXhlY3V0aW9ucyQ9dGhpcy5zdG9yZS5waXBlKHJTKE5LKSl9b25OYXZpZ2F0ZUxlZnQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKEJYKCkpfW9uTmF2aWdhdGVSaWdodCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goVlgoKSl9b25FeGVjdXRpb25EaWdlc3RDbGlja2VkKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goVVgoe2Rpc3BsYXlJbmRleDp0fSkpfW9uU2xpZGVyQ2hhbmdlKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goalgoe2luZGV4OnR9KSl9fWZ1bmN0aW9uIHlRKHQsZSl7MSZ0JiYoQ2YoMCwic3BhbiIpLFB1KDEsIiBPdXRwdXQgIiksTWYoKSl9ZnVuY3Rpb24gX1EodCxlKXsxJnQmJihDZigwLCJzcGFuIiksUHUoMSwiIElucHV0ICIpLE1mKCkpfWZ1bmN0aW9uIENRKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw2KSxDZigxLCJzcGFuIiw3KSxIbSgyLHlRLDIsMCwic3BhbiIsOCksSG0oMyxfUSwyLDAsInNwYW4iLDgpLE1mKCksUHUoNCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksYmYoIm5nU3dpdGNoIix0LmtpbmQpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLCJpbnB1dCIpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLCJjb25zdW1lciIpLERjKDEpLGt1KCIgc2xvdDogIix0LnNsb3QsIiAiKX19ZnVuY3Rpb24gTVEodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDkpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGt1KCIgIix0Lm9wRGF0YS5vcF90eXBlLCIgIil9fWZ1bmN0aW9uIHZRKHQsZSl7MSZ0JiYoQ2YoMCwic3BhbiIsMTApLFB1KDEsIiAoT3AgaW5mbyB1bmF2YWlsYWJsZS4pICIpLE1mKCkpfWJRLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxiUSkoZ2YoaVMpKX0sYlEuybVjbXA9c28oe3R5cGU6YlEsc2VsZWN0b3JzOltbInRmLWRlYnVnZ2VyLXYyLXRpbWVsaW5lIl1dLGRlY2xzOjEyLHZhcnM6MzMsY29uc3RzOltbMywiYWN0aXZlUnVuSWQiLCJsb2FkaW5nTnVtRXhlY3V0aW9ucyIsIm51bUV4ZWN1dGlvbnMiLCJzY3JvbGxCZWdpbkluZGV4Iiwic2Nyb2xsQmVnaW5JbmRleFVwcGVyTGltaXQiLCJwYWdlU2l6ZSIsImRpc3BsYXlDb3VudCIsImRpc3BsYXlFeGVjdXRpb25EaWdlc3RzIiwiZGlzcGxheUZvY3VzZWRBbGVydFR5cGVzIiwiZm9jdXNlZEV4ZWN1dGlvbkluZGV4IiwiZm9jdXNlZEV4ZWN1dGlvbkRpc3BsYXlJbmRleCIsIm9uTmF2aWdhdGVMZWZ0Iiwib25OYXZpZ2F0ZVJpZ2h0Iiwib25FeGVjdXRpb25EaWdlc3RDbGlja2VkIiwib25TbGlkZXJDaGFuZ2UiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsInRpbWVsaW5lLWNvbXBvbmVudCIsMCksUmYoIm9uTmF2aWdhdGVMZWZ0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uTmF2aWdhdGVMZWZ0KCl9KSkoIm9uTmF2aWdhdGVSaWdodCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vbk5hdmlnYXRlUmlnaHQoKX0pKSgib25FeGVjdXRpb25EaWdlc3RDbGlja2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkV4ZWN1dGlvbkRpZ2VzdENsaWNrZWQoZSl9KSkoIm9uU2xpZGVyQ2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblNsaWRlckNoYW5nZShlKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSxfeSg0LCJhc3luYyIpLF95KDUsImFzeW5jIiksX3koNiwiYXN5bmMiKSxfeSg3LCJhc3luYyIpLF95KDgsImFzeW5jIiksX3koOSwiYXN5bmMiKSxfeSgxMCwiYXN5bmMiKSxfeSgxMSwiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJhY3RpdmVSdW5JZCIsQ3koMSwxMSxuLmFjdGl2ZVJ1bklkJCkpKCJsb2FkaW5nTnVtRXhlY3V0aW9ucyIsQ3koMiwxMyxuLmxvYWRpbmdOdW1FeGVjdXRpb25zJCkpKCJudW1FeGVjdXRpb25zIixDeSgzLDE1LG4ubnVtRXhlY3V0aW9ucyQpKSgic2Nyb2xsQmVnaW5JbmRleCIsQ3koNCwxNyxuLnNjcm9sbEJlZ2luSW5kZXgkKSkoInNjcm9sbEJlZ2luSW5kZXhVcHBlckxpbWl0IixDeSg1LDE5LG4uc2Nyb2xsQmVnaW5JbmRleFVwcGVyTGltaXQkKSkoInBhZ2VTaXplIixDeSg2LDIxLG4ucGFnZVNpemUkKSkoImRpc3BsYXlDb3VudCIsQ3koNywyMyxuLmRpc3BsYXlDb3VudCQpKSgiZGlzcGxheUV4ZWN1dGlvbkRpZ2VzdHMiLEN5KDgsMjUsbi5kaXNwbGF5RXhlY3V0aW9uRGlnZXN0cyQpKSgiZGlzcGxheUZvY3VzZWRBbGVydFR5cGVzIixDeSg5LDI3LG4uZGlzcGxheUZvY3VzZWRBbGVydFR5cGVzJCkpKCJmb2N1c2VkRXhlY3V0aW9uSW5kZXgiLEN5KDEwLDI5LG4uZm9jdXNlZEV4ZWN1dGlvbkluZGV4JCkpKCJmb2N1c2VkRXhlY3V0aW9uRGlzcGxheUluZGV4IixDeSgxMSwzMSxuLmZvY3VzZWRFeGVjdXRpb25EaXNwbGF5SW5kZXgkKSl9LGRpcmVjdGl2ZXM6W2dRXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoYlEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGYtZGVidWdnZXItdjItdGltZWxpbmUiLHRlbXBsYXRlOidcbiAgICA8dGltZWxpbmUtY29tcG9uZW50XG4gICAgICBbYWN0aXZlUnVuSWRdPSJhY3RpdmVSdW5JZCQgfCBhc3luYyJcbiAgICAgIFtsb2FkaW5nTnVtRXhlY3V0aW9uc109ImxvYWRpbmdOdW1FeGVjdXRpb25zJCB8IGFzeW5jIlxuICAgICAgW251bUV4ZWN1dGlvbnNdPSJudW1FeGVjdXRpb25zJCB8IGFzeW5jIlxuICAgICAgW3Njcm9sbEJlZ2luSW5kZXhdPSJzY3JvbGxCZWdpbkluZGV4JCB8IGFzeW5jIlxuICAgICAgW3Njcm9sbEJlZ2luSW5kZXhVcHBlckxpbWl0XT0ic2Nyb2xsQmVnaW5JbmRleFVwcGVyTGltaXQkIHwgYXN5bmMiXG4gICAgICBbcGFnZVNpemVdPSJwYWdlU2l6ZSQgfCBhc3luYyJcbiAgICAgIFtkaXNwbGF5Q291bnRdPSJkaXNwbGF5Q291bnQkIHwgYXN5bmMiXG4gICAgICBbZGlzcGxheUV4ZWN1dGlvbkRpZ2VzdHNdPSJkaXNwbGF5RXhlY3V0aW9uRGlnZXN0cyQgfCBhc3luYyJcbiAgICAgIFtkaXNwbGF5Rm9jdXNlZEFsZXJ0VHlwZXNdPSJkaXNwbGF5Rm9jdXNlZEFsZXJ0VHlwZXMkIHwgYXN5bmMiXG4gICAgICBbZm9jdXNlZEV4ZWN1dGlvbkluZGV4XT0iZm9jdXNlZEV4ZWN1dGlvbkluZGV4JCB8IGFzeW5jIlxuICAgICAgW2ZvY3VzZWRFeGVjdXRpb25EaXNwbGF5SW5kZXhdPSJmb2N1c2VkRXhlY3V0aW9uRGlzcGxheUluZGV4JCB8IGFzeW5jIlxuICAgICAgKG9uTmF2aWdhdGVMZWZ0KT0ib25OYXZpZ2F0ZUxlZnQoKSJcbiAgICAgIChvbk5hdmlnYXRlUmlnaHQpPSJvbk5hdmlnYXRlUmlnaHQoKSJcbiAgICAgIChvbkV4ZWN1dGlvbkRpZ2VzdENsaWNrZWQpPSJvbkV4ZWN1dGlvbkRpZ2VzdENsaWNrZWQoJGV2ZW50KSJcbiAgICAgIChvblNsaWRlckNoYW5nZSk9Im9uU2xpZGVyQ2hhbmdlKCRldmVudCkiXG4gICAgPjwvdGltZWxpbmUtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y29uc3QgeFE9ZnVuY3Rpb24odCl7cmV0dXJuW3RdfTtjbGFzcyBPUXtjb25zdHJ1Y3Rvcigpe3RoaXMub25PcE5hbWVDbGljaz1uZXcgU3l9fWZ1bmN0aW9uIFBRKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxMyksQ2YoMSwiZGl2IiwxNCksUHUoMiksTWYoKSxDZigzLCJncmFwaC1vcCIsMTUpLFJmKCJvbk9wTmFtZUNsaWNrIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtjb25zdCBvPXpmKDMpO3JldHVybiBvLm9uR3JhcGhPcE5hdmlnYXRlLmVtaXQoe29wX25hbWU6bi5vcF9uYW1lLGdyYXBoX2lkOm8uZ3JhcGhJZH0pfSkpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj1lLmluZGV4O0RjKDIpLGt1KCJJbnB1dCBzbG90ICIsbiwiOiIpLERjKDEpLGJmKCJraW5kIiwiaW5wdXQiKSgib3BOYW1lIix0Lm9wX25hbWUpKCJzbG90Iix0Lm91dHB1dF9zbG90KSgib3BEYXRhIix0LmRhdGEpfX1mdW5jdGlvbiB3USh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTEpLENmKDEsImRpdiIpLEhtKDIsUFEsNCw1LCJkaXYiLDEyKSxNZigpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYygyKSxiZigibmdGb3JPZiIsdC5pbnB1dE9wcyl9fWZ1bmN0aW9uIGtRKHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxNiksUHUoMSwiIChUaGlzIG9wIGhhcyBubyBpbnB1dCB0ZW5zb3IuKSAiKSxNZigpKX1mdW5jdGlvbiBTUSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsMjMpLENmKDEsImdyYXBoLW9wIiwxNSksUmYoIm9uT3BOYW1lQ2xpY2siLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoNCk7cmV0dXJuIG8ub25HcmFwaE9wTmF2aWdhdGUuZW1pdCh7b3BfbmFtZTpuLm9wX25hbWUsZ3JhcGhfaWQ6by5ncmFwaElkfSl9KSksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdDtEYygxKSxiZigia2luZCIsImNvbnN1bWVyIikoIm9wTmFtZSIsdC5vcF9uYW1lKSgic2xvdCIsdC5pbnB1dF9zbG90KSgib3BEYXRhIix0LmRhdGEpfX1mdW5jdGlvbiBEUSh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTkpLENmKDEsImRpdiIsMjApLFB1KDIpLENmKDMsInNwYW4iKSxSaCg0LDIxKSxNZigpLFB1KDUsIikgIiksTWYoKSxIbSg2LFNRLDIsNCwiZGl2IiwyMiksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49ZS5pbmRleDtEYygyKSxTdSgiIE91dHB1dCBzbG90ICIsbiwiOiAoIix0Lmxlbmd0aCwiICIpLERjKDIpLEFoKHQubGVuZ3RoKSxUaCg0KSxEYygyKSxiZigibmdGb3JPZiIsdCl9fWZ1bmN0aW9uIFJRKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiwxNyksQ2YoMSwiZGl2IiksSG0oMixEUSw3LDQsImRpdiIsMTgpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDIpLGJmKCJuZ0Zvck9mIix0LmNvbnN1bWVyT3BzKX19ZnVuY3Rpb24gRVEodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDI0KSxQdSgxKSxDZigyLCJzcGFuIiksUmgoMywyNSksTWYoKSxQdSg0LCIgYW5kIG5vIGNvbnN1bWVyLikgIiksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDEpLGt1KCIgKFRoaXMgb3AgaGFzICIsdC5vcEluZm8uY29uc3VtZXJzLmxlbmd0aCwiIG91dHB1dCAiKSxEYygyKSxBaCh0Lm9wSW5mby5jb25zdW1lcnMubGVuZ3RoKSxUaCgzKX19ZnVuY3Rpb24gQVEodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiKSxIbSgxLHdRLDMsMSwiZGl2Iiw0KSxIbSgyLGtRLDIsMCwibmctdGVtcGxhdGUiLG51bGwsNSxxeSksQ2YoNCwiZGl2Iiw2KSxDZig1LCJkaXYiLDcpLFB1KDYsIk9wOiIpLE1mKCksQ2YoNywiZ3JhcGgtb3AiLDgpLFJmKCJvbk9wTmFtZUNsaWNrIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtjb25zdCBvPXpmKCk7cmV0dXJuIG8ub25HcmFwaE9wTmF2aWdhdGUuZW1pdCh7b3BfbmFtZTpuLm9wX25hbWUsZ3JhcGhfaWQ6by5ncmFwaElkfSl9KSksTWYoKSxNZigpLEhtKDgsUlEsMywxLCJkaXYiLDkpLEhtKDksRVEsNSwyLCJuZy10ZW1wbGF0ZSIsbnVsbCwxMCxxeSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9Rm0oMyksZT1GbSgxMCksbj16ZigpO0RjKDEpLGJmKCJuZ0lmIixuLmlucHV0T3BzLmxlbmd0aD4wKSgibmdJZkVsc2UiLHQpLERjKDYpLGJmKCJraW5kIiwic2VsZiIpKCJvcE5hbWUiLG4ub3BJbmZvLm9wX25hbWUpKCJvcERhdGEiLG4ub3BJbmZvKSxEYygxKSxiZigibmdJZiIsbi50b3RhbE51bUNvbnN1bWVycz4wKSgibmdJZkVsc2UiLGUpfX1mdW5jdGlvbiBUUSh0LGUpezEmdCYmKENmKDAsInNwYW4iLDI2KSxQdSgxLCIgKE9wIGluZm8gdW5hdmFpbGFibGUuKSAiKSxNZigpKX1mdW5jdGlvbiBOUSh0LGUpezEmdCYmKENmKDAsImRpdiIsMjcpLFB1KDEsIiBObyBncmFwaCBvcCBzZWxlY3RlZC4gQ2xpY2sgYSB0ZW5zb3IgbmFtZSBpbiB0aGUgR3JhcGggRXhlY3V0aW9ucyB0YWJsZSB0byB2aWV3IHRoZSBuZWlnaGJvcmhvb2Qgb2YgdGhlIHRlbnNvcidzIG9wIGluIGl0cyBncmFwaC4gIiksTWYoKSl9T1EuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE9RKX0sT1EuybVjbXA9c28oe3R5cGU6T1Esc2VsZWN0b3JzOltbImdyYXBoLW9wIl1dLGlucHV0czp7a2luZDoia2luZCIsb3BOYW1lOiJvcE5hbWUiLHNsb3Q6InNsb3QiLG9wRGF0YToib3BEYXRhIn0sb3V0cHV0czp7b25PcE5hbWVDbGljazoib25PcE5hbWVDbGljayJ9LGRlY2xzOjksdmFyczo3LGNvbnN0czpbWzEsIm9wLWNvbnRhaW5lciJdLFsxLCJpbnB1dC10ZW5zb3ItbmFtZSJdLFsxLCJvcC1uYW1lIiwzLCJuZ0NsYXNzIiwiY2xpY2siXSxbImNsYXNzIiwic2xvdCIsNCwibmdJZiJdLFsiY2xhc3MiLCJvcC10eXBlIiw0LCJuZ0lmIiwibmdJZkVsc2UiXSxbIm9wSW5mb01pc3NpbmciLCIiXSxbMSwic2xvdCJdLFszLCJuZ1N3aXRjaCJdLFs0LCJuZ1N3aXRjaENhc2UiXSxbMSwib3AtdHlwZSJdLFsxLCJvcC1pbmZvLW1pc3NpbmciXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKENmKDAsImJ1dHRvbiIsMCksQ2YoMSwiZGl2IiwxKSxDZigyLCJidXR0b24iLDIpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vbk9wTmFtZUNsaWNrLmVtaXQoe29wX25hbWU6bi5vcE5hbWV9KX0pKSxDZigzLCJzcGFuIiksUHUoNCksTWYoKSxNZigpLEhtKDUsQ1EsNSw0LCJkaXYiLDMpLE1mKCksSG0oNixNUSwyLDEsImRpdiIsNCksSG0oNyx2USwyLDAsIm5nLXRlbXBsYXRlIixudWxsLDUscXkpLE1mKCkpLDImZSl7Y29uc3QgdD1GbSg4KTtEYygyKSxiZigibmdDbGFzcyIsaXkoNSx4USwic2VsZiI9PT1uLmtpbmQ/InNlbGYtb3AtbmFtZSI6IiIpKSxEYygyKSx3dShuLm9wTmFtZSksRGMoMSksYmYoIm5nSWYiLCJzZWxmIiE9PW4ua2luZCksRGMoMSksYmYoIm5nSWYiLHZvaWQgMCE9PW4ub3BEYXRhKSgibmdJZkVsc2UiLHQpfX0sZGlyZWN0aXZlczpbQ3YsUHYsRHYsUnZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5vcC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAub3AtbmFtZVtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXR9Lm9wLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjJweCBzb2xpZCAjZWJlYmViO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6MXB4IDNweCAjZWVlO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDVweCAwIDA7cGFkZGluZzoycHggNnB4O3RleHQtYWxpZ246cmlnaHQ7d2lkdGg6MjAwcHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLm9wLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5vcC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlcjoycHggc29saWQgIzU1NX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAub3AtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLm9wLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym94LXNoYWRvdzoxcHggM3B4ICM3NTc1NzV9Lm9wLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXN7b3V0bGluZTowfS5vcC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmhvdmVye2JvcmRlcjoycHggc29saWQgI2ZmZDNiMn0ub3AtaW5mby1taXNzaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpncmF5fS5vcC1uYW1lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdy13cmFwOmFueXdoZXJlO3BhZGRpbmc6MDt0ZXh0LWFsaWduOnJpZ2h0O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lm9wLW5hbWVbX25nY29udGVudC0lQ09NUCVdOmZvY3Vze291dGxpbmU6MH0ub3AtdHlwZVtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZWNlZmYxO2JvcmRlcjoxcHggc29saWQgI2ViZWJlYjtib3JkZXItcmFkaXVzOjRweDtmb250LWZhbWlseToiUm9ib3RvIE1vbm8iLG1vbm9zcGFjZTtmb250LXNpemU6MTBweDtoZWlnaHQ6MTRweDtsaW5lLWhlaWdodDoxNHB4O3BhZGRpbmc6MXB4IDNweDt3aWR0aDptYXgtY29udGVudDtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tdG9wOjNweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAub3AtdHlwZVtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5vcC10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MXB4IHNvbGlkICM1NTV9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLm9wLXR5cGVbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAub3AtdHlwZVtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojNDU1YTY0fS5zZWxmLW9wLW5hbWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OmJvbGQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnNsb3RbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnNsb3RbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc2xvdFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9J119KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE9RLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImdyYXBoLW9wIix0ZW1wbGF0ZVVybDoiZ3JhcGhfb3BfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vZ3JhcGhfb3BfY29tcG9uZW50LmNzcyJdfV19XSxudWxsLHtraW5kOlt7dHlwZTpSX31dLG9wTmFtZTpbe3R5cGU6Ul99XSxzbG90Olt7dHlwZTpSX31dLG9wRGF0YTpbe3R5cGU6Ul99XSxvbk9wTmFtZUNsaWNrOlt7dHlwZTpFX31dfSk7Y2xhc3MgelF7Y29uc3RydWN0b3IoKXt0aGlzLm9uR3JhcGhPcE5hdmlnYXRlPW5ldyBTeX1nZXQgZ3JhcGhJZCgpe3JldHVybiB0aGlzLm9wSW5mby5ncmFwaF9pZHNbdGhpcy5vcEluZm8uZ3JhcGhfaWRzLmxlbmd0aC0xXX1nZXQgdG90YWxOdW1Db25zdW1lcnMoKXtyZXR1cm4gdGhpcy5jb25zdW1lck9wcy5yZWR1Y2UoKCh0LGUpPT50K2UubGVuZ3RoKSwwKX19elEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHpRKX0selEuybVjbXA9c28oe3R5cGU6elEsc2VsZWN0b3JzOltbImdyYXBoLWNvbXBvbmVudCJdXSxpbnB1dHM6e29wSW5mbzoib3BJbmZvIixpbnB1dE9wczoiaW5wdXRPcHMiLGNvbnN1bWVyT3BzOiJjb25zdW1lck9wcyJ9LG91dHB1dHM6e29uR3JhcGhPcE5hdmlnYXRlOiJvbkdyYXBoT3BOYXZpZ2F0ZSJ9LGRlY2xzOjksdmFyczoyLGNvbnN0czpmdW5jdGlvbigpe2xldCB0LGUsbixvO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXt0PWdvb2cuZ2V0TXNnKCJ7VkFSX1BMVVJBTCwgcGx1cmFsLCA9MCB7Y29uc3VtZXJ9ID0xIHtjb25zdW1lcn0gb3RoZXIge2NvbnN1bWVyc319Iil9ZWxzZSB0PSRsb2NhbGl6ZWA64pCfZmU1NWY5YjE5M2VhMjBhYWU1YjU2MzVlNjhkOTM4NjUwMzg0Nzc0NuKQnzQ5NTUxMzM3NDA4NDEyOTk4NTE6e1ZBUl9QTFVSQUwsIHBsdXJhbCwgPTAge2NvbnN1bWVyfSA9MSB7Y29uc3VtZXJ9IG90aGVyIHtjb25zdW1lcnN9fWA7aWYodD1OaCh0LHtWQVJfUExVUkFMOiLvv70w77+9In0pLCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtlPWdvb2cuZ2V0TXNnKCIgeyRpY3V9Iix7aWN1OnR9KX1lbHNlIGU9JGxvY2FsaXplYDrikJ9iYWE0NjBlMmYyYjg1N2UyNjI5MmIyNDZmYzE4YWUwZWE5YjVlNTM34pCfNTU1NjM0MDM0Mzg1MDE2NTUxNjogJHt0fTpJQ1U6YDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7bj1nb29nLmdldE1zZygie1ZBUl9QTFVSQUwsIHBsdXJhbCwgPTAge3RlbnNvcn0gPTEge3RlbnNvcn0gb3RoZXIge3RlbnNvcnN9fSIpfWVsc2Ugbj0kbG9jYWxpemVgOuKQnzZhYTc1ZjYyN2UwZGMxNjE1MGVmNDQ4NDY0ZTBjODU3YWFhMGRjMTjikJ81MTU2NzEyOTM1MTUwNTg2ODc4OntWQVJfUExVUkFMLCBwbHVyYWwsID0wIHt0ZW5zb3J9ID0xIHt0ZW5zb3J9IG90aGVyIHt0ZW5zb3JzfX1gO2lmKG49Tmgobix7VkFSX1BMVVJBTDoi77+9MO+/vSJ9KSwidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7bz1nb29nLmdldE1zZygiIHskaWN1fSIse2ljdTpufSl9ZWxzZSBvPSRsb2NhbGl6ZWA64pCfODkzNDc2YzJjNDIxY2VlNDc2NjNjOTczMmZhNDFhNzUwZDNhNzNkZuKQnzI0NjA2NzA1MzczNTE2MjYzNDogJHtufTpJQ1U6YDtyZXR1cm5bWzEsImdyYXBoLXN0cnVjdHVyZS1jb250YWluZXIiXSxbNCwibmdJZiIsIm5nSWZFbHNlIl0sWyJvcEluZm9NaXNzaW5nIiwiIl0sWyJub09wRm9jdXNlZCIsIiJdLFsiY2xhc3MiLCJpbnB1dHMtY29udGFpbmVyIiw0LCJuZ0lmIiwibmdJZkVsc2UiXSxbIm5vSW5wdXRzIiwiIl0sWzEsInNlbGYtb3AtY29udGFpbmVyIl0sWzEsInNlbGYtb3AtaGVhZGVyIl0sWzMsImtpbmQiLCJvcE5hbWUiLCJvcERhdGEiLCJvbk9wTmFtZUNsaWNrIl0sWyJjbGFzcyIsImNvbnN1bWVycy1jb250YWluZXIiLDQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsibm9Db25zdW1lcnMiLCIiXSxbMSwiaW5wdXRzLWNvbnRhaW5lciJdLFsiY2xhc3MiLCJpbnB1dC1vcC1zZWN0aW9uIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbMSwiaW5wdXQtb3Atc2VjdGlvbiJdLFsxLCJpbnB1dC1zbG90LWhlYWRlciJdLFszLCJraW5kIiwib3BOYW1lIiwic2xvdCIsIm9wRGF0YSIsIm9uT3BOYW1lQ2xpY2siXSxbMSwiaW5wdXRzLWNvbnRhaW5lciIsIm5vLWlucHV0cy1pbmRpY2F0b3IiXSxbMSwiY29uc3VtZXJzLWNvbnRhaW5lciJdLFsiY2xhc3MiLCJzbG90LWNvbnN1bWVycy1jb250YWluZXIiLDQsIm5nRm9yIiwibmdGb3JPZiJdLFsxLCJzbG90LWNvbnN1bWVycy1jb250YWluZXIiXSxbMSwic2xvdC1jb25zdW1lcnMtaGVhZGVyIl0sZSxbImNsYXNzIiwiY29uc3VtZXItc2VjdGlvbiIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzEsImNvbnN1bWVyLXNlY3Rpb24iXSxbMSwib3AtY29uc3VtZXJzLWNvbnRhaW5lciJdLG8sWzEsIm9wLWluZm8tbWlzc2luZyJdLFsxLCJuby1vcC1mb2N1c2VkIl1dfSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiZGl2IiksQ2YoMSwiZGl2IiksUHUoMiwiR3JhcGggU3RydWN0dXJlIiksTWYoKSxDZigzLCJkaXYiLDApLEhtKDQsQVEsMTEsNywiZGl2IiwxKSxNZigpLEhtKDUsVFEsMiwwLCJuZy10ZW1wbGF0ZSIsbnVsbCwyLHF5KSxIbSg3LE5RLDIsMCwibmctdGVtcGxhdGUiLG51bGwsMyxxeSksTWYoKSksMiZlKXtjb25zdCB0PUZtKDgpO0RjKDQpLGJmKCJuZ0lmIixudWxsIT1uLm9wSW5mbykoIm5nSWZFbHNlIix0KX19LGRpcmVjdGl2ZXM6W1B2LE9RLHh2XSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde292ZXJmbG93LXk6YXV0b30uY29uc3VtZXJzLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206NXB4O292ZXJmbG93LXg6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LmNvbnN1bWVyLXNlY3Rpb25bX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjVweCAwfS5ncmFwaC1zdHJ1Y3R1cmUtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtvdmVyZmxvdy15OmF1dG87d2hpdGUtc3BhY2U6bm93cmFwfS5pbnB1dHMtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMik7bWFyZ2luLXRvcDo1cHg7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmctYm90dG9tOjA7d2hpdGUtc3BhY2U6bm93cmFwfS5pbnB1dC1vcC1zZWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKTtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tcmlnaHQ6NXB4O3BhZGRpbmctYm90dG9tOjVweH0uaW5wdXQtc2xvdC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6I2ZmZjA5OTttYXJnaW4tYm90dG9tOjVweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuaW5wdXQtc2xvdC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuaW5wdXQtc2xvdC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6I2U2NTEwMH0uaW5wdXQtdGVuc29yLW5hbWVbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwfS5uby1vcC1mb2N1c2VkW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpncmF5O2ZvbnQtZmFtaWx5OiJSb2JvdG8iLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxM3B4O3doaXRlLXNwYWNlOm5vcm1hbH0uc2VsZi1vcC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OmJvbGQ7bWFyZ2luLWJvdHRvbTo1cHh9LnNlbGYtb3AtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMik7cGFkZGluZy1ib3R0b206NXB4fS5zbG90LWNvbnN1bWVycy1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDo1cHg7cGFkZGluZy10b3A6NXB4O3ZlcnRpY2FsLWFsaWduOnRvcH0uc2xvdC1jb25zdW1lcnMtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXB9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHpRLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImdyYXBoLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vZ3JhcGhfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vZ3JhcGhfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLG51bGwse29wSW5mbzpbe3R5cGU6Ul99XSxpbnB1dE9wczpbe3R5cGU6Ul99XSxjb25zdW1lck9wczpbe3R5cGU6Ul99XSxvbkdyYXBoT3BOYXZpZ2F0ZTpbe3R5cGU6RV99XX0pO2NsYXNzIElRe2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLm9wSW5mbyQ9dGhpcy5zdG9yZS5waXBlKHJTKEtLKSksdGhpcy5pbnB1dE9wcyQ9dGhpcy5zdG9yZS5waXBlKHJTKEpLKSksdGhpcy5jb25zdW1lck9wcyQ9dGhpcy5zdG9yZS5waXBlKHJTKCRLKSl9b25HcmFwaE9wTmF2aWdhdGUodCl7dGhpcy5zdG9yZS5kaXNwYXRjaChKWCh0KSl9fWZ1bmN0aW9uIEhRKHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxMiksUHUoMSwi4pa2IiksTWYoKSl9SVEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fElRKShnZihpUykpfSxJUS7JtWNtcD1zbyh7dHlwZTpJUSxzZWxlY3RvcnM6W1sidGYtZGVidWdnZXItdjItZ3JhcGgiXV0sZGVjbHM6NCx2YXJzOjksY29uc3RzOltbMywib3BJbmZvIiwiaW5wdXRPcHMiLCJjb25zdW1lck9wcyIsIm9uR3JhcGhPcE5hdmlnYXRlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJncmFwaC1jb21wb25lbnQiLDApLFJmKCJvbkdyYXBoT3BOYXZpZ2F0ZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25HcmFwaE9wTmF2aWdhdGUoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksTWYoKSksMiZlJiZiZigib3BJbmZvIixDeSgxLDMsbi5vcEluZm8kKSkoImlucHV0T3BzIixDeSgyLDUsbi5pbnB1dE9wcyQpKSgiY29uc3VtZXJPcHMiLEN5KDMsNyxuLmNvbnN1bWVyT3BzJCkpfSxkaXJlY3RpdmVzOlt6UV0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKElRLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRmLWRlYnVnZ2VyLXYyLWdyYXBoIix0ZW1wbGF0ZTonXG4gICAgPGdyYXBoLWNvbXBvbmVudFxuICAgICAgW29wSW5mb109Im9wSW5mbyQgfCBhc3luYyJcbiAgICAgIFtpbnB1dE9wc109ImlucHV0T3BzJCB8IGFzeW5jIlxuICAgICAgW2NvbnN1bWVyT3BzXT0iY29uc3VtZXJPcHMkIHwgYXN5bmMiXG4gICAgICAob25HcmFwaE9wTmF2aWdhdGUpPSJvbkdyYXBoT3BOYXZpZ2F0ZSgkZXZlbnQpIlxuICAgID48L2dyYXBoLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBGUT1mdW5jdGlvbih0LGUpe3JldHVybnt0ZW5zb3JEZWJ1Z01vZGU6dCxhcnJheTplfX07ZnVuY3Rpb24gTFEodCxlKXtpZigxJnQmJnZmKDAsImRlYnVnLXRlbnNvci12YWx1ZSIsMTcpLDImdCl7Y29uc3QgdD16ZigyKS4kaW1wbGljaXQsZT16ZigyKTtiZigiZGVidWdUZW5zb3JWYWx1ZSIsZS5wYXJzZURlYnVnVGVuc29yVmFsdWUoYXkoMSxGUSxlLmdyYXBoRXhlY3V0aW9uRGF0YVt0XS50ZW5zb3JfZGVidWdfbW9kZSxlLmdyYXBoRXhlY3V0aW9uRGF0YVt0XS5kZWJ1Z190ZW5zb3JfdmFsdWUpKSl9fWZ1bmN0aW9uIEJRKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiksQ2YoMSwiZGl2IiwxMyksQ2YoMiwiYnV0dG9uIiwxNCksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO2NvbnN0IG49emYoKS4kaW1wbGljaXQsbz16ZigyKTtyZXR1cm4gby5vblRlbnNvck5hbWVDbGljay5lbWl0KHtpbmRleDpuLGdyYXBoX2lkOm8uZ3JhcGhFeGVjdXRpb25EYXRhW25dLmdyYXBoX2lkLG9wX25hbWU6by5ncmFwaEV4ZWN1dGlvbkRhdGFbbl0ub3BfbmFtZX0pfSkpLFB1KDMpLE1mKCksQ2YoNCwiZGl2IiwxNSksUHUoNSksTWYoKSxNZigpLEhtKDYsTFEsMSw0LCJkZWJ1Zy10ZW5zb3ItdmFsdWUiLDE2KSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpLiRpbXBsaWNpdCxlPXpmKDIpO0RjKDIpLExmKCJ0aXRsZSIsZS5nZXRUZW5zb3JOYW1lKHQpKSxEYygxKSxrdSgiICIsZS5nZXRUZW5zb3JOYW1lKHQpLCIgIiksRGMoMiksd3UoZS5ncmFwaEV4ZWN1dGlvbkRhdGFbdF0ub3BfdHlwZSksRGMoMSksYmYoIm5nSWYiLG51bGwhPT1lLmdyYXBoRXhlY3V0aW9uRGF0YVt0XS5kZWJ1Z190ZW5zb3JfdmFsdWUpfX1mdW5jdGlvbiBWUSh0LGUpezEmdCYmKENmKDAsImRpdiIsMTgpLFB1KDEsIiBMb2FkaW5nLi4uICIpLE1mKCkpfWNvbnN0IGpRPWZ1bmN0aW9uKHQpe3JldHVybnsiaW5wdXQtb2YtZm9jdXMiOnR9fTtmdW5jdGlvbiBVUSh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsNSksQ2YoMSwiZGl2Iiw2KSxDZigyLCJkaXYiLDcpLEhtKDMsSFEsMiwwLCJkaXYiLDgpLFB1KDQpLE1mKCksSG0oNSxCUSw3LDQsImRpdiIsOSksSG0oNixWUSwyLDAsIm5nLXRlbXBsYXRlIiwxMCwxMSxxeSksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj1GbSg3KSxvPXpmKDIpO0RjKDEpLGJmKCJuZ0NsYXNzIixpeSg1LGpRLG8uaXNJbnB1dE9mRm9jdXModCkpKSxEYygyKSxiZigibmdJZiIsdD09PW8uZm9jdXNJbmRleCksRGMoMSksa3UoIiAiLHQsIiAiKSxEYygxKSxiZigibmdJZiIsby5ncmFwaEV4ZWN1dGlvbkRhdGFbdF0pKCJuZ0lmRWxzZSIsbil9fWZ1bmN0aW9uIFdRKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IiwzKSxSZigic2Nyb2xsZWRJbmRleENoYW5nZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25TY3JvbGxlZEluZGV4Q2hhbmdlLmVtaXQobil9KSksSG0oMSxVUSw4LDcsImRpdiIsNCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxiZigiY2RrVmlydHVhbEZvck9mIix0LmdyYXBoRXhlY3V0aW9uSW5kaWNlcyl9fWNsYXNzIEdRe2NvbnN0cnVjdG9yKCl7dGhpcy5vblNjcm9sbGVkSW5kZXhDaGFuZ2U9bmV3IFN5LHRoaXMub25UZW5zb3JOYW1lQ2xpY2s9bmV3IFN5LHRoaXMucGFyc2VEZWJ1Z1RlbnNvclZhbHVlPUFKLHRoaXMuVEVTVF9PTkxZPXtnZXRWaWV3UG9ydDooKT0+dGhpcy52aWV3UG9ydH19bmdPbkNoYW5nZXModCl7aWYodGhpcy52aWV3UG9ydCYmdC5mb2N1c0luZGV4JiZudWxsIT09dC5mb2N1c0luZGV4LmN1cnJlbnRWYWx1ZSl7Y29uc3QgZT10aGlzLnZpZXdQb3J0LmdldFJlbmRlcmVkUmFuZ2UoKSxuPXQuZm9jdXNJbmRleC5jdXJyZW50VmFsdWUsbz1NYXRoLnJvdW5kKChlLmVuZC1lLnN0YXJ0KS8zKSxpPU1hdGgubWF4KG4tbywwKTt0aGlzLnZpZXdQb3J0LnNjcm9sbFRvSW5kZXgoaSxuPj1lLnN0YXJ0JiZuPGUuZW5kPyJzbW9vdGgiOnZvaWQgMCl9fWdldFRlbnNvck5hbWUodCl7cmV0dXJuYCR7dGhpcy5ncmFwaEV4ZWN1dGlvbkRhdGFbdF0ub3BfbmFtZX06JHt0aGlzLmdyYXBoRXhlY3V0aW9uRGF0YVt0XS5vdXRwdXRfc2xvdH1gfWlzSW5wdXRPZkZvY3VzKHQpe3JldHVybiBudWxsIT09dGhpcy5mb2N1c0lucHV0SW5kaWNlcyYmdGhpcy5mb2N1c0lucHV0SW5kaWNlcy5pbmNsdWRlcyh0KX19R1EuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEdRKX0sR1EuybVjbXA9c28oe3R5cGU6R1Esc2VsZWN0b3JzOltbImdyYXBoLWV4ZWN1dGlvbnMtY29tcG9uZW50Il1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeSh0Qiw1KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLnZpZXdQb3J0PXQuZmlyc3QpfX0saW5wdXRzOntudW1HcmFwaEV4ZWN1dGlvbnM6Im51bUdyYXBoRXhlY3V0aW9ucyIsZ3JhcGhFeGVjdXRpb25EYXRhOiJncmFwaEV4ZWN1dGlvbkRhdGEiLGdyYXBoRXhlY3V0aW9uSW5kaWNlczoiZ3JhcGhFeGVjdXRpb25JbmRpY2VzIixmb2N1c0luZGV4OiJmb2N1c0luZGV4Iixmb2N1c0lucHV0SW5kaWNlczoiZm9jdXNJbnB1dEluZGljZXMifSxvdXRwdXRzOntvblNjcm9sbGVkSW5kZXhDaGFuZ2U6Im9uU2Nyb2xsZWRJbmRleENoYW5nZSIsb25UZW5zb3JOYW1lQ2xpY2s6Im9uVGVuc29yTmFtZUNsaWNrIn0sZmVhdHVyZXM6W3FvXSxkZWNsczo0LHZhcnM6Mixjb25zdHM6W1sxLCJncmFwaC1leGVjdXRpb25zLWNvbnRhaW5lciJdLFsxLCJncmFwaC1leGVjdXRpb25zLXRpdGxlIl0sWyJpdGVtU2l6ZSIsIjM4IiwiY2xhc3MiLCJncmFwaC1leGVjdXRpb25zLXZpZXdwb3J0IiwzLCJzY3JvbGxlZEluZGV4Q2hhbmdlIiw0LCJuZ0lmIl0sWyJpdGVtU2l6ZSIsIjM4IiwxLCJncmFwaC1leGVjdXRpb25zLXZpZXdwb3J0IiwzLCJzY3JvbGxlZEluZGV4Q2hhbmdlIl0sWyJjbGFzcyIsInRlbnNvci1jb250YWluZXIiLDQsImNka1ZpcnR1YWxGb3IiLCJjZGtWaXJ0dWFsRm9yT2YiXSxbMSwidGVuc29yLWNvbnRhaW5lciJdLFsxLCJ0ZW5zb3ItaXRlbSIsMywibmdDbGFzcyJdLFsxLCJncmFwaC1leGVjdXRpb24taW5kZXgiXSxbImNsYXNzIiwiZ3JhcGgtZXhlY3V0aW9uLWZvY3VzIiw0LCJuZ0lmIl0sWzQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsiY2xhc3MiLCJ0ZW5zb3ItaXRlbSJdLFsiZGF0YUxvYWRpbmciLCIiXSxbMSwiZ3JhcGgtZXhlY3V0aW9uLWZvY3VzIl0sWzEsInRlbnNvci1uYW1lLWFuZC1vcC10eXBlIl0sWzEsInRlbnNvci1uYW1lIiwzLCJ0aXRsZSIsImNsaWNrIl0sWzEsIm9wLXR5cGUiXSxbMywiZGVidWdUZW5zb3JWYWx1ZSIsNCwibmdJZiJdLFszLCJkZWJ1Z1RlbnNvclZhbHVlIl0sWzEsImxvYWRpbmctc3Bpbm5lciJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZGl2IiwwKSxDZigxLCJkaXYiLDEpLFB1KDIpLE1mKCksSG0oMyxXUSwyLDEsImNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCIsMiksTWYoKSksMiZlJiYoRGMoMiksa3UoIiBHcmFwaCBFeGVjdXRpb25zICgiLG4ubnVtR3JhcGhFeGVjdXRpb25zLCIpICIpLERjKDEpLGJmKCJuZ0lmIixudWxsIT09bi5udW1HcmFwaEV4ZWN1dGlvbnMmJm4ubnVtR3JhcGhFeGVjdXRpb25zPjApKX0sZGlyZWN0aXZlczpbUHYsdEIsWEwsbkIsQ3YsdFFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5ncmFwaC1leGVjdXRpb25zLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNlYmViZWI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTttYXJnaW4tbGVmdDo4cHg7cGFkZGluZy1sZWZ0OjEwcHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmdyYXBoLWV4ZWN1dGlvbnMtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyYXBoLWV4ZWN1dGlvbnMtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItbGVmdDoxcHggc29saWQgIzU1NX0uZ3JhcGgtZXhlY3V0aW9uLWZvY3VzW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1ibG9ja30uZ3JhcGgtZXhlY3V0aW9uLWluZGV4W19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctcmlnaHQ6NHB4O3RleHQtYWxpZ246cmlnaHQ7d2lkdGg6NDBweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZ3JhcGgtZXhlY3V0aW9uLWluZGV4W19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyYXBoLWV4ZWN1dGlvbi1pbmRleFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9LmdyYXBoLWV4ZWN1dGlvbnMtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2JveC1zaGFkb3c6MCA1cHggM3B4IC0zcHggI2NjYztwYWRkaW5nLWJvdHRvbTo1cHh9LmdyYXBoLWV4ZWN1dGlvbnMtdmlld3BvcnRbX25nY29udGVudC0lQ09NUCVde2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxMnB4O3dpZHRoOjEwMCU7b3ZlcmZsb3cteDpoaWRkZW59LmlucHV0LW9mLWZvY3VzW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYwOTl9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmlucHV0LW9mLWZvY3VzW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmlucHV0LW9mLWZvY3VzW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNlNjUxMDB9LmxvYWRpbmctc3Bpbm5lcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2t9Lm9wLXR5cGVbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6I2VjZWZmMTtib3JkZXI6MXB4IHNvbGlkICNlYmViZWI7Ym9yZGVyLXJhZGl1czo0cHg7Zm9udC1mYW1pbHk6IlJvYm90byBNb25vIixtb25vc3BhY2U7Zm9udC1zaXplOjEwcHg7aGVpZ2h0OjE0cHg7bGluZS1oZWlnaHQ6MTRweDtwYWRkaW5nOjFweCAzcHg7d2lkdGg6bWF4LWNvbnRlbnQ7ZGlyZWN0aW9uOnJ0bDtkaXNwbGF5OmJsb2NrfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5vcC10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLm9wLXR5cGVbX25nY29udGVudC0lQ09NUCVde2JvcmRlcjoxcHggc29saWQgIzU1NX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAub3AtdHlwZVtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5vcC10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiM0NTVhNjR9LnRlbnNvci1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3dpZHRoOjEwMCV9LnRlbnNvci1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6bm93cmFwO2hlaWdodDozOHB4O2xpbmUtaGVpZ2h0OjM4cHg7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAudGVuc29yLWl0ZW1bX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAudGVuc29yLWl0ZW1bX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9LnRlbnNvci1uYW1lW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjppbmhlcml0O2N1cnNvcjpwb2ludGVyO2RpcmVjdGlvbjpydGw7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTZweDtsaW5lLWhlaWdodDoxNnB4O21hcmdpbjoycHggMCAxcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDJweCk7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCAycHg7dGV4dC1hbGlnbjpyaWdodDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50ZW5zb3ItbmFtZVtfbmdjb250ZW50LSVDT01QJV06Zm9jdXN7b3V0bGluZToxcHggc29saWQgI2M2Y2FkMX0udGVuc29yLW5hbWUtYW5kLW9wLXR5cGVbX25nY29udGVudC0lQ09NUCVde2RpcmVjdGlvbjpydGw7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctcmlnaHQ6OHB4O3RleHQtYWxpZ246cmlnaHQ7d2lkdGg6MjQwcHh9ZGVidWctdGVuc29yLXZhbHVlW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MnB4IDB9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEdRLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImdyYXBoLWV4ZWN1dGlvbnMtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9ncmFwaF9leGVjdXRpb25zX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2dyYXBoX2V4ZWN1dGlvbnNfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLG51bGwse251bUdyYXBoRXhlY3V0aW9uczpbe3R5cGU6Ul99XSxncmFwaEV4ZWN1dGlvbkRhdGE6W3t0eXBlOlJffV0sZ3JhcGhFeGVjdXRpb25JbmRpY2VzOlt7dHlwZTpSX31dLGZvY3VzSW5kZXg6W3t0eXBlOlJffV0sZm9jdXNJbnB1dEluZGljZXM6W3t0eXBlOlJffV0sb25TY3JvbGxlZEluZGV4Q2hhbmdlOlt7dHlwZTpFX31dLG9uVGVuc29yTmFtZUNsaWNrOlt7dHlwZTpFX31dLHZpZXdQb3J0Olt7dHlwZTphcixhcmdzOlt0Qix7c3RhdGljOiExfV19XX0pO2NsYXNzIFlRe2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLm51bUdyYXBoRXhlY3V0aW9ucyQ9dGhpcy5zdG9yZS5waXBlKHJTKFZLKSksdGhpcy5ncmFwaEV4ZWN1dGlvbkRhdGEkPXRoaXMuc3RvcmUucGlwZShyUyhxSykpLHRoaXMuZ3JhcGhFeGVjdXRpb25JbmRpY2VzJD10aGlzLnN0b3JlLnBpcGUoclMoYlMoVkssKHQ9PjA9PT10P251bGw6QXJyYXkuZnJvbSh7bGVuZ3RoOnR9KS5tYXAoKCh0LGUpPT5lKSkpKSkpLHRoaXMuZm9jdXNJbmRleCQ9dGhpcy5zdG9yZS5waXBlKHJTKFpLKSksdGhpcy5mb2N1c0lucHV0SW5kaWNlcyQ9dGhpcy5zdG9yZS5waXBlKHJTKFFLKSl9b25TY3JvbGxlZEluZGV4Q2hhbmdlKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goWFgoe2luZGV4OnR9KSl9b25UZW5zb3JOYW1lQ2xpY2sodCl7dGhpcy5zdG9yZS5kaXNwYXRjaChLWCh0KSl9fVlRLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxZUSkoZ2YoaVMpKX0sWVEuybVjbXA9c28oe3R5cGU6WVEsc2VsZWN0b3JzOltbInRmLWRlYnVnZ2VyLXYyLWdyYXBoLWV4ZWN1dGlvbnMiXV0sZGVjbHM6Nix2YXJzOjE1LGNvbnN0czpbWzMsIm51bUdyYXBoRXhlY3V0aW9ucyIsImdyYXBoRXhlY3V0aW9uRGF0YSIsImdyYXBoRXhlY3V0aW9uSW5kaWNlcyIsImZvY3VzSW5kZXgiLCJmb2N1c0lucHV0SW5kaWNlcyIsIm9uU2Nyb2xsZWRJbmRleENoYW5nZSIsIm9uVGVuc29yTmFtZUNsaWNrIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJncmFwaC1leGVjdXRpb25zLWNvbXBvbmVudCIsMCksUmYoIm9uU2Nyb2xsZWRJbmRleENoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25TY3JvbGxlZEluZGV4Q2hhbmdlKGUpfSkpKCJvblRlbnNvck5hbWVDbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25UZW5zb3JOYW1lQ2xpY2soZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxfeSg1LCJhc3luYyIpLE1mKCkpLDImZSYmYmYoIm51bUdyYXBoRXhlY3V0aW9ucyIsQ3koMSw1LG4ubnVtR3JhcGhFeGVjdXRpb25zJCkpKCJncmFwaEV4ZWN1dGlvbkRhdGEiLEN5KDIsNyxuLmdyYXBoRXhlY3V0aW9uRGF0YSQpKSgiZ3JhcGhFeGVjdXRpb25JbmRpY2VzIixDeSgzLDksbi5ncmFwaEV4ZWN1dGlvbkluZGljZXMkKSkoImZvY3VzSW5kZXgiLEN5KDQsMTEsbi5mb2N1c0luZGV4JCkpKCJmb2N1c0lucHV0SW5kaWNlcyIsQ3koNSwxMyxuLmZvY3VzSW5wdXRJbmRpY2VzJCkpfSxkaXJlY3RpdmVzOltHUV0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFlRLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRmLWRlYnVnZ2VyLXYyLWdyYXBoLWV4ZWN1dGlvbnMiLHRlbXBsYXRlOidcbiAgICA8Z3JhcGgtZXhlY3V0aW9ucy1jb21wb25lbnRcbiAgICAgIFtudW1HcmFwaEV4ZWN1dGlvbnNdPSJudW1HcmFwaEV4ZWN1dGlvbnMkIHwgYXN5bmMiXG4gICAgICBbZ3JhcGhFeGVjdXRpb25EYXRhXT0iZ3JhcGhFeGVjdXRpb25EYXRhJCB8IGFzeW5jIlxuICAgICAgW2dyYXBoRXhlY3V0aW9uSW5kaWNlc109ImdyYXBoRXhlY3V0aW9uSW5kaWNlcyQgfCBhc3luYyJcbiAgICAgIFtmb2N1c0luZGV4XT0iZm9jdXNJbmRleCQgfCBhc3luYyJcbiAgICAgIFtmb2N1c0lucHV0SW5kaWNlc109ImZvY3VzSW5wdXRJbmRpY2VzJCB8IGFzeW5jIlxuICAgICAgKG9uU2Nyb2xsZWRJbmRleENoYW5nZSk9Im9uU2Nyb2xsZWRJbmRleENoYW5nZSgkZXZlbnQpIlxuICAgICAgKG9uVGVuc29yTmFtZUNsaWNrKT0ib25UZW5zb3JOYW1lQ2xpY2soJGV2ZW50KSJcbiAgICA+PC9ncmFwaC1leGVjdXRpb25zLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBxUT17Z2V0V2luZG93OmZ1bmN0aW9uIFpRKCl7cmV0dXJuIHdpbmRvd319LFhRPSJ2cyI7ZnVuY3Rpb24gS1EodCl7Y29uc3QgZT1xUS5nZXRXaW5kb3coKS5yZXF1aXJlO3JldHVybiBuZXcgUHJvbWlzZSgobj0+e2UodCxuKX0pKX1mdW5jdGlvbiBKUSgpe3JldHVybiBYVCh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0IHQ9cVEuZ2V0V2luZG93KCk7aWYodm9pZCAwPT09dC5tb25hY28pe2lmKCF0LnJlcXVpcmUpdGhyb3cgbmV3IEVycm9yKCJsb2FkTW9uYWNvKCkgZmFpbGVkIGJlY2F1c2UgZnVuY3Rpb24gcmVxdWlyZSgpIGlzIHVuYXZhaWxhYmxlIik7dC5yZXF1aXJlLmNvbmZpZyh7cGF0aHM6e1tYUV06Ii90Zi1pbXBvcnRzL3ZzIn19KSx5aWVsZCBLUShbInZzL2VkaXRvci9lZGl0b3IubWFpbiJdKSx5aWVsZCBLUShbInZzL3B5dGhvbi9weXRob24uY29udHJpYnV0aW9uIl0pfX0pKX1mdW5jdGlvbiBRUSh0KXtyZXR1cm4gdD8idnMtZGFyayI6InZzIn1jbGFzcyAkUXtjb25zdHJ1Y3Rvcih0KXt0aGlzLnJlc2l6ZUV2ZW50RGVib3VuY2VQZXJpb2RJbk1zPTEwMCx0aGlzLm9uUmVzaXplPW5ldyBTeSx0aGlzLm5nVW5zdWJzY3JpYmUkPW5ldyBCLHRoaXMub25SZXNpemUkPW5ldyBCO2NvbnN0IGU9bmV3IFJlc2l6ZU9ic2VydmVyKCgoKT0+e3RoaXMub25SZXNpemUkLm5leHQoKX0pKTtlLm9ic2VydmUodC5uYXRpdmVFbGVtZW50KSx0aGlzLm5nVW5zdWJzY3JpYmUkLnN1YnNjcmliZSgoKCk9PntlLnVub2JzZXJ2ZSh0Lm5hdGl2ZUVsZW1lbnQpfSkpfW5nT25Jbml0KCl7dGhpcy5vblJlc2l6ZSQucGlwZShMZSgxKSxDZSh0aGlzLnJlc2l6ZUV2ZW50RGVib3VuY2VQZXJpb2RJbk1zKSxqZSh0aGlzLm5nVW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMub25SZXNpemUuZW1pdCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5uZ1Vuc3Vic2NyaWJlJC5uZXh0KCksdGhpcy5uZ1Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpfX0kUS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JFEpKGdmKEtoKSl9LCRRLsm1ZGlyPWhvKHt0eXBlOiRRLHNlbGVjdG9yczpbWyIiLCJkZXRlY3RSZXNpemUiLCIiXV0saW5wdXRzOntyZXNpemVFdmVudERlYm91bmNlUGVyaW9kSW5NczoicmVzaXplRXZlbnREZWJvdW5jZVBlcmlvZEluTXMifSxvdXRwdXRzOntvblJlc2l6ZToib25SZXNpemUifX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJFEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2RldGVjdFJlc2l6ZV0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9XX0pLHtyZXNpemVFdmVudERlYm91bmNlUGVyaW9kSW5Nczpbe3R5cGU6Ul99XSxvblJlc2l6ZTpbe3R5cGU6RV99XX0pO2NvbnN0IHQkPVsiY29kZVZpZXdlckNvbnRhaW5lciJdO2NsYXNzIGUke2NvbnN0cnVjdG9yKCl7dGhpcy5saW5lcz1udWxsLHRoaXMuZm9jdXNlZExpbmVubz1udWxsLHRoaXMubW9uYWNvPW51bGwsdGhpcy5lZGl0b3I9bnVsbCx0aGlzLmRlY29yYXRpb25zPVtdLHRoaXMuUkVTSVpFX0RFQk9VTkNFX0lOVEVSVkFMX01TPTUwfW9uUmVzaXplKCl7dGhpcy5lZGl0b3ImJnRoaXMuZWRpdG9yLmxheW91dCgpfW5nT25DaGFuZ2VzKHQpe3ZhciBlO2lmKG51bGw9PT10aGlzLm1vbmFjbylyZXR1cm47Y29uc3Qgbj10Lm1vbmFjbyYmbnVsbD09PXRoaXMuZWRpdG9yO251bGw9PT10aGlzLmVkaXRvciYmKHRoaXMuZWRpdG9yPXRoaXMubW9uYWNvLmVkaXRvci5jcmVhdGUodGhpcy5jb2RlVmlld2VyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQse3ZhbHVlOihudWxsIT09KGU9dGhpcy5saW5lcykmJnZvaWQgMCE9PWU/ZTpbXSkuam9pbigiXG4iKSxsYW5ndWFnZToicHl0aG9uIixyZWFkT25seTohMCxmb250U2l6ZToxMCxtaW5pbWFwOntlbmFibGVkOiEwfSx0aGVtZTpRUSh0aGlzLnVzZURhcmtNb2RlKX0pKSx0LmxpbmVzJiZ0aGlzLmxpbmVzJiZ0aGlzLmVkaXRvci5zZXRWYWx1ZSh0aGlzLmxpbmVzLmpvaW4oIlxuIikpO2NvbnN0IG89bnx8dC5mb2N1c2VkTGluZW5vP3RoaXMuZm9jdXNlZExpbmVubzpudWxsO2lmKG8mJnRoaXMubGluZXMpe3RoaXMuZWRpdG9yLnJldmVhbExpbmVJbkNlbnRlcihvLHRoaXMubW9uYWNvLmVkaXRvci5TY3JvbGxUeXBlLlNtb290aCk7Y29uc3QgdD10aGlzLmxpbmVzW28tMV0ubGVuZ3RoO3RoaXMuZGVjb3JhdGlvbnM9dGhpcy5lZGl0b3IuZGVsdGFEZWNvcmF0aW9ucyh0aGlzLmRlY29yYXRpb25zLFt7cmFuZ2U6bmV3IHRoaXMubW9uYWNvLlJhbmdlKG8sMSxvLDEpLG9wdGlvbnM6e2lzV2hvbGVMaW5lOiEwLGxpbmVzRGVjb3JhdGlvbnNDbGFzc05hbWU6ImhpZ2hsaWdodC1ndXR0ZXIifX0se3JhbmdlOm5ldyB0aGlzLm1vbmFjby5SYW5nZShvLDEsbyx0KzEpLG9wdGlvbnM6e2lubGluZUNsYXNzTmFtZToiaGlnaGxpZ2h0LWxpbmUifX1dKX10LnVzZURhcmtNb2RlJiZ0aGlzLm1vbmFjby5lZGl0b3Iuc2V0VGhlbWUoUVEodGhpcy51c2VEYXJrTW9kZSkpfX1lJC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZSQpfSxlJC7JtWNtcD1zbyh7dHlwZTplJCxzZWxlY3RvcnM6W1sic291cmNlLWNvZGUtY29tcG9uZW50Il1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeSh0JCw3LEtoKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLmNvZGVWaWV3ZXJDb250YWluZXI9dC5maXJzdCl9fSxpbnB1dHM6e2xpbmVzOiJsaW5lcyIsZm9jdXNlZExpbmVubzoiZm9jdXNlZExpbmVubyIsbW9uYWNvOiJtb25hY28iLHVzZURhcmtNb2RlOiJ1c2VEYXJrTW9kZSJ9LGZlYXR1cmVzOltxb10sZGVjbHM6Mix2YXJzOjEsY29uc3RzOltbImRldGVjdFJlc2l6ZSIsIiIsMSwiY29kZS12aWV3ZXItY29udGFpbmVyIiwzLCJyZXNpemVFdmVudERlYm91bmNlUGVyaW9kSW5NcyIsIm9uUmVzaXplIl0sWyJjb2RlVmlld2VyQ29udGFpbmVyIiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDAsMSksUmYoIm9uUmVzaXplIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUmVzaXplKCl9KSksTWYoKSksMiZlJiZiZigicmVzaXplRXZlbnREZWJvdW5jZVBlcmlvZEluTXMiLG4uUkVTSVpFX0RFQk9VTkNFX0lOVEVSVkFMX01TKX0sZGlyZWN0aXZlczpbJFFdLHN0eWxlczpbIi5jb2RlLXZpZXdlci1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5bX25naG9zdC0lQ09NUCVdICAgICAuaGlnaGxpZ2h0LWd1dHRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxMTEsIDAsIDAuNyk7XG4gIHdpZHRoOiA1cHggIWltcG9ydGFudDtcbn1cblxuW19uZ2hvc3QtJUNPTVAlXSAgICAgLmhpZ2hsaWdodC1saW5lIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDExMSwgMCwgMC4zKTtcbn0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZSQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic291cmNlLWNvZGUtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9zb3VyY2VfY29kZV9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9zb3VyY2VfY29kZV9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bGluZXM6W3t0eXBlOlJffV0sZm9jdXNlZExpbmVubzpbe3R5cGU6Ul99XSxtb25hY286W3t0eXBlOlJffV0sdXNlRGFya01vZGU6W3t0eXBlOlJffV0sY29kZVZpZXdlckNvbnRhaW5lcjpbe3R5cGU6YXIsYXJnczpbImNvZGVWaWV3ZXJDb250YWluZXIiLHtzdGF0aWM6ITAscmVhZDpLaH1dfV19KTtjbGFzcyBuJHtjb25zdHJ1Y3Rvcigpe3RoaXMubGluZXM9bnVsbCx0aGlzLmZvY3VzZWRMaW5lbm89bnVsbCx0aGlzLnVzZURhcmtNb2RlPSExLHRoaXMubW9uYWNvJD1udWxsfW5nT25Jbml0KCl7dGhpcy5tb25hY28kPVB0KEpRKCkpLnBpcGUoVnQoKCgpPT53aW5kb3cubW9uYWNvKSkpfX1mdW5jdGlvbiBvJCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsNiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksa3UoIiAiLHQuZm9jdXNlZFNvdXJjZUxpbmVTcGVjLmZpbGVfcGF0aCwiICIpfX1mdW5jdGlvbiBpJCh0LGUpezEmdCYmKENmKDAsImRpdiIsNyksUHUoMSwiIE5vIGZpbGUgc2VsZWN0ZWQuIENsaWNrIGEgbGluZSBudW1iZXIgaW4gdGhlIFN0YWNrIFRyYWNlIHNlY3Rpb24gdG8gc2hvdyB0aGUgc291cmNlIGNvZGUuICIpLE1mKCkpfWZ1bmN0aW9uIGEkKHQsZSl7aWYoMSZ0JiZ2ZigwLCJzb3VyY2UtY29kZSIsOCksMiZ0KXtjb25zdCB0PXpmKCk7YmYoImxpbmVzIix0LmZvY3VzZWRTb3VyY2VGaWxlQ29udGVudC5saW5lcykoImZvY3VzZWRMaW5lbm8iLHQuZm9jdXNlZFNvdXJjZUxpbmVTcGVjLmxpbmVubykoInVzZURhcmtNb2RlIix0LnVzZURhcmtNb2RlKX19biQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG4kKX0sbiQuybVjbXA9c28oe3R5cGU6biQsc2VsZWN0b3JzOltbInNvdXJjZS1jb2RlIl1dLGlucHV0czp7bGluZXM6ImxpbmVzIixmb2N1c2VkTGluZW5vOiJmb2N1c2VkTGluZW5vIix1c2VEYXJrTW9kZToidXNlRGFya01vZGUifSxkZWNsczoyLHZhcnM6Nixjb25zdHM6W1szLCJsaW5lcyIsImZvY3VzZWRMaW5lbm8iLCJtb25hY28iLCJ1c2VEYXJrTW9kZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwic291cmNlLWNvZGUtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpKSwyJmUmJmJmKCJsaW5lcyIsbi5saW5lcykoImZvY3VzZWRMaW5lbm8iLG4uZm9jdXNlZExpbmVubykoIm1vbmFjbyIsQ3koMSw0LG4ubW9uYWNvJCkpKCJ1c2VEYXJrTW9kZSIsbi51c2VEYXJrTW9kZSl9LGRpcmVjdGl2ZXM6W2UkXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobiQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic291cmNlLWNvZGUiLHRlbXBsYXRlOidcbiAgICA8c291cmNlLWNvZGUtY29tcG9uZW50XG4gICAgICBbbGluZXNdPSJsaW5lcyJcbiAgICAgIFtmb2N1c2VkTGluZW5vXT0iZm9jdXNlZExpbmVubyJcbiAgICAgIFttb25hY29dPSJtb25hY28kIHwgYXN5bmMiXG4gICAgICBbdXNlRGFya01vZGVdPSJ1c2VEYXJrTW9kZSJcbiAgICA+PC9zb3VyY2UtY29kZS1jb21wb25lbnQ+XG4gICd9XX1dLChmdW5jdGlvbigpe3JldHVybltdfSkse2xpbmVzOlt7dHlwZTpSX31dLGZvY3VzZWRMaW5lbm86W3t0eXBlOlJffV0sdXNlRGFya01vZGU6W3t0eXBlOlJffV19KTtjbGFzcyByJHtjb25zdHJ1Y3Rvcigpe3RoaXMuZm9jdXNlZFNvdXJjZUZpbGVDb250ZW50PW51bGwsdGhpcy5mb2N1c2VkU291cmNlTGluZVNwZWM9bnVsbH19ciQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHIkKX0sciQuybVjbXA9c28oe3R5cGU6ciQsc2VsZWN0b3JzOltbInNvdXJjZS1maWxlcy1jb21wb25lbnQiXV0saW5wdXRzOntmb2N1c2VkU291cmNlRmlsZUNvbnRlbnQ6ImZvY3VzZWRTb3VyY2VGaWxlQ29udGVudCIsZm9jdXNlZFNvdXJjZUxpbmVTcGVjOiJmb2N1c2VkU291cmNlTGluZVNwZWMiLHVzZURhcmtNb2RlOiJ1c2VEYXJrTW9kZSJ9LGRlY2xzOjgsdmFyczozLGNvbnN0czpbWzEsInNvdXJjZS1maWxlcy1jb250YWluZXIiXSxbMSwiaGVhZGVyLXNlY3Rpb24iXSxbMSwidGl0bGUtdGFnIl0sWyJjbGFzcyIsImZpbGUtbGFiZWwiLDQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsibm9GaWxlU2VsZWN0ZWQiLCIiXSxbMywibGluZXMiLCJmb2N1c2VkTGluZW5vIiwidXNlRGFya01vZGUiLDQsIm5nSWYiXSxbMSwiZmlsZS1sYWJlbCJdLFsxLCJuby1maWxlLXNlbGVjdGVkIl0sWzMsImxpbmVzIiwiZm9jdXNlZExpbmVubyIsInVzZURhcmtNb2RlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihDZigwLCJkaXYiLDApLENmKDEsImRpdiIsMSksQ2YoMiwiZGl2IiwyKSxQdSgzLCJTb3VyY2UgQ29kZSIpLE1mKCksSG0oNCxvJCwyLDEsImRpdiIsMyksSG0oNSxpJCwyLDAsIm5nLXRlbXBsYXRlIixudWxsLDQscXkpLE1mKCksSG0oNyxhJCwxLDMsInNvdXJjZS1jb2RlIiw1KSxNZigpKSwyJmUpe2NvbnN0IHQ9Rm0oNik7RGMoNCksYmYoIm5nSWYiLG51bGwhPT1uLmZvY3VzZWRTb3VyY2VMaW5lU3BlYykoIm5nSWZFbHNlIix0KSxEYygzKSxiZigibmdJZiIsbnVsbCE9PW4uZm9jdXNlZFNvdXJjZUZpbGVDb250ZW50JiZudWxsIT09bi5mb2N1c2VkU291cmNlTGluZVNwZWMmJm51bGwhPT1uLmZvY3VzZWRTb3VyY2VGaWxlQ29udGVudC5saW5lcyl9fSxkaXJlY3RpdmVzOltQdixuJF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9LmhlYWRlci1zZWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDtwYWRkaW5nLWJvdHRvbTo2cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxMDAlfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5oZWFkZXItc2VjdGlvbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5oZWFkZXItc2VjdGlvbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzU1NX0uZmlsZS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6bm9ybWFsO3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO292ZXJmbG93LXk6YXV0bztwYWRkaW5nOjAgMjBweH0ubm8tZmlsZS1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzY2NjtwYWRkaW5nOjAgMjBweDt3aGl0ZS1zcGFjZTpub3JtYWx9LnNvdXJjZS1maWxlcy1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Zm9udC1mYW1pbHk6IlJvYm90byBNb25vIixtb25vc3BhY2U7Zm9udC1zaXplOjEwcHg7aGVpZ2h0OjEwMCV9LnRpdGxlLXRhZ1tfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6Ym9sZDtoZWlnaHQ6MTAwJTtwYWRkaW5nLWxlZnQ6NnB4O3ZlcnRpY2FsLWFsaWduOnRvcH1zb3VyY2UtY29kZVtfbmdjb250ZW50LSVDT01QJV17ZmxleC1ncm93OjE7d2lkdGg6MTAwJX0nXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIociQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic291cmNlLWZpbGVzLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vc291cmNlX2ZpbGVzX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL3NvdXJjZV9maWxlc19jb21wb25lbnQuY3NzIl19XX1dLG51bGwse2ZvY3VzZWRTb3VyY2VGaWxlQ29udGVudDpbe3R5cGU6Ul99XSxmb2N1c2VkU291cmNlTGluZVNwZWM6W3t0eXBlOlJffV0sdXNlRGFya01vZGU6W3t0eXBlOlJffV19KTtjbGFzcyBzJHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5mb2N1c2VkU291cmNlRmlsZUNvbnRlbnQkPXRoaXMuc3RvcmUuc2VsZWN0KGZKKSx0aGlzLmZvY3VzZWRTb3VyY2VMaW5lU3BlYyQ9dGhpcy5zdG9yZS5zZWxlY3QodUopLHRoaXMudXNlRGFya01vZGUkPXRoaXMuc3RvcmUuc2VsZWN0KEZEKX19cyQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHMkKShnZihpUykpfSxzJC7JtWNtcD1zbyh7dHlwZTpzJCxzZWxlY3RvcnM6W1sidGYtZGVidWdnZXItdjItc291cmNlLWZpbGVzIl1dLGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsImZvY3VzZWRTb3VyY2VGaWxlQ29udGVudCIsImZvY3VzZWRTb3VyY2VMaW5lU3BlYyIsInVzZURhcmtNb2RlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJzb3VyY2UtZmlsZXMtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSksMiZlJiZiZigiZm9jdXNlZFNvdXJjZUZpbGVDb250ZW50IixDeSgxLDMsbi5mb2N1c2VkU291cmNlRmlsZUNvbnRlbnQkKSkoImZvY3VzZWRTb3VyY2VMaW5lU3BlYyIsQ3koMiw1LG4uZm9jdXNlZFNvdXJjZUxpbmVTcGVjJCkpKCJ1c2VEYXJrTW9kZSIsQ3koMyw3LG4udXNlRGFya01vZGUkKSl9LGRpcmVjdGl2ZXM6W3IkXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocyQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGYtZGVidWdnZXItdjItc291cmNlLWZpbGVzIix0ZW1wbGF0ZTonXG4gICAgPHNvdXJjZS1maWxlcy1jb21wb25lbnRcbiAgICAgIFtmb2N1c2VkU291cmNlRmlsZUNvbnRlbnRdPSJmb2N1c2VkU291cmNlRmlsZUNvbnRlbnQkIHwgYXN5bmMiXG4gICAgICBbZm9jdXNlZFNvdXJjZUxpbmVTcGVjXT0iZm9jdXNlZFNvdXJjZUxpbmVTcGVjJCB8IGFzeW5jIlxuICAgICAgW3VzZURhcmtNb2RlXT0idXNlRGFya01vZGUkIHwgYXN5bmMiXG4gICAgPjwvc291cmNlLWZpbGVzLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBsJD1bInN0YWNrRnJhbWVBcnJheSJdO2Z1bmN0aW9uIGMkKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMTMpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigzKTtEYygxKSxrdSgiICMiLHQuZXhlY3V0aW9uSW5kZXgsIjogIil9fWZ1bmN0aW9uIGQkKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMTQpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigzKTtEYygxKSxrdSgiICIsdC5vcFR5cGUsIiAiKX19ZnVuY3Rpb24gcCQodCxlKXtpZigxJnQmJihDZigwLCJkaXYiKSxQdSgxLCIgRWFnZXIgZXhlY3V0aW9uICIpLEhtKDIsYyQsMiwxLCJzcGFuIiwxMSksSG0oMyxkJCwyLDEsInNwYW4iLDEyKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoMiksYmYoIm5nSWYiLG51bGwhPT10Lm9wVHlwZSksRGMoMSksYmYoIm5nSWYiLG51bGwhPT10Lm9wVHlwZSl9fWZ1bmN0aW9uIG0kKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMTYpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigzKTtEYygxKSxrdSgnICInLHQub3BOYW1lLCciICcpfX1mdW5jdGlvbiBmJCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDE0KSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMyk7RGMoMSksa3UoIiAiLHQub3BUeXBlLCIgIil9fWZ1bmN0aW9uIHUkKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiksUHUoMSwiIENyZWF0aW9uIG9mIGdyYXBoIG9wICIpLEhtKDIsbSQsMiwxLCJzcGFuIiwxNSksSG0oMyxmJCwyLDEsInNwYW4iLDEyKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoMiksYmYoIm5nSWYiLG51bGwhPT10Lm9wTmFtZSksRGMoMSksYmYoIm5nSWYiLG51bGwhPT10Lm9wVHlwZSl9fWZ1bmN0aW9uIGckKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMTcpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYygxKSxrdSgiIChIb3N0IG5hbWU6ICIsdC5zdGFja0ZyYW1lc0ZvckRpc3BsYXlbMF0uaG9zdF9uYW1lLCIpICIpfX1mdW5jdGlvbiBoJCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsNyksQ2YoMSwic3BhbiIpLENmKDIsInNwYW4iLDgpLEhtKDMscCQsNCwyLCJkaXYiLDkpLEhtKDQsdSQsNCwyLCJkaXYiLDkpLE1mKCksTWYoKSxDZig1LCJkaXYiKSxIbSg2LGckLDIsMSwic3BhbiIsMTApLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksYmYoIm5nU3dpdGNoIix0LmNvZGVMb2NhdGlvblR5cGUpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLHQuQ29kZUxvY2F0aW9uVHlwZS5FWEVDVVRJT04pLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLHQuQ29kZUxvY2F0aW9uVHlwZS5HUkFQSF9PUF9DUkVBVElPTiksRGMoMiksYmYoIm5nSWYiLG51bGwhPT10LnN0YWNrRnJhbWVzRm9yRGlzcGxheSYmdC5zdGFja0ZyYW1lc0ZvckRpc3BsYXkubGVuZ3RoPjApfX1mdW5jdGlvbiBiJCh0LGUpezEmdCYmKENmKDAsImRpdiIsMTgpLFB1KDEsIiBDbGljayBhbiBlYWdlciBleGVjdXRpb24gb3IgZ3JhcGggb3AgdG8gc2hvdyBpdHMgb3JpZ2luYWwgc3RhY2sgdHJhY2UuICIpLE1mKCkpfWZ1bmN0aW9uIHkkKHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwyOCksUHUoMSwiIOKkkyAiKSxNZigpKX1jb25zdCBfJD1mdW5jdGlvbih0LGUpe3JldHVyblt0LGVdfTtmdW5jdGlvbiBDJCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsMjIpLENmKDEsImRpdiIsMjMpLFB1KDIpLE1mKCksQ2YoMywiZGl2IiwyNCksSG0oNCx5JCwyLDAsImRpdiIsMjUpLENmKDUsImRpdiIsMjYpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtjb25zdCBuPVBpKHQpLiRpbXBsaWNpdDtyZXR1cm4gemYoMikub25Tb3VyY2VMaW5lQ2xpY2tlZC5lbWl0KG4pfSkpLFB1KDYpLE1mKCksQ2YoNywiZGl2IiwyNyksUHUoOCksTWYoKSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoMik7YmYoIm5nQ2xhc3MiLGF5KDYsXyQsdC5iZWxvbmdzVG9Gb2N1c2VkRmlsZT8iZm9jdXNlZC1maWxlIjoiIix0LmZvY3VzZWQ/ImZvY3VzZWQtc3RhY2stZnJhbWUiOiIiKSksRGMoMSksTGYoInRpdGxlIix0LmZpbGVfcGF0aCksRGMoMSksa3UoIiAiLHQuY29uY2lzZV9maWxlX3BhdGgsIiAiKSxEYygyKSxiZigibmdJZiIsbi5zdGlja1RvQm90dG9tbW9zdEZyYW1lSW5Gb2N1c2VkRmlsZSYmdC5mb2N1c2VkKSxEYygyKSxrdSgiIExpbmUgIix0LmxpbmVubywiICIpLERjKDIpLGt1KCIgIix0LmZ1bmN0aW9uX25hbWUsIiAiKX19ZnVuY3Rpb24gTSQodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDE5LDIwKSxIbSgyLEMkLDksOSwiZGl2IiwyMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksYmYoIm5nRm9yT2YiLHQuc3RhY2tGcmFtZXNGb3JEaXNwbGF5KX19ZnVuY3Rpb24gdiQodCxlKXt9Y2xhc3MgeCR7Y29uc3RydWN0b3IoKXt0aGlzLnN0YWNrRnJhbWVzRm9yRGlzcGxheT1udWxsLHRoaXMub25Tb3VyY2VMaW5lQ2xpY2tlZD1uZXcgU3ksdGhpcy5Db2RlTG9jYXRpb25UeXBlPWNLfW5nQWZ0ZXJWaWV3Q2hlY2tlZCgpe2lmKHZvaWQgMD09PXRoaXMuc3RhY2tGcmFtZUFycmF5KXJldHVybjtjb25zdCB0PXRoaXMuc3RhY2tGcmFtZUFycmF5Lm5hdGl2ZUVsZW1lbnQsZT10LnF1ZXJ5U2VsZWN0b3IoIi5mb2N1c2VkLXN0YWNrLWZyYW1lIik7aWYobnVsbCE9PWUpcmV0dXJuIHZvaWQgdGhpcy5zY3JvbGxUb0VsZW1lbnQodCxlKTtjb25zdCBuPXQucXVlcnlTZWxlY3RvcigiLnN0YWNrLWZyYW1lLWNvbnRhaW5lcjpsYXN0LWNoaWxkIik7bnVsbCE9PW4mJnRoaXMuc2Nyb2xsVG9FbGVtZW50KHQsbil9c2Nyb2xsVG9FbGVtZW50KHQsZSl7dC5zY3JvbGxUb3A9ZS5vZmZzZXRUb3B9fXgkLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4JCl9LHgkLsm1Y21wPXNvKHt0eXBlOngkLHNlbGVjdG9yczpbWyJzdGFjay10cmFjZS1jb21wb25lbnQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJlZ5KGwkLDUpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uc3RhY2tGcmFtZUFycmF5PXQuZmlyc3QpfX0saW5wdXRzOntjb2RlTG9jYXRpb25UeXBlOiJjb2RlTG9jYXRpb25UeXBlIixvcFR5cGU6Im9wVHlwZSIsb3BOYW1lOiJvcE5hbWUiLGV4ZWN1dGlvbkluZGV4OiJleGVjdXRpb25JbmRleCIsc3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGU6InN0aWNrVG9Cb3R0b21tb3N0RnJhbWVJbkZvY3VzZWRGaWxlIixzdGFja0ZyYW1lc0ZvckRpc3BsYXk6InN0YWNrRnJhbWVzRm9yRGlzcGxheSJ9LG91dHB1dHM6e29uU291cmNlTGluZUNsaWNrZWQ6Im9uU291cmNlTGluZUNsaWNrZWQifSxkZWNsczoxMCx2YXJzOjQsY29uc3RzOltbMSwic3RhY2stdHJhY2UtY29udGFpbmVyIl0sWzEsInN0YWNrLXRyYWNlLWhlYWRlciJdLFsxLCJzdGFjay10cmFjZS10aXRsZSJdLFsiY2xhc3MiLCJzdGFjay10cmFjZS1hdXgtaW5mbyIsNCwibmdJZiIsIm5nSWZFbHNlIl0sWyJub1N0YWNrVHJhY2UiLCIiXSxbImNsYXNzIiwic3RhY2stZnJhbWUtYXJyYXkiLDQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsibG9hZGluZ1NlY3Rpb24iLCIiXSxbMSwic3RhY2stdHJhY2UtYXV4LWluZm8iXSxbMSwiY29kZS1sb2NhdGlvbi1vcmlnaW4iLDMsIm5nU3dpdGNoIl0sWzQsIm5nU3dpdGNoQ2FzZSJdLFsiY2xhc3MiLCJzdGFjay10cmFjZS1ob3N0LW5hbWUiLDQsIm5nSWYiXSxbImNsYXNzIiwiZWFnZXItZXhlY3V0aW9uLWluZGV4Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsIm9wLXR5cGUiLDQsIm5nSWYiXSxbMSwiZWFnZXItZXhlY3V0aW9uLWluZGV4Il0sWzEsIm9wLXR5cGUiXSxbImNsYXNzIiwib3AtbmFtZSIsNCwibmdJZiJdLFsxLCJvcC1uYW1lIl0sWzEsInN0YWNrLXRyYWNlLWhvc3QtbmFtZSJdLFsxLCJzdGFjay10cmFjZS1hdXgtaW5mbyIsIm5vLXN0YWNrLXRyYWNlIl0sWzEsInN0YWNrLWZyYW1lLWFycmF5Il0sWyJzdGFja0ZyYW1lQXJyYXkiLCIiXSxbImNsYXNzIiwic3RhY2stZnJhbWUtY29udGFpbmVyIiwzLCJuZ0NsYXNzIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbMSwic3RhY2stZnJhbWUtY29udGFpbmVyIiwzLCJuZ0NsYXNzIl0sWzEsInN0YWNrLWZyYW1lLWZpbGUtcGF0aCIsMywidGl0bGUiXSxbMSwic3RhY2stZnJhbWUtbGluZW5vLWZ1bmN0aW9uIl0sWyJjbGFzcyIsInN0aWNrLXRvLWJvdHRvbW1vc3QtaW5kaWNhdG9yIiwidGl0bGUiLCJTdGlja2luZyB0byB0aGUgYm90dG9tbW9zdCBmcmFtZSBpbiB0aGUgY3VycmVudCBzb3VyY2UgZmlsZSB3aGVuIG5hdmlnYXRpbmcgZXhlY3V0aW9ucyBhbmQgZ3JhcGggb3BzLiBUbyByZW1vdmUgdGhpcyBzdGlja2luZywgY2xpY2sgYW55IG5vbi1ib3R0b21tb3N0IHN0YWNrIGZyYW1lLiIsNCwibmdJZiJdLFsxLCJzdGFjay1mcmFtZS1saW5lbm8iLDMsImNsaWNrIl0sWzEsInN0YWNrLWZyYW1lLWZ1bmN0aW9uIl0sWyJ0aXRsZSIsIlN0aWNraW5nIHRvIHRoZSBib3R0b21tb3N0IGZyYW1lIGluIHRoZSBjdXJyZW50IHNvdXJjZSBmaWxlIHdoZW4gbmF2aWdhdGluZyBleGVjdXRpb25zIGFuZCBncmFwaCBvcHMuIFRvIHJlbW92ZSB0aGlzIHN0aWNraW5nLCBjbGljayBhbnkgbm9uLWJvdHRvbW1vc3Qgc3RhY2sgZnJhbWUuIiwxLCJzdGljay10by1ib3R0b21tb3N0LWluZGljYXRvciJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiZGl2IiwwKSxDZigxLCJkaXYiLDEpLENmKDIsInNwYW4iLDIpLFB1KDMsIiBTdGFjayBUcmFjZSAiKSxNZigpLEhtKDQsaCQsNyw0LCJkaXYiLDMpLEhtKDUsYiQsMiwwLCJuZy10ZW1wbGF0ZSIsbnVsbCw0LHF5KSxNZigpLEhtKDcsTSQsMywxLCJkaXYiLDUpLEhtKDgsdiQsMCwwLCJuZy10ZW1wbGF0ZSIsbnVsbCw2LHF5KSxNZigpKSwyJmUpe2NvbnN0IHQ9Rm0oNiksZT1GbSg5KTtEYyg0KSxiZigibmdJZiIsbnVsbCE9PW4uY29kZUxvY2F0aW9uVHlwZSkoIm5nSWZFbHNlIix0KSxEYygzKSxiZigibmdJZiIsbnVsbCE9PW4uc3RhY2tGcmFtZXNGb3JEaXNwbGF5KSgibmdJZkVsc2UiLGUpfX0sZGlyZWN0aXZlczpbUHYsRHYsUnYseHYsQ3ZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5mb2N1c2VkLWZpbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OmJvbGR9LmZvY3VzZWQtc3RhY2stZnJhbWVbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMTExLDAsLjMpfS5uby1zdGFjay10cmFjZVtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6Z3JheX0ub3AtbmFtZVtfbmdjb250ZW50LSVDT01QJV17d29yZC13cmFwOmFueXdoZXJlfS5vcC10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNlY2VmZjE7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtZmFtaWx5OiJSb2JvdG8gTW9ubyIsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMHB4O2hlaWdodDoxNHB4O2xpbmUtaGVpZ2h0OjE0cHg7cGFkZGluZzoxcHggM3B4O3dpZHRoOm1heC1jb250ZW50fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5vcC10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLm9wLXR5cGVbX25nY29udGVudC0lQ09NUCVde2JvcmRlcjoxcHggc29saWQgIzU1NX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAub3AtdHlwZVtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5vcC10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiM0NTVhNjR9LnN0YWNrLWZyYW1lLWFycmF5W19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87d2lkdGg6Y2FsYygxMDAlIC0gOHB4KX0uc3RhY2stZnJhbWUtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjYTBhMGEwfS5zdGFjay1mcmFtZS1maWxlLXBhdGhbX25nY29udGVudC0lQ09NUCVde21heC13aWR0aDoxODBweDt3aWR0aDoxODBweH0uc3RhY2stZnJhbWUtbGluZW5vLWZ1bmN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXt0ZXh0LWFsaWduOnJpZ2h0O3doaXRlLXNwYWNlOm5vd3JhcH0uc3RhY2stZnJhbWUtZnVuY3Rpb25bX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoyMDBweDtwYWRkaW5nLWxlZnQ6MTBweDt0ZXh0LWFsaWduOmxlZnQ7d2hpdGUtc3BhY2U6bm9ybWFsO3dpZHRoOjIwMHB4O3dvcmQtd3JhcDphbnl3aGVyZX0uc3RhY2stZnJhbWUtbGluZW5vW19uZ2NvbnRlbnQtJUNPTVAlXXtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6ODBweDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt3aWR0aDo4MHB4fS5zdGFjay10cmFjZS1hdXgtaW5mb1tfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDoxNXB4O3BhZGRpbmctbGVmdDoyNHB4fS5zdGFjay10cmFjZS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZWJlYmViO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1mbG93OmNvbHVtbjtmb250LXNpemU6MTBweDtmb250LWZhbWlseToiUm9ib3RvIE1vbm8iLG1vbm9zcGFjZTtoZWlnaHQ6MTAwJTttYXJnaW4tbGVmdDo4cHg7bWF4LWhlaWdodDozNjBweDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmhpZGRlbjtwYWRkaW5nLWxlZnQ6OHB4O3dpZHRoOjEwMCV9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnN0YWNrLXRyYWNlLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5zdGFjay10cmFjZS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjNTU1fS5zdGFjay10cmFjZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2JveC1zaGFkb3c6MCA1cHggM3B4IC0zcHggI2NjYztwYWRkaW5nLWJvdHRvbTozcHh9LnN0YWNrLXRyYWNlLWhvc3QtbmFtZVtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6Z3JheX0uc3RhY2stdHJhY2UtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OmJvbGR9LnN0aWNrLXRvLWJvdHRvbW1vc3QtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmctcmlnaHQ6M3B4fSddfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4JCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJzdGFjay10cmFjZS1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL3N0YWNrX3RyYWNlX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL3N0YWNrX3RyYWNlX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCx7Y29kZUxvY2F0aW9uVHlwZTpbe3R5cGU6Ul99XSxvcFR5cGU6W3t0eXBlOlJffV0sb3BOYW1lOlt7dHlwZTpSX31dLGV4ZWN1dGlvbkluZGV4Olt7dHlwZTpSX31dLHN0aWNrVG9Cb3R0b21tb3N0RnJhbWVJbkZvY3VzZWRGaWxlOlt7dHlwZTpSX31dLHN0YWNrRnJhbWVzRm9yRGlzcGxheTpbe3R5cGU6Ul99XSxvblNvdXJjZUxpbmVDbGlja2VkOlt7dHlwZTpFX31dLHN0YWNrRnJhbWVBcnJheTpbe3R5cGU6YXIsYXJnczpbInN0YWNrRnJhbWVBcnJheSJdfV19KTtjbGFzcyBPJHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5jb2RlTG9jYXRpb25UeXBlJD10aGlzLnN0b3JlLnBpcGUoclMoYlMobEosKHQ9Pm51bGw9PT10P251bGw6dC5jb2RlTG9jYXRpb25UeXBlKSkpKSx0aGlzLm9wVHlwZSQ9dGhpcy5zdG9yZS5waXBlKHJTKGJTKGxKLCh0PT5udWxsPT09dD9udWxsOnQub3BUeXBlKSkpKSx0aGlzLm9wTmFtZSQ9dGhpcy5zdG9yZS5waXBlKHJTKGJTKGxKLCh0PT5udWxsPT09dHx8dC5jb2RlTG9jYXRpb25UeXBlIT09Y0suR1JBUEhfT1BfQ1JFQVRJT04/bnVsbDp0Lm9wTmFtZSkpKSksdGhpcy5leGVjdXRpb25JbmRleCQ9dGhpcy5zdG9yZS5waXBlKHJTKGJTKGxKLCh0PT5udWxsPT09dHx8dC5jb2RlTG9jYXRpb25UeXBlIT09Y0suRVhFQ1VUSU9OP251bGw6dC5leGVjdXRpb25JbmRleCkpKSksdGhpcy5zdGlja1RvQm90dG9tbW9zdEZyYW1lSW5Gb2N1c2VkRmlsZSQ9dGhpcy5zdG9yZS5waXBlKHJTKGdKKSksdGhpcy5zdGFja0ZyYW1lc0ZvckRpc3BsYXkkPXRoaXMuc3RvcmUucGlwZShyUyhiUyhjSix1SiwoKHQsZSk9PntpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdCBuPVtdO2Zvcihjb25zdCBvIG9mIHQpe2NvbnN0e2hvc3RfbmFtZTp0LGZpbGVfcGF0aDppLGxpbmVubzphLGZ1bmN0aW9uX25hbWU6cn09byxzPWkuc3BsaXQoIi8iKSxsPW51bGwhPT1lJiZ0PT09ZS5ob3N0X25hbWUmJmk9PT1lLmZpbGVfcGF0aDtuLnB1c2goe2hvc3RfbmFtZTp0LGZpbGVfcGF0aDppLGNvbmNpc2VfZmlsZV9wYXRoOnNbcy5sZW5ndGgtMV0sbGluZW5vOmEsZnVuY3Rpb25fbmFtZTpyLGJlbG9uZ3NUb0ZvY3VzZWRGaWxlOmwsZm9jdXNlZDpsJiZhPT09ZS5saW5lbm99KX1yZXR1cm4gbn0pKSkpfW9uU291cmNlTGluZUNsaWNrZWQodCl7Y29uc3R7aG9zdF9uYW1lOmUsZmlsZV9wYXRoOm4sbGluZW5vOm8sZnVuY3Rpb25fbmFtZTppfT10O3RoaXMuc3RvcmUuZGlzcGF0Y2gobksoe3N0YWNrRnJhbWU6e2hvc3RfbmFtZTplLGZpbGVfcGF0aDpuLGxpbmVubzpvLGZ1bmN0aW9uX25hbWU6aX19KSl9fWZ1bmN0aW9uIFAkKHQsZSl7MSZ0JiZ2ZigwLCJ0Zi1kZWJ1Z2dlci12Mi1pbmFjdGl2ZSIpfWZ1bmN0aW9uIHckKHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwzKSx2ZigxLCJ0Zi1kZWJ1Z2dlci12Mi1hbGVydHMiKSxDZigyLCJkaXYiLDQpLHZmKDMsInRmLWRlYnVnZ2VyLXYyLXRpbWVsaW5lIiksdmYoNCwidGYtZGVidWdnZXItdjItZ3JhcGgiKSxNZigpLHZmKDUsInRmLWRlYnVnZ2VyLXYyLWdyYXBoLWV4ZWN1dGlvbnMiKSxNZigpLENmKDYsImRpdiIsNSksdmYoNywidGYtZGVidWdnZXItdjItc291cmNlLWZpbGVzIiksdmYoOCwidGYtZGVidWdnZXItdjItc3RhY2stdHJhY2UiKSxNZigpKX1PJC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TyQpKGdmKGlTKSl9LE8kLsm1Y21wPXNvKHt0eXBlOk8kLHNlbGVjdG9yczpbWyJ0Zi1kZWJ1Z2dlci12Mi1zdGFjay10cmFjZSJdXSxkZWNsczo3LHZhcnM6MTgsY29uc3RzOltbMywiY29kZUxvY2F0aW9uVHlwZSIsIm9wVHlwZSIsIm9wTmFtZSIsImV4ZWN1dGlvbkluZGV4Iiwic3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGUiLCJzdGFja0ZyYW1lc0ZvckRpc3BsYXkiLCJvblNvdXJjZUxpbmVDbGlja2VkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJzdGFjay10cmFjZS1jb21wb25lbnQiLDApLFJmKCJvblNvdXJjZUxpbmVDbGlja2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblNvdXJjZUxpbmVDbGlja2VkKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIiksX3koNSwiYXN5bmMiKSxfeSg2LCJhc3luYyIpLE1mKCkpLDImZSYmYmYoImNvZGVMb2NhdGlvblR5cGUiLEN5KDEsNixuLmNvZGVMb2NhdGlvblR5cGUkKSkoIm9wVHlwZSIsQ3koMiw4LG4ub3BUeXBlJCkpKCJvcE5hbWUiLEN5KDMsMTAsbi5vcE5hbWUkKSkoImV4ZWN1dGlvbkluZGV4IixDeSg0LDEyLG4uZXhlY3V0aW9uSW5kZXgkKSkoInN0aWNrVG9Cb3R0b21tb3N0RnJhbWVJbkZvY3VzZWRGaWxlIixDeSg1LDE0LG4uc3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGUkKSkoInN0YWNrRnJhbWVzRm9yRGlzcGxheSIsQ3koNiwxNixuLnN0YWNrRnJhbWVzRm9yRGlzcGxheSQpKX0sZGlyZWN0aXZlczpbeCRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPJCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJ0Zi1kZWJ1Z2dlci12Mi1zdGFjay10cmFjZSIsdGVtcGxhdGU6J1xuICAgIDxzdGFjay10cmFjZS1jb21wb25lbnRcbiAgICAgIFtjb2RlTG9jYXRpb25UeXBlXT0iY29kZUxvY2F0aW9uVHlwZSQgfCBhc3luYyJcbiAgICAgIFtvcFR5cGVdPSJvcFR5cGUkIHwgYXN5bmMiXG4gICAgICBbb3BOYW1lXT0ib3BOYW1lJCB8IGFzeW5jIlxuICAgICAgW2V4ZWN1dGlvbkluZGV4XT0iZXhlY3V0aW9uSW5kZXgkIHwgYXN5bmMiXG4gICAgICBbc3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGVdPSJcbiAgICAgICAgc3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGUkIHwgYXN5bmNcbiAgICAgICJcbiAgICAgIFtzdGFja0ZyYW1lc0ZvckRpc3BsYXldPSJzdGFja0ZyYW1lc0ZvckRpc3BsYXkkIHwgYXN5bmMiXG4gICAgICAob25Tb3VyY2VMaW5lQ2xpY2tlZCk9Im9uU291cmNlTGluZUNsaWNrZWQoJGV2ZW50KSJcbiAgICA+PC9zdGFjay10cmFjZS1jb21wb25lbnQ+XG4gICd9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgayR7Y29uc3RydWN0b3IoKXt0aGlzLnJ1bnM9e30sdGhpcy5ydW5JZHM9W10sdGhpcy5hY3RpdmVSdW5JZD1udWxsfX1rJC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ayQpfSxrJC7JtWNtcD1zbyh7dHlwZTprJCxzZWxlY3RvcnM6W1siZGVidWdnZXItY29tcG9uZW50Il1dLGlucHV0czp7cnVuczoicnVucyIscnVuSWRzOiJydW5JZHMiLGFjdGl2ZVJ1bklkOiJhY3RpdmVSdW5JZCJ9LGRlY2xzOjQsdmFyczoyLGNvbnN0czpbWzEsImRlYnVnZ2VyLWNvbnRhaW5lciJdLFs0LCJuZ0lmIiwibmdJZkVsc2UiXSxbImRhdGFBdmFpbGFibGUiLCIiXSxbMSwidG9wLXNlY3Rpb24iXSxbMSwidG9wLWNlbnRlci1zZWN0aW9uIl0sWzEsImJvdHRvbS1zZWN0aW9uIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihDZigwLCJkaXYiLDApLEhtKDEsUCQsMSwwLCJ0Zi1kZWJ1Z2dlci12Mi1pbmFjdGl2ZSIsMSksSG0oMix3JCw5LDAsIm5nLXRlbXBsYXRlIixudWxsLDIscXkpLE1mKCkpLDImZSl7Y29uc3QgdD1GbSgzKTtEYygxKSxiZigibmdJZiIsMD09PW4ucnVuSWRzLmxlbmd0aCkoIm5nSWZFbHNlIix0KX19LGRpcmVjdGl2ZXM6W1B2LFBYLENKLGJRLElRLFlRLHMkLE8kXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0uYm90dG9tLXNlY3Rpb25bX25nY29udGVudC0lQ09NUCVde2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtmbGV4LWdyb3c6MTtoZWlnaHQ6MzQlO3BhZGRpbmctdG9wOjZweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuYm90dG9tLXNlY3Rpb25bX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuYm90dG9tLXNlY3Rpb25bX25nY29udGVudC0lQ09NUCVde2JvcmRlci10b3A6MXB4IHNvbGlkICM1NTV9LmRlYnVnZ2VyLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbn0udG9wLXNlY3Rpb25bX25nY29udGVudC0lQ09NUCVde2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1ncm93OjE7aGVpZ2h0OjY2JTtwYWRkaW5nOjZweCAwfXRmLWRlYnVnZ2VyLXYyLWFsZXJ0c1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDoxMHB4O21pbi13aWR0aDoxNjBweDt3aWR0aDpjYWxjKDE1JSAtIDExcHgpfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIHRmLWRlYnVnZ2VyLXYyLWFsZXJ0c1tfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIHRmLWRlYnVnZ2VyLXYyLWFsZXJ0c1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjNTU1fXRmLWRlYnVnZ2VyLXYyLWdyYXBoLWV4ZWN1dGlvbnNbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDo1NDBweDt3aWR0aDo1NDBweH10Zi1kZWJ1Z2dlci12Mi1zb3VyY2UtZmlsZXNbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjcwJX10Zi1kZWJ1Z2dlci12Mi1zdGFjay10cmFjZVtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxleC1ncm93OjE7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjU0MHB4O3dpZHRoOjU0MHB4fS50b3AtY2VudGVyLXNlY3Rpb25bX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmF1dG87d2lkdGg6NTUlfXRmLWRlYnVnZ2VyLXYyLXRpbWVsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmJsb2NrfXRmLWRlYnVnZ2VyLXYyLWdyYXBoW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDo1cHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgdGYtZGVidWdnZXItdjItZ3JhcGhbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICB0Zi1kZWJ1Z2dlci12Mi1ncmFwaFtfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXRvcDoxcHggc29saWQgIzU1NX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoayQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiZGVidWdnZXItY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9kZWJ1Z2dlcl9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9kZWJ1Z2dlcl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7cnVuczpbe3R5cGU6Ul99XSxydW5JZHM6W3t0eXBlOlJffV0sYWN0aXZlUnVuSWQ6W3t0eXBlOlJffV19KTtjbGFzcyBTJHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5ydW5zJD10aGlzLnN0b3JlLnBpcGUoclMoQ0spKSx0aGlzLnJ1bnNJZHMkPXRoaXMuc3RvcmUucGlwZShyUyhiUyhDSywodD0+T2JqZWN0LmtleXModCkpKSkpLHRoaXMuYWN0aXZlUnVuSWQkPXRoaXMuc3RvcmUucGlwZShyUyh2SykpfW5nT25Jbml0KCl7dGhpcy5zdG9yZS5kaXNwYXRjaCh3WCgpKX1uZ09uRGVzdHJveSgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goa1goKSl9fVMkLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxTJCkoZ2YoaVMpKX0sUyQuybVjbXA9c28oe3R5cGU6UyQsc2VsZWN0b3JzOltbInRmLWRlYnVnZ2VyLXYyIl1dLGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsInJ1bnMiLCJydW5JZHMiLCJhY3RpdmVSdW5JZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwiZGVidWdnZXItY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSksMiZlJiZiZigicnVucyIsQ3koMSwzLG4ucnVucyQpKSgicnVuSWRzIixDeSgyLDUsbi5ydW5zSWRzJCkpKCJhY3RpdmVSdW5JZCIsQ3koMyw3LG4uYWN0aXZlUnVuSWQkKSl9LGRpcmVjdGl2ZXM6W2skXSxwaXBlczpbVnZdLHN0eWxlczpbIltfbmdob3N0LSVDT01QJV0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfSJdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihTJCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJ0Zi1kZWJ1Z2dlci12MiIsdGVtcGxhdGU6J1xuICAgIDxkZWJ1Z2dlci1jb21wb25lbnRcbiAgICAgIFtydW5zXT0icnVucyQgfCBhc3luYyJcbiAgICAgIFtydW5JZHNdPSJydW5zSWRzJCB8IGFzeW5jIlxuICAgICAgW2FjdGl2ZVJ1bklkXT0iYWN0aXZlUnVuSWQkIHwgYXN5bmMiXG4gICAgPjwvZGVidWdnZXItY29tcG9uZW50PlxuICAnLHN0eWxlczpbIlxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLG51bGwpO2NvbnN0IEQkPSJkZWJ1Z2dlci12MiI7ZnVuY3Rpb24gUiQodCxlLG4sbyxpKXtpZihuPD0wfHwhTnVtYmVyLmlzSW50ZWdlcihuKSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcGFnZVNpemU6ICR7bn1gKTtpZihlPm8pdGhyb3cgbmV3IEVycm9yKGBlbmQgaW5kZXggKCR7ZX0pIGV4Y2VlZHMgdG90YWwgbnVtYmVyIG9mIGl0ZW1zICgke299KWApO2lmKGUtdD5uKXRocm93IG5ldyBFcnJvcigiYmVnaW4tZW5kIHNwYW4gZXhjZWVkcyBwYWdlIHNpemUsIHdoaWNoIGlzIG5vdCBhbGxvd2VkIik7Y29uc3QgYT1bXSxyPU1hdGguZmxvb3IodC9uKTsoIShyIGluIGkpfHxpW3JdPG4mJnIqbitpW3JdPG8pJiZhLnB1c2gocik7Y29uc3Qgcz1NYXRoLmZsb29yKChlLTEpL24pO2lmKHMhPT1yKXsoIShzIGluIGkpfHxzKm4raVtzXTxlJiZlPG8pJiZhLnB1c2gocyl9cmV0dXJuIGF9Y2xhc3MgRSR7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuYWN0aW9ucyQ9dCx0aGlzLnN0b3JlPWUsdGhpcy5kYXRhU291cmNlPW4sdGhpcy5sb2FkRGF0YSQ9V1MoKCgpPT57Y29uc3QgdD10aGlzLmxvYWREZWJ1Z2dlclJ1bnMocGUodGhpcy5vbkRlYnVnZ2VyRGF0YVBvbGwoKSx0aGlzLm9uQ29yZVJlbG9hZCgpKSkucGlwZShJZSgpKSxlPXRoaXMubG9hZFNvdXJjZUZpbGVMaXN0KHQpLG49dGhpcy5jcmVhdGVOdW1FeGVjdXRpb25Mb2FkZXIodCksbz10aGlzLmNyZWF0ZU51bUFsZXJ0c0FuZEJyZWFrZG93bkxvYWRlcih0KSxpPXRoaXMub25BbGVydFR5cGVGb2N1c2VkKCksYT10aGlzLmZldGNoRXhlY3V0aW9uRGlnZXN0c0ZvckFsZXJ0VHlwZUZvY3VzKGkpLHI9dGhpcy5jcmVhdGVJbml0aWFsRXhlY3V0aW9uRGV0ZWN0b3IobikucGlwZShJZSgpKSxzPXRoaXMuY3JlYXRlRXhlY3V0aW9uRGlnZXN0TG9hZGVyKHBlKHRoaXMub25FeGVjdXRpb25TY3JvbGwoKSx0aGlzLmNyZWF0ZUluaXRpYWxFeGVjdXRpb25EaWdlc3QociksYSkpLGw9dGhpcy5jcmVhdGVFeGVjdXRpb25EYXRhQW5kU3RhY2tGcmFtZXNMb2FkZXIocGUodGhpcy5vbkV4ZWN1dGlvbkRpZ2VzdEZvY3VzZWQoKSxyLnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QodkspLHRoaXMuc3RvcmUuc2VsZWN0KGlKKSksVnQoKChbLHQsZV0pPT4oe2FjdGl2ZVJ1bklkOnQsbG9hZGVkRXhlY3V0aW9uRGF0YTplLGZvY3VzSW5kZXg6MH0pKSkpKSk7cmV0dXJuIHBlKG8scyxsLHRoaXMuY3JlYXRlTnVtR3JhcGhFeGVjdXRpb25Mb2FkZXIodCksZSx0aGlzLm9uU291cmNlRmlsZUZvY3VzZWQoKSx0aGlzLmxvYWRHcmFwaEV4ZWN1dGlvblBhZ2VzKHRoaXMub25HcmFwaEV4ZWN1dGlvblNjcm9sbCgpKSx0aGlzLmxvYWRHcmFwaE9wU3RhY2tGcmFtZXModGhpcy5sb2FkR3JhcGhPcEluZm8oKSkpLnBpcGUoVnQoKCgpPT4oe30pKSkpfSkse2Rpc3BhdGNoOiExfSl9b25EZWJ1Z2dlckRhdGFQb2xsKCl7cmV0dXJuIHRoaXMuYWN0aW9ucyQucGlwZSgkUyh3WCksVmUoKHQ9PihmdW5jdGlvbiBlKHQsbixvKXtyZXR1cm4gdC5waXBlKHplKCh0PT50LnBpcGUocWUobiksT2UoKChbLHRdKT0+ZGUodCkpKSkpKSxqZShvKSxWdCgoKCk9Pnt9KSkpfSkoenQodCksdGhpcy5zdG9yZS5zZWxlY3QoeEspLnBpcGUoVnQoKHQ9PihmdW5jdGlvbiBlKHQpe3JldHVybiB0PjZlND82ZTQ6dD40ZTM/dDoyZTN9KSh0KSkpKSx0aGlzLmFjdGlvbnMkLnBpcGUoJFMoa1gpKSkpKSxXZSgoKCk9PnRoaXMuc3RvcmUuZGlzcGF0Y2goU1goKSkpKSxWdCgoKCk9Pnt9KSkpfW9uQ29yZVJlbG9hZCgpe3JldHVybiBwZSh0aGlzLmFjdGlvbnMkLnBpcGUoJFMoSkUsUUUpKSx0aGlzLmFjdGlvbnMkLnBpcGUoJFMoWkUpKS5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KE1LKSksdWUoKChbLHRdKT0+dC5zdGF0ZT09PVVFLk5PVF9MT0FERUR8fHQuc3RhdGU9PT1VRS5GQUlMRUQmJm51bGw9PT10Lmxhc3RMb2FkZWRUaW1lSW5NcykpKSkucGlwZShxZSh0aGlzLnN0b3JlLnNlbGVjdChlVCkpLHVlKCgoWyx0XSk9PnQ9PT1EJCkpLFdlKCgoKT0+dGhpcy5zdG9yZS5kaXNwYXRjaChTWCgpKSkpLFZ0KCgoKT0+e30pKSl9bG9hZERlYnVnZ2VyUnVucyh0KXtyZXR1cm4gdC5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KE1LKSksdWUoKChbLHtzdGF0ZTp0fV0pPT50IT09VUUuTE9BRElORykpLFdlKCgoKT0+dGhpcy5zdG9yZS5kaXNwYXRjaChEWCgpKSkpLCR0KCgoKT0+dGhpcy5kYXRhU291cmNlLmZldGNoUnVucygpLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKFJYKHtydW5zOnR9KSl9KSksVnQoKCgpPT57fSkpKSkpKX1jcmVhdGVOdW1FeGVjdXRpb25Mb2FkZXIodCl7cmV0dXJuIHQucGlwZShxZSh0aGlzLnN0b3JlLnNlbGVjdChDSyksdGhpcy5zdG9yZS5zZWxlY3QoQUspKSx1ZSgoKFssdCxlXSk9Pk9iamVjdC5rZXlzKHQpLmxlbmd0aD4wJiZlLnN0YXRlIT09VUUuTE9BRElORykpLFdlKCgoKT0+dGhpcy5zdG9yZS5kaXNwYXRjaChJWCgpKSkpLCR0KCgoWyx0XSk9Pntjb25zdCBlPU9iamVjdC5rZXlzKHQpWzBdO3JldHVybiB0aGlzLmRhdGFTb3VyY2UuZmV0Y2hFeGVjdXRpb25EaWdlc3RzKGUsMCwwKS5waXBlKFdlKCh0PT57dGhpcy5zdG9yZS5kaXNwYXRjaChIWCh7bnVtRXhlY3V0aW9uczp0Lm51bV9kaWdlc3RzfSkpfSkpLFZ0KCgoKT0+e30pKSl9KSkpfWNyZWF0ZU51bUdyYXBoRXhlY3V0aW9uTG9hZGVyKHQpe3JldHVybiB0LnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QoQ0spLHRoaXMuc3RvcmUuc2VsZWN0KEJLKSksdWUoKChbLHQsZV0pPT5PYmplY3Qua2V5cyh0KS5sZW5ndGg+MCYmZS5zdGF0ZSE9PVVFLkxPQURJTkcpKSxXZSgoKCk9PnRoaXMuc3RvcmUuZGlzcGF0Y2goR1goKSkpKSwkdCgoKFssdF0pPT57Y29uc3QgZT1PYmplY3Qua2V5cyh0KVswXTtyZXR1cm4gdGhpcy5kYXRhU291cmNlLmZldGNoR3JhcGhFeGVjdXRpb25EaWdlc3RzKGUsMCwwKS5waXBlKFdlKCh0PT57dGhpcy5zdG9yZS5kaXNwYXRjaChZWCh7bnVtR3JhcGhFeGVjdXRpb25zOnQubnVtX2RpZ2VzdHN9KSl9KSksVnQoKCgpPT57fSkpKX0pKSl9Y3JlYXRlTnVtQWxlcnRzQW5kQnJlYWtkb3duTG9hZGVyKHQpe3JldHVybiB0LnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QoQ0spLHRoaXMuc3RvcmUuc2VsZWN0KFBLKSksdWUoKChbLHQsZV0pPT5PYmplY3Qua2V5cyh0KS5sZW5ndGg+MCYmZS5zdGF0ZSE9PVVFLkxPQURJTkcpKSxXZSgoKCk9PnRoaXMuc3RvcmUuZGlzcGF0Y2goQVgoKSkpKSwkdCgoKFssdF0pPT57Y29uc3QgZT1PYmplY3Qua2V5cyh0KVswXTtyZXR1cm4gdGhpcy5kYXRhU291cmNlLmZldGNoQWxlcnRzKGUsMCwwKS5waXBlKFdlKCh0PT57dGhpcy5zdG9yZS5kaXNwYXRjaChUWCh7bnVtQWxlcnRzOnQubnVtX2FsZXJ0cyxhbGVydHNCcmVha2Rvd246dC5hbGVydHNfYnJlYWtkb3dufSkpfSkpLFZ0KCgoKT0+e30pKSl9KSkpfWNyZWF0ZUluaXRpYWxFeGVjdXRpb25EZXRlY3Rvcih0KXtyZXR1cm4gdC5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KE5LKSx0aGlzLnN0b3JlLnNlbGVjdChUSykpLHVlKCgoWyx0LGVdKT0+dD4wJiYwPT09T2JqZWN0LmtleXMoZS5wYWdlTG9hZGVkU2l6ZXMpLmxlbmd0aCkpLFZ0KCgoKT0+e30pKSl9Y3JlYXRlSW5pdGlhbEV4ZWN1dGlvbkRpZ2VzdCh0KXtyZXR1cm4gdC5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KE5LKSx0aGlzLnN0b3JlLnNlbGVjdCh2SyksdGhpcy5zdG9yZS5zZWxlY3QoSUspKSx1ZSgoKFssLHRdKT0+bnVsbCE9PXQpKSxWdCgoKFssdCxlLG5dKT0+KHtiZWdpbjowLGVuZDpNYXRoLm1pbih0LG4pLHJ1bklkOmV9KSkpKX1vbkV4ZWN1dGlvblNjcm9sbCgpe3JldHVybiB0aGlzLmFjdGlvbnMkLnBpcGUoJFMoQlgsVlgsalgpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KHZLKSx0aGlzLnN0b3JlLnNlbGVjdCh6SyksdGhpcy5zdG9yZS5zZWxlY3QoTkspLHRoaXMuc3RvcmUuc2VsZWN0KEhLKSx0aGlzLnN0b3JlLnNlbGVjdChJSykpLHVlKCgoW3RdKT0+bnVsbCE9PXQpKSxWdCgoKFssdCxlLG4sbyxpXSk9Pih7cnVuSWQ6dCxiZWdpbjplLGVuZDpNYXRoLm1pbihuLGUrbykscGFnZVNpemU6aX0pKSkscWUodGhpcy5zdG9yZS5zZWxlY3QoVEspKSxWdCgoKFt0LGVdKT0+KHtwcm9wczp0LGxvYWRlZDplLG1pc3NpbmdQYWdlczpSJCh0LmJlZ2luLHQuZW5kLHQucGFnZVNpemUsZS5udW1FeGVjdXRpb25zLGUucGFnZUxvYWRlZFNpemVzKX0pKSksdWUoKCh7bWlzc2luZ1BhZ2VzOnR9KT0+dC5sZW5ndGg+MCkpLFZ0KCgoe3Byb3BzOnQsbG9hZGVkOmUsbWlzc2luZ1BhZ2VzOm59KT0+e2NvbnN0e3J1bklkOm8scGFnZVNpemU6aX09dDtyZXR1cm57YmVnaW46blswXSppLGVuZDpNYXRoLm1pbihlLm51bUV4ZWN1dGlvbnMsKG5bbi5sZW5ndGgtMV0rMSkqaSkscnVuSWQ6b319KSkpfWNyZWF0ZUV4ZWN1dGlvbkRpZ2VzdExvYWRlcih0KXtyZXR1cm4gdC5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KFRLKSksdWUoKChbe2JlZ2luOnQsZW5kOmV9LG5dKT0+ZT50JiYhKGZ1bmN0aW9uIG8odCxlLG4pe2lmKGU+PW4pdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBiZWdpbiB0byBiZSBsZXNzIHRoYW4gZW5kLCBidXQgZ290IGJlZ2luPSR7ZX0sIGVuZD0ke259YCk7cmV0dXJuLTEhPT10LmZpbmRJbmRleCgodD0+dC5iZWdpbj49ZSYmdC5lbmQ8PW4pKX0pKG4ubG9hZGluZ1Jhbmdlcyx0LGUpKSksV2UoKChbe2JlZ2luOnQsZW5kOmV9XSk9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKEZYKHtiZWdpbjp0LGVuZDplfSkpfSkpLCR0KCgoW3tydW5JZDp0LGJlZ2luOmUsZW5kOm59XSk9PnRoaXMuZGF0YVNvdXJjZS5mZXRjaEV4ZWN1dGlvbkRpZ2VzdHModCxlLG4pLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKExYKHQpKX0pKSxWdCgoKCk9Pnt9KSkpKSkpfW9uRXhlY3V0aW9uRGlnZXN0Rm9jdXNlZCgpe3JldHVybiB0aGlzLmFjdGlvbnMkLnBpcGUoJFMoVVgpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KHZLKSx0aGlzLnN0b3JlLnNlbGVjdChpSiksdGhpcy5zdG9yZS5zZWxlY3QoekspKSxWdCgoKFt0LGUsbixvXSk9Pih7YWN0aXZlUnVuSWQ6ZSxsb2FkZWRFeGVjdXRpb25EYXRhOm4sZm9jdXNJbmRleDpvK3QuZGlzcGxheUluZGV4fSkpKSl9Y3JlYXRlRXhlY3V0aW9uRGF0YUFuZFN0YWNrRnJhbWVzTG9hZGVyKHQpe3JldHVybiB0LnBpcGUodWUoKCh7YWN0aXZlUnVuSWQ6dCxsb2FkZWRFeGVjdXRpb25EYXRhOmUsZm9jdXNJbmRleDpufSk9Pm51bGwhPT10JiZudWxsIT09biYmdm9pZCAwPT09ZVtuXSkpLCR0KCgoe2FjdGl2ZVJ1bklkOnQsZm9jdXNJbmRleDplfSk9Pntjb25zdCBuPWUsbz1uKzE7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5mZXRjaEV4ZWN1dGlvbkRhdGEodCxuLG8pLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKFdYKHQpKX0pKSxWdCgodD0+KHtleGVjdXRpb25EYXRhOnQsYmVnaW46bixlbmQ6b30pKSkpfSkpLFZ0KCgoe2V4ZWN1dGlvbkRhdGE6dH0pPT50LmV4ZWN1dGlvbnNbMF0pKSxxZSh0aGlzLnN0b3JlLnNlbGVjdCh2SyksdGhpcy5zdG9yZS5zZWxlY3QockopKSx1ZSgoKFt0LGUsbl0pPT57aWYobnVsbD09PWUpcmV0dXJuITE7Zm9yKGNvbnN0IGUgb2YgdC5zdGFja19mcmFtZV9pZHMpaWYodm9pZCAwPT09bltlXSlyZXR1cm4hMDtyZXR1cm4hMX0pKSwkdCgoKFt0LGVdKT0+e2NvbnN0IG49dC5zdGFja19mcmFtZV9pZHM7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5mZXRjaFN0YWNrRnJhbWVzKGUsbikucGlwZShXZSgodD0+e2NvbnN0IGU9e307Zm9yKGxldCBvPTA7bzxuLmxlbmd0aDsrK28pZVtuW29dXT10LnN0YWNrX2ZyYW1lc1tvXTt0aGlzLnN0b3JlLmRpc3BhdGNoKGFLKHtzdGFja0ZyYW1lczplfSkpfSkpLFZ0KCgoKT0+e30pKSl9KSkpfW9uR3JhcGhFeGVjdXRpb25TY3JvbGwoKXtyZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKCRTKFhYKSxDZSgxMDApLHFlKHRoaXMuc3RvcmUuc2VsZWN0KHZLKSx0aGlzLnN0b3JlLnNlbGVjdChWSyksdGhpcy5zdG9yZS5zZWxlY3QoakspKSx1ZSgoKFssdCxlXSk9Pm51bGwhPT10JiZlPjApKSxWdCgoKFssdCxlLG5dKT0+KHtydW5JZDp0LG51bUdyYXBoRXhlY3V0aW9uczplLHNjcm9sbEJlZ2luSW5kZXg6bn0pKSkscWUodGhpcy5zdG9yZS5zZWxlY3QoV0spLHRoaXMuc3RvcmUuc2VsZWN0KFVLKSx0aGlzLnN0b3JlLnNlbGVjdChHSyksdGhpcy5zdG9yZS5zZWxlY3QoWUspKSxWdCgoKFt7cnVuSWQ6dCxudW1HcmFwaEV4ZWN1dGlvbnM6ZSxzY3JvbGxCZWdpbkluZGV4Om59LG8saSxhLHJdKT0+e2xldCBzPVIkKG4sTWF0aC5taW4obitpLGUpLG8sZSxyKTtyZXR1cm4gcz1zLmZpbHRlcigodD0+LTE9PT1hLmluZGV4T2YodCkpKSx7cnVuSWQ6dCxtaXNzaW5nUGFnZXM6cyxwYWdlU2l6ZTpvLG51bUdyYXBoRXhlY3V0aW9uczplfX0pKSl9bG9hZEdyYXBoRXhlY3V0aW9uUGFnZXModCl7cmV0dXJuIHQucGlwZSh1ZSgoKHttaXNzaW5nUGFnZXM6dH0pPT50Lmxlbmd0aD4wKSksV2UoKCh7bWlzc2luZ1BhZ2VzOnR9KT0+e3QuZm9yRWFjaCgodD0+e3RoaXMuc3RvcmUuZGlzcGF0Y2gocVgoe3BhZ2VJbmRleDp0fSkpfSkpfSkpLCR0KCgoe3J1bklkOnQsbWlzc2luZ1BhZ2VzOmUscGFnZVNpemU6bixudW1HcmFwaEV4ZWN1dGlvbnM6b30pPT57Y29uc3QgaT1lWzBdKm4sYT1NYXRoLm1pbigoZVtlLmxlbmd0aC0xXSsxKSpuLG8pO3JldHVybiB0aGlzLmRhdGFTb3VyY2UuZmV0Y2hHcmFwaEV4ZWN1dGlvbkRhdGEodCxpLGEpLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKFpYKHQpKX0pKSxWdCgoKCk9Pnt9KSkpfSkpKX1sb2FkR3JhcGhPcEluZm8oKXtyZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKCRTKEpYLEtYKSxxZSh0aGlzLnN0b3JlLnNlbGVjdCh2SyksdGhpcy5zdG9yZS5zZWxlY3QoYUopKSx1ZSgoKFt0LGUsbl0pPT57Y29uc3R7Z3JhcGhfaWQ6byxvcF9uYW1lOml9PXQ7cmV0dXJuIShudWxsPT09ZXx8dm9pZCAwIT09bltvXSYmbltvXS5oYXMoaSkmJihuW29dLmdldChpKT09PVVFLkxPQURJTkd8fG5bb10uZ2V0KGkpPT09VUUuTE9BREVEKSl9KSksV2UoKChbe2dyYXBoX2lkOnQsb3BfbmFtZTplfV0pPT50aGlzLnN0b3JlLmRpc3BhdGNoKFFYKHtncmFwaF9pZDp0LG9wX25hbWU6ZX0pKSkpLCR0KCgoW3QsZV0pPT57Y29uc3R7Z3JhcGhfaWQ6bixvcF9uYW1lOm99PXQ7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5mZXRjaEdyYXBoT3BJbmZvKGUsbixvKS5waXBlKFdlKCh0PT50aGlzLnN0b3JlLmRpc3BhdGNoKCRYKHtncmFwaE9wSW5mb1Jlc3BvbnNlOnR9KSkpKSxWdCgodD0+KHtydW5JZDplLHN0YWNrRnJhbWVJZHM6dC5zdGFja19mcmFtZV9pZHN9KSkpKX0pKSl9bG9hZEdyYXBoT3BTdGFja0ZyYW1lcyh0KXtyZXR1cm4gdC5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KHJKKSksVnQoKChbe3J1bklkOnQsc3RhY2tGcmFtZUlkczplfSxuXSk9Pih7cnVuSWQ6dCxtaXNzaW5nU3RhY2tGcmFtZUlkczplLmZpbHRlcigodD0+dm9pZCAwPT09blt0XSkpfSkpKSx1ZSgoKHtydW5JZDp0LG1pc3NpbmdTdGFja0ZyYW1lSWRzOmV9KT0+bnVsbCE9PXQmJmUubGVuZ3RoPjApKSwkdCgoKHtydW5JZDp0LG1pc3NpbmdTdGFja0ZyYW1lSWRzOmV9KT0+dGhpcy5kYXRhU291cmNlLmZldGNoU3RhY2tGcmFtZXModCxlKS5waXBlKFdlKCh0PT57Y29uc3Qgbj17fTtmb3IobGV0IG89MDtvPGUubGVuZ3RoOysrbyluW2Vbb11dPXQuc3RhY2tfZnJhbWVzW29dO3RoaXMuc3RvcmUuZGlzcGF0Y2goYUsoe3N0YWNrRnJhbWVzOm59KSl9KSksVnQoKCgpPT57fSkpKSkpKX1vbkFsZXJ0VHlwZUZvY3VzZWQoKXtyZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKCRTKHpYKSxxZSh0aGlzLnN0b3JlLnNlbGVjdCh2SyksdGhpcy5zdG9yZS5zZWxlY3Qoa0spLHRoaXMuc3RvcmUuc2VsZWN0KFNLKSx0aGlzLnN0b3JlLnNlbGVjdChESyksdGhpcy5zdG9yZS5zZWxlY3QoUEspKSx1ZSgoKFssdCxlLG4sbyxpXSk9Pm51bGwhPT10JiZudWxsIT09ZSYmbj4wJiYobnVsbD09PW98fE9iamVjdC5rZXlzKG8pLmxlbmd0aDxuKSYmaS5zdGF0ZSE9PVVFLkxPQURJTkcpKSxXZSgoKCk9PnRoaXMuc3RvcmUuZGlzcGF0Y2goQVgoKSkpKSwkdCgoKFssdCxlXSk9PnRoaXMuZGF0YVNvdXJjZS5mZXRjaEFsZXJ0cyh0LDAsLTEsZSkpKSxXZSgoKHtudW1fYWxlcnRzOnQsYWxlcnRzX2JyZWFrZG93bjplLGFsZXJ0X3R5cGU6bixiZWdpbjpvLGVuZDppLGFsZXJ0czphfSk9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKE5YKHtudW1BbGVydHM6dCxhbGVydHNCcmVha2Rvd246ZSxhbGVydFR5cGU6bixiZWdpbjpvLGVuZDppLGFsZXJ0czphfSkpfSkpKX1mZXRjaEV4ZWN1dGlvbkRpZ2VzdHNGb3JBbGVydFR5cGVGb2N1cyh0KXtyZXR1cm4gdC5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KElLKSx0aGlzLnN0b3JlLnNlbGVjdChISyksdGhpcy5zdG9yZS5zZWxlY3QoTkspLHRoaXMuc3RvcmUuc2VsZWN0KFRLKSx0aGlzLnN0b3JlLnNlbGVjdCh2SykpLFZ0KCgoW3QsZSxuLG8saSxhXSk9Pntjb25zdCByPXQuYWxlcnRzWzBdLmV4ZWN1dGlvbl9pbmRleCxzPVIkKE1hdGgubWF4KDAsci1NYXRoLmZsb29yKG4vMikpLE1hdGgubWluKHIrTWF0aC5mbG9vcihuLzIpLG8pLGUsbyxpLnBhZ2VMb2FkZWRTaXplcyk7aWYoMD09PXMubGVuZ3RoKXJldHVybntydW5JZDphLGJlZ2luOjAsZW5kOjB9O3JldHVybntydW5JZDphLGJlZ2luOnNbMF0qZSxlbmQ6TWF0aC5taW4oaS5udW1FeGVjdXRpb25zLChzW3MubGVuZ3RoLTFdKzEpKmUpfX0pKSl9bG9hZFNvdXJjZUZpbGVMaXN0KHQpe3JldHVybiB0LnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QodkspLHRoaXMuc3RvcmUuc2VsZWN0KHBKKSksdWUoKChbLHQsZV0pPT5udWxsIT09dCYmZS5zdGF0ZSE9PVVFLkxPQURJTkcpKSxXZSgoKCk9PnRoaXMuc3RvcmUuZGlzcGF0Y2godEsoKSkpKSwkdCgoKFssdF0pPT50aGlzLmRhdGFTb3VyY2UuZmV0Y2hTb3VyY2VGaWxlTGlzdCh0KS5waXBlKFdlKCh0PT57Y29uc3QgZT1bXTt0LmZvckVhY2goKChbdCxuXSk9PntlLnB1c2goe2hvc3RfbmFtZTp0LGZpbGVfcGF0aDpufSl9KSksdGhpcy5zdG9yZS5kaXNwYXRjaChlSyh7c291cmNlRmlsZXM6ZX0pKX0pKSxWdCgoKCk9Pnt9KSkpKSkpfW9uU291cmNlRmlsZUZvY3VzZWQoKXtyZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKCRTKG5LKSxxZSh0aGlzLnN0b3JlLnNlbGVjdCh2SyksdGhpcy5zdG9yZS5zZWxlY3QobUopLHRoaXMuc3RvcmUuc2VsZWN0KGZKKSksVnQoKChbdCxlLG4sb10pPT4oe3J1bklkOmUsc3RhY2tGcmFtZTp0LnN0YWNrRnJhbWUsZmlsZUluZGV4Om4sZmlsZUNvbnRlbnQ6b30pKSksdWUoKCh7cnVuSWQ6dCxmaWxlQ29udGVudDplfSk9Pm51bGwhPT10JiZudWxsIT09ZSYmZS5sb2FkU3RhdGU9PT1VRS5OT1RfTE9BREVEKSksV2UoKCh7c3RhY2tGcmFtZTp0fSk9PnRoaXMuc3RvcmUuZGlzcGF0Y2gob0soe2hvc3RfbmFtZTp0Lmhvc3RfbmFtZSxmaWxlX3BhdGg6dC5maWxlX3BhdGh9KSkpKSwkdCgoKHtmaWxlSW5kZXg6dCxydW5JZDplfSk9PnRoaXMuZGF0YVNvdXJjZS5mZXRjaFNvdXJjZUZpbGUoZSx0KS5waXBlKFdlKCh0PT57dGhpcy5zdG9yZS5kaXNwYXRjaChpSyh0KSl9KSksVnQoKCgpPT57fSkpKSkpKX19RSQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEUkKShUcihRUyksVHIoaVMpLFRyKHZYKSl9LEUkLsm1cHJvdj1Tbih7dG9rZW46RSQsZmFjdG9yeTpFJC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRSQsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlFTfSx7dHlwZTppU30se3R5cGU6dlh9XX0pLG51bGwpO2NsYXNzIEEke31BJC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QSQpfSxBJC7JtW1vZD1mbyh7dHlwZTpBJH0pLEEkLsm1aW5qPURuKHtpbXBvcnRzOltbcnhdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQSQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3lKLENKXSxpbXBvcnRzOltyeF0sZXhwb3J0czpbQ0pdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oQSQse2RlY2xhcmF0aW9uczpbeUosQ0pdLGltcG9ydHM6W3J4XSxleHBvcnRzOltDSl19KTtjbGFzcyBUJHt9VCQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFQkKX0sVCQuybVtb2Q9Zm8oe3R5cGU6VCR9KSxUJC7JtWluaj1Ebih7aW1wb3J0czpbW3J4XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFQkLFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOlt6USxPUSxJUV0saW1wb3J0czpbcnhdLGV4cG9ydHM6W0lRXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFQkLHtkZWNsYXJhdGlvbnM6W3pRLE9RLElRXSxpbXBvcnRzOltyeF0sZXhwb3J0czpbSVFdfSk7Y2xhc3MgTiR7fU4kLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxOJCl9LE4kLsm1bW9kPWZvKHt0eXBlOk4kfSksTiQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihOJCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbWEosJEosUUosS0osSkosdFFdLGltcG9ydHM6W3J4XSxleHBvcnRzOlt0UV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhOJCx7ZGVjbGFyYXRpb25zOltYSiwkSixRSixLSixKSix0UV0saW1wb3J0czpbcnhdLGV4cG9ydHM6W3RRXX0pO2NsYXNzIHoke316JC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eiQpfSx6JC7JtW1vZD1mbyh7dHlwZTp6JH0pLHokLsm1aW5qPURuKHtpbXBvcnRzOltbcngsTiQsaUJdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeiQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W0dRLFlRXSxpbXBvcnRzOltyeCxOJCxpQl0sZXhwb3J0czpbWVFdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oeiQse2RlY2xhcmF0aW9uczpbR1EsWVFdLGltcG9ydHM6W3J4LE4kLGlCXSxleHBvcnRzOltZUV19KTtjbGFzcyBJJHt9SSQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEkkKX0sSSQuybVtb2Q9Zm8oe3R5cGU6SSR9KSxJJC7JtWluaj1Ebih7fSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihJJCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbT1gsUFhdLGV4cG9ydHM6W1BYXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEkkLHtkZWNsYXJhdGlvbnM6W09YLFBYXSxleHBvcnRzOltQWF19KTtjbGFzcyBIJHt9SCQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEgkKX0sSCQuybVtb2Q9Zm8oe3R5cGU6SCR9KSxIJC7JtWluaj1Ebih7fSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihIJCxbe3R5cGU6TF8sYXJnczpbe2V4cG9ydHM6WyRRXSxkZWNsYXJhdGlvbnM6WyRRXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEgkLHtkZWNsYXJhdGlvbnM6WyRRXSxleHBvcnRzOlskUV19KTtjb25zdCBGJD1bImNvZGVWaWV3ZXJDb250YWluZXIiXTtjbGFzcyBMJHtjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyc3RUZXh0PW51bGwsdGhpcy5zZWNvbmRUZXh0PW51bGwsdGhpcy5yZW5kZXJTaWRlQnlTaWRlPSEwLHRoaXMubW9uYWNvPW51bGwsdGhpcy5lZGl0b3I9bnVsbCx0aGlzLlJFU0laRV9ERUJPVU5DRV9JTlRFUlZBTF9NUz01MH1vblJlc2l6ZSgpe3RoaXMuZWRpdG9yJiZ0aGlzLmVkaXRvci5sYXlvdXQoKX1uZ09uQ2hhbmdlcyh0KXtpZighdGhpcy5tb25hY28pcmV0dXJuO2NvbnN0IGU9IXRoaXMuZWRpdG9yO2UmJih0aGlzLmVkaXRvcj10aGlzLm1vbmFjby5lZGl0b3IuY3JlYXRlRGlmZkVkaXRvcih0aGlzLmNvZGVWaWV3ZXJDb250YWluZXIubmF0aXZlRWxlbWVudCx7cmVhZE9ubHk6ITAsZm9udFNpemU6MTAsbWluaW1hcDp7ZW5hYmxlZDohMH0scmVuZGVyU2lkZUJ5U2lkZTp0aGlzLnJlbmRlclNpZGVCeVNpZGUsdGhlbWU6UVEodGhpcy51c2VEYXJrTW9kZSl9KSksKGV8fHQuZmlyc3RUZXh0fHx0LnNlY29uZFRleHQpJiZ0aGlzLmVkaXRvci5zZXRNb2RlbCh7b3JpZ2luYWw6dGhpcy5tb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMuZmlyc3RUZXh0fHwiIiksbW9kaWZpZWQ6dGhpcy5tb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMuc2Vjb25kVGV4dHx8IiIpfSksdC5yZW5kZXJTaWRlQnlTaWRlJiZ0aGlzLmVkaXRvci51cGRhdGVPcHRpb25zKHtyZW5kZXJTaWRlQnlTaWRlOnRoaXMucmVuZGVyU2lkZUJ5U2lkZX0pLHQudXNlRGFya01vZGUmJnRoaXMubW9uYWNvLmVkaXRvci5zZXRUaGVtZShRUSh0aGlzLnVzZURhcmtNb2RlKSl9fUwkLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxMJCl9LEwkLsm1Y21wPXNvKHt0eXBlOkwkLHNlbGVjdG9yczpbWyJzb3VyY2UtY29kZS1kaWZmLWNvbXBvbmVudCJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkoRiQsNyxLaCksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5jb2RlVmlld2VyQ29udGFpbmVyPXQuZmlyc3QpfX0saW5wdXRzOntmaXJzdFRleHQ6ImZpcnN0VGV4dCIsc2Vjb25kVGV4dDoic2Vjb25kVGV4dCIscmVuZGVyU2lkZUJ5U2lkZToicmVuZGVyU2lkZUJ5U2lkZSIsbW9uYWNvOiJtb25hY28iLHVzZURhcmtNb2RlOiJ1c2VEYXJrTW9kZSJ9LGZlYXR1cmVzOltxb10sZGVjbHM6Mix2YXJzOjEsY29uc3RzOltbImRldGVjdFJlc2l6ZSIsIiIsMSwiY29kZS12aWV3ZXItY29udGFpbmVyIiwzLCJyZXNpemVFdmVudERlYm91bmNlUGVyaW9kSW5NcyIsIm9uUmVzaXplIl0sWyJjb2RlVmlld2VyQ29udGFpbmVyIiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDAsMSksUmYoIm9uUmVzaXplIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUmVzaXplKCl9KSksTWYoKSksMiZlJiZiZigicmVzaXplRXZlbnREZWJvdW5jZVBlcmlvZEluTXMiLG4uUkVTSVpFX0RFQk9VTkNFX0lOVEVSVkFMX01TKX0sZGlyZWN0aXZlczpbJFFdLHN0eWxlczpbIi5jb2RlLXZpZXdlci1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfSJdLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihMJCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJzb3VyY2UtY29kZS1kaWZmLWNvbXBvbmVudCIsdGVtcGxhdGU6J1xuICAgIDxkaXZcbiAgICAgICNjb2RlVmlld2VyQ29udGFpbmVyXG4gICAgICBjbGFzcz0iY29kZS12aWV3ZXItY29udGFpbmVyIlxuICAgICAgZGV0ZWN0UmVzaXplXG4gICAgICBbcmVzaXplRXZlbnREZWJvdW5jZVBlcmlvZEluTXNdPSJSRVNJWkVfREVCT1VOQ0VfSU5URVJWQUxfTVMiXG4gICAgICAob25SZXNpemUpPSJvblJlc2l6ZSgpIlxuICAgID48L2Rpdj5cbiAgJyxzdHlsZXM6WyJcbiAgICAgIC5jb2RlLXZpZXdlci1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7Zmlyc3RUZXh0Olt7dHlwZTpSX31dLHNlY29uZFRleHQ6W3t0eXBlOlJffV0scmVuZGVyU2lkZUJ5U2lkZTpbe3R5cGU6Ul99XSxtb25hY286W3t0eXBlOlJffV0sdXNlRGFya01vZGU6W3t0eXBlOlJffV0sY29kZVZpZXdlckNvbnRhaW5lcjpbe3R5cGU6YXIsYXJnczpbImNvZGVWaWV3ZXJDb250YWluZXIiLHtzdGF0aWM6ITAscmVhZDpLaH1dfV19KTtjbGFzcyBCJHtjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyc3RUZXh0PW51bGwsdGhpcy5zZWNvbmRUZXh0PW51bGwsdGhpcy5yZW5kZXJTaWRlQnlTaWRlPSEwLHRoaXMudXNlRGFya01vZGU9ITEsdGhpcy5tb25hY28kPW51bGx9bmdPbkluaXQoKXt0aGlzLm1vbmFjbyQ9UHQoSlEoKSkucGlwZShWdCgoKCk9PndpbmRvdy5tb25hY28pKSl9fUIkLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxCJCl9LEIkLsm1Y21wPXNvKHt0eXBlOkIkLHNlbGVjdG9yczpbWyJzb3VyY2UtY29kZS1kaWZmIl1dLGlucHV0czp7Zmlyc3RUZXh0OiJmaXJzdFRleHQiLHNlY29uZFRleHQ6InNlY29uZFRleHQiLHJlbmRlclNpZGVCeVNpZGU6InJlbmRlclNpZGVCeVNpZGUiLHVzZURhcmtNb2RlOiJ1c2VEYXJrTW9kZSJ9LGRlY2xzOjIsdmFyczo3LGNvbnN0czpbWzMsImZpcnN0VGV4dCIsInNlY29uZFRleHQiLCJyZW5kZXJTaWRlQnlTaWRlIiwibW9uYWNvIiwidXNlRGFya01vZGUiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsInNvdXJjZS1jb2RlLWRpZmYtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpKSwyJmUmJmJmKCJmaXJzdFRleHQiLG4uZmlyc3RUZXh0KSgic2Vjb25kVGV4dCIsbi5zZWNvbmRUZXh0KSgicmVuZGVyU2lkZUJ5U2lkZSIsbi5yZW5kZXJTaWRlQnlTaWRlKSgibW9uYWNvIixDeSgxLDUsbi5tb25hY28kKSkoInVzZURhcmtNb2RlIixuLnVzZURhcmtNb2RlKX0sZGlyZWN0aXZlczpbTCRdLHBpcGVzOltWdl0sc3R5bGVzOlsic291cmNlLWNvZGUtZGlmZi1jb21wb25lbnRbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQiQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic291cmNlLWNvZGUtZGlmZiIsdGVtcGxhdGU6J1xuICAgIDxzb3VyY2UtY29kZS1kaWZmLWNvbXBvbmVudFxuICAgICAgW2ZpcnN0VGV4dF09ImZpcnN0VGV4dCJcbiAgICAgIFtzZWNvbmRUZXh0XT0ic2Vjb25kVGV4dCJcbiAgICAgIFtyZW5kZXJTaWRlQnlTaWRlXT0icmVuZGVyU2lkZUJ5U2lkZSJcbiAgICAgIFttb25hY29dPSJtb25hY28kIHwgYXN5bmMiXG4gICAgICBbdXNlRGFya01vZGVdPSJ1c2VEYXJrTW9kZSJcbiAgICA+PC9zb3VyY2UtY29kZS1kaWZmLWNvbXBvbmVudD5cbiAgJyxzdHlsZXM6WyJcbiAgICAgIHNvdXJjZS1jb2RlLWRpZmYtY29tcG9uZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtmaXJzdFRleHQ6W3t0eXBlOlJffV0sc2Vjb25kVGV4dDpbe3R5cGU6Ul99XSxyZW5kZXJTaWRlQnlTaWRlOlt7dHlwZTpSX31dLHVzZURhcmtNb2RlOlt7dHlwZTpSX31dfSk7Y2xhc3MgViR7fVYkLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxWJCl9LFYkLsm1bW9kPWZvKHt0eXBlOlYkfSksViQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxIJF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWJCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbZSQsbiQsTCQsQiRdLGltcG9ydHM6W3J4LEgkXSxleHBvcnRzOltuJCxCJF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhWJCx7ZGVjbGFyYXRpb25zOltlJCxuJCxMJCxCJF0saW1wb3J0czpbcngsSCRdLGV4cG9ydHM6W24kLEIkXX0pO2NsYXNzIGoke31qJC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aiQpfSxqJC7JtW1vZD1mbyh7dHlwZTpqJH0pLGokLsm1aW5qPURuKHtpbXBvcnRzOltbcngsViRdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaiQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3IkLHMkXSxpbXBvcnRzOltyeCxWJF0sZXhwb3J0czpbcyRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oaiQse2RlY2xhcmF0aW9uczpbciQscyRdLGltcG9ydHM6W3J4LFYkXSxleHBvcnRzOltzJF19KTtjbGFzcyBVJHt9VSQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFUkKX0sVSQuybVtb2Q9Zm8oe3R5cGU6VSR9KSxVJC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LFYkXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFUkLFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOlt4JCxPJF0saW1wb3J0czpbcngsViRdLGV4cG9ydHM6W08kXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFUkLHtkZWNsYXJhdGlvbnM6W3gkLE8kXSxpbXBvcnRzOltyeCxWJF0sZXhwb3J0czpbTyRdfSk7Y2xhc3MgVyR7fVckLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxXJCl9LFckLsm1bW9kPWZvKHt0eXBlOlckfSksVyQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxOJF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihXJCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbclEsbFFdLGltcG9ydHM6W3J4LE4kXSxleHBvcnRzOltsUV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhXJCx7ZGVjbGFyYXRpb25zOltyUSxsUV0saW1wb3J0czpbcngsTiRdLGV4cG9ydHM6W2xRXX0pO2NsYXNzIEcke31HJC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RyQpfSxHJC7JtW1vZD1mbyh7dHlwZTpHJH0pLEckLsm1aW5qPURuKHtpbXBvcnRzOltbcngsVyQsSUwsUkpdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRyQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W2dRLGJRXSxpbXBvcnRzOltyeCxXJCxJTCxSSl0sZXhwb3J0czpbYlFdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oRyQse2RlY2xhcmF0aW9uczpbZ1EsYlFdLGltcG9ydHM6W3J4LFckLElMLFJKXSxleHBvcnRzOltiUV19KTtjbGFzcyBZJHt9ZnVuY3Rpb24gcSQodCxlKXtjb25zdCBuPXt9O2Zvcihjb25zdCBvIG9mIE9iamVjdC5rZXlzKHQpKXtuW29dPWUodFtvXSxvKX1yZXR1cm4gbn1mdW5jdGlvbiBaJCh0KXtjb25zdCBlPW5ldyBNYXAsbj10LnNsaWNlKCkuc29ydCgoKHQsZSk9PlgkKHQudGFnLGUudGFnKSkpO2Zvcihjb25zdCB0IG9mIG4pe2NvbnN0IG49dC50YWcuc3BsaXQoIi8iLDEpWzBdO2UuaGFzKG4pfHxlLnNldChuLHtncm91cE5hbWU6bixpdGVtczpbXX0pLGUuZ2V0KG4pLml0ZW1zLnB1c2godCl9cmV0dXJuWy4uLmUudmFsdWVzKCldfWZ1bmN0aW9uIFgkKHQsZSl7bGV0IG49MCxvPTA7Zm9yKDs7KXtpZihuPT09dC5sZW5ndGgpcmV0dXJuIG89PT1lLmxlbmd0aD8wOi0xO2lmKG89PT1lLmxlbmd0aClyZXR1cm4gMTtpZihKJCh0W25dKSYmSiQoZVtvXSkpe2NvbnN0IGk9bixhPW87bj1LJCh0LG4rMSksbz1LJChlLG8rMSk7Y29uc3Qgcj1OdW1iZXIodC5zbGljZShpLG4pKSxzPU51bWJlcihlLnNsaWNlKGEsbykpO2lmKHI8cylyZXR1cm4tMTtpZihyPnMpcmV0dXJuIDF9ZWxzZXtpZihRJCh0W25dKSl7aWYoIVEkKGVbb10pKXJldHVybi0xfWVsc2V7aWYoUSQoZVtvXSkpcmV0dXJuIDE7aWYodFtuXTxlW29dKXJldHVybi0xO2lmKHRbbl0+ZVtvXSlyZXR1cm4gMX1uKyssbysrfX19ZnVuY3Rpb24gSyQodCxlKXtsZXQgbjshKGZ1bmN0aW9uKHQpe3RbdC5OQVRVUkFMPTBdPSJOQVRVUkFMIix0W3QuUkVBTD0xXT0iUkVBTCIsdFt0LkVYUE9ORU5UX1NJR049Ml09IkVYUE9ORU5UX1NJR04iLHRbdC5FWFBPTkVOVD0zXT0iRVhQT05FTlQifSkobnx8KG49e30pKTtsZXQgbz1uLk5BVFVSQUwsaT1lO2Zvcig7aTx0Lmxlbmd0aDtpKyspaWYobz09PW4uTkFUVVJBTCl7aWYoIi4iPT09dFtpXSlvPW4uUkVBTDtlbHNlIGlmKCJlIj09PXRbaV18fCJFIj09PXRbaV0pbz1uLkVYUE9ORU5UX1NJR047ZWxzZSBpZighSiQodFtpXSkpYnJlYWt9ZWxzZSBpZihvPT09bi5SRUFMKXtpZigiZSI9PT10W2ldfHwiRSI9PT10W2ldKW89bi5FWFBPTkVOVF9TSUdOO2Vsc2UgaWYoIUokKHRbaV0pKWJyZWFrfWVsc2UgaWYobz09PW4uRVhQT05FTlRfU0lHTil7aWYoIUokKHRbaV0pJiYiKyIhPT10W2ldJiYiLSIhPT10W2ldKWJyZWFrO289bi5FWFBPTkVOVH1lbHNlIGlmKG89PT1uLkVYUE9ORU5UJiYhSiQodFtpXSkpYnJlYWs7cmV0dXJuIGl9ZnVuY3Rpb24gSiQodCl7cmV0dXJuIjAiPD10JiZ0PD0iOSJ9ZnVuY3Rpb24gUSQodCl7cmV0dXJuIi8iPT09dHx8SiQodCl9ZnVuY3Rpb24gJCQodCxlLG4pe2NvbnN0e3BsdWdpbjpvLHRhZzppLHJ1bklkOmEsc2FtcGxlOnJ9PWVbdF0scz1GTihuLG8saSxyKTtpZihzKXtpZihudWxsIT09YSYmcy5ydW5Ub1Nlcmllcy5oYXNPd25Qcm9wZXJ0eShhKSl7Y29uc3QgdD1zLnJ1blRvU2VyaWVzW2FdLmxlbmd0aDtyZXR1cm4gdD4wP3QtMTpudWxsfWNvbnN0IHQ9T2JqZWN0LnZhbHVlcyhzLnJ1blRvU2VyaWVzKS5tYXAoKHQ9PnQubGVuZ3RoKSk7aWYodC5sZW5ndGgpcmV0dXJuIE1hdGgubWF4KC4uLnQpLTF9cmV0dXJuIG51bGx9ZnVuY3Rpb24gdDAodCxlLG4sbyl7Y29uc3QgaT1PYmplY3QuYXNzaWduKHt9LGUpO2Zvcihjb25zdCBhIGluIHQpe2lmKCF0Lmhhc093blByb3BlcnR5KGEpKWNvbnRpbnVlO2NvbnN0IHI9JCQoYSx0LG4pO2lmKG51bGw9PT1yKXtlLmhhc093blByb3BlcnR5KGEpJiYoaVthXT1udWxsKTtjb250aW51ZX1jb25zdCBzPWUuaGFzT3duUHJvcGVydHkoYSk/ZVthXTpudWxsLGw9JCQoYSx0LG8pLGM9bnVsbCE9PXMmJnM9PT1sLGQ9bnVsbD09PXN8fGM7KG51bGwhPT1zJiZzPnJ8fGQpJiYoaVthXT1yKX1yZXR1cm4gaX1mdW5jdGlvbiBlMCh0KXtjb25zdCBlPXEkKHQucnVuVG9Mb2FkU3RhdGUsKHQ9PnQ9PT1VRS5MT0FESU5HP1VFLkxPQURJTkc6VUUuTk9UX0xPQURFRCkpO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3J1blRvTG9hZFN0YXRlOmV9KX1mdW5jdGlvbiBuMCh0LGUsbixvKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoW3QsZSxufHwiIixvXSl9WSQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFkkKX0sWSQuybVtb2Q9Zm8oe3R5cGU6WSR9KSxZJC7JtWluaj1Ebih7aW1wb3J0czpbW0EkLHJ4LGRULHokLFQkLEkkLGokLFUkLHhYLEckLFRTLmZvckZlYXR1cmUocksseUspLGhELmZvckZlYXR1cmUoW0UkXSksTVguZm9yUGx1Z2luKEQkLFMkKV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihZJCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbayQsUyRdLGltcG9ydHM6W0EkLHJ4LGRULHokLFQkLEkkLGokLFUkLHhYLEckLFRTLmZvckZlYXR1cmUocksseUspLGhELmZvckZlYXR1cmUoW0UkXSksTVguZm9yUGx1Z2luKEQkLFMkKV0sZXhwb3J0czpbUyRdLGVudHJ5Q29tcG9uZW50czpbUyRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oWSQse2RlY2xhcmF0aW9uczpbayQsUyRdLGltcG9ydHM6W0EkLHJ4LGRULHokLFQkLEkkLGokLFUkLHhYLEckLEFTLGdELE1YXSxleHBvcnRzOltTJF19KTtjb25zdHtpbml0aWFsU3RhdGU6bzAscmVkdWNlcnM6aTB9PWNBKHt0YWdNZXRhZGF0YUxvYWRTdGF0ZTp7c3RhdGU6VUUuTk9UX0xPQURFRCxsYXN0TG9hZGVkVGltZUluTXM6bnVsbH0sdGFnTWV0YWRhdGE6e3NjYWxhcnM6e3RhZ0Rlc2NyaXB0aW9uczp7fSx0YWdUb1J1bnM6e319LGhpc3RvZ3JhbXM6e3RhZ0Rlc2NyaXB0aW9uczp7fSx0YWdUb1J1bnM6e319LGltYWdlczp7dGFnRGVzY3JpcHRpb25zOnt9LHRhZ1J1blNhbXBsZWRJbmZvOnt9fX0sY2FyZExpc3Q6W10sY2FyZFRvUGlubmVkQ29weTpuZXcgTWFwLHBpbm5lZENhcmRUb09yaWdpbmFsOm5ldyBNYXAsdW5yZXNvbHZlZEltcG9ydGVkUGlubmVkQ2FyZHM6W10sY2FyZE1ldGFkYXRhTWFwOnt9LGNhcmRTdGVwSW5kZXg6e30sdGFnRmlsdGVyOiIiLHRhZ0dyb3VwRXhwYW5kZWQ6bmV3IE1hcCxzZWxlY3RlZFRpbWU6bnVsbCxzZWxlY3RUaW1lRW5hYmxlZDohMSx1c2VSYW5nZVNlbGVjdFRpbWU6ITEsZmlsdGVyZWRQbHVnaW5UeXBlczpuZXcgU2V0LHN0ZXBNaW5NYXg6e21pbjoxLzAsbWF4Oi0xLzB9fSx7aXNTZXR0aW5nc1BhbmVPcGVuOiEwLHByb21vdGVUaW1lU2VyaWVzOiEwLHRpbWVTZXJpZXNEYXRhOntzY2FsYXJzOnt9LGhpc3RvZ3JhbXM6e30saW1hZ2VzOnt9fSxzZXR0aW5nczpYTixzZXR0aW5nT3ZlcnJpZGVzOnt9LHZpc2libGVDYXJkTWFwOm5ldyBNYXB9LCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3RhZ01ldGFkYXRhTG9hZFN0YXRlOntzdGF0ZTpVRS5OT1RfTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpudWxsfSx2aXNpYmxlQ2FyZE1hcDpuZXcgTWFwfSkpKSxhMD1vMCxyMD1WUyhvMCxCUyhLRCwoKHQse3JvdXRlS2luZDplLHBhcnRpYWxTdGF0ZTpufSk9PntpZihlIT09X0QuRVhQRVJJTUVOVCYmZSE9PV9ELkNPTVBBUkVfRVhQRVJJTUVOVClyZXR1cm4gdDtjb25zdCBvPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgdC5waW5uZWRDYXJkVG9PcmlnaW5hbC5rZXlzKCkpe2NvbnN0e3BsdWdpbjpuLHRhZzppLHJ1bklkOmEsc2FtcGxlOnJ9PXQuY2FyZE1ldGFkYXRhTWFwW2VdO28uYWRkKG4wKG4saSxhLHIpKX1jb25zdCBpPW4sYT1bXTtmb3IoY29uc3QgZSBvZlsuLi50LnVucmVzb2x2ZWRJbXBvcnRlZFBpbm5lZENhcmRzLC4uLmkubWV0cmljcy5waW5uZWRDYXJkc10pe2NvbnN0IHQ9bjAoZS5wbHVnaW4sZS50YWcsZS5ydW5JZCxlLnNhbXBsZSk7by5oYXModCl8fChvLmFkZCh0KSxhLnB1c2goZSkpfWNvbnN0IHI9V04oYSx0LmNhcmRMaXN0LHQuY2FyZE1ldGFkYXRhTWFwLHQuY2FyZFRvUGlubmVkQ29weSx0LnBpbm5lZENhcmRUb09yaWdpbmFsLHQuY2FyZFN0ZXBJbmRleCkscz1pLm1ldHJpY3Muc21vb3RoaW5nO2xldCBsPXQuc2V0dGluZ092ZXJyaWRlcztpZihOdW1iZXIuaXNGaW5pdGUocykmJm51bGwhPT1zKXtjb25zdCBlPU1hdGgubWF4KDAsTWF0aC5taW4oLjk5OSxOdW1iZXIocy50b1ByZWNpc2lvbigzKSkpKTtsPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNldHRpbmdPdmVycmlkZXMpLHtzY2FsYXJTbW9vdGhpbmc6ZX0pfWNvbnN0IGM9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkscikse3NldHRpbmdPdmVycmlkZXM6bH0pO3JldHVybiBudWxsIT09aS5tZXRyaWNzLnRhZ0ZpbHRlciYmKGMudGFnRmlsdGVyPWkubWV0cmljcy50YWdGaWx0ZXIpLGN9KSksQlMocVIsKCh0LHtwYXJ0aWFsU2V0dGluZ3M6ZX0pPT57dmFyIG47Y29uc3Qgbz17fTtpZihlLnRvb2x0aXBTb3J0U3RyaW5nKXN3aXRjaChlLnRvb2x0aXBTb3J0U3RyaW5nKXtjYXNlIEpULkRFRkFVTFQ6Y2FzZSBKVC5BTFBIQUJFVElDQUw6by50b29sdGlwU29ydD1KVC5BTFBIQUJFVElDQUw7YnJlYWs7Y2FzZSBKVC5BU0NFTkRJTkc6by50b29sdGlwU29ydD1KVC5BU0NFTkRJTkc7YnJlYWs7Y2FzZSBKVC5ERVNDRU5ESU5HOm8udG9vbHRpcFNvcnQ9SlQuREVTQ0VORElORzticmVhaztjYXNlIEpULk5FQVJFU1Q6by50b29sdGlwU29ydD1KVC5ORUFSRVNUfSJudW1iZXIiPT10eXBlb2YgZS50aW1lU2VyaWVzQ2FyZE1pbldpZHRoJiYoby5jYXJkTWluV2lkdGg9ZS50aW1lU2VyaWVzQ2FyZE1pbldpZHRoKSwiYm9vbGVhbiI9PXR5cGVvZiBlLmlnbm9yZU91dGxpZXJzJiYoby5pZ25vcmVPdXRsaWVycz1lLmlnbm9yZU91dGxpZXJzKSwibnVtYmVyIj09dHlwZW9mIGUuc2NhbGFyU21vb3RoaW5nJiYoby5zY2FsYXJTbW9vdGhpbmc9ZS5zY2FsYXJTbW9vdGhpbmcpO2NvbnN0IGk9ImJvb2xlYW4iPT10eXBlb2YgZS50aW1lU2VyaWVzUHJvbW90aW9uRGlzbWlzc2VkPyFlLnRpbWVTZXJpZXNQcm9tb3Rpb25EaXNtaXNzZWQ6dC5wcm9tb3RlVGltZVNlcmllcyxhPW51bGwhPT0obj1lLnRpbWVTZXJpZXNTZXR0aW5nc1BhbmVPcGVuZWQpJiZ2b2lkIDAhPT1uP246dC5pc1NldHRpbmdzUGFuZU9wZW47cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cHJvbW90ZVRpbWVTZXJpZXM6aSxpc1NldHRpbmdzUGFuZU9wZW46YSxzZXR0aW5nczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZXR0aW5ncyksbyl9KX0pKSxCUyhRRSxKRSwodD0+e2NvbnN0IGU9dC50YWdNZXRhZGF0YUxvYWRTdGF0ZS5zdGF0ZT09PVVFLkxPQURJTkc/VUUuTE9BRElORzpVRS5OT1RfTE9BREVELG49cSQodC50aW1lU2VyaWVzRGF0YSwoKHQsZSk9PnEkKHQsKHQ9PmVOKGUpP3EkKHQsKHQ9PmUwKHQpKSk6ZTAodCkpKSkpO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3RhZ01ldGFkYXRhTG9hZFN0YXRlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnRhZ01ldGFkYXRhTG9hZFN0YXRlKSx7c3RhdGU6ZX0pLHRpbWVTZXJpZXNEYXRhOm59KX0pKSxCUyhtQSwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHt0YWdNZXRhZGF0YUxvYWRTdGF0ZTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC50YWdNZXRhZGF0YUxvYWRTdGF0ZSkse3N0YXRlOlVFLkxPQURJTkd9KX0pKSksQlModUEsKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7dGFnTWV0YWRhdGFMb2FkU3RhdGU6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQudGFnTWV0YWRhdGFMb2FkU3RhdGUpLHtzdGF0ZTpVRS5GQUlMRUR9KX0pKSksQlMoZkEsKCh0LHt0YWdNZXRhZGF0YTplfSk9Pntjb25zdCBuPXtzY2FsYXJzOmwwKGUsS1QuU0NBTEFSUyksaGlzdG9ncmFtczpsMChlLEtULkhJU1RPR1JBTVMpLGltYWdlczplW0tULklNQUdFU119LG89e30saT0oZnVuY3Rpb24gYSh0KXtjb25zdCBlPVtdO2ZvcihsZXQgbiBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3Qgbz1uO2xldCBpO2lmKGVOKG8pKXtpZighb04obykpdGhyb3cgbmV3IEVycm9yKCJNdWx0aS1ydW4sIHNhbXBsZWQgcGx1Z2luIHN1cHBvcnQgbm90IHlldCBpbXBsZW1lbnRlZCIpO3tjb25zdCBuPXRbb10udGFnUnVuU2FtcGxlZEluZm87Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMobikpZm9yKGNvbnN0IGkgb2YgT2JqZWN0LmtleXMoblt0XSkpe2NvbnN0e21heFNhbXBsZXNQZXJTdGVwOmF9PW5bdF1baV07Zm9yKGxldCBuPTA7bjxhO24rKyllLnB1c2goe3BsdWdpbjpvLHRhZzp0LHJ1bklkOmksc2FtcGxlOm4sbnVtU2FtcGxlOmF9KX19fWVsc2UgaWYob04obykpe2k9dFtvXS50YWdUb1J1bnM7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMoaSkpZm9yKGNvbnN0IG4gb2YgaVt0XSllLnB1c2goe3BsdWdpbjpvLHRhZzp0LHJ1bklkOm59KX1lbHNle2k9dFtvXS50YWdUb1J1bnM7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMoaSkpZS5wdXNoKHtwbHVnaW46byx0YWc6dCxydW5JZDpudWxsfSl9fXJldHVybiBlfSkobikscj1bXTtmb3IoY29uc3QgdCBvZiBpKXtjb25zdCBlPUJOKHQpO29bZV09dCxyLnB1c2goZSl9bGV0IHM9dC50YWdHcm91cEV4cGFuZGVkO2lmKDA9PT10LnRhZ0dyb3VwRXhwYW5kZWQuc2l6ZSl7Y29uc3QgZT1aJChyLm1hcCgodD0+e3ZhciBlO3JldHVybiBudWxsIT09KGU9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG9bdF0pLHtjYXJkSWQ6dH0pKSYmdm9pZCAwIT09ZT9lOm51bGx9KSkuZmlsdGVyKEJvb2xlYW4pKTtzPW5ldyBNYXAodC50YWdHcm91cEV4cGFuZGVkKTtmb3IoY29uc3QgdCBvZiBlLnNsaWNlKDAsMikpcy5zZXQodC5ncm91cE5hbWUsITApfWNvbnN0e25leHRDYXJkVG9QaW5uZWRDb3B5OmwsbmV4dFBpbm5lZENhcmRUb09yaWdpbmFsOmMscGlubmVkQ2FyZE1ldGFkYXRhTWFwOmR9PShmdW5jdGlvbiBwKHQsZSxuLG8pe2NvbnN0IGk9bmV3IE1hcCxhPW5ldyBNYXAscj17fTtmb3IoY29uc3QgZSBvZiBvKWlmKHQuaGFzKGUpKXtjb25zdCBvPXQuZ2V0KGUpO2kuc2V0KGUsbyksYS5zZXQobyxlKSxyW29dPW5bZV19cmV0dXJue25leHRDYXJkVG9QaW5uZWRDb3B5OmksbmV4dFBpbm5lZENhcmRUb09yaWdpbmFsOmEscGlubmVkQ2FyZE1ldGFkYXRhTWFwOnJ9fSkodC5jYXJkVG9QaW5uZWRDb3B5LDAsbyxyKSxtPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxvKSxkKSxmPShmdW5jdGlvbiB1KHQsZSl7Y29uc3Qgbj17fTtyZXR1cm4gT2JqZWN0LmVudHJpZXModCkuZm9yRWFjaCgoKFt0LG9dKT0+e2VbdF0mJihuW3RdPW8pfSkpLG59KSh0LmNhcmRTdGVwSW5kZXgsbSksZz1XTih0LnVucmVzb2x2ZWRJbXBvcnRlZFBpbm5lZENhcmRzLHIsbSxsLGMsZik7cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLGcpLHt0YWdHcm91cEV4cGFuZGVkOnMsdGFnTWV0YWRhdGFMb2FkU3RhdGU6e3N0YXRlOlVFLkxPQURFRCxsYXN0TG9hZGVkVGltZUluTXM6RGF0ZS5ub3coKX0sdGFnTWV0YWRhdGE6bixjYXJkTGlzdDpyfSl9KSksQlMoVEEsKCh0LHt0YWdGaWx0ZXI6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3RhZ0ZpbHRlcjplfSkpKSxCUyhnQSwoKHQse3NvcnQ6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NldHRpbmdPdmVycmlkZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuc2V0dGluZ092ZXJyaWRlcykse3Rvb2x0aXBTb3J0OmV9KX0pKSksQlMoaEEsKHQ9Pnt2YXIgZTtjb25zdCBuPSEobnVsbCE9PShlPXQuc2V0dGluZ092ZXJyaWRlcy5pZ25vcmVPdXRsaWVycykmJnZvaWQgMCE9PWU/ZTp0LnNldHRpbmdzLmlnbm9yZU91dGxpZXJzKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZXR0aW5nT3ZlcnJpZGVzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNldHRpbmdPdmVycmlkZXMpLHtpZ25vcmVPdXRsaWVyczpufSl9KX0pKSxCUyhiQSwoKHQse3hBeGlzVHlwZTplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2V0dGluZ092ZXJyaWRlczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZXR0aW5nT3ZlcnJpZGVzKSx7eEF4aXNUeXBlOmV9KX0pKSksQlMoQ0EsKCh0LHtzbW9vdGhpbmc6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NldHRpbmdPdmVycmlkZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuc2V0dGluZ092ZXJyaWRlcykse3NjYWxhclNtb290aGluZzplfSl9KSkpLEJTKE1BLCh0PT57dmFyIGU7Y29uc3Qgbj0hKG51bGwhPT0oZT10LnNldHRpbmdPdmVycmlkZXMuc2NhbGFyUGFydGl0aW9uTm9uTW9ub3RvbmljWCkmJnZvaWQgMCE9PWU/ZTp0LnNldHRpbmdzLnNjYWxhclBhcnRpdGlvbk5vbk1vbm90b25pY1gpO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NldHRpbmdPdmVycmlkZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuc2V0dGluZ092ZXJyaWRlcykse3NjYWxhclBhcnRpdGlvbk5vbk1vbm90b25pY1g6bn0pfSl9KSksQlModkEsKCh0LHticmlnaHRuZXNzSW5NaWxsaTplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2V0dGluZ092ZXJyaWRlczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZXR0aW5nT3ZlcnJpZGVzKSx7aW1hZ2VCcmlnaHRuZXNzSW5NaWxsaTplfSl9KSkpLEJTKHhBLCgodCx7Y29udHJhc3RJbk1pbGxpOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZXR0aW5nT3ZlcnJpZGVzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNldHRpbmdPdmVycmlkZXMpLHtpbWFnZUNvbnRyYXN0SW5NaWxsaTplfSl9KSkpLEJTKE9BLCh0PT57Y29uc3QgZT1aVCh0LnNldHRpbmdPdmVycmlkZXMsWyJpbWFnZUJyaWdodG5lc3NJbk1pbGxpIl0pO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NldHRpbmdPdmVycmlkZXM6ZX0pfSkpLEJTKFBBLCh0PT57Y29uc3QgZT1aVCh0LnNldHRpbmdPdmVycmlkZXMsWyJpbWFnZUNvbnRyYXN0SW5NaWxsaSJdKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZXR0aW5nT3ZlcnJpZGVzOmV9KX0pKSxCUyh3QSwodD0+e3ZhciBlO2NvbnN0IG49IShudWxsIT09KGU9dC5zZXR0aW5nT3ZlcnJpZGVzLmltYWdlU2hvd0FjdHVhbFNpemUpJiZ2b2lkIDAhPT1lP2U6dC5zZXR0aW5ncy5pbWFnZVNob3dBY3R1YWxTaXplKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZXR0aW5nT3ZlcnJpZGVzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNldHRpbmdPdmVycmlkZXMpLHtpbWFnZVNob3dBY3R1YWxTaXplOm59KX0pfSkpLEJTKGtBLCgodCx7aGlzdG9ncmFtTW9kZTplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2V0dGluZ092ZXJyaWRlczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZXR0aW5nT3ZlcnJpZGVzKSx7aGlzdG9ncmFtTW9kZTplfSl9KSkpLEJTKHlBLCgodCx7Y2FyZE1pbldpZHRoOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZXR0aW5nT3ZlcnJpZGVzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNldHRpbmdPdmVycmlkZXMpLHtjYXJkTWluV2lkdGg6ZX0pfSkpKSxCUyhfQSwodD0+e2NvbnN0IGU9WlQodC5zZXR0aW5nT3ZlcnJpZGVzLFsiY2FyZE1pbldpZHRoIl0pO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NldHRpbmdPdmVycmlkZXM6ZX0pfSkpLEJTKFNBLCgodCx7cmVxdWVzdHM6ZX0pPT57aWYoIWUubGVuZ3RoKXJldHVybiB0O2NvbnN0IG49T2JqZWN0LmFzc2lnbih7fSx0LnRpbWVTZXJpZXNEYXRhKTtmb3IoY29uc3QgbyBvZiBlKXtjb25zdHtwbHVnaW46ZSx0YWc6aSxzYW1wbGU6YX09bztuW2VdPUxOKG4sZSxpLGEpO2NvbnN0IHI9Rk4obixlLGksYSkscz1pTihvKT9bby5ydW5JZF06ak4odC50YWdNZXRhZGF0YSxlLGksYSk7ci5ydW5Ub0xvYWRTdGF0ZT1WTihVRS5MT0FESU5HLHMsci5ydW5Ub0xvYWRTdGF0ZSl9cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7dGltZVNlcmllc0RhdGE6bn0pfSkpLEJTKERBLCgodCx7cmVxdWVzdDplfSk9Pntjb25zdCBuPU9iamVjdC5hc3NpZ24oe30sdC50aW1lU2VyaWVzRGF0YSkse3BsdWdpbjpvLHRhZzppLHNhbXBsZTphfT1lO25bb109TE4obixvLGksYSk7Y29uc3Qgcj1GTihuLG8saSxhKSxzPWlOKGUpP1tlLnJ1bklkXTpqTih0LnRhZ01ldGFkYXRhLG8saSxhKTtyZXR1cm4gci5ydW5Ub0xvYWRTdGF0ZT1WTihVRS5GQUlMRUQscyxyLnJ1blRvTG9hZFN0YXRlKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3RpbWVTZXJpZXNEYXRhOm59KX0pKSxCUyhSQSwoKHQse3Jlc3BvbnNlOmV9KT0+e2NvbnN0IG49T2JqZWN0LmFzc2lnbih7fSx0LnN0ZXBNaW5NYXgpLG89T2JqZWN0LmFzc2lnbih7fSx0LnRpbWVTZXJpZXNEYXRhKSx7cGx1Z2luOmksdGFnOmEscnVuSWQ6cixzYW1wbGU6c309ZTtvW2ldPUxOKG8saSxhLHMpO2NvbnN0IGw9Rk4obyxpLGEscyk7aWYock4oZSkpe2NvbnN0IGU9cj9bcl06ak4odC50YWdNZXRhZGF0YSxpLGEscyk7bC5ydW5Ub0xvYWRTdGF0ZT1WTihVRS5GQUlMRUQsZSxsLnJ1blRvTG9hZFN0YXRlKX1lbHNle2NvbnN0IHQ9ZS5ydW5Ub1NlcmllcztsLnJ1blRvU2VyaWVzPU9iamVjdC5hc3NpZ24oe30sbC5ydW5Ub1NlcmllcyksbC5ydW5Ub0xvYWRTdGF0ZT1PYmplY3QuYXNzaWduKHt9LGwucnVuVG9Mb2FkU3RhdGUpO2Zvcihjb25zdCBlIGluIHQpaWYodC5oYXNPd25Qcm9wZXJ0eShlKSl7bC5ydW5Ub1Nlcmllc1tlXT10W2VdLGwucnVuVG9Mb2FkU3RhdGVbZV09VUUuTE9BREVEO2Zvcihjb25zdCBvIG9mIHRbZV0pbi5taW49TWF0aC5taW4obi5taW4sby5zdGVwKSxuLm1heD1NYXRoLm1heChuLm1heCxvLnN0ZXApfX1yZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHt0aW1lU2VyaWVzRGF0YTpvLGNhcmRTdGVwSW5kZXg6dDAodC5jYXJkTWV0YWRhdGFNYXAsdC5jYXJkU3RlcEluZGV4LG8sdC50aW1lU2VyaWVzRGF0YSksc3RlcE1pbk1heDpufSl9KSksQlMoQUEsKCh0LHtjYXJkSWQ6ZSxzdGVwSW5kZXg6bn0pPT57Y29uc3Qgbz0kJChlLHQuY2FyZE1ldGFkYXRhTWFwLHQudGltZVNlcmllc0RhdGEpO2xldCBpPW47cmV0dXJuIG51bGw9PT1vP2k9bnVsbDpuPm8mJihpPW8pLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7Y2FyZFN0ZXBJbmRleDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5jYXJkU3RlcEluZGV4KSx7W2VdOml9KX0pfSkpLEJTKE5BLCgodCx7dGFnR3JvdXA6ZX0pPT57Y29uc3Qgbj1uZXcgTWFwKHQudGFnR3JvdXBFeHBhbmRlZCk7cmV0dXJuIG4uc2V0KGUsIW4uZ2V0KGUpKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3RhZ0dyb3VwRXhwYW5kZWQ6bn0pfSkpLEJTKEVBLCgodCx7ZW50ZXJlZENhcmRzOmUsZXhpdGVkQ2FyZHM6bn0pPT57aWYoIWUubGVuZ3RoJiYhbi5sZW5ndGgpcmV0dXJuIHQ7Y29uc3Qgbz1uZXcgTWFwKHQudmlzaWJsZUNhcmRNYXApO3JldHVybiBlLmZvckVhY2goKCh7ZWxlbWVudElkOnQsY2FyZElkOmV9KT0+e3ZhciBuO2NvbnN0IGk9bnVsbCE9PShuPW8uZ2V0KHQpKSYmdm9pZCAwIT09bj9uOm51bGw7aWYobnVsbCE9PWkmJmkhPT1lKXRocm93IG5ldyBFcnJvcigiQSBET00gZWxlbWVudCBjYW5ub3QgYmUgcmV1c2VkIGZvciBtb3JlIHRoYW4gMSB1bmlxdWUgY2FyZCBtZXRhZGF0YSIpO28uc2V0KHQsZSl9KSksbi5mb3JFYWNoKCgoe2VsZW1lbnRJZDp0fSk9PntvLmRlbGV0ZSh0KX0pKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3Zpc2libGVDYXJkTWFwOm99KX0pKSxCUyh6QSwoKHQse2NhcmRJZDplfSk9Pntjb25zdCBuPXQucGlubmVkQ2FyZFRvT3JpZ2luYWwuaGFzKGUpLG89IW4mJiF0LmNhcmRUb1Bpbm5lZENvcHkuaGFzKGUpO2lmKG8mJiFxTih0KSlyZXR1cm4gdDtsZXQgaT1uZXcgTWFwKHQuY2FyZFRvUGlubmVkQ29weSksYT1uZXcgTWFwKHQucGlubmVkQ2FyZFRvT3JpZ2luYWwpLHI9T2JqZWN0LmFzc2lnbih7fSx0LmNhcmRNZXRhZGF0YU1hcCkscz1PYmplY3QuYXNzaWduKHt9LHQuY2FyZFN0ZXBJbmRleCk7aWYobil7Y29uc3Qgbj10LnBpbm5lZENhcmRUb09yaWdpbmFsLmdldChlKTtpLmRlbGV0ZShuKSxhLmRlbGV0ZShlKSxkZWxldGUgcltlXSxkZWxldGUgc1tlXX1lbHNlIGlmKG8pe2NvbnN0IHQ9R04oZSxpLGEscyxyKTtpPXQuY2FyZFRvUGlubmVkQ29weSxhPXQucGlubmVkQ2FyZFRvT3JpZ2luYWwscj10LmNhcmRNZXRhZGF0YU1hcCxzPXQuY2FyZFN0ZXBJbmRleH1lbHNle2NvbnN0IG49dC5jYXJkVG9QaW5uZWRDb3B5LmdldChlKTtpLmRlbGV0ZShlKSxhLmRlbGV0ZShuKSxkZWxldGUgcltuXSxkZWxldGUgc1tuXX1yZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtjYXJkTWV0YWRhdGFNYXA6cixjYXJkU3RlcEluZGV4OnMsY2FyZFRvUGlubmVkQ29weTppLHBpbm5lZENhcmRUb09yaWdpbmFsOmF9KX0pKSxCUyhCQSwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZWxlY3RUaW1lRW5hYmxlZDohdC5zZWxlY3RUaW1lRW5hYmxlZH0pKSksQlMoRkEsKCh0LGUpPT57dmFyIG4sbyxpLGE7Y29uc3Qgcj1lLnN0YXJ0U3RlcDtsZXQgcz1udWxsIT09KGE9bnVsbCE9PShuPWUuZW5kU3RlcCkmJnZvaWQgMCE9PW4/bjpudWxsPT09KGk9bnVsbD09PShvPXQuc2VsZWN0ZWRUaW1lKXx8dm9pZCAwPT09bz92b2lkIDA6by5lbmQpfHx2b2lkIDA9PT1pP3ZvaWQgMDppLnN0ZXApJiZ2b2lkIDAhPT1hP2E6dC5zdGVwTWluTWF4Lm1heDtyZXR1cm4gcj5zJiYocz1yKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NlbGVjdFRpbWVFbmFibGVkOiEwLHNlbGVjdGVkVGltZTp7c3RhcnQ6e3N0ZXA6cn0sZW5kOntzdGVwOnN9fX0pfSkpLEJTKFZBLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3VzZVJhbmdlU2VsZWN0VGltZTohdC51c2VSYW5nZVNlbGVjdFRpbWV9KSkpLEJTKExBLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NlbGVjdGVkVGltZTpudWxsfSkpKSxCUyhJQSwoKHQse3BsdWdpbjplfSk9PntsZXQgbj1uZXcgU2V0KHQuZmlsdGVyZWRQbHVnaW5UeXBlcyk7cmV0dXJuIG4uaGFzKGUpP24uZGVsZXRlKGUpOm4uYWRkKGUpLE9iamVjdC52YWx1ZXMoS1QpLmV2ZXJ5KCh0PT5uLmhhcyh0KSkpJiYobj1uZXcgU2V0KSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2ZpbHRlcmVkUGx1Z2luVHlwZXM6bn0pfSkpLEJTKEhBLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2ZpbHRlcmVkUGx1Z2luVHlwZXM6bmV3IFNldH0pKSksQlMoakEsKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cHJvbW90ZVRpbWVTZXJpZXM6ITF9KSkpLEJTKHBBLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2lzU2V0dGluZ3NQYW5lT3BlbjohdC5pc1NldHRpbmdzUGFuZU9wZW59KSkpLEJTKGRBLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2lzU2V0dGluZ3NQYW5lT3BlbjohMX0pKSkpO2Z1bmN0aW9uIHMwKHQsZSl7cmV0dXJuIFdBKHIwLGkwKSh0LGUpfWZ1bmN0aW9uIGwwKHQsZSl7cmV0dXJue3RhZ0Rlc2NyaXB0aW9uczp0W2VdLnRhZ0Rlc2NyaXB0aW9ucyx0YWdUb1J1bnM6YzAodFtlXS5ydW5UYWdJbmZvKX19ZnVuY3Rpb24gYzAodCl7Y29uc3QgZT17fTtmb3IoY29uc3QgbiBpbiB0KWZvcihjb25zdCBvIG9mIHRbbl0pZVtvXT1bLi4uZVtvXXx8W10sbl07cmV0dXJuIGV9Y29uc3QgZDA9YlMoJE4sbnosKCh0LGUsbik9PmU/T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGUpLHtsb2FkU3RhdGU6dCxpZDpufSk6bnVsbCkpLHAwPV9rKCJbTWV0cmljcyBFZmZlY3RzXSBJbml0Iik7Y2xhc3MgbTB7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuYWN0aW9ucyQ9dCx0aGlzLnN0b3JlPWUsdGhpcy5kYXRhU291cmNlPW4sdGhpcy5kYXNoYm9hcmRTaG93bldpdGhvdXREYXRhJD10aGlzLmFjdGlvbnMkLnBpcGUoJFMocDAsWkUsdEEsdFIpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KGVUKSx0aGlzLnN0b3JlLnNlbGVjdChKTikpLHVlKCgoWyx0LGVdKT0+dD09PSRUJiZlLnN0YXRlPT09VUUuTk9UX0xPQURFRCkpKSx0aGlzLnJlbG9hZFJlcXVlc3RlZFdoaWxlU2hvd24kPXRoaXMuYWN0aW9ucyQucGlwZSgkUyhRRSxKRSkscWUodGhpcy5zdG9yZS5zZWxlY3QoZVQpKSx1ZSgoKFssdF0pPT50PT09JFQpKSksdGhpcy5sb2FkVGFnTWV0YWRhdGEkPXBlKHRoaXMuZGFzaGJvYXJkU2hvd25XaXRob3V0RGF0YSQsdGhpcy5yZWxvYWRSZXF1ZXN0ZWRXaGlsZVNob3duJCkucGlwZShxZSh0aGlzLnN0b3JlLnNlbGVjdChKTiksdGhpcy5zdG9yZS5zZWxlY3QoeFIpKSx1ZSgoKFssdCxlXSk9PnQuc3RhdGUhPT1VRS5MT0FESU5HJiZudWxsIT09ZSkpLFdlKCgoKT0+e3RoaXMuc3RvcmUuZGlzcGF0Y2gobUEoKSl9KSksVmUoKChbLCx0XSk9PnRoaXMuZGF0YVNvdXJjZS5mZXRjaFRhZ01ldGFkYXRhKHQpLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKGZBKHt0YWdNZXRhZGF0YTp0fSkpfSkpLGhlKCgoKT0+KHRoaXMuc3RvcmUuZGlzcGF0Y2godUEoKSksenQobnVsbCkpKSkpKSkpLHRoaXMudmlzaWJsZUNhcmRzV2l0aG91dERhdGFDaGFuZ2VkJD10aGlzLmFjdGlvbnMkLnBpcGUoJFMoRUEpLFZlKCgoKT0+dGhpcy5nZXRWaXNpYmxlQ2FyZEZldGNoSW5mb3MoKS5waXBlKHZlKDEpKSkpLFZ0KCh0PT50LmZpbHRlcigodD0+dC5sb2FkU3RhdGU9PT1VRS5OT1RfTE9BREVEKSkpKSksdGhpcy52aXNpYmxlQ2FyZHNSZWxvYWRlZCQ9dGhpcy5yZWxvYWRSZXF1ZXN0ZWRXaGlsZVNob3duJC5waXBlKFZlKCgoKT0+dGhpcy5nZXRWaXNpYmxlQ2FyZEZldGNoSW5mb3MoKS5waXBlKHZlKDEpKSkpLFZ0KCh0PT50LmZpbHRlcigodD0+dC5sb2FkU3RhdGUhPT1VRS5MT0FESU5HKSkpKSksdGhpcy5sb2FkVGltZVNlcmllcyQ9cGUodGhpcy52aXNpYmxlQ2FyZHNXaXRob3V0RGF0YUNoYW5nZWQkLHRoaXMudmlzaWJsZUNhcmRzUmVsb2FkZWQkKS5waXBlKHVlKCh0PT50Lmxlbmd0aD4wKSkscWUodGhpcy5zdG9yZS5zZWxlY3QoeFIpLnBpcGUodWUoKHQ9Pm51bGwhPT10KSkpKSwkdCgoKFt0LGVdKT0+dGhpcy5mZXRjaFRpbWVTZXJpZXNGb3JDYXJkcyh0LGUpKSkpLHRoaXMuZGF0YUVmZmVjdHMkPVdTKCgoKT0+cGUodGhpcy5sb2FkVGFnTWV0YWRhdGEkLHRoaXMubG9hZFRpbWVTZXJpZXMkKSkse2Rpc3BhdGNoOiExfSl9bmdyeE9uSW5pdEVmZmVjdHMoKXtyZXR1cm4gcDAoKX1nZXRWaXNpYmxlQ2FyZEZldGNoSW5mb3MoKXtyZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoaXopLnBpcGUoVmUoKHQ9PntpZighdC5zaXplKXJldHVybiB6dChbXSk7cmV0dXJuIGllKFsuLi50XS5tYXAoKHQ9PnRoaXMuc3RvcmUuc2VsZWN0KGQwLHQpLnBpcGUodmUoMSkpKSkpfSkpLFZ0KCh0PT50LmZpbHRlcihCb29sZWFuKSkpKX1mZXRjaFRpbWVTZXJpZXModCl7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5mZXRjaFRpbWVTZXJpZXMoW3RdKS5waXBlKFdlKCh0PT57Y29uc3QgZT10LmZpbHRlcihyTik7ZS5sZW5ndGgmJmNvbnNvbGUuZXJyb3IoIlRpbWUgc2VyaWVzIHJlc3BvbnNlIGNvbnRhaW5lZCBlcnJvcnM6IixlKSx0aGlzLnN0b3JlLmRpc3BhdGNoKFJBKHtyZXNwb25zZTp0WzBdfSkpfSkpLGhlKCgoKT0+KHRoaXMuc3RvcmUuZGlzcGF0Y2goREEoe3JlcXVlc3Q6dH0pKSx6dChudWxsKSkpKSl9ZmV0Y2hUaW1lU2VyaWVzRm9yQ2FyZHModCxlKXtyZXR1cm4genQodC5tYXAoKHQ9Pntjb25zdHtwbHVnaW46bix0YWc6byxydW5JZDppLHNhbXBsZTphfT10LHI9b04obik/e3BsdWdpbjpuLHRhZzpvLHJ1bklkOml9OntwbHVnaW46bix0YWc6byxleHBlcmltZW50SWRzOmV9O3JldHVybiB2b2lkIDAhPT1hJiYoci5zYW1wbGU9YSkscn0pKSkucGlwZShXZSgodD0+e3RoaXMuc3RvcmUuZGlzcGF0Y2goU0Eoe3JlcXVlc3RzOnR9KSl9KSksJHQoKHQ9PnBlKC4uLnQubWFwKCh0PT50aGlzLmZldGNoVGltZVNlcmllcyh0KSkpKSkpKX19bTAuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG0wKShUcihRUyksVHIoaVMpLFRyKGFOKSl9LG0wLsm1cHJvdj1Tbih7dG9rZW46bTAsZmFjdG9yeTptMC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobTAsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlFTfSx7dHlwZTppU30se3R5cGU6YU59XX0pLG51bGwpO2NvbnN0IGYwPW5ldyBlcigiTWV0cmljcyBTdG9yZSBDb25maWciKSx1MD1uZXcgZXIoIk1ldHJpY3MgSW5pdGlhbCBTZXR0aW5ncyBDb25maWciKTtmdW5jdGlvbiBnMCh0KXtyZXR1cm4gdD97aW5pdGlhbFN0YXRlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxhMCkse3NldHRpbmdzOnR9KX06e2luaXRpYWxTdGF0ZTphMH19dmFyIGgwOyEoZnVuY3Rpb24odCl7dFt0LkxFRlQ9MV09IkxFRlQiLHRbdC5SSUdIVD0yXT0iUklHSFQiLHRbdC5NSURETEU9NF09Ik1JRERMRSIsdFt0LkZPVVJUSD04XT0iRk9VUlRIIix0W3QuRklGVEg9MzJdPSJGSUZUSCJ9KShoMHx8KGgwPXt9KSk7bGV0IGIwPTA7ZnVuY3Rpb24geTAodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDMpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5leHBhbmRTaWRlYmFyKCl9KSksdmYoMSwibWF0LWljb24iLDQpLE1mKCl9fWZ1bmN0aW9uIF8wKHQsZSl7aWYoMSZ0JiYoQ2YoMCwibmF2Iiw1KSxfeSgxLCJhc3luYyIpLEZmKDIsMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7bHUoIndpZHRoIixDeSgxLDQsdC53aWR0aCQpLCIlIikoIm1pbi13aWR0aCIsdC5NSU5JTVVNX1NJREVCQVJfV0lEVEhfSU5fUFgsInB4Iil9fWZ1bmN0aW9uIEMwKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2Iiw2KSxSZigibW91c2Vkb3duIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLnJlc2l6ZUdyYWJiZWQoKX0pKSxNZigpfX1jb25zdCBNMD1bW1siIiwibWFpbiIsIiJdXSxbWyIiLCJzaWRlYmFyIiwiIl1dXTtjbGFzcyB2MHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuc3RvcmU9dCx0aGlzLndpZHRoJD10aGlzLnN0b3JlLnNlbGVjdChpVCksdGhpcy5uZ1Vuc3Vic2NyaWJlPW5ldyBCLHRoaXMucmVzaXppbmc9ITEsdGhpcy5NSU5JTVVNX1NJREVCQVJfV0lEVEhfSU5fUFg9NzUsbGUoZS5uYXRpdmVFbGVtZW50LCJtb3VzZW1vdmUiKS5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSksdWUoKCgpPT50aGlzLnJlc2l6aW5nKSkpLnN1YnNjcmliZSgodD0+e2lmKCh0LmJ1dHRvbnMmaDAuTEVGVCkhPT1oMC5MRUZUKXJldHVybiB2b2lkKHRoaXMucmVzaXppbmc9ITEpO3QucHJldmVudERlZmF1bHQoKTtjb25zdHt3aWR0aDpufT1lLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5zdG9yZS5kaXNwYXRjaChsQSh7d2lkdGhJblBlcmNlbnQ6dC5jbGllbnRYPD10aGlzLk1JTklNVU1fU0lERUJBUl9XSURUSF9JTl9QWD8wOnQuY2xpZW50WC9uKjEwMH0pKX0pKSxsZShlLm5hdGl2ZUVsZW1lbnQsIm1vdXNldXAiLHtwYXNzaXZlOiEwfSkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5yZXNpemluZz0hMX0pKX1uZ09uRGVzdHJveSgpe3RoaXMubmdVbnN1YnNjcmliZS5uZXh0KCksdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCl9cmVzaXplR3JhYmJlZCgpe3RoaXMucmVzaXppbmc9ITB9ZXhwYW5kU2lkZWJhcigpe3RoaXMuc3RvcmUuZGlzcGF0Y2gobEEoe3dpZHRoSW5QZXJjZW50OjIwfSkpfX12YXIgeDA7djAuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHYwKShnZihpUyksZ2YoS2gpKX0sdjAuybVjbXA9c28oe3R5cGU6djAsc2VsZWN0b3JzOltbInRiLWRhc2hib2FyZC1sYXlvdXQiXV0sbmdDb250ZW50U2VsZWN0b3JzOlsiW21haW5dIiwiW3NpZGViYXJdIl0sZGVjbHM6Nyx2YXJzOjksY29uc3RzOltbImNsYXNzIiwiZXhwYW5kIiwzLCJjbGljayIsNCwibmdJZiJdLFsiY2xhc3MiLCJzaWRlYmFyIiwzLCJ3aWR0aCIsIm1pbldpZHRoIiw0LCJuZ0lmIl0sWyJjbGFzcyIsInJlc2l6ZXIiLDMsIm1vdXNlZG93biIsNCwibmdJZiJdLFsxLCJleHBhbmQiLDMsImNsaWNrIl0sWyJzdmdJY29uIiwiZXhwYW5kX21vcmVfMjRweCJdLFsxLCJzaWRlYmFyIl0sWzEsInJlc2l6ZXIiLDMsIm1vdXNlZG93biJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoTTApLEhtKDAseTAsMiwwLCJidXR0b24iLDApLF95KDEsImFzeW5jIiksSG0oMixfMCwzLDYsIm5hdiIsMSksX3koMywiYXN5bmMiKSxIbSg0LEMwLDEsMCwiZGl2IiwyKSxfeSg1LCJhc3luYyIpLEZmKDYpKSwyJmUmJihiZigibmdJZiIsMD09PUN5KDEsMyxuLndpZHRoJCkpLERjKDIpLGJmKCJuZ0lmIixDeSgzLDUsbi53aWR0aCQpPjApLERjKDIpLGJmKCJuZ0lmIixDeSg1LDcsbi53aWR0aCQpPjApKX0sZGlyZWN0aXZlczpbUHYsTXFdLHBpcGVzOltWdl0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmV9LnNpZGViYXJbX25nY29udGVudC0lQ09NUCVde21heC13aWR0aDo4MHZ3fS5yZXNpemVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmV4cGFuZFtfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWNvbG9yOiNlYmViZWI7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXg6MCAwO2p1c3RpZnktc2VsZjpzdHJldGNofWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5yZXNpemVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLnJlc2l6ZXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1jb2xvcjojNTU1fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5leHBhbmRbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZXhwYW5kW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItY29sb3I6IzU1NX0uZXhwYW5kW19uZ2NvbnRlbnQtJUNPTVAlXXt3aWR0aDoyMHB4fS5yZXNpemVyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowIDJweDtjdXJzb3I6ZXctcmVzaXplO2NvbnRhaW46c3RyaWN0O2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LXNlbGY6c3RyZXRjaH0ucmVzaXplcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde3dpZHRoOjEwMCV9LnJlc2l6ZXJbX25nY29udGVudC0lQ09NUCVdOmhvdmVye2JvcmRlci1jb2xvcjojY2NjO291dGxpbmU6M3B4IHNvbGlkICNjY2M7ei1pbmRleDoxfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5yZXNpemVyW19uZ2NvbnRlbnQtJUNPTVAlXTpob3ZlciwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLnJlc2l6ZXJbX25nY29udGVudC0lQ09NUCVdOmhvdmVye291dGxpbmUtY29sb3I6Izc3Nztib3JkZXItY29sb3I6Izc3N30uZXhwYW5kW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjAgMXB4IDAgMDtjb2xvcjppbmhlcml0O2NvbnRhaW46Y29udGVudDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1zZWxmOnN0cmV0Y2g7cGFkZGluZzowfS5leHBhbmRbX25nY29udGVudC0lQ09NUCVdICAgbWF0LWljb25bX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcn0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodjAsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGItZGFzaGJvYXJkLWxheW91dCIsdGVtcGxhdGU6J1xuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPSIod2lkdGgkIHwgYXN5bmMpID09PSAwIlxuICAgICAgY2xhc3M9ImV4cGFuZCJcbiAgICAgIChjbGljayk9ImV4cGFuZFNpZGViYXIoKSJcbiAgICA+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj0iZXhwYW5kX21vcmVfMjRweCI+PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8bmF2XG4gICAgICAqbmdJZj0iKHdpZHRoJCB8IGFzeW5jKSA+IDAiXG4gICAgICBjbGFzcz0ic2lkZWJhciJcbiAgICAgIFtzdHlsZS53aWR0aC4lXT0id2lkdGgkIHwgYXN5bmMiXG4gICAgICBbc3R5bGUubWluV2lkdGgucHhdPSJNSU5JTVVNX1NJREVCQVJfV0lEVEhfSU5fUFgiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PSJbc2lkZWJhcl0iPjwvbmctY29udGVudD5cbiAgICA8L25hdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj0iKHdpZHRoJCB8IGFzeW5jKSA+IDAiXG4gICAgICBjbGFzcz0icmVzaXplciJcbiAgICAgIChtb3VzZWRvd24pPSJyZXNpemVHcmFiYmVkKCkiXG4gICAgPjwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD0iW21haW5dIj48L25nLWNvbnRlbnQ+XG4gICcsc3R5bGVVcmxzOlsibGF5b3V0X2NvbnRhaW5lci5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9LHt0eXBlOktofV19KSxudWxsKSwoZnVuY3Rpb24odCl7dC5DSEVDS0JPWD0iY2hlY2tib3giLHQuUlVOX05BTUU9InJ1bl9uYW1lIix0LkVYUEVSSU1FTlRfTkFNRT0iZXhwZXJpbWVudF9uYW1lIix0LlJVTl9DT0xPUj0icnVuX2NvbG9yIn0pKHgwfHwoeDA9e30pKTtjb25zdCBPMD1fUyhIVCksUDA9YlMoTzAsKCh0LGUpPT57Y29uc3Qgbj1bXTtmb3IoY29uc3QgbyBvZiBlKXQuc3BlY3Nbb10mJm4ucHVzaCh0LnNwZWNzW29dLmhwYXJhbS5kZWZhdWx0RmlsdGVycyk7cmV0dXJuIFRUKG4pfSkpLHcwPWJTKFAwLE8wLCgodCxlLG4pPT57dmFyIG87Y29uc3QgaT1BVChuKSxhPWUuZmlsdGVyc1tpXTtyZXR1cm4gbmV3IE1hcChbLi4udCwuLi5udWxsIT09KG89bnVsbD09YT92b2lkIDA6YS5ocGFyYW1zKSYmdm9pZCAwIT09bz9vOltdXSl9KSksazA9YlMoTzAsKCh0LGUpPT57Y29uc3Qgbj1bXTtmb3IoY29uc3QgbyBvZiBlKXQuc3BlY3Nbb10mJm4ucHVzaCh0LnNwZWNzW29dLm1ldHJpYy5kZWZhdWx0RmlsdGVycyk7cmV0dXJuIE5UKG4pfSkpLFMwPWJTKGswLE8wLCgodCxlLG4pPT57dmFyIG87Y29uc3QgaT1BVChuKSxhPWUuZmlsdGVyc1tpXTtyZXR1cm4gbmV3IE1hcChbLi4udCwuLi5udWxsIT09KG89bnVsbD09YT92b2lkIDA6YS5tZXRyaWNzKSYmdm9pZCAwIT09bz9vOltdXSl9KSksRDA9YlMoTzAsKCh0LGUpPT4oZnVuY3Rpb24gbiguLi50KXtjb25zdCBlPW5ldyBNYXAsbj1uZXcgTWFwLG89bmV3IE1hcCxpPW5ldyBNYXAsYT1bXTtmb3IoY29uc3QgciBvZiB0KXtmb3IoY29uc3QgdCBvZiByLmhwYXJhbXMpaWYobi5oYXModC5uYW1lKXx8bi5zZXQodC5uYW1lLG5ldyBTZXQpLG4uZ2V0KHQubmFtZSkuYWRkKHQuZGlzcGxheU5hbWUpLGUuaGFzKHQubmFtZSkpe2NvbnN0IG49ZS5nZXQodC5uYW1lKSxvPXQ7aWYobi50eXBlIT09by50eXBlJiZhLnB1c2goYEhwYXJhbSwgJHtvLm5hbWV9LCB0eXBlcyBoYXZlIHRvIG1hdGNoLiBHb3Q6ICR7bi50eXBlfSB2cy4gJHtvLnR5cGV9YCksbi5kb21haW4udHlwZT09PWtULklOVEVSVkFMJiZvLmRvbWFpbi50eXBlPT09a1QuSU5URVJWQUwpbi5kb21haW4ubWluVmFsdWU9PT1vLmRvbWFpbi5taW5WYWx1ZSYmbi5kb21haW4ubWF4VmFsdWU9PT1vLmRvbWFpbi5tYXhWYWx1ZXx8YS5wdXNoKGBIcGFyYW0sICR7by5uYW1lfSwgZG9tYWlucyBoYXZlIHRvIG1hdGNoLiBHb3Q6ICR7bi5kb21haW59IHZzLiAke28uZG9tYWlufWApO2Vsc2UgaWYobi5kb21haW4udHlwZT09PWtULkRJU0NSRVRFJiZvLmRvbWFpbi50eXBlPT09a1QuRElTQ1JFVEUpe2NvbnN0IHQ9bmV3IFNldChbLi4ubi5kb21haW4udmFsdWVzLC4uLm8uZG9tYWluLnZhbHVlc10pO24uZG9tYWluLnZhbHVlcy5sZW5ndGg9PT1vLmRvbWFpbi52YWx1ZXMubGVuZ3RoJiZuLmRvbWFpbi52YWx1ZXMubGVuZ3RoPT09dC5zaXplfHxhLnB1c2goYEhwYXJhbSwgJHtvLm5hbWV9LCBkb21haW5zIGhhdmUgdG8gbWF0Y2guIEdvdDogJHtuLmRvbWFpbn0gdnMuICR7by5kb21haW59YCl9ZWxzZSBhLnB1c2goYEhwYXJhbSwgJHtvLm5hbWV9LCBkb21haW5zIGhhdmUgdG8gbWF0Y2guIEdvdDogJHtuLmRvbWFpbn0gdnMuICR7by5kb21haW59YCl9ZWxzZSBlLnNldCh0Lm5hbWUsT2JqZWN0LmFzc2lnbih7fSx0KSk7Zm9yKGNvbnN0IHQgb2Ygci5tZXRyaWNzKWlmKGkuaGFzKHQudGFnKXx8aS5zZXQodC50YWcsbmV3IFNldCksaS5nZXQodC50YWcpLmFkZCh0LmRpc3BsYXlOYW1lKSxvLmhhcyh0LnRhZykpe2NvbnN0IGU9by5nZXQodC50YWcpLG49dDtlLmRhdGFzZXRUeXBlIT09bi5kYXRhc2V0VHlwZSYmYS5wdXNoKGBNZXRyaWMsICR7bi50YWd9LCBkYXRhc2V0VHlwZXMgaGF2ZSB0byBtYXRjaC4gR290OiAke2UuZGF0YXNldFR5cGV9IHZzLiAke24uZGF0YXNldFR5cGV9YCl9ZWxzZSBvLnNldCh0LnRhZyxPYmplY3QuYXNzaWduKHt9LHQpKX1pZihhLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYFZhbGlkYXRpb24gZXJyb3I6XG4ke2Euam9pbigiXG4iKX1gKTtyZXR1cm57aHBhcmFtczpbLi4uZV0ubWFwKCgoW3QsZV0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse2Rpc3BsYXlOYW1lOlsuLi5uLmdldCh0KV0uam9pbigiIG9yICIpfSkpKSxtZXRyaWNzOlsuLi5vXS5tYXAoKChbdCxlXSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx7ZGlzcGxheU5hbWU6Wy4uLmkuZ2V0KHQpXS5qb2luKCIgb3IgIil9KSkpfX0pKC4uLmUuZXhwZXJpbWVudElkcy5tYXAoKGU9Pntjb25zdCBuPXQuc3BlY3NbZV07cmV0dXJuIG4/e2hwYXJhbXM6bi5ocGFyYW0uc3BlY3MsbWV0cmljczpuLm1ldHJpYy5zcGVjc306bnVsbH0pKS5maWx0ZXIoQm9vbGVhbikpKSksUjA9e3Rvb2x0aXBTdGF0ZTp4Tygic3RhdGUiLFtrTygiaW5pdGlhbCwgdm9pZCwgaGlkZGVuIix3Tyh7b3BhY2l0eTowLHRyYW5zZm9ybToic2NhbGUoMCkifSkpLGtPKCJ2aXNpYmxlIix3Tyh7dHJhbnNmb3JtOiJzY2FsZSgxKSJ9KSksRE8oIiogPT4gdmlzaWJsZSIsT08oIjIwMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpIixTTyhbd08oe29wYWNpdHk6MCx0cmFuc2Zvcm06InNjYWxlKDApIixvZmZzZXQ6MH0pLHdPKHtvcGFjaXR5Oi41LHRyYW5zZm9ybToic2NhbGUoMC45OSkiLG9mZnNldDouNX0pLHdPKHtvcGFjaXR5OjEsdHJhbnNmb3JtOiJzY2FsZSgxKSIsb2Zmc2V0OjF9KV0pKSksRE8oIiogPT4gaGlkZGVuIixPTygiMTAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSkiLHdPKHtvcGFjaXR5OjB9KSkpXSl9LEUwPWJIKHtwYXNzaXZlOiEwfSk7ZnVuY3Rpb24gQTAodCl7cmV0dXJuIEVycm9yKGBUb29sdGlwIHBvc2l0aW9uICIke3R9IiBpcyBpbnZhbGlkLmApfWNvbnN0IFQwPW5ldyBlcigibWF0LXRvb2x0aXAtc2Nyb2xsLXN0cmF0ZWd5Iik7Y29uc3QgTjA9e3Byb3ZpZGU6VDAsZGVwczpbS0JdLHVzZUZhY3Rvcnk6ZnVuY3Rpb24gejAodCl7cmV0dXJuKCk9PnQuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKHtzY3JvbGxUaHJvdHRsZToyMH0pfX0sSTA9bmV3IGVyKCJtYXQtdG9vbHRpcC1kZWZhdWx0LW9wdGlvbnMiLHtwcm92aWRlZEluOiJyb290IixmYWN0b3J5OmZ1bmN0aW9uIEgwKCl7cmV0dXJue3Nob3dEZWxheTowLGhpZGVEZWxheTowLHRvdWNoZW5kSGlkZURlbGF5OjE1MDB9fX0pO2NsYXNzIEYwe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwKXt0aGlzLl9vdmVybGF5PXQsdGhpcy5fZWxlbWVudFJlZj1lLHRoaXMuX3Njcm9sbERpc3BhdGNoZXI9bix0aGlzLl92aWV3Q29udGFpbmVyUmVmPW8sdGhpcy5fbmdab25lPWksdGhpcy5fcGxhdGZvcm09YSx0aGlzLl9hcmlhRGVzY3JpYmVyPXIsdGhpcy5fZm9jdXNNb25pdG9yPXMsdGhpcy5fZGlyPWMsdGhpcy5fZGVmYXVsdE9wdGlvbnM9ZCx0aGlzLl9wb3NpdGlvbj0iYmVsb3ciLHRoaXMuX2Rpc2FibGVkPSExLHRoaXMuX3ZpZXdJbml0aWFsaXplZD0hMSx0aGlzLl9wb2ludGVyRXhpdEV2ZW50c0luaXRpYWxpemVkPSExLHRoaXMuX3ZpZXdwb3J0TWFyZ2luPTgsdGhpcy5fY3NzQ2xhc3NQcmVmaXg9Im1hdCIsdGhpcy5zaG93RGVsYXk9dGhpcy5fZGVmYXVsdE9wdGlvbnMuc2hvd0RlbGF5LHRoaXMuaGlkZURlbGF5PXRoaXMuX2RlZmF1bHRPcHRpb25zLmhpZGVEZWxheSx0aGlzLnRvdWNoR2VzdHVyZXM9ImF1dG8iLHRoaXMuX21lc3NhZ2U9IiIsdGhpcy5fcGFzc2l2ZUxpc3RlbmVycz1bXSx0aGlzLl9kZXN0cm95ZWQ9bmV3IEIsdGhpcy5faGFuZGxlS2V5ZG93bj10PT57dGhpcy5faXNUb29sdGlwVmlzaWJsZSgpJiZ0LmtleUNvZGU9PT1LSSYmIXRIKHQpJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5fbmdab25lLnJ1bigoKCk9PnRoaXMuaGlkZSgwKSkpKX0sdGhpcy5fc2Nyb2xsU3RyYXRlZ3k9bCx0aGlzLl9kb2N1bWVudD1wLGQmJihkLnBvc2l0aW9uJiYodGhpcy5wb3NpdGlvbj1kLnBvc2l0aW9uKSxkLnRvdWNoR2VzdHVyZXMmJih0aGlzLnRvdWNoR2VzdHVyZXM9ZC50b3VjaEdlc3R1cmVzKSksYy5jaGFuZ2UucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fb3ZlcmxheVJlZiYmdGhpcy5fdXBkYXRlUG9zaXRpb24odGhpcy5fb3ZlcmxheVJlZil9KSksaS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PntlLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlS2V5ZG93bil9KSl9Z2V0IHBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuX3Bvc2l0aW9ufXNldCBwb3NpdGlvbih0KXt2YXIgZTt0IT09dGhpcy5fcG9zaXRpb24mJih0aGlzLl9wb3NpdGlvbj10LHRoaXMuX292ZXJsYXlSZWYmJih0aGlzLl91cGRhdGVQb3NpdGlvbih0aGlzLl9vdmVybGF5UmVmKSxudWxsPT09KGU9dGhpcy5fdG9vbHRpcEluc3RhbmNlKXx8dm9pZCAwPT09ZXx8ZS5zaG93KDApLHRoaXMuX292ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKSkpfWdldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLl9kaXNhYmxlZH1zZXQgZGlzYWJsZWQodCl7dGhpcy5fZGlzYWJsZWQ9ZUgodCksdGhpcy5fZGlzYWJsZWQ/dGhpcy5oaWRlKDApOnRoaXMuX3NldHVwUG9pbnRlckVudGVyRXZlbnRzSWZOZWVkZWQoKX1nZXQgbWVzc2FnZSgpe3JldHVybiB0aGlzLl9tZXNzYWdlfXNldCBtZXNzYWdlKHQpe3RoaXMuX2FyaWFEZXNjcmliZXIucmVtb3ZlRGVzY3JpcHRpb24odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LHRoaXMuX21lc3NhZ2UsInRvb2x0aXAiKSx0aGlzLl9tZXNzYWdlPW51bGwhPXQ/U3RyaW5nKHQpLnRyaW0oKToiIiwhdGhpcy5fbWVzc2FnZSYmdGhpcy5faXNUb29sdGlwVmlzaWJsZSgpP3RoaXMuaGlkZSgwKToodGhpcy5fc2V0dXBQb2ludGVyRW50ZXJFdmVudHNJZk5lZWRlZCgpLHRoaXMuX3VwZGF0ZVRvb2x0aXBNZXNzYWdlKCksdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fYXJpYURlc2NyaWJlci5kZXNjcmliZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsdGhpcy5tZXNzYWdlLCJ0b29sdGlwIil9KSl9KSkpfWdldCB0b29sdGlwQ2xhc3MoKXtyZXR1cm4gdGhpcy5fdG9vbHRpcENsYXNzfXNldCB0b29sdGlwQ2xhc3ModCl7dGhpcy5fdG9vbHRpcENsYXNzPXQsdGhpcy5fdG9vbHRpcEluc3RhbmNlJiZ0aGlzLl9zZXRUb29sdGlwQ2xhc3ModGhpcy5fdG9vbHRpcENsYXNzKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLl92aWV3SW5pdGlhbGl6ZWQ9ITAsdGhpcy5fc2V0dXBQb2ludGVyRW50ZXJFdmVudHNJZk5lZWRlZCgpLHRoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYpLnBpcGUoamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCh0PT57dD8ia2V5Ym9hcmQiPT09dCYmdGhpcy5fbmdab25lLnJ1bigoKCk9PnRoaXMuc2hvdygpKSk6dGhpcy5fbmdab25lLnJ1bigoKCk9PnRoaXMuaGlkZSgwKSkpfSkpfW5nT25EZXN0cm95KCl7Y29uc3QgdD10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7Y2xlYXJUaW1lb3V0KHRoaXMuX3RvdWNoc3RhcnRUaW1lb3V0KSx0aGlzLl9vdmVybGF5UmVmJiYodGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCksdGhpcy5fdG9vbHRpcEluc3RhbmNlPW51bGwpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlS2V5ZG93biksdGhpcy5fcGFzc2l2ZUxpc3RlbmVycy5mb3JFYWNoKCgoW2Usbl0pPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKGUsbixFMCl9KSksdGhpcy5fcGFzc2l2ZUxpc3RlbmVycy5sZW5ndGg9MCx0aGlzLl9kZXN0cm95ZWQubmV4dCgpLHRoaXMuX2Rlc3Ryb3llZC5jb21wbGV0ZSgpLHRoaXMuX2FyaWFEZXNjcmliZXIucmVtb3ZlRGVzY3JpcHRpb24odCx0aGlzLm1lc3NhZ2UsInRvb2x0aXAiKSx0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodCl9c2hvdyh0PXRoaXMuc2hvd0RlbGF5KXtpZih0aGlzLmRpc2FibGVkfHwhdGhpcy5tZXNzYWdlfHx0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKCkmJiF0aGlzLl90b29sdGlwSW5zdGFuY2UuX3Nob3dUaW1lb3V0SWQmJiF0aGlzLl90b29sdGlwSW5zdGFuY2UuX2hpZGVUaW1lb3V0SWQpcmV0dXJuO2NvbnN0IGU9dGhpcy5fY3JlYXRlT3ZlcmxheSgpO3RoaXMuX2RldGFjaCgpLHRoaXMuX3BvcnRhbD10aGlzLl9wb3J0YWx8fG5ldyBzQih0aGlzLl90b29sdGlwQ29tcG9uZW50LHRoaXMuX3ZpZXdDb250YWluZXJSZWYpLHRoaXMuX3Rvb2x0aXBJbnN0YW5jZT1lLmF0dGFjaCh0aGlzLl9wb3J0YWwpLmluc3RhbmNlLHRoaXMuX3Rvb2x0aXBJbnN0YW5jZS5hZnRlckhpZGRlbigpLnBpcGUoamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgoKT0+dGhpcy5fZGV0YWNoKCkpKSx0aGlzLl9zZXRUb29sdGlwQ2xhc3ModGhpcy5fdG9vbHRpcENsYXNzKSx0aGlzLl91cGRhdGVUb29sdGlwTWVzc2FnZSgpLHRoaXMuX3Rvb2x0aXBJbnN0YW5jZS5zaG93KHQpfWhpZGUodD10aGlzLmhpZGVEZWxheSl7dGhpcy5fdG9vbHRpcEluc3RhbmNlJiZ0aGlzLl90b29sdGlwSW5zdGFuY2UuaGlkZSh0KX10b2dnbGUoKXt0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKCk/dGhpcy5oaWRlKCk6dGhpcy5zaG93KCl9X2lzVG9vbHRpcFZpc2libGUoKXtyZXR1cm4hIXRoaXMuX3Rvb2x0aXBJbnN0YW5jZSYmdGhpcy5fdG9vbHRpcEluc3RhbmNlLmlzVmlzaWJsZSgpfV9jcmVhdGVPdmVybGF5KCl7aWYodGhpcy5fb3ZlcmxheVJlZilyZXR1cm4gdGhpcy5fb3ZlcmxheVJlZjtjb25zdCB0PXRoaXMuX3Njcm9sbERpc3BhdGNoZXIuZ2V0QW5jZXN0b3JTY3JvbGxDb250YWluZXJzKHRoaXMuX2VsZW1lbnRSZWYpLGU9dGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5fZWxlbWVudFJlZikud2l0aFRyYW5zZm9ybU9yaWdpbk9uKGAuJHt0aGlzLl9jc3NDbGFzc1ByZWZpeH0tdG9vbHRpcGApLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoITEpLndpdGhWaWV3cG9ydE1hcmdpbih0aGlzLl92aWV3cG9ydE1hcmdpbikud2l0aFNjcm9sbGFibGVDb250YWluZXJzKHQpO3JldHVybiBlLnBvc2l0aW9uQ2hhbmdlcy5waXBlKGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgodD0+e3RoaXMuX3VwZGF0ZUN1cnJlbnRQb3NpdGlvbkNsYXNzKHQuY29ubmVjdGlvblBhaXIpLHRoaXMuX3Rvb2x0aXBJbnN0YW5jZSYmdC5zY3JvbGxhYmxlVmlld1Byb3BlcnRpZXMuaXNPdmVybGF5Q2xpcHBlZCYmdGhpcy5fdG9vbHRpcEluc3RhbmNlLmlzVmlzaWJsZSgpJiZ0aGlzLl9uZ1pvbmUucnVuKCgoKT0+dGhpcy5oaWRlKDApKSl9KSksdGhpcy5fb3ZlcmxheVJlZj10aGlzLl9vdmVybGF5LmNyZWF0ZSh7ZGlyZWN0aW9uOnRoaXMuX2Rpcixwb3NpdGlvblN0cmF0ZWd5OmUscGFuZWxDbGFzczpgJHt0aGlzLl9jc3NDbGFzc1ByZWZpeH0tdG9vbHRpcC1wYW5lbGAsc2Nyb2xsU3RyYXRlZ3k6dGhpcy5fc2Nyb2xsU3RyYXRlZ3koKX0pLHRoaXMuX3VwZGF0ZVBvc2l0aW9uKHRoaXMuX292ZXJsYXlSZWYpLHRoaXMuX292ZXJsYXlSZWYuZGV0YWNobWVudHMoKS5waXBlKGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgoKCk9PnRoaXMuX2RldGFjaCgpKSksdGhpcy5fb3ZlcmxheVJlZi5vdXRzaWRlUG9pbnRlckV2ZW50cygpLnBpcGUoamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgoKT0+e3ZhciB0O3JldHVybiBudWxsPT09KHQ9dGhpcy5fdG9vbHRpcEluc3RhbmNlKXx8dm9pZCAwPT09dD92b2lkIDA6dC5faGFuZGxlQm9keUludGVyYWN0aW9uKCl9KSksdGhpcy5fb3ZlcmxheVJlZn1fZGV0YWNoKCl7dGhpcy5fb3ZlcmxheVJlZiYmdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpJiZ0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpLHRoaXMuX3Rvb2x0aXBJbnN0YW5jZT1udWxsfV91cGRhdGVQb3NpdGlvbih0KXtjb25zdCBlPXQuZ2V0Q29uZmlnKCkucG9zaXRpb25TdHJhdGVneSxuPXRoaXMuX2dldE9yaWdpbigpLG89dGhpcy5fZ2V0T3ZlcmxheVBvc2l0aW9uKCk7ZS53aXRoUG9zaXRpb25zKFt0aGlzLl9hZGRPZmZzZXQoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG4ubWFpbiksby5tYWluKSksdGhpcy5fYWRkT2Zmc2V0KE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxuLmZhbGxiYWNrKSxvLmZhbGxiYWNrKSldKX1fYWRkT2Zmc2V0KHQpe3JldHVybiB0fV9nZXRPcmlnaW4oKXtjb25zdCB0PSF0aGlzLl9kaXJ8fCJsdHIiPT10aGlzLl9kaXIudmFsdWUsZT10aGlzLnBvc2l0aW9uO2xldCBuO2lmKCJhYm92ZSI9PWV8fCJiZWxvdyI9PWUpbj17b3JpZ2luWDoiY2VudGVyIixvcmlnaW5ZOiJhYm92ZSI9PWU/InRvcCI6ImJvdHRvbSJ9O2Vsc2UgaWYoImJlZm9yZSI9PWV8fCJsZWZ0Ij09ZSYmdHx8InJpZ2h0Ij09ZSYmIXQpbj17b3JpZ2luWDoic3RhcnQiLG9yaWdpblk6ImNlbnRlciJ9O2Vsc2UgaWYoImFmdGVyIj09ZXx8InJpZ2h0Ij09ZSYmdHx8ImxlZnQiPT1lJiYhdCluPXtvcmlnaW5YOiJlbmQiLG9yaWdpblk6ImNlbnRlciJ9O2Vsc2UgaWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSl0aHJvdyBBMChlKTtjb25zdHt4Om8seTppfT10aGlzLl9pbnZlcnRQb3NpdGlvbihuLm9yaWdpblgsbi5vcmlnaW5ZKTtyZXR1cm57bWFpbjpuLGZhbGxiYWNrOntvcmlnaW5YOm8sb3JpZ2luWTppfX19X2dldE92ZXJsYXlQb3NpdGlvbigpe2NvbnN0IHQ9IXRoaXMuX2Rpcnx8Imx0ciI9PXRoaXMuX2Rpci52YWx1ZSxlPXRoaXMucG9zaXRpb247bGV0IG47aWYoImFib3ZlIj09ZSluPXtvdmVybGF5WDoiY2VudGVyIixvdmVybGF5WToiYm90dG9tIn07ZWxzZSBpZigiYmVsb3ciPT1lKW49e292ZXJsYXlYOiJjZW50ZXIiLG92ZXJsYXlZOiJ0b3AifTtlbHNlIGlmKCJiZWZvcmUiPT1lfHwibGVmdCI9PWUmJnR8fCJyaWdodCI9PWUmJiF0KW49e292ZXJsYXlYOiJlbmQiLG92ZXJsYXlZOiJjZW50ZXIifTtlbHNlIGlmKCJhZnRlciI9PWV8fCJyaWdodCI9PWUmJnR8fCJsZWZ0Ij09ZSYmIXQpbj17b3ZlcmxheVg6InN0YXJ0IixvdmVybGF5WToiY2VudGVyIn07ZWxzZSBpZigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKXRocm93IEEwKGUpO2NvbnN0e3g6byx5Oml9PXRoaXMuX2ludmVydFBvc2l0aW9uKG4ub3ZlcmxheVgsbi5vdmVybGF5WSk7cmV0dXJue21haW46bixmYWxsYmFjazp7b3ZlcmxheVg6byxvdmVybGF5WTppfX19X3VwZGF0ZVRvb2x0aXBNZXNzYWdlKCl7dGhpcy5fdG9vbHRpcEluc3RhbmNlJiYodGhpcy5fdG9vbHRpcEluc3RhbmNlLm1lc3NhZ2U9dGhpcy5tZXNzYWdlLHRoaXMuX3Rvb2x0aXBJbnN0YW5jZS5fbWFya0ZvckNoZWNrKCksdGhpcy5fbmdab25lLm9uTWljcm90YXNrRW1wdHkucGlwZSh2ZSgxKSxqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fdG9vbHRpcEluc3RhbmNlJiZ0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCl9KSkpfV9zZXRUb29sdGlwQ2xhc3ModCl7dGhpcy5fdG9vbHRpcEluc3RhbmNlJiYodGhpcy5fdG9vbHRpcEluc3RhbmNlLnRvb2x0aXBDbGFzcz10LHRoaXMuX3Rvb2x0aXBJbnN0YW5jZS5fbWFya0ZvckNoZWNrKCkpfV9pbnZlcnRQb3NpdGlvbih0LGUpe3JldHVybiJhYm92ZSI9PT10aGlzLnBvc2l0aW9ufHwiYmVsb3ciPT09dGhpcy5wb3NpdGlvbj8idG9wIj09PWU/ZT0iYm90dG9tIjoiYm90dG9tIj09PWUmJihlPSJ0b3AiKToiZW5kIj09PXQ/dD0ic3RhcnQiOiJzdGFydCI9PT10JiYodD0iZW5kIikse3g6dCx5OmV9fV91cGRhdGVDdXJyZW50UG9zaXRpb25DbGFzcyh0KXtjb25zdHtvdmVybGF5WTplLG9yaWdpblg6bixvcmlnaW5ZOm99PXQ7bGV0IGk7aWYoaT0iY2VudGVyIj09PWU/dGhpcy5fZGlyJiYicnRsIj09PXRoaXMuX2Rpci52YWx1ZT8iZW5kIj09PW4/ImxlZnQiOiJyaWdodCI6InN0YXJ0Ij09PW4/ImxlZnQiOiJyaWdodCI6ImJvdHRvbSI9PT1lJiYidG9wIj09PW8/ImFib3ZlIjoiYmVsb3ciLGkhPT10aGlzLl9jdXJyZW50UG9zaXRpb24pe2NvbnN0IHQ9dGhpcy5fb3ZlcmxheVJlZjtpZih0KXtjb25zdCBlPWAke3RoaXMuX2Nzc0NsYXNzUHJlZml4fS10b29sdGlwLXBhbmVsLWA7dC5yZW1vdmVQYW5lbENsYXNzKGUrdGhpcy5fY3VycmVudFBvc2l0aW9uKSx0LmFkZFBhbmVsQ2xhc3MoZStpKX10aGlzLl9jdXJyZW50UG9zaXRpb249aX19X3NldHVwUG9pbnRlckVudGVyRXZlbnRzSWZOZWVkZWQoKXshdGhpcy5fZGlzYWJsZWQmJnRoaXMubWVzc2FnZSYmdGhpcy5fdmlld0luaXRpYWxpemVkJiYhdGhpcy5fcGFzc2l2ZUxpc3RlbmVycy5sZW5ndGgmJih0aGlzLl9wbGF0Zm9ybVN1cHBvcnRzTW91c2VFdmVudHMoKT90aGlzLl9wYXNzaXZlTGlzdGVuZXJzLnB1c2goWyJtb3VzZWVudGVyIiwoKT0+e3RoaXMuX3NldHVwUG9pbnRlckV4aXRFdmVudHNJZk5lZWRlZCgpLHRoaXMuc2hvdygpfV0pOiJvZmYiIT09dGhpcy50b3VjaEdlc3R1cmVzJiYodGhpcy5fZGlzYWJsZU5hdGl2ZUdlc3R1cmVzSWZOZWNlc3NhcnkoKSx0aGlzLl9wYXNzaXZlTGlzdGVuZXJzLnB1c2goWyJ0b3VjaHN0YXJ0IiwoKT0+e3RoaXMuX3NldHVwUG9pbnRlckV4aXRFdmVudHNJZk5lZWRlZCgpLGNsZWFyVGltZW91dCh0aGlzLl90b3VjaHN0YXJ0VGltZW91dCksdGhpcy5fdG91Y2hzdGFydFRpbWVvdXQ9c2V0VGltZW91dCgoKCk9PnRoaXMuc2hvdygpKSw1MDApfV0pKSx0aGlzLl9hZGRMaXN0ZW5lcnModGhpcy5fcGFzc2l2ZUxpc3RlbmVycykpfV9zZXR1cFBvaW50ZXJFeGl0RXZlbnRzSWZOZWVkZWQoKXtpZih0aGlzLl9wb2ludGVyRXhpdEV2ZW50c0luaXRpYWxpemVkKXJldHVybjt0aGlzLl9wb2ludGVyRXhpdEV2ZW50c0luaXRpYWxpemVkPSEwO2NvbnN0IHQ9W107aWYodGhpcy5fcGxhdGZvcm1TdXBwb3J0c01vdXNlRXZlbnRzKCkpdC5wdXNoKFsibW91c2VsZWF2ZSIsKCk9PnRoaXMuaGlkZSgpXSxbIndoZWVsIix0PT50aGlzLl93aGVlbExpc3RlbmVyKHQpXSk7ZWxzZSBpZigib2ZmIiE9PXRoaXMudG91Y2hHZXN0dXJlcyl7dGhpcy5fZGlzYWJsZU5hdGl2ZUdlc3R1cmVzSWZOZWNlc3NhcnkoKTtjb25zdCBlPSgpPT57Y2xlYXJUaW1lb3V0KHRoaXMuX3RvdWNoc3RhcnRUaW1lb3V0KSx0aGlzLmhpZGUodGhpcy5fZGVmYXVsdE9wdGlvbnMudG91Y2hlbmRIaWRlRGVsYXkpfTt0LnB1c2goWyJ0b3VjaGVuZCIsZV0sWyJ0b3VjaGNhbmNlbCIsZV0pfXRoaXMuX2FkZExpc3RlbmVycyh0KSx0aGlzLl9wYXNzaXZlTGlzdGVuZXJzLnB1c2goLi4udCl9X2FkZExpc3RlbmVycyh0KXt0LmZvckVhY2goKChbdCxlXSk9Pnt0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0LGUsRTApfSkpfV9wbGF0Zm9ybVN1cHBvcnRzTW91c2VFdmVudHMoKXtyZXR1cm4hdGhpcy5fcGxhdGZvcm0uSU9TJiYhdGhpcy5fcGxhdGZvcm0uQU5EUk9JRH1fd2hlZWxMaXN0ZW5lcih0KXtpZih0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKCkpe2NvbnN0IGU9dGhpcy5fZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh0LmNsaWVudFgsdC5jbGllbnRZKSxuPXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtlPT09bnx8bi5jb250YWlucyhlKXx8dGhpcy5oaWRlKCl9fV9kaXNhYmxlTmF0aXZlR2VzdHVyZXNJZk5lY2Vzc2FyeSgpe2NvbnN0IHQ9dGhpcy50b3VjaEdlc3R1cmVzO2lmKCJvZmYiIT09dCl7Y29uc3QgZT10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsbj1lLnN0eWxlOygib24iPT09dHx8IklOUFVUIiE9PWUubm9kZU5hbWUmJiJURVhUQVJFQSIhPT1lLm5vZGVOYW1lKSYmKG4udXNlclNlbGVjdD1uLm1zVXNlclNlbGVjdD1uLndlYmtpdFVzZXJTZWxlY3Q9bi5Nb3pVc2VyU2VsZWN0PSJub25lIiksIm9uIiE9PXQmJmUuZHJhZ2dhYmxlfHwobi53ZWJraXRVc2VyRHJhZz0ibm9uZSIpLG4udG91Y2hBY3Rpb249Im5vbmUiLG4ud2Via2l0VGFwSGlnaGxpZ2h0Q29sb3I9InRyYW5zcGFyZW50In19fUYwLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxGMCkoZ2YoS0IpLGdmKEtoKSxnZihLTCksZ2YoRmIpLGdmKG1DKSxnZihjSCksZ2YoTkgpLGdmKGZGKSxnZih2b2lkIDApLGdmKHZGKSxnZih2b2lkIDApLGdmKHNNKSl9LEYwLsm1ZGlyPWhvKHt0eXBlOkYwLGlucHV0czp7c2hvd0RlbGF5OlsibWF0VG9vbHRpcFNob3dEZWxheSIsInNob3dEZWxheSJdLGhpZGVEZWxheTpbIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJoaWRlRGVsYXkiXSx0b3VjaEdlc3R1cmVzOlsibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJ0b3VjaEdlc3R1cmVzIl0scG9zaXRpb246WyJtYXRUb29sdGlwUG9zaXRpb24iLCJwb3NpdGlvbiJdLGRpc2FibGVkOlsibWF0VG9vbHRpcERpc2FibGVkIiwiZGlzYWJsZWQiXSxtZXNzYWdlOlsibWF0VG9vbHRpcCIsIm1lc3NhZ2UiXSx0b29sdGlwQ2xhc3M6WyJtYXRUb29sdGlwQ2xhc3MiLCJ0b29sdGlwQ2xhc3MiXX19KSxGMC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktCfSx7dHlwZTpLaH0se3R5cGU6S0x9LHt0eXBlOkZifSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOk5IfSx7dHlwZTpmRn0se3R5cGU6dm9pZCAwfSx7dHlwZTp2Rn0se3R5cGU6dm9pZCAwfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSxGMC5wcm9wRGVjb3JhdG9ycz17cG9zaXRpb246W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwUG9zaXRpb24iXX1dLGRpc2FibGVkOlt7dHlwZTpSXyxhcmdzOlsibWF0VG9vbHRpcERpc2FibGVkIl19XSxzaG93RGVsYXk6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwU2hvd0RlbGF5Il19XSxoaWRlRGVsYXk6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwSGlkZURlbGF5Il19XSx0b3VjaEdlc3R1cmVzOlt7dHlwZTpSXyxhcmdzOlsibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiXX1dLG1lc3NhZ2U6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwIl19XSx0b29sdGlwQ2xhc3M6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwQ2xhc3MiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEYwLFt7dHlwZTprX31dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLQn0se3R5cGU6S2h9LHt0eXBlOktMfSx7dHlwZTpGYn0se3R5cGU6bUN9LHt0eXBlOmNIfSx7dHlwZTpOSH0se3R5cGU6ZkZ9LHt0eXBlOnZvaWQgMH0se3R5cGU6dkZ9LHt0eXBlOnZvaWQgMH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSx7c2hvd0RlbGF5Olt7dHlwZTpSXyxhcmdzOlsibWF0VG9vbHRpcFNob3dEZWxheSJdfV0saGlkZURlbGF5Olt7dHlwZTpSXyxhcmdzOlsibWF0VG9vbHRpcEhpZGVEZWxheSJdfV0sdG91Y2hHZXN0dXJlczpbe3R5cGU6Ul8sYXJnczpbIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIl19XSxwb3NpdGlvbjpbe3R5cGU6Ul8sYXJnczpbIm1hdFRvb2x0aXBQb3NpdGlvbiJdfV0sZGlzYWJsZWQ6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwRGlzYWJsZWQiXX1dLG1lc3NhZ2U6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwIl19XSx0b29sdGlwQ2xhc3M6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwQ2xhc3MiXX1dfSk7Y2xhc3MgTDAgZXh0ZW5kcyBGMHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMsbCxjLGQscCl7c3VwZXIodCxlLG4sbyxpLGEscixzLGwsYyxkLHApLHRoaXMuX3Rvb2x0aXBDb21wb25lbnQ9VjB9fUwwLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxMMCkoZ2YoS0IpLGdmKEtoKSxnZihLTCksZ2YoRmIpLGdmKG1DKSxnZihjSCksZ2YoTkgpLGdmKGZGKSxnZihUMCksZ2YodkYsOCksZ2YoSTAsOCksZ2Yoc00pKX0sTDAuybVkaXI9aG8oe3R5cGU6TDAsc2VsZWN0b3JzOltbIiIsIm1hdFRvb2x0aXAiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtdG9vbHRpcC10cmlnZ2VyIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl0sZmVhdHVyZXM6W1FwXX0pLEwwLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S0J9LHt0eXBlOktofSx7dHlwZTpLTH0se3R5cGU6RmJ9LHt0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6Tkh9LHt0eXBlOmZGfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbVDBdfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbSTBdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTDAsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixleHBvcnRBczoibWF0VG9vbHRpcCIsaG9zdDp7Y2xhc3M6Im1hdC10b29sdGlwLXRyaWdnZXIifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktCfSx7dHlwZTpLaH0se3R5cGU6S0x9LHt0eXBlOkZifSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOk5IfSx7dHlwZTpmRn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1QwXX1dfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W0kwXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpO2NsYXNzIEIwe2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NoYW5nZURldGVjdG9yUmVmPXQsdGhpcy5fdmlzaWJpbGl0eT0iaW5pdGlhbCIsdGhpcy5fY2xvc2VPbkludGVyYWN0aW9uPSExLHRoaXMuX29uSGlkZT1uZXcgQn1zaG93KHQpe2NsZWFyVGltZW91dCh0aGlzLl9oaWRlVGltZW91dElkKSx0aGlzLl9jbG9zZU9uSW50ZXJhY3Rpb249ITAsdGhpcy5fc2hvd1RpbWVvdXRJZD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX3Zpc2liaWxpdHk9InZpc2libGUiLHRoaXMuX3Nob3dUaW1lb3V0SWQ9dm9pZCAwLHRoaXMuX29uU2hvdygpLHRoaXMuX21hcmtGb3JDaGVjaygpfSksdCl9aGlkZSh0KXtjbGVhclRpbWVvdXQodGhpcy5fc2hvd1RpbWVvdXRJZCksdGhpcy5faGlkZVRpbWVvdXRJZD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX3Zpc2liaWxpdHk9ImhpZGRlbiIsdGhpcy5faGlkZVRpbWVvdXRJZD12b2lkIDAsdGhpcy5fbWFya0ZvckNoZWNrKCl9KSx0KX1hZnRlckhpZGRlbigpe3JldHVybiB0aGlzLl9vbkhpZGV9aXNWaXNpYmxlKCl7cmV0dXJuInZpc2libGUiPT09dGhpcy5fdmlzaWJpbGl0eX1uZ09uRGVzdHJveSgpe2NsZWFyVGltZW91dCh0aGlzLl9zaG93VGltZW91dElkKSxjbGVhclRpbWVvdXQodGhpcy5faGlkZVRpbWVvdXRJZCksdGhpcy5fb25IaWRlLmNvbXBsZXRlKCl9X2FuaW1hdGlvblN0YXJ0KCl7dGhpcy5fY2xvc2VPbkludGVyYWN0aW9uPSExfV9hbmltYXRpb25Eb25lKHQpe2NvbnN0IGU9dC50b1N0YXRlOyJoaWRkZW4iIT09ZXx8dGhpcy5pc1Zpc2libGUoKXx8dGhpcy5fb25IaWRlLm5leHQoKSwidmlzaWJsZSIhPT1lJiYiaGlkZGVuIiE9PWV8fCh0aGlzLl9jbG9zZU9uSW50ZXJhY3Rpb249ITApfV9oYW5kbGVCb2R5SW50ZXJhY3Rpb24oKXt0aGlzLl9jbG9zZU9uSW50ZXJhY3Rpb24mJnRoaXMuaGlkZSgwKX1fbWFya0ZvckNoZWNrKCl7dGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9X29uU2hvdygpe319QjAuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEIwKShnZihPYikpfSxCMC7JtWRpcj1obyh7dHlwZTpCMH0pLEIwLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6T2J9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEIwLFt7dHlwZTprX31dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpPYn1dfSksbnVsbCk7Y2xhc3MgVjAgZXh0ZW5kcyBCMHtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQpLHRoaXMuX2JyZWFrcG9pbnRPYnNlcnZlcj1lLHRoaXMuX2lzSGFuZHNldD10aGlzLl9icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShtVil9fVYwLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxWMCkoZ2YoT2IpLGdmKGRWKSl9LFYwLsm1Y21wPXNvKHt0eXBlOlYwLHNlbGVjdG9yczpbWyJtYXQtdG9vbHRpcC1jb21wb25lbnQiXV0saG9zdEF0dHJzOlsiYXJpYS1oaWRkZW4iLCJ0cnVlIl0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmbHUoInpvb20iLCJ2aXNpYmxlIj09PW4uX3Zpc2liaWxpdHk/MTpudWxsKX0sZmVhdHVyZXM6W1FwXSxkZWNsczozLHZhcnM6Nyxjb25zdHM6W1sxLCJtYXQtdG9vbHRpcCIsMywibmdDbGFzcyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiZGl2IiwwKSxSZigiQHN0YXRlLnN0YXJ0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9hbmltYXRpb25TdGFydCgpfSkpKCJAc3RhdGUuZG9uZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2FuaW1hdGlvbkRvbmUoZSl9KSksX3koMSwiYXN5bmMiKSxQdSgyKSxNZigpKSwyJmUpe2xldCB0O2N1KCJtYXQtdG9vbHRpcC1oYW5kc2V0IixudWxsPT0odD1DeSgxLDUsbi5faXNIYW5kc2V0KSk/bnVsbDp0Lm1hdGNoZXMpLGJmKCJuZ0NsYXNzIixuLnRvb2x0aXBDbGFzcykoIkBzdGF0ZSIsbi5fdmlzaWJpbGl0eSksRGMoMiksd3Uobi5tZXNzYWdlKX19LGRpcmVjdGl2ZXM6W0N2XSxwaXBlczpbVnZdLHN0eWxlczpbIi5tYXQtdG9vbHRpcC1wYW5lbHtwb2ludGVyLWV2ZW50czpub25lICFpbXBvcnRhbnR9Lm1hdC10b29sdGlwe2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czo0cHg7bWFyZ2luOjE0cHg7bWF4LXdpZHRoOjI1MHB4O3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDo4cHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRvb2x0aXB7b3V0bGluZTpzb2xpZCAxcHh9Lm1hdC10b29sdGlwLWhhbmRzZXR7bWFyZ2luOjI0cHg7cGFkZGluZy1sZWZ0OjE2cHg7cGFkZGluZy1yaWdodDoxNnB4fVxuIl0sZW5jYXBzdWxhdGlvbjoyLGRhdGE6e2FuaW1hdGlvbjpbUjAudG9vbHRpcFN0YXRlXX0sY2hhbmdlRGV0ZWN0aW9uOjB9KSxWMC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOk9ifSx7dHlwZTpkVn1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVjAsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXRvb2x0aXAtY29tcG9uZW50Iix0ZW1wbGF0ZTonPGRpdiBjbGFzcz0ibWF0LXRvb2x0aXAiXG4gICAgIFtuZ0NsYXNzXT0idG9vbHRpcENsYXNzIlxuICAgICBbY2xhc3MubWF0LXRvb2x0aXAtaGFuZHNldF09IihfaXNIYW5kc2V0IHwgYXN5bmMpPy5tYXRjaGVzIlxuICAgICBbQHN0YXRlXT0iX3Zpc2liaWxpdHkiXG4gICAgIChAc3RhdGUuc3RhcnQpPSJfYW5pbWF0aW9uU3RhcnQoKSJcbiAgICAgKEBzdGF0ZS5kb25lKT0iX2FuaW1hdGlvbkRvbmUoJGV2ZW50KSI+e3ttZXNzYWdlfX08L2Rpdj5cbicsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsYW5pbWF0aW9uczpbUjAudG9vbHRpcFN0YXRlXSxob3N0OnsiW3N0eWxlLnpvb21dIjonX3Zpc2liaWxpdHkgPT09ICJ2aXNpYmxlIiA/IDEgOiBudWxsJywiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sc3R5bGVzOlsiLm1hdC10b29sdGlwLXBhbmVse3BvaW50ZXItZXZlbnRzOm5vbmUgIWltcG9ydGFudH0ubWF0LXRvb2x0aXB7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjRweDttYXJnaW46MTRweDttYXgtd2lkdGg6MjUwcHg7cGFkZGluZy1sZWZ0OjhweDtwYWRkaW5nLXJpZ2h0OjhweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdG9vbHRpcHtvdXRsaW5lOnNvbGlkIDFweH0ubWF0LXRvb2x0aXAtaGFuZHNldHttYXJnaW46MjRweDtwYWRkaW5nLWxlZnQ6MTZweDtwYWRkaW5nLXJpZ2h0OjE2cHh9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOk9ifSx7dHlwZTpkVn1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBqMHt9ZnVuY3Rpb24gVTAodCxlKXtpZigxJnQmJihDZigwLCJtYXQtb3B0aW9uIiwxOSksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0O2JmKCJ2YWx1ZSIsdCksRGMoMSksa3UoIiAiLHQsIiAiKX19ZnVuY3Rpb24gVzAodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJtYXQtZm9ybS1maWVsZCIsMTYpLENmKDEsIm1hdC1zZWxlY3QiLDE3KSxSZigic2VsZWN0aW9uQ2hhbmdlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikuX2NoYW5nZVBhZ2VTaXplKG4udmFsdWUpfSkpLEhtKDIsVTAsMiwyLCJtYXQtb3B0aW9uIiwxOCksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigyKTtiZigiYXBwZWFyYW5jZSIsdC5fZm9ybUZpZWxkQXBwZWFyYW5jZSkoImNvbG9yIix0LmNvbG9yKSxEYygxKSxiZigidmFsdWUiLHQucGFnZVNpemUpKCJkaXNhYmxlZCIsdC5kaXNhYmxlZCkoImFyaWEtbGFiZWwiLHQuX2ludGwuaXRlbXNQZXJQYWdlTGFiZWwpLERjKDEpLGJmKCJuZ0Zvck9mIix0Ll9kaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMpfX1mdW5jdGlvbiBHMCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMjApLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYygxKSx3dSh0LnBhZ2VTaXplKX19ZnVuY3Rpb24gWTAodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDEyKSxDZigxLCJkaXYiLDEzKSxQdSgyKSxNZigpLEhtKDMsVzAsMyw2LCJtYXQtZm9ybS1maWVsZCIsMTQpLEhtKDQsRzAsMiwxLCJkaXYiLDE1KSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygyKSxrdSgiICIsdC5faW50bC5pdGVtc1BlclBhZ2VMYWJlbCwiICIpLERjKDEpLGJmKCJuZ0lmIix0Ll9kaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMubGVuZ3RoPjEpLERjKDEpLGJmKCJuZ0lmIix0Ll9kaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMubGVuZ3RoPD0xKX19ZnVuY3Rpb24gcTAodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDIxKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkuZmlyc3RQYWdlKCl9KSksb2EoKSxDZigxLCJzdmciLDcpLHZmKDIsInBhdGgiLDIyKSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7YmYoIm1hdFRvb2x0aXAiLHQuX2ludGwuZmlyc3RQYWdlTGFiZWwpKCJtYXRUb29sdGlwRGlzYWJsZWQiLHQuX3ByZXZpb3VzQnV0dG9uc0Rpc2FibGVkKCkpKCJtYXRUb29sdGlwUG9zaXRpb24iLCJhYm92ZSIpKCJkaXNhYmxlZCIsdC5fcHJldmlvdXNCdXR0b25zRGlzYWJsZWQoKSkseW0oImFyaWEtbGFiZWwiLHQuX2ludGwuZmlyc3RQYWdlTGFiZWwpfX1mdW5jdGlvbiBaMCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO29hKCksYWEoKSxDZigwLCJidXR0b24iLDIzKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkubGFzdFBhZ2UoKX0pKSxvYSgpLENmKDEsInN2ZyIsNyksdmYoMiwicGF0aCIsMjQpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtiZigibWF0VG9vbHRpcCIsdC5faW50bC5sYXN0UGFnZUxhYmVsKSgibWF0VG9vbHRpcERpc2FibGVkIix0Ll9uZXh0QnV0dG9uc0Rpc2FibGVkKCkpKCJtYXRUb29sdGlwUG9zaXRpb24iLCJhYm92ZSIpKCJkaXNhYmxlZCIsdC5fbmV4dEJ1dHRvbnNEaXNhYmxlZCgpKSx5bSgiYXJpYS1sYWJlbCIsdC5faW50bC5sYXN0UGFnZUxhYmVsKX19ajAuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGowKX0sajAuybVtb2Q9Zm8oe3R5cGU6ajB9KSxqMC7JtWluaj1Ebih7cHJvdmlkZXJzOltOMF0saW1wb3J0czpbW19GLHJ4LG9WLE5GXSxORixvQl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGowLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbX0Yscngsb1YsTkZdLGV4cG9ydHM6W0wwLFYwLE5GLG9CXSxkZWNsYXJhdGlvbnM6W0wwLFYwXSxlbnRyeUNvbXBvbmVudHM6W1YwXSxwcm92aWRlcnM6W04wXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGowLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bTDAsVjBdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW19GLHJ4LG9WLE5GXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltMMCxWMCxORixvQl19fSk7Y2xhc3MgWDB7Y29uc3RydWN0b3IoKXt0aGlzLmNoYW5nZXM9bmV3IEIsdGhpcy5pdGVtc1BlclBhZ2VMYWJlbD0iSXRlbXMgcGVyIHBhZ2U6Iix0aGlzLm5leHRQYWdlTGFiZWw9Ik5leHQgcGFnZSIsdGhpcy5wcmV2aW91c1BhZ2VMYWJlbD0iUHJldmlvdXMgcGFnZSIsdGhpcy5maXJzdFBhZ2VMYWJlbD0iRmlyc3QgcGFnZSIsdGhpcy5sYXN0UGFnZUxhYmVsPSJMYXN0IHBhZ2UiLHRoaXMuZ2V0UmFuZ2VMYWJlbD0odCxlLG4pPT57aWYoMD09bnx8MD09ZSlyZXR1cm5gMCBvZiAke259YDtjb25zdCBvPXQqZTtyZXR1cm5gJHtvKzF9IOKAkyAke288KG49TWF0aC5tYXgobiwwKSk/TWF0aC5taW4obytlLG4pOm8rZX0gb2YgJHtufWB9fX1YMC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WDApfSxYMC7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgWDB9LHRva2VuOlgwLHByb3ZpZGVkSW46InJvb3QifSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYMCxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpO2NvbnN0IEswPXtwcm92aWRlOlgwLGRlcHM6W1tuZXcgQnIsbmV3IGpyLFgwXV0sdXNlRmFjdG9yeTpmdW5jdGlvbiBKMCh0KXtyZXR1cm4gdHx8bmV3IFgwfX0sUTA9bmV3IGVyKCJNQVRfUEFHSU5BVE9SX0RFRkFVTFRfT1BUSU9OUyIpLCQwPXpGKEJGKGNsYXNze30pKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgdDEgZXh0ZW5kcyAkMHtjb25zdHJ1Y3Rvcih0LGUsbil7aWYoc3VwZXIoKSx0aGlzLl9pbnRsPXQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9ZSx0aGlzLl9wYWdlSW5kZXg9MCx0aGlzLl9sZW5ndGg9MCx0aGlzLl9wYWdlU2l6ZU9wdGlvbnM9W10sdGhpcy5faGlkZVBhZ2VTaXplPSExLHRoaXMuX3Nob3dGaXJzdExhc3RCdXR0b25zPSExLHRoaXMucGFnZT1uZXcgU3ksdGhpcy5faW50bENoYW5nZXM9dC5jaGFuZ2VzLnN1YnNjcmliZSgoKCk9PnRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKSksbil7Y29uc3R7cGFnZVNpemU6dCxwYWdlU2l6ZU9wdGlvbnM6ZSxoaWRlUGFnZVNpemU6byxzaG93Rmlyc3RMYXN0QnV0dG9uczppfT1uO251bGwhPXQmJih0aGlzLl9wYWdlU2l6ZT10KSxudWxsIT1lJiYodGhpcy5fcGFnZVNpemVPcHRpb25zPWUpLG51bGwhPW8mJih0aGlzLl9oaWRlUGFnZVNpemU9byksbnVsbCE9aSYmKHRoaXMuX3Nob3dGaXJzdExhc3RCdXR0b25zPWkpfX1nZXQgcGFnZUluZGV4KCl7cmV0dXJuIHRoaXMuX3BhZ2VJbmRleH1zZXQgcGFnZUluZGV4KHQpe3RoaXMuX3BhZ2VJbmRleD1NYXRoLm1heChuSCh0KSwwKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2xlbmd0aH1zZXQgbGVuZ3RoKHQpe3RoaXMuX2xlbmd0aD1uSCh0KSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX1nZXQgcGFnZVNpemUoKXtyZXR1cm4gdGhpcy5fcGFnZVNpemV9c2V0IHBhZ2VTaXplKHQpe3RoaXMuX3BhZ2VTaXplPU1hdGgubWF4KG5IKHQpLDApLHRoaXMuX3VwZGF0ZURpc3BsYXllZFBhZ2VTaXplT3B0aW9ucygpfWdldCBwYWdlU2l6ZU9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fcGFnZVNpemVPcHRpb25zfXNldCBwYWdlU2l6ZU9wdGlvbnModCl7dGhpcy5fcGFnZVNpemVPcHRpb25zPSh0fHxbXSkubWFwKCh0PT5uSCh0KSkpLHRoaXMuX3VwZGF0ZURpc3BsYXllZFBhZ2VTaXplT3B0aW9ucygpfWdldCBoaWRlUGFnZVNpemUoKXtyZXR1cm4gdGhpcy5faGlkZVBhZ2VTaXplfXNldCBoaWRlUGFnZVNpemUodCl7dGhpcy5faGlkZVBhZ2VTaXplPWVIKHQpfWdldCBzaG93Rmlyc3RMYXN0QnV0dG9ucygpe3JldHVybiB0aGlzLl9zaG93Rmlyc3RMYXN0QnV0dG9uc31zZXQgc2hvd0ZpcnN0TGFzdEJ1dHRvbnModCl7dGhpcy5fc2hvd0ZpcnN0TGFzdEJ1dHRvbnM9ZUgodCl9bmdPbkluaXQoKXt0aGlzLl9pbml0aWFsaXplZD0hMCx0aGlzLl91cGRhdGVEaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMoKSx0aGlzLl9tYXJrSW5pdGlhbGl6ZWQoKX1uZ09uRGVzdHJveSgpe3RoaXMuX2ludGxDaGFuZ2VzLnVuc3Vic2NyaWJlKCl9bmV4dFBhZ2UoKXtpZighdGhpcy5oYXNOZXh0UGFnZSgpKXJldHVybjtjb25zdCB0PXRoaXMucGFnZUluZGV4O3RoaXMucGFnZUluZGV4KyssdGhpcy5fZW1pdFBhZ2VFdmVudCh0KX1wcmV2aW91c1BhZ2UoKXtpZighdGhpcy5oYXNQcmV2aW91c1BhZ2UoKSlyZXR1cm47Y29uc3QgdD10aGlzLnBhZ2VJbmRleDt0aGlzLnBhZ2VJbmRleC0tLHRoaXMuX2VtaXRQYWdlRXZlbnQodCl9Zmlyc3RQYWdlKCl7aWYoIXRoaXMuaGFzUHJldmlvdXNQYWdlKCkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5wYWdlSW5kZXg7dGhpcy5wYWdlSW5kZXg9MCx0aGlzLl9lbWl0UGFnZUV2ZW50KHQpfWxhc3RQYWdlKCl7aWYoIXRoaXMuaGFzTmV4dFBhZ2UoKSlyZXR1cm47Y29uc3QgdD10aGlzLnBhZ2VJbmRleDt0aGlzLnBhZ2VJbmRleD10aGlzLmdldE51bWJlck9mUGFnZXMoKS0xLHRoaXMuX2VtaXRQYWdlRXZlbnQodCl9aGFzUHJldmlvdXNQYWdlKCl7cmV0dXJuIHRoaXMucGFnZUluZGV4Pj0xJiYwIT10aGlzLnBhZ2VTaXplfWhhc05leHRQYWdlKCl7Y29uc3QgdD10aGlzLmdldE51bWJlck9mUGFnZXMoKS0xO3JldHVybiB0aGlzLnBhZ2VJbmRleDx0JiYwIT10aGlzLnBhZ2VTaXplfWdldE51bWJlck9mUGFnZXMoKXtyZXR1cm4gdGhpcy5wYWdlU2l6ZT9NYXRoLmNlaWwodGhpcy5sZW5ndGgvdGhpcy5wYWdlU2l6ZSk6MH1fY2hhbmdlUGFnZVNpemUodCl7Y29uc3QgZT10aGlzLnBhZ2VJbmRleDt0aGlzLnBhZ2VJbmRleD1NYXRoLmZsb29yKHRoaXMucGFnZUluZGV4KnRoaXMucGFnZVNpemUvdCl8fDAsdGhpcy5wYWdlU2l6ZT10LHRoaXMuX2VtaXRQYWdlRXZlbnQoZSl9X25leHRCdXR0b25zRGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5kaXNhYmxlZHx8IXRoaXMuaGFzTmV4dFBhZ2UoKX1fcHJldmlvdXNCdXR0b25zRGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5kaXNhYmxlZHx8IXRoaXMuaGFzUHJldmlvdXNQYWdlKCl9X3VwZGF0ZURpc3BsYXllZFBhZ2VTaXplT3B0aW9ucygpe3RoaXMuX2luaXRpYWxpemVkJiYodGhpcy5wYWdlU2l6ZXx8KHRoaXMuX3BhZ2VTaXplPTAhPXRoaXMucGFnZVNpemVPcHRpb25zLmxlbmd0aD90aGlzLnBhZ2VTaXplT3B0aW9uc1swXTo1MCksdGhpcy5fZGlzcGxheWVkUGFnZVNpemVPcHRpb25zPXRoaXMucGFnZVNpemVPcHRpb25zLnNsaWNlKCksLTE9PT10aGlzLl9kaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMuaW5kZXhPZih0aGlzLnBhZ2VTaXplKSYmdGhpcy5fZGlzcGxheWVkUGFnZVNpemVPcHRpb25zLnB1c2godGhpcy5wYWdlU2l6ZSksdGhpcy5fZGlzcGxheWVkUGFnZVNpemVPcHRpb25zLnNvcnQoKCh0LGUpPT50LWUpKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSl9X2VtaXRQYWdlRXZlbnQodCl7dGhpcy5wYWdlLmVtaXQoe3ByZXZpb3VzUGFnZUluZGV4OnQscGFnZUluZGV4OnRoaXMucGFnZUluZGV4LHBhZ2VTaXplOnRoaXMucGFnZVNpemUsbGVuZ3RoOnRoaXMubGVuZ3RofSl9fXQxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0MSkoZ2YoWDApLGdmKE9iKSxnZih2b2lkIDApKX0sdDEuybVkaXI9aG8oe3R5cGU6dDEsaW5wdXRzOntwYWdlSW5kZXg6InBhZ2VJbmRleCIsbGVuZ3RoOiJsZW5ndGgiLHBhZ2VTaXplOiJwYWdlU2l6ZSIscGFnZVNpemVPcHRpb25zOiJwYWdlU2l6ZU9wdGlvbnMiLGhpZGVQYWdlU2l6ZToiaGlkZVBhZ2VTaXplIixzaG93Rmlyc3RMYXN0QnV0dG9uczoic2hvd0ZpcnN0TGFzdEJ1dHRvbnMiLGNvbG9yOiJjb2xvciJ9LG91dHB1dHM6e3BhZ2U6InBhZ2UifSxmZWF0dXJlczpbUXBdfSksdDEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpYMH0se3R5cGU6T2J9LHt0eXBlOnZvaWQgMH1dLHQxLnByb3BEZWNvcmF0b3JzPXtjb2xvcjpbe3R5cGU6Ul99XSxwYWdlSW5kZXg6W3t0eXBlOlJffV0sbGVuZ3RoOlt7dHlwZTpSX31dLHBhZ2VTaXplOlt7dHlwZTpSX31dLHBhZ2VTaXplT3B0aW9uczpbe3R5cGU6Ul99XSxoaWRlUGFnZVNpemU6W3t0eXBlOlJffV0sc2hvd0ZpcnN0TGFzdEJ1dHRvbnM6W3t0eXBlOlJffV0scGFnZTpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih0MSxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6WDB9LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDB9XX0pLHtwYWdlOlt7dHlwZTpFX31dLHBhZ2VJbmRleDpbe3R5cGU6Ul99XSxsZW5ndGg6W3t0eXBlOlJffV0scGFnZVNpemU6W3t0eXBlOlJffV0scGFnZVNpemVPcHRpb25zOlt7dHlwZTpSX31dLGhpZGVQYWdlU2l6ZTpbe3R5cGU6Ul99XSxzaG93Rmlyc3RMYXN0QnV0dG9uczpbe3R5cGU6Ul99XSxjb2xvcjpbe3R5cGU6Ul99XX0pO2NsYXNzIGUxIGV4dGVuZHMgdDF7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSxuKSxuJiZudWxsIT1uLmZvcm1GaWVsZEFwcGVhcmFuY2UmJih0aGlzLl9mb3JtRmllbGRBcHBlYXJhbmNlPW4uZm9ybUZpZWxkQXBwZWFyYW5jZSl9fWUxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxlMSkoZ2YoWDApLGdmKE9iKSxnZihRMCw4KSl9LGUxLsm1Y21wPXNvKHt0eXBlOmUxLHNlbGVjdG9yczpbWyJtYXQtcGFnaW5hdG9yIl1dLGhvc3RBdHRyczpbInJvbGUiLCJncm91cCIsMSwibWF0LXBhZ2luYXRvciJdLGlucHV0czp7ZGlzYWJsZWQ6ImRpc2FibGVkIn0sZXhwb3J0QXM6WyJtYXRQYWdpbmF0b3IiXSxmZWF0dXJlczpbUXBdLGRlY2xzOjE0LHZhcnM6MTQsY29uc3RzOltbMSwibWF0LXBhZ2luYXRvci1vdXRlci1jb250YWluZXIiXSxbMSwibWF0LXBhZ2luYXRvci1jb250YWluZXIiXSxbImNsYXNzIiwibWF0LXBhZ2luYXRvci1wYWdlLXNpemUiLDQsIm5nSWYiXSxbMSwibWF0LXBhZ2luYXRvci1yYW5nZS1hY3Rpb25zIl0sWzEsIm1hdC1wYWdpbmF0b3ItcmFuZ2UtbGFiZWwiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsInR5cGUiLCJidXR0b24iLCJjbGFzcyIsIm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1maXJzdCIsMywibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBQb3NpdGlvbiIsImRpc2FibGVkIiwiY2xpY2siLDQsIm5nSWYiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsInR5cGUiLCJidXR0b24iLDEsIm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1wcmV2aW91cyIsMywibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBQb3NpdGlvbiIsImRpc2FibGVkIiwiY2xpY2siXSxbInZpZXdCb3giLCIwIDAgMjQgMjQiLCJmb2N1c2FibGUiLCJmYWxzZSIsMSwibWF0LXBhZ2luYXRvci1pY29uIl0sWyJkIiwiTTE1LjQxIDcuNDFMMTQgNmwtNiA2IDYgNiAxLjQxLTEuNDFMMTAuODMgMTJ6Il0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJ0eXBlIiwiYnV0dG9uIiwxLCJtYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbmV4dCIsMywibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBQb3NpdGlvbiIsImRpc2FibGVkIiwiY2xpY2siXSxbImQiLCJNMTAgNkw4LjU5IDcuNDEgMTMuMTcgMTJsLTQuNTggNC41OUwxMCAxOGw2LTZ6Il0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJ0eXBlIiwiYnV0dG9uIiwiY2xhc3MiLCJtYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbGFzdCIsMywibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBQb3NpdGlvbiIsImRpc2FibGVkIiwiY2xpY2siLDQsIm5nSWYiXSxbMSwibWF0LXBhZ2luYXRvci1wYWdlLXNpemUiXSxbMSwibWF0LXBhZ2luYXRvci1wYWdlLXNpemUtbGFiZWwiXSxbImNsYXNzIiwibWF0LXBhZ2luYXRvci1wYWdlLXNpemUtc2VsZWN0IiwzLCJhcHBlYXJhbmNlIiwiY29sb3IiLDQsIm5nSWYiXSxbImNsYXNzIiwibWF0LXBhZ2luYXRvci1wYWdlLXNpemUtdmFsdWUiLDQsIm5nSWYiXSxbMSwibWF0LXBhZ2luYXRvci1wYWdlLXNpemUtc2VsZWN0IiwzLCJhcHBlYXJhbmNlIiwiY29sb3IiXSxbMywidmFsdWUiLCJkaXNhYmxlZCIsImFyaWEtbGFiZWwiLCJzZWxlY3Rpb25DaGFuZ2UiXSxbMywidmFsdWUiLDQsIm5nRm9yIiwibmdGb3JPZiJdLFszLCJ2YWx1ZSJdLFsxLCJtYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZS12YWx1ZSJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwidHlwZSIsImJ1dHRvbiIsMSwibWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLWZpcnN0IiwzLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFBvc2l0aW9uIiwiZGlzYWJsZWQiLCJjbGljayJdLFsiZCIsIk0xOC40MSAxNi41OUwxMy44MiAxMmw0LjU5LTQuNTlMMTcgNmwtNiA2IDYgNnpNNiA2aDJ2MTJINnoiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsInR5cGUiLCJidXR0b24iLDEsIm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1sYXN0IiwzLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFBvc2l0aW9uIiwiZGlzYWJsZWQiLCJjbGljayJdLFsiZCIsIk01LjU5IDcuNDFMMTAuMTggMTJsLTQuNTkgNC41OUw3IDE4bDYtNi02LTZ6TTE2IDZoMnYxMmgtMnoiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwiZGl2IiwxKSxIbSgyLFkwLDUsMywiZGl2IiwyKSxDZigzLCJkaXYiLDMpLENmKDQsImRpdiIsNCksUHUoNSksTWYoKSxIbSg2LHEwLDMsNSwiYnV0dG9uIiw1KSxDZig3LCJidXR0b24iLDYpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5wcmV2aW91c1BhZ2UoKX0pKSxvYSgpLENmKDgsInN2ZyIsNyksdmYoOSwicGF0aCIsOCksTWYoKSxNZigpLGFhKCksQ2YoMTAsImJ1dHRvbiIsOSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm5leHRQYWdlKCl9KSksb2EoKSxDZigxMSwic3ZnIiw3KSx2ZigxMiwicGF0aCIsMTApLE1mKCksTWYoKSxIbSgxMyxaMCwzLDUsImJ1dHRvbiIsMTEpLE1mKCksTWYoKSxNZigpKSwyJmUmJihEYygyKSxiZigibmdJZiIsIW4uaGlkZVBhZ2VTaXplKSxEYygzKSxrdSgiICIsbi5faW50bC5nZXRSYW5nZUxhYmVsKG4ucGFnZUluZGV4LG4ucGFnZVNpemUsbi5sZW5ndGgpLCIgIiksRGMoMSksYmYoIm5nSWYiLG4uc2hvd0ZpcnN0TGFzdEJ1dHRvbnMpLERjKDEpLGJmKCJtYXRUb29sdGlwIixuLl9pbnRsLnByZXZpb3VzUGFnZUxhYmVsKSgibWF0VG9vbHRpcERpc2FibGVkIixuLl9wcmV2aW91c0J1dHRvbnNEaXNhYmxlZCgpKSgibWF0VG9vbHRpcFBvc2l0aW9uIiwiYWJvdmUiKSgiZGlzYWJsZWQiLG4uX3ByZXZpb3VzQnV0dG9uc0Rpc2FibGVkKCkpLHltKCJhcmlhLWxhYmVsIixuLl9pbnRsLnByZXZpb3VzUGFnZUxhYmVsKSxEYygzKSxiZigibWF0VG9vbHRpcCIsbi5faW50bC5uZXh0UGFnZUxhYmVsKSgibWF0VG9vbHRpcERpc2FibGVkIixuLl9uZXh0QnV0dG9uc0Rpc2FibGVkKCkpKCJtYXRUb29sdGlwUG9zaXRpb24iLCJhYm92ZSIpKCJkaXNhYmxlZCIsbi5fbmV4dEJ1dHRvbnNEaXNhYmxlZCgpKSx5bSgiYXJpYS1sYWJlbCIsbi5faW50bC5uZXh0UGFnZUxhYmVsKSxEYygzKSxiZigibmdJZiIsbi5zaG93Rmlyc3RMYXN0QnV0dG9ucykpfSxkaXJlY3RpdmVzOltQdixOTCxMMCxfVSxPWSx4dixQTF0sc3R5bGVzOlsiLm1hdC1wYWdpbmF0b3J7ZGlzcGxheTpibG9ja30ubWF0LXBhZ2luYXRvci1vdXRlci1jb250YWluZXJ7ZGlzcGxheTpmbGV4fS5tYXQtcGFnaW5hdG9yLWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwYWRkaW5nOjAgOHB4O2ZsZXgtd3JhcDp3cmFwLXJldmVyc2U7d2lkdGg6MTAwJX0ubWF0LXBhZ2luYXRvci1wYWdlLXNpemV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmJhc2VsaW5lO21hcmdpbi1yaWdodDo4cHh9W2Rpcj1ydGxdIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZXttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDo4cHh9Lm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplLWxhYmVse21hcmdpbjowIDRweH0ubWF0LXBhZ2luYXRvci1wYWdlLXNpemUtc2VsZWN0e21hcmdpbjo2cHggNHB4IDAgNHB4O3dpZHRoOjU2cHh9Lm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmV7d2lkdGg6NjRweH0ubWF0LXBhZ2luYXRvci1wYWdlLXNpemUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbHt3aWR0aDo2NHB4fS5tYXQtcGFnaW5hdG9yLXJhbmdlLWxhYmVse21hcmdpbjowIDMycHggMCAyNHB4fS5tYXQtcGFnaW5hdG9yLXJhbmdlLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0ubWF0LXBhZ2luYXRvci1pY29ue3dpZHRoOjI4cHg7ZmlsbDpjdXJyZW50Q29sb3J9W2Rpcj1ydGxdIC5tYXQtcGFnaW5hdG9yLWljb257dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1wYWdpbmF0b3ItaWNvbntmaWxsOkNhbnZhc1RleHR9XG4iXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSxlMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlgwfSx7dHlwZTpPYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltRMF19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZTEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXBhZ2luYXRvciIsZXhwb3J0QXM6Im1hdFBhZ2luYXRvciIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9Im1hdC1wYWdpbmF0b3Itb3V0ZXItY29udGFpbmVyIj5cbiAgPGRpdiBjbGFzcz0ibWF0LXBhZ2luYXRvci1jb250YWluZXIiPlxuICAgIDxkaXYgY2xhc3M9Im1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIiAqbmdJZj0iIWhpZGVQYWdlU2l6ZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZS1sYWJlbCI+XG4gICAgICAgIHt7X2ludGwuaXRlbXNQZXJQYWdlTGFiZWx9fVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgICAqbmdJZj0iX2Rpc3BsYXllZFBhZ2VTaXplT3B0aW9ucy5sZW5ndGggPiAxIlxuICAgICAgICBbYXBwZWFyYW5jZV09Il9mb3JtRmllbGRBcHBlYXJhbmNlISJcbiAgICAgICAgW2NvbG9yXT0iY29sb3IiXG4gICAgICAgIGNsYXNzPSJtYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZS1zZWxlY3QiPlxuICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgIFt2YWx1ZV09InBhZ2VTaXplIlxuICAgICAgICAgIFtkaXNhYmxlZF09ImRpc2FibGVkIlxuICAgICAgICAgIFthcmlhLWxhYmVsXT0iX2ludGwuaXRlbXNQZXJQYWdlTGFiZWwiXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9Il9jaGFuZ2VQYWdlU2l6ZSgkZXZlbnQudmFsdWUpIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBwYWdlU2l6ZU9wdGlvbiBvZiBfZGlzcGxheWVkUGFnZVNpemVPcHRpb25zIiBbdmFsdWVdPSJwYWdlU2l6ZU9wdGlvbiI+XG4gICAgICAgICAgICB7e3BhZ2VTaXplT3B0aW9ufX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9Im1hdC1wYWdpbmF0b3ItcGFnZS1zaXplLXZhbHVlIlxuICAgICAgICAqbmdJZj0iX2Rpc3BsYXllZFBhZ2VTaXplT3B0aW9ucy5sZW5ndGggPD0gMSI+e3twYWdlU2l6ZX19PC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPSJtYXQtcGFnaW5hdG9yLXJhbmdlLWFjdGlvbnMiPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXBhZ2luYXRvci1yYW5nZS1sYWJlbCI+XG4gICAgICAgIHt7X2ludGwuZ2V0UmFuZ2VMYWJlbChwYWdlSW5kZXgsIHBhZ2VTaXplLCBsZW5ndGgpfX1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIGNsYXNzPSJtYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tZmlyc3QiXG4gICAgICAgICAgICAgIChjbGljayk9ImZpcnN0UGFnZSgpIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT0iX2ludGwuZmlyc3RQYWdlTGFiZWwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iX2ludGwuZmlyc3RQYWdlTGFiZWwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPSJfcHJldmlvdXNCdXR0b25zRGlzYWJsZWQoKSJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09IlwnYWJvdmVcJyJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iX3ByZXZpb3VzQnV0dG9uc0Rpc2FibGVkKCkiXG4gICAgICAgICAgICAgICpuZ0lmPSJzaG93Rmlyc3RMYXN0QnV0dG9ucyI+XG4gICAgICAgIDxzdmcgY2xhc3M9Im1hdC1wYWdpbmF0b3ItaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmb2N1c2FibGU9ImZhbHNlIj5cbiAgICAgICAgICA8cGF0aCBkPSJNMTguNDEgMTYuNTlMMTMuODIgMTJsNC41OS00LjU5TDE3IDZsLTYgNiA2IDZ6TTYgNmgydjEySDZ6Ii8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIGNsYXNzPSJtYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tcHJldmlvdXMiXG4gICAgICAgICAgICAgIChjbGljayk9InByZXZpb3VzUGFnZSgpIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT0iX2ludGwucHJldmlvdXNQYWdlTGFiZWwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iX2ludGwucHJldmlvdXNQYWdlTGFiZWwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPSJfcHJldmlvdXNCdXR0b25zRGlzYWJsZWQoKSJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09IlwnYWJvdmVcJyJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iX3ByZXZpb3VzQnV0dG9uc0Rpc2FibGVkKCkiPlxuICAgICAgICA8c3ZnIGNsYXNzPSJtYXQtcGFnaW5hdG9yLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZm9jdXNhYmxlPSJmYWxzZSI+XG4gICAgICAgICAgPHBhdGggZD0iTTE1LjQxIDcuNDFMMTQgNmwtNiA2IDYgNiAxLjQxLTEuNDFMMTAuODMgMTJ6Ii8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIGNsYXNzPSJtYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbmV4dCJcbiAgICAgICAgICAgICAgKGNsaWNrKT0ibmV4dFBhZ2UoKSJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09Il9pbnRsLm5leHRQYWdlTGFiZWwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iX2ludGwubmV4dFBhZ2VMYWJlbCJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBEaXNhYmxlZF09Il9uZXh0QnV0dG9uc0Rpc2FibGVkKCkiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwUG9zaXRpb25dPSJcJ2Fib3ZlXCciXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09Il9uZXh0QnV0dG9uc0Rpc2FibGVkKCkiPlxuICAgICAgICA8c3ZnIGNsYXNzPSJtYXQtcGFnaW5hdG9yLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZm9jdXNhYmxlPSJmYWxzZSI+XG4gICAgICAgICAgPHBhdGggZD0iTTEwIDZMOC41OSA3LjQxIDEzLjE3IDEybC00LjU4IDQuNTlMMTAgMThsNi02eiIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICBjbGFzcz0ibWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLWxhc3QiXG4gICAgICAgICAgICAgIChjbGljayk9Imxhc3RQYWdlKCkiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPSJfaW50bC5sYXN0UGFnZUxhYmVsIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09Il9pbnRsLmxhc3RQYWdlTGFiZWwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPSJfbmV4dEJ1dHRvbnNEaXNhYmxlZCgpIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT0iXCdhYm92ZVwnIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJfbmV4dEJ1dHRvbnNEaXNhYmxlZCgpIlxuICAgICAgICAgICAgICAqbmdJZj0ic2hvd0ZpcnN0TGFzdEJ1dHRvbnMiPlxuICAgICAgICA8c3ZnIGNsYXNzPSJtYXQtcGFnaW5hdG9yLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZm9jdXNhYmxlPSJmYWxzZSI+XG4gICAgICAgICAgPHBhdGggZD0iTTUuNTkgNy40MUwxMC4xOCAxMmwtNC41OSA0LjU5TDcgMThsNi02LTYtNnpNMTYgNmgydjEyaC0yeiIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxpbnB1dHM6WyJkaXNhYmxlZCJdLGhvc3Q6e2NsYXNzOiJtYXQtcGFnaW5hdG9yIixyb2xlOiJncm91cCJ9LGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLHN0eWxlczpbIi5tYXQtcGFnaW5hdG9ye2Rpc3BsYXk6YmxvY2t9Lm1hdC1wYWdpbmF0b3Itb3V0ZXItY29udGFpbmVye2Rpc3BsYXk6ZmxleH0ubWF0LXBhZ2luYXRvci1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cGFkZGluZzowIDhweDtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlO3dpZHRoOjEwMCV9Lm1hdC1wYWdpbmF0b3ItcGFnZS1zaXple2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpiYXNlbGluZTttYXJnaW4tcmlnaHQ6OHB4fVtkaXI9cnRsXSAubWF0LXBhZ2luYXRvci1wYWdlLXNpemV7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6OHB4fS5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZS1sYWJlbHttYXJnaW46MCA0cHh9Lm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplLXNlbGVjdHttYXJnaW46NnB4IDRweCAwIDRweDt3aWR0aDo1NnB4fS5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZS1zZWxlY3QubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5le3dpZHRoOjY0cHh9Lm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGx7d2lkdGg6NjRweH0ubWF0LXBhZ2luYXRvci1yYW5nZS1sYWJlbHttYXJnaW46MCAzMnB4IDAgMjRweH0ubWF0LXBhZ2luYXRvci1yYW5nZS1hY3Rpb25ze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9Lm1hdC1wYWdpbmF0b3ItaWNvbnt3aWR0aDoyOHB4O2ZpbGw6Y3VycmVudENvbG9yfVtkaXI9cnRsXSAubWF0LXBhZ2luYXRvci1pY29ue3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtcGFnaW5hdG9yLWljb257ZmlsbDpDYW52YXNUZXh0fVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpYMH0se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbUTBdfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgbjF7fW4xLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxuMSl9LG4xLsm1bW9kPWZvKHt0eXBlOm4xfSksbjEuybVpbmo9RG4oe3Byb3ZpZGVyczpbSzBdLGltcG9ydHM6W1tyeCxJTCxQWSxqMCxORl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihuMSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W3J4LElMLFBZLGowLE5GXSxleHBvcnRzOltlMV0sZGVjbGFyYXRpb25zOltlMV0scHJvdmlkZXJzOltLMF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhuMSx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW2UxXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltyeCxJTCxQWSxqMCxORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bZTFdfX0pO2Z1bmN0aW9uIG8xKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwzKSxSZigiQGFycm93UG9zaXRpb24uc3RhcnQiLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkuX2Rpc2FibGVWaWV3U3RhdGVBbmltYXRpb249ITB9KSkoIkBhcnJvd1Bvc2l0aW9uLmRvbmUiLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkuX2Rpc2FibGVWaWV3U3RhdGVBbmltYXRpb249ITF9KSksdmYoMSwiZGl2Iiw0KSxDZigyLCJkaXYiLDUpLHZmKDMsImRpdiIsNiksdmYoNCwiZGl2Iiw3KSx2Zig1LCJkaXYiLDgpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtiZigiQGFycm93T3BhY2l0eSIsdC5fZ2V0QXJyb3dWaWV3U3RhdGUoKSkoIkBhcnJvd1Bvc2l0aW9uIix0Ll9nZXRBcnJvd1ZpZXdTdGF0ZSgpKSgiQGFsbG93Q2hpbGRyZW4iLHQuX2dldEFycm93RGlyZWN0aW9uU3RhdGUoKSksRGMoMiksYmYoIkBpbmRpY2F0b3IiLHQuX2dldEFycm93RGlyZWN0aW9uU3RhdGUoKSksRGMoMSksYmYoIkBsZWZ0UG9pbnRlciIsdC5fZ2V0QXJyb3dEaXJlY3Rpb25TdGF0ZSgpKSxEYygxKSxiZigiQHJpZ2h0UG9pbnRlciIsdC5fZ2V0QXJyb3dEaXJlY3Rpb25TdGF0ZSgpKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBpMT1uZXcgZXIoIk1BVF9TT1JUX0RFRkFVTFRfT1BUSU9OUyIpLGExPUJGKHpGKGNsYXNze30pKTtjbGFzcyByMSBleHRlbmRzIGExe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5fZGVmYXVsdE9wdGlvbnM9dCx0aGlzLnNvcnRhYmxlcz1uZXcgTWFwLHRoaXMuX3N0YXRlQ2hhbmdlcz1uZXcgQix0aGlzLnN0YXJ0PSJhc2MiLHRoaXMuX2RpcmVjdGlvbj0iIix0aGlzLnNvcnRDaGFuZ2U9bmV3IFN5fWdldCBkaXJlY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGlyZWN0aW9ufXNldCBkaXJlY3Rpb24odCl7aWYodCYmImFzYyIhPT10JiYiZGVzYyIhPT10JiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3coZnVuY3Rpb24gZSh0KXtyZXR1cm4gRXJyb3IoYCR7dH0gaXMgbm90IGEgdmFsaWQgc29ydCBkaXJlY3Rpb24gKCdhc2MnIG9yICdkZXNjJykuYCl9KSh0KTt0aGlzLl9kaXJlY3Rpb249dH1nZXQgZGlzYWJsZUNsZWFyKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVDbGVhcn1zZXQgZGlzYWJsZUNsZWFyKHQpe3RoaXMuX2Rpc2FibGVDbGVhcj1lSCh0KX1yZWdpc3Rlcih0KXtpZigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKXtpZighdC5pZCl0aHJvdyhmdW5jdGlvbiBlKCl7cmV0dXJuIEVycm9yKCJNYXRTb3J0SGVhZGVyIG11c3QgYmUgcHJvdmlkZWQgd2l0aCBhIHVuaXF1ZSBpZC4iKX0pKCk7aWYodGhpcy5zb3J0YWJsZXMuaGFzKHQuaWQpKXRocm93KGZ1bmN0aW9uIG4odCl7cmV0dXJuIEVycm9yKGBDYW5ub3QgaGF2ZSB0d28gTWF0U29ydGFibGVzIHdpdGggdGhlIHNhbWUgaWQgKCR7dH0pLmApfSkodC5pZCl9dGhpcy5zb3J0YWJsZXMuc2V0KHQuaWQsdCl9ZGVyZWdpc3Rlcih0KXt0aGlzLnNvcnRhYmxlcy5kZWxldGUodC5pZCl9c29ydCh0KXt0aGlzLmFjdGl2ZSE9dC5pZD8odGhpcy5hY3RpdmU9dC5pZCx0aGlzLmRpcmVjdGlvbj10LnN0YXJ0P3Quc3RhcnQ6dGhpcy5zdGFydCk6dGhpcy5kaXJlY3Rpb249dGhpcy5nZXROZXh0U29ydERpcmVjdGlvbih0KSx0aGlzLnNvcnRDaGFuZ2UuZW1pdCh7YWN0aXZlOnRoaXMuYWN0aXZlLGRpcmVjdGlvbjp0aGlzLmRpcmVjdGlvbn0pfWdldE5leHRTb3J0RGlyZWN0aW9uKHQpe3ZhciBlLG4sbztpZighdClyZXR1cm4iIjtjb25zdCBpPW51bGwhPT0obj1udWxsIT09KGU9bnVsbD09dD92b2lkIDA6dC5kaXNhYmxlQ2xlYXIpJiZ2b2lkIDAhPT1lP2U6dGhpcy5kaXNhYmxlQ2xlYXIpJiZ2b2lkIDAhPT1uP246ISEobnVsbD09PShvPXRoaXMuX2RlZmF1bHRPcHRpb25zKXx8dm9pZCAwPT09bz92b2lkIDA6by5kaXNhYmxlQ2xlYXIpO2xldCBhPShmdW5jdGlvbiByKHQsZSl7bGV0IG49WyJhc2MiLCJkZXNjIl07ImRlc2MiPT10JiZuLnJldmVyc2UoKTtlfHxuLnB1c2goIiIpO3JldHVybiBufQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKHQuc3RhcnR8fHRoaXMuc3RhcnQsaSkscz1hLmluZGV4T2YodGhpcy5kaXJlY3Rpb24pKzE7cmV0dXJuIHM+PWEubGVuZ3RoJiYocz0wKSxhW3NdfW5nT25Jbml0KCl7dGhpcy5fbWFya0luaXRpYWxpemVkKCl9bmdPbkNoYW5nZXMoKXt0aGlzLl9zdGF0ZUNoYW5nZXMubmV4dCgpfW5nT25EZXN0cm95KCl7dGhpcy5fc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCl9fXIxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxyMSkoZ2YoaTEsOCkpfSxyMS7JtWRpcj1obyh7dHlwZTpyMSxzZWxlY3RvcnM6W1siIiwibWF0U29ydCIsIiJdXSxob3N0QXR0cnM6WzEsIm1hdC1zb3J0Il0saW5wdXRzOntkaXNhYmxlZDpbIm1hdFNvcnREaXNhYmxlZCIsImRpc2FibGVkIl0sc3RhcnQ6WyJtYXRTb3J0U3RhcnQiLCJzdGFydCJdLGRpcmVjdGlvbjpbIm1hdFNvcnREaXJlY3Rpb24iLCJkaXJlY3Rpb24iXSxkaXNhYmxlQ2xlYXI6WyJtYXRTb3J0RGlzYWJsZUNsZWFyIiwiZGlzYWJsZUNsZWFyIl0sYWN0aXZlOlsibWF0U29ydEFjdGl2ZSIsImFjdGl2ZSJdfSxvdXRwdXRzOntzb3J0Q2hhbmdlOiJtYXRTb3J0Q2hhbmdlIn0sZXhwb3J0QXM6WyJtYXRTb3J0Il0sZmVhdHVyZXM6W1FwLHFvXX0pLHIxLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltpMV19XX1dLHIxLnByb3BEZWNvcmF0b3JzPXthY3RpdmU6W3t0eXBlOlJfLGFyZ3M6WyJtYXRTb3J0QWN0aXZlIl19XSxzdGFydDpbe3R5cGU6Ul8sYXJnczpbIm1hdFNvcnRTdGFydCJdfV0sZGlyZWN0aW9uOlt7dHlwZTpSXyxhcmdzOlsibWF0U29ydERpcmVjdGlvbiJdfV0sZGlzYWJsZUNsZWFyOlt7dHlwZTpSXyxhcmdzOlsibWF0U29ydERpc2FibGVDbGVhciJdfV0sc29ydENoYW5nZTpbe3R5cGU6RV8sYXJnczpbIm1hdFNvcnRDaGFuZ2UiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHIxLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXRTb3J0XSIsZXhwb3J0QXM6Im1hdFNvcnQiLGhvc3Q6e2NsYXNzOiJtYXQtc29ydCJ9LGlucHV0czpbImRpc2FibGVkOiBtYXRTb3J0RGlzYWJsZWQiXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbaTFdfV19XX0pLHtzdGFydDpbe3R5cGU6Ul8sYXJnczpbIm1hdFNvcnRTdGFydCJdfV0sc29ydENoYW5nZTpbe3R5cGU6RV8sYXJnczpbIm1hdFNvcnRDaGFuZ2UiXX1dLGRpcmVjdGlvbjpbe3R5cGU6Ul8sYXJnczpbIm1hdFNvcnREaXJlY3Rpb24iXX1dLGRpc2FibGVDbGVhcjpbe3R5cGU6Ul8sYXJnczpbIm1hdFNvcnREaXNhYmxlQ2xlYXIiXX1dLGFjdGl2ZTpbe3R5cGU6Ul8sYXJnczpbIm1hdFNvcnRBY3RpdmUiXX1dfSk7Y29uc3QgczE9UkYuRU5URVJJTkcrIiAiK0RGLlNUQU5EQVJEX0NVUlZFLGwxPXtpbmRpY2F0b3I6eE8oImluZGljYXRvciIsW2tPKCJhY3RpdmUtYXNjLCBhc2MiLHdPKHt0cmFuc2Zvcm06InRyYW5zbGF0ZVkoMHB4KSJ9KSksa08oImFjdGl2ZS1kZXNjLCBkZXNjIix3Tyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGVZKDEwcHgpIn0pKSxETygiYWN0aXZlLWFzYyA8PT4gYWN0aXZlLWRlc2MiLE9PKHMxKSldKSxsZWZ0UG9pbnRlcjp4TygibGVmdFBvaW50ZXIiLFtrTygiYWN0aXZlLWFzYywgYXNjIix3Tyh7dHJhbnNmb3JtOiJyb3RhdGUoLTQ1ZGVnKSJ9KSksa08oImFjdGl2ZS1kZXNjLCBkZXNjIix3Tyh7dHJhbnNmb3JtOiJyb3RhdGUoNDVkZWcpIn0pKSxETygiYWN0aXZlLWFzYyA8PT4gYWN0aXZlLWRlc2MiLE9PKHMxKSldKSxyaWdodFBvaW50ZXI6eE8oInJpZ2h0UG9pbnRlciIsW2tPKCJhY3RpdmUtYXNjLCBhc2MiLHdPKHt0cmFuc2Zvcm06InJvdGF0ZSg0NWRlZykifSkpLGtPKCJhY3RpdmUtZGVzYywgZGVzYyIsd08oe3RyYW5zZm9ybToicm90YXRlKC00NWRlZykifSkpLERPKCJhY3RpdmUtYXNjIDw9PiBhY3RpdmUtZGVzYyIsT08oczEpKV0pLGFycm93T3BhY2l0eTp4TygiYXJyb3dPcGFjaXR5Iixba08oImRlc2MtdG8tYWN0aXZlLCBhc2MtdG8tYWN0aXZlLCBhY3RpdmUiLHdPKHtvcGFjaXR5OjF9KSksa08oImRlc2MtdG8taGludCwgYXNjLXRvLWhpbnQsIGhpbnQiLHdPKHtvcGFjaXR5Oi41NH0pKSxrTygiaGludC10by1kZXNjLCBhY3RpdmUtdG8tZGVzYywgZGVzYywgaGludC10by1hc2MsIGFjdGl2ZS10by1hc2MsIGFzYywgdm9pZCIsd08oe29wYWNpdHk6MH0pKSxETygiKiA9PiBhc2MsICogPT4gZGVzYywgKiA9PiBhY3RpdmUsICogPT4gaGludCwgKiA9PiB2b2lkIixPTygiMG1zIikpLERPKCIqIDw9PiAqIixPTyhzMSkpXSksYXJyb3dQb3NpdGlvbjp4TygiYXJyb3dQb3NpdGlvbiIsW0RPKCIqID0+IGRlc2MtdG8taGludCwgKiA9PiBkZXNjLXRvLWFjdGl2ZSIsT08oczEsU08oW3dPKHt0cmFuc2Zvcm06InRyYW5zbGF0ZVkoLTI1JSkifSksd08oe3RyYW5zZm9ybToidHJhbnNsYXRlWSgwKSJ9KV0pKSksRE8oIiogPT4gaGludC10by1kZXNjLCAqID0+IGFjdGl2ZS10by1kZXNjIixPTyhzMSxTTyhbd08oe3RyYW5zZm9ybToidHJhbnNsYXRlWSgwKSJ9KSx3Tyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGVZKDI1JSkifSldKSkpLERPKCIqID0+IGFzYy10by1oaW50LCAqID0+IGFzYy10by1hY3RpdmUiLE9PKHMxLFNPKFt3Tyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGVZKDI1JSkifSksd08oe3RyYW5zZm9ybToidHJhbnNsYXRlWSgwKSJ9KV0pKSksRE8oIiogPT4gaGludC10by1hc2MsICogPT4gYWN0aXZlLXRvLWFzYyIsT08oczEsU08oW3dPKHt0cmFuc2Zvcm06InRyYW5zbGF0ZVkoMCkifSksd08oe3RyYW5zZm9ybToidHJhbnNsYXRlWSgtMjUlKSJ9KV0pKSksa08oImRlc2MtdG8taGludCwgYXNjLXRvLWhpbnQsIGhpbnQsIGRlc2MtdG8tYWN0aXZlLCBhc2MtdG8tYWN0aXZlLCBhY3RpdmUiLHdPKHt0cmFuc2Zvcm06InRyYW5zbGF0ZVkoMCkifSkpLGtPKCJoaW50LXRvLWRlc2MsIGFjdGl2ZS10by1kZXNjLCBkZXNjIix3Tyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGVZKC0yNSUpIn0pKSxrTygiaGludC10by1hc2MsIGFjdGl2ZS10by1hc2MsIGFzYyIsd08oe3RyYW5zZm9ybToidHJhbnNsYXRlWSgyNSUpIn0pKV0pLGFsbG93Q2hpbGRyZW46eE8oImFsbG93Q2hpbGRyZW4iLFtETygiKiA8PT4gKiIsW0VPKCJAKiIsUk8oKSx7b3B0aW9uYWw6ITB9KV0pXSl9OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgYzF7Y29uc3RydWN0b3IoKXt0aGlzLmNoYW5nZXM9bmV3IEJ9fWMxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxjMSl9LGMxLsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyBjMX0sdG9rZW46YzEscHJvdmlkZWRJbjoicm9vdCJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGMxLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVybltdfSksbnVsbCk7Y29uc3QgZDE9e3Byb3ZpZGU6YzEsZGVwczpbW25ldyBCcixuZXcganIsYzFdXSx1c2VGYWN0b3J5OmZ1bmN0aW9uIHAxKHQpe3JldHVybiB0fHxuZXcgYzF9fSxtMT16RihjbGFzc3t9KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgZjEgZXh0ZW5kcyBtMXtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7aWYoc3VwZXIoKSx0aGlzLl9pbnRsPXQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9ZSx0aGlzLl9zb3J0PW4sdGhpcy5fY29sdW1uRGVmPW8sdGhpcy5fZm9jdXNNb25pdG9yPWksdGhpcy5fZWxlbWVudFJlZj1hLHRoaXMuX3Nob3dJbmRpY2F0b3JIaW50PSExLHRoaXMuX3ZpZXdTdGF0ZT17fSx0aGlzLl9hcnJvd0RpcmVjdGlvbj0iIix0aGlzLl9kaXNhYmxlVmlld1N0YXRlQW5pbWF0aW9uPSExLHRoaXMuYXJyb3dQb3NpdGlvbj0iYWZ0ZXIiLCFuJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3coZnVuY3Rpb24gcigpe3JldHVybiBFcnJvcigiTWF0U29ydEhlYWRlciBtdXN0IGJlIHBsYWNlZCB3aXRoaW4gYSBwYXJlbnQgZWxlbWVudCB3aXRoIHRoZSBNYXRTb3J0IGRpcmVjdGl2ZS4iKX0pKCk7dGhpcy5faGFuZGxlU3RhdGVDaGFuZ2VzKCl9Z2V0IGRpc2FibGVDbGVhcigpe3JldHVybiB0aGlzLl9kaXNhYmxlQ2xlYXJ9c2V0IGRpc2FibGVDbGVhcih0KXt0aGlzLl9kaXNhYmxlQ2xlYXI9ZUgodCl9bmdPbkluaXQoKXshdGhpcy5pZCYmdGhpcy5fY29sdW1uRGVmJiYodGhpcy5pZD10aGlzLl9jb2x1bW5EZWYubmFtZSksdGhpcy5fdXBkYXRlQXJyb3dEaXJlY3Rpb24oKSx0aGlzLl9zZXRBbmltYXRpb25UcmFuc2l0aW9uU3RhdGUoe3RvU3RhdGU6dGhpcy5faXNTb3J0ZWQoKT8iYWN0aXZlIjp0aGlzLl9hcnJvd0RpcmVjdGlvbn0pLHRoaXMuX3NvcnQucmVnaXN0ZXIodGhpcyl9bmdBZnRlclZpZXdJbml0KCl7dGhpcy5fZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5fZWxlbWVudFJlZiwhMCkuc3Vic2NyaWJlKCh0PT57Y29uc3QgZT0hIXQ7ZSE9PXRoaXMuX3Nob3dJbmRpY2F0b3JIaW50JiYodGhpcy5fc2V0SW5kaWNhdG9ySGludFZpc2libGUoZSksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5fZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYpLHRoaXMuX3NvcnQuZGVyZWdpc3Rlcih0aGlzKSx0aGlzLl9yZXJlbmRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfV9zZXRJbmRpY2F0b3JIaW50VmlzaWJsZSh0KXt0aGlzLl9pc0Rpc2FibGVkKCkmJnR8fCh0aGlzLl9zaG93SW5kaWNhdG9ySGludD10LHRoaXMuX2lzU29ydGVkKCl8fCh0aGlzLl91cGRhdGVBcnJvd0RpcmVjdGlvbigpLHRoaXMuX3NldEFuaW1hdGlvblRyYW5zaXRpb25TdGF0ZSh0aGlzLl9zaG93SW5kaWNhdG9ySGludD97ZnJvbVN0YXRlOnRoaXMuX2Fycm93RGlyZWN0aW9uLHRvU3RhdGU6ImhpbnQifTp7ZnJvbVN0YXRlOiJoaW50Iix0b1N0YXRlOnRoaXMuX2Fycm93RGlyZWN0aW9ufSkpKX1fc2V0QW5pbWF0aW9uVHJhbnNpdGlvblN0YXRlKHQpe3RoaXMuX3ZpZXdTdGF0ZT10fHx7fSx0aGlzLl9kaXNhYmxlVmlld1N0YXRlQW5pbWF0aW9uJiYodGhpcy5fdmlld1N0YXRlPXt0b1N0YXRlOnQudG9TdGF0ZX0pfV90b2dnbGVPbkludGVyYWN0aW9uKCl7dGhpcy5fc29ydC5zb3J0KHRoaXMpLCJoaW50IiE9PXRoaXMuX3ZpZXdTdGF0ZS50b1N0YXRlJiYiYWN0aXZlIiE9PXRoaXMuX3ZpZXdTdGF0ZS50b1N0YXRlfHwodGhpcy5fZGlzYWJsZVZpZXdTdGF0ZUFuaW1hdGlvbj0hMCl9X2hhbmRsZUNsaWNrKCl7dGhpcy5faXNEaXNhYmxlZCgpfHx0aGlzLl9zb3J0LnNvcnQodGhpcyl9X2hhbmRsZUtleWRvd24odCl7dGhpcy5faXNEaXNhYmxlZCgpfHx0LmtleUNvZGUhPT1KSSYmdC5rZXlDb2RlIT09WEl8fCh0LnByZXZlbnREZWZhdWx0KCksdGhpcy5fdG9nZ2xlT25JbnRlcmFjdGlvbigpKX1faXNTb3J0ZWQoKXtyZXR1cm4gdGhpcy5fc29ydC5hY3RpdmU9PXRoaXMuaWQmJigiYXNjIj09PXRoaXMuX3NvcnQuZGlyZWN0aW9ufHwiZGVzYyI9PT10aGlzLl9zb3J0LmRpcmVjdGlvbil9X2dldEFycm93RGlyZWN0aW9uU3RhdGUoKXtyZXR1cm5gJHt0aGlzLl9pc1NvcnRlZCgpPyJhY3RpdmUtIjoiIn0ke3RoaXMuX2Fycm93RGlyZWN0aW9ufWB9X2dldEFycm93Vmlld1N0YXRlKCl7Y29uc3QgdD10aGlzLl92aWV3U3RhdGUuZnJvbVN0YXRlO3JldHVybih0P2Ake3R9LXRvLWA6IiIpK3RoaXMuX3ZpZXdTdGF0ZS50b1N0YXRlfV91cGRhdGVBcnJvd0RpcmVjdGlvbigpe3RoaXMuX2Fycm93RGlyZWN0aW9uPXRoaXMuX2lzU29ydGVkKCk/dGhpcy5fc29ydC5kaXJlY3Rpb246dGhpcy5zdGFydHx8dGhpcy5fc29ydC5zdGFydH1faXNEaXNhYmxlZCgpe3JldHVybiB0aGlzLl9zb3J0LmRpc2FibGVkfHx0aGlzLmRpc2FibGVkfV9nZXRBcmlhU29ydEF0dHJpYnV0ZSgpe3JldHVybiB0aGlzLl9pc1NvcnRlZCgpPyJhc2MiPT10aGlzLl9zb3J0LmRpcmVjdGlvbj8iYXNjZW5kaW5nIjoiZGVzY2VuZGluZyI6Im5vbmUifV9yZW5kZXJBcnJvdygpe3JldHVybiF0aGlzLl9pc0Rpc2FibGVkKCl8fHRoaXMuX2lzU29ydGVkKCl9X2hhbmRsZVN0YXRlQ2hhbmdlcygpe3RoaXMuX3JlcmVuZGVyU3Vic2NyaXB0aW9uPXBlKHRoaXMuX3NvcnQuc29ydENoYW5nZSx0aGlzLl9zb3J0Ll9zdGF0ZUNoYW5nZXMsdGhpcy5faW50bC5jaGFuZ2VzKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5faXNTb3J0ZWQoKSYmKHRoaXMuX3VwZGF0ZUFycm93RGlyZWN0aW9uKCksImhpbnQiIT09dGhpcy5fdmlld1N0YXRlLnRvU3RhdGUmJiJhY3RpdmUiIT09dGhpcy5fdmlld1N0YXRlLnRvU3RhdGV8fCh0aGlzLl9kaXNhYmxlVmlld1N0YXRlQW5pbWF0aW9uPSEwKSx0aGlzLl9zZXRBbmltYXRpb25UcmFuc2l0aW9uU3RhdGUoe2Zyb21TdGF0ZTp0aGlzLl9hcnJvd0RpcmVjdGlvbix0b1N0YXRlOiJhY3RpdmUifSksdGhpcy5fc2hvd0luZGljYXRvckhpbnQ9ITEpLCF0aGlzLl9pc1NvcnRlZCgpJiZ0aGlzLl92aWV3U3RhdGUmJiJhY3RpdmUiPT09dGhpcy5fdmlld1N0YXRlLnRvU3RhdGUmJih0aGlzLl9kaXNhYmxlVmlld1N0YXRlQW5pbWF0aW9uPSExLHRoaXMuX3NldEFuaW1hdGlvblRyYW5zaXRpb25TdGF0ZSh7ZnJvbVN0YXRlOiJhY3RpdmUiLHRvU3RhdGU6dGhpcy5fYXJyb3dEaXJlY3Rpb259KSksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9KSl9fWYxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxmMSkoZ2YoYzEpLGdmKE9iKSxnZihyMSw4KSxnZigiTUFUX1NPUlRfSEVBREVSX0NPTFVNTl9ERUYiLDgpLGdmKGZGKSxnZihLaCkpfSxmMS7JtWNtcD1zbyh7dHlwZTpmMSxzZWxlY3RvcnM6W1siIiwibWF0LXNvcnQtaGVhZGVyIiwiIl1dLGhvc3RBdHRyczpbMSwibWF0LXNvcnQtaGVhZGVyIl0saG9zdFZhcnM6Myxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9oYW5kbGVDbGljaygpfSkpKCJrZXlkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlS2V5ZG93bihlKX0pKSgibW91c2VlbnRlciIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fc2V0SW5kaWNhdG9ySGludFZpc2libGUoITApfSkpKCJtb3VzZWxlYXZlIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9zZXRJbmRpY2F0b3JIaW50VmlzaWJsZSghMSl9KSksMiZlJiYoeW0oImFyaWEtc29ydCIsbi5fZ2V0QXJpYVNvcnRBdHRyaWJ1dGUoKSksY3UoIm1hdC1zb3J0LWhlYWRlci1kaXNhYmxlZCIsbi5faXNEaXNhYmxlZCgpKSl9LGlucHV0czp7ZGlzYWJsZWQ6ImRpc2FibGVkIixhcnJvd1Bvc2l0aW9uOiJhcnJvd1Bvc2l0aW9uIixkaXNhYmxlQ2xlYXI6ImRpc2FibGVDbGVhciIsaWQ6WyJtYXQtc29ydC1oZWFkZXIiLCJpZCJdLHN0YXJ0OiJzdGFydCJ9LGV4cG9ydEFzOlsibWF0U29ydEhlYWRlciJdLGZlYXR1cmVzOltRcF0sYXR0cnM6WyJtYXQtc29ydC1oZWFkZXIiLCIiXSxuZ0NvbnRlbnRTZWxlY3RvcnM6WyIqIl0sZGVjbHM6NCx2YXJzOjYsY29uc3RzOltbInJvbGUiLCJidXR0b24iLDEsIm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIiLCJtYXQtZm9jdXMtaW5kaWNhdG9yIl0sWzEsIm1hdC1zb3J0LWhlYWRlci1jb250ZW50Il0sWyJjbGFzcyIsIm1hdC1zb3J0LWhlYWRlci1hcnJvdyIsNCwibmdJZiJdLFsxLCJtYXQtc29ydC1oZWFkZXItYXJyb3ciXSxbMSwibWF0LXNvcnQtaGVhZGVyLXN0ZW0iXSxbMSwibWF0LXNvcnQtaGVhZGVyLWluZGljYXRvciJdLFsxLCJtYXQtc29ydC1oZWFkZXItcG9pbnRlci1sZWZ0Il0sWzEsIm1hdC1zb3J0LWhlYWRlci1wb2ludGVyLXJpZ2h0Il0sWzEsIm1hdC1zb3J0LWhlYWRlci1wb2ludGVyLW1pZGRsZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxDZigwLCJkaXYiLDApLENmKDEsImRpdiIsMSksRmYoMiksTWYoKSxIbSgzLG8xLDYsNiwiZGl2IiwyKSxNZigpKSwyJmUmJihjdSgibWF0LXNvcnQtaGVhZGVyLXNvcnRlZCIsbi5faXNTb3J0ZWQoKSkoIm1hdC1zb3J0LWhlYWRlci1wb3NpdGlvbi1iZWZvcmUiLCJiZWZvcmUiPT1uLmFycm93UG9zaXRpb24pLHltKCJ0YWJpbmRleCIsbi5faXNEaXNhYmxlZCgpP251bGw6MCksRGMoMyksYmYoIm5nSWYiLG4uX3JlbmRlckFycm93KCkpKX0sZGlyZWN0aXZlczpbUHZdLHN0eWxlczpbIi5tYXQtc29ydC1oZWFkZXItY29udGFpbmVye2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO291dGxpbmU6MH1bbWF0LXNvcnQtaGVhZGVyXS5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lcixbbWF0LXNvcnQtaGVhZGVyXS5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVye2JvcmRlci1ib3R0b206c29saWQgMXB4IGN1cnJlbnRDb2xvcn0ubWF0LXNvcnQtaGVhZGVyLWRpc2FibGVkIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVye2N1cnNvcjpkZWZhdWx0fS5tYXQtc29ydC1oZWFkZXItY29udGVudHt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5tYXQtc29ydC1oZWFkZXItcG9zaXRpb24tYmVmb3Jle2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5tYXQtc29ydC1oZWFkZXItYXJyb3d7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDttaW4td2lkdGg6MTJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7b3BhY2l0eTowfS5tYXQtc29ydC1oZWFkZXItYXJyb3csW2Rpcj1ydGxdIC5tYXQtc29ydC1oZWFkZXItcG9zaXRpb24tYmVmb3JlIC5tYXQtc29ydC1oZWFkZXItYXJyb3d7bWFyZ2luOjAgMCAwIDZweH0ubWF0LXNvcnQtaGVhZGVyLXBvc2l0aW9uLWJlZm9yZSAubWF0LXNvcnQtaGVhZGVyLWFycm93LFtkaXI9cnRsXSAubWF0LXNvcnQtaGVhZGVyLWFycm93e21hcmdpbjowIDZweCAwIDB9Lm1hdC1zb3J0LWhlYWRlci1zdGVte2JhY2tncm91bmQ6Y3VycmVudENvbG9yO2hlaWdodDoxMHB4O3dpZHRoOjJweDttYXJnaW46YXV0bztkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zb3J0LWhlYWRlci1zdGVte3dpZHRoOjA7Ym9yZGVyLWxlZnQ6c29saWQgMnB4fS5tYXQtc29ydC1oZWFkZXItaW5kaWNhdG9ye3dpZHRoOjEwMCU7aGVpZ2h0OjJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbWlkZGxle21hcmdpbjphdXRvO2hlaWdodDoycHg7d2lkdGg6MnB4O2JhY2tncm91bmQ6Y3VycmVudENvbG9yO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zb3J0LWhlYWRlci1wb2ludGVyLW1pZGRsZXt3aWR0aDowO2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4O2JvcmRlci1sZWZ0OnNvbGlkIDJweH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbGVmdCwubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItcmlnaHR7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7d2lkdGg6NnB4O2hlaWdodDoycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbGVmdCwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc29ydC1oZWFkZXItcG9pbnRlci1yaWdodHt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OnNvbGlkIDZweDtib3JkZXItdG9wOnNvbGlkIDJweH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbGVmdHt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0O2xlZnQ6MH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItcmlnaHR7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0O3JpZ2h0OjB9XG4iXSxlbmNhcHN1bGF0aW9uOjIsZGF0YTp7YW5pbWF0aW9uOltsMS5pbmRpY2F0b3IsbDEubGVmdFBvaW50ZXIsbDEucmlnaHRQb2ludGVyLGwxLmFycm93T3BhY2l0eSxsMS5hcnJvd1Bvc2l0aW9uLGwxLmFsbG93Q2hpbGRyZW5dfSxjaGFuZ2VEZXRlY3Rpb246MH0pLGYxLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6YzF9LHt0eXBlOk9ifSx7dHlwZTpyMSxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbIk1BVF9TT1JUX0hFQURFUl9DT0xVTU5fREVGIl19LHt0eXBlOkJyfV19LHt0eXBlOmZGfSx7dHlwZTpLaH1dLGYxLnByb3BEZWNvcmF0b3JzPXtpZDpbe3R5cGU6Ul8sYXJnczpbIm1hdC1zb3J0LWhlYWRlciJdfV0sYXJyb3dQb3NpdGlvbjpbe3R5cGU6Ul99XSxzdGFydDpbe3R5cGU6Ul99XSxkaXNhYmxlQ2xlYXI6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZjEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdC1zb3J0LWhlYWRlcl0iLGV4cG9ydEFzOiJtYXRTb3J0SGVhZGVyIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBXZSBzZXQgdGhlIGB0YWJpbmRleGAgb24gYW4gZWxlbWVudCBpbnNpZGUgdGhlIHRhYmxlIGhlYWRlciwgcmF0aGVyIHRoYW4gdGhlIGhlYWRlciBpdHNlbGYsXG4gIGJlY2F1c2Ugb2YgYSBidWcgaW4gTlZEQSB3aGVyZSBoYXZpbmcgYSBgdGFiaW5kZXhgIG9uIGEgYHRoYCBicmVha3Mga2V5Ym9hcmQgbmF2aWdhdGlvbiBpbiB0aGVcbiAgdGFibGUgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vbnZhY2Nlc3MvbnZkYS9pc3N1ZXMvNzcxOCkuIFRoaXMgYWxsb3dzIGZvciB0aGUgaGVhZGVyIHRvIGJvdGhcbiAgYmUgZm9jdXNhYmxlLCBhbmQgaGF2ZSBzY3JlZW4gcmVhZGVycyByZWFkIG91dCBpdHMgYGFyaWEtc29ydGAgc3RhdGUuIFdlIHByZWZlciB0aGlzIGFwcHJvYWNoXG4gIG92ZXIgaGF2aW5nIGEgYnV0dG9uIHdpdGggYW4gYGFyaWEtbGFiZWxgIGluc2lkZSB0aGUgaGVhZGVyLCBiZWNhdXNlIHRoZSBidXR0b25cJ3MgYGFyaWEtbGFiZWxgXG4gIHdpbGwgYmUgcmVhZCBvdXQgYXMgdGhlIHVzZXIgaXMgbmF2aWdhdGluZyB0aGUgdGFibGVcJ3MgY2VsbCAoc2VlICMxMzAxMikuXG5cbiAgVGhlIGFwcHJvYWNoIGlzIGJhc2VkIG9mZiBvZjogaHR0cHM6Ly9kZXF1ZXVuaXZlcnNpdHkuY29tL2xpYnJhcnkvYXJpYS90YWJsZXMvc2Ytc29ydGFibGUtZ3JpZFxuLS1ceDNlXG48ZGl2IGNsYXNzPSJtYXQtc29ydC1oZWFkZXItY29udGFpbmVyIG1hdC1mb2N1cy1pbmRpY2F0b3IiXG4gICAgIFtjbGFzcy5tYXQtc29ydC1oZWFkZXItc29ydGVkXT0iX2lzU29ydGVkKCkiXG4gICAgIFtjbGFzcy5tYXQtc29ydC1oZWFkZXItcG9zaXRpb24tYmVmb3JlXT0iYXJyb3dQb3NpdGlvbiA9PSBcJ2JlZm9yZVwnIlxuICAgICBbYXR0ci50YWJpbmRleF09Il9pc0Rpc2FibGVkKCkgPyBudWxsIDogMCJcbiAgICAgcm9sZT0iYnV0dG9uIj5cblxuICBceDNjIS0tXG4gICAgVE9ETyhjcmlzYmV0byk6IHRoaXMgZGl2IGlzblwndCBzdHJpY3RseSBuZWNlc3NhcnksIGJ1dCB3ZSBoYXZlIHRvIGtlZXAgaXQgZHVlIHRvIGEgbGFyZ2VcbiAgICBudW1iZXIgb2Ygc2NyZWVuc2hvdCBkaWZmIGZhaWx1cmVzLiBJdCBzaG91bGQgYmUgcmVtb3ZlZCBldmVudHVhbGx5LiBOb3RlIHRoYXQgdGhlIGRpZmZlcmVuY2VcbiAgICBpc25cJ3QgdmlzaWJsZSB3aXRoIGEgc2hvcnRlciBoZWFkZXIsIGJ1dCBvbmNlIGl0IGJyZWFrcyB1cCBpbnRvIG11bHRpcGxlIGxpbmVzLCB0aGlzIGVsZW1lbnRcbiAgICBjYXVzZXMgaXQgdG8gYmUgY2VudGVyLWFsaWduZWQsIHdoZXJlYXMgcmVtb3ZpbmcgaXQgd2lsbCBrZWVwIHRoZSB0ZXh0IHRvIHRoZSBsZWZ0LlxuICAtLVx4M2VcbiAgPGRpdiBjbGFzcz0ibWF0LXNvcnQtaGVhZGVyLWNvbnRlbnQiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG5cbiAgXHgzYyEtLSBEaXNhYmxlIGFuaW1hdGlvbnMgd2hpbGUgYSBjdXJyZW50IGFuaW1hdGlvbiBpcyBydW5uaW5nIC0tXHgzZVxuICA8ZGl2IGNsYXNzPSJtYXQtc29ydC1oZWFkZXItYXJyb3ciXG4gICAgICAgKm5nSWY9Il9yZW5kZXJBcnJvdygpIlxuICAgICAgIFtAYXJyb3dPcGFjaXR5XT0iX2dldEFycm93Vmlld1N0YXRlKCkiXG4gICAgICAgW0BhcnJvd1Bvc2l0aW9uXT0iX2dldEFycm93Vmlld1N0YXRlKCkiXG4gICAgICAgW0BhbGxvd0NoaWxkcmVuXT0iX2dldEFycm93RGlyZWN0aW9uU3RhdGUoKSJcbiAgICAgICAoQGFycm93UG9zaXRpb24uc3RhcnQpPSJfZGlzYWJsZVZpZXdTdGF0ZUFuaW1hdGlvbiA9IHRydWUiXG4gICAgICAgKEBhcnJvd1Bvc2l0aW9uLmRvbmUpPSJfZGlzYWJsZVZpZXdTdGF0ZUFuaW1hdGlvbiA9IGZhbHNlIj5cbiAgICA8ZGl2IGNsYXNzPSJtYXQtc29ydC1oZWFkZXItc3RlbSI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0ibWF0LXNvcnQtaGVhZGVyLWluZGljYXRvciIgW0BpbmRpY2F0b3JdPSJfZ2V0QXJyb3dEaXJlY3Rpb25TdGF0ZSgpIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC1zb3J0LWhlYWRlci1wb2ludGVyLWxlZnQiIFtAbGVmdFBvaW50ZXJdPSJfZ2V0QXJyb3dEaXJlY3Rpb25TdGF0ZSgpIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC1zb3J0LWhlYWRlci1wb2ludGVyLXJpZ2h0IiBbQHJpZ2h0UG9pbnRlcl09Il9nZXRBcnJvd0RpcmVjdGlvblN0YXRlKCkiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbWlkZGxlIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsaG9zdDp7Y2xhc3M6Im1hdC1zb3J0LWhlYWRlciIsIihjbGljaykiOiJfaGFuZGxlQ2xpY2soKSIsIihrZXlkb3duKSI6Il9oYW5kbGVLZXlkb3duKCRldmVudCkiLCIobW91c2VlbnRlcikiOiJfc2V0SW5kaWNhdG9ySGludFZpc2libGUodHJ1ZSkiLCIobW91c2VsZWF2ZSkiOiJfc2V0SW5kaWNhdG9ySGludFZpc2libGUoZmFsc2UpIiwiW2F0dHIuYXJpYS1zb3J0XSI6Il9nZXRBcmlhU29ydEF0dHJpYnV0ZSgpIiwiW2NsYXNzLm1hdC1zb3J0LWhlYWRlci1kaXNhYmxlZF0iOiJfaXNEaXNhYmxlZCgpIn0sZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsaW5wdXRzOlsiZGlzYWJsZWQiXSxhbmltYXRpb25zOltsMS5pbmRpY2F0b3IsbDEubGVmdFBvaW50ZXIsbDEucmlnaHRQb2ludGVyLGwxLmFycm93T3BhY2l0eSxsMS5hcnJvd1Bvc2l0aW9uLGwxLmFsbG93Q2hpbGRyZW5dLHN0eWxlczpbIi5tYXQtc29ydC1oZWFkZXItY29udGFpbmVye2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO291dGxpbmU6MH1bbWF0LXNvcnQtaGVhZGVyXS5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lcixbbWF0LXNvcnQtaGVhZGVyXS5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVye2JvcmRlci1ib3R0b206c29saWQgMXB4IGN1cnJlbnRDb2xvcn0ubWF0LXNvcnQtaGVhZGVyLWRpc2FibGVkIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVye2N1cnNvcjpkZWZhdWx0fS5tYXQtc29ydC1oZWFkZXItY29udGVudHt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5tYXQtc29ydC1oZWFkZXItcG9zaXRpb24tYmVmb3Jle2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5tYXQtc29ydC1oZWFkZXItYXJyb3d7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDttaW4td2lkdGg6MTJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7b3BhY2l0eTowfS5tYXQtc29ydC1oZWFkZXItYXJyb3csW2Rpcj1ydGxdIC5tYXQtc29ydC1oZWFkZXItcG9zaXRpb24tYmVmb3JlIC5tYXQtc29ydC1oZWFkZXItYXJyb3d7bWFyZ2luOjAgMCAwIDZweH0ubWF0LXNvcnQtaGVhZGVyLXBvc2l0aW9uLWJlZm9yZSAubWF0LXNvcnQtaGVhZGVyLWFycm93LFtkaXI9cnRsXSAubWF0LXNvcnQtaGVhZGVyLWFycm93e21hcmdpbjowIDZweCAwIDB9Lm1hdC1zb3J0LWhlYWRlci1zdGVte2JhY2tncm91bmQ6Y3VycmVudENvbG9yO2hlaWdodDoxMHB4O3dpZHRoOjJweDttYXJnaW46YXV0bztkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zb3J0LWhlYWRlci1zdGVte3dpZHRoOjA7Ym9yZGVyLWxlZnQ6c29saWQgMnB4fS5tYXQtc29ydC1oZWFkZXItaW5kaWNhdG9ye3dpZHRoOjEwMCU7aGVpZ2h0OjJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbWlkZGxle21hcmdpbjphdXRvO2hlaWdodDoycHg7d2lkdGg6MnB4O2JhY2tncm91bmQ6Y3VycmVudENvbG9yO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zb3J0LWhlYWRlci1wb2ludGVyLW1pZGRsZXt3aWR0aDowO2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4O2JvcmRlci1sZWZ0OnNvbGlkIDJweH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbGVmdCwubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItcmlnaHR7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7d2lkdGg6NnB4O2hlaWdodDoycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbGVmdCwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc29ydC1oZWFkZXItcG9pbnRlci1yaWdodHt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OnNvbGlkIDZweDtib3JkZXItdG9wOnNvbGlkIDJweH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbGVmdHt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0O2xlZnQ6MH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItcmlnaHR7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0O3JpZ2h0OjB9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmMxfSx7dHlwZTpPYn0se3R5cGU6cjEsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6WyJNQVRfU09SVF9IRUFERVJfQ09MVU1OX0RFRiJdfSx7dHlwZTpCcn1dfSx7dHlwZTpmRn0se3R5cGU6S2h9XX0pLHthcnJvd1Bvc2l0aW9uOlt7dHlwZTpSX31dLGRpc2FibGVDbGVhcjpbe3R5cGU6Ul99XSxpZDpbe3R5cGU6Ul8sYXJnczpbIm1hdC1zb3J0LWhlYWRlciJdfV0sc3RhcnQ6W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIHUxe311MS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dTEpfSx1MS7JtW1vZD1mbyh7dHlwZTp1MX0pLHUxLsm1aW5qPURuKHtwcm92aWRlcnM6W2QxXSxpbXBvcnRzOltbcngsTkZdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodTEsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltyeCxORl0sZXhwb3J0czpbcjEsZjFdLGRlY2xhcmF0aW9uczpbcjEsZjFdLHByb3ZpZGVyczpbZDFdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8odTEse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVybltyMSxmMV19LGltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bcngsTkZdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW3IxLGYxXX19KTtjb25zdCBnMT1bW1siY2FwdGlvbiJdXSxbWyJjb2xncm91cCJdLFsiY29sIl1dXTtmdW5jdGlvbiBoMSh0LGUpe2lmKDEmdCYmKENmKDAsInRoIiwzKSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtsdSgidGV4dC1hbGlnbiIsdC5qdXN0aWZ5KSxEYygxKSxrdSgiICIsdC5oZWFkZXJUZXh0LCIgIil9fWZ1bmN0aW9uIGIxKHQsZSl7aWYoMSZ0JiYoQ2YoMCwidGQiLDQpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKCk7bHUoInRleHQtYWxpZ24iLG4uanVzdGlmeSksRGMoMSksa3UoIiAiLG4uZGF0YUFjY2Vzc29yKHQsbi5uYW1lKSwiICIpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24geTEodCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgdHtjb25zdHJ1Y3RvciguLi50KXtzdXBlciguLi50KSx0aGlzLl9zdGlja3k9ITEsdGhpcy5faGFzU3RpY2t5Q2hhbmdlZD0hMX1nZXQgc3RpY2t5KCl7cmV0dXJuIHRoaXMuX3N0aWNreX1zZXQgc3RpY2t5KHQpe2NvbnN0IGU9dGhpcy5fc3RpY2t5O3RoaXMuX3N0aWNreT1lSCh0KSx0aGlzLl9oYXNTdGlja3lDaGFuZ2VkPWUhPT10aGlzLl9zdGlja3l9aGFzU3RpY2t5Q2hhbmdlZCgpe2NvbnN0IHQ9dGhpcy5faGFzU3RpY2t5Q2hhbmdlZDtyZXR1cm4gdGhpcy5faGFzU3RpY2t5Q2hhbmdlZD0hMSx0fXJlc2V0U3RpY2t5Q2hhbmdlZCgpe3RoaXMuX2hhc1N0aWNreUNoYW5nZWQ9ITF9fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgXzE9bmV3IGVyKCJDREtfVEFCTEUiKSxDMT1uZXcgZXIoInRleHQtY29sdW1uLW9wdGlvbnMiKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIE0xe2NvbnN0cnVjdG9yKHQpe3RoaXMudGVtcGxhdGU9dH19TTEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE0xKShnZihFYikpfSxNMS7JtWRpcj1obyh7dHlwZTpNMSxzZWxlY3RvcnM6W1siIiwiY2RrQ2VsbERlZiIsIiJdXX0pLE0xLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RWJ9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE0xLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtDZWxsRGVmXSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpFYn1dfSksbnVsbCk7Y2xhc3MgdjF7Y29uc3RydWN0b3IodCl7dGhpcy50ZW1wbGF0ZT10fX12MS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8djEpKGdmKEViKSl9LHYxLsm1ZGlyPWhvKHt0eXBlOnYxLHNlbGVjdG9yczpbWyIiLCJjZGtIZWFkZXJDZWxsRGVmIiwiIl1dfSksdjEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpFYn1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodjEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Nka0hlYWRlckNlbGxEZWZdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkVifV19KSxudWxsKTtjbGFzcyB4MXtjb25zdHJ1Y3Rvcih0KXt0aGlzLnRlbXBsYXRlPXR9fXgxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4MSkoZ2YoRWIpKX0seDEuybVkaXI9aG8oe3R5cGU6eDEsc2VsZWN0b3JzOltbIiIsImNka0Zvb3RlckNlbGxEZWYiLCIiXV19KSx4MS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkVifV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4MSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbY2RrRm9vdGVyQ2VsbERlZl0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RWJ9XX0pLG51bGwpO2NvbnN0IE8xPXkxKGNsYXNze30pO2NsYXNzIFAxIGV4dGVuZHMgTzF7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLl90YWJsZT10LHRoaXMuX3N0aWNreUVuZD0hMX1nZXQgbmFtZSgpe3JldHVybiB0aGlzLl9uYW1lfXNldCBuYW1lKHQpe3RoaXMuX3NldE5hbWVJbnB1dCh0KX1nZXQgc3RpY2t5RW5kKCl7cmV0dXJuIHRoaXMuX3N0aWNreUVuZH1zZXQgc3RpY2t5RW5kKHQpe2NvbnN0IGU9dGhpcy5fc3RpY2t5RW5kO3RoaXMuX3N0aWNreUVuZD1lSCh0KSx0aGlzLl9oYXNTdGlja3lDaGFuZ2VkPWUhPT10aGlzLl9zdGlja3lFbmR9X3VwZGF0ZUNvbHVtbkNzc0NsYXNzTmFtZSgpe3RoaXMuX2NvbHVtbkNzc0NsYXNzTmFtZT1bYGNkay1jb2x1bW4tJHt0aGlzLmNzc0NsYXNzRnJpZW5kbHlOYW1lfWBdfV9zZXROYW1lSW5wdXQodCl7dCYmKHRoaXMuX25hbWU9dCx0aGlzLmNzc0NsYXNzRnJpZW5kbHlOYW1lPXQucmVwbGFjZSgvW15hLXowLTlfLV0vZ2ksIi0iKSx0aGlzLl91cGRhdGVDb2x1bW5Dc3NDbGFzc05hbWUoKSl9fVAxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxQMSkoZ2YoXzEsOCkpfSxQMS7JtWRpcj1obyh7dHlwZTpQMSxzZWxlY3RvcnM6W1siIiwiY2RrQ29sdW1uRGVmIiwiIl1dLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uIHQoZSxuLG8pe2lmKDEmZSYmKGp5KG8sTTEsNSksankobyx2MSw1KSxqeShvLHgxLDUpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLmNlbGw9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uaGVhZGVyQ2VsbD10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5mb290ZXJDZWxsPXQuZmlyc3QpfX0saW5wdXRzOntzdGlja3k6InN0aWNreSIsbmFtZTpbImNka0NvbHVtbkRlZiIsIm5hbWUiXSxzdGlja3lFbmQ6InN0aWNreUVuZCJ9LGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6Ik1BVF9TT1JUX0hFQURFUl9DT0xVTU5fREVGIix1c2VFeGlzdGluZzpQMX1dKSxRcF19KSxQMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltfMV19LHt0eXBlOkJyfV19XSxQMS5wcm9wRGVjb3JhdG9ycz17bmFtZTpbe3R5cGU6Ul8sYXJnczpbImNka0NvbHVtbkRlZiJdfV0sc3RpY2t5RW5kOlt7dHlwZTpSXyxhcmdzOlsic3RpY2t5RW5kIl19XSxjZWxsOlt7dHlwZTppcixhcmdzOltNMV19XSxoZWFkZXJDZWxsOlt7dHlwZTppcixhcmdzOlt2MV19XSxmb290ZXJDZWxsOlt7dHlwZTppcixhcmdzOlt4MV19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihQMSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbY2RrQ29sdW1uRGVmXSIsaW5wdXRzOlsic3RpY2t5Il0scHJvdmlkZXJzOlt7cHJvdmlkZToiTUFUX1NPUlRfSEVBREVSX0NPTFVNTl9ERUYiLHVzZUV4aXN0aW5nOlAxfV19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbXzFdfSx7dHlwZTpCcn1dfV19KSx7bmFtZTpbe3R5cGU6Ul8sYXJnczpbImNka0NvbHVtbkRlZiJdfV0sc3RpY2t5RW5kOlt7dHlwZTpSXyxhcmdzOlsic3RpY2t5RW5kIl19XSxjZWxsOlt7dHlwZTppcixhcmdzOltNMV19XSxoZWFkZXJDZWxsOlt7dHlwZTppcixhcmdzOlt2MV19XSxmb290ZXJDZWxsOlt7dHlwZTppcixhcmdzOlt4MV19XX0pO2NsYXNzIHcxe2NvbnN0cnVjdG9yKHQsZSl7Y29uc3Qgbj1lLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCBlIG9mIHQuX2NvbHVtbkNzc0NsYXNzTmFtZSluLmFkZChlKX19Y2xhc3MgazEgZXh0ZW5kcyB3MXtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSl9fWsxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxrMSkoZ2YoUDEpLGdmKEtoKSl9LGsxLsm1ZGlyPWhvKHt0eXBlOmsxLHNlbGVjdG9yczpbWyJjZGstaGVhZGVyLWNlbGwiXSxbInRoIiwiY2RrLWhlYWRlci1jZWxsIiwiIl1dLGhvc3RBdHRyczpbInJvbGUiLCJjb2x1bW5oZWFkZXIiLDEsImNkay1oZWFkZXItY2VsbCJdLGZlYXR1cmVzOltRcF19KSxrMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlAxfSx7dHlwZTpLaH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoazEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiY2RrLWhlYWRlci1jZWxsLCB0aFtjZGstaGVhZGVyLWNlbGxdIixob3N0OntjbGFzczoiY2RrLWhlYWRlci1jZWxsIixyb2xlOiJjb2x1bW5oZWFkZXIifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlAxfSx7dHlwZTpLaH1dfSksbnVsbCk7Y2xhc3MgUzEgZXh0ZW5kcyB3MXtjb25zdHJ1Y3Rvcih0LGUpe3ZhciBuO2lmKHN1cGVyKHQsZSksMT09PShudWxsPT09KG49dC5fdGFibGUpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZVR5cGUpKXtjb25zdCBuPXQuX3RhYmxlLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJyb2xlIik7ZS5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgicm9sZSIsImdyaWQiPT09bnx8InRyZWVncmlkIj09PW4/ImdyaWRjZWxsIjoiY2VsbCIpfX19UzEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFMxKShnZihQMSksZ2YoS2gpKX0sUzEuybVkaXI9aG8oe3R5cGU6UzEsc2VsZWN0b3JzOltbImNkay1mb290ZXItY2VsbCJdLFsidGQiLCJjZGstZm9vdGVyLWNlbGwiLCIiXV0saG9zdEF0dHJzOlsxLCJjZGstZm9vdGVyLWNlbGwiXSxmZWF0dXJlczpbUXBdfSksUzEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpQMX0se3R5cGU6S2h9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFMxLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6ImNkay1mb290ZXItY2VsbCwgdGRbY2RrLWZvb3Rlci1jZWxsXSIsaG9zdDp7Y2xhc3M6ImNkay1mb290ZXItY2VsbCJ9fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UDF9LHt0eXBlOktofV19KSxudWxsKTtjbGFzcyBEMSBleHRlbmRzIHcxe2NvbnN0cnVjdG9yKHQsZSl7dmFyIG47aWYoc3VwZXIodCxlKSwxPT09KG51bGw9PT0obj10Ll90YWJsZSl8fHZvaWQgMD09PW4/dm9pZCAwOm4uX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5ub2RlVHlwZSkpe2NvbnN0IG49dC5fdGFibGUuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInJvbGUiKTtlLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJyb2xlIiwiZ3JpZCI9PT1ufHwidHJlZWdyaWQiPT09bj8iZ3JpZGNlbGwiOiJjZWxsIil9fX1EMS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RDEpKGdmKFAxKSxnZihLaCkpfSxEMS7JtWRpcj1obyh7dHlwZTpEMSxzZWxlY3RvcnM6W1siY2RrLWNlbGwiXSxbInRkIiwiY2RrLWNlbGwiLCIiXV0saG9zdEF0dHJzOlsxLCJjZGstY2VsbCJdLGZlYXR1cmVzOltRcF19KSxEMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlAxfSx7dHlwZTpLaH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRDEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiY2RrLWNlbGwsIHRkW2Nkay1jZWxsXSIsaG9zdDp7Y2xhc3M6ImNkay1jZWxsIn19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpQMX0se3R5cGU6S2h9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgUjF7Y29uc3RydWN0b3IoKXt0aGlzLnRhc2tzPVtdLHRoaXMuZW5kVGFza3M9W119fWNvbnN0IEUxPW5ldyBlcigiX0NPQUxFU0NFRF9TVFlMRV9TQ0hFRFVMRVIiKTtjbGFzcyBBMXtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9uZ1pvbmU9dCx0aGlzLl9jdXJyZW50U2NoZWR1bGU9bnVsbCx0aGlzLl9kZXN0cm95ZWQ9bmV3IEJ9c2NoZWR1bGUodCl7dGhpcy5fY3JlYXRlU2NoZWR1bGVJZk5lZWRlZCgpLHRoaXMuX2N1cnJlbnRTY2hlZHVsZS50YXNrcy5wdXNoKHQpfXNjaGVkdWxlRW5kKHQpe3RoaXMuX2NyZWF0ZVNjaGVkdWxlSWZOZWVkZWQoKSx0aGlzLl9jdXJyZW50U2NoZWR1bGUuZW5kVGFza3MucHVzaCh0KX1uZ09uRGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3llZC5uZXh0KCksdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCl9X2NyZWF0ZVNjaGVkdWxlSWZOZWVkZWQoKXt0aGlzLl9jdXJyZW50U2NoZWR1bGV8fCh0aGlzLl9jdXJyZW50U2NoZWR1bGU9bmV3IFIxLHRoaXMuX2dldFNjaGVkdWxlT2JzZXJ2YWJsZSgpLnBpcGUoamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgoKT0+e2Zvcig7dGhpcy5fY3VycmVudFNjaGVkdWxlLnRhc2tzLmxlbmd0aHx8dGhpcy5fY3VycmVudFNjaGVkdWxlLmVuZFRhc2tzLmxlbmd0aDspe2NvbnN0IHQ9dGhpcy5fY3VycmVudFNjaGVkdWxlO3RoaXMuX2N1cnJlbnRTY2hlZHVsZT1uZXcgUjE7Zm9yKGNvbnN0IGUgb2YgdC50YXNrcyllKCk7Zm9yKGNvbnN0IGUgb2YgdC5lbmRUYXNrcyllKCl9dGhpcy5fY3VycmVudFNjaGVkdWxlPW51bGx9KSkpfV9nZXRTY2hlZHVsZU9ic2VydmFibGUoKXtyZXR1cm4gdGhpcy5fbmdab25lLmlzU3RhYmxlP1B0KFByb21pc2UucmVzb2x2ZSh2b2lkIDApKTp0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh2ZSgxKSl9fUExLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxBMSkoVHIobUMpKX0sQTEuybVwcm92PVNuKHt0b2tlbjpBMSxmYWN0b3J5OkExLsm1ZmFjfSksQTEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTptQ31dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQTEsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOm1DfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFQxPSI8bmctY29udGFpbmVyIGNka0NlbGxPdXRsZXQ+PC9uZy1jb250YWluZXI+IjtjbGFzcyBOMXtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMudGVtcGxhdGU9dCx0aGlzLl9kaWZmZXJzPWV9bmdPbkNoYW5nZXModCl7aWYoIXRoaXMuX2NvbHVtbnNEaWZmZXIpe2NvbnN0IGU9dC5jb2x1bW5zJiZ0LmNvbHVtbnMuY3VycmVudFZhbHVlfHxbXTt0aGlzLl9jb2x1bW5zRGlmZmVyPXRoaXMuX2RpZmZlcnMuZmluZChlKS5jcmVhdGUoKSx0aGlzLl9jb2x1bW5zRGlmZmVyLmRpZmYoZSl9fWdldENvbHVtbnNEaWZmKCl7cmV0dXJuIHRoaXMuX2NvbHVtbnNEaWZmZXIuZGlmZih0aGlzLmNvbHVtbnMpfWV4dHJhY3RDZWxsVGVtcGxhdGUodCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBJMT90LmhlYWRlckNlbGwudGVtcGxhdGU6dGhpcyBpbnN0YW5jZW9mIEYxP3QuZm9vdGVyQ2VsbC50ZW1wbGF0ZTp0LmNlbGwudGVtcGxhdGV9fU4xLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxOMSkoZ2YoRWIpLGdmKGhiKSl9LE4xLsm1ZGlyPWhvKHt0eXBlOk4xLGZlYXR1cmVzOltxb119KSxOMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkVifSx7dHlwZTpoYn1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTjEsW3t0eXBlOmtffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkVifSx7dHlwZTpoYn1dfSksbnVsbCk7Y29uc3QgejE9eTEoY2xhc3MgZXh0ZW5kcyBOMXt9KTtjbGFzcyBJMSBleHRlbmRzIHoxe2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcih0LGUpLHRoaXMuX3RhYmxlPW59bmdPbkNoYW5nZXModCl7c3VwZXIubmdPbkNoYW5nZXModCl9fUkxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxJMSkoZ2YoRWIpLGdmKGhiKSxnZihfMSw4KSl9LEkxLsm1ZGlyPWhvKHt0eXBlOkkxLHNlbGVjdG9yczpbWyIiLCJjZGtIZWFkZXJSb3dEZWYiLCIiXV0saW5wdXRzOntjb2x1bW5zOlsiY2RrSGVhZGVyUm93RGVmIiwiY29sdW1ucyJdLHN0aWNreTpbImNka0hlYWRlclJvd0RlZlN0aWNreSIsInN0aWNreSJdfSxmZWF0dXJlczpbUXAscW9dfSksSTEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpFYn0se3R5cGU6aGJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltfMV19LHt0eXBlOkJyfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEkxLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtIZWFkZXJSb3dEZWZdIixpbnB1dHM6WyJjb2x1bW5zOiBjZGtIZWFkZXJSb3dEZWYiLCJzdGlja3k6IGNka0hlYWRlclJvd0RlZlN0aWNreSJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RWJ9LHt0eXBlOmhifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbXzFdfSx7dHlwZTpCcn1dfV19KSxudWxsKTtjb25zdCBIMT15MShjbGFzcyBleHRlbmRzIE4xe30pO2NsYXNzIEYxIGV4dGVuZHMgSDF7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSksdGhpcy5fdGFibGU9bn1uZ09uQ2hhbmdlcyh0KXtzdXBlci5uZ09uQ2hhbmdlcyh0KX19RjEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEYxKShnZihFYiksZ2YoaGIpLGdmKF8xLDgpKX0sRjEuybVkaXI9aG8oe3R5cGU6RjEsc2VsZWN0b3JzOltbIiIsImNka0Zvb3RlclJvd0RlZiIsIiJdXSxpbnB1dHM6e2NvbHVtbnM6WyJjZGtGb290ZXJSb3dEZWYiLCJjb2x1bW5zIl0sc3RpY2t5OlsiY2RrRm9vdGVyUm93RGVmU3RpY2t5Iiwic3RpY2t5Il19LGZlYXR1cmVzOltRcCxxb119KSxGMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkVifSx7dHlwZTpoYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W18xXX0se3R5cGU6QnJ9XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRjEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Nka0Zvb3RlclJvd0RlZl0iLGlucHV0czpbImNvbHVtbnM6IGNka0Zvb3RlclJvd0RlZiIsInN0aWNreTogY2RrRm9vdGVyUm93RGVmU3RpY2t5Il19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpFYn0se3R5cGU6aGJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltfMV19LHt0eXBlOkJyfV19XX0pLG51bGwpO2NsYXNzIEwxIGV4dGVuZHMgTjF7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSksdGhpcy5fdGFibGU9bn19TDEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEwxKShnZihFYiksZ2YoaGIpLGdmKF8xLDgpKX0sTDEuybVkaXI9aG8oe3R5cGU6TDEsc2VsZWN0b3JzOltbIiIsImNka1Jvd0RlZiIsIiJdXSxpbnB1dHM6e2NvbHVtbnM6WyJjZGtSb3dEZWZDb2x1bW5zIiwiY29sdW1ucyJdLHdoZW46WyJjZGtSb3dEZWZXaGVuIiwid2hlbiJdfSxmZWF0dXJlczpbUXBdfSksTDEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpFYn0se3R5cGU6aGJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltfMV19LHt0eXBlOkJyfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEwxLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtSb3dEZWZdIixpbnB1dHM6WyJjb2x1bW5zOiBjZGtSb3dEZWZDb2x1bW5zIiwid2hlbjogY2RrUm93RGVmV2hlbiJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RWJ9LHt0eXBlOmhifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbXzFdfSx7dHlwZTpCcn1dfV19KSxudWxsKTtjbGFzcyBCMXtjb25zdHJ1Y3Rvcih0KXt0aGlzLl92aWV3Q29udGFpbmVyPXQsQjEubW9zdFJlY2VudENlbGxPdXRsZXQ9dGhpc31uZ09uRGVzdHJveSgpe0IxLm1vc3RSZWNlbnRDZWxsT3V0bGV0PT09dGhpcyYmKEIxLm1vc3RSZWNlbnRDZWxsT3V0bGV0PW51bGwpfX1CMS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QjEpKGdmKEZiKSl9LEIxLsm1ZGlyPWhvKHt0eXBlOkIxLHNlbGVjdG9yczpbWyIiLCJjZGtDZWxsT3V0bGV0IiwiIl1dfSksQjEubW9zdFJlY2VudENlbGxPdXRsZXQ9bnVsbCxCMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkZifV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihCMSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbY2RrQ2VsbE91dGxldF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RmJ9XX0pLG51bGwpO2NsYXNzIFYxe31WMS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8VjEpfSxWMS7JtWNtcD1zbyh7dHlwZTpWMSxzZWxlY3RvcnM6W1siY2RrLWhlYWRlci1yb3ciXSxbInRyIiwiY2RrLWhlYWRlci1yb3ciLCIiXV0saG9zdEF0dHJzOlsicm9sZSIsInJvdyIsMSwiY2RrLWhlYWRlci1yb3ciXSxkZWNsczoxLHZhcnM6MCxjb25zdHM6W1siY2RrQ2VsbE91dGxldCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiZQZigwLDApfSxkaXJlY3RpdmVzOltCMV0sZW5jYXBzdWxhdGlvbjoyfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWMSxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJjZGstaGVhZGVyLXJvdywgdHJbY2RrLWhlYWRlci1yb3ddIix0ZW1wbGF0ZTpUMSxob3N0OntjbGFzczoiY2RrLWhlYWRlci1yb3ciLHJvbGU6InJvdyJ9LGNoYW5nZURldGVjdGlvbjpqbi5EZWZhdWx0LGVuY2Fwc3VsYXRpb246V24uTm9uZX1dfV0sbnVsbCxudWxsKTtjbGFzcyBqMXt9ajEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGoxKX0sajEuybVjbXA9c28oe3R5cGU6ajEsc2VsZWN0b3JzOltbImNkay1mb290ZXItcm93Il0sWyJ0ciIsImNkay1mb290ZXItcm93IiwiIl1dLGhvc3RBdHRyczpbInJvbGUiLCJyb3ciLDEsImNkay1mb290ZXItcm93Il0sZGVjbHM6MSx2YXJzOjAsY29uc3RzOltbImNka0NlbGxPdXRsZXQiLCIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmUGYoMCwwKX0sZGlyZWN0aXZlczpbQjFdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoajEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiY2RrLWZvb3Rlci1yb3csIHRyW2Nkay1mb290ZXItcm93XSIsdGVtcGxhdGU6VDEsaG9zdDp7Y2xhc3M6ImNkay1mb290ZXItcm93Iixyb2xlOiJyb3cifSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxlbmNhcHN1bGF0aW9uOlduLk5vbmV9XX1dLG51bGwsbnVsbCk7Y2xhc3MgVTF7fVUxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxVMSl9LFUxLsm1Y21wPXNvKHt0eXBlOlUxLHNlbGVjdG9yczpbWyJjZGstcm93Il0sWyJ0ciIsImNkay1yb3ciLCIiXV0saG9zdEF0dHJzOlsicm9sZSIsInJvdyIsMSwiY2RrLXJvdyJdLGRlY2xzOjEsdmFyczowLGNvbnN0czpbWyJjZGtDZWxsT3V0bGV0IiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlBmKDAsMCl9LGRpcmVjdGl2ZXM6W0IxXSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFUxLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImNkay1yb3csIHRyW2Nkay1yb3ddIix0ZW1wbGF0ZTpUMSxob3N0OntjbGFzczoiY2RrLXJvdyIscm9sZToicm93In0sY2hhbmdlRGV0ZWN0aW9uOmpuLkRlZmF1bHQsZW5jYXBzdWxhdGlvbjpXbi5Ob25lfV19XSxudWxsLG51bGwpO2NsYXNzIFcxe2NvbnN0cnVjdG9yKHQpe3RoaXMudGVtcGxhdGVSZWY9dH19VzEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFcxKShnZihFYikpfSxXMS7JtWRpcj1obyh7dHlwZTpXMSxzZWxlY3RvcnM6W1sibmctdGVtcGxhdGUiLCJjZGtOb0RhdGFSb3ciLCIiXV19KSxXMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkVifV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihXMSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJuZy10ZW1wbGF0ZVtjZGtOb0RhdGFSb3ddIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkVifV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IEcxPVsidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Il07Y2xhc3MgWTF7Y29uc3RydWN0b3IodCxlLG4sbyxpPSEwLGE9ITAscil7dGhpcy5faXNOYXRpdmVIdG1sVGFibGU9dCx0aGlzLl9zdGlja0NlbGxDc3M9ZSx0aGlzLmRpcmVjdGlvbj1uLHRoaXMuX2NvYWxlc2NlZFN0eWxlU2NoZWR1bGVyPW8sdGhpcy5faXNCcm93c2VyPWksdGhpcy5fbmVlZHNQb3NpdGlvblN0aWNreU9uRWxlbWVudD1hLHRoaXMuX3Bvc2l0aW9uTGlzdGVuZXI9cix0aGlzLl9jYWNoZWRDZWxsV2lkdGhzPVtdLHRoaXMuX2JvcmRlckNlbGxDc3M9e3RvcDpgJHtlfS1ib3JkZXItZWxlbS10b3BgLGJvdHRvbTpgJHtlfS1ib3JkZXItZWxlbS1ib3R0b21gLGxlZnQ6YCR7ZX0tYm9yZGVyLWVsZW0tbGVmdGAscmlnaHQ6YCR7ZX0tYm9yZGVyLWVsZW0tcmlnaHRgfX1jbGVhclN0aWNreVBvc2l0aW9uaW5nKHQsZSl7Y29uc3Qgbj1bXTtmb3IoY29uc3QgZSBvZiB0KWlmKGUubm9kZVR5cGU9PT1lLkVMRU1FTlRfTk9ERSl7bi5wdXNoKGUpO2ZvcihsZXQgdD0wO3Q8ZS5jaGlsZHJlbi5sZW5ndGg7dCsrKW4ucHVzaChlLmNoaWxkcmVuW3RdKX10aGlzLl9jb2FsZXNjZWRTdHlsZVNjaGVkdWxlci5zY2hlZHVsZSgoKCk9Pntmb3IoY29uc3QgdCBvZiBuKXRoaXMuX3JlbW92ZVN0aWNreVN0eWxlKHQsZSl9KSl9dXBkYXRlU3RpY2t5Q29sdW1ucyh0LGUsbixvPSEwKXtpZighdC5sZW5ndGh8fCF0aGlzLl9pc0Jyb3dzZXJ8fCFlLnNvbWUoKHQ9PnQpKSYmIW4uc29tZSgodD0+dCkpKXJldHVybiB2b2lkKHRoaXMuX3Bvc2l0aW9uTGlzdGVuZXImJih0aGlzLl9wb3NpdGlvbkxpc3RlbmVyLnN0aWNreUNvbHVtbnNVcGRhdGVkKHtzaXplczpbXX0pLHRoaXMuX3Bvc2l0aW9uTGlzdGVuZXIuc3RpY2t5RW5kQ29sdW1uc1VwZGF0ZWQoe3NpemVzOltdfSkpKTtjb25zdCBpPXRbMF0sYT1pLmNoaWxkcmVuLmxlbmd0aCxyPXRoaXMuX2dldENlbGxXaWR0aHMoaSxvKSxzPXRoaXMuX2dldFN0aWNreVN0YXJ0Q29sdW1uUG9zaXRpb25zKHIsZSksbD10aGlzLl9nZXRTdGlja3lFbmRDb2x1bW5Qb3NpdGlvbnMocixuKSxjPWUubGFzdEluZGV4T2YoITApLGQ9bi5pbmRleE9mKCEwKTt0aGlzLl9jb2FsZXNjZWRTdHlsZVNjaGVkdWxlci5zY2hlZHVsZSgoKCk9Pntjb25zdCBvPSJydGwiPT09dGhpcy5kaXJlY3Rpb24saT1vPyJyaWdodCI6ImxlZnQiLHA9bz8ibGVmdCI6InJpZ2h0Ijtmb3IoY29uc3QgbyBvZiB0KWZvcihsZXQgdD0wO3Q8YTt0Kyspe2NvbnN0IGE9by5jaGlsZHJlblt0XTtlW3RdJiZ0aGlzLl9hZGRTdGlja3lTdHlsZShhLGksc1t0XSx0PT09Yyksblt0XSYmdGhpcy5fYWRkU3RpY2t5U3R5bGUoYSxwLGxbdF0sdD09PWQpfXRoaXMuX3Bvc2l0aW9uTGlzdGVuZXImJih0aGlzLl9wb3NpdGlvbkxpc3RlbmVyLnN0aWNreUNvbHVtbnNVcGRhdGVkKHtzaXplczotMT09PWM/W106ci5zbGljZSgwLGMrMSkubWFwKCgodCxuKT0+ZVtuXT90Om51bGwpKX0pLHRoaXMuX3Bvc2l0aW9uTGlzdGVuZXIuc3RpY2t5RW5kQ29sdW1uc1VwZGF0ZWQoe3NpemVzOi0xPT09ZD9bXTpyLnNsaWNlKGQpLm1hcCgoKHQsZSk9Pm5bZStkXT90Om51bGwpKS5yZXZlcnNlKCl9KSl9KSl9c3RpY2tSb3dzKHQsZSxuKXtpZighdGhpcy5faXNCcm93c2VyKXJldHVybjtjb25zdCBvPSJib3R0b20iPT09bj90LnNsaWNlKCkucmV2ZXJzZSgpOnQsaT0iYm90dG9tIj09PW4/ZS5zbGljZSgpLnJldmVyc2UoKTplLGE9W10scj1bXSxzPVtdO2ZvcihsZXQgdD0wLGU9MDt0PG8ubGVuZ3RoO3QrKyl7aWYoIWlbdF0pY29udGludWU7YVt0XT1lO2NvbnN0IG49b1t0XTtzW3RdPXRoaXMuX2lzTmF0aXZlSHRtbFRhYmxlP0FycmF5LmZyb20obi5jaGlsZHJlbik6W25dO2NvbnN0IGw9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7ZSs9bCxyW3RdPWx9Y29uc3QgbD1pLmxhc3RJbmRleE9mKCEwKTt0aGlzLl9jb2FsZXNjZWRTdHlsZVNjaGVkdWxlci5zY2hlZHVsZSgoKCk9Pnt2YXIgdCxlO2ZvcihsZXQgdD0wO3Q8by5sZW5ndGg7dCsrKXtpZighaVt0XSljb250aW51ZTtjb25zdCBlPWFbdF0sbz10PT09bDtmb3IoY29uc3QgaSBvZiBzW3RdKXRoaXMuX2FkZFN0aWNreVN0eWxlKGksbixlLG8pfSJ0b3AiPT09bj9udWxsPT09KHQ9dGhpcy5fcG9zaXRpb25MaXN0ZW5lcil8fHZvaWQgMD09PXR8fHQuc3RpY2t5SGVhZGVyUm93c1VwZGF0ZWQoe3NpemVzOnIsb2Zmc2V0czphLGVsZW1lbnRzOnN9KTpudWxsPT09KGU9dGhpcy5fcG9zaXRpb25MaXN0ZW5lcil8fHZvaWQgMD09PWV8fGUuc3RpY2t5Rm9vdGVyUm93c1VwZGF0ZWQoe3NpemVzOnIsb2Zmc2V0czphLGVsZW1lbnRzOnN9KX0pKX11cGRhdGVTdGlja3lGb290ZXJDb250YWluZXIodCxlKXtpZighdGhpcy5faXNOYXRpdmVIdG1sVGFibGUpcmV0dXJuO2NvbnN0IG49dC5xdWVyeVNlbGVjdG9yKCJ0Zm9vdCIpO3RoaXMuX2NvYWxlc2NlZFN0eWxlU2NoZWR1bGVyLnNjaGVkdWxlKCgoKT0+e2Uuc29tZSgodD0+IXQpKT90aGlzLl9yZW1vdmVTdGlja3lTdHlsZShuLFsiYm90dG9tIl0pOnRoaXMuX2FkZFN0aWNreVN0eWxlKG4sImJvdHRvbSIsMCwhMSl9KSl9X3JlbW92ZVN0aWNreVN0eWxlKHQsZSl7Zm9yKGNvbnN0IG4gb2YgZSl0LnN0eWxlW25dPSIiLHQuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9ib3JkZXJDZWxsQ3NzW25dKTtHMS5zb21lKChuPT4tMT09PWUuaW5kZXhPZihuKSYmdC5zdHlsZVtuXSkpP3Quc3R5bGUuekluZGV4PXRoaXMuX2dldENhbGN1bGF0ZWRaSW5kZXgodCk6KHQuc3R5bGUuekluZGV4PSIiLHRoaXMuX25lZWRzUG9zaXRpb25TdGlja3lPbkVsZW1lbnQmJih0LnN0eWxlLnBvc2l0aW9uPSIiKSx0LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fc3RpY2tDZWxsQ3NzKSl9X2FkZFN0aWNreVN0eWxlKHQsZSxuLG8pe3QuY2xhc3NMaXN0LmFkZCh0aGlzLl9zdGlja0NlbGxDc3MpLG8mJnQuY2xhc3NMaXN0LmFkZCh0aGlzLl9ib3JkZXJDZWxsQ3NzW2VdKSx0LnN0eWxlW2VdPWAke259cHhgLHQuc3R5bGUuekluZGV4PXRoaXMuX2dldENhbGN1bGF0ZWRaSW5kZXgodCksdGhpcy5fbmVlZHNQb3NpdGlvblN0aWNreU9uRWxlbWVudCYmKHQuc3R5bGUuY3NzVGV4dCs9InBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTsgcG9zaXRpb246IHN0aWNreTsgIil9X2dldENhbGN1bGF0ZWRaSW5kZXgodCl7Y29uc3QgZT17dG9wOjEwMCxib3R0b206MTAsbGVmdDoxLHJpZ2h0OjF9O2xldCBuPTA7Zm9yKGNvbnN0IG8gb2YgRzEpdC5zdHlsZVtvXSYmKG4rPWVbb10pO3JldHVybiBuP2Ake259YDoiIn1fZ2V0Q2VsbFdpZHRocyh0LGU9ITApe2lmKCFlJiZ0aGlzLl9jYWNoZWRDZWxsV2lkdGhzLmxlbmd0aClyZXR1cm4gdGhpcy5fY2FjaGVkQ2VsbFdpZHRocztjb25zdCBuPVtdLG89dC5jaGlsZHJlbjtmb3IobGV0IHQ9MDt0PG8ubGVuZ3RoO3QrKyl7bi5wdXNoKG9bdF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpfXJldHVybiB0aGlzLl9jYWNoZWRDZWxsV2lkdGhzPW4sbn1fZ2V0U3RpY2t5U3RhcnRDb2x1bW5Qb3NpdGlvbnModCxlKXtjb25zdCBuPVtdO2xldCBvPTA7Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspZVtpXSYmKG5baV09byxvKz10W2ldKTtyZXR1cm4gbn1fZ2V0U3RpY2t5RW5kQ29sdW1uUG9zaXRpb25zKHQsZSl7Y29uc3Qgbj1bXTtsZXQgbz0wO2ZvcihsZXQgaT10Lmxlbmd0aDtpPjA7aS0tKWVbaV0mJihuW2ldPW8sbys9dFtpXSk7cmV0dXJuIG59fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBxMSh0KXtyZXR1cm4gRXJyb3IoYENvdWxkIG5vdCBmaW5kIGNvbHVtbiB3aXRoIGlkICIke3R9Ii5gKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFoxPW5ldyBlcigiQ0RLX1NQTCIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBYMXt9WDEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFgxKX0sWDEuybVkaXI9aG8oe3R5cGU6WDEsc2VsZWN0b3JzOltbImNkay10YWJsZSIsInJlY3ljbGVSb3dzIiwiIl0sWyJ0YWJsZSIsImNkay10YWJsZSIsIiIsInJlY3ljbGVSb3dzIiwiIl1dLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6V0wsdXNlQ2xhc3M6Vkx9XSldfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYMSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJjZGstdGFibGVbcmVjeWNsZVJvd3NdLCB0YWJsZVtjZGstdGFibGVdW3JlY3ljbGVSb3dzXSIscHJvdmlkZXJzOlt7cHJvdmlkZTpXTCx1c2VDbGFzczpWTH1dfV19XSxudWxsLG51bGwpO2NsYXNzIEsxe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy52aWV3Q29udGFpbmVyPXQsdGhpcy5lbGVtZW50UmVmPWV9fUsxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxLMSkoZ2YoRmIpLGdmKEtoKSl9LEsxLsm1ZGlyPWhvKHt0eXBlOksxLHNlbGVjdG9yczpbWyIiLCJyb3dPdXRsZXQiLCIiXV19KSxLMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkZifSx7dHlwZTpLaH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSzEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW3Jvd091dGxldF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RmJ9LHt0eXBlOktofV19KSxudWxsKTtjbGFzcyBKMXtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMudmlld0NvbnRhaW5lcj10LHRoaXMuZWxlbWVudFJlZj1lfX1KMS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SjEpKGdmKEZiKSxnZihLaCkpfSxKMS7JtWRpcj1obyh7dHlwZTpKMSxzZWxlY3RvcnM6W1siIiwiaGVhZGVyUm93T3V0bGV0IiwiIl1dfSksSjEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpGYn0se3R5cGU6S2h9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEoxLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltoZWFkZXJSb3dPdXRsZXRdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkZifSx7dHlwZTpLaH1dfSksbnVsbCk7Y2xhc3MgUTF7Y29uc3RydWN0b3IodCxlKXt0aGlzLnZpZXdDb250YWluZXI9dCx0aGlzLmVsZW1lbnRSZWY9ZX19UTEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFExKShnZihGYiksZ2YoS2gpKX0sUTEuybVkaXI9aG8oe3R5cGU6UTEsc2VsZWN0b3JzOltbIiIsImZvb3RlclJvd091dGxldCIsIiJdXX0pLFExLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RmJ9LHt0eXBlOktofV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihRMSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbZm9vdGVyUm93T3V0bGV0XSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpGYn0se3R5cGU6S2h9XX0pLG51bGwpO2NsYXNzICQxe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy52aWV3Q29udGFpbmVyPXQsdGhpcy5lbGVtZW50UmVmPWV9fSQxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHwkMSkoZ2YoRmIpLGdmKEtoKSl9LCQxLsm1ZGlyPWhvKHt0eXBlOiQxLHNlbGVjdG9yczpbWyIiLCJub0RhdGFSb3dPdXRsZXQiLCIiXV19KSwkMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkZifSx7dHlwZTpLaH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJDEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW25vRGF0YVJvd091dGxldF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RmJ9LHt0eXBlOktofV19KSxudWxsKTtjb25zdCB0Mz0nXG4gIDxuZy1jb250ZW50IHNlbGVjdD0iY2FwdGlvbiI+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBzZWxlY3Q9ImNvbGdyb3VwLCBjb2wiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRhaW5lciBoZWFkZXJSb3dPdXRsZXQ+PC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgcm93T3V0bGV0PjwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIG5vRGF0YVJvd091dGxldD48L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBmb290ZXJSb3dPdXRsZXQ+PC9uZy1jb250YWluZXI+XG4nO2NsYXNzIGUze2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMsZCl7dGhpcy5fZGlmZmVycz10LHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPWUsdGhpcy5fZWxlbWVudFJlZj1uLHRoaXMuX2Rpcj1pLHRoaXMuX3BsYXRmb3JtPXIsdGhpcy5fdmlld1JlcGVhdGVyPXMsdGhpcy5fY29hbGVzY2VkU3R5bGVTY2hlZHVsZXI9bCx0aGlzLl92aWV3cG9ydFJ1bGVyPWMsdGhpcy5fc3RpY2t5UG9zaXRpb25pbmdMaXN0ZW5lcj1kLHRoaXMuX29uRGVzdHJveT1uZXcgQix0aGlzLl9jb2x1bW5EZWZzQnlOYW1lPW5ldyBNYXAsdGhpcy5fY3VzdG9tQ29sdW1uRGVmcz1uZXcgU2V0LHRoaXMuX2N1c3RvbVJvd0RlZnM9bmV3IFNldCx0aGlzLl9jdXN0b21IZWFkZXJSb3dEZWZzPW5ldyBTZXQsdGhpcy5fY3VzdG9tRm9vdGVyUm93RGVmcz1uZXcgU2V0LHRoaXMuX2hlYWRlclJvd0RlZkNoYW5nZWQ9ITAsdGhpcy5fZm9vdGVyUm93RGVmQ2hhbmdlZD0hMCx0aGlzLl9zdGlja3lDb2x1bW5TdHlsZXNOZWVkUmVzZXQ9ITAsdGhpcy5fZm9yY2VSZWNhbGN1bGF0ZUNlbGxXaWR0aHM9ITAsdGhpcy5fY2FjaGVkUmVuZGVyUm93c01hcD1uZXcgTWFwLHRoaXMuc3RpY2t5Q3NzQ2xhc3M9ImNkay10YWJsZS1zdGlja3kiLHRoaXMubmVlZHNQb3NpdGlvblN0aWNreU9uRWxlbWVudD0hMCx0aGlzLl9pc1Nob3dpbmdOb0RhdGFSb3c9ITEsdGhpcy5fbXVsdGlUZW1wbGF0ZURhdGFSb3dzPSExLHRoaXMuX2ZpeGVkTGF5b3V0PSExLHRoaXMuY29udGVudENoYW5nZWQ9bmV3IFN5LHRoaXMudmlld0NoYW5nZT1uZXcgaih7c3RhcnQ6MCxlbmQ6TnVtYmVyLk1BWF9WQUxVRX0pLG98fHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0YWJsZSIpLHRoaXMuX2RvY3VtZW50PWEsdGhpcy5faXNOYXRpdmVIdG1sVGFibGU9IlRBQkxFIj09PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5ub2RlTmFtZX1nZXQgdHJhY2tCeSgpe3JldHVybiB0aGlzLl90cmFja0J5Rm59c2V0IHRyYWNrQnkodCl7InVuZGVmaW5lZCIhPXR5cGVvZiBuZ0Rldk1vZGUmJiFuZ0Rldk1vZGV8fG51bGw9PXR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0fHxjb25zb2xlLndhcm4oYHRyYWNrQnkgbXVzdCBiZSBhIGZ1bmN0aW9uLCBidXQgcmVjZWl2ZWQgJHtKU09OLnN0cmluZ2lmeSh0KX0uYCksdGhpcy5fdHJhY2tCeUZuPXR9Z2V0IGRhdGFTb3VyY2UoKXtyZXR1cm4gdGhpcy5fZGF0YVNvdXJjZX1zZXQgZGF0YVNvdXJjZSh0KXt0aGlzLl9kYXRhU291cmNlIT09dCYmdGhpcy5fc3dpdGNoRGF0YVNvdXJjZSh0KX1nZXQgbXVsdGlUZW1wbGF0ZURhdGFSb3dzKCl7cmV0dXJuIHRoaXMuX211bHRpVGVtcGxhdGVEYXRhUm93c31zZXQgbXVsdGlUZW1wbGF0ZURhdGFSb3dzKHQpe3RoaXMuX211bHRpVGVtcGxhdGVEYXRhUm93cz1lSCh0KSx0aGlzLl9yb3dPdXRsZXQmJnRoaXMuX3Jvd091dGxldC52aWV3Q29udGFpbmVyLmxlbmd0aCYmKHRoaXMuX2ZvcmNlUmVuZGVyRGF0YVJvd3MoKSx0aGlzLnVwZGF0ZVN0aWNreUNvbHVtblN0eWxlcygpKX1nZXQgZml4ZWRMYXlvdXQoKXtyZXR1cm4gdGhpcy5fZml4ZWRMYXlvdXR9c2V0IGZpeGVkTGF5b3V0KHQpe3RoaXMuX2ZpeGVkTGF5b3V0PWVIKHQpLHRoaXMuX2ZvcmNlUmVjYWxjdWxhdGVDZWxsV2lkdGhzPSEwLHRoaXMuX3N0aWNreUNvbHVtblN0eWxlc05lZWRSZXNldD0hMH1uZ09uSW5pdCgpe3RoaXMuX3NldHVwU3RpY2t5U3R5bGVyKCksdGhpcy5faXNOYXRpdmVIdG1sVGFibGUmJnRoaXMuX2FwcGx5TmF0aXZlVGFibGVTZWN0aW9ucygpLHRoaXMuX2RhdGFEaWZmZXI9dGhpcy5fZGlmZmVycy5maW5kKFtdKS5jcmVhdGUoKCh0LGUpPT50aGlzLnRyYWNrQnk/dGhpcy50cmFja0J5KGUuZGF0YUluZGV4LGUuZGF0YSk6ZSkpLHRoaXMuX3ZpZXdwb3J0UnVsZXIuY2hhbmdlKCkucGlwZShqZSh0aGlzLl9vbkRlc3Ryb3kpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fZm9yY2VSZWNhbGN1bGF0ZUNlbGxXaWR0aHM9ITB9KSl9bmdBZnRlckNvbnRlbnRDaGVja2VkKCl7aWYodGhpcy5fY2FjaGVSb3dEZWZzKCksdGhpcy5fY2FjaGVDb2x1bW5EZWZzKCksIXRoaXMuX2hlYWRlclJvd0RlZnMubGVuZ3RoJiYhdGhpcy5fZm9vdGVyUm93RGVmcy5sZW5ndGgmJiF0aGlzLl9yb3dEZWZzLmxlbmd0aCYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93KGZ1bmN0aW9uIHQoKXtyZXR1cm4gRXJyb3IoIk1pc3NpbmcgZGVmaW5pdGlvbnMgZm9yIGhlYWRlciwgZm9vdGVyLCBhbmQgcm93OyBjYW5ub3QgZGV0ZXJtaW5lIHdoaWNoIGNvbHVtbnMgc2hvdWxkIGJlIHJlbmRlcmVkLiIpfSkoKTtjb25zdCBlPXRoaXMuX3JlbmRlclVwZGF0ZWRDb2x1bW5zKCl8fHRoaXMuX2hlYWRlclJvd0RlZkNoYW5nZWR8fHRoaXMuX2Zvb3RlclJvd0RlZkNoYW5nZWQ7dGhpcy5fc3RpY2t5Q29sdW1uU3R5bGVzTmVlZFJlc2V0PXRoaXMuX3N0aWNreUNvbHVtblN0eWxlc05lZWRSZXNldHx8ZSx0aGlzLl9mb3JjZVJlY2FsY3VsYXRlQ2VsbFdpZHRocz1lLHRoaXMuX2hlYWRlclJvd0RlZkNoYW5nZWQmJih0aGlzLl9mb3JjZVJlbmRlckhlYWRlclJvd3MoKSx0aGlzLl9oZWFkZXJSb3dEZWZDaGFuZ2VkPSExKSx0aGlzLl9mb290ZXJSb3dEZWZDaGFuZ2VkJiYodGhpcy5fZm9yY2VSZW5kZXJGb290ZXJSb3dzKCksdGhpcy5fZm9vdGVyUm93RGVmQ2hhbmdlZD0hMSksdGhpcy5kYXRhU291cmNlJiZ0aGlzLl9yb3dEZWZzLmxlbmd0aD4wJiYhdGhpcy5fcmVuZGVyQ2hhbmdlU3Vic2NyaXB0aW9uP3RoaXMuX29ic2VydmVSZW5kZXJDaGFuZ2VzKCk6dGhpcy5fc3RpY2t5Q29sdW1uU3R5bGVzTmVlZFJlc2V0JiZ0aGlzLnVwZGF0ZVN0aWNreUNvbHVtblN0eWxlcygpLHRoaXMuX2NoZWNrU3RpY2t5U3RhdGVzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLl9yb3dPdXRsZXQudmlld0NvbnRhaW5lci5jbGVhcigpLHRoaXMuX25vRGF0YVJvd091dGxldC52aWV3Q29udGFpbmVyLmNsZWFyKCksdGhpcy5faGVhZGVyUm93T3V0bGV0LnZpZXdDb250YWluZXIuY2xlYXIoKSx0aGlzLl9mb290ZXJSb3dPdXRsZXQudmlld0NvbnRhaW5lci5jbGVhcigpLHRoaXMuX2NhY2hlZFJlbmRlclJvd3NNYXAuY2xlYXIoKSx0aGlzLl9vbkRlc3Ryb3kubmV4dCgpLHRoaXMuX29uRGVzdHJveS5jb21wbGV0ZSgpLEZMKHRoaXMuZGF0YVNvdXJjZSkmJnRoaXMuZGF0YVNvdXJjZS5kaXNjb25uZWN0KHRoaXMpfXJlbmRlclJvd3MoKXt0aGlzLl9yZW5kZXJSb3dzPXRoaXMuX2dldEFsbFJlbmRlclJvd3MoKTtjb25zdCB0PXRoaXMuX2RhdGFEaWZmZXIuZGlmZih0aGlzLl9yZW5kZXJSb3dzKTtpZighdClyZXR1cm4gdGhpcy5fdXBkYXRlTm9EYXRhUm93KCksdm9pZCB0aGlzLmNvbnRlbnRDaGFuZ2VkLm5leHQoKTtjb25zdCBlPXRoaXMuX3Jvd091dGxldC52aWV3Q29udGFpbmVyO3RoaXMuX3ZpZXdSZXBlYXRlci5hcHBseUNoYW5nZXModCxlLCgodCxlLG4pPT50aGlzLl9nZXRFbWJlZGRlZFZpZXdBcmdzKHQuaXRlbSxuKSksKHQ9PnQuaXRlbS5kYXRhKSwodD0+ezE9PT10Lm9wZXJhdGlvbiYmdC5jb250ZXh0JiZ0aGlzLl9yZW5kZXJDZWxsVGVtcGxhdGVGb3JJdGVtKHQucmVjb3JkLml0ZW0ucm93RGVmLHQuY29udGV4dCl9KSksdGhpcy5fdXBkYXRlUm93SW5kZXhDb250ZXh0KCksdC5mb3JFYWNoSWRlbnRpdHlDaGFuZ2UoKHQ9PntlLmdldCh0LmN1cnJlbnRJbmRleCkuY29udGV4dC4kaW1wbGljaXQ9dC5pdGVtLmRhdGF9KSksdGhpcy5fdXBkYXRlTm9EYXRhUm93KCksdGhpcy51cGRhdGVTdGlja3lDb2x1bW5TdHlsZXMoKSx0aGlzLmNvbnRlbnRDaGFuZ2VkLm5leHQoKX1hZGRDb2x1bW5EZWYodCl7dGhpcy5fY3VzdG9tQ29sdW1uRGVmcy5hZGQodCl9cmVtb3ZlQ29sdW1uRGVmKHQpe3RoaXMuX2N1c3RvbUNvbHVtbkRlZnMuZGVsZXRlKHQpfWFkZFJvd0RlZih0KXt0aGlzLl9jdXN0b21Sb3dEZWZzLmFkZCh0KX1yZW1vdmVSb3dEZWYodCl7dGhpcy5fY3VzdG9tUm93RGVmcy5kZWxldGUodCl9YWRkSGVhZGVyUm93RGVmKHQpe3RoaXMuX2N1c3RvbUhlYWRlclJvd0RlZnMuYWRkKHQpLHRoaXMuX2hlYWRlclJvd0RlZkNoYW5nZWQ9ITB9cmVtb3ZlSGVhZGVyUm93RGVmKHQpe3RoaXMuX2N1c3RvbUhlYWRlclJvd0RlZnMuZGVsZXRlKHQpLHRoaXMuX2hlYWRlclJvd0RlZkNoYW5nZWQ9ITB9YWRkRm9vdGVyUm93RGVmKHQpe3RoaXMuX2N1c3RvbUZvb3RlclJvd0RlZnMuYWRkKHQpLHRoaXMuX2Zvb3RlclJvd0RlZkNoYW5nZWQ9ITB9cmVtb3ZlRm9vdGVyUm93RGVmKHQpe3RoaXMuX2N1c3RvbUZvb3RlclJvd0RlZnMuZGVsZXRlKHQpLHRoaXMuX2Zvb3RlclJvd0RlZkNoYW5nZWQ9ITB9c2V0Tm9EYXRhUm93KHQpe3RoaXMuX2N1c3RvbU5vRGF0YVJvdz10fXVwZGF0ZVN0aWNreUhlYWRlclJvd1N0eWxlcygpe2NvbnN0IHQ9dGhpcy5fZ2V0UmVuZGVyZWRSb3dzKHRoaXMuX2hlYWRlclJvd091dGxldCksZT10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigidGhlYWQiKTtlJiYoZS5zdHlsZS5kaXNwbGF5PXQubGVuZ3RoPyIiOiJub25lIik7Y29uc3Qgbj10aGlzLl9oZWFkZXJSb3dEZWZzLm1hcCgodD0+dC5zdGlja3kpKTt0aGlzLl9zdGlja3lTdHlsZXIuY2xlYXJTdGlja3lQb3NpdGlvbmluZyh0LFsidG9wIl0pLHRoaXMuX3N0aWNreVN0eWxlci5zdGlja1Jvd3ModCxuLCJ0b3AiKSx0aGlzLl9oZWFkZXJSb3dEZWZzLmZvckVhY2goKHQ9PnQucmVzZXRTdGlja3lDaGFuZ2VkKCkpKX11cGRhdGVTdGlja3lGb290ZXJSb3dTdHlsZXMoKXtjb25zdCB0PXRoaXMuX2dldFJlbmRlcmVkUm93cyh0aGlzLl9mb290ZXJSb3dPdXRsZXQpLGU9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoInRmb290Iik7ZSYmKGUuc3R5bGUuZGlzcGxheT10Lmxlbmd0aD8iIjoibm9uZSIpO2NvbnN0IG49dGhpcy5fZm9vdGVyUm93RGVmcy5tYXAoKHQ9PnQuc3RpY2t5KSk7dGhpcy5fc3RpY2t5U3R5bGVyLmNsZWFyU3RpY2t5UG9zaXRpb25pbmcodCxbImJvdHRvbSJdKSx0aGlzLl9zdGlja3lTdHlsZXIuc3RpY2tSb3dzKHQsbiwiYm90dG9tIiksdGhpcy5fc3RpY2t5U3R5bGVyLnVwZGF0ZVN0aWNreUZvb3RlckNvbnRhaW5lcih0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsbiksdGhpcy5fZm9vdGVyUm93RGVmcy5mb3JFYWNoKCh0PT50LnJlc2V0U3RpY2t5Q2hhbmdlZCgpKSl9dXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCl7Y29uc3QgdD10aGlzLl9nZXRSZW5kZXJlZFJvd3ModGhpcy5faGVhZGVyUm93T3V0bGV0KSxlPXRoaXMuX2dldFJlbmRlcmVkUm93cyh0aGlzLl9yb3dPdXRsZXQpLG49dGhpcy5fZ2V0UmVuZGVyZWRSb3dzKHRoaXMuX2Zvb3RlclJvd091dGxldCk7KHRoaXMuX2lzTmF0aXZlSHRtbFRhYmxlJiYhdGhpcy5fZml4ZWRMYXlvdXR8fHRoaXMuX3N0aWNreUNvbHVtblN0eWxlc05lZWRSZXNldCkmJih0aGlzLl9zdGlja3lTdHlsZXIuY2xlYXJTdGlja3lQb3NpdGlvbmluZyhbLi4udCwuLi5lLC4uLm5dLFsibGVmdCIsInJpZ2h0Il0pLHRoaXMuX3N0aWNreUNvbHVtblN0eWxlc05lZWRSZXNldD0hMSksdC5mb3JFYWNoKCgodCxlKT0+e3RoaXMuX2FkZFN0aWNreUNvbHVtblN0eWxlcyhbdF0sdGhpcy5faGVhZGVyUm93RGVmc1tlXSl9KSksdGhpcy5fcm93RGVmcy5mb3JFYWNoKCh0PT57Y29uc3Qgbj1bXTtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl0aGlzLl9yZW5kZXJSb3dzW29dLnJvd0RlZj09PXQmJm4ucHVzaChlW29dKTt0aGlzLl9hZGRTdGlja3lDb2x1bW5TdHlsZXMobix0KX0pKSxuLmZvckVhY2goKCh0LGUpPT57dGhpcy5fYWRkU3RpY2t5Q29sdW1uU3R5bGVzKFt0XSx0aGlzLl9mb290ZXJSb3dEZWZzW2VdKX0pKSxBcnJheS5mcm9tKHRoaXMuX2NvbHVtbkRlZnNCeU5hbWUudmFsdWVzKCkpLmZvckVhY2goKHQ9PnQucmVzZXRTdGlja3lDaGFuZ2VkKCkpKX1fZ2V0QWxsUmVuZGVyUm93cygpe2NvbnN0IHQ9W10sZT10aGlzLl9jYWNoZWRSZW5kZXJSb3dzTWFwO3RoaXMuX2NhY2hlZFJlbmRlclJvd3NNYXA9bmV3IE1hcDtmb3IobGV0IG49MDtuPHRoaXMuX2RhdGEubGVuZ3RoO24rKyl7bGV0IG89dGhpcy5fZGF0YVtuXTtjb25zdCBpPXRoaXMuX2dldFJlbmRlclJvd3NGb3JEYXRhKG8sbixlLmdldChvKSk7dGhpcy5fY2FjaGVkUmVuZGVyUm93c01hcC5oYXMobyl8fHRoaXMuX2NhY2hlZFJlbmRlclJvd3NNYXAuc2V0KG8sbmV3IFdlYWtNYXApO2ZvcihsZXQgZT0wO2U8aS5sZW5ndGg7ZSsrKXtsZXQgbj1pW2VdO2NvbnN0IG89dGhpcy5fY2FjaGVkUmVuZGVyUm93c01hcC5nZXQobi5kYXRhKTtvLmhhcyhuLnJvd0RlZik/by5nZXQobi5yb3dEZWYpLnB1c2gobik6by5zZXQobi5yb3dEZWYsW25dKSx0LnB1c2gobil9fXJldHVybiB0fV9nZXRSZW5kZXJSb3dzRm9yRGF0YSh0LGUsbil7cmV0dXJuIHRoaXMuX2dldFJvd0RlZnModCxlKS5tYXAoKG89Pntjb25zdCBpPW4mJm4uaGFzKG8pP24uZ2V0KG8pOltdO2lmKGkubGVuZ3RoKXtjb25zdCB0PWkuc2hpZnQoKTtyZXR1cm4gdC5kYXRhSW5kZXg9ZSx0fXJldHVybntkYXRhOnQscm93RGVmOm8sZGF0YUluZGV4OmV9fSkpfV9jYWNoZUNvbHVtbkRlZnMoKXt0aGlzLl9jb2x1bW5EZWZzQnlOYW1lLmNsZWFyKCk7bjModGhpcy5fZ2V0T3duRGVmcyh0aGlzLl9jb250ZW50Q29sdW1uRGVmcyksdGhpcy5fY3VzdG9tQ29sdW1uRGVmcykuZm9yRWFjaCgodD0+e2lmKHRoaXMuX2NvbHVtbkRlZnNCeU5hbWUuaGFzKHQubmFtZSkmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyhmdW5jdGlvbiBlKHQpe3JldHVybiBFcnJvcihgRHVwbGljYXRlIGNvbHVtbiBkZWZpbml0aW9uIG5hbWUgcHJvdmlkZWQ6ICIke3R9Ii5gKX0pKHQubmFtZSk7dGhpcy5fY29sdW1uRGVmc0J5TmFtZS5zZXQodC5uYW1lLHQpfSkpfV9jYWNoZVJvd0RlZnMoKXt0aGlzLl9oZWFkZXJSb3dEZWZzPW4zKHRoaXMuX2dldE93bkRlZnModGhpcy5fY29udGVudEhlYWRlclJvd0RlZnMpLHRoaXMuX2N1c3RvbUhlYWRlclJvd0RlZnMpLHRoaXMuX2Zvb3RlclJvd0RlZnM9bjModGhpcy5fZ2V0T3duRGVmcyh0aGlzLl9jb250ZW50Rm9vdGVyUm93RGVmcyksdGhpcy5fY3VzdG9tRm9vdGVyUm93RGVmcyksdGhpcy5fcm93RGVmcz1uMyh0aGlzLl9nZXRPd25EZWZzKHRoaXMuX2NvbnRlbnRSb3dEZWZzKSx0aGlzLl9jdXN0b21Sb3dEZWZzKTtjb25zdCB0PXRoaXMuX3Jvd0RlZnMuZmlsdGVyKCh0PT4hdC53aGVuKSk7aWYoIXRoaXMubXVsdGlUZW1wbGF0ZURhdGFSb3dzJiZ0Lmxlbmd0aD4xJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3coZnVuY3Rpb24gZSgpe3JldHVybiBFcnJvcigiVGhlcmUgY2FuIG9ubHkgYmUgb25lIGRlZmF1bHQgcm93IHdpdGhvdXQgYSB3aGVuIHByZWRpY2F0ZSBmdW5jdGlvbi4iKX0pKCk7dGhpcy5fZGVmYXVsdFJvd0RlZj10WzBdfV9yZW5kZXJVcGRhdGVkQ29sdW1ucygpe2NvbnN0IHQ9KHQsZSk9PnR8fCEhZS5nZXRDb2x1bW5zRGlmZigpLGU9dGhpcy5fcm93RGVmcy5yZWR1Y2UodCwhMSk7ZSYmdGhpcy5fZm9yY2VSZW5kZXJEYXRhUm93cygpO2NvbnN0IG49dGhpcy5faGVhZGVyUm93RGVmcy5yZWR1Y2UodCwhMSk7biYmdGhpcy5fZm9yY2VSZW5kZXJIZWFkZXJSb3dzKCk7Y29uc3Qgbz10aGlzLl9mb290ZXJSb3dEZWZzLnJlZHVjZSh0LCExKTtyZXR1cm4gbyYmdGhpcy5fZm9yY2VSZW5kZXJGb290ZXJSb3dzKCksZXx8bnx8b31fc3dpdGNoRGF0YVNvdXJjZSh0KXt0aGlzLl9kYXRhPVtdLEZMKHRoaXMuZGF0YVNvdXJjZSkmJnRoaXMuZGF0YVNvdXJjZS5kaXNjb25uZWN0KHRoaXMpLHRoaXMuX3JlbmRlckNoYW5nZVN1YnNjcmlwdGlvbiYmKHRoaXMuX3JlbmRlckNoYW5nZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuX3JlbmRlckNoYW5nZVN1YnNjcmlwdGlvbj1udWxsKSx0fHwodGhpcy5fZGF0YURpZmZlciYmdGhpcy5fZGF0YURpZmZlci5kaWZmKFtdKSx0aGlzLl9yb3dPdXRsZXQudmlld0NvbnRhaW5lci5jbGVhcigpKSx0aGlzLl9kYXRhU291cmNlPXR9X29ic2VydmVSZW5kZXJDaGFuZ2VzKCl7aWYoIXRoaXMuZGF0YVNvdXJjZSlyZXR1cm47bGV0IHQ7aWYoRkwodGhpcy5kYXRhU291cmNlKT90PXRoaXMuZGF0YVNvdXJjZS5jb25uZWN0KHRoaXMpOkx0KHRoaXMuZGF0YVNvdXJjZSk/dD10aGlzLmRhdGFTb3VyY2U6QXJyYXkuaXNBcnJheSh0aGlzLmRhdGFTb3VyY2UpJiYodD16dCh0aGlzLmRhdGFTb3VyY2UpKSx2b2lkIDA9PT10JiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3coZnVuY3Rpb24gZSgpe3JldHVybiBFcnJvcigiUHJvdmlkZWQgZGF0YSBzb3VyY2UgZGlkIG5vdCBtYXRjaCBhbiBhcnJheSwgT2JzZXJ2YWJsZSwgb3IgRGF0YVNvdXJjZSIpfSkoKTt0aGlzLl9yZW5kZXJDaGFuZ2VTdWJzY3JpcHRpb249dC5waXBlKGplKHRoaXMuX29uRGVzdHJveSkpLnN1YnNjcmliZSgodD0+e3RoaXMuX2RhdGE9dHx8W10sdGhpcy5yZW5kZXJSb3dzKCl9KSl9X2ZvcmNlUmVuZGVySGVhZGVyUm93cygpe3RoaXMuX2hlYWRlclJvd091dGxldC52aWV3Q29udGFpbmVyLmxlbmd0aD4wJiZ0aGlzLl9oZWFkZXJSb3dPdXRsZXQudmlld0NvbnRhaW5lci5jbGVhcigpLHRoaXMuX2hlYWRlclJvd0RlZnMuZm9yRWFjaCgoKHQsZSk9PnRoaXMuX3JlbmRlclJvdyh0aGlzLl9oZWFkZXJSb3dPdXRsZXQsdCxlKSkpLHRoaXMudXBkYXRlU3RpY2t5SGVhZGVyUm93U3R5bGVzKCl9X2ZvcmNlUmVuZGVyRm9vdGVyUm93cygpe3RoaXMuX2Zvb3RlclJvd091dGxldC52aWV3Q29udGFpbmVyLmxlbmd0aD4wJiZ0aGlzLl9mb290ZXJSb3dPdXRsZXQudmlld0NvbnRhaW5lci5jbGVhcigpLHRoaXMuX2Zvb3RlclJvd0RlZnMuZm9yRWFjaCgoKHQsZSk9PnRoaXMuX3JlbmRlclJvdyh0aGlzLl9mb290ZXJSb3dPdXRsZXQsdCxlKSkpLHRoaXMudXBkYXRlU3RpY2t5Rm9vdGVyUm93U3R5bGVzKCl9X2FkZFN0aWNreUNvbHVtblN0eWxlcyh0LGUpe2NvbnN0IG49QXJyYXkuZnJvbShlLmNvbHVtbnN8fFtdKS5tYXAoKHQ9Pntjb25zdCBlPXRoaXMuX2NvbHVtbkRlZnNCeU5hbWUuZ2V0KHQpO2lmKCFlJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgcTEodCk7cmV0dXJuIGV9KSksbz1uLm1hcCgodD0+dC5zdGlja3kpKSxpPW4ubWFwKCh0PT50LnN0aWNreUVuZCkpO3RoaXMuX3N0aWNreVN0eWxlci51cGRhdGVTdGlja3lDb2x1bW5zKHQsbyxpLCF0aGlzLl9maXhlZExheW91dHx8dGhpcy5fZm9yY2VSZWNhbGN1bGF0ZUNlbGxXaWR0aHMpfV9nZXRSZW5kZXJlZFJvd3ModCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPHQudmlld0NvbnRhaW5lci5sZW5ndGg7bisrKXtjb25zdCBvPXQudmlld0NvbnRhaW5lci5nZXQobik7ZS5wdXNoKG8ucm9vdE5vZGVzWzBdKX1yZXR1cm4gZX1fZ2V0Um93RGVmcyh0LGUpe2lmKDE9PXRoaXMuX3Jvd0RlZnMubGVuZ3RoKXJldHVyblt0aGlzLl9yb3dEZWZzWzBdXTtsZXQgbj1bXTtpZih0aGlzLm11bHRpVGVtcGxhdGVEYXRhUm93cyluPXRoaXMuX3Jvd0RlZnMuZmlsdGVyKChuPT4hbi53aGVufHxuLndoZW4oZSx0KSkpO2Vsc2V7bGV0IG89dGhpcy5fcm93RGVmcy5maW5kKChuPT5uLndoZW4mJm4ud2hlbihlLHQpKSl8fHRoaXMuX2RlZmF1bHRSb3dEZWY7byYmbi5wdXNoKG8pfWlmKCFuLmxlbmd0aCYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93KGZ1bmN0aW9uIG8odCl7cmV0dXJuIEVycm9yKGBDb3VsZCBub3QgZmluZCBhIG1hdGNoaW5nIHJvdyBkZWZpbml0aW9uIGZvciB0aGVwcm92aWRlZCByb3cgZGF0YTogJHtKU09OLnN0cmluZ2lmeSh0KX1gKX0pKHQpO3JldHVybiBufV9nZXRFbWJlZGRlZFZpZXdBcmdzKHQsZSl7cmV0dXJue3RlbXBsYXRlUmVmOnQucm93RGVmLnRlbXBsYXRlLGNvbnRleHQ6eyRpbXBsaWNpdDp0LmRhdGF9LGluZGV4OmV9fV9yZW5kZXJSb3codCxlLG4sbz17fSl7Y29uc3QgaT10LnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KGUudGVtcGxhdGUsbyxuKTtyZXR1cm4gdGhpcy5fcmVuZGVyQ2VsbFRlbXBsYXRlRm9ySXRlbShlLG8pLGl9X3JlbmRlckNlbGxUZW1wbGF0ZUZvckl0ZW0odCxlKXtmb3IobGV0IG4gb2YgdGhpcy5fZ2V0Q2VsbFRlbXBsYXRlcyh0KSlCMS5tb3N0UmVjZW50Q2VsbE91dGxldCYmQjEubW9zdFJlY2VudENlbGxPdXRsZXQuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KG4sZSk7dGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9X3VwZGF0ZVJvd0luZGV4Q29udGV4dCgpe2NvbnN0IHQ9dGhpcy5fcm93T3V0bGV0LnZpZXdDb250YWluZXI7Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXtjb25zdCBvPXQuZ2V0KGUpLmNvbnRleHQ7by5jb3VudD1uLG8uZmlyc3Q9MD09PWUsby5sYXN0PWU9PT1uLTEsby5ldmVuPWUlMj09MCxvLm9kZD0hby5ldmVuLHRoaXMubXVsdGlUZW1wbGF0ZURhdGFSb3dzPyhvLmRhdGFJbmRleD10aGlzLl9yZW5kZXJSb3dzW2VdLmRhdGFJbmRleCxvLnJlbmRlckluZGV4PWUpOm8uaW5kZXg9dGhpcy5fcmVuZGVyUm93c1tlXS5kYXRhSW5kZXh9fV9nZXRDZWxsVGVtcGxhdGVzKHQpe3JldHVybiB0JiZ0LmNvbHVtbnM/QXJyYXkuZnJvbSh0LmNvbHVtbnMsKGU9Pntjb25zdCBuPXRoaXMuX2NvbHVtbkRlZnNCeU5hbWUuZ2V0KGUpO2lmKCFuJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgcTEoZSk7cmV0dXJuIHQuZXh0cmFjdENlbGxUZW1wbGF0ZShuKX0pKTpbXX1fYXBwbHlOYXRpdmVUYWJsZVNlY3Rpb25zKCl7Y29uc3QgdD10aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksZT1be3RhZzoidGhlYWQiLG91dGxldHM6W3RoaXMuX2hlYWRlclJvd091dGxldF19LHt0YWc6InRib2R5IixvdXRsZXRzOlt0aGlzLl9yb3dPdXRsZXQsdGhpcy5fbm9EYXRhUm93T3V0bGV0XX0se3RhZzoidGZvb3QiLG91dGxldHM6W3RoaXMuX2Zvb3RlclJvd091dGxldF19XTtmb3IoY29uc3QgbiBvZiBlKXtjb25zdCBlPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQobi50YWcpO2Uuc2V0QXR0cmlidXRlKCJyb2xlIiwicm93Z3JvdXAiKTtmb3IoY29uc3QgdCBvZiBuLm91dGxldHMpZS5hcHBlbmRDaGlsZCh0LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7dC5hcHBlbmRDaGlsZChlKX10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodCl9X2ZvcmNlUmVuZGVyRGF0YVJvd3MoKXt0aGlzLl9kYXRhRGlmZmVyLmRpZmYoW10pLHRoaXMuX3Jvd091dGxldC52aWV3Q29udGFpbmVyLmNsZWFyKCksdGhpcy5yZW5kZXJSb3dzKCl9X2NoZWNrU3RpY2t5U3RhdGVzKCl7Y29uc3QgdD0odCxlKT0+dHx8ZS5oYXNTdGlja3lDaGFuZ2VkKCk7dGhpcy5faGVhZGVyUm93RGVmcy5yZWR1Y2UodCwhMSkmJnRoaXMudXBkYXRlU3RpY2t5SGVhZGVyUm93U3R5bGVzKCksdGhpcy5fZm9vdGVyUm93RGVmcy5yZWR1Y2UodCwhMSkmJnRoaXMudXBkYXRlU3RpY2t5Rm9vdGVyUm93U3R5bGVzKCksQXJyYXkuZnJvbSh0aGlzLl9jb2x1bW5EZWZzQnlOYW1lLnZhbHVlcygpKS5yZWR1Y2UodCwhMSkmJih0aGlzLl9zdGlja3lDb2x1bW5TdHlsZXNOZWVkUmVzZXQ9ITAsdGhpcy51cGRhdGVTdGlja3lDb2x1bW5TdHlsZXMoKSl9X3NldHVwU3RpY2t5U3R5bGVyKCl7dGhpcy5fc3RpY2t5U3R5bGVyPW5ldyBZMSh0aGlzLl9pc05hdGl2ZUh0bWxUYWJsZSx0aGlzLnN0aWNreUNzc0NsYXNzLHRoaXMuX2Rpcj90aGlzLl9kaXIudmFsdWU6Imx0ciIsdGhpcy5fY29hbGVzY2VkU3R5bGVTY2hlZHVsZXIsdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyLHRoaXMubmVlZHNQb3NpdGlvblN0aWNreU9uRWxlbWVudCx0aGlzLl9zdGlja3lQb3NpdGlvbmluZ0xpc3RlbmVyKSwodGhpcy5fZGlyP3RoaXMuX2Rpci5jaGFuZ2U6enQoKSkucGlwZShqZSh0aGlzLl9vbkRlc3Ryb3kpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLl9zdGlja3lTdHlsZXIuZGlyZWN0aW9uPXQsdGhpcy51cGRhdGVTdGlja3lDb2x1bW5TdHlsZXMoKX0pKX1fZ2V0T3duRGVmcyh0KXtyZXR1cm4gdC5maWx0ZXIoKHQ9PiF0Ll90YWJsZXx8dC5fdGFibGU9PT10aGlzKSl9X3VwZGF0ZU5vRGF0YVJvdygpe2NvbnN0IHQ9dGhpcy5fY3VzdG9tTm9EYXRhUm93fHx0aGlzLl9ub0RhdGFSb3c7aWYodCl7Y29uc3QgZT0wPT09dGhpcy5fcm93T3V0bGV0LnZpZXdDb250YWluZXIubGVuZ3RoO2lmKGUhPT10aGlzLl9pc1Nob3dpbmdOb0RhdGFSb3cpe2NvbnN0IG49dGhpcy5fbm9EYXRhUm93T3V0bGV0LnZpZXdDb250YWluZXI7ZT9uLmNyZWF0ZUVtYmVkZGVkVmlldyh0LnRlbXBsYXRlUmVmKTpuLmNsZWFyKCksdGhpcy5faXNTaG93aW5nTm9EYXRhUm93PWV9fX19ZnVuY3Rpb24gbjModCxlKXtyZXR1cm4gdC5jb25jYXQoQXJyYXkuZnJvbShlKSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2UzLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxlMykoZ2YoaGIpLGdmKE9iKSxnZihLaCksR2EoInJvbGUiKSxnZih2Riw4KSxnZihzTSksZ2YoY0gpLGdmKFdMKSxnZihFMSksZ2YoUUwpLGdmKFoxLDEyKSl9LGUzLsm1Y21wPXNvKHt0eXBlOmUzLHNlbGVjdG9yczpbWyJjZGstdGFibGUiXSxbInRhYmxlIiwiY2RrLXRhYmxlIiwiIl1dLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uIHQoZSxuLG8pe2lmKDEmZSYmKGp5KG8sVzEsNSksankobyxQMSw1KSxqeShvLEwxLDUpLGp5KG8sSTEsNSksankobyxGMSw1KSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5fbm9EYXRhUm93PXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9jb250ZW50Q29sdW1uRGVmcz10KSxCeSh0PVV5KCkpJiYobi5fY29udGVudFJvd0RlZnM9dCksQnkodD1VeSgpKSYmKG4uX2NvbnRlbnRIZWFkZXJSb3dEZWZzPXQpLEJ5KHQ9VXkoKSkmJihuLl9jb250ZW50Rm9vdGVyUm93RGVmcz10KX19LHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoVnkoSzEsNyksVnkoSjEsNyksVnkoUTEsNyksVnkoJDEsNykpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uX3Jvd091dGxldD10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5faGVhZGVyUm93T3V0bGV0PXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9mb290ZXJSb3dPdXRsZXQ9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uX25vRGF0YVJvd091dGxldD10LmZpcnN0KX19LGhvc3RBdHRyczpbMSwiY2RrLXRhYmxlIl0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoImNkay10YWJsZS1maXhlZC1sYXlvdXQiLG4uZml4ZWRMYXlvdXQpfSxpbnB1dHM6e3RyYWNrQnk6InRyYWNrQnkiLGRhdGFTb3VyY2U6ImRhdGFTb3VyY2UiLG11bHRpVGVtcGxhdGVEYXRhUm93czoibXVsdGlUZW1wbGF0ZURhdGFSb3dzIixmaXhlZExheW91dDoiZml4ZWRMYXlvdXQifSxvdXRwdXRzOntjb250ZW50Q2hhbmdlZDoiY29udGVudENoYW5nZWQifSxleHBvcnRBczpbImNka1RhYmxlIl0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpfMSx1c2VFeGlzdGluZzplM30se3Byb3ZpZGU6V0wsdXNlQ2xhc3M6Qkx9LHtwcm92aWRlOkUxLHVzZUNsYXNzOkExfSx7cHJvdmlkZTpaMSx1c2VWYWx1ZTpudWxsfV0pXSxuZ0NvbnRlbnRTZWxlY3RvcnM6WyJjYXB0aW9uIiwiY29sZ3JvdXAsIGNvbCJdLGRlY2xzOjYsdmFyczowLGNvbnN0czpbWyJoZWFkZXJSb3dPdXRsZXQiLCIiXSxbInJvd091dGxldCIsIiJdLFsibm9EYXRhUm93T3V0bGV0IiwiIl0sWyJmb290ZXJSb3dPdXRsZXQiLCIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKEhmKGcxKSxGZigwKSxGZigxLDEpLFBmKDIsMCksUGYoMywxKSxQZig0LDIpLFBmKDUsMykpfSxkaXJlY3RpdmVzOltKMSxLMSwkMSxRMV0sc3R5bGVzOlsiLmNkay10YWJsZS1maXhlZC1sYXlvdXR7dGFibGUtbGF5b3V0OmZpeGVkfVxuIl0sZW5jYXBzdWxhdGlvbjoyfSksZTMuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpoYn0se3R5cGU6T2J9LHt0eXBlOktofSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbInJvbGUiXX1dfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOmNIfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbV0xdfV19LHt0eXBlOkExLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W0UxXX1dfSx7dHlwZTpRTH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpqcn0se3R5cGU6THIsYXJnczpbWjFdfV19XSxlMy5wcm9wRGVjb3JhdG9ycz17dHJhY2tCeTpbe3R5cGU6Ul99XSxkYXRhU291cmNlOlt7dHlwZTpSX31dLG11bHRpVGVtcGxhdGVEYXRhUm93czpbe3R5cGU6Ul99XSxmaXhlZExheW91dDpbe3R5cGU6Ul99XSxjb250ZW50Q2hhbmdlZDpbe3R5cGU6RV99XSxfcm93T3V0bGV0Olt7dHlwZTphcixhcmdzOltLMSx7c3RhdGljOiEwfV19XSxfaGVhZGVyUm93T3V0bGV0Olt7dHlwZTphcixhcmdzOltKMSx7c3RhdGljOiEwfV19XSxfZm9vdGVyUm93T3V0bGV0Olt7dHlwZTphcixhcmdzOltRMSx7c3RhdGljOiEwfV19XSxfbm9EYXRhUm93T3V0bGV0Olt7dHlwZTphcixhcmdzOlskMSx7c3RhdGljOiEwfV19XSxfY29udGVudENvbHVtbkRlZnM6W3t0eXBlOm9yLGFyZ3M6W1AxLHtkZXNjZW5kYW50czohMH1dfV0sX2NvbnRlbnRSb3dEZWZzOlt7dHlwZTpvcixhcmdzOltMMSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9jb250ZW50SGVhZGVyUm93RGVmczpbe3R5cGU6b3IsYXJnczpbSTEse2Rlc2NlbmRhbnRzOiEwfV19XSxfY29udGVudEZvb3RlclJvd0RlZnM6W3t0eXBlOm9yLGFyZ3M6W0YxLHtkZXNjZW5kYW50czohMH1dfV0sX25vRGF0YVJvdzpbe3R5cGU6aXIsYXJnczpbVzFdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZTMsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiY2RrLXRhYmxlLCB0YWJsZVtjZGstdGFibGVdIixleHBvcnRBczoiY2RrVGFibGUiLHRlbXBsYXRlOnQzLGhvc3Q6e2NsYXNzOiJjZGstdGFibGUiLCJbY2xhc3MuY2RrLXRhYmxlLWZpeGVkLWxheW91dF0iOiJmaXhlZExheW91dCJ9LGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxwcm92aWRlcnM6W3twcm92aWRlOl8xLHVzZUV4aXN0aW5nOmUzfSx7cHJvdmlkZTpXTCx1c2VDbGFzczpCTH0se3Byb3ZpZGU6RTEsdXNlQ2xhc3M6QTF9LHtwcm92aWRlOloxLHVzZVZhbHVlOm51bGx9XSxzdHlsZXM6WyIuY2RrLXRhYmxlLWZpeGVkLWxheW91dHt0YWJsZS1sYXlvdXQ6Zml4ZWR9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmhifSx7dHlwZTpPYn0se3R5cGU6S2h9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsicm9sZSJdfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6Y0h9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltXTF19XX0se3R5cGU6QTEsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbRTFdfV19LHt0eXBlOlFMfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOmpyfSx7dHlwZTpMcixhcmdzOltaMV19XX1dfSkse2NvbnRlbnRDaGFuZ2VkOlt7dHlwZTpFX31dLHRyYWNrQnk6W3t0eXBlOlJffV0sZGF0YVNvdXJjZTpbe3R5cGU6Ul99XSxtdWx0aVRlbXBsYXRlRGF0YVJvd3M6W3t0eXBlOlJffV0sZml4ZWRMYXlvdXQ6W3t0eXBlOlJffV0sX3Jvd091dGxldDpbe3R5cGU6YXIsYXJnczpbSzEse3N0YXRpYzohMH1dfV0sX2hlYWRlclJvd091dGxldDpbe3R5cGU6YXIsYXJnczpbSjEse3N0YXRpYzohMH1dfV0sX2Zvb3RlclJvd091dGxldDpbe3R5cGU6YXIsYXJnczpbUTEse3N0YXRpYzohMH1dfV0sX25vRGF0YVJvd091dGxldDpbe3R5cGU6YXIsYXJnczpbJDEse3N0YXRpYzohMH1dfV0sX2NvbnRlbnRDb2x1bW5EZWZzOlt7dHlwZTpvcixhcmdzOltQMSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9jb250ZW50Um93RGVmczpbe3R5cGU6b3IsYXJnczpbTDEse2Rlc2NlbmRhbnRzOiEwfV19XSxfY29udGVudEhlYWRlclJvd0RlZnM6W3t0eXBlOm9yLGFyZ3M6W0kxLHtkZXNjZW5kYW50czohMH1dfV0sX2NvbnRlbnRGb290ZXJSb3dEZWZzOlt7dHlwZTpvcixhcmdzOltGMSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9ub0RhdGFSb3c6W3t0eXBlOmlyLGFyZ3M6W1cxXX1dfSk7Y2xhc3MgbzN7Y29uc3RydWN0b3IodCxlKXt0aGlzLl90YWJsZT10LHRoaXMuX29wdGlvbnM9ZSx0aGlzLmp1c3RpZnk9InN0YXJ0Iix0aGlzLl9vcHRpb25zPWV8fHt9fWdldCBuYW1lKCl7cmV0dXJuIHRoaXMuX25hbWV9c2V0IG5hbWUodCl7dGhpcy5fbmFtZT10LHRoaXMuX3N5bmNDb2x1bW5EZWZOYW1lKCl9bmdPbkluaXQoKXtpZih0aGlzLl9zeW5jQ29sdW1uRGVmTmFtZSgpLHZvaWQgMD09PXRoaXMuaGVhZGVyVGV4dCYmKHRoaXMuaGVhZGVyVGV4dD10aGlzLl9jcmVhdGVEZWZhdWx0SGVhZGVyVGV4dCgpKSx0aGlzLmRhdGFBY2Nlc3Nvcnx8KHRoaXMuZGF0YUFjY2Vzc29yPXRoaXMuX29wdGlvbnMuZGVmYXVsdERhdGFBY2Nlc3Nvcnx8KCh0LGUpPT50W2VdKSksdGhpcy5fdGFibGUpdGhpcy5jb2x1bW5EZWYuY2VsbD10aGlzLmNlbGwsdGhpcy5jb2x1bW5EZWYuaGVhZGVyQ2VsbD10aGlzLmhlYWRlckNlbGwsdGhpcy5fdGFibGUuYWRkQ29sdW1uRGVmKHRoaXMuY29sdW1uRGVmKTtlbHNlIGlmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpdGhyb3coZnVuY3Rpb24gdCgpe3JldHVybiBFcnJvcigiVGV4dCBjb2x1bW4gY291bGQgbm90IGZpbmQgYSBwYXJlbnQgdGFibGUgZm9yIHJlZ2lzdHJhdGlvbi4iKX0pKCl9bmdPbkRlc3Ryb3koKXt0aGlzLl90YWJsZSYmdGhpcy5fdGFibGUucmVtb3ZlQ29sdW1uRGVmKHRoaXMuY29sdW1uRGVmKX1fY3JlYXRlRGVmYXVsdEhlYWRlclRleHQoKXtjb25zdCB0PXRoaXMubmFtZTtpZighdCYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93KGZ1bmN0aW9uIGUoKXtyZXR1cm4gRXJyb3IoIlRhYmxlIHRleHQgY29sdW1uIG11c3QgaGF2ZSBhIG5hbWUuIil9KSgpO3JldHVybiB0aGlzLl9vcHRpb25zJiZ0aGlzLl9vcHRpb25zLmRlZmF1bHRIZWFkZXJUZXh0VHJhbnNmb3JtP3RoaXMuX29wdGlvbnMuZGVmYXVsdEhlYWRlclRleHRUcmFuc2Zvcm0odCk6dFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSl9X3N5bmNDb2x1bW5EZWZOYW1lKCl7dGhpcy5jb2x1bW5EZWYmJih0aGlzLmNvbHVtbkRlZi5uYW1lPXRoaXMubmFtZSl9fW8zLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxvMykoZ2YoZTMsOCksZ2YoQzEsOCkpfSxvMy7JtWNtcD1zbyh7dHlwZTpvMyxzZWxlY3RvcnM6W1siY2RrLXRleHQtY29sdW1uIl1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoVnkoUDEsNyksVnkoTTEsNyksVnkodjEsNykpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uY29sdW1uRGVmPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLmNlbGw9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uaGVhZGVyQ2VsbD10LmZpcnN0KX19LGlucHV0czp7anVzdGlmeToianVzdGlmeSIsbmFtZToibmFtZSIsaGVhZGVyVGV4dDoiaGVhZGVyVGV4dCIsZGF0YUFjY2Vzc29yOiJkYXRhQWNjZXNzb3IifSxkZWNsczozLHZhcnM6MCxjb25zdHM6W1siY2RrQ29sdW1uRGVmIiwiIl0sWyJjZGstaGVhZGVyLWNlbGwiLCIiLDMsInRleHQtYWxpZ24iLDQsImNka0hlYWRlckNlbGxEZWYiXSxbImNkay1jZWxsIiwiIiwzLCJ0ZXh0LWFsaWduIiw0LCJjZGtDZWxsRGVmIl0sWyJjZGstaGVhZGVyLWNlbGwiLCIiXSxbImNkay1jZWxsIiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih4ZigwLDApLEhtKDEsaDEsMiwzLCJ0aCIsMSksSG0oMixiMSwyLDMsInRkIiwyKSxPZigpKX0sZGlyZWN0aXZlczpbUDEsdjEsTTEsazEsRDFdLGVuY2Fwc3VsYXRpb246Mn0pLG8zLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6ZTMsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltDMV19XX1dLG8zLnByb3BEZWNvcmF0b3JzPXtuYW1lOlt7dHlwZTpSX31dLGhlYWRlclRleHQ6W3t0eXBlOlJffV0sZGF0YUFjY2Vzc29yOlt7dHlwZTpSX31dLGp1c3RpZnk6W3t0eXBlOlJffV0sY29sdW1uRGVmOlt7dHlwZTphcixhcmdzOltQMSx7c3RhdGljOiEwfV19XSxjZWxsOlt7dHlwZTphcixhcmdzOltNMSx7c3RhdGljOiEwfV19XSxoZWFkZXJDZWxsOlt7dHlwZTphcixhcmdzOlt2MSx7c3RhdGljOiEwfV19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihvMyxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJjZGstdGV4dC1jb2x1bW4iLHRlbXBsYXRlOidcbiAgICA8bmctY29udGFpbmVyIGNka0NvbHVtbkRlZj5cbiAgICAgIDx0aCBjZGstaGVhZGVyLWNlbGwgKmNka0hlYWRlckNlbGxEZWYgW3N0eWxlLnRleHQtYWxpZ25dPSJqdXN0aWZ5Ij5cbiAgICAgICAge3toZWFkZXJUZXh0fX1cbiAgICAgIDwvdGg+XG4gICAgICA8dGQgY2RrLWNlbGwgKmNka0NlbGxEZWY9ImxldCBkYXRhIiBbc3R5bGUudGV4dC1hbGlnbl09Imp1c3RpZnkiPlxuICAgICAgICB7e2RhdGFBY2Nlc3NvcihkYXRhLCBuYW1lKX19XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAnLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmUzLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbQzFdfV19XX0pLHtqdXN0aWZ5Olt7dHlwZTpSX31dLG5hbWU6W3t0eXBlOlJffV0saGVhZGVyVGV4dDpbe3R5cGU6Ul99XSxkYXRhQWNjZXNzb3I6W3t0eXBlOlJffV0sY29sdW1uRGVmOlt7dHlwZTphcixhcmdzOltQMSx7c3RhdGljOiEwfV19XSxjZWxsOlt7dHlwZTphcixhcmdzOltNMSx7c3RhdGljOiEwfV19XSxoZWFkZXJDZWxsOlt7dHlwZTphcixhcmdzOlt2MSx7c3RhdGljOiEwfV19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgaTM9W2UzLEwxLE0xLEIxLHYxLHgxLFAxLEQxLFUxLGsxLFMxLFYxLEkxLGoxLEYxLEsxLEoxLFExLG8zLFcxLFgxLCQxXTtjbGFzcyBhM3t9YTMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGEzKX0sYTMuybVtb2Q9Zm8oe3R5cGU6YTN9KSxhMy7JtWluaj1Ebih7aW1wb3J0czpbW2lCXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGEzLFt7dHlwZTpMXyxhcmdzOlt7ZXhwb3J0czppMyxkZWNsYXJhdGlvbnM6aTMsaW1wb3J0czpbaUJdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oYTMse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVybltlMyxMMSxNMSxCMSx2MSx4MSxQMSxEMSxVMSxrMSxTMSxWMSxJMSxqMSxGMSxLMSxKMSxRMSxvMyxXMSxYMSwkMV19LGltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5baUJdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW2UzLEwxLE0xLEIxLHYxLHgxLFAxLEQxLFUxLGsxLFMxLFYxLEkxLGoxLEYxLEsxLEoxLFExLG8zLFcxLFgxLCQxXX19KTtjb25zdCByMz1bW1siY2FwdGlvbiJdXSxbWyJjb2xncm91cCJdLFsiY29sIl1dXTtmdW5jdGlvbiBzMyh0LGUpe2lmKDEmdCYmKENmKDAsInRoIiwzKSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtsdSgidGV4dC1hbGlnbiIsdC5qdXN0aWZ5KSxEYygxKSxrdSgiICIsdC5oZWFkZXJUZXh0LCIgIil9fWZ1bmN0aW9uIGwzKHQsZSl7aWYoMSZ0JiYoQ2YoMCwidGQiLDQpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKCk7bHUoInRleHQtYWxpZ24iLG4uanVzdGlmeSksRGMoMSksa3UoIiAiLG4uZGF0YUFjY2Vzc29yKHQsbi5uYW1lKSwiICIpfX1jbGFzcyBjM3t9YzMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGMzKX0sYzMuybVkaXI9aG8oe3R5cGU6YzMsc2VsZWN0b3JzOltbIm1hdC10YWJsZSIsInJlY3ljbGVSb3dzIiwiIl0sWyJ0YWJsZSIsIm1hdC10YWJsZSIsIiIsInJlY3ljbGVSb3dzIiwiIl1dLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6V0wsdXNlQ2xhc3M6Vkx9XSldfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihjMyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtdGFibGVbcmVjeWNsZVJvd3NdLCB0YWJsZVttYXQtdGFibGVdW3JlY3ljbGVSb3dzXSIscHJvdmlkZXJzOlt7cHJvdmlkZTpXTCx1c2VDbGFzczpWTH1dfV19XSxudWxsLG51bGwpO2NsYXNzIGQzIGV4dGVuZHMgZTN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuc3RpY2t5Q3NzQ2xhc3M9Im1hdC10YWJsZS1zdGlja3kiLHRoaXMubmVlZHNQb3NpdGlvblN0aWNreU9uRWxlbWVudD0hMX19ZDMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKGQzKSkpKG58fGQzKX19KSgpLGQzLsm1Y21wPXNvKHt0eXBlOmQzLHNlbGVjdG9yczpbWyJtYXQtdGFibGUiXSxbInRhYmxlIiwibWF0LXRhYmxlIiwiIl1dLGhvc3RBdHRyczpbMSwibWF0LXRhYmxlIl0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoIm1hdC10YWJsZS1maXhlZC1sYXlvdXQiLG4uZml4ZWRMYXlvdXQpfSxleHBvcnRBczpbIm1hdFRhYmxlIl0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpXTCx1c2VDbGFzczpCTH0se3Byb3ZpZGU6ZTMsdXNlRXhpc3Rpbmc6ZDN9LHtwcm92aWRlOl8xLHVzZUV4aXN0aW5nOmQzfSx7cHJvdmlkZTpFMSx1c2VDbGFzczpBMX0se3Byb3ZpZGU6WjEsdXNlVmFsdWU6bnVsbH1dKSxRcF0sbmdDb250ZW50U2VsZWN0b3JzOlsiY2FwdGlvbiIsImNvbGdyb3VwLCBjb2wiXSxkZWNsczo2LHZhcnM6MCxjb25zdHM6W1siaGVhZGVyUm93T3V0bGV0IiwiIl0sWyJyb3dPdXRsZXQiLCIiXSxbIm5vRGF0YVJvd091dGxldCIsIiJdLFsiZm9vdGVyUm93T3V0bGV0IiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZihyMyksRmYoMCksRmYoMSwxKSxQZigyLDApLFBmKDMsMSksUGYoNCwyKSxQZig1LDMpKX0sZGlyZWN0aXZlczpbSjEsSzEsJDEsUTFdLHN0eWxlczpbJ21hdC10YWJsZXtkaXNwbGF5OmJsb2NrfW1hdC1oZWFkZXItcm93e21pbi1oZWlnaHQ6NTZweH1tYXQtcm93LG1hdC1mb290ZXItcm93e21pbi1oZWlnaHQ6NDhweH1tYXQtcm93LG1hdC1oZWFkZXItcm93LG1hdC1mb290ZXItcm93e2Rpc3BsYXk6ZmxleDtib3JkZXItd2lkdGg6MDtib3JkZXItYm90dG9tLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWQ7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveH1tYXQtcm93OjphZnRlcixtYXQtaGVhZGVyLXJvdzo6YWZ0ZXIsbWF0LWZvb3Rlci1yb3c6OmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi1oZWlnaHQ6aW5oZXJpdDtjb250ZW50OiIifW1hdC1jZWxsOmZpcnN0LW9mLXR5cGUsbWF0LWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUsbWF0LWZvb3Rlci1jZWxsOmZpcnN0LW9mLXR5cGV7cGFkZGluZy1sZWZ0OjI0cHh9W2Rpcj1ydGxdIG1hdC1jZWxsOmZpcnN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpLFtkaXI9cnRsXSBtYXQtaGVhZGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSksW2Rpcj1ydGxdIG1hdC1mb290ZXItY2VsbDpmaXJzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKXtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjI0cHh9bWF0LWNlbGw6bGFzdC1vZi10eXBlLG1hdC1oZWFkZXItY2VsbDpsYXN0LW9mLXR5cGUsbWF0LWZvb3Rlci1jZWxsOmxhc3Qtb2YtdHlwZXtwYWRkaW5nLXJpZ2h0OjI0cHh9W2Rpcj1ydGxdIG1hdC1jZWxsOmxhc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSksW2Rpcj1ydGxdIG1hdC1oZWFkZXItY2VsbDpsYXN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpLFtkaXI9cnRsXSBtYXQtZm9vdGVyLWNlbGw6bGFzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKXtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjI0cHh9bWF0LWNlbGwsbWF0LWhlYWRlci1jZWxsLG1hdC1mb290ZXItY2VsbHtmbGV4OjE7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47d29yZC13cmFwOmJyZWFrLXdvcmQ7bWluLWhlaWdodDppbmhlcml0fXRhYmxlLm1hdC10YWJsZXtib3JkZXItc3BhY2luZzowfXRyLm1hdC1oZWFkZXItcm93e2hlaWdodDo1NnB4fXRyLm1hdC1yb3csdHIubWF0LWZvb3Rlci1yb3d7aGVpZ2h0OjQ4cHh9dGgubWF0LWhlYWRlci1jZWxse3RleHQtYWxpZ246bGVmdH1bZGlyPXJ0bF0gdGgubWF0LWhlYWRlci1jZWxse3RleHQtYWxpZ246cmlnaHR9dGgubWF0LWhlYWRlci1jZWxsLHRkLm1hdC1jZWxsLHRkLm1hdC1mb290ZXItY2VsbHtwYWRkaW5nOjA7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHg7Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZH10aC5tYXQtaGVhZGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZSx0ZC5tYXQtY2VsbDpmaXJzdC1vZi10eXBlLHRkLm1hdC1mb290ZXItY2VsbDpmaXJzdC1vZi10eXBle3BhZGRpbmctbGVmdDoyNHB4fVtkaXI9cnRsXSB0aC5tYXQtaGVhZGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSksW2Rpcj1ydGxdIHRkLm1hdC1jZWxsOmZpcnN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpLFtkaXI9cnRsXSB0ZC5tYXQtZm9vdGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSl7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDoyNHB4fXRoLm1hdC1oZWFkZXItY2VsbDpsYXN0LW9mLXR5cGUsdGQubWF0LWNlbGw6bGFzdC1vZi10eXBlLHRkLm1hdC1mb290ZXItY2VsbDpsYXN0LW9mLXR5cGV7cGFkZGluZy1yaWdodDoyNHB4fVtkaXI9cnRsXSB0aC5tYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKSxbZGlyPXJ0bF0gdGQubWF0LWNlbGw6bGFzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKSxbZGlyPXJ0bF0gdGQubWF0LWZvb3Rlci1jZWxsOmxhc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSl7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDoyNHB4fS5tYXQtdGFibGUtc3RpY2t5e3Bvc2l0aW9uOi13ZWJraXQtc3RpY2t5ICFpbXBvcnRhbnQ7cG9zaXRpb246c3RpY2t5ICFpbXBvcnRhbnR9Lm1hdC10YWJsZS1maXhlZC1sYXlvdXR7dGFibGUtbGF5b3V0OmZpeGVkfVxuJ10sZW5jYXBzdWxhdGlvbjoyfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihkMyxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtdGFibGUsIHRhYmxlW21hdC10YWJsZV0iLGV4cG9ydEFzOiJtYXRUYWJsZSIsdGVtcGxhdGU6dDMsaG9zdDp7Y2xhc3M6Im1hdC10YWJsZSIsIltjbGFzcy5tYXQtdGFibGUtZml4ZWQtbGF5b3V0XSI6ImZpeGVkTGF5b3V0In0scHJvdmlkZXJzOlt7cHJvdmlkZTpXTCx1c2VDbGFzczpCTH0se3Byb3ZpZGU6ZTMsdXNlRXhpc3Rpbmc6ZDN9LHtwcm92aWRlOl8xLHVzZUV4aXN0aW5nOmQzfSx7cHJvdmlkZTpFMSx1c2VDbGFzczpBMX0se3Byb3ZpZGU6WjEsdXNlVmFsdWU6bnVsbH1dLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxzdHlsZXM6WydtYXQtdGFibGV7ZGlzcGxheTpibG9ja31tYXQtaGVhZGVyLXJvd3ttaW4taGVpZ2h0OjU2cHh9bWF0LXJvdyxtYXQtZm9vdGVyLXJvd3ttaW4taGVpZ2h0OjQ4cHh9bWF0LXJvdyxtYXQtaGVhZGVyLXJvdyxtYXQtZm9vdGVyLXJvd3tkaXNwbGF5OmZsZXg7Ym9yZGVyLXdpZHRoOjA7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3h9bWF0LXJvdzo6YWZ0ZXIsbWF0LWhlYWRlci1yb3c6OmFmdGVyLG1hdC1mb290ZXItcm93OjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jazttaW4taGVpZ2h0OmluaGVyaXQ7Y29udGVudDoiIn1tYXQtY2VsbDpmaXJzdC1vZi10eXBlLG1hdC1oZWFkZXItY2VsbDpmaXJzdC1vZi10eXBlLG1hdC1mb290ZXItY2VsbDpmaXJzdC1vZi10eXBle3BhZGRpbmctbGVmdDoyNHB4fVtkaXI9cnRsXSBtYXQtY2VsbDpmaXJzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKSxbZGlyPXJ0bF0gbWF0LWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpLFtkaXI9cnRsXSBtYXQtZm9vdGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSl7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDoyNHB4fW1hdC1jZWxsOmxhc3Qtb2YtdHlwZSxtYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlLG1hdC1mb290ZXItY2VsbDpsYXN0LW9mLXR5cGV7cGFkZGluZy1yaWdodDoyNHB4fVtkaXI9cnRsXSBtYXQtY2VsbDpsYXN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpLFtkaXI9cnRsXSBtYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKSxbZGlyPXJ0bF0gbWF0LWZvb3Rlci1jZWxsOmxhc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSl7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDoyNHB4fW1hdC1jZWxsLG1hdC1oZWFkZXItY2VsbCxtYXQtZm9vdGVyLWNlbGx7ZmxleDoxO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3dvcmQtd3JhcDpicmVhay13b3JkO21pbi1oZWlnaHQ6aW5oZXJpdH10YWJsZS5tYXQtdGFibGV7Ym9yZGVyLXNwYWNpbmc6MH10ci5tYXQtaGVhZGVyLXJvd3toZWlnaHQ6NTZweH10ci5tYXQtcm93LHRyLm1hdC1mb290ZXItcm93e2hlaWdodDo0OHB4fXRoLm1hdC1oZWFkZXItY2VsbHt0ZXh0LWFsaWduOmxlZnR9W2Rpcj1ydGxdIHRoLm1hdC1oZWFkZXItY2VsbHt0ZXh0LWFsaWduOnJpZ2h0fXRoLm1hdC1oZWFkZXItY2VsbCx0ZC5tYXQtY2VsbCx0ZC5tYXQtZm9vdGVyLWNlbGx7cGFkZGluZzowO2JvcmRlci1ib3R0b20td2lkdGg6MXB4O2JvcmRlci1ib3R0b20tc3R5bGU6c29saWR9dGgubWF0LWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUsdGQubWF0LWNlbGw6Zmlyc3Qtb2YtdHlwZSx0ZC5tYXQtZm9vdGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZXtwYWRkaW5nLWxlZnQ6MjRweH1bZGlyPXJ0bF0gdGgubWF0LWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpLFtkaXI9cnRsXSB0ZC5tYXQtY2VsbDpmaXJzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKSxbZGlyPXJ0bF0gdGQubWF0LWZvb3Rlci1jZWxsOmZpcnN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpe3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MjRweH10aC5tYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlLHRkLm1hdC1jZWxsOmxhc3Qtb2YtdHlwZSx0ZC5tYXQtZm9vdGVyLWNlbGw6bGFzdC1vZi10eXBle3BhZGRpbmctcmlnaHQ6MjRweH1bZGlyPXJ0bF0gdGgubWF0LWhlYWRlci1jZWxsOmxhc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSksW2Rpcj1ydGxdIHRkLm1hdC1jZWxsOmxhc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSksW2Rpcj1ydGxdIHRkLm1hdC1mb290ZXItY2VsbDpsYXN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpe3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MjRweH0ubWF0LXRhYmxlLXN0aWNreXtwb3NpdGlvbjotd2Via2l0LXN0aWNreSAhaW1wb3J0YW50O3Bvc2l0aW9uOnN0aWNreSAhaW1wb3J0YW50fS5tYXQtdGFibGUtZml4ZWQtbGF5b3V0e3RhYmxlLWxheW91dDpmaXhlZH1cbiddfV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgcDMgZXh0ZW5kcyBNMXt9cDMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHAzKSkpKG58fHAzKX19KSgpLHAzLsm1ZGlyPWhvKHt0eXBlOnAzLHNlbGVjdG9yczpbWyIiLCJtYXRDZWxsRGVmIiwiIl1dLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6TTEsdXNlRXhpc3Rpbmc6cDN9XSksUXBdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihwMyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbWF0Q2VsbERlZl0iLHByb3ZpZGVyczpbe3Byb3ZpZGU6TTEsdXNlRXhpc3Rpbmc6cDN9XX1dfV0sbnVsbCxudWxsKTtjbGFzcyBtMyBleHRlbmRzIHYxe31tMy7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEobTMpKSkobnx8bTMpfX0pKCksbTMuybVkaXI9aG8oe3R5cGU6bTMsc2VsZWN0b3JzOltbIiIsIm1hdEhlYWRlckNlbGxEZWYiLCIiXV0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTp2MSx1c2VFeGlzdGluZzptM31dKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG0zLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXRIZWFkZXJDZWxsRGVmXSIscHJvdmlkZXJzOlt7cHJvdmlkZTp2MSx1c2VFeGlzdGluZzptM31dfV19XSxudWxsLG51bGwpO2NsYXNzIGYzIGV4dGVuZHMgeDF7fWYzLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShmMykpKShufHxmMyl9fSkoKSxmMy7JtWRpcj1obyh7dHlwZTpmMyxzZWxlY3RvcnM6W1siIiwibWF0Rm9vdGVyQ2VsbERlZiIsIiJdXSxmZWF0dXJlczpbamgoW3twcm92aWRlOngxLHVzZUV4aXN0aW5nOmYzfV0pLFFwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZjMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdEZvb3RlckNlbGxEZWZdIixwcm92aWRlcnM6W3twcm92aWRlOngxLHVzZUV4aXN0aW5nOmYzfV19XX1dLG51bGwsbnVsbCk7Y2xhc3MgdTMgZXh0ZW5kcyBQMXtnZXQgbmFtZSgpe3JldHVybiB0aGlzLl9uYW1lfXNldCBuYW1lKHQpe3RoaXMuX3NldE5hbWVJbnB1dCh0KX1fdXBkYXRlQ29sdW1uQ3NzQ2xhc3NOYW1lKCl7c3VwZXIuX3VwZGF0ZUNvbHVtbkNzc0NsYXNzTmFtZSgpLHRoaXMuX2NvbHVtbkNzc0NsYXNzTmFtZS5wdXNoKGBtYXQtY29sdW1uLSR7dGhpcy5jc3NDbGFzc0ZyaWVuZGx5TmFtZX1gKX19dTMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHUzKSkpKG58fHUzKX19KSgpLHUzLsm1ZGlyPWhvKHt0eXBlOnUzLHNlbGVjdG9yczpbWyIiLCJtYXRDb2x1bW5EZWYiLCIiXV0saW5wdXRzOntzdGlja3k6InN0aWNreSIsbmFtZTpbIm1hdENvbHVtbkRlZiIsIm5hbWUiXX0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpQMSx1c2VFeGlzdGluZzp1M30se3Byb3ZpZGU6Ik1BVF9TT1JUX0hFQURFUl9DT0xVTU5fREVGIix1c2VFeGlzdGluZzp1M31dKSxRcF19KSx1My5wcm9wRGVjb3JhdG9ycz17bmFtZTpbe3R5cGU6Ul8sYXJnczpbIm1hdENvbHVtbkRlZiJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodTMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdENvbHVtbkRlZl0iLGlucHV0czpbInN0aWNreSJdLHByb3ZpZGVyczpbe3Byb3ZpZGU6UDEsdXNlRXhpc3Rpbmc6dTN9LHtwcm92aWRlOiJNQVRfU09SVF9IRUFERVJfQ09MVU1OX0RFRiIsdXNlRXhpc3Rpbmc6dTN9XX1dfV0sbnVsbCx7bmFtZTpbe3R5cGU6Ul8sYXJnczpbIm1hdENvbHVtbkRlZiJdfV19KTtjbGFzcyBnMyBleHRlbmRzIGsxe31nMy7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoZzMpKSkobnx8ZzMpfX0pKCksZzMuybVkaXI9aG8oe3R5cGU6ZzMsc2VsZWN0b3JzOltbIm1hdC1oZWFkZXItY2VsbCJdLFsidGgiLCJtYXQtaGVhZGVyLWNlbGwiLCIiXV0saG9zdEF0dHJzOlsicm9sZSIsImNvbHVtbmhlYWRlciIsMSwibWF0LWhlYWRlci1jZWxsIl0sZmVhdHVyZXM6W1FwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZzMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LWhlYWRlci1jZWxsLCB0aFttYXQtaGVhZGVyLWNlbGxdIixob3N0OntjbGFzczoibWF0LWhlYWRlci1jZWxsIixyb2xlOiJjb2x1bW5oZWFkZXIifX1dfV0sbnVsbCxudWxsKTtjbGFzcyBoMyBleHRlbmRzIFMxe31oMy7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoaDMpKSkobnx8aDMpfX0pKCksaDMuybVkaXI9aG8oe3R5cGU6aDMsc2VsZWN0b3JzOltbIm1hdC1mb290ZXItY2VsbCJdLFsidGQiLCJtYXQtZm9vdGVyLWNlbGwiLCIiXV0saG9zdEF0dHJzOlsicm9sZSIsImdyaWRjZWxsIiwxLCJtYXQtZm9vdGVyLWNlbGwiXSxmZWF0dXJlczpbUXBdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihoMyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtZm9vdGVyLWNlbGwsIHRkW21hdC1mb290ZXItY2VsbF0iLGhvc3Q6e2NsYXNzOiJtYXQtZm9vdGVyLWNlbGwiLHJvbGU6ImdyaWRjZWxsIn19XX1dLG51bGwsbnVsbCk7Y2xhc3MgYjMgZXh0ZW5kcyBEMXt9YjMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKGIzKSkpKG58fGIzKX19KSgpLGIzLsm1ZGlyPWhvKHt0eXBlOmIzLHNlbGVjdG9yczpbWyJtYXQtY2VsbCJdLFsidGQiLCJtYXQtY2VsbCIsIiJdXSxob3N0QXR0cnM6WyJyb2xlIiwiZ3JpZGNlbGwiLDEsIm1hdC1jZWxsIl0sZmVhdHVyZXM6W1FwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoYjMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LWNlbGwsIHRkW21hdC1jZWxsXSIsaG9zdDp7Y2xhc3M6Im1hdC1jZWxsIixyb2xlOiJncmlkY2VsbCJ9fV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgeTMgZXh0ZW5kcyBJMXt9eTMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHkzKSkpKG58fHkzKX19KSgpLHkzLsm1ZGlyPWhvKHt0eXBlOnkzLHNlbGVjdG9yczpbWyIiLCJtYXRIZWFkZXJSb3dEZWYiLCIiXV0saW5wdXRzOntjb2x1bW5zOlsibWF0SGVhZGVyUm93RGVmIiwiY29sdW1ucyJdLHN0aWNreTpbIm1hdEhlYWRlclJvd0RlZlN0aWNreSIsInN0aWNreSJdfSxmZWF0dXJlczpbamgoW3twcm92aWRlOkkxLHVzZUV4aXN0aW5nOnkzfV0pLFFwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeTMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLHByb3ZpZGVyczpbe3Byb3ZpZGU6STEsdXNlRXhpc3Rpbmc6eTN9XSxpbnB1dHM6WyJjb2x1bW5zOiBtYXRIZWFkZXJSb3dEZWYiLCJzdGlja3k6IG1hdEhlYWRlclJvd0RlZlN0aWNreSJdfV19XSxudWxsLG51bGwpO2NsYXNzIF8zIGV4dGVuZHMgRjF7fV8zLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShfMykpKShufHxfMyl9fSkoKSxfMy7JtWRpcj1obyh7dHlwZTpfMyxzZWxlY3RvcnM6W1siIiwibWF0Rm9vdGVyUm93RGVmIiwiIl1dLGlucHV0czp7Y29sdW1uczpbIm1hdEZvb3RlclJvd0RlZiIsImNvbHVtbnMiXSxzdGlja3k6WyJtYXRGb290ZXJSb3dEZWZTdGlja3kiLCJzdGlja3kiXX0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpGMSx1c2VFeGlzdGluZzpfM31dKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKF8zLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXRGb290ZXJSb3dEZWZdIixwcm92aWRlcnM6W3twcm92aWRlOkYxLHVzZUV4aXN0aW5nOl8zfV0saW5wdXRzOlsiY29sdW1uczogbWF0Rm9vdGVyUm93RGVmIiwic3RpY2t5OiBtYXRGb290ZXJSb3dEZWZTdGlja3kiXX1dfV0sbnVsbCxudWxsKTtjbGFzcyBDMyBleHRlbmRzIEwxe31DMy7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoQzMpKSkobnx8QzMpfX0pKCksQzMuybVkaXI9aG8oe3R5cGU6QzMsc2VsZWN0b3JzOltbIiIsIm1hdFJvd0RlZiIsIiJdXSxpbnB1dHM6e2NvbHVtbnM6WyJtYXRSb3dEZWZDb2x1bW5zIiwiY29sdW1ucyJdLHdoZW46WyJtYXRSb3dEZWZXaGVuIiwid2hlbiJdfSxmZWF0dXJlczpbamgoW3twcm92aWRlOkwxLHVzZUV4aXN0aW5nOkMzfV0pLFFwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQzMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdFJvd0RlZl0iLHByb3ZpZGVyczpbe3Byb3ZpZGU6TDEsdXNlRXhpc3Rpbmc6QzN9XSxpbnB1dHM6WyJjb2x1bW5zOiBtYXRSb3dEZWZDb2x1bW5zIiwid2hlbjogbWF0Um93RGVmV2hlbiJdfV19XSxudWxsLG51bGwpO2NsYXNzIE0zIGV4dGVuZHMgVjF7fU0zLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShNMykpKShufHxNMyl9fSkoKSxNMy7JtWNtcD1zbyh7dHlwZTpNMyxzZWxlY3RvcnM6W1sibWF0LWhlYWRlci1yb3ciXSxbInRyIiwibWF0LWhlYWRlci1yb3ciLCIiXV0saG9zdEF0dHJzOlsicm9sZSIsInJvdyIsMSwibWF0LWhlYWRlci1yb3ciXSxleHBvcnRBczpbIm1hdEhlYWRlclJvdyJdLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6VjEsdXNlRXhpc3Rpbmc6TTN9XSksUXBdLGRlY2xzOjEsdmFyczowLGNvbnN0czpbWyJjZGtDZWxsT3V0bGV0IiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlBmKDAsMCl9LGRpcmVjdGl2ZXM6W0IxXSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE0zLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1oZWFkZXItcm93LCB0clttYXQtaGVhZGVyLXJvd10iLHRlbXBsYXRlOlQxLGhvc3Q6e2NsYXNzOiJtYXQtaGVhZGVyLXJvdyIscm9sZToicm93In0sY2hhbmdlRGV0ZWN0aW9uOmpuLkRlZmF1bHQsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGV4cG9ydEFzOiJtYXRIZWFkZXJSb3ciLHByb3ZpZGVyczpbe3Byb3ZpZGU6VjEsdXNlRXhpc3Rpbmc6TTN9XX1dfV0sbnVsbCxudWxsKTtjbGFzcyB2MyBleHRlbmRzIGoxe312My7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEodjMpKSkobnx8djMpfX0pKCksdjMuybVjbXA9c28oe3R5cGU6djMsc2VsZWN0b3JzOltbIm1hdC1mb290ZXItcm93Il0sWyJ0ciIsIm1hdC1mb290ZXItcm93IiwiIl1dLGhvc3RBdHRyczpbInJvbGUiLCJyb3ciLDEsIm1hdC1mb290ZXItcm93Il0sZXhwb3J0QXM6WyJtYXRGb290ZXJSb3ciXSxmZWF0dXJlczpbamgoW3twcm92aWRlOmoxLHVzZUV4aXN0aW5nOnYzfV0pLFFwXSxkZWNsczoxLHZhcnM6MCxjb25zdHM6W1siY2RrQ2VsbE91dGxldCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiZQZigwLDApfSxkaXJlY3RpdmVzOltCMV0sZW5jYXBzdWxhdGlvbjoyfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih2Myxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtZm9vdGVyLXJvdywgdHJbbWF0LWZvb3Rlci1yb3ddIix0ZW1wbGF0ZTpUMSxob3N0OntjbGFzczoibWF0LWZvb3Rlci1yb3ciLHJvbGU6InJvdyJ9LGNoYW5nZURldGVjdGlvbjpqbi5EZWZhdWx0LGVuY2Fwc3VsYXRpb246V24uTm9uZSxleHBvcnRBczoibWF0Rm9vdGVyUm93Iixwcm92aWRlcnM6W3twcm92aWRlOmoxLHVzZUV4aXN0aW5nOnYzfV19XX1dLG51bGwsbnVsbCk7Y2xhc3MgeDMgZXh0ZW5kcyBVMXt9eDMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHgzKSkpKG58fHgzKX19KSgpLHgzLsm1Y21wPXNvKHt0eXBlOngzLHNlbGVjdG9yczpbWyJtYXQtcm93Il0sWyJ0ciIsIm1hdC1yb3ciLCIiXV0saG9zdEF0dHJzOlsicm9sZSIsInJvdyIsMSwibWF0LXJvdyJdLGV4cG9ydEFzOlsibWF0Um93Il0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpVMSx1c2VFeGlzdGluZzp4M31dKSxRcF0sZGVjbHM6MSx2YXJzOjAsY29uc3RzOltbImNka0NlbGxPdXRsZXQiLCIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmUGYoMCwwKX0sZGlyZWN0aXZlczpbQjFdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeDMsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLHRlbXBsYXRlOlQxLGhvc3Q6e2NsYXNzOiJtYXQtcm93Iixyb2xlOiJyb3cifSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxlbmNhcHN1bGF0aW9uOlduLk5vbmUsZXhwb3J0QXM6Im1hdFJvdyIscHJvdmlkZXJzOlt7cHJvdmlkZTpVMSx1c2VFeGlzdGluZzp4M31dfV19XSxudWxsLG51bGwpO2NsYXNzIE8zIGV4dGVuZHMgVzF7fU8zLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShPMykpKShufHxPMyl9fSkoKSxPMy7JtWRpcj1obyh7dHlwZTpPMyxzZWxlY3RvcnM6W1sibmctdGVtcGxhdGUiLCJtYXROb0RhdGFSb3ciLCIiXV0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpXMSx1c2VFeGlzdGluZzpPM31dKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE8zLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Im5nLXRlbXBsYXRlW21hdE5vRGF0YVJvd10iLHByb3ZpZGVyczpbe3Byb3ZpZGU6VzEsdXNlRXhpc3Rpbmc6TzN9XX1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIFAzIGV4dGVuZHMgbzN7fVAzLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShQMykpKShufHxQMyl9fSkoKSxQMy7JtWNtcD1zbyh7dHlwZTpQMyxzZWxlY3RvcnM6W1sibWF0LXRleHQtY29sdW1uIl1dLGZlYXR1cmVzOltRcF0sZGVjbHM6Myx2YXJzOjAsY29uc3RzOltbIm1hdENvbHVtbkRlZiIsIiJdLFsibWF0LWhlYWRlci1jZWxsIiwiIiwzLCJ0ZXh0LWFsaWduIiw0LCJtYXRIZWFkZXJDZWxsRGVmIl0sWyJtYXQtY2VsbCIsIiIsMywidGV4dC1hbGlnbiIsNCwibWF0Q2VsbERlZiJdLFsibWF0LWhlYWRlci1jZWxsIiwiIl0sWyJtYXQtY2VsbCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoeGYoMCwwKSxIbSgxLHMzLDIsMywidGgiLDEpLEhtKDIsbDMsMiwzLCJ0ZCIsMiksT2YoKSl9LGRpcmVjdGl2ZXM6W3UzLG0zLHAzLGczLGIzXSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFAzLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC10ZXh0LWNvbHVtbiIsdGVtcGxhdGU6J1xuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBbc3R5bGUudGV4dC1hbGlnbl09Imp1c3RpZnkiPlxuICAgICAgICB7e2hlYWRlclRleHR9fVxuICAgICAgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGRhdGEiIFtzdHlsZS50ZXh0LWFsaWduXT0ianVzdGlmeSI+XG4gICAgICAgIHt7ZGF0YUFjY2Vzc29yKGRhdGEsIG5hbWUpfX1cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICcsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5EZWZhdWx0fV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgdzM9W2QzLGMzLG0zLHkzLHUzLHAzLEMzLGYzLF8zLGczLGIzLGgzLE0zLHgzLHYzLE8zLFAzXTtjbGFzcyBrM3t9azMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGszKX0sazMuybVtb2Q9Zm8oe3R5cGU6azN9KSxrMy7JtWluaj1Ebih7aW1wb3J0czpbW2EzLE5GXSxORl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGszLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbYTMsTkZdLGV4cG9ydHM6W05GLHczXSxkZWNsYXJhdGlvbnM6dzN9XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhrMyx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW2QzLGMzLG0zLHkzLHUzLHAzLEMzLGYzLF8zLGczLGIzLGgzLE0zLHgzLHYzLE8zLFAzXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVyblthMyxORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bTkYsZDMsYzMsbTMseTMsdTMscDMsQzMsZjMsXzMsZzMsYjMsaDMsTTMseDMsdjMsTzMsUDNdfX0pO2NsYXNzIFMzIGV4dGVuZHMgSEx7Y29uc3RydWN0b3IodD1bXSl7c3VwZXIoKSx0aGlzLl9yZW5kZXJEYXRhPW5ldyBqKFtdKSx0aGlzLl9maWx0ZXI9bmV3IGooIiIpLHRoaXMuX2ludGVybmFsUGFnZUNoYW5nZXM9bmV3IEIsdGhpcy5fcmVuZGVyQ2hhbmdlc1N1YnNjcmlwdGlvbj1udWxsLHRoaXMuc29ydGluZ0RhdGFBY2Nlc3Nvcj0odCxlKT0+e2NvbnN0IG49dFtlXTtpZihvSChuKSl7Y29uc3QgdD1OdW1iZXIobik7cmV0dXJuIHQ8OTAwNzE5OTI1NDc0MDk5MT90Om59cmV0dXJuIG59LHRoaXMuc29ydERhdGE9KHQsZSk9Pntjb25zdCBuPWUuYWN0aXZlLG89ZS5kaXJlY3Rpb247cmV0dXJuIG4mJiIiIT1vP3Quc29ydCgoKHQsZSk9PntsZXQgaT10aGlzLnNvcnRpbmdEYXRhQWNjZXNzb3IodCxuKSxhPXRoaXMuc29ydGluZ0RhdGFBY2Nlc3NvcihlLG4pO2NvbnN0IHI9dHlwZW9mIGkscz10eXBlb2YgYTtyIT09cyYmKCJudW1iZXIiPT09ciYmKGkrPSIiKSwibnVtYmVyIj09PXMmJihhKz0iIikpO2xldCBsPTA7cmV0dXJuIG51bGwhPWkmJm51bGwhPWE/aT5hP2w9MTppPGEmJihsPS0xKTpudWxsIT1pP2w9MTpudWxsIT1hJiYobD0tMSksbCooImFzYyI9PW8/MTotMSl9KSk6dH0sdGhpcy5maWx0ZXJQcmVkaWNhdGU9KHQsZSk9Pntjb25zdCBuPU9iamVjdC5rZXlzKHQpLnJlZHVjZSgoKGUsbik9PmUrdFtuXSsi4pesIiksIiIpLnRvTG93ZXJDYXNlKCksbz1lLnRyaW0oKS50b0xvd2VyQ2FzZSgpO3JldHVybi0xIT1uLmluZGV4T2Yobyl9LHRoaXMuX2RhdGE9bmV3IGoodCksdGhpcy5fdXBkYXRlQ2hhbmdlU3Vic2NyaXB0aW9uKCl9Z2V0IGRhdGEoKXtyZXR1cm4gdGhpcy5fZGF0YS52YWx1ZX1zZXQgZGF0YSh0KXt0aGlzLl9kYXRhLm5leHQodCksdGhpcy5fcmVuZGVyQ2hhbmdlc1N1YnNjcmlwdGlvbnx8dGhpcy5fZmlsdGVyRGF0YSh0KX1nZXQgZmlsdGVyKCl7cmV0dXJuIHRoaXMuX2ZpbHRlci52YWx1ZX1zZXQgZmlsdGVyKHQpe3RoaXMuX2ZpbHRlci5uZXh0KHQpLHRoaXMuX3JlbmRlckNoYW5nZXNTdWJzY3JpcHRpb258fHRoaXMuX2ZpbHRlckRhdGEodGhpcy5kYXRhKX1nZXQgc29ydCgpe3JldHVybiB0aGlzLl9zb3J0fXNldCBzb3J0KHQpe3RoaXMuX3NvcnQ9dCx0aGlzLl91cGRhdGVDaGFuZ2VTdWJzY3JpcHRpb24oKX1nZXQgcGFnaW5hdG9yKCl7cmV0dXJuIHRoaXMuX3BhZ2luYXRvcn1zZXQgcGFnaW5hdG9yKHQpe3RoaXMuX3BhZ2luYXRvcj10LHRoaXMuX3VwZGF0ZUNoYW5nZVN1YnNjcmlwdGlvbigpfV91cGRhdGVDaGFuZ2VTdWJzY3JpcHRpb24oKXt2YXIgdDtjb25zdCBlPXRoaXMuX3NvcnQ/cGUodGhpcy5fc29ydC5zb3J0Q2hhbmdlLHRoaXMuX3NvcnQuaW5pdGlhbGl6ZWQpOnp0KG51bGwpLG49dGhpcy5fcGFnaW5hdG9yP3BlKHRoaXMuX3BhZ2luYXRvci5wYWdlLHRoaXMuX2ludGVybmFsUGFnZUNoYW5nZXMsdGhpcy5fcGFnaW5hdG9yLmluaXRpYWxpemVkKTp6dChudWxsKSxvPUt0KFt0aGlzLl9kYXRhLHRoaXMuX2ZpbHRlcl0pLnBpcGUoVnQoKChbdF0pPT50aGlzLl9maWx0ZXJEYXRhKHQpKSkpLGk9S3QoW28sZV0pLnBpcGUoVnQoKChbdF0pPT50aGlzLl9vcmRlckRhdGEodCkpKSksYT1LdChbaSxuXSkucGlwZShWdCgoKFt0XSk9PnRoaXMuX3BhZ2VEYXRhKHQpKSkpO251bGw9PT0odD10aGlzLl9yZW5kZXJDaGFuZ2VzU3Vic2NyaXB0aW9uKXx8dm9pZCAwPT09dHx8dC51bnN1YnNjcmliZSgpLHRoaXMuX3JlbmRlckNoYW5nZXNTdWJzY3JpcHRpb249YS5zdWJzY3JpYmUoKHQ9PnRoaXMuX3JlbmRlckRhdGEubmV4dCh0KSkpfV9maWx0ZXJEYXRhKHQpe3JldHVybiB0aGlzLmZpbHRlcmVkRGF0YT1udWxsPT10aGlzLmZpbHRlcnx8IiI9PT10aGlzLmZpbHRlcj90OnQuZmlsdGVyKCh0PT50aGlzLmZpbHRlclByZWRpY2F0ZSh0LHRoaXMuZmlsdGVyKSkpLHRoaXMucGFnaW5hdG9yJiZ0aGlzLl91cGRhdGVQYWdpbmF0b3IodGhpcy5maWx0ZXJlZERhdGEubGVuZ3RoKSx0aGlzLmZpbHRlcmVkRGF0YX1fb3JkZXJEYXRhKHQpe3JldHVybiB0aGlzLnNvcnQ/dGhpcy5zb3J0RGF0YSh0LnNsaWNlKCksdGhpcy5zb3J0KTp0fV9wYWdlRGF0YSh0KXtpZighdGhpcy5wYWdpbmF0b3IpcmV0dXJuIHQ7Y29uc3QgZT10aGlzLnBhZ2luYXRvci5wYWdlSW5kZXgqdGhpcy5wYWdpbmF0b3IucGFnZVNpemU7cmV0dXJuIHQuc2xpY2UoZSxlK3RoaXMucGFnaW5hdG9yLnBhZ2VTaXplKX1fdXBkYXRlUGFnaW5hdG9yKHQpe1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57Y29uc3QgZT10aGlzLnBhZ2luYXRvcjtpZihlJiYoZS5sZW5ndGg9dCxlLnBhZ2VJbmRleD4wKSl7Y29uc3QgdD1NYXRoLmNlaWwoZS5sZW5ndGgvZS5wYWdlU2l6ZSktMXx8MCxuPU1hdGgubWluKGUucGFnZUluZGV4LHQpO24hPT1lLnBhZ2VJbmRleCYmKGUucGFnZUluZGV4PW4sdGhpcy5faW50ZXJuYWxQYWdlQ2hhbmdlcy5uZXh0KCkpfX0pKX1jb25uZWN0KCl7cmV0dXJuIHRoaXMuX3JlbmRlckNoYW5nZXNTdWJzY3JpcHRpb258fHRoaXMuX3VwZGF0ZUNoYW5nZVN1YnNjcmlwdGlvbigpLHRoaXMuX3JlbmRlckRhdGF9ZGlzY29ubmVjdCgpe3ZhciB0O251bGw9PT0odD10aGlzLl9yZW5kZXJDaGFuZ2VzU3Vic2NyaXB0aW9uKXx8dm9pZCAwPT09dHx8dC51bnN1YnNjcmliZSgpLHRoaXMuX3JlbmRlckNoYW5nZXNTdWJzY3JpcHRpb249bnVsbH19Y2xhc3MgRDMgZXh0ZW5kcyBTM3t9Y29uc3QgUjM9WyJwYW5lbCJdO2Z1bmN0aW9uIEUzKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiwwLDEpLEZmKDIpLE1mKCkpLDImdCl7Y29uc3QgdD1lLmlkLG49emYoKTtiZigiaWQiLG4uaWQpKCJuZ0NsYXNzIixuLl9jbGFzc0xpc3QpLHltKCJhcmlhLWxhYmVsIixuLmFyaWFMYWJlbHx8bnVsbCkoImFyaWEtbGFiZWxsZWRieSIsbi5fZ2V0UGFuZWxBcmlhTGFiZWxsZWRieSh0KSl9fWxldCBBMz0wO2NsYXNzIFQze2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5zb3VyY2U9dCx0aGlzLm9wdGlvbj1lfX1jb25zdCBOMz1IRihjbGFzc3t9KSx6Mz1uZXcgZXIoIm1hdC1hdXRvY29tcGxldGUtZGVmYXVsdC1vcHRpb25zIix7cHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTpmdW5jdGlvbiBJMygpe3JldHVybnthdXRvQWN0aXZlRmlyc3RPcHRpb246ITF9fX0pO2NsYXNzIEgzIGV4dGVuZHMgTjN7Y29uc3RydWN0b3IodCxlLG4sbyl7c3VwZXIoKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj10LHRoaXMuX2VsZW1lbnRSZWY9ZSx0aGlzLl9hY3RpdmVPcHRpb25DaGFuZ2VzPXUuRU1QVFksdGhpcy5zaG93UGFuZWw9ITEsdGhpcy5faXNPcGVuPSExLHRoaXMuZGlzcGxheVdpdGg9bnVsbCx0aGlzLm9wdGlvblNlbGVjdGVkPW5ldyBTeSx0aGlzLm9wZW5lZD1uZXcgU3ksdGhpcy5jbG9zZWQ9bmV3IFN5LHRoaXMub3B0aW9uQWN0aXZhdGVkPW5ldyBTeSx0aGlzLl9jbGFzc0xpc3Q9e30sdGhpcy5pZD0ibWF0LWF1dG9jb21wbGV0ZS0iK0EzKyssdGhpcy5pbmVydEdyb3Vwcz0obnVsbD09bz92b2lkIDA6by5TQUZBUkkpfHwhMSx0aGlzLl9hdXRvQWN0aXZlRmlyc3RPcHRpb249ISFuLmF1dG9BY3RpdmVGaXJzdE9wdGlvbn1nZXQgaXNPcGVuKCl7cmV0dXJuIHRoaXMuX2lzT3BlbiYmdGhpcy5zaG93UGFuZWx9Z2V0IGF1dG9BY3RpdmVGaXJzdE9wdGlvbigpe3JldHVybiB0aGlzLl9hdXRvQWN0aXZlRmlyc3RPcHRpb259c2V0IGF1dG9BY3RpdmVGaXJzdE9wdGlvbih0KXt0aGlzLl9hdXRvQWN0aXZlRmlyc3RPcHRpb249ZUgodCl9c2V0IGNsYXNzTGlzdCh0KXt0aGlzLl9jbGFzc0xpc3Q9dCYmdC5sZW5ndGg/KGZ1bmN0aW9uIGUodCxuPS9ccysvKXtjb25zdCBvPVtdO2lmKG51bGwhPXQpe2NvbnN0IGU9QXJyYXkuaXNBcnJheSh0KT90OmAke3R9YC5zcGxpdChuKTtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPWAke3R9YC50cmltKCk7ZSYmby5wdXNoKGUpfX1yZXR1cm4gb30pKHQpLnJlZHVjZSgoKHQsZSk9Pih0W2VdPSEwLHQpKSx7fSk6e30sdGhpcy5fc2V0VmlzaWJpbGl0eUNsYXNzZXModGhpcy5fY2xhc3NMaXN0KSx0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lPSIifW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX2tleU1hbmFnZXI9bmV3IEZIKHRoaXMub3B0aW9ucykud2l0aFdyYXAoKSx0aGlzLl9hY3RpdmVPcHRpb25DaGFuZ2VzPXRoaXMuX2tleU1hbmFnZXIuY2hhbmdlLnN1YnNjcmliZSgodD0+e3RoaXMub3B0aW9uQWN0aXZhdGVkLmVtaXQoe3NvdXJjZTp0aGlzLG9wdGlvbjp0aGlzLm9wdGlvbnMudG9BcnJheSgpW3RdfHxudWxsfSl9KSksdGhpcy5fc2V0VmlzaWJpbGl0eSgpfW5nT25EZXN0cm95KCl7dGhpcy5fYWN0aXZlT3B0aW9uQ2hhbmdlcy51bnN1YnNjcmliZSgpfV9zZXRTY3JvbGxUb3AodCl7dGhpcy5wYW5lbCYmKHRoaXMucGFuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3A9dCl9X2dldFNjcm9sbFRvcCgpe3JldHVybiB0aGlzLnBhbmVsP3RoaXMucGFuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3A6MH1fc2V0VmlzaWJpbGl0eSgpe3RoaXMuc2hvd1BhbmVsPSEhdGhpcy5vcHRpb25zLmxlbmd0aCx0aGlzLl9zZXRWaXNpYmlsaXR5Q2xhc3Nlcyh0aGlzLl9jbGFzc0xpc3QpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfV9lbWl0U2VsZWN0RXZlbnQodCl7Y29uc3QgZT1uZXcgVDModGhpcyx0KTt0aGlzLm9wdGlvblNlbGVjdGVkLmVtaXQoZSl9X2dldFBhbmVsQXJpYUxhYmVsbGVkYnkodCl7aWYodGhpcy5hcmlhTGFiZWwpcmV0dXJuIG51bGw7cmV0dXJuIHRoaXMuYXJpYUxhYmVsbGVkYnk/KHQ/dCsiICI6IiIpK3RoaXMuYXJpYUxhYmVsbGVkYnk6dH1fc2V0VmlzaWJpbGl0eUNsYXNzZXModCl7dFt0aGlzLl92aXNpYmxlQ2xhc3NdPXRoaXMuc2hvd1BhbmVsLHRbdGhpcy5faGlkZGVuQ2xhc3NdPSF0aGlzLnNob3dQYW5lbH19SDMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEgzKShnZihPYiksZ2YoS2gpLGdmKHozKSxnZihjSCkpfSxIMy7JtWRpcj1obyh7dHlwZTpIMyx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKFZ5KEViLDcpLFZ5KFIzLDUpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLnRlbXBsYXRlPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLnBhbmVsPXQuZmlyc3QpfX0saW5wdXRzOntkaXNwbGF5V2l0aDoiZGlzcGxheVdpdGgiLGF1dG9BY3RpdmVGaXJzdE9wdGlvbjoiYXV0b0FjdGl2ZUZpcnN0T3B0aW9uIixjbGFzc0xpc3Q6WyJjbGFzcyIsImNsYXNzTGlzdCJdLGFyaWFMYWJlbDpbImFyaWEtbGFiZWwiLCJhcmlhTGFiZWwiXSxhcmlhTGFiZWxsZWRieTpbImFyaWEtbGFiZWxsZWRieSIsImFyaWFMYWJlbGxlZGJ5Il0scGFuZWxXaWR0aDoicGFuZWxXaWR0aCJ9LG91dHB1dHM6e29wdGlvblNlbGVjdGVkOiJvcHRpb25TZWxlY3RlZCIsb3BlbmVkOiJvcGVuZWQiLGNsb3NlZDoiY2xvc2VkIixvcHRpb25BY3RpdmF0ZWQ6Im9wdGlvbkFjdGl2YXRlZCJ9LGZlYXR1cmVzOltRcF19KSxIMy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOk9ifSx7dHlwZTpLaH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3ozXX1dfSx7dHlwZTpjSH1dLEgzLnByb3BEZWNvcmF0b3JzPXt0ZW1wbGF0ZTpbe3R5cGU6YXIsYXJnczpbRWIse3N0YXRpYzohMH1dfV0scGFuZWw6W3t0eXBlOmFyLGFyZ3M6WyJwYW5lbCJdfV0sYXJpYUxhYmVsOlt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbCJdfV0sYXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dLGRpc3BsYXlXaXRoOlt7dHlwZTpSX31dLGF1dG9BY3RpdmVGaXJzdE9wdGlvbjpbe3R5cGU6Ul99XSxwYW5lbFdpZHRoOlt7dHlwZTpSX31dLG9wdGlvblNlbGVjdGVkOlt7dHlwZTpFX31dLG9wZW5lZDpbe3R5cGU6RV99XSxjbG9zZWQ6W3t0eXBlOkVffV0sb3B0aW9uQWN0aXZhdGVkOlt7dHlwZTpFX31dLGNsYXNzTGlzdDpbe3R5cGU6Ul8sYXJnczpbImNsYXNzIl19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihIMyxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6T2J9LHt0eXBlOktofSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbejNdfV19LHt0eXBlOmNIfV19KSx7ZGlzcGxheVdpdGg6W3t0eXBlOlJffV0sb3B0aW9uU2VsZWN0ZWQ6W3t0eXBlOkVffV0sb3BlbmVkOlt7dHlwZTpFX31dLGNsb3NlZDpbe3R5cGU6RV99XSxvcHRpb25BY3RpdmF0ZWQ6W3t0eXBlOkVffV0sYXV0b0FjdGl2ZUZpcnN0T3B0aW9uOlt7dHlwZTpSX31dLGNsYXNzTGlzdDpbe3R5cGU6Ul8sYXJnczpbImNsYXNzIl19XSx0ZW1wbGF0ZTpbe3R5cGU6YXIsYXJnczpbRWIse3N0YXRpYzohMH1dfV0scGFuZWw6W3t0eXBlOmFyLGFyZ3M6WyJwYW5lbCJdfV0sYXJpYUxhYmVsOlt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbCJdfV0sYXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dLHBhbmVsV2lkdGg6W3t0eXBlOlJffV19KTtjbGFzcyBGMyBleHRlbmRzIEgze2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl92aXNpYmxlQ2xhc3M9Im1hdC1hdXRvY29tcGxldGUtdmlzaWJsZSIsdGhpcy5faGlkZGVuQ2xhc3M9Im1hdC1hdXRvY29tcGxldGUtaGlkZGVuIn19RjMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKEYzKSkpKG58fEYzKX19KSgpLEYzLsm1Y21wPXNvKHt0eXBlOkYzLHNlbGVjdG9yczpbWyJtYXQtYXV0b2NvbXBsZXRlIl1dLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uIHQoZSxuLG8pe2lmKDEmZSYmKGp5KG8sQ0wsNSksankobyxQTCw1KSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5vcHRpb25Hcm91cHM9dCksQnkodD1VeSgpKSYmKG4ub3B0aW9ucz10KX19LGhvc3RBdHRyczpbMSwibWF0LWF1dG9jb21wbGV0ZSJdLGlucHV0czp7ZGlzYWJsZVJpcHBsZToiZGlzYWJsZVJpcHBsZSJ9LGV4cG9ydEFzOlsibWF0QXV0b2NvbXBsZXRlIl0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpoTCx1c2VFeGlzdGluZzpGM31dKSxRcF0sbmdDb250ZW50U2VsZWN0b3JzOlsiKiJdLGRlY2xzOjEsdmFyczowLGNvbnN0czpbWyJyb2xlIiwibGlzdGJveCIsMSwibWF0LWF1dG9jb21wbGV0ZS1wYW5lbCIsMywiaWQiLCJuZ0NsYXNzIl0sWyJwYW5lbCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxIbSgwLEUzLDMsNCwibmctdGVtcGxhdGUiKSl9LGRpcmVjdGl2ZXM6W0N2XSxzdHlsZXM6WyIubWF0LWF1dG9jb21wbGV0ZS1wYW5lbHttaW4td2lkdGg6MTEycHg7bWF4LXdpZHRoOjI4MHB4O292ZXJmbG93OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7dmlzaWJpbGl0eTpoaWRkZW47bWF4LXdpZHRoOm5vbmU7bWF4LWhlaWdodDoyNTZweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweH0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbC5tYXQtYXV0b2NvbXBsZXRlLXZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLm1hdC1hdXRvY29tcGxldGUtaGlkZGVue3Zpc2liaWxpdHk6aGlkZGVufS5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLWFib3ZlIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVse2JvcmRlci1yYWRpdXM6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHh9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1kaXZpZGVyLWhvcml6b250YWx7bWFyZ2luLXRvcDotMXB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1hdXRvY29tcGxldGUtcGFuZWx7b3V0bGluZTpzb2xpZCAxcHh9bWF0LWF1dG9jb21wbGV0ZXtkaXNwbGF5Om5vbmV9XG4iXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSxGMy5wcm9wRGVjb3JhdG9ycz17b3B0aW9uR3JvdXBzOlt7dHlwZTpvcixhcmdzOltDTCx7ZGVzY2VuZGFudHM6ITB9XX1dLG9wdGlvbnM6W3t0eXBlOm9yLGFyZ3M6W1BMLHtkZXNjZW5kYW50czohMH1dfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRjMsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LWF1dG9jb21wbGV0ZSIsdGVtcGxhdGU6JzxuZy10ZW1wbGF0ZSBsZXQtZm9ybUZpZWxkSWQ9ImlkIj5cbiAgPGRpdiBjbGFzcz0ibWF0LWF1dG9jb21wbGV0ZS1wYW5lbCJcbiAgICAgICByb2xlPSJsaXN0Ym94IlxuICAgICAgIFtpZF09ImlkIlxuICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPSJhcmlhTGFiZWwgfHwgbnVsbCJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPSJfZ2V0UGFuZWxBcmlhTGFiZWxsZWRieShmb3JtRmllbGRJZCkiXG4gICAgICAgW25nQ2xhc3NdPSJfY2xhc3NMaXN0IlxuICAgICAgICNwYW5lbD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbicsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsZXhwb3J0QXM6Im1hdEF1dG9jb21wbGV0ZSIsaW5wdXRzOlsiZGlzYWJsZVJpcHBsZSJdLGhvc3Q6e2NsYXNzOiJtYXQtYXV0b2NvbXBsZXRlIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpoTCx1c2VFeGlzdGluZzpGM31dLHN0eWxlczpbIi5tYXQtYXV0b2NvbXBsZXRlLXBhbmVse21pbi13aWR0aDoxMTJweDttYXgtd2lkdGg6MjgwcHg7b3ZlcmZsb3c6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDt2aXNpYmlsaXR5OmhpZGRlbjttYXgtd2lkdGg6bm9uZTttYXgtaGVpZ2h0OjI1NnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4fS5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLm1hdC1hdXRvY29tcGxldGUtdmlzaWJsZXt2aXNpYmlsaXR5OnZpc2libGV9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWwubWF0LWF1dG9jb21wbGV0ZS1oaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59Lm1hdC1hdXRvY29tcGxldGUtcGFuZWwtYWJvdmUgLm1hdC1hdXRvY29tcGxldGUtcGFuZWx7Ym9yZGVyLXJhZGl1czowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweH0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LWRpdmlkZXItaG9yaXpvbnRhbHttYXJnaW4tdG9wOi0xcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbHtvdXRsaW5lOnNvbGlkIDFweH1tYXQtYXV0b2NvbXBsZXRle2Rpc3BsYXk6bm9uZX1cbiJdfV19XSxudWxsLHtvcHRpb25Hcm91cHM6W3t0eXBlOm9yLGFyZ3M6W0NMLHtkZXNjZW5kYW50czohMH1dfV0sb3B0aW9uczpbe3R5cGU6b3IsYXJnczpbUEwse2Rlc2NlbmRhbnRzOiEwfV19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgTDN7Y29uc3RydWN0b3IodCl7dGhpcy5lbGVtZW50UmVmPXR9fUwzLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxMMykoZ2YoS2gpKX0sTDMuybVkaXI9aG8oe3R5cGU6TDN9KSxMMy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihMMyxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9XX0pLG51bGwpO2NsYXNzIEIzIGV4dGVuZHMgTDN7fUIzLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShCMykpKShufHxCMyl9fSkoKSxCMy7JtWRpcj1obyh7dHlwZTpCMyxzZWxlY3RvcnM6W1siIiwibWF0QXV0b2NvbXBsZXRlT3JpZ2luIiwiIl1dLGV4cG9ydEFzOlsibWF0QXV0b2NvbXBsZXRlT3JpZ2luIl0sZmVhdHVyZXM6W1FwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQjMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdEF1dG9jb21wbGV0ZU9yaWdpbl0iLGV4cG9ydEFzOiJtYXRBdXRvY29tcGxldGVPcmlnaW4ifV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgVjM9bmV3IGVyKCJtYXQtYXV0b2NvbXBsZXRlLXNjcm9sbC1zdHJhdGVneSIpO2NvbnN0IGozPXtwcm92aWRlOlYzLGRlcHM6W0tCXSx1c2VGYWN0b3J5OmZ1bmN0aW9uIFUzKHQpe3JldHVybigpPT50LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpfX0sVzM9e3Byb3ZpZGU6eFUsdXNlRXhpc3Rpbmc6JGUoKCgpPT5ZMykpLG11bHRpOiEwfTtjbGFzcyBHM3tjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMsbCxjLGQpe3RoaXMuX2VsZW1lbnQ9dCx0aGlzLl9vdmVybGF5PWUsdGhpcy5fdmlld0NvbnRhaW5lclJlZj1uLHRoaXMuX3pvbmU9byx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj1pLHRoaXMuX2Rpcj1yLHRoaXMuX2Zvcm1GaWVsZD1zLHRoaXMuX2RvY3VtZW50PWwsdGhpcy5fdmlld3BvcnRSdWxlcj1jLHRoaXMuX2RlZmF1bHRzPWQsdGhpcy5fY29tcG9uZW50RGVzdHJveWVkPSExLHRoaXMuX2F1dG9jb21wbGV0ZURpc2FibGVkPSExLHRoaXMuX21hbnVhbGx5RmxvYXRpbmdMYWJlbD0hMSx0aGlzLl92aWV3cG9ydFN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX2Nhbk9wZW5Pbk5leHRGb2N1cz0hMCx0aGlzLl9jbG9zZUtleUV2ZW50U3RyZWFtPW5ldyBCLHRoaXMuX3dpbmRvd0JsdXJIYW5kbGVyPSgpPT57dGhpcy5fY2FuT3Blbk9uTmV4dEZvY3VzPXRoaXMuX2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT10aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnR8fHRoaXMucGFuZWxPcGVufSx0aGlzLl9vbkNoYW5nZT0oKT0+e30sdGhpcy5fb25Ub3VjaGVkPSgpPT57fSx0aGlzLnBvc2l0aW9uPSJhdXRvIix0aGlzLmF1dG9jb21wbGV0ZUF0dHJpYnV0ZT0ib2ZmIix0aGlzLl9vdmVybGF5QXR0YWNoZWQ9ITEsdGhpcy5vcHRpb25TZWxlY3Rpb25zPW9lKCgoKT0+dGhpcy5hdXRvY29tcGxldGUmJnRoaXMuYXV0b2NvbXBsZXRlLm9wdGlvbnM/cGUoLi4udGhpcy5hdXRvY29tcGxldGUub3B0aW9ucy5tYXAoKHQ9PnQub25TZWxlY3Rpb25DaGFuZ2UpKSk6dGhpcy5fem9uZS5vblN0YWJsZS5waXBlKHZlKDEpLFZlKCgoKT0+dGhpcy5vcHRpb25TZWxlY3Rpb25zKSkpKSksdGhpcy5fc2Nyb2xsU3RyYXRlZ3k9YX1nZXQgYXV0b2NvbXBsZXRlRGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlRGlzYWJsZWR9c2V0IGF1dG9jb21wbGV0ZURpc2FibGVkKHQpe3RoaXMuX2F1dG9jb21wbGV0ZURpc2FibGVkPWVIKHQpfW5nQWZ0ZXJWaWV3SW5pdCgpe2NvbnN0IHQ9dGhpcy5fZ2V0V2luZG93KCk7dm9pZCAwIT09dCYmdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PnQuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fd2luZG93Qmx1ckhhbmRsZXIpKSl9bmdPbkNoYW5nZXModCl7dC5wb3NpdGlvbiYmdGhpcy5fcG9zaXRpb25TdHJhdGVneSYmKHRoaXMuX3NldFN0cmF0ZWd5UG9zaXRpb25zKHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kpLHRoaXMucGFuZWxPcGVuJiZ0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCkpfW5nT25EZXN0cm95KCl7Y29uc3QgdD10aGlzLl9nZXRXaW5kb3coKTt2b2lkIDAhPT10JiZ0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX3dpbmRvd0JsdXJIYW5kbGVyKSx0aGlzLl92aWV3cG9ydFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuX2NvbXBvbmVudERlc3Ryb3llZD0hMCx0aGlzLl9kZXN0cm95UGFuZWwoKSx0aGlzLl9jbG9zZUtleUV2ZW50U3RyZWFtLmNvbXBsZXRlKCl9Z2V0IHBhbmVsT3Blbigpe3JldHVybiB0aGlzLl9vdmVybGF5QXR0YWNoZWQmJnRoaXMuYXV0b2NvbXBsZXRlLnNob3dQYW5lbH1vcGVuUGFuZWwoKXt0aGlzLl9hdHRhY2hPdmVybGF5KCksdGhpcy5fZmxvYXRMYWJlbCgpfWNsb3NlUGFuZWwoKXt0aGlzLl9yZXNldExhYmVsKCksdGhpcy5fb3ZlcmxheUF0dGFjaGVkJiYodGhpcy5wYW5lbE9wZW4mJnRoaXMuYXV0b2NvbXBsZXRlLmNsb3NlZC5lbWl0KCksdGhpcy5hdXRvY29tcGxldGUuX2lzT3Blbj10aGlzLl9vdmVybGF5QXR0YWNoZWQ9ITEsdGhpcy5fb3ZlcmxheVJlZiYmdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpJiYodGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKSx0aGlzLl9jbG9zaW5nQWN0aW9uc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKSx0aGlzLl9jb21wb25lbnREZXN0cm95ZWR8fHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKSl9dXBkYXRlUG9zaXRpb24oKXt0aGlzLl9vdmVybGF5QXR0YWNoZWQmJnRoaXMuX292ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKX1nZXQgcGFuZWxDbG9zaW5nQWN0aW9ucygpe3JldHVybiBwZSh0aGlzLm9wdGlvblNlbGVjdGlvbnMsdGhpcy5hdXRvY29tcGxldGUuX2tleU1hbmFnZXIudGFiT3V0LnBpcGUodWUoKCgpPT50aGlzLl9vdmVybGF5QXR0YWNoZWQpKSksdGhpcy5fY2xvc2VLZXlFdmVudFN0cmVhbSx0aGlzLl9nZXRPdXRzaWRlQ2xpY2tTdHJlYW0oKSx0aGlzLl9vdmVybGF5UmVmP3RoaXMuX292ZXJsYXlSZWYuZGV0YWNobWVudHMoKS5waXBlKHVlKCgoKT0+dGhpcy5fb3ZlcmxheUF0dGFjaGVkKSkpOnp0KCkpLnBpcGUoVnQoKHQ9PnQgaW5zdGFuY2VvZiB4TD90Om51bGwpKSl9Z2V0IGFjdGl2ZU9wdGlvbigpe3JldHVybiB0aGlzLmF1dG9jb21wbGV0ZSYmdGhpcy5hdXRvY29tcGxldGUuX2tleU1hbmFnZXI/dGhpcy5hdXRvY29tcGxldGUuX2tleU1hbmFnZXIuYWN0aXZlSXRlbTpudWxsfV9nZXRPdXRzaWRlQ2xpY2tTdHJlYW0oKXtyZXR1cm4gcGUobGUodGhpcy5fZG9jdW1lbnQsImNsaWNrIiksbGUodGhpcy5fZG9jdW1lbnQsImF1eGNsaWNrIiksbGUodGhpcy5fZG9jdW1lbnQsInRvdWNoZW5kIikpLnBpcGUodWUoKHQ9Pntjb25zdCBlPXZIKHQpLG49dGhpcy5fZm9ybUZpZWxkP3RoaXMuX2Zvcm1GaWVsZC5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Om51bGwsbz10aGlzLmNvbm5lY3RlZFRvP3RoaXMuY29ubmVjdGVkVG8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Om51bGw7cmV0dXJuIHRoaXMuX292ZXJsYXlBdHRhY2hlZCYmZSE9PXRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCYmKCFufHwhbi5jb250YWlucyhlKSkmJighb3x8IW8uY29udGFpbnMoZSkpJiYhIXRoaXMuX292ZXJsYXlSZWYmJiF0aGlzLl9vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmNvbnRhaW5zKGUpfSkpKX13cml0ZVZhbHVlKHQpe1Byb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgoKT0+dGhpcy5fc2V0VHJpZ2dlclZhbHVlKHQpKSl9cmVnaXN0ZXJPbkNoYW5nZSh0KXt0aGlzLl9vbkNoYW5nZT10fXJlZ2lzdGVyT25Ub3VjaGVkKHQpe3RoaXMuX29uVG91Y2hlZD10fXNldERpc2FibGVkU3RhdGUodCl7dGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmRpc2FibGVkPXR9X2hhbmRsZUtleWRvd24odCl7Y29uc3QgZT10LmtleUNvZGU7aWYoZSE9PUtJfHx0SCh0KXx8dC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuYWN0aXZlT3B0aW9uJiZlPT09WEkmJnRoaXMucGFuZWxPcGVuKXRoaXMuYWN0aXZlT3B0aW9uLl9zZWxlY3RWaWFJbnRlcmFjdGlvbigpLHRoaXMuX3Jlc2V0QWN0aXZlSXRlbSgpLHQucHJldmVudERlZmF1bHQoKTtlbHNlIGlmKHRoaXMuYXV0b2NvbXBsZXRlKXtjb25zdCBuPXRoaXMuYXV0b2NvbXBsZXRlLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0sbz1lPT09UUl8fGU9PT0kSTt0aGlzLnBhbmVsT3Blbnx8OT09PWU/dGhpcy5hdXRvY29tcGxldGUuX2tleU1hbmFnZXIub25LZXlkb3duKHQpOm8mJnRoaXMuX2Nhbk9wZW4oKSYmdGhpcy5vcGVuUGFuZWwoKSwob3x8dGhpcy5hdXRvY29tcGxldGUuX2tleU1hbmFnZXIuYWN0aXZlSXRlbSE9PW4pJiZ0aGlzLl9zY3JvbGxUb09wdGlvbih0aGlzLmF1dG9jb21wbGV0ZS5fa2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXh8fDApfX1faGFuZGxlSW5wdXQodCl7bGV0IGU9dC50YXJnZXQsbj1lLnZhbHVlOyJudW1iZXIiPT09ZS50eXBlJiYobj0iIj09bj9udWxsOnBhcnNlRmxvYXQobikpLHRoaXMuX3ByZXZpb3VzVmFsdWUhPT1uJiYodGhpcy5fcHJldmlvdXNWYWx1ZT1uLHRoaXMuX29uQ2hhbmdlKG4pLHRoaXMuX2Nhbk9wZW4oKSYmdGhpcy5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXQudGFyZ2V0JiZ0aGlzLm9wZW5QYW5lbCgpKX1faGFuZGxlRm9jdXMoKXt0aGlzLl9jYW5PcGVuT25OZXh0Rm9jdXM/dGhpcy5fY2FuT3BlbigpJiYodGhpcy5fcHJldmlvdXNWYWx1ZT10aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUsdGhpcy5fYXR0YWNoT3ZlcmxheSgpLHRoaXMuX2Zsb2F0TGFiZWwoITApKTp0aGlzLl9jYW5PcGVuT25OZXh0Rm9jdXM9ITB9X2Zsb2F0TGFiZWwodD0hMSl7dGhpcy5fZm9ybUZpZWxkJiYiYXV0byI9PT10aGlzLl9mb3JtRmllbGQuZmxvYXRMYWJlbCYmKHQ/dGhpcy5fZm9ybUZpZWxkLl9hbmltYXRlQW5kTG9ja0xhYmVsKCk6dGhpcy5fZm9ybUZpZWxkLmZsb2F0TGFiZWw9ImFsd2F5cyIsdGhpcy5fbWFudWFsbHlGbG9hdGluZ0xhYmVsPSEwKX1fcmVzZXRMYWJlbCgpe3RoaXMuX21hbnVhbGx5RmxvYXRpbmdMYWJlbCYmKHRoaXMuX2Zvcm1GaWVsZC5mbG9hdExhYmVsPSJhdXRvIix0aGlzLl9tYW51YWxseUZsb2F0aW5nTGFiZWw9ITEpfV9zdWJzY3JpYmVUb0Nsb3NpbmdBY3Rpb25zKCl7cmV0dXJuIHBlKHRoaXMuX3pvbmUub25TdGFibGUucGlwZSh2ZSgxKSksdGhpcy5hdXRvY29tcGxldGUub3B0aW9ucy5jaGFuZ2VzLnBpcGUoV2UoKCgpPT50aGlzLl9wb3NpdGlvblN0cmF0ZWd5LnJlYXBwbHlMYXN0UG9zaXRpb24oKSkpLFBlKDApKSkucGlwZShWZSgoKCk9Pntjb25zdCB0PXRoaXMucGFuZWxPcGVuO3JldHVybiB0aGlzLl9yZXNldEFjdGl2ZUl0ZW0oKSx0aGlzLmF1dG9jb21wbGV0ZS5fc2V0VmlzaWJpbGl0eSgpLHRoaXMucGFuZWxPcGVuJiYodGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpLHQhPT10aGlzLnBhbmVsT3BlbiYmdGhpcy5hdXRvY29tcGxldGUub3BlbmVkLmVtaXQoKSksdGhpcy5wYW5lbENsb3NpbmdBY3Rpb25zfSkpLHZlKDEpKS5zdWJzY3JpYmUoKHQ9PnRoaXMuX3NldFZhbHVlQW5kQ2xvc2UodCkpKX1fZGVzdHJveVBhbmVsKCl7dGhpcy5fb3ZlcmxheVJlZiYmKHRoaXMuY2xvc2VQYW5lbCgpLHRoaXMuX292ZXJsYXlSZWYuZGlzcG9zZSgpLHRoaXMuX292ZXJsYXlSZWY9bnVsbCl9X3NldFRyaWdnZXJWYWx1ZSh0KXtjb25zdCBlPXRoaXMuYXV0b2NvbXBsZXRlJiZ0aGlzLmF1dG9jb21wbGV0ZS5kaXNwbGF5V2l0aD90aGlzLmF1dG9jb21wbGV0ZS5kaXNwbGF5V2l0aCh0KTp0LG49bnVsbCE9ZT9lOiIiO3RoaXMuX2Zvcm1GaWVsZD90aGlzLl9mb3JtRmllbGQuX2NvbnRyb2wudmFsdWU9bjp0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWU9bix0aGlzLl9wcmV2aW91c1ZhbHVlPW59X3NldFZhbHVlQW5kQ2xvc2UodCl7dCYmdC5zb3VyY2UmJih0aGlzLl9jbGVhclByZXZpb3VzU2VsZWN0ZWRPcHRpb24odC5zb3VyY2UpLHRoaXMuX3NldFRyaWdnZXJWYWx1ZSh0LnNvdXJjZS52YWx1ZSksdGhpcy5fb25DaGFuZ2UodC5zb3VyY2UudmFsdWUpLHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpLHRoaXMuYXV0b2NvbXBsZXRlLl9lbWl0U2VsZWN0RXZlbnQodC5zb3VyY2UpKSx0aGlzLmNsb3NlUGFuZWwoKX1fY2xlYXJQcmV2aW91c1NlbGVjdGVkT3B0aW9uKHQpe3RoaXMuYXV0b2NvbXBsZXRlLm9wdGlvbnMuZm9yRWFjaCgoZT0+e2UhPT10JiZlLnNlbGVjdGVkJiZlLmRlc2VsZWN0KCl9KSl9X2F0dGFjaE92ZXJsYXkoKXt2YXIgdDtpZighdGhpcy5hdXRvY29tcGxldGUmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyhmdW5jdGlvbiBlKCl7cmV0dXJuIEVycm9yKCJBdHRlbXB0aW5nIHRvIG9wZW4gYW4gdW5kZWZpbmVkIGluc3RhbmNlIG9mIGBtYXQtYXV0b2NvbXBsZXRlYC4gTWFrZSBzdXJlIHRoYXQgdGhlIGlkIHBhc3NlZCB0byB0aGUgYG1hdEF1dG9jb21wbGV0ZWAgaXMgY29ycmVjdCBhbmQgdGhhdCB5b3UncmUgYXR0ZW1wdGluZyB0byBvcGVuIGl0IGFmdGVyIHRoZSBuZ0FmdGVyQ29udGVudEluaXQgaG9vay4iKX0pKCk7bGV0IG49dGhpcy5fb3ZlcmxheVJlZjtuPyh0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LnNldE9yaWdpbih0aGlzLl9nZXRDb25uZWN0ZWRFbGVtZW50KCkpLG4udXBkYXRlU2l6ZSh7d2lkdGg6dGhpcy5fZ2V0UGFuZWxXaWR0aCgpfSkpOih0aGlzLl9wb3J0YWw9bmV3IGxCKHRoaXMuYXV0b2NvbXBsZXRlLnRlbXBsYXRlLHRoaXMuX3ZpZXdDb250YWluZXJSZWYse2lkOm51bGw9PT0odD10aGlzLl9mb3JtRmllbGQpfHx2b2lkIDA9PT10P3ZvaWQgMDp0LmdldExhYmVsSWQoKX0pLG49dGhpcy5fb3ZlcmxheS5jcmVhdGUodGhpcy5fZ2V0T3ZlcmxheUNvbmZpZygpKSx0aGlzLl9vdmVybGF5UmVmPW4sbi5rZXlkb3duRXZlbnRzKCkuc3Vic2NyaWJlKCh0PT57KHQua2V5Q29kZT09PUtJJiYhdEgodCl8fHQua2V5Q29kZT09PVFJJiZ0SCh0LCJhbHRLZXkiKSkmJih0aGlzLl9yZXNldEFjdGl2ZUl0ZW0oKSx0aGlzLl9jbG9zZUtleUV2ZW50U3RyZWFtLm5leHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLHQucHJldmVudERlZmF1bHQoKSl9KSksdGhpcy5fdmlld3BvcnRTdWJzY3JpcHRpb249dGhpcy5fdmlld3BvcnRSdWxlci5jaGFuZ2UoKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5wYW5lbE9wZW4mJm4mJm4udXBkYXRlU2l6ZSh7d2lkdGg6dGhpcy5fZ2V0UGFuZWxXaWR0aCgpfSl9KSkpLG4mJiFuLmhhc0F0dGFjaGVkKCkmJihuLmF0dGFjaCh0aGlzLl9wb3J0YWwpLHRoaXMuX2Nsb3NpbmdBY3Rpb25zU3Vic2NyaXB0aW9uPXRoaXMuX3N1YnNjcmliZVRvQ2xvc2luZ0FjdGlvbnMoKSk7Y29uc3Qgbz10aGlzLnBhbmVsT3Blbjt0aGlzLmF1dG9jb21wbGV0ZS5fc2V0VmlzaWJpbGl0eSgpLHRoaXMuYXV0b2NvbXBsZXRlLl9pc09wZW49dGhpcy5fb3ZlcmxheUF0dGFjaGVkPSEwLHRoaXMucGFuZWxPcGVuJiZvIT09dGhpcy5wYW5lbE9wZW4mJnRoaXMuYXV0b2NvbXBsZXRlLm9wZW5lZC5lbWl0KCl9X2dldE92ZXJsYXlDb25maWcoKXt2YXIgdDtyZXR1cm4gbmV3IHdCKHtwb3NpdGlvblN0cmF0ZWd5OnRoaXMuX2dldE92ZXJsYXlQb3NpdGlvbigpLHNjcm9sbFN0cmF0ZWd5OnRoaXMuX3Njcm9sbFN0cmF0ZWd5KCksd2lkdGg6dGhpcy5fZ2V0UGFuZWxXaWR0aCgpLGRpcmVjdGlvbjp0aGlzLl9kaXIscGFuZWxDbGFzczpudWxsPT09KHQ9dGhpcy5fZGVmYXVsdHMpfHx2b2lkIDA9PT10P3ZvaWQgMDp0Lm92ZXJsYXlQYW5lbENsYXNzfSl9X2dldE92ZXJsYXlQb3NpdGlvbigpe2NvbnN0IHQ9dGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5fZ2V0Q29ubmVjdGVkRWxlbWVudCgpKS53aXRoRmxleGlibGVEaW1lbnNpb25zKCExKS53aXRoUHVzaCghMSk7cmV0dXJuIHRoaXMuX3NldFN0cmF0ZWd5UG9zaXRpb25zKHQpLHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3k9dCx0fV9zZXRTdHJhdGVneVBvc2l0aW9ucyh0KXtjb25zdCBlPVt7b3JpZ2luWDoic3RhcnQiLG9yaWdpblk6ImJvdHRvbSIsb3ZlcmxheVg6InN0YXJ0IixvdmVybGF5WToidG9wIn0se29yaWdpblg6ImVuZCIsb3JpZ2luWToiYm90dG9tIixvdmVybGF5WDoiZW5kIixvdmVybGF5WToidG9wIn1dLG49dGhpcy5fYWJvdmVDbGFzcyxvPVt7b3JpZ2luWDoic3RhcnQiLG9yaWdpblk6InRvcCIsb3ZlcmxheVg6InN0YXJ0IixvdmVybGF5WToiYm90dG9tIixwYW5lbENsYXNzOm59LHtvcmlnaW5YOiJlbmQiLG9yaWdpblk6InRvcCIsb3ZlcmxheVg6ImVuZCIsb3ZlcmxheVk6ImJvdHRvbSIscGFuZWxDbGFzczpufV07bGV0IGk7aT0iYWJvdmUiPT09dGhpcy5wb3NpdGlvbj9vOiJiZWxvdyI9PT10aGlzLnBvc2l0aW9uP2U6Wy4uLmUsLi4ub10sdC53aXRoUG9zaXRpb25zKGkpfV9nZXRDb25uZWN0ZWRFbGVtZW50KCl7cmV0dXJuIHRoaXMuY29ubmVjdGVkVG8/dGhpcy5jb25uZWN0ZWRUby5lbGVtZW50UmVmOnRoaXMuX2Zvcm1GaWVsZD90aGlzLl9mb3JtRmllbGQuZ2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpOnRoaXMuX2VsZW1lbnR9X2dldFBhbmVsV2lkdGgoKXtyZXR1cm4gdGhpcy5hdXRvY29tcGxldGUucGFuZWxXaWR0aHx8dGhpcy5fZ2V0SG9zdFdpZHRoKCl9X2dldEhvc3RXaWR0aCgpe3JldHVybiB0aGlzLl9nZXRDb25uZWN0ZWRFbGVtZW50KCkubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aH1fcmVzZXRBY3RpdmVJdGVtKCl7Y29uc3QgdD10aGlzLmF1dG9jb21wbGV0ZTt0LmF1dG9BY3RpdmVGaXJzdE9wdGlvbj90Ll9rZXlNYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpOnQuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSgtMSl9X2Nhbk9wZW4oKXtjb25zdCB0PXRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudDtyZXR1cm4hdC5yZWFkT25seSYmIXQuZGlzYWJsZWQmJiF0aGlzLl9hdXRvY29tcGxldGVEaXNhYmxlZH1fZ2V0V2luZG93KCl7dmFyIHQ7cmV0dXJuKG51bGw9PT0odD10aGlzLl9kb2N1bWVudCl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuZGVmYXVsdFZpZXcpfHx3aW5kb3d9X3Njcm9sbFRvT3B0aW9uKHQpe2NvbnN0IGU9dGhpcy5hdXRvY29tcGxldGUsbj13TCh0LGUub3B0aW9ucyxlLm9wdGlvbkdyb3Vwcyk7aWYoMD09PXQmJjE9PT1uKWUuX3NldFNjcm9sbFRvcCgwKTtlbHNlIGlmKGUucGFuZWwpe2NvbnN0IG49ZS5vcHRpb25zLnRvQXJyYXkoKVt0XTtpZihuKXtjb25zdCB0PW4uX2dldEhvc3RFbGVtZW50KCksbz1rTCh0Lm9mZnNldFRvcCx0Lm9mZnNldEhlaWdodCxlLl9nZXRTY3JvbGxUb3AoKSxlLnBhbmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0KTtlLl9zZXRTY3JvbGxUb3Aobyl9fX19RzMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEczKShnZihLaCksZ2YoS0IpLGdmKEZiKSxnZihtQyksZ2YoT2IpLGdmKFYzKSxnZih2Riw4KSxnZih5VSw5KSxnZihzTSw4KSxnZihRTCksZ2YoejMsOCkpfSxHMy7JtWRpcj1obyh7dHlwZTpHMyxpbnB1dHM6e3Bvc2l0aW9uOlsibWF0QXV0b2NvbXBsZXRlUG9zaXRpb24iLCJwb3NpdGlvbiJdLGF1dG9jb21wbGV0ZUF0dHJpYnV0ZTpbImF1dG9jb21wbGV0ZSIsImF1dG9jb21wbGV0ZUF0dHJpYnV0ZSJdLGF1dG9jb21wbGV0ZURpc2FibGVkOlsibWF0QXV0b2NvbXBsZXRlRGlzYWJsZWQiLCJhdXRvY29tcGxldGVEaXNhYmxlZCJdLGF1dG9jb21wbGV0ZTpbIm1hdEF1dG9jb21wbGV0ZSIsImF1dG9jb21wbGV0ZSJdLGNvbm5lY3RlZFRvOlsibWF0QXV0b2NvbXBsZXRlQ29ubmVjdGVkVG8iLCJjb25uZWN0ZWRUbyJdfSxmZWF0dXJlczpbcW9dfSksRzMuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6S0J9LHt0eXBlOkZifSx7dHlwZTptQ30se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltWM119XX0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6X1UsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3lVXX0se3R5cGU6VXJ9XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6UUx9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbejNdfV19XSxHMy5wcm9wRGVjb3JhdG9ycz17YXV0b2NvbXBsZXRlOlt7dHlwZTpSXyxhcmdzOlsibWF0QXV0b2NvbXBsZXRlIl19XSxwb3NpdGlvbjpbe3R5cGU6Ul8sYXJnczpbIm1hdEF1dG9jb21wbGV0ZVBvc2l0aW9uIl19XSxjb25uZWN0ZWRUbzpbe3R5cGU6Ul8sYXJnczpbIm1hdEF1dG9jb21wbGV0ZUNvbm5lY3RlZFRvIl19XSxhdXRvY29tcGxldGVBdHRyaWJ1dGU6W3t0eXBlOlJfLGFyZ3M6WyJhdXRvY29tcGxldGUiXX1dLGF1dG9jb21wbGV0ZURpc2FibGVkOlt7dHlwZTpSXyxhcmdzOlsibWF0QXV0b2NvbXBsZXRlRGlzYWJsZWQiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEczLFt7dHlwZTprX31dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6S0J9LHt0eXBlOkZifSx7dHlwZTptQ30se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltWM119XX0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6X1UsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3lVXX0se3R5cGU6VXJ9XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6UUx9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbejNdfV19XX0pLHtwb3NpdGlvbjpbe3R5cGU6Ul8sYXJnczpbIm1hdEF1dG9jb21wbGV0ZVBvc2l0aW9uIl19XSxhdXRvY29tcGxldGVBdHRyaWJ1dGU6W3t0eXBlOlJfLGFyZ3M6WyJhdXRvY29tcGxldGUiXX1dLGF1dG9jb21wbGV0ZURpc2FibGVkOlt7dHlwZTpSXyxhcmdzOlsibWF0QXV0b2NvbXBsZXRlRGlzYWJsZWQiXX1dLGF1dG9jb21wbGV0ZTpbe3R5cGU6Ul8sYXJnczpbIm1hdEF1dG9jb21wbGV0ZSJdfV0sY29ubmVjdGVkVG86W3t0eXBlOlJfLGFyZ3M6WyJtYXRBdXRvY29tcGxldGVDb25uZWN0ZWRUbyJdfV19KTtjbGFzcyBZMyBleHRlbmRzIEcze2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9hYm92ZUNsYXNzPSJtYXQtYXV0b2NvbXBsZXRlLXBhbmVsLWFib3ZlIn19WTMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKFkzKSkpKG58fFkzKX19KSgpLFkzLsm1ZGlyPWhvKHt0eXBlOlkzLHNlbGVjdG9yczpbWyJpbnB1dCIsIm1hdEF1dG9jb21wbGV0ZSIsIiJdLFsidGV4dGFyZWEiLCJtYXRBdXRvY29tcGxldGUiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtYXV0b2NvbXBsZXRlLXRyaWdnZXIiXSxob3N0VmFyczo3LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigiZm9jdXNpbiIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5faGFuZGxlRm9jdXMoKX0pKSgiYmx1ciIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fb25Ub3VjaGVkKCl9KSkoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlSW5wdXQoZSl9KSkoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9oYW5kbGVLZXlkb3duKGUpfSkpLDImZSYmeW0oImF1dG9jb21wbGV0ZSIsbi5hdXRvY29tcGxldGVBdHRyaWJ1dGUpKCJyb2xlIixuLmF1dG9jb21wbGV0ZURpc2FibGVkP251bGw6ImNvbWJvYm94IikoImFyaWEtYXV0b2NvbXBsZXRlIixuLmF1dG9jb21wbGV0ZURpc2FibGVkP251bGw6Imxpc3QiKSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50IixuLnBhbmVsT3BlbiYmbi5hY3RpdmVPcHRpb24/bi5hY3RpdmVPcHRpb24uaWQ6bnVsbCkoImFyaWEtZXhwYW5kZWQiLG4uYXV0b2NvbXBsZXRlRGlzYWJsZWQ/bnVsbDpuLnBhbmVsT3Blbi50b1N0cmluZygpKSgiYXJpYS1vd25zIixuLmF1dG9jb21wbGV0ZURpc2FibGVkfHwhbi5wYW5lbE9wZW58fG51bGw9PW4uYXV0b2NvbXBsZXRlP251bGw6bi5hdXRvY29tcGxldGUuaWQpKCJhcmlhLWhhc3BvcHVwIiwhbi5hdXRvY29tcGxldGVEaXNhYmxlZCl9LGV4cG9ydEFzOlsibWF0QXV0b2NvbXBsZXRlVHJpZ2dlciJdLGZlYXR1cmVzOltqaChbVzNdKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFkzLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6ImlucHV0W21hdEF1dG9jb21wbGV0ZV0sIHRleHRhcmVhW21hdEF1dG9jb21wbGV0ZV0iLGhvc3Q6e2NsYXNzOiJtYXQtYXV0b2NvbXBsZXRlLXRyaWdnZXIiLCJbYXR0ci5hdXRvY29tcGxldGVdIjoiYXV0b2NvbXBsZXRlQXR0cmlidXRlIiwiW2F0dHIucm9sZV0iOidhdXRvY29tcGxldGVEaXNhYmxlZCA/IG51bGwgOiAiY29tYm9ib3giJywiW2F0dHIuYXJpYS1hdXRvY29tcGxldGVdIjonYXV0b2NvbXBsZXRlRGlzYWJsZWQgPyBudWxsIDogImxpc3QiJywiW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XSI6IihwYW5lbE9wZW4gJiYgYWN0aXZlT3B0aW9uKSA/IGFjdGl2ZU9wdGlvbi5pZCA6IG51bGwiLCJbYXR0ci5hcmlhLWV4cGFuZGVkXSI6ImF1dG9jb21wbGV0ZURpc2FibGVkID8gbnVsbCA6IHBhbmVsT3Blbi50b1N0cmluZygpIiwiW2F0dHIuYXJpYS1vd25zXSI6IihhdXRvY29tcGxldGVEaXNhYmxlZCB8fCAhcGFuZWxPcGVuKSA/IG51bGwgOiBhdXRvY29tcGxldGU/LmlkIiwiW2F0dHIuYXJpYS1oYXNwb3B1cF0iOiIhYXV0b2NvbXBsZXRlRGlzYWJsZWQiLCIoZm9jdXNpbikiOiJfaGFuZGxlRm9jdXMoKSIsIihibHVyKSI6Il9vblRvdWNoZWQoKSIsIihpbnB1dCkiOiJfaGFuZGxlSW5wdXQoJGV2ZW50KSIsIihrZXlkb3duKSI6Il9oYW5kbGVLZXlkb3duKCRldmVudCkifSxleHBvcnRBczoibWF0QXV0b2NvbXBsZXRlVHJpZ2dlciIscHJvdmlkZXJzOltXM119XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBxM3t9cTMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHEzKX0scTMuybVtb2Q9Zm8oe3R5cGU6cTN9KSxxMy7JtWluaj1Ebih7cHJvdmlkZXJzOltqM10saW1wb3J0czpbW29WLFNMLE5GLHJ4XSxvQixTTCxORl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHEzLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbb1YsU0wsTkYscnhdLGV4cG9ydHM6W0YzLFkzLEIzLG9CLFNMLE5GXSxkZWNsYXJhdGlvbnM6W0YzLFkzLEIzXSxwcm92aWRlcnM6W2ozXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHEzLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bRjMsWTMsQjNdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW29WLFNMLE5GLHJ4XX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltGMyxZMyxCMyxvQixTTCxORl19fSk7Y2xhc3MgWjN7Y29uc3RydWN0b3IoKXt0aGlzLnZhbHVlPSIiLHRoaXMucGxhY2Vob2xkZXI9IiJ9b25JbnB1dEtleVVwKHQpeyJFbnRlciI9PT10LmtleSYmdGhpcy5hdXRvY29tcGxldGVUcmlnZ2VyLmNsb3NlUGFuZWwoKX19ZnVuY3Rpb24gWDModCxlKXtpZigxJnQmJihvYSgpLHZmKDAsImNpcmNsZSIsMykpLDImdCl7Y29uc3QgdD16ZigpO2x1KCJhbmltYXRpb24tbmFtZSIsIm1hdC1wcm9ncmVzcy1zcGlubmVyLXN0cm9rZS1yb3RhdGUtIit0Ll9zcGlubmVyQW5pbWF0aW9uTGFiZWwpKCJzdHJva2UtZGFzaG9mZnNldCIsdC5fZ2V0U3Ryb2tlRGFzaE9mZnNldCgpLCJweCIpKCJzdHJva2UtZGFzaGFycmF5Iix0Ll9nZXRTdHJva2VDaXJjdW1mZXJlbmNlKCksInB4IikoInN0cm9rZS13aWR0aCIsdC5fZ2V0Q2lyY2xlU3Ryb2tlV2lkdGgoKSwiJSIpLHltKCJyIix0Ll9nZXRDaXJjbGVSYWRpdXMoKSl9fWZ1bmN0aW9uIEszKHQsZSl7aWYoMSZ0JiYob2EoKSx2ZigwLCJjaXJjbGUiLDMpKSwyJnQpe2NvbnN0IHQ9emYoKTtsdSgic3Ryb2tlLWRhc2hvZmZzZXQiLHQuX2dldFN0cm9rZURhc2hPZmZzZXQoKSwicHgiKSgic3Ryb2tlLWRhc2hhcnJheSIsdC5fZ2V0U3Ryb2tlQ2lyY3VtZmVyZW5jZSgpLCJweCIpKCJzdHJva2Utd2lkdGgiLHQuX2dldENpcmNsZVN0cm9rZVdpZHRoKCksIiUiKSx5bSgiciIsdC5fZ2V0Q2lyY2xlUmFkaXVzKCkpfX1mdW5jdGlvbiBKMyh0LGUpe2lmKDEmdCYmKG9hKCksdmYoMCwiY2lyY2xlIiwzKSksMiZ0KXtjb25zdCB0PXpmKCk7bHUoImFuaW1hdGlvbi1uYW1lIiwibWF0LXByb2dyZXNzLXNwaW5uZXItc3Ryb2tlLXJvdGF0ZS0iK3QuX3NwaW5uZXJBbmltYXRpb25MYWJlbCkoInN0cm9rZS1kYXNob2Zmc2V0Iix0Ll9nZXRTdHJva2VEYXNoT2Zmc2V0KCksInB4IikoInN0cm9rZS1kYXNoYXJyYXkiLHQuX2dldFN0cm9rZUNpcmN1bWZlcmVuY2UoKSwicHgiKSgic3Ryb2tlLXdpZHRoIix0Ll9nZXRDaXJjbGVTdHJva2VXaWR0aCgpLCIlIikseW0oInIiLHQuX2dldENpcmNsZVJhZGl1cygpKX19ZnVuY3Rpb24gUTModCxlKXtpZigxJnQmJihvYSgpLHZmKDAsImNpcmNsZSIsMykpLDImdCl7Y29uc3QgdD16ZigpO2x1KCJzdHJva2UtZGFzaG9mZnNldCIsdC5fZ2V0U3Ryb2tlRGFzaE9mZnNldCgpLCJweCIpKCJzdHJva2UtZGFzaGFycmF5Iix0Ll9nZXRTdHJva2VDaXJjdW1mZXJlbmNlKCksInB4IikoInN0cm9rZS13aWR0aCIsdC5fZ2V0Q2lyY2xlU3Ryb2tlV2lkdGgoKSwiJSIpLHltKCJyIix0Ll9nZXRDaXJjbGVSYWRpdXMoKSl9fVozLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxaMyl9LFozLsm1Y21wPXNvKHt0eXBlOlozLHNlbGVjdG9yczpbWyJ0Yi1maWx0ZXItaW5wdXQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJlZ5KFkzLDUpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uYXV0b2NvbXBsZXRlVHJpZ2dlcj10LmZpcnN0KX19LGlucHV0czp7dmFsdWU6InZhbHVlIixtYXRBdXRvY29tcGxldGU6Im1hdEF1dG9jb21wbGV0ZSIscGxhY2Vob2xkZXI6InBsYWNlaG9sZGVyIn0sZGVjbHM6Mix2YXJzOjQsY29uc3RzOltbInN2Z0ljb24iLCJzZWFyY2hfMjRweCJdLFsidHlwZSIsInRleHQiLCJhdXRvY29tcGxldGUiLCJvZmYiLDMsInBsYWNlaG9sZGVyIiwibWF0QXV0b2NvbXBsZXRlIiwibWF0QXV0b2NvbXBsZXRlRGlzYWJsZWQiLCJ2YWx1ZSIsImtleXVwIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJtYXQtaWNvbiIsMCksQ2YoMSwiaW5wdXQiLDEpLFJmKCJrZXl1cCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25JbnB1dEtleVVwKGUpfSkpLE1mKCkpLDImZSYmKERjKDEpLGJmKCJwbGFjZWhvbGRlciIsbi5wbGFjZWhvbGRlcikoIm1hdEF1dG9jb21wbGV0ZSIsbi5tYXRBdXRvY29tcGxldGUpKCJtYXRBdXRvY29tcGxldGVEaXNhYmxlZCIsIW4ubWF0QXV0b2NvbXBsZXRlKSgidmFsdWUiLG4udmFsdWUpKX0sZGlyZWN0aXZlczpbTXEsWTNdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxM3B4fW1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2ZsZXg6bm9uZTttYXJnaW4tcmlnaHQ6NXB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIG1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgbWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7Y2FyZXQtY29sb3I6Y3VycmVudENvbG9yO2NvbG9yOmN1cnJlbnRDb2xvcjtmb250OmluaGVyaXQ7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO3BhZGRpbmc6MDtmbGV4LWdyb3c6MX0nXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWjMsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGItZmlsdGVyLWlucHV0Iix0ZW1wbGF0ZTonXG4gICAgPG1hdC1pY29uIHN2Z0ljb249InNlYXJjaF8yNHB4Ij48L21hdC1pY29uPlxuXG4gICAgXHgzYyEtLSBOb3RlOiB0byBhbGxvdyBmYWxzeSBcJ21hdEF1dG9jb21wbGV0ZVwnIHZhbHVlcywgd2UgbmVlZCBcJ21hdEF1dG9jb21wbGV0ZURpc2FibGVkXCdcbiAgICB0byBwcmV2ZW50IHJ1bnRpbWUgZXJyb3JzLiAtLVx4M2VcbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9InRleHQiXG4gICAgICBhdXRvY29tcGxldGU9Im9mZiJcbiAgICAgIFtwbGFjZWhvbGRlcl09InBsYWNlaG9sZGVyIlxuICAgICAgW21hdEF1dG9jb21wbGV0ZV09Im1hdEF1dG9jb21wbGV0ZSJcbiAgICAgIFttYXRBdXRvY29tcGxldGVEaXNhYmxlZF09IiFtYXRBdXRvY29tcGxldGUiXG4gICAgICBbdmFsdWVdPSJ2YWx1ZSJcbiAgICAgIChrZXl1cCk9Im9uSW5wdXRLZXlVcCgkZXZlbnQpIlxuICAgIC8+XG4gICcsc3R5bGVVcmxzOlsiZmlsdGVyX2lucHV0X2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCx7dmFsdWU6W3t0eXBlOlJffV0sbWF0QXV0b2NvbXBsZXRlOlt7dHlwZTpSX31dLHBsYWNlaG9sZGVyOlt7dHlwZTpSX31dLGF1dG9jb21wbGV0ZVRyaWdnZXI6W3t0eXBlOmFyLGFyZ3M6W1kzXX1dfSk7Y29uc3QgJDM9Ii5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0ubWF0LXByb2dyZXNzLXNwaW5uZXIgc3Zne3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0b3A6MDtsZWZ0OjA7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXByb2dyZXNzLXNwaW5uZXIgY2lyY2xle2ZpbGw6dHJhbnNwYXJlbnQ7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNpdGlvbjpzdHJva2UtZGFzaG9mZnNldCAyMjVtcyBsaW5lYXJ9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZXt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXByb2dyZXNzLXNwaW5uZXIgY2lyY2xle3N0cm9rZTpjdXJyZW50Q29sb3I7c3Ryb2tlOkNhbnZhc1RleHR9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uW21vZGU9aW5kZXRlcm1pbmF0ZV0gc3Zne2FuaW1hdGlvbjptYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1saW5lYXItcm90YXRlIDIwMDBtcyBsaW5lYXIgaW5maW5pdGV9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uW21vZGU9aW5kZXRlcm1pbmF0ZV0gc3Zne3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBjaXJjbGV7dHJhbnNpdGlvbi1wcm9wZXJ0eTpzdHJva2U7YW5pbWF0aW9uLWR1cmF0aW9uOjQwMDBtczthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIGNpcmNsZXt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUtZmFsbGJhY2stYW5pbWF0aW9uW21vZGU9aW5kZXRlcm1pbmF0ZV0gc3Zne2FuaW1hdGlvbjptYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1zdHJva2Utcm90YXRlLWZhbGxiYWNrIDEwMDAwbXMgY3ViaWMtYmV6aWVyKDAuODcsIDAuMDMsIDAuMzMsIDEpIGluZmluaXRlfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWZhbGxiYWNrLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3t0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUtZmFsbGJhY2stYW5pbWF0aW9uW21vZGU9aW5kZXRlcm1pbmF0ZV0gY2lyY2xle3RyYW5zaXRpb24tcHJvcGVydHk6c3Ryb2tlfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWZhbGxiYWNrLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIGNpcmNsZXt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9QGtleWZyYW1lcyBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1saW5lYXItcm90YXRlezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBrZXlmcmFtZXMgbWF0LXByb2dyZXNzLXNwaW5uZXItc3Ryb2tlLXJvdGF0ZS0xMDB7MCV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGUoMCl9MTIuNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGUoMCl9MTIuNTAwMSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZykgcm90YXRlKDcyLjVkZWcpfTI1JXtzdHJva2UtZGFzaG9mZnNldDoyNjguNjA2MTcxNTc1cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoNzIuNWRlZyl9MjUuMDAwMSV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0zNy41JXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfTM3LjUwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSgxNjEuNWRlZyl9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSgxNjEuNWRlZyl9NTAuMDAwMSV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX02Mi41JXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfTYyLjUwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSgyNTEuNWRlZyl9NzUle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSgyNTEuNWRlZyl9NzUuMDAwMSV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfTg3LjUle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX04Ny41MDAxJXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMzQxLjVkZWcpfTEwMCV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZykgcm90YXRlKDM0MS41ZGVnKX19QGtleWZyYW1lcyBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1zdHJva2Utcm90YXRlLWZhbGxiYWNrezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MjUle3RyYW5zZm9ybTpyb3RhdGUoMTE3MGRlZyl9NTAle3RyYW5zZm9ybTpyb3RhdGUoMjM0MGRlZyl9NzUle3RyYW5zZm9ybTpyb3RhdGUoMzUxMGRlZyl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDQ2ODBkZWcpfX1cbiIsdDI9SUYoY2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5fZWxlbWVudFJlZj10fX0sInByaW1hcnkiKSxlMj1uZXcgZXIoIm1hdC1wcm9ncmVzcy1zcGlubmVyLWRlZmF1bHQtb3B0aW9ucyIse3Byb3ZpZGVkSW46InJvb3QiLGZhY3Rvcnk6ZnVuY3Rpb24gbjIoKXtyZXR1cm57ZGlhbWV0ZXI6MTAwfX19KTtjb25zdCBvMj0iXG4gQGtleWZyYW1lcyBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1zdHJva2Utcm90YXRlLURJQU1FVEVSIHtcbiAgICAwJSAgICAgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFNUQVJUX1ZBTFVFOyAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgICAxMi41JSAgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IEVORF9WQUxVRTsgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgICAxMi41MDAxJSAgeyBzdHJva2UtZGFzaG9mZnNldDogRU5EX1ZBTFVFOyAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoNzIuNWRlZyk7IH1cbiAgICAyNSUgICAgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFNUQVJUX1ZBTFVFOyAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlKDcyLjVkZWcpOyB9XG5cbiAgICAyNS4wMDAxJSAgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFNUQVJUX1ZBTFVFOyAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuICAgIDM3LjUlICAgeyBzdHJva2UtZGFzaG9mZnNldDogRU5EX1ZBTFVFOyAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG4gICAgMzcuNTAwMSUgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IEVORF9WQUxVRTsgICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlKDE2MS41ZGVnKTsgfVxuICAgIDUwJSAgICAgeyBzdHJva2UtZGFzaG9mZnNldDogU1RBUlRfVkFMVUU7ICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMTYxLjVkZWcpOyB9XG5cbiAgICA1MC4wMDAxJSAgeyBzdHJva2UtZGFzaG9mZnNldDogU1RBUlRfVkFMVUU7ICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgNjIuNSUgICB7IHN0cm9rZS1kYXNob2Zmc2V0OiBFTkRfVkFMVUU7ICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICA2Mi41MDAxJSAgeyBzdHJva2UtZGFzaG9mZnNldDogRU5EX1ZBTFVFOyAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMjUxLjVkZWcpOyB9XG4gICAgNzUlICAgICB7IHN0cm9rZS1kYXNob2Zmc2V0OiBTVEFSVF9WQUxVRTsgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZSgyNTEuNWRlZyk7IH1cblxuICAgIDc1LjAwMDElICB7IHN0cm9rZS1kYXNob2Zmc2V0OiBTVEFSVF9WQUxVRTsgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgIDg3LjUlICAgeyBzdHJva2UtZGFzaG9mZnNldDogRU5EX1ZBTFVFOyAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbiAgICA4Ny41MDAxJSAgeyBzdHJva2UtZGFzaG9mZnNldDogRU5EX1ZBTFVFOyAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMzQxLjVkZWcpOyB9XG4gICAgMTAwJSAgICB7IHN0cm9rZS1kYXNob2Zmc2V0OiBTVEFSVF9WQUxVRTsgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZSgzNDEuNWRlZyk7IH1cbiAgfVxuIjtjbGFzcyBpMiBleHRlbmRzIHQye2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7c3VwZXIodCksdGhpcy5fZG9jdW1lbnQ9bix0aGlzLl9kaWFtZXRlcj0xMDAsdGhpcy5fdmFsdWU9MCx0aGlzLl9mYWxsYmFja0FuaW1hdGlvbj0hMSx0aGlzLm1vZGU9ImRldGVybWluYXRlIjtjb25zdCBhPWkyLl9kaWFtZXRlcnM7dGhpcy5fc3Bpbm5lckFuaW1hdGlvbkxhYmVsPXRoaXMuX2dldFNwaW5uZXJBbmltYXRpb25MYWJlbCgpLGEuaGFzKG4uaGVhZCl8fGEuc2V0KG4uaGVhZCxuZXcgU2V0KFsxMDBdKSksdGhpcy5fZmFsbGJhY2tBbmltYXRpb249ZS5FREdFfHxlLlRSSURFTlQsdGhpcy5fbm9vcEFuaW1hdGlvbnM9Ik5vb3BBbmltYXRpb25zIj09PW8mJiEhaSYmIWkuX2ZvcmNlQW5pbWF0aW9ucyxpJiYoaS5kaWFtZXRlciYmKHRoaXMuZGlhbWV0ZXI9aS5kaWFtZXRlciksaS5zdHJva2VXaWR0aCYmKHRoaXMuc3Ryb2tlV2lkdGg9aS5zdHJva2VXaWR0aCkpfWdldCBkaWFtZXRlcigpe3JldHVybiB0aGlzLl9kaWFtZXRlcn1zZXQgZGlhbWV0ZXIodCl7dGhpcy5fZGlhbWV0ZXI9bkgodCksdGhpcy5fc3Bpbm5lckFuaW1hdGlvbkxhYmVsPXRoaXMuX2dldFNwaW5uZXJBbmltYXRpb25MYWJlbCgpLCF0aGlzLl9mYWxsYmFja0FuaW1hdGlvbiYmdGhpcy5fc3R5bGVSb290JiZ0aGlzLl9hdHRhY2hTdHlsZU5vZGUoKX1nZXQgc3Ryb2tlV2lkdGgoKXtyZXR1cm4gdGhpcy5fc3Ryb2tlV2lkdGh8fHRoaXMuZGlhbWV0ZXIvMTB9c2V0IHN0cm9rZVdpZHRoKHQpe3RoaXMuX3N0cm9rZVdpZHRoPW5IKHQpfWdldCB2YWx1ZSgpe3JldHVybiJkZXRlcm1pbmF0ZSI9PT10aGlzLm1vZGU/dGhpcy5fdmFsdWU6MH1zZXQgdmFsdWUodCl7dGhpcy5fdmFsdWU9TWF0aC5tYXgoMCxNYXRoLm1pbigxMDAsbkgodCkpKX1uZ09uSW5pdCgpe2NvbnN0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O3RoaXMuX3N0eWxlUm9vdD1DSCh0KXx8dGhpcy5fZG9jdW1lbnQuaGVhZCx0aGlzLl9hdHRhY2hTdHlsZU5vZGUoKTt0LmNsYXNzTGlzdC5hZGQoYG1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUke3RoaXMuX2ZhbGxiYWNrQW5pbWF0aW9uPyItZmFsbGJhY2siOiIifS1hbmltYXRpb25gKX1fZ2V0Q2lyY2xlUmFkaXVzKCl7cmV0dXJuKHRoaXMuZGlhbWV0ZXItMTApLzJ9X2dldFZpZXdCb3goKXtjb25zdCB0PTIqdGhpcy5fZ2V0Q2lyY2xlUmFkaXVzKCkrdGhpcy5zdHJva2VXaWR0aDtyZXR1cm5gMCAwICR7dH0gJHt0fWB9X2dldFN0cm9rZUNpcmN1bWZlcmVuY2UoKXtyZXR1cm4gMipNYXRoLlBJKnRoaXMuX2dldENpcmNsZVJhZGl1cygpfV9nZXRTdHJva2VEYXNoT2Zmc2V0KCl7cmV0dXJuImRldGVybWluYXRlIj09PXRoaXMubW9kZT90aGlzLl9nZXRTdHJva2VDaXJjdW1mZXJlbmNlKCkqKDEwMC10aGlzLl92YWx1ZSkvMTAwOnRoaXMuX2ZhbGxiYWNrQW5pbWF0aW9uJiYiaW5kZXRlcm1pbmF0ZSI9PT10aGlzLm1vZGU/LjIqdGhpcy5fZ2V0U3Ryb2tlQ2lyY3VtZmVyZW5jZSgpOm51bGx9X2dldENpcmNsZVN0cm9rZVdpZHRoKCl7cmV0dXJuIHRoaXMuc3Ryb2tlV2lkdGgvdGhpcy5kaWFtZXRlcioxMDB9X2F0dGFjaFN0eWxlTm9kZSgpe2NvbnN0IHQ9dGhpcy5fc3R5bGVSb290LGU9dGhpcy5fZGlhbWV0ZXIsbj1pMi5fZGlhbWV0ZXJzO2xldCBvPW4uZ2V0KHQpO2lmKCFvfHwhby5oYXMoZSkpe2NvbnN0IGk9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtpLnNldEF0dHJpYnV0ZSgibWF0LXNwaW5uZXItYW5pbWF0aW9uIix0aGlzLl9zcGlubmVyQW5pbWF0aW9uTGFiZWwpLGkudGV4dENvbnRlbnQ9dGhpcy5fZ2V0QW5pbWF0aW9uVGV4dCgpLHQuYXBwZW5kQ2hpbGQoaSksb3x8KG89bmV3IFNldCxuLnNldCh0LG8pKSxvLmFkZChlKX19X2dldEFuaW1hdGlvblRleHQoKXtjb25zdCB0PXRoaXMuX2dldFN0cm9rZUNpcmN1bWZlcmVuY2UoKTtyZXR1cm4gbzIucmVwbGFjZSgvU1RBUlRfVkFMVUUvZywiIisuOTUqdCkucmVwbGFjZSgvRU5EX1ZBTFVFL2csIiIrLjIqdCkucmVwbGFjZSgvRElBTUVURVIvZyxgJHt0aGlzLl9zcGlubmVyQW5pbWF0aW9uTGFiZWx9YCl9X2dldFNwaW5uZXJBbmltYXRpb25MYWJlbCgpe3JldHVybiB0aGlzLmRpYW1ldGVyLnRvU3RyaW5nKCkucmVwbGFjZSgiLiIsIl8iKX19aTIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGkyKShnZihLaCksZ2YoY0gpLGdmKHNNLDgpLGdmKGNrLDgpLGdmKGUyKSl9LGkyLsm1Y21wPXNvKHt0eXBlOmkyLHNlbGVjdG9yczpbWyJtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciJdXSxob3N0QXR0cnM6WyJyb2xlIiwicHJvZ3Jlc3NiYXIiLCJ0YWJpbmRleCIsIi0xIiwxLCJtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciJdLGhvc3RWYXJzOjEwLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiYoeW0oImFyaWEtdmFsdWVtaW4iLCJkZXRlcm1pbmF0ZSI9PT1uLm1vZGU/MDpudWxsKSgiYXJpYS12YWx1ZW1heCIsImRldGVybWluYXRlIj09PW4ubW9kZT8xMDA6bnVsbCkoImFyaWEtdmFsdWVub3ciLCJkZXRlcm1pbmF0ZSI9PT1uLm1vZGU/bi52YWx1ZTpudWxsKSgibW9kZSIsbi5tb2RlKSxsdSgid2lkdGgiLG4uZGlhbWV0ZXIsInB4IikoImhlaWdodCIsbi5kaWFtZXRlciwicHgiKSxjdSgiX21hdC1hbmltYXRpb24tbm9vcGFibGUiLG4uX25vb3BBbmltYXRpb25zKSl9LGlucHV0czp7Y29sb3I6ImNvbG9yIixtb2RlOiJtb2RlIixkaWFtZXRlcjoiZGlhbWV0ZXIiLHN0cm9rZVdpZHRoOiJzdHJva2VXaWR0aCIsdmFsdWU6InZhbHVlIn0sZXhwb3J0QXM6WyJtYXRQcm9ncmVzc1NwaW5uZXIiXSxmZWF0dXJlczpbUXBdLGRlY2xzOjMsdmFyczo4LGNvbnN0czpbWyJwcmVzZXJ2ZUFzcGVjdFJhdGlvIiwieE1pZFlNaWQgbWVldCIsImZvY3VzYWJsZSIsImZhbHNlIiwiYXJpYS1oaWRkZW4iLCJ0cnVlIiwzLCJuZ1N3aXRjaCJdLFsiY3giLCI1MCUiLCJjeSIsIjUwJSIsMywiYW5pbWF0aW9uLW5hbWUiLCJzdHJva2UtZGFzaG9mZnNldCIsInN0cm9rZS1kYXNoYXJyYXkiLCJzdHJva2Utd2lkdGgiLDQsIm5nU3dpdGNoQ2FzZSJdLFsiY3giLCI1MCUiLCJjeSIsIjUwJSIsMywic3Ryb2tlLWRhc2hvZmZzZXQiLCJzdHJva2UtZGFzaGFycmF5Iiwic3Ryb2tlLXdpZHRoIiw0LCJuZ1N3aXRjaENhc2UiXSxbImN4IiwiNTAlIiwiY3kiLCI1MCUiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKG9hKCksQ2YoMCwic3ZnIiwwKSxIbSgxLFgzLDEsOSwiY2lyY2xlIiwxKSxIbSgyLEszLDEsNywiY2lyY2xlIiwyKSxNZigpKSwyJmUmJihsdSgid2lkdGgiLG4uZGlhbWV0ZXIsInB4IikoImhlaWdodCIsbi5kaWFtZXRlciwicHgiKSxiZigibmdTd2l0Y2giLCJpbmRldGVybWluYXRlIj09PW4ubW9kZSkseW0oInZpZXdCb3giLG4uX2dldFZpZXdCb3goKSksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsITApLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLCExKSl9LGRpcmVjdGl2ZXM6W0R2LFJ2XSxzdHlsZXM6WyQzXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSxpMi5fZGlhbWV0ZXJzPW5ldyBXZWFrTWFwLGkyLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOmNIfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbZTJdfV19XSxpMi5wcm9wRGVjb3JhdG9ycz17ZGlhbWV0ZXI6W3t0eXBlOlJffV0sc3Ryb2tlV2lkdGg6W3t0eXBlOlJffV0sbW9kZTpbe3R5cGU6Ul99XSx2YWx1ZTpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihpMixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciIsZXhwb3J0QXM6Im1hdFByb2dyZXNzU3Bpbm5lciIsaG9zdDp7cm9sZToicHJvZ3Jlc3NiYXIiLGNsYXNzOiJtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciIsdGFiaW5kZXg6Ii0xIiwiW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSI6Il9ub29wQW5pbWF0aW9ucyIsIltzdHlsZS53aWR0aC5weF0iOiJkaWFtZXRlciIsIltzdHlsZS5oZWlnaHQucHhdIjoiZGlhbWV0ZXIiLCJbYXR0ci5hcmlhLXZhbHVlbWluXSI6J21vZGUgPT09ICJkZXRlcm1pbmF0ZSIgPyAwIDogbnVsbCcsIlthdHRyLmFyaWEtdmFsdWVtYXhdIjonbW9kZSA9PT0gImRldGVybWluYXRlIiA/IDEwMCA6IG51bGwnLCJbYXR0ci5hcmlhLXZhbHVlbm93XSI6J21vZGUgPT09ICJkZXRlcm1pbmF0ZSIgPyB2YWx1ZSA6IG51bGwnLCJbYXR0ci5tb2RlXSI6Im1vZGUifSxpbnB1dHM6WyJjb2xvciJdLHRlbXBsYXRlOidceDNjIS0tXG4gIHByZXNlcnZlQXNwZWN0UmF0aW8gb2YgeE1pZFlNaWQgbWVldCBhcyB0aGUgY2VudGVyIG9mIHRoZSB2aWV3cG9ydCBpcyB0aGUgY2lyY2xlXCdzXG4gIGNlbnRlci4gVGhlIGNlbnRlciBvZiB0aGUgY2lyY2xlIHdpbGwgcmVtYWluIGF0IHRoZSBjZW50ZXIgb2YgdGhlIG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gIGVsZW1lbnQgY29udGFpbmluZyB0aGUgU1ZHLiBgZm9jdXNhYmxlPSJmYWxzZSJgIHByZXZlbnRzIElFIGZyb20gYWxsb3dpbmcgdGhlIHVzZXIgdG9cbiAgdGFiIGludG8gdGhlIFNWRyBlbGVtZW50LlxuLS1ceDNlXG5ceDNjIS0tXG4gIEFsbCBjaGlsZHJlbiBuZWVkIHRvIGJlIGhpZGRlbiBmb3Igc2NyZWVuIHJlYWRlcnMgaW4gb3JkZXIgdG8gc3VwcG9ydCBDaHJvbWVWb3guXG4gIE1vcmUgY29udGV4dCBpbiB0aGUgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzIyMTY1LlxuLS1ceDNlXG48c3ZnXG4gIFtzdHlsZS53aWR0aC5weF09ImRpYW1ldGVyIlxuICBbc3R5bGUuaGVpZ2h0LnB4XT0iZGlhbWV0ZXIiXG4gIFthdHRyLnZpZXdCb3hdPSJfZ2V0Vmlld0JveCgpIlxuICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IlxuICBmb2N1c2FibGU9ImZhbHNlIlxuICBbbmdTd2l0Y2hdPSJtb2RlID09PSBcJ2luZGV0ZXJtaW5hdGVcJyJcbiAgYXJpYS1oaWRkZW49InRydWUiPlxuXG4gIFx4M2MhLS1cbiAgICBUZWNobmljYWxseSB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUgYGNpcmNsZWAgZWxlbWVudCwgaG93ZXZlciBTYWZhcmkgaGFzIGFuIGlzc3VlIHRoYXQgYnJlYWtzXG4gICAgdGhlIFNWRyByZW5kZXJpbmcgaW4gZGV0ZXJtaW5hdGUgbW9kZSwgYWZ0ZXIgc3dpdGNoaW5nIGJldHdlZW4gaW5kZXRlcm1pbmF0ZSBhbmQgZGV0ZXJtaW5hdGUuXG4gICAgVXNpbmcgYSBkaWZmZXJlbnQgZWxlbWVudCBhdm9pZHMgdGhlIGlzc3VlLiBBbiBhbHRlcm5hdGl2ZSB0byB0aGlzIGlzIGFkZGluZyBgZGlzcGxheTogbm9uZWBcbiAgICBmb3IgYSBzcGxpdCBzZWNvbmQgYW5kIHRoZW4gcmVtb3ZpbmcgaXQgd2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiBtb2RlcywgYnV0IGl0XCdzIGhhcmQgdG8ga25vd1xuICAgIGZvciBob3cgbG9uZyB0byBoaWRlIHRoZSBlbGVtZW50IGFuZCBpdCBjYW4gY2F1c2UgdGhlIFVJIHRvIGJsaW5rLlxuICAtLVx4M2VcbiAgPGNpcmNsZVxuICAgICpuZ1N3aXRjaENhc2U9InRydWUiXG4gICAgY3g9IjUwJSJcbiAgICBjeT0iNTAlIlxuICAgIFthdHRyLnJdPSJfZ2V0Q2lyY2xlUmFkaXVzKCkiXG4gICAgW3N0eWxlLmFuaW1hdGlvbi1uYW1lXT0iXCdtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1zdHJva2Utcm90YXRlLVwnICsgX3NwaW5uZXJBbmltYXRpb25MYWJlbCJcbiAgICBbc3R5bGUuc3Ryb2tlLWRhc2hvZmZzZXQucHhdPSJfZ2V0U3Ryb2tlRGFzaE9mZnNldCgpIlxuICAgIFtzdHlsZS5zdHJva2UtZGFzaGFycmF5LnB4XT0iX2dldFN0cm9rZUNpcmN1bWZlcmVuY2UoKSJcbiAgICBbc3R5bGUuc3Ryb2tlLXdpZHRoLiVdPSJfZ2V0Q2lyY2xlU3Ryb2tlV2lkdGgoKSI+PC9jaXJjbGU+XG5cbiAgPGNpcmNsZVxuICAgICpuZ1N3aXRjaENhc2U9ImZhbHNlIlxuICAgIGN4PSI1MCUiXG4gICAgY3k9IjUwJSJcbiAgICBbYXR0ci5yXT0iX2dldENpcmNsZVJhZGl1cygpIlxuICAgIFtzdHlsZS5zdHJva2UtZGFzaG9mZnNldC5weF09Il9nZXRTdHJva2VEYXNoT2Zmc2V0KCkiXG4gICAgW3N0eWxlLnN0cm9rZS1kYXNoYXJyYXkucHhdPSJfZ2V0U3Ryb2tlQ2lyY3VtZmVyZW5jZSgpIlxuICAgIFtzdHlsZS5zdHJva2Utd2lkdGguJV09Il9nZXRDaXJjbGVTdHJva2VXaWR0aCgpIj48L2NpcmNsZT5cbjwvc3ZnPlxuJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLGVuY2Fwc3VsYXRpb246V24uTm9uZSxzdHlsZXM6WyIubWF0LXByb2dyZXNzLXNwaW5uZXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Lm1hdC1wcm9ncmVzcy1zcGlubmVyIHN2Z3twb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dG9wOjA7bGVmdDowO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO292ZXJmbG93OnZpc2libGV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZXtmaWxsOnRyYW5zcGFyZW50O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zaXRpb246c3Ryb2tlLWRhc2hvZmZzZXQgMjI1bXMgbGluZWFyfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBjaXJjbGV7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZXtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZTpDYW52YXNUZXh0fS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3thbmltYXRpb246bWF0LXByb2dyZXNzLXNwaW5uZXItbGluZWFyLXJvdGF0ZSAyMDAwbXMgbGluZWFyIGluZmluaXRlfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3t0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uW21vZGU9aW5kZXRlcm1pbmF0ZV0gY2lyY2xle3RyYW5zaXRpb24tcHJvcGVydHk6c3Ryb2tlO2FuaW1hdGlvbi1kdXJhdGlvbjo0MDAwbXM7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSk7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBjaXJjbGV7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWZhbGxiYWNrLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3thbmltYXRpb246bWF0LXByb2dyZXNzLXNwaW5uZXItc3Ryb2tlLXJvdGF0ZS1mYWxsYmFjayAxMDAwMG1zIGN1YmljLWJlemllcigwLjg3LCAwLjAzLCAwLjMzLCAxKSBpbmZpbml0ZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1mYWxsYmFjay1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBzdmd7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWZhbGxiYWNrLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIGNpcmNsZXt0cmFuc2l0aW9uLXByb3BlcnR5OnN0cm9rZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1mYWxsYmFjay1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBjaXJjbGV7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfUBrZXlmcmFtZXMgbWF0LXByb2dyZXNzLXNwaW5uZXItbGluZWFyLXJvdGF0ZXswJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIG1hdC1wcm9ncmVzcy1zcGlubmVyLXN0cm9rZS1yb3RhdGUtMTAwezAle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDApfTEyLjUle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlKDApfTEyLjUwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSg3Mi41ZGVnKX0yNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZykgcm90YXRlKDcyLjVkZWcpfTI1LjAwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9MzcuNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0zNy41MDAxJXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMTYxLjVkZWcpfTUwJXtzdHJva2UtZGFzaG9mZnNldDoyNjguNjA2MTcxNTc1cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMTYxLjVkZWcpfTUwLjAwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9NjIuNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX02Mi41MDAxJXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMjUxLjVkZWcpfTc1JXtzdHJva2UtZGFzaG9mZnNldDoyNjguNjA2MTcxNTc1cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMjUxLjVkZWcpfTc1LjAwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX04Ny41JXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9ODcuNTAwMSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZykgcm90YXRlKDM0MS41ZGVnKX0xMDAle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSgzNDEuNWRlZyl9fUBrZXlmcmFtZXMgbWF0LXByb2dyZXNzLXNwaW5uZXItc3Ryb2tlLXJvdGF0ZS1mYWxsYmFja3swJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTI1JXt0cmFuc2Zvcm06cm90YXRlKDExNzBkZWcpfTUwJXt0cmFuc2Zvcm06cm90YXRlKDIzNDBkZWcpfTc1JXt0cmFuc2Zvcm06cm90YXRlKDM1MTBkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSg0NjgwZGVnKX19XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2UyXX1dfV19KSx7bW9kZTpbe3R5cGU6Ul99XSxkaWFtZXRlcjpbe3R5cGU6Ul99XSxzdHJva2VXaWR0aDpbe3R5cGU6Ul99XSx2YWx1ZTpbe3R5cGU6Ul99XX0pO2NsYXNzIGEyIGV4dGVuZHMgaTJ7Y29uc3RydWN0b3IodCxlLG4sbyxpKXtzdXBlcih0LGUsbixvLGkpLHRoaXMubW9kZT0iaW5kZXRlcm1pbmF0ZSJ9fWEyLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxhMikoZ2YoS2gpLGdmKGNIKSxnZihzTSw4KSxnZihjayw4KSxnZihlMikpfSxhMi7JtWNtcD1zbyh7dHlwZTphMixzZWxlY3RvcnM6W1sibWF0LXNwaW5uZXIiXV0saG9zdEF0dHJzOlsicm9sZSIsInByb2dyZXNzYmFyIiwibW9kZSIsImluZGV0ZXJtaW5hdGUiLDEsIm1hdC1zcGlubmVyIiwibWF0LXByb2dyZXNzLXNwaW5uZXIiXSxob3N0VmFyczo2LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiYobHUoIndpZHRoIixuLmRpYW1ldGVyLCJweCIpKCJoZWlnaHQiLG4uZGlhbWV0ZXIsInB4IiksY3UoIl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIixuLl9ub29wQW5pbWF0aW9ucykpfSxpbnB1dHM6e2NvbG9yOiJjb2xvciJ9LGZlYXR1cmVzOltRcF0sZGVjbHM6Myx2YXJzOjgsY29uc3RzOltbInByZXNlcnZlQXNwZWN0UmF0aW8iLCJ4TWlkWU1pZCBtZWV0IiwiZm9jdXNhYmxlIiwiZmFsc2UiLCJhcmlhLWhpZGRlbiIsInRydWUiLDMsIm5nU3dpdGNoIl0sWyJjeCIsIjUwJSIsImN5IiwiNTAlIiwzLCJhbmltYXRpb24tbmFtZSIsInN0cm9rZS1kYXNob2Zmc2V0Iiwic3Ryb2tlLWRhc2hhcnJheSIsInN0cm9rZS13aWR0aCIsNCwibmdTd2l0Y2hDYXNlIl0sWyJjeCIsIjUwJSIsImN5IiwiNTAlIiwzLCJzdHJva2UtZGFzaG9mZnNldCIsInN0cm9rZS1kYXNoYXJyYXkiLCJzdHJva2Utd2lkdGgiLDQsIm5nU3dpdGNoQ2FzZSJdLFsiY3giLCI1MCUiLCJjeSIsIjUwJSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYob2EoKSxDZigwLCJzdmciLDApLEhtKDEsSjMsMSw5LCJjaXJjbGUiLDEpLEhtKDIsUTMsMSw3LCJjaXJjbGUiLDIpLE1mKCkpLDImZSYmKGx1KCJ3aWR0aCIsbi5kaWFtZXRlciwicHgiKSgiaGVpZ2h0IixuLmRpYW1ldGVyLCJweCIpLGJmKCJuZ1N3aXRjaCIsImluZGV0ZXJtaW5hdGUiPT09bi5tb2RlKSx5bSgidmlld0JveCIsbi5fZ2V0Vmlld0JveCgpKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIiwhMCksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsITEpKX0sZGlyZWN0aXZlczpbRHYsUnZdLHN0eWxlczpbJDNdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLGEyLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOmNIfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbZTJdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGEyLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1zcGlubmVyIixob3N0Ontyb2xlOiJwcm9ncmVzc2JhciIsbW9kZToiaW5kZXRlcm1pbmF0ZSIsY2xhc3M6Im1hdC1zcGlubmVyIG1hdC1wcm9ncmVzcy1zcGlubmVyIiwiW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSI6Il9ub29wQW5pbWF0aW9ucyIsIltzdHlsZS53aWR0aC5weF0iOiJkaWFtZXRlciIsIltzdHlsZS5oZWlnaHQucHhdIjoiZGlhbWV0ZXIifSxpbnB1dHM6WyJjb2xvciJdLHRlbXBsYXRlOidceDNjIS0tXG4gIHByZXNlcnZlQXNwZWN0UmF0aW8gb2YgeE1pZFlNaWQgbWVldCBhcyB0aGUgY2VudGVyIG9mIHRoZSB2aWV3cG9ydCBpcyB0aGUgY2lyY2xlXCdzXG4gIGNlbnRlci4gVGhlIGNlbnRlciBvZiB0aGUgY2lyY2xlIHdpbGwgcmVtYWluIGF0IHRoZSBjZW50ZXIgb2YgdGhlIG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gIGVsZW1lbnQgY29udGFpbmluZyB0aGUgU1ZHLiBgZm9jdXNhYmxlPSJmYWxzZSJgIHByZXZlbnRzIElFIGZyb20gYWxsb3dpbmcgdGhlIHVzZXIgdG9cbiAgdGFiIGludG8gdGhlIFNWRyBlbGVtZW50LlxuLS1ceDNlXG5ceDNjIS0tXG4gIEFsbCBjaGlsZHJlbiBuZWVkIHRvIGJlIGhpZGRlbiBmb3Igc2NyZWVuIHJlYWRlcnMgaW4gb3JkZXIgdG8gc3VwcG9ydCBDaHJvbWVWb3guXG4gIE1vcmUgY29udGV4dCBpbiB0aGUgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzIyMTY1LlxuLS1ceDNlXG48c3ZnXG4gIFtzdHlsZS53aWR0aC5weF09ImRpYW1ldGVyIlxuICBbc3R5bGUuaGVpZ2h0LnB4XT0iZGlhbWV0ZXIiXG4gIFthdHRyLnZpZXdCb3hdPSJfZ2V0Vmlld0JveCgpIlxuICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IlxuICBmb2N1c2FibGU9ImZhbHNlIlxuICBbbmdTd2l0Y2hdPSJtb2RlID09PSBcJ2luZGV0ZXJtaW5hdGVcJyJcbiAgYXJpYS1oaWRkZW49InRydWUiPlxuXG4gIFx4M2MhLS1cbiAgICBUZWNobmljYWxseSB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUgYGNpcmNsZWAgZWxlbWVudCwgaG93ZXZlciBTYWZhcmkgaGFzIGFuIGlzc3VlIHRoYXQgYnJlYWtzXG4gICAgdGhlIFNWRyByZW5kZXJpbmcgaW4gZGV0ZXJtaW5hdGUgbW9kZSwgYWZ0ZXIgc3dpdGNoaW5nIGJldHdlZW4gaW5kZXRlcm1pbmF0ZSBhbmQgZGV0ZXJtaW5hdGUuXG4gICAgVXNpbmcgYSBkaWZmZXJlbnQgZWxlbWVudCBhdm9pZHMgdGhlIGlzc3VlLiBBbiBhbHRlcm5hdGl2ZSB0byB0aGlzIGlzIGFkZGluZyBgZGlzcGxheTogbm9uZWBcbiAgICBmb3IgYSBzcGxpdCBzZWNvbmQgYW5kIHRoZW4gcmVtb3ZpbmcgaXQgd2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiBtb2RlcywgYnV0IGl0XCdzIGhhcmQgdG8ga25vd1xuICAgIGZvciBob3cgbG9uZyB0byBoaWRlIHRoZSBlbGVtZW50IGFuZCBpdCBjYW4gY2F1c2UgdGhlIFVJIHRvIGJsaW5rLlxuICAtLVx4M2VcbiAgPGNpcmNsZVxuICAgICpuZ1N3aXRjaENhc2U9InRydWUiXG4gICAgY3g9IjUwJSJcbiAgICBjeT0iNTAlIlxuICAgIFthdHRyLnJdPSJfZ2V0Q2lyY2xlUmFkaXVzKCkiXG4gICAgW3N0eWxlLmFuaW1hdGlvbi1uYW1lXT0iXCdtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1zdHJva2Utcm90YXRlLVwnICsgX3NwaW5uZXJBbmltYXRpb25MYWJlbCJcbiAgICBbc3R5bGUuc3Ryb2tlLWRhc2hvZmZzZXQucHhdPSJfZ2V0U3Ryb2tlRGFzaE9mZnNldCgpIlxuICAgIFtzdHlsZS5zdHJva2UtZGFzaGFycmF5LnB4XT0iX2dldFN0cm9rZUNpcmN1bWZlcmVuY2UoKSJcbiAgICBbc3R5bGUuc3Ryb2tlLXdpZHRoLiVdPSJfZ2V0Q2lyY2xlU3Ryb2tlV2lkdGgoKSI+PC9jaXJjbGU+XG5cbiAgPGNpcmNsZVxuICAgICpuZ1N3aXRjaENhc2U9ImZhbHNlIlxuICAgIGN4PSI1MCUiXG4gICAgY3k9IjUwJSJcbiAgICBbYXR0ci5yXT0iX2dldENpcmNsZVJhZGl1cygpIlxuICAgIFtzdHlsZS5zdHJva2UtZGFzaG9mZnNldC5weF09Il9nZXRTdHJva2VEYXNoT2Zmc2V0KCkiXG4gICAgW3N0eWxlLnN0cm9rZS1kYXNoYXJyYXkucHhdPSJfZ2V0U3Ryb2tlQ2lyY3VtZmVyZW5jZSgpIlxuICAgIFtzdHlsZS5zdHJva2Utd2lkdGguJV09Il9nZXRDaXJjbGVTdHJva2VXaWR0aCgpIj48L2NpcmNsZT5cbjwvc3ZnPlxuJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLGVuY2Fwc3VsYXRpb246V24uTm9uZSxzdHlsZXM6WyIubWF0LXByb2dyZXNzLXNwaW5uZXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Lm1hdC1wcm9ncmVzcy1zcGlubmVyIHN2Z3twb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dG9wOjA7bGVmdDowO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO292ZXJmbG93OnZpc2libGV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZXtmaWxsOnRyYW5zcGFyZW50O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zaXRpb246c3Ryb2tlLWRhc2hvZmZzZXQgMjI1bXMgbGluZWFyfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBjaXJjbGV7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZXtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZTpDYW52YXNUZXh0fS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3thbmltYXRpb246bWF0LXByb2dyZXNzLXNwaW5uZXItbGluZWFyLXJvdGF0ZSAyMDAwbXMgbGluZWFyIGluZmluaXRlfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3t0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uW21vZGU9aW5kZXRlcm1pbmF0ZV0gY2lyY2xle3RyYW5zaXRpb24tcHJvcGVydHk6c3Ryb2tlO2FuaW1hdGlvbi1kdXJhdGlvbjo0MDAwbXM7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSk7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBjaXJjbGV7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWZhbGxiYWNrLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3thbmltYXRpb246bWF0LXByb2dyZXNzLXNwaW5uZXItc3Ryb2tlLXJvdGF0ZS1mYWxsYmFjayAxMDAwMG1zIGN1YmljLWJlemllcigwLjg3LCAwLjAzLCAwLjMzLCAxKSBpbmZpbml0ZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1mYWxsYmFjay1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBzdmd7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWZhbGxiYWNrLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIGNpcmNsZXt0cmFuc2l0aW9uLXByb3BlcnR5OnN0cm9rZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1mYWxsYmFjay1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBjaXJjbGV7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfUBrZXlmcmFtZXMgbWF0LXByb2dyZXNzLXNwaW5uZXItbGluZWFyLXJvdGF0ZXswJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIG1hdC1wcm9ncmVzcy1zcGlubmVyLXN0cm9rZS1yb3RhdGUtMTAwezAle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDApfTEyLjUle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlKDApfTEyLjUwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSg3Mi41ZGVnKX0yNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZykgcm90YXRlKDcyLjVkZWcpfTI1LjAwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9MzcuNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0zNy41MDAxJXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMTYxLjVkZWcpfTUwJXtzdHJva2UtZGFzaG9mZnNldDoyNjguNjA2MTcxNTc1cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMTYxLjVkZWcpfTUwLjAwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9NjIuNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX02Mi41MDAxJXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMjUxLjVkZWcpfTc1JXtzdHJva2UtZGFzaG9mZnNldDoyNjguNjA2MTcxNTc1cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMjUxLjVkZWcpfTc1LjAwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX04Ny41JXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9ODcuNTAwMSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZykgcm90YXRlKDM0MS41ZGVnKX0xMDAle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSgzNDEuNWRlZyl9fUBrZXlmcmFtZXMgbWF0LXByb2dyZXNzLXNwaW5uZXItc3Ryb2tlLXJvdGF0ZS1mYWxsYmFja3swJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTI1JXt0cmFuc2Zvcm06cm90YXRlKDExNzBkZWcpfTUwJXt0cmFuc2Zvcm06cm90YXRlKDIzNDBkZWcpfTc1JXt0cmFuc2Zvcm06cm90YXRlKDM1MTBkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSg0NjgwZGVnKX19XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2UyXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIHIye31yMi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cjIpfSxyMi7JtW1vZD1mbyh7dHlwZTpyMn0pLHIyLsm1aW5qPURuKHtpbXBvcnRzOltbTkYscnhdLE5GXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocjIsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltORixyeF0sZXhwb3J0czpbaTIsYTIsTkZdLGRlY2xhcmF0aW9uczpbaTIsYTJdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8ocjIse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVybltpMixhMl19LGltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bTkYscnhdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW2kyLGEyLE5GXX19KTtjb25zdCBzMj1bInJlZ2V4U3RyaW5nSW5wdXQiXTtmdW5jdGlvbiBsMih0LGUpe2lmKDEmdCYmKHhmKDApLENmKDEsImxpIiwyMiksUHUoMiksTWYoKSxPZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQ7RGMoMSksYmYoInRpdGxlIix0Lm5hbWUpLERjKDEpLHd1KHQubmFtZSl9fWZ1bmN0aW9uIGMyKHQsZSl7aWYoMSZ0JiYoQ2YoMCwibGkiLDIzKSxDZigxLCJlbSIpLFB1KDIpLF95KDMsIm51bWJlciIpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCkuJGltcGxpY2l0O0RjKDIpLGt1KCJhbmQgIixDeSgzLDEsdC5ydW5zLmxlbmd0aC01KSwiIG1vcmUiKX19ZnVuY3Rpb24gZDIodCxlKXsxJnQmJihDZigwLCJsaSIsMjQpLENmKDEsImVtIiksUHUoMiwiTm8gcnVucyBhcmUgaW4gdGhlIGdyb3VwIiksTWYoKSxNZigpKX1jb25zdCBwMj1mdW5jdGlvbih0KXtyZXR1cm57Ym9yZGVyQ29sb3I6dH19LG0yPWZ1bmN0aW9uKHQpe3JldHVybntiYWNrZ3JvdW5kQ29sb3I6dH19O2Z1bmN0aW9uIGYyKHQsZSl7aWYoMSZ0JiYoQ2YoMCwidWwiLDE2KSxDZigxLCJsaSIpLENmKDIsImxhYmVsIiksdmYoMywic3BhbiIsMTcpLENmKDQsImNvZGUiLDE4KSxQdSg1KSxNZigpLE1mKCksQ2YoNiwidWwiKSxIbSg3LGwyLDMsMiwibmctY29udGFpbmVyIiwxOSksX3koOCwic2xpY2UiKSxIbSg5LGMyLDQsMywibGkiLDIwKSxIbSgxMCxkMiwzLDAsImxpIiwyMSksTWYoKSxNZigpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdDtiZigibmdTdHlsZSIsaXkoMTEscDIsdC5jb2xvcikpLERjKDMpLGJmKCJuZ1N0eWxlIixpeSgxMyxtMix0LmNvbG9yKSksRGMoMSksYmYoInRpdGxlIix0Lmdyb3VwSWQpLERjKDEpLHd1KHQuZ3JvdXBJZCksRGMoMiksYmYoIm5nRm9yT2YiLHZ5KDgsNyx0LnJ1bnMsMCw1KSksRGMoMiksYmYoIm5nSWYiLHQucnVucy5sZW5ndGg+NSksRGMoMSksYmYoIm5nSWYiLDA9PT10LnJ1bnMubGVuZ3RoKX19ZnVuY3Rpb24gdTIodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDE0KSxIbSgxLGYyLDExLDE1LCJ1bCIsMTUpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYygxKSxiZigibmdGb3JPZiIsdC5jb2xvclJ1blBhaXJMaXN0KX19ZnVuY3Rpb24gZzIodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDI1KSxQdSgxLCIgVGhlcmUgYXJlIG5vIHJ1bnMgbWF0Y2hpbmcgdGhlIHJlZ2V4LCAiKSxDZigyLCJjb2RlIiksUHUoMyksTWYoKSxQdSg0LCIuIFBsZWFzZSBjaGVjayBpZiB5b3VyIHJlZ2V4IHN0cmluZyBpcyBjb3JyZWN0LiAiKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoMyksa3UoIi8iLHQucmVnZXhTdHJpbmcsIi8iKX19ZnVuY3Rpb24gaDIodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDEwKSxDZigxLCJoNCIpLFB1KDIsIkNvbG9yIGdyb3VwIHByZXZpZXciKSxNZigpLENmKDMsImRpdiIsMTEpLEhtKDQsdTIsMiwxLCJkaXYiLDEyKSxIbSg1LGcyLDUsMSwibmctdGVtcGxhdGUiLG51bGwsMTMscXkpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PUZtKDYpLGU9emYoKTtEYyg0KSxiZigibmdJZiIsZS5jb2xvclJ1blBhaXJMaXN0Lmxlbmd0aCkoIm5nSWZFbHNlIix0KX19Y2xhc3MgYjJ7Y29uc3RydWN0b3IodCxlKXt0aGlzLmRpYWxvZ1JlZj10LHRoaXMuaG9zdEVsUmVmPWUsdGhpcy5vblNhdmU9bmV3IFN5LHRoaXMucmVnZXhJbnB1dE9uQ2hhbmdlPW5ldyBTeSx0aGlzLnRpbWVPdXRJZD0wfXJlc2V0Rm9jdXMoKXtpZighdGhpcy5ob3N0RWxSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSl7dGhpcy5yZWdleFN0cmluZ0lucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKX19b25FbnRlcih0KXt0aGlzLm9uU2F2ZUNsaWNrKHQpLHRoaXMuZGlhbG9nUmVmLmNsb3NlKCl9b25TYXZlQ2xpY2sodCl7dGhpcy5vblNhdmUuZW1pdCh0KX1maWxsRXhhbXBsZSh0KXt0aGlzLnJlZ2V4U3RyaW5nPXQsdGhpcy5yZWdleElucHV0Q2hhbmdlKHQpfXJlZ2V4SW5wdXRDaGFuZ2UodCl7dGhpcy5yZWdleElucHV0T25DaGFuZ2UuZW1pdCh0KX1oYW5kbGVGb2N1c091dCgpe2NsZWFyVGltZW91dCh0aGlzLnRpbWVPdXRJZCksdGhpcy50aW1lT3V0SWQ9c2V0VGltZW91dCh0aGlzLnJlc2V0Rm9jdXMuYmluZCh0aGlzKSwwKX19YjIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGIyKShnZihWWSksZ2YoS2gpKX0sYjIuybVjbXA9c28oe3R5cGU6YjIsc2VsZWN0b3JzOltbInJlZ2V4LWVkaXQtZGlhbG9nLWNvbXBvbmVudCJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkoczIsNyksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5yZWdleFN0cmluZ0lucHV0PXQuZmlyc3QpfX0saW5wdXRzOntyZWdleFN0cmluZzoicmVnZXhTdHJpbmciLGNvbG9yUnVuUGFpckxpc3Q6ImNvbG9yUnVuUGFpckxpc3QifSxvdXRwdXRzOntvblNhdmU6Im9uU2F2ZSIscmVnZXhJbnB1dE9uQ2hhbmdlOiJyZWdleElucHV0T25DaGFuZ2UifSxkZWNsczozMCx2YXJzOjIsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQ7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe3Q9Z29vZy5nZXRNc2coIkNvbG9yIFJ1bnMgYnkgUmVnZXggUXVlcnkiKX1lbHNlIHQ9JGxvY2FsaXplYDpDb2xvciBSdW5zIGJ5IFJlZ2V4IFF1ZXJ54pCfMTVlZDlmNmZkMmQ0OTA2YTQ4MDNmYzEyNTVkZTNjNWRiMmM1NjUzMOKQnzkwODg5ODUxMTM5NjAzMTI4MDg6Q29sb3IgUnVucyBieSBSZWdleCBRdWVyeWA7cmV0dXJuW1sxLCJyZWdleC1lZGl0LWRpYWxvZyIsMywiZm9jdXNvdXQiXSxbIm1hdC1kaWFsb2ctdGl0bGUiLCIiXSxbIm1hdElucHV0IiwiIiwiYXJpYS1sYWJlbCIsdCwiY2RrRm9jdXNJbml0aWFsIiwiIiwzLCJ2YWx1ZSIsImtleWRvd24uZW50ZXIiLCJpbnB1dCJdLFsicmVnZXhTdHJpbmdJbnB1dCIsIiJdLFsxLCJleGFtcGxlLWRldGFpbHMiXSxbMywiY2xpY2siXSxbImNsYXNzIiwiZ3JvdXAtY29udGFpbmVyIiw0LCJuZ0lmIl0sWyJtYXQtZGlhbG9nLWFjdGlvbnMiLCIiLCJhbGlnbiIsImVuZCJdLFsibWF0LWJ1dHRvbiIsIiIsIm1hdC1kaWFsb2ctY2xvc2UiLCIiXSxbIm1hdC1yYWlzZWQtYnV0dG9uIiwiIiwiY29sb3IiLCJwcmltYXJ5IiwibWF0LWRpYWxvZy1jbG9zZSIsIiIsMywiY2xpY2siXSxbMSwiZ3JvdXAtY29udGFpbmVyIl0sWzEsImdyb3VwaW5nLXByZXZpZXciXSxbImNsYXNzIiwibWF0Y2gtY29udGFpbmVyIiw0LCJuZ0lmIiwibmdJZkVsc2UiXSxbImVtcHR5IiwiIl0sWzEsIm1hdGNoLWNvbnRhaW5lciJdLFsiY2xhc3MiLCJncm91cCIsMywibmdTdHlsZSIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzEsImdyb3VwIiwzLCJuZ1N0eWxlIl0sWzEsImNvbG9yLXN3YXRjaCIsMywibmdTdHlsZSJdLFsxLCJncm91cC1pZCIsMywidGl0bGUiXSxbNCwibmdGb3IiLCJuZ0Zvck9mIl0sWyJjbGFzcyIsIm1vcmUiLDQsIm5nSWYiXSxbImNsYXNzIiwibm8tbWF0Y2giLDQsIm5nSWYiXSxbMywidGl0bGUiXSxbMSwibW9yZSJdLFsxLCJuby1tYXRjaCJdLFsxLCJ3YXJuaW5nIl1dfSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlKXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwwKSxSZigiZm9jdXNvdXQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uaGFuZGxlRm9jdXNPdXQoKX0pKSxDZigxLCJoMSIsMSksUHUoMiwiQ29sb3IgcnVucyBieSByZWdleCIpLE1mKCksQ2YoMywibWF0LWRpYWxvZy1jb250ZW50IiksQ2YoNCwicCIpLFB1KDUsIkVudGVyIGEgcmVnZXggd2l0aCBjYXB0dXJpbmcgZ3JvdXBzIHRvIG1hdGNoIGFnYWluc3QgcnVuIG5hbWVzOiIpLE1mKCksQ2YoNiwibWF0LWZvcm0tZmllbGQiKSxDZig3LCJpbnB1dCIsMiwzKSxSZigia2V5ZG93bi5lbnRlciIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25FbnRlcihlLnRhcmdldC52YWx1ZSl9KSkoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5yZWdleElucHV0Q2hhbmdlKGUudGFyZ2V0LnZhbHVlKX0pKSxNZigpLE1mKCksTWYoKSxDZig5LCJkaXYiLDQpLENmKDEwLCJwIiksUHUoMTEsJyBFYWNoIG1hdGNoaW5nIHJ1biB3aWxsIGJlIGFzc2lnbmVkIGEgY29sb3IgYmFzZWQgb24gdGhlICJrZXkiIGZvcm1lZCBieSBpdHMgbWF0Y2hlcyB0byB0aGUgY2FwdHVyaW5nIGdyb3Vwcy4gJyksdmYoMTIsImJyIiksQ2YoMTMsImJ1dHRvbiIsNSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLmZpbGxFeGFtcGxlKCIodHJhaW58ZXZhbCkiKX0pKSxQdSgxNCwiIFRyeSAiKSxDZigxNSwiY29kZSIpLFB1KDE2LCIodHJhaW58ZXZhbCkiKSxNZigpLE1mKCksUHUoMTcsIiB0byBhc3NpZ24gYWxsIHJ1bnMgY29udGFpbmluZyAiKSxDZigxOCwiY29kZSIpLFB1KDE5LCJ0cmFpbiIpLE1mKCksUHUoMjAsIiB0byBvbmUgY29sb3IgYW5kIGFsbCBydW5zIGNvbnRhaW5pbmcgIiksQ2YoMjEsImNvZGUiKSxQdSgyMiwiZXZhbCIpLE1mKCksUHUoMjMsIiB0byBhbm90aGVyIGNvbG9yLiAiKSxNZigpLE1mKCksSG0oMjQsaDIsNywyLCJkaXYiLDYpLENmKDI1LCJkaXYiLDcpLENmKDI2LCJidXR0b24iLDgpLFB1KDI3LCJDYW5jZWwiKSxNZigpLENmKDI4LCJidXR0b24iLDkpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtjb25zdCBvPUZtKDgpO3JldHVybiBuLm9uU2F2ZUNsaWNrKG8udmFsdWUpfSkpLFB1KDI5LCIgU2F2ZSAiKSxNZigpLE1mKCksTWYoKX0yJmUmJihEYyg3KSxMZigidmFsdWUiLG4ucmVnZXhTdHJpbmcpLERjKDE3KSxiZigibmdJZiIsbi5yZWdleFN0cmluZykpfSxkaXJlY3RpdmVzOltRWSwkWSxfVSxBWixQdix0cSxOTCxKWSx4dix6dl0scGlwZXM6W2l4LCR2XSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0uZXhhbXBsZS1kZXRhaWxzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtjb2xvcjojMTk3NmQyfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5leGFtcGxlLWRldGFpbHNbX25nY29udGVudC0lQ09NUCVdICAgYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmV4YW1wbGUtZGV0YWlsc1tfbmdjb250ZW50LSVDT01QJV0gICBidXR0b25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOiM0MmE1ZjV9LmV4YW1wbGUtZGV0YWlsc1tfbmdjb250ZW50LSVDT01QJV0gICBidXR0b25bX25nY29udGVudC0lQ09NUCVdOnZpc2l0ZWR7Y29sb3I6IzdiMWZhMn1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZXhhbXBsZS1kZXRhaWxzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV06dmlzaXRlZCwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmV4YW1wbGUtZGV0YWlsc1tfbmdjb250ZW50LSVDT01QJV0gICBidXR0b25bX25nY29udGVudC0lQ09NUCVdOnZpc2l0ZWR7Y29sb3I6I2JhNjhjOH0uZ3JvdXAtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MTBweCAwfS5ncm91cC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi1ib3R0b206MTBweH0uZ3JvdXAtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC53YXJuaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2ZvbnQtc2l6ZTouOWVtfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdICAgLndhcm5pbmdbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC53YXJuaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0uZ3JvdXBpbmctcHJldmlld1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO21heC1oZWlnaHQ6NTB2aDtvdmVyZmxvdy15OmF1dG87cGFkZGluZzoyMHB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cGluZy1wcmV2aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwaW5nLXByZXZpZXdbX25nY29udGVudC0lQ09NUCVde2JvcmRlcjoxcHggc29saWQgIzU1NX0ubWF0Y2gtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2Rpc3BsYXk6Z3JpZDtmbGV4LXdyYXA6d3JhcDtnYXA6MTBweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsIG1pbm1heCg1MCUsIDFmcikpfS5jb2xvci1zd2F0Y2hbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6MCAwIDJweCAjMDAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNXB4O3dpZHRoOjE1cHh9dWxbX25nY29udGVudC0lQ09NUCVde2xpc3Qtc3R5bGUtdHlwZTpub25lO3BhZGRpbmc6MH1tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17d2lkdGg6MTAwJX0uZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2JvcmRlcjoxcHggc29saWQgI2ViZWJlYjtib3JkZXItcmFkaXVzOjNweDttYXJnaW46MDtwYWRkaW5nOjEwcHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MXB4IHNvbGlkICM1NTV9Lmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWJlYmViO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmdyaWQ7Z2FwOjEwcHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1heC1jb250ZW50IGF1dG87cGFkZGluZzo1cHggMH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXBbX25nY29udGVudC0lQ09NUCVdICAgbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXBbX25nY29udGVudC0lQ09NUCVdICAgbGFiZWxbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9Lmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5ncm91cC1pZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOi45NWVtO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uZ3JvdXBbX25nY29udGVudC0lQ09NUCVdICAgdWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTouOWVtfS5ncm91cFtfbmdjb250ZW50LSVDT01QJV0gICB1bFtfbmdjb250ZW50LSVDT01QJV0gICBsaVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5ncm91cFtfbmdjb250ZW50LSVDT01QJV0gICAubW9yZVtfbmdjb250ZW50LSVDT01QJV0sIC5ncm91cFtfbmdjb250ZW50LSVDT01QJV0gICAubm8tbWF0Y2hbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiM2MTYxNjE7bWFyZ2luLXRvcDo1cHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tb3JlW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tb3JlW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXBbX25nY29udGVudC0lQ09NUCVdICAgLm5vLW1hdGNoW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5uby1tYXRjaFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGIyLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InJlZ2V4LWVkaXQtZGlhbG9nLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6InJlZ2V4X2VkaXRfZGlhbG9nLm5nLmh0bWwiLHN0eWxlVXJsczpbInJlZ2V4X2VkaXRfZGlhbG9nX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6Vll9LHt0eXBlOktofV19KSx7cmVnZXhTdHJpbmc6W3t0eXBlOlJffV0sY29sb3JSdW5QYWlyTGlzdDpbe3R5cGU6Ul99XSxvblNhdmU6W3t0eXBlOkVffV0scmVnZXhJbnB1dE9uQ2hhbmdlOlt7dHlwZTpFX31dLHJlZ2V4U3RyaW5nSW5wdXQ6W3t0eXBlOmFyLGFyZ3M6WyJyZWdleFN0cmluZ0lucHV0Iix7c3RhdGljOiEwfV19XX0pO2NsYXNzIHkye2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLnN0b3JlPXQsdGhpcy5kaWFsb2dSZWY9ZSx0aGlzLnRlbnRhdGl2ZVJlZ2V4U3RyaW5nJD1uZXcgQix0aGlzLmdyb3VwQnlSZWdleFN0cmluZyQ9b2UoKCgpPT5wZSh0aGlzLnN0b3JlLnNlbGVjdChySSkucGlwZSh2ZSgxKSksdGhpcy50ZW50YXRpdmVSZWdleFN0cmluZyQpKSkucGlwZShCZSgiIikpLHRoaXMuY29sb3JSdW5QYWlyTGlzdCQ9b2UoKCgpPT50aGlzLmdyb3VwQnlSZWdleFN0cmluZyQucGlwZShDZSg1MDApLHVlKCh0PT57dHJ5e2NvbnN0IGU9bmV3IFJlZ0V4cCh0KTtyZXR1cm4gQm9vbGVhbihlKX1jYXRjaCh0KXtyZXR1cm4hMX19KSksX2UodGhpcy5hbGxSdW5zJCx0aGlzLnJ1bklkVG9FaWQkLHRoaXMuc3RvcmUuc2VsZWN0KGJJKSx0aGlzLnN0b3JlLnNlbGVjdChGRCkpLFZ0KCgoW3QsZSxuLG8saV0pPT57Y29uc3QgYT1Weih7a2V5Okx6LlJFR0VYLHJlZ2V4U3RyaW5nOnR9LGUsbikscj1uZXcgTWFwLHM9W107Zm9yKGNvbnN0W3QsZV1vZiBPYmplY3QuZW50cmllcyhhLm1hdGNoZXMpKXtsZXQgbj1yLmdldCh0KTtpZighbil7Y29uc3QgZT1vLmNvbG9yc1tyLnNpemUlby5jb2xvcnMubGVuZ3RoXTtuPWk/ZS5kYXJrSGV4OmUubGlnaHRIZXgsci5zZXQodCxuKX1zLnB1c2goe2dyb3VwSWQ6dCxjb2xvcjpuLHJ1bnM6ZX0pfXJldHVybiBzfSkpKSkpLnBpcGUoQmUoW10pKSx0aGlzLmV4cGVyaW1lbnRJZHM9bi5leHBlcmltZW50SWRzLHRoaXMucnVuSWRUb0VpZCQ9S3QodGhpcy5leHBlcmltZW50SWRzLm1hcCgodD0+dGhpcy5zdG9yZS5zZWxlY3QoWnose2V4cGVyaW1lbnRJZDp0fSkucGlwZShWdCgoZT0+KHtleHBlcmltZW50SWQ6dCxydW5JZHM6ZX0pKSkpKSkpLnBpcGUoVnQoKHQ9Pntjb25zdCBlPXt9O2Zvcihjb25zdHtydW5JZHM6bixleHBlcmltZW50SWQ6b31vZiB0KWZvcihjb25zdCB0IG9mIG4pZVt0XT1vO3JldHVybiBlfSkpKSx0aGlzLmFsbFJ1bnMkPUt0KHRoaXMuZXhwZXJpbWVudElkcy5tYXAoKHQ9PnRoaXMuc3RvcmUuc2VsZWN0KHF6LHtleHBlcmltZW50SWQ6dH0pKSkpLnBpcGUoVnQoKHQ9PnQuZmxhdCgpKSkpfW9uUmVnZXhJbnB1dE9uQ2hhbmdlKHQpe3RoaXMudGVudGF0aXZlUmVnZXhTdHJpbmckLm5leHQodCl9b25TYXZlKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goeFQoe2V4cGVyaW1lbnRJZHM6dGhpcy5leHBlcmltZW50SWRzLGdyb3VwQnk6e2tleTpMei5SRUdFWCxyZWdleFN0cmluZzp0fX0pKX19ZnVuY3Rpb24gXzIodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiwxMSl9ZnVuY3Rpb24gQzIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDEwKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7Y29uc3Qgbj16ZigpO3JldHVybiBuLm9uR3JvdXBCeUNoYW5nZS5lbWl0KHtrZXk6bi5Hcm91cEJ5S2V5LkVYUEVSSU1FTlR9KX0pKSxDZigxLCJzcGFuIiksSG0oMixfMiwxLDAsIm1hdC1pY29uIiw3KSxNZigpLENmKDMsImxhYmVsIiksUHUoNCwiRXhwZXJpbWVudCIpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTt5bSgiYXJpYS1jaGVja2VkIix0LnNlbGVjdGVkR3JvdXBCeS5rZXk9PT10Lkdyb3VwQnlLZXkuRVhQRVJJTUVOVCksRGMoMiksYmYoIm5nSWYiLHQuc2VsZWN0ZWRHcm91cEJ5LmtleT09PXQuR3JvdXBCeUtleS5FWFBFUklNRU5UKX19ZnVuY3Rpb24gTTIodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiwxMSl9ZnVuY3Rpb24gdjIodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiwxMSl9ZnVuY3Rpb24geDIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDEyKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkub25Hcm91cEJ5UmVnZXhDbGljaygpfSkpLENmKDEsInNwYW4iKSxIbSgyLHYyLDEsMCwibWF0LWljb24iLDcpLE1mKCksQ2YoMywibGFiZWwiKSxQdSg0LCJSZWdleCIpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTt5bSgiYXJpYS1jaGVja2VkIix0LnNlbGVjdGVkR3JvdXBCeS5rZXk9PT10Lkdyb3VwQnlLZXkuUkVHRVgpLERjKDIpLGJmKCJuZ0lmIix0LnNlbGVjdGVkR3JvdXBCeS5rZXk9PT10Lkdyb3VwQnlLZXkuUkVHRVgpfX1mdW5jdGlvbiBPMih0LGUpe2lmKDEmdCYmKENmKDAsImxhYmVsIiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDEpLHd1KHQucmVnZXhTdHJpbmcpfX1mdW5jdGlvbiBQMih0LGUpezEmdCYmKENmKDAsImxhYmVsIiwxNyksUHUoMSwiKG5vbmUgc2V0KSIpLE1mKCkpfWZ1bmN0aW9uIHcyKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiYnV0dG9uIiwxMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uUmVnZXhTdHJpbmdFZGl0KCl9KSksQ2YoMSwic3BhbiIpLHZmKDIsIm1hdC1pY29uIiwxNCksTWYoKSxIbSgzLE8yLDIsMSwibGFiZWwiLDE1KSxIbSg0LFAyLDIsMCwibGFiZWwiLDE2KSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO0RjKDMpLGJmKCJuZ0lmIix0LnJlZ2V4U3RyaW5nKSxEYygxKSxiZigibmdJZiIsIXQucmVnZXhTdHJpbmcpfX15Mi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eTIpKGdmKGlTKSxnZihWWSksZ2YoVVkpKX0seTIuybVjbXA9c28oe3R5cGU6eTIsc2VsZWN0b3JzOltbInJlZ2V4LWVkaXQtZGlhbG9nIl1dLGRlY2xzOjMsdmFyczo2LGNvbnN0czpbWzMsInJlZ2V4U3RyaW5nIiwiY29sb3JSdW5QYWlyTGlzdCIsIm9uU2F2ZSIsInJlZ2V4SW5wdXRPbkNoYW5nZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwicmVnZXgtZWRpdC1kaWFsb2ctY29tcG9uZW50IiwwKSxSZigib25TYXZlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblNhdmUoZSl9KSkoInJlZ2V4SW5wdXRPbkNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25SZWdleElucHV0T25DaGFuZ2UoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoInJlZ2V4U3RyaW5nIixDeSgxLDIsbi5ncm91cEJ5UmVnZXhTdHJpbmckKSkoImNvbG9yUnVuUGFpckxpc3QiLEN5KDIsNCxuLmNvbG9yUnVuUGFpckxpc3QkKSl9LGRpcmVjdGl2ZXM6W2IyXSxwaXBlczpbVnZdLHN0eWxlczpbIltfbmdob3N0LSVDT01QJV0sIHJlZ2V4LWVkaXQtZGlhbG9nLWNvbXBvbmVudFtfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH0iXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeTIsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoicmVnZXgtZWRpdC1kaWFsb2ciLHRlbXBsYXRlOic8cmVnZXgtZWRpdC1kaWFsb2ctY29tcG9uZW50XG4gICAgW3JlZ2V4U3RyaW5nXT0iZ3JvdXBCeVJlZ2V4U3RyaW5nJCB8IGFzeW5jIlxuICAgIFtjb2xvclJ1blBhaXJMaXN0XT0iY29sb3JSdW5QYWlyTGlzdCQgfCBhc3luYyJcbiAgICAob25TYXZlKT0ib25TYXZlKCRldmVudCkiXG4gICAgKHJlZ2V4SW5wdXRPbkNoYW5nZSk9Im9uUmVnZXhJbnB1dE9uQ2hhbmdlKCRldmVudCkiXG4gID48L3JlZ2V4LWVkaXQtZGlhbG9nLWNvbXBvbmVudD4nLHN0eWxlczpbIlxuICAgICAgOmhvc3QsXG4gICAgICByZWdleC1lZGl0LWRpYWxvZy1jb21wb25lbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAiXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfSx7dHlwZTpWWX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1VZXX1dfV19KSxudWxsKTtjbGFzcyBrMntjb25zdHJ1Y3Rvcih0KXt0aGlzLmRpYWxvZz10LHRoaXMuR3JvdXBCeUtleT1Meix0aGlzLm9uR3JvdXBCeUNoYW5nZT1uZXcgU3l9b25SZWdleFN0cmluZ0VkaXQoKXt0aGlzLmRpYWxvZy5vcGVuKHkyLHttYXhIZWlnaHQ6Ijk1dmgiLG1heFdpZHRoOiI4MHZ3IixkYXRhOntleHBlcmltZW50SWRzOnRoaXMuZXhwZXJpbWVudElkc319KX1vbkdyb3VwQnlSZWdleENsaWNrKCl7dGhpcy5yZWdleFN0cmluZz90aGlzLm9uR3JvdXBCeUNoYW5nZS5lbWl0KHtrZXk6THouUkVHRVgscmVnZXhTdHJpbmc6dGhpcy5yZWdleFN0cmluZ30pOnRoaXMub25SZWdleFN0cmluZ0VkaXQoKX19azIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGsyKShnZihYWSkpfSxrMi7JtWNtcD1zbyh7dHlwZTprMixzZWxlY3RvcnM6W1sicnVucy1ncm91cC1tZW51LWJ1dHRvbi1jb21wb25lbnQiXV0saW5wdXRzOntzaG93RXhwZXJpbWVudHNHcm91cEJ5OiJzaG93RXhwZXJpbWVudHNHcm91cEJ5IixleHBlcmltZW50SWRzOiJleHBlcmltZW50SWRzIixyZWdleFN0cmluZzoicmVnZXhTdHJpbmciLHNlbGVjdGVkR3JvdXBCeToic2VsZWN0ZWRHcm91cEJ5IixzaG93R3JvdXBCeVJlZ2V4OiJzaG93R3JvdXBCeVJlZ2V4In0sb3V0cHV0czp7b25Hcm91cEJ5Q2hhbmdlOiJvbkdyb3VwQnlDaGFuZ2UifSxkZWNsczoxNCx2YXJzOjYsY29uc3RzOltbIm1hdC1pY29uLWJ1dHRvbiIsIiIsInRpdGxlIiwiQ29sb3IgcnVucyBieS4uLiIsMywibWF0TWVudVRyaWdnZXJGb3IiXSxbInN2Z0ljb24iLCJwYWxldHRlXzI0cHgiXSxbMSwicnVuLXRhYmxlLWNvbG9yLWdyb3VwLWJ5Il0sWyJncm91cEJ5TWVudSIsIm1hdE1lbnUiXSxbMSwibGFiZWwiXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJyb2xlIiwibWVudWl0ZW1yYWRpbyIsImRhdGEtdmFsdWUiLCJleHBlcmltZW50IiwzLCJjbGljayIsNCwibmdJZiJdLFsibWF0LW1lbnUtaXRlbSIsIiIsInJvbGUiLCJtZW51aXRlbXJhZGlvIiwiZGF0YS12YWx1ZSIsInJ1biIsMywiY2xpY2siXSxbInN2Z0ljb24iLCJkb25lXzI0cHgiLDQsIm5nSWYiXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJyb2xlIiwibWVudWl0ZW1yYWRpbyIsImRhdGEtdmFsdWUiLCJyZWdleCIsMywiY2xpY2siLDQsIm5nSWYiXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJyb2xlIiwibWVudWl0ZW0iLCJkYXRhLXZhbHVlIiwicmVnZXgtZWRpdCIsImNsYXNzIiwiZGlzcGxheS1yZWdleC1zdHJpbmciLDMsImNsaWNrIiw0LCJuZ0lmIl0sWyJtYXQtbWVudS1pdGVtIiwiIiwicm9sZSIsIm1lbnVpdGVtcmFkaW8iLCJkYXRhLXZhbHVlIiwiZXhwZXJpbWVudCIsMywiY2xpY2siXSxbInN2Z0ljb24iLCJkb25lXzI0cHgiXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJyb2xlIiwibWVudWl0ZW1yYWRpbyIsImRhdGEtdmFsdWUiLCJyZWdleCIsMywiY2xpY2siXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJyb2xlIiwibWVudWl0ZW0iLCJkYXRhLXZhbHVlIiwicmVnZXgtZWRpdCIsMSwiZGlzcGxheS1yZWdleC1zdHJpbmciLDMsImNsaWNrIl0sWyJzdmdJY29uIiwiZWRpdF8yNHB4Il0sWzQsIm5nSWYiXSxbImNsYXNzIiwibm9uZS1zZXQtc3RyaW5nIiw0LCJuZ0lmIl0sWzEsIm5vbmUtc2V0LXN0cmluZyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiYnV0dG9uIiwwKSx2ZigxLCJtYXQtaWNvbiIsMSksTWYoKSxDZigyLCJtYXQtbWVudSIsMiwzKSxDZig0LCJkaXYiLDQpLFB1KDUsIkNvbG9yIHJ1bnMgYnkiKSxNZigpLEhtKDYsQzIsNSwyLCJidXR0b24iLDUpLENmKDcsImJ1dHRvbiIsNiksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uR3JvdXBCeUNoYW5nZS5lbWl0KHtrZXk6bi5Hcm91cEJ5S2V5LlJVTn0pfSkpLENmKDgsInNwYW4iKSxIbSg5LE0yLDEsMCwibWF0LWljb24iLDcpLE1mKCksQ2YoMTAsImxhYmVsIiksUHUoMTEsIlJ1biIpLE1mKCksTWYoKSxIbSgxMix4Miw1LDIsImJ1dHRvbiIsOCksSG0oMTMsdzIsNSwyLCJidXR0b24iLDkpLE1mKCkpLDImZSl7YmYoIm1hdE1lbnVUcmlnZ2VyRm9yIixGbSgzKSksRGMoNiksYmYoIm5nSWYiLG4uc2hvd0V4cGVyaW1lbnRzR3JvdXBCeSksRGMoMSkseW0oImFyaWEtY2hlY2tlZCIsbi5zZWxlY3RlZEdyb3VwQnkua2V5PT09bi5Hcm91cEJ5S2V5LlJVTiksRGMoMiksYmYoIm5nSWYiLG4uc2VsZWN0ZWRHcm91cEJ5LmtleT09PW4uR3JvdXBCeUtleS5SVU4pLERjKDMpLGJmKCJuZ0lmIixuLnNob3dHcm91cEJ5UmVnZXgpLERjKDEpLGJmKCJuZ0lmIixuLnNob3dHcm91cEJ5UmVnZXgpfX0sZGlyZWN0aXZlczpbTkwscXEsTXEsanEsUHYsSHFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfSAgLnJ1bi10YWJsZS1jb2xvci1ncm91cC1ieXtmb250LXNpemU6MTZweH0gIC5ydW4tdGFibGUtY29sb3ItZ3JvdXAtYnkgLmxhYmVse2NvbG9yOiM2MTYxNjE7Zm9udC1zaXplOi45ZW07bWFyZ2luOjEwcHggMDtwYWRkaW5nOjAgMTZweDtwb2ludGVyLWV2ZW50czpub25lfSAgLnJ1bi10YWJsZS1jb2xvci1ncm91cC1ieSBidXR0b257ZGlzcGxheTpncmlkO2dhcDoycHggMTBweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjBweCBhdXRvfSAgLnJ1bi10YWJsZS1jb2xvci1ncm91cC1ieSBtYXQtaWNvbntoZWlnaHQ6MjBweDt3aWR0aDoyMHB4fSAgLnJ1bi10YWJsZS1jb2xvci1ncm91cC1ieSAuZGlzcGxheS1yZWdleC1zdHJpbmd7cGFkZGluZy1sZWZ0OjQwcHh9ICAucnVuLXRhYmxlLWNvbG9yLWdyb3VwLWJ5IC5kaXNwbGF5LXJlZ2V4LXN0cmluZyAubm9uZS1zZXQtc3RyaW5ne2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgICAucnVuLXRhYmxlLWNvbG9yLWdyb3VwLWJ5IC5kaXNwbGF5LXJlZ2V4LXN0cmluZyAubm9uZS1zZXQtc3RyaW5nLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAgIC5ydW4tdGFibGUtY29sb3ItZ3JvdXAtYnkgLmRpc3BsYXktcmVnZXgtc3RyaW5nIC5ub25lLXNldC1zdHJpbmd7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGsyLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InJ1bnMtZ3JvdXAtbWVudS1idXR0b24tY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoicnVuc19ncm91cF9tZW51X2J1dHRvbl9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsicnVuc19ncm91cF9tZW51X2J1dHRvbl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlhZfV19KSx7c2hvd0V4cGVyaW1lbnRzR3JvdXBCeTpbe3R5cGU6Ul99XSxleHBlcmltZW50SWRzOlt7dHlwZTpSX31dLHJlZ2V4U3RyaW5nOlt7dHlwZTpSX31dLHNlbGVjdGVkR3JvdXBCeTpbe3R5cGU6Ul99XSxzaG93R3JvdXBCeVJlZ2V4Olt7dHlwZTpSX31dLG9uR3JvdXBCeUNoYW5nZTpbe3R5cGU6RV99XX0pO2NsYXNzIFMye2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLnNob3dHcm91cEJ5UmVnZXgkPXRoaXMuc3RvcmUuc2VsZWN0KFVEKSx0aGlzLnNob3dFeHBlcmltZW50c0dyb3VwQnkkPXRoaXMuc3RvcmUuc2VsZWN0KENSKS5waXBlKFZ0KCh0PT50LmhhcyhfRC5DT01QQVJFX0VYUEVSSU1FTlQpKSkpLHRoaXMuc2VsZWN0ZWRHcm91cEJ5JD10aGlzLnN0b3JlLnNlbGVjdCgkeiksdGhpcy5ncm91cEJ5UmVnZXhTdHJpbmckPXRoaXMuc3RvcmUuc2VsZWN0KHJJKX1vbkdyb3VwQnlDaGFuZ2UodCl7dGhpcy5zdG9yZS5kaXNwYXRjaCh4VCh7ZXhwZXJpbWVudElkczp0aGlzLmV4cGVyaW1lbnRJZHMsZ3JvdXBCeTp0fSkpfX1TMi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UzIpKGdmKGlTKSl9LFMyLsm1Y21wPXNvKHt0eXBlOlMyLHNlbGVjdG9yczpbWyJydW5zLWdyb3VwLW1lbnUtYnV0dG9uIl1dLGlucHV0czp7ZXhwZXJpbWVudElkczoiZXhwZXJpbWVudElkcyJ9LGRlY2xzOjUsdmFyczoxMyxjb25zdHM6W1szLCJyZWdleFN0cmluZyIsInNlbGVjdGVkR3JvdXBCeSIsInNob3dHcm91cEJ5UmVnZXgiLCJzaG93RXhwZXJpbWVudHNHcm91cEJ5IiwiZXhwZXJpbWVudElkcyIsIm9uR3JvdXBCeUNoYW5nZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwicnVucy1ncm91cC1tZW51LWJ1dHRvbi1jb21wb25lbnQiLDApLFJmKCJvbkdyb3VwQnlDaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uR3JvdXBCeUNoYW5nZShlKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSxfeSg0LCJhc3luYyIpLE1mKCkpLDImZSYmYmYoInJlZ2V4U3RyaW5nIixDeSgxLDUsbi5ncm91cEJ5UmVnZXhTdHJpbmckKSkoInNlbGVjdGVkR3JvdXBCeSIsQ3koMiw3LG4uc2VsZWN0ZWRHcm91cEJ5JCkpKCJzaG93R3JvdXBCeVJlZ2V4IixDeSgzLDksbi5zaG93R3JvdXBCeVJlZ2V4JCkpKCJzaG93RXhwZXJpbWVudHNHcm91cEJ5IixDeSg0LDExLG4uc2hvd0V4cGVyaW1lbnRzR3JvdXBCeSQpKSgiZXhwZXJpbWVudElkcyIsbi5leHBlcmltZW50SWRzKX0sZGlyZWN0aXZlczpbazJdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihTMixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJydW5zLWdyb3VwLW1lbnUtYnV0dG9uIix0ZW1wbGF0ZTonXG4gICAgPHJ1bnMtZ3JvdXAtbWVudS1idXR0b24tY29tcG9uZW50XG4gICAgICBbcmVnZXhTdHJpbmddPSJncm91cEJ5UmVnZXhTdHJpbmckIHwgYXN5bmMiXG4gICAgICBbc2VsZWN0ZWRHcm91cEJ5XT0ic2VsZWN0ZWRHcm91cEJ5JCB8IGFzeW5jIlxuICAgICAgW3Nob3dHcm91cEJ5UmVnZXhdPSJzaG93R3JvdXBCeVJlZ2V4JCB8IGFzeW5jIlxuICAgICAgW3Nob3dFeHBlcmltZW50c0dyb3VwQnldPSJzaG93RXhwZXJpbWVudHNHcm91cEJ5JCB8IGFzeW5jIlxuICAgICAgW2V4cGVyaW1lbnRJZHNdPSJleHBlcmltZW50SWRzIlxuICAgICAgKG9uR3JvdXBCeUNoYW5nZSk9Im9uR3JvdXBCeUNoYW5nZSgkZXZlbnQpIlxuICAgID48L3J1bnMtZ3JvdXAtbWVudS1idXR0b24tY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse2V4cGVyaW1lbnRJZHM6W3t0eXBlOlJffV19KTtjb25zdCBEMj1bImNvbnRhaW5lciJdO3ZhciBSMjshKGZ1bmN0aW9uKHQpe3RbdC5OT05FPTBdPSJOT05FIix0W3QuTEVGVD0xXT0iTEVGVCIsdFt0LlJJR0hUPTJdPSJSSUdIVCJ9KShSMnx8KFIyPXt9KSk7Y2xhc3MgRTJ7Y29uc3RydWN0b3IodCl7dGhpcy5jaGFuZ2VEZXRlY3Rvcj10LHRoaXMudGlja0NvdW50PTIwLHRoaXMudmFsdWU9bmV3IFN5LHRoaXMuUG9zaXRpb249UjIsdGhpcy5hY3RpdmVUaHVtYj1SMi5OT05FLHRoaXMub2Zmc2V0WEZyb21PcmlnaW5PZkFjdGl2ZVRodW1iPTAsdGhpcy5uZ1Vuc3Vic2NyaWJlPW5ldyBCfWdldFRodW1iUG9zaXRpb24odCl7Y29uc3QgZT10aGlzLmdldENsaXBwZWRWYWx1ZSh0KSxuPXRoaXMubWF4LXRoaXMubWluO2lmKG48PTApcmV0dXJuIjUwJSI7cmV0dXJuYCR7KGUtdGhpcy5taW4pL24qMTAwfSVgfWdldFRyYWNrV2lkdGgoKXtjb25zdCB0PXRoaXMubWF4LXRoaXMubWluO2lmKHQ8PTApcmV0dXJuIjAlIjtyZXR1cm5gJHsodGhpcy5nZXRDbGlwcGVkVmFsdWUodGhpcy51cHBlclZhbHVlKS10aGlzLmdldENsaXBwZWRWYWx1ZSh0aGlzLmxvd2VyVmFsdWUpKS90KjEwMH0lYH1nZXRDbGlwcGVkVmFsdWUodCl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHQsdGhpcy5taW4pLHRoaXMubWF4KX1uZ09uRGVzdHJveSgpe3RoaXMubmdVbnN1YnNjcmliZS5uZXh0KCksdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCl9bmdPbkluaXQoKXtsZShkb2N1bWVudCwibW91c2Vtb3ZlIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5oYW5kbGVNb3VzZU1vdmUodCl9KSksbGUoZG9jdW1lbnQsIm1vdXNldXAiLHtwYXNzaXZlOiEwfSkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLmhhbmRsZU1vdXNlT3V0KHQpfSkpfWhhbmRsZU1vdXNlRG93bih0LGUpe3RoaXMuYWN0aXZlVGh1bWI9ZTt0aGlzLm9mZnNldFhGcm9tT3JpZ2luT2ZBY3RpdmVUaHVtYj02LXQub2Zmc2V0WH1jYWxjdWxhdGVWYWx1ZUZyb21Nb3VzZUV2ZW50KHQpe2NvbnN0e2xlZnQ6ZSxyaWdodDpufT10aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89dC5jbGllbnRYLWUrdGhpcy5vZmZzZXRYRnJvbU9yaWdpbk9mQWN0aXZlVGh1bWI7bGV0IGk7aWYobnVsbCE9PXRoaXMudGlja0NvdW50JiZ0aGlzLnRpY2tDb3VudD4wKXtjb25zdCB0PShuLWUpL3RoaXMudGlja0NvdW50O2k9TWF0aC5yb3VuZChvL3QpKnQvKG4tZSl9ZWxzZSBpPW8vKG4tZSk7Y29uc3QgYT10aGlzLmdldENsaXBwZWRWYWx1ZSh0aGlzLm1pbisodGhpcy5tYXgtdGhpcy5taW4pKmkpO3JldHVybiBOdW1iZXIoYS50b0ZpeGVkKDEwKSl9aGFuZGxlTW91c2VNb3ZlKHQpe2lmKHRoaXMuYWN0aXZlVGh1bWI9PT1SMi5OT05FKXJldHVybjtjb25zdCBlPXRoaXMuY2FsY3VsYXRlVmFsdWVGcm9tTW91c2VFdmVudCh0KTtsZXQgbj1bdGhpcy5sb3dlclZhbHVlLHRoaXMudXBwZXJWYWx1ZV07dGhpcy5hY3RpdmVUaHVtYj09PVIyLkxFRlQ/KGU+dGhpcy51cHBlclZhbHVlJiYodGhpcy5hY3RpdmVUaHVtYj1SMi5SSUdIVCksbj1bZSx0aGlzLnVwcGVyVmFsdWVdKTooZTx0aGlzLmxvd2VyVmFsdWUmJih0aGlzLmFjdGl2ZVRodW1iPVIyLkxFRlQpLG49W3RoaXMubG93ZXJWYWx1ZSxlXSksdGhpcy5tYXliZU5vdGlmeU5leHRWYWx1ZShuKSx0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpfW1heWJlTm90aWZ5TmV4dFZhbHVlKHQpe2NvbnN0W2Usbl09dC5zb3J0KCgodCxlKT0+dC1lKSk7dGhpcy5sb3dlclZhbHVlPT09ZSYmdGhpcy51cHBlclZhbHVlPT09bnx8dGhpcy52YWx1ZS5lbWl0KHtsb3dlclZhbHVlOmUsdXBwZXJWYWx1ZTpufSl9aGFuZGxlTW91c2VPdXQodCl7dGhpcy5hY3RpdmVUaHVtYiE9PVIyLk5PTkUmJih0aGlzLmFjdGl2ZVRodW1iPVIyLk5PTkUsdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKSl9aGFuZGxlSW5wdXRDaGFuZ2UodCxlKXtjb25zdCBuPXRoaXMuZ2V0Q2xpcHBlZFZhbHVlKE51bWJlcih0LnRhcmdldC52YWx1ZSkpO2lmKGlzTmFOKG4pKXJldHVybjtsZXQgbz1bdGhpcy5sb3dlclZhbHVlLHRoaXMudXBwZXJWYWx1ZV07bz1lPT09UjIuTEVGVD9bbix0aGlzLnVwcGVyVmFsdWVdOlt0aGlzLmxvd2VyVmFsdWUsbl0sdGhpcy5tYXliZU5vdGlmeU5leHRWYWx1ZShvKX1pc1RodW1iQWN0aXZlKHQpe3JldHVybiB0aGlzLmFjdGl2ZVRodW1iPT09dH19RTIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEUyKShnZihPYikpfSxFMi7JtWNtcD1zbyh7dHlwZTpFMixzZWxlY3RvcnM6W1sidGItcmFuZ2UtaW5wdXQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJlZ5KEQyLDcsS2gpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uY29udGFpbmVyPXQuZmlyc3QpfX0saW5wdXRzOnttaW46Im1pbiIsbWF4OiJtYXgiLGxvd2VyVmFsdWU6Imxvd2VyVmFsdWUiLHVwcGVyVmFsdWU6InVwcGVyVmFsdWUiLHRpY2tDb3VudDoidGlja0NvdW50In0sb3V0cHV0czp7dmFsdWU6InZhbHVlIn0sZGVjbHM6OCx2YXJzOjE0LGNvbnN0czpbWyJ0eXBlIiwibnVtYmVyIiwxLCJsb3dlci1pbnB1dCIsMywidmFsdWUiLCJjaGFuZ2UiXSxbInR5cGUiLCJudW1iZXIiLDEsInVwcGVyLWlucHV0IiwzLCJ2YWx1ZSIsImNoYW5nZSJdLFsxLCJjb250YWluZXIiXSxbImNvbnRhaW5lciIsIiJdLFsxLCJzbGlkZXItdHJhY2siXSxbMSwic2xpZGVyLXRyYWNrLWZpbGwiXSxbMSwidGh1bWIiLDMsIm1vdXNlZG93biJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiaW5wdXQiLDApLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmhhbmRsZUlucHV0Q2hhbmdlKGUsbi5Qb3NpdGlvbi5MRUZUKX0pKSxNZigpLENmKDEsImlucHV0IiwxKSxSZigiY2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5oYW5kbGVJbnB1dENoYW5nZShlLG4uUG9zaXRpb24uUklHSFQpfSkpLE1mKCksQ2YoMiwic3BhbiIsMiwzKSx2Zig0LCJzcGFuIiw0KSx2Zig1LCJzcGFuIiw1KSxDZig2LCJzcGFuIiw2KSxSZigibW91c2Vkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5oYW5kbGVNb3VzZURvd24oZSxuLlBvc2l0aW9uLkxFRlQpfSkpLE1mKCksQ2YoNywic3BhbiIsNiksUmYoIm1vdXNlZG93biIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uaGFuZGxlTW91c2VEb3duKGUsbi5Qb3NpdGlvbi5SSUdIVCl9KSksTWYoKSxNZigpKSwyJmUmJihiZigidmFsdWUiLG4ubG93ZXJWYWx1ZSksRGMoMSksYmYoInZhbHVlIixuLnVwcGVyVmFsdWUpLERjKDQpLGx1KCJsZWZ0IixuLmdldFRodW1iUG9zaXRpb24obi5sb3dlclZhbHVlKSkoIndpZHRoIixuLmdldFRyYWNrV2lkdGgoKSksRGMoMSksbHUoImxlZnQiLG4uZ2V0VGh1bWJQb3NpdGlvbihuLmxvd2VyVmFsdWUpKSxjdSgiYWN0aXZlIixuLmlzVGh1bWJBY3RpdmUobi5Qb3NpdGlvbi5MRUZUKSksRGMoMSksbHUoImxlZnQiLG4uZ2V0VGh1bWJQb3NpdGlvbihuLnVwcGVyVmFsdWUpKSxjdSgiYWN0aXZlIixuLmlzVGh1bWJBY3RpdmUobi5Qb3NpdGlvbi5SSUdIVCkpKX0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTppbmxpbmUtZ3JpZDtncmlkLWdhcDoxMHB4O2dyaWQtdGVtcGxhdGUtYXJlYXM6Imxvd2VyLWlucHV0IHVwcGVyLWlucHV0IiAic2xpZGVyIHNsaWRlciI7Zm9udC1zaXplOjA7bWluLXdpZHRoOjEwMHB4O3BhZGRpbmc6NnB4fWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjppbmhlcml0O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfS5sb3dlci1pbnB1dFtfbmdjb250ZW50LSVDT01QJV17Z3JpZC1hcmVhOmxvd2VyLWlucHV0fS51cHBlci1pbnB1dFtfbmdjb250ZW50LSVDT01QJV17Z3JpZC1hcmVhOnVwcGVyLWlucHV0O2p1c3RpZnktc2VsZjpmbGV4LWVuZH0uY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtncmlkLWFyZWE6c2xpZGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTppbmxpbmUtZmxleDtoZWlnaHQ6MTJweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnNsaWRlci10cmFja1tfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4yNik7aGVpZ2h0OjJweDt3aWR0aDoxMDAlfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5zbGlkZXItdHJhY2tbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc2xpZGVyLXRyYWNrW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjMpfS5zbGlkZXItdHJhY2stZmlsbFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjJweH0udGh1bWJbX25nY29udGVudC0lQ09NUCVde2JveC1zYWRob3c6MCAwIDAgMXB4IHJnYmEoMCwwLDAsLjI2KTtib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZTt3aWR0aDoxMnB4O3dpbGwtY2hhbmdlOnRyYW5zZm9ybX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAudGh1bWJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAudGh1bWJbX25nY29udGVudC0lQ09NUCVde2JveC1zYWRob3c6MCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjMpfS50aHVtYi5hY3RpdmVbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTpzY2FsZSgxLjIpfS5zbGlkZXItdHJhY2stZmlsbFtfbmdjb250ZW50LSVDT01QJV0sIC50aHVtYltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDojZjU3YzAwfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5zbGlkZXItdHJhY2stZmlsbFtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5zbGlkZXItdHJhY2stZmlsbFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDojZWY2YzAwfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC50aHVtYltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC50aHVtYltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDojZWY2YzAwfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihFMixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJ0Yi1yYW5nZS1pbnB1dCIsdGVtcGxhdGVVcmw6Ii4vcmFuZ2VfaW5wdXRfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vcmFuZ2VfaW5wdXRfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpPYn1dfSkse2NvbnRhaW5lcjpbe3R5cGU6YXIsYXJnczpbImNvbnRhaW5lciIse3N0YXRpYzohMCxyZWFkOktofV19XSxtaW46W3t0eXBlOlJffV0sbWF4Olt7dHlwZTpSX31dLGxvd2VyVmFsdWU6W3t0eXBlOlJffV0sdXBwZXJWYWx1ZTpbe3R5cGU6Ul99XSx0aWNrQ291bnQ6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOkVffV19KTtjb25zdCBBMj1bIm1lYXN1cmVyIl0sVDI9WyJpbnB1dCJdO2NsYXNzIE4ye2NvbnN0cnVjdG9yKHQpe3RoaXMuY2hhbmdlRGV0ZWN0b3I9dCx0aGlzLnBsYWNlaG9sZGVyPSIiLHRoaXMuc3R5bGU9ImRlZmF1bHQiLHRoaXMucGF0dGVyblJlZ2V4PW5ldyBSZWdFeHAoIi4qIiksdGhpcy5pc1ZhbGlkPSEwLHRoaXMub25WYWx1ZUNoYW5nZT1uZXcgU3ksdGhpcy5ibHVyPW5ldyBTeSx0aGlzLmZvY3VzPW5ldyBTeSx0aGlzLmtleWRvd249bmV3IFN5LHRoaXMua2V5dXA9bmV3IFN5LHRoaXMuaW50ZXJuYWxWYWx1ZT0iIix0aGlzLmZvbnRDaGFuZ2VMaXN0ZW5lcj10aGlzLnVwZGF0ZUlucHV0V2lkdGguYmluZCh0aGlzKX1uZ09uSW5pdCgpe2RvY3VtZW50LmZvbnRzJiZkb2N1bWVudC5mb250cy5hZGRFdmVudExpc3RlbmVyKCJsb2FkaW5nZG9uZSIsdGhpcy5mb250Q2hhbmdlTGlzdGVuZXIpfW5nT25EZXN0cm95KCl7ZG9jdW1lbnQuZm9udHMmJmRvY3VtZW50LmZvbnRzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWRpbmdkb25lIix0aGlzLmZvbnRDaGFuZ2VMaXN0ZW5lcil9bmdPbkNoYW5nZXModCl7dmFyIGU7dC5wYXR0ZXJuJiYodGhpcy5wYXR0ZXJuUmVnZXg9bmV3IFJlZ0V4cChudWxsIT09KGU9dGhpcy5wYXR0ZXJuKSYmdm9pZCAwIT09ZT9lOiIiKSksdC52YWx1ZSYmKHRoaXMuaW50ZXJuYWxWYWx1ZT10aGlzLnZhbHVlKSx0aGlzLmlzVmFsaWQ9dGhpcy5wYXR0ZXJuUmVnZXgudGVzdCh0aGlzLmludGVybmFsVmFsdWUpfW5nQWZ0ZXJWaWV3Q2hlY2tlZCgpe3RoaXMudXBkYXRlSW5wdXRXaWR0aCgpfW9uSW5wdXQodCl7Y29uc3QgZT10aGlzLmludGVybmFsVmFsdWU7dGhpcy5pbnRlcm5hbFZhbHVlPXRoaXMuaW5wdXRFbFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlLHRoaXMuaW50ZXJuYWxWYWx1ZSE9PWUmJih0aGlzLmlzVmFsaWQ9dGhpcy5wYXR0ZXJuUmVnZXgudGVzdCh0aGlzLmludGVybmFsVmFsdWUpLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCkpLHRoaXMub25WYWx1ZUNoYW5nZS5lbWl0KHt2YWx1ZTp0aGlzLmludGVybmFsVmFsdWV9KX11cGRhdGVJbnB1dFdpZHRoKCl7Y29uc3R7d2lkdGg6dH09dGhpcy5tZWFzdXJlckVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5pbnB1dEVsUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGg9YCR7dH1weGB9fWZ1bmN0aW9uIHoyKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiY29udGVudC13cmFwcGluZy1pbnB1dCIsMyksUmYoIm9uVmFsdWVDaGFuZ2UiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLmFsaWFzQ2hhbmdlZC5lbWl0KG4pfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7ZHUodC5pc0FsaWFzTmFtZUxlZ2FsPyJoaWdoLWNvbnRyYXN0IjoiZXJyb3IiKSxiZigidmFsdWUiLHQuYWxpYXMuYWxpYXNUZXh0KX19ZnVuY3Rpb24gSTIodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7Y3UoImlsbGVnYWwiLCF0LmlzQWxpYXNOYW1lTGVnYWwpLERjKDEpLHd1KHQuYWxpYXMuYWxpYXNUZXh0KX19TjIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE4yKShnZihPYikpfSxOMi7JtWNtcD1zbyh7dHlwZTpOMixzZWxlY3RvcnM6W1siY29udGVudC13cmFwcGluZy1pbnB1dCJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKFZ5KEEyLDcsS2gpLFZ5KFQyLDcsS2gpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLm1lYXN1cmVyRWxSZWY9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uaW5wdXRFbFJlZj10LmZpcnN0KX19LGhvc3RWYXJzOjIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJm11KG4uc3R5bGUpfSxpbnB1dHM6e3ZhbHVlOiJ2YWx1ZSIscGxhY2Vob2xkZXI6InBsYWNlaG9sZGVyIixzdHlsZToic3R5bGUiLHBhdHRlcm46InBhdHRlcm4ifSxvdXRwdXRzOntvblZhbHVlQ2hhbmdlOiJvblZhbHVlQ2hhbmdlIixibHVyOiJibHVyIixmb2N1czoiZm9jdXMiLGtleWRvd246ImtleWRvd24iLGtleXVwOiJrZXl1cCJ9LGZlYXR1cmVzOltxb10sZGVjbHM6Nix2YXJzOjcsY29uc3RzOltbImFyaWEtaGlkZGVuIiwidHJ1ZSIsMSwibWVhc3VyZXIiXSxbIm1lYXN1cmVyIiwiIl0sWyJhdXRvY29tcGxldGUiLCJvZmYiLCJzcGVsbGNoZWNrIiwiZmFsc2UiLCJ0eXBlIiwidGV4dCIsMywidmFsdWUiLCJwbGFjZWhvbGRlciIsImJsdXIiLCJmb2N1cyIsImlucHV0Iiwia2V5ZG93biIsImtleXVwIl0sWyJpbnB1dCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwic3BhbiIpLENmKDEsInNwYW4iLDAsMSksUHUoMyksTWYoKSxDZig0LCJpbnB1dCIsMiwzKSxSZigiYmx1ciIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uYmx1ci5lbWl0KGUpfSkpKCJmb2N1cyIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uZm9jdXMuZW1pdChlKX0pKSgiaW5wdXQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uSW5wdXQoZSl9KSkoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmtleWRvd24uZW1pdChlKX0pKSgia2V5dXAiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmtleXVwLmVtaXQoZSl9KSksTWYoKSxNZigpKSwyJmUmJihjdSgiY29udGFpbmVyIiwhMCkoImlzLXZhbGlkIixuLmlzVmFsaWQpLERjKDMpLHd1KG4uaW50ZXJuYWxWYWx1ZXx8bi5wbGFjZWhvbGRlciksRGMoMSksYmYoInZhbHVlIixuLnZhbHVlKSgicGxhY2Vob2xkZXIiLG4ucGxhY2Vob2xkZXIpKX0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1mbGV4O3dpZHRoOm1heC1jb250ZW50fVtfbmdob3N0LSVDT01QJV06Zm9jdXMtd2l0aGluICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWNvbG9yOiNmNTdjMDB9LmRlZmF1bHRbX25naG9zdC0lQ09NUCVdOmhvdmVyICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWNvbG9yOiNlYmViZWJ9LmVycm9yW19uZ2hvc3QtJUNPTVAlXSAgIC5jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCBbX25naG9zdC0lQ09NUCVdICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06bm90KC5pcy12YWxpZCl7Ym9yZGVyLWNvbG9yOiNlZjlhOWF9LmVycm9yW19uZ2hvc3QtJUNPTVAlXSAgIC5jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmhvdmVyLCAuZXJyb3JbX25naG9zdC0lQ09NUCVdICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMtd2l0aGluLCBbX25naG9zdC0lQ09NUCVdICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06bm90KC5pcy12YWxpZCk6aG92ZXIsIFtfbmdob3N0LSVDT01QJV0gICAuY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoLmlzLXZhbGlkKTpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOiNlZjlhOWF9LmhpZ2gtY29udHJhc3RbX25naG9zdC0lQ09NUCVdICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWNvbG9yOiNiZGJkYmR9LmhpZ2gtY29udHJhc3RbX25naG9zdC0lQ09NUCVdICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06aG92ZXJ7Ym9yZGVyLWNvbG9yOiM3NTc1NzV9LmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyOjJweCBzb2xpZCB0cmFuc3BhcmVudDtwYWRkaW5nOjFweCAycHg7cG9zaXRpb246cmVsYXRpdmV9Lm1lYXN1cmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3Zpc2liaWxpdHk6aGlkZGVufS5tZWFzdXJlcltfbmdjb250ZW50LSVDT01QJV0sIGlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OjEuNDtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6cHJlfS5tZWFzdXJlcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHksIGlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXt3aWR0aDoyY2h9aW5wdXRbX25nY29udGVudC0lQ09NUCVde2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7Ym9yZGVyOjA7Y29sb3I6aW5oZXJpdDtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTppbmhlcml0O291dGxpbmU6MH1pbnB1dFtfbmdjb250ZW50LSVDT01QJV06Zm9jdXN7cGFkZGluZy1yaWdodDoxY2h9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE4yLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImNvbnRlbnQtd3JhcHBpbmctaW5wdXQiLHRlbXBsYXRlOidcbiAgICA8c3BhbiBbY2xhc3MuY29udGFpbmVyXT0idHJ1ZSIgW2NsYXNzLmlzLXZhbGlkXT0iaXNWYWxpZCI+XG4gICAgICA8c3BhbiAjbWVhc3VyZXIgY2xhc3M9Im1lYXN1cmVyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+e3tcbiAgICAgICAgaW50ZXJuYWxWYWx1ZSB8fCBwbGFjZWhvbGRlclxuICAgICAgfX08L3NwYW4+XG4gICAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIGF1dG9jb21wbGV0ZT0ib2ZmIlxuICAgICAgICBzcGVsbGNoZWNrPSJmYWxzZSJcbiAgICAgICAgdHlwZT0idGV4dCJcbiAgICAgICAgKGJsdXIpPSJibHVyLmVtaXQoJGV2ZW50KSJcbiAgICAgICAgKGZvY3VzKT0iZm9jdXMuZW1pdCgkZXZlbnQpIlxuICAgICAgICAoaW5wdXQpPSJvbklucHV0KCRldmVudCkiXG4gICAgICAgIChrZXlkb3duKT0ia2V5ZG93bi5lbWl0KCRldmVudCkiXG4gICAgICAgIChrZXl1cCk9ImtleXVwLmVtaXQoJGV2ZW50KSJcbiAgICAgICAgW3ZhbHVlXT0idmFsdWUiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09InBsYWNlaG9sZGVyIlxuICAgICAgLz5cbiAgICA8L3NwYW4+XG4gICcsc3R5bGVVcmxzOlsiLi9jb250ZW50X3dyYXBwaW5nX2lucHV0X2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6T2J9XX0pLHttZWFzdXJlckVsUmVmOlt7dHlwZTphcixhcmdzOlsibWVhc3VyZXIiLHtzdGF0aWM6ITAscmVhZDpLaH1dfV0saW5wdXRFbFJlZjpbe3R5cGU6YXIsYXJnczpbImlucHV0Iix7c3RhdGljOiEwLHJlYWQ6S2h9XX1dLHZhbHVlOlt7dHlwZTpSX31dLHBsYWNlaG9sZGVyOlt7dHlwZTpSX31dLHN0eWxlOlt7dHlwZTpBXyxhcmdzOlsiY2xhc3MiXX0se3R5cGU6Ul99XSxwYXR0ZXJuOlt7dHlwZTpSX31dLG9uVmFsdWVDaGFuZ2U6W3t0eXBlOkVffV0sYmx1cjpbe3R5cGU6RV99XSxmb2N1czpbe3R5cGU6RV99XSxrZXlkb3duOlt7dHlwZTpFX31dLGtleXVwOlt7dHlwZTpFX31dfSk7Y2xhc3MgSDJ7Y29uc3RydWN0b3IoKXt0aGlzLmlzQWxpYXNOYW1lTGVnYWw9ITAsdGhpcy5hbGlhc0NoYW5nZWQ9bmV3IFN5fX1IMi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SDIpfSxIMi7JtWNtcD1zbyh7dHlwZTpIMixzZWxlY3RvcnM6W1sidGItZXhwZXJpbWVudC1hbGlhcyJdXSxpbnB1dHM6e2FsaWFzOiJhbGlhcyIsYWxpYXNFZGl0YWJsZToiYWxpYXNFZGl0YWJsZSIsaXNBbGlhc05hbWVMZWdhbDoiaXNBbGlhc05hbWVMZWdhbCJ9LG91dHB1dHM6e2FsaWFzQ2hhbmdlZDoiYWxpYXNDaGFuZ2VkIn0sZGVjbHM6NSx2YXJzOjMsY29uc3RzOltbMSwiYWxpYXMtbnVtYmVyIl0sWyJwbGFjZWhvbGRlciIsIkFsaWFzIGZvciBleHBlcmltZW50IiwzLCJzdHlsZSIsInZhbHVlIiwib25WYWx1ZUNoYW5nZSIsNCwibmdJZiIsIm5nSWZFbHNlIl0sWyJub0VkaXRBbGlhc05hbWUiLCIiXSxbInBsYWNlaG9sZGVyIiwiQWxpYXMgZm9yIGV4cGVyaW1lbnQiLDMsInZhbHVlIiwib25WYWx1ZUNoYW5nZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwic3BhbiIsMCksUHUoMSksTWYoKSxIbSgyLHoyLDEsMywiY29udGVudC13cmFwcGluZy1pbnB1dCIsMSksSG0oMyxJMiwyLDMsIm5nLXRlbXBsYXRlIixudWxsLDIscXkpKSwyJmUpe2NvbnN0IHQ9Rm0oNCk7RGMoMSksd3Uobi5hbGlhcy5hbGlhc051bWJlciksRGMoMSksYmYoIm5nSWYiLG4uYWxpYXNFZGl0YWJsZSkoIm5nSWZFbHNlIix0KX19LGRpcmVjdGl2ZXM6W1B2LE4yXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0uYWxpYXMtbnVtYmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2NvbG9yOiMyMTIxMjE7Ym9yZGVyLXJhZGl1czoycHg7bWFyZ2luLXJpZ2h0OjJweDtwYWRkaW5nOjAgMnB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5hbGlhcy1udW1iZXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuYWxpYXMtbnVtYmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmFsaWFzLW51bWJlcltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5hbGlhcy1udW1iZXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlcjoxcHggc29saWQgIzU1NX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuYWxpYXMtbnVtYmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmFsaWFzLW51bWJlcltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6I2ZmZn1bX25naG9zdC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6YmFzZWxpbmV9J119KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEgyLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRiLWV4cGVyaW1lbnQtYWxpYXMiLHRlbXBsYXRlOidcbiAgICA8c3BhbiBjbGFzcz0iYWxpYXMtbnVtYmVyIj57eyBhbGlhcy5hbGlhc051bWJlciB9fTwvc3Bhbj5cbiAgICA8Y29udGVudC13cmFwcGluZy1pbnB1dFxuICAgICAgKm5nSWY9ImFsaWFzRWRpdGFibGU7IGVsc2Ugbm9FZGl0QWxpYXNOYW1lIlxuICAgICAgcGxhY2Vob2xkZXI9IkFsaWFzIGZvciBleHBlcmltZW50IlxuICAgICAgW3N0eWxlXT0iaXNBbGlhc05hbWVMZWdhbCA/IFwnaGlnaC1jb250cmFzdFwnIDogXCdlcnJvclwnIlxuICAgICAgW3ZhbHVlXT0iYWxpYXMuYWxpYXNUZXh0IlxuICAgICAgKG9uVmFsdWVDaGFuZ2UpPSJhbGlhc0NoYW5nZWQuZW1pdCgkZXZlbnQpIlxuICAgID48L2NvbnRlbnQtd3JhcHBpbmctaW5wdXQ+XG4gICAgPG5nLXRlbXBsYXRlICNub0VkaXRBbGlhc05hbWU+XG4gICAgICA8c3BhbiBbY2xhc3MuaWxsZWdhbF09IiFpc0FsaWFzTmFtZUxlZ2FsIj57eyBhbGlhcy5hbGlhc1RleHQgfX08L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgJyxzdHlsZVVybHM6WyJleHBlcmltZW50X2FsaWFzX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCx7YWxpYXM6W3t0eXBlOlJffV0sYWxpYXNFZGl0YWJsZTpbe3R5cGU6Ul99XSxpc0FsaWFzTmFtZUxlZ2FsOlt7dHlwZTpSX31dLGFsaWFzQ2hhbmdlZDpbe3R5cGU6RV99XX0pO2NvbnN0IEYyPVsiZGlhbG9nUG9wdXAiXSxMMj1bImh1ZVNsaWRlciJdLEIyPVsiYWxwaGFTbGlkZXIiXTtmdW5jdGlvbiBWMih0LGUpe2lmKDEmdCYmdmYoMCwiZGl2IiksMiZ0KXtjb25zdCB0PXpmKCk7SXUoImFycm93IGFycm93LSIsdC5jcFVzZVBvc2l0aW9uLCIiKSxsdSgidG9wIix0LmFycm93VG9wLCJweCIpfX1mdW5jdGlvbiBqMih0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsMjYpLFJmKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25Db2xvckNoYW5nZShuKX0pKSgiZHJhZ1N0YXJ0IiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uRHJhZ1N0YXJ0KCJzYXR1cmF0aW9uLWxpZ2h0bmVzcyIpfSkpKCJkcmFnRW5kIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uRHJhZ0VuZCgic2F0dXJhdGlvbi1saWdodG5lc3MiKX0pKSx2ZigxLCJkaXYiLDEzKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2x1KCJiYWNrZ3JvdW5kLWNvbG9yIix0Lmh1ZVNsaWRlckNvbG9yKSxiZigicmdYIiwxKSgicmdZIiwxKSxEYygxKSxsdSgidG9wIixudWxsPT10LnNsaWRlcj9udWxsOnQuc2xpZGVyLnYsInB4IikoImxlZnQiLG51bGw9PXQuc2xpZGVyP251bGw6dC5zbGlkZXIucywicHgiKX19ZnVuY3Rpb24gVTIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDI3KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoKTtyZXR1cm4gby5vbkFkZFByZXNldENvbG9yKG4sby5zZWxlY3RlZENvbG9yKX0pKSxQdSgxKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO211KHQuY3BBZGRDb2xvckJ1dHRvbkNsYXNzKSxiZigiZGlzYWJsZWQiLHQuY3BQcmVzZXRDb2xvcnMmJnQuY3BQcmVzZXRDb2xvcnMubGVuZ3RoPj10LmNwTWF4UHJlc2V0Q29sb3JzTGVuZ3RoKSxEYygxKSxrdSgiICIsdC5jcEFkZENvbG9yQnV0dG9uVGV4dCwiICIpfX1mdW5jdGlvbiBXMih0LGUpezEmdCYmdmYoMCwiZGl2IiwyOCl9ZnVuY3Rpb24gRzIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJpbnB1dCIsMzQpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKDIpLm9uQWNjZXB0Q29sb3Iobil9KSkoIm5ld1ZhbHVlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25BbHBoYUlucHV0KG4pfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJyZyIsMSkoInZhbHVlIixudWxsPT10LmNteWtUZXh0P251bGw6dC5jbXlrVGV4dC5hKX19ZnVuY3Rpb24gWTIodCxlKXsxJnQmJihDZigwLCJkaXYiKSxQdSgxLCJBIiksTWYoKSl9ZnVuY3Rpb24gcTIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDI5KSxDZigxLCJkaXYiLDMwKSxDZigyLCJpbnB1dCIsMzEpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25BY2NlcHRDb2xvcihuKX0pKSgibmV3VmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLm9uQ3lhbklucHV0KG4pfSkpLE1mKCksQ2YoMywiaW5wdXQiLDMxKSxSZigia2V5dXAuZW50ZXIiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLm9uQWNjZXB0Q29sb3Iobil9KSkoIm5ld1ZhbHVlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbk1hZ2VudGFJbnB1dChuKX0pKSxNZigpLENmKDQsImlucHV0IiwzMSksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25ZZWxsb3dJbnB1dChuKX0pKSxNZigpLENmKDUsImlucHV0IiwzMSksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25CbGFja0lucHV0KG4pfSkpLE1mKCksSG0oNixHMiwxLDIsImlucHV0IiwzMiksTWYoKSxDZig3LCJkaXYiLDMwKSxDZig4LCJkaXYiKSxQdSg5LCJDIiksTWYoKSxDZigxMCwiZGl2IiksUHUoMTEsIk0iKSxNZigpLENmKDEyLCJkaXYiKSxQdSgxMywiWSIpLE1mKCksQ2YoMTQsImRpdiIpLFB1KDE1LCJLIiksTWYoKSxIbSgxNixZMiwyLDAsImRpdiIsMzMpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtsdSgiZGlzcGxheSIsMyE9PXQuZm9ybWF0PyJub25lIjoiYmxvY2siKSxEYygyKSxiZigicmciLDEwMCkoInZhbHVlIixudWxsPT10LmNteWtUZXh0P251bGw6dC5jbXlrVGV4dC5jKSxEYygxKSxiZigicmciLDEwMCkoInZhbHVlIixudWxsPT10LmNteWtUZXh0P251bGw6dC5jbXlrVGV4dC5tKSxEYygxKSxiZigicmciLDEwMCkoInZhbHVlIixudWxsPT10LmNteWtUZXh0P251bGw6dC5jbXlrVGV4dC55KSxEYygxKSxiZigicmciLDEwMCkoInZhbHVlIixudWxsPT10LmNteWtUZXh0P251bGw6dC5jbXlrVGV4dC5rKSxEYygxKSxiZigibmdJZiIsImRpc2FibGVkIiE9PXQuY3BBbHBoYUNoYW5uZWwpLERjKDEwKSxiZigibmdJZiIsImRpc2FibGVkIiE9PXQuY3BBbHBoYUNoYW5uZWwpfX1mdW5jdGlvbiBaMih0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImlucHV0IiwzNCksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25BY2NlcHRDb2xvcihuKX0pKSgibmV3VmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vbkFscGhhSW5wdXQobil9KSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoMik7YmYoInJnIiwxKSgidmFsdWUiLG51bGw9PXQuaHNsYVRleHQ/bnVsbDp0LmhzbGFUZXh0LmEpfX1mdW5jdGlvbiBYMih0LGUpezEmdCYmKENmKDAsImRpdiIpLFB1KDEsIkEiKSxNZigpKX1mdW5jdGlvbiBLMih0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsMzUpLENmKDEsImRpdiIsMzApLENmKDIsImlucHV0IiwzNiksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25IdWVJbnB1dChuKX0pKSxNZigpLENmKDMsImlucHV0IiwzMSksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25TYXR1cmF0aW9uSW5wdXQobil9KSksTWYoKSxDZig0LCJpbnB1dCIsMzEpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25BY2NlcHRDb2xvcihuKX0pKSgibmV3VmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLm9uTGlnaHRuZXNzSW5wdXQobil9KSksTWYoKSxIbSg1LFoyLDEsMiwiaW5wdXQiLDMyKSxNZigpLENmKDYsImRpdiIsMzApLENmKDcsImRpdiIpLFB1KDgsIkgiKSxNZigpLENmKDksImRpdiIpLFB1KDEwLCJTIiksTWYoKSxDZigxMSwiZGl2IiksUHUoMTIsIkwiKSxNZigpLEhtKDEzLFgyLDIsMCwiZGl2IiwzMyksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2x1KCJkaXNwbGF5IiwyIT09dC5mb3JtYXQ/Im5vbmUiOiJibG9jayIpLERjKDIpLGJmKCJyZyIsMzYwKSgidmFsdWUiLG51bGw9PXQuaHNsYVRleHQ/bnVsbDp0LmhzbGFUZXh0LmgpLERjKDEpLGJmKCJyZyIsMTAwKSgidmFsdWUiLG51bGw9PXQuaHNsYVRleHQ/bnVsbDp0LmhzbGFUZXh0LnMpLERjKDEpLGJmKCJyZyIsMTAwKSgidmFsdWUiLG51bGw9PXQuaHNsYVRleHQ/bnVsbDp0LmhzbGFUZXh0LmwpLERjKDEpLGJmKCJuZ0lmIiwiZGlzYWJsZWQiIT09dC5jcEFscGhhQ2hhbm5lbCksRGMoOCksYmYoIm5nSWYiLCJkaXNhYmxlZCIhPT10LmNwQWxwaGFDaGFubmVsKX19ZnVuY3Rpb24gSjIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJpbnB1dCIsMzQpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKDIpLm9uQWNjZXB0Q29sb3Iobil9KSkoIm5ld1ZhbHVlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25BbHBoYUlucHV0KG4pfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJyZyIsMSkoInZhbHVlIixudWxsPT10LnJnYmFUZXh0P251bGw6dC5yZ2JhVGV4dC5hKX19ZnVuY3Rpb24gUTIodCxlKXsxJnQmJihDZigwLCJkaXYiKSxQdSgxLCJBIiksTWYoKSl9ZnVuY3Rpb24gJDIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDM3KSxDZigxLCJkaXYiLDMwKSxDZigyLCJpbnB1dCIsMzgpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25BY2NlcHRDb2xvcihuKX0pKSgibmV3VmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLm9uUmVkSW5wdXQobil9KSksTWYoKSxDZigzLCJpbnB1dCIsMzgpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25BY2NlcHRDb2xvcihuKX0pKSgibmV3VmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLm9uR3JlZW5JbnB1dChuKX0pKSxNZigpLENmKDQsImlucHV0IiwzOCksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25CbHVlSW5wdXQobil9KSksTWYoKSxIbSg1LEoyLDEsMiwiaW5wdXQiLDMyKSxNZigpLENmKDYsImRpdiIsMzApLENmKDcsImRpdiIpLFB1KDgsIlIiKSxNZigpLENmKDksImRpdiIpLFB1KDEwLCJHIiksTWYoKSxDZigxMSwiZGl2IiksUHUoMTIsIkIiKSxNZigpLEhtKDEzLFEyLDIsMCwiZGl2IiwzMyksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2x1KCJkaXNwbGF5IiwxIT09dC5mb3JtYXQ/Im5vbmUiOiJibG9jayIpLERjKDIpLGJmKCJyZyIsMjU1KSgidmFsdWUiLG51bGw9PXQucmdiYVRleHQ/bnVsbDp0LnJnYmFUZXh0LnIpLERjKDEpLGJmKCJyZyIsMjU1KSgidmFsdWUiLG51bGw9PXQucmdiYVRleHQ/bnVsbDp0LnJnYmFUZXh0LmcpLERjKDEpLGJmKCJyZyIsMjU1KSgidmFsdWUiLG51bGw9PXQucmdiYVRleHQ/bnVsbDp0LnJnYmFUZXh0LmIpLERjKDEpLGJmKCJuZ0lmIiwiZGlzYWJsZWQiIT09dC5jcEFscGhhQ2hhbm5lbCksRGMoOCksYmYoIm5nSWYiLCJkaXNhYmxlZCIhPT10LmNwQWxwaGFDaGFubmVsKX19ZnVuY3Rpb24gdDUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJpbnB1dCIsMzQpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKDIpLm9uQWNjZXB0Q29sb3Iobil9KSkoIm5ld1ZhbHVlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25BbHBoYUlucHV0KG4pfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJyZyIsMSkoInZhbHVlIix0LmhleEFscGhhKX19ZnVuY3Rpb24gZTUodCxlKXsxJnQmJihDZigwLCJkaXYiKSxQdSgxLCJBIiksTWYoKSl9ZnVuY3Rpb24gbjUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDM5KSxDZigxLCJkaXYiLDMwKSxDZigyLCJpbnB1dCIsNDApLFJmKCJibHVyIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uSGV4SW5wdXQobnVsbCl9KSkoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25IZXhJbnB1dChuKX0pKSxNZigpLEhtKDMsdDUsMSwyLCJpbnB1dCIsMzIpLE1mKCksQ2YoNCwiZGl2IiwzMCksQ2YoNSwiZGl2IiksUHUoNiwiSGV4IiksTWYoKSxIbSg3LGU1LDIsMCwiZGl2IiwzMyksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2x1KCJkaXNwbGF5IiwwIT09dC5mb3JtYXQ/Im5vbmUiOiJibG9jayIpLGN1KCJoZXgtYWxwaGEiLCJmb3JjZWQiPT09dC5jcEFscGhhQ2hhbm5lbCksRGMoMiksYmYoInZhbHVlIix0LmhleFRleHQpLERjKDEpLGJmKCJuZ0lmIiwiZm9yY2VkIj09PXQuY3BBbHBoYUNoYW5uZWwpLERjKDQpLGJmKCJuZ0lmIiwiZm9yY2VkIj09PXQuY3BBbHBoYUNoYW5uZWwpfX1mdW5jdGlvbiBvNSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImlucHV0IiwzNCksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25BY2NlcHRDb2xvcihuKX0pKSgibmV3VmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vbkFscGhhSW5wdXQobil9KSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoMik7YmYoInJnIiwxKSgidmFsdWUiLG51bGw9PXQuaHNsYVRleHQ/bnVsbDp0LmhzbGFUZXh0LmEpfX1mdW5jdGlvbiBpNSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsNDEpLENmKDEsImRpdiIsMzApLENmKDIsImlucHV0IiwzMSksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25WYWx1ZUlucHV0KG4pfSkpLE1mKCksSG0oMyxvNSwxLDIsImlucHV0IiwzMiksTWYoKSxDZig0LCJkaXYiLDMwKSxDZig1LCJkaXYiKSxQdSg2LCJWIiksTWYoKSxDZig3LCJkaXYiKSxQdSg4LCJBIiksTWYoKSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksYmYoInJnIiwxMDApKCJ2YWx1ZSIsbnVsbD09dC5oc2xhVGV4dD9udWxsOnQuaHNsYVRleHQubCksRGMoMSksYmYoIm5nSWYiLCJkaXNhYmxlZCIhPT10LmNwQWxwaGFDaGFubmVsKX19ZnVuY3Rpb24gYTUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDQyKSxDZigxLCJzcGFuIiw0MyksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uRm9ybWF0VG9nZ2xlKC0xKX0pKSxNZigpLENmKDIsInNwYW4iLDQzKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkub25Gb3JtYXRUb2dnbGUoMSl9KSksTWYoKSxNZigpfX1mdW5jdGlvbiByNSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsInNwYW4iLDUwKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoKS4kaW1wbGljaXQ7cmV0dXJuIHpmKDMpLm9uUmVtb3ZlUHJlc2V0Q29sb3IobixvKX0pKSxNZigpfWlmKDImdCl7bXUoemYoNCkuY3BSZW1vdmVDb2xvckJ1dHRvbkNsYXNzKX19ZnVuY3Rpb24gczUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDQ4KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7Y29uc3Qgbj1QaSh0KS4kaW1wbGljaXQ7cmV0dXJuIHpmKDMpLnNldENvbG9yRnJvbVN0cmluZyhuKX0pKSxIbSgxLHI1LDEsMywic3BhbiIsNDkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoMyk7bHUoImJhY2tncm91bmQtY29sb3IiLHQpLERjKDEpLGJmKCJuZ0lmIixuLmNwQWRkQ29sb3JCdXR0b24pfX1mdW5jdGlvbiBsNSh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIpLEhtKDEsczUsMiwzLCJkaXYiLDQ3KSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7bXUodC5jcFByZXNldENvbG9yc0NsYXNzKSxEYygxKSxiZigibmdGb3JPZiIsdC5jcFByZXNldENvbG9ycyl9fWZ1bmN0aW9uIGM1KHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO211KHQuY3BQcmVzZXRFbXB0eU1lc3NhZ2VDbGFzcyksRGMoMSksd3UodC5jcFByZXNldEVtcHR5TWVzc2FnZSl9fWZ1bmN0aW9uIGQ1KHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw0NCksdmYoMSwiaHIiKSxDZigyLCJkaXYiLDQ1KSxQdSgzKSxNZigpLEhtKDQsbDUsMiw0LCJkaXYiLDQ2KSxIbSg1LGM1LDIsNCwiZGl2Iiw0NiksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMyksd3UodC5jcFByZXNldExhYmVsKSxEYygxKSxiZigibmdJZiIsbnVsbD09dC5jcFByZXNldENvbG9ycz9udWxsOnQuY3BQcmVzZXRDb2xvcnMubGVuZ3RoKSxEYygxKSxiZigibmdJZiIsIShudWxsIT10LmNwUHJlc2V0Q29sb3JzJiZ0LmNwUHJlc2V0Q29sb3JzLmxlbmd0aCkmJnQuY3BBZGRDb2xvckJ1dHRvbil9fWZ1bmN0aW9uIHA1KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiYnV0dG9uIiw1MyksUmYoImNsaWNrIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25DYW5jZWxDb2xvcihuKX0pKSxQdSgxKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigyKTttdSh0LmNwQ2FuY2VsQnV0dG9uQ2xhc3MpLERjKDEpLHd1KHQuY3BDYW5jZWxCdXR0b25UZXh0KX19ZnVuY3Rpb24gbTUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDUzKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vbkFjY2VwdENvbG9yKG4pfSkpLFB1KDEpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO211KHQuY3BPS0J1dHRvbkNsYXNzKSxEYygxKSx3dSh0LmNwT0tCdXR0b25UZXh0KX19ZnVuY3Rpb24gZjUodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDUxKSxIbSgxLHA1LDIsNCwiYnV0dG9uIiw1MiksSG0oMixtNSwyLDQsImJ1dHRvbiIsNTIpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGJmKCJuZ0lmIix0LmNwQ2FuY2VsQnV0dG9uKSxEYygxKSxiZigibmdJZiIsdC5jcE9LQnV0dG9uKX19dmFyIHU1OyEoZnVuY3Rpb24odCl7dFt0LkhFWD0wXT0iSEVYIix0W3QuUkdCQT0xXT0iUkdCQSIsdFt0LkhTTEE9Ml09IkhTTEEiLHRbdC5DTVlLPTNdPSJDTVlLIn0pKHU1fHwodTU9e30pKTtjbGFzcyBnNXtjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLnI9dCx0aGlzLmc9ZSx0aGlzLmI9bix0aGlzLmE9b319Y2xhc3MgaDV7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5oPXQsdGhpcy5zPWUsdGhpcy52PW4sdGhpcy5hPW99fWNsYXNzIGI1e2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuaD10LHRoaXMucz1lLHRoaXMubD1uLHRoaXMuYT1vfX1jbGFzcyB5NXtjb25zdHJ1Y3Rvcih0LGUsbixvLGk9MSl7dGhpcy5jPXQsdGhpcy5tPWUsdGhpcy55PW4sdGhpcy5rPW8sdGhpcy5hPWl9fWNsYXNzIF81e2NvbnN0cnVjdG9yKCl7dGhpcy5uZXdWYWx1ZT1uZXcgU3l9aW5wdXRDaGFuZ2UodCl7Y29uc3QgZT10LnRhcmdldC52YWx1ZTtpZih2b2lkIDA9PT10aGlzLnJnKXRoaXMubmV3VmFsdWUuZW1pdChlKTtlbHNle2NvbnN0IHQ9cGFyc2VGbG9hdChlKTt0aGlzLm5ld1ZhbHVlLmVtaXQoe3Y6dCxyZzp0aGlzLnJnfSl9fX1fNS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8XzUpfSxfNS7JtWRpcj1obyh7dHlwZTpfNSxzZWxlY3RvcnM6W1siIiwidGV4dCIsIiJdXSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5pbnB1dENoYW5nZShlKX0pKX0saW5wdXRzOntyZzoicmciLHRleHQ6InRleHQifSxvdXRwdXRzOntuZXdWYWx1ZToibmV3VmFsdWUifX0pLF81LnByb3BEZWNvcmF0b3JzPXtyZzpbe3R5cGU6Ul99XSx0ZXh0Olt7dHlwZTpSX31dLG5ld1ZhbHVlOlt7dHlwZTpFX31dLGlucHV0Q2hhbmdlOlt7dHlwZTpUXyxhcmdzOlsiaW5wdXQiLFsiJGV2ZW50Il1dfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoXzUsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW3RleHRdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSx7bmV3VmFsdWU6W3t0eXBlOkVffV0saW5wdXRDaGFuZ2U6W3t0eXBlOlRfLGFyZ3M6WyJpbnB1dCIsWyIkZXZlbnQiXV19XSxyZzpbe3R5cGU6Ul99XSx0ZXh0Olt7dHlwZTpSX31dfSk7Y2xhc3MgQzV7Y29uc3RydWN0b3IodCl7dGhpcy5lbFJlZj10LHRoaXMuZHJhZ0VuZD1uZXcgU3ksdGhpcy5kcmFnU3RhcnQ9bmV3IFN5LHRoaXMubmV3VmFsdWU9bmV3IFN5LHRoaXMubGlzdGVuZXJNb3ZlPXQ9PnRoaXMubW92ZSh0KSx0aGlzLmxpc3RlbmVyU3RvcD0oKT0+dGhpcy5zdG9wKCl9bW91c2VEb3duKHQpe3RoaXMuc3RhcnQodCl9dG91Y2hTdGFydCh0KXt0aGlzLnN0YXJ0KHQpfW1vdmUodCl7dC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2V0Q3Vyc29yKHQpfXN0YXJ0KHQpe3RoaXMuc2V0Q3Vyc29yKHQpLHQuc3RvcFByb3BhZ2F0aW9uKCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5saXN0ZW5lclN0b3ApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLmxpc3RlbmVyU3RvcCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmxpc3RlbmVyTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0aGlzLmxpc3RlbmVyTW92ZSksdGhpcy5kcmFnU3RhcnQuZW1pdCgpfXN0b3AoKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmxpc3RlbmVyU3RvcCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMubGlzdGVuZXJTdG9wKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMubGlzdGVuZXJNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMubGlzdGVuZXJNb3ZlKSx0aGlzLmRyYWdFbmQuZW1pdCgpfWdldFgodCl7Y29uc3QgZT10aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuKHZvaWQgMCE9PXQucGFnZVg/dC5wYWdlWDp0LnRvdWNoZXNbMF0ucGFnZVgpLWUubGVmdC13aW5kb3cucGFnZVhPZmZzZXR9Z2V0WSh0KXtjb25zdCBlPXRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4odm9pZCAwIT09dC5wYWdlWT90LnBhZ2VZOnQudG91Y2hlc1swXS5wYWdlWSktZS50b3Atd2luZG93LnBhZ2VZT2Zmc2V0fXNldEN1cnNvcih0KXtjb25zdCBlPXRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCxuPXRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQsbz1NYXRoLm1heCgwLE1hdGgubWluKHRoaXMuZ2V0WCh0KSxlKSksaT1NYXRoLm1heCgwLE1hdGgubWluKHRoaXMuZ2V0WSh0KSxuKSk7dm9pZCAwIT09dGhpcy5yZ1gmJnZvaWQgMCE9PXRoaXMucmdZP3RoaXMubmV3VmFsdWUuZW1pdCh7czpvL2UsdjoxLWkvbixyZ1g6dGhpcy5yZ1gscmdZOnRoaXMucmdZfSk6dm9pZCAwPT09dGhpcy5yZ1gmJnZvaWQgMCE9PXRoaXMucmdZP3RoaXMubmV3VmFsdWUuZW1pdCh7djppL24scmdZOnRoaXMucmdZfSk6dm9pZCAwIT09dGhpcy5yZ1gmJnZvaWQgMD09PXRoaXMucmdZJiZ0aGlzLm5ld1ZhbHVlLmVtaXQoe3Y6by9lLHJnWDp0aGlzLnJnWH0pfX1DNS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QzUpKGdmKEtoKSl9LEM1Lsm1ZGlyPWhvKHt0eXBlOkM1LHNlbGVjdG9yczpbWyIiLCJzbGlkZXIiLCIiXV0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJtb3VzZWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm1vdXNlRG93bihlKX0pKSgidG91Y2hzdGFydCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4udG91Y2hTdGFydChlKX0pKX0saW5wdXRzOntyZ1g6InJnWCIscmdZOiJyZ1kiLHNsaWRlcjoic2xpZGVyIn0sb3V0cHV0czp7ZHJhZ0VuZDoiZHJhZ0VuZCIsZHJhZ1N0YXJ0OiJkcmFnU3RhcnQiLG5ld1ZhbHVlOiJuZXdWYWx1ZSJ9fSksQzUuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH1dLEM1LnByb3BEZWNvcmF0b3JzPXtyZ1g6W3t0eXBlOlJffV0scmdZOlt7dHlwZTpSX31dLHNsaWRlcjpbe3R5cGU6Ul99XSxkcmFnRW5kOlt7dHlwZTpFX31dLGRyYWdTdGFydDpbe3R5cGU6RV99XSxuZXdWYWx1ZTpbe3R5cGU6RV99XSxtb3VzZURvd246W3t0eXBlOlRfLGFyZ3M6WyJtb3VzZWRvd24iLFsiJGV2ZW50Il1dfV0sdG91Y2hTdGFydDpbe3R5cGU6VF8sYXJnczpbInRvdWNoc3RhcnQiLFsiJGV2ZW50Il1dfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQzUsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW3NsaWRlcl0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9XX0pLHtkcmFnRW5kOlt7dHlwZTpFX31dLGRyYWdTdGFydDpbe3R5cGU6RV99XSxuZXdWYWx1ZTpbe3R5cGU6RV99XSxtb3VzZURvd246W3t0eXBlOlRfLGFyZ3M6WyJtb3VzZWRvd24iLFsiJGV2ZW50Il1dfV0sdG91Y2hTdGFydDpbe3R5cGU6VF8sYXJnczpbInRvdWNoc3RhcnQiLFsiJGV2ZW50Il1dfV0scmdYOlt7dHlwZTpSX31dLHJnWTpbe3R5cGU6Ul99XSxzbGlkZXI6W3t0eXBlOlJffV19KTtjbGFzcyBNNXtjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLmg9dCx0aGlzLnM9ZSx0aGlzLnY9bix0aGlzLmE9b319Y2xhc3MgdjV7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5oPXQsdGhpcy5zPWUsdGhpcy52PW4sdGhpcy5hPW99fWNsYXNzIHg1e2NvbnN0cnVjdG9yKCl7dGhpcy5hY3RpdmU9bnVsbH1zZXRBY3RpdmUodCl7dGhpcy5hY3RpdmUmJnRoaXMuYWN0aXZlIT09dCYmImlubGluZSIhPT10aGlzLmFjdGl2ZS5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMuYWN0aXZlLmNsb3NlRGlhbG9nKCksdGhpcy5hY3RpdmU9dH1oc3ZhMmhzbGEodCl7Y29uc3QgZT10Lmgsbj10LnMsbz10LnYsaT10LmE7aWYoMD09PW8pcmV0dXJuIG5ldyBiNShlLDAsMCxpKTtpZigwPT09biYmMT09PW8pcmV0dXJuIG5ldyBiNShlLDEsMSxpKTt7Y29uc3QgdD1vKigyLW4pLzI7cmV0dXJuIG5ldyBiNShlLG8qbi8oMS1NYXRoLmFicygyKnQtMSkpLHQsaSl9fWhzbGEyaHN2YSh0KXtjb25zdCBlPU1hdGgubWluKHQuaCwxKSxuPU1hdGgubWluKHQucywxKSxvPU1hdGgubWluKHQubCwxKSxpPU1hdGgubWluKHQuYSwxKTtpZigwPT09bylyZXR1cm4gbmV3IGg1KGUsMCwwLGkpO3tjb25zdCB0PW8rbiooMS1NYXRoLmFicygyKm8tMSkpLzI7cmV0dXJuIG5ldyBoNShlLDIqKHQtbykvdCx0LGkpfX1oc3ZhVG9SZ2JhKHQpe2xldCBlLG4sbztjb25zdCBpPXQuaCxhPXQucyxyPXQudixzPXQuYSxsPU1hdGguZmxvb3IoNippKSxjPTYqaS1sLGQ9ciooMS1hKSxwPXIqKDEtYyphKSxtPXIqKDEtKDEtYykqYSk7c3dpdGNoKGwlNil7Y2FzZSAwOmU9cixuPW0sbz1kO2JyZWFrO2Nhc2UgMTplPXAsbj1yLG89ZDticmVhaztjYXNlIDI6ZT1kLG49cixvPW07YnJlYWs7Y2FzZSAzOmU9ZCxuPXAsbz1yO2JyZWFrO2Nhc2UgNDplPW0sbj1kLG89cjticmVhaztjYXNlIDU6ZT1yLG49ZCxvPXA7YnJlYWs7ZGVmYXVsdDplPTAsbj0wLG89MH1yZXR1cm4gbmV3IGc1KGUsbixvLHMpfWNteWtUb1JnYih0KXtyZXR1cm4gbmV3IGc1KCgxLXQuYykqKDEtdC5rKSwoMS10Lm0pKigxLXQuayksKDEtdC55KSooMS10LmspLHQuYSl9cmdiYVRvQ215ayh0KXtjb25zdCBlPTEtTWF0aC5tYXgodC5yLHQuZyx0LmIpO2lmKDE9PT1lKXJldHVybiBuZXcgeTUoMCwwLDAsMSx0LmEpO3JldHVybiBuZXcgeTUoKDEtdC5yLWUpLygxLWUpLCgxLXQuZy1lKS8oMS1lKSwoMS10LmItZSkvKDEtZSksZSx0LmEpfXJnYmFUb0hzdmEodCl7bGV0IGUsbjtjb25zdCBvPU1hdGgubWluKHQuciwxKSxpPU1hdGgubWluKHQuZywxKSxhPU1hdGgubWluKHQuYiwxKSxyPU1hdGgubWluKHQuYSwxKSxzPU1hdGgubWF4KG8saSxhKSxsPU1hdGgubWluKG8saSxhKSxjPXMsZD1zLWw7aWYobj0wPT09cz8wOmQvcyxzPT09bCllPTA7ZWxzZXtzd2l0Y2gocyl7Y2FzZSBvOmU9KGktYSkvZCsoaTxhPzY6MCk7YnJlYWs7Y2FzZSBpOmU9KGEtbykvZCsyO2JyZWFrO2Nhc2UgYTplPShvLWkpL2QrNDticmVhaztkZWZhdWx0OmU9MH1lLz02fXJldHVybiBuZXcgaDUoZSxuLGMscil9cmdiYVRvSGV4KHQsZSl7bGV0IG49IiMiKygxPDwyNHx0LnI8PDE2fHQuZzw8OHx0LmIpLnRvU3RyaW5nKDE2KS5zdWJzdHIoMSk7cmV0dXJuIGUmJihuKz0oMjU2fE1hdGgucm91bmQoMjU1KnQuYSkpLnRvU3RyaW5nKDE2KS5zdWJzdHIoMSkpLG59bm9ybWFsaXplQ01ZSyh0KXtyZXR1cm4gbmV3IHk1KHQuYy8xMDAsdC5tLzEwMCx0LnkvMTAwLHQuay8xMDAsdC5hKX1kZW5vcm1hbGl6ZUNNWUsodCl7cmV0dXJuIG5ldyB5NShNYXRoLmZsb29yKDEwMCp0LmMpLE1hdGguZmxvb3IoMTAwKnQubSksTWF0aC5mbG9vcigxMDAqdC55KSxNYXRoLmZsb29yKDEwMCp0LmspLHQuYSl9ZGVub3JtYWxpemVSR0JBKHQpe3JldHVybiBuZXcgZzUoTWF0aC5yb3VuZCgyNTUqdC5yKSxNYXRoLnJvdW5kKDI1NSp0LmcpLE1hdGgucm91bmQoMjU1KnQuYiksdC5hKX1zdHJpbmdUb0hzdmEodD0iIixlPSExKXtsZXQgbj1udWxsO3Q9KHR8fCIiKS50b0xvd2VyQ2FzZSgpO2NvbnN0IG89W3tyZTovKHJnYilhP1woXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KVxzKiU/LFxzKihcZHsxLDN9KVxzKiU/KD86LFxzKihcZCsoPzpcLlxkKyk/KVxzKik/XCkvLHBhcnNlOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgZzUocGFyc2VJbnQodFsyXSwxMCkvMjU1LHBhcnNlSW50KHRbM10sMTApLzI1NSxwYXJzZUludCh0WzRdLDEwKS8yNTUsaXNOYU4ocGFyc2VGbG9hdCh0WzVdKSk/MTpwYXJzZUZsb2F0KHRbNV0pKX19LHtyZTovKGhzbClhP1woXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KSVccyosXHMqKFxkezEsM30pJVxzKig/OixccyooXGQrKD86XC5cZCspPylccyopP1wpLyxwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGI1KHBhcnNlSW50KHRbMl0sMTApLzM2MCxwYXJzZUludCh0WzNdLDEwKS8xMDAscGFyc2VJbnQodFs0XSwxMCkvMTAwLGlzTmFOKHBhcnNlRmxvYXQodFs1XSkpPzE6cGFyc2VGbG9hdCh0WzVdKSl9fV07by5wdXNoKGU/e3JlOi8jKFthLWZBLUYwLTldezJ9KShbYS1mQS1GMC05XXsyfSkoW2EtZkEtRjAtOV17Mn0pKFthLWZBLUYwLTldezJ9KT8kLyxwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGc1KHBhcnNlSW50KHRbMV0sMTYpLzI1NSxwYXJzZUludCh0WzJdLDE2KS8yNTUscGFyc2VJbnQodFszXSwxNikvMjU1LHBhcnNlSW50KHRbNF18fCJGRiIsMTYpLzI1NSl9fTp7cmU6LyMoW2EtZkEtRjAtOV17Mn0pKFthLWZBLUYwLTldezJ9KShbYS1mQS1GMC05XXsyfSkkLyxwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGc1KHBhcnNlSW50KHRbMV0sMTYpLzI1NSxwYXJzZUludCh0WzJdLDE2KS8yNTUscGFyc2VJbnQodFszXSwxNikvMjU1LDEpfX0pLG8ucHVzaCh7cmU6LyMoW2EtZkEtRjAtOV0pKFthLWZBLUYwLTldKShbYS1mQS1GMC05XSkkLyxwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGc1KHBhcnNlSW50KHRbMV0rdFsxXSwxNikvMjU1LHBhcnNlSW50KHRbMl0rdFsyXSwxNikvMjU1LHBhcnNlSW50KHRbM10rdFszXSwxNikvMjU1LDEpfX0pO2Zvcihjb25zdCBlIGluIG8paWYoby5oYXNPd25Qcm9wZXJ0eShlKSl7Y29uc3QgaT1vW2VdLGE9aS5yZS5leGVjKHQpLHI9YSYmaS5wYXJzZShhKTtpZihyKXJldHVybiByIGluc3RhbmNlb2YgZzU/bj10aGlzLnJnYmFUb0hzdmEocik6ciBpbnN0YW5jZW9mIGI1JiYobj10aGlzLmhzbGEyaHN2YShyKSksbn1yZXR1cm4gbn1vdXRwdXRGb3JtYXQodCxlLG4pe3N3aXRjaCgiYXV0byI9PT1lJiYoZT10LmE8MT8icmdiYSI6ImhleCIpLGUpe2Nhc2UiaHNsYSI6Y29uc3QgZT10aGlzLmhzdmEyaHNsYSh0KSxvPW5ldyBiNShNYXRoLnJvdW5kKDM2MCplLmgpLE1hdGgucm91bmQoMTAwKmUucyksTWF0aC5yb3VuZCgxMDAqZS5sKSxNYXRoLnJvdW5kKDEwMCplLmEpLzEwMCk7cmV0dXJuIHQuYTwxfHwiYWx3YXlzIj09PW4/ImhzbGEoIitvLmgrIiwiK28ucysiJSwiK28ubCsiJSwiK28uYSsiKSI6ImhzbCgiK28uaCsiLCIrby5zKyIlLCIrby5sKyIlKSI7Y2FzZSJyZ2JhIjpjb25zdCBpPXRoaXMuZGVub3JtYWxpemVSR0JBKHRoaXMuaHN2YVRvUmdiYSh0KSk7cmV0dXJuIHQuYTwxfHwiYWx3YXlzIj09PW4/InJnYmEoIitpLnIrIiwiK2kuZysiLCIraS5iKyIsIitNYXRoLnJvdW5kKDEwMCppLmEpLzEwMCsiKSI6InJnYigiK2kucisiLCIraS5nKyIsIitpLmIrIikiO2RlZmF1bHQ6Y29uc3QgYT0iYWx3YXlzIj09PW58fCJmb3JjZWQiPT09bjtyZXR1cm4gdGhpcy5yZ2JhVG9IZXgodGhpcy5kZW5vcm1hbGl6ZVJHQkEodGhpcy5oc3ZhVG9SZ2JhKHQpKSxhKX19fXg1Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4NSl9LHg1Lsm1cHJvdj1Tbih7dG9rZW46eDUsZmFjdG9yeTp4NS7JtWZhY30pLHg1LmN0b3JQYXJhbWV0ZXJzPSgpPT5bXSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHg1LFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVybltdfSksbnVsbCk7Y2xhc3MgTzV7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuZWxSZWY9dCx0aGlzLmNkUmVmPWUsdGhpcy5zZXJ2aWNlPW4sdGhpcy5pc0lFMTA9ITEsdGhpcy5kaWFsb2dBcnJvd1NpemU9MTAsdGhpcy5kaWFsb2dBcnJvd09mZnNldD0xNSx0aGlzLmRpYWxvZ0lucHV0RmllbGRzPVt1NS5IRVgsdTUuUkdCQSx1NS5IU0xBLHU1LkNNWUtdLHRoaXMudXNlUm9vdFZpZXdDb250YWluZXI9ITF9aGFuZGxlRXNjKHQpe3RoaXMuc2hvdyYmInBvcHVwIj09PXRoaXMuY3BEaWFsb2dEaXNwbGF5JiZ0aGlzLm9uQ2FuY2VsQ29sb3IodCl9aGFuZGxlRW50ZXIodCl7dGhpcy5zaG93JiYicG9wdXAiPT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMub25BY2NlcHRDb2xvcih0KX1uZ09uSW5pdCgpe3RoaXMuc2xpZGVyPW5ldyBNNSgwLDAsMCwwKTt0aGlzLnNsaWRlckRpbU1heD1uZXcgdjUodGhpcy5odWVTbGlkZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aHx8MTQwLHRoaXMuY3BXaWR0aCwxMzAsdGhpcy5hbHBoYVNsaWRlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRofHwxNDApLHRoaXMuZm9ybWF0PXRoaXMuY3BDbXlrRW5hYmxlZD91NS5DTVlLOiJyZ2JhIj09PXRoaXMuY3BPdXRwdXRGb3JtYXQ/dTUuUkdCQToiaHNsYSI9PT10aGlzLmNwT3V0cHV0Rm9ybWF0P3U1LkhTTEE6dTUuSEVYLHRoaXMubGlzdGVuZXJNb3VzZURvd249dD0+e3RoaXMub25Nb3VzZURvd24odCl9LHRoaXMubGlzdGVuZXJSZXNpemU9KCk9Pnt0aGlzLm9uUmVzaXplKCl9LHRoaXMub3BlbkRpYWxvZyh0aGlzLmluaXRpYWxDb2xvciwhMSl9bmdPbkRlc3Ryb3koKXt0aGlzLmNsb3NlRGlhbG9nKCl9bmdBZnRlclZpZXdJbml0KCl7aWYoMjMwIT09dGhpcy5jcFdpZHRofHwiaW5saW5lIj09PXRoaXMuY3BEaWFsb2dEaXNwbGF5KXt0aGlzLnNsaWRlckRpbU1heD1uZXcgdjUodGhpcy5odWVTbGlkZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aHx8MTQwLHRoaXMuY3BXaWR0aCwxMzAsdGhpcy5hbHBoYVNsaWRlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRofHwxNDApLHRoaXMudXBkYXRlQ29sb3JQaWNrZXIoITEpLHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpfX1vcGVuRGlhbG9nKHQsZT0hMCl7dGhpcy5zZXJ2aWNlLnNldEFjdGl2ZSh0aGlzKSx0aGlzLndpZHRofHwodGhpcy5jcFdpZHRoPXRoaXMuZGlyZWN0aXZlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSx0aGlzLmhlaWdodHx8KHRoaXMuaGVpZ2h0PTMyMCksdGhpcy5zZXRJbml0aWFsQ29sb3IodCksdGhpcy5zZXRDb2xvckZyb21TdHJpbmcodCxlKSx0aGlzLm9wZW5Db2xvclBpY2tlcigpfWNsb3NlRGlhbG9nKCl7dGhpcy5jbG9zZUNvbG9yUGlja2VyKCl9c2V0dXBEaWFsb2codCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoLGIseSxfLEMsTSx2LHgsTyxQLHcsayxTLEQsUixFLEEsVCxOLHope3RoaXMuc2V0SW5pdGlhbENvbG9yKG4pLHRoaXMuc2V0Q29sb3JNb2RlKHMpLHRoaXMuaXNJRTEwPTEwPT09KGZ1bmN0aW9uIEkoKXtsZXQgdD0iIjsidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmKHQ9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTtjb25zdCBlPXQuaW5kZXhPZigibXNpZSAiKTtyZXR1cm4gZT4wJiZwYXJzZUludCh0LnN1YnN0cmluZyhlKzUsdC5pbmRleE9mKCIuIixlKSksMTApfSkoKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlPXQsdGhpcy5kaXJlY3RpdmVFbGVtZW50UmVmPWUsdGhpcy5jcERpc2FibGVJbnB1dD1wLHRoaXMuY3BDbXlrRW5hYmxlZD1sLHRoaXMuY3BBbHBoYUNoYW5uZWw9Yyx0aGlzLmNwT3V0cHV0Rm9ybWF0PWQsdGhpcy5jcERpYWxvZ0Rpc3BsYXk9YSx0aGlzLmNwSWdub3JlZEVsZW1lbnRzPW0sdGhpcy5jcFNhdmVDbGlja091dHNpZGU9Zix0aGlzLmNwQ2xvc2VDbGlja091dHNpZGU9dSx0aGlzLnVzZVJvb3RWaWV3Q29udGFpbmVyPWcsdGhpcy53aWR0aD10aGlzLmNwV2lkdGg9cGFyc2VJbnQobywxMCksdGhpcy5oZWlnaHQ9dGhpcy5jcEhlaWdodD1wYXJzZUludChpLDEwKSx0aGlzLmNwUG9zaXRpb249aCx0aGlzLmNwUG9zaXRpb25PZmZzZXQ9cGFyc2VJbnQoYiwxMCksdGhpcy5jcE9LQnV0dG9uPVAsdGhpcy5jcE9LQnV0dG9uVGV4dD1rLHRoaXMuY3BPS0J1dHRvbkNsYXNzPXcsdGhpcy5jcENhbmNlbEJ1dHRvbj1TLHRoaXMuY3BDYW5jZWxCdXR0b25UZXh0PVIsdGhpcy5jcENhbmNlbEJ1dHRvbkNsYXNzPUQsdGhpcy5mYWxsYmFja0NvbG9yPXJ8fCIjZmZmIix0aGlzLnNldFByZXNldENvbmZpZyhfLEMpLHRoaXMuY3BQcmVzZXRDb2xvcnNDbGFzcz1NLHRoaXMuY3BNYXhQcmVzZXRDb2xvcnNMZW5ndGg9dix0aGlzLmNwUHJlc2V0RW1wdHlNZXNzYWdlPXgsdGhpcy5jcFByZXNldEVtcHR5TWVzc2FnZUNsYXNzPU8sdGhpcy5jcEFkZENvbG9yQnV0dG9uPUUsdGhpcy5jcEFkZENvbG9yQnV0dG9uVGV4dD1ULHRoaXMuY3BBZGRDb2xvckJ1dHRvbkNsYXNzPUEsdGhpcy5jcFJlbW92ZUNvbG9yQnV0dG9uQ2xhc3M9Tix0aGlzLmNwVHJpZ2dlckVsZW1lbnQ9eix5fHwodGhpcy5kaWFsb2dBcnJvd09mZnNldD0wKSwiaW5saW5lIj09PWEmJih0aGlzLmRpYWxvZ0Fycm93U2l6ZT0wLHRoaXMuZGlhbG9nQXJyb3dPZmZzZXQ9MCksImhleCI9PT1kJiYiYWx3YXlzIiE9PWMmJiJmb3JjZWQiIT09YyYmKHRoaXMuY3BBbHBoYUNoYW5uZWw9ImRpc2FibGVkIil9c2V0Q29sb3JNb2RlKHQpe3N3aXRjaCh0LnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKSl7Y2FzZSIxIjpjYXNlIkMiOmNhc2UiQ09MT1IiOnRoaXMuY3BDb2xvck1vZGU9MTticmVhaztjYXNlIjIiOmNhc2UiRyI6Y2FzZSJHUkFZU0NBTEUiOnRoaXMuY3BDb2xvck1vZGU9MjticmVhaztjYXNlIjMiOmNhc2UiUCI6Y2FzZSJQUkVTRVRTIjp0aGlzLmNwQ29sb3JNb2RlPTM7YnJlYWs7ZGVmYXVsdDp0aGlzLmNwQ29sb3JNb2RlPTF9fXNldEluaXRpYWxDb2xvcih0KXt0aGlzLmluaXRpYWxDb2xvcj10fXNldFByZXNldENvbmZpZyh0LGUpe3RoaXMuY3BQcmVzZXRMYWJlbD10LHRoaXMuY3BQcmVzZXRDb2xvcnM9ZX1zZXRDb2xvckZyb21TdHJpbmcodCxlPSEwLG49ITApe2xldCBvOyJhbHdheXMiPT09dGhpcy5jcEFscGhhQ2hhbm5lbHx8ImZvcmNlZCI9PT10aGlzLmNwQWxwaGFDaGFubmVsPyhvPXRoaXMuc2VydmljZS5zdHJpbmdUb0hzdmEodCwhMCksb3x8dGhpcy5oc3ZhfHwobz10aGlzLnNlcnZpY2Uuc3RyaW5nVG9Ic3ZhKHQsITEpKSk6bz10aGlzLnNlcnZpY2Uuc3RyaW5nVG9Ic3ZhKHQsITEpLG98fHRoaXMuaHN2YXx8KG89dGhpcy5zZXJ2aWNlLnN0cmluZ1RvSHN2YSh0aGlzLmZhbGxiYWNrQ29sb3IsITEpKSxvJiYodGhpcy5oc3ZhPW8sdGhpcy5zbGlkZXJIPXRoaXMuaHN2YS5oLCJoZXgiPT09dGhpcy5jcE91dHB1dEZvcm1hdCYmImRpc2FibGVkIj09PXRoaXMuY3BBbHBoYUNoYW5uZWwmJih0aGlzLmhzdmEuYT0xKSx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKGUsbikpfW9uUmVzaXplKCl7ImZpeGVkIj09PXRoaXMucG9zaXRpb24/dGhpcy5zZXREaWFsb2dQb3NpdGlvbigpOiJpbmxpbmUiIT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMuY2xvc2VDb2xvclBpY2tlcigpfW9uRHJhZ0VuZCh0KXt0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLnNsaWRlckRyYWdFbmQoe3NsaWRlcjp0LGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vbkRyYWdTdGFydCh0KXt0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLnNsaWRlckRyYWdTdGFydCh7c2xpZGVyOnQsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pfW9uTW91c2VEb3duKHQpeyF0aGlzLnNob3d8fHRoaXMuaXNJRTEwfHwicG9wdXAiIT09dGhpcy5jcERpYWxvZ0Rpc3BsYXl8fHQudGFyZ2V0PT09dGhpcy5kaXJlY3RpdmVFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnR8fHRoaXMuaXNEZXNjZW5kYW50KHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCx0LnRhcmdldCl8fHRoaXMuaXNEZXNjZW5kYW50KHRoaXMuZGlyZWN0aXZlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LHQudGFyZ2V0KXx8MCE9PXRoaXMuY3BJZ25vcmVkRWxlbWVudHMuZmlsdGVyKChlPT5lPT09dC50YXJnZXQpKS5sZW5ndGh8fCh0aGlzLmNwU2F2ZUNsaWNrT3V0c2lkZT90aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmNvbG9yU2VsZWN0ZWQodGhpcy5vdXRwdXRDb2xvcik6KHRoaXMuaHN2YT1udWxsLHRoaXMuc2V0Q29sb3JGcm9tU3RyaW5nKHRoaXMuaW5pdGlhbENvbG9yLCExKSx0aGlzLmNwQ215a0VuYWJsZWQmJnRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuY215a0NoYW5nZWQodGhpcy5jbXlrQ29sb3IpLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuY29sb3JDaGFuZ2VkKHRoaXMuaW5pdGlhbENvbG9yKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmNvbG9yQ2FuY2VsZWQoKSksdGhpcy5jcENsb3NlQ2xpY2tPdXRzaWRlJiZ0aGlzLmNsb3NlQ29sb3JQaWNrZXIoKSl9b25BY2NlcHRDb2xvcih0KXt0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMub3V0cHV0Q29sb3ImJnRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuY29sb3JTZWxlY3RlZCh0aGlzLm91dHB1dENvbG9yKSwicG9wdXAiPT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMuY2xvc2VDb2xvclBpY2tlcigpfW9uQ2FuY2VsQ29sb3IodCl7dGhpcy5oc3ZhPW51bGwsdC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmNvbG9yQ2FuY2VsZWQoKSx0aGlzLnNldENvbG9yRnJvbVN0cmluZyh0aGlzLmluaXRpYWxDb2xvciwhMCksInBvcHVwIj09PXRoaXMuY3BEaWFsb2dEaXNwbGF5JiYodGhpcy5jcENteWtFbmFibGVkJiZ0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmNteWtDaGFuZ2VkKHRoaXMuY215a0NvbG9yKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmNvbG9yQ2hhbmdlZCh0aGlzLmluaXRpYWxDb2xvciwhMCksdGhpcy5jbG9zZUNvbG9yUGlja2VyKCkpfW9uRm9ybWF0VG9nZ2xlKHQpe2NvbnN0IGU9dGhpcy5kaWFsb2dJbnB1dEZpZWxkcy5sZW5ndGgtKHRoaXMuY3BDbXlrRW5hYmxlZD8wOjEpLG49KCh0aGlzLmRpYWxvZ0lucHV0RmllbGRzLmluZGV4T2YodGhpcy5mb3JtYXQpK3QpJWUrZSklZTt0aGlzLmZvcm1hdD10aGlzLmRpYWxvZ0lucHV0RmllbGRzW25dfW9uQ29sb3JDaGFuZ2UodCl7dGhpcy5oc3ZhLnM9dC5zL3QucmdYLHRoaXMuaHN2YS52PXQudi90LnJnWSx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5zbGlkZXJDaGFuZ2VkKHtzbGlkZXI6ImxpZ2h0bmVzcyIsdmFsdWU6dGhpcy5oc3ZhLnYsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2Uuc2xpZGVyQ2hhbmdlZCh7c2xpZGVyOiJzYXR1cmF0aW9uIix2YWx1ZTp0aGlzLmhzdmEucyxjb2xvcjp0aGlzLm91dHB1dENvbG9yfSl9b25IdWVDaGFuZ2UodCl7dGhpcy5oc3ZhLmg9dC52L3QucmdYLHRoaXMuc2xpZGVySD10aGlzLmhzdmEuaCx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5zbGlkZXJDaGFuZ2VkKHtzbGlkZXI6Imh1ZSIsdmFsdWU6dGhpcy5oc3ZhLmgsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pfW9uVmFsdWVDaGFuZ2UodCl7dGhpcy5oc3ZhLnY9dC52L3QucmdYLHRoaXMudXBkYXRlQ29sb3JQaWNrZXIoKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLnNsaWRlckNoYW5nZWQoe3NsaWRlcjoidmFsdWUiLHZhbHVlOnRoaXMuaHN2YS52LGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vbkFscGhhQ2hhbmdlKHQpe3RoaXMuaHN2YS5hPXQudi90LnJnWCx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5zbGlkZXJDaGFuZ2VkKHtzbGlkZXI6ImFscGhhIix2YWx1ZTp0aGlzLmhzdmEuYSxjb2xvcjp0aGlzLm91dHB1dENvbG9yfSl9b25IZXhJbnB1dCh0KXtpZihudWxsPT09dCl0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCk7ZWxzZXt0JiYiIyIhPT10WzBdJiYodD0iIyIrdCk7bGV0IGU9L14jKFthLWYwLTldezN9fFthLWYwLTldezZ9KSQvZ2k7ImFsd2F5cyI9PT10aGlzLmNwQWxwaGFDaGFubmVsJiYoZT0vXiMoW2EtZjAtOV17M318W2EtZjAtOV17Nn18W2EtZjAtOV17OH0pJC9naSk7Y29uc3Qgbj1lLnRlc3QodCk7biYmKHQubGVuZ3RoPDUmJih0PSIjIit0LnN1YnN0cmluZygxKS5zcGxpdCgiIikubWFwKCh0PT50K3QpKS5qb2luKCIiKSksImZvcmNlZCI9PT10aGlzLmNwQWxwaGFDaGFubmVsJiYodCs9TWF0aC5yb3VuZCgyNTUqdGhpcy5oc3ZhLmEpLnRvU3RyaW5nKDE2KSksdGhpcy5zZXRDb2xvckZyb21TdHJpbmcodCwhMCwhMSkpLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuaW5wdXRDaGFuZ2VkKHtpbnB1dDoiaGV4Iix2YWxpZDpuLHZhbHVlOnQsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pfX1vblJlZElucHV0KHQpe2NvbnN0IGU9dGhpcy5zZXJ2aWNlLmhzdmFUb1JnYmEodGhpcy5oc3ZhKSxuPSFpc05hTih0LnYpJiZ0LnY+PTAmJnQudjw9dC5yZztuJiYoZS5yPXQudi90LnJnLHRoaXMuaHN2YT10aGlzLnNlcnZpY2UucmdiYVRvSHN2YShlKSx0aGlzLnNsaWRlckg9dGhpcy5oc3ZhLmgsdGhpcy51cGRhdGVDb2xvclBpY2tlcigpKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmlucHV0Q2hhbmdlZCh7aW5wdXQ6InJlZCIsdmFsaWQ6bix2YWx1ZTplLnIsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pfW9uQmx1ZUlucHV0KHQpe2NvbnN0IGU9dGhpcy5zZXJ2aWNlLmhzdmFUb1JnYmEodGhpcy5oc3ZhKSxuPSFpc05hTih0LnYpJiZ0LnY+PTAmJnQudjw9dC5yZztuJiYoZS5iPXQudi90LnJnLHRoaXMuaHN2YT10aGlzLnNlcnZpY2UucmdiYVRvSHN2YShlKSx0aGlzLnNsaWRlckg9dGhpcy5oc3ZhLmgsdGhpcy51cGRhdGVDb2xvclBpY2tlcigpKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmlucHV0Q2hhbmdlZCh7aW5wdXQ6ImJsdWUiLHZhbGlkOm4sdmFsdWU6ZS5iLGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vbkdyZWVuSW5wdXQodCl7Y29uc3QgZT10aGlzLnNlcnZpY2UuaHN2YVRvUmdiYSh0aGlzLmhzdmEpLG49IWlzTmFOKHQudikmJnQudj49MCYmdC52PD10LnJnO24mJihlLmc9dC52L3QucmcsdGhpcy5oc3ZhPXRoaXMuc2VydmljZS5yZ2JhVG9Ic3ZhKGUpLHRoaXMuc2xpZGVySD10aGlzLmhzdmEuaCx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCkpLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuaW5wdXRDaGFuZ2VkKHtpbnB1dDoiZ3JlZW4iLHZhbGlkOm4sdmFsdWU6ZS5nLGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vbkh1ZUlucHV0KHQpe2NvbnN0IGU9IWlzTmFOKHQudikmJnQudj49MCYmdC52PD10LnJnO2UmJih0aGlzLmhzdmEuaD10LnYvdC5yZyx0aGlzLnNsaWRlckg9dGhpcy5oc3ZhLmgsdGhpcy51cGRhdGVDb2xvclBpY2tlcigpKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmlucHV0Q2hhbmdlZCh7aW5wdXQ6Imh1ZSIsdmFsaWQ6ZSx2YWx1ZTp0aGlzLmhzdmEuaCxjb2xvcjp0aGlzLm91dHB1dENvbG9yfSl9b25WYWx1ZUlucHV0KHQpe2NvbnN0IGU9IWlzTmFOKHQudikmJnQudj49MCYmdC52PD10LnJnO2UmJih0aGlzLmhzdmEudj10LnYvdC5yZyx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCkpLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuaW5wdXRDaGFuZ2VkKHtpbnB1dDoidmFsdWUiLHZhbGlkOmUsdmFsdWU6dGhpcy5oc3ZhLnYsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pfW9uQWxwaGFJbnB1dCh0KXtjb25zdCBlPSFpc05hTih0LnYpJiZ0LnY+PTAmJnQudjw9dC5yZztlJiYodGhpcy5oc3ZhLmE9dC52L3QucmcsdGhpcy51cGRhdGVDb2xvclBpY2tlcigpKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmlucHV0Q2hhbmdlZCh7aW5wdXQ6ImFscGhhIix2YWxpZDplLHZhbHVlOnRoaXMuaHN2YS5hLGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vbkxpZ2h0bmVzc0lucHV0KHQpe2NvbnN0IGU9dGhpcy5zZXJ2aWNlLmhzdmEyaHNsYSh0aGlzLmhzdmEpLG49IWlzTmFOKHQudikmJnQudj49MCYmdC52PD10LnJnO24mJihlLmw9dC52L3QucmcsdGhpcy5oc3ZhPXRoaXMuc2VydmljZS5oc2xhMmhzdmEoZSksdGhpcy5zbGlkZXJIPXRoaXMuaHN2YS5oLHRoaXMudXBkYXRlQ29sb3JQaWNrZXIoKSksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5pbnB1dENoYW5nZWQoe2lucHV0OiJsaWdodG5lc3MiLHZhbGlkOm4sdmFsdWU6ZS5sLGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vblNhdHVyYXRpb25JbnB1dCh0KXtjb25zdCBlPXRoaXMuc2VydmljZS5oc3ZhMmhzbGEodGhpcy5oc3ZhKSxuPSFpc05hTih0LnYpJiZ0LnY+PTAmJnQudjw9dC5yZztuJiYoZS5zPXQudi90LnJnLHRoaXMuaHN2YT10aGlzLnNlcnZpY2UuaHNsYTJoc3ZhKGUpLHRoaXMuc2xpZGVySD10aGlzLmhzdmEuaCx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCkpLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuaW5wdXRDaGFuZ2VkKHtpbnB1dDoic2F0dXJhdGlvbiIsdmFsaWQ6bix2YWx1ZTplLnMsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pfW9uQ3lhbklucHV0KHQpeyFpc05hTih0LnYpJiZ0LnY+PTAmJnQudjw9dC5yZyYmKHRoaXMuY215ay5jPXQudix0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCExLCEwLCEwKSksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5pbnB1dENoYW5nZWQoe2lucHV0OiJjeWFuIix2YWxpZDohMCx2YWx1ZTp0aGlzLmNteWsuYyxjb2xvcjp0aGlzLm91dHB1dENvbG9yfSl9b25NYWdlbnRhSW5wdXQodCl7IWlzTmFOKHQudikmJnQudj49MCYmdC52PD10LnJnJiYodGhpcy5jbXlrLm09dC52LHRoaXMudXBkYXRlQ29sb3JQaWNrZXIoITEsITAsITApKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmlucHV0Q2hhbmdlZCh7aW5wdXQ6Im1hZ2VudGEiLHZhbGlkOiEwLHZhbHVlOnRoaXMuY215ay5tLGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vblllbGxvd0lucHV0KHQpeyFpc05hTih0LnYpJiZ0LnY+PTAmJnQudjw9dC5yZyYmKHRoaXMuY215ay55PXQudix0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCExLCEwLCEwKSksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5pbnB1dENoYW5nZWQoe2lucHV0OiJ5ZWxsb3ciLHZhbGlkOiEwLHZhbHVlOnRoaXMuY215ay55LGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vbkJsYWNrSW5wdXQodCl7IWlzTmFOKHQudikmJnQudj49MCYmdC52PD10LnJnJiYodGhpcy5jbXlrLms9dC52LHRoaXMudXBkYXRlQ29sb3JQaWNrZXIoITEsITAsITApKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmlucHV0Q2hhbmdlZCh7aW5wdXQ6ImJsYWNrIix2YWxpZDohMCx2YWx1ZTp0aGlzLmNteWsuayxjb2xvcjp0aGlzLm91dHB1dENvbG9yfSl9b25BZGRQcmVzZXRDb2xvcih0LGUpe3Quc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5jcFByZXNldENvbG9ycy5maWx0ZXIoKHQ9PnQ9PT1lKSkubGVuZ3RofHwodGhpcy5jcFByZXNldENvbG9ycz10aGlzLmNwUHJlc2V0Q29sb3JzLmNvbmNhdChlKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLnByZXNldENvbG9yc0NoYW5nZWQodGhpcy5jcFByZXNldENvbG9ycykpfW9uUmVtb3ZlUHJlc2V0Q29sb3IodCxlKXt0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY3BQcmVzZXRDb2xvcnM9dGhpcy5jcFByZXNldENvbG9ycy5maWx0ZXIoKHQ9PnQhPT1lKSksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5wcmVzZXRDb2xvcnNDaGFuZ2VkKHRoaXMuY3BQcmVzZXRDb2xvcnMpfW9wZW5Db2xvclBpY2tlcigpe3RoaXMuc2hvd3x8KHRoaXMuc2hvdz0hMCx0aGlzLmhpZGRlbj0hMCxzZXRUaW1lb3V0KCgoKT0+e3RoaXMuaGlkZGVuPSExLHRoaXMuc2V0RGlhbG9nUG9zaXRpb24oKSx0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKX0pLDApLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2Uuc3RhdGVDaGFuZ2VkKCEwKSx0aGlzLmlzSUUxMHx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5saXN0ZW5lck1vdXNlRG93biksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5saXN0ZW5lck1vdXNlRG93bikpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMubGlzdGVuZXJSZXNpemUpKX1jbG9zZUNvbG9yUGlja2VyKCl7dGhpcy5zaG93JiYodGhpcy5zaG93PSExLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2Uuc3RhdGVDaGFuZ2VkKCExKSx0aGlzLmlzSUUxMHx8KGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5saXN0ZW5lck1vdXNlRG93biksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5saXN0ZW5lck1vdXNlRG93bikpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMubGlzdGVuZXJSZXNpemUpLHRoaXMuY2RSZWYuZGVzdHJveWVkfHx0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKSl9dXBkYXRlQ29sb3JQaWNrZXIodD0hMCxlPSEwLG49ITEpe2lmKHRoaXMuc2xpZGVyRGltTWF4KXtsZXQgbyxpLGE7Mj09PXRoaXMuY3BDb2xvck1vZGUmJih0aGlzLmhzdmEucz0wKTtjb25zdCByPXRoaXMub3V0cHV0Q29sb3I7aWYoaT10aGlzLnNlcnZpY2UuaHN2YTJoc2xhKHRoaXMuaHN2YSksdGhpcy5jcENteWtFbmFibGVkPyhuPyhhPXRoaXMuc2VydmljZS5jbXlrVG9SZ2IodGhpcy5zZXJ2aWNlLm5vcm1hbGl6ZUNNWUsodGhpcy5jbXlrKSksdGhpcy5oc3ZhPXRoaXMuc2VydmljZS5yZ2JhVG9Ic3ZhKGEpKTooYT10aGlzLnNlcnZpY2UuaHN2YVRvUmdiYSh0aGlzLmhzdmEpLHRoaXMuY215az10aGlzLnNlcnZpY2UuZGVub3JtYWxpemVDTVlLKHRoaXMuc2VydmljZS5yZ2JhVG9DbXlrKGEpKSksYT10aGlzLnNlcnZpY2UuZGVub3JtYWxpemVSR0JBKGEpLHRoaXMuc2xpZGVySD10aGlzLmhzdmEuaCk6YT10aGlzLnNlcnZpY2UuZGVub3JtYWxpemVSR0JBKHRoaXMuc2VydmljZS5oc3ZhVG9SZ2JhKHRoaXMuaHN2YSkpLG89dGhpcy5zZXJ2aWNlLmRlbm9ybWFsaXplUkdCQSh0aGlzLnNlcnZpY2UuaHN2YVRvUmdiYShuZXcgaDUodGhpcy5zbGlkZXJIfHx0aGlzLmhzdmEuaCwxLDEsMSkpKSxlKXt0aGlzLmhzbGFUZXh0PW5ldyBiNShNYXRoLnJvdW5kKDM2MCppLmgpLE1hdGgucm91bmQoMTAwKmkucyksTWF0aC5yb3VuZCgxMDAqaS5sKSxNYXRoLnJvdW5kKDEwMCppLmEpLzEwMCksdGhpcy5yZ2JhVGV4dD1uZXcgZzUoYS5yLGEuZyxhLmIsTWF0aC5yb3VuZCgxMDAqYS5hKS8xMDApLHRoaXMuY3BDbXlrRW5hYmxlZCYmKHRoaXMuY215a1RleHQ9bmV3IHk1KHRoaXMuY215ay5jLHRoaXMuY215ay5tLHRoaXMuY215ay55LHRoaXMuY215ay5rLE1hdGgucm91bmQoMTAwKnRoaXMuY215ay5hKS8xMDApKTt0aGlzLmhleFRleHQ9dGhpcy5zZXJ2aWNlLnJnYmFUb0hleChhLCJhbHdheXMiPT09dGhpcy5jcEFscGhhQ2hhbm5lbCksdGhpcy5oZXhBbHBoYT10aGlzLnJnYmFUZXh0LmF9aWYoImF1dG8iPT09dGhpcy5jcE91dHB1dEZvcm1hdCYmdGhpcy5mb3JtYXQhPT11NS5SR0JBJiZ0aGlzLmZvcm1hdCE9PXU1LkNNWUsmJnRoaXMuaHN2YS5hPDEmJih0aGlzLmZvcm1hdD10aGlzLmhzdmEuYTwxP3U1LlJHQkE6dTUuSEVYKSx0aGlzLmh1ZVNsaWRlckNvbG9yPSJyZ2IoIitvLnIrIiwiK28uZysiLCIrby5iKyIpIix0aGlzLmFscGhhU2xpZGVyQ29sb3I9InJnYigiK2EucisiLCIrYS5nKyIsIithLmIrIikiLHRoaXMub3V0cHV0Q29sb3I9dGhpcy5zZXJ2aWNlLm91dHB1dEZvcm1hdCh0aGlzLmhzdmEsdGhpcy5jcE91dHB1dEZvcm1hdCx0aGlzLmNwQWxwaGFDaGFubmVsKSx0aGlzLnNlbGVjdGVkQ29sb3I9dGhpcy5zZXJ2aWNlLm91dHB1dEZvcm1hdCh0aGlzLmhzdmEsInJnYmEiLG51bGwpLHRoaXMuZm9ybWF0IT09dTUuQ01ZSyl0aGlzLmNteWtDb2xvcj0iIjtlbHNlIGlmKCJhbHdheXMiPT09dGhpcy5jcEFscGhhQ2hhbm5lbHx8ImVuYWJsZWQiPT09dGhpcy5jcEFscGhhQ2hhbm5lbHx8ImZvcmNlZCI9PT10aGlzLmNwQWxwaGFDaGFubmVsKXtjb25zdCB0PU1hdGgucm91bmQoMTAwKnRoaXMuY215ay5hKS8xMDA7dGhpcy5jbXlrQ29sb3I9YGNteWthKCR7dGhpcy5jbXlrLmN9LCR7dGhpcy5jbXlrLm19LCR7dGhpcy5jbXlrLnl9LCR7dGhpcy5jbXlrLmt9LCR7dH0pYH1lbHNlIHRoaXMuY215a0NvbG9yPWBjbXlrKCR7dGhpcy5jbXlrLmN9LCR7dGhpcy5jbXlrLm19LCR7dGhpcy5jbXlrLnl9LCR7dGhpcy5jbXlrLmt9KWA7dGhpcy5zbGlkZXI9bmV3IE01KCh0aGlzLnNsaWRlckh8fHRoaXMuaHN2YS5oKSp0aGlzLnNsaWRlckRpbU1heC5oLTgsdGhpcy5oc3ZhLnMqdGhpcy5zbGlkZXJEaW1NYXgucy04LCgxLXRoaXMuaHN2YS52KSp0aGlzLnNsaWRlckRpbU1heC52LTgsdGhpcy5oc3ZhLmEqdGhpcy5zbGlkZXJEaW1NYXguYS04KSx0JiZyIT09dGhpcy5vdXRwdXRDb2xvciYmKHRoaXMuY3BDbXlrRW5hYmxlZCYmdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5jbXlrQ2hhbmdlZCh0aGlzLmNteWtDb2xvciksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5jb2xvckNoYW5nZWQodGhpcy5vdXRwdXRDb2xvcikpfX1zZXREaWFsb2dQb3NpdGlvbigpe2lmKCJpbmxpbmUiPT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkpdGhpcy5wb3NpdGlvbj0icmVsYXRpdmUiO2Vsc2V7bGV0IHQsZT0ic3RhdGljIixuPSIiLG89bnVsbCxpPW51bGwsYT10aGlzLmRpcmVjdGl2ZUVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlO2NvbnN0IHI9dGhpcy5kaWFsb2dFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O2Zvcig7bnVsbCE9PWEmJiJIVE1MIiE9PWEudGFnTmFtZTspe2lmKHQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUoYSksZT10LmdldFByb3BlcnR5VmFsdWUoInBvc2l0aW9uIiksbj10LmdldFByb3BlcnR5VmFsdWUoInRyYW5zZm9ybSIpLCJzdGF0aWMiIT09ZSYmbnVsbD09PW8mJihvPWEpLG4mJiJub25lIiE9PW4mJm51bGw9PT1pJiYoaT1hKSwiZml4ZWQiPT09ZSl7bz1pO2JyZWFrfWE9YS5wYXJlbnROb2RlfWNvbnN0IHM9dGhpcy5jcmVhdGVEaWFsb2dCb3godGhpcy5kaXJlY3RpdmVFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsImZpeGVkIiE9PWUpO2lmKHRoaXMudXNlUm9vdFZpZXdDb250YWluZXJ8fCJmaXhlZCI9PT1lJiYoIW98fG8gaW5zdGFuY2VvZiBIVE1MVW5rbm93bkVsZW1lbnQpKXRoaXMudG9wPXMudG9wLHRoaXMubGVmdD1zLmxlZnQ7ZWxzZXtudWxsPT09byYmKG89YSk7Y29uc3QgdD10aGlzLmNyZWF0ZURpYWxvZ0JveChvLCJmaXhlZCIhPT1lKTt0aGlzLnRvcD1zLnRvcC10LnRvcCx0aGlzLmxlZnQ9cy5sZWZ0LXQubGVmdH0iZml4ZWQiPT09ZSYmKHRoaXMucG9zaXRpb249ImZpeGVkIik7bGV0IGw9dGhpcy5jcFBvc2l0aW9uO2lmKCJhdXRvIj09PXRoaXMuY3BQb3NpdGlvbil7bD0oZnVuY3Rpb24gdChlLG4pe2xldCBvPSJyaWdodCIsaT0iYm90dG9tIjtjb25zdHtoZWlnaHQ6YSx3aWR0aDpyfT1lLHt0b3A6cyxsZWZ0Omx9PW4sYz1zK24uaGVpZ2h0LGQ9bCtuLndpZHRoLHA9cy1hPDAsbT1jK2E+KHdpbmRvdy5pbm5lckhlaWdodHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCksZj1sLXI8MCx1PWQrcj4od2luZG93LmlubmVyV2lkdGh8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCk7aWYobSYmKGk9InRvcCIpLHAmJihpPSJib3R0b20iKSxmJiYobz0icmlnaHQiKSx1JiYobz0ibGVmdCIpLHAmJm0mJmYmJnUpcmV0dXJuWyJsZWZ0IiwicmlnaHQiLCJ0b3AiLCJib3R0b20iXS5yZWR1Y2UoKCh0LG4pPT5lW3RdPmVbbl0/dDpuKSk7cmV0dXJuIGYmJnU/cD8iYm90dG9tIjptfHxzPmM/InRvcCI6ImJvdHRvbSI6cCYmbT9mPyJyaWdodCI6dXx8bD5kPyJsZWZ0IjoicmlnaHQiOmAke2l9LSR7b31gfSkodGhpcy5kaWFsb2dFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdGhpcy5jcFRyaWdnZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpfSJ0b3AiPT09bD8odGhpcy5hcnJvd1RvcD1yLTEsdGhpcy50b3AtPXIrdGhpcy5kaWFsb2dBcnJvd1NpemUsdGhpcy5sZWZ0Kz10aGlzLmNwUG9zaXRpb25PZmZzZXQvMTAwKnMud2lkdGgtdGhpcy5kaWFsb2dBcnJvd09mZnNldCk6ImJvdHRvbSI9PT1sPyh0aGlzLnRvcCs9cy5oZWlnaHQrdGhpcy5kaWFsb2dBcnJvd1NpemUsdGhpcy5sZWZ0Kz10aGlzLmNwUG9zaXRpb25PZmZzZXQvMTAwKnMud2lkdGgtdGhpcy5kaWFsb2dBcnJvd09mZnNldCk6InRvcC1sZWZ0Ij09PWx8fCJsZWZ0LXRvcCI9PT1sPyh0aGlzLnRvcC09ci1zLmhlaWdodCtzLmhlaWdodCp0aGlzLmNwUG9zaXRpb25PZmZzZXQvMTAwLHRoaXMubGVmdC09dGhpcy5jcFdpZHRoK3RoaXMuZGlhbG9nQXJyb3dTaXplLTItdGhpcy5kaWFsb2dBcnJvd09mZnNldCk6InRvcC1yaWdodCI9PT1sfHwicmlnaHQtdG9wIj09PWw/KHRoaXMudG9wLT1yLXMuaGVpZ2h0K3MuaGVpZ2h0KnRoaXMuY3BQb3NpdGlvbk9mZnNldC8xMDAsdGhpcy5sZWZ0Kz1zLndpZHRoK3RoaXMuZGlhbG9nQXJyb3dTaXplLTItdGhpcy5kaWFsb2dBcnJvd09mZnNldCk6ImxlZnQiPT09bHx8ImJvdHRvbS1sZWZ0Ij09PWx8fCJsZWZ0LWJvdHRvbSI9PT1sPyh0aGlzLnRvcCs9cy5oZWlnaHQqdGhpcy5jcFBvc2l0aW9uT2Zmc2V0LzEwMC10aGlzLmRpYWxvZ0Fycm93T2Zmc2V0LHRoaXMubGVmdC09dGhpcy5jcFdpZHRoK3RoaXMuZGlhbG9nQXJyb3dTaXplLTIpOih0aGlzLnRvcCs9cy5oZWlnaHQqdGhpcy5jcFBvc2l0aW9uT2Zmc2V0LzEwMC10aGlzLmRpYWxvZ0Fycm93T2Zmc2V0LHRoaXMubGVmdCs9cy53aWR0aCt0aGlzLmRpYWxvZ0Fycm93U2l6ZS0yKSx0aGlzLmNwVXNlUG9zaXRpb249bH19aXNEZXNjZW5kYW50KHQsZSl7bGV0IG49ZS5wYXJlbnROb2RlO2Zvcig7bnVsbCE9PW47KXtpZihuPT09dClyZXR1cm4hMDtuPW4ucGFyZW50Tm9kZX1yZXR1cm4hMX1jcmVhdGVEaWFsb2dCb3godCxlKXtyZXR1cm57dG9wOnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wKyhlP3dpbmRvdy5wYWdlWU9mZnNldDowKSxsZWZ0OnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCsoZT93aW5kb3cucGFnZVhPZmZzZXQ6MCksd2lkdGg6dC5vZmZzZXRXaWR0aCxoZWlnaHQ6dC5vZmZzZXRIZWlnaHR9fX1PNS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TzUpKGdmKEtoKSxnZihPYiksZ2YoeDUpKX0sTzUuybVjbXA9c28oe3R5cGU6TzUsc2VsZWN0b3JzOltbImNvbG9yLXBpY2tlciJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKFZ5KEYyLDcpLFZ5KEwyLDcpLFZ5KEIyLDcpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLmRpYWxvZ0VsZW1lbnQ9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uaHVlU2xpZGVyPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLmFscGhhU2xpZGVyPXQuZmlyc3QpfX0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJrZXl1cC5lc2MiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmhhbmRsZUVzYyhlKX0pLCExLFBsKSgia2V5dXAuZW50ZXIiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmhhbmRsZUVudGVyKGUpfSksITEsUGwpfSxkZWNsczoyOCx2YXJzOjQ3LGNvbnN0czpbWzEsImNvbG9yLXBpY2tlciIsMywiY2xpY2siXSxbImRpYWxvZ1BvcHVwIiwiIl0sWzMsImNsYXNzIiwidG9wIiw0LCJuZ0lmIl0sWyJjbGFzcyIsInNhdHVyYXRpb24tbGlnaHRuZXNzIiwzLCJzbGlkZXIiLCJyZ1giLCJyZ1kiLCJiYWNrZ3JvdW5kLWNvbG9yIiwibmV3VmFsdWUiLCJkcmFnU3RhcnQiLCJkcmFnRW5kIiw0LCJuZ0lmIl0sWzEsImh1ZS1hbHBoYSIsImJveCJdLFsxLCJsZWZ0Il0sWzEsInNlbGVjdGVkLWNvbG9yLWJhY2tncm91bmQiXSxbMSwic2VsZWN0ZWQtY29sb3IiXSxbInR5cGUiLCJidXR0b24iLDMsImNsYXNzIiwiZGlzYWJsZWQiLCJjbGljayIsNCwibmdJZiJdLFsxLCJyaWdodCJdLFsic3R5bGUiLCJoZWlnaHQ6IDE2cHg7Iiw0LCJuZ0lmIl0sWzEsImh1ZSIsMywic2xpZGVyIiwicmdYIiwibmV3VmFsdWUiLCJkcmFnU3RhcnQiLCJkcmFnRW5kIl0sWyJodWVTbGlkZXIiLCIiXSxbMSwiY3Vyc29yIl0sWzEsInZhbHVlIiwzLCJzbGlkZXIiLCJyZ1giLCJuZXdWYWx1ZSIsImRyYWdTdGFydCIsImRyYWdFbmQiXSxbInZhbHVlU2xpZGVyIiwiIl0sWzEsImFscGhhIiwzLCJzbGlkZXIiLCJyZ1giLCJuZXdWYWx1ZSIsImRyYWdTdGFydCIsImRyYWdFbmQiXSxbImFscGhhU2xpZGVyIiwiIl0sWyJjbGFzcyIsImNteWstdGV4dCIsMywiZGlzcGxheSIsNCwibmdJZiJdLFsiY2xhc3MiLCJoc2xhLXRleHQiLDMsImRpc3BsYXkiLDQsIm5nSWYiXSxbImNsYXNzIiwicmdiYS10ZXh0IiwzLCJkaXNwbGF5Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsImhleC10ZXh0IiwzLCJoZXgtYWxwaGEiLCJkaXNwbGF5Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsInZhbHVlLXRleHQiLDQsIm5nSWYiXSxbImNsYXNzIiwidHlwZS1wb2xpY3kiLDQsIm5nSWYiXSxbImNsYXNzIiwicHJlc2V0LWFyZWEiLDQsIm5nSWYiXSxbImNsYXNzIiwiYnV0dG9uLWFyZWEiLDQsIm5nSWYiXSxbMSwic2F0dXJhdGlvbi1saWdodG5lc3MiLDMsInNsaWRlciIsInJnWCIsInJnWSIsIm5ld1ZhbHVlIiwiZHJhZ1N0YXJ0IiwiZHJhZ0VuZCJdLFsidHlwZSIsImJ1dHRvbiIsMywiZGlzYWJsZWQiLCJjbGljayJdLFsyLCJoZWlnaHQiLCIxNnB4Il0sWzEsImNteWstdGV4dCJdLFsxLCJib3giXSxbInR5cGUiLCJudW1iZXIiLCJwYXR0ZXJuIiwiWzAtOV0qIiwibWluIiwiMCIsIm1heCIsIjEwMCIsMywidGV4dCIsInJnIiwidmFsdWUiLCJrZXl1cC5lbnRlciIsIm5ld1ZhbHVlIl0sWyJ0eXBlIiwibnVtYmVyIiwicGF0dGVybiIsIlswLTldKyhbXFwuLF1bMC05XXsxLDJ9KT8iLCJtaW4iLCIwIiwibWF4IiwiMSIsInN0ZXAiLCIwLjEiLDMsInRleHQiLCJyZyIsInZhbHVlIiwia2V5dXAuZW50ZXIiLCJuZXdWYWx1ZSIsNCwibmdJZiJdLFs0LCJuZ0lmIl0sWyJ0eXBlIiwibnVtYmVyIiwicGF0dGVybiIsIlswLTldKyhbXFwuLF1bMC05XXsxLDJ9KT8iLCJtaW4iLCIwIiwibWF4IiwiMSIsInN0ZXAiLCIwLjEiLDMsInRleHQiLCJyZyIsInZhbHVlIiwia2V5dXAuZW50ZXIiLCJuZXdWYWx1ZSJdLFsxLCJoc2xhLXRleHQiXSxbInR5cGUiLCJudW1iZXIiLCJwYXR0ZXJuIiwiWzAtOV0qIiwibWluIiwiMCIsIm1heCIsIjM2MCIsMywidGV4dCIsInJnIiwidmFsdWUiLCJrZXl1cC5lbnRlciIsIm5ld1ZhbHVlIl0sWzEsInJnYmEtdGV4dCJdLFsidHlwZSIsIm51bWJlciIsInBhdHRlcm4iLCJbMC05XSoiLCJtaW4iLCIwIiwibWF4IiwiMjU1IiwzLCJ0ZXh0IiwicmciLCJ2YWx1ZSIsImtleXVwLmVudGVyIiwibmV3VmFsdWUiXSxbMSwiaGV4LXRleHQiXSxbMywidGV4dCIsInZhbHVlIiwiYmx1ciIsImtleXVwLmVudGVyIiwibmV3VmFsdWUiXSxbMSwidmFsdWUtdGV4dCJdLFsxLCJ0eXBlLXBvbGljeSJdLFsxLCJ0eXBlLXBvbGljeS1hcnJvdyIsMywiY2xpY2siXSxbMSwicHJlc2V0LWFyZWEiXSxbMSwicHJlc2V0LWxhYmVsIl0sWzMsImNsYXNzIiw0LCJuZ0lmIl0sWyJjbGFzcyIsInByZXNldC1jb2xvciIsMywiYmFja2dyb3VuZENvbG9yIiwiY2xpY2siLDQsIm5nRm9yIiwibmdGb3JPZiJdLFsxLCJwcmVzZXQtY29sb3IiLDMsImNsaWNrIl0sWzMsImNsYXNzIiwiY2xpY2siLDQsIm5nSWYiXSxbMywiY2xpY2siXSxbMSwiYnV0dG9uLWFyZWEiXSxbInR5cGUiLCJidXR0b24iLDMsImNsYXNzIiwiY2xpY2siLDQsIm5nSWYiXSxbInR5cGUiLCJidXR0b24iLDMsImNsaWNrIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDAsMSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKX0pKSxIbSgyLFYyLDEsNSwiZGl2IiwyKSxIbSgzLGoyLDIsOCwiZGl2IiwzKSxDZig0LCJkaXYiLDQpLENmKDUsImRpdiIsNSksdmYoNiwiZGl2Iiw2KSx2Zig3LCJkaXYiLDcpLEhtKDgsVTIsMiw1LCJidXR0b24iLDgpLE1mKCksQ2YoOSwiZGl2Iiw5KSxIbSgxMCxXMiwxLDAsImRpdiIsMTApLENmKDExLCJkaXYiLDExLDEyKSxSZigibmV3VmFsdWUiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uSHVlQ2hhbmdlKGUpfSkpKCJkcmFnU3RhcnQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25EcmFnU3RhcnQoImh1ZSIpfSkpKCJkcmFnRW5kIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRHJhZ0VuZCgiaHVlIil9KSksdmYoMTMsImRpdiIsMTMpLE1mKCksQ2YoMTQsImRpdiIsMTQsMTUpLFJmKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25WYWx1ZUNoYW5nZShlKX0pKSgiZHJhZ1N0YXJ0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRHJhZ1N0YXJ0KCJ2YWx1ZSIpfSkpKCJkcmFnRW5kIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRHJhZ0VuZCgidmFsdWUiKX0pKSx2ZigxNiwiZGl2IiwxMyksTWYoKSxDZigxNywiZGl2IiwxNiwxNyksUmYoIm5ld1ZhbHVlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkFscGhhQ2hhbmdlKGUpfSkpKCJkcmFnU3RhcnQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25EcmFnU3RhcnQoImFscGhhIil9KSkoImRyYWdFbmQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25EcmFnRW5kKCJhbHBoYSIpfSkpLHZmKDE5LCJkaXYiLDEzKSxNZigpLE1mKCksTWYoKSxIbSgyMCxxMiwxNywxMiwiZGl2IiwxOCksSG0oMjEsSzIsMTQsMTAsImRpdiIsMTkpLEhtKDIyLCQyLDE0LDEwLCJkaXYiLDIwKSxIbSgyMyxuNSw4LDcsImRpdiIsMjEpLEhtKDI0LGk1LDksMywiZGl2IiwyMiksSG0oMjUsYTUsMywwLCJkaXYiLDIzKSxIbSgyNixkNSw2LDMsImRpdiIsMjQpLEhtKDI3LGY1LDMsMiwiZGl2IiwyNSksTWYoKSksMiZlJiYobHUoImRpc3BsYXkiLG4uc2hvdz8iYmxvY2siOiJub25lIikoInZpc2liaWxpdHkiLG4uaGlkZGVuPyJoaWRkZW4iOiJ2aXNpYmxlIikoInRvcCIsbi50b3AsInB4IikoImxlZnQiLG4ubGVmdCwicHgiKSgicG9zaXRpb24iLG4ucG9zaXRpb24pKCJoZWlnaHQiLG4uY3BIZWlnaHQsInB4IikoIndpZHRoIixuLmNwV2lkdGgsInB4IiksY3UoIm9wZW4iLG4uc2hvdyksRGMoMiksYmYoIm5nSWYiLCJwb3B1cCI9PW4uY3BEaWFsb2dEaXNwbGF5KSxEYygxKSxiZigibmdJZiIsMT09PShuLmNwQ29sb3JNb2RlfHwxKSksRGMoNCksbHUoImJhY2tncm91bmQtY29sb3IiLG4uc2VsZWN0ZWRDb2xvciksRGMoMSksYmYoIm5nSWYiLG4uY3BBZGRDb2xvckJ1dHRvbiksRGMoMiksYmYoIm5nSWYiLCJkaXNhYmxlZCI9PT1uLmNwQWxwaGFDaGFubmVsKSxEYygxKSxsdSgiZGlzcGxheSIsMT09PShuLmNwQ29sb3JNb2RlfHwxKT8iYmxvY2siOiJub25lIiksYmYoInJnWCIsMSksRGMoMiksbHUoImxlZnQiLG51bGw9PW4uc2xpZGVyP251bGw6bi5zbGlkZXIuaCwicHgiKSxEYygxKSxsdSgiZGlzcGxheSIsMj09PShuLmNwQ29sb3JNb2RlfHwxKT8iYmxvY2siOiJub25lIiksYmYoInJnWCIsMSksRGMoMiksbHUoInJpZ2h0IixudWxsPT1uLnNsaWRlcj9udWxsOm4uc2xpZGVyLnYsInB4IiksRGMoMSksbHUoImRpc3BsYXkiLCJkaXNhYmxlZCI9PT1uLmNwQWxwaGFDaGFubmVsPyJub25lIjoiYmxvY2siKSgiYmFja2dyb3VuZC1jb2xvciIsbi5hbHBoYVNsaWRlckNvbG9yKSxiZigicmdYIiwxKSxEYygyKSxsdSgibGVmdCIsbnVsbD09bi5zbGlkZXI/bnVsbDpuLnNsaWRlci5hLCJweCIpLERjKDEpLGJmKCJuZ0lmIiwhbi5jcERpc2FibGVJbnB1dCYmMT09PShuLmNwQ29sb3JNb2RlfHwxKSksRGMoMSksYmYoIm5nSWYiLCFuLmNwRGlzYWJsZUlucHV0JiYxPT09KG4uY3BDb2xvck1vZGV8fDEpKSxEYygxKSxiZigibmdJZiIsIW4uY3BEaXNhYmxlSW5wdXQmJjE9PT0obi5jcENvbG9yTW9kZXx8MSkpLERjKDEpLGJmKCJuZ0lmIiwhbi5jcERpc2FibGVJbnB1dCYmMT09PShuLmNwQ29sb3JNb2RlfHwxKSksRGMoMSksYmYoIm5nSWYiLCFuLmNwRGlzYWJsZUlucHV0JiYyPT09KG4uY3BDb2xvck1vZGV8fDEpKSxEYygxKSxiZigibmdJZiIsIW4uY3BEaXNhYmxlSW5wdXQmJjE9PT0obi5jcENvbG9yTW9kZXx8MSkpLERjKDEpLGJmKCJuZ0lmIiwobnVsbD09bi5jcFByZXNldENvbG9ycz9udWxsOm4uY3BQcmVzZXRDb2xvcnMubGVuZ3RoKXx8bi5jcEFkZENvbG9yQnV0dG9uKSxEYygxKSxiZigibmdJZiIsbi5jcE9LQnV0dG9ufHxuLmNwQ2FuY2VsQnV0dG9uKSl9LGRpcmVjdGl2ZXM6W1B2LEM1LF81LHh2XSxzdHlsZXM6WycuY29sb3ItcGlja2Vyey1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgIzc3NztjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTt1c2VyLXNlbGVjdDpub25lO3dpZHRoOjIzMHB4O3otaW5kZXg6MTAwMH0uY29sb3ItcGlja2VyICp7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc2l6ZToxMXB4O21hcmdpbjowfS5jb2xvci1waWNrZXIgaW5wdXR7Y29sb3I6IzAwMDtmb250LXNpemU6MTNweDtoZWlnaHQ6MjZweDttaW4td2lkdGg6MDt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDowfS5jb2xvci1waWNrZXIgaW5wdXQ6LW1vei1zdWJtaXQtaW52YWxpZCwuY29sb3ItcGlja2VyIGlucHV0Oi1tb3otdWktaW52YWxpZCwuY29sb3ItcGlja2VyIGlucHV0OmludmFsaWR7Ym94LXNoYWRvdzpub25lfS5jb2xvci1waWNrZXIgaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sLmNvbG9yLXBpY2tlciBpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTttYXJnaW46MH0uY29sb3ItcGlja2VyIC5hcnJvd3tib3JkZXItc3R5bGU6c29saWQ7aGVpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDt6LWluZGV4Ojk5OTk5OX0uY29sb3ItcGlja2VyIC5hcnJvdy5hcnJvdy10b3B7Ym9yZGVyLWNvbG9yOiM3NzcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjEwcHggNXB4O2xlZnQ6OHB4fS5jb2xvci1waWNrZXIgLmFycm93LmFycm93LWJvdHRvbXtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzc3Nztib3JkZXItd2lkdGg6MTBweCA1cHg7bGVmdDo4cHg7dG9wOi0yMHB4fS5jb2xvci1waWNrZXIgLmFycm93LmFycm93LWxlZnQtdG9wLC5jb2xvci1waWNrZXIgLmFycm93LmFycm93LXRvcC1sZWZ0e2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNzc3O2JvcmRlci13aWR0aDo1cHggMTBweDtib3R0b206OHB4O3JpZ2h0Oi0yMXB4fS5jb2xvci1waWNrZXIgLmFycm93LmFycm93LXJpZ2h0LXRvcCwuY29sb3ItcGlja2VyIC5hcnJvdy5hcnJvdy10b3AtcmlnaHR7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICM3NzcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjVweCAxMHB4O2JvdHRvbTo4cHg7bGVmdDotMjBweH0uY29sb3ItcGlja2VyIC5hcnJvdy5hcnJvdy1ib3R0b20tbGVmdCwuY29sb3ItcGlja2VyIC5hcnJvdy5hcnJvdy1sZWZ0LC5jb2xvci1waWNrZXIgLmFycm93LmFycm93LWxlZnQtYm90dG9te2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNzc3O2JvcmRlci13aWR0aDo1cHggMTBweDtyaWdodDotMjFweDt0b3A6OHB4fS5jb2xvci1waWNrZXIgLmFycm93LmFycm93LWJvdHRvbS1yaWdodCwuY29sb3ItcGlja2VyIC5hcnJvdy5hcnJvdy1yaWdodCwuY29sb3ItcGlja2VyIC5hcnJvdy5hcnJvdy1yaWdodC1ib3R0b217Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICM3NzcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjVweCAxMHB4O2xlZnQ6LTIwcHg7dG9wOjhweH0uY29sb3ItcGlja2VyIC5jdXJzb3J7Ym9yZGVyOjJweCBzb2xpZCAjMjIyO2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpkZWZhdWx0O2hlaWdodDoxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE2cHh9LmNvbG9yLXBpY2tlciAuYm94e2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjRweCA4cHh9LmNvbG9yLXBpY2tlciAubGVmdHtwYWRkaW5nOjE2cHggOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5jb2xvci1waWNrZXIgLnJpZ2h0e2ZsZXg6MSAxIGF1dG87cGFkZGluZzoxMnB4IDhweH0uY29sb3ItcGlja2VyIC5idXR0b24tYXJlYXtwYWRkaW5nOjAgMTZweCAxNnB4O3RleHQtYWxpZ246cmlnaHR9LmNvbG9yLXBpY2tlciAuYnV0dG9uLWFyZWEgYnV0dG9ue21hcmdpbi1sZWZ0OjhweH0uY29sb3ItcGlja2VyIC5wcmVzZXQtYXJlYXtwYWRkaW5nOjRweCAxNXB4fS5jb2xvci1waWNrZXIgLnByZXNldC1hcmVhIC5wcmVzZXQtbGFiZWx7Y29sb3I6IzU1NTtmb250LXNpemU6MTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzo0cHg7dGV4dC1hbGlnbjpsZWZ0O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEwMCV9LmNvbG9yLXBpY2tlciAucHJlc2V0LWFyZWEgLnByZXNldC1jb2xvcntib3JkZXI6MXB4IHNvbGlkICNhOWE5YTk7Ym9yZGVyLXJhZGl1czoyNSU7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjE4cHg7bWFyZ2luOjRweCA2cHggOHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LmNvbG9yLXBpY2tlciAucHJlc2V0LWFyZWEgLnByZXNldC1lbXB0eS1tZXNzYWdle2ZvbnQtc3R5bGU6aXRhbGljO21hcmdpbi1ib3R0b206OHB4O21hcmdpbi10b3A6NHB4O21pbi1oZWlnaHQ6MThweDt0ZXh0LWFsaWduOmNlbnRlcn0uY29sb3ItcGlja2VyIC5oZXgtdGV4dHtmb250LXNpemU6MTFweDtwYWRkaW5nOjRweCA4cHg7d2lkdGg6MTAwJX0uY29sb3ItcGlja2VyIC5oZXgtdGV4dCAuYm94e3BhZGRpbmc6MCAyNHB4IDhweCA4cHh9LmNvbG9yLXBpY2tlciAuaGV4LXRleHQgLmJveCBkaXZ7Y2xlYXI6bGVmdDtjb2xvcjojNTU1O2ZsZXg6MSAxIGF1dG87ZmxvYXQ6bGVmdDt0ZXh0LWFsaWduOmNlbnRlcn0uY29sb3ItcGlja2VyIC5oZXgtdGV4dCAuYm94IGlucHV0e2JvcmRlcjoxcHggc29saWQgI2E5YTlhOTtmbGV4OjEgMSBhdXRvO3BhZGRpbmc6MXB4fS5jb2xvci1waWNrZXIgLmhleC1hbHBoYSAuYm94IGRpdjpmaXJzdC1jaGlsZCwuY29sb3ItcGlja2VyIC5oZXgtYWxwaGEgLmJveCBpbnB1dDpmaXJzdC1jaGlsZHtmbGV4LWdyb3c6MzttYXJnaW4tcmlnaHQ6OHB4fS5jb2xvci1waWNrZXIgLmNteWstdGV4dCwuY29sb3ItcGlja2VyIC5oc2xhLXRleHQsLmNvbG9yLXBpY2tlciAucmdiYS10ZXh0LC5jb2xvci1waWNrZXIgLnZhbHVlLXRleHR7Zm9udC1zaXplOjExcHg7cGFkZGluZzo0cHggOHB4O3dpZHRoOjEwMCV9LmNvbG9yLXBpY2tlciAuY215ay10ZXh0IC5ib3gsLmNvbG9yLXBpY2tlciAuaHNsYS10ZXh0IC5ib3gsLmNvbG9yLXBpY2tlciAucmdiYS10ZXh0IC5ib3h7cGFkZGluZzowIDI0cHggOHB4IDhweH0uY29sb3ItcGlja2VyIC52YWx1ZS10ZXh0IC5ib3h7cGFkZGluZzowIDhweCA4cHh9LmNvbG9yLXBpY2tlciAuY215ay10ZXh0IC5ib3ggZGl2LC5jb2xvci1waWNrZXIgLmhzbGEtdGV4dCAuYm94IGRpdiwuY29sb3ItcGlja2VyIC5yZ2JhLXRleHQgLmJveCBkaXYsLmNvbG9yLXBpY2tlciAudmFsdWUtdGV4dCAuYm94IGRpdntjb2xvcjojNTU1O2ZsZXg6MSAxIGF1dG87bWFyZ2luLXJpZ2h0OjhweDt0ZXh0LWFsaWduOmNlbnRlcn0uY29sb3ItcGlja2VyIC5jbXlrLXRleHQgLmJveCBkaXY6bGFzdC1jaGlsZCwuY29sb3ItcGlja2VyIC5oc2xhLXRleHQgLmJveCBkaXY6bGFzdC1jaGlsZCwuY29sb3ItcGlja2VyIC5yZ2JhLXRleHQgLmJveCBkaXY6bGFzdC1jaGlsZCwuY29sb3ItcGlja2VyIC52YWx1ZS10ZXh0IC5ib3ggZGl2Omxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjB9LmNvbG9yLXBpY2tlciAuY215ay10ZXh0IC5ib3ggaW5wdXQsLmNvbG9yLXBpY2tlciAuaHNsYS10ZXh0IC5ib3ggaW5wdXQsLmNvbG9yLXBpY2tlciAucmdiYS10ZXh0IC5ib3ggaW5wdXQsLmNvbG9yLXBpY2tlciAudmFsdWUtdGV4dCAuYm94IGlucHV0e2JvcmRlcjoxcHggc29saWQgI2E5YTlhOTtmbGV4OjE7ZmxvYXQ6bGVmdDttYXJnaW46MCA4cHggMCAwO3BhZGRpbmc6MXB4fS5jb2xvci1waWNrZXIgLmNteWstdGV4dCAuYm94IGlucHV0Omxhc3QtY2hpbGQsLmNvbG9yLXBpY2tlciAuaHNsYS10ZXh0IC5ib3ggaW5wdXQ6bGFzdC1jaGlsZCwuY29sb3ItcGlja2VyIC5yZ2JhLXRleHQgLmJveCBpbnB1dDpsYXN0LWNoaWxkLC5jb2xvci1waWNrZXIgLnZhbHVlLXRleHQgLmJveCBpbnB1dDpsYXN0LWNoaWxke21hcmdpbi1yaWdodDowfS5jb2xvci1waWNrZXIgLmh1ZS1hbHBoYXthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLWJvdHRvbTozcHh9LmNvbG9yLXBpY2tlciAuaHVle2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUpZQUFBQVFDQVlBQUFEMDZJWW5BQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUIzUkpUVVVINEFJV0R3a1VGV2JDQ0FBQUFGeEpSRUZVYU43dDBrRUtnMEFRQU1FMng4My9uMnF1NXFDZ0QxaURoQ29ZZHBuYlFDOWJiWTFxVk8vanZjNmszYWQ5MXM3LzdGMS9jc2dQcnVqdVExN0JEWVNGc0JBV3dnSmhJU3lFQmNKQ1dBZ0xoSVd3RUJZSWkyZjdBci8xVENnRkgyWDlBQUFBQUVsRlRrU3VRbUNDIik7ZGlyZWN0aW9uOmx0cn0uY29sb3ItcGlja2VyIC5odWUsLmNvbG9yLXBpY2tlciAudmFsdWV7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MTZweDttYXJnaW4tYm90dG9tOjE2cHg7d2lkdGg6MTAwJX0uY29sb3ItcGlja2VyIC52YWx1ZXtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFKWUFBQUFRQ0FZQUFBRDA2SVluQUFBQ1RrbEVRVlI0MnUzU1lVY3JBQmhBNFUyU2ttUkpNbVdTSmtsS0ppV1pacEtVSkpza0tVbWFURkltS1pPVXpNeVNwR1JtbGlSTkppbEpTcEtTSkV0bVNwSXBtV21TZE83MzYvNkQreDdPUDNnVUNvV0N2MWNxbFNRbEpaR2NuRXhLU2dxcHFhbWtwYVdSbnA1T1JrWUdtWm1acUZRcXNyS3l5TTdPSmljbmg5emNYTlJxTlhsNWVlVG41NlBSYUNnb0tLQ3dzSkNpb2lLMFdpM0Z4Y1dVbEpSUVdscEtXVmtaNWVYbFZGUlVVRmxaaVU2bm82cXFpdXJxYW1wcWFxaXRyYVd1cmc2OVhrOTlmVDBHZ3dHajBVaERRd09OalkwME5UWFIzTnhNUzBzTHJhMnR0TFcxMGQ3ZWpzbGt3bXcyMDlIUlFXZG5KMTFkWFhSM2Q5UFQwME52Ynk5OWZYMzA5L2N6TUREQTRPQWdGb3VGb2FFaHJGWXJ3OFBEakl5TU1EbzZ5dGpZR0RhYmpmSHhjU1ltSnBpY25HUnFhZ3E3M2M3MDlEUXpNelBNenM0eU56ZkgvUHc4RG9jRHA5T0p5K1hDN1hhenNMREE0dUlpUzB0TExDOHZzN0t5d3VycUttdHJhM2c4SHJ4ZUx6NmZENy9mei9yNk9oc2JHMnh1YnJLMXRjWDI5amFCUUlDZG5SMkN3U0M3dTd2czdlMnh2Ny9Qd2NFQmg0ZUhIQjBkY1h4OHpNbkpDYWVucDV5ZG5YRitmczdGeFFXWGw1ZGNYVjF4ZlgzTnpjME50N2UzM04zZEVRcUZ1TCsvNStIaGdYQTRUQ1FTNGZIeGthZW5KNTZmbjNsNWVlSDE5WlZvTk1yYjJ4dnY3Kzk4Zkh3UWk4V0l4K044Zm42U1NDVDQrdnJpKy91Ym41OGZmbjkvK1ZjS2dTV3dCSmJBRWxnQ1MyQUpMSUVsc0FTV3dCSllBa3RnQ1N5QkpiQUVsc0FTV0FKTFlBa3NnU1d3QkpiQUVsZ0NTMkFKTElFbHNQNC9XSDhBbUo1WjZqSFM0aDhBQUFBQVNVVk9SSzVDWUlJPSIpO2RpcmVjdGlvbjpydGx9LmNvbG9yLXBpY2tlciAuYWxwaGF7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBSllBQUFBUUNBWUFBQUQwNklZbkFBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBQjNSSlRVVUg0QUlXRHdZUWxaTWEzZ0FBQVdWSlJFRlVhTjd0bUVHTzZqQVFSQ3NPQXJIZ0JweUFKWUdqY0dvY3hBbTRBMklIcG1vV0UwZUJIK2V6bUZsTnZVMDZzaEozVzZWRWVsV01VUUFJSUY5ZjZxWnBpbXNBMUxZdFMydUY1MS91MjdZVkFGWlZSVWtFb0dIZFBWL3NJY2JJRUlJa1VkSS85WGE3bmV5djYxK1NXRlVWQVZDU2N0MDBUV24yZnY2dTMrRWNmZDN0WHp5LzArbkVVdStTUGpvL2txenJtaVFwU2NONnY5OFhld2ZBOC9sTWtpTEoyV3hHU1VvcGNUNmZNNlUwTlg5L2ZyZmJqZXYxV3RmcmxaZkxoWWZEUVFIRy9BSU9sbkd3aklObEhDeGpIQ3pqWUptL1RKV2RDd3F1SlhzZUZGekd3RE5OZWlLTU9KVE84eFFkRFFhZUIyOStLOWVmZUxhQm85Sjd2ZHZ0SmoxUmpGRmpmaXY3cXY5NXRqeC83bGVTUWdoOTNlMWZmTWVJcDZPK1lRamhvL043OTF0MVhWT1NTSTdOLy9LKzQvR294V0xCeCtQQjUvT3A1WExKKy8zT2xKSldxeFUzbTgzb3Z2NWlHZjhLallObEhDeGpIQ3pqWUJrSHk1Z2Y1Z3VzdlFVN1UzN2pUQUFBQUFCSlJVNUVya0pnZ2c9PSIpO2JhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7ZGlyZWN0aW9uOmx0cjtoZWlnaHQ6MTZweDt3aWR0aDoxMDAlfS5jb2xvci1waWNrZXIgLnR5cGUtcG9saWN5e2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJJQUFBQWdDQVlBQUFBZmZDanhBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUNld0FBQW5zQjAxQ08zQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFkM2QzTG1sdWEzTmpZWEJsTG05eVo1dnVQQm9BQUFJQVNVUkJWRWlKN1pZOWF4UlJGSWFmc3hNU3RyTFFKcEFncEJGaGkrQzl3MVlTbzAwSTZSWi9nOXZacEJmL1FPcjRHeVJna1NLTlNyQWFkc1pxUUd3Q2t1QVd5UlpKc3lTd3ZoWjdOL3ZoenJnYkxIM0xkODU5N2pseno1MHpKb2t5eFhIOERxRFZhcjBxaTZ2OEJiSXRxU0dwRWNmeGRsbXNGV1hrdlg4QWZBVldnM1VLUEVuVDlHS3VqTXpzQUZnWnNWYUNOMVZUUWQ3N1hVbnJnRTFrdis2OTM1MjY4V1JwenJuSFp2WVJXQzdZdkMzcFJaWmwzd296cXRWcWl5SDlJZ2pBc3BrZDFHcTF4VUpRdFZyZEI5WktJQU90aGRnL1FjNjVMVWs3d05JTW9DVkpPODY1cllGaGtxalg2L2Q3dlY0R1BKd0JNcW9mVVJTNUpFazZGWUJlci9lZVliL01vOVd3Rm5QT3ZRYmVBdmZ1QUFLNEJONHNBSnRBRy9nSklFbG1OdWlKeWJhM0VHTm1aaVBlWnVFVm1WZWxsL1kvNk4rQ3pEbjNBWGhFT09vN0h2LzNCZUF6OEl6UWtNUG5KYnVQeDF3Qyt5WUo3LzBuWUlQNVMvMEZIS2RwK3J3Q0VFWFJTL3JmNUhsMUd0YjJNMGlTcENPcENaelBBVG1YMUV5U3BITUxBc2l5N01qTURvSHJHU0RYWm5hWVpkblJ3Qmg3SjkxdXR3bWN6QUE2Q2JHM0dnUGxlWDRqcVVIL2ExQ2t0cVJHbnVjM2hTQ0FNQjMyZ0tzcGtDdGdiM0tDUU1ta2plUDRXTkpUaHJOTlp2YWwxV3B0VElzdjdKdFE0dG1JZFJhOHFTb0VwV2w2WVdaTm9BTjB6S3haTlBlaHBMU0JadjJ0K1EwQ0o5bExuQVJRTEFBQUFBQkpSVTVFcmtKZ2dnPT0iKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOjhweCAxNnB4O2hlaWdodDoyNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEycHg7dG9wOjIxOHB4O3dpZHRoOjE2cHh9LmNvbG9yLXBpY2tlciAudHlwZS1wb2xpY3kgLnR5cGUtcG9saWN5LWFycm93e2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjUwJTt3aWR0aDoxMDAlfS5jb2xvci1waWNrZXIgLnNlbGVjdGVkLWNvbG9ye2JvcmRlcjoxcHggc29saWQgI2E5YTlhOTtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6NDBweDtsZWZ0OjhweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTZweDt3aWR0aDo0MHB4fS5jb2xvci1waWNrZXIgLnNlbGVjdGVkLWNvbG9yLWJhY2tncm91bmR7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ2dBQUFBb0NBWUFBQUNNL3JodEFBQUFoMGxFUVZSWVIrMlcwUWxBTVFnRDYwemRmd09kcWE4VG1JL3dRTXI1SzBJNWJaTEl6TE9hMm50MzdWVlZiZCtkRHg1b2JnQ0MzS0JMd0oyZmY0UG5WaWRrZit1Y0lodzgwSFFhQ0xvM0RNSDNDUkszaUZzbUFXVmw2aFBORHd0OEV2TkU1cStZdUVYY01na29uVk02U2R5Q29FdkFuWjh2MUhqeDgxN01pbG14U1VCNXJkTEpEeWNaZ1VBWlVjaC9BQUFBQUVsRlRrU3VRbUNDIik7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweH0uY29sb3ItcGlja2VyIC5zYXR1cmF0aW9uLWxpZ2h0bmVzc3tiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFPWUFBQUNDQ0FZQUFBQlNEN1QzQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFCM1JKVFVVSDRBSVdEd2tzUFdSNmxnQUFJQUJKUkVGVWVOcnRuVnVUNDdnUnJBSE4rUC8vT3IvNjFZNXdPTlo3bVoxdTNYQWVMTWpKWkdaVmdkS3NmYzV4UjNTMFJJSVVXK0NIekNwYzJNY1lvN1hHdjNleDdVaVpkNTdyanl6enYrdiszM1gvUi8rM3IvZjd2UjM4NlkrVHZLTmNmL3dkaFRMUGN2OXFVMndaZDc0dXRoMHQxODIxamtJWkxQY3NJLzZuV2E0WHZ1dHF1VTBaODVtbng4MFMvWnpncG5Mbk90SE50Ny9vZngxVEtYY1NOek4vN3FiTVEzanU3ck5RbU1ZWWQvNHMyajlhYStQK2dHYU1jWnJiMU0vdGRydmY3L2Qydjk5UDkvdDkzTy8zY2J2ZHh1MTJHOWZyZFZ3dWwzRStuOGMvLy9uUCsyKy8vWGI2NmFlZnhsLy8rdGZ4NXovLzJZSzVBbDJyZ3ZmNFVzYnBkR3JCNTJiQXZBclhwdXpqbWlxQVZTR3o1ZURtR1lYemhiQVptQ3JubXpkZHBVVSs4WTFkQU9ZZVhDdERVd1Z3VjdZQ0dINnVBbXlNY1o5bDV2a1VhQlBHTVVaNy9KNXcvNzkyL2Z2djlYcTkzMjYzZHIvZlR4UEVDZU1FOG5LNWpNL1B6L0hUVHovZHYzMzdkdnJsbDEvR1AvN3hqL0czdi8xdC9PVXZmd2tWc3dvbmdqZE9wOVB6SDNVM0Qzem1XR25aVlhuNGpDcXM3d0MyQktQNC84dEF6a1pzb1d4NlhycWVIWnltdnA0QUJDQkpoVFF3S2ZEVDhnenJaQ0lxaTVBaGlBQ2pCZkVCMnJQOC9YNjNNTTdmNi9WNnY5L3Y3WGE3YllDODNXN2pjcmxzVkhJcTVmZnYzMCsvL2ZiYitPV1hYOFpQUC8wMC92NzN2NCtmZi83NUpTdmJldStiTDJXTU1hRmJBbHBCTk04NVFYK2N0NnFvU3FrUEF3dVFsQlZLcUdORlNVT0FBM0JtdTdnQzVoTk9kMTVuU3d2QU9VVzdDNGdpVUNWOFNnbjVMOWhORklxVHNwMEd4STB5c2lveWpBamtZL3RHSlZFcHorZnorT1dYWCs3ZnYzOC8vZjc3NytQYnQyL2oxMTkvSFQvLy9QUDQ5ZGRmeDhmSFJ3cm1UalY3NzlFWHUycHgyeGhqd3RkSlpRY0FXUUlQTFBJU3NNSmFTd2lEOGd6SUtyd1N5QVRFNWo1bkFiUjVjMWRCVXdCbHNFV1cwaDZMcWlZc3FGUEFReEN5Ulozd09TQVJ4bWxYTVg1azY0cFFmdnYyN2Y3NStkaytQajVPSHg4ZjQvdjM3K1BidDIvanQ5OStHOSsrZlJzZkh4L2pjcm1VRkxPMzFnWURXYmx4UklzL1RxZlQ3b3VzeEpzQXhYQTJHYzdUQTlYZGdmZG9IYkZzajc2WDIrMVdBcmdJMWFnZUd3QTNxdXBxb0hzbWNiSTZGdTkzcXVnZ0ZhOWQ3TGVEdGdLZkFGSEJKK05FQnlJa2NKNUtlcnZkVG1oaEdjZ0pKU1o1dm4vL2ZqK2Z6KzE4UHA4K1B6L0g1K2ZubUdEKy92dnY0L3YzNytQajQyTjhmbjZPMisxV3M3SmpqUDZ3cmFNSTVFNFJaOHgydlY1VFN3a3F1b3RWNy9kN1R6NkhGV3NEL3FOY2R3MENRM3EvMzIxYzY4NlR3RFZJZGJ1eTczek5sZGhTSGI4STJrbFp6bm0rSW5CUzRVNm4wMzAyYUJGc0xoSERBS0pWSlZnbGZJOWpodnU1M1c1M3NMQU5ZTnhBaURBNk1DZVVIeDhmOSt2MTJpNlhTN3RjTHFjWlc1N1A1eWVZOC9mejgzT2N6K2Zuc1NtWVV5a25XRUc4NVdCc3Q5c3R6U0x5TWRmcjlRaTA4aVkxNVVaMExsREdMaFIzbzV6SzJqN09QVVREMEUrblUzdGs3WGIvMTZORmJobG9BTXVZMXpqTFVPTzNCS2VJRGUrWjhzMy9KNGdGbzRUTTVqUG11UmcyOGZvVUtLVlN3bzE2VGdBNW5weXdjV0xIZ1lsL1B6OC83My82MDUvYWI3LzkxbTYzVzd0Y0xpZTBzWmo0bWFvNWdUeWZ6ODhFMGYxK2o4RWNZendUUEVHMmNxanlmSE5GME04ZnVxRWlhT1ZuUnpaWlFOaDVmd1F5SGcvSERHZkpvODlRMXpiL3F1dTVYQzY3NzNJMlhLZlRxZC92OStkM3d1cVd2YS9ZVGRVZEVWM2ZoSXYvVml5cHM2WUUzeDNyNDNLNWJKUVM2NnpheFZHRnN2ZCsvL2o0YUYrL2ZtM2Z2Mzl2dDl1dGZmMzZ0ZjMrKysvdGRydWR2bjM3WnVOTEJhYUNNZ1V6QytyWlJpRm93eFV1Skk4WU1xY0NwOU9wcTV2YWdhWVU2bEdKQTFYUXFlamNodzZDajBHdzVuWUJyR3cwMUEyTzIwNm4wNEJHb3VOTnlUZnAvRndFbGhVZXk2blhySUt3N1FRV2RkeHVOMmxkTDVmTDgzOWdTUEY4YWh1L0p2Qk80OENQU3VxTWY4VnA5L1A1M0w1OCtkTHU5M3M3bjgvdGZyOC8zOS92OS9iNStUa2hQSjNQNTZtUTQzNi9qKy9mdisvaVNnYnplcjArQVp4LzUrODhidjZPTWRhNlM1ejZrZDIxZllDOWR4djdjSUpKMmQ5QU9TMzBmUE16eUhpVE04QjRERjZYVWxZSHA0S1FXM1crMXQ3N01OQjF2R0h4V3E3WGE3dmY3OCt5NS9ONUErSDFldDI5eHVQNWRiWXR5YVJ1NEFrc2JQcTY5MzZmalJ6WFJ4QmJQci9iK2IxOCtmS2xqVEhhQkJCZm44L24wLzErSDErK2ZCbm44em0wc0I4Zkg1dTRjcjVHdUJoTVZrMEVFbjlSc2N0Z1ZoTStpeGxKdE1BMjNSOEI2eXlzQXN0Qk9nRlhJS0tDTUlnVG9NcU5FdTJmWU1IN3p0YzczMmRRS2tDajF5dEFadFkwS3g4cElyOEdHSitBVDNWKzJIaXJobCsrZkJtWHkyV3o3M3crYjE3UDhwK2ZuOC90VXdHVmxlVmtUeVViNjhEa2ZheVdZNHp4TlJpaFU0RXBMSlBaVnJLK3U3SjQvbWdmS3FlTFc5WDJSRVdsSXRMMWRpeW5iRERiMytqWGdZalFxbjBycnhXYytOa0lMUDdGN3hJYk12eDd2VjUzeDQweG5sYldKRjEyWlNhZy9OMHBXNnQrWnptT016SGphakt3RGZvbmQ3OHpZVGRmcTE4dXA5N3pyMnE4djNJaW9CcHJSdEJsMEVaOW9nNVdCUkdPZE9IaklqWEY3VW90RmJnT1duWHpJSnl6WXZqRzVJWWdzbU1PeEhrejhPc01TclZOV2VxNVQ4RGFPY2JFdjFPZDVyYnM5YU83WXZNZXQ2M0VrRisrZk1FeHErTVJsNC9MNWJMWk4vK2V6K2ZuWjZLYXp1TXFYU1FWTzVzcEpYZmxIQUl6ZXMveEpzZWNrUkppRE1vZzlkNlZmUnJxWE1yNktwVlYyN2pSd0phY0dvdk9BTTF6TWRRTW53SzFBdWJLNjNrZENDaHZJMUM3ZzB6OW5mL0QrWHplMlZqOEg3R3g0UDlkdVFsc1lDcnF5TjhYcUczSG0vMTBPajNqdy9uK2NybHN0dU0ralBtbXhUMmRUdVB6ODNQenQycG4xWHNFSFgvYm5QYVZxVm1oMHh3T3QwbzZYTExBSGVQVVUyMDN3SGZjcnNwQ3dtVjNUcnlCNXMwTXNlZWc5N3gvQnd6Q2pCbGJCK3BSQVBsYTBCVlF1VDZWNlFIZEJsajNkMEtHMTQ3YitEcXhRZVV5bURPNDNXNGRRYXIrVElqd21BZDB6OC9oNjV2ZjAveUx2M1BiNVhMcHJ1L3lkRG85czdFVDBJK1BqNmRLSzlWVUVJZUtXUVdQQU9ySjhMS2Q0dkUrdDkxWTNlN1VGbFdhdGcyVndKbmIrSFBtdHZtL3NmSzU5L09hV0YzeC9lUDFVUEh2QTVERFlEcFlYZmIwZHJ2MVYyRGtCa3h0dy90RVdWVmxYV2RDOXBGWXM1L2pmaDlkUy8xNnZXN3M2bFRHK1RmcXN4U0pIeGtYWHEvWGRyMWV1NExzZkQ2UDN2c1QzTjc3RGtMK3pQbTVqU2RLTDR6UjNBeFFkNnJIa0xrWWxTb3dzcnE3em56dTZ3U3dkc01KT1htQTVmQmNqeHRnTUdCWUhscjV6b2todHNNQ1RnWExRT1c0WEM2ZEV5RU1wckw4bUFRelhSZ2R1aXgyeVp6b3J4a1lzRG4zaEIxVmVNTEdzWHNWdGdsMnBXOFMzc3ZrMHZ3N1I0aE5hSHZ2NGNBQ2w1SEZ6d0lIMEtjNnp1NFhqRFBSL2pwQVZ4V3pPMVhrMkREYjN2VGN4ZUdVMWlXWkhrbUlEV3ppV0t2aXJDSjREcmF2czZJSi9HRzZjVHFXZFhEeStmQXJRRFZWa0xxa1ZqQW9aSUlUZG1tSXFYd3FhOTVOMytNR1lvWlFkUlZOTzUzWTF4UmtoTzE2dlk3ZXU1MDdDYTlsSm5iR3B4T2VtUWhTdy9BUXNtbXA1elU5QmlVOEc2d3ZYNzZNNi9VNlBqNCtkbzBCejRDcGdpa25UVWVEcXdsS0JtZzN1NE9WanJaMUErckFjZ2FlaldxNmVKQ3ZDWUZET05Td09nSFg0RVFSdzhseGJ6RE9kRUs2Z1ozSGsxYis4ZzJvMUpGdEtYeXYvZkVkVFh1V2pXWGRBWmlCcDZBRGVEckNGaWltN0I2WkZuZWVJN0d2bS9QTWtVRFg2N1c3eEk4YjBENy92OGRBOXFmTjVvYUNmNzRXWmpIMG1mMWNtZlkxWTBKVUZtVnJUV3U4dXprTmNMdEVqN3U1RlhCVGtmQzZHT0E1cThZTXhPOEtWdkY2c0FWR2RjclVic0tPRGNRS2tMTU9NZG1seHVtNjQyWXJQbTI2QWxoWlcxWUIxUityckdzd0U4VGFZQVdlVU14ZGYrV2p3U3ZaMkVmM3l0T3lmbjUrUHBWUEFhcU9uNDNNdE5CcXZtamp4YmpNNGxaalpZNGdxTk1JNWt0YVcvc1lLTndTKzlsRlF6R2lobU1DS1BhNytaMFY2RWIwR1Jtb2J0cFg4SmxqV3U1Rk1MTjVqYTZoRzlrd1FnWnFmNSsxTkg1VXh6a0ZSZUNkV2hKOFhkbEdVa3hPN0hSbFlSbTRtVk80M1c3dGVyMTJUUEpFdy9ybUVOM0w1U0tISVdaZzlteitwVW9LT1lxNWJKVEpkWDJnbWUxVWN4TVpRRmFFUUlsSGN0MzJNK1kxQnpHa0d1emZpeUFOOXordWdwbFoxc3ltQ3JEQ1lZa0d4RFRwSTlSekJ5MHJIeWVEVUMxbldhZVVhRDluNHhrTnlZTUJEWnR6WjNCKytmSmxZMjFYRkRPY0FSSmxhYk95aVMzdUNwTEk5anJaakNEa2FWdmNDQ2p3b2duS1NoV2R6WFpXbFpNdlZUZ0Q4THBxbENMcnFnYmNCK3FZd3JnS1lwVDBjY0NxYkt5Q1ZhbGtFYWJuL0Z5bm9nQ3JQS2ZxZjUxeEo3c0dCMlpYY1pteG9TT3p0angzMDBEWmk3YTAvMkFJUjBVbEJhZzlTdUR3NktjQXpsYUI3dkhadldwaks5MGR5cnE2Ykt5RFVaUWJSMEIwNWJpTFFrSEljU1VtZ0lLK1N3dXFnSENub2lvMlJRVTF5aitCbkJ5OXBwaFZLTEd5QzdaekZLMXB4V0srRThJaFZDV0xOL3VMdG5VVTRheW9ZTG9hQU56OEZkdGFTdlk0cFYwQkVXMmxzNjFjenFsbEJLcFR5S2dNQWhyWjFjZGMxUlJPdFBtdldOa2RjS1o3Wkt4YVdqaVBMSk1wcDdPWkt4QStycUcvb0pManhmMHBuSmxxTG9EWm8zZ3lVMG1LR3lzMnRhS2Vjai9kMUMrckpTcGxCcWxUeUFxZ1IrRDhLaktsbVJMMmd0VWNBZEN0c0wraWpDTlQxb3FxcWtIMk9IRWJHNXNERm5VZzVBYSt5TG91MlZVMXB0ajFTMlpRcXYxT1JaTjlJV3pSZmdhUkJ4S29CRThVV3lxbEpGdHJJYzBBeE5qU2plZDk5Q1RZL1hEZlN6Q3o1TTBJWm9WRXNXblBGTlRzbDhvb1ZDMVR6YkdncUZaTkRTZ1Z3S0srMXNHRE1LcXhaQ1dHVk1EeXNpRXIxalZTUUpVWXdqNWlIT2xUaGRIdDQ0U1FnOUNOK25sOEQ5ME5NSWdBZGdyNDZKcVJpUjlJOHZSZEZ2YnIxN20veXhVTUtqTkxNaVZVQUR3dTJDV0doaGkrRjU1VFdNOU05Y29nem1zMWRuTTR1T0YvTEFFWVdkY3FuTTd5Rm15cTNJZndtT1JPZDdZMWlGV3RPam9ZOFRvNDFtVFY1SXlzZ0ZGdVJ6c2JXRkdiTklJSkNEdjFkT280bFpHN2pXQndSRnRWVEt1V3llQ0J5SktPYW44b1ozZXA5WGRkTmwwdER1YXl3THo5Y1hQWWVEQUEwU3BrQk85c2JWY1RPVldsZFB2NHV5ekVrenhIdGp2b25Ib1NrRkVXTm9vMWQ4RGhjUXB1dGQycHBOb240QnpvQWlKMWhCRlFnMGRWdGRiR0hIRFFXdXNobU5FUXVrTE0yUU8xRzJZOGJnVFhxRmhjQkpqN0VqUGdjUHRzOFVTOHFQcFBCL2RYem5PaDVaNDM4dHpINWVjNlFnck9LclJSZktteXNCbVVEQitQaFlhYk1sVlBFUitHQ1NJVFR6cjdhbTJ0QXJIM2JnY0V6UEptK2NyNWpKNE5uSE5GRFZyRlhjSTVMZTlrNUpudytiZWRiVitGZlJ6WklIYU9PYU9zTFkwLzdVR3M1OERqckd3S01JTUZJR3pPRVcxL2pHc2RBdENONmhFQUk0aEJlOVlYZVJST0JTVlBBVlBBcXZJTTVieDVoVktXQU1QNnpCUnkzaWVzY3JpZFZkRkJpbkJ4WERuRzJHUlkyWGJDdnAxbGh2R3RPOUJ4dTVoOTA4WFF1NDJsblNBck1GZGl6TWltOHV3UkN4UEdubk9TOGx3cG5iT2lEcVRBanNyUk4vUGNvQVNjQ2JhQUNxVk00MHlsbmpqVEJzK2J3V2xBRzIzL1VLYmRraXdLV0lRUEd6V2FjenBvU2x4UEVqODIyY05Xa3BTN0Z5enNEcnFwZmdwRzNqYWh3MnZnYmFTUUF4dUxXWll0N0p6eU5lOEpvWnBOQWN2REZPZHcwd3FZVDlBSzFyWnovRGRiU2xMUHAwcnlJeGdRSmxLOUFabEVxN0lPWHBvaGc5UElockNuZzg4SnNPeGlWNFpXQVlmZzRzaWt4LzhreTJaOWw4NjJ1cXdyZnNjSUg4K3VnVG1WR3lpZGRlVllVZ0VNbjRHWnpnMTRFd0lzaDlzeDJjS0tpV1hSZXVPRTVnekdPUWdkbFJLVlZkbGV2cWIyNzlYcTBRbnN0czJWRGFCTzBjb2V6c3J1V3RIQXB1NnNLRzRJQmhOMGFHVTJrTHJNS0dSVE4zSG1iQ0R3S1YxNHp2a01FREc0UWZaVnNwVmxhTlUybWhjNVRFWjNOMWgvenFUaGV1THBXMDVaV1RHVmpiM2Ribk5teEtaQm5OOEpxaWRhVkxLQU95QVJOTFMrTUI1NFoyK1ZhcW9NTEtyb1ZCbG5nZWZuVFBBY29ITldDU3ZsZkE4Q0kwSEVtQk5CbkJsWHlNcnpVN0E3V1ZtOTRQUHFRMmdtcUt4K1dER3NudmlsbWNTT0JKcU9LMW5ZeUFJenVBeWVzcTNVZFNLM0tmV2NZS0Q5NUhtZllPVTNxc2VyMkN0WUVVQStGcGZxZE52Z1BCWlVCaERyR09OUlZsUXNoOHJMY2FVQ3lrSEcwT09Vd1RsTEJyc2g1c29FTUdlemkxRTRIUlZ0MWljcDV3WkVGWGRpYkNrRzhZOHZYNzVzYk80RTBpb205eitoalNpT2Z5M0RocFhJdHBWaEUrVUdRZHZvV2p0Q2htckdIZjRZQXpLZ0JObkd0dUp4RkNlR2RoVUFmUUxMSzhrQllBUDZndkZKWmFqTUczWGt5Y3k4S3VDMHE0RXl5bXd0d2R4ZHYyTTBtSUJ0SzBMS25mNjQwajAwQXVxNGdVa2RXR2xoczIycUpjNmRaQ3NMMTlveG5sVEpHNFNZVlJJR3BEOFRQRkJ1TTZPRWxiUzFwbGRpZDRtR0F5TjZaSXVwYkM1YlhKTjlmZHBiVGhTeExVYUk4SUcxWElZQnhXM1RqczZLUW9zS2N4ZnhjUW1kbndSR00xMEduRmNDeTJYWXVuTE15QWtkZ2s0bWVQaWN6c0x5Z3RoY0J1dDZnb09xUzdZVkZYQURMamFvc0I2czZvZmNaV0FaU0lSWXFTVWtpell3dHRZYWIzdlVPUTl3MkhSeElJZzhXd1JWZUU2OHhpNFV0TDN6UnBoeHBsend1WnJjcVlDcTFJM2pQSTVkbkpJeWdFb2hNYlBxVkpTenJ3enhCSlRzNXpOK1JlVVNneGlrUFFWRjNKVkJlTlF4YkhFTnJFTU52RWRGWlZWOWxIOStPUkdFc05aUXB5VE5jNEMzQUc3WEY0bmd6cStEck8yemJ1YWFPWGdkYUZjZGtFb3RvU0ZCVlgycUowQzhPV1plRzRLR2xwZ2hBMFhmVE9QQ3FWMnFxd1EyNlFXZkYyUE1MaEkydzFsVkFhMmFQc1lkMHphMjVNUVJ3Z2NaTjZ1UURDaStaeGlENFhFTTJrWnhPVDQxRm5abmFSbGNwWm91emxScXFkYlFWV29wUW9TQjU4UlY1MGxCTnJIaS9Bd1hTNUxyd0RWbHBZM0ZjM0J5aVlHYzUyVHJpc3Q2a09YZHdJbkFRdEpwcDVRY2h5YXF1WU9WN1N1K2Z4Vk1hVjNkYzBSRTJTNm1VWTBnTHQycE1jWXFyS0lROXcybDFncFFVTXRRWWNtbWJ0NURUTnhkaG5VQ2pRcXRiSzlTVVN6dnJDMG1taGhFMWUyRlMyK294eXB5L1pBU3V0a210angzdmNCQzI0UFg2NW5icWtCQ1JoZmpTOWtJWVBuZWU4Y01hZ1ZPaEkvM1QxZkFtZHRBV1pzQ3N3VEpDa1FWTmEwcVdLU0tQT3BIQVVoRDlEcmJWY3lvWWt3cWh2aDE3dllBYXlYTFF5S0dZZHhsVURGcDQ5NHJCWFJqWWdPMTdERFlldE5JVWovZXpwNlMwbG5scEV3c1dtSk1rT3dzS1hlWktFQWpJSG4wRVFKSVNhUkJjTzZVTUlOejdwL2JFampudzRmdCt4bUR2a3N4WDRHMnJJcmlzN3FhZUt3QUZNUDJPaTduNGNyaXVad3RwU1V3cGZMeFNuT1JTcklxdXNjNVpGYVh5c3FSV2ppWjJEeUFXRUlMMzV0VlNvUUVsRkFDak9lR0dTRTdBSEVRZ2RvL0xTdkNPZ0dCdmt4c21EYnZsUzNGcDV2aGFCMlRBR3FSS3JLS01yaExWcGFHekVWalowT1F4RGhhQ1RBK1F5UlIxZDE1YVF6ckpudEwzUmlic2lwakc2amxnTDR5cWJTMHNOWWcxZTg0dmhiQlZyRWxLNjRDVWNXWVhEZkt4aHBJdXhpVkpaVXhzYk15L3VSQktUTlJRNGtRM0xkUllMUzBySmpSUGxUUHFZNmdkSnNFRGMrYVFYQW4rSGdzTlVDYlJ1RjBPajB6d25BN2JXRGtiaE81RW5zMDBxZVFoUzFsYUJNbDVNL2NBYXhzTEY4ckt5cWwrVGY3RUxMRUd1L2l4aWltZEN2bzBUamZwakt3YWdnZW40ZWg1djdMb2tMS2JMdXl2SGhjWkc4ZGhHckVEeDdIZzkzWnBwSkY3cUJxTzNpVnZlWEVEUU5Jbnplb2U4WXE2ZVBhWkJaMkp2aU0zVzJVQUdvdGVrUkNBR3E0RWtGMVgzRE9uUjExeVJzQkwxdFJhMFBWY1ppTkZYWjJjMzRGc2t2b21JblFRNmx6cEpvWmJKeGs0M053S0pGQnF1SlNzckJ5SHlkeEtPblR4UUFTQm1TM2orSk1uc0hTbGEzRWM2SzlWV29KVm45emZqd09NN2hxWUFBcUpRd0UyYTNuQTQ4SjJRR2VnUmtwWk5pdlNZK3lzM0VrS2Q0b0pJd3N2SUhsM2NXZ0x0NWs0Tkg2T210TFdkcHVyT2t3RU11cFljN2VNdERSaE9jSTJ1aTVKaFZJelh6THl0by9HQVB1Wm95bzh3a29kdVZnSmdsQ3Q3T2hHYmdJRDRNcTRzaSs2M3pVUzFGdUZGWEZscXlhajJlbUhsTE1jQnFZdTBGTXVSMjhCYkI3bE94Uk1TaUNRWEZoQ0t1d2toWitwWURpR1NnYnNLS1Y4TWlTUnN1SFNJV005cmtsUmlJbFpadXFYanNRSzhvb1lKTWdxM0pLV1ZraEhiaHNWeEZVenRoT1dQa1lpamNieDU0SUtzU2RUK3VMcjNjckdLeW9ZZ0ZpR1I5aUJrNGtmbG9VWCtKSWxRUlFxYWJtcGduaHF0cFFwYjZSVlExV0g1RG5yUzRoRW9HWnFhZXJRMmRoRmJ6OFhlUHhTaG1EYm83MGVJU2pvb3JPMnZLOFNKWEk0U1VtRVU0eldLRHpVRHRXVFl3N3hYbGJTVEVqNEZSZzd6S25Lb0dSQUx2MEdzOVRnYzFCcEN5d0daUlFBdHFWejJ4ckJjQU16RXBmWndGU2EyRzVXMFFCRmpTTWFwV0FFRmEzSGNHTjdDeER6RUN5SWtKOTdxd3JxV05UV1ZvODc2UFBzalBrajJ3dmdyb001bExaS01FVEtWcWwvQ3ZuV1ZGaUZhL1N6SlVRd2tvWnNyNjdZNnZsU1JWMy8ydG1OVE9ZM3ZuYXhZd011b1BLcWR6UjF3N0lxSHltbFB4YUFUaGZVN0tvMlpYWWo0QVlKSEwra05kS3dSUVlFU1RSYTVmc1VaL3JWQzFUTVR5V1Z5WW9xTnR1emFIc015djJ0dm9hcnhkZnF3WWdVMWF4Rm8vY25xbDFGR3NxSyt1QVJPVjhCWDRHVThXY1pUQVRpMnE3UWN5aTBPMFYrR2hXQk1OUlVrbjhIMVNzV1ZFNUJ5M0dpMEVDcVVlSm9CZkF0RGE0YW1rZFhHMzdBR1A1R2dlYjg0cDdVYXpwb0tSemRGemVROEhrb0hHeHByS3kvSHBtNXQxMnA0N0o2eFRZREV6N3VJTkVYU3V4WVh2RnNrWUFjK3lTeEg5c2Y1ZnRLelU2SWJ3VkJjVUdnNWU1Rk1DRVhTRXJaUjB3R2F5VjE5d29NOWd1UGpUcUpkVlRxUjR1RTRuSm5MbGRXVmtFQ0NaTGQyVkxGK3h0YW1leDdJcGlyaVNEVXB2cnBuOWxyd0dNQ0h5cHBNSCtwczZMSUxzdUZHVWoxWEVPWGlxYnFTSFBVS25DbHBXVjY4a3F0VVJWTkRZNFROYW9jeWtvWWVUVTVuZ0dFUWEvUzFEbm5FNEFlWE1jS2pIUEFtRlZqQ0JFTmFleUxWTkhmcjNweDh4VXN0Sjk0aElwZkg0SEtFL2VEYUFySzZsU3lWVkZiZHQxZ3hUSVZrM3BwcFZsRlhpNHBFaFZCVE9icXVvaFU4NU1MWG4xaWFodlVrSEpqU0NNYzAxdExGdmVWVkJ4MERvZE02amZ0Q3U3RE90SXpZeHJjMHFwMUpHUDJheVlGejJHYjZIdk1yTzhjbkd0VjZHam0zdUltU2ZEMkdwV0s2dW93YlpHTXhGS1FDbzFwT010Y01YRnBSc3QraFhHb0FvbUYzc1NUQkdnVGdsYkJLV3dzUTN0WnFhWVNwMFoxQ2ltUkRXRmNDSlVQWUowMEJJNUZrS1lOb2lmdVF4bU44OFNXVlhXTE1hVXFxcWdDMEJtUUpSNnNrM3U5TkNmNmpZTFh4QWZxc1lFZ1ZMQWhSWTJBdGd0ZmxaTkZtRnloeGRyTGtBZFdsazREODhNMml4SHllcElkaE1IckcvaVIxWkd0cTBNR3BiRGJSUFlPWGVTWTFNNk55NFpzdHZHU2t0SytYYkZQQVRqMkQzNzFzYVBFc0FNWGhYcnNaMGttL1hTdGtoaE15QmZzYTZ1WEZaZTJWQ2UrWU1yMStHS2d3clF5TllxMVZSckIrRWl6QW93Nk5zZE5LY3lWRWtZZU03M3lzNnE0a0FIcDZCaUZrbFRrSXJWQzVvWVY3dXp3T0dDejRVSjBTdHEybFdNSnk0d3RiK1JldEw2dFpGaWNuSm1CdzVVakN2WFhNWlZKWDJNUWtiZitYTjVFV2Q3OFZ6OC9KRXNNWlRCaUtOenNtMWluTFJVUTc0SDROaWRhcUk2OGo1c0FGZ3hjUnZlQzdpZUxKWGZRWXhqWloyQ3NpV0Zld1pYSm1CSWxaMXRkdHJYNGhTdWF0ZUtzby9SWk90T0tXMm5tcTFvVHplSzZkUldBV3UyTlJWYjRocTBTWG0xR3Z0dWdIcmJyNUlYcW1Ta3RnNUN1REUyTVNsUHdzWTVrTkUyV3AzQXFpWmJXVkxBeGlCRisyaUJaYnVOajZNQjZyc01MQzdGeWFzYVlEeW83S2tvUHlFdHczcEVNWGZQdnhBSmkyakFRUWdqcnowckxJWlNXWmxJb05od2Q1eEs0QVI5bVlOaldBYUxybnVJbUplQlZOOXpCT1JPYlZ2YnIrbVRUZkZTRUpMU1JuSG83aEVKb0lpOE1GcWp4bXZnbUY1VVJaejR6TEZnWlo4Q3R1Mlg3Z2dWY2NLbTlnVnhJc09IcXhYZ05NS25GV1pZbmYxZEJuT2hheVhxMTdRd0ZsV1cwOWVOS3lWSkZtWHFhT05HQTVhQ2VnTWJKM1VVa0dZMWljM25LV2dqcThxZlZZR1FHMWdSdDZyczYyYTZIaXFxVU9xZGVzSzVObVg0bkdvZkpvaUUxZDBkRjlsVlZrdlQxL2tFRWFhQ29ZT3dGcGNWY29MTSs3NjY5UHhDOXJXcWt0SDBzV1VZbGQwVkNwdUJaL3N0VlJjR2d5OVdYMitVMVF0aGk5U3pBcVN4elpzeStPaUZ6QllueVNHVjZHa3U0NHJEOEJDT1pCVjNCdkQ1K0FLUkhOd01Fc0I2RXpIbkpwa1RBZWlVbEVHa2NFQ2VCNkdEWlRwNVlFSlRsdmRya254WWpUbGxNa2ZOdFh3RGpNN3VWaks1SlhVVW40M3JycXBLMmp5dGF4SFcwTTVHOERDOHJ0SE1ZczdLU2dkdVZRTUdUWUZxRnZWUzZya0Qzc0RKNDZhZmRZRndvcTExQU9LQ0JMaHZ3b1VnYzhJR0FOeWNSNmtuWnJkSlBkc3V4bnlqZmQzRm92VGxSTWRFZHRPbDVDTVY1RUhzWFFCaXM3VE93dklEWmFHajJWbnBiaDdjcEs2M1Z3WUVNTHdxYmp6eWw2OTlzYXdGRmtGMXlxalVVMzFIZkM2c1cxWkZWRnVYVlhWZ3o5a2VFYXcweXMxbFdmbSthelFBUVNXQStoS1lWZnNaalBuY0FjVUI5b0lheXkvVVpYUk5ja0RHamk3N0dzV2J2Qm82dFByV1BxT3lWa0JVcStJTmVxcHpOZFlzL3UwaWZoNXFtcHFJVyszM0pWU1Vjd1k3MEtMNFU5bFlkVTZsanRTbHM3bG1maTlnM1l6ZVFmVmthR0ZhVjNPRENuYUQyTjh3c0VERmtsRTNSek0zWmdoZFlrV0hzc3pxNzBGSWVjbktrVmt0OGV6TXpScTlia0d1S29qUkxCVlNvZDNZMXlQcUtnWVc3SlJRVFBWeXk1eElZTGpPZ3hnVDUyUktKVVkxZE9ySWlSZDRmdXRReC9BNUFjU21FanowdkZXcmtMenZiV0F1OUhPV2JHZ3hGazFWTlRwbkJLazZUZ3dpc0kvSGN4WVhQMXVBV083MlVMRmxCVHErYVN1MlZUVXM2aHJ4TTJDRitoRW9yMVZJQTlabUZVYWFiMWxTU2dac1ZzNHN4ekhsVkxvSkhyOUg0RGhPTlRrSTFYQzAvd2lZMk5vV0FHNVJsbkhGbnE2b0xjY3BRZGRNdUovTzE3SlZBNU9ITGkwQnFDenRxN1kxKyt1Y0NkOThxTEk4TUlIQlYvY0tqeFFUbWUzaEZCUzNNeUNxbkRzdXltMm84MEhqdkZGVHRyVVJtTmFHSnNtVmFoSW1qVHNVWEt0UVpUQVZzN012djgvK2Z6VXJaQVhjTEo2TTRrb2U2WFAwYjZTbVdXTkR6eVVwUThibCtMdFd4NHR1cVozNmNSWVYzeXVWeFBOd3ZJaXFpUUNTbXU3c3JnVHpSNm5reWhwQ2FyWHdGeTF2R2Q1aVAyY1kwNmxGcjVOamhoZzFZNitOQjI4ZnRiSzgzczhyZjdrTEpiS3dERlBiTGcyNWEwQWRaSkVpcXI1cGhpeEtNRGxSVXRjc3NxMWhyaUxxR29IK3plTmdWbTlPZW1qc0VUVjhKZEYwTkhua0lGeFdZMU9CNFlycDdydFdKN05nQUFBUFhrbEVRVlEzb05zNW5wbHlWZjh1MkZvTHUxSnJIdmVhWldRanFBa3NodEZhMmd6c1NHM1pwa2J2ZzNIYWZGOXNsUFBsbGRqRmxLODBHeXNtOE1yNE1QaG5lTldFTlBHakFJcG1pbFRQQVRkVFJUWGxDQllIWUFRdVB3QTM2eElwV3RHTjRxM1kyTWhpR3NVcHVTU25sRUpSRDhQb3JDN0NGWVZ3K0Y1MXFUaGdhYnhzVHhXekNHWTBaU3NiM2xmcUF5ME9QTmpOeTh4aVFRS3NIWUZRMkhCWlZ2VmJCdXEzbTFvV0thanFhb25zTTZ1WlVyNkNqWFdOWjBsNUUzaDNqVVJtYTZrUDNNSklpeTFMbStrYWhRcTQxTjJpWmphNXNqdGxMWU5aSFpySDZxVUdtNHZNYkRwNlJ3MkNGbXZ1eUZrckJjQ3lNdEZxQmFFQ21zSG9LOUJaMkxBL2xKY1JxU2FEcW5hV2JyWmRHYXozRExnSXZCbG40d29HenRieUpHcXNsd3hraGhIclRqVFlGWEN0T29LUzh1TGRvZlZkQWJPeWxHVTZubFlwWFdadHM0blhCcTZXeEppdE1Ob2tIVUpuYm5KcGxRbSthR3BZMmE1R01WMlFEMWhSdWJCUEZLZHVtZjVPSGtMSHowRjlsdUU1a2pCalJhMG5GRTVDVUdxSHczMk1talo2eGtnSU5WblNuWjFWWlN0SzJxS2xSYUxsUWdLN3VUcTdKRlhKd00rM1NPRUt5aFpOSSt0SjBJNXFNWXk5azJxSkQ3ZFZXZHFLWGEwQ0tOUjBDY2pnK0IySVl1MmZjQlpKWmtNRmdNMTFyMFg5MndpbGdoRkdnelZuZXhscUI3eEw5bVMyOVNpWVVWWTJuWE9aak5CUnN5RHNRUFJXVzVoclo0WGNkQzRIVldSYmpnSnI0c0ZvZks1U3pqUTdyaEkxVWViZFBkRWJqNnNxSXZUWlFaNXZhMDhyQUJzQVcwVXhlV3l0QWs3QTJLSjlacHh6Q2lvQjI0WEZ0WUFlWFl4cjZhblNxaExncHBFcVdiR3dMdW5UZ3JWK0lqV2xMMjlsamFBbDRFUU1Hc0VycDRhcGVaaXF1d1JYTFhBcU9DZXJ1MzJtbXlkYzZvV1RTV3BGQUdkemVUQjhSVEhWTUV0bE05MENiYlFDWWhQanEzZWdZcjFGR2RZSVFqaXVER1o1elovQXpvYktHT3lMeHRpNmM0Und0djJhbnlXbExJQ25sTGh4SlJYdDZBNWViREJXRk5PTmJ4V1oyZDAybW51NFM5WUVDcGVwcFYxelNXUkJXeEhZelZJdjFDWFNvdXdxcVgzakJCQkRaZFlRYnBUUVc0WlFsUzhyNWtINHN1U1JtZzIrKzNKTjEweDFQYUFtRWttdFlsRWRlR3BKRU02a091Q3FDUjIyb1N1amo1SVYySGRUMHpqNXByTEtUalhGQVBqZFFseXE3eElCeEFRUDV5TWN6RzRWeEFLdzBuNmlsWjJRQmNlMnBMdWxrdXh4cW5vSXpGZmdxeXFqaWw5UzFWTndCckZtZXllb3BzOHlPalpVeWJaZGZTOEN1YVRJSnVtenM1dE9EYU50THBGRFEvUGNKR3dlTGhtZUwxbkIwS3FpVURTY3NpVVZEODlEaTNIdHJLdFNVTHczUkxpeWdaRCs3c0Y4SlRPYmdZc3JHdkROVUZSR2wxaXkwTGwxWWtVYzJhSllNb2c5MjBJOHFXNllEQ2cxTXFrMEpISkZLWGtiZ2JScmVJK3FwWU5PWkhyVmNEVWJhN3Bqc3BoU0pOdEs2dXBnUk5BVm9PUzBtdWdCZU40YklaZ0hodVBaL3MxRU5hWDZLc1ZyK1lOcmgxTmI3aXBSMFBFNXpiTlJlZ0NickhSVXc2WWYwN2RMQkpsMWY4S0I5YXMyVjFuTnFBc2w2MkxCQmhlaHdhbGVya0htQjFKRklFWktTRXVzZGw1SlFqMW5KbEhYU0NGMzQyZ0o5Q1lHclhlbGtuSklYcVZQOHNEK3F0cGxDUjNYSDJxZktxMHlnTXArS25Wa0t4TmxaOG0yWWtJbFZNaUNuWFV3bDdxem5CS1N2UXozbTNQdDZvUWJYTzViNUZpeENoL2ZIeFVRVy9BRWNLNnpDTnFLUW5MOXN5d3FtS3V3dnFTWXpUL2FQVk5OcFZ5aHZSVzIxYXFjaUNzamRXdkJ3SUxVdmg1VnlDemJXb0MxcEpqSjY4MENXc2wrdWRLQjZUNVJ3RzFtbG9obmxwYmc0N2l6NVU5aGEwRkd0bVJMRllCdE85OXk5N0FwMHorWkRUQW9nNmtTTFpzTUhnL0lGa2tncDZDcHZVMlUwY1lWU2RubWtqd0JkT21YYnhUV05XenVJYmlwTWlvVnhFY2taRW9haFNPaXkyTTNLMGpjQzFMaFZEd2FxRzBadmtjV3FDbnJHNEdJeHlrcnFsYldkdzZMUXlCYVpSOEhtTFJJaFFXc0hzd0Q0MlpYVkxOa2Y5bCtGbFcwSFZRMmx3RnNDL1oxRmR6bFFSMEthUGZvK0ZkZnUrL2R3VlJJQ3UxQ0dSN0FFSWlBaGMrQVpVRjBrT0JhUHhtVXFnNGk2NHZRblU0bkZEWUo5TnorMWZWWHZlSDlxbXIra1BJTHg4b0tjUlYvQkZieGJFMEpNVDBrU0Q0dzZML2xOWThvY3NxYWdWZFUzQTNNanhoeGNHdXF6c1BINGlycGFvdzFxNk95clZqdnA5TnBjNTlFOTFMbGRib1lWekpXZGltV2ZBVzJTTkVLY0RhWDJGbUJMTEEvdUt4bG1oaDYxM0lzMVVSUUFwYktmdHR3eEwwMnE2T254NXBReFNiUG9qQWcrdjVoQW5ONkxIVlJEWElzdkt0UmppUzBxSlV5WlRBWFZiQUs4MkVsRkpXYVFkVm9xVUMxVW50N0JWYVRRdWRNNlN1cWV4alFKTjQrMGljYXh2L3V0Ykt2ODNFVGJUOEg4Z2pjT0t4T0ptYlVhNk9PVlhodDNkRlk2ckh2OVhvTnpGTGNlRUExbzgrcEttMExBSFBIWjJyWUtqRnEwaGZaRml4c3FISmdEM2VENW4rVTBrYjFtRmpYa24ybHZNU1NPc05FL0NkSUFLRjBTeXRxNnVyT0hVTjVnd2c0R1pvc2dibWdnTTV1Y3JhMnFyUzJJZzFjYmlCQmN4WXpnelVETkxDdkw4R2JaWE5wNk9SeTNMbVMrS2s4M3pSSUFLNkExaW9LYTJJOU5hcEl1aVVGZGZDOTc2NlBGWlV0cVVyNktiV2srelpVMWEvWnJJWEV6dHJqVE9mejdod0t6aUNlWElhcmFIdGJaSU16KzJwR2dhekNtdzRxV0FGdkVkaG9kWXAwWHEwcFY3RzFZV1lXYk80cWhHcTQyK1o4Qll0ckxXdmx1TlBwWkFlYUZGUzF2dWJQZ2JneHNxY3BuQWFzekJvdkthRm9EUThCR3RqZlVPbDROQUcybm1RVjA0ZmVKZ3VtdlgyZnNyUUVXWmdoTDBKblZkWWtuM0RPWkllUk44NlJxUFdDbXN2R1ZxRU1Sbnd4UUF4d1M4RU1ZbzNJem1ZMitCQ2NMcDRNS2l1eXVoSW1hbWxiWkZjTm9ObDd0cCtSSGQxOFpqUUlSS3lYZEZSaE45OC9oeUtxd1hXTm83TzF3aWFYb0hOMTA4UkVaWldFcTZncm5JZmp6ZWc4amRSZjFYRUw0a2tYYTViQmpLeG9LYWxqQmplSGxWeFE0R2F5Y3BXNGxET0FLdG5UeEhBdE9mek90WndIQU03c3FWWGtWNnl1NmthcDFuSGtYS3FXRi80WEhxamVuTktxQmpwUjNsMWNoM0VqZzErRXNnZFFoc2RHMEI0Rk05c1dBVldwdUF5aXdUUGxlWnh0OVZ5WlZTMnFYZlJlV3FUQWlscHI5QXBvV1RqeHltaXQ3TndWNEpUcmlaeU9BOUIwazdIRmZVTG91cm1LWUhWblJRdnFHTDVITUhkcUZjUjJxV3BtY0s2ZVR3eDJkaXBXcnZpRGlscitmS1dxM09XUldkSEt3QTRldTh3amNoYmVSekZpbHFqalpOM3VmQ3Bma0owL3NjVnBuWWs2TDBQSTc3bHhkV0NaODdXaVdtN0IvQUdxdVFTbnVqR0tzQjhDSm1pSnE4cTFwS0lWV3lxT2lUSzY2cjE4Qk44cjc0L0FFNzFmZEMzeVBTMk14ZE9wbkUxdGxWeEQ5Sm1WT29nZ04rcjRQakFYVkZQYTNFZzVqVkpHRlZVR05vbEgyMEdWclVCN0JPeVNXcTZXcVlRZFdSOTJwY0ZNWU13Y2tiU2dDS0NxRDY3RGlpV3UxZzhNUUM5QnlmY0ZxVzFMK2pMNzE0cU5DdXpub1N4dDBkYTJndFdOMUc4RjBCSzBOTjBudWltZWxVRjlkSWRBZmpPNDRVVDNDalFMb1VlTEhKRlRPM2dtcFJ1SUlPdndCUUNicU5lbzNxdFo5aUY2eFZLMTNHUmxvNHpxaW1xK0NHZFRpUjF1Ulk4b3FnRTAyaFpCYTc5a1pYUE1xdXhSSEtsYTJzYVpXTjRtUnFaVWowdkxDS2hraktucU9RSE51U1pWSm9LdkFxUzF3cEVxdXZXREMxQjJ5cHdyQ1BzUk1FUFZUT0RNTEpNRHY2cWVLWHdpMkpZVjVTcTRxS3l2Z0dzSENMaXVqMmpSNTlWOGdNcVNKMkZKWlJYRUhWUkhqM3NGUHJjdDZPcHFsVzFHcGF0UWR0MEd2d2ZNNm42M0luc0dWRmhKR2FCcWdxcUlWNklzWGxsWmd5U1BxNFIzYm50M3dpNWN2K2NOMnlxUUxXMVQ5NUtZVnNXV3RLazRjQjlXNTNXUVFmbFFZUjZXbDRIYUpaanZWRTBENXl2cStSS2daQ3M1cWRCRVA1c0Q5NGNBdlFMbFNnTmFTTUF0SHg4OEJ1TlE0MXpkRnNYMzB6S2JjczBNTEQvaWhrcFF6bDB3aVRxS0xUZmJLbUNteVlJQ25LMEliYWllQzRDRzlpU3lMUTdjSU1HUXdhdTZUS29xNjBBcGwzV040MExacGNhMUNLS0s5VlF5eUlFbjh3MEY4RjZDTDJoOG8zaXhHd0M3czdFV3pDT3FtY0FwWXhZRDRqc0F6VlMwc2wydDk4cEE3dnJLb3BoQ1ZTb25iWXBnSDZtdlNuMjRwVEJWNHNkdFYzQnRNcTVrODJ5K0lBRHZVSjB1QWxrQ1ZUeElhUG0rVU51L3FrVjRGMVR6SFhDR3JYSUFxSXRCS3lwcUs5OVZ0QU9WczY0TzRPYlg3cEhMVkNwWUhjUm13dkxSN1R2WUFLQkJONThMR1Z6RHVGeitoUWJXZ25jUXlDWkFrK1Zic1BTb3VmOTMyNjFpWmdtZkNwd1JiQXZxbVNxcmlVMlB3aGphb095WXF0SWVnVlhWaVRzbXl0YTZiR3lTcFkzZ3lScnBJeUFlYVdERHh0cHNYd0t5YWxNREtOUDdZQlhNcUVza1VzaTJ1QzhGTkFQeEFLVFZmVDFvNlZ6TTBFMGpGKzFyV2NVdUh2ZHlnN3Znb0ZwbFg4SHB2SHBNQ09NUlVQSHpaa0luc3FsRktOWC9FSU81MkUwU3hTek93b2IyVm1STFc1RDFYSVUwcmJnTTFBeldneUM3ZmU4Rzd4VUFLL3RhRUJhdDdsdXF0eVA3RW1zYUpRT2o1Rittcm5aZkN1WUNmQlVBV3dTaHlkNnBNWS92QUhHMVVxT1lwYkkvZ3k1VDBDTUttK1VPM2dGdUM4NWRnZkRWZWd1UERmSVRySUJMc0xyY2dkaDNDRmdGWmphS0o0SXYzRjhBTkVxdnV4UjF0VktPZ0xvQ2Exanhib0JBa2o2djdqL2ljRmJBN2Y0cmZSblFETFJWaUcxM2kwdnFCUXJZVnFCYkFEWlQwWnBpSG9TenZRcG9wS0lGUzNzRTFIZkJXbEhYZDBIN0xuQXJxdm91Z010bGpIQmdabmgzRW96L0JLakxNTDRaMkFxMCtoRUpyOWphVlVCYnZOekNJVWlyb0M3QVdtbUZ3NG81QUszTXRCNVZ5cFpNU0ZnczA1SnlHVndsd0Jxc0VHQUFhMlpVMUNqVWV4WEdzRTRyS3JpaWxCdkZ6T0tLbzNBdUFyb0U2UUZRVTN1OFlwTlh3UzVrKzFUWnQ1VXJ3b3VONEtpVUV3K2szWldEcDFSWEhOUnFYYjIxVHMzOTk0NXlaU2czVm5aRk5ROUNGM1hlWnlyNURnQlhLaXdDTWEyTXhlVERZWGdQMUZzZjlRTktaYzBrODFSSmszcjZFUTNyQ21CVnlMTDc1RWpaMXBJVkRIb0Z0aU9BSG9CMEJkVFZ5bHFCc0tLS1MrQWVCWEpWTFkrQ1hBU3VHdk8vQXVxN0d1RWpEZkdLZzFvS2Exei9kbW1pOUk5U1VHTmhsMEF0ZnVsSEFhd29Zcm5Ta21OWEFWdUdFaHJFVlh2VUYrQTVDdDJQcU5PakRldHluYTRDbWVVb2xtZVhMTjRBcTdDNVNqMTBRN3lqZ2wrdDZDTnhTUkhtSTVYK0Nwd3JlWUIzUWZkcW5hNHEyMUtkQnVjNEdvWnNuNDlaT09pVmlud0hxSzlXemp2Z2V3ZUVoMkFVNSt2dHhaOUNkOVdxa2g0OVYxOEU1b2o2dlZ5bjBSU3RBeUdJTzVlZFhSS2Q1QjBWR1ZYcTJ5cjN4WXArNVV0K0M0UUo0UDFOMzM5cFFNalJlamo0dmIvRGNyNnJRYzNPLzByam10WnBlWUNCaUNIZkNlbVJiTmhiSy9wTlVQYzN3Zkt5NWYyRDdPbEwzL3VQaHZlL29VNFQwRjhmK1ZOTTJ2eW9pdjBqSytLSFFmZEhxKzBibmN6NG96NzMvK1k2TGJLdzFvLzVCN2VPZjFSbC8wZHU5Qjl0bi85YnZyZi9qK3YwaDZ0dG4ydHAvci80ODE5eTQvenY1MzkxdXZ6emZ3RGlmejZwaFQxTVBnQUFBQUJKUlU1RXJrSmdnZz09Iik7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtkaXJlY3Rpb246bHRyO2hlaWdodDoxMzBweDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uO3dpZHRoOjEwMCV9LmNvbG9yLXBpY2tlciAuY3AtYWRkLWNvbG9yLWJ1dHRvbi1jbGFzc3tiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjowO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lO21hcmdpbjozcHggLTNweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGV9LmNvbG9yLXBpY2tlciAuY3AtYWRkLWNvbG9yLWJ1dHRvbi1jbGFzczpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5jb2xvci1waWNrZXIgLmNwLWFkZC1jb2xvci1idXR0b24tY2xhc3M6ZGlzYWJsZWR7Y29sb3I6Izk5OTtjdXJzb3I6bm90LWFsbG93ZWR9LmNvbG9yLXBpY2tlciAuY3AtYWRkLWNvbG9yLWJ1dHRvbi1jbGFzczpkaXNhYmxlZDpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0uY29sb3ItcGlja2VyIC5jcC1yZW1vdmUtY29sb3ItYnV0dG9uLWNsYXNze2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjFweCAxcHggNXB4ICMzMzM7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotNXB4O3RleHQtYWxpZ246Y2VudGVyO3RvcDotNXB4O3dpZHRoOjEwcHh9LmNvbG9yLXBpY2tlciAuY3AtcmVtb3ZlLWNvbG9yLWJ1dHRvbi1jbGFzczpiZWZvcmV7Ym90dG9tOjMuNXB4O2NvbnRlbnQ6IngiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMHB4O3Bvc2l0aW9uOnJlbGF0aXZlfSddLGVuY2Fwc3VsYXRpb246Mn0pLE81LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTp4NX1dLE81LnByb3BEZWNvcmF0b3JzPXtkaWFsb2dFbGVtZW50Olt7dHlwZTphcixhcmdzOlsiZGlhbG9nUG9wdXAiLHtzdGF0aWM6ITB9XX1dLGh1ZVNsaWRlcjpbe3R5cGU6YXIsYXJnczpbImh1ZVNsaWRlciIse3N0YXRpYzohMH1dfV0sYWxwaGFTbGlkZXI6W3t0eXBlOmFyLGFyZ3M6WyJhbHBoYVNsaWRlciIse3N0YXRpYzohMH1dfV0saGFuZGxlRXNjOlt7dHlwZTpUXyxhcmdzOlsiZG9jdW1lbnQ6a2V5dXAuZXNjIixbIiRldmVudCJdXX1dLGhhbmRsZUVudGVyOlt7dHlwZTpUXyxhcmdzOlsiZG9jdW1lbnQ6a2V5dXAuZW50ZXIiLFsiJGV2ZW50Il1dfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTzUsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiY29sb3ItcGlja2VyIix0ZW1wbGF0ZTonPGRpdiAjZGlhbG9nUG9wdXAgY2xhc3M9ImNvbG9yLXBpY2tlciIgW2NsYXNzLm9wZW5dPSJzaG93IiBbc3R5bGUuZGlzcGxheV09IiFzaG93ID8gXCdub25lXCcgOiBcJ2Jsb2NrXCciIFtzdHlsZS52aXNpYmlsaXR5XT0iaGlkZGVuID8gXCdoaWRkZW5cJyA6IFwndmlzaWJsZVwnIiBbc3R5bGUudG9wLnB4XT0idG9wIiBbc3R5bGUubGVmdC5weF09ImxlZnQiIFtzdHlsZS5wb3NpdGlvbl09InBvc2l0aW9uIiBbc3R5bGUuaGVpZ2h0LnB4XT0iY3BIZWlnaHQiIFtzdHlsZS53aWR0aC5weF09ImNwV2lkdGgiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gIDxkaXYgKm5nSWY9ImNwRGlhbG9nRGlzcGxheT09XCdwb3B1cFwnIiBjbGFzcz0iYXJyb3cgYXJyb3cte3tjcFVzZVBvc2l0aW9ufX0iIFtzdHlsZS50b3AucHhdPSJhcnJvd1RvcCI+PC9kaXY+XG5cbiAgPGRpdiAqbmdJZj0iKGNwQ29sb3JNb2RlIHx8wqAxKSA9PT0gMSIgY2xhc3M9InNhdHVyYXRpb24tbGlnaHRuZXNzIiBbc2xpZGVyXSBbcmdYXT0iMSIgW3JnWV09IjEiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT0iaHVlU2xpZGVyQ29sb3IiIChuZXdWYWx1ZSk9Im9uQ29sb3JDaGFuZ2UoJGV2ZW50KSIgKGRyYWdTdGFydCk9Im9uRHJhZ1N0YXJ0KFwnc2F0dXJhdGlvbi1saWdodG5lc3NcJykiIChkcmFnRW5kKT0ib25EcmFnRW5kKFwnc2F0dXJhdGlvbi1saWdodG5lc3NcJykiPlxuICAgIDxkaXYgY2xhc3M9ImN1cnNvciIgW3N0eWxlLnRvcC5weF09InNsaWRlcj8udiIgW3N0eWxlLmxlZnQucHhdPSJzbGlkZXI/LnMiPjwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPSJodWUtYWxwaGEgYm94Ij5cbiAgICA8ZGl2IGNsYXNzPSJsZWZ0Ij5cbiAgICAgIDxkaXYgY2xhc3M9InNlbGVjdGVkLWNvbG9yLWJhY2tncm91bmQiPjwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPSJzZWxlY3RlZC1jb2xvciIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPSJzZWxlY3RlZENvbG9yIj48L2Rpdj5cblxuICAgICAgPGJ1dHRvbiAqbmdJZj0iY3BBZGRDb2xvckJ1dHRvbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0ie3tjcEFkZENvbG9yQnV0dG9uQ2xhc3N9fSIgW2Rpc2FibGVkXT0iY3BQcmVzZXRDb2xvcnMgJiYgY3BQcmVzZXRDb2xvcnMubGVuZ3RoID49IGNwTWF4UHJlc2V0Q29sb3JzTGVuZ3RoIiAoY2xpY2spPSJvbkFkZFByZXNldENvbG9yKCRldmVudCwgc2VsZWN0ZWRDb2xvcikiPlxuICAgICAgICB7e2NwQWRkQ29sb3JCdXR0b25UZXh0fX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz0icmlnaHQiPlxuICAgICAgPGRpdiAqbmdJZj0iY3BBbHBoYUNoYW5uZWw9PT1cJ2Rpc2FibGVkXCciIHN0eWxlPSJoZWlnaHQ6IDE2cHg7Ij48L2Rpdj5cblxuICAgICAgPGRpdiAjaHVlU2xpZGVyIGNsYXNzPSJodWUiIFtzbGlkZXJdIFtyZ1hdPSIxIiBbc3R5bGUuZGlzcGxheV09IihjcENvbG9yTW9kZSB8fMKgMSkgPT09IDEgPyBcJ2Jsb2NrXCcgOiBcJ25vbmVcJyIgKG5ld1ZhbHVlKT0ib25IdWVDaGFuZ2UoJGV2ZW50KSIgKGRyYWdTdGFydCk9Im9uRHJhZ1N0YXJ0KFwnaHVlXCcpIiAoZHJhZ0VuZCk9Im9uRHJhZ0VuZChcJ2h1ZVwnKSI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImN1cnNvciIgW3N0eWxlLmxlZnQucHhdPSJzbGlkZXI/LmgiPjwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgI3ZhbHVlU2xpZGVyIGNsYXNzPSJ2YWx1ZSIgW3NsaWRlcl0gW3JnWF09IjEiIFtzdHlsZS5kaXNwbGF5XT0iKGNwQ29sb3JNb2RlIHx8wqAxKSA9PT0gMiA/IFwnYmxvY2tcJzogXCdub25lXCciIChuZXdWYWx1ZSk9Im9uVmFsdWVDaGFuZ2UoJGV2ZW50KSIgKGRyYWdTdGFydCk9Im9uRHJhZ1N0YXJ0KFwndmFsdWVcJykiIChkcmFnRW5kKT0ib25EcmFnRW5kKFwndmFsdWVcJykiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJjdXJzb3IiIFtzdHlsZS5yaWdodC5weF09InNsaWRlcj8udiI+PC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAjYWxwaGFTbGlkZXIgY2xhc3M9ImFscGhhIiBbc2xpZGVyXSBbcmdYXT0iMSIgW3N0eWxlLmRpc3BsYXldPSJjcEFscGhhQ2hhbm5lbCA9PT0gXCdkaXNhYmxlZFwnID8gXCdub25lXCcgOiBcJ2Jsb2NrXCciIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT0iYWxwaGFTbGlkZXJDb2xvciIgKG5ld1ZhbHVlKT0ib25BbHBoYUNoYW5nZSgkZXZlbnQpIiAoZHJhZ1N0YXJ0KT0ib25EcmFnU3RhcnQoXCdhbHBoYVwnKSIgKGRyYWdFbmQpPSJvbkRyYWdFbmQoXCdhbHBoYVwnKSI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImN1cnNvciIgW3N0eWxlLmxlZnQucHhdPSJzbGlkZXI/LmEiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9IiFjcERpc2FibGVJbnB1dCAmJiAoY3BDb2xvck1vZGUgfHzCoDEpID09PSAxIiBjbGFzcz0iY215ay10ZXh0IiBbc3R5bGUuZGlzcGxheV09ImZvcm1hdCAhPT0gMyA/IFwnbm9uZVwnIDogXCdibG9ja1wnIj5cbiAgICA8ZGl2IGNsYXNzPSJib3giPlxuICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgcGF0dGVybj0iWzAtOV0qIiBtaW49IjAiIG1heD0iMTAwIiBbdGV4dF0gW3JnXT0iMTAwIiBbdmFsdWVdPSJjbXlrVGV4dD8uYyIgKGtleXVwLmVudGVyKT0ib25BY2NlcHRDb2xvcigkZXZlbnQpIiAobmV3VmFsdWUpPSJvbkN5YW5JbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgcGF0dGVybj0iWzAtOV0qIiBtaW49IjAiIG1heD0iMTAwIiBbdGV4dF0gW3JnXT0iMTAwIiBbdmFsdWVdPSJjbXlrVGV4dD8ubSIgKGtleXVwLmVudGVyKT0ib25BY2NlcHRDb2xvcigkZXZlbnQpIiAobmV3VmFsdWUpPSJvbk1hZ2VudGFJbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgcGF0dGVybj0iWzAtOV0qIiBtaW49IjAiIG1heD0iMTAwIiBbdGV4dF0gW3JnXT0iMTAwIiBbdmFsdWVdPSJjbXlrVGV4dD8ueSIgKGtleXVwLmVudGVyKT0ib25BY2NlcHRDb2xvcigkZXZlbnQpIiAobmV3VmFsdWUpPSJvblllbGxvd0lucHV0KCRldmVudCkiIC8+XG4gICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSoiIG1pbj0iMCIgbWF4PSIxMDAiIFt0ZXh0XSBbcmddPSIxMDAiIFt2YWx1ZV09ImNteWtUZXh0Py5rIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uQmxhY2tJbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0ICpuZ0lmPSJjcEFscGhhQ2hhbm5lbCE9PVwnZGlzYWJsZWRcJyIgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSsoW1xcLixdWzAtOV17MSwyfSk/IiBtaW49IjAiIG1heD0iMSIgc3RlcD0iMC4xIiBbdGV4dF0gW3JnXT0iMSIgW3ZhbHVlXT0iY215a1RleHQ/LmEiIChrZXl1cC5lbnRlcik9Im9uQWNjZXB0Q29sb3IoJGV2ZW50KSIgKG5ld1ZhbHVlKT0ib25BbHBoYUlucHV0KCRldmVudCkiIC8+XG4gICAgPC9kaXY+XG5cbiAgICAgPGRpdiBjbGFzcz0iYm94Ij5cbiAgICAgIDxkaXY+QzwvZGl2PjxkaXY+TTwvZGl2PjxkaXY+WTwvZGl2PjxkaXY+SzwvZGl2PjxkaXYgKm5nSWY9ImNwQWxwaGFDaGFubmVsIT09XCdkaXNhYmxlZFwnIiA+QTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPSIhY3BEaXNhYmxlSW5wdXQgJiYgKGNwQ29sb3JNb2RlIHx8wqAxKSA9PT0gMSAiIGNsYXNzPSJoc2xhLXRleHQiIFtzdHlsZS5kaXNwbGF5XT0iZm9ybWF0ICE9PSAyID8gXCdub25lXCcgOiBcJ2Jsb2NrXCciPlxuICAgIDxkaXYgY2xhc3M9ImJveCI+XG4gICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSoiIG1pbj0iMCIgbWF4PSIzNjAiIFt0ZXh0XSBbcmddPSIzNjAiIFt2YWx1ZV09ImhzbGFUZXh0Py5oIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uSHVlSW5wdXQoJGV2ZW50KSIgLz5cbiAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIHBhdHRlcm49IlswLTldKiIgbWluPSIwIiBtYXg9IjEwMCIgW3RleHRdIFtyZ109IjEwMCIgW3ZhbHVlXT0iaHNsYVRleHQ/LnMiIChrZXl1cC5lbnRlcik9Im9uQWNjZXB0Q29sb3IoJGV2ZW50KSIgKG5ld1ZhbHVlKT0ib25TYXR1cmF0aW9uSW5wdXQoJGV2ZW50KSIgLz5cbiAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIHBhdHRlcm49IlswLTldKiIgbWluPSIwIiBtYXg9IjEwMCIgW3RleHRdIFtyZ109IjEwMCIgW3ZhbHVlXT0iaHNsYVRleHQ/LmwiIChrZXl1cC5lbnRlcik9Im9uQWNjZXB0Q29sb3IoJGV2ZW50KSIgKG5ld1ZhbHVlKT0ib25MaWdodG5lc3NJbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0ICpuZ0lmPSJjcEFscGhhQ2hhbm5lbCE9PVwnZGlzYWJsZWRcJyIgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSsoW1xcLixdWzAtOV17MSwyfSk/IiBtaW49IjAiIG1heD0iMSIgc3RlcD0iMC4xIiBbdGV4dF0gW3JnXT0iMSIgW3ZhbHVlXT0iaHNsYVRleHQ/LmEiIChrZXl1cC5lbnRlcik9Im9uQWNjZXB0Q29sb3IoJGV2ZW50KSIgKG5ld1ZhbHVlKT0ib25BbHBoYUlucHV0KCRldmVudCkiIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPSJib3giPlxuICAgICAgPGRpdj5IPC9kaXY+PGRpdj5TPC9kaXY+PGRpdj5MPC9kaXY+PGRpdiAqbmdJZj0iY3BBbHBoYUNoYW5uZWwhPT1cJ2Rpc2FibGVkXCciPkE8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj0iIWNwRGlzYWJsZUlucHV0ICYmIChjcENvbG9yTW9kZSB8fMKgMSkgPT09IDEgIiBbc3R5bGUuZGlzcGxheV09ImZvcm1hdCAhPT0gMSA/IFwnbm9uZVwnIDogXCdibG9ja1wnIiBjbGFzcz0icmdiYS10ZXh0Ij5cbiAgICA8ZGl2IGNsYXNzPSJib3giPlxuICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgcGF0dGVybj0iWzAtOV0qIiBtaW49IjAiIG1heD0iMjU1IiBbdGV4dF0gW3JnXT0iMjU1IiBbdmFsdWVdPSJyZ2JhVGV4dD8uciIgKGtleXVwLmVudGVyKT0ib25BY2NlcHRDb2xvcigkZXZlbnQpIiAobmV3VmFsdWUpPSJvblJlZElucHV0KCRldmVudCkiIC8+XG4gICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSoiIG1pbj0iMCIgbWF4PSIyNTUiIFt0ZXh0XSBbcmddPSIyNTUiIFt2YWx1ZV09InJnYmFUZXh0Py5nIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uR3JlZW5JbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgcGF0dGVybj0iWzAtOV0qIiBtaW49IjAiIG1heD0iMjU1IiBbdGV4dF0gW3JnXT0iMjU1IiBbdmFsdWVdPSJyZ2JhVGV4dD8uYiIgKGtleXVwLmVudGVyKT0ib25BY2NlcHRDb2xvcigkZXZlbnQpIiAobmV3VmFsdWUpPSJvbkJsdWVJbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0ICpuZ0lmPSJjcEFscGhhQ2hhbm5lbCE9PVwnZGlzYWJsZWRcJyIgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSsoW1xcLixdWzAtOV17MSwyfSk/IiBtaW49IjAiIG1heD0iMSIgc3RlcD0iMC4xIiBbdGV4dF0gW3JnXT0iMSIgW3ZhbHVlXT0icmdiYVRleHQ/LmEiIChrZXl1cC5lbnRlcik9Im9uQWNjZXB0Q29sb3IoJGV2ZW50KSIgKG5ld1ZhbHVlKT0ib25BbHBoYUlucHV0KCRldmVudCkiIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPSJib3giPlxuICAgICAgPGRpdj5SPC9kaXY+PGRpdj5HPC9kaXY+PGRpdj5CPC9kaXY+PGRpdiAqbmdJZj0iY3BBbHBoYUNoYW5uZWwhPT1cJ2Rpc2FibGVkXCciID5BPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9IiFjcERpc2FibGVJbnB1dCAmJiAoY3BDb2xvck1vZGUgfHzCoDEpID09PSAxIiBjbGFzcz0iaGV4LXRleHQiIFtjbGFzcy5oZXgtYWxwaGFdPSJjcEFscGhhQ2hhbm5lbD09PVwnZm9yY2VkXCciXG4gICAgW3N0eWxlLmRpc3BsYXldPSJmb3JtYXQgIT09IDAgPyBcJ25vbmVcJyA6IFwnYmxvY2tcJyI+XG4gICAgPGRpdiBjbGFzcz0iYm94Ij5cbiAgICAgIDxpbnB1dCBbdGV4dF0gW3ZhbHVlXT0iaGV4VGV4dCIgKGJsdXIpPSJvbkhleElucHV0KG51bGwpIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uSGV4SW5wdXQoJGV2ZW50KSIvPlxuICAgICAgPGlucHV0ICpuZ0lmPSJjcEFscGhhQ2hhbm5lbD09PVwnZm9yY2VkXCciIHR5cGU9Im51bWJlciIgcGF0dGVybj0iWzAtOV0rKFtcXC4sXVswLTldezEsMn0pPyIgbWluPSIwIiBtYXg9IjEiIHN0ZXA9IjAuMSIgW3RleHRdIFtyZ109IjEiIFt2YWx1ZV09ImhleEFscGhhIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uQWxwaGFJbnB1dCgkZXZlbnQpIi8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPSJib3giPlxuICAgICAgPGRpdj5IZXg8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNwQWxwaGFDaGFubmVsPT09XCdmb3JjZWRcJyI+QTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPSIhY3BEaXNhYmxlSW5wdXQgJiYgKGNwQ29sb3JNb2RlIHx8wqAxKSA9PT0gMiIgY2xhc3M9InZhbHVlLXRleHQiPlxuICAgIDxkaXYgY2xhc3M9ImJveCI+XG4gICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSoiIG1pbj0iMCIgbWF4PSIxMDAiIFt0ZXh0XSBbcmddPSIxMDAiIFt2YWx1ZV09ImhzbGFUZXh0Py5sIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uVmFsdWVJbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0ICpuZ0lmPSJjcEFscGhhQ2hhbm5lbCE9PVwnZGlzYWJsZWRcJyIgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSsoW1xcLixdWzAtOV17MSwyfSk/IiBtaW49IjAiIG1heD0iMSIgc3RlcD0iMC4xIiAgW3RleHRdIFtyZ109IjEiIFt2YWx1ZV09ImhzbGFUZXh0Py5hIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uQWxwaGFJbnB1dCgkZXZlbnQpIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz0iYm94Ij5cbiAgICAgIDxkaXY+VjwvZGl2PjxkaXY+QTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPSIhY3BEaXNhYmxlSW5wdXQgJiYgKGNwQ29sb3JNb2RlIHx8wqAxKSA9PT0gMSIgY2xhc3M9InR5cGUtcG9saWN5Ij5cbiAgICA8c3BhbiBjbGFzcz0idHlwZS1wb2xpY3ktYXJyb3ciIChjbGljayk9Im9uRm9ybWF0VG9nZ2xlKC0xKSI+PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPSJ0eXBlLXBvbGljeS1hcnJvdyIgKGNsaWNrKT0ib25Gb3JtYXRUb2dnbGUoMSkiPjwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj0iY3BQcmVzZXRDb2xvcnM/Lmxlbmd0aCB8fCBjcEFkZENvbG9yQnV0dG9uIiBjbGFzcz0icHJlc2V0LWFyZWEiPlxuICAgIDxocj5cblxuICAgIDxkaXYgY2xhc3M9InByZXNldC1sYWJlbCI+e3tjcFByZXNldExhYmVsfX08L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9ImNwUHJlc2V0Q29sb3JzPy5sZW5ndGgiIGNsYXNzPSJ7e2NwUHJlc2V0Q29sb3JzQ2xhc3N9fSI+XG4gICAgICA8ZGl2ICpuZ0Zvcj0ibGV0IGNvbG9yIG9mIGNwUHJlc2V0Q29sb3JzIiBjbGFzcz0icHJlc2V0LWNvbG9yIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT0iY29sb3IiIChjbGljayk9InNldENvbG9yRnJvbVN0cmluZyhjb2xvcikiPlxuICAgICAgICA8c3BhbiAqbmdJZj0iY3BBZGRDb2xvckJ1dHRvbiIgY2xhc3M9Int7Y3BSZW1vdmVDb2xvckJ1dHRvbkNsYXNzfX0iIChjbGljayk9Im9uUmVtb3ZlUHJlc2V0Q29sb3IoJGV2ZW50LCBjb2xvcikiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj0iIWNwUHJlc2V0Q29sb3JzPy5sZW5ndGggJiYgY3BBZGRDb2xvckJ1dHRvbiIgY2xhc3M9Int7Y3BQcmVzZXRFbXB0eU1lc3NhZ2VDbGFzc319Ij57e2NwUHJlc2V0RW1wdHlNZXNzYWdlfX08L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj0iY3BPS0J1dHRvbiB8fCBjcENhbmNlbEJ1dHRvbiIgY2xhc3M9ImJ1dHRvbi1hcmVhIj5cbiAgICA8YnV0dG9uICpuZ0lmPSJjcENhbmNlbEJ1dHRvbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0ie3tjcENhbmNlbEJ1dHRvbkNsYXNzfX0iIChjbGljayk9Im9uQ2FuY2VsQ29sb3IoJGV2ZW50KSI+e3tjcENhbmNlbEJ1dHRvblRleHR9fTwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiAqbmdJZj0iY3BPS0J1dHRvbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0ie3tjcE9LQnV0dG9uQ2xhc3N9fSIgKGNsaWNrKT0ib25BY2NlcHRDb2xvcigkZXZlbnQpIj57e2NwT0tCdXR0b25UZXh0fX08L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLHN0eWxlczpbJy5jb2xvci1waWNrZXJ7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjNzc3O2N1cnNvcjpkZWZhdWx0O2hlaWdodDphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MjMwcHg7ei1pbmRleDoxMDAwfS5jb2xvci1waWNrZXIgKntib3gtc2l6aW5nOmJvcmRlci1ib3g7Zm9udC1zaXplOjExcHg7bWFyZ2luOjB9LmNvbG9yLXBpY2tlciBpbnB1dHtjb2xvcjojMDAwO2ZvbnQtc2l6ZToxM3B4O2hlaWdodDoyNnB4O21pbi13aWR0aDowO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjB9LmNvbG9yLXBpY2tlciBpbnB1dDotbW96LXN1Ym1pdC1pbnZhbGlkLC5jb2xvci1waWNrZXIgaW5wdXQ6LW1vei11aS1pbnZhbGlkLC5jb2xvci1waWNrZXIgaW5wdXQ6aW52YWxpZHtib3gtc2hhZG93Om5vbmV9LmNvbG9yLXBpY2tlciBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwuY29sb3ItcGlja2VyIGlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lO21hcmdpbjowfS5jb2xvci1waWNrZXIgLmFycm93e2JvcmRlci1zdHlsZTpzb2xpZDtoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO3otaW5kZXg6OTk5OTk5fS5jb2xvci1waWNrZXIgLmFycm93LmFycm93LXRvcHtib3JkZXItY29sb3I6Izc3NyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6MTBweCA1cHg7bGVmdDo4cHh9LmNvbG9yLXBpY2tlciAuYXJyb3cuYXJyb3ctYm90dG9te2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNzc3O2JvcmRlci13aWR0aDoxMHB4IDVweDtsZWZ0OjhweDt0b3A6LTIwcHh9LmNvbG9yLXBpY2tlciAuYXJyb3cuYXJyb3ctbGVmdC10b3AsLmNvbG9yLXBpY2tlciAuYXJyb3cuYXJyb3ctdG9wLWxlZnR7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM3Nzc7Ym9yZGVyLXdpZHRoOjVweCAxMHB4O2JvdHRvbTo4cHg7cmlnaHQ6LTIxcHh9LmNvbG9yLXBpY2tlciAuYXJyb3cuYXJyb3ctcmlnaHQtdG9wLC5jb2xvci1waWNrZXIgLmFycm93LmFycm93LXRvcC1yaWdodHtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgIzc3NyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6NXB4IDEwcHg7Ym90dG9tOjhweDtsZWZ0Oi0yMHB4fS5jb2xvci1waWNrZXIgLmFycm93LmFycm93LWJvdHRvbS1sZWZ0LC5jb2xvci1waWNrZXIgLmFycm93LmFycm93LWxlZnQsLmNvbG9yLXBpY2tlciAuYXJyb3cuYXJyb3ctbGVmdC1ib3R0b217Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM3Nzc7Ym9yZGVyLXdpZHRoOjVweCAxMHB4O3JpZ2h0Oi0yMXB4O3RvcDo4cHh9LmNvbG9yLXBpY2tlciAuYXJyb3cuYXJyb3ctYm90dG9tLXJpZ2h0LC5jb2xvci1waWNrZXIgLmFycm93LmFycm93LXJpZ2h0LC5jb2xvci1waWNrZXIgLmFycm93LmFycm93LXJpZ2h0LWJvdHRvbXtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgIzc3NyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6NXB4IDEwcHg7bGVmdDotMjBweDt0b3A6OHB4fS5jb2xvci1waWNrZXIgLmN1cnNvcntib3JkZXI6MnB4IHNvbGlkICMyMjI7Ym9yZGVyLXJhZGl1czo1MCU7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjE2cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTZweH0uY29sb3ItcGlja2VyIC5ib3h7ZGlzcGxheTpmbGV4O3BhZGRpbmc6NHB4IDhweH0uY29sb3ItcGlja2VyIC5sZWZ0e3BhZGRpbmc6MTZweCA4cHg7cG9zaXRpb246cmVsYXRpdmV9LmNvbG9yLXBpY2tlciAucmlnaHR7ZmxleDoxIDEgYXV0bztwYWRkaW5nOjEycHggOHB4fS5jb2xvci1waWNrZXIgLmJ1dHRvbi1hcmVhe3BhZGRpbmc6MCAxNnB4IDE2cHg7dGV4dC1hbGlnbjpyaWdodH0uY29sb3ItcGlja2VyIC5idXR0b24tYXJlYSBidXR0b257bWFyZ2luLWxlZnQ6OHB4fS5jb2xvci1waWNrZXIgLnByZXNldC1hcmVhe3BhZGRpbmc6NHB4IDE1cHh9LmNvbG9yLXBpY2tlciAucHJlc2V0LWFyZWEgLnByZXNldC1sYWJlbHtjb2xvcjojNTU1O2ZvbnQtc2l6ZToxMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjRweDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0uY29sb3ItcGlja2VyIC5wcmVzZXQtYXJlYSAucHJlc2V0LWNvbG9ye2JvcmRlcjoxcHggc29saWQgI2E5YTlhOTtib3JkZXItcmFkaXVzOjI1JTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MThweDttYXJnaW46NHB4IDZweCA4cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0uY29sb3ItcGlja2VyIC5wcmVzZXQtYXJlYSAucHJlc2V0LWVtcHR5LW1lc3NhZ2V7Zm9udC1zdHlsZTppdGFsaWM7bWFyZ2luLWJvdHRvbTo4cHg7bWFyZ2luLXRvcDo0cHg7bWluLWhlaWdodDoxOHB4O3RleHQtYWxpZ246Y2VudGVyfS5jb2xvci1waWNrZXIgLmhleC10ZXh0e2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6NHB4IDhweDt3aWR0aDoxMDAlfS5jb2xvci1waWNrZXIgLmhleC10ZXh0IC5ib3h7cGFkZGluZzowIDI0cHggOHB4IDhweH0uY29sb3ItcGlja2VyIC5oZXgtdGV4dCAuYm94IGRpdntjbGVhcjpsZWZ0O2NvbG9yOiM1NTU7ZmxleDoxIDEgYXV0bztmbG9hdDpsZWZ0O3RleHQtYWxpZ246Y2VudGVyfS5jb2xvci1waWNrZXIgLmhleC10ZXh0IC5ib3ggaW5wdXR7Ym9yZGVyOjFweCBzb2xpZCAjYTlhOWE5O2ZsZXg6MSAxIGF1dG87cGFkZGluZzoxcHh9LmNvbG9yLXBpY2tlciAuaGV4LWFscGhhIC5ib3ggZGl2OmZpcnN0LWNoaWxkLC5jb2xvci1waWNrZXIgLmhleC1hbHBoYSAuYm94IGlucHV0OmZpcnN0LWNoaWxke2ZsZXgtZ3JvdzozO21hcmdpbi1yaWdodDo4cHh9LmNvbG9yLXBpY2tlciAuY215ay10ZXh0LC5jb2xvci1waWNrZXIgLmhzbGEtdGV4dCwuY29sb3ItcGlja2VyIC5yZ2JhLXRleHQsLmNvbG9yLXBpY2tlciAudmFsdWUtdGV4dHtmb250LXNpemU6MTFweDtwYWRkaW5nOjRweCA4cHg7d2lkdGg6MTAwJX0uY29sb3ItcGlja2VyIC5jbXlrLXRleHQgLmJveCwuY29sb3ItcGlja2VyIC5oc2xhLXRleHQgLmJveCwuY29sb3ItcGlja2VyIC5yZ2JhLXRleHQgLmJveHtwYWRkaW5nOjAgMjRweCA4cHggOHB4fS5jb2xvci1waWNrZXIgLnZhbHVlLXRleHQgLmJveHtwYWRkaW5nOjAgOHB4IDhweH0uY29sb3ItcGlja2VyIC5jbXlrLXRleHQgLmJveCBkaXYsLmNvbG9yLXBpY2tlciAuaHNsYS10ZXh0IC5ib3ggZGl2LC5jb2xvci1waWNrZXIgLnJnYmEtdGV4dCAuYm94IGRpdiwuY29sb3ItcGlja2VyIC52YWx1ZS10ZXh0IC5ib3ggZGl2e2NvbG9yOiM1NTU7ZmxleDoxIDEgYXV0bzttYXJnaW4tcmlnaHQ6OHB4O3RleHQtYWxpZ246Y2VudGVyfS5jb2xvci1waWNrZXIgLmNteWstdGV4dCAuYm94IGRpdjpsYXN0LWNoaWxkLC5jb2xvci1waWNrZXIgLmhzbGEtdGV4dCAuYm94IGRpdjpsYXN0LWNoaWxkLC5jb2xvci1waWNrZXIgLnJnYmEtdGV4dCAuYm94IGRpdjpsYXN0LWNoaWxkLC5jb2xvci1waWNrZXIgLnZhbHVlLXRleHQgLmJveCBkaXY6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH0uY29sb3ItcGlja2VyIC5jbXlrLXRleHQgLmJveCBpbnB1dCwuY29sb3ItcGlja2VyIC5oc2xhLXRleHQgLmJveCBpbnB1dCwuY29sb3ItcGlja2VyIC5yZ2JhLXRleHQgLmJveCBpbnB1dCwuY29sb3ItcGlja2VyIC52YWx1ZS10ZXh0IC5ib3ggaW5wdXR7Ym9yZGVyOjFweCBzb2xpZCAjYTlhOWE5O2ZsZXg6MTtmbG9hdDpsZWZ0O21hcmdpbjowIDhweCAwIDA7cGFkZGluZzoxcHh9LmNvbG9yLXBpY2tlciAuY215ay10ZXh0IC5ib3ggaW5wdXQ6bGFzdC1jaGlsZCwuY29sb3ItcGlja2VyIC5oc2xhLXRleHQgLmJveCBpbnB1dDpsYXN0LWNoaWxkLC5jb2xvci1waWNrZXIgLnJnYmEtdGV4dCAuYm94IGlucHV0Omxhc3QtY2hpbGQsLmNvbG9yLXBpY2tlciAudmFsdWUtdGV4dCAuYm94IGlucHV0Omxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjB9LmNvbG9yLXBpY2tlciAuaHVlLWFscGhhe2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tYm90dG9tOjNweH0uY29sb3ItcGlja2VyIC5odWV7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBSllBQUFBUUNBWUFBQUQwNklZbkFBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBQjNSSlRVVUg0QUlXRHdrVUZXYkNDQUFBQUZ4SlJFRlVhTjd0MGtFS2cwQVFBTUUyeDgzL24ycXU1cUNnRDFpRGhDb1lkcG5iUUM5YmJZMXFWTy9qdmM2azNhZDkxczcvN0YxL2NzZ1BydWp1UTE3QkRZU0ZzQkFXd2dKaElTeUVCY0pDV0FnTGhJV3dFQllJaTJmN0FyLzFUQ2dGSDJYOUFBQUFBRWxGVGtTdVFtQ0MiKTtkaXJlY3Rpb246bHRyfS5jb2xvci1waWNrZXIgLmh1ZSwuY29sb3ItcGlja2VyIC52YWx1ZXtiYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO2hlaWdodDoxNnB4O21hcmdpbi1ib3R0b206MTZweDt3aWR0aDoxMDAlfS5jb2xvci1waWNrZXIgLnZhbHVle2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUpZQUFBQVFDQVlBQUFEMDZJWW5BQUFDVGtsRVFWUjQydTNTWVVjckFCaEE0VTJTa21SSk1tV1NKa2xLSmlXWlpwS1VKSnNrS1VtYVRGSW1LWk9Vek15U3BHUm1saVJOSmlsSlNwS1NKRXRtU3BJcG1XbVNkTzczNi82RCt4N09QM2dVQ29XQ3YxY3FsU1FsSlpHY25FeEtTZ3FwcWFta3BhV1JucDVPUmtZR21abVpxRlFxc3JLeXlNN09KaWNuaDl6Y1hOUnFOWGw1ZWVUbjU2UFJhQ2dvS0tDd3NKQ2lvaUswV2kzRnhjV1VsSlJRV2xwS1dWa1o1ZVhsVkZSVVVGbFppVTZubzZxcWl1cnFhbXBxYXFpdHJhV3VyZzY5WGs5OWZUMEdnd0dqMFVoRFF3T05qWTAwTlRYUjNOeE1TMHNMcmEydHRMVzEwZDdlanNsa3dtdzIwOUhSUVdkbkoxMWRYWFIzZDlQVDAwTnZieTk5ZlgzMDkvY3pNRERBNE9BZ0ZvdUZvYUVockZZcnc4UERqSXlNTURvNnl0allHRGFiamZIeGNTWW1KcGljbkdScWFncTczYzcwOURRek16UE16czR5TnpmSC9QdzhEb2NEcDlPSnkrWEM3WGF6c0xEQTR1SWlTMHRMTEM4dnM3S3l3dXJxS210cmEzZzhIcnhlTHo2ZkQ3L2Z6L3I2T2hzYkcyeHVicksxdGNYMjlqYUJRSUNkblIyQ3dTQzd1N3ZzN2UyeHY3L1B3Y0VCaDRlSEhCMGRjWHg4ek1uSkNhZW5wNXlkblhGK2ZzN0Z4UVdYbDVkY1hWMXhmWDNOemMwTnQ3ZTMzTjNkRVFxRnVMKy81K0hoZ1hBNFRDUVM0Zkh4a2Flbko1NmZuM2w1ZWVIMTlaVm9OTXJiMnh2djcrOThmSHdRaThXSXgrTjhmbjZTU0NUNCt2cmkrL3VibjU4ZmZuOS8rVmNLZ1NXd0JKYkFFbGdDUzJBSkxJRWxzQVNXd0JKWUFrdGdDU3lCSmJBRWxzQVNXQUpMWUFrc2dTV3dCSmJBRWxnQ1MyQUpMSUVsc1A0L1dIOEFtSjVaNmpIUzRoOEFBQUFBU1VWT1JLNUNZSUk9Iik7ZGlyZWN0aW9uOnJ0bH0uY29sb3ItcGlja2VyIC5hbHBoYXtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFKWUFBQUFRQ0FZQUFBRDA2SVluQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFCM1JKVFVVSDRBSVdEd1lRbFpNYTNnQUFBV1ZKUkVGVWFON3RtRUdPNmpBUVJDc09BckhnQnB5QUpZR2pjR29jeEFtNEEySUhwbW9XRTBlQkgrZXptRmxOdlUwNnNoSjNXNlZFZWxXTVVRQUlJRjlmNnFacGltc0ExTFl0UzJ1RjUxL3UyN1lWQUZaVlJVa0VvR0hkUFYvc0ljYklFSUlrVWRJLzlYYTduZXl2NjErU1dGVVZBVkNTY3QwMFRXbjJmdjZ1MytFY2ZkM3RYenkvMCtuRVV1K1NQam8va3F6cm1pUXBTY042djk4WGV3ZkE4L2xNa2lMSjJXeEdTVW9wY1Q2Zk02VTBOWDkvZnJmYmpldjFXdGZybFpmTGhZZkRRUUhHL0FJT2xuR3dqSU5sSEN4akhDempZSm0vVEpXZEN3cXVKWHNlRkZ6R3dETk5laUtNT0pUTzh4UWREUWFlQjI5K0s5ZWZlTGFCbzlKN3ZkdnRKajFSakZGamZpdjdxdjk1dGp4LzdsZVNRZ2g5M2UxZmZNZUlwNk8rWVFqaG8vTjc5MXQxWFZPU1NJN04vL0srNC9Hb3hXTEJ4K1BCNS9PcDVYTEorLzNPbEpKV3F4VTNtODNvdnY1aUdmOEtqWU5sSEN4akhDempZQmtIeTVnZjVndXN2UVU3VTM3alRBQUFBQUJKUlU1RXJrSmdnZz09Iik7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtkaXJlY3Rpb246bHRyO2hlaWdodDoxNnB4O3dpZHRoOjEwMCV9LmNvbG9yLXBpY2tlciAudHlwZS1wb2xpY3l7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBZ0NBWUFBQUFmZkNqeEFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUFBbHdTRmx6QUFBQ2V3QUFBbnNCMDFDTzNBQUFBQmwwUlZoMFUyOW1kSGRoY21VQWQzZDNMbWx1YTNOallYQmxMbTl5WjV2dVBCb0FBQUlBU1VSQlZFaUo3Wlk5YXhSUkZJYWZzeE1TdHJMUUpwQWdwQkZoaStDOXcxWVNvMDBJNlJaL2c5dlpwQmYvUU9yNEd5UmdrU0tOU3JBYWRzWnFRR3dDa3VBV3lSWkpzeVN3dmhaN04vdmh6cmdiTEgzTGQ4NTk3amx6ejUwekpva3l4WEg4RHFEVmFyMHFpNnY4QmJJdHFTR3BFY2Z4ZGxtc0ZXWGt2WDhBZkFWV2czVUtQRW5UOUdLdWpNenNBRmdac1ZhQ04xVlRRZDc3WFVucmdFMWt2KzY5MzUyNjhXUnB6cm5IWnZZUldDN1l2QzNwUlpabDN3b3pxdFZxaXlIOUlnakFzcGtkMUdxMXhVSlF0VnJkQjlaS0lBT3RoZGcvUWM2NUxVazd3TklNb0NWSk84NjVyWUZoa3FqWDYvZDd2VjRHUEp3Qk1xb2ZVUlM1SkVrNkZZQmVyL2VlWWIvTW85V3dGblBPdlFiZUF2ZnVBQUs0Qk40c0FKdEFHL2dKSUVsbU51aUp5YmEzRUdObVppUGVadUVWbVZlbGwvWS82TitDekRuM0FYaEVPT283SHYvM0JlQXo4SXpRa01QbkpidVB4MXdDK3lZSjcvMG5ZSVA1Uy8wRkhLZHArcndDRUVYUlMvcmY1SGwxR3RiMk0waVNwQ09wQ1p6UEFUbVgxRXlTcEhNTEFzaXk3TWpNRG9IckdTRFhabmFZWmRuUndCaDdKOTF1dHdtY3pBQTZDYkczR2dQbGVYNGpxVUgvYTFDa3RxUkdudWMzaFNDQU1CMzJnS3Nwa0N0Z2IzS0NRTW1ramVQNFdOSlRock5OWnZhbDFXcHRUSXN2N0p0UTR0bUlkUmE4cVNvRXBXbDZZV1pOb0FOMHpLeFpOUGVocExTQlp2MnQrUTBDSjlsTG5BUlFMQUFBQUFCSlJVNUVya0pnZ2c9PSIpO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6OHB4IDE2cHg7aGVpZ2h0OjI0cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTJweDt0b3A6MjE4cHg7d2lkdGg6MTZweH0uY29sb3ItcGlja2VyIC50eXBlLXBvbGljeSAudHlwZS1wb2xpY3ktYXJyb3d7ZGlzcGxheTpibG9jaztoZWlnaHQ6NTAlO3dpZHRoOjEwMCV9LmNvbG9yLXBpY2tlciAuc2VsZWN0ZWQtY29sb3J7Ym9yZGVyOjFweCBzb2xpZCAjYTlhOWE5O2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDo0MHB4O2xlZnQ6OHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNnB4O3dpZHRoOjQwcHh9LmNvbG9yLXBpY2tlciAuc2VsZWN0ZWQtY29sb3ItYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDZ0FBQUFvQ0FZQUFBQ00vcmh0QUFBQWgwbEVRVlJZUisyVzBRbEFNUWdENjB6ZGZ3T2RxYThUbUkvd1FNcjVLMEk1YlpMSXpMT2EybnQzN1ZWVmJkK2REeDVvYmdDQzNLQkx3SjJmZjRQblZpZGtmK3VjSWh3ODBIUWFDTG8zRE1IM0NSSzNpRnNtQVdWbDZoUE5Ed3Q4RXZORTVxK1l1RVhjTWdrb25WTTZTZHlDb0V2QW5aOHYxSGp4ODE3TWlsbXhTVUI1cmRMSkR5Y1pnVUFaVWNoL0FBQUFBRWxGVGtTdVFtQ0MiKTtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS5jb2xvci1waWNrZXIgLnNhdHVyYXRpb24tbGlnaHRuZXNze2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU9ZQUFBQ0NDQVlBQUFCU0Q3VDNBQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUIzUkpUVVVINEFJV0R3a3NQV1I2bGdBQUlBQkpSRUZVZU5ydG5WdVQ0N2dSckFITitQLy9Pci82MVk1d09OWjdtWjF1M1hBZUxNakpaR1pWZ2RLc2ZjNXhSM1MwUklJVVcrQ0h6Q3BjMk1jWW83WEd2M2V4N1VpWmQ1N3JqeXp6dit2KzMzWC9SLyszci9mN3ZSMzg2WStUdktOY2Yvd2RoVExQY3Y5cVUyd1pkNzR1dGgwdDE4MjFqa0laTFBjc0kvNm5XYTRYdnV0cXVVMFo4NW1ueDgwUy9aemdwbkxuT3RITnQ3L29meDFUS1hjU056Ti83cWJNUTNqdTdyTlFtTVlZZC80czJqOWFhK1ArZ0dhTWNacmIxTS90ZHJ2ZjcvZDJ2OTlQOS90OTNPLzNjYnZkeHUxMkc5ZnJkVnd1bDNFK244Yy8vL25QKzIrLy9YYjY2YWVmeGwvLyt0Zng1ei8vMllLNUFsMnJndmY0VXNicGRHckI1MmJBdkFyWHB1emptaXFBVlNHejVlRG1HWVh6aGJBWm1Dcm5temRkcFVVKzhZMWRBT1llWEN0RFV3VndWN1lDR0g2dUFteU1jWjlsNXZrVWFCUEdNVVo3L0o1dy83OTIvZnZ2OVhxOTMyNjNkci9mVHhQRUNlTUU4bks1ak0vUHovSFRUei9kdjMzN2R2cmxsMS9HUC83eGovRzN2LzF0L09VdmZ3a1Zzd29uZ2pkT3A5UHpIM1UzRDN6bVdHblpWWG40akNxczd3QzJCS1A0Lzh0QXprWnNvV3g2WHJxZUhaeW12cDRBQkNCSmhUUXdLZkRUOGd6clpDSXFpNUFoaUFDakJmRUIyclA4L1g2M01NN2Y2L1Y2djkvdjdYYTdiWUM4M1c3amNybHNWSElxNWZmdjMwKy8vZmJiK09XWFg4WlBQLzAwL3Y3M3Y0K2ZmLzc1SlN2YmV1K2JMMldNTWFGYkFscEJOTTg1UVgrY3Q2cW9TcWtQQXd1UWxCVktxR05GU1VPQUEzQm11N2dDNWhOT2QxNW5Td3ZBT1VXN0M0Z2lVQ1Y4U2duNUw5aE5GSXFUc3AwR3hJMHlzaW95akFqa1kvdEdKVkVweitmeitPV1hYKzdmdjM4Ly9mNzc3K1BidDIvajExOS9IVC8vL1BQNDlkZGZ4OGZIUndybVRqVjc3OUVYdTJweDJ4aGp3dGRKWlFjQVdRSVBMUElTc01KYVN3aUQ4Z3pJS3J3U3lBVEU1ajVuQWJSNWMxZEJVd0Jsc0VXVzBoNkxxaVlzcUZQQVF4Q3lSWjN3T1NBUnhtbFhNWDVrNjRwUWZ2djI3Zjc1K2RrK1BqNU9IeDhmNC92MzcrUGJ0Mi9qdDk5K0c5KytmUnNmSHgvamNybVVGTE8zMWdZRFdibHhSSXMvVHFmVDdvdXN4SnNBeFhBMkdjN1RBOVhkZ2Zkb0hiRnNqNzZYMisxV0FyZ0kxYWdlR3dBM3F1cHFvSHNtY2JJNkZ1OTNxdWdnRmE5ZDdMZUR0Z0tmQUZIQkorTkVCeUlrY0o1S2VydmRUbWhoR2NnSkpTWjV2bi8vZmorZnorMThQcDgrUHovSDUrZm5tR0QrL3Z2djQvdjM3K1BqNDJOOGZuNk8yKzFXczdKampQNndyYU1JNUU0Ulo4eDJ2VjVUU3drcXVvdFY3L2Q3VHo2SEZXc0QvcU5jZHcwQ1EzcS8zMjFjNjg2VHdEVklkYnV5NzN6TmxkaFNIYjhJMmtsWnpubStJbkJTNFU2bjAzMDJhQkZzTGhIREFLSlZKVmdsZkk5amh2dTUzVzUzc0xBTllOeEFpREE2TUNlVUh4OGY5K3YxMmk2WFM3dGNMcWNaVzU3UDV5ZVk4L2Z6ODNPY3orZm5zU21ZVXlrbldFRzg1V0JzdDlzdHpTTHlNZGZyOVFpMDhpWTE1VVowTGxER0xoUjNvNXpLMmo3T1BVVEQwRStuVTN0azdYYi8xNk5GYmhsb0FNdVkxempMVU9PM0JLZUlEZStaOHMzL0o0Z0ZvNFRNNWpQbXVSZzI4Zm9VS0tWU3dvMTZUZ0E1bnB5d2NXTEhnWWwvUHo4LzczLzYwNS9hYjcvOTFtNjNXN3RjTGllMHNaajRtYW81Z1R5Zno4OEUwZjErajhFY1l6d1RQRUcyY3FqeWZITkYwTThmdXFFaWFPVm5SelpaUU5oNWZ3UXlIZy9IREdmSm84OVExemIvcXV1NVhDNjc3M0kyWEtmVHFkL3Y5K2Qzd3VxV3ZhL1lUZFVkRVYzZmhJdi9WaXlwczZZRTN4M3I0M0s1YkpRUzY2emF4VkdGc3ZkKy8vajRhRisvZm0zZnYzOXZ0OXV0ZmYzNnRmMysrKy90ZHJ1ZHZuMzdadU5MQmFhQ01nVXpDK3JaUmlGb3d4VXVKSThZTXFjQ3A5T3BxNXZhZ2FZVTZsR0pBMVhRcWVqY2h3NkNqMEd3NW5ZQnJHdzAxQTJPMjA2bjA0QkdvdU5OeVRmcC9Gd0VsaFVleTZuWHJJS3c3UVFXZGR4dU4ybGRMNWZMODM5Z1NQRjhhaHUvSnZCTzQ4Q1BTdXFNZjhWcDkvUDUzTDU4K2RMdTkzczduOC90ZnI4LzM5L3Y5L2I1K1RraFBKM1A1Nm1RNDM2L2orL2Z2Ky9pU2diemVyMCtBWngvNSs4OGJ2Nk9NZGE2UzV6NmtkMjFmWUM5ZHh2N2NJSkoyZDlBT1MzMGZQTXp5SGlUTThCNERGNlhVbFlIcDRLUVczVysxdDc3TU5CMXZHSHhXcTdYYTd2Zjc4K3k1L041QStIMWV0Mjl4dVA1ZGJZdHlhUnU0QWtzYlBxNjkzNmZqUnpYUnhCYlByL2IrYjE4K2ZLbGpUSGFCQkJmbjgvbjAvMStIMSsrZkJubjh6bTBzQjhmSDV1NGNyNUd1QmhNVmswRUVuOVJzY3RnVmhNK2l4bEp0TUEyM1I4QjZ5eXNBc3RCT2dGWElLS0NNSWdUb01xTkV1MmZZTUg3enRjNzMyZFFLa0NqMXl0QVp0WTBLeDhwSXI4R0dKK0FUM1YrMkhpcmhsKytmQm1YeTJXejczdytiMTdQOHArZm44L3RVd0dWbGVWa1R5VWI2OERrZmF5V1k0enhOUmloVTRFcExKUFpWcksrdTdKNC9tZ2ZLcWVMVzlYMlJFV2xJdEwxZGl5bmJERGIzK2pYZ1lqUXFuMHJyeFdjK05rSUxQN0Y3eEliTXZ4N3ZWNTN4NDB4bmxiV0pGMTJaU2FnL04wcFc2dCtaem1PTXpIamFqS3dEZm9uZDc4ellUZGZxMTh1cDk3enIycTh2M0lpb0JwclJ0QmwwRVo5b2c1V0JSR09kT0hqSWpYRjdVb3RGYmdPV25YeklKeXpZdmpHNUlZZ3NtTU94SGt6OE9zTVNyVk5XZXE1VDhEYU9jYkV2MU9kNXJiczlhTzdZdk1ldDYzRWtGKytmTUV4cStNUmw0L0w1YkxaTi8rZXorZm5aNkthenVNcVhTUVZPNXNwSlhmbEhBSXplcy94SnNlY2tSSmlETW9nOWQ2VmZScnFYTXI2S3BWVjI3alJ3SmFjR292T0FNMXpNZFFNbndLMUF1Yks2M2tkQ0NodkkxQzdnMHo5bmYvRCtYemUyVmo4SDdHeDRQOWR1UWxzWUNycXlOOFhxRzNIbS8xME9qM2p3L24rY3Jsc3R1TStqUG1teFQyZFR1UHo4M1B6dDJwbjFYc0VIWC9iblBhVnFWbWgweHdPdDBvNlhMTEFIZVBVVTIwM3dIZmNyc3BDd21WM1RyeUI1czBNc2VlZzk3eC9Cd3pDakJsYkIrcFJBUGxhMEJWUXVUNlY2UUhkQmxqM2QwS0cxNDdiK0RxeFFlVXltRE80M1c0ZFFhcitUSWp3bUFkMHo4L2g2NXZmMC95THYzUGI1WExwcnUveWREbzlzN0VUMEkrUGo2ZEtLOVZVRUllS1dRV1BBT3JKOExLZDR2RSt0OTFZM2U3VUZsV2F0ZzJWd0puYitIUG10dm0vc2ZLNTkvT2FXRjN4L2VQMVVQSHZBNUREWURwWVhmYjBkcnYxVjJEa0JreHR3L3RFV1ZWbFhXZEM5cEZZczUvamZoOWRTLzE2dlc3czZsVEcrVGZxc3hTSkh4a1hYcS9YZHIxZXU0THNmRDZQM3ZzVDNONzdEa0wrelBtNWpTZEtMNHpSM0F4UWQ2ckhrTGtZbFNvd3NycTd6bnp1NndTd2RzTUpPWG1BNWZCY2p4dGdNR0JZSGxyNXpva2h0c01DVGdYTFFPVzRYQzZkRXlFTXByTDhtQVF6WFJnZHVpeDJ5WnpvcnhrWXNEbjNoQjFWZU1MR3NYc1Z0Z2wycFc4UzNzdmswdnc3UjRoTmFIdnY0Y0FDbDVIRnp3SUgwS2M2enU0WGpEUFIvanBBVnhXek8xWGsyRERiM3ZUY3hlR1UxaVdaSGttSURXemlXS3ZpckNKNERyYXZzNklKL0dHNmNUcVdkWER5K2ZBclFEVlZrTHFrVmpBb1pJSVRkbW1JcVh3cWE5NU4zK01HWW9aUWRSVk5PNTNZMXhSa2hPMTZ2WTdldTUwN0NhOWxKbmJHcHhPZW1RaFN3L0FRc21tcDV6VTlCaVU4RzZ3dlg3Nk02L1U2UGo0K2RvMEJ6NENwZ2lrblRVZURxd2xLQm1nM3U0T1ZqcloxQStyQWNnYWVqV3E2ZUpDdkNZRkRPTlN3T2dIWDRFUVJ3OGx4YnpET2RFSzZnWjNIazFiKzhnMm8xSkZ0S1h5di9mRWRUWHVXaldYZEFaaUJwNkFEZURyQ0ZpaW03QjZaRm5lZUk3R3ZtL1BNa1VEWDY3Vzd4SThiMEQ3L3Y4ZEE5cWZONW9hQ2Y3NFdaakgwbWYxY21mWTFZMEpVRm1WclRXdTh1emtOY0x0RWo3dTVGWEJUa2ZDNkdPQTVxOFlNeE84S1Z2RjZzQVZHZGNyVWJzS09EY1FLa0xNT01kbWx4dW02NDJZclBtMjZBbGhaVzFZQjFSK3JyR3N3RThUYVlBV2VVTXhkZitXandTdloyRWYzeXRPeWZuNStQcFZQQWFxT240M010TkJxdm1qanhiak00bFpqWlk0Z3FOTUk1a3RhVy9zWUtOd1MrOWxGUXpHaWhtTUNLUGE3K1owVjZFYjBHUm1vYnRwWDhKbGpXdTVGTUxONWphNmhHOWt3UWdacWY1KzFOSDVVeHprRlJlQ2RXaEo4WGRsR1VreE83SFJsWVJtNG1WTzQzVzd0ZXIxMlRQSkV3L3JtRU4zTDVTS0hJV1pnOW16K3BVb0tPWXE1YkpUSmRYMmdtZTFVY3hNWlFGYUVRSWxIY3QzMk0rWTFCekdrR3V6Zml5QU45eit1Z3BsWjFzeW1DckRDWVlrR3hEVHBJOVJ6Qnkwckh5ZURVQzFuV2FlVWFEOW40eGtOeVlNQkRadHpaM0IrK2ZKbFkyMVhGRE9jQVJKbGFiT3lpUzN1Q3BMSTlqclpqQ0RrYVZ2Y0NDandvZ25LU2hXZHpYWldsWk12VlRnRDhMcHFsQ0xycWdiY0IrcVl3cmdLWXBUMGNjQ3FiS3lDVmFsa0VhYm4vRnlub2dDclBLZnFmNTF4SjdzR0IyWlhjWm14b1NPenRqeDMwMERaaTdhMC8yQUlSMFVsQmFnOVN1RHc2S2NBemxhQjd2SFp2V3BqSzkwZHlycTZiS3lEVVpRYlIwQjA1YmlMUWtISWNTVW1nSUsrU3d1cWdIQ25vaW8yUlFVMXlqK0JuQnk5cHBoVktMR3lDN1p6RksxcHhXSytFOEloVkNXTE4vdUx0blVVNGF5b1lMb2FBTno4RmR0YVN2WTRwVjBCRVcybHM2MWN6cWxsQktwVHlLZ01BaHJaMWNkYzFSUk90UG12V05rZGNLWjdaS3hhV2ppUExKTXBwN09aS3hBK3JxRy9vSkxqeGYwcG5KbHFMb0RabzNneVUwbUtHeXMydGFLZWNqL2QxQytySlNwbEJxbFR5QXFnUitEOEtqS2xtUkwyZ3RVY0FkQ3RzTCtpakNOVDFvcXFxa0gyT0hFYkc1c0RGblVnNUFhK3lMb3UyVlUxcHRqMVMyWlFxdjFPUlpOOUlXelJmZ2FSQnhLb0JFOFVXeXFsSkZ0ckljMEF4TmpTamVkOTlDVFkvWERmU3pDejVNMElab1ZFc1duUEZOVHNsOG9vVkMxVHpiR2dxRlpORFNnVndLSysxc0dETUtxeFpDV0dWTUR5c2lFcjFqVlNRSlVZd2o1aUhPbFRoZEh0NDRTUWc5Q04rbmw4RDkwTk1JZ0FkZ3I0NkpxUmlSOUk4dlJkRnZicjE3bS95eFVNS2pOTE1pVlVBRHd1MkNXR2hoaStGNTVUV005TTljb2d6bXMxZG5NNHVPRi9MQUVZV2RjcW5NN3lGbXlxM0lmd21PUk9kN1kxaUZXdE9qb1k4VG80MW1UVjVJeXNnRkZ1UnpzYldGR2JOSUlKQ0R2MWRPbzRsWkc3aldCd1JGdFZUS3VXeWVDQnlKS09hbjhvWjNlcDlYZGRObDB0RHVheXdMejljWFBZZURBQTBTcGtCTzlzYlZjVE9WV2xkUHY0dXl6RWt6eEh0anZvbkhvU2tGRVdOb28xZDhEaGNRcHV0ZDJwcE5vbjRCem9BaUoxaEJGUWcwZFZ0ZGJHSEhEUVd1c2htTkVRdWtMTTJRTzFHMlk4YmdUWHFGaGNCSmo3RWpQZ2NQdHM4VVM4cVBwUEIvZFh6bk9oNVo0Mzh0ekg1ZWM2UWdyT0tyUlJmS215c0JtVURCK1BoWWFiTWxWUEVSK0dDU0lUVHpyN2FtMnRBckgzYmdjRXpQSm0rY3I1ako0Tm5ITkZEVnJGWGNJNUxlOWs1Sm53K2JlZGJWK0ZmUnpaSUhhT09hT3NMWTAvN1VHczU4RGpyR3dLTUlNRklHek9FVzEvakdzZEF0Q042aEVBSTRoQmU5WVhlUlJPQlNWUEFWUEFxdklNNWJ4NWhWS1dBTVA2ekJSeTNpZXNjcmlkVmRGQmluQnhYRG5HMkdSWTJYYkN2cDFsaHZHdE85Qnh1NWg5MDhYUXU0MmxuU0FyTUZkaXpNaW04dXdSQ3hQR25uT1M4bHdwbmJPaURxVEFqc3JSTi9QY29BU2NDYmFBQ3FWTTQweWxuampUQnMrYndXbEFHMjMvVUtiZGtpd0tXSVFQR3pXYWN6cG9TbHhQRWo4MjJjTldrcFM3Rnl6c0RycXBmZ3BHM2phaHcydmdiYVNRQXh1TFdaWXQ3Snp5TmU4Sm9acE5BY3ZERk9kdzB3cVlUOUFLMXJaei9EZGJTbExQcDByeUl4Z1FKbEs5QVpsRXE3SU9YcG9oZzlQSWhyQ25nODhKc094aVY0WldBWWZnNHNpa3gvOGt5Mlo5bDg2MnVxd3Jmc2NJSDgrdWdUbVZHeWlkZGVWWVVnRU1uNEdaemcxNEV3SXNoOXN4MmNLS2lXWFJldU9FNWd6R09RZ2RsUktWVmRsZXZxYjI3OVhxMFFuc3RzMlZEYUJPMGNvZXpzcnVXdEhBcHU2c0tHNElCaE4wYUdVMmtMck1LR1JUTjNIbWJDRHdLVjE0enZrTUVERzRRZlpWc3BWbGFOVTJtaGM1VEVaM04xaC96cVRoZXVMcFcwNVpXVEdWamIzZGJuTm14S1pCbk44SnFpZGFWTEtBT3lBUk5MUytNQjU0WjIrVmFxb01MS3JvVkJsbmdlZm5UUEFjb0hOV0NTdmxmQThDSTBIRW1CTkJuQmxYeU1yelU3QTdXVm05NFBQcVEyZ21xS3grV0RHc252aWxtY1NPQkpxT0sxbll5QUl6dUF5ZXNxM1VkU0szS2ZXY1lLRDk1SG1mWU9VM3FzZXIyQ3RZRVVBK0ZwZnFkTnZnUEJaVUJoRHJHT05SVmxRc2g4ckxjYVVDeWtIRzBPT1V3VGxMQnJzaDVzb0VNR2V6aTFFNEhSVnQxaWNwNXdaRUZYZGliQ2tHOFk4dlg3NXNiTzRFMGlvbTl6K2hqU2lPZnkzRGhwWEl0cFZoRStVR1Fkdm9XanRDaG1yR0hmNFlBektnQk5uR3R1SnhGQ2VHZGhVQWZRTExLOGtCWUFQNmd2RkpaYWpNRzNYa3ljeThLdUMwcTRFeXltd3R3ZHhkdjJNMG1JQnRLMExLbmY2NDBqMDBBdXE0Z1VrZFdHbGhzMjJxSmM2ZFpDc0wxOW94bmxUSkc0U1lWUklHcEQ4VFBGQnVNNk9FbGJTMXBsZGlkNG1HQXlONlpJdXBiQzViWEpOOWZkcGJUaFN4TFVhSThJRzFYSVlCeFczVGpzNktRb3NLY3hmeGNRbWRud1JHTTEwR25GY0N5MlhZdW5MTXlBa2RnazRtZVBpY3pzTHlndGhjQnV0NmdvT3FTN1lWRlhBRExqYW9zQjZzNm9mY1pXQVpTSVJZcVNVa2l6WXd0dFlhYjN2VU9ROXcySFJ4SUlnOFd3UlZlRTY4eGk0VXRMM3pScGh4cGx6d3VacmNxWUNxMUkzalBJNWRuSkl5Z0VvaE1iUHFWSlN6cnd6eEJKVHM1ek4rUmVVU2d4aWtQUVZGM0pWQmVOUXhiSEVOckVNTnZFZEZaVlY5bEg5K09SR0VzTlpRcHlUTmM0QzNBRzdYRjRuZ3pxK0RyTzJ6YnVhYU9YZ2RhRmNka0VvdG9TRkJWWDJxSjBDOE9XWmVHNEtHbHBnaEEwWGZUT1BDcVYycXF3UTI2UVdmRjJQTUxoSTJ3MWxWQWEyYVBzWWQwemEyNU1RUndnY1pONnVRRENpK1p4aUQ0WEVNMmtaeE9UNDFGblpuYVJsY3Bab3V6bFJxcWRiUVZXb3BRb1NCNThSVjUwbEJOckhpL0F3WFM1THJ3RFZscFkzRmMzQnlpWUdjNTJUcmlzdDZrT1hkd0luQVF0SnBwNVFjaHlhcXVZT1Y3U3UrZnhWTWFWM2RjMFJFMlM2bVVZMGdMdDJwTWNZcXJLSVE5dzJsMWdwUVVNdFFZY21tYnQ1RFROeGRoblVDalFxdGJLOVNVU3p2ckMwbW1oaEUxZTJGUzIrb3h5cHkvWkFTdXRrbXRqeDN2Y0JDMjRQWDY1bmJxa0JDUmhmalM5a0lZUG5lZThjTWFnVk9oSS8zVDFmQW1kdEFXWnNDc3dUSkNrUVZOYTBxV0tTS1BPcEhBVWhEOURyYlZjeW9Za3dxaHZoMTd2WUFheVhMUXlLR1lkeGxVREZwNDk0ckJYUmpZZ08xN0REWWV0TklVai9lenA2UzBsbmxwRXdzV21KTWtPd3NLWGVaS0VBaklIbjBFUUpJU2FSQmNPNlVNSU56N3AvYkVqam53NGZ0K3htRHZrc3hYNEcycklyaXM3cWFlS3dBRk1QMk9pN240Y3JpdVp3dHBTVXdwZkx4U25PUlNySXF1c2M1WkZhWHlzcVJXamlaMkR5QVdFSUwzNXRWU29RRWxGQUNqT2VHR1NFN0FIRVFnZG8vTFN2Q09nR0J2a3hzbURidmxTM0ZwNXZoYUIyVEFHcVJLcktLTXJoTFZwYUd6RVZqWjBPUXhEaGFDVEErUXlSUjFkMTVhUXpySm50TDNSaWJzaXBqRzZqbGdMNHlxYlMwc05ZZzFlODR2aGJCVnJFbEs2NENVY1dZWERmS3hocEl1eGlWSlpVeHNiTXkvdVJCS1ROUlE0a1EzTGRSWUxTMHJKalJQbFRQcVk2Z2RKc0VEYythUVhBbitIZ3NOVUNiUnVGME9qMHp3bkE3YldEa2JoTzVFbnMwMHFlUWhTMWxhQk1sNU0vY0FheHNMRjhyS3lxbCtUZjdFTExFR3UvaXhpaW1kQ3ZvMFRqZnBqS3dhZ2dlbjRlaDV2N0xva0xLYkx1eXZIaGNaRzhkaEdyRUR4N0hnOTNacHBKRjdxQnFPM2lWdmVYRURRTkluemVvZThZcTZlUGFaQloySnZpTTNXMlVBR290ZWtSQ0FHcTRFa0YxWDNET25SMTF5UnNCTDF0UmEwUFZjWmlORlhaMmMzNEZza3ZvbUluUVE2bHpwSm9aYkp4azQzTndLSkZCcXVKU3NyQnlIeWR4S09uVHhRQVNCbVMzaitKTW5zSFNsYTNFYzZLOVZXb0pWbjl6Zmp3T003aHFZQUFxSlF3RTJhM25BNDhKMlFHZWdSa3BaTml2U1kreXMzRWtLZDRvSkl3c3ZJSGwzY1dnTHQ1azROSDZPbXRMV2RwdXJPa3dFTXVwWWM3ZU10RFJoT2NJMnVpNUpoVkl6WHpMeXRvL0dBUHVab3lvOHdrb2R1VmdKZ2xDdDdPaEdiZ0lENE1xNHNpKzYzelVTMUZ1RkZYRmxxeWFqMmVtSGxMTWNCcVl1MEZNdVIyOEJiQjdsT3hSTVNpQ1FYRmhDS3V3a2haK3BZRGlHU2dic0tLVjhNaVNSc3VIU0lXTTlya2xSaUlsWlp1cVhqc1FLOG9vWUpNZ3EzSktXVmtoSGJoc1Z4RlV6dGhPV1BrWWlqY2J4NTRJS3NTZFQrdUxyM2NyR0t5b1lnRmlHUjlpQms0a2Zsb1VYK0pJbFFSUXFhYm1wZ25ocXRwUXBiNlJWUTFXSDVEbnJTNGhFb0dacWFlclEyZGhGYno4WGVQeFNobURibzcwZUlTam9vck8ydks4U0pYSTRTVW1FVTR6V0tEelVEdFdUWXc3eFhsYlNURWo0RlJnN3pLbktvR1JBTHYwR3M5VGdjMUJwQ3l3R1pSUUF0cVZ6MnhyQmNBTXpFcGZad0ZTYTJHNVcwUUJGalNNYXBXQUVGYTNIY0dON0N4RHpFQ3lJa0o5N3F3cnFXTlRXVm84NzZQUHNqUGtqMnd2Z3JvTTVsTFpLTUVUS1ZxbC9Ddm5XVkZpRmEvU3pKVVF3a29ac3I2N1k2dmxTUlYzLzJ0bU5UT1kzdm5heFl3TXVvUEtxZHpSMXc3SXFIeW1sUHhhQVRoZlU3S28yWlhZajRBWUpITCtrTmRLd1JRWUVTVFJhNWZzVVovclZDMVRNVHlXVnlZb3FOdHV6YUhzTXl2MnR2b2FyeGRmcXdZZ1UxYXhGby9jbnFsMUZHc3FLK3VBUk9WOEJYNEdVOFdjWlRBVGkycTdRY3lpME8wVitHaFdCTU5SVWtuOEgxU3NXVkU1QnkzR2kwRUNxVWVKb0JmQXREYTRhbWtkWEczN0FHUDVHZ2ViODRwN1VhenBvS1J6ZEZ6ZVE4SGtvSEd4cHJLeS9IcG01dDEycDQ3SjZ4VFlERXo3dUlORVhTdXhZWHZGc2tZQWMreVN4SDlzZjVmdEt6VTZJYndWQmNVR2c1ZTVGTUNFWFNFclpSMHdHYXlWMTl3b005Z3VQalRxSmRWVHFSNHVFNG5KbkxsZFdWa0VDQ1pMZDJWTEYreHRhbWV4N0lwaXJpU0RVcHZycG45bHJ3R01DSHlwcE1IK3BzNkxJTHN1RkdVajFYRU9YaXFicVNIUFVLbkNscFdWNjhrcXRVUlZORFk0VE5hb2N5a29ZZVRVNW5nR0VRYS9TMURubkU0QWVYTWNLakhQQW1GVmpDQkVOYWV5TFZOSGZyM3B4OHhVc3RKOTRoSXBmSDRIS0UvZURhQXJLNmxTeVZWRmJkdDFneFRJVmszcHBwVmxGWGk0cEVoVkJUT2JxdW9oVTg1TUxYbjFpYWh2VWtISmpTQ01jMDF0TEZ2ZVZWQngwRG9kTTZqZnRDdTdET3RJell4cmMwcXAxSkdQMmF5WUZ6MkdiNkh2TXJPOGNuR3RWNkdqbTN1SW1TZkQyR3BXSzZ1b3diWkdNeEZLUUNvMXBPTXRjTVhGcFJzdCtoWEdvQW9tRjNzU1RCR2dUZ2xiQktXd3NRM3RacWFZU3AwWjFDaW1SRFdGY0NKVVBZSjAwQkk1RmtLWU5vaWZ1UXhtTjg4U1dWWFdMTWFVcXFxZ0MwQm1RSlI2c2szdTlOQ2Y2allMWHhBZnFzWUVnVkxBaFJZMkF0Z3RmbFpORm1GeWh4ZHJMa0FkV2xrNEQ4OE0yaXhIeWVwSWRoTUhyRy9pUjFaR3RxME1HcGJEYlJQWU9YZVNZMU02Tnk0WnN0dkdTa3RLK1hiRlBBVGoyRDM3MXNhUEVzQU1YaFhyc1owa20vWFN0a2hoTXlCZnNhNnVYRlplMlZDZStZTXIxK0dLZ3dyUXlOWXExVlJyQitFaXpBb3c2TnNkTktjeVZFa1llTTczeXM2cTRrQUhwNkJpRmtsVGtJclZDNW9ZVjd1endPR0N6NFVKMFN0cTJsV01KeTR3dGIrUmV0TDZ0WkZpY25KbUJ3NVVqQ3ZYWE1aVkpYMk1Ra2JmK1hONUVXZDc4Vno4L0pFc01aVEJpS056c20xaW5MUlVRNzRINE5pZGFxSTY4ajVzQUZneGNSdmVDN2llTEpYZlFZeGpaWjJDc2lXRmV3WlhKbUJJbFoxdGR0clg0aFN1YXRlS3NvL1JaT3RPS1cybm1xMW9UemVLNmRSV0FXdTJOUlZiNGhxMFNYbTFHdnR1Z0hyYnI1SVhxbVNrdGc1Q3VERTJNU2xQd3NZNWtORTJXcDNBcWlaYldWTEF4aUJGKzJpQlpidU5qNk1CNnJzTUxDN0Z5YXNhWUR5bzdLa29QeUV0dzNwRU1YZlB2eEFKaTJqQVFRZ2pyejByTElaU1dabElvTmh3ZDV4SzRBUjltWU5qV0FhTHJudUltSmVCVk45ekJPUk9iVnZicittVFRmRlNFSkxTUm5IbzdoRUpvSWk4TUZxanhtdmdtRjVVUlp6NHpMRmdaWjhDdHUyWDdnZ1ZjY0ttOWdWeElzT0hxeFhnTk1LbkZXWlluZjFkQm5PaGF5WHExN1F3RmxXVzA5ZU5LeVZKRm1YcWFPTkdBNWFDZWdNYkozVVVrR1kxaWMzbktXZ2pxOHFmVllHUUcxZ1J0NnJzNjJhNkhpcXFVT3FkZXNLNU5tWDRuR29mSm9pRTFkMGRGOWxWVmt2VDEva0VFYWFDb1lPd0ZwY1Zjb0xNKzc2NjlQeEM5cldxa3RIMHNXVVlsZDBWQ3B1Qlovc3RWUmNHZ3k5V1gyK1UxUXRoaTlTekFxU3h6WnN5K09pRnpCWW55U0dWNkdrdTQ0ckQ4QkNPWkJWM0J2RDUrQUtSSE53TUVzQjZFekhuSnBrVEFlaVVsRUdrY0VDZUI2R0RaVHA1WUVKVGx2ZHJrbnhZalRsbE1rZk50WHdEak03dVZqSzVKWFVVbjQzcnJxcEsyanl0YXhIVzBNNUc4REM4cnRITVlzN0tTZ2R1VlFNR1RZRnFGdlZTNnJrRDNzREo0NmFmZFlGd29xMTFBT0tDQkxodndvVWdjOElHQU55Y1I2a25acmRKUGRzdXhueWpmZDNGb3ZUbFJNZEVkdE9sNUNNVjVFSHNYUUJpczdUT3d2SURaYUdqMlZucGJoN2NwSzYzVndZRU1Md3Fianp5bDY5OXNhd0ZGa0YxeXFqVVUzMUhmQzZzVzFaRlZGdVhWWFZnejlrZUVhdzB5czFsV2ZtK2F6UUFRU1dBK2hLWVZmc1pqUG5jQWNVQjlvSWF5eS9VWlhSTmNrREdqaTc3R3NXYnZCbzZ0UHJXUHFPeVZrQlVxK0lOZXFwek5kWXMvdTBpZmg1cW1wcUlXKzMzSlZTVWN3WTcwS0w0VTlsWWRVNmxqdFNsczdsbWZpOWczWXplUWZWa2FHRmFWM09EQ25hRDJOOHdzRURGa2xFM1J6TTNaZ2hkWWtXSHNzenE3MEZJZWNuS2tWa3Q4ZXpNelJxOWJrR3VLb2pSTEJWU29kM1kxeVBxS2dZVzdKUlFUUFZ5eTV4SVlMak9neGdUNTJSS0pVWTFkT3JJaVJkNGZ1dFF4L0E1QWNTbUVqejB2Rldya0x6dmJXQXU5SE9XYkdneEZrMVZOVHBuQktrNlRnd2lzSS9IY3hZWFAxdUFXTzcyVUxGbEJUcSthU3UyVlRVczZocnhNMkNGK2hFb3IxVklBOVptRlVhYWIxbFNTZ1pzVnM0c3h6SGxWTG9KSHI5SDREaE9OVGtJMVhDMC93aVkyTm9XQUc1UmxuSEZucTZvTGNjcFFkZE11Si9PMTdKVkE1T0hMaTBCcUN6dHE3WTErK3VjQ2Q5OHFMSThNSUhCVi9jS2p4UVRtZTNoRkJTM015Q3FuRHN1eW0ybzgwSGp2RkZUdHJVUm1OYUdKc21WYWhJbWpUc1VYS3RRWlRBVnM3TXZ2OC8rZnpVclpBWGNMSjZNNGtvZTZYUDBiNlNtV1dORHp5VXBROGJsK0x0V3g0dHVxWjM2Y1JZVjN5dVZ4UE53dklpcWlRQ1NtdTdzcmdUelI2bmt5aHBDYXJYd0Z5MXZHZDVpUDJjWTA2bEZyNU5qaGhnMVk2K05CMjhmdGJLODNzOHJmN2tMSmJLd0RGUGJMZzI1YTBBZFpKRWlxcjVwaGl4S01EbFJVdGNzc3ExaHJpTHFHb0gremVOZ1ZtOU9lbWpzRVRWOEpkRjBOSG5rSUZ4V1kxT0I0WXJwN3J0V0o3TmdBQUFQWGtsRVFWUTNvTnM1bnBseVZmOHUyRm9MdTFKckh2ZWFaV1FqcUFrc2h0RmEyZ3pzU0czWnBrYnZnM0hhZkY5c2xQUGxsZGpGbEs4MEd5c204TXI0TVBobmVOV0VOUEdqQUlwbWlsVFBBVGRUUlRYbENCWUhZQVF1UHdBMzZ4SXBXdEdONHEzWTJNaGlHc1VwdVNTbmxFSlJEOFBvckM3Q0ZZVncrRjUxcVRoZ2FieHNUeFd6Q0dZMFpTc2IzbGZxQXkwT1BOak55OHhpUVFLc0hZRlEySEJaVnZWYkJ1cTNtMW9XS2FqcWFvbnNNNnVaVXI2Q2pYV05aMGw1RTNoM2pVUm1hNmtQM01KSWl5MUxtK2thaFFxNDFOMmlaamE1c2p0bExZTlpIWnJINnFVR200dk1iRHA2UncyQ0ZtdnV5RmtyQmNDeU10RnFCYUVDbXNIb0s5QloyTEEvbEpjUnFTYURxbmFXYnJaZEdhejNETGdJdkJsbjR3b0d6dGJ5Skdxc2x3eGtoaEhyVGpUWUZYQ3RPb0tTOHVMZG9mVmRBYk95bEdVNm5sWXBYV1p0czRuWEJxNld4Sml0TU5va0hVSm5ibkpwbFFtK2FHcFkyYTVHTVYyUUQxaFJ1YkJQRktkdW1mNU9Ia0xIejBGOWx1RTVrakJqUmEwbkZFNUNVR3FIdzMyTW1qWjZ4a2dJTlZuU25aMVZaU3RLMnFLbFJhTGxRZ0s3dVRxN0pGWEp3TSszU09FS3loWk5JK3RKMEk1cU1ZeTlrMnFKRDdkVldkcUtYYTBDS05SMENjamcrQjJJWXUyZmNCWkpaa01GZ00xMXIwWDkyd2lsZ2hGR2d6Vm5leGxxQjd4TDltUzI5U2lZVVZZMm5YT1pqTkJSc3lEc1FQUldXNWhyWjRYY2RDNEhWV1JiamdKcjRzRm9mSzVTempRN3JoSTFVZWJkUGRFYmo2c3FJdlRaUVo1dmEwOHJBQnNBVzBVeGVXeXRBazdBMktKOVpweHpDaW9CMjRYRnRZQWVYWXhyNmFuU3FoTGdwcEVxV2JHd0x1blRnclYrSWpXbEwyOWxqYUFsNEVRTUdzRXJwNGFwZVppcXV3UlhMWEFxT0NlcnUzMm1teWRjNm9XVFNXcEZBR2R6ZVRCOFJUSFZNRXRsTTkwQ2JiUUNZaFBqcTNlZ1lyMUZHZFlJUWppdURHWjV6Wi9Bem9iS0dPeUx4dGk2YzRSd3R2MmFueVdsTElDbmxMaHhKUlh0NkE1ZWJEQldGTk9OYnhXWjJkMDJtbnU0UzlZRUNwZXBwVjF6U1dSQld4SFl6Vkl2MUNYU291d3FxWDNqQkJCRFpkWVFicFRRVzRaUWxTOHI1a0g0c3VTUm1nMisrM0pOMTB4MVBhQW1Fa210WWxFZGVHcEpFTTZrT3VDcUNSMjJvU3VqajVJVjJIZFQwemo1cHJMS1RqWEZBUGpkUWx5cTd4SUJ4QVFQNXlNY3pHNFZ4QUt3MG42aWxaMlFCY2UycEx1bGt1eHhxbm9JekZmZ3F5cWppbDlTMVZOd0JyRm1leWVvcHM4eU9qWlV5YlpkZlM4Q3VhVElKdW16czV0T0RhTnRMcEZEUS9QY0pHd2VMaG1lTDFuQjBLcWlVRFNjc2lVVkQ4OURpM0h0ckt0U1VMdzNSTGl5Z1pEKzdzRjhKVE9iZ1lzckd2RE5VRlJHbDFpeTBMbDFZa1VjMmFKWU1vZzkyMEk4cVc2WURDZzFNcWswSkhKRktYa2JnYlJyZUkrcXBZTk9aSHJWY0RVYmE3cGpzcGhTSk50SzZ1cGdSTkFWb09TMG11Z0JlTjRiSVpnSGh1UFovczFFTmFYNktzVnIrWU5yaDFOYjdpcFIwUEU1emJOUmVnQ2JySFJVdzZZZjA3ZExCSmwxZjhLQjlhczJWMW5OcUFzbDYyTEJCaGVod2FsZXJrSG1CMUpGSUVaS1NFdXNkbDVKUWoxbkpsSFhTQ0YzNDJnSjlDWUdyWGVsa25KSVhxVlA4c0QrcXRwbENSM1hIMnFmS3EweWdNcCtLblZrS3hObFo4bTJZa0lsVk1pQ25YVXdsN3F6bkJLU3ZRejNtM1B0Nm9RYlhPNWI1Rml4Q2gvZkh4VVFXL0FFY0s2ekNOcUtRbkw5c3l3cW1LdXd2cVNZelQvYVBWTk5wVnlodlJXMjFhcWNpQ3NqZFd2QndJTFV2aDVWeUN6YldvQzFwSmpKNjgwQ1dzbCt1ZEtCNlQ1UndHMW1sb2hubHBiZzQ3aXo1VTloYTBGR3RtUkxGWUJ0Tzk5eTk3QXAweitaRFRBb2c2a1NMWnNNSGcvSUZra2dwNkNwdlUyVTBjWVZTZG5ta2p3QmRPbVhieFRXTld6dUliaXBNaW9WeEVja1pFb2FoU09peTJNM0swamNDMUxoVkR3YXFHMFp2a2NXcUNuckc0R0l4eWtycWxiV2R3NkxReUJhWlI4SG1MUkloUVdzSHN3RDQyWlhWTE5rZjlsK0ZsVzBIVlEybHdGc0MvWjFGZHpsUVIwS2FQZm8rRmRmdSsvZHdWUklDdTFDR1I3QUVJaUFoYytBWlVGMGtPQmFQeG1VcWc0aTY0dlFuVTRuRkRZSjlOeisxZlZYdmVIOXFtcitrUElMeDhvS2NSVi9CRmJ4YkUwSk1UMGtTRDR3NkwvbE5ZOG9jc3FhZ1ZkVTNBM01qeGh4Y0d1cXpzUEg0aXJwYW93MXE2T3lyVmp2cDlOcGM1OUU5MUxsZGJvWVZ6SldkaW1XZkFXMlNORUtjRGFYMkZtQkxMQS91S3hsbWhoNjEzSXMxVVJRQXBiS2Z0dHd4TDAycTZPbng1cFF4U2JQb2pBZyt2NWhBbk42TEhWUkRYSXN2S3RSamlTMHFKVXlaVEFYVmJBSzgyRWxGSldhUWRWb3FVQzFVbnQ3QlZhVFF1ZE02U3VxZXhqUUpONCswaWNheHYvdXRiS3Y4M0VUYlQ4SDhnamNPS3hPSm1iVWE2T09WWGh0M2RGWTZySHY5WG9OekZMY2VFQTFvOCtwS20wTEFIUEhaMnJZS2pGcTBoZlpGaXhzcUhKZ0QzZUQ1bitVMGtiMW1GalhrbjJsdk1TU09zTkUvQ2RJQUtGMFN5dHE2dXJPSFVONWd3ZzRHWm9zZ2JtZ2dNNXVjcmEycXJTMklnMWNiaUJCY3hZemd6VUROTEN2TDhHYlpYTnA2T1J5M0xtUytLazgzelJJQUs2QTFpb0thMkk5TmFwSXVpVUZkZkM5NzY2UEZaVXRxVXI2S2JXayt6WlUxYS9acklYRXp0cmpUT2Z6N2h3S3ppQ2VYSWFyYUh0YlpJTXorMnBHZ2F6Q213NHFXQUZ2RWRob2RZcDBYcTBwVjdHMVlXWVdiTzRxaEdxNDIrWjhCWXRyTFd2bHVOUHBaQWVhRkZTMXZ1YlBnYmd4c3FjcG5BYXN6Qm92S2FGb0RROEJHdGpmVU9sNE5BRzJubVFWMDRmZUpndW12WDJmc3JRRVdaZ2hMMEpuVmRZa24zRE9aSWVSTjg2UnFQV0Ntc3ZHVnFFTVJud3hRQXh3UzhFTVlvM0l6bVkyK0JDY0xwNE1LaXV5dWhJbWFtbGJaRmNOb05sN3RwK1JIZDE4WmpRSVJLeVhkRlJoTjk4L2h5S3F3WFdObzdPMXdpYVhvSE4xMDhSRVpaV0VxNmdybklmanplZzhqZFJmMVhFTDRra1hhNWJCakt4b0thbGpCamVIbFZ4UTRHYXljcFc0bERPQUt0blR4SEF0T2Z6T3Rad0hBTTdzcVZYa1Y2eXU2a2FwMW5Ia1hLcVdGLzRYSHFqZW5OS3FCanBSM2wxY2gzRWpnMStFc2dkUWhzZEcwQjRGTTlzV0FWV3B1QXlpd1RQbGVaeHQ5VnlaVlMycVhmUmVXcVRBaWxwcjlBcG9XVGp4eW1pdDdOd1Y0SlRyaVp5T0E5QjBrN0hGZlVMb3VybUtZSFZuUlF2cUdMNUhNSGRxRmNSMnFXcG1jSzZlVHd4MmRpcFdydmlEaWxyK2ZLV3EzT1dSV2RIS3dBNGV1OHdqY2hiZVJ6RmlscWpqWk4zdWZDcGZrSjAvc2NWcG5ZazZMMFBJNzdseGRXQ1o4N1dpV203Qi9BR3F1UVNudWpHS3NCOENKbWlKcThxMXBLSVZXeXFPaVRLNjZyMThCTjhyNzQvQUU3MWZkQzN5UFMyTXhkT3BuRTF0bFZ4RDlKbVZPb2dnTityNFBqQVhWRlBhM0VnNWpWSkdGVlVHTm9sSDIwR1ZyVUI3Qk95U1dxNldxWVFkV1I5MnBjRk1ZTXdja2JTZ0NLQ3FENjdEaWlXdTFnOE1RQzlCeWZjRnFXMUwrakw3MTRxTkN1em5vU3h0MGRhMmd0V04xRzhGMEJLME5OMG51aW1lbFVGOWRJZEFmak80NFVUM0NqUUxvVWVMSEpGVE8zZ21wUnVJSU92d0JRQ2JxTmVvM3F0WjlpRjZ4VksxM0dSbG80enFpbXErQ0dkVGlSMXVSWThvcWdFMDJoWkJhNzlrWlhQTXF1eFJIS2xhMnNhWldONG1ScVpVajB2TENLaGtqS25xT1FITnVTWlZKb0t2QXFTMXdwRXF1dldEQzFCMnlwd3JDUHNSTUVQVlRPRE1MSk1EdjZxZUtYd2kySllWNVNxNHFLeXZnR3NIQ0xpdWoyalI1OVY4Z01xU0oyRkpaUlhFSFZSSGozc0ZQcmN0Nk9wcWxXMUdwYXRRZHQwR3Z3Zk02bjYzSW5zR1ZGaEpHYUJxZ3FxSVY2SXNYbGxaZ3lTUHE0UjNibnQzd2k1Y3YrY04yeXFRTFcxVDk1S1lWc1dXdEtrNGNCOVc1M1dRUWZsUVlSNldsNEhhSlpqdlZFMEQ1eXZxK1JLZ1pDczVxZEJFUDVzRDk0Y0F2UUxsU2dOYVNNQXRIeDg4QnVOUTQxemRGc1gzMHpLYmNzME1MRC9paGtwUXpsMHdpVHFLTFRmYkttQ215WUlDbkswSWJhaWVDNENHOWlTeUxRN2NJTUdRd2F1NlRLb3E2MEFwbDNXTjQwTFpwY2ExQ0tLSzlWUXl5SUVuOHcwRjhGNkNMMmg4bzNpeEd3QzdzN0VXekNPcW1jQXBZeFlENGpzQXpWUzBzbDJ0OThwQTd2cktvcGhDVlNvbmJZcGdINm12U24yNHBUQlY0c2R0VjNCdE1xNWs4MnkrSUFEdlVKMHVBbGtDVlR4SWFQbStVTnUvcWtWNEYxVHpIWENHclhJQXFJdEJLeXBxSzk5VnRBT1ZzNjRPNE9iWDdwSExWQ3BZSGNSbXd2TFI3VHZZQUtCQk41OExHVnpEdUZ6K2hRYldnbmNReUNaQWsrVmJzUFNvdWY5MzI2MWlaZ21mQ3B3UmJBdnFtU3FyaVUyUHdoamFvT3lZcXRJZWdWWFZpVHNteXRhNmJHeVNwWTNneVJycEl5QWVhV0REeHRwc1h3S3lhbE1ES05QN1lCWE1xRXNrVXNpMnVDOEZOQVB4QUtUVmZUMW82VnpNMEUwakYrMXJXY1V1SHZkeWc3dmdvRnBsWDhIcHZIcE1DT01SVVBIelprSW5zcWxGS05YL0VJTzUyRTBTeFN6T3dvYjJWbVJMVzVEMVhJVTByYmdNMUF6V2d5QzdmZThHN3hVQUsvdGFFQmF0N2x1cXR5UDdFbXNhSlFPajVGK21yblpmQ3VZQ2ZCVUFXd1NoeWQ2cE1ZL3ZBSEcxVXFPWXBiSS9neTVUMENNS20rVU8zZ0Z1Qzg1ZGdmRFZlZ3VQRGZJVHJJQkxzTHJjZ2RoM0NGZ0ZaamFLSjRJdjNGOEFORXF2dXhSMXRWS09nTG9DYTFqeGJvQkFrajZ2N2ovaWNGYkE3ZjRyZlJuUURMUlZpRzEzaTB2cUJRcllWcUJiQURaVDBacGlIb1N6dlFwb3BLSUZTM3NFMUhmQldsSFhkMEg3TG5BcnF2b3VnTXRsakhCZ1puaDNFb3ovQktqTE1MNFoyQXEwK2hFSnI5amFWVUJidk56Q0lVaXJvQzdBV21tRnc0bzVBSzNNdEI1VnlwWk1TRmdzMDVKeUdWd2x3QnFzRUdBQWEyWlUxQ2pVZXhYR3NFNHJLcmlpbEJ2RnpPS0tvM0F1QXJvRTZRRlFVM3U4WXBOWHdTNWsrMVRadDVVcndvdU40S2lVRXcrazNaV0RwMVJYSE5ScVhiMjFUczM5OTQ1eVpTZzNWblpGTlE5Q0YzWGVaeXI1RGdCWEtpd0NNYTJNeGVURFlYZ1AxRnNmOVFOS1pjMGs4MVJKazNyNkVRM3JDbUJWeUxMNzVFaloxcElWREhvRnRpT0FIb0IwQmRUVnlscUJzS0tLUytBZUJYSlZMWStDWEFTdUd2Ty9BdXE3R3VFakRmR0tnMW9LYTF6L2RtbWk5STlTVUdOaGwwQXRmdWxIQWF3b1lyblNrbU5YQVZ1R0VockVWWHZVRitBNUN0MlBxTk9qRGV0eW5hNENtZVVvbG1lWExONEFxN0M1U2oxMFE3eWpnbCt0NkNOeFNSSG1JNVgrQ3B3cmVZQjNRZmRxbmE0cTIxS2RCdWM0R29ac240OVpPT2lWaW53SHFLOVd6anZnZXdlRWgyQVU1K3Z0eFo5Q2Q5V3FraDQ5VjE4RTVvajZ2VnluMFJTdEF5R0lPNWVkWFJLZDVCMFZHVlhxMnlyM3hZcCs1VXQrQzRRSjRQMU4zMzlwUU1qUmVqajR2Yi9EY3I2clFjM08vMHJqbXRacGVZQ0JpQ0hmQ2VtUmJOaGJLL3BOVVBjM3dmS3k1ZjJEN09sTDMvdVBodmUvb1U0VDBGOGYrVk5NMnZ5b2l2MGpLK0tIUWZkSHErMGJuY3o0b3o3My8rWTZMYkt3MW8vNUI3ZU9mMVJsLzBkdTlCOXRuLzlidnJmL2ordjBoNnR0bjJ0cC9yLzQ4MTl5NC96djUzOTF1dnp6ZndEaWZ6NnBoVDFNUGdBQUFBQkpSVTVFcmtKZ2dnPT0iKTtiYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO2RpcmVjdGlvbjpsdHI7aGVpZ2h0OjEzMHB4O3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247d2lkdGg6MTAwJX0uY29sb3ItcGlja2VyIC5jcC1hZGQtY29sb3ItYnV0dG9uLWNsYXNze2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmU7bWFyZ2luOjNweCAtM3B4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZX0uY29sb3ItcGlja2VyIC5jcC1hZGQtY29sb3ItYnV0dG9uLWNsYXNzOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmNvbG9yLXBpY2tlciAuY3AtYWRkLWNvbG9yLWJ1dHRvbi1jbGFzczpkaXNhYmxlZHtjb2xvcjojOTk5O2N1cnNvcjpub3QtYWxsb3dlZH0uY29sb3ItcGlja2VyIC5jcC1hZGQtY29sb3ItYnV0dG9uLWNsYXNzOmRpc2FibGVkOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5jb2xvci1waWNrZXIgLmNwLXJlbW92ZS1jb2xvci1idXR0b24tY2xhc3N7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6MXB4IDFweCA1cHggIzMzMztjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi01cHg7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOi01cHg7d2lkdGg6MTBweH0uY29sb3ItcGlja2VyIC5jcC1yZW1vdmUtY29sb3ItYnV0dG9uLWNsYXNzOmJlZm9yZXtib3R0b206My41cHg7Y29udGVudDoieCI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7cG9zaXRpb246cmVsYXRpdmV9J119XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOng1fV19KSx7aGFuZGxlRXNjOlt7dHlwZTpUXyxhcmdzOlsiZG9jdW1lbnQ6a2V5dXAuZXNjIixbIiRldmVudCJdXX1dLGhhbmRsZUVudGVyOlt7dHlwZTpUXyxhcmdzOlsiZG9jdW1lbnQ6a2V5dXAuZW50ZXIiLFsiJGV2ZW50Il1dfV0sZGlhbG9nRWxlbWVudDpbe3R5cGU6YXIsYXJnczpbImRpYWxvZ1BvcHVwIix7c3RhdGljOiEwfV19XSxodWVTbGlkZXI6W3t0eXBlOmFyLGFyZ3M6WyJodWVTbGlkZXIiLHtzdGF0aWM6ITB9XX1dLGFscGhhU2xpZGVyOlt7dHlwZTphcixhcmdzOlsiYWxwaGFTbGlkZXIiLHtzdGF0aWM6ITB9XX1dfSk7Y2xhc3MgUDV7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEpe3RoaXMuaW5qZWN0b3I9dCx0aGlzLmNmcj1lLHRoaXMuYXBwUmVmPW4sdGhpcy52Y1JlZj1vLHRoaXMuZWxSZWY9aSx0aGlzLl9zZXJ2aWNlPWEsdGhpcy5kaWFsb2dDcmVhdGVkPSExLHRoaXMuaWdub3JlQ2hhbmdlcz0hMSx0aGlzLnZpZXdBdHRhY2hlZFRvQXBwUmVmPSExLHRoaXMuY3BXaWR0aD0iMjMwcHgiLHRoaXMuY3BIZWlnaHQ9ImF1dG8iLHRoaXMuY3BUb2dnbGU9ITEsdGhpcy5jcERpc2FibGVkPSExLHRoaXMuY3BJZ25vcmVkRWxlbWVudHM9W10sdGhpcy5jcEZhbGxiYWNrQ29sb3I9IiIsdGhpcy5jcENvbG9yTW9kZT0iY29sb3IiLHRoaXMuY3BDbXlrRW5hYmxlZD0hMSx0aGlzLmNwT3V0cHV0Rm9ybWF0PSJhdXRvIix0aGlzLmNwQWxwaGFDaGFubmVsPSJlbmFibGVkIix0aGlzLmNwRGlzYWJsZUlucHV0PSExLHRoaXMuY3BEaWFsb2dEaXNwbGF5PSJwb3B1cCIsdGhpcy5jcFNhdmVDbGlja091dHNpZGU9ITAsdGhpcy5jcENsb3NlQ2xpY2tPdXRzaWRlPSEwLHRoaXMuY3BVc2VSb290Vmlld0NvbnRhaW5lcj0hMSx0aGlzLmNwUG9zaXRpb249ImF1dG8iLHRoaXMuY3BQb3NpdGlvbk9mZnNldD0iMCUiLHRoaXMuY3BQb3NpdGlvblJlbGF0aXZlVG9BcnJvdz0hMSx0aGlzLmNwT0tCdXR0b249ITEsdGhpcy5jcE9LQnV0dG9uVGV4dD0iT0siLHRoaXMuY3BPS0J1dHRvbkNsYXNzPSJjcC1vay1idXR0b24tY2xhc3MiLHRoaXMuY3BDYW5jZWxCdXR0b249ITEsdGhpcy5jcENhbmNlbEJ1dHRvblRleHQ9IkNhbmNlbCIsdGhpcy5jcENhbmNlbEJ1dHRvbkNsYXNzPSJjcC1jYW5jZWwtYnV0dG9uLWNsYXNzIix0aGlzLmNwUHJlc2V0TGFiZWw9IlByZXNldCBjb2xvcnMiLHRoaXMuY3BQcmVzZXRDb2xvcnNDbGFzcz0iY3AtcHJlc2V0LWNvbG9ycy1jbGFzcyIsdGhpcy5jcE1heFByZXNldENvbG9yc0xlbmd0aD02LHRoaXMuY3BQcmVzZXRFbXB0eU1lc3NhZ2U9Ik5vIGNvbG9ycyBhZGRlZCIsdGhpcy5jcFByZXNldEVtcHR5TWVzc2FnZUNsYXNzPSJwcmVzZXQtZW1wdHktbWVzc2FnZSIsdGhpcy5jcEFkZENvbG9yQnV0dG9uPSExLHRoaXMuY3BBZGRDb2xvckJ1dHRvblRleHQ9IkFkZCBjb2xvciIsdGhpcy5jcEFkZENvbG9yQnV0dG9uQ2xhc3M9ImNwLWFkZC1jb2xvci1idXR0b24tY2xhc3MiLHRoaXMuY3BSZW1vdmVDb2xvckJ1dHRvbkNsYXNzPSJjcC1yZW1vdmUtY29sb3ItYnV0dG9uLWNsYXNzIix0aGlzLmNwSW5wdXRDaGFuZ2U9bmV3IFN5KCEwKSx0aGlzLmNwVG9nZ2xlQ2hhbmdlPW5ldyBTeSghMCksdGhpcy5jcFNsaWRlckNoYW5nZT1uZXcgU3koITApLHRoaXMuY3BTbGlkZXJEcmFnRW5kPW5ldyBTeSghMCksdGhpcy5jcFNsaWRlckRyYWdTdGFydD1uZXcgU3koITApLHRoaXMuY29sb3JQaWNrZXJPcGVuPW5ldyBTeSghMCksdGhpcy5jb2xvclBpY2tlckNsb3NlPW5ldyBTeSghMCksdGhpcy5jb2xvclBpY2tlckNhbmNlbD1uZXcgU3koITApLHRoaXMuY29sb3JQaWNrZXJTZWxlY3Q9bmV3IFN5KCEwKSx0aGlzLmNvbG9yUGlja2VyQ2hhbmdlPW5ldyBTeSghMSksdGhpcy5jcENteWtDb2xvckNoYW5nZT1uZXcgU3koITApLHRoaXMuY3BQcmVzZXRDb2xvcnNDaGFuZ2U9bmV3IFN5KCEwKX1oYW5kbGVDbGljaygpe3RoaXMuaW5wdXRGb2N1cygpfWhhbmRsZUZvY3VzKCl7dGhpcy5pbnB1dEZvY3VzKCl9aGFuZGxlSW5wdXQodCl7dGhpcy5pbnB1dENoYW5nZSh0KX1uZ09uRGVzdHJveSgpe251bGwhPXRoaXMuY21wUmVmJiYodGhpcy52aWV3QXR0YWNoZWRUb0FwcFJlZiYmdGhpcy5hcHBSZWYuZGV0YWNoVmlldyh0aGlzLmNtcFJlZi5ob3N0VmlldyksdGhpcy5jbXBSZWYuZGVzdHJveSgpLHRoaXMuY21wUmVmPW51bGwsdGhpcy5kaWFsb2c9bnVsbCl9bmdPbkNoYW5nZXModCl7dC5jcFRvZ2dsZSYmIXRoaXMuY3BEaXNhYmxlZCYmKHQuY3BUb2dnbGUuY3VycmVudFZhbHVlP3RoaXMub3BlbkRpYWxvZygpOnQuY3BUb2dnbGUuY3VycmVudFZhbHVlfHx0aGlzLmNsb3NlRGlhbG9nKCkpLHQuY29sb3JQaWNrZXImJih0aGlzLmRpYWxvZyYmIXRoaXMuaWdub3JlQ2hhbmdlcyYmKCJpbmxpbmUiPT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMuZGlhbG9nLnNldEluaXRpYWxDb2xvcih0LmNvbG9yUGlja2VyLmN1cnJlbnRWYWx1ZSksdGhpcy5kaWFsb2cuc2V0Q29sb3JGcm9tU3RyaW5nKHQuY29sb3JQaWNrZXIuY3VycmVudFZhbHVlLCExKSx0aGlzLmNwVXNlUm9vdFZpZXdDb250YWluZXImJiJpbmxpbmUiIT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMuY21wUmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKSksdGhpcy5pZ25vcmVDaGFuZ2VzPSExKSwodC5jcFByZXNldExhYmVsfHx0LmNwUHJlc2V0Q29sb3JzKSYmdGhpcy5kaWFsb2cmJnRoaXMuZGlhbG9nLnNldFByZXNldENvbmZpZyh0aGlzLmNwUHJlc2V0TGFiZWwsdGhpcy5jcFByZXNldENvbG9ycyl9b3BlbkRpYWxvZygpe2lmKHRoaXMuZGlhbG9nQ3JlYXRlZCl0aGlzLmRpYWxvZyYmdGhpcy5kaWFsb2cub3BlbkRpYWxvZyh0aGlzLmNvbG9yUGlja2VyKTtlbHNle2xldCB0PXRoaXMudmNSZWY7aWYodGhpcy5kaWFsb2dDcmVhdGVkPSEwLHRoaXMudmlld0F0dGFjaGVkVG9BcHBSZWY9ITEsdGhpcy5jcFVzZVJvb3RWaWV3Q29udGFpbmVyJiYiaW5saW5lIiE9PXRoaXMuY3BEaWFsb2dEaXNwbGF5KXtjb25zdCBlPXRoaXMuaW5qZWN0b3IuZ2V0KHRoaXMuYXBwUmVmLmNvbXBvbmVudFR5cGVzWzBdLE5wLk5VTEwpO2UhPT1OcC5OVUxMPyh0PWUudmNSZWZ8fGUudmlld0NvbnRhaW5lclJlZnx8dGhpcy52Y1JlZix0PT09dGhpcy52Y1JlZiYmY29uc29sZS53YXJuKCJZb3UgYXJlIHVzaW5nIGNwVXNlUm9vdFZpZXdDb250YWluZXIsIGJ1dCB0aGUgcm9vdCBjb21wb25lbnQgaXMgbm90IGV4cG9zaW5nIHZpZXdDb250YWluZXJSZWYhUGxlYXNlIGV4cG9zZSBpdCBieSBhZGRpbmcgJ3B1YmxpYyB2Y1JlZjogVmlld0NvbnRhaW5lclJlZicgdG8gdGhlIGNvbnN0cnVjdG9yLiIpKTp0aGlzLnZpZXdBdHRhY2hlZFRvQXBwUmVmPSEwfWNvbnN0IGU9dGhpcy5jZnIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTzUpO2lmKHRoaXMudmlld0F0dGFjaGVkVG9BcHBSZWYpdGhpcy5jbXBSZWY9ZS5jcmVhdGUodGhpcy5pbmplY3RvciksdGhpcy5hcHBSZWYuYXR0YWNoVmlldyh0aGlzLmNtcFJlZi5ob3N0VmlldyksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmNtcFJlZi5ob3N0Vmlldy5yb290Tm9kZXNbMF0pO2Vsc2V7Y29uc3Qgbj1mZi5mcm9tUmVzb2x2ZWRQcm92aWRlcnMoW10sdC5wYXJlbnRJbmplY3Rvcik7dGhpcy5jbXBSZWY9dC5jcmVhdGVDb21wb25lbnQoZSwwLG4sW10pfXRoaXMuY21wUmVmLmluc3RhbmNlLnNldHVwRGlhbG9nKHRoaXMsdGhpcy5lbFJlZix0aGlzLmNvbG9yUGlja2VyLHRoaXMuY3BXaWR0aCx0aGlzLmNwSGVpZ2h0LHRoaXMuY3BEaWFsb2dEaXNwbGF5LHRoaXMuY3BGYWxsYmFja0NvbG9yLHRoaXMuY3BDb2xvck1vZGUsdGhpcy5jcENteWtFbmFibGVkLHRoaXMuY3BBbHBoYUNoYW5uZWwsdGhpcy5jcE91dHB1dEZvcm1hdCx0aGlzLmNwRGlzYWJsZUlucHV0LHRoaXMuY3BJZ25vcmVkRWxlbWVudHMsdGhpcy5jcFNhdmVDbGlja091dHNpZGUsdGhpcy5jcENsb3NlQ2xpY2tPdXRzaWRlLHRoaXMuY3BVc2VSb290Vmlld0NvbnRhaW5lcix0aGlzLmNwUG9zaXRpb24sdGhpcy5jcFBvc2l0aW9uT2Zmc2V0LHRoaXMuY3BQb3NpdGlvblJlbGF0aXZlVG9BcnJvdyx0aGlzLmNwUHJlc2V0TGFiZWwsdGhpcy5jcFByZXNldENvbG9ycyx0aGlzLmNwUHJlc2V0Q29sb3JzQ2xhc3MsdGhpcy5jcE1heFByZXNldENvbG9yc0xlbmd0aCx0aGlzLmNwUHJlc2V0RW1wdHlNZXNzYWdlLHRoaXMuY3BQcmVzZXRFbXB0eU1lc3NhZ2VDbGFzcyx0aGlzLmNwT0tCdXR0b24sdGhpcy5jcE9LQnV0dG9uQ2xhc3MsdGhpcy5jcE9LQnV0dG9uVGV4dCx0aGlzLmNwQ2FuY2VsQnV0dG9uLHRoaXMuY3BDYW5jZWxCdXR0b25DbGFzcyx0aGlzLmNwQ2FuY2VsQnV0dG9uVGV4dCx0aGlzLmNwQWRkQ29sb3JCdXR0b24sdGhpcy5jcEFkZENvbG9yQnV0dG9uQ2xhc3MsdGhpcy5jcEFkZENvbG9yQnV0dG9uVGV4dCx0aGlzLmNwUmVtb3ZlQ29sb3JCdXR0b25DbGFzcyx0aGlzLmVsUmVmKSx0aGlzLmRpYWxvZz10aGlzLmNtcFJlZi5pbnN0YW5jZSx0aGlzLnZjUmVmIT09dCYmdGhpcy5jbXBSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpfX1jbG9zZURpYWxvZygpe3RoaXMuZGlhbG9nJiYicG9wdXAiPT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMuZGlhbG9nLmNsb3NlRGlhbG9nKCl9Y215a0NoYW5nZWQodCl7dGhpcy5jcENteWtDb2xvckNoYW5nZS5lbWl0KHQpfXN0YXRlQ2hhbmdlZCh0KXt0aGlzLmNwVG9nZ2xlQ2hhbmdlLmVtaXQodCksdD90aGlzLmNvbG9yUGlja2VyT3Blbi5lbWl0KHRoaXMuY29sb3JQaWNrZXIpOnRoaXMuY29sb3JQaWNrZXJDbG9zZS5lbWl0KHRoaXMuY29sb3JQaWNrZXIpfWNvbG9yQ2hhbmdlZCh0LGU9ITApe3RoaXMuaWdub3JlQ2hhbmdlcz1lLHRoaXMuY29sb3JQaWNrZXJDaGFuZ2UuZW1pdCh0KX1jb2xvclNlbGVjdGVkKHQpe3RoaXMuY29sb3JQaWNrZXJTZWxlY3QuZW1pdCh0KX1jb2xvckNhbmNlbGVkKCl7dGhpcy5jb2xvclBpY2tlckNhbmNlbC5lbWl0KCl9aW5wdXRGb2N1cygpe2NvbnN0IHQ9dGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LGU9dGhpcy5jcElnbm9yZWRFbGVtZW50cy5maWx0ZXIoKGU9PmU9PT10KSk7dGhpcy5jcERpc2FibGVkfHxlLmxlbmd0aHx8KCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJnQ9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50P3RoaXMub3BlbkRpYWxvZygpOnRoaXMuZGlhbG9nJiZ0aGlzLmRpYWxvZy5zaG93P3RoaXMuY2xvc2VEaWFsb2coKTp0aGlzLm9wZW5EaWFsb2coKSl9aW5wdXRDaGFuZ2UodCl7dGhpcy5kaWFsb2c/dGhpcy5kaWFsb2cuc2V0Q29sb3JGcm9tU3RyaW5nKHQudGFyZ2V0LnZhbHVlLCEwKToodGhpcy5jb2xvclBpY2tlcj10LnRhcmdldC52YWx1ZSx0aGlzLmNvbG9yUGlja2VyQ2hhbmdlLmVtaXQodGhpcy5jb2xvclBpY2tlcikpfWlucHV0Q2hhbmdlZCh0KXt0aGlzLmNwSW5wdXRDaGFuZ2UuZW1pdCh0KX1zbGlkZXJDaGFuZ2VkKHQpe3RoaXMuY3BTbGlkZXJDaGFuZ2UuZW1pdCh0KX1zbGlkZXJEcmFnRW5kKHQpe3RoaXMuY3BTbGlkZXJEcmFnRW5kLmVtaXQodCl9c2xpZGVyRHJhZ1N0YXJ0KHQpe3RoaXMuY3BTbGlkZXJEcmFnU3RhcnQuZW1pdCh0KX1wcmVzZXRDb2xvcnNDaGFuZ2VkKHQpe3RoaXMuY3BQcmVzZXRDb2xvcnNDaGFuZ2UuZW1pdCh0KX19UDUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFA1KShnZihOcCksZ2YoR2gpLGdmKEhDKSxnZihGYiksZ2YoS2gpLGdmKHg1KSl9LFA1Lsm1ZGlyPWhvKHt0eXBlOlA1LHNlbGVjdG9yczpbWyIiLCJjb2xvclBpY2tlciIsIiJdXSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLmhhbmRsZUNsaWNrKCl9KSkoImZvY3VzIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLmhhbmRsZUZvY3VzKCl9KSkoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5oYW5kbGVJbnB1dChlKX0pKX0saW5wdXRzOntjcFdpZHRoOiJjcFdpZHRoIixjcEhlaWdodDoiY3BIZWlnaHQiLGNwVG9nZ2xlOiJjcFRvZ2dsZSIsY3BEaXNhYmxlZDoiY3BEaXNhYmxlZCIsY3BJZ25vcmVkRWxlbWVudHM6ImNwSWdub3JlZEVsZW1lbnRzIixjcEZhbGxiYWNrQ29sb3I6ImNwRmFsbGJhY2tDb2xvciIsY3BDb2xvck1vZGU6ImNwQ29sb3JNb2RlIixjcENteWtFbmFibGVkOiJjcENteWtFbmFibGVkIixjcE91dHB1dEZvcm1hdDoiY3BPdXRwdXRGb3JtYXQiLGNwQWxwaGFDaGFubmVsOiJjcEFscGhhQ2hhbm5lbCIsY3BEaXNhYmxlSW5wdXQ6ImNwRGlzYWJsZUlucHV0IixjcERpYWxvZ0Rpc3BsYXk6ImNwRGlhbG9nRGlzcGxheSIsY3BTYXZlQ2xpY2tPdXRzaWRlOiJjcFNhdmVDbGlja091dHNpZGUiLGNwQ2xvc2VDbGlja091dHNpZGU6ImNwQ2xvc2VDbGlja091dHNpZGUiLGNwVXNlUm9vdFZpZXdDb250YWluZXI6ImNwVXNlUm9vdFZpZXdDb250YWluZXIiLGNwUG9zaXRpb246ImNwUG9zaXRpb24iLGNwUG9zaXRpb25PZmZzZXQ6ImNwUG9zaXRpb25PZmZzZXQiLGNwUG9zaXRpb25SZWxhdGl2ZVRvQXJyb3c6ImNwUG9zaXRpb25SZWxhdGl2ZVRvQXJyb3ciLGNwT0tCdXR0b246ImNwT0tCdXR0b24iLGNwT0tCdXR0b25UZXh0OiJjcE9LQnV0dG9uVGV4dCIsY3BPS0J1dHRvbkNsYXNzOiJjcE9LQnV0dG9uQ2xhc3MiLGNwQ2FuY2VsQnV0dG9uOiJjcENhbmNlbEJ1dHRvbiIsY3BDYW5jZWxCdXR0b25UZXh0OiJjcENhbmNlbEJ1dHRvblRleHQiLGNwQ2FuY2VsQnV0dG9uQ2xhc3M6ImNwQ2FuY2VsQnV0dG9uQ2xhc3MiLGNwUHJlc2V0TGFiZWw6ImNwUHJlc2V0TGFiZWwiLGNwUHJlc2V0Q29sb3JzQ2xhc3M6ImNwUHJlc2V0Q29sb3JzQ2xhc3MiLGNwTWF4UHJlc2V0Q29sb3JzTGVuZ3RoOiJjcE1heFByZXNldENvbG9yc0xlbmd0aCIsY3BQcmVzZXRFbXB0eU1lc3NhZ2U6ImNwUHJlc2V0RW1wdHlNZXNzYWdlIixjcFByZXNldEVtcHR5TWVzc2FnZUNsYXNzOiJjcFByZXNldEVtcHR5TWVzc2FnZUNsYXNzIixjcEFkZENvbG9yQnV0dG9uOiJjcEFkZENvbG9yQnV0dG9uIixjcEFkZENvbG9yQnV0dG9uVGV4dDoiY3BBZGRDb2xvckJ1dHRvblRleHQiLGNwQWRkQ29sb3JCdXR0b25DbGFzczoiY3BBZGRDb2xvckJ1dHRvbkNsYXNzIixjcFJlbW92ZUNvbG9yQnV0dG9uQ2xhc3M6ImNwUmVtb3ZlQ29sb3JCdXR0b25DbGFzcyIsY29sb3JQaWNrZXI6ImNvbG9yUGlja2VyIixjcFByZXNldENvbG9yczoiY3BQcmVzZXRDb2xvcnMifSxvdXRwdXRzOntjcElucHV0Q2hhbmdlOiJjcElucHV0Q2hhbmdlIixjcFRvZ2dsZUNoYW5nZToiY3BUb2dnbGVDaGFuZ2UiLGNwU2xpZGVyQ2hhbmdlOiJjcFNsaWRlckNoYW5nZSIsY3BTbGlkZXJEcmFnRW5kOiJjcFNsaWRlckRyYWdFbmQiLGNwU2xpZGVyRHJhZ1N0YXJ0OiJjcFNsaWRlckRyYWdTdGFydCIsY29sb3JQaWNrZXJPcGVuOiJjb2xvclBpY2tlck9wZW4iLGNvbG9yUGlja2VyQ2xvc2U6ImNvbG9yUGlja2VyQ2xvc2UiLGNvbG9yUGlja2VyQ2FuY2VsOiJjb2xvclBpY2tlckNhbmNlbCIsY29sb3JQaWNrZXJTZWxlY3Q6ImNvbG9yUGlja2VyU2VsZWN0Iixjb2xvclBpY2tlckNoYW5nZToiY29sb3JQaWNrZXJDaGFuZ2UiLGNwQ215a0NvbG9yQ2hhbmdlOiJjcENteWtDb2xvckNoYW5nZSIsY3BQcmVzZXRDb2xvcnNDaGFuZ2U6ImNwUHJlc2V0Q29sb3JzQ2hhbmdlIn0sZXhwb3J0QXM6WyJuZ3hDb2xvclBpY2tlciJdLGZlYXR1cmVzOltxb119KSxQNS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOk5wfSx7dHlwZTpHaH0se3R5cGU6SEN9LHt0eXBlOkZifSx7dHlwZTpLaH0se3R5cGU6eDV9XSxQNS5wcm9wRGVjb3JhdG9ycz17Y29sb3JQaWNrZXI6W3t0eXBlOlJffV0sY3BXaWR0aDpbe3R5cGU6Ul99XSxjcEhlaWdodDpbe3R5cGU6Ul99XSxjcFRvZ2dsZTpbe3R5cGU6Ul99XSxjcERpc2FibGVkOlt7dHlwZTpSX31dLGNwSWdub3JlZEVsZW1lbnRzOlt7dHlwZTpSX31dLGNwRmFsbGJhY2tDb2xvcjpbe3R5cGU6Ul99XSxjcENvbG9yTW9kZTpbe3R5cGU6Ul99XSxjcENteWtFbmFibGVkOlt7dHlwZTpSX31dLGNwT3V0cHV0Rm9ybWF0Olt7dHlwZTpSX31dLGNwQWxwaGFDaGFubmVsOlt7dHlwZTpSX31dLGNwRGlzYWJsZUlucHV0Olt7dHlwZTpSX31dLGNwRGlhbG9nRGlzcGxheTpbe3R5cGU6Ul99XSxjcFNhdmVDbGlja091dHNpZGU6W3t0eXBlOlJffV0sY3BDbG9zZUNsaWNrT3V0c2lkZTpbe3R5cGU6Ul99XSxjcFVzZVJvb3RWaWV3Q29udGFpbmVyOlt7dHlwZTpSX31dLGNwUG9zaXRpb246W3t0eXBlOlJffV0sY3BQb3NpdGlvbk9mZnNldDpbe3R5cGU6Ul99XSxjcFBvc2l0aW9uUmVsYXRpdmVUb0Fycm93Olt7dHlwZTpSX31dLGNwT0tCdXR0b246W3t0eXBlOlJffV0sY3BPS0J1dHRvblRleHQ6W3t0eXBlOlJffV0sY3BPS0J1dHRvbkNsYXNzOlt7dHlwZTpSX31dLGNwQ2FuY2VsQnV0dG9uOlt7dHlwZTpSX31dLGNwQ2FuY2VsQnV0dG9uVGV4dDpbe3R5cGU6Ul99XSxjcENhbmNlbEJ1dHRvbkNsYXNzOlt7dHlwZTpSX31dLGNwUHJlc2V0TGFiZWw6W3t0eXBlOlJffV0sY3BQcmVzZXRDb2xvcnM6W3t0eXBlOlJffV0sY3BQcmVzZXRDb2xvcnNDbGFzczpbe3R5cGU6Ul99XSxjcE1heFByZXNldENvbG9yc0xlbmd0aDpbe3R5cGU6Ul99XSxjcFByZXNldEVtcHR5TWVzc2FnZTpbe3R5cGU6Ul99XSxjcFByZXNldEVtcHR5TWVzc2FnZUNsYXNzOlt7dHlwZTpSX31dLGNwQWRkQ29sb3JCdXR0b246W3t0eXBlOlJffV0sY3BBZGRDb2xvckJ1dHRvblRleHQ6W3t0eXBlOlJffV0sY3BBZGRDb2xvckJ1dHRvbkNsYXNzOlt7dHlwZTpSX31dLGNwUmVtb3ZlQ29sb3JCdXR0b25DbGFzczpbe3R5cGU6Ul99XSxjcElucHV0Q2hhbmdlOlt7dHlwZTpFX31dLGNwVG9nZ2xlQ2hhbmdlOlt7dHlwZTpFX31dLGNwU2xpZGVyQ2hhbmdlOlt7dHlwZTpFX31dLGNwU2xpZGVyRHJhZ0VuZDpbe3R5cGU6RV99XSxjcFNsaWRlckRyYWdTdGFydDpbe3R5cGU6RV99XSxjb2xvclBpY2tlck9wZW46W3t0eXBlOkVffV0sY29sb3JQaWNrZXJDbG9zZTpbe3R5cGU6RV99XSxjb2xvclBpY2tlckNhbmNlbDpbe3R5cGU6RV99XSxjb2xvclBpY2tlclNlbGVjdDpbe3R5cGU6RV99XSxjb2xvclBpY2tlckNoYW5nZTpbe3R5cGU6RV99XSxjcENteWtDb2xvckNoYW5nZTpbe3R5cGU6RV99XSxjcFByZXNldENvbG9yc0NoYW5nZTpbe3R5cGU6RV99XSxoYW5kbGVDbGljazpbe3R5cGU6VF8sYXJnczpbImNsaWNrIl19XSxoYW5kbGVGb2N1czpbe3R5cGU6VF8sYXJnczpbImZvY3VzIl19XSxoYW5kbGVJbnB1dDpbe3R5cGU6VF8sYXJnczpbImlucHV0IixbIiRldmVudCJdXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFA1LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Iltjb2xvclBpY2tlcl0iLGV4cG9ydEFzOiJuZ3hDb2xvclBpY2tlciJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpOcH0se3R5cGU6R2h9LHt0eXBlOkhDfSx7dHlwZTpGYn0se3R5cGU6S2h9LHt0eXBlOng1fV19KSx7Y3BXaWR0aDpbe3R5cGU6Ul99XSxjcEhlaWdodDpbe3R5cGU6Ul99XSxjcFRvZ2dsZTpbe3R5cGU6Ul99XSxjcERpc2FibGVkOlt7dHlwZTpSX31dLGNwSWdub3JlZEVsZW1lbnRzOlt7dHlwZTpSX31dLGNwRmFsbGJhY2tDb2xvcjpbe3R5cGU6Ul99XSxjcENvbG9yTW9kZTpbe3R5cGU6Ul99XSxjcENteWtFbmFibGVkOlt7dHlwZTpSX31dLGNwT3V0cHV0Rm9ybWF0Olt7dHlwZTpSX31dLGNwQWxwaGFDaGFubmVsOlt7dHlwZTpSX31dLGNwRGlzYWJsZUlucHV0Olt7dHlwZTpSX31dLGNwRGlhbG9nRGlzcGxheTpbe3R5cGU6Ul99XSxjcFNhdmVDbGlja091dHNpZGU6W3t0eXBlOlJffV0sY3BDbG9zZUNsaWNrT3V0c2lkZTpbe3R5cGU6Ul99XSxjcFVzZVJvb3RWaWV3Q29udGFpbmVyOlt7dHlwZTpSX31dLGNwUG9zaXRpb246W3t0eXBlOlJffV0sY3BQb3NpdGlvbk9mZnNldDpbe3R5cGU6Ul99XSxjcFBvc2l0aW9uUmVsYXRpdmVUb0Fycm93Olt7dHlwZTpSX31dLGNwT0tCdXR0b246W3t0eXBlOlJffV0sY3BPS0J1dHRvblRleHQ6W3t0eXBlOlJffV0sY3BPS0J1dHRvbkNsYXNzOlt7dHlwZTpSX31dLGNwQ2FuY2VsQnV0dG9uOlt7dHlwZTpSX31dLGNwQ2FuY2VsQnV0dG9uVGV4dDpbe3R5cGU6Ul99XSxjcENhbmNlbEJ1dHRvbkNsYXNzOlt7dHlwZTpSX31dLGNwUHJlc2V0TGFiZWw6W3t0eXBlOlJffV0sY3BQcmVzZXRDb2xvcnNDbGFzczpbe3R5cGU6Ul99XSxjcE1heFByZXNldENvbG9yc0xlbmd0aDpbe3R5cGU6Ul99XSxjcFByZXNldEVtcHR5TWVzc2FnZTpbe3R5cGU6Ul99XSxjcFByZXNldEVtcHR5TWVzc2FnZUNsYXNzOlt7dHlwZTpSX31dLGNwQWRkQ29sb3JCdXR0b246W3t0eXBlOlJffV0sY3BBZGRDb2xvckJ1dHRvblRleHQ6W3t0eXBlOlJffV0sY3BBZGRDb2xvckJ1dHRvbkNsYXNzOlt7dHlwZTpSX31dLGNwUmVtb3ZlQ29sb3JCdXR0b25DbGFzczpbe3R5cGU6Ul99XSxjcElucHV0Q2hhbmdlOlt7dHlwZTpFX31dLGNwVG9nZ2xlQ2hhbmdlOlt7dHlwZTpFX31dLGNwU2xpZGVyQ2hhbmdlOlt7dHlwZTpFX31dLGNwU2xpZGVyRHJhZ0VuZDpbe3R5cGU6RV99XSxjcFNsaWRlckRyYWdTdGFydDpbe3R5cGU6RV99XSxjb2xvclBpY2tlck9wZW46W3t0eXBlOkVffV0sY29sb3JQaWNrZXJDbG9zZTpbe3R5cGU6RV99XSxjb2xvclBpY2tlckNhbmNlbDpbe3R5cGU6RV99XSxjb2xvclBpY2tlclNlbGVjdDpbe3R5cGU6RV99XSxjb2xvclBpY2tlckNoYW5nZTpbe3R5cGU6RV99XSxjcENteWtDb2xvckNoYW5nZTpbe3R5cGU6RV99XSxjcFByZXNldENvbG9yc0NoYW5nZTpbe3R5cGU6RV99XSxoYW5kbGVDbGljazpbe3R5cGU6VF8sYXJnczpbImNsaWNrIl19XSxoYW5kbGVGb2N1czpbe3R5cGU6VF8sYXJnczpbImZvY3VzIl19XSxoYW5kbGVJbnB1dDpbe3R5cGU6VF8sYXJnczpbImlucHV0IixbIiRldmVudCJdXX1dLGNvbG9yUGlja2VyOlt7dHlwZTpSX31dLGNwUHJlc2V0Q29sb3JzOlt7dHlwZTpSX31dfSk7Y2xhc3MgdzV7fXc1Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx3NSl9LHc1Lsm1bW9kPWZvKHt0eXBlOnc1fSksdzUuybVpbmo9RG4oe3Byb3ZpZGVyczpbeDVdLGltcG9ydHM6W1tyeF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih3NSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W3J4XSxleHBvcnRzOltQNV0scHJvdmlkZXJzOlt4NV0sZGVjbGFyYXRpb25zOltPNSxQNSxfNSxDNV0sZW50cnlDb21wb25lbnRzOltPNV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byh3NSx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW081LFA1LF81LEM1XX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltyeF19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bUDVdfX0pO2NvbnN0IGs1PVsiZmlsdGVyIl07ZnVuY3Rpb24gUzUodCxlKXsxJnQmJlBmKDApfWZ1bmN0aW9uIEQ1KHQsZSl7MSZ0JiZQZigwKX1jb25zdCBSNT1mdW5jdGlvbih0KXtyZXR1cm57aXRlbTp0fX07ZnVuY3Rpb24gRTUodCxlKXtpZigxJnQmJih4ZigwKSxIbSgxLEQ1LDEsMCwibmctY29udGFpbmVyIiwxMiksT2YoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0O3pmKCk7Y29uc3Qgbj1GbSgxNCk7RGMoMSksYmYoIm5nVGVtcGxhdGVPdXRsZXQiLG4pKCJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsaXkoMixSNSx0KSl9fWZ1bmN0aW9uIEE1KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxMyksdmYoMSwibWF0LXNwaW5uZXIiLDE0KSxNZigpKX1mdW5jdGlvbiBUNSh0LGUpezEmdCYmKENmKDAsImRpdiIsMTUpLFB1KDEsIk5vIFJ1bnMiKSxNZigpKX1mdW5jdGlvbiBONSh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTUpLENmKDEsInNwYW4iKSxQdSgyLCdObyBydW5zIG1hdGNoICInKSxDZigzLCJjb2RlIiksUHUoNCksTWYoKSxQdSg1LCciJyksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYyg0KSx3dSh0LnJlZ2V4RmlsdGVyKX19Y29uc3QgejU9ZnVuY3Rpb24oKXtyZXR1cm5bNSwxMCwyMF19O2Z1bmN0aW9uIEk1KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibWF0LXBhZ2luYXRvciIsMTYpLFJmKCJwYWdlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vblBhZ2luYXRpb25DaGFuZ2UuZW1pdChuKX0pKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2JmKCJwYWdlU2l6ZU9wdGlvbnMiLG95KDQsejUpKSgicGFnZUluZGV4Iix0LnBhZ2luYXRpb25PcHRpb24ucGFnZUluZGV4KSgicGFnZVNpemUiLHQucGFnaW5hdGlvbk9wdGlvbi5wYWdlU2l6ZSkoImxlbmd0aCIsdC5maWx0ZXJlZEl0ZW1zTGVuZ3RoKX19ZnVuY3Rpb24gSDUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJtYXQtY2hlY2tib3giLDI2KSxSZigiY2hhbmdlIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigzKS5oYW5kbGVQYWdlVG9nZ2xlKCl9KSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoMyk7YmYoImNoZWNrZWQiLHQuYWxsUGFnZUl0ZW1zU2VsZWN0ZWQoKSkoImluZGV0ZXJtaW5hdGUiLCF0LmFsbFBhZ2VJdGVtc1NlbGVjdGVkKCkmJnQuc29tZVBhZ2VJdGVtc1NlbGVjdGVkKCkpfX1jb25zdCBGNT1mdW5jdGlvbih0KXtyZXR1cm57dHlwZTp0fX07ZnVuY3Rpb24gTDUodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiwyNyksUHUoMSwiRXhwZXJpbWVudCIpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigzKTtiZigibWF0LXNvcnQtaGVhZGVyIixpeSgxLEY1LHQuU29ydFR5cGUuRVhQRVJJTUVOVF9OQU1FKSl9fWZ1bmN0aW9uIEI1KHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMjcpLFB1KDEsIlJ1biIpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigzKTtiZigibWF0LXNvcnQtaGVhZGVyIixpeSgxLEY1LHQuU29ydFR5cGUuUlVOX05BTUUpKX19ZnVuY3Rpb24gVjUodCxlKXtpZigxJnQmJnZmKDAsInJ1bnMtZ3JvdXAtbWVudS1idXR0b24iLDI5KSwyJnQpe2JmKCJleHBlcmltZW50SWRzIix6Zig0KS5leHBlcmltZW50SWRzKX19ZnVuY3Rpb24gajUodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiksSG0oMSxWNSwxLDEsInJ1bnMtZ3JvdXAtbWVudS1idXR0b24iLDI4KSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMyk7RGMoMSksYmYoIm5nSWYiLHQuc2hvd0dyb3VwQ29udHJvbCl9fWNvbnN0IFU1PWZ1bmN0aW9uKHQpe3JldHVyblsiY29sdW1uIix0XX07ZnVuY3Rpb24gVzUodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiwyMSkseGYoMSwyMiksSG0oMixINSwxLDIsIm1hdC1jaGVja2JveCIsMjMpLEhtKDMsTDUsMiwzLCJzcGFuIiwyNCksSG0oNCxCNSwyLDMsInNwYW4iLDI0KSxIbSg1LGo1LDIsMSwic3BhbiIsMjUpLE9mKCksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoMik7YmYoIm5nQ2xhc3MiLGl5KDYsVTUsInRiLWNvbHVtbi0iK3QpKSxEYygxKSxiZigibmdTd2l0Y2giLHQpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLG4uUnVuc1RhYmxlQ29sdW1uLkNIRUNLQk9YKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIixuLlJ1bnNUYWJsZUNvbHVtbi5FWFBFUklNRU5UX05BTUUpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLG4uUnVuc1RhYmxlQ29sdW1uLlJVTl9OQU1FKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIixuLlJ1bnNUYWJsZUNvbHVtbi5SVU5fQ09MT1IpfX1mdW5jdGlvbiBHNSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO3hmKDApLENmKDEsImRpdiIsMzgpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCl9KSksQ2YoMiwidGItcmFuZ2UtaW5wdXQiLDM5KSxSZigidmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoMikuJGltcGxpY2l0O3JldHVybiB6ZigyKS5oYW5kbGVIcGFyYW1JbnRlcnZhbENoYW5nZWQobyxuKX0pKSxNZigpLE1mKCksT2YoKX1pZigyJnQpe2NvbnN0IHQ9emYoMikuJGltcGxpY2l0O0RjKDIpLGJmKCJtaW4iLHQuZmlsdGVyLm1pblZhbHVlKSgibWF4Iix0LmZpbHRlci5tYXhWYWx1ZSkoImxvd2VyVmFsdWUiLHQuZmlsdGVyLmZpbHRlckxvd2VyVmFsdWUpKCJ1cHBlclZhbHVlIix0LmZpbHRlci5maWx0ZXJVcHBlclZhbHVlKX19ZnVuY3Rpb24gWTUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDQxKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpfSkpLENmKDEsIm1hdC1jaGVja2JveCIsMzcpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiBlKCl7Y29uc3Qgbj1QaSh0KS4kaW1wbGljaXQsbz16ZigzKS4kaW1wbGljaXQ7cmV0dXJuIHpmKDIpLmhhbmRsZUhwYXJhbURpc2NyZXRlQ2hhbmdlZChvLG4pfSkpLENmKDIsInNwYW4iKSxQdSgzKSxNZigpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigzKS4kaW1wbGljaXQ7RGMoMSksYmYoImNoZWNrZWQiLG4uZmlsdGVyLmZpbHRlclZhbHVlcy5pbmNsdWRlcyh0KSksRGMoMiksd3UodCl9fWZ1bmN0aW9uIHE1KHQsZSl7aWYoMSZ0JiYoeGYoMCksSG0oMSxZNSw0LDIsImRpdiIsNDApLE9mKCkpLDImdCl7Y29uc3QgdD16ZigyKS4kaW1wbGljaXQ7RGMoMSksYmYoIm5nRm9yT2YiLHQuZmlsdGVyLnBvc3NpYmxlVmFsdWVzKX19ZnVuY3Rpb24gWjUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTt4ZigwKSxDZigxLCJidXR0b24iLDMzKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpfSkpLHZmKDIsIm1hdC1pY29uIiwzNCksTWYoKSxDZigzLCJtYXQtbWVudSIsbnVsbCwzNSksQ2YoNSwiZGl2IiwzNiksUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKX0pKSxDZig2LCJtYXQtY2hlY2tib3giLDM3KSxSZigiY2hhbmdlIiwoZnVuY3Rpb24gZSgpe1BpKHQpO2NvbnN0IG49emYoKS4kaW1wbGljaXQ7cmV0dXJuIHpmKDIpLmhhbmRsZUhwYXJhbUluY2x1ZGVVbmRlZmluZWRUb2dnbGVkKG4pfSkpLENmKDcsInNwYW4iKSxQdSg4LCIoc2hvdyBlbXB0eSB2YWx1ZSkiKSxNZigpLE1mKCksTWYoKSxIbSg5LEc1LDMsNCwibmctY29udGFpbmVyIiwzMiksSG0oMTAscTUsMiwxLCJuZy1jb250YWluZXIiLDMyKSxNZigpLE9mKCl9aWYoMiZ0KXtjb25zdCB0PUZtKDQpLGU9emYoKS4kaW1wbGljaXQsbj16ZigyKTtEYygxKSxiZigibWF0TWVudVRyaWdnZXJGb3IiLHQpLHltKCJhcmlhLWxhYmVsIiwiRmlsdGVyIGhwYXJhbSAiKyhlLmRpc3BsYXlOYW1lfHxlLm5hbWUpKSxEYyg1KSxiZigiY2hlY2tlZCIsZS5maWx0ZXIuaW5jbHVkZVVuZGVmaW5lZCksRGMoMyksYmYoIm5nSWYiLGUuZmlsdGVyLnR5cGU9PT1uLkRvbWFpblR5cGUuSU5URVJWQUwpLERjKDEpLGJmKCJuZ0lmIixlLmZpbHRlci50eXBlPT09bi5Eb21haW5UeXBlLkRJU0NSRVRFKX19Y29uc3QgWDU9ZnVuY3Rpb24odCxlKXtyZXR1cm57dHlwZTp0LG5hbWU6ZX19O2Z1bmN0aW9uIEs1KHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMzApLENmKDEsInNwYW4iLDMxKSxQdSgyKSxNZigpLEhtKDMsWjUsMTEsNSwibmctY29udGFpbmVyIiwzMiksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoMik7YmYoIm1hdC1zb3J0LWhlYWRlciIsYXkoMyxYNSxuLlNvcnRUeXBlLkhQQVJBTSx0Lm5hbWUpKSxEYygyKSx3dSh0LmRpc3BsYXlOYW1lfHx0Lm5hbWUpLERjKDEpLGJmKCJuZ0lmIix0LmZpbHRlcil9fWZ1bmN0aW9uIEo1KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7eGYoMCksQ2YoMSwiYnV0dG9uIiwzMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKX0pKSx2ZigyLCJtYXQtaWNvbiIsMzQpLE1mKCksQ2YoMywibWF0LW1lbnUiLG51bGwsMzUpLENmKDUsImRpdiIsMzYpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCl9KSksQ2YoNiwibWF0LWNoZWNrYm94IiwzNyksUmYoImNoYW5nZSIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtjb25zdCBuPXpmKCkuJGltcGxpY2l0O3JldHVybiB6ZigyKS5oYW5kbGVNZXRyaWNJbmNsdWRlVW5kZWZpbmVkQ2hhbmdlZChuKX0pKSxDZig3LCJzcGFuIiksUHUoOCwiKHNob3cgZW1wdHkgdmFsdWUpIiksTWYoKSxNZigpLE1mKCksQ2YoOSwiZGl2IiwzOCksUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKX0pKSxDZigxMCwidGItcmFuZ2UtaW5wdXQiLDM5KSxSZigidmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoKS4kaW1wbGljaXQ7cmV0dXJuIHpmKDIpLmhhbmRsZU1ldHJpY0ZpbHRlckNoYW5nZWQobyxuKX0pKSxNZigpLE1mKCksTWYoKSxPZigpfWlmKDImdCl7Y29uc3QgdD1GbSg0KSxlPXpmKCkuJGltcGxpY2l0O0RjKDEpLGJmKCJtYXRNZW51VHJpZ2dlckZvciIsdCkseW0oImFyaWEtbGFiZWwiLCJGaWx0ZXIgbWV0cmljICIrKGUuZGlzcGxheU5hbWV8fGUudGFnKSksRGMoNSksYmYoImNoZWNrZWQiLGUuZmlsdGVyLmluY2x1ZGVVbmRlZmluZWQpLERjKDQpLGJmKCJtaW4iLGUuZmlsdGVyLm1pblZhbHVlKSgibWF4IixlLmZpbHRlci5tYXhWYWx1ZSkoImxvd2VyVmFsdWUiLGUuZmlsdGVyLmZpbHRlckxvd2VyVmFsdWUpKCJ1cHBlclZhbHVlIixlLmZpbHRlci5maWx0ZXJVcHBlclZhbHVlKX19Y29uc3QgUTU9ZnVuY3Rpb24odCxlKXtyZXR1cm57dHlwZTp0LHRhZzplfX07ZnVuY3Rpb24gJDUodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiwzMCksQ2YoMSwic3BhbiIsMzEpLFB1KDIpLE1mKCksSG0oMyxKNSwxMSw3LCJuZy1jb250YWluZXIiLDMyKSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigyKTtiZigibWF0LXNvcnQtaGVhZGVyIixheSgzLFE1LG4uU29ydFR5cGUuTUVUUklDLHQudGFnKSksRGMoMiksd3UodC5kaXNwbGF5TmFtZXx8dC50YWcpLERjKDEpLGJmKCJuZ0lmIix0LmZpbHRlcil9fWZ1bmN0aW9uIHQ0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxNyksQ2YoMSwiZGl2IiwxOCksUmYoIm1hdFNvcnRDaGFuZ2UiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLmhhbmRsZVNvcnRDaGFuZ2Uobil9KSksSG0oMixXNSw2LDgsInNwYW4iLDE5KSxIbSgzLEs1LDQsNiwic3BhbiIsMjApLEhtKDQsJDUsNCw2LCJzcGFuIiwyMCksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGJmKCJtYXRTb3J0QWN0aXZlIix0LnNvcnRPcHRpb24uY29sdW1uKSxEYygxKSxiZigibmdGb3JPZiIsdC5jb2x1bW5zKSxEYygxKSxiZigibmdGb3JPZiIsdC5ocGFyYW1Db2x1bW5zKSgibmdGb3JUcmFja0J5Iix0LnRyYWNrQnlIcGFyYW1Db2x1bW4pLERjKDEpLGJmKCJuZ0Zvck9mIix0Lm1ldHJpY0NvbHVtbnMpKCJuZ0ZvclRyYWNrQnkiLHQudHJhY2tCeU1ldHJpY0NvbHVtbil9fWZ1bmN0aW9uIGU0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwic3BhbiIpLENmKDEsIm1hdC1jaGVja2JveCIsMzcpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiBlKCl7UGkodCk7Y29uc3Qgbj16ZigyKS5pdGVtO3JldHVybiB6ZigpLm9uU2VsZWN0aW9uVG9nZ2xlLmVtaXQobil9KSksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigyKS5pdGVtO0RjKDEpLGJmKCJjaGVja2VkIix0LnNlbGVjdGVkKX19ZnVuY3Rpb24gbjQodCxlKXtpZigxJnQmJnZmKDAsInRiLWV4cGVyaW1lbnQtYWxpYXMiLDQ4KSwyJnQpe2JmKCJhbGlhcyIsemYoMikuaXRlbS5leHBlcmltZW50QWxpYXMpfX1mdW5jdGlvbiBvNCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDMxKSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMikuaXRlbTtEYygxKSx3dSh0LnJ1bi5uYW1lKX19Y29uc3QgaTQ9ZnVuY3Rpb24odCl7cmV0dXJueyJydW4tY29sb3Itc3dhdGNoIjohMCwibm8tY29sb3IiOnR9fTtmdW5jdGlvbiBhNCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsInNwYW4iKSxDZigxLCJidXR0b24iLDQ5KSxSZigiY29sb3JQaWNrZXJDaGFuZ2UiLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoMikuaXRlbTtyZXR1cm4gemYoKS5vblJ1bkNvbG9yQ2hhbmdlLmVtaXQoe3J1bklkOm8ucnVuLmlkLG5ld0NvbG9yOm59KX0pKSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpLml0ZW07RGMoMSksbHUoImJhY2tncm91bmQiLHQucnVuQ29sb3IpLGJmKCJuZ0NsYXNzIixpeSg4LGk0LCF0LnJ1bkNvbG9yKSkoImNvbG9yUGlja2VyIix0LnJ1bkNvbG9yKSgiY3BEaWFsb2dEaXNwbGF5IiwicG9wdXAiKSgiY3BQb3NpdGlvbk9mZnNldCIsLTIwKSgiY3BVc2VSb290Vmlld0NvbnRhaW5lciIsITApKCJjcE91dHB1dEZvcm1hdCIsImhleCIpfX1mdW5jdGlvbiByNCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDQ1KSx4ZigxLDIyKSxIbSgyLGU0LDIsMSwic3BhbiIsMjUpLEhtKDMsbjQsMSwxLCJ0Yi1leHBlcmltZW50LWFsaWFzIiw0NiksSG0oNCxvNCwyLDEsInNwYW4iLDQ3KSxIbSg1LGE0LDIsMTAsInNwYW4iLDI1KSxPZigpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKDIpO2JmKCJuZ0NsYXNzIixpeSg2LFU1LCJ0Yi1jb2x1bW4tIit0KSksRGMoMSksYmYoIm5nU3dpdGNoIix0KSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIixuLlJ1bnNUYWJsZUNvbHVtbi5DSEVDS0JPWCksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsbi5SdW5zVGFibGVDb2x1bW4uRVhQRVJJTUVOVF9OQU1FKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIixuLlJ1bnNUYWJsZUNvbHVtbi5SVU5fTkFNRSksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsbi5SdW5zVGFibGVDb2x1bW4uUlVOX0NPTE9SKX19ZnVuY3Rpb24gczQodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiw1MCksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoKS5pdGVtO0RjKDEpLHd1KG4uaHBhcmFtcy5nZXQodC5uYW1lKSl9fWZ1bmN0aW9uIGw0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsNTApLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKCkuaXRlbTtEYygxKSx3dShuLm1ldHJpY3MuZ2V0KHQudGFnKSl9fWZ1bmN0aW9uIGM0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw0MiksSG0oMSxyNCw2LDgsInNwYW4iLDQzKSxIbSgyLHM0LDIsMSwic3BhbiIsNDQpLEhtKDMsbDQsMiwxLCJzcGFuIiw0NCksTWYoKSksMiZ0KXtjb25zdCB0PWUuaXRlbSxuPXpmKCk7eW0oImRhdGEtaWQiLHQucnVuLmlkKSxEYygxKSxiZigibmdGb3JPZiIsbi5jb2x1bW5zKSxEYygxKSxiZigibmdGb3JPZiIsbi5ocGFyYW1Db2x1bW5zKSxEYygxKSxiZigibmdGb3JPZiIsbi5tZXRyaWNDb2x1bW5zKX19Y2xhc3MgZDQgZXh0ZW5kcyBYMHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5pdGVtc1BlclBhZ2VMYWJlbD0iU2hvdyBydW5zOiJ9fWQ0Lsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShkNCkpKShufHxkNCl9fSkoKSxkNC7JtXByb3Y9U24oe3Rva2VuOmQ0LGZhY3Rvcnk6ZDQuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGQ0LFt7dHlwZTpVbX1dLG51bGwsbnVsbCk7Y2xhc3MgcDR7Y29uc3RydWN0b3IoKXt0aGlzLmRhdGFTb3VyY2U9bmV3IEQzLHRoaXMuRG9tYWluVHlwZT1rVCx0aGlzLlJ1bnNUYWJsZUNvbHVtbj14MCx0aGlzLlNvcnRUeXBlPUZ6LHRoaXMub25SZWdleEZpbHRlckNoYW5nZT1uZXcgU3ksdGhpcy5vblNlbGVjdGlvblRvZ2dsZT1uZXcgU3ksdGhpcy5vblBhZ2VTZWxlY3Rpb25Ub2dnbGU9bmV3IFN5LHRoaXMub25QYWdpbmF0aW9uQ2hhbmdlPW5ldyBTeSx0aGlzLm9uU29ydENoYW5nZT1uZXcgU3ksdGhpcy5vblJ1bkNvbG9yQ2hhbmdlPW5ldyBTeSx0aGlzLm9uSHBhcmFtRGlzY3JldGVGaWx0ZXJDaGFuZ2VkPW5ldyBTeSx0aGlzLm9uSHBhcmFtSW50ZXJ2YWxGaWx0ZXJDaGFuZ2VkPW5ldyBTeSx0aGlzLm9uTWV0cmljRmlsdGVyQ2hhbmdlZD1uZXcgU3l9bmdPbkNoYW5nZXMoKXt0aGlzLmRhdGFTb3VyY2UuZGF0YT10aGlzLnBhZ2VJdGVtc31nZXRIcGFyYW1Db2x1bW5JZCh0KXtyZXR1cm5gaDoke3QubmFtZX1gfWdldE1ldHJpY0NvbHVtbklkKHQpe3JldHVybmBtOiR7dC50YWd9YH1nZXRDb2x1bW5JZHMoKXtyZXR1cm5bLi4udGhpcy5jb2x1bW5zLC4uLnRoaXMuaHBhcmFtQ29sdW1ucy5tYXAodGhpcy5nZXRIcGFyYW1Db2x1bW5JZCksLi4udGhpcy5tZXRyaWNDb2x1bW5zLm1hcCh0aGlzLmdldE1ldHJpY0NvbHVtbklkKV19YWxsUGFnZUl0ZW1zU2VsZWN0ZWQoKXtyZXR1cm4gQm9vbGVhbih0aGlzLnBhZ2VJdGVtcy5sZW5ndGgpJiZ0aGlzLnBhZ2VJdGVtcy5ldmVyeSgodD0+dC5zZWxlY3RlZCkpfXNvbWVQYWdlSXRlbXNTZWxlY3RlZCgpe3JldHVybiB0aGlzLnBhZ2VJdGVtcy5zb21lKCh0PT50LnNlbGVjdGVkKSl9aGFuZGxlUGFnZVRvZ2dsZSgpe3RoaXMub25QYWdlU2VsZWN0aW9uVG9nZ2xlLmVtaXQoe2l0ZW1zOnRoaXMucGFnZUl0ZW1zfSl9aGFuZGxlU29ydENoYW5nZSh0KXtsZXQgZTtzd2l0Y2godC5kaXJlY3Rpb24pe2Nhc2UiYXNjIjplPXZJLkFTQzticmVhaztjYXNlImRlc2MiOmU9dkkuREVTQzticmVhaztkZWZhdWx0OmU9dkkuVU5TRVR9dGhpcy5vblNvcnRDaGFuZ2UuZW1pdCh7a2V5OnQuYWN0aXZlLGRpcmVjdGlvbjplfSl9b25GaWx0ZXJLZXlVcCh0KXt0aGlzLm9uUmVnZXhGaWx0ZXJDaGFuZ2UuZW1pdCh0LnRhcmdldC52YWx1ZSl9dGFibGVUcmFja0J5KHQsZSl7cmV0dXJuIGUucnVuLmlkfWhhbmRsZUhwYXJhbUluY2x1ZGVVbmRlZmluZWRUb2dnbGVkKHQpe2NvbnN0e25hbWU6ZSxmaWx0ZXI6bn09dDtpZighbil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YXJpYW50IGVycm9yOiByZXF1aXJlIGZpbHRlciB0byBleGlzdCBmb3IgaXQgdG8gY2hhbmdlIik7bi50eXBlPT09a1QuRElTQ1JFVEU/dGhpcy5vbkhwYXJhbURpc2NyZXRlRmlsdGVyQ2hhbmdlZC5lbWl0KHtocGFyYW1OYW1lOmUsaW5jbHVkZVVuZGVmaW5lZDohbi5pbmNsdWRlVW5kZWZpbmVkLGZpbHRlclZhbHVlczpuLmZpbHRlclZhbHVlc30pOnRoaXMub25IcGFyYW1JbnRlcnZhbEZpbHRlckNoYW5nZWQuZW1pdCh7bmFtZTplLGluY2x1ZGVVbmRlZmluZWQ6IW4uaW5jbHVkZVVuZGVmaW5lZCxmaWx0ZXJMb3dlclZhbHVlOm4uZmlsdGVyTG93ZXJWYWx1ZSxmaWx0ZXJVcHBlclZhbHVlOm4uZmlsdGVyVXBwZXJWYWx1ZX0pfWhhbmRsZUhwYXJhbUludGVydmFsQ2hhbmdlZCh0LGUpe2NvbnN0e25hbWU6bixmaWx0ZXI6b309dDtpZighbyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YXJpYW50IGVycm9yOiByZXF1aXJlIGZpbHRlciB0byBleGlzdCBmb3IgaXQgdG8gY2hhbmdlIik7dGhpcy5vbkhwYXJhbUludGVydmFsRmlsdGVyQ2hhbmdlZC5lbWl0KHtuYW1lOm4saW5jbHVkZVVuZGVmaW5lZDpvLmluY2x1ZGVVbmRlZmluZWQsZmlsdGVyTG93ZXJWYWx1ZTplLmxvd2VyVmFsdWUsZmlsdGVyVXBwZXJWYWx1ZTplLnVwcGVyVmFsdWV9KX1oYW5kbGVIcGFyYW1EaXNjcmV0ZUNoYW5nZWQodCxlKXtjb25zdHtuYW1lOm4sZmlsdGVyOm99PXQ7aWYoIW8pdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFyaWFudCBlcnJvcjogcmVxdWlyZSBmaWx0ZXIgdG8gZXhpc3QgZm9yIGl0IHRvIGNoYW5nZSIpO2lmKG8udHlwZSE9PWtULkRJU0NSRVRFKXRocm93IG5ldyBSYW5nZUVycm9yKGBJbnZhcmlhbnQgZXJyb3I6IGV4cGVjdGVkIGRpc2NyZXRlIGRvbWFpbiBmb3IgJHtufWApO2NvbnN0IGk9bmV3IFNldChbLi4uby5maWx0ZXJWYWx1ZXNdKTtpLmhhcyhlKT9pLmRlbGV0ZShlKTppLmFkZChlKSx0aGlzLm9uSHBhcmFtRGlzY3JldGVGaWx0ZXJDaGFuZ2VkLmVtaXQoe2hwYXJhbU5hbWU6bixpbmNsdWRlVW5kZWZpbmVkOm8uaW5jbHVkZVVuZGVmaW5lZCxmaWx0ZXJWYWx1ZXM6Wy4uLmldfSl9aGFuZGxlTWV0cmljSW5jbHVkZVVuZGVmaW5lZENoYW5nZWQodCl7aWYoIXQuZmlsdGVyKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhcmlhbnQgZXJyb3I6IHJlcXVpcmUgZmlsdGVyIHRvIGV4aXN0IGZvciBpdCB0byBjaGFuZ2UiKTt0aGlzLm9uTWV0cmljRmlsdGVyQ2hhbmdlZC5lbWl0KHtuYW1lOnQudGFnLGluY2x1ZGVVbmRlZmluZWQ6IXQuZmlsdGVyLmluY2x1ZGVVbmRlZmluZWQsZmlsdGVyTG93ZXJWYWx1ZTp0LmZpbHRlci5maWx0ZXJMb3dlclZhbHVlLGZpbHRlclVwcGVyVmFsdWU6dC5maWx0ZXIuZmlsdGVyVXBwZXJWYWx1ZX0pfWhhbmRsZU1ldHJpY0ZpbHRlckNoYW5nZWQodCxlKXtpZighdC5maWx0ZXIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFyaWFudCBlcnJvcjogcmVxdWlyZSBmaWx0ZXIgdG8gZXhpc3QgZm9yIGl0IHRvIGNoYW5nZSIpO3RoaXMub25NZXRyaWNGaWx0ZXJDaGFuZ2VkLmVtaXQoe25hbWU6dC50YWcsaW5jbHVkZVVuZGVmaW5lZDp0LmZpbHRlci5pbmNsdWRlVW5kZWZpbmVkLGZpbHRlckxvd2VyVmFsdWU6ZS5sb3dlclZhbHVlLGZpbHRlclVwcGVyVmFsdWU6ZS51cHBlclZhbHVlfSl9dHJhY2tCeUhwYXJhbUNvbHVtbih0KXtyZXR1cm4gdC5uYW1lfXRyYWNrQnlNZXRyaWNDb2x1bW4odCl7cmV0dXJuIHQudGFnfX1wNC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cDQpfSxwNC7JtWNtcD1zbyh7dHlwZTpwNCxzZWxlY3RvcnM6W1sicnVucy10YWJsZS1jb21wb25lbnQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihWeShrNSw3LEtoKSxWeShlMSw3KSxWeShyMSw3KSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5maWx0ZXI9dC5maXJzdCksQnkodD1VeSgpKSYmKG4ucGFnaW5hdG9yPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLnNvcnQ9dC5maXJzdCl9fSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgiZmxleC1sYXlvdXQiLG4udXNlRmxleGlibGVMYXlvdXQpfSxpbnB1dHM6e2V4cGVyaW1lbnRJZHM6ImV4cGVyaW1lbnRJZHMiLHNob3dFeHBlcmltZW50TmFtZToic2hvd0V4cGVyaW1lbnROYW1lIixjb2x1bW5zOiJjb2x1bW5zIixocGFyYW1Db2x1bW5zOiJocGFyYW1Db2x1bW5zIixtZXRyaWNDb2x1bW5zOiJtZXRyaWNDb2x1bW5zIixhbGxJdGVtc0xlbmd0aDoiYWxsSXRlbXNMZW5ndGgiLGZpbHRlcmVkSXRlbXNMZW5ndGg6ImZpbHRlcmVkSXRlbXNMZW5ndGgiLHVzZUZsZXhpYmxlTGF5b3V0OiJ1c2VGbGV4aWJsZUxheW91dCIsdXNlUGFnaW5hdGlvbjoidXNlUGFnaW5hdGlvbiIsc2hvd0dyb3VwQ29udHJvbDoic2hvd0dyb3VwQ29udHJvbCIscGFnZUl0ZW1zOiJwYWdlSXRlbXMiLGxvYWRpbmc6ImxvYWRpbmciLG51bVNlbGVjdGVkSXRlbXM6Im51bVNlbGVjdGVkSXRlbXMiLHNvcnRPcHRpb246InNvcnRPcHRpb24iLHBhZ2luYXRpb25PcHRpb246InBhZ2luYXRpb25PcHRpb24iLHJlZ2V4RmlsdGVyOiJyZWdleEZpbHRlciJ9LG91dHB1dHM6e29uUmVnZXhGaWx0ZXJDaGFuZ2U6Im9uUmVnZXhGaWx0ZXJDaGFuZ2UiLG9uU2VsZWN0aW9uVG9nZ2xlOiJvblNlbGVjdGlvblRvZ2dsZSIsb25QYWdlU2VsZWN0aW9uVG9nZ2xlOiJvblBhZ2VTZWxlY3Rpb25Ub2dnbGUiLG9uUGFnaW5hdGlvbkNoYW5nZToib25QYWdpbmF0aW9uQ2hhbmdlIixvblNvcnRDaGFuZ2U6Im9uU29ydENoYW5nZSIsb25SdW5Db2xvckNoYW5nZToib25SdW5Db2xvckNoYW5nZSIsb25IcGFyYW1EaXNjcmV0ZUZpbHRlckNoYW5nZWQ6Im9uSHBhcmFtRGlzY3JldGVGaWx0ZXJDaGFuZ2VkIixvbkhwYXJhbUludGVydmFsRmlsdGVyQ2hhbmdlZDoib25IcGFyYW1JbnRlcnZhbEZpbHRlckNoYW5nZWQiLG9uTWV0cmljRmlsdGVyQ2hhbmdlZDoib25NZXRyaWNGaWx0ZXJDaGFuZ2VkIn0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpYMCx1c2VDbGFzczpkNH1dKSxxb10sZGVjbHM6MTUsdmFyczo4LGNvbnN0czpbWzEsImZpbHRlci1yb3ciXSxbInBsYWNlaG9sZGVyIiwiRmlsdGVyIHJ1bnMgKHJlZ2V4KSIsMSwicnVuLWZpbHRlciIsMywidmFsdWUiLCJrZXl1cCJdLFsxLCJ0YWJsZS1jb250YWluZXIiXSxbInJvbGUiLCJ0YWJsZSJdLFs0LCJuZ1RlbXBsYXRlT3V0bGV0Il0sWyJyb2xlIiwicm93Z3JvdXAiLDEsInJvd3MiXSxbNCwibmdGb3IiLCJuZ0Zvck9mIiwibmdGb3JUcmFja0J5Il0sWyJjbGFzcyIsImxvYWRpbmciLDQsIm5nSWYiXSxbImNsYXNzIiwibm8tcnVucyIsNCwibmdJZiJdLFsic2hvd0ZpcnN0TGFzdEJ1dHRvbnMiLCIiLDMsInBhZ2VTaXplT3B0aW9ucyIsInBhZ2VJbmRleCIsInBhZ2VTaXplIiwibGVuZ3RoIiwicGFnZSIsNCwibmdJZiJdLFsiaGVhZGVyIiwiIl0sWyJyb3ciLCIiXSxbNCwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0Il0sWzEsImxvYWRpbmciXSxbIm1vZGUiLCJpbmRldGVybWluYXRlIiwiZGlhbWV0ZXIiLCIyOCJdLFsxLCJuby1ydW5zIl0sWyJzaG93Rmlyc3RMYXN0QnV0dG9ucyIsIiIsMywicGFnZVNpemVPcHRpb25zIiwicGFnZUluZGV4IiwicGFnZVNpemUiLCJsZW5ndGgiLCJwYWdlIl0sWyJyb2xlIiwicm93Z3JvdXAiLDEsImhlYWRlciJdLFsibWF0U29ydCIsIiIsInJvbGUiLCJyb3ciLDMsIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0Q2hhbmdlIl0sWyJyb2xlIiwiY29sdW1uaGVhZGVyIiwzLCJuZ0NsYXNzIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbInJvbGUiLCJjb2x1bW5oZWFkZXIiLCJjbGFzcyIsImNvbHVtbiIsMywibWF0LXNvcnQtaGVhZGVyIiw0LCJuZ0ZvciIsIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiXSxbInJvbGUiLCJjb2x1bW5oZWFkZXIiLDMsIm5nQ2xhc3MiXSxbMywibmdTd2l0Y2giXSxbMywiY2hlY2tlZCIsImluZGV0ZXJtaW5hdGUiLCJjaGFuZ2UiLDQsIm5nU3dpdGNoQ2FzZSJdLFszLCJtYXQtc29ydC1oZWFkZXIiLDQsIm5nU3dpdGNoQ2FzZSJdLFs0LCJuZ1N3aXRjaENhc2UiXSxbMywiY2hlY2tlZCIsImluZGV0ZXJtaW5hdGUiLCJjaGFuZ2UiXSxbMywibWF0LXNvcnQtaGVhZGVyIl0sWzMsImV4cGVyaW1lbnRJZHMiLDQsIm5nSWYiXSxbMywiZXhwZXJpbWVudElkcyJdLFsicm9sZSIsImNvbHVtbmhlYWRlciIsMSwiY29sdW1uIiwzLCJtYXQtc29ydC1oZWFkZXIiXSxbMSwibmFtZSJdLFs0LCJuZ0lmIl0sWyJtYXQtaWNvbi1idXR0b24iLCIiLDMsIm1hdE1lbnVUcmlnZ2VyRm9yIiwiY2xpY2siXSxbInN2Z0ljb24iLCJmaWx0ZXJfYWx0XzI0cHgiXSxbImZpbHRlck1lbnUiLCJtYXRNZW51Il0sWyJtYXQtbWVudS1pdGVtIiwiIiwicm9sZSIsIm1lbnVpdGVtY2hlY2tib3giLCJkaXNhYmxlUmlwcGxlIiwiIiwxLCJmaWx0ZXItbWVudS1jaGVja2JveC1yb3ciLDMsImNsaWNrIl0sWzMsImNoZWNrZWQiLCJjaGFuZ2UiXSxbImRpc2FibGVSaXBwbGUiLCIiLCJtYXQtbWVudS1pdGVtIiwiIiwxLCJyYW5nZS1pbnB1dC1jb250YWluZXIiLDMsImNsaWNrIl0sWzMsIm1pbiIsIm1heCIsImxvd2VyVmFsdWUiLCJ1cHBlclZhbHVlIiwidmFsdWUiXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJjbGFzcyIsImZpbHRlci1tZW51LWNoZWNrYm94LXJvdyIsInJvbGUiLCJtZW51aXRlbWNoZWNrYm94IiwzLCJjbGljayIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWyJtYXQtbWVudS1pdGVtIiwiIiwicm9sZSIsIm1lbnVpdGVtY2hlY2tib3giLDEsImZpbHRlci1tZW51LWNoZWNrYm94LXJvdyIsMywiY2xpY2siXSxbInJvbGUiLCJyb3ciXSxbInJvbGUiLCJjZWxsIiwzLCJuZ0NsYXNzIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbInJvbGUiLCJjZWxsIiwiY2xhc3MiLCJjb2x1bW4iLDQsIm5nRm9yIiwibmdGb3JPZiJdLFsicm9sZSIsImNlbGwiLDMsIm5nQ2xhc3MiXSxbMywiYWxpYXMiLDQsIm5nU3dpdGNoQ2FzZSJdLFsiY2xhc3MiLCJuYW1lIiw0LCJuZ1N3aXRjaENhc2UiXSxbMywiYWxpYXMiXSxbMywibmdDbGFzcyIsImNvbG9yUGlja2VyIiwiY3BEaWFsb2dEaXNwbGF5IiwiY3BQb3NpdGlvbk9mZnNldCIsImNwVXNlUm9vdFZpZXdDb250YWluZXIiLCJjcE91dHB1dEZvcm1hdCIsImNvbG9yUGlja2VyQ2hhbmdlIl0sWyJyb2xlIiwiY2VsbCIsMSwiY29sdW1uIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihDZigwLCJkaXYiLDApLENmKDEsInRiLWZpbHRlci1pbnB1dCIsMSksUmYoImtleXVwIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkZpbHRlcktleVVwKGUpfSkpLE1mKCksTWYoKSxDZigyLCJkaXYiLDIpLENmKDMsImRpdiIsMyksSG0oNCxTNSwxLDAsIm5nLWNvbnRhaW5lciIsNCksQ2YoNSwiZGl2Iiw1KSxIbSg2LEU1LDIsNCwibmctY29udGFpbmVyIiw2KSxNZigpLE1mKCksSG0oNyxBNSwyLDAsImRpdiIsNyksSG0oOCxUNSwyLDAsImRpdiIsOCksSG0oOSxONSw2LDEsImRpdiIsOCksTWYoKSxIbSgxMCxJNSwxLDUsIm1hdC1wYWdpbmF0b3IiLDkpLEhtKDExLHQ0LDUsNiwibmctdGVtcGxhdGUiLG51bGwsMTAscXkpLEhtKDEzLGM0LDQsNCwibmctdGVtcGxhdGUiLG51bGwsMTEscXkpKSwyJmUpe2NvbnN0IHQ9Rm0oMTIpO0RjKDEpLExmKCJ2YWx1ZSIsbi5yZWdleEZpbHRlciksRGMoMyksYmYoIm5nVGVtcGxhdGVPdXRsZXQiLHQpLERjKDIpLGJmKCJuZ0Zvck9mIixuLnBhZ2VJdGVtcykoIm5nRm9yVHJhY2tCeSIsbi50YWJsZVRyYWNrQnkpLERjKDEpLGJmKCJuZ0lmIixuLmxvYWRpbmcpLERjKDEpLGJmKCJuZ0lmIiwhbi5sb2FkaW5nJiYwPT09bi5hbGxJdGVtc0xlbmd0aCksRGMoMSksYmYoIm5nSWYiLCFuLmxvYWRpbmcmJm4uYWxsSXRlbXNMZW5ndGg+MCYmMD09PW4uZmlsdGVyZWRJdGVtc0xlbmd0aCksRGMoMSksYmYoIm5nSWYiLG4udXNlUGFnaW5hdGlvbil9fSxkaXJlY3RpdmVzOltaMyxJdix4dixQdixhMixlMSxyMSxDdixEdixSdixiWixmMSxTMixOTCxxcSxNcSxqcSxIcSxFMixIMixQNV0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtc2l6ZToxM3B4O292ZXJmbG93OmhpZGRlbn0uZmlsdGVyLXJvd1tfbmdjb250ZW50LSVDT01QJV17ZmxleDpub25lfS50YWJsZS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2NvbnRhaW46bGF5b3V0IHBhaW50O2ZsZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlO292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmF1dG87d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLHNjcm9sbC1wb3NpdGlvbn0uZmxleC1sYXlvdXRbX25naG9zdC0lQ09NUCVdICAgLm5hbWVbX25nY29udGVudC0lQ09NUCVde3dvcmQtYnJlYWs6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LmZsZXgtbGF5b3V0W19uZ2hvc3QtJUNPTVAlXSAgIG1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVde2JvcmRlci10b3A6MXB4IHNvbGlkICNlYmViZWI7cGFkZGluZy1ib3R0b206MTJweH1ib2R5LmRhcmstbW9kZSAgIC5mbGV4LWxheW91dFtfbmdob3N0LSVDT01QJV0gICBtYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItdG9wOjFweCBzb2xpZCAjNTU1fVtyb2xlPXRhYmxlXVtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTp0YWJsZTt3aWR0aDoxMDAlfVtyb2xlPXRhYmxlXVtfbmdjb250ZW50LSVDT01QJV0gICAuaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXB9W3JvbGU9dGFibGVdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgW3JvbGU9Y29sdW1uaGVhZGVyXVtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZmO3Bvc2l0aW9uOnN0aWNreTt0b3A6MDt6LWluZGV4OjF9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgW3JvbGU9dGFibGVdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgW3JvbGU9Y29sdW1uaGVhZGVyXVtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIFtyb2xlPXRhYmxlXVtfbmdjb250ZW50LSVDT01QJV0gICAuaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIFtyb2xlPWNvbHVtbmhlYWRlcl1bX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6IzMwMzAzMH1bcm9sZT10YWJsZV1bX25nY29udGVudC0lQ09NUCVdICAgW3JvbGU9cm93XVtfbmdjb250ZW50LSVDT01QJV17Y29udGFpbjpzdHJpY3Q7ZGlzcGxheTp0YWJsZS1yb3c7aGVpZ2h0OjQzcHh9W3JvbGU9dGFibGVdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIFtyb2xlPXJvd11bX25nY29udGVudC0lQ09NUCVdICAgLmNvbHVtbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtkaXNwbGF5OnRhYmxlLWNlbGw7cGFkZGluZzo1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIFtyb2xlPXRhYmxlXVtfbmdjb250ZW50LSVDT01QJV0gICBbcm9sZT1yb3ddW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jb2x1bW5bX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICBbcm9sZT10YWJsZV1bX25nY29udGVudC0lQ09NUCVdICAgW3JvbGU9cm93XVtfbmdjb250ZW50LSVDT01QJV0gICAuY29sdW1uW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNTU1fVtyb2xlPXRhYmxlXVtfbmdjb250ZW50LSVDT01QJV0gICBbcm9sZT1yb3ddW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jb2x1bW5bX25nY29udGVudC0lQ09NUCVdOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDoyNHB4fVtyb2xlPXRhYmxlXVtfbmdjb250ZW50LSVDT01QJV0gICBbcm9sZT1yb3ddW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jb2x1bW5bX25nY29udGVudC0lQ09NUCVdOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDoyNHB4fVtyb2xlPXJvd2dyb3VwXVtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTp0YWJsZS1yb3ctZ3JvdXB9W3JvbGU9cm93Z3JvdXBdLmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTp0YWJsZS1oZWFkZXItZ3JvdXB9LmxvYWRpbmdbX25nY29udGVudC0lQ09NUCVdLCAubm8tcnVuc1tfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlcjowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7ZGlzcGxheTpmbGV4O2hlaWdodDo0OHB4O3BhZGRpbmc6MCAyNHB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5sb2FkaW5nW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmxvYWRpbmdbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLm5vLXJ1bnNbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAubm8tcnVuc1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzU1NX0ubG9hZGluZ1tfbmdjb250ZW50LSVDT01QJV17anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2VsZWN0LWFsbFtfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MTJweDtwYWRkaW5nLXRvcDoxMnB4fS5zZWxlY3QtYWxsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdLCAuc2VsZWN0LWFsbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNjt0ZXh0LWFsaWduOmxlZnR9LnNlbGVjdC1hbGwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICBidXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgNHB4fS5maWx0ZXItcm93W19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDE2cHggMCAyMXB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5maWx0ZXItcm93W19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmZpbHRlci1yb3dbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9LmZpbHRlci1yb3dbX25nY29udGVudC0lQ09NUCVdICAgdGItZmlsdGVyLWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4LWdyb3c6MX0udGItY29sdW1uLWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXSwgLnRiLWNvbHVtbi1ydW5fY29sb3JbX25nY29udGVudC0lQ09NUCVde3dpZHRoOjIwcHh9LnRiLWNvbHVtbi1ydW5fY29sb3JbX25nY29udGVudC0lQ09NUCVde3RleHQtYWxpZ246Y2VudGVyfS5ydW4tY29sb3Itc3dhdGNoW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItcmFkaXVzOjEwMCU7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7b3V0bGluZTpub25lfS5ydW4tY29sb3Itc3dhdGNoLm5vLWNvbG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItY29sb3I6I2M2Y2FkMTtib3JkZXItd2lkdGg6MnB4fS5yYW5nZS1pbnB1dC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDphdXRvfVtfbmdob3N0LSVDT01QJV0gICAgIG1hdC1wYWdpbmF0b3IgbWF0LWZvcm0tZmllbGR7bWFyZ2luOjB9LmZpbHRlci1tZW51LWNoZWNrYm94LXJvd1tfbmdjb250ZW50LSVDT01QJV0gICBtYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVdICAgICBsYWJlbHtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7YWxpZ24taXRlbXM6Y2VudGVyfS5maWx0ZXItbWVudS1jaGVja2JveC1yb3dbX25nY29udGVudC0lQ09NUCVdICAgbWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgbGFiZWwgLm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXJ7bWFyZ2luLWxlZnQ6MH0uZmlsdGVyLW1lbnUtY2hlY2tib3gtcm93W19uZ2NvbnRlbnQtJUNPTVAlXSAgIG1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV0gICAgIGxhYmVsIC5tYXQtY2hlY2tib3gtbGFiZWx7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgbWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIG1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6IzMwMzAzMH0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocDQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoicnVucy10YWJsZS1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiJydW5zX3RhYmxlX2NvbXBvbmVudC5uZy5odG1sIixob3N0OnsiW2NsYXNzLmZsZXgtbGF5b3V0XSI6InVzZUZsZXhpYmxlTGF5b3V0In0sc3R5bGVVcmxzOlsicnVuc190YWJsZV9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOlgwLHVzZUNsYXNzOmQ0fV19XX1dLG51bGwse2V4cGVyaW1lbnRJZHM6W3t0eXBlOlJffV0sc2hvd0V4cGVyaW1lbnROYW1lOlt7dHlwZTpSX31dLGNvbHVtbnM6W3t0eXBlOlJffV0saHBhcmFtQ29sdW1uczpbe3R5cGU6Ul99XSxtZXRyaWNDb2x1bW5zOlt7dHlwZTpSX31dLGFsbEl0ZW1zTGVuZ3RoOlt7dHlwZTpSX31dLGZpbHRlcmVkSXRlbXNMZW5ndGg6W3t0eXBlOlJffV0sdXNlRmxleGlibGVMYXlvdXQ6W3t0eXBlOlJffV0sdXNlUGFnaW5hdGlvbjpbe3R5cGU6Ul99XSxzaG93R3JvdXBDb250cm9sOlt7dHlwZTpSX31dLHBhZ2VJdGVtczpbe3R5cGU6Ul99XSxsb2FkaW5nOlt7dHlwZTpSX31dLG51bVNlbGVjdGVkSXRlbXM6W3t0eXBlOlJffV0sc29ydE9wdGlvbjpbe3R5cGU6Ul99XSxwYWdpbmF0aW9uT3B0aW9uOlt7dHlwZTpSX31dLHJlZ2V4RmlsdGVyOlt7dHlwZTpSX31dLG9uUmVnZXhGaWx0ZXJDaGFuZ2U6W3t0eXBlOkVffV0sb25TZWxlY3Rpb25Ub2dnbGU6W3t0eXBlOkVffV0sb25QYWdlU2VsZWN0aW9uVG9nZ2xlOlt7dHlwZTpFX31dLG9uUGFnaW5hdGlvbkNoYW5nZTpbe3R5cGU6RV99XSxvblNvcnRDaGFuZ2U6W3t0eXBlOkVffV0sb25SdW5Db2xvckNoYW5nZTpbe3R5cGU6RV99XSxvbkhwYXJhbURpc2NyZXRlRmlsdGVyQ2hhbmdlZDpbe3R5cGU6RV99XSxvbkhwYXJhbUludGVydmFsRmlsdGVyQ2hhbmdlZDpbe3R5cGU6RV99XSxvbk1ldHJpY0ZpbHRlckNoYW5nZWQ6W3t0eXBlOkVffV0sZmlsdGVyOlt7dHlwZTphcixhcmdzOlsiZmlsdGVyIix7c3RhdGljOiEwLHJlYWQ6S2h9XX1dLHBhZ2luYXRvcjpbe3R5cGU6YXIsYXJnczpbZTEse3N0YXRpYzohMH1dfV0sc29ydDpbe3R5cGU6YXIsYXJnczpbcjEse3N0YXRpYzohMH1dfV19KTtjb25zdCBtND1iUyhLeiwodD0+dC5zdGF0ZT09PVVFLkxPQURJTkcpKTtmdW5jdGlvbiBmNCh0LGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UgRnouRVhQRVJJTUVOVF9OQU1FOnJldHVyblt0LmV4cGVyaW1lbnRBbGlhcyx0LnJ1bi5uYW1lLHQucnVuLmlkXTtjYXNlIEZ6LlJVTl9OQU1FOnJldHVyblt0LnJ1bi5uYW1lLHQuZXhwZXJpbWVudEFsaWFzLHQucnVuLmlkXTtjYXNlIEZ6LkhQQVJBTTpyZXR1cm5bdC5ocGFyYW1zLmdldChlLm5hbWUpLHQucnVuLm5hbWUsdC5leHBlcmltZW50QWxpYXMsdC5ydW4uaWRdO2Nhc2UgRnouTUVUUklDOnJldHVyblt0Lm1ldHJpY3MuZ2V0KGUudGFnKSx0LnJ1bi5uYW1lLHQuZXhwZXJpbWVudEFsaWFzLHQucnVuLmlkXTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgTm90IHlldCBpbXBsZW1lbnRlZDogJHtlfWApfX1mdW5jdGlvbiB1NCh0LGUpe2lmKHZvaWQgMD09PWUpcmV0dXJuIHQuaW5jbHVkZVVuZGVmaW5lZDtpZih0LnR5cGU9PT1rVC5ESVNDUkVURSl7cmV0dXJuIHQuZmlsdGVyVmFsdWVzLmluY2x1ZGVzKGUpfXJldHVybiB0LnR5cGU9PT1rVC5JTlRFUlZBTCYmKHQuZmlsdGVyTG93ZXJWYWx1ZTw9ZSYmZTw9dC5maWx0ZXJVcHBlclZhbHVlKX1jbGFzcyBnNHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5sb2FkaW5nJD1udWxsLHRoaXMuaHBhcmFtQ29sdW1ucyQ9enQoW10pLHRoaXMubWV0cmljQ29sdW1ucyQ9enQoW10pLHRoaXMudXNlRmxleGlibGVMYXlvdXQ9ITEsdGhpcy51c2VQYWdpbmF0aW9uPSExLHRoaXMuY29sdW1ucz1beDAuUlVOX05BTUVdLHRoaXMuc2hvd0hwYXJhbXNBbmRNZXRyaWNzPSExLHRoaXMuc29ydE9wdGlvbiQ9dGhpcy5zdG9yZS5zZWxlY3Qob0kpLHRoaXMucGFnaW5hdGlvbk9wdGlvbiQ9dGhpcy5zdG9yZS5zZWxlY3QobkkpLHRoaXMucmVnZXhGaWx0ZXIkPXRoaXMuc3RvcmUuc2VsZWN0KHRJKSx0aGlzLm5nVW5zdWJzY3JpYmU9bmV3IEJ9aXNFeHBlcmltZW50TmFtZVZpc2libGUoKXtyZXR1cm4gdGhpcy5jb2x1bW5zLnNvbWUoKHQ9PnQ9PT14MC5FWFBFUklNRU5UX05BTUUpKX1uZ09uSW5pdCgpe2NvbnN0IHQ9S3QodGhpcy5leHBlcmltZW50SWRzLm1hcCgodD0+dGhpcy5nZXRSdW5UYWJsZUl0ZW1zRm9yRXhwZXJpbWVudCh0KSkpKS5waXBlKFZ0KCh0PT5bXS5jb25jYXQoLi4udCkpKSk7dGhpcy5hbGxVbnNvcnRlZFJ1blRhYmxlSXRlbXMkPXQucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLEZlKDEpKSx0aGlzLmFsbEl0ZW1zTGVuZ3RoJD10aGlzLmFsbFVuc29ydGVkUnVuVGFibGVJdGVtcyQucGlwZShWdCgodD0+dC5sZW5ndGgpKSk7Y29uc3QgZT10aGlzLmdldEZpbHRlcmVkSXRlbXMkKHRoaXMuYWxsVW5zb3J0ZWRSdW5UYWJsZUl0ZW1zJCkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLEZlKDEpKTt0aGlzLmZpbHRlcmVkSXRlbXNMZW5ndGgkPWUucGlwZShWdCgodD0+dC5sZW5ndGgpKSksdGhpcy5wYWdlSXRlbXMkPXRoaXMuc29ydGVkQW5kU2xpY2VkSXRlbXMkKGUpLHRoaXMubnVtU2VsZWN0ZWRJdGVtcyQ9dGhpcy5hbGxVbnNvcnRlZFJ1blRhYmxlSXRlbXMkLnBpcGUoVnQoKHQ9PnQucmVkdWNlKCgodCxlKT0+dCtOdW1iZXIoZS5zZWxlY3RlZCkpLDApKSkpO2NvbnN0IG49dGhpcy5leHBlcmltZW50SWRzLm1hcCgodD0+dGhpcy5zdG9yZS5zZWxlY3QobTQse2V4cGVyaW1lbnRJZDp0fSkpKTtpZih0aGlzLmxvYWRpbmckPUt0KG4pLnBpcGUoVnQoKHQ9PnQuc29tZSgodD0+dCkpKSkpLHRoaXMuc2hvd0hwYXJhbXNBbmRNZXRyaWNzKXtjb25zdCB0PXRoaXMuc3RvcmUuc2VsZWN0KEQwLHtleHBlcmltZW50SWRzOnRoaXMuZXhwZXJpbWVudElkc30pO3RoaXMuaHBhcmFtQ29sdW1ucyQ9S3QoW3RoaXMuc3RvcmUuc2VsZWN0KHcwLHRoaXMuZXhwZXJpbWVudElkcyksdF0pLnBpcGUoVnQoKChbdCx7aHBhcmFtczplfV0pPT5lLm1hcCgoKHtuYW1lOmUsZGlzcGxheU5hbWU6bn0pPT57Y29uc3Qgbz10LmdldChlKTtpZighbyl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgSW52YXJpYW50IGVycm9yOiBhIGZpbHRlciBmb3IgJHtlfSBtdXN0IGV4aXN0IHdoZW4gdGhlIGhwYXJhbSBleGlzdHNgKTtyZXR1cm57ZGlzcGxheU5hbWU6bixuYW1lOmUsZmlsdGVyOm99fSkpKSkpLHRoaXMubWV0cmljQ29sdW1ucyQ9S3QoW3RoaXMuc3RvcmUuc2VsZWN0KFMwLHRoaXMuZXhwZXJpbWVudElkcyksdF0pLnBpcGUoVnQoKChbdCx7bWV0cmljczplfV0pPT5lLm1hcCgoKHt0YWc6ZSxkaXNwbGF5TmFtZTpufSk9Pntjb25zdCBvPXQuZ2V0KGUpO2lmKCFvKXRocm93IG5ldyBSYW5nZUVycm9yKGBJbnZhcmlhbnQgZXJyb3I6IGEgZmlsdGVyIGZvciAke2V9IG11c3QgZXhpc3Qgd2hlbiB0aGUgbWV0cmljIGV4aXN0c2ApO3JldHVybntkaXNwbGF5TmFtZTpuLHRhZzplLGZpbHRlcjpvfX0pKSkpKX1pZih0aGlzLmNvbHVtbnMuaW5jbHVkZXMoeDAuQ0hFQ0tCT1gpKXt0aGlzLnN0b3JlLnNlbGVjdChoUikucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLHdlKCgodCxlKT0+eEQodCxlKSkpLFZlKCgoKT0+dC5waXBlKHVlKCh0PT50Lmxlbmd0aD41MDApKSx2ZSgxKSkpKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuc3RvcmUuZGlzcGF0Y2goR0koe2xvY2FsaXplZE1lc3NhZ2U6IlRoZSBudW1iZXIgb2YgcnVucyBleGNlZWRzIDUwMC4gTmV3IHJ1bnMgYXJlIHVuc2VsZWN0ZWQgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuIn0pKX0pKX10aGlzLnNob3dHcm91cENvbnRyb2wkPXRoaXMuc3RvcmUuc2VsZWN0KGpEKS5waXBlKFZ0KCh0PT50JiZ0aGlzLmNvbHVtbnMuaW5jbHVkZXMoeDAuUlVOX0NPTE9SKSkpKSx0aGlzLnN0b3JlLmRpc3BhdGNoKHZUKHtleHBlcmltZW50SWRzOnRoaXMuZXhwZXJpbWVudElkc30pKX1uZ09uRGVzdHJveSgpe3RoaXMubmdVbnN1YnNjcmliZS5uZXh0KCksdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCl9Z2V0RmlsdGVyZWRJdGVtcyQodCl7cmV0dXJuIEt0KFt0LHRoaXMuc3RvcmUuc2VsZWN0KHRJKV0pLnBpcGUoVnQoKChbdCxlXSk9PntpZighZSlyZXR1cm4gdDtjb25zdCBuPXRoaXMuY29sdW1ucy5pbmNsdWRlcyh4MC5FWFBFUklNRU5UX05BTUUpO3JldHVybiB0LmZpbHRlcigodD0+eUkoe3J1bk5hbWU6dC5ydW4ubmFtZSxleHBlcmltZW50QWxpYXM6dC5leHBlcmltZW50QWxpYXN9LGUsbikpKX0pKSxWZSgodD0+dGhpcy5zaG93SHBhcmFtc0FuZE1ldHJpY3M/S3QodGhpcy5zdG9yZS5zZWxlY3QodzAsdGhpcy5leHBlcmltZW50SWRzKSx0aGlzLnN0b3JlLnNlbGVjdChTMCx0aGlzLmV4cGVyaW1lbnRJZHMpKS5waXBlKFZ0KCgoW2Usbl0pPT50LmZpbHRlcigoKHtocGFyYW1zOnQsbWV0cmljczpvfSk9PlsuLi5lLmVudHJpZXMoKV0uZXZlcnkoKChbZSxuXSk9PnU0KG4sdC5nZXQoZSkpKSkmJlsuLi5uLmVudHJpZXMoKV0uZXZlcnkoKChbdCxlXSk9PnU0KGUsby5nZXQodCkpKSkpKSkpKTp6dCh0KSkpKX1zb3J0ZWRBbmRTbGljZWRJdGVtcyQodCl7Y29uc3QgZT1LdChbdCx0aGlzLnN0b3JlLnNlbGVjdChvSSldKS5waXBlKFZ0KCgoW3QsZV0pPT4oZnVuY3Rpb24gbih0LGUpe2NvbnN0IG49ZS5rZXksbz1bLi4udF07cmV0dXJuIG51bGw9PT1ufHxlLmRpcmVjdGlvbj09PXZJLlVOU0VUfHxvLnNvcnQoKCh0LG8pPT57Y29uc3QgaT1mNCh0LG4pLGE9ZjQobyxuKTtpZihpLmxlbmd0aCE9PWEubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgSW52YXJpYW50IGVycm9yOiBhIGdpdmVuIHNvcnQgc2hvdWxkIHJlc3VsdCBpbiBzYW1lIG51bWJlciBvZiBpdGVtczogJHtlfWApO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtjb25zdCBuPWlbdF0sbz1hW3RdO2lmKG4hPT1vKXtpZih2b2lkIDA9PT1ufHx2b2lkIDA9PT1vKXJldHVybiB2b2lkIDA9PT1vPy0xOjE7aWYodHlwZW9mIG4hPXR5cGVvZiBvKXRocm93IG5ldyBFcnJvcihgQ2Fubm90IGNvbXBhcmUgdmFsdWVzIG9mIGRpZmZlcmVudCB0eXBlczogJHt0eXBlb2Ygbn0gdnMuICR7dHlwZW9mIG99YCk7cmV0dXJuIG48bz09KGUuZGlyZWN0aW9uPT09dkkuQVNDKT8tMToxfX1yZXR1cm4gMH0pKSxvfSkodCxlKSkpKTtyZXR1cm4gS3QoW2UsdGhpcy5zdG9yZS5zZWxlY3QobkkpXSkucGlwZShWdCgoKFt0LGVdKT0+e2lmKCF0aGlzLnVzZVBhZ2luYXRpb24pcmV0dXJuIHQuc2xpY2UoKTtjb25zdHtwYWdlU2l6ZTpuLHBhZ2VJbmRleDpvfT1lO3JldHVybiB0LnNsaWNlKG8qbiwobysxKSpuKX0pKSxCZShbXSkpfWdldFJ1blRhYmxlSXRlbXNGb3JFeHBlcmltZW50KHQpe3JldHVybiBLdChbdGhpcy5zdG9yZS5zZWxlY3QocXose2V4cGVyaW1lbnRJZDp0fSksdGhpcy5zdG9yZS5zZWxlY3QocVQse2V4cGVyaW1lbnRJZDp0fSksdGhpcy5zdG9yZS5zZWxlY3QoX0kpLHRoaXMuc3RvcmUuc2VsZWN0KENJKSx0aGlzLnN0b3JlLnNlbGVjdChPUildKS5waXBlKFZ0KCgoW2UsbixvLGksYV0pPT5lLm1hcCgoZT0+e2NvbnN0IHI9bmV3IE1hcDsoZS5ocGFyYW1zfHxbXSkuZm9yRWFjaCgodD0+e3Iuc2V0KHQubmFtZSx0LnZhbHVlKX0pKTtjb25zdCBzPW5ldyBNYXA7cmV0dXJuKGUubWV0cmljc3x8W10pLmZvckVhY2goKHQ9PntzLnNldCh0LnRhZyx0LnZhbHVlKX0pKSx7cnVuOmUsZXhwZXJpbWVudE5hbWU6KG51bGw9PW4/dm9pZCAwOm4ubmFtZSl8fCIiLGV4cGVyaW1lbnRBbGlhczphW3RdLHNlbGVjdGVkOkJvb2xlYW4obyYmby5nZXQoZS5pZCkpLHJ1bkNvbG9yOmlbZS5pZF0saHBhcmFtczpyLG1ldHJpY3M6c319KSkpKSl9b25SdW5TZWxlY3Rpb25Ub2dnbGUodCl7dGhpcy5zdG9yZS5kaXNwYXRjaChoVCh7ZXhwZXJpbWVudElkczp0aGlzLmV4cGVyaW1lbnRJZHMscnVuSWQ6dC5ydW4uaWR9KSl9b25QYWdlU2VsZWN0aW9uVG9nZ2xlKHQpe2NvbnN0e2l0ZW1zOmV9PXQsbj1lLm1hcCgoKHtydW46dH0pPT50LmlkKSk7dGhpcy5zdG9yZS5kaXNwYXRjaChiVCh7ZXhwZXJpbWVudElkczp0aGlzLmV4cGVyaW1lbnRJZHMscnVuSWRzOm59KSl9b25QYWdpbmF0aW9uQ2hhbmdlKHQpe2lmKCF0aGlzLnVzZVBhZ2luYXRpb24pdGhyb3cgbmV3IEVycm9yKCJQYWdpbmF0aW9uIGV2ZW50cyBjYW5ub3QgYmUgZGlzcGF0Y2hlZCB3aGVuIHBhZ2luYXRpb24gaXMgZGlzYWJsZWQiKTtjb25zdHtwYWdlSW5kZXg6ZSxwYWdlU2l6ZTpufT10O3RoaXMuc3RvcmUuZGlzcGF0Y2goeVQoe3BhZ2VJbmRleDplLHBhZ2VTaXplOm59KSl9b25Tb3J0Q2hhbmdlKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goX1QodCkpfW9uUmVnZXhGaWx0ZXJDaGFuZ2UodCl7dGhpcy5zdG9yZS5kaXNwYXRjaChDVCh7cmVnZXhTdHJpbmc6dH0pKX1vblJ1bkNvbG9yQ2hhbmdlKHtydW5JZDp0LG5ld0NvbG9yOmV9KXt0aGlzLnN0b3JlLmRpc3BhdGNoKE1UKHtydW5JZDp0LG5ld0NvbG9yOmV9KSl9b25IcGFyYW1EaXNjcmV0ZUZpbHRlckNoYW5nZWQodCl7Y29uc3R7aHBhcmFtTmFtZTplLGZpbHRlclZhbHVlczpuLGluY2x1ZGVVbmRlZmluZWQ6b309dDt0aGlzLnN0b3JlLmRpc3BhdGNoKERUKHtleHBlcmltZW50SWRzOnRoaXMuZXhwZXJpbWVudElkcyxocGFyYW1OYW1lOmUsZmlsdGVyVmFsdWVzOm4saW5jbHVkZVVuZGVmaW5lZDpvfSkpfW9uSHBhcmFtSW50ZXJ2YWxGaWx0ZXJDaGFuZ2VkKHQpe2NvbnN0e25hbWU6ZSxmaWx0ZXJMb3dlclZhbHVlOm4sZmlsdGVyVXBwZXJWYWx1ZTpvLGluY2x1ZGVVbmRlZmluZWQ6aX09dDt0aGlzLnN0b3JlLmRpc3BhdGNoKFJUKHtleHBlcmltZW50SWRzOnRoaXMuZXhwZXJpbWVudElkcyxocGFyYW1OYW1lOmUsZmlsdGVyTG93ZXJWYWx1ZTpuLGZpbHRlclVwcGVyVmFsdWU6byxpbmNsdWRlVW5kZWZpbmVkOml9KSl9b25NZXRyaWNGaWx0ZXJDaGFuZ2VkKHQpe2NvbnN0e25hbWU6ZSxpbmNsdWRlVW5kZWZpbmVkOm4sZmlsdGVyTG93ZXJWYWx1ZTpvLGZpbHRlclVwcGVyVmFsdWU6aX09dDt0aGlzLnN0b3JlLmRpc3BhdGNoKEVUKHtleHBlcmltZW50SWRzOnRoaXMuZXhwZXJpbWVudElkcyxtZXRyaWNUYWc6ZSxpbmNsdWRlVW5kZWZpbmVkOm4sZmlsdGVyTG93ZXJWYWx1ZTpvLGZpbHRlclVwcGVyVmFsdWU6aX0pKX19ZzQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGc0KShnZihpUykpfSxnNC7JtWNtcD1zbyh7dHlwZTpnNCxzZWxlY3RvcnM6W1sicnVucy10YWJsZSJdXSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgiZmxleC1sYXlvdXQiLG4udXNlRmxleGlibGVMYXlvdXQpfSxpbnB1dHM6e3VzZUZsZXhpYmxlTGF5b3V0OiJ1c2VGbGV4aWJsZUxheW91dCIsdXNlUGFnaW5hdGlvbjoidXNlUGFnaW5hdGlvbiIsY29sdW1uczoiY29sdW1ucyIsZXhwZXJpbWVudElkczoiZXhwZXJpbWVudElkcyIsc2hvd0hwYXJhbXNBbmRNZXRyaWNzOiJzaG93SHBhcmFtc0FuZE1ldHJpY3MifSxkZWNsczoxMix2YXJzOjM4LGNvbnN0czpbWzMsImV4cGVyaW1lbnRJZHMiLCJ1c2VGbGV4aWJsZUxheW91dCIsIm51bVNlbGVjdGVkSXRlbXMiLCJjb2x1bW5zIiwiaHBhcmFtQ29sdW1ucyIsIm1ldHJpY0NvbHVtbnMiLCJzaG93RXhwZXJpbWVudE5hbWUiLCJwYWdlSXRlbXMiLCJmaWx0ZXJlZEl0ZW1zTGVuZ3RoIiwiYWxsSXRlbXNMZW5ndGgiLCJsb2FkaW5nIiwicGFnaW5hdGlvbk9wdGlvbiIsInJlZ2V4RmlsdGVyIiwic2hvd0dyb3VwQ29udHJvbCIsInNvcnRPcHRpb24iLCJ1c2VQYWdpbmF0aW9uIiwib25TZWxlY3Rpb25Ub2dnbGUiLCJvblBhZ2VTZWxlY3Rpb25Ub2dnbGUiLCJvblBhZ2luYXRpb25DaGFuZ2UiLCJvblJlZ2V4RmlsdGVyQ2hhbmdlIiwib25Tb3J0Q2hhbmdlIiwib25SdW5Db2xvckNoYW5nZSIsIm9uSHBhcmFtSW50ZXJ2YWxGaWx0ZXJDaGFuZ2VkIiwib25IcGFyYW1EaXNjcmV0ZUZpbHRlckNoYW5nZWQiLCJvbk1ldHJpY0ZpbHRlckNoYW5nZWQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsInJ1bnMtdGFibGUtY29tcG9uZW50IiwwKSxSZigib25TZWxlY3Rpb25Ub2dnbGUiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUnVuU2VsZWN0aW9uVG9nZ2xlKGUpfSkpKCJvblBhZ2VTZWxlY3Rpb25Ub2dnbGUiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUGFnZVNlbGVjdGlvblRvZ2dsZShlKX0pKSgib25QYWdpbmF0aW9uQ2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblBhZ2luYXRpb25DaGFuZ2UoZSl9KSkoIm9uUmVnZXhGaWx0ZXJDaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUmVnZXhGaWx0ZXJDaGFuZ2UoZSl9KSkoIm9uU29ydENoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25Tb3J0Q2hhbmdlKGUpfSkpKCJvblJ1bkNvbG9yQ2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblJ1bkNvbG9yQ2hhbmdlKGUpfSkpKCJvbkhwYXJhbUludGVydmFsRmlsdGVyQ2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25IcGFyYW1JbnRlcnZhbEZpbHRlckNoYW5nZWQoZSl9KSkoIm9uSHBhcmFtRGlzY3JldGVGaWx0ZXJDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkhwYXJhbURpc2NyZXRlRmlsdGVyQ2hhbmdlZChlKX0pKSgib25NZXRyaWNGaWx0ZXJDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbk1ldHJpY0ZpbHRlckNoYW5nZWQoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxfeSg1LCJhc3luYyIpLF95KDYsImFzeW5jIiksX3koNywiYXN5bmMiKSxfeSg4LCJhc3luYyIpLF95KDksImFzeW5jIiksX3koMTAsImFzeW5jIiksX3koMTEsImFzeW5jIiksTWYoKSksMiZlJiZiZigiZXhwZXJpbWVudElkcyIsbi5leHBlcmltZW50SWRzKSgidXNlRmxleGlibGVMYXlvdXQiLG4udXNlRmxleGlibGVMYXlvdXQpKCJudW1TZWxlY3RlZEl0ZW1zIixDeSgxLDE2LG4ubnVtU2VsZWN0ZWRJdGVtcyQpKSgiY29sdW1ucyIsbi5jb2x1bW5zKSgiaHBhcmFtQ29sdW1ucyIsQ3koMiwxOCxuLmhwYXJhbUNvbHVtbnMkKSkoIm1ldHJpY0NvbHVtbnMiLEN5KDMsMjAsbi5tZXRyaWNDb2x1bW5zJCkpKCJzaG93RXhwZXJpbWVudE5hbWUiLG4uaXNFeHBlcmltZW50TmFtZVZpc2libGUoKSkoInBhZ2VJdGVtcyIsQ3koNCwyMixuLnBhZ2VJdGVtcyQpKSgiZmlsdGVyZWRJdGVtc0xlbmd0aCIsQ3koNSwyNCxuLmZpbHRlcmVkSXRlbXNMZW5ndGgkKSkoImFsbEl0ZW1zTGVuZ3RoIixDeSg2LDI2LG4uYWxsSXRlbXNMZW5ndGgkKSkoImxvYWRpbmciLEN5KDcsMjgsbi5sb2FkaW5nJCkpKCJwYWdpbmF0aW9uT3B0aW9uIixDeSg4LDMwLG4ucGFnaW5hdGlvbk9wdGlvbiQpKSgicmVnZXhGaWx0ZXIiLEN5KDksMzIsbi5yZWdleEZpbHRlciQpKSgic2hvd0dyb3VwQ29udHJvbCIsQ3koMTAsMzQsbi5zaG93R3JvdXBDb250cm9sJCkpKCJzb3J0T3B0aW9uIixDeSgxMSwzNixuLnNvcnRPcHRpb24kKSkoInVzZVBhZ2luYXRpb24iLG4udXNlUGFnaW5hdGlvbil9LGRpcmVjdGl2ZXM6W3A0XSxwaXBlczpbVnZdLHN0eWxlczpbIi5mbGV4LWxheW91dFtfbmdob3N0LSVDT01QJV0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmxleC1sYXlvdXRbX25naG9zdC0lQ09NUCVdICAgID4gcnVucy10YWJsZS1jb21wb25lbnRbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9Il0sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGc0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InJ1bnMtdGFibGUiLHRlbXBsYXRlOidcbiAgICA8cnVucy10YWJsZS1jb21wb25lbnRcbiAgICAgIFtleHBlcmltZW50SWRzXT0iZXhwZXJpbWVudElkcyJcbiAgICAgIFt1c2VGbGV4aWJsZUxheW91dF09InVzZUZsZXhpYmxlTGF5b3V0IlxuICAgICAgW251bVNlbGVjdGVkSXRlbXNdPSJudW1TZWxlY3RlZEl0ZW1zJCB8IGFzeW5jIlxuICAgICAgW2NvbHVtbnNdPSJjb2x1bW5zIlxuICAgICAgW2hwYXJhbUNvbHVtbnNdPSJocGFyYW1Db2x1bW5zJCB8IGFzeW5jIlxuICAgICAgW21ldHJpY0NvbHVtbnNdPSJtZXRyaWNDb2x1bW5zJCB8IGFzeW5jIlxuICAgICAgW3Nob3dFeHBlcmltZW50TmFtZV09ImlzRXhwZXJpbWVudE5hbWVWaXNpYmxlKCkiXG4gICAgICBbcGFnZUl0ZW1zXT0icGFnZUl0ZW1zJCB8IGFzeW5jIlxuICAgICAgW2ZpbHRlcmVkSXRlbXNMZW5ndGhdPSJmaWx0ZXJlZEl0ZW1zTGVuZ3RoJCB8IGFzeW5jIlxuICAgICAgW2FsbEl0ZW1zTGVuZ3RoXT0iYWxsSXRlbXNMZW5ndGgkIHwgYXN5bmMiXG4gICAgICBbbG9hZGluZ109ImxvYWRpbmckIHwgYXN5bmMiXG4gICAgICBbcGFnaW5hdGlvbk9wdGlvbl09InBhZ2luYXRpb25PcHRpb24kIHwgYXN5bmMiXG4gICAgICBbcmVnZXhGaWx0ZXJdPSJyZWdleEZpbHRlciQgfCBhc3luYyJcbiAgICAgIFtzaG93R3JvdXBDb250cm9sXT0ic2hvd0dyb3VwQ29udHJvbCQgfCBhc3luYyJcbiAgICAgIFtzb3J0T3B0aW9uXT0ic29ydE9wdGlvbiQgfCBhc3luYyJcbiAgICAgIFt1c2VQYWdpbmF0aW9uXT0idXNlUGFnaW5hdGlvbiJcbiAgICAgIChvblNlbGVjdGlvblRvZ2dsZSk9Im9uUnVuU2VsZWN0aW9uVG9nZ2xlKCRldmVudCkiXG4gICAgICAob25QYWdlU2VsZWN0aW9uVG9nZ2xlKT0ib25QYWdlU2VsZWN0aW9uVG9nZ2xlKCRldmVudCkiXG4gICAgICAob25QYWdpbmF0aW9uQ2hhbmdlKT0ib25QYWdpbmF0aW9uQ2hhbmdlKCRldmVudCkiXG4gICAgICAob25SZWdleEZpbHRlckNoYW5nZSk9Im9uUmVnZXhGaWx0ZXJDaGFuZ2UoJGV2ZW50KSJcbiAgICAgIChvblNvcnRDaGFuZ2UpPSJvblNvcnRDaGFuZ2UoJGV2ZW50KSJcbiAgICAgIChvblJ1bkNvbG9yQ2hhbmdlKT0ib25SdW5Db2xvckNoYW5nZSgkZXZlbnQpIlxuICAgICAgKG9uSHBhcmFtSW50ZXJ2YWxGaWx0ZXJDaGFuZ2VkKT0ib25IcGFyYW1JbnRlcnZhbEZpbHRlckNoYW5nZWQoJGV2ZW50KSJcbiAgICAgIChvbkhwYXJhbURpc2NyZXRlRmlsdGVyQ2hhbmdlZCk9Im9uSHBhcmFtRGlzY3JldGVGaWx0ZXJDaGFuZ2VkKCRldmVudCkiXG4gICAgICAob25NZXRyaWNGaWx0ZXJDaGFuZ2VkKT0ib25NZXRyaWNGaWx0ZXJDaGFuZ2VkKCRldmVudCkiXG4gICAgPjwvcnVucy10YWJsZS1jb21wb25lbnQ+XG4gICcsaG9zdDp7IltjbGFzcy5mbGV4LWxheW91dF0iOiJ1c2VGbGV4aWJsZUxheW91dCJ9LHN0eWxlczpbIlxuICAgICAgOmhvc3QuZmxleC1sYXlvdXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuXG4gICAgICA6aG9zdC5mbGV4LWxheW91dCA+IHJ1bnMtdGFibGUtY29tcG9uZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSx7dXNlRmxleGlibGVMYXlvdXQ6W3t0eXBlOlJffV0sdXNlUGFnaW5hdGlvbjpbe3R5cGU6Ul99XSxjb2x1bW5zOlt7dHlwZTpSX31dLGV4cGVyaW1lbnRJZHM6W3t0eXBlOlJffV0sc2hvd0hwYXJhbXNBbmRNZXRyaWNzOlt7dHlwZTpSX31dfSk7Y2xhc3MgaDR7fWg0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxoNCl9LGg0Lsm1Y21wPXNvKHt0eXBlOmg0LHNlbGVjdG9yczpbWyJydW5zLXNlbGVjdG9yLWNvbXBvbmVudCJdXSxpbnB1dHM6e2V4cGVyaW1lbnRJZHM6ImV4cGVyaW1lbnRJZHMiLHNob3dIcGFyYW1zQW5kTWV0cmljczoic2hvd0hwYXJhbXNBbmRNZXRyaWNzIixjb2x1bW5zOiJjb2x1bW5zIn0sZGVjbHM6MSx2YXJzOjQsY29uc3RzOltbMywidXNlRmxleGlibGVMYXlvdXQiLCJjb2x1bW5zIiwiZXhwZXJpbWVudElkcyIsInNob3dIcGFyYW1zQW5kTWV0cmljcyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiZ2ZigwLCJydW5zLXRhYmxlIiwwKSwyJmUmJmJmKCJ1c2VGbGV4aWJsZUxheW91dCIsITApKCJjb2x1bW5zIixuLmNvbHVtbnMpKCJleHBlcmltZW50SWRzIixuLmV4cGVyaW1lbnRJZHMpKCJzaG93SHBhcmFtc0FuZE1ldHJpY3MiLG4uc2hvd0hwYXJhbXNBbmRNZXRyaWNzKX0sZGlyZWN0aXZlczpbZzRdLHN0eWxlczpbInJ1bnMtdGFibGVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfSJdLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihoNCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJydW5zLXNlbGVjdG9yLWNvbXBvbmVudCIsdGVtcGxhdGU6J1xuICAgIDxydW5zLXRhYmxlXG4gICAgICBbdXNlRmxleGlibGVMYXlvdXRdPSJ0cnVlIlxuICAgICAgW2NvbHVtbnNdPSJjb2x1bW5zIlxuICAgICAgW2V4cGVyaW1lbnRJZHNdPSJleHBlcmltZW50SWRzIlxuICAgICAgW3Nob3dIcGFyYW1zQW5kTWV0cmljc109InNob3dIcGFyYW1zQW5kTWV0cmljcyJcbiAgICA+PC9ydW5zLXRhYmxlPlxuICAnLHN0eWxlczpbIlxuICAgICAgcnVucy10YWJsZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtleHBlcmltZW50SWRzOlt7dHlwZTpSX31dLHNob3dIcGFyYW1zQW5kTWV0cmljczpbe3R5cGU6Ul99XSxjb2x1bW5zOlt7dHlwZTpSX31dfSk7Y2xhc3MgYjR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuZXhwZXJpbWVudElkcyQ9dGhpcy5zdG9yZS5zZWxlY3QoeFIpLnBpcGUoVnQoKHQ9Pm51bGwhPXQ/dDpbXSkpKSx0aGlzLmNvbHVtbnMkPXRoaXMuc3RvcmUuc2VsZWN0KHhSKS5waXBlKFZ0KCh0PT5beDAuQ0hFQ0tCT1gseDAuUlVOX05BTUUsdCYmdC5sZW5ndGg+MT94MC5FWFBFUklNRU5UX05BTUU6bnVsbCx4MC5SVU5fQ09MT1JdLmZpbHRlcigodD0+bnVsbCE9PXQpKSkpKX19YjQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGI0KShnZihpUykpfSxiNC7JtWNtcD1zbyh7dHlwZTpiNCxzZWxlY3RvcnM6W1sicnVucy1zZWxlY3RvciJdXSxpbnB1dHM6e3Nob3dIcGFyYW1zQW5kTWV0cmljczoic2hvd0hwYXJhbXNBbmRNZXRyaWNzIn0sZGVjbHM6Myx2YXJzOjcsY29uc3RzOltbMywiZXhwZXJpbWVudElkcyIsImNvbHVtbnMiLCJzaG93SHBhcmFtc0FuZE1ldHJpY3MiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsInJ1bnMtc2VsZWN0b3ItY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIikpLDImZSYmYmYoImV4cGVyaW1lbnRJZHMiLEN5KDEsMyxuLmV4cGVyaW1lbnRJZHMkKSkoImNvbHVtbnMiLEN5KDIsNSxuLmNvbHVtbnMkKSkoInNob3dIcGFyYW1zQW5kTWV0cmljcyIsbi5zaG93SHBhcmFtc0FuZE1ldHJpY3MpfSxkaXJlY3RpdmVzOltoNF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGI0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InJ1bnMtc2VsZWN0b3IiLHRlbXBsYXRlOidcbiAgICA8cnVucy1zZWxlY3Rvci1jb21wb25lbnRcbiAgICAgIFtleHBlcmltZW50SWRzXT0iZXhwZXJpbWVudElkcyQgfCBhc3luYyJcbiAgICAgIFtjb2x1bW5zXT0iY29sdW1ucyQgfCBhc3luYyJcbiAgICAgIFtzaG93SHBhcmFtc0FuZE1ldHJpY3NdPSJzaG93SHBhcmFtc0FuZE1ldHJpY3MiXG4gICAgPjwvcnVucy1zZWxlY3Rvci1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSx7c2hvd0hwYXJhbXNBbmRNZXRyaWNzOlt7dHlwZTpSX31dfSk7Y29uc3QgeTQ9bmV3IFdlYWtNYXA7Y2xhc3MgXzR7Y29uc3RydWN0b3IodCxlKXt0aGlzLnJvb3Q9dCx0aGlzLmJ1ZmZlcj1lLHRoaXMuZGVzdHJveWVkVGFyZ2V0cz1uZXcgV2Vha1NldH1pbml0aWFsaXplKHQpe3ZhciBlO2lmKHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIpcmV0dXJuO3RoaXMuaW50ZXJzZWN0aW9uQ2FsbGJhY2s9dDtjb25zdCBuPXt0aHJlc2hvbGQ6MCxyb290Om51bGwhPT0oZT10aGlzLnJvb3QpJiZ2b2lkIDAhPT1lP2U6bnVsbH07dGhpcy5idWZmZXImJihuLnJvb3RNYXJnaW49dGhpcy5idWZmZXIpLHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXI9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHRoaXMub25DYXJkSW50ZXJzZWN0aW9uLmJpbmQodGhpcyksbil9YWRkKHQpe3RoaXMuZW5zdXJlSW5pdGlhbGl6ZWQoKSYmdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci5vYnNlcnZlKHQpfXdpbGxEZXN0cm95KHQpe3RoaXMuZW5zdXJlSW5pdGlhbGl6ZWQoKSYmdGhpcy5kZXN0cm95ZWRUYXJnZXRzLmFkZCh0KX1lbnN1cmVJbml0aWFsaXplZCgpe2lmKCF0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyKXRocm93IG5ldyBFcnJvcigiQ2FyZE9ic2VydmVyIG11c3QgYmUgaW5pdGlhbGl6ZWQgYmVmb3JlIHVzZSIpO3JldHVybiEwfW9uQ2FyZEludGVyc2VjdGlvbih0KXt0LnNvcnQoKCh0LGUpPT50LnRpbWUtZS50aW1lKSk7Y29uc3QgZT1uZXcgU2V0LG49bmV3IFNldDtmb3IoY29uc3R7aXNJbnRlcnNlY3Rpbmc6byx0YXJnZXQ6aX1vZiB0KW8/KGUuYWRkKGkpLG4uZGVsZXRlKGkpKTooZS5kZWxldGUoaSksbi5hZGQoaSkpLHRoaXMuZGVzdHJveWVkVGFyZ2V0cy5oYXMoaSkmJiFvJiYodGhpcy5kZXN0cm95ZWRUYXJnZXRzLmRlbGV0ZShpKSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyLnVub2JzZXJ2ZShpKSk7dGhpcy5pbnRlcnNlY3Rpb25DYWxsYmFjayhlLG4pfW9uQ2FyZEludGVyc2VjdGlvbkZvclRlc3QodCl7dGhpcy5vbkNhcmRJbnRlcnNlY3Rpb24odCl9fWNsYXNzIEM0e2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5ob3N0PXQsdGhpcy5zdG9yZT1lfW9uQ2FyZEludGVyc2VjdGlvbih0LGUpe2NvbnN0IG49Wy4uLnRdLm1hcCgodD0+e2NvbnN0IGU9eTQuZ2V0KHQpO2lmKCFlKXRocm93IG5ldyBFcnJvcigiQSBDYXJkT2JzZXJ2ZXIgZWxlbWVudCBtdXN0IGhhdmUgYW4gYXNzb2NpYXRlZCBlbGVtZW50IGlkIGFuZCBjYXJkIGlkLiIpO3JldHVybntlbGVtZW50SWQ6ZS5lbGVtZW50SWQsY2FyZElkOmUuY2FyZElkfX0pKSxvPVsuLi5lXS5tYXAoKHQ9Pntjb25zdCBlPXk0LmdldCh0KTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkEgQ2FyZE9ic2VydmVyIGVsZW1lbnQgbXVzdCBoYXZlIGFuIGFzc29jaWF0ZWQgZWxlbWVudCBpZCBhbmQgY2FyZCBpZC4iKTtyZXR1cm57ZWxlbWVudElkOmUuZWxlbWVudElkLGNhcmRJZDplLmNhcmRJZH19KSk7dGhpcy5zdG9yZS5kaXNwYXRjaChFQSh7ZW50ZXJlZENhcmRzOm4sZXhpdGVkQ2FyZHM6b30pKX1uZ09uSW5pdCgpe2NvbnN0IHQ9dGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQ7eTQuc2V0KHQse2VsZW1lbnRJZDooYjArKyxTeW1ib2woYjApKSxjYXJkSWQ6dGhpcy5jYXJkSWR9KSx0aGlzLmNhcmRPYnNlcnZlcnx8KHRoaXMuY2FyZE9ic2VydmVyPW5ldyBfNCksdGhpcy5jYXJkT2JzZXJ2ZXIuaW5pdGlhbGl6ZSh0aGlzLm9uQ2FyZEludGVyc2VjdGlvbi5iaW5kKHRoaXMpKSx0aGlzLmNhcmRPYnNlcnZlci5hZGQodCl9bmdPbkRlc3Ryb3koKXt0aGlzLmNhcmRPYnNlcnZlciYmdGhpcy5jYXJkT2JzZXJ2ZXIud2lsbERlc3Ryb3kodGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQpfWhvc3RGb3JUZXN0KCl7cmV0dXJuIHRoaXMuaG9zdH19ZnVuY3Rpb24gTTQodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiw3KX1mdW5jdGlvbiB2NCh0LGUpe2lmKDEmdCYmKENmKDAsIm1hdC1vcHRpb24iLDgpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdDtiZigidmFsdWUiLHQpLHltKCJ0aXRsZSIsdCksRGMoMSksd3UodCl9fWZ1bmN0aW9uIHg0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw5KSxDZigxLCJlbSIpLFB1KDIpLF95KDMsIm51bWJlciIpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksa3UoImFuZCAiLEN5KDMsMSx0LmNvbXBsZXRpb25zLmxlbmd0aC0yNSksIiBtb3JlIHRhZ3MgbWF0Y2hlZCIpfX1DNC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QzQpKGdmKEtoKSxnZihpUykpfSxDNC7JtWRpcj1obyh7dHlwZTpDNCxzZWxlY3RvcnM6W1siIiwiY2FyZExhenlMb2FkZXIiLCIiXV0saW5wdXRzOntjYXJkSWQ6WyJjYXJkTGF6eUxvYWRlciIsImNhcmRJZCJdLGNhcmRPYnNlcnZlcjoiY2FyZE9ic2VydmVyIn19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEM0LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjYXJkTGF6eUxvYWRlcl0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOmlTfV19KSx7Y2FyZElkOlt7dHlwZTpSXyxhcmdzOlsiY2FyZExhenlMb2FkZXIiXX1dLGNhcmRPYnNlcnZlcjpbe3R5cGU6Ul99XX0pO2NsYXNzIE80e2NvbnN0cnVjdG9yKCl7dGhpcy5vblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2U9bmV3IFN5fW9uQ29tcGxldGlvbkFjY2VwdGVkKHQpe3RoaXMub25SZWdleEZpbHRlclZhbHVlQ2hhbmdlLmVtaXQoKGZ1bmN0aW9uIGUodCl7cmV0dXJuIHQucmVwbGFjZShrViwiXFwkJiIpfSkodCkpfX1PNC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TzQpfSxPNC7JtWNtcD1zbyh7dHlwZTpPNCxzZWxlY3RvcnM6W1sibWV0cmljcy10YWctZmlsdGVyLWNvbXBvbmVudCJdXSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgidmFsaWQiLG4uaXNSZWdleEZpbHRlclZhbGlkKX0saW5wdXRzOntyZWdleEZpbHRlclZhbHVlOiJyZWdleEZpbHRlclZhbHVlIixpc1JlZ2V4RmlsdGVyVmFsaWQ6ImlzUmVnZXhGaWx0ZXJWYWxpZCIsY29tcGxldGlvbnM6ImNvbXBsZXRpb25zIn0sb3V0cHV0czp7b25SZWdleEZpbHRlclZhbHVlQ2hhbmdlOiJvblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2UifSxkZWNsczo3LHZhcnM6NSxjb25zdHM6W1sxLCJ0YWctZmlsdGVyIl0sWyJwbGFjZWhvbGRlciIsIkZpbHRlciB0YWdzIChyZWdleCkiLDMsInZhbHVlIiwibWF0QXV0b2NvbXBsZXRlIiwiaW5wdXQiXSxbInN2Z0ljb24iLCJlcnJvcl8yNHB4IiwiY2xhc3MiLCJlcnJvci1pY29uIiwidGl0bGUiLCJJbnZhbGlkIHJlZ2V4IGZpbHRlci4gVGhlIHJlc3VsdCBtYXkgYmUgc3RhbGUuIiw0LCJuZ0lmIl0sWzEsInRhZy1vcHRpb25zIiwzLCJvcHRpb25TZWxlY3RlZCJdLFsiZmlsdGVyTWF0Y2hlcyIsIm1hdEF1dG9jb21wbGV0ZSJdLFsiY2xhc3MiLCJvcHRpb24iLDMsInZhbHVlIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbImNsYXNzIiwiYW5kLW1vcmUiLDQsIm5nSWYiXSxbInN2Z0ljb24iLCJlcnJvcl8yNHB4IiwidGl0bGUiLCJJbnZhbGlkIHJlZ2V4IGZpbHRlci4gVGhlIHJlc3VsdCBtYXkgYmUgc3RhbGUuIiwxLCJlcnJvci1pY29uIl0sWzEsIm9wdGlvbiIsMywidmFsdWUiXSxbMSwiYW5kLW1vcmUiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwidGItZmlsdGVyLWlucHV0IiwxKSxSZigiaW5wdXQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZS5lbWl0KGUudGFyZ2V0LnZhbHVlKX0pKSxNZigpLEhtKDIsTTQsMSwwLCJtYXQtaWNvbiIsMiksTWYoKSxDZigzLCJtYXQtYXV0b2NvbXBsZXRlIiwzLDQpLFJmKCJvcHRpb25TZWxlY3RlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25Db21wbGV0aW9uQWNjZXB0ZWQoZS5vcHRpb24udmFsdWUpfSkpLEhtKDUsdjQsMiwzLCJtYXQtb3B0aW9uIiw1KSxIbSg2LHg0LDQsMywiZGl2Iiw2KSxNZigpKSwyJmUpe2NvbnN0IHQ9Rm0oNCk7RGMoMSksYmYoInZhbHVlIixuLnJlZ2V4RmlsdGVyVmFsdWUpKCJtYXRBdXRvY29tcGxldGUiLHQpLERjKDEpLGJmKCJuZ0lmIiwhbi5pc1JlZ2V4RmlsdGVyVmFsaWQpLERjKDMpLGJmKCJuZ0Zvck9mIixudWxsPT1uLmNvbXBsZXRpb25zP251bGw6bi5jb21wbGV0aW9ucy5zbGljZSgwLDI1KSksRGMoMSksYmYoIm5nSWYiLChudWxsPT1uLmNvbXBsZXRpb25zP251bGw6bi5jb21wbGV0aW9ucy5sZW5ndGgpPjI1KX19LGRpcmVjdGl2ZXM6W1ozLFB2LEYzLHh2LE1xLFBMXSxwaXBlczpbJHZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS50YWctZmlsdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9dGItZmlsdGVyLWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4LWdyb3c6MX1bX25naG9zdC0lQ09NUCVde2NvbG9yOiMyMTIxMjF9Ym9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVde2NvbG9yOiNmZmZ9W19uZ2hvc3QtJUNPTVAlXTpub3QoLnZhbGlkKXtjb2xvcjojYzYyODI4fVtfbmdob3N0LSVDT01QJV06bm90KC52YWxpZCkgICAuZXJyb3ItaWNvbltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6I2M2MjgyODtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowfSAgLnRhZy1vcHRpb25zIC5vcHRpb24sICAgLnRhZy1vcHRpb25zIC5hbmQtbW9yZXstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjM7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjQ7cGFkZGluZzo4cHggMTZweH0gIC50YWctb3B0aW9ucyAuYW5kLW1vcmV7Y29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAgIC50YWctb3B0aW9ucyAuYW5kLW1vcmUsIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgICAgLnRhZy1vcHRpb25zIC5hbmQtbW9yZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTzQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy10YWctZmlsdGVyLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6ImZpbHRlcl9pbnB1dF9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiZmlsdGVyX2lucHV0X2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtyZWdleEZpbHRlclZhbHVlOlt7dHlwZTpSX31dLGlzUmVnZXhGaWx0ZXJWYWxpZDpbe3R5cGU6QV8sYXJnczpbImNsYXNzLnZhbGlkIl19LHt0eXBlOlJffV0sY29tcGxldGlvbnM6W3t0eXBlOlJffV0sb25SZWdleEZpbHRlclZhbHVlQ2hhbmdlOlt7dHlwZTpFX31dfSk7Y2xhc3MgUDR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMudGFnRmlsdGVyJD10aGlzLnN0b3JlLnNlbGVjdChQeiksdGhpcy5pc1RhZ0ZpbHRlclJlZ2V4VmFsaWQkPXRoaXMudGFnRmlsdGVyJC5waXBlKFZ0KCh0PT57dHJ5e3JldHVybiBuZXcgUmVnRXhwKHQpLCEwfWNhdGNoKHQpe3JldHVybiExfX0pKSksdGhpcy5jb21wbGV0aW9ucyQ9dGhpcy5zdG9yZS5zZWxlY3QoYXopLnBpcGUoX2UodGhpcy5zdG9yZS5zZWxlY3QoQXopKSxWdCgoKFt0LGVdKT0+dC5maWx0ZXIoKCh7cGx1Z2luOnR9KT0+IWUuc2l6ZXx8ZS5oYXModCkpKS5tYXAoKCh7dGFnOnR9KT0+dCkpKSksVnQoKHQ9PlsuLi5uZXcgU2V0KHQpXSkpLFZ0KCh0PT50LnNvcnQoWCQpKSksX2UodGhpcy5zdG9yZS5zZWxlY3QoUHopKSxWdCgoKFt0LGVdKT0+e3RyeXtyZXR1cm5bdCxuZXcgUmVnRXhwKGUsImkiKV19Y2F0Y2goZSl7cmV0dXJuW3QsbnVsbF19fSkpLHVlKCgoWyx0XSk9Pm51bGwhPT10KSksVnQoKChbdCxlXSk9PnQuZmlsdGVyKCh0PT5lLnRlc3QodCkpKSkpKX1vblRhZ0ZpbHRlckNoYW5nZSh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKFRBKHt0YWdGaWx0ZXI6dH0pKX19UDQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFA0KShnZihpUykpfSxQNC7JtWNtcD1zbyh7dHlwZTpQNCxzZWxlY3RvcnM6W1sibWV0cmljcy10YWctZmlsdGVyIl1dLGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsInJlZ2V4RmlsdGVyVmFsdWUiLCJpc1JlZ2V4RmlsdGVyVmFsaWQiLCJjb21wbGV0aW9ucyIsIm9uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWV0cmljcy10YWctZmlsdGVyLWNvbXBvbmVudCIsMCksUmYoIm9uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25UYWdGaWx0ZXJDaGFuZ2UoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksTWYoKSksMiZlJiZiZigicmVnZXhGaWx0ZXJWYWx1ZSIsQ3koMSwzLG4udGFnRmlsdGVyJCkpKCJpc1JlZ2V4RmlsdGVyVmFsaWQiLEN5KDIsNSxuLmlzVGFnRmlsdGVyUmVnZXhWYWxpZCQpKSgiY29tcGxldGlvbnMiLEN5KDMsNyxuLmNvbXBsZXRpb25zJCkpfSxkaXJlY3RpdmVzOltPNF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFA0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtdGFnLWZpbHRlciIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWNzLXRhZy1maWx0ZXItY29tcG9uZW50XG4gICAgICBbcmVnZXhGaWx0ZXJWYWx1ZV09InRhZ0ZpbHRlciQgfCBhc3luYyJcbiAgICAgIFtpc1JlZ2V4RmlsdGVyVmFsaWRdPSJpc1RhZ0ZpbHRlclJlZ2V4VmFsaWQkIHwgYXN5bmMiXG4gICAgICBbY29tcGxldGlvbnNdPSJjb21wbGV0aW9ucyQgfCBhc3luYyJcbiAgICAgIChvblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2UpPSJvblRhZ0ZpbHRlckNoYW5nZSgkZXZlbnQpIlxuICAgID48L21ldHJpY3MtdGFnLWZpbHRlci1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCB3ND1bImJ1dHRvbiJdLGs0PW5ldyBlcigiTUFUX0JVVFRPTl9UT0dHTEVfREVGQVVMVF9PUFRJT05TIiksUzQ9bmV3IGVyKCJNYXRCdXR0b25Ub2dnbGVHcm91cCIpLEQ0PXtwcm92aWRlOnhVLHVzZUV4aXN0aW5nOiRlKCgoKT0+QTQpKSxtdWx0aTohMH07bGV0IFI0PTA7Y2xhc3MgRTR7Y29uc3RydWN0b3IodCxlKXt0aGlzLnNvdXJjZT10LHRoaXMudmFsdWU9ZX19Y2xhc3MgQTR7Y29uc3RydWN0b3IodCxlKXt0aGlzLl9jaGFuZ2VEZXRlY3Rvcj10LHRoaXMuX3ZlcnRpY2FsPSExLHRoaXMuX211bHRpcGxlPSExLHRoaXMuX2Rpc2FibGVkPSExLHRoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm49KCk9Pnt9LHRoaXMuX29uVG91Y2hlZD0oKT0+e30sdGhpcy5fbmFtZT0ibWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtIitSNCsrLHRoaXMudmFsdWVDaGFuZ2U9bmV3IFN5LHRoaXMuY2hhbmdlPW5ldyBTeSx0aGlzLmFwcGVhcmFuY2U9ZSYmZS5hcHBlYXJhbmNlP2UuYXBwZWFyYW5jZToic3RhbmRhcmQifWdldCBuYW1lKCl7cmV0dXJuIHRoaXMuX25hbWV9c2V0IG5hbWUodCl7dGhpcy5fbmFtZT10LHRoaXMuX2J1dHRvblRvZ2dsZXMmJnRoaXMuX2J1dHRvblRvZ2dsZXMuZm9yRWFjaCgodD0+e3QubmFtZT10aGlzLl9uYW1lLHQuX21hcmtGb3JDaGVjaygpfSkpfWdldCB2ZXJ0aWNhbCgpe3JldHVybiB0aGlzLl92ZXJ0aWNhbH1zZXQgdmVydGljYWwodCl7dGhpcy5fdmVydGljYWw9ZUgodCl9Z2V0IHZhbHVlKCl7Y29uc3QgdD10aGlzLl9zZWxlY3Rpb25Nb2RlbD90aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZDpbXTtyZXR1cm4gdGhpcy5tdWx0aXBsZT90Lm1hcCgodD0+dC52YWx1ZSkpOnRbMF0/dFswXS52YWx1ZTp2b2lkIDB9c2V0IHZhbHVlKHQpe3RoaXMuX3NldFNlbGVjdGlvbkJ5VmFsdWUodCksdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpfWdldCBzZWxlY3RlZCgpe2NvbnN0IHQ9dGhpcy5fc2VsZWN0aW9uTW9kZWw/dGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQ6W107cmV0dXJuIHRoaXMubXVsdGlwbGU/dDp0WzBdfHxudWxsfWdldCBtdWx0aXBsZSgpe3JldHVybiB0aGlzLl9tdWx0aXBsZX1zZXQgbXVsdGlwbGUodCl7dGhpcy5fbXVsdGlwbGU9ZUgodCl9Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkfXNldCBkaXNhYmxlZCh0KXt0aGlzLl9kaXNhYmxlZD1lSCh0KSx0aGlzLl9idXR0b25Ub2dnbGVzJiZ0aGlzLl9idXR0b25Ub2dnbGVzLmZvckVhY2goKHQ9PnQuX21hcmtGb3JDaGVjaygpKSl9bmdPbkluaXQoKXt0aGlzLl9zZWxlY3Rpb25Nb2RlbD1uZXcgakwodGhpcy5tdWx0aXBsZSx2b2lkIDAsITEpfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdCguLi50aGlzLl9idXR0b25Ub2dnbGVzLmZpbHRlcigodD0+dC5jaGVja2VkKSkpfXdyaXRlVmFsdWUodCl7dGhpcy52YWx1ZT10LHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpfXJlZ2lzdGVyT25DaGFuZ2UodCl7dGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbj10fXJlZ2lzdGVyT25Ub3VjaGVkKHQpe3RoaXMuX29uVG91Y2hlZD10fXNldERpc2FibGVkU3RhdGUodCl7dGhpcy5kaXNhYmxlZD10fV9lbWl0Q2hhbmdlRXZlbnQoKXtjb25zdCB0PXRoaXMuc2VsZWN0ZWQsZT1BcnJheS5pc0FycmF5KHQpP3RbdC5sZW5ndGgtMV06dCxuPW5ldyBFNChlLHRoaXMudmFsdWUpO3RoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4obi52YWx1ZSksdGhpcy5jaGFuZ2UuZW1pdChuKX1fc3luY0J1dHRvblRvZ2dsZSh0LGUsbj0hMSxvPSExKXt0aGlzLm11bHRpcGxlfHwhdGhpcy5zZWxlY3RlZHx8dC5jaGVja2VkfHwodGhpcy5zZWxlY3RlZC5jaGVja2VkPSExKSx0aGlzLl9zZWxlY3Rpb25Nb2RlbD9lP3RoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdCh0KTp0aGlzLl9zZWxlY3Rpb25Nb2RlbC5kZXNlbGVjdCh0KTpvPSEwLG8/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PnRoaXMuX3VwZGF0ZU1vZGVsVmFsdWUobikpKTp0aGlzLl91cGRhdGVNb2RlbFZhbHVlKG4pfV9pc1NlbGVjdGVkKHQpe3JldHVybiB0aGlzLl9zZWxlY3Rpb25Nb2RlbCYmdGhpcy5fc2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZCh0KX1faXNQcmVjaGVja2VkKHQpe3JldHVybiB2b2lkIDAhPT10aGlzLl9yYXdWYWx1ZSYmKHRoaXMubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkodGhpcy5fcmF3VmFsdWUpP3RoaXMuX3Jhd1ZhbHVlLnNvbWUoKGU9Pm51bGwhPXQudmFsdWUmJmU9PT10LnZhbHVlKSk6dC52YWx1ZT09PXRoaXMuX3Jhd1ZhbHVlKX1fc2V0U2VsZWN0aW9uQnlWYWx1ZSh0KXtpZih0aGlzLl9yYXdWYWx1ZT10LHRoaXMuX2J1dHRvblRvZ2dsZXMpaWYodGhpcy5tdWx0aXBsZSYmdCl7aWYoIUFycmF5LmlzQXJyYXkodCkmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBFcnJvcigiVmFsdWUgbXVzdCBiZSBhbiBhcnJheSBpbiBtdWx0aXBsZS1zZWxlY3Rpb24gbW9kZS4iKTt0aGlzLl9jbGVhclNlbGVjdGlvbigpLHQuZm9yRWFjaCgodD0+dGhpcy5fc2VsZWN0VmFsdWUodCkpKX1lbHNlIHRoaXMuX2NsZWFyU2VsZWN0aW9uKCksdGhpcy5fc2VsZWN0VmFsdWUodCl9X2NsZWFyU2VsZWN0aW9uKCl7dGhpcy5fc2VsZWN0aW9uTW9kZWwuY2xlYXIoKSx0aGlzLl9idXR0b25Ub2dnbGVzLmZvckVhY2goKHQ9PnQuY2hlY2tlZD0hMSkpfV9zZWxlY3RWYWx1ZSh0KXtjb25zdCBlPXRoaXMuX2J1dHRvblRvZ2dsZXMuZmluZCgoZT0+bnVsbCE9ZS52YWx1ZSYmZS52YWx1ZT09PXQpKTtlJiYoZS5jaGVja2VkPSEwLHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdChlKSl9X3VwZGF0ZU1vZGVsVmFsdWUodCl7dCYmdGhpcy5fZW1pdENoYW5nZUV2ZW50KCksdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpfX1BNC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QTQpKGdmKE9iKSxnZihrNCw4KSl9LEE0Lsm1ZGlyPWhvKHt0eXBlOkE0LHNlbGVjdG9yczpbWyJtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCJdXSxjb250ZW50UXVlcmllczpmdW5jdGlvbiB0KGUsbixvKXtpZigxJmUmJmp5KG8sTjQsNSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5fYnV0dG9uVG9nZ2xlcz10KX19LGhvc3RBdHRyczpbInJvbGUiLCJncm91cCIsMSwibWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAiXSxob3N0VmFyczo1LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiYoeW0oImFyaWEtZGlzYWJsZWQiLG4uZGlzYWJsZWQpLGN1KCJtYXQtYnV0dG9uLXRvZ2dsZS12ZXJ0aWNhbCIsbi52ZXJ0aWNhbCkoIm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQiLCJzdGFuZGFyZCI9PT1uLmFwcGVhcmFuY2UpKX0saW5wdXRzOnthcHBlYXJhbmNlOiJhcHBlYXJhbmNlIixuYW1lOiJuYW1lIix2ZXJ0aWNhbDoidmVydGljYWwiLHZhbHVlOiJ2YWx1ZSIsbXVsdGlwbGU6Im11bHRpcGxlIixkaXNhYmxlZDoiZGlzYWJsZWQifSxvdXRwdXRzOnt2YWx1ZUNoYW5nZToidmFsdWVDaGFuZ2UiLGNoYW5nZToiY2hhbmdlIn0sZXhwb3J0QXM6WyJtYXRCdXR0b25Ub2dnbGVHcm91cCJdLGZlYXR1cmVzOltqaChbRDQse3Byb3ZpZGU6UzQsdXNlRXhpc3Rpbmc6QTR9XSldfSksQTQuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpPYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltrNF19XX1dLEE0LnByb3BEZWNvcmF0b3JzPXtfYnV0dG9uVG9nZ2xlczpbe3R5cGU6b3IsYXJnczpbJGUoKCgpPT5ONCkpLHtkZXNjZW5kYW50czohMH1dfV0sYXBwZWFyYW5jZTpbe3R5cGU6Ul99XSxuYW1lOlt7dHlwZTpSX31dLHZlcnRpY2FsOlt7dHlwZTpSX31dLHZhbHVlOlt7dHlwZTpSX31dLHZhbHVlQ2hhbmdlOlt7dHlwZTpFX31dLG11bHRpcGxlOlt7dHlwZTpSX31dLGRpc2FibGVkOlt7dHlwZTpSX31dLGNoYW5nZTpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihBNCxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCIscHJvdmlkZXJzOltENCx7cHJvdmlkZTpTNCx1c2VFeGlzdGluZzpBNH1dLGhvc3Q6e3JvbGU6Imdyb3VwIixjbGFzczoibWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAiLCJbYXR0ci5hcmlhLWRpc2FibGVkXSI6ImRpc2FibGVkIiwiW2NsYXNzLm1hdC1idXR0b24tdG9nZ2xlLXZlcnRpY2FsXSI6InZlcnRpY2FsIiwiW2NsYXNzLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmRdIjonYXBwZWFyYW5jZSA9PT0gInN0YW5kYXJkIid9LGV4cG9ydEFzOiJtYXRCdXR0b25Ub2dnbGVHcm91cCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpPYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltrNF19XX1dfSkse3ZhbHVlQ2hhbmdlOlt7dHlwZTpFX31dLGNoYW5nZTpbe3R5cGU6RV99XSxhcHBlYXJhbmNlOlt7dHlwZTpSX31dLG5hbWU6W3t0eXBlOlJffV0sdmVydGljYWw6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV0sbXVsdGlwbGU6W3t0eXBlOlJffV0sZGlzYWJsZWQ6W3t0eXBlOlJffV0sX2J1dHRvblRvZ2dsZXM6W3t0eXBlOm9yLGFyZ3M6WyRlKCgoKT0+TjQpKSx7ZGVzY2VuZGFudHM6ITB9XX1dfSk7Y29uc3QgVDQ9SEYoY2xhc3N7fSk7Y2xhc3MgTjQgZXh0ZW5kcyBUNHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7c3VwZXIoKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj1lLHRoaXMuX2VsZW1lbnRSZWY9bix0aGlzLl9mb2N1c01vbml0b3I9byx0aGlzLl9pc1NpbmdsZVNlbGVjdG9yPSExLHRoaXMuX2NoZWNrZWQ9ITEsdGhpcy5hcmlhTGFiZWxsZWRieT1udWxsLHRoaXMuX2Rpc2FibGVkPSExLHRoaXMuY2hhbmdlPW5ldyBTeTtjb25zdCByPU51bWJlcihpKTt0aGlzLnRhYkluZGV4PXJ8fDA9PT1yP3I6bnVsbCx0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwPXQsdGhpcy5hcHBlYXJhbmNlPWEmJmEuYXBwZWFyYW5jZT9hLmFwcGVhcmFuY2U6InN0YW5kYXJkIn1nZXQgYnV0dG9uSWQoKXtyZXR1cm5gJHt0aGlzLmlkfS1idXR0b25gfWdldCBhcHBlYXJhbmNlKCl7cmV0dXJuIHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXA/dGhpcy5idXR0b25Ub2dnbGVHcm91cC5hcHBlYXJhbmNlOnRoaXMuX2FwcGVhcmFuY2V9c2V0IGFwcGVhcmFuY2UodCl7dGhpcy5fYXBwZWFyYW5jZT10fWdldCBjaGVja2VkKCl7cmV0dXJuIHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXA/dGhpcy5idXR0b25Ub2dnbGVHcm91cC5faXNTZWxlY3RlZCh0aGlzKTp0aGlzLl9jaGVja2VkfXNldCBjaGVja2VkKHQpe2NvbnN0IGU9ZUgodCk7ZSE9PXRoaXMuX2NoZWNrZWQmJih0aGlzLl9jaGVja2VkPWUsdGhpcy5idXR0b25Ub2dnbGVHcm91cCYmdGhpcy5idXR0b25Ub2dnbGVHcm91cC5fc3luY0J1dHRvblRvZ2dsZSh0aGlzLHRoaXMuX2NoZWNrZWQpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKX1nZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5fZGlzYWJsZWR8fHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAmJnRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAuZGlzYWJsZWR9c2V0IGRpc2FibGVkKHQpe3RoaXMuX2Rpc2FibGVkPWVIKHQpfW5nT25Jbml0KCl7Y29uc3QgdD10aGlzLmJ1dHRvblRvZ2dsZUdyb3VwO3RoaXMuX2lzU2luZ2xlU2VsZWN0b3I9dCYmIXQubXVsdGlwbGUsdGhpcy5pZD10aGlzLmlkfHwibWF0LWJ1dHRvbi10b2dnbGUtIitSNCsrLHRoaXMuX2lzU2luZ2xlU2VsZWN0b3ImJih0aGlzLm5hbWU9dC5uYW1lKSx0JiYodC5faXNQcmVjaGVja2VkKHRoaXMpP3RoaXMuY2hlY2tlZD0hMDp0Ll9pc1NlbGVjdGVkKHRoaXMpIT09dGhpcy5fY2hlY2tlZCYmdC5fc3luY0J1dHRvblRvZ2dsZSh0aGlzLHRoaXMuX2NoZWNrZWQpKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLl9mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLl9lbGVtZW50UmVmLCEwKX1uZ09uRGVzdHJveSgpe2NvbnN0IHQ9dGhpcy5idXR0b25Ub2dnbGVHcm91cDt0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZiksdCYmdC5faXNTZWxlY3RlZCh0aGlzKSYmdC5fc3luY0J1dHRvblRvZ2dsZSh0aGlzLCExLCExLCEwKX1mb2N1cyh0KXt0aGlzLl9idXR0b25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXModCl9X29uQnV0dG9uQ2xpY2soKXtjb25zdCB0PSEhdGhpcy5faXNTaW5nbGVTZWxlY3Rvcnx8IXRoaXMuX2NoZWNrZWQ7dCE9PXRoaXMuX2NoZWNrZWQmJih0aGlzLl9jaGVja2VkPXQsdGhpcy5idXR0b25Ub2dnbGVHcm91cCYmKHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAuX3N5bmNCdXR0b25Ub2dnbGUodGhpcyx0aGlzLl9jaGVja2VkLCEwKSx0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwLl9vblRvdWNoZWQoKSkpLHRoaXMuY2hhbmdlLmVtaXQobmV3IEU0KHRoaXMsdGhpcy52YWx1ZSkpfV9tYXJrRm9yQ2hlY2soKXt0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX19TjQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE40KShnZihTNCw4KSxnZihPYiksZ2YoS2gpLGdmKGZGKSxHYSgidGFiaW5kZXgiKSxnZihrNCw4KSl9LE40Lsm1Y21wPXNvKHt0eXBlOk40LHNlbGVjdG9yczpbWyJtYXQtYnV0dG9uLXRvZ2dsZSJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkodzQsNSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5fYnV0dG9uRWxlbWVudD10LmZpcnN0KX19LGhvc3RBdHRyczpbInJvbGUiLCJwcmVzZW50YXRpb24iLDEsIm1hdC1idXR0b24tdG9nZ2xlIl0saG9zdFZhcnM6MTIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJmb2N1cyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5mb2N1cygpfSkpLDImZSYmKHltKCJhcmlhLWxhYmVsIixudWxsKSgiYXJpYS1sYWJlbGxlZGJ5IixudWxsKSgiaWQiLG4uaWQpKCJuYW1lIixudWxsKSxjdSgibWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZSIsIW4uYnV0dG9uVG9nZ2xlR3JvdXApKCJtYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkIixuLmNoZWNrZWQpKCJtYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZCIsbi5kaXNhYmxlZCkoIm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQiLCJzdGFuZGFyZCI9PT1uLmFwcGVhcmFuY2UpKX0saW5wdXRzOntkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIixhcmlhTGFiZWxsZWRieTpbImFyaWEtbGFiZWxsZWRieSIsImFyaWFMYWJlbGxlZGJ5Il0sdGFiSW5kZXg6InRhYkluZGV4IixhcHBlYXJhbmNlOiJhcHBlYXJhbmNlIixjaGVja2VkOiJjaGVja2VkIixkaXNhYmxlZDoiZGlzYWJsZWQiLGlkOiJpZCIsbmFtZToibmFtZSIsYXJpYUxhYmVsOlsiYXJpYS1sYWJlbCIsImFyaWFMYWJlbCJdLHZhbHVlOiJ2YWx1ZSJ9LG91dHB1dHM6e2NoYW5nZToiY2hhbmdlIn0sZXhwb3J0QXM6WyJtYXRCdXR0b25Ub2dnbGUiXSxmZWF0dXJlczpbUXBdLG5nQ29udGVudFNlbGVjdG9yczpbIioiXSxkZWNsczo2LHZhcnM6OSxjb25zdHM6W1sidHlwZSIsImJ1dHRvbiIsMSwibWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9uIiwibWF0LWZvY3VzLWluZGljYXRvciIsMywiaWQiLCJkaXNhYmxlZCIsImNsaWNrIl0sWyJidXR0b24iLCIiXSxbMSwibWF0LWJ1dHRvbi10b2dnbGUtbGFiZWwtY29udGVudCJdLFsxLCJtYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5Il0sWyJtYXRSaXBwbGUiLCIiLDEsIm1hdC1idXR0b24tdG9nZ2xlLXJpcHBsZSIsMywibWF0UmlwcGxlVHJpZ2dlciIsIm1hdFJpcHBsZURpc2FibGVkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihIZigpLENmKDAsImJ1dHRvbiIsMCwxKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX29uQnV0dG9uQ2xpY2soKX0pKSxDZigyLCJzcGFuIiwyKSxGZigzKSxNZigpLE1mKCksdmYoNCwic3BhbiIsMyksdmYoNSwic3BhbiIsNCkpLDImZSl7Y29uc3QgdD1GbSgxKTtiZigiaWQiLG4uYnV0dG9uSWQpKCJkaXNhYmxlZCIsbi5kaXNhYmxlZHx8bnVsbCkseW0oInRhYmluZGV4IixuLmRpc2FibGVkPy0xOm4udGFiSW5kZXgpKCJhcmlhLXByZXNzZWQiLG4uY2hlY2tlZCkoIm5hbWUiLG4ubmFtZXx8bnVsbCkoImFyaWEtbGFiZWwiLG4uYXJpYUxhYmVsKSgiYXJpYS1sYWJlbGxlZGJ5IixuLmFyaWFMYWJlbGxlZGJ5KSxEYyg1KSxiZigibWF0UmlwcGxlVHJpZ2dlciIsdCkoIm1hdFJpcHBsZURpc2FibGVkIixuLmRpc2FibGVSaXBwbGV8fG4uZGlzYWJsZWQpfX0sZGlyZWN0aXZlczpbbUxdLHN0eWxlczpbIi5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MnB4Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3Vwe291dGxpbmU6c29saWQgMXB4fS5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmR7Ym9yZGVyLXJhZGl1czo0cHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmR7b3V0bGluZTowfS5tYXQtYnV0dG9uLXRvZ2dsZS12ZXJ0aWNhbHtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lm1hdC1idXR0b24tdG9nZ2xlLXZlcnRpY2FsIC5tYXQtYnV0dG9uLXRvZ2dsZS1sYWJlbC1jb250ZW50e2Rpc3BsYXk6YmxvY2t9Lm1hdC1idXR0b24tdG9nZ2xle3doaXRlLXNwYWNlOm5vd3JhcDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LWJ1dHRvbi10b2dnbGUgLm1hdC1pY29uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjp0b3B9Lm1hdC1idXR0b24tdG9nZ2xlLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLXRvZ2dsZS5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi41fS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkOm5vdCgubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQpOmhvdmVyIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjA0fS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQpIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjEyfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZCkgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouNX1AbWVkaWEoaG92ZXI6IG5vbmUpey5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkOm5vdCgubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQpOmhvdmVyIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e2Rpc3BsYXk6bm9uZX19Lm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnR7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnR7cGFkZGluZzowIDEycHh9Lm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnQ+Knt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7Ym9yZGVyLXJhZGl1czppbmhlcml0O3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlfS5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e2JvcmRlci1ib3R0b206c29saWQgMzZweH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjU7aGVpZ2h0OjB9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e2JvcmRlci1ib3R0b206c29saWQgNTAwcHh9Lm1hdC1idXR0b24tdG9nZ2xlIC5tYXQtYnV0dG9uLXRvZ2dsZS1yaXBwbGV7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZX0ubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9ue2JvcmRlcjowO2JhY2tncm91bmQ6bm9uZTtjb2xvcjppbmhlcml0O3BhZGRpbmc6MDttYXJnaW46MDtmb250OmluaGVyaXQ7b3V0bGluZTpub25lO3dpZHRoOjEwMCU7Y3Vyc29yOnBvaW50ZXJ9Lm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkIC5tYXQtYnV0dG9uLXRvZ2dsZS1idXR0b257Y3Vyc29yOmRlZmF1bHR9Lm1hdC1idXR0b24tdG9nZ2xlLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1cbiJdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLE40LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6QTQsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1M0XX1dfSx7dHlwZTpPYn0se3R5cGU6S2h9LHt0eXBlOmZGfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbInRhYmluZGV4Il19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltrNF19XX1dLE40LnByb3BEZWNvcmF0b3JzPXthcmlhTGFiZWw6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsIl19XSxhcmlhTGFiZWxsZWRieTpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWxsZWRieSJdfV0sX2J1dHRvbkVsZW1lbnQ6W3t0eXBlOmFyLGFyZ3M6WyJidXR0b24iXX1dLGlkOlt7dHlwZTpSX31dLG5hbWU6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV0sdGFiSW5kZXg6W3t0eXBlOlJffV0sYXBwZWFyYW5jZTpbe3R5cGU6Ul99XSxjaGVja2VkOlt7dHlwZTpSX31dLGRpc2FibGVkOlt7dHlwZTpSX31dLGNoYW5nZTpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihONCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtYnV0dG9uLXRvZ2dsZSIsdGVtcGxhdGU6JzxidXR0b24gI2J1dHRvbiBjbGFzcz0ibWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9uIG1hdC1mb2N1cy1pbmRpY2F0b3IiXG4gICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgW2lkXT0iYnV0dG9uSWQiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT0iZGlzYWJsZWQgPyAtMSA6IHRhYkluZGV4IlxuICAgICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPSJjaGVja2VkIlxuICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCB8fCBudWxsIlxuICAgICAgICBbYXR0ci5uYW1lXT0ibmFtZSB8fCBudWxsIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT0iYXJpYUxhYmVsIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPSJhcmlhTGFiZWxsZWRieSJcbiAgICAgICAgKGNsaWNrKT0iX29uQnV0dG9uQ2xpY2soKSI+XG4gIDxzcGFuIGNsYXNzPSJtYXQtYnV0dG9uLXRvZ2dsZS1sYWJlbC1jb250ZW50Ij5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvc3Bhbj5cbjwvYnV0dG9uPlxuXG48c3BhbiBjbGFzcz0ibWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheSI+PC9zcGFuPlxuPHNwYW4gY2xhc3M9Im1hdC1idXR0b24tdG9nZ2xlLXJpcHBsZSIgbWF0UmlwcGxlXG4gICAgIFttYXRSaXBwbGVUcmlnZ2VyXT0iYnV0dG9uIlxuICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPSJ0aGlzLmRpc2FibGVSaXBwbGUgfHwgdGhpcy5kaXNhYmxlZCI+XG48L3NwYW4+XG4nLGVuY2Fwc3VsYXRpb246V24uTm9uZSxleHBvcnRBczoibWF0QnV0dG9uVG9nZ2xlIixjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLGlucHV0czpbImRpc2FibGVSaXBwbGUiXSxob3N0OnsiW2NsYXNzLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmVdIjoiIWJ1dHRvblRvZ2dsZUdyb3VwIiwiW2NsYXNzLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWRdIjoiY2hlY2tlZCIsIltjbGFzcy5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZF0iOiJkaXNhYmxlZCIsIltjbGFzcy5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkXSI6J2FwcGVhcmFuY2UgPT09ICJzdGFuZGFyZCInLGNsYXNzOiJtYXQtYnV0dG9uLXRvZ2dsZSIsIlthdHRyLmFyaWEtbGFiZWxdIjoibnVsbCIsIlthdHRyLmFyaWEtbGFiZWxsZWRieV0iOiJudWxsIiwiW2F0dHIuaWRdIjoiaWQiLCJbYXR0ci5uYW1lXSI6Im51bGwiLCIoZm9jdXMpIjoiZm9jdXMoKSIscm9sZToicHJlc2VudGF0aW9uIn0sc3R5bGVzOlsiLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUsLm1hdC1idXR0b24tdG9nZ2xlLWdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1kaXJlY3Rpb246cm93O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXB7b3V0bGluZTpzb2xpZCAxcHh9Lm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCwubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZHtib3JkZXItcmFkaXVzOjRweH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZHtvdXRsaW5lOjB9Lm1hdC1idXR0b24tdG9nZ2xlLXZlcnRpY2Fse2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubWF0LWJ1dHRvbi10b2dnbGUtdmVydGljYWwgLm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnR7ZGlzcGxheTpibG9ja30ubWF0LWJ1dHRvbi10b2dnbGV7d2hpdGUtc3BhY2U6bm93cmFwO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtYnV0dG9uLXRvZ2dsZSAubWF0LWljb24gc3Zne3ZlcnRpY2FsLWFsaWduOnRvcH0ubWF0LWJ1dHRvbi10b2dnbGUuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tdG9nZ2xlLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjV9Lm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQ6bm90KC5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZCk6aG92ZXIgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouMDR9Lm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZCkgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouMTJ9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkKSAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi41fUBtZWRpYShob3Zlcjogbm9uZSl7Lm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQ6bm90KC5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZCk6aG92ZXIgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7ZGlzcGxheTpub25lfX0ubWF0LWJ1dHRvbi10b2dnbGUtbGFiZWwtY29udGVudHstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6MzZweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUtbGFiZWwtY29udGVudHtwYWRkaW5nOjAgMTJweH0ubWF0LWJ1dHRvbi10b2dnbGUtbGFiZWwtY29udGVudD4qe3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtib3JkZXItcmFkaXVzOmluaGVyaXQ7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGV9Lm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7Ym9yZGVyLWJvdHRvbTpzb2xpZCAzNnB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouNTtoZWlnaHQ6MH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7Ym9yZGVyLWJvdHRvbTpzb2xpZCA1MDBweH0ubWF0LWJ1dHRvbi10b2dnbGUgLm1hdC1idXR0b24tdG9nZ2xlLXJpcHBsZXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfS5tYXQtYnV0dG9uLXRvZ2dsZS1idXR0b257Ym9yZGVyOjA7YmFja2dyb3VuZDpub25lO2NvbG9yOmluaGVyaXQ7cGFkZGluZzowO21hcmdpbjowO2ZvbnQ6aW5oZXJpdDtvdXRsaW5lOm5vbmU7d2lkdGg6MTAwJTtjdXJzb3I6cG9pbnRlcn0ubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQgLm1hdC1idXR0b24tdG9nZ2xlLWJ1dHRvbntjdXJzb3I6ZGVmYXVsdH0ubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpBNCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbUzRdfV19LHt0eXBlOk9ifSx7dHlwZTpLaH0se3R5cGU6ZkZ9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsidGFiaW5kZXgiXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2s0XX1dfV19KSx7YXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dLGNoYW5nZTpbe3R5cGU6RV99XSx0YWJJbmRleDpbe3R5cGU6Ul99XSxhcHBlYXJhbmNlOlt7dHlwZTpSX31dLGNoZWNrZWQ6W3t0eXBlOlJffV0sZGlzYWJsZWQ6W3t0eXBlOlJffV0saWQ6W3t0eXBlOlJffV0sbmFtZTpbe3R5cGU6Ul99XSxhcmlhTGFiZWw6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsIl19XSxfYnV0dG9uRWxlbWVudDpbe3R5cGU6YXIsYXJnczpbImJ1dHRvbiJdfV0sdmFsdWU6W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIHo0e316NC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ejQpfSx6NC7JtW1vZD1mbyh7dHlwZTp6NH0pLHo0Lsm1aW5qPURuKHtpbXBvcnRzOltbTkYsZkxdLE5GXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoejQsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltORixmTF0sZXhwb3J0czpbTkYsQTQsTjRdLGRlY2xhcmF0aW9uczpbQTQsTjRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oejQse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVybltBNCxONF19LGltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bTkYsZkxdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW05GLEE0LE40XX19KTtjb25zdCBJND0iL3NjYWxhcl9zdW1tYXJ5IjtmdW5jdGlvbiBINCh0LGUpe2xldCBuPXQ7cmV0dXJuIGUmJnQuc3RhcnRzV2l0aChlKyIvIikmJihuPXQuc2xpY2UoZS5sZW5ndGgrMSkpLG4uZW5kc1dpdGgoSTQpJiYobj1uLnNsaWNlKDAsLUk0Lmxlbmd0aCkpLG58fHR9ZnVuY3Rpb24gRjQodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiwyKSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSx3dSh0LmZpcnN0VGV4dFBhcnQoKSl9fWNsYXNzIEw0e3BhcnNlVmFsdWUoKXtjb25zdCB0PXRoaXMudmFsdWUubGFzdEluZGV4T2YoIi8iKTtyZXR1cm4tMT09PXQ/e2ZpcnN0OiIiLHNlY29uZDp0aGlzLnZhbHVlfTp7Zmlyc3Q6dGhpcy52YWx1ZS5zbGljZSgwLHQpLHNlY29uZDp0aGlzLnZhbHVlLnNsaWNlKHQpfX1maXJzdFRleHRQYXJ0KCl7cmV0dXJuIHRoaXMucGFyc2VWYWx1ZSgpLmZpcnN0fXNlY29uZFRleHRQYXJ0KCl7cmV0dXJuIHRoaXMucGFyc2VWYWx1ZSgpLnNlY29uZH19ZnVuY3Rpb24gQjQodCxlLG4pe3ZhciBvLGksYSxyO3JldHVybiB0LnN0YXJ0LnN0ZXA8PWUmJnQuZW5kJiZuPD10LmVuZC5zdGVwfHxlPD10LnN0YXJ0LnN0ZXAmJnQuc3RhcnQuc3RlcDw9bnx8dC5lbmQmJmU8PShudWxsPT09KG89dC5lbmQpfHx2b2lkIDA9PT1vP3ZvaWQgMDpvLnN0ZXApJiYobnVsbD09PShpPXQuZW5kKXx8dm9pZCAwPT09aT92b2lkIDA6aS5zdGVwKTw9bj97c3RhcnRTdGVwOnQuc3RhcnQuc3RlcCxlbmRTdGVwOm51bGwhPT0ocj1udWxsPT09KGE9dC5lbmQpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLnN0ZXApJiZ2b2lkIDAhPT1yP3I6bnVsbCxjbGlwcGVkOiExfTpuPD10LnN0YXJ0LnN0ZXA/e3N0YXJ0U3RlcDpuLGVuZFN0ZXA6bnVsbCxjbGlwcGVkOiEwfTp7c3RhcnRTdGVwOmUsZW5kU3RlcDpudWxsLGNsaXBwZWQ6ITB9fWZ1bmN0aW9uIFY0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJ0Yi1leHBlcmltZW50LWFsaWFzIiwyKSwyJnQpe2JmKCJhbGlhcyIsemYoKS5leHBlcmltZW50QWxpYXMpfX1mdW5jdGlvbiBqNCh0LGUpezEmdCYmKENmKDAsInNwYW4iKSxQdSgxLCIvIiksTWYoKSl9TDQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEw0KX0sTDQuybVjbXA9c28oe3R5cGU6TDQsc2VsZWN0b3JzOltbInRiLXRydW5jYXRlZC1wYXRoIl1dLGlucHV0czp7dmFsdWU6InZhbHVlIn0sZGVjbHM6Myx2YXJzOjIsY29uc3RzOltbImNsYXNzIiwiZmlyc3QtdGV4dC1wYXJ0Iiw0LCJuZ0lmIl0sWzEsInNlY29uZC10ZXh0LXBhcnQiXSxbMSwiZmlyc3QtdGV4dC1wYXJ0Il1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIbSgwLEY0LDIsMSwic3BhbiIsMCksQ2YoMSwic3BhbiIsMSksUHUoMiksTWYoKSksMiZlJiYoYmYoIm5nSWYiLG4uZmlyc3RUZXh0UGFydCgpLmxlbmd0aD4wKSxEYygyKSx3dShuLnNlY29uZFRleHRQYXJ0KCkpKX0sZGlyZWN0aXZlczpbUHZdLHN0eWxlczpbIltfbmdob3N0LSVDT01QJV17ZGlzcGxheTppbmxpbmUtZmxleDt3aGl0ZS1zcGFjZTpub3dyYXB9LmZpcnN0LXRleHQtcGFydFtfbmdjb250ZW50LSVDT01QJV17ZmxleDoxIDEgNGNoO21heC13aWR0aDptYXgtY29udGVudH0uZmlyc3QtdGV4dC1wYXJ0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLnNlY29uZC10ZXh0LXBhcnRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfSJdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihMNCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJ0Yi10cnVuY2F0ZWQtcGF0aCIsdGVtcGxhdGU6J1xuICAgIDxzcGFuICpuZ0lmPSJmaXJzdFRleHRQYXJ0KCkubGVuZ3RoID4gMCIgY2xhc3M9ImZpcnN0LXRleHQtcGFydCI+e3tcbiAgICAgIGZpcnN0VGV4dFBhcnQoKVxuICAgIH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPSJzZWNvbmQtdGV4dC1wYXJ0Ij57eyBzZWNvbmRUZXh0UGFydCgpIH19PC9zcGFuPlxuICAnLHN0eWxlVXJsczpbInRydW5jYXRlZF9wYXRoX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCx7dmFsdWU6W3t0eXBlOlJffV19KTtjbGFzcyBVNHt9VTQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFU0KX0sVTQuybVjbXA9c28oe3R5cGU6VTQsc2VsZWN0b3JzOltbImNhcmQtcnVuLW5hbWUtY29tcG9uZW50Il1dLGlucHV0czp7bmFtZToibmFtZSIsZXhwZXJpbWVudEFsaWFzOiJleHBlcmltZW50QWxpYXMifSxkZWNsczo0LHZhcnM6Myxjb25zdHM6W1szLCJhbGlhcyIsNCwibmdJZiJdLFs0LCJuZ0lmIl0sWzMsImFsaWFzIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIbSgwLFY0LDEsMSwidGItZXhwZXJpbWVudC1hbGlhcyIsMCksSG0oMSxqNCwyLDAsInNwYW4iLDEpLENmKDIsInNwYW4iKSxQdSgzKSxNZigpKSwyJmUmJihiZigibmdJZiIsbnVsbCE9bi5leHBlcmltZW50QWxpYXMpLERjKDEpLGJmKCJuZ0lmIixudWxsIT1uLmV4cGVyaW1lbnRBbGlhcyksRGMoMiksd3Uobi5uYW1lKSl9LGRpcmVjdGl2ZXM6W1B2LEgyXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihVNCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJjYXJkLXJ1bi1uYW1lLWNvbXBvbmVudCIsdGVtcGxhdGU6Jzx0Yi1leHBlcmltZW50LWFsaWFzXG4gICAgICAqbmdJZj0iZXhwZXJpbWVudEFsaWFzICE9IG51bGwiXG4gICAgICBbYWxpYXNdPSJleHBlcmltZW50QWxpYXMiXG4gICAgPjwvdGItZXhwZXJpbWVudC1hbGlhcz5cbiAgICA8c3BhbiAqbmdJZj0iZXhwZXJpbWVudEFsaWFzICE9IG51bGwiPi88L3NwYW4+XG4gICAgPHNwYW4+e3sgbmFtZSB9fTwvc3Bhbj4nLHN0eWxlVXJsczpbInJ1bl9uYW1lX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtuYW1lOlt7dHlwZTpSX31dLGV4cGVyaW1lbnRBbGlhczpbe3R5cGU6Ul99XX0pO2NsYXNzIFc0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dH1uZ09uSW5pdCgpe3RoaXMubmFtZSQ9S3QoW3RoaXMuc3RvcmUuc2VsZWN0KFl6LHtydW5JZDp0aGlzLnJ1bklkfSldKS5waXBlKFZ0KCgoW3RdKT0+KGZ1bmN0aW9uIGUodCxuLG8pe3ZhciBpO2lmKCFuJiYhbylyZXR1cm4gdDtsZXQgYT1udWxsIT09KGk9bnVsbD09bj92b2lkIDA6bi5uYW1lKSYmdm9pZCAwIT09aT9pOiIuLi4iO3JldHVybiBvJiYoYT1gWyR7by5hbGlhc051bWJlcn1dICR7by5hbGlhc1RleHR9LyR7YX1gKSxhfSkodGhpcy5ydW5JZCx0LG51bGwpKSkpLHRoaXMuZXhwZXJpbWVudEFsaWFzJD1LdChbdGhpcy5zdG9yZS5zZWxlY3QoR3ose3J1bklkOnRoaXMucnVuSWR9KSx0aGlzLnN0b3JlLnNlbGVjdChPUildKS5waXBlKFZ0KCgoW3QsZV0pPT50P2VbdF06bnVsbCkpKX19ZnVuY3Rpb24gRzQodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiwxNyksUHUoMSksX3koMiwibnVtYmVyIiksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksa3UoIlN0ZXAgIixDeSgyLDEsdC5zdGVwVmFsdWVzW3Quc3RlcEluZGV4XSksIiIpfX1mdW5jdGlvbiBZNCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDE4KSxQdSgxKSxfeSgyLCJudW1iZXIiKSxfeSgzLCJudW1iZXIiKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxTdSgiU2FtcGxlICIsQ3koMiwyLHQuc2FtcGxlKzEpLCIvIixDeSgzLDQsdC5udW1TYW1wbGUpLCIiKX19ZnVuY3Rpb24gcTQodCxlKXsxJnQmJnZmKDAsIm1hdC1zcGlubmVyIiwxOSl9VzQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFc0KShnZihpUykpfSxXNC7JtWNtcD1zbyh7dHlwZTpXNCxzZWxlY3RvcnM6W1siY2FyZC1ydW4tbmFtZSJdXSxpbnB1dHM6e3J1bklkOiJydW5JZCJ9LGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsIm5hbWUiLCJleHBlcmltZW50QWxpYXMiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsImNhcmQtcnVuLW5hbWUtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSksMiZlJiYoYmYoIm5hbWUiLEN5KDEsMyxuLm5hbWUkKSkoImV4cGVyaW1lbnRBbGlhcyIsQ3koMyw3LG4uZXhwZXJpbWVudEFsaWFzJCkpLHltKCJ0aXRsZSIsQ3koMiw1LG4ubmFtZSQpKSl9LGRpcmVjdGl2ZXM6W1U0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVzQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiY2FyZC1ydW4tbmFtZSIsdGVtcGxhdGU6J1xuICAgIDxjYXJkLXJ1bi1uYW1lLWNvbXBvbmVudFxuICAgICAgW25hbWVdPSJuYW1lJCB8IGFzeW5jIlxuICAgICAgW2F0dHIudGl0bGVdPSJuYW1lJCB8IGFzeW5jIlxuICAgICAgW2V4cGVyaW1lbnRBbGlhc109ImV4cGVyaW1lbnRBbGlhcyQgfCBhc3luYyJcbiAgICA+PC9jYXJkLXJ1bi1uYW1lLWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLHtydW5JZDpbe3R5cGU6Ul99XX0pO2NvbnN0IFo0PWZ1bmN0aW9uKHQpe3JldHVybntmaWx0ZXI6dH19O2Z1bmN0aW9uIFg0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7eGYoMCksQ2YoMSwiZGl2IiwyMCksQ2YoMiwibWF0LXNsaWRlciIsMjEpLFJmKCJpbnB1dCIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25TbGlkZXJJbnB1dChuKX0pKSxNZigpLE1mKCksQ2YoMywiZGl2IiwyMiksdmYoNCwiaW1nIiwyMyksTWYoKSxPZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO0RjKDIpLGJmKCJkaXNhYmxlZCIsdC5zdGVwVmFsdWVzLmxlbmd0aDw9MSkoIm1pbiIsMCkoIm1heCIsdC5zdGVwVmFsdWVzLmxlbmd0aC0xKSgic3RlcCIsMSkoInRpY2tJbnRlcnZhbCIsMSkoInZhbHVlIix0LnN0ZXBJbmRleCksRGMoMiksQmYoImFsdCIsIkltYWdlIGF0IHN0ZXAgIix0LnN0ZXBWYWx1ZXNbdC5zdGVwSW5kZXhdLCIiKSxMZigic3JjIix0LmltYWdlVXJsLFhzKSxiZigibmdTdHlsZSIsaXkoOSxaNCx0LmNzc0ZpbHRlcigpKSl9fWZ1bmN0aW9uIEs0KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwyNSksUHUoMSwiIERhdGEgZmFpbGVkIHRvIGxvYWQuICIpLE1mKCkpfWZ1bmN0aW9uIEo0KHQsZSl7aWYoMSZ0JiZIbSgwLEs0LDIsMCwiZGl2IiwyNCksMiZ0KXtjb25zdCB0PXpmKCk7YmYoIm5nSWYiLHQubG9hZFN0YXRlPT09dC5EYXRhTG9hZFN0YXRlLkZBSUxFRCl9fWNvbnN0IFE0PWZ1bmN0aW9uKHQpe3JldHVybntiYWNrZ3JvdW5kQ29sb3I6dH19O2NsYXNzICQ0e2NvbnN0cnVjdG9yKCl7dGhpcy5EYXRhTG9hZFN0YXRlPVVFLHRoaXMub25BY3R1YWxTaXplVG9nZ2xlPW5ldyBTeSx0aGlzLnN0ZXBJbmRleENoYW5nZT1uZXcgU3ksdGhpcy5vblBpbkNsaWNrZWQ9bmV3IFN5fWNzc0ZpbHRlcigpe3JldHVybmBjb250cmFzdCgke3RoaXMuY29udHJhc3RJbk1pbGxpLzEwfSUpIGJyaWdodG5lc3MoJHt0aGlzLmJyaWdodG5lc3NJbk1pbGxpLzFlM30pYH1vblNsaWRlcklucHV0KHQpe3RoaXMuc3RlcEluZGV4Q2hhbmdlLmVtaXQodC52YWx1ZSl9fSQ0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHwkNCl9LCQ0Lsm1Y21wPXNvKHt0eXBlOiQ0LHNlbGVjdG9yczpbWyJpbWFnZS1jYXJkLWNvbXBvbmVudCJdXSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgiYWN0dWFsLXNpemUiLG4uc2hvd0FjdHVhbFNpemUpfSxpbnB1dHM6e2xvYWRTdGF0ZToibG9hZFN0YXRlIix0aXRsZToidGl0bGUiLHRhZzoidGFnIixydW5JZDoicnVuSWQiLHNhbXBsZToic2FtcGxlIixudW1TYW1wbGU6Im51bVNhbXBsZSIsaW1hZ2VVcmw6ImltYWdlVXJsIixzdGVwSW5kZXg6InN0ZXBJbmRleCIsc3RlcFZhbHVlczoic3RlcFZhbHVlcyIsYnJpZ2h0bmVzc0luTWlsbGk6ImJyaWdodG5lc3NJbk1pbGxpIixjb250cmFzdEluTWlsbGk6ImNvbnRyYXN0SW5NaWxsaSIsc2hvd0FjdHVhbFNpemU6InNob3dBY3R1YWxTaXplIixydW5Db2xvclNjYWxlOiJydW5Db2xvclNjYWxlIixhbGxvd1RvZ2dsZUFjdHVhbFNpemU6ImFsbG93VG9nZ2xlQWN0dWFsU2l6ZSIsaXNQaW5uZWQ6ImlzUGlubmVkIn0sb3V0cHV0czp7b25BY3R1YWxTaXplVG9nZ2xlOiJvbkFjdHVhbFNpemVUb2dnbGUiLHN0ZXBJbmRleENoYW5nZToic3RlcEluZGV4Q2hhbmdlIixvblBpbkNsaWNrZWQ6Im9uUGluQ2xpY2tlZCJ9LGRlY2xzOjE5LHZhcnM6MTQsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQsZTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7dD1nb29nLmdldE1zZygiUGluIGNhcmQiKX1lbHNlIHQ9JGxvY2FsaXplYDpBIGJ1dHRvbiB0byBwaW4gYSBjYXJkLuKQn2U2NjVkYzcxMmJkNWYxOGQ0ZGZhM2EyOWUxMjVkNTY1Y2M1MWUyZjbikJ83Mjg0NjA2NDI2MjM0Mzc1MzQ0OlBpbiBjYXJkYDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7ZT1nb29nLmdldE1zZygiVG9nZ2xlIGFjdHVhbCBpbWFnZSBzaXplIil9ZWxzZSBlPSRsb2NhbGl6ZWA6QSBidXR0b24gb24gYW4gaW1hZ2UgY2FyZCB0aGF0IHRvZ2dsZXMgYWN0dWFsIGltYWdlIHNpemUu4pCfM2NhMDVlZjNhNmUzYTM3MDY1ZjVlMGY2OWM1ZDVhMjE3OGQ5MDc5MeKQnzc2MzUxMDE5MzY2NjQ3ODkxNDA6VG9nZ2xlIGFjdHVhbCBpbWFnZSBzaXplYDtyZXR1cm5bWzEsImhlYWRpbmciXSxbMSwibGluZSJdLFsxLCJ0YWciLDMsInRpdGxlIiwidmFsdWUiXSxbMSwiY29udHJvbHMiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMSwicGluLWJ1dHRvbiIsMywiY2xpY2siXSxbMywic3ZnSWNvbiJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsZSwidGl0bGUiLCJUb2dnbGUgYWN0dWFsIGltYWdlIHNpemUiLDMsImRpc2FibGVkIiwiY2xpY2siXSxbInN2Z0ljb24iLCJpbWFnZV9zZWFyY2hfMjRweCJdLFsxLCJydW4iXSxbMSwiZG90IiwzLCJuZ1N0eWxlIl0sWzEsInJ1bi10ZXh0IiwzLCJydW5JZCJdLFsxLCJtZXRhZGF0YSJdLFsiY2xhc3MiLCJzdGVwIiw0LCJuZ0lmIl0sWyJjbGFzcyIsInNhbXBsZSIsNCwibmdJZiJdLFsiY2xhc3MiLCJsb2FkaW5nIiwiZGlhbWV0ZXIiLCIxOCIsNCwibmdJZiJdLFs0LCJuZ0lmIiwibmdJZkVsc2UiXSxbIm5vSW1hZ2VEYXRhIiwiIl0sWzEsInN0ZXAiXSxbMSwic2FtcGxlIl0sWyJkaWFtZXRlciIsIjE4IiwxLCJsb2FkaW5nIl0sWzEsInNsaWRlci1yb3ciXSxbImNvbG9yIiwicHJpbWFyeSIsMSwic3RlcC1zbGlkZXIiLDMsImRpc2FibGVkIiwibWluIiwibWF4Iiwic3RlcCIsInRpY2tJbnRlcnZhbCIsInZhbHVlIiwiaW5wdXQiXSxbMSwiaW1nLWNvbnRhaW5lciJdLFszLCJhbHQiLCJzcmMiLCJuZ1N0eWxlIl0sWyJjbGFzcyIsImVtcHR5LW1lc3NhZ2UiLDQsIm5nSWYiXSxbMSwiZW1wdHktbWVzc2FnZSJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwiZGl2IiwxKSx2ZigyLCJ0Yi10cnVuY2F0ZWQtcGF0aCIsMiksQ2YoMywic3BhbiIsMyksQ2YoNCwiYnV0dG9uIiw0KSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25QaW5DbGlja2VkLmVtaXQoIW4uaXNQaW5uZWQpfSkpLHZmKDUsIm1hdC1pY29uIiw1KSxNZigpLENmKDYsImJ1dHRvbiIsNiksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uQWN0dWFsU2l6ZVRvZ2dsZS5lbWl0KCl9KSksdmYoNywibWF0LWljb24iLDcpLE1mKCksTWYoKSxNZigpLENmKDgsImRpdiIsMSksQ2YoOSwic3BhbiIsOCksdmYoMTAsInNwYW4iLDkpLHZmKDExLCJjYXJkLXJ1bi1uYW1lIiwxMCksTWYoKSxDZigxMiwiZGl2IiwxMSksSG0oMTMsRzQsMywzLCJzcGFuIiwxMiksSG0oMTQsWTQsNCw2LCJzcGFuIiwxMyksSG0oMTUscTQsMSwwLCJtYXQtc3Bpbm5lciIsMTQpLE1mKCksTWYoKSxNZigpLEhtKDE2LFg0LDUsMTEsIm5nLWNvbnRhaW5lciIsMTUpLEhtKDE3LEo0LDEsMSwibmctdGVtcGxhdGUiLG51bGwsMTYscXkpKSwyJmUpe2NvbnN0IHQ9Rm0oMTgpO0RjKDIpLExmKCJ0aXRsZSIsbi50YWcpLExmKCJ2YWx1ZSIsbi50aXRsZSksRGMoMikseW0oInRpdGxlIixuLmlzUGlubmVkPyJVbnBpbiBjYXJkIjoiUGluIGNhcmQiKSxEYygxKSxiZigic3ZnSWNvbiIsbi5pc1Bpbm5lZD8ia2VlcF8yNHB4Ijoia2VlcF9vdXRsaW5lXzI0cHgiKSxEYygxKSxiZigiZGlzYWJsZWQiLCFuLmFsbG93VG9nZ2xlQWN0dWFsU2l6ZSksRGMoNCksYmYoIm5nU3R5bGUiLGl5KDEyLFE0LG4ucnVuQ29sb3JTY2FsZShuLnJ1bklkKSkpLERjKDEpLGJmKCJydW5JZCIsbi5ydW5JZCksRGMoMiksYmYoIm5nSWYiLG51bGwhPT1uLnN0ZXBJbmRleCYmbi5zdGVwSW5kZXg8bi5zdGVwVmFsdWVzLmxlbmd0aCksRGMoMSksYmYoIm5nSWYiLG4ubnVtU2FtcGxlPjEpLERjKDEpLGJmKCJuZ0lmIixuLmxvYWRTdGF0ZT09PW4uRGF0YUxvYWRTdGF0ZS5MT0FESU5HKSxEYygxKSxiZigibmdJZiIsbnVsbCE9PW4uc3RlcEluZGV4JiZuLnN0ZXBJbmRleDxuLnN0ZXBWYWx1ZXMubGVuZ3RoKSgibmdJZkVsc2UiLHQpfX0sZGlyZWN0aXZlczpbTDQsTkwsTXEsenYsVzQsUHYsYTIsd0pdLHBpcGVzOlskdl0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvO3BhZGRpbmc6MTZweDtwYWRkaW5nLXRvcDo0cHh9LmFjdHVhbC1zaXplW19uZ2hvc3QtJUNPTVAlXXtoZWlnaHQ6YXV0b30uaGVhZGluZ1tfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZToxNHB4O21hcmdpbi1ib3R0b206NHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgbWF4LWNvbnRlbnR9Lm1ldGFkYXRhW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjVweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWF4LXdpZHRoOjE3NXB4O3RleHQtYWxpZ246ZW5kfS50YWdbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbn0ucGluLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICBtYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjE4cHh9LnJ1bltfbmdjb250ZW50LSVDT01QJV17YWxpZ24tc2VsZjpiYXNlbGluZTtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0ucnVuW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5kb3RbX25nY29udGVudC0lQ09NUCVde2ZsZXg6bm9uZTtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxM3B4O2hlaWdodDoxM3B4O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi1yaWdodDo0cHh9LnJ1bltfbmdjb250ZW50LSVDT01QJV0gICAucnVuLXRleHRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO21heC13aWR0aDoxMjBweH0ucnVuW19uZ2NvbnRlbnQtJUNPTVAlXSwgLnNhbXBsZVtfbmdjb250ZW50LSVDT01QJV0sIC5zdGVwW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2ZvbnQtc2l6ZToxM3B4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5ydW5bX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAucnVuW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuc2FtcGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLnNhbXBsZVtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnN0ZXBbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc3RlcFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9LmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO3doaXRlLXNwYWNlOm5vd3JhcDtqdXN0aWZ5LXNlbGY6ZmxleC1lbmQ7ZmxleC1zaHJpbms6MDttYXJnaW4tcmlnaHQ6LTEycHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0uaW1nLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17ZmxleDoxIDEgMDtvdmVyZmxvdy15OmF1dG87cG9zaXRpb246cmVsYXRpdmV9LmltZy1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdICAgaW1nW19uZ2NvbnRlbnQtJUNPTVAlXXtpbWFnZS1yZW5kZXJpbmc6LW1vei1jcmlzcC1lZGdlcztpbWFnZS1yZW5kZXJpbmc6cGl4ZWxhdGVkfS5hY3R1YWwtc2l6ZVtfbmdob3N0LSVDT01QJV0gICAuaW1nLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6YXV0bztmbGV4Om5vbmV9W19uZ2hvc3QtJUNPTVAlXTpub3QoLmFjdHVhbC1zaXplKSAgIGltZ1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO3dpZHRoOmF1dG87aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb250YWlufS5zbGlkZXItcm93W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDoyNHB4fS5zdGVwLXNsaWRlcltfbmdjb250ZW50LSVDT01QJV17ZmxleDoxfVtfbmdob3N0LSVDT01QJV0gICAgIC5tYXQtc2xpZGVyLW1pbi12YWx1ZSAubWF0LXNsaWRlci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9LmVtcHR5LW1lc3NhZ2VbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6MWVtO2ZvbnQtc2l6ZToxM3B4fSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYigkNCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJpbWFnZS1jYXJkLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6ImltYWdlX2NhcmRfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbImltYWdlX2NhcmRfY29tcG9uZW50LmNzcyJdLGhvc3Q6eyJbY2xhc3MuYWN0dWFsLXNpemVdIjoic2hvd0FjdHVhbFNpemUifSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtsb2FkU3RhdGU6W3t0eXBlOlJffV0sdGl0bGU6W3t0eXBlOlJffV0sdGFnOlt7dHlwZTpSX31dLHJ1bklkOlt7dHlwZTpSX31dLHNhbXBsZTpbe3R5cGU6Ul99XSxudW1TYW1wbGU6W3t0eXBlOlJffV0saW1hZ2VVcmw6W3t0eXBlOlJffV0sc3RlcEluZGV4Olt7dHlwZTpSX31dLHN0ZXBWYWx1ZXM6W3t0eXBlOlJffV0sYnJpZ2h0bmVzc0luTWlsbGk6W3t0eXBlOlJffV0sY29udHJhc3RJbk1pbGxpOlt7dHlwZTpSX31dLHNob3dBY3R1YWxTaXplOlt7dHlwZTpSX31dLHJ1bkNvbG9yU2NhbGU6W3t0eXBlOlJffV0sYWxsb3dUb2dnbGVBY3R1YWxTaXplOlt7dHlwZTpSX31dLGlzUGlubmVkOlt7dHlwZTpSX31dLG9uQWN0dWFsU2l6ZVRvZ2dsZTpbe3R5cGU6RV99XSxzdGVwSW5kZXhDaGFuZ2U6W3t0eXBlOkVffV0sb25QaW5DbGlja2VkOlt7dHlwZTpFX31dfSk7Y2xhc3MgdDZ7Y29uc3RydWN0b3IodCxlKXt0aGlzLnN0b3JlPXQsdGhpcy5kYXRhU291cmNlPWUsdGhpcy5mdWxsV2lkdGhDaGFuZ2VkPW5ldyBTeSx0aGlzLnBpblN0YXRlQ2hhbmdlZD1uZXcgU3ksdGhpcy5icmlnaHRuZXNzSW5NaWxsaSQ9dGhpcy5zdG9yZS5zZWxlY3QodnopLHRoaXMuY29udHJhc3RJbk1pbGxpJD10aGlzLnN0b3JlLnNlbGVjdCh4eiksdGhpcy5hY3R1YWxTaXplR2xvYmFsU2V0dGluZyQ9dGhpcy5zdG9yZS5zZWxlY3QoT3opLHRoaXMuc2hvd0FjdHVhbFNpemU9ITEsdGhpcy5hY3R1YWxTaXplVWlUb2dnbGVkPSExLHRoaXMuYWN0dWFsU2l6ZVVpVG9nZ2xlU3ViamVjdD1uZXcgaih0aGlzLmFjdHVhbFNpemVVaVRvZ2dsZWQpLHRoaXMubmdVbnN1YnNjcmliZT1uZXcgQn1vblN0ZXBJbmRleENoYW5nZWQodCl7dGhpcy5zdG9yZS5kaXNwYXRjaChBQSh7Y2FyZElkOnRoaXMuY2FyZElkLHN0ZXBJbmRleDp0fSkpfWlzSW1hZ2VDYXJkTWV0YWRhdGEodCl7Y29uc3R7cGx1Z2luOmV9PXQ7cmV0dXJuIGU9PT1LVC5JTUFHRVN9b25BY3R1YWxTaXplVG9nZ2xlKCl7dGhpcy5hY3R1YWxTaXplVWlUb2dnbGVkPSF0aGlzLmFjdHVhbFNpemVVaVRvZ2dsZWQsdGhpcy5hY3R1YWxTaXplVWlUb2dnbGVTdWJqZWN0Lm5leHQodGhpcy5hY3R1YWxTaXplVWlUb2dnbGVkKX1uZ09uSW5pdCgpe0t0KFt0aGlzLmFjdHVhbFNpemVHbG9iYWxTZXR0aW5nJCx0aGlzLmFjdHVhbFNpemVVaVRvZ2dsZVN1YmplY3RdKS5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSksV2UoKChbdCxlXSk9Pnt0aGlzLnNob3dBY3R1YWxTaXplPXR8fGUsdGhpcy5mdWxsV2lkdGhDaGFuZ2VkLmVtaXQodGhpcy5zaG93QWN0dWFsU2l6ZSl9KSkpLnN1YnNjcmliZSgoKCk9Pnt9KSk7Y29uc3QgdD10aGlzLnN0b3JlLnNlbGVjdChueix0aGlzLmNhcmRJZCkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLHVlKCh0PT4hIXQmJnRoaXMuaXNJbWFnZUNhcmRNZXRhZGF0YSh0KSkpLFZ0KCh0PT50KSksRmUoMSkpLGU9S3QoW3QsdGhpcy5zdG9yZS5zZWxlY3QodHosdGhpcy5jYXJkSWQpXSkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLFZ0KCgoW3QsZV0pPT57Y29uc3Qgbj10LnJ1bklkO3JldHVybiBlJiZlLmhhc093blByb3BlcnR5KG4pP2Vbbl06W119KSksd2UoKCh0LGUpPT50Lmxlbmd0aD09PWUubGVuZ3RoJiYwPT09dC5sZW5ndGh8fHQ9PT1lKSksRmUoMSkpO3RoaXMuc3RlcEluZGV4JD10aGlzLnN0b3JlLnNlbGVjdChyeix0aGlzLmNhcmRJZCksdGhpcy5sb2FkU3RhdGUkPXRoaXMuc3RvcmUuc2VsZWN0KCROLHRoaXMuY2FyZElkKTtjb25zdCBuPUt0KFtlLHRoaXMuc3RlcEluZGV4JF0pLnBpcGUoVnQoKChbdCxlXSk9Pm51bGwhPT1lJiZ0W2VdP3RbZV06bnVsbCkpKTt0aGlzLnRhZyQ9dC5waXBlKFZ0KCh0PT50LnRhZykpKSx0aGlzLnRpdGxlJD10aGlzLnRhZyQucGlwZShWdCgodD0+SDQodCx0aGlzLmdyb3VwTmFtZSkpKSksdGhpcy5ydW5JZCQ9dC5waXBlKFZ0KCh0PT50LnJ1bklkKSkpLHRoaXMuc2FtcGxlJD10LnBpcGUoVnQoKHQ9PnQuc2FtcGxlKSkpLHRoaXMubnVtU2FtcGxlJD10LnBpcGUoVnQoKHQ9PnQubnVtU2FtcGxlKSkpLHRoaXMuaW1hZ2VVcmwkPW4ucGlwZShWdCgodD0+dD90aGlzLmRhdGFTb3VyY2UuaW1hZ2VVcmwodC5pbWFnZUlkKTpudWxsKSkpLHRoaXMuc3RlcFZhbHVlcyQ9ZS5waXBlKFZ0KCh0PT50Lm1hcCgodD0+dC5zdGVwKSkpKSksdGhpcy5pc1Bpbm5lZCQ9dGhpcy5zdG9yZS5zZWxlY3QoZHosdGhpcy5jYXJkSWQpfW5nT25EZXN0cm95KCl7dGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKSx0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKX19dmFyIGU2LG42LG82O2Z1bmN0aW9uIGk2KHQsZSl7MSZ0JiYoQ2YoMCwic3BhbiIpLFB1KDEsInNjYWxhciIpLE1mKCkpfWZ1bmN0aW9uIGE2KHQsZSl7MSZ0JiYoQ2YoMCwic3BhbiIpLFB1KDEsImhpc3RvZ3JhbSIpLE1mKCkpfWZ1bmN0aW9uIHI2KHQsZSl7MSZ0JiYoQ2YoMCwic3BhbiIpLFB1KDEsInVua25vd24iKSxNZigpKX1mdW5jdGlvbiBzNih0LGUpe2lmKDEmdCYmKHhmKDAsMTMpLEhtKDEsaTYsMiwwLCJzcGFuIiwxNCksSG0oMixhNiwyLDAsInNwYW4iLDE0KSxIbSgzLHI2LDIsMCwic3BhbiIsMTUpLE9mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtiZigibmdTd2l0Y2giLHQuY2FyZE1ldGFkYXRhLnBsdWdpbiksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsdC5QbHVnaW5UeXBlLlNDQUxBUlMpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLHQuUGx1Z2luVHlwZS5ISVNUT0dSQU1TKX19ZnVuY3Rpb24gbDYodCxlKXsxJnQmJlBmKDApfWZ1bmN0aW9uIGM2KHQsZSl7aWYoMSZ0JiYoQ2YoMCwib3B0aW9uIiwxNiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0O2JmKCJ2YWx1ZSIsdC5pZCksRGMoMSksd3UodC5uYW1lKX19ZnVuY3Rpb24gZDYodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTt4ZigwKSxDZigxLCJoMiIpLEhtKDIsczYsNCwzLCJuZy10ZW1wbGF0ZSIsbnVsbCwyLHF5KSxDZig0LCJzcGFuIiksUHUoNSwiRG93bmxvYWTCoCIpLE1mKCksSG0oNixsNiwxLDAsIm5nLWNvbnRhaW5lciIsMyksQ2YoNywic3BhbiIpLFB1KDgsIsKgZGF0YSBmb3LCoCIpLE1mKCksQ2YoOSwiY29kZSIsNCksUHUoMTApLE1mKCksTWYoKSxDZigxMSwibWF0LWRpYWxvZy1jb250ZW50IiksQ2YoMTIsIm1hdC1mb3JtLWZpZWxkIiw1KSxDZigxMywibWF0LWxhYmVsIiksUHUoMTQsIlNlbGVjdCBhIHJ1biB0byBkb3dubG9hZCBhIGRhdGEgZm9yIGEgc2VyaWVzIiksTWYoKSxDZigxNSwic2VsZWN0Iiw2KSxSZigiY2hhbmdlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5ydW5TZWxlY3RlZC5lbWl0KG4udGFyZ2V0LnZhbHVlKX0pKSxDZigxNiwib3B0aW9uIiw3KSxQdSgxNywiLSIpLE1mKCksSG0oMTgsYzYsMiwyLCJvcHRpb24iLDgpLE1mKCksTWYoKSxDZigxOSwiZGl2Iiw5KSxDZigyMCwic3BhbiIpLFB1KDIxLCJEb3dubG9hZCBhc+KApiIpLE1mKCksUHUoMjIsIsKgIiksQ2YoMjMsImEiLDEwKSxQdSgyNCwiSlNPTiIpLE1mKCksQ2YoMjUsImEiLDEwKSxQdSgyNiwiQ1NWIiksTWYoKSxNZigpLE1mKCksQ2YoMjcsIm1hdC1kaWFsb2ctYWN0aW9ucyIsMTEpLENmKDI4LCJidXR0b24iLDEyKSxQdSgyOSwiQ2xvc2UiKSxNZigpLE1mKCksT2YoKX1pZigyJnQpe2NvbnN0IHQ9Rm0oMyksZT16ZigpO0RjKDYpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0Iix0KSxEYygzKSxiZigidGl0bGUiLGUuY2FyZE1ldGFkYXRhLnRhZyksRGMoMSksd3UoZS5jYXJkTWV0YWRhdGEudGFnKSxEYyg1KSxiZigidmFsdWUiLGUuc2VsZWN0ZWRSdW5JZHx8IiIpLERjKDEpLGJmKCJ2YWx1ZSIsIiIpLERjKDIpLGJmKCJuZ0Zvck9mIixlLnJ1bnMpLERjKDUpLGJmKCJkaXNhYmxlZCIsIWUuZG93bmxvYWRVcmxKc29uKSgiZG93bmxvYWQiLGUuZ2V0RG93bmxvYWROYW1lKCJqc29uIikpLHltKCJocmVmIixlLmRvd25sb2FkVXJsSnNvbixYcyksRGMoMiksYmYoImRpc2FibGVkIiwhZS5kb3dubG9hZFVybENzdikoImRvd25sb2FkIixlLmdldERvd25sb2FkTmFtZSgiY3N2IikpLHltKCJocmVmIixlLmRvd25sb2FkVXJsQ3N2LFhzKX19ZnVuY3Rpb24gcDYodCxlKXsxJnQmJlB1KDAsIkxvYWRpbmcuLi4iKX10Ni7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dDYpKGdmKGlTKSxnZihhTikpfSx0Ni7JtWNtcD1zbyh7dHlwZTp0NixzZWxlY3RvcnM6W1siaW1hZ2UtY2FyZCJdXSxpbnB1dHM6e2NhcmRJZDoiY2FyZElkIixncm91cE5hbWU6Imdyb3VwTmFtZSIscnVuQ29sb3JTY2FsZToicnVuQ29sb3JTY2FsZSJ9LG91dHB1dHM6e2Z1bGxXaWR0aENoYW5nZWQ6ImZ1bGxXaWR0aENoYW5nZWQiLHBpblN0YXRlQ2hhbmdlZDoicGluU3RhdGVDaGFuZ2VkIn0sZGVjbHM6MTQsdmFyczo0MSxjb25zdHM6W1szLCJsb2FkU3RhdGUiLCJ0aXRsZSIsInRhZyIsInJ1bklkIiwic2FtcGxlIiwibnVtU2FtcGxlIiwiaW1hZ2VVcmwiLCJzdGVwSW5kZXgiLCJzdGVwVmFsdWVzIiwiYnJpZ2h0bmVzc0luTWlsbGkiLCJjb250cmFzdEluTWlsbGkiLCJydW5Db2xvclNjYWxlIiwic2hvd0FjdHVhbFNpemUiLCJhbGxvd1RvZ2dsZUFjdHVhbFNpemUiLCJpc1Bpbm5lZCIsInN0ZXBJbmRleENoYW5nZSIsIm9uQWN0dWFsU2l6ZVRvZ2dsZSIsIm9uUGluQ2xpY2tlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiaW1hZ2UtY2FyZC1jb21wb25lbnQiLDApLFJmKCJzdGVwSW5kZXhDaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uU3RlcEluZGV4Q2hhbmdlZChlKX0pKSgib25BY3R1YWxTaXplVG9nZ2xlIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uQWN0dWFsU2l6ZVRvZ2dsZSgpfSkpKCJvblBpbkNsaWNrZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnBpblN0YXRlQ2hhbmdlZC5lbWl0KGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIiksX3koNSwiYXN5bmMiKSxfeSg2LCJhc3luYyIpLF95KDcsImFzeW5jIiksX3koOCwiYXN5bmMiKSxfeSg5LCJhc3luYyIpLF95KDEwLCJhc3luYyIpLF95KDExLCJhc3luYyIpLF95KDEyLCJhc3luYyIpLF95KDEzLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoImxvYWRTdGF0ZSIsQ3koMSwxNSxuLmxvYWRTdGF0ZSQpKSgidGl0bGUiLEN5KDIsMTcsbi50aXRsZSQpKSgidGFnIixDeSgzLDE5LG4udGFnJCkpKCJydW5JZCIsQ3koNCwyMSxuLnJ1bklkJCkpKCJzYW1wbGUiLEN5KDUsMjMsbi5zYW1wbGUkKSkoIm51bVNhbXBsZSIsQ3koNiwyNSxuLm51bVNhbXBsZSQpKSgiaW1hZ2VVcmwiLEN5KDcsMjcsbi5pbWFnZVVybCQpKSgic3RlcEluZGV4IixDeSg4LDI5LG4uc3RlcEluZGV4JCkpKCJzdGVwVmFsdWVzIixDeSg5LDMxLG4uc3RlcFZhbHVlcyQpKSgiYnJpZ2h0bmVzc0luTWlsbGkiLEN5KDEwLDMzLG4uYnJpZ2h0bmVzc0luTWlsbGkkKSkoImNvbnRyYXN0SW5NaWxsaSIsQ3koMTEsMzUsbi5jb250cmFzdEluTWlsbGkkKSkoInJ1bkNvbG9yU2NhbGUiLG4ucnVuQ29sb3JTY2FsZSkoInNob3dBY3R1YWxTaXplIixuLnNob3dBY3R1YWxTaXplKSgiYWxsb3dUb2dnbGVBY3R1YWxTaXplIiwhMT09PUN5KDEyLDM3LG4uYWN0dWFsU2l6ZUdsb2JhbFNldHRpbmckKSkoImlzUGlubmVkIixDeSgxMywzOSxuLmlzUGlubmVkJCkpfSxkaXJlY3RpdmVzOlskNF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHQ2LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImltYWdlLWNhcmQiLHRlbXBsYXRlOidcbiAgICA8aW1hZ2UtY2FyZC1jb21wb25lbnRcbiAgICAgIFtsb2FkU3RhdGVdPSJsb2FkU3RhdGUkIHwgYXN5bmMiXG4gICAgICBbdGl0bGVdPSJ0aXRsZSQgfCBhc3luYyJcbiAgICAgIFt0YWddPSJ0YWckIHwgYXN5bmMiXG4gICAgICBbcnVuSWRdPSJydW5JZCQgfCBhc3luYyJcbiAgICAgIFtzYW1wbGVdPSJzYW1wbGUkIHwgYXN5bmMiXG4gICAgICBbbnVtU2FtcGxlXT0ibnVtU2FtcGxlJCB8IGFzeW5jIlxuICAgICAgW2ltYWdlVXJsXT0iaW1hZ2VVcmwkIHwgYXN5bmMiXG4gICAgICBbc3RlcEluZGV4XT0ic3RlcEluZGV4JCB8IGFzeW5jIlxuICAgICAgW3N0ZXBWYWx1ZXNdPSJzdGVwVmFsdWVzJCB8IGFzeW5jIlxuICAgICAgKHN0ZXBJbmRleENoYW5nZSk9Im9uU3RlcEluZGV4Q2hhbmdlZCgkZXZlbnQpIlxuICAgICAgW2JyaWdodG5lc3NJbk1pbGxpXT0iYnJpZ2h0bmVzc0luTWlsbGkkIHwgYXN5bmMiXG4gICAgICBbY29udHJhc3RJbk1pbGxpXT0iY29udHJhc3RJbk1pbGxpJCB8IGFzeW5jIlxuICAgICAgW3J1bkNvbG9yU2NhbGVdPSJydW5Db2xvclNjYWxlIlxuICAgICAgW3Nob3dBY3R1YWxTaXplXT0ic2hvd0FjdHVhbFNpemUiXG4gICAgICBbYWxsb3dUb2dnbGVBY3R1YWxTaXplXT0iKGFjdHVhbFNpemVHbG9iYWxTZXR0aW5nJCB8IGFzeW5jKSA9PT0gZmFsc2UiXG4gICAgICBbaXNQaW5uZWRdPSJpc1Bpbm5lZCQgfCBhc3luYyJcbiAgICAgIChvbkFjdHVhbFNpemVUb2dnbGUpPSJvbkFjdHVhbFNpemVUb2dnbGUoKSJcbiAgICAgIChvblBpbkNsaWNrZWQpPSJwaW5TdGF0ZUNoYW5nZWQuZW1pdCgkZXZlbnQpIlxuICAgID48L2ltYWdlLWNhcmQtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU30se3R5cGU6YU59XX0pLHtjYXJkSWQ6W3t0eXBlOlJffV0sZ3JvdXBOYW1lOlt7dHlwZTpSX31dLHJ1bkNvbG9yU2NhbGU6W3t0eXBlOlJffV0sZnVsbFdpZHRoQ2hhbmdlZDpbe3R5cGU6RV99XSxwaW5TdGF0ZUNoYW5nZWQ6W3t0eXBlOkVffV19KSwoZnVuY3Rpb24odCl7dFt0LlNWRz0wXT0iU1ZHIix0W3QuV0VCR0w9MV09IldFQkdMIn0pKGU2fHwoZTY9e30pKSwoZnVuY3Rpb24odCl7dFt0LkxJTkVBUj0wXT0iTElORUFSIix0W3QuTE9HMTA9MV09IkxPRzEwIix0W3QuVElNRT0yXT0iVElNRSJ9KShuNnx8KG42PXt9KSk7Y2xhc3MgbTZ7Y29uc3RydWN0b3IoKXt0aGlzLnJ1blNlbGVjdGVkPW5ldyBTeSx0aGlzLlBsdWdpblR5cGU9S1R9Z2V0RG93bmxvYWROYW1lKHQpe2NvbnN0IGU9dGhpcy5ydW5zLmZpbmQoKHQ9PnQuaWQ9PT10aGlzLnNlbGVjdGVkUnVuSWQpKTtyZXR1cm4gZT9gJHtlLm5hbWV9LiR7dH1gOiIifX1tNi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bTYpfSxtNi7JtWNtcD1zbyh7dHlwZTptNixzZWxlY3RvcnM6W1siZGF0YV9kb3dubG9hZF9kaWFsb2dfY29tcG9uZW50Il1dLGlucHV0czp7Y2FyZE1ldGFkYXRhOiJjYXJkTWV0YWRhdGEiLHJ1bnM6InJ1bnMiLHNlbGVjdGVkUnVuSWQ6InNlbGVjdGVkUnVuSWQiLGRvd25sb2FkVXJsQ3N2OiJkb3dubG9hZFVybENzdiIsZG93bmxvYWRVcmxKc29uOiJkb3dubG9hZFVybEpzb24ifSxvdXRwdXRzOntydW5TZWxlY3RlZDoicnVuU2VsZWN0ZWQifSxkZWNsczozLHZhcnM6Mixjb25zdHM6W1s0LCJuZ0lmIiwibmdJZkVsc2UiXSxbIm5vQ2FyZE1ldGFkYXRhIiwiIl0sWyJkYXRhTmFtZSIsIiJdLFs0LCJuZ1RlbXBsYXRlT3V0bGV0Il0sWzEsInRhZy1uYW1lIiwzLCJ0aXRsZSJdLFsiYXBwZWFyYW5jZSIsImZpbGwiLDEsInJ1bi1zZWxlY3RvciJdLFsibWF0TmF0aXZlQ29udHJvbCIsIiIsIm5hbWUiLCJydW4iLCJjZGtGb2N1c0luaXRpYWwiLCIiLCJyZXF1aXJlZCIsIiIsMywidmFsdWUiLCJjaGFuZ2UiXSxbInNlbGVjdGVkIiwiIiwzLCJ2YWx1ZSJdLFszLCJ2YWx1ZSIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzEsImRvd25sb2FkLWNvbnRyb2xzIl0sWyJtYXQtc3Ryb2tlZC1idXR0b24iLCIiLDMsImRpc2FibGVkIiwiZG93bmxvYWQiXSxbImFsaWduIiwiZW5kIl0sWyJtYXQtYnV0dG9uIiwiIiwibWF0LWRpYWxvZy1jbG9zZSIsIiJdLFszLCJuZ1N3aXRjaCJdLFs0LCJuZ1N3aXRjaENhc2UiXSxbNCwiTmdTd2l0Y2hEZWZhdWx0Il0sWzMsInZhbHVlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihIbSgwLGQ2LDMwLDEyLCJuZy1jb250YWluZXIiLDApLEhtKDEscDYsMSwwLCJuZy10ZW1wbGF0ZSIsbnVsbCwxLHF5KSksMiZlKXtjb25zdCB0PUZtKDIpO2JmKCJuZ0lmIixuLmNhcmRNZXRhZGF0YSkoIm5nSWZFbHNlIix0KX19LGRpcmVjdGl2ZXM6W1B2LEl2LCRZLF9VLGNVLEFaLGtHLEVHLHh2LHpMLHRxLE5MLEpZLER2LFJ2XSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1oMltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEuMjVlbTtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LnJ1bi1zZWxlY3Rvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOi45ZW07d2lkdGg6MTAwJX0uZG93bmxvYWQtY29udHJvbHNbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTouOWVtfS5kb3dubG9hZC1jb250cm9sc1tfbmdjb250ZW50LSVDT01QJV0gICBhW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46M3B4IDEwcHggM3B4IDB9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG02LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImRhdGFfZG93bmxvYWRfZGlhbG9nX2NvbXBvbmVudCIsdGVtcGxhdGVVcmw6ImRhdGFfZG93bmxvYWRfZGlhbG9nX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyJkYXRhX2Rvd25sb2FkX2RpYWxvZ19jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7Y2FyZE1ldGFkYXRhOlt7dHlwZTpSX31dLHJ1bnM6W3t0eXBlOlJffV0sc2VsZWN0ZWRSdW5JZDpbe3R5cGU6Ul99XSxkb3dubG9hZFVybENzdjpbe3R5cGU6Ul99XSxkb3dubG9hZFVybEpzb246W3t0eXBlOlJffV0scnVuU2VsZWN0ZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBmNntjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5zZWxlY3RlZFJ1bklkJD1uZXcgaihudWxsKSx0aGlzLmNhcmRNZXRhZGF0YSQ9dC5zZWxlY3Qobnosbi5jYXJkSWQpLnBpcGUodWUoKHQ9PkJvb2xlYW4odCkpKSksdGhpcy5kb3dubG9hZFVybENzdiQ9S3QoW3Quc2VsZWN0KG56LG4uY2FyZElkKSx0aGlzLnNlbGVjdGVkUnVuSWQkXSkucGlwZShWdCgoKFt0LG5dKT0+dCYmbj9lLmRvd25sb2FkVXJsKHQucGx1Z2luLHQudGFnLG4sImNzdiIpOm51bGwpKSxCZShudWxsKSksdGhpcy5kb3dubG9hZFVybEpzb24kPUt0KFt0LnNlbGVjdChueixuLmNhcmRJZCksdGhpcy5zZWxlY3RlZFJ1bklkJF0pLnBpcGUoVnQoKChbdCxuXSk9PnQmJm4/ZS5kb3dubG9hZFVybCh0LnBsdWdpbix0LnRhZyxuLCJqc29uIik6bnVsbCkpLEJlKG51bGwpKSx0aGlzLnJ1bnMkPUt0KFt0LnNlbGVjdChYeiksdC5zZWxlY3QodHosbi5jYXJkSWQpXSkucGlwZShWdCgoKFt0LGVdKT0+ZT9PYmplY3Qua2V5cyhlKS5tYXAoKGU9PnQuZ2V0KGUpKSkuZmlsdGVyKEJvb2xlYW4pOltdKSkpfX1mdW5jdGlvbiB1Nih0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBnNih0KXtyZXR1cm4gMT09PXQubGVuZ3RoJiYodD0oZnVuY3Rpb24gZSh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gdTYodChlKSxuKX19KSh0KSkse2xlZnQ6ZnVuY3Rpb24oZSxuLG8saSl7Zm9yKG51bGw9PW8mJihvPTApLG51bGw9PWkmJihpPWUubGVuZ3RoKTtvPGk7KXt2YXIgYT1vK2k+Pj4xO3QoZVthXSxuKTwwP289YSsxOmk9YX1yZXR1cm4gb30scmlnaHQ6ZnVuY3Rpb24oZSxuLG8saSl7Zm9yKG51bGw9PW8mJihvPTApLG51bGw9PWkmJihpPWUubGVuZ3RoKTtvPGk7KXt2YXIgYT1vK2k+Pj4xO3QoZVthXSxuKT4wP2k9YTpvPWErMX1yZXR1cm4gb319fWY2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxmNikoZ2YoaVMpLGdmKGFOKSxnZihVWSkpfSxmNi7JtWNtcD1zbyh7dHlwZTpmNixzZWxlY3RvcnM6W1siZGF0YV9kb3dubG9hZF9kaWFsb2ciXV0sZGVjbHM6Nix2YXJzOjE1LGNvbnN0czpbWzMsImNhcmRNZXRhZGF0YSIsInJ1bnMiLCJzZWxlY3RlZFJ1bklkIiwiZG93bmxvYWRVcmxDc3YiLCJkb3dubG9hZFVybEpzb24iLCJydW5TZWxlY3RlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZGF0YV9kb3dubG9hZF9kaWFsb2dfY29tcG9uZW50IiwwKSxSZigicnVuU2VsZWN0ZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnNlbGVjdGVkUnVuSWQkLm5leHQoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxfeSg1LCJhc3luYyIpLE1mKCkpLDImZSYmYmYoImNhcmRNZXRhZGF0YSIsQ3koMSw1LG4uY2FyZE1ldGFkYXRhJCkpKCJydW5zIixDeSgyLDcsbi5ydW5zJCkpKCJzZWxlY3RlZFJ1bklkIixDeSgzLDksbi5zZWxlY3RlZFJ1bklkJCkpKCJkb3dubG9hZFVybENzdiIsQ3koNCwxMSxuLmRvd25sb2FkVXJsQ3N2JCkpKCJkb3dubG9hZFVybEpzb24iLEN5KDUsMTMsbi5kb3dubG9hZFVybEpzb24kKSl9LGRpcmVjdGl2ZXM6W202XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZjYsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiZGF0YV9kb3dubG9hZF9kaWFsb2ciLHRlbXBsYXRlOic8ZGF0YV9kb3dubG9hZF9kaWFsb2dfY29tcG9uZW50XG4gICAgW2NhcmRNZXRhZGF0YV09ImNhcmRNZXRhZGF0YSQgfCBhc3luYyJcbiAgICBbcnVuc109InJ1bnMkIHwgYXN5bmMiXG4gICAgW3NlbGVjdGVkUnVuSWRdPSJzZWxlY3RlZFJ1bklkJCB8IGFzeW5jIlxuICAgIFtkb3dubG9hZFVybENzdl09ImRvd25sb2FkVXJsQ3N2JCB8IGFzeW5jIlxuICAgIFtkb3dubG9hZFVybEpzb25dPSJkb3dubG9hZFVybEpzb24kIHwgYXN5bmMiXG4gICAgKHJ1blNlbGVjdGVkKT0ic2VsZWN0ZWRSdW5JZCQubmV4dCgkZXZlbnQpIlxuICA+PC9kYXRhX2Rvd25sb2FkX2RpYWxvZ19jb21wb25lbnQ+JyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9LHt0eXBlOmFOfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbVVldfV19XX0pLG51bGwpLChmdW5jdGlvbih0KXt0W3QuT1JJR0lOQUw9MF09Ik9SSUdJTkFMIix0W3QuREVSSVZFRD0xXT0iREVSSVZFRCJ9KShvNnx8KG82PXt9KSk7dmFyIGg2PWc2KHU2KS5yaWdodDtmdW5jdGlvbiBiNih0LGUpe3ZhciBuLG8saSxhPXQubGVuZ3RoLHI9LTE7aWYobnVsbD09ZSl7Zm9yKDsrK3I8YTspaWYobnVsbCE9KG49dFtyXSkmJm4+PW4pZm9yKG89aT1uOysrcjxhOyludWxsIT0obj10W3JdKSYmKG8+biYmKG89biksaTxuJiYoaT1uKSl9ZWxzZSBmb3IoOysrcjxhOylpZihudWxsIT0obj1lKHRbcl0scix0KSkmJm4+PW4pZm9yKG89aT1uOysrcjxhOyludWxsIT0obj1lKHRbcl0scix0KSkmJihvPm4mJihvPW4pLGk8biYmKGk9bikpO3JldHVybltvLGldfXZhciB5Nj1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gXzYodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIEM2KHQpe3JldHVybiB0fWZ1bmN0aW9uIE02KHQsZSxuKXt0PSt0LGU9K2Usbj0oaT1hcmd1bWVudHMubGVuZ3RoKTwyPyhlPXQsdD0wLDEpOmk8Mz8xOituO2Zvcih2YXIgbz0tMSxpPTB8TWF0aC5tYXgoMCxNYXRoLmNlaWwoKGUtdCkvbikpLGE9bmV3IEFycmF5KGkpOysrbzxpOylhW29dPXQrbypuO3JldHVybiBhfXZhciB2Nj1NYXRoLnNxcnQoNTApLHg2PU1hdGguc3FydCgxMCksTzY9TWF0aC5zcXJ0KDIpO2Z1bmN0aW9uIFA2KHQsZSxuKXt2YXIgbyxpLGEscixzPS0xO2lmKG49K24sKHQ9K3QpPT09KGU9K2UpJiZuPjApcmV0dXJuW3RdO2lmKChvPWU8dCkmJihpPXQsdD1lLGU9aSksMD09PShyPXc2KHQsZSxuKSl8fCFpc0Zpbml0ZShyKSlyZXR1cm5bXTtpZihyPjApZm9yKHQ9TWF0aC5jZWlsKHQvciksZT1NYXRoLmZsb29yKGUvciksYT1uZXcgQXJyYXkoaT1NYXRoLmNlaWwoZS10KzEpKTsrK3M8aTspYVtzXT0odCtzKSpyO2Vsc2UgZm9yKHQ9TWF0aC5mbG9vcih0KnIpLGU9TWF0aC5jZWlsKGUqciksYT1uZXcgQXJyYXkoaT1NYXRoLmNlaWwodC1lKzEpKTsrK3M8aTspYVtzXT0odC1zKS9yO3JldHVybiBvJiZhLnJldmVyc2UoKSxhfWZ1bmN0aW9uIHc2KHQsZSxuKXt2YXIgbz0oZS10KS9NYXRoLm1heCgwLG4pLGk9TWF0aC5mbG9vcihNYXRoLmxvZyhvKS9NYXRoLkxOMTApLGE9by9NYXRoLnBvdygxMCxpKTtyZXR1cm4gaT49MD8oYT49djY/MTA6YT49eDY/NTphPj1PNj8yOjEpKk1hdGgucG93KDEwLGkpOi1NYXRoLnBvdygxMCwtaSkvKGE+PXY2PzEwOmE+PXg2PzU6YT49TzY/MjoxKX1mdW5jdGlvbiBrNih0LGUsbil7dmFyIG89TWF0aC5hYnMoZS10KS9NYXRoLm1heCgwLG4pLGk9TWF0aC5wb3coMTAsTWF0aC5mbG9vcihNYXRoLmxvZyhvKS9NYXRoLkxOMTApKSxhPW8vaTtyZXR1cm4gYT49djY/aSo9MTA6YT49eDY/aSo9NTphPj1PNiYmKGkqPTIpLGU8dD8taTppfWZ1bmN0aW9uIFM2KHQpe3JldHVybiBNYXRoLmNlaWwoTWF0aC5sb2codC5sZW5ndGgpL01hdGguTE4yKSsxfWZ1bmN0aW9uIEQ2KCl7dmFyIHQ9QzYsZT1iNixuPVM2O2Z1bmN0aW9uIG8obyl7dmFyIGksYSxyPW8ubGVuZ3RoLHM9bmV3IEFycmF5KHIpO2ZvcihpPTA7aTxyOysraSlzW2ldPXQob1tpXSxpLG8pO3ZhciBsPWUocyksYz1sWzBdLGQ9bFsxXSxwPW4ocyxjLGQpO0FycmF5LmlzQXJyYXkocCl8fChwPWs2KGMsZCxwKSxwPU02KE1hdGguY2VpbChjL3ApKnAsZCxwKSk7Zm9yKHZhciBtPXAubGVuZ3RoO3BbMF08PWM7KXAuc2hpZnQoKSwtLW07Zm9yKDtwW20tMV0+ZDspcC5wb3AoKSwtLW07dmFyIGYsdT1uZXcgQXJyYXkobSsxKTtmb3IoaT0wO2k8PW07KytpKShmPXVbaV09W10pLngwPWk+MD9wW2ktMV06YyxmLngxPWk8bT9wW2ldOmQ7Zm9yKGk9MDtpPHI7KytpKWM8PShhPXNbaV0pJiZhPD1kJiZ1W2g2KHAsYSwwLG0pXS5wdXNoKG9baV0pO3JldHVybiB1fXJldHVybiBvLnZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6XzYoZSksbyk6dH0sby5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpfNihbdFswXSx0WzFdXSksbyk6ZX0sby50aHJlc2hvbGRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QXJyYXkuaXNBcnJheSh0KT9fNih5Ni5jYWxsKHQpKTpfNih0KSxvKTpufSxvfXZhciBSNj1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gRTYodCl7cmV0dXJuIHR9dmFyIEE2PTFlLTY7ZnVuY3Rpb24gVDYodCl7cmV0dXJuInRyYW5zbGF0ZSgiKyh0Ky41KSsiLDApIn1mdW5jdGlvbiBONih0KXtyZXR1cm4idHJhbnNsYXRlKDAsIisodCsuNSkrIikifWZ1bmN0aW9uIHo2KHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4rdChlKX19ZnVuY3Rpb24gSTYodCl7dmFyIGU9TWF0aC5tYXgoMCx0LmJhbmR3aWR0aCgpLTEpLzI7cmV0dXJuIHQucm91bmQoKSYmKGU9TWF0aC5yb3VuZChlKSksZnVuY3Rpb24obil7cmV0dXJuK3QobikrZX19ZnVuY3Rpb24gSDYoKXtyZXR1cm4hdGhpcy5fX2F4aXN9ZnVuY3Rpb24gRjYodCxlKXt2YXIgbj1bXSxvPW51bGwsaT1udWxsLGE9NixyPTYscz0zLGw9MT09PXR8fDQ9PT10Py0xOjEsYz00PT09dHx8Mj09PXQ/IngiOiJ5IixkPTE9PT10fHwzPT09dD9UNjpONjtmdW5jdGlvbiBwKHApe3ZhciBtPW51bGw9PW8/ZS50aWNrcz9lLnRpY2tzLmFwcGx5KGUsbik6ZS5kb21haW4oKTpvLGY9bnVsbD09aT9lLnRpY2tGb3JtYXQ/ZS50aWNrRm9ybWF0LmFwcGx5KGUsbik6RTY6aSx1PU1hdGgubWF4KGEsMCkrcyxnPWUucmFuZ2UoKSxoPStnWzBdKy41LGI9K2dbZy5sZW5ndGgtMV0rLjUseT0oZS5iYW5kd2lkdGg/STY6ejYpKGUuY29weSgpKSxfPXAuc2VsZWN0aW9uP3Auc2VsZWN0aW9uKCk6cCxDPV8uc2VsZWN0QWxsKCIuZG9tYWluIikuZGF0YShbbnVsbF0pLE09Xy5zZWxlY3RBbGwoIi50aWNrIikuZGF0YShtLGUpLm9yZGVyKCksdj1NLmV4aXQoKSx4PU0uZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsInRpY2siKSxPPU0uc2VsZWN0KCJsaW5lIiksUD1NLnNlbGVjdCgidGV4dCIpO0M9Qy5tZXJnZShDLmVudGVyKCkuaW5zZXJ0KCJwYXRoIiwiLnRpY2siKS5hdHRyKCJjbGFzcyIsImRvbWFpbiIpLmF0dHIoInN0cm9rZSIsImN1cnJlbnRDb2xvciIpKSxNPU0ubWVyZ2UoeCksTz1PLm1lcmdlKHguYXBwZW5kKCJsaW5lIikuYXR0cigic3Ryb2tlIiwiY3VycmVudENvbG9yIikuYXR0cihjKyIyIixsKmEpKSxQPVAubWVyZ2UoeC5hcHBlbmQoInRleHQiKS5hdHRyKCJmaWxsIiwiY3VycmVudENvbG9yIikuYXR0cihjLGwqdSkuYXR0cigiZHkiLDE9PT10PyIwZW0iOjM9PT10PyIwLjcxZW0iOiIwLjMyZW0iKSkscCE9PV8mJihDPUMudHJhbnNpdGlvbihwKSxNPU0udHJhbnNpdGlvbihwKSxPPU8udHJhbnNpdGlvbihwKSxQPVAudHJhbnNpdGlvbihwKSx2PXYudHJhbnNpdGlvbihwKS5hdHRyKCJvcGFjaXR5IixBNikuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9eSh0KSk/ZCh0KTp0aGlzLmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIil9KSkseC5hdHRyKCJvcGFjaXR5IixBNikuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5wYXJlbnROb2RlLl9fYXhpcztyZXR1cm4gZChlJiZpc0Zpbml0ZShlPWUodCkpP2U6eSh0KSl9KSkpLHYucmVtb3ZlKCksQy5hdHRyKCJkIiw0PT09dHx8Mj09dD9yPyJNIitsKnIrIiwiK2grIkgwLjVWIitiKyJIIitsKnI6Ik0wLjUsIitoKyJWIitiOnI/Ik0iK2grIiwiK2wqcisiVjAuNUgiK2IrIlYiK2wqcjoiTSIraCsiLDAuNUgiK2IpLE0uYXR0cigib3BhY2l0eSIsMSkuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCl7cmV0dXJuIGQoeSh0KSl9KSksTy5hdHRyKGMrIjIiLGwqYSksUC5hdHRyKGMsbCp1KS50ZXh0KGYpLF8uZmlsdGVyKEg2KS5hdHRyKCJmaWxsIiwibm9uZSIpLmF0dHIoImZvbnQtc2l6ZSIsMTApLmF0dHIoImZvbnQtZmFtaWx5Iiwic2Fucy1zZXJpZiIpLmF0dHIoInRleHQtYW5jaG9yIiwyPT09dD8ic3RhcnQiOjQ9PT10PyJlbmQiOiJtaWRkbGUiKSxfLmVhY2goKGZ1bmN0aW9uKCl7dGhpcy5fX2F4aXM9eX0pKX1yZXR1cm4gcC5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LHApOmV9LHAudGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gbj1SNi5jYWxsKGFyZ3VtZW50cykscH0scC50aWNrQXJndW1lbnRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW51bGw9PXQ/W106UjYuY2FsbCh0KSxwKTpuLnNsaWNlKCl9LHAudGlja1ZhbHVlcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz1udWxsPT10P251bGw6UjYuY2FsbCh0KSxwKTpvJiZvLnNsaWNlKCl9LHAudGlja0Zvcm1hdD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT10LHApOml9LHAudGlja1NpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9cj0rdCxwKTphfSxwLnRpY2tTaXplSW5uZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9K3QscCk6YX0scC50aWNrU2l6ZU91dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSt0LHApOnJ9LHAudGlja1BhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9K3QscCk6c30scH1mdW5jdGlvbiBMNih0KXtyZXR1cm4gRjYoMix0KX1mdW5jdGlvbiBCNih0KXtyZXR1cm4gRjYoMyx0KX12YXIgVjY9e3ZhbHVlOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gajYoKXtmb3IodmFyIHQsZT0wLG49YXJndW1lbnRzLmxlbmd0aCxvPXt9O2U8bjsrK2Upe2lmKCEodD1hcmd1bWVudHNbZV0rIiIpfHx0IGluIG98fC9bXHMuXS8udGVzdCh0KSl0aHJvdyBuZXcgRXJyb3IoImlsbGVnYWwgdHlwZTogIit0KTtvW3RdPVtdfXJldHVybiBuZXcgVTYobyl9ZnVuY3Rpb24gVTYodCl7dGhpcy5fPXR9ZnVuY3Rpb24gVzYodCxlKXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKChmdW5jdGlvbih0KXt2YXIgbj0iIixvPXQuaW5kZXhPZigiLiIpO2lmKG8+PTAmJihuPXQuc2xpY2UobysxKSx0PXQuc2xpY2UoMCxvKSksdCYmIWUuaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7cmV0dXJue3R5cGU6dCxuYW1lOm59fSkpfWZ1bmN0aW9uIEc2KHQsZSl7Zm9yKHZhciBuLG89MCxpPXQubGVuZ3RoO288aTsrK28paWYoKG49dFtvXSkubmFtZT09PWUpcmV0dXJuIG4udmFsdWV9ZnVuY3Rpb24gWTYodCxlLG4pe2Zvcih2YXIgbz0wLGk9dC5sZW5ndGg7bzxpOysrbylpZih0W29dLm5hbWU9PT1lKXt0W29dPVY2LHQ9dC5zbGljZSgwLG8pLmNvbmNhdCh0LnNsaWNlKG8rMSkpO2JyZWFrfXJldHVybiBudWxsIT1uJiZ0LnB1c2goe25hbWU6ZSx2YWx1ZTpufSksdH1VNi5wcm90b3R5cGU9ajYucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpVNixvbjpmdW5jdGlvbih0LGUpe3ZhciBuLG89dGhpcy5fLGk9VzYodCsiIixvKSxhPS0xLHI9aS5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtpZihudWxsIT1lJiYiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2FsbGJhY2s6ICIrZSk7Zm9yKDsrK2E8cjspaWYobj0odD1pW2FdKS50eXBlKW9bbl09WTYob1tuXSx0Lm5hbWUsZSk7ZWxzZSBpZihudWxsPT1lKWZvcihuIGluIG8pb1tuXT1ZNihvW25dLHQubmFtZSxudWxsKTtyZXR1cm4gdGhpc31mb3IoOysrYTxyOylpZigobj0odD1pW2FdKS50eXBlKSYmKG49RzYob1tuXSx0Lm5hbWUpKSlyZXR1cm4gbn0sY29weTpmdW5jdGlvbigpe3ZhciB0PXt9LGU9dGhpcy5fO2Zvcih2YXIgbiBpbiBlKXRbbl09ZVtuXS5zbGljZSgpO3JldHVybiBuZXcgVTYodCl9LGNhbGw6ZnVuY3Rpb24odCxlKXtpZigobj1hcmd1bWVudHMubGVuZ3RoLTIpPjApZm9yKHZhciBuLG8saT1uZXcgQXJyYXkobiksYT0wO2E8bjsrK2EpaVthXT1hcmd1bWVudHNbYSsyXTtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2ZvcihhPTAsbj0obz10aGlzLl9bdF0pLmxlbmd0aDthPG47KythKW9bYV0udmFsdWUuYXBwbHkoZSxpKX0sYXBwbHk6ZnVuY3Rpb24odCxlLG4pe2lmKCF0aGlzLl8uaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7Zm9yKHZhciBvPXRoaXMuX1t0XSxpPTAsYT1vLmxlbmd0aDtpPGE7KytpKW9baV0udmFsdWUuYXBwbHkoZSxuKX19O3ZhciBxNj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsWjY9e3N2ZzoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhodG1sOnE2LHhsaW5rOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIix4bWw6Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIn07ZnVuY3Rpb24gWDYodCl7dmFyIGU9dCs9IiIsbj1lLmluZGV4T2YoIjoiKTtyZXR1cm4gbj49MCYmInhtbG5zIiE9PShlPXQuc2xpY2UoMCxuKSkmJih0PXQuc2xpY2UobisxKSksWjYuaGFzT3duUHJvcGVydHkoZSk/e3NwYWNlOlo2W2VdLGxvY2FsOnR9OnR9ZnVuY3Rpb24gSzYodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vd25lckRvY3VtZW50LG49dGhpcy5uYW1lc3BhY2VVUkk7cmV0dXJuIG49PT1xNiYmZS5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJPT09cTY/ZS5jcmVhdGVFbGVtZW50KHQpOmUuY3JlYXRlRWxlbWVudE5TKG4sdCl9fWZ1bmN0aW9uIEo2KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIFE2KHQpe3ZhciBlPVg2KHQpO3JldHVybihlLmxvY2FsP0o2Oks2KShlKX1mdW5jdGlvbiAkNigpe31mdW5jdGlvbiB0Nyh0KXtyZXR1cm4gbnVsbD09dD8kNjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3IodCl9fWZ1bmN0aW9uIGU3KCl7cmV0dXJuW119ZnVuY3Rpb24gbjcodCl7cmV0dXJuIG51bGw9PXQ/ZTc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yQWxsKHQpfX1mdW5jdGlvbiBvNyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXRjaGVzKHQpfX1mdW5jdGlvbiBpNyh0KXtyZXR1cm4gbmV3IEFycmF5KHQubGVuZ3RoKX1mdW5jdGlvbiBhNyh0LGUpe3RoaXMub3duZXJEb2N1bWVudD10Lm93bmVyRG9jdW1lbnQsdGhpcy5uYW1lc3BhY2VVUkk9dC5uYW1lc3BhY2VVUkksdGhpcy5fbmV4dD1udWxsLHRoaXMuX3BhcmVudD10LHRoaXMuX19kYXRhX189ZX1hNy5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmE3LGFwcGVuZENoaWxkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsdGhpcy5fbmV4dCl9LGluc2VydEJlZm9yZTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsZSl9LHF1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yKHQpfSxxdWVyeVNlbGVjdG9yQWxsOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3RvckFsbCh0KX19O2Z1bmN0aW9uIHI3KHQsZSxuLG8saSxhKXtmb3IodmFyIHIscz0wLGw9ZS5sZW5ndGgsYz1hLmxlbmd0aDtzPGM7KytzKShyPWVbc10pPyhyLl9fZGF0YV9fPWFbc10sb1tzXT1yKTpuW3NdPW5ldyBhNyh0LGFbc10pO2Zvcig7czxsOysrcykocj1lW3NdKSYmKGlbc109cil9ZnVuY3Rpb24gczcodCxlLG4sbyxpLGEscil7dmFyIHMsbCxjLGQ9e30scD1lLmxlbmd0aCxtPWEubGVuZ3RoLGY9bmV3IEFycmF5KHApO2ZvcihzPTA7czxwOysrcykobD1lW3NdKSYmKGZbc109Yz0iJCIrci5jYWxsKGwsbC5fX2RhdGFfXyxzLGUpLGMgaW4gZD9pW3NdPWw6ZFtjXT1sKTtmb3Iocz0wO3M8bTsrK3MpKGw9ZFtjPSIkIityLmNhbGwodCxhW3NdLHMsYSldKT8ob1tzXT1sLGwuX19kYXRhX189YVtzXSxkW2NdPW51bGwpOm5bc109bmV3IGE3KHQsYVtzXSk7Zm9yKHM9MDtzPHA7KytzKShsPWVbc10pJiZkW2Zbc11dPT09bCYmKGlbc109bCl9ZnVuY3Rpb24gbDcodCxlKXtyZXR1cm4gdDxlPy0xOnQ+ZT8xOnQ+PWU/MDpOYU59ZnVuY3Rpb24gYzcodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIGQ3KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19ZnVuY3Rpb24gcDcodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZSh0LGUpfX1mdW5jdGlvbiBtNyh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUpfX1mdW5jdGlvbiBmNyh0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCk6dGhpcy5zZXRBdHRyaWJ1dGUodCxuKX19ZnVuY3Rpb24gdTcodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKTp0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxuKX19ZnVuY3Rpb24gZzcodCl7cmV0dXJuIHQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx0LmRvY3VtZW50JiZ0fHx0LmRlZmF1bHRWaWV3fWZ1bmN0aW9uIGg3KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9fWZ1bmN0aW9uIGI3KHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsZSxuKX19ZnVuY3Rpb24geTcodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBvPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW8/dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KTp0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsbyxuKX19ZnVuY3Rpb24gXzcodCxlKXtyZXR1cm4gdC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGUpfHxnNyh0KS5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShlKX1mdW5jdGlvbiBDNyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtkZWxldGUgdGhpc1t0XX19ZnVuY3Rpb24gTTcodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzW3RdPWV9fWZ1bmN0aW9uIHY3KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09bj9kZWxldGUgdGhpc1t0XTp0aGlzW3RdPW59fWZ1bmN0aW9uIHg3KHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKX1mdW5jdGlvbiBPNyh0KXtyZXR1cm4gdC5jbGFzc0xpc3R8fG5ldyBQNyh0KX1mdW5jdGlvbiBQNyh0KXt0aGlzLl9ub2RlPXQsdGhpcy5fbmFtZXM9eDcodC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX1mdW5jdGlvbiB3Nyh0LGUpe2Zvcih2YXIgbj1PNyh0KSxvPS0xLGk9ZS5sZW5ndGg7KytvPGk7KW4uYWRkKGVbb10pfWZ1bmN0aW9uIGs3KHQsZSl7Zm9yKHZhciBuPU83KHQpLG89LTEsaT1lLmxlbmd0aDsrK288aTspbi5yZW1vdmUoZVtvXSl9ZnVuY3Rpb24gUzcodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dzcodGhpcyx0KX19ZnVuY3Rpb24gRDcodCl7cmV0dXJuIGZ1bmN0aW9uKCl7azcodGhpcyx0KX19ZnVuY3Rpb24gUjcodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXsoZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk/dzc6azcpKHRoaXMsdCl9fWZ1bmN0aW9uIEU3KCl7dGhpcy50ZXh0Q29udGVudD0iIn1mdW5jdGlvbiBBNyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnRleHRDb250ZW50PXR9fWZ1bmN0aW9uIFQ3KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfX1mdW5jdGlvbiBONygpe3RoaXMuaW5uZXJIVE1MPSIifWZ1bmN0aW9uIHo3KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuaW5uZXJIVE1MPXR9fWZ1bmN0aW9uIEk3KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuaW5uZXJIVE1MPW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24gSDcoKXt0aGlzLm5leHRTaWJsaW5nJiZ0aGlzLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodGhpcyl9ZnVuY3Rpb24gRjcoKXt0aGlzLnByZXZpb3VzU2libGluZyYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLHRoaXMucGFyZW50Tm9kZS5maXJzdENoaWxkKX1mdW5jdGlvbiBMNygpe3JldHVybiBudWxsfWZ1bmN0aW9uIEI3KCl7dmFyIHQ9dGhpcy5wYXJlbnROb2RlO3QmJnQucmVtb3ZlQ2hpbGQodGhpcyl9ZnVuY3Rpb24gVjcoKXt2YXIgdD10aGlzLmNsb25lTm9kZSghMSksZT10aGlzLnBhcmVudE5vZGU7cmV0dXJuIGU/ZS5pbnNlcnRCZWZvcmUodCx0aGlzLm5leHRTaWJsaW5nKTp0fWZ1bmN0aW9uIGo3KCl7dmFyIHQ9dGhpcy5jbG9uZU5vZGUoITApLGU9dGhpcy5wYXJlbnROb2RlO3JldHVybiBlP2UuaW5zZXJ0QmVmb3JlKHQsdGhpcy5uZXh0U2libGluZyk6dH1QNy5wcm90b3R5cGU9e2FkZDpmdW5jdGlvbih0KXt0aGlzLl9uYW1lcy5pbmRleE9mKHQpPDAmJih0aGlzLl9uYW1lcy5wdXNoKHQpLHRoaXMuX25vZGUuc2V0QXR0cmlidXRlKCJjbGFzcyIsdGhpcy5fbmFtZXMuam9pbigiICIpKSl9LHJlbW92ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9uYW1lcy5pbmRleE9mKHQpO2U+PTAmJih0aGlzLl9uYW1lcy5zcGxpY2UoZSwxKSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxjb250YWluczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbmFtZXMuaW5kZXhPZih0KT49MH19O3ZhciBVNz17fSxXNz1udWxsOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJigib25tb3VzZWVudGVyImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8KFU3PXttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0pKTtmdW5jdGlvbiBHNyh0LGUsbil7cmV0dXJuIHQ9WTcodCxlLG4pLGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVsYXRlZFRhcmdldDtuJiYobj09PXRoaXN8fDgmbi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzKSl8fHQuY2FsbCh0aGlzLGUpfX1mdW5jdGlvbiBZNyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKG8pe3ZhciBpPVc3O1c3PW87dHJ5e3QuY2FsbCh0aGlzLHRoaXMuX19kYXRhX18sZSxuKX1maW5hbGx5e1c3PWl9fX1mdW5jdGlvbiBxNyh0KXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKChmdW5jdGlvbih0KXt2YXIgZT0iIixuPXQuaW5kZXhPZigiLiIpO3JldHVybiBuPj0wJiYoZT10LnNsaWNlKG4rMSksdD10LnNsaWNlKDAsbikpLHt0eXBlOnQsbmFtZTplfX0pKX1mdW5jdGlvbiBaNyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9fb247aWYoZSl7Zm9yKHZhciBuLG89MCxpPS0xLGE9ZS5sZW5ndGg7bzxhOysrbyluPWVbb10sdC50eXBlJiZuLnR5cGUhPT10LnR5cGV8fG4ubmFtZSE9PXQubmFtZT9lWysraV09bjp0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIobi50eXBlLG4ubGlzdGVuZXIsbi5jYXB0dXJlKTsrK2k/ZS5sZW5ndGg9aTpkZWxldGUgdGhpcy5fX29ufX19ZnVuY3Rpb24gWDcodCxlLG4pe3ZhciBvPVU3Lmhhc093blByb3BlcnR5KHQudHlwZSk/Rzc6WTc7cmV0dXJuIGZ1bmN0aW9uKGksYSxyKXt2YXIgcyxsPXRoaXMuX19vbixjPW8oZSxhLHIpO2lmKGwpZm9yKHZhciBkPTAscD1sLmxlbmd0aDtkPHA7KytkKWlmKChzPWxbZF0pLnR5cGU9PT10LnR5cGUmJnMubmFtZT09PXQubmFtZSlyZXR1cm4gdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKHMudHlwZSxzLmxpc3RlbmVyLHMuY2FwdHVyZSksdGhpcy5hZGRFdmVudExpc3RlbmVyKHMudHlwZSxzLmxpc3RlbmVyPWMscy5jYXB0dXJlPW4pLHZvaWQocy52YWx1ZT1lKTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIodC50eXBlLGMsbikscz17dHlwZTp0LnR5cGUsbmFtZTp0Lm5hbWUsdmFsdWU6ZSxsaXN0ZW5lcjpjLGNhcHR1cmU6bn0sbD9sLnB1c2gocyk6dGhpcy5fX29uPVtzXX19ZnVuY3Rpb24gSzcodCxlLG4pe3ZhciBvPWc3KHQpLGk9by5DdXN0b21FdmVudDsiZnVuY3Rpb24iPT10eXBlb2YgaT9pPW5ldyBpKGUsbik6KGk9by5kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSxuPyhpLmluaXRFdmVudChlLG4uYnViYmxlcyxuLmNhbmNlbGFibGUpLGkuZGV0YWlsPW4uZGV0YWlsKTppLmluaXRFdmVudChlLCExLCExKSksdC5kaXNwYXRjaEV2ZW50KGkpfWZ1bmN0aW9uIEo3KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEs3KHRoaXMsdCxlKX19ZnVuY3Rpb24gUTcodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gSzcodGhpcyx0LGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX19dmFyICQ3PVtudWxsXTtmdW5jdGlvbiB0OCh0LGUpe3RoaXMuX2dyb3Vwcz10LHRoaXMuX3BhcmVudHM9ZX1mdW5jdGlvbiBlOCgpe3JldHVybiBuZXcgdDgoW1tkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdXSwkNyl9ZnVuY3Rpb24gbjgodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P25ldyB0OChbW2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCldXSxbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSk6bmV3IHQ4KFtbdF1dLCQ3KX1mdW5jdGlvbiBvOCgpe2Zvcih2YXIgdCxlPVc3O3Q9ZS5zb3VyY2VFdmVudDspZT10O3JldHVybiBlfWZ1bmN0aW9uIGk4KHQsZSl7dmFyIG49dC5vd25lclNWR0VsZW1lbnR8fHQ7aWYobi5jcmVhdGVTVkdQb2ludCl7dmFyIG89bi5jcmVhdGVTVkdQb2ludCgpO3JldHVybiBvLng9ZS5jbGllbnRYLG8ueT1lLmNsaWVudFksWyhvPW8ubWF0cml4VHJhbnNmb3JtKHQuZ2V0U2NyZWVuQ1RNKCkuaW52ZXJzZSgpKSkueCxvLnldfXZhciBpPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuW2UuY2xpZW50WC1pLmxlZnQtdC5jbGllbnRMZWZ0LGUuY2xpZW50WS1pLnRvcC10LmNsaWVudFRvcF19ZnVuY3Rpb24gYTgodCl7dmFyIGU9bzgoKTtyZXR1cm4gZS5jaGFuZ2VkVG91Y2hlcyYmKGU9ZS5jaGFuZ2VkVG91Y2hlc1swXSksaTgodCxlKX1mdW5jdGlvbiByOCgpe1c3LnByZXZlbnREZWZhdWx0KCksVzcuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gczgodCl7dmFyIGU9dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsbj1uOCh0KS5vbigiZHJhZ3N0YXJ0LmRyYWciLHI4LCEwKTsib25zZWxlY3RzdGFydCJpbiBlP24ub24oInNlbGVjdHN0YXJ0LmRyYWciLHI4LCEwKTooZS5fX25vc2VsZWN0PWUuc3R5bGUuTW96VXNlclNlbGVjdCxlLnN0eWxlLk1velVzZXJTZWxlY3Q9Im5vbmUiKX1mdW5jdGlvbiBsOCh0LGUpe3ZhciBuPXQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG89bjgodCkub24oImRyYWdzdGFydC5kcmFnIixudWxsKTtlJiYoby5vbigiY2xpY2suZHJhZyIscjgsITApLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7by5vbigiY2xpY2suZHJhZyIsbnVsbCl9KSwwKSksIm9uc2VsZWN0c3RhcnQiaW4gbj9vLm9uKCJzZWxlY3RzdGFydC5kcmFnIixudWxsKToobi5zdHlsZS5Nb3pVc2VyU2VsZWN0PW4uX19ub3NlbGVjdCxkZWxldGUgbi5fX25vc2VsZWN0KX1mdW5jdGlvbiBjOCh0LGUsbil7dC5wcm90b3R5cGU9ZS5wcm90b3R5cGU9bixuLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24gZDgodCxlKXt2YXIgbj1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIG8gaW4gZSluW29dPWVbb107cmV0dXJuIG59ZnVuY3Rpb24gcDgoKXt9dDgucHJvdG90eXBlPWU4LnByb3RvdHlwZT17Y29uc3RydWN0b3I6dDgsc2VsZWN0OmZ1bmN0aW9uIG04KHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD10Nyh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLG89bmV3IEFycmF5KG4pLGk9MDtpPG47KytpKWZvcih2YXIgYSxyLHM9ZVtpXSxsPXMubGVuZ3RoLGM9b1tpXT1uZXcgQXJyYXkobCksZD0wO2Q8bDsrK2QpKGE9c1tkXSkmJihyPXQuY2FsbChhLGEuX19kYXRhX18sZCxzKSkmJigiX19kYXRhX18iaW4gYSYmKHIuX19kYXRhX189YS5fX2RhdGFfXyksY1tkXT1yKTtyZXR1cm4gbmV3IHQ4KG8sdGhpcy5fcGFyZW50cyl9LHNlbGVjdEFsbDpmdW5jdGlvbiBmOCh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9bjcodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxvPVtdLGk9W10sYT0wO2E8bjsrK2EpZm9yKHZhciByLHM9ZVthXSxsPXMubGVuZ3RoLGM9MDtjPGw7KytjKShyPXNbY10pJiYoby5wdXNoKHQuY2FsbChyLHIuX19kYXRhX18sYyxzKSksaS5wdXNoKHIpKTtyZXR1cm4gbmV3IHQ4KG8saSl9LGZpbHRlcjpmdW5jdGlvbiB1OCh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9bzcodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxvPW5ldyBBcnJheShuKSxpPTA7aTxuOysraSlmb3IodmFyIGEscj1lW2ldLHM9ci5sZW5ndGgsbD1vW2ldPVtdLGM9MDtjPHM7KytjKShhPXJbY10pJiZ0LmNhbGwoYSxhLl9fZGF0YV9fLGMscikmJmwucHVzaChhKTtyZXR1cm4gbmV3IHQ4KG8sdGhpcy5fcGFyZW50cyl9LGRhdGE6ZnVuY3Rpb24gZzgodCxlKXtpZighdClyZXR1cm4gdT1uZXcgQXJyYXkodGhpcy5zaXplKCkpLGQ9LTEsdGhpcy5lYWNoKChmdW5jdGlvbih0KXt1WysrZF09dH0pKSx1O3ZhciBuPWU/czc6cjcsbz10aGlzLl9wYXJlbnRzLGk9dGhpcy5fZ3JvdXBzOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD0oZnVuY3Rpb24gYSh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19KSh0KSk7Zm9yKHZhciByPWkubGVuZ3RoLHM9bmV3IEFycmF5KHIpLGw9bmV3IEFycmF5KHIpLGM9bmV3IEFycmF5KHIpLGQ9MDtkPHI7KytkKXt2YXIgcD1vW2RdLG09aVtkXSxmPW0ubGVuZ3RoLHU9dC5jYWxsKHAscCYmcC5fX2RhdGFfXyxkLG8pLGc9dS5sZW5ndGgsaD1sW2RdPW5ldyBBcnJheShnKSxiPXNbZF09bmV3IEFycmF5KGcpO24ocCxtLGgsYixjW2RdPW5ldyBBcnJheShmKSx1LGUpO2Zvcih2YXIgeSxfLEM9MCxNPTA7QzxnOysrQylpZih5PWhbQ10pe2ZvcihDPj1NJiYoTT1DKzEpOyEoXz1iW01dKSYmKytNPGc7KTt5Ll9uZXh0PV98fG51bGx9fXJldHVybihzPW5ldyB0OChzLG8pKS5fZW50ZXI9bCxzLl9leGl0PWMsc30sZW50ZXI6ZnVuY3Rpb24gaDgoKXtyZXR1cm4gbmV3IHQ4KHRoaXMuX2VudGVyfHx0aGlzLl9ncm91cHMubWFwKGk3KSx0aGlzLl9wYXJlbnRzKX0sZXhpdDpmdW5jdGlvbiBiOCgpe3JldHVybiBuZXcgdDgodGhpcy5fZXhpdHx8dGhpcy5fZ3JvdXBzLm1hcChpNyksdGhpcy5fcGFyZW50cyl9LGpvaW46ZnVuY3Rpb24geTgodCxlLG4pe3ZhciBvPXRoaXMuZW50ZXIoKSxpPXRoaXMsYT10aGlzLmV4aXQoKTtyZXR1cm4gbz0iZnVuY3Rpb24iPT10eXBlb2YgdD90KG8pOm8uYXBwZW5kKHQrIiIpLG51bGwhPWUmJihpPWUoaSkpLG51bGw9PW4/YS5yZW1vdmUoKTpuKGEpLG8mJmk/by5tZXJnZShpKS5vcmRlcigpOml9LG1lcmdlOmZ1bmN0aW9uIF84KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsbz1lLmxlbmd0aCxpPU1hdGgubWluKG8sbi5sZW5ndGgpLGE9bmV3IEFycmF5KG8pLHI9MDtyPGk7KytyKWZvcih2YXIgcyxsPWVbcl0sYz1uW3JdLGQ9bC5sZW5ndGgscD1hW3JdPW5ldyBBcnJheShkKSxtPTA7bTxkOysrbSkocz1sW21dfHxjW21dKSYmKHBbbV09cyk7Zm9yKDtyPG87KytyKWFbcl09ZVtyXTtyZXR1cm4gbmV3IHQ4KGEsdGhpcy5fcGFyZW50cyl9LG9yZGVyOmZ1bmN0aW9uIEM4KCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPS0xLG49dC5sZW5ndGg7KytlPG47KWZvcih2YXIgbyxpPXRbZV0sYT1pLmxlbmd0aC0xLHI9aVthXTstLWE+PTA7KShvPWlbYV0pJiYociYmNF5vLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHIpJiZyLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG8scikscj1vKTtyZXR1cm4gdGhpc30sc29ydDpmdW5jdGlvbiBNOCh0KXtmdW5jdGlvbiBlKGUsbil7cmV0dXJuIGUmJm4/dChlLl9fZGF0YV9fLG4uX19kYXRhX18pOiFlLSFufXR8fCh0PWw3KTtmb3IodmFyIG49dGhpcy5fZ3JvdXBzLG89bi5sZW5ndGgsaT1uZXcgQXJyYXkobyksYT0wO2E8bzsrK2Epe2Zvcih2YXIgcixzPW5bYV0sbD1zLmxlbmd0aCxjPWlbYV09bmV3IEFycmF5KGwpLGQ9MDtkPGw7KytkKShyPXNbZF0pJiYoY1tkXT1yKTtjLnNvcnQoZSl9cmV0dXJuIG5ldyB0OChpLHRoaXMuX3BhcmVudHMpLm9yZGVyKCl9LGNhbGw6ZnVuY3Rpb24gdjgoKXt2YXIgdD1hcmd1bWVudHNbMF07cmV0dXJuIGFyZ3VtZW50c1swXT10aGlzLHQuYXBwbHkobnVsbCxhcmd1bWVudHMpLHRoaXN9LG5vZGVzOmZ1bmN0aW9uIHg4KCl7dmFyIHQ9bmV3IEFycmF5KHRoaXMuc2l6ZSgpKSxlPS0xO3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dFsrK2VdPXRoaXN9KSksdH0sbm9kZTpmdW5jdGlvbiBPOCgpe2Zvcih2YXIgdD10aGlzLl9ncm91cHMsZT0wLG49dC5sZW5ndGg7ZTxuOysrZSlmb3IodmFyIG89dFtlXSxpPTAsYT1vLmxlbmd0aDtpPGE7KytpKXt2YXIgcj1vW2ldO2lmKHIpcmV0dXJuIHJ9cmV0dXJuIG51bGx9LHNpemU6ZnVuY3Rpb24gUDgoKXt2YXIgdD0wO3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7Kyt0fSkpLHR9LGVtcHR5OmZ1bmN0aW9uIHc4KCl7cmV0dXJuIXRoaXMubm9kZSgpfSxlYWNoOmZ1bmN0aW9uIGs4KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj0wLG89ZS5sZW5ndGg7bjxvOysrbilmb3IodmFyIGksYT1lW25dLHI9MCxzPWEubGVuZ3RoO3I8czsrK3IpKGk9YVtyXSkmJnQuY2FsbChpLGkuX19kYXRhX18scixhKTtyZXR1cm4gdGhpc30sYXR0cjpmdW5jdGlvbiBTOCh0LGUpe3ZhciBuPVg2KHQpO2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7dmFyIG89dGhpcy5ub2RlKCk7cmV0dXJuIG4ubG9jYWw/by5nZXRBdHRyaWJ1dGVOUyhuLnNwYWNlLG4ubG9jYWwpOm8uZ2V0QXR0cmlidXRlKG4pfXJldHVybiB0aGlzLmVhY2goKG51bGw9PWU/bi5sb2NhbD9kNzpjNzoiZnVuY3Rpb24iPT10eXBlb2YgZT9uLmxvY2FsP3U3OmY3Om4ubG9jYWw/bTc6cDcpKG4sZSkpfSxzdHlsZTpmdW5jdGlvbiBEOCh0LGUsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goKG51bGw9PWU/aDc6ImZ1bmN0aW9uIj09dHlwZW9mIGU/eTc6YjcpKHQsZSxudWxsPT1uPyIiOm4pKTpfNyh0aGlzLm5vZGUoKSx0KX0scHJvcGVydHk6ZnVuY3Rpb24gUjgodCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaCgobnVsbD09ZT9DNzoiZnVuY3Rpb24iPT10eXBlb2YgZT92NzpNNykodCxlKSk6dGhpcy5ub2RlKClbdF19LGNsYXNzZWQ6ZnVuY3Rpb24gRTgodCxlKXt2YXIgbj14Nyh0KyIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgbz1PNyh0aGlzLm5vZGUoKSksaT0tMSxhPW4ubGVuZ3RoOysraTxhOylpZighby5jb250YWlucyhuW2ldKSlyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4gdGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgZT9SNzplP1M3OkQ3KShuLGUpKX0sdGV4dDpmdW5jdGlvbiBBOCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9FNzooImZ1bmN0aW9uIj09dHlwZW9mIHQ/VDc6QTcpKHQpKTp0aGlzLm5vZGUoKS50ZXh0Q29udGVudH0saHRtbDpmdW5jdGlvbiBUOCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9ONzooImZ1bmN0aW9uIj09dHlwZW9mIHQ/STc6ejcpKHQpKTp0aGlzLm5vZGUoKS5pbm5lckhUTUx9LHJhaXNlOmZ1bmN0aW9uIE44KCl7cmV0dXJuIHRoaXMuZWFjaChINyl9LGxvd2VyOmZ1bmN0aW9uIHo4KCl7cmV0dXJuIHRoaXMuZWFjaChGNyl9LGFwcGVuZDpmdW5jdGlvbiBJOCh0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlE2KHQpO3JldHVybiB0aGlzLnNlbGVjdCgoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcHBlbmRDaGlsZChlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9KSl9LGluc2VydDpmdW5jdGlvbiBIOCh0LGUpe3ZhciBuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UTYodCksbz1udWxsPT1lP0w3OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6dDcoZSk7cmV0dXJuIHRoaXMuc2VsZWN0KChmdW5jdGlvbigpe3JldHVybiB0aGlzLmluc2VydEJlZm9yZShuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxvLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8bnVsbCl9KSl9LHJlbW92ZTpmdW5jdGlvbiBGOCgpe3JldHVybiB0aGlzLmVhY2goQjcpfSxjbG9uZTpmdW5jdGlvbiBMOCh0KXtyZXR1cm4gdGhpcy5zZWxlY3QodD9qNzpWNyl9LGRhdHVtOmZ1bmN0aW9uIEI4KHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMucHJvcGVydHkoIl9fZGF0YV9fIix0KTp0aGlzLm5vZGUoKS5fX2RhdGFfX30sb246ZnVuY3Rpb24gVjgodCxlLG4pe3ZhciBvLGksYT1xNyh0KyIiKSxyPWEubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7Zm9yKHM9ZT9YNzpaNyxudWxsPT1uJiYobj0hMSksbz0wO288cjsrK28pdGhpcy5lYWNoKHMoYVtvXSxlLG4pKTtyZXR1cm4gdGhpc312YXIgcz10aGlzLm5vZGUoKS5fX29uO2lmKHMpZm9yKHZhciBsLGM9MCxkPXMubGVuZ3RoO2M8ZDsrK2MpZm9yKG89MCxsPXNbY107bzxyOysrbylpZigoaT1hW29dKS50eXBlPT09bC50eXBlJiZpLm5hbWU9PT1sLm5hbWUpcmV0dXJuIGwudmFsdWV9LGRpc3BhdGNoOmZ1bmN0aW9uIGo4KHQsZSl7cmV0dXJuIHRoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIGU/UTc6SjcpKHQsZSkpfX07dmFyIFU4PS43LFc4PTEvVTgsRzg9IlxccyooWystXT9cXGQrKVxccyoiLFk4PSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KVxccyoiLHE4PSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KSVcXHMqIixaOD0vXiMoWzAtOWEtZl17Myw4fSkkLyxYOD1uZXcgUmVnRXhwKCJecmdiXFwoIitbRzgsRzgsRzhdKyJcXCkkIiksSzg9bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW3E4LHE4LHE4XSsiXFwpJCIpLEo4PW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbRzgsRzgsRzgsWThdKyJcXCkkIiksUTg9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1txOCxxOCxxOCxZOF0rIlxcKSQiKSwkOD1uZXcgUmVnRXhwKCJeaHNsXFwoIitbWTgscTgscThdKyJcXCkkIiksdDk9bmV3IFJlZ0V4cCgiXmhzbGFcXCgiK1tZOCxxOCxxOCxZOF0rIlxcKSQiKSxlOT17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiBuOSgpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdEhleCgpfWZ1bmN0aW9uIG85KCl7cmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0UmdiKCl9ZnVuY3Rpb24gaTkodCl7dmFyIGUsbjtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKGU9WjguZXhlYyh0KSk/KG49ZVsxXS5sZW5ndGgsZT1wYXJzZUludChlWzFdLDE2KSw2PT09bj9hOShlKTozPT09bj9uZXcgYzkoZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgxNSZlKTw8NHwxNSZlLDEpOjg9PT1uP3I5KGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsKDI1NSZlKS8yNTUpOjQ9PT1uP3I5KGU+PjEyJjE1fGU+PjgmMjQwLGU+PjgmMTV8ZT4+NCYyNDAsZT4+NCYxNXwyNDAmZSwoKDE1JmUpPDw0fDE1JmUpLzI1NSk6bnVsbCk6KGU9WDguZXhlYyh0KSk/bmV3IGM5KGVbMV0sZVsyXSxlWzNdLDEpOihlPUs4LmV4ZWModCkpP25ldyBjOSgyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCwxKTooZT1KOC5leGVjKHQpKT9yOShlWzFdLGVbMl0sZVszXSxlWzRdKTooZT1ROC5leGVjKHQpKT9yOSgyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCxlWzRdKTooZT0kOC5leGVjKHQpKT9mOShlWzFdLGVbMl0vMTAwLGVbM10vMTAwLDEpOihlPXQ5LmV4ZWModCkpP2Y5KGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsZVs0XSk6ZTkuaGFzT3duUHJvcGVydHkodCk/YTkoZTlbdF0pOiJ0cmFuc3BhcmVudCI9PT10P25ldyBjOShOYU4sTmFOLE5hTiwwKTpudWxsfWZ1bmN0aW9uIGE5KHQpe3JldHVybiBuZXcgYzkodD4+MTYmMjU1LHQ+PjgmMjU1LDI1NSZ0LDEpfWZ1bmN0aW9uIHI5KHQsZSxuLG8pe3JldHVybiBvPD0wJiYodD1lPW49TmFOKSxuZXcgYzkodCxlLG4sbyl9ZnVuY3Rpb24gczkodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBwOHx8KHQ9aTkodCkpLHQ/bmV3IGM5KCh0PXQucmdiKCkpLnIsdC5nLHQuYix0Lm9wYWNpdHkpOm5ldyBjOX1mdW5jdGlvbiBsOSh0LGUsbixvKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/czkodCk6bmV3IGM5KHQsZSxuLG51bGw9PW8/MTpvKX1mdW5jdGlvbiBjOSh0LGUsbixvKXt0aGlzLnI9K3QsdGhpcy5nPStlLHRoaXMuYj0rbix0aGlzLm9wYWNpdHk9K299ZnVuY3Rpb24gZDkoKXtyZXR1cm4iIyIrbTkodGhpcy5yKSttOSh0aGlzLmcpK205KHRoaXMuYil9ZnVuY3Rpb24gcDkoKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJyZ2IoIjoicmdiYSgiKStNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMucil8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5nKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmIpfHwwKSkrKDE9PT10PyIpIjoiLCAiK3QrIikiKX1mdW5jdGlvbiBtOSh0KXtyZXR1cm4oKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0KXx8MCkpKTwxNj8iMCI6IiIpK3QudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIGY5KHQsZSxuLG8pe3JldHVybiBvPD0wP3Q9ZT1uPU5hTjpuPD0wfHxuPj0xP3Q9ZT1OYU46ZTw9MCYmKHQ9TmFOKSxuZXcgaDkodCxlLG4sbyl9ZnVuY3Rpb24gdTkodCl7aWYodCBpbnN0YW5jZW9mIGg5KXJldHVybiBuZXcgaDkodC5oLHQucyx0LmwsdC5vcGFjaXR5KTtpZih0IGluc3RhbmNlb2YgcDh8fCh0PWk5KHQpKSwhdClyZXR1cm4gbmV3IGg5O2lmKHQgaW5zdGFuY2VvZiBoOSlyZXR1cm4gdDt2YXIgZT0odD10LnJnYigpKS5yLzI1NSxuPXQuZy8yNTUsbz10LmIvMjU1LGk9TWF0aC5taW4oZSxuLG8pLGE9TWF0aC5tYXgoZSxuLG8pLHI9TmFOLHM9YS1pLGw9KGEraSkvMjtyZXR1cm4gcz8ocj1lPT09YT8obi1vKS9zKzYqKG48byk6bj09PWE/KG8tZSkvcysyOihlLW4pL3MrNCxzLz1sPC41P2EraToyLWEtaSxyKj02MCk6cz1sPjAmJmw8MT8wOnIsbmV3IGg5KHIscyxsLHQub3BhY2l0eSl9ZnVuY3Rpb24gZzkodCxlLG4sbyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3U5KHQpOm5ldyBoOSh0LGUsbixudWxsPT1vPzE6byl9ZnVuY3Rpb24gaDkodCxlLG4sbyl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStvfWZ1bmN0aW9uIGI5KHQsZSxuKXtyZXR1cm4gMjU1Kih0PDYwP2UrKG4tZSkqdC82MDp0PDE4MD9uOnQ8MjQwP2UrKG4tZSkqKDI0MC10KS82MDplKX1jOChwOCxpOSx7Y29weTpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgdGhpcy5jb25zdHJ1Y3Rvcix0aGlzLHQpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJnYigpLmRpc3BsYXlhYmxlKCl9LGhleDpuOSxmb3JtYXRIZXg6bjksZm9ybWF0SHNsOmZ1bmN0aW9uIHk5KCl7cmV0dXJuIHU5KHRoaXMpLmZvcm1hdEhzbCgpfSxmb3JtYXRSZ2I6bzksdG9TdHJpbmc6bzl9KSxjOChjOSxsOSxkOChwOCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9XODpNYXRoLnBvdyhXOCx0KSxuZXcgYzkodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/VTg6TWF0aC5wb3coVTgsdCksbmV3IGM5KHRoaXMucip0LHRoaXMuZyp0LHRoaXMuYip0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3JldHVybiB0aGlzfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybi0uNTw9dGhpcy5yJiZ0aGlzLnI8MjU1LjUmJi0uNTw9dGhpcy5nJiZ0aGlzLmc8MjU1LjUmJi0uNTw9dGhpcy5iJiZ0aGlzLmI8MjU1LjUmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxoZXg6ZDksZm9ybWF0SGV4OmQ5LGZvcm1hdFJnYjpwOSx0b1N0cmluZzpwOX0pKSxjOChoOSxnOSxkOChwOCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9XODpNYXRoLnBvdyhXOCx0KSxuZXcgaDkodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9VODpNYXRoLnBvdyhVOCx0KSxuZXcgaDkodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmglMzYwKzM2MCoodGhpcy5oPDApLGU9aXNOYU4odCl8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsbj10aGlzLmwsbz1uKyhuPC41P246MS1uKSplLGk9MipuLW87cmV0dXJuIG5ldyBjOShiOSh0Pj0yNDA/dC0yNDA6dCsxMjAsaSxvKSxiOSh0LGksbyksYjkodDwxMjA/dCsyNDA6dC0xMjAsaSxvKSx0aGlzLm9wYWNpdHkpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sZm9ybWF0SHNsOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8iaHNsKCI6ImhzbGEoIikrKHRoaXMuaHx8MCkrIiwgIisxMDAqKHRoaXMuc3x8MCkrIiUsICIrMTAwKih0aGlzLmx8fDApKyIlIisoMT09PXQ/IikiOiIsICIrdCsiKSIpfX0pKTt2YXIgXzk9TWF0aC5QSS8xODAsQzk9MTgwL01hdGguUEksTTk9Ljk2NDIyLHY5PS44MjUyMSx4OT00LzI5LE85PTYvMjksUDk9MypPOSpPOTtmdW5jdGlvbiB3OSh0KXtpZih0IGluc3RhbmNlb2YgazkpcmV0dXJuIG5ldyBrOSh0LmwsdC5hLHQuYix0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBOOSlyZXR1cm4gejkodCk7dCBpbnN0YW5jZW9mIGM5fHwodD1zOSh0KSk7dmFyIGUsbixvPUU5KHQuciksaT1FOSh0LmcpLGE9RTkodC5iKSxyPVM5KCguMjIyNTA0NSpvKy43MTY4Nzg2KmkrLjA2MDYxNjkqYSkvMSk7cmV0dXJuIG89PT1pJiZpPT09YT9lPW49cjooZT1TOSgoLjQzNjA3NDcqbysuMzg1MDY0OSppKy4xNDMwODA0KmEpL005KSxuPVM5KCguMDEzOTMyMipvKy4wOTcxMDQ1KmkrLjcxNDE3MzMqYSkvdjkpKSxuZXcgazkoMTE2KnItMTYsNTAwKihlLXIpLDIwMCooci1uKSx0Lm9wYWNpdHkpfWZ1bmN0aW9uIGs5KHQsZSxuLG8pe3RoaXMubD0rdCx0aGlzLmE9K2UsdGhpcy5iPStuLHRoaXMub3BhY2l0eT0rb31mdW5jdGlvbiBTOSh0KXtyZXR1cm4gdD4uMDA4ODU2NDUxNjc5MDM1NjMxP01hdGgucG93KHQsMS8zKTp0L1A5K3g5fWZ1bmN0aW9uIEQ5KHQpe3JldHVybiB0Pk85P3QqdCp0OlA5Kih0LXg5KX1mdW5jdGlvbiBSOSh0KXtyZXR1cm4gMjU1Kih0PD0uMDAzMTMwOD8xMi45Mip0OjEuMDU1Kk1hdGgucG93KHQsMS8yLjQpLS4wNTUpfWZ1bmN0aW9uIEU5KHQpe3JldHVybih0Lz0yNTUpPD0uMDQwNDU/dC8xMi45MjpNYXRoLnBvdygodCsuMDU1KS8xLjA1NSwyLjQpfWZ1bmN0aW9uIEE5KHQpe2lmKHQgaW5zdGFuY2VvZiBOOSlyZXR1cm4gbmV3IE45KHQuaCx0LmMsdC5sLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIGs5fHwodD13OSh0KSksMD09PXQuYSYmMD09PXQuYilyZXR1cm4gbmV3IE45KE5hTiwwPHQubCYmdC5sPDEwMD8wOk5hTix0LmwsdC5vcGFjaXR5KTt2YXIgZT1NYXRoLmF0YW4yKHQuYix0LmEpKkM5O3JldHVybiBuZXcgTjkoZTwwP2UrMzYwOmUsTWF0aC5zcXJ0KHQuYSp0LmErdC5iKnQuYiksdC5sLHQub3BhY2l0eSl9ZnVuY3Rpb24gVDkodCxlLG4sbyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP0E5KHQpOm5ldyBOOSh0LGUsbixudWxsPT1vPzE6byl9ZnVuY3Rpb24gTjkodCxlLG4sbyl7dGhpcy5oPSt0LHRoaXMuYz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStvfWZ1bmN0aW9uIHo5KHQpe2lmKGlzTmFOKHQuaCkpcmV0dXJuIG5ldyBrOSh0LmwsMCwwLHQub3BhY2l0eSk7dmFyIGU9dC5oKl85O3JldHVybiBuZXcgazkodC5sLE1hdGguY29zKGUpKnQuYyxNYXRoLnNpbihlKSp0LmMsdC5vcGFjaXR5KX1mdW5jdGlvbiBJOSh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gSDkodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHQrbiplfX1mdW5jdGlvbiBGOSh0LGUpe3ZhciBuPWUtdDtyZXR1cm4gbj9IOSh0LG4+MTgwfHxuPC0xODA/bi0zNjAqTWF0aC5yb3VuZChuLzM2MCk6bik6STkoaXNOYU4odCk/ZTp0KX1mdW5jdGlvbiBMOSh0KXtyZXR1cm4gMT09KHQ9K3QpP0I5OmZ1bmN0aW9uKGUsbil7cmV0dXJuIG4tZT8oZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIHQ9TWF0aC5wb3codCxuKSxlPU1hdGgucG93KGUsbiktdCxuPTEvbixmdW5jdGlvbihvKXtyZXR1cm4gTWF0aC5wb3codCtvKmUsbil9fSkoZSxuLHQpOkk5KGlzTmFOKGUpP246ZSl9fWZ1bmN0aW9uIEI5KHQsZSl7dmFyIG49ZS10O3JldHVybiBuP0g5KHQsbik6STkoaXNOYU4odCk/ZTp0KX1jOChrOSwoZnVuY3Rpb24gVjkodCxlLG4sbyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3c5KHQpOm5ldyBrOSh0LGUsbixudWxsPT1vPzE6byl9KSxkOChwOCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrOSh0aGlzLmwrMTgqKG51bGw9PXQ/MTp0KSx0aGlzLmEsdGhpcy5iLHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGs5KHRoaXMubC0xOCoobnVsbD09dD8xOnQpLHRoaXMuYSx0aGlzLmIsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9KHRoaXMubCsxNikvMTE2LGU9aXNOYU4odGhpcy5hKT90OnQrdGhpcy5hLzUwMCxuPWlzTmFOKHRoaXMuYik/dDp0LXRoaXMuYi8yMDA7cmV0dXJuIG5ldyBjOShSOSgzLjEzMzg1NjEqKGU9TTkqRDkoZSkpLTEuNjE2ODY2NyoodD0xKkQ5KHQpKS0uNDkwNjE0Nioobj12OSpEOShuKSkpLFI5KC0uOTc4NzY4NCplKzEuOTE2MTQxNSp0Ky4wMzM0NTQqbiksUjkoLjA3MTk0NTMqZS0uMjI4OTkxNCp0KzEuNDA1MjQyNypuKSx0aGlzLm9wYWNpdHkpfX0pKSxjOChOOSxUOSxkOChwOCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBOOSh0aGlzLmgsdGhpcy5jLHRoaXMubCsxOCoobnVsbD09dD8xOnQpLHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IE45KHRoaXMuaCx0aGlzLmMsdGhpcy5sLTE4KihudWxsPT10PzE6dCksdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIHo5KHRoaXMpLnJnYigpfX0pKTt2YXIgajk9KGZ1bmN0aW9uIHQoZSl7dmFyIG49TDkoZSk7ZnVuY3Rpb24gbyh0LGUpe3ZhciBvPW4oKHQ9bDkodCkpLnIsKGU9bDkoZSkpLnIpLGk9bih0LmcsZS5nKSxhPW4odC5iLGUuYikscj1COSh0Lm9wYWNpdHksZS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQucj1vKGUpLHQuZz1pKGUpLHQuYj1hKGUpLHQub3BhY2l0eT1yKGUpLHQrIiJ9fXJldHVybiBvLmdhbW1hPXQsb30pKDEpO3ZhciBVOT0oZnVuY3Rpb24gRzkodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuLG8saT1lLmxlbmd0aCxhPW5ldyBBcnJheShpKSxyPW5ldyBBcnJheShpKSxzPW5ldyBBcnJheShpKTtmb3Iobj0wO248aTsrK24pbz1sOShlW25dKSxhW25dPW8ucnx8MCxyW25dPW8uZ3x8MCxzW25dPW8uYnx8MDtyZXR1cm4gYT10KGEpLHI9dChyKSxzPXQocyksby5vcGFjaXR5PTEsZnVuY3Rpb24odCl7cmV0dXJuIG8ucj1hKHQpLG8uZz1yKHQpLG8uYj1zKHQpLG8rIiJ9fX0pKChmdW5jdGlvbiBXOSh0KXt2YXIgZT10Lmxlbmd0aC0xO3JldHVybiBmdW5jdGlvbihuKXt2YXIgbz1uPD0wP249MDpuPj0xPyhuPTEsZS0xKTpNYXRoLmZsb29yKG4qZSksaT10W29dLGE9dFtvKzFdO3JldHVybihmdW5jdGlvbiByKHQsZSxuLG8saSl7dmFyIGE9dCp0LHI9YSp0O3JldHVybigoMS0zKnQrMyphLXIpKmUrKDQtNiphKzMqcikqbisoMSszKnQrMyphLTMqcikqbytyKmkpLzZ9KSgobi1vL2UpKmUsbz4wP3Rbby0xXToyKmktYSxpLGEsbzxlLTE/dFtvKzJdOjIqYS1pKX19KSk7ZnVuY3Rpb24gWTkodCxlKXtlfHwoZT1bXSk7dmFyIG4sbz10P01hdGgubWluKGUubGVuZ3RoLHQubGVuZ3RoKTowLGk9ZS5zbGljZSgpO3JldHVybiBmdW5jdGlvbihhKXtmb3Iobj0wO248bzsrK24paVtuXT10W25dKigxLWEpK2Vbbl0qYTtyZXR1cm4gaX19ZnVuY3Rpb24gcTkodCxlKXt2YXIgbixvPWU/ZS5sZW5ndGg6MCxpPXQ/TWF0aC5taW4obyx0Lmxlbmd0aCk6MCxhPW5ldyBBcnJheShpKSxyPW5ldyBBcnJheShvKTtmb3Iobj0wO248aTsrK24pYVtuXT10dHQodFtuXSxlW25dKTtmb3IoO248bzsrK24pcltuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3Iobj0wO248aTsrK24pcltuXT1hW25dKHQpO3JldHVybiByfX1mdW5jdGlvbiBaOSh0LGUpe3ZhciBuPW5ldyBEYXRlO3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24obyl7cmV0dXJuIG4uc2V0VGltZSh0KigxLW8pK2Uqbyksbn19ZnVuY3Rpb24gWDkodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiB0KigxLW4pK2Uqbn19ZnVuY3Rpb24gSzkodCxlKXt2YXIgbixvPXt9LGk9e307Zm9yKG4gaW4gbnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdHx8KHQ9e30pLG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGV8fChlPXt9KSxlKW4gaW4gdD9vW25dPXR0dCh0W25dLGVbbl0pOmlbbl09ZVtuXTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKG4gaW4gbylpW25dPW9bbl0odCk7cmV0dXJuIGl9fXZhciBKOT0vWy0rXT8oPzpcZCtcLj9cZCp8XC4/XGQrKSg/OltlRV1bLStdP1xkKyk/L2csUTk9bmV3IFJlZ0V4cChKOS5zb3VyY2UsImciKTtmdW5jdGlvbiAkOSh0LGUpe3ZhciBuLG8saSxhPUo5Lmxhc3RJbmRleD1ROS5sYXN0SW5kZXg9MCxyPS0xLHM9W10sbD1bXTtmb3IodCs9IiIsZSs9IiI7KG49SjkuZXhlYyh0KSkmJihvPVE5LmV4ZWMoZSkpOykoaT1vLmluZGV4KT5hJiYoaT1lLnNsaWNlKGEsaSksc1tyXT9zW3JdKz1pOnNbKytyXT1pKSwobj1uWzBdKT09PShvPW9bMF0pP3Nbcl0/c1tyXSs9bzpzWysrcl09bzooc1srK3JdPW51bGwsbC5wdXNoKHtpOnIseDpYOShuLG8pfSkpLGE9UTkubGFzdEluZGV4O3JldHVybiBhPGUubGVuZ3RoJiYoaT1lLnNsaWNlKGEpLHNbcl0/c1tyXSs9aTpzWysrcl09aSkscy5sZW5ndGg8Mj9sWzBdPyhmdW5jdGlvbiBjKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdChlKSsiIn19KShsWzBdLngpOihmdW5jdGlvbiBkKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX0pKGUpOihlPWwubGVuZ3RoLGZ1bmN0aW9uKHQpe2Zvcih2YXIgbixvPTA7bzxlOysrbylzWyhuPWxbb10pLmldPW4ueCh0KTtyZXR1cm4gcy5qb2luKCIiKX0pfWZ1bmN0aW9uIHR0dCh0LGUpe3ZhciBuLG89dHlwZW9mIGU7cmV0dXJuIG51bGw9PWV8fCJib29sZWFuIj09PW8/STkoZSk6KCJudW1iZXIiPT09bz9YOToic3RyaW5nIj09PW8/KG49aTkoZSkpPyhlPW4sajkpOiQ5OmUgaW5zdGFuY2VvZiBpOT9qOTplIGluc3RhbmNlb2YgRGF0ZT9aOTooZnVuY3Rpb24gaSh0KXtyZXR1cm4gQXJyYXlCdWZmZXIuaXNWaWV3KHQpJiYhKHQgaW5zdGFuY2VvZiBEYXRhVmlldyl9KShlKT9ZOTpBcnJheS5pc0FycmF5KGUpP3E5OiJmdW5jdGlvbiIhPXR5cGVvZiBlLnZhbHVlT2YmJiJmdW5jdGlvbiIhPXR5cGVvZiBlLnRvU3RyaW5nfHxpc05hTihlKT9LOTpYOSkodCxlKX1mdW5jdGlvbiBldHQodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiBNYXRoLnJvdW5kKHQqKDEtbikrZSpuKX19dmFyIG50dCxvdHQsaXR0LGF0dCxydHQ9MTgwL01hdGguUEksc3R0PXt0cmFuc2xhdGVYOjAsdHJhbnNsYXRlWTowLHJvdGF0ZTowLHNrZXdYOjAsc2NhbGVYOjEsc2NhbGVZOjF9O2Z1bmN0aW9uIGx0dCh0LGUsbixvLGksYSl7dmFyIHIscyxsO3JldHVybihyPU1hdGguc3FydCh0KnQrZSplKSkmJih0Lz1yLGUvPXIpLChsPXQqbitlKm8pJiYobi09dCpsLG8tPWUqbCksKHM9TWF0aC5zcXJ0KG4qbitvKm8pKSYmKG4vPXMsby89cyxsLz1zKSx0Km88ZSpuJiYodD0tdCxlPS1lLGw9LWwscj0tcikse3RyYW5zbGF0ZVg6aSx0cmFuc2xhdGVZOmEscm90YXRlOk1hdGguYXRhbjIoZSx0KSpydHQsc2tld1g6TWF0aC5hdGFuKGwpKnJ0dCxzY2FsZVg6cixzY2FsZVk6c319ZnVuY3Rpb24gY3R0KHQsZSxuLG8pe2Z1bmN0aW9uIGkodCl7cmV0dXJuIHQubGVuZ3RoP3QucG9wKCkrIiAiOiIifXJldHVybiBmdW5jdGlvbihhLHIpe3ZhciBzPVtdLGw9W107cmV0dXJuIGE9dChhKSxyPXQociksKGZ1bmN0aW9uIGModCxvLGksYSxyLHMpe2lmKHQhPT1pfHxvIT09YSl7dmFyIGw9ci5wdXNoKCJ0cmFuc2xhdGUoIixudWxsLGUsbnVsbCxuKTtzLnB1c2goe2k6bC00LHg6WDkodCxpKX0se2k6bC0yLHg6WDkobyxhKX0pfWVsc2UoaXx8YSkmJnIucHVzaCgidHJhbnNsYXRlKCIraStlK2Erbil9KShhLnRyYW5zbGF0ZVgsYS50cmFuc2xhdGVZLHIudHJhbnNsYXRlWCxyLnRyYW5zbGF0ZVkscyxsKSwoZnVuY3Rpb24gZCh0LGUsbixhKXt0IT09ZT8odC1lPjE4MD9lKz0zNjA6ZS10PjE4MCYmKHQrPTM2MCksYS5wdXNoKHtpOm4ucHVzaChpKG4pKyJyb3RhdGUoIixudWxsLG8pLTIseDpYOSh0LGUpfSkpOmUmJm4ucHVzaChpKG4pKyJyb3RhdGUoIitlK28pfSkoYS5yb3RhdGUsci5yb3RhdGUscyxsKSwoZnVuY3Rpb24gcCh0LGUsbixhKXt0IT09ZT9hLnB1c2goe2k6bi5wdXNoKGkobikrInNrZXdYKCIsbnVsbCxvKS0yLHg6WDkodCxlKX0pOmUmJm4ucHVzaChpKG4pKyJza2V3WCgiK2Urbyl9KShhLnNrZXdYLHIuc2tld1gscyxsKSwoZnVuY3Rpb24gbSh0LGUsbixvLGEscil7aWYodCE9PW58fGUhPT1vKXt2YXIgcz1hLnB1c2goaShhKSsic2NhbGUoIixudWxsLCIsIixudWxsLCIpIik7ci5wdXNoKHtpOnMtNCx4Olg5KHQsbil9LHtpOnMtMix4Olg5KGUsbyl9KX1lbHNlIDE9PT1uJiYxPT09b3x8YS5wdXNoKGkoYSkrInNjYWxlKCIrbisiLCIrbysiKSIpfSkoYS5zY2FsZVgsYS5zY2FsZVksci5zY2FsZVgsci5zY2FsZVkscyxsKSxhPXI9bnVsbCxmdW5jdGlvbih0KXtmb3IodmFyIGUsbj0tMSxvPWwubGVuZ3RoOysrbjxvOylzWyhlPWxbbl0pLmldPWUueCh0KTtyZXR1cm4gcy5qb2luKCIiKX19fXZhciBkdHQ9Y3R0KChmdW5jdGlvbiBwdHQodCl7cmV0dXJuIm5vbmUiPT09dD9zdHQ6KG50dHx8KG50dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJESVYiKSxvdHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGl0dD1kb2N1bWVudC5kZWZhdWx0VmlldyksbnR0LnN0eWxlLnRyYW5zZm9ybT10LHQ9aXR0LmdldENvbXB1dGVkU3R5bGUob3R0LmFwcGVuZENoaWxkKG50dCksbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgidHJhbnNmb3JtIiksb3R0LnJlbW92ZUNoaWxkKG50dCksbHR0KCsodD10LnNsaWNlKDcsLTEpLnNwbGl0KCIsIikpWzBdLCt0WzFdLCt0WzJdLCt0WzNdLCt0WzRdLCt0WzVdKSl9KSwicHgsICIsInB4KSIsImRlZykiKSxtdHQ9Y3R0KChmdW5jdGlvbiBmdHQodCl7cmV0dXJuIG51bGw9PXQ/c3R0OihhdHR8fChhdHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImciKSksYXR0LnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIix0KSwodD1hdHQudHJhbnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKSk/bHR0KCh0PXQubWF0cml4KS5hLHQuYix0LmMsdC5kLHQuZSx0LmYpOnN0dCl9KSwiLCAiLCIpIiwiKSIpO3ZhciB1dHQ9KGZ1bmN0aW9uIGd0dCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXt2YXIgbz10KChlPWc5KGUpKS5oLChuPWc5KG4pKS5oKSxpPUI5KGUucyxuLnMpLGE9QjkoZS5sLG4ubCkscj1COShlLm9wYWNpdHksbi5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGUuaD1vKHQpLGUucz1pKHQpLGUubD1hKHQpLGUub3BhY2l0eT1yKHQpLGUrIiJ9fX0pKEY5KTt2YXIgaHR0LGJ0dCx5dHQ9KGZ1bmN0aW9uIF90dCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXt2YXIgbz10KChlPVQ5KGUpKS5oLChuPVQ5KG4pKS5oKSxpPUI5KGUuYyxuLmMpLGE9QjkoZS5sLG4ubCkscj1COShlLm9wYWNpdHksbi5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGUuaD1vKHQpLGUuYz1pKHQpLGUubD1hKHQpLGUub3BhY2l0eT1yKHQpLGUrIiJ9fX0pKEY5KSxDdHQ9MCxNdHQ9MCx2dHQ9MCx4dHQ9MCxPdHQ9MCxQdHQ9MCx3dHQ9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlOkRhdGUsa3R0PSJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQodCwxNyl9O2Z1bmN0aW9uIFN0dCgpe3JldHVybiBPdHR8fChrdHQoRHR0KSxPdHQ9d3R0Lm5vdygpK1B0dCl9ZnVuY3Rpb24gRHR0KCl7T3R0PTB9ZnVuY3Rpb24gUnR0KCl7dGhpcy5fY2FsbD10aGlzLl90aW1lPXRoaXMuX25leHQ9bnVsbH1mdW5jdGlvbiBFdHQodCxlLG4pe3ZhciBvPW5ldyBSdHQ7cmV0dXJuIG8ucmVzdGFydCh0LGUsbiksb31mdW5jdGlvbiBBdHQoKXtPdHQ9KHh0dD13dHQubm93KCkpK1B0dCxDdHQ9TXR0PTA7dHJ5eyEoZnVuY3Rpb24gdCgpe1N0dCgpLCsrQ3R0O2Zvcih2YXIgdCxlPWh0dDtlOykodD1PdHQtZS5fdGltZSk+PTAmJmUuX2NhbGwuY2FsbChudWxsLHQpLGU9ZS5fbmV4dDstLUN0dH0pKCl9ZmluYWxseXtDdHQ9MCwoZnVuY3Rpb24gZSgpe3ZhciB0LGUsbj1odHQsbz0xLzA7Zm9yKDtuOyluLl9jYWxsPyhvPm4uX3RpbWUmJihvPW4uX3RpbWUpLHQ9bixuPW4uX25leHQpOihlPW4uX25leHQsbi5fbmV4dD1udWxsLG49dD90Ll9uZXh0PWU6aHR0PWUpO2J0dD10LE50dChvKX0pKCksT3R0PTB9fWZ1bmN0aW9uIFR0dCgpe3ZhciB0PXd0dC5ub3coKSxlPXQteHR0O2U+MWUzJiYoUHR0LT1lLHh0dD10KX1mdW5jdGlvbiBOdHQodCl7Q3R0fHwoTXR0JiYoTXR0PWNsZWFyVGltZW91dChNdHQpKSx0LU90dD4yND8odDwxLzAmJihNdHQ9c2V0VGltZW91dChBdHQsdC13dHQubm93KCktUHR0KSksdnR0JiYodnR0PWNsZWFySW50ZXJ2YWwodnR0KSkpOih2dHR8fCh4dHQ9d3R0Lm5vdygpLHZ0dD1zZXRJbnRlcnZhbChUdHQsMWUzKSksQ3R0PTEsa3R0KEF0dCkpKX1mdW5jdGlvbiB6dHQodCxlLG4pe3ZhciBvPW5ldyBSdHQ7cmV0dXJuIG8ucmVzdGFydCgoZnVuY3Rpb24obil7by5zdG9wKCksdChuK2UpfSksZT1udWxsPT1lPzA6K2Usbiksb31SdHQucHJvdG90eXBlPUV0dC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlJ0dCxyZXN0YXJ0OmZ1bmN0aW9uKHQsZSxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBpcyBub3QgYSBmdW5jdGlvbiIpO249KG51bGw9PW4/U3R0KCk6K24pKyhudWxsPT1lPzA6K2UpLHRoaXMuX25leHR8fGJ0dD09PXRoaXN8fChidHQ/YnR0Ll9uZXh0PXRoaXM6aHR0PXRoaXMsYnR0PXRoaXMpLHRoaXMuX2NhbGw9dCx0aGlzLl90aW1lPW4sTnR0KCl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLl9jYWxsJiYodGhpcy5fY2FsbD1udWxsLHRoaXMuX3RpbWU9MS8wLE50dCgpKX19O3ZhciBJdHQ9ajYoInN0YXJ0IiwiZW5kIiwiY2FuY2VsIiwiaW50ZXJydXB0IiksSHR0PVtdO2Z1bmN0aW9uIEZ0dCh0LGUsbixvLGksYSl7dmFyIHI9dC5fX3RyYW5zaXRpb247aWYocil7aWYobiBpbiByKXJldHVybn1lbHNlIHQuX190cmFuc2l0aW9uPXt9OyEoZnVuY3Rpb24gcyh0LGUsbil7dmFyIG8saT10Ll9fdHJhbnNpdGlvbjtmdW5jdGlvbiBhKHQpe24uc3RhdGU9MSxuLnRpbWVyLnJlc3RhcnQocixuLmRlbGF5LG4udGltZSksbi5kZWxheTw9dCYmcih0LW4uZGVsYXkpfWZ1bmN0aW9uIHIoYSl7dmFyIGMsZCxwLG07aWYoMSE9PW4uc3RhdGUpcmV0dXJuIGwoKTtmb3IoYyBpbiBpKWlmKChtPWlbY10pLm5hbWU9PT1uLm5hbWUpe2lmKDM9PT1tLnN0YXRlKXJldHVybiB6dHQocik7ND09PW0uc3RhdGU/KG0uc3RhdGU9NixtLnRpbWVyLnN0b3AoKSxtLm9uLmNhbGwoImludGVycnVwdCIsdCx0Ll9fZGF0YV9fLG0uaW5kZXgsbS5ncm91cCksZGVsZXRlIGlbY10pOitjPGUmJihtLnN0YXRlPTYsbS50aW1lci5zdG9wKCksbS5vbi5jYWxsKCJjYW5jZWwiLHQsdC5fX2RhdGFfXyxtLmluZGV4LG0uZ3JvdXApLGRlbGV0ZSBpW2NdKX1pZih6dHQoKGZ1bmN0aW9uKCl7Mz09PW4uc3RhdGUmJihuLnN0YXRlPTQsbi50aW1lci5yZXN0YXJ0KHMsbi5kZWxheSxuLnRpbWUpLHMoYSkpfSkpLG4uc3RhdGU9MixuLm9uLmNhbGwoInN0YXJ0Iix0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSwyPT09bi5zdGF0ZSl7Zm9yKG4uc3RhdGU9MyxvPW5ldyBBcnJheShwPW4udHdlZW4ubGVuZ3RoKSxjPTAsZD0tMTtjPHA7KytjKShtPW4udHdlZW5bY10udmFsdWUuY2FsbCh0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSkmJihvWysrZF09bSk7by5sZW5ndGg9ZCsxfX1mdW5jdGlvbiBzKGUpe2Zvcih2YXIgaT1lPG4uZHVyYXRpb24/bi5lYXNlLmNhbGwobnVsbCxlL24uZHVyYXRpb24pOihuLnRpbWVyLnJlc3RhcnQobCksbi5zdGF0ZT01LDEpLGE9LTEscj1vLmxlbmd0aDsrK2E8cjspb1thXS5jYWxsKHQsaSk7NT09PW4uc3RhdGUmJihuLm9uLmNhbGwoImVuZCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksbCgpKX1mdW5jdGlvbiBsKCl7Zm9yKHZhciBvIGluIG4uc3RhdGU9NixuLnRpbWVyLnN0b3AoKSxkZWxldGUgaVtlXSxpKXJldHVybjtkZWxldGUgdC5fX3RyYW5zaXRpb259aVtlXT1uLG4udGltZXI9RXR0KGEsMCxuLnRpbWUpfSkodCxuLHtuYW1lOmUsaW5kZXg6byxncm91cDppLG9uOkl0dCx0d2VlbjpIdHQsdGltZTphLnRpbWUsZGVsYXk6YS5kZWxheSxkdXJhdGlvbjphLmR1cmF0aW9uLGVhc2U6YS5lYXNlLHRpbWVyOm51bGwsc3RhdGU6MH0pfWZ1bmN0aW9uIEx0dCh0LGUpe3ZhciBuPVZ0dCh0LGUpO2lmKG4uc3RhdGU+MCl0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHNjaGVkdWxlZCIpO3JldHVybiBufWZ1bmN0aW9uIEJ0dCh0LGUpe3ZhciBuPVZ0dCh0LGUpO2lmKG4uc3RhdGU+Myl0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHJ1bm5pbmciKTtyZXR1cm4gbn1mdW5jdGlvbiBWdHQodCxlKXt2YXIgbj10Ll9fdHJhbnNpdGlvbjtpZighbnx8IShuPW5bZV0pKXRocm93IG5ldyBFcnJvcigidHJhbnNpdGlvbiBub3QgZm91bmQiKTtyZXR1cm4gbn1mdW5jdGlvbiBqdHQodCxlKXt2YXIgbixvLGksYT10Ll9fdHJhbnNpdGlvbixyPSEwO2lmKGEpe2ZvcihpIGluIGU9bnVsbD09ZT9udWxsOmUrIiIsYSkobj1hW2ldKS5uYW1lPT09ZT8obz1uLnN0YXRlPjImJm4uc3RhdGU8NSxuLnN0YXRlPTYsbi50aW1lci5zdG9wKCksbi5vbi5jYWxsKG8/ImludGVycnVwdCI6ImNhbmNlbCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksZGVsZXRlIGFbaV0pOnI9ITE7ciYmZGVsZXRlIHQuX190cmFuc2l0aW9ufX1mdW5jdGlvbiBVdHQodCxlKXt2YXIgbixvO3JldHVybiBmdW5jdGlvbigpe3ZhciBpPUJ0dCh0aGlzLHQpLGE9aS50d2VlbjtpZihhIT09bilmb3IodmFyIHI9MCxzPShvPW49YSkubGVuZ3RoO3I8czsrK3IpaWYob1tyXS5uYW1lPT09ZSl7KG89by5zbGljZSgpKS5zcGxpY2UociwxKTticmVha31pLnR3ZWVuPW99fWZ1bmN0aW9uIFd0dCh0LGUsbil7dmFyIG8saTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9QnR0KHRoaXMsdCkscj1hLnR3ZWVuO2lmKHIhPT1vKXtpPShvPXIpLnNsaWNlKCk7Zm9yKHZhciBzPXtuYW1lOmUsdmFsdWU6bn0sbD0wLGM9aS5sZW5ndGg7bDxjOysrbClpZihpW2xdLm5hbWU9PT1lKXtpW2xdPXM7YnJlYWt9bD09PWMmJmkucHVzaChzKX1hLnR3ZWVuPWl9fWZ1bmN0aW9uIEd0dCh0LGUsbil7dmFyIG89dC5faWQ7cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24oKXt2YXIgdD1CdHQodGhpcyxvKTsodC52YWx1ZXx8KHQudmFsdWU9e30pKVtlXT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pKSxmdW5jdGlvbih0KXtyZXR1cm4gVnR0KHQsbykudmFsdWVbZV19fWZ1bmN0aW9uIFl0dCh0LGUpe3ZhciBuO3JldHVybigibnVtYmVyIj09dHlwZW9mIGU/WDk6ZSBpbnN0YW5jZW9mIGk5P2o5OihuPWk5KGUpKT8oZT1uLGo5KTokOSkodCxlKX1mdW5jdGlvbiBxdHQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIFp0dCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIFh0dCh0LGUsbil7dmFyIG8saSxhPW4rIiI7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5nZXRBdHRyaWJ1dGUodCk7cmV0dXJuIHI9PT1hP251bGw6cj09PW8/aTppPWUobz1yLG4pfX1mdW5jdGlvbiBLdHQodCxlLG4pe3ZhciBvLGksYT1uKyIiO3JldHVybiBmdW5jdGlvbigpe3ZhciByPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKTtyZXR1cm4gcj09PWE/bnVsbDpyPT09bz9pOmk9ZShvPXIsbil9fWZ1bmN0aW9uIEp0dCh0LGUsbil7dmFyIG8saSxhO3JldHVybiBmdW5jdGlvbigpe3ZhciByLHMsbD1uKHRoaXMpO2lmKG51bGwhPWwpcmV0dXJuKHI9dGhpcy5nZXRBdHRyaWJ1dGUodCkpPT09KHM9bCsiIik/bnVsbDpyPT09byYmcz09PWk/YTooaT1zLGE9ZShvPXIsbCkpO3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpfX1mdW5jdGlvbiBRdHQodCxlLG4pe3ZhciBvLGksYTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcixzLGw9bih0aGlzKTtpZihudWxsIT1sKXJldHVybihyPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKSk9PT0ocz1sKyIiKT9udWxsOnI9PT1vJiZzPT09aT9hOihpPXMsYT1lKG89cixsKSk7dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpfX1mdW5jdGlvbiAkdHQodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dGhpcy5zZXRBdHRyaWJ1dGUodCxlLmNhbGwodGhpcyxuKSl9fWZ1bmN0aW9uIHRldCh0LGUpe3JldHVybiBmdW5jdGlvbihuKXt0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxlLmNhbGwodGhpcyxuKSl9fWZ1bmN0aW9uIGVldCh0LGUpe3ZhciBuLG87ZnVuY3Rpb24gaSgpe3ZhciBpPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBpIT09byYmKG49KG89aSkmJnRldCh0LGkpKSxufXJldHVybiBpLl92YWx1ZT1lLGl9ZnVuY3Rpb24gbmV0KHQsZSl7dmFyIG4sbztmdW5jdGlvbiBpKCl7dmFyIGk9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIGkhPT1vJiYobj0obz1pKSYmJHR0KHQsaSkpLG59cmV0dXJuIGkuX3ZhbHVlPWUsaX1mdW5jdGlvbiBvZXQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtMdHQodGhpcyx0KS5kZWxheT0rZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGlldCh0LGUpe3JldHVybiBlPStlLGZ1bmN0aW9uKCl7THR0KHRoaXMsdCkuZGVsYXk9ZX19ZnVuY3Rpb24gYWV0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7QnR0KHRoaXMsdCkuZHVyYXRpb249K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiByZXQodCxlKXtyZXR1cm4gZT0rZSxmdW5jdGlvbigpe0J0dCh0aGlzLHQpLmR1cmF0aW9uPWV9fWZ1bmN0aW9uIHNldCh0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcjtyZXR1cm4gZnVuY3Rpb24oKXtCdHQodGhpcyx0KS5lYXNlPWV9fWZ1bmN0aW9uIGNldCh0LGUsbil7dmFyIG8saSxhPShmdW5jdGlvbiByKHQpe3JldHVybih0KyIiKS50cmltKCkuc3BsaXQoL158XHMrLykuZXZlcnkoKGZ1bmN0aW9uKHQpe3ZhciBlPXQuaW5kZXhPZigiLiIpO3JldHVybiBlPj0wJiYodD10LnNsaWNlKDAsZSkpLCF0fHwic3RhcnQiPT09dH0pKX0pKGUpP0x0dDpCdHQ7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9YSh0aGlzLHQpLHM9ci5vbjtzIT09byYmKGk9KG89cykuY29weSgpKS5vbihlLG4pLHIub249aX19dmFyIGRldD1lOC5wcm90b3R5cGUuY29uc3RydWN0b3I7ZnVuY3Rpb24gcGV0KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9fWZ1bmN0aW9uIG1ldCh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKG8pe3RoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxlLmNhbGwodGhpcyxvKSxuKX19ZnVuY3Rpb24gZmV0KHQsZSxuKXt2YXIgbyxpO2Z1bmN0aW9uIGEoKXt2YXIgYT1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gYSE9PWkmJihvPShpPWEpJiZtZXQodCxhLG4pKSxvfXJldHVybiBhLl92YWx1ZT1lLGF9ZnVuY3Rpb24gdWV0KHQpe3JldHVybiBmdW5jdGlvbihlKXt0aGlzLnRleHRDb250ZW50PXQuY2FsbCh0aGlzLGUpfX1mdW5jdGlvbiBnZXQodCl7dmFyIGUsbjtmdW5jdGlvbiBvKCl7dmFyIG89dC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG8hPT1uJiYoZT0obj1vKSYmdWV0KG8pKSxlfXJldHVybiBvLl92YWx1ZT10LG99dmFyIGhldD0wO2Z1bmN0aW9uIGJldCh0LGUsbixvKXt0aGlzLl9ncm91cHM9dCx0aGlzLl9wYXJlbnRzPWUsdGhpcy5fbmFtZT1uLHRoaXMuX2lkPW99ZnVuY3Rpb24geWV0KCl7cmV0dXJuKytoZXR9dmFyIF9ldD1lOC5wcm90b3R5cGU7YmV0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6YmV0LHNlbGVjdDpmdW5jdGlvbiBDZXQodCl7dmFyIGU9dGhpcy5fbmFtZSxuPXRoaXMuX2lkOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD10Nyh0KSk7Zm9yKHZhciBvPXRoaXMuX2dyb3VwcyxpPW8ubGVuZ3RoLGE9bmV3IEFycmF5KGkpLHI9MDtyPGk7KytyKWZvcih2YXIgcyxsLGM9b1tyXSxkPWMubGVuZ3RoLHA9YVtyXT1uZXcgQXJyYXkoZCksbT0wO208ZDsrK20pKHM9Y1ttXSkmJihsPXQuY2FsbChzLHMuX19kYXRhX18sbSxjKSkmJigiX19kYXRhX18iaW4gcyYmKGwuX19kYXRhX189cy5fX2RhdGFfXykscFttXT1sLEZ0dChwW21dLGUsbixtLHAsVnR0KHMsbikpKTtyZXR1cm4gbmV3IGJldChhLHRoaXMuX3BhcmVudHMsZSxuKX0sc2VsZWN0QWxsOmZ1bmN0aW9uIE1ldCh0KXt2YXIgZT10aGlzLl9uYW1lLG49dGhpcy5faWQ7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PW43KHQpKTtmb3IodmFyIG89dGhpcy5fZ3JvdXBzLGk9by5sZW5ndGgsYT1bXSxyPVtdLHM9MDtzPGk7KytzKWZvcih2YXIgbCxjPW9bc10sZD1jLmxlbmd0aCxwPTA7cDxkOysrcClpZihsPWNbcF0pe2Zvcih2YXIgbSxmPXQuY2FsbChsLGwuX19kYXRhX18scCxjKSx1PVZ0dChsLG4pLGc9MCxoPWYubGVuZ3RoO2c8aDsrK2cpKG09ZltnXSkmJkZ0dChtLGUsbixnLGYsdSk7YS5wdXNoKGYpLHIucHVzaChsKX1yZXR1cm4gbmV3IGJldChhLHIsZSxuKX0sZmlsdGVyOmZ1bmN0aW9uIHZldCh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9bzcodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxvPW5ldyBBcnJheShuKSxpPTA7aTxuOysraSlmb3IodmFyIGEscj1lW2ldLHM9ci5sZW5ndGgsbD1vW2ldPVtdLGM9MDtjPHM7KytjKShhPXJbY10pJiZ0LmNhbGwoYSxhLl9fZGF0YV9fLGMscikmJmwucHVzaChhKTtyZXR1cm4gbmV3IGJldChvLHRoaXMuX3BhcmVudHMsdGhpcy5fbmFtZSx0aGlzLl9pZCl9LG1lcmdlOmZ1bmN0aW9uIHhldCh0KXtpZih0Ll9pZCE9PXRoaXMuX2lkKXRocm93IG5ldyBFcnJvcjtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49dC5fZ3JvdXBzLG89ZS5sZW5ndGgsaT1NYXRoLm1pbihvLG4ubGVuZ3RoKSxhPW5ldyBBcnJheShvKSxyPTA7cjxpOysrcilmb3IodmFyIHMsbD1lW3JdLGM9bltyXSxkPWwubGVuZ3RoLHA9YVtyXT1uZXcgQXJyYXkoZCksbT0wO208ZDsrK20pKHM9bFttXXx8Y1ttXSkmJihwW21dPXMpO2Zvcig7cjxvOysrcilhW3JdPWVbcl07cmV0dXJuIG5ldyBiZXQoYSx0aGlzLl9wYXJlbnRzLHRoaXMuX25hbWUsdGhpcy5faWQpfSxzZWxlY3Rpb246ZnVuY3Rpb24gT2V0KCl7cmV0dXJuIG5ldyBkZXQodGhpcy5fZ3JvdXBzLHRoaXMuX3BhcmVudHMpfSx0cmFuc2l0aW9uOmZ1bmN0aW9uIFBldCgpe2Zvcih2YXIgdD10aGlzLl9uYW1lLGU9dGhpcy5faWQsbj15ZXQoKSxvPXRoaXMuX2dyb3VwcyxpPW8ubGVuZ3RoLGE9MDthPGk7KythKWZvcih2YXIgcixzPW9bYV0sbD1zLmxlbmd0aCxjPTA7YzxsOysrYylpZihyPXNbY10pe3ZhciBkPVZ0dChyLGUpO0Z0dChyLHQsbixjLHMse3RpbWU6ZC50aW1lK2QuZGVsYXkrZC5kdXJhdGlvbixkZWxheTowLGR1cmF0aW9uOmQuZHVyYXRpb24sZWFzZTpkLmVhc2V9KX1yZXR1cm4gbmV3IGJldChvLHRoaXMuX3BhcmVudHMsdCxuKX0sY2FsbDpfZXQuY2FsbCxub2RlczpfZXQubm9kZXMsbm9kZTpfZXQubm9kZSxzaXplOl9ldC5zaXplLGVtcHR5Ol9ldC5lbXB0eSxlYWNoOl9ldC5lYWNoLG9uOmZ1bmN0aW9uIHdldCh0LGUpe3ZhciBuPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDI/VnR0KHRoaXMubm9kZSgpLG4pLm9uLm9uKHQpOnRoaXMuZWFjaChjZXQobix0LGUpKX0sYXR0cjpmdW5jdGlvbiBrZXQodCxlKXt2YXIgbj1YNih0KSxvPSJ0cmFuc2Zvcm0iPT09bj9tdHQ6WXR0O3JldHVybiB0aGlzLmF0dHJUd2Vlbih0LCJmdW5jdGlvbiI9PXR5cGVvZiBlPyhuLmxvY2FsP1F0dDpKdHQpKG4sbyxHdHQodGhpcywiYXR0ci4iK3QsZSkpOm51bGw9PWU/KG4ubG9jYWw/WnR0OnF0dCkobik6KG4ubG9jYWw/S3R0Olh0dCkobixvLGUpKX0sYXR0clR3ZWVuOmZ1bmN0aW9uIERldCh0LGUpe3ZhciBuPSJhdHRyLiIrdDtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKG49dGhpcy50d2VlbihuKSkmJm4uX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4obixudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7dmFyIG89WDYodCk7cmV0dXJuIHRoaXMudHdlZW4obiwoby5sb2NhbD9lZXQ6bmV0KShvLGUpKX0sc3R5bGU6ZnVuY3Rpb24gUmV0KHQsZSxuKXt2YXIgbz0idHJhbnNmb3JtIj09KHQrPSIiKT9kdHQ6WXR0O3JldHVybiBudWxsPT1lP3RoaXMuc3R5bGVUd2Vlbih0LChmdW5jdGlvbiBpKHQsZSl7dmFyIG4sbyxpO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPV83KHRoaXMsdCkscj0odGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KSxfNyh0aGlzLHQpKTtyZXR1cm4gYT09PXI/bnVsbDphPT09biYmcj09PW8/aTppPWUobj1hLG89cil9fSkodCxvKSkub24oImVuZC5zdHlsZS4iK3QscGV0KHQpKToiZnVuY3Rpb24iPT10eXBlb2YgZT90aGlzLnN0eWxlVHdlZW4odCwoZnVuY3Rpb24gcih0LGUsbil7dmFyIG8saSxhO3JldHVybiBmdW5jdGlvbigpe3ZhciByPV83KHRoaXMsdCkscz1uKHRoaXMpLGw9cysiIjtyZXR1cm4gbnVsbD09cyYmKHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCksbD1zPV83KHRoaXMsdCkpLHI9PT1sP251bGw6cj09PW8mJmw9PT1pP2E6KGk9bCxhPWUobz1yLHMpKX19KSh0LG8sR3R0KHRoaXMsInN0eWxlLiIrdCxlKSkpLmVhY2goKGZ1bmN0aW9uIGEodCxlKXt2YXIgbixvLGksYSxyPSJzdHlsZS4iK2Uscz0iZW5kLiIrcjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbD1CdHQodGhpcyx0KSxjPWwub24sZD1udWxsPT1sLnZhbHVlW3JdP2F8fChhPXBldChlKSk6dm9pZCAwO2M9PT1uJiZpPT09ZHx8KG89KG49YykuY29weSgpKS5vbihzLGk9ZCksbC5vbj1vfX0pKHRoaXMuX2lkLHQpKTp0aGlzLnN0eWxlVHdlZW4odCwoZnVuY3Rpb24gcyh0LGUsbil7dmFyIG8saSxhPW4rIiI7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9XzcodGhpcyx0KTtyZXR1cm4gcj09PWE/bnVsbDpyPT09bz9pOmk9ZShvPXIsbil9fSkodCxvLGUpLG4pLm9uKCJlbmQuc3R5bGUuIit0LG51bGwpfSxzdHlsZVR3ZWVuOmZ1bmN0aW9uIEVldCh0LGUsbil7dmFyIG89InN0eWxlLiIrKHQrPSIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKG89dGhpcy50d2VlbihvKSkmJm8uX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4obyxudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHRoaXMudHdlZW4obyxmZXQodCxlLG51bGw9PW4/IiI6bikpfSx0ZXh0OmZ1bmN0aW9uIEFldCh0KXtyZXR1cm4gdGhpcy50d2VlbigidGV4dCIsImZ1bmN0aW9uIj09dHlwZW9mIHQ/KGZ1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKTt0aGlzLnRleHRDb250ZW50PW51bGw9PWU/IiI6ZX19KShHdHQodGhpcywidGV4dCIsdCkpOihmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMudGV4dENvbnRlbnQ9dH19KShudWxsPT10PyIiOnQrIiIpKX0sdGV4dFR3ZWVuOmZ1bmN0aW9uIFRldCh0KXt2YXIgZT0idGV4dCI7aWYoYXJndW1lbnRzLmxlbmd0aDwxKXJldHVybihlPXRoaXMudHdlZW4oZSkpJiZlLl92YWx1ZTtpZihudWxsPT10KXJldHVybiB0aGlzLnR3ZWVuKGUsbnVsbCk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yO3JldHVybiB0aGlzLnR3ZWVuKGUsZ2V0KHQpKX0scmVtb3ZlOmZ1bmN0aW9uIE5ldCgpe3JldHVybiB0aGlzLm9uKCJlbmQucmVtb3ZlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD10aGlzLnBhcmVudE5vZGU7Zm9yKHZhciBuIGluIHRoaXMuX190cmFuc2l0aW9uKWlmKCtuIT09ZSlyZXR1cm47dCYmdC5yZW1vdmVDaGlsZCh0aGlzKX19KSh0aGlzLl9pZCkpfSx0d2VlbjpmdW5jdGlvbiB6ZXQodCxlKXt2YXIgbj10aGlzLl9pZDtpZih0Kz0iIixhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgbyxpPVZ0dCh0aGlzLm5vZGUoKSxuKS50d2VlbixhPTAscj1pLmxlbmd0aDthPHI7KythKWlmKChvPWlbYV0pLm5hbWU9PT10KXJldHVybiBvLnZhbHVlO3JldHVybiBudWxsfXJldHVybiB0aGlzLmVhY2goKG51bGw9PWU/VXR0Old0dCkobix0LGUpKX0sZGVsYXk6ZnVuY3Rpb24gSWV0KHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIHQ/b2V0OmlldCkoZSx0KSk6VnR0KHRoaXMubm9kZSgpLGUpLmRlbGF5fSxkdXJhdGlvbjpmdW5jdGlvbiBIZXQodCl7dmFyIGU9dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgdD9hZXQ6cmV0KShlLHQpKTpWdHQodGhpcy5ub2RlKCksZSkuZHVyYXRpb259LGVhc2U6ZnVuY3Rpb24gRmV0KHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChzZXQoZSx0KSk6VnR0KHRoaXMubm9kZSgpLGUpLmVhc2V9LGVuZDpmdW5jdGlvbiBMZXQoKXt2YXIgdCxlLG49dGhpcyxvPW4uX2lkLGk9bi5zaXplKCk7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihhLHIpe3ZhciBzPXt2YWx1ZTpyfSxsPXt2YWx1ZTpmdW5jdGlvbigpezA9PS0taSYmYSgpfX07bi5lYWNoKChmdW5jdGlvbigpe3ZhciBuPUJ0dCh0aGlzLG8pLGk9bi5vbjtpIT09dCYmKChlPSh0PWkpLmNvcHkoKSkuXy5jYW5jZWwucHVzaChzKSxlLl8uaW50ZXJydXB0LnB1c2gocyksZS5fLmVuZC5wdXNoKGwpKSxuLm9uPWV9KSl9KSl9fTt2YXIgQmV0PXt0aW1lOm51bGwsZGVsYXk6MCxkdXJhdGlvbjoyNTAsZWFzZTpmdW5jdGlvbiBWZXQodCl7cmV0dXJuKCh0Kj0yKTw9MT90KnQqdDoodC09MikqdCp0KzIpLzJ9fTtmdW5jdGlvbiBqZXQodCxlKXtmb3IodmFyIG47IShuPXQuX190cmFuc2l0aW9uKXx8IShuPW5bZV0pOylpZighKHQ9dC5wYXJlbnROb2RlKSlyZXR1cm4gQmV0LnRpbWU9U3R0KCksQmV0O3JldHVybiBufWZ1bmN0aW9uIFVldCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gV2V0KHQsZSxuKXt0aGlzLnRhcmdldD10LHRoaXMudHlwZT1lLHRoaXMuc2VsZWN0aW9uPW59ZnVuY3Rpb24gR2V0KCl7Vzcuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gWWV0KCl7VzcucHJldmVudERlZmF1bHQoKSxXNy5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1lOC5wcm90b3R5cGUuaW50ZXJydXB0PWZ1bmN0aW9uIHFldCh0KXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2p0dCh0aGlzLHQpfSkpfSxlOC5wcm90b3R5cGUudHJhbnNpdGlvbj1mdW5jdGlvbiBaZXQodCl7dmFyIGUsbjt0IGluc3RhbmNlb2YgYmV0PyhlPXQuX2lkLHQ9dC5fbmFtZSk6KGU9eWV0KCksKG49QmV0KS50aW1lPVN0dCgpLHQ9bnVsbD09dD9udWxsOnQrIiIpO2Zvcih2YXIgbz10aGlzLl9ncm91cHMsaT1vLmxlbmd0aCxhPTA7YTxpOysrYSlmb3IodmFyIHIscz1vW2FdLGw9cy5sZW5ndGgsYz0wO2M8bDsrK2MpKHI9c1tjXSkmJkZ0dChyLHQsZSxjLHMsbnx8amV0KHIsZSkpO3JldHVybiBuZXcgYmV0KG8sdGhpcy5fcGFyZW50cyx0LGUpfTt2YXIgWGV0PXtuYW1lOiJkcmFnIn0sS2V0PXtuYW1lOiJzcGFjZSJ9LEpldD17bmFtZToiaGFuZGxlIn0sUWV0PXtuYW1lOiJjZW50ZXIifTtmdW5jdGlvbiAkZXQodCl7cmV0dXJuWyt0WzBdLCt0WzFdXX1mdW5jdGlvbiB0bnQodCl7cmV0dXJuWyRldCh0WzBdKSwkZXQodFsxXSldfWZ1bmN0aW9uIGVudCh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuKGZ1bmN0aW9uIG4odCxlLG8pe2FyZ3VtZW50cy5sZW5ndGg8MyYmKG89ZSxlPW84KCkuY2hhbmdlZFRvdWNoZXMpO2Zvcih2YXIgaSxhPTAscj1lP2UubGVuZ3RoOjA7YTxyOysrYSlpZigoaT1lW2FdKS5pZGVudGlmaWVyPT09bylyZXR1cm4gaTgodCxpKTtyZXR1cm4gbnVsbH0pKGUsVzcudG91Y2hlcyx0KX19dmFyIG5udD17bmFtZToieCIsaGFuZGxlczpbInciLCJlIl0ubWFwKGNudCksaW5wdXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbnVsbD09dD9udWxsOltbK3RbMF0sZVswXVsxXV0sWyt0WzFdLGVbMV1bMV1dXX0sb3V0cHV0OmZ1bmN0aW9uKHQpe3JldHVybiB0JiZbdFswXVswXSx0WzFdWzBdXX19LG9udD17bmFtZToieSIsaGFuZGxlczpbIm4iLCJzIl0ubWFwKGNudCksaW5wdXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbnVsbD09dD9udWxsOltbZVswXVswXSwrdFswXV0sW2VbMV1bMF0sK3RbMV1dXX0sb3V0cHV0OmZ1bmN0aW9uKHQpe3JldHVybiB0JiZbdFswXVsxXSx0WzFdWzFdXX19LGludD17b3ZlcmxheToiY3Jvc3NoYWlyIixzZWxlY3Rpb246Im1vdmUiLG46Im5zLXJlc2l6ZSIsZToiZXctcmVzaXplIixzOiJucy1yZXNpemUiLHc6ImV3LXJlc2l6ZSIsbnc6Im53c2UtcmVzaXplIixuZToibmVzdy1yZXNpemUiLHNlOiJud3NlLXJlc2l6ZSIsc3c6Im5lc3ctcmVzaXplIn0sYW50PXtlOiJ3Iix3OiJlIixudzoibmUiLG5lOiJudyIsc2U6InN3Iixzdzoic2UifSxybnQ9e246InMiLHM6Im4iLG53OiJzdyIsbmU6InNlIixzZToibmUiLHN3OiJudyJ9LHNudD17b3ZlcmxheToxLHNlbGVjdGlvbjoxLG46bnVsbCxlOjEsczpudWxsLHc6LTEsbnc6LTEsbmU6MSxzZToxLHN3Oi0xfSxsbnQ9e292ZXJsYXk6MSxzZWxlY3Rpb246MSxuOi0xLGU6bnVsbCxzOjEsdzpudWxsLG53Oi0xLG5lOi0xLHNlOjEsc3c6MX07ZnVuY3Rpb24gY250KHQpe3JldHVybnt0eXBlOnR9fWZ1bmN0aW9uIGRudCgpe3JldHVybiFXNy5jdHJsS2V5JiYhVzcuYnV0dG9ufWZ1bmN0aW9uIHBudCgpe3ZhciB0PXRoaXMub3duZXJTVkdFbGVtZW50fHx0aGlzO3JldHVybiB0Lmhhc0F0dHJpYnV0ZSgidmlld0JveCIpP1tbKHQ9dC52aWV3Qm94LmJhc2VWYWwpLngsdC55XSxbdC54K3Qud2lkdGgsdC55K3QuaGVpZ2h0XV06W1swLDBdLFt0LndpZHRoLmJhc2VWYWwudmFsdWUsdC5oZWlnaHQuYmFzZVZhbC52YWx1ZV1dfWZ1bmN0aW9uIG1udCgpe3JldHVybiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHN8fCJvbnRvdWNoc3RhcnQiaW4gdGhpc31mdW5jdGlvbiBmbnQodCl7Zm9yKDshdC5fX2JydXNoOylpZighKHQ9dC5wYXJlbnROb2RlKSlyZXR1cm47cmV0dXJuIHQuX19icnVzaH1mdW5jdGlvbiB1bnQodCl7cmV0dXJuIHRbMF1bMF09PT10WzFdWzBdfHx0WzBdWzFdPT09dFsxXVsxXX1mdW5jdGlvbiBnbnQoKXtyZXR1cm4oZnVuY3Rpb24gdChlKXt2YXIgbixvPXBudCxpPWRudCxhPW1udCxyPSEwLHM9ajYoInN0YXJ0IiwiYnJ1c2giLCJlbmQiKSxsPTY7ZnVuY3Rpb24gYyh0KXt2YXIgbj10LnByb3BlcnR5KCJfX2JydXNoIixoKS5zZWxlY3RBbGwoIi5vdmVybGF5IikuZGF0YShbY250KCJvdmVybGF5IildKTtuLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuYXR0cigiY2xhc3MiLCJvdmVybGF5IikuYXR0cigicG9pbnRlci1ldmVudHMiLCJhbGwiKS5hdHRyKCJjdXJzb3IiLGludC5vdmVybGF5KS5tZXJnZShuKS5lYWNoKChmdW5jdGlvbigpe3ZhciB0PWZudCh0aGlzKS5leHRlbnQ7bjgodGhpcykuYXR0cigieCIsdFswXVswXSkuYXR0cigieSIsdFswXVsxXSkuYXR0cigid2lkdGgiLHRbMV1bMF0tdFswXVswXSkuYXR0cigiaGVpZ2h0Iix0WzFdWzFdLXRbMF1bMV0pfSkpLHQuc2VsZWN0QWxsKCIuc2VsZWN0aW9uIikuZGF0YShbY250KCJzZWxlY3Rpb24iKV0pLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuYXR0cigiY2xhc3MiLCJzZWxlY3Rpb24iKS5hdHRyKCJjdXJzb3IiLGludC5zZWxlY3Rpb24pLmF0dHIoImZpbGwiLCIjNzc3IikuYXR0cigiZmlsbC1vcGFjaXR5IiwuMykuYXR0cigic3Ryb2tlIiwiI2ZmZiIpLmF0dHIoInNoYXBlLXJlbmRlcmluZyIsImNyaXNwRWRnZXMiKTt2YXIgbz10LnNlbGVjdEFsbCgiLmhhbmRsZSIpLmRhdGEoZS5oYW5kbGVzLChmdW5jdGlvbih0KXtyZXR1cm4gdC50eXBlfSkpO28uZXhpdCgpLnJlbW92ZSgpLG8uZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsKGZ1bmN0aW9uKHQpe3JldHVybiJoYW5kbGUgaGFuZGxlLS0iK3QudHlwZX0pKS5hdHRyKCJjdXJzb3IiLChmdW5jdGlvbih0KXtyZXR1cm4gaW50W3QudHlwZV19KSksdC5lYWNoKGQpLmF0dHIoImZpbGwiLCJub25lIikuYXR0cigicG9pbnRlci1ldmVudHMiLCJhbGwiKS5vbigibW91c2Vkb3duLmJydXNoIixmKS5maWx0ZXIoYSkub24oInRvdWNoc3RhcnQuYnJ1c2giLGYpLm9uKCJ0b3VjaG1vdmUuYnJ1c2giLHUpLm9uKCJ0b3VjaGVuZC5icnVzaCB0b3VjaGNhbmNlbC5icnVzaCIsZykuc3R5bGUoInRvdWNoLWFjdGlvbiIsIm5vbmUiKS5zdHlsZSgiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIiwicmdiYSgwLDAsMCwwKSIpfWZ1bmN0aW9uIGQoKXt2YXIgdD1uOCh0aGlzKSxlPWZudCh0aGlzKS5zZWxlY3Rpb247ZT8odC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24iKS5zdHlsZSgiZGlzcGxheSIsbnVsbCkuYXR0cigieCIsZVswXVswXSkuYXR0cigieSIsZVswXVsxXSkuYXR0cigid2lkdGgiLGVbMV1bMF0tZVswXVswXSkuYXR0cigiaGVpZ2h0IixlWzFdWzFdLWVbMF1bMV0pLHQuc2VsZWN0QWxsKCIuaGFuZGxlIikuc3R5bGUoImRpc3BsYXkiLG51bGwpLmF0dHIoIngiLChmdW5jdGlvbih0KXtyZXR1cm4iZSI9PT10LnR5cGVbdC50eXBlLmxlbmd0aC0xXT9lWzFdWzBdLWwvMjplWzBdWzBdLWwvMn0pKS5hdHRyKCJ5IiwoZnVuY3Rpb24odCl7cmV0dXJuInMiPT09dC50eXBlWzBdP2VbMV1bMV0tbC8yOmVbMF1bMV0tbC8yfSkpLmF0dHIoIndpZHRoIiwoZnVuY3Rpb24odCl7cmV0dXJuIm4iPT09dC50eXBlfHwicyI9PT10LnR5cGU/ZVsxXVswXS1lWzBdWzBdK2w6bH0pKS5hdHRyKCJoZWlnaHQiLChmdW5jdGlvbih0KXtyZXR1cm4iZSI9PT10LnR5cGV8fCJ3Ij09PXQudHlwZT9lWzFdWzFdLWVbMF1bMV0rbDpsfSkpKTp0LnNlbGVjdEFsbCgiLnNlbGVjdGlvbiwuaGFuZGxlIikuc3R5bGUoImRpc3BsYXkiLCJub25lIikuYXR0cigieCIsbnVsbCkuYXR0cigieSIsbnVsbCkuYXR0cigid2lkdGgiLG51bGwpLmF0dHIoImhlaWdodCIsbnVsbCl9ZnVuY3Rpb24gcCh0LGUsbil7dmFyIG89dC5fX2JydXNoLmVtaXR0ZXI7cmV0dXJuIW98fG4mJm8uY2xlYW4/bmV3IG0odCxlLG4pOm99ZnVuY3Rpb24gbSh0LGUsbil7dGhpcy50aGF0PXQsdGhpcy5hcmdzPWUsdGhpcy5zdGF0ZT10Ll9fYnJ1c2gsdGhpcy5hY3RpdmU9MCx0aGlzLmNsZWFuPW59ZnVuY3Rpb24gZigpe2lmKCghbnx8VzcudG91Y2hlcykmJmkuYXBwbHkodGhpcyxhcmd1bWVudHMpKXt2YXIgdCxvLGEscyxsLGMsbSxmLHUsZyxoLGI9dGhpcyx5PVc3LnRhcmdldC5fX2RhdGFfXy50eXBlLF89InNlbGVjdGlvbiI9PT0ociYmVzcubWV0YUtleT95PSJvdmVybGF5Ijp5KT9YZXQ6ciYmVzcuYWx0S2V5P1FldDpKZXQsQz1lPT09b250P251bGw6c250W3ldLE09ZT09PW5udD9udWxsOmxudFt5XSx2PWZudChiKSx4PXYuZXh0ZW50LE89di5zZWxlY3Rpb24sUD14WzBdWzBdLHc9eFswXVsxXSxrPXhbMV1bMF0sUz14WzFdWzFdLEQ9MCxSPTAsRT1DJiZNJiZyJiZXNy5zaGlmdEtleSxBPVc3LnRvdWNoZXM/ZW50KFc3LmNoYW5nZWRUb3VjaGVzWzBdLmlkZW50aWZpZXIpOmE4LFQ9QShiKSxOPVQsej1wKGIsYXJndW1lbnRzLCEwKS5iZWZvcmVzdGFydCgpOyJvdmVybGF5Ij09PXk/KE8mJih1PSEwKSx2LnNlbGVjdGlvbj1PPVtbdD1lPT09b250P1A6VFswXSxhPWU9PT1ubnQ/dzpUWzFdXSxbbD1lPT09b250P2s6dCxtPWU9PT1ubnQ/UzphXV0pOih0PU9bMF1bMF0sYT1PWzBdWzFdLGw9T1sxXVswXSxtPU9bMV1bMV0pLG89dCxzPWEsYz1sLGY9bTt2YXIgST1uOChiKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsIm5vbmUiKSxIPUkuc2VsZWN0QWxsKCIub3ZlcmxheSIpLmF0dHIoImN1cnNvciIsaW50W3ldKTtpZihXNy50b3VjaGVzKXoubW92ZWQ9TCx6LmVuZGVkPVY7ZWxzZXt2YXIgRj1uOChXNy52aWV3KS5vbigibW91c2Vtb3ZlLmJydXNoIixMLCEwKS5vbigibW91c2V1cC5icnVzaCIsViwhMCk7ciYmRi5vbigia2V5ZG93bi5icnVzaCIsaiwhMCkub24oImtleXVwLmJydXNoIixVLCEwKSxzOChXNy52aWV3KX1HZXQoKSxqdHQoYiksZC5jYWxsKGIpLHouc3RhcnQoKX1mdW5jdGlvbiBMKCl7dmFyIHQ9QShiKTshRXx8Z3x8aHx8KE1hdGguYWJzKHRbMF0tTlswXSk+TWF0aC5hYnModFsxXS1OWzFdKT9oPSEwOmc9ITApLE49dCx1PSEwLFlldCgpLEIoKX1mdW5jdGlvbiBCKCl7dmFyIGU7c3dpdGNoKEQ9TlswXS1UWzBdLFI9TlsxXS1UWzFdLF8pe2Nhc2UgS2V0OmNhc2UgWGV0OkMmJihEPU1hdGgubWF4KFAtdCxNYXRoLm1pbihrLWwsRCkpLG89dCtELGM9bCtEKSxNJiYoUj1NYXRoLm1heCh3LWEsTWF0aC5taW4oUy1tLFIpKSxzPWErUixmPW0rUik7YnJlYWs7Y2FzZSBKZXQ6QzwwPyhEPU1hdGgubWF4KFAtdCxNYXRoLm1pbihrLXQsRCkpLG89dCtELGM9bCk6Qz4wJiYoRD1NYXRoLm1heChQLWwsTWF0aC5taW4oay1sLEQpKSxvPXQsYz1sK0QpLE08MD8oUj1NYXRoLm1heCh3LWEsTWF0aC5taW4oUy1hLFIpKSxzPWErUixmPW0pOk0+MCYmKFI9TWF0aC5tYXgody1tLE1hdGgubWluKFMtbSxSKSkscz1hLGY9bStSKTticmVhaztjYXNlIFFldDpDJiYobz1NYXRoLm1heChQLE1hdGgubWluKGssdC1EKkMpKSxjPU1hdGgubWF4KFAsTWF0aC5taW4oayxsK0QqQykpKSxNJiYocz1NYXRoLm1heCh3LE1hdGgubWluKFMsYS1SKk0pKSxmPU1hdGgubWF4KHcsTWF0aC5taW4oUyxtK1IqTSkpKX1jPG8mJihDKj0tMSxlPXQsdD1sLGw9ZSxlPW8sbz1jLGM9ZSx5IGluIGFudCYmSC5hdHRyKCJjdXJzb3IiLGludFt5PWFudFt5XV0pKSxmPHMmJihNKj0tMSxlPWEsYT1tLG09ZSxlPXMscz1mLGY9ZSx5IGluIHJudCYmSC5hdHRyKCJjdXJzb3IiLGludFt5PXJudFt5XV0pKSx2LnNlbGVjdGlvbiYmKE89di5zZWxlY3Rpb24pLGcmJihvPU9bMF1bMF0sYz1PWzFdWzBdKSxoJiYocz1PWzBdWzFdLGY9T1sxXVsxXSksT1swXVswXT09PW8mJk9bMF1bMV09PT1zJiZPWzFdWzBdPT09YyYmT1sxXVsxXT09PWZ8fCh2LnNlbGVjdGlvbj1bW28sc10sW2MsZl1dLGQuY2FsbChiKSx6LmJydXNoKCkpfWZ1bmN0aW9uIFYoKXtpZihHZXQoKSxXNy50b3VjaGVzKXtpZihXNy50b3VjaGVzLmxlbmd0aClyZXR1cm47biYmY2xlYXJUaW1lb3V0KG4pLG49c2V0VGltZW91dCgoZnVuY3Rpb24oKXtuPW51bGx9KSw1MDApfWVsc2UgbDgoVzcudmlldyx1KSxGLm9uKCJrZXlkb3duLmJydXNoIGtleXVwLmJydXNoIG1vdXNlbW92ZS5icnVzaCBtb3VzZXVwLmJydXNoIixudWxsKTtJLmF0dHIoInBvaW50ZXItZXZlbnRzIiwiYWxsIiksSC5hdHRyKCJjdXJzb3IiLGludC5vdmVybGF5KSx2LnNlbGVjdGlvbiYmKE89di5zZWxlY3Rpb24pLHVudChPKSYmKHYuc2VsZWN0aW9uPW51bGwsZC5jYWxsKGIpKSx6LmVuZCgpfWZ1bmN0aW9uIGooKXtzd2l0Y2goVzcua2V5Q29kZSl7Y2FzZSAxNjpFPUMmJk07YnJlYWs7Y2FzZSAxODpfPT09SmV0JiYoQyYmKGw9Yy1EKkMsdD1vK0QqQyksTSYmKG09Zi1SKk0sYT1zK1IqTSksXz1RZXQsQigpKTticmVhaztjYXNlIDMyOl8hPT1KZXQmJl8hPT1RZXR8fChDPDA/bD1jLUQ6Qz4wJiYodD1vLUQpLE08MD9tPWYtUjpNPjAmJihhPXMtUiksXz1LZXQsSC5hdHRyKCJjdXJzb3IiLGludC5zZWxlY3Rpb24pLEIoKSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59WWV0KCl9ZnVuY3Rpb24gVSgpe3N3aXRjaChXNy5rZXlDb2RlKXtjYXNlIDE2OkUmJihnPWg9RT0hMSxCKCkpO2JyZWFrO2Nhc2UgMTg6Xz09PVFldCYmKEM8MD9sPWM6Qz4wJiYodD1vKSxNPDA/bT1mOk0+MCYmKGE9cyksXz1KZXQsQigpKTticmVhaztjYXNlIDMyOl89PT1LZXQmJihXNy5hbHRLZXk/KEMmJihsPWMtRCpDLHQ9bytEKkMpLE0mJihtPWYtUipNLGE9cytSKk0pLF89UWV0KTooQzwwP2w9YzpDPjAmJih0PW8pLE08MD9tPWY6TT4wJiYoYT1zKSxfPUpldCksSC5hdHRyKCJjdXJzb3IiLGludFt5XSksQigpKTticmVhaztkZWZhdWx0OnJldHVybn1ZZXQoKX19ZnVuY3Rpb24gdSgpe3AodGhpcyxhcmd1bWVudHMpLm1vdmVkKCl9ZnVuY3Rpb24gZygpe3AodGhpcyxhcmd1bWVudHMpLmVuZGVkKCl9ZnVuY3Rpb24gaCgpe3ZhciB0PXRoaXMuX19icnVzaHx8e3NlbGVjdGlvbjpudWxsfTtyZXR1cm4gdC5leHRlbnQ9dG50KG8uYXBwbHkodGhpcyxhcmd1bWVudHMpKSx0LmRpbT1lLHR9cmV0dXJuIGMubW92ZT1mdW5jdGlvbih0LG4pe3Quc2VsZWN0aW9uP3Qub24oInN0YXJ0LmJydXNoIiwoZnVuY3Rpb24oKXtwKHRoaXMsYXJndW1lbnRzKS5iZWZvcmVzdGFydCgpLnN0YXJ0KCl9KSkub24oImludGVycnVwdC5icnVzaCBlbmQuYnJ1c2giLChmdW5jdGlvbigpe3AodGhpcyxhcmd1bWVudHMpLmVuZCgpfSkpLnR3ZWVuKCJicnVzaCIsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxvPXQuX19icnVzaCxpPXAodCxhcmd1bWVudHMpLGE9by5zZWxlY3Rpb24scj1lLmlucHV0KCJmdW5jdGlvbiI9PXR5cGVvZiBuP24uYXBwbHkodGhpcyxhcmd1bWVudHMpOm4sby5leHRlbnQpLHM9dHR0KGEscik7ZnVuY3Rpb24gbChlKXtvLnNlbGVjdGlvbj0xPT09ZSYmbnVsbD09PXI/bnVsbDpzKGUpLGQuY2FsbCh0KSxpLmJydXNoKCl9cmV0dXJuIG51bGwhPT1hJiZudWxsIT09cj9sOmwoMSl9KSk6dC5lYWNoKChmdW5jdGlvbigpe3ZhciB0PXRoaXMsbz1hcmd1bWVudHMsaT10Ll9fYnJ1c2gsYT1lLmlucHV0KCJmdW5jdGlvbiI9PXR5cGVvZiBuP24uYXBwbHkodCxvKTpuLGkuZXh0ZW50KSxyPXAodCxvKS5iZWZvcmVzdGFydCgpO2p0dCh0KSxpLnNlbGVjdGlvbj1udWxsPT09YT9udWxsOmEsZC5jYWxsKHQpLHIuc3RhcnQoKS5icnVzaCgpLmVuZCgpfSkpfSxjLmNsZWFyPWZ1bmN0aW9uKHQpe2MubW92ZSh0LG51bGwpfSxtLnByb3RvdHlwZT17YmVmb3Jlc3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gMT09Kyt0aGlzLmFjdGl2ZSYmKHRoaXMuc3RhdGUuZW1pdHRlcj10aGlzLHRoaXMuc3RhcnRpbmc9ITApLHRoaXN9LHN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhcnRpbmc/KHRoaXMuc3RhcnRpbmc9ITEsdGhpcy5lbWl0KCJzdGFydCIpKTp0aGlzLmVtaXQoImJydXNoIiksdGhpc30sYnJ1c2g6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbWl0KCJicnVzaCIpLHRoaXN9LGVuZDpmdW5jdGlvbigpe3JldHVybiAwPT0tLXRoaXMuYWN0aXZlJiYoZGVsZXRlIHRoaXMuc3RhdGUuZW1pdHRlcix0aGlzLmVtaXQoImVuZCIpKSx0aGlzfSxlbWl0OmZ1bmN0aW9uKHQpeyEoZnVuY3Rpb24gbih0LGUsbyxpKXt2YXIgYT1XNzt0LnNvdXJjZUV2ZW50PVc3LFc3PXQ7dHJ5e3JldHVybiBlLmFwcGx5KG8saSl9ZmluYWxseXtXNz1hfX0pKG5ldyBXZXQoYyx0LGUub3V0cHV0KHRoaXMuc3RhdGUuc2VsZWN0aW9uKSkscy5hcHBseSxzLFt0LHRoaXMudGhhdCx0aGlzLmFyZ3NdKX19LGMuZXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6VWV0KHRudCh0KSksYyk6b30sYy5maWx0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpVZXQoISF0KSxjKTppfSxjLnRvdWNoYWJsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlVldCghIXQpLGMpOmF9LGMuaGFuZGxlU2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD0rdCxjKTpsfSxjLmtleU1vZGlmaWVycz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0hIXQsYyk6cn0sYy5vbj1mdW5jdGlvbigpe3ZhciB0PXMub24uYXBwbHkocyxhcmd1bWVudHMpO3JldHVybiB0PT09cz9jOnR9LGN9KShvbnQpfXZhciBobnQ9TWF0aC5QSSxibnQ9MipobnQseW50PTFlLTYsX250PWJudC15bnQ7ZnVuY3Rpb24gQ250KCl7dGhpcy5feDA9dGhpcy5feTA9dGhpcy5feDE9dGhpcy5feTE9bnVsbCx0aGlzLl89IiJ9ZnVuY3Rpb24gTW50KCl7cmV0dXJuIG5ldyBDbnR9Q250LnByb3RvdHlwZT1NbnQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpDbnQsbW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fKz0iTSIrKHRoaXMuX3gwPXRoaXMuX3gxPSt0KSsiLCIrKHRoaXMuX3kwPXRoaXMuX3kxPStlKX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX3gxJiYodGhpcy5feDE9dGhpcy5feDAsdGhpcy5feTE9dGhpcy5feTAsdGhpcy5fKz0iWiIpfSxsaW5lVG86ZnVuY3Rpb24odCxlKXt0aGlzLl8rPSJMIisodGhpcy5feDE9K3QpKyIsIisodGhpcy5feTE9K2UpfSxxdWFkcmF0aWNDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLG8pe3RoaXMuXys9IlEiKyArdCsiLCIrICtlKyIsIisodGhpcy5feDE9K24pKyIsIisodGhpcy5feTE9K28pfSxiZXppZXJDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLG8saSxhKXt0aGlzLl8rPSJDIisgK3QrIiwiKyArZSsiLCIrICtuKyIsIisgK28rIiwiKyh0aGlzLl94MT0raSkrIiwiKyh0aGlzLl95MT0rYSl9LGFyY1RvOmZ1bmN0aW9uKHQsZSxuLG8saSl7dmFyIGE9dGhpcy5feDEscj10aGlzLl95MSxzPShuPStuKS0odD0rdCksbD0obz0rbyktKGU9K2UpLGM9YS10LGQ9ci1lLHA9YypjK2QqZDtpZigoaT0raSk8MCl0aHJvdyBuZXcgRXJyb3IoIm5lZ2F0aXZlIHJhZGl1czogIitpKTtpZihudWxsPT09dGhpcy5feDEpdGhpcy5fKz0iTSIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZSBpZihwPnludClpZihNYXRoLmFicyhkKnMtbCpjKT55bnQmJmkpe3ZhciBtPW4tYSxmPW8tcix1PXMqcytsKmwsZz1tKm0rZipmLGg9TWF0aC5zcXJ0KHUpLGI9TWF0aC5zcXJ0KHApLHk9aSpNYXRoLnRhbigoaG50LU1hdGguYWNvcygodStwLWcpLygyKmgqYikpKS8yKSxfPXkvYixDPXkvaDtNYXRoLmFicyhfLTEpPnludCYmKHRoaXMuXys9IkwiKyh0K18qYykrIiwiKyhlK18qZCkpLHRoaXMuXys9IkEiK2krIiwiK2krIiwwLDAsIisgKyhkKm0+YypmKSsiLCIrKHRoaXMuX3gxPXQrQypzKSsiLCIrKHRoaXMuX3kxPWUrQypsKX1lbHNlIHRoaXMuXys9IkwiKyh0aGlzLl94MT10KSsiLCIrKHRoaXMuX3kxPWUpO2Vsc2U7fSxhcmM6ZnVuY3Rpb24odCxlLG4sbyxpLGEpe3Q9K3QsZT0rZSxhPSEhYTt2YXIgcj0obj0rbikqTWF0aC5jb3Mobykscz1uKk1hdGguc2luKG8pLGw9dCtyLGM9ZStzLGQ9MV5hLHA9YT9vLWk6aS1vO2lmKG48MCl0aHJvdyBuZXcgRXJyb3IoIm5lZ2F0aXZlIHJhZGl1czogIituKTtudWxsPT09dGhpcy5feDE/dGhpcy5fKz0iTSIrbCsiLCIrYzooTWF0aC5hYnModGhpcy5feDEtbCk+eW50fHxNYXRoLmFicyh0aGlzLl95MS1jKT55bnQpJiYodGhpcy5fKz0iTCIrbCsiLCIrYyksbiYmKHA8MCYmKHA9cCVibnQrYm50KSxwPl9udD90aGlzLl8rPSJBIituKyIsIituKyIsMCwxLCIrZCsiLCIrKHQtcikrIiwiKyhlLXMpKyJBIituKyIsIituKyIsMCwxLCIrZCsiLCIrKHRoaXMuX3gxPWwpKyIsIisodGhpcy5feTE9Yyk6cD55bnQmJih0aGlzLl8rPSJBIituKyIsIituKyIsMCwiKyArKHA+PWhudCkrIiwiK2QrIiwiKyh0aGlzLl94MT10K24qTWF0aC5jb3MoaSkpKyIsIisodGhpcy5feTE9ZStuKk1hdGguc2luKGkpKSkpfSxyZWN0OmZ1bmN0aW9uKHQsZSxuLG8pe3RoaXMuXys9Ik0iKyh0aGlzLl94MD10aGlzLl94MT0rdCkrIiwiKyh0aGlzLl95MD10aGlzLl95MT0rZSkrImgiKyArbisidiIrICtvKyJoIistbisiWiJ9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX319O3ZhciB2bnQ9IiQiO2Z1bmN0aW9uIHhudCgpe31mdW5jdGlvbiBPbnQodCxlKXt2YXIgbj1uZXcgeG50O2lmKHQgaW5zdGFuY2VvZiB4bnQpdC5lYWNoKChmdW5jdGlvbih0LGUpe24uc2V0KGUsdCl9KSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgbyxpPS0xLGE9dC5sZW5ndGg7aWYobnVsbD09ZSlmb3IoOysraTxhOyluLnNldChpLHRbaV0pO2Vsc2UgZm9yKDsrK2k8YTspbi5zZXQoZShvPXRbaV0saSx0KSxvKX1lbHNlIGlmKHQpZm9yKHZhciByIGluIHQpbi5zZXQocix0W3JdKTtyZXR1cm4gbn1mdW5jdGlvbiBQbnQoKXt9eG50LnByb3RvdHlwZT1PbnQucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp4bnQsaGFzOmZ1bmN0aW9uKHQpe3JldHVybiB2bnQrdCBpbiB0aGlzfSxnZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbdm50K3RdfSxzZXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpc1t2bnQrdF09ZSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dm50K3Q7cmV0dXJuIGUgaW4gdGhpcyYmZGVsZXRlIHRoaXNbZV19LGNsZWFyOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMpdFswXT09PXZudCYmZGVsZXRlIHRoaXNbdF19LGtleXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09dm50JiZ0LnB1c2goZS5zbGljZSgxKSk7cmV0dXJuIHR9LHZhbHVlczpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT12bnQmJnQucHVzaCh0aGlzW2VdKTtyZXR1cm4gdH0sZW50cmllczpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT12bnQmJnQucHVzaCh7a2V5OmUuc2xpY2UoMSksdmFsdWU6dGhpc1tlXX0pO3JldHVybiB0fSxzaXplOmZ1bmN0aW9uKCl7dmFyIHQ9MDtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09dm50JiYrK3Q7cmV0dXJuIHR9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMpaWYodFswXT09PXZudClyZXR1cm4hMTtyZXR1cm4hMH0sZWFjaDpmdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09dm50JiZ0KHRoaXNbZV0sZS5zbGljZSgxKSx0aGlzKX19O3ZhciB3bnQ9T250LnByb3RvdHlwZTtmdW5jdGlvbiBrbnQodCxlKXtpZigobj0odD1lP3QudG9FeHBvbmVudGlhbChlLTEpOnQudG9FeHBvbmVudGlhbCgpKS5pbmRleE9mKCJlIikpPDApcmV0dXJuIG51bGw7dmFyIG4sbz10LnNsaWNlKDAsbik7cmV0dXJuW28ubGVuZ3RoPjE/b1swXStvLnNsaWNlKDIpOm8sK3Quc2xpY2UobisxKV19ZnVuY3Rpb24gU250KHQpe3JldHVybih0PWtudChNYXRoLmFicyh0KSkpP3RbMV06TmFOfVBudC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlBudCxoYXM6d250LmhhcyxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbdm50Kyh0Kz0iIildPXQsdGhpc30scmVtb3ZlOndudC5yZW1vdmUsY2xlYXI6d250LmNsZWFyLHZhbHVlczp3bnQua2V5cyxzaXplOndudC5zaXplLGVtcHR5OndudC5lbXB0eSxlYWNoOndudC5lYWNofTt2YXIgRG50LFJudD0vXig/OiguKT8oWzw+PV5dKSk/KFsrXC0oIF0pPyhbJCNdKT8oMCk/KFxkKyk/KCwpPyhcLlxkKyk/KH4pPyhbYS16JV0pPyQvaTtmdW5jdGlvbiBFbnQodCl7aWYoIShlPVJudC5leGVjKHQpKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZm9ybWF0OiAiK3QpO3ZhciBlO3JldHVybiBuZXcgQW50KHtmaWxsOmVbMV0sYWxpZ246ZVsyXSxzaWduOmVbM10sc3ltYm9sOmVbNF0semVybzplWzVdLHdpZHRoOmVbNl0sY29tbWE6ZVs3XSxwcmVjaXNpb246ZVs4XSYmZVs4XS5zbGljZSgxKSx0cmltOmVbOV0sdHlwZTplWzEwXX0pfWZ1bmN0aW9uIEFudCh0KXt0aGlzLmZpbGw9dm9pZCAwPT09dC5maWxsPyIgIjp0LmZpbGwrIiIsdGhpcy5hbGlnbj12b2lkIDA9PT10LmFsaWduPyI+Ijp0LmFsaWduKyIiLHRoaXMuc2lnbj12b2lkIDA9PT10LnNpZ24/Ii0iOnQuc2lnbisiIix0aGlzLnN5bWJvbD12b2lkIDA9PT10LnN5bWJvbD8iIjp0LnN5bWJvbCsiIix0aGlzLnplcm89ISF0Lnplcm8sdGhpcy53aWR0aD12b2lkIDA9PT10LndpZHRoP3ZvaWQgMDordC53aWR0aCx0aGlzLmNvbW1hPSEhdC5jb21tYSx0aGlzLnByZWNpc2lvbj12b2lkIDA9PT10LnByZWNpc2lvbj92b2lkIDA6K3QucHJlY2lzaW9uLHRoaXMudHJpbT0hIXQudHJpbSx0aGlzLnR5cGU9dm9pZCAwPT09dC50eXBlPyIiOnQudHlwZSsiIn1mdW5jdGlvbiBUbnQodCxlKXt2YXIgbj1rbnQodCxlKTtpZighbilyZXR1cm4gdCsiIjt2YXIgbz1uWzBdLGk9blsxXTtyZXR1cm4gaTwwPyIwLiIrbmV3IEFycmF5KC1pKS5qb2luKCIwIikrbzpvLmxlbmd0aD5pKzE/by5zbGljZSgwLGkrMSkrIi4iK28uc2xpY2UoaSsxKTpvK25ldyBBcnJheShpLW8ubGVuZ3RoKzIpLmpvaW4oIjAiKX1FbnQucHJvdG90eXBlPUFudC5wcm90b3R5cGUsQW50LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbGwrdGhpcy5hbGlnbit0aGlzLnNpZ24rdGhpcy5zeW1ib2wrKHRoaXMuemVybz8iMCI6IiIpKyh2b2lkIDA9PT10aGlzLndpZHRoPyIiOk1hdGgubWF4KDEsMHx0aGlzLndpZHRoKSkrKHRoaXMuY29tbWE/IiwiOiIiKSsodm9pZCAwPT09dGhpcy5wcmVjaXNpb24/IiI6Ii4iK01hdGgubWF4KDAsMHx0aGlzLnByZWNpc2lvbikpKyh0aGlzLnRyaW0/In4iOiIiKSt0aGlzLnR5cGV9O3ZhciBObnQ9eyIlIjpmdW5jdGlvbih0LGUpe3JldHVybigxMDAqdCkudG9GaXhlZChlKX0sYjpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5yb3VuZCh0KS50b1N0cmluZygyKX0sYzpmdW5jdGlvbih0KXtyZXR1cm4gdCsiIn0sZDpmdW5jdGlvbiB6bnQodCl7cmV0dXJuIE1hdGguYWJzKHQ9TWF0aC5yb3VuZCh0KSk+PTFlMjE/dC50b0xvY2FsZVN0cmluZygiZW4iKS5yZXBsYWNlKC8sL2csIiIpOnQudG9TdHJpbmcoMTApfSxlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudG9FeHBvbmVudGlhbChlKX0sZjpmdW5jdGlvbih0LGUpe3JldHVybiB0LnRvRml4ZWQoZSl9LGc6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC50b1ByZWNpc2lvbihlKX0sbzpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5yb3VuZCh0KS50b1N0cmluZyg4KX0scDpmdW5jdGlvbih0LGUpe3JldHVybiBUbnQoMTAwKnQsZSl9LHI6VG50LHM6ZnVuY3Rpb24gSW50KHQsZSl7dmFyIG49a250KHQsZSk7aWYoIW4pcmV0dXJuIHQrIiI7dmFyIG89blswXSxpPW5bMV0sYT1pLShEbnQ9MypNYXRoLm1heCgtOCxNYXRoLm1pbig4LE1hdGguZmxvb3IoaS8zKSkpKSsxLHI9by5sZW5ndGg7cmV0dXJuIGE9PT1yP286YT5yP28rbmV3IEFycmF5KGEtcisxKS5qb2luKCIwIik6YT4wP28uc2xpY2UoMCxhKSsiLiIrby5zbGljZShhKToiMC4iK25ldyBBcnJheSgxLWEpLmpvaW4oIjAiKStrbnQodCxNYXRoLm1heCgwLGUrYS0xKSlbMF19LFg6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCl9LHg6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpfX07ZnVuY3Rpb24gSG50KHQpe3JldHVybiB0fXZhciBGbnQsTG50LEJudCxWbnQ9QXJyYXkucHJvdG90eXBlLm1hcCxqbnQ9WyJ5IiwieiIsImEiLCJmIiwicCIsIm4iLCLCtSIsIm0iLCIiLCJrIiwiTSIsIkciLCJUIiwiUCIsIkUiLCJaIiwiWSJdO2Z1bmN0aW9uIFVudCh0KXt2YXIgZT12b2lkIDA9PT10Lmdyb3VwaW5nfHx2b2lkIDA9PT10LnRob3VzYW5kcz9IbnQ6KGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4gZnVuY3Rpb24obixvKXtmb3IodmFyIGk9bi5sZW5ndGgsYT1bXSxyPTAscz10WzBdLGw9MDtpPjAmJnM+MCYmKGwrcysxPm8mJihzPU1hdGgubWF4KDEsby1sKSksYS5wdXNoKG4uc3Vic3RyaW5nKGktPXMsaStzKSksISgobCs9cysxKT5vKSk7KXM9dFtyPShyKzEpJXQubGVuZ3RoXTtyZXR1cm4gYS5yZXZlcnNlKCkuam9pbihlKX19KShWbnQuY2FsbCh0Lmdyb3VwaW5nLE51bWJlciksdC50aG91c2FuZHMrIiIpLG89dm9pZCAwPT09dC5jdXJyZW5jeT8iIjp0LmN1cnJlbmN5WzBdKyIiLGk9dm9pZCAwPT09dC5jdXJyZW5jeT8iIjp0LmN1cnJlbmN5WzFdKyIiLGE9dm9pZCAwPT09dC5kZWNpbWFsPyIuIjp0LmRlY2ltYWwrIiIscj12b2lkIDA9PT10Lm51bWVyYWxzP0hudDooZnVuY3Rpb24gcyh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvWzAtOV0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHRbK2VdfSkpfX0pKFZudC5jYWxsKHQubnVtZXJhbHMsU3RyaW5nKSksbD12b2lkIDA9PT10LnBlcmNlbnQ/IiUiOnQucGVyY2VudCsiIixjPXZvaWQgMD09PXQubWludXM/Ii0iOnQubWludXMrIiIsZD12b2lkIDA9PT10Lm5hbj8iTmFOIjp0Lm5hbisiIjtmdW5jdGlvbiBwKHQpe3ZhciBuPSh0PUVudCh0KSkuZmlsbCxzPXQuYWxpZ24scD10LnNpZ24sbT10LnN5bWJvbCxmPXQuemVybyx1PXQud2lkdGgsZz10LmNvbW1hLGg9dC5wcmVjaXNpb24sYj10LnRyaW0seT10LnR5cGU7Im4iPT09eT8oZz0hMCx5PSJnIik6Tm50W3ldfHwodm9pZCAwPT09aCYmKGg9MTIpLGI9ITAseT0iZyIpLChmfHwiMCI9PT1uJiYiPSI9PT1zKSYmKGY9ITAsbj0iMCIscz0iPSIpO3ZhciBfPSIkIj09PW0/bzoiIyI9PT1tJiYvW2JveFhdLy50ZXN0KHkpPyIwIit5LnRvTG93ZXJDYXNlKCk6IiIsQz0iJCI9PT1tP2k6L1slcF0vLnRlc3QoeSk/bDoiIixNPU5udFt5XSx2PS9bZGVmZ3BycyVdLy50ZXN0KHkpO2Z1bmN0aW9uIHgodCl7dmFyIG8saSxsLG09Xyx4PUM7aWYoImMiPT09eSl4PU0odCkreCx0PSIiO2Vsc2V7dmFyIE89KHQ9K3QpPDB8fDEvdDwwO2lmKHQ9aXNOYU4odCk/ZDpNKE1hdGguYWJzKHQpLGgpLGImJih0PShmdW5jdGlvbiBQKHQpe3Q6Zm9yKHZhciBlLG49dC5sZW5ndGgsbz0xLGk9LTE7bzxuOysrbylzd2l0Y2godFtvXSl7Y2FzZSIuIjppPWU9bzticmVhaztjYXNlIjAiOjA9PT1pJiYoaT1vKSxlPW87YnJlYWs7ZGVmYXVsdDppZighK3Rbb10pYnJlYWsgdDtpPjAmJihpPTApfXJldHVybiBpPjA/dC5zbGljZSgwLGkpK3Quc2xpY2UoZSsxKTp0fSkodCkpLE8mJjA9PSt0JiYiKyIhPT1wJiYoTz0hMSksbT0oTz8iKCI9PT1wP3A6YzoiLSI9PT1wfHwiKCI9PT1wPyIiOnApK20seD0oInMiPT09eT9qbnRbOCtEbnQvM106IiIpK3grKE8mJiIoIj09PXA/IikiOiIiKSx2KWZvcihvPS0xLGk9dC5sZW5ndGg7KytvPGk7KWlmKDQ4PihsPXQuY2hhckNvZGVBdChvKSl8fGw+NTcpe3g9KDQ2PT09bD9hK3Quc2xpY2UobysxKTp0LnNsaWNlKG8pKSt4LHQ9dC5zbGljZSgwLG8pO2JyZWFrfX1nJiYhZiYmKHQ9ZSh0LDEvMCkpO3ZhciB3PW0ubGVuZ3RoK3QubGVuZ3RoK3gubGVuZ3RoLGs9dzx1P25ldyBBcnJheSh1LXcrMSkuam9pbihuKToiIjtzd2l0Y2goZyYmZiYmKHQ9ZShrK3Qsay5sZW5ndGg/dS14Lmxlbmd0aDoxLzApLGs9IiIpLHMpe2Nhc2UiPCI6dD1tK3QreCtrO2JyZWFrO2Nhc2UiPSI6dD1tK2srdCt4O2JyZWFrO2Nhc2UiXiI6dD1rLnNsaWNlKDAsdz1rLmxlbmd0aD4+MSkrbSt0K3gray5zbGljZSh3KTticmVhaztkZWZhdWx0OnQ9ayttK3QreH1yZXR1cm4gcih0KX1yZXR1cm4gaD12b2lkIDA9PT1oPzY6L1tncHJzXS8udGVzdCh5KT9NYXRoLm1heCgxLE1hdGgubWluKDIxLGgpKTpNYXRoLm1heCgwLE1hdGgubWluKDIwLGgpKSx4LnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHQrIiJ9LHh9cmV0dXJue2Zvcm1hdDpwLGZvcm1hdFByZWZpeDpmdW5jdGlvbiBtKHQsZSl7dmFyIG49cCgoKHQ9RW50KHQpKS50eXBlPSJmIix0KSksbz0zKk1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihTbnQoZSkvMykpKSxpPU1hdGgucG93KDEwLC1vKSxhPWpudFs4K28vM107cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuKGkqdCkrYX19fX1mdW5jdGlvbiBXbnQodCxlKXtzd2l0Y2goYXJndW1lbnRzLmxlbmd0aCl7Y2FzZSAwOmJyZWFrO2Nhc2UgMTp0aGlzLnJhbmdlKHQpO2JyZWFrO2RlZmF1bHQ6dGhpcy5yYW5nZShlKS5kb21haW4odCl9cmV0dXJuIHRoaXN9IShmdW5jdGlvbiBHbnQodCl7cmV0dXJuIEZudD1VbnQodCksTG50PUZudC5mb3JtYXQsQm50PUZudC5mb3JtYXRQcmVmaXgsRm50fSkoe2RlY2ltYWw6Ii4iLHRob3VzYW5kczoiLCIsZ3JvdXBpbmc6WzNdLGN1cnJlbmN5OlsiJCIsIiJdLG1pbnVzOiItIn0pO3ZhciBZbnQ9QXJyYXkucHJvdG90eXBlLHFudD1ZbnQubWFwLFpudD1ZbnQuc2xpY2UsWG50PXtuYW1lOiJpbXBsaWNpdCJ9O2Z1bmN0aW9uIEtudCgpe3ZhciB0PU9udCgpLGU9W10sbj1bXSxvPVhudDtmdW5jdGlvbiBpKGkpe3ZhciBhPWkrIiIscj10LmdldChhKTtpZighcil7aWYobyE9PVhudClyZXR1cm4gbzt0LnNldChhLHI9ZS5wdXNoKGkpKX1yZXR1cm4gblsoci0xKSVuLmxlbmd0aF19cmV0dXJuIGkuZG9tYWluPWZ1bmN0aW9uKG4pe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBlLnNsaWNlKCk7ZT1bXSx0PU9udCgpO2Zvcih2YXIgbyxhLHI9LTEscz1uLmxlbmd0aDsrK3I8czspdC5oYXMoYT0obz1uW3JdKSsiIil8fHQuc2V0KGEsZS5wdXNoKG8pKTtyZXR1cm4gaX0saS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1abnQuY2FsbCh0KSxpKTpuLnNsaWNlKCl9LGkudW5rbm93bj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz10LGkpOm99LGkuY29weT1mdW5jdGlvbigpe3JldHVybiBLbnQoZSxuKS51bmtub3duKG8pfSxXbnQuYXBwbHkoaSxhcmd1bWVudHMpLGl9ZnVuY3Rpb24gSm50KCl7dmFyIHQsZSxuPUtudCgpLnVua25vd24odm9pZCAwKSxvPW4uZG9tYWluLGk9bi5yYW5nZSxhPVswLDFdLHI9ITEscz0wLGw9MCxjPS41O2Z1bmN0aW9uIGQoKXt2YXIgbj1vKCkubGVuZ3RoLGQ9YVsxXTxhWzBdLHA9YVtkLTBdLG09YVsxLWRdO3Q9KG0tcCkvTWF0aC5tYXgoMSxuLXMrMipsKSxyJiYodD1NYXRoLmZsb29yKHQpKSxwKz0obS1wLXQqKG4tcykpKmMsZT10KigxLXMpLHImJihwPU1hdGgucm91bmQocCksZT1NYXRoLnJvdW5kKGUpKTt2YXIgZj1NNihuKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBwK3QqZX0pKTtyZXR1cm4gaShkP2YucmV2ZXJzZSgpOmYpfXJldHVybiBkZWxldGUgbi51bmtub3duLG4uZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvKHQpLGQoKSk6bygpfSxuLnJhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPVsrdFswXSwrdFsxXV0sZCgpKTphLnNsaWNlKCl9LG4ucmFuZ2VSb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gYT1bK3RbMF0sK3RbMV1dLHI9ITAsZCgpfSxuLmJhbmR3aWR0aD1mdW5jdGlvbigpe3JldHVybiBlfSxuLnN0ZXA9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbi5yb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0hIXQsZCgpKTpyfSxuLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9TWF0aC5taW4oMSxsPSt0KSxkKCkpOnN9LG4ucGFkZGluZ0lubmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPU1hdGgubWluKDEsdCksZCgpKTpzfSxuLnBhZGRpbmdPdXRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD0rdCxkKCkpOmx9LG4uYWxpZ249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGM9TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSxkKCkpOmN9LG4uY29weT1mdW5jdGlvbigpe3JldHVybiBKbnQobygpLGEpLnJvdW5kKHIpLnBhZGRpbmdJbm5lcihzKS5wYWRkaW5nT3V0ZXIobCkuYWxpZ24oYyl9LFdudC5hcHBseShkKCksYXJndW1lbnRzKX1mdW5jdGlvbiBRbnQodCl7dmFyIGU9dC5jb3B5O3JldHVybiB0LnBhZGRpbmc9dC5wYWRkaW5nT3V0ZXIsZGVsZXRlIHQucGFkZGluZ0lubmVyLGRlbGV0ZSB0LnBhZGRpbmdPdXRlcix0LmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gUW50KGUoKSl9LHR9ZnVuY3Rpb24gJG50KCl7cmV0dXJuIFFudChKbnQuYXBwbHkobnVsbCxhcmd1bWVudHMpLnBhZGRpbmdJbm5lcigxKSl9ZnVuY3Rpb24gdG90KHQpe3JldHVybit0fXZhciBlb3Q9WzAsMV07ZnVuY3Rpb24gbm90KHQpe3JldHVybiB0fWZ1bmN0aW9uIG9vdCh0LGUpe3JldHVybihlLT10PSt0KT9mdW5jdGlvbihuKXtyZXR1cm4obi10KS9lfTooZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19KShpc05hTihlKT9OYU46LjUpfWZ1bmN0aW9uIGlvdCh0KXt2YXIgZSxuPXRbMF0sbz10W3QubGVuZ3RoLTFdO3JldHVybiBuPm8mJihlPW4sbj1vLG89ZSksZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KG4sTWF0aC5taW4obyx0KSl9fWZ1bmN0aW9uIGFvdCh0LGUsbil7dmFyIG89dFswXSxpPXRbMV0sYT1lWzBdLHI9ZVsxXTtyZXR1cm4gaTxvPyhvPW9vdChpLG8pLGE9bihyLGEpKToobz1vb3QobyxpKSxhPW4oYSxyKSksZnVuY3Rpb24odCl7cmV0dXJuIGEobyh0KSl9fWZ1bmN0aW9uIHJvdCh0LGUsbil7dmFyIG89TWF0aC5taW4odC5sZW5ndGgsZS5sZW5ndGgpLTEsaT1uZXcgQXJyYXkobyksYT1uZXcgQXJyYXkobykscj0tMTtmb3IodFtvXTx0WzBdJiYodD10LnNsaWNlKCkucmV2ZXJzZSgpLGU9ZS5zbGljZSgpLnJldmVyc2UoKSk7KytyPG87KWlbcl09b290KHRbcl0sdFtyKzFdKSxhW3JdPW4oZVtyXSxlW3IrMV0pO3JldHVybiBmdW5jdGlvbihlKXt2YXIgbj1oNih0LGUsMSxvKS0xO3JldHVybiBhW25dKGlbbl0oZSkpfX1mdW5jdGlvbiBzb3QodCxlKXtyZXR1cm4gZS5kb21haW4odC5kb21haW4oKSkucmFuZ2UodC5yYW5nZSgpKS5pbnRlcnBvbGF0ZSh0LmludGVycG9sYXRlKCkpLmNsYW1wKHQuY2xhbXAoKSkudW5rbm93bih0LnVua25vd24oKSl9ZnVuY3Rpb24gbG90KCl7dmFyIHQsZSxuLG8saSxhLHI9ZW90LHM9ZW90LGw9dHR0LGM9bm90O2Z1bmN0aW9uIGQoKXtyZXR1cm4gbz1NYXRoLm1pbihyLmxlbmd0aCxzLmxlbmd0aCk+Mj9yb3Q6YW90LGk9YT1udWxsLHB9ZnVuY3Rpb24gcChlKXtyZXR1cm4gaXNOYU4oZT0rZSk/bjooaXx8KGk9byhyLm1hcCh0KSxzLGwpKSkodChjKGUpKSl9cmV0dXJuIHAuaW52ZXJ0PWZ1bmN0aW9uKG4pe3JldHVybiBjKGUoKGF8fChhPW8ocyxyLm1hcCh0KSxYOSkpKShuKSkpfSxwLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj1xbnQuY2FsbCh0LHRvdCksYz09PW5vdHx8KGM9aW90KHIpKSxkKCkpOnIuc2xpY2UoKX0scC5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz1abnQuY2FsbCh0KSxkKCkpOnMuc2xpY2UoKX0scC5yYW5nZVJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBzPVpudC5jYWxsKHQpLGw9ZXR0LGQoKX0scC5jbGFtcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz10P2lvdChyKTpub3QscCk6YyE9PW5vdH0scC5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD10LGQoKSk6bH0scC51bmtub3duPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQscCk6bn0sZnVuY3Rpb24obixvKXtyZXR1cm4gdD1uLGU9byxkKCl9fWZ1bmN0aW9uIGNvdCh0LGUpe3JldHVybiBsb3QoKSh0LGUpfWZ1bmN0aW9uIGRvdCh0LGUsbixvKXt2YXIgaSxhPWs2KHQsZSxuKTtzd2l0Y2goKG89RW50KG51bGw9PW8/IixmIjpvKSkudHlwZSl7Y2FzZSJzIjp2YXIgcj1NYXRoLm1heChNYXRoLmFicyh0KSxNYXRoLmFicyhlKSk7cmV0dXJuIG51bGwhPW8ucHJlY2lzaW9ufHxpc05hTihpPShmdW5jdGlvbiBzKHQsZSl7cmV0dXJuIE1hdGgubWF4KDAsMypNYXRoLm1heCgtOCxNYXRoLm1pbig4LE1hdGguZmxvb3IoU250KGUpLzMpKSktU250KE1hdGguYWJzKHQpKSl9KShhLHIpKXx8KG8ucHJlY2lzaW9uPWkpLEJudChvLHIpO2Nhc2UiIjpjYXNlImUiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlInIiOm51bGwhPW8ucHJlY2lzaW9ufHxpc05hTihpPShmdW5jdGlvbiBsKHQsZSl7cmV0dXJuIHQ9TWF0aC5hYnModCksZT1NYXRoLmFicyhlKS10LE1hdGgubWF4KDAsU250KGUpLVNudCh0KSkrMX0pKGEsTWF0aC5tYXgoTWF0aC5hYnModCksTWF0aC5hYnMoZSkpKSl8fChvLnByZWNpc2lvbj1pLSgiZSI9PT1vLnR5cGUpKTticmVhaztjYXNlImYiOmNhc2UiJSI6bnVsbCE9by5wcmVjaXNpb258fGlzTmFOKGk9KGZ1bmN0aW9uIGModCl7cmV0dXJuIE1hdGgubWF4KDAsLVNudChNYXRoLmFicyh0KSkpfSkoYSkpfHwoby5wcmVjaXNpb249aS0yKigiJSI9PT1vLnR5cGUpKX1yZXR1cm4gTG50KG8pfWZ1bmN0aW9uIHBvdCh0KXt2YXIgZT10LmRvbWFpbjtyZXR1cm4gdC50aWNrcz1mdW5jdGlvbih0KXt2YXIgbj1lKCk7cmV0dXJuIFA2KG5bMF0sbltuLmxlbmd0aC0xXSxudWxsPT10PzEwOnQpfSx0LnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCxuKXt2YXIgbz1lKCk7cmV0dXJuIGRvdChvWzBdLG9bby5sZW5ndGgtMV0sbnVsbD09dD8xMDp0LG4pfSx0Lm5pY2U9ZnVuY3Rpb24obil7bnVsbD09biYmKG49MTApO3ZhciBvLGk9ZSgpLGE9MCxyPWkubGVuZ3RoLTEscz1pW2FdLGw9aVtyXTtyZXR1cm4gbDxzJiYobz1zLHM9bCxsPW8sbz1hLGE9cixyPW8pLChvPXc2KHMsbCxuKSk+MD9vPXc2KHM9TWF0aC5mbG9vcihzL28pKm8sbD1NYXRoLmNlaWwobC9vKSpvLG4pOm88MCYmKG89dzYocz1NYXRoLmNlaWwocypvKS9vLGw9TWF0aC5mbG9vcihsKm8pL28sbikpLG8+MD8oaVthXT1NYXRoLmZsb29yKHMvbykqbyxpW3JdPU1hdGguY2VpbChsL28pKm8sZShpKSk6bzwwJiYoaVthXT1NYXRoLmNlaWwocypvKS9vLGlbcl09TWF0aC5mbG9vcihsKm8pL28sZShpKSksdH0sdH1mdW5jdGlvbiBtb3QoKXt2YXIgdD1jb3Qobm90LG5vdCk7cmV0dXJuIHQuY29weT1mdW5jdGlvbigpe3JldHVybiBzb3QodCxtb3QoKSl9LFdudC5hcHBseSh0LGFyZ3VtZW50cykscG90KHQpfWZ1bmN0aW9uIGZvdCh0LGUpe3ZhciBuLG89MCxpPSh0PXQuc2xpY2UoKSkubGVuZ3RoLTEsYT10W29dLHI9dFtpXTtyZXR1cm4gcjxhJiYobj1vLG89aSxpPW4sbj1hLGE9cixyPW4pLHRbb109ZS5mbG9vcihhKSx0W2ldPWUuY2VpbChyKSx0fWZ1bmN0aW9uIHVvdCh0KXtyZXR1cm4gTWF0aC5sb2codCl9ZnVuY3Rpb24gZ290KHQpe3JldHVybiBNYXRoLmV4cCh0KX1mdW5jdGlvbiBob3QodCl7cmV0dXJuLU1hdGgubG9nKC10KX1mdW5jdGlvbiBib3QodCl7cmV0dXJuLU1hdGguZXhwKC10KX1mdW5jdGlvbiB5b3QodCl7cmV0dXJuIGlzRmluaXRlKHQpPysoIjFlIit0KTp0PDA/MDp0fWZ1bmN0aW9uIF9vdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuLXQoLWUpfX1mdW5jdGlvbiBDb3QodCl7dmFyIGUsbixvPXQodW90LGdvdCksaT1vLmRvbWFpbixhPTEwO2Z1bmN0aW9uIHIoKXtyZXR1cm4gZT0oZnVuY3Rpb24gcih0KXtyZXR1cm4gdD09PU1hdGguRT9NYXRoLmxvZzoxMD09PXQmJk1hdGgubG9nMTB8fDI9PT10JiZNYXRoLmxvZzJ8fCh0PU1hdGgubG9nKHQpLGZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLmxvZyhlKS90fSl9KShhKSxuPShmdW5jdGlvbiBzKHQpe3JldHVybiAxMD09PXQ/eW90OnQ9PT1NYXRoLkU/TWF0aC5leHA6ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgucG93KHQsZSl9fSkoYSksaSgpWzBdPDA/KGU9X290KGUpLG49X290KG4pLHQoaG90LGJvdCkpOnQodW90LGdvdCksb31yZXR1cm4gby5iYXNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSt0LHIoKSk6YX0sby5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGkodCkscigpKTppKCl9LG8udGlja3M9ZnVuY3Rpb24odCl7dmFyIG8scj1pKCkscz1yWzBdLGw9cltyLmxlbmd0aC0xXTsobz1sPHMpJiYobT1zLHM9bCxsPW0pO3ZhciBjLGQscCxtPWUocyksZj1lKGwpLHU9bnVsbD09dD8xMDordCxnPVtdO2lmKCEoYSUxKSYmZi1tPHUpe2lmKG09TWF0aC5yb3VuZChtKS0xLGY9TWF0aC5yb3VuZChmKSsxLHM+MCl7Zm9yKDttPGY7KyttKWZvcihkPTEsYz1uKG0pO2Q8YTsrK2QpaWYoISgocD1jKmQpPHMpKXtpZihwPmwpYnJlYWs7Zy5wdXNoKHApfX1lbHNlIGZvcig7bTxmOysrbSlmb3IoZD1hLTEsYz1uKG0pO2Q+PTE7LS1kKWlmKCEoKHA9YypkKTxzKSl7aWYocD5sKWJyZWFrO2cucHVzaChwKX19ZWxzZSBnPVA2KG0sZixNYXRoLm1pbihmLW0sdSkpLm1hcChuKTtyZXR1cm4gbz9nLnJldmVyc2UoKTpnfSxvLnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCxpKXtpZihudWxsPT1pJiYoaT0xMD09PWE/Ii4wZSI6IiwiKSwiZnVuY3Rpb24iIT10eXBlb2YgaSYmKGk9TG50KGkpKSx0PT09MS8wKXJldHVybiBpO251bGw9PXQmJih0PTEwKTt2YXIgcj1NYXRoLm1heCgxLGEqdC9vLnRpY2tzKCkubGVuZ3RoKTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG89dC9uKE1hdGgucm91bmQoZSh0KSkpO3JldHVybiBvKmE8YS0uNSYmKG8qPWEpLG88PXI/aSh0KToiIn19LG8ubmljZT1mdW5jdGlvbigpe3JldHVybiBpKGZvdChpKCkse2Zsb29yOmZ1bmN0aW9uKHQpe3JldHVybiBuKE1hdGguZmxvb3IoZSh0KSkpfSxjZWlsOmZ1bmN0aW9uKHQpe3JldHVybiBuKE1hdGguY2VpbChlKHQpKSl9fSkpfSxvfWZ1bmN0aW9uIE1vdCgpe3ZhciB0PUNvdChsb3QoKSkuZG9tYWluKFsxLDEwXSk7cmV0dXJuIHQuY29weT1mdW5jdGlvbigpe3JldHVybiBzb3QodCxNb3QoKSkuYmFzZSh0LmJhc2UoKSl9LFdudC5hcHBseSh0LGFyZ3VtZW50cyksdH12YXIgdm90PW5ldyBEYXRlLHhvdD1uZXcgRGF0ZTtmdW5jdGlvbiBPb3QodCxlLG4sbyl7ZnVuY3Rpb24gaShlKXtyZXR1cm4gdChlPTA9PT1hcmd1bWVudHMubGVuZ3RoP25ldyBEYXRlOm5ldyBEYXRlKCtlKSksZX1yZXR1cm4gaS5mbG9vcj1mdW5jdGlvbihlKXtyZXR1cm4gdChlPW5ldyBEYXRlKCtlKSksZX0saS5jZWlsPWZ1bmN0aW9uKG4pe3JldHVybiB0KG49bmV3IERhdGUobi0xKSksZShuLDEpLHQobiksbn0saS5yb3VuZD1mdW5jdGlvbih0KXt2YXIgZT1pKHQpLG49aS5jZWlsKHQpO3JldHVybiB0LWU8bi10P2U6bn0saS5vZmZzZXQ9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZSh0PW5ldyBEYXRlKCt0KSxudWxsPT1uPzE6TWF0aC5mbG9vcihuKSksdH0saS5yYW5nZT1mdW5jdGlvbihuLG8sYSl7dmFyIHIscz1bXTtpZihuPWkuY2VpbChuKSxhPW51bGw9PWE/MTpNYXRoLmZsb29yKGEpLCEobjxvJiZhPjApKXJldHVybiBzO2Rve3MucHVzaChyPW5ldyBEYXRlKCtuKSksZShuLGEpLHQobil9d2hpbGUocjxuJiZuPG8pO3JldHVybiBzfSxpLmZpbHRlcj1mdW5jdGlvbihuKXtyZXR1cm4gT290KChmdW5jdGlvbihlKXtpZihlPj1lKWZvcig7dChlKSwhbihlKTspZS5zZXRUaW1lKGUtMSl9KSwoZnVuY3Rpb24odCxvKXtpZih0Pj10KWlmKG88MClmb3IoOysrbzw9MDspZm9yKDtlKHQsLTEpLCFuKHQpOyk7ZWxzZSBmb3IoOy0tbz49MDspZm9yKDtlKHQsMSksIW4odCk7KTt9KSl9LG4mJihpLmNvdW50PWZ1bmN0aW9uKGUsbyl7cmV0dXJuIHZvdC5zZXRUaW1lKCtlKSx4b3Quc2V0VGltZSgrbyksdCh2b3QpLHQoeG90KSxNYXRoLmZsb29yKG4odm90LHhvdCkpfSxpLmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiB0PU1hdGguZmxvb3IodCksaXNGaW5pdGUodCkmJnQ+MD90PjE/aS5maWx0ZXIobz9mdW5jdGlvbihlKXtyZXR1cm4gbyhlKSV0PT0wfTpmdW5jdGlvbihlKXtyZXR1cm4gaS5jb3VudCgwLGUpJXQ9PTB9KTppOm51bGx9KSxpfXZhciBQb3Q9T290KChmdW5jdGlvbigpe30pLChmdW5jdGlvbih0LGUpe3Quc2V0VGltZSgrdCtlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLXR9KSk7UG90LmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiB0PU1hdGguZmxvb3IodCksaXNGaW5pdGUodCkmJnQ+MD90PjE/T290KChmdW5jdGlvbihlKXtlLnNldFRpbWUoTWF0aC5mbG9vcihlL3QpKnQpfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRUaW1lKCtlK24qdCl9KSwoZnVuY3Rpb24oZSxuKXtyZXR1cm4obi1lKS90fSkpOlBvdDpudWxsfTt2YXIgd290PVBvdCxrb3Q9MWUzLFNvdD02ZTQsRG90PTM2ZTUsUm90PTg2NGU1LEVvdD02MDQ4ZTUsQW90PU9vdCgoZnVuY3Rpb24odCl7dC5zZXRUaW1lKHQtdC5nZXRNaWxsaXNlY29uZHMoKSl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFRpbWUoK3QrZSprb3QpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkva290fSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ1NlY29uZHMoKX0pKSxUb3Q9T290KChmdW5jdGlvbih0KXt0LnNldFRpbWUodC10LmdldE1pbGxpc2Vjb25kcygpLXQuZ2V0U2Vjb25kcygpKmtvdCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFRpbWUoK3QrZSpTb3QpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvU290fSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldE1pbnV0ZXMoKX0pKSxOb3Q9T290KChmdW5jdGlvbih0KXt0LnNldFRpbWUodC10LmdldE1pbGxpc2Vjb25kcygpLXQuZ2V0U2Vjb25kcygpKmtvdC10LmdldE1pbnV0ZXMoKSpTb3QpfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqRG90KX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL0RvdH0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRIb3VycygpfSkpLHpvdD1Pb3QoKGZ1bmN0aW9uKHQpe3Quc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldERhdGUodC5nZXREYXRlKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10LShlLmdldFRpbWV6b25lT2Zmc2V0KCktdC5nZXRUaW1lem9uZU9mZnNldCgpKSpTb3QpL1JvdH0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXREYXRlKCktMX0pKTtmdW5jdGlvbiBJb3QodCl7cmV0dXJuIE9vdCgoZnVuY3Rpb24oZSl7ZS5zZXREYXRlKGUuZ2V0RGF0ZSgpLShlLmdldERheSgpKzctdCklNyksZS5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RGF0ZSh0LmdldERhdGUoKSs3KmUpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdC0oZS5nZXRUaW1lem9uZU9mZnNldCgpLXQuZ2V0VGltZXpvbmVPZmZzZXQoKSkqU290KS9Fb3R9KSl9dmFyIEhvdD1Jb3QoMCksRm90PUlvdCgxKTtJb3QoMiksSW90KDMpO3ZhciBMb3Q9SW90KDQpO0lvdCg1KSxJb3QoNik7dmFyIEJvdD1Pb3QoKGZ1bmN0aW9uKHQpe3Quc2V0RGF0ZSgxKSx0LnNldEhvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRNb250aCh0LmdldE1vbnRoKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5nZXRNb250aCgpLXQuZ2V0TW9udGgoKSsxMiooZS5nZXRGdWxsWWVhcigpLXQuZ2V0RnVsbFllYXIoKSl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0TW9udGgoKX0pKSxWb3Q9T290KChmdW5jdGlvbih0KXt0LnNldE1vbnRoKDAsMSksdC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0RnVsbFllYXIoKS10LmdldEZ1bGxZZWFyKCl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0RnVsbFllYXIoKX0pKTtWb3QuZXZlcnk9ZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9TWF0aC5mbG9vcih0KSkmJnQ+MD9Pb3QoKGZ1bmN0aW9uKGUpe2Uuc2V0RnVsbFllYXIoTWF0aC5mbG9vcihlLmdldEZ1bGxZZWFyKCkvdCkqdCksZS5zZXRNb250aCgwLDEpLGUuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24oZSxuKXtlLnNldEZ1bGxZZWFyKGUuZ2V0RnVsbFllYXIoKStuKnQpfSkpOm51bGx9O3ZhciBqb3Q9Vm90LFVvdD1Pb3QoKGZ1bmN0aW9uKHQpe3Quc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ0RhdGUodC5nZXRVVENEYXRlKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS9Sb3R9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDRGF0ZSgpLTF9KSk7ZnVuY3Rpb24gV290KHQpe3JldHVybiBPb3QoKGZ1bmN0aW9uKGUpe2Uuc2V0VVRDRGF0ZShlLmdldFVUQ0RhdGUoKS0oZS5nZXRVVENEYXkoKSs3LXQpJTcpLGUuc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ0RhdGUodC5nZXRVVENEYXRlKCkrNyplKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL0VvdH0pKX12YXIgR290PVdvdCgwKSxZb3Q9V290KDEpO1dvdCgyKSxXb3QoMyk7dmFyIHFvdD1Xb3QoNCk7V290KDUpLFdvdCg2KTt2YXIgWm90PU9vdCgoZnVuY3Rpb24odCl7dC5zZXRVVENNb250aCgwLDEpLHQuc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ0Z1bGxZZWFyKHQuZ2V0VVRDRnVsbFllYXIoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLmdldFVUQ0Z1bGxZZWFyKCktdC5nZXRVVENGdWxsWWVhcigpfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ0Z1bGxZZWFyKCl9KSk7Wm90LmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiBpc0Zpbml0ZSh0PU1hdGguZmxvb3IodCkpJiZ0PjA/T290KChmdW5jdGlvbihlKXtlLnNldFVUQ0Z1bGxZZWFyKE1hdGguZmxvb3IoZS5nZXRVVENGdWxsWWVhcigpL3QpKnQpLGUuc2V0VVRDTW9udGgoMCwxKSxlLnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRVVENGdWxsWWVhcihlLmdldFVUQ0Z1bGxZZWFyKCkrbip0KX0pKTpudWxsfTt2YXIgWG90PVpvdDtmdW5jdGlvbiBLb3QodCl7aWYoMDw9dC55JiZ0Lnk8MTAwKXt2YXIgZT1uZXcgRGF0ZSgtMSx0Lm0sdC5kLHQuSCx0Lk0sdC5TLHQuTCk7cmV0dXJuIGUuc2V0RnVsbFllYXIodC55KSxlfXJldHVybiBuZXcgRGF0ZSh0LnksdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpfWZ1bmN0aW9uIEpvdCh0KXtpZigwPD10LnkmJnQueTwxMDApe3ZhciBlPW5ldyBEYXRlKERhdGUuVVRDKC0xLHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKSk7cmV0dXJuIGUuc2V0VVRDRnVsbFllYXIodC55KSxlfXJldHVybiBuZXcgRGF0ZShEYXRlLlVUQyh0LnksdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpKX1mdW5jdGlvbiBRb3QodCxlLG4pe3JldHVybnt5OnQsbTplLGQ6bixIOjAsTTowLFM6MCxMOjB9fXZhciAkb3QsdGl0LGVpdD17Ii0iOiIiLF86IiAiLDA6IjAifSxuaXQ9L15ccypcZCsvLG9pdD0vXiUvLGlpdD0vW1xcXiQqKz98W1xdKCkue31dL2c7ZnVuY3Rpb24gYWl0KHQsZSxuKXt2YXIgbz10PDA/Ii0iOiIiLGk9KG8/LXQ6dCkrIiIsYT1pLmxlbmd0aDtyZXR1cm4gbysoYTxuP25ldyBBcnJheShuLWErMSkuam9pbihlKStpOmkpfWZ1bmN0aW9uIHJpdCh0KXtyZXR1cm4gdC5yZXBsYWNlKGlpdCwiXFwkJiIpfWZ1bmN0aW9uIHNpdCh0KXtyZXR1cm4gbmV3IFJlZ0V4cCgiXig/OiIrdC5tYXAocml0KS5qb2luKCJ8IikrIikiLCJpIil9ZnVuY3Rpb24gbGl0KHQpe2Zvcih2YXIgZT17fSxuPS0xLG89dC5sZW5ndGg7KytuPG87KWVbdFtuXS50b0xvd2VyQ2FzZSgpXT1uO3JldHVybiBlfWZ1bmN0aW9uIGNpdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rMSkpO3JldHVybiBvPyh0Lnc9K29bMF0sbitvWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gZGl0KHQsZSxuKXt2YXIgbz1uaXQuZXhlYyhlLnNsaWNlKG4sbisxKSk7cmV0dXJuIG8/KHQudT0rb1swXSxuK29bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBwaXQodCxlLG4pe3ZhciBvPW5pdC5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gbz8odC5VPStvWzBdLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIG1pdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBvPyh0LlY9K29bMF0sbitvWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gZml0KHQsZSxuKXt2YXIgbz1uaXQuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIG8/KHQuVz0rb1swXSxuK29bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB1aXQodCxlLG4pe3ZhciBvPW5pdC5leGVjKGUuc2xpY2UobixuKzQpKTtyZXR1cm4gbz8odC55PStvWzBdLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGdpdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBvPyh0Lnk9K29bMF0rKCtvWzBdPjY4PzE5MDA6MmUzKSxuK29bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBoaXQodCxlLG4pe3ZhciBvPS9eKFopfChbKy1dXGRcZCkoPzo6PyhcZFxkKSk/Ly5leGVjKGUuc2xpY2UobixuKzYpKTtyZXR1cm4gbz8odC5aPW9bMV0/MDotKG9bMl0rKG9bM118fCIwMCIpKSxuK29bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBiaXQodCxlLG4pe3ZhciBvPW5pdC5leGVjKGUuc2xpY2UobixuKzEpKTtyZXR1cm4gbz8odC5xPTMqb1swXS0zLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHlpdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBvPyh0Lm09b1swXS0xLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIF9pdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBvPyh0LmQ9K29bMF0sbitvWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gQ2l0KHQsZSxuKXt2YXIgbz1uaXQuZXhlYyhlLnNsaWNlKG4sbiszKSk7cmV0dXJuIG8/KHQubT0wLHQuZD0rb1swXSxuK29bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBNaXQodCxlLG4pe3ZhciBvPW5pdC5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gbz8odC5IPStvWzBdLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHZpdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBvPyh0Lk09K29bMF0sbitvWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24geGl0KHQsZSxuKXt2YXIgbz1uaXQuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIG8/KHQuUz0rb1swXSxuK29bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBPaXQodCxlLG4pe3ZhciBvPW5pdC5leGVjKGUuc2xpY2UobixuKzMpKTtyZXR1cm4gbz8odC5MPStvWzBdLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIFBpdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rNikpO3JldHVybiBvPyh0Lkw9TWF0aC5mbG9vcihvWzBdLzFlMyksbitvWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gd2l0KHQsZSxuKXt2YXIgbz1vaXQuZXhlYyhlLnNsaWNlKG4sbisxKSk7cmV0dXJuIG8/bitvWzBdLmxlbmd0aDotMX1mdW5jdGlvbiBraXQodCxlLG4pe3ZhciBvPW5pdC5leGVjKGUuc2xpY2UobikpO3JldHVybiBvPyh0LlE9K29bMF0sbitvWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gU2l0KHQsZSxuKXt2YXIgbz1uaXQuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gbz8odC5zPStvWzBdLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIERpdCh0LGUpe3JldHVybiBhaXQodC5nZXREYXRlKCksZSwyKX1mdW5jdGlvbiBSaXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0SG91cnMoKSxlLDIpfWZ1bmN0aW9uIEVpdCh0LGUpe3JldHVybiBhaXQodC5nZXRIb3VycygpJTEyfHwxMixlLDIpfWZ1bmN0aW9uIEFpdCh0LGUpe3JldHVybiBhaXQoMSt6b3QuY291bnQoam90KHQpLHQpLGUsMyl9ZnVuY3Rpb24gVGl0KHQsZSl7cmV0dXJuIGFpdCh0LmdldE1pbGxpc2Vjb25kcygpLGUsMyl9ZnVuY3Rpb24gTml0KHQsZSl7cmV0dXJuIFRpdCh0LGUpKyIwMDAifWZ1bmN0aW9uIHppdCh0LGUpe3JldHVybiBhaXQodC5nZXRNb250aCgpKzEsZSwyKX1mdW5jdGlvbiBJaXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0TWludXRlcygpLGUsMil9ZnVuY3Rpb24gSGl0KHQsZSl7cmV0dXJuIGFpdCh0LmdldFNlY29uZHMoKSxlLDIpfWZ1bmN0aW9uIEZpdCh0KXt2YXIgZT10LmdldERheSgpO3JldHVybiAwPT09ZT83OmV9ZnVuY3Rpb24gTGl0KHQsZSl7cmV0dXJuIGFpdChIb3QuY291bnQoam90KHQpLTEsdCksZSwyKX1mdW5jdGlvbiBCaXQodCl7dmFyIGU9dC5nZXREYXkoKTtyZXR1cm4gZT49NHx8MD09PWU/TG90KHQpOkxvdC5jZWlsKHQpfWZ1bmN0aW9uIFZpdCh0LGUpe3JldHVybiB0PUJpdCh0KSxhaXQoTG90LmNvdW50KGpvdCh0KSx0KSsoND09PWpvdCh0KS5nZXREYXkoKSksZSwyKX1mdW5jdGlvbiBqaXQodCl7cmV0dXJuIHQuZ2V0RGF5KCl9ZnVuY3Rpb24gVWl0KHQsZSl7cmV0dXJuIGFpdChGb3QuY291bnQoam90KHQpLTEsdCksZSwyKX1mdW5jdGlvbiBXaXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0RnVsbFllYXIoKSUxMDAsZSwyKX1mdW5jdGlvbiBHaXQodCxlKXtyZXR1cm4gYWl0KCh0PUJpdCh0KSkuZ2V0RnVsbFllYXIoKSUxMDAsZSwyKX1mdW5jdGlvbiBZaXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0RnVsbFllYXIoKSUxZTQsZSw0KX1mdW5jdGlvbiBxaXQodCxlKXt2YXIgbj10LmdldERheSgpO3JldHVybiBhaXQoKHQ9bj49NHx8MD09PW4/TG90KHQpOkxvdC5jZWlsKHQpKS5nZXRGdWxsWWVhcigpJTFlNCxlLDQpfWZ1bmN0aW9uIFppdCh0KXt2YXIgZT10LmdldFRpbWV6b25lT2Zmc2V0KCk7cmV0dXJuKGU+MD8iLSI6KGUqPS0xLCIrIikpK2FpdChlLzYwfDAsIjAiLDIpK2FpdChlJTYwLCIwIiwyKX1mdW5jdGlvbiBYaXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0VVRDRGF0ZSgpLGUsMil9ZnVuY3Rpb24gS2l0KHQsZSl7cmV0dXJuIGFpdCh0LmdldFVUQ0hvdXJzKCksZSwyKX1mdW5jdGlvbiBKaXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0VVRDSG91cnMoKSUxMnx8MTIsZSwyKX1mdW5jdGlvbiBRaXQodCxlKXtyZXR1cm4gYWl0KDErVW90LmNvdW50KFhvdCh0KSx0KSxlLDMpfWZ1bmN0aW9uICRpdCh0LGUpe3JldHVybiBhaXQodC5nZXRVVENNaWxsaXNlY29uZHMoKSxlLDMpfWZ1bmN0aW9uIHRhdCh0LGUpe3JldHVybiAkaXQodCxlKSsiMDAwIn1mdW5jdGlvbiBlYXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0VVRDTW9udGgoKSsxLGUsMil9ZnVuY3Rpb24gbmF0KHQsZSl7cmV0dXJuIGFpdCh0LmdldFVUQ01pbnV0ZXMoKSxlLDIpfWZ1bmN0aW9uIG9hdCh0LGUpe3JldHVybiBhaXQodC5nZXRVVENTZWNvbmRzKCksZSwyKX1mdW5jdGlvbiBpYXQodCl7dmFyIGU9dC5nZXRVVENEYXkoKTtyZXR1cm4gMD09PWU/NzplfWZ1bmN0aW9uIGFhdCh0LGUpe3JldHVybiBhaXQoR290LmNvdW50KFhvdCh0KS0xLHQpLGUsMil9ZnVuY3Rpb24gcmF0KHQpe3ZhciBlPXQuZ2V0VVRDRGF5KCk7cmV0dXJuIGU+PTR8fDA9PT1lP3FvdCh0KTpxb3QuY2VpbCh0KX1mdW5jdGlvbiBzYXQodCxlKXtyZXR1cm4gdD1yYXQodCksYWl0KHFvdC5jb3VudChYb3QodCksdCkrKDQ9PT1Yb3QodCkuZ2V0VVRDRGF5KCkpLGUsMil9ZnVuY3Rpb24gbGF0KHQpe3JldHVybiB0LmdldFVUQ0RheSgpfWZ1bmN0aW9uIGNhdCh0LGUpe3JldHVybiBhaXQoWW90LmNvdW50KFhvdCh0KS0xLHQpLGUsMil9ZnVuY3Rpb24gZGF0KHQsZSl7cmV0dXJuIGFpdCh0LmdldFVUQ0Z1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gcGF0KHQsZSl7cmV0dXJuIGFpdCgodD1yYXQodCkpLmdldFVUQ0Z1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gbWF0KHQsZSl7cmV0dXJuIGFpdCh0LmdldFVUQ0Z1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gZmF0KHQsZSl7dmFyIG49dC5nZXRVVENEYXkoKTtyZXR1cm4gYWl0KCh0PW4+PTR8fDA9PT1uP3FvdCh0KTpxb3QuY2VpbCh0KSkuZ2V0VVRDRnVsbFllYXIoKSUxZTQsZSw0KX1mdW5jdGlvbiB1YXQoKXtyZXR1cm4iKzAwMDAifWZ1bmN0aW9uIGdhdCgpe3JldHVybiIlIn1mdW5jdGlvbiBoYXQodCl7cmV0dXJuK3R9ZnVuY3Rpb24gYmF0KHQpe3JldHVybiBNYXRoLmZsb29yKCt0LzFlMyl9IShmdW5jdGlvbiB5YXQodCl7cmV0dXJuICRvdD0oZnVuY3Rpb24gZSh0KXt2YXIgZT10LmRhdGVUaW1lLG49dC5kYXRlLG89dC50aW1lLGk9dC5wZXJpb2RzLGE9dC5kYXlzLHI9dC5zaG9ydERheXMscz10Lm1vbnRocyxsPXQuc2hvcnRNb250aHMsYz1zaXQoaSksZD1saXQoaSkscD1zaXQoYSksbT1saXQoYSksZj1zaXQociksdT1saXQociksZz1zaXQocyksaD1saXQocyksYj1zaXQobCkseT1saXQobCksXz17YTpmdW5jdGlvbiBDKHQpe3JldHVybiByW3QuZ2V0RGF5KCldfSxBOmZ1bmN0aW9uIE0odCl7cmV0dXJuIGFbdC5nZXREYXkoKV19LGI6ZnVuY3Rpb24gdih0KXtyZXR1cm4gbFt0LmdldE1vbnRoKCldfSxCOmZ1bmN0aW9uIHgodCl7cmV0dXJuIHNbdC5nZXRNb250aCgpXX0sYzpudWxsLGQ6RGl0LGU6RGl0LGY6Tml0LGc6R2l0LEc6cWl0LEg6Uml0LEk6RWl0LGo6QWl0LEw6VGl0LG06eml0LE06SWl0LHA6ZnVuY3Rpb24gTyh0KXtyZXR1cm4gaVsrKHQuZ2V0SG91cnMoKT49MTIpXX0scTpmdW5jdGlvbiBQKHQpe3JldHVybiAxK35+KHQuZ2V0TW9udGgoKS8zKX0sUTpoYXQsczpiYXQsUzpIaXQsdTpGaXQsVTpMaXQsVjpWaXQsdzpqaXQsVzpVaXQseDpudWxsLFg6bnVsbCx5OldpdCxZOllpdCxaOlppdCwiJSI6Z2F0fSx3PXthOmZ1bmN0aW9uIGsodCl7cmV0dXJuIHJbdC5nZXRVVENEYXkoKV19LEE6ZnVuY3Rpb24gUyh0KXtyZXR1cm4gYVt0LmdldFVUQ0RheSgpXX0sYjpmdW5jdGlvbiBEKHQpe3JldHVybiBsW3QuZ2V0VVRDTW9udGgoKV19LEI6ZnVuY3Rpb24gUih0KXtyZXR1cm4gc1t0LmdldFVUQ01vbnRoKCldfSxjOm51bGwsZDpYaXQsZTpYaXQsZjp0YXQsZzpwYXQsRzpmYXQsSDpLaXQsSTpKaXQsajpRaXQsTDokaXQsbTplYXQsTTpuYXQscDpmdW5jdGlvbiBFKHQpe3JldHVybiBpWysodC5nZXRVVENIb3VycygpPj0xMildfSxxOmZ1bmN0aW9uIEEodCl7cmV0dXJuIDErfn4odC5nZXRVVENNb250aCgpLzMpfSxROmhhdCxzOmJhdCxTOm9hdCx1OmlhdCxVOmFhdCxWOnNhdCx3OmxhdCxXOmNhdCx4Om51bGwsWDpudWxsLHk6ZGF0LFk6bWF0LFo6dWF0LCIlIjpnYXR9LFQ9e2E6ZnVuY3Rpb24gTih0LGUsbil7dmFyIG89Zi5leGVjKGUuc2xpY2UobikpO3JldHVybiBvPyh0Lnc9dVtvWzBdLnRvTG93ZXJDYXNlKCldLG4rb1swXS5sZW5ndGgpOi0xfSxBOmZ1bmN0aW9uIHoodCxlLG4pe3ZhciBvPXAuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gbz8odC53PW1bb1swXS50b0xvd2VyQ2FzZSgpXSxuK29bMF0ubGVuZ3RoKTotMX0sYjpmdW5jdGlvbiBJKHQsZSxuKXt2YXIgbz1iLmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIG8/KHQubT15W29bMF0udG9Mb3dlckNhc2UoKV0sbitvWzBdLmxlbmd0aCk6LTF9LEI6ZnVuY3Rpb24gSCh0LGUsbil7dmFyIG89Zy5leGVjKGUuc2xpY2UobikpO3JldHVybiBvPyh0Lm09aFtvWzBdLnRvTG93ZXJDYXNlKCldLG4rb1swXS5sZW5ndGgpOi0xfSxjOmZ1bmN0aW9uIEYodCxuLG8pe3JldHVybiBXKHQsZSxuLG8pfSxkOl9pdCxlOl9pdCxmOlBpdCxnOmdpdCxHOnVpdCxIOk1pdCxJOk1pdCxqOkNpdCxMOk9pdCxtOnlpdCxNOnZpdCxwOmZ1bmN0aW9uIEwodCxlLG4pe3ZhciBvPWMuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gbz8odC5wPWRbb1swXS50b0xvd2VyQ2FzZSgpXSxuK29bMF0ubGVuZ3RoKTotMX0scTpiaXQsUTpraXQsczpTaXQsUzp4aXQsdTpkaXQsVTpwaXQsVjptaXQsdzpjaXQsVzpmaXQseDpmdW5jdGlvbiBCKHQsZSxvKXtyZXR1cm4gVyh0LG4sZSxvKX0sWDpmdW5jdGlvbiBWKHQsZSxuKXtyZXR1cm4gVyh0LG8sZSxuKX0seTpnaXQsWTp1aXQsWjpoaXQsIiUiOndpdH07ZnVuY3Rpb24gaih0LGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgbyxpLGEscj1bXSxzPS0xLGw9MCxjPXQubGVuZ3RoO2ZvcihuIGluc3RhbmNlb2YgRGF0ZXx8KG49bmV3IERhdGUoK24pKTsrK3M8YzspMzc9PT10LmNoYXJDb2RlQXQocykmJihyLnB1c2godC5zbGljZShsLHMpKSxudWxsIT0oaT1laXRbbz10LmNoYXJBdCgrK3MpXSk/bz10LmNoYXJBdCgrK3MpOmk9ImUiPT09bz8iICI6IjAiLChhPWVbb10pJiYobz1hKG4saSkpLHIucHVzaChvKSxsPXMrMSk7cmV0dXJuIHIucHVzaCh0LnNsaWNlKGwscykpLHIuam9pbigiIil9fWZ1bmN0aW9uIFUodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIG8saSxhPVFvdCgxOTAwLHZvaWQgMCwxKTtpZihXKGEsdCxuKz0iIiwwKSE9bi5sZW5ndGgpcmV0dXJuIG51bGw7aWYoIlEiaW4gYSlyZXR1cm4gbmV3IERhdGUoYS5RKTtpZigicyJpbiBhKXJldHVybiBuZXcgRGF0ZSgxZTMqYS5zKygiTCJpbiBhP2EuTDowKSk7aWYoZSYmISgiWiJpbiBhKSYmKGEuWj0wKSwicCJpbiBhJiYoYS5IPWEuSCUxMisxMiphLnApLHZvaWQgMD09PWEubSYmKGEubT0icSJpbiBhP2EucTowKSwiViJpbiBhKXtpZihhLlY8MXx8YS5WPjUzKXJldHVybiBudWxsOyJ3ImluIGF8fChhLnc9MSksIloiaW4gYT8oaT0obz1Kb3QoUW90KGEueSwwLDEpKSkuZ2V0VVRDRGF5KCksbz1pPjR8fDA9PT1pP1lvdC5jZWlsKG8pOllvdChvKSxvPVVvdC5vZmZzZXQobyw3KihhLlYtMSkpLGEueT1vLmdldFVUQ0Z1bGxZZWFyKCksYS5tPW8uZ2V0VVRDTW9udGgoKSxhLmQ9by5nZXRVVENEYXRlKCkrKGEudys2KSU3KTooaT0obz1Lb3QoUW90KGEueSwwLDEpKSkuZ2V0RGF5KCksbz1pPjR8fDA9PT1pP0ZvdC5jZWlsKG8pOkZvdChvKSxvPXpvdC5vZmZzZXQobyw3KihhLlYtMSkpLGEueT1vLmdldEZ1bGxZZWFyKCksYS5tPW8uZ2V0TW9udGgoKSxhLmQ9by5nZXREYXRlKCkrKGEudys2KSU3KX1lbHNlKCJXImluIGF8fCJVImluIGEpJiYoInciaW4gYXx8KGEudz0idSJpbiBhP2EudSU3OiJXImluIGE/MTowKSxpPSJaImluIGE/Sm90KFFvdChhLnksMCwxKSkuZ2V0VVRDRGF5KCk6S290KFFvdChhLnksMCwxKSkuZ2V0RGF5KCksYS5tPTAsYS5kPSJXImluIGE/KGEudys2KSU3KzcqYS5XLShpKzUpJTc6YS53KzcqYS5VLShpKzYpJTcpO3JldHVybiJaImluIGE/KGEuSCs9YS5aLzEwMHwwLGEuTSs9YS5aJTEwMCxKb3QoYSkpOktvdChhKX19ZnVuY3Rpb24gVyh0LGUsbixvKXtmb3IodmFyIGksYSxyPTAscz1lLmxlbmd0aCxsPW4ubGVuZ3RoO3I8czspe2lmKG8+PWwpcmV0dXJuLTE7aWYoMzc9PT0oaT1lLmNoYXJDb2RlQXQocisrKSkpe2lmKGk9ZS5jaGFyQXQocisrKSwhKGE9VFtpIGluIGVpdD9lLmNoYXJBdChyKyspOmldKXx8KG89YSh0LG4sbykpPDApcmV0dXJuLTF9ZWxzZSBpZihpIT1uLmNoYXJDb2RlQXQobysrKSlyZXR1cm4tMX1yZXR1cm4gb31yZXR1cm4gXy54PWoobixfKSxfLlg9aihvLF8pLF8uYz1qKGUsXyksdy54PWoobix3KSx3Llg9aihvLHcpLHcuYz1qKGUsdykse2Zvcm1hdDpmdW5jdGlvbih0KXt2YXIgZT1qKHQrPSIiLF8pO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9LHBhcnNlOmZ1bmN0aW9uKHQpe3ZhciBlPVUodCs9IiIsITEpO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9LHV0Y0Zvcm1hdDpmdW5jdGlvbih0KXt2YXIgZT1qKHQrPSIiLHcpO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9LHV0Y1BhcnNlOmZ1bmN0aW9uKHQpe3ZhciBlPVUodCs9IiIsITApO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9fX0pKHQpLHRpdD0kb3QuZm9ybWF0LCRvdH0pKHtkYXRlVGltZToiJXgsICVYIixkYXRlOiIlLW0vJS1kLyVZIix0aW1lOiIlLUk6JU06JVMgJXAiLHBlcmlvZHM6WyJBTSIsIlBNIl0sZGF5czpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sc2hvcnREYXlzOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sbW9udGhzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxzaG9ydE1vbnRoczpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdfSk7dmFyIF9hdD0xZTMsQ2F0PTZlNCxNYXQ9MzZlNSx2YXQ9ODY0ZTUseGF0PTI1OTJlNixPYXQ9MzE1MzZlNjtmdW5jdGlvbiBQYXQodCl7cmV0dXJuIG5ldyBEYXRlKHQpfWZ1bmN0aW9uIHdhdCh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIERhdGU/K3Q6K25ldyBEYXRlKCt0KX1mdW5jdGlvbiBrYXQodCxlLG4sbyxpLGEscixzLGwpe3ZhciBjPWNvdChub3Qsbm90KSxkPWMuaW52ZXJ0LHA9Yy5kb21haW4sbT1sKCIuJUwiKSxmPWwoIjolUyIpLHU9bCgiJUk6JU0iKSxnPWwoIiVJICVwIiksaD1sKCIlYSAlZCIpLGI9bCgiJWIgJWQiKSx5PWwoIiVCIiksXz1sKCIlWSIpLEM9W1tyLDEsX2F0XSxbciw1LDVlM10sW3IsMTUsMTVlM10sW3IsMzAsM2U0XSxbYSwxLENhdF0sW2EsNSwzZTVdLFthLDE1LDllNV0sW2EsMzAsMThlNV0sW2ksMSxNYXRdLFtpLDMsMTA4ZTVdLFtpLDYsMjE2ZTVdLFtpLDEyLDQzMmU1XSxbbywxLHZhdF0sW28sMiwxNzI4ZTVdLFtuLDEsNjA0OGU1XSxbZSwxLHhhdF0sW2UsMyw3Nzc2ZTZdLFt0LDEsT2F0XV07ZnVuY3Rpb24gTShzKXtyZXR1cm4ocihzKTxzP206YShzKTxzP2Y6aShzKTxzP3U6byhzKTxzP2c6ZShzKTxzP24ocyk8cz9oOmI6dChzKTxzP3k6Xykocyl9ZnVuY3Rpb24gdihlLG4sbyxpKXtpZihudWxsPT1lJiYoZT0xMCksIm51bWJlciI9PXR5cGVvZiBlKXt2YXIgYT1NYXRoLmFicyhvLW4pL2Uscj1nNigoZnVuY3Rpb24odCl7cmV0dXJuIHRbMl19KSkucmlnaHQoQyxhKTtyPT09Qy5sZW5ndGg/KGk9azYobi9PYXQsby9PYXQsZSksZT10KTpyPyhpPShyPUNbYS9DW3ItMV1bMl08Q1tyXVsyXS9hP3ItMTpyXSlbMV0sZT1yWzBdKTooaT1NYXRoLm1heChrNihuLG8sZSksMSksZT1zKX1yZXR1cm4gbnVsbD09aT9lOmUuZXZlcnkoaSl9cmV0dXJuIGMuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRGF0ZShkKHQpKX0sYy5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/cChxbnQuY2FsbCh0LHdhdCkpOnAoKS5tYXAoUGF0KX0sYy50aWNrcz1mdW5jdGlvbih0LGUpe3ZhciBuLG89cCgpLGk9b1swXSxhPW9bby5sZW5ndGgtMV0scj1hPGk7cmV0dXJuIHImJihuPWksaT1hLGE9biksbj0obj12KHQsaSxhLGUpKT9uLnJhbmdlKGksYSsxKTpbXSxyP24ucmV2ZXJzZSgpOm59LGMudGlja0Zvcm1hdD1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT1lP006bChlKX0sYy5uaWNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49cCgpO3JldHVybih0PXYodCxuWzBdLG5bbi5sZW5ndGgtMV0sZSkpP3AoZm90KG4sdCkpOmN9LGMuY29weT1mdW5jdGlvbigpe3JldHVybiBzb3QoYyxrYXQodCxlLG4sbyxpLGEscixzLGwpKX0sY31mdW5jdGlvbiBTYXQoKXtyZXR1cm4gV250LmFwcGx5KGthdChqb3QsQm90LEhvdCx6b3QsTm90LFRvdCxBb3Qsd290LHRpdCkuZG9tYWluKFtuZXcgRGF0ZSgyZTMsMCwxKSxuZXcgRGF0ZSgyZTMsMCwyKV0pLGFyZ3VtZW50cyl9ZnVuY3Rpb24gRGF0KHQpe2Zvcih2YXIgZT10Lmxlbmd0aC82fDAsbj1uZXcgQXJyYXkoZSksbz0wO288ZTspbltvXT0iIyIrdC5zbGljZSg2Km8sNiorK28pO3JldHVybiBufWZ1bmN0aW9uIFJhdCh0KXtyZXR1cm4gVTkodFt0Lmxlbmd0aC0xXSl9dmFyIEVhdD1SYXQobmV3IEFycmF5KDMpLmNvbmNhdCgiZGVlYmY3OWVjYWUxMzE4MmJkIiwiZWZmM2ZmYmRkN2U3NmJhZWQ2MjE3MWI1IiwiZWZmM2ZmYmRkN2U3NmJhZWQ2MzE4MmJkMDg1MTljIiwiZWZmM2ZmYzZkYmVmOWVjYWUxNmJhZWQ2MzE4MmJkMDg1MTljIiwiZWZmM2ZmYzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0IiwiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0IiwiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg1MTljMDgzMDZiIikubWFwKERhdCkpLEFhdD1SYXQobmV3IEFycmF5KDMpLmNvbmNhdCgiZjBmMGYwYmRiZGJkNjM2MzYzIiwiZjdmN2Y3Y2NjY2NjOTY5Njk2NTI1MjUyIiwiZjdmN2Y3Y2NjY2NjOTY5Njk2NjM2MzYzMjUyNTI1IiwiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NjM2MzYzMjUyNTI1IiwiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1IiwiZmZmZmZmZjBmMGYwZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1IiwiZmZmZmZmZjBmMGYwZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1MDAwMDAwIikubWFwKERhdCkpLFRhdD1SYXQobmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlMGQyZmM5MjcyZGUyZDI2IiwiZmVlNWQ5ZmNhZTkxZmI2YTRhY2IxODFkIiwiZmVlNWQ5ZmNhZTkxZmI2YTRhZGUyZDI2YTUwZjE1IiwiZmVlNWQ5ZmNiYmExZmM5MjcyZmI2YTRhZGUyZDI2YTUwZjE1IiwiZmVlNWQ5ZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkYTUwZjE1NjcwMDBkIikubWFwKERhdCkpO2Z1bmN0aW9uIE5hdCh0KXtyZXR1cm4gZnVuY3Rpb24gZSgpe3JldHVybiB0fX1mdW5jdGlvbiB6YXQodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIElhdCh0KXtyZXR1cm4gbmV3IHphdCh0KX1mdW5jdGlvbiBIYXQodCl7cmV0dXJuIHRbMF19ZnVuY3Rpb24gRmF0KHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIExhdCgpe3ZhciB0PUhhdCxlPUZhdCxuPU5hdCghMCksbz1udWxsLGk9SWF0LGE9bnVsbDtmdW5jdGlvbiByKHIpe3ZhciBzLGwsYyxkPXIubGVuZ3RoLHA9ITE7Zm9yKG51bGw9PW8mJihhPWkoYz1NbnQoKSkpLHM9MDtzPD1kOysrcykhKHM8ZCYmbihsPXJbc10scyxyKSk9PT1wJiYoKHA9IXApP2EubGluZVN0YXJ0KCk6YS5saW5lRW5kKCkpLHAmJmEucG9pbnQoK3QobCxzLHIpLCtlKGwscyxyKSk7aWYoYylyZXR1cm4gYT1udWxsLGMrIiJ8fG51bGx9cmV0dXJuIHIueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOk5hdCgrZSkscik6dH0sci55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TmF0KCt0KSxyKTplfSxyLmRlZmluZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpOYXQoISF0KSxyKTpufSxyLmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPXQsbnVsbCE9byYmKGE9aShvKSkscik6aX0sci5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P289YT1udWxsOmE9aShvPXQpLHIpOm99LHJ9ZnVuY3Rpb24gQmF0KHQsZSxuKXt0Ll9jb250ZXh0LmJlemllckN1cnZlVG8odC5feDErdC5fayoodC5feDItdC5feDApLHQuX3kxK3QuX2sqKHQuX3kyLXQuX3kwKSx0Ll94Mit0Ll9rKih0Ll94MS1lKSx0Ll95Mit0Ll9rKih0Ll95MS1uKSx0Ll94Mix0Ll95Mil9ZnVuY3Rpb24gVmF0KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2s9KDEtZSkvNn1mdW5jdGlvbiBqYXQodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5fYWxwaGE9ZX16YXQucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpeyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjtkZWZhdWx0OnRoaXMuX2NvbnRleHQubGluZVRvKHQsZSl9fX0sVmF0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzpCYXQodGhpcyx0aGlzLl94MSx0aGlzLl95MSl9KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX3gxPXQsdGhpcy5feTE9ZTticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9MztkZWZhdWx0OkJhdCh0aGlzLHQsZSl9dGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX0samF0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9sMDFfYT10aGlzLl9sMTJfYT10aGlzLl9sMjNfYT10aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhPXRoaXMuX2wyM18yYT10aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzp0aGlzLnBvaW50KHRoaXMuX3gyLHRoaXMuX3kyKX0odGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjE9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7aWYodD0rdCxlPStlLHRoaXMuX3BvaW50KXt2YXIgbj10aGlzLl94Mi10LG89dGhpcy5feTItZTt0aGlzLl9sMjNfYT1NYXRoLnNxcnQodGhpcy5fbDIzXzJhPU1hdGgucG93KG4qbitvKm8sdGhpcy5fYWxwaGEpKX1zd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zO2RlZmF1bHQ6IShmdW5jdGlvbiBpKHQsZSxuKXt2YXIgbz10Ll94MSxpPXQuX3kxLGE9dC5feDIscj10Ll95MjtpZih0Ll9sMDFfYT4xZS0xMil7dmFyIHM9Mip0Ll9sMDFfMmErMyp0Ll9sMDFfYSp0Ll9sMTJfYSt0Ll9sMTJfMmEsbD0zKnQuX2wwMV9hKih0Ll9sMDFfYSt0Ll9sMTJfYSk7bz0obypzLXQuX3gwKnQuX2wxMl8yYSt0Ll94Mip0Ll9sMDFfMmEpL2wsaT0oaSpzLXQuX3kwKnQuX2wxMl8yYSt0Ll95Mip0Ll9sMDFfMmEpL2x9aWYodC5fbDIzX2E+MWUtMTIpe3ZhciBjPTIqdC5fbDIzXzJhKzMqdC5fbDIzX2EqdC5fbDEyX2ErdC5fbDEyXzJhLGQ9Myp0Ll9sMjNfYSoodC5fbDIzX2ErdC5fbDEyX2EpO2E9KGEqYyt0Ll94MSp0Ll9sMjNfMmEtZSp0Ll9sMTJfMmEpL2Qscj0ocipjK3QuX3kxKnQuX2wyM18yYS1uKnQuX2wxMl8yYSkvZH10Ll9jb250ZXh0LmJlemllckN1cnZlVG8obyxpLGEscix0Ll94Mix0Ll95Mil9KSh0aGlzLHQsZSl9dGhpcy5fbDAxX2E9dGhpcy5fbDEyX2EsdGhpcy5fbDEyX2E9dGhpcy5fbDIzX2EsdGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYSx0aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhLHRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciBVYXQ9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gZT9uZXcgamF0KHQsZSk6bmV3IFZhdCh0LDApfXJldHVybiBuLmFscGhhPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0sbn0pKC41KTtjb25zdCBXYXQ9MWU0LEdhdD0uMDAxLFlhdD1MbnQoIi4yfmUiKSxxYXQ9TG50KCIuNH5yIiksWmF0PUxudCgiLH4iKTtmdW5jdGlvbiBYYXQodCl7aWYoMD09PXQpcmV0dXJuIjAiO2NvbnN0IGU9TWF0aC5hYnModCk7cmV0dXJuIGU+PVdhdHx8ZTxHYXQ/WWF0KHQpOnFhdCh0KX1jb25zdCBLYXQ9e2Zvcm1hdFRpY2s6WGF0LGZvcm1hdFNob3J0OlhhdCxmb3JtYXRSZWFkYWJsZSh0KXtjb25zdCBlPU1hdGguYWJzKHQpO3JldHVybiBlPj1XYXR8fGU8R2F0P1lhdCh0KTpaYXQodCl9LGZvcm1hdExvbmc6WmF0fSxKYXQ9bmV3IEludGwuTnVtYmVyRm9ybWF0KHZvaWQgMCx7bWF4aW11bUZyYWN0aW9uRGlnaXRzOjN9KTtmdW5jdGlvbiBRYXQodCl7cmV0dXJuIEphdC5mb3JtYXQodCl9Y29uc3QgJGF0PXtmb3JtYXRUaWNrOlFhdCxmb3JtYXRTaG9ydDpRYXQsZm9ybWF0UmVhZGFibGU6UWF0LGZvcm1hdExvbmc6UWF0fSx0cnQ9TG50KCIwLjN+cyIpLGVydD1MbnQoIiwuM35mIik7ZnVuY3Rpb24gbnJ0KHQpe2NvbnN0IGU9TWF0aC5hYnModCk7cmV0dXJuIGU+PVdhdHx8ZTxHYXQ/dHJ0KHQpOmVydCh0KX1jb25zdCBvcnQ9e2Zvcm1hdFRpY2s6bnJ0LGZvcm1hdFNob3J0Om5ydCxmb3JtYXRSZWFkYWJsZTpucnQsZm9ybWF0TG9uZzpucnR9LGlydD0xZTMsYXJ0PTZlNCxycnQ9MzZlNSxzcnQ9ODY0ZTUsbHJ0PTMxNTM2ZTYsY3J0PUxudCgiLjR+Iik7ZnVuY3Rpb24gZHJ0KHQpe2lmKDA9PT10KXJldHVybiIwIjtsZXQgZT1NYXRoLnNpZ24odCk+MD8iIjoiLSI7Y29uc3Qgbj1NYXRoLmFicyh0KTtyZXR1cm4gZSs9bjxpcnQ/YCR7Y3J0KG4pfSBtc2A6bjxhcnQ/YCR7Y3J0KG4vaXJ0KX0gc2VjYDpuPHJydD9gJHtjcnQobi9hcnQpfSBtaW5gOm48c3J0P2Ake2NydChuL3JydCl9IGhyYDpuPGxydD9gJHtjcnQobi9zcnQpfSBkYXlgOmAke2NydChuL2xydCl9IHlyYCxlfWNvbnN0IHBydD17Zm9ybWF0VGljazpkcnQsZm9ybWF0U2hvcnQ6ZHJ0LGZvcm1hdFJlYWRhYmxlOmRydCxmb3JtYXRMb25nOmRydH0sbXJ0PVNhdCgpLnRpY2tGb3JtYXQoKTtsZXQgZnJ0O2NvbnN0IHVydD17Zm9ybWF0VGljazp0PT5tcnQobmV3IERhdGUodCkpLGZvcm1hdFNob3J0OnQ9Pm5ldyBEYXRlKHQpLnRvTG9jYWxlU3RyaW5nKGZydCx7eWVhcjoibnVtZXJpYyIsbW9udGg6InNob3J0IixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIn0pLGZvcm1hdFJlYWRhYmxlOnQ9Pm5ldyBEYXRlKHQpLnRvTG9jYWxlU3RyaW5nKGZydCx7eWVhcjoibnVtZXJpYyIsbW9udGg6InNob3J0IixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIix0aW1lWm9uZU5hbWU6InNob3J0In0pLGZvcm1hdExvbmc6dD0+bmV3IERhdGUodCkudG9Mb2NhbGVTdHJpbmcoZnJ0LHt5ZWFyOiJudW1lcmljIixtb250aDoibG9uZyIsZGF5OiJudW1lcmljIixob3VyOiJudW1lcmljIixtaW51dGU6Im51bWVyaWMiLHNlY29uZDoibnVtZXJpYyIsdGltZVpvbmVOYW1lOiJzaG9ydCIsZnJhY3Rpb25hbFNlY29uZERpZ2l0czozfSl9O2Z1bmN0aW9uIGdydCh0KXtzd2l0Y2godCl7Y2FzZSBuNi5MSU5FQVI6cmV0dXJuIG5ldyBocnQ7Y2FzZSBuNi5MT0cxMDpyZXR1cm4gbmV3IGJydDtjYXNlIG42LlRJTUU6cmV0dXJuIG5ldyB5cnQ7ZGVmYXVsdDp0aHJvdyBuZXcgUmFuZ2VFcnJvcihgU2NhbGVUeXBlICR7dH0gbm90IHN1cHBvcnRlZC5gKX19Y2xhc3MgaHJ0e2NvbnN0cnVjdG9yKCl7dGhpcy5kZWZhdWx0Rm9ybWF0dGVyPUthdH10cmFuc2Zvcm0odCxlLG4pe2NvbnN0W28saV09dCxhPWktbyxbcixzXT1lO3JldHVybiAwPT09YT9yOihzLXIpL2EqKG4tbykrcn1mb3J3YXJkKHQsZSxuKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0odCxlLG4pfXJldmVyc2UodCxlLG4pe3JldHVybiB0aGlzLnRyYW5zZm9ybShlLHQsbil9bmljZURvbWFpbih0KXtsZXRbZSxuXT10O2lmKG48ZSl0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgaW5wdXQ6IG1pbiBpcyBsYXJnZXIgdGhhbiBtYXgiKTtpZihuPT09ZSlyZXR1cm4gMD09PWU/Wy0xLDFdOmU8MD9bMiplLDBdOlswLDIqZV07Y29uc3Qgbz1tb3QoKSxpPS4wNSoobi1lK051bWJlci5FUFNJTE9OKSxbYSxyXT1vLmRvbWFpbihbZS1pLG4raV0pLm5pY2UoKS5kb21haW4oKTtyZXR1cm5bYSxyXX10aWNrcyh0LGUpe3JldHVybiBtb3QoKS5kb21haW4odCkudGlja3MoZSl9aXNTYWZlTnVtYmVyKHQpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUodCl9fWNsYXNzIGJydHtjb25zdHJ1Y3Rvcigpe3RoaXMuZGVmYXVsdEZvcm1hdHRlcj1LYXR9dHJhbnNmb3JtKHQpe3JldHVybiBNYXRoLmxvZzEwKHQ+MD90Ok51bWJlci5NSU5fVkFMVUUpfXVudHJhbnNmb3JtKHQpe3JldHVybiBNYXRoLmV4cCh0L01hdGguTE9HMTBFKX1mb3J3YXJkKHQsZSxuKXtpZihuPD0wKXJldHVybiBlWzBdO2NvbnN0W28saV09dCxbYSxyXT1lLHM9dGhpcy50cmFuc2Zvcm0obyksbD10aGlzLnRyYW5zZm9ybShpKS1zLGM9ci1hO3JldHVybiBuPXRoaXMudHJhbnNmb3JtKG4pLGMvKGwrTnVtYmVyLkVQU0lMT04pKihuLXMpK2F9cmV2ZXJzZSh0LGUsbil7Y29uc3RbbyxpXT10LFthLHJdPWUscz10aGlzLnRyYW5zZm9ybShvKSxsPXRoaXMudHJhbnNmb3JtKGkpO3JldHVybiB0aGlzLnVudHJhbnNmb3JtKChsLXMpLyhyLWErTnVtYmVyLkVQU0lMT04pKihuLWEpK3MpfW5pY2VEb21haW4odCl7Y29uc3RbZSxuXT10O2lmKGU+bil0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgaW5wdXQ6IG1pbiBpcyBsYXJnZXIgdGhhbiBtYXgiKTtjb25zdCBvPU1hdGgubWF4KGUsTnVtYmVyLk1JTl9WQUxVRSksaT1NYXRoLm1heChuLE51bWJlci5NSU5fVkFMVUUpO3JldHVybiBuPD0wP1tOdW1iZXIuTUlOX1ZBTFVFLDFdOltNYXRoLm1heChOdW1iZXIuTUlOX1ZBTFVFLC41Km8pLDIqaV19dGlja3ModCxlKXtjb25zdCBuPXRbMF08PTA/TnVtYmVyLk1JTl9WQUxVRTp0WzBdLG89dFsxXTw9MD9OdW1iZXIuTUlOX1ZBTFVFOnRbMV0saT1Nb3QoKS5kb21haW4oW24sb10pLnRpY2tzKGUpO3JldHVybiBpLmxlbmd0aD9pOnR9aXNTYWZlTnVtYmVyKHQpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUodCkmJnQ+MH19Y2xhc3MgeXJ0e2NvbnN0cnVjdG9yKCl7dGhpcy5zY2FsZT1TYXQoKSx0aGlzLmRlZmF1bHRGb3JtYXR0ZXI9dXJ0fWZvcndhcmQodCxlLG4pe3JldHVybiB0aGlzLnNjYWxlLmRvbWFpbih0KS5yYW5nZShlKShuKX1yZXZlcnNlKHQsZSxuKXtyZXR1cm4gdGhpcy5zY2FsZS5kb21haW4odCkucmFuZ2UoZSkuaW52ZXJ0KG4pLmdldFRpbWUoKX1uaWNlRG9tYWluKHQpe2NvbnN0W2Usbl09dGhpcy5zY2FsZS5kb21haW4odCkubmljZSgpLmRvbWFpbigpO3JldHVybltlLmdldFRpbWUoKSxuLmdldFRpbWUoKV19dGlja3ModCxlKXtyZXR1cm4gdGhpcy5zY2FsZS5kb21haW4odCkudGlja3MoZSkubWFwKCh0PT50LmdldFRpbWUoKSkpfWlzU2FmZU51bWJlcih0KXtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHQpfX1sZXQgX3J0PSExO2lmKHNlbGYuaGFzT3duUHJvcGVydHkoIldlYkdMMlJlbmRlcmluZ0NvbnRleHQiKSYmc2VsZi5oYXNPd25Qcm9wZXJ0eSgiZG9jdW1lbnQiKSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTt0LmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGNyZWF0aW9uZXJyb3IiLCgoKT0+e19ydD0hMX0pKTtjb25zdCBlPXQuZ2V0Q29udGV4dCgid2ViZ2wyIik7X3J0PUJvb2xlYW4oZSl9ZnVuY3Rpb24gQ3J0KCl7cmV0dXJuIHNlbGYuaGFzT3duUHJvcGVydHkoIk9mZnNjcmVlbkNhbnZhcyIpfWZ1bmN0aW9uIE1ydCh0LGUpe2lmKHQubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspaWYodFtuXSE9PWVbbl0pcmV0dXJuITE7cmV0dXJuITB9Y2xhc3MgdnJ0e2NvbnN0cnVjdG9yKCl7dGhpcy54U2NhbGU9Z3J0KG42LkxJTkVBUiksdGhpcy55U2NhbGU9Z3J0KG42LkxJTkVBUiksdGhpcy5kb21Db250YWluZXJSZWN0PXt4OjAsd2lkdGg6MSx5OjAsaGVpZ2h0OjF9LHRoaXMubGFzdFVwZGF0ZWQ9MCx0aGlzLmN1cnJlbnRWaWV3Qm94UmVjdD17eDowLHdpZHRoOjEseTowLGhlaWdodDoxfX1nZXRVcGRhdGVJZGVudGlmaWVyKCl7cmV0dXJuIHRoaXMubGFzdFVwZGF0ZWR9dXBkYXRlSWRlbnRpZmllcigpe3RoaXMubGFzdFVwZGF0ZWQrK31pc1lBeGlzUG9pbnRlZERvd24oKXtyZXR1cm4hMH1zZXRYU2NhbGUodCl7dGhpcy54U2NhbGU9dCx0aGlzLnVwZGF0ZUlkZW50aWZpZXIoKX1zZXRZU2NhbGUodCl7dGhpcy55U2NhbGU9dCx0aGlzLnVwZGF0ZUlkZW50aWZpZXIoKX1nZXRDdXJyZW50Vmlld0JveFJlY3QoKXtyZXR1cm4gdGhpcy5jdXJyZW50Vmlld0JveFJlY3R9c2V0Vmlld0JveFJlY3QodCl7dGhpcy5jdXJyZW50Vmlld0JveFJlY3Q9dCx0aGlzLnVwZGF0ZUlkZW50aWZpZXIoKX1zZXREb21Db250YWluZXJSZWN0KHQpe3RoaXMuZG9tQ29udGFpbmVyUmVjdD10LHRoaXMudXBkYXRlSWRlbnRpZmllcigpfXRyYW5zZm9ybURhdGFUb1VpQ29vcmQodCxlKXtjb25zdCBuPXQsbz0oZnVuY3Rpb24gaSh0KXtyZXR1cm57eDpbdC54LHQueCt0LndpZHRoXSx5Olt0LnksdC55K3QuaGVpZ2h0XX19KSh0aGlzLmN1cnJlbnRWaWV3Qm94UmVjdCk7cmV0dXJuW3RoaXMueFNjYWxlLmZvcndhcmQoby54LFtuLngsbi54K24ud2lkdGhdLGVbMF0pLHRoaXMueVNjYWxlLmZvcndhcmQoby55LHRoaXMuaXNZQXhpc1BvaW50ZWREb3duKCk/W24ueStuLmhlaWdodCxuLnldOltuLnksbi55K24uaGVpZ2h0XSxlWzFdKV19fWZ1bmN0aW9uIHhydCh0LGUsbixvKXtjb25zdHtjb2xvcjppLHZpc2libGU6YSxvcGFjaXR5OnJ9PW87bGV0IHM9dDtyZXR1cm4gc3x8YT8ocz1udWxsIT1zP3M6ZSgpLHM9bihzKSxzLnN0eWxlLmRpc3BsYXk9YT8iIjoibm9uZSIscy5zdHlsZS5zdHJva2U9aSxzLnN0eWxlLm9wYWNpdHk9U3RyaW5nKG51bGwhPXI/cjoxKSxzKTpudWxsfWNsYXNzIE9ydHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN2Zz10fWZsdXNoKCl7fW9uUmVzaXplKHQpe31kZXN0cm95T2JqZWN0KHQpe3RoaXMuc3ZnLnJlbW92ZUNoaWxkKHQuZG9tKX1zZXRVc2VEYXJrTW9kZSh0KXt9Y3JlYXRlUGF0aERTdHJpbmcodCl7aWYoIXQubGVuZ3RoKXJldHVybiIiO2NvbnN0IGU9bmV3IEFycmF5KHQubGVuZ3RoLzIpO2VbMF09YE0ke3RbMF19LCR7dFsxXX1gO2ZvcihsZXQgbj0xO248dC5sZW5ndGgvMjtuKyspZVtuXT1gTCR7dFsyKm5dfSwke3RbMipuKzFdfWA7cmV0dXJuIGUuam9pbigiIil9Y3JlYXRlT3JVcGRhdGVMaW5lT2JqZWN0KHQsZSxuKXtjb25zdCBvPXhydChudWxsPT10P3ZvaWQgMDp0LmRvbSwoKCk9Pntjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJwYXRoIik7dC5zdHlsZS5maWxsPSJub25lIjtjb25zdCBuPXRoaXMuY3JlYXRlUGF0aERTdHJpbmcoZSk7cmV0dXJuIHQuc2V0QXR0cmlidXRlKCJkIixuKSx0aGlzLnN2Zy5hcHBlbmRDaGlsZCh0KSx0fSksKG49PntpZighKG51bGw9PXQ/dm9pZCAwOnQuZGF0YSl8fCFNcnQoZSxudWxsPT10P3ZvaWQgMDp0LmRhdGEpKXtjb25zdCB0PXRoaXMuY3JlYXRlUGF0aERTdHJpbmcoZSk7bi5zZXRBdHRyaWJ1dGUoImQiLHQpfXJldHVybiBufSksbik7cmV0dXJuIG51bGw9PT1vP251bGw6KG8uc3R5bGUuc3Ryb2tlV2lkdGg9U3RyaW5nKG4ud2lkdGgpLHtkb206byxkYXRhOmV9KX1jcmVhdGVPclVwZGF0ZVRyaWFuZ2xlT2JqZWN0KHQsZSxuKXtjb25zdHtzaXplOm8sY29sb3I6aX09bixhPW8qTWF0aC5zcXJ0KDMpLzIscj1uZXcgRmxvYXQzMkFycmF5KFtlLngtby8yLGUueSthLzMsZS54K28vMixlLnkrYS8zLGUueCxlLnktMiphLzNdKSxzPXhydChudWxsPT10P3ZvaWQgMDp0LmRvbSwoKCk9Pntjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJwYXRoIik7dC5jbGFzc0xpc3QuYWRkKCJ0cmlhbmdsZSIpLHQuc3R5bGUuZmlsbD0ibm9uZSI7Y29uc3QgZT10aGlzLmNyZWF0ZVBhdGhEU3RyaW5nKHIpO3JldHVybiB0LnNldEF0dHJpYnV0ZSgiZCIsZSsiWiIpLHRoaXMuc3ZnLmFwcGVuZENoaWxkKHQpLHR9KSwodD0+e2NvbnN0IGU9dGhpcy5jcmVhdGVQYXRoRFN0cmluZyhyKTtyZXR1cm4gdC5zZXRBdHRyaWJ1dGUoImQiLGUrIloiKSx0fSksbik7cmV0dXJuIG51bGw9PT1zP251bGw6KHMuc3R5bGUuZmlsbD1pLHtkb206cyxkYXRhOnJ9KX1jcmVhdGVPclVwZGF0ZUNpcmNsZU9iamVjdCh0LGUsbil7Y29uc3R7Y29sb3I6byxyYWRpdXM6aX09bixhPXhydChudWxsPT10P3ZvaWQgMDp0LmRvbSwoKCk9Pntjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJjaXJjbGUiKTtyZXR1cm4gdC5zdHlsZS5maWxsPW8sdC5zZXRBdHRyaWJ1dGUoImN4IixTdHJpbmcoZS54KSksdC5zZXRBdHRyaWJ1dGUoImN5IixTdHJpbmcoZS55KSksdC5zZXRBdHRyaWJ1dGUoInIiLFN0cmluZyhpKSksdGhpcy5zdmcuYXBwZW5kQ2hpbGQodCksdH0pLCh0PT4odC5zdHlsZS5maWxsPW8sdC5zZXRBdHRyaWJ1dGUoImN4IixTdHJpbmcoZS54KSksdC5zZXRBdHRyaWJ1dGUoImN5IixTdHJpbmcoZS55KSksdC5zZXRBdHRyaWJ1dGUoInIiLFN0cmluZyhpKSksdCkpLG4pO3JldHVybiBudWxsPT09YT9udWxsOntkb206YSxkYXRhOmV9fWNyZWF0ZU9yVXBkYXRlVHJhcGV6b2lkT2JqZWN0KHQsZSxuLG8pe2lmKGUueSE9PW4ueSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5wdXQgZXJyb3I6IHN0YXJ0LnkgIT0gZW5kLnkuIik7Y29uc3R7YWx0aXR1ZGU6aSxjb2xvcjphfT1vLHI9Mi9NYXRoLnNxcnQoMykqaSxzPW5ldyBGbG9hdDMyQXJyYXkoW2UueC1yLzIsZS55K2kvMixlLngsZS55LWkvMixuLngsbi55LWkvMixuLngrci8yLG4ueStpLzJdKSxsPXhydChudWxsPT10P3ZvaWQgMDp0LmRvbSwoKCk9Pntjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJwYXRoIik7dC5jbGFzc0xpc3QuYWRkKCJ0cmFwZXpvaWQiKSx0LnN0eWxlLmZpbGw9Im5vbmUiO2NvbnN0IGU9dGhpcy5jcmVhdGVQYXRoRFN0cmluZyhzKTtyZXR1cm4gdC5zZXRBdHRyaWJ1dGUoImQiLGUrIloiKSx0aGlzLnN2Zy5hcHBlbmRDaGlsZCh0KSx0fSksKHQ9Pntjb25zdCBlPXRoaXMuY3JlYXRlUGF0aERTdHJpbmcocyk7cmV0dXJuIHQuc2V0QXR0cmlidXRlKCJkIixlKyJaIiksdH0pLG8pO3JldHVybiBudWxsPT09bD9udWxsOihsLnN0eWxlLmZpbGw9YSx7ZG9tOmwsZGF0YTpzfSl9ZGlzcG9zZSgpe319Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAyMDEwLTIwMjEgVGhyZWUuanMgQXV0aG9ycwogICAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAogICAgICovY29uc3QgUHJ0PTEwMCx3cnQ9MzAxLGtydD0zMDIsU3J0PTMwNixEcnQ9MWUzLFJydD0xMDAxLEVydD0xMDAyLEFydD0xMDAzLFRydD0xMDA2LE5ydD0xMDA4LHpydD0xMDA5LElydD0xMDEyLEhydD0xMDE0LEZydD0xMDE1LExydD0xMDE2LEJydD0xMDIwLFZydD0xMDIyLGpydD0xMDIzLFVydD0xMDI2LFdydD0xMDI3LEdydD0yMzAwLFlydD0yMzAxLHFydD0yMzAyLFpydD0yNDAwLFhydD0yNDAxLEtydD0yNDAyLEpydD0yNTAwLFFydD0zZTMsJHJ0PTMwMDEsdHN0PTMwMDcsZXN0PTMwMDIsbnN0PTc2ODAsb3N0PTM1MDQ0LGlzdD0zNTA0OCxhc3Q9IjMwMCBlcyI7Y2xhc3MgcnN0e2FkZEV2ZW50TGlzdGVuZXIodCxlKXt2b2lkIDA9PT10aGlzLl9saXN0ZW5lcnMmJih0aGlzLl9saXN0ZW5lcnM9e30pO2NvbnN0IG49dGhpcy5fbGlzdGVuZXJzO3ZvaWQgMD09PW5bdF0mJihuW3RdPVtdKSwtMT09PW5bdF0uaW5kZXhPZihlKSYmblt0XS5wdXNoKGUpfWhhc0V2ZW50TGlzdGVuZXIodCxlKXtpZih2b2lkIDA9PT10aGlzLl9saXN0ZW5lcnMpcmV0dXJuITE7Y29uc3Qgbj10aGlzLl9saXN0ZW5lcnM7cmV0dXJuIHZvaWQgMCE9PW5bdF0mJi0xIT09blt0XS5pbmRleE9mKGUpfXJlbW92ZUV2ZW50TGlzdGVuZXIodCxlKXtpZih2b2lkIDA9PT10aGlzLl9saXN0ZW5lcnMpcmV0dXJuO2NvbnN0IG49dGhpcy5fbGlzdGVuZXJzW3RdO2lmKHZvaWQgMCE9PW4pe2NvbnN0IHQ9bi5pbmRleE9mKGUpOy0xIT09dCYmbi5zcGxpY2UodCwxKX19ZGlzcGF0Y2hFdmVudCh0KXtpZih2b2lkIDA9PT10aGlzLl9saXN0ZW5lcnMpcmV0dXJuO2NvbnN0IGU9dGhpcy5fbGlzdGVuZXJzW3QudHlwZV07aWYodm9pZCAwIT09ZSl7dC50YXJnZXQ9dGhpcztjb25zdCBuPWUuc2xpY2UoMCk7Zm9yKGxldCBlPTAsbz1uLmxlbmd0aDtlPG87ZSsrKW5bZV0uY2FsbCh0aGlzLHQpO3QudGFyZ2V0PW51bGx9fX1jb25zdCBzc3Q9W107Zm9yKGxldCB0PTA7dDwyNTY7dCsrKXNzdFt0XT0odDwxNj8iMCI6IiIpK3QudG9TdHJpbmcoMTYpO2NvbnN0IGxzdD1NYXRoLlBJLzE4MCxjc3Q9MTgwL01hdGguUEk7ZnVuY3Rpb24gZHN0KCl7Y29uc3QgdD00Mjk0OTY3Mjk1Kk1hdGgucmFuZG9tKCl8MCxlPTQyOTQ5NjcyOTUqTWF0aC5yYW5kb20oKXwwLG49NDI5NDk2NzI5NSpNYXRoLnJhbmRvbSgpfDAsbz00Mjk0OTY3Mjk1Kk1hdGgucmFuZG9tKCl8MDtyZXR1cm4oc3N0WzI1NSZ0XStzc3RbdD4+OCYyNTVdK3NzdFt0Pj4xNiYyNTVdK3NzdFt0Pj4yNCYyNTVdKyItIitzc3RbMjU1JmVdK3NzdFtlPj44JjI1NV0rIi0iK3NzdFtlPj4xNiYxNXw2NF0rc3N0W2U+PjI0JjI1NV0rIi0iK3NzdFs2MyZufDEyOF0rc3N0W24+PjgmMjU1XSsiLSIrc3N0W24+PjE2JjI1NV0rc3N0W24+PjI0JjI1NV0rc3N0WzI1NSZvXStzc3Rbbz4+OCYyNTVdK3NzdFtvPj4xNiYyNTVdK3NzdFtvPj4yNCYyNTVdKS50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIHBzdCh0LGUsbil7cmV0dXJuIE1hdGgubWF4KGUsTWF0aC5taW4obix0KSl9ZnVuY3Rpb24gbXN0KHQsZSxuKXtyZXR1cm4oMS1uKSp0K24qZX1mdW5jdGlvbiBmc3QodCl7cmV0dXJuIDA9PSh0JnQtMSkmJjAhPT10fWZ1bmN0aW9uIHVzdCh0KXtyZXR1cm4gTWF0aC5wb3coMixNYXRoLmZsb29yKE1hdGgubG9nKHQpL01hdGguTE4yKSl9Y2xhc3MgZ3N0e2NvbnN0cnVjdG9yKHQ9MCxlPTApe3RoaXMueD10LHRoaXMueT1lfWdldCB3aWR0aCgpe3JldHVybiB0aGlzLnh9c2V0IHdpZHRoKHQpe3RoaXMueD10fWdldCBoZWlnaHQoKXtyZXR1cm4gdGhpcy55fXNldCBoZWlnaHQodCl7dGhpcy55PXR9c2V0KHQsZSl7cmV0dXJuIHRoaXMueD10LHRoaXMueT1lLHRoaXN9c2V0U2NhbGFyKHQpe3JldHVybiB0aGlzLng9dCx0aGlzLnk9dCx0aGlzfXNldFgodCl7cmV0dXJuIHRoaXMueD10LHRoaXN9c2V0WSh0KXtyZXR1cm4gdGhpcy55PXQsdGhpc31zZXRDb21wb25lbnQodCxlKXtzd2l0Y2godCl7Y2FzZSAwOnRoaXMueD1lO2JyZWFrO2Nhc2UgMTp0aGlzLnk9ZTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW5kZXggaXMgb3V0IG9mIHJhbmdlOiAiK3QpfXJldHVybiB0aGlzfWdldENvbXBvbmVudCh0KXtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB0aGlzLng7Y2FzZSAxOnJldHVybiB0aGlzLnk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIit0KX19Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy54LHRoaXMueSl9Y29weSh0KXtyZXR1cm4gdGhpcy54PXQueCx0aGlzLnk9dC55LHRoaXN9YWRkKHQsZSl7cmV0dXJuIHZvaWQgMCE9PWU/KGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLmFkZCgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLmFkZFZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuYWRkVmVjdG9ycyh0LGUpKToodGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcyl9YWRkU2NhbGFyKHQpe3JldHVybiB0aGlzLngrPXQsdGhpcy55Kz10LHRoaXN9YWRkVmVjdG9ycyh0LGUpe3JldHVybiB0aGlzLng9dC54K2UueCx0aGlzLnk9dC55K2UueSx0aGlzfWFkZFNjYWxlZFZlY3Rvcih0LGUpe3JldHVybiB0aGlzLngrPXQueCplLHRoaXMueSs9dC55KmUsdGhpc31zdWIodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiAuc3ViKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuc3ViVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5zdWJWZWN0b3JzKHQsZSkpOih0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzKX1zdWJTY2FsYXIodCl7cmV0dXJuIHRoaXMueC09dCx0aGlzLnktPXQsdGhpc31zdWJWZWN0b3JzKHQsZSl7cmV0dXJuIHRoaXMueD10LngtZS54LHRoaXMueT10LnktZS55LHRoaXN9bXVsdGlwbHkodCl7cmV0dXJuIHRoaXMueCo9dC54LHRoaXMueSo9dC55LHRoaXN9bXVsdGlwbHlTY2FsYXIodCl7cmV0dXJuIHRoaXMueCo9dCx0aGlzLnkqPXQsdGhpc31kaXZpZGUodCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXN9ZGl2aWRlU2NhbGFyKHQpe3JldHVybiB0aGlzLm11bHRpcGx5U2NhbGFyKDEvdCl9YXBwbHlNYXRyaXgzKHQpe2NvbnN0IGU9dGhpcy54LG49dGhpcy55LG89dC5lbGVtZW50cztyZXR1cm4gdGhpcy54PW9bMF0qZStvWzNdKm4rb1s2XSx0aGlzLnk9b1sxXSplK29bNF0qbitvWzddLHRoaXN9bWluKHQpe3JldHVybiB0aGlzLng9TWF0aC5taW4odGhpcy54LHQueCksdGhpcy55PU1hdGgubWluKHRoaXMueSx0LnkpLHRoaXN9bWF4KHQpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodGhpcy54LHQueCksdGhpcy55PU1hdGgubWF4KHRoaXMueSx0LnkpLHRoaXN9Y2xhbXAodCxlKXtyZXR1cm4gdGhpcy54PU1hdGgubWF4KHQueCxNYXRoLm1pbihlLngsdGhpcy54KSksdGhpcy55PU1hdGgubWF4KHQueSxNYXRoLm1pbihlLnksdGhpcy55KSksdGhpc31jbGFtcFNjYWxhcih0LGUpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodCxNYXRoLm1pbihlLHRoaXMueCkpLHRoaXMueT1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy55KSksdGhpc31jbGFtcExlbmd0aCh0LGUpe2NvbnN0IG49dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIobnx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgodCxNYXRoLm1pbihlLG4pKSl9Zmxvb3IoKXtyZXR1cm4gdGhpcy54PU1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpLHRoaXN9Y2VpbCgpe3JldHVybiB0aGlzLng9TWF0aC5jZWlsKHRoaXMueCksdGhpcy55PU1hdGguY2VpbCh0aGlzLnkpLHRoaXN9cm91bmQoKXtyZXR1cm4gdGhpcy54PU1hdGgucm91bmQodGhpcy54KSx0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpLHRoaXN9cm91bmRUb1plcm8oKXtyZXR1cm4gdGhpcy54PXRoaXMueDwwP01hdGguY2VpbCh0aGlzLngpOk1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9dGhpcy55PDA/TWF0aC5jZWlsKHRoaXMueSk6TWF0aC5mbG9vcih0aGlzLnkpLHRoaXN9bmVnYXRlKCl7cmV0dXJuIHRoaXMueD0tdGhpcy54LHRoaXMueT0tdGhpcy55LHRoaXN9ZG90KHQpe3JldHVybiB0aGlzLngqdC54K3RoaXMueSp0Lnl9Y3Jvc3ModCl7cmV0dXJuIHRoaXMueCp0LnktdGhpcy55KnQueH1sZW5ndGhTcSgpe3JldHVybiB0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnl9bGVuZ3RoKCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnkpfW1hbmhhdHRhbkxlbmd0aCgpe3JldHVybiBNYXRoLmFicyh0aGlzLngpK01hdGguYWJzKHRoaXMueSl9bm9ybWFsaXplKCl7cmV0dXJuIHRoaXMuZGl2aWRlU2NhbGFyKHRoaXMubGVuZ3RoKCl8fDEpfWFuZ2xlKCl7cmV0dXJuIE1hdGguYXRhbjIoLXRoaXMueSwtdGhpcy54KStNYXRoLlBJfWRpc3RhbmNlVG8odCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKHQpKX1kaXN0YW5jZVRvU3F1YXJlZCh0KXtjb25zdCBlPXRoaXMueC10Lngsbj10aGlzLnktdC55O3JldHVybiBlKmUrbipufW1hbmhhdHRhbkRpc3RhbmNlVG8odCl7cmV0dXJuIE1hdGguYWJzKHRoaXMueC10LngpK01hdGguYWJzKHRoaXMueS10LnkpfXNldExlbmd0aCh0KXtyZXR1cm4gdGhpcy5ub3JtYWxpemUoKS5tdWx0aXBseVNjYWxhcih0KX1sZXJwKHQsZSl7cmV0dXJuIHRoaXMueCs9KHQueC10aGlzLngpKmUsdGhpcy55Kz0odC55LXRoaXMueSkqZSx0aGlzfWxlcnBWZWN0b3JzKHQsZSxuKXtyZXR1cm4gdGhpcy54PXQueCsoZS54LXQueCkqbix0aGlzLnk9dC55KyhlLnktdC55KSpuLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lng9PT10aGlzLngmJnQueT09PXRoaXMueX1mcm9tQXJyYXkodCxlPTApe3JldHVybiB0aGlzLng9dFtlXSx0aGlzLnk9dFtlKzFdLHRoaXN9dG9BcnJheSh0PVtdLGU9MCl7cmV0dXJuIHRbZV09dGhpcy54LHRbZSsxXT10aGlzLnksdH1mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSxuKXtyZXR1cm4gdm9pZCAwIT09biYmY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiBvZmZzZXQgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIC5mcm9tQnVmZmVyQXR0cmlidXRlKCkuIiksdGhpcy54PXQuZ2V0WChlKSx0aGlzLnk9dC5nZXRZKGUpLHRoaXN9cm90YXRlQXJvdW5kKHQsZSl7Y29uc3Qgbj1NYXRoLmNvcyhlKSxvPU1hdGguc2luKGUpLGk9dGhpcy54LXQueCxhPXRoaXMueS10Lnk7cmV0dXJuIHRoaXMueD1pKm4tYSpvK3QueCx0aGlzLnk9aSpvK2Eqbit0LnksdGhpc31yYW5kb20oKXtyZXR1cm4gdGhpcy54PU1hdGgucmFuZG9tKCksdGhpcy55PU1hdGgucmFuZG9tKCksdGhpc319Z3N0LnByb3RvdHlwZS5pc1ZlY3RvcjI9ITA7Y2xhc3MgaHN0e2NvbnN0cnVjdG9yKCl7dGhpcy5lbGVtZW50cz1bMSwwLDAsMCwxLDAsMCwwLDFdLGFyZ3VtZW50cy5sZW5ndGg+MCYmY29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4MzogdGhlIGNvbnN0cnVjdG9yIG5vIGxvbmdlciByZWFkcyBhcmd1bWVudHMuIHVzZSAuc2V0KCkgaW5zdGVhZC4iKX1zZXQodCxlLG4sbyxpLGEscixzLGwpe2NvbnN0IGM9dGhpcy5lbGVtZW50cztyZXR1cm4gY1swXT10LGNbMV09byxjWzJdPXIsY1szXT1lLGNbNF09aSxjWzVdPXMsY1s2XT1uLGNbN109YSxjWzhdPWwsdGhpc31pZGVudGl0eSgpe3JldHVybiB0aGlzLnNldCgxLDAsMCwwLDEsMCwwLDAsMSksdGhpc31jb3B5KHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50cyxuPXQuZWxlbWVudHM7cmV0dXJuIGVbMF09blswXSxlWzFdPW5bMV0sZVsyXT1uWzJdLGVbM109blszXSxlWzRdPW5bNF0sZVs1XT1uWzVdLGVbNl09bls2XSxlWzddPW5bN10sZVs4XT1uWzhdLHRoaXN9ZXh0cmFjdEJhc2lzKHQsZSxuKXtyZXR1cm4gdC5zZXRGcm9tTWF0cml4M0NvbHVtbih0aGlzLDApLGUuc2V0RnJvbU1hdHJpeDNDb2x1bW4odGhpcywxKSxuLnNldEZyb21NYXRyaXgzQ29sdW1uKHRoaXMsMiksdGhpc31zZXRGcm9tTWF0cml4NCh0KXtjb25zdCBlPXQuZWxlbWVudHM7cmV0dXJuIHRoaXMuc2V0KGVbMF0sZVs0XSxlWzhdLGVbMV0sZVs1XSxlWzldLGVbMl0sZVs2XSxlWzEwXSksdGhpc31tdWx0aXBseSh0KXtyZXR1cm4gdGhpcy5tdWx0aXBseU1hdHJpY2VzKHRoaXMsdCl9cHJlbXVsdGlwbHkodCl7cmV0dXJuIHRoaXMubXVsdGlwbHlNYXRyaWNlcyh0LHRoaXMpfW11bHRpcGx5TWF0cmljZXModCxlKXtjb25zdCBuPXQuZWxlbWVudHMsbz1lLmVsZW1lbnRzLGk9dGhpcy5lbGVtZW50cyxhPW5bMF0scj1uWzNdLHM9bls2XSxsPW5bMV0sYz1uWzRdLGQ9bls3XSxwPW5bMl0sbT1uWzVdLGY9bls4XSx1PW9bMF0sZz1vWzNdLGg9b1s2XSxiPW9bMV0seT1vWzRdLF89b1s3XSxDPW9bMl0sTT1vWzVdLHY9b1s4XTtyZXR1cm4gaVswXT1hKnUrcipiK3MqQyxpWzNdPWEqZytyKnkrcypNLGlbNl09YSpoK3IqXytzKnYsaVsxXT1sKnUrYypiK2QqQyxpWzRdPWwqZytjKnkrZCpNLGlbN109bCpoK2MqXytkKnYsaVsyXT1wKnUrbSpiK2YqQyxpWzVdPXAqZyttKnkrZipNLGlbOF09cCpoK20qXytmKnYsdGhpc31tdWx0aXBseVNjYWxhcih0KXtjb25zdCBlPXRoaXMuZWxlbWVudHM7cmV0dXJuIGVbMF0qPXQsZVszXSo9dCxlWzZdKj10LGVbMV0qPXQsZVs0XSo9dCxlWzddKj10LGVbMl0qPXQsZVs1XSo9dCxlWzhdKj10LHRoaXN9ZGV0ZXJtaW5hbnQoKXtjb25zdCB0PXRoaXMuZWxlbWVudHMsZT10WzBdLG49dFsxXSxvPXRbMl0saT10WzNdLGE9dFs0XSxyPXRbNV0scz10WzZdLGw9dFs3XSxjPXRbOF07cmV0dXJuIGUqYSpjLWUqcipsLW4qaSpjK24qcipzK28qaSpsLW8qYSpzfWludmVydCgpe2NvbnN0IHQ9dGhpcy5lbGVtZW50cyxlPXRbMF0sbj10WzFdLG89dFsyXSxpPXRbM10sYT10WzRdLHI9dFs1XSxzPXRbNl0sbD10WzddLGM9dFs4XSxkPWMqYS1yKmwscD1yKnMtYyppLG09bCppLWEqcyxmPWUqZCtuKnArbyptO2lmKDA9PT1mKXJldHVybiB0aGlzLnNldCgwLDAsMCwwLDAsMCwwLDAsMCk7Y29uc3QgdT0xL2Y7cmV0dXJuIHRbMF09ZCp1LHRbMV09KG8qbC1jKm4pKnUsdFsyXT0ocipuLW8qYSkqdSx0WzNdPXAqdSx0WzRdPShjKmUtbypzKSp1LHRbNV09KG8qaS1yKmUpKnUsdFs2XT1tKnUsdFs3XT0obipzLWwqZSkqdSx0WzhdPShhKmUtbippKSp1LHRoaXN9dHJhbnNwb3NlKCl7bGV0IHQ7Y29uc3QgZT10aGlzLmVsZW1lbnRzO3JldHVybiB0PWVbMV0sZVsxXT1lWzNdLGVbM109dCx0PWVbMl0sZVsyXT1lWzZdLGVbNl09dCx0PWVbNV0sZVs1XT1lWzddLGVbN109dCx0aGlzfWdldE5vcm1hbE1hdHJpeCh0KXtyZXR1cm4gdGhpcy5zZXRGcm9tTWF0cml4NCh0KS5pbnZlcnQoKS50cmFuc3Bvc2UoKX10cmFuc3Bvc2VJbnRvQXJyYXkodCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzO3JldHVybiB0WzBdPWVbMF0sdFsxXT1lWzNdLHRbMl09ZVs2XSx0WzNdPWVbMV0sdFs0XT1lWzRdLHRbNV09ZVs3XSx0WzZdPWVbMl0sdFs3XT1lWzVdLHRbOF09ZVs4XSx0aGlzfXNldFV2VHJhbnNmb3JtKHQsZSxuLG8saSxhLHIpe2NvbnN0IHM9TWF0aC5jb3MoaSksbD1NYXRoLnNpbihpKTtyZXR1cm4gdGhpcy5zZXQobipzLG4qbCwtbioocyphK2wqcikrYSt0LC1vKmwsbypzLC1vKigtbCphK3MqcikrcitlLDAsMCwxKSx0aGlzfXNjYWxlKHQsZSl7Y29uc3Qgbj10aGlzLmVsZW1lbnRzO3JldHVybiBuWzBdKj10LG5bM10qPXQsbls2XSo9dCxuWzFdKj1lLG5bNF0qPWUsbls3XSo9ZSx0aGlzfXJvdGF0ZSh0KXtjb25zdCBlPU1hdGguY29zKHQpLG49TWF0aC5zaW4odCksbz10aGlzLmVsZW1lbnRzLGk9b1swXSxhPW9bM10scj1vWzZdLHM9b1sxXSxsPW9bNF0sYz1vWzddO3JldHVybiBvWzBdPWUqaStuKnMsb1szXT1lKmErbipsLG9bNl09ZSpyK24qYyxvWzFdPS1uKmkrZSpzLG9bNF09LW4qYStlKmwsb1s3XT0tbipyK2UqYyx0aGlzfXRyYW5zbGF0ZSh0LGUpe2NvbnN0IG49dGhpcy5lbGVtZW50cztyZXR1cm4gblswXSs9dCpuWzJdLG5bM10rPXQqbls1XSxuWzZdKz10Km5bOF0sblsxXSs9ZSpuWzJdLG5bNF0rPWUqbls1XSxuWzddKz1lKm5bOF0sdGhpc31lcXVhbHModCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC5lbGVtZW50cztmb3IobGV0IHQ9MDt0PDk7dCsrKWlmKGVbdF0hPT1uW3RdKXJldHVybiExO3JldHVybiEwfWZyb21BcnJheSh0LGU9MCl7Zm9yKGxldCBuPTA7bjw5O24rKyl0aGlzLmVsZW1lbnRzW25dPXRbbitlXTtyZXR1cm4gdGhpc310b0FycmF5KHQ9W10sZT0wKXtjb25zdCBuPXRoaXMuZWxlbWVudHM7cmV0dXJuIHRbZV09blswXSx0W2UrMV09blsxXSx0W2UrMl09blsyXSx0W2UrM109blszXSx0W2UrNF09bls0XSx0W2UrNV09bls1XSx0W2UrNl09bls2XSx0W2UrN109bls3XSx0W2UrOF09bls4XSx0fWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5mcm9tQXJyYXkodGhpcy5lbGVtZW50cyl9fWxldCBic3Q7aHN0LnByb3RvdHlwZS5pc01hdHJpeDM9ITA7Y2xhc3MgeXN0e3N0YXRpYyBnZXREYXRhVVJMKHQpe2lmKC9eZGF0YTovaS50ZXN0KHQuc3JjKSlyZXR1cm4gdC5zcmM7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBIVE1MQ2FudmFzRWxlbWVudClyZXR1cm4gdC5zcmM7bGV0IGU7aWYodCBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50KWU9dDtlbHNle3ZvaWQgMD09PWJzdCYmKGJzdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKSksYnN0LndpZHRoPXQud2lkdGgsYnN0LmhlaWdodD10LmhlaWdodDtjb25zdCBuPWJzdC5nZXRDb250ZXh0KCIyZCIpO3QgaW5zdGFuY2VvZiBJbWFnZURhdGE/bi5wdXRJbWFnZURhdGEodCwwLDApOm4uZHJhd0ltYWdlKHQsMCwwLHQud2lkdGgsdC5oZWlnaHQpLGU9YnN0fXJldHVybiBlLndpZHRoPjIwNDh8fGUuaGVpZ2h0PjIwNDg/KGNvbnNvbGUud2FybigiVEhSRUUuSW1hZ2VVdGlscy5nZXREYXRhVVJMOiBJbWFnZSBjb252ZXJ0ZWQgdG8ganBnIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIix0KSxlLnRvRGF0YVVSTCgiaW1hZ2UvanBlZyIsLjYpKTplLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIil9fWxldCBfc3Q9MDtjbGFzcyBDc3QgZXh0ZW5kcyByc3R7Y29uc3RydWN0b3IodD1Dc3QuREVGQVVMVF9JTUFHRSxlPUNzdC5ERUZBVUxUX01BUFBJTkcsbj0xMDAxLG89MTAwMSxpPTEwMDYsYT0xMDA4LHI9MTAyMyxzPTEwMDksbD0xLGM9M2UzKXtzdXBlcigpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOl9zdCsrfSksdGhpcy51dWlkPWRzdCgpLHRoaXMubmFtZT0iIix0aGlzLmltYWdlPXQsdGhpcy5taXBtYXBzPVtdLHRoaXMubWFwcGluZz1lLHRoaXMud3JhcFM9bix0aGlzLndyYXBUPW8sdGhpcy5tYWdGaWx0ZXI9aSx0aGlzLm1pbkZpbHRlcj1hLHRoaXMuYW5pc290cm9weT1sLHRoaXMuZm9ybWF0PXIsdGhpcy5pbnRlcm5hbEZvcm1hdD1udWxsLHRoaXMudHlwZT1zLHRoaXMub2Zmc2V0PW5ldyBnc3QoMCwwKSx0aGlzLnJlcGVhdD1uZXcgZ3N0KDEsMSksdGhpcy5jZW50ZXI9bmV3IGdzdCgwLDApLHRoaXMucm90YXRpb249MCx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITAsdGhpcy5tYXRyaXg9bmV3IGhzdCx0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMCx0aGlzLnByZW11bHRpcGx5QWxwaGE9ITEsdGhpcy5mbGlwWT0hMCx0aGlzLnVucGFja0FsaWdubWVudD00LHRoaXMuZW5jb2Rpbmc9Yyx0aGlzLnZlcnNpb249MCx0aGlzLm9uVXBkYXRlPW51bGwsdGhpcy5pc1JlbmRlclRhcmdldFRleHR1cmU9ITF9dXBkYXRlTWF0cml4KCl7dGhpcy5tYXRyaXguc2V0VXZUcmFuc2Zvcm0odGhpcy5vZmZzZXQueCx0aGlzLm9mZnNldC55LHRoaXMucmVwZWF0LngsdGhpcy5yZXBlYXQueSx0aGlzLnJvdGF0aW9uLHRoaXMuY2VudGVyLngsdGhpcy5jZW50ZXIueSl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXtyZXR1cm4gdGhpcy5uYW1lPXQubmFtZSx0aGlzLmltYWdlPXQuaW1hZ2UsdGhpcy5taXBtYXBzPXQubWlwbWFwcy5zbGljZSgwKSx0aGlzLm1hcHBpbmc9dC5tYXBwaW5nLHRoaXMud3JhcFM9dC53cmFwUyx0aGlzLndyYXBUPXQud3JhcFQsdGhpcy5tYWdGaWx0ZXI9dC5tYWdGaWx0ZXIsdGhpcy5taW5GaWx0ZXI9dC5taW5GaWx0ZXIsdGhpcy5hbmlzb3Ryb3B5PXQuYW5pc290cm9weSx0aGlzLmZvcm1hdD10LmZvcm1hdCx0aGlzLmludGVybmFsRm9ybWF0PXQuaW50ZXJuYWxGb3JtYXQsdGhpcy50eXBlPXQudHlwZSx0aGlzLm9mZnNldC5jb3B5KHQub2Zmc2V0KSx0aGlzLnJlcGVhdC5jb3B5KHQucmVwZWF0KSx0aGlzLmNlbnRlci5jb3B5KHQuY2VudGVyKSx0aGlzLnJvdGF0aW9uPXQucm90YXRpb24sdGhpcy5tYXRyaXhBdXRvVXBkYXRlPXQubWF0cml4QXV0b1VwZGF0ZSx0aGlzLm1hdHJpeC5jb3B5KHQubWF0cml4KSx0aGlzLmdlbmVyYXRlTWlwbWFwcz10LmdlbmVyYXRlTWlwbWFwcyx0aGlzLnByZW11bHRpcGx5QWxwaGE9dC5wcmVtdWx0aXBseUFscGhhLHRoaXMuZmxpcFk9dC5mbGlwWSx0aGlzLnVucGFja0FsaWdubWVudD10LnVucGFja0FsaWdubWVudCx0aGlzLmVuY29kaW5nPXQuZW5jb2RpbmcsdGhpc310b0pTT04odCl7Y29uc3QgZT12b2lkIDA9PT10fHwic3RyaW5nIj09dHlwZW9mIHQ7aWYoIWUmJnZvaWQgMCE9PXQudGV4dHVyZXNbdGhpcy51dWlkXSlyZXR1cm4gdC50ZXh0dXJlc1t0aGlzLnV1aWRdO2NvbnN0IG49e21ldGFkYXRhOnt2ZXJzaW9uOjQuNSx0eXBlOiJUZXh0dXJlIixnZW5lcmF0b3I6IlRleHR1cmUudG9KU09OIn0sdXVpZDp0aGlzLnV1aWQsbmFtZTp0aGlzLm5hbWUsbWFwcGluZzp0aGlzLm1hcHBpbmcscmVwZWF0Olt0aGlzLnJlcGVhdC54LHRoaXMucmVwZWF0LnldLG9mZnNldDpbdGhpcy5vZmZzZXQueCx0aGlzLm9mZnNldC55XSxjZW50ZXI6W3RoaXMuY2VudGVyLngsdGhpcy5jZW50ZXIueV0scm90YXRpb246dGhpcy5yb3RhdGlvbix3cmFwOlt0aGlzLndyYXBTLHRoaXMud3JhcFRdLGZvcm1hdDp0aGlzLmZvcm1hdCx0eXBlOnRoaXMudHlwZSxlbmNvZGluZzp0aGlzLmVuY29kaW5nLG1pbkZpbHRlcjp0aGlzLm1pbkZpbHRlcixtYWdGaWx0ZXI6dGhpcy5tYWdGaWx0ZXIsYW5pc290cm9weTp0aGlzLmFuaXNvdHJvcHksZmxpcFk6dGhpcy5mbGlwWSxwcmVtdWx0aXBseUFscGhhOnRoaXMucHJlbXVsdGlwbHlBbHBoYSx1bnBhY2tBbGlnbm1lbnQ6dGhpcy51bnBhY2tBbGlnbm1lbnR9O2lmKHZvaWQgMCE9PXRoaXMuaW1hZ2Upe2NvbnN0IG89dGhpcy5pbWFnZTtpZih2b2lkIDA9PT1vLnV1aWQmJihvLnV1aWQ9ZHN0KCkpLCFlJiZ2b2lkIDA9PT10LmltYWdlc1tvLnV1aWRdKXtsZXQgZTtpZihBcnJheS5pc0FycmF5KG8pKXtlPVtdO2ZvcihsZXQgdD0wLG49by5sZW5ndGg7dDxuO3QrKyllLnB1c2goTXN0KG9bdF0uaXNEYXRhVGV4dHVyZT9vW3RdLmltYWdlOm9bdF0pKX1lbHNlIGU9TXN0KG8pO3QuaW1hZ2VzW28udXVpZF09e3V1aWQ6by51dWlkLHVybDplfX1uLmltYWdlPW8udXVpZH1yZXR1cm4gZXx8KHQudGV4dHVyZXNbdGhpcy51dWlkXT1uKSxufWRpc3Bvc2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9dHJhbnNmb3JtVXYodCl7aWYoMzAwIT09dGhpcy5tYXBwaW5nKXJldHVybiB0O2lmKHQuYXBwbHlNYXRyaXgzKHRoaXMubWF0cml4KSx0Lng8MHx8dC54PjEpc3dpdGNoKHRoaXMud3JhcFMpe2Nhc2UgRHJ0OnQueD10LngtTWF0aC5mbG9vcih0LngpO2JyZWFrO2Nhc2UgUnJ0OnQueD10Lng8MD8wOjE7YnJlYWs7Y2FzZSBFcnQ6dC54PTE9PT1NYXRoLmFicyhNYXRoLmZsb29yKHQueCklMik/TWF0aC5jZWlsKHQueCktdC54OnQueC1NYXRoLmZsb29yKHQueCl9aWYodC55PDB8fHQueT4xKXN3aXRjaCh0aGlzLndyYXBUKXtjYXNlIERydDp0Lnk9dC55LU1hdGguZmxvb3IodC55KTticmVhaztjYXNlIFJydDp0Lnk9dC55PDA/MDoxO2JyZWFrO2Nhc2UgRXJ0OnQueT0xPT09TWF0aC5hYnMoTWF0aC5mbG9vcih0LnkpJTIpP01hdGguY2VpbCh0LnkpLXQueTp0LnktTWF0aC5mbG9vcih0LnkpfXJldHVybiB0aGlzLmZsaXBZJiYodC55PTEtdC55KSx0fXNldCBuZWVkc1VwZGF0ZSh0KXshMD09PXQmJnRoaXMudmVyc2lvbisrfX1mdW5jdGlvbiBNc3QodCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MSW1hZ2VFbGVtZW50JiZ0IGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MQ2FudmFzRWxlbWVudCYmdCBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50fHwidW5kZWZpbmVkIiE9dHlwZW9mIEltYWdlQml0bWFwJiZ0IGluc3RhbmNlb2YgSW1hZ2VCaXRtYXA/eXN0LmdldERhdGFVUkwodCk6dC5kYXRhP3tkYXRhOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQuZGF0YSksd2lkdGg6dC53aWR0aCxoZWlnaHQ6dC5oZWlnaHQsdHlwZTp0LmRhdGEuY29uc3RydWN0b3IubmFtZX06KGNvbnNvbGUud2FybigiVEhSRUUuVGV4dHVyZTogVW5hYmxlIHRvIHNlcmlhbGl6ZSBUZXh0dXJlLiIpLHt9KX1Dc3QuREVGQVVMVF9JTUFHRT12b2lkIDAsQ3N0LkRFRkFVTFRfTUFQUElORz0zMDAsQ3N0LnByb3RvdHlwZS5pc1RleHR1cmU9ITA7Y2xhc3MgdnN0e2NvbnN0cnVjdG9yKHQ9MCxlPTAsbj0wLG89MSl7dGhpcy54PXQsdGhpcy55PWUsdGhpcy56PW4sdGhpcy53PW99Z2V0IHdpZHRoKCl7cmV0dXJuIHRoaXMuen1zZXQgd2lkdGgodCl7dGhpcy56PXR9Z2V0IGhlaWdodCgpe3JldHVybiB0aGlzLnd9c2V0IGhlaWdodCh0KXt0aGlzLnc9dH1zZXQodCxlLG4sbyl7cmV0dXJuIHRoaXMueD10LHRoaXMueT1lLHRoaXMuej1uLHRoaXMudz1vLHRoaXN9c2V0U2NhbGFyKHQpe3JldHVybiB0aGlzLng9dCx0aGlzLnk9dCx0aGlzLno9dCx0aGlzLnc9dCx0aGlzfXNldFgodCl7cmV0dXJuIHRoaXMueD10LHRoaXN9c2V0WSh0KXtyZXR1cm4gdGhpcy55PXQsdGhpc31zZXRaKHQpe3JldHVybiB0aGlzLno9dCx0aGlzfXNldFcodCl7cmV0dXJuIHRoaXMudz10LHRoaXN9c2V0Q29tcG9uZW50KHQsZSl7c3dpdGNoKHQpe2Nhc2UgMDp0aGlzLng9ZTticmVhaztjYXNlIDE6dGhpcy55PWU7YnJlYWs7Y2FzZSAyOnRoaXMuej1lO2JyZWFrO2Nhc2UgMzp0aGlzLnc9ZTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW5kZXggaXMgb3V0IG9mIHJhbmdlOiAiK3QpfXJldHVybiB0aGlzfWdldENvbXBvbmVudCh0KXtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB0aGlzLng7Y2FzZSAxOnJldHVybiB0aGlzLnk7Y2FzZSAyOnJldHVybiB0aGlzLno7Y2FzZSAzOnJldHVybiB0aGlzLnc7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIit0KX19Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy54LHRoaXMueSx0aGlzLnosdGhpcy53KX1jb3B5KHQpe3JldHVybiB0aGlzLng9dC54LHRoaXMueT10LnksdGhpcy56PXQueix0aGlzLnc9dm9pZCAwIT09dC53P3QudzoxLHRoaXN9YWRkKHQsZSl7cmV0dXJuIHZvaWQgMCE9PWU/KGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yNDogLmFkZCgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLmFkZFZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuYWRkVmVjdG9ycyh0LGUpKToodGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcy56Kz10LnosdGhpcy53Kz10LncsdGhpcyl9YWRkU2NhbGFyKHQpe3JldHVybiB0aGlzLngrPXQsdGhpcy55Kz10LHRoaXMueis9dCx0aGlzLncrPXQsdGhpc31hZGRWZWN0b3JzKHQsZSl7cmV0dXJuIHRoaXMueD10LngrZS54LHRoaXMueT10LnkrZS55LHRoaXMuej10LnorZS56LHRoaXMudz10LncrZS53LHRoaXN9YWRkU2NhbGVkVmVjdG9yKHQsZSl7cmV0dXJuIHRoaXMueCs9dC54KmUsdGhpcy55Kz10LnkqZSx0aGlzLnorPXQueiplLHRoaXMudys9dC53KmUsdGhpc31zdWIodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3I0OiAuc3ViKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuc3ViVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5zdWJWZWN0b3JzKHQsZSkpOih0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzLnotPXQueix0aGlzLnctPXQudyx0aGlzKX1zdWJTY2FsYXIodCl7cmV0dXJuIHRoaXMueC09dCx0aGlzLnktPXQsdGhpcy56LT10LHRoaXMudy09dCx0aGlzfXN1YlZlY3RvcnModCxlKXtyZXR1cm4gdGhpcy54PXQueC1lLngsdGhpcy55PXQueS1lLnksdGhpcy56PXQuei1lLnosdGhpcy53PXQudy1lLncsdGhpc31tdWx0aXBseSh0KXtyZXR1cm4gdGhpcy54Kj10LngsdGhpcy55Kj10LnksdGhpcy56Kj10LnosdGhpcy53Kj10LncsdGhpc31tdWx0aXBseVNjYWxhcih0KXtyZXR1cm4gdGhpcy54Kj10LHRoaXMueSo9dCx0aGlzLnoqPXQsdGhpcy53Kj10LHRoaXN9YXBwbHlNYXRyaXg0KHQpe2NvbnN0IGU9dGhpcy54LG49dGhpcy55LG89dGhpcy56LGk9dGhpcy53LGE9dC5lbGVtZW50cztyZXR1cm4gdGhpcy54PWFbMF0qZSthWzRdKm4rYVs4XSpvK2FbMTJdKmksdGhpcy55PWFbMV0qZSthWzVdKm4rYVs5XSpvK2FbMTNdKmksdGhpcy56PWFbMl0qZSthWzZdKm4rYVsxMF0qbythWzE0XSppLHRoaXMudz1hWzNdKmUrYVs3XSpuK2FbMTFdKm8rYVsxNV0qaSx0aGlzfWRpdmlkZVNjYWxhcih0KXtyZXR1cm4gdGhpcy5tdWx0aXBseVNjYWxhcigxL3QpfXNldEF4aXNBbmdsZUZyb21RdWF0ZXJuaW9uKHQpe3RoaXMudz0yKk1hdGguYWNvcyh0LncpO2NvbnN0IGU9TWF0aC5zcXJ0KDEtdC53KnQudyk7cmV0dXJuIGU8MWUtND8odGhpcy54PTEsdGhpcy55PTAsdGhpcy56PTApOih0aGlzLng9dC54L2UsdGhpcy55PXQueS9lLHRoaXMuej10LnovZSksdGhpc31zZXRBeGlzQW5nbGVGcm9tUm90YXRpb25NYXRyaXgodCl7bGV0IGUsbixvLGk7Y29uc3QgYT0uMDEscj0uMSxzPXQuZWxlbWVudHMsbD1zWzBdLGM9c1s0XSxkPXNbOF0scD1zWzFdLG09c1s1XSxmPXNbOV0sdT1zWzJdLGc9c1s2XSxoPXNbMTBdO2lmKE1hdGguYWJzKGMtcCk8YSYmTWF0aC5hYnMoZC11KTxhJiZNYXRoLmFicyhmLWcpPGEpe2lmKE1hdGguYWJzKGMrcCk8ciYmTWF0aC5hYnMoZCt1KTxyJiZNYXRoLmFicyhmK2cpPHImJk1hdGguYWJzKGwrbStoLTMpPHIpcmV0dXJuIHRoaXMuc2V0KDEsMCwwLDApLHRoaXM7ZT1NYXRoLlBJO2NvbnN0IHQ9KGwrMSkvMixzPShtKzEpLzIsYj0oaCsxKS8yLHk9KGMrcCkvNCxfPShkK3UpLzQsQz0oZitnKS80O3JldHVybiB0PnMmJnQ+Yj90PGE/KG49MCxvPS43MDcxMDY3ODEsaT0uNzA3MTA2NzgxKToobj1NYXRoLnNxcnQodCksbz15L24saT1fL24pOnM+Yj9zPGE/KG49LjcwNzEwNjc4MSxvPTAsaT0uNzA3MTA2NzgxKToobz1NYXRoLnNxcnQocyksbj15L28saT1DL28pOmI8YT8obj0uNzA3MTA2NzgxLG89LjcwNzEwNjc4MSxpPTApOihpPU1hdGguc3FydChiKSxuPV8vaSxvPUMvaSksdGhpcy5zZXQobixvLGksZSksdGhpc31sZXQgYj1NYXRoLnNxcnQoKGctZikqKGctZikrKGQtdSkqKGQtdSkrKHAtYykqKHAtYykpO3JldHVybiBNYXRoLmFicyhiKTwuMDAxJiYoYj0xKSx0aGlzLng9KGctZikvYix0aGlzLnk9KGQtdSkvYix0aGlzLno9KHAtYykvYix0aGlzLnc9TWF0aC5hY29zKChsK20raC0xKS8yKSx0aGlzfW1pbih0KXtyZXR1cm4gdGhpcy54PU1hdGgubWluKHRoaXMueCx0LngpLHRoaXMueT1NYXRoLm1pbih0aGlzLnksdC55KSx0aGlzLno9TWF0aC5taW4odGhpcy56LHQueiksdGhpcy53PU1hdGgubWluKHRoaXMudyx0LncpLHRoaXN9bWF4KHQpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodGhpcy54LHQueCksdGhpcy55PU1hdGgubWF4KHRoaXMueSx0LnkpLHRoaXMuej1NYXRoLm1heCh0aGlzLnosdC56KSx0aGlzLnc9TWF0aC5tYXgodGhpcy53LHQudyksdGhpc31jbGFtcCh0LGUpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodC54LE1hdGgubWluKGUueCx0aGlzLngpKSx0aGlzLnk9TWF0aC5tYXgodC55LE1hdGgubWluKGUueSx0aGlzLnkpKSx0aGlzLno9TWF0aC5tYXgodC56LE1hdGgubWluKGUueix0aGlzLnopKSx0aGlzLnc9TWF0aC5tYXgodC53LE1hdGgubWluKGUudyx0aGlzLncpKSx0aGlzfWNsYW1wU2NhbGFyKHQsZSl7cmV0dXJuIHRoaXMueD1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy54KSksdGhpcy55PU1hdGgubWF4KHQsTWF0aC5taW4oZSx0aGlzLnkpKSx0aGlzLno9TWF0aC5tYXgodCxNYXRoLm1pbihlLHRoaXMueikpLHRoaXMudz1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy53KSksdGhpc31jbGFtcExlbmd0aCh0LGUpe2NvbnN0IG49dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIobnx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgodCxNYXRoLm1pbihlLG4pKSl9Zmxvb3IoKXtyZXR1cm4gdGhpcy54PU1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpLHRoaXMuej1NYXRoLmZsb29yKHRoaXMueiksdGhpcy53PU1hdGguZmxvb3IodGhpcy53KSx0aGlzfWNlaWwoKXtyZXR1cm4gdGhpcy54PU1hdGguY2VpbCh0aGlzLngpLHRoaXMueT1NYXRoLmNlaWwodGhpcy55KSx0aGlzLno9TWF0aC5jZWlsKHRoaXMueiksdGhpcy53PU1hdGguY2VpbCh0aGlzLncpLHRoaXN9cm91bmQoKXtyZXR1cm4gdGhpcy54PU1hdGgucm91bmQodGhpcy54KSx0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpLHRoaXMuej1NYXRoLnJvdW5kKHRoaXMueiksdGhpcy53PU1hdGgucm91bmQodGhpcy53KSx0aGlzfXJvdW5kVG9aZXJvKCl7cmV0dXJuIHRoaXMueD10aGlzLng8MD9NYXRoLmNlaWwodGhpcy54KTpNYXRoLmZsb29yKHRoaXMueCksdGhpcy55PXRoaXMueTwwP01hdGguY2VpbCh0aGlzLnkpOk1hdGguZmxvb3IodGhpcy55KSx0aGlzLno9dGhpcy56PDA/TWF0aC5jZWlsKHRoaXMueik6TWF0aC5mbG9vcih0aGlzLnopLHRoaXMudz10aGlzLnc8MD9NYXRoLmNlaWwodGhpcy53KTpNYXRoLmZsb29yKHRoaXMudyksdGhpc31uZWdhdGUoKXtyZXR1cm4gdGhpcy54PS10aGlzLngsdGhpcy55PS10aGlzLnksdGhpcy56PS10aGlzLnosdGhpcy53PS10aGlzLncsdGhpc31kb3QodCl7cmV0dXJuIHRoaXMueCp0LngrdGhpcy55KnQueSt0aGlzLnoqdC56K3RoaXMudyp0Lnd9bGVuZ3RoU3EoKXtyZXR1cm4gdGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55K3RoaXMueip0aGlzLnordGhpcy53KnRoaXMud31sZW5ndGgoKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSt0aGlzLnoqdGhpcy56K3RoaXMudyp0aGlzLncpfW1hbmhhdHRhbkxlbmd0aCgpe3JldHVybiBNYXRoLmFicyh0aGlzLngpK01hdGguYWJzKHRoaXMueSkrTWF0aC5hYnModGhpcy56KStNYXRoLmFicyh0aGlzLncpfW5vcm1hbGl6ZSgpe3JldHVybiB0aGlzLmRpdmlkZVNjYWxhcih0aGlzLmxlbmd0aCgpfHwxKX1zZXRMZW5ndGgodCl7cmV0dXJuIHRoaXMubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIodCl9bGVycCh0LGUpe3JldHVybiB0aGlzLngrPSh0LngtdGhpcy54KSplLHRoaXMueSs9KHQueS10aGlzLnkpKmUsdGhpcy56Kz0odC56LXRoaXMueikqZSx0aGlzLncrPSh0LnctdGhpcy53KSplLHRoaXN9bGVycFZlY3RvcnModCxlLG4pe3JldHVybiB0aGlzLng9dC54KyhlLngtdC54KSpuLHRoaXMueT10LnkrKGUueS10LnkpKm4sdGhpcy56PXQueisoZS56LXQueikqbix0aGlzLnc9dC53KyhlLnctdC53KSpuLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lng9PT10aGlzLngmJnQueT09PXRoaXMueSYmdC56PT09dGhpcy56JiZ0Lnc9PT10aGlzLnd9ZnJvbUFycmF5KHQsZT0wKXtyZXR1cm4gdGhpcy54PXRbZV0sdGhpcy55PXRbZSsxXSx0aGlzLno9dFtlKzJdLHRoaXMudz10W2UrM10sdGhpc310b0FycmF5KHQ9W10sZT0wKXtyZXR1cm4gdFtlXT10aGlzLngsdFtlKzFdPXRoaXMueSx0W2UrMl09dGhpcy56LHRbZSszXT10aGlzLncsdH1mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSxuKXtyZXR1cm4gdm9pZCAwIT09biYmY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3I0OiBvZmZzZXQgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIC5mcm9tQnVmZmVyQXR0cmlidXRlKCkuIiksdGhpcy54PXQuZ2V0WChlKSx0aGlzLnk9dC5nZXRZKGUpLHRoaXMuej10LmdldFooZSksdGhpcy53PXQuZ2V0VyhlKSx0aGlzfXJhbmRvbSgpe3JldHVybiB0aGlzLng9TWF0aC5yYW5kb20oKSx0aGlzLnk9TWF0aC5yYW5kb20oKSx0aGlzLno9TWF0aC5yYW5kb20oKSx0aGlzLnc9TWF0aC5yYW5kb20oKSx0aGlzfX12c3QucHJvdG90eXBlLmlzVmVjdG9yND0hMDtjbGFzcyB4c3QgZXh0ZW5kcyByc3R7Y29uc3RydWN0b3IodCxlLG49e30pe3N1cGVyKCksdGhpcy53aWR0aD10LHRoaXMuaGVpZ2h0PWUsdGhpcy5kZXB0aD0xLHRoaXMuc2Npc3Nvcj1uZXcgdnN0KDAsMCx0LGUpLHRoaXMuc2Npc3NvclRlc3Q9ITEsdGhpcy52aWV3cG9ydD1uZXcgdnN0KDAsMCx0LGUpLHRoaXMudGV4dHVyZT1uZXcgQ3N0KHZvaWQgMCxuLm1hcHBpbmcsbi53cmFwUyxuLndyYXBULG4ubWFnRmlsdGVyLG4ubWluRmlsdGVyLG4uZm9ybWF0LG4udHlwZSxuLmFuaXNvdHJvcHksbi5lbmNvZGluZyksdGhpcy50ZXh0dXJlLmlzUmVuZGVyVGFyZ2V0VGV4dHVyZT0hMCx0aGlzLnRleHR1cmUuaW1hZ2U9e3dpZHRoOnQsaGVpZ2h0OmUsZGVwdGg6MX0sdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz12b2lkIDAhPT1uLmdlbmVyYXRlTWlwbWFwcyYmbi5nZW5lcmF0ZU1pcG1hcHMsdGhpcy50ZXh0dXJlLm1pbkZpbHRlcj12b2lkIDAhPT1uLm1pbkZpbHRlcj9uLm1pbkZpbHRlcjpUcnQsdGhpcy5kZXB0aEJ1ZmZlcj12b2lkIDA9PT1uLmRlcHRoQnVmZmVyfHxuLmRlcHRoQnVmZmVyLHRoaXMuc3RlbmNpbEJ1ZmZlcj12b2lkIDAhPT1uLnN0ZW5jaWxCdWZmZXImJm4uc3RlbmNpbEJ1ZmZlcix0aGlzLmRlcHRoVGV4dHVyZT12b2lkIDAhPT1uLmRlcHRoVGV4dHVyZT9uLmRlcHRoVGV4dHVyZTpudWxsfXNldFRleHR1cmUodCl7dC5pbWFnZT17d2lkdGg6dGhpcy53aWR0aCxoZWlnaHQ6dGhpcy5oZWlnaHQsZGVwdGg6dGhpcy5kZXB0aH0sdGhpcy50ZXh0dXJlPXR9c2V0U2l6ZSh0LGUsbj0xKXt0aGlzLndpZHRoPT09dCYmdGhpcy5oZWlnaHQ9PT1lJiZ0aGlzLmRlcHRoPT09bnx8KHRoaXMud2lkdGg9dCx0aGlzLmhlaWdodD1lLHRoaXMuZGVwdGg9bix0aGlzLnRleHR1cmUuaW1hZ2Uud2lkdGg9dCx0aGlzLnRleHR1cmUuaW1hZ2UuaGVpZ2h0PWUsdGhpcy50ZXh0dXJlLmltYWdlLmRlcHRoPW4sdGhpcy5kaXNwb3NlKCkpLHRoaXMudmlld3BvcnQuc2V0KDAsMCx0LGUpLHRoaXMuc2Npc3Nvci5zZXQoMCwwLHQsZSl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXtyZXR1cm4gdGhpcy53aWR0aD10LndpZHRoLHRoaXMuaGVpZ2h0PXQuaGVpZ2h0LHRoaXMuZGVwdGg9dC5kZXB0aCx0aGlzLnZpZXdwb3J0LmNvcHkodC52aWV3cG9ydCksdGhpcy50ZXh0dXJlPXQudGV4dHVyZS5jbG9uZSgpLHRoaXMudGV4dHVyZS5pbWFnZT17Li4udGhpcy50ZXh0dXJlLmltYWdlfSx0aGlzLmRlcHRoQnVmZmVyPXQuZGVwdGhCdWZmZXIsdGhpcy5zdGVuY2lsQnVmZmVyPXQuc3RlbmNpbEJ1ZmZlcix0aGlzLmRlcHRoVGV4dHVyZT10LmRlcHRoVGV4dHVyZSx0aGlzfWRpc3Bvc2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9fXhzdC5wcm90b3R5cGUuaXNXZWJHTFJlbmRlclRhcmdldD0hMDsoY2xhc3MgZXh0ZW5kcyB4c3R7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSk7Y29uc3Qgbz10aGlzLnRleHR1cmU7dGhpcy50ZXh0dXJlPVtdO2ZvcihsZXQgdD0wO3Q8bjt0KyspdGhpcy50ZXh0dXJlW3RdPW8uY2xvbmUoKX1zZXRTaXplKHQsZSxuPTEpe2lmKHRoaXMud2lkdGghPT10fHx0aGlzLmhlaWdodCE9PWV8fHRoaXMuZGVwdGghPT1uKXt0aGlzLndpZHRoPXQsdGhpcy5oZWlnaHQ9ZSx0aGlzLmRlcHRoPW47Zm9yKGxldCBvPTAsaT10aGlzLnRleHR1cmUubGVuZ3RoO288aTtvKyspdGhpcy50ZXh0dXJlW29dLmltYWdlLndpZHRoPXQsdGhpcy50ZXh0dXJlW29dLmltYWdlLmhlaWdodD1lLHRoaXMudGV4dHVyZVtvXS5pbWFnZS5kZXB0aD1uO3RoaXMuZGlzcG9zZSgpfXJldHVybiB0aGlzLnZpZXdwb3J0LnNldCgwLDAsdCxlKSx0aGlzLnNjaXNzb3Iuc2V0KDAsMCx0LGUpLHRoaXN9Y29weSh0KXt0aGlzLmRpc3Bvc2UoKSx0aGlzLndpZHRoPXQud2lkdGgsdGhpcy5oZWlnaHQ9dC5oZWlnaHQsdGhpcy5kZXB0aD10LmRlcHRoLHRoaXMudmlld3BvcnQuc2V0KDAsMCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KSx0aGlzLnNjaXNzb3Iuc2V0KDAsMCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KSx0aGlzLmRlcHRoQnVmZmVyPXQuZGVwdGhCdWZmZXIsdGhpcy5zdGVuY2lsQnVmZmVyPXQuc3RlbmNpbEJ1ZmZlcix0aGlzLmRlcHRoVGV4dHVyZT10LmRlcHRoVGV4dHVyZSx0aGlzLnRleHR1cmUubGVuZ3RoPTA7Zm9yKGxldCBlPTAsbj10LnRleHR1cmUubGVuZ3RoO2U8bjtlKyspdGhpcy50ZXh0dXJlW2VdPXQudGV4dHVyZVtlXS5jbG9uZSgpO3JldHVybiB0aGlzfX0pLnByb3RvdHlwZS5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzPSEwO2NsYXNzIE9zdCBleHRlbmRzIHhzdHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIodCxlLG4pLHRoaXMuc2FtcGxlcz00fWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkuY2FsbCh0aGlzLHQpLHRoaXMuc2FtcGxlcz10LnNhbXBsZXMsdGhpc319T3N0LnByb3RvdHlwZS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQ9ITA7Y2xhc3MgUHN0e2NvbnN0cnVjdG9yKHQ9MCxlPTAsbj0wLG89MSl7dGhpcy5feD10LHRoaXMuX3k9ZSx0aGlzLl96PW4sdGhpcy5fdz1vfXN0YXRpYyBzbGVycCh0LGUsbixvKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5RdWF0ZXJuaW9uOiBTdGF0aWMgLnNsZXJwKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIHFtLnNsZXJwUXVhdGVybmlvbnMoIHFhLCBxYiwgdCApIGluc3RlYWQuIiksbi5zbGVycFF1YXRlcm5pb25zKHQsZSxvKX1zdGF0aWMgc2xlcnBGbGF0KHQsZSxuLG8saSxhLHIpe2xldCBzPW5bbyswXSxsPW5bbysxXSxjPW5bbysyXSxkPW5bbyszXTtjb25zdCBwPWlbYSswXSxtPWlbYSsxXSxmPWlbYSsyXSx1PWlbYSszXTtpZigwPT09cilyZXR1cm4gdFtlKzBdPXMsdFtlKzFdPWwsdFtlKzJdPWMsdm9pZCh0W2UrM109ZCk7aWYoMT09PXIpcmV0dXJuIHRbZSswXT1wLHRbZSsxXT1tLHRbZSsyXT1mLHZvaWQodFtlKzNdPXUpO2lmKGQhPT11fHxzIT09cHx8bCE9PW18fGMhPT1mKXtsZXQgdD0xLXI7Y29uc3QgZT1zKnArbCptK2MqZitkKnUsbj1lPj0wPzE6LTEsbz0xLWUqZTtpZihvPk51bWJlci5FUFNJTE9OKXtjb25zdCBpPU1hdGguc3FydChvKSxhPU1hdGguYXRhbjIoaSxlKm4pO3Q9TWF0aC5zaW4odCphKS9pLHI9TWF0aC5zaW4ociphKS9pfWNvbnN0IGk9cipuO2lmKHM9cyp0K3AqaSxsPWwqdCttKmksYz1jKnQrZippLGQ9ZCp0K3UqaSx0PT09MS1yKXtjb25zdCB0PTEvTWF0aC5zcXJ0KHMqcytsKmwrYypjK2QqZCk7cyo9dCxsKj10LGMqPXQsZCo9dH19dFtlXT1zLHRbZSsxXT1sLHRbZSsyXT1jLHRbZSszXT1kfXN0YXRpYyBtdWx0aXBseVF1YXRlcm5pb25zRmxhdCh0LGUsbixvLGksYSl7Y29uc3Qgcj1uW29dLHM9bltvKzFdLGw9bltvKzJdLGM9bltvKzNdLGQ9aVthXSxwPWlbYSsxXSxtPWlbYSsyXSxmPWlbYSszXTtyZXR1cm4gdFtlXT1yKmYrYypkK3MqbS1sKnAsdFtlKzFdPXMqZitjKnArbCpkLXIqbSx0W2UrMl09bCpmK2MqbStyKnAtcypkLHRbZSszXT1jKmYtcipkLXMqcC1sKm0sdH1nZXQgeCgpe3JldHVybiB0aGlzLl94fXNldCB4KHQpe3RoaXMuX3g9dCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9Z2V0IHkoKXtyZXR1cm4gdGhpcy5feX1zZXQgeSh0KXt0aGlzLl95PXQsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpfWdldCB6KCl7cmV0dXJuIHRoaXMuX3p9c2V0IHoodCl7dGhpcy5fej10LHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX1nZXQgdygpe3JldHVybiB0aGlzLl93fXNldCB3KHQpe3RoaXMuX3c9dCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9c2V0KHQsZSxuLG8pe3JldHVybiB0aGlzLl94PXQsdGhpcy5feT1lLHRoaXMuX3o9bix0aGlzLl93PW8sdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5feCx0aGlzLl95LHRoaXMuX3osdGhpcy5fdyl9Y29weSh0KXtyZXR1cm4gdGhpcy5feD10LngsdGhpcy5feT10LnksdGhpcy5fej10LnosdGhpcy5fdz10LncsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9c2V0RnJvbUV1bGVyKHQsZSl7aWYoIXR8fCF0LmlzRXVsZXIpdGhyb3cgbmV3IEVycm9yKCJUSFJFRS5RdWF0ZXJuaW9uOiAuc2V0RnJvbUV1bGVyKCkgbm93IGV4cGVjdHMgYW4gRXVsZXIgcm90YXRpb24gcmF0aGVyIHRoYW4gYSBWZWN0b3IzIGFuZCBvcmRlci4iKTtjb25zdCBuPXQuX3gsbz10Ll95LGk9dC5feixhPXQuX29yZGVyLHI9TWF0aC5jb3Mscz1NYXRoLnNpbixsPXIobi8yKSxjPXIoby8yKSxkPXIoaS8yKSxwPXMobi8yKSxtPXMoby8yKSxmPXMoaS8yKTtzd2l0Y2goYSl7Y2FzZSJYWVoiOnRoaXMuX3g9cCpjKmQrbCptKmYsdGhpcy5feT1sKm0qZC1wKmMqZix0aGlzLl96PWwqYypmK3AqbSpkLHRoaXMuX3c9bCpjKmQtcCptKmY7YnJlYWs7Y2FzZSJZWFoiOnRoaXMuX3g9cCpjKmQrbCptKmYsdGhpcy5feT1sKm0qZC1wKmMqZix0aGlzLl96PWwqYypmLXAqbSpkLHRoaXMuX3c9bCpjKmQrcCptKmY7YnJlYWs7Y2FzZSJaWFkiOnRoaXMuX3g9cCpjKmQtbCptKmYsdGhpcy5feT1sKm0qZCtwKmMqZix0aGlzLl96PWwqYypmK3AqbSpkLHRoaXMuX3c9bCpjKmQtcCptKmY7YnJlYWs7Y2FzZSJaWVgiOnRoaXMuX3g9cCpjKmQtbCptKmYsdGhpcy5feT1sKm0qZCtwKmMqZix0aGlzLl96PWwqYypmLXAqbSpkLHRoaXMuX3c9bCpjKmQrcCptKmY7YnJlYWs7Y2FzZSJZWlgiOnRoaXMuX3g9cCpjKmQrbCptKmYsdGhpcy5feT1sKm0qZCtwKmMqZix0aGlzLl96PWwqYypmLXAqbSpkLHRoaXMuX3c9bCpjKmQtcCptKmY7YnJlYWs7Y2FzZSJYWlkiOnRoaXMuX3g9cCpjKmQtbCptKmYsdGhpcy5feT1sKm0qZC1wKmMqZix0aGlzLl96PWwqYypmK3AqbSpkLHRoaXMuX3c9bCpjKmQrcCptKmY7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLndhcm4oIlRIUkVFLlF1YXRlcm5pb246IC5zZXRGcm9tRXVsZXIoKSBlbmNvdW50ZXJlZCBhbiB1bmtub3duIG9yZGVyOiAiK2EpfXJldHVybiExIT09ZSYmdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9c2V0RnJvbUF4aXNBbmdsZSh0LGUpe2NvbnN0IG49ZS8yLG89TWF0aC5zaW4obik7cmV0dXJuIHRoaXMuX3g9dC54Km8sdGhpcy5feT10Lnkqbyx0aGlzLl96PXQueipvLHRoaXMuX3c9TWF0aC5jb3MobiksdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9c2V0RnJvbVJvdGF0aW9uTWF0cml4KHQpe2NvbnN0IGU9dC5lbGVtZW50cyxuPWVbMF0sbz1lWzRdLGk9ZVs4XSxhPWVbMV0scj1lWzVdLHM9ZVs5XSxsPWVbMl0sYz1lWzZdLGQ9ZVsxMF0scD1uK3IrZDtpZihwPjApe2NvbnN0IHQ9LjUvTWF0aC5zcXJ0KHArMSk7dGhpcy5fdz0uMjUvdCx0aGlzLl94PShjLXMpKnQsdGhpcy5feT0oaS1sKSp0LHRoaXMuX3o9KGEtbykqdH1lbHNlIGlmKG4+ciYmbj5kKXtjb25zdCB0PTIqTWF0aC5zcXJ0KDErbi1yLWQpO3RoaXMuX3c9KGMtcykvdCx0aGlzLl94PS4yNSp0LHRoaXMuX3k9KG8rYSkvdCx0aGlzLl96PShpK2wpL3R9ZWxzZSBpZihyPmQpe2NvbnN0IHQ9MipNYXRoLnNxcnQoMStyLW4tZCk7dGhpcy5fdz0oaS1sKS90LHRoaXMuX3g9KG8rYSkvdCx0aGlzLl95PS4yNSp0LHRoaXMuX3o9KHMrYykvdH1lbHNle2NvbnN0IHQ9MipNYXRoLnNxcnQoMStkLW4tcik7dGhpcy5fdz0oYS1vKS90LHRoaXMuX3g9KGkrbCkvdCx0aGlzLl95PShzK2MpL3QsdGhpcy5fej0uMjUqdH1yZXR1cm4gdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9c2V0RnJvbVVuaXRWZWN0b3JzKHQsZSl7bGV0IG49dC5kb3QoZSkrMTtyZXR1cm4gbjxOdW1iZXIuRVBTSUxPTj8obj0wLE1hdGguYWJzKHQueCk+TWF0aC5hYnModC56KT8odGhpcy5feD0tdC55LHRoaXMuX3k9dC54LHRoaXMuX3o9MCx0aGlzLl93PW4pOih0aGlzLl94PTAsdGhpcy5feT0tdC56LHRoaXMuX3o9dC55LHRoaXMuX3c9bikpOih0aGlzLl94PXQueSplLnotdC56KmUueSx0aGlzLl95PXQueiplLngtdC54KmUueix0aGlzLl96PXQueCplLnktdC55KmUueCx0aGlzLl93PW4pLHRoaXMubm9ybWFsaXplKCl9YW5nbGVUbyh0KXtyZXR1cm4gMipNYXRoLmFjb3MoTWF0aC5hYnMocHN0KHRoaXMuZG90KHQpLC0xLDEpKSl9cm90YXRlVG93YXJkcyh0LGUpe2NvbnN0IG49dGhpcy5hbmdsZVRvKHQpO2lmKDA9PT1uKXJldHVybiB0aGlzO2NvbnN0IG89TWF0aC5taW4oMSxlL24pO3JldHVybiB0aGlzLnNsZXJwKHQsbyksdGhpc31pZGVudGl0eSgpe3JldHVybiB0aGlzLnNldCgwLDAsMCwxKX1pbnZlcnQoKXtyZXR1cm4gdGhpcy5jb25qdWdhdGUoKX1jb25qdWdhdGUoKXtyZXR1cm4gdGhpcy5feCo9LTEsdGhpcy5feSo9LTEsdGhpcy5feio9LTEsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9ZG90KHQpe3JldHVybiB0aGlzLl94KnQuX3grdGhpcy5feSp0Ll95K3RoaXMuX3oqdC5feit0aGlzLl93KnQuX3d9bGVuZ3RoU3EoKXtyZXR1cm4gdGhpcy5feCp0aGlzLl94K3RoaXMuX3kqdGhpcy5feSt0aGlzLl96KnRoaXMuX3ordGhpcy5fdyp0aGlzLl93fWxlbmd0aCgpe3JldHVybiBNYXRoLnNxcnQodGhpcy5feCp0aGlzLl94K3RoaXMuX3kqdGhpcy5feSt0aGlzLl96KnRoaXMuX3ordGhpcy5fdyp0aGlzLl93KX1ub3JtYWxpemUoKXtsZXQgdD10aGlzLmxlbmd0aCgpO3JldHVybiAwPT09dD8odGhpcy5feD0wLHRoaXMuX3k9MCx0aGlzLl96PTAsdGhpcy5fdz0xKToodD0xL3QsdGhpcy5feD10aGlzLl94KnQsdGhpcy5feT10aGlzLl95KnQsdGhpcy5fej10aGlzLl96KnQsdGhpcy5fdz10aGlzLl93KnQpLHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKSx0aGlzfW11bHRpcGx5KHQsZSl7cmV0dXJuIHZvaWQgMCE9PWU/KGNvbnNvbGUud2FybigiVEhSRUUuUXVhdGVybmlvbjogLm11bHRpcGx5KCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAubXVsdGlwbHlRdWF0ZXJuaW9ucyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5tdWx0aXBseVF1YXRlcm5pb25zKHQsZSkpOnRoaXMubXVsdGlwbHlRdWF0ZXJuaW9ucyh0aGlzLHQpfXByZW11bHRpcGx5KHQpe3JldHVybiB0aGlzLm11bHRpcGx5UXVhdGVybmlvbnModCx0aGlzKX1tdWx0aXBseVF1YXRlcm5pb25zKHQsZSl7Y29uc3Qgbj10Ll94LG89dC5feSxpPXQuX3osYT10Ll93LHI9ZS5feCxzPWUuX3ksbD1lLl96LGM9ZS5fdztyZXR1cm4gdGhpcy5feD1uKmMrYSpyK28qbC1pKnMsdGhpcy5feT1vKmMrYSpzK2kqci1uKmwsdGhpcy5fej1pKmMrYSpsK24qcy1vKnIsdGhpcy5fdz1hKmMtbipyLW8qcy1pKmwsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9c2xlcnAodCxlKXtpZigwPT09ZSlyZXR1cm4gdGhpcztpZigxPT09ZSlyZXR1cm4gdGhpcy5jb3B5KHQpO2NvbnN0IG49dGhpcy5feCxvPXRoaXMuX3ksaT10aGlzLl96LGE9dGhpcy5fdztsZXQgcj1hKnQuX3crbip0Ll94K28qdC5feStpKnQuX3o7aWYocjwwPyh0aGlzLl93PS10Ll93LHRoaXMuX3g9LXQuX3gsdGhpcy5feT0tdC5feSx0aGlzLl96PS10Ll96LHI9LXIpOnRoaXMuY29weSh0KSxyPj0xKXJldHVybiB0aGlzLl93PWEsdGhpcy5feD1uLHRoaXMuX3k9byx0aGlzLl96PWksdGhpcztjb25zdCBzPTEtcipyO2lmKHM8PU51bWJlci5FUFNJTE9OKXtjb25zdCB0PTEtZTtyZXR1cm4gdGhpcy5fdz10KmErZSp0aGlzLl93LHRoaXMuX3g9dCpuK2UqdGhpcy5feCx0aGlzLl95PXQqbytlKnRoaXMuX3ksdGhpcy5fej10KmkrZSp0aGlzLl96LHRoaXMubm9ybWFsaXplKCksdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9Y29uc3QgbD1NYXRoLnNxcnQocyksYz1NYXRoLmF0YW4yKGwsciksZD1NYXRoLnNpbigoMS1lKSpjKS9sLHA9TWF0aC5zaW4oZSpjKS9sO3JldHVybiB0aGlzLl93PWEqZCt0aGlzLl93KnAsdGhpcy5feD1uKmQrdGhpcy5feCpwLHRoaXMuX3k9bypkK3RoaXMuX3kqcCx0aGlzLl96PWkqZCt0aGlzLl96KnAsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9c2xlcnBRdWF0ZXJuaW9ucyh0LGUsbil7dGhpcy5jb3B5KHQpLnNsZXJwKGUsbil9ZXF1YWxzKHQpe3JldHVybiB0Ll94PT09dGhpcy5feCYmdC5feT09PXRoaXMuX3kmJnQuX3o9PT10aGlzLl96JiZ0Ll93PT09dGhpcy5fd31mcm9tQXJyYXkodCxlPTApe3JldHVybiB0aGlzLl94PXRbZV0sdGhpcy5feT10W2UrMV0sdGhpcy5fej10W2UrMl0sdGhpcy5fdz10W2UrM10sdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9dG9BcnJheSh0PVtdLGU9MCl7cmV0dXJuIHRbZV09dGhpcy5feCx0W2UrMV09dGhpcy5feSx0W2UrMl09dGhpcy5feix0W2UrM109dGhpcy5fdyx0fWZyb21CdWZmZXJBdHRyaWJ1dGUodCxlKXtyZXR1cm4gdGhpcy5feD10LmdldFgoZSksdGhpcy5feT10LmdldFkoZSksdGhpcy5fej10LmdldFooZSksdGhpcy5fdz10LmdldFcoZSksdGhpc31fb25DaGFuZ2UodCl7cmV0dXJuIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2s9dCx0aGlzfV9vbkNoYW5nZUNhbGxiYWNrKCl7fX1Qc3QucHJvdG90eXBlLmlzUXVhdGVybmlvbj0hMDtjbGFzcyB3c3R7Y29uc3RydWN0b3IodD0wLGU9MCxuPTApe3RoaXMueD10LHRoaXMueT1lLHRoaXMuej1ufXNldCh0LGUsbil7cmV0dXJuIHZvaWQgMD09PW4mJihuPXRoaXMueiksdGhpcy54PXQsdGhpcy55PWUsdGhpcy56PW4sdGhpc31zZXRTY2FsYXIodCl7cmV0dXJuIHRoaXMueD10LHRoaXMueT10LHRoaXMuej10LHRoaXN9c2V0WCh0KXtyZXR1cm4gdGhpcy54PXQsdGhpc31zZXRZKHQpe3JldHVybiB0aGlzLnk9dCx0aGlzfXNldFoodCl7cmV0dXJuIHRoaXMuej10LHRoaXN9c2V0Q29tcG9uZW50KHQsZSl7c3dpdGNoKHQpe2Nhc2UgMDp0aGlzLng9ZTticmVhaztjYXNlIDE6dGhpcy55PWU7YnJlYWs7Y2FzZSAyOnRoaXMuej1lO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJpbmRleCBpcyBvdXQgb2YgcmFuZ2U6ICIrdCl9cmV0dXJuIHRoaXN9Z2V0Q29tcG9uZW50KHQpe3N3aXRjaCh0KXtjYXNlIDA6cmV0dXJuIHRoaXMueDtjYXNlIDE6cmV0dXJuIHRoaXMueTtjYXNlIDI6cmV0dXJuIHRoaXMuejtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW5kZXggaXMgb3V0IG9mIHJhbmdlOiAiK3QpfX1jbG9uZSgpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLngsdGhpcy55LHRoaXMueil9Y29weSh0KXtyZXR1cm4gdGhpcy54PXQueCx0aGlzLnk9dC55LHRoaXMuej10LnosdGhpc31hZGQodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuYWRkKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuYWRkVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5hZGRWZWN0b3JzKHQsZSkpOih0aGlzLngrPXQueCx0aGlzLnkrPXQueSx0aGlzLnorPXQueix0aGlzKX1hZGRTY2FsYXIodCl7cmV0dXJuIHRoaXMueCs9dCx0aGlzLnkrPXQsdGhpcy56Kz10LHRoaXN9YWRkVmVjdG9ycyh0LGUpe3JldHVybiB0aGlzLng9dC54K2UueCx0aGlzLnk9dC55K2UueSx0aGlzLno9dC56K2Uueix0aGlzfWFkZFNjYWxlZFZlY3Rvcih0LGUpe3JldHVybiB0aGlzLngrPXQueCplLHRoaXMueSs9dC55KmUsdGhpcy56Kz10LnoqZSx0aGlzfXN1Yih0LGUpe3JldHVybiB2b2lkIDAhPT1lPyhjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5zdWIoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5zdWJWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLnN1YlZlY3RvcnModCxlKSk6KHRoaXMueC09dC54LHRoaXMueS09dC55LHRoaXMuei09dC56LHRoaXMpfXN1YlNjYWxhcih0KXtyZXR1cm4gdGhpcy54LT10LHRoaXMueS09dCx0aGlzLnotPXQsdGhpc31zdWJWZWN0b3JzKHQsZSl7cmV0dXJuIHRoaXMueD10LngtZS54LHRoaXMueT10LnktZS55LHRoaXMuej10LnotZS56LHRoaXN9bXVsdGlwbHkodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAubXVsdGlwbHkoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5tdWx0aXBseVZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMubXVsdGlwbHlWZWN0b3JzKHQsZSkpOih0aGlzLngqPXQueCx0aGlzLnkqPXQueSx0aGlzLnoqPXQueix0aGlzKX1tdWx0aXBseVNjYWxhcih0KXtyZXR1cm4gdGhpcy54Kj10LHRoaXMueSo9dCx0aGlzLnoqPXQsdGhpc31tdWx0aXBseVZlY3RvcnModCxlKXtyZXR1cm4gdGhpcy54PXQueCplLngsdGhpcy55PXQueSplLnksdGhpcy56PXQueiplLnosdGhpc31hcHBseUV1bGVyKHQpe3JldHVybiB0JiZ0LmlzRXVsZXJ8fGNvbnNvbGUuZXJyb3IoIlRIUkVFLlZlY3RvcjM6IC5hcHBseUV1bGVyKCkgbm93IGV4cGVjdHMgYW4gRXVsZXIgcm90YXRpb24gcmF0aGVyIHRoYW4gYSBWZWN0b3IzIGFuZCBvcmRlci4iKSx0aGlzLmFwcGx5UXVhdGVybmlvbihTc3Quc2V0RnJvbUV1bGVyKHQpKX1hcHBseUF4aXNBbmdsZSh0LGUpe3JldHVybiB0aGlzLmFwcGx5UXVhdGVybmlvbihTc3Quc2V0RnJvbUF4aXNBbmdsZSh0LGUpKX1hcHBseU1hdHJpeDModCl7Y29uc3QgZT10aGlzLngsbj10aGlzLnksbz10aGlzLnosaT10LmVsZW1lbnRzO3JldHVybiB0aGlzLng9aVswXSplK2lbM10qbitpWzZdKm8sdGhpcy55PWlbMV0qZStpWzRdKm4raVs3XSpvLHRoaXMuej1pWzJdKmUraVs1XSpuK2lbOF0qbyx0aGlzfWFwcGx5Tm9ybWFsTWF0cml4KHQpe3JldHVybiB0aGlzLmFwcGx5TWF0cml4Myh0KS5ub3JtYWxpemUoKX1hcHBseU1hdHJpeDQodCl7Y29uc3QgZT10aGlzLngsbj10aGlzLnksbz10aGlzLnosaT10LmVsZW1lbnRzLGE9MS8oaVszXSplK2lbN10qbitpWzExXSpvK2lbMTVdKTtyZXR1cm4gdGhpcy54PShpWzBdKmUraVs0XSpuK2lbOF0qbytpWzEyXSkqYSx0aGlzLnk9KGlbMV0qZStpWzVdKm4raVs5XSpvK2lbMTNdKSphLHRoaXMuej0oaVsyXSplK2lbNl0qbitpWzEwXSpvK2lbMTRdKSphLHRoaXN9YXBwbHlRdWF0ZXJuaW9uKHQpe2NvbnN0IGU9dGhpcy54LG49dGhpcy55LG89dGhpcy56LGk9dC54LGE9dC55LHI9dC56LHM9dC53LGw9cyplK2Eqby1yKm4sYz1zKm4rciplLWkqbyxkPXMqbytpKm4tYSplLHA9LWkqZS1hKm4tcipvO3JldHVybiB0aGlzLng9bCpzK3AqLWkrYyotci1kKi1hLHRoaXMueT1jKnMrcCotYStkKi1pLWwqLXIsdGhpcy56PWQqcytwKi1yK2wqLWEtYyotaSx0aGlzfXByb2plY3QodCl7cmV0dXJuIHRoaXMuYXBwbHlNYXRyaXg0KHQubWF0cml4V29ybGRJbnZlcnNlKS5hcHBseU1hdHJpeDQodC5wcm9qZWN0aW9uTWF0cml4KX11bnByb2plY3QodCl7cmV0dXJuIHRoaXMuYXBwbHlNYXRyaXg0KHQucHJvamVjdGlvbk1hdHJpeEludmVyc2UpLmFwcGx5TWF0cml4NCh0Lm1hdHJpeFdvcmxkKX10cmFuc2Zvcm1EaXJlY3Rpb24odCl7Y29uc3QgZT10aGlzLngsbj10aGlzLnksbz10aGlzLnosaT10LmVsZW1lbnRzO3JldHVybiB0aGlzLng9aVswXSplK2lbNF0qbitpWzhdKm8sdGhpcy55PWlbMV0qZStpWzVdKm4raVs5XSpvLHRoaXMuej1pWzJdKmUraVs2XSpuK2lbMTBdKm8sdGhpcy5ub3JtYWxpemUoKX1kaXZpZGUodCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXMuei89dC56LHRoaXN9ZGl2aWRlU2NhbGFyKHQpe3JldHVybiB0aGlzLm11bHRpcGx5U2NhbGFyKDEvdCl9bWluKHQpe3JldHVybiB0aGlzLng9TWF0aC5taW4odGhpcy54LHQueCksdGhpcy55PU1hdGgubWluKHRoaXMueSx0LnkpLHRoaXMuej1NYXRoLm1pbih0aGlzLnosdC56KSx0aGlzfW1heCh0KXtyZXR1cm4gdGhpcy54PU1hdGgubWF4KHRoaXMueCx0LngpLHRoaXMueT1NYXRoLm1heCh0aGlzLnksdC55KSx0aGlzLno9TWF0aC5tYXgodGhpcy56LHQueiksdGhpc31jbGFtcCh0LGUpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodC54LE1hdGgubWluKGUueCx0aGlzLngpKSx0aGlzLnk9TWF0aC5tYXgodC55LE1hdGgubWluKGUueSx0aGlzLnkpKSx0aGlzLno9TWF0aC5tYXgodC56LE1hdGgubWluKGUueix0aGlzLnopKSx0aGlzfWNsYW1wU2NhbGFyKHQsZSl7cmV0dXJuIHRoaXMueD1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy54KSksdGhpcy55PU1hdGgubWF4KHQsTWF0aC5taW4oZSx0aGlzLnkpKSx0aGlzLno9TWF0aC5tYXgodCxNYXRoLm1pbihlLHRoaXMueikpLHRoaXN9Y2xhbXBMZW5ndGgodCxlKXtjb25zdCBuPXRoaXMubGVuZ3RoKCk7cmV0dXJuIHRoaXMuZGl2aWRlU2NhbGFyKG58fDEpLm11bHRpcGx5U2NhbGFyKE1hdGgubWF4KHQsTWF0aC5taW4oZSxuKSkpfWZsb29yKCl7cmV0dXJuIHRoaXMueD1NYXRoLmZsb29yKHRoaXMueCksdGhpcy55PU1hdGguZmxvb3IodGhpcy55KSx0aGlzLno9TWF0aC5mbG9vcih0aGlzLnopLHRoaXN9Y2VpbCgpe3JldHVybiB0aGlzLng9TWF0aC5jZWlsKHRoaXMueCksdGhpcy55PU1hdGguY2VpbCh0aGlzLnkpLHRoaXMuej1NYXRoLmNlaWwodGhpcy56KSx0aGlzfXJvdW5kKCl7cmV0dXJuIHRoaXMueD1NYXRoLnJvdW5kKHRoaXMueCksdGhpcy55PU1hdGgucm91bmQodGhpcy55KSx0aGlzLno9TWF0aC5yb3VuZCh0aGlzLnopLHRoaXN9cm91bmRUb1plcm8oKXtyZXR1cm4gdGhpcy54PXRoaXMueDwwP01hdGguY2VpbCh0aGlzLngpOk1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9dGhpcy55PDA/TWF0aC5jZWlsKHRoaXMueSk6TWF0aC5mbG9vcih0aGlzLnkpLHRoaXMuej10aGlzLno8MD9NYXRoLmNlaWwodGhpcy56KTpNYXRoLmZsb29yKHRoaXMueiksdGhpc31uZWdhdGUoKXtyZXR1cm4gdGhpcy54PS10aGlzLngsdGhpcy55PS10aGlzLnksdGhpcy56PS10aGlzLnosdGhpc31kb3QodCl7cmV0dXJuIHRoaXMueCp0LngrdGhpcy55KnQueSt0aGlzLnoqdC56fWxlbmd0aFNxKCl7cmV0dXJuIHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSt0aGlzLnoqdGhpcy56fWxlbmd0aCgpe3JldHVybiBNYXRoLnNxcnQodGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55K3RoaXMueip0aGlzLnopfW1hbmhhdHRhbkxlbmd0aCgpe3JldHVybiBNYXRoLmFicyh0aGlzLngpK01hdGguYWJzKHRoaXMueSkrTWF0aC5hYnModGhpcy56KX1ub3JtYWxpemUoKXtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIodGhpcy5sZW5ndGgoKXx8MSl9c2V0TGVuZ3RoKHQpe3JldHVybiB0aGlzLm5vcm1hbGl6ZSgpLm11bHRpcGx5U2NhbGFyKHQpfWxlcnAodCxlKXtyZXR1cm4gdGhpcy54Kz0odC54LXRoaXMueCkqZSx0aGlzLnkrPSh0LnktdGhpcy55KSplLHRoaXMueis9KHQuei10aGlzLnopKmUsdGhpc31sZXJwVmVjdG9ycyh0LGUsbil7cmV0dXJuIHRoaXMueD10LngrKGUueC10LngpKm4sdGhpcy55PXQueSsoZS55LXQueSkqbix0aGlzLno9dC56KyhlLnotdC56KSpuLHRoaXN9Y3Jvc3ModCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuY3Jvc3MoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5jcm9zc1ZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuY3Jvc3NWZWN0b3JzKHQsZSkpOnRoaXMuY3Jvc3NWZWN0b3JzKHRoaXMsdCl9Y3Jvc3NWZWN0b3JzKHQsZSl7Y29uc3Qgbj10Lngsbz10LnksaT10LnosYT1lLngscj1lLnkscz1lLno7cmV0dXJuIHRoaXMueD1vKnMtaSpyLHRoaXMueT1pKmEtbipzLHRoaXMuej1uKnItbyphLHRoaXN9cHJvamVjdE9uVmVjdG9yKHQpe2NvbnN0IGU9dC5sZW5ndGhTcSgpO2lmKDA9PT1lKXJldHVybiB0aGlzLnNldCgwLDAsMCk7Y29uc3Qgbj10LmRvdCh0aGlzKS9lO3JldHVybiB0aGlzLmNvcHkodCkubXVsdGlwbHlTY2FsYXIobil9cHJvamVjdE9uUGxhbmUodCl7cmV0dXJuIGtzdC5jb3B5KHRoaXMpLnByb2plY3RPblZlY3Rvcih0KSx0aGlzLnN1Yihrc3QpfXJlZmxlY3QodCl7cmV0dXJuIHRoaXMuc3ViKGtzdC5jb3B5KHQpLm11bHRpcGx5U2NhbGFyKDIqdGhpcy5kb3QodCkpKX1hbmdsZVRvKHQpe2NvbnN0IGU9TWF0aC5zcXJ0KHRoaXMubGVuZ3RoU3EoKSp0Lmxlbmd0aFNxKCkpO2lmKDA9PT1lKXJldHVybiBNYXRoLlBJLzI7Y29uc3Qgbj10aGlzLmRvdCh0KS9lO3JldHVybiBNYXRoLmFjb3MocHN0KG4sLTEsMSkpfWRpc3RhbmNlVG8odCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKHQpKX1kaXN0YW5jZVRvU3F1YXJlZCh0KXtjb25zdCBlPXRoaXMueC10Lngsbj10aGlzLnktdC55LG89dGhpcy56LXQuejtyZXR1cm4gZSplK24qbitvKm99bWFuaGF0dGFuRGlzdGFuY2VUbyh0KXtyZXR1cm4gTWF0aC5hYnModGhpcy54LXQueCkrTWF0aC5hYnModGhpcy55LXQueSkrTWF0aC5hYnModGhpcy56LXQueil9c2V0RnJvbVNwaGVyaWNhbCh0KXtyZXR1cm4gdGhpcy5zZXRGcm9tU3BoZXJpY2FsQ29vcmRzKHQucmFkaXVzLHQucGhpLHQudGhldGEpfXNldEZyb21TcGhlcmljYWxDb29yZHModCxlLG4pe2NvbnN0IG89TWF0aC5zaW4oZSkqdDtyZXR1cm4gdGhpcy54PW8qTWF0aC5zaW4obiksdGhpcy55PU1hdGguY29zKGUpKnQsdGhpcy56PW8qTWF0aC5jb3MobiksdGhpc31zZXRGcm9tQ3lsaW5kcmljYWwodCl7cmV0dXJuIHRoaXMuc2V0RnJvbUN5bGluZHJpY2FsQ29vcmRzKHQucmFkaXVzLHQudGhldGEsdC55KX1zZXRGcm9tQ3lsaW5kcmljYWxDb29yZHModCxlLG4pe3JldHVybiB0aGlzLng9dCpNYXRoLnNpbihlKSx0aGlzLnk9bix0aGlzLno9dCpNYXRoLmNvcyhlKSx0aGlzfXNldEZyb21NYXRyaXhQb3NpdGlvbih0KXtjb25zdCBlPXQuZWxlbWVudHM7cmV0dXJuIHRoaXMueD1lWzEyXSx0aGlzLnk9ZVsxM10sdGhpcy56PWVbMTRdLHRoaXN9c2V0RnJvbU1hdHJpeFNjYWxlKHQpe2NvbnN0IGU9dGhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKHQsMCkubGVuZ3RoKCksbj10aGlzLnNldEZyb21NYXRyaXhDb2x1bW4odCwxKS5sZW5ndGgoKSxvPXRoaXMuc2V0RnJvbU1hdHJpeENvbHVtbih0LDIpLmxlbmd0aCgpO3JldHVybiB0aGlzLng9ZSx0aGlzLnk9bix0aGlzLno9byx0aGlzfXNldEZyb21NYXRyaXhDb2x1bW4odCxlKXtyZXR1cm4gdGhpcy5mcm9tQXJyYXkodC5lbGVtZW50cyw0KmUpfXNldEZyb21NYXRyaXgzQ29sdW1uKHQsZSl7cmV0dXJuIHRoaXMuZnJvbUFycmF5KHQuZWxlbWVudHMsMyplKX1lcXVhbHModCl7cmV0dXJuIHQueD09PXRoaXMueCYmdC55PT09dGhpcy55JiZ0Lno9PT10aGlzLnp9ZnJvbUFycmF5KHQsZT0wKXtyZXR1cm4gdGhpcy54PXRbZV0sdGhpcy55PXRbZSsxXSx0aGlzLno9dFtlKzJdLHRoaXN9dG9BcnJheSh0PVtdLGU9MCl7cmV0dXJuIHRbZV09dGhpcy54LHRbZSsxXT10aGlzLnksdFtlKzJdPXRoaXMueix0fWZyb21CdWZmZXJBdHRyaWJ1dGUodCxlLG4pe3JldHVybiB2b2lkIDAhPT1uJiZjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IG9mZnNldCBoYXMgYmVlbiByZW1vdmVkIGZyb20gLmZyb21CdWZmZXJBdHRyaWJ1dGUoKS4iKSx0aGlzLng9dC5nZXRYKGUpLHRoaXMueT10LmdldFkoZSksdGhpcy56PXQuZ2V0WihlKSx0aGlzfXJhbmRvbSgpe3JldHVybiB0aGlzLng9TWF0aC5yYW5kb20oKSx0aGlzLnk9TWF0aC5yYW5kb20oKSx0aGlzLno9TWF0aC5yYW5kb20oKSx0aGlzfX13c3QucHJvdG90eXBlLmlzVmVjdG9yMz0hMDtjb25zdCBrc3Q9bmV3IHdzdCxTc3Q9bmV3IFBzdDtjbGFzcyBEc3R7Y29uc3RydWN0b3IodD1uZXcgd3N0KDEvMCwxLzAsMS8wKSxlPW5ldyB3c3QoLTEvMCwtMS8wLC0xLzApKXt0aGlzLm1pbj10LHRoaXMubWF4PWV9c2V0KHQsZSl7cmV0dXJuIHRoaXMubWluLmNvcHkodCksdGhpcy5tYXguY29weShlKSx0aGlzfXNldEZyb21BcnJheSh0KXtsZXQgZT0xLzAsbj0xLzAsbz0xLzAsaT0tMS8wLGE9LTEvMCxyPS0xLzA7Zm9yKGxldCBzPTAsbD10Lmxlbmd0aDtzPGw7cys9Myl7Y29uc3QgbD10W3NdLGM9dFtzKzFdLGQ9dFtzKzJdO2w8ZSYmKGU9bCksYzxuJiYobj1jKSxkPG8mJihvPWQpLGw+aSYmKGk9bCksYz5hJiYoYT1jKSxkPnImJihyPWQpfXJldHVybiB0aGlzLm1pbi5zZXQoZSxuLG8pLHRoaXMubWF4LnNldChpLGEsciksdGhpc31zZXRGcm9tQnVmZmVyQXR0cmlidXRlKHQpe2xldCBlPTEvMCxuPTEvMCxvPTEvMCxpPS0xLzAsYT0tMS8wLHI9LTEvMDtmb3IobGV0IHM9MCxsPXQuY291bnQ7czxsO3MrKyl7Y29uc3QgbD10LmdldFgocyksYz10LmdldFkocyksZD10LmdldFoocyk7bDxlJiYoZT1sKSxjPG4mJihuPWMpLGQ8byYmKG89ZCksbD5pJiYoaT1sKSxjPmEmJihhPWMpLGQ+ciYmKHI9ZCl9cmV0dXJuIHRoaXMubWluLnNldChlLG4sbyksdGhpcy5tYXguc2V0KGksYSxyKSx0aGlzfXNldEZyb21Qb2ludHModCl7dGhpcy5tYWtlRW1wdHkoKTtmb3IobGV0IGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspdGhpcy5leHBhbmRCeVBvaW50KHRbZV0pO3JldHVybiB0aGlzfXNldEZyb21DZW50ZXJBbmRTaXplKHQsZSl7Y29uc3Qgbj1Fc3QuY29weShlKS5tdWx0aXBseVNjYWxhciguNSk7cmV0dXJuIHRoaXMubWluLmNvcHkodCkuc3ViKG4pLHRoaXMubWF4LmNvcHkodCkuYWRkKG4pLHRoaXN9c2V0RnJvbU9iamVjdCh0KXtyZXR1cm4gdGhpcy5tYWtlRW1wdHkoKSx0aGlzLmV4cGFuZEJ5T2JqZWN0KHQpfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfWNvcHkodCl7cmV0dXJuIHRoaXMubWluLmNvcHkodC5taW4pLHRoaXMubWF4LmNvcHkodC5tYXgpLHRoaXN9bWFrZUVtcHR5KCl7cmV0dXJuIHRoaXMubWluLng9dGhpcy5taW4ueT10aGlzLm1pbi56PTEvMCx0aGlzLm1heC54PXRoaXMubWF4Lnk9dGhpcy5tYXguej0tMS8wLHRoaXN9aXNFbXB0eSgpe3JldHVybiB0aGlzLm1heC54PHRoaXMubWluLnh8fHRoaXMubWF4Lnk8dGhpcy5taW4ueXx8dGhpcy5tYXguejx0aGlzLm1pbi56fWdldENlbnRlcih0KXtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/dC5zZXQoMCwwLDApOnQuYWRkVmVjdG9ycyh0aGlzLm1pbix0aGlzLm1heCkubXVsdGlwbHlTY2FsYXIoLjUpfWdldFNpemUodCl7cmV0dXJuIHRoaXMuaXNFbXB0eSgpP3Quc2V0KDAsMCwwKTp0LnN1YlZlY3RvcnModGhpcy5tYXgsdGhpcy5taW4pfWV4cGFuZEJ5UG9pbnQodCl7cmV0dXJuIHRoaXMubWluLm1pbih0KSx0aGlzLm1heC5tYXgodCksdGhpc31leHBhbmRCeVZlY3Rvcih0KXtyZXR1cm4gdGhpcy5taW4uc3ViKHQpLHRoaXMubWF4LmFkZCh0KSx0aGlzfWV4cGFuZEJ5U2NhbGFyKHQpe3JldHVybiB0aGlzLm1pbi5hZGRTY2FsYXIoLXQpLHRoaXMubWF4LmFkZFNjYWxhcih0KSx0aGlzfWV4cGFuZEJ5T2JqZWN0KHQpe3QudXBkYXRlV29ybGRNYXRyaXgoITEsITEpO2NvbnN0IGU9dC5nZW9tZXRyeTt2b2lkIDAhPT1lJiYobnVsbD09PWUuYm91bmRpbmdCb3gmJmUuY29tcHV0ZUJvdW5kaW5nQm94KCksQXN0LmNvcHkoZS5ib3VuZGluZ0JveCksQXN0LmFwcGx5TWF0cml4NCh0Lm1hdHJpeFdvcmxkKSx0aGlzLnVuaW9uKEFzdCkpO2NvbnN0IG49dC5jaGlsZHJlbjtmb3IobGV0IHQ9MCxlPW4ubGVuZ3RoO3Q8ZTt0KyspdGhpcy5leHBhbmRCeU9iamVjdChuW3RdKTtyZXR1cm4gdGhpc31jb250YWluc1BvaW50KHQpe3JldHVybiEodC54PHRoaXMubWluLnh8fHQueD50aGlzLm1heC54fHx0Lnk8dGhpcy5taW4ueXx8dC55PnRoaXMubWF4Lnl8fHQuejx0aGlzLm1pbi56fHx0Lno+dGhpcy5tYXgueil9Y29udGFpbnNCb3godCl7cmV0dXJuIHRoaXMubWluLng8PXQubWluLngmJnQubWF4Lng8PXRoaXMubWF4LngmJnRoaXMubWluLnk8PXQubWluLnkmJnQubWF4Lnk8PXRoaXMubWF4LnkmJnRoaXMubWluLno8PXQubWluLnomJnQubWF4Lno8PXRoaXMubWF4Lnp9Z2V0UGFyYW1ldGVyKHQsZSl7cmV0dXJuIGUuc2V0KCh0LngtdGhpcy5taW4ueCkvKHRoaXMubWF4LngtdGhpcy5taW4ueCksKHQueS10aGlzLm1pbi55KS8odGhpcy5tYXgueS10aGlzLm1pbi55KSwodC56LXRoaXMubWluLnopLyh0aGlzLm1heC56LXRoaXMubWluLnopKX1pbnRlcnNlY3RzQm94KHQpe3JldHVybiEodC5tYXgueDx0aGlzLm1pbi54fHx0Lm1pbi54PnRoaXMubWF4Lnh8fHQubWF4Lnk8dGhpcy5taW4ueXx8dC5taW4ueT50aGlzLm1heC55fHx0Lm1heC56PHRoaXMubWluLnp8fHQubWluLno+dGhpcy5tYXgueil9aW50ZXJzZWN0c1NwaGVyZSh0KXtyZXR1cm4gdGhpcy5jbGFtcFBvaW50KHQuY2VudGVyLEVzdCksRXN0LmRpc3RhbmNlVG9TcXVhcmVkKHQuY2VudGVyKTw9dC5yYWRpdXMqdC5yYWRpdXN9aW50ZXJzZWN0c1BsYW5lKHQpe2xldCBlLG47cmV0dXJuIHQubm9ybWFsLng+MD8oZT10Lm5vcm1hbC54KnRoaXMubWluLngsbj10Lm5vcm1hbC54KnRoaXMubWF4LngpOihlPXQubm9ybWFsLngqdGhpcy5tYXgueCxuPXQubm9ybWFsLngqdGhpcy5taW4ueCksdC5ub3JtYWwueT4wPyhlKz10Lm5vcm1hbC55KnRoaXMubWluLnksbis9dC5ub3JtYWwueSp0aGlzLm1heC55KTooZSs9dC5ub3JtYWwueSp0aGlzLm1heC55LG4rPXQubm9ybWFsLnkqdGhpcy5taW4ueSksdC5ub3JtYWwuej4wPyhlKz10Lm5vcm1hbC56KnRoaXMubWluLnosbis9dC5ub3JtYWwueip0aGlzLm1heC56KTooZSs9dC5ub3JtYWwueip0aGlzLm1heC56LG4rPXQubm9ybWFsLnoqdGhpcy5taW4ueiksZTw9LXQuY29uc3RhbnQmJm4+PS10LmNvbnN0YW50fWludGVyc2VjdHNUcmlhbmdsZSh0KXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4hMTt0aGlzLmdldENlbnRlcihMc3QpLEJzdC5zdWJWZWN0b3JzKHRoaXMubWF4LExzdCksVHN0LnN1YlZlY3RvcnModC5hLExzdCksTnN0LnN1YlZlY3RvcnModC5iLExzdCksenN0LnN1YlZlY3RvcnModC5jLExzdCksSXN0LnN1YlZlY3RvcnMoTnN0LFRzdCksSHN0LnN1YlZlY3RvcnMoenN0LE5zdCksRnN0LnN1YlZlY3RvcnMoVHN0LHpzdCk7bGV0IGU9WzAsLUlzdC56LElzdC55LDAsLUhzdC56LEhzdC55LDAsLUZzdC56LEZzdC55LElzdC56LDAsLUlzdC54LEhzdC56LDAsLUhzdC54LEZzdC56LDAsLUZzdC54LC1Jc3QueSxJc3QueCwwLC1Ic3QueSxIc3QueCwwLC1Gc3QueSxGc3QueCwwXTtyZXR1cm4hIVVzdChlLFRzdCxOc3QsenN0LEJzdCkmJihlPVsxLDAsMCwwLDEsMCwwLDAsMV0sISFVc3QoZSxUc3QsTnN0LHpzdCxCc3QpJiYoVnN0LmNyb3NzVmVjdG9ycyhJc3QsSHN0KSxlPVtWc3QueCxWc3QueSxWc3Quel0sVXN0KGUsVHN0LE5zdCx6c3QsQnN0KSkpfWNsYW1wUG9pbnQodCxlKXtyZXR1cm4gZS5jb3B5KHQpLmNsYW1wKHRoaXMubWluLHRoaXMubWF4KX1kaXN0YW5jZVRvUG9pbnQodCl7cmV0dXJuIEVzdC5jb3B5KHQpLmNsYW1wKHRoaXMubWluLHRoaXMubWF4KS5zdWIodCkubGVuZ3RoKCl9Z2V0Qm91bmRpbmdTcGhlcmUodCl7cmV0dXJuIHRoaXMuZ2V0Q2VudGVyKHQuY2VudGVyKSx0LnJhZGl1cz0uNSp0aGlzLmdldFNpemUoRXN0KS5sZW5ndGgoKSx0fWludGVyc2VjdCh0KXtyZXR1cm4gdGhpcy5taW4ubWF4KHQubWluKSx0aGlzLm1heC5taW4odC5tYXgpLHRoaXMuaXNFbXB0eSgpJiZ0aGlzLm1ha2VFbXB0eSgpLHRoaXN9dW5pb24odCl7cmV0dXJuIHRoaXMubWluLm1pbih0Lm1pbiksdGhpcy5tYXgubWF4KHQubWF4KSx0aGlzfWFwcGx5TWF0cml4NCh0KXtyZXR1cm4gdGhpcy5pc0VtcHR5KCl8fChSc3RbMF0uc2V0KHRoaXMubWluLngsdGhpcy5taW4ueSx0aGlzLm1pbi56KS5hcHBseU1hdHJpeDQodCksUnN0WzFdLnNldCh0aGlzLm1pbi54LHRoaXMubWluLnksdGhpcy5tYXgueikuYXBwbHlNYXRyaXg0KHQpLFJzdFsyXS5zZXQodGhpcy5taW4ueCx0aGlzLm1heC55LHRoaXMubWluLnopLmFwcGx5TWF0cml4NCh0KSxSc3RbM10uc2V0KHRoaXMubWluLngsdGhpcy5tYXgueSx0aGlzLm1heC56KS5hcHBseU1hdHJpeDQodCksUnN0WzRdLnNldCh0aGlzLm1heC54LHRoaXMubWluLnksdGhpcy5taW4ueikuYXBwbHlNYXRyaXg0KHQpLFJzdFs1XS5zZXQodGhpcy5tYXgueCx0aGlzLm1pbi55LHRoaXMubWF4LnopLmFwcGx5TWF0cml4NCh0KSxSc3RbNl0uc2V0KHRoaXMubWF4LngsdGhpcy5tYXgueSx0aGlzLm1pbi56KS5hcHBseU1hdHJpeDQodCksUnN0WzddLnNldCh0aGlzLm1heC54LHRoaXMubWF4LnksdGhpcy5tYXgueikuYXBwbHlNYXRyaXg0KHQpLHRoaXMuc2V0RnJvbVBvaW50cyhSc3QpKSx0aGlzfXRyYW5zbGF0ZSh0KXtyZXR1cm4gdGhpcy5taW4uYWRkKHQpLHRoaXMubWF4LmFkZCh0KSx0aGlzfWVxdWFscyh0KXtyZXR1cm4gdC5taW4uZXF1YWxzKHRoaXMubWluKSYmdC5tYXguZXF1YWxzKHRoaXMubWF4KX19RHN0LnByb3RvdHlwZS5pc0JveDM9ITA7Y29uc3QgUnN0PVtuZXcgd3N0LG5ldyB3c3QsbmV3IHdzdCxuZXcgd3N0LG5ldyB3c3QsbmV3IHdzdCxuZXcgd3N0LG5ldyB3c3RdLEVzdD1uZXcgd3N0LEFzdD1uZXcgRHN0LFRzdD1uZXcgd3N0LE5zdD1uZXcgd3N0LHpzdD1uZXcgd3N0LElzdD1uZXcgd3N0LEhzdD1uZXcgd3N0LEZzdD1uZXcgd3N0LExzdD1uZXcgd3N0LEJzdD1uZXcgd3N0LFZzdD1uZXcgd3N0LGpzdD1uZXcgd3N0O2Z1bmN0aW9uIFVzdCh0LGUsbixvLGkpe2ZvcihsZXQgYT0wLHI9dC5sZW5ndGgtMzthPD1yO2ErPTMpe2pzdC5mcm9tQXJyYXkodCxhKTtjb25zdCByPWkueCpNYXRoLmFicyhqc3QueCkraS55Kk1hdGguYWJzKGpzdC55KStpLnoqTWF0aC5hYnMoanN0LnopLHM9ZS5kb3QoanN0KSxsPW4uZG90KGpzdCksYz1vLmRvdChqc3QpO2lmKE1hdGgubWF4KC1NYXRoLm1heChzLGwsYyksTWF0aC5taW4ocyxsLGMpKT5yKXJldHVybiExfXJldHVybiEwfWNvbnN0IFdzdD1uZXcgRHN0LEdzdD1uZXcgd3N0LFlzdD1uZXcgd3N0LHFzdD1uZXcgd3N0O2NsYXNzIFpzdHtjb25zdHJ1Y3Rvcih0PW5ldyB3c3QsZT0tMSl7dGhpcy5jZW50ZXI9dCx0aGlzLnJhZGl1cz1lfXNldCh0LGUpe3JldHVybiB0aGlzLmNlbnRlci5jb3B5KHQpLHRoaXMucmFkaXVzPWUsdGhpc31zZXRGcm9tUG9pbnRzKHQsZSl7Y29uc3Qgbj10aGlzLmNlbnRlcjt2b2lkIDAhPT1lP24uY29weShlKTpXc3Quc2V0RnJvbVBvaW50cyh0KS5nZXRDZW50ZXIobik7bGV0IG89MDtmb3IobGV0IGU9MCxpPXQubGVuZ3RoO2U8aTtlKyspbz1NYXRoLm1heChvLG4uZGlzdGFuY2VUb1NxdWFyZWQodFtlXSkpO3JldHVybiB0aGlzLnJhZGl1cz1NYXRoLnNxcnQobyksdGhpc31jb3B5KHQpe3JldHVybiB0aGlzLmNlbnRlci5jb3B5KHQuY2VudGVyKSx0aGlzLnJhZGl1cz10LnJhZGl1cyx0aGlzfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5yYWRpdXM8MH1tYWtlRW1wdHkoKXtyZXR1cm4gdGhpcy5jZW50ZXIuc2V0KDAsMCwwKSx0aGlzLnJhZGl1cz0tMSx0aGlzfWNvbnRhaW5zUG9pbnQodCl7cmV0dXJuIHQuZGlzdGFuY2VUb1NxdWFyZWQodGhpcy5jZW50ZXIpPD10aGlzLnJhZGl1cyp0aGlzLnJhZGl1c31kaXN0YW5jZVRvUG9pbnQodCl7cmV0dXJuIHQuZGlzdGFuY2VUbyh0aGlzLmNlbnRlciktdGhpcy5yYWRpdXN9aW50ZXJzZWN0c1NwaGVyZSh0KXtjb25zdCBlPXRoaXMucmFkaXVzK3QucmFkaXVzO3JldHVybiB0LmNlbnRlci5kaXN0YW5jZVRvU3F1YXJlZCh0aGlzLmNlbnRlcik8PWUqZX1pbnRlcnNlY3RzQm94KHQpe3JldHVybiB0LmludGVyc2VjdHNTcGhlcmUodGhpcyl9aW50ZXJzZWN0c1BsYW5lKHQpe3JldHVybiBNYXRoLmFicyh0LmRpc3RhbmNlVG9Qb2ludCh0aGlzLmNlbnRlcikpPD10aGlzLnJhZGl1c31jbGFtcFBvaW50KHQsZSl7Y29uc3Qgbj10aGlzLmNlbnRlci5kaXN0YW5jZVRvU3F1YXJlZCh0KTtyZXR1cm4gZS5jb3B5KHQpLG4+dGhpcy5yYWRpdXMqdGhpcy5yYWRpdXMmJihlLnN1Yih0aGlzLmNlbnRlcikubm9ybWFsaXplKCksZS5tdWx0aXBseVNjYWxhcih0aGlzLnJhZGl1cykuYWRkKHRoaXMuY2VudGVyKSksZX1nZXRCb3VuZGluZ0JveCh0KXtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/KHQubWFrZUVtcHR5KCksdCk6KHQuc2V0KHRoaXMuY2VudGVyLHRoaXMuY2VudGVyKSx0LmV4cGFuZEJ5U2NhbGFyKHRoaXMucmFkaXVzKSx0KX1hcHBseU1hdHJpeDQodCl7cmV0dXJuIHRoaXMuY2VudGVyLmFwcGx5TWF0cml4NCh0KSx0aGlzLnJhZGl1cz10aGlzLnJhZGl1cyp0LmdldE1heFNjYWxlT25BeGlzKCksdGhpc310cmFuc2xhdGUodCl7cmV0dXJuIHRoaXMuY2VudGVyLmFkZCh0KSx0aGlzfWV4cGFuZEJ5UG9pbnQodCl7cXN0LnN1YlZlY3RvcnModCx0aGlzLmNlbnRlcik7Y29uc3QgZT1xc3QubGVuZ3RoU3EoKTtpZihlPnRoaXMucmFkaXVzKnRoaXMucmFkaXVzKXtjb25zdCB0PU1hdGguc3FydChlKSxuPS41Kih0LXRoaXMucmFkaXVzKTt0aGlzLmNlbnRlci5hZGQocXN0Lm11bHRpcGx5U2NhbGFyKG4vdCkpLHRoaXMucmFkaXVzKz1ufXJldHVybiB0aGlzfXVuaW9uKHQpe3JldHVybiBZc3Quc3ViVmVjdG9ycyh0LmNlbnRlcix0aGlzLmNlbnRlcikubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIodC5yYWRpdXMpLHRoaXMuZXhwYW5kQnlQb2ludChHc3QuY29weSh0LmNlbnRlcikuYWRkKFlzdCkpLHRoaXMuZXhwYW5kQnlQb2ludChHc3QuY29weSh0LmNlbnRlcikuc3ViKFlzdCkpLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0LmNlbnRlci5lcXVhbHModGhpcy5jZW50ZXIpJiZ0LnJhZGl1cz09PXRoaXMucmFkaXVzfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX1jb25zdCBYc3Q9bmV3IHdzdCxLc3Q9bmV3IHdzdCxKc3Q9bmV3IHdzdCxRc3Q9bmV3IHdzdCwkc3Q9bmV3IHdzdCx0bHQ9bmV3IHdzdCxlbHQ9bmV3IHdzdDtjbGFzcyBubHR7Y29uc3RydWN0b3IodD1uZXcgd3N0LGU9bmV3IHdzdCgwLDAsLTEpKXt0aGlzLm9yaWdpbj10LHRoaXMuZGlyZWN0aW9uPWV9c2V0KHQsZSl7cmV0dXJuIHRoaXMub3JpZ2luLmNvcHkodCksdGhpcy5kaXJlY3Rpb24uY29weShlKSx0aGlzfWNvcHkodCl7cmV0dXJuIHRoaXMub3JpZ2luLmNvcHkodC5vcmlnaW4pLHRoaXMuZGlyZWN0aW9uLmNvcHkodC5kaXJlY3Rpb24pLHRoaXN9YXQodCxlKXtyZXR1cm4gZS5jb3B5KHRoaXMuZGlyZWN0aW9uKS5tdWx0aXBseVNjYWxhcih0KS5hZGQodGhpcy5vcmlnaW4pfWxvb2tBdCh0KXtyZXR1cm4gdGhpcy5kaXJlY3Rpb24uY29weSh0KS5zdWIodGhpcy5vcmlnaW4pLm5vcm1hbGl6ZSgpLHRoaXN9cmVjYXN0KHQpe3JldHVybiB0aGlzLm9yaWdpbi5jb3B5KHRoaXMuYXQodCxYc3QpKSx0aGlzfWNsb3Nlc3RQb2ludFRvUG9pbnQodCxlKXtlLnN1YlZlY3RvcnModCx0aGlzLm9yaWdpbik7Y29uc3Qgbj1lLmRvdCh0aGlzLmRpcmVjdGlvbik7cmV0dXJuIG48MD9lLmNvcHkodGhpcy5vcmlnaW4pOmUuY29weSh0aGlzLmRpcmVjdGlvbikubXVsdGlwbHlTY2FsYXIobikuYWRkKHRoaXMub3JpZ2luKX1kaXN0YW5jZVRvUG9pbnQodCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlU3FUb1BvaW50KHQpKX1kaXN0YW5jZVNxVG9Qb2ludCh0KXtjb25zdCBlPVhzdC5zdWJWZWN0b3JzKHQsdGhpcy5vcmlnaW4pLmRvdCh0aGlzLmRpcmVjdGlvbik7cmV0dXJuIGU8MD90aGlzLm9yaWdpbi5kaXN0YW5jZVRvU3F1YXJlZCh0KTooWHN0LmNvcHkodGhpcy5kaXJlY3Rpb24pLm11bHRpcGx5U2NhbGFyKGUpLmFkZCh0aGlzLm9yaWdpbiksWHN0LmRpc3RhbmNlVG9TcXVhcmVkKHQpKX1kaXN0YW5jZVNxVG9TZWdtZW50KHQsZSxuLG8pe0tzdC5jb3B5KHQpLmFkZChlKS5tdWx0aXBseVNjYWxhciguNSksSnN0LmNvcHkoZSkuc3ViKHQpLm5vcm1hbGl6ZSgpLFFzdC5jb3B5KHRoaXMub3JpZ2luKS5zdWIoS3N0KTtjb25zdCBpPS41KnQuZGlzdGFuY2VUbyhlKSxhPS10aGlzLmRpcmVjdGlvbi5kb3QoSnN0KSxyPVFzdC5kb3QodGhpcy5kaXJlY3Rpb24pLHM9LVFzdC5kb3QoSnN0KSxsPVFzdC5sZW5ndGhTcSgpLGM9TWF0aC5hYnMoMS1hKmEpO2xldCBkLHAsbSxmO2lmKGM+MClpZihkPWEqcy1yLHA9YSpyLXMsZj1pKmMsZD49MClpZihwPj0tZilpZihwPD1mKXtjb25zdCB0PTEvYztkKj10LHAqPXQsbT1kKihkK2EqcCsyKnIpK3AqKGEqZCtwKzIqcykrbH1lbHNlIHA9aSxkPU1hdGgubWF4KDAsLShhKnArcikpLG09LWQqZCtwKihwKzIqcykrbDtlbHNlIHA9LWksZD1NYXRoLm1heCgwLC0oYSpwK3IpKSxtPS1kKmQrcCoocCsyKnMpK2w7ZWxzZSBwPD0tZj8oZD1NYXRoLm1heCgwLC0oLWEqaStyKSkscD1kPjA/LWk6TWF0aC5taW4oTWF0aC5tYXgoLWksLXMpLGkpLG09LWQqZCtwKihwKzIqcykrbCk6cDw9Zj8oZD0wLHA9TWF0aC5taW4oTWF0aC5tYXgoLWksLXMpLGkpLG09cCoocCsyKnMpK2wpOihkPU1hdGgubWF4KDAsLShhKmkrcikpLHA9ZD4wP2k6TWF0aC5taW4oTWF0aC5tYXgoLWksLXMpLGkpLG09LWQqZCtwKihwKzIqcykrbCk7ZWxzZSBwPWE+MD8taTppLGQ9TWF0aC5tYXgoMCwtKGEqcCtyKSksbT0tZCpkK3AqKHArMipzKStsO3JldHVybiBuJiZuLmNvcHkodGhpcy5kaXJlY3Rpb24pLm11bHRpcGx5U2NhbGFyKGQpLmFkZCh0aGlzLm9yaWdpbiksbyYmby5jb3B5KEpzdCkubXVsdGlwbHlTY2FsYXIocCkuYWRkKEtzdCksbX1pbnRlcnNlY3RTcGhlcmUodCxlKXtYc3Quc3ViVmVjdG9ycyh0LmNlbnRlcix0aGlzLm9yaWdpbik7Y29uc3Qgbj1Yc3QuZG90KHRoaXMuZGlyZWN0aW9uKSxvPVhzdC5kb3QoWHN0KS1uKm4saT10LnJhZGl1cyp0LnJhZGl1cztpZihvPmkpcmV0dXJuIG51bGw7Y29uc3QgYT1NYXRoLnNxcnQoaS1vKSxyPW4tYSxzPW4rYTtyZXR1cm4gcjwwJiZzPDA/bnVsbDp0aGlzLmF0KHI8MD9zOnIsZSl9aW50ZXJzZWN0c1NwaGVyZSh0KXtyZXR1cm4gdGhpcy5kaXN0YW5jZVNxVG9Qb2ludCh0LmNlbnRlcik8PXQucmFkaXVzKnQucmFkaXVzfWRpc3RhbmNlVG9QbGFuZSh0KXtjb25zdCBlPXQubm9ybWFsLmRvdCh0aGlzLmRpcmVjdGlvbik7aWYoMD09PWUpcmV0dXJuIDA9PT10LmRpc3RhbmNlVG9Qb2ludCh0aGlzLm9yaWdpbik/MDpudWxsO2NvbnN0IG49LSh0aGlzLm9yaWdpbi5kb3QodC5ub3JtYWwpK3QuY29uc3RhbnQpL2U7cmV0dXJuIG4+PTA/bjpudWxsfWludGVyc2VjdFBsYW5lKHQsZSl7Y29uc3Qgbj10aGlzLmRpc3RhbmNlVG9QbGFuZSh0KTtyZXR1cm4gbnVsbD09PW4/bnVsbDp0aGlzLmF0KG4sZSl9aW50ZXJzZWN0c1BsYW5lKHQpe2NvbnN0IGU9dC5kaXN0YW5jZVRvUG9pbnQodGhpcy5vcmlnaW4pO2lmKDA9PT1lKXJldHVybiEwO3JldHVybiB0Lm5vcm1hbC5kb3QodGhpcy5kaXJlY3Rpb24pKmU8MH1pbnRlcnNlY3RCb3godCxlKXtsZXQgbixvLGksYSxyLHM7Y29uc3QgbD0xL3RoaXMuZGlyZWN0aW9uLngsYz0xL3RoaXMuZGlyZWN0aW9uLnksZD0xL3RoaXMuZGlyZWN0aW9uLnoscD10aGlzLm9yaWdpbjtyZXR1cm4gbD49MD8obj0odC5taW4ueC1wLngpKmwsbz0odC5tYXgueC1wLngpKmwpOihuPSh0Lm1heC54LXAueCkqbCxvPSh0Lm1pbi54LXAueCkqbCksYz49MD8oaT0odC5taW4ueS1wLnkpKmMsYT0odC5tYXgueS1wLnkpKmMpOihpPSh0Lm1heC55LXAueSkqYyxhPSh0Lm1pbi55LXAueSkqYyksbj5hfHxpPm8/bnVsbDooKGk+bnx8biE9bikmJihuPWkpLChhPG98fG8hPW8pJiYobz1hKSxkPj0wPyhyPSh0Lm1pbi56LXAueikqZCxzPSh0Lm1heC56LXAueikqZCk6KHI9KHQubWF4LnotcC56KSpkLHM9KHQubWluLnotcC56KSpkKSxuPnN8fHI+bz9udWxsOigocj5ufHxuIT1uKSYmKG49ciksKHM8b3x8byE9bykmJihvPXMpLG88MD9udWxsOnRoaXMuYXQobj49MD9uOm8sZSkpKX1pbnRlcnNlY3RzQm94KHQpe3JldHVybiBudWxsIT09dGhpcy5pbnRlcnNlY3RCb3godCxYc3QpfWludGVyc2VjdFRyaWFuZ2xlKHQsZSxuLG8saSl7JHN0LnN1YlZlY3RvcnMoZSx0KSx0bHQuc3ViVmVjdG9ycyhuLHQpLGVsdC5jcm9zc1ZlY3RvcnMoJHN0LHRsdCk7bGV0IGEscj10aGlzLmRpcmVjdGlvbi5kb3QoZWx0KTtpZihyPjApe2lmKG8pcmV0dXJuIG51bGw7YT0xfWVsc2V7aWYoIShyPDApKXJldHVybiBudWxsO2E9LTEscj0tcn1Rc3Quc3ViVmVjdG9ycyh0aGlzLm9yaWdpbix0KTtjb25zdCBzPWEqdGhpcy5kaXJlY3Rpb24uZG90KHRsdC5jcm9zc1ZlY3RvcnMoUXN0LHRsdCkpO2lmKHM8MClyZXR1cm4gbnVsbDtjb25zdCBsPWEqdGhpcy5kaXJlY3Rpb24uZG90KCRzdC5jcm9zcyhRc3QpKTtpZihsPDApcmV0dXJuIG51bGw7aWYocytsPnIpcmV0dXJuIG51bGw7Y29uc3QgYz0tYSpRc3QuZG90KGVsdCk7cmV0dXJuIGM8MD9udWxsOnRoaXMuYXQoYy9yLGkpfWFwcGx5TWF0cml4NCh0KXtyZXR1cm4gdGhpcy5vcmlnaW4uYXBwbHlNYXRyaXg0KHQpLHRoaXMuZGlyZWN0aW9uLnRyYW5zZm9ybURpcmVjdGlvbih0KSx0aGlzfWVxdWFscyh0KXtyZXR1cm4gdC5vcmlnaW4uZXF1YWxzKHRoaXMub3JpZ2luKSYmdC5kaXJlY3Rpb24uZXF1YWxzKHRoaXMuZGlyZWN0aW9uKX1jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX19Y2xhc3Mgb2x0e2NvbnN0cnVjdG9yKCl7dGhpcy5lbGVtZW50cz1bMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMV0sYXJndW1lbnRzLmxlbmd0aD4wJiZjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiB0aGUgY29uc3RydWN0b3Igbm8gbG9uZ2VyIHJlYWRzIGFyZ3VtZW50cy4gdXNlIC5zZXQoKSBpbnN0ZWFkLiIpfXNldCh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnKXtjb25zdCBoPXRoaXMuZWxlbWVudHM7cmV0dXJuIGhbMF09dCxoWzRdPWUsaFs4XT1uLGhbMTJdPW8saFsxXT1pLGhbNV09YSxoWzldPXIsaFsxM109cyxoWzJdPWwsaFs2XT1jLGhbMTBdPWQsaFsxNF09cCxoWzNdPW0saFs3XT1mLGhbMTFdPXUsaFsxNV09Zyx0aGlzfWlkZW50aXR5KCl7cmV0dXJuIHRoaXMuc2V0KDEsMCwwLDAsMCwxLDAsMCwwLDAsMSwwLDAsMCwwLDEpLHRoaXN9Y2xvbmUoKXtyZXR1cm4obmV3IG9sdCkuZnJvbUFycmF5KHRoaXMuZWxlbWVudHMpfWNvcHkodCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC5lbGVtZW50cztyZXR1cm4gZVswXT1uWzBdLGVbMV09blsxXSxlWzJdPW5bMl0sZVszXT1uWzNdLGVbNF09bls0XSxlWzVdPW5bNV0sZVs2XT1uWzZdLGVbN109bls3XSxlWzhdPW5bOF0sZVs5XT1uWzldLGVbMTBdPW5bMTBdLGVbMTFdPW5bMTFdLGVbMTJdPW5bMTJdLGVbMTNdPW5bMTNdLGVbMTRdPW5bMTRdLGVbMTVdPW5bMTVdLHRoaXN9Y29weVBvc2l0aW9uKHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50cyxuPXQuZWxlbWVudHM7cmV0dXJuIGVbMTJdPW5bMTJdLGVbMTNdPW5bMTNdLGVbMTRdPW5bMTRdLHRoaXN9c2V0RnJvbU1hdHJpeDModCl7Y29uc3QgZT10LmVsZW1lbnRzO3JldHVybiB0aGlzLnNldChlWzBdLGVbM10sZVs2XSwwLGVbMV0sZVs0XSxlWzddLDAsZVsyXSxlWzVdLGVbOF0sMCwwLDAsMCwxKSx0aGlzfWV4dHJhY3RCYXNpcyh0LGUsbil7cmV0dXJuIHQuc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDApLGUuc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDEpLG4uc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDIpLHRoaXN9bWFrZUJhc2lzKHQsZSxuKXtyZXR1cm4gdGhpcy5zZXQodC54LGUueCxuLngsMCx0LnksZS55LG4ueSwwLHQueixlLnosbi56LDAsMCwwLDAsMSksdGhpc31leHRyYWN0Um90YXRpb24odCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC5lbGVtZW50cyxvPTEvaWx0LnNldEZyb21NYXRyaXhDb2x1bW4odCwwKS5sZW5ndGgoKSxpPTEvaWx0LnNldEZyb21NYXRyaXhDb2x1bW4odCwxKS5sZW5ndGgoKSxhPTEvaWx0LnNldEZyb21NYXRyaXhDb2x1bW4odCwyKS5sZW5ndGgoKTtyZXR1cm4gZVswXT1uWzBdKm8sZVsxXT1uWzFdKm8sZVsyXT1uWzJdKm8sZVszXT0wLGVbNF09bls0XSppLGVbNV09bls1XSppLGVbNl09bls2XSppLGVbN109MCxlWzhdPW5bOF0qYSxlWzldPW5bOV0qYSxlWzEwXT1uWzEwXSphLGVbMTFdPTAsZVsxMl09MCxlWzEzXT0wLGVbMTRdPTAsZVsxNV09MSx0aGlzfW1ha2VSb3RhdGlvbkZyb21FdWxlcih0KXt0JiZ0LmlzRXVsZXJ8fGNvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5tYWtlUm90YXRpb25Gcm9tRXVsZXIoKSBub3cgZXhwZWN0cyBhIEV1bGVyIHJvdGF0aW9uIHJhdGhlciB0aGFuIGEgVmVjdG9yMyBhbmQgb3JkZXIuIik7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC54LG89dC55LGk9dC56LGE9TWF0aC5jb3Mobikscj1NYXRoLnNpbihuKSxzPU1hdGguY29zKG8pLGw9TWF0aC5zaW4obyksYz1NYXRoLmNvcyhpKSxkPU1hdGguc2luKGkpO2lmKCJYWVoiPT09dC5vcmRlcil7Y29uc3QgdD1hKmMsbj1hKmQsbz1yKmMsaT1yKmQ7ZVswXT1zKmMsZVs0XT0tcypkLGVbOF09bCxlWzFdPW4rbypsLGVbNV09dC1pKmwsZVs5XT0tcipzLGVbMl09aS10KmwsZVs2XT1vK24qbCxlWzEwXT1hKnN9ZWxzZSBpZigiWVhaIj09PXQub3JkZXIpe2NvbnN0IHQ9cypjLG49cypkLG89bCpjLGk9bCpkO2VbMF09dCtpKnIsZVs0XT1vKnItbixlWzhdPWEqbCxlWzFdPWEqZCxlWzVdPWEqYyxlWzldPS1yLGVbMl09bipyLW8sZVs2XT1pK3QqcixlWzEwXT1hKnN9ZWxzZSBpZigiWlhZIj09PXQub3JkZXIpe2NvbnN0IHQ9cypjLG49cypkLG89bCpjLGk9bCpkO2VbMF09dC1pKnIsZVs0XT0tYSpkLGVbOF09bytuKnIsZVsxXT1uK28qcixlWzVdPWEqYyxlWzldPWktdCpyLGVbMl09LWEqbCxlWzZdPXIsZVsxMF09YSpzfWVsc2UgaWYoIlpZWCI9PT10Lm9yZGVyKXtjb25zdCB0PWEqYyxuPWEqZCxvPXIqYyxpPXIqZDtlWzBdPXMqYyxlWzRdPW8qbC1uLGVbOF09dCpsK2ksZVsxXT1zKmQsZVs1XT1pKmwrdCxlWzldPW4qbC1vLGVbMl09LWwsZVs2XT1yKnMsZVsxMF09YSpzfWVsc2UgaWYoIllaWCI9PT10Lm9yZGVyKXtjb25zdCB0PWEqcyxuPWEqbCxvPXIqcyxpPXIqbDtlWzBdPXMqYyxlWzRdPWktdCpkLGVbOF09bypkK24sZVsxXT1kLGVbNV09YSpjLGVbOV09LXIqYyxlWzJdPS1sKmMsZVs2XT1uKmQrbyxlWzEwXT10LWkqZH1lbHNlIGlmKCJYWlkiPT09dC5vcmRlcil7Y29uc3QgdD1hKnMsbj1hKmwsbz1yKnMsaT1yKmw7ZVswXT1zKmMsZVs0XT0tZCxlWzhdPWwqYyxlWzFdPXQqZCtpLGVbNV09YSpjLGVbOV09bipkLW8sZVsyXT1vKmQtbixlWzZdPXIqYyxlWzEwXT1pKmQrdH1yZXR1cm4gZVszXT0wLGVbN109MCxlWzExXT0wLGVbMTJdPTAsZVsxM109MCxlWzE0XT0wLGVbMTVdPTEsdGhpc31tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbih0KXtyZXR1cm4gdGhpcy5jb21wb3NlKHJsdCx0LHNsdCl9bG9va0F0KHQsZSxuKXtjb25zdCBvPXRoaXMuZWxlbWVudHM7cmV0dXJuIGRsdC5zdWJWZWN0b3JzKHQsZSksMD09PWRsdC5sZW5ndGhTcSgpJiYoZGx0Lno9MSksZGx0Lm5vcm1hbGl6ZSgpLGxsdC5jcm9zc1ZlY3RvcnMobixkbHQpLDA9PT1sbHQubGVuZ3RoU3EoKSYmKDE9PT1NYXRoLmFicyhuLnopP2RsdC54Kz0xZS00OmRsdC56Kz0xZS00LGRsdC5ub3JtYWxpemUoKSxsbHQuY3Jvc3NWZWN0b3JzKG4sZGx0KSksbGx0Lm5vcm1hbGl6ZSgpLGNsdC5jcm9zc1ZlY3RvcnMoZGx0LGxsdCksb1swXT1sbHQueCxvWzRdPWNsdC54LG9bOF09ZGx0Lngsb1sxXT1sbHQueSxvWzVdPWNsdC55LG9bOV09ZGx0Lnksb1syXT1sbHQueixvWzZdPWNsdC56LG9bMTBdPWRsdC56LHRoaXN9bXVsdGlwbHkodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHkoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5tdWx0aXBseU1hdHJpY2VzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLm11bHRpcGx5TWF0cmljZXModCxlKSk6dGhpcy5tdWx0aXBseU1hdHJpY2VzKHRoaXMsdCl9cHJlbXVsdGlwbHkodCl7cmV0dXJuIHRoaXMubXVsdGlwbHlNYXRyaWNlcyh0LHRoaXMpfW11bHRpcGx5TWF0cmljZXModCxlKXtjb25zdCBuPXQuZWxlbWVudHMsbz1lLmVsZW1lbnRzLGk9dGhpcy5lbGVtZW50cyxhPW5bMF0scj1uWzRdLHM9bls4XSxsPW5bMTJdLGM9blsxXSxkPW5bNV0scD1uWzldLG09blsxM10sZj1uWzJdLHU9bls2XSxnPW5bMTBdLGg9blsxNF0sYj1uWzNdLHk9bls3XSxfPW5bMTFdLEM9blsxNV0sTT1vWzBdLHY9b1s0XSx4PW9bOF0sTz1vWzEyXSxQPW9bMV0sdz1vWzVdLGs9b1s5XSxTPW9bMTNdLEQ9b1syXSxSPW9bNl0sRT1vWzEwXSxBPW9bMTRdLFQ9b1szXSxOPW9bN10sej1vWzExXSxJPW9bMTVdO3JldHVybiBpWzBdPWEqTStyKlArcypEK2wqVCxpWzRdPWEqdityKncrcypSK2wqTixpWzhdPWEqeCtyKmsrcypFK2wqeixpWzEyXT1hKk8rcipTK3MqQStsKkksaVsxXT1jKk0rZCpQK3AqRCttKlQsaVs1XT1jKnYrZCp3K3AqUittKk4saVs5XT1jKngrZCprK3AqRSttKnosaVsxM109YypPK2QqUytwKkErbSpJLGlbMl09ZipNK3UqUCtnKkQraCpULGlbNl09Zip2K3UqdytnKlIraCpOLGlbMTBdPWYqeCt1KmsrZypFK2gqeixpWzE0XT1mKk8rdSpTK2cqQStoKkksaVszXT1iKk0reSpQK18qRCtDKlQsaVs3XT1iKnYreSp3K18qUitDKk4saVsxMV09Yip4K3kqaytfKkUrQyp6LGlbMTVdPWIqTyt5KlMrXypBK0MqSSx0aGlzfW11bHRpcGx5U2NhbGFyKHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50cztyZXR1cm4gZVswXSo9dCxlWzRdKj10LGVbOF0qPXQsZVsxMl0qPXQsZVsxXSo9dCxlWzVdKj10LGVbOV0qPXQsZVsxM10qPXQsZVsyXSo9dCxlWzZdKj10LGVbMTBdKj10LGVbMTRdKj10LGVbM10qPXQsZVs3XSo9dCxlWzExXSo9dCxlWzE1XSo9dCx0aGlzfWRldGVybWluYW50KCl7Y29uc3QgdD10aGlzLmVsZW1lbnRzLGU9dFswXSxuPXRbNF0sbz10WzhdLGk9dFsxMl0sYT10WzFdLHI9dFs1XSxzPXRbOV0sbD10WzEzXSxjPXRbMl0sZD10WzZdLHA9dFsxMF0sbT10WzE0XTtyZXR1cm4gdFszXSooK2kqcypkLW8qbCpkLWkqcipwK24qbCpwK28qciptLW4qcyptKSt0WzddKigrZSpzKm0tZSpsKnAraSphKnAtbyphKm0rbypsKmMtaSpzKmMpK3RbMTFdKigrZSpsKmQtZSpyKm0taSphKmQrbiphKm0raSpyKmMtbipsKmMpK3RbMTVdKigtbypyKmMtZSpzKmQrZSpyKnArbyphKmQtbiphKnArbipzKmMpfXRyYW5zcG9zZSgpe2NvbnN0IHQ9dGhpcy5lbGVtZW50cztsZXQgZTtyZXR1cm4gZT10WzFdLHRbMV09dFs0XSx0WzRdPWUsZT10WzJdLHRbMl09dFs4XSx0WzhdPWUsZT10WzZdLHRbNl09dFs5XSx0WzldPWUsZT10WzNdLHRbM109dFsxMl0sdFsxMl09ZSxlPXRbN10sdFs3XT10WzEzXSx0WzEzXT1lLGU9dFsxMV0sdFsxMV09dFsxNF0sdFsxNF09ZSx0aGlzfXNldFBvc2l0aW9uKHQsZSxuKXtjb25zdCBvPXRoaXMuZWxlbWVudHM7cmV0dXJuIHQuaXNWZWN0b3IzPyhvWzEyXT10Lngsb1sxM109dC55LG9bMTRdPXQueik6KG9bMTJdPXQsb1sxM109ZSxvWzE0XT1uKSx0aGlzfWludmVydCgpe2NvbnN0IHQ9dGhpcy5lbGVtZW50cyxlPXRbMF0sbj10WzFdLG89dFsyXSxpPXRbM10sYT10WzRdLHI9dFs1XSxzPXRbNl0sbD10WzddLGM9dFs4XSxkPXRbOV0scD10WzEwXSxtPXRbMTFdLGY9dFsxMl0sdT10WzEzXSxnPXRbMTRdLGg9dFsxNV0sYj1kKmcqbC11KnAqbCt1KnMqbS1yKmcqbS1kKnMqaCtyKnAqaCx5PWYqcCpsLWMqZypsLWYqcyptK2EqZyptK2MqcypoLWEqcCpoLF89Yyp1KmwtZipkKmwrZipyKm0tYSp1Km0tYypyKmgrYSpkKmgsQz1mKmQqcy1jKnUqcy1mKnIqcCthKnUqcCtjKnIqZy1hKmQqZyxNPWUqYituKnkrbypfK2kqQztpZigwPT09TSlyZXR1cm4gdGhpcy5zZXQoMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCk7Y29uc3Qgdj0xL007cmV0dXJuIHRbMF09Yip2LHRbMV09KHUqcCppLWQqZyppLXUqbyptK24qZyptK2QqbypoLW4qcCpoKSp2LHRbMl09KHIqZyppLXUqcyppK3UqbypsLW4qZypsLXIqbypoK24qcypoKSp2LHRbM109KGQqcyppLXIqcCppLWQqbypsK24qcCpsK3IqbyptLW4qcyptKSp2LHRbNF09eSp2LHRbNV09KGMqZyppLWYqcCppK2YqbyptLWUqZyptLWMqbypoK2UqcCpoKSp2LHRbNl09KGYqcyppLWEqZyppLWYqbypsK2UqZypsK2EqbypoLWUqcypoKSp2LHRbN109KGEqcCppLWMqcyppK2MqbypsLWUqcCpsLWEqbyptK2UqcyptKSp2LHRbOF09Xyp2LHRbOV09KGYqZCppLWMqdSppLWYqbiptK2UqdSptK2MqbipoLWUqZCpoKSp2LHRbMTBdPShhKnUqaS1mKnIqaStmKm4qbC1lKnUqbC1hKm4qaCtlKnIqaCkqdix0WzExXT0oYypyKmktYSpkKmktYypuKmwrZSpkKmwrYSpuKm0tZSpyKm0pKnYsdFsxMl09Qyp2LHRbMTNdPShjKnUqby1mKmQqbytmKm4qcC1lKnUqcC1jKm4qZytlKmQqZykqdix0WzE0XT0oZipyKm8tYSp1Km8tZipuKnMrZSp1KnMrYSpuKmctZSpyKmcpKnYsdFsxNV09KGEqZCpvLWMqcipvK2MqbipzLWUqZCpzLWEqbipwK2UqcipwKSp2LHRoaXN9c2NhbGUodCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC54LG89dC55LGk9dC56O3JldHVybiBlWzBdKj1uLGVbNF0qPW8sZVs4XSo9aSxlWzFdKj1uLGVbNV0qPW8sZVs5XSo9aSxlWzJdKj1uLGVbNl0qPW8sZVsxMF0qPWksZVszXSo9bixlWzddKj1vLGVbMTFdKj1pLHRoaXN9Z2V0TWF4U2NhbGVPbkF4aXMoKXtjb25zdCB0PXRoaXMuZWxlbWVudHM7cmV0dXJuIE1hdGguc3FydChNYXRoLm1heCh0WzBdKnRbMF0rdFsxXSp0WzFdK3RbMl0qdFsyXSx0WzRdKnRbNF0rdFs1XSp0WzVdK3RbNl0qdFs2XSx0WzhdKnRbOF0rdFs5XSp0WzldK3RbMTBdKnRbMTBdKSl9bWFrZVRyYW5zbGF0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5zZXQoMSwwLDAsdCwwLDEsMCxlLDAsMCwxLG4sMCwwLDAsMSksdGhpc31tYWtlUm90YXRpb25YKHQpe2NvbnN0IGU9TWF0aC5jb3ModCksbj1NYXRoLnNpbih0KTtyZXR1cm4gdGhpcy5zZXQoMSwwLDAsMCwwLGUsLW4sMCwwLG4sZSwwLDAsMCwwLDEpLHRoaXN9bWFrZVJvdGF0aW9uWSh0KXtjb25zdCBlPU1hdGguY29zKHQpLG49TWF0aC5zaW4odCk7cmV0dXJuIHRoaXMuc2V0KGUsMCxuLDAsMCwxLDAsMCwtbiwwLGUsMCwwLDAsMCwxKSx0aGlzfW1ha2VSb3RhdGlvbloodCl7Y29uc3QgZT1NYXRoLmNvcyh0KSxuPU1hdGguc2luKHQpO3JldHVybiB0aGlzLnNldChlLC1uLDAsMCxuLGUsMCwwLDAsMCwxLDAsMCwwLDAsMSksdGhpc31tYWtlUm90YXRpb25BeGlzKHQsZSl7Y29uc3Qgbj1NYXRoLmNvcyhlKSxvPU1hdGguc2luKGUpLGk9MS1uLGE9dC54LHI9dC55LHM9dC56LGw9aSphLGM9aSpyO3JldHVybiB0aGlzLnNldChsKmErbixsKnItbypzLGwqcytvKnIsMCxsKnIrbypzLGMqcituLGMqcy1vKmEsMCxsKnMtbypyLGMqcytvKmEsaSpzKnMrbiwwLDAsMCwwLDEpLHRoaXN9bWFrZVNjYWxlKHQsZSxuKXtyZXR1cm4gdGhpcy5zZXQodCwwLDAsMCwwLGUsMCwwLDAsMCxuLDAsMCwwLDAsMSksdGhpc31tYWtlU2hlYXIodCxlLG4sbyxpLGEpe3JldHVybiB0aGlzLnNldCgxLG4saSwwLHQsMSxhLDAsZSxvLDEsMCwwLDAsMCwxKSx0aGlzfWNvbXBvc2UodCxlLG4pe2NvbnN0IG89dGhpcy5lbGVtZW50cyxpPWUuX3gsYT1lLl95LHI9ZS5feixzPWUuX3csbD1pK2ksYz1hK2EsZD1yK3IscD1pKmwsbT1pKmMsZj1pKmQsdT1hKmMsZz1hKmQsaD1yKmQsYj1zKmwseT1zKmMsXz1zKmQsQz1uLngsTT1uLnksdj1uLno7cmV0dXJuIG9bMF09KDEtKHUraCkpKkMsb1sxXT0obStfKSpDLG9bMl09KGYteSkqQyxvWzNdPTAsb1s0XT0obS1fKSpNLG9bNV09KDEtKHAraCkpKk0sb1s2XT0oZytiKSpNLG9bN109MCxvWzhdPShmK3kpKnYsb1s5XT0oZy1iKSp2LG9bMTBdPSgxLShwK3UpKSp2LG9bMTFdPTAsb1sxMl09dC54LG9bMTNdPXQueSxvWzE0XT10Lnosb1sxNV09MSx0aGlzfWRlY29tcG9zZSh0LGUsbil7Y29uc3Qgbz10aGlzLmVsZW1lbnRzO2xldCBpPWlsdC5zZXQob1swXSxvWzFdLG9bMl0pLmxlbmd0aCgpO2NvbnN0IGE9aWx0LnNldChvWzRdLG9bNV0sb1s2XSkubGVuZ3RoKCkscj1pbHQuc2V0KG9bOF0sb1s5XSxvWzEwXSkubGVuZ3RoKCk7dGhpcy5kZXRlcm1pbmFudCgpPDAmJihpPS1pKSx0Lng9b1sxMl0sdC55PW9bMTNdLHQuej1vWzE0XSxhbHQuY29weSh0aGlzKTtjb25zdCBzPTEvaSxsPTEvYSxjPTEvcjtyZXR1cm4gYWx0LmVsZW1lbnRzWzBdKj1zLGFsdC5lbGVtZW50c1sxXSo9cyxhbHQuZWxlbWVudHNbMl0qPXMsYWx0LmVsZW1lbnRzWzRdKj1sLGFsdC5lbGVtZW50c1s1XSo9bCxhbHQuZWxlbWVudHNbNl0qPWwsYWx0LmVsZW1lbnRzWzhdKj1jLGFsdC5lbGVtZW50c1s5XSo9YyxhbHQuZWxlbWVudHNbMTBdKj1jLGUuc2V0RnJvbVJvdGF0aW9uTWF0cml4KGFsdCksbi54PWksbi55PWEsbi56PXIsdGhpc31tYWtlUGVyc3BlY3RpdmUodCxlLG4sbyxpLGEpe3ZvaWQgMD09PWEmJmNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm1ha2VQZXJzcGVjdGl2ZSgpIGhhcyBiZWVuIHJlZGVmaW5lZCBhbmQgaGFzIGEgbmV3IHNpZ25hdHVyZS4gUGxlYXNlIGNoZWNrIHRoZSBkb2NzLiIpO2NvbnN0IHI9dGhpcy5lbGVtZW50cyxzPTIqaS8obi1vKSxsPShlK3QpLyhlLXQpLGM9KG4rbykvKG4tbyksZD0tKGEraSkvKGEtaSkscD0tMiphKmkvKGEtaSk7cmV0dXJuIHJbMF09MippLyhlLXQpLHJbNF09MCxyWzhdPWwsclsxMl09MCxyWzFdPTAscls1XT1zLHJbOV09YyxyWzEzXT0wLHJbMl09MCxyWzZdPTAsclsxMF09ZCxyWzE0XT1wLHJbM109MCxyWzddPTAsclsxMV09LTEsclsxNV09MCx0aGlzfW1ha2VPcnRob2dyYXBoaWModCxlLG4sbyxpLGEpe2NvbnN0IHI9dGhpcy5lbGVtZW50cyxzPTEvKGUtdCksbD0xLyhuLW8pLGM9MS8oYS1pKSxkPShlK3QpKnMscD0obitvKSpsLG09KGEraSkqYztyZXR1cm4gclswXT0yKnMscls0XT0wLHJbOF09MCxyWzEyXT0tZCxyWzFdPTAscls1XT0yKmwscls5XT0wLHJbMTNdPS1wLHJbMl09MCxyWzZdPTAsclsxMF09LTIqYyxyWzE0XT0tbSxyWzNdPTAscls3XT0wLHJbMTFdPTAsclsxNV09MSx0aGlzfWVxdWFscyh0KXtjb25zdCBlPXRoaXMuZWxlbWVudHMsbj10LmVsZW1lbnRzO2ZvcihsZXQgdD0wO3Q8MTY7dCsrKWlmKGVbdF0hPT1uW3RdKXJldHVybiExO3JldHVybiEwfWZyb21BcnJheSh0LGU9MCl7Zm9yKGxldCBuPTA7bjwxNjtuKyspdGhpcy5lbGVtZW50c1tuXT10W24rZV07cmV0dXJuIHRoaXN9dG9BcnJheSh0PVtdLGU9MCl7Y29uc3Qgbj10aGlzLmVsZW1lbnRzO3JldHVybiB0W2VdPW5bMF0sdFtlKzFdPW5bMV0sdFtlKzJdPW5bMl0sdFtlKzNdPW5bM10sdFtlKzRdPW5bNF0sdFtlKzVdPW5bNV0sdFtlKzZdPW5bNl0sdFtlKzddPW5bN10sdFtlKzhdPW5bOF0sdFtlKzldPW5bOV0sdFtlKzEwXT1uWzEwXSx0W2UrMTFdPW5bMTFdLHRbZSsxMl09blsxMl0sdFtlKzEzXT1uWzEzXSx0W2UrMTRdPW5bMTRdLHRbZSsxNV09blsxNV0sdH19b2x0LnByb3RvdHlwZS5pc01hdHJpeDQ9ITA7Y29uc3QgaWx0PW5ldyB3c3QsYWx0PW5ldyBvbHQscmx0PW5ldyB3c3QoMCwwLDApLHNsdD1uZXcgd3N0KDEsMSwxKSxsbHQ9bmV3IHdzdCxjbHQ9bmV3IHdzdCxkbHQ9bmV3IHdzdCxwbHQ9bmV3IG9sdCxtbHQ9bmV3IFBzdDtjbGFzcyBmbHR7Y29uc3RydWN0b3IodD0wLGU9MCxuPTAsbz1mbHQuRGVmYXVsdE9yZGVyKXt0aGlzLl94PXQsdGhpcy5feT1lLHRoaXMuX3o9bix0aGlzLl9vcmRlcj1vfWdldCB4KCl7cmV0dXJuIHRoaXMuX3h9c2V0IHgodCl7dGhpcy5feD10LHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX1nZXQgeSgpe3JldHVybiB0aGlzLl95fXNldCB5KHQpe3RoaXMuX3k9dCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9Z2V0IHooKXtyZXR1cm4gdGhpcy5fen1zZXQgeih0KXt0aGlzLl96PXQsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpfWdldCBvcmRlcigpe3JldHVybiB0aGlzLl9vcmRlcn1zZXQgb3JkZXIodCl7dGhpcy5fb3JkZXI9dCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9c2V0KHQsZSxuLG89dGhpcy5fb3JkZXIpe3JldHVybiB0aGlzLl94PXQsdGhpcy5feT1lLHRoaXMuX3o9bix0aGlzLl9vcmRlcj1vLHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKSx0aGlzfWNsb25lKCl7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMuX3gsdGhpcy5feSx0aGlzLl96LHRoaXMuX29yZGVyKX1jb3B5KHQpe3JldHVybiB0aGlzLl94PXQuX3gsdGhpcy5feT10Ll95LHRoaXMuX3o9dC5feix0aGlzLl9vcmRlcj10Ll9vcmRlcix0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zZXRGcm9tUm90YXRpb25NYXRyaXgodCxlPXRoaXMuX29yZGVyLG49ITApe2NvbnN0IG89dC5lbGVtZW50cyxpPW9bMF0sYT1vWzRdLHI9b1s4XSxzPW9bMV0sbD1vWzVdLGM9b1s5XSxkPW9bMl0scD1vWzZdLG09b1sxMF07c3dpdGNoKGUpe2Nhc2UiWFlaIjp0aGlzLl95PU1hdGguYXNpbihwc3QociwtMSwxKSksTWF0aC5hYnMocik8Ljk5OTk5OTk/KHRoaXMuX3g9TWF0aC5hdGFuMigtYyxtKSx0aGlzLl96PU1hdGguYXRhbjIoLWEsaSkpOih0aGlzLl94PU1hdGguYXRhbjIocCxsKSx0aGlzLl96PTApO2JyZWFrO2Nhc2UiWVhaIjp0aGlzLl94PU1hdGguYXNpbigtcHN0KGMsLTEsMSkpLE1hdGguYWJzKGMpPC45OTk5OTk5Pyh0aGlzLl95PU1hdGguYXRhbjIocixtKSx0aGlzLl96PU1hdGguYXRhbjIocyxsKSk6KHRoaXMuX3k9TWF0aC5hdGFuMigtZCxpKSx0aGlzLl96PTApO2JyZWFrO2Nhc2UiWlhZIjp0aGlzLl94PU1hdGguYXNpbihwc3QocCwtMSwxKSksTWF0aC5hYnMocCk8Ljk5OTk5OTk/KHRoaXMuX3k9TWF0aC5hdGFuMigtZCxtKSx0aGlzLl96PU1hdGguYXRhbjIoLWEsbCkpOih0aGlzLl95PTAsdGhpcy5fej1NYXRoLmF0YW4yKHMsaSkpO2JyZWFrO2Nhc2UiWllYIjp0aGlzLl95PU1hdGguYXNpbigtcHN0KGQsLTEsMSkpLE1hdGguYWJzKGQpPC45OTk5OTk5Pyh0aGlzLl94PU1hdGguYXRhbjIocCxtKSx0aGlzLl96PU1hdGguYXRhbjIocyxpKSk6KHRoaXMuX3g9MCx0aGlzLl96PU1hdGguYXRhbjIoLWEsbCkpO2JyZWFrO2Nhc2UiWVpYIjp0aGlzLl96PU1hdGguYXNpbihwc3QocywtMSwxKSksTWF0aC5hYnMocyk8Ljk5OTk5OTk/KHRoaXMuX3g9TWF0aC5hdGFuMigtYyxsKSx0aGlzLl95PU1hdGguYXRhbjIoLWQsaSkpOih0aGlzLl94PTAsdGhpcy5feT1NYXRoLmF0YW4yKHIsbSkpO2JyZWFrO2Nhc2UiWFpZIjp0aGlzLl96PU1hdGguYXNpbigtcHN0KGEsLTEsMSkpLE1hdGguYWJzKGEpPC45OTk5OTk5Pyh0aGlzLl94PU1hdGguYXRhbjIocCxsKSx0aGlzLl95PU1hdGguYXRhbjIocixpKSk6KHRoaXMuX3g9TWF0aC5hdGFuMigtYyxtKSx0aGlzLl95PTApO2JyZWFrO2RlZmF1bHQ6Y29uc29sZS53YXJuKCJUSFJFRS5FdWxlcjogLnNldEZyb21Sb3RhdGlvbk1hdHJpeCgpIGVuY291bnRlcmVkIGFuIHVua25vd24gb3JkZXI6ICIrZSl9cmV0dXJuIHRoaXMuX29yZGVyPWUsITA9PT1uJiZ0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zZXRGcm9tUXVhdGVybmlvbih0LGUsbil7cmV0dXJuIHBsdC5tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbih0KSx0aGlzLnNldEZyb21Sb3RhdGlvbk1hdHJpeChwbHQsZSxuKX1zZXRGcm9tVmVjdG9yMyh0LGU9dGhpcy5fb3JkZXIpe3JldHVybiB0aGlzLnNldCh0LngsdC55LHQueixlKX1yZW9yZGVyKHQpe3JldHVybiBtbHQuc2V0RnJvbUV1bGVyKHRoaXMpLHRoaXMuc2V0RnJvbVF1YXRlcm5pb24obWx0LHQpfWVxdWFscyh0KXtyZXR1cm4gdC5feD09PXRoaXMuX3gmJnQuX3k9PT10aGlzLl95JiZ0Ll96PT09dGhpcy5feiYmdC5fb3JkZXI9PT10aGlzLl9vcmRlcn1mcm9tQXJyYXkodCl7cmV0dXJuIHRoaXMuX3g9dFswXSx0aGlzLl95PXRbMV0sdGhpcy5fej10WzJdLHZvaWQgMCE9PXRbM10mJih0aGlzLl9vcmRlcj10WzNdKSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc310b0FycmF5KHQ9W10sZT0wKXtyZXR1cm4gdFtlXT10aGlzLl94LHRbZSsxXT10aGlzLl95LHRbZSsyXT10aGlzLl96LHRbZSszXT10aGlzLl9vcmRlcix0fXRvVmVjdG9yMyh0KXtyZXR1cm4gdD90LnNldCh0aGlzLl94LHRoaXMuX3ksdGhpcy5feik6bmV3IHdzdCh0aGlzLl94LHRoaXMuX3ksdGhpcy5feil9X29uQ2hhbmdlKHQpe3JldHVybiB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrPXQsdGhpc31fb25DaGFuZ2VDYWxsYmFjaygpe319Zmx0LnByb3RvdHlwZS5pc0V1bGVyPSEwLGZsdC5EZWZhdWx0T3JkZXI9IlhZWiIsZmx0LlJvdGF0aW9uT3JkZXJzPVsiWFlaIiwiWVpYIiwiWlhZIiwiWFpZIiwiWVhaIiwiWllYIl07Y2xhc3MgdWx0e2NvbnN0cnVjdG9yKCl7dGhpcy5tYXNrPTF9c2V0KHQpe3RoaXMubWFzaz0xPDx0fDB9ZW5hYmxlKHQpe3RoaXMubWFza3w9MTw8dHwwfWVuYWJsZUFsbCgpe3RoaXMubWFzaz0tMX10b2dnbGUodCl7dGhpcy5tYXNrXj0xPDx0fDB9ZGlzYWJsZSh0KXt0aGlzLm1hc2smPX4oMTw8dHwwKX1kaXNhYmxlQWxsKCl7dGhpcy5tYXNrPTB9dGVzdCh0KXtyZXR1cm4gMCE9KHRoaXMubWFzayZ0Lm1hc2spfX1sZXQgZ2x0PTA7Y29uc3QgaGx0PW5ldyB3c3QsYmx0PW5ldyBQc3QseWx0PW5ldyBvbHQsX2x0PW5ldyB3c3QsQ2x0PW5ldyB3c3QsTWx0PW5ldyB3c3Qsdmx0PW5ldyBQc3QseGx0PW5ldyB3c3QoMSwwLDApLE9sdD1uZXcgd3N0KDAsMSwwKSxQbHQ9bmV3IHdzdCgwLDAsMSksd2x0PXt0eXBlOiJhZGRlZCJ9LGtsdD17dHlwZToicmVtb3ZlZCJ9O2NsYXNzIFNsdCBleHRlbmRzIHJzdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImlkIix7dmFsdWU6Z2x0Kyt9KSx0aGlzLnV1aWQ9ZHN0KCksdGhpcy5uYW1lPSIiLHRoaXMudHlwZT0iT2JqZWN0M0QiLHRoaXMucGFyZW50PW51bGwsdGhpcy5jaGlsZHJlbj1bXSx0aGlzLnVwPVNsdC5EZWZhdWx0VXAuY2xvbmUoKTtjb25zdCB0PW5ldyB3c3QsZT1uZXcgZmx0LG49bmV3IFBzdCxvPW5ldyB3c3QoMSwxLDEpO2UuX29uQ2hhbmdlKChmdW5jdGlvbiBpKCl7bi5zZXRGcm9tRXVsZXIoZSwhMSl9KSksbi5fb25DaGFuZ2UoKGZ1bmN0aW9uIGEoKXtlLnNldEZyb21RdWF0ZXJuaW9uKG4sdm9pZCAwLCExKX0pKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0aGlzLHtwb3NpdGlvbjp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6dH0scm90YXRpb246e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOmV9LHF1YXRlcm5pb246e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOm59LHNjYWxlOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpvfSxtb2RlbFZpZXdNYXRyaXg6e3ZhbHVlOm5ldyBvbHR9LG5vcm1hbE1hdHJpeDp7dmFsdWU6bmV3IGhzdH19KSx0aGlzLm1hdHJpeD1uZXcgb2x0LHRoaXMubWF0cml4V29ybGQ9bmV3IG9sdCx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9U2x0LkRlZmF1bHRNYXRyaXhBdXRvVXBkYXRlLHRoaXMubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMSx0aGlzLmxheWVycz1uZXcgdWx0LHRoaXMudmlzaWJsZT0hMCx0aGlzLmNhc3RTaGFkb3c9ITEsdGhpcy5yZWNlaXZlU2hhZG93PSExLHRoaXMuZnJ1c3R1bUN1bGxlZD0hMCx0aGlzLnJlbmRlck9yZGVyPTAsdGhpcy5hbmltYXRpb25zPVtdLHRoaXMudXNlckRhdGE9e319b25CZWZvcmVSZW5kZXIoKXt9b25BZnRlclJlbmRlcigpe31hcHBseU1hdHJpeDQodCl7dGhpcy5tYXRyaXhBdXRvVXBkYXRlJiZ0aGlzLnVwZGF0ZU1hdHJpeCgpLHRoaXMubWF0cml4LnByZW11bHRpcGx5KHQpLHRoaXMubWF0cml4LmRlY29tcG9zZSh0aGlzLnBvc2l0aW9uLHRoaXMucXVhdGVybmlvbix0aGlzLnNjYWxlKX1hcHBseVF1YXRlcm5pb24odCl7cmV0dXJuIHRoaXMucXVhdGVybmlvbi5wcmVtdWx0aXBseSh0KSx0aGlzfXNldFJvdGF0aW9uRnJvbUF4aXNBbmdsZSh0LGUpe3RoaXMucXVhdGVybmlvbi5zZXRGcm9tQXhpc0FuZ2xlKHQsZSl9c2V0Um90YXRpb25Gcm9tRXVsZXIodCl7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21FdWxlcih0LCEwKX1zZXRSb3RhdGlvbkZyb21NYXRyaXgodCl7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21Sb3RhdGlvbk1hdHJpeCh0KX1zZXRSb3RhdGlvbkZyb21RdWF0ZXJuaW9uKHQpe3RoaXMucXVhdGVybmlvbi5jb3B5KHQpfXJvdGF0ZU9uQXhpcyh0LGUpe3JldHVybiBibHQuc2V0RnJvbUF4aXNBbmdsZSh0LGUpLHRoaXMucXVhdGVybmlvbi5tdWx0aXBseShibHQpLHRoaXN9cm90YXRlT25Xb3JsZEF4aXModCxlKXtyZXR1cm4gYmx0LnNldEZyb21BeGlzQW5nbGUodCxlKSx0aGlzLnF1YXRlcm5pb24ucHJlbXVsdGlwbHkoYmx0KSx0aGlzfXJvdGF0ZVgodCl7cmV0dXJuIHRoaXMucm90YXRlT25BeGlzKHhsdCx0KX1yb3RhdGVZKHQpe3JldHVybiB0aGlzLnJvdGF0ZU9uQXhpcyhPbHQsdCl9cm90YXRlWih0KXtyZXR1cm4gdGhpcy5yb3RhdGVPbkF4aXMoUGx0LHQpfXRyYW5zbGF0ZU9uQXhpcyh0LGUpe3JldHVybiBobHQuY29weSh0KS5hcHBseVF1YXRlcm5pb24odGhpcy5xdWF0ZXJuaW9uKSx0aGlzLnBvc2l0aW9uLmFkZChobHQubXVsdGlwbHlTY2FsYXIoZSkpLHRoaXN9dHJhbnNsYXRlWCh0KXtyZXR1cm4gdGhpcy50cmFuc2xhdGVPbkF4aXMoeGx0LHQpfXRyYW5zbGF0ZVkodCl7cmV0dXJuIHRoaXMudHJhbnNsYXRlT25BeGlzKE9sdCx0KX10cmFuc2xhdGVaKHQpe3JldHVybiB0aGlzLnRyYW5zbGF0ZU9uQXhpcyhQbHQsdCl9bG9jYWxUb1dvcmxkKHQpe3JldHVybiB0LmFwcGx5TWF0cml4NCh0aGlzLm1hdHJpeFdvcmxkKX13b3JsZFRvTG9jYWwodCl7cmV0dXJuIHQuYXBwbHlNYXRyaXg0KHlsdC5jb3B5KHRoaXMubWF0cml4V29ybGQpLmludmVydCgpKX1sb29rQXQodCxlLG4pe3QuaXNWZWN0b3IzP19sdC5jb3B5KHQpOl9sdC5zZXQodCxlLG4pO2NvbnN0IG89dGhpcy5wYXJlbnQ7dGhpcy51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSksQ2x0LnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLm1hdHJpeFdvcmxkKSx0aGlzLmlzQ2FtZXJhfHx0aGlzLmlzTGlnaHQ/eWx0Lmxvb2tBdChDbHQsX2x0LHRoaXMudXApOnlsdC5sb29rQXQoX2x0LENsdCx0aGlzLnVwKSx0aGlzLnF1YXRlcm5pb24uc2V0RnJvbVJvdGF0aW9uTWF0cml4KHlsdCksbyYmKHlsdC5leHRyYWN0Um90YXRpb24oby5tYXRyaXhXb3JsZCksYmx0LnNldEZyb21Sb3RhdGlvbk1hdHJpeCh5bHQpLHRoaXMucXVhdGVybmlvbi5wcmVtdWx0aXBseShibHQuaW52ZXJ0KCkpKX1hZGQodCl7aWYoYXJndW1lbnRzLmxlbmd0aD4xKXtmb3IobGV0IHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXRoaXMuYWRkKGFyZ3VtZW50c1t0XSk7cmV0dXJuIHRoaXN9cmV0dXJuIHQ9PT10aGlzPyhjb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3QzRC5hZGQ6IG9iamVjdCBjYW4ndCBiZSBhZGRlZCBhcyBhIGNoaWxkIG9mIGl0c2VsZi4iLHQpLHRoaXMpOih0JiZ0LmlzT2JqZWN0M0Q/KG51bGwhPT10LnBhcmVudCYmdC5wYXJlbnQucmVtb3ZlKHQpLHQucGFyZW50PXRoaXMsdGhpcy5jaGlsZHJlbi5wdXNoKHQpLHQuZGlzcGF0Y2hFdmVudCh3bHQpKTpjb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3QzRC5hZGQ6IG9iamVjdCBub3QgYW4gaW5zdGFuY2Ugb2YgVEhSRUUuT2JqZWN0M0QuIix0KSx0aGlzKX1yZW1vdmUodCl7aWYoYXJndW1lbnRzLmxlbmd0aD4xKXtmb3IobGV0IHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXRoaXMucmVtb3ZlKGFyZ3VtZW50c1t0XSk7cmV0dXJuIHRoaXN9Y29uc3QgZT10aGlzLmNoaWxkcmVuLmluZGV4T2YodCk7cmV0dXJuLTEhPT1lJiYodC5wYXJlbnQ9bnVsbCx0aGlzLmNoaWxkcmVuLnNwbGljZShlLDEpLHQuZGlzcGF0Y2hFdmVudChrbHQpKSx0aGlzfXJlbW92ZUZyb21QYXJlbnQoKXtjb25zdCB0PXRoaXMucGFyZW50O3JldHVybiBudWxsIT09dCYmdC5yZW1vdmUodGhpcyksdGhpc31jbGVhcigpe2ZvcihsZXQgdD0wO3Q8dGhpcy5jaGlsZHJlbi5sZW5ndGg7dCsrKXtjb25zdCBlPXRoaXMuY2hpbGRyZW5bdF07ZS5wYXJlbnQ9bnVsbCxlLmRpc3BhdGNoRXZlbnQoa2x0KX1yZXR1cm4gdGhpcy5jaGlsZHJlbi5sZW5ndGg9MCx0aGlzfWF0dGFjaCh0KXtyZXR1cm4gdGhpcy51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSkseWx0LmNvcHkodGhpcy5tYXRyaXhXb3JsZCkuaW52ZXJ0KCksbnVsbCE9PXQucGFyZW50JiYodC5wYXJlbnQudXBkYXRlV29ybGRNYXRyaXgoITAsITEpLHlsdC5tdWx0aXBseSh0LnBhcmVudC5tYXRyaXhXb3JsZCkpLHQuYXBwbHlNYXRyaXg0KHlsdCksdGhpcy5hZGQodCksdC51cGRhdGVXb3JsZE1hdHJpeCghMSwhMCksdGhpc31nZXRPYmplY3RCeUlkKHQpe3JldHVybiB0aGlzLmdldE9iamVjdEJ5UHJvcGVydHkoImlkIix0KX1nZXRPYmplY3RCeU5hbWUodCl7cmV0dXJuIHRoaXMuZ2V0T2JqZWN0QnlQcm9wZXJ0eSgibmFtZSIsdCl9Z2V0T2JqZWN0QnlQcm9wZXJ0eSh0LGUpe2lmKHRoaXNbdF09PT1lKXJldHVybiB0aGlzO2ZvcihsZXQgbj0wLG89dGhpcy5jaGlsZHJlbi5sZW5ndGg7bjxvO24rKyl7Y29uc3Qgbz10aGlzLmNoaWxkcmVuW25dLmdldE9iamVjdEJ5UHJvcGVydHkodCxlKTtpZih2b2lkIDAhPT1vKXJldHVybiBvfX1nZXRXb3JsZFBvc2l0aW9uKHQpe3JldHVybiB0aGlzLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKSx0LnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLm1hdHJpeFdvcmxkKX1nZXRXb3JsZFF1YXRlcm5pb24odCl7cmV0dXJuIHRoaXMudXBkYXRlV29ybGRNYXRyaXgoITAsITEpLHRoaXMubWF0cml4V29ybGQuZGVjb21wb3NlKENsdCx0LE1sdCksdH1nZXRXb3JsZFNjYWxlKHQpe3JldHVybiB0aGlzLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKSx0aGlzLm1hdHJpeFdvcmxkLmRlY29tcG9zZShDbHQsdmx0LHQpLHR9Z2V0V29ybGREaXJlY3Rpb24odCl7dGhpcy51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSk7Y29uc3QgZT10aGlzLm1hdHJpeFdvcmxkLmVsZW1lbnRzO3JldHVybiB0LnNldChlWzhdLGVbOV0sZVsxMF0pLm5vcm1hbGl6ZSgpfXJheWNhc3QoKXt9dHJhdmVyc2UodCl7dCh0aGlzKTtjb25zdCBlPXRoaXMuY2hpbGRyZW47Zm9yKGxldCBuPTAsbz1lLmxlbmd0aDtuPG87bisrKWVbbl0udHJhdmVyc2UodCl9dHJhdmVyc2VWaXNpYmxlKHQpe2lmKCExPT09dGhpcy52aXNpYmxlKXJldHVybjt0KHRoaXMpO2NvbnN0IGU9dGhpcy5jaGlsZHJlbjtmb3IobGV0IG49MCxvPWUubGVuZ3RoO248bztuKyspZVtuXS50cmF2ZXJzZVZpc2libGUodCl9dHJhdmVyc2VBbmNlc3RvcnModCl7Y29uc3QgZT10aGlzLnBhcmVudDtudWxsIT09ZSYmKHQoZSksZS50cmF2ZXJzZUFuY2VzdG9ycyh0KSl9dXBkYXRlTWF0cml4KCl7dGhpcy5tYXRyaXguY29tcG9zZSh0aGlzLnBvc2l0aW9uLHRoaXMucXVhdGVybmlvbix0aGlzLnNjYWxlKSx0aGlzLm1hdHJpeFdvcmxkTmVlZHNVcGRhdGU9ITB9dXBkYXRlTWF0cml4V29ybGQodCl7dGhpcy5tYXRyaXhBdXRvVXBkYXRlJiZ0aGlzLnVwZGF0ZU1hdHJpeCgpLCh0aGlzLm1hdHJpeFdvcmxkTmVlZHNVcGRhdGV8fHQpJiYobnVsbD09PXRoaXMucGFyZW50P3RoaXMubWF0cml4V29ybGQuY29weSh0aGlzLm1hdHJpeCk6dGhpcy5tYXRyaXhXb3JsZC5tdWx0aXBseU1hdHJpY2VzKHRoaXMucGFyZW50Lm1hdHJpeFdvcmxkLHRoaXMubWF0cml4KSx0aGlzLm1hdHJpeFdvcmxkTmVlZHNVcGRhdGU9ITEsdD0hMCk7Y29uc3QgZT10aGlzLmNoaWxkcmVuO2ZvcihsZXQgbj0wLG89ZS5sZW5ndGg7bjxvO24rKyllW25dLnVwZGF0ZU1hdHJpeFdvcmxkKHQpfXVwZGF0ZVdvcmxkTWF0cml4KHQsZSl7Y29uc3Qgbj10aGlzLnBhcmVudDtpZighMD09PXQmJm51bGwhPT1uJiZuLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKSx0aGlzLm1hdHJpeEF1dG9VcGRhdGUmJnRoaXMudXBkYXRlTWF0cml4KCksbnVsbD09PXRoaXMucGFyZW50P3RoaXMubWF0cml4V29ybGQuY29weSh0aGlzLm1hdHJpeCk6dGhpcy5tYXRyaXhXb3JsZC5tdWx0aXBseU1hdHJpY2VzKHRoaXMucGFyZW50Lm1hdHJpeFdvcmxkLHRoaXMubWF0cml4KSwhMD09PWUpe2NvbnN0IHQ9dGhpcy5jaGlsZHJlbjtmb3IobGV0IGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspdFtlXS51cGRhdGVXb3JsZE1hdHJpeCghMSwhMCl9fXRvSlNPTih0KXtjb25zdCBlPXZvaWQgMD09PXR8fCJzdHJpbmciPT10eXBlb2YgdCxuPXt9O2UmJih0PXtnZW9tZXRyaWVzOnt9LG1hdGVyaWFsczp7fSx0ZXh0dXJlczp7fSxpbWFnZXM6e30sc2hhcGVzOnt9LHNrZWxldG9uczp7fSxhbmltYXRpb25zOnt9fSxuLm1ldGFkYXRhPXt2ZXJzaW9uOjQuNSx0eXBlOiJPYmplY3QiLGdlbmVyYXRvcjoiT2JqZWN0M0QudG9KU09OIn0pO2NvbnN0IG89e307ZnVuY3Rpb24gaShlLG4pe3JldHVybiB2b2lkIDA9PT1lW24udXVpZF0mJihlW24udXVpZF09bi50b0pTT04odCkpLG4udXVpZH1pZihvLnV1aWQ9dGhpcy51dWlkLG8udHlwZT10aGlzLnR5cGUsIiIhPT10aGlzLm5hbWUmJihvLm5hbWU9dGhpcy5uYW1lKSwhMD09PXRoaXMuY2FzdFNoYWRvdyYmKG8uY2FzdFNoYWRvdz0hMCksITA9PT10aGlzLnJlY2VpdmVTaGFkb3cmJihvLnJlY2VpdmVTaGFkb3c9ITApLCExPT09dGhpcy52aXNpYmxlJiYoby52aXNpYmxlPSExKSwhMT09PXRoaXMuZnJ1c3R1bUN1bGxlZCYmKG8uZnJ1c3R1bUN1bGxlZD0hMSksMCE9PXRoaXMucmVuZGVyT3JkZXImJihvLnJlbmRlck9yZGVyPXRoaXMucmVuZGVyT3JkZXIpLCJ7fSIhPT1KU09OLnN0cmluZ2lmeSh0aGlzLnVzZXJEYXRhKSYmKG8udXNlckRhdGE9dGhpcy51c2VyRGF0YSksby5sYXllcnM9dGhpcy5sYXllcnMubWFzayxvLm1hdHJpeD10aGlzLm1hdHJpeC50b0FycmF5KCksITE9PT10aGlzLm1hdHJpeEF1dG9VcGRhdGUmJihvLm1hdHJpeEF1dG9VcGRhdGU9ITEpLHRoaXMuaXNJbnN0YW5jZWRNZXNoJiYoby50eXBlPSJJbnN0YW5jZWRNZXNoIixvLmNvdW50PXRoaXMuY291bnQsby5pbnN0YW5jZU1hdHJpeD10aGlzLmluc3RhbmNlTWF0cml4LnRvSlNPTigpLG51bGwhPT10aGlzLmluc3RhbmNlQ29sb3ImJihvLmluc3RhbmNlQ29sb3I9dGhpcy5pbnN0YW5jZUNvbG9yLnRvSlNPTigpKSksdGhpcy5pc1NjZW5lKXRoaXMuYmFja2dyb3VuZCYmKHRoaXMuYmFja2dyb3VuZC5pc0NvbG9yP28uYmFja2dyb3VuZD10aGlzLmJhY2tncm91bmQudG9KU09OKCk6dGhpcy5iYWNrZ3JvdW5kLmlzVGV4dHVyZSYmKG8uYmFja2dyb3VuZD10aGlzLmJhY2tncm91bmQudG9KU09OKHQpLnV1aWQpKSx0aGlzLmVudmlyb25tZW50JiZ0aGlzLmVudmlyb25tZW50LmlzVGV4dHVyZSYmKG8uZW52aXJvbm1lbnQ9dGhpcy5lbnZpcm9ubWVudC50b0pTT04odCkudXVpZCk7ZWxzZSBpZih0aGlzLmlzTWVzaHx8dGhpcy5pc0xpbmV8fHRoaXMuaXNQb2ludHMpe28uZ2VvbWV0cnk9aSh0Lmdlb21ldHJpZXMsdGhpcy5nZW9tZXRyeSk7Y29uc3QgZT10aGlzLmdlb21ldHJ5LnBhcmFtZXRlcnM7aWYodm9pZCAwIT09ZSYmdm9pZCAwIT09ZS5zaGFwZXMpe2NvbnN0IG49ZS5zaGFwZXM7aWYoQXJyYXkuaXNBcnJheShuKSlmb3IobGV0IGU9MCxvPW4ubGVuZ3RoO2U8bztlKyspe2kodC5zaGFwZXMsbltlXSl9ZWxzZSBpKHQuc2hhcGVzLG4pfX1pZih0aGlzLmlzU2tpbm5lZE1lc2gmJihvLmJpbmRNb2RlPXRoaXMuYmluZE1vZGUsby5iaW5kTWF0cml4PXRoaXMuYmluZE1hdHJpeC50b0FycmF5KCksdm9pZCAwIT09dGhpcy5za2VsZXRvbiYmKGkodC5za2VsZXRvbnMsdGhpcy5za2VsZXRvbiksby5za2VsZXRvbj10aGlzLnNrZWxldG9uLnV1aWQpKSx2b2lkIDAhPT10aGlzLm1hdGVyaWFsKWlmKEFycmF5LmlzQXJyYXkodGhpcy5tYXRlcmlhbCkpe2NvbnN0IGU9W107Zm9yKGxldCBuPTAsbz10aGlzLm1hdGVyaWFsLmxlbmd0aDtuPG87bisrKWUucHVzaChpKHQubWF0ZXJpYWxzLHRoaXMubWF0ZXJpYWxbbl0pKTtvLm1hdGVyaWFsPWV9ZWxzZSBvLm1hdGVyaWFsPWkodC5tYXRlcmlhbHMsdGhpcy5tYXRlcmlhbCk7aWYodGhpcy5jaGlsZHJlbi5sZW5ndGg+MCl7by5jaGlsZHJlbj1bXTtmb3IobGV0IGU9MDtlPHRoaXMuY2hpbGRyZW4ubGVuZ3RoO2UrKylvLmNoaWxkcmVuLnB1c2godGhpcy5jaGlsZHJlbltlXS50b0pTT04odCkub2JqZWN0KX1pZih0aGlzLmFuaW1hdGlvbnMubGVuZ3RoPjApe28uYW5pbWF0aW9ucz1bXTtmb3IobGV0IGU9MDtlPHRoaXMuYW5pbWF0aW9ucy5sZW5ndGg7ZSsrKXtvLmFuaW1hdGlvbnMucHVzaChpKHQuYW5pbWF0aW9ucyx0aGlzLmFuaW1hdGlvbnNbZV0pKX19aWYoZSl7Y29uc3QgZT1hKHQuZ2VvbWV0cmllcyksbz1hKHQubWF0ZXJpYWxzKSxpPWEodC50ZXh0dXJlcykscj1hKHQuaW1hZ2VzKSxzPWEodC5zaGFwZXMpLGw9YSh0LnNrZWxldG9ucyksYz1hKHQuYW5pbWF0aW9ucyk7ZS5sZW5ndGg+MCYmKG4uZ2VvbWV0cmllcz1lKSxvLmxlbmd0aD4wJiYobi5tYXRlcmlhbHM9byksaS5sZW5ndGg+MCYmKG4udGV4dHVyZXM9aSksci5sZW5ndGg+MCYmKG4uaW1hZ2VzPXIpLHMubGVuZ3RoPjAmJihuLnNoYXBlcz1zKSxsLmxlbmd0aD4wJiYobi5za2VsZXRvbnM9bCksYy5sZW5ndGg+MCYmKG4uYW5pbWF0aW9ucz1jKX1yZXR1cm4gbi5vYmplY3Q9byxuO2Z1bmN0aW9uIGEodCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgbiBpbiB0KXtjb25zdCBvPXRbbl07ZGVsZXRlIG8ubWV0YWRhdGEsZS5wdXNoKG8pfXJldHVybiBlfX1jbG9uZSh0KXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyx0KX1jb3B5KHQsZT0hMCl7aWYodGhpcy5uYW1lPXQubmFtZSx0aGlzLnVwLmNvcHkodC51cCksdGhpcy5wb3NpdGlvbi5jb3B5KHQucG9zaXRpb24pLHRoaXMucm90YXRpb24ub3JkZXI9dC5yb3RhdGlvbi5vcmRlcix0aGlzLnF1YXRlcm5pb24uY29weSh0LnF1YXRlcm5pb24pLHRoaXMuc2NhbGUuY29weSh0LnNjYWxlKSx0aGlzLm1hdHJpeC5jb3B5KHQubWF0cml4KSx0aGlzLm1hdHJpeFdvcmxkLmNvcHkodC5tYXRyaXhXb3JsZCksdGhpcy5tYXRyaXhBdXRvVXBkYXRlPXQubWF0cml4QXV0b1VwZGF0ZSx0aGlzLm1hdHJpeFdvcmxkTmVlZHNVcGRhdGU9dC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlLHRoaXMubGF5ZXJzLm1hc2s9dC5sYXllcnMubWFzayx0aGlzLnZpc2libGU9dC52aXNpYmxlLHRoaXMuY2FzdFNoYWRvdz10LmNhc3RTaGFkb3csdGhpcy5yZWNlaXZlU2hhZG93PXQucmVjZWl2ZVNoYWRvdyx0aGlzLmZydXN0dW1DdWxsZWQ9dC5mcnVzdHVtQ3VsbGVkLHRoaXMucmVuZGVyT3JkZXI9dC5yZW5kZXJPcmRlcix0aGlzLnVzZXJEYXRhPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodC51c2VyRGF0YSkpLCEwPT09ZSlmb3IobGV0IGU9MDtlPHQuY2hpbGRyZW4ubGVuZ3RoO2UrKyl7dGhpcy5hZGQodC5jaGlsZHJlbltlXS5jbG9uZSgpKX1yZXR1cm4gdGhpc319U2x0LkRlZmF1bHRVcD1uZXcgd3N0KDAsMSwwKSxTbHQuRGVmYXVsdE1hdHJpeEF1dG9VcGRhdGU9ITAsU2x0LnByb3RvdHlwZS5pc09iamVjdDNEPSEwO2NvbnN0IERsdD1uZXcgd3N0LFJsdD1uZXcgd3N0LEVsdD1uZXcgd3N0LEFsdD1uZXcgd3N0LFRsdD1uZXcgd3N0LE5sdD1uZXcgd3N0LHpsdD1uZXcgd3N0LElsdD1uZXcgd3N0LEhsdD1uZXcgd3N0LEZsdD1uZXcgd3N0O2NsYXNzIExsdHtjb25zdHJ1Y3Rvcih0PW5ldyB3c3QsZT1uZXcgd3N0LG49bmV3IHdzdCl7dGhpcy5hPXQsdGhpcy5iPWUsdGhpcy5jPW59c3RhdGljIGdldE5vcm1hbCh0LGUsbixvKXtvLnN1YlZlY3RvcnMobixlKSxEbHQuc3ViVmVjdG9ycyh0LGUpLG8uY3Jvc3MoRGx0KTtjb25zdCBpPW8ubGVuZ3RoU3EoKTtyZXR1cm4gaT4wP28ubXVsdGlwbHlTY2FsYXIoMS9NYXRoLnNxcnQoaSkpOm8uc2V0KDAsMCwwKX1zdGF0aWMgZ2V0QmFyeWNvb3JkKHQsZSxuLG8saSl7RGx0LnN1YlZlY3RvcnMobyxlKSxSbHQuc3ViVmVjdG9ycyhuLGUpLEVsdC5zdWJWZWN0b3JzKHQsZSk7Y29uc3QgYT1EbHQuZG90KERsdCkscj1EbHQuZG90KFJsdCkscz1EbHQuZG90KEVsdCksbD1SbHQuZG90KFJsdCksYz1SbHQuZG90KEVsdCksZD1hKmwtcipyO2lmKDA9PT1kKXJldHVybiBpLnNldCgtMiwtMSwtMSk7Y29uc3QgcD0xL2QsbT0obCpzLXIqYykqcCxmPShhKmMtcipzKSpwO3JldHVybiBpLnNldCgxLW0tZixmLG0pfXN0YXRpYyBjb250YWluc1BvaW50KHQsZSxuLG8pe3JldHVybiB0aGlzLmdldEJhcnljb29yZCh0LGUsbixvLEFsdCksQWx0Lng+PTAmJkFsdC55Pj0wJiZBbHQueCtBbHQueTw9MX1zdGF0aWMgZ2V0VVYodCxlLG4sbyxpLGEscixzKXtyZXR1cm4gdGhpcy5nZXRCYXJ5Y29vcmQodCxlLG4sbyxBbHQpLHMuc2V0KDAsMCkscy5hZGRTY2FsZWRWZWN0b3IoaSxBbHQueCkscy5hZGRTY2FsZWRWZWN0b3IoYSxBbHQueSkscy5hZGRTY2FsZWRWZWN0b3IocixBbHQueiksc31zdGF0aWMgaXNGcm9udEZhY2luZyh0LGUsbixvKXtyZXR1cm4gRGx0LnN1YlZlY3RvcnMobixlKSxSbHQuc3ViVmVjdG9ycyh0LGUpLERsdC5jcm9zcyhSbHQpLmRvdChvKTwwfXNldCh0LGUsbil7cmV0dXJuIHRoaXMuYS5jb3B5KHQpLHRoaXMuYi5jb3B5KGUpLHRoaXMuYy5jb3B5KG4pLHRoaXN9c2V0RnJvbVBvaW50c0FuZEluZGljZXModCxlLG4sbyl7cmV0dXJuIHRoaXMuYS5jb3B5KHRbZV0pLHRoaXMuYi5jb3B5KHRbbl0pLHRoaXMuYy5jb3B5KHRbb10pLHRoaXN9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXtyZXR1cm4gdGhpcy5hLmNvcHkodC5hKSx0aGlzLmIuY29weSh0LmIpLHRoaXMuYy5jb3B5KHQuYyksdGhpc31nZXRBcmVhKCl7cmV0dXJuIERsdC5zdWJWZWN0b3JzKHRoaXMuYyx0aGlzLmIpLFJsdC5zdWJWZWN0b3JzKHRoaXMuYSx0aGlzLmIpLC41KkRsdC5jcm9zcyhSbHQpLmxlbmd0aCgpfWdldE1pZHBvaW50KHQpe3JldHVybiB0LmFkZFZlY3RvcnModGhpcy5hLHRoaXMuYikuYWRkKHRoaXMuYykubXVsdGlwbHlTY2FsYXIoMS8zKX1nZXROb3JtYWwodCl7cmV0dXJuIExsdC5nZXROb3JtYWwodGhpcy5hLHRoaXMuYix0aGlzLmMsdCl9Z2V0UGxhbmUodCl7cmV0dXJuIHQuc2V0RnJvbUNvcGxhbmFyUG9pbnRzKHRoaXMuYSx0aGlzLmIsdGhpcy5jKX1nZXRCYXJ5Y29vcmQodCxlKXtyZXR1cm4gTGx0LmdldEJhcnljb29yZCh0LHRoaXMuYSx0aGlzLmIsdGhpcy5jLGUpfWdldFVWKHQsZSxuLG8saSl7cmV0dXJuIExsdC5nZXRVVih0LHRoaXMuYSx0aGlzLmIsdGhpcy5jLGUsbixvLGkpfWNvbnRhaW5zUG9pbnQodCl7cmV0dXJuIExsdC5jb250YWluc1BvaW50KHQsdGhpcy5hLHRoaXMuYix0aGlzLmMpfWlzRnJvbnRGYWNpbmcodCl7cmV0dXJuIExsdC5pc0Zyb250RmFjaW5nKHRoaXMuYSx0aGlzLmIsdGhpcy5jLHQpfWludGVyc2VjdHNCb3godCl7cmV0dXJuIHQuaW50ZXJzZWN0c1RyaWFuZ2xlKHRoaXMpfWNsb3Nlc3RQb2ludFRvUG9pbnQodCxlKXtjb25zdCBuPXRoaXMuYSxvPXRoaXMuYixpPXRoaXMuYztsZXQgYSxyO1RsdC5zdWJWZWN0b3JzKG8sbiksTmx0LnN1YlZlY3RvcnMoaSxuKSxJbHQuc3ViVmVjdG9ycyh0LG4pO2NvbnN0IHM9VGx0LmRvdChJbHQpLGw9Tmx0LmRvdChJbHQpO2lmKHM8PTAmJmw8PTApcmV0dXJuIGUuY29weShuKTtIbHQuc3ViVmVjdG9ycyh0LG8pO2NvbnN0IGM9VGx0LmRvdChIbHQpLGQ9Tmx0LmRvdChIbHQpO2lmKGM+PTAmJmQ8PWMpcmV0dXJuIGUuY29weShvKTtjb25zdCBwPXMqZC1jKmw7aWYocDw9MCYmcz49MCYmYzw9MClyZXR1cm4gYT1zLyhzLWMpLGUuY29weShuKS5hZGRTY2FsZWRWZWN0b3IoVGx0LGEpO0ZsdC5zdWJWZWN0b3JzKHQsaSk7Y29uc3QgbT1UbHQuZG90KEZsdCksZj1ObHQuZG90KEZsdCk7aWYoZj49MCYmbTw9ZilyZXR1cm4gZS5jb3B5KGkpO2NvbnN0IHU9bSpsLXMqZjtpZih1PD0wJiZsPj0wJiZmPD0wKXJldHVybiByPWwvKGwtZiksZS5jb3B5KG4pLmFkZFNjYWxlZFZlY3RvcihObHQscik7Y29uc3QgZz1jKmYtbSpkO2lmKGc8PTAmJmQtYz49MCYmbS1mPj0wKXJldHVybiB6bHQuc3ViVmVjdG9ycyhpLG8pLHI9KGQtYykvKGQtYysobS1mKSksZS5jb3B5KG8pLmFkZFNjYWxlZFZlY3Rvcih6bHQscik7Y29uc3QgaD0xLyhnK3UrcCk7cmV0dXJuIGE9dSpoLHI9cCpoLGUuY29weShuKS5hZGRTY2FsZWRWZWN0b3IoVGx0LGEpLmFkZFNjYWxlZFZlY3RvcihObHQscil9ZXF1YWxzKHQpe3JldHVybiB0LmEuZXF1YWxzKHRoaXMuYSkmJnQuYi5lcXVhbHModGhpcy5iKSYmdC5jLmVxdWFscyh0aGlzLmMpfX1sZXQgQmx0PTA7Y2xhc3MgVmx0IGV4dGVuZHMgcnN0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiaWQiLHt2YWx1ZTpCbHQrK30pLHRoaXMudXVpZD1kc3QoKSx0aGlzLm5hbWU9IiIsdGhpcy50eXBlPSJNYXRlcmlhbCIsdGhpcy5mb2c9ITAsdGhpcy5ibGVuZGluZz0xLHRoaXMuc2lkZT0wLHRoaXMudmVydGV4Q29sb3JzPSExLHRoaXMub3BhY2l0eT0xLHRoaXMudHJhbnNwYXJlbnQ9ITEsdGhpcy5ibGVuZFNyYz0yMDQsdGhpcy5ibGVuZERzdD0yMDUsdGhpcy5ibGVuZEVxdWF0aW9uPVBydCx0aGlzLmJsZW5kU3JjQWxwaGE9bnVsbCx0aGlzLmJsZW5kRHN0QWxwaGE9bnVsbCx0aGlzLmJsZW5kRXF1YXRpb25BbHBoYT1udWxsLHRoaXMuZGVwdGhGdW5jPTMsdGhpcy5kZXB0aFRlc3Q9ITAsdGhpcy5kZXB0aFdyaXRlPSEwLHRoaXMuc3RlbmNpbFdyaXRlTWFzaz0yNTUsdGhpcy5zdGVuY2lsRnVuYz01MTksdGhpcy5zdGVuY2lsUmVmPTAsdGhpcy5zdGVuY2lsRnVuY01hc2s9MjU1LHRoaXMuc3RlbmNpbEZhaWw9bnN0LHRoaXMuc3RlbmNpbFpGYWlsPW5zdCx0aGlzLnN0ZW5jaWxaUGFzcz1uc3QsdGhpcy5zdGVuY2lsV3JpdGU9ITEsdGhpcy5jbGlwcGluZ1BsYW5lcz1udWxsLHRoaXMuY2xpcEludGVyc2VjdGlvbj0hMSx0aGlzLmNsaXBTaGFkb3dzPSExLHRoaXMuc2hhZG93U2lkZT1udWxsLHRoaXMuY29sb3JXcml0ZT0hMCx0aGlzLnByZWNpc2lvbj1udWxsLHRoaXMucG9seWdvbk9mZnNldD0hMSx0aGlzLnBvbHlnb25PZmZzZXRGYWN0b3I9MCx0aGlzLnBvbHlnb25PZmZzZXRVbml0cz0wLHRoaXMuZGl0aGVyaW5nPSExLHRoaXMuYWxwaGFUZXN0PTAsdGhpcy5hbHBoYVRvQ292ZXJhZ2U9ITEsdGhpcy5wcmVtdWx0aXBsaWVkQWxwaGE9ITEsdGhpcy52aXNpYmxlPSEwLHRoaXMudG9uZU1hcHBlZD0hMCx0aGlzLnVzZXJEYXRhPXt9LHRoaXMudmVyc2lvbj0wfW9uQnVpbGQoKXt9b25CZWZvcmVDb21waWxlKCl7fWN1c3RvbVByb2dyYW1DYWNoZUtleSgpe3JldHVybiB0aGlzLm9uQmVmb3JlQ29tcGlsZS50b1N0cmluZygpfXNldFZhbHVlcyh0KXtpZih2b2lkIDAhPT10KWZvcihjb25zdCBlIGluIHQpe2NvbnN0IG49dFtlXTtpZih2b2lkIDA9PT1uKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAnIitlKyInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuIik7Y29udGludWV9aWYoInNoYWRpbmciPT09ZSl7Y29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAuc2hhZGluZyBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdGhlIGJvb2xlYW4gLmZsYXRTaGFkaW5nIGluc3RlYWQuIiksdGhpcy5mbGF0U2hhZGluZz0xPT09bjtjb250aW51ZX1jb25zdCBvPXRoaXNbZV07dm9pZCAwIT09bz9vJiZvLmlzQ29sb3I/by5zZXQobik6byYmby5pc1ZlY3RvcjMmJm4mJm4uaXNWZWN0b3IzP28uY29weShuKTp0aGlzW2VdPW46Y29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAnIitlKyInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuIil9fXRvSlNPTih0KXtjb25zdCBlPXZvaWQgMD09PXR8fCJzdHJpbmciPT10eXBlb2YgdDtlJiYodD17dGV4dHVyZXM6e30saW1hZ2VzOnt9fSk7Y29uc3Qgbj17bWV0YWRhdGE6e3ZlcnNpb246NC41LHR5cGU6Ik1hdGVyaWFsIixnZW5lcmF0b3I6Ik1hdGVyaWFsLnRvSlNPTiJ9fTtmdW5jdGlvbiBvKHQpe2NvbnN0IGU9W107Zm9yKGNvbnN0IG4gaW4gdCl7Y29uc3Qgbz10W25dO2RlbGV0ZSBvLm1ldGFkYXRhLGUucHVzaChvKX1yZXR1cm4gZX1pZihuLnV1aWQ9dGhpcy51dWlkLG4udHlwZT10aGlzLnR5cGUsIiIhPT10aGlzLm5hbWUmJihuLm5hbWU9dGhpcy5uYW1lKSx0aGlzLmNvbG9yJiZ0aGlzLmNvbG9yLmlzQ29sb3ImJihuLmNvbG9yPXRoaXMuY29sb3IuZ2V0SGV4KCkpLHZvaWQgMCE9PXRoaXMucm91Z2huZXNzJiYobi5yb3VnaG5lc3M9dGhpcy5yb3VnaG5lc3MpLHZvaWQgMCE9PXRoaXMubWV0YWxuZXNzJiYobi5tZXRhbG5lc3M9dGhpcy5tZXRhbG5lc3MpLHRoaXMuc2hlZW4mJnRoaXMuc2hlZW4uaXNDb2xvciYmKG4uc2hlZW49dGhpcy5zaGVlbi5nZXRIZXgoKSksdGhpcy5lbWlzc2l2ZSYmdGhpcy5lbWlzc2l2ZS5pc0NvbG9yJiYobi5lbWlzc2l2ZT10aGlzLmVtaXNzaXZlLmdldEhleCgpKSx0aGlzLmVtaXNzaXZlSW50ZW5zaXR5JiYxIT09dGhpcy5lbWlzc2l2ZUludGVuc2l0eSYmKG4uZW1pc3NpdmVJbnRlbnNpdHk9dGhpcy5lbWlzc2l2ZUludGVuc2l0eSksdGhpcy5zcGVjdWxhciYmdGhpcy5zcGVjdWxhci5pc0NvbG9yJiYobi5zcGVjdWxhcj10aGlzLnNwZWN1bGFyLmdldEhleCgpKSx2b2lkIDAhPT10aGlzLnNwZWN1bGFySW50ZW5zaXR5JiYobi5zcGVjdWxhckludGVuc2l0eT10aGlzLnNwZWN1bGFySW50ZW5zaXR5KSx0aGlzLnNwZWN1bGFyVGludCYmdGhpcy5zcGVjdWxhclRpbnQuaXNDb2xvciYmKG4uc3BlY3VsYXJUaW50PXRoaXMuc3BlY3VsYXJUaW50LmdldEhleCgpKSx2b2lkIDAhPT10aGlzLnNoaW5pbmVzcyYmKG4uc2hpbmluZXNzPXRoaXMuc2hpbmluZXNzKSx2b2lkIDAhPT10aGlzLmNsZWFyY29hdCYmKG4uY2xlYXJjb2F0PXRoaXMuY2xlYXJjb2F0KSx2b2lkIDAhPT10aGlzLmNsZWFyY29hdFJvdWdobmVzcyYmKG4uY2xlYXJjb2F0Um91Z2huZXNzPXRoaXMuY2xlYXJjb2F0Um91Z2huZXNzKSx0aGlzLmNsZWFyY29hdE1hcCYmdGhpcy5jbGVhcmNvYXRNYXAuaXNUZXh0dXJlJiYobi5jbGVhcmNvYXRNYXA9dGhpcy5jbGVhcmNvYXRNYXAudG9KU09OKHQpLnV1aWQpLHRoaXMuY2xlYXJjb2F0Um91Z2huZXNzTWFwJiZ0aGlzLmNsZWFyY29hdFJvdWdobmVzc01hcC5pc1RleHR1cmUmJihuLmNsZWFyY29hdFJvdWdobmVzc01hcD10aGlzLmNsZWFyY29hdFJvdWdobmVzc01hcC50b0pTT04odCkudXVpZCksdGhpcy5jbGVhcmNvYXROb3JtYWxNYXAmJnRoaXMuY2xlYXJjb2F0Tm9ybWFsTWFwLmlzVGV4dHVyZSYmKG4uY2xlYXJjb2F0Tm9ybWFsTWFwPXRoaXMuY2xlYXJjb2F0Tm9ybWFsTWFwLnRvSlNPTih0KS51dWlkLG4uY2xlYXJjb2F0Tm9ybWFsU2NhbGU9dGhpcy5jbGVhcmNvYXROb3JtYWxTY2FsZS50b0FycmF5KCkpLHRoaXMubWFwJiZ0aGlzLm1hcC5pc1RleHR1cmUmJihuLm1hcD10aGlzLm1hcC50b0pTT04odCkudXVpZCksdGhpcy5tYXRjYXAmJnRoaXMubWF0Y2FwLmlzVGV4dHVyZSYmKG4ubWF0Y2FwPXRoaXMubWF0Y2FwLnRvSlNPTih0KS51dWlkKSx0aGlzLmFscGhhTWFwJiZ0aGlzLmFscGhhTWFwLmlzVGV4dHVyZSYmKG4uYWxwaGFNYXA9dGhpcy5hbHBoYU1hcC50b0pTT04odCkudXVpZCksdGhpcy5saWdodE1hcCYmdGhpcy5saWdodE1hcC5pc1RleHR1cmUmJihuLmxpZ2h0TWFwPXRoaXMubGlnaHRNYXAudG9KU09OKHQpLnV1aWQsbi5saWdodE1hcEludGVuc2l0eT10aGlzLmxpZ2h0TWFwSW50ZW5zaXR5KSx0aGlzLmFvTWFwJiZ0aGlzLmFvTWFwLmlzVGV4dHVyZSYmKG4uYW9NYXA9dGhpcy5hb01hcC50b0pTT04odCkudXVpZCxuLmFvTWFwSW50ZW5zaXR5PXRoaXMuYW9NYXBJbnRlbnNpdHkpLHRoaXMuYnVtcE1hcCYmdGhpcy5idW1wTWFwLmlzVGV4dHVyZSYmKG4uYnVtcE1hcD10aGlzLmJ1bXBNYXAudG9KU09OKHQpLnV1aWQsbi5idW1wU2NhbGU9dGhpcy5idW1wU2NhbGUpLHRoaXMubm9ybWFsTWFwJiZ0aGlzLm5vcm1hbE1hcC5pc1RleHR1cmUmJihuLm5vcm1hbE1hcD10aGlzLm5vcm1hbE1hcC50b0pTT04odCkudXVpZCxuLm5vcm1hbE1hcFR5cGU9dGhpcy5ub3JtYWxNYXBUeXBlLG4ubm9ybWFsU2NhbGU9dGhpcy5ub3JtYWxTY2FsZS50b0FycmF5KCkpLHRoaXMuZGlzcGxhY2VtZW50TWFwJiZ0aGlzLmRpc3BsYWNlbWVudE1hcC5pc1RleHR1cmUmJihuLmRpc3BsYWNlbWVudE1hcD10aGlzLmRpc3BsYWNlbWVudE1hcC50b0pTT04odCkudXVpZCxuLmRpc3BsYWNlbWVudFNjYWxlPXRoaXMuZGlzcGxhY2VtZW50U2NhbGUsbi5kaXNwbGFjZW1lbnRCaWFzPXRoaXMuZGlzcGxhY2VtZW50QmlhcyksdGhpcy5yb3VnaG5lc3NNYXAmJnRoaXMucm91Z2huZXNzTWFwLmlzVGV4dHVyZSYmKG4ucm91Z2huZXNzTWFwPXRoaXMucm91Z2huZXNzTWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLm1ldGFsbmVzc01hcCYmdGhpcy5tZXRhbG5lc3NNYXAuaXNUZXh0dXJlJiYobi5tZXRhbG5lc3NNYXA9dGhpcy5tZXRhbG5lc3NNYXAudG9KU09OKHQpLnV1aWQpLHRoaXMuZW1pc3NpdmVNYXAmJnRoaXMuZW1pc3NpdmVNYXAuaXNUZXh0dXJlJiYobi5lbWlzc2l2ZU1hcD10aGlzLmVtaXNzaXZlTWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLnNwZWN1bGFyTWFwJiZ0aGlzLnNwZWN1bGFyTWFwLmlzVGV4dHVyZSYmKG4uc3BlY3VsYXJNYXA9dGhpcy5zcGVjdWxhck1hcC50b0pTT04odCkudXVpZCksdGhpcy5zcGVjdWxhckludGVuc2l0eU1hcCYmdGhpcy5zcGVjdWxhckludGVuc2l0eU1hcC5pc1RleHR1cmUmJihuLnNwZWN1bGFySW50ZW5zaXR5TWFwPXRoaXMuc3BlY3VsYXJJbnRlbnNpdHlNYXAudG9KU09OKHQpLnV1aWQpLHRoaXMuc3BlY3VsYXJUaW50TWFwJiZ0aGlzLnNwZWN1bGFyVGludE1hcC5pc1RleHR1cmUmJihuLnNwZWN1bGFyVGludE1hcD10aGlzLnNwZWN1bGFyVGludE1hcC50b0pTT04odCkudXVpZCksdGhpcy5lbnZNYXAmJnRoaXMuZW52TWFwLmlzVGV4dHVyZSYmKG4uZW52TWFwPXRoaXMuZW52TWFwLnRvSlNPTih0KS51dWlkLHZvaWQgMCE9PXRoaXMuY29tYmluZSYmKG4uY29tYmluZT10aGlzLmNvbWJpbmUpKSx2b2lkIDAhPT10aGlzLmVudk1hcEludGVuc2l0eSYmKG4uZW52TWFwSW50ZW5zaXR5PXRoaXMuZW52TWFwSW50ZW5zaXR5KSx2b2lkIDAhPT10aGlzLnJlZmxlY3Rpdml0eSYmKG4ucmVmbGVjdGl2aXR5PXRoaXMucmVmbGVjdGl2aXR5KSx2b2lkIDAhPT10aGlzLnJlZnJhY3Rpb25SYXRpbyYmKG4ucmVmcmFjdGlvblJhdGlvPXRoaXMucmVmcmFjdGlvblJhdGlvKSx0aGlzLmdyYWRpZW50TWFwJiZ0aGlzLmdyYWRpZW50TWFwLmlzVGV4dHVyZSYmKG4uZ3JhZGllbnRNYXA9dGhpcy5ncmFkaWVudE1hcC50b0pTT04odCkudXVpZCksdm9pZCAwIT09dGhpcy50cmFuc21pc3Npb24mJihuLnRyYW5zbWlzc2lvbj10aGlzLnRyYW5zbWlzc2lvbiksdGhpcy50cmFuc21pc3Npb25NYXAmJnRoaXMudHJhbnNtaXNzaW9uTWFwLmlzVGV4dHVyZSYmKG4udHJhbnNtaXNzaW9uTWFwPXRoaXMudHJhbnNtaXNzaW9uTWFwLnRvSlNPTih0KS51dWlkKSx2b2lkIDAhPT10aGlzLnRoaWNrbmVzcyYmKG4udGhpY2tuZXNzPXRoaXMudGhpY2tuZXNzKSx0aGlzLnRoaWNrbmVzc01hcCYmdGhpcy50aGlja25lc3NNYXAuaXNUZXh0dXJlJiYobi50aGlja25lc3NNYXA9dGhpcy50aGlja25lc3NNYXAudG9KU09OKHQpLnV1aWQpLHZvaWQgMCE9PXRoaXMuYXR0ZW51YXRpb25EaXN0YW5jZSYmKG4uYXR0ZW51YXRpb25EaXN0YW5jZT10aGlzLmF0dGVudWF0aW9uRGlzdGFuY2UpLHZvaWQgMCE9PXRoaXMuYXR0ZW51YXRpb25UaW50JiYobi5hdHRlbnVhdGlvblRpbnQ9dGhpcy5hdHRlbnVhdGlvblRpbnQuZ2V0SGV4KCkpLHZvaWQgMCE9PXRoaXMuc2l6ZSYmKG4uc2l6ZT10aGlzLnNpemUpLG51bGwhPT10aGlzLnNoYWRvd1NpZGUmJihuLnNoYWRvd1NpZGU9dGhpcy5zaGFkb3dTaWRlKSx2b2lkIDAhPT10aGlzLnNpemVBdHRlbnVhdGlvbiYmKG4uc2l6ZUF0dGVudWF0aW9uPXRoaXMuc2l6ZUF0dGVudWF0aW9uKSwxIT09dGhpcy5ibGVuZGluZyYmKG4uYmxlbmRpbmc9dGhpcy5ibGVuZGluZyksMCE9PXRoaXMuc2lkZSYmKG4uc2lkZT10aGlzLnNpZGUpLHRoaXMudmVydGV4Q29sb3JzJiYobi52ZXJ0ZXhDb2xvcnM9ITApLHRoaXMub3BhY2l0eTwxJiYobi5vcGFjaXR5PXRoaXMub3BhY2l0eSksITA9PT10aGlzLnRyYW5zcGFyZW50JiYobi50cmFuc3BhcmVudD10aGlzLnRyYW5zcGFyZW50KSxuLmRlcHRoRnVuYz10aGlzLmRlcHRoRnVuYyxuLmRlcHRoVGVzdD10aGlzLmRlcHRoVGVzdCxuLmRlcHRoV3JpdGU9dGhpcy5kZXB0aFdyaXRlLG4uY29sb3JXcml0ZT10aGlzLmNvbG9yV3JpdGUsbi5zdGVuY2lsV3JpdGU9dGhpcy5zdGVuY2lsV3JpdGUsbi5zdGVuY2lsV3JpdGVNYXNrPXRoaXMuc3RlbmNpbFdyaXRlTWFzayxuLnN0ZW5jaWxGdW5jPXRoaXMuc3RlbmNpbEZ1bmMsbi5zdGVuY2lsUmVmPXRoaXMuc3RlbmNpbFJlZixuLnN0ZW5jaWxGdW5jTWFzaz10aGlzLnN0ZW5jaWxGdW5jTWFzayxuLnN0ZW5jaWxGYWlsPXRoaXMuc3RlbmNpbEZhaWwsbi5zdGVuY2lsWkZhaWw9dGhpcy5zdGVuY2lsWkZhaWwsbi5zdGVuY2lsWlBhc3M9dGhpcy5zdGVuY2lsWlBhc3MsdGhpcy5yb3RhdGlvbiYmMCE9PXRoaXMucm90YXRpb24mJihuLnJvdGF0aW9uPXRoaXMucm90YXRpb24pLCEwPT09dGhpcy5wb2x5Z29uT2Zmc2V0JiYobi5wb2x5Z29uT2Zmc2V0PSEwKSwwIT09dGhpcy5wb2x5Z29uT2Zmc2V0RmFjdG9yJiYobi5wb2x5Z29uT2Zmc2V0RmFjdG9yPXRoaXMucG9seWdvbk9mZnNldEZhY3RvciksMCE9PXRoaXMucG9seWdvbk9mZnNldFVuaXRzJiYobi5wb2x5Z29uT2Zmc2V0VW5pdHM9dGhpcy5wb2x5Z29uT2Zmc2V0VW5pdHMpLHRoaXMubGluZXdpZHRoJiYxIT09dGhpcy5saW5ld2lkdGgmJihuLmxpbmV3aWR0aD10aGlzLmxpbmV3aWR0aCksdm9pZCAwIT09dGhpcy5kYXNoU2l6ZSYmKG4uZGFzaFNpemU9dGhpcy5kYXNoU2l6ZSksdm9pZCAwIT09dGhpcy5nYXBTaXplJiYobi5nYXBTaXplPXRoaXMuZ2FwU2l6ZSksdm9pZCAwIT09dGhpcy5zY2FsZSYmKG4uc2NhbGU9dGhpcy5zY2FsZSksITA9PT10aGlzLmRpdGhlcmluZyYmKG4uZGl0aGVyaW5nPSEwKSx0aGlzLmFscGhhVGVzdD4wJiYobi5hbHBoYVRlc3Q9dGhpcy5hbHBoYVRlc3QpLCEwPT09dGhpcy5hbHBoYVRvQ292ZXJhZ2UmJihuLmFscGhhVG9Db3ZlcmFnZT10aGlzLmFscGhhVG9Db3ZlcmFnZSksITA9PT10aGlzLnByZW11bHRpcGxpZWRBbHBoYSYmKG4ucHJlbXVsdGlwbGllZEFscGhhPXRoaXMucHJlbXVsdGlwbGllZEFscGhhKSwhMD09PXRoaXMud2lyZWZyYW1lJiYobi53aXJlZnJhbWU9dGhpcy53aXJlZnJhbWUpLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPjEmJihuLndpcmVmcmFtZUxpbmV3aWR0aD10aGlzLndpcmVmcmFtZUxpbmV3aWR0aCksInJvdW5kIiE9PXRoaXMud2lyZWZyYW1lTGluZWNhcCYmKG4ud2lyZWZyYW1lTGluZWNhcD10aGlzLndpcmVmcmFtZUxpbmVjYXApLCJyb3VuZCIhPT10aGlzLndpcmVmcmFtZUxpbmVqb2luJiYobi53aXJlZnJhbWVMaW5lam9pbj10aGlzLndpcmVmcmFtZUxpbmVqb2luKSwhMD09PXRoaXMuZmxhdFNoYWRpbmcmJihuLmZsYXRTaGFkaW5nPXRoaXMuZmxhdFNoYWRpbmcpLCExPT09dGhpcy52aXNpYmxlJiYobi52aXNpYmxlPSExKSwhMT09PXRoaXMudG9uZU1hcHBlZCYmKG4udG9uZU1hcHBlZD0hMSksInt9IiE9PUpTT04uc3RyaW5naWZ5KHRoaXMudXNlckRhdGEpJiYobi51c2VyRGF0YT10aGlzLnVzZXJEYXRhKSxlKXtjb25zdCBlPW8odC50ZXh0dXJlcyksaT1vKHQuaW1hZ2VzKTtlLmxlbmd0aD4wJiYobi50ZXh0dXJlcz1lKSxpLmxlbmd0aD4wJiYobi5pbWFnZXM9aSl9cmV0dXJuIG59Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXt0aGlzLm5hbWU9dC5uYW1lLHRoaXMuZm9nPXQuZm9nLHRoaXMuYmxlbmRpbmc9dC5ibGVuZGluZyx0aGlzLnNpZGU9dC5zaWRlLHRoaXMudmVydGV4Q29sb3JzPXQudmVydGV4Q29sb3JzLHRoaXMub3BhY2l0eT10Lm9wYWNpdHksdGhpcy50cmFuc3BhcmVudD10LnRyYW5zcGFyZW50LHRoaXMuYmxlbmRTcmM9dC5ibGVuZFNyYyx0aGlzLmJsZW5kRHN0PXQuYmxlbmREc3QsdGhpcy5ibGVuZEVxdWF0aW9uPXQuYmxlbmRFcXVhdGlvbix0aGlzLmJsZW5kU3JjQWxwaGE9dC5ibGVuZFNyY0FscGhhLHRoaXMuYmxlbmREc3RBbHBoYT10LmJsZW5kRHN0QWxwaGEsdGhpcy5ibGVuZEVxdWF0aW9uQWxwaGE9dC5ibGVuZEVxdWF0aW9uQWxwaGEsdGhpcy5kZXB0aEZ1bmM9dC5kZXB0aEZ1bmMsdGhpcy5kZXB0aFRlc3Q9dC5kZXB0aFRlc3QsdGhpcy5kZXB0aFdyaXRlPXQuZGVwdGhXcml0ZSx0aGlzLnN0ZW5jaWxXcml0ZU1hc2s9dC5zdGVuY2lsV3JpdGVNYXNrLHRoaXMuc3RlbmNpbEZ1bmM9dC5zdGVuY2lsRnVuYyx0aGlzLnN0ZW5jaWxSZWY9dC5zdGVuY2lsUmVmLHRoaXMuc3RlbmNpbEZ1bmNNYXNrPXQuc3RlbmNpbEZ1bmNNYXNrLHRoaXMuc3RlbmNpbEZhaWw9dC5zdGVuY2lsRmFpbCx0aGlzLnN0ZW5jaWxaRmFpbD10LnN0ZW5jaWxaRmFpbCx0aGlzLnN0ZW5jaWxaUGFzcz10LnN0ZW5jaWxaUGFzcyx0aGlzLnN0ZW5jaWxXcml0ZT10LnN0ZW5jaWxXcml0ZTtjb25zdCBlPXQuY2xpcHBpbmdQbGFuZXM7bGV0IG49bnVsbDtpZihudWxsIT09ZSl7Y29uc3QgdD1lLmxlbmd0aDtuPW5ldyBBcnJheSh0KTtmb3IobGV0IG89MDtvIT09dDsrK28pbltvXT1lW29dLmNsb25lKCl9cmV0dXJuIHRoaXMuY2xpcHBpbmdQbGFuZXM9bix0aGlzLmNsaXBJbnRlcnNlY3Rpb249dC5jbGlwSW50ZXJzZWN0aW9uLHRoaXMuY2xpcFNoYWRvd3M9dC5jbGlwU2hhZG93cyx0aGlzLnNoYWRvd1NpZGU9dC5zaGFkb3dTaWRlLHRoaXMuY29sb3JXcml0ZT10LmNvbG9yV3JpdGUsdGhpcy5wcmVjaXNpb249dC5wcmVjaXNpb24sdGhpcy5wb2x5Z29uT2Zmc2V0PXQucG9seWdvbk9mZnNldCx0aGlzLnBvbHlnb25PZmZzZXRGYWN0b3I9dC5wb2x5Z29uT2Zmc2V0RmFjdG9yLHRoaXMucG9seWdvbk9mZnNldFVuaXRzPXQucG9seWdvbk9mZnNldFVuaXRzLHRoaXMuZGl0aGVyaW5nPXQuZGl0aGVyaW5nLHRoaXMuYWxwaGFUZXN0PXQuYWxwaGFUZXN0LHRoaXMuYWxwaGFUb0NvdmVyYWdlPXQuYWxwaGFUb0NvdmVyYWdlLHRoaXMucHJlbXVsdGlwbGllZEFscGhhPXQucHJlbXVsdGlwbGllZEFscGhhLHRoaXMudmlzaWJsZT10LnZpc2libGUsdGhpcy50b25lTWFwcGVkPXQudG9uZU1hcHBlZCx0aGlzLnVzZXJEYXRhPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodC51c2VyRGF0YSkpLHRoaXN9ZGlzcG9zZSgpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiZGlzcG9zZSJ9KX1zZXQgbmVlZHNVcGRhdGUodCl7ITA9PT10JiZ0aGlzLnZlcnNpb24rK319Vmx0LnByb3RvdHlwZS5pc01hdGVyaWFsPSEwO2NvbnN0IGpsdD17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fSxVbHQ9e2g6MCxzOjAsbDowfSxXbHQ9e2g6MCxzOjAsbDowfTtmdW5jdGlvbiBHbHQodCxlLG4pe3JldHVybiBuPDAmJihuKz0xKSxuPjEmJihuLT0xKSxuPDEvNj90KzYqKGUtdCkqbjpuPC41P2U6bjwyLzM/dCs2KihlLXQpKigyLzMtbik6dH1mdW5jdGlvbiBZbHQodCl7cmV0dXJuIHQ8LjA0MDQ1Py4wNzczOTkzODA4KnQ6TWF0aC5wb3coLjk0Nzg2NzI5ODYqdCsuMDUyMTMyNzAxNCwyLjQpfWZ1bmN0aW9uIHFsdCh0KXtyZXR1cm4gdDwuMDAzMTMwOD8xMi45Mip0OjEuMDU1Kk1hdGgucG93KHQsLjQxNjY2KS0uMDU1fWNsYXNzIFpsdHtjb25zdHJ1Y3Rvcih0LGUsbil7cmV0dXJuIHZvaWQgMD09PWUmJnZvaWQgMD09PW4/dGhpcy5zZXQodCk6dGhpcy5zZXRSR0IodCxlLG4pfXNldCh0KXtyZXR1cm4gdCYmdC5pc0NvbG9yP3RoaXMuY29weSh0KToibnVtYmVyIj09dHlwZW9mIHQ/dGhpcy5zZXRIZXgodCk6InN0cmluZyI9PXR5cGVvZiB0JiZ0aGlzLnNldFN0eWxlKHQpLHRoaXN9c2V0U2NhbGFyKHQpe3JldHVybiB0aGlzLnI9dCx0aGlzLmc9dCx0aGlzLmI9dCx0aGlzfXNldEhleCh0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLHRoaXMucj0odD4+MTYmMjU1KS8yNTUsdGhpcy5nPSh0Pj44JjI1NSkvMjU1LHRoaXMuYj0oMjU1JnQpLzI1NSx0aGlzfXNldFJHQih0LGUsbil7cmV0dXJuIHRoaXMucj10LHRoaXMuZz1lLHRoaXMuYj1uLHRoaXN9c2V0SFNMKHQsZSxuKXtpZih0PShmdW5jdGlvbiBvKHQsZSl7cmV0dXJuKHQlZStlKSVlfSkodCwxKSxlPXBzdChlLDAsMSksbj1wc3QobiwwLDEpLDA9PT1lKXRoaXMucj10aGlzLmc9dGhpcy5iPW47ZWxzZXtjb25zdCBvPW48PS41P24qKDErZSk6bitlLW4qZSxpPTIqbi1vO3RoaXMucj1HbHQoaSxvLHQrMS8zKSx0aGlzLmc9R2x0KGksbyx0KSx0aGlzLmI9R2x0KGksbyx0LTEvMyl9cmV0dXJuIHRoaXN9c2V0U3R5bGUodCl7ZnVuY3Rpb24gZShlKXt2b2lkIDAhPT1lJiZwYXJzZUZsb2F0KGUpPDEmJmNvbnNvbGUud2FybigiVEhSRUUuQ29sb3I6IEFscGhhIGNvbXBvbmVudCBvZiAiK3QrIiB3aWxsIGJlIGlnbm9yZWQuIil9bGV0IG47aWYobj0vXigoPzpyZ2J8aHNsKWE/KVwoKFteXCldKilcKS8uZXhlYyh0KSl7bGV0IHQ7Y29uc3Qgbz1uWzJdO3N3aXRjaChuWzFdKXtjYXNlInJnYiI6Y2FzZSJyZ2JhIjppZih0PS9eXHMqKFxkKylccyosXHMqKFxkKylccyosXHMqKFxkKylccyooPzosXHMqKFxkKlwuP1xkKylccyopPyQvLmV4ZWMobykpcmV0dXJuIHRoaXMucj1NYXRoLm1pbigyNTUscGFyc2VJbnQodFsxXSwxMCkpLzI1NSx0aGlzLmc9TWF0aC5taW4oMjU1LHBhcnNlSW50KHRbMl0sMTApKS8yNTUsdGhpcy5iPU1hdGgubWluKDI1NSxwYXJzZUludCh0WzNdLDEwKSkvMjU1LGUodFs0XSksdGhpcztpZih0PS9eXHMqKFxkKylcJVxzKixccyooXGQrKVwlXHMqLFxzKihcZCspXCVccyooPzosXHMqKFxkKlwuP1xkKylccyopPyQvLmV4ZWMobykpcmV0dXJuIHRoaXMucj1NYXRoLm1pbigxMDAscGFyc2VJbnQodFsxXSwxMCkpLzEwMCx0aGlzLmc9TWF0aC5taW4oMTAwLHBhcnNlSW50KHRbMl0sMTApKS8xMDAsdGhpcy5iPU1hdGgubWluKDEwMCxwYXJzZUludCh0WzNdLDEwKSkvMTAwLGUodFs0XSksdGhpczticmVhaztjYXNlImhzbCI6Y2FzZSJoc2xhIjppZih0PS9eXHMqKFxkKlwuP1xkKylccyosXHMqKFxkKylcJVxzKixccyooXGQrKVwlXHMqKD86LFxzKihcZCpcLj9cZCspXHMqKT8kLy5leGVjKG8pKXtjb25zdCBuPXBhcnNlRmxvYXQodFsxXSkvMzYwLG89cGFyc2VJbnQodFsyXSwxMCkvMTAwLGk9cGFyc2VJbnQodFszXSwxMCkvMTAwO3JldHVybiBlKHRbNF0pLHRoaXMuc2V0SFNMKG4sbyxpKX19fWVsc2UgaWYobj0vXlwjKFtBLUZhLWZcZF0rKSQvLmV4ZWModCkpe2NvbnN0IHQ9blsxXSxlPXQubGVuZ3RoO2lmKDM9PT1lKXJldHVybiB0aGlzLnI9cGFyc2VJbnQodC5jaGFyQXQoMCkrdC5jaGFyQXQoMCksMTYpLzI1NSx0aGlzLmc9cGFyc2VJbnQodC5jaGFyQXQoMSkrdC5jaGFyQXQoMSksMTYpLzI1NSx0aGlzLmI9cGFyc2VJbnQodC5jaGFyQXQoMikrdC5jaGFyQXQoMiksMTYpLzI1NSx0aGlzO2lmKDY9PT1lKXJldHVybiB0aGlzLnI9cGFyc2VJbnQodC5jaGFyQXQoMCkrdC5jaGFyQXQoMSksMTYpLzI1NSx0aGlzLmc9cGFyc2VJbnQodC5jaGFyQXQoMikrdC5jaGFyQXQoMyksMTYpLzI1NSx0aGlzLmI9cGFyc2VJbnQodC5jaGFyQXQoNCkrdC5jaGFyQXQoNSksMTYpLzI1NSx0aGlzfXJldHVybiB0JiZ0Lmxlbmd0aD4wP3RoaXMuc2V0Q29sb3JOYW1lKHQpOnRoaXN9c2V0Q29sb3JOYW1lKHQpe2NvbnN0IGU9amx0W3QudG9Mb3dlckNhc2UoKV07cmV0dXJuIHZvaWQgMCE9PWU/dGhpcy5zZXRIZXgoZSk6Y29uc29sZS53YXJuKCJUSFJFRS5Db2xvcjogVW5rbm93biBjb2xvciAiK3QpLHRoaXN9Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5yLHRoaXMuZyx0aGlzLmIpfWNvcHkodCl7cmV0dXJuIHRoaXMucj10LnIsdGhpcy5nPXQuZyx0aGlzLmI9dC5iLHRoaXN9Y29weUdhbW1hVG9MaW5lYXIodCxlPTIpe3JldHVybiB0aGlzLnI9TWF0aC5wb3codC5yLGUpLHRoaXMuZz1NYXRoLnBvdyh0LmcsZSksdGhpcy5iPU1hdGgucG93KHQuYixlKSx0aGlzfWNvcHlMaW5lYXJUb0dhbW1hKHQsZT0yKXtjb25zdCBuPWU+MD8xL2U6MTtyZXR1cm4gdGhpcy5yPU1hdGgucG93KHQucixuKSx0aGlzLmc9TWF0aC5wb3codC5nLG4pLHRoaXMuYj1NYXRoLnBvdyh0LmIsbiksdGhpc31jb252ZXJ0R2FtbWFUb0xpbmVhcih0KXtyZXR1cm4gdGhpcy5jb3B5R2FtbWFUb0xpbmVhcih0aGlzLHQpLHRoaXN9Y29udmVydExpbmVhclRvR2FtbWEodCl7cmV0dXJuIHRoaXMuY29weUxpbmVhclRvR2FtbWEodGhpcyx0KSx0aGlzfWNvcHlTUkdCVG9MaW5lYXIodCl7cmV0dXJuIHRoaXMucj1ZbHQodC5yKSx0aGlzLmc9WWx0KHQuZyksdGhpcy5iPVlsdCh0LmIpLHRoaXN9Y29weUxpbmVhclRvU1JHQih0KXtyZXR1cm4gdGhpcy5yPXFsdCh0LnIpLHRoaXMuZz1xbHQodC5nKSx0aGlzLmI9cWx0KHQuYiksdGhpc31jb252ZXJ0U1JHQlRvTGluZWFyKCl7cmV0dXJuIHRoaXMuY29weVNSR0JUb0xpbmVhcih0aGlzKSx0aGlzfWNvbnZlcnRMaW5lYXJUb1NSR0IoKXtyZXR1cm4gdGhpcy5jb3B5TGluZWFyVG9TUkdCKHRoaXMpLHRoaXN9Z2V0SGV4KCl7cmV0dXJuIDI1NSp0aGlzLnI8PDE2XjI1NSp0aGlzLmc8PDheMjU1KnRoaXMuYjw8MH1nZXRIZXhTdHJpbmcoKXtyZXR1cm4oIjAwMDAwMCIrdGhpcy5nZXRIZXgoKS50b1N0cmluZygxNikpLnNsaWNlKC02KX1nZXRIU0wodCl7Y29uc3QgZT10aGlzLnIsbj10aGlzLmcsbz10aGlzLmIsaT1NYXRoLm1heChlLG4sbyksYT1NYXRoLm1pbihlLG4sbyk7bGV0IHIscztjb25zdCBsPShhK2kpLzI7aWYoYT09PWkpcj0wLHM9MDtlbHNle2NvbnN0IHQ9aS1hO3N3aXRjaChzPWw8PS41P3QvKGkrYSk6dC8oMi1pLWEpLGkpe2Nhc2UgZTpyPShuLW8pL3QrKG48bz82OjApO2JyZWFrO2Nhc2UgbjpyPShvLWUpL3QrMjticmVhaztjYXNlIG86cj0oZS1uKS90KzR9ci89Nn1yZXR1cm4gdC5oPXIsdC5zPXMsdC5sPWwsdH1nZXRTdHlsZSgpe3JldHVybiJyZ2IoIisoMjU1KnRoaXMucnwwKSsiLCIrKDI1NSp0aGlzLmd8MCkrIiwiKygyNTUqdGhpcy5ifDApKyIpIn1vZmZzZXRIU0wodCxlLG4pe3JldHVybiB0aGlzLmdldEhTTChVbHQpLFVsdC5oKz10LFVsdC5zKz1lLFVsdC5sKz1uLHRoaXMuc2V0SFNMKFVsdC5oLFVsdC5zLFVsdC5sKSx0aGlzfWFkZCh0KXtyZXR1cm4gdGhpcy5yKz10LnIsdGhpcy5nKz10LmcsdGhpcy5iKz10LmIsdGhpc31hZGRDb2xvcnModCxlKXtyZXR1cm4gdGhpcy5yPXQucitlLnIsdGhpcy5nPXQuZytlLmcsdGhpcy5iPXQuYitlLmIsdGhpc31hZGRTY2FsYXIodCl7cmV0dXJuIHRoaXMucis9dCx0aGlzLmcrPXQsdGhpcy5iKz10LHRoaXN9c3ViKHQpe3JldHVybiB0aGlzLnI9TWF0aC5tYXgoMCx0aGlzLnItdC5yKSx0aGlzLmc9TWF0aC5tYXgoMCx0aGlzLmctdC5nKSx0aGlzLmI9TWF0aC5tYXgoMCx0aGlzLmItdC5iKSx0aGlzfW11bHRpcGx5KHQpe3JldHVybiB0aGlzLnIqPXQucix0aGlzLmcqPXQuZyx0aGlzLmIqPXQuYix0aGlzfW11bHRpcGx5U2NhbGFyKHQpe3JldHVybiB0aGlzLnIqPXQsdGhpcy5nKj10LHRoaXMuYio9dCx0aGlzfWxlcnAodCxlKXtyZXR1cm4gdGhpcy5yKz0odC5yLXRoaXMucikqZSx0aGlzLmcrPSh0LmctdGhpcy5nKSplLHRoaXMuYis9KHQuYi10aGlzLmIpKmUsdGhpc31sZXJwQ29sb3JzKHQsZSxuKXtyZXR1cm4gdGhpcy5yPXQucisoZS5yLXQucikqbix0aGlzLmc9dC5nKyhlLmctdC5nKSpuLHRoaXMuYj10LmIrKGUuYi10LmIpKm4sdGhpc31sZXJwSFNMKHQsZSl7dGhpcy5nZXRIU0woVWx0KSx0LmdldEhTTChXbHQpO2NvbnN0IG49bXN0KFVsdC5oLFdsdC5oLGUpLG89bXN0KFVsdC5zLFdsdC5zLGUpLGk9bXN0KFVsdC5sLFdsdC5sLGUpO3JldHVybiB0aGlzLnNldEhTTChuLG8saSksdGhpc31lcXVhbHModCl7cmV0dXJuIHQucj09PXRoaXMuciYmdC5nPT09dGhpcy5nJiZ0LmI9PT10aGlzLmJ9ZnJvbUFycmF5KHQsZT0wKXtyZXR1cm4gdGhpcy5yPXRbZV0sdGhpcy5nPXRbZSsxXSx0aGlzLmI9dFtlKzJdLHRoaXN9dG9BcnJheSh0PVtdLGU9MCl7cmV0dXJuIHRbZV09dGhpcy5yLHRbZSsxXT10aGlzLmcsdFtlKzJdPXRoaXMuYix0fWZyb21CdWZmZXJBdHRyaWJ1dGUodCxlKXtyZXR1cm4gdGhpcy5yPXQuZ2V0WChlKSx0aGlzLmc9dC5nZXRZKGUpLHRoaXMuYj10LmdldFooZSksITA9PT10Lm5vcm1hbGl6ZWQmJih0aGlzLnIvPTI1NSx0aGlzLmcvPTI1NSx0aGlzLmIvPTI1NSksdGhpc310b0pTT04oKXtyZXR1cm4gdGhpcy5nZXRIZXgoKX19Wmx0Lk5BTUVTPWpsdCxabHQucHJvdG90eXBlLmlzQ29sb3I9ITAsWmx0LnByb3RvdHlwZS5yPTEsWmx0LnByb3RvdHlwZS5nPTEsWmx0LnByb3RvdHlwZS5iPTE7Y2xhc3MgWGx0IGV4dGVuZHMgVmx0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJNZXNoQmFzaWNNYXRlcmlhbCIsdGhpcy5jb2xvcj1uZXcgWmx0KDE2Nzc3MjE1KSx0aGlzLm1hcD1udWxsLHRoaXMubGlnaHRNYXA9bnVsbCx0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PTEsdGhpcy5hb01hcD1udWxsLHRoaXMuYW9NYXBJbnRlbnNpdHk9MSx0aGlzLnNwZWN1bGFyTWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuZW52TWFwPW51bGwsdGhpcy5jb21iaW5lPTAsdGhpcy5yZWZsZWN0aXZpdHk9MSx0aGlzLnJlZnJhY3Rpb25SYXRpbz0uOTgsdGhpcy53aXJlZnJhbWU9ITEsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9MSx0aGlzLndpcmVmcmFtZUxpbmVjYXA9InJvdW5kIix0aGlzLndpcmVmcmFtZUxpbmVqb2luPSJyb3VuZCIsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmNvbG9yLmNvcHkodC5jb2xvciksdGhpcy5tYXA9dC5tYXAsdGhpcy5saWdodE1hcD10LmxpZ2h0TWFwLHRoaXMubGlnaHRNYXBJbnRlbnNpdHk9dC5saWdodE1hcEludGVuc2l0eSx0aGlzLmFvTWFwPXQuYW9NYXAsdGhpcy5hb01hcEludGVuc2l0eT10LmFvTWFwSW50ZW5zaXR5LHRoaXMuc3BlY3VsYXJNYXA9dC5zcGVjdWxhck1hcCx0aGlzLmFscGhhTWFwPXQuYWxwaGFNYXAsdGhpcy5lbnZNYXA9dC5lbnZNYXAsdGhpcy5jb21iaW5lPXQuY29tYmluZSx0aGlzLnJlZmxlY3Rpdml0eT10LnJlZmxlY3Rpdml0eSx0aGlzLnJlZnJhY3Rpb25SYXRpbz10LnJlZnJhY3Rpb25SYXRpbyx0aGlzLndpcmVmcmFtZT10LndpcmVmcmFtZSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD10LndpcmVmcmFtZUxpbmV3aWR0aCx0aGlzLndpcmVmcmFtZUxpbmVjYXA9dC53aXJlZnJhbWVMaW5lY2FwLHRoaXMud2lyZWZyYW1lTGluZWpvaW49dC53aXJlZnJhbWVMaW5lam9pbix0aGlzfX1YbHQucHJvdG90eXBlLmlzTWVzaEJhc2ljTWF0ZXJpYWw9ITA7Y29uc3QgS2x0PW5ldyB3c3QsSmx0PW5ldyBnc3Q7Y2xhc3MgUWx0e2NvbnN0cnVjdG9yKHQsZSxuKXtpZihBcnJheS5pc0FycmF5KHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZTogYXJyYXkgc2hvdWxkIGJlIGEgVHlwZWQgQXJyYXkuIik7dGhpcy5uYW1lPSIiLHRoaXMuYXJyYXk9dCx0aGlzLml0ZW1TaXplPWUsdGhpcy5jb3VudD12b2lkIDAhPT10P3QubGVuZ3RoL2U6MCx0aGlzLm5vcm1hbGl6ZWQ9ITA9PT1uLHRoaXMudXNhZ2U9b3N0LHRoaXMudXBkYXRlUmFuZ2U9e29mZnNldDowLGNvdW50Oi0xfSx0aGlzLnZlcnNpb249MH1vblVwbG9hZENhbGxiYWNrKCl7fXNldCBuZWVkc1VwZGF0ZSh0KXshMD09PXQmJnRoaXMudmVyc2lvbisrfXNldFVzYWdlKHQpe3JldHVybiB0aGlzLnVzYWdlPXQsdGhpc31jb3B5KHQpe3JldHVybiB0aGlzLm5hbWU9dC5uYW1lLHRoaXMuYXJyYXk9bmV3IHQuYXJyYXkuY29uc3RydWN0b3IodC5hcnJheSksdGhpcy5pdGVtU2l6ZT10Lml0ZW1TaXplLHRoaXMuY291bnQ9dC5jb3VudCx0aGlzLm5vcm1hbGl6ZWQ9dC5ub3JtYWxpemVkLHRoaXMudXNhZ2U9dC51c2FnZSx0aGlzfWNvcHlBdCh0LGUsbil7dCo9dGhpcy5pdGVtU2l6ZSxuKj1lLml0ZW1TaXplO2ZvcihsZXQgbz0wLGk9dGhpcy5pdGVtU2l6ZTtvPGk7bysrKXRoaXMuYXJyYXlbdCtvXT1lLmFycmF5W24rb107cmV0dXJuIHRoaXN9Y29weUFycmF5KHQpe3JldHVybiB0aGlzLmFycmF5LnNldCh0KSx0aGlzfWNvcHlDb2xvcnNBcnJheSh0KXtjb25zdCBlPXRoaXMuYXJyYXk7bGV0IG49MDtmb3IobGV0IG89MCxpPXQubGVuZ3RoO288aTtvKyspe2xldCBpPXRbb107dm9pZCAwPT09aSYmKGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlLmNvcHlDb2xvcnNBcnJheSgpOiBjb2xvciBpcyB1bmRlZmluZWQiLG8pLGk9bmV3IFpsdCksZVtuKytdPWkucixlW24rK109aS5nLGVbbisrXT1pLmJ9cmV0dXJuIHRoaXN9Y29weVZlY3RvcjJzQXJyYXkodCl7Y29uc3QgZT10aGlzLmFycmF5O2xldCBuPTA7Zm9yKGxldCBvPTAsaT10Lmxlbmd0aDtvPGk7bysrKXtsZXQgaT10W29dO3ZvaWQgMD09PWkmJihjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZS5jb3B5VmVjdG9yMnNBcnJheSgpOiB2ZWN0b3IgaXMgdW5kZWZpbmVkIixvKSxpPW5ldyBnc3QpLGVbbisrXT1pLngsZVtuKytdPWkueX1yZXR1cm4gdGhpc31jb3B5VmVjdG9yM3NBcnJheSh0KXtjb25zdCBlPXRoaXMuYXJyYXk7bGV0IG49MDtmb3IobGV0IG89MCxpPXQubGVuZ3RoO288aTtvKyspe2xldCBpPXRbb107dm9pZCAwPT09aSYmKGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlLmNvcHlWZWN0b3Izc0FycmF5KCk6IHZlY3RvciBpcyB1bmRlZmluZWQiLG8pLGk9bmV3IHdzdCksZVtuKytdPWkueCxlW24rK109aS55LGVbbisrXT1pLnp9cmV0dXJuIHRoaXN9Y29weVZlY3RvcjRzQXJyYXkodCl7Y29uc3QgZT10aGlzLmFycmF5O2xldCBuPTA7Zm9yKGxldCBvPTAsaT10Lmxlbmd0aDtvPGk7bysrKXtsZXQgaT10W29dO3ZvaWQgMD09PWkmJihjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZS5jb3B5VmVjdG9yNHNBcnJheSgpOiB2ZWN0b3IgaXMgdW5kZWZpbmVkIixvKSxpPW5ldyB2c3QpLGVbbisrXT1pLngsZVtuKytdPWkueSxlW24rK109aS56LGVbbisrXT1pLnd9cmV0dXJuIHRoaXN9YXBwbHlNYXRyaXgzKHQpe2lmKDI9PT10aGlzLml0ZW1TaXplKWZvcihsZXQgZT0wLG49dGhpcy5jb3VudDtlPG47ZSsrKUpsdC5mcm9tQnVmZmVyQXR0cmlidXRlKHRoaXMsZSksSmx0LmFwcGx5TWF0cml4Myh0KSx0aGlzLnNldFhZKGUsSmx0LngsSmx0LnkpO2Vsc2UgaWYoMz09PXRoaXMuaXRlbVNpemUpZm9yKGxldCBlPTAsbj10aGlzLmNvdW50O2U8bjtlKyspS2x0LmZyb21CdWZmZXJBdHRyaWJ1dGUodGhpcyxlKSxLbHQuYXBwbHlNYXRyaXgzKHQpLHRoaXMuc2V0WFlaKGUsS2x0LngsS2x0LnksS2x0LnopO3JldHVybiB0aGlzfWFwcGx5TWF0cml4NCh0KXtmb3IobGV0IGU9MCxuPXRoaXMuY291bnQ7ZTxuO2UrKylLbHQueD10aGlzLmdldFgoZSksS2x0Lnk9dGhpcy5nZXRZKGUpLEtsdC56PXRoaXMuZ2V0WihlKSxLbHQuYXBwbHlNYXRyaXg0KHQpLHRoaXMuc2V0WFlaKGUsS2x0LngsS2x0LnksS2x0LnopO3JldHVybiB0aGlzfWFwcGx5Tm9ybWFsTWF0cml4KHQpe2ZvcihsZXQgZT0wLG49dGhpcy5jb3VudDtlPG47ZSsrKUtsdC54PXRoaXMuZ2V0WChlKSxLbHQueT10aGlzLmdldFkoZSksS2x0Lno9dGhpcy5nZXRaKGUpLEtsdC5hcHBseU5vcm1hbE1hdHJpeCh0KSx0aGlzLnNldFhZWihlLEtsdC54LEtsdC55LEtsdC56KTtyZXR1cm4gdGhpc310cmFuc2Zvcm1EaXJlY3Rpb24odCl7Zm9yKGxldCBlPTAsbj10aGlzLmNvdW50O2U8bjtlKyspS2x0Lng9dGhpcy5nZXRYKGUpLEtsdC55PXRoaXMuZ2V0WShlKSxLbHQuej10aGlzLmdldFooZSksS2x0LnRyYW5zZm9ybURpcmVjdGlvbih0KSx0aGlzLnNldFhZWihlLEtsdC54LEtsdC55LEtsdC56KTtyZXR1cm4gdGhpc31zZXQodCxlPTApe3JldHVybiB0aGlzLmFycmF5LnNldCh0LGUpLHRoaXN9Z2V0WCh0KXtyZXR1cm4gdGhpcy5hcnJheVt0KnRoaXMuaXRlbVNpemVdfXNldFgodCxlKXtyZXR1cm4gdGhpcy5hcnJheVt0KnRoaXMuaXRlbVNpemVdPWUsdGhpc31nZXRZKHQpe3JldHVybiB0aGlzLmFycmF5W3QqdGhpcy5pdGVtU2l6ZSsxXX1zZXRZKHQsZSl7cmV0dXJuIHRoaXMuYXJyYXlbdCp0aGlzLml0ZW1TaXplKzFdPWUsdGhpc31nZXRaKHQpe3JldHVybiB0aGlzLmFycmF5W3QqdGhpcy5pdGVtU2l6ZSsyXX1zZXRaKHQsZSl7cmV0dXJuIHRoaXMuYXJyYXlbdCp0aGlzLml0ZW1TaXplKzJdPWUsdGhpc31nZXRXKHQpe3JldHVybiB0aGlzLmFycmF5W3QqdGhpcy5pdGVtU2l6ZSszXX1zZXRXKHQsZSl7cmV0dXJuIHRoaXMuYXJyYXlbdCp0aGlzLml0ZW1TaXplKzNdPWUsdGhpc31zZXRYWSh0LGUsbil7cmV0dXJuIHRoaXMuYXJyYXlbKHQqPXRoaXMuaXRlbVNpemUpKzBdPWUsdGhpcy5hcnJheVt0KzFdPW4sdGhpc31zZXRYWVoodCxlLG4sbyl7cmV0dXJuIHRoaXMuYXJyYXlbKHQqPXRoaXMuaXRlbVNpemUpKzBdPWUsdGhpcy5hcnJheVt0KzFdPW4sdGhpcy5hcnJheVt0KzJdPW8sdGhpc31zZXRYWVpXKHQsZSxuLG8saSl7cmV0dXJuIHRoaXMuYXJyYXlbKHQqPXRoaXMuaXRlbVNpemUpKzBdPWUsdGhpcy5hcnJheVt0KzFdPW4sdGhpcy5hcnJheVt0KzJdPW8sdGhpcy5hcnJheVt0KzNdPWksdGhpc31vblVwbG9hZCh0KXtyZXR1cm4gdGhpcy5vblVwbG9hZENhbGxiYWNrPXQsdGhpc31jbG9uZSgpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLmFycmF5LHRoaXMuaXRlbVNpemUpLmNvcHkodGhpcyl9dG9KU09OKCl7Y29uc3QgdD17aXRlbVNpemU6dGhpcy5pdGVtU2l6ZSx0eXBlOnRoaXMuYXJyYXkuY29uc3RydWN0b3IubmFtZSxhcnJheTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLmFycmF5KSxub3JtYWxpemVkOnRoaXMubm9ybWFsaXplZH07cmV0dXJuIiIhPT10aGlzLm5hbWUmJih0Lm5hbWU9dGhpcy5uYW1lKSx0aGlzLnVzYWdlIT09b3N0JiYodC51c2FnZT10aGlzLnVzYWdlKSwwPT09dGhpcy51cGRhdGVSYW5nZS5vZmZzZXQmJi0xPT09dGhpcy51cGRhdGVSYW5nZS5jb3VudHx8KHQudXBkYXRlUmFuZ2U9dGhpcy51cGRhdGVSYW5nZSksdH19UWx0LnByb3RvdHlwZS5pc0J1ZmZlckF0dHJpYnV0ZT0hMDtjbGFzcyAkbHQgZXh0ZW5kcyBRbHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKG5ldyBVaW50MTZBcnJheSh0KSxlLG4pfX1jbGFzcyB0Y3QgZXh0ZW5kcyBRbHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKG5ldyBVaW50MzJBcnJheSh0KSxlLG4pfX0oY2xhc3MgZXh0ZW5kcyBRbHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKG5ldyBVaW50MTZBcnJheSh0KSxlLG4pfX0pLnByb3RvdHlwZS5pc0Zsb2F0MTZCdWZmZXJBdHRyaWJ1dGU9ITA7Y2xhc3MgZWN0IGV4dGVuZHMgUWx0e2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcihuZXcgRmxvYXQzMkFycmF5KHQpLGUsbil9fWZ1bmN0aW9uIG5jdCh0KXtpZigwPT09dC5sZW5ndGgpcmV0dXJuLTEvMDtsZXQgZT10WzBdO2ZvcihsZXQgbj0xLG89dC5sZW5ndGg7bjxvOysrbil0W25dPmUmJihlPXRbbl0pO3JldHVybiBlfWxldCBvY3Q9MDtjb25zdCBpY3Q9bmV3IG9sdCxhY3Q9bmV3IFNsdCxyY3Q9bmV3IHdzdCxzY3Q9bmV3IERzdCxsY3Q9bmV3IERzdCxjY3Q9bmV3IHdzdDtjbGFzcyBkY3QgZXh0ZW5kcyByc3R7Y29uc3RydWN0b3IoKXtzdXBlcigpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOm9jdCsrfSksdGhpcy51dWlkPWRzdCgpLHRoaXMubmFtZT0iIix0aGlzLnR5cGU9IkJ1ZmZlckdlb21ldHJ5Iix0aGlzLmluZGV4PW51bGwsdGhpcy5hdHRyaWJ1dGVzPXt9LHRoaXMubW9ycGhBdHRyaWJ1dGVzPXt9LHRoaXMubW9ycGhUYXJnZXRzUmVsYXRpdmU9ITEsdGhpcy5ncm91cHM9W10sdGhpcy5ib3VuZGluZ0JveD1udWxsLHRoaXMuYm91bmRpbmdTcGhlcmU9bnVsbCx0aGlzLmRyYXdSYW5nZT17c3RhcnQ6MCxjb3VudDoxLzB9LHRoaXMudXNlckRhdGE9e319Z2V0SW5kZXgoKXtyZXR1cm4gdGhpcy5pbmRleH1zZXRJbmRleCh0KXtyZXR1cm4gdGhpcy5pbmRleD1BcnJheS5pc0FycmF5KHQpP25ldyhuY3QodCk+NjU1MzU/dGN0OiRsdCkodCwxKTp0LHRoaXN9Z2V0QXR0cmlidXRlKHQpe3JldHVybiB0aGlzLmF0dHJpYnV0ZXNbdF19c2V0QXR0cmlidXRlKHQsZSl7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1t0XT1lLHRoaXN9ZGVsZXRlQXR0cmlidXRlKHQpe3JldHVybiBkZWxldGUgdGhpcy5hdHRyaWJ1dGVzW3RdLHRoaXN9aGFzQXR0cmlidXRlKHQpe3JldHVybiB2b2lkIDAhPT10aGlzLmF0dHJpYnV0ZXNbdF19YWRkR3JvdXAodCxlLG49MCl7dGhpcy5ncm91cHMucHVzaCh7c3RhcnQ6dCxjb3VudDplLG1hdGVyaWFsSW5kZXg6bn0pfWNsZWFyR3JvdXBzKCl7dGhpcy5ncm91cHM9W119c2V0RHJhd1JhbmdlKHQsZSl7dGhpcy5kcmF3UmFuZ2Uuc3RhcnQ9dCx0aGlzLmRyYXdSYW5nZS5jb3VudD1lfWFwcGx5TWF0cml4NCh0KXtjb25zdCBlPXRoaXMuYXR0cmlidXRlcy5wb3NpdGlvbjt2b2lkIDAhPT1lJiYoZS5hcHBseU1hdHJpeDQodCksZS5uZWVkc1VwZGF0ZT0hMCk7Y29uc3Qgbj10aGlzLmF0dHJpYnV0ZXMubm9ybWFsO2lmKHZvaWQgMCE9PW4pe2NvbnN0IGU9KG5ldyBoc3QpLmdldE5vcm1hbE1hdHJpeCh0KTtuLmFwcGx5Tm9ybWFsTWF0cml4KGUpLG4ubmVlZHNVcGRhdGU9ITB9Y29uc3Qgbz10aGlzLmF0dHJpYnV0ZXMudGFuZ2VudDtyZXR1cm4gdm9pZCAwIT09byYmKG8udHJhbnNmb3JtRGlyZWN0aW9uKHQpLG8ubmVlZHNVcGRhdGU9ITApLG51bGwhPT10aGlzLmJvdW5kaW5nQm94JiZ0aGlzLmNvbXB1dGVCb3VuZGluZ0JveCgpLG51bGwhPT10aGlzLmJvdW5kaW5nU3BoZXJlJiZ0aGlzLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLHRoaXN9YXBwbHlRdWF0ZXJuaW9uKHQpe3JldHVybiBpY3QubWFrZVJvdGF0aW9uRnJvbVF1YXRlcm5pb24odCksdGhpcy5hcHBseU1hdHJpeDQoaWN0KSx0aGlzfXJvdGF0ZVgodCl7cmV0dXJuIGljdC5tYWtlUm90YXRpb25YKHQpLHRoaXMuYXBwbHlNYXRyaXg0KGljdCksdGhpc31yb3RhdGVZKHQpe3JldHVybiBpY3QubWFrZVJvdGF0aW9uWSh0KSx0aGlzLmFwcGx5TWF0cml4NChpY3QpLHRoaXN9cm90YXRlWih0KXtyZXR1cm4gaWN0Lm1ha2VSb3RhdGlvbloodCksdGhpcy5hcHBseU1hdHJpeDQoaWN0KSx0aGlzfXRyYW5zbGF0ZSh0LGUsbil7cmV0dXJuIGljdC5tYWtlVHJhbnNsYXRpb24odCxlLG4pLHRoaXMuYXBwbHlNYXRyaXg0KGljdCksdGhpc31zY2FsZSh0LGUsbil7cmV0dXJuIGljdC5tYWtlU2NhbGUodCxlLG4pLHRoaXMuYXBwbHlNYXRyaXg0KGljdCksdGhpc31sb29rQXQodCl7cmV0dXJuIGFjdC5sb29rQXQodCksYWN0LnVwZGF0ZU1hdHJpeCgpLHRoaXMuYXBwbHlNYXRyaXg0KGFjdC5tYXRyaXgpLHRoaXN9Y2VudGVyKCl7cmV0dXJuIHRoaXMuY29tcHV0ZUJvdW5kaW5nQm94KCksdGhpcy5ib3VuZGluZ0JveC5nZXRDZW50ZXIocmN0KS5uZWdhdGUoKSx0aGlzLnRyYW5zbGF0ZShyY3QueCxyY3QueSxyY3QueiksdGhpc31zZXRGcm9tUG9pbnRzKHQpe2NvbnN0IGU9W107Zm9yKGxldCBuPTAsbz10Lmxlbmd0aDtuPG87bisrKXtjb25zdCBvPXRbbl07ZS5wdXNoKG8ueCxvLnksby56fHwwKX1yZXR1cm4gdGhpcy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgZWN0KGUsMykpLHRoaXN9Y29tcHV0ZUJvdW5kaW5nQm94KCl7bnVsbD09PXRoaXMuYm91bmRpbmdCb3gmJih0aGlzLmJvdW5kaW5nQm94PW5ldyBEc3QpO2NvbnN0IHQ9dGhpcy5hdHRyaWJ1dGVzLnBvc2l0aW9uLGU9dGhpcy5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb247aWYodCYmdC5pc0dMQnVmZmVyQXR0cmlidXRlKXJldHVybiBjb25zb2xlLmVycm9yKCdUSFJFRS5CdWZmZXJHZW9tZXRyeS5jb21wdXRlQm91bmRpbmdCb3goKTogR0xCdWZmZXJBdHRyaWJ1dGUgcmVxdWlyZXMgYSBtYW51YWwgYm91bmRpbmcgYm94LiBBbHRlcm5hdGl2ZWx5IHNldCAibWVzaC5mcnVzdHVtQ3VsbGVkIiB0byAiZmFsc2UiLicsdGhpcyksdm9pZCB0aGlzLmJvdW5kaW5nQm94LnNldChuZXcgd3N0KC0xLzAsLTEvMCwtMS8wKSxuZXcgd3N0KDEvMCwxLzAsMS8wKSk7aWYodm9pZCAwIT09dCl7aWYodGhpcy5ib3VuZGluZ0JveC5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKHQpLGUpZm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0PG47dCsrKXtzY3Quc2V0RnJvbUJ1ZmZlckF0dHJpYnV0ZShlW3RdKSx0aGlzLm1vcnBoVGFyZ2V0c1JlbGF0aXZlPyhjY3QuYWRkVmVjdG9ycyh0aGlzLmJvdW5kaW5nQm94Lm1pbixzY3QubWluKSx0aGlzLmJvdW5kaW5nQm94LmV4cGFuZEJ5UG9pbnQoY2N0KSxjY3QuYWRkVmVjdG9ycyh0aGlzLmJvdW5kaW5nQm94Lm1heCxzY3QubWF4KSx0aGlzLmJvdW5kaW5nQm94LmV4cGFuZEJ5UG9pbnQoY2N0KSk6KHRoaXMuYm91bmRpbmdCb3guZXhwYW5kQnlQb2ludChzY3QubWluKSx0aGlzLmJvdW5kaW5nQm94LmV4cGFuZEJ5UG9pbnQoc2N0Lm1heCkpfX1lbHNlIHRoaXMuYm91bmRpbmdCb3gubWFrZUVtcHR5KCk7KGlzTmFOKHRoaXMuYm91bmRpbmdCb3gubWluLngpfHxpc05hTih0aGlzLmJvdW5kaW5nQm94Lm1pbi55KXx8aXNOYU4odGhpcy5ib3VuZGluZ0JveC5taW4ueikpJiZjb25zb2xlLmVycm9yKCdUSFJFRS5CdWZmZXJHZW9tZXRyeS5jb21wdXRlQm91bmRpbmdCb3goKTogQ29tcHV0ZWQgbWluL21heCBoYXZlIE5hTiB2YWx1ZXMuIFRoZSAicG9zaXRpb24iIGF0dHJpYnV0ZSBpcyBsaWtlbHkgdG8gaGF2ZSBOYU4gdmFsdWVzLicsdGhpcyl9Y29tcHV0ZUJvdW5kaW5nU3BoZXJlKCl7bnVsbD09PXRoaXMuYm91bmRpbmdTcGhlcmUmJih0aGlzLmJvdW5kaW5nU3BoZXJlPW5ldyBac3QpO2NvbnN0IHQ9dGhpcy5hdHRyaWJ1dGVzLnBvc2l0aW9uLGU9dGhpcy5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb247aWYodCYmdC5pc0dMQnVmZmVyQXR0cmlidXRlKXJldHVybiBjb25zb2xlLmVycm9yKCdUSFJFRS5CdWZmZXJHZW9tZXRyeS5jb21wdXRlQm91bmRpbmdTcGhlcmUoKTogR0xCdWZmZXJBdHRyaWJ1dGUgcmVxdWlyZXMgYSBtYW51YWwgYm91bmRpbmcgc3BoZXJlLiBBbHRlcm5hdGl2ZWx5IHNldCAibWVzaC5mcnVzdHVtQ3VsbGVkIiB0byAiZmFsc2UiLicsdGhpcyksdm9pZCB0aGlzLmJvdW5kaW5nU3BoZXJlLnNldChuZXcgd3N0LDEvMCk7aWYodCl7Y29uc3Qgbj10aGlzLmJvdW5kaW5nU3BoZXJlLmNlbnRlcjtpZihzY3Quc2V0RnJvbUJ1ZmZlckF0dHJpYnV0ZSh0KSxlKWZvcihsZXQgdD0wLG49ZS5sZW5ndGg7dDxuO3QrKyl7bGN0LnNldEZyb21CdWZmZXJBdHRyaWJ1dGUoZVt0XSksdGhpcy5tb3JwaFRhcmdldHNSZWxhdGl2ZT8oY2N0LmFkZFZlY3RvcnMoc2N0Lm1pbixsY3QubWluKSxzY3QuZXhwYW5kQnlQb2ludChjY3QpLGNjdC5hZGRWZWN0b3JzKHNjdC5tYXgsbGN0Lm1heCksc2N0LmV4cGFuZEJ5UG9pbnQoY2N0KSk6KHNjdC5leHBhbmRCeVBvaW50KGxjdC5taW4pLHNjdC5leHBhbmRCeVBvaW50KGxjdC5tYXgpKX1zY3QuZ2V0Q2VudGVyKG4pO2xldCBvPTA7Zm9yKGxldCBlPTAsaT10LmNvdW50O2U8aTtlKyspY2N0LmZyb21CdWZmZXJBdHRyaWJ1dGUodCxlKSxvPU1hdGgubWF4KG8sbi5kaXN0YW5jZVRvU3F1YXJlZChjY3QpKTtpZihlKWZvcihsZXQgaT0wLGE9ZS5sZW5ndGg7aTxhO2krKyl7Y29uc3QgYT1lW2ldLHI9dGhpcy5tb3JwaFRhcmdldHNSZWxhdGl2ZTtmb3IobGV0IGU9MCxpPWEuY291bnQ7ZTxpO2UrKyljY3QuZnJvbUJ1ZmZlckF0dHJpYnV0ZShhLGUpLHImJihyY3QuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LGUpLGNjdC5hZGQocmN0KSksbz1NYXRoLm1heChvLG4uZGlzdGFuY2VUb1NxdWFyZWQoY2N0KSl9dGhpcy5ib3VuZGluZ1NwaGVyZS5yYWRpdXM9TWF0aC5zcXJ0KG8pLGlzTmFOKHRoaXMuYm91bmRpbmdTcGhlcmUucmFkaXVzKSYmY29uc29sZS5lcnJvcignVEhSRUUuQnVmZmVyR2VvbWV0cnkuY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCk6IENvbXB1dGVkIHJhZGl1cyBpcyBOYU4uIFRoZSAicG9zaXRpb24iIGF0dHJpYnV0ZSBpcyBsaWtlbHkgdG8gaGF2ZSBOYU4gdmFsdWVzLicsdGhpcyl9fWNvbXB1dGVGYWNlTm9ybWFscygpe31jb21wdXRlVGFuZ2VudHMoKXtjb25zdCB0PXRoaXMuaW5kZXgsZT10aGlzLmF0dHJpYnV0ZXM7aWYobnVsbD09PXR8fHZvaWQgMD09PWUucG9zaXRpb258fHZvaWQgMD09PWUubm9ybWFsfHx2b2lkIDA9PT1lLnV2KXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuY29tcHV0ZVRhbmdlbnRzKCkgZmFpbGVkLiBNaXNzaW5nIHJlcXVpcmVkIGF0dHJpYnV0ZXMgKGluZGV4LCBwb3NpdGlvbiwgbm9ybWFsIG9yIHV2KSIpO2NvbnN0IG49dC5hcnJheSxvPWUucG9zaXRpb24uYXJyYXksaT1lLm5vcm1hbC5hcnJheSxhPWUudXYuYXJyYXkscj1vLmxlbmd0aC8zO3ZvaWQgMD09PWUudGFuZ2VudCYmdGhpcy5zZXRBdHRyaWJ1dGUoInRhbmdlbnQiLG5ldyBRbHQobmV3IEZsb2F0MzJBcnJheSg0KnIpLDQpKTtjb25zdCBzPWUudGFuZ2VudC5hcnJheSxsPVtdLGM9W107Zm9yKGxldCB0PTA7dDxyO3QrKylsW3RdPW5ldyB3c3QsY1t0XT1uZXcgd3N0O2NvbnN0IGQ9bmV3IHdzdCxwPW5ldyB3c3QsbT1uZXcgd3N0LGY9bmV3IGdzdCx1PW5ldyBnc3QsZz1uZXcgZ3N0LGg9bmV3IHdzdCxiPW5ldyB3c3Q7ZnVuY3Rpb24geSh0LGUsbil7ZC5mcm9tQXJyYXkobywzKnQpLHAuZnJvbUFycmF5KG8sMyplKSxtLmZyb21BcnJheShvLDMqbiksZi5mcm9tQXJyYXkoYSwyKnQpLHUuZnJvbUFycmF5KGEsMiplKSxnLmZyb21BcnJheShhLDIqbikscC5zdWIoZCksbS5zdWIoZCksdS5zdWIoZiksZy5zdWIoZik7Y29uc3QgaT0xLyh1LngqZy55LWcueCp1LnkpO2lzRmluaXRlKGkpJiYoaC5jb3B5KHApLm11bHRpcGx5U2NhbGFyKGcueSkuYWRkU2NhbGVkVmVjdG9yKG0sLXUueSkubXVsdGlwbHlTY2FsYXIoaSksYi5jb3B5KG0pLm11bHRpcGx5U2NhbGFyKHUueCkuYWRkU2NhbGVkVmVjdG9yKHAsLWcueCkubXVsdGlwbHlTY2FsYXIoaSksbFt0XS5hZGQoaCksbFtlXS5hZGQoaCksbFtuXS5hZGQoaCksY1t0XS5hZGQoYiksY1tlXS5hZGQoYiksY1tuXS5hZGQoYikpfWxldCBfPXRoaXMuZ3JvdXBzOzA9PT1fLmxlbmd0aCYmKF89W3tzdGFydDowLGNvdW50Om4ubGVuZ3RofV0pO2ZvcihsZXQgdD0wLGU9Xy5sZW5ndGg7dDxlOysrdCl7Y29uc3QgZT1fW3RdLG89ZS5zdGFydDtmb3IobGV0IHQ9byxpPW8rZS5jb3VudDt0PGk7dCs9Myl5KG5bdCswXSxuW3QrMV0sblt0KzJdKX1jb25zdCBDPW5ldyB3c3QsTT1uZXcgd3N0LHY9bmV3IHdzdCx4PW5ldyB3c3Q7ZnVuY3Rpb24gTyh0KXt2LmZyb21BcnJheShpLDMqdCkseC5jb3B5KHYpO2NvbnN0IGU9bFt0XTtDLmNvcHkoZSksQy5zdWIodi5tdWx0aXBseVNjYWxhcih2LmRvdChlKSkpLm5vcm1hbGl6ZSgpLE0uY3Jvc3NWZWN0b3JzKHgsZSk7Y29uc3Qgbj1NLmRvdChjW3RdKTwwPy0xOjE7c1s0KnRdPUMueCxzWzQqdCsxXT1DLnksc1s0KnQrMl09Qy56LHNbNCp0KzNdPW59Zm9yKGxldCB0PTAsZT1fLmxlbmd0aDt0PGU7Kyt0KXtjb25zdCBlPV9bdF0sbz1lLnN0YXJ0O2ZvcihsZXQgdD1vLGk9bytlLmNvdW50O3Q8aTt0Kz0zKU8oblt0KzBdKSxPKG5bdCsxXSksTyhuW3QrMl0pfX1jb21wdXRlVmVydGV4Tm9ybWFscygpe2NvbnN0IHQ9dGhpcy5pbmRleCxlPXRoaXMuZ2V0QXR0cmlidXRlKCJwb3NpdGlvbiIpO2lmKHZvaWQgMCE9PWUpe2xldCBuPXRoaXMuZ2V0QXR0cmlidXRlKCJub3JtYWwiKTtpZih2b2lkIDA9PT1uKW49bmV3IFFsdChuZXcgRmxvYXQzMkFycmF5KDMqZS5jb3VudCksMyksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbik7ZWxzZSBmb3IobGV0IHQ9MCxlPW4uY291bnQ7dDxlO3QrKyluLnNldFhZWih0LDAsMCwwKTtjb25zdCBvPW5ldyB3c3QsaT1uZXcgd3N0LGE9bmV3IHdzdCxyPW5ldyB3c3Qscz1uZXcgd3N0LGw9bmV3IHdzdCxjPW5ldyB3c3QsZD1uZXcgd3N0O2lmKHQpZm9yKGxldCBwPTAsbT10LmNvdW50O3A8bTtwKz0zKXtjb25zdCBtPXQuZ2V0WChwKzApLGY9dC5nZXRYKHArMSksdT10LmdldFgocCsyKTtvLmZyb21CdWZmZXJBdHRyaWJ1dGUoZSxtKSxpLmZyb21CdWZmZXJBdHRyaWJ1dGUoZSxmKSxhLmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx1KSxjLnN1YlZlY3RvcnMoYSxpKSxkLnN1YlZlY3RvcnMobyxpKSxjLmNyb3NzKGQpLHIuZnJvbUJ1ZmZlckF0dHJpYnV0ZShuLG0pLHMuZnJvbUJ1ZmZlckF0dHJpYnV0ZShuLGYpLGwuZnJvbUJ1ZmZlckF0dHJpYnV0ZShuLHUpLHIuYWRkKGMpLHMuYWRkKGMpLGwuYWRkKGMpLG4uc2V0WFlaKG0sci54LHIueSxyLnopLG4uc2V0WFlaKGYscy54LHMueSxzLnopLG4uc2V0WFlaKHUsbC54LGwueSxsLnopfWVsc2UgZm9yKGxldCB0PTAscj1lLmNvdW50O3Q8cjt0Kz0zKW8uZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLHQrMCksaS5mcm9tQnVmZmVyQXR0cmlidXRlKGUsdCsxKSxhLmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx0KzIpLGMuc3ViVmVjdG9ycyhhLGkpLGQuc3ViVmVjdG9ycyhvLGkpLGMuY3Jvc3MoZCksbi5zZXRYWVoodCswLGMueCxjLnksYy56KSxuLnNldFhZWih0KzEsYy54LGMueSxjLnopLG4uc2V0WFlaKHQrMixjLngsYy55LGMueik7dGhpcy5ub3JtYWxpemVOb3JtYWxzKCksbi5uZWVkc1VwZGF0ZT0hMH19bWVyZ2UodCxlKXtpZighdHx8IXQuaXNCdWZmZXJHZW9tZXRyeSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5CdWZmZXJHZW9tZXRyeS5tZXJnZSgpOiBnZW9tZXRyeSBub3QgYW4gaW5zdGFuY2Ugb2YgVEhSRUUuQnVmZmVyR2VvbWV0cnkuIix0KTt2b2lkIDA9PT1lJiYoZT0wLGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnkubWVyZ2UoKTogT3ZlcndyaXRpbmcgb3JpZ2luYWwgZ2VvbWV0cnksIHN0YXJ0aW5nIGF0IG9mZnNldD0wLiBVc2UgQnVmZmVyR2VvbWV0cnlVdGlscy5tZXJnZUJ1ZmZlckdlb21ldHJpZXMoKSBmb3IgbG9zc2xlc3MgbWVyZ2UuIikpO2NvbnN0IG49dGhpcy5hdHRyaWJ1dGVzO2Zvcihjb25zdCBvIGluIG4pe2lmKHZvaWQgMD09PXQuYXR0cmlidXRlc1tvXSljb250aW51ZTtjb25zdCBpPW5bb10uYXJyYXksYT10LmF0dHJpYnV0ZXNbb10scj1hLmFycmF5LHM9YS5pdGVtU2l6ZSplLGw9TWF0aC5taW4oci5sZW5ndGgsaS5sZW5ndGgtcyk7Zm9yKGxldCB0PTAsZT1zO3Q8bDt0KyssZSsrKWlbZV09clt0XX1yZXR1cm4gdGhpc31ub3JtYWxpemVOb3JtYWxzKCl7Y29uc3QgdD10aGlzLmF0dHJpYnV0ZXMubm9ybWFsO2ZvcihsZXQgZT0wLG49dC5jb3VudDtlPG47ZSsrKWNjdC5mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSksY2N0Lm5vcm1hbGl6ZSgpLHQuc2V0WFlaKGUsY2N0LngsY2N0LnksY2N0LnopfXRvTm9uSW5kZXhlZCgpe2Z1bmN0aW9uIHQodCxlKXtjb25zdCBuPXQuYXJyYXksbz10Lml0ZW1TaXplLGk9dC5ub3JtYWxpemVkLGE9bmV3IG4uY29uc3RydWN0b3IoZS5sZW5ndGgqbyk7bGV0IHI9MCxzPTA7Zm9yKGxldCBpPTAsbD1lLmxlbmd0aDtpPGw7aSsrKXtyPXQuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZT9lW2ldKnQuZGF0YS5zdHJpZGUrdC5vZmZzZXQ6ZVtpXSpvO2ZvcihsZXQgdD0wO3Q8bzt0KyspYVtzKytdPW5bcisrXX1yZXR1cm4gbmV3IFFsdChhLG8saSl9aWYobnVsbD09PXRoaXMuaW5kZXgpcmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnkudG9Ob25JbmRleGVkKCk6IEJ1ZmZlckdlb21ldHJ5IGlzIGFscmVhZHkgbm9uLWluZGV4ZWQuIiksdGhpcztjb25zdCBlPW5ldyBkY3Qsbj10aGlzLmluZGV4LmFycmF5LG89dGhpcy5hdHRyaWJ1dGVzO2Zvcihjb25zdCBpIGluIG8pe2NvbnN0IGE9dChvW2ldLG4pO2Uuc2V0QXR0cmlidXRlKGksYSl9Y29uc3QgaT10aGlzLm1vcnBoQXR0cmlidXRlcztmb3IoY29uc3QgbyBpbiBpKXtjb25zdCBhPVtdLHI9aVtvXTtmb3IobGV0IGU9MCxvPXIubGVuZ3RoO2U8bztlKyspe2NvbnN0IG89dChyW2VdLG4pO2EucHVzaChvKX1lLm1vcnBoQXR0cmlidXRlc1tvXT1hfWUubW9ycGhUYXJnZXRzUmVsYXRpdmU9dGhpcy5tb3JwaFRhcmdldHNSZWxhdGl2ZTtjb25zdCBhPXRoaXMuZ3JvdXBzO2ZvcihsZXQgdD0wLG49YS5sZW5ndGg7dDxuO3QrKyl7Y29uc3Qgbj1hW3RdO2UuYWRkR3JvdXAobi5zdGFydCxuLmNvdW50LG4ubWF0ZXJpYWxJbmRleCl9cmV0dXJuIGV9dG9KU09OKCl7Y29uc3QgdD17bWV0YWRhdGE6e3ZlcnNpb246NC41LHR5cGU6IkJ1ZmZlckdlb21ldHJ5IixnZW5lcmF0b3I6IkJ1ZmZlckdlb21ldHJ5LnRvSlNPTiJ9fTtpZih0LnV1aWQ9dGhpcy51dWlkLHQudHlwZT10aGlzLnR5cGUsIiIhPT10aGlzLm5hbWUmJih0Lm5hbWU9dGhpcy5uYW1lKSxPYmplY3Qua2V5cyh0aGlzLnVzZXJEYXRhKS5sZW5ndGg+MCYmKHQudXNlckRhdGE9dGhpcy51c2VyRGF0YSksdm9pZCAwIT09dGhpcy5wYXJhbWV0ZXJzKXtjb25zdCBlPXRoaXMucGFyYW1ldGVycztmb3IoY29uc3QgbiBpbiBlKXZvaWQgMCE9PWVbbl0mJih0W25dPWVbbl0pO3JldHVybiB0fXQuZGF0YT17YXR0cmlidXRlczp7fX07Y29uc3QgZT10aGlzLmluZGV4O251bGwhPT1lJiYodC5kYXRhLmluZGV4PXt0eXBlOmUuYXJyYXkuY29uc3RydWN0b3IubmFtZSxhcnJheTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLmFycmF5KX0pO2NvbnN0IG49dGhpcy5hdHRyaWJ1dGVzO2Zvcihjb25zdCBlIGluIG4pe3QuZGF0YS5hdHRyaWJ1dGVzW2VdPW5bZV0udG9KU09OKHQuZGF0YSl9Y29uc3Qgbz17fTtsZXQgaT0hMTtmb3IoY29uc3QgZSBpbiB0aGlzLm1vcnBoQXR0cmlidXRlcyl7Y29uc3Qgbj10aGlzLm1vcnBoQXR0cmlidXRlc1tlXSxhPVtdO2ZvcihsZXQgZT0wLG89bi5sZW5ndGg7ZTxvO2UrKyl7YS5wdXNoKG5bZV0udG9KU09OKHQuZGF0YSkpfWEubGVuZ3RoPjAmJihvW2VdPWEsaT0hMCl9aSYmKHQuZGF0YS5tb3JwaEF0dHJpYnV0ZXM9byx0LmRhdGEubW9ycGhUYXJnZXRzUmVsYXRpdmU9dGhpcy5tb3JwaFRhcmdldHNSZWxhdGl2ZSk7Y29uc3QgYT10aGlzLmdyb3VwczthLmxlbmd0aD4wJiYodC5kYXRhLmdyb3Vwcz1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGEpKSk7Y29uc3Qgcj10aGlzLmJvdW5kaW5nU3BoZXJlO3JldHVybiBudWxsIT09ciYmKHQuZGF0YS5ib3VuZGluZ1NwaGVyZT17Y2VudGVyOnIuY2VudGVyLnRvQXJyYXkoKSxyYWRpdXM6ci5yYWRpdXN9KSx0fWNsb25lKCl7cmV0dXJuKG5ldyBkY3QpLmNvcHkodGhpcyl9Y29weSh0KXt0aGlzLmluZGV4PW51bGwsdGhpcy5hdHRyaWJ1dGVzPXt9LHRoaXMubW9ycGhBdHRyaWJ1dGVzPXt9LHRoaXMuZ3JvdXBzPVtdLHRoaXMuYm91bmRpbmdCb3g9bnVsbCx0aGlzLmJvdW5kaW5nU3BoZXJlPW51bGw7Y29uc3QgZT17fTt0aGlzLm5hbWU9dC5uYW1lO2NvbnN0IG49dC5pbmRleDtudWxsIT09biYmdGhpcy5zZXRJbmRleChuLmNsb25lKGUpKTtjb25zdCBvPXQuYXR0cmlidXRlcztmb3IoY29uc3QgdCBpbiBvKXt0aGlzLnNldEF0dHJpYnV0ZSh0LG9bdF0uY2xvbmUoZSkpfWNvbnN0IGk9dC5tb3JwaEF0dHJpYnV0ZXM7Zm9yKGNvbnN0IHQgaW4gaSl7Y29uc3Qgbj1bXSxvPWlbdF07Zm9yKGxldCB0PTAsaT1vLmxlbmd0aDt0PGk7dCsrKW4ucHVzaChvW3RdLmNsb25lKGUpKTt0aGlzLm1vcnBoQXR0cmlidXRlc1t0XT1ufXRoaXMubW9ycGhUYXJnZXRzUmVsYXRpdmU9dC5tb3JwaFRhcmdldHNSZWxhdGl2ZTtjb25zdCBhPXQuZ3JvdXBzO2ZvcihsZXQgdD0wLGU9YS5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1hW3RdO3RoaXMuYWRkR3JvdXAoZS5zdGFydCxlLmNvdW50LGUubWF0ZXJpYWxJbmRleCl9Y29uc3Qgcj10LmJvdW5kaW5nQm94O251bGwhPT1yJiYodGhpcy5ib3VuZGluZ0JveD1yLmNsb25lKCkpO2NvbnN0IHM9dC5ib3VuZGluZ1NwaGVyZTtyZXR1cm4gbnVsbCE9PXMmJih0aGlzLmJvdW5kaW5nU3BoZXJlPXMuY2xvbmUoKSksdGhpcy5kcmF3UmFuZ2Uuc3RhcnQ9dC5kcmF3UmFuZ2Uuc3RhcnQsdGhpcy5kcmF3UmFuZ2UuY291bnQ9dC5kcmF3UmFuZ2UuY291bnQsdGhpcy51c2VyRGF0YT10LnVzZXJEYXRhLHRoaXN9ZGlzcG9zZSgpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiZGlzcG9zZSJ9KX19ZGN0LnByb3RvdHlwZS5pc0J1ZmZlckdlb21ldHJ5PSEwO2NvbnN0IHBjdD1uZXcgb2x0LG1jdD1uZXcgbmx0LGZjdD1uZXcgWnN0LHVjdD1uZXcgd3N0LGdjdD1uZXcgd3N0LGhjdD1uZXcgd3N0LGJjdD1uZXcgd3N0LHljdD1uZXcgd3N0LF9jdD1uZXcgd3N0LENjdD1uZXcgd3N0LE1jdD1uZXcgd3N0LHZjdD1uZXcgd3N0LHhjdD1uZXcgZ3N0LE9jdD1uZXcgZ3N0LFBjdD1uZXcgZ3N0LHdjdD1uZXcgd3N0LGtjdD1uZXcgd3N0O2NsYXNzIFNjdCBleHRlbmRzIFNsdHtjb25zdHJ1Y3Rvcih0PW5ldyBkY3QsZT1uZXcgWGx0KXtzdXBlcigpLHRoaXMudHlwZT0iTWVzaCIsdGhpcy5nZW9tZXRyeT10LHRoaXMubWF0ZXJpYWw9ZSx0aGlzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdm9pZCAwIT09dC5tb3JwaFRhcmdldEluZmx1ZW5jZXMmJih0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcz10Lm1vcnBoVGFyZ2V0SW5mbHVlbmNlcy5zbGljZSgpKSx2b2lkIDAhPT10Lm1vcnBoVGFyZ2V0RGljdGlvbmFyeSYmKHRoaXMubW9ycGhUYXJnZXREaWN0aW9uYXJ5PU9iamVjdC5hc3NpZ24oe30sdC5tb3JwaFRhcmdldERpY3Rpb25hcnkpKSx0aGlzLm1hdGVyaWFsPXQubWF0ZXJpYWwsdGhpcy5nZW9tZXRyeT10Lmdlb21ldHJ5LHRoaXN9dXBkYXRlTW9ycGhUYXJnZXRzKCl7Y29uc3QgdD10aGlzLmdlb21ldHJ5O2lmKHQuaXNCdWZmZXJHZW9tZXRyeSl7Y29uc3QgZT10Lm1vcnBoQXR0cmlidXRlcyxuPU9iamVjdC5rZXlzKGUpO2lmKG4ubGVuZ3RoPjApe2NvbnN0IHQ9ZVtuWzBdXTtpZih2b2lkIDAhPT10KXt0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcz1bXSx0aGlzLm1vcnBoVGFyZ2V0RGljdGlvbmFyeT17fTtmb3IobGV0IGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dFtlXS5uYW1lfHxTdHJpbmcoZSk7dGhpcy5tb3JwaFRhcmdldEluZmx1ZW5jZXMucHVzaCgwKSx0aGlzLm1vcnBoVGFyZ2V0RGljdGlvbmFyeVtuXT1lfX19fWVsc2V7Y29uc3QgZT10Lm1vcnBoVGFyZ2V0czt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiZjb25zb2xlLmVycm9yKCJUSFJFRS5NZXNoLnVwZGF0ZU1vcnBoVGFyZ2V0cygpIG5vIGxvbmdlciBzdXBwb3J0cyBUSFJFRS5HZW9tZXRyeS4gVXNlIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIil9fXJheWNhc3QodCxlKXtjb25zdCBuPXRoaXMuZ2VvbWV0cnksbz10aGlzLm1hdGVyaWFsLGk9dGhpcy5tYXRyaXhXb3JsZDtpZih2b2lkIDA9PT1vKXJldHVybjtpZihudWxsPT09bi5ib3VuZGluZ1NwaGVyZSYmbi5jb21wdXRlQm91bmRpbmdTcGhlcmUoKSxmY3QuY29weShuLmJvdW5kaW5nU3BoZXJlKSxmY3QuYXBwbHlNYXRyaXg0KGkpLCExPT09dC5yYXkuaW50ZXJzZWN0c1NwaGVyZShmY3QpKXJldHVybjtpZihwY3QuY29weShpKS5pbnZlcnQoKSxtY3QuY29weSh0LnJheSkuYXBwbHlNYXRyaXg0KHBjdCksbnVsbCE9PW4uYm91bmRpbmdCb3gmJiExPT09bWN0LmludGVyc2VjdHNCb3gobi5ib3VuZGluZ0JveCkpcmV0dXJuO2xldCBhO2lmKG4uaXNCdWZmZXJHZW9tZXRyeSl7Y29uc3QgaT1uLmluZGV4LHI9bi5hdHRyaWJ1dGVzLnBvc2l0aW9uLHM9bi5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb24sbD1uLm1vcnBoVGFyZ2V0c1JlbGF0aXZlLGM9bi5hdHRyaWJ1dGVzLnV2LGQ9bi5hdHRyaWJ1dGVzLnV2MixwPW4uZ3JvdXBzLG09bi5kcmF3UmFuZ2U7aWYobnVsbCE9PWkpaWYoQXJyYXkuaXNBcnJheShvKSlmb3IobGV0IG49MCxmPXAubGVuZ3RoO248ZjtuKyspe2NvbnN0IGY9cFtuXSx1PW9bZi5tYXRlcmlhbEluZGV4XTtmb3IobGV0IG49TWF0aC5tYXgoZi5zdGFydCxtLnN0YXJ0KSxvPU1hdGgubWluKGYuc3RhcnQrZi5jb3VudCxtLnN0YXJ0K20uY291bnQpO248bztuKz0zKXtjb25zdCBvPWkuZ2V0WChuKSxwPWkuZ2V0WChuKzEpLG09aS5nZXRYKG4rMik7YT1EY3QodGhpcyx1LHQsbWN0LHIscyxsLGMsZCxvLHAsbSksYSYmKGEuZmFjZUluZGV4PU1hdGguZmxvb3Iobi8zKSxhLmZhY2UubWF0ZXJpYWxJbmRleD1mLm1hdGVyaWFsSW5kZXgsZS5wdXNoKGEpKX19ZWxzZXtmb3IobGV0IG49TWF0aC5tYXgoMCxtLnN0YXJ0KSxwPU1hdGgubWluKGkuY291bnQsbS5zdGFydCttLmNvdW50KTtuPHA7bis9Myl7Y29uc3QgcD1pLmdldFgobiksbT1pLmdldFgobisxKSxmPWkuZ2V0WChuKzIpO2E9RGN0KHRoaXMsbyx0LG1jdCxyLHMsbCxjLGQscCxtLGYpLGEmJihhLmZhY2VJbmRleD1NYXRoLmZsb29yKG4vMyksZS5wdXNoKGEpKX19ZWxzZSBpZih2b2lkIDAhPT1yKWlmKEFycmF5LmlzQXJyYXkobykpZm9yKGxldCBuPTAsaT1wLmxlbmd0aDtuPGk7bisrKXtjb25zdCBpPXBbbl0sZj1vW2kubWF0ZXJpYWxJbmRleF07Zm9yKGxldCBuPU1hdGgubWF4KGkuc3RhcnQsbS5zdGFydCksbz1NYXRoLm1pbihpLnN0YXJ0K2kuY291bnQsbS5zdGFydCttLmNvdW50KTtuPG87bis9Myl7YT1EY3QodGhpcyxmLHQsbWN0LHIscyxsLGMsZCxuLG4rMSxuKzIpLGEmJihhLmZhY2VJbmRleD1NYXRoLmZsb29yKG4vMyksYS5mYWNlLm1hdGVyaWFsSW5kZXg9aS5tYXRlcmlhbEluZGV4LGUucHVzaChhKSl9fWVsc2V7Zm9yKGxldCBuPU1hdGgubWF4KDAsbS5zdGFydCksaT1NYXRoLm1pbihyLmNvdW50LG0uc3RhcnQrbS5jb3VudCk7bjxpO24rPTMpe2E9RGN0KHRoaXMsbyx0LG1jdCxyLHMsbCxjLGQsbixuKzEsbisyKSxhJiYoYS5mYWNlSW5kZXg9TWF0aC5mbG9vcihuLzMpLGUucHVzaChhKSl9fX1lbHNlIG4uaXNHZW9tZXRyeSYmY29uc29sZS5lcnJvcigiVEhSRUUuTWVzaC5yYXljYXN0KCkgbm8gbG9uZ2VyIHN1cHBvcnRzIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKX19ZnVuY3Rpb24gRGN0KHQsZSxuLG8saSxhLHIscyxsLGMsZCxwKXt1Y3QuZnJvbUJ1ZmZlckF0dHJpYnV0ZShpLGMpLGdjdC5mcm9tQnVmZmVyQXR0cmlidXRlKGksZCksaGN0LmZyb21CdWZmZXJBdHRyaWJ1dGUoaSxwKTtjb25zdCBtPXQubW9ycGhUYXJnZXRJbmZsdWVuY2VzO2lmKGEmJm0pe0NjdC5zZXQoMCwwLDApLE1jdC5zZXQoMCwwLDApLHZjdC5zZXQoMCwwLDApO2ZvcihsZXQgdD0wLGU9YS5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1tW3RdLG49YVt0XTswIT09ZSYmKGJjdC5mcm9tQnVmZmVyQXR0cmlidXRlKG4sYykseWN0LmZyb21CdWZmZXJBdHRyaWJ1dGUobixkKSxfY3QuZnJvbUJ1ZmZlckF0dHJpYnV0ZShuLHApLHI/KENjdC5hZGRTY2FsZWRWZWN0b3IoYmN0LGUpLE1jdC5hZGRTY2FsZWRWZWN0b3IoeWN0LGUpLHZjdC5hZGRTY2FsZWRWZWN0b3IoX2N0LGUpKTooQ2N0LmFkZFNjYWxlZFZlY3RvcihiY3Quc3ViKHVjdCksZSksTWN0LmFkZFNjYWxlZFZlY3Rvcih5Y3Quc3ViKGdjdCksZSksdmN0LmFkZFNjYWxlZFZlY3RvcihfY3Quc3ViKGhjdCksZSkpKX11Y3QuYWRkKENjdCksZ2N0LmFkZChNY3QpLGhjdC5hZGQodmN0KX10LmlzU2tpbm5lZE1lc2gmJih0LmJvbmVUcmFuc2Zvcm0oYyx1Y3QpLHQuYm9uZVRyYW5zZm9ybShkLGdjdCksdC5ib25lVHJhbnNmb3JtKHAsaGN0KSk7Y29uc3QgZj0oZnVuY3Rpb24gdSh0LGUsbixvLGksYSxyLHMpe2xldCBsO2lmKGw9MT09PWUuc2lkZT9vLmludGVyc2VjdFRyaWFuZ2xlKHIsYSxpLCEwLHMpOm8uaW50ZXJzZWN0VHJpYW5nbGUoaSxhLHIsMiE9PWUuc2lkZSxzKSxudWxsPT09bClyZXR1cm4gbnVsbDtrY3QuY29weShzKSxrY3QuYXBwbHlNYXRyaXg0KHQubWF0cml4V29ybGQpO2NvbnN0IGM9bi5yYXkub3JpZ2luLmRpc3RhbmNlVG8oa2N0KTtyZXR1cm4gYzxuLm5lYXJ8fGM+bi5mYXI/bnVsbDp7ZGlzdGFuY2U6Yyxwb2ludDprY3QuY2xvbmUoKSxvYmplY3Q6dH19KSh0LGUsbixvLHVjdCxnY3QsaGN0LHdjdCk7aWYoZil7cyYmKHhjdC5mcm9tQnVmZmVyQXR0cmlidXRlKHMsYyksT2N0LmZyb21CdWZmZXJBdHRyaWJ1dGUocyxkKSxQY3QuZnJvbUJ1ZmZlckF0dHJpYnV0ZShzLHApLGYudXY9TGx0LmdldFVWKHdjdCx1Y3QsZ2N0LGhjdCx4Y3QsT2N0LFBjdCxuZXcgZ3N0KSksbCYmKHhjdC5mcm9tQnVmZmVyQXR0cmlidXRlKGwsYyksT2N0LmZyb21CdWZmZXJBdHRyaWJ1dGUobCxkKSxQY3QuZnJvbUJ1ZmZlckF0dHJpYnV0ZShsLHApLGYudXYyPUxsdC5nZXRVVih3Y3QsdWN0LGdjdCxoY3QseGN0LE9jdCxQY3QsbmV3IGdzdCkpO2NvbnN0IHQ9e2E6YyxiOmQsYzpwLG5vcm1hbDpuZXcgd3N0LG1hdGVyaWFsSW5kZXg6MH07TGx0LmdldE5vcm1hbCh1Y3QsZ2N0LGhjdCx0Lm5vcm1hbCksZi5mYWNlPXR9cmV0dXJuIGZ9U2N0LnByb3RvdHlwZS5pc01lc2g9ITA7Y2xhc3MgUmN0IGV4dGVuZHMgZGN0e2NvbnN0cnVjdG9yKHQ9MSxlPTEsbj0xLG89MSxpPTEsYT0xKXtzdXBlcigpLHRoaXMudHlwZT0iQm94R2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17d2lkdGg6dCxoZWlnaHQ6ZSxkZXB0aDpuLHdpZHRoU2VnbWVudHM6byxoZWlnaHRTZWdtZW50czppLGRlcHRoU2VnbWVudHM6YX07Y29uc3Qgcj10aGlzO289TWF0aC5mbG9vcihvKSxpPU1hdGguZmxvb3IoaSksYT1NYXRoLmZsb29yKGEpO2NvbnN0IHM9W10sbD1bXSxjPVtdLGQ9W107bGV0IHA9MCxtPTA7ZnVuY3Rpb24gZih0LGUsbixvLGksYSxmLHUsZyxoLGIpe2NvbnN0IHk9YS9nLF89Zi9oLEM9YS8yLE09Zi8yLHY9dS8yLHg9ZysxLE89aCsxO2xldCBQPTAsdz0wO2NvbnN0IGs9bmV3IHdzdDtmb3IobGV0IGE9MDthPE87YSsrKXtjb25zdCByPWEqXy1NO2ZvcihsZXQgcz0wO3M8eDtzKyspe2tbdF09KHMqeS1DKSpvLGtbZV09cippLGtbbl09dixsLnB1c2goay54LGsueSxrLnopLGtbdF09MCxrW2VdPTAsa1tuXT11PjA/MTotMSxjLnB1c2goay54LGsueSxrLnopLGQucHVzaChzL2cpLGQucHVzaCgxLWEvaCksUCs9MX19Zm9yKGxldCB0PTA7dDxoO3QrKylmb3IobGV0IGU9MDtlPGc7ZSsrKXtjb25zdCBuPXArZSt4Kih0KzEpLG89cCsoZSsxKSt4Kih0KzEpLGk9cCsoZSsxKSt4KnQ7cy5wdXNoKHArZSt4KnQsbixpKSxzLnB1c2gobixvLGkpLHcrPTZ9ci5hZGRHcm91cChtLHcsYiksbSs9dyxwKz1QfWYoInoiLCJ5IiwieCIsLTEsLTEsbixlLHQsYSxpLDApLGYoInoiLCJ5IiwieCIsMSwtMSxuLGUsLXQsYSxpLDEpLGYoIngiLCJ6IiwieSIsMSwxLHQsbixlLG8sYSwyKSxmKCJ4IiwieiIsInkiLDEsLTEsdCxuLC1lLG8sYSwzKSxmKCJ4IiwieSIsInoiLDEsLTEsdCxlLG4sbyxpLDQpLGYoIngiLCJ5IiwieiIsLTEsLTEsdCxlLC1uLG8saSw1KSx0aGlzLnNldEluZGV4KHMpLHRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGVjdChsLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgZWN0KGMsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGVjdChkLDIpKX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyBSY3QodC53aWR0aCx0LmhlaWdodCx0LmRlcHRoLHQud2lkdGhTZWdtZW50cyx0LmhlaWdodFNlZ21lbnRzLHQuZGVwdGhTZWdtZW50cyl9fWZ1bmN0aW9uIEVjdCh0KXtjb25zdCBlPXt9O2Zvcihjb25zdCBuIGluIHQpe2Vbbl09e307Zm9yKGNvbnN0IG8gaW4gdFtuXSl7Y29uc3QgaT10W25dW29dO2Vbbl1bb109aSYmKGkuaXNDb2xvcnx8aS5pc01hdHJpeDN8fGkuaXNNYXRyaXg0fHxpLmlzVmVjdG9yMnx8aS5pc1ZlY3RvcjN8fGkuaXNWZWN0b3I0fHxpLmlzVGV4dHVyZXx8aS5pc1F1YXRlcm5pb24pP2kuY2xvbmUoKTpBcnJheS5pc0FycmF5KGkpP2kuc2xpY2UoKTppfX1yZXR1cm4gZX1mdW5jdGlvbiBBY3QodCl7Y29uc3QgZT17fTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7Y29uc3Qgbz1FY3QodFtuXSk7Zm9yKGNvbnN0IHQgaW4gbyllW3RdPW9bdF19cmV0dXJuIGV9Y29uc3QgVGN0PXtjbG9uZTpFY3QsbWVyZ2U6QWN0fTtjbGFzcyBOY3QgZXh0ZW5kcyBWbHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlNoYWRlck1hdGVyaWFsIix0aGlzLmRlZmluZXM9e30sdGhpcy51bmlmb3Jtcz17fSx0aGlzLnZlcnRleFNoYWRlcj0idm9pZCBtYWluKCkge1xuXHRnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb25NYXRyaXggKiBtb2RlbFZpZXdNYXRyaXggKiB2ZWM0KCBwb3NpdGlvbiwgMS4wICk7XG59Iix0aGlzLmZyYWdtZW50U2hhZGVyPSJ2b2lkIG1haW4oKSB7XG5cdGdsX0ZyYWdDb2xvciA9IHZlYzQoIDEuMCwgMC4wLCAwLjAsIDEuMCApO1xufSIsdGhpcy5saW5ld2lkdGg9MSx0aGlzLndpcmVmcmFtZT0hMSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xLHRoaXMuZm9nPSExLHRoaXMubGlnaHRzPSExLHRoaXMuY2xpcHBpbmc9ITEsdGhpcy5leHRlbnNpb25zPXtkZXJpdmF0aXZlczohMSxmcmFnRGVwdGg6ITEsZHJhd0J1ZmZlcnM6ITEsc2hhZGVyVGV4dHVyZUxPRDohMX0sdGhpcy5kZWZhdWx0QXR0cmlidXRlVmFsdWVzPXtjb2xvcjpbMSwxLDFdLHV2OlswLDBdLHV2MjpbMCwwXX0sdGhpcy5pbmRleDBBdHRyaWJ1dGVOYW1lPXZvaWQgMCx0aGlzLnVuaWZvcm1zTmVlZFVwZGF0ZT0hMSx0aGlzLmdsc2xWZXJzaW9uPW51bGwsdm9pZCAwIT09dCYmKHZvaWQgMCE9PXQuYXR0cmlidXRlcyYmY29uc29sZS5lcnJvcigiVEhSRUUuU2hhZGVyTWF0ZXJpYWw6IGF0dHJpYnV0ZXMgc2hvdWxkIG5vdyBiZSBkZWZpbmVkIGluIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIiksdGhpcy5zZXRWYWx1ZXModCkpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5mcmFnbWVudFNoYWRlcj10LmZyYWdtZW50U2hhZGVyLHRoaXMudmVydGV4U2hhZGVyPXQudmVydGV4U2hhZGVyLHRoaXMudW5pZm9ybXM9RWN0KHQudW5pZm9ybXMpLHRoaXMuZGVmaW5lcz1PYmplY3QuYXNzaWduKHt9LHQuZGVmaW5lcyksdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy5saWdodHM9dC5saWdodHMsdGhpcy5jbGlwcGluZz10LmNsaXBwaW5nLHRoaXMuZXh0ZW5zaW9ucz1PYmplY3QuYXNzaWduKHt9LHQuZXh0ZW5zaW9ucyksdGhpcy5nbHNsVmVyc2lvbj10Lmdsc2xWZXJzaW9uLHRoaXN9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO2UuZ2xzbFZlcnNpb249dGhpcy5nbHNsVmVyc2lvbixlLnVuaWZvcm1zPXt9O2Zvcihjb25zdCBuIGluIHRoaXMudW5pZm9ybXMpe2NvbnN0IG89dGhpcy51bmlmb3Jtc1tuXS52YWx1ZTtlLnVuaWZvcm1zW25dPW8mJm8uaXNUZXh0dXJlP3t0eXBlOiJ0Iix2YWx1ZTpvLnRvSlNPTih0KS51dWlkfTpvJiZvLmlzQ29sb3I/e3R5cGU6ImMiLHZhbHVlOm8uZ2V0SGV4KCl9Om8mJm8uaXNWZWN0b3IyP3t0eXBlOiJ2MiIsdmFsdWU6by50b0FycmF5KCl9Om8mJm8uaXNWZWN0b3IzP3t0eXBlOiJ2MyIsdmFsdWU6by50b0FycmF5KCl9Om8mJm8uaXNWZWN0b3I0P3t0eXBlOiJ2NCIsdmFsdWU6by50b0FycmF5KCl9Om8mJm8uaXNNYXRyaXgzP3t0eXBlOiJtMyIsdmFsdWU6by50b0FycmF5KCl9Om8mJm8uaXNNYXRyaXg0P3t0eXBlOiJtNCIsdmFsdWU6by50b0FycmF5KCl9Ont2YWx1ZTpvfX1PYmplY3Qua2V5cyh0aGlzLmRlZmluZXMpLmxlbmd0aD4wJiYoZS5kZWZpbmVzPXRoaXMuZGVmaW5lcyksZS52ZXJ0ZXhTaGFkZXI9dGhpcy52ZXJ0ZXhTaGFkZXIsZS5mcmFnbWVudFNoYWRlcj10aGlzLmZyYWdtZW50U2hhZGVyO2NvbnN0IG49e307Zm9yKGNvbnN0IHQgaW4gdGhpcy5leHRlbnNpb25zKSEwPT09dGhpcy5leHRlbnNpb25zW3RdJiYoblt0XT0hMCk7cmV0dXJuIE9iamVjdC5rZXlzKG4pLmxlbmd0aD4wJiYoZS5leHRlbnNpb25zPW4pLGV9fU5jdC5wcm90b3R5cGUuaXNTaGFkZXJNYXRlcmlhbD0hMDtjbGFzcyB6Y3QgZXh0ZW5kcyBTbHR7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iQ2FtZXJhIix0aGlzLm1hdHJpeFdvcmxkSW52ZXJzZT1uZXcgb2x0LHRoaXMucHJvamVjdGlvbk1hdHJpeD1uZXcgb2x0LHRoaXMucHJvamVjdGlvbk1hdHJpeEludmVyc2U9bmV3IG9sdH1jb3B5KHQsZSl7cmV0dXJuIHN1cGVyLmNvcHkodCxlKSx0aGlzLm1hdHJpeFdvcmxkSW52ZXJzZS5jb3B5KHQubWF0cml4V29ybGRJbnZlcnNlKSx0aGlzLnByb2plY3Rpb25NYXRyaXguY29weSh0LnByb2plY3Rpb25NYXRyaXgpLHRoaXMucHJvamVjdGlvbk1hdHJpeEludmVyc2UuY29weSh0LnByb2plY3Rpb25NYXRyaXhJbnZlcnNlKSx0aGlzfWdldFdvcmxkRGlyZWN0aW9uKHQpe3RoaXMudXBkYXRlV29ybGRNYXRyaXgoITAsITEpO2NvbnN0IGU9dGhpcy5tYXRyaXhXb3JsZC5lbGVtZW50cztyZXR1cm4gdC5zZXQoLWVbOF0sLWVbOV0sLWVbMTBdKS5ub3JtYWxpemUoKX11cGRhdGVNYXRyaXhXb3JsZCh0KXtzdXBlci51cGRhdGVNYXRyaXhXb3JsZCh0KSx0aGlzLm1hdHJpeFdvcmxkSW52ZXJzZS5jb3B5KHRoaXMubWF0cml4V29ybGQpLmludmVydCgpfXVwZGF0ZVdvcmxkTWF0cml4KHQsZSl7c3VwZXIudXBkYXRlV29ybGRNYXRyaXgodCxlKSx0aGlzLm1hdHJpeFdvcmxkSW52ZXJzZS5jb3B5KHRoaXMubWF0cml4V29ybGQpLmludmVydCgpfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX16Y3QucHJvdG90eXBlLmlzQ2FtZXJhPSEwO2NsYXNzIEljdCBleHRlbmRzIHpjdHtjb25zdHJ1Y3Rvcih0PTUwLGU9MSxuPS4xLG89MmUzKXtzdXBlcigpLHRoaXMudHlwZT0iUGVyc3BlY3RpdmVDYW1lcmEiLHRoaXMuZm92PXQsdGhpcy56b29tPTEsdGhpcy5uZWFyPW4sdGhpcy5mYXI9byx0aGlzLmZvY3VzPTEwLHRoaXMuYXNwZWN0PWUsdGhpcy52aWV3PW51bGwsdGhpcy5maWxtR2F1Z2U9MzUsdGhpcy5maWxtT2Zmc2V0PTAsdGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9Y29weSh0LGUpe3JldHVybiBzdXBlci5jb3B5KHQsZSksdGhpcy5mb3Y9dC5mb3YsdGhpcy56b29tPXQuem9vbSx0aGlzLm5lYXI9dC5uZWFyLHRoaXMuZmFyPXQuZmFyLHRoaXMuZm9jdXM9dC5mb2N1cyx0aGlzLmFzcGVjdD10LmFzcGVjdCx0aGlzLnZpZXc9bnVsbD09PXQudmlldz9udWxsOk9iamVjdC5hc3NpZ24oe30sdC52aWV3KSx0aGlzLmZpbG1HYXVnZT10LmZpbG1HYXVnZSx0aGlzLmZpbG1PZmZzZXQ9dC5maWxtT2Zmc2V0LHRoaXN9c2V0Rm9jYWxMZW5ndGgodCl7Y29uc3QgZT0uNSp0aGlzLmdldEZpbG1IZWlnaHQoKS90O3RoaXMuZm92PTIqY3N0Kk1hdGguYXRhbihlKSx0aGlzLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX1nZXRGb2NhbExlbmd0aCgpe2NvbnN0IHQ9TWF0aC50YW4oLjUqbHN0KnRoaXMuZm92KTtyZXR1cm4uNSp0aGlzLmdldEZpbG1IZWlnaHQoKS90fWdldEVmZmVjdGl2ZUZPVigpe3JldHVybiAyKmNzdCpNYXRoLmF0YW4oTWF0aC50YW4oLjUqbHN0KnRoaXMuZm92KS90aGlzLnpvb20pfWdldEZpbG1XaWR0aCgpe3JldHVybiB0aGlzLmZpbG1HYXVnZSpNYXRoLm1pbih0aGlzLmFzcGVjdCwxKX1nZXRGaWxtSGVpZ2h0KCl7cmV0dXJuIHRoaXMuZmlsbUdhdWdlL01hdGgubWF4KHRoaXMuYXNwZWN0LDEpfXNldFZpZXdPZmZzZXQodCxlLG4sbyxpLGEpe3RoaXMuYXNwZWN0PXQvZSxudWxsPT09dGhpcy52aWV3JiYodGhpcy52aWV3PXtlbmFibGVkOiEwLGZ1bGxXaWR0aDoxLGZ1bGxIZWlnaHQ6MSxvZmZzZXRYOjAsb2Zmc2V0WTowLHdpZHRoOjEsaGVpZ2h0OjF9KSx0aGlzLnZpZXcuZW5hYmxlZD0hMCx0aGlzLnZpZXcuZnVsbFdpZHRoPXQsdGhpcy52aWV3LmZ1bGxIZWlnaHQ9ZSx0aGlzLnZpZXcub2Zmc2V0WD1uLHRoaXMudmlldy5vZmZzZXRZPW8sdGhpcy52aWV3LndpZHRoPWksdGhpcy52aWV3LmhlaWdodD1hLHRoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfWNsZWFyVmlld09mZnNldCgpe251bGwhPT10aGlzLnZpZXcmJih0aGlzLnZpZXcuZW5hYmxlZD0hMSksdGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9dXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpe2NvbnN0IHQ9dGhpcy5uZWFyO2xldCBlPXQqTWF0aC50YW4oLjUqbHN0KnRoaXMuZm92KS90aGlzLnpvb20sbj0yKmUsbz10aGlzLmFzcGVjdCpuLGk9LS41Km87Y29uc3QgYT10aGlzLnZpZXc7aWYobnVsbCE9PXRoaXMudmlldyYmdGhpcy52aWV3LmVuYWJsZWQpe2NvbnN0IHQ9YS5mdWxsV2lkdGgscj1hLmZ1bGxIZWlnaHQ7aSs9YS5vZmZzZXRYKm8vdCxlLT1hLm9mZnNldFkqbi9yLG8qPWEud2lkdGgvdCxuKj1hLmhlaWdodC9yfWNvbnN0IHI9dGhpcy5maWxtT2Zmc2V0OzAhPT1yJiYoaSs9dCpyL3RoaXMuZ2V0RmlsbVdpZHRoKCkpLHRoaXMucHJvamVjdGlvbk1hdHJpeC5tYWtlUGVyc3BlY3RpdmUoaSxpK28sZSxlLW4sdCx0aGlzLmZhciksdGhpcy5wcm9qZWN0aW9uTWF0cml4SW52ZXJzZS5jb3B5KHRoaXMucHJvamVjdGlvbk1hdHJpeCkuaW52ZXJ0KCl9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO3JldHVybiBlLm9iamVjdC5mb3Y9dGhpcy5mb3YsZS5vYmplY3Quem9vbT10aGlzLnpvb20sZS5vYmplY3QubmVhcj10aGlzLm5lYXIsZS5vYmplY3QuZmFyPXRoaXMuZmFyLGUub2JqZWN0LmZvY3VzPXRoaXMuZm9jdXMsZS5vYmplY3QuYXNwZWN0PXRoaXMuYXNwZWN0LG51bGwhPT10aGlzLnZpZXcmJihlLm9iamVjdC52aWV3PU9iamVjdC5hc3NpZ24oe30sdGhpcy52aWV3KSksZS5vYmplY3QuZmlsbUdhdWdlPXRoaXMuZmlsbUdhdWdlLGUub2JqZWN0LmZpbG1PZmZzZXQ9dGhpcy5maWxtT2Zmc2V0LGV9fUljdC5wcm90b3R5cGUuaXNQZXJzcGVjdGl2ZUNhbWVyYT0hMDtjb25zdCBIY3Q9OTA7Y2xhc3MgRmN0IGV4dGVuZHMgU2x0e2NvbnN0cnVjdG9yKHQsZSxuKXtpZihzdXBlcigpLHRoaXMudHlwZT0iQ3ViZUNhbWVyYSIsITAhPT1uLmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0KXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLkN1YmVDYW1lcmE6IFRoZSBjb25zdHJ1Y3RvciBub3cgZXhwZWN0cyBhbiBpbnN0YW5jZSBvZiBXZWJHTEN1YmVSZW5kZXJUYXJnZXQgYXMgdGhpcmQgcGFyYW1ldGVyLiIpO3RoaXMucmVuZGVyVGFyZ2V0PW47Y29uc3Qgbz1uZXcgSWN0KEhjdCwxLHQsZSk7by5sYXllcnM9dGhpcy5sYXllcnMsby51cC5zZXQoMCwtMSwwKSxvLmxvb2tBdChuZXcgd3N0KDEsMCwwKSksdGhpcy5hZGQobyk7Y29uc3QgaT1uZXcgSWN0KEhjdCwxLHQsZSk7aS5sYXllcnM9dGhpcy5sYXllcnMsaS51cC5zZXQoMCwtMSwwKSxpLmxvb2tBdChuZXcgd3N0KC0xLDAsMCkpLHRoaXMuYWRkKGkpO2NvbnN0IGE9bmV3IEljdChIY3QsMSx0LGUpO2EubGF5ZXJzPXRoaXMubGF5ZXJzLGEudXAuc2V0KDAsMCwxKSxhLmxvb2tBdChuZXcgd3N0KDAsMSwwKSksdGhpcy5hZGQoYSk7Y29uc3Qgcj1uZXcgSWN0KEhjdCwxLHQsZSk7ci5sYXllcnM9dGhpcy5sYXllcnMsci51cC5zZXQoMCwwLC0xKSxyLmxvb2tBdChuZXcgd3N0KDAsLTEsMCkpLHRoaXMuYWRkKHIpO2NvbnN0IHM9bmV3IEljdChIY3QsMSx0LGUpO3MubGF5ZXJzPXRoaXMubGF5ZXJzLHMudXAuc2V0KDAsLTEsMCkscy5sb29rQXQobmV3IHdzdCgwLDAsMSkpLHRoaXMuYWRkKHMpO2NvbnN0IGw9bmV3IEljdChIY3QsMSx0LGUpO2wubGF5ZXJzPXRoaXMubGF5ZXJzLGwudXAuc2V0KDAsLTEsMCksbC5sb29rQXQobmV3IHdzdCgwLDAsLTEpKSx0aGlzLmFkZChsKX11cGRhdGUodCxlKXtudWxsPT09dGhpcy5wYXJlbnQmJnRoaXMudXBkYXRlTWF0cml4V29ybGQoKTtjb25zdCBuPXRoaXMucmVuZGVyVGFyZ2V0LFtvLGksYSxyLHMsbF09dGhpcy5jaGlsZHJlbixjPXQueHIuZW5hYmxlZCxkPXQuZ2V0UmVuZGVyVGFyZ2V0KCk7dC54ci5lbmFibGVkPSExO2NvbnN0IHA9bi50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcztuLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzPSExLHQuc2V0UmVuZGVyVGFyZ2V0KG4sMCksdC5yZW5kZXIoZSxvKSx0LnNldFJlbmRlclRhcmdldChuLDEpLHQucmVuZGVyKGUsaSksdC5zZXRSZW5kZXJUYXJnZXQobiwyKSx0LnJlbmRlcihlLGEpLHQuc2V0UmVuZGVyVGFyZ2V0KG4sMyksdC5yZW5kZXIoZSxyKSx0LnNldFJlbmRlclRhcmdldChuLDQpLHQucmVuZGVyKGUscyksbi50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz1wLHQuc2V0UmVuZGVyVGFyZ2V0KG4sNSksdC5yZW5kZXIoZSxsKSx0LnNldFJlbmRlclRhcmdldChkKSx0LnhyLmVuYWJsZWQ9Y319Y2xhc3MgTGN0IGV4dGVuZHMgQ3N0e2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMpe3N1cGVyKHQ9dm9pZCAwIT09dD90OltdLGU9dm9pZCAwIT09ZT9lOndydCxuLG8saSxhLHI9dm9pZCAwIT09cj9yOlZydCxzLGwsYyksdGhpcy5mbGlwWT0hMX1nZXQgaW1hZ2VzKCl7cmV0dXJuIHRoaXMuaW1hZ2V9c2V0IGltYWdlcyh0KXt0aGlzLmltYWdlPXR9fUxjdC5wcm90b3R5cGUuaXNDdWJlVGV4dHVyZT0hMDtjbGFzcyBCY3QgZXh0ZW5kcyB4c3R7Y29uc3RydWN0b3IodCxlLG4pe051bWJlci5pc0ludGVnZXIoZSkmJihjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMQ3ViZVJlbmRlclRhcmdldDogY29uc3RydWN0b3Igc2lnbmF0dXJlIGlzIG5vdyBXZWJHTEN1YmVSZW5kZXJUYXJnZXQoIHNpemUsIG9wdGlvbnMgKSIpLGU9biksc3VwZXIodCx0LGUpLHRoaXMudGV4dHVyZT1uZXcgTGN0KHZvaWQgMCwoZT1lfHx7fSkubWFwcGluZyxlLndyYXBTLGUud3JhcFQsZS5tYWdGaWx0ZXIsZS5taW5GaWx0ZXIsZS5mb3JtYXQsZS50eXBlLGUuYW5pc290cm9weSxlLmVuY29kaW5nKSx0aGlzLnRleHR1cmUuaXNSZW5kZXJUYXJnZXRUZXh0dXJlPSEwLHRoaXMudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHM9dm9pZCAwIT09ZS5nZW5lcmF0ZU1pcG1hcHMmJmUuZ2VuZXJhdGVNaXBtYXBzLHRoaXMudGV4dHVyZS5taW5GaWx0ZXI9dm9pZCAwIT09ZS5taW5GaWx0ZXI/ZS5taW5GaWx0ZXI6VHJ0LHRoaXMudGV4dHVyZS5fbmVlZHNGbGlwRW52TWFwPSExfWZyb21FcXVpcmVjdGFuZ3VsYXJUZXh0dXJlKHQsZSl7dGhpcy50ZXh0dXJlLnR5cGU9ZS50eXBlLHRoaXMudGV4dHVyZS5mb3JtYXQ9anJ0LHRoaXMudGV4dHVyZS5lbmNvZGluZz1lLmVuY29kaW5nLHRoaXMudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHM9ZS5nZW5lcmF0ZU1pcG1hcHMsdGhpcy50ZXh0dXJlLm1pbkZpbHRlcj1lLm1pbkZpbHRlcix0aGlzLnRleHR1cmUubWFnRmlsdGVyPWUubWFnRmlsdGVyO2NvbnN0IG49e3VuaWZvcm1zOnt0RXF1aXJlY3Q6e3ZhbHVlOm51bGx9fSx2ZXJ0ZXhTaGFkZXI6IlxuXG5cdFx0XHRcdHZhcnlpbmcgdmVjMyB2V29ybGREaXJlY3Rpb247XG5cblx0XHRcdFx0dmVjMyB0cmFuc2Zvcm1EaXJlY3Rpb24oIGluIHZlYzMgZGlyLCBpbiBtYXQ0IG1hdHJpeCApIHtcblxuXHRcdFx0XHRcdHJldHVybiBub3JtYWxpemUoICggbWF0cml4ICogdmVjNCggZGlyLCAwLjAgKSApLnh5eiApO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHR2b2lkIG1haW4oKSB7XG5cblx0XHRcdFx0XHR2V29ybGREaXJlY3Rpb24gPSB0cmFuc2Zvcm1EaXJlY3Rpb24oIHBvc2l0aW9uLCBtb2RlbE1hdHJpeCApO1xuXG5cdFx0XHRcdFx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0XHRcdFx0XHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cblx0XHRcdFx0fVxuXHRcdFx0IixmcmFnbWVudFNoYWRlcjoiXG5cblx0XHRcdFx0dW5pZm9ybSBzYW1wbGVyMkQgdEVxdWlyZWN0O1xuXG5cdFx0XHRcdHZhcnlpbmcgdmVjMyB2V29ybGREaXJlY3Rpb247XG5cblx0XHRcdFx0I2luY2x1ZGUgPGNvbW1vbj5cblxuXHRcdFx0XHR2b2lkIG1haW4oKSB7XG5cblx0XHRcdFx0XHR2ZWMzIGRpcmVjdGlvbiA9IG5vcm1hbGl6ZSggdldvcmxkRGlyZWN0aW9uICk7XG5cblx0XHRcdFx0XHR2ZWMyIHNhbXBsZVVWID0gZXF1aXJlY3RVdiggZGlyZWN0aW9uICk7XG5cblx0XHRcdFx0XHRnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlMkQoIHRFcXVpcmVjdCwgc2FtcGxlVVYgKTtcblxuXHRcdFx0XHR9XG5cdFx0XHQifSxvPW5ldyBSY3QoNSw1LDUpLGk9bmV3IE5jdCh7bmFtZToiQ3ViZW1hcEZyb21FcXVpcmVjdCIsdW5pZm9ybXM6RWN0KG4udW5pZm9ybXMpLHZlcnRleFNoYWRlcjpuLnZlcnRleFNoYWRlcixmcmFnbWVudFNoYWRlcjpuLmZyYWdtZW50U2hhZGVyLHNpZGU6MSxibGVuZGluZzowfSk7aS51bmlmb3Jtcy50RXF1aXJlY3QudmFsdWU9ZTtjb25zdCBhPW5ldyBTY3QobyxpKSxyPWUubWluRmlsdGVyO2UubWluRmlsdGVyPT09TnJ0JiYoZS5taW5GaWx0ZXI9VHJ0KTtyZXR1cm4gbmV3IEZjdCgxLDEwLHRoaXMpLnVwZGF0ZSh0LGEpLGUubWluRmlsdGVyPXIsYS5nZW9tZXRyeS5kaXNwb3NlKCksYS5tYXRlcmlhbC5kaXNwb3NlKCksdGhpc31jbGVhcih0LGUsbixvKXtjb25zdCBpPXQuZ2V0UmVuZGVyVGFyZ2V0KCk7Zm9yKGxldCBpPTA7aTw2O2krKyl0LnNldFJlbmRlclRhcmdldCh0aGlzLGkpLHQuY2xlYXIoZSxuLG8pO3Quc2V0UmVuZGVyVGFyZ2V0KGkpfX1CY3QucHJvdG90eXBlLmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0PSEwO2NvbnN0IFZjdD1uZXcgd3N0LGpjdD1uZXcgd3N0LFVjdD1uZXcgaHN0O2NsYXNzIFdjdHtjb25zdHJ1Y3Rvcih0PW5ldyB3c3QoMSwwLDApLGU9MCl7dGhpcy5ub3JtYWw9dCx0aGlzLmNvbnN0YW50PWV9c2V0KHQsZSl7cmV0dXJuIHRoaXMubm9ybWFsLmNvcHkodCksdGhpcy5jb25zdGFudD1lLHRoaXN9c2V0Q29tcG9uZW50cyh0LGUsbixvKXtyZXR1cm4gdGhpcy5ub3JtYWwuc2V0KHQsZSxuKSx0aGlzLmNvbnN0YW50PW8sdGhpc31zZXRGcm9tTm9ybWFsQW5kQ29wbGFuYXJQb2ludCh0LGUpe3JldHVybiB0aGlzLm5vcm1hbC5jb3B5KHQpLHRoaXMuY29uc3RhbnQ9LWUuZG90KHRoaXMubm9ybWFsKSx0aGlzfXNldEZyb21Db3BsYW5hclBvaW50cyh0LGUsbil7Y29uc3Qgbz1WY3Quc3ViVmVjdG9ycyhuLGUpLmNyb3NzKGpjdC5zdWJWZWN0b3JzKHQsZSkpLm5vcm1hbGl6ZSgpO3JldHVybiB0aGlzLnNldEZyb21Ob3JtYWxBbmRDb3BsYW5hclBvaW50KG8sdCksdGhpc31jb3B5KHQpe3JldHVybiB0aGlzLm5vcm1hbC5jb3B5KHQubm9ybWFsKSx0aGlzLmNvbnN0YW50PXQuY29uc3RhbnQsdGhpc31ub3JtYWxpemUoKXtjb25zdCB0PTEvdGhpcy5ub3JtYWwubGVuZ3RoKCk7cmV0dXJuIHRoaXMubm9ybWFsLm11bHRpcGx5U2NhbGFyKHQpLHRoaXMuY29uc3RhbnQqPXQsdGhpc31uZWdhdGUoKXtyZXR1cm4gdGhpcy5jb25zdGFudCo9LTEsdGhpcy5ub3JtYWwubmVnYXRlKCksdGhpc31kaXN0YW5jZVRvUG9pbnQodCl7cmV0dXJuIHRoaXMubm9ybWFsLmRvdCh0KSt0aGlzLmNvbnN0YW50fWRpc3RhbmNlVG9TcGhlcmUodCl7cmV0dXJuIHRoaXMuZGlzdGFuY2VUb1BvaW50KHQuY2VudGVyKS10LnJhZGl1c31wcm9qZWN0UG9pbnQodCxlKXtyZXR1cm4gZS5jb3B5KHRoaXMubm9ybWFsKS5tdWx0aXBseVNjYWxhcigtdGhpcy5kaXN0YW5jZVRvUG9pbnQodCkpLmFkZCh0KX1pbnRlcnNlY3RMaW5lKHQsZSl7Y29uc3Qgbj10LmRlbHRhKFZjdCksbz10aGlzLm5vcm1hbC5kb3Qobik7aWYoMD09PW8pcmV0dXJuIDA9PT10aGlzLmRpc3RhbmNlVG9Qb2ludCh0LnN0YXJ0KT9lLmNvcHkodC5zdGFydCk6bnVsbDtjb25zdCBpPS0odC5zdGFydC5kb3QodGhpcy5ub3JtYWwpK3RoaXMuY29uc3RhbnQpL287cmV0dXJuIGk8MHx8aT4xP251bGw6ZS5jb3B5KG4pLm11bHRpcGx5U2NhbGFyKGkpLmFkZCh0LnN0YXJ0KX1pbnRlcnNlY3RzTGluZSh0KXtjb25zdCBlPXRoaXMuZGlzdGFuY2VUb1BvaW50KHQuc3RhcnQpLG49dGhpcy5kaXN0YW5jZVRvUG9pbnQodC5lbmQpO3JldHVybiBlPDAmJm4+MHx8bjwwJiZlPjB9aW50ZXJzZWN0c0JveCh0KXtyZXR1cm4gdC5pbnRlcnNlY3RzUGxhbmUodGhpcyl9aW50ZXJzZWN0c1NwaGVyZSh0KXtyZXR1cm4gdC5pbnRlcnNlY3RzUGxhbmUodGhpcyl9Y29wbGFuYXJQb2ludCh0KXtyZXR1cm4gdC5jb3B5KHRoaXMubm9ybWFsKS5tdWx0aXBseVNjYWxhcigtdGhpcy5jb25zdGFudCl9YXBwbHlNYXRyaXg0KHQsZSl7Y29uc3Qgbj1lfHxVY3QuZ2V0Tm9ybWFsTWF0cml4KHQpLG89dGhpcy5jb3BsYW5hclBvaW50KFZjdCkuYXBwbHlNYXRyaXg0KHQpLGk9dGhpcy5ub3JtYWwuYXBwbHlNYXRyaXgzKG4pLm5vcm1hbGl6ZSgpO3JldHVybiB0aGlzLmNvbnN0YW50PS1vLmRvdChpKSx0aGlzfXRyYW5zbGF0ZSh0KXtyZXR1cm4gdGhpcy5jb25zdGFudC09dC5kb3QodGhpcy5ub3JtYWwpLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lm5vcm1hbC5lcXVhbHModGhpcy5ub3JtYWwpJiZ0LmNvbnN0YW50PT09dGhpcy5jb25zdGFudH1jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX19V2N0LnByb3RvdHlwZS5pc1BsYW5lPSEwO2NvbnN0IEdjdD1uZXcgWnN0LFljdD1uZXcgd3N0O2NsYXNzIHFjdHtjb25zdHJ1Y3Rvcih0PW5ldyBXY3QsZT1uZXcgV2N0LG49bmV3IFdjdCxvPW5ldyBXY3QsaT1uZXcgV2N0LGE9bmV3IFdjdCl7dGhpcy5wbGFuZXM9W3QsZSxuLG8saSxhXX1zZXQodCxlLG4sbyxpLGEpe2NvbnN0IHI9dGhpcy5wbGFuZXM7cmV0dXJuIHJbMF0uY29weSh0KSxyWzFdLmNvcHkoZSksclsyXS5jb3B5KG4pLHJbM10uY29weShvKSxyWzRdLmNvcHkoaSkscls1XS5jb3B5KGEpLHRoaXN9Y29weSh0KXtjb25zdCBlPXRoaXMucGxhbmVzO2ZvcihsZXQgbj0wO248NjtuKyspZVtuXS5jb3B5KHQucGxhbmVzW25dKTtyZXR1cm4gdGhpc31zZXRGcm9tUHJvamVjdGlvbk1hdHJpeCh0KXtjb25zdCBlPXRoaXMucGxhbmVzLG49dC5lbGVtZW50cyxvPW5bMF0saT1uWzFdLGE9blsyXSxyPW5bM10scz1uWzRdLGw9bls1XSxjPW5bNl0sZD1uWzddLHA9bls4XSxtPW5bOV0sZj1uWzEwXSx1PW5bMTFdLGc9blsxMl0saD1uWzEzXSxiPW5bMTRdLHk9blsxNV07cmV0dXJuIGVbMF0uc2V0Q29tcG9uZW50cyhyLW8sZC1zLHUtcCx5LWcpLm5vcm1hbGl6ZSgpLGVbMV0uc2V0Q29tcG9uZW50cyhyK28sZCtzLHUrcCx5K2cpLm5vcm1hbGl6ZSgpLGVbMl0uc2V0Q29tcG9uZW50cyhyK2ksZCtsLHUrbSx5K2gpLm5vcm1hbGl6ZSgpLGVbM10uc2V0Q29tcG9uZW50cyhyLWksZC1sLHUtbSx5LWgpLm5vcm1hbGl6ZSgpLGVbNF0uc2V0Q29tcG9uZW50cyhyLWEsZC1jLHUtZix5LWIpLm5vcm1hbGl6ZSgpLGVbNV0uc2V0Q29tcG9uZW50cyhyK2EsZCtjLHUrZix5K2IpLm5vcm1hbGl6ZSgpLHRoaXN9aW50ZXJzZWN0c09iamVjdCh0KXtjb25zdCBlPXQuZ2VvbWV0cnk7cmV0dXJuIG51bGw9PT1lLmJvdW5kaW5nU3BoZXJlJiZlLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLEdjdC5jb3B5KGUuYm91bmRpbmdTcGhlcmUpLmFwcGx5TWF0cml4NCh0Lm1hdHJpeFdvcmxkKSx0aGlzLmludGVyc2VjdHNTcGhlcmUoR2N0KX1pbnRlcnNlY3RzU3ByaXRlKHQpe3JldHVybiBHY3QuY2VudGVyLnNldCgwLDAsMCksR2N0LnJhZGl1cz0uNzA3MTA2NzgxMTg2NTQ3NixHY3QuYXBwbHlNYXRyaXg0KHQubWF0cml4V29ybGQpLHRoaXMuaW50ZXJzZWN0c1NwaGVyZShHY3QpfWludGVyc2VjdHNTcGhlcmUodCl7Y29uc3QgZT10aGlzLnBsYW5lcyxuPXQuY2VudGVyLG89LXQucmFkaXVzO2ZvcihsZXQgdD0wO3Q8Njt0Kyspe2lmKGVbdF0uZGlzdGFuY2VUb1BvaW50KG4pPG8pcmV0dXJuITF9cmV0dXJuITB9aW50ZXJzZWN0c0JveCh0KXtjb25zdCBlPXRoaXMucGxhbmVzO2ZvcihsZXQgbj0wO248NjtuKyspe2NvbnN0IG89ZVtuXTtpZihZY3QueD1vLm5vcm1hbC54PjA/dC5tYXgueDp0Lm1pbi54LFljdC55PW8ubm9ybWFsLnk+MD90Lm1heC55OnQubWluLnksWWN0Lno9by5ub3JtYWwuej4wP3QubWF4Lno6dC5taW4ueixvLmRpc3RhbmNlVG9Qb2ludChZY3QpPDApcmV0dXJuITF9cmV0dXJuITB9Y29udGFpbnNQb2ludCh0KXtjb25zdCBlPXRoaXMucGxhbmVzO2ZvcihsZXQgbj0wO248NjtuKyspaWYoZVtuXS5kaXN0YW5jZVRvUG9pbnQodCk8MClyZXR1cm4hMTtyZXR1cm4hMH1jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX19ZnVuY3Rpb24gWmN0KCl7bGV0IHQ9bnVsbCxlPSExLG49bnVsbCxvPW51bGw7ZnVuY3Rpb24gaShlLGEpe24oZSxhKSxvPXQucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGkpfXJldHVybntzdGFydDpmdW5jdGlvbigpeyEwIT09ZSYmbnVsbCE9PW4mJihvPXQucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGkpLGU9ITApfSxzdG9wOmZ1bmN0aW9uKCl7dC5jYW5jZWxBbmltYXRpb25GcmFtZShvKSxlPSExfSxzZXRBbmltYXRpb25Mb29wOmZ1bmN0aW9uKHQpe249dH0sc2V0Q29udGV4dDpmdW5jdGlvbihlKXt0PWV9fX1mdW5jdGlvbiBYY3QodCxlKXtjb25zdCBuPWUuaXNXZWJHTDIsbz1uZXcgV2Vha01hcDtyZXR1cm57Z2V0OmZ1bmN0aW9uIGkodCl7cmV0dXJuIHQuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZSYmKHQ9dC5kYXRhKSxvLmdldCh0KX0scmVtb3ZlOmZ1bmN0aW9uIGEoZSl7ZS5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlJiYoZT1lLmRhdGEpO2NvbnN0IG49by5nZXQoZSk7biYmKHQuZGVsZXRlQnVmZmVyKG4uYnVmZmVyKSxvLmRlbGV0ZShlKSl9LHVwZGF0ZTpmdW5jdGlvbiByKGUsaSl7aWYoZS5pc0dMQnVmZmVyQXR0cmlidXRlKXtjb25zdCB0PW8uZ2V0KGUpO3JldHVybiB2b2lkKCghdHx8dC52ZXJzaW9uPGUudmVyc2lvbikmJm8uc2V0KGUse2J1ZmZlcjplLmJ1ZmZlcix0eXBlOmUudHlwZSxieXRlc1BlckVsZW1lbnQ6ZS5lbGVtZW50U2l6ZSx2ZXJzaW9uOmUudmVyc2lvbn0pKX1lLmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUmJihlPWUuZGF0YSk7Y29uc3QgYT1vLmdldChlKTt2b2lkIDA9PT1hP28uc2V0KGUsKGZ1bmN0aW9uIHIoZSxvKXtjb25zdCBpPWUuYXJyYXksYT1lLnVzYWdlLHI9dC5jcmVhdGVCdWZmZXIoKTt0LmJpbmRCdWZmZXIobyxyKSx0LmJ1ZmZlckRhdGEobyxpLGEpLGUub25VcGxvYWRDYWxsYmFjaygpO2xldCBzPTUxMjY7cmV0dXJuIGkgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXk/cz01MTI2OmkgaW5zdGFuY2VvZiBGbG9hdDY0QXJyYXk/Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTEF0dHJpYnV0ZXM6IFVuc3VwcG9ydGVkIGRhdGEgYnVmZmVyIGZvcm1hdDogRmxvYXQ2NEFycmF5LiIpOmkgaW5zdGFuY2VvZiBVaW50MTZBcnJheT9lLmlzRmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZT9uP3M9NTEzMTpjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMQXR0cmlidXRlczogVXNhZ2Ugb2YgRmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZSByZXF1aXJlcyBXZWJHTDIuIik6cz01MTIzOmkgaW5zdGFuY2VvZiBJbnQxNkFycmF5P3M9NTEyMjppIGluc3RhbmNlb2YgVWludDMyQXJyYXk/cz01MTI1OmkgaW5zdGFuY2VvZiBJbnQzMkFycmF5P3M9NTEyNDppIGluc3RhbmNlb2YgSW50OEFycmF5P3M9NTEyMDooaSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fGkgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSkmJihzPTUxMjEpLHtidWZmZXI6cix0eXBlOnMsYnl0ZXNQZXJFbGVtZW50OmkuQllURVNfUEVSX0VMRU1FTlQsdmVyc2lvbjplLnZlcnNpb259fSkoZSxpKSk6YS52ZXJzaW9uPGUudmVyc2lvbiYmKCEoZnVuY3Rpb24gcyhlLG8saSl7Y29uc3QgYT1vLmFycmF5LHI9by51cGRhdGVSYW5nZTt0LmJpbmRCdWZmZXIoaSxlKSwtMT09PXIuY291bnQ/dC5idWZmZXJTdWJEYXRhKGksMCxhKToobj90LmJ1ZmZlclN1YkRhdGEoaSxyLm9mZnNldCphLkJZVEVTX1BFUl9FTEVNRU5ULGEsci5vZmZzZXQsci5jb3VudCk6dC5idWZmZXJTdWJEYXRhKGksci5vZmZzZXQqYS5CWVRFU19QRVJfRUxFTUVOVCxhLnN1YmFycmF5KHIub2Zmc2V0LHIub2Zmc2V0K3IuY291bnQpKSxyLmNvdW50PS0xKX0pKGEuYnVmZmVyLGUsaSksYS52ZXJzaW9uPWUudmVyc2lvbil9fX1jbGFzcyBLY3QgZXh0ZW5kcyBkY3R7Y29uc3RydWN0b3IodD0xLGU9MSxuPTEsbz0xKXtzdXBlcigpLHRoaXMudHlwZT0iUGxhbmVHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXt3aWR0aDp0LGhlaWdodDplLHdpZHRoU2VnbWVudHM6bixoZWlnaHRTZWdtZW50czpvfTtjb25zdCBpPXQvMixhPWUvMixyPU1hdGguZmxvb3Iobikscz1NYXRoLmZsb29yKG8pLGw9cisxLGM9cysxLGQ9dC9yLHA9ZS9zLG09W10sZj1bXSx1PVtdLGc9W107Zm9yKGxldCB0PTA7dDxjO3QrKyl7Y29uc3QgZT10KnAtYTtmb3IobGV0IG49MDtuPGw7bisrKXtmLnB1c2gobipkLWksLWUsMCksdS5wdXNoKDAsMCwxKSxnLnB1c2gobi9yKSxnLnB1c2goMS10L3MpfX1mb3IobGV0IHQ9MDt0PHM7dCsrKWZvcihsZXQgZT0wO2U8cjtlKyspe2NvbnN0IG49ZStsKih0KzEpLG89ZSsxK2wqKHQrMSksaT1lKzErbCp0O20ucHVzaChlK2wqdCxuLGkpLG0ucHVzaChuLG8saSl9dGhpcy5zZXRJbmRleChtKSx0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBlY3QoZiwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGVjdCh1LDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBlY3QoZywyKSl9c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgS2N0KHQud2lkdGgsdC5oZWlnaHQsdC53aWR0aFNlZ21lbnRzLHQuaGVpZ2h0U2VnbWVudHMpfX1jb25zdCBKY3Q9e2FscGhhbWFwX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0FMUEhBTUFQXG5cdGRpZmZ1c2VDb2xvci5hICo9IHRleHR1cmUyRCggYWxwaGFNYXAsIHZVdiApLmc7XG4jZW5kaWYiLGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfQUxQSEFNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgYWxwaGFNYXA7XG4jZW5kaWYiLGFscGhhdGVzdF9mcmFnbWVudDoiI2lmZGVmIEFMUEhBVEVTVFxuXHRpZiAoIGRpZmZ1c2VDb2xvci5hIDwgQUxQSEFURVNUICkgZGlzY2FyZDtcbiNlbmRpZiIsYW9tYXBfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfQU9NQVBcblx0ZmxvYXQgYW1iaWVudE9jY2x1c2lvbiA9ICggdGV4dHVyZTJEKCBhb01hcCwgdlV2MiApLnIgLSAxLjAgKSAqIGFvTWFwSW50ZW5zaXR5ICsgMS4wO1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKj0gYW1iaWVudE9jY2x1c2lvbjtcblx0I2lmIGRlZmluZWQoIFVTRV9FTlZNQVAgKSAmJiBkZWZpbmVkKCBTVEFOREFSRCApXG5cdFx0ZmxvYXQgZG90TlYgPSBzYXR1cmF0ZSggZG90KCBnZW9tZXRyeS5ub3JtYWwsIGdlb21ldHJ5LnZpZXdEaXIgKSApO1xuXHRcdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0U3BlY3VsYXIgKj0gY29tcHV0ZVNwZWN1bGFyT2NjbHVzaW9uKCBkb3ROViwgYW1iaWVudE9jY2x1c2lvbiwgbWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MgKTtcblx0I2VuZGlmXG4jZW5kaWYiLGFvbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfQU9NQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgYW9NYXA7XG5cdHVuaWZvcm0gZmxvYXQgYW9NYXBJbnRlbnNpdHk7XG4jZW5kaWYiLGJlZ2luX3ZlcnRleDoidmVjMyB0cmFuc2Zvcm1lZCA9IHZlYzMoIHBvc2l0aW9uICk7IixiZWdpbm5vcm1hbF92ZXJ0ZXg6InZlYzMgb2JqZWN0Tm9ybWFsID0gdmVjMyggbm9ybWFsICk7XG4jaWZkZWYgVVNFX1RBTkdFTlRcblx0dmVjMyBvYmplY3RUYW5nZW50ID0gdmVjMyggdGFuZ2VudC54eXogKTtcbiNlbmRpZiIsYnNkZnM6InZlYzIgaW50ZWdyYXRlU3BlY3VsYXJCUkRGKCBjb25zdCBpbiBmbG9hdCBkb3ROViwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzICkge1xuXHRjb25zdCB2ZWM0IGMwID0gdmVjNCggLSAxLCAtIDAuMDI3NSwgLSAwLjU3MiwgMC4wMjIgKTtcblx0Y29uc3QgdmVjNCBjMSA9IHZlYzQoIDEsIDAuMDQyNSwgMS4wNCwgLSAwLjA0ICk7XG5cdHZlYzQgciA9IHJvdWdobmVzcyAqIGMwICsgYzE7XG5cdGZsb2F0IGEwMDQgPSBtaW4oIHIueCAqIHIueCwgZXhwMiggLSA5LjI4ICogZG90TlYgKSApICogci54ICsgci55O1xuXHRyZXR1cm4gdmVjMiggLTEuMDQsIDEuMDQgKSAqIGEwMDQgKyByLnp3O1xufVxuZmxvYXQgcHVuY3R1YWxMaWdodEludGVuc2l0eVRvSXJyYWRpYW5jZUZhY3RvciggY29uc3QgaW4gZmxvYXQgbGlnaHREaXN0YW5jZSwgY29uc3QgaW4gZmxvYXQgY3V0b2ZmRGlzdGFuY2UsIGNvbnN0IGluIGZsb2F0IGRlY2F5RXhwb25lbnQgKSB7XG4jaWYgZGVmaW5lZCAoIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFMgKVxuXHRmbG9hdCBkaXN0YW5jZUZhbGxvZmYgPSAxLjAgLyBtYXgoIHBvdyggbGlnaHREaXN0YW5jZSwgZGVjYXlFeHBvbmVudCApLCAwLjAxICk7XG5cdGlmKCBjdXRvZmZEaXN0YW5jZSA+IDAuMCApIHtcblx0XHRkaXN0YW5jZUZhbGxvZmYgKj0gcG93Miggc2F0dXJhdGUoIDEuMCAtIHBvdzQoIGxpZ2h0RGlzdGFuY2UgLyBjdXRvZmZEaXN0YW5jZSApICkgKTtcblx0fVxuXHRyZXR1cm4gZGlzdGFuY2VGYWxsb2ZmO1xuI2Vsc2Vcblx0aWYoIGN1dG9mZkRpc3RhbmNlID4gMC4wICYmIGRlY2F5RXhwb25lbnQgPiAwLjAgKSB7XG5cdFx0cmV0dXJuIHBvdyggc2F0dXJhdGUoIC1saWdodERpc3RhbmNlIC8gY3V0b2ZmRGlzdGFuY2UgKyAxLjAgKSwgZGVjYXlFeHBvbmVudCApO1xuXHR9XG5cdHJldHVybiAxLjA7XG4jZW5kaWZcbn1cbnZlYzMgQlJERl9EaWZmdXNlX0xhbWJlcnQoIGNvbnN0IGluIHZlYzMgZGlmZnVzZUNvbG9yICkge1xuXHRyZXR1cm4gUkVDSVBST0NBTF9QSSAqIGRpZmZ1c2VDb2xvcjtcbn1cbnZlYzMgRl9TY2hsaWNrKCBjb25zdCBpbiB2ZWMzIGYwLCBjb25zdCBpbiB2ZWMzIGY5MCwgY29uc3QgaW4gZmxvYXQgZG90VkggKSB7XG5cdGZsb2F0IGZyZXNuZWwgPSBleHAyKCAoIC01LjU1NDczICogZG90VkggLSA2Ljk4MzE2ICkgKiBkb3RWSCApO1xuXHRyZXR1cm4gKCBmOTAgLSBmMCApICogZnJlc25lbCArIGYwO1xufVxudmVjMyBGX1NjaGxpY2tfUm91Z2huZXNzRGVwZW5kZW50KCBjb25zdCBpbiB2ZWMzIEYwLCBjb25zdCBpbiBmbG9hdCBkb3ROViwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzICkge1xuXHRmbG9hdCBmcmVzbmVsID0gZXhwMiggKCAtNS41NTQ3MyAqIGRvdE5WIC0gNi45ODMxNiApICogZG90TlYgKTtcblx0dmVjMyBGciA9IG1heCggdmVjMyggMS4wIC0gcm91Z2huZXNzICksIEYwICkgLSBGMDtcblx0cmV0dXJuIEZyICogZnJlc25lbCArIEYwO1xufVxuZmxvYXQgR19HR1hfU21pdGgoIGNvbnN0IGluIGZsb2F0IGFscGhhLCBjb25zdCBpbiBmbG9hdCBkb3ROTCwgY29uc3QgaW4gZmxvYXQgZG90TlYgKSB7XG5cdGZsb2F0IGEyID0gcG93MiggYWxwaGEgKTtcblx0ZmxvYXQgZ2wgPSBkb3ROTCArIHNxcnQoIGEyICsgKCAxLjAgLSBhMiApICogcG93MiggZG90TkwgKSApO1xuXHRmbG9hdCBndiA9IGRvdE5WICsgc3FydCggYTIgKyAoIDEuMCAtIGEyICkgKiBwb3cyKCBkb3ROViApICk7XG5cdHJldHVybiAxLjAgLyAoIGdsICogZ3YgKTtcbn1cbmZsb2F0IEdfR0dYX1NtaXRoQ29ycmVsYXRlZCggY29uc3QgaW4gZmxvYXQgYWxwaGEsIGNvbnN0IGluIGZsb2F0IGRvdE5MLCBjb25zdCBpbiBmbG9hdCBkb3ROViApIHtcblx0ZmxvYXQgYTIgPSBwb3cyKCBhbHBoYSApO1xuXHRmbG9hdCBndiA9IGRvdE5MICogc3FydCggYTIgKyAoIDEuMCAtIGEyICkgKiBwb3cyKCBkb3ROViApICk7XG5cdGZsb2F0IGdsID0gZG90TlYgKiBzcXJ0KCBhMiArICggMS4wIC0gYTIgKSAqIHBvdzIoIGRvdE5MICkgKTtcblx0cmV0dXJuIDAuNSAvIG1heCggZ3YgKyBnbCwgRVBTSUxPTiApO1xufVxuZmxvYXQgRF9HR1goIGNvbnN0IGluIGZsb2F0IGFscGhhLCBjb25zdCBpbiBmbG9hdCBkb3ROSCApIHtcblx0ZmxvYXQgYTIgPSBwb3cyKCBhbHBoYSApO1xuXHRmbG9hdCBkZW5vbSA9IHBvdzIoIGRvdE5IICkgKiAoIGEyIC0gMS4wICkgKyAxLjA7XG5cdHJldHVybiBSRUNJUFJPQ0FMX1BJICogYTIgLyBwb3cyKCBkZW5vbSApO1xufVxudmVjMyBCUkRGX1NwZWN1bGFyX0dHWCggY29uc3QgaW4gSW5jaWRlbnRMaWdodCBpbmNpZGVudExpZ2h0LCBjb25zdCBpbiB2ZWMzIHZpZXdEaXIsIGNvbnN0IGluIHZlYzMgbm9ybWFsLCBjb25zdCBpbiB2ZWMzIGYwLCBjb25zdCBpbiB2ZWMzIGY5MCwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzICkge1xuXHRmbG9hdCBhbHBoYSA9IHBvdzIoIHJvdWdobmVzcyApO1xuXHR2ZWMzIGhhbGZEaXIgPSBub3JtYWxpemUoIGluY2lkZW50TGlnaHQuZGlyZWN0aW9uICsgdmlld0RpciApO1xuXHRmbG9hdCBkb3ROTCA9IHNhdHVyYXRlKCBkb3QoIG5vcm1hbCwgaW5jaWRlbnRMaWdodC5kaXJlY3Rpb24gKSApO1xuXHRmbG9hdCBkb3ROViA9IHNhdHVyYXRlKCBkb3QoIG5vcm1hbCwgdmlld0RpciApICk7XG5cdGZsb2F0IGRvdE5IID0gc2F0dXJhdGUoIGRvdCggbm9ybWFsLCBoYWxmRGlyICkgKTtcblx0ZmxvYXQgZG90TEggPSBzYXR1cmF0ZSggZG90KCBpbmNpZGVudExpZ2h0LmRpcmVjdGlvbiwgaGFsZkRpciApICk7XG5cdHZlYzMgRiA9IEZfU2NobGljayggZjAsIGY5MCwgZG90TEggKTtcblx0ZmxvYXQgRyA9IEdfR0dYX1NtaXRoQ29ycmVsYXRlZCggYWxwaGEsIGRvdE5MLCBkb3ROViApO1xuXHRmbG9hdCBEID0gRF9HR1goIGFscGhhLCBkb3ROSCApO1xuXHRyZXR1cm4gRiAqICggRyAqIEQgKTtcbn1cbnZlYzIgTFRDX1V2KCBjb25zdCBpbiB2ZWMzIE4sIGNvbnN0IGluIHZlYzMgViwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzICkge1xuXHRjb25zdCBmbG9hdCBMVVRfU0laRSA9IDY0LjA7XG5cdGNvbnN0IGZsb2F0IExVVF9TQ0FMRSA9ICggTFVUX1NJWkUgLSAxLjAgKSAvIExVVF9TSVpFO1xuXHRjb25zdCBmbG9hdCBMVVRfQklBUyA9IDAuNSAvIExVVF9TSVpFO1xuXHRmbG9hdCBkb3ROViA9IHNhdHVyYXRlKCBkb3QoIE4sIFYgKSApO1xuXHR2ZWMyIHV2ID0gdmVjMiggcm91Z2huZXNzLCBzcXJ0KCAxLjAgLSBkb3ROViApICk7XG5cdHV2ID0gdXYgKiBMVVRfU0NBTEUgKyBMVVRfQklBUztcblx0cmV0dXJuIHV2O1xufVxuZmxvYXQgTFRDX0NsaXBwZWRTcGhlcmVGb3JtRmFjdG9yKCBjb25zdCBpbiB2ZWMzIGYgKSB7XG5cdGZsb2F0IGwgPSBsZW5ndGgoIGYgKTtcblx0cmV0dXJuIG1heCggKCBsICogbCArIGYueiApIC8gKCBsICsgMS4wICksIDAuMCApO1xufVxudmVjMyBMVENfRWRnZVZlY3RvckZvcm1GYWN0b3IoIGNvbnN0IGluIHZlYzMgdjEsIGNvbnN0IGluIHZlYzMgdjIgKSB7XG5cdGZsb2F0IHggPSBkb3QoIHYxLCB2MiApO1xuXHRmbG9hdCB5ID0gYWJzKCB4ICk7XG5cdGZsb2F0IGEgPSAwLjg1NDM5ODUgKyAoIDAuNDk2NTE1NSArIDAuMDE0NTIwNiAqIHkgKSAqIHk7XG5cdGZsb2F0IGIgPSAzLjQxNzU5NDAgKyAoIDQuMTYxNjcyNCArIHkgKSAqIHk7XG5cdGZsb2F0IHYgPSBhIC8gYjtcblx0ZmxvYXQgdGhldGFfc2ludGhldGEgPSAoIHggPiAwLjAgKSA/IHYgOiAwLjUgKiBpbnZlcnNlc3FydCggbWF4KCAxLjAgLSB4ICogeCwgMWUtNyApICkgLSB2O1xuXHRyZXR1cm4gY3Jvc3MoIHYxLCB2MiApICogdGhldGFfc2ludGhldGE7XG59XG52ZWMzIExUQ19FdmFsdWF0ZSggY29uc3QgaW4gdmVjMyBOLCBjb25zdCBpbiB2ZWMzIFYsIGNvbnN0IGluIHZlYzMgUCwgY29uc3QgaW4gbWF0MyBtSW52LCBjb25zdCBpbiB2ZWMzIHJlY3RDb29yZHNbIDQgXSApIHtcblx0dmVjMyB2MSA9IHJlY3RDb29yZHNbIDEgXSAtIHJlY3RDb29yZHNbIDAgXTtcblx0dmVjMyB2MiA9IHJlY3RDb29yZHNbIDMgXSAtIHJlY3RDb29yZHNbIDAgXTtcblx0dmVjMyBsaWdodE5vcm1hbCA9IGNyb3NzKCB2MSwgdjIgKTtcblx0aWYoIGRvdCggbGlnaHROb3JtYWwsIFAgLSByZWN0Q29vcmRzWyAwIF0gKSA8IDAuMCApIHJldHVybiB2ZWMzKCAwLjAgKTtcblx0dmVjMyBUMSwgVDI7XG5cdFQxID0gbm9ybWFsaXplKCBWIC0gTiAqIGRvdCggViwgTiApICk7XG5cdFQyID0gLSBjcm9zcyggTiwgVDEgKTtcblx0bWF0MyBtYXQgPSBtSW52ICogdHJhbnNwb3NlTWF0MyggbWF0MyggVDEsIFQyLCBOICkgKTtcblx0dmVjMyBjb29yZHNbIDQgXTtcblx0Y29vcmRzWyAwIF0gPSBtYXQgKiAoIHJlY3RDb29yZHNbIDAgXSAtIFAgKTtcblx0Y29vcmRzWyAxIF0gPSBtYXQgKiAoIHJlY3RDb29yZHNbIDEgXSAtIFAgKTtcblx0Y29vcmRzWyAyIF0gPSBtYXQgKiAoIHJlY3RDb29yZHNbIDIgXSAtIFAgKTtcblx0Y29vcmRzWyAzIF0gPSBtYXQgKiAoIHJlY3RDb29yZHNbIDMgXSAtIFAgKTtcblx0Y29vcmRzWyAwIF0gPSBub3JtYWxpemUoIGNvb3Jkc1sgMCBdICk7XG5cdGNvb3Jkc1sgMSBdID0gbm9ybWFsaXplKCBjb29yZHNbIDEgXSApO1xuXHRjb29yZHNbIDIgXSA9IG5vcm1hbGl6ZSggY29vcmRzWyAyIF0gKTtcblx0Y29vcmRzWyAzIF0gPSBub3JtYWxpemUoIGNvb3Jkc1sgMyBdICk7XG5cdHZlYzMgdmVjdG9yRm9ybUZhY3RvciA9IHZlYzMoIDAuMCApO1xuXHR2ZWN0b3JGb3JtRmFjdG9yICs9IExUQ19FZGdlVmVjdG9yRm9ybUZhY3RvciggY29vcmRzWyAwIF0sIGNvb3Jkc1sgMSBdICk7XG5cdHZlY3RvckZvcm1GYWN0b3IgKz0gTFRDX0VkZ2VWZWN0b3JGb3JtRmFjdG9yKCBjb29yZHNbIDEgXSwgY29vcmRzWyAyIF0gKTtcblx0dmVjdG9yRm9ybUZhY3RvciArPSBMVENfRWRnZVZlY3RvckZvcm1GYWN0b3IoIGNvb3Jkc1sgMiBdLCBjb29yZHNbIDMgXSApO1xuXHR2ZWN0b3JGb3JtRmFjdG9yICs9IExUQ19FZGdlVmVjdG9yRm9ybUZhY3RvciggY29vcmRzWyAzIF0sIGNvb3Jkc1sgMCBdICk7XG5cdGZsb2F0IHJlc3VsdCA9IExUQ19DbGlwcGVkU3BoZXJlRm9ybUZhY3RvciggdmVjdG9yRm9ybUZhY3RvciApO1xuXHRyZXR1cm4gdmVjMyggcmVzdWx0ICk7XG59XG52ZWMzIEJSREZfU3BlY3VsYXJfR0dYX0Vudmlyb25tZW50KCBjb25zdCBpbiB2ZWMzIHZpZXdEaXIsIGNvbnN0IGluIHZlYzMgbm9ybWFsLCBjb25zdCBpbiB2ZWMzIHNwZWN1bGFyQ29sb3IsIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcyApIHtcblx0ZmxvYXQgZG90TlYgPSBzYXR1cmF0ZSggZG90KCBub3JtYWwsIHZpZXdEaXIgKSApO1xuXHR2ZWMyIGJyZGYgPSBpbnRlZ3JhdGVTcGVjdWxhckJSREYoIGRvdE5WLCByb3VnaG5lc3MgKTtcblx0cmV0dXJuIHNwZWN1bGFyQ29sb3IgKiBicmRmLnggKyBicmRmLnk7XG59XG52b2lkIEJSREZfU3BlY3VsYXJfTXVsdGlzY2F0dGVyaW5nX0Vudmlyb25tZW50KCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiB2ZWMzIHNwZWN1bGFyQ29sb3IsIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcywgaW5vdXQgdmVjMyBzaW5nbGVTY2F0dGVyLCBpbm91dCB2ZWMzIG11bHRpU2NhdHRlciApIHtcblx0ZmxvYXQgZG90TlYgPSBzYXR1cmF0ZSggZG90KCBnZW9tZXRyeS5ub3JtYWwsIGdlb21ldHJ5LnZpZXdEaXIgKSApO1xuXHR2ZWMzIEYgPSBGX1NjaGxpY2tfUm91Z2huZXNzRGVwZW5kZW50KCBzcGVjdWxhckNvbG9yLCBkb3ROViwgcm91Z2huZXNzICk7XG5cdHZlYzIgYnJkZiA9IGludGVncmF0ZVNwZWN1bGFyQlJERiggZG90TlYsIHJvdWdobmVzcyApO1xuXHR2ZWMzIEZzc0VzcyA9IEYgKiBicmRmLnggKyBicmRmLnk7XG5cdGZsb2F0IEVzcyA9IGJyZGYueCArIGJyZGYueTtcblx0ZmxvYXQgRW1zID0gMS4wIC0gRXNzO1xuXHR2ZWMzIEZhdmcgPSBzcGVjdWxhckNvbG9yICsgKCAxLjAgLSBzcGVjdWxhckNvbG9yICkgKiAwLjA0NzYxOTtcdHZlYzMgRm1zID0gRnNzRXNzICogRmF2ZyAvICggMS4wIC0gRW1zICogRmF2ZyApO1xuXHRzaW5nbGVTY2F0dGVyICs9IEZzc0Vzcztcblx0bXVsdGlTY2F0dGVyICs9IEZtcyAqIEVtcztcbn1cbmZsb2F0IEdfQmxpbm5QaG9uZ19JbXBsaWNpdCggKSB7XG5cdHJldHVybiAwLjI1O1xufVxuZmxvYXQgRF9CbGlublBob25nKCBjb25zdCBpbiBmbG9hdCBzaGluaW5lc3MsIGNvbnN0IGluIGZsb2F0IGRvdE5IICkge1xuXHRyZXR1cm4gUkVDSVBST0NBTF9QSSAqICggc2hpbmluZXNzICogMC41ICsgMS4wICkgKiBwb3coIGRvdE5ILCBzaGluaW5lc3MgKTtcbn1cbnZlYzMgQlJERl9TcGVjdWxhcl9CbGlublBob25nKCBjb25zdCBpbiBJbmNpZGVudExpZ2h0IGluY2lkZW50TGlnaHQsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIHZlYzMgc3BlY3VsYXJDb2xvciwgY29uc3QgaW4gZmxvYXQgc2hpbmluZXNzICkge1xuXHR2ZWMzIGhhbGZEaXIgPSBub3JtYWxpemUoIGluY2lkZW50TGlnaHQuZGlyZWN0aW9uICsgZ2VvbWV0cnkudmlld0RpciApO1xuXHRmbG9hdCBkb3ROSCA9IHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgaGFsZkRpciApICk7XG5cdGZsb2F0IGRvdExIID0gc2F0dXJhdGUoIGRvdCggaW5jaWRlbnRMaWdodC5kaXJlY3Rpb24sIGhhbGZEaXIgKSApO1xuXHR2ZWMzIEYgPSBGX1NjaGxpY2soIHNwZWN1bGFyQ29sb3IsIHZlYzMoIDEuMCApLCBkb3RMSCApO1xuXHRmbG9hdCBHID0gR19CbGlublBob25nX0ltcGxpY2l0KCApO1xuXHRmbG9hdCBEID0gRF9CbGlublBob25nKCBzaGluaW5lc3MsIGRvdE5IICk7XG5cdHJldHVybiBGICogKCBHICogRCApO1xufVxuZmxvYXQgR0dYUm91Z2huZXNzVG9CbGlubkV4cG9uZW50KCBjb25zdCBpbiBmbG9hdCBnZ3hSb3VnaG5lc3MgKSB7XG5cdHJldHVybiAoIDIuMCAvIHBvdzIoIGdneFJvdWdobmVzcyArIDAuMDAwMSApIC0gMi4wICk7XG59XG5mbG9hdCBCbGlubkV4cG9uZW50VG9HR1hSb3VnaG5lc3MoIGNvbnN0IGluIGZsb2F0IGJsaW5uRXhwb25lbnQgKSB7XG5cdHJldHVybiBzcXJ0KCAyLjAgLyAoIGJsaW5uRXhwb25lbnQgKyAyLjAgKSApO1xufVxuI2lmIGRlZmluZWQoIFVTRV9TSEVFTiApXG5mbG9hdCBEX0NoYXJsaWUoZmxvYXQgcm91Z2huZXNzLCBmbG9hdCBOb0gpIHtcblx0ZmxvYXQgaW52QWxwaGEgPSAxLjAgLyByb3VnaG5lc3M7XG5cdGZsb2F0IGNvczJoID0gTm9IICogTm9IO1xuXHRmbG9hdCBzaW4yaCA9IG1heCgxLjAgLSBjb3MyaCwgMC4wMDc4MTI1KTtcdHJldHVybiAoMi4wICsgaW52QWxwaGEpICogcG93KHNpbjJoLCBpbnZBbHBoYSAqIDAuNSkgLyAoMi4wICogUEkpO1xufVxuZmxvYXQgVl9OZXViZWx0KGZsb2F0IE5vViwgZmxvYXQgTm9MKSB7XG5cdHJldHVybiBzYXR1cmF0ZSgxLjAgLyAoNC4wICogKE5vTCArIE5vViAtIE5vTCAqIE5vVikpKTtcbn1cbnZlYzMgQlJERl9TcGVjdWxhcl9TaGVlbiggY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzLCBjb25zdCBpbiB2ZWMzIEwsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIHZlYzMgc3BlY3VsYXJDb2xvciApIHtcblx0dmVjMyBOID0gZ2VvbWV0cnkubm9ybWFsO1xuXHR2ZWMzIFYgPSBnZW9tZXRyeS52aWV3RGlyO1xuXHR2ZWMzIEggPSBub3JtYWxpemUoIFYgKyBMICk7XG5cdGZsb2F0IGRvdE5IID0gc2F0dXJhdGUoIGRvdCggTiwgSCApICk7XG5cdHJldHVybiBzcGVjdWxhckNvbG9yICogRF9DaGFybGllKCByb3VnaG5lc3MsIGRvdE5IICkgKiBWX05ldWJlbHQoIGRvdChOLCBWKSwgZG90KE4sIEwpICk7XG59XG4jZW5kaWYiLGJ1bXBtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9CVU1QTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGJ1bXBNYXA7XG5cdHVuaWZvcm0gZmxvYXQgYnVtcFNjYWxlO1xuXHR2ZWMyIGRIZHh5X2Z3ZCgpIHtcblx0XHR2ZWMyIGRTVGR4ID0gZEZkeCggdlV2ICk7XG5cdFx0dmVjMiBkU1RkeSA9IGRGZHkoIHZVdiApO1xuXHRcdGZsb2F0IEhsbCA9IGJ1bXBTY2FsZSAqIHRleHR1cmUyRCggYnVtcE1hcCwgdlV2ICkueDtcblx0XHRmbG9hdCBkQnggPSBidW1wU2NhbGUgKiB0ZXh0dXJlMkQoIGJ1bXBNYXAsIHZVdiArIGRTVGR4ICkueCAtIEhsbDtcblx0XHRmbG9hdCBkQnkgPSBidW1wU2NhbGUgKiB0ZXh0dXJlMkQoIGJ1bXBNYXAsIHZVdiArIGRTVGR5ICkueCAtIEhsbDtcblx0XHRyZXR1cm4gdmVjMiggZEJ4LCBkQnkgKTtcblx0fVxuXHR2ZWMzIHBlcnR1cmJOb3JtYWxBcmIoIHZlYzMgc3VyZl9wb3MsIHZlYzMgc3VyZl9ub3JtLCB2ZWMyIGRIZHh5LCBmbG9hdCBmYWNlRGlyZWN0aW9uICkge1xuXHRcdHZlYzMgdlNpZ21hWCA9IHZlYzMoIGRGZHgoIHN1cmZfcG9zLnggKSwgZEZkeCggc3VyZl9wb3MueSApLCBkRmR4KCBzdXJmX3Bvcy56ICkgKTtcblx0XHR2ZWMzIHZTaWdtYVkgPSB2ZWMzKCBkRmR5KCBzdXJmX3Bvcy54ICksIGRGZHkoIHN1cmZfcG9zLnkgKSwgZEZkeSggc3VyZl9wb3MueiApICk7XG5cdFx0dmVjMyB2TiA9IHN1cmZfbm9ybTtcblx0XHR2ZWMzIFIxID0gY3Jvc3MoIHZTaWdtYVksIHZOICk7XG5cdFx0dmVjMyBSMiA9IGNyb3NzKCB2TiwgdlNpZ21hWCApO1xuXHRcdGZsb2F0IGZEZXQgPSBkb3QoIHZTaWdtYVgsIFIxICkgKiBmYWNlRGlyZWN0aW9uO1xuXHRcdHZlYzMgdkdyYWQgPSBzaWduKCBmRGV0ICkgKiAoIGRIZHh5LnggKiBSMSArIGRIZHh5LnkgKiBSMiApO1xuXHRcdHJldHVybiBub3JtYWxpemUoIGFicyggZkRldCApICogc3VyZl9ub3JtIC0gdkdyYWQgKTtcblx0fVxuI2VuZGlmIixjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnQ6IiNpZiBOVU1fQ0xJUFBJTkdfUExBTkVTID4gMFxuXHR2ZWM0IHBsYW5lO1xuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IFVOSU9OX0NMSVBQSU5HX1BMQU5FUzsgaSArKyApIHtcblx0XHRwbGFuZSA9IGNsaXBwaW5nUGxhbmVzWyBpIF07XG5cdFx0aWYgKCBkb3QoIHZDbGlwUG9zaXRpb24sIHBsYW5lLnh5eiApID4gcGxhbmUudyApIGRpc2NhcmQ7XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcblx0I2lmIFVOSU9OX0NMSVBQSU5HX1BMQU5FUyA8IE5VTV9DTElQUElOR19QTEFORVNcblx0XHRib29sIGNsaXBwZWQgPSB0cnVlO1xuXHRcdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0XHRmb3IgKCBpbnQgaSA9IFVOSU9OX0NMSVBQSU5HX1BMQU5FUzsgaSA8IE5VTV9DTElQUElOR19QTEFORVM7IGkgKysgKSB7XG5cdFx0XHRwbGFuZSA9IGNsaXBwaW5nUGxhbmVzWyBpIF07XG5cdFx0XHRjbGlwcGVkID0gKCBkb3QoIHZDbGlwUG9zaXRpb24sIHBsYW5lLnh5eiApID4gcGxhbmUudyApICYmIGNsaXBwZWQ7XG5cdFx0fVxuXHRcdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdFx0aWYgKCBjbGlwcGVkICkgZGlzY2FyZDtcblx0I2VuZGlmXG4jZW5kaWYiLGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50OiIjaWYgTlVNX0NMSVBQSU5HX1BMQU5FUyA+IDBcblx0dmFyeWluZyB2ZWMzIHZDbGlwUG9zaXRpb247XG5cdHVuaWZvcm0gdmVjNCBjbGlwcGluZ1BsYW5lc1sgTlVNX0NMSVBQSU5HX1BMQU5FUyBdO1xuI2VuZGlmIixjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg6IiNpZiBOVU1fQ0xJUFBJTkdfUExBTkVTID4gMFxuXHR2YXJ5aW5nIHZlYzMgdkNsaXBQb3NpdGlvbjtcbiNlbmRpZiIsY2xpcHBpbmdfcGxhbmVzX3ZlcnRleDoiI2lmIE5VTV9DTElQUElOR19QTEFORVMgPiAwXG5cdHZDbGlwUG9zaXRpb24gPSAtIG12UG9zaXRpb24ueHl6O1xuI2VuZGlmIixjb2xvcl9mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9DT0xPUl9BTFBIQSApXG5cdGRpZmZ1c2VDb2xvciAqPSB2Q29sb3I7XG4jZWxpZiBkZWZpbmVkKCBVU0VfQ09MT1IgKVxuXHRkaWZmdXNlQ29sb3IucmdiICo9IHZDb2xvcjtcbiNlbmRpZiIsY29sb3JfcGFyc19mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9DT0xPUl9BTFBIQSApXG5cdHZhcnlpbmcgdmVjNCB2Q29sb3I7XG4jZWxpZiBkZWZpbmVkKCBVU0VfQ09MT1IgKVxuXHR2YXJ5aW5nIHZlYzMgdkNvbG9yO1xuI2VuZGlmIixjb2xvcl9wYXJzX3ZlcnRleDoiI2lmIGRlZmluZWQoIFVTRV9DT0xPUl9BTFBIQSApXG5cdHZhcnlpbmcgdmVjNCB2Q29sb3I7XG4jZWxpZiBkZWZpbmVkKCBVU0VfQ09MT1IgKSB8fCBkZWZpbmVkKCBVU0VfSU5TVEFOQ0lOR19DT0xPUiApXG5cdHZhcnlpbmcgdmVjMyB2Q29sb3I7XG4jZW5kaWYiLGNvbG9yX3ZlcnRleDoiI2lmIGRlZmluZWQoIFVTRV9DT0xPUl9BTFBIQSApXG5cdHZDb2xvciA9IHZlYzQoIDEuMCApO1xuI2VsaWYgZGVmaW5lZCggVVNFX0NPTE9SICkgfHwgZGVmaW5lZCggVVNFX0lOU1RBTkNJTkdfQ09MT1IgKVxuXHR2Q29sb3IgPSB2ZWMzKCAxLjAgKTtcbiNlbmRpZlxuI2lmZGVmIFVTRV9DT0xPUlxuXHR2Q29sb3IgKj0gY29sb3I7XG4jZW5kaWZcbiNpZmRlZiBVU0VfSU5TVEFOQ0lOR19DT0xPUlxuXHR2Q29sb3IueHl6ICo9IGluc3RhbmNlQ29sb3IueHl6O1xuI2VuZGlmIixjb21tb246IiNkZWZpbmUgUEkgMy4xNDE1OTI2NTM1ODk3OTNcbiNkZWZpbmUgUEkyIDYuMjgzMTg1MzA3MTc5NTg2XG4jZGVmaW5lIFBJX0hBTEYgMS41NzA3OTYzMjY3OTQ4OTY2XG4jZGVmaW5lIFJFQ0lQUk9DQUxfUEkgMC4zMTgzMDk4ODYxODM3OTA3XG4jZGVmaW5lIFJFQ0lQUk9DQUxfUEkyIDAuMTU5MTU0OTQzMDkxODk1MzVcbiNkZWZpbmUgRVBTSUxPTiAxZS02XG4jaWZuZGVmIHNhdHVyYXRlXG4jZGVmaW5lIHNhdHVyYXRlKGEpIGNsYW1wKCBhLCAwLjAsIDEuMCApXG4jZW5kaWZcbiNkZWZpbmUgd2hpdGVDb21wbGVtZW50KGEpICggMS4wIC0gc2F0dXJhdGUoIGEgKSApXG5mbG9hdCBwb3cyKCBjb25zdCBpbiBmbG9hdCB4ICkgeyByZXR1cm4geCp4OyB9XG5mbG9hdCBwb3czKCBjb25zdCBpbiBmbG9hdCB4ICkgeyByZXR1cm4geCp4Kng7IH1cbmZsb2F0IHBvdzQoIGNvbnN0IGluIGZsb2F0IHggKSB7IGZsb2F0IHgyID0geCp4OyByZXR1cm4geDIqeDI7IH1cbmZsb2F0IGF2ZXJhZ2UoIGNvbnN0IGluIHZlYzMgY29sb3IgKSB7IHJldHVybiBkb3QoIGNvbG9yLCB2ZWMzKCAwLjMzMzMgKSApOyB9XG5oaWdocCBmbG9hdCByYW5kKCBjb25zdCBpbiB2ZWMyIHV2ICkge1xuXHRjb25zdCBoaWdocCBmbG9hdCBhID0gMTIuOTg5OCwgYiA9IDc4LjIzMywgYyA9IDQzNzU4LjU0NTM7XG5cdGhpZ2hwIGZsb2F0IGR0ID0gZG90KCB1di54eSwgdmVjMiggYSxiICkgKSwgc24gPSBtb2QoIGR0LCBQSSApO1xuXHRyZXR1cm4gZnJhY3Qoc2luKHNuKSAqIGMpO1xufVxuI2lmZGVmIEhJR0hfUFJFQ0lTSU9OXG5cdGZsb2F0IHByZWNpc2lvblNhZmVMZW5ndGgoIHZlYzMgdiApIHsgcmV0dXJuIGxlbmd0aCggdiApOyB9XG4jZWxzZVxuXHRmbG9hdCBtYXgzKCB2ZWMzIHYgKSB7IHJldHVybiBtYXgoIG1heCggdi54LCB2LnkgKSwgdi56ICk7IH1cblx0ZmxvYXQgcHJlY2lzaW9uU2FmZUxlbmd0aCggdmVjMyB2ICkge1xuXHRcdGZsb2F0IG1heENvbXBvbmVudCA9IG1heDMoIGFicyggdiApICk7XG5cdFx0cmV0dXJuIGxlbmd0aCggdiAvIG1heENvbXBvbmVudCApICogbWF4Q29tcG9uZW50O1xuXHR9XG4jZW5kaWZcbnN0cnVjdCBJbmNpZGVudExpZ2h0IHtcblx0dmVjMyBjb2xvcjtcblx0dmVjMyBkaXJlY3Rpb247XG5cdGJvb2wgdmlzaWJsZTtcbn07XG5zdHJ1Y3QgUmVmbGVjdGVkTGlnaHQge1xuXHR2ZWMzIGRpcmVjdERpZmZ1c2U7XG5cdHZlYzMgZGlyZWN0U3BlY3VsYXI7XG5cdHZlYzMgaW5kaXJlY3REaWZmdXNlO1xuXHR2ZWMzIGluZGlyZWN0U3BlY3VsYXI7XG59O1xuc3RydWN0IEdlb21ldHJpY0NvbnRleHQge1xuXHR2ZWMzIHBvc2l0aW9uO1xuXHR2ZWMzIG5vcm1hbDtcblx0dmVjMyB2aWV3RGlyO1xuI2lmZGVmIENMRUFSQ09BVFxuXHR2ZWMzIGNsZWFyY29hdE5vcm1hbDtcbiNlbmRpZlxufTtcbnZlYzMgdHJhbnNmb3JtRGlyZWN0aW9uKCBpbiB2ZWMzIGRpciwgaW4gbWF0NCBtYXRyaXggKSB7XG5cdHJldHVybiBub3JtYWxpemUoICggbWF0cml4ICogdmVjNCggZGlyLCAwLjAgKSApLnh5eiApO1xufVxudmVjMyBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBpbiB2ZWMzIGRpciwgaW4gbWF0NCBtYXRyaXggKSB7XG5cdHJldHVybiBub3JtYWxpemUoICggdmVjNCggZGlyLCAwLjAgKSAqIG1hdHJpeCApLnh5eiApO1xufVxudmVjMyBwcm9qZWN0T25QbGFuZShpbiB2ZWMzIHBvaW50LCBpbiB2ZWMzIHBvaW50T25QbGFuZSwgaW4gdmVjMyBwbGFuZU5vcm1hbCApIHtcblx0ZmxvYXQgZGlzdGFuY2UgPSBkb3QoIHBsYW5lTm9ybWFsLCBwb2ludCAtIHBvaW50T25QbGFuZSApO1xuXHRyZXR1cm4gLSBkaXN0YW5jZSAqIHBsYW5lTm9ybWFsICsgcG9pbnQ7XG59XG5mbG9hdCBzaWRlT2ZQbGFuZSggaW4gdmVjMyBwb2ludCwgaW4gdmVjMyBwb2ludE9uUGxhbmUsIGluIHZlYzMgcGxhbmVOb3JtYWwgKSB7XG5cdHJldHVybiBzaWduKCBkb3QoIHBvaW50IC0gcG9pbnRPblBsYW5lLCBwbGFuZU5vcm1hbCApICk7XG59XG52ZWMzIGxpbmVQbGFuZUludGVyc2VjdCggaW4gdmVjMyBwb2ludE9uTGluZSwgaW4gdmVjMyBsaW5lRGlyZWN0aW9uLCBpbiB2ZWMzIHBvaW50T25QbGFuZSwgaW4gdmVjMyBwbGFuZU5vcm1hbCApIHtcblx0cmV0dXJuIGxpbmVEaXJlY3Rpb24gKiAoIGRvdCggcGxhbmVOb3JtYWwsIHBvaW50T25QbGFuZSAtIHBvaW50T25MaW5lICkgLyBkb3QoIHBsYW5lTm9ybWFsLCBsaW5lRGlyZWN0aW9uICkgKSArIHBvaW50T25MaW5lO1xufVxubWF0MyB0cmFuc3Bvc2VNYXQzKCBjb25zdCBpbiBtYXQzIG0gKSB7XG5cdG1hdDMgdG1wO1xuXHR0bXBbIDAgXSA9IHZlYzMoIG1bIDAgXS54LCBtWyAxIF0ueCwgbVsgMiBdLnggKTtcblx0dG1wWyAxIF0gPSB2ZWMzKCBtWyAwIF0ueSwgbVsgMSBdLnksIG1bIDIgXS55ICk7XG5cdHRtcFsgMiBdID0gdmVjMyggbVsgMCBdLnosIG1bIDEgXS56LCBtWyAyIF0ueiApO1xuXHRyZXR1cm4gdG1wO1xufVxuZmxvYXQgbGluZWFyVG9SZWxhdGl2ZUx1bWluYW5jZSggY29uc3QgaW4gdmVjMyBjb2xvciApIHtcblx0dmVjMyB3ZWlnaHRzID0gdmVjMyggMC4yMTI2LCAwLjcxNTIsIDAuMDcyMiApO1xuXHRyZXR1cm4gZG90KCB3ZWlnaHRzLCBjb2xvci5yZ2IgKTtcbn1cbmJvb2wgaXNQZXJzcGVjdGl2ZU1hdHJpeCggbWF0NCBtICkge1xuXHRyZXR1cm4gbVsgMiBdWyAzIF0gPT0gLSAxLjA7XG59XG52ZWMyIGVxdWlyZWN0VXYoIGluIHZlYzMgZGlyICkge1xuXHRmbG9hdCB1ID0gYXRhbiggZGlyLnosIGRpci54ICkgKiBSRUNJUFJPQ0FMX1BJMiArIDAuNTtcblx0ZmxvYXQgdiA9IGFzaW4oIGNsYW1wKCBkaXIueSwgLSAxLjAsIDEuMCApICkgKiBSRUNJUFJPQ0FMX1BJICsgMC41O1xuXHRyZXR1cm4gdmVjMiggdSwgdiApO1xufSIsY3ViZV91dl9yZWZsZWN0aW9uX2ZyYWdtZW50OiIjaWZkZWYgRU5WTUFQX1RZUEVfQ1VCRV9VVlxuXHQjZGVmaW5lIGN1YmVVVl9tYXhNaXBMZXZlbCA4LjBcblx0I2RlZmluZSBjdWJlVVZfbWluTWlwTGV2ZWwgNC4wXG5cdCNkZWZpbmUgY3ViZVVWX21heFRpbGVTaXplIDI1Ni4wXG5cdCNkZWZpbmUgY3ViZVVWX21pblRpbGVTaXplIDE2LjBcblx0ZmxvYXQgZ2V0RmFjZSggdmVjMyBkaXJlY3Rpb24gKSB7XG5cdFx0dmVjMyBhYnNEaXJlY3Rpb24gPSBhYnMoIGRpcmVjdGlvbiApO1xuXHRcdGZsb2F0IGZhY2UgPSAtIDEuMDtcblx0XHRpZiAoIGFic0RpcmVjdGlvbi54ID4gYWJzRGlyZWN0aW9uLnogKSB7XG5cdFx0XHRpZiAoIGFic0RpcmVjdGlvbi54ID4gYWJzRGlyZWN0aW9uLnkgKVxuXHRcdFx0XHRmYWNlID0gZGlyZWN0aW9uLnggPiAwLjAgPyAwLjAgOiAzLjA7XG5cdFx0XHRlbHNlXG5cdFx0XHRcdGZhY2UgPSBkaXJlY3Rpb24ueSA+IDAuMCA/IDEuMCA6IDQuMDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aWYgKCBhYnNEaXJlY3Rpb24ueiA+IGFic0RpcmVjdGlvbi55IClcblx0XHRcdFx0ZmFjZSA9IGRpcmVjdGlvbi56ID4gMC4wID8gMi4wIDogNS4wO1xuXHRcdFx0ZWxzZVxuXHRcdFx0XHRmYWNlID0gZGlyZWN0aW9uLnkgPiAwLjAgPyAxLjAgOiA0LjA7XG5cdFx0fVxuXHRcdHJldHVybiBmYWNlO1xuXHR9XG5cdHZlYzIgZ2V0VVYoIHZlYzMgZGlyZWN0aW9uLCBmbG9hdCBmYWNlICkge1xuXHRcdHZlYzIgdXY7XG5cdFx0aWYgKCBmYWNlID09IDAuMCApIHtcblx0XHRcdHV2ID0gdmVjMiggZGlyZWN0aW9uLnosIGRpcmVjdGlvbi55ICkgLyBhYnMoIGRpcmVjdGlvbi54ICk7XG5cdFx0fSBlbHNlIGlmICggZmFjZSA9PSAxLjAgKSB7XG5cdFx0XHR1diA9IHZlYzIoIC0gZGlyZWN0aW9uLngsIC0gZGlyZWN0aW9uLnogKSAvIGFicyggZGlyZWN0aW9uLnkgKTtcblx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDIuMCApIHtcblx0XHRcdHV2ID0gdmVjMiggLSBkaXJlY3Rpb24ueCwgZGlyZWN0aW9uLnkgKSAvIGFicyggZGlyZWN0aW9uLnogKTtcblx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDMuMCApIHtcblx0XHRcdHV2ID0gdmVjMiggLSBkaXJlY3Rpb24ueiwgZGlyZWN0aW9uLnkgKSAvIGFicyggZGlyZWN0aW9uLnggKTtcblx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDQuMCApIHtcblx0XHRcdHV2ID0gdmVjMiggLSBkaXJlY3Rpb24ueCwgZGlyZWN0aW9uLnogKSAvIGFicyggZGlyZWN0aW9uLnkgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dXYgPSB2ZWMyKCBkaXJlY3Rpb24ueCwgZGlyZWN0aW9uLnkgKSAvIGFicyggZGlyZWN0aW9uLnogKTtcblx0XHR9XG5cdFx0cmV0dXJuIDAuNSAqICggdXYgKyAxLjAgKTtcblx0fVxuXHR2ZWMzIGJpbGluZWFyQ3ViZVVWKCBzYW1wbGVyMkQgZW52TWFwLCB2ZWMzIGRpcmVjdGlvbiwgZmxvYXQgbWlwSW50ICkge1xuXHRcdGZsb2F0IGZhY2UgPSBnZXRGYWNlKCBkaXJlY3Rpb24gKTtcblx0XHRmbG9hdCBmaWx0ZXJJbnQgPSBtYXgoIGN1YmVVVl9taW5NaXBMZXZlbCAtIG1pcEludCwgMC4wICk7XG5cdFx0bWlwSW50ID0gbWF4KCBtaXBJbnQsIGN1YmVVVl9taW5NaXBMZXZlbCApO1xuXHRcdGZsb2F0IGZhY2VTaXplID0gZXhwMiggbWlwSW50ICk7XG5cdFx0ZmxvYXQgdGV4ZWxTaXplID0gMS4wIC8gKCAzLjAgKiBjdWJlVVZfbWF4VGlsZVNpemUgKTtcblx0XHR2ZWMyIHV2ID0gZ2V0VVYoIGRpcmVjdGlvbiwgZmFjZSApICogKCBmYWNlU2l6ZSAtIDEuMCApO1xuXHRcdHZlYzIgZiA9IGZyYWN0KCB1diApO1xuXHRcdHV2ICs9IDAuNSAtIGY7XG5cdFx0aWYgKCBmYWNlID4gMi4wICkge1xuXHRcdFx0dXYueSArPSBmYWNlU2l6ZTtcblx0XHRcdGZhY2UgLT0gMy4wO1xuXHRcdH1cblx0XHR1di54ICs9IGZhY2UgKiBmYWNlU2l6ZTtcblx0XHRpZiAoIG1pcEludCA8IGN1YmVVVl9tYXhNaXBMZXZlbCApIHtcblx0XHRcdHV2LnkgKz0gMi4wICogY3ViZVVWX21heFRpbGVTaXplO1xuXHRcdH1cblx0XHR1di55ICs9IGZpbHRlckludCAqIDIuMCAqIGN1YmVVVl9taW5UaWxlU2l6ZTtcblx0XHR1di54ICs9IDMuMCAqIG1heCggMC4wLCBjdWJlVVZfbWF4VGlsZVNpemUgLSAyLjAgKiBmYWNlU2l6ZSApO1xuXHRcdHV2ICo9IHRleGVsU2l6ZTtcblx0XHR2ZWMzIHRsID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEKCBlbnZNYXAsIHV2ICkgKS5yZ2I7XG5cdFx0dXYueCArPSB0ZXhlbFNpemU7XG5cdFx0dmVjMyB0ciA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCggZW52TWFwLCB1diApICkucmdiO1xuXHRcdHV2LnkgKz0gdGV4ZWxTaXplO1xuXHRcdHZlYzMgYnIgPSBlbnZNYXBUZXhlbFRvTGluZWFyKCB0ZXh0dXJlMkQoIGVudk1hcCwgdXYgKSApLnJnYjtcblx0XHR1di54IC09IHRleGVsU2l6ZTtcblx0XHR2ZWMzIGJsID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEKCBlbnZNYXAsIHV2ICkgKS5yZ2I7XG5cdFx0dmVjMyB0bSA9IG1peCggdGwsIHRyLCBmLnggKTtcblx0XHR2ZWMzIGJtID0gbWl4KCBibCwgYnIsIGYueCApO1xuXHRcdHJldHVybiBtaXgoIHRtLCBibSwgZi55ICk7XG5cdH1cblx0I2RlZmluZSByMCAxLjBcblx0I2RlZmluZSB2MCAwLjMzOVxuXHQjZGVmaW5lIG0wIC0gMi4wXG5cdCNkZWZpbmUgcjEgMC44XG5cdCNkZWZpbmUgdjEgMC4yNzZcblx0I2RlZmluZSBtMSAtIDEuMFxuXHQjZGVmaW5lIHI0IDAuNFxuXHQjZGVmaW5lIHY0IDAuMDQ2XG5cdCNkZWZpbmUgbTQgMi4wXG5cdCNkZWZpbmUgcjUgMC4zMDVcblx0I2RlZmluZSB2NSAwLjAxNlxuXHQjZGVmaW5lIG01IDMuMFxuXHQjZGVmaW5lIHI2IDAuMjFcblx0I2RlZmluZSB2NiAwLjAwMzhcblx0I2RlZmluZSBtNiA0LjBcblx0ZmxvYXQgcm91Z2huZXNzVG9NaXAoIGZsb2F0IHJvdWdobmVzcyApIHtcblx0XHRmbG9hdCBtaXAgPSAwLjA7XG5cdFx0aWYgKCByb3VnaG5lc3MgPj0gcjEgKSB7XG5cdFx0XHRtaXAgPSAoIHIwIC0gcm91Z2huZXNzICkgKiAoIG0xIC0gbTAgKSAvICggcjAgLSByMSApICsgbTA7XG5cdFx0fSBlbHNlIGlmICggcm91Z2huZXNzID49IHI0ICkge1xuXHRcdFx0bWlwID0gKCByMSAtIHJvdWdobmVzcyApICogKCBtNCAtIG0xICkgLyAoIHIxIC0gcjQgKSArIG0xO1xuXHRcdH0gZWxzZSBpZiAoIHJvdWdobmVzcyA+PSByNSApIHtcblx0XHRcdG1pcCA9ICggcjQgLSByb3VnaG5lc3MgKSAqICggbTUgLSBtNCApIC8gKCByNCAtIHI1ICkgKyBtNDtcblx0XHR9IGVsc2UgaWYgKCByb3VnaG5lc3MgPj0gcjYgKSB7XG5cdFx0XHRtaXAgPSAoIHI1IC0gcm91Z2huZXNzICkgKiAoIG02IC0gbTUgKSAvICggcjUgLSByNiApICsgbTU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdG1pcCA9IC0gMi4wICogbG9nMiggMS4xNiAqIHJvdWdobmVzcyApO1x0XHR9XG5cdFx0cmV0dXJuIG1pcDtcblx0fVxuXHR2ZWM0IHRleHR1cmVDdWJlVVYoIHNhbXBsZXIyRCBlbnZNYXAsIHZlYzMgc2FtcGxlRGlyLCBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdFx0ZmxvYXQgbWlwID0gY2xhbXAoIHJvdWdobmVzc1RvTWlwKCByb3VnaG5lc3MgKSwgbTAsIGN1YmVVVl9tYXhNaXBMZXZlbCApO1xuXHRcdGZsb2F0IG1pcEYgPSBmcmFjdCggbWlwICk7XG5cdFx0ZmxvYXQgbWlwSW50ID0gZmxvb3IoIG1pcCApO1xuXHRcdHZlYzMgY29sb3IwID0gYmlsaW5lYXJDdWJlVVYoIGVudk1hcCwgc2FtcGxlRGlyLCBtaXBJbnQgKTtcblx0XHRpZiAoIG1pcEYgPT0gMC4wICkge1xuXHRcdFx0cmV0dXJuIHZlYzQoIGNvbG9yMCwgMS4wICk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHZlYzMgY29sb3IxID0gYmlsaW5lYXJDdWJlVVYoIGVudk1hcCwgc2FtcGxlRGlyLCBtaXBJbnQgKyAxLjAgKTtcblx0XHRcdHJldHVybiB2ZWM0KCBtaXgoIGNvbG9yMCwgY29sb3IxLCBtaXBGICksIDEuMCApO1xuXHRcdH1cblx0fVxuI2VuZGlmIixkZWZhdWx0bm9ybWFsX3ZlcnRleDoidmVjMyB0cmFuc2Zvcm1lZE5vcm1hbCA9IG9iamVjdE5vcm1hbDtcbiNpZmRlZiBVU0VfSU5TVEFOQ0lOR1xuXHRtYXQzIG0gPSBtYXQzKCBpbnN0YW5jZU1hdHJpeCApO1xuXHR0cmFuc2Zvcm1lZE5vcm1hbCAvPSB2ZWMzKCBkb3QoIG1bIDAgXSwgbVsgMCBdICksIGRvdCggbVsgMSBdLCBtWyAxIF0gKSwgZG90KCBtWyAyIF0sIG1bIDIgXSApICk7XG5cdHRyYW5zZm9ybWVkTm9ybWFsID0gbSAqIHRyYW5zZm9ybWVkTm9ybWFsO1xuI2VuZGlmXG50cmFuc2Zvcm1lZE5vcm1hbCA9IG5vcm1hbE1hdHJpeCAqIHRyYW5zZm9ybWVkTm9ybWFsO1xuI2lmZGVmIEZMSVBfU0lERURcblx0dHJhbnNmb3JtZWROb3JtYWwgPSAtIHRyYW5zZm9ybWVkTm9ybWFsO1xuI2VuZGlmXG4jaWZkZWYgVVNFX1RBTkdFTlRcblx0dmVjMyB0cmFuc2Zvcm1lZFRhbmdlbnQgPSAoIG1vZGVsVmlld01hdHJpeCAqIHZlYzQoIG9iamVjdFRhbmdlbnQsIDAuMCApICkueHl6O1xuXHQjaWZkZWYgRkxJUF9TSURFRFxuXHRcdHRyYW5zZm9ybWVkVGFuZ2VudCA9IC0gdHJhbnNmb3JtZWRUYW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZiIsZGlzcGxhY2VtZW50bWFwX3BhcnNfdmVydGV4OiIjaWZkZWYgVVNFX0RJU1BMQUNFTUVOVE1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBkaXNwbGFjZW1lbnRNYXA7XG5cdHVuaWZvcm0gZmxvYXQgZGlzcGxhY2VtZW50U2NhbGU7XG5cdHVuaWZvcm0gZmxvYXQgZGlzcGxhY2VtZW50QmlhcztcbiNlbmRpZiIsZGlzcGxhY2VtZW50bWFwX3ZlcnRleDoiI2lmZGVmIFVTRV9ESVNQTEFDRU1FTlRNQVBcblx0dHJhbnNmb3JtZWQgKz0gbm9ybWFsaXplKCBvYmplY3ROb3JtYWwgKSAqICggdGV4dHVyZTJEKCBkaXNwbGFjZW1lbnRNYXAsIHZVdiApLnggKiBkaXNwbGFjZW1lbnRTY2FsZSArIGRpc3BsYWNlbWVudEJpYXMgKTtcbiNlbmRpZiIsZW1pc3NpdmVtYXBfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRU1JU1NJVkVNQVBcblx0dmVjNCBlbWlzc2l2ZUNvbG9yID0gdGV4dHVyZTJEKCBlbWlzc2l2ZU1hcCwgdlV2ICk7XG5cdGVtaXNzaXZlQ29sb3IucmdiID0gZW1pc3NpdmVNYXBUZXhlbFRvTGluZWFyKCBlbWlzc2l2ZUNvbG9yICkucmdiO1xuXHR0b3RhbEVtaXNzaXZlUmFkaWFuY2UgKj0gZW1pc3NpdmVDb2xvci5yZ2I7XG4jZW5kaWYiLGVtaXNzaXZlbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRU1JU1NJVkVNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgZW1pc3NpdmVNYXA7XG4jZW5kaWYiLGVuY29kaW5nc19mcmFnbWVudDoiZ2xfRnJhZ0NvbG9yID0gbGluZWFyVG9PdXRwdXRUZXhlbCggZ2xfRnJhZ0NvbG9yICk7IixlbmNvZGluZ3NfcGFyc19mcmFnbWVudDoiXG52ZWM0IExpbmVhclRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlICkge1xuXHRyZXR1cm4gdmFsdWU7XG59XG52ZWM0IEdhbW1hVG9MaW5lYXIoIGluIHZlYzQgdmFsdWUsIGluIGZsb2F0IGdhbW1hRmFjdG9yICkge1xuXHRyZXR1cm4gdmVjNCggcG93KCB2YWx1ZS5yZ2IsIHZlYzMoIGdhbW1hRmFjdG9yICkgKSwgdmFsdWUuYSApO1xufVxudmVjNCBMaW5lYXJUb0dhbW1hKCBpbiB2ZWM0IHZhbHVlLCBpbiBmbG9hdCBnYW1tYUZhY3RvciApIHtcblx0cmV0dXJuIHZlYzQoIHBvdyggdmFsdWUucmdiLCB2ZWMzKCAxLjAgLyBnYW1tYUZhY3RvciApICksIHZhbHVlLmEgKTtcbn1cbnZlYzQgc1JHQlRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlICkge1xuXHRyZXR1cm4gdmVjNCggbWl4KCBwb3coIHZhbHVlLnJnYiAqIDAuOTQ3ODY3Mjk4NiArIHZlYzMoIDAuMDUyMTMyNzAxNCApLCB2ZWMzKCAyLjQgKSApLCB2YWx1ZS5yZ2IgKiAwLjA3NzM5OTM4MDgsIHZlYzMoIGxlc3NUaGFuRXF1YWwoIHZhbHVlLnJnYiwgdmVjMyggMC4wNDA0NSApICkgKSApLCB2YWx1ZS5hICk7XG59XG52ZWM0IExpbmVhclRvc1JHQiggaW4gdmVjNCB2YWx1ZSApIHtcblx0cmV0dXJuIHZlYzQoIG1peCggcG93KCB2YWx1ZS5yZ2IsIHZlYzMoIDAuNDE2NjYgKSApICogMS4wNTUgLSB2ZWMzKCAwLjA1NSApLCB2YWx1ZS5yZ2IgKiAxMi45MiwgdmVjMyggbGVzc1RoYW5FcXVhbCggdmFsdWUucmdiLCB2ZWMzKCAwLjAwMzEzMDggKSApICkgKSwgdmFsdWUuYSApO1xufVxudmVjNCBSR0JFVG9MaW5lYXIoIGluIHZlYzQgdmFsdWUgKSB7XG5cdHJldHVybiB2ZWM0KCB2YWx1ZS5yZ2IgKiBleHAyKCB2YWx1ZS5hICogMjU1LjAgLSAxMjguMCApLCAxLjAgKTtcbn1cbnZlYzQgTGluZWFyVG9SR0JFKCBpbiB2ZWM0IHZhbHVlICkge1xuXHRmbG9hdCBtYXhDb21wb25lbnQgPSBtYXgoIG1heCggdmFsdWUuciwgdmFsdWUuZyApLCB2YWx1ZS5iICk7XG5cdGZsb2F0IGZFeHAgPSBjbGFtcCggY2VpbCggbG9nMiggbWF4Q29tcG9uZW50ICkgKSwgLTEyOC4wLCAxMjcuMCApO1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiIC8gZXhwMiggZkV4cCApLCAoIGZFeHAgKyAxMjguMCApIC8gMjU1LjAgKTtcbn1cbnZlYzQgUkdCTVRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlLCBpbiBmbG9hdCBtYXhSYW5nZSApIHtcblx0cmV0dXJuIHZlYzQoIHZhbHVlLnJnYiAqIHZhbHVlLmEgKiBtYXhSYW5nZSwgMS4wICk7XG59XG52ZWM0IExpbmVhclRvUkdCTSggaW4gdmVjNCB2YWx1ZSwgaW4gZmxvYXQgbWF4UmFuZ2UgKSB7XG5cdGZsb2F0IG1heFJHQiA9IG1heCggdmFsdWUuciwgbWF4KCB2YWx1ZS5nLCB2YWx1ZS5iICkgKTtcblx0ZmxvYXQgTSA9IGNsYW1wKCBtYXhSR0IgLyBtYXhSYW5nZSwgMC4wLCAxLjAgKTtcblx0TSA9IGNlaWwoIE0gKiAyNTUuMCApIC8gMjU1LjA7XG5cdHJldHVybiB2ZWM0KCB2YWx1ZS5yZ2IgLyAoIE0gKiBtYXhSYW5nZSApLCBNICk7XG59XG52ZWM0IFJHQkRUb0xpbmVhciggaW4gdmVjNCB2YWx1ZSwgaW4gZmxvYXQgbWF4UmFuZ2UgKSB7XG5cdHJldHVybiB2ZWM0KCB2YWx1ZS5yZ2IgKiAoICggbWF4UmFuZ2UgLyAyNTUuMCApIC8gdmFsdWUuYSApLCAxLjAgKTtcbn1cbnZlYzQgTGluZWFyVG9SR0JEKCBpbiB2ZWM0IHZhbHVlLCBpbiBmbG9hdCBtYXhSYW5nZSApIHtcblx0ZmxvYXQgbWF4UkdCID0gbWF4KCB2YWx1ZS5yLCBtYXgoIHZhbHVlLmcsIHZhbHVlLmIgKSApO1xuXHRmbG9hdCBEID0gbWF4KCBtYXhSYW5nZSAvIG1heFJHQiwgMS4wICk7XG5cdEQgPSBjbGFtcCggZmxvb3IoIEQgKSAvIDI1NS4wLCAwLjAsIDEuMCApO1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiICogKCBEICogKCAyNTUuMCAvIG1heFJhbmdlICkgKSwgRCApO1xufVxuY29uc3QgbWF0MyBjTG9nTHV2TSA9IG1hdDMoIDAuMjIwOSwgMC4zMzkwLCAwLjQxODQsIDAuMTEzOCwgMC42NzgwLCAwLjczMTksIDAuMDEwMiwgMC4xMTMwLCAwLjI5NjkgKTtcbnZlYzQgTGluZWFyVG9Mb2dMdXYoIGluIHZlYzQgdmFsdWUgKSB7XG5cdHZlYzMgWHBfWV9YWVpwID0gY0xvZ0x1dk0gKiB2YWx1ZS5yZ2I7XG5cdFhwX1lfWFlacCA9IG1heCggWHBfWV9YWVpwLCB2ZWMzKCAxZS02LCAxZS02LCAxZS02ICkgKTtcblx0dmVjNCB2UmVzdWx0O1xuXHR2UmVzdWx0Lnh5ID0gWHBfWV9YWVpwLnh5IC8gWHBfWV9YWVpwLno7XG5cdGZsb2F0IExlID0gMi4wICogbG9nMihYcF9ZX1hZWnAueSkgKyAxMjcuMDtcblx0dlJlc3VsdC53ID0gZnJhY3QoIExlICk7XG5cdHZSZXN1bHQueiA9ICggTGUgLSAoIGZsb29yKCB2UmVzdWx0LncgKiAyNTUuMCApICkgLyAyNTUuMCApIC8gMjU1LjA7XG5cdHJldHVybiB2UmVzdWx0O1xufVxuY29uc3QgbWF0MyBjTG9nTHV2SW52ZXJzZU0gPSBtYXQzKCA2LjAwMTQsIC0yLjcwMDgsIC0xLjc5OTYsIC0xLjMzMjAsIDMuMTAyOSwgLTUuNzcyMSwgMC4zMDA4LCAtMS4wODgyLCA1LjYyNjggKTtcbnZlYzQgTG9nTHV2VG9MaW5lYXIoIGluIHZlYzQgdmFsdWUgKSB7XG5cdGZsb2F0IExlID0gdmFsdWUueiAqIDI1NS4wICsgdmFsdWUudztcblx0dmVjMyBYcF9ZX1hZWnA7XG5cdFhwX1lfWFlacC55ID0gZXhwMiggKCBMZSAtIDEyNy4wICkgLyAyLjAgKTtcblx0WHBfWV9YWVpwLnogPSBYcF9ZX1hZWnAueSAvIHZhbHVlLnk7XG5cdFhwX1lfWFlacC54ID0gdmFsdWUueCAqIFhwX1lfWFlacC56O1xuXHR2ZWMzIHZSR0IgPSBjTG9nTHV2SW52ZXJzZU0gKiBYcF9ZX1hZWnAucmdiO1xuXHRyZXR1cm4gdmVjNCggbWF4KCB2UkdCLCAwLjAgKSwgMS4wICk7XG59IixlbnZtYXBfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRU5WTUFQXG5cdCNpZmRlZiBFTlZfV09STERQT1Ncblx0XHR2ZWMzIGNhbWVyYVRvRnJhZztcblx0XHRpZiAoIGlzT3J0aG9ncmFwaGljICkge1xuXHRcdFx0Y2FtZXJhVG9GcmFnID0gbm9ybWFsaXplKCB2ZWMzKCAtIHZpZXdNYXRyaXhbIDAgXVsgMiBdLCAtIHZpZXdNYXRyaXhbIDEgXVsgMiBdLCAtIHZpZXdNYXRyaXhbIDIgXVsgMiBdICkgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y2FtZXJhVG9GcmFnID0gbm9ybWFsaXplKCB2V29ybGRQb3NpdGlvbiAtIGNhbWVyYVBvc2l0aW9uICk7XG5cdFx0fVxuXHRcdHZlYzMgd29ybGROb3JtYWwgPSBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBub3JtYWwsIHZpZXdNYXRyaXggKTtcblx0XHQjaWZkZWYgRU5WTUFQX01PREVfUkVGTEVDVElPTlxuXHRcdFx0dmVjMyByZWZsZWN0VmVjID0gcmVmbGVjdCggY2FtZXJhVG9GcmFnLCB3b3JsZE5vcm1hbCApO1xuXHRcdCNlbHNlXG5cdFx0XHR2ZWMzIHJlZmxlY3RWZWMgPSByZWZyYWN0KCBjYW1lcmFUb0ZyYWcsIHdvcmxkTm9ybWFsLCByZWZyYWN0aW9uUmF0aW8gKTtcblx0XHQjZW5kaWZcblx0I2Vsc2Vcblx0XHR2ZWMzIHJlZmxlY3RWZWMgPSB2UmVmbGVjdDtcblx0I2VuZGlmXG5cdCNpZmRlZiBFTlZNQVBfVFlQRV9DVUJFXG5cdFx0dmVjNCBlbnZDb2xvciA9IHRleHR1cmVDdWJlKCBlbnZNYXAsIHZlYzMoIGZsaXBFbnZNYXAgKiByZWZsZWN0VmVjLngsIHJlZmxlY3RWZWMueXogKSApO1xuXHQjZWxpZiBkZWZpbmVkKCBFTlZNQVBfVFlQRV9DVUJFX1VWIClcblx0XHR2ZWM0IGVudkNvbG9yID0gdGV4dHVyZUN1YmVVViggZW52TWFwLCByZWZsZWN0VmVjLCAwLjAgKTtcblx0I2Vsc2Vcblx0XHR2ZWM0IGVudkNvbG9yID0gdmVjNCggMC4wICk7XG5cdCNlbmRpZlxuXHQjaWZuZGVmIEVOVk1BUF9UWVBFX0NVQkVfVVZcblx0XHRlbnZDb2xvciA9IGVudk1hcFRleGVsVG9MaW5lYXIoIGVudkNvbG9yICk7XG5cdCNlbmRpZlxuXHQjaWZkZWYgRU5WTUFQX0JMRU5ESU5HX01VTFRJUExZXG5cdFx0b3V0Z29pbmdMaWdodCA9IG1peCggb3V0Z29pbmdMaWdodCwgb3V0Z29pbmdMaWdodCAqIGVudkNvbG9yLnh5eiwgc3BlY3VsYXJTdHJlbmd0aCAqIHJlZmxlY3Rpdml0eSApO1xuXHQjZWxpZiBkZWZpbmVkKCBFTlZNQVBfQkxFTkRJTkdfTUlYIClcblx0XHRvdXRnb2luZ0xpZ2h0ID0gbWl4KCBvdXRnb2luZ0xpZ2h0LCBlbnZDb2xvci54eXosIHNwZWN1bGFyU3RyZW5ndGggKiByZWZsZWN0aXZpdHkgKTtcblx0I2VsaWYgZGVmaW5lZCggRU5WTUFQX0JMRU5ESU5HX0FERCApXG5cdFx0b3V0Z29pbmdMaWdodCArPSBlbnZDb2xvci54eXogKiBzcGVjdWxhclN0cmVuZ3RoICogcmVmbGVjdGl2aXR5O1xuXHQjZW5kaWZcbiNlbmRpZiIsZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0VOVk1BUFxuXHR1bmlmb3JtIGZsb2F0IGVudk1hcEludGVuc2l0eTtcblx0dW5pZm9ybSBmbG9hdCBmbGlwRW52TWFwO1xuXHR1bmlmb3JtIGludCBtYXhNaXBMZXZlbDtcblx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHR1bmlmb3JtIHNhbXBsZXJDdWJlIGVudk1hcDtcblx0I2Vsc2Vcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBlbnZNYXA7XG5cdCNlbmRpZlxuXHRcbiNlbmRpZiIsZW52bWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRU5WTUFQXG5cdHVuaWZvcm0gZmxvYXQgcmVmbGVjdGl2aXR5O1xuXHQjaWYgZGVmaW5lZCggVVNFX0JVTVBNQVAgKSB8fCBkZWZpbmVkKCBVU0VfTk9STUFMTUFQICkgfHwgZGVmaW5lZCggUEhPTkcgKVxuXHRcdCNkZWZpbmUgRU5WX1dPUkxEUE9TXG5cdCNlbmRpZlxuXHQjaWZkZWYgRU5WX1dPUkxEUE9TXG5cdFx0dmFyeWluZyB2ZWMzIHZXb3JsZFBvc2l0aW9uO1xuXHRcdHVuaWZvcm0gZmxvYXQgcmVmcmFjdGlvblJhdGlvO1xuXHQjZWxzZVxuXHRcdHZhcnlpbmcgdmVjMyB2UmVmbGVjdDtcblx0I2VuZGlmXG4jZW5kaWYiLGVudm1hcF9wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9FTlZNQVBcblx0I2lmIGRlZmluZWQoIFVTRV9CVU1QTUFQICkgfHwgZGVmaW5lZCggVVNFX05PUk1BTE1BUCApIHx8ZGVmaW5lZCggUEhPTkcgKVxuXHRcdCNkZWZpbmUgRU5WX1dPUkxEUE9TXG5cdCNlbmRpZlxuXHQjaWZkZWYgRU5WX1dPUkxEUE9TXG5cdFx0XG5cdFx0dmFyeWluZyB2ZWMzIHZXb3JsZFBvc2l0aW9uO1xuXHQjZWxzZVxuXHRcdHZhcnlpbmcgdmVjMyB2UmVmbGVjdDtcblx0XHR1bmlmb3JtIGZsb2F0IHJlZnJhY3Rpb25SYXRpbztcblx0I2VuZGlmXG4jZW5kaWYiLGVudm1hcF9waHlzaWNhbF9wYXJzX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX0VOVk1BUCApXG5cdCNpZmRlZiBFTlZNQVBfTU9ERV9SRUZSQUNUSU9OXG5cdFx0dW5pZm9ybSBmbG9hdCByZWZyYWN0aW9uUmF0aW87XG5cdCNlbmRpZlxuXHR2ZWMzIGdldExpZ2h0UHJvYmVJbmRpcmVjdElycmFkaWFuY2UoIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIGludCBtYXhNSVBMZXZlbCApIHtcblx0XHR2ZWMzIHdvcmxkTm9ybWFsID0gaW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiggZ2VvbWV0cnkubm9ybWFsLCB2aWV3TWF0cml4ICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHRcdHZlYzMgcXVlcnlWZWMgPSB2ZWMzKCBmbGlwRW52TWFwICogd29ybGROb3JtYWwueCwgd29ybGROb3JtYWwueXogKTtcblx0XHRcdCNpZmRlZiBURVhUVVJFX0xPRF9FWFRcblx0XHRcdFx0dmVjNCBlbnZNYXBDb2xvciA9IHRleHR1cmVDdWJlTG9kRVhUKCBlbnZNYXAsIHF1ZXJ5VmVjLCBmbG9hdCggbWF4TUlQTGV2ZWwgKSApO1xuXHRcdFx0I2Vsc2Vcblx0XHRcdFx0dmVjNCBlbnZNYXBDb2xvciA9IHRleHR1cmVDdWJlKCBlbnZNYXAsIHF1ZXJ5VmVjLCBmbG9hdCggbWF4TUlQTGV2ZWwgKSApO1xuXHRcdFx0I2VuZGlmXG5cdFx0XHRlbnZNYXBDb2xvci5yZ2IgPSBlbnZNYXBUZXhlbFRvTGluZWFyKCBlbnZNYXBDb2xvciApLnJnYjtcblx0XHQjZWxpZiBkZWZpbmVkKCBFTlZNQVBfVFlQRV9DVUJFX1VWIClcblx0XHRcdHZlYzQgZW52TWFwQ29sb3IgPSB0ZXh0dXJlQ3ViZVVWKCBlbnZNYXAsIHdvcmxkTm9ybWFsLCAxLjAgKTtcblx0XHQjZWxzZVxuXHRcdFx0dmVjNCBlbnZNYXBDb2xvciA9IHZlYzQoIDAuMCApO1xuXHRcdCNlbmRpZlxuXHRcdHJldHVybiBQSSAqIGVudk1hcENvbG9yLnJnYiAqIGVudk1hcEludGVuc2l0eTtcblx0fVxuXHRmbG9hdCBnZXRTcGVjdWxhck1JUExldmVsKCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MsIGNvbnN0IGluIGludCBtYXhNSVBMZXZlbCApIHtcblx0XHRmbG9hdCBtYXhNSVBMZXZlbFNjYWxhciA9IGZsb2F0KCBtYXhNSVBMZXZlbCApO1xuXHRcdGZsb2F0IHNpZ21hID0gUEkgKiByb3VnaG5lc3MgKiByb3VnaG5lc3MgLyAoIDEuMCArIHJvdWdobmVzcyApO1xuXHRcdGZsb2F0IGRlc2lyZWRNSVBMZXZlbCA9IG1heE1JUExldmVsU2NhbGFyICsgbG9nMiggc2lnbWEgKTtcblx0XHRyZXR1cm4gY2xhbXAoIGRlc2lyZWRNSVBMZXZlbCwgMC4wLCBtYXhNSVBMZXZlbFNjYWxhciApO1xuXHR9XG5cdHZlYzMgZ2V0TGlnaHRQcm9iZUluZGlyZWN0UmFkaWFuY2UoIGNvbnN0IGluIHZlYzMgdmlld0RpciwgY29uc3QgaW4gdmVjMyBub3JtYWwsIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcywgY29uc3QgaW4gaW50IG1heE1JUExldmVsICkge1xuXHRcdCNpZmRlZiBFTlZNQVBfTU9ERV9SRUZMRUNUSU9OXG5cdFx0XHR2ZWMzIHJlZmxlY3RWZWMgPSByZWZsZWN0KCAtdmlld0Rpciwgbm9ybWFsICk7XG5cdFx0XHRyZWZsZWN0VmVjID0gbm9ybWFsaXplKCBtaXgoIHJlZmxlY3RWZWMsIG5vcm1hbCwgcm91Z2huZXNzICogcm91Z2huZXNzKSApO1xuXHRcdCNlbHNlXG5cdFx0XHR2ZWMzIHJlZmxlY3RWZWMgPSByZWZyYWN0KCAtdmlld0Rpciwgbm9ybWFsLCByZWZyYWN0aW9uUmF0aW8gKTtcblx0XHQjZW5kaWZcblx0XHRyZWZsZWN0VmVjID0gaW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiggcmVmbGVjdFZlYywgdmlld01hdHJpeCApO1xuXHRcdGZsb2F0IHNwZWN1bGFyTUlQTGV2ZWwgPSBnZXRTcGVjdWxhck1JUExldmVsKCByb3VnaG5lc3MsIG1heE1JUExldmVsICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHRcdHZlYzMgcXVlcnlSZWZsZWN0VmVjID0gdmVjMyggZmxpcEVudk1hcCAqIHJlZmxlY3RWZWMueCwgcmVmbGVjdFZlYy55eiApO1xuXHRcdFx0I2lmZGVmIFRFWFRVUkVfTE9EX0VYVFxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yID0gdGV4dHVyZUN1YmVMb2RFWFQoIGVudk1hcCwgcXVlcnlSZWZsZWN0VmVjLCBzcGVjdWxhck1JUExldmVsICk7XG5cdFx0XHQjZWxzZVxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yID0gdGV4dHVyZUN1YmUoIGVudk1hcCwgcXVlcnlSZWZsZWN0VmVjLCBzcGVjdWxhck1JUExldmVsICk7XG5cdFx0XHQjZW5kaWZcblx0XHRcdGVudk1hcENvbG9yLnJnYiA9IGVudk1hcFRleGVsVG9MaW5lYXIoIGVudk1hcENvbG9yICkucmdiO1xuXHRcdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX0NVQkVfVVYgKVxuXHRcdFx0dmVjNCBlbnZNYXBDb2xvciA9IHRleHR1cmVDdWJlVVYoIGVudk1hcCwgcmVmbGVjdFZlYywgcm91Z2huZXNzICk7XG5cdFx0I2VuZGlmXG5cdFx0cmV0dXJuIGVudk1hcENvbG9yLnJnYiAqIGVudk1hcEludGVuc2l0eTtcblx0fVxuI2VuZGlmIixlbnZtYXBfdmVydGV4OiIjaWZkZWYgVVNFX0VOVk1BUFxuXHQjaWZkZWYgRU5WX1dPUkxEUE9TXG5cdFx0dldvcmxkUG9zaXRpb24gPSB3b3JsZFBvc2l0aW9uLnh5ejtcblx0I2Vsc2Vcblx0XHR2ZWMzIGNhbWVyYVRvVmVydGV4O1xuXHRcdGlmICggaXNPcnRob2dyYXBoaWMgKSB7XG5cdFx0XHRjYW1lcmFUb1ZlcnRleCA9IG5vcm1hbGl6ZSggdmVjMyggLSB2aWV3TWF0cml4WyAwIF1bIDIgXSwgLSB2aWV3TWF0cml4WyAxIF1bIDIgXSwgLSB2aWV3TWF0cml4WyAyIF1bIDIgXSApICk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNhbWVyYVRvVmVydGV4ID0gbm9ybWFsaXplKCB3b3JsZFBvc2l0aW9uLnh5eiAtIGNhbWVyYVBvc2l0aW9uICk7XG5cdFx0fVxuXHRcdHZlYzMgd29ybGROb3JtYWwgPSBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCB0cmFuc2Zvcm1lZE5vcm1hbCwgdmlld01hdHJpeCApO1xuXHRcdCNpZmRlZiBFTlZNQVBfTU9ERV9SRUZMRUNUSU9OXG5cdFx0XHR2UmVmbGVjdCA9IHJlZmxlY3QoIGNhbWVyYVRvVmVydGV4LCB3b3JsZE5vcm1hbCApO1xuXHRcdCNlbHNlXG5cdFx0XHR2UmVmbGVjdCA9IHJlZnJhY3QoIGNhbWVyYVRvVmVydGV4LCB3b3JsZE5vcm1hbCwgcmVmcmFjdGlvblJhdGlvICk7XG5cdFx0I2VuZGlmXG5cdCNlbmRpZlxuI2VuZGlmIixmb2dfdmVydGV4OiIjaWZkZWYgVVNFX0ZPR1xuXHRmb2dEZXB0aCA9IC0gbXZQb3NpdGlvbi56O1xuI2VuZGlmIixmb2dfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfRk9HXG5cdHZhcnlpbmcgZmxvYXQgZm9nRGVwdGg7XG4jZW5kaWYiLGZvZ19mcmFnbWVudDoiI2lmZGVmIFVTRV9GT0dcblx0I2lmZGVmIEZPR19FWFAyXG5cdFx0ZmxvYXQgZm9nRmFjdG9yID0gMS4wIC0gZXhwKCAtIGZvZ0RlbnNpdHkgKiBmb2dEZW5zaXR5ICogZm9nRGVwdGggKiBmb2dEZXB0aCApO1xuXHQjZWxzZVxuXHRcdGZsb2F0IGZvZ0ZhY3RvciA9IHNtb290aHN0ZXAoIGZvZ05lYXIsIGZvZ0ZhciwgZm9nRGVwdGggKTtcblx0I2VuZGlmXG5cdGdsX0ZyYWdDb2xvci5yZ2IgPSBtaXgoIGdsX0ZyYWdDb2xvci5yZ2IsIGZvZ0NvbG9yLCBmb2dGYWN0b3IgKTtcbiNlbmRpZiIsZm9nX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRk9HXG5cdHVuaWZvcm0gdmVjMyBmb2dDb2xvcjtcblx0dmFyeWluZyBmbG9hdCBmb2dEZXB0aDtcblx0I2lmZGVmIEZPR19FWFAyXG5cdFx0dW5pZm9ybSBmbG9hdCBmb2dEZW5zaXR5O1xuXHQjZWxzZVxuXHRcdHVuaWZvcm0gZmxvYXQgZm9nTmVhcjtcblx0XHR1bmlmb3JtIGZsb2F0IGZvZ0Zhcjtcblx0I2VuZGlmXG4jZW5kaWYiLGdyYWRpZW50bWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfR1JBRElFTlRNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgZ3JhZGllbnRNYXA7XG4jZW5kaWZcbnZlYzMgZ2V0R3JhZGllbnRJcnJhZGlhbmNlKCB2ZWMzIG5vcm1hbCwgdmVjMyBsaWdodERpcmVjdGlvbiApIHtcblx0ZmxvYXQgZG90TkwgPSBkb3QoIG5vcm1hbCwgbGlnaHREaXJlY3Rpb24gKTtcblx0dmVjMiBjb29yZCA9IHZlYzIoIGRvdE5MICogMC41ICsgMC41LCAwLjAgKTtcblx0I2lmZGVmIFVTRV9HUkFESUVOVE1BUFxuXHRcdHJldHVybiB0ZXh0dXJlMkQoIGdyYWRpZW50TWFwLCBjb29yZCApLnJnYjtcblx0I2Vsc2Vcblx0XHRyZXR1cm4gKCBjb29yZC54IDwgMC43ICkgPyB2ZWMzKCAwLjcgKSA6IHZlYzMoIDEuMCApO1xuXHQjZW5kaWZcbn0iLGxpZ2h0bWFwX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0xJR0hUTUFQXG5cdHZlYzQgbGlnaHRNYXBUZXhlbD0gdGV4dHVyZTJEKCBsaWdodE1hcCwgdlV2MiApO1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKz0gUEkgKiBsaWdodE1hcFRleGVsVG9MaW5lYXIoIGxpZ2h0TWFwVGV4ZWwgKS5yZ2IgKiBsaWdodE1hcEludGVuc2l0eTtcbiNlbmRpZiIsbGlnaHRtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9MSUdIVE1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBsaWdodE1hcDtcblx0dW5pZm9ybSBmbG9hdCBsaWdodE1hcEludGVuc2l0eTtcbiNlbmRpZiIsbGlnaHRzX2xhbWJlcnRfdmVydGV4OiJ2ZWMzIGRpZmZ1c2UgPSB2ZWMzKCAxLjAgKTtcbkdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnk7XG5nZW9tZXRyeS5wb3NpdGlvbiA9IG12UG9zaXRpb24ueHl6O1xuZ2VvbWV0cnkubm9ybWFsID0gbm9ybWFsaXplKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xuZ2VvbWV0cnkudmlld0RpciA9ICggaXNPcnRob2dyYXBoaWMgKSA/IHZlYzMoIDAsIDAsIDEgKSA6IG5vcm1hbGl6ZSggLW12UG9zaXRpb24ueHl6ICk7XG5HZW9tZXRyaWNDb250ZXh0IGJhY2tHZW9tZXRyeTtcbmJhY2tHZW9tZXRyeS5wb3NpdGlvbiA9IGdlb21ldHJ5LnBvc2l0aW9uO1xuYmFja0dlb21ldHJ5Lm5vcm1hbCA9IC1nZW9tZXRyeS5ub3JtYWw7XG5iYWNrR2VvbWV0cnkudmlld0RpciA9IGdlb21ldHJ5LnZpZXdEaXI7XG52TGlnaHRGcm9udCA9IHZlYzMoIDAuMCApO1xudkluZGlyZWN0RnJvbnQgPSB2ZWMzKCAwLjAgKTtcbiNpZmRlZiBET1VCTEVfU0lERURcblx0dkxpZ2h0QmFjayA9IHZlYzMoIDAuMCApO1xuXHR2SW5kaXJlY3RCYWNrID0gdmVjMyggMC4wICk7XG4jZW5kaWZcbkluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQ7XG5mbG9hdCBkb3ROTDtcbnZlYzMgZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xudkluZGlyZWN0RnJvbnQgKz0gZ2V0QW1iaWVudExpZ2h0SXJyYWRpYW5jZSggYW1iaWVudExpZ2h0Q29sb3IgKTtcbnZJbmRpcmVjdEZyb250ICs9IGdldExpZ2h0UHJvYmVJcnJhZGlhbmNlKCBsaWdodFByb2JlLCBnZW9tZXRyeSApO1xuI2lmZGVmIERPVUJMRV9TSURFRFxuXHR2SW5kaXJlY3RCYWNrICs9IGdldEFtYmllbnRMaWdodElycmFkaWFuY2UoIGFtYmllbnRMaWdodENvbG9yICk7XG5cdHZJbmRpcmVjdEJhY2sgKz0gZ2V0TGlnaHRQcm9iZUlycmFkaWFuY2UoIGxpZ2h0UHJvYmUsIGJhY2tHZW9tZXRyeSApO1xuI2VuZGlmXG4jaWYgTlVNX1BPSU5UX0xJR0hUUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fUE9JTlRfTElHSFRTOyBpICsrICkge1xuXHRcdGdldFBvaW50RGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBwb2ludExpZ2h0c1sgaSBdLCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcblx0XHRkb3ROTCA9IGRvdCggZ2VvbWV0cnkubm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKTtcblx0XHRkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2UgPSBQSSAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHRcdHZMaWdodEZyb250ICs9IHNhdHVyYXRlKCBkb3ROTCApICogZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHZMaWdodEJhY2sgKz0gc2F0dXJhdGUoIC1kb3ROTCApICogZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xuXHRcdCNlbmRpZlxuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG4jZW5kaWZcbiNpZiBOVU1fU1BPVF9MSUdIVFMgPiAwXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgTlVNX1NQT1RfTElHSFRTOyBpICsrICkge1xuXHRcdGdldFNwb3REaXJlY3RMaWdodElycmFkaWFuY2UoIHNwb3RMaWdodHNbIGkgXSwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XG5cdFx0ZG90TkwgPSBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICk7XG5cdFx0ZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlID0gUEkgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0XHR2TGlnaHRGcm9udCArPSBzYXR1cmF0ZSggZG90TkwgKSAqIGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZTtcblx0XHQjaWZkZWYgRE9VQkxFX1NJREVEXG5cdFx0XHR2TGlnaHRCYWNrICs9IHNhdHVyYXRlKCAtZG90TkwgKSAqIGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZTtcblx0XHQjZW5kaWZcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuI2VuZGlmXG4jaWYgTlVNX0RJUl9MSUdIVFMgPiAwXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgTlVNX0RJUl9MSUdIVFM7IGkgKysgKSB7XG5cdFx0Z2V0RGlyZWN0aW9uYWxEaXJlY3RMaWdodElycmFkaWFuY2UoIGRpcmVjdGlvbmFsTGlnaHRzWyBpIF0sIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdGRvdE5MID0gZG90KCBnZW9tZXRyeS5ub3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApO1xuXHRcdGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZSA9IFBJICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdFx0dkxpZ2h0RnJvbnQgKz0gc2F0dXJhdGUoIGRvdE5MICkgKiBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG5cdFx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdFx0dkxpZ2h0QmFjayArPSBzYXR1cmF0ZSggLWRvdE5MICkgKiBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG5cdFx0I2VuZGlmXG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcbiNlbmRpZlxuI2lmIE5VTV9IRU1JX0xJR0hUUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fSEVNSV9MSUdIVFM7IGkgKysgKSB7XG5cdFx0dkluZGlyZWN0RnJvbnQgKz0gZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBnZW9tZXRyeSApO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHZJbmRpcmVjdEJhY2sgKz0gZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBiYWNrR2VvbWV0cnkgKTtcblx0XHQjZW5kaWZcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuI2VuZGlmIixsaWdodHNfcGFyc19iZWdpbjoidW5pZm9ybSBib29sIHJlY2VpdmVTaGFkb3c7XG51bmlmb3JtIHZlYzMgYW1iaWVudExpZ2h0Q29sb3I7XG51bmlmb3JtIHZlYzMgbGlnaHRQcm9iZVsgOSBdO1xudmVjMyBzaEdldElycmFkaWFuY2VBdCggaW4gdmVjMyBub3JtYWwsIGluIHZlYzMgc2hDb2VmZmljaWVudHNbIDkgXSApIHtcblx0ZmxvYXQgeCA9IG5vcm1hbC54LCB5ID0gbm9ybWFsLnksIHogPSBub3JtYWwuejtcblx0dmVjMyByZXN1bHQgPSBzaENvZWZmaWNpZW50c1sgMCBdICogMC44ODYyMjc7XG5cdHJlc3VsdCArPSBzaENvZWZmaWNpZW50c1sgMSBdICogMi4wICogMC41MTE2NjQgKiB5O1xuXHRyZXN1bHQgKz0gc2hDb2VmZmljaWVudHNbIDIgXSAqIDIuMCAqIDAuNTExNjY0ICogejtcblx0cmVzdWx0ICs9IHNoQ29lZmZpY2llbnRzWyAzIF0gKiAyLjAgKiAwLjUxMTY2NCAqIHg7XG5cdHJlc3VsdCArPSBzaENvZWZmaWNpZW50c1sgNCBdICogMi4wICogMC40MjkwNDMgKiB4ICogeTtcblx0cmVzdWx0ICs9IHNoQ29lZmZpY2llbnRzWyA1IF0gKiAyLjAgKiAwLjQyOTA0MyAqIHkgKiB6O1xuXHRyZXN1bHQgKz0gc2hDb2VmZmljaWVudHNbIDYgXSAqICggMC43NDMxMjUgKiB6ICogeiAtIDAuMjQ3NzA4ICk7XG5cdHJlc3VsdCArPSBzaENvZWZmaWNpZW50c1sgNyBdICogMi4wICogMC40MjkwNDMgKiB4ICogejtcblx0cmVzdWx0ICs9IHNoQ29lZmZpY2llbnRzWyA4IF0gKiAwLjQyOTA0MyAqICggeCAqIHggLSB5ICogeSApO1xuXHRyZXR1cm4gcmVzdWx0O1xufVxudmVjMyBnZXRMaWdodFByb2JlSXJyYWRpYW5jZSggY29uc3QgaW4gdmVjMyBsaWdodFByb2JlWyA5IF0sIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnkgKSB7XG5cdHZlYzMgd29ybGROb3JtYWwgPSBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBnZW9tZXRyeS5ub3JtYWwsIHZpZXdNYXRyaXggKTtcblx0dmVjMyBpcnJhZGlhbmNlID0gc2hHZXRJcnJhZGlhbmNlQXQoIHdvcmxkTm9ybWFsLCBsaWdodFByb2JlICk7XG5cdHJldHVybiBpcnJhZGlhbmNlO1xufVxudmVjMyBnZXRBbWJpZW50TGlnaHRJcnJhZGlhbmNlKCBjb25zdCBpbiB2ZWMzIGFtYmllbnRMaWdodENvbG9yICkge1xuXHR2ZWMzIGlycmFkaWFuY2UgPSBhbWJpZW50TGlnaHRDb2xvcjtcblx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0aXJyYWRpYW5jZSAqPSBQSTtcblx0I2VuZGlmXG5cdHJldHVybiBpcnJhZGlhbmNlO1xufVxuI2lmIE5VTV9ESVJfTElHSFRTID4gMFxuXHRzdHJ1Y3QgRGlyZWN0aW9uYWxMaWdodCB7XG5cdFx0dmVjMyBkaXJlY3Rpb247XG5cdFx0dmVjMyBjb2xvcjtcblx0fTtcblx0dW5pZm9ybSBEaXJlY3Rpb25hbExpZ2h0IGRpcmVjdGlvbmFsTGlnaHRzWyBOVU1fRElSX0xJR0hUUyBdO1xuXHR2b2lkIGdldERpcmVjdGlvbmFsRGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBjb25zdCBpbiBEaXJlY3Rpb25hbExpZ2h0IGRpcmVjdGlvbmFsTGlnaHQsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIG91dCBJbmNpZGVudExpZ2h0IGRpcmVjdExpZ2h0ICkge1xuXHRcdGRpcmVjdExpZ2h0LmNvbG9yID0gZGlyZWN0aW9uYWxMaWdodC5jb2xvcjtcblx0XHRkaXJlY3RMaWdodC5kaXJlY3Rpb24gPSBkaXJlY3Rpb25hbExpZ2h0LmRpcmVjdGlvbjtcblx0XHRkaXJlY3RMaWdodC52aXNpYmxlID0gdHJ1ZTtcblx0fVxuI2VuZGlmXG4jaWYgTlVNX1BPSU5UX0xJR0hUUyA+IDBcblx0c3RydWN0IFBvaW50TGlnaHQge1xuXHRcdHZlYzMgcG9zaXRpb247XG5cdFx0dmVjMyBjb2xvcjtcblx0XHRmbG9hdCBkaXN0YW5jZTtcblx0XHRmbG9hdCBkZWNheTtcblx0fTtcblx0dW5pZm9ybSBQb2ludExpZ2h0IHBvaW50TGlnaHRzWyBOVU1fUE9JTlRfTElHSFRTIF07XG5cdHZvaWQgZ2V0UG9pbnREaXJlY3RMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIFBvaW50TGlnaHQgcG9pbnRMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgb3V0IEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQgKSB7XG5cdFx0dmVjMyBsVmVjdG9yID0gcG9pbnRMaWdodC5wb3NpdGlvbiAtIGdlb21ldHJ5LnBvc2l0aW9uO1xuXHRcdGRpcmVjdExpZ2h0LmRpcmVjdGlvbiA9IG5vcm1hbGl6ZSggbFZlY3RvciApO1xuXHRcdGZsb2F0IGxpZ2h0RGlzdGFuY2UgPSBsZW5ndGgoIGxWZWN0b3IgKTtcblx0XHRkaXJlY3RMaWdodC5jb2xvciA9IHBvaW50TGlnaHQuY29sb3I7XG5cdFx0ZGlyZWN0TGlnaHQuY29sb3IgKj0gcHVuY3R1YWxMaWdodEludGVuc2l0eVRvSXJyYWRpYW5jZUZhY3RvciggbGlnaHREaXN0YW5jZSwgcG9pbnRMaWdodC5kaXN0YW5jZSwgcG9pbnRMaWdodC5kZWNheSApO1xuXHRcdGRpcmVjdExpZ2h0LnZpc2libGUgPSAoIGRpcmVjdExpZ2h0LmNvbG9yICE9IHZlYzMoIDAuMCApICk7XG5cdH1cbiNlbmRpZlxuI2lmIE5VTV9TUE9UX0xJR0hUUyA+IDBcblx0c3RydWN0IFNwb3RMaWdodCB7XG5cdFx0dmVjMyBwb3NpdGlvbjtcblx0XHR2ZWMzIGRpcmVjdGlvbjtcblx0XHR2ZWMzIGNvbG9yO1xuXHRcdGZsb2F0IGRpc3RhbmNlO1xuXHRcdGZsb2F0IGRlY2F5O1xuXHRcdGZsb2F0IGNvbmVDb3M7XG5cdFx0ZmxvYXQgcGVudW1icmFDb3M7XG5cdH07XG5cdHVuaWZvcm0gU3BvdExpZ2h0IHNwb3RMaWdodHNbIE5VTV9TUE9UX0xJR0hUUyBdO1xuXHR2b2lkIGdldFNwb3REaXJlY3RMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIFNwb3RMaWdodCBzcG90TGlnaHQsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIG91dCBJbmNpZGVudExpZ2h0IGRpcmVjdExpZ2h0ICkge1xuXHRcdHZlYzMgbFZlY3RvciA9IHNwb3RMaWdodC5wb3NpdGlvbiAtIGdlb21ldHJ5LnBvc2l0aW9uO1xuXHRcdGRpcmVjdExpZ2h0LmRpcmVjdGlvbiA9IG5vcm1hbGl6ZSggbFZlY3RvciApO1xuXHRcdGZsb2F0IGxpZ2h0RGlzdGFuY2UgPSBsZW5ndGgoIGxWZWN0b3IgKTtcblx0XHRmbG9hdCBhbmdsZUNvcyA9IGRvdCggZGlyZWN0TGlnaHQuZGlyZWN0aW9uLCBzcG90TGlnaHQuZGlyZWN0aW9uICk7XG5cdFx0aWYgKCBhbmdsZUNvcyA+IHNwb3RMaWdodC5jb25lQ29zICkge1xuXHRcdFx0ZmxvYXQgc3BvdEVmZmVjdCA9IHNtb290aHN0ZXAoIHNwb3RMaWdodC5jb25lQ29zLCBzcG90TGlnaHQucGVudW1icmFDb3MsIGFuZ2xlQ29zICk7XG5cdFx0XHRkaXJlY3RMaWdodC5jb2xvciA9IHNwb3RMaWdodC5jb2xvcjtcblx0XHRcdGRpcmVjdExpZ2h0LmNvbG9yICo9IHNwb3RFZmZlY3QgKiBwdW5jdHVhbExpZ2h0SW50ZW5zaXR5VG9JcnJhZGlhbmNlRmFjdG9yKCBsaWdodERpc3RhbmNlLCBzcG90TGlnaHQuZGlzdGFuY2UsIHNwb3RMaWdodC5kZWNheSApO1xuXHRcdFx0ZGlyZWN0TGlnaHQudmlzaWJsZSA9IHRydWU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGRpcmVjdExpZ2h0LmNvbG9yID0gdmVjMyggMC4wICk7XG5cdFx0XHRkaXJlY3RMaWdodC52aXNpYmxlID0gZmFsc2U7XG5cdFx0fVxuXHR9XG4jZW5kaWZcbiNpZiBOVU1fUkVDVF9BUkVBX0xJR0hUUyA+IDBcblx0c3RydWN0IFJlY3RBcmVhTGlnaHQge1xuXHRcdHZlYzMgY29sb3I7XG5cdFx0dmVjMyBwb3NpdGlvbjtcblx0XHR2ZWMzIGhhbGZXaWR0aDtcblx0XHR2ZWMzIGhhbGZIZWlnaHQ7XG5cdH07XG5cdHVuaWZvcm0gc2FtcGxlcjJEIGx0Y18xO1x0dW5pZm9ybSBzYW1wbGVyMkQgbHRjXzI7XG5cdHVuaWZvcm0gUmVjdEFyZWFMaWdodCByZWN0QXJlYUxpZ2h0c1sgTlVNX1JFQ1RfQVJFQV9MSUdIVFMgXTtcbiNlbmRpZlxuI2lmIE5VTV9IRU1JX0xJR0hUUyA+IDBcblx0c3RydWN0IEhlbWlzcGhlcmVMaWdodCB7XG5cdFx0dmVjMyBkaXJlY3Rpb247XG5cdFx0dmVjMyBza3lDb2xvcjtcblx0XHR2ZWMzIGdyb3VuZENvbG9yO1xuXHR9O1xuXHR1bmlmb3JtIEhlbWlzcGhlcmVMaWdodCBoZW1pc3BoZXJlTGlnaHRzWyBOVU1fSEVNSV9MSUdIVFMgXTtcblx0dmVjMyBnZXRIZW1pc3BoZXJlTGlnaHRJcnJhZGlhbmNlKCBjb25zdCBpbiBIZW1pc3BoZXJlTGlnaHQgaGVtaUxpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5ICkge1xuXHRcdGZsb2F0IGRvdE5MID0gZG90KCBnZW9tZXRyeS5ub3JtYWwsIGhlbWlMaWdodC5kaXJlY3Rpb24gKTtcblx0XHRmbG9hdCBoZW1pRGlmZnVzZVdlaWdodCA9IDAuNSAqIGRvdE5MICsgMC41O1xuXHRcdHZlYzMgaXJyYWRpYW5jZSA9IG1peCggaGVtaUxpZ2h0Lmdyb3VuZENvbG9yLCBoZW1pTGlnaHQuc2t5Q29sb3IsIGhlbWlEaWZmdXNlV2VpZ2h0ICk7XG5cdFx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0XHRpcnJhZGlhbmNlICo9IFBJO1xuXHRcdCNlbmRpZlxuXHRcdHJldHVybiBpcnJhZGlhbmNlO1xuXHR9XG4jZW5kaWYiLGxpZ2h0c190b29uX2ZyYWdtZW50OiJUb29uTWF0ZXJpYWwgbWF0ZXJpYWw7XG5tYXRlcmlhbC5kaWZmdXNlQ29sb3IgPSBkaWZmdXNlQ29sb3IucmdiOyIsbGlnaHRzX3Rvb25fcGFyc19mcmFnbWVudDoidmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuI2VuZGlmXG5zdHJ1Y3QgVG9vbk1hdGVyaWFsIHtcblx0dmVjMyBkaWZmdXNlQ29sb3I7XG59O1xudm9pZCBSRV9EaXJlY3RfVG9vbiggY29uc3QgaW4gSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gVG9vbk1hdGVyaWFsIG1hdGVyaWFsLCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCApIHtcblx0dmVjMyBpcnJhZGlhbmNlID0gZ2V0R3JhZGllbnRJcnJhZGlhbmNlKCBnZW9tZXRyeS5ub3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdCNpZm5kZWYgUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUU1xuXHRcdGlycmFkaWFuY2UgKj0gUEk7XG5cdCNlbmRpZlxuXHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICs9IGlycmFkaWFuY2UgKiBCUkRGX0RpZmZ1c2VfTGFtYmVydCggbWF0ZXJpYWwuZGlmZnVzZUNvbG9yICk7XG59XG52b2lkIFJFX0luZGlyZWN0RGlmZnVzZV9Ub29uKCBjb25zdCBpbiB2ZWMzIGlycmFkaWFuY2UsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIFRvb25NYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xufVxuI2RlZmluZSBSRV9EaXJlY3RcdFx0XHRcdFJFX0RpcmVjdF9Ub29uXG4jZGVmaW5lIFJFX0luZGlyZWN0RGlmZnVzZVx0XHRSRV9JbmRpcmVjdERpZmZ1c2VfVG9vblxuI2RlZmluZSBNYXRlcmlhbF9MaWdodFByb2JlTE9EKCBtYXRlcmlhbCApXHQoMCkiLGxpZ2h0c19waG9uZ19mcmFnbWVudDoiQmxpbm5QaG9uZ01hdGVyaWFsIG1hdGVyaWFsO1xubWF0ZXJpYWwuZGlmZnVzZUNvbG9yID0gZGlmZnVzZUNvbG9yLnJnYjtcbm1hdGVyaWFsLnNwZWN1bGFyQ29sb3IgPSBzcGVjdWxhcjtcbm1hdGVyaWFsLnNwZWN1bGFyU2hpbmluZXNzID0gc2hpbmluZXNzO1xubWF0ZXJpYWwuc3BlY3VsYXJTdHJlbmd0aCA9IHNwZWN1bGFyU3RyZW5ndGg7IixsaWdodHNfcGhvbmdfcGFyc19mcmFnbWVudDoidmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuI2VuZGlmXG5zdHJ1Y3QgQmxpbm5QaG9uZ01hdGVyaWFsIHtcblx0dmVjMyBkaWZmdXNlQ29sb3I7XG5cdHZlYzMgc3BlY3VsYXJDb2xvcjtcblx0ZmxvYXQgc3BlY3VsYXJTaGluaW5lc3M7XG5cdGZsb2F0IHNwZWN1bGFyU3RyZW5ndGg7XG59O1xudm9pZCBSRV9EaXJlY3RfQmxpbm5QaG9uZyggY29uc3QgaW4gSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gQmxpbm5QaG9uZ01hdGVyaWFsIG1hdGVyaWFsLCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCApIHtcblx0ZmxvYXQgZG90TkwgPSBzYXR1cmF0ZSggZG90KCBnZW9tZXRyeS5ub3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApICk7XG5cdHZlYzMgaXJyYWRpYW5jZSA9IGRvdE5MICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdCNpZm5kZWYgUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUU1xuXHRcdGlycmFkaWFuY2UgKj0gUEk7XG5cdCNlbmRpZlxuXHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICs9IGlycmFkaWFuY2UgKiBCUkRGX0RpZmZ1c2VfTGFtYmVydCggbWF0ZXJpYWwuZGlmZnVzZUNvbG9yICk7XG5cdHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyICs9IGlycmFkaWFuY2UgKiBCUkRGX1NwZWN1bGFyX0JsaW5uUGhvbmcoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwuc3BlY3VsYXJDb2xvciwgbWF0ZXJpYWwuc3BlY3VsYXJTaGluaW5lc3MgKSAqIG1hdGVyaWFsLnNwZWN1bGFyU3RyZW5ndGg7XG59XG52b2lkIFJFX0luZGlyZWN0RGlmZnVzZV9CbGlublBob25nKCBjb25zdCBpbiB2ZWMzIGlycmFkaWFuY2UsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIEJsaW5uUGhvbmdNYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xufVxuI2RlZmluZSBSRV9EaXJlY3RcdFx0XHRcdFJFX0RpcmVjdF9CbGlublBob25nXG4jZGVmaW5lIFJFX0luZGlyZWN0RGlmZnVzZVx0XHRSRV9JbmRpcmVjdERpZmZ1c2VfQmxpbm5QaG9uZ1xuI2RlZmluZSBNYXRlcmlhbF9MaWdodFByb2JlTE9EKCBtYXRlcmlhbCApXHQoMCkiLGxpZ2h0c19waHlzaWNhbF9mcmFnbWVudDoiUGh5c2ljYWxNYXRlcmlhbCBtYXRlcmlhbDtcbm1hdGVyaWFsLmRpZmZ1c2VDb2xvciA9IGRpZmZ1c2VDb2xvci5yZ2IgKiAoIDEuMCAtIG1ldGFsbmVzc0ZhY3RvciApO1xudmVjMyBkeHkgPSBtYXgoIGFicyggZEZkeCggZ2VvbWV0cnlOb3JtYWwgKSApLCBhYnMoIGRGZHkoIGdlb21ldHJ5Tm9ybWFsICkgKSApO1xuZmxvYXQgZ2VvbWV0cnlSb3VnaG5lc3MgPSBtYXgoIG1heCggZHh5LngsIGR4eS55ICksIGR4eS56ICk7XG5tYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyA9IG1heCggcm91Z2huZXNzRmFjdG9yLCAwLjA1MjUgKTttYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyArPSBnZW9tZXRyeVJvdWdobmVzcztcbm1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzID0gbWluKCBtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcywgMS4wICk7XG4jaWZkZWYgUkVGTEVDVElWSVRZXG5cdCNpZmRlZiBTUEVDVUxBUlxuXHRcdHZlYzMgc3BlY3VsYXJJbnRlbnNpdHlGYWN0b3IgPSB2ZWMzKCBzcGVjdWxhckludGVuc2l0eSApO1xuXHRcdHZlYzMgc3BlY3VsYXJUaW50RmFjdG9yID0gc3BlY3VsYXJUaW50O1xuXHRcdCNpZmRlZiBVU0VfU1BFQ1VMQVJJTlRFTlNJVFlNQVBcblx0XHRcdHNwZWN1bGFySW50ZW5zaXR5RmFjdG9yICo9IHRleHR1cmUyRCggc3BlY3VsYXJJbnRlbnNpdHlNYXAsIHZVdiApLmE7XG5cdFx0I2VuZGlmXG5cdFx0I2lmZGVmIFVTRV9TUEVDVUxBUlRJTlRNQVBcblx0XHRcdHNwZWN1bGFyVGludEZhY3RvciAqPSBzcGVjdWxhclRpbnRNYXBUZXhlbFRvTGluZWFyKCB0ZXh0dXJlMkQoIHNwZWN1bGFyVGludE1hcCwgdlV2ICkgKS5yZ2I7XG5cdFx0I2VuZGlmXG5cdFx0bWF0ZXJpYWwuc3BlY3VsYXJDb2xvckY5MCA9IG1peCggc3BlY3VsYXJJbnRlbnNpdHlGYWN0b3IsIHZlYzMoIDEuMCApLCBtZXRhbG5lc3NGYWN0b3IgKTtcblx0I2Vsc2Vcblx0XHR2ZWMzIHNwZWN1bGFySW50ZW5zaXR5RmFjdG9yID0gdmVjMyggMS4wICk7XG5cdFx0dmVjMyBzcGVjdWxhclRpbnRGYWN0b3IgPSB2ZWMzKCAxLjAgKTtcblx0XHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yRjkwID0gdmVjMyggMS4wICk7XG5cdCNlbmRpZlxuXHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yID0gbWl4KCBtaW4oIHZlYzMoIE1BWElNVU1fU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKiBwb3cyKCByZWZsZWN0aXZpdHkgKSApICogc3BlY3VsYXJUaW50RmFjdG9yLCB2ZWMzKCAxLjAgKSApICogc3BlY3VsYXJJbnRlbnNpdHlGYWN0b3IsIGRpZmZ1c2VDb2xvci5yZ2IsIG1ldGFsbmVzc0ZhY3RvciApO1xuI2Vsc2Vcblx0bWF0ZXJpYWwuc3BlY3VsYXJDb2xvciA9IG1peCggdmVjMyggREVGQVVMVF9TUEVDVUxBUl9DT0VGRklDSUVOVCApLCBkaWZmdXNlQ29sb3IucmdiLCBtZXRhbG5lc3NGYWN0b3IgKTtcblx0bWF0ZXJpYWwuc3BlY3VsYXJDb2xvckY5MCA9IHZlYzMoIDEuMCApO1xuI2VuZGlmXG4jaWZkZWYgQ0xFQVJDT0FUXG5cdG1hdGVyaWFsLmNsZWFyY29hdCA9IGNsZWFyY29hdDtcblx0bWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzID0gY2xlYXJjb2F0Um91Z2huZXNzO1xuXHQjaWZkZWYgVVNFX0NMRUFSQ09BVE1BUFxuXHRcdG1hdGVyaWFsLmNsZWFyY29hdCAqPSB0ZXh0dXJlMkQoIGNsZWFyY29hdE1hcCwgdlV2ICkueDtcblx0I2VuZGlmXG5cdCNpZmRlZiBVU0VfQ0xFQVJDT0FUX1JPVUdITkVTU01BUFxuXHRcdG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcyAqPSB0ZXh0dXJlMkQoIGNsZWFyY29hdFJvdWdobmVzc01hcCwgdlV2ICkueTtcblx0I2VuZGlmXG5cdG1hdGVyaWFsLmNsZWFyY29hdCA9IHNhdHVyYXRlKCBtYXRlcmlhbC5jbGVhcmNvYXQgKTtcdG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcyA9IG1heCggbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzLCAwLjA1MjUgKTtcblx0bWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzICs9IGdlb21ldHJ5Um91Z2huZXNzO1xuXHRtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MgPSBtaW4oIG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcywgMS4wICk7XG4jZW5kaWZcbiNpZmRlZiBVU0VfU0hFRU5cblx0bWF0ZXJpYWwuc2hlZW5Db2xvciA9IHNoZWVuO1xuI2VuZGlmIixsaWdodHNfcGh5c2ljYWxfcGFyc19mcmFnbWVudDoic3RydWN0IFBoeXNpY2FsTWF0ZXJpYWwge1xuXHR2ZWMzIGRpZmZ1c2VDb2xvcjtcblx0ZmxvYXQgc3BlY3VsYXJSb3VnaG5lc3M7XG5cdHZlYzMgc3BlY3VsYXJDb2xvcjtcblx0dmVjMyBzcGVjdWxhckNvbG9yRjkwO1xuI2lmZGVmIENMRUFSQ09BVFxuXHRmbG9hdCBjbGVhcmNvYXQ7XG5cdGZsb2F0IGNsZWFyY29hdFJvdWdobmVzcztcbiNlbmRpZlxuI2lmZGVmIFVTRV9TSEVFTlxuXHR2ZWMzIHNoZWVuQ29sb3I7XG4jZW5kaWZcbn07XG4jZGVmaW5lIE1BWElNVU1fU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgMC4xNlxuI2RlZmluZSBERUZBVUxUX1NQRUNVTEFSX0NPRUZGSUNJRU5UIDAuMDRcbmZsb2F0IGNsZWFyY29hdERIUkFwcHJveCggY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzLCBjb25zdCBpbiBmbG9hdCBkb3ROTCApIHtcblx0cmV0dXJuIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKyAoIDEuMCAtIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKSAqICggcG93KCAxLjAgLSBkb3ROTCwgNS4wICkgKiBwb3coIDEuMCAtIHJvdWdobmVzcywgMi4wICkgKTtcbn1cbiNpZiBOVU1fUkVDVF9BUkVBX0xJR0hUUyA+IDBcblx0dm9pZCBSRV9EaXJlY3RfUmVjdEFyZWFfUGh5c2ljYWwoIGNvbnN0IGluIFJlY3RBcmVhTGlnaHQgcmVjdEFyZWFMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gUGh5c2ljYWxNYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdFx0dmVjMyBub3JtYWwgPSBnZW9tZXRyeS5ub3JtYWw7XG5cdFx0dmVjMyB2aWV3RGlyID0gZ2VvbWV0cnkudmlld0Rpcjtcblx0XHR2ZWMzIHBvc2l0aW9uID0gZ2VvbWV0cnkucG9zaXRpb247XG5cdFx0dmVjMyBsaWdodFBvcyA9IHJlY3RBcmVhTGlnaHQucG9zaXRpb247XG5cdFx0dmVjMyBoYWxmV2lkdGggPSByZWN0QXJlYUxpZ2h0LmhhbGZXaWR0aDtcblx0XHR2ZWMzIGhhbGZIZWlnaHQgPSByZWN0QXJlYUxpZ2h0LmhhbGZIZWlnaHQ7XG5cdFx0dmVjMyBsaWdodENvbG9yID0gcmVjdEFyZWFMaWdodC5jb2xvcjtcblx0XHRmbG9hdCByb3VnaG5lc3MgPSBtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcztcblx0XHR2ZWMzIHJlY3RDb29yZHNbIDQgXTtcblx0XHRyZWN0Q29vcmRzWyAwIF0gPSBsaWdodFBvcyArIGhhbGZXaWR0aCAtIGhhbGZIZWlnaHQ7XHRcdHJlY3RDb29yZHNbIDEgXSA9IGxpZ2h0UG9zIC0gaGFsZldpZHRoIC0gaGFsZkhlaWdodDtcblx0XHRyZWN0Q29vcmRzWyAyIF0gPSBsaWdodFBvcyAtIGhhbGZXaWR0aCArIGhhbGZIZWlnaHQ7XG5cdFx0cmVjdENvb3Jkc1sgMyBdID0gbGlnaHRQb3MgKyBoYWxmV2lkdGggKyBoYWxmSGVpZ2h0O1xuXHRcdHZlYzIgdXYgPSBMVENfVXYoIG5vcm1hbCwgdmlld0Rpciwgcm91Z2huZXNzICk7XG5cdFx0dmVjNCB0MSA9IHRleHR1cmUyRCggbHRjXzEsIHV2ICk7XG5cdFx0dmVjNCB0MiA9IHRleHR1cmUyRCggbHRjXzIsIHV2ICk7XG5cdFx0bWF0MyBtSW52ID0gbWF0Myhcblx0XHRcdHZlYzMoIHQxLngsIDAsIHQxLnkgKSxcblx0XHRcdHZlYzMoICAgIDAsIDEsICAgIDAgKSxcblx0XHRcdHZlYzMoIHQxLnosIDAsIHQxLncgKVxuXHRcdCk7XG5cdFx0dmVjMyBmcmVzbmVsID0gKCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yICogdDIueCArICggdmVjMyggMS4wICkgLSBtYXRlcmlhbC5zcGVjdWxhckNvbG9yICkgKiB0Mi55ICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKz0gbGlnaHRDb2xvciAqIGZyZXNuZWwgKiBMVENfRXZhbHVhdGUoIG5vcm1hbCwgdmlld0RpciwgcG9zaXRpb24sIG1JbnYsIHJlY3RDb29yZHMgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICs9IGxpZ2h0Q29sb3IgKiBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKiBMVENfRXZhbHVhdGUoIG5vcm1hbCwgdmlld0RpciwgcG9zaXRpb24sIG1hdDMoIDEuMCApLCByZWN0Q29vcmRzICk7XG5cdH1cbiNlbmRpZlxudm9pZCBSRV9EaXJlY3RfUGh5c2ljYWwoIGNvbnN0IGluIEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIFBoeXNpY2FsTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHRmbG9hdCBkb3ROTCA9IHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICkgKTtcblx0dmVjMyBpcnJhZGlhbmNlID0gZG90TkwgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0aXJyYWRpYW5jZSAqPSBQSTtcblx0I2VuZGlmXG5cdCNpZmRlZiBDTEVBUkNPQVRcblx0XHRmbG9hdCBjY0RvdE5MID0gc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkuY2xlYXJjb2F0Tm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKSApO1xuXHRcdHZlYzMgY2NJcnJhZGlhbmNlID0gY2NEb3ROTCAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHRcdCNpZm5kZWYgUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUU1xuXHRcdFx0Y2NJcnJhZGlhbmNlICo9IFBJO1xuXHRcdCNlbmRpZlxuXHRcdGZsb2F0IGNsZWFyY29hdERIUiA9IG1hdGVyaWFsLmNsZWFyY29hdCAqIGNsZWFyY29hdERIUkFwcHJveCggbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzLCBjY0RvdE5MICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKz0gY2NJcnJhZGlhbmNlICogbWF0ZXJpYWwuY2xlYXJjb2F0ICogQlJERl9TcGVjdWxhcl9HR1goIGRpcmVjdExpZ2h0LCBnZW9tZXRyeS52aWV3RGlyLCBnZW9tZXRyeS5jbGVhcmNvYXROb3JtYWwsIHZlYzMoIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKSwgdmVjMyggMS4wICksIG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcyApO1xuXHQjZWxzZVxuXHRcdGZsb2F0IGNsZWFyY29hdERIUiA9IDAuMDtcblx0I2VuZGlmXG5cdCNpZmRlZiBVU0VfU0hFRU5cblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArPSAoIDEuMCAtIGNsZWFyY29hdERIUiApICogaXJyYWRpYW5jZSAqIEJSREZfU3BlY3VsYXJfU2hlZW4oXG5cdFx0XHRtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyxcblx0XHRcdGRpcmVjdExpZ2h0LmRpcmVjdGlvbixcblx0XHRcdGdlb21ldHJ5LFxuXHRcdFx0bWF0ZXJpYWwuc2hlZW5Db2xvclxuXHRcdCk7XG5cdCNlbHNlXG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKz0gKCAxLjAgLSBjbGVhcmNvYXRESFIgKSAqIGlycmFkaWFuY2UgKiBCUkRGX1NwZWN1bGFyX0dHWCggZGlyZWN0TGlnaHQsIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5Lm5vcm1hbCwgbWF0ZXJpYWwuc3BlY3VsYXJDb2xvciwgbWF0ZXJpYWwuc3BlY3VsYXJDb2xvckY5MCwgbWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MpO1xuXHQjZW5kaWZcblx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArPSAoIDEuMCAtIGNsZWFyY29hdERIUiApICogaXJyYWRpYW5jZSAqIEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKTtcbn1cbnZvaWQgUkVfSW5kaXJlY3REaWZmdXNlX1BoeXNpY2FsKCBjb25zdCBpbiB2ZWMzIGlycmFkaWFuY2UsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIFBoeXNpY2FsTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKz0gaXJyYWRpYW5jZSAqIEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKTtcbn1cbnZvaWQgUkVfSW5kaXJlY3RTcGVjdWxhcl9QaHlzaWNhbCggY29uc3QgaW4gdmVjMyByYWRpYW5jZSwgY29uc3QgaW4gdmVjMyBpcnJhZGlhbmNlLCBjb25zdCBpbiB2ZWMzIGNsZWFyY29hdFJhZGlhbmNlLCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiBQaHlzaWNhbE1hdGVyaWFsIG1hdGVyaWFsLCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCkge1xuXHQjaWZkZWYgQ0xFQVJDT0FUXG5cdFx0ZmxvYXQgY2NEb3ROViA9IHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCwgZ2VvbWV0cnkudmlld0RpciApICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3RTcGVjdWxhciArPSBjbGVhcmNvYXRSYWRpYW5jZSAqIG1hdGVyaWFsLmNsZWFyY29hdCAqIEJSREZfU3BlY3VsYXJfR0dYX0Vudmlyb25tZW50KCBnZW9tZXRyeS52aWV3RGlyLCBnZW9tZXRyeS5jbGVhcmNvYXROb3JtYWwsIHZlYzMoIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKSwgbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzICk7XG5cdFx0ZmxvYXQgY2NEb3ROTCA9IGNjRG90TlY7XG5cdFx0ZmxvYXQgY2xlYXJjb2F0REhSID0gbWF0ZXJpYWwuY2xlYXJjb2F0ICogY2xlYXJjb2F0REhSQXBwcm94KCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MsIGNjRG90TkwgKTtcblx0I2Vsc2Vcblx0XHRmbG9hdCBjbGVhcmNvYXRESFIgPSAwLjA7XG5cdCNlbmRpZlxuXHRmbG9hdCBjbGVhcmNvYXRJbnYgPSAxLjAgLSBjbGVhcmNvYXRESFI7XG5cdHZlYzMgc2luZ2xlU2NhdHRlcmluZyA9IHZlYzMoIDAuMCApO1xuXHR2ZWMzIG11bHRpU2NhdHRlcmluZyA9IHZlYzMoIDAuMCApO1xuXHR2ZWMzIGNvc2luZVdlaWdodGVkSXJyYWRpYW5jZSA9IGlycmFkaWFuY2UgKiBSRUNJUFJPQ0FMX1BJO1xuXHRCUkRGX1NwZWN1bGFyX011bHRpc2NhdHRlcmluZ19FbnZpcm9ubWVudCggZ2VvbWV0cnksIG1hdGVyaWFsLnNwZWN1bGFyQ29sb3IsIG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzLCBzaW5nbGVTY2F0dGVyaW5nLCBtdWx0aVNjYXR0ZXJpbmcgKTtcblx0dmVjMyBkaWZmdXNlID0gbWF0ZXJpYWwuZGlmZnVzZUNvbG9yICogKCAxLjAgLSAoIHNpbmdsZVNjYXR0ZXJpbmcgKyBtdWx0aVNjYXR0ZXJpbmcgKSApO1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICs9IGNsZWFyY29hdEludiAqIHJhZGlhbmNlICogc2luZ2xlU2NhdHRlcmluZztcblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3RTcGVjdWxhciArPSBtdWx0aVNjYXR0ZXJpbmcgKiBjb3NpbmVXZWlnaHRlZElycmFkaWFuY2U7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSBkaWZmdXNlICogY29zaW5lV2VpZ2h0ZWRJcnJhZGlhbmNlO1xufVxuI2RlZmluZSBSRV9EaXJlY3RcdFx0XHRcdFJFX0RpcmVjdF9QaHlzaWNhbFxuI2RlZmluZSBSRV9EaXJlY3RfUmVjdEFyZWFcdFx0UkVfRGlyZWN0X1JlY3RBcmVhX1BoeXNpY2FsXG4jZGVmaW5lIFJFX0luZGlyZWN0RGlmZnVzZVx0XHRSRV9JbmRpcmVjdERpZmZ1c2VfUGh5c2ljYWxcbiNkZWZpbmUgUkVfSW5kaXJlY3RTcGVjdWxhclx0XHRSRV9JbmRpcmVjdFNwZWN1bGFyX1BoeXNpY2FsXG5mbG9hdCBjb21wdXRlU3BlY3VsYXJPY2NsdXNpb24oIGNvbnN0IGluIGZsb2F0IGRvdE5WLCBjb25zdCBpbiBmbG9hdCBhbWJpZW50T2NjbHVzaW9uLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdHJldHVybiBzYXR1cmF0ZSggcG93KCBkb3ROViArIGFtYmllbnRPY2NsdXNpb24sIGV4cDIoIC0gMTYuMCAqIHJvdWdobmVzcyAtIDEuMCApICkgLSAxLjAgKyBhbWJpZW50T2NjbHVzaW9uICk7XG59IixsaWdodHNfZnJhZ21lbnRfYmVnaW46IlxuR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeTtcbmdlb21ldHJ5LnBvc2l0aW9uID0gLSB2Vmlld1Bvc2l0aW9uO1xuZ2VvbWV0cnkubm9ybWFsID0gbm9ybWFsO1xuZ2VvbWV0cnkudmlld0RpciA9ICggaXNPcnRob2dyYXBoaWMgKSA/IHZlYzMoIDAsIDAsIDEgKSA6IG5vcm1hbGl6ZSggdlZpZXdQb3NpdGlvbiApO1xuI2lmZGVmIENMRUFSQ09BVFxuXHRnZW9tZXRyeS5jbGVhcmNvYXROb3JtYWwgPSBjbGVhcmNvYXROb3JtYWw7XG4jZW5kaWZcbkluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQ7XG4jaWYgKCBOVU1fUE9JTlRfTElHSFRTID4gMCApICYmIGRlZmluZWQoIFJFX0RpcmVjdCApXG5cdFBvaW50TGlnaHQgcG9pbnRMaWdodDtcblx0I2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyA+IDBcblx0UG9pbnRMaWdodFNoYWRvdyBwb2ludExpZ2h0U2hhZG93O1xuXHQjZW5kaWZcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fUE9JTlRfTElHSFRTOyBpICsrICkge1xuXHRcdHBvaW50TGlnaHQgPSBwb2ludExpZ2h0c1sgaSBdO1xuXHRcdGdldFBvaW50RGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBwb2ludExpZ2h0LCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcblx0XHQjaWYgZGVmaW5lZCggVVNFX1NIQURPV01BUCApICYmICggVU5ST0xMRURfTE9PUF9JTkRFWCA8IE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIClcblx0XHRwb2ludExpZ2h0U2hhZG93ID0gcG9pbnRMaWdodFNoYWRvd3NbIGkgXTtcblx0XHRkaXJlY3RMaWdodC5jb2xvciAqPSBhbGwoIGJ2ZWMyKCBkaXJlY3RMaWdodC52aXNpYmxlLCByZWNlaXZlU2hhZG93ICkgKSA/IGdldFBvaW50U2hhZG93KCBwb2ludFNoYWRvd01hcFsgaSBdLCBwb2ludExpZ2h0U2hhZG93LnNoYWRvd01hcFNpemUsIHBvaW50TGlnaHRTaGFkb3cuc2hhZG93QmlhcywgcG9pbnRMaWdodFNoYWRvdy5zaGFkb3dSYWRpdXMsIHZQb2ludFNoYWRvd0Nvb3JkWyBpIF0sIHBvaW50TGlnaHRTaGFkb3cuc2hhZG93Q2FtZXJhTmVhciwgcG9pbnRMaWdodFNoYWRvdy5zaGFkb3dDYW1lcmFGYXIgKSA6IDEuMDtcblx0XHQjZW5kaWZcblx0XHRSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcbiNlbmRpZlxuI2lmICggTlVNX1NQT1RfTElHSFRTID4gMCApICYmIGRlZmluZWQoIFJFX0RpcmVjdCApXG5cdFNwb3RMaWdodCBzcG90TGlnaHQ7XG5cdCNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgJiYgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyA+IDBcblx0U3BvdExpZ2h0U2hhZG93IHNwb3RMaWdodFNoYWRvdztcblx0I2VuZGlmXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgTlVNX1NQT1RfTElHSFRTOyBpICsrICkge1xuXHRcdHNwb3RMaWdodCA9IHNwb3RMaWdodHNbIGkgXTtcblx0XHRnZXRTcG90RGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBzcG90TGlnaHQsIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdCNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgJiYgKCBVTlJPTExFRF9MT09QX0lOREVYIDwgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyApXG5cdFx0c3BvdExpZ2h0U2hhZG93ID0gc3BvdExpZ2h0U2hhZG93c1sgaSBdO1xuXHRcdGRpcmVjdExpZ2h0LmNvbG9yICo9IGFsbCggYnZlYzIoIGRpcmVjdExpZ2h0LnZpc2libGUsIHJlY2VpdmVTaGFkb3cgKSApID8gZ2V0U2hhZG93KCBzcG90U2hhZG93TWFwWyBpIF0sIHNwb3RMaWdodFNoYWRvdy5zaGFkb3dNYXBTaXplLCBzcG90TGlnaHRTaGFkb3cuc2hhZG93Qmlhcywgc3BvdExpZ2h0U2hhZG93LnNoYWRvd1JhZGl1cywgdlNwb3RTaGFkb3dDb29yZFsgaSBdICkgOiAxLjA7XG5cdFx0I2VuZGlmXG5cdFx0UkVfRGlyZWN0KCBkaXJlY3RMaWdodCwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG4jZW5kaWZcbiNpZiAoIE5VTV9ESVJfTElHSFRTID4gMCApICYmIGRlZmluZWQoIFJFX0RpcmVjdCApXG5cdERpcmVjdGlvbmFsTGlnaHQgZGlyZWN0aW9uYWxMaWdodDtcblx0I2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiBOVU1fRElSX0xJR0hUX1NIQURPV1MgPiAwXG5cdERpcmVjdGlvbmFsTGlnaHRTaGFkb3cgZGlyZWN0aW9uYWxMaWdodFNoYWRvdztcblx0I2VuZGlmXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgTlVNX0RJUl9MSUdIVFM7IGkgKysgKSB7XG5cdFx0ZGlyZWN0aW9uYWxMaWdodCA9IGRpcmVjdGlvbmFsTGlnaHRzWyBpIF07XG5cdFx0Z2V0RGlyZWN0aW9uYWxEaXJlY3RMaWdodElycmFkaWFuY2UoIGRpcmVjdGlvbmFsTGlnaHQsIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdCNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgJiYgKCBVTlJPTExFRF9MT09QX0lOREVYIDwgTlVNX0RJUl9MSUdIVF9TSEFET1dTIClcblx0XHRkaXJlY3Rpb25hbExpZ2h0U2hhZG93ID0gZGlyZWN0aW9uYWxMaWdodFNoYWRvd3NbIGkgXTtcblx0XHRkaXJlY3RMaWdodC5jb2xvciAqPSBhbGwoIGJ2ZWMyKCBkaXJlY3RMaWdodC52aXNpYmxlLCByZWNlaXZlU2hhZG93ICkgKSA/IGdldFNoYWRvdyggZGlyZWN0aW9uYWxTaGFkb3dNYXBbIGkgXSwgZGlyZWN0aW9uYWxMaWdodFNoYWRvdy5zaGFkb3dNYXBTaXplLCBkaXJlY3Rpb25hbExpZ2h0U2hhZG93LnNoYWRvd0JpYXMsIGRpcmVjdGlvbmFsTGlnaHRTaGFkb3cuc2hhZG93UmFkaXVzLCB2RGlyZWN0aW9uYWxTaGFkb3dDb29yZFsgaSBdICkgOiAxLjA7XG5cdFx0I2VuZGlmXG5cdFx0UkVfRGlyZWN0KCBkaXJlY3RMaWdodCwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG4jZW5kaWZcbiNpZiAoIE5VTV9SRUNUX0FSRUFfTElHSFRTID4gMCApICYmIGRlZmluZWQoIFJFX0RpcmVjdF9SZWN0QXJlYSApXG5cdFJlY3RBcmVhTGlnaHQgcmVjdEFyZWFMaWdodDtcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fUkVDVF9BUkVBX0xJR0hUUzsgaSArKyApIHtcblx0XHRyZWN0QXJlYUxpZ2h0ID0gcmVjdEFyZWFMaWdodHNbIGkgXTtcblx0XHRSRV9EaXJlY3RfUmVjdEFyZWEoIHJlY3RBcmVhTGlnaHQsIGdlb21ldHJ5LCBtYXRlcmlhbCwgcmVmbGVjdGVkTGlnaHQgKTtcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuI2VuZGlmXG4jaWYgZGVmaW5lZCggUkVfSW5kaXJlY3REaWZmdXNlIClcblx0dmVjMyBpYmxJcnJhZGlhbmNlID0gdmVjMyggMC4wICk7XG5cdHZlYzMgaXJyYWRpYW5jZSA9IGdldEFtYmllbnRMaWdodElycmFkaWFuY2UoIGFtYmllbnRMaWdodENvbG9yICk7XG5cdGlycmFkaWFuY2UgKz0gZ2V0TGlnaHRQcm9iZUlycmFkaWFuY2UoIGxpZ2h0UHJvYmUsIGdlb21ldHJ5ICk7XG5cdCNpZiAoIE5VTV9IRU1JX0xJR0hUUyA+IDAgKVxuXHRcdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0XHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fSEVNSV9MSUdIVFM7IGkgKysgKSB7XG5cdFx0XHRpcnJhZGlhbmNlICs9IGdldEhlbWlzcGhlcmVMaWdodElycmFkaWFuY2UoIGhlbWlzcGhlcmVMaWdodHNbIGkgXSwgZ2VvbWV0cnkgKTtcblx0XHR9XG5cdFx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcblx0I2VuZGlmXG4jZW5kaWZcbiNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdFNwZWN1bGFyIClcblx0dmVjMyByYWRpYW5jZSA9IHZlYzMoIDAuMCApO1xuXHR2ZWMzIGNsZWFyY29hdFJhZGlhbmNlID0gdmVjMyggMC4wICk7XG4jZW5kaWYiLGxpZ2h0c19mcmFnbWVudF9tYXBzOiIjaWYgZGVmaW5lZCggUkVfSW5kaXJlY3REaWZmdXNlIClcblx0I2lmZGVmIFVTRV9MSUdIVE1BUFxuXHRcdHZlYzQgbGlnaHRNYXBUZXhlbD0gdGV4dHVyZTJEKCBsaWdodE1hcCwgdlV2MiApO1xuXHRcdHZlYzMgbGlnaHRNYXBJcnJhZGlhbmNlID0gbGlnaHRNYXBUZXhlbFRvTGluZWFyKCBsaWdodE1hcFRleGVsICkucmdiICogbGlnaHRNYXBJbnRlbnNpdHk7XG5cdFx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0XHRsaWdodE1hcElycmFkaWFuY2UgKj0gUEk7XG5cdFx0I2VuZGlmXG5cdFx0aXJyYWRpYW5jZSArPSBsaWdodE1hcElycmFkaWFuY2U7XG5cdCNlbmRpZlxuXHQjaWYgZGVmaW5lZCggVVNFX0VOVk1BUCApICYmIGRlZmluZWQoIFNUQU5EQVJEICkgJiYgZGVmaW5lZCggRU5WTUFQX1RZUEVfQ1VCRV9VViApXG5cdFx0aWJsSXJyYWRpYW5jZSArPSBnZXRMaWdodFByb2JlSW5kaXJlY3RJcnJhZGlhbmNlKCBnZW9tZXRyeSwgbWF4TWlwTGV2ZWwgKTtcblx0I2VuZGlmXG4jZW5kaWZcbiNpZiBkZWZpbmVkKCBVU0VfRU5WTUFQICkgJiYgZGVmaW5lZCggUkVfSW5kaXJlY3RTcGVjdWxhciApXG5cdHJhZGlhbmNlICs9IGdldExpZ2h0UHJvYmVJbmRpcmVjdFJhZGlhbmNlKCBnZW9tZXRyeS52aWV3RGlyLCBnZW9tZXRyeS5ub3JtYWwsIG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzLCBtYXhNaXBMZXZlbCApO1xuXHQjaWZkZWYgQ0xFQVJDT0FUXG5cdFx0Y2xlYXJjb2F0UmFkaWFuY2UgKz0gZ2V0TGlnaHRQcm9iZUluZGlyZWN0UmFkaWFuY2UoIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCwgbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzLCBtYXhNaXBMZXZlbCApO1xuXHQjZW5kaWZcbiNlbmRpZiIsbGlnaHRzX2ZyYWdtZW50X2VuZDoiI2lmIGRlZmluZWQoIFJFX0luZGlyZWN0RGlmZnVzZSApXG5cdFJFX0luZGlyZWN0RGlmZnVzZSggaXJyYWRpYW5jZSwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuI2VuZGlmXG4jaWYgZGVmaW5lZCggUkVfSW5kaXJlY3RTcGVjdWxhciApXG5cdFJFX0luZGlyZWN0U3BlY3VsYXIoIHJhZGlhbmNlLCBpYmxJcnJhZGlhbmNlLCBjbGVhcmNvYXRSYWRpYW5jZSwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuI2VuZGlmIixsb2dkZXB0aGJ1Zl9mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9MT0dERVBUSEJVRiApICYmIGRlZmluZWQoIFVTRV9MT0dERVBUSEJVRl9FWFQgKVxuXHRnbF9GcmFnRGVwdGhFWFQgPSB2SXNQZXJzcGVjdGl2ZSA9PSAwLjAgPyBnbF9GcmFnQ29vcmQueiA6IGxvZzIoIHZGcmFnRGVwdGggKSAqIGxvZ0RlcHRoQnVmRkMgKiAwLjU7XG4jZW5kaWYiLGxvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBVU0VfTE9HREVQVEhCVUYgKSAmJiBkZWZpbmVkKCBVU0VfTE9HREVQVEhCVUZfRVhUIClcblx0dW5pZm9ybSBmbG9hdCBsb2dEZXB0aEJ1ZkZDO1xuXHR2YXJ5aW5nIGZsb2F0IHZGcmFnRGVwdGg7XG5cdHZhcnlpbmcgZmxvYXQgdklzUGVyc3BlY3RpdmU7XG4jZW5kaWYiLGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4OiIjaWZkZWYgVVNFX0xPR0RFUFRIQlVGXG5cdCNpZmRlZiBVU0VfTE9HREVQVEhCVUZfRVhUXG5cdFx0dmFyeWluZyBmbG9hdCB2RnJhZ0RlcHRoO1xuXHRcdHZhcnlpbmcgZmxvYXQgdklzUGVyc3BlY3RpdmU7XG5cdCNlbHNlXG5cdFx0dW5pZm9ybSBmbG9hdCBsb2dEZXB0aEJ1ZkZDO1xuXHQjZW5kaWZcbiNlbmRpZiIsbG9nZGVwdGhidWZfdmVydGV4OiIjaWZkZWYgVVNFX0xPR0RFUFRIQlVGXG5cdCNpZmRlZiBVU0VfTE9HREVQVEhCVUZfRVhUXG5cdFx0dkZyYWdEZXB0aCA9IDEuMCArIGdsX1Bvc2l0aW9uLnc7XG5cdFx0dklzUGVyc3BlY3RpdmUgPSBmbG9hdCggaXNQZXJzcGVjdGl2ZU1hdHJpeCggcHJvamVjdGlvbk1hdHJpeCApICk7XG5cdCNlbHNlXG5cdFx0aWYgKCBpc1BlcnNwZWN0aXZlTWF0cml4KCBwcm9qZWN0aW9uTWF0cml4ICkgKSB7XG5cdFx0XHRnbF9Qb3NpdGlvbi56ID0gbG9nMiggbWF4KCBFUFNJTE9OLCBnbF9Qb3NpdGlvbi53ICsgMS4wICkgKSAqIGxvZ0RlcHRoQnVmRkMgLSAxLjA7XG5cdFx0XHRnbF9Qb3NpdGlvbi56ICo9IGdsX1Bvc2l0aW9uLnc7XG5cdFx0fVxuXHQjZW5kaWZcbiNlbmRpZiIsbWFwX2ZyYWdtZW50OiIjaWZkZWYgVVNFX01BUFxuXHR2ZWM0IHRleGVsQ29sb3IgPSB0ZXh0dXJlMkQoIG1hcCwgdlV2ICk7XG5cdHRleGVsQ29sb3IgPSBtYXBUZXhlbFRvTGluZWFyKCB0ZXhlbENvbG9yICk7XG5cdGRpZmZ1c2VDb2xvciAqPSB0ZXhlbENvbG9yO1xuI2VuZGlmIixtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9NQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgbWFwO1xuI2VuZGlmIixtYXBfcGFydGljbGVfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBVU0VfTUFQICkgfHwgZGVmaW5lZCggVVNFX0FMUEhBTUFQIClcblx0dmVjMiB1diA9ICggdXZUcmFuc2Zvcm0gKiB2ZWMzKCBnbF9Qb2ludENvb3JkLngsIDEuMCAtIGdsX1BvaW50Q29vcmQueSwgMSApICkueHk7XG4jZW5kaWZcbiNpZmRlZiBVU0VfTUFQXG5cdHZlYzQgbWFwVGV4ZWwgPSB0ZXh0dXJlMkQoIG1hcCwgdXYgKTtcblx0ZGlmZnVzZUNvbG9yICo9IG1hcFRleGVsVG9MaW5lYXIoIG1hcFRleGVsICk7XG4jZW5kaWZcbiNpZmRlZiBVU0VfQUxQSEFNQVBcblx0ZGlmZnVzZUNvbG9yLmEgKj0gdGV4dHVyZTJEKCBhbHBoYU1hcCwgdXYgKS5nO1xuI2VuZGlmIixtYXBfcGFydGljbGVfcGFyc19mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9NQVAgKSB8fCBkZWZpbmVkKCBVU0VfQUxQSEFNQVAgKVxuXHR1bmlmb3JtIG1hdDMgdXZUcmFuc2Zvcm07XG4jZW5kaWZcbiNpZmRlZiBVU0VfTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIG1hcDtcbiNlbmRpZlxuI2lmZGVmIFVTRV9BTFBIQU1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBhbHBoYU1hcDtcbiNlbmRpZiIsbWV0YWxuZXNzbWFwX2ZyYWdtZW50OiJmbG9hdCBtZXRhbG5lc3NGYWN0b3IgPSBtZXRhbG5lc3M7XG4jaWZkZWYgVVNFX01FVEFMTkVTU01BUFxuXHR2ZWM0IHRleGVsTWV0YWxuZXNzID0gdGV4dHVyZTJEKCBtZXRhbG5lc3NNYXAsIHZVdiApO1xuXHRtZXRhbG5lc3NGYWN0b3IgKj0gdGV4ZWxNZXRhbG5lc3MuYjtcbiNlbmRpZiIsbWV0YWxuZXNzbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfTUVUQUxORVNTTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIG1ldGFsbmVzc01hcDtcbiNlbmRpZiIsbW9ycGhub3JtYWxfdmVydGV4OiIjaWZkZWYgVVNFX01PUlBITk9STUFMU1xuXHRvYmplY3ROb3JtYWwgKj0gbW9ycGhUYXJnZXRCYXNlSW5mbHVlbmNlO1xuXHRvYmplY3ROb3JtYWwgKz0gbW9ycGhOb3JtYWwwICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAwIF07XG5cdG9iamVjdE5vcm1hbCArPSBtb3JwaE5vcm1hbDEgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDEgXTtcblx0b2JqZWN0Tm9ybWFsICs9IG1vcnBoTm9ybWFsMiAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgMiBdO1xuXHRvYmplY3ROb3JtYWwgKz0gbW9ycGhOb3JtYWwzICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAzIF07XG4jZW5kaWYiLG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4OiIjaWZkZWYgVVNFX01PUlBIVEFSR0VUU1xuXHR1bmlmb3JtIGZsb2F0IG1vcnBoVGFyZ2V0QmFzZUluZmx1ZW5jZTtcblx0I2lmbmRlZiBVU0VfTU9SUEhOT1JNQUxTXG5cdFx0dW5pZm9ybSBmbG9hdCBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDggXTtcblx0I2Vsc2Vcblx0XHR1bmlmb3JtIGZsb2F0IG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNCBdO1xuXHQjZW5kaWZcbiNlbmRpZiIsbW9ycGh0YXJnZXRfdmVydGV4OiIjaWZkZWYgVVNFX01PUlBIVEFSR0VUU1xuXHR0cmFuc2Zvcm1lZCAqPSBtb3JwaFRhcmdldEJhc2VJbmZsdWVuY2U7XG5cdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0MCAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgMCBdO1xuXHR0cmFuc2Zvcm1lZCArPSBtb3JwaFRhcmdldDEgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDEgXTtcblx0dHJhbnNmb3JtZWQgKz0gbW9ycGhUYXJnZXQyICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAyIF07XG5cdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0MyAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgMyBdO1xuXHQjaWZuZGVmIFVTRV9NT1JQSE5PUk1BTFNcblx0XHR0cmFuc2Zvcm1lZCArPSBtb3JwaFRhcmdldDQgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDQgXTtcblx0XHR0cmFuc2Zvcm1lZCArPSBtb3JwaFRhcmdldDUgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDUgXTtcblx0XHR0cmFuc2Zvcm1lZCArPSBtb3JwaFRhcmdldDYgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDYgXTtcblx0XHR0cmFuc2Zvcm1lZCArPSBtb3JwaFRhcmdldDcgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDcgXTtcblx0I2VuZGlmXG4jZW5kaWYiLG5vcm1hbF9mcmFnbWVudF9iZWdpbjoiZmxvYXQgZmFjZURpcmVjdGlvbiA9IGdsX0Zyb250RmFjaW5nID8gMS4wIDogLSAxLjA7XG4jaWZkZWYgRkxBVF9TSEFERURcblx0dmVjMyBmZHggPSB2ZWMzKCBkRmR4KCB2Vmlld1Bvc2l0aW9uLnggKSwgZEZkeCggdlZpZXdQb3NpdGlvbi55ICksIGRGZHgoIHZWaWV3UG9zaXRpb24ueiApICk7XG5cdHZlYzMgZmR5ID0gdmVjMyggZEZkeSggdlZpZXdQb3NpdGlvbi54ICksIGRGZHkoIHZWaWV3UG9zaXRpb24ueSApLCBkRmR5KCB2Vmlld1Bvc2l0aW9uLnogKSApO1xuXHR2ZWMzIG5vcm1hbCA9IG5vcm1hbGl6ZSggY3Jvc3MoIGZkeCwgZmR5ICkgKTtcbiNlbHNlXG5cdHZlYzMgbm9ybWFsID0gbm9ybWFsaXplKCB2Tm9ybWFsICk7XG5cdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRub3JtYWwgPSBub3JtYWwgKiBmYWNlRGlyZWN0aW9uO1xuXHQjZW5kaWZcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmVjMyB0YW5nZW50ID0gbm9ybWFsaXplKCB2VGFuZ2VudCApO1xuXHRcdHZlYzMgYml0YW5nZW50ID0gbm9ybWFsaXplKCB2Qml0YW5nZW50ICk7XG5cdFx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdFx0dGFuZ2VudCA9IHRhbmdlbnQgKiBmYWNlRGlyZWN0aW9uO1xuXHRcdFx0Yml0YW5nZW50ID0gYml0YW5nZW50ICogZmFjZURpcmVjdGlvbjtcblx0XHQjZW5kaWZcblx0XHQjaWYgZGVmaW5lZCggVEFOR0VOVFNQQUNFX05PUk1BTE1BUCApIHx8IGRlZmluZWQoIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQIClcblx0XHRcdG1hdDMgdlRCTiA9IG1hdDMoIHRhbmdlbnQsIGJpdGFuZ2VudCwgbm9ybWFsICk7XG5cdFx0I2VuZGlmXG5cdCNlbmRpZlxuI2VuZGlmXG52ZWMzIGdlb21ldHJ5Tm9ybWFsID0gbm9ybWFsOyIsbm9ybWFsX2ZyYWdtZW50X21hcHM6IiNpZmRlZiBPQkpFQ1RTUEFDRV9OT1JNQUxNQVBcblx0bm9ybWFsID0gdGV4dHVyZTJEKCBub3JtYWxNYXAsIHZVdiApLnh5eiAqIDIuMCAtIDEuMDtcblx0I2lmZGVmIEZMSVBfU0lERURcblx0XHRub3JtYWwgPSAtIG5vcm1hbDtcblx0I2VuZGlmXG5cdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRub3JtYWwgPSBub3JtYWwgKiBmYWNlRGlyZWN0aW9uO1xuXHQjZW5kaWZcblx0bm9ybWFsID0gbm9ybWFsaXplKCBub3JtYWxNYXRyaXggKiBub3JtYWwgKTtcbiNlbGlmIGRlZmluZWQoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKVxuXHR2ZWMzIG1hcE4gPSB0ZXh0dXJlMkQoIG5vcm1hbE1hcCwgdlV2ICkueHl6ICogMi4wIC0gMS4wO1xuXHRtYXBOLnh5ICo9IG5vcm1hbFNjYWxlO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHRub3JtYWwgPSBub3JtYWxpemUoIHZUQk4gKiBtYXBOICk7XG5cdCNlbHNlXG5cdFx0bm9ybWFsID0gcGVydHVyYk5vcm1hbDJBcmIoIC12Vmlld1Bvc2l0aW9uLCBub3JtYWwsIG1hcE4sIGZhY2VEaXJlY3Rpb24gKTtcblx0I2VuZGlmXG4jZWxpZiBkZWZpbmVkKCBVU0VfQlVNUE1BUCApXG5cdG5vcm1hbCA9IHBlcnR1cmJOb3JtYWxBcmIoIC12Vmlld1Bvc2l0aW9uLCBub3JtYWwsIGRIZHh5X2Z3ZCgpLCBmYWNlRGlyZWN0aW9uICk7XG4jZW5kaWYiLG5vcm1hbG1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX05PUk1BTE1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBub3JtYWxNYXA7XG5cdHVuaWZvcm0gdmVjMiBub3JtYWxTY2FsZTtcbiNlbmRpZlxuI2lmZGVmIE9CSkVDVFNQQUNFX05PUk1BTE1BUFxuXHR1bmlmb3JtIG1hdDMgbm9ybWFsTWF0cml4O1xuI2VuZGlmXG4jaWYgISBkZWZpbmVkICggVVNFX1RBTkdFTlQgKSAmJiAoIGRlZmluZWQgKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQICkgfHwgZGVmaW5lZCAoIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQICkgKVxuXHR2ZWMzIHBlcnR1cmJOb3JtYWwyQXJiKCB2ZWMzIGV5ZV9wb3MsIHZlYzMgc3VyZl9ub3JtLCB2ZWMzIG1hcE4sIGZsb2F0IGZhY2VEaXJlY3Rpb24gKSB7XG5cdFx0dmVjMyBxMCA9IHZlYzMoIGRGZHgoIGV5ZV9wb3MueCApLCBkRmR4KCBleWVfcG9zLnkgKSwgZEZkeCggZXllX3Bvcy56ICkgKTtcblx0XHR2ZWMzIHExID0gdmVjMyggZEZkeSggZXllX3Bvcy54ICksIGRGZHkoIGV5ZV9wb3MueSApLCBkRmR5KCBleWVfcG9zLnogKSApO1xuXHRcdHZlYzIgc3QwID0gZEZkeCggdlV2LnN0ICk7XG5cdFx0dmVjMiBzdDEgPSBkRmR5KCB2VXYuc3QgKTtcblx0XHR2ZWMzIE4gPSBzdXJmX25vcm07XG5cdFx0dmVjMyBxMXBlcnAgPSBjcm9zcyggcTEsIE4gKTtcblx0XHR2ZWMzIHEwcGVycCA9IGNyb3NzKCBOLCBxMCApO1xuXHRcdHZlYzMgVCA9IHExcGVycCAqIHN0MC54ICsgcTBwZXJwICogc3QxLng7XG5cdFx0dmVjMyBCID0gcTFwZXJwICogc3QwLnkgKyBxMHBlcnAgKiBzdDEueTtcblx0XHRmbG9hdCBkZXQgPSBtYXgoIGRvdCggVCwgVCApLCBkb3QoIEIsIEIgKSApO1xuXHRcdGZsb2F0IHNjYWxlID0gKCBkZXQgPT0gMC4wICkgPyAwLjAgOiBmYWNlRGlyZWN0aW9uICogaW52ZXJzZXNxcnQoIGRldCApO1xuXHRcdHJldHVybiBub3JtYWxpemUoIFQgKiAoIG1hcE4ueCAqIHNjYWxlICkgKyBCICogKCBtYXBOLnkgKiBzY2FsZSApICsgTiAqIG1hcE4ueiApO1xuXHR9XG4jZW5kaWYiLGNsZWFyY29hdF9ub3JtYWxfZnJhZ21lbnRfYmVnaW46IiNpZmRlZiBDTEVBUkNPQVRcblx0dmVjMyBjbGVhcmNvYXROb3JtYWwgPSBnZW9tZXRyeU5vcm1hbDtcbiNlbmRpZiIsY2xlYXJjb2F0X25vcm1hbF9mcmFnbWVudF9tYXBzOiIjaWZkZWYgVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVBcblx0dmVjMyBjbGVhcmNvYXRNYXBOID0gdGV4dHVyZTJEKCBjbGVhcmNvYXROb3JtYWxNYXAsIHZVdiApLnh5eiAqIDIuMCAtIDEuMDtcblx0Y2xlYXJjb2F0TWFwTi54eSAqPSBjbGVhcmNvYXROb3JtYWxTY2FsZTtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0Y2xlYXJjb2F0Tm9ybWFsID0gbm9ybWFsaXplKCB2VEJOICogY2xlYXJjb2F0TWFwTiApO1xuXHQjZWxzZVxuXHRcdGNsZWFyY29hdE5vcm1hbCA9IHBlcnR1cmJOb3JtYWwyQXJiKCAtIHZWaWV3UG9zaXRpb24sIGNsZWFyY29hdE5vcm1hbCwgY2xlYXJjb2F0TWFwTiwgZmFjZURpcmVjdGlvbiApO1xuXHQjZW5kaWZcbiNlbmRpZiIsY2xlYXJjb2F0X3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfQ0xFQVJDT0FUTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGNsZWFyY29hdE1hcDtcbiNlbmRpZlxuI2lmZGVmIFVTRV9DTEVBUkNPQVRfUk9VR0hORVNTTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGNsZWFyY29hdFJvdWdobmVzc01hcDtcbiNlbmRpZlxuI2lmZGVmIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGNsZWFyY29hdE5vcm1hbE1hcDtcblx0dW5pZm9ybSB2ZWMyIGNsZWFyY29hdE5vcm1hbFNjYWxlO1xuI2VuZGlmIixwYWNraW5nOiJ2ZWMzIHBhY2tOb3JtYWxUb1JHQiggY29uc3QgaW4gdmVjMyBub3JtYWwgKSB7XG5cdHJldHVybiBub3JtYWxpemUoIG5vcm1hbCApICogMC41ICsgMC41O1xufVxudmVjMyB1bnBhY2tSR0JUb05vcm1hbCggY29uc3QgaW4gdmVjMyByZ2IgKSB7XG5cdHJldHVybiAyLjAgKiByZ2IueHl6IC0gMS4wO1xufVxuY29uc3QgZmxvYXQgUGFja1Vwc2NhbGUgPSAyNTYuIC8gMjU1Ljtjb25zdCBmbG9hdCBVbnBhY2tEb3duc2NhbGUgPSAyNTUuIC8gMjU2LjtcbmNvbnN0IHZlYzMgUGFja0ZhY3RvcnMgPSB2ZWMzKCAyNTYuICogMjU2LiAqIDI1Ni4sIDI1Ni4gKiAyNTYuLCAyNTYuICk7XG5jb25zdCB2ZWM0IFVucGFja0ZhY3RvcnMgPSBVbnBhY2tEb3duc2NhbGUgLyB2ZWM0KCBQYWNrRmFjdG9ycywgMS4gKTtcbmNvbnN0IGZsb2F0IFNoaWZ0UmlnaHQ4ID0gMS4gLyAyNTYuO1xudmVjNCBwYWNrRGVwdGhUb1JHQkEoIGNvbnN0IGluIGZsb2F0IHYgKSB7XG5cdHZlYzQgciA9IHZlYzQoIGZyYWN0KCB2ICogUGFja0ZhY3RvcnMgKSwgdiApO1xuXHRyLnl6dyAtPSByLnh5eiAqIFNoaWZ0UmlnaHQ4O1x0cmV0dXJuIHIgKiBQYWNrVXBzY2FsZTtcbn1cbmZsb2F0IHVucGFja1JHQkFUb0RlcHRoKCBjb25zdCBpbiB2ZWM0IHYgKSB7XG5cdHJldHVybiBkb3QoIHYsIFVucGFja0ZhY3RvcnMgKTtcbn1cbnZlYzQgcGFjazJIYWxmVG9SR0JBKCB2ZWMyIHYgKSB7XG5cdHZlYzQgciA9IHZlYzQoIHYueCwgZnJhY3QoIHYueCAqIDI1NS4wICksIHYueSwgZnJhY3QoIHYueSAqIDI1NS4wICkpO1xuXHRyZXR1cm4gdmVjNCggci54IC0gci55IC8gMjU1LjAsIHIueSwgci56IC0gci53IC8gMjU1LjAsIHIudyk7XG59XG52ZWMyIHVucGFja1JHQkFUbzJIYWxmKCB2ZWM0IHYgKSB7XG5cdHJldHVybiB2ZWMyKCB2LnggKyAoIHYueSAvIDI1NS4wICksIHYueiArICggdi53IC8gMjU1LjAgKSApO1xufVxuZmxvYXQgdmlld1pUb09ydGhvZ3JhcGhpY0RlcHRoKCBjb25zdCBpbiBmbG9hdCB2aWV3WiwgY29uc3QgaW4gZmxvYXQgbmVhciwgY29uc3QgaW4gZmxvYXQgZmFyICkge1xuXHRyZXR1cm4gKCB2aWV3WiArIG5lYXIgKSAvICggbmVhciAtIGZhciApO1xufVxuZmxvYXQgb3J0aG9ncmFwaGljRGVwdGhUb1ZpZXdaKCBjb25zdCBpbiBmbG9hdCBsaW5lYXJDbGlwWiwgY29uc3QgaW4gZmxvYXQgbmVhciwgY29uc3QgaW4gZmxvYXQgZmFyICkge1xuXHRyZXR1cm4gbGluZWFyQ2xpcFogKiAoIG5lYXIgLSBmYXIgKSAtIG5lYXI7XG59XG5mbG9hdCB2aWV3WlRvUGVyc3BlY3RpdmVEZXB0aCggY29uc3QgaW4gZmxvYXQgdmlld1osIGNvbnN0IGluIGZsb2F0IG5lYXIsIGNvbnN0IGluIGZsb2F0IGZhciApIHtcblx0cmV0dXJuICgoIG5lYXIgKyB2aWV3WiApICogZmFyICkgLyAoKCBmYXIgLSBuZWFyICkgKiB2aWV3WiApO1xufVxuZmxvYXQgcGVyc3BlY3RpdmVEZXB0aFRvVmlld1ooIGNvbnN0IGluIGZsb2F0IGludkNsaXBaLCBjb25zdCBpbiBmbG9hdCBuZWFyLCBjb25zdCBpbiBmbG9hdCBmYXIgKSB7XG5cdHJldHVybiAoIG5lYXIgKiBmYXIgKSAvICggKCBmYXIgLSBuZWFyICkgKiBpbnZDbGlwWiAtIGZhciApO1xufSIscHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudDoiI2lmZGVmIFBSRU1VTFRJUExJRURfQUxQSEFcblx0Z2xfRnJhZ0NvbG9yLnJnYiAqPSBnbF9GcmFnQ29sb3IuYTtcbiNlbmRpZiIscHJvamVjdF92ZXJ0ZXg6InZlYzQgbXZQb3NpdGlvbiA9IHZlYzQoIHRyYW5zZm9ybWVkLCAxLjAgKTtcbiNpZmRlZiBVU0VfSU5TVEFOQ0lOR1xuXHRtdlBvc2l0aW9uID0gaW5zdGFuY2VNYXRyaXggKiBtdlBvc2l0aW9uO1xuI2VuZGlmXG5tdlBvc2l0aW9uID0gbW9kZWxWaWV3TWF0cml4ICogbXZQb3NpdGlvbjtcbmdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbk1hdHJpeCAqIG12UG9zaXRpb247IixkaXRoZXJpbmdfZnJhZ21lbnQ6IiNpZmRlZiBESVRIRVJJTkdcblx0Z2xfRnJhZ0NvbG9yLnJnYiA9IGRpdGhlcmluZyggZ2xfRnJhZ0NvbG9yLnJnYiApO1xuI2VuZGlmIixkaXRoZXJpbmdfcGFyc19mcmFnbWVudDoiI2lmZGVmIERJVEhFUklOR1xuXHR2ZWMzIGRpdGhlcmluZyggdmVjMyBjb2xvciApIHtcblx0XHRmbG9hdCBncmlkX3Bvc2l0aW9uID0gcmFuZCggZ2xfRnJhZ0Nvb3JkLnh5ICk7XG5cdFx0dmVjMyBkaXRoZXJfc2hpZnRfUkdCID0gdmVjMyggMC4yNSAvIDI1NS4wLCAtMC4yNSAvIDI1NS4wLCAwLjI1IC8gMjU1LjAgKTtcblx0XHRkaXRoZXJfc2hpZnRfUkdCID0gbWl4KCAyLjAgKiBkaXRoZXJfc2hpZnRfUkdCLCAtMi4wICogZGl0aGVyX3NoaWZ0X1JHQiwgZ3JpZF9wb3NpdGlvbiApO1xuXHRcdHJldHVybiBjb2xvciArIGRpdGhlcl9zaGlmdF9SR0I7XG5cdH1cbiNlbmRpZiIscm91Z2huZXNzbWFwX2ZyYWdtZW50OiJmbG9hdCByb3VnaG5lc3NGYWN0b3IgPSByb3VnaG5lc3M7XG4jaWZkZWYgVVNFX1JPVUdITkVTU01BUFxuXHR2ZWM0IHRleGVsUm91Z2huZXNzID0gdGV4dHVyZTJEKCByb3VnaG5lc3NNYXAsIHZVdiApO1xuXHRyb3VnaG5lc3NGYWN0b3IgKj0gdGV4ZWxSb3VnaG5lc3MuZztcbiNlbmRpZiIscm91Z2huZXNzbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfUk9VR0hORVNTTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIHJvdWdobmVzc01hcDtcbiNlbmRpZiIsc2hhZG93bWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfU0hBRE9XTUFQXG5cdCNpZiBOVU1fRElSX0xJR0hUX1NIQURPV1MgPiAwXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgZGlyZWN0aW9uYWxTaGFkb3dNYXBbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHZhcnlpbmcgdmVjNCB2RGlyZWN0aW9uYWxTaGFkb3dDb29yZFsgTlVNX0RJUl9MSUdIVF9TSEFET1dTIF07XG5cdFx0c3RydWN0IERpcmVjdGlvbmFsTGlnaHRTaGFkb3cge1xuXHRcdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd05vcm1hbEJpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0XHR2ZWMyIHNoYWRvd01hcFNpemU7XG5cdFx0fTtcblx0XHR1bmlmb3JtIERpcmVjdGlvbmFsTGlnaHRTaGFkb3cgZGlyZWN0aW9uYWxMaWdodFNoYWRvd3NbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgPiAwXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgc3BvdFNoYWRvd01hcFsgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHZhcnlpbmcgdmVjNCB2U3BvdFNoYWRvd0Nvb3JkWyBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIF07XG5cdFx0c3RydWN0IFNwb3RMaWdodFNoYWRvdyB7XG5cdFx0XHRmbG9hdCBzaGFkb3dCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93Tm9ybWFsQmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd1JhZGl1cztcblx0XHRcdHZlYzIgc2hhZG93TWFwU2l6ZTtcblx0XHR9O1xuXHRcdHVuaWZvcm0gU3BvdExpZ2h0U2hhZG93IHNwb3RMaWdodFNoYWRvd3NbIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXTtcblx0I2VuZGlmXG5cdCNpZiBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyA+IDBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBwb2ludFNoYWRvd01hcFsgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdlBvaW50U2hhZG93Q29vcmRbIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIF07XG5cdFx0c3RydWN0IFBvaW50TGlnaHRTaGFkb3cge1xuXHRcdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd05vcm1hbEJpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0XHR2ZWMyIHNoYWRvd01hcFNpemU7XG5cdFx0XHRmbG9hdCBzaGFkb3dDYW1lcmFOZWFyO1xuXHRcdFx0ZmxvYXQgc2hhZG93Q2FtZXJhRmFyO1xuXHRcdH07XG5cdFx0dW5pZm9ybSBQb2ludExpZ2h0U2hhZG93IHBvaW50TGlnaHRTaGFkb3dzWyBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0ZmxvYXQgdGV4dHVyZTJEQ29tcGFyZSggc2FtcGxlcjJEIGRlcHRocywgdmVjMiB1diwgZmxvYXQgY29tcGFyZSApIHtcblx0XHRyZXR1cm4gc3RlcCggY29tcGFyZSwgdW5wYWNrUkdCQVRvRGVwdGgoIHRleHR1cmUyRCggZGVwdGhzLCB1diApICkgKTtcblx0fVxuXHR2ZWMyIHRleHR1cmUyRERpc3RyaWJ1dGlvbiggc2FtcGxlcjJEIHNoYWRvdywgdmVjMiB1diApIHtcblx0XHRyZXR1cm4gdW5wYWNrUkdCQVRvMkhhbGYoIHRleHR1cmUyRCggc2hhZG93LCB1diApICk7XG5cdH1cblx0ZmxvYXQgVlNNU2hhZG93IChzYW1wbGVyMkQgc2hhZG93LCB2ZWMyIHV2LCBmbG9hdCBjb21wYXJlICl7XG5cdFx0ZmxvYXQgb2NjbHVzaW9uID0gMS4wO1xuXHRcdHZlYzIgZGlzdHJpYnV0aW9uID0gdGV4dHVyZTJERGlzdHJpYnV0aW9uKCBzaGFkb3csIHV2ICk7XG5cdFx0ZmxvYXQgaGFyZF9zaGFkb3cgPSBzdGVwKCBjb21wYXJlICwgZGlzdHJpYnV0aW9uLnggKTtcblx0XHRpZiAoaGFyZF9zaGFkb3cgIT0gMS4wICkge1xuXHRcdFx0ZmxvYXQgZGlzdGFuY2UgPSBjb21wYXJlIC0gZGlzdHJpYnV0aW9uLnggO1xuXHRcdFx0ZmxvYXQgdmFyaWFuY2UgPSBtYXgoIDAuMDAwMDAsIGRpc3RyaWJ1dGlvbi55ICogZGlzdHJpYnV0aW9uLnkgKTtcblx0XHRcdGZsb2F0IHNvZnRuZXNzX3Byb2JhYmlsaXR5ID0gdmFyaWFuY2UgLyAodmFyaWFuY2UgKyBkaXN0YW5jZSAqIGRpc3RhbmNlICk7XHRcdFx0c29mdG5lc3NfcHJvYmFiaWxpdHkgPSBjbGFtcCggKCBzb2Z0bmVzc19wcm9iYWJpbGl0eSAtIDAuMyApIC8gKCAwLjk1IC0gMC4zICksIDAuMCwgMS4wICk7XHRcdFx0b2NjbHVzaW9uID0gY2xhbXAoIG1heCggaGFyZF9zaGFkb3csIHNvZnRuZXNzX3Byb2JhYmlsaXR5ICksIDAuMCwgMS4wICk7XG5cdFx0fVxuXHRcdHJldHVybiBvY2NsdXNpb247XG5cdH1cblx0ZmxvYXQgZ2V0U2hhZG93KCBzYW1wbGVyMkQgc2hhZG93TWFwLCB2ZWMyIHNoYWRvd01hcFNpemUsIGZsb2F0IHNoYWRvd0JpYXMsIGZsb2F0IHNoYWRvd1JhZGl1cywgdmVjNCBzaGFkb3dDb29yZCApIHtcblx0XHRmbG9hdCBzaGFkb3cgPSAxLjA7XG5cdFx0c2hhZG93Q29vcmQueHl6IC89IHNoYWRvd0Nvb3JkLnc7XG5cdFx0c2hhZG93Q29vcmQueiArPSBzaGFkb3dCaWFzO1xuXHRcdGJ2ZWM0IGluRnJ1c3R1bVZlYyA9IGJ2ZWM0ICggc2hhZG93Q29vcmQueCA+PSAwLjAsIHNoYWRvd0Nvb3JkLnggPD0gMS4wLCBzaGFkb3dDb29yZC55ID49IDAuMCwgc2hhZG93Q29vcmQueSA8PSAxLjAgKTtcblx0XHRib29sIGluRnJ1c3R1bSA9IGFsbCggaW5GcnVzdHVtVmVjICk7XG5cdFx0YnZlYzIgZnJ1c3R1bVRlc3RWZWMgPSBidmVjMiggaW5GcnVzdHVtLCBzaGFkb3dDb29yZC56IDw9IDEuMCApO1xuXHRcdGJvb2wgZnJ1c3R1bVRlc3QgPSBhbGwoIGZydXN0dW1UZXN0VmVjICk7XG5cdFx0aWYgKCBmcnVzdHVtVGVzdCApIHtcblx0XHQjaWYgZGVmaW5lZCggU0hBRE9XTUFQX1RZUEVfUENGIClcblx0XHRcdHZlYzIgdGV4ZWxTaXplID0gdmVjMiggMS4wICkgLyBzaGFkb3dNYXBTaXplO1xuXHRcdFx0ZmxvYXQgZHgwID0gLSB0ZXhlbFNpemUueCAqIHNoYWRvd1JhZGl1cztcblx0XHRcdGZsb2F0IGR5MCA9IC0gdGV4ZWxTaXplLnkgKiBzaGFkb3dSYWRpdXM7XG5cdFx0XHRmbG9hdCBkeDEgPSArIHRleGVsU2l6ZS54ICogc2hhZG93UmFkaXVzO1xuXHRcdFx0ZmxvYXQgZHkxID0gKyB0ZXhlbFNpemUueSAqIHNoYWRvd1JhZGl1cztcblx0XHRcdGZsb2F0IGR4MiA9IGR4MCAvIDIuMDtcblx0XHRcdGZsb2F0IGR5MiA9IGR5MCAvIDIuMDtcblx0XHRcdGZsb2F0IGR4MyA9IGR4MSAvIDIuMDtcblx0XHRcdGZsb2F0IGR5MyA9IGR5MSAvIDIuMDtcblx0XHRcdHNoYWRvdyA9IChcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MCwgZHkwICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCAwLjAsIGR5MCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgxLCBkeTAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MiwgZHkyICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCAwLjAsIGR5MiApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgzLCBkeTIgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MCwgMC4wICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDIsIDAuMCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5LCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgzLCAwLjAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MSwgMC4wICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDIsIGR5MyApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggMC4wLCBkeTMgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MywgZHkzICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDAsIGR5MSApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggMC4wLCBkeTEgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MSwgZHkxICksIHNoYWRvd0Nvb3JkLnogKVxuXHRcdFx0KSAqICggMS4wIC8gMTcuMCApO1xuXHRcdCNlbGlmIGRlZmluZWQoIFNIQURPV01BUF9UWVBFX1BDRl9TT0ZUIClcblx0XHRcdHZlYzIgdGV4ZWxTaXplID0gdmVjMiggMS4wICkgLyBzaGFkb3dNYXBTaXplO1xuXHRcdFx0ZmxvYXQgZHggPSB0ZXhlbFNpemUueDtcblx0XHRcdGZsb2F0IGR5ID0gdGV4ZWxTaXplLnk7XG5cdFx0XHR2ZWMyIHV2ID0gc2hhZG93Q29vcmQueHk7XG5cdFx0XHR2ZWMyIGYgPSBmcmFjdCggdXYgKiBzaGFkb3dNYXBTaXplICsgMC41ICk7XG5cdFx0XHR1diAtPSBmICogdGV4ZWxTaXplO1xuXHRcdFx0c2hhZG93ID0gKFxuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2LCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggZHgsIDAuMCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggMC4wLCBkeSApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdGV4ZWxTaXplLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHRtaXgoIHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAtZHgsIDAuMCApLCBzaGFkb3dDb29yZC56ICksIFxuXHRcdFx0XHRcdCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggMi4wICogZHgsIDAuMCApLCBzaGFkb3dDb29yZC56ICksXG5cdFx0XHRcdFx0IGYueCApICtcblx0XHRcdFx0bWl4KCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggLWR4LCBkeSApLCBzaGFkb3dDb29yZC56ICksIFxuXHRcdFx0XHRcdCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggMi4wICogZHgsIGR5ICksIHNoYWRvd0Nvb3JkLnogKSxcblx0XHRcdFx0XHQgZi54ICkgK1xuXHRcdFx0XHRtaXgoIHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAwLjAsIC1keSApLCBzaGFkb3dDb29yZC56ICksIFxuXHRcdFx0XHRcdCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggMC4wLCAyLjAgKiBkeSApLCBzaGFkb3dDb29yZC56ICksXG5cdFx0XHRcdFx0IGYueSApICtcblx0XHRcdFx0bWl4KCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggZHgsIC1keSApLCBzaGFkb3dDb29yZC56ICksIFxuXHRcdFx0XHRcdCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggZHgsIDIuMCAqIGR5ICksIHNoYWRvd0Nvb3JkLnogKSxcblx0XHRcdFx0XHQgZi55ICkgK1xuXHRcdFx0XHRtaXgoIG1peCggdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCB1diArIHZlYzIoIC1keCwgLWR5ICksIHNoYWRvd0Nvb3JkLnogKSwgXG5cdFx0XHRcdFx0XHQgIHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAyLjAgKiBkeCwgLWR5ICksIHNoYWRvd0Nvb3JkLnogKSxcblx0XHRcdFx0XHRcdCAgZi54ICksXG5cdFx0XHRcdFx0IG1peCggdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCB1diArIHZlYzIoIC1keCwgMi4wICogZHkgKSwgc2hhZG93Q29vcmQueiApLCBcblx0XHRcdFx0XHRcdCAgdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCB1diArIHZlYzIoIDIuMCAqIGR4LCAyLjAgKiBkeSApLCBzaGFkb3dDb29yZC56ICksXG5cdFx0XHRcdFx0XHQgIGYueCApLFxuXHRcdFx0XHRcdCBmLnkgKVxuXHRcdFx0KSAqICggMS4wIC8gOS4wICk7XG5cdFx0I2VsaWYgZGVmaW5lZCggU0hBRE9XTUFQX1RZUEVfVlNNIClcblx0XHRcdHNoYWRvdyA9IFZTTVNoYWRvdyggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSwgc2hhZG93Q29vcmQueiApO1xuXHRcdCNlbHNlXG5cdFx0XHRzaGFkb3cgPSB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5LCBzaGFkb3dDb29yZC56ICk7XG5cdFx0I2VuZGlmXG5cdFx0fVxuXHRcdHJldHVybiBzaGFkb3c7XG5cdH1cblx0dmVjMiBjdWJlVG9VViggdmVjMyB2LCBmbG9hdCB0ZXhlbFNpemVZICkge1xuXHRcdHZlYzMgYWJzViA9IGFicyggdiApO1xuXHRcdGZsb2F0IHNjYWxlVG9DdWJlID0gMS4wIC8gbWF4KCBhYnNWLngsIG1heCggYWJzVi55LCBhYnNWLnogKSApO1xuXHRcdGFic1YgKj0gc2NhbGVUb0N1YmU7XG5cdFx0diAqPSBzY2FsZVRvQ3ViZSAqICggMS4wIC0gMi4wICogdGV4ZWxTaXplWSApO1xuXHRcdHZlYzIgcGxhbmFyID0gdi54eTtcblx0XHRmbG9hdCBhbG1vc3RBVGV4ZWwgPSAxLjUgKiB0ZXhlbFNpemVZO1xuXHRcdGZsb2F0IGFsbW9zdE9uZSA9IDEuMCAtIGFsbW9zdEFUZXhlbDtcblx0XHRpZiAoIGFic1YueiA+PSBhbG1vc3RPbmUgKSB7XG5cdFx0XHRpZiAoIHYueiA+IDAuMCApXG5cdFx0XHRcdHBsYW5hci54ID0gNC4wIC0gdi54O1xuXHRcdH0gZWxzZSBpZiAoIGFic1YueCA+PSBhbG1vc3RPbmUgKSB7XG5cdFx0XHRmbG9hdCBzaWduWCA9IHNpZ24oIHYueCApO1xuXHRcdFx0cGxhbmFyLnggPSB2LnogKiBzaWduWCArIDIuMCAqIHNpZ25YO1xuXHRcdH0gZWxzZSBpZiAoIGFic1YueSA+PSBhbG1vc3RPbmUgKSB7XG5cdFx0XHRmbG9hdCBzaWduWSA9IHNpZ24oIHYueSApO1xuXHRcdFx0cGxhbmFyLnggPSB2LnggKyAyLjAgKiBzaWduWSArIDIuMDtcblx0XHRcdHBsYW5hci55ID0gdi56ICogc2lnblkgLSAyLjA7XG5cdFx0fVxuXHRcdHJldHVybiB2ZWMyKCAwLjEyNSwgMC4yNSApICogcGxhbmFyICsgdmVjMiggMC4zNzUsIDAuNzUgKTtcblx0fVxuXHRmbG9hdCBnZXRQb2ludFNoYWRvdyggc2FtcGxlcjJEIHNoYWRvd01hcCwgdmVjMiBzaGFkb3dNYXBTaXplLCBmbG9hdCBzaGFkb3dCaWFzLCBmbG9hdCBzaGFkb3dSYWRpdXMsIHZlYzQgc2hhZG93Q29vcmQsIGZsb2F0IHNoYWRvd0NhbWVyYU5lYXIsIGZsb2F0IHNoYWRvd0NhbWVyYUZhciApIHtcblx0XHR2ZWMyIHRleGVsU2l6ZSA9IHZlYzIoIDEuMCApIC8gKCBzaGFkb3dNYXBTaXplICogdmVjMiggNC4wLCAyLjAgKSApO1xuXHRcdHZlYzMgbGlnaHRUb1Bvc2l0aW9uID0gc2hhZG93Q29vcmQueHl6O1xuXHRcdGZsb2F0IGRwID0gKCBsZW5ndGgoIGxpZ2h0VG9Qb3NpdGlvbiApIC0gc2hhZG93Q2FtZXJhTmVhciApIC8gKCBzaGFkb3dDYW1lcmFGYXIgLSBzaGFkb3dDYW1lcmFOZWFyICk7XHRcdGRwICs9IHNoYWRvd0JpYXM7XG5cdFx0dmVjMyBiZDNEID0gbm9ybWFsaXplKCBsaWdodFRvUG9zaXRpb24gKTtcblx0XHQjaWYgZGVmaW5lZCggU0hBRE9XTUFQX1RZUEVfUENGICkgfHwgZGVmaW5lZCggU0hBRE9XTUFQX1RZUEVfUENGX1NPRlQgKSB8fCBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9WU00gKVxuXHRcdFx0dmVjMiBvZmZzZXQgPSB2ZWMyKCAtIDEsIDEgKSAqIHNoYWRvd1JhZGl1cyAqIHRleGVsU2l6ZS55O1xuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC54eXksIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnl5eSwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QgKyBvZmZzZXQueHl4LCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC55eXgsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNELCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC54eHksIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnl4eSwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QgKyBvZmZzZXQueHh4LCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC55eHgsIHRleGVsU2l6ZS55ICksIGRwIClcblx0XHRcdCkgKiAoIDEuMCAvIDkuMCApO1xuXHRcdCNlbHNlXG5cdFx0XHRyZXR1cm4gdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCwgdGV4ZWxTaXplLnkgKSwgZHAgKTtcblx0XHQjZW5kaWZcblx0fVxuI2VuZGlmIixzaGFkb3dtYXBfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfU0hBRE9XTUFQXG5cdCNpZiBOVU1fRElSX0xJR0hUX1NIQURPV1MgPiAwXG5cdFx0dW5pZm9ybSBtYXQ0IGRpcmVjdGlvbmFsU2hhZG93TWF0cml4WyBOVU1fRElSX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdkRpcmVjdGlvbmFsU2hhZG93Q29vcmRbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHN0cnVjdCBEaXJlY3Rpb25hbExpZ2h0U2hhZG93IHtcblx0XHRcdGZsb2F0IHNoYWRvd0JpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dOb3JtYWxCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93UmFkaXVzO1xuXHRcdFx0dmVjMiBzaGFkb3dNYXBTaXplO1xuXHRcdH07XG5cdFx0dW5pZm9ybSBEaXJlY3Rpb25hbExpZ2h0U2hhZG93IGRpcmVjdGlvbmFsTGlnaHRTaGFkb3dzWyBOVU1fRElSX0xJR0hUX1NIQURPV1MgXTtcblx0I2VuZGlmXG5cdCNpZiBOVU1fU1BPVF9MSUdIVF9TSEFET1dTID4gMFxuXHRcdHVuaWZvcm0gbWF0NCBzcG90U2hhZG93TWF0cml4WyBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIF07XG5cdFx0dmFyeWluZyB2ZWM0IHZTcG90U2hhZG93Q29vcmRbIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXTtcblx0XHRzdHJ1Y3QgU3BvdExpZ2h0U2hhZG93IHtcblx0XHRcdGZsb2F0IHNoYWRvd0JpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dOb3JtYWxCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93UmFkaXVzO1xuXHRcdFx0dmVjMiBzaGFkb3dNYXBTaXplO1xuXHRcdH07XG5cdFx0dW5pZm9ybSBTcG90TGlnaHRTaGFkb3cgc3BvdExpZ2h0U2hhZG93c1sgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTID4gMFxuXHRcdHVuaWZvcm0gbWF0NCBwb2ludFNoYWRvd01hdHJpeFsgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdlBvaW50U2hhZG93Q29vcmRbIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIF07XG5cdFx0c3RydWN0IFBvaW50TGlnaHRTaGFkb3cge1xuXHRcdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd05vcm1hbEJpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0XHR2ZWMyIHNoYWRvd01hcFNpemU7XG5cdFx0XHRmbG9hdCBzaGFkb3dDYW1lcmFOZWFyO1xuXHRcdFx0ZmxvYXQgc2hhZG93Q2FtZXJhRmFyO1xuXHRcdH07XG5cdFx0dW5pZm9ybSBQb2ludExpZ2h0U2hhZG93IHBvaW50TGlnaHRTaGFkb3dzWyBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcbiNlbmRpZiIsc2hhZG93bWFwX3ZlcnRleDoiI2lmZGVmIFVTRV9TSEFET1dNQVBcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyA+IDAgfHwgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyA+IDAgfHwgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgPiAwXG5cdFx0dmVjMyBzaGFkb3dXb3JsZE5vcm1hbCA9IGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIHRyYW5zZm9ybWVkTm9ybWFsLCB2aWV3TWF0cml4ICk7XG5cdFx0dmVjNCBzaGFkb3dXb3JsZFBvc2l0aW9uO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fRElSX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0c2hhZG93V29ybGRQb3NpdGlvbiA9IHdvcmxkUG9zaXRpb24gKyB2ZWM0KCBzaGFkb3dXb3JsZE5vcm1hbCAqIGRpcmVjdGlvbmFsTGlnaHRTaGFkb3dzWyBpIF0uc2hhZG93Tm9ybWFsQmlhcywgMCApO1xuXHRcdHZEaXJlY3Rpb25hbFNoYWRvd0Nvb3JkWyBpIF0gPSBkaXJlY3Rpb25hbFNoYWRvd01hdHJpeFsgaSBdICogc2hhZG93V29ybGRQb3NpdGlvbjtcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuXHQjZW5kaWZcblx0I2lmIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgPiAwXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgTlVNX1NQT1RfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHRzaGFkb3dXb3JsZFBvc2l0aW9uID0gd29ybGRQb3NpdGlvbiArIHZlYzQoIHNoYWRvd1dvcmxkTm9ybWFsICogc3BvdExpZ2h0U2hhZG93c1sgaSBdLnNoYWRvd05vcm1hbEJpYXMsIDAgKTtcblx0XHR2U3BvdFNoYWRvd0Nvb3JkWyBpIF0gPSBzcG90U2hhZG93TWF0cml4WyBpIF0gKiBzaGFkb3dXb3JsZFBvc2l0aW9uO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdCNlbmRpZlxuXHQjaWYgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgPiAwXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0c2hhZG93V29ybGRQb3NpdGlvbiA9IHdvcmxkUG9zaXRpb24gKyB2ZWM0KCBzaGFkb3dXb3JsZE5vcm1hbCAqIHBvaW50TGlnaHRTaGFkb3dzWyBpIF0uc2hhZG93Tm9ybWFsQmlhcywgMCApO1xuXHRcdHZQb2ludFNoYWRvd0Nvb3JkWyBpIF0gPSBwb2ludFNoYWRvd01hdHJpeFsgaSBdICogc2hhZG93V29ybGRQb3NpdGlvbjtcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuXHQjZW5kaWZcbiNlbmRpZiIsc2hhZG93bWFza19wYXJzX2ZyYWdtZW50OiJmbG9hdCBnZXRTaGFkb3dNYXNrKCkge1xuXHRmbG9hdCBzaGFkb3cgPSAxLjA7XG5cdCNpZmRlZiBVU0VfU0hBRE9XTUFQXG5cdCNpZiBOVU1fRElSX0xJR0hUX1NIQURPV1MgPiAwXG5cdERpcmVjdGlvbmFsTGlnaHRTaGFkb3cgZGlyZWN0aW9uYWxMaWdodDtcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fRElSX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0ZGlyZWN0aW9uYWxMaWdodCA9IGRpcmVjdGlvbmFsTGlnaHRTaGFkb3dzWyBpIF07XG5cdFx0c2hhZG93ICo9IHJlY2VpdmVTaGFkb3cgPyBnZXRTaGFkb3coIGRpcmVjdGlvbmFsU2hhZG93TWFwWyBpIF0sIGRpcmVjdGlvbmFsTGlnaHQuc2hhZG93TWFwU2l6ZSwgZGlyZWN0aW9uYWxMaWdodC5zaGFkb3dCaWFzLCBkaXJlY3Rpb25hbExpZ2h0LnNoYWRvd1JhZGl1cywgdkRpcmVjdGlvbmFsU2hhZG93Q29vcmRbIGkgXSApIDogMS4wO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdCNlbmRpZlxuXHQjaWYgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyA+IDBcblx0U3BvdExpZ2h0U2hhZG93IHNwb3RMaWdodDtcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fU1BPVF9MSUdIVF9TSEFET1dTOyBpICsrICkge1xuXHRcdHNwb3RMaWdodCA9IHNwb3RMaWdodFNoYWRvd3NbIGkgXTtcblx0XHRzaGFkb3cgKj0gcmVjZWl2ZVNoYWRvdyA/IGdldFNoYWRvdyggc3BvdFNoYWRvd01hcFsgaSBdLCBzcG90TGlnaHQuc2hhZG93TWFwU2l6ZSwgc3BvdExpZ2h0LnNoYWRvd0JpYXMsIHNwb3RMaWdodC5zaGFkb3dSYWRpdXMsIHZTcG90U2hhZG93Q29vcmRbIGkgXSApIDogMS4wO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdCNlbmRpZlxuXHQjaWYgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgPiAwXG5cdFBvaW50TGlnaHRTaGFkb3cgcG9pbnRMaWdodDtcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHRwb2ludExpZ2h0ID0gcG9pbnRMaWdodFNoYWRvd3NbIGkgXTtcblx0XHRzaGFkb3cgKj0gcmVjZWl2ZVNoYWRvdyA/IGdldFBvaW50U2hhZG93KCBwb2ludFNoYWRvd01hcFsgaSBdLCBwb2ludExpZ2h0LnNoYWRvd01hcFNpemUsIHBvaW50TGlnaHQuc2hhZG93QmlhcywgcG9pbnRMaWdodC5zaGFkb3dSYWRpdXMsIHZQb2ludFNoYWRvd0Nvb3JkWyBpIF0sIHBvaW50TGlnaHQuc2hhZG93Q2FtZXJhTmVhciwgcG9pbnRMaWdodC5zaGFkb3dDYW1lcmFGYXIgKSA6IDEuMDtcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuXHQjZW5kaWZcblx0I2VuZGlmXG5cdHJldHVybiBzaGFkb3c7XG59Iixza2luYmFzZV92ZXJ0ZXg6IiNpZmRlZiBVU0VfU0tJTk5JTkdcblx0bWF0NCBib25lTWF0WCA9IGdldEJvbmVNYXRyaXgoIHNraW5JbmRleC54ICk7XG5cdG1hdDQgYm9uZU1hdFkgPSBnZXRCb25lTWF0cml4KCBza2luSW5kZXgueSApO1xuXHRtYXQ0IGJvbmVNYXRaID0gZ2V0Qm9uZU1hdHJpeCggc2tpbkluZGV4LnogKTtcblx0bWF0NCBib25lTWF0VyA9IGdldEJvbmVNYXRyaXgoIHNraW5JbmRleC53ICk7XG4jZW5kaWYiLHNraW5uaW5nX3BhcnNfdmVydGV4OiIjaWZkZWYgVVNFX1NLSU5OSU5HXG5cdHVuaWZvcm0gbWF0NCBiaW5kTWF0cml4O1xuXHR1bmlmb3JtIG1hdDQgYmluZE1hdHJpeEludmVyc2U7XG5cdCNpZmRlZiBCT05FX1RFWFRVUkVcblx0XHR1bmlmb3JtIGhpZ2hwIHNhbXBsZXIyRCBib25lVGV4dHVyZTtcblx0XHR1bmlmb3JtIGludCBib25lVGV4dHVyZVNpemU7XG5cdFx0bWF0NCBnZXRCb25lTWF0cml4KCBjb25zdCBpbiBmbG9hdCBpICkge1xuXHRcdFx0ZmxvYXQgaiA9IGkgKiA0LjA7XG5cdFx0XHRmbG9hdCB4ID0gbW9kKCBqLCBmbG9hdCggYm9uZVRleHR1cmVTaXplICkgKTtcblx0XHRcdGZsb2F0IHkgPSBmbG9vciggaiAvIGZsb2F0KCBib25lVGV4dHVyZVNpemUgKSApO1xuXHRcdFx0ZmxvYXQgZHggPSAxLjAgLyBmbG9hdCggYm9uZVRleHR1cmVTaXplICk7XG5cdFx0XHRmbG9hdCBkeSA9IDEuMCAvIGZsb2F0KCBib25lVGV4dHVyZVNpemUgKTtcblx0XHRcdHkgPSBkeSAqICggeSArIDAuNSApO1xuXHRcdFx0dmVjNCB2MSA9IHRleHR1cmUyRCggYm9uZVRleHR1cmUsIHZlYzIoIGR4ICogKCB4ICsgMC41ICksIHkgKSApO1xuXHRcdFx0dmVjNCB2MiA9IHRleHR1cmUyRCggYm9uZVRleHR1cmUsIHZlYzIoIGR4ICogKCB4ICsgMS41ICksIHkgKSApO1xuXHRcdFx0dmVjNCB2MyA9IHRleHR1cmUyRCggYm9uZVRleHR1cmUsIHZlYzIoIGR4ICogKCB4ICsgMi41ICksIHkgKSApO1xuXHRcdFx0dmVjNCB2NCA9IHRleHR1cmUyRCggYm9uZVRleHR1cmUsIHZlYzIoIGR4ICogKCB4ICsgMy41ICksIHkgKSApO1xuXHRcdFx0bWF0NCBib25lID0gbWF0NCggdjEsIHYyLCB2MywgdjQgKTtcblx0XHRcdHJldHVybiBib25lO1xuXHRcdH1cblx0I2Vsc2Vcblx0XHR1bmlmb3JtIG1hdDQgYm9uZU1hdHJpY2VzWyBNQVhfQk9ORVMgXTtcblx0XHRtYXQ0IGdldEJvbmVNYXRyaXgoIGNvbnN0IGluIGZsb2F0IGkgKSB7XG5cdFx0XHRtYXQ0IGJvbmUgPSBib25lTWF0cmljZXNbIGludChpKSBdO1xuXHRcdFx0cmV0dXJuIGJvbmU7XG5cdFx0fVxuXHQjZW5kaWZcbiNlbmRpZiIsc2tpbm5pbmdfdmVydGV4OiIjaWZkZWYgVVNFX1NLSU5OSU5HXG5cdHZlYzQgc2tpblZlcnRleCA9IGJpbmRNYXRyaXggKiB2ZWM0KCB0cmFuc2Zvcm1lZCwgMS4wICk7XG5cdHZlYzQgc2tpbm5lZCA9IHZlYzQoIDAuMCApO1xuXHRza2lubmVkICs9IGJvbmVNYXRYICogc2tpblZlcnRleCAqIHNraW5XZWlnaHQueDtcblx0c2tpbm5lZCArPSBib25lTWF0WSAqIHNraW5WZXJ0ZXggKiBza2luV2VpZ2h0Lnk7XG5cdHNraW5uZWQgKz0gYm9uZU1hdFogKiBza2luVmVydGV4ICogc2tpbldlaWdodC56O1xuXHRza2lubmVkICs9IGJvbmVNYXRXICogc2tpblZlcnRleCAqIHNraW5XZWlnaHQudztcblx0dHJhbnNmb3JtZWQgPSAoIGJpbmRNYXRyaXhJbnZlcnNlICogc2tpbm5lZCApLnh5ejtcbiNlbmRpZiIsc2tpbm5vcm1hbF92ZXJ0ZXg6IiNpZmRlZiBVU0VfU0tJTk5JTkdcblx0bWF0NCBza2luTWF0cml4ID0gbWF0NCggMC4wICk7XG5cdHNraW5NYXRyaXggKz0gc2tpbldlaWdodC54ICogYm9uZU1hdFg7XG5cdHNraW5NYXRyaXggKz0gc2tpbldlaWdodC55ICogYm9uZU1hdFk7XG5cdHNraW5NYXRyaXggKz0gc2tpbldlaWdodC56ICogYm9uZU1hdFo7XG5cdHNraW5NYXRyaXggKz0gc2tpbldlaWdodC53ICogYm9uZU1hdFc7XG5cdHNraW5NYXRyaXggPSBiaW5kTWF0cml4SW52ZXJzZSAqIHNraW5NYXRyaXggKiBiaW5kTWF0cml4O1xuXHRvYmplY3ROb3JtYWwgPSB2ZWM0KCBza2luTWF0cml4ICogdmVjNCggb2JqZWN0Tm9ybWFsLCAwLjAgKSApLnh5ejtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0b2JqZWN0VGFuZ2VudCA9IHZlYzQoIHNraW5NYXRyaXggKiB2ZWM0KCBvYmplY3RUYW5nZW50LCAwLjAgKSApLnh5ejtcblx0I2VuZGlmXG4jZW5kaWYiLHNwZWN1bGFybWFwX2ZyYWdtZW50OiJmbG9hdCBzcGVjdWxhclN0cmVuZ3RoO1xuI2lmZGVmIFVTRV9TUEVDVUxBUk1BUFxuXHR2ZWM0IHRleGVsU3BlY3VsYXIgPSB0ZXh0dXJlMkQoIHNwZWN1bGFyTWFwLCB2VXYgKTtcblx0c3BlY3VsYXJTdHJlbmd0aCA9IHRleGVsU3BlY3VsYXIucjtcbiNlbHNlXG5cdHNwZWN1bGFyU3RyZW5ndGggPSAxLjA7XG4jZW5kaWYiLHNwZWN1bGFybWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfU1BFQ1VMQVJNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgc3BlY3VsYXJNYXA7XG4jZW5kaWYiLHRvbmVtYXBwaW5nX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVE9ORV9NQVBQSU5HIClcblx0Z2xfRnJhZ0NvbG9yLnJnYiA9IHRvbmVNYXBwaW5nKCBnbF9GcmFnQ29sb3IucmdiICk7XG4jZW5kaWYiLHRvbmVtYXBwaW5nX3BhcnNfZnJhZ21lbnQ6IiNpZm5kZWYgc2F0dXJhdGVcbiNkZWZpbmUgc2F0dXJhdGUoYSkgY2xhbXAoIGEsIDAuMCwgMS4wIClcbiNlbmRpZlxudW5pZm9ybSBmbG9hdCB0b25lTWFwcGluZ0V4cG9zdXJlO1xudmVjMyBMaW5lYXJUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0cmV0dXJuIHRvbmVNYXBwaW5nRXhwb3N1cmUgKiBjb2xvcjtcbn1cbnZlYzMgUmVpbmhhcmRUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0Y29sb3IgKj0gdG9uZU1hcHBpbmdFeHBvc3VyZTtcblx0cmV0dXJuIHNhdHVyYXRlKCBjb2xvciAvICggdmVjMyggMS4wICkgKyBjb2xvciApICk7XG59XG52ZWMzIE9wdGltaXplZENpbmVvblRvbmVNYXBwaW5nKCB2ZWMzIGNvbG9yICkge1xuXHRjb2xvciAqPSB0b25lTWFwcGluZ0V4cG9zdXJlO1xuXHRjb2xvciA9IG1heCggdmVjMyggMC4wICksIGNvbG9yIC0gMC4wMDQgKTtcblx0cmV0dXJuIHBvdyggKCBjb2xvciAqICggNi4yICogY29sb3IgKyAwLjUgKSApIC8gKCBjb2xvciAqICggNi4yICogY29sb3IgKyAxLjcgKSArIDAuMDYgKSwgdmVjMyggMi4yICkgKTtcbn1cbnZlYzMgUlJUQW5kT0RURml0KCB2ZWMzIHYgKSB7XG5cdHZlYzMgYSA9IHYgKiAoIHYgKyAwLjAyNDU3ODYgKSAtIDAuMDAwMDkwNTM3O1xuXHR2ZWMzIGIgPSB2ICogKCAwLjk4MzcyOSAqIHYgKyAwLjQzMjk1MTAgKSArIDAuMjM4MDgxO1xuXHRyZXR1cm4gYSAvIGI7XG59XG52ZWMzIEFDRVNGaWxtaWNUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0Y29uc3QgbWF0MyBBQ0VTSW5wdXRNYXQgPSBtYXQzKFxuXHRcdHZlYzMoIDAuNTk3MTksIDAuMDc2MDAsIDAuMDI4NDAgKSxcdFx0dmVjMyggMC4zNTQ1OCwgMC45MDgzNCwgMC4xMzM4MyApLFxuXHRcdHZlYzMoIDAuMDQ4MjMsIDAuMDE1NjYsIDAuODM3NzcgKVxuXHQpO1xuXHRjb25zdCBtYXQzIEFDRVNPdXRwdXRNYXQgPSBtYXQzKFxuXHRcdHZlYzMoICAxLjYwNDc1LCAtMC4xMDIwOCwgLTAuMDAzMjcgKSxcdFx0dmVjMyggLTAuNTMxMDgsICAxLjEwODEzLCAtMC4wNzI3NiApLFxuXHRcdHZlYzMoIC0wLjA3MzY3LCAtMC4wMDYwNSwgIDEuMDc2MDIgKVxuXHQpO1xuXHRjb2xvciAqPSB0b25lTWFwcGluZ0V4cG9zdXJlIC8gMC42O1xuXHRjb2xvciA9IEFDRVNJbnB1dE1hdCAqIGNvbG9yO1xuXHRjb2xvciA9IFJSVEFuZE9EVEZpdCggY29sb3IgKTtcblx0Y29sb3IgPSBBQ0VTT3V0cHV0TWF0ICogY29sb3I7XG5cdHJldHVybiBzYXR1cmF0ZSggY29sb3IgKTtcbn1cbnZlYzMgQ3VzdG9tVG9uZU1hcHBpbmcoIHZlYzMgY29sb3IgKSB7IHJldHVybiBjb2xvcjsgfSIsdHJhbnNtaXNzaW9uX2ZyYWdtZW50OiIjaWZkZWYgVVNFX1RSQU5TTUlTU0lPTlxuXHRmbG9hdCB0cmFuc21pc3Npb25GYWN0b3IgPSB0cmFuc21pc3Npb247XG5cdGZsb2F0IHRoaWNrbmVzc0ZhY3RvciA9IHRoaWNrbmVzcztcblx0I2lmZGVmIFVTRV9UUkFOU01JU1NJT05NQVBcblx0XHR0cmFuc21pc3Npb25GYWN0b3IgKj0gdGV4dHVyZTJEKCB0cmFuc21pc3Npb25NYXAsIHZVdiApLnI7XG5cdCNlbmRpZlxuXHQjaWZkZWYgVVNFX1RISUNLTkVTU01BUFxuXHRcdHRoaWNrbmVzc0ZhY3RvciAqPSB0ZXh0dXJlMkQoIHRoaWNrbmVzc01hcCwgdlV2ICkuZztcblx0I2VuZGlmXG5cdHZlYzMgcG9zID0gdldvcmxkUG9zaXRpb24ueHl6IC8gdldvcmxkUG9zaXRpb24udztcblx0dmVjMyB2ID0gbm9ybWFsaXplKCBjYW1lcmFQb3NpdGlvbiAtIHBvcyApO1xuXHR2ZWMzIG4gPSBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBub3JtYWwsIHZpZXdNYXRyaXggKTtcblx0ZmxvYXQgaW9yID0gKCAxLjAgKyAwLjQgKiByZWZsZWN0aXZpdHkgKSAvICggMS4wIC0gMC40ICogcmVmbGVjdGl2aXR5ICk7XG5cdHZlYzMgdHJhbnNtaXNzaW9uID0gdHJhbnNtaXNzaW9uRmFjdG9yICogZ2V0SUJMVm9sdW1lUmVmcmFjdGlvbihcblx0XHRuLCB2LCByb3VnaG5lc3NGYWN0b3IsIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciwgbWF0ZXJpYWwuc3BlY3VsYXJDb2xvcixcblx0XHRwb3MsIG1vZGVsTWF0cml4LCB2aWV3TWF0cml4LCBwcm9qZWN0aW9uTWF0cml4LCBpb3IsIHRoaWNrbmVzc0ZhY3Rvcixcblx0XHRhdHRlbnVhdGlvblRpbnQsIGF0dGVudWF0aW9uRGlzdGFuY2UgKTtcblx0dG90YWxEaWZmdXNlID0gbWl4KCB0b3RhbERpZmZ1c2UsIHRyYW5zbWlzc2lvbiwgdHJhbnNtaXNzaW9uRmFjdG9yICk7XG4jZW5kaWYiLHRyYW5zbWlzc2lvbl9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX1RSQU5TTUlTU0lPTlxuXHQjaWZkZWYgVVNFX1RSQU5TTUlTU0lPTk1BUFxuXHRcdHVuaWZvcm0gc2FtcGxlcjJEIHRyYW5zbWlzc2lvbk1hcDtcblx0I2VuZGlmXG5cdCNpZmRlZiBVU0VfVEhJQ0tORVNTTUFQXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgdGhpY2tuZXNzTWFwO1xuXHQjZW5kaWZcblx0dW5pZm9ybSB2ZWMyIHRyYW5zbWlzc2lvblNhbXBsZXJTaXplO1xuXHR1bmlmb3JtIHNhbXBsZXIyRCB0cmFuc21pc3Npb25TYW1wbGVyTWFwO1xuXHR1bmlmb3JtIG1hdDQgbW9kZWxNYXRyaXg7XG5cdHVuaWZvcm0gbWF0NCBwcm9qZWN0aW9uTWF0cml4O1xuXHR2YXJ5aW5nIHZlYzQgdldvcmxkUG9zaXRpb247XG5cdHZlYzMgZ2V0Vm9sdW1lVHJhbnNtaXNzaW9uUmF5KHZlYzMgbiwgdmVjMyB2LCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGlvciwgbWF0NCBtb2RlbE1hdHJpeCkge1xuXHRcdHZlYzMgcmVmcmFjdGlvblZlY3RvciA9IHJlZnJhY3QoLXYsIG5vcm1hbGl6ZShuKSwgMS4wIC8gaW9yKTtcblx0XHR2ZWMzIG1vZGVsU2NhbGU7XG5cdFx0bW9kZWxTY2FsZS54ID0gbGVuZ3RoKHZlYzMobW9kZWxNYXRyaXhbMF0ueHl6KSk7XG5cdFx0bW9kZWxTY2FsZS55ID0gbGVuZ3RoKHZlYzMobW9kZWxNYXRyaXhbMV0ueHl6KSk7XG5cdFx0bW9kZWxTY2FsZS56ID0gbGVuZ3RoKHZlYzMobW9kZWxNYXRyaXhbMl0ueHl6KSk7XG5cdFx0cmV0dXJuIG5vcm1hbGl6ZShyZWZyYWN0aW9uVmVjdG9yKSAqIHRoaWNrbmVzcyAqIG1vZGVsU2NhbGU7XG5cdH1cblx0ZmxvYXQgYXBwbHlJb3JUb1JvdWdobmVzcyhmbG9hdCByb3VnaG5lc3MsIGZsb2F0IGlvcikge1xuXHRcdHJldHVybiByb3VnaG5lc3MgKiBjbGFtcChpb3IgKiAyLjAgLSAyLjAsIDAuMCwgMS4wKTtcblx0fVxuXHR2ZWMzIGdldFRyYW5zbWlzc2lvblNhbXBsZSh2ZWMyIGZyYWdDb29yZCwgZmxvYXQgcm91Z2huZXNzLCBmbG9hdCBpb3IpIHtcblx0XHRmbG9hdCBmcmFtZWJ1ZmZlckxvZCA9IGxvZzIodHJhbnNtaXNzaW9uU2FtcGxlclNpemUueCkgKiBhcHBseUlvclRvUm91Z2huZXNzKHJvdWdobmVzcywgaW9yKTtcblx0XHRyZXR1cm4gdGV4dHVyZTJETG9kRVhUKHRyYW5zbWlzc2lvblNhbXBsZXJNYXAsIGZyYWdDb29yZC54eSwgZnJhbWVidWZmZXJMb2QpLnJnYjtcblx0fVxuXHR2ZWMzIGFwcGx5Vm9sdW1lQXR0ZW51YXRpb24odmVjMyByYWRpYW5jZSwgZmxvYXQgdHJhbnNtaXNzaW9uRGlzdGFuY2UsIHZlYzMgYXR0ZW51YXRpb25Db2xvciwgZmxvYXQgYXR0ZW51YXRpb25EaXN0YW5jZSkge1xuXHRcdGlmIChhdHRlbnVhdGlvbkRpc3RhbmNlID09IDAuMCkge1xuXHRcdFx0cmV0dXJuIHJhZGlhbmNlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR2ZWMzIGF0dGVudWF0aW9uQ29lZmZpY2llbnQgPSAtbG9nKGF0dGVudWF0aW9uQ29sb3IpIC8gYXR0ZW51YXRpb25EaXN0YW5jZTtcblx0XHRcdHZlYzMgdHJhbnNtaXR0YW5jZSA9IGV4cCgtYXR0ZW51YXRpb25Db2VmZmljaWVudCAqIHRyYW5zbWlzc2lvbkRpc3RhbmNlKTtcdFx0XHRyZXR1cm4gdHJhbnNtaXR0YW5jZSAqIHJhZGlhbmNlO1xuXHRcdH1cblx0fVxuXHR2ZWMzIGdldElCTFZvbHVtZVJlZnJhY3Rpb24odmVjMyBuLCB2ZWMzIHYsIGZsb2F0IHBlcmNlcHR1YWxSb3VnaG5lc3MsIHZlYzMgYmFzZUNvbG9yLCB2ZWMzIHNwZWN1bGFyQ29sb3IsXG5cdFx0dmVjMyBwb3NpdGlvbiwgbWF0NCBtb2RlbE1hdHJpeCwgbWF0NCB2aWV3TWF0cml4LCBtYXQ0IHByb2pNYXRyaXgsIGZsb2F0IGlvciwgZmxvYXQgdGhpY2tuZXNzLFxuXHRcdHZlYzMgYXR0ZW51YXRpb25Db2xvciwgZmxvYXQgYXR0ZW51YXRpb25EaXN0YW5jZSkge1xuXHRcdHZlYzMgdHJhbnNtaXNzaW9uUmF5ID0gZ2V0Vm9sdW1lVHJhbnNtaXNzaW9uUmF5KG4sIHYsIHRoaWNrbmVzcywgaW9yLCBtb2RlbE1hdHJpeCk7XG5cdFx0dmVjMyByZWZyYWN0ZWRSYXlFeGl0ID0gcG9zaXRpb24gKyB0cmFuc21pc3Npb25SYXk7XG5cdFx0dmVjNCBuZGNQb3MgPSBwcm9qTWF0cml4ICogdmlld01hdHJpeCAqIHZlYzQocmVmcmFjdGVkUmF5RXhpdCwgMS4wKTtcblx0XHR2ZWMyIHJlZnJhY3Rpb25Db29yZHMgPSBuZGNQb3MueHkgLyBuZGNQb3Mudztcblx0XHRyZWZyYWN0aW9uQ29vcmRzICs9IDEuMDtcblx0XHRyZWZyYWN0aW9uQ29vcmRzIC89IDIuMDtcblx0XHR2ZWMzIHRyYW5zbWl0dGVkTGlnaHQgPSBnZXRUcmFuc21pc3Npb25TYW1wbGUocmVmcmFjdGlvbkNvb3JkcywgcGVyY2VwdHVhbFJvdWdobmVzcywgaW9yKTtcblx0XHR2ZWMzIGF0dGVudWF0ZWRDb2xvciA9IGFwcGx5Vm9sdW1lQXR0ZW51YXRpb24odHJhbnNtaXR0ZWRMaWdodCwgbGVuZ3RoKHRyYW5zbWlzc2lvblJheSksIGF0dGVudWF0aW9uQ29sb3IsIGF0dGVudWF0aW9uRGlzdGFuY2UpO1xuXHRcdHJldHVybiAoMS4wIC0gc3BlY3VsYXJDb2xvcikgKiBhdHRlbnVhdGVkQ29sb3IgKiBiYXNlQ29sb3I7XG5cdH1cbiNlbmRpZiIsdXZfcGFyc19mcmFnbWVudDoiI2lmICggZGVmaW5lZCggVVNFX1VWICkgJiYgISBkZWZpbmVkKCBVVlNfVkVSVEVYX09OTFkgKSApXG5cdHZhcnlpbmcgdmVjMiB2VXY7XG4jZW5kaWYiLHV2X3BhcnNfdmVydGV4OiIjaWZkZWYgVVNFX1VWXG5cdCNpZmRlZiBVVlNfVkVSVEVYX09OTFlcblx0XHR2ZWMyIHZVdjtcblx0I2Vsc2Vcblx0XHR2YXJ5aW5nIHZlYzIgdlV2O1xuXHQjZW5kaWZcblx0dW5pZm9ybSBtYXQzIHV2VHJhbnNmb3JtO1xuI2VuZGlmIix1dl92ZXJ0ZXg6IiNpZmRlZiBVU0VfVVZcblx0dlV2ID0gKCB1dlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcbiNlbmRpZiIsdXYyX3BhcnNfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBVU0VfTElHSFRNQVAgKSB8fCBkZWZpbmVkKCBVU0VfQU9NQVAgKVxuXHR2YXJ5aW5nIHZlYzIgdlV2MjtcbiNlbmRpZiIsdXYyX3BhcnNfdmVydGV4OiIjaWYgZGVmaW5lZCggVVNFX0xJR0hUTUFQICkgfHwgZGVmaW5lZCggVVNFX0FPTUFQIClcblx0YXR0cmlidXRlIHZlYzIgdXYyO1xuXHR2YXJ5aW5nIHZlYzIgdlV2Mjtcblx0dW5pZm9ybSBtYXQzIHV2MlRyYW5zZm9ybTtcbiNlbmRpZiIsdXYyX3ZlcnRleDoiI2lmIGRlZmluZWQoIFVTRV9MSUdIVE1BUCApIHx8IGRlZmluZWQoIFVTRV9BT01BUCApXG5cdHZVdjIgPSAoIHV2MlRyYW5zZm9ybSAqIHZlYzMoIHV2MiwgMSApICkueHk7XG4jZW5kaWYiLHdvcmxkcG9zX3ZlcnRleDoiI2lmIGRlZmluZWQoIFVTRV9FTlZNQVAgKSB8fCBkZWZpbmVkKCBESVNUQU5DRSApIHx8IGRlZmluZWQgKCBVU0VfU0hBRE9XTUFQICkgfHwgZGVmaW5lZCAoIFVTRV9UUkFOU01JU1NJT04gKVxuXHR2ZWM0IHdvcmxkUG9zaXRpb24gPSB2ZWM0KCB0cmFuc2Zvcm1lZCwgMS4wICk7XG5cdCNpZmRlZiBVU0VfSU5TVEFOQ0lOR1xuXHRcdHdvcmxkUG9zaXRpb24gPSBpbnN0YW5jZU1hdHJpeCAqIHdvcmxkUG9zaXRpb247XG5cdCNlbmRpZlxuXHR3b3JsZFBvc2l0aW9uID0gbW9kZWxNYXRyaXggKiB3b3JsZFBvc2l0aW9uO1xuI2VuZGlmIixiYWNrZ3JvdW5kX2ZyYWc6InVuaWZvcm0gc2FtcGxlcjJEIHQyRDtcbnZhcnlpbmcgdmVjMiB2VXY7XG52b2lkIG1haW4oKSB7XG5cdHZlYzQgdGV4Q29sb3IgPSB0ZXh0dXJlMkQoIHQyRCwgdlV2ICk7XG5cdGdsX0ZyYWdDb2xvciA9IG1hcFRleGVsVG9MaW5lYXIoIHRleENvbG9yICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cbn0iLGJhY2tncm91bmRfdmVydDoidmFyeWluZyB2ZWMyIHZVdjtcbnVuaWZvcm0gbWF0MyB1dlRyYW5zZm9ybTtcbnZvaWQgbWFpbigpIHtcblx0dlV2ID0gKCB1dlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcblx0Z2xfUG9zaXRpb24gPSB2ZWM0KCBwb3NpdGlvbi54eSwgMS4wLCAxLjAgKTtcbn0iLGN1YmVfZnJhZzoiI2luY2x1ZGUgPGVudm1hcF9jb21tb25fcGFyc19mcmFnbWVudD5cbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbnZhcnlpbmcgdmVjMyB2V29ybGREaXJlY3Rpb247XG4jaW5jbHVkZSA8Y3ViZV91dl9yZWZsZWN0aW9uX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHR2ZWMzIHZSZWZsZWN0ID0gdldvcmxkRGlyZWN0aW9uO1xuXHQjaW5jbHVkZSA8ZW52bWFwX2ZyYWdtZW50PlxuXHRnbF9GcmFnQ29sb3IgPSBlbnZDb2xvcjtcblx0Z2xfRnJhZ0NvbG9yLmEgKj0gb3BhY2l0eTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxufSIsY3ViZV92ZXJ0OiJ2YXJ5aW5nIHZlYzMgdldvcmxkRGlyZWN0aW9uO1xuI2luY2x1ZGUgPGNvbW1vbj5cbnZvaWQgbWFpbigpIHtcblx0dldvcmxkRGlyZWN0aW9uID0gdHJhbnNmb3JtRGlyZWN0aW9uKCBwb3NpdGlvbiwgbW9kZWxNYXRyaXggKTtcblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHRnbF9Qb3NpdGlvbi56ID0gZ2xfUG9zaXRpb24udztcbn0iLGRlcHRoX2ZyYWc6IiNpZiBERVBUSF9QQUNLSU5HID09IDMyMDBcblx0dW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnQ+XG52YXJ5aW5nIHZlYzIgdkhpZ2hQcmVjaXNpb25aVztcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCAxLjAgKTtcblx0I2lmIERFUFRIX1BBQ0tJTkcgPT0gMzIwMFxuXHRcdGRpZmZ1c2VDb2xvci5hID0gb3BhY2l0eTtcblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHRmbG9hdCBmcmFnQ29vcmRaID0gMC41ICogdkhpZ2hQcmVjaXNpb25aV1swXSAvIHZIaWdoUHJlY2lzaW9uWldbMV0gKyAwLjU7XG5cdCNpZiBERVBUSF9QQUNLSU5HID09IDMyMDBcblx0XHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCB2ZWMzKCAxLjAgLSBmcmFnQ29vcmRaICksIG9wYWNpdHkgKTtcblx0I2VsaWYgREVQVEhfUEFDS0lORyA9PSAzMjAxXG5cdFx0Z2xfRnJhZ0NvbG9yID0gcGFja0RlcHRoVG9SR0JBKCBmcmFnQ29vcmRaICk7XG5cdCNlbmRpZlxufSIsZGVwdGhfdmVydDoiI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2tpbm5pbmdfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4PlxudmFyeWluZyB2ZWMyIHZIaWdoUHJlY2lzaW9uWlc7XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2luYmFzZV92ZXJ0ZXg+XG5cdCNpZmRlZiBVU0VfRElTUExBQ0VNRU5UTUFQXG5cdFx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0XHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxza2lubm9ybWFsX3ZlcnRleD5cblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHR2SGlnaFByZWNpc2lvblpXID0gZ2xfUG9zaXRpb24uenc7XG59IixkaXN0YW5jZVJHQkFfZnJhZzoiI2RlZmluZSBESVNUQU5DRVxudW5pZm9ybSB2ZWMzIHJlZmVyZW5jZVBvc2l0aW9uO1xudW5pZm9ybSBmbG9hdCBuZWFyRGlzdGFuY2U7XG51bmlmb3JtIGZsb2F0IGZhckRpc3RhbmNlO1xudmFyeWluZyB2ZWMzIHZXb3JsZFBvc2l0aW9uO1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxwYWNraW5nPlxuI2luY2x1ZGUgPHV2X3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YWxwaGFtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbiAoKSB7XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnQ+XG5cdHZlYzQgZGlmZnVzZUNvbG9yID0gdmVjNCggMS4wICk7XG5cdCNpbmNsdWRlIDxtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0ZmxvYXQgZGlzdCA9IGxlbmd0aCggdldvcmxkUG9zaXRpb24gLSByZWZlcmVuY2VQb3NpdGlvbiApO1xuXHRkaXN0ID0gKCBkaXN0IC0gbmVhckRpc3RhbmNlICkgLyAoIGZhckRpc3RhbmNlIC0gbmVhckRpc3RhbmNlICk7XG5cdGRpc3QgPSBzYXR1cmF0ZSggZGlzdCApO1xuXHRnbF9GcmFnQ29sb3IgPSBwYWNrRGVwdGhUb1JHQkEoIGRpc3QgKTtcbn0iLGRpc3RhbmNlUkdCQV92ZXJ0OiIjZGVmaW5lIERJU1RBTkNFXG52YXJ5aW5nIHZlYzMgdldvcmxkUG9zaXRpb247XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxtb3JwaHRhcmdldF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxza2lubmluZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2luYmFzZV92ZXJ0ZXg+XG5cdCNpZmRlZiBVU0VfRElTUExBQ0VNRU5UTUFQXG5cdFx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0XHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxza2lubm9ybWFsX3ZlcnRleD5cblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx3b3JsZHBvc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHR2V29ybGRQb3NpdGlvbiA9IHdvcmxkUG9zaXRpb24ueHl6O1xufSIsZXF1aXJlY3RfZnJhZzoidW5pZm9ybSBzYW1wbGVyMkQgdEVxdWlyZWN0O1xudmFyeWluZyB2ZWMzIHZXb3JsZERpcmVjdGlvbjtcbiNpbmNsdWRlIDxjb21tb24+XG52b2lkIG1haW4oKSB7XG5cdHZlYzMgZGlyZWN0aW9uID0gbm9ybWFsaXplKCB2V29ybGREaXJlY3Rpb24gKTtcblx0dmVjMiBzYW1wbGVVViA9IGVxdWlyZWN0VXYoIGRpcmVjdGlvbiApO1xuXHR2ZWM0IHRleENvbG9yID0gdGV4dHVyZTJEKCB0RXF1aXJlY3QsIHNhbXBsZVVWICk7XG5cdGdsX0ZyYWdDb2xvciA9IG1hcFRleGVsVG9MaW5lYXIoIHRleENvbG9yICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cbn0iLGVxdWlyZWN0X3ZlcnQ6InZhcnlpbmcgdmVjMyB2V29ybGREaXJlY3Rpb247XG4jaW5jbHVkZSA8Y29tbW9uPlxudm9pZCBtYWluKCkge1xuXHR2V29ybGREaXJlY3Rpb24gPSB0cmFuc2Zvcm1EaXJlY3Rpb24oIHBvc2l0aW9uLCBtb2RlbE1hdHJpeCApO1xuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG59IixsaW5lZGFzaGVkX2ZyYWc6InVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xudW5pZm9ybSBmbG9hdCBkYXNoU2l6ZTtcbnVuaWZvcm0gZmxvYXQgdG90YWxTaXplO1xudmFyeWluZyBmbG9hdCB2TGluZURpc3RhbmNlO1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnQ+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnQ+XG5cdGlmICggbW9kKCB2TGluZURpc3RhbmNlLCB0b3RhbFNpemUgKSA+IGRhc2hTaXplICkge1xuXHRcdGRpc2NhcmQ7XG5cdH1cblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gdmVjMyggMC4wICk7XG5cdHZlYzQgZGlmZnVzZUNvbG9yID0gdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxjb2xvcl9mcmFnbWVudD5cblx0b3V0Z29pbmdMaWdodCA9IGRpZmZ1c2VDb2xvci5yZ2I7XG5cdGdsX0ZyYWdDb2xvciA9IHZlYzQoIG91dGdvaW5nTGlnaHQsIGRpZmZ1c2VDb2xvci5hICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGZvZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPHByZW11bHRpcGxpZWRfYWxwaGFfZnJhZ21lbnQ+XG59IixsaW5lZGFzaGVkX3ZlcnQ6InVuaWZvcm0gZmxvYXQgc2NhbGU7XG5hdHRyaWJ1dGUgZmxvYXQgbGluZURpc3RhbmNlO1xudmFyeWluZyBmbG9hdCB2TGluZURpc3RhbmNlO1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxmb2dfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHR2TGluZURpc3RhbmNlID0gc2NhbGUgKiBsaW5lRGlzdGFuY2U7XG5cdCNpbmNsdWRlIDxjb2xvcl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxmb2dfdmVydGV4PlxufSIsbWVzaGJhc2ljX2ZyYWc6InVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxkaXRoZXJpbmdfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2X3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXYyX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YWxwaGFtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhb21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxpZ2h0bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVudm1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGN1YmVfdXZfcmVmbGVjdGlvbl9mcmFnbWVudD5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzcGVjdWxhcm1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnQ+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnQ+XG5cdHZlYzQgZGlmZnVzZUNvbG9yID0gdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxjb2xvcl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhbWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGF0ZXN0X2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8c3BlY3VsYXJtYXBfZnJhZ21lbnQ+XG5cdFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ID0gUmVmbGVjdGVkTGlnaHQoIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICksIHZlYzMoIDAuMCApICk7XG5cdCNpZmRlZiBVU0VfTElHSFRNQVBcblx0XG5cdFx0dmVjNCBsaWdodE1hcFRleGVsPSB0ZXh0dXJlMkQoIGxpZ2h0TWFwLCB2VXYyICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICs9IGxpZ2h0TWFwVGV4ZWxUb0xpbmVhciggbGlnaHRNYXBUZXhlbCApLnJnYiAqIGxpZ2h0TWFwSW50ZW5zaXR5O1xuXHQjZWxzZVxuXHRcdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSB2ZWMzKCAxLjAgKTtcblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxhb21hcF9mcmFnbWVudD5cblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICo9IGRpZmZ1c2VDb2xvci5yZ2I7XG5cdHZlYzMgb3V0Z29pbmdMaWdodCA9IHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZTtcblx0I2luY2x1ZGUgPGVudm1hcF9mcmFnbWVudD5cblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGRpdGhlcmluZ19mcmFnbWVudD5cbn0iLG1lc2hiYXNpY192ZXJ0OiIjaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxlbnZtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPHV2Ml92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjb2xvcl92ZXJ0ZXg+XG5cdCNpZiBkZWZpbmVkICggVVNFX0VOVk1BUCApIHx8IGRlZmluZWQgKCBVU0VfU0tJTk5JTkcgKVxuXHRcdCNpbmNsdWRlIDxiZWdpbm5vcm1hbF92ZXJ0ZXg+XG5cdFx0I2luY2x1ZGUgPG1vcnBobm9ybWFsX3ZlcnRleD5cblx0XHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxza2lubm9ybWFsX3ZlcnRleD5cblx0XHQjaW5jbHVkZSA8ZGVmYXVsdG5vcm1hbF92ZXJ0ZXg+XG5cdCNlbmRpZlxuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGh0YXJnZXRfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5pbmdfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHQjaW5jbHVkZSA8d29ybGRwb3NfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZW52bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPGZvZ192ZXJ0ZXg+XG59IixtZXNobGFtYmVydF9mcmFnOiJ1bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gdmVjMyBlbWlzc2l2ZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbnZhcnlpbmcgdmVjMyB2TGlnaHRGcm9udDtcbnZhcnlpbmcgdmVjMyB2SW5kaXJlY3RGcm9udDtcbiNpZmRlZiBET1VCTEVfU0lERURcblx0dmFyeWluZyB2ZWMzIHZMaWdodEJhY2s7XG5cdHZhcnlpbmcgdmVjMyB2SW5kaXJlY3RCYWNrO1xuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8ZGl0aGVyaW5nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YW9tYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsaWdodG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVtaXNzaXZlbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVudm1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGN1YmVfdXZfcmVmbGVjdGlvbl9mcmFnbWVudD5cbiNpbmNsdWRlIDxic2Rmcz5cbiNpbmNsdWRlIDxsaWdodHNfcGFyc19iZWdpbj5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzaGFkb3dtYXNrX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8c3BlY3VsYXJtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgPSBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0dmVjMyB0b3RhbEVtaXNzaXZlUmFkaWFuY2UgPSBlbWlzc2l2ZTtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Y29sb3JfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPHNwZWN1bGFybWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW1pc3NpdmVtYXBfZnJhZ21lbnQ+XG5cdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKz0gKCBnbF9Gcm9udEZhY2luZyApID8gdkluZGlyZWN0RnJvbnQgOiB2SW5kaXJlY3RCYWNrO1xuXHQjZWxzZVxuXHRcdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSB2SW5kaXJlY3RGcm9udDtcblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxsaWdodG1hcF9mcmFnbWVudD5cblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICo9IEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBkaWZmdXNlQ29sb3IucmdiICk7XG5cdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlID0gKCBnbF9Gcm9udEZhY2luZyApID8gdkxpZ2h0RnJvbnQgOiB2TGlnaHRCYWNrO1xuXHQjZWxzZVxuXHRcdHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgPSB2TGlnaHRGcm9udDtcblx0I2VuZGlmXG5cdHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKj0gQlJERl9EaWZmdXNlX0xhbWJlcnQoIGRpZmZ1c2VDb2xvci5yZ2IgKSAqIGdldFNoYWRvd01hc2soKTtcblx0I2luY2x1ZGUgPGFvbWFwX2ZyYWdtZW50PlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSByZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICsgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICsgdG90YWxFbWlzc2l2ZVJhZGlhbmNlO1xuXHQjaW5jbHVkZSA8ZW52bWFwX2ZyYWdtZW50PlxuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZGl0aGVyaW5nX2ZyYWdtZW50PlxufSIsbWVzaGxhbWJlcnRfdmVydDoiI2RlZmluZSBMQU1CRVJUXG52YXJ5aW5nIHZlYzMgdkxpZ2h0RnJvbnQ7XG52YXJ5aW5nIHZlYzMgdkluZGlyZWN0RnJvbnQ7XG4jaWZkZWYgRE9VQkxFX1NJREVEXG5cdHZhcnlpbmcgdmVjMyB2TGlnaHRCYWNrO1xuXHR2YXJ5aW5nIHZlYzMgdkluZGlyZWN0QmFjaztcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDx1djJfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8ZW52bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGJzZGZzPlxuI2luY2x1ZGUgPGxpZ2h0c19wYXJzX2JlZ2luPlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGZvZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxtb3JwaHRhcmdldF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxza2lubmluZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8dXZfdmVydGV4PlxuXHQjaW5jbHVkZSA8dXYyX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBobm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGVmYXVsdG5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx3b3JsZHBvc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxlbnZtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8bGlnaHRzX2xhbWJlcnRfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2hhZG93bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPGZvZ192ZXJ0ZXg+XG59IixtZXNobWF0Y2FwX2ZyYWc6IiNkZWZpbmUgTUFUQ0FQXG51bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbnVuaWZvcm0gc2FtcGxlcjJEIG1hdGNhcDtcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxkaXRoZXJpbmdfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2X3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YWxwaGFtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxidW1wbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGFtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYXRlc3RfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfbWFwcz5cblx0dmVjMyB2aWV3RGlyID0gbm9ybWFsaXplKCB2Vmlld1Bvc2l0aW9uICk7XG5cdHZlYzMgeCA9IG5vcm1hbGl6ZSggdmVjMyggdmlld0Rpci56LCAwLjAsIC0gdmlld0Rpci54ICkgKTtcblx0dmVjMyB5ID0gY3Jvc3MoIHZpZXdEaXIsIHggKTtcblx0dmVjMiB1diA9IHZlYzIoIGRvdCggeCwgbm9ybWFsICksIGRvdCggeSwgbm9ybWFsICkgKSAqIDAuNDk1ICsgMC41O1xuXHQjaWZkZWYgVVNFX01BVENBUFxuXHRcdHZlYzQgbWF0Y2FwQ29sb3IgPSB0ZXh0dXJlMkQoIG1hdGNhcCwgdXYgKTtcblx0XHRtYXRjYXBDb2xvciA9IG1hdGNhcFRleGVsVG9MaW5lYXIoIG1hdGNhcENvbG9yICk7XG5cdCNlbHNlXG5cdFx0dmVjNCBtYXRjYXBDb2xvciA9IHZlYzQoIDEuMCApO1xuXHQjZW5kaWZcblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gZGlmZnVzZUNvbG9yLnJnYiAqIG1hdGNhcENvbG9yLnJnYjtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGRpdGhlcmluZ19mcmFnbWVudD5cbn0iLG1lc2htYXRjYXBfdmVydDoiI2RlZmluZSBNQVRDQVBcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBobm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGVmYXVsdG5vcm1hbF92ZXJ0ZXg+XG5cdCNpZm5kZWYgRkxBVF9TSEFERURcblx0XHR2Tm9ybWFsID0gbm9ybWFsaXplKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xuXHRcdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdFx0dlRhbmdlbnQgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkVGFuZ2VudCApO1xuXHRcdFx0dkJpdGFuZ2VudCA9IG5vcm1hbGl6ZSggY3Jvc3MoIHZOb3JtYWwsIHZUYW5nZW50ICkgKiB0YW5nZW50LncgKTtcblx0XHQjZW5kaWZcblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cblx0dlZpZXdQb3NpdGlvbiA9IC0gbXZQb3NpdGlvbi54eXo7XG59IixtZXNodG9vbl9mcmFnOiIjZGVmaW5lIFRPT05cbnVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSB2ZWMzIGVtaXNzaXZlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxwYWNraW5nPlxuI2luY2x1ZGUgPGRpdGhlcmluZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1djJfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFvbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bGlnaHRtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxlbWlzc2l2ZW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGdyYWRpZW50bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YnNkZnM+XG4jaW5jbHVkZSA8bGlnaHRzX3BhcnNfYmVnaW4+XG4jaW5jbHVkZSA8bGlnaHRzX3Rvb25fcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxidW1wbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ID0gUmVmbGVjdGVkTGlnaHQoIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICksIHZlYzMoIDAuMCApICk7XG5cdHZlYzMgdG90YWxFbWlzc2l2ZVJhZGlhbmNlID0gZW1pc3NpdmU7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGFtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYXRlc3RfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfbWFwcz5cblx0I2luY2x1ZGUgPGVtaXNzaXZlbWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bGlnaHRzX3Rvb25fZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxsaWdodHNfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxsaWdodHNfZnJhZ21lbnRfbWFwcz5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9lbmQ+XG5cdCNpbmNsdWRlIDxhb21hcF9mcmFnbWVudD5cblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gcmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArIHRvdGFsRW1pc3NpdmVSYWRpYW5jZTtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGRpdGhlcmluZ19mcmFnbWVudD5cbn0iLG1lc2h0b29uX3ZlcnQ6IiNkZWZpbmUgVE9PTlxudmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx1djJfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y29sb3JfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dk5vcm1hbCA9IG5vcm1hbGl6ZSggdHJhbnNmb3JtZWROb3JtYWwgKTtcbiNlbmRpZlxuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGh0YXJnZXRfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5pbmdfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cblx0dlZpZXdQb3NpdGlvbiA9IC0gbXZQb3NpdGlvbi54eXo7XG5cdCNpbmNsdWRlIDx3b3JsZHBvc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxzaGFkb3dtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0iLG1lc2hwaG9uZ19mcmFnOiIjZGVmaW5lIFBIT05HXG51bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gdmVjMyBlbWlzc2l2ZTtcbnVuaWZvcm0gdmVjMyBzcGVjdWxhcjtcbnVuaWZvcm0gZmxvYXQgc2hpbmluZXNzO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxwYWNraW5nPlxuI2luY2x1ZGUgPGRpdGhlcmluZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1djJfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFvbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bGlnaHRtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxlbWlzc2l2ZW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVudm1hcF9jb21tb25fcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxlbnZtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjdWJlX3V2X3JlZmxlY3Rpb25fZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YnNkZnM+XG4jaW5jbHVkZSA8bGlnaHRzX3BhcnNfYmVnaW4+XG4jaW5jbHVkZSA8bGlnaHRzX3Bob25nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8c2hhZG93bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YnVtcG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG5vcm1hbG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNwZWN1bGFybWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ID0gUmVmbGVjdGVkTGlnaHQoIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICksIHZlYzMoIDAuMCApICk7XG5cdHZlYzMgdG90YWxFbWlzc2l2ZVJhZGlhbmNlID0gZW1pc3NpdmU7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGFtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYXRlc3RfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxzcGVjdWxhcm1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9tYXBzPlxuXHQjaW5jbHVkZSA8ZW1pc3NpdmVtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxsaWdodHNfcGhvbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxsaWdodHNfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxsaWdodHNfZnJhZ21lbnRfbWFwcz5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9lbmQ+XG5cdCNpbmNsdWRlIDxhb21hcF9mcmFnbWVudD5cblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gcmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArIHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyICsgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3RTcGVjdWxhciArIHRvdGFsRW1pc3NpdmVSYWRpYW5jZTtcblx0I2luY2x1ZGUgPGVudm1hcF9mcmFnbWVudD5cblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGRpdGhlcmluZ19mcmFnbWVudD5cbn0iLG1lc2hwaG9uZ192ZXJ0OiIjZGVmaW5lIFBIT05HXG52YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG4jZW5kaWZcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8dXYyX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxlbnZtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx1djJfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y29sb3JfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dk5vcm1hbCA9IG5vcm1hbGl6ZSggdHJhbnNmb3JtZWROb3JtYWwgKTtcbiNlbmRpZlxuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGh0YXJnZXRfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5pbmdfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cblx0dlZpZXdQb3NpdGlvbiA9IC0gbXZQb3NpdGlvbi54eXo7XG5cdCNpbmNsdWRlIDx3b3JsZHBvc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxlbnZtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2hhZG93bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPGZvZ192ZXJ0ZXg+XG59IixtZXNocGh5c2ljYWxfZnJhZzoiI2RlZmluZSBTVEFOREFSRFxuI2lmZGVmIFBIWVNJQ0FMXG5cdCNkZWZpbmUgUkVGTEVDVElWSVRZXG5cdCNkZWZpbmUgQ0xFQVJDT0FUXG5cdCNkZWZpbmUgU1BFQ1VMQVJcbiNlbmRpZlxudW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIHZlYzMgZW1pc3NpdmU7XG51bmlmb3JtIGZsb2F0IHJvdWdobmVzcztcbnVuaWZvcm0gZmxvYXQgbWV0YWxuZXNzO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2lmZGVmIFVTRV9UUkFOU01JU1NJT05cblx0dW5pZm9ybSBmbG9hdCB0cmFuc21pc3Npb247XG5cdHVuaWZvcm0gZmxvYXQgdGhpY2tuZXNzO1xuXHR1bmlmb3JtIGZsb2F0IGF0dGVudWF0aW9uRGlzdGFuY2U7XG5cdHVuaWZvcm0gdmVjMyBhdHRlbnVhdGlvblRpbnQ7XG4jZW5kaWZcbiNpZmRlZiBSRUZMRUNUSVZJVFlcblx0dW5pZm9ybSBmbG9hdCByZWZsZWN0aXZpdHk7XG4jZW5kaWZcbiNpZmRlZiBTUEVDVUxBUlxuXHR1bmlmb3JtIGZsb2F0IHNwZWN1bGFySW50ZW5zaXR5O1xuXHR1bmlmb3JtIHZlYzMgc3BlY3VsYXJUaW50O1xuXHQjaWZkZWYgVVNFX1NQRUNVTEFSSU5URU5TSVRZTUFQXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgc3BlY3VsYXJJbnRlbnNpdHlNYXA7XG5cdCNlbmRpZlxuXHQjaWZkZWYgVVNFX1NQRUNVTEFSVElOVE1BUFxuXHRcdHVuaWZvcm0gc2FtcGxlcjJEIHNwZWN1bGFyVGludE1hcDtcblx0I2VuZGlmXG4jZW5kaWZcbiNpZmRlZiBDTEVBUkNPQVRcblx0dW5pZm9ybSBmbG9hdCBjbGVhcmNvYXQ7XG5cdHVuaWZvcm0gZmxvYXQgY2xlYXJjb2F0Um91Z2huZXNzO1xuI2VuZGlmXG4jaWZkZWYgVVNFX1NIRUVOXG5cdHVuaWZvcm0gdmVjMyBzaGVlbjtcbiNlbmRpZlxudmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2YXJ5aW5nIHZlYzMgdlRhbmdlbnQ7XG5cdFx0dmFyeWluZyB2ZWMzIHZCaXRhbmdlbnQ7XG5cdCNlbmRpZlxuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8ZGl0aGVyaW5nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YW9tYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsaWdodG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVtaXNzaXZlbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YnNkZnM+XG4jaW5jbHVkZSA8dHJhbnNtaXNzaW9uX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y3ViZV91dl9yZWZsZWN0aW9uX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVudm1hcF9jb21tb25fcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxlbnZtYXBfcGh5c2ljYWxfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsaWdodHNfcGFyc19iZWdpbj5cbiNpbmNsdWRlIDxsaWdodHNfcGh5c2ljYWxfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxidW1wbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y2xlYXJjb2F0X3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8cm91Z2huZXNzbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWV0YWxuZXNzbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ID0gUmVmbGVjdGVkTGlnaHQoIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICksIHZlYzMoIDAuMCApICk7XG5cdHZlYzMgdG90YWxFbWlzc2l2ZVJhZGlhbmNlID0gZW1pc3NpdmU7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGFtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYXRlc3RfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxyb3VnaG5lc3NtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxtZXRhbG5lc3NtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfbWFwcz5cblx0I2luY2x1ZGUgPGNsZWFyY29hdF9ub3JtYWxfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxjbGVhcmNvYXRfbm9ybWFsX2ZyYWdtZW50X21hcHM+XG5cdCNpbmNsdWRlIDxlbWlzc2l2ZW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxpZ2h0c19waHlzaWNhbF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9tYXBzPlxuXHQjaW5jbHVkZSA8bGlnaHRzX2ZyYWdtZW50X2VuZD5cblx0I2luY2x1ZGUgPGFvbWFwX2ZyYWdtZW50PlxuXHR2ZWMzIHRvdGFsRGlmZnVzZSA9IHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKyByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2U7XG5cdHZlYzMgdG90YWxTcGVjdWxhciA9IHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyICsgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3RTcGVjdWxhcjtcblx0I2luY2x1ZGUgPHRyYW5zbWlzc2lvbl9mcmFnbWVudD5cblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gdG90YWxEaWZmdXNlICsgdG90YWxTcGVjdWxhciArIHRvdGFsRW1pc3NpdmVSYWRpYW5jZTtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGRpdGhlcmluZ19mcmFnbWVudD5cbn0iLG1lc2hwaHlzaWNhbF92ZXJ0OiIjZGVmaW5lIFNUQU5EQVJEXG52YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZhcnlpbmcgdmVjMyB2VGFuZ2VudDtcblx0XHR2YXJ5aW5nIHZlYzMgdkJpdGFuZ2VudDtcblx0I2VuZGlmXG4jZW5kaWZcbiNpZmRlZiBVU0VfVFJBTlNNSVNTSU9OXG5cdHZhcnlpbmcgdmVjNCB2V29ybGRQb3NpdGlvbjtcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDx1djJfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGZvZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxtb3JwaHRhcmdldF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxza2lubmluZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8dXZfdmVydGV4PlxuXHQjaW5jbHVkZSA8dXYyX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBobm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGVmYXVsdG5vcm1hbF92ZXJ0ZXg+XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZOb3JtYWwgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkTm9ybWFsICk7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZUYW5nZW50ID0gbm9ybWFsaXplKCB0cmFuc2Zvcm1lZFRhbmdlbnQgKTtcblx0XHR2Qml0YW5nZW50ID0gbm9ybWFsaXplKCBjcm9zcyggdk5vcm1hbCwgdlRhbmdlbnQgKSAqIHRhbmdlbnQudyApO1xuXHQjZW5kaWZcbiNlbmRpZlxuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGh0YXJnZXRfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5pbmdfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cblx0dlZpZXdQb3NpdGlvbiA9IC0gbXZQb3NpdGlvbi54eXo7XG5cdCNpbmNsdWRlIDx3b3JsZHBvc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxzaGFkb3dtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbiNpZmRlZiBVU0VfVFJBTlNNSVNTSU9OXG5cdHZXb3JsZFBvc2l0aW9uID0gd29ybGRQb3NpdGlvbjtcbiNlbmRpZlxufSIsbm9ybWFsX2ZyYWc6IiNkZWZpbmUgTk9STUFMXG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaWYgZGVmaW5lZCggRkxBVF9TSEFERUQgKSB8fCBkZWZpbmVkKCBVU0VfQlVNUE1BUCApIHx8IGRlZmluZWQoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKVxuXHR2YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNlbmRpZlxuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxidW1wbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bm9ybWFsX2ZyYWdtZW50X2JlZ2luPlxuXHQjaW5jbHVkZSA8bm9ybWFsX2ZyYWdtZW50X21hcHM+XG5cdGdsX0ZyYWdDb2xvciA9IHZlYzQoIHBhY2tOb3JtYWxUb1JHQiggbm9ybWFsICksIG9wYWNpdHkgKTtcbn0iLG5vcm1hbF92ZXJ0OiIjZGVmaW5lIE5PUk1BTFxuI2lmIGRlZmluZWQoIEZMQVRfU0hBREVEICkgfHwgZGVmaW5lZCggVVNFX0JVTVBNQVAgKSB8fCBkZWZpbmVkKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQIClcblx0dmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jZW5kaWZcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZhcnlpbmcgdmVjMyB2VGFuZ2VudDtcblx0XHR2YXJ5aW5nIHZlYzMgdkJpdGFuZ2VudDtcblx0I2VuZGlmXG4jZW5kaWZcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBobm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGVmYXVsdG5vcm1hbF92ZXJ0ZXg+XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZOb3JtYWwgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkTm9ybWFsICk7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZUYW5nZW50ID0gbm9ybWFsaXplKCB0cmFuc2Zvcm1lZFRhbmdlbnQgKTtcblx0XHR2Qml0YW5nZW50ID0gbm9ybWFsaXplKCBjcm9zcyggdk5vcm1hbCwgdlRhbmdlbnQgKSAqIHRhbmdlbnQudyApO1xuXHQjZW5kaWZcbiNlbmRpZlxuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGh0YXJnZXRfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5pbmdfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cbiNpZiBkZWZpbmVkKCBGTEFUX1NIQURFRCApIHx8IGRlZmluZWQoIFVTRV9CVU1QTUFQICkgfHwgZGVmaW5lZCggVEFOR0VOVFNQQUNFX05PUk1BTE1BUCApXG5cdHZWaWV3UG9zaXRpb24gPSAtIG12UG9zaXRpb24ueHl6O1xuI2VuZGlmXG59Iixwb2ludHNfZnJhZzoidW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWFwX3BhcnRpY2xlX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gdmVjMyggMC4wICk7XG5cdHZlYzQgZGlmZnVzZUNvbG9yID0gdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxtYXBfcGFydGljbGVfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxjb2xvcl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0b3V0Z29pbmdMaWdodCA9IGRpZmZ1c2VDb2xvci5yZ2I7XG5cdGdsX0ZyYWdDb2xvciA9IHZlYzQoIG91dGdvaW5nTGlnaHQsIGRpZmZ1c2VDb2xvci5hICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGZvZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPHByZW11bHRpcGxpZWRfYWxwaGFfZnJhZ21lbnQ+XG59Iixwb2ludHNfdmVydDoidW5pZm9ybSBmbG9hdCBzaXplO1xudW5pZm9ybSBmbG9hdCBzY2FsZTtcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBodGFyZ2V0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHRnbF9Qb2ludFNpemUgPSBzaXplO1xuXHQjaWZkZWYgVVNFX1NJWkVBVFRFTlVBVElPTlxuXHRcdGJvb2wgaXNQZXJzcGVjdGl2ZSA9IGlzUGVyc3BlY3RpdmVNYXRyaXgoIHByb2plY3Rpb25NYXRyaXggKTtcblx0XHRpZiAoIGlzUGVyc3BlY3RpdmUgKSBnbF9Qb2ludFNpemUgKj0gKCBzY2FsZSAvIC0gbXZQb3NpdGlvbi56ICk7XG5cdCNlbmRpZlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPGZvZ192ZXJ0ZXg+XG59IixzaGFkb3dfZnJhZzoidW5pZm9ybSB2ZWMzIGNvbG9yO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxwYWNraW5nPlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGJzZGZzPlxuI2luY2x1ZGUgPGxpZ2h0c19wYXJzX2JlZ2luPlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNoYWRvd21hc2tfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggY29sb3IsIG9wYWNpdHkgKiAoIDEuMCAtIGdldFNoYWRvd01hc2soKSApICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGZvZ19mcmFnbWVudD5cbn0iLHNoYWRvd192ZXJ0OiIjaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPGZvZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBobm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGVmYXVsdG5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxzaGFkb3dtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0iLHNwcml0ZV9mcmFnOiJ1bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnQ+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnQ+XG5cdHZlYzMgb3V0Z29pbmdMaWdodCA9IHZlYzMoIDAuMCApO1xuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGFtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYXRlc3RfZnJhZ21lbnQ+XG5cdG91dGdvaW5nTGlnaHQgPSBkaWZmdXNlQ29sb3IucmdiO1xuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG59IixzcHJpdGVfdmVydDoidW5pZm9ybSBmbG9hdCByb3RhdGlvbjtcbnVuaWZvcm0gdmVjMiBjZW50ZXI7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGZvZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdHZlYzQgbXZQb3NpdGlvbiA9IG1vZGVsVmlld01hdHJpeCAqIHZlYzQoIDAuMCwgMC4wLCAwLjAsIDEuMCApO1xuXHR2ZWMyIHNjYWxlO1xuXHRzY2FsZS54ID0gbGVuZ3RoKCB2ZWMzKCBtb2RlbE1hdHJpeFsgMCBdLngsIG1vZGVsTWF0cml4WyAwIF0ueSwgbW9kZWxNYXRyaXhbIDAgXS56ICkgKTtcblx0c2NhbGUueSA9IGxlbmd0aCggdmVjMyggbW9kZWxNYXRyaXhbIDEgXS54LCBtb2RlbE1hdHJpeFsgMSBdLnksIG1vZGVsTWF0cml4WyAxIF0ueiApICk7XG5cdCNpZm5kZWYgVVNFX1NJWkVBVFRFTlVBVElPTlxuXHRcdGJvb2wgaXNQZXJzcGVjdGl2ZSA9IGlzUGVyc3BlY3RpdmVNYXRyaXgoIHByb2plY3Rpb25NYXRyaXggKTtcblx0XHRpZiAoIGlzUGVyc3BlY3RpdmUgKSBzY2FsZSAqPSAtIG12UG9zaXRpb24uejtcblx0I2VuZGlmXG5cdHZlYzIgYWxpZ25lZFBvc2l0aW9uID0gKCBwb3NpdGlvbi54eSAtICggY2VudGVyIC0gdmVjMiggMC41ICkgKSApICogc2NhbGU7XG5cdHZlYzIgcm90YXRlZFBvc2l0aW9uO1xuXHRyb3RhdGVkUG9zaXRpb24ueCA9IGNvcyggcm90YXRpb24gKSAqIGFsaWduZWRQb3NpdGlvbi54IC0gc2luKCByb3RhdGlvbiApICogYWxpZ25lZFBvc2l0aW9uLnk7XG5cdHJvdGF0ZWRQb3NpdGlvbi55ID0gc2luKCByb3RhdGlvbiApICogYWxpZ25lZFBvc2l0aW9uLnggKyBjb3MoIHJvdGF0aW9uICkgKiBhbGlnbmVkUG9zaXRpb24ueTtcblx0bXZQb3NpdGlvbi54eSArPSByb3RhdGVkUG9zaXRpb247XG5cdGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbk1hdHJpeCAqIG12UG9zaXRpb247XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0ifSxRY3Q9e2NvbW1vbjp7ZGlmZnVzZTp7dmFsdWU6bmV3IFpsdCgxNjc3NzIxNSl9LG9wYWNpdHk6e3ZhbHVlOjF9LG1hcDp7dmFsdWU6bnVsbH0sdXZUcmFuc2Zvcm06e3ZhbHVlOm5ldyBoc3R9LHV2MlRyYW5zZm9ybTp7dmFsdWU6bmV3IGhzdH0sYWxwaGFNYXA6e3ZhbHVlOm51bGx9fSxzcGVjdWxhcm1hcDp7c3BlY3VsYXJNYXA6e3ZhbHVlOm51bGx9fSxlbnZtYXA6e2Vudk1hcDp7dmFsdWU6bnVsbH0sZmxpcEVudk1hcDp7dmFsdWU6LTF9LHJlZmxlY3Rpdml0eTp7dmFsdWU6MX0scmVmcmFjdGlvblJhdGlvOnt2YWx1ZTouOTh9LG1heE1pcExldmVsOnt2YWx1ZTowfX0sYW9tYXA6e2FvTWFwOnt2YWx1ZTpudWxsfSxhb01hcEludGVuc2l0eTp7dmFsdWU6MX19LGxpZ2h0bWFwOntsaWdodE1hcDp7dmFsdWU6bnVsbH0sbGlnaHRNYXBJbnRlbnNpdHk6e3ZhbHVlOjF9fSxlbWlzc2l2ZW1hcDp7ZW1pc3NpdmVNYXA6e3ZhbHVlOm51bGx9fSxidW1wbWFwOntidW1wTWFwOnt2YWx1ZTpudWxsfSxidW1wU2NhbGU6e3ZhbHVlOjF9fSxub3JtYWxtYXA6e25vcm1hbE1hcDp7dmFsdWU6bnVsbH0sbm9ybWFsU2NhbGU6e3ZhbHVlOm5ldyBnc3QoMSwxKX19LGRpc3BsYWNlbWVudG1hcDp7ZGlzcGxhY2VtZW50TWFwOnt2YWx1ZTpudWxsfSxkaXNwbGFjZW1lbnRTY2FsZTp7dmFsdWU6MX0sZGlzcGxhY2VtZW50Qmlhczp7dmFsdWU6MH19LHJvdWdobmVzc21hcDp7cm91Z2huZXNzTWFwOnt2YWx1ZTpudWxsfX0sbWV0YWxuZXNzbWFwOnttZXRhbG5lc3NNYXA6e3ZhbHVlOm51bGx9fSxncmFkaWVudG1hcDp7Z3JhZGllbnRNYXA6e3ZhbHVlOm51bGx9fSxmb2c6e2ZvZ0RlbnNpdHk6e3ZhbHVlOjI1ZS01fSxmb2dOZWFyOnt2YWx1ZToxfSxmb2dGYXI6e3ZhbHVlOjJlM30sZm9nQ29sb3I6e3ZhbHVlOm5ldyBabHQoMTY3NzcyMTUpfX0sbGlnaHRzOnthbWJpZW50TGlnaHRDb2xvcjp7dmFsdWU6W119LGxpZ2h0UHJvYmU6e3ZhbHVlOltdfSxkaXJlY3Rpb25hbExpZ2h0czp7dmFsdWU6W10scHJvcGVydGllczp7ZGlyZWN0aW9uOnt9LGNvbG9yOnt9fX0sZGlyZWN0aW9uYWxMaWdodFNoYWRvd3M6e3ZhbHVlOltdLHByb3BlcnRpZXM6e3NoYWRvd0JpYXM6e30sc2hhZG93Tm9ybWFsQmlhczp7fSxzaGFkb3dSYWRpdXM6e30sc2hhZG93TWFwU2l6ZTp7fX19LGRpcmVjdGlvbmFsU2hhZG93TWFwOnt2YWx1ZTpbXX0sZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXg6e3ZhbHVlOltdfSxzcG90TGlnaHRzOnt2YWx1ZTpbXSxwcm9wZXJ0aWVzOntjb2xvcjp7fSxwb3NpdGlvbjp7fSxkaXJlY3Rpb246e30sZGlzdGFuY2U6e30sY29uZUNvczp7fSxwZW51bWJyYUNvczp7fSxkZWNheTp7fX19LHNwb3RMaWdodFNoYWRvd3M6e3ZhbHVlOltdLHByb3BlcnRpZXM6e3NoYWRvd0JpYXM6e30sc2hhZG93Tm9ybWFsQmlhczp7fSxzaGFkb3dSYWRpdXM6e30sc2hhZG93TWFwU2l6ZTp7fX19LHNwb3RTaGFkb3dNYXA6e3ZhbHVlOltdfSxzcG90U2hhZG93TWF0cml4Ont2YWx1ZTpbXX0scG9pbnRMaWdodHM6e3ZhbHVlOltdLHByb3BlcnRpZXM6e2NvbG9yOnt9LHBvc2l0aW9uOnt9LGRlY2F5Ont9LGRpc3RhbmNlOnt9fX0scG9pbnRMaWdodFNoYWRvd3M6e3ZhbHVlOltdLHByb3BlcnRpZXM6e3NoYWRvd0JpYXM6e30sc2hhZG93Tm9ybWFsQmlhczp7fSxzaGFkb3dSYWRpdXM6e30sc2hhZG93TWFwU2l6ZTp7fSxzaGFkb3dDYW1lcmFOZWFyOnt9LHNoYWRvd0NhbWVyYUZhcjp7fX19LHBvaW50U2hhZG93TWFwOnt2YWx1ZTpbXX0scG9pbnRTaGFkb3dNYXRyaXg6e3ZhbHVlOltdfSxoZW1pc3BoZXJlTGlnaHRzOnt2YWx1ZTpbXSxwcm9wZXJ0aWVzOntkaXJlY3Rpb246e30sc2t5Q29sb3I6e30sZ3JvdW5kQ29sb3I6e319fSxyZWN0QXJlYUxpZ2h0czp7dmFsdWU6W10scHJvcGVydGllczp7Y29sb3I6e30scG9zaXRpb246e30sd2lkdGg6e30saGVpZ2h0Ont9fX0sbHRjXzE6e3ZhbHVlOm51bGx9LGx0Y18yOnt2YWx1ZTpudWxsfX0scG9pbnRzOntkaWZmdXNlOnt2YWx1ZTpuZXcgWmx0KDE2Nzc3MjE1KX0sb3BhY2l0eTp7dmFsdWU6MX0sc2l6ZTp7dmFsdWU6MX0sc2NhbGU6e3ZhbHVlOjF9LG1hcDp7dmFsdWU6bnVsbH0sYWxwaGFNYXA6e3ZhbHVlOm51bGx9LHV2VHJhbnNmb3JtOnt2YWx1ZTpuZXcgaHN0fX0sc3ByaXRlOntkaWZmdXNlOnt2YWx1ZTpuZXcgWmx0KDE2Nzc3MjE1KX0sb3BhY2l0eTp7dmFsdWU6MX0sY2VudGVyOnt2YWx1ZTpuZXcgZ3N0KC41LC41KX0scm90YXRpb246e3ZhbHVlOjB9LG1hcDp7dmFsdWU6bnVsbH0sYWxwaGFNYXA6e3ZhbHVlOm51bGx9LHV2VHJhbnNmb3JtOnt2YWx1ZTpuZXcgaHN0fX19LCRjdD17YmFzaWM6e3VuaWZvcm1zOkFjdChbUWN0LmNvbW1vbixRY3Quc3BlY3VsYXJtYXAsUWN0LmVudm1hcCxRY3QuYW9tYXAsUWN0LmxpZ2h0bWFwLFFjdC5mb2ddKSx2ZXJ0ZXhTaGFkZXI6SmN0Lm1lc2hiYXNpY192ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5tZXNoYmFzaWNfZnJhZ30sbGFtYmVydDp7dW5pZm9ybXM6QWN0KFtRY3QuY29tbW9uLFFjdC5zcGVjdWxhcm1hcCxRY3QuZW52bWFwLFFjdC5hb21hcCxRY3QubGlnaHRtYXAsUWN0LmVtaXNzaXZlbWFwLFFjdC5mb2csUWN0LmxpZ2h0cyx7ZW1pc3NpdmU6e3ZhbHVlOm5ldyBabHQoMCl9fV0pLHZlcnRleFNoYWRlcjpKY3QubWVzaGxhbWJlcnRfdmVydCxmcmFnbWVudFNoYWRlcjpKY3QubWVzaGxhbWJlcnRfZnJhZ30scGhvbmc6e3VuaWZvcm1zOkFjdChbUWN0LmNvbW1vbixRY3Quc3BlY3VsYXJtYXAsUWN0LmVudm1hcCxRY3QuYW9tYXAsUWN0LmxpZ2h0bWFwLFFjdC5lbWlzc2l2ZW1hcCxRY3QuYnVtcG1hcCxRY3Qubm9ybWFsbWFwLFFjdC5kaXNwbGFjZW1lbnRtYXAsUWN0LmZvZyxRY3QubGlnaHRzLHtlbWlzc2l2ZTp7dmFsdWU6bmV3IFpsdCgwKX0sc3BlY3VsYXI6e3ZhbHVlOm5ldyBabHQoMTExODQ4MSl9LHNoaW5pbmVzczp7dmFsdWU6MzB9fV0pLHZlcnRleFNoYWRlcjpKY3QubWVzaHBob25nX3ZlcnQsZnJhZ21lbnRTaGFkZXI6SmN0Lm1lc2hwaG9uZ19mcmFnfSxzdGFuZGFyZDp7dW5pZm9ybXM6QWN0KFtRY3QuY29tbW9uLFFjdC5lbnZtYXAsUWN0LmFvbWFwLFFjdC5saWdodG1hcCxRY3QuZW1pc3NpdmVtYXAsUWN0LmJ1bXBtYXAsUWN0Lm5vcm1hbG1hcCxRY3QuZGlzcGxhY2VtZW50bWFwLFFjdC5yb3VnaG5lc3NtYXAsUWN0Lm1ldGFsbmVzc21hcCxRY3QuZm9nLFFjdC5saWdodHMse2VtaXNzaXZlOnt2YWx1ZTpuZXcgWmx0KDApfSxyb3VnaG5lc3M6e3ZhbHVlOjF9LG1ldGFsbmVzczp7dmFsdWU6MH0sZW52TWFwSW50ZW5zaXR5Ont2YWx1ZToxfX1dKSx2ZXJ0ZXhTaGFkZXI6SmN0Lm1lc2hwaHlzaWNhbF92ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5tZXNocGh5c2ljYWxfZnJhZ30sdG9vbjp7dW5pZm9ybXM6QWN0KFtRY3QuY29tbW9uLFFjdC5hb21hcCxRY3QubGlnaHRtYXAsUWN0LmVtaXNzaXZlbWFwLFFjdC5idW1wbWFwLFFjdC5ub3JtYWxtYXAsUWN0LmRpc3BsYWNlbWVudG1hcCxRY3QuZ3JhZGllbnRtYXAsUWN0LmZvZyxRY3QubGlnaHRzLHtlbWlzc2l2ZTp7dmFsdWU6bmV3IFpsdCgwKX19XSksdmVydGV4U2hhZGVyOkpjdC5tZXNodG9vbl92ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5tZXNodG9vbl9mcmFnfSxtYXRjYXA6e3VuaWZvcm1zOkFjdChbUWN0LmNvbW1vbixRY3QuYnVtcG1hcCxRY3Qubm9ybWFsbWFwLFFjdC5kaXNwbGFjZW1lbnRtYXAsUWN0LmZvZyx7bWF0Y2FwOnt2YWx1ZTpudWxsfX1dKSx2ZXJ0ZXhTaGFkZXI6SmN0Lm1lc2htYXRjYXBfdmVydCxmcmFnbWVudFNoYWRlcjpKY3QubWVzaG1hdGNhcF9mcmFnfSxwb2ludHM6e3VuaWZvcm1zOkFjdChbUWN0LnBvaW50cyxRY3QuZm9nXSksdmVydGV4U2hhZGVyOkpjdC5wb2ludHNfdmVydCxmcmFnbWVudFNoYWRlcjpKY3QucG9pbnRzX2ZyYWd9LGRhc2hlZDp7dW5pZm9ybXM6QWN0KFtRY3QuY29tbW9uLFFjdC5mb2cse3NjYWxlOnt2YWx1ZToxfSxkYXNoU2l6ZTp7dmFsdWU6MX0sdG90YWxTaXplOnt2YWx1ZToyfX1dKSx2ZXJ0ZXhTaGFkZXI6SmN0LmxpbmVkYXNoZWRfdmVydCxmcmFnbWVudFNoYWRlcjpKY3QubGluZWRhc2hlZF9mcmFnfSxkZXB0aDp7dW5pZm9ybXM6QWN0KFtRY3QuY29tbW9uLFFjdC5kaXNwbGFjZW1lbnRtYXBdKSx2ZXJ0ZXhTaGFkZXI6SmN0LmRlcHRoX3ZlcnQsZnJhZ21lbnRTaGFkZXI6SmN0LmRlcHRoX2ZyYWd9LG5vcm1hbDp7dW5pZm9ybXM6QWN0KFtRY3QuY29tbW9uLFFjdC5idW1wbWFwLFFjdC5ub3JtYWxtYXAsUWN0LmRpc3BsYWNlbWVudG1hcCx7b3BhY2l0eTp7dmFsdWU6MX19XSksdmVydGV4U2hhZGVyOkpjdC5ub3JtYWxfdmVydCxmcmFnbWVudFNoYWRlcjpKY3Qubm9ybWFsX2ZyYWd9LHNwcml0ZTp7dW5pZm9ybXM6QWN0KFtRY3Quc3ByaXRlLFFjdC5mb2ddKSx2ZXJ0ZXhTaGFkZXI6SmN0LnNwcml0ZV92ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5zcHJpdGVfZnJhZ30sYmFja2dyb3VuZDp7dW5pZm9ybXM6e3V2VHJhbnNmb3JtOnt2YWx1ZTpuZXcgaHN0fSx0MkQ6e3ZhbHVlOm51bGx9fSx2ZXJ0ZXhTaGFkZXI6SmN0LmJhY2tncm91bmRfdmVydCxmcmFnbWVudFNoYWRlcjpKY3QuYmFja2dyb3VuZF9mcmFnfSxjdWJlOnt1bmlmb3JtczpBY3QoW1FjdC5lbnZtYXAse29wYWNpdHk6e3ZhbHVlOjF9fV0pLHZlcnRleFNoYWRlcjpKY3QuY3ViZV92ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5jdWJlX2ZyYWd9LGVxdWlyZWN0Ont1bmlmb3Jtczp7dEVxdWlyZWN0Ont2YWx1ZTpudWxsfX0sdmVydGV4U2hhZGVyOkpjdC5lcXVpcmVjdF92ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5lcXVpcmVjdF9mcmFnfSxkaXN0YW5jZVJHQkE6e3VuaWZvcm1zOkFjdChbUWN0LmNvbW1vbixRY3QuZGlzcGxhY2VtZW50bWFwLHtyZWZlcmVuY2VQb3NpdGlvbjp7dmFsdWU6bmV3IHdzdH0sbmVhckRpc3RhbmNlOnt2YWx1ZToxfSxmYXJEaXN0YW5jZTp7dmFsdWU6MWUzfX1dKSx2ZXJ0ZXhTaGFkZXI6SmN0LmRpc3RhbmNlUkdCQV92ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5kaXN0YW5jZVJHQkFfZnJhZ30sc2hhZG93Ont1bmlmb3JtczpBY3QoW1FjdC5saWdodHMsUWN0LmZvZyx7Y29sb3I6e3ZhbHVlOm5ldyBabHQoMCl9LG9wYWNpdHk6e3ZhbHVlOjF9fV0pLHZlcnRleFNoYWRlcjpKY3Quc2hhZG93X3ZlcnQsZnJhZ21lbnRTaGFkZXI6SmN0LnNoYWRvd19mcmFnfX07ZnVuY3Rpb24gdGR0KHQsZSxuLG8saSl7Y29uc3QgYT1uZXcgWmx0KDApO2xldCByLHMsbD0wLGM9bnVsbCxkPTAscD1udWxsO2Z1bmN0aW9uIG0odCxlKXtuLmJ1ZmZlcnMuY29sb3Iuc2V0Q2xlYXIodC5yLHQuZyx0LmIsZSxpKX1yZXR1cm57Z2V0Q2xlYXJDb2xvcjpmdW5jdGlvbigpe3JldHVybiBhfSxzZXRDbGVhckNvbG9yOmZ1bmN0aW9uKHQsZT0xKXthLnNldCh0KSxsPWUsbShhLGwpfSxnZXRDbGVhckFscGhhOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LHNldENsZWFyQWxwaGE6ZnVuY3Rpb24odCl7bD10LG0oYSxsKX0scmVuZGVyOmZ1bmN0aW9uIGYobixpKXtsZXQgZj0hMSx1PSEwPT09aS5pc1NjZW5lP2kuYmFja2dyb3VuZDpudWxsO3UmJnUuaXNUZXh0dXJlJiYodT1lLmdldCh1KSk7Y29uc3QgZz10LnhyLGg9Zy5nZXRTZXNzaW9uJiZnLmdldFNlc3Npb24oKTtoJiYiYWRkaXRpdmUiPT09aC5lbnZpcm9ubWVudEJsZW5kTW9kZSYmKHU9bnVsbCksbnVsbD09PXU/bShhLGwpOnUmJnUuaXNDb2xvciYmKG0odSwxKSxmPSEwKSwodC5hdXRvQ2xlYXJ8fGYpJiZ0LmNsZWFyKHQuYXV0b0NsZWFyQ29sb3IsdC5hdXRvQ2xlYXJEZXB0aCx0LmF1dG9DbGVhclN0ZW5jaWwpLHUmJih1LmlzQ3ViZVRleHR1cmV8fHUubWFwcGluZz09PVNydCk/KHZvaWQgMD09PXMmJihzPW5ldyBTY3QobmV3IFJjdCgxLDEsMSksbmV3IE5jdCh7bmFtZToiQmFja2dyb3VuZEN1YmVNYXRlcmlhbCIsdW5pZm9ybXM6RWN0KCRjdC5jdWJlLnVuaWZvcm1zKSx2ZXJ0ZXhTaGFkZXI6JGN0LmN1YmUudmVydGV4U2hhZGVyLGZyYWdtZW50U2hhZGVyOiRjdC5jdWJlLmZyYWdtZW50U2hhZGVyLHNpZGU6MSxkZXB0aFRlc3Q6ITEsZGVwdGhXcml0ZTohMSxmb2c6ITF9KSkscy5nZW9tZXRyeS5kZWxldGVBdHRyaWJ1dGUoIm5vcm1hbCIpLHMuZ2VvbWV0cnkuZGVsZXRlQXR0cmlidXRlKCJ1diIpLHMub25CZWZvcmVSZW5kZXI9ZnVuY3Rpb24odCxlLG4pe3RoaXMubWF0cml4V29ybGQuY29weVBvc2l0aW9uKG4ubWF0cml4V29ybGQpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkocy5tYXRlcmlhbCwiZW52TWFwIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudW5pZm9ybXMuZW52TWFwLnZhbHVlfX0pLG8udXBkYXRlKHMpKSxzLm1hdGVyaWFsLnVuaWZvcm1zLmVudk1hcC52YWx1ZT11LHMubWF0ZXJpYWwudW5pZm9ybXMuZmxpcEVudk1hcC52YWx1ZT11LmlzQ3ViZVRleHR1cmUmJiExPT09dS5pc1JlbmRlclRhcmdldFRleHR1cmU/LTE6MSxjPT09dSYmZD09PXUudmVyc2lvbiYmcD09PXQudG9uZU1hcHBpbmd8fChzLm1hdGVyaWFsLm5lZWRzVXBkYXRlPSEwLGM9dSxkPXUudmVyc2lvbixwPXQudG9uZU1hcHBpbmcpLG4udW5zaGlmdChzLHMuZ2VvbWV0cnkscy5tYXRlcmlhbCwwLDAsbnVsbCkpOnUmJnUuaXNUZXh0dXJlJiYodm9pZCAwPT09ciYmKHI9bmV3IFNjdChuZXcgS2N0KDIsMiksbmV3IE5jdCh7bmFtZToiQmFja2dyb3VuZE1hdGVyaWFsIix1bmlmb3JtczpFY3QoJGN0LmJhY2tncm91bmQudW5pZm9ybXMpLHZlcnRleFNoYWRlcjokY3QuYmFja2dyb3VuZC52ZXJ0ZXhTaGFkZXIsZnJhZ21lbnRTaGFkZXI6JGN0LmJhY2tncm91bmQuZnJhZ21lbnRTaGFkZXIsc2lkZTowLGRlcHRoVGVzdDohMSxkZXB0aFdyaXRlOiExLGZvZzohMX0pKSxyLmdlb21ldHJ5LmRlbGV0ZUF0dHJpYnV0ZSgibm9ybWFsIiksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIubWF0ZXJpYWwsIm1hcCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnVuaWZvcm1zLnQyRC52YWx1ZX19KSxvLnVwZGF0ZShyKSksci5tYXRlcmlhbC51bmlmb3Jtcy50MkQudmFsdWU9dSwhMD09PXUubWF0cml4QXV0b1VwZGF0ZSYmdS51cGRhdGVNYXRyaXgoKSxyLm1hdGVyaWFsLnVuaWZvcm1zLnV2VHJhbnNmb3JtLnZhbHVlLmNvcHkodS5tYXRyaXgpLGM9PT11JiZkPT09dS52ZXJzaW9uJiZwPT09dC50b25lTWFwcGluZ3x8KHIubWF0ZXJpYWwubmVlZHNVcGRhdGU9ITAsYz11LGQ9dS52ZXJzaW9uLHA9dC50b25lTWFwcGluZyksbi51bnNoaWZ0KHIsci5nZW9tZXRyeSxyLm1hdGVyaWFsLDAsMCxudWxsKSl9fX1mdW5jdGlvbiBlZHQodCxlLG4sbyl7Y29uc3QgaT10LmdldFBhcmFtZXRlcigzNDkyMSksYT1vLmlzV2ViR0wyP251bGw6ZS5nZXQoIk9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0Iikscj1vLmlzV2ViR0wyfHxudWxsIT09YSxzPXt9LGw9bShudWxsKTtsZXQgYz1sO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIG8uaXNXZWJHTDI/dC5iaW5kVmVydGV4QXJyYXkoZSk6YS5iaW5kVmVydGV4QXJyYXlPRVMoZSl9ZnVuY3Rpb24gcChlKXtyZXR1cm4gby5pc1dlYkdMMj90LmRlbGV0ZVZlcnRleEFycmF5KGUpOmEuZGVsZXRlVmVydGV4QXJyYXlPRVMoZSl9ZnVuY3Rpb24gbSh0KXtjb25zdCBlPVtdLG49W10sbz1bXTtmb3IobGV0IHQ9MDt0PGk7dCsrKWVbdF09MCxuW3RdPTAsb1t0XT0wO3JldHVybntnZW9tZXRyeTpudWxsLHByb2dyYW06bnVsbCx3aXJlZnJhbWU6ITEsbmV3QXR0cmlidXRlczplLGVuYWJsZWRBdHRyaWJ1dGVzOm4sYXR0cmlidXRlRGl2aXNvcnM6byxvYmplY3Q6dCxhdHRyaWJ1dGVzOnt9LGluZGV4Om51bGx9fWZ1bmN0aW9uIGYoKXtjb25zdCB0PWMubmV3QXR0cmlidXRlcztmb3IobGV0IGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspdFtlXT0wfWZ1bmN0aW9uIHUodCl7Zyh0LDApfWZ1bmN0aW9uIGcobixpKXtjb25zdCBhPWMuZW5hYmxlZEF0dHJpYnV0ZXMscj1jLmF0dHJpYnV0ZURpdmlzb3JzO2lmKGMubmV3QXR0cmlidXRlc1tuXT0xLDA9PT1hW25dJiYodC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShuKSxhW25dPTEpLHJbbl0hPT1pKXsoby5pc1dlYkdMMj90OmUuZ2V0KCJBTkdMRV9pbnN0YW5jZWRfYXJyYXlzIikpW28uaXNXZWJHTDI/InZlcnRleEF0dHJpYkRpdmlzb3IiOiJ2ZXJ0ZXhBdHRyaWJEaXZpc29yQU5HTEUiXShuLGkpLHJbbl09aX19ZnVuY3Rpb24gaCgpe2NvbnN0IGU9Yy5uZXdBdHRyaWJ1dGVzLG49Yy5lbmFibGVkQXR0cmlidXRlcztmb3IobGV0IG89MCxpPW4ubGVuZ3RoO288aTtvKyspbltvXSE9PWVbb10mJih0LmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShvKSxuW29dPTApfWZ1bmN0aW9uIGIoZSxuLGksYSxyLHMpeyEwIT09by5pc1dlYkdMMnx8NTEyNCE9PWkmJjUxMjUhPT1pP3QudmVydGV4QXR0cmliUG9pbnRlcihlLG4saSxhLHIscyk6dC52ZXJ0ZXhBdHRyaWJJUG9pbnRlcihlLG4saSxyLHMpfWZ1bmN0aW9uIHkoKXtfKCksYyE9PWwmJihjPWwsZChjLm9iamVjdCkpfWZ1bmN0aW9uIF8oKXtsLmdlb21ldHJ5PW51bGwsbC5wcm9ncmFtPW51bGwsbC53aXJlZnJhbWU9ITF9cmV0dXJue3NldHVwOmZ1bmN0aW9uIEMoaSxsLHAseSxfKXtsZXQgQz0hMTtpZihyKXtjb25zdCBlPShmdW5jdGlvbiBNKGUsbixpKXtjb25zdCByPSEwPT09aS53aXJlZnJhbWU7bGV0IGw9c1tlLmlkXTt2b2lkIDA9PT1sJiYobD17fSxzW2UuaWRdPWwpO2xldCBjPWxbbi5pZF07dm9pZCAwPT09YyYmKGM9e30sbFtuLmlkXT1jKTtsZXQgZD1jW3JdO3ZvaWQgMD09PWQmJihkPW0oKGZ1bmN0aW9uIHAoKXtyZXR1cm4gby5pc1dlYkdMMj90LmNyZWF0ZVZlcnRleEFycmF5KCk6YS5jcmVhdGVWZXJ0ZXhBcnJheU9FUygpfSkoKSksY1tyXT1kKTtyZXR1cm4gZH0pKHkscCxsKTtjIT09ZSYmKGM9ZSxkKGMub2JqZWN0KSksQz0oZnVuY3Rpb24gdih0LGUpe2NvbnN0IG49Yy5hdHRyaWJ1dGVzLG89dC5hdHRyaWJ1dGVzO2xldCBpPTA7Zm9yKGNvbnN0IHQgaW4gbyl7Y29uc3QgZT1uW3RdLGE9b1t0XTtpZih2b2lkIDA9PT1lKXJldHVybiEwO2lmKGUuYXR0cmlidXRlIT09YSlyZXR1cm4hMDtpZihlLmRhdGEhPT1hLmRhdGEpcmV0dXJuITA7aSsrfXJldHVybiBjLmF0dHJpYnV0ZXNOdW0hPT1pfHxjLmluZGV4IT09ZX0pKHksXyksQyYmKGZ1bmN0aW9uIHgodCxlKXtjb25zdCBuPXt9LG89dC5hdHRyaWJ1dGVzO2xldCBpPTA7Zm9yKGNvbnN0IHQgaW4gbyl7Y29uc3QgZT1vW3RdLGE9e307YS5hdHRyaWJ1dGU9ZSxlLmRhdGEmJihhLmRhdGE9ZS5kYXRhKSxuW3RdPWEsaSsrfWMuYXR0cmlidXRlcz1uLGMuYXR0cmlidXRlc051bT1pLGMuaW5kZXg9ZX0pKHksXyl9ZWxzZXtjb25zdCB0PSEwPT09bC53aXJlZnJhbWU7Yy5nZW9tZXRyeT09PXkuaWQmJmMucHJvZ3JhbT09PXAuaWQmJmMud2lyZWZyYW1lPT09dHx8KGMuZ2VvbWV0cnk9eS5pZCxjLnByb2dyYW09cC5pZCxjLndpcmVmcmFtZT10LEM9ITApfSEwPT09aS5pc0luc3RhbmNlZE1lc2gmJihDPSEwKSxudWxsIT09XyYmbi51cGRhdGUoXywzNDk2MyksQyYmKCEoZnVuY3Rpb24gTyhpLGEscixzKXtpZighMT09PW8uaXNXZWJHTDImJihpLmlzSW5zdGFuY2VkTWVzaHx8cy5pc0luc3RhbmNlZEJ1ZmZlckdlb21ldHJ5KSYmbnVsbD09PWUuZ2V0KCJBTkdMRV9pbnN0YW5jZWRfYXJyYXlzIikpcmV0dXJuO2YoKTtjb25zdCBsPXMuYXR0cmlidXRlcyxjPXIuZ2V0QXR0cmlidXRlcygpLGQ9YS5kZWZhdWx0QXR0cmlidXRlVmFsdWVzO2Zvcihjb25zdCBlIGluIGMpe2NvbnN0IG89Y1tlXTtpZihvPj0wKXtjb25zdCBhPWxbZV07aWYodm9pZCAwIT09YSl7Y29uc3QgZT1hLm5vcm1hbGl6ZWQsaT1hLml0ZW1TaXplLHI9bi5nZXQoYSk7aWYodm9pZCAwPT09ciljb250aW51ZTtjb25zdCBsPXIuYnVmZmVyLGM9ci50eXBlLGQ9ci5ieXRlc1BlckVsZW1lbnQ7aWYoYS5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlKXtjb25zdCBuPWEuZGF0YSxyPW4uc3RyaWRlLHA9YS5vZmZzZXQ7biYmbi5pc0luc3RhbmNlZEludGVybGVhdmVkQnVmZmVyPyhnKG8sbi5tZXNoUGVyQXR0cmlidXRlKSx2b2lkIDA9PT1zLl9tYXhJbnN0YW5jZUNvdW50JiYocy5fbWF4SW5zdGFuY2VDb3VudD1uLm1lc2hQZXJBdHRyaWJ1dGUqbi5jb3VudCkpOnUobyksdC5iaW5kQnVmZmVyKDM0OTYyLGwpLGIobyxpLGMsZSxyKmQscCpkKX1lbHNlIGEuaXNJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGU/KGcobyxhLm1lc2hQZXJBdHRyaWJ1dGUpLHZvaWQgMD09PXMuX21heEluc3RhbmNlQ291bnQmJihzLl9tYXhJbnN0YW5jZUNvdW50PWEubWVzaFBlckF0dHJpYnV0ZSphLmNvdW50KSk6dShvKSx0LmJpbmRCdWZmZXIoMzQ5NjIsbCksYihvLGksYyxlLDAsMCl9ZWxzZSBpZigiaW5zdGFuY2VNYXRyaXgiPT09ZSl7Y29uc3QgZT1uLmdldChpLmluc3RhbmNlTWF0cml4KTtpZih2b2lkIDA9PT1lKWNvbnRpbnVlO2NvbnN0IGE9ZS5idWZmZXIscj1lLnR5cGU7ZyhvKzAsMSksZyhvKzEsMSksZyhvKzIsMSksZyhvKzMsMSksdC5iaW5kQnVmZmVyKDM0OTYyLGEpLHQudmVydGV4QXR0cmliUG9pbnRlcihvKzAsNCxyLCExLDY0LDApLHQudmVydGV4QXR0cmliUG9pbnRlcihvKzEsNCxyLCExLDY0LDE2KSx0LnZlcnRleEF0dHJpYlBvaW50ZXIobysyLDQsciwhMSw2NCwzMiksdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG8rMyw0LHIsITEsNjQsNDgpfWVsc2UgaWYoImluc3RhbmNlQ29sb3IiPT09ZSl7Y29uc3QgZT1uLmdldChpLmluc3RhbmNlQ29sb3IpO2lmKHZvaWQgMD09PWUpY29udGludWU7Y29uc3QgYT1lLmJ1ZmZlcixyPWUudHlwZTtnKG8sMSksdC5iaW5kQnVmZmVyKDM0OTYyLGEpLHQudmVydGV4QXR0cmliUG9pbnRlcihvLDMsciwhMSwxMiwwKX1lbHNlIGlmKHZvaWQgMCE9PWQpe2NvbnN0IG49ZFtlXTtpZih2b2lkIDAhPT1uKXN3aXRjaChuLmxlbmd0aCl7Y2FzZSAyOnQudmVydGV4QXR0cmliMmZ2KG8sbik7YnJlYWs7Y2FzZSAzOnQudmVydGV4QXR0cmliM2Z2KG8sbik7YnJlYWs7Y2FzZSA0OnQudmVydGV4QXR0cmliNGZ2KG8sbik7YnJlYWs7ZGVmYXVsdDp0LnZlcnRleEF0dHJpYjFmdihvLG4pfX19fWgoKX0pKGksbCxwLHkpLG51bGwhPT1fJiZ0LmJpbmRCdWZmZXIoMzQ5NjMsbi5nZXQoXykuYnVmZmVyKSl9LHJlc2V0OnkscmVzZXREZWZhdWx0U3RhdGU6XyxkaXNwb3NlOmZ1bmN0aW9uIE0oKXt5KCk7Zm9yKGNvbnN0IHQgaW4gcyl7Y29uc3QgZT1zW3RdO2Zvcihjb25zdCB0IGluIGUpe2NvbnN0IG49ZVt0XTtmb3IoY29uc3QgdCBpbiBuKXAoblt0XS5vYmplY3QpLGRlbGV0ZSBuW3RdO2RlbGV0ZSBlW3RdfWRlbGV0ZSBzW3RdfX0scmVsZWFzZVN0YXRlc09mR2VvbWV0cnk6ZnVuY3Rpb24gdih0KXtpZih2b2lkIDA9PT1zW3QuaWRdKXJldHVybjtjb25zdCBlPXNbdC5pZF07Zm9yKGNvbnN0IHQgaW4gZSl7Y29uc3Qgbj1lW3RdO2Zvcihjb25zdCB0IGluIG4pcChuW3RdLm9iamVjdCksZGVsZXRlIG5bdF07ZGVsZXRlIGVbdF19ZGVsZXRlIHNbdC5pZF19LHJlbGVhc2VTdGF0ZXNPZlByb2dyYW06ZnVuY3Rpb24geCh0KXtmb3IoY29uc3QgZSBpbiBzKXtjb25zdCBuPXNbZV07aWYodm9pZCAwPT09blt0LmlkXSljb250aW51ZTtjb25zdCBvPW5bdC5pZF07Zm9yKGNvbnN0IHQgaW4gbylwKG9bdF0ub2JqZWN0KSxkZWxldGUgb1t0XTtkZWxldGUgblt0LmlkXX19LGluaXRBdHRyaWJ1dGVzOmYsZW5hYmxlQXR0cmlidXRlOnUsZGlzYWJsZVVudXNlZEF0dHJpYnV0ZXM6aH19ZnVuY3Rpb24gbmR0KHQsZSxuLG8pe2NvbnN0IGk9by5pc1dlYkdMMjtsZXQgYTt0aGlzLnNldE1vZGU9ZnVuY3Rpb24gcih0KXthPXR9LHRoaXMucmVuZGVyPWZ1bmN0aW9uIHMoZSxvKXt0LmRyYXdBcnJheXMoYSxlLG8pLG4udXBkYXRlKG8sYSwxKX0sdGhpcy5yZW5kZXJJbnN0YW5jZXM9ZnVuY3Rpb24gbChvLHIscyl7aWYoMD09PXMpcmV0dXJuO2xldCBsLGM7aWYoaSlsPXQsYz0iZHJhd0FycmF5c0luc3RhbmNlZCI7ZWxzZSBpZihsPWUuZ2V0KCJBTkdMRV9pbnN0YW5jZWRfYXJyYXlzIiksYz0iZHJhd0FycmF5c0luc3RhbmNlZEFOR0xFIixudWxsPT09bClyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTEJ1ZmZlclJlbmRlcmVyOiB1c2luZyBUSFJFRS5JbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSBidXQgaGFyZHdhcmUgZG9lcyBub3Qgc3VwcG9ydCBleHRlbnNpb24gQU5HTEVfaW5zdGFuY2VkX2FycmF5cy4iKTtsW2NdKGEsbyxyLHMpLG4udXBkYXRlKHIsYSxzKX19ZnVuY3Rpb24gb2R0KHQsZSxuKXtsZXQgbztmdW5jdGlvbiBpKGUpe2lmKCJoaWdocCI9PT1lKXtpZih0LmdldFNoYWRlclByZWNpc2lvbkZvcm1hdCgzNTYzMywzNjMzOCkucHJlY2lzaW9uPjAmJnQuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0KDM1NjMyLDM2MzM4KS5wcmVjaXNpb24+MClyZXR1cm4iaGlnaHAiO2U9Im1lZGl1bXAifXJldHVybiJtZWRpdW1wIj09PWUmJnQuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0KDM1NjMzLDM2MzM3KS5wcmVjaXNpb24+MCYmdC5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoMzU2MzIsMzYzMzcpLnByZWNpc2lvbj4wPyJtZWRpdW1wIjoibG93cCJ9Y29uc3QgYT0idW5kZWZpbmVkIiE9dHlwZW9mIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQmJnQgaW5zdGFuY2VvZiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0fHwidW5kZWZpbmVkIiE9dHlwZW9mIFdlYkdMMkNvbXB1dGVSZW5kZXJpbmdDb250ZXh0JiZ0IGluc3RhbmNlb2YgV2ViR0wyQ29tcHV0ZVJlbmRlcmluZ0NvbnRleHQ7bGV0IHI9dm9pZCAwIT09bi5wcmVjaXNpb24/bi5wcmVjaXNpb246ImhpZ2hwIjtjb25zdCBzPWkocik7cyE9PXImJihjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IixyLCJub3Qgc3VwcG9ydGVkLCB1c2luZyIscywiaW5zdGVhZC4iKSxyPXMpO2NvbnN0IGw9YXx8ZS5oYXMoIldFQkdMX2RyYXdfYnVmZmVycyIpLGM9ITA9PT1uLmxvZ2FyaXRobWljRGVwdGhCdWZmZXIsZD10LmdldFBhcmFtZXRlcigzNDkzMCkscD10LmdldFBhcmFtZXRlcigzNTY2MCksbT10LmdldFBhcmFtZXRlcigzMzc5KSxmPXQuZ2V0UGFyYW1ldGVyKDM0MDc2KSx1PXQuZ2V0UGFyYW1ldGVyKDM0OTIxKSxnPXQuZ2V0UGFyYW1ldGVyKDM2MzQ3KSxoPXQuZ2V0UGFyYW1ldGVyKDM2MzQ4KSxiPXQuZ2V0UGFyYW1ldGVyKDM2MzQ5KSx5PXA+MCxfPWF8fGUuaGFzKCJPRVNfdGV4dHVyZV9mbG9hdCIpO3JldHVybntpc1dlYkdMMjphLGRyYXdCdWZmZXJzOmwsZ2V0TWF4QW5pc290cm9weTpmdW5jdGlvbiBDKCl7aWYodm9pZCAwIT09bylyZXR1cm4gbztpZighMD09PWUuaGFzKCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKSl7Y29uc3Qgbj1lLmdldCgiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIik7bz10LmdldFBhcmFtZXRlcihuLk1BWF9URVhUVVJFX01BWF9BTklTT1RST1BZX0VYVCl9ZWxzZSBvPTA7cmV0dXJuIG99LGdldE1heFByZWNpc2lvbjppLHByZWNpc2lvbjpyLGxvZ2FyaXRobWljRGVwdGhCdWZmZXI6YyxtYXhUZXh0dXJlczpkLG1heFZlcnRleFRleHR1cmVzOnAsbWF4VGV4dHVyZVNpemU6bSxtYXhDdWJlbWFwU2l6ZTpmLG1heEF0dHJpYnV0ZXM6dSxtYXhWZXJ0ZXhVbmlmb3JtczpnLG1heFZhcnlpbmdzOmgsbWF4RnJhZ21lbnRVbmlmb3JtczpiLHZlcnRleFRleHR1cmVzOnksZmxvYXRGcmFnbWVudFRleHR1cmVzOl8sZmxvYXRWZXJ0ZXhUZXh0dXJlczp5JiZfLG1heFNhbXBsZXM6YT90LmdldFBhcmFtZXRlcigzNjE4Myk6MH19ZnVuY3Rpb24gaWR0KHQpe2NvbnN0IGU9dGhpcztsZXQgbj1udWxsLG89MCxpPSExLGE9ITE7Y29uc3Qgcj1uZXcgV2N0LHM9bmV3IGhzdCxsPXt2YWx1ZTpudWxsLG5lZWRzVXBkYXRlOiExfTtmdW5jdGlvbiBjKCl7bC52YWx1ZSE9PW4mJihsLnZhbHVlPW4sbC5uZWVkc1VwZGF0ZT1vPjApLGUubnVtUGxhbmVzPW8sZS5udW1JbnRlcnNlY3Rpb249MH1mdW5jdGlvbiBkKHQsbixvLGkpe2NvbnN0IGE9bnVsbCE9PXQ/dC5sZW5ndGg6MDtsZXQgYz1udWxsO2lmKDAhPT1hKXtpZihjPWwudmFsdWUsITAhPT1pfHxudWxsPT09Yyl7Y29uc3QgZT1vKzQqYSxpPW4ubWF0cml4V29ybGRJbnZlcnNlO3MuZ2V0Tm9ybWFsTWF0cml4KGkpLChudWxsPT09Y3x8Yy5sZW5ndGg8ZSkmJihjPW5ldyBGbG9hdDMyQXJyYXkoZSkpO2ZvcihsZXQgZT0wLG49bztlIT09YTsrK2Usbis9NClyLmNvcHkodFtlXSkuYXBwbHlNYXRyaXg0KGkscyksci5ub3JtYWwudG9BcnJheShjLG4pLGNbbiszXT1yLmNvbnN0YW50fWwudmFsdWU9YyxsLm5lZWRzVXBkYXRlPSEwfXJldHVybiBlLm51bVBsYW5lcz1hLGUubnVtSW50ZXJzZWN0aW9uPTAsY310aGlzLnVuaWZvcm09bCx0aGlzLm51bVBsYW5lcz0wLHRoaXMubnVtSW50ZXJzZWN0aW9uPTAsdGhpcy5pbml0PWZ1bmN0aW9uKHQsZSxhKXtjb25zdCByPTAhPT10Lmxlbmd0aHx8ZXx8MCE9PW98fGk7cmV0dXJuIGk9ZSxuPWQodCxhLDApLG89dC5sZW5ndGgscn0sdGhpcy5iZWdpblNoYWRvd3M9ZnVuY3Rpb24oKXthPSEwLGQobnVsbCl9LHRoaXMuZW5kU2hhZG93cz1mdW5jdGlvbigpe2E9ITEsYygpfSx0aGlzLnNldFN0YXRlPWZ1bmN0aW9uKGUscixzKXtjb25zdCBwPWUuY2xpcHBpbmdQbGFuZXMsbT1lLmNsaXBJbnRlcnNlY3Rpb24sZj1lLmNsaXBTaGFkb3dzLHU9dC5nZXQoZSk7aWYoIWl8fG51bGw9PT1wfHwwPT09cC5sZW5ndGh8fGEmJiFmKWE/ZChudWxsKTpjKCk7ZWxzZXtjb25zdCB0PWE/MDpvLGU9NCp0O2xldCBpPXUuY2xpcHBpbmdTdGF0ZXx8bnVsbDtsLnZhbHVlPWksaT1kKHAscixlLHMpO2ZvcihsZXQgdD0wO3QhPT1lOysrdClpW3RdPW5bdF07dS5jbGlwcGluZ1N0YXRlPWksdGhpcy5udW1JbnRlcnNlY3Rpb249bT90aGlzLm51bVBsYW5lczowLHRoaXMubnVtUGxhbmVzKz10fX19ZnVuY3Rpb24gYWR0KHQpe2xldCBlPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIG4odCxlKXtyZXR1cm4gMzAzPT09ZT90Lm1hcHBpbmc9d3J0OjMwND09PWUmJih0Lm1hcHBpbmc9a3J0KSx0fWZ1bmN0aW9uIG8odCl7Y29uc3Qgbj10LnRhcmdldDtuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLG8pO2NvbnN0IGk9ZS5nZXQobik7dm9pZCAwIT09aSYmKGUuZGVsZXRlKG4pLGkuZGlzcG9zZSgpKX1yZXR1cm57Z2V0OmZ1bmN0aW9uIGkoYSl7aWYoYSYmYS5pc1RleHR1cmUmJiExPT09YS5pc1JlbmRlclRhcmdldFRleHR1cmUpe2NvbnN0IGk9YS5tYXBwaW5nO2lmKDMwMz09PWl8fDMwND09PWkpe2lmKGUuaGFzKGEpKXtyZXR1cm4gbihlLmdldChhKS50ZXh0dXJlLGEubWFwcGluZyl9e2NvbnN0IGk9YS5pbWFnZTtpZihpJiZpLmhlaWdodD4wKXtjb25zdCByPXQuZ2V0UmVuZGVyVGFyZ2V0KCkscz1uZXcgQmN0KGkuaGVpZ2h0LzIpO3JldHVybiBzLmZyb21FcXVpcmVjdGFuZ3VsYXJUZXh0dXJlKHQsYSksZS5zZXQoYSxzKSx0LnNldFJlbmRlclRhcmdldChyKSxhLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLG8pLG4ocy50ZXh0dXJlLGEubWFwcGluZyl9cmV0dXJuIG51bGx9fX1yZXR1cm4gYX0sZGlzcG9zZTpmdW5jdGlvbiBhKCl7ZT1uZXcgV2Vha01hcH19fSRjdC5waHlzaWNhbD17dW5pZm9ybXM6QWN0KFskY3Quc3RhbmRhcmQudW5pZm9ybXMse2NsZWFyY29hdDp7dmFsdWU6MH0sY2xlYXJjb2F0TWFwOnt2YWx1ZTpudWxsfSxjbGVhcmNvYXRSb3VnaG5lc3M6e3ZhbHVlOjB9LGNsZWFyY29hdFJvdWdobmVzc01hcDp7dmFsdWU6bnVsbH0sY2xlYXJjb2F0Tm9ybWFsU2NhbGU6e3ZhbHVlOm5ldyBnc3QoMSwxKX0sY2xlYXJjb2F0Tm9ybWFsTWFwOnt2YWx1ZTpudWxsfSxzaGVlbjp7dmFsdWU6bmV3IFpsdCgwKX0sdHJhbnNtaXNzaW9uOnt2YWx1ZTowfSx0cmFuc21pc3Npb25NYXA6e3ZhbHVlOm51bGx9LHRyYW5zbWlzc2lvblNhbXBsZXJTaXplOnt2YWx1ZTpuZXcgZ3N0fSx0cmFuc21pc3Npb25TYW1wbGVyTWFwOnt2YWx1ZTpudWxsfSx0aGlja25lc3M6e3ZhbHVlOjB9LHRoaWNrbmVzc01hcDp7dmFsdWU6bnVsbH0sYXR0ZW51YXRpb25EaXN0YW5jZTp7dmFsdWU6MH0sYXR0ZW51YXRpb25UaW50Ont2YWx1ZTpuZXcgWmx0KDApfSxzcGVjdWxhckludGVuc2l0eTp7dmFsdWU6MH0sc3BlY3VsYXJJbnRlbnNpdHlNYXA6e3ZhbHVlOm51bGx9LHNwZWN1bGFyVGludDp7dmFsdWU6bmV3IFpsdCgxLDEsMSl9LHNwZWN1bGFyVGludE1hcDp7dmFsdWU6bnVsbH19XSksdmVydGV4U2hhZGVyOkpjdC5tZXNocGh5c2ljYWxfdmVydCxmcmFnbWVudFNoYWRlcjpKY3QubWVzaHBoeXNpY2FsX2ZyYWd9O2NsYXNzIHJkdCBleHRlbmRzIHpjdHtjb25zdHJ1Y3Rvcih0PS0xLGU9MSxuPTEsbz0tMSxpPS4xLGE9MmUzKXtzdXBlcigpLHRoaXMudHlwZT0iT3J0aG9ncmFwaGljQ2FtZXJhIix0aGlzLnpvb209MSx0aGlzLnZpZXc9bnVsbCx0aGlzLmxlZnQ9dCx0aGlzLnJpZ2h0PWUsdGhpcy50b3A9bix0aGlzLmJvdHRvbT1vLHRoaXMubmVhcj1pLHRoaXMuZmFyPWEsdGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9Y29weSh0LGUpe3JldHVybiBzdXBlci5jb3B5KHQsZSksdGhpcy5sZWZ0PXQubGVmdCx0aGlzLnJpZ2h0PXQucmlnaHQsdGhpcy50b3A9dC50b3AsdGhpcy5ib3R0b209dC5ib3R0b20sdGhpcy5uZWFyPXQubmVhcix0aGlzLmZhcj10LmZhcix0aGlzLnpvb209dC56b29tLHRoaXMudmlldz1udWxsPT09dC52aWV3P251bGw6T2JqZWN0LmFzc2lnbih7fSx0LnZpZXcpLHRoaXN9c2V0Vmlld09mZnNldCh0LGUsbixvLGksYSl7bnVsbD09PXRoaXMudmlldyYmKHRoaXMudmlldz17ZW5hYmxlZDohMCxmdWxsV2lkdGg6MSxmdWxsSGVpZ2h0OjEsb2Zmc2V0WDowLG9mZnNldFk6MCx3aWR0aDoxLGhlaWdodDoxfSksdGhpcy52aWV3LmVuYWJsZWQ9ITAsdGhpcy52aWV3LmZ1bGxXaWR0aD10LHRoaXMudmlldy5mdWxsSGVpZ2h0PWUsdGhpcy52aWV3Lm9mZnNldFg9bix0aGlzLnZpZXcub2Zmc2V0WT1vLHRoaXMudmlldy53aWR0aD1pLHRoaXMudmlldy5oZWlnaHQ9YSx0aGlzLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX1jbGVhclZpZXdPZmZzZXQoKXtudWxsIT09dGhpcy52aWV3JiYodGhpcy52aWV3LmVuYWJsZWQ9ITEpLHRoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfXVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKXtjb25zdCB0PSh0aGlzLnJpZ2h0LXRoaXMubGVmdCkvKDIqdGhpcy56b29tKSxlPSh0aGlzLnRvcC10aGlzLmJvdHRvbSkvKDIqdGhpcy56b29tKSxuPSh0aGlzLnJpZ2h0K3RoaXMubGVmdCkvMixvPSh0aGlzLnRvcCt0aGlzLmJvdHRvbSkvMjtsZXQgaT1uLXQsYT1uK3Qscj1vK2Uscz1vLWU7aWYobnVsbCE9PXRoaXMudmlldyYmdGhpcy52aWV3LmVuYWJsZWQpe2NvbnN0IHQ9KHRoaXMucmlnaHQtdGhpcy5sZWZ0KS90aGlzLnZpZXcuZnVsbFdpZHRoL3RoaXMuem9vbSxlPSh0aGlzLnRvcC10aGlzLmJvdHRvbSkvdGhpcy52aWV3LmZ1bGxIZWlnaHQvdGhpcy56b29tO2krPXQqdGhpcy52aWV3Lm9mZnNldFgsYT1pK3QqdGhpcy52aWV3LndpZHRoLHItPWUqdGhpcy52aWV3Lm9mZnNldFkscz1yLWUqdGhpcy52aWV3LmhlaWdodH10aGlzLnByb2plY3Rpb25NYXRyaXgubWFrZU9ydGhvZ3JhcGhpYyhpLGEscixzLHRoaXMubmVhcix0aGlzLmZhciksdGhpcy5wcm9qZWN0aW9uTWF0cml4SW52ZXJzZS5jb3B5KHRoaXMucHJvamVjdGlvbk1hdHJpeCkuaW52ZXJ0KCl9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO3JldHVybiBlLm9iamVjdC56b29tPXRoaXMuem9vbSxlLm9iamVjdC5sZWZ0PXRoaXMubGVmdCxlLm9iamVjdC5yaWdodD10aGlzLnJpZ2h0LGUub2JqZWN0LnRvcD10aGlzLnRvcCxlLm9iamVjdC5ib3R0b209dGhpcy5ib3R0b20sZS5vYmplY3QubmVhcj10aGlzLm5lYXIsZS5vYmplY3QuZmFyPXRoaXMuZmFyLG51bGwhPT10aGlzLnZpZXcmJihlLm9iamVjdC52aWV3PU9iamVjdC5hc3NpZ24oe30sdGhpcy52aWV3KSksZX19cmR0LnByb3RvdHlwZS5pc09ydGhvZ3JhcGhpY0NhbWVyYT0hMDtjbGFzcyBzZHQgZXh0ZW5kcyBOY3R7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy50eXBlPSJSYXdTaGFkZXJNYXRlcmlhbCJ9fXNkdC5wcm90b3R5cGUuaXNSYXdTaGFkZXJNYXRlcmlhbD0hMDtjb25zdCBsZHQ9TWF0aC5wb3coMiw4KSxjZHQ9Wy4xMjUsLjIxNSwuMzUsLjQ0NiwuNTI2LC41ODJdLGRkdD01K2NkdC5sZW5ndGgscGR0PTIwLG1kdD17W1FydF06MCxbJHJ0XToxLFtlc3RdOjIsMzAwNDozLDMwMDU6NCwzMDA2OjUsW3RzdF06Nn0sZmR0PW5ldyBYbHQoe3NpZGU6MSxkZXB0aFdyaXRlOiExLGRlcHRoVGVzdDohMX0pLHVkdD1uZXcgU2N0KG5ldyBSY3QsZmR0KSxnZHQ9bmV3IHJkdCx7X2xvZFBsYW5lczpoZHQsX3NpemVMb2RzOmJkdCxfc2lnbWFzOnlkdH09a2R0KCksX2R0PW5ldyBabHQ7bGV0IENkdD1udWxsO2NvbnN0IE1kdD0oMStNYXRoLnNxcnQoNSkpLzIsdmR0PTEvTWR0LHhkdD1bbmV3IHdzdCgxLDEsMSksbmV3IHdzdCgtMSwxLDEpLG5ldyB3c3QoMSwxLC0xKSxuZXcgd3N0KC0xLDEsLTEpLG5ldyB3c3QoMCxNZHQsdmR0KSxuZXcgd3N0KDAsTWR0LC12ZHQpLG5ldyB3c3QodmR0LDAsTWR0KSxuZXcgd3N0KC12ZHQsMCxNZHQpLG5ldyB3c3QoTWR0LHZkdCwwKSxuZXcgd3N0KC1NZHQsdmR0LDApXTtmdW5jdGlvbiBPZHQodCl7Y29uc3QgZT1NYXRoLm1heCh0LnIsdC5nLHQuYiksbj1NYXRoLm1pbihNYXRoLm1heChNYXRoLmNlaWwoTWF0aC5sb2cyKGUpKSwtMTI4KSwxMjcpO3QubXVsdGlwbHlTY2FsYXIoTWF0aC5wb3coMiwtbikpO3JldHVybihuKzEyOCkvMjU1fWNsYXNzIFBkdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9yZW5kZXJlcj10LHRoaXMuX3BpbmdQb25nUmVuZGVyVGFyZ2V0PW51bGwsdGhpcy5fYmx1ck1hdGVyaWFsPShmdW5jdGlvbiBlKHQpe2NvbnN0IGU9bmV3IEZsb2F0MzJBcnJheSh0KSxuPW5ldyB3c3QoMCwxLDApO3JldHVybiBuZXcgc2R0KHtuYW1lOiJTcGhlcmljYWxHYXVzc2lhbkJsdXIiLGRlZmluZXM6e246dH0sdW5pZm9ybXM6e2Vudk1hcDp7dmFsdWU6bnVsbH0sc2FtcGxlczp7dmFsdWU6MX0sd2VpZ2h0czp7dmFsdWU6ZX0sbGF0aXR1ZGluYWw6e3ZhbHVlOiExfSxkVGhldGE6e3ZhbHVlOjB9LG1pcEludDp7dmFsdWU6MH0scG9sZUF4aXM6e3ZhbHVlOm59LGlucHV0RW5jb2Rpbmc6e3ZhbHVlOm1kdFszZTNdfSxvdXRwdXRFbmNvZGluZzp7dmFsdWU6bWR0WzNlM119fSx2ZXJ0ZXhTaGFkZXI6QWR0KCksZnJhZ21lbnRTaGFkZXI6YFxuXG5cdFx0XHRwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcblx0XHRcdHByZWNpc2lvbiBtZWRpdW1wIGludDtcblxuXHRcdFx0dmFyeWluZyB2ZWMzIHZPdXRwdXREaXJlY3Rpb247XG5cblx0XHRcdHVuaWZvcm0gc2FtcGxlcjJEIGVudk1hcDtcblx0XHRcdHVuaWZvcm0gaW50IHNhbXBsZXM7XG5cdFx0XHR1bmlmb3JtIGZsb2F0IHdlaWdodHNbIG4gXTtcblx0XHRcdHVuaWZvcm0gYm9vbCBsYXRpdHVkaW5hbDtcblx0XHRcdHVuaWZvcm0gZmxvYXQgZFRoZXRhO1xuXHRcdFx0dW5pZm9ybSBmbG9hdCBtaXBJbnQ7XG5cdFx0XHR1bmlmb3JtIHZlYzMgcG9sZUF4aXM7XG5cblx0XHRcdCR7VGR0KCl9XG5cblx0XHRcdCNkZWZpbmUgRU5WTUFQX1RZUEVfQ1VCRV9VVlxuXHRcdFx0I2luY2x1ZGUgPGN1YmVfdXZfcmVmbGVjdGlvbl9mcmFnbWVudD5cblxuXHRcdFx0dmVjMyBnZXRTYW1wbGUoIGZsb2F0IHRoZXRhLCB2ZWMzIGF4aXMgKSB7XG5cblx0XHRcdFx0ZmxvYXQgY29zVGhldGEgPSBjb3MoIHRoZXRhICk7XG5cdFx0XHRcdC8vIFJvZHJpZ3VlcycgYXhpcy1hbmdsZSByb3RhdGlvblxuXHRcdFx0XHR2ZWMzIHNhbXBsZURpcmVjdGlvbiA9IHZPdXRwdXREaXJlY3Rpb24gKiBjb3NUaGV0YVxuXHRcdFx0XHRcdCsgY3Jvc3MoIGF4aXMsIHZPdXRwdXREaXJlY3Rpb24gKSAqIHNpbiggdGhldGEgKVxuXHRcdFx0XHRcdCsgYXhpcyAqIGRvdCggYXhpcywgdk91dHB1dERpcmVjdGlvbiApICogKCAxLjAgLSBjb3NUaGV0YSApO1xuXG5cdFx0XHRcdHJldHVybiBiaWxpbmVhckN1YmVVViggZW52TWFwLCBzYW1wbGVEaXJlY3Rpb24sIG1pcEludCApO1xuXG5cdFx0XHR9XG5cblx0XHRcdHZvaWQgbWFpbigpIHtcblxuXHRcdFx0XHR2ZWMzIGF4aXMgPSBsYXRpdHVkaW5hbCA/IHBvbGVBeGlzIDogY3Jvc3MoIHBvbGVBeGlzLCB2T3V0cHV0RGlyZWN0aW9uICk7XG5cblx0XHRcdFx0aWYgKCBhbGwoIGVxdWFsKCBheGlzLCB2ZWMzKCAwLjAgKSApICkgKSB7XG5cblx0XHRcdFx0XHRheGlzID0gdmVjMyggdk91dHB1dERpcmVjdGlvbi56LCAwLjAsIC0gdk91dHB1dERpcmVjdGlvbi54ICk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGF4aXMgPSBub3JtYWxpemUoIGF4aXMgKTtcblxuXHRcdFx0XHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCAwLjAsIDAuMCwgMC4wLCAxLjAgKTtcblx0XHRcdFx0Z2xfRnJhZ0NvbG9yLnJnYiArPSB3ZWlnaHRzWyAwIF0gKiBnZXRTYW1wbGUoIDAuMCwgYXhpcyApO1xuXG5cdFx0XHRcdGZvciAoIGludCBpID0gMTsgaSA8IG47IGkrKyApIHtcblxuXHRcdFx0XHRcdGlmICggaSA+PSBzYW1wbGVzICkge1xuXG5cdFx0XHRcdFx0XHRicmVhaztcblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGZsb2F0IHRoZXRhID0gZFRoZXRhICogZmxvYXQoIGkgKTtcblx0XHRcdFx0XHRnbF9GcmFnQ29sb3IucmdiICs9IHdlaWdodHNbIGkgXSAqIGdldFNhbXBsZSggLTEuMCAqIHRoZXRhLCBheGlzICk7XG5cdFx0XHRcdFx0Z2xfRnJhZ0NvbG9yLnJnYiArPSB3ZWlnaHRzWyBpIF0gKiBnZXRTYW1wbGUoIHRoZXRhLCBheGlzICk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGdsX0ZyYWdDb2xvciA9IGxpbmVhclRvT3V0cHV0VGV4ZWwoIGdsX0ZyYWdDb2xvciApO1xuXG5cdFx0XHR9XG5cdFx0YCxibGVuZGluZzowLGRlcHRoVGVzdDohMSxkZXB0aFdyaXRlOiExfSl9KShwZHQpLHRoaXMuX2VxdWlyZWN0U2hhZGVyPW51bGwsdGhpcy5fY3ViZW1hcFNoYWRlcj1udWxsLHRoaXMuX2NvbXBpbGVNYXRlcmlhbCh0aGlzLl9ibHVyTWF0ZXJpYWwpfWZyb21TY2VuZSh0LGU9MCxuPS4xLG89MTAwKXtDZHQ9dGhpcy5fcmVuZGVyZXIuZ2V0UmVuZGVyVGFyZ2V0KCk7Y29uc3QgaT10aGlzLl9hbGxvY2F0ZVRhcmdldHMoKTtyZXR1cm4gdGhpcy5fc2NlbmVUb0N1YmVVVih0LG4sbyxpKSxlPjAmJnRoaXMuX2JsdXIoaSwwLDAsZSksdGhpcy5fYXBwbHlQTVJFTShpKSx0aGlzLl9jbGVhbnVwKGkpLGl9ZnJvbUVxdWlyZWN0YW5ndWxhcih0KXtyZXR1cm4gdGhpcy5fZnJvbVRleHR1cmUodCl9ZnJvbUN1YmVtYXAodCl7cmV0dXJuIHRoaXMuX2Zyb21UZXh0dXJlKHQpfWNvbXBpbGVDdWJlbWFwU2hhZGVyKCl7bnVsbD09PXRoaXMuX2N1YmVtYXBTaGFkZXImJih0aGlzLl9jdWJlbWFwU2hhZGVyPUVkdCgpLHRoaXMuX2NvbXBpbGVNYXRlcmlhbCh0aGlzLl9jdWJlbWFwU2hhZGVyKSl9Y29tcGlsZUVxdWlyZWN0YW5ndWxhclNoYWRlcigpe251bGw9PT10aGlzLl9lcXVpcmVjdFNoYWRlciYmKHRoaXMuX2VxdWlyZWN0U2hhZGVyPVJkdCgpLHRoaXMuX2NvbXBpbGVNYXRlcmlhbCh0aGlzLl9lcXVpcmVjdFNoYWRlcikpfWRpc3Bvc2UoKXt0aGlzLl9ibHVyTWF0ZXJpYWwuZGlzcG9zZSgpLG51bGwhPT10aGlzLl9jdWJlbWFwU2hhZGVyJiZ0aGlzLl9jdWJlbWFwU2hhZGVyLmRpc3Bvc2UoKSxudWxsIT09dGhpcy5fZXF1aXJlY3RTaGFkZXImJnRoaXMuX2VxdWlyZWN0U2hhZGVyLmRpc3Bvc2UoKTtmb3IobGV0IHQ9MDt0PGhkdC5sZW5ndGg7dCsrKWhkdFt0XS5kaXNwb3NlKCl9X2NsZWFudXAodCl7dGhpcy5fcGluZ1BvbmdSZW5kZXJUYXJnZXQuZGlzcG9zZSgpLHRoaXMuX3JlbmRlcmVyLnNldFJlbmRlclRhcmdldChDZHQpLHQuc2Npc3NvclRlc3Q9ITEsRGR0KHQsMCwwLHQud2lkdGgsdC5oZWlnaHQpfV9mcm9tVGV4dHVyZSh0KXtDZHQ9dGhpcy5fcmVuZGVyZXIuZ2V0UmVuZGVyVGFyZ2V0KCk7Y29uc3QgZT10aGlzLl9hbGxvY2F0ZVRhcmdldHModCk7cmV0dXJuIHRoaXMuX3RleHR1cmVUb0N1YmVVVih0LGUpLHRoaXMuX2FwcGx5UE1SRU0oZSksdGhpcy5fY2xlYW51cChlKSxlfV9hbGxvY2F0ZVRhcmdldHModCl7Y29uc3QgZT17bWFnRmlsdGVyOkFydCxtaW5GaWx0ZXI6QXJ0LGdlbmVyYXRlTWlwbWFwczohMSx0eXBlOnpydCxmb3JtYXQ6MTAyMyxlbmNvZGluZzp3ZHQodCk/dC5lbmNvZGluZzplc3QsZGVwdGhCdWZmZXI6ITF9LG49U2R0KGUpO3JldHVybiBuLmRlcHRoQnVmZmVyPSF0LHRoaXMuX3BpbmdQb25nUmVuZGVyVGFyZ2V0PVNkdChlKSxufV9jb21waWxlTWF0ZXJpYWwodCl7Y29uc3QgZT1uZXcgU2N0KGhkdFswXSx0KTt0aGlzLl9yZW5kZXJlci5jb21waWxlKGUsZ2R0KX1fc2NlbmVUb0N1YmVVVih0LGUsbixvKXtjb25zdCBpPW5ldyBJY3QoOTAsMSxlLG4pLGE9WzEsLTEsMSwxLDEsMV0scj1bMSwxLDEsLTEsLTEsLTFdLHM9dGhpcy5fcmVuZGVyZXIsbD1zLmF1dG9DbGVhcixjPXMub3V0cHV0RW5jb2RpbmcsZD1zLnRvbmVNYXBwaW5nO3MuZ2V0Q2xlYXJDb2xvcihfZHQpLHMudG9uZU1hcHBpbmc9MCxzLm91dHB1dEVuY29kaW5nPVFydCxzLmF1dG9DbGVhcj0hMTtsZXQgcD0hMTtjb25zdCBtPXQuYmFja2dyb3VuZDtpZihtKXtpZihtLmlzQ29sb3Ipe2ZkdC5jb2xvci5jb3B5KG0pLmNvbnZlcnRTUkdCVG9MaW5lYXIoKSx0LmJhY2tncm91bmQ9bnVsbDtjb25zdCBlPU9kdChmZHQuY29sb3IpO2ZkdC5vcGFjaXR5PWUscD0hMH19ZWxzZXtmZHQuY29sb3IuY29weShfZHQpLmNvbnZlcnRTUkdCVG9MaW5lYXIoKTtjb25zdCB0PU9kdChmZHQuY29sb3IpO2ZkdC5vcGFjaXR5PXQscD0hMH1mb3IobGV0IGU9MDtlPDY7ZSsrKXtjb25zdCBuPWUlMzswPT1uPyhpLnVwLnNldCgwLGFbZV0sMCksaS5sb29rQXQocltlXSwwLDApKToxPT1uPyhpLnVwLnNldCgwLDAsYVtlXSksaS5sb29rQXQoMCxyW2VdLDApKTooaS51cC5zZXQoMCxhW2VdLDApLGkubG9va0F0KDAsMCxyW2VdKSksRGR0KG8sbipsZHQsZT4yP2xkdDowLGxkdCxsZHQpLHMuc2V0UmVuZGVyVGFyZ2V0KG8pLHAmJnMucmVuZGVyKHVkdCxpKSxzLnJlbmRlcih0LGkpfXMudG9uZU1hcHBpbmc9ZCxzLm91dHB1dEVuY29kaW5nPWMscy5hdXRvQ2xlYXI9bH1fdGV4dHVyZVRvQ3ViZVVWKHQsZSl7Y29uc3Qgbj10aGlzLl9yZW5kZXJlcjt0LmlzQ3ViZVRleHR1cmU/bnVsbD09dGhpcy5fY3ViZW1hcFNoYWRlciYmKHRoaXMuX2N1YmVtYXBTaGFkZXI9RWR0KCkpOm51bGw9PXRoaXMuX2VxdWlyZWN0U2hhZGVyJiYodGhpcy5fZXF1aXJlY3RTaGFkZXI9UmR0KCkpO2NvbnN0IG89dC5pc0N1YmVUZXh0dXJlP3RoaXMuX2N1YmVtYXBTaGFkZXI6dGhpcy5fZXF1aXJlY3RTaGFkZXIsaT1uZXcgU2N0KGhkdFswXSxvKSxhPW8udW5pZm9ybXM7YS5lbnZNYXAudmFsdWU9dCx0LmlzQ3ViZVRleHR1cmV8fGEudGV4ZWxTaXplLnZhbHVlLnNldCgxL3QuaW1hZ2Uud2lkdGgsMS90LmltYWdlLmhlaWdodCksYS5pbnB1dEVuY29kaW5nLnZhbHVlPW1kdFt0LmVuY29kaW5nXSxhLm91dHB1dEVuY29kaW5nLnZhbHVlPW1kdFtlLnRleHR1cmUuZW5jb2RpbmddLERkdChlLDAsMCwzKmxkdCwyKmxkdCksbi5zZXRSZW5kZXJUYXJnZXQoZSksbi5yZW5kZXIoaSxnZHQpfV9hcHBseVBNUkVNKHQpe2NvbnN0IGU9dGhpcy5fcmVuZGVyZXIsbj1lLmF1dG9DbGVhcjtlLmF1dG9DbGVhcj0hMTtmb3IobGV0IGU9MTtlPGRkdDtlKyspe2NvbnN0IG49TWF0aC5zcXJ0KHlkdFtlXSp5ZHRbZV0teWR0W2UtMV0qeWR0W2UtMV0pO3RoaXMuX2JsdXIodCxlLTEsZSxuLHhkdFsoZS0xKSV4ZHQubGVuZ3RoXSl9ZS5hdXRvQ2xlYXI9bn1fYmx1cih0LGUsbixvLGkpe2NvbnN0IGE9dGhpcy5fcGluZ1BvbmdSZW5kZXJUYXJnZXQ7dGhpcy5faGFsZkJsdXIodCxhLGUsbixvLCJsYXRpdHVkaW5hbCIsaSksdGhpcy5faGFsZkJsdXIoYSx0LG4sbixvLCJsb25naXR1ZGluYWwiLGkpfV9oYWxmQmx1cih0LGUsbixvLGksYSxyKXtjb25zdCBzPXRoaXMuX3JlbmRlcmVyLGw9dGhpcy5fYmx1ck1hdGVyaWFsOyJsYXRpdHVkaW5hbCIhPT1hJiYibG9uZ2l0dWRpbmFsIiE9PWEmJmNvbnNvbGUuZXJyb3IoImJsdXIgZGlyZWN0aW9uIG11c3QgYmUgZWl0aGVyIGxhdGl0dWRpbmFsIG9yIGxvbmdpdHVkaW5hbCEiKTtjb25zdCBjPW5ldyBTY3QoaGR0W29dLGwpLGQ9bC51bmlmb3JtcyxwPWJkdFtuXS0xLG09aXNGaW5pdGUoaSk/TWF0aC5QSS8oMipwKToyKk1hdGguUEkvMzksZj1pL20sdT1pc0Zpbml0ZShpKT8xK01hdGguZmxvb3IoMypmKTpwZHQ7dT5wZHQmJmNvbnNvbGUud2Fybihgc2lnbWFSYWRpYW5zLCAke2l9LCBpcyB0b28gbGFyZ2UgYW5kIHdpbGwgY2xpcCwgYXMgaXQgcmVxdWVzdGVkICR7dX0gc2FtcGxlcyB3aGVuIHRoZSBtYXhpbXVtIGlzIHNldCB0byAyMGApO2NvbnN0IGc9W107bGV0IGg9MDtmb3IobGV0IHQ9MDt0PHBkdDsrK3Qpe2NvbnN0IGU9dC9mLG49TWF0aC5leHAoLWUqZS8yKTtnLnB1c2gobiksMD09dD9oKz1uOnQ8dSYmKGgrPTIqbil9Zm9yKGxldCB0PTA7dDxnLmxlbmd0aDt0KyspZ1t0XT1nW3RdL2g7ZC5lbnZNYXAudmFsdWU9dC50ZXh0dXJlLGQuc2FtcGxlcy52YWx1ZT11LGQud2VpZ2h0cy52YWx1ZT1nLGQubGF0aXR1ZGluYWwudmFsdWU9ImxhdGl0dWRpbmFsIj09PWEsciYmKGQucG9sZUF4aXMudmFsdWU9ciksZC5kVGhldGEudmFsdWU9bSxkLm1pcEludC52YWx1ZT04LW4sZC5pbnB1dEVuY29kaW5nLnZhbHVlPW1kdFt0LnRleHR1cmUuZW5jb2RpbmddLGQub3V0cHV0RW5jb2RpbmcudmFsdWU9bWR0W3QudGV4dHVyZS5lbmNvZGluZ107Y29uc3QgYj1iZHRbb107RGR0KGUsMypNYXRoLm1heCgwLGxkdC0yKmIpLCgwPT09bz8wOjIqbGR0KSsyKmIqKG8+ND9vLTgrNDowKSwzKmIsMipiKSxzLnNldFJlbmRlclRhcmdldChlKSxzLnJlbmRlcihjLGdkdCl9fWZ1bmN0aW9uIHdkdCh0KXtyZXR1cm4gdm9pZCAwIT09dCYmdC50eXBlPT09enJ0JiYodC5lbmNvZGluZz09PVFydHx8dC5lbmNvZGluZz09PSRydHx8dC5lbmNvZGluZz09PXRzdCl9ZnVuY3Rpb24ga2R0KCl7Y29uc3QgdD1bXSxlPVtdLG49W107bGV0IG89ODtmb3IobGV0IGk9MDtpPGRkdDtpKyspe2NvbnN0IGE9TWF0aC5wb3coMixvKTtlLnB1c2goYSk7bGV0IHI9MS9hO2k+ND9yPWNkdFtpLTgrNC0xXTowPT1pJiYocj0wKSxuLnB1c2gocik7Y29uc3Qgcz0xLyhhLTEpLGw9LXMvMixjPTErcy8yLGQ9W2wsbCxjLGwsYyxjLGwsbCxjLGMsbCxjXSxwPTYsbT02LGY9Myx1PTIsZz0xLGg9bmV3IEZsb2F0MzJBcnJheShmKm0qcCksYj1uZXcgRmxvYXQzMkFycmF5KHUqbSpwKSx5PW5ldyBGbG9hdDMyQXJyYXkoZyptKnApO2ZvcihsZXQgdD0wO3Q8cDt0Kyspe2NvbnN0IGU9dCUzKjIvMy0xLG49dD4yPzA6LTE7aC5zZXQoW2UsbiwwLGUrMi8zLG4sMCxlKzIvMyxuKzEsMCxlLG4sMCxlKzIvMyxuKzEsMCxlLG4rMSwwXSxmKm0qdCksYi5zZXQoZCx1Km0qdCk7eS5zZXQoW3QsdCx0LHQsdCx0XSxnKm0qdCl9Y29uc3QgXz1uZXcgZGN0O18uc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IFFsdChoLGYpKSxfLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBRbHQoYix1KSksXy5zZXRBdHRyaWJ1dGUoImZhY2VJbmRleCIsbmV3IFFsdCh5LGcpKSx0LnB1c2goXyksbz40JiZvLS19cmV0dXJue19sb2RQbGFuZXM6dCxfc2l6ZUxvZHM6ZSxfc2lnbWFzOm59fWZ1bmN0aW9uIFNkdCh0KXtjb25zdCBlPW5ldyB4c3QoMypsZHQsMypsZHQsdCk7cmV0dXJuIGUudGV4dHVyZS5tYXBwaW5nPVNydCxlLnRleHR1cmUubmFtZT0iUE1SRU0uY3ViZVV2IixlLnNjaXNzb3JUZXN0PSEwLGV9ZnVuY3Rpb24gRGR0KHQsZSxuLG8saSl7dC52aWV3cG9ydC5zZXQoZSxuLG8saSksdC5zY2lzc29yLnNldChlLG4sbyxpKX1mdW5jdGlvbiBSZHQoKXtjb25zdCB0PW5ldyBnc3QoMSwxKTtyZXR1cm4gbmV3IHNkdCh7bmFtZToiRXF1aXJlY3Rhbmd1bGFyVG9DdWJlVVYiLHVuaWZvcm1zOntlbnZNYXA6e3ZhbHVlOm51bGx9LHRleGVsU2l6ZTp7dmFsdWU6dH0saW5wdXRFbmNvZGluZzp7dmFsdWU6bWR0WzNlM119LG91dHB1dEVuY29kaW5nOnt2YWx1ZTptZHRbM2UzXX19LHZlcnRleFNoYWRlcjpBZHQoKSxmcmFnbWVudFNoYWRlcjpgXG5cblx0XHRcdHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuXHRcdFx0cHJlY2lzaW9uIG1lZGl1bXAgaW50O1xuXG5cdFx0XHR2YXJ5aW5nIHZlYzMgdk91dHB1dERpcmVjdGlvbjtcblxuXHRcdFx0dW5pZm9ybSBzYW1wbGVyMkQgZW52TWFwO1xuXHRcdFx0dW5pZm9ybSB2ZWMyIHRleGVsU2l6ZTtcblxuXHRcdFx0JHtUZHQoKX1cblxuXHRcdFx0I2luY2x1ZGUgPGNvbW1vbj5cblxuXHRcdFx0dm9pZCBtYWluKCkge1xuXG5cdFx0XHRcdGdsX0ZyYWdDb2xvciA9IHZlYzQoIDAuMCwgMC4wLCAwLjAsIDEuMCApO1xuXG5cdFx0XHRcdHZlYzMgb3V0cHV0RGlyZWN0aW9uID0gbm9ybWFsaXplKCB2T3V0cHV0RGlyZWN0aW9uICk7XG5cdFx0XHRcdHZlYzIgdXYgPSBlcXVpcmVjdFV2KCBvdXRwdXREaXJlY3Rpb24gKTtcblxuXHRcdFx0XHR2ZWMyIGYgPSBmcmFjdCggdXYgLyB0ZXhlbFNpemUgLSAwLjUgKTtcblx0XHRcdFx0dXYgLT0gZiAqIHRleGVsU2l6ZTtcblx0XHRcdFx0dmVjMyB0bCA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCAoIGVudk1hcCwgdXYgKSApLnJnYjtcblx0XHRcdFx0dXYueCArPSB0ZXhlbFNpemUueDtcblx0XHRcdFx0dmVjMyB0ciA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCAoIGVudk1hcCwgdXYgKSApLnJnYjtcblx0XHRcdFx0dXYueSArPSB0ZXhlbFNpemUueTtcblx0XHRcdFx0dmVjMyBiciA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCAoIGVudk1hcCwgdXYgKSApLnJnYjtcblx0XHRcdFx0dXYueCAtPSB0ZXhlbFNpemUueDtcblx0XHRcdFx0dmVjMyBibCA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCAoIGVudk1hcCwgdXYgKSApLnJnYjtcblxuXHRcdFx0XHR2ZWMzIHRtID0gbWl4KCB0bCwgdHIsIGYueCApO1xuXHRcdFx0XHR2ZWMzIGJtID0gbWl4KCBibCwgYnIsIGYueCApO1xuXHRcdFx0XHRnbF9GcmFnQ29sb3IucmdiID0gbWl4KCB0bSwgYm0sIGYueSApO1xuXG5cdFx0XHRcdGdsX0ZyYWdDb2xvciA9IGxpbmVhclRvT3V0cHV0VGV4ZWwoIGdsX0ZyYWdDb2xvciApO1xuXG5cdFx0XHR9XG5cdFx0YCxibGVuZGluZzowLGRlcHRoVGVzdDohMSxkZXB0aFdyaXRlOiExfSl9ZnVuY3Rpb24gRWR0KCl7cmV0dXJuIG5ldyBzZHQoe25hbWU6IkN1YmVtYXBUb0N1YmVVViIsdW5pZm9ybXM6e2Vudk1hcDp7dmFsdWU6bnVsbH0saW5wdXRFbmNvZGluZzp7dmFsdWU6bWR0WzNlM119LG91dHB1dEVuY29kaW5nOnt2YWx1ZTptZHRbM2UzXX19LHZlcnRleFNoYWRlcjpBZHQoKSxmcmFnbWVudFNoYWRlcjpgXG5cblx0XHRcdHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuXHRcdFx0cHJlY2lzaW9uIG1lZGl1bXAgaW50O1xuXG5cdFx0XHR2YXJ5aW5nIHZlYzMgdk91dHB1dERpcmVjdGlvbjtcblxuXHRcdFx0dW5pZm9ybSBzYW1wbGVyQ3ViZSBlbnZNYXA7XG5cblx0XHRcdCR7VGR0KCl9XG5cblx0XHRcdHZvaWQgbWFpbigpIHtcblxuXHRcdFx0XHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCAwLjAsIDAuMCwgMC4wLCAxLjAgKTtcblx0XHRcdFx0Z2xfRnJhZ0NvbG9yLnJnYiA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmVDdWJlKCBlbnZNYXAsIHZlYzMoIC0gdk91dHB1dERpcmVjdGlvbi54LCB2T3V0cHV0RGlyZWN0aW9uLnl6ICkgKSApLnJnYjtcblx0XHRcdFx0Z2xfRnJhZ0NvbG9yID0gbGluZWFyVG9PdXRwdXRUZXhlbCggZ2xfRnJhZ0NvbG9yICk7XG5cblx0XHRcdH1cblx0XHRgLGJsZW5kaW5nOjAsZGVwdGhUZXN0OiExLGRlcHRoV3JpdGU6ITF9KX1mdW5jdGlvbiBBZHQoKXtyZXR1cm4iXG5cblx0XHRwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcblx0XHRwcmVjaXNpb24gbWVkaXVtcCBpbnQ7XG5cblx0XHRhdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjtcblx0XHRhdHRyaWJ1dGUgdmVjMiB1djtcblx0XHRhdHRyaWJ1dGUgZmxvYXQgZmFjZUluZGV4O1xuXG5cdFx0dmFyeWluZyB2ZWMzIHZPdXRwdXREaXJlY3Rpb247XG5cblx0XHQvLyBSSCBjb29yZGluYXRlIHN5c3RlbTsgUE1SRU0gZmFjZS1pbmRleGluZyBjb252ZW50aW9uXG5cdFx0dmVjMyBnZXREaXJlY3Rpb24oIHZlYzIgdXYsIGZsb2F0IGZhY2UgKSB7XG5cblx0XHRcdHV2ID0gMi4wICogdXYgLSAxLjA7XG5cblx0XHRcdHZlYzMgZGlyZWN0aW9uID0gdmVjMyggdXYsIDEuMCApO1xuXG5cdFx0XHRpZiAoIGZhY2UgPT0gMC4wICkge1xuXG5cdFx0XHRcdGRpcmVjdGlvbiA9IGRpcmVjdGlvbi56eXg7IC8vICggMSwgdiwgdSApIHBvcyB4XG5cblx0XHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gMS4wICkge1xuXG5cdFx0XHRcdGRpcmVjdGlvbiA9IGRpcmVjdGlvbi54enk7XG5cdFx0XHRcdGRpcmVjdGlvbi54eiAqPSAtMS4wOyAvLyAoIC11LCAxLCAtdiApIHBvcyB5XG5cblx0XHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gMi4wICkge1xuXG5cdFx0XHRcdGRpcmVjdGlvbi54ICo9IC0xLjA7IC8vICggLXUsIHYsIDEgKSBwb3MgelxuXG5cdFx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDMuMCApIHtcblxuXHRcdFx0XHRkaXJlY3Rpb24gPSBkaXJlY3Rpb24uenl4O1xuXHRcdFx0XHRkaXJlY3Rpb24ueHogKj0gLTEuMDsgLy8gKCAtMSwgdiwgLXUgKSBuZWcgeFxuXG5cdFx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDQuMCApIHtcblxuXHRcdFx0XHRkaXJlY3Rpb24gPSBkaXJlY3Rpb24ueHp5O1xuXHRcdFx0XHRkaXJlY3Rpb24ueHkgKj0gLTEuMDsgLy8gKCAtdSwgLTEsIHYgKSBuZWcgeVxuXG5cdFx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDUuMCApIHtcblxuXHRcdFx0XHRkaXJlY3Rpb24ueiAqPSAtMS4wOyAvLyAoIHUsIHYsIC0xICkgbmVnIHpcblxuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gZGlyZWN0aW9uO1xuXG5cdFx0fVxuXG5cdFx0dm9pZCBtYWluKCkge1xuXG5cdFx0XHR2T3V0cHV0RGlyZWN0aW9uID0gZ2V0RGlyZWN0aW9uKCB1diwgZmFjZUluZGV4ICk7XG5cdFx0XHRnbF9Qb3NpdGlvbiA9IHZlYzQoIHBvc2l0aW9uLCAxLjAgKTtcblxuXHRcdH1cblx0In1mdW5jdGlvbiBUZHQoKXtyZXR1cm4iXG5cblx0XHR1bmlmb3JtIGludCBpbnB1dEVuY29kaW5nO1xuXHRcdHVuaWZvcm0gaW50IG91dHB1dEVuY29kaW5nO1xuXG5cdFx0I2luY2x1ZGUgPGVuY29kaW5nc19wYXJzX2ZyYWdtZW50PlxuXG5cdFx0dmVjNCBpbnB1dFRleGVsVG9MaW5lYXIoIHZlYzQgdmFsdWUgKSB7XG5cblx0XHRcdGlmICggaW5wdXRFbmNvZGluZyA9PSAwICkge1xuXG5cdFx0XHRcdHJldHVybiB2YWx1ZTtcblxuXHRcdFx0fSBlbHNlIGlmICggaW5wdXRFbmNvZGluZyA9PSAxICkge1xuXG5cdFx0XHRcdHJldHVybiBzUkdCVG9MaW5lYXIoIHZhbHVlICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIGlucHV0RW5jb2RpbmcgPT0gMiApIHtcblxuXHRcdFx0XHRyZXR1cm4gUkdCRVRvTGluZWFyKCB2YWx1ZSApO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBpbnB1dEVuY29kaW5nID09IDMgKSB7XG5cblx0XHRcdFx0cmV0dXJuIFJHQk1Ub0xpbmVhciggdmFsdWUsIDcuMCApO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBpbnB1dEVuY29kaW5nID09IDQgKSB7XG5cblx0XHRcdFx0cmV0dXJuIFJHQk1Ub0xpbmVhciggdmFsdWUsIDE2LjAgKTtcblxuXHRcdFx0fSBlbHNlIGlmICggaW5wdXRFbmNvZGluZyA9PSA1ICkge1xuXG5cdFx0XHRcdHJldHVybiBSR0JEVG9MaW5lYXIoIHZhbHVlLCAyNTYuMCApO1xuXG5cdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdHJldHVybiBHYW1tYVRvTGluZWFyKCB2YWx1ZSwgMi4yICk7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdHZlYzQgbGluZWFyVG9PdXRwdXRUZXhlbCggdmVjNCB2YWx1ZSApIHtcblxuXHRcdFx0aWYgKCBvdXRwdXRFbmNvZGluZyA9PSAwICkge1xuXG5cdFx0XHRcdHJldHVybiB2YWx1ZTtcblxuXHRcdFx0fSBlbHNlIGlmICggb3V0cHV0RW5jb2RpbmcgPT0gMSApIHtcblxuXHRcdFx0XHRyZXR1cm4gTGluZWFyVG9zUkdCKCB2YWx1ZSApO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBvdXRwdXRFbmNvZGluZyA9PSAyICkge1xuXG5cdFx0XHRcdHJldHVybiBMaW5lYXJUb1JHQkUoIHZhbHVlICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIG91dHB1dEVuY29kaW5nID09IDMgKSB7XG5cblx0XHRcdFx0cmV0dXJuIExpbmVhclRvUkdCTSggdmFsdWUsIDcuMCApO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBvdXRwdXRFbmNvZGluZyA9PSA0ICkge1xuXG5cdFx0XHRcdHJldHVybiBMaW5lYXJUb1JHQk0oIHZhbHVlLCAxNi4wICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIG91dHB1dEVuY29kaW5nID09IDUgKSB7XG5cblx0XHRcdFx0cmV0dXJuIExpbmVhclRvUkdCRCggdmFsdWUsIDI1Ni4wICk7XG5cblx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0cmV0dXJuIExpbmVhclRvR2FtbWEoIHZhbHVlLCAyLjIgKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0dmVjNCBlbnZNYXBUZXhlbFRvTGluZWFyKCB2ZWM0IGNvbG9yICkge1xuXG5cdFx0XHRyZXR1cm4gaW5wdXRUZXhlbFRvTGluZWFyKCBjb2xvciApO1xuXG5cdFx0fVxuXHQifWZ1bmN0aW9uIE5kdCh0KXtsZXQgZT1uZXcgV2Vha01hcCxuPW51bGw7ZnVuY3Rpb24gbyh0KXtjb25zdCBuPXQudGFyZ2V0O24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsbyk7Y29uc3QgaT1lLmdldChuKTt2b2lkIDAhPT1pJiYoaS5kZWxldGUobiksaS5kaXNwb3NlKCkpfXJldHVybntnZXQ6ZnVuY3Rpb24gaShhKXtpZihhJiZhLmlzVGV4dHVyZSYmITE9PT1hLmlzUmVuZGVyVGFyZ2V0VGV4dHVyZSl7Y29uc3QgaT1hLm1hcHBpbmcscj0zMDM9PT1pfHwzMDQ9PT1pLHM9aT09PXdydHx8aT09PWtydDtpZihyfHxzKXtpZihlLmhhcyhhKSlyZXR1cm4gZS5nZXQoYSkudGV4dHVyZTt7Y29uc3QgaT1hLmltYWdlO2lmKHImJmkmJmkuaGVpZ2h0PjB8fHMmJmkmJihmdW5jdGlvbiByKHQpe2xldCBlPTA7Y29uc3Qgbj02O2ZvcihsZXQgbz0wO288bjtvKyspdm9pZCAwIT09dFtvXSYmZSsrO3JldHVybiBlPT09bn0pKGkpKXtjb25zdCBpPXQuZ2V0UmVuZGVyVGFyZ2V0KCk7bnVsbD09PW4mJihuPW5ldyBQZHQodCkpO2NvbnN0IHM9cj9uLmZyb21FcXVpcmVjdGFuZ3VsYXIoYSk6bi5mcm9tQ3ViZW1hcChhKTtyZXR1cm4gZS5zZXQoYSxzKSx0LnNldFJlbmRlclRhcmdldChpKSxhLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLG8pLHMudGV4dHVyZX1yZXR1cm4gbnVsbH19fXJldHVybiBhfSxkaXNwb3NlOmZ1bmN0aW9uIGEoKXtlPW5ldyBXZWFrTWFwLG51bGwhPT1uJiYobi5kaXNwb3NlKCksbj1udWxsKX19fWZ1bmN0aW9uIHpkdCh0KXtjb25zdCBlPXt9O2Z1bmN0aW9uIG4obil7aWYodm9pZCAwIT09ZVtuXSlyZXR1cm4gZVtuXTtsZXQgbztzd2l0Y2gobil7Y2FzZSJXRUJHTF9kZXB0aF90ZXh0dXJlIjpvPXQuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9kZXB0aF90ZXh0dXJlIil8fHQuZ2V0RXh0ZW5zaW9uKCJNT1pfV0VCR0xfZGVwdGhfdGV4dHVyZSIpfHx0LmdldEV4dGVuc2lvbigiV0VCS0lUX1dFQkdMX2RlcHRoX3RleHR1cmUiKTticmVhaztjYXNlIkVYVF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyI6bz10LmdldEV4dGVuc2lvbigiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIil8fHQuZ2V0RXh0ZW5zaW9uKCJNT1pfRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIil8fHQuZ2V0RXh0ZW5zaW9uKCJXRUJLSVRfRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIik7YnJlYWs7Y2FzZSJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyI6bz10LmdldEV4dGVuc2lvbigiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKXx8dC5nZXRFeHRlbnNpb24oIk1PWl9XRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyIpfHx0LmdldEV4dGVuc2lvbigiV0VCS0lUX1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIik7YnJlYWs7Y2FzZSJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfcHZydGMiOm89dC5nZXRFeHRlbnNpb24oIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyIpfHx0LmdldEV4dGVuc2lvbigiV0VCS0lUX1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyIpO2JyZWFrO2RlZmF1bHQ6bz10LmdldEV4dGVuc2lvbihuKX1yZXR1cm4gZVtuXT1vLG99cmV0dXJue2hhczpmdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9PW4odCl9LGluaXQ6ZnVuY3Rpb24odCl7dC5pc1dlYkdMMj9uKCJFWFRfY29sb3JfYnVmZmVyX2Zsb2F0Iik6KG4oIldFQkdMX2RlcHRoX3RleHR1cmUiKSxuKCJPRVNfdGV4dHVyZV9mbG9hdCIpLG4oIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSxuKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xpbmVhciIpLG4oIk9FU19zdGFuZGFyZF9kZXJpdmF0aXZlcyIpLG4oIk9FU19lbGVtZW50X2luZGV4X3VpbnQiKSxuKCJPRVNfdmVydGV4X2FycmF5X29iamVjdCIpLG4oIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSksbigiT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIiksbigiRVhUX2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0Iil9LGdldDpmdW5jdGlvbih0KXtjb25zdCBlPW4odCk7cmV0dXJuIG51bGw9PT1lJiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6ICIrdCsiIGV4dGVuc2lvbiBub3Qgc3VwcG9ydGVkLiIpLGV9fX1mdW5jdGlvbiBJZHQodCxlLG4sbyl7Y29uc3QgaT17fSxhPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIHIodCl7Y29uc3Qgcz10LnRhcmdldDtudWxsIT09cy5pbmRleCYmZS5yZW1vdmUocy5pbmRleCk7Zm9yKGNvbnN0IHQgaW4gcy5hdHRyaWJ1dGVzKWUucmVtb3ZlKHMuYXR0cmlidXRlc1t0XSk7cy5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixyKSxkZWxldGUgaVtzLmlkXTtjb25zdCBsPWEuZ2V0KHMpO2wmJihlLnJlbW92ZShsKSxhLmRlbGV0ZShzKSksby5yZWxlYXNlU3RhdGVzT2ZHZW9tZXRyeShzKSwhMD09PXMuaXNJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSYmZGVsZXRlIHMuX21heEluc3RhbmNlQ291bnQsbi5tZW1vcnkuZ2VvbWV0cmllcy0tfWZ1bmN0aW9uIHModCl7Y29uc3Qgbj1bXSxvPXQuaW5kZXgsaT10LmF0dHJpYnV0ZXMucG9zaXRpb247bGV0IHI9MDtpZihudWxsIT09byl7Y29uc3QgdD1vLmFycmF5O3I9by52ZXJzaW9uO2ZvcihsZXQgZT0wLG89dC5sZW5ndGg7ZTxvO2UrPTMpe2NvbnN0IG89dFtlKzBdLGk9dFtlKzFdLGE9dFtlKzJdO24ucHVzaChvLGksaSxhLGEsbyl9fWVsc2V7cj1pLnZlcnNpb247Zm9yKGxldCB0PTAsZT1pLmFycmF5Lmxlbmd0aC8zLTE7dDxlO3QrPTMpe2NvbnN0IGU9dCswLG89dCsxLGk9dCsyO24ucHVzaChlLG8sbyxpLGksZSl9fWNvbnN0IHM9bmV3KG5jdChuKT42NTUzNT90Y3Q6JGx0KShuLDEpO3MudmVyc2lvbj1yO2NvbnN0IGw9YS5nZXQodCk7bCYmZS5yZW1vdmUobCksYS5zZXQodCxzKX1yZXR1cm57Z2V0OmZ1bmN0aW9uIGwodCxlKXtyZXR1cm4hMD09PWlbZS5pZF18fChlLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHIpLGlbZS5pZF09ITAsbi5tZW1vcnkuZ2VvbWV0cmllcysrKSxlfSx1cGRhdGU6ZnVuY3Rpb24gYyh0KXtjb25zdCBuPXQuYXR0cmlidXRlcztmb3IoY29uc3QgdCBpbiBuKWUudXBkYXRlKG5bdF0sMzQ5NjIpO2NvbnN0IG89dC5tb3JwaEF0dHJpYnV0ZXM7Zm9yKGNvbnN0IHQgaW4gbyl7Y29uc3Qgbj1vW3RdO2ZvcihsZXQgdD0wLG89bi5sZW5ndGg7dDxvO3QrKyllLnVwZGF0ZShuW3RdLDM0OTYyKX19LGdldFdpcmVmcmFtZUF0dHJpYnV0ZTpmdW5jdGlvbiBkKHQpe2NvbnN0IGU9YS5nZXQodCk7aWYoZSl7Y29uc3Qgbj10LmluZGV4O251bGwhPT1uJiZlLnZlcnNpb248bi52ZXJzaW9uJiZzKHQpfWVsc2Ugcyh0KTtyZXR1cm4gYS5nZXQodCl9fX1mdW5jdGlvbiBIZHQodCxlLG4sbyl7Y29uc3QgaT1vLmlzV2ViR0wyO2xldCBhLHIsczt0aGlzLnNldE1vZGU9ZnVuY3Rpb24gbCh0KXthPXR9LHRoaXMuc2V0SW5kZXg9ZnVuY3Rpb24gYyh0KXtyPXQudHlwZSxzPXQuYnl0ZXNQZXJFbGVtZW50fSx0aGlzLnJlbmRlcj1mdW5jdGlvbiBkKGUsbyl7dC5kcmF3RWxlbWVudHMoYSxvLHIsZSpzKSxuLnVwZGF0ZShvLGEsMSl9LHRoaXMucmVuZGVySW5zdGFuY2VzPWZ1bmN0aW9uIHAobyxsLGMpe2lmKDA9PT1jKXJldHVybjtsZXQgZCxwO2lmKGkpZD10LHA9ImRyYXdFbGVtZW50c0luc3RhbmNlZCI7ZWxzZSBpZihkPWUuZ2V0KCJBTkdMRV9pbnN0YW5jZWRfYXJyYXlzIikscD0iZHJhd0VsZW1lbnRzSW5zdGFuY2VkQU5HTEUiLG51bGw9PT1kKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMSW5kZXhlZEJ1ZmZlclJlbmRlcmVyOiB1c2luZyBUSFJFRS5JbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSBidXQgaGFyZHdhcmUgZG9lcyBub3Qgc3VwcG9ydCBleHRlbnNpb24gQU5HTEVfaW5zdGFuY2VkX2FycmF5cy4iKTtkW3BdKGEsbCxyLG8qcyxjKSxuLnVwZGF0ZShsLGEsYyl9fWZ1bmN0aW9uIEZkdCh0KXtjb25zdCBlPXtmcmFtZTowLGNhbGxzOjAsdHJpYW5nbGVzOjAscG9pbnRzOjAsbGluZXM6MH07cmV0dXJue21lbW9yeTp7Z2VvbWV0cmllczowLHRleHR1cmVzOjB9LHJlbmRlcjplLHByb2dyYW1zOm51bGwsYXV0b1Jlc2V0OiEwLHJlc2V0OmZ1bmN0aW9uIG4oKXtlLmZyYW1lKyssZS5jYWxscz0wLGUudHJpYW5nbGVzPTAsZS5wb2ludHM9MCxlLmxpbmVzPTB9LHVwZGF0ZTpmdW5jdGlvbiBvKHQsbixpKXtzd2l0Y2goZS5jYWxscysrLG4pe2Nhc2UgNDplLnRyaWFuZ2xlcys9aSoodC8zKTticmVhaztjYXNlIDE6ZS5saW5lcys9aSoodC8yKTticmVhaztjYXNlIDM6ZS5saW5lcys9aSoodC0xKTticmVhaztjYXNlIDI6ZS5saW5lcys9aSp0O2JyZWFrO2Nhc2UgMDplLnBvaW50cys9aSp0O2JyZWFrO2RlZmF1bHQ6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xJbmZvOiBVbmtub3duIGRyYXcgbW9kZToiLG4pfX19fWZ1bmN0aW9uIExkdCh0LGUpe3JldHVybiB0WzBdLWVbMF19ZnVuY3Rpb24gQmR0KHQsZSl7cmV0dXJuIE1hdGguYWJzKGVbMV0pLU1hdGguYWJzKHRbMV0pfWZ1bmN0aW9uIFZkdCh0KXtjb25zdCBlPXt9LG49bmV3IEZsb2F0MzJBcnJheSg4KSxvPVtdO2ZvcihsZXQgdD0wO3Q8ODt0Kyspb1t0XT1bdCwwXTtyZXR1cm57dXBkYXRlOmZ1bmN0aW9uIGkoYSxyLHMsbCl7Y29uc3QgYz1hLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcyxkPXZvaWQgMD09PWM/MDpjLmxlbmd0aDtsZXQgcD1lW3IuaWRdO2lmKHZvaWQgMD09PXB8fHAubGVuZ3RoIT09ZCl7cD1bXTtmb3IobGV0IHQ9MDt0PGQ7dCsrKXBbdF09W3QsMF07ZVtyLmlkXT1wfWZvcihsZXQgdD0wO3Q8ZDt0Kyspe2NvbnN0IGU9cFt0XTtlWzBdPXQsZVsxXT1jW3RdfXAuc29ydChCZHQpO2ZvcihsZXQgdD0wO3Q8ODt0KyspdDxkJiZwW3RdWzFdPyhvW3RdWzBdPXBbdF1bMF0sb1t0XVsxXT1wW3RdWzFdKToob1t0XVswXT1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUixvW3RdWzFdPTApO28uc29ydChMZHQpO2NvbnN0IG09ci5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb24sZj1yLm1vcnBoQXR0cmlidXRlcy5ub3JtYWw7bGV0IHU9MDtmb3IobGV0IHQ9MDt0PDg7dCsrKXtjb25zdCBlPW9bdF0saT1lWzBdLGE9ZVsxXTtpIT09TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVImJmE/KG0mJnIuZ2V0QXR0cmlidXRlKCJtb3JwaFRhcmdldCIrdCkhPT1tW2ldJiZyLnNldEF0dHJpYnV0ZSgibW9ycGhUYXJnZXQiK3QsbVtpXSksZiYmci5nZXRBdHRyaWJ1dGUoIm1vcnBoTm9ybWFsIit0KSE9PWZbaV0mJnIuc2V0QXR0cmlidXRlKCJtb3JwaE5vcm1hbCIrdCxmW2ldKSxuW3RdPWEsdSs9YSk6KG0mJiEwPT09ci5oYXNBdHRyaWJ1dGUoIm1vcnBoVGFyZ2V0Iit0KSYmci5kZWxldGVBdHRyaWJ1dGUoIm1vcnBoVGFyZ2V0Iit0KSxmJiYhMD09PXIuaGFzQXR0cmlidXRlKCJtb3JwaE5vcm1hbCIrdCkmJnIuZGVsZXRlQXR0cmlidXRlKCJtb3JwaE5vcm1hbCIrdCksblt0XT0wKX1jb25zdCBnPXIubW9ycGhUYXJnZXRzUmVsYXRpdmU/MToxLXU7bC5nZXRVbmlmb3JtcygpLnNldFZhbHVlKHQsIm1vcnBoVGFyZ2V0QmFzZUluZmx1ZW5jZSIsZyksbC5nZXRVbmlmb3JtcygpLnNldFZhbHVlKHQsIm1vcnBoVGFyZ2V0SW5mbHVlbmNlcyIsbil9fX1mdW5jdGlvbiBqZHQodCxlLG4sbyl7bGV0IGk9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYSh0KXtjb25zdCBlPXQudGFyZ2V0O2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsYSksbi5yZW1vdmUoZS5pbnN0YW5jZU1hdHJpeCksbnVsbCE9PWUuaW5zdGFuY2VDb2xvciYmbi5yZW1vdmUoZS5pbnN0YW5jZUNvbG9yKX1yZXR1cm57dXBkYXRlOmZ1bmN0aW9uIHIodCl7Y29uc3Qgcj1vLnJlbmRlci5mcmFtZSxzPWUuZ2V0KHQsdC5nZW9tZXRyeSk7cmV0dXJuIGkuZ2V0KHMpIT09ciYmKGUudXBkYXRlKHMpLGkuc2V0KHMscikpLHQuaXNJbnN0YW5jZWRNZXNoJiYoITE9PT10Lmhhc0V2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGEpJiZ0LmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGEpLG4udXBkYXRlKHQuaW5zdGFuY2VNYXRyaXgsMzQ5NjIpLG51bGwhPT10Lmluc3RhbmNlQ29sb3ImJm4udXBkYXRlKHQuaW5zdGFuY2VDb2xvciwzNDk2MikpLHN9LGRpc3Bvc2U6ZnVuY3Rpb24gcygpe2k9bmV3IFdlYWtNYXB9fX1jbGFzcyBVZHQgZXh0ZW5kcyBDc3R7Y29uc3RydWN0b3IodD1udWxsLGU9MSxuPTEsbz0xKXtzdXBlcihudWxsKSx0aGlzLmltYWdlPXtkYXRhOnQsd2lkdGg6ZSxoZWlnaHQ6bixkZXB0aDpvfSx0aGlzLm1hZ0ZpbHRlcj1BcnQsdGhpcy5taW5GaWx0ZXI9QXJ0LHRoaXMud3JhcFI9UnJ0LHRoaXMuZ2VuZXJhdGVNaXBtYXBzPSExLHRoaXMuZmxpcFk9ITEsdGhpcy51bnBhY2tBbGlnbm1lbnQ9MSx0aGlzLm5lZWRzVXBkYXRlPSEwfX1VZHQucHJvdG90eXBlLmlzRGF0YVRleHR1cmUyREFycmF5PSEwO2NsYXNzIFdkdCBleHRlbmRzIENzdHtjb25zdHJ1Y3Rvcih0PW51bGwsZT0xLG49MSxvPTEpe3N1cGVyKG51bGwpLHRoaXMuaW1hZ2U9e2RhdGE6dCx3aWR0aDplLGhlaWdodDpuLGRlcHRoOm99LHRoaXMubWFnRmlsdGVyPUFydCx0aGlzLm1pbkZpbHRlcj1BcnQsdGhpcy53cmFwUj1ScnQsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITEsdGhpcy5mbGlwWT0hMSx0aGlzLnVucGFja0FsaWdubWVudD0xLHRoaXMubmVlZHNVcGRhdGU9ITB9fVdkdC5wcm90b3R5cGUuaXNEYXRhVGV4dHVyZTNEPSEwO2NvbnN0IEdkdD1uZXcgQ3N0LFlkdD1uZXcgVWR0LHFkdD1uZXcgV2R0LFpkdD1uZXcgTGN0LFhkdD1bXSxLZHQ9W10sSmR0PW5ldyBGbG9hdDMyQXJyYXkoMTYpLFFkdD1uZXcgRmxvYXQzMkFycmF5KDkpLCRkdD1uZXcgRmxvYXQzMkFycmF5KDQpO2Z1bmN0aW9uIHRwdCh0LGUsbil7Y29uc3Qgbz10WzBdO2lmKG88PTB8fG8+MClyZXR1cm4gdDtjb25zdCBpPWUqbjtsZXQgYT1YZHRbaV07aWYodm9pZCAwPT09YSYmKGE9bmV3IEZsb2F0MzJBcnJheShpKSxYZHRbaV09YSksMCE9PWUpe28udG9BcnJheShhLDApO2ZvcihsZXQgbz0xLGk9MDtvIT09ZTsrK28paSs9bix0W29dLnRvQXJyYXkoYSxpKX1yZXR1cm4gYX1mdW5jdGlvbiBlcHQodCxlKXtpZih0Lmxlbmd0aCE9PWUubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgbj0wLG89dC5sZW5ndGg7bjxvO24rKylpZih0W25dIT09ZVtuXSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBucHQodCxlKXtmb3IobGV0IG49MCxvPWUubGVuZ3RoO248bztuKyspdFtuXT1lW25dfWZ1bmN0aW9uIG9wdCh0LGUpe2xldCBuPUtkdFtlXTt2b2lkIDA9PT1uJiYobj1uZXcgSW50MzJBcnJheShlKSxLZHRbZV09bik7Zm9yKGxldCBvPTA7byE9PWU7KytvKW5bb109dC5hbGxvY2F0ZVRleHR1cmVVbml0KCk7cmV0dXJuIG59ZnVuY3Rpb24gaXB0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO25bMF0hPT1lJiYodC51bmlmb3JtMWYodGhpcy5hZGRyLGUpLG5bMF09ZSl9ZnVuY3Rpb24gYXB0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO2lmKHZvaWQgMCE9PWUueCluWzBdPT09ZS54JiZuWzFdPT09ZS55fHwodC51bmlmb3JtMmYodGhpcy5hZGRyLGUueCxlLnkpLG5bMF09ZS54LG5bMV09ZS55KTtlbHNle2lmKGVwdChuLGUpKXJldHVybjt0LnVuaWZvcm0yZnYodGhpcy5hZGRyLGUpLG5wdChuLGUpfX1mdW5jdGlvbiBycHQodCxlKXtjb25zdCBuPXRoaXMuY2FjaGU7aWYodm9pZCAwIT09ZS54KW5bMF09PT1lLngmJm5bMV09PT1lLnkmJm5bMl09PT1lLnp8fCh0LnVuaWZvcm0zZih0aGlzLmFkZHIsZS54LGUueSxlLnopLG5bMF09ZS54LG5bMV09ZS55LG5bMl09ZS56KTtlbHNlIGlmKHZvaWQgMCE9PWUuciluWzBdPT09ZS5yJiZuWzFdPT09ZS5nJiZuWzJdPT09ZS5ifHwodC51bmlmb3JtM2YodGhpcy5hZGRyLGUucixlLmcsZS5iKSxuWzBdPWUucixuWzFdPWUuZyxuWzJdPWUuYik7ZWxzZXtpZihlcHQobixlKSlyZXR1cm47dC51bmlmb3JtM2Z2KHRoaXMuYWRkcixlKSxucHQobixlKX19ZnVuY3Rpb24gc3B0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO2lmKHZvaWQgMCE9PWUueCluWzBdPT09ZS54JiZuWzFdPT09ZS55JiZuWzJdPT09ZS56JiZuWzNdPT09ZS53fHwodC51bmlmb3JtNGYodGhpcy5hZGRyLGUueCxlLnksZS56LGUudyksblswXT1lLngsblsxXT1lLnksblsyXT1lLnosblszXT1lLncpO2Vsc2V7aWYoZXB0KG4sZSkpcmV0dXJuO3QudW5pZm9ybTRmdih0aGlzLmFkZHIsZSksbnB0KG4sZSl9fWZ1bmN0aW9uIGxwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZSxvPWUuZWxlbWVudHM7aWYodm9pZCAwPT09byl7aWYoZXB0KG4sZSkpcmV0dXJuO3QudW5pZm9ybU1hdHJpeDJmdih0aGlzLmFkZHIsITEsZSksbnB0KG4sZSl9ZWxzZXtpZihlcHQobixvKSlyZXR1cm47JGR0LnNldChvKSx0LnVuaWZvcm1NYXRyaXgyZnYodGhpcy5hZGRyLCExLCRkdCksbnB0KG4sbyl9fWZ1bmN0aW9uIGNwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZSxvPWUuZWxlbWVudHM7aWYodm9pZCAwPT09byl7aWYoZXB0KG4sZSkpcmV0dXJuO3QudW5pZm9ybU1hdHJpeDNmdih0aGlzLmFkZHIsITEsZSksbnB0KG4sZSl9ZWxzZXtpZihlcHQobixvKSlyZXR1cm47UWR0LnNldChvKSx0LnVuaWZvcm1NYXRyaXgzZnYodGhpcy5hZGRyLCExLFFkdCksbnB0KG4sbyl9fWZ1bmN0aW9uIGRwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZSxvPWUuZWxlbWVudHM7aWYodm9pZCAwPT09byl7aWYoZXB0KG4sZSkpcmV0dXJuO3QudW5pZm9ybU1hdHJpeDRmdih0aGlzLmFkZHIsITEsZSksbnB0KG4sZSl9ZWxzZXtpZihlcHQobixvKSlyZXR1cm47SmR0LnNldChvKSx0LnVuaWZvcm1NYXRyaXg0ZnYodGhpcy5hZGRyLCExLEpkdCksbnB0KG4sbyl9fWZ1bmN0aW9uIHBwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtuWzBdIT09ZSYmKHQudW5pZm9ybTFpKHRoaXMuYWRkcixlKSxuWzBdPWUpfWZ1bmN0aW9uIG1wdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtlcHQobixlKXx8KHQudW5pZm9ybTJpdih0aGlzLmFkZHIsZSksbnB0KG4sZSkpfWZ1bmN0aW9uIGZwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtlcHQobixlKXx8KHQudW5pZm9ybTNpdih0aGlzLmFkZHIsZSksbnB0KG4sZSkpfWZ1bmN0aW9uIHVwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtlcHQobixlKXx8KHQudW5pZm9ybTRpdih0aGlzLmFkZHIsZSksbnB0KG4sZSkpfWZ1bmN0aW9uIGdwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtuWzBdIT09ZSYmKHQudW5pZm9ybTF1aSh0aGlzLmFkZHIsZSksblswXT1lKX1mdW5jdGlvbiBocHQodCxlKXtjb25zdCBuPXRoaXMuY2FjaGU7ZXB0KG4sZSl8fCh0LnVuaWZvcm0ydWl2KHRoaXMuYWRkcixlKSxucHQobixlKSl9ZnVuY3Rpb24gYnB0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO2VwdChuLGUpfHwodC51bmlmb3JtM3Vpdih0aGlzLmFkZHIsZSksbnB0KG4sZSkpfWZ1bmN0aW9uIHlwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtlcHQobixlKXx8KHQudW5pZm9ybTR1aXYodGhpcy5hZGRyLGUpLG5wdChuLGUpKX1mdW5jdGlvbiBfcHQodCxlLG4pe2NvbnN0IG89dGhpcy5jYWNoZSxpPW4uYWxsb2NhdGVUZXh0dXJlVW5pdCgpO29bMF0hPT1pJiYodC51bmlmb3JtMWkodGhpcy5hZGRyLGkpLG9bMF09aSksbi5zYWZlU2V0VGV4dHVyZTJEKGV8fEdkdCxpKX1mdW5jdGlvbiBDcHQodCxlLG4pe2NvbnN0IG89dGhpcy5jYWNoZSxpPW4uYWxsb2NhdGVUZXh0dXJlVW5pdCgpO29bMF0hPT1pJiYodC51bmlmb3JtMWkodGhpcy5hZGRyLGkpLG9bMF09aSksbi5zZXRUZXh0dXJlM0QoZXx8cWR0LGkpfWZ1bmN0aW9uIE1wdCh0LGUsbil7Y29uc3Qgbz10aGlzLmNhY2hlLGk9bi5hbGxvY2F0ZVRleHR1cmVVbml0KCk7b1swXSE9PWkmJih0LnVuaWZvcm0xaSh0aGlzLmFkZHIsaSksb1swXT1pKSxuLnNhZmVTZXRUZXh0dXJlQ3ViZShlfHxaZHQsaSl9ZnVuY3Rpb24gdnB0KHQsZSxuKXtjb25zdCBvPXRoaXMuY2FjaGUsaT1uLmFsbG9jYXRlVGV4dHVyZVVuaXQoKTtvWzBdIT09aSYmKHQudW5pZm9ybTFpKHRoaXMuYWRkcixpKSxvWzBdPWkpLG4uc2V0VGV4dHVyZTJEQXJyYXkoZXx8WWR0LGkpfWZ1bmN0aW9uIHhwdCh0LGUpe3QudW5pZm9ybTFmdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gT3B0KHQsZSl7Y29uc3Qgbj10cHQoZSx0aGlzLnNpemUsMik7dC51bmlmb3JtMmZ2KHRoaXMuYWRkcixuKX1mdW5jdGlvbiBQcHQodCxlKXtjb25zdCBuPXRwdChlLHRoaXMuc2l6ZSwzKTt0LnVuaWZvcm0zZnYodGhpcy5hZGRyLG4pfWZ1bmN0aW9uIHdwdCh0LGUpe2NvbnN0IG49dHB0KGUsdGhpcy5zaXplLDQpO3QudW5pZm9ybTRmdih0aGlzLmFkZHIsbil9ZnVuY3Rpb24ga3B0KHQsZSl7Y29uc3Qgbj10cHQoZSx0aGlzLnNpemUsNCk7dC51bmlmb3JtTWF0cml4MmZ2KHRoaXMuYWRkciwhMSxuKX1mdW5jdGlvbiBTcHQodCxlKXtjb25zdCBuPXRwdChlLHRoaXMuc2l6ZSw5KTt0LnVuaWZvcm1NYXRyaXgzZnYodGhpcy5hZGRyLCExLG4pfWZ1bmN0aW9uIERwdCh0LGUpe2NvbnN0IG49dHB0KGUsdGhpcy5zaXplLDE2KTt0LnVuaWZvcm1NYXRyaXg0ZnYodGhpcy5hZGRyLCExLG4pfWZ1bmN0aW9uIFJwdCh0LGUpe3QudW5pZm9ybTFpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gRXB0KHQsZSl7dC51bmlmb3JtMml2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBBcHQodCxlKXt0LnVuaWZvcm0zaXYodGhpcy5hZGRyLGUpfWZ1bmN0aW9uIFRwdCh0LGUpe3QudW5pZm9ybTRpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gTnB0KHQsZSl7dC51bmlmb3JtMXVpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24genB0KHQsZSl7dC51bmlmb3JtMnVpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gSXB0KHQsZSl7dC51bmlmb3JtM3Vpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gSHB0KHQsZSl7dC51bmlmb3JtNHVpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gRnB0KHQsZSxuKXtjb25zdCBvPWUubGVuZ3RoLGk9b3B0KG4sbyk7dC51bmlmb3JtMWl2KHRoaXMuYWRkcixpKTtmb3IobGV0IHQ9MDt0IT09bzsrK3Qpbi5zYWZlU2V0VGV4dHVyZTJEKGVbdF18fEdkdCxpW3RdKX1mdW5jdGlvbiBMcHQodCxlLG4pe2NvbnN0IG89ZS5sZW5ndGgsaT1vcHQobixvKTt0LnVuaWZvcm0xaXYodGhpcy5hZGRyLGkpO2ZvcihsZXQgdD0wO3QhPT1vOysrdCluLnNhZmVTZXRUZXh0dXJlQ3ViZShlW3RdfHxaZHQsaVt0XSl9ZnVuY3Rpb24gQnB0KHQsZSxuKXt0aGlzLmlkPXQsdGhpcy5hZGRyPW4sdGhpcy5jYWNoZT1bXSx0aGlzLnNldFZhbHVlPShmdW5jdGlvbiBvKHQpe3N3aXRjaCh0KXtjYXNlIDUxMjY6cmV0dXJuIGlwdDtjYXNlIDM1NjY0OnJldHVybiBhcHQ7Y2FzZSAzNTY2NTpyZXR1cm4gcnB0O2Nhc2UgMzU2NjY6cmV0dXJuIHNwdDtjYXNlIDM1Njc0OnJldHVybiBscHQ7Y2FzZSAzNTY3NTpyZXR1cm4gY3B0O2Nhc2UgMzU2NzY6cmV0dXJuIGRwdDtjYXNlIDUxMjQ6Y2FzZSAzNTY3MDpyZXR1cm4gcHB0O2Nhc2UgMzU2Njc6Y2FzZSAzNTY3MTpyZXR1cm4gbXB0O2Nhc2UgMzU2Njg6Y2FzZSAzNTY3MjpyZXR1cm4gZnB0O2Nhc2UgMzU2Njk6Y2FzZSAzNTY3MzpyZXR1cm4gdXB0O2Nhc2UgNTEyNTpyZXR1cm4gZ3B0O2Nhc2UgMzYyOTQ6cmV0dXJuIGhwdDtjYXNlIDM2Mjk1OnJldHVybiBicHQ7Y2FzZSAzNjI5NjpyZXR1cm4geXB0O2Nhc2UgMzU2Nzg6Y2FzZSAzNjE5ODpjYXNlIDM2Mjk4OmNhc2UgMzYzMDY6Y2FzZSAzNTY4MjpyZXR1cm4gX3B0O2Nhc2UgMzU2Nzk6Y2FzZSAzNjI5OTpjYXNlIDM2MzA3OnJldHVybiBDcHQ7Y2FzZSAzNTY4MDpjYXNlIDM2MzAwOmNhc2UgMzYzMDg6Y2FzZSAzNjI5MzpyZXR1cm4gTXB0O2Nhc2UgMzYyODk6Y2FzZSAzNjMwMzpjYXNlIDM2MzExOmNhc2UgMzYyOTI6cmV0dXJuIHZwdH19KShlLnR5cGUpfWZ1bmN0aW9uIFZwdCh0LGUsbil7dGhpcy5pZD10LHRoaXMuYWRkcj1uLHRoaXMuY2FjaGU9W10sdGhpcy5zaXplPWUuc2l6ZSx0aGlzLnNldFZhbHVlPShmdW5jdGlvbiBvKHQpe3N3aXRjaCh0KXtjYXNlIDUxMjY6cmV0dXJuIHhwdDtjYXNlIDM1NjY0OnJldHVybiBPcHQ7Y2FzZSAzNTY2NTpyZXR1cm4gUHB0O2Nhc2UgMzU2NjY6cmV0dXJuIHdwdDtjYXNlIDM1Njc0OnJldHVybiBrcHQ7Y2FzZSAzNTY3NTpyZXR1cm4gU3B0O2Nhc2UgMzU2NzY6cmV0dXJuIERwdDtjYXNlIDUxMjQ6Y2FzZSAzNTY3MDpyZXR1cm4gUnB0O2Nhc2UgMzU2Njc6Y2FzZSAzNTY3MTpyZXR1cm4gRXB0O2Nhc2UgMzU2Njg6Y2FzZSAzNTY3MjpyZXR1cm4gQXB0O2Nhc2UgMzU2Njk6Y2FzZSAzNTY3MzpyZXR1cm4gVHB0O2Nhc2UgNTEyNTpyZXR1cm4gTnB0O2Nhc2UgMzYyOTQ6cmV0dXJuIHpwdDtjYXNlIDM2Mjk1OnJldHVybiBJcHQ7Y2FzZSAzNjI5NjpyZXR1cm4gSHB0O2Nhc2UgMzU2Nzg6Y2FzZSAzNjE5ODpjYXNlIDM2Mjk4OmNhc2UgMzYzMDY6Y2FzZSAzNTY4MjpyZXR1cm4gRnB0O2Nhc2UgMzU2ODA6Y2FzZSAzNjMwMDpjYXNlIDM2MzA4OmNhc2UgMzYyOTM6cmV0dXJuIExwdH19KShlLnR5cGUpfWZ1bmN0aW9uIGpwdCh0KXt0aGlzLmlkPXQsdGhpcy5zZXE9W10sdGhpcy5tYXA9e319VnB0LnByb3RvdHlwZS51cGRhdGVDYWNoZT1mdW5jdGlvbih0KXtjb25zdCBlPXRoaXMuY2FjaGU7dCBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSYmZS5sZW5ndGghPT10Lmxlbmd0aCYmKHRoaXMuY2FjaGU9bmV3IEZsb2F0MzJBcnJheSh0Lmxlbmd0aCkpLG5wdChlLHQpfSxqcHQucHJvdG90eXBlLnNldFZhbHVlPWZ1bmN0aW9uKHQsZSxuKXtjb25zdCBvPXRoaXMuc2VxO2ZvcihsZXQgaT0wLGE9by5sZW5ndGg7aSE9PWE7KytpKXtjb25zdCBhPW9baV07YS5zZXRWYWx1ZSh0LGVbYS5pZF0sbil9fTtjb25zdCBVcHQ9LyhcdyspKFxdKT8oXFt8XC4pPy9nO2Z1bmN0aW9uIFdwdCh0LGUpe3Quc2VxLnB1c2goZSksdC5tYXBbZS5pZF09ZX1mdW5jdGlvbiBHcHQodCxlLG4pe2NvbnN0IG89dC5uYW1lLGk9by5sZW5ndGg7Zm9yKFVwdC5sYXN0SW5kZXg9MDs7KXtjb25zdCBhPVVwdC5leGVjKG8pLHI9VXB0Lmxhc3RJbmRleDtsZXQgcz1hWzFdO2NvbnN0IGw9YVszXTtpZigiXSI9PT1hWzJdJiYoc3w9MCksdm9pZCAwPT09bHx8IlsiPT09bCYmcisyPT09aSl7V3B0KG4sdm9pZCAwPT09bD9uZXcgQnB0KHMsdCxlKTpuZXcgVnB0KHMsdCxlKSk7YnJlYWt9e2xldCB0PW4ubWFwW3NdO3ZvaWQgMD09PXQmJih0PW5ldyBqcHQocyksV3B0KG4sdCkpLG49dH19fWZ1bmN0aW9uIFlwdCh0LGUpe3RoaXMuc2VxPVtdLHRoaXMubWFwPXt9O2NvbnN0IG49dC5nZXRQcm9ncmFtUGFyYW1ldGVyKGUsMzU3MTgpO2ZvcihsZXQgbz0wO288bjsrK28pe2NvbnN0IG49dC5nZXRBY3RpdmVVbmlmb3JtKGUsbyk7R3B0KG4sdC5nZXRVbmlmb3JtTG9jYXRpb24oZSxuLm5hbWUpLHRoaXMpfX1mdW5jdGlvbiBxcHQodCxlLG4pe2NvbnN0IG89dC5jcmVhdGVTaGFkZXIoZSk7cmV0dXJuIHQuc2hhZGVyU291cmNlKG8sbiksdC5jb21waWxlU2hhZGVyKG8pLG99WXB0LnByb3RvdHlwZS5zZXRWYWx1ZT1mdW5jdGlvbih0LGUsbixvKXtjb25zdCBpPXRoaXMubWFwW2VdO3ZvaWQgMCE9PWkmJmkuc2V0VmFsdWUodCxuLG8pfSxZcHQucHJvdG90eXBlLnNldE9wdGlvbmFsPWZ1bmN0aW9uKHQsZSxuKXtjb25zdCBvPWVbbl07dm9pZCAwIT09byYmdGhpcy5zZXRWYWx1ZSh0LG4sbyl9LFlwdC51cGxvYWQ9ZnVuY3Rpb24odCxlLG4sbyl7Zm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpIT09YTsrK2kpe2NvbnN0IGE9ZVtpXSxyPW5bYS5pZF07ITEhPT1yLm5lZWRzVXBkYXRlJiZhLnNldFZhbHVlKHQsci52YWx1ZSxvKX19LFlwdC5zZXFXaXRoVmFsdWU9ZnVuY3Rpb24odCxlKXtjb25zdCBuPVtdO2ZvcihsZXQgbz0wLGk9dC5sZW5ndGg7byE9PWk7KytvKXtjb25zdCBpPXRbb107aS5pZCBpbiBlJiZuLnB1c2goaSl9cmV0dXJuIG59O2xldCBacHQ9MDtmdW5jdGlvbiBYcHQodCl7c3dpdGNoKHQpe2Nhc2UgUXJ0OnJldHVyblsiTGluZWFyIiwiKCB2YWx1ZSApIl07Y2FzZSAkcnQ6cmV0dXJuWyJzUkdCIiwiKCB2YWx1ZSApIl07Y2FzZSBlc3Q6cmV0dXJuWyJSR0JFIiwiKCB2YWx1ZSApIl07Y2FzZSAzMDA0OnJldHVyblsiUkdCTSIsIiggdmFsdWUsIDcuMCApIl07Y2FzZSAzMDA1OnJldHVyblsiUkdCTSIsIiggdmFsdWUsIDE2LjAgKSJdO2Nhc2UgMzAwNjpyZXR1cm5bIlJHQkQiLCIoIHZhbHVlLCAyNTYuMCApIl07Y2FzZSB0c3Q6cmV0dXJuWyJHYW1tYSIsIiggdmFsdWUsIGZsb2F0KCBHQU1NQV9GQUNUT1IgKSApIl07Y2FzZSAzMDAzOnJldHVyblsiTG9nTHV2IiwiKCB2YWx1ZSApIl07ZGVmYXVsdDpyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFByb2dyYW06IFVuc3VwcG9ydGVkIGVuY29kaW5nOiIsdCksWyJMaW5lYXIiLCIoIHZhbHVlICkiXX19ZnVuY3Rpb24gS3B0KHQsZSxuKXtjb25zdCBvPXQuZ2V0U2hhZGVyUGFyYW1ldGVyKGUsMzU3MTMpLGk9dC5nZXRTaGFkZXJJbmZvTG9nKGUpLnRyaW0oKTtpZihvJiYiIj09PWkpcmV0dXJuIiI7cmV0dXJuIlRIUkVFLldlYkdMU2hhZGVyOiBnbC5nZXRTaGFkZXJJbmZvTG9nKCkgIituKyJcbiIraSsoZnVuY3Rpb24gYSh0KXtjb25zdCBlPXQuc3BsaXQoIlxuIik7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XT10KzErIjogIitlW3RdO3JldHVybiBlLmpvaW4oIlxuIil9KSh0LmdldFNoYWRlclNvdXJjZShlKSl9ZnVuY3Rpb24gSnB0KHQsZSl7Y29uc3Qgbj1YcHQoZSk7cmV0dXJuInZlYzQgIit0KyIoIHZlYzQgdmFsdWUgKSB7IHJldHVybiAiK25bMF0rIlRvTGluZWFyIituWzFdKyI7IH0ifWZ1bmN0aW9uIFFwdCh0LGUpe2NvbnN0IG49WHB0KGUpO3JldHVybiJ2ZWM0ICIrdCsiKCB2ZWM0IHZhbHVlICkgeyByZXR1cm4gTGluZWFyVG8iK25bMF0rblsxXSsiOyB9In1mdW5jdGlvbiAkcHQodCxlKXtsZXQgbjtzd2l0Y2goZSl7Y2FzZSAxOm49IkxpbmVhciI7YnJlYWs7Y2FzZSAyOm49IlJlaW5oYXJkIjticmVhaztjYXNlIDM6bj0iT3B0aW1pemVkQ2luZW9uIjticmVhaztjYXNlIDQ6bj0iQUNFU0ZpbG1pYyI7YnJlYWs7Y2FzZSA1Om49IkN1c3RvbSI7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUHJvZ3JhbTogVW5zdXBwb3J0ZWQgdG9uZU1hcHBpbmc6IixlKSxuPSJMaW5lYXIifXJldHVybiJ2ZWMzICIrdCsiKCB2ZWMzIGNvbG9yICkgeyByZXR1cm4gIituKyJUb25lTWFwcGluZyggY29sb3IgKTsgfSJ9ZnVuY3Rpb24gdG10KHQpe3JldHVybiIiIT09dH1mdW5jdGlvbiBlbXQodCxlKXtyZXR1cm4gdC5yZXBsYWNlKC9OVU1fRElSX0xJR0hUUy9nLGUubnVtRGlyTGlnaHRzKS5yZXBsYWNlKC9OVU1fU1BPVF9MSUdIVFMvZyxlLm51bVNwb3RMaWdodHMpLnJlcGxhY2UoL05VTV9SRUNUX0FSRUFfTElHSFRTL2csZS5udW1SZWN0QXJlYUxpZ2h0cykucmVwbGFjZSgvTlVNX1BPSU5UX0xJR0hUUy9nLGUubnVtUG9pbnRMaWdodHMpLnJlcGxhY2UoL05VTV9IRU1JX0xJR0hUUy9nLGUubnVtSGVtaUxpZ2h0cykucmVwbGFjZSgvTlVNX0RJUl9MSUdIVF9TSEFET1dTL2csZS5udW1EaXJMaWdodFNoYWRvd3MpLnJlcGxhY2UoL05VTV9TUE9UX0xJR0hUX1NIQURPV1MvZyxlLm51bVNwb3RMaWdodFNoYWRvd3MpLnJlcGxhY2UoL05VTV9QT0lOVF9MSUdIVF9TSEFET1dTL2csZS5udW1Qb2ludExpZ2h0U2hhZG93cyl9ZnVuY3Rpb24gbm10KHQsZSl7cmV0dXJuIHQucmVwbGFjZSgvTlVNX0NMSVBQSU5HX1BMQU5FUy9nLGUubnVtQ2xpcHBpbmdQbGFuZXMpLnJlcGxhY2UoL1VOSU9OX0NMSVBQSU5HX1BMQU5FUy9nLGUubnVtQ2xpcHBpbmdQbGFuZXMtZS5udW1DbGlwSW50ZXJzZWN0aW9uKX1jb25zdCBvbXQ9L15bIFx0XSojaW5jbHVkZSArPChbXHdcZC4vXSspPi9nbTtmdW5jdGlvbiBpbXQodCl7cmV0dXJuIHQucmVwbGFjZShvbXQsYW10KX1mdW5jdGlvbiBhbXQodCxlKXtjb25zdCBuPUpjdFtlXTtpZih2b2lkIDA9PT1uKXRocm93IG5ldyBFcnJvcigiQ2FuIG5vdCByZXNvbHZlICNpbmNsdWRlIDwiK2UrIj4iKTtyZXR1cm4gaW10KG4pfWNvbnN0IHJtdD0vI3ByYWdtYSB1bnJvbGxfbG9vcFtcc10rP2ZvciBcKCBpbnQgaSBcPSAoXGQrKVw7IGkgPCAoXGQrKVw7IGkgXCtcKyBcKSBceyhbXHNcU10rPykoPz1cfSlcfS9nLHNtdD0vI3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxzK2ZvclxzKlwoXHMqaW50XHMraVxzKj1ccyooXGQrKVxzKjtccyppXHMqPFxzKihcZCspXHMqO1xzKmlccypcK1wrXHMqXClccyp7KFtcc1xTXSs/KX1ccysjcHJhZ21hIHVucm9sbF9sb29wX2VuZC9nO2Z1bmN0aW9uIGxtdCh0KXtyZXR1cm4gdC5yZXBsYWNlKHNtdCxkbXQpLnJlcGxhY2Uocm10LGNtdCl9ZnVuY3Rpb24gY210KHQsZSxuLG8pe3JldHVybiBjb25zb2xlLndhcm4oIldlYkdMUHJvZ3JhbTogI3ByYWdtYSB1bnJvbGxfbG9vcCBzaGFkZXIgc3ludGF4IGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgI3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydCBzeW50YXggaW5zdGVhZC4iKSxkbXQodCxlLG4sbyl9ZnVuY3Rpb24gZG10KHQsZSxuLG8pe2xldCBpPSIiO2ZvcihsZXQgdD1wYXJzZUludChlKTt0PHBhcnNlSW50KG4pO3QrKylpKz1vLnJlcGxhY2UoL1xbXHMqaVxzKlxdL2csIlsgIit0KyIgXSIpLnJlcGxhY2UoL1VOUk9MTEVEX0xPT1BfSU5ERVgvZyx0KTtyZXR1cm4gaX1mdW5jdGlvbiBwbXQodCl7bGV0IGU9InByZWNpc2lvbiAiK3QucHJlY2lzaW9uKyIgZmxvYXQ7XG5wcmVjaXNpb24gIit0LnByZWNpc2lvbisiIGludDsiO3JldHVybiJoaWdocCI9PT10LnByZWNpc2lvbj9lKz0iXG4jZGVmaW5lIEhJR0hfUFJFQ0lTSU9OIjoibWVkaXVtcCI9PT10LnByZWNpc2lvbj9lKz0iXG4jZGVmaW5lIE1FRElVTV9QUkVDSVNJT04iOiJsb3dwIj09PXQucHJlY2lzaW9uJiYoZSs9IlxuI2RlZmluZSBMT1dfUFJFQ0lTSU9OIiksZX1mdW5jdGlvbiBtbXQodCxlLG4sbyl7Y29uc3QgaT10LmdldENvbnRleHQoKSxhPW4uZGVmaW5lcztsZXQgcj1uLnZlcnRleFNoYWRlcixzPW4uZnJhZ21lbnRTaGFkZXI7Y29uc3QgbD0oZnVuY3Rpb24gYyh0KXtsZXQgZT0iU0hBRE9XTUFQX1RZUEVfQkFTSUMiO3JldHVybiAxPT09dC5zaGFkb3dNYXBUeXBlP2U9IlNIQURPV01BUF9UWVBFX1BDRiI6Mj09PXQuc2hhZG93TWFwVHlwZT9lPSJTSEFET1dNQVBfVFlQRV9QQ0ZfU09GVCI6Mz09PXQuc2hhZG93TWFwVHlwZSYmKGU9IlNIQURPV01BUF9UWVBFX1ZTTSIpLGV9KShuKSxkPShmdW5jdGlvbiBwKHQpe2xldCBlPSJFTlZNQVBfVFlQRV9DVUJFIjtpZih0LmVudk1hcClzd2l0Y2godC5lbnZNYXBNb2RlKXtjYXNlIHdydDpjYXNlIGtydDplPSJFTlZNQVBfVFlQRV9DVUJFIjticmVhaztjYXNlIFNydDpjYXNlIDMwNzplPSJFTlZNQVBfVFlQRV9DVUJFX1VWIn1yZXR1cm4gZX0pKG4pLG09KGZ1bmN0aW9uIGYodCl7bGV0IGU9IkVOVk1BUF9NT0RFX1JFRkxFQ1RJT04iO2lmKHQuZW52TWFwKXN3aXRjaCh0LmVudk1hcE1vZGUpe2Nhc2Uga3J0OmNhc2UgMzA3OmU9IkVOVk1BUF9NT0RFX1JFRlJBQ1RJT04ifXJldHVybiBlfSkobiksdT0oZnVuY3Rpb24gZyh0KXtsZXQgZT0iRU5WTUFQX0JMRU5ESU5HX05PTkUiO2lmKHQuZW52TWFwKXN3aXRjaCh0LmNvbWJpbmUpe2Nhc2UgMDplPSJFTlZNQVBfQkxFTkRJTkdfTVVMVElQTFkiO2JyZWFrO2Nhc2UgMTplPSJFTlZNQVBfQkxFTkRJTkdfTUlYIjticmVhaztjYXNlIDI6ZT0iRU5WTUFQX0JMRU5ESU5HX0FERCJ9cmV0dXJuIGV9KShuKSxoPXQuZ2FtbWFGYWN0b3I+MD90LmdhbW1hRmFjdG9yOjEsYj1uLmlzV2ViR0wyPyIiOihmdW5jdGlvbiB5KHQpe3JldHVyblt0LmV4dGVuc2lvbkRlcml2YXRpdmVzfHx0LmVudk1hcEN1YmVVVnx8dC5idW1wTWFwfHx0LnRhbmdlbnRTcGFjZU5vcm1hbE1hcHx8dC5jbGVhcmNvYXROb3JtYWxNYXB8fHQuZmxhdFNoYWRpbmd8fCJwaHlzaWNhbCI9PT10LnNoYWRlcklEPyIjZXh0ZW5zaW9uIEdMX09FU19zdGFuZGFyZF9kZXJpdmF0aXZlcyA6IGVuYWJsZSI6IiIsKHQuZXh0ZW5zaW9uRnJhZ0RlcHRofHx0LmxvZ2FyaXRobWljRGVwdGhCdWZmZXIpJiZ0LnJlbmRlcmVyRXh0ZW5zaW9uRnJhZ0RlcHRoPyIjZXh0ZW5zaW9uIEdMX0VYVF9mcmFnX2RlcHRoIDogZW5hYmxlIjoiIix0LmV4dGVuc2lvbkRyYXdCdWZmZXJzJiZ0LnJlbmRlcmVyRXh0ZW5zaW9uRHJhd0J1ZmZlcnM/IiNleHRlbnNpb24gR0xfRVhUX2RyYXdfYnVmZmVycyA6IHJlcXVpcmUiOiIiLCh0LmV4dGVuc2lvblNoYWRlclRleHR1cmVMT0R8fHQuZW52TWFwfHx0LnRyYW5zbWlzc2lvbj4wKSYmdC5yZW5kZXJlckV4dGVuc2lvblNoYWRlclRleHR1cmVMb2Q/IiNleHRlbnNpb24gR0xfRVhUX3NoYWRlcl90ZXh0dXJlX2xvZCA6IGVuYWJsZSI6IiJdLmZpbHRlcih0bXQpLmpvaW4oIlxuIil9KShuKSxfPShmdW5jdGlvbiBDKHQpe2NvbnN0IGU9W107Zm9yKGNvbnN0IG4gaW4gdCl7Y29uc3Qgbz10W25dOyExIT09byYmZS5wdXNoKCIjZGVmaW5lICIrbisiICIrbyl9cmV0dXJuIGUuam9pbigiXG4iKX0pKGEpLE09aS5jcmVhdGVQcm9ncmFtKCk7bGV0IHYseCxPPW4uZ2xzbFZlcnNpb24/IiN2ZXJzaW9uICIrbi5nbHNsVmVyc2lvbisiXG4iOiIiO24uaXNSYXdTaGFkZXJNYXRlcmlhbD8odj1bX10uZmlsdGVyKHRtdCkuam9pbigiXG4iKSx2Lmxlbmd0aD4wJiYodis9IlxuIikseD1bYixfXS5maWx0ZXIodG10KS5qb2luKCJcbiIpLHgubGVuZ3RoPjAmJih4Kz0iXG4iKSk6KHY9W3BtdChuKSwiI2RlZmluZSBTSEFERVJfTkFNRSAiK24uc2hhZGVyTmFtZSxfLG4uaW5zdGFuY2luZz8iI2RlZmluZSBVU0VfSU5TVEFOQ0lORyI6IiIsbi5pbnN0YW5jaW5nQ29sb3I/IiNkZWZpbmUgVVNFX0lOU1RBTkNJTkdfQ09MT1IiOiIiLG4uc3VwcG9ydHNWZXJ0ZXhUZXh0dXJlcz8iI2RlZmluZSBWRVJURVhfVEVYVFVSRVMiOiIiLCIjZGVmaW5lIEdBTU1BX0ZBQ1RPUiAiK2gsIiNkZWZpbmUgTUFYX0JPTkVTICIrbi5tYXhCb25lcyxuLnVzZUZvZyYmbi5mb2c/IiNkZWZpbmUgVVNFX0ZPRyI6IiIsbi51c2VGb2cmJm4uZm9nRXhwMj8iI2RlZmluZSBGT0dfRVhQMiI6IiIsbi5tYXA/IiNkZWZpbmUgVVNFX01BUCI6IiIsbi5lbnZNYXA/IiNkZWZpbmUgVVNFX0VOVk1BUCI6IiIsbi5lbnZNYXA/IiNkZWZpbmUgIittOiIiLG4ubGlnaHRNYXA/IiNkZWZpbmUgVVNFX0xJR0hUTUFQIjoiIixuLmFvTWFwPyIjZGVmaW5lIFVTRV9BT01BUCI6IiIsbi5lbWlzc2l2ZU1hcD8iI2RlZmluZSBVU0VfRU1JU1NJVkVNQVAiOiIiLG4uYnVtcE1hcD8iI2RlZmluZSBVU0VfQlVNUE1BUCI6IiIsbi5ub3JtYWxNYXA/IiNkZWZpbmUgVVNFX05PUk1BTE1BUCI6IiIsbi5ub3JtYWxNYXAmJm4ub2JqZWN0U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgT0JKRUNUU1BBQ0VfTk9STUFMTUFQIjoiIixuLm5vcm1hbE1hcCYmbi50YW5nZW50U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgVEFOR0VOVFNQQUNFX05PUk1BTE1BUCI6IiIsbi5jbGVhcmNvYXRNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVE1BUCI6IiIsbi5jbGVhcmNvYXRSb3VnaG5lc3NNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVF9ST1VHSE5FU1NNQVAiOiIiLG4uY2xlYXJjb2F0Tm9ybWFsTWFwPyIjZGVmaW5lIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQIjoiIixuLmRpc3BsYWNlbWVudE1hcCYmbi5zdXBwb3J0c1ZlcnRleFRleHR1cmVzPyIjZGVmaW5lIFVTRV9ESVNQTEFDRU1FTlRNQVAiOiIiLG4uc3BlY3VsYXJNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSTUFQIjoiIixuLnNwZWN1bGFySW50ZW5zaXR5TWFwPyIjZGVmaW5lIFVTRV9TUEVDVUxBUklOVEVOU0lUWU1BUCI6IiIsbi5zcGVjdWxhclRpbnRNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSVElOVE1BUCI6IiIsbi5yb3VnaG5lc3NNYXA/IiNkZWZpbmUgVVNFX1JPVUdITkVTU01BUCI6IiIsbi5tZXRhbG5lc3NNYXA/IiNkZWZpbmUgVVNFX01FVEFMTkVTU01BUCI6IiIsbi5hbHBoYU1hcD8iI2RlZmluZSBVU0VfQUxQSEFNQVAiOiIiLG4udHJhbnNtaXNzaW9uPyIjZGVmaW5lIFVTRV9UUkFOU01JU1NJT04iOiIiLG4udHJhbnNtaXNzaW9uTWFwPyIjZGVmaW5lIFVTRV9UUkFOU01JU1NJT05NQVAiOiIiLG4udGhpY2tuZXNzTWFwPyIjZGVmaW5lIFVTRV9USElDS05FU1NNQVAiOiIiLG4udmVydGV4VGFuZ2VudHM/IiNkZWZpbmUgVVNFX1RBTkdFTlQiOiIiLG4udmVydGV4Q29sb3JzPyIjZGVmaW5lIFVTRV9DT0xPUiI6IiIsbi52ZXJ0ZXhBbHBoYXM/IiNkZWZpbmUgVVNFX0NPTE9SX0FMUEhBIjoiIixuLnZlcnRleFV2cz8iI2RlZmluZSBVU0VfVVYiOiIiLG4udXZzVmVydGV4T25seT8iI2RlZmluZSBVVlNfVkVSVEVYX09OTFkiOiIiLG4uZmxhdFNoYWRpbmc/IiNkZWZpbmUgRkxBVF9TSEFERUQiOiIiLG4uc2tpbm5pbmc/IiNkZWZpbmUgVVNFX1NLSU5OSU5HIjoiIixuLnVzZVZlcnRleFRleHR1cmU/IiNkZWZpbmUgQk9ORV9URVhUVVJFIjoiIixuLm1vcnBoVGFyZ2V0cz8iI2RlZmluZSBVU0VfTU9SUEhUQVJHRVRTIjoiIixuLm1vcnBoTm9ybWFscyYmITE9PT1uLmZsYXRTaGFkaW5nPyIjZGVmaW5lIFVTRV9NT1JQSE5PUk1BTFMiOiIiLG4uZG91YmxlU2lkZWQ/IiNkZWZpbmUgRE9VQkxFX1NJREVEIjoiIixuLmZsaXBTaWRlZD8iI2RlZmluZSBGTElQX1NJREVEIjoiIixuLnNoYWRvd01hcEVuYWJsZWQ/IiNkZWZpbmUgVVNFX1NIQURPV01BUCI6IiIsbi5zaGFkb3dNYXBFbmFibGVkPyIjZGVmaW5lICIrbDoiIixuLnNpemVBdHRlbnVhdGlvbj8iI2RlZmluZSBVU0VfU0laRUFUVEVOVUFUSU9OIjoiIixuLmxvZ2FyaXRobWljRGVwdGhCdWZmZXI/IiNkZWZpbmUgVVNFX0xPR0RFUFRIQlVGIjoiIixuLmxvZ2FyaXRobWljRGVwdGhCdWZmZXImJm4ucmVuZGVyZXJFeHRlbnNpb25GcmFnRGVwdGg/IiNkZWZpbmUgVVNFX0xPR0RFUFRIQlVGX0VYVCI6IiIsInVuaWZvcm0gbWF0NCBtb2RlbE1hdHJpeDsiLCJ1bmlmb3JtIG1hdDQgbW9kZWxWaWV3TWF0cml4OyIsInVuaWZvcm0gbWF0NCBwcm9qZWN0aW9uTWF0cml4OyIsInVuaWZvcm0gbWF0NCB2aWV3TWF0cml4OyIsInVuaWZvcm0gbWF0MyBub3JtYWxNYXRyaXg7IiwidW5pZm9ybSB2ZWMzIGNhbWVyYVBvc2l0aW9uOyIsInVuaWZvcm0gYm9vbCBpc09ydGhvZ3JhcGhpYzsiLCIjaWZkZWYgVVNFX0lOU1RBTkNJTkciLCJcdGF0dHJpYnV0ZSBtYXQ0IGluc3RhbmNlTWF0cml4OyIsIiNlbmRpZiIsIiNpZmRlZiBVU0VfSU5TVEFOQ0lOR19DT0xPUiIsIlx0YXR0cmlidXRlIHZlYzMgaW5zdGFuY2VDb2xvcjsiLCIjZW5kaWYiLCJhdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjsiLCJhdHRyaWJ1dGUgdmVjMyBub3JtYWw7IiwiYXR0cmlidXRlIHZlYzIgdXY7IiwiI2lmZGVmIFVTRV9UQU5HRU5UIiwiXHRhdHRyaWJ1dGUgdmVjNCB0YW5nZW50OyIsIiNlbmRpZiIsIiNpZiBkZWZpbmVkKCBVU0VfQ09MT1JfQUxQSEEgKSIsIlx0YXR0cmlidXRlIHZlYzQgY29sb3I7IiwiI2VsaWYgZGVmaW5lZCggVVNFX0NPTE9SICkiLCJcdGF0dHJpYnV0ZSB2ZWMzIGNvbG9yOyIsIiNlbmRpZiIsIiNpZmRlZiBVU0VfTU9SUEhUQVJHRVRTIiwiXHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDA7IiwiXHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDE7IiwiXHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDI7IiwiXHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDM7IiwiXHQjaWZkZWYgVVNFX01PUlBITk9STUFMUyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaE5vcm1hbDA7IiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoTm9ybWFsMTsiLCJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhOb3JtYWwyOyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaE5vcm1hbDM7IiwiXHQjZWxzZSIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDQ7IiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0NTsiLCJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQ2OyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDc7IiwiXHQjZW5kaWYiLCIjZW5kaWYiLCIjaWZkZWYgVVNFX1NLSU5OSU5HIiwiXHRhdHRyaWJ1dGUgdmVjNCBza2luSW5kZXg7IiwiXHRhdHRyaWJ1dGUgdmVjNCBza2luV2VpZ2h0OyIsIiNlbmRpZiIsIlxuIl0uZmlsdGVyKHRtdCkuam9pbigiXG4iKSx4PVtiLHBtdChuKSwiI2RlZmluZSBTSEFERVJfTkFNRSAiK24uc2hhZGVyTmFtZSxfLG4uYWxwaGFUZXN0PyIjZGVmaW5lIEFMUEhBVEVTVCAiK24uYWxwaGFUZXN0KyhuLmFscGhhVGVzdCUxPyIiOiIuMCIpOiIiLCIjZGVmaW5lIEdBTU1BX0ZBQ1RPUiAiK2gsbi51c2VGb2cmJm4uZm9nPyIjZGVmaW5lIFVTRV9GT0ciOiIiLG4udXNlRm9nJiZuLmZvZ0V4cDI/IiNkZWZpbmUgRk9HX0VYUDIiOiIiLG4ubWFwPyIjZGVmaW5lIFVTRV9NQVAiOiIiLG4ubWF0Y2FwPyIjZGVmaW5lIFVTRV9NQVRDQVAiOiIiLG4uZW52TWFwPyIjZGVmaW5lIFVTRV9FTlZNQVAiOiIiLG4uZW52TWFwPyIjZGVmaW5lICIrZDoiIixuLmVudk1hcD8iI2RlZmluZSAiK206IiIsbi5lbnZNYXA/IiNkZWZpbmUgIit1OiIiLG4ubGlnaHRNYXA/IiNkZWZpbmUgVVNFX0xJR0hUTUFQIjoiIixuLmFvTWFwPyIjZGVmaW5lIFVTRV9BT01BUCI6IiIsbi5lbWlzc2l2ZU1hcD8iI2RlZmluZSBVU0VfRU1JU1NJVkVNQVAiOiIiLG4uYnVtcE1hcD8iI2RlZmluZSBVU0VfQlVNUE1BUCI6IiIsbi5ub3JtYWxNYXA/IiNkZWZpbmUgVVNFX05PUk1BTE1BUCI6IiIsbi5ub3JtYWxNYXAmJm4ub2JqZWN0U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgT0JKRUNUU1BBQ0VfTk9STUFMTUFQIjoiIixuLm5vcm1hbE1hcCYmbi50YW5nZW50U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgVEFOR0VOVFNQQUNFX05PUk1BTE1BUCI6IiIsbi5jbGVhcmNvYXRNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVE1BUCI6IiIsbi5jbGVhcmNvYXRSb3VnaG5lc3NNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVF9ST1VHSE5FU1NNQVAiOiIiLG4uY2xlYXJjb2F0Tm9ybWFsTWFwPyIjZGVmaW5lIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQIjoiIixuLnNwZWN1bGFyTWFwPyIjZGVmaW5lIFVTRV9TUEVDVUxBUk1BUCI6IiIsbi5zcGVjdWxhckludGVuc2l0eU1hcD8iI2RlZmluZSBVU0VfU1BFQ1VMQVJJTlRFTlNJVFlNQVAiOiIiLG4uc3BlY3VsYXJUaW50TWFwPyIjZGVmaW5lIFVTRV9TUEVDVUxBUlRJTlRNQVAiOiIiLG4ucm91Z2huZXNzTWFwPyIjZGVmaW5lIFVTRV9ST1VHSE5FU1NNQVAiOiIiLG4ubWV0YWxuZXNzTWFwPyIjZGVmaW5lIFVTRV9NRVRBTE5FU1NNQVAiOiIiLG4uYWxwaGFNYXA/IiNkZWZpbmUgVVNFX0FMUEhBTUFQIjoiIixuLnNoZWVuPyIjZGVmaW5lIFVTRV9TSEVFTiI6IiIsbi50cmFuc21pc3Npb24/IiNkZWZpbmUgVVNFX1RSQU5TTUlTU0lPTiI6IiIsbi50cmFuc21pc3Npb25NYXA/IiNkZWZpbmUgVVNFX1RSQU5TTUlTU0lPTk1BUCI6IiIsbi50aGlja25lc3NNYXA/IiNkZWZpbmUgVVNFX1RISUNLTkVTU01BUCI6IiIsbi52ZXJ0ZXhUYW5nZW50cz8iI2RlZmluZSBVU0VfVEFOR0VOVCI6IiIsbi52ZXJ0ZXhDb2xvcnN8fG4uaW5zdGFuY2luZ0NvbG9yPyIjZGVmaW5lIFVTRV9DT0xPUiI6IiIsbi52ZXJ0ZXhBbHBoYXM/IiNkZWZpbmUgVVNFX0NPTE9SX0FMUEhBIjoiIixuLnZlcnRleFV2cz8iI2RlZmluZSBVU0VfVVYiOiIiLG4udXZzVmVydGV4T25seT8iI2RlZmluZSBVVlNfVkVSVEVYX09OTFkiOiIiLG4uZ3JhZGllbnRNYXA/IiNkZWZpbmUgVVNFX0dSQURJRU5UTUFQIjoiIixuLmZsYXRTaGFkaW5nPyIjZGVmaW5lIEZMQVRfU0hBREVEIjoiIixuLmRvdWJsZVNpZGVkPyIjZGVmaW5lIERPVUJMRV9TSURFRCI6IiIsbi5mbGlwU2lkZWQ/IiNkZWZpbmUgRkxJUF9TSURFRCI6IiIsbi5zaGFkb3dNYXBFbmFibGVkPyIjZGVmaW5lIFVTRV9TSEFET1dNQVAiOiIiLG4uc2hhZG93TWFwRW5hYmxlZD8iI2RlZmluZSAiK2w6IiIsbi5wcmVtdWx0aXBsaWVkQWxwaGE/IiNkZWZpbmUgUFJFTVVMVElQTElFRF9BTFBIQSI6IiIsbi5waHlzaWNhbGx5Q29ycmVjdExpZ2h0cz8iI2RlZmluZSBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTIjoiIixuLmxvZ2FyaXRobWljRGVwdGhCdWZmZXI/IiNkZWZpbmUgVVNFX0xPR0RFUFRIQlVGIjoiIixuLmxvZ2FyaXRobWljRGVwdGhCdWZmZXImJm4ucmVuZGVyZXJFeHRlbnNpb25GcmFnRGVwdGg/IiNkZWZpbmUgVVNFX0xPR0RFUFRIQlVGX0VYVCI6IiIsKG4uZXh0ZW5zaW9uU2hhZGVyVGV4dHVyZUxPRHx8bi5lbnZNYXApJiZuLnJlbmRlcmVyRXh0ZW5zaW9uU2hhZGVyVGV4dHVyZUxvZD8iI2RlZmluZSBURVhUVVJFX0xPRF9FWFQiOiIiLCJ1bmlmb3JtIG1hdDQgdmlld01hdHJpeDsiLCJ1bmlmb3JtIHZlYzMgY2FtZXJhUG9zaXRpb247IiwidW5pZm9ybSBib29sIGlzT3J0aG9ncmFwaGljOyIsMCE9PW4udG9uZU1hcHBpbmc/IiNkZWZpbmUgVE9ORV9NQVBQSU5HIjoiIiwwIT09bi50b25lTWFwcGluZz9KY3QudG9uZW1hcHBpbmdfcGFyc19mcmFnbWVudDoiIiwwIT09bi50b25lTWFwcGluZz8kcHQoInRvbmVNYXBwaW5nIixuLnRvbmVNYXBwaW5nKToiIixuLmRpdGhlcmluZz8iI2RlZmluZSBESVRIRVJJTkciOiIiLEpjdC5lbmNvZGluZ3NfcGFyc19mcmFnbWVudCxuLm1hcD9KcHQoIm1hcFRleGVsVG9MaW5lYXIiLG4ubWFwRW5jb2RpbmcpOiIiLG4ubWF0Y2FwP0pwdCgibWF0Y2FwVGV4ZWxUb0xpbmVhciIsbi5tYXRjYXBFbmNvZGluZyk6IiIsbi5lbnZNYXA/SnB0KCJlbnZNYXBUZXhlbFRvTGluZWFyIixuLmVudk1hcEVuY29kaW5nKToiIixuLmVtaXNzaXZlTWFwP0pwdCgiZW1pc3NpdmVNYXBUZXhlbFRvTGluZWFyIixuLmVtaXNzaXZlTWFwRW5jb2RpbmcpOiIiLG4uc3BlY3VsYXJUaW50TWFwP0pwdCgic3BlY3VsYXJUaW50TWFwVGV4ZWxUb0xpbmVhciIsbi5zcGVjdWxhclRpbnRNYXBFbmNvZGluZyk6IiIsbi5saWdodE1hcD9KcHQoImxpZ2h0TWFwVGV4ZWxUb0xpbmVhciIsbi5saWdodE1hcEVuY29kaW5nKToiIixRcHQoImxpbmVhclRvT3V0cHV0VGV4ZWwiLG4ub3V0cHV0RW5jb2RpbmcpLG4uZGVwdGhQYWNraW5nPyIjZGVmaW5lIERFUFRIX1BBQ0tJTkcgIituLmRlcHRoUGFja2luZzoiIiwiXG4iXS5maWx0ZXIodG10KS5qb2luKCJcbiIpKSxyPWltdChyKSxyPWVtdChyLG4pLHI9bm10KHIsbikscz1pbXQocykscz1lbXQocyxuKSxzPW5tdChzLG4pLHI9bG10KHIpLHM9bG10KHMpLG4uaXNXZWJHTDImJiEwIT09bi5pc1Jhd1NoYWRlck1hdGVyaWFsJiYoTz0iI3ZlcnNpb24gMzAwIGVzXG4iLHY9WyIjZGVmaW5lIGF0dHJpYnV0ZSBpbiIsIiNkZWZpbmUgdmFyeWluZyBvdXQiLCIjZGVmaW5lIHRleHR1cmUyRCB0ZXh0dXJlIl0uam9pbigiXG4iKSsiXG4iK3YseD1bIiNkZWZpbmUgdmFyeWluZyBpbiIsbi5nbHNsVmVyc2lvbj09PWFzdD8iIjoib3V0IGhpZ2hwIHZlYzQgcGNfZnJhZ0NvbG9yOyIsbi5nbHNsVmVyc2lvbj09PWFzdD8iIjoiI2RlZmluZSBnbF9GcmFnQ29sb3IgcGNfZnJhZ0NvbG9yIiwiI2RlZmluZSBnbF9GcmFnRGVwdGhFWFQgZ2xfRnJhZ0RlcHRoIiwiI2RlZmluZSB0ZXh0dXJlMkQgdGV4dHVyZSIsIiNkZWZpbmUgdGV4dHVyZUN1YmUgdGV4dHVyZSIsIiNkZWZpbmUgdGV4dHVyZTJEUHJvaiB0ZXh0dXJlUHJvaiIsIiNkZWZpbmUgdGV4dHVyZTJETG9kRVhUIHRleHR1cmVMb2QiLCIjZGVmaW5lIHRleHR1cmUyRFByb2pMb2RFWFQgdGV4dHVyZVByb2pMb2QiLCIjZGVmaW5lIHRleHR1cmVDdWJlTG9kRVhUIHRleHR1cmVMb2QiLCIjZGVmaW5lIHRleHR1cmUyREdyYWRFWFQgdGV4dHVyZUdyYWQiLCIjZGVmaW5lIHRleHR1cmUyRFByb2pHcmFkRVhUIHRleHR1cmVQcm9qR3JhZCIsIiNkZWZpbmUgdGV4dHVyZUN1YmVHcmFkRVhUIHRleHR1cmVHcmFkIl0uam9pbigiXG4iKSsiXG4iK3gpO2NvbnN0IFA9Tyt4K3Msdz1xcHQoaSwzNTYzMyxPK3Yrciksaz1xcHQoaSwzNTYzMixQKTtpZihpLmF0dGFjaFNoYWRlcihNLHcpLGkuYXR0YWNoU2hhZGVyKE0sayksdm9pZCAwIT09bi5pbmRleDBBdHRyaWJ1dGVOYW1lP2kuYmluZEF0dHJpYkxvY2F0aW9uKE0sMCxuLmluZGV4MEF0dHJpYnV0ZU5hbWUpOiEwPT09bi5tb3JwaFRhcmdldHMmJmkuYmluZEF0dHJpYkxvY2F0aW9uKE0sMCwicG9zaXRpb24iKSxpLmxpbmtQcm9ncmFtKE0pLHQuZGVidWcuY2hlY2tTaGFkZXJFcnJvcnMpe2NvbnN0IHQ9aS5nZXRQcm9ncmFtSW5mb0xvZyhNKS50cmltKCksZT1pLmdldFNoYWRlckluZm9Mb2codykudHJpbSgpLG49aS5nZXRTaGFkZXJJbmZvTG9nKGspLnRyaW0oKTtsZXQgbz0hMCxhPSEwO2lmKCExPT09aS5nZXRQcm9ncmFtUGFyYW1ldGVyKE0sMzU3MTQpKXtvPSExO2NvbnN0IGU9S3B0KGksdywidmVydGV4Iiksbj1LcHQoaSxrLCJmcmFnbWVudCIpO2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUHJvZ3JhbTogc2hhZGVyIGVycm9yOiAiLGkuZ2V0RXJyb3IoKSwiMzU3MTUiLGkuZ2V0UHJvZ3JhbVBhcmFtZXRlcihNLDM1NzE1KSwiZ2wuZ2V0UHJvZ3JhbUluZm9Mb2ciLHQsZSxuKX1lbHNlIiIhPT10P2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xQcm9ncmFtOiBnbC5nZXRQcm9ncmFtSW5mb0xvZygpIix0KToiIiE9PWUmJiIiIT09bnx8KGE9ITEpO2EmJih0aGlzLmRpYWdub3N0aWNzPXtydW5uYWJsZTpvLHByb2dyYW1Mb2c6dCx2ZXJ0ZXhTaGFkZXI6e2xvZzplLHByZWZpeDp2fSxmcmFnbWVudFNoYWRlcjp7bG9nOm4scHJlZml4Onh9fSl9bGV0IFMsRDtyZXR1cm4gaS5kZWxldGVTaGFkZXIodyksaS5kZWxldGVTaGFkZXIoayksdGhpcy5nZXRVbmlmb3Jtcz1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1TJiYoUz1uZXcgWXB0KGksTSkpLFN9LHRoaXMuZ2V0QXR0cmlidXRlcz1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1EJiYoRD0oZnVuY3Rpb24gdChlLG4pe2NvbnN0IG89e30saT1lLmdldFByb2dyYW1QYXJhbWV0ZXIobiwzNTcyMSk7Zm9yKGxldCB0PTA7dDxpO3QrKyl7Y29uc3QgaT1lLmdldEFjdGl2ZUF0dHJpYihuLHQpLm5hbWU7b1tpXT1lLmdldEF0dHJpYkxvY2F0aW9uKG4saSl9cmV0dXJuIG99KShpLE0pKSxEfSx0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oKXtvLnJlbGVhc2VTdGF0ZXNPZlByb2dyYW0odGhpcyksaS5kZWxldGVQcm9ncmFtKE0pLHRoaXMucHJvZ3JhbT12b2lkIDB9LHRoaXMubmFtZT1uLnNoYWRlck5hbWUsdGhpcy5pZD1acHQrKyx0aGlzLmNhY2hlS2V5PWUsdGhpcy51c2VkVGltZXM9MSx0aGlzLnByb2dyYW09TSx0aGlzLnZlcnRleFNoYWRlcj13LHRoaXMuZnJhZ21lbnRTaGFkZXI9ayx0aGlzfWZ1bmN0aW9uIGZtdCh0LGUsbixvLGksYSxyKXtjb25zdCBzPVtdLGw9aS5pc1dlYkdMMixjPWkubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcixkPWkuZmxvYXRWZXJ0ZXhUZXh0dXJlcyxwPWkubWF4VmVydGV4VW5pZm9ybXMsbT1pLnZlcnRleFRleHR1cmVzO2xldCBmPWkucHJlY2lzaW9uO2NvbnN0IHU9e01lc2hEZXB0aE1hdGVyaWFsOiJkZXB0aCIsTWVzaERpc3RhbmNlTWF0ZXJpYWw6ImRpc3RhbmNlUkdCQSIsTWVzaE5vcm1hbE1hdGVyaWFsOiJub3JtYWwiLE1lc2hCYXNpY01hdGVyaWFsOiJiYXNpYyIsTWVzaExhbWJlcnRNYXRlcmlhbDoibGFtYmVydCIsTWVzaFBob25nTWF0ZXJpYWw6InBob25nIixNZXNoVG9vbk1hdGVyaWFsOiJ0b29uIixNZXNoU3RhbmRhcmRNYXRlcmlhbDoicGh5c2ljYWwiLE1lc2hQaHlzaWNhbE1hdGVyaWFsOiJwaHlzaWNhbCIsTWVzaE1hdGNhcE1hdGVyaWFsOiJtYXRjYXAiLExpbmVCYXNpY01hdGVyaWFsOiJiYXNpYyIsTGluZURhc2hlZE1hdGVyaWFsOiJkYXNoZWQiLFBvaW50c01hdGVyaWFsOiJwb2ludHMiLFNoYWRvd01hdGVyaWFsOiJzaGFkb3ciLFNwcml0ZU1hdGVyaWFsOiJzcHJpdGUifSxnPVsicHJlY2lzaW9uIiwiaXNXZWJHTDIiLCJzdXBwb3J0c1ZlcnRleFRleHR1cmVzIiwib3V0cHV0RW5jb2RpbmciLCJpbnN0YW5jaW5nIiwiaW5zdGFuY2luZ0NvbG9yIiwibWFwIiwibWFwRW5jb2RpbmciLCJtYXRjYXAiLCJtYXRjYXBFbmNvZGluZyIsImVudk1hcCIsImVudk1hcE1vZGUiLCJlbnZNYXBFbmNvZGluZyIsImVudk1hcEN1YmVVViIsImxpZ2h0TWFwIiwibGlnaHRNYXBFbmNvZGluZyIsImFvTWFwIiwiZW1pc3NpdmVNYXAiLCJlbWlzc2l2ZU1hcEVuY29kaW5nIiwiYnVtcE1hcCIsIm5vcm1hbE1hcCIsIm9iamVjdFNwYWNlTm9ybWFsTWFwIiwidGFuZ2VudFNwYWNlTm9ybWFsTWFwIiwiY2xlYXJjb2F0TWFwIiwiY2xlYXJjb2F0Um91Z2huZXNzTWFwIiwiY2xlYXJjb2F0Tm9ybWFsTWFwIiwiZGlzcGxhY2VtZW50TWFwIiwic3BlY3VsYXJNYXAiLCJzcGVjdWxhckludGVuc2l0eU1hcCIsInNwZWN1bGFyVGludE1hcCIsInNwZWN1bGFyVGludE1hcEVuY29kaW5nIiwicm91Z2huZXNzTWFwIiwibWV0YWxuZXNzTWFwIiwiZ3JhZGllbnRNYXAiLCJhbHBoYU1hcCIsImNvbWJpbmUiLCJ2ZXJ0ZXhDb2xvcnMiLCJ2ZXJ0ZXhBbHBoYXMiLCJ2ZXJ0ZXhUYW5nZW50cyIsInZlcnRleFV2cyIsInV2c1ZlcnRleE9ubHkiLCJmb2ciLCJ1c2VGb2ciLCJmb2dFeHAyIiwiZmxhdFNoYWRpbmciLCJzaXplQXR0ZW51YXRpb24iLCJsb2dhcml0aG1pY0RlcHRoQnVmZmVyIiwic2tpbm5pbmciLCJtYXhCb25lcyIsInVzZVZlcnRleFRleHR1cmUiLCJtb3JwaFRhcmdldHMiLCJtb3JwaE5vcm1hbHMiLCJwcmVtdWx0aXBsaWVkQWxwaGEiLCJudW1EaXJMaWdodHMiLCJudW1Qb2ludExpZ2h0cyIsIm51bVNwb3RMaWdodHMiLCJudW1IZW1pTGlnaHRzIiwibnVtUmVjdEFyZWFMaWdodHMiLCJudW1EaXJMaWdodFNoYWRvd3MiLCJudW1Qb2ludExpZ2h0U2hhZG93cyIsIm51bVNwb3RMaWdodFNoYWRvd3MiLCJzaGFkb3dNYXBFbmFibGVkIiwic2hhZG93TWFwVHlwZSIsInRvbmVNYXBwaW5nIiwicGh5c2ljYWxseUNvcnJlY3RMaWdodHMiLCJhbHBoYVRlc3QiLCJkb3VibGVTaWRlZCIsImZsaXBTaWRlZCIsIm51bUNsaXBwaW5nUGxhbmVzIiwibnVtQ2xpcEludGVyc2VjdGlvbiIsImRlcHRoUGFja2luZyIsImRpdGhlcmluZyIsInNoZWVuIiwidHJhbnNtaXNzaW9uIiwidHJhbnNtaXNzaW9uTWFwIiwidGhpY2tuZXNzTWFwIl07ZnVuY3Rpb24gaCh0KXtsZXQgZTtyZXR1cm4gdCYmdC5pc1RleHR1cmU/ZT10LmVuY29kaW5nOnQmJnQuaXNXZWJHTFJlbmRlclRhcmdldD8oY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFByb2dyYW1zLmdldFRleHR1cmVFbmNvZGluZ0Zyb21NYXA6IGRvbid0IHVzZSByZW5kZXIgdGFyZ2V0cyBhcyB0ZXh0dXJlcy4gVXNlIHRoZWlyIC50ZXh0dXJlIHByb3BlcnR5IGluc3RlYWQuIiksZT10LnRleHR1cmUuZW5jb2RpbmcpOmU9UXJ0LGV9cmV0dXJue2dldFBhcmFtZXRlcnM6ZnVuY3Rpb24gYihhLHMsZyx5LF8pe2NvbnN0IEM9eS5mb2csTT0oYS5pc01lc2hTdGFuZGFyZE1hdGVyaWFsP246ZSkuZ2V0KGEuZW52TWFwfHwoYS5pc01lc2hTdGFuZGFyZE1hdGVyaWFsP3kuZW52aXJvbm1lbnQ6bnVsbCkpLHY9dVthLnR5cGVdLHg9Xy5pc1NraW5uZWRNZXNoPyhmdW5jdGlvbiBPKHQpe2NvbnN0IGU9dC5za2VsZXRvbi5ib25lcztpZihkKXJldHVybiAxMDI0O3tjb25zdCB0PU1hdGguZmxvb3IoKHAtMjApLzQpLG49TWF0aC5taW4odCxlLmxlbmd0aCk7cmV0dXJuIG48ZS5sZW5ndGg/KGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogU2tlbGV0b24gaGFzICIrZS5sZW5ndGgrIiBib25lcy4gVGhpcyBHUFUgc3VwcG9ydHMgIituKyIuIiksMCk6bn19KShfKTowO2xldCBQLHc7aWYobnVsbCE9PWEucHJlY2lzaW9uJiYoZj1pLmdldE1heFByZWNpc2lvbihhLnByZWNpc2lvbiksZiE9PWEucHJlY2lzaW9uJiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUHJvZ3JhbS5nZXRQYXJhbWV0ZXJzOiIsYS5wcmVjaXNpb24sIm5vdCBzdXBwb3J0ZWQsIHVzaW5nIixmLCJpbnN0ZWFkLiIpKSx2KXtjb25zdCB0PSRjdFt2XTtQPXQudmVydGV4U2hhZGVyLHc9dC5mcmFnbWVudFNoYWRlcn1lbHNlIFA9YS52ZXJ0ZXhTaGFkZXIsdz1hLmZyYWdtZW50U2hhZGVyO2NvbnN0IGs9dC5nZXRSZW5kZXJUYXJnZXQoKTtyZXR1cm57aXNXZWJHTDI6bCxzaGFkZXJJRDp2LHNoYWRlck5hbWU6YS50eXBlLHZlcnRleFNoYWRlcjpQLGZyYWdtZW50U2hhZGVyOncsZGVmaW5lczphLmRlZmluZXMsaXNSYXdTaGFkZXJNYXRlcmlhbDohMD09PWEuaXNSYXdTaGFkZXJNYXRlcmlhbCxnbHNsVmVyc2lvbjphLmdsc2xWZXJzaW9uLHByZWNpc2lvbjpmLGluc3RhbmNpbmc6ITA9PT1fLmlzSW5zdGFuY2VkTWVzaCxpbnN0YW5jaW5nQ29sb3I6ITA9PT1fLmlzSW5zdGFuY2VkTWVzaCYmbnVsbCE9PV8uaW5zdGFuY2VDb2xvcixzdXBwb3J0c1ZlcnRleFRleHR1cmVzOm0sb3V0cHV0RW5jb2Rpbmc6bnVsbCE9PWs/aChrLnRleHR1cmUpOnQub3V0cHV0RW5jb2RpbmcsbWFwOiEhYS5tYXAsbWFwRW5jb2Rpbmc6aChhLm1hcCksbWF0Y2FwOiEhYS5tYXRjYXAsbWF0Y2FwRW5jb2Rpbmc6aChhLm1hdGNhcCksZW52TWFwOiEhTSxlbnZNYXBNb2RlOk0mJk0ubWFwcGluZyxlbnZNYXBFbmNvZGluZzpoKE0pLGVudk1hcEN1YmVVVjohIU0mJihNLm1hcHBpbmc9PT1TcnR8fDMwNz09PU0ubWFwcGluZyksbGlnaHRNYXA6ISFhLmxpZ2h0TWFwLGxpZ2h0TWFwRW5jb2Rpbmc6aChhLmxpZ2h0TWFwKSxhb01hcDohIWEuYW9NYXAsZW1pc3NpdmVNYXA6ISFhLmVtaXNzaXZlTWFwLGVtaXNzaXZlTWFwRW5jb2Rpbmc6aChhLmVtaXNzaXZlTWFwKSxidW1wTWFwOiEhYS5idW1wTWFwLG5vcm1hbE1hcDohIWEubm9ybWFsTWFwLG9iamVjdFNwYWNlTm9ybWFsTWFwOjE9PT1hLm5vcm1hbE1hcFR5cGUsdGFuZ2VudFNwYWNlTm9ybWFsTWFwOjA9PT1hLm5vcm1hbE1hcFR5cGUsY2xlYXJjb2F0TWFwOiEhYS5jbGVhcmNvYXRNYXAsY2xlYXJjb2F0Um91Z2huZXNzTWFwOiEhYS5jbGVhcmNvYXRSb3VnaG5lc3NNYXAsY2xlYXJjb2F0Tm9ybWFsTWFwOiEhYS5jbGVhcmNvYXROb3JtYWxNYXAsZGlzcGxhY2VtZW50TWFwOiEhYS5kaXNwbGFjZW1lbnRNYXAscm91Z2huZXNzTWFwOiEhYS5yb3VnaG5lc3NNYXAsbWV0YWxuZXNzTWFwOiEhYS5tZXRhbG5lc3NNYXAsc3BlY3VsYXJNYXA6ISFhLnNwZWN1bGFyTWFwLHNwZWN1bGFySW50ZW5zaXR5TWFwOiEhYS5zcGVjdWxhckludGVuc2l0eU1hcCxzcGVjdWxhclRpbnRNYXA6ISFhLnNwZWN1bGFyVGludE1hcCxzcGVjdWxhclRpbnRNYXBFbmNvZGluZzpoKGEuc3BlY3VsYXJUaW50TWFwKSxhbHBoYU1hcDohIWEuYWxwaGFNYXAsZ3JhZGllbnRNYXA6ISFhLmdyYWRpZW50TWFwLHNoZWVuOiEhYS5zaGVlbix0cmFuc21pc3Npb246ISFhLnRyYW5zbWlzc2lvbix0cmFuc21pc3Npb25NYXA6ISFhLnRyYW5zbWlzc2lvbk1hcCx0aGlja25lc3NNYXA6ISFhLnRoaWNrbmVzc01hcCxjb21iaW5lOmEuY29tYmluZSx2ZXJ0ZXhUYW5nZW50czohIWEubm9ybWFsTWFwJiYhIV8uZ2VvbWV0cnkmJiEhXy5nZW9tZXRyeS5hdHRyaWJ1dGVzLnRhbmdlbnQsdmVydGV4Q29sb3JzOmEudmVydGV4Q29sb3JzLHZlcnRleEFscGhhczohMD09PWEudmVydGV4Q29sb3JzJiYhIV8uZ2VvbWV0cnkmJiEhXy5nZW9tZXRyeS5hdHRyaWJ1dGVzLmNvbG9yJiY0PT09Xy5nZW9tZXRyeS5hdHRyaWJ1dGVzLmNvbG9yLml0ZW1TaXplLHZlcnRleFV2czohIShhLm1hcHx8YS5idW1wTWFwfHxhLm5vcm1hbE1hcHx8YS5zcGVjdWxhck1hcHx8YS5hbHBoYU1hcHx8YS5lbWlzc2l2ZU1hcHx8YS5yb3VnaG5lc3NNYXB8fGEubWV0YWxuZXNzTWFwfHxhLmNsZWFyY29hdE1hcHx8YS5jbGVhcmNvYXRSb3VnaG5lc3NNYXB8fGEuY2xlYXJjb2F0Tm9ybWFsTWFwfHxhLmRpc3BsYWNlbWVudE1hcHx8YS50cmFuc21pc3Npb25NYXB8fGEudGhpY2tuZXNzTWFwfHxhLnNwZWN1bGFySW50ZW5zaXR5TWFwfHxhLnNwZWN1bGFyVGludE1hcCksdXZzVmVydGV4T25seTohKGEubWFwfHxhLmJ1bXBNYXB8fGEubm9ybWFsTWFwfHxhLnNwZWN1bGFyTWFwfHxhLmFscGhhTWFwfHxhLmVtaXNzaXZlTWFwfHxhLnJvdWdobmVzc01hcHx8YS5tZXRhbG5lc3NNYXB8fGEuY2xlYXJjb2F0Tm9ybWFsTWFwfHxhLnRyYW5zbWlzc2lvbnx8YS50cmFuc21pc3Npb25NYXB8fGEudGhpY2tuZXNzTWFwfHxhLnNwZWN1bGFySW50ZW5zaXR5TWFwfHxhLnNwZWN1bGFyVGludE1hcHx8IWEuZGlzcGxhY2VtZW50TWFwKSxmb2c6ISFDLHVzZUZvZzphLmZvZyxmb2dFeHAyOkMmJkMuaXNGb2dFeHAyLGZsYXRTaGFkaW5nOiEhYS5mbGF0U2hhZGluZyxzaXplQXR0ZW51YXRpb246YS5zaXplQXR0ZW51YXRpb24sbG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcjpjLHNraW5uaW5nOiEwPT09Xy5pc1NraW5uZWRNZXNoJiZ4PjAsbWF4Qm9uZXM6eCx1c2VWZXJ0ZXhUZXh0dXJlOmQsbW9ycGhUYXJnZXRzOiEhXy5nZW9tZXRyeSYmISFfLmdlb21ldHJ5Lm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbixtb3JwaE5vcm1hbHM6ISFfLmdlb21ldHJ5JiYhIV8uZ2VvbWV0cnkubW9ycGhBdHRyaWJ1dGVzLm5vcm1hbCxudW1EaXJMaWdodHM6cy5kaXJlY3Rpb25hbC5sZW5ndGgsbnVtUG9pbnRMaWdodHM6cy5wb2ludC5sZW5ndGgsbnVtU3BvdExpZ2h0czpzLnNwb3QubGVuZ3RoLG51bVJlY3RBcmVhTGlnaHRzOnMucmVjdEFyZWEubGVuZ3RoLG51bUhlbWlMaWdodHM6cy5oZW1pLmxlbmd0aCxudW1EaXJMaWdodFNoYWRvd3M6cy5kaXJlY3Rpb25hbFNoYWRvd01hcC5sZW5ndGgsbnVtUG9pbnRMaWdodFNoYWRvd3M6cy5wb2ludFNoYWRvd01hcC5sZW5ndGgsbnVtU3BvdExpZ2h0U2hhZG93czpzLnNwb3RTaGFkb3dNYXAubGVuZ3RoLG51bUNsaXBwaW5nUGxhbmVzOnIubnVtUGxhbmVzLG51bUNsaXBJbnRlcnNlY3Rpb246ci5udW1JbnRlcnNlY3Rpb24sZGl0aGVyaW5nOmEuZGl0aGVyaW5nLHNoYWRvd01hcEVuYWJsZWQ6dC5zaGFkb3dNYXAuZW5hYmxlZCYmZy5sZW5ndGg+MCxzaGFkb3dNYXBUeXBlOnQuc2hhZG93TWFwLnR5cGUsdG9uZU1hcHBpbmc6YS50b25lTWFwcGVkP3QudG9uZU1hcHBpbmc6MCxwaHlzaWNhbGx5Q29ycmVjdExpZ2h0czp0LnBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzLHByZW11bHRpcGxpZWRBbHBoYTphLnByZW11bHRpcGxpZWRBbHBoYSxhbHBoYVRlc3Q6YS5hbHBoYVRlc3QsZG91YmxlU2lkZWQ6Mj09PWEuc2lkZSxmbGlwU2lkZWQ6MT09PWEuc2lkZSxkZXB0aFBhY2tpbmc6dm9pZCAwIT09YS5kZXB0aFBhY2tpbmcmJmEuZGVwdGhQYWNraW5nLGluZGV4MEF0dHJpYnV0ZU5hbWU6YS5pbmRleDBBdHRyaWJ1dGVOYW1lLGV4dGVuc2lvbkRlcml2YXRpdmVzOmEuZXh0ZW5zaW9ucyYmYS5leHRlbnNpb25zLmRlcml2YXRpdmVzLGV4dGVuc2lvbkZyYWdEZXB0aDphLmV4dGVuc2lvbnMmJmEuZXh0ZW5zaW9ucy5mcmFnRGVwdGgsZXh0ZW5zaW9uRHJhd0J1ZmZlcnM6YS5leHRlbnNpb25zJiZhLmV4dGVuc2lvbnMuZHJhd0J1ZmZlcnMsZXh0ZW5zaW9uU2hhZGVyVGV4dHVyZUxPRDphLmV4dGVuc2lvbnMmJmEuZXh0ZW5zaW9ucy5zaGFkZXJUZXh0dXJlTE9ELHJlbmRlcmVyRXh0ZW5zaW9uRnJhZ0RlcHRoOmx8fG8uaGFzKCJFWFRfZnJhZ19kZXB0aCIpLHJlbmRlcmVyRXh0ZW5zaW9uRHJhd0J1ZmZlcnM6bHx8by5oYXMoIldFQkdMX2RyYXdfYnVmZmVycyIpLHJlbmRlcmVyRXh0ZW5zaW9uU2hhZGVyVGV4dHVyZUxvZDpsfHxvLmhhcygiRVhUX3NoYWRlcl90ZXh0dXJlX2xvZCIpLGN1c3RvbVByb2dyYW1DYWNoZUtleTphLmN1c3RvbVByb2dyYW1DYWNoZUtleSgpfX0sZ2V0UHJvZ3JhbUNhY2hlS2V5OmZ1bmN0aW9uIHkoZSl7Y29uc3Qgbj1bXTtpZihlLnNoYWRlcklEP24ucHVzaChlLnNoYWRlcklEKToobi5wdXNoKGUuZnJhZ21lbnRTaGFkZXIpLG4ucHVzaChlLnZlcnRleFNoYWRlcikpLHZvaWQgMCE9PWUuZGVmaW5lcylmb3IoY29uc3QgdCBpbiBlLmRlZmluZXMpbi5wdXNoKHQpLG4ucHVzaChlLmRlZmluZXNbdF0pO2lmKCExPT09ZS5pc1Jhd1NoYWRlck1hdGVyaWFsKXtmb3IobGV0IHQ9MDt0PGcubGVuZ3RoO3QrKyluLnB1c2goZVtnW3RdXSk7bi5wdXNoKHQub3V0cHV0RW5jb2RpbmcpLG4ucHVzaCh0LmdhbW1hRmFjdG9yKX1yZXR1cm4gbi5wdXNoKGUuY3VzdG9tUHJvZ3JhbUNhY2hlS2V5KSxuLmpvaW4oKX0sZ2V0VW5pZm9ybXM6ZnVuY3Rpb24gXyh0KXtjb25zdCBlPXVbdC50eXBlXTtsZXQgbjtpZihlKXtuPVRjdC5jbG9uZSgkY3RbZV0udW5pZm9ybXMpfWVsc2Ugbj10LnVuaWZvcm1zO3JldHVybiBufSxhY3F1aXJlUHJvZ3JhbTpmdW5jdGlvbiBDKGUsbil7bGV0IG87Zm9yKGxldCB0PTAsZT1zLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPXNbdF07aWYoZS5jYWNoZUtleT09PW4pe289ZSwrK28udXNlZFRpbWVzO2JyZWFrfX1yZXR1cm4gdm9pZCAwPT09byYmKG89bmV3IG1tdCh0LG4sZSxhKSxzLnB1c2gobykpLG99LHJlbGVhc2VQcm9ncmFtOmZ1bmN0aW9uIE0odCl7aWYoMD09LS10LnVzZWRUaW1lcyl7Y29uc3QgZT1zLmluZGV4T2YodCk7c1tlXT1zW3MubGVuZ3RoLTFdLHMucG9wKCksdC5kZXN0cm95KCl9fSxwcm9ncmFtczpzfX1mdW5jdGlvbiB1bXQoKXtsZXQgdD1uZXcgV2Vha01hcDtyZXR1cm57Z2V0OmZ1bmN0aW9uIGUobil7bGV0IG89dC5nZXQobik7cmV0dXJuIHZvaWQgMD09PW8mJihvPXt9LHQuc2V0KG4sbykpLG99LHJlbW92ZTpmdW5jdGlvbiBuKGUpe3QuZGVsZXRlKGUpfSx1cGRhdGU6ZnVuY3Rpb24gbyhlLG4saSl7dC5nZXQoZSlbbl09aX0sZGlzcG9zZTpmdW5jdGlvbiBpKCl7dD1uZXcgV2Vha01hcH19fWZ1bmN0aW9uIGdtdCh0LGUpe3JldHVybiB0Lmdyb3VwT3JkZXIhPT1lLmdyb3VwT3JkZXI/dC5ncm91cE9yZGVyLWUuZ3JvdXBPcmRlcjp0LnJlbmRlck9yZGVyIT09ZS5yZW5kZXJPcmRlcj90LnJlbmRlck9yZGVyLWUucmVuZGVyT3JkZXI6dC5wcm9ncmFtIT09ZS5wcm9ncmFtP3QucHJvZ3JhbS5pZC1lLnByb2dyYW0uaWQ6dC5tYXRlcmlhbC5pZCE9PWUubWF0ZXJpYWwuaWQ/dC5tYXRlcmlhbC5pZC1lLm1hdGVyaWFsLmlkOnQueiE9PWUuej90LnotZS56OnQuaWQtZS5pZH1mdW5jdGlvbiBobXQodCxlKXtyZXR1cm4gdC5ncm91cE9yZGVyIT09ZS5ncm91cE9yZGVyP3QuZ3JvdXBPcmRlci1lLmdyb3VwT3JkZXI6dC5yZW5kZXJPcmRlciE9PWUucmVuZGVyT3JkZXI/dC5yZW5kZXJPcmRlci1lLnJlbmRlck9yZGVyOnQueiE9PWUuej9lLnotdC56OnQuaWQtZS5pZH1mdW5jdGlvbiBibXQodCl7Y29uc3QgZT1bXTtsZXQgbj0wO2NvbnN0IG89W10saT1bXSxhPVtdLHI9e2lkOi0xfTtmdW5jdGlvbiBzKG8saSxhLHMsbCxjKXtsZXQgZD1lW25dO2NvbnN0IHA9dC5nZXQoYSk7cmV0dXJuIHZvaWQgMD09PWQ/KGQ9e2lkOm8uaWQsb2JqZWN0Om8sZ2VvbWV0cnk6aSxtYXRlcmlhbDphLHByb2dyYW06cC5wcm9ncmFtfHxyLGdyb3VwT3JkZXI6cyxyZW5kZXJPcmRlcjpvLnJlbmRlck9yZGVyLHo6bCxncm91cDpjfSxlW25dPWQpOihkLmlkPW8uaWQsZC5vYmplY3Q9byxkLmdlb21ldHJ5PWksZC5tYXRlcmlhbD1hLGQucHJvZ3JhbT1wLnByb2dyYW18fHIsZC5ncm91cE9yZGVyPXMsZC5yZW5kZXJPcmRlcj1vLnJlbmRlck9yZGVyLGQuej1sLGQuZ3JvdXA9YyksbisrLGR9cmV0dXJue29wYXF1ZTpvLHRyYW5zbWlzc2l2ZTppLHRyYW5zcGFyZW50OmEsaW5pdDpmdW5jdGlvbiBsKCl7bj0wLG8ubGVuZ3RoPTAsaS5sZW5ndGg9MCxhLmxlbmd0aD0wfSxwdXNoOmZ1bmN0aW9uIGModCxlLG4scixsLGQpe2NvbnN0IHA9cyh0LGUsbixyLGwsZCk7bi50cmFuc21pc3Npb24+MD9pLnB1c2gocCk6ITA9PT1uLnRyYW5zcGFyZW50P2EucHVzaChwKTpvLnB1c2gocCl9LHVuc2hpZnQ6ZnVuY3Rpb24gZCh0LGUsbixyLGwsYyl7Y29uc3QgZD1zKHQsZSxuLHIsbCxjKTtuLnRyYW5zbWlzc2lvbj4wP2kudW5zaGlmdChkKTohMD09PW4udHJhbnNwYXJlbnQ/YS51bnNoaWZ0KGQpOm8udW5zaGlmdChkKX0sZmluaXNoOmZ1bmN0aW9uIHAoKXtmb3IobGV0IHQ9bixvPWUubGVuZ3RoO3Q8bzt0Kyspe2NvbnN0IG49ZVt0XTtpZihudWxsPT09bi5pZClicmVhaztuLmlkPW51bGwsbi5vYmplY3Q9bnVsbCxuLmdlb21ldHJ5PW51bGwsbi5tYXRlcmlhbD1udWxsLG4ucHJvZ3JhbT1udWxsLG4uZ3JvdXA9bnVsbH19LHNvcnQ6ZnVuY3Rpb24gbSh0LGUpe28ubGVuZ3RoPjEmJm8uc29ydCh0fHxnbXQpLGkubGVuZ3RoPjEmJmkuc29ydChlfHxobXQpLGEubGVuZ3RoPjEmJmEuc29ydChlfHxobXQpfX19ZnVuY3Rpb24geW10KHQpe2xldCBlPW5ldyBXZWFrTWFwO3JldHVybntnZXQ6ZnVuY3Rpb24gbihvLGkpe2xldCBhO3JldHVybiExPT09ZS5oYXMobyk/KGE9bmV3IGJtdCh0KSxlLnNldChvLFthXSkpOmk+PWUuZ2V0KG8pLmxlbmd0aD8oYT1uZXcgYm10KHQpLGUuZ2V0KG8pLnB1c2goYSkpOmE9ZS5nZXQobylbaV0sYX0sZGlzcG9zZTpmdW5jdGlvbiBvKCl7ZT1uZXcgV2Vha01hcH19fWZ1bmN0aW9uIF9tdCgpe2NvbnN0IHQ9e307cmV0dXJue2dldDpmdW5jdGlvbihlKXtpZih2b2lkIDAhPT10W2UuaWRdKXJldHVybiB0W2UuaWRdO2xldCBuO3N3aXRjaChlLnR5cGUpe2Nhc2UiRGlyZWN0aW9uYWxMaWdodCI6bj17ZGlyZWN0aW9uOm5ldyB3c3QsY29sb3I6bmV3IFpsdH07YnJlYWs7Y2FzZSJTcG90TGlnaHQiOm49e3Bvc2l0aW9uOm5ldyB3c3QsZGlyZWN0aW9uOm5ldyB3c3QsY29sb3I6bmV3IFpsdCxkaXN0YW5jZTowLGNvbmVDb3M6MCxwZW51bWJyYUNvczowLGRlY2F5OjB9O2JyZWFrO2Nhc2UiUG9pbnRMaWdodCI6bj17cG9zaXRpb246bmV3IHdzdCxjb2xvcjpuZXcgWmx0LGRpc3RhbmNlOjAsZGVjYXk6MH07YnJlYWs7Y2FzZSJIZW1pc3BoZXJlTGlnaHQiOm49e2RpcmVjdGlvbjpuZXcgd3N0LHNreUNvbG9yOm5ldyBabHQsZ3JvdW5kQ29sb3I6bmV3IFpsdH07YnJlYWs7Y2FzZSJSZWN0QXJlYUxpZ2h0IjpuPXtjb2xvcjpuZXcgWmx0LHBvc2l0aW9uOm5ldyB3c3QsaGFsZldpZHRoOm5ldyB3c3QsaGFsZkhlaWdodDpuZXcgd3N0fX1yZXR1cm4gdFtlLmlkXT1uLG59fX1sZXQgQ210PTA7ZnVuY3Rpb24gTW10KHQsZSl7cmV0dXJuKGUuY2FzdFNoYWRvdz8xOjApLSh0LmNhc3RTaGFkb3c/MTowKX1mdW5jdGlvbiB2bXQodCxlKXtjb25zdCBuPW5ldyBfbXQsbz0oZnVuY3Rpb24gaSgpe2NvbnN0IHQ9e307cmV0dXJue2dldDpmdW5jdGlvbihlKXtpZih2b2lkIDAhPT10W2UuaWRdKXJldHVybiB0W2UuaWRdO2xldCBuO3N3aXRjaChlLnR5cGUpe2Nhc2UiRGlyZWN0aW9uYWxMaWdodCI6Y2FzZSJTcG90TGlnaHQiOm49e3NoYWRvd0JpYXM6MCxzaGFkb3dOb3JtYWxCaWFzOjAsc2hhZG93UmFkaXVzOjEsc2hhZG93TWFwU2l6ZTpuZXcgZ3N0fTticmVhaztjYXNlIlBvaW50TGlnaHQiOm49e3NoYWRvd0JpYXM6MCxzaGFkb3dOb3JtYWxCaWFzOjAsc2hhZG93UmFkaXVzOjEsc2hhZG93TWFwU2l6ZTpuZXcgZ3N0LHNoYWRvd0NhbWVyYU5lYXI6MSxzaGFkb3dDYW1lcmFGYXI6MWUzfX1yZXR1cm4gdFtlLmlkXT1uLG59fX0pKCksYT17dmVyc2lvbjowLGhhc2g6e2RpcmVjdGlvbmFsTGVuZ3RoOi0xLHBvaW50TGVuZ3RoOi0xLHNwb3RMZW5ndGg6LTEscmVjdEFyZWFMZW5ndGg6LTEsaGVtaUxlbmd0aDotMSxudW1EaXJlY3Rpb25hbFNoYWRvd3M6LTEsbnVtUG9pbnRTaGFkb3dzOi0xLG51bVNwb3RTaGFkb3dzOi0xfSxhbWJpZW50OlswLDAsMF0scHJvYmU6W10sZGlyZWN0aW9uYWw6W10sZGlyZWN0aW9uYWxTaGFkb3c6W10sZGlyZWN0aW9uYWxTaGFkb3dNYXA6W10sZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXg6W10sc3BvdDpbXSxzcG90U2hhZG93OltdLHNwb3RTaGFkb3dNYXA6W10sc3BvdFNoYWRvd01hdHJpeDpbXSxyZWN0QXJlYTpbXSxyZWN0QXJlYUxUQzE6bnVsbCxyZWN0QXJlYUxUQzI6bnVsbCxwb2ludDpbXSxwb2ludFNoYWRvdzpbXSxwb2ludFNoYWRvd01hcDpbXSxwb2ludFNoYWRvd01hdHJpeDpbXSxoZW1pOltdfTtmb3IobGV0IHQ9MDt0PDk7dCsrKWEucHJvYmUucHVzaChuZXcgd3N0KTtjb25zdCByPW5ldyB3c3Qscz1uZXcgb2x0LGw9bmV3IG9sdDtyZXR1cm57c2V0dXA6ZnVuY3Rpb24gYyhpKXtsZXQgcj0wLHM9MCxsPTA7Zm9yKGxldCB0PTA7dDw5O3QrKylhLnByb2JlW3RdLnNldCgwLDAsMCk7bGV0IGM9MCxkPTAscD0wLG09MCxmPTAsdT0wLGc9MCxoPTA7aS5zb3J0KE1tdCk7Zm9yKGxldCB0PTAsZT1pLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPWlbdF0sYj1lLmNvbG9yLHk9ZS5pbnRlbnNpdHksXz1lLmRpc3RhbmNlLEM9ZS5zaGFkb3cmJmUuc2hhZG93Lm1hcD9lLnNoYWRvdy5tYXAudGV4dHVyZTpudWxsO2lmKGUuaXNBbWJpZW50TGlnaHQpcis9Yi5yKnkscys9Yi5nKnksbCs9Yi5iKnk7ZWxzZSBpZihlLmlzTGlnaHRQcm9iZSlmb3IobGV0IHQ9MDt0PDk7dCsrKWEucHJvYmVbdF0uYWRkU2NhbGVkVmVjdG9yKGUuc2guY29lZmZpY2llbnRzW3RdLHkpO2Vsc2UgaWYoZS5pc0RpcmVjdGlvbmFsTGlnaHQpe2NvbnN0IHQ9bi5nZXQoZSk7aWYodC5jb2xvci5jb3B5KGUuY29sb3IpLm11bHRpcGx5U2NhbGFyKGUuaW50ZW5zaXR5KSxlLmNhc3RTaGFkb3cpe2NvbnN0IHQ9ZS5zaGFkb3csbj1vLmdldChlKTtuLnNoYWRvd0JpYXM9dC5iaWFzLG4uc2hhZG93Tm9ybWFsQmlhcz10Lm5vcm1hbEJpYXMsbi5zaGFkb3dSYWRpdXM9dC5yYWRpdXMsbi5zaGFkb3dNYXBTaXplPXQubWFwU2l6ZSxhLmRpcmVjdGlvbmFsU2hhZG93W2NdPW4sYS5kaXJlY3Rpb25hbFNoYWRvd01hcFtjXT1DLGEuZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXhbY109ZS5zaGFkb3cubWF0cml4LHUrK31hLmRpcmVjdGlvbmFsW2NdPXQsYysrfWVsc2UgaWYoZS5pc1Nwb3RMaWdodCl7Y29uc3QgdD1uLmdldChlKTtpZih0LnBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihlLm1hdHJpeFdvcmxkKSx0LmNvbG9yLmNvcHkoYikubXVsdGlwbHlTY2FsYXIoeSksdC5kaXN0YW5jZT1fLHQuY29uZUNvcz1NYXRoLmNvcyhlLmFuZ2xlKSx0LnBlbnVtYnJhQ29zPU1hdGguY29zKGUuYW5nbGUqKDEtZS5wZW51bWJyYSkpLHQuZGVjYXk9ZS5kZWNheSxlLmNhc3RTaGFkb3cpe2NvbnN0IHQ9ZS5zaGFkb3csbj1vLmdldChlKTtuLnNoYWRvd0JpYXM9dC5iaWFzLG4uc2hhZG93Tm9ybWFsQmlhcz10Lm5vcm1hbEJpYXMsbi5zaGFkb3dSYWRpdXM9dC5yYWRpdXMsbi5zaGFkb3dNYXBTaXplPXQubWFwU2l6ZSxhLnNwb3RTaGFkb3dbcF09bixhLnNwb3RTaGFkb3dNYXBbcF09QyxhLnNwb3RTaGFkb3dNYXRyaXhbcF09ZS5zaGFkb3cubWF0cml4LGgrK31hLnNwb3RbcF09dCxwKyt9ZWxzZSBpZihlLmlzUmVjdEFyZWFMaWdodCl7Y29uc3QgdD1uLmdldChlKTt0LmNvbG9yLmNvcHkoYikubXVsdGlwbHlTY2FsYXIoeSksdC5oYWxmV2lkdGguc2V0KC41KmUud2lkdGgsMCwwKSx0LmhhbGZIZWlnaHQuc2V0KDAsLjUqZS5oZWlnaHQsMCksYS5yZWN0QXJlYVttXT10LG0rK31lbHNlIGlmKGUuaXNQb2ludExpZ2h0KXtjb25zdCB0PW4uZ2V0KGUpO2lmKHQuY29sb3IuY29weShlLmNvbG9yKS5tdWx0aXBseVNjYWxhcihlLmludGVuc2l0eSksdC5kaXN0YW5jZT1lLmRpc3RhbmNlLHQuZGVjYXk9ZS5kZWNheSxlLmNhc3RTaGFkb3cpe2NvbnN0IHQ9ZS5zaGFkb3csbj1vLmdldChlKTtuLnNoYWRvd0JpYXM9dC5iaWFzLG4uc2hhZG93Tm9ybWFsQmlhcz10Lm5vcm1hbEJpYXMsbi5zaGFkb3dSYWRpdXM9dC5yYWRpdXMsbi5zaGFkb3dNYXBTaXplPXQubWFwU2l6ZSxuLnNoYWRvd0NhbWVyYU5lYXI9dC5jYW1lcmEubmVhcixuLnNoYWRvd0NhbWVyYUZhcj10LmNhbWVyYS5mYXIsYS5wb2ludFNoYWRvd1tkXT1uLGEucG9pbnRTaGFkb3dNYXBbZF09QyxhLnBvaW50U2hhZG93TWF0cml4W2RdPWUuc2hhZG93Lm1hdHJpeCxnKyt9YS5wb2ludFtkXT10LGQrK31lbHNlIGlmKGUuaXNIZW1pc3BoZXJlTGlnaHQpe2NvbnN0IHQ9bi5nZXQoZSk7dC5za3lDb2xvci5jb3B5KGUuY29sb3IpLm11bHRpcGx5U2NhbGFyKHkpLHQuZ3JvdW5kQ29sb3IuY29weShlLmdyb3VuZENvbG9yKS5tdWx0aXBseVNjYWxhcih5KSxhLmhlbWlbZl09dCxmKyt9fW0+MCYmKGUuaXNXZWJHTDJ8fCEwPT09dC5oYXMoIk9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpPyhhLnJlY3RBcmVhTFRDMT1RY3QuTFRDX0ZMT0FUXzEsYS5yZWN0QXJlYUxUQzI9UWN0LkxUQ19GTE9BVF8yKTohMD09PXQuaGFzKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xpbmVhciIpPyhhLnJlY3RBcmVhTFRDMT1RY3QuTFRDX0hBTEZfMSxhLnJlY3RBcmVhTFRDMj1RY3QuTFRDX0hBTEZfMik6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVW5hYmxlIHRvIHVzZSBSZWN0QXJlYUxpZ2h0LiBNaXNzaW5nIFdlYkdMIGV4dGVuc2lvbnMuIikpLGEuYW1iaWVudFswXT1yLGEuYW1iaWVudFsxXT1zLGEuYW1iaWVudFsyXT1sO2NvbnN0IGI9YS5oYXNoO2IuZGlyZWN0aW9uYWxMZW5ndGg9PT1jJiZiLnBvaW50TGVuZ3RoPT09ZCYmYi5zcG90TGVuZ3RoPT09cCYmYi5yZWN0QXJlYUxlbmd0aD09PW0mJmIuaGVtaUxlbmd0aD09PWYmJmIubnVtRGlyZWN0aW9uYWxTaGFkb3dzPT09dSYmYi5udW1Qb2ludFNoYWRvd3M9PT1nJiZiLm51bVNwb3RTaGFkb3dzPT09aHx8KGEuZGlyZWN0aW9uYWwubGVuZ3RoPWMsYS5zcG90Lmxlbmd0aD1wLGEucmVjdEFyZWEubGVuZ3RoPW0sYS5wb2ludC5sZW5ndGg9ZCxhLmhlbWkubGVuZ3RoPWYsYS5kaXJlY3Rpb25hbFNoYWRvdy5sZW5ndGg9dSxhLmRpcmVjdGlvbmFsU2hhZG93TWFwLmxlbmd0aD11LGEucG9pbnRTaGFkb3cubGVuZ3RoPWcsYS5wb2ludFNoYWRvd01hcC5sZW5ndGg9ZyxhLnNwb3RTaGFkb3cubGVuZ3RoPWgsYS5zcG90U2hhZG93TWFwLmxlbmd0aD1oLGEuZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXgubGVuZ3RoPXUsYS5wb2ludFNoYWRvd01hdHJpeC5sZW5ndGg9ZyxhLnNwb3RTaGFkb3dNYXRyaXgubGVuZ3RoPWgsYi5kaXJlY3Rpb25hbExlbmd0aD1jLGIucG9pbnRMZW5ndGg9ZCxiLnNwb3RMZW5ndGg9cCxiLnJlY3RBcmVhTGVuZ3RoPW0sYi5oZW1pTGVuZ3RoPWYsYi5udW1EaXJlY3Rpb25hbFNoYWRvd3M9dSxiLm51bVBvaW50U2hhZG93cz1nLGIubnVtU3BvdFNoYWRvd3M9aCxhLnZlcnNpb249Q210KyspfSxzZXR1cFZpZXc6ZnVuY3Rpb24gZCh0LGUpe2xldCBuPTAsbz0wLGk9MCxjPTAsZD0wO2NvbnN0IHA9ZS5tYXRyaXhXb3JsZEludmVyc2U7Zm9yKGxldCBlPTAsbT10Lmxlbmd0aDtlPG07ZSsrKXtjb25zdCBtPXRbZV07aWYobS5pc0RpcmVjdGlvbmFsTGlnaHQpe2NvbnN0IHQ9YS5kaXJlY3Rpb25hbFtuXTt0LmRpcmVjdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24obS5tYXRyaXhXb3JsZCksci5zZXRGcm9tTWF0cml4UG9zaXRpb24obS50YXJnZXQubWF0cml4V29ybGQpLHQuZGlyZWN0aW9uLnN1YihyKSx0LmRpcmVjdGlvbi50cmFuc2Zvcm1EaXJlY3Rpb24ocCksbisrfWVsc2UgaWYobS5pc1Nwb3RMaWdodCl7Y29uc3QgdD1hLnNwb3RbaV07dC5wb3NpdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24obS5tYXRyaXhXb3JsZCksdC5wb3NpdGlvbi5hcHBseU1hdHJpeDQocCksdC5kaXJlY3Rpb24uc2V0RnJvbU1hdHJpeFBvc2l0aW9uKG0ubWF0cml4V29ybGQpLHIuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKG0udGFyZ2V0Lm1hdHJpeFdvcmxkKSx0LmRpcmVjdGlvbi5zdWIociksdC5kaXJlY3Rpb24udHJhbnNmb3JtRGlyZWN0aW9uKHApLGkrK31lbHNlIGlmKG0uaXNSZWN0QXJlYUxpZ2h0KXtjb25zdCB0PWEucmVjdEFyZWFbY107dC5wb3NpdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24obS5tYXRyaXhXb3JsZCksdC5wb3NpdGlvbi5hcHBseU1hdHJpeDQocCksbC5pZGVudGl0eSgpLHMuY29weShtLm1hdHJpeFdvcmxkKSxzLnByZW11bHRpcGx5KHApLGwuZXh0cmFjdFJvdGF0aW9uKHMpLHQuaGFsZldpZHRoLnNldCguNSptLndpZHRoLDAsMCksdC5oYWxmSGVpZ2h0LnNldCgwLC41Km0uaGVpZ2h0LDApLHQuaGFsZldpZHRoLmFwcGx5TWF0cml4NChsKSx0LmhhbGZIZWlnaHQuYXBwbHlNYXRyaXg0KGwpLGMrK31lbHNlIGlmKG0uaXNQb2ludExpZ2h0KXtjb25zdCB0PWEucG9pbnRbb107dC5wb3NpdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24obS5tYXRyaXhXb3JsZCksdC5wb3NpdGlvbi5hcHBseU1hdHJpeDQocCksbysrfWVsc2UgaWYobS5pc0hlbWlzcGhlcmVMaWdodCl7Y29uc3QgdD1hLmhlbWlbZF07dC5kaXJlY3Rpb24uc2V0RnJvbU1hdHJpeFBvc2l0aW9uKG0ubWF0cml4V29ybGQpLHQuZGlyZWN0aW9uLnRyYW5zZm9ybURpcmVjdGlvbihwKSx0LmRpcmVjdGlvbi5ub3JtYWxpemUoKSxkKyt9fX0sc3RhdGU6YX19ZnVuY3Rpb24geG10KHQsZSl7Y29uc3Qgbj1uZXcgdm10KHQsZSksbz1bXSxpPVtdO3JldHVybntpbml0OmZ1bmN0aW9uIGEoKXtvLmxlbmd0aD0wLGkubGVuZ3RoPTB9LHN0YXRlOntsaWdodHNBcnJheTpvLHNoYWRvd3NBcnJheTppLGxpZ2h0czpufSxzZXR1cExpZ2h0czpmdW5jdGlvbiByKCl7bi5zZXR1cChvKX0sc2V0dXBMaWdodHNWaWV3OmZ1bmN0aW9uIHModCl7bi5zZXR1cFZpZXcobyx0KX0scHVzaExpZ2h0OmZ1bmN0aW9uIGwodCl7by5wdXNoKHQpfSxwdXNoU2hhZG93OmZ1bmN0aW9uIGModCl7aS5wdXNoKHQpfX19ZnVuY3Rpb24gT210KHQsZSl7bGV0IG49bmV3IFdlYWtNYXA7cmV0dXJue2dldDpmdW5jdGlvbiBvKGksYT0wKXtsZXQgcjtyZXR1cm4hMT09PW4uaGFzKGkpPyhyPW5ldyB4bXQodCxlKSxuLnNldChpLFtyXSkpOmE+PW4uZ2V0KGkpLmxlbmd0aD8ocj1uZXcgeG10KHQsZSksbi5nZXQoaSkucHVzaChyKSk6cj1uLmdldChpKVthXSxyfSxkaXNwb3NlOmZ1bmN0aW9uIGkoKXtuPW5ldyBXZWFrTWFwfX19Y2xhc3MgUG10IGV4dGVuZHMgVmx0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJNZXNoRGVwdGhNYXRlcmlhbCIsdGhpcy5kZXB0aFBhY2tpbmc9MzIwMCx0aGlzLm1hcD1udWxsLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9MSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9MCx0aGlzLndpcmVmcmFtZT0hMSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xLHRoaXMuZm9nPSExLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5kZXB0aFBhY2tpbmc9dC5kZXB0aFBhY2tpbmcsdGhpcy5tYXA9dC5tYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZGlzcGxhY2VtZW50TWFwPXQuZGlzcGxhY2VtZW50TWFwLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9dC5kaXNwbGFjZW1lbnRTY2FsZSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9dC5kaXNwbGFjZW1lbnRCaWFzLHRoaXMud2lyZWZyYW1lPXQud2lyZWZyYW1lLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPXQud2lyZWZyYW1lTGluZXdpZHRoLHRoaXN9fVBtdC5wcm90b3R5cGUuaXNNZXNoRGVwdGhNYXRlcmlhbD0hMDtjbGFzcyB3bXQgZXh0ZW5kcyBWbHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9Ik1lc2hEaXN0YW5jZU1hdGVyaWFsIix0aGlzLnJlZmVyZW5jZVBvc2l0aW9uPW5ldyB3c3QsdGhpcy5uZWFyRGlzdGFuY2U9MSx0aGlzLmZhckRpc3RhbmNlPTFlMyx0aGlzLm1hcD1udWxsLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9MSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9MCx0aGlzLmZvZz0hMSx0aGlzLnNldFZhbHVlcyh0KX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMucmVmZXJlbmNlUG9zaXRpb24uY29weSh0LnJlZmVyZW5jZVBvc2l0aW9uKSx0aGlzLm5lYXJEaXN0YW5jZT10Lm5lYXJEaXN0YW5jZSx0aGlzLmZhckRpc3RhbmNlPXQuZmFyRGlzdGFuY2UsdGhpcy5tYXA9dC5tYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZGlzcGxhY2VtZW50TWFwPXQuZGlzcGxhY2VtZW50TWFwLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9dC5kaXNwbGFjZW1lbnRTY2FsZSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9dC5kaXNwbGFjZW1lbnRCaWFzLHRoaXN9fXdtdC5wcm90b3R5cGUuaXNNZXNoRGlzdGFuY2VNYXRlcmlhbD0hMDtmdW5jdGlvbiBrbXQodCxlLG4pe2xldCBvPW5ldyBxY3Q7Y29uc3QgaT1uZXcgZ3N0LGE9bmV3IGdzdCxyPW5ldyB2c3Qscz1uZXcgUG10KHtkZXB0aFBhY2tpbmc6MzIwMX0pLGw9bmV3IHdtdCxjPXt9LGQ9bi5tYXhUZXh0dXJlU2l6ZSxwPXswOjEsMTowLDI6Mn0sbT1uZXcgTmN0KHtkZWZpbmVzOntTQU1QTEVfUkFURToyLzgsSEFMRl9TQU1QTEVfUkFURToxLzh9LHVuaWZvcm1zOntzaGFkb3dfcGFzczp7dmFsdWU6bnVsbH0scmVzb2x1dGlvbjp7dmFsdWU6bmV3IGdzdH0scmFkaXVzOnt2YWx1ZTo0fX0sdmVydGV4U2hhZGVyOiJ2b2lkIG1haW4oKSB7XG5cdGdsX1Bvc2l0aW9uID0gdmVjNCggcG9zaXRpb24sIDEuMCApO1xufSIsZnJhZ21lbnRTaGFkZXI6InVuaWZvcm0gc2FtcGxlcjJEIHNoYWRvd19wYXNzO1xudW5pZm9ybSB2ZWMyIHJlc29sdXRpb247XG51bmlmb3JtIGZsb2F0IHJhZGl1cztcbiNpbmNsdWRlIDxwYWNraW5nPlxudm9pZCBtYWluKCkge1xuXHRmbG9hdCBtZWFuID0gMC4wO1xuXHRmbG9hdCBzcXVhcmVkX21lYW4gPSAwLjA7XG5cdGZsb2F0IGRlcHRoID0gdW5wYWNrUkdCQVRvRGVwdGgoIHRleHR1cmUyRCggc2hhZG93X3Bhc3MsICggZ2xfRnJhZ0Nvb3JkLnh5ICkgLyByZXNvbHV0aW9uICkgKTtcblx0Zm9yICggZmxvYXQgaSA9IC0xLjA7IGkgPCAxLjAgOyBpICs9IFNBTVBMRV9SQVRFKSB7XG5cdFx0I2lmZGVmIEhPUklaT05UQUxfUEFTU1xuXHRcdFx0dmVjMiBkaXN0cmlidXRpb24gPSB1bnBhY2tSR0JBVG8ySGFsZiggdGV4dHVyZTJEKCBzaGFkb3dfcGFzcywgKCBnbF9GcmFnQ29vcmQueHkgKyB2ZWMyKCBpLCAwLjAgKSAqIHJhZGl1cyApIC8gcmVzb2x1dGlvbiApICk7XG5cdFx0XHRtZWFuICs9IGRpc3RyaWJ1dGlvbi54O1xuXHRcdFx0c3F1YXJlZF9tZWFuICs9IGRpc3RyaWJ1dGlvbi55ICogZGlzdHJpYnV0aW9uLnkgKyBkaXN0cmlidXRpb24ueCAqIGRpc3RyaWJ1dGlvbi54O1xuXHRcdCNlbHNlXG5cdFx0XHRmbG9hdCBkZXB0aCA9IHVucGFja1JHQkFUb0RlcHRoKCB0ZXh0dXJlMkQoIHNoYWRvd19wYXNzLCAoIGdsX0ZyYWdDb29yZC54eSArIHZlYzIoIDAuMCwgaSApICogcmFkaXVzICkgLyByZXNvbHV0aW9uICkgKTtcblx0XHRcdG1lYW4gKz0gZGVwdGg7XG5cdFx0XHRzcXVhcmVkX21lYW4gKz0gZGVwdGggKiBkZXB0aDtcblx0XHQjZW5kaWZcblx0fVxuXHRtZWFuID0gbWVhbiAqIEhBTEZfU0FNUExFX1JBVEU7XG5cdHNxdWFyZWRfbWVhbiA9IHNxdWFyZWRfbWVhbiAqIEhBTEZfU0FNUExFX1JBVEU7XG5cdGZsb2F0IHN0ZF9kZXYgPSBzcXJ0KCBzcXVhcmVkX21lYW4gLSBtZWFuICogbWVhbiApO1xuXHRnbF9GcmFnQ29sb3IgPSBwYWNrMkhhbGZUb1JHQkEoIHZlYzIoIG1lYW4sIHN0ZF9kZXYgKSApO1xufSJ9KSxmPW0uY2xvbmUoKTtmLmRlZmluZXMuSE9SSVpPTlRBTF9QQVNTPTE7Y29uc3QgdT1uZXcgZGN0O3Uuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IFFsdChuZXcgRmxvYXQzMkFycmF5KFstMSwtMSwuNSwzLC0xLC41LC0xLDMsLjVdKSwzKSk7Y29uc3QgZz1uZXcgU2N0KHUsbSksaD10aGlzO2Z1bmN0aW9uIGIobixvKXtjb25zdCBpPWUudXBkYXRlKGcpO20udW5pZm9ybXMuc2hhZG93X3Bhc3MudmFsdWU9bi5tYXAudGV4dHVyZSxtLnVuaWZvcm1zLnJlc29sdXRpb24udmFsdWU9bi5tYXBTaXplLG0udW5pZm9ybXMucmFkaXVzLnZhbHVlPW4ucmFkaXVzLHQuc2V0UmVuZGVyVGFyZ2V0KG4ubWFwUGFzcyksdC5jbGVhcigpLHQucmVuZGVyQnVmZmVyRGlyZWN0KG8sbnVsbCxpLG0sZyxudWxsKSxmLnVuaWZvcm1zLnNoYWRvd19wYXNzLnZhbHVlPW4ubWFwUGFzcy50ZXh0dXJlLGYudW5pZm9ybXMucmVzb2x1dGlvbi52YWx1ZT1uLm1hcFNpemUsZi51bmlmb3Jtcy5yYWRpdXMudmFsdWU9bi5yYWRpdXMsdC5zZXRSZW5kZXJUYXJnZXQobi5tYXApLHQuY2xlYXIoKSx0LnJlbmRlckJ1ZmZlckRpcmVjdChvLG51bGwsaSxmLGcsbnVsbCl9ZnVuY3Rpb24geShlLG4sbyxpLGEscixkKXtsZXQgbT1udWxsO2NvbnN0IGY9ITA9PT1pLmlzUG9pbnRMaWdodD9lLmN1c3RvbURpc3RhbmNlTWF0ZXJpYWw6ZS5jdXN0b21EZXB0aE1hdGVyaWFsO2lmKG09dm9pZCAwIT09Zj9mOiEwPT09aS5pc1BvaW50TGlnaHQ/bDpzLHQubG9jYWxDbGlwcGluZ0VuYWJsZWQmJiEwPT09by5jbGlwU2hhZG93cyYmMCE9PW8uY2xpcHBpbmdQbGFuZXMubGVuZ3RoKXtjb25zdCB0PW0udXVpZCxlPW8udXVpZDtsZXQgbj1jW3RdO3ZvaWQgMD09PW4mJihuPXt9LGNbdF09bik7bGV0IGk9bltlXTt2b2lkIDA9PT1pJiYoaT1tLmNsb25lKCksbltlXT1pKSxtPWl9cmV0dXJuIG0udmlzaWJsZT1vLnZpc2libGUsbS53aXJlZnJhbWU9by53aXJlZnJhbWUsbS5zaWRlPTM9PT1kP251bGwhPT1vLnNoYWRvd1NpZGU/by5zaGFkb3dTaWRlOm8uc2lkZTpudWxsIT09by5zaGFkb3dTaWRlP28uc2hhZG93U2lkZTpwW28uc2lkZV0sbS5jbGlwU2hhZG93cz1vLmNsaXBTaGFkb3dzLG0uY2xpcHBpbmdQbGFuZXM9by5jbGlwcGluZ1BsYW5lcyxtLmNsaXBJbnRlcnNlY3Rpb249by5jbGlwSW50ZXJzZWN0aW9uLG0ud2lyZWZyYW1lTGluZXdpZHRoPW8ud2lyZWZyYW1lTGluZXdpZHRoLG0ubGluZXdpZHRoPW8ubGluZXdpZHRoLCEwPT09aS5pc1BvaW50TGlnaHQmJiEwPT09bS5pc01lc2hEaXN0YW5jZU1hdGVyaWFsJiYobS5yZWZlcmVuY2VQb3NpdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24oaS5tYXRyaXhXb3JsZCksbS5uZWFyRGlzdGFuY2U9YSxtLmZhckRpc3RhbmNlPXIpLG19ZnVuY3Rpb24gXyhuLGksYSxyLHMpe2lmKCExPT09bi52aXNpYmxlKXJldHVybjtpZihuLmxheWVycy50ZXN0KGkubGF5ZXJzKSYmKG4uaXNNZXNofHxuLmlzTGluZXx8bi5pc1BvaW50cykmJihuLmNhc3RTaGFkb3d8fG4ucmVjZWl2ZVNoYWRvdyYmMz09PXMpJiYoIW4uZnJ1c3R1bUN1bGxlZHx8by5pbnRlcnNlY3RzT2JqZWN0KG4pKSl7bi5tb2RlbFZpZXdNYXRyaXgubXVsdGlwbHlNYXRyaWNlcyhhLm1hdHJpeFdvcmxkSW52ZXJzZSxuLm1hdHJpeFdvcmxkKTtjb25zdCBvPWUudXBkYXRlKG4pLGk9bi5tYXRlcmlhbDtpZihBcnJheS5pc0FycmF5KGkpKXtjb25zdCBlPW8uZ3JvdXBzO2ZvcihsZXQgbD0wLGM9ZS5sZW5ndGg7bDxjO2wrKyl7Y29uc3QgYz1lW2xdLGQ9aVtjLm1hdGVyaWFsSW5kZXhdO2lmKGQmJmQudmlzaWJsZSl7Y29uc3QgZT15KG4sMCxkLHIsYS5uZWFyLGEuZmFyLHMpO3QucmVuZGVyQnVmZmVyRGlyZWN0KGEsbnVsbCxvLGUsbixjKX19fWVsc2UgaWYoaS52aXNpYmxlKXtjb25zdCBlPXkobiwwLGkscixhLm5lYXIsYS5mYXIscyk7dC5yZW5kZXJCdWZmZXJEaXJlY3QoYSxudWxsLG8sZSxuLG51bGwpfX1jb25zdCBsPW4uY2hpbGRyZW47Zm9yKGxldCB0PTAsZT1sLmxlbmd0aDt0PGU7dCsrKV8obFt0XSxpLGEscixzKX10aGlzLmVuYWJsZWQ9ITEsdGhpcy5hdXRvVXBkYXRlPSEwLHRoaXMubmVlZHNVcGRhdGU9ITEsdGhpcy50eXBlPTEsdGhpcy5yZW5kZXI9ZnVuY3Rpb24oZSxuLHMpe2lmKCExPT09aC5lbmFibGVkKXJldHVybjtpZighMT09PWguYXV0b1VwZGF0ZSYmITE9PT1oLm5lZWRzVXBkYXRlKXJldHVybjtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2NvbnN0IGw9dC5nZXRSZW5kZXJUYXJnZXQoKSxjPXQuZ2V0QWN0aXZlQ3ViZUZhY2UoKSxwPXQuZ2V0QWN0aXZlTWlwbWFwTGV2ZWwoKSxtPXQuc3RhdGU7bS5zZXRCbGVuZGluZygwKSxtLmJ1ZmZlcnMuY29sb3Iuc2V0Q2xlYXIoMSwxLDEsMSksbS5idWZmZXJzLmRlcHRoLnNldFRlc3QoITApLG0uc2V0U2Npc3NvclRlc3QoITEpO2ZvcihsZXQgbD0wLGM9ZS5sZW5ndGg7bDxjO2wrKyl7Y29uc3QgYz1lW2xdLHA9Yy5zaGFkb3c7aWYodm9pZCAwPT09cCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFNoYWRvd01hcDoiLGMsImhhcyBubyBzaGFkb3cuIik7Y29udGludWV9aWYoITE9PT1wLmF1dG9VcGRhdGUmJiExPT09cC5uZWVkc1VwZGF0ZSljb250aW51ZTtpLmNvcHkocC5tYXBTaXplKTtjb25zdCBmPXAuZ2V0RnJhbWVFeHRlbnRzKCk7aWYoaS5tdWx0aXBseShmKSxhLmNvcHkocC5tYXBTaXplKSwoaS54PmR8fGkueT5kKSYmKGkueD5kJiYoYS54PU1hdGguZmxvb3IoZC9mLngpLGkueD1hLngqZi54LHAubWFwU2l6ZS54PWEueCksaS55PmQmJihhLnk9TWF0aC5mbG9vcihkL2YueSksaS55PWEueSpmLnkscC5tYXBTaXplLnk9YS55KSksbnVsbD09PXAubWFwJiYhcC5pc1BvaW50TGlnaHRTaGFkb3cmJjM9PT10aGlzLnR5cGUpe2NvbnN0IHQ9e21pbkZpbHRlcjpUcnQsbWFnRmlsdGVyOlRydCxmb3JtYXQ6anJ0fTtwLm1hcD1uZXcgeHN0KGkueCxpLnksdCkscC5tYXAudGV4dHVyZS5uYW1lPWMubmFtZSsiLnNoYWRvd01hcCIscC5tYXBQYXNzPW5ldyB4c3QoaS54LGkueSx0KSxwLmNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9aWYobnVsbD09PXAubWFwKXtwLm1hcD1uZXcgeHN0KGkueCxpLnkse21pbkZpbHRlcjpBcnQsbWFnRmlsdGVyOkFydCxmb3JtYXQ6anJ0fSkscC5tYXAudGV4dHVyZS5uYW1lPWMubmFtZSsiLnNoYWRvd01hcCIscC5jYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfXQuc2V0UmVuZGVyVGFyZ2V0KHAubWFwKSx0LmNsZWFyKCk7Y29uc3QgdT1wLmdldFZpZXdwb3J0Q291bnQoKTtmb3IobGV0IHQ9MDt0PHU7dCsrKXtjb25zdCBlPXAuZ2V0Vmlld3BvcnQodCk7ci5zZXQoYS54KmUueCxhLnkqZS55LGEueCplLnosYS55KmUudyksbS52aWV3cG9ydChyKSxwLnVwZGF0ZU1hdHJpY2VzKGMsdCksbz1wLmdldEZydXN0dW0oKSxfKG4scyxwLmNhbWVyYSxjLHRoaXMudHlwZSl9cC5pc1BvaW50TGlnaHRTaGFkb3d8fDMhPT10aGlzLnR5cGV8fGIocCxzKSxwLm5lZWRzVXBkYXRlPSExfWgubmVlZHNVcGRhdGU9ITEsdC5zZXRSZW5kZXJUYXJnZXQobCxjLHApfX1mdW5jdGlvbiBTbXQodCxlLG4pe2NvbnN0IG89bi5pc1dlYkdMMjtjb25zdCBpPW5ldyhmdW5jdGlvbiBhKCl7bGV0IGU9ITE7Y29uc3Qgbj1uZXcgdnN0O2xldCBvPW51bGw7Y29uc3QgaT1uZXcgdnN0KDAsMCwwLDApO3JldHVybntzZXRNYXNrOmZ1bmN0aW9uKG4pe289PT1ufHxlfHwodC5jb2xvck1hc2sobixuLG4sbiksbz1uKX0sc2V0TG9ja2VkOmZ1bmN0aW9uKHQpe2U9dH0sc2V0Q2xlYXI6ZnVuY3Rpb24oZSxvLGEscixzKXshMD09PXMmJihlKj1yLG8qPXIsYSo9ciksbi5zZXQoZSxvLGEsciksITE9PT1pLmVxdWFscyhuKSYmKHQuY2xlYXJDb2xvcihlLG8sYSxyKSxpLmNvcHkobikpfSxyZXNldDpmdW5jdGlvbigpe2U9ITEsbz1udWxsLGkuc2V0KC0xLDAsMCwwKX19fSkscj1uZXcoZnVuY3Rpb24gcygpe2xldCBlPSExLG49bnVsbCxvPW51bGwsaT1udWxsO3JldHVybntzZXRUZXN0OmZ1bmN0aW9uKHQpe3Q/QigyOTI5KTpWKDI5MjkpfSxzZXRNYXNrOmZ1bmN0aW9uKG8pe249PT1vfHxlfHwodC5kZXB0aE1hc2sobyksbj1vKX0sc2V0RnVuYzpmdW5jdGlvbihlKXtpZihvIT09ZSl7aWYoZSlzd2l0Y2goZSl7Y2FzZSAwOnQuZGVwdGhGdW5jKDUxMik7YnJlYWs7Y2FzZSAxOnQuZGVwdGhGdW5jKDUxOSk7YnJlYWs7Y2FzZSAyOnQuZGVwdGhGdW5jKDUxMyk7YnJlYWs7Y2FzZSAzOnQuZGVwdGhGdW5jKDUxNSk7YnJlYWs7Y2FzZSA0OnQuZGVwdGhGdW5jKDUxNCk7YnJlYWs7Y2FzZSA1OnQuZGVwdGhGdW5jKDUxOCk7YnJlYWs7Y2FzZSA2OnQuZGVwdGhGdW5jKDUxNik7YnJlYWs7Y2FzZSA3OnQuZGVwdGhGdW5jKDUxNyk7YnJlYWs7ZGVmYXVsdDp0LmRlcHRoRnVuYyg1MTUpfWVsc2UgdC5kZXB0aEZ1bmMoNTE1KTtvPWV9fSxzZXRMb2NrZWQ6ZnVuY3Rpb24odCl7ZT10fSxzZXRDbGVhcjpmdW5jdGlvbihlKXtpIT09ZSYmKHQuY2xlYXJEZXB0aChlKSxpPWUpfSxyZXNldDpmdW5jdGlvbigpe2U9ITEsbj1udWxsLG89bnVsbCxpPW51bGx9fX0pLGw9bmV3KGZ1bmN0aW9uIGMoKXtsZXQgZT0hMSxuPW51bGwsbz1udWxsLGk9bnVsbCxhPW51bGwscj1udWxsLHM9bnVsbCxsPW51bGwsYz1udWxsO3JldHVybntzZXRUZXN0OmZ1bmN0aW9uKHQpe2V8fCh0P0IoMjk2MCk6VigyOTYwKSl9LHNldE1hc2s6ZnVuY3Rpb24obyl7bj09PW98fGV8fCh0LnN0ZW5jaWxNYXNrKG8pLG49byl9LHNldEZ1bmM6ZnVuY3Rpb24oZSxuLHIpe289PT1lJiZpPT09biYmYT09PXJ8fCh0LnN0ZW5jaWxGdW5jKGUsbixyKSxvPWUsaT1uLGE9cil9LHNldE9wOmZ1bmN0aW9uKGUsbixvKXtyPT09ZSYmcz09PW4mJmw9PT1vfHwodC5zdGVuY2lsT3AoZSxuLG8pLHI9ZSxzPW4sbD1vKX0sc2V0TG9ja2VkOmZ1bmN0aW9uKHQpe2U9dH0sc2V0Q2xlYXI6ZnVuY3Rpb24oZSl7YyE9PWUmJih0LmNsZWFyU3RlbmNpbChlKSxjPWUpfSxyZXNldDpmdW5jdGlvbigpe2U9ITEsbj1udWxsLG89bnVsbCxpPW51bGwsYT1udWxsLHI9bnVsbCxzPW51bGwsbD1udWxsLGM9bnVsbH19fSk7bGV0IGQ9e30scD1udWxsLG09e30sZj1udWxsLHU9ITEsZz1udWxsLGg9bnVsbCxiPW51bGwseT1udWxsLF89bnVsbCxDPW51bGwsTT1udWxsLHY9ITEseD1udWxsLE89bnVsbCxQPW51bGwsdz1udWxsLGs9bnVsbDtjb25zdCBTPXQuZ2V0UGFyYW1ldGVyKDM1NjYxKTtsZXQgRD0hMSxSPTA7Y29uc3QgRT10LmdldFBhcmFtZXRlcig3OTM4KTstMSE9PUUuaW5kZXhPZigiV2ViR0wiKT8oUj1wYXJzZUZsb2F0KC9eV2ViR0wgKFxkKS8uZXhlYyhFKVsxXSksRD1SPj0xKTotMSE9PUUuaW5kZXhPZigiT3BlbkdMIEVTIikmJihSPXBhcnNlRmxvYXQoL15PcGVuR0wgRVMgKFxkKS8uZXhlYyhFKVsxXSksRD1SPj0yKTtsZXQgQT1udWxsLFQ9e307Y29uc3QgTj10LmdldFBhcmFtZXRlcigzMDg4KSx6PXQuZ2V0UGFyYW1ldGVyKDI5NzgpLEk9KG5ldyB2c3QpLmZyb21BcnJheShOKSxIPShuZXcgdnN0KS5mcm9tQXJyYXkoeik7ZnVuY3Rpb24gRihlLG4sbyl7Y29uc3QgaT1uZXcgVWludDhBcnJheSg0KSxhPXQuY3JlYXRlVGV4dHVyZSgpO3QuYmluZFRleHR1cmUoZSxhKSx0LnRleFBhcmFtZXRlcmkoZSwxMDI0MSw5NzI4KSx0LnRleFBhcmFtZXRlcmkoZSwxMDI0MCw5NzI4KTtmb3IobGV0IGU9MDtlPG87ZSsrKXQudGV4SW1hZ2UyRChuK2UsMCw2NDA4LDEsMSwwLDY0MDgsNTEyMSxpKTtyZXR1cm4gYX1jb25zdCBMPXt9O2Z1bmN0aW9uIEIoZSl7ITAhPT1kW2VdJiYodC5lbmFibGUoZSksZFtlXT0hMCl9ZnVuY3Rpb24gVihlKXshMSE9PWRbZV0mJih0LmRpc2FibGUoZSksZFtlXT0hMSl9TFszNTUzXT1GKDM1NTMsMzU1MywxKSxMWzM0MDY3XT1GKDM0MDY3LDM0MDY5LDYpLGkuc2V0Q2xlYXIoMCwwLDAsMSksci5zZXRDbGVhcigxKSxsLnNldENsZWFyKDApLEIoMjkyOSksci5zZXRGdW5jKDMpLEcoITEpLFkoMSksQigyODg0KSxXKDApO2NvbnN0IGo9e1tQcnRdOjMyNzc0LDEwMTozMjc3OCwxMDI6MzI3Nzl9O2lmKG8palsxMDNdPTMyNzc1LGpbMTA0XT0zMjc3NjtlbHNle2NvbnN0IHQ9ZS5nZXQoIkVYVF9ibGVuZF9taW5tYXgiKTtudWxsIT09dCYmKGpbMTAzXT10Lk1JTl9FWFQsalsxMDRdPXQuTUFYX0VYVCl9Y29uc3QgVT17MjAwOjAsMjAxOjEsMjAyOjc2OCwyMDQ6NzcwLDIxMDo3NzYsMjA4Ojc3NCwyMDY6NzcyLDIwMzo3NjksMjA1Ojc3MSwyMDk6Nzc1LDIwNzo3NzN9O2Z1bmN0aW9uIFcoZSxuLG8saSxhLHIscyxsKXtpZigwIT09ZSl7aWYoITE9PT11JiYoQigzMDQyKSx1PSEwKSw1PT09ZSlhPWF8fG4scj1yfHxvLHM9c3x8aSxuPT09aCYmYT09PV98fCh0LmJsZW5kRXF1YXRpb25TZXBhcmF0ZShqW25dLGpbYV0pLGg9bixfPWEpLG89PT1iJiZpPT09eSYmcj09PUMmJnM9PT1NfHwodC5ibGVuZEZ1bmNTZXBhcmF0ZShVW29dLFVbaV0sVVtyXSxVW3NdKSxiPW8seT1pLEM9cixNPXMpLGc9ZSx2PW51bGw7ZWxzZSBpZihlIT09Z3x8bCE9PXYpe2lmKGg9PT1QcnQmJl89PT1QcnR8fCh0LmJsZW5kRXF1YXRpb24oMzI3NzQpLGg9UHJ0LF89UHJ0KSxsKXN3aXRjaChlKXtjYXNlIDE6dC5ibGVuZEZ1bmNTZXBhcmF0ZSgxLDc3MSwxLDc3MSk7YnJlYWs7Y2FzZSAyOnQuYmxlbmRGdW5jKDEsMSk7YnJlYWs7Y2FzZSAzOnQuYmxlbmRGdW5jU2VwYXJhdGUoMCwwLDc2OSw3NzEpO2JyZWFrO2Nhc2UgNDp0LmJsZW5kRnVuY1NlcGFyYXRlKDAsNzY4LDAsNzcwKTticmVhaztkZWZhdWx0OmNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMU3RhdGU6IEludmFsaWQgYmxlbmRpbmc6ICIsZSl9ZWxzZSBzd2l0Y2goZSl7Y2FzZSAxOnQuYmxlbmRGdW5jU2VwYXJhdGUoNzcwLDc3MSwxLDc3MSk7YnJlYWs7Y2FzZSAyOnQuYmxlbmRGdW5jKDc3MCwxKTticmVhaztjYXNlIDM6dC5ibGVuZEZ1bmMoMCw3NjkpO2JyZWFrO2Nhc2UgNDp0LmJsZW5kRnVuYygwLDc2OCk7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFN0YXRlOiBJbnZhbGlkIGJsZW5kaW5nOiAiLGUpfWI9bnVsbCx5PW51bGwsQz1udWxsLE09bnVsbCxnPWUsdj1sfX1lbHNlITA9PT11JiYoVigzMDQyKSx1PSExKX1mdW5jdGlvbiBHKGUpe3ghPT1lJiYodC5mcm9udEZhY2UoZT8yMzA0OjIzMDUpLHg9ZSl9ZnVuY3Rpb24gWShlKXswIT09ZT8oQigyODg0KSxlIT09TyYmdC5jdWxsRmFjZSgxPT09ZT8xMDI5OjI9PT1lPzEwMjg6MTAzMikpOlYoMjg4NCksTz1lfWZ1bmN0aW9uIHEoZSxuLG8pe2U/KEIoMzI4MjMpLHc9PT1uJiZrPT09b3x8KHQucG9seWdvbk9mZnNldChuLG8pLHc9bixrPW8pKTpWKDMyODIzKX1mdW5jdGlvbiBaKGUpe3ZvaWQgMD09PWUmJihlPTMzOTg0K1MtMSksQSE9PWUmJih0LmFjdGl2ZVRleHR1cmUoZSksQT1lKX1yZXR1cm57YnVmZmVyczp7Y29sb3I6aSxkZXB0aDpyLHN0ZW5jaWw6bH0sZW5hYmxlOkIsZGlzYWJsZTpWLGJpbmRGcmFtZWJ1ZmZlcjpmdW5jdGlvbiBYKGUsbil7cmV0dXJuIG51bGw9PT1uJiZudWxsIT09cCYmKG49cCksbVtlXSE9PW4mJih0LmJpbmRGcmFtZWJ1ZmZlcihlLG4pLG1bZV09bixvJiYoMzYwMDk9PT1lJiYobVszNjE2MF09biksMzYxNjA9PT1lJiYobVszNjAwOV09bikpLCEwKX0sYmluZFhSRnJhbWVidWZmZXI6ZnVuY3Rpb24gSyhlKXtlIT09cCYmKHQuYmluZEZyYW1lYnVmZmVyKDM2MTYwLGUpLHA9ZSl9LHVzZVByb2dyYW06ZnVuY3Rpb24gSihlKXtyZXR1cm4gZiE9PWUmJih0LnVzZVByb2dyYW0oZSksZj1lLCEwKX0sc2V0QmxlbmRpbmc6VyxzZXRNYXRlcmlhbDpmdW5jdGlvbiBRKHQsZSl7Mj09PXQuc2lkZT9WKDI4ODQpOkIoMjg4NCk7bGV0IG49MT09PXQuc2lkZTtlJiYobj0hbiksRyhuKSwxPT09dC5ibGVuZGluZyYmITE9PT10LnRyYW5zcGFyZW50P1coMCk6Vyh0LmJsZW5kaW5nLHQuYmxlbmRFcXVhdGlvbix0LmJsZW5kU3JjLHQuYmxlbmREc3QsdC5ibGVuZEVxdWF0aW9uQWxwaGEsdC5ibGVuZFNyY0FscGhhLHQuYmxlbmREc3RBbHBoYSx0LnByZW11bHRpcGxpZWRBbHBoYSksci5zZXRGdW5jKHQuZGVwdGhGdW5jKSxyLnNldFRlc3QodC5kZXB0aFRlc3QpLHIuc2V0TWFzayh0LmRlcHRoV3JpdGUpLGkuc2V0TWFzayh0LmNvbG9yV3JpdGUpO2NvbnN0IG89dC5zdGVuY2lsV3JpdGU7bC5zZXRUZXN0KG8pLG8mJihsLnNldE1hc2sodC5zdGVuY2lsV3JpdGVNYXNrKSxsLnNldEZ1bmModC5zdGVuY2lsRnVuYyx0LnN0ZW5jaWxSZWYsdC5zdGVuY2lsRnVuY01hc2spLGwuc2V0T3AodC5zdGVuY2lsRmFpbCx0LnN0ZW5jaWxaRmFpbCx0LnN0ZW5jaWxaUGFzcykpLHEodC5wb2x5Z29uT2Zmc2V0LHQucG9seWdvbk9mZnNldEZhY3Rvcix0LnBvbHlnb25PZmZzZXRVbml0cyksITA9PT10LmFscGhhVG9Db3ZlcmFnZT9CKDMyOTI2KTpWKDMyOTI2KX0sc2V0RmxpcFNpZGVkOkcsc2V0Q3VsbEZhY2U6WSxzZXRMaW5lV2lkdGg6ZnVuY3Rpb24gJChlKXtlIT09UCYmKEQmJnQubGluZVdpZHRoKGUpLFA9ZSl9LHNldFBvbHlnb25PZmZzZXQ6cSxzZXRTY2lzc29yVGVzdDpmdW5jdGlvbiB0dCh0KXt0P0IoMzA4OSk6VigzMDg5KX0sYWN0aXZlVGV4dHVyZTpaLGJpbmRUZXh0dXJlOmZ1bmN0aW9uIGV0KGUsbil7bnVsbD09PUEmJlooKTtsZXQgbz1UW0FdO3ZvaWQgMD09PW8mJihvPXt0eXBlOnZvaWQgMCx0ZXh0dXJlOnZvaWQgMH0sVFtBXT1vKSxvLnR5cGU9PT1lJiZvLnRleHR1cmU9PT1ufHwodC5iaW5kVGV4dHVyZShlLG58fExbZV0pLG8udHlwZT1lLG8udGV4dHVyZT1uKX0sdW5iaW5kVGV4dHVyZTpmdW5jdGlvbiBudCgpe2NvbnN0IGU9VFtBXTt2b2lkIDAhPT1lJiZ2b2lkIDAhPT1lLnR5cGUmJih0LmJpbmRUZXh0dXJlKGUudHlwZSxudWxsKSxlLnR5cGU9dm9pZCAwLGUudGV4dHVyZT12b2lkIDApfSxjb21wcmVzc2VkVGV4SW1hZ2UyRDpmdW5jdGlvbiBvdCgpe3RyeXt0LmNvbXByZXNzZWRUZXhJbWFnZTJELmFwcGx5KHQsYXJndW1lbnRzKX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFN0YXRlOiIsdCl9fSx0ZXhJbWFnZTJEOmZ1bmN0aW9uIGl0KCl7dHJ5e3QudGV4SW1hZ2UyRC5hcHBseSh0LGFyZ3VtZW50cyl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xTdGF0ZToiLHQpfX0sdGV4SW1hZ2UzRDpmdW5jdGlvbiBhdCgpe3RyeXt0LnRleEltYWdlM0QuYXBwbHkodCxhcmd1bWVudHMpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMU3RhdGU6Iix0KX19LHNjaXNzb3I6ZnVuY3Rpb24gcnQoZSl7ITE9PT1JLmVxdWFscyhlKSYmKHQuc2Npc3NvcihlLngsZS55LGUueixlLncpLEkuY29weShlKSl9LHZpZXdwb3J0OmZ1bmN0aW9uIHN0KGUpeyExPT09SC5lcXVhbHMoZSkmJih0LnZpZXdwb3J0KGUueCxlLnksZS56LGUudyksSC5jb3B5KGUpKX0scmVzZXQ6ZnVuY3Rpb24gbHQoKXt0LmRpc2FibGUoMzA0MiksdC5kaXNhYmxlKDI4ODQpLHQuZGlzYWJsZSgyOTI5KSx0LmRpc2FibGUoMzI4MjMpLHQuZGlzYWJsZSgzMDg5KSx0LmRpc2FibGUoMjk2MCksdC5kaXNhYmxlKDMyOTI2KSx0LmJsZW5kRXF1YXRpb24oMzI3NzQpLHQuYmxlbmRGdW5jKDEsMCksdC5ibGVuZEZ1bmNTZXBhcmF0ZSgxLDAsMSwwKSx0LmNvbG9yTWFzayghMCwhMCwhMCwhMCksdC5jbGVhckNvbG9yKDAsMCwwLDApLHQuZGVwdGhNYXNrKCEwKSx0LmRlcHRoRnVuYyg1MTMpLHQuY2xlYXJEZXB0aCgxKSx0LnN0ZW5jaWxNYXNrKDQyOTQ5NjcyOTUpLHQuc3RlbmNpbEZ1bmMoNTE5LDAsNDI5NDk2NzI5NSksdC5zdGVuY2lsT3AoNzY4MCw3NjgwLDc2ODApLHQuY2xlYXJTdGVuY2lsKDApLHQuY3VsbEZhY2UoMTAyOSksdC5mcm9udEZhY2UoMjMwNSksdC5wb2x5Z29uT2Zmc2V0KDAsMCksdC5hY3RpdmVUZXh0dXJlKDMzOTg0KSx0LmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxudWxsKSwhMD09PW8mJih0LmJpbmRGcmFtZWJ1ZmZlcigzNjAwOSxudWxsKSx0LmJpbmRGcmFtZWJ1ZmZlcigzNjAwOCxudWxsKSksdC51c2VQcm9ncmFtKG51bGwpLHQubGluZVdpZHRoKDEpLHQuc2Npc3NvcigwLDAsdC5jYW52YXMud2lkdGgsdC5jYW52YXMuaGVpZ2h0KSx0LnZpZXdwb3J0KDAsMCx0LmNhbnZhcy53aWR0aCx0LmNhbnZhcy5oZWlnaHQpLGQ9e30sQT1udWxsLFQ9e30scD1udWxsLG09e30sZj1udWxsLHU9ITEsZz1udWxsLGg9bnVsbCxiPW51bGwseT1udWxsLF89bnVsbCxDPW51bGwsTT1udWxsLHY9ITEseD1udWxsLE89bnVsbCxQPW51bGwsdz1udWxsLGs9bnVsbCxJLnNldCgwLDAsdC5jYW52YXMud2lkdGgsdC5jYW52YXMuaGVpZ2h0KSxILnNldCgwLDAsdC5jYW52YXMud2lkdGgsdC5jYW52YXMuaGVpZ2h0KSxpLnJlc2V0KCksci5yZXNldCgpLGwucmVzZXQoKX19fWZ1bmN0aW9uIERtdCh0LGUsbixvLGksYSxyKXtjb25zdCBzPWkuaXNXZWJHTDIsbD1pLm1heFRleHR1cmVzLGM9aS5tYXhDdWJlbWFwU2l6ZSxkPWkubWF4VGV4dHVyZVNpemUscD1pLm1heFNhbXBsZXMsbT1uZXcgV2Vha01hcDtsZXQgZix1PSExO3RyeXt1PSJ1bmRlZmluZWQiIT10eXBlb2YgT2Zmc2NyZWVuQ2FudmFzJiZudWxsIT09bmV3IE9mZnNjcmVlbkNhbnZhcygxLDEpLmdldENvbnRleHQoIjJkIil9Y2F0Y2godCl7fWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4gdT9uZXcgT2Zmc2NyZWVuQ2FudmFzKHQsZSk6ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiY2FudmFzIil9ZnVuY3Rpb24gaCh0LGUsbixvKXtsZXQgaT0xO2lmKCh0LndpZHRoPm98fHQuaGVpZ2h0Pm8pJiYoaT1vL01hdGgubWF4KHQud2lkdGgsdC5oZWlnaHQpKSxpPDF8fCEwPT09ZSl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MSW1hZ2VFbGVtZW50JiZ0IGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MQ2FudmFzRWxlbWVudCYmdCBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50fHwidW5kZWZpbmVkIiE9dHlwZW9mIEltYWdlQml0bWFwJiZ0IGluc3RhbmNlb2YgSW1hZ2VCaXRtYXApe2NvbnN0IG89ZT91c3Q6TWF0aC5mbG9vcixhPW8oaSp0LndpZHRoKSxyPW8oaSp0LmhlaWdodCk7dm9pZCAwPT09ZiYmKGY9ZyhhLHIpKTtjb25zdCBzPW4/ZyhhLHIpOmY7cy53aWR0aD1hLHMuaGVpZ2h0PXI7cmV0dXJuIHMuZ2V0Q29udGV4dCgiMmQiKS5kcmF3SW1hZ2UodCwwLDAsYSxyKSxjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgaGFzIGJlZW4gcmVzaXplZCBmcm9tICgiK3Qud2lkdGgrIngiK3QuaGVpZ2h0KyIpIHRvICgiK2ErIngiK3IrIikuIiksc31yZXR1cm4iZGF0YSJpbiB0JiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IEltYWdlIGluIERhdGFUZXh0dXJlIGlzIHRvbyBiaWcgKCIrdC53aWR0aCsieCIrdC5oZWlnaHQrIikuIiksdH1yZXR1cm4gdH1mdW5jdGlvbiBiKHQpe3JldHVybiBmc3QodC53aWR0aCkmJmZzdCh0LmhlaWdodCl9ZnVuY3Rpb24geSh0LGUpe3JldHVybiB0LmdlbmVyYXRlTWlwbWFwcyYmZSYmdC5taW5GaWx0ZXIhPT1BcnQmJnQubWluRmlsdGVyIT09VHJ0fWZ1bmN0aW9uIF8oZSxuLGksYSxyPTEpe3QuZ2VuZXJhdGVNaXBtYXAoZSk7by5nZXQobikuX19tYXhNaXBMZXZlbD1NYXRoLmxvZzIoTWF0aC5tYXgoaSxhLHIpKX1mdW5jdGlvbiBDKG4sbyxpKXtpZighMT09PXMpcmV0dXJuIG87aWYobnVsbCE9PW4pe2lmKHZvaWQgMCE9PXRbbl0pcmV0dXJuIHRbbl07Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBBdHRlbXB0IHRvIHVzZSBub24tZXhpc3RpbmcgV2ViR0wgaW50ZXJuYWwgZm9ybWF0ICciK24rIiciKX1sZXQgYT1vO3JldHVybiA2NDAzPT09byYmKDUxMjY9PT1pJiYoYT0zMzMyNiksNTEzMT09PWkmJihhPTMzMzI1KSw1MTIxPT09aSYmKGE9MzMzMjEpKSw2NDA3PT09byYmKDUxMjY9PT1pJiYoYT0zNDgzNyksNTEzMT09PWkmJihhPTM0ODQzKSw1MTIxPT09aSYmKGE9MzI4NDkpKSw2NDA4PT09byYmKDUxMjY9PT1pJiYoYT0zNDgzNiksNTEzMT09PWkmJihhPTM0ODQyKSw1MTIxPT09aSYmKGE9MzI4NTYpKSwzMzMyNSE9PWEmJjMzMzI2IT09YSYmMzQ4NDIhPT1hJiYzNDgzNiE9PWF8fGUuZ2V0KCJFWFRfY29sb3JfYnVmZmVyX2Zsb2F0IiksYX1mdW5jdGlvbiBNKHQpe3JldHVybiB0PT09QXJ0fHwxMDA0PT09dHx8MTAwNT09PXQ/OTcyODo5NzI5fWZ1bmN0aW9uIHYoZSl7Y29uc3Qgbj1lLnRhcmdldDtuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHYpLChmdW5jdGlvbiBpKGUpe2NvbnN0IG49by5nZXQoZSk7aWYodm9pZCAwPT09bi5fX3dlYmdsSW5pdClyZXR1cm47dC5kZWxldGVUZXh0dXJlKG4uX193ZWJnbFRleHR1cmUpLG8ucmVtb3ZlKGUpfSkobiksbi5pc1ZpZGVvVGV4dHVyZSYmbS5kZWxldGUobiksci5tZW1vcnkudGV4dHVyZXMtLX1mdW5jdGlvbiB4KGUpe2NvbnN0IG49ZS50YXJnZXQ7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIix4KSwoZnVuY3Rpb24gaShlKXtjb25zdCBuPWUudGV4dHVyZSxpPW8uZ2V0KGUpLGE9by5nZXQobik7aWYoIWUpcmV0dXJuO3ZvaWQgMCE9PWEuX193ZWJnbFRleHR1cmUmJih0LmRlbGV0ZVRleHR1cmUoYS5fX3dlYmdsVGV4dHVyZSksci5tZW1vcnkudGV4dHVyZXMtLSk7ZS5kZXB0aFRleHR1cmUmJmUuZGVwdGhUZXh0dXJlLmRpc3Bvc2UoKTtpZihlLmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0KWZvcihsZXQgZT0wO2U8NjtlKyspdC5kZWxldGVGcmFtZWJ1ZmZlcihpLl9fd2ViZ2xGcmFtZWJ1ZmZlcltlXSksaS5fX3dlYmdsRGVwdGhidWZmZXImJnQuZGVsZXRlUmVuZGVyYnVmZmVyKGkuX193ZWJnbERlcHRoYnVmZmVyW2VdKTtlbHNlIHQuZGVsZXRlRnJhbWVidWZmZXIoaS5fX3dlYmdsRnJhbWVidWZmZXIpLGkuX193ZWJnbERlcHRoYnVmZmVyJiZ0LmRlbGV0ZVJlbmRlcmJ1ZmZlcihpLl9fd2ViZ2xEZXB0aGJ1ZmZlciksaS5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXImJnQuZGVsZXRlRnJhbWVidWZmZXIoaS5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXIpLGkuX193ZWJnbENvbG9yUmVuZGVyYnVmZmVyJiZ0LmRlbGV0ZVJlbmRlcmJ1ZmZlcihpLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlciksaS5fX3dlYmdsRGVwdGhSZW5kZXJidWZmZXImJnQuZGVsZXRlUmVuZGVyYnVmZmVyKGkuX193ZWJnbERlcHRoUmVuZGVyYnVmZmVyKTtpZihlLmlzV2ViR0xNdWx0aXBsZVJlbmRlclRhcmdldHMpZm9yKGxldCBlPTAsaT1uLmxlbmd0aDtlPGk7ZSsrKXtjb25zdCBpPW8uZ2V0KG5bZV0pO2kuX193ZWJnbFRleHR1cmUmJih0LmRlbGV0ZVRleHR1cmUoaS5fX3dlYmdsVGV4dHVyZSksci5tZW1vcnkudGV4dHVyZXMtLSksby5yZW1vdmUobltlXSl9by5yZW1vdmUobiksby5yZW1vdmUoZSl9KShuKX1sZXQgTz0wO2Z1bmN0aW9uIFAodCxlKXtjb25zdCBpPW8uZ2V0KHQpO2lmKHQuaXNWaWRlb1RleHR1cmUmJihmdW5jdGlvbiBhKHQpe2NvbnN0IGU9ci5yZW5kZXIuZnJhbWU7bS5nZXQodCkhPT1lJiYobS5zZXQodCxlKSx0LnVwZGF0ZSgpKX0pKHQpLHQudmVyc2lvbj4wJiZpLl9fdmVyc2lvbiE9PXQudmVyc2lvbil7Y29uc3Qgbj10LmltYWdlO2lmKHZvaWQgMD09PW4pY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBUZXh0dXJlIG1hcmtlZCBmb3IgdXBkYXRlIGJ1dCBpbWFnZSBpcyB1bmRlZmluZWQiKTtlbHNle2lmKCExIT09bi5jb21wbGV0ZSlyZXR1cm4gdm9pZCBFKGksdCxlKTtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgbWFya2VkIGZvciB1cGRhdGUgYnV0IGltYWdlIGlzIGluY29tcGxldGUiKX19bi5hY3RpdmVUZXh0dXJlKDMzOTg0K2UpLG4uYmluZFRleHR1cmUoMzU1MyxpLl9fd2ViZ2xUZXh0dXJlKX1mdW5jdGlvbiB3KGUsaSl7Y29uc3Qgcj1vLmdldChlKTtlLnZlcnNpb24+MCYmci5fX3ZlcnNpb24hPT1lLnZlcnNpb24/KGZ1bmN0aW9uIGwoZSxvLGkpe2lmKDYhPT1vLmltYWdlLmxlbmd0aClyZXR1cm47UihlLG8pLG4uYWN0aXZlVGV4dHVyZSgzMzk4NCtpKSxuLmJpbmRUZXh0dXJlKDM0MDY3LGUuX193ZWJnbFRleHR1cmUpLHQucGl4ZWxTdG9yZWkoMzc0NDAsby5mbGlwWSksdC5waXhlbFN0b3JlaSgzNzQ0MSxvLnByZW11bHRpcGx5QWxwaGEpLHQucGl4ZWxTdG9yZWkoMzMxNyxvLnVucGFja0FsaWdubWVudCksdC5waXhlbFN0b3JlaSgzNzQ0MywwKTtjb25zdCByPW8mJihvLmlzQ29tcHJlc3NlZFRleHR1cmV8fG8uaW1hZ2VbMF0uaXNDb21wcmVzc2VkVGV4dHVyZSksbD1vLmltYWdlWzBdJiZvLmltYWdlWzBdLmlzRGF0YVRleHR1cmUsZD1bXTtmb3IobGV0IHQ9MDt0PDY7dCsrKWRbdF09cnx8bD9sP28uaW1hZ2VbdF0uaW1hZ2U6by5pbWFnZVt0XTpoKG8uaW1hZ2VbdF0sITEsITAsYyk7Y29uc3QgcD1kWzBdLG09YihwKXx8cyxmPWEuY29udmVydChvLmZvcm1hdCksdT1hLmNvbnZlcnQoby50eXBlKSxnPUMoby5pbnRlcm5hbEZvcm1hdCxmLHUpO2xldCBNO2lmKEQoMzQwNjcsbyxtKSxyKXtmb3IobGV0IHQ9MDt0PDY7dCsrKXtNPWRbdF0ubWlwbWFwcztmb3IobGV0IGU9MDtlPE0ubGVuZ3RoO2UrKyl7Y29uc3QgaT1NW2VdO28uZm9ybWF0IT09anJ0JiZvLmZvcm1hdCE9PVZydD9udWxsIT09Zj9uLmNvbXByZXNzZWRUZXhJbWFnZTJEKDM0MDY5K3QsZSxnLGkud2lkdGgsaS5oZWlnaHQsMCxpLmRhdGEpOmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogQXR0ZW1wdCB0byBsb2FkIHVuc3VwcG9ydGVkIGNvbXByZXNzZWQgdGV4dHVyZSBmb3JtYXQgaW4gLnNldFRleHR1cmVDdWJlKCkiKTpuLnRleEltYWdlMkQoMzQwNjkrdCxlLGcsaS53aWR0aCxpLmhlaWdodCwwLGYsdSxpLmRhdGEpfX1lLl9fbWF4TWlwTGV2ZWw9TS5sZW5ndGgtMX1lbHNle009by5taXBtYXBzO2ZvcihsZXQgdD0wO3Q8Njt0KyspaWYobCl7bi50ZXhJbWFnZTJEKDM0MDY5K3QsMCxnLGRbdF0ud2lkdGgsZFt0XS5oZWlnaHQsMCxmLHUsZFt0XS5kYXRhKTtmb3IobGV0IGU9MDtlPE0ubGVuZ3RoO2UrKyl7Y29uc3Qgbz1NW2VdLmltYWdlW3RdLmltYWdlO24udGV4SW1hZ2UyRCgzNDA2OSt0LGUrMSxnLG8ud2lkdGgsby5oZWlnaHQsMCxmLHUsby5kYXRhKX19ZWxzZXtuLnRleEltYWdlMkQoMzQwNjkrdCwwLGcsZix1LGRbdF0pO2ZvcihsZXQgZT0wO2U8TS5sZW5ndGg7ZSsrKXtuLnRleEltYWdlMkQoMzQwNjkrdCxlKzEsZyxmLHUsTVtlXS5pbWFnZVt0XSl9fWUuX19tYXhNaXBMZXZlbD1NLmxlbmd0aH15KG8sbSkmJl8oMzQwNjcsbyxwLndpZHRoLHAuaGVpZ2h0KTtlLl9fdmVyc2lvbj1vLnZlcnNpb24sby5vblVwZGF0ZSYmby5vblVwZGF0ZShvKX0pKHIsZSxpKToobi5hY3RpdmVUZXh0dXJlKDMzOTg0K2kpLG4uYmluZFRleHR1cmUoMzQwNjcsci5fX3dlYmdsVGV4dHVyZSkpfWNvbnN0IGs9e1tEcnRdOjEwNDk3LFtScnRdOjMzMDcxLFtFcnRdOjMzNjQ4fSxTPXtbQXJ0XTo5NzI4LDEwMDQ6OTk4NCwxMDA1Ojk5ODYsW1RydF06OTcyOSwxMDA3Ojk5ODUsW05ydF06OTk4N307ZnVuY3Rpb24gRChuLGEscil7aWYocj8odC50ZXhQYXJhbWV0ZXJpKG4sMTAyNDIsa1thLndyYXBTXSksdC50ZXhQYXJhbWV0ZXJpKG4sMTAyNDMsa1thLndyYXBUXSksMzI4NzkhPT1uJiYzNTg2NiE9PW58fHQudGV4UGFyYW1ldGVyaShuLDMyODgyLGtbYS53cmFwUl0pLHQudGV4UGFyYW1ldGVyaShuLDEwMjQwLFNbYS5tYWdGaWx0ZXJdKSx0LnRleFBhcmFtZXRlcmkobiwxMDI0MSxTW2EubWluRmlsdGVyXSkpOih0LnRleFBhcmFtZXRlcmkobiwxMDI0MiwzMzA3MSksdC50ZXhQYXJhbWV0ZXJpKG4sMTAyNDMsMzMwNzEpLDMyODc5IT09biYmMzU4NjYhPT1ufHx0LnRleFBhcmFtZXRlcmkobiwzMjg4MiwzMzA3MSksYS53cmFwUz09PVJydCYmYS53cmFwVD09PVJydHx8Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBUZXh0dXJlIGlzIG5vdCBwb3dlciBvZiB0d28uIFRleHR1cmUud3JhcFMgYW5kIFRleHR1cmUud3JhcFQgc2hvdWxkIGJlIHNldCB0byBUSFJFRS5DbGFtcFRvRWRnZVdyYXBwaW5nLiIpLHQudGV4UGFyYW1ldGVyaShuLDEwMjQwLE0oYS5tYWdGaWx0ZXIpKSx0LnRleFBhcmFtZXRlcmkobiwxMDI0MSxNKGEubWluRmlsdGVyKSksYS5taW5GaWx0ZXIhPT1BcnQmJmEubWluRmlsdGVyIT09VHJ0JiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgaXMgbm90IHBvd2VyIG9mIHR3by4gVGV4dHVyZS5taW5GaWx0ZXIgc2hvdWxkIGJlIHNldCB0byBUSFJFRS5OZWFyZXN0RmlsdGVyIG9yIFRIUkVFLkxpbmVhckZpbHRlci4iKSksITA9PT1lLmhhcygiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIikpe2NvbnN0IHI9ZS5nZXQoIkVYVF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyIpO2lmKGEudHlwZT09PUZydCYmITE9PT1lLmhhcygiT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIikpcmV0dXJuO2lmKCExPT09cyYmYS50eXBlPT09THJ0JiYhMT09PWUuaGFzKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xpbmVhciIpKXJldHVybjsoYS5hbmlzb3Ryb3B5PjF8fG8uZ2V0KGEpLl9fY3VycmVudEFuaXNvdHJvcHkpJiYodC50ZXhQYXJhbWV0ZXJmKG4sci5URVhUVVJFX01BWF9BTklTT1RST1BZX0VYVCxNYXRoLm1pbihhLmFuaXNvdHJvcHksaS5nZXRNYXhBbmlzb3Ryb3B5KCkpKSxvLmdldChhKS5fX2N1cnJlbnRBbmlzb3Ryb3B5PWEuYW5pc290cm9weSl9fWZ1bmN0aW9uIFIoZSxuKXt2b2lkIDA9PT1lLl9fd2ViZ2xJbml0JiYoZS5fX3dlYmdsSW5pdD0hMCxuLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHYpLGUuX193ZWJnbFRleHR1cmU9dC5jcmVhdGVUZXh0dXJlKCksci5tZW1vcnkudGV4dHVyZXMrKyl9ZnVuY3Rpb24gRShlLG8saSl7bGV0IHI9MzU1MztvLmlzRGF0YVRleHR1cmUyREFycmF5JiYocj0zNTg2Niksby5pc0RhdGFUZXh0dXJlM0QmJihyPTMyODc5KSxSKGUsbyksbi5hY3RpdmVUZXh0dXJlKDMzOTg0K2kpLG4uYmluZFRleHR1cmUocixlLl9fd2ViZ2xUZXh0dXJlKSx0LnBpeGVsU3RvcmVpKDM3NDQwLG8uZmxpcFkpLHQucGl4ZWxTdG9yZWkoMzc0NDEsby5wcmVtdWx0aXBseUFscGhhKSx0LnBpeGVsU3RvcmVpKDMzMTcsby51bnBhY2tBbGlnbm1lbnQpLHQucGl4ZWxTdG9yZWkoMzc0NDMsMCk7Y29uc3QgbD0oZnVuY3Rpb24gYyh0KXtyZXR1cm4hcyYmKHQud3JhcFMhPT1ScnR8fHQud3JhcFQhPT1ScnR8fHQubWluRmlsdGVyIT09QXJ0JiZ0Lm1pbkZpbHRlciE9PVRydCl9KShvKSYmITE9PT1iKG8uaW1hZ2UpLHA9aChvLmltYWdlLGwsITEsZCksbT1iKHApfHxzLGY9YS5jb252ZXJ0KG8uZm9ybWF0KTtsZXQgdSxnPWEuY29udmVydChvLnR5cGUpLE09QyhvLmludGVybmFsRm9ybWF0LGYsZyk7RChyLG8sbSk7Y29uc3Qgdj1vLm1pcG1hcHM7aWYoby5pc0RlcHRoVGV4dHVyZSlNPTY0MDIscz9NPW8udHlwZT09PUZydD8zNjAxMjpvLnR5cGU9PT1IcnQ/MzMxOTA6by50eXBlPT09QnJ0PzM1MDU2OjMzMTg5Om8udHlwZT09PUZydCYmY29uc29sZS5lcnJvcigiV2ViR0xSZW5kZXJlcjogRmxvYXRpbmcgcG9pbnQgZGVwdGggdGV4dHVyZSByZXF1aXJlcyBXZWJHTDIuIiksby5mb3JtYXQ9PT1VcnQmJjY0MDI9PT1NJiZvLnR5cGUhPT1JcnQmJm8udHlwZSE9PUhydCYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVXNlIFVuc2lnbmVkU2hvcnRUeXBlIG9yIFVuc2lnbmVkSW50VHlwZSBmb3IgRGVwdGhGb3JtYXQgRGVwdGhUZXh0dXJlLiIpLG8udHlwZT1JcnQsZz1hLmNvbnZlcnQoby50eXBlKSksby5mb3JtYXQ9PT1XcnQmJjY0MDI9PT1NJiYoTT0zNDA0MSxvLnR5cGUhPT1CcnQmJihjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFVzZSBVbnNpZ25lZEludDI0OFR5cGUgZm9yIERlcHRoU3RlbmNpbEZvcm1hdCBEZXB0aFRleHR1cmUuIiksby50eXBlPUJydCxnPWEuY29udmVydChvLnR5cGUpKSksbi50ZXhJbWFnZTJEKDM1NTMsMCxNLHAud2lkdGgscC5oZWlnaHQsMCxmLGcsbnVsbCk7ZWxzZSBpZihvLmlzRGF0YVRleHR1cmUpaWYodi5sZW5ndGg+MCYmbSl7Zm9yKGxldCB0PTAsZT12Lmxlbmd0aDt0PGU7dCsrKXU9dlt0XSxuLnRleEltYWdlMkQoMzU1Myx0LE0sdS53aWR0aCx1LmhlaWdodCwwLGYsZyx1LmRhdGEpO28uZ2VuZXJhdGVNaXBtYXBzPSExLGUuX19tYXhNaXBMZXZlbD12Lmxlbmd0aC0xfWVsc2Ugbi50ZXhJbWFnZTJEKDM1NTMsMCxNLHAud2lkdGgscC5oZWlnaHQsMCxmLGcscC5kYXRhKSxlLl9fbWF4TWlwTGV2ZWw9MDtlbHNlIGlmKG8uaXNDb21wcmVzc2VkVGV4dHVyZSl7Zm9yKGxldCB0PTAsZT12Lmxlbmd0aDt0PGU7dCsrKXU9dlt0XSxvLmZvcm1hdCE9PWpydCYmby5mb3JtYXQhPT1WcnQ/bnVsbCE9PWY/bi5jb21wcmVzc2VkVGV4SW1hZ2UyRCgzNTUzLHQsTSx1LndpZHRoLHUuaGVpZ2h0LDAsdS5kYXRhKTpjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IEF0dGVtcHQgdG8gbG9hZCB1bnN1cHBvcnRlZCBjb21wcmVzc2VkIHRleHR1cmUgZm9ybWF0IGluIC51cGxvYWRUZXh0dXJlKCkiKTpuLnRleEltYWdlMkQoMzU1Myx0LE0sdS53aWR0aCx1LmhlaWdodCwwLGYsZyx1LmRhdGEpO2UuX19tYXhNaXBMZXZlbD12Lmxlbmd0aC0xfWVsc2UgaWYoby5pc0RhdGFUZXh0dXJlMkRBcnJheSluLnRleEltYWdlM0QoMzU4NjYsMCxNLHAud2lkdGgscC5oZWlnaHQscC5kZXB0aCwwLGYsZyxwLmRhdGEpLGUuX19tYXhNaXBMZXZlbD0wO2Vsc2UgaWYoby5pc0RhdGFUZXh0dXJlM0Qpbi50ZXhJbWFnZTNEKDMyODc5LDAsTSxwLndpZHRoLHAuaGVpZ2h0LHAuZGVwdGgsMCxmLGcscC5kYXRhKSxlLl9fbWF4TWlwTGV2ZWw9MDtlbHNlIGlmKHYubGVuZ3RoPjAmJm0pe2ZvcihsZXQgdD0wLGU9di5sZW5ndGg7dDxlO3QrKyl1PXZbdF0sbi50ZXhJbWFnZTJEKDM1NTMsdCxNLGYsZyx1KTtvLmdlbmVyYXRlTWlwbWFwcz0hMSxlLl9fbWF4TWlwTGV2ZWw9di5sZW5ndGgtMX1lbHNlIG4udGV4SW1hZ2UyRCgzNTUzLDAsTSxmLGcscCksZS5fX21heE1pcExldmVsPTA7eShvLG0pJiZfKHIsbyxwLndpZHRoLHAuaGVpZ2h0KSxlLl9fdmVyc2lvbj1vLnZlcnNpb24sby5vblVwZGF0ZSYmby5vblVwZGF0ZShvKX1mdW5jdGlvbiBBKGUsaSxyLHMsbCl7Y29uc3QgYz1hLmNvbnZlcnQoci5mb3JtYXQpLGQ9YS5jb252ZXJ0KHIudHlwZSkscD1DKHIuaW50ZXJuYWxGb3JtYXQsYyxkKTszMjg3OT09PWx8fDM1ODY2PT09bD9uLnRleEltYWdlM0QobCwwLHAsaS53aWR0aCxpLmhlaWdodCxpLmRlcHRoLDAsYyxkLG51bGwpOm4udGV4SW1hZ2UyRChsLDAscCxpLndpZHRoLGkuaGVpZ2h0LDAsYyxkLG51bGwpLG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLGUpLHQuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAscyxsLG8uZ2V0KHIpLl9fd2ViZ2xUZXh0dXJlLDApLG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLG51bGwpfWZ1bmN0aW9uIFQoZSxuLG8pe2lmKHQuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxlKSxuLmRlcHRoQnVmZmVyJiYhbi5zdGVuY2lsQnVmZmVyKXtsZXQgaT0zMzE4OTtpZihvKXtjb25zdCBlPW4uZGVwdGhUZXh0dXJlO2UmJmUuaXNEZXB0aFRleHR1cmUmJihlLnR5cGU9PT1GcnQ/aT0zNjAxMjplLnR5cGU9PT1IcnQmJihpPTMzMTkwKSk7Y29uc3Qgbz16KG4pO3QucmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKDM2MTYxLG8saSxuLndpZHRoLG4uaGVpZ2h0KX1lbHNlIHQucmVuZGVyYnVmZmVyU3RvcmFnZSgzNjE2MSxpLG4ud2lkdGgsbi5oZWlnaHQpO3QuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoMzYxNjAsMzYwOTYsMzYxNjEsZSl9ZWxzZSBpZihuLmRlcHRoQnVmZmVyJiZuLnN0ZW5jaWxCdWZmZXIpe2lmKG8pe2NvbnN0IGU9eihuKTt0LnJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZSgzNjE2MSxlLDM1MDU2LG4ud2lkdGgsbi5oZWlnaHQpfWVsc2UgdC5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLDM0MDQxLG4ud2lkdGgsbi5oZWlnaHQpO3QuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoMzYxNjAsMzMzMDYsMzYxNjEsZSl9ZWxzZXtjb25zdCBlPSEwPT09bi5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzP24udGV4dHVyZVswXTpuLnRleHR1cmUsaT1hLmNvbnZlcnQoZS5mb3JtYXQpLHI9YS5jb252ZXJ0KGUudHlwZSkscz1DKGUuaW50ZXJuYWxGb3JtYXQsaSxyKTtpZihvKXtjb25zdCBlPXoobik7dC5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoMzYxNjEsZSxzLG4ud2lkdGgsbi5oZWlnaHQpfWVsc2UgdC5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLHMsbi53aWR0aCxuLmhlaWdodCl9dC5iaW5kUmVuZGVyYnVmZmVyKDM2MTYxLG51bGwpfWZ1bmN0aW9uIE4oZSl7Y29uc3QgaT1vLmdldChlKSxhPSEwPT09ZS5pc1dlYkdMQ3ViZVJlbmRlclRhcmdldDtpZihlLmRlcHRoVGV4dHVyZSl7aWYoYSl0aHJvdyBuZXcgRXJyb3IoInRhcmdldC5kZXB0aFRleHR1cmUgbm90IHN1cHBvcnRlZCBpbiBDdWJlIHJlbmRlciB0YXJnZXRzIik7IShmdW5jdGlvbiByKGUsaSl7aWYoaSYmaS5pc1dlYkdMQ3ViZVJlbmRlclRhcmdldCl0aHJvdyBuZXcgRXJyb3IoIkRlcHRoIFRleHR1cmUgd2l0aCBjdWJlIHJlbmRlciB0YXJnZXRzIGlzIG5vdCBzdXBwb3J0ZWQiKTtpZihuLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxlKSwhaS5kZXB0aFRleHR1cmV8fCFpLmRlcHRoVGV4dHVyZS5pc0RlcHRoVGV4dHVyZSl0aHJvdyBuZXcgRXJyb3IoInJlbmRlclRhcmdldC5kZXB0aFRleHR1cmUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBUSFJFRS5EZXB0aFRleHR1cmUiKTtvLmdldChpLmRlcHRoVGV4dHVyZSkuX193ZWJnbFRleHR1cmUmJmkuZGVwdGhUZXh0dXJlLmltYWdlLndpZHRoPT09aS53aWR0aCYmaS5kZXB0aFRleHR1cmUuaW1hZ2UuaGVpZ2h0PT09aS5oZWlnaHR8fChpLmRlcHRoVGV4dHVyZS5pbWFnZS53aWR0aD1pLndpZHRoLGkuZGVwdGhUZXh0dXJlLmltYWdlLmhlaWdodD1pLmhlaWdodCxpLmRlcHRoVGV4dHVyZS5uZWVkc1VwZGF0ZT0hMCksUChpLmRlcHRoVGV4dHVyZSwwKTtjb25zdCBhPW8uZ2V0KGkuZGVwdGhUZXh0dXJlKS5fX3dlYmdsVGV4dHVyZTtpZihpLmRlcHRoVGV4dHVyZS5mb3JtYXQ9PT1VcnQpdC5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCwzNjA5NiwzNTUzLGEsMCk7ZWxzZXtpZihpLmRlcHRoVGV4dHVyZS5mb3JtYXQhPT1XcnQpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIGRlcHRoVGV4dHVyZSBmb3JtYXQiKTt0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKDM2MTYwLDMzMzA2LDM1NTMsYSwwKX19KShpLl9fd2ViZ2xGcmFtZWJ1ZmZlcixlKX1lbHNlIGlmKGEpe2kuX193ZWJnbERlcHRoYnVmZmVyPVtdO2ZvcihsZXQgbz0wO288NjtvKyspbi5iaW5kRnJhbWVidWZmZXIoMzYxNjAsaS5fX3dlYmdsRnJhbWVidWZmZXJbb10pLGkuX193ZWJnbERlcHRoYnVmZmVyW29dPXQuY3JlYXRlUmVuZGVyYnVmZmVyKCksVChpLl9fd2ViZ2xEZXB0aGJ1ZmZlcltvXSxlLCExKX1lbHNlIG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLGkuX193ZWJnbEZyYW1lYnVmZmVyKSxpLl9fd2ViZ2xEZXB0aGJ1ZmZlcj10LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpLFQoaS5fX3dlYmdsRGVwdGhidWZmZXIsZSwhMSk7bi5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbnVsbCl9ZnVuY3Rpb24geih0KXtyZXR1cm4gcyYmdC5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQ/TWF0aC5taW4ocCx0LnNhbXBsZXMpOjB9bGV0IEk9ITEsSD0hMTt0aGlzLmFsbG9jYXRlVGV4dHVyZVVuaXQ9ZnVuY3Rpb24gRigpe2NvbnN0IHQ9TztyZXR1cm4gdD49bCYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFRleHR1cmVzOiBUcnlpbmcgdG8gdXNlICIrdCsiIHRleHR1cmUgdW5pdHMgd2hpbGUgdGhpcyBHUFUgc3VwcG9ydHMgb25seSAiK2wpLE8rPTEsdH0sdGhpcy5yZXNldFRleHR1cmVVbml0cz1mdW5jdGlvbiBMKCl7Tz0wfSx0aGlzLnNldFRleHR1cmUyRD1QLHRoaXMuc2V0VGV4dHVyZTJEQXJyYXk9ZnVuY3Rpb24gQih0LGUpe2NvbnN0IGk9by5nZXQodCk7dC52ZXJzaW9uPjAmJmkuX192ZXJzaW9uIT09dC52ZXJzaW9uP0UoaSx0LGUpOihuLmFjdGl2ZVRleHR1cmUoMzM5ODQrZSksbi5iaW5kVGV4dHVyZSgzNTg2NixpLl9fd2ViZ2xUZXh0dXJlKSl9LHRoaXMuc2V0VGV4dHVyZTNEPWZ1bmN0aW9uIFYodCxlKXtjb25zdCBpPW8uZ2V0KHQpO3QudmVyc2lvbj4wJiZpLl9fdmVyc2lvbiE9PXQudmVyc2lvbj9FKGksdCxlKToobi5hY3RpdmVUZXh0dXJlKDMzOTg0K2UpLG4uYmluZFRleHR1cmUoMzI4NzksaS5fX3dlYmdsVGV4dHVyZSkpfSx0aGlzLnNldFRleHR1cmVDdWJlPXcsdGhpcy5zZXR1cFJlbmRlclRhcmdldD1mdW5jdGlvbiBqKGUpe2NvbnN0IGw9ZS50ZXh0dXJlLGM9by5nZXQoZSksZD1vLmdldChsKTtlLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHgpLCEwIT09ZS5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzJiYoZC5fX3dlYmdsVGV4dHVyZT10LmNyZWF0ZVRleHR1cmUoKSxkLl9fdmVyc2lvbj1sLnZlcnNpb24sci5tZW1vcnkudGV4dHVyZXMrKyk7Y29uc3QgcD0hMD09PWUuaXNXZWJHTEN1YmVSZW5kZXJUYXJnZXQsbT0hMD09PWUuaXNXZWJHTE11bHRpcGxlUmVuZGVyVGFyZ2V0cyxmPSEwPT09ZS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQsdT1sLmlzRGF0YVRleHR1cmUzRHx8bC5pc0RhdGFUZXh0dXJlMkRBcnJheSxnPWIoZSl8fHM7aWYoIXN8fGwuZm9ybWF0IT09VnJ0fHxsLnR5cGUhPT1GcnQmJmwudHlwZSE9PUxydHx8KGwuZm9ybWF0PWpydCxjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFJlbmRlcmluZyB0byB0ZXh0dXJlcyB3aXRoIFJHQiBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZC4gVXNpbmcgUkdCQSBmb3JtYXQgaW5zdGVhZC4iKSkscCl7Yy5fX3dlYmdsRnJhbWVidWZmZXI9W107Zm9yKGxldCBlPTA7ZTw2O2UrKyljLl9fd2ViZ2xGcmFtZWJ1ZmZlcltlXT10LmNyZWF0ZUZyYW1lYnVmZmVyKCl9ZWxzZSBpZihjLl9fd2ViZ2xGcmFtZWJ1ZmZlcj10LmNyZWF0ZUZyYW1lYnVmZmVyKCksbSlpZihpLmRyYXdCdWZmZXJzKXtjb25zdCBuPWUudGV4dHVyZTtmb3IobGV0IGU9MCxpPW4ubGVuZ3RoO2U8aTtlKyspe2NvbnN0IGk9by5nZXQobltlXSk7dm9pZCAwPT09aS5fX3dlYmdsVGV4dHVyZSYmKGkuX193ZWJnbFRleHR1cmU9dC5jcmVhdGVUZXh0dXJlKCksci5tZW1vcnkudGV4dHVyZXMrKyl9fWVsc2UgY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBXZWJHTE11bHRpcGxlUmVuZGVyVGFyZ2V0cyBjYW4gb25seSBiZSB1c2VkIHdpdGggV2ViR0wyIG9yIFdFQkdMX2RyYXdfYnVmZmVycyBleHRlbnNpb24uIik7ZWxzZSBpZihmKWlmKHMpe2MuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyPXQuY3JlYXRlRnJhbWVidWZmZXIoKSxjLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlcj10LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpLHQuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxjLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlcik7Y29uc3Qgbz1hLmNvbnZlcnQobC5mb3JtYXQpLGk9YS5jb252ZXJ0KGwudHlwZSkscj1DKGwuaW50ZXJuYWxGb3JtYXQsbyxpKSxzPXooZSk7dC5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoMzYxNjEscyxyLGUud2lkdGgsZS5oZWlnaHQpLG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLGMuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyKSx0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKDM2MTYwLDM2MDY0LDM2MTYxLGMuX193ZWJnbENvbG9yUmVuZGVyYnVmZmVyKSx0LmJpbmRSZW5kZXJidWZmZXIoMzYxNjEsbnVsbCksZS5kZXB0aEJ1ZmZlciYmKGMuX193ZWJnbERlcHRoUmVuZGVyYnVmZmVyPXQuY3JlYXRlUmVuZGVyYnVmZmVyKCksVChjLl9fd2ViZ2xEZXB0aFJlbmRlcmJ1ZmZlcixlLCEwKSksbi5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbnVsbCl9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFdlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIFdlYkdMMi4iKTtpZihwKXtuLmJpbmRUZXh0dXJlKDM0MDY3LGQuX193ZWJnbFRleHR1cmUpLEQoMzQwNjcsbCxnKTtmb3IobGV0IHQ9MDt0PDY7dCsrKUEoYy5fX3dlYmdsRnJhbWVidWZmZXJbdF0sZSxsLDM2MDY0LDM0MDY5K3QpO3kobCxnKSYmXygzNDA2NyxsLGUud2lkdGgsZS5oZWlnaHQpLG4uYmluZFRleHR1cmUoMzQwNjcsbnVsbCl9ZWxzZSBpZihtKXtjb25zdCB0PWUudGV4dHVyZTtmb3IobGV0IGk9MCxhPXQubGVuZ3RoO2k8YTtpKyspe2NvbnN0IGE9dFtpXSxyPW8uZ2V0KGEpO24uYmluZFRleHR1cmUoMzU1MyxyLl9fd2ViZ2xUZXh0dXJlKSxEKDM1NTMsYSxnKSxBKGMuX193ZWJnbEZyYW1lYnVmZmVyLGUsYSwzNjA2NCtpLDM1NTMpLHkoYSxnKSYmXygzNTUzLGEsZS53aWR0aCxlLmhlaWdodCl9bi5iaW5kVGV4dHVyZSgzNTUzLG51bGwpfWVsc2V7bGV0IHQ9MzU1MztpZih1KWlmKHMpe3Q9bC5pc0RhdGFUZXh0dXJlM0Q/MzI4Nzk6MzU4NjZ9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLkRhdGFUZXh0dXJlM0QgYW5kIFRIUkVFLkRhdGFUZXh0dXJlMkRBcnJheSBvbmx5IHN1cHBvcnRlZCB3aXRoIFdlYkdMMi4iKTtuLmJpbmRUZXh0dXJlKHQsZC5fX3dlYmdsVGV4dHVyZSksRCh0LGwsZyksQShjLl9fd2ViZ2xGcmFtZWJ1ZmZlcixlLGwsMzYwNjQsdCkseShsLGcpJiZfKHQsbCxlLndpZHRoLGUuaGVpZ2h0LGUuZGVwdGgpLG4uYmluZFRleHR1cmUodCxudWxsKX1lLmRlcHRoQnVmZmVyJiZOKGUpfSx0aGlzLnVwZGF0ZVJlbmRlclRhcmdldE1pcG1hcD1mdW5jdGlvbiBVKHQpe2NvbnN0IGU9Yih0KXx8cyxpPSEwPT09dC5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzP3QudGV4dHVyZTpbdC50ZXh0dXJlXTtmb3IobGV0IGE9MCxyPWkubGVuZ3RoO2E8cjthKyspe2NvbnN0IHI9aVthXTtpZih5KHIsZSkpe2NvbnN0IGU9dC5pc1dlYkdMQ3ViZVJlbmRlclRhcmdldD8zNDA2NzozNTUzLGk9by5nZXQocikuX193ZWJnbFRleHR1cmU7bi5iaW5kVGV4dHVyZShlLGkpLF8oZSxyLHQud2lkdGgsdC5oZWlnaHQpLG4uYmluZFRleHR1cmUoZSxudWxsKX19fSx0aGlzLnVwZGF0ZU11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0PWZ1bmN0aW9uIFcoZSl7aWYoZS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQpaWYocyl7Y29uc3QgaT1lLndpZHRoLGE9ZS5oZWlnaHQ7bGV0IHI9MTYzODQ7ZS5kZXB0aEJ1ZmZlciYmKHJ8PTI1NiksZS5zdGVuY2lsQnVmZmVyJiYocnw9MTAyNCk7Y29uc3Qgcz1vLmdldChlKTtuLmJpbmRGcmFtZWJ1ZmZlcigzNjAwOCxzLl9fd2ViZ2xNdWx0aXNhbXBsZWRGcmFtZWJ1ZmZlciksbi5iaW5kRnJhbWVidWZmZXIoMzYwMDkscy5fX3dlYmdsRnJhbWVidWZmZXIpLHQuYmxpdEZyYW1lYnVmZmVyKDAsMCxpLGEsMCwwLGksYSxyLDk3MjgpLG4uYmluZEZyYW1lYnVmZmVyKDM2MDA4LG51bGwpLG4uYmluZEZyYW1lYnVmZmVyKDM2MDA5LHMuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyKX1lbHNlIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogV2ViR0xNdWx0aXNhbXBsZVJlbmRlclRhcmdldCBjYW4gb25seSBiZSB1c2VkIHdpdGggV2ViR0wyLiIpfSx0aGlzLnNhZmVTZXRUZXh0dXJlMkQ9ZnVuY3Rpb24gRyh0LGUpe3QmJnQuaXNXZWJHTFJlbmRlclRhcmdldCYmKCExPT09SSYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xUZXh0dXJlcy5zYWZlU2V0VGV4dHVyZTJEOiBkb24ndCB1c2UgcmVuZGVyIHRhcmdldHMgYXMgdGV4dHVyZXMuIFVzZSB0aGVpciAudGV4dHVyZSBwcm9wZXJ0eSBpbnN0ZWFkLiIpLEk9ITApLHQ9dC50ZXh0dXJlKSxQKHQsZSl9LHRoaXMuc2FmZVNldFRleHR1cmVDdWJlPWZ1bmN0aW9uIFkodCxlKXt0JiZ0LmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0JiYoITE9PT1IJiYoY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFRleHR1cmVzLnNhZmVTZXRUZXh0dXJlQ3ViZTogZG9uJ3QgdXNlIGN1YmUgcmVuZGVyIHRhcmdldHMgYXMgdGV4dHVyZXMuIFVzZSB0aGVpciAudGV4dHVyZSBwcm9wZXJ0eSBpbnN0ZWFkLiIpLEg9ITApLHQ9dC50ZXh0dXJlKSx3KHQsZSl9fWZ1bmN0aW9uIFJtdCh0LGUsbil7Y29uc3Qgbz1uLmlzV2ViR0wyO3JldHVybntjb252ZXJ0OmZ1bmN0aW9uIGkodCl7bGV0IG47aWYodD09PXpydClyZXR1cm4gNTEyMTtpZigxMDE3PT09dClyZXR1cm4gMzI4MTk7aWYoMTAxOD09PXQpcmV0dXJuIDMyODIwO2lmKDEwMTk9PT10KXJldHVybiAzMzYzNTtpZigxMDEwPT09dClyZXR1cm4gNTEyMDtpZigxMDExPT09dClyZXR1cm4gNTEyMjtpZih0PT09SXJ0KXJldHVybiA1MTIzO2lmKDEwMTM9PT10KXJldHVybiA1MTI0O2lmKHQ9PT1IcnQpcmV0dXJuIDUxMjU7aWYodD09PUZydClyZXR1cm4gNTEyNjtpZih0PT09THJ0KXJldHVybiBvPzUxMzE6KG49ZS5nZXQoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSxudWxsIT09bj9uLkhBTEZfRkxPQVRfT0VTOm51bGwpO2lmKDEwMjE9PT10KXJldHVybiA2NDA2O2lmKHQ9PT1WcnQpcmV0dXJuIDY0MDc7aWYodD09PWpydClyZXR1cm4gNjQwODtpZigxMDI0PT09dClyZXR1cm4gNjQwOTtpZigxMDI1PT09dClyZXR1cm4gNjQxMDtpZih0PT09VXJ0KXJldHVybiA2NDAyO2lmKHQ9PT1XcnQpcmV0dXJuIDM0MDQxO2lmKDEwMjg9PT10KXJldHVybiA2NDAzO2lmKDEwMjk9PT10KXJldHVybiAzNjI0NDtpZigxMDMwPT09dClyZXR1cm4gMzMzMTk7aWYoMTAzMT09PXQpcmV0dXJuIDMzMzIwO2lmKDEwMzI9PT10KXJldHVybiAzNjI0ODtpZigxMDMzPT09dClyZXR1cm4gMzYyNDk7aWYoMzM3NzY9PT10fHwzMzc3Nz09PXR8fDMzNzc4PT09dHx8MzM3Nzk9PT10KXtpZihuPWUuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyIpLG51bGw9PT1uKXJldHVybiBudWxsO2lmKDMzNzc2PT09dClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQl9TM1RDX0RYVDFfRVhUO2lmKDMzNzc3PT09dClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVDtpZigzMzc3OD09PXQpcmV0dXJuIG4uQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUM19FWFQ7aWYoMzM3Nzk9PT10KXJldHVybiBuLkNPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDVfRVhUfWlmKDM1ODQwPT09dHx8MzU4NDE9PT10fHwzNTg0Mj09PXR8fDM1ODQzPT09dCl7aWYobj1lLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIiksbnVsbD09PW4pcmV0dXJuIG51bGw7aWYoMzU4NDA9PT10KXJldHVybiBuLkNPTVBSRVNTRURfUkdCX1BWUlRDXzRCUFBWMV9JTUc7aWYoMzU4NDE9PT10KXJldHVybiBuLkNPTVBSRVNTRURfUkdCX1BWUlRDXzJCUFBWMV9JTUc7aWYoMzU4NDI9PT10KXJldHVybiBuLkNPTVBSRVNTRURfUkdCQV9QVlJUQ180QlBQVjFfSU1HO2lmKDM1ODQzPT09dClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQkFfUFZSVENfMkJQUFYxX0lNR31pZigzNjE5Nj09PXQpcmV0dXJuIG49ZS5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9ldGMxIiksbnVsbCE9PW4/bi5DT01QUkVTU0VEX1JHQl9FVEMxX1dFQkdMOm51bGw7aWYoKDM3NDkyPT09dHx8Mzc0OTY9PT10KSYmKG49ZS5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9ldGMiKSxudWxsIT09bikpe2lmKDM3NDkyPT09dClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQjhfRVRDMjtpZigzNzQ5Nj09PXQpcmV0dXJuIG4uQ09NUFJFU1NFRF9SR0JBOF9FVEMyX0VBQ31yZXR1cm4gMzc4MDg9PT10fHwzNzgwOT09PXR8fDM3ODEwPT09dHx8Mzc4MTE9PT10fHwzNzgxMj09PXR8fDM3ODEzPT09dHx8Mzc4MTQ9PT10fHwzNzgxNT09PXR8fDM3ODE2PT09dHx8Mzc4MTc9PT10fHwzNzgxOD09PXR8fDM3ODE5PT09dHx8Mzc4MjA9PT10fHwzNzgyMT09PXR8fDM3ODQwPT09dHx8Mzc4NDE9PT10fHwzNzg0Mj09PXR8fDM3ODQzPT09dHx8Mzc4NDQ9PT10fHwzNzg0NT09PXR8fDM3ODQ2PT09dHx8Mzc4NDc9PT10fHwzNzg0OD09PXR8fDM3ODQ5PT09dHx8Mzc4NTA9PT10fHwzNzg1MT09PXR8fDM3ODUyPT09dHx8Mzc4NTM9PT10PyhuPWUuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXN0YyIpLG51bGwhPT1uP3Q6bnVsbCk6MzY0OTI9PT10PyhuPWUuZ2V0KCJFWFRfdGV4dHVyZV9jb21wcmVzc2lvbl9icHRjIiksbnVsbCE9PW4/dDpudWxsKTp0PT09QnJ0P28/MzQwNDI6KG49ZS5nZXQoIldFQkdMX2RlcHRoX3RleHR1cmUiKSxudWxsIT09bj9uLlVOU0lHTkVEX0lOVF8yNF84X1dFQkdMOm51bGwpOnZvaWQgMH19fWNsYXNzIEVtdCBleHRlbmRzIEljdHtjb25zdHJ1Y3Rvcih0PVtdKXtzdXBlcigpLHRoaXMuY2FtZXJhcz10fX1FbXQucHJvdG90eXBlLmlzQXJyYXlDYW1lcmE9ITA7Y2xhc3MgQW10IGV4dGVuZHMgU2x0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLnR5cGU9Ikdyb3VwIn19QW10LnByb3RvdHlwZS5pc0dyb3VwPSEwO2NvbnN0IFRtdD17dHlwZToibW92ZSJ9O2NsYXNzIE5tdHtjb25zdHJ1Y3Rvcigpe3RoaXMuX3RhcmdldFJheT1udWxsLHRoaXMuX2dyaXA9bnVsbCx0aGlzLl9oYW5kPW51bGx9Z2V0SGFuZFNwYWNlKCl7cmV0dXJuIG51bGw9PT10aGlzLl9oYW5kJiYodGhpcy5faGFuZD1uZXcgQW10LHRoaXMuX2hhbmQubWF0cml4QXV0b1VwZGF0ZT0hMSx0aGlzLl9oYW5kLnZpc2libGU9ITEsdGhpcy5faGFuZC5qb2ludHM9e30sdGhpcy5faGFuZC5pbnB1dFN0YXRlPXtwaW5jaGluZzohMX0pLHRoaXMuX2hhbmR9Z2V0VGFyZ2V0UmF5U3BhY2UoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3RhcmdldFJheSYmKHRoaXMuX3RhcmdldFJheT1uZXcgQW10LHRoaXMuX3RhcmdldFJheS5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuX3RhcmdldFJheS52aXNpYmxlPSExLHRoaXMuX3RhcmdldFJheS5oYXNMaW5lYXJWZWxvY2l0eT0hMSx0aGlzLl90YXJnZXRSYXkubGluZWFyVmVsb2NpdHk9bmV3IHdzdCx0aGlzLl90YXJnZXRSYXkuaGFzQW5ndWxhclZlbG9jaXR5PSExLHRoaXMuX3RhcmdldFJheS5hbmd1bGFyVmVsb2NpdHk9bmV3IHdzdCksdGhpcy5fdGFyZ2V0UmF5fWdldEdyaXBTcGFjZSgpe3JldHVybiBudWxsPT09dGhpcy5fZ3JpcCYmKHRoaXMuX2dyaXA9bmV3IEFtdCx0aGlzLl9ncmlwLm1hdHJpeEF1dG9VcGRhdGU9ITEsdGhpcy5fZ3JpcC52aXNpYmxlPSExLHRoaXMuX2dyaXAuaGFzTGluZWFyVmVsb2NpdHk9ITEsdGhpcy5fZ3JpcC5saW5lYXJWZWxvY2l0eT1uZXcgd3N0LHRoaXMuX2dyaXAuaGFzQW5ndWxhclZlbG9jaXR5PSExLHRoaXMuX2dyaXAuYW5ndWxhclZlbG9jaXR5PW5ldyB3c3QpLHRoaXMuX2dyaXB9ZGlzcGF0Y2hFdmVudCh0KXtyZXR1cm4gbnVsbCE9PXRoaXMuX3RhcmdldFJheSYmdGhpcy5fdGFyZ2V0UmF5LmRpc3BhdGNoRXZlbnQodCksbnVsbCE9PXRoaXMuX2dyaXAmJnRoaXMuX2dyaXAuZGlzcGF0Y2hFdmVudCh0KSxudWxsIT09dGhpcy5faGFuZCYmdGhpcy5faGFuZC5kaXNwYXRjaEV2ZW50KHQpLHRoaXN9ZGlzY29ubmVjdCh0KXtyZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNjb25uZWN0ZWQiLGRhdGE6dH0pLG51bGwhPT10aGlzLl90YXJnZXRSYXkmJih0aGlzLl90YXJnZXRSYXkudmlzaWJsZT0hMSksbnVsbCE9PXRoaXMuX2dyaXAmJih0aGlzLl9ncmlwLnZpc2libGU9ITEpLG51bGwhPT10aGlzLl9oYW5kJiYodGhpcy5faGFuZC52aXNpYmxlPSExKSx0aGlzfXVwZGF0ZSh0LGUsbil7bGV0IG89bnVsbCxpPW51bGwsYT1udWxsO2NvbnN0IHI9dGhpcy5fdGFyZ2V0UmF5LHM9dGhpcy5fZ3JpcCxsPXRoaXMuX2hhbmQ7aWYodCYmInZpc2libGUtYmx1cnJlZCIhPT1lLnNlc3Npb24udmlzaWJpbGl0eVN0YXRlKWlmKG51bGwhPT1yJiYobz1lLmdldFBvc2UodC50YXJnZXRSYXlTcGFjZSxuKSxudWxsIT09byYmKHIubWF0cml4LmZyb21BcnJheShvLnRyYW5zZm9ybS5tYXRyaXgpLHIubWF0cml4LmRlY29tcG9zZShyLnBvc2l0aW9uLHIucm90YXRpb24sci5zY2FsZSksby5saW5lYXJWZWxvY2l0eT8oci5oYXNMaW5lYXJWZWxvY2l0eT0hMCxyLmxpbmVhclZlbG9jaXR5LmNvcHkoby5saW5lYXJWZWxvY2l0eSkpOnIuaGFzTGluZWFyVmVsb2NpdHk9ITEsby5hbmd1bGFyVmVsb2NpdHk/KHIuaGFzQW5ndWxhclZlbG9jaXR5PSEwLHIuYW5ndWxhclZlbG9jaXR5LmNvcHkoby5hbmd1bGFyVmVsb2NpdHkpKTpyLmhhc0FuZ3VsYXJWZWxvY2l0eT0hMSx0aGlzLmRpc3BhdGNoRXZlbnQoVG10KSkpLGwmJnQuaGFuZCl7YT0hMDtmb3IoY29uc3QgbyBvZiB0LmhhbmQudmFsdWVzKCkpe2NvbnN0IHQ9ZS5nZXRKb2ludFBvc2UobyxuKTtpZih2b2lkIDA9PT1sLmpvaW50c1tvLmpvaW50TmFtZV0pe2NvbnN0IHQ9bmV3IEFtdDt0Lm1hdHJpeEF1dG9VcGRhdGU9ITEsdC52aXNpYmxlPSExLGwuam9pbnRzW28uam9pbnROYW1lXT10LGwuYWRkKHQpfWNvbnN0IGk9bC5qb2ludHNbby5qb2ludE5hbWVdO251bGwhPT10JiYoaS5tYXRyaXguZnJvbUFycmF5KHQudHJhbnNmb3JtLm1hdHJpeCksaS5tYXRyaXguZGVjb21wb3NlKGkucG9zaXRpb24saS5yb3RhdGlvbixpLnNjYWxlKSxpLmpvaW50UmFkaXVzPXQucmFkaXVzKSxpLnZpc2libGU9bnVsbCE9PXR9Y29uc3Qgbz1sLmpvaW50c1siaW5kZXgtZmluZ2VyLXRpcCJdLnBvc2l0aW9uLmRpc3RhbmNlVG8obC5qb2ludHNbInRodW1iLXRpcCJdLnBvc2l0aW9uKSxpPS4wMixyPS4wMDU7bC5pbnB1dFN0YXRlLnBpbmNoaW5nJiZvPmkrcj8obC5pbnB1dFN0YXRlLnBpbmNoaW5nPSExLHRoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToicGluY2hlbmQiLGhhbmRlZG5lc3M6dC5oYW5kZWRuZXNzLHRhcmdldDp0aGlzfSkpOiFsLmlucHV0U3RhdGUucGluY2hpbmcmJm88PWktciYmKGwuaW5wdXRTdGF0ZS5waW5jaGluZz0hMCx0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6InBpbmNoc3RhcnQiLGhhbmRlZG5lc3M6dC5oYW5kZWRuZXNzLHRhcmdldDp0aGlzfSkpfWVsc2UgbnVsbCE9PXMmJnQuZ3JpcFNwYWNlJiYoaT1lLmdldFBvc2UodC5ncmlwU3BhY2UsbiksbnVsbCE9PWkmJihzLm1hdHJpeC5mcm9tQXJyYXkoaS50cmFuc2Zvcm0ubWF0cml4KSxzLm1hdHJpeC5kZWNvbXBvc2Uocy5wb3NpdGlvbixzLnJvdGF0aW9uLHMuc2NhbGUpLGkubGluZWFyVmVsb2NpdHk/KHMuaGFzTGluZWFyVmVsb2NpdHk9ITAscy5saW5lYXJWZWxvY2l0eS5jb3B5KGkubGluZWFyVmVsb2NpdHkpKTpzLmhhc0xpbmVhclZlbG9jaXR5PSExLGkuYW5ndWxhclZlbG9jaXR5PyhzLmhhc0FuZ3VsYXJWZWxvY2l0eT0hMCxzLmFuZ3VsYXJWZWxvY2l0eS5jb3B5KGkuYW5ndWxhclZlbG9jaXR5KSk6cy5oYXNBbmd1bGFyVmVsb2NpdHk9ITEpKTtyZXR1cm4gbnVsbCE9PXImJihyLnZpc2libGU9bnVsbCE9PW8pLG51bGwhPT1zJiYocy52aXNpYmxlPW51bGwhPT1pKSxudWxsIT09bCYmKGwudmlzaWJsZT1udWxsIT09YSksdGhpc319Y2xhc3Mgem10IGV4dGVuZHMgcnN0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKTtjb25zdCBuPXRoaXMsbz10LnN0YXRlO2xldCBpPW51bGwsYT0xLHI9bnVsbCxzPSJsb2NhbC1mbG9vciIsbD1udWxsLGM9bnVsbCxkPW51bGwscD1udWxsLG09bnVsbDtjb25zdCBmPVtdLHU9bmV3IE1hcCxnPW5ldyBJY3Q7Zy5sYXllcnMuZW5hYmxlKDEpLGcudmlld3BvcnQ9bmV3IHZzdDtjb25zdCBoPW5ldyBJY3Q7aC5sYXllcnMuZW5hYmxlKDIpLGgudmlld3BvcnQ9bmV3IHZzdDtjb25zdCBiPVtnLGhdLHk9bmV3IEVtdDt5LmxheWVycy5lbmFibGUoMSkseS5sYXllcnMuZW5hYmxlKDIpO2xldCBfPW51bGwsQz1udWxsO2Z1bmN0aW9uIE0odCl7Y29uc3QgZT11LmdldCh0LmlucHV0U291cmNlKTtlJiZlLmRpc3BhdGNoRXZlbnQoe3R5cGU6dC50eXBlLGRhdGE6dC5pbnB1dFNvdXJjZX0pfWZ1bmN0aW9uIHYoKXt1LmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7dC5kaXNjb25uZWN0KGUpfSkpLHUuY2xlYXIoKSxfPW51bGwsQz1udWxsLG8uYmluZFhSRnJhbWVidWZmZXIobnVsbCksdC5zZXRSZW5kZXJUYXJnZXQodC5nZXRSZW5kZXJUYXJnZXQoKSksUy5zdG9wKCksbi5pc1ByZXNlbnRpbmc9ITEsbi5kaXNwYXRjaEV2ZW50KHt0eXBlOiJzZXNzaW9uZW5kIn0pfWZ1bmN0aW9uIHgodCl7Y29uc3QgZT1pLmlucHV0U291cmNlcztmb3IobGV0IHQ9MDt0PGYubGVuZ3RoO3QrKyl1LnNldChlW3RdLGZbdF0pO2ZvcihsZXQgZT0wO2U8dC5yZW1vdmVkLmxlbmd0aDtlKyspe2NvbnN0IG49dC5yZW1vdmVkW2VdLG89dS5nZXQobik7byYmKG8uZGlzcGF0Y2hFdmVudCh7dHlwZToiZGlzY29ubmVjdGVkIixkYXRhOm59KSx1LmRlbGV0ZShuKSl9Zm9yKGxldCBlPTA7ZTx0LmFkZGVkLmxlbmd0aDtlKyspe2NvbnN0IG49dC5hZGRlZFtlXSxvPXUuZ2V0KG4pO28mJm8uZGlzcGF0Y2hFdmVudCh7dHlwZToiY29ubmVjdGVkIixkYXRhOm59KX19dGhpcy5jYW1lcmFBdXRvVXBkYXRlPSEwLHRoaXMuZW5hYmxlZD0hMSx0aGlzLmlzUHJlc2VudGluZz0hMSx0aGlzLmdldENvbnRyb2xsZXI9ZnVuY3Rpb24odCl7bGV0IGU9Zlt0XTtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9bmV3IE5tdCxmW3RdPWUpLGUuZ2V0VGFyZ2V0UmF5U3BhY2UoKX0sdGhpcy5nZXRDb250cm9sbGVyR3JpcD1mdW5jdGlvbih0KXtsZXQgZT1mW3RdO3JldHVybiB2b2lkIDA9PT1lJiYoZT1uZXcgTm10LGZbdF09ZSksZS5nZXRHcmlwU3BhY2UoKX0sdGhpcy5nZXRIYW5kPWZ1bmN0aW9uKHQpe2xldCBlPWZbdF07cmV0dXJuIHZvaWQgMD09PWUmJihlPW5ldyBObXQsZlt0XT1lKSxlLmdldEhhbmRTcGFjZSgpfSx0aGlzLnNldEZyYW1lYnVmZmVyU2NhbGVGYWN0b3I9ZnVuY3Rpb24odCl7YT10LCEwPT09bi5pc1ByZXNlbnRpbmcmJmNvbnNvbGUud2FybigiVEhSRUUuV2ViWFJNYW5hZ2VyOiBDYW5ub3QgY2hhbmdlIGZyYW1lYnVmZmVyIHNjYWxlIHdoaWxlIHByZXNlbnRpbmcuIil9LHRoaXMuc2V0UmVmZXJlbmNlU3BhY2VUeXBlPWZ1bmN0aW9uKHQpe3M9dCwhMD09PW4uaXNQcmVzZW50aW5nJiZjb25zb2xlLndhcm4oIlRIUkVFLldlYlhSTWFuYWdlcjogQ2Fubm90IGNoYW5nZSByZWZlcmVuY2Ugc3BhY2UgdHlwZSB3aGlsZSBwcmVzZW50aW5nLiIpfSx0aGlzLmdldFJlZmVyZW5jZVNwYWNlPWZ1bmN0aW9uKCl7cmV0dXJuIHJ9LHRoaXMuZ2V0U2Vzc2lvbj1mdW5jdGlvbigpe3JldHVybiBpfSx0aGlzLnNldFNlc3Npb249YXN5bmMgZnVuY3Rpb24odCl7aWYoaT10LG51bGwhPT1pKXtpLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdCIsTSksaS5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RzdGFydCIsTSksaS5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlbmQiLE0pLGkuYWRkRXZlbnRMaXN0ZW5lcigic3F1ZWV6ZSIsTSksaS5hZGRFdmVudExpc3RlbmVyKCJzcXVlZXplc3RhcnQiLE0pLGkuYWRkRXZlbnRMaXN0ZW5lcigic3F1ZWV6ZWVuZCIsTSksaS5hZGRFdmVudExpc3RlbmVyKCJlbmQiLHYpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXRzb3VyY2VzY2hhbmdlIix4KTtjb25zdCB0PWUuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKTtpZighMCE9PXQueHJDb21wYXRpYmxlJiZhd2FpdCBlLm1ha2VYUkNvbXBhdGlibGUoKSx2b2lkIDA9PT1pLnJlbmRlclN0YXRlLmxheWVycyl7bT1uZXcgWFJXZWJHTExheWVyKGksZSx7YW50aWFsaWFzOnQuYW50aWFsaWFzLGFscGhhOnQuYWxwaGEsZGVwdGg6dC5kZXB0aCxzdGVuY2lsOnQuc3RlbmNpbCxmcmFtZWJ1ZmZlclNjYWxlRmFjdG9yOmF9KSxpLnVwZGF0ZVJlbmRlclN0YXRlKHtiYXNlTGF5ZXI6bX0pfWVsc2V7bGV0IG49MDtpZih0LmFudGlhbGlhcyl7bT1uZXcgWFJXZWJHTExheWVyKGksZSx7YW50aWFsaWFzOiEwLGFscGhhOnQuYWxwaGEsZGVwdGg6dC5kZXB0aCxzdGVuY2lsOnQuc3RlbmNpbCxmcmFtZWJ1ZmZlclNjYWxlRmFjdG9yOmF9KSxpLnVwZGF0ZVJlbmRlclN0YXRlKHtsYXllcnM6W21dfSl9ZWxzZXt0LmRlcHRoJiYobj10LnN0ZW5jaWw/MzQwNDE6NjQwMik7Y29uc3Qgbz17Y29sb3JGb3JtYXQ6dC5hbHBoYT82NDA4OjY0MDcsZGVwdGhGb3JtYXQ6bixzY2FsZUZhY3RvcjphfTtjPW5ldyBYUldlYkdMQmluZGluZyhpLGUpLHA9Yy5jcmVhdGVQcm9qZWN0aW9uTGF5ZXIobyksZD1lLmNyZWF0ZUZyYW1lYnVmZmVyKCksaS51cGRhdGVSZW5kZXJTdGF0ZSh7bGF5ZXJzOltwXX0pfX1yPWF3YWl0IGkucmVxdWVzdFJlZmVyZW5jZVNwYWNlKHMpLFMuc2V0Q29udGV4dChpKSxTLnN0YXJ0KCksbi5pc1ByZXNlbnRpbmc9ITAsbi5kaXNwYXRjaEV2ZW50KHt0eXBlOiJzZXNzaW9uc3RhcnQifSl9fTtjb25zdCBPPW5ldyB3c3QsUD1uZXcgd3N0O2Z1bmN0aW9uIHcodCxlKXtudWxsPT09ZT90Lm1hdHJpeFdvcmxkLmNvcHkodC5tYXRyaXgpOnQubWF0cml4V29ybGQubXVsdGlwbHlNYXRyaWNlcyhlLm1hdHJpeFdvcmxkLHQubWF0cml4KSx0Lm1hdHJpeFdvcmxkSW52ZXJzZS5jb3B5KHQubWF0cml4V29ybGQpLmludmVydCgpfXRoaXMudXBkYXRlQ2FtZXJhPWZ1bmN0aW9uKHQpe2lmKG51bGw9PT1pKXJldHVybjt5Lm5lYXI9aC5uZWFyPWcubmVhcj10Lm5lYXIseS5mYXI9aC5mYXI9Zy5mYXI9dC5mYXIsXz09PXkubmVhciYmQz09PXkuZmFyfHwoaS51cGRhdGVSZW5kZXJTdGF0ZSh7ZGVwdGhOZWFyOnkubmVhcixkZXB0aEZhcjp5LmZhcn0pLF89eS5uZWFyLEM9eS5mYXIpO2NvbnN0IGU9dC5wYXJlbnQsbj15LmNhbWVyYXM7dyh5LGUpO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXcoblt0XSxlKTt5Lm1hdHJpeFdvcmxkLmRlY29tcG9zZSh5LnBvc2l0aW9uLHkucXVhdGVybmlvbix5LnNjYWxlKSx0LnBvc2l0aW9uLmNvcHkoeS5wb3NpdGlvbiksdC5xdWF0ZXJuaW9uLmNvcHkoeS5xdWF0ZXJuaW9uKSx0LnNjYWxlLmNvcHkoeS5zY2FsZSksdC5tYXRyaXguY29weSh5Lm1hdHJpeCksdC5tYXRyaXhXb3JsZC5jb3B5KHkubWF0cml4V29ybGQpO2NvbnN0IG89dC5jaGlsZHJlbjtmb3IobGV0IHQ9MCxlPW8ubGVuZ3RoO3Q8ZTt0Kyspb1t0XS51cGRhdGVNYXRyaXhXb3JsZCghMCk7Mj09PW4ubGVuZ3RoPyhmdW5jdGlvbiBhKHQsZSxuKXtPLnNldEZyb21NYXRyaXhQb3NpdGlvbihlLm1hdHJpeFdvcmxkKSxQLnNldEZyb21NYXRyaXhQb3NpdGlvbihuLm1hdHJpeFdvcmxkKTtjb25zdCBvPU8uZGlzdGFuY2VUbyhQKSxpPWUucHJvamVjdGlvbk1hdHJpeC5lbGVtZW50cyxhPW4ucHJvamVjdGlvbk1hdHJpeC5lbGVtZW50cyxyPWlbMTRdLyhpWzEwXS0xKSxzPWlbMTRdLyhpWzEwXSsxKSxsPShpWzldKzEpL2lbNV0sYz0oaVs5XS0xKS9pWzVdLGQ9KGlbOF0tMSkvaVswXSxwPShhWzhdKzEpL2FbMF0sbT1yKmQsZj1yKnAsdT1vLygtZCtwKSxnPXUqLWQ7ZS5tYXRyaXhXb3JsZC5kZWNvbXBvc2UodC5wb3NpdGlvbix0LnF1YXRlcm5pb24sdC5zY2FsZSksdC50cmFuc2xhdGVYKGcpLHQudHJhbnNsYXRlWih1KSx0Lm1hdHJpeFdvcmxkLmNvbXBvc2UodC5wb3NpdGlvbix0LnF1YXRlcm5pb24sdC5zY2FsZSksdC5tYXRyaXhXb3JsZEludmVyc2UuY29weSh0Lm1hdHJpeFdvcmxkKS5pbnZlcnQoKTtjb25zdCBoPXIrdSxiPXMrdTt0LnByb2plY3Rpb25NYXRyaXgubWFrZVBlcnNwZWN0aXZlKG0tZyxmKyhvLWcpLGwqcy9iKmgsYypzL2IqaCxoLGIpfSkoeSxnLGgpOnkucHJvamVjdGlvbk1hdHJpeC5jb3B5KGcucHJvamVjdGlvbk1hdHJpeCl9LHRoaXMuZ2V0Q2FtZXJhPWZ1bmN0aW9uKCl7cmV0dXJuIHl9LHRoaXMuZ2V0Rm92ZWF0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGwhPT1wP3AuZml4ZWRGb3ZlYXRpb246bnVsbCE9PW0/bS5maXhlZEZvdmVhdGlvbjp2b2lkIDB9LHRoaXMuc2V0Rm92ZWF0aW9uPWZ1bmN0aW9uKHQpe251bGwhPT1wJiYocC5maXhlZEZvdmVhdGlvbj10KSxudWxsIT09bSYmdm9pZCAwIT09bS5maXhlZEZvdmVhdGlvbiYmKG0uZml4ZWRGb3ZlYXRpb249dCl9O2xldCBrPW51bGw7Y29uc3QgUz1uZXcgWmN0O1Muc2V0QW5pbWF0aW9uTG9vcCgoZnVuY3Rpb24gRCh0LG4pe2lmKGw9bi5nZXRWaWV3ZXJQb3NlKHIpLG51bGwhPT1sKXtjb25zdCB0PWwudmlld3M7bnVsbCE9PW0mJm8uYmluZFhSRnJhbWVidWZmZXIobS5mcmFtZWJ1ZmZlcik7bGV0IG49ITE7dC5sZW5ndGghPT15LmNhbWVyYXMubGVuZ3RoJiYoeS5jYW1lcmFzLmxlbmd0aD0wLG49ITApO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXtjb25zdCBhPXRbaV07bGV0IHI9bnVsbDtpZihudWxsIT09bSlyPW0uZ2V0Vmlld3BvcnQoYSk7ZWxzZXtjb25zdCB0PWMuZ2V0Vmlld1N1YkltYWdlKHAsYSk7by5iaW5kWFJGcmFtZWJ1ZmZlcihkKSx2b2lkIDAhPT10LmRlcHRoU3RlbmNpbFRleHR1cmUmJmUuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzYwOTYsMzU1Myx0LmRlcHRoU3RlbmNpbFRleHR1cmUsMCksZS5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCwzNjA2NCwzNTUzLHQuY29sb3JUZXh0dXJlLDApLHI9dC52aWV3cG9ydH1jb25zdCBzPWJbaV07cy5tYXRyaXguZnJvbUFycmF5KGEudHJhbnNmb3JtLm1hdHJpeCkscy5wcm9qZWN0aW9uTWF0cml4LmZyb21BcnJheShhLnByb2plY3Rpb25NYXRyaXgpLHMudmlld3BvcnQuc2V0KHIueCxyLnksci53aWR0aCxyLmhlaWdodCksMD09PWkmJnkubWF0cml4LmNvcHkocy5tYXRyaXgpLCEwPT09biYmeS5jYW1lcmFzLnB1c2gocyl9fWNvbnN0IGE9aS5pbnB1dFNvdXJjZXM7Zm9yKGxldCB0PTA7dDxmLmxlbmd0aDt0Kyspe2ZbdF0udXBkYXRlKGFbdF0sbixyKX1rJiZrKHQsbil9KSksdGhpcy5zZXRBbmltYXRpb25Mb29wPWZ1bmN0aW9uKHQpe2s9dH0sdGhpcy5kaXNwb3NlPWZ1bmN0aW9uKCl7fX19ZnVuY3Rpb24gSW10KHQpe2Z1bmN0aW9uIGUoZSxuKXtlLm9wYWNpdHkudmFsdWU9bi5vcGFjaXR5LG4uY29sb3ImJmUuZGlmZnVzZS52YWx1ZS5jb3B5KG4uY29sb3IpLG4uZW1pc3NpdmUmJmUuZW1pc3NpdmUudmFsdWUuY29weShuLmVtaXNzaXZlKS5tdWx0aXBseVNjYWxhcihuLmVtaXNzaXZlSW50ZW5zaXR5KSxuLm1hcCYmKGUubWFwLnZhbHVlPW4ubWFwKSxuLmFscGhhTWFwJiYoZS5hbHBoYU1hcC52YWx1ZT1uLmFscGhhTWFwKSxuLnNwZWN1bGFyTWFwJiYoZS5zcGVjdWxhck1hcC52YWx1ZT1uLnNwZWN1bGFyTWFwKTtjb25zdCBvPXQuZ2V0KG4pLmVudk1hcDtpZihvKXtlLmVudk1hcC52YWx1ZT1vLGUuZmxpcEVudk1hcC52YWx1ZT1vLmlzQ3ViZVRleHR1cmUmJiExPT09by5pc1JlbmRlclRhcmdldFRleHR1cmU/LTE6MSxlLnJlZmxlY3Rpdml0eS52YWx1ZT1uLnJlZmxlY3Rpdml0eSxlLnJlZnJhY3Rpb25SYXRpby52YWx1ZT1uLnJlZnJhY3Rpb25SYXRpbztjb25zdCBpPXQuZ2V0KG8pLl9fbWF4TWlwTGV2ZWw7dm9pZCAwIT09aSYmKGUubWF4TWlwTGV2ZWwudmFsdWU9aSl9bGV0IGksYTtuLmxpZ2h0TWFwJiYoZS5saWdodE1hcC52YWx1ZT1uLmxpZ2h0TWFwLGUubGlnaHRNYXBJbnRlbnNpdHkudmFsdWU9bi5saWdodE1hcEludGVuc2l0eSksbi5hb01hcCYmKGUuYW9NYXAudmFsdWU9bi5hb01hcCxlLmFvTWFwSW50ZW5zaXR5LnZhbHVlPW4uYW9NYXBJbnRlbnNpdHkpLG4ubWFwP2k9bi5tYXA6bi5zcGVjdWxhck1hcD9pPW4uc3BlY3VsYXJNYXA6bi5kaXNwbGFjZW1lbnRNYXA/aT1uLmRpc3BsYWNlbWVudE1hcDpuLm5vcm1hbE1hcD9pPW4ubm9ybWFsTWFwOm4uYnVtcE1hcD9pPW4uYnVtcE1hcDpuLnJvdWdobmVzc01hcD9pPW4ucm91Z2huZXNzTWFwOm4ubWV0YWxuZXNzTWFwP2k9bi5tZXRhbG5lc3NNYXA6bi5hbHBoYU1hcD9pPW4uYWxwaGFNYXA6bi5lbWlzc2l2ZU1hcD9pPW4uZW1pc3NpdmVNYXA6bi5jbGVhcmNvYXRNYXA/aT1uLmNsZWFyY29hdE1hcDpuLmNsZWFyY29hdE5vcm1hbE1hcD9pPW4uY2xlYXJjb2F0Tm9ybWFsTWFwOm4uY2xlYXJjb2F0Um91Z2huZXNzTWFwP2k9bi5jbGVhcmNvYXRSb3VnaG5lc3NNYXA6bi5zcGVjdWxhckludGVuc2l0eU1hcD9pPW4uc3BlY3VsYXJJbnRlbnNpdHlNYXA6bi5zcGVjdWxhclRpbnRNYXAmJihpPW4uc3BlY3VsYXJUaW50TWFwKSx2b2lkIDAhPT1pJiYoaS5pc1dlYkdMUmVuZGVyVGFyZ2V0JiYoaT1pLnRleHR1cmUpLCEwPT09aS5tYXRyaXhBdXRvVXBkYXRlJiZpLnVwZGF0ZU1hdHJpeCgpLGUudXZUcmFuc2Zvcm0udmFsdWUuY29weShpLm1hdHJpeCkpLG4uYW9NYXA/YT1uLmFvTWFwOm4ubGlnaHRNYXAmJihhPW4ubGlnaHRNYXApLHZvaWQgMCE9PWEmJihhLmlzV2ViR0xSZW5kZXJUYXJnZXQmJihhPWEudGV4dHVyZSksITA9PT1hLm1hdHJpeEF1dG9VcGRhdGUmJmEudXBkYXRlTWF0cml4KCksZS51djJUcmFuc2Zvcm0udmFsdWUuY29weShhLm1hdHJpeCkpfWZ1bmN0aW9uIG4oZSxuKXtlLnJvdWdobmVzcy52YWx1ZT1uLnJvdWdobmVzcyxlLm1ldGFsbmVzcy52YWx1ZT1uLm1ldGFsbmVzcyxuLnJvdWdobmVzc01hcCYmKGUucm91Z2huZXNzTWFwLnZhbHVlPW4ucm91Z2huZXNzTWFwKSxuLm1ldGFsbmVzc01hcCYmKGUubWV0YWxuZXNzTWFwLnZhbHVlPW4ubWV0YWxuZXNzTWFwKSxuLmVtaXNzaXZlTWFwJiYoZS5lbWlzc2l2ZU1hcC52YWx1ZT1uLmVtaXNzaXZlTWFwKSxuLmJ1bXBNYXAmJihlLmJ1bXBNYXAudmFsdWU9bi5idW1wTWFwLGUuYnVtcFNjYWxlLnZhbHVlPW4uYnVtcFNjYWxlLDE9PT1uLnNpZGUmJihlLmJ1bXBTY2FsZS52YWx1ZSo9LTEpKSxuLm5vcm1hbE1hcCYmKGUubm9ybWFsTWFwLnZhbHVlPW4ubm9ybWFsTWFwLGUubm9ybWFsU2NhbGUudmFsdWUuY29weShuLm5vcm1hbFNjYWxlKSwxPT09bi5zaWRlJiZlLm5vcm1hbFNjYWxlLnZhbHVlLm5lZ2F0ZSgpKSxuLmRpc3BsYWNlbWVudE1hcCYmKGUuZGlzcGxhY2VtZW50TWFwLnZhbHVlPW4uZGlzcGxhY2VtZW50TWFwLGUuZGlzcGxhY2VtZW50U2NhbGUudmFsdWU9bi5kaXNwbGFjZW1lbnRTY2FsZSxlLmRpc3BsYWNlbWVudEJpYXMudmFsdWU9bi5kaXNwbGFjZW1lbnRCaWFzKTt0LmdldChuKS5lbnZNYXAmJihlLmVudk1hcEludGVuc2l0eS52YWx1ZT1uLmVudk1hcEludGVuc2l0eSl9cmV0dXJue3JlZnJlc2hGb2dVbmlmb3JtczpmdW5jdGlvbiBvKHQsZSl7dC5mb2dDb2xvci52YWx1ZS5jb3B5KGUuY29sb3IpLGUuaXNGb2c/KHQuZm9nTmVhci52YWx1ZT1lLm5lYXIsdC5mb2dGYXIudmFsdWU9ZS5mYXIpOmUuaXNGb2dFeHAyJiYodC5mb2dEZW5zaXR5LnZhbHVlPWUuZGVuc2l0eSl9LHJlZnJlc2hNYXRlcmlhbFVuaWZvcm1zOmZ1bmN0aW9uIGkodCxvLGEscixzKXtvLmlzTWVzaEJhc2ljTWF0ZXJpYWw/ZSh0LG8pOm8uaXNNZXNoTGFtYmVydE1hdGVyaWFsPyhlKHQsbyksKGZ1bmN0aW9uIGwodCxlKXtlLmVtaXNzaXZlTWFwJiYodC5lbWlzc2l2ZU1hcC52YWx1ZT1lLmVtaXNzaXZlTWFwKX0pKHQsbykpOm8uaXNNZXNoVG9vbk1hdGVyaWFsPyhlKHQsbyksKGZ1bmN0aW9uIGModCxlKXtlLmdyYWRpZW50TWFwJiYodC5ncmFkaWVudE1hcC52YWx1ZT1lLmdyYWRpZW50TWFwKTtlLmVtaXNzaXZlTWFwJiYodC5lbWlzc2l2ZU1hcC52YWx1ZT1lLmVtaXNzaXZlTWFwKTtlLmJ1bXBNYXAmJih0LmJ1bXBNYXAudmFsdWU9ZS5idW1wTWFwLHQuYnVtcFNjYWxlLnZhbHVlPWUuYnVtcFNjYWxlLDE9PT1lLnNpZGUmJih0LmJ1bXBTY2FsZS52YWx1ZSo9LTEpKTtlLm5vcm1hbE1hcCYmKHQubm9ybWFsTWFwLnZhbHVlPWUubm9ybWFsTWFwLHQubm9ybWFsU2NhbGUudmFsdWUuY29weShlLm5vcm1hbFNjYWxlKSwxPT09ZS5zaWRlJiZ0Lm5vcm1hbFNjYWxlLnZhbHVlLm5lZ2F0ZSgpKTtlLmRpc3BsYWNlbWVudE1hcCYmKHQuZGlzcGxhY2VtZW50TWFwLnZhbHVlPWUuZGlzcGxhY2VtZW50TWFwLHQuZGlzcGxhY2VtZW50U2NhbGUudmFsdWU9ZS5kaXNwbGFjZW1lbnRTY2FsZSx0LmRpc3BsYWNlbWVudEJpYXMudmFsdWU9ZS5kaXNwbGFjZW1lbnRCaWFzKX0pKHQsbykpOm8uaXNNZXNoUGhvbmdNYXRlcmlhbD8oZSh0LG8pLChmdW5jdGlvbiBkKHQsZSl7dC5zcGVjdWxhci52YWx1ZS5jb3B5KGUuc3BlY3VsYXIpLHQuc2hpbmluZXNzLnZhbHVlPU1hdGgubWF4KGUuc2hpbmluZXNzLDFlLTQpLGUuZW1pc3NpdmVNYXAmJih0LmVtaXNzaXZlTWFwLnZhbHVlPWUuZW1pc3NpdmVNYXApO2UuYnVtcE1hcCYmKHQuYnVtcE1hcC52YWx1ZT1lLmJ1bXBNYXAsdC5idW1wU2NhbGUudmFsdWU9ZS5idW1wU2NhbGUsMT09PWUuc2lkZSYmKHQuYnVtcFNjYWxlLnZhbHVlKj0tMSkpO2Uubm9ybWFsTWFwJiYodC5ub3JtYWxNYXAudmFsdWU9ZS5ub3JtYWxNYXAsdC5ub3JtYWxTY2FsZS52YWx1ZS5jb3B5KGUubm9ybWFsU2NhbGUpLDE9PT1lLnNpZGUmJnQubm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpO2UuZGlzcGxhY2VtZW50TWFwJiYodC5kaXNwbGFjZW1lbnRNYXAudmFsdWU9ZS5kaXNwbGFjZW1lbnRNYXAsdC5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1lLmRpc3BsYWNlbWVudFNjYWxlLHQuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT1lLmRpc3BsYWNlbWVudEJpYXMpfSkodCxvKSk6by5pc01lc2hTdGFuZGFyZE1hdGVyaWFsPyhlKHQsbyksby5pc01lc2hQaHlzaWNhbE1hdGVyaWFsPyhmdW5jdGlvbiBwKHQsZSxvKXtuKHQsZSksdC5yZWZsZWN0aXZpdHkudmFsdWU9ZS5yZWZsZWN0aXZpdHksdC5jbGVhcmNvYXQudmFsdWU9ZS5jbGVhcmNvYXQsdC5jbGVhcmNvYXRSb3VnaG5lc3MudmFsdWU9ZS5jbGVhcmNvYXRSb3VnaG5lc3MsZS5zaGVlbiYmdC5zaGVlbi52YWx1ZS5jb3B5KGUuc2hlZW4pO2UuY2xlYXJjb2F0TWFwJiYodC5jbGVhcmNvYXRNYXAudmFsdWU9ZS5jbGVhcmNvYXRNYXApO2UuY2xlYXJjb2F0Um91Z2huZXNzTWFwJiYodC5jbGVhcmNvYXRSb3VnaG5lc3NNYXAudmFsdWU9ZS5jbGVhcmNvYXRSb3VnaG5lc3NNYXApO2UuY2xlYXJjb2F0Tm9ybWFsTWFwJiYodC5jbGVhcmNvYXROb3JtYWxTY2FsZS52YWx1ZS5jb3B5KGUuY2xlYXJjb2F0Tm9ybWFsU2NhbGUpLHQuY2xlYXJjb2F0Tm9ybWFsTWFwLnZhbHVlPWUuY2xlYXJjb2F0Tm9ybWFsTWFwLDE9PT1lLnNpZGUmJnQuY2xlYXJjb2F0Tm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpO3QudHJhbnNtaXNzaW9uLnZhbHVlPWUudHJhbnNtaXNzaW9uLGUudHJhbnNtaXNzaW9uTWFwJiYodC50cmFuc21pc3Npb25NYXAudmFsdWU9ZS50cmFuc21pc3Npb25NYXApO2UudHJhbnNtaXNzaW9uPjAmJih0LnRyYW5zbWlzc2lvblNhbXBsZXJNYXAudmFsdWU9by50ZXh0dXJlLHQudHJhbnNtaXNzaW9uU2FtcGxlclNpemUudmFsdWUuc2V0KG8ud2lkdGgsby5oZWlnaHQpKTt0LnRoaWNrbmVzcy52YWx1ZT1lLnRoaWNrbmVzcyxlLnRoaWNrbmVzc01hcCYmKHQudGhpY2tuZXNzTWFwLnZhbHVlPWUudGhpY2tuZXNzTWFwKTt0LmF0dGVudWF0aW9uRGlzdGFuY2UudmFsdWU9ZS5hdHRlbnVhdGlvbkRpc3RhbmNlLHQuYXR0ZW51YXRpb25UaW50LnZhbHVlLmNvcHkoZS5hdHRlbnVhdGlvblRpbnQpLHQuc3BlY3VsYXJJbnRlbnNpdHkudmFsdWU9ZS5zcGVjdWxhckludGVuc2l0eSx0LnNwZWN1bGFyVGludC52YWx1ZS5jb3B5KGUuc3BlY3VsYXJUaW50KSxlLnNwZWN1bGFySW50ZW5zaXR5TWFwJiYodC5zcGVjdWxhckludGVuc2l0eU1hcC52YWx1ZT1lLnNwZWN1bGFySW50ZW5zaXR5TWFwKTtlLnNwZWN1bGFyVGludE1hcCYmKHQuc3BlY3VsYXJUaW50TWFwLnZhbHVlPWUuc3BlY3VsYXJUaW50TWFwKX0pKHQsbyxzKTpuKHQsbykpOm8uaXNNZXNoTWF0Y2FwTWF0ZXJpYWw/KGUodCxvKSwoZnVuY3Rpb24gbSh0LGUpe2UubWF0Y2FwJiYodC5tYXRjYXAudmFsdWU9ZS5tYXRjYXApO2UuYnVtcE1hcCYmKHQuYnVtcE1hcC52YWx1ZT1lLmJ1bXBNYXAsdC5idW1wU2NhbGUudmFsdWU9ZS5idW1wU2NhbGUsMT09PWUuc2lkZSYmKHQuYnVtcFNjYWxlLnZhbHVlKj0tMSkpO2Uubm9ybWFsTWFwJiYodC5ub3JtYWxNYXAudmFsdWU9ZS5ub3JtYWxNYXAsdC5ub3JtYWxTY2FsZS52YWx1ZS5jb3B5KGUubm9ybWFsU2NhbGUpLDE9PT1lLnNpZGUmJnQubm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpO2UuZGlzcGxhY2VtZW50TWFwJiYodC5kaXNwbGFjZW1lbnRNYXAudmFsdWU9ZS5kaXNwbGFjZW1lbnRNYXAsdC5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1lLmRpc3BsYWNlbWVudFNjYWxlLHQuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT1lLmRpc3BsYWNlbWVudEJpYXMpfSkodCxvKSk6by5pc01lc2hEZXB0aE1hdGVyaWFsPyhlKHQsbyksKGZ1bmN0aW9uIGYodCxlKXtlLmRpc3BsYWNlbWVudE1hcCYmKHQuZGlzcGxhY2VtZW50TWFwLnZhbHVlPWUuZGlzcGxhY2VtZW50TWFwLHQuZGlzcGxhY2VtZW50U2NhbGUudmFsdWU9ZS5kaXNwbGFjZW1lbnRTY2FsZSx0LmRpc3BsYWNlbWVudEJpYXMudmFsdWU9ZS5kaXNwbGFjZW1lbnRCaWFzKX0pKHQsbykpOm8uaXNNZXNoRGlzdGFuY2VNYXRlcmlhbD8oZSh0LG8pLChmdW5jdGlvbiB1KHQsZSl7ZS5kaXNwbGFjZW1lbnRNYXAmJih0LmRpc3BsYWNlbWVudE1hcC52YWx1ZT1lLmRpc3BsYWNlbWVudE1hcCx0LmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPWUuZGlzcGxhY2VtZW50U2NhbGUsdC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPWUuZGlzcGxhY2VtZW50Qmlhcyk7dC5yZWZlcmVuY2VQb3NpdGlvbi52YWx1ZS5jb3B5KGUucmVmZXJlbmNlUG9zaXRpb24pLHQubmVhckRpc3RhbmNlLnZhbHVlPWUubmVhckRpc3RhbmNlLHQuZmFyRGlzdGFuY2UudmFsdWU9ZS5mYXJEaXN0YW5jZX0pKHQsbykpOm8uaXNNZXNoTm9ybWFsTWF0ZXJpYWw/KGUodCxvKSwoZnVuY3Rpb24gZyh0LGUpe2UuYnVtcE1hcCYmKHQuYnVtcE1hcC52YWx1ZT1lLmJ1bXBNYXAsdC5idW1wU2NhbGUudmFsdWU9ZS5idW1wU2NhbGUsMT09PWUuc2lkZSYmKHQuYnVtcFNjYWxlLnZhbHVlKj0tMSkpO2Uubm9ybWFsTWFwJiYodC5ub3JtYWxNYXAudmFsdWU9ZS5ub3JtYWxNYXAsdC5ub3JtYWxTY2FsZS52YWx1ZS5jb3B5KGUubm9ybWFsU2NhbGUpLDE9PT1lLnNpZGUmJnQubm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpO2UuZGlzcGxhY2VtZW50TWFwJiYodC5kaXNwbGFjZW1lbnRNYXAudmFsdWU9ZS5kaXNwbGFjZW1lbnRNYXAsdC5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1lLmRpc3BsYWNlbWVudFNjYWxlLHQuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT1lLmRpc3BsYWNlbWVudEJpYXMpfSkodCxvKSk6by5pc0xpbmVCYXNpY01hdGVyaWFsPyghKGZ1bmN0aW9uIGgodCxlKXt0LmRpZmZ1c2UudmFsdWUuY29weShlLmNvbG9yKSx0Lm9wYWNpdHkudmFsdWU9ZS5vcGFjaXR5fSkodCxvKSxvLmlzTGluZURhc2hlZE1hdGVyaWFsJiYoZnVuY3Rpb24gYih0LGUpe3QuZGFzaFNpemUudmFsdWU9ZS5kYXNoU2l6ZSx0LnRvdGFsU2l6ZS52YWx1ZT1lLmRhc2hTaXplK2UuZ2FwU2l6ZSx0LnNjYWxlLnZhbHVlPWUuc2NhbGV9KSh0LG8pKTpvLmlzUG9pbnRzTWF0ZXJpYWw/KGZ1bmN0aW9uIHkodCxlLG4sbyl7dC5kaWZmdXNlLnZhbHVlLmNvcHkoZS5jb2xvciksdC5vcGFjaXR5LnZhbHVlPWUub3BhY2l0eSx0LnNpemUudmFsdWU9ZS5zaXplKm4sdC5zY2FsZS52YWx1ZT0uNSpvLGUubWFwJiYodC5tYXAudmFsdWU9ZS5tYXApO2UuYWxwaGFNYXAmJih0LmFscGhhTWFwLnZhbHVlPWUuYWxwaGFNYXApO2xldCBpO2UubWFwP2k9ZS5tYXA6ZS5hbHBoYU1hcCYmKGk9ZS5hbHBoYU1hcCk7dm9pZCAwIT09aSYmKCEwPT09aS5tYXRyaXhBdXRvVXBkYXRlJiZpLnVwZGF0ZU1hdHJpeCgpLHQudXZUcmFuc2Zvcm0udmFsdWUuY29weShpLm1hdHJpeCkpfSkodCxvLGEscik6by5pc1Nwcml0ZU1hdGVyaWFsPyhmdW5jdGlvbiBfKHQsZSl7dC5kaWZmdXNlLnZhbHVlLmNvcHkoZS5jb2xvciksdC5vcGFjaXR5LnZhbHVlPWUub3BhY2l0eSx0LnJvdGF0aW9uLnZhbHVlPWUucm90YXRpb24sZS5tYXAmJih0Lm1hcC52YWx1ZT1lLm1hcCk7ZS5hbHBoYU1hcCYmKHQuYWxwaGFNYXAudmFsdWU9ZS5hbHBoYU1hcCk7bGV0IG47ZS5tYXA/bj1lLm1hcDplLmFscGhhTWFwJiYobj1lLmFscGhhTWFwKTt2b2lkIDAhPT1uJiYoITA9PT1uLm1hdHJpeEF1dG9VcGRhdGUmJm4udXBkYXRlTWF0cml4KCksdC51dlRyYW5zZm9ybS52YWx1ZS5jb3B5KG4ubWF0cml4KSl9KSh0LG8pOm8uaXNTaGFkb3dNYXRlcmlhbD8odC5jb2xvci52YWx1ZS5jb3B5KG8uY29sb3IpLHQub3BhY2l0eS52YWx1ZT1vLm9wYWNpdHkpOm8uaXNTaGFkZXJNYXRlcmlhbCYmKG8udW5pZm9ybXNOZWVkVXBkYXRlPSExKX19fWZ1bmN0aW9uIEhtdCh0PXt9KXtjb25zdCBlPXZvaWQgMCE9PXQuY2FudmFzP3QuY2FudmFzOihmdW5jdGlvbiBuKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKTtyZXR1cm4gdC5zdHlsZS5kaXNwbGF5PSJibG9jayIsdH0pKCksbz12b2lkIDAhPT10LmNvbnRleHQ/dC5jb250ZXh0Om51bGwsaT12b2lkIDAhPT10LmFscGhhJiZ0LmFscGhhLGE9dm9pZCAwPT09dC5kZXB0aHx8dC5kZXB0aCxyPXZvaWQgMD09PXQuc3RlbmNpbHx8dC5zdGVuY2lsLHM9dm9pZCAwIT09dC5hbnRpYWxpYXMmJnQuYW50aWFsaWFzLGw9dm9pZCAwPT09dC5wcmVtdWx0aXBsaWVkQWxwaGF8fHQucHJlbXVsdGlwbGllZEFscGhhLGM9dm9pZCAwIT09dC5wcmVzZXJ2ZURyYXdpbmdCdWZmZXImJnQucHJlc2VydmVEcmF3aW5nQnVmZmVyLGQ9dm9pZCAwIT09dC5wb3dlclByZWZlcmVuY2U/dC5wb3dlclByZWZlcmVuY2U6ImRlZmF1bHQiLHA9dm9pZCAwIT09dC5mYWlsSWZNYWpvclBlcmZvcm1hbmNlQ2F2ZWF0JiZ0LmZhaWxJZk1ham9yUGVyZm9ybWFuY2VDYXZlYXQ7bGV0IG09bnVsbCxmPW51bGw7Y29uc3QgdT1bXSxnPVtdO3RoaXMuZG9tRWxlbWVudD1lLHRoaXMuZGVidWc9e2NoZWNrU2hhZGVyRXJyb3JzOiEwfSx0aGlzLmF1dG9DbGVhcj0hMCx0aGlzLmF1dG9DbGVhckNvbG9yPSEwLHRoaXMuYXV0b0NsZWFyRGVwdGg9ITAsdGhpcy5hdXRvQ2xlYXJTdGVuY2lsPSEwLHRoaXMuc29ydE9iamVjdHM9ITAsdGhpcy5jbGlwcGluZ1BsYW5lcz1bXSx0aGlzLmxvY2FsQ2xpcHBpbmdFbmFibGVkPSExLHRoaXMuZ2FtbWFGYWN0b3I9Mix0aGlzLm91dHB1dEVuY29kaW5nPVFydCx0aGlzLnBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzPSExLHRoaXMudG9uZU1hcHBpbmc9MCx0aGlzLnRvbmVNYXBwaW5nRXhwb3N1cmU9MTtjb25zdCBoPXRoaXM7bGV0IGI9ITEseT0wLF89MCxDPW51bGwsTT0tMSx2PW51bGw7Y29uc3QgeD1uZXcgdnN0LE89bmV3IHZzdDtsZXQgUD1udWxsLHc9ZS53aWR0aCxrPWUuaGVpZ2h0LFM9MSxEPW51bGwsUj1udWxsO2NvbnN0IEU9bmV3IHZzdCgwLDAsdyxrKSxBPW5ldyB2c3QoMCwwLHcsayk7bGV0IFQ9ITE7Y29uc3QgTj1bXSx6PW5ldyBxY3Q7bGV0IEk9ITEsSD0hMSxGPW51bGw7Y29uc3QgTD1uZXcgb2x0LEI9bmV3IHdzdCxWPXtiYWNrZ3JvdW5kOm51bGwsZm9nOm51bGwsZW52aXJvbm1lbnQ6bnVsbCxvdmVycmlkZU1hdGVyaWFsOm51bGwsaXNTY2VuZTohMH07ZnVuY3Rpb24gaigpe3JldHVybiBudWxsPT09Qz9TOjF9bGV0IFUsVyxHLFkscSxaLFgsSyxKLFEsJCx0dCxldCxudCxvdCxpdCxhdCxydCxzdCxsdCxjdCxkdCxwdCxtdD1vO2Z1bmN0aW9uIGZ0KHQsbil7Zm9yKGxldCBvPTA7bzx0Lmxlbmd0aDtvKyspe2NvbnN0IGk9ZS5nZXRDb250ZXh0KHRbb10sbik7aWYobnVsbCE9PWkpcmV0dXJuIGl9cmV0dXJuIG51bGx9dHJ5e2NvbnN0IHQ9e2FscGhhOmksZGVwdGg6YSxzdGVuY2lsOnIsYW50aWFsaWFzOnMscHJlbXVsdGlwbGllZEFscGhhOmwscHJlc2VydmVEcmF3aW5nQnVmZmVyOmMscG93ZXJQcmVmZXJlbmNlOmQsZmFpbElmTWFqb3JQZXJmb3JtYW5jZUNhdmVhdDpwfTtpZihlLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLGh0LCExKSxlLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dHJlc3RvcmVkIixidCwhMSksbnVsbD09PW10KXtjb25zdCBlPVsid2ViZ2wyIiwid2ViZ2wiLCJleHBlcmltZW50YWwtd2ViZ2wiXTtpZighMD09PWguaXNXZWJHTDFSZW5kZXJlciYmZS5zaGlmdCgpLG10PWZ0KGUsdCksbnVsbD09PW10KXRocm93IGZ0KGUpP25ldyBFcnJvcigiRXJyb3IgY3JlYXRpbmcgV2ViR0wgY29udGV4dCB3aXRoIHlvdXIgc2VsZWN0ZWQgYXR0cmlidXRlcy4iKTpuZXcgRXJyb3IoIkVycm9yIGNyZWF0aW5nIFdlYkdMIGNvbnRleHQuIil9dm9pZCAwPT09bXQuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0JiYobXQuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0PWZ1bmN0aW9uKCl7cmV0dXJue3JhbmdlTWluOjEscmFuZ2VNYXg6MSxwcmVjaXNpb246MX19KX1jYXRjaCh0KXt0aHJvdyBjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAiK3QubWVzc2FnZSksdH1mdW5jdGlvbiB1dCgpe1U9bmV3IHpkdChtdCksVz1uZXcgb2R0KG10LFUsdCksVS5pbml0KFcpLGR0PW5ldyBSbXQobXQsVSxXKSxHPW5ldyBTbXQobXQsVSxXKSxOWzBdPTEwMjksWT1uZXcgRmR0KG10KSxxPW5ldyB1bXQsWj1uZXcgRG10KG10LFUsRyxxLFcsZHQsWSksWD1uZXcgYWR0KGgpLEs9bmV3IE5kdChoKSxKPW5ldyBYY3QobXQsVykscHQ9bmV3IGVkdChtdCxVLEosVyksUT1uZXcgSWR0KG10LEosWSxwdCksJD1uZXcgamR0KG10LFEsSixZKSxzdD1uZXcgVmR0KG10KSxpdD1uZXcgaWR0KHEpLHR0PW5ldyBmbXQoaCxYLEssVSxXLHB0LGl0KSxldD1uZXcgSW10KHEpLG50PW5ldyB5bXQocSksb3Q9bmV3IE9tdChVLFcpLHJ0PW5ldyB0ZHQoaCxYLEcsJCxsKSxhdD1uZXcga210KGgsJCxXKSxsdD1uZXcgbmR0KG10LFUsWSxXKSxjdD1uZXcgSGR0KG10LFUsWSxXKSxZLnByb2dyYW1zPXR0LnByb2dyYW1zLGguY2FwYWJpbGl0aWVzPVcsaC5leHRlbnNpb25zPVUsaC5wcm9wZXJ0aWVzPXEsaC5yZW5kZXJMaXN0cz1udCxoLnNoYWRvd01hcD1hdCxoLnN0YXRlPUcsaC5pbmZvPVl9dXQoKTtjb25zdCBndD1uZXcgem10KGgsbXQpO2Z1bmN0aW9uIGh0KHQpe3QucHJldmVudERlZmF1bHQoKSxjb25zb2xlLmxvZygiVEhSRUUuV2ViR0xSZW5kZXJlcjogQ29udGV4dCBMb3N0LiIpLGI9ITB9ZnVuY3Rpb24gYnQoKXtjb25zb2xlLmxvZygiVEhSRUUuV2ViR0xSZW5kZXJlcjogQ29udGV4dCBSZXN0b3JlZC4iKSxiPSExO2NvbnN0IHQ9WS5hdXRvUmVzZXQsZT1hdC5lbmFibGVkLG49YXQuYXV0b1VwZGF0ZSxvPWF0Lm5lZWRzVXBkYXRlLGk9YXQudHlwZTt1dCgpLFkuYXV0b1Jlc2V0PXQsYXQuZW5hYmxlZD1lLGF0LmF1dG9VcGRhdGU9bixhdC5uZWVkc1VwZGF0ZT1vLGF0LnR5cGU9aX1mdW5jdGlvbiB5dCh0KXtjb25zdCBlPXQudGFyZ2V0O2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIseXQpLChmdW5jdGlvbiBuKHQpeyhmdW5jdGlvbiBlKHQpe2NvbnN0IGU9cS5nZXQodCkucHJvZ3JhbXM7dm9pZCAwIT09ZSYmZS5mb3JFYWNoKChmdW5jdGlvbih0KXt0dC5yZWxlYXNlUHJvZ3JhbSh0KX0pKX0pKHQpLHEucmVtb3ZlKHQpfSkoZSl9dGhpcy54cj1ndCx0aGlzLmdldENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gbXR9LHRoaXMuZ2V0Q29udGV4dEF0dHJpYnV0ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gbXQuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKX0sdGhpcy5mb3JjZUNvbnRleHRMb3NzPWZ1bmN0aW9uKCl7Y29uc3QgdD1VLmdldCgiV0VCR0xfbG9zZV9jb250ZXh0Iik7dCYmdC5sb3NlQ29udGV4dCgpfSx0aGlzLmZvcmNlQ29udGV4dFJlc3RvcmU9ZnVuY3Rpb24oKXtjb25zdCB0PVUuZ2V0KCJXRUJHTF9sb3NlX2NvbnRleHQiKTt0JiZ0LnJlc3RvcmVDb250ZXh0KCl9LHRoaXMuZ2V0UGl4ZWxSYXRpbz1mdW5jdGlvbigpe3JldHVybiBTfSx0aGlzLnNldFBpeGVsUmF0aW89ZnVuY3Rpb24odCl7dm9pZCAwIT09dCYmKFM9dCx0aGlzLnNldFNpemUodyxrLCExKSl9LHRoaXMuZ2V0U2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5zZXQodyxrKX0sdGhpcy5zZXRTaXplPWZ1bmN0aW9uKHQsbixvKXtndC5pc1ByZXNlbnRpbmc/Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBDYW4ndCBjaGFuZ2Ugc2l6ZSB3aGlsZSBWUiBkZXZpY2UgaXMgcHJlc2VudGluZy4iKToodz10LGs9bixlLndpZHRoPU1hdGguZmxvb3IodCpTKSxlLmhlaWdodD1NYXRoLmZsb29yKG4qUyksITEhPT1vJiYoZS5zdHlsZS53aWR0aD10KyJweCIsZS5zdHlsZS5oZWlnaHQ9bisicHgiKSx0aGlzLnNldFZpZXdwb3J0KDAsMCx0LG4pKX0sdGhpcy5nZXREcmF3aW5nQnVmZmVyU2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5zZXQodypTLGsqUykuZmxvb3IoKX0sdGhpcy5zZXREcmF3aW5nQnVmZmVyU2l6ZT1mdW5jdGlvbih0LG4sbyl7dz10LGs9bixTPW8sZS53aWR0aD1NYXRoLmZsb29yKHQqbyksZS5oZWlnaHQ9TWF0aC5mbG9vcihuKm8pLHRoaXMuc2V0Vmlld3BvcnQoMCwwLHQsbil9LHRoaXMuZ2V0Q3VycmVudFZpZXdwb3J0PWZ1bmN0aW9uKHQpe3JldHVybiB0LmNvcHkoeCl9LHRoaXMuZ2V0Vmlld3BvcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weShFKX0sdGhpcy5zZXRWaWV3cG9ydD1mdW5jdGlvbih0LGUsbixvKXt0LmlzVmVjdG9yND9FLnNldCh0LngsdC55LHQueix0LncpOkUuc2V0KHQsZSxuLG8pLEcudmlld3BvcnQoeC5jb3B5KEUpLm11bHRpcGx5U2NhbGFyKFMpLmZsb29yKCkpfSx0aGlzLmdldFNjaXNzb3I9ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weShBKX0sdGhpcy5zZXRTY2lzc29yPWZ1bmN0aW9uKHQsZSxuLG8pe3QuaXNWZWN0b3I0P0Euc2V0KHQueCx0LnksdC56LHQudyk6QS5zZXQodCxlLG4sbyksRy5zY2lzc29yKE8uY29weShBKS5tdWx0aXBseVNjYWxhcihTKS5mbG9vcigpKX0sdGhpcy5nZXRTY2lzc29yVGVzdD1mdW5jdGlvbigpe3JldHVybiBUfSx0aGlzLnNldFNjaXNzb3JUZXN0PWZ1bmN0aW9uKHQpe0cuc2V0U2Npc3NvclRlc3QoVD10KX0sdGhpcy5zZXRPcGFxdWVTb3J0PWZ1bmN0aW9uKHQpe0Q9dH0sdGhpcy5zZXRUcmFuc3BhcmVudFNvcnQ9ZnVuY3Rpb24odCl7Uj10fSx0aGlzLmdldENsZWFyQ29sb3I9ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weShydC5nZXRDbGVhckNvbG9yKCkpfSx0aGlzLnNldENsZWFyQ29sb3I9ZnVuY3Rpb24oKXtydC5zZXRDbGVhckNvbG9yLmFwcGx5KHJ0LGFyZ3VtZW50cyl9LHRoaXMuZ2V0Q2xlYXJBbHBoYT1mdW5jdGlvbigpe3JldHVybiBydC5nZXRDbGVhckFscGhhKCl9LHRoaXMuc2V0Q2xlYXJBbHBoYT1mdW5jdGlvbigpe3J0LnNldENsZWFyQWxwaGEuYXBwbHkocnQsYXJndW1lbnRzKX0sdGhpcy5jbGVhcj1mdW5jdGlvbih0LGUsbil7bGV0IG89MDsodm9pZCAwPT09dHx8dCkmJihvfD0xNjM4NCksKHZvaWQgMD09PWV8fGUpJiYob3w9MjU2KSwodm9pZCAwPT09bnx8bikmJihvfD0xMDI0KSxtdC5jbGVhcihvKX0sdGhpcy5jbGVhckNvbG9yPWZ1bmN0aW9uKCl7dGhpcy5jbGVhcighMCwhMSwhMSl9LHRoaXMuY2xlYXJEZXB0aD1mdW5jdGlvbigpe3RoaXMuY2xlYXIoITEsITAsITEpfSx0aGlzLmNsZWFyU3RlbmNpbD1mdW5jdGlvbigpe3RoaXMuY2xlYXIoITEsITEsITApfSx0aGlzLmRpc3Bvc2U9ZnVuY3Rpb24oKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLGh0LCExKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dHJlc3RvcmVkIixidCwhMSksbnQuZGlzcG9zZSgpLG90LmRpc3Bvc2UoKSxxLmRpc3Bvc2UoKSxYLmRpc3Bvc2UoKSxLLmRpc3Bvc2UoKSwkLmRpc3Bvc2UoKSxwdC5kaXNwb3NlKCksZ3QuZGlzcG9zZSgpLGd0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlc3Npb25zdGFydCIsQ3QpLGd0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlc3Npb25lbmQiLE10KSxGJiYoRi5kaXNwb3NlKCksRj1udWxsKSx2dC5zdG9wKCl9LHRoaXMucmVuZGVyQnVmZmVySW1tZWRpYXRlPWZ1bmN0aW9uKHQsZSl7cHQuaW5pdEF0dHJpYnV0ZXMoKTtjb25zdCBuPXEuZ2V0KHQpO3QuaGFzUG9zaXRpb25zJiYhbi5wb3NpdGlvbiYmKG4ucG9zaXRpb249bXQuY3JlYXRlQnVmZmVyKCkpLHQuaGFzTm9ybWFscyYmIW4ubm9ybWFsJiYobi5ub3JtYWw9bXQuY3JlYXRlQnVmZmVyKCkpLHQuaGFzVXZzJiYhbi51diYmKG4udXY9bXQuY3JlYXRlQnVmZmVyKCkpLHQuaGFzQ29sb3JzJiYhbi5jb2xvciYmKG4uY29sb3I9bXQuY3JlYXRlQnVmZmVyKCkpO2NvbnN0IG89ZS5nZXRBdHRyaWJ1dGVzKCk7dC5oYXNQb3NpdGlvbnMmJihtdC5iaW5kQnVmZmVyKDM0OTYyLG4ucG9zaXRpb24pLG10LmJ1ZmZlckRhdGEoMzQ5NjIsdC5wb3NpdGlvbkFycmF5LDM1MDQ4KSxwdC5lbmFibGVBdHRyaWJ1dGUoby5wb3NpdGlvbiksbXQudmVydGV4QXR0cmliUG9pbnRlcihvLnBvc2l0aW9uLDMsNTEyNiwhMSwwLDApKSx0Lmhhc05vcm1hbHMmJihtdC5iaW5kQnVmZmVyKDM0OTYyLG4ubm9ybWFsKSxtdC5idWZmZXJEYXRhKDM0OTYyLHQubm9ybWFsQXJyYXksMzUwNDgpLHB0LmVuYWJsZUF0dHJpYnV0ZShvLm5vcm1hbCksbXQudmVydGV4QXR0cmliUG9pbnRlcihvLm5vcm1hbCwzLDUxMjYsITEsMCwwKSksdC5oYXNVdnMmJihtdC5iaW5kQnVmZmVyKDM0OTYyLG4udXYpLG10LmJ1ZmZlckRhdGEoMzQ5NjIsdC51dkFycmF5LDM1MDQ4KSxwdC5lbmFibGVBdHRyaWJ1dGUoby51diksbXQudmVydGV4QXR0cmliUG9pbnRlcihvLnV2LDIsNTEyNiwhMSwwLDApKSx0Lmhhc0NvbG9ycyYmKG10LmJpbmRCdWZmZXIoMzQ5NjIsbi5jb2xvciksbXQuYnVmZmVyRGF0YSgzNDk2Mix0LmNvbG9yQXJyYXksMzUwNDgpLHB0LmVuYWJsZUF0dHJpYnV0ZShvLmNvbG9yKSxtdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG8uY29sb3IsMyw1MTI2LCExLDAsMCkpLHB0LmRpc2FibGVVbnVzZWRBdHRyaWJ1dGVzKCksbXQuZHJhd0FycmF5cyg0LDAsdC5jb3VudCksdC5jb3VudD0wfSx0aGlzLnJlbmRlckJ1ZmZlckRpcmVjdD1mdW5jdGlvbih0LGUsbixvLGksYSl7bnVsbD09PWUmJihlPVYpO2NvbnN0IHI9aS5pc01lc2gmJmkubWF0cml4V29ybGQuZGV0ZXJtaW5hbnQoKTwwLHM9U3QodCxlLG8saSk7Ry5zZXRNYXRlcmlhbChvLHIpO2xldCBsPW4uaW5kZXg7Y29uc3QgYz1uLmF0dHJpYnV0ZXMucG9zaXRpb247aWYobnVsbD09PWwpe2lmKHZvaWQgMD09PWN8fDA9PT1jLmNvdW50KXJldHVybn1lbHNlIGlmKDA9PT1sLmNvdW50KXJldHVybjtsZXQgZCxwPTE7ITA9PT1vLndpcmVmcmFtZSYmKGw9US5nZXRXaXJlZnJhbWVBdHRyaWJ1dGUobikscD0yKSx2b2lkIDA9PT1uLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbiYmdm9pZCAwPT09bi5tb3JwaEF0dHJpYnV0ZXMubm9ybWFsfHxzdC51cGRhdGUoaSxuLG8scykscHQuc2V0dXAoaSxvLHMsbixsKTtsZXQgbT1sdDtudWxsIT09bCYmKGQ9Si5nZXQobCksbT1jdCxtLnNldEluZGV4KGQpKTtjb25zdCBmPW51bGwhPT1sP2wuY291bnQ6Yy5jb3VudCx1PW4uZHJhd1JhbmdlLnN0YXJ0KnAsZz1uLmRyYXdSYW5nZS5jb3VudCpwLGg9bnVsbCE9PWE/YS5zdGFydCpwOjAsYj1udWxsIT09YT9hLmNvdW50KnA6MS8wLHk9TWF0aC5tYXgodSxoKSxfPU1hdGgubWluKGYsdStnLGgrYiktMSxDPU1hdGgubWF4KDAsXy15KzEpO2lmKDAhPT1DKXtpZihpLmlzTWVzaCkhMD09PW8ud2lyZWZyYW1lPyhHLnNldExpbmVXaWR0aChvLndpcmVmcmFtZUxpbmV3aWR0aCpqKCkpLG0uc2V0TW9kZSgxKSk6bS5zZXRNb2RlKDQpO2Vsc2UgaWYoaS5pc0xpbmUpe2xldCB0PW8ubGluZXdpZHRoO3ZvaWQgMD09PXQmJih0PTEpLEcuc2V0TGluZVdpZHRoKHQqaigpKSxtLnNldE1vZGUoaS5pc0xpbmVTZWdtZW50cz8xOmkuaXNMaW5lTG9vcD8yOjMpfWVsc2UgaS5pc1BvaW50cz9tLnNldE1vZGUoMCk6aS5pc1Nwcml0ZSYmbS5zZXRNb2RlKDQpO2lmKGkuaXNJbnN0YW5jZWRNZXNoKW0ucmVuZGVySW5zdGFuY2VzKHksQyxpLmNvdW50KTtlbHNlIGlmKG4uaXNJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSl7Y29uc3QgdD1NYXRoLm1pbihuLmluc3RhbmNlQ291bnQsbi5fbWF4SW5zdGFuY2VDb3VudCk7bS5yZW5kZXJJbnN0YW5jZXMoeSxDLHQpfWVsc2UgbS5yZW5kZXIoeSxDKX19LHRoaXMuY29tcGlsZT1mdW5jdGlvbih0LGUpe2Y9b3QuZ2V0KHQpLGYuaW5pdCgpLGcucHVzaChmKSx0LnRyYXZlcnNlVmlzaWJsZSgoZnVuY3Rpb24odCl7dC5pc0xpZ2h0JiZ0LmxheWVycy50ZXN0KGUubGF5ZXJzKSYmKGYucHVzaExpZ2h0KHQpLHQuY2FzdFNoYWRvdyYmZi5wdXNoU2hhZG93KHQpKX0pKSxmLnNldHVwTGlnaHRzKCksdC50cmF2ZXJzZSgoZnVuY3Rpb24oZSl7Y29uc3Qgbj1lLm1hdGVyaWFsO2lmKG4paWYoQXJyYXkuaXNBcnJheShuKSlmb3IobGV0IG89MDtvPG4ubGVuZ3RoO28rKyl7d3QobltvXSx0LGUpfWVsc2Ugd3Qobix0LGUpfSkpLGcucG9wKCksZj1udWxsfTtsZXQgX3Q9bnVsbDtmdW5jdGlvbiBDdCgpe3Z0LnN0b3AoKX1mdW5jdGlvbiBNdCgpe3Z0LnN0YXJ0KCl9Y29uc3QgdnQ9bmV3IFpjdDtmdW5jdGlvbiB4dCh0LGUsbixvKXtpZighMT09PXQudmlzaWJsZSlyZXR1cm47aWYodC5sYXllcnMudGVzdChlLmxheWVycykpaWYodC5pc0dyb3VwKW49dC5yZW5kZXJPcmRlcjtlbHNlIGlmKHQuaXNMT0QpITA9PT10LmF1dG9VcGRhdGUmJnQudXBkYXRlKGUpO2Vsc2UgaWYodC5pc0xpZ2h0KWYucHVzaExpZ2h0KHQpLHQuY2FzdFNoYWRvdyYmZi5wdXNoU2hhZG93KHQpO2Vsc2UgaWYodC5pc1Nwcml0ZSl7aWYoIXQuZnJ1c3R1bUN1bGxlZHx8ei5pbnRlcnNlY3RzU3ByaXRlKHQpKXtvJiZCLnNldEZyb21NYXRyaXhQb3NpdGlvbih0Lm1hdHJpeFdvcmxkKS5hcHBseU1hdHJpeDQoTCk7Y29uc3QgZT0kLnVwZGF0ZSh0KSxpPXQubWF0ZXJpYWw7aS52aXNpYmxlJiZtLnB1c2godCxlLGksbixCLnosbnVsbCl9fWVsc2UgaWYodC5pc0ltbWVkaWF0ZVJlbmRlck9iamVjdClvJiZCLnNldEZyb21NYXRyaXhQb3NpdGlvbih0Lm1hdHJpeFdvcmxkKS5hcHBseU1hdHJpeDQoTCksbS5wdXNoKHQsbnVsbCx0Lm1hdGVyaWFsLG4sQi56LG51bGwpO2Vsc2UgaWYoKHQuaXNNZXNofHx0LmlzTGluZXx8dC5pc1BvaW50cykmJih0LmlzU2tpbm5lZE1lc2gmJnQuc2tlbGV0b24uZnJhbWUhPT1ZLnJlbmRlci5mcmFtZSYmKHQuc2tlbGV0b24udXBkYXRlKCksdC5za2VsZXRvbi5mcmFtZT1ZLnJlbmRlci5mcmFtZSksIXQuZnJ1c3R1bUN1bGxlZHx8ei5pbnRlcnNlY3RzT2JqZWN0KHQpKSl7byYmQi5zZXRGcm9tTWF0cml4UG9zaXRpb24odC5tYXRyaXhXb3JsZCkuYXBwbHlNYXRyaXg0KEwpO2NvbnN0IGU9JC51cGRhdGUodCksaT10Lm1hdGVyaWFsO2lmKEFycmF5LmlzQXJyYXkoaSkpe2NvbnN0IG89ZS5ncm91cHM7Zm9yKGxldCBhPTAscj1vLmxlbmd0aDthPHI7YSsrKXtjb25zdCByPW9bYV0scz1pW3IubWF0ZXJpYWxJbmRleF07cyYmcy52aXNpYmxlJiZtLnB1c2godCxlLHMsbixCLnoscil9fWVsc2UgaS52aXNpYmxlJiZtLnB1c2godCxlLGksbixCLnosbnVsbCl9Y29uc3QgaT10LmNoaWxkcmVuO2ZvcihsZXQgdD0wLGE9aS5sZW5ndGg7dDxhO3QrKyl4dChpW3RdLGUsbixvKX1mdW5jdGlvbiBPdCh0LGUsbil7Y29uc3Qgbz0hMD09PWUuaXNTY2VuZT9lLm92ZXJyaWRlTWF0ZXJpYWw6bnVsbDtpZihuLmlzQXJyYXlDYW1lcmEpe2NvbnN0IGk9bi5jYW1lcmFzO2ZvcihsZXQgbj0wLGE9aS5sZW5ndGg7bjxhO24rKyl7Y29uc3QgYT1pW25dO0cudmlld3BvcnQoeC5jb3B5KGEudmlld3BvcnQpKSxmLnNldHVwTGlnaHRzVmlldyhhKTtmb3IobGV0IG49MCxpPXQubGVuZ3RoO248aTtuKyspe2NvbnN0IGk9dFtuXSxyPWkub2JqZWN0LHM9aS5nZW9tZXRyeSxsPW51bGw9PT1vP2kubWF0ZXJpYWw6byxjPWkuZ3JvdXA7ci5sYXllcnMudGVzdChhLmxheWVycykmJlB0KHIsZSxhLHMsbCxjKX19fWVsc2UgZm9yKGxldCBpPTAsYT10Lmxlbmd0aDtpPGE7aSsrKXtjb25zdCBhPXRbaV07UHQoYS5vYmplY3QsZSxuLGEuZ2VvbWV0cnksbnVsbD09PW8/YS5tYXRlcmlhbDpvLGEuZ3JvdXApfX1mdW5jdGlvbiBQdCh0LGUsbixvLGksYSl7aWYodC5vbkJlZm9yZVJlbmRlcihoLGUsbixvLGksYSksdC5tb2RlbFZpZXdNYXRyaXgubXVsdGlwbHlNYXRyaWNlcyhuLm1hdHJpeFdvcmxkSW52ZXJzZSx0Lm1hdHJpeFdvcmxkKSx0Lm5vcm1hbE1hdHJpeC5nZXROb3JtYWxNYXRyaXgodC5tb2RlbFZpZXdNYXRyaXgpLHQuaXNJbW1lZGlhdGVSZW5kZXJPYmplY3Qpe2NvbnN0IG89U3QobixlLGksdCk7Ry5zZXRNYXRlcmlhbChpKSxwdC5yZXNldCgpLChmdW5jdGlvbiByKHQsZSl7dC5yZW5kZXIoKGZ1bmN0aW9uKHQpe2gucmVuZGVyQnVmZmVySW1tZWRpYXRlKHQsZSl9KSl9KSh0LG8pfWVsc2UhMD09PWkudHJhbnNwYXJlbnQmJjI9PT1pLnNpZGU/KGkuc2lkZT0xLGkubmVlZHNVcGRhdGU9ITAsaC5yZW5kZXJCdWZmZXJEaXJlY3QobixlLG8saSx0LGEpLGkuc2lkZT0wLGkubmVlZHNVcGRhdGU9ITAsaC5yZW5kZXJCdWZmZXJEaXJlY3QobixlLG8saSx0LGEpLGkuc2lkZT0yKTpoLnJlbmRlckJ1ZmZlckRpcmVjdChuLGUsbyxpLHQsYSk7dC5vbkFmdGVyUmVuZGVyKGgsZSxuLG8saSxhKX1mdW5jdGlvbiB3dCh0LGUsbil7ITAhPT1lLmlzU2NlbmUmJihlPVYpO2NvbnN0IG89cS5nZXQodCksaT1mLnN0YXRlLmxpZ2h0cyxhPWkuc3RhdGUudmVyc2lvbixyPXR0LmdldFBhcmFtZXRlcnModCxpLnN0YXRlLGYuc3RhdGUuc2hhZG93c0FycmF5LGUsbikscz10dC5nZXRQcm9ncmFtQ2FjaGVLZXkocik7bGV0IGw9by5wcm9ncmFtcztvLmVudmlyb25tZW50PXQuaXNNZXNoU3RhbmRhcmRNYXRlcmlhbD9lLmVudmlyb25tZW50Om51bGwsby5mb2c9ZS5mb2csby5lbnZNYXA9KHQuaXNNZXNoU3RhbmRhcmRNYXRlcmlhbD9LOlgpLmdldCh0LmVudk1hcHx8by5lbnZpcm9ubWVudCksdm9pZCAwPT09bCYmKHQuYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIseXQpLGw9bmV3IE1hcCxvLnByb2dyYW1zPWwpO2xldCBjPWwuZ2V0KHMpO2lmKHZvaWQgMCE9PWMpe2lmKG8uY3VycmVudFByb2dyYW09PT1jJiZvLmxpZ2h0c1N0YXRlVmVyc2lvbj09PWEpcmV0dXJuIGt0KHQsciksY31lbHNlIHIudW5pZm9ybXM9dHQuZ2V0VW5pZm9ybXModCksdC5vbkJ1aWxkKHIsaCksdC5vbkJlZm9yZUNvbXBpbGUocixoKSxjPXR0LmFjcXVpcmVQcm9ncmFtKHIscyksbC5zZXQocyxjKSxvLnVuaWZvcm1zPXIudW5pZm9ybXM7Y29uc3QgZD1vLnVuaWZvcm1zOyh0LmlzU2hhZGVyTWF0ZXJpYWx8fHQuaXNSYXdTaGFkZXJNYXRlcmlhbCkmJiEwIT09dC5jbGlwcGluZ3x8KGQuY2xpcHBpbmdQbGFuZXM9aXQudW5pZm9ybSksa3QodCxyKSxvLm5lZWRzTGlnaHRzPShmdW5jdGlvbiBwKHQpe3JldHVybiB0LmlzTWVzaExhbWJlcnRNYXRlcmlhbHx8dC5pc01lc2hUb29uTWF0ZXJpYWx8fHQuaXNNZXNoUGhvbmdNYXRlcmlhbHx8dC5pc01lc2hTdGFuZGFyZE1hdGVyaWFsfHx0LmlzU2hhZG93TWF0ZXJpYWx8fHQuaXNTaGFkZXJNYXRlcmlhbCYmITA9PT10LmxpZ2h0c30pKHQpLG8ubGlnaHRzU3RhdGVWZXJzaW9uPWEsby5uZWVkc0xpZ2h0cyYmKGQuYW1iaWVudExpZ2h0Q29sb3IudmFsdWU9aS5zdGF0ZS5hbWJpZW50LGQubGlnaHRQcm9iZS52YWx1ZT1pLnN0YXRlLnByb2JlLGQuZGlyZWN0aW9uYWxMaWdodHMudmFsdWU9aS5zdGF0ZS5kaXJlY3Rpb25hbCxkLmRpcmVjdGlvbmFsTGlnaHRTaGFkb3dzLnZhbHVlPWkuc3RhdGUuZGlyZWN0aW9uYWxTaGFkb3csZC5zcG90TGlnaHRzLnZhbHVlPWkuc3RhdGUuc3BvdCxkLnNwb3RMaWdodFNoYWRvd3MudmFsdWU9aS5zdGF0ZS5zcG90U2hhZG93LGQucmVjdEFyZWFMaWdodHMudmFsdWU9aS5zdGF0ZS5yZWN0QXJlYSxkLmx0Y18xLnZhbHVlPWkuc3RhdGUucmVjdEFyZWFMVEMxLGQubHRjXzIudmFsdWU9aS5zdGF0ZS5yZWN0QXJlYUxUQzIsZC5wb2ludExpZ2h0cy52YWx1ZT1pLnN0YXRlLnBvaW50LGQucG9pbnRMaWdodFNoYWRvd3MudmFsdWU9aS5zdGF0ZS5wb2ludFNoYWRvdyxkLmhlbWlzcGhlcmVMaWdodHMudmFsdWU9aS5zdGF0ZS5oZW1pLGQuZGlyZWN0aW9uYWxTaGFkb3dNYXAudmFsdWU9aS5zdGF0ZS5kaXJlY3Rpb25hbFNoYWRvd01hcCxkLmRpcmVjdGlvbmFsU2hhZG93TWF0cml4LnZhbHVlPWkuc3RhdGUuZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXgsZC5zcG90U2hhZG93TWFwLnZhbHVlPWkuc3RhdGUuc3BvdFNoYWRvd01hcCxkLnNwb3RTaGFkb3dNYXRyaXgudmFsdWU9aS5zdGF0ZS5zcG90U2hhZG93TWF0cml4LGQucG9pbnRTaGFkb3dNYXAudmFsdWU9aS5zdGF0ZS5wb2ludFNoYWRvd01hcCxkLnBvaW50U2hhZG93TWF0cml4LnZhbHVlPWkuc3RhdGUucG9pbnRTaGFkb3dNYXRyaXgpO2NvbnN0IG09Yy5nZXRVbmlmb3JtcygpLHU9WXB0LnNlcVdpdGhWYWx1ZShtLnNlcSxkKTtyZXR1cm4gby5jdXJyZW50UHJvZ3JhbT1jLG8udW5pZm9ybXNMaXN0PXUsY31mdW5jdGlvbiBrdCh0LGUpe2NvbnN0IG49cS5nZXQodCk7bi5vdXRwdXRFbmNvZGluZz1lLm91dHB1dEVuY29kaW5nLG4uaW5zdGFuY2luZz1lLmluc3RhbmNpbmcsbi5za2lubmluZz1lLnNraW5uaW5nLG4ubW9ycGhUYXJnZXRzPWUubW9ycGhUYXJnZXRzLG4ubW9ycGhOb3JtYWxzPWUubW9ycGhOb3JtYWxzLG4ubnVtQ2xpcHBpbmdQbGFuZXM9ZS5udW1DbGlwcGluZ1BsYW5lcyxuLm51bUludGVyc2VjdGlvbj1lLm51bUNsaXBJbnRlcnNlY3Rpb24sbi52ZXJ0ZXhBbHBoYXM9ZS52ZXJ0ZXhBbHBoYXMsbi52ZXJ0ZXhUYW5nZW50cz1lLnZlcnRleFRhbmdlbnRzfWZ1bmN0aW9uIFN0KHQsZSxuLG8peyEwIT09ZS5pc1NjZW5lJiYoZT1WKSxaLnJlc2V0VGV4dHVyZVVuaXRzKCk7Y29uc3QgaT1lLmZvZyxhPW51bGw9PT1DP2gub3V0cHV0RW5jb2Rpbmc6Qy50ZXh0dXJlLmVuY29kaW5nLHI9KG4uaXNNZXNoU3RhbmRhcmRNYXRlcmlhbD9LOlgpLmdldChuLmVudk1hcHx8KG4uaXNNZXNoU3RhbmRhcmRNYXRlcmlhbD9lLmVudmlyb25tZW50Om51bGwpKSxzPSEwPT09bi52ZXJ0ZXhDb2xvcnMmJiEhby5nZW9tZXRyeSYmISFvLmdlb21ldHJ5LmF0dHJpYnV0ZXMuY29sb3ImJjQ9PT1vLmdlb21ldHJ5LmF0dHJpYnV0ZXMuY29sb3IuaXRlbVNpemUsbD0hIW8uZ2VvbWV0cnkmJiEhby5nZW9tZXRyeS5hdHRyaWJ1dGVzLnRhbmdlbnQsYz0hIW8uZ2VvbWV0cnkmJiEhby5nZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb24sZD0hIW8uZ2VvbWV0cnkmJiEhby5nZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMubm9ybWFsLHA9cS5nZXQobiksbT1mLnN0YXRlLmxpZ2h0cztpZighMD09PUkmJighMD09PUh8fHQhPT12KSl7aXQuc2V0U3RhdGUobix0LHQ9PT12JiZuLmlkPT09TSl9bGV0IHU9ITE7bi52ZXJzaW9uPT09cC5fX3ZlcnNpb24/cC5uZWVkc0xpZ2h0cyYmcC5saWdodHNTdGF0ZVZlcnNpb24hPT1tLnN0YXRlLnZlcnNpb258fHAub3V0cHV0RW5jb2RpbmchPT1hfHxvLmlzSW5zdGFuY2VkTWVzaCYmITE9PT1wLmluc3RhbmNpbmc/dT0hMDpvLmlzSW5zdGFuY2VkTWVzaHx8ITAhPT1wLmluc3RhbmNpbmc/by5pc1NraW5uZWRNZXNoJiYhMT09PXAuc2tpbm5pbmc/dT0hMDpvLmlzU2tpbm5lZE1lc2h8fCEwIT09cC5za2lubmluZz9wLmVudk1hcCE9PXJ8fG4uZm9nJiZwLmZvZyE9PWk/dT0hMDp2b2lkIDA9PT1wLm51bUNsaXBwaW5nUGxhbmVzfHxwLm51bUNsaXBwaW5nUGxhbmVzPT09aXQubnVtUGxhbmVzJiZwLm51bUludGVyc2VjdGlvbj09PWl0Lm51bUludGVyc2VjdGlvbj8ocC52ZXJ0ZXhBbHBoYXMhPT1zfHxwLnZlcnRleFRhbmdlbnRzIT09bHx8cC5tb3JwaFRhcmdldHMhPT1jfHxwLm1vcnBoTm9ybWFscyE9PWQpJiYodT0hMCk6dT0hMDp1PSEwOnU9ITA6KHU9ITAscC5fX3ZlcnNpb249bi52ZXJzaW9uKTtsZXQgZz1wLmN1cnJlbnRQcm9ncmFtOyEwPT09dSYmKGc9d3QobixlLG8pKTtsZXQgYj0hMSx5PSExLF89ITE7Y29uc3QgeD1nLmdldFVuaWZvcm1zKCksTz1wLnVuaWZvcm1zO2lmKEcudXNlUHJvZ3JhbShnLnByb2dyYW0pJiYoYj0hMCx5PSEwLF89ITApLG4uaWQhPT1NJiYoTT1uLmlkLHk9ITApLGJ8fHYhPT10KXtpZih4LnNldFZhbHVlKG10LCJwcm9qZWN0aW9uTWF0cml4Iix0LnByb2plY3Rpb25NYXRyaXgpLFcubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlciYmeC5zZXRWYWx1ZShtdCwibG9nRGVwdGhCdWZGQyIsMi8oTWF0aC5sb2codC5mYXIrMSkvTWF0aC5MTjIpKSx2IT09dCYmKHY9dCx5PSEwLF89ITApLG4uaXNTaGFkZXJNYXRlcmlhbHx8bi5pc01lc2hQaG9uZ01hdGVyaWFsfHxuLmlzTWVzaFRvb25NYXRlcmlhbHx8bi5pc01lc2hTdGFuZGFyZE1hdGVyaWFsfHxuLmVudk1hcCl7Y29uc3QgZT14Lm1hcC5jYW1lcmFQb3NpdGlvbjt2b2lkIDAhPT1lJiZlLnNldFZhbHVlKG10LEIuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQubWF0cml4V29ybGQpKX0obi5pc01lc2hQaG9uZ01hdGVyaWFsfHxuLmlzTWVzaFRvb25NYXRlcmlhbHx8bi5pc01lc2hMYW1iZXJ0TWF0ZXJpYWx8fG4uaXNNZXNoQmFzaWNNYXRlcmlhbHx8bi5pc01lc2hTdGFuZGFyZE1hdGVyaWFsfHxuLmlzU2hhZGVyTWF0ZXJpYWwpJiZ4LnNldFZhbHVlKG10LCJpc09ydGhvZ3JhcGhpYyIsITA9PT10LmlzT3J0aG9ncmFwaGljQ2FtZXJhKSwobi5pc01lc2hQaG9uZ01hdGVyaWFsfHxuLmlzTWVzaFRvb25NYXRlcmlhbHx8bi5pc01lc2hMYW1iZXJ0TWF0ZXJpYWx8fG4uaXNNZXNoQmFzaWNNYXRlcmlhbHx8bi5pc01lc2hTdGFuZGFyZE1hdGVyaWFsfHxuLmlzU2hhZGVyTWF0ZXJpYWx8fG4uaXNTaGFkb3dNYXRlcmlhbHx8by5pc1NraW5uZWRNZXNoKSYmeC5zZXRWYWx1ZShtdCwidmlld01hdHJpeCIsdC5tYXRyaXhXb3JsZEludmVyc2UpfWlmKG8uaXNTa2lubmVkTWVzaCl7eC5zZXRPcHRpb25hbChtdCxvLCJiaW5kTWF0cml4IikseC5zZXRPcHRpb25hbChtdCxvLCJiaW5kTWF0cml4SW52ZXJzZSIpO2NvbnN0IHQ9by5za2VsZXRvbjt0JiYoVy5mbG9hdFZlcnRleFRleHR1cmVzPyhudWxsPT09dC5ib25lVGV4dHVyZSYmdC5jb21wdXRlQm9uZVRleHR1cmUoKSx4LnNldFZhbHVlKG10LCJib25lVGV4dHVyZSIsdC5ib25lVGV4dHVyZSxaKSx4LnNldFZhbHVlKG10LCJib25lVGV4dHVyZVNpemUiLHQuYm9uZVRleHR1cmVTaXplKSk6eC5zZXRPcHRpb25hbChtdCx0LCJib25lTWF0cmljZXMiKSl9cmV0dXJuKHl8fHAucmVjZWl2ZVNoYWRvdyE9PW8ucmVjZWl2ZVNoYWRvdykmJihwLnJlY2VpdmVTaGFkb3c9by5yZWNlaXZlU2hhZG93LHguc2V0VmFsdWUobXQsInJlY2VpdmVTaGFkb3ciLG8ucmVjZWl2ZVNoYWRvdykpLHkmJih4LnNldFZhbHVlKG10LCJ0b25lTWFwcGluZ0V4cG9zdXJlIixoLnRvbmVNYXBwaW5nRXhwb3N1cmUpLHAubmVlZHNMaWdodHMmJihmdW5jdGlvbiBQKHQsZSl7dC5hbWJpZW50TGlnaHRDb2xvci5uZWVkc1VwZGF0ZT1lLHQubGlnaHRQcm9iZS5uZWVkc1VwZGF0ZT1lLHQuZGlyZWN0aW9uYWxMaWdodHMubmVlZHNVcGRhdGU9ZSx0LmRpcmVjdGlvbmFsTGlnaHRTaGFkb3dzLm5lZWRzVXBkYXRlPWUsdC5wb2ludExpZ2h0cy5uZWVkc1VwZGF0ZT1lLHQucG9pbnRMaWdodFNoYWRvd3MubmVlZHNVcGRhdGU9ZSx0LnNwb3RMaWdodHMubmVlZHNVcGRhdGU9ZSx0LnNwb3RMaWdodFNoYWRvd3MubmVlZHNVcGRhdGU9ZSx0LnJlY3RBcmVhTGlnaHRzLm5lZWRzVXBkYXRlPWUsdC5oZW1pc3BoZXJlTGlnaHRzLm5lZWRzVXBkYXRlPWV9KShPLF8pLGkmJm4uZm9nJiZldC5yZWZyZXNoRm9nVW5pZm9ybXMoTyxpKSxldC5yZWZyZXNoTWF0ZXJpYWxVbmlmb3JtcyhPLG4sUyxrLEYpLFlwdC51cGxvYWQobXQscC51bmlmb3Jtc0xpc3QsTyxaKSksbi5pc1NoYWRlck1hdGVyaWFsJiYhMD09PW4udW5pZm9ybXNOZWVkVXBkYXRlJiYoWXB0LnVwbG9hZChtdCxwLnVuaWZvcm1zTGlzdCxPLFopLG4udW5pZm9ybXNOZWVkVXBkYXRlPSExKSxuLmlzU3ByaXRlTWF0ZXJpYWwmJnguc2V0VmFsdWUobXQsImNlbnRlciIsby5jZW50ZXIpLHguc2V0VmFsdWUobXQsIm1vZGVsVmlld01hdHJpeCIsby5tb2RlbFZpZXdNYXRyaXgpLHguc2V0VmFsdWUobXQsIm5vcm1hbE1hdHJpeCIsby5ub3JtYWxNYXRyaXgpLHguc2V0VmFsdWUobXQsIm1vZGVsTWF0cml4IixvLm1hdHJpeFdvcmxkKSxnfXZ0LnNldEFuaW1hdGlvbkxvb3AoKGZ1bmN0aW9uIER0KHQpe190JiZfdCh0KX0pKSwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmdnQuc2V0Q29udGV4dCh3aW5kb3cpLHRoaXMuc2V0QW5pbWF0aW9uTG9vcD1mdW5jdGlvbih0KXtfdD10LGd0LnNldEFuaW1hdGlvbkxvb3AodCksbnVsbD09PXQ/dnQuc3RvcCgpOnZ0LnN0YXJ0KCl9LGd0LmFkZEV2ZW50TGlzdGVuZXIoInNlc3Npb25zdGFydCIsQ3QpLGd0LmFkZEV2ZW50TGlzdGVuZXIoInNlc3Npb25lbmQiLE10KSx0aGlzLnJlbmRlcj1mdW5jdGlvbih0LGUpe2lmKHZvaWQgMCE9PWUmJiEwIT09ZS5pc0NhbWVyYSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyLnJlbmRlcjogY2FtZXJhIGlzIG5vdCBhbiBpbnN0YW5jZSBvZiBUSFJFRS5DYW1lcmEuIik7aWYoITA9PT1iKXJldHVybjshMD09PXQuYXV0b1VwZGF0ZSYmdC51cGRhdGVNYXRyaXhXb3JsZCgpLG51bGw9PT1lLnBhcmVudCYmZS51cGRhdGVNYXRyaXhXb3JsZCgpLCEwPT09Z3QuZW5hYmxlZCYmITA9PT1ndC5pc1ByZXNlbnRpbmcmJighMD09PWd0LmNhbWVyYUF1dG9VcGRhdGUmJmd0LnVwZGF0ZUNhbWVyYShlKSxlPWd0LmdldENhbWVyYSgpKSwhMD09PXQuaXNTY2VuZSYmdC5vbkJlZm9yZVJlbmRlcihoLHQsZSxDKSxmPW90LmdldCh0LGcubGVuZ3RoKSxmLmluaXQoKSxnLnB1c2goZiksTC5tdWx0aXBseU1hdHJpY2VzKGUucHJvamVjdGlvbk1hdHJpeCxlLm1hdHJpeFdvcmxkSW52ZXJzZSksei5zZXRGcm9tUHJvamVjdGlvbk1hdHJpeChMKSxIPXRoaXMubG9jYWxDbGlwcGluZ0VuYWJsZWQsST1pdC5pbml0KHRoaXMuY2xpcHBpbmdQbGFuZXMsSCxlKSxtPW50LmdldCh0LHUubGVuZ3RoKSxtLmluaXQoKSx1LnB1c2gobSkseHQodCxlLDAsaC5zb3J0T2JqZWN0cyksbS5maW5pc2goKSwhMD09PWguc29ydE9iamVjdHMmJm0uc29ydChELFIpLCEwPT09SSYmaXQuYmVnaW5TaGFkb3dzKCk7YXQucmVuZGVyKGYuc3RhdGUuc2hhZG93c0FycmF5LHQsZSksZi5zZXR1cExpZ2h0cygpLGYuc2V0dXBMaWdodHNWaWV3KGUpLCEwPT09SSYmaXQuZW5kU2hhZG93cygpLCEwPT09dGhpcy5pbmZvLmF1dG9SZXNldCYmdGhpcy5pbmZvLnJlc2V0KCkscnQucmVuZGVyKG0sdCk7Y29uc3Qgbj1tLm9wYXF1ZSxvPW0udHJhbnNtaXNzaXZlLGk9bS50cmFuc3BhcmVudDtuLmxlbmd0aD4wJiZPdChuLHQsZSksby5sZW5ndGg+MCYmKGZ1bmN0aW9uIGEodCxlLG4sbyl7aWYobnVsbD09PUYpe0Y9bmV3KCEwPT09cyYmITA9PT1XLmlzV2ViR0wyP09zdDp4c3QpKDEwMjQsMTAyNCx7Z2VuZXJhdGVNaXBtYXBzOiEwLHR5cGU6bnVsbCE9PWR0LmNvbnZlcnQoTHJ0KT9McnQ6enJ0LG1pbkZpbHRlcjpOcnQsbWFnRmlsdGVyOkFydCx3cmFwUzpScnQsd3JhcFQ6UnJ0fSl9Y29uc3QgaT1oLmdldFJlbmRlclRhcmdldCgpO2guc2V0UmVuZGVyVGFyZ2V0KEYpLGguY2xlYXIoKTtjb25zdCBhPWgudG9uZU1hcHBpbmc7aC50b25lTWFwcGluZz0wLE90KHQsbixvKSxoLnRvbmVNYXBwaW5nPWEsWi51cGRhdGVNdWx0aXNhbXBsZVJlbmRlclRhcmdldChGKSxaLnVwZGF0ZVJlbmRlclRhcmdldE1pcG1hcChGKSxoLnNldFJlbmRlclRhcmdldChpKSxPdChlLG4sbyl9KShuLG8sdCxlKSxpLmxlbmd0aD4wJiZPdChpLHQsZSksbnVsbCE9PUMmJihaLnVwZGF0ZU11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0KEMpLFoudXBkYXRlUmVuZGVyVGFyZ2V0TWlwbWFwKEMpKSwhMD09PXQuaXNTY2VuZSYmdC5vbkFmdGVyUmVuZGVyKGgsdCxlKSxHLmJ1ZmZlcnMuZGVwdGguc2V0VGVzdCghMCksRy5idWZmZXJzLmRlcHRoLnNldE1hc2soITApLEcuYnVmZmVycy5jb2xvci5zZXRNYXNrKCEwKSxHLnNldFBvbHlnb25PZmZzZXQoITEpLHB0LnJlc2V0RGVmYXVsdFN0YXRlKCksTT0tMSx2PW51bGwsZy5wb3AoKSxmPWcubGVuZ3RoPjA/Z1tnLmxlbmd0aC0xXTpudWxsLHUucG9wKCksbT11Lmxlbmd0aD4wP3VbdS5sZW5ndGgtMV06bnVsbH0sdGhpcy5nZXRBY3RpdmVDdWJlRmFjZT1mdW5jdGlvbigpe3JldHVybiB5fSx0aGlzLmdldEFjdGl2ZU1pcG1hcExldmVsPWZ1bmN0aW9uKCl7cmV0dXJuIF99LHRoaXMuZ2V0UmVuZGVyVGFyZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIEN9LHRoaXMuc2V0UmVuZGVyVGFyZ2V0PWZ1bmN0aW9uKHQsZT0wLG49MCl7Qz10LHk9ZSxfPW4sdCYmdm9pZCAwPT09cS5nZXQodCkuX193ZWJnbEZyYW1lYnVmZmVyJiZaLnNldHVwUmVuZGVyVGFyZ2V0KHQpO2xldCBvPW51bGwsaT0hMSxhPSExO2lmKHQpe2NvbnN0IG49dC50ZXh0dXJlOyhuLmlzRGF0YVRleHR1cmUzRHx8bi5pc0RhdGFUZXh0dXJlMkRBcnJheSkmJihhPSEwKTtjb25zdCByPXEuZ2V0KHQpLl9fd2ViZ2xGcmFtZWJ1ZmZlcjt0LmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0PyhvPXJbZV0saT0hMCk6bz10LmlzV2ViR0xNdWx0aXNhbXBsZVJlbmRlclRhcmdldD9xLmdldCh0KS5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXI6cix4LmNvcHkodC52aWV3cG9ydCksTy5jb3B5KHQuc2Npc3NvciksUD10LnNjaXNzb3JUZXN0fWVsc2UgeC5jb3B5KEUpLm11bHRpcGx5U2NhbGFyKFMpLmZsb29yKCksTy5jb3B5KEEpLm11bHRpcGx5U2NhbGFyKFMpLmZsb29yKCksUD1UO2lmKEcuYmluZEZyYW1lYnVmZmVyKDM2MTYwLG8pJiZXLmRyYXdCdWZmZXJzKXtsZXQgZT0hMTtpZih0KWlmKHQuaXNXZWJHTE11bHRpcGxlUmVuZGVyVGFyZ2V0cyl7Y29uc3Qgbj10LnRleHR1cmU7aWYoTi5sZW5ndGghPT1uLmxlbmd0aHx8MzYwNjQhPT1OWzBdKXtmb3IobGV0IHQ9MCxlPW4ubGVuZ3RoO3Q8ZTt0KyspTlt0XT0zNjA2NCt0O04ubGVuZ3RoPW4ubGVuZ3RoLGU9ITB9fWVsc2UgMT09PU4ubGVuZ3RoJiYzNjA2ND09PU5bMF18fChOWzBdPTM2MDY0LE4ubGVuZ3RoPTEsZT0hMCk7ZWxzZSAxPT09Ti5sZW5ndGgmJjEwMjk9PT1OWzBdfHwoTlswXT0xMDI5LE4ubGVuZ3RoPTEsZT0hMCk7ZSYmKFcuaXNXZWJHTDI/bXQuZHJhd0J1ZmZlcnMoTik6VS5nZXQoIldFQkdMX2RyYXdfYnVmZmVycyIpLmRyYXdCdWZmZXJzV0VCR0woTikpfWlmKEcudmlld3BvcnQoeCksRy5zY2lzc29yKE8pLEcuc2V0U2Npc3NvclRlc3QoUCksaSl7Y29uc3Qgbz1xLmdldCh0LnRleHR1cmUpO210LmZyYW1lYnVmZmVyVGV4dHVyZTJEKDM2MTYwLDM2MDY0LDM0MDY5K2Usby5fX3dlYmdsVGV4dHVyZSxuKX1lbHNlIGlmKGEpe2NvbnN0IG89cS5nZXQodC50ZXh0dXJlKTttdC5mcmFtZWJ1ZmZlclRleHR1cmVMYXllcigzNjE2MCwzNjA2NCxvLl9fd2ViZ2xUZXh0dXJlLG58fDAsZXx8MCl9fSx0aGlzLnJlYWRSZW5kZXJUYXJnZXRQaXhlbHM9ZnVuY3Rpb24odCxlLG4sbyxpLGEscil7aWYoIXR8fCF0LmlzV2ViR0xSZW5kZXJUYXJnZXQpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xSZW5kZXJlci5yZWFkUmVuZGVyVGFyZ2V0UGl4ZWxzOiByZW5kZXJUYXJnZXQgaXMgbm90IFRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0LiIpO2xldCBzPXEuZ2V0KHQpLl9fd2ViZ2xGcmFtZWJ1ZmZlcjtpZih0LmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0JiZ2b2lkIDAhPT1yJiYocz1zW3JdKSxzKXtHLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxzKTt0cnl7Y29uc3Qgcj10LnRleHR1cmUscz1yLmZvcm1hdCxsPXIudHlwZTtpZihzIT09anJ0JiZkdC5jb252ZXJ0KHMpIT09bXQuZ2V0UGFyYW1ldGVyKDM1NzM5KSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyLnJlYWRSZW5kZXJUYXJnZXRQaXhlbHM6IHJlbmRlclRhcmdldCBpcyBub3QgaW4gUkdCQSBvciBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIGZvcm1hdC4iKTtjb25zdCBjPWw9PT1McnQmJihVLmhhcygiRVhUX2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0Iil8fFcuaXNXZWJHTDImJlUuaGFzKCJFWFRfY29sb3JfYnVmZmVyX2Zsb2F0IikpO2lmKCEobD09PXpydHx8ZHQuY29udmVydChsKT09PW10LmdldFBhcmFtZXRlcigzNTczOCl8fGw9PT1GcnQmJihXLmlzV2ViR0wyfHxVLmhhcygiT0VTX3RleHR1cmVfZmxvYXQiKXx8VS5oYXMoIldFQkdMX2NvbG9yX2J1ZmZlcl9mbG9hdCIpKXx8YykpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xSZW5kZXJlci5yZWFkUmVuZGVyVGFyZ2V0UGl4ZWxzOiByZW5kZXJUYXJnZXQgaXMgbm90IGluIFVuc2lnbmVkQnl0ZVR5cGUgb3IgaW1wbGVtZW50YXRpb24gZGVmaW5lZCB0eXBlLiIpOzM2MDUzPT09bXQuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cygzNjE2MCk/ZT49MCYmZTw9dC53aWR0aC1vJiZuPj0wJiZuPD10LmhlaWdodC1pJiZtdC5yZWFkUGl4ZWxzKGUsbixvLGksZHQuY29udmVydChzKSxkdC5jb252ZXJ0KGwpLGEpOmNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXIucmVhZFJlbmRlclRhcmdldFBpeGVsczogcmVhZFBpeGVscyBmcm9tIHJlbmRlclRhcmdldCBmYWlsZWQuIEZyYW1lYnVmZmVyIG5vdCBjb21wbGV0ZS4iKX1maW5hbGx5e2NvbnN0IHQ9bnVsbCE9PUM/cS5nZXQoQykuX193ZWJnbEZyYW1lYnVmZmVyOm51bGw7Ry5iaW5kRnJhbWVidWZmZXIoMzYxNjAsdCl9fX0sdGhpcy5jb3B5RnJhbWVidWZmZXJUb1RleHR1cmU9ZnVuY3Rpb24odCxlLG49MCl7Y29uc3Qgbz1NYXRoLnBvdygyLC1uKSxpPU1hdGguZmxvb3IoZS5pbWFnZS53aWR0aCpvKSxhPU1hdGguZmxvb3IoZS5pbWFnZS5oZWlnaHQqbyk7bGV0IHI9ZHQuY29udmVydChlLmZvcm1hdCk7Vy5pc1dlYkdMMiYmKDY0MDc9PT1yJiYocj0zMjg0OSksNjQwOD09PXImJihyPTMyODU2KSksWi5zZXRUZXh0dXJlMkQoZSwwKSxtdC5jb3B5VGV4SW1hZ2UyRCgzNTUzLG4scix0LngsdC55LGksYSwwKSxHLnVuYmluZFRleHR1cmUoKX0sdGhpcy5jb3B5VGV4dHVyZVRvVGV4dHVyZT1mdW5jdGlvbih0LGUsbixvPTApe2NvbnN0IGk9ZS5pbWFnZS53aWR0aCxhPWUuaW1hZ2UuaGVpZ2h0LHI9ZHQuY29udmVydChuLmZvcm1hdCkscz1kdC5jb252ZXJ0KG4udHlwZSk7Wi5zZXRUZXh0dXJlMkQobiwwKSxtdC5waXhlbFN0b3JlaSgzNzQ0MCxuLmZsaXBZKSxtdC5waXhlbFN0b3JlaSgzNzQ0MSxuLnByZW11bHRpcGx5QWxwaGEpLG10LnBpeGVsU3RvcmVpKDMzMTcsbi51bnBhY2tBbGlnbm1lbnQpLGUuaXNEYXRhVGV4dHVyZT9tdC50ZXhTdWJJbWFnZTJEKDM1NTMsbyx0LngsdC55LGksYSxyLHMsZS5pbWFnZS5kYXRhKTplLmlzQ29tcHJlc3NlZFRleHR1cmU/bXQuY29tcHJlc3NlZFRleFN1YkltYWdlMkQoMzU1MyxvLHQueCx0LnksZS5taXBtYXBzWzBdLndpZHRoLGUubWlwbWFwc1swXS5oZWlnaHQscixlLm1pcG1hcHNbMF0uZGF0YSk6bXQudGV4U3ViSW1hZ2UyRCgzNTUzLG8sdC54LHQueSxyLHMsZS5pbWFnZSksMD09PW8mJm4uZ2VuZXJhdGVNaXBtYXBzJiZtdC5nZW5lcmF0ZU1pcG1hcCgzNTUzKSxHLnVuYmluZFRleHR1cmUoKX0sdGhpcy5jb3B5VGV4dHVyZVRvVGV4dHVyZTNEPWZ1bmN0aW9uKHQsZSxuLG8saT0wKXtpZihoLmlzV2ViR0wxUmVuZGVyZXIpcmV0dXJuIHZvaWQgY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyLmNvcHlUZXh0dXJlVG9UZXh0dXJlM0Q6IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBXZWJHTDIuIik7Y29uc3QgYT10Lm1heC54LXQubWluLngrMSxyPXQubWF4LnktdC5taW4ueSsxLHM9dC5tYXguei10Lm1pbi56KzEsbD1kdC5jb252ZXJ0KG8uZm9ybWF0KSxjPWR0LmNvbnZlcnQoby50eXBlKTtsZXQgZDtpZihvLmlzRGF0YVRleHR1cmUzRClaLnNldFRleHR1cmUzRChvLDApLGQ9MzI4Nzk7ZWxzZXtpZighby5pc0RhdGFUZXh0dXJlMkRBcnJheSlyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXIuY29weVRleHR1cmVUb1RleHR1cmUzRDogb25seSBzdXBwb3J0cyBUSFJFRS5EYXRhVGV4dHVyZTNEIGFuZCBUSFJFRS5EYXRhVGV4dHVyZTJEQXJyYXkuIik7Wi5zZXRUZXh0dXJlMkRBcnJheShvLDApLGQ9MzU4NjZ9bXQucGl4ZWxTdG9yZWkoMzc0NDAsby5mbGlwWSksbXQucGl4ZWxTdG9yZWkoMzc0NDEsby5wcmVtdWx0aXBseUFscGhhKSxtdC5waXhlbFN0b3JlaSgzMzE3LG8udW5wYWNrQWxpZ25tZW50KTtjb25zdCBwPW10LmdldFBhcmFtZXRlcigzMzE0KSxtPW10LmdldFBhcmFtZXRlcigzMjg3OCksZj1tdC5nZXRQYXJhbWV0ZXIoMzMxNiksdT1tdC5nZXRQYXJhbWV0ZXIoMzMxNSksZz1tdC5nZXRQYXJhbWV0ZXIoMzI4NzcpLGI9bi5pc0NvbXByZXNzZWRUZXh0dXJlP24ubWlwbWFwc1swXTpuLmltYWdlO210LnBpeGVsU3RvcmVpKDMzMTQsYi53aWR0aCksbXQucGl4ZWxTdG9yZWkoMzI4NzgsYi5oZWlnaHQpLG10LnBpeGVsU3RvcmVpKDMzMTYsdC5taW4ueCksbXQucGl4ZWxTdG9yZWkoMzMxNSx0Lm1pbi55KSxtdC5waXhlbFN0b3JlaSgzMjg3Nyx0Lm1pbi56KSxuLmlzRGF0YVRleHR1cmV8fG4uaXNEYXRhVGV4dHVyZTNEP210LnRleFN1YkltYWdlM0QoZCxpLGUueCxlLnksZS56LGEscixzLGwsYyxiLmRhdGEpOm4uaXNDb21wcmVzc2VkVGV4dHVyZT8oY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyLmNvcHlUZXh0dXJlVG9UZXh0dXJlM0Q6IHVudGVzdGVkIHN1cHBvcnQgZm9yIGNvbXByZXNzZWQgc3JjVGV4dHVyZS4iKSxtdC5jb21wcmVzc2VkVGV4U3ViSW1hZ2UzRChkLGksZS54LGUueSxlLnosYSxyLHMsbCxiLmRhdGEpKTptdC50ZXhTdWJJbWFnZTNEKGQsaSxlLngsZS55LGUueixhLHIscyxsLGMsYiksbXQucGl4ZWxTdG9yZWkoMzMxNCxwKSxtdC5waXhlbFN0b3JlaSgzMjg3OCxtKSxtdC5waXhlbFN0b3JlaSgzMzE2LGYpLG10LnBpeGVsU3RvcmVpKDMzMTUsdSksbXQucGl4ZWxTdG9yZWkoMzI4NzcsZyksMD09PWkmJm8uZ2VuZXJhdGVNaXBtYXBzJiZtdC5nZW5lcmF0ZU1pcG1hcChkKSxHLnVuYmluZFRleHR1cmUoKX0sdGhpcy5pbml0VGV4dHVyZT1mdW5jdGlvbih0KXtaLnNldFRleHR1cmUyRCh0LDApLEcudW5iaW5kVGV4dHVyZSgpfSx0aGlzLnJlc2V0U3RhdGU9ZnVuY3Rpb24oKXt5PTAsXz0wLEM9bnVsbCxHLnJlc2V0KCkscHQucmVzZXQoKX0sInVuZGVmaW5lZCIhPXR5cGVvZiBfX1RIUkVFX0RFVlRPT0xTX18mJl9fVEhSRUVfREVWVE9PTFNfXy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgib2JzZXJ2ZSIse2RldGFpbDp0aGlzfSkpfShjbGFzcyBleHRlbmRzIEhtdHt9KS5wcm90b3R5cGUuaXNXZWJHTDFSZW5kZXJlcj0hMDtjbGFzcyBGbXQgZXh0ZW5kcyBTbHR7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iU2NlbmUiLHRoaXMuYmFja2dyb3VuZD1udWxsLHRoaXMuZW52aXJvbm1lbnQ9bnVsbCx0aGlzLmZvZz1udWxsLHRoaXMub3ZlcnJpZGVNYXRlcmlhbD1udWxsLHRoaXMuYXV0b1VwZGF0ZT0hMCwidW5kZWZpbmVkIiE9dHlwZW9mIF9fVEhSRUVfREVWVE9PTFNfXyYmX19USFJFRV9ERVZUT09MU19fLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJvYnNlcnZlIix7ZGV0YWlsOnRoaXN9KSl9Y29weSh0LGUpe3JldHVybiBzdXBlci5jb3B5KHQsZSksbnVsbCE9PXQuYmFja2dyb3VuZCYmKHRoaXMuYmFja2dyb3VuZD10LmJhY2tncm91bmQuY2xvbmUoKSksbnVsbCE9PXQuZW52aXJvbm1lbnQmJih0aGlzLmVudmlyb25tZW50PXQuZW52aXJvbm1lbnQuY2xvbmUoKSksbnVsbCE9PXQuZm9nJiYodGhpcy5mb2c9dC5mb2cuY2xvbmUoKSksbnVsbCE9PXQub3ZlcnJpZGVNYXRlcmlhbCYmKHRoaXMub3ZlcnJpZGVNYXRlcmlhbD10Lm92ZXJyaWRlTWF0ZXJpYWwuY2xvbmUoKSksdGhpcy5hdXRvVXBkYXRlPXQuYXV0b1VwZGF0ZSx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9dC5tYXRyaXhBdXRvVXBkYXRlLHRoaXN9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO3JldHVybiBudWxsIT09dGhpcy5mb2cmJihlLm9iamVjdC5mb2c9dGhpcy5mb2cudG9KU09OKCkpLGV9fUZtdC5wcm90b3R5cGUuaXNTY2VuZT0hMDtjbGFzcyBMbXR7Y29uc3RydWN0b3IodCxlKXt0aGlzLmFycmF5PXQsdGhpcy5zdHJpZGU9ZSx0aGlzLmNvdW50PXZvaWQgMCE9PXQ/dC5sZW5ndGgvZTowLHRoaXMudXNhZ2U9b3N0LHRoaXMudXBkYXRlUmFuZ2U9e29mZnNldDowLGNvdW50Oi0xfSx0aGlzLnZlcnNpb249MCx0aGlzLnV1aWQ9ZHN0KCl9b25VcGxvYWRDYWxsYmFjaygpe31zZXQgbmVlZHNVcGRhdGUodCl7ITA9PT10JiZ0aGlzLnZlcnNpb24rK31zZXRVc2FnZSh0KXtyZXR1cm4gdGhpcy51c2FnZT10LHRoaXN9Y29weSh0KXtyZXR1cm4gdGhpcy5hcnJheT1uZXcgdC5hcnJheS5jb25zdHJ1Y3Rvcih0LmFycmF5KSx0aGlzLmNvdW50PXQuY291bnQsdGhpcy5zdHJpZGU9dC5zdHJpZGUsdGhpcy51c2FnZT10LnVzYWdlLHRoaXN9Y29weUF0KHQsZSxuKXt0Kj10aGlzLnN0cmlkZSxuKj1lLnN0cmlkZTtmb3IobGV0IG89MCxpPXRoaXMuc3RyaWRlO288aTtvKyspdGhpcy5hcnJheVt0K29dPWUuYXJyYXlbbitvXTtyZXR1cm4gdGhpc31zZXQodCxlPTApe3JldHVybiB0aGlzLmFycmF5LnNldCh0LGUpLHRoaXN9Y2xvbmUodCl7dm9pZCAwPT09dC5hcnJheUJ1ZmZlcnMmJih0LmFycmF5QnVmZmVycz17fSksdm9pZCAwPT09dGhpcy5hcnJheS5idWZmZXIuX3V1aWQmJih0aGlzLmFycmF5LmJ1ZmZlci5fdXVpZD1kc3QoKSksdm9pZCAwPT09dC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdJiYodC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdPXRoaXMuYXJyYXkuc2xpY2UoMCkuYnVmZmVyKTtjb25zdCBlPW5ldyB0aGlzLmFycmF5LmNvbnN0cnVjdG9yKHQuYXJyYXlCdWZmZXJzW3RoaXMuYXJyYXkuYnVmZmVyLl91dWlkXSksbj1uZXcgdGhpcy5jb25zdHJ1Y3RvcihlLHRoaXMuc3RyaWRlKTtyZXR1cm4gbi5zZXRVc2FnZSh0aGlzLnVzYWdlKSxufW9uVXBsb2FkKHQpe3JldHVybiB0aGlzLm9uVXBsb2FkQ2FsbGJhY2s9dCx0aGlzfXRvSlNPTih0KXtyZXR1cm4gdm9pZCAwPT09dC5hcnJheUJ1ZmZlcnMmJih0LmFycmF5QnVmZmVycz17fSksdm9pZCAwPT09dGhpcy5hcnJheS5idWZmZXIuX3V1aWQmJih0aGlzLmFycmF5LmJ1ZmZlci5fdXVpZD1kc3QoKSksdm9pZCAwPT09dC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdJiYodC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG5ldyBVaW50MzJBcnJheSh0aGlzLmFycmF5LmJ1ZmZlcikpKSx7dXVpZDp0aGlzLnV1aWQsYnVmZmVyOnRoaXMuYXJyYXkuYnVmZmVyLl91dWlkLHR5cGU6dGhpcy5hcnJheS5jb25zdHJ1Y3Rvci5uYW1lLHN0cmlkZTp0aGlzLnN0cmlkZX19fUxtdC5wcm90b3R5cGUuaXNJbnRlcmxlYXZlZEJ1ZmZlcj0hMDtjb25zdCBCbXQ9bmV3IHdzdDtjbGFzcyBWbXR7Y29uc3RydWN0b3IodCxlLG4sbz0hMSl7dGhpcy5uYW1lPSIiLHRoaXMuZGF0YT10LHRoaXMuaXRlbVNpemU9ZSx0aGlzLm9mZnNldD1uLHRoaXMubm9ybWFsaXplZD0hMD09PW99Z2V0IGNvdW50KCl7cmV0dXJuIHRoaXMuZGF0YS5jb3VudH1nZXQgYXJyYXkoKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5fXNldCBuZWVkc1VwZGF0ZSh0KXt0aGlzLmRhdGEubmVlZHNVcGRhdGU9dH1hcHBseU1hdHJpeDQodCl7Zm9yKGxldCBlPTAsbj10aGlzLmRhdGEuY291bnQ7ZTxuO2UrKylCbXQueD10aGlzLmdldFgoZSksQm10Lnk9dGhpcy5nZXRZKGUpLEJtdC56PXRoaXMuZ2V0WihlKSxCbXQuYXBwbHlNYXRyaXg0KHQpLHRoaXMuc2V0WFlaKGUsQm10LngsQm10LnksQm10LnopO3JldHVybiB0aGlzfWFwcGx5Tm9ybWFsTWF0cml4KHQpe2ZvcihsZXQgZT0wLG49dGhpcy5jb3VudDtlPG47ZSsrKUJtdC54PXRoaXMuZ2V0WChlKSxCbXQueT10aGlzLmdldFkoZSksQm10Lno9dGhpcy5nZXRaKGUpLEJtdC5hcHBseU5vcm1hbE1hdHJpeCh0KSx0aGlzLnNldFhZWihlLEJtdC54LEJtdC55LEJtdC56KTtyZXR1cm4gdGhpc310cmFuc2Zvcm1EaXJlY3Rpb24odCl7Zm9yKGxldCBlPTAsbj10aGlzLmNvdW50O2U8bjtlKyspQm10Lng9dGhpcy5nZXRYKGUpLEJtdC55PXRoaXMuZ2V0WShlKSxCbXQuej10aGlzLmdldFooZSksQm10LnRyYW5zZm9ybURpcmVjdGlvbih0KSx0aGlzLnNldFhZWihlLEJtdC54LEJtdC55LEJtdC56KTtyZXR1cm4gdGhpc31zZXRYKHQsZSl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVt0KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXRdPWUsdGhpc31zZXRZKHQsZSl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVt0KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQrMV09ZSx0aGlzfXNldFoodCxlKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5W3QqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldCsyXT1lLHRoaXN9c2V0Vyh0LGUpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbdCp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzNdPWUsdGhpc31nZXRYKHQpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbdCp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0XX1nZXRZKHQpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbdCp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzFdfWdldFoodCl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVt0KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQrMl19Z2V0Vyh0KXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5W3QqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldCszXX1zZXRYWSh0LGUsbil7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVsodD10KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQpKzBdPWUsdGhpcy5kYXRhLmFycmF5W3QrMV09bix0aGlzfXNldFhZWih0LGUsbixvKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5Wyh0PXQqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldCkrMF09ZSx0aGlzLmRhdGEuYXJyYXlbdCsxXT1uLHRoaXMuZGF0YS5hcnJheVt0KzJdPW8sdGhpc31zZXRYWVpXKHQsZSxuLG8saSl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVsodD10KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQpKzBdPWUsdGhpcy5kYXRhLmFycmF5W3QrMV09bix0aGlzLmRhdGEuYXJyYXlbdCsyXT1vLHRoaXMuZGF0YS5hcnJheVt0KzNdPWksdGhpc31jbG9uZSh0KXtpZih2b2lkIDA9PT10KXtjb25zb2xlLmxvZygiVEhSRUUuSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUuY2xvbmUoKTogQ2xvbmluZyBhbiBpbnRlcmxhdmVkIGJ1ZmZlciBhdHRyaWJ1dGUgd2lsbCBkZWludGVybGVhdmUgYnVmZmVyIGRhdGEuIik7Y29uc3QgdD1bXTtmb3IobGV0IGU9MDtlPHRoaXMuY291bnQ7ZSsrKXtjb25zdCBuPWUqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldDtmb3IobGV0IGU9MDtlPHRoaXMuaXRlbVNpemU7ZSsrKXQucHVzaCh0aGlzLmRhdGEuYXJyYXlbbitlXSl9cmV0dXJuIG5ldyBRbHQobmV3IHRoaXMuYXJyYXkuY29uc3RydWN0b3IodCksdGhpcy5pdGVtU2l6ZSx0aGlzLm5vcm1hbGl6ZWQpfXJldHVybiB2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVycyYmKHQuaW50ZXJsZWF2ZWRCdWZmZXJzPXt9KSx2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF0mJih0LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF09dGhpcy5kYXRhLmNsb25lKHQpKSxuZXcgVm10KHQuaW50ZXJsZWF2ZWRCdWZmZXJzW3RoaXMuZGF0YS51dWlkXSx0aGlzLml0ZW1TaXplLHRoaXMub2Zmc2V0LHRoaXMubm9ybWFsaXplZCl9dG9KU09OKHQpe2lmKHZvaWQgMD09PXQpe2NvbnNvbGUubG9nKCJUSFJFRS5JbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZS50b0pTT04oKTogU2VyaWFsaXppbmcgYW4gaW50ZXJsYXZlZCBidWZmZXIgYXR0cmlidXRlIHdpbGwgZGVpbnRlcmxlYXZlIGJ1ZmZlciBkYXRhLiIpO2NvbnN0IHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLmNvdW50O2UrKyl7Y29uc3Qgbj1lKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQ7Zm9yKGxldCBlPTA7ZTx0aGlzLml0ZW1TaXplO2UrKyl0LnB1c2godGhpcy5kYXRhLmFycmF5W24rZV0pfXJldHVybntpdGVtU2l6ZTp0aGlzLml0ZW1TaXplLHR5cGU6dGhpcy5hcnJheS5jb25zdHJ1Y3Rvci5uYW1lLGFycmF5OnQsbm9ybWFsaXplZDp0aGlzLm5vcm1hbGl6ZWR9fXJldHVybiB2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVycyYmKHQuaW50ZXJsZWF2ZWRCdWZmZXJzPXt9KSx2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF0mJih0LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF09dGhpcy5kYXRhLnRvSlNPTih0KSkse2lzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGU6ITAsaXRlbVNpemU6dGhpcy5pdGVtU2l6ZSxkYXRhOnRoaXMuZGF0YS51dWlkLG9mZnNldDp0aGlzLm9mZnNldCxub3JtYWxpemVkOnRoaXMubm9ybWFsaXplZH19fVZtdC5wcm90b3R5cGUuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZT0hMDtjbGFzcyBqbXQgZXh0ZW5kcyBWbHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlNwcml0ZU1hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBabHQoMTY3NzcyMTUpLHRoaXMubWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMucm90YXRpb249MCx0aGlzLnNpemVBdHRlbnVhdGlvbj0hMCx0aGlzLnRyYW5zcGFyZW50PSEwLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMuYWxwaGFNYXA9dC5hbHBoYU1hcCx0aGlzLnJvdGF0aW9uPXQucm90YXRpb24sdGhpcy5zaXplQXR0ZW51YXRpb249dC5zaXplQXR0ZW51YXRpb24sdGhpc319bGV0IFVtdDtqbXQucHJvdG90eXBlLmlzU3ByaXRlTWF0ZXJpYWw9ITA7Y29uc3QgV210PW5ldyB3c3QsR210PW5ldyB3c3QsWW10PW5ldyB3c3QscW10PW5ldyBnc3QsWm10PW5ldyBnc3QsWG10PW5ldyBvbHQsS210PW5ldyB3c3QsSm10PW5ldyB3c3QsUW10PW5ldyB3c3QsJG10PW5ldyBnc3QsdGZ0PW5ldyBnc3QsZWZ0PW5ldyBnc3Q7ZnVuY3Rpb24gbmZ0KHQsZSxuLG8saSxhKXtxbXQuc3ViVmVjdG9ycyh0LG4pLmFkZFNjYWxhciguNSkubXVsdGlwbHkobyksdm9pZCAwIT09aT8oWm10Lng9YSpxbXQueC1pKnFtdC55LFptdC55PWkqcW10LngrYSpxbXQueSk6Wm10LmNvcHkocW10KSx0LmNvcHkoZSksdC54Kz1abXQueCx0LnkrPVptdC55LHQuYXBwbHlNYXRyaXg0KFhtdCl9KGNsYXNzIGV4dGVuZHMgU2x0e2NvbnN0cnVjdG9yKHQpe2lmKHN1cGVyKCksdGhpcy50eXBlPSJTcHJpdGUiLHZvaWQgMD09PVVtdCl7VW10PW5ldyBkY3Q7Y29uc3QgdD1uZXcgRmxvYXQzMkFycmF5KFstLjUsLS41LDAsMCwwLC41LC0uNSwwLDEsMCwuNSwuNSwwLDEsMSwtLjUsLjUsMCwwLDFdKSxlPW5ldyBMbXQodCw1KTtVbXQuc2V0SW5kZXgoWzAsMSwyLDAsMiwzXSksVW10LnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBWbXQoZSwzLDAsITEpKSxVbXQuc2V0QXR0cmlidXRlKCJ1diIsbmV3IFZtdChlLDIsMywhMSkpfXRoaXMuZ2VvbWV0cnk9VW10LHRoaXMubWF0ZXJpYWw9dm9pZCAwIT09dD90Om5ldyBqbXQsdGhpcy5jZW50ZXI9bmV3IGdzdCguNSwuNSl9cmF5Y2FzdCh0LGUpe251bGw9PT10LmNhbWVyYSYmY29uc29sZS5lcnJvcignVEhSRUUuU3ByaXRlOiAiUmF5Y2FzdGVyLmNhbWVyYSIgbmVlZHMgdG8gYmUgc2V0IGluIG9yZGVyIHRvIHJheWNhc3QgYWdhaW5zdCBzcHJpdGVzLicpLEdtdC5zZXRGcm9tTWF0cml4U2NhbGUodGhpcy5tYXRyaXhXb3JsZCksWG10LmNvcHkodC5jYW1lcmEubWF0cml4V29ybGQpLHRoaXMubW9kZWxWaWV3TWF0cml4Lm11bHRpcGx5TWF0cmljZXModC5jYW1lcmEubWF0cml4V29ybGRJbnZlcnNlLHRoaXMubWF0cml4V29ybGQpLFltdC5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tb2RlbFZpZXdNYXRyaXgpLHQuY2FtZXJhLmlzUGVyc3BlY3RpdmVDYW1lcmEmJiExPT09dGhpcy5tYXRlcmlhbC5zaXplQXR0ZW51YXRpb24mJkdtdC5tdWx0aXBseVNjYWxhcigtWW10LnopO2NvbnN0IG49dGhpcy5tYXRlcmlhbC5yb3RhdGlvbjtsZXQgbyxpOzAhPT1uJiYoaT1NYXRoLmNvcyhuKSxvPU1hdGguc2luKG4pKTtjb25zdCBhPXRoaXMuY2VudGVyO25mdChLbXQuc2V0KC0uNSwtLjUsMCksWW10LGEsR210LG8saSksbmZ0KEptdC5zZXQoLjUsLS41LDApLFltdCxhLEdtdCxvLGkpLG5mdChRbXQuc2V0KC41LC41LDApLFltdCxhLEdtdCxvLGkpLCRtdC5zZXQoMCwwKSx0ZnQuc2V0KDEsMCksZWZ0LnNldCgxLDEpO2xldCByPXQucmF5LmludGVyc2VjdFRyaWFuZ2xlKEttdCxKbXQsUW10LCExLFdtdCk7aWYobnVsbD09PXImJihuZnQoSm10LnNldCgtLjUsLjUsMCksWW10LGEsR210LG8saSksdGZ0LnNldCgwLDEpLHI9dC5yYXkuaW50ZXJzZWN0VHJpYW5nbGUoS210LFFtdCxKbXQsITEsV210KSxudWxsPT09cikpcmV0dXJuO2NvbnN0IHM9dC5yYXkub3JpZ2luLmRpc3RhbmNlVG8oV210KTtzPHQubmVhcnx8cz50LmZhcnx8ZS5wdXNoKHtkaXN0YW5jZTpzLHBvaW50OldtdC5jbG9uZSgpLHV2OkxsdC5nZXRVVihXbXQsS210LEptdCxRbXQsJG10LHRmdCxlZnQsbmV3IGdzdCksZmFjZTpudWxsLG9iamVjdDp0aGlzfSl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx2b2lkIDAhPT10LmNlbnRlciYmdGhpcy5jZW50ZXIuY29weSh0LmNlbnRlciksdGhpcy5tYXRlcmlhbD10Lm1hdGVyaWFsLHRoaXN9fSkucHJvdG90eXBlLmlzU3ByaXRlPSEwO2NvbnN0IG9mdD1uZXcgd3N0LGlmdD1uZXcgdnN0LGFmdD1uZXcgdnN0LHJmdD1uZXcgd3N0LHNmdD1uZXcgb2x0O2NsYXNzIGxmdCBleHRlbmRzIFNjdHtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy50eXBlPSJTa2lubmVkTWVzaCIsdGhpcy5iaW5kTW9kZT0iYXR0YWNoZWQiLHRoaXMuYmluZE1hdHJpeD1uZXcgb2x0LHRoaXMuYmluZE1hdHJpeEludmVyc2U9bmV3IG9sdH1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuYmluZE1vZGU9dC5iaW5kTW9kZSx0aGlzLmJpbmRNYXRyaXguY29weSh0LmJpbmRNYXRyaXgpLHRoaXMuYmluZE1hdHJpeEludmVyc2UuY29weSh0LmJpbmRNYXRyaXhJbnZlcnNlKSx0aGlzLnNrZWxldG9uPXQuc2tlbGV0b24sdGhpc31iaW5kKHQsZSl7dGhpcy5za2VsZXRvbj10LHZvaWQgMD09PWUmJih0aGlzLnVwZGF0ZU1hdHJpeFdvcmxkKCEwKSx0aGlzLnNrZWxldG9uLmNhbGN1bGF0ZUludmVyc2VzKCksZT10aGlzLm1hdHJpeFdvcmxkKSx0aGlzLmJpbmRNYXRyaXguY29weShlKSx0aGlzLmJpbmRNYXRyaXhJbnZlcnNlLmNvcHkoZSkuaW52ZXJ0KCl9cG9zZSgpe3RoaXMuc2tlbGV0b24ucG9zZSgpfW5vcm1hbGl6ZVNraW5XZWlnaHRzKCl7Y29uc3QgdD1uZXcgdnN0LGU9dGhpcy5nZW9tZXRyeS5hdHRyaWJ1dGVzLnNraW5XZWlnaHQ7Zm9yKGxldCBuPTAsbz1lLmNvdW50O248bztuKyspe3QueD1lLmdldFgobiksdC55PWUuZ2V0WShuKSx0Lno9ZS5nZXRaKG4pLHQudz1lLmdldFcobik7Y29uc3Qgbz0xL3QubWFuaGF0dGFuTGVuZ3RoKCk7byE9PTEvMD90Lm11bHRpcGx5U2NhbGFyKG8pOnQuc2V0KDEsMCwwLDApLGUuc2V0WFlaVyhuLHQueCx0LnksdC56LHQudyl9fXVwZGF0ZU1hdHJpeFdvcmxkKHQpe3N1cGVyLnVwZGF0ZU1hdHJpeFdvcmxkKHQpLCJhdHRhY2hlZCI9PT10aGlzLmJpbmRNb2RlP3RoaXMuYmluZE1hdHJpeEludmVyc2UuY29weSh0aGlzLm1hdHJpeFdvcmxkKS5pbnZlcnQoKToiZGV0YWNoZWQiPT09dGhpcy5iaW5kTW9kZT90aGlzLmJpbmRNYXRyaXhJbnZlcnNlLmNvcHkodGhpcy5iaW5kTWF0cml4KS5pbnZlcnQoKTpjb25zb2xlLndhcm4oIlRIUkVFLlNraW5uZWRNZXNoOiBVbnJlY29nbml6ZWQgYmluZE1vZGU6ICIrdGhpcy5iaW5kTW9kZSl9Ym9uZVRyYW5zZm9ybSh0LGUpe2NvbnN0IG49dGhpcy5za2VsZXRvbixvPXRoaXMuZ2VvbWV0cnk7aWZ0LmZyb21CdWZmZXJBdHRyaWJ1dGUoby5hdHRyaWJ1dGVzLnNraW5JbmRleCx0KSxhZnQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShvLmF0dHJpYnV0ZXMuc2tpbldlaWdodCx0KSxvZnQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShvLmF0dHJpYnV0ZXMucG9zaXRpb24sdCkuYXBwbHlNYXRyaXg0KHRoaXMuYmluZE1hdHJpeCksZS5zZXQoMCwwLDApO2ZvcihsZXQgdD0wO3Q8NDt0Kyspe2NvbnN0IG89YWZ0LmdldENvbXBvbmVudCh0KTtpZigwIT09byl7Y29uc3QgaT1pZnQuZ2V0Q29tcG9uZW50KHQpO3NmdC5tdWx0aXBseU1hdHJpY2VzKG4uYm9uZXNbaV0ubWF0cml4V29ybGQsbi5ib25lSW52ZXJzZXNbaV0pLGUuYWRkU2NhbGVkVmVjdG9yKHJmdC5jb3B5KG9mdCkuYXBwbHlNYXRyaXg0KHNmdCksbyl9fXJldHVybiBlLmFwcGx5TWF0cml4NCh0aGlzLmJpbmRNYXRyaXhJbnZlcnNlKX19bGZ0LnByb3RvdHlwZS5pc1NraW5uZWRNZXNoPSEwOyhjbGFzcyBleHRlbmRzIFNsdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50eXBlPSJCb25lIn19KS5wcm90b3R5cGUuaXNCb25lPSEwOyhjbGFzcyBleHRlbmRzIENzdHtjb25zdHJ1Y3Rvcih0PW51bGwsZT0xLG49MSxvLGksYSxyLHMsbD0xMDAzLGM9MTAwMyxkLHApe3N1cGVyKG51bGwsYSxyLHMsbCxjLG8saSxkLHApLHRoaXMuaW1hZ2U9e2RhdGE6dCx3aWR0aDplLGhlaWdodDpufSx0aGlzLm1hZ0ZpbHRlcj1sLHRoaXMubWluRmlsdGVyPWMsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITEsdGhpcy5mbGlwWT0hMSx0aGlzLnVucGFja0FsaWdubWVudD0xLHRoaXMubmVlZHNVcGRhdGU9ITB9fSkucHJvdG90eXBlLmlzRGF0YVRleHR1cmU9ITA7Y29uc3QgY2Z0PW5ldyBvbHQsZGZ0PW5ldyBvbHQscGZ0PVtdLG1mdD1uZXcgU2N0OyhjbGFzcyBleHRlbmRzIFNjdHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIodCxlKSx0aGlzLmluc3RhbmNlTWF0cml4PW5ldyBRbHQobmV3IEZsb2F0MzJBcnJheSgxNipuKSwxNiksdGhpcy5pbnN0YW5jZUNvbG9yPW51bGwsdGhpcy5jb3VudD1uLHRoaXMuZnJ1c3R1bUN1bGxlZD0hMX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuaW5zdGFuY2VNYXRyaXguY29weSh0Lmluc3RhbmNlTWF0cml4KSxudWxsIT09dC5pbnN0YW5jZUNvbG9yJiYodGhpcy5pbnN0YW5jZUNvbG9yPXQuaW5zdGFuY2VDb2xvci5jbG9uZSgpKSx0aGlzLmNvdW50PXQuY291bnQsdGhpc31nZXRDb2xvckF0KHQsZSl7ZS5mcm9tQXJyYXkodGhpcy5pbnN0YW5jZUNvbG9yLmFycmF5LDMqdCl9Z2V0TWF0cml4QXQodCxlKXtlLmZyb21BcnJheSh0aGlzLmluc3RhbmNlTWF0cml4LmFycmF5LDE2KnQpfXJheWNhc3QodCxlKXtjb25zdCBuPXRoaXMubWF0cml4V29ybGQsbz10aGlzLmNvdW50O2lmKG1mdC5nZW9tZXRyeT10aGlzLmdlb21ldHJ5LG1mdC5tYXRlcmlhbD10aGlzLm1hdGVyaWFsLHZvaWQgMCE9PW1mdC5tYXRlcmlhbClmb3IobGV0IGk9MDtpPG87aSsrKXt0aGlzLmdldE1hdHJpeEF0KGksY2Z0KSxkZnQubXVsdGlwbHlNYXRyaWNlcyhuLGNmdCksbWZ0Lm1hdHJpeFdvcmxkPWRmdCxtZnQucmF5Y2FzdCh0LHBmdCk7Zm9yKGxldCB0PTAsbj1wZnQubGVuZ3RoO3Q8bjt0Kyspe2NvbnN0IG49cGZ0W3RdO24uaW5zdGFuY2VJZD1pLG4ub2JqZWN0PXRoaXMsZS5wdXNoKG4pfXBmdC5sZW5ndGg9MH19c2V0Q29sb3JBdCh0LGUpe251bGw9PT10aGlzLmluc3RhbmNlQ29sb3ImJih0aGlzLmluc3RhbmNlQ29sb3I9bmV3IFFsdChuZXcgRmxvYXQzMkFycmF5KDMqdGhpcy5pbnN0YW5jZU1hdHJpeC5jb3VudCksMykpLGUudG9BcnJheSh0aGlzLmluc3RhbmNlQ29sb3IuYXJyYXksMyp0KX1zZXRNYXRyaXhBdCh0LGUpe2UudG9BcnJheSh0aGlzLmluc3RhbmNlTWF0cml4LmFycmF5LDE2KnQpfXVwZGF0ZU1vcnBoVGFyZ2V0cygpe31kaXNwb3NlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNwb3NlIn0pfX0pLnByb3RvdHlwZS5pc0luc3RhbmNlZE1lc2g9ITA7Y2xhc3MgZmZ0IGV4dGVuZHMgVmx0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJMaW5lQmFzaWNNYXRlcmlhbCIsdGhpcy5jb2xvcj1uZXcgWmx0KDE2Nzc3MjE1KSx0aGlzLmxpbmV3aWR0aD0xLHRoaXMubGluZWNhcD0icm91bmQiLHRoaXMubGluZWpvaW49InJvdW5kIix0aGlzLnNldFZhbHVlcyh0KX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuY29sb3IuY29weSh0LmNvbG9yKSx0aGlzLmxpbmV3aWR0aD10LmxpbmV3aWR0aCx0aGlzLmxpbmVjYXA9dC5saW5lY2FwLHRoaXMubGluZWpvaW49dC5saW5lam9pbix0aGlzfX1mZnQucHJvdG90eXBlLmlzTGluZUJhc2ljTWF0ZXJpYWw9ITA7Y29uc3QgdWZ0PW5ldyB3c3QsZ2Z0PW5ldyB3c3QsaGZ0PW5ldyBvbHQsYmZ0PW5ldyBubHQseWZ0PW5ldyBac3Q7Y2xhc3MgX2Z0IGV4dGVuZHMgU2x0e2NvbnN0cnVjdG9yKHQ9bmV3IGRjdCxlPW5ldyBmZnQpe3N1cGVyKCksdGhpcy50eXBlPSJMaW5lIix0aGlzLmdlb21ldHJ5PXQsdGhpcy5tYXRlcmlhbD1lLHRoaXMudXBkYXRlTW9ycGhUYXJnZXRzKCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLm1hdGVyaWFsPXQubWF0ZXJpYWwsdGhpcy5nZW9tZXRyeT10Lmdlb21ldHJ5LHRoaXN9Y29tcHV0ZUxpbmVEaXN0YW5jZXMoKXtjb25zdCB0PXRoaXMuZ2VvbWV0cnk7aWYodC5pc0J1ZmZlckdlb21ldHJ5KWlmKG51bGw9PT10LmluZGV4KXtjb25zdCBlPXQuYXR0cmlidXRlcy5wb3NpdGlvbixuPVswXTtmb3IobGV0IHQ9MSxvPWUuY291bnQ7dDxvO3QrKyl1ZnQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLHQtMSksZ2Z0LmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx0KSxuW3RdPW5bdC0xXSxuW3RdKz11ZnQuZGlzdGFuY2VUbyhnZnQpO3Quc2V0QXR0cmlidXRlKCJsaW5lRGlzdGFuY2UiLG5ldyBlY3QobiwxKSl9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLkxpbmUuY29tcHV0ZUxpbmVEaXN0YW5jZXMoKTogQ29tcHV0YXRpb24gb25seSBwb3NzaWJsZSB3aXRoIG5vbi1pbmRleGVkIEJ1ZmZlckdlb21ldHJ5LiIpO2Vsc2UgdC5pc0dlb21ldHJ5JiZjb25zb2xlLmVycm9yKCJUSFJFRS5MaW5lLmNvbXB1dGVMaW5lRGlzdGFuY2VzKCkgbm8gbG9uZ2VyIHN1cHBvcnRzIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKTtyZXR1cm4gdGhpc31yYXljYXN0KHQsZSl7Y29uc3Qgbj10aGlzLmdlb21ldHJ5LG89dGhpcy5tYXRyaXhXb3JsZCxpPXQucGFyYW1zLkxpbmUudGhyZXNob2xkLGE9bi5kcmF3UmFuZ2U7aWYobnVsbD09PW4uYm91bmRpbmdTcGhlcmUmJm4uY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCkseWZ0LmNvcHkobi5ib3VuZGluZ1NwaGVyZSkseWZ0LmFwcGx5TWF0cml4NChvKSx5ZnQucmFkaXVzKz1pLCExPT09dC5yYXkuaW50ZXJzZWN0c1NwaGVyZSh5ZnQpKXJldHVybjtoZnQuY29weShvKS5pbnZlcnQoKSxiZnQuY29weSh0LnJheSkuYXBwbHlNYXRyaXg0KGhmdCk7Y29uc3Qgcj1pLygodGhpcy5zY2FsZS54K3RoaXMuc2NhbGUueSt0aGlzLnNjYWxlLnopLzMpLHM9cipyLGw9bmV3IHdzdCxjPW5ldyB3c3QsZD1uZXcgd3N0LHA9bmV3IHdzdCxtPXRoaXMuaXNMaW5lU2VnbWVudHM/MjoxO2lmKG4uaXNCdWZmZXJHZW9tZXRyeSl7Y29uc3Qgbz1uLmluZGV4LGk9bi5hdHRyaWJ1dGVzLnBvc2l0aW9uO2lmKG51bGwhPT1vKXtmb3IobGV0IG49TWF0aC5tYXgoMCxhLnN0YXJ0KSxyPU1hdGgubWluKG8uY291bnQsYS5zdGFydCthLmNvdW50KS0xO248cjtuKz1tKXtjb25zdCBhPW8uZ2V0WChuKSxyPW8uZ2V0WChuKzEpO2wuZnJvbUJ1ZmZlckF0dHJpYnV0ZShpLGEpLGMuZnJvbUJ1ZmZlckF0dHJpYnV0ZShpLHIpO2lmKGJmdC5kaXN0YW5jZVNxVG9TZWdtZW50KGwsYyxwLGQpPnMpY29udGludWU7cC5hcHBseU1hdHJpeDQodGhpcy5tYXRyaXhXb3JsZCk7Y29uc3QgbT10LnJheS5vcmlnaW4uZGlzdGFuY2VUbyhwKTttPHQubmVhcnx8bT50LmZhcnx8ZS5wdXNoKHtkaXN0YW5jZTptLHBvaW50OmQuY2xvbmUoKS5hcHBseU1hdHJpeDQodGhpcy5tYXRyaXhXb3JsZCksaW5kZXg6bixmYWNlOm51bGwsZmFjZUluZGV4Om51bGwsb2JqZWN0OnRoaXN9KX19ZWxzZXtmb3IobGV0IG49TWF0aC5tYXgoMCxhLnN0YXJ0KSxvPU1hdGgubWluKGkuY291bnQsYS5zdGFydCthLmNvdW50KS0xO248bztuKz1tKXtsLmZyb21CdWZmZXJBdHRyaWJ1dGUoaSxuKSxjLmZyb21CdWZmZXJBdHRyaWJ1dGUoaSxuKzEpO2lmKGJmdC5kaXN0YW5jZVNxVG9TZWdtZW50KGwsYyxwLGQpPnMpY29udGludWU7cC5hcHBseU1hdHJpeDQodGhpcy5tYXRyaXhXb3JsZCk7Y29uc3Qgbz10LnJheS5vcmlnaW4uZGlzdGFuY2VUbyhwKTtvPHQubmVhcnx8bz50LmZhcnx8ZS5wdXNoKHtkaXN0YW5jZTpvLHBvaW50OmQuY2xvbmUoKS5hcHBseU1hdHJpeDQodGhpcy5tYXRyaXhXb3JsZCksaW5kZXg6bixmYWNlOm51bGwsZmFjZUluZGV4Om51bGwsb2JqZWN0OnRoaXN9KX19fWVsc2Ugbi5pc0dlb21ldHJ5JiZjb25zb2xlLmVycm9yKCJUSFJFRS5MaW5lLnJheWNhc3QoKSBubyBsb25nZXIgc3VwcG9ydHMgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfXVwZGF0ZU1vcnBoVGFyZ2V0cygpe2NvbnN0IHQ9dGhpcy5nZW9tZXRyeTtpZih0LmlzQnVmZmVyR2VvbWV0cnkpe2NvbnN0IGU9dC5tb3JwaEF0dHJpYnV0ZXMsbj1PYmplY3Qua2V5cyhlKTtpZihuLmxlbmd0aD4wKXtjb25zdCB0PWVbblswXV07aWYodm9pZCAwIT09dCl7dGhpcy5tb3JwaFRhcmdldEluZmx1ZW5jZXM9W10sdGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnk9e307Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXtjb25zdCBuPXRbZV0ubmFtZXx8U3RyaW5nKGUpO3RoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzLnB1c2goMCksdGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnlbbl09ZX19fX1lbHNle2NvbnN0IGU9dC5tb3JwaFRhcmdldHM7dm9pZCAwIT09ZSYmZS5sZW5ndGg+MCYmY29uc29sZS5lcnJvcigiVEhSRUUuTGluZS51cGRhdGVNb3JwaFRhcmdldHMoKSBkb2VzIG5vdCBzdXBwb3J0IFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKX19fV9mdC5wcm90b3R5cGUuaXNMaW5lPSEwO2NvbnN0IENmdD1uZXcgd3N0LE1mdD1uZXcgd3N0O2NsYXNzIHZmdCBleHRlbmRzIF9mdHtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy50eXBlPSJMaW5lU2VnbWVudHMifWNvbXB1dGVMaW5lRGlzdGFuY2VzKCl7Y29uc3QgdD10aGlzLmdlb21ldHJ5O2lmKHQuaXNCdWZmZXJHZW9tZXRyeSlpZihudWxsPT09dC5pbmRleCl7Y29uc3QgZT10LmF0dHJpYnV0ZXMucG9zaXRpb24sbj1bXTtmb3IobGV0IHQ9MCxvPWUuY291bnQ7dDxvO3QrPTIpQ2Z0LmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx0KSxNZnQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLHQrMSksblt0XT0wPT09dD8wOm5bdC0xXSxuW3QrMV09blt0XStDZnQuZGlzdGFuY2VUbyhNZnQpO3Quc2V0QXR0cmlidXRlKCJsaW5lRGlzdGFuY2UiLG5ldyBlY3QobiwxKSl9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLkxpbmVTZWdtZW50cy5jb21wdXRlTGluZURpc3RhbmNlcygpOiBDb21wdXRhdGlvbiBvbmx5IHBvc3NpYmxlIHdpdGggbm9uLWluZGV4ZWQgQnVmZmVyR2VvbWV0cnkuIik7ZWxzZSB0LmlzR2VvbWV0cnkmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLkxpbmVTZWdtZW50cy5jb21wdXRlTGluZURpc3RhbmNlcygpIG5vIGxvbmdlciBzdXBwb3J0cyBUSFJFRS5HZW9tZXRyeS4gVXNlIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIik7cmV0dXJuIHRoaXN9fXZmdC5wcm90b3R5cGUuaXNMaW5lU2VnbWVudHM9ITA7KGNsYXNzIGV4dGVuZHMgX2Z0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIodCxlKSx0aGlzLnR5cGU9IkxpbmVMb29wIn19KS5wcm90b3R5cGUuaXNMaW5lTG9vcD0hMDtjbGFzcyB4ZnQgZXh0ZW5kcyBWbHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlBvaW50c01hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBabHQoMTY3NzcyMTUpLHRoaXMubWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuc2l6ZT0xLHRoaXMuc2l6ZUF0dGVudWF0aW9uPSEwLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMuYWxwaGFNYXA9dC5hbHBoYU1hcCx0aGlzLnNpemU9dC5zaXplLHRoaXMuc2l6ZUF0dGVudWF0aW9uPXQuc2l6ZUF0dGVudWF0aW9uLHRoaXN9fXhmdC5wcm90b3R5cGUuaXNQb2ludHNNYXRlcmlhbD0hMDtjb25zdCBPZnQ9bmV3IG9sdCxQZnQ9bmV3IG5sdCx3ZnQ9bmV3IFpzdCxrZnQ9bmV3IHdzdDtmdW5jdGlvbiBTZnQodCxlLG4sbyxpLGEscil7Y29uc3Qgcz1QZnQuZGlzdGFuY2VTcVRvUG9pbnQodCk7aWYoczxuKXtjb25zdCBuPW5ldyB3c3Q7UGZ0LmNsb3Nlc3RQb2ludFRvUG9pbnQodCxuKSxuLmFwcGx5TWF0cml4NChvKTtjb25zdCBsPWkucmF5Lm9yaWdpbi5kaXN0YW5jZVRvKG4pO2lmKGw8aS5uZWFyfHxsPmkuZmFyKXJldHVybjthLnB1c2goe2Rpc3RhbmNlOmwsZGlzdGFuY2VUb1JheTpNYXRoLnNxcnQocykscG9pbnQ6bixpbmRleDplLGZhY2U6bnVsbCxvYmplY3Q6cn0pfX0oY2xhc3MgZXh0ZW5kcyBTbHR7Y29uc3RydWN0b3IodD1uZXcgZGN0LGU9bmV3IHhmdCl7c3VwZXIoKSx0aGlzLnR5cGU9IlBvaW50cyIsdGhpcy5nZW9tZXRyeT10LHRoaXMubWF0ZXJpYWw9ZSx0aGlzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5tYXRlcmlhbD10Lm1hdGVyaWFsLHRoaXMuZ2VvbWV0cnk9dC5nZW9tZXRyeSx0aGlzfXJheWNhc3QodCxlKXtjb25zdCBuPXRoaXMuZ2VvbWV0cnksbz10aGlzLm1hdHJpeFdvcmxkLGk9dC5wYXJhbXMuUG9pbnRzLnRocmVzaG9sZCxhPW4uZHJhd1JhbmdlO2lmKG51bGw9PT1uLmJvdW5kaW5nU3BoZXJlJiZuLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLHdmdC5jb3B5KG4uYm91bmRpbmdTcGhlcmUpLHdmdC5hcHBseU1hdHJpeDQobyksd2Z0LnJhZGl1cys9aSwhMT09PXQucmF5LmludGVyc2VjdHNTcGhlcmUod2Z0KSlyZXR1cm47T2Z0LmNvcHkobykuaW52ZXJ0KCksUGZ0LmNvcHkodC5yYXkpLmFwcGx5TWF0cml4NChPZnQpO2NvbnN0IHI9aS8oKHRoaXMuc2NhbGUueCt0aGlzLnNjYWxlLnkrdGhpcy5zY2FsZS56KS8zKSxzPXIqcjtpZihuLmlzQnVmZmVyR2VvbWV0cnkpe2NvbnN0IGk9bi5pbmRleCxyPW4uYXR0cmlidXRlcy5wb3NpdGlvbjtpZihudWxsIT09aSl7Zm9yKGxldCBuPU1hdGgubWF4KDAsYS5zdGFydCksbD1NYXRoLm1pbihpLmNvdW50LGEuc3RhcnQrYS5jb3VudCk7bjxsO24rKyl7Y29uc3QgYT1pLmdldFgobik7a2Z0LmZyb21CdWZmZXJBdHRyaWJ1dGUocixhKSxTZnQoa2Z0LGEscyxvLHQsZSx0aGlzKX19ZWxzZXtmb3IobGV0IG49TWF0aC5tYXgoMCxhLnN0YXJ0KSxpPU1hdGgubWluKHIuY291bnQsYS5zdGFydCthLmNvdW50KTtuPGk7bisrKWtmdC5mcm9tQnVmZmVyQXR0cmlidXRlKHIsbiksU2Z0KGtmdCxuLHMsbyx0LGUsdGhpcyl9fWVsc2UgY29uc29sZS5lcnJvcigiVEhSRUUuUG9pbnRzLnJheWNhc3QoKSBubyBsb25nZXIgc3VwcG9ydHMgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfXVwZGF0ZU1vcnBoVGFyZ2V0cygpe2NvbnN0IHQ9dGhpcy5nZW9tZXRyeTtpZih0LmlzQnVmZmVyR2VvbWV0cnkpe2NvbnN0IGU9dC5tb3JwaEF0dHJpYnV0ZXMsbj1PYmplY3Qua2V5cyhlKTtpZihuLmxlbmd0aD4wKXtjb25zdCB0PWVbblswXV07aWYodm9pZCAwIT09dCl7dGhpcy5tb3JwaFRhcmdldEluZmx1ZW5jZXM9W10sdGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnk9e307Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXtjb25zdCBuPXRbZV0ubmFtZXx8U3RyaW5nKGUpO3RoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzLnB1c2goMCksdGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnlbbl09ZX19fX1lbHNle2NvbnN0IGU9dC5tb3JwaFRhcmdldHM7dm9pZCAwIT09ZSYmZS5sZW5ndGg+MCYmY29uc29sZS5lcnJvcigiVEhSRUUuUG9pbnRzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpIGRvZXMgbm90IHN1cHBvcnQgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfX19KS5wcm90b3R5cGUuaXNQb2ludHM9ITA7KGNsYXNzIGV4dGVuZHMgQ3N0e2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsKXtzdXBlcih0LGUsbixvLGksYSxyLHMsbCksdGhpcy5mb3JtYXQ9dm9pZCAwIT09cj9yOlZydCx0aGlzLm1pbkZpbHRlcj12b2lkIDAhPT1hP2E6VHJ0LHRoaXMubWFnRmlsdGVyPXZvaWQgMCE9PWk/aTpUcnQsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITE7Y29uc3QgYz10aGlzOyJyZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrImluIHQmJnQucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjaygoZnVuY3Rpb24gZSgpe2MubmVlZHNVcGRhdGU9ITAsdC5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKGUpfSkpfWNsb25lKCl7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMuaW1hZ2UpLmNvcHkodGhpcyl9dXBkYXRlKCl7Y29uc3QgdD10aGlzLmltYWdlOyExPT09InJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2siaW4gdCYmdC5yZWFkeVN0YXRlPj10LkhBVkVfQ1VSUkVOVF9EQVRBJiYodGhpcy5uZWVkc1VwZGF0ZT0hMCl9fSkucHJvdG90eXBlLmlzVmlkZW9UZXh0dXJlPSEwOyhjbGFzcyBleHRlbmRzIENzdHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMsbCxjLGQscCl7c3VwZXIobnVsbCxhLHIscyxsLGMsbyxpLGQscCksdGhpcy5pbWFnZT17d2lkdGg6ZSxoZWlnaHQ6bn0sdGhpcy5taXBtYXBzPXQsdGhpcy5mbGlwWT0hMSx0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMX19KS5wcm90b3R5cGUuaXNDb21wcmVzc2VkVGV4dHVyZT0hMDsoY2xhc3MgZXh0ZW5kcyBDc3R7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzLGwpe3N1cGVyKHQsZSxuLG8saSxhLHIscyxsKSx0aGlzLm5lZWRzVXBkYXRlPSEwfX0pLnByb3RvdHlwZS5pc0NhbnZhc1RleHR1cmU9ITA7KGNsYXNzIGV4dGVuZHMgQ3N0e2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMpe2lmKChjPXZvaWQgMCE9PWM/YzpVcnQpIT09VXJ0JiZjIT09V3J0KXRocm93IG5ldyBFcnJvcigiRGVwdGhUZXh0dXJlIGZvcm1hdCBtdXN0IGJlIGVpdGhlciBUSFJFRS5EZXB0aEZvcm1hdCBvciBUSFJFRS5EZXB0aFN0ZW5jaWxGb3JtYXQiKTt2b2lkIDA9PT1uJiZjPT09VXJ0JiYobj1JcnQpLHZvaWQgMD09PW4mJmM9PT1XcnQmJihuPUJydCksc3VwZXIobnVsbCxvLGksYSxyLHMsYyxuLGwpLHRoaXMuaW1hZ2U9e3dpZHRoOnQsaGVpZ2h0OmV9LHRoaXMubWFnRmlsdGVyPXZvaWQgMCE9PXI/cjpBcnQsdGhpcy5taW5GaWx0ZXI9dm9pZCAwIT09cz9zOkFydCx0aGlzLmZsaXBZPSExLHRoaXMuZ2VuZXJhdGVNaXBtYXBzPSExfX0pLnByb3RvdHlwZS5pc0RlcHRoVGV4dHVyZT0hMDtjbGFzcyBEZnQgZXh0ZW5kcyBkY3R7Y29uc3RydWN0b3IodD0xLGU9OCxuPTAsbz0yKk1hdGguUEkpe3N1cGVyKCksdGhpcy50eXBlPSJDaXJjbGVHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6dCxzZWdtZW50czplLHRoZXRhU3RhcnQ6bix0aGV0YUxlbmd0aDpvfSxlPU1hdGgubWF4KDMsZSk7Y29uc3QgaT1bXSxhPVtdLHI9W10scz1bXSxsPW5ldyB3c3QsYz1uZXcgZ3N0O2EucHVzaCgwLDAsMCksci5wdXNoKDAsMCwxKSxzLnB1c2goLjUsLjUpO2ZvcihsZXQgaT0wLGQ9MztpPD1lO2krKyxkKz0zKXtjb25zdCBwPW4raS9lKm87bC54PXQqTWF0aC5jb3MocCksbC55PXQqTWF0aC5zaW4ocCksYS5wdXNoKGwueCxsLnksbC56KSxyLnB1c2goMCwwLDEpLGMueD0oYVtkXS90KzEpLzIsYy55PShhW2QrMV0vdCsxKS8yLHMucHVzaChjLngsYy55KX1mb3IobGV0IHQ9MTt0PD1lO3QrKylpLnB1c2godCx0KzEsMCk7dGhpcy5zZXRJbmRleChpKSx0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBlY3QoYSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGVjdChyLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBlY3QocywyKSl9c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgRGZ0KHQucmFkaXVzLHQuc2VnbWVudHMsdC50aGV0YVN0YXJ0LHQudGhldGFMZW5ndGgpfX1uZXcgd3N0LG5ldyB3c3QsbmV3IHdzdCxuZXcgTGx0O2NsYXNzIFJmdHtjb25zdHJ1Y3Rvcigpe3RoaXMudHlwZT0iQ3VydmUiLHRoaXMuYXJjTGVuZ3RoRGl2aXNpb25zPTIwMH1nZXRQb2ludCgpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkN1cnZlOiAuZ2V0UG9pbnQoKSBub3QgaW1wbGVtZW50ZWQuIiksbnVsbH1nZXRQb2ludEF0KHQsZSl7Y29uc3Qgbj10aGlzLmdldFV0b1RtYXBwaW5nKHQpO3JldHVybiB0aGlzLmdldFBvaW50KG4sZSl9Z2V0UG9pbnRzKHQ9NSl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPD10O24rKyllLnB1c2godGhpcy5nZXRQb2ludChuL3QpKTtyZXR1cm4gZX1nZXRTcGFjZWRQb2ludHModD01KXtjb25zdCBlPVtdO2ZvcihsZXQgbj0wO248PXQ7bisrKWUucHVzaCh0aGlzLmdldFBvaW50QXQobi90KSk7cmV0dXJuIGV9Z2V0TGVuZ3RoKCl7Y29uc3QgdD10aGlzLmdldExlbmd0aHMoKTtyZXR1cm4gdFt0Lmxlbmd0aC0xXX1nZXRMZW5ndGhzKHQ9dGhpcy5hcmNMZW5ndGhEaXZpc2lvbnMpe2lmKHRoaXMuY2FjaGVBcmNMZW5ndGhzJiZ0aGlzLmNhY2hlQXJjTGVuZ3Rocy5sZW5ndGg9PT10KzEmJiF0aGlzLm5lZWRzVXBkYXRlKXJldHVybiB0aGlzLmNhY2hlQXJjTGVuZ3Roczt0aGlzLm5lZWRzVXBkYXRlPSExO2NvbnN0IGU9W107bGV0IG4sbz10aGlzLmdldFBvaW50KDApLGk9MDtlLnB1c2goMCk7Zm9yKGxldCBhPTE7YTw9dDthKyspbj10aGlzLmdldFBvaW50KGEvdCksaSs9bi5kaXN0YW5jZVRvKG8pLGUucHVzaChpKSxvPW47cmV0dXJuIHRoaXMuY2FjaGVBcmNMZW5ndGhzPWUsZX11cGRhdGVBcmNMZW5ndGhzKCl7dGhpcy5uZWVkc1VwZGF0ZT0hMCx0aGlzLmdldExlbmd0aHMoKX1nZXRVdG9UbWFwcGluZyh0LGUpe2NvbnN0IG49dGhpcy5nZXRMZW5ndGhzKCk7bGV0IG89MDtjb25zdCBpPW4ubGVuZ3RoO2xldCBhO2E9ZXx8dCpuW2ktMV07bGV0IHIscz0wLGw9aS0xO2Zvcig7czw9bDspaWYobz1NYXRoLmZsb29yKHMrKGwtcykvMikscj1uW29dLWEscjwwKXM9bysxO2Vsc2V7aWYoIShyPjApKXtsPW87YnJlYWt9bD1vLTF9aWYobz1sLG5bb109PT1hKXJldHVybiBvLyhpLTEpO2NvbnN0IGM9bltvXTtyZXR1cm4obysoYS1jKS8obltvKzFdLWMpKS8oaS0xKX1nZXRUYW5nZW50KHQsZSl7Y29uc3Qgbj0xZS00O2xldCBvPXQtbixpPXQrbjtvPDAmJihvPTApLGk+MSYmKGk9MSk7Y29uc3QgYT10aGlzLmdldFBvaW50KG8pLHI9dGhpcy5nZXRQb2ludChpKSxzPWV8fChhLmlzVmVjdG9yMj9uZXcgZ3N0Om5ldyB3c3QpO3JldHVybiBzLmNvcHkocikuc3ViKGEpLm5vcm1hbGl6ZSgpLHN9Z2V0VGFuZ2VudEF0KHQsZSl7Y29uc3Qgbj10aGlzLmdldFV0b1RtYXBwaW5nKHQpO3JldHVybiB0aGlzLmdldFRhbmdlbnQobixlKX1jb21wdXRlRnJlbmV0RnJhbWVzKHQsZSl7Y29uc3Qgbj1uZXcgd3N0LG89W10saT1bXSxhPVtdLHI9bmV3IHdzdCxzPW5ldyBvbHQ7Zm9yKGxldCBlPTA7ZTw9dDtlKyspe29bZV09dGhpcy5nZXRUYW5nZW50QXQoZS90LG5ldyB3c3QpLG9bZV0ubm9ybWFsaXplKCl9aVswXT1uZXcgd3N0LGFbMF09bmV3IHdzdDtsZXQgbD1OdW1iZXIuTUFYX1ZBTFVFO2NvbnN0IGM9TWF0aC5hYnMob1swXS54KSxkPU1hdGguYWJzKG9bMF0ueSkscD1NYXRoLmFicyhvWzBdLnopO2M8PWwmJihsPWMsbi5zZXQoMSwwLDApKSxkPD1sJiYobD1kLG4uc2V0KDAsMSwwKSkscDw9bCYmbi5zZXQoMCwwLDEpLHIuY3Jvc3NWZWN0b3JzKG9bMF0sbikubm9ybWFsaXplKCksaVswXS5jcm9zc1ZlY3RvcnMob1swXSxyKSxhWzBdLmNyb3NzVmVjdG9ycyhvWzBdLGlbMF0pO2ZvcihsZXQgZT0xO2U8PXQ7ZSsrKXtpZihpW2VdPWlbZS0xXS5jbG9uZSgpLGFbZV09YVtlLTFdLmNsb25lKCksci5jcm9zc1ZlY3RvcnMob1tlLTFdLG9bZV0pLHIubGVuZ3RoKCk+TnVtYmVyLkVQU0lMT04pe3Iubm9ybWFsaXplKCk7Y29uc3QgdD1NYXRoLmFjb3MocHN0KG9bZS0xXS5kb3Qob1tlXSksLTEsMSkpO2lbZV0uYXBwbHlNYXRyaXg0KHMubWFrZVJvdGF0aW9uQXhpcyhyLHQpKX1hW2VdLmNyb3NzVmVjdG9ycyhvW2VdLGlbZV0pfWlmKCEwPT09ZSl7bGV0IGU9TWF0aC5hY29zKHBzdChpWzBdLmRvdChpW3RdKSwtMSwxKSk7ZS89dCxvWzBdLmRvdChyLmNyb3NzVmVjdG9ycyhpWzBdLGlbdF0pKT4wJiYoZT0tZSk7Zm9yKGxldCBuPTE7bjw9dDtuKyspaVtuXS5hcHBseU1hdHJpeDQocy5tYWtlUm90YXRpb25BeGlzKG9bbl0sZSpuKSksYVtuXS5jcm9zc1ZlY3RvcnMob1tuXSxpW25dKX1yZXR1cm57dGFuZ2VudHM6byxub3JtYWxzOmksYmlub3JtYWxzOmF9fWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfWNvcHkodCl7cmV0dXJuIHRoaXMuYXJjTGVuZ3RoRGl2aXNpb25zPXQuYXJjTGVuZ3RoRGl2aXNpb25zLHRoaXN9dG9KU09OKCl7Y29uc3QgdD17bWV0YWRhdGE6e3ZlcnNpb246NC41LHR5cGU6IkN1cnZlIixnZW5lcmF0b3I6IkN1cnZlLnRvSlNPTiJ9fTtyZXR1cm4gdC5hcmNMZW5ndGhEaXZpc2lvbnM9dGhpcy5hcmNMZW5ndGhEaXZpc2lvbnMsdC50eXBlPXRoaXMudHlwZSx0fWZyb21KU09OKHQpe3JldHVybiB0aGlzLmFyY0xlbmd0aERpdmlzaW9ucz10LmFyY0xlbmd0aERpdmlzaW9ucyx0aGlzfX1jbGFzcyBFZnQgZXh0ZW5kcyBSZnR7Y29uc3RydWN0b3IodD0wLGU9MCxuPTEsbz0xLGk9MCxhPTIqTWF0aC5QSSxyPSExLHM9MCl7c3VwZXIoKSx0aGlzLnR5cGU9IkVsbGlwc2VDdXJ2ZSIsdGhpcy5hWD10LHRoaXMuYVk9ZSx0aGlzLnhSYWRpdXM9bix0aGlzLnlSYWRpdXM9byx0aGlzLmFTdGFydEFuZ2xlPWksdGhpcy5hRW5kQW5nbGU9YSx0aGlzLmFDbG9ja3dpc2U9cix0aGlzLmFSb3RhdGlvbj1zfWdldFBvaW50KHQsZSl7Y29uc3Qgbj1lfHxuZXcgZ3N0LG89MipNYXRoLlBJO2xldCBpPXRoaXMuYUVuZEFuZ2xlLXRoaXMuYVN0YXJ0QW5nbGU7Y29uc3QgYT1NYXRoLmFicyhpKTxOdW1iZXIuRVBTSUxPTjtmb3IoO2k8MDspaSs9bztmb3IoO2k+bzspaS09bztpPE51bWJlci5FUFNJTE9OJiYoaT1hPzA6byksITAhPT10aGlzLmFDbG9ja3dpc2V8fGF8fChpPT09bz9pPS1vOmktPW8pO2NvbnN0IHI9dGhpcy5hU3RhcnRBbmdsZSt0Kmk7bGV0IHM9dGhpcy5hWCt0aGlzLnhSYWRpdXMqTWF0aC5jb3MociksbD10aGlzLmFZK3RoaXMueVJhZGl1cypNYXRoLnNpbihyKTtpZigwIT09dGhpcy5hUm90YXRpb24pe2NvbnN0IHQ9TWF0aC5jb3ModGhpcy5hUm90YXRpb24pLGU9TWF0aC5zaW4odGhpcy5hUm90YXRpb24pLG49cy10aGlzLmFYLG89bC10aGlzLmFZO3M9bip0LW8qZSt0aGlzLmFYLGw9biplK28qdCt0aGlzLmFZfXJldHVybiBuLnNldChzLGwpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5hWD10LmFYLHRoaXMuYVk9dC5hWSx0aGlzLnhSYWRpdXM9dC54UmFkaXVzLHRoaXMueVJhZGl1cz10LnlSYWRpdXMsdGhpcy5hU3RhcnRBbmdsZT10LmFTdGFydEFuZ2xlLHRoaXMuYUVuZEFuZ2xlPXQuYUVuZEFuZ2xlLHRoaXMuYUNsb2Nrd2lzZT10LmFDbG9ja3dpc2UsdGhpcy5hUm90YXRpb249dC5hUm90YXRpb24sdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LmFYPXRoaXMuYVgsdC5hWT10aGlzLmFZLHQueFJhZGl1cz10aGlzLnhSYWRpdXMsdC55UmFkaXVzPXRoaXMueVJhZGl1cyx0LmFTdGFydEFuZ2xlPXRoaXMuYVN0YXJ0QW5nbGUsdC5hRW5kQW5nbGU9dGhpcy5hRW5kQW5nbGUsdC5hQ2xvY2t3aXNlPXRoaXMuYUNsb2Nrd2lzZSx0LmFSb3RhdGlvbj10aGlzLmFSb3RhdGlvbix0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLmFYPXQuYVgsdGhpcy5hWT10LmFZLHRoaXMueFJhZGl1cz10LnhSYWRpdXMsdGhpcy55UmFkaXVzPXQueVJhZGl1cyx0aGlzLmFTdGFydEFuZ2xlPXQuYVN0YXJ0QW5nbGUsdGhpcy5hRW5kQW5nbGU9dC5hRW5kQW5nbGUsdGhpcy5hQ2xvY2t3aXNlPXQuYUNsb2Nrd2lzZSx0aGlzLmFSb3RhdGlvbj10LmFSb3RhdGlvbix0aGlzfX1FZnQucHJvdG90eXBlLmlzRWxsaXBzZUN1cnZlPSEwO2NsYXNzIEFmdCBleHRlbmRzIEVmdHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7c3VwZXIodCxlLG4sbixvLGksYSksdGhpcy50eXBlPSJBcmNDdXJ2ZSJ9fWZ1bmN0aW9uIFRmdCgpe2xldCB0PTAsZT0wLG49MCxvPTA7ZnVuY3Rpb24gaShpLGEscixzKXt0PWksZT1yLG49LTMqaSszKmEtMipyLXMsbz0yKmktMiphK3Irc31yZXR1cm57aW5pdENhdG11bGxSb206ZnVuY3Rpb24odCxlLG4sbyxhKXtpKGUsbixhKihuLXQpLGEqKG8tZSkpfSxpbml0Tm9udW5pZm9ybUNhdG11bGxSb206ZnVuY3Rpb24odCxlLG4sbyxhLHIscyl7bGV0IGw9KGUtdCkvYS0obi10KS8oYStyKSsobi1lKS9yLGM9KG4tZSkvci0oby1lKS8ocitzKSsoby1uKS9zO2wqPXIsYyo9cixpKGUsbixsLGMpfSxjYWxjOmZ1bmN0aW9uKGkpe2NvbnN0IGE9aSppO3JldHVybiB0K2UqaStuKmErbyooYSppKX19fUFmdC5wcm90b3R5cGUuaXNBcmNDdXJ2ZT0hMDtjb25zdCBOZnQ9bmV3IHdzdCx6ZnQ9bmV3IFRmdCxJZnQ9bmV3IFRmdCxIZnQ9bmV3IFRmdDtjbGFzcyBGZnQgZXh0ZW5kcyBSZnR7Y29uc3RydWN0b3IodD1bXSxlPSExLG49ImNlbnRyaXBldGFsIixvPS41KXtzdXBlcigpLHRoaXMudHlwZT0iQ2F0bXVsbFJvbUN1cnZlMyIsdGhpcy5wb2ludHM9dCx0aGlzLmNsb3NlZD1lLHRoaXMuY3VydmVUeXBlPW4sdGhpcy50ZW5zaW9uPW99Z2V0UG9pbnQodCxlPW5ldyB3c3Qpe2NvbnN0IG49ZSxvPXRoaXMucG9pbnRzLGk9by5sZW5ndGgsYT0oaS0odGhpcy5jbG9zZWQ/MDoxKSkqdDtsZXQgcixzLGw9TWF0aC5mbG9vcihhKSxjPWEtbDt0aGlzLmNsb3NlZD9sKz1sPjA/MDooTWF0aC5mbG9vcihNYXRoLmFicyhsKS9pKSsxKSppOjA9PT1jJiZsPT09aS0xJiYobD1pLTIsYz0xKSx0aGlzLmNsb3NlZHx8bD4wP3I9b1sobC0xKSVpXTooTmZ0LnN1YlZlY3RvcnMob1swXSxvWzFdKS5hZGQob1swXSkscj1OZnQpO2NvbnN0IGQ9b1tsJWldLHA9b1sobCsxKSVpXTtpZih0aGlzLmNsb3NlZHx8bCsyPGk/cz1vWyhsKzIpJWldOihOZnQuc3ViVmVjdG9ycyhvW2ktMV0sb1tpLTJdKS5hZGQob1tpLTFdKSxzPU5mdCksImNlbnRyaXBldGFsIj09PXRoaXMuY3VydmVUeXBlfHwiY2hvcmRhbCI9PT10aGlzLmN1cnZlVHlwZSl7Y29uc3QgdD0iY2hvcmRhbCI9PT10aGlzLmN1cnZlVHlwZT8uNTouMjU7bGV0IGU9TWF0aC5wb3coci5kaXN0YW5jZVRvU3F1YXJlZChkKSx0KSxuPU1hdGgucG93KGQuZGlzdGFuY2VUb1NxdWFyZWQocCksdCksbz1NYXRoLnBvdyhwLmRpc3RhbmNlVG9TcXVhcmVkKHMpLHQpO248MWUtNCYmKG49MSksZTwxZS00JiYoZT1uKSxvPDFlLTQmJihvPW4pLHpmdC5pbml0Tm9udW5pZm9ybUNhdG11bGxSb20oci54LGQueCxwLngscy54LGUsbixvKSxJZnQuaW5pdE5vbnVuaWZvcm1DYXRtdWxsUm9tKHIueSxkLnkscC55LHMueSxlLG4sbyksSGZ0LmluaXROb251bmlmb3JtQ2F0bXVsbFJvbShyLnosZC56LHAueixzLnosZSxuLG8pfWVsc2UiY2F0bXVsbHJvbSI9PT10aGlzLmN1cnZlVHlwZSYmKHpmdC5pbml0Q2F0bXVsbFJvbShyLngsZC54LHAueCxzLngsdGhpcy50ZW5zaW9uKSxJZnQuaW5pdENhdG11bGxSb20oci55LGQueSxwLnkscy55LHRoaXMudGVuc2lvbiksSGZ0LmluaXRDYXRtdWxsUm9tKHIueixkLnoscC56LHMueix0aGlzLnRlbnNpb24pKTtyZXR1cm4gbi5zZXQoemZ0LmNhbGMoYyksSWZ0LmNhbGMoYyksSGZ0LmNhbGMoYykpLG59Y29weSh0KXtzdXBlci5jb3B5KHQpLHRoaXMucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dC5wb2ludHMubGVuZ3RoO2U8bjtlKyspe3RoaXMucG9pbnRzLnB1c2godC5wb2ludHNbZV0uY2xvbmUoKSl9cmV0dXJuIHRoaXMuY2xvc2VkPXQuY2xvc2VkLHRoaXMuY3VydmVUeXBlPXQuY3VydmVUeXBlLHRoaXMudGVuc2lvbj10LnRlbnNpb24sdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3QucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dGhpcy5wb2ludHMubGVuZ3RoO2U8bjtlKyspe3QucG9pbnRzLnB1c2godGhpcy5wb2ludHNbZV0udG9BcnJheSgpKX1yZXR1cm4gdC5jbG9zZWQ9dGhpcy5jbG9zZWQsdC5jdXJ2ZVR5cGU9dGhpcy5jdXJ2ZVR5cGUsdC50ZW5zaW9uPXRoaXMudGVuc2lvbix0fWZyb21KU09OKHQpe3N1cGVyLmZyb21KU09OKHQpLHRoaXMucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dC5wb2ludHMubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dC5wb2ludHNbZV07dGhpcy5wb2ludHMucHVzaCgobmV3IHdzdCkuZnJvbUFycmF5KG4pKX1yZXR1cm4gdGhpcy5jbG9zZWQ9dC5jbG9zZWQsdGhpcy5jdXJ2ZVR5cGU9dC5jdXJ2ZVR5cGUsdGhpcy50ZW5zaW9uPXQudGVuc2lvbix0aGlzfX1mdW5jdGlvbiBMZnQodCxlLG4sbyxpKXtjb25zdCBhPS41KihvLWUpLHI9LjUqKGktbikscz10KnQ7cmV0dXJuKDIqbi0yKm8rYStyKSoodCpzKSsoLTMqbiszKm8tMiphLXIpKnMrYSp0K259ZnVuY3Rpb24gQmZ0KHQsZSxuLG8pe3JldHVybihmdW5jdGlvbiBpKHQsZSl7Y29uc3Qgbj0xLXQ7cmV0dXJuIG4qbiplfSkodCxlKSsoZnVuY3Rpb24gYSh0LGUpe3JldHVybiAyKigxLXQpKnQqZX0pKHQsbikrKGZ1bmN0aW9uIHIodCxlKXtyZXR1cm4gdCp0KmV9KSh0LG8pfWZ1bmN0aW9uIFZmdCh0LGUsbixvLGkpe3JldHVybihmdW5jdGlvbiBhKHQsZSl7Y29uc3Qgbj0xLXQ7cmV0dXJuIG4qbipuKmV9KSh0LGUpKyhmdW5jdGlvbiByKHQsZSl7Y29uc3Qgbj0xLXQ7cmV0dXJuIDMqbipuKnQqZX0pKHQsbikrKGZ1bmN0aW9uIHModCxlKXtyZXR1cm4gMyooMS10KSp0KnQqZX0pKHQsbykrKGZ1bmN0aW9uIGwodCxlKXtyZXR1cm4gdCp0KnQqZX0pKHQsaSl9RmZ0LnByb3RvdHlwZS5pc0NhdG11bGxSb21DdXJ2ZTM9ITA7Y2xhc3MgamZ0IGV4dGVuZHMgUmZ0e2NvbnN0cnVjdG9yKHQ9bmV3IGdzdCxlPW5ldyBnc3Qsbj1uZXcgZ3N0LG89bmV3IGdzdCl7c3VwZXIoKSx0aGlzLnR5cGU9IkN1YmljQmV6aWVyQ3VydmUiLHRoaXMudjA9dCx0aGlzLnYxPWUsdGhpcy52Mj1uLHRoaXMudjM9b31nZXRQb2ludCh0LGU9bmV3IGdzdCl7Y29uc3Qgbj1lLG89dGhpcy52MCxpPXRoaXMudjEsYT10aGlzLnYyLHI9dGhpcy52MztyZXR1cm4gbi5zZXQoVmZ0KHQsby54LGkueCxhLngsci54KSxWZnQodCxvLnksaS55LGEueSxyLnkpKSxufWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy52MC5jb3B5KHQudjApLHRoaXMudjEuY29weSh0LnYxKSx0aGlzLnYyLmNvcHkodC52MiksdGhpcy52My5jb3B5KHQudjMpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC52MD10aGlzLnYwLnRvQXJyYXkoKSx0LnYxPXRoaXMudjEudG9BcnJheSgpLHQudjI9dGhpcy52Mi50b0FycmF5KCksdC52Mz10aGlzLnYzLnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLnYwLmZyb21BcnJheSh0LnYwKSx0aGlzLnYxLmZyb21BcnJheSh0LnYxKSx0aGlzLnYyLmZyb21BcnJheSh0LnYyKSx0aGlzLnYzLmZyb21BcnJheSh0LnYzKSx0aGlzfX1qZnQucHJvdG90eXBlLmlzQ3ViaWNCZXppZXJDdXJ2ZT0hMDtjbGFzcyBVZnQgZXh0ZW5kcyBSZnR7Y29uc3RydWN0b3IodD1uZXcgd3N0LGU9bmV3IHdzdCxuPW5ldyB3c3Qsbz1uZXcgd3N0KXtzdXBlcigpLHRoaXMudHlwZT0iQ3ViaWNCZXppZXJDdXJ2ZTMiLHRoaXMudjA9dCx0aGlzLnYxPWUsdGhpcy52Mj1uLHRoaXMudjM9b31nZXRQb2ludCh0LGU9bmV3IHdzdCl7Y29uc3Qgbj1lLG89dGhpcy52MCxpPXRoaXMudjEsYT10aGlzLnYyLHI9dGhpcy52MztyZXR1cm4gbi5zZXQoVmZ0KHQsby54LGkueCxhLngsci54KSxWZnQodCxvLnksaS55LGEueSxyLnkpLFZmdCh0LG8ueixpLnosYS56LHIueikpLG59Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLnYwLmNvcHkodC52MCksdGhpcy52MS5jb3B5KHQudjEpLHRoaXMudjIuY29weSh0LnYyKSx0aGlzLnYzLmNvcHkodC52MyksdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LnYwPXRoaXMudjAudG9BcnJheSgpLHQudjE9dGhpcy52MS50b0FycmF5KCksdC52Mj10aGlzLnYyLnRvQXJyYXkoKSx0LnYzPXRoaXMudjMudG9BcnJheSgpLHR9ZnJvbUpTT04odCl7cmV0dXJuIHN1cGVyLmZyb21KU09OKHQpLHRoaXMudjAuZnJvbUFycmF5KHQudjApLHRoaXMudjEuZnJvbUFycmF5KHQudjEpLHRoaXMudjIuZnJvbUFycmF5KHQudjIpLHRoaXMudjMuZnJvbUFycmF5KHQudjMpLHRoaXN9fVVmdC5wcm90b3R5cGUuaXNDdWJpY0JlemllckN1cnZlMz0hMDtjbGFzcyBXZnQgZXh0ZW5kcyBSZnR7Y29uc3RydWN0b3IodD1uZXcgZ3N0LGU9bmV3IGdzdCl7c3VwZXIoKSx0aGlzLnR5cGU9IkxpbmVDdXJ2ZSIsdGhpcy52MT10LHRoaXMudjI9ZX1nZXRQb2ludCh0LGU9bmV3IGdzdCl7Y29uc3Qgbj1lO3JldHVybiAxPT09dD9uLmNvcHkodGhpcy52Mik6KG4uY29weSh0aGlzLnYyKS5zdWIodGhpcy52MSksbi5tdWx0aXBseVNjYWxhcih0KS5hZGQodGhpcy52MSkpLG59Z2V0UG9pbnRBdCh0LGUpe3JldHVybiB0aGlzLmdldFBvaW50KHQsZSl9Z2V0VGFuZ2VudCh0LGUpe2NvbnN0IG49ZXx8bmV3IGdzdDtyZXR1cm4gbi5jb3B5KHRoaXMudjIpLnN1Yih0aGlzLnYxKS5ub3JtYWxpemUoKSxufWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy52MS5jb3B5KHQudjEpLHRoaXMudjIuY29weSh0LnYyKSx0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7cmV0dXJuIHQudjE9dGhpcy52MS50b0FycmF5KCksdC52Mj10aGlzLnYyLnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLnYxLmZyb21BcnJheSh0LnYxKSx0aGlzLnYyLmZyb21BcnJheSh0LnYyKSx0aGlzfX1XZnQucHJvdG90eXBlLmlzTGluZUN1cnZlPSEwO2NsYXNzIEdmdCBleHRlbmRzIFJmdHtjb25zdHJ1Y3Rvcih0PW5ldyBnc3QsZT1uZXcgZ3N0LG49bmV3IGdzdCl7c3VwZXIoKSx0aGlzLnR5cGU9IlF1YWRyYXRpY0JlemllckN1cnZlIix0aGlzLnYwPXQsdGhpcy52MT1lLHRoaXMudjI9bn1nZXRQb2ludCh0LGU9bmV3IGdzdCl7Y29uc3Qgbj1lLG89dGhpcy52MCxpPXRoaXMudjEsYT10aGlzLnYyO3JldHVybiBuLnNldChCZnQodCxvLngsaS54LGEueCksQmZ0KHQsby55LGkueSxhLnkpKSxufWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy52MC5jb3B5KHQudjApLHRoaXMudjEuY29weSh0LnYxKSx0aGlzLnYyLmNvcHkodC52MiksdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LnYwPXRoaXMudjAudG9BcnJheSgpLHQudjE9dGhpcy52MS50b0FycmF5KCksdC52Mj10aGlzLnYyLnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLnYwLmZyb21BcnJheSh0LnYwKSx0aGlzLnYxLmZyb21BcnJheSh0LnYxKSx0aGlzLnYyLmZyb21BcnJheSh0LnYyKSx0aGlzfX1HZnQucHJvdG90eXBlLmlzUXVhZHJhdGljQmV6aWVyQ3VydmU9ITA7Y2xhc3MgWWZ0IGV4dGVuZHMgUmZ0e2NvbnN0cnVjdG9yKHQ9bmV3IHdzdCxlPW5ldyB3c3Qsbj1uZXcgd3N0KXtzdXBlcigpLHRoaXMudHlwZT0iUXVhZHJhdGljQmV6aWVyQ3VydmUzIix0aGlzLnYwPXQsdGhpcy52MT1lLHRoaXMudjI9bn1nZXRQb2ludCh0LGU9bmV3IHdzdCl7Y29uc3Qgbj1lLG89dGhpcy52MCxpPXRoaXMudjEsYT10aGlzLnYyO3JldHVybiBuLnNldChCZnQodCxvLngsaS54LGEueCksQmZ0KHQsby55LGkueSxhLnkpLEJmdCh0LG8ueixpLnosYS56KSksbn1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMudjAuY29weSh0LnYwKSx0aGlzLnYxLmNvcHkodC52MSksdGhpcy52Mi5jb3B5KHQudjIpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC52MD10aGlzLnYwLnRvQXJyYXkoKSx0LnYxPXRoaXMudjEudG9BcnJheSgpLHQudjI9dGhpcy52Mi50b0FycmF5KCksdH1mcm9tSlNPTih0KXtyZXR1cm4gc3VwZXIuZnJvbUpTT04odCksdGhpcy52MC5mcm9tQXJyYXkodC52MCksdGhpcy52MS5mcm9tQXJyYXkodC52MSksdGhpcy52Mi5mcm9tQXJyYXkodC52MiksdGhpc319WWZ0LnByb3RvdHlwZS5pc1F1YWRyYXRpY0JlemllckN1cnZlMz0hMDtjbGFzcyBxZnQgZXh0ZW5kcyBSZnR7Y29uc3RydWN0b3IodD1bXSl7c3VwZXIoKSx0aGlzLnR5cGU9IlNwbGluZUN1cnZlIix0aGlzLnBvaW50cz10fWdldFBvaW50KHQsZT1uZXcgZ3N0KXtjb25zdCBuPWUsbz10aGlzLnBvaW50cyxpPShvLmxlbmd0aC0xKSp0LGE9TWF0aC5mbG9vcihpKSxyPWktYSxzPW9bMD09PWE/YTphLTFdLGw9b1thXSxjPW9bYT5vLmxlbmd0aC0yP28ubGVuZ3RoLTE6YSsxXSxkPW9bYT5vLmxlbmd0aC0zP28ubGVuZ3RoLTE6YSsyXTtyZXR1cm4gbi5zZXQoTGZ0KHIscy54LGwueCxjLngsZC54KSxMZnQocixzLnksbC55LGMueSxkLnkpKSxufWNvcHkodCl7c3VwZXIuY29weSh0KSx0aGlzLnBvaW50cz1bXTtmb3IobGV0IGU9MCxuPXQucG9pbnRzLmxlbmd0aDtlPG47ZSsrKXt0aGlzLnBvaW50cy5wdXNoKHQucG9pbnRzW2VdLmNsb25lKCkpfXJldHVybiB0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7dC5wb2ludHM9W107Zm9yKGxldCBlPTAsbj10aGlzLnBvaW50cy5sZW5ndGg7ZTxuO2UrKyl7dC5wb2ludHMucHVzaCh0aGlzLnBvaW50c1tlXS50b0FycmF5KCkpfXJldHVybiB0fWZyb21KU09OKHQpe3N1cGVyLmZyb21KU09OKHQpLHRoaXMucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dC5wb2ludHMubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dC5wb2ludHNbZV07dGhpcy5wb2ludHMucHVzaCgobmV3IGdzdCkuZnJvbUFycmF5KG4pKX1yZXR1cm4gdGhpc319cWZ0LnByb3RvdHlwZS5pc1NwbGluZUN1cnZlPSEwO3ZhciBaZnQ9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsQXJjQ3VydmU6QWZ0LENhdG11bGxSb21DdXJ2ZTM6RmZ0LEN1YmljQmV6aWVyQ3VydmU6amZ0LEN1YmljQmV6aWVyQ3VydmUzOlVmdCxFbGxpcHNlQ3VydmU6RWZ0LExpbmVDdXJ2ZTpXZnQsTGluZUN1cnZlMzpjbGFzcyBleHRlbmRzIFJmdHtjb25zdHJ1Y3Rvcih0PW5ldyB3c3QsZT1uZXcgd3N0KXtzdXBlcigpLHRoaXMudHlwZT0iTGluZUN1cnZlMyIsdGhpcy5pc0xpbmVDdXJ2ZTM9ITAsdGhpcy52MT10LHRoaXMudjI9ZX1nZXRQb2ludCh0LGU9bmV3IHdzdCl7Y29uc3Qgbj1lO3JldHVybiAxPT09dD9uLmNvcHkodGhpcy52Mik6KG4uY29weSh0aGlzLnYyKS5zdWIodGhpcy52MSksbi5tdWx0aXBseVNjYWxhcih0KS5hZGQodGhpcy52MSkpLG59Z2V0UG9pbnRBdCh0LGUpe3JldHVybiB0aGlzLmdldFBvaW50KHQsZSl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLnYxLmNvcHkodC52MSksdGhpcy52Mi5jb3B5KHQudjIpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC52MT10aGlzLnYxLnRvQXJyYXkoKSx0LnYyPXRoaXMudjIudG9BcnJheSgpLHR9ZnJvbUpTT04odCl7cmV0dXJuIHN1cGVyLmZyb21KU09OKHQpLHRoaXMudjEuZnJvbUFycmF5KHQudjEpLHRoaXMudjIuZnJvbUFycmF5KHQudjIpLHRoaXN9fSxRdWFkcmF0aWNCZXppZXJDdXJ2ZTpHZnQsUXVhZHJhdGljQmV6aWVyQ3VydmUzOllmdCxTcGxpbmVDdXJ2ZTpxZnR9KTtjb25zdCBYZnQ9ZnVuY3Rpb24odCxlLG49Mil7Y29uc3Qgbz1lJiZlLmxlbmd0aCxpPW8/ZVswXSpuOnQubGVuZ3RoO2xldCBhPUtmdCh0LDAsaSxuLCEwKTtjb25zdCByPVtdO2lmKCFhfHxhLm5leHQ9PT1hLnByZXYpcmV0dXJuIHI7bGV0IHMsbCxjLGQscCxtLGY7aWYobyYmKGE9KGZ1bmN0aW9uIHUodCxlLG4sbyl7Y29uc3QgaT1bXTtsZXQgYSxyLHMsbCxjO2ZvcihhPTAscj1lLmxlbmd0aDthPHI7YSsrKXM9ZVthXSpvLGw9YTxyLTE/ZVthKzFdKm86dC5sZW5ndGgsYz1LZnQodCxzLGwsbywhMSksYz09PWMubmV4dCYmKGMuc3RlaW5lcj0hMCksaS5wdXNoKHN1dChjKSk7Zm9yKGkuc29ydChvdXQpLGE9MDthPGkubGVuZ3RoO2ErKylpdXQoaVthXSxuKSxuPUpmdChuLG4ubmV4dCk7cmV0dXJuIG59KSh0LGUsYSxuKSksdC5sZW5ndGg+ODAqbil7cz1jPXRbMF0sbD1kPXRbMV07Zm9yKGxldCBlPW47ZTxpO2UrPW4pcD10W2VdLG09dFtlKzFdLHA8cyYmKHM9cCksbTxsJiYobD1tKSxwPmMmJihjPXApLG0+ZCYmKGQ9bSk7Zj1NYXRoLm1heChjLXMsZC1sKSxmPTAhPT1mPzEvZjowfXJldHVybiBRZnQoYSxyLG4scyxsLGYpLHJ9O2Z1bmN0aW9uIEtmdCh0LGUsbixvLGkpe2xldCBhLHI7aWYoaT09PShmdW5jdGlvbiBzKHQsZSxuLG8pe2xldCBpPTA7Zm9yKGxldCBhPWUscj1uLW87YTxuO2ErPW8paSs9KHRbcl0tdFthXSkqKHRbYSsxXSt0W3IrMV0pLHI9YTtyZXR1cm4gaX0pKHQsZSxuLG8pPjApZm9yKGE9ZTthPG47YSs9bylyPWJ1dChhLHRbYV0sdFthKzFdLHIpO2Vsc2UgZm9yKGE9bi1vO2E+PWU7YS09bylyPWJ1dChhLHRbYV0sdFthKzFdLHIpO3JldHVybiByJiZwdXQocixyLm5leHQpJiYoeXV0KHIpLHI9ci5uZXh0KSxyfWZ1bmN0aW9uIEpmdCh0LGUpe2lmKCF0KXJldHVybiB0O2V8fChlPXQpO2xldCBuLG89dDtkb3tpZihuPSExLG8uc3RlaW5lcnx8IXB1dChvLG8ubmV4dCkmJjAhPT1kdXQoby5wcmV2LG8sby5uZXh0KSlvPW8ubmV4dDtlbHNle2lmKHl1dChvKSxvPWU9by5wcmV2LG89PT1vLm5leHQpYnJlYWs7bj0hMH19d2hpbGUobnx8byE9PWUpO3JldHVybiBlfWZ1bmN0aW9uIFFmdCh0LGUsbixvLGksYSxyKXtpZighdClyZXR1cm47IXImJmEmJihmdW5jdGlvbiBzKHQsZSxuLG8pe2xldCBpPXQ7ZG97bnVsbD09PWkueiYmKGkuej1ydXQoaS54LGkueSxlLG4sbykpLGkucHJldlo9aS5wcmV2LGkubmV4dFo9aS5uZXh0LGk9aS5uZXh0fXdoaWxlKGkhPT10KTtpLnByZXZaLm5leHRaPW51bGwsaS5wcmV2Wj1udWxsLChmdW5jdGlvbiBhKHQpe2xldCBlLG4sbyxpLGEscixzLGwsYz0xO2Rve2ZvcihuPXQsdD1udWxsLGE9bnVsbCxyPTA7bjspe2ZvcihyKyssbz1uLHM9MCxlPTA7ZTxjJiYocysrLG89by5uZXh0WixvKTtlKyspO2ZvcihsPWM7cz4wfHxsPjAmJm87KTAhPT1zJiYoMD09PWx8fCFvfHxuLno8PW8ueik/KGk9bixuPW4ubmV4dFoscy0tKTooaT1vLG89by5uZXh0WixsLS0pLGE/YS5uZXh0Wj1pOnQ9aSxpLnByZXZaPWEsYT1pO249b31hLm5leHRaPW51bGwsYyo9Mn13aGlsZShyPjEpO3JldHVybiB0fSkoaSl9KSh0LG8saSxhKTtsZXQgbCxjLGQ9dDtmb3IoO3QucHJldiE9PXQubmV4dDspaWYobD10LnByZXYsYz10Lm5leHQsYT90dXQodCxvLGksYSk6JGZ0KHQpKWUucHVzaChsLmkvbiksZS5wdXNoKHQuaS9uKSxlLnB1c2goYy5pL24pLHl1dCh0KSx0PWMubmV4dCxkPWMubmV4dDtlbHNlIGlmKCh0PWMpPT09ZCl7cj8xPT09cj9RZnQodD1ldXQoSmZ0KHQpLGUsbiksZSxuLG8saSxhLDIpOjI9PT1yJiZudXQodCxlLG4sbyxpLGEpOlFmdChKZnQodCksZSxuLG8saSxhLDEpO2JyZWFrfX1mdW5jdGlvbiAkZnQodCl7Y29uc3QgZT10LnByZXYsbj10LG89dC5uZXh0O2lmKGR1dChlLG4sbyk+PTApcmV0dXJuITE7bGV0IGk9dC5uZXh0Lm5leHQ7Zm9yKDtpIT09dC5wcmV2Oyl7aWYobHV0KGUueCxlLnksbi54LG4ueSxvLngsby55LGkueCxpLnkpJiZkdXQoaS5wcmV2LGksaS5uZXh0KT49MClyZXR1cm4hMTtpPWkubmV4dH1yZXR1cm4hMH1mdW5jdGlvbiB0dXQodCxlLG4sbyl7Y29uc3QgaT10LnByZXYsYT10LHI9dC5uZXh0O2lmKGR1dChpLGEscik+PTApcmV0dXJuITE7Y29uc3Qgcz1pLng+YS54P2kueD5yLng/aS54OnIueDphLng+ci54P2EueDpyLngsbD1pLnk+YS55P2kueT5yLnk/aS55OnIueTphLnk+ci55P2EueTpyLnksYz1ydXQoaS54PGEueD9pLng8ci54P2kueDpyLng6YS54PHIueD9hLng6ci54LGkueTxhLnk/aS55PHIueT9pLnk6ci55OmEueTxyLnk/YS55OnIueSxlLG4sbyksZD1ydXQocyxsLGUsbixvKTtsZXQgcD10LnByZXZaLG09dC5uZXh0Wjtmb3IoO3AmJnAuej49YyYmbSYmbS56PD1kOyl7aWYocCE9PXQucHJldiYmcCE9PXQubmV4dCYmbHV0KGkueCxpLnksYS54LGEueSxyLngsci55LHAueCxwLnkpJiZkdXQocC5wcmV2LHAscC5uZXh0KT49MClyZXR1cm4hMTtpZihwPXAucHJldlosbSE9PXQucHJldiYmbSE9PXQubmV4dCYmbHV0KGkueCxpLnksYS54LGEueSxyLngsci55LG0ueCxtLnkpJiZkdXQobS5wcmV2LG0sbS5uZXh0KT49MClyZXR1cm4hMTttPW0ubmV4dFp9Zm9yKDtwJiZwLno+PWM7KXtpZihwIT09dC5wcmV2JiZwIT09dC5uZXh0JiZsdXQoaS54LGkueSxhLngsYS55LHIueCxyLnkscC54LHAueSkmJmR1dChwLnByZXYscCxwLm5leHQpPj0wKXJldHVybiExO3A9cC5wcmV2Wn1mb3IoO20mJm0uejw9ZDspe2lmKG0hPT10LnByZXYmJm0hPT10Lm5leHQmJmx1dChpLngsaS55LGEueCxhLnksci54LHIueSxtLngsbS55KSYmZHV0KG0ucHJldixtLG0ubmV4dCk+PTApcmV0dXJuITE7bT1tLm5leHRafXJldHVybiEwfWZ1bmN0aW9uIGV1dCh0LGUsbil7bGV0IG89dDtkb3tjb25zdCBpPW8ucHJldixhPW8ubmV4dC5uZXh0OyFwdXQoaSxhKSYmbXV0KGksbyxvLm5leHQsYSkmJmd1dChpLGEpJiZndXQoYSxpKSYmKGUucHVzaChpLmkvbiksZS5wdXNoKG8uaS9uKSxlLnB1c2goYS5pL24pLHl1dChvKSx5dXQoby5uZXh0KSxvPXQ9YSksbz1vLm5leHR9d2hpbGUobyE9PXQpO3JldHVybiBKZnQobyl9ZnVuY3Rpb24gbnV0KHQsZSxuLG8saSxhKXtsZXQgcj10O2Rve2xldCB0PXIubmV4dC5uZXh0O2Zvcig7dCE9PXIucHJldjspe2lmKHIuaSE9PXQuaSYmY3V0KHIsdCkpe2xldCBzPWh1dChyLHQpO3JldHVybiByPUpmdChyLHIubmV4dCkscz1KZnQocyxzLm5leHQpLFFmdChyLGUsbixvLGksYSksdm9pZCBRZnQocyxlLG4sbyxpLGEpfXQ9dC5uZXh0fXI9ci5uZXh0fXdoaWxlKHIhPT10KX1mdW5jdGlvbiBvdXQodCxlKXtyZXR1cm4gdC54LWUueH1mdW5jdGlvbiBpdXQodCxlKXtpZihlPShmdW5jdGlvbiBuKHQsZSl7bGV0IG49ZTtjb25zdCBvPXQueCxpPXQueTtsZXQgYSxyPS0xLzA7ZG97aWYoaTw9bi55JiZpPj1uLm5leHQueSYmbi5uZXh0LnkhPT1uLnkpe2NvbnN0IHQ9bi54KyhpLW4ueSkqKG4ubmV4dC54LW4ueCkvKG4ubmV4dC55LW4ueSk7aWYodDw9byYmdD5yKXtpZihyPXQsdD09PW8pe2lmKGk9PT1uLnkpcmV0dXJuIG47aWYoaT09PW4ubmV4dC55KXJldHVybiBuLm5leHR9YT1uLng8bi5uZXh0Lng/bjpuLm5leHR9fW49bi5uZXh0fXdoaWxlKG4hPT1lKTtpZighYSlyZXR1cm4gbnVsbDtpZihvPT09cilyZXR1cm4gYTtjb25zdCBzPWEsbD1hLngsYz1hLnk7bGV0IGQscD0xLzA7bj1hO2Rve28+PW4ueCYmbi54Pj1sJiZvIT09bi54JiZsdXQoaTxjP286cixpLGwsYyxpPGM/cjpvLGksbi54LG4ueSkmJihkPU1hdGguYWJzKGktbi55KS8oby1uLngpLGd1dChuLHQpJiYoZDxwfHxkPT09cCYmKG4ueD5hLnh8fG4ueD09PWEueCYmYXV0KGEsbikpKSYmKGE9bixwPWQpKSxuPW4ubmV4dH13aGlsZShuIT09cyk7cmV0dXJuIGF9KSh0LGUpKXtjb25zdCBuPWh1dChlLHQpO0pmdChlLGUubmV4dCksSmZ0KG4sbi5uZXh0KX19ZnVuY3Rpb24gYXV0KHQsZSl7cmV0dXJuIGR1dCh0LnByZXYsdCxlLnByZXYpPDAmJmR1dChlLm5leHQsdCx0Lm5leHQpPDB9ZnVuY3Rpb24gcnV0KHQsZSxuLG8saSl7cmV0dXJuKHQ9MTQzMTY1NTc2NSYoKHQ9ODU4OTkzNDU5JigodD0yNTI2NDUxMzUmKCh0PTE2NzExOTM1JigodD0zMjc2NyoodC1uKSppKXx0PDw4KSl8dDw8NCkpfHQ8PDIpKXx0PDwxKSl8KGU9MTQzMTY1NTc2NSYoKGU9ODU4OTkzNDU5JigoZT0yNTI2NDUxMzUmKChlPTE2NzExOTM1JigoZT0zMjc2NyooZS1vKSppKXxlPDw4KSl8ZTw8NCkpfGU8PDIpKXxlPDwxKSk8PDF9ZnVuY3Rpb24gc3V0KHQpe2xldCBlPXQsbj10O2RveyhlLng8bi54fHxlLng9PT1uLngmJmUueTxuLnkpJiYobj1lKSxlPWUubmV4dH13aGlsZShlIT09dCk7cmV0dXJuIG59ZnVuY3Rpb24gbHV0KHQsZSxuLG8saSxhLHIscyl7cmV0dXJuKGktcikqKGUtcyktKHQtcikqKGEtcyk+PTAmJih0LXIpKihvLXMpLShuLXIpKihlLXMpPj0wJiYobi1yKSooYS1zKS0oaS1yKSooby1zKT49MH1mdW5jdGlvbiBjdXQodCxlKXtyZXR1cm4gdC5uZXh0LmkhPT1lLmkmJnQucHJldi5pIT09ZS5pJiYhKGZ1bmN0aW9uIG4odCxlKXtsZXQgbj10O2Rve2lmKG4uaSE9PXQuaSYmbi5uZXh0LmkhPT10LmkmJm4uaSE9PWUuaSYmbi5uZXh0LmkhPT1lLmkmJm11dChuLG4ubmV4dCx0LGUpKXJldHVybiEwO249bi5uZXh0fXdoaWxlKG4hPT10KTtyZXR1cm4hMX0pKHQsZSkmJihndXQodCxlKSYmZ3V0KGUsdCkmJihmdW5jdGlvbiBvKHQsZSl7bGV0IG49dCxvPSExO2NvbnN0IGk9KHQueCtlLngpLzIsYT0odC55K2UueSkvMjtkb3tuLnk+YSE9bi5uZXh0Lnk+YSYmbi5uZXh0LnkhPT1uLnkmJmk8KG4ubmV4dC54LW4ueCkqKGEtbi55KS8obi5uZXh0Lnktbi55KStuLngmJihvPSFvKSxuPW4ubmV4dH13aGlsZShuIT09dCk7cmV0dXJuIG99KSh0LGUpJiYoZHV0KHQucHJldix0LGUucHJldil8fGR1dCh0LGUucHJldixlKSl8fHB1dCh0LGUpJiZkdXQodC5wcmV2LHQsdC5uZXh0KT4wJiZkdXQoZS5wcmV2LGUsZS5uZXh0KT4wKX1mdW5jdGlvbiBkdXQodCxlLG4pe3JldHVybihlLnktdC55KSoobi54LWUueCktKGUueC10LngpKihuLnktZS55KX1mdW5jdGlvbiBwdXQodCxlKXtyZXR1cm4gdC54PT09ZS54JiZ0Lnk9PT1lLnl9ZnVuY3Rpb24gbXV0KHQsZSxuLG8pe2NvbnN0IGk9dXV0KGR1dCh0LGUsbikpLGE9dXV0KGR1dCh0LGUsbykpLHI9dXV0KGR1dChuLG8sdCkpLHM9dXV0KGR1dChuLG8sZSkpO3JldHVybiBpIT09YSYmciE9PXN8fCghKDAhPT1pfHwhZnV0KHQsbixlKSl8fCghKDAhPT1hfHwhZnV0KHQsbyxlKSl8fCghKDAhPT1yfHwhZnV0KG4sdCxvKSl8fCEoMCE9PXN8fCFmdXQobixlLG8pKSkpKX1mdW5jdGlvbiBmdXQodCxlLG4pe3JldHVybiBlLng8PU1hdGgubWF4KHQueCxuLngpJiZlLng+PU1hdGgubWluKHQueCxuLngpJiZlLnk8PU1hdGgubWF4KHQueSxuLnkpJiZlLnk+PU1hdGgubWluKHQueSxuLnkpfWZ1bmN0aW9uIHV1dCh0KXtyZXR1cm4gdD4wPzE6dDwwPy0xOjB9ZnVuY3Rpb24gZ3V0KHQsZSl7cmV0dXJuIGR1dCh0LnByZXYsdCx0Lm5leHQpPDA/ZHV0KHQsZSx0Lm5leHQpPj0wJiZkdXQodCx0LnByZXYsZSk+PTA6ZHV0KHQsZSx0LnByZXYpPDB8fGR1dCh0LHQubmV4dCxlKTwwfWZ1bmN0aW9uIGh1dCh0LGUpe2NvbnN0IG49bmV3IF91dCh0LmksdC54LHQueSksbz1uZXcgX3V0KGUuaSxlLngsZS55KSxpPXQubmV4dCxhPWUucHJldjtyZXR1cm4gdC5uZXh0PWUsZS5wcmV2PXQsbi5uZXh0PWksaS5wcmV2PW4sby5uZXh0PW4sbi5wcmV2PW8sYS5uZXh0PW8sby5wcmV2PWEsb31mdW5jdGlvbiBidXQodCxlLG4sbyl7Y29uc3QgaT1uZXcgX3V0KHQsZSxuKTtyZXR1cm4gbz8oaS5uZXh0PW8ubmV4dCxpLnByZXY9byxvLm5leHQucHJldj1pLG8ubmV4dD1pKTooaS5wcmV2PWksaS5uZXh0PWkpLGl9ZnVuY3Rpb24geXV0KHQpe3QubmV4dC5wcmV2PXQucHJldix0LnByZXYubmV4dD10Lm5leHQsdC5wcmV2WiYmKHQucHJldloubmV4dFo9dC5uZXh0WiksdC5uZXh0WiYmKHQubmV4dFoucHJldlo9dC5wcmV2Wil9ZnVuY3Rpb24gX3V0KHQsZSxuKXt0aGlzLmk9dCx0aGlzLng9ZSx0aGlzLnk9bix0aGlzLnByZXY9bnVsbCx0aGlzLm5leHQ9bnVsbCx0aGlzLno9bnVsbCx0aGlzLnByZXZaPW51bGwsdGhpcy5uZXh0Wj1udWxsLHRoaXMuc3RlaW5lcj0hMX1jbGFzcyBDdXR7c3RhdGljIGFyZWEodCl7Y29uc3QgZT10Lmxlbmd0aDtsZXQgbj0wO2ZvcihsZXQgbz1lLTEsaT0wO2k8ZTtvPWkrKyluKz10W29dLngqdFtpXS55LXRbaV0ueCp0W29dLnk7cmV0dXJuLjUqbn1zdGF0aWMgaXNDbG9ja1dpc2UodCl7cmV0dXJuIEN1dC5hcmVhKHQpPDB9c3RhdGljIHRyaWFuZ3VsYXRlU2hhcGUodCxlKXtjb25zdCBuPVtdLG89W10saT1bXTtNdXQodCksdnV0KG4sdCk7bGV0IGE9dC5sZW5ndGg7ZS5mb3JFYWNoKE11dCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspby5wdXNoKGEpLGErPWVbdF0ubGVuZ3RoLHZ1dChuLGVbdF0pO2NvbnN0IHI9WGZ0KG4sbyk7Zm9yKGxldCB0PTA7dDxyLmxlbmd0aDt0Kz0zKWkucHVzaChyLnNsaWNlKHQsdCszKSk7cmV0dXJuIGl9fWZ1bmN0aW9uIE11dCh0KXtjb25zdCBlPXQubGVuZ3RoO2U+MiYmdFtlLTFdLmVxdWFscyh0WzBdKSYmdC5wb3AoKX1mdW5jdGlvbiB2dXQodCxlKXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl0LnB1c2goZVtuXS54KSx0LnB1c2goZVtuXS55KX1jbGFzcyB4dXQgZXh0ZW5kcyBkY3R7Y29uc3RydWN0b3IodCxlKXtzdXBlcigpLHRoaXMudHlwZT0iRXh0cnVkZUdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3NoYXBlczp0LG9wdGlvbnM6ZX0sdD1BcnJheS5pc0FycmF5KHQpP3Q6W3RdO2NvbnN0IG49dGhpcyxvPVtdLGk9W107Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXthKHRbZV0pfWZ1bmN0aW9uIGEodCl7Y29uc3QgYT1bXSxyPXZvaWQgMCE9PWUuY3VydmVTZWdtZW50cz9lLmN1cnZlU2VnbWVudHM6MTIscz12b2lkIDAhPT1lLnN0ZXBzP2Uuc3RlcHM6MTtsZXQgbD12b2lkIDAhPT1lLmRlcHRoP2UuZGVwdGg6MTAwLGM9dm9pZCAwPT09ZS5iZXZlbEVuYWJsZWR8fGUuYmV2ZWxFbmFibGVkLGQ9dm9pZCAwIT09ZS5iZXZlbFRoaWNrbmVzcz9lLmJldmVsVGhpY2tuZXNzOjYscD12b2lkIDAhPT1lLmJldmVsU2l6ZT9lLmJldmVsU2l6ZTpkLTIsbT12b2lkIDAhPT1lLmJldmVsT2Zmc2V0P2UuYmV2ZWxPZmZzZXQ6MCxmPXZvaWQgMCE9PWUuYmV2ZWxTZWdtZW50cz9lLmJldmVsU2VnbWVudHM6Mztjb25zdCB1PWUuZXh0cnVkZVBhdGgsZz12b2lkIDAhPT1lLlVWR2VuZXJhdG9yP2UuVVZHZW5lcmF0b3I6T3V0O3ZvaWQgMCE9PWUuYW1vdW50JiYoY29uc29sZS53YXJuKCJUSFJFRS5FeHRydWRlQnVmZmVyR2VvbWV0cnk6IGFtb3VudCBoYXMgYmVlbiByZW5hbWVkIHRvIGRlcHRoLiIpLGw9ZS5hbW91bnQpO2xldCBoLGIseSxfLEMsTT0hMTt1JiYoaD11LmdldFNwYWNlZFBvaW50cyhzKSxNPSEwLGM9ITEsYj11LmNvbXB1dGVGcmVuZXRGcmFtZXMocywhMSkseT1uZXcgd3N0LF89bmV3IHdzdCxDPW5ldyB3c3QpLGN8fChmPTAsZD0wLHA9MCxtPTApO2NvbnN0IHY9dC5leHRyYWN0UG9pbnRzKHIpO2xldCB4PXYuc2hhcGU7Y29uc3QgTz12LmhvbGVzO2lmKCFDdXQuaXNDbG9ja1dpc2UoeCkpe3g9eC5yZXZlcnNlKCk7Zm9yKGxldCB0PTAsZT1PLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPU9bdF07Q3V0LmlzQ2xvY2tXaXNlKGUpJiYoT1t0XT1lLnJldmVyc2UoKSl9fWNvbnN0IFA9Q3V0LnRyaWFuZ3VsYXRlU2hhcGUoeCxPKSx3PXg7Zm9yKGxldCB0PTAsZT1PLmxlbmd0aDt0PGU7dCsrKXt4PXguY29uY2F0KE9bdF0pfWZ1bmN0aW9uIGsodCxlLG4pe3JldHVybiBlfHxjb25zb2xlLmVycm9yKCJUSFJFRS5FeHRydWRlR2VvbWV0cnk6IHZlYyBkb2VzIG5vdCBleGlzdCIpLGUuY2xvbmUoKS5tdWx0aXBseVNjYWxhcihuKS5hZGQodCl9Y29uc3QgUz14Lmxlbmd0aCxEPVAubGVuZ3RoO2Z1bmN0aW9uIFIodCxlLG4pe2xldCBvLGksYTtjb25zdCByPXQueC1lLngscz10LnktZS55LGw9bi54LXQueCxjPW4ueS10LnksZD1yKnIrcypzO2lmKE1hdGguYWJzKHIqYy1zKmwpPk51bWJlci5FUFNJTE9OKXtjb25zdCBwPU1hdGguc3FydChkKSxtPU1hdGguc3FydChsKmwrYypjKSxmPWUueC1zL3AsdT1lLnkrci9wLGc9KChuLngtYy9tLWYpKmMtKG4ueStsL20tdSkqbCkvKHIqYy1zKmwpO289ZityKmctdC54LGk9dStzKmctdC55O2NvbnN0IGg9bypvK2kqaTtpZihoPD0yKXJldHVybiBuZXcgZ3N0KG8saSk7YT1NYXRoLnNxcnQoaC8yKX1lbHNle2xldCB0PSExO3I+TnVtYmVyLkVQU0lMT04/bD5OdW1iZXIuRVBTSUxPTiYmKHQ9ITApOnI8LU51bWJlci5FUFNJTE9OP2w8LU51bWJlci5FUFNJTE9OJiYodD0hMCk6TWF0aC5zaWduKHMpPT09TWF0aC5zaWduKGMpJiYodD0hMCksdD8obz0tcyxpPXIsYT1NYXRoLnNxcnQoZCkpOihvPXIsaT1zLGE9TWF0aC5zcXJ0KGQvMikpfXJldHVybiBuZXcgZ3N0KG8vYSxpL2EpfWNvbnN0IEU9W107Zm9yKGxldCB0PTAsZT13Lmxlbmd0aCxuPWUtMSxvPXQrMTt0PGU7dCsrLG4rKyxvKyspbj09PWUmJihuPTApLG89PT1lJiYobz0wKSxFW3RdPVIod1t0XSx3W25dLHdbb10pO2NvbnN0IEE9W107bGV0IFQsTj1FLmNvbmNhdCgpO2ZvcihsZXQgdD0wLGU9Ty5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1PW3RdO1Q9W107Zm9yKGxldCB0PTAsbj1lLmxlbmd0aCxvPW4tMSxpPXQrMTt0PG47dCsrLG8rKyxpKyspbz09PW4mJihvPTApLGk9PT1uJiYoaT0wKSxUW3RdPVIoZVt0XSxlW29dLGVbaV0pO0EucHVzaChUKSxOPU4uY29uY2F0KFQpfWZvcihsZXQgdD0wO3Q8Zjt0Kyspe2NvbnN0IGU9dC9mLG49ZCpNYXRoLmNvcyhlKk1hdGguUEkvMiksbz1wKk1hdGguc2luKGUqTWF0aC5QSS8yKSttO2ZvcihsZXQgdD0wLGU9dy5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1rKHdbdF0sRVt0XSxvKTtIKGUueCxlLnksLW4pfWZvcihsZXQgdD0wLGU9Ty5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1PW3RdO1Q9QVt0XTtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kyspe2NvbnN0IGk9ayhlW3RdLFRbdF0sbyk7SChpLngsaS55LC1uKX19fWNvbnN0IHo9cCttO2ZvcihsZXQgdD0wO3Q8Uzt0Kyspe2NvbnN0IGU9Yz9rKHhbdF0sTlt0XSx6KTp4W3RdO00/KF8uY29weShiLm5vcm1hbHNbMF0pLm11bHRpcGx5U2NhbGFyKGUueCkseS5jb3B5KGIuYmlub3JtYWxzWzBdKS5tdWx0aXBseVNjYWxhcihlLnkpLEMuY29weShoWzBdKS5hZGQoXykuYWRkKHkpLEgoQy54LEMueSxDLnopKTpIKGUueCxlLnksMCl9Zm9yKGxldCB0PTE7dDw9czt0KyspZm9yKGxldCBlPTA7ZTxTO2UrKyl7Y29uc3Qgbj1jP2soeFtlXSxOW2VdLHopOnhbZV07TT8oXy5jb3B5KGIubm9ybWFsc1t0XSkubXVsdGlwbHlTY2FsYXIobi54KSx5LmNvcHkoYi5iaW5vcm1hbHNbdF0pLm11bHRpcGx5U2NhbGFyKG4ueSksQy5jb3B5KGhbdF0pLmFkZChfKS5hZGQoeSksSChDLngsQy55LEMueikpOkgobi54LG4ueSxsL3MqdCl9Zm9yKGxldCB0PWYtMTt0Pj0wO3QtLSl7Y29uc3QgZT10L2Ysbj1kKk1hdGguY29zKGUqTWF0aC5QSS8yKSxvPXAqTWF0aC5zaW4oZSpNYXRoLlBJLzIpK207Zm9yKGxldCB0PTAsZT13Lmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPWsod1t0XSxFW3RdLG8pO0goZS54LGUueSxsK24pfWZvcihsZXQgdD0wLGU9Ty5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1PW3RdO1Q9QVt0XTtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kyspe2NvbnN0IGk9ayhlW3RdLFRbdF0sbyk7TT9IKGkueCxpLnkraFtzLTFdLnksaFtzLTFdLngrbik6SChpLngsaS55LGwrbil9fX1mdW5jdGlvbiBJKHQsZSl7bGV0IG49dC5sZW5ndGg7Zm9yKDstLW4+PTA7KXtjb25zdCBvPW47bGV0IGk9bi0xO2k8MCYmKGk9dC5sZW5ndGgtMSk7Zm9yKGxldCB0PTAsbj1zKzIqZjt0PG47dCsrKXtjb25zdCBuPVMqdCxhPVMqKHQrMSk7TChlK28rbixlK2krbixlK2krYSxlK28rYSl9fX1mdW5jdGlvbiBIKHQsZSxuKXthLnB1c2godCksYS5wdXNoKGUpLGEucHVzaChuKX1mdW5jdGlvbiBGKHQsZSxpKXtCKHQpLEIoZSksQihpKTtjb25zdCBhPW8ubGVuZ3RoLzMscj1nLmdlbmVyYXRlVG9wVVYobixvLGEtMyxhLTIsYS0xKTtWKHJbMF0pLFYoclsxXSksVihyWzJdKX1mdW5jdGlvbiBMKHQsZSxpLGEpe0IodCksQihlKSxCKGEpLEIoZSksQihpKSxCKGEpO2NvbnN0IHI9by5sZW5ndGgvMyxzPWcuZ2VuZXJhdGVTaWRlV2FsbFVWKG4sbyxyLTYsci0zLHItMixyLTEpO1Yoc1swXSksVihzWzFdKSxWKHNbM10pLFYoc1sxXSksVihzWzJdKSxWKHNbM10pfWZ1bmN0aW9uIEIodCl7by5wdXNoKGFbMyp0KzBdKSxvLnB1c2goYVszKnQrMV0pLG8ucHVzaChhWzMqdCsyXSl9ZnVuY3Rpb24gVih0KXtpLnB1c2godC54KSxpLnB1c2godC55KX0hKGZ1bmN0aW9uIGooKXtjb25zdCB0PW8ubGVuZ3RoLzM7aWYoYyl7bGV0IHQ9MCxlPVMqdDtmb3IobGV0IHQ9MDt0PEQ7dCsrKXtjb25zdCBuPVBbdF07RihuWzJdK2UsblsxXStlLG5bMF0rZSl9dD1zKzIqZixlPVMqdDtmb3IobGV0IHQ9MDt0PEQ7dCsrKXtjb25zdCBuPVBbdF07RihuWzBdK2UsblsxXStlLG5bMl0rZSl9fWVsc2V7Zm9yKGxldCB0PTA7dDxEO3QrKyl7Y29uc3QgZT1QW3RdO0YoZVsyXSxlWzFdLGVbMF0pfWZvcihsZXQgdD0wO3Q8RDt0Kyspe2NvbnN0IGU9UFt0XTtGKGVbMF0rUypzLGVbMV0rUypzLGVbMl0rUypzKX19bi5hZGRHcm91cCh0LG8ubGVuZ3RoLzMtdCwwKX0pKCksKGZ1bmN0aW9uIFUoKXtjb25zdCB0PW8ubGVuZ3RoLzM7bGV0IGU9MDtJKHcsZSksZSs9dy5sZW5ndGg7Zm9yKGxldCB0PTAsbj1PLmxlbmd0aDt0PG47dCsrKXtjb25zdCBuPU9bdF07SShuLGUpLGUrPW4ubGVuZ3RofW4uYWRkR3JvdXAodCxvLmxlbmd0aC8zLXQsMSl9KSgpfXRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGVjdChvLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBlY3QoaSwyKSksdGhpcy5jb21wdXRlVmVydGV4Tm9ybWFscygpfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7cmV0dXJuKGZ1bmN0aW9uIGUodCxuLG8pe2lmKG8uc2hhcGVzPVtdLEFycmF5LmlzQXJyYXkodCkpZm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXtvLnNoYXBlcy5wdXNoKHRbZV0udXVpZCl9ZWxzZSBvLnNoYXBlcy5wdXNoKHQudXVpZCk7dm9pZCAwIT09bi5leHRydWRlUGF0aCYmKG8ub3B0aW9ucy5leHRydWRlUGF0aD1uLmV4dHJ1ZGVQYXRoLnRvSlNPTigpKTtyZXR1cm4gb30pKHRoaXMucGFyYW1ldGVycy5zaGFwZXMsdGhpcy5wYXJhbWV0ZXJzLm9wdGlvbnMsdCl9c3RhdGljIGZyb21KU09OKHQsZSl7Y29uc3Qgbj1bXTtmb3IobGV0IG89MCxpPXQuc2hhcGVzLmxlbmd0aDtvPGk7bysrKXtuLnB1c2goZVt0LnNoYXBlc1tvXV0pfWNvbnN0IG89dC5vcHRpb25zLmV4dHJ1ZGVQYXRoO3JldHVybiB2b2lkIDAhPT1vJiYodC5vcHRpb25zLmV4dHJ1ZGVQYXRoPShuZXcgWmZ0W28udHlwZV0pLmZyb21KU09OKG8pKSxuZXcgeHV0KG4sdC5vcHRpb25zKX19Y29uc3QgT3V0PXtnZW5lcmF0ZVRvcFVWOmZ1bmN0aW9uKHQsZSxuLG8saSl7Y29uc3QgYT1lWzMqb10scj1lWzMqbysxXSxzPWVbMyppXSxsPWVbMyppKzFdO3JldHVybltuZXcgZ3N0KGVbMypuXSxlWzMqbisxXSksbmV3IGdzdChhLHIpLG5ldyBnc3QocyxsKV19LGdlbmVyYXRlU2lkZVdhbGxVVjpmdW5jdGlvbih0LGUsbixvLGksYSl7Y29uc3Qgcj1lWzMqbl0scz1lWzMqbisxXSxsPWVbMypuKzJdLGM9ZVszKm9dLGQ9ZVszKm8rMV0scD1lWzMqbysyXSxtPWVbMyppXSxmPWVbMyppKzFdLHU9ZVszKmkrMl0sZz1lWzMqYV0saD1lWzMqYSsxXSxiPWVbMyphKzJdO3JldHVybiBNYXRoLmFicyhzLWQpPE1hdGguYWJzKHItYyk/W25ldyBnc3QociwxLWwpLG5ldyBnc3QoYywxLXApLG5ldyBnc3QobSwxLXUpLG5ldyBnc3QoZywxLWIpXTpbbmV3IGdzdChzLDEtbCksbmV3IGdzdChkLDEtcCksbmV3IGdzdChmLDEtdSksbmV3IGdzdChoLDEtYildfX07Y2xhc3MgUHV0IGV4dGVuZHMgZGN0e2NvbnN0cnVjdG9yKHQsZT0xMil7c3VwZXIoKSx0aGlzLnR5cGU9IlNoYXBlR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17c2hhcGVzOnQsY3VydmVTZWdtZW50czplfTtjb25zdCBuPVtdLG89W10saT1bXSxhPVtdO2xldCByPTAscz0wO2lmKCExPT09QXJyYXkuaXNBcnJheSh0KSlsKHQpO2Vsc2UgZm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspbCh0W2VdKSx0aGlzLmFkZEdyb3VwKHIscyxlKSxyKz1zLHM9MDtmdW5jdGlvbiBsKHQpe2NvbnN0IHI9by5sZW5ndGgvMyxsPXQuZXh0cmFjdFBvaW50cyhlKTtsZXQgYz1sLnNoYXBlO2NvbnN0IGQ9bC5ob2xlczshMT09PUN1dC5pc0Nsb2NrV2lzZShjKSYmKGM9Yy5yZXZlcnNlKCkpO2ZvcihsZXQgdD0wLGU9ZC5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1kW3RdOyEwPT09Q3V0LmlzQ2xvY2tXaXNlKGUpJiYoZFt0XT1lLnJldmVyc2UoKSl9Y29uc3QgcD1DdXQudHJpYW5ndWxhdGVTaGFwZShjLGQpO2ZvcihsZXQgdD0wLGU9ZC5sZW5ndGg7dDxlO3QrKyl7Yz1jLmNvbmNhdChkW3RdKX1mb3IobGV0IHQ9MCxlPWMubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9Y1t0XTtvLnB1c2goZS54LGUueSwwKSxpLnB1c2goMCwwLDEpLGEucHVzaChlLngsZS55KX1mb3IobGV0IHQ9MCxlPXAubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9cFt0XTtuLnB1c2goZVswXStyLGVbMV0rcixlWzJdK3IpLHMrPTN9fXRoaXMuc2V0SW5kZXgobiksdGhpcy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgZWN0KG8sMykpLHRoaXMuc2V0QXR0cmlidXRlKCJub3JtYWwiLG5ldyBlY3QoaSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoInV2IixuZXcgZWN0KGEsMikpfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7cmV0dXJuKGZ1bmN0aW9uIGUodCxuKXtpZihuLnNoYXBlcz1bXSxBcnJheS5pc0FycmF5KHQpKWZvcihsZXQgZT0wLG89dC5sZW5ndGg7ZTxvO2UrKyl7bi5zaGFwZXMucHVzaCh0W2VdLnV1aWQpfWVsc2Ugbi5zaGFwZXMucHVzaCh0LnV1aWQpO3JldHVybiBufSkodGhpcy5wYXJhbWV0ZXJzLnNoYXBlcyx0KX1zdGF0aWMgZnJvbUpTT04odCxlKXtjb25zdCBuPVtdO2ZvcihsZXQgbz0wLGk9dC5zaGFwZXMubGVuZ3RoO288aTtvKyspe24ucHVzaChlW3Quc2hhcGVzW29dXSl9cmV0dXJuIG5ldyBQdXQobix0LmN1cnZlU2VnbWVudHMpfX0oY2xhc3MgZXh0ZW5kcyBWbHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlNoYWRvd01hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBabHQoMCksdGhpcy50cmFuc3BhcmVudD0hMCx0aGlzLnNldFZhbHVlcyh0KX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuY29sb3IuY29weSh0LmNvbG9yKSx0aGlzfX0pLnByb3RvdHlwZS5pc1NoYWRvd01hdGVyaWFsPSEwO2NsYXNzIHd1dCBleHRlbmRzIFZsdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuZGVmaW5lcz17U1RBTkRBUkQ6IiJ9LHRoaXMudHlwZT0iTWVzaFN0YW5kYXJkTWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IFpsdCgxNjc3NzIxNSksdGhpcy5yb3VnaG5lc3M9MSx0aGlzLm1ldGFsbmVzcz0wLHRoaXMubWFwPW51bGwsdGhpcy5saWdodE1hcD1udWxsLHRoaXMubGlnaHRNYXBJbnRlbnNpdHk9MSx0aGlzLmFvTWFwPW51bGwsdGhpcy5hb01hcEludGVuc2l0eT0xLHRoaXMuZW1pc3NpdmU9bmV3IFpsdCgwKSx0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZU1hcD1udWxsLHRoaXMuYnVtcE1hcD1udWxsLHRoaXMuYnVtcFNjYWxlPTEsdGhpcy5ub3JtYWxNYXA9bnVsbCx0aGlzLm5vcm1hbE1hcFR5cGU9MCx0aGlzLm5vcm1hbFNjYWxlPW5ldyBnc3QoMSwxKSx0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9MSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9MCx0aGlzLnJvdWdobmVzc01hcD1udWxsLHRoaXMubWV0YWxuZXNzTWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuZW52TWFwPW51bGwsdGhpcy5lbnZNYXBJbnRlbnNpdHk9MSx0aGlzLnJlZnJhY3Rpb25SYXRpbz0uOTgsdGhpcy53aXJlZnJhbWU9ITEsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9MSx0aGlzLndpcmVmcmFtZUxpbmVjYXA9InJvdW5kIix0aGlzLndpcmVmcmFtZUxpbmVqb2luPSJyb3VuZCIsdGhpcy5mbGF0U2hhZGluZz0hMSx0aGlzLnNldFZhbHVlcyh0KX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuZGVmaW5lcz17U1RBTkRBUkQ6IiJ9LHRoaXMuY29sb3IuY29weSh0LmNvbG9yKSx0aGlzLnJvdWdobmVzcz10LnJvdWdobmVzcyx0aGlzLm1ldGFsbmVzcz10Lm1ldGFsbmVzcyx0aGlzLm1hcD10Lm1hcCx0aGlzLmxpZ2h0TWFwPXQubGlnaHRNYXAsdGhpcy5saWdodE1hcEludGVuc2l0eT10LmxpZ2h0TWFwSW50ZW5zaXR5LHRoaXMuYW9NYXA9dC5hb01hcCx0aGlzLmFvTWFwSW50ZW5zaXR5PXQuYW9NYXBJbnRlbnNpdHksdGhpcy5lbWlzc2l2ZS5jb3B5KHQuZW1pc3NpdmUpLHRoaXMuZW1pc3NpdmVNYXA9dC5lbWlzc2l2ZU1hcCx0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PXQuZW1pc3NpdmVJbnRlbnNpdHksdGhpcy5idW1wTWFwPXQuYnVtcE1hcCx0aGlzLmJ1bXBTY2FsZT10LmJ1bXBTY2FsZSx0aGlzLm5vcm1hbE1hcD10Lm5vcm1hbE1hcCx0aGlzLm5vcm1hbE1hcFR5cGU9dC5ub3JtYWxNYXBUeXBlLHRoaXMubm9ybWFsU2NhbGUuY29weSh0Lm5vcm1hbFNjYWxlKSx0aGlzLmRpc3BsYWNlbWVudE1hcD10LmRpc3BsYWNlbWVudE1hcCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPXQuZGlzcGxhY2VtZW50U2NhbGUsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPXQuZGlzcGxhY2VtZW50Qmlhcyx0aGlzLnJvdWdobmVzc01hcD10LnJvdWdobmVzc01hcCx0aGlzLm1ldGFsbmVzc01hcD10Lm1ldGFsbmVzc01hcCx0aGlzLmFscGhhTWFwPXQuYWxwaGFNYXAsdGhpcy5lbnZNYXA9dC5lbnZNYXAsdGhpcy5lbnZNYXBJbnRlbnNpdHk9dC5lbnZNYXBJbnRlbnNpdHksdGhpcy5yZWZyYWN0aW9uUmF0aW89dC5yZWZyYWN0aW9uUmF0aW8sdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCx0aGlzLndpcmVmcmFtZUxpbmVqb2luPXQud2lyZWZyYW1lTGluZWpvaW4sdGhpcy5mbGF0U2hhZGluZz10LmZsYXRTaGFkaW5nLHRoaXN9fXd1dC5wcm90b3R5cGUuaXNNZXNoU3RhbmRhcmRNYXRlcmlhbD0hMDsoY2xhc3MgZXh0ZW5kcyB3dXR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLmRlZmluZXM9e1NUQU5EQVJEOiIiLFBIWVNJQ0FMOiIifSx0aGlzLnR5cGU9Ik1lc2hQaHlzaWNhbE1hdGVyaWFsIix0aGlzLmNsZWFyY29hdD0wLHRoaXMuY2xlYXJjb2F0TWFwPW51bGwsdGhpcy5jbGVhcmNvYXRSb3VnaG5lc3M9MCx0aGlzLmNsZWFyY29hdFJvdWdobmVzc01hcD1udWxsLHRoaXMuY2xlYXJjb2F0Tm9ybWFsU2NhbGU9bmV3IGdzdCgxLDEpLHRoaXMuY2xlYXJjb2F0Tm9ybWFsTWFwPW51bGwsdGhpcy5yZWZsZWN0aXZpdHk9LjUsT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImlvciIse2dldDpmdW5jdGlvbigpe3JldHVybigxKy40KnRoaXMucmVmbGVjdGl2aXR5KS8oMS0uNCp0aGlzLnJlZmxlY3Rpdml0eSl9LHNldDpmdW5jdGlvbih0KXt0aGlzLnJlZmxlY3Rpdml0eT1wc3QoMi41Kih0LTEpLyh0KzEpLDAsMSl9fSksdGhpcy5zaGVlbj1udWxsLHRoaXMudHJhbnNtaXNzaW9uPTAsdGhpcy50cmFuc21pc3Npb25NYXA9bnVsbCx0aGlzLnRoaWNrbmVzcz0uMDEsdGhpcy50aGlja25lc3NNYXA9bnVsbCx0aGlzLmF0dGVudWF0aW9uRGlzdGFuY2U9MCx0aGlzLmF0dGVudWF0aW9uVGludD1uZXcgWmx0KDEsMSwxKSx0aGlzLnNwZWN1bGFySW50ZW5zaXR5PTEsdGhpcy5zcGVjdWxhckludGVuc2l0eU1hcD1udWxsLHRoaXMuc3BlY3VsYXJUaW50PW5ldyBabHQoMSwxLDEpLHRoaXMuc3BlY3VsYXJUaW50TWFwPW51bGwsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmRlZmluZXM9e1NUQU5EQVJEOiIiLFBIWVNJQ0FMOiIifSx0aGlzLmNsZWFyY29hdD10LmNsZWFyY29hdCx0aGlzLmNsZWFyY29hdE1hcD10LmNsZWFyY29hdE1hcCx0aGlzLmNsZWFyY29hdFJvdWdobmVzcz10LmNsZWFyY29hdFJvdWdobmVzcyx0aGlzLmNsZWFyY29hdFJvdWdobmVzc01hcD10LmNsZWFyY29hdFJvdWdobmVzc01hcCx0aGlzLmNsZWFyY29hdE5vcm1hbE1hcD10LmNsZWFyY29hdE5vcm1hbE1hcCx0aGlzLmNsZWFyY29hdE5vcm1hbFNjYWxlLmNvcHkodC5jbGVhcmNvYXROb3JtYWxTY2FsZSksdGhpcy5yZWZsZWN0aXZpdHk9dC5yZWZsZWN0aXZpdHksdGhpcy5zaGVlbj10LnNoZWVuPyh0aGlzLnNoZWVufHxuZXcgWmx0KS5jb3B5KHQuc2hlZW4pOm51bGwsdGhpcy50cmFuc21pc3Npb249dC50cmFuc21pc3Npb24sdGhpcy50cmFuc21pc3Npb25NYXA9dC50cmFuc21pc3Npb25NYXAsdGhpcy50aGlja25lc3M9dC50aGlja25lc3MsdGhpcy50aGlja25lc3NNYXA9dC50aGlja25lc3NNYXAsdGhpcy5hdHRlbnVhdGlvbkRpc3RhbmNlPXQuYXR0ZW51YXRpb25EaXN0YW5jZSx0aGlzLmF0dGVudWF0aW9uVGludC5jb3B5KHQuYXR0ZW51YXRpb25UaW50KSx0aGlzLnNwZWN1bGFySW50ZW5zaXR5PXQuc3BlY3VsYXJJbnRlbnNpdHksdGhpcy5zcGVjdWxhckludGVuc2l0eU1hcD10LnNwZWN1bGFySW50ZW5zaXR5TWFwLHRoaXMuc3BlY3VsYXJUaW50LmNvcHkodC5zcGVjdWxhclRpbnQpLHRoaXMuc3BlY3VsYXJUaW50TWFwPXQuc3BlY3VsYXJUaW50TWFwLHRoaXN9fSkucHJvdG90eXBlLmlzTWVzaFBoeXNpY2FsTWF0ZXJpYWw9ITA7KGNsYXNzIGV4dGVuZHMgVmx0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJNZXNoUGhvbmdNYXRlcmlhbCIsdGhpcy5jb2xvcj1uZXcgWmx0KDE2Nzc3MjE1KSx0aGlzLnNwZWN1bGFyPW5ldyBabHQoMTExODQ4MSksdGhpcy5zaGluaW5lc3M9MzAsdGhpcy5tYXA9bnVsbCx0aGlzLmxpZ2h0TWFwPW51bGwsdGhpcy5saWdodE1hcEludGVuc2l0eT0xLHRoaXMuYW9NYXA9bnVsbCx0aGlzLmFvTWFwSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZT1uZXcgWmx0KDApLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9MSx0aGlzLmVtaXNzaXZlTWFwPW51bGwsdGhpcy5idW1wTWFwPW51bGwsdGhpcy5idW1wU2NhbGU9MSx0aGlzLm5vcm1hbE1hcD1udWxsLHRoaXMubm9ybWFsTWFwVHlwZT0wLHRoaXMubm9ybWFsU2NhbGU9bmV3IGdzdCgxLDEpLHRoaXMuZGlzcGxhY2VtZW50TWFwPW51bGwsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz0wLHRoaXMuc3BlY3VsYXJNYXA9bnVsbCx0aGlzLmFscGhhTWFwPW51bGwsdGhpcy5lbnZNYXA9bnVsbCx0aGlzLmNvbWJpbmU9MCx0aGlzLnJlZmxlY3Rpdml0eT0xLHRoaXMucmVmcmFjdGlvblJhdGlvPS45OCx0aGlzLndpcmVmcmFtZT0hMSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xLHRoaXMud2lyZWZyYW1lTGluZWNhcD0icm91bmQiLHRoaXMud2lyZWZyYW1lTGluZWpvaW49InJvdW5kIix0aGlzLmZsYXRTaGFkaW5nPSExLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMuc3BlY3VsYXIuY29weSh0LnNwZWN1bGFyKSx0aGlzLnNoaW5pbmVzcz10LnNoaW5pbmVzcyx0aGlzLm1hcD10Lm1hcCx0aGlzLmxpZ2h0TWFwPXQubGlnaHRNYXAsdGhpcy5saWdodE1hcEludGVuc2l0eT10LmxpZ2h0TWFwSW50ZW5zaXR5LHRoaXMuYW9NYXA9dC5hb01hcCx0aGlzLmFvTWFwSW50ZW5zaXR5PXQuYW9NYXBJbnRlbnNpdHksdGhpcy5lbWlzc2l2ZS5jb3B5KHQuZW1pc3NpdmUpLHRoaXMuZW1pc3NpdmVNYXA9dC5lbWlzc2l2ZU1hcCx0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PXQuZW1pc3NpdmVJbnRlbnNpdHksdGhpcy5idW1wTWFwPXQuYnVtcE1hcCx0aGlzLmJ1bXBTY2FsZT10LmJ1bXBTY2FsZSx0aGlzLm5vcm1hbE1hcD10Lm5vcm1hbE1hcCx0aGlzLm5vcm1hbE1hcFR5cGU9dC5ub3JtYWxNYXBUeXBlLHRoaXMubm9ybWFsU2NhbGUuY29weSh0Lm5vcm1hbFNjYWxlKSx0aGlzLmRpc3BsYWNlbWVudE1hcD10LmRpc3BsYWNlbWVudE1hcCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPXQuZGlzcGxhY2VtZW50U2NhbGUsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPXQuZGlzcGxhY2VtZW50Qmlhcyx0aGlzLnNwZWN1bGFyTWFwPXQuc3BlY3VsYXJNYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZW52TWFwPXQuZW52TWFwLHRoaXMuY29tYmluZT10LmNvbWJpbmUsdGhpcy5yZWZsZWN0aXZpdHk9dC5yZWZsZWN0aXZpdHksdGhpcy5yZWZyYWN0aW9uUmF0aW89dC5yZWZyYWN0aW9uUmF0aW8sdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCx0aGlzLndpcmVmcmFtZUxpbmVqb2luPXQud2lyZWZyYW1lTGluZWpvaW4sdGhpcy5mbGF0U2hhZGluZz10LmZsYXRTaGFkaW5nLHRoaXN9fSkucHJvdG90eXBlLmlzTWVzaFBob25nTWF0ZXJpYWw9ITA7KGNsYXNzIGV4dGVuZHMgVmx0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5kZWZpbmVzPXtUT09OOiIifSx0aGlzLnR5cGU9Ik1lc2hUb29uTWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IFpsdCgxNjc3NzIxNSksdGhpcy5tYXA9bnVsbCx0aGlzLmdyYWRpZW50TWFwPW51bGwsdGhpcy5saWdodE1hcD1udWxsLHRoaXMubGlnaHRNYXBJbnRlbnNpdHk9MSx0aGlzLmFvTWFwPW51bGwsdGhpcy5hb01hcEludGVuc2l0eT0xLHRoaXMuZW1pc3NpdmU9bmV3IFpsdCgwKSx0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZU1hcD1udWxsLHRoaXMuYnVtcE1hcD1udWxsLHRoaXMuYnVtcFNjYWxlPTEsdGhpcy5ub3JtYWxNYXA9bnVsbCx0aGlzLm5vcm1hbE1hcFR5cGU9MCx0aGlzLm5vcm1hbFNjYWxlPW5ldyBnc3QoMSwxKSx0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9MSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9MCx0aGlzLmFscGhhTWFwPW51bGwsdGhpcy53aXJlZnJhbWU9ITEsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9MSx0aGlzLndpcmVmcmFtZUxpbmVjYXA9InJvdW5kIix0aGlzLndpcmVmcmFtZUxpbmVqb2luPSJyb3VuZCIsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmNvbG9yLmNvcHkodC5jb2xvciksdGhpcy5tYXA9dC5tYXAsdGhpcy5ncmFkaWVudE1hcD10LmdyYWRpZW50TWFwLHRoaXMubGlnaHRNYXA9dC5saWdodE1hcCx0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PXQubGlnaHRNYXBJbnRlbnNpdHksdGhpcy5hb01hcD10LmFvTWFwLHRoaXMuYW9NYXBJbnRlbnNpdHk9dC5hb01hcEludGVuc2l0eSx0aGlzLmVtaXNzaXZlLmNvcHkodC5lbWlzc2l2ZSksdGhpcy5lbWlzc2l2ZU1hcD10LmVtaXNzaXZlTWFwLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9dC5lbWlzc2l2ZUludGVuc2l0eSx0aGlzLmJ1bXBNYXA9dC5idW1wTWFwLHRoaXMuYnVtcFNjYWxlPXQuYnVtcFNjYWxlLHRoaXMubm9ybWFsTWFwPXQubm9ybWFsTWFwLHRoaXMubm9ybWFsTWFwVHlwZT10Lm5vcm1hbE1hcFR5cGUsdGhpcy5ub3JtYWxTY2FsZS5jb3B5KHQubm9ybWFsU2NhbGUpLHRoaXMuZGlzcGxhY2VtZW50TWFwPXQuZGlzcGxhY2VtZW50TWFwLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9dC5kaXNwbGFjZW1lbnRTY2FsZSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9dC5kaXNwbGFjZW1lbnRCaWFzLHRoaXMuYWxwaGFNYXA9dC5hbHBoYU1hcCx0aGlzLndpcmVmcmFtZT10LndpcmVmcmFtZSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD10LndpcmVmcmFtZUxpbmV3aWR0aCx0aGlzLndpcmVmcmFtZUxpbmVjYXA9dC53aXJlZnJhbWVMaW5lY2FwLHRoaXMud2lyZWZyYW1lTGluZWpvaW49dC53aXJlZnJhbWVMaW5lam9pbix0aGlzfX0pLnByb3RvdHlwZS5pc01lc2hUb29uTWF0ZXJpYWw9ITA7KGNsYXNzIGV4dGVuZHMgVmx0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJNZXNoTm9ybWFsTWF0ZXJpYWwiLHRoaXMuYnVtcE1hcD1udWxsLHRoaXMuYnVtcFNjYWxlPTEsdGhpcy5ub3JtYWxNYXA9bnVsbCx0aGlzLm5vcm1hbE1hcFR5cGU9MCx0aGlzLm5vcm1hbFNjYWxlPW5ldyBnc3QoMSwxKSx0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9MSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9MCx0aGlzLndpcmVmcmFtZT0hMSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xLHRoaXMuZm9nPSExLHRoaXMuZmxhdFNoYWRpbmc9ITEsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmJ1bXBNYXA9dC5idW1wTWFwLHRoaXMuYnVtcFNjYWxlPXQuYnVtcFNjYWxlLHRoaXMubm9ybWFsTWFwPXQubm9ybWFsTWFwLHRoaXMubm9ybWFsTWFwVHlwZT10Lm5vcm1hbE1hcFR5cGUsdGhpcy5ub3JtYWxTY2FsZS5jb3B5KHQubm9ybWFsU2NhbGUpLHRoaXMuZGlzcGxhY2VtZW50TWFwPXQuZGlzcGxhY2VtZW50TWFwLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9dC5kaXNwbGFjZW1lbnRTY2FsZSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9dC5kaXNwbGFjZW1lbnRCaWFzLHRoaXMud2lyZWZyYW1lPXQud2lyZWZyYW1lLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPXQud2lyZWZyYW1lTGluZXdpZHRoLHRoaXMuZmxhdFNoYWRpbmc9dC5mbGF0U2hhZGluZyx0aGlzfX0pLnByb3RvdHlwZS5pc01lc2hOb3JtYWxNYXRlcmlhbD0hMDsoY2xhc3MgZXh0ZW5kcyBWbHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9Ik1lc2hMYW1iZXJ0TWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IFpsdCgxNjc3NzIxNSksdGhpcy5tYXA9bnVsbCx0aGlzLmxpZ2h0TWFwPW51bGwsdGhpcy5saWdodE1hcEludGVuc2l0eT0xLHRoaXMuYW9NYXA9bnVsbCx0aGlzLmFvTWFwSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZT1uZXcgWmx0KDApLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9MSx0aGlzLmVtaXNzaXZlTWFwPW51bGwsdGhpcy5zcGVjdWxhck1hcD1udWxsLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmVudk1hcD1udWxsLHRoaXMuY29tYmluZT0wLHRoaXMucmVmbGVjdGl2aXR5PTEsdGhpcy5yZWZyYWN0aW9uUmF0aW89Ljk4LHRoaXMud2lyZWZyYW1lPSExLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPTEsdGhpcy53aXJlZnJhbWVMaW5lY2FwPSJyb3VuZCIsdGhpcy53aXJlZnJhbWVMaW5lam9pbj0icm91bmQiLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMubGlnaHRNYXA9dC5saWdodE1hcCx0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PXQubGlnaHRNYXBJbnRlbnNpdHksdGhpcy5hb01hcD10LmFvTWFwLHRoaXMuYW9NYXBJbnRlbnNpdHk9dC5hb01hcEludGVuc2l0eSx0aGlzLmVtaXNzaXZlLmNvcHkodC5lbWlzc2l2ZSksdGhpcy5lbWlzc2l2ZU1hcD10LmVtaXNzaXZlTWFwLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9dC5lbWlzc2l2ZUludGVuc2l0eSx0aGlzLnNwZWN1bGFyTWFwPXQuc3BlY3VsYXJNYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZW52TWFwPXQuZW52TWFwLHRoaXMuY29tYmluZT10LmNvbWJpbmUsdGhpcy5yZWZsZWN0aXZpdHk9dC5yZWZsZWN0aXZpdHksdGhpcy5yZWZyYWN0aW9uUmF0aW89dC5yZWZyYWN0aW9uUmF0aW8sdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCx0aGlzLndpcmVmcmFtZUxpbmVqb2luPXQud2lyZWZyYW1lTGluZWpvaW4sdGhpc319KS5wcm90b3R5cGUuaXNNZXNoTGFtYmVydE1hdGVyaWFsPSEwOyhjbGFzcyBleHRlbmRzIFZsdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuZGVmaW5lcz17TUFUQ0FQOiIifSx0aGlzLnR5cGU9Ik1lc2hNYXRjYXBNYXRlcmlhbCIsdGhpcy5jb2xvcj1uZXcgWmx0KDE2Nzc3MjE1KSx0aGlzLm1hdGNhcD1udWxsLHRoaXMubWFwPW51bGwsdGhpcy5idW1wTWFwPW51bGwsdGhpcy5idW1wU2NhbGU9MSx0aGlzLm5vcm1hbE1hcD1udWxsLHRoaXMubm9ybWFsTWFwVHlwZT0wLHRoaXMubm9ybWFsU2NhbGU9bmV3IGdzdCgxLDEpLHRoaXMuZGlzcGxhY2VtZW50TWFwPW51bGwsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz0wLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmZsYXRTaGFkaW5nPSExLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5kZWZpbmVzPXtNQVRDQVA6IiJ9LHRoaXMuY29sb3IuY29weSh0LmNvbG9yKSx0aGlzLm1hdGNhcD10Lm1hdGNhcCx0aGlzLm1hcD10Lm1hcCx0aGlzLmJ1bXBNYXA9dC5idW1wTWFwLHRoaXMuYnVtcFNjYWxlPXQuYnVtcFNjYWxlLHRoaXMubm9ybWFsTWFwPXQubm9ybWFsTWFwLHRoaXMubm9ybWFsTWFwVHlwZT10Lm5vcm1hbE1hcFR5cGUsdGhpcy5ub3JtYWxTY2FsZS5jb3B5KHQubm9ybWFsU2NhbGUpLHRoaXMuZGlzcGxhY2VtZW50TWFwPXQuZGlzcGxhY2VtZW50TWFwLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9dC5kaXNwbGFjZW1lbnRTY2FsZSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9dC5kaXNwbGFjZW1lbnRCaWFzLHRoaXMuYWxwaGFNYXA9dC5hbHBoYU1hcCx0aGlzLmZsYXRTaGFkaW5nPXQuZmxhdFNoYWRpbmcsdGhpc319KS5wcm90b3R5cGUuaXNNZXNoTWF0Y2FwTWF0ZXJpYWw9ITA7KGNsYXNzIGV4dGVuZHMgZmZ0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJMaW5lRGFzaGVkTWF0ZXJpYWwiLHRoaXMuc2NhbGU9MSx0aGlzLmRhc2hTaXplPTMsdGhpcy5nYXBTaXplPTEsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLnNjYWxlPXQuc2NhbGUsdGhpcy5kYXNoU2l6ZT10LmRhc2hTaXplLHRoaXMuZ2FwU2l6ZT10LmdhcFNpemUsdGhpc319KS5wcm90b3R5cGUuaXNMaW5lRGFzaGVkTWF0ZXJpYWw9ITA7Y29uc3Qga3V0PXthcnJheVNsaWNlOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4ga3V0LmlzVHlwZWRBcnJheSh0KT9uZXcgdC5jb25zdHJ1Y3Rvcih0LnN1YmFycmF5KGUsdm9pZCAwIT09bj9uOnQubGVuZ3RoKSk6dC5zbGljZShlLG4pfSxjb252ZXJ0QXJyYXk6ZnVuY3Rpb24odCxlLG4pe3JldHVybiF0fHwhbiYmdC5jb25zdHJ1Y3Rvcj09PWU/dDoibnVtYmVyIj09dHlwZW9mIGUuQllURVNfUEVSX0VMRU1FTlQ/bmV3IGUodCk6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCl9LGlzVHlwZWRBcnJheTpmdW5jdGlvbih0KXtyZXR1cm4gQXJyYXlCdWZmZXIuaXNWaWV3KHQpJiYhKHQgaW5zdGFuY2VvZiBEYXRhVmlldyl9LGdldEtleWZyYW1lT3JkZXI6ZnVuY3Rpb24odCl7Y29uc3QgZT10Lmxlbmd0aCxuPW5ldyBBcnJheShlKTtmb3IobGV0IHQ9MDt0IT09ZTsrK3Qpblt0XT10O3JldHVybiBuLnNvcnQoKGZ1bmN0aW9uIG8oZSxuKXtyZXR1cm4gdFtlXS10W25dfSkpLG59LHNvcnRlZEFycmF5OmZ1bmN0aW9uKHQsZSxuKXtjb25zdCBvPXQubGVuZ3RoLGk9bmV3IHQuY29uc3RydWN0b3Iobyk7Zm9yKGxldCBhPTAscj0wO3IhPT1vOysrYSl7Y29uc3Qgbz1uW2FdKmU7Zm9yKGxldCBuPTA7biE9PWU7KytuKWlbcisrXT10W28rbl19cmV0dXJuIGl9LGZsYXR0ZW5KU09OOmZ1bmN0aW9uKHQsZSxuLG8pe2xldCBpPTEsYT10WzBdO2Zvcig7dm9pZCAwIT09YSYmdm9pZCAwPT09YVtvXTspYT10W2krK107aWYodm9pZCAwPT09YSlyZXR1cm47bGV0IHI9YVtvXTtpZih2b2lkIDAhPT1yKWlmKEFycmF5LmlzQXJyYXkocikpZG97cj1hW29dLHZvaWQgMCE9PXImJihlLnB1c2goYS50aW1lKSxuLnB1c2guYXBwbHkobixyKSksYT10W2krK119d2hpbGUodm9pZCAwIT09YSk7ZWxzZSBpZih2b2lkIDAhPT1yLnRvQXJyYXkpZG97cj1hW29dLHZvaWQgMCE9PXImJihlLnB1c2goYS50aW1lKSxyLnRvQXJyYXkobixuLmxlbmd0aCkpLGE9dFtpKytdfXdoaWxlKHZvaWQgMCE9PWEpO2Vsc2UgZG97cj1hW29dLHZvaWQgMCE9PXImJihlLnB1c2goYS50aW1lKSxuLnB1c2gocikpLGE9dFtpKytdfXdoaWxlKHZvaWQgMCE9PWEpfSxzdWJjbGlwOmZ1bmN0aW9uKHQsZSxuLG8saT0zMCl7Y29uc3QgYT10LmNsb25lKCk7YS5uYW1lPWU7Y29uc3Qgcj1bXTtmb3IobGV0IHQ9MDt0PGEudHJhY2tzLmxlbmd0aDsrK3Qpe2NvbnN0IGU9YS50cmFja3NbdF0scz1lLmdldFZhbHVlU2l6ZSgpLGw9W10sYz1bXTtmb3IobGV0IHQ9MDt0PGUudGltZXMubGVuZ3RoOysrdCl7Y29uc3QgYT1lLnRpbWVzW3RdKmk7aWYoIShhPG58fGE+PW8pKXtsLnB1c2goZS50aW1lc1t0XSk7Zm9yKGxldCBuPTA7bjxzOysrbiljLnB1c2goZS52YWx1ZXNbdCpzK25dKX19MCE9PWwubGVuZ3RoJiYoZS50aW1lcz1rdXQuY29udmVydEFycmF5KGwsZS50aW1lcy5jb25zdHJ1Y3RvciksZS52YWx1ZXM9a3V0LmNvbnZlcnRBcnJheShjLGUudmFsdWVzLmNvbnN0cnVjdG9yKSxyLnB1c2goZSkpfWEudHJhY2tzPXI7bGV0IHM9MS8wO2ZvcihsZXQgdD0wO3Q8YS50cmFja3MubGVuZ3RoOysrdClzPmEudHJhY2tzW3RdLnRpbWVzWzBdJiYocz1hLnRyYWNrc1t0XS50aW1lc1swXSk7Zm9yKGxldCB0PTA7dDxhLnRyYWNrcy5sZW5ndGg7Kyt0KWEudHJhY2tzW3RdLnNoaWZ0KC0xKnMpO3JldHVybiBhLnJlc2V0RHVyYXRpb24oKSxhfSxtYWtlQ2xpcEFkZGl0aXZlOmZ1bmN0aW9uKHQsZT0wLG49dCxvPTMwKXtvPD0wJiYobz0zMCk7Y29uc3QgaT1uLnRyYWNrcy5sZW5ndGgsYT1lL287Zm9yKGxldCBlPTA7ZTxpOysrZSl7Y29uc3Qgbz1uLnRyYWNrc1tlXSxpPW8uVmFsdWVUeXBlTmFtZTtpZigiYm9vbCI9PT1pfHwic3RyaW5nIj09PWkpY29udGludWU7Y29uc3Qgcj10LnRyYWNrcy5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gdC5uYW1lPT09by5uYW1lJiZ0LlZhbHVlVHlwZU5hbWU9PT1pfSkpO2lmKHZvaWQgMD09PXIpY29udGludWU7bGV0IHM9MDtjb25zdCBsPW8uZ2V0VmFsdWVTaXplKCk7by5jcmVhdGVJbnRlcnBvbGFudC5pc0ludGVycG9sYW50RmFjdG9yeU1ldGhvZEdMVEZDdWJpY1NwbGluZSYmKHM9bC8zKTtsZXQgYz0wO2NvbnN0IGQ9ci5nZXRWYWx1ZVNpemUoKTtyLmNyZWF0ZUludGVycG9sYW50LmlzSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kR0xURkN1YmljU3BsaW5lJiYoYz1kLzMpO2NvbnN0IHA9by50aW1lcy5sZW5ndGgtMTtsZXQgbTtpZihhPD1vLnRpbWVzWzBdKXttPWt1dC5hcnJheVNsaWNlKG8udmFsdWVzLHMsbC1zKX1lbHNlIGlmKGE+PW8udGltZXNbcF0pe2NvbnN0IHQ9cCpsK3M7bT1rdXQuYXJyYXlTbGljZShvLnZhbHVlcyx0LHQrbC1zKX1lbHNle2NvbnN0IHQ9by5jcmVhdGVJbnRlcnBvbGFudCgpLGU9cyxuPWwtczt0LmV2YWx1YXRlKGEpLG09a3V0LmFycmF5U2xpY2UodC5yZXN1bHRCdWZmZXIsZSxuKX1pZigicXVhdGVybmlvbiI9PT1pKXsobmV3IFBzdCkuZnJvbUFycmF5KG0pLm5vcm1hbGl6ZSgpLmNvbmp1Z2F0ZSgpLnRvQXJyYXkobSl9Y29uc3QgZj1yLnRpbWVzLmxlbmd0aDtmb3IobGV0IHQ9MDt0PGY7Kyt0KXtjb25zdCBlPXQqZCtjO2lmKCJxdWF0ZXJuaW9uIj09PWkpUHN0Lm11bHRpcGx5UXVhdGVybmlvbnNGbGF0KHIudmFsdWVzLGUsbSwwLHIudmFsdWVzLGUpO2Vsc2V7Y29uc3QgdD1kLTIqYztmb3IobGV0IG49MDtuPHQ7KytuKXIudmFsdWVzW2Urbl0tPW1bbl19fX1yZXR1cm4gdC5ibGVuZE1vZGU9MjUwMSx0fX07Y2xhc3MgU3V0e2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMucGFyYW1ldGVyUG9zaXRpb25zPXQsdGhpcy5fY2FjaGVkSW5kZXg9MCx0aGlzLnJlc3VsdEJ1ZmZlcj12b2lkIDAhPT1vP286bmV3IGUuY29uc3RydWN0b3IobiksdGhpcy5zYW1wbGVWYWx1ZXM9ZSx0aGlzLnZhbHVlU2l6ZT1uLHRoaXMuc2V0dGluZ3M9bnVsbCx0aGlzLkRlZmF1bHRTZXR0aW5nc189e319ZXZhbHVhdGUodCl7Y29uc3QgZT10aGlzLnBhcmFtZXRlclBvc2l0aW9ucztsZXQgbj10aGlzLl9jYWNoZWRJbmRleCxvPWVbbl0saT1lW24tMV07dDp7ZTp7bGV0IGE7bjp7bzppZighKHQ8bykpe2ZvcihsZXQgYT1uKzI7Oyl7aWYodm9pZCAwPT09byl7aWYodDxpKWJyZWFrIG87cmV0dXJuIG49ZS5sZW5ndGgsdGhpcy5fY2FjaGVkSW5kZXg9bix0aGlzLmFmdGVyRW5kXyhuLTEsdCxpKX1pZihuPT09YSlicmVhaztpZihpPW8sbz1lWysrbl0sdDxvKWJyZWFrIGV9YT1lLmxlbmd0aDticmVhayBufWlmKHQ+PWkpYnJlYWsgdDt7Y29uc3Qgcj1lWzFdO3Q8ciYmKG49MixpPXIpO2ZvcihsZXQgYT1uLTI7Oyl7aWYodm9pZCAwPT09aSlyZXR1cm4gdGhpcy5fY2FjaGVkSW5kZXg9MCx0aGlzLmJlZm9yZVN0YXJ0XygwLHQsbyk7aWYobj09PWEpYnJlYWs7aWYobz1pLGk9ZVstLW4tMV0sdD49aSlicmVhayBlfWE9bixuPTB9fWZvcig7bjxhOyl7Y29uc3Qgbz1uK2E+Pj4xO3Q8ZVtvXT9hPW86bj1vKzF9aWYobz1lW25dLGk9ZVtuLTFdLHZvaWQgMD09PWkpcmV0dXJuIHRoaXMuX2NhY2hlZEluZGV4PTAsdGhpcy5iZWZvcmVTdGFydF8oMCx0LG8pO2lmKHZvaWQgMD09PW8pcmV0dXJuIG49ZS5sZW5ndGgsdGhpcy5fY2FjaGVkSW5kZXg9bix0aGlzLmFmdGVyRW5kXyhuLTEsaSx0KX10aGlzLl9jYWNoZWRJbmRleD1uLHRoaXMuaW50ZXJ2YWxDaGFuZ2VkXyhuLGksbyl9cmV0dXJuIHRoaXMuaW50ZXJwb2xhdGVfKG4saSx0LG8pfWdldFNldHRpbmdzXygpe3JldHVybiB0aGlzLnNldHRpbmdzfHx0aGlzLkRlZmF1bHRTZXR0aW5nc199Y29weVNhbXBsZVZhbHVlXyh0KXtjb25zdCBlPXRoaXMucmVzdWx0QnVmZmVyLG49dGhpcy5zYW1wbGVWYWx1ZXMsbz10aGlzLnZhbHVlU2l6ZSxpPXQqbztmb3IobGV0IHQ9MDt0IT09bzsrK3QpZVt0XT1uW2krdF07cmV0dXJuIGV9aW50ZXJwb2xhdGVfKCl7dGhyb3cgbmV3IEVycm9yKCJjYWxsIHRvIGFic3RyYWN0IG1ldGhvZCIpfWludGVydmFsQ2hhbmdlZF8oKXt9fVN1dC5wcm90b3R5cGUuYmVmb3JlU3RhcnRfPVN1dC5wcm90b3R5cGUuY29weVNhbXBsZVZhbHVlXyxTdXQucHJvdG90eXBlLmFmdGVyRW5kXz1TdXQucHJvdG90eXBlLmNvcHlTYW1wbGVWYWx1ZV87Y2xhc3MgRHV0IGV4dGVuZHMgU3V0e2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKHQsZSxuLG8pLHRoaXMuX3dlaWdodFByZXY9LTAsdGhpcy5fb2Zmc2V0UHJldj0tMCx0aGlzLl93ZWlnaHROZXh0PS0wLHRoaXMuX29mZnNldE5leHQ9LTAsdGhpcy5EZWZhdWx0U2V0dGluZ3NfPXtlbmRpbmdTdGFydDpacnQsZW5kaW5nRW5kOlpydH19aW50ZXJ2YWxDaGFuZ2VkXyh0LGUsbil7Y29uc3Qgbz10aGlzLnBhcmFtZXRlclBvc2l0aW9ucztsZXQgaT10LTIsYT10KzEscj1vW2ldLHM9b1thXTtpZih2b2lkIDA9PT1yKXN3aXRjaCh0aGlzLmdldFNldHRpbmdzXygpLmVuZGluZ1N0YXJ0KXtjYXNlIFhydDppPXQscj0yKmUtbjticmVhaztjYXNlIEtydDppPW8ubGVuZ3RoLTIscj1lK29baV0tb1tpKzFdO2JyZWFrO2RlZmF1bHQ6aT10LHI9bn1pZih2b2lkIDA9PT1zKXN3aXRjaCh0aGlzLmdldFNldHRpbmdzXygpLmVuZGluZ0VuZCl7Y2FzZSBYcnQ6YT10LHM9MipuLWU7YnJlYWs7Y2FzZSBLcnQ6YT0xLHM9bitvWzFdLW9bMF07YnJlYWs7ZGVmYXVsdDphPXQtMSxzPWV9Y29uc3QgbD0uNSoobi1lKSxjPXRoaXMudmFsdWVTaXplO3RoaXMuX3dlaWdodFByZXY9bC8oZS1yKSx0aGlzLl93ZWlnaHROZXh0PWwvKHMtbiksdGhpcy5fb2Zmc2V0UHJldj1pKmMsdGhpcy5fb2Zmc2V0TmV4dD1hKmN9aW50ZXJwb2xhdGVfKHQsZSxuLG8pe2NvbnN0IGk9dGhpcy5yZXN1bHRCdWZmZXIsYT10aGlzLnNhbXBsZVZhbHVlcyxyPXRoaXMudmFsdWVTaXplLHM9dCpyLGw9cy1yLGM9dGhpcy5fb2Zmc2V0UHJldixkPXRoaXMuX29mZnNldE5leHQscD10aGlzLl93ZWlnaHRQcmV2LG09dGhpcy5fd2VpZ2h0TmV4dCxmPShuLWUpLyhvLWUpLHU9ZipmLGc9dSpmLGg9LXAqZysyKnAqdS1wKmYsYj0oMStwKSpnKygtMS41LTIqcCkqdSsoLS41K3ApKmYrMSx5PSgtMS1tKSpnKygxLjUrbSkqdSsuNSpmLF89bSpnLW0qdTtmb3IobGV0IHQ9MDt0IT09cjsrK3QpaVt0XT1oKmFbYyt0XStiKmFbbCt0XSt5KmFbcyt0XStfKmFbZCt0XTtyZXR1cm4gaX19Y2xhc3MgUnV0IGV4dGVuZHMgU3V0e2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKHQsZSxuLG8pfWludGVycG9sYXRlXyh0LGUsbixvKXtjb25zdCBpPXRoaXMucmVzdWx0QnVmZmVyLGE9dGhpcy5zYW1wbGVWYWx1ZXMscj10aGlzLnZhbHVlU2l6ZSxzPXQqcixsPXMtcixjPShuLWUpLyhvLWUpLGQ9MS1jO2ZvcihsZXQgdD0wO3QhPT1yOysrdClpW3RdPWFbbCt0XSpkK2Fbcyt0XSpjO3JldHVybiBpfX1jbGFzcyBFdXQgZXh0ZW5kcyBTdXR7Y29uc3RydWN0b3IodCxlLG4sbyl7c3VwZXIodCxlLG4sbyl9aW50ZXJwb2xhdGVfKHQpe3JldHVybiB0aGlzLmNvcHlTYW1wbGVWYWx1ZV8odC0xKX19Y2xhc3MgQXV0e2NvbnN0cnVjdG9yKHQsZSxuLG8pe2lmKHZvaWQgMD09PXQpdGhyb3cgbmV3IEVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiB0cmFjayBuYW1lIGlzIHVuZGVmaW5lZCIpO2lmKHZvaWQgMD09PWV8fDA9PT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IG5vIGtleWZyYW1lcyBpbiB0cmFjayBuYW1lZCAiK3QpO3RoaXMubmFtZT10LHRoaXMudGltZXM9a3V0LmNvbnZlcnRBcnJheShlLHRoaXMuVGltZUJ1ZmZlclR5cGUpLHRoaXMudmFsdWVzPWt1dC5jb252ZXJ0QXJyYXkobix0aGlzLlZhbHVlQnVmZmVyVHlwZSksdGhpcy5zZXRJbnRlcnBvbGF0aW9uKG98fHRoaXMuRGVmYXVsdEludGVycG9sYXRpb24pfXN0YXRpYyB0b0pTT04odCl7Y29uc3QgZT10LmNvbnN0cnVjdG9yO2xldCBuO2lmKGUudG9KU09OIT09dGhpcy50b0pTT04pbj1lLnRvSlNPTih0KTtlbHNle249e25hbWU6dC5uYW1lLHRpbWVzOmt1dC5jb252ZXJ0QXJyYXkodC50aW1lcyxBcnJheSksdmFsdWVzOmt1dC5jb252ZXJ0QXJyYXkodC52YWx1ZXMsQXJyYXkpfTtjb25zdCBlPXQuZ2V0SW50ZXJwb2xhdGlvbigpO2UhPT10LkRlZmF1bHRJbnRlcnBvbGF0aW9uJiYobi5pbnRlcnBvbGF0aW9uPWUpfXJldHVybiBuLnR5cGU9dC5WYWx1ZVR5cGVOYW1lLG59SW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kRGlzY3JldGUodCl7cmV0dXJuIG5ldyBFdXQodGhpcy50aW1lcyx0aGlzLnZhbHVlcyx0aGlzLmdldFZhbHVlU2l6ZSgpLHQpfUludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcih0KXtyZXR1cm4gbmV3IFJ1dCh0aGlzLnRpbWVzLHRoaXMudmFsdWVzLHRoaXMuZ2V0VmFsdWVTaXplKCksdCl9SW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kU21vb3RoKHQpe3JldHVybiBuZXcgRHV0KHRoaXMudGltZXMsdGhpcy52YWx1ZXMsdGhpcy5nZXRWYWx1ZVNpemUoKSx0KX1zZXRJbnRlcnBvbGF0aW9uKHQpe2xldCBlO3N3aXRjaCh0KXtjYXNlIEdydDplPXRoaXMuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kRGlzY3JldGU7YnJlYWs7Y2FzZSBZcnQ6ZT10aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcjticmVhaztjYXNlIHFydDplPXRoaXMuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kU21vb3RofWlmKHZvaWQgMD09PWUpe2NvbnN0IGU9InVuc3VwcG9ydGVkIGludGVycG9sYXRpb24gZm9yICIrdGhpcy5WYWx1ZVR5cGVOYW1lKyIga2V5ZnJhbWUgdHJhY2sgbmFtZWQgIit0aGlzLm5hbWU7aWYodm9pZCAwPT09dGhpcy5jcmVhdGVJbnRlcnBvbGFudCl7aWYodD09PXRoaXMuRGVmYXVsdEludGVycG9sYXRpb24pdGhyb3cgbmV3IEVycm9yKGUpO3RoaXMuc2V0SW50ZXJwb2xhdGlvbih0aGlzLkRlZmF1bHRJbnRlcnBvbGF0aW9uKX1yZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiIsZSksdGhpc31yZXR1cm4gdGhpcy5jcmVhdGVJbnRlcnBvbGFudD1lLHRoaXN9Z2V0SW50ZXJwb2xhdGlvbigpe3N3aXRjaCh0aGlzLmNyZWF0ZUludGVycG9sYW50KXtjYXNlIHRoaXMuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kRGlzY3JldGU6cmV0dXJuIEdydDtjYXNlIHRoaXMuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kTGluZWFyOnJldHVybiBZcnQ7Y2FzZSB0aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aDpyZXR1cm4gcXJ0fX1nZXRWYWx1ZVNpemUoKXtyZXR1cm4gdGhpcy52YWx1ZXMubGVuZ3RoL3RoaXMudGltZXMubGVuZ3RofXNoaWZ0KHQpe2lmKDAhPT10KXtjb25zdCBlPXRoaXMudGltZXM7Zm9yKGxldCBuPTAsbz1lLmxlbmd0aDtuIT09bzsrK24pZVtuXSs9dH1yZXR1cm4gdGhpc31zY2FsZSh0KXtpZigxIT09dCl7Y29uc3QgZT10aGlzLnRpbWVzO2ZvcihsZXQgbj0wLG89ZS5sZW5ndGg7biE9PW87KytuKWVbbl0qPXR9cmV0dXJuIHRoaXN9dHJpbSh0LGUpe2NvbnN0IG49dGhpcy50aW1lcyxvPW4ubGVuZ3RoO2xldCBpPTAsYT1vLTE7Zm9yKDtpIT09byYmbltpXTx0OykrK2k7Zm9yKDstMSE9PWEmJm5bYV0+ZTspLS1hO2lmKCsrYSwwIT09aXx8YSE9PW8pe2k+PWEmJihhPU1hdGgubWF4KGEsMSksaT1hLTEpO2NvbnN0IHQ9dGhpcy5nZXRWYWx1ZVNpemUoKTt0aGlzLnRpbWVzPWt1dC5hcnJheVNsaWNlKG4saSxhKSx0aGlzLnZhbHVlcz1rdXQuYXJyYXlTbGljZSh0aGlzLnZhbHVlcyxpKnQsYSp0KX1yZXR1cm4gdGhpc312YWxpZGF0ZSgpe2xldCB0PSEwO2NvbnN0IGU9dGhpcy5nZXRWYWx1ZVNpemUoKTtlLU1hdGguZmxvb3IoZSkhPTAmJihjb25zb2xlLmVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBJbnZhbGlkIHZhbHVlIHNpemUgaW4gdHJhY2suIix0aGlzKSx0PSExKTtjb25zdCBuPXRoaXMudGltZXMsbz10aGlzLnZhbHVlcyxpPW4ubGVuZ3RoOzA9PT1pJiYoY29uc29sZS5lcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogVHJhY2sgaXMgZW1wdHkuIix0aGlzKSx0PSExKTtsZXQgYT1udWxsO2ZvcihsZXQgZT0wO2UhPT1pO2UrKyl7Y29uc3Qgbz1uW2VdO2lmKCJudW1iZXIiPT10eXBlb2YgbyYmaXNOYU4obykpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IFRpbWUgaXMgbm90IGEgdmFsaWQgbnVtYmVyLiIsdGhpcyxlLG8pLHQ9ITE7YnJlYWt9aWYobnVsbCE9PWEmJmE+byl7Y29uc29sZS5lcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogT3V0IG9mIG9yZGVyIGtleXMuIix0aGlzLGUsbyxhKSx0PSExO2JyZWFrfWE9b31pZih2b2lkIDAhPT1vJiZrdXQuaXNUeXBlZEFycmF5KG8pKWZvcihsZXQgZT0wLG49by5sZW5ndGg7ZSE9PW47KytlKXtjb25zdCBuPW9bZV07aWYoaXNOYU4obikpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IFZhbHVlIGlzIG5vdCBhIHZhbGlkIG51bWJlci4iLHRoaXMsZSxuKSx0PSExO2JyZWFrfX1yZXR1cm4gdH1vcHRpbWl6ZSgpe2NvbnN0IHQ9a3V0LmFycmF5U2xpY2UodGhpcy50aW1lcyksZT1rdXQuYXJyYXlTbGljZSh0aGlzLnZhbHVlcyksbj10aGlzLmdldFZhbHVlU2l6ZSgpLG89dGhpcy5nZXRJbnRlcnBvbGF0aW9uKCk9PT1xcnQsaT10Lmxlbmd0aC0xO2xldCBhPTE7Zm9yKGxldCByPTE7cjxpOysrcil7bGV0IGk9ITE7Y29uc3Qgcz10W3JdO2lmKHMhPT10W3IrMV0mJigxIT09cnx8cyE9PXRbMF0pKWlmKG8paT0hMDtlbHNle2NvbnN0IHQ9cipuLG89dC1uLGE9dCtuO2ZvcihsZXQgcj0wO3IhPT1uOysrcil7Y29uc3Qgbj1lW3Qrcl07aWYobiE9PWVbbytyXXx8biE9PWVbYStyXSl7aT0hMDticmVha319fWlmKGkpe2lmKHIhPT1hKXt0W2FdPXRbcl07Y29uc3Qgbz1yKm4saT1hKm47Zm9yKGxldCB0PTA7dCE9PW47Kyt0KWVbaSt0XT1lW28rdF19KythfX1pZihpPjApe3RbYV09dFtpXTtmb3IobGV0IHQ9aSpuLG89YSpuLHI9MDtyIT09bjsrK3IpZVtvK3JdPWVbdCtyXTsrK2F9cmV0dXJuIGEhPT10Lmxlbmd0aD8odGhpcy50aW1lcz1rdXQuYXJyYXlTbGljZSh0LDAsYSksdGhpcy52YWx1ZXM9a3V0LmFycmF5U2xpY2UoZSwwLGEqbikpOih0aGlzLnRpbWVzPXQsdGhpcy52YWx1ZXM9ZSksdGhpc31jbG9uZSgpe2NvbnN0IHQ9a3V0LmFycmF5U2xpY2UodGhpcy50aW1lcywwKSxlPWt1dC5hcnJheVNsaWNlKHRoaXMudmFsdWVzLDApLG49bmV3KDAsdGhpcy5jb25zdHJ1Y3RvcikodGhpcy5uYW1lLHQsZSk7cmV0dXJuIG4uY3JlYXRlSW50ZXJwb2xhbnQ9dGhpcy5jcmVhdGVJbnRlcnBvbGFudCxufX1BdXQucHJvdG90eXBlLlRpbWVCdWZmZXJUeXBlPUZsb2F0MzJBcnJheSxBdXQucHJvdG90eXBlLlZhbHVlQnVmZmVyVHlwZT1GbG9hdDMyQXJyYXksQXV0LnByb3RvdHlwZS5EZWZhdWx0SW50ZXJwb2xhdGlvbj1ZcnQ7Y2xhc3MgVHV0IGV4dGVuZHMgQXV0e31UdXQucHJvdG90eXBlLlZhbHVlVHlwZU5hbWU9ImJvb2wiLFR1dC5wcm90b3R5cGUuVmFsdWVCdWZmZXJUeXBlPUFycmF5LFR1dC5wcm90b3R5cGUuRGVmYXVsdEludGVycG9sYXRpb249R3J0LFR1dC5wcm90b3R5cGUuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kTGluZWFyPXZvaWQgMCxUdXQucHJvdG90eXBlLkludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aD12b2lkIDA7Y2xhc3MgTnV0IGV4dGVuZHMgQXV0e31OdXQucHJvdG90eXBlLlZhbHVlVHlwZU5hbWU9ImNvbG9yIjtjbGFzcyB6dXQgZXh0ZW5kcyBBdXR7fXp1dC5wcm90b3R5cGUuVmFsdWVUeXBlTmFtZT0ibnVtYmVyIjtjbGFzcyBJdXQgZXh0ZW5kcyBTdXR7Y29uc3RydWN0b3IodCxlLG4sbyl7c3VwZXIodCxlLG4sbyl9aW50ZXJwb2xhdGVfKHQsZSxuLG8pe2NvbnN0IGk9dGhpcy5yZXN1bHRCdWZmZXIsYT10aGlzLnNhbXBsZVZhbHVlcyxyPXRoaXMudmFsdWVTaXplLHM9KG4tZSkvKG8tZSk7bGV0IGw9dCpyO2ZvcihsZXQgdD1sK3I7bCE9PXQ7bCs9NClQc3Quc2xlcnBGbGF0KGksMCxhLGwtcixhLGwscyk7cmV0dXJuIGl9fWNsYXNzIEh1dCBleHRlbmRzIEF1dHtJbnRlcnBvbGFudEZhY3RvcnlNZXRob2RMaW5lYXIodCl7cmV0dXJuIG5ldyBJdXQodGhpcy50aW1lcyx0aGlzLnZhbHVlcyx0aGlzLmdldFZhbHVlU2l6ZSgpLHQpfX1IdXQucHJvdG90eXBlLlZhbHVlVHlwZU5hbWU9InF1YXRlcm5pb24iLEh1dC5wcm90b3R5cGUuRGVmYXVsdEludGVycG9sYXRpb249WXJ0LEh1dC5wcm90b3R5cGUuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kU21vb3RoPXZvaWQgMDtjbGFzcyBGdXQgZXh0ZW5kcyBBdXR7fUZ1dC5wcm90b3R5cGUuVmFsdWVUeXBlTmFtZT0ic3RyaW5nIixGdXQucHJvdG90eXBlLlZhbHVlQnVmZmVyVHlwZT1BcnJheSxGdXQucHJvdG90eXBlLkRlZmF1bHRJbnRlcnBvbGF0aW9uPUdydCxGdXQucHJvdG90eXBlLkludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcj12b2lkIDAsRnV0LnByb3RvdHlwZS5JbnRlcnBvbGFudEZhY3RvcnlNZXRob2RTbW9vdGg9dm9pZCAwO2NsYXNzIEx1dCBleHRlbmRzIEF1dHt9THV0LnByb3RvdHlwZS5WYWx1ZVR5cGVOYW1lPSJ2ZWN0b3IiO2NsYXNzIEJ1dHtjb25zdHJ1Y3Rvcih0LGU9LTEsbixvPTI1MDApe3RoaXMubmFtZT10LHRoaXMudHJhY2tzPW4sdGhpcy5kdXJhdGlvbj1lLHRoaXMuYmxlbmRNb2RlPW8sdGhpcy51dWlkPWRzdCgpLHRoaXMuZHVyYXRpb248MCYmdGhpcy5yZXNldER1cmF0aW9uKCl9c3RhdGljIHBhcnNlKHQpe2NvbnN0IGU9W10sbj10LnRyYWNrcyxvPTEvKHQuZnBzfHwxKTtmb3IobGV0IHQ9MCxpPW4ubGVuZ3RoO3QhPT1pOysrdCllLnB1c2goVnV0KG5bdF0pLnNjYWxlKG8pKTtjb25zdCBpPW5ldyB0aGlzKHQubmFtZSx0LmR1cmF0aW9uLGUsdC5ibGVuZE1vZGUpO3JldHVybiBpLnV1aWQ9dC51dWlkLGl9c3RhdGljIHRvSlNPTih0KXtjb25zdCBlPVtdLG49dC50cmFja3Msbz17bmFtZTp0Lm5hbWUsZHVyYXRpb246dC5kdXJhdGlvbix0cmFja3M6ZSx1dWlkOnQudXVpZCxibGVuZE1vZGU6dC5ibGVuZE1vZGV9O2ZvcihsZXQgdD0wLG89bi5sZW5ndGg7dCE9PW87Kyt0KWUucHVzaChBdXQudG9KU09OKG5bdF0pKTtyZXR1cm4gb31zdGF0aWMgQ3JlYXRlRnJvbU1vcnBoVGFyZ2V0U2VxdWVuY2UodCxlLG4sbyl7Y29uc3QgaT1lLmxlbmd0aCxhPVtdO2ZvcihsZXQgdD0wO3Q8aTt0Kyspe2xldCByPVtdLHM9W107ci5wdXNoKCh0K2ktMSklaSx0LCh0KzEpJWkpLHMucHVzaCgwLDEsMCk7Y29uc3QgbD1rdXQuZ2V0S2V5ZnJhbWVPcmRlcihyKTtyPWt1dC5zb3J0ZWRBcnJheShyLDEsbCkscz1rdXQuc29ydGVkQXJyYXkocywxLGwpLG98fDAhPT1yWzBdfHwoci5wdXNoKGkpLHMucHVzaChzWzBdKSksYS5wdXNoKG5ldyB6dXQoIi5tb3JwaFRhcmdldEluZmx1ZW5jZXNbIitlW3RdLm5hbWUrIl0iLHIscykuc2NhbGUoMS9uKSl9cmV0dXJuIG5ldyB0aGlzKHQsLTEsYSl9c3RhdGljIGZpbmRCeU5hbWUodCxlKXtsZXQgbj10O2lmKCFBcnJheS5pc0FycmF5KHQpKXtjb25zdCBlPXQ7bj1lLmdlb21ldHJ5JiZlLmdlb21ldHJ5LmFuaW1hdGlvbnN8fGUuYW5pbWF0aW9uc31mb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKylpZihuW3RdLm5hbWU9PT1lKXJldHVybiBuW3RdO3JldHVybiBudWxsfXN0YXRpYyBDcmVhdGVDbGlwc0Zyb21Nb3JwaFRhcmdldFNlcXVlbmNlcyh0LGUsbil7Y29uc3Qgbz17fSxpPS9eKFtcdy1dKj8pKFtcZF0rKSQvO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10W2VdLGE9bi5uYW1lLm1hdGNoKGkpO2lmKGEmJmEubGVuZ3RoPjEpe2NvbnN0IHQ9YVsxXTtsZXQgZT1vW3RdO2V8fChvW3RdPWU9W10pLGUucHVzaChuKX19Y29uc3QgYT1bXTtmb3IoY29uc3QgdCBpbiBvKWEucHVzaCh0aGlzLkNyZWF0ZUZyb21Nb3JwaFRhcmdldFNlcXVlbmNlKHQsb1t0XSxlLG4pKTtyZXR1cm4gYX1zdGF0aWMgcGFyc2VBbmltYXRpb24odCxlKXtpZighdClyZXR1cm4gY29uc29sZS5lcnJvcigiVEhSRUUuQW5pbWF0aW9uQ2xpcDogTm8gYW5pbWF0aW9uIGluIEpTT05Mb2FkZXIgZGF0YS4iKSxudWxsO2NvbnN0IG49ZnVuY3Rpb24odCxlLG4sbyxpKXtpZigwIT09bi5sZW5ndGgpe2NvbnN0IGE9W10scj1bXTtrdXQuZmxhdHRlbkpTT04obixhLHIsbyksMCE9PWEubGVuZ3RoJiZpLnB1c2gobmV3IHQoZSxhLHIpKX19LG89W10saT10Lm5hbWV8fCJkZWZhdWx0IixhPXQuZnBzfHwzMCxyPXQuYmxlbmRNb2RlO2xldCBzPXQubGVuZ3RofHwtMTtjb25zdCBsPXQuaGllcmFyY2h5fHxbXTtmb3IobGV0IHQ9MDt0PGwubGVuZ3RoO3QrKyl7Y29uc3QgaT1sW3RdLmtleXM7aWYoaSYmMCE9PWkubGVuZ3RoKWlmKGlbMF0ubW9ycGhUYXJnZXRzKXtjb25zdCB0PXt9O2xldCBlO2ZvcihlPTA7ZTxpLmxlbmd0aDtlKyspaWYoaVtlXS5tb3JwaFRhcmdldHMpZm9yKGxldCBuPTA7bjxpW2VdLm1vcnBoVGFyZ2V0cy5sZW5ndGg7bisrKXRbaVtlXS5tb3JwaFRhcmdldHNbbl1dPS0xO2Zvcihjb25zdCBuIGluIHQpe2NvbnN0IHQ9W10sYT1bXTtmb3IobGV0IG89MDtvIT09aVtlXS5tb3JwaFRhcmdldHMubGVuZ3RoOysrbyl7Y29uc3Qgbz1pW2VdO3QucHVzaChvLnRpbWUpLGEucHVzaChvLm1vcnBoVGFyZ2V0PT09bj8xOjApfW8ucHVzaChuZXcgenV0KCIubW9ycGhUYXJnZXRJbmZsdWVuY2VbIituKyJdIix0LGEpKX1zPXQubGVuZ3RoKihhfHwxKX1lbHNle2NvbnN0IGE9Ii5ib25lc1siK2VbdF0ubmFtZSsiXSI7bihMdXQsYSsiLnBvc2l0aW9uIixpLCJwb3MiLG8pLG4oSHV0LGErIi5xdWF0ZXJuaW9uIixpLCJyb3QiLG8pLG4oTHV0LGErIi5zY2FsZSIsaSwic2NsIixvKX19aWYoMD09PW8ubGVuZ3RoKXJldHVybiBudWxsO3JldHVybiBuZXcgdGhpcyhpLHMsbyxyKX1yZXNldER1cmF0aW9uKCl7bGV0IHQ9MDtmb3IobGV0IGU9MCxuPXRoaXMudHJhY2tzLmxlbmd0aDtlIT09bjsrK2Upe2NvbnN0IG49dGhpcy50cmFja3NbZV07dD1NYXRoLm1heCh0LG4udGltZXNbbi50aW1lcy5sZW5ndGgtMV0pfXJldHVybiB0aGlzLmR1cmF0aW9uPXQsdGhpc310cmltKCl7Zm9yKGxldCB0PTA7dDx0aGlzLnRyYWNrcy5sZW5ndGg7dCsrKXRoaXMudHJhY2tzW3RdLnRyaW0oMCx0aGlzLmR1cmF0aW9uKTtyZXR1cm4gdGhpc312YWxpZGF0ZSgpe2xldCB0PSEwO2ZvcihsZXQgZT0wO2U8dGhpcy50cmFja3MubGVuZ3RoO2UrKyl0PXQmJnRoaXMudHJhY2tzW2VdLnZhbGlkYXRlKCk7cmV0dXJuIHR9b3B0aW1pemUoKXtmb3IobGV0IHQ9MDt0PHRoaXMudHJhY2tzLmxlbmd0aDt0KyspdGhpcy50cmFja3NbdF0ub3B0aW1pemUoKTtyZXR1cm4gdGhpc31jbG9uZSgpe2NvbnN0IHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLnRyYWNrcy5sZW5ndGg7ZSsrKXQucHVzaCh0aGlzLnRyYWNrc1tlXS5jbG9uZSgpKTtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5uYW1lLHRoaXMuZHVyYXRpb24sdCx0aGlzLmJsZW5kTW9kZSl9dG9KU09OKCl7cmV0dXJuIHRoaXMuY29uc3RydWN0b3IudG9KU09OKHRoaXMpfX1mdW5jdGlvbiBWdXQodCl7aWYodm9pZCAwPT09dC50eXBlKXRocm93IG5ldyBFcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogdHJhY2sgdHlwZSB1bmRlZmluZWQsIGNhbiBub3QgcGFyc2UiKTtjb25zdCBlPShmdW5jdGlvbiBuKHQpe3N3aXRjaCh0LnRvTG93ZXJDYXNlKCkpe2Nhc2Uic2NhbGFyIjpjYXNlImRvdWJsZSI6Y2FzZSJmbG9hdCI6Y2FzZSJudW1iZXIiOmNhc2UiaW50ZWdlciI6cmV0dXJuIHp1dDtjYXNlInZlY3RvciI6Y2FzZSJ2ZWN0b3IyIjpjYXNlInZlY3RvcjMiOmNhc2UidmVjdG9yNCI6cmV0dXJuIEx1dDtjYXNlImNvbG9yIjpyZXR1cm4gTnV0O2Nhc2UicXVhdGVybmlvbiI6cmV0dXJuIEh1dDtjYXNlImJvb2wiOmNhc2UiYm9vbGVhbiI6cmV0dXJuIFR1dDtjYXNlInN0cmluZyI6cmV0dXJuIEZ1dH10aHJvdyBuZXcgRXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IFVuc3VwcG9ydGVkIHR5cGVOYW1lOiAiK3QpfSkodC50eXBlKTtpZih2b2lkIDA9PT10LnRpbWVzKXtjb25zdCBlPVtdLG49W107a3V0LmZsYXR0ZW5KU09OKHQua2V5cyxlLG4sInZhbHVlIiksdC50aW1lcz1lLHQudmFsdWVzPW59cmV0dXJuIHZvaWQgMCE9PWUucGFyc2U/ZS5wYXJzZSh0KTpuZXcgZSh0Lm5hbWUsdC50aW1lcyx0LnZhbHVlcyx0LmludGVycG9sYXRpb24pfWNvbnN0IGp1dD17ZW5hYmxlZDohMSxmaWxlczp7fSxhZGQ6ZnVuY3Rpb24odCxlKXshMSE9PXRoaXMuZW5hYmxlZCYmKHRoaXMuZmlsZXNbdF09ZSl9LGdldDpmdW5jdGlvbih0KXtpZighMSE9PXRoaXMuZW5hYmxlZClyZXR1cm4gdGhpcy5maWxlc1t0XX0scmVtb3ZlOmZ1bmN0aW9uKHQpe2RlbGV0ZSB0aGlzLmZpbGVzW3RdfSxjbGVhcjpmdW5jdGlvbigpe3RoaXMuZmlsZXM9e319fTtjb25zdCBVdXQ9bmV3IGNsYXNze2NvbnN0cnVjdG9yKHQsZSxuKXtjb25zdCBvPXRoaXM7bGV0IGksYT0hMSxyPTAscz0wO2NvbnN0IGw9W107dGhpcy5vblN0YXJ0PXZvaWQgMCx0aGlzLm9uTG9hZD10LHRoaXMub25Qcm9ncmVzcz1lLHRoaXMub25FcnJvcj1uLHRoaXMuaXRlbVN0YXJ0PWZ1bmN0aW9uKHQpe3MrKywhMT09PWEmJnZvaWQgMCE9PW8ub25TdGFydCYmby5vblN0YXJ0KHQscixzKSxhPSEwfSx0aGlzLml0ZW1FbmQ9ZnVuY3Rpb24odCl7cisrLHZvaWQgMCE9PW8ub25Qcm9ncmVzcyYmby5vblByb2dyZXNzKHQscixzKSxyPT09cyYmKGE9ITEsdm9pZCAwIT09by5vbkxvYWQmJm8ub25Mb2FkKCkpfSx0aGlzLml0ZW1FcnJvcj1mdW5jdGlvbih0KXt2b2lkIDAhPT1vLm9uRXJyb3ImJm8ub25FcnJvcih0KX0sdGhpcy5yZXNvbHZlVVJMPWZ1bmN0aW9uKHQpe3JldHVybiBpP2kodCk6dH0sdGhpcy5zZXRVUkxNb2RpZmllcj1mdW5jdGlvbih0KXtyZXR1cm4gaT10LHRoaXN9LHRoaXMuYWRkSGFuZGxlcj1mdW5jdGlvbih0LGUpe3JldHVybiBsLnB1c2godCxlKSx0aGlzfSx0aGlzLnJlbW92ZUhhbmRsZXI9ZnVuY3Rpb24odCl7Y29uc3QgZT1sLmluZGV4T2YodCk7cmV0dXJuLTEhPT1lJiZsLnNwbGljZShlLDIpLHRoaXN9LHRoaXMuZ2V0SGFuZGxlcj1mdW5jdGlvbih0KXtmb3IobGV0IGU9MCxuPWwubGVuZ3RoO2U8bjtlKz0yKXtjb25zdCBuPWxbZV0sbz1sW2UrMV07aWYobi5nbG9iYWwmJihuLmxhc3RJbmRleD0wKSxuLnRlc3QodCkpcmV0dXJuIG99cmV0dXJuIG51bGx9fX07Y2xhc3MgV3V0e2NvbnN0cnVjdG9yKHQpe3RoaXMubWFuYWdlcj12b2lkIDAhPT10P3Q6VXV0LHRoaXMuY3Jvc3NPcmlnaW49ImFub255bW91cyIsdGhpcy53aXRoQ3JlZGVudGlhbHM9ITEsdGhpcy5wYXRoPSIiLHRoaXMucmVzb3VyY2VQYXRoPSIiLHRoaXMucmVxdWVzdEhlYWRlcj17fX1sb2FkKCl7fWxvYWRBc3luYyh0LGUpe2NvbnN0IG49dGhpcztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG8saSl7bi5sb2FkKHQsbyxlLGkpfSkpfXBhcnNlKCl7fXNldENyb3NzT3JpZ2luKHQpe3JldHVybiB0aGlzLmNyb3NzT3JpZ2luPXQsdGhpc31zZXRXaXRoQ3JlZGVudGlhbHModCl7cmV0dXJuIHRoaXMud2l0aENyZWRlbnRpYWxzPXQsdGhpc31zZXRQYXRoKHQpe3JldHVybiB0aGlzLnBhdGg9dCx0aGlzfXNldFJlc291cmNlUGF0aCh0KXtyZXR1cm4gdGhpcy5yZXNvdXJjZVBhdGg9dCx0aGlzfXNldFJlcXVlc3RIZWFkZXIodCl7cmV0dXJuIHRoaXMucmVxdWVzdEhlYWRlcj10LHRoaXN9fWNvbnN0IEd1dD17fTtjbGFzcyBZdXQgZXh0ZW5kcyBXdXR7Y29uc3RydWN0b3IodCl7c3VwZXIodCl9bG9hZCh0LGUsbixvKXt2b2lkIDA9PT10JiYodD0iIiksdm9pZCAwIT09dGhpcy5wYXRoJiYodD10aGlzLnBhdGgrdCksdD10aGlzLm1hbmFnZXIucmVzb2x2ZVVSTCh0KTtjb25zdCBpPXRoaXMsYT1qdXQuZ2V0KHQpO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGkubWFuYWdlci5pdGVtU3RhcnQodCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlJiZlKGEpLGkubWFuYWdlci5pdGVtRW5kKHQpfSksMCksYTtpZih2b2lkIDAhPT1HdXRbdF0pcmV0dXJuIHZvaWQgR3V0W3RdLnB1c2goe29uTG9hZDplLG9uUHJvZ3Jlc3M6bixvbkVycm9yOm99KTtjb25zdCByPXQubWF0Y2goL15kYXRhOiguKj8pKDtiYXNlNjQpPywoLiopJC8pO2xldCBzO2lmKHIpe2NvbnN0IG49clsxXSxhPSEhclsyXTtsZXQgcz1yWzNdO3M9ZGVjb2RlVVJJQ29tcG9uZW50KHMpLGEmJihzPWF0b2IocykpO3RyeXtsZXQgbztjb25zdCBhPSh0aGlzLnJlc3BvbnNlVHlwZXx8IiIpLnRvTG93ZXJDYXNlKCk7c3dpdGNoKGEpe2Nhc2UiYXJyYXlidWZmZXIiOmNhc2UiYmxvYiI6Y29uc3QgdD1uZXcgVWludDhBcnJheShzLmxlbmd0aCk7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDtlKyspdFtlXT1zLmNoYXJDb2RlQXQoZSk7bz0iYmxvYiI9PT1hP25ldyBCbG9iKFt0LmJ1ZmZlcl0se3R5cGU6bn0pOnQuYnVmZmVyO2JyZWFrO2Nhc2UiZG9jdW1lbnQiOmNvbnN0IGU9bmV3IERPTVBhcnNlcjtvPWUucGFyc2VGcm9tU3RyaW5nKHMsbik7YnJlYWs7Y2FzZSJqc29uIjpvPUpTT04ucGFyc2Uocyk7YnJlYWs7ZGVmYXVsdDpvPXN9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtlJiZlKG8pLGkubWFuYWdlci5pdGVtRW5kKHQpfSksMCl9Y2F0Y2goZSl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXtvJiZvKGUpLGkubWFuYWdlci5pdGVtRXJyb3IodCksaS5tYW5hZ2VyLml0ZW1FbmQodCl9KSwwKX19ZWxzZXtHdXRbdF09W10sR3V0W3RdLnB1c2goe29uTG9hZDplLG9uUHJvZ3Jlc3M6bixvbkVycm9yOm99KSxzPW5ldyBYTUxIdHRwUmVxdWVzdCxzLm9wZW4oIkdFVCIsdCwhMCkscy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoZnVuY3Rpb24oZSl7Y29uc3Qgbj10aGlzLnJlc3BvbnNlLG89R3V0W3RdO2lmKGRlbGV0ZSBHdXRbdF0sMjAwPT09dGhpcy5zdGF0dXN8fDA9PT10aGlzLnN0YXR1cyl7MD09PXRoaXMuc3RhdHVzJiZjb25zb2xlLndhcm4oIlRIUkVFLkZpbGVMb2FkZXI6IEhUVFAgU3RhdHVzIDAgcmVjZWl2ZWQuIiksanV0LmFkZCh0LG4pO2ZvcihsZXQgdD0wLGU9by5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1vW3RdO2Uub25Mb2FkJiZlLm9uTG9hZChuKX1pLm1hbmFnZXIuaXRlbUVuZCh0KX1lbHNle2ZvcihsZXQgdD0wLG49by5sZW5ndGg7dDxuO3QrKyl7Y29uc3Qgbj1vW3RdO24ub25FcnJvciYmbi5vbkVycm9yKGUpfWkubWFuYWdlci5pdGVtRXJyb3IodCksaS5tYW5hZ2VyLml0ZW1FbmQodCl9fSksITEpLHMuYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLChmdW5jdGlvbihlKXtjb25zdCBuPUd1dFt0XTtmb3IobGV0IHQ9MCxvPW4ubGVuZ3RoO3Q8bzt0Kyspe2NvbnN0IG89blt0XTtvLm9uUHJvZ3Jlc3MmJm8ub25Qcm9ncmVzcyhlKX19KSwhMSkscy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKGZ1bmN0aW9uKGUpe2NvbnN0IG49R3V0W3RdO2RlbGV0ZSBHdXRbdF07Zm9yKGxldCB0PTAsbz1uLmxlbmd0aDt0PG87dCsrKXtjb25zdCBvPW5bdF07by5vbkVycm9yJiZvLm9uRXJyb3IoZSl9aS5tYW5hZ2VyLml0ZW1FcnJvcih0KSxpLm1hbmFnZXIuaXRlbUVuZCh0KX0pLCExKSxzLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoZnVuY3Rpb24oZSl7Y29uc3Qgbj1HdXRbdF07ZGVsZXRlIEd1dFt0XTtmb3IobGV0IHQ9MCxvPW4ubGVuZ3RoO3Q8bzt0Kyspe2NvbnN0IG89blt0XTtvLm9uRXJyb3ImJm8ub25FcnJvcihlKX1pLm1hbmFnZXIuaXRlbUVycm9yKHQpLGkubWFuYWdlci5pdGVtRW5kKHQpfSksITEpLHZvaWQgMCE9PXRoaXMucmVzcG9uc2VUeXBlJiYocy5yZXNwb25zZVR5cGU9dGhpcy5yZXNwb25zZVR5cGUpLHZvaWQgMCE9PXRoaXMud2l0aENyZWRlbnRpYWxzJiYocy53aXRoQ3JlZGVudGlhbHM9dGhpcy53aXRoQ3JlZGVudGlhbHMpLHMub3ZlcnJpZGVNaW1lVHlwZSYmcy5vdmVycmlkZU1pbWVUeXBlKHZvaWQgMCE9PXRoaXMubWltZVR5cGU/dGhpcy5taW1lVHlwZToidGV4dC9wbGFpbiIpO2Zvcihjb25zdCB0IGluIHRoaXMucmVxdWVzdEhlYWRlcilzLnNldFJlcXVlc3RIZWFkZXIodCx0aGlzLnJlcXVlc3RIZWFkZXJbdF0pO3Muc2VuZChudWxsKX1yZXR1cm4gaS5tYW5hZ2VyLml0ZW1TdGFydCh0KSxzfXNldFJlc3BvbnNlVHlwZSh0KXtyZXR1cm4gdGhpcy5yZXNwb25zZVR5cGU9dCx0aGlzfXNldE1pbWVUeXBlKHQpe3JldHVybiB0aGlzLm1pbWVUeXBlPXQsdGhpc319Y2xhc3MgcXV0IGV4dGVuZHMgV3V0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfWxvYWQodCxlLG4sbyl7dm9pZCAwIT09dGhpcy5wYXRoJiYodD10aGlzLnBhdGgrdCksdD10aGlzLm1hbmFnZXIucmVzb2x2ZVVSTCh0KTtjb25zdCBpPXRoaXMsYT1qdXQuZ2V0KHQpO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGkubWFuYWdlci5pdGVtU3RhcnQodCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlJiZlKGEpLGkubWFuYWdlci5pdGVtRW5kKHQpfSksMCksYTtjb25zdCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImltZyIpO2Z1bmN0aW9uIHMoKXtyLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLHMsITEpLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGwsITEpLGp1dC5hZGQodCx0aGlzKSxlJiZlKHRoaXMpLGkubWFuYWdlci5pdGVtRW5kKHQpfWZ1bmN0aW9uIGwoZSl7ci5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixzLCExKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixsLCExKSxvJiZvKGUpLGkubWFuYWdlci5pdGVtRXJyb3IodCksaS5tYW5hZ2VyLml0ZW1FbmQodCl9cmV0dXJuIHIuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIscywhMSksci5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsbCwhMSksImRhdGE6IiE9PXQuc3Vic3RyKDAsNSkmJnZvaWQgMCE9PXRoaXMuY3Jvc3NPcmlnaW4mJihyLmNyb3NzT3JpZ2luPXRoaXMuY3Jvc3NPcmlnaW4pLGkubWFuYWdlci5pdGVtU3RhcnQodCksci5zcmM9dCxyfX1jbGFzcyBadXQgZXh0ZW5kcyBXdXR7Y29uc3RydWN0b3IodCl7c3VwZXIodCl9bG9hZCh0LGUsbixvKXtjb25zdCBpPW5ldyBMY3QsYT1uZXcgcXV0KHRoaXMubWFuYWdlcik7YS5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKSxhLnNldFBhdGgodGhpcy5wYXRoKTtsZXQgcj0wO2Z1bmN0aW9uIHMobil7YS5sb2FkKHRbbl0sKGZ1bmN0aW9uKHQpe2kuaW1hZ2VzW25dPXQscisrLDY9PT1yJiYoaS5uZWVkc1VwZGF0ZT0hMCxlJiZlKGkpKX0pLHZvaWQgMCxvKX1mb3IobGV0IGU9MDtlPHQubGVuZ3RoOysrZSlzKGUpO3JldHVybiBpfX1jbGFzcyBYdXQgZXh0ZW5kcyBXdXR7Y29uc3RydWN0b3IodCl7c3VwZXIodCl9bG9hZCh0LGUsbixvKXtjb25zdCBpPW5ldyBDc3QsYT1uZXcgcXV0KHRoaXMubWFuYWdlcik7cmV0dXJuIGEuc2V0Q3Jvc3NPcmlnaW4odGhpcy5jcm9zc09yaWdpbiksYS5zZXRQYXRoKHRoaXMucGF0aCksYS5sb2FkKHQsKGZ1bmN0aW9uKG4pe2kuaW1hZ2U9bjtjb25zdCBvPXQuc2VhcmNoKC9cLmpwZT9nKCR8XD8pL2kpPjB8fDA9PT10LnNlYXJjaCgvXmRhdGFcOmltYWdlXC9qcGVnLyk7aS5mb3JtYXQ9bz9WcnQ6anJ0LGkubmVlZHNVcGRhdGU9ITAsdm9pZCAwIT09ZSYmZShpKX0pLG4sbyksaX19Y2xhc3MgS3V0IGV4dGVuZHMgUmZ0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLnR5cGU9IkN1cnZlUGF0aCIsdGhpcy5jdXJ2ZXM9W10sdGhpcy5hdXRvQ2xvc2U9ITF9YWRkKHQpe3RoaXMuY3VydmVzLnB1c2godCl9Y2xvc2VQYXRoKCl7Y29uc3QgdD10aGlzLmN1cnZlc1swXS5nZXRQb2ludCgwKSxlPXRoaXMuY3VydmVzW3RoaXMuY3VydmVzLmxlbmd0aC0xXS5nZXRQb2ludCgxKTt0LmVxdWFscyhlKXx8dGhpcy5jdXJ2ZXMucHVzaChuZXcgV2Z0KGUsdCkpfWdldFBvaW50KHQpe2NvbnN0IGU9dCp0aGlzLmdldExlbmd0aCgpLG49dGhpcy5nZXRDdXJ2ZUxlbmd0aHMoKTtsZXQgbz0wO2Zvcig7bzxuLmxlbmd0aDspe2lmKG5bb10+PWUpe2NvbnN0IHQ9bltvXS1lLGk9dGhpcy5jdXJ2ZXNbb10sYT1pLmdldExlbmd0aCgpO3JldHVybiBpLmdldFBvaW50QXQoMD09PWE/MDoxLXQvYSl9bysrfXJldHVybiBudWxsfWdldExlbmd0aCgpe2NvbnN0IHQ9dGhpcy5nZXRDdXJ2ZUxlbmd0aHMoKTtyZXR1cm4gdFt0Lmxlbmd0aC0xXX11cGRhdGVBcmNMZW5ndGhzKCl7dGhpcy5uZWVkc1VwZGF0ZT0hMCx0aGlzLmNhY2hlTGVuZ3Rocz1udWxsLHRoaXMuZ2V0Q3VydmVMZW5ndGhzKCl9Z2V0Q3VydmVMZW5ndGhzKCl7aWYodGhpcy5jYWNoZUxlbmd0aHMmJnRoaXMuY2FjaGVMZW5ndGhzLmxlbmd0aD09PXRoaXMuY3VydmVzLmxlbmd0aClyZXR1cm4gdGhpcy5jYWNoZUxlbmd0aHM7Y29uc3QgdD1bXTtsZXQgZT0wO2ZvcihsZXQgbj0wLG89dGhpcy5jdXJ2ZXMubGVuZ3RoO248bztuKyspZSs9dGhpcy5jdXJ2ZXNbbl0uZ2V0TGVuZ3RoKCksdC5wdXNoKGUpO3JldHVybiB0aGlzLmNhY2hlTGVuZ3Rocz10LHR9Z2V0U3BhY2VkUG9pbnRzKHQ9NDApe2NvbnN0IGU9W107Zm9yKGxldCBuPTA7bjw9dDtuKyspZS5wdXNoKHRoaXMuZ2V0UG9pbnQobi90KSk7cmV0dXJuIHRoaXMuYXV0b0Nsb3NlJiZlLnB1c2goZVswXSksZX1nZXRQb2ludHModD0xMil7Y29uc3QgZT1bXTtsZXQgbjtmb3IobGV0IG89MCxpPXRoaXMuY3VydmVzO288aS5sZW5ndGg7bysrKXtjb25zdCBhPWlbb10scj1hLmdldFBvaW50cyhhJiZhLmlzRWxsaXBzZUN1cnZlPzIqdDphJiYoYS5pc0xpbmVDdXJ2ZXx8YS5pc0xpbmVDdXJ2ZTMpPzE6YSYmYS5pc1NwbGluZUN1cnZlP3QqYS5wb2ludHMubGVuZ3RoOnQpO2ZvcihsZXQgdD0wO3Q8ci5sZW5ndGg7dCsrKXtjb25zdCBvPXJbdF07biYmbi5lcXVhbHMobyl8fChlLnB1c2gobyksbj1vKX19cmV0dXJuIHRoaXMuYXV0b0Nsb3NlJiZlLmxlbmd0aD4xJiYhZVtlLmxlbmd0aC0xXS5lcXVhbHMoZVswXSkmJmUucHVzaChlWzBdKSxlfWNvcHkodCl7c3VwZXIuY29weSh0KSx0aGlzLmN1cnZlcz1bXTtmb3IobGV0IGU9MCxuPXQuY3VydmVzLmxlbmd0aDtlPG47ZSsrKXt0aGlzLmN1cnZlcy5wdXNoKHQuY3VydmVzW2VdLmNsb25lKCkpfXJldHVybiB0aGlzLmF1dG9DbG9zZT10LmF1dG9DbG9zZSx0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7dC5hdXRvQ2xvc2U9dGhpcy5hdXRvQ2xvc2UsdC5jdXJ2ZXM9W107Zm9yKGxldCBlPTAsbj10aGlzLmN1cnZlcy5sZW5ndGg7ZTxuO2UrKyl7dC5jdXJ2ZXMucHVzaCh0aGlzLmN1cnZlc1tlXS50b0pTT04oKSl9cmV0dXJuIHR9ZnJvbUpTT04odCl7c3VwZXIuZnJvbUpTT04odCksdGhpcy5hdXRvQ2xvc2U9dC5hdXRvQ2xvc2UsdGhpcy5jdXJ2ZXM9W107Zm9yKGxldCBlPTAsbj10LmN1cnZlcy5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10LmN1cnZlc1tlXTt0aGlzLmN1cnZlcy5wdXNoKChuZXcgWmZ0W24udHlwZV0pLmZyb21KU09OKG4pKX1yZXR1cm4gdGhpc319Y2xhc3MgSnV0IGV4dGVuZHMgS3V0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJQYXRoIix0aGlzLmN1cnJlbnRQb2ludD1uZXcgZ3N0LHQmJnRoaXMuc2V0RnJvbVBvaW50cyh0KX1zZXRGcm9tUG9pbnRzKHQpe3RoaXMubW92ZVRvKHRbMF0ueCx0WzBdLnkpO2ZvcihsZXQgZT0xLG49dC5sZW5ndGg7ZTxuO2UrKyl0aGlzLmxpbmVUbyh0W2VdLngsdFtlXS55KTtyZXR1cm4gdGhpc31tb3ZlVG8odCxlKXtyZXR1cm4gdGhpcy5jdXJyZW50UG9pbnQuc2V0KHQsZSksdGhpc31saW5lVG8odCxlKXtjb25zdCBuPW5ldyBXZnQodGhpcy5jdXJyZW50UG9pbnQuY2xvbmUoKSxuZXcgZ3N0KHQsZSkpO3JldHVybiB0aGlzLmN1cnZlcy5wdXNoKG4pLHRoaXMuY3VycmVudFBvaW50LnNldCh0LGUpLHRoaXN9cXVhZHJhdGljQ3VydmVUbyh0LGUsbixvKXtjb25zdCBpPW5ldyBHZnQodGhpcy5jdXJyZW50UG9pbnQuY2xvbmUoKSxuZXcgZ3N0KHQsZSksbmV3IGdzdChuLG8pKTtyZXR1cm4gdGhpcy5jdXJ2ZXMucHVzaChpKSx0aGlzLmN1cnJlbnRQb2ludC5zZXQobixvKSx0aGlzfWJlemllckN1cnZlVG8odCxlLG4sbyxpLGEpe2NvbnN0IHI9bmV3IGpmdCh0aGlzLmN1cnJlbnRQb2ludC5jbG9uZSgpLG5ldyBnc3QodCxlKSxuZXcgZ3N0KG4sbyksbmV3IGdzdChpLGEpKTtyZXR1cm4gdGhpcy5jdXJ2ZXMucHVzaChyKSx0aGlzLmN1cnJlbnRQb2ludC5zZXQoaSxhKSx0aGlzfXNwbGluZVRocnUodCl7Y29uc3QgZT1bdGhpcy5jdXJyZW50UG9pbnQuY2xvbmUoKV0uY29uY2F0KHQpLG49bmV3IHFmdChlKTtyZXR1cm4gdGhpcy5jdXJ2ZXMucHVzaChuKSx0aGlzLmN1cnJlbnRQb2ludC5jb3B5KHRbdC5sZW5ndGgtMV0pLHRoaXN9YXJjKHQsZSxuLG8saSxhKXtyZXR1cm4gdGhpcy5hYnNhcmModCt0aGlzLmN1cnJlbnRQb2ludC54LGUrdGhpcy5jdXJyZW50UG9pbnQueSxuLG8saSxhKSx0aGlzfWFic2FyYyh0LGUsbixvLGksYSl7cmV0dXJuIHRoaXMuYWJzZWxsaXBzZSh0LGUsbixuLG8saSxhKSx0aGlzfWVsbGlwc2UodCxlLG4sbyxpLGEscixzKXtyZXR1cm4gdGhpcy5hYnNlbGxpcHNlKHQrdGhpcy5jdXJyZW50UG9pbnQueCxlK3RoaXMuY3VycmVudFBvaW50LnksbixvLGksYSxyLHMpLHRoaXN9YWJzZWxsaXBzZSh0LGUsbixvLGksYSxyLHMpe2NvbnN0IGw9bmV3IEVmdCh0LGUsbixvLGksYSxyLHMpO2lmKHRoaXMuY3VydmVzLmxlbmd0aD4wKXtjb25zdCB0PWwuZ2V0UG9pbnQoMCk7dC5lcXVhbHModGhpcy5jdXJyZW50UG9pbnQpfHx0aGlzLmxpbmVUbyh0LngsdC55KX10aGlzLmN1cnZlcy5wdXNoKGwpO2NvbnN0IGM9bC5nZXRQb2ludCgxKTtyZXR1cm4gdGhpcy5jdXJyZW50UG9pbnQuY29weShjKSx0aGlzfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jdXJyZW50UG9pbnQuY29weSh0LmN1cnJlbnRQb2ludCksdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LmN1cnJlbnRQb2ludD10aGlzLmN1cnJlbnRQb2ludC50b0FycmF5KCksdH1mcm9tSlNPTih0KXtyZXR1cm4gc3VwZXIuZnJvbUpTT04odCksdGhpcy5jdXJyZW50UG9pbnQuZnJvbUFycmF5KHQuY3VycmVudFBvaW50KSx0aGlzfX1jbGFzcyBRdXQgZXh0ZW5kcyBKdXR7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy51dWlkPWRzdCgpLHRoaXMudHlwZT0iU2hhcGUiLHRoaXMuaG9sZXM9W119Z2V0UG9pbnRzSG9sZXModCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MCxvPXRoaXMuaG9sZXMubGVuZ3RoO248bztuKyspZVtuXT10aGlzLmhvbGVzW25dLmdldFBvaW50cyh0KTtyZXR1cm4gZX1leHRyYWN0UG9pbnRzKHQpe3JldHVybntzaGFwZTp0aGlzLmdldFBvaW50cyh0KSxob2xlczp0aGlzLmdldFBvaW50c0hvbGVzKHQpfX1jb3B5KHQpe3N1cGVyLmNvcHkodCksdGhpcy5ob2xlcz1bXTtmb3IobGV0IGU9MCxuPXQuaG9sZXMubGVuZ3RoO2U8bjtlKyspe3RoaXMuaG9sZXMucHVzaCh0LmhvbGVzW2VdLmNsb25lKCkpfXJldHVybiB0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7dC51dWlkPXRoaXMudXVpZCx0LmhvbGVzPVtdO2ZvcihsZXQgZT0wLG49dGhpcy5ob2xlcy5sZW5ndGg7ZTxuO2UrKyl7dC5ob2xlcy5wdXNoKHRoaXMuaG9sZXNbZV0udG9KU09OKCkpfXJldHVybiB0fWZyb21KU09OKHQpe3N1cGVyLmZyb21KU09OKHQpLHRoaXMudXVpZD10LnV1aWQsdGhpcy5ob2xlcz1bXTtmb3IobGV0IGU9MCxuPXQuaG9sZXMubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dC5ob2xlc1tlXTt0aGlzLmhvbGVzLnB1c2goKG5ldyBKdXQpLmZyb21KU09OKG4pKX1yZXR1cm4gdGhpc319Y2xhc3MgJHV0IGV4dGVuZHMgU2x0e2NvbnN0cnVjdG9yKHQsZT0xKXtzdXBlcigpLHRoaXMudHlwZT0iTGlnaHQiLHRoaXMuY29sb3I9bmV3IFpsdCh0KSx0aGlzLmludGVuc2l0eT1lfWRpc3Bvc2UoKXt9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmNvbG9yLmNvcHkodC5jb2xvciksdGhpcy5pbnRlbnNpdHk9dC5pbnRlbnNpdHksdGhpc310b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7cmV0dXJuIGUub2JqZWN0LmNvbG9yPXRoaXMuY29sb3IuZ2V0SGV4KCksZS5vYmplY3QuaW50ZW5zaXR5PXRoaXMuaW50ZW5zaXR5LHZvaWQgMCE9PXRoaXMuZ3JvdW5kQ29sb3ImJihlLm9iamVjdC5ncm91bmRDb2xvcj10aGlzLmdyb3VuZENvbG9yLmdldEhleCgpKSx2b2lkIDAhPT10aGlzLmRpc3RhbmNlJiYoZS5vYmplY3QuZGlzdGFuY2U9dGhpcy5kaXN0YW5jZSksdm9pZCAwIT09dGhpcy5hbmdsZSYmKGUub2JqZWN0LmFuZ2xlPXRoaXMuYW5nbGUpLHZvaWQgMCE9PXRoaXMuZGVjYXkmJihlLm9iamVjdC5kZWNheT10aGlzLmRlY2F5KSx2b2lkIDAhPT10aGlzLnBlbnVtYnJhJiYoZS5vYmplY3QucGVudW1icmE9dGhpcy5wZW51bWJyYSksdm9pZCAwIT09dGhpcy5zaGFkb3cmJihlLm9iamVjdC5zaGFkb3c9dGhpcy5zaGFkb3cudG9KU09OKCkpLGV9fSR1dC5wcm90b3R5cGUuaXNMaWdodD0hMDsoY2xhc3MgZXh0ZW5kcyAkdXR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsbiksdGhpcy50eXBlPSJIZW1pc3BoZXJlTGlnaHQiLHRoaXMucG9zaXRpb24uY29weShTbHQuRGVmYXVsdFVwKSx0aGlzLnVwZGF0ZU1hdHJpeCgpLHRoaXMuZ3JvdW5kQ29sb3I9bmV3IFpsdChlKX1jb3B5KHQpe3JldHVybiAkdXQucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLHQpLHRoaXMuZ3JvdW5kQ29sb3IuY29weSh0Lmdyb3VuZENvbG9yKSx0aGlzfX0pLnByb3RvdHlwZS5pc0hlbWlzcGhlcmVMaWdodD0hMDtjb25zdCB0Z3Q9bmV3IG9sdCxlZ3Q9bmV3IHdzdCxuZ3Q9bmV3IHdzdDtjbGFzcyBvZ3R7Y29uc3RydWN0b3IodCl7dGhpcy5jYW1lcmE9dCx0aGlzLmJpYXM9MCx0aGlzLm5vcm1hbEJpYXM9MCx0aGlzLnJhZGl1cz0xLHRoaXMubWFwU2l6ZT1uZXcgZ3N0KDUxMiw1MTIpLHRoaXMubWFwPW51bGwsdGhpcy5tYXBQYXNzPW51bGwsdGhpcy5tYXRyaXg9bmV3IG9sdCx0aGlzLmF1dG9VcGRhdGU9ITAsdGhpcy5uZWVkc1VwZGF0ZT0hMSx0aGlzLl9mcnVzdHVtPW5ldyBxY3QsdGhpcy5fZnJhbWVFeHRlbnRzPW5ldyBnc3QoMSwxKSx0aGlzLl92aWV3cG9ydENvdW50PTEsdGhpcy5fdmlld3BvcnRzPVtuZXcgdnN0KDAsMCwxLDEpXX1nZXRWaWV3cG9ydENvdW50KCl7cmV0dXJuIHRoaXMuX3ZpZXdwb3J0Q291bnR9Z2V0RnJ1c3R1bSgpe3JldHVybiB0aGlzLl9mcnVzdHVtfXVwZGF0ZU1hdHJpY2VzKHQpe2NvbnN0IGU9dGhpcy5jYW1lcmEsbj10aGlzLm1hdHJpeDtlZ3Quc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQubWF0cml4V29ybGQpLGUucG9zaXRpb24uY29weShlZ3QpLG5ndC5zZXRGcm9tTWF0cml4UG9zaXRpb24odC50YXJnZXQubWF0cml4V29ybGQpLGUubG9va0F0KG5ndCksZS51cGRhdGVNYXRyaXhXb3JsZCgpLHRndC5tdWx0aXBseU1hdHJpY2VzKGUucHJvamVjdGlvbk1hdHJpeCxlLm1hdHJpeFdvcmxkSW52ZXJzZSksdGhpcy5fZnJ1c3R1bS5zZXRGcm9tUHJvamVjdGlvbk1hdHJpeCh0Z3QpLG4uc2V0KC41LDAsMCwuNSwwLC41LDAsLjUsMCwwLC41LC41LDAsMCwwLDEpLG4ubXVsdGlwbHkoZS5wcm9qZWN0aW9uTWF0cml4KSxuLm11bHRpcGx5KGUubWF0cml4V29ybGRJbnZlcnNlKX1nZXRWaWV3cG9ydCh0KXtyZXR1cm4gdGhpcy5fdmlld3BvcnRzW3RdfWdldEZyYW1lRXh0ZW50cygpe3JldHVybiB0aGlzLl9mcmFtZUV4dGVudHN9ZGlzcG9zZSgpe3RoaXMubWFwJiZ0aGlzLm1hcC5kaXNwb3NlKCksdGhpcy5tYXBQYXNzJiZ0aGlzLm1hcFBhc3MuZGlzcG9zZSgpfWNvcHkodCl7cmV0dXJuIHRoaXMuY2FtZXJhPXQuY2FtZXJhLmNsb25lKCksdGhpcy5iaWFzPXQuYmlhcyx0aGlzLnJhZGl1cz10LnJhZGl1cyx0aGlzLm1hcFNpemUuY29weSh0Lm1hcFNpemUpLHRoaXN9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9dG9KU09OKCl7Y29uc3QgdD17fTtyZXR1cm4gMCE9PXRoaXMuYmlhcyYmKHQuYmlhcz10aGlzLmJpYXMpLDAhPT10aGlzLm5vcm1hbEJpYXMmJih0Lm5vcm1hbEJpYXM9dGhpcy5ub3JtYWxCaWFzKSwxIT09dGhpcy5yYWRpdXMmJih0LnJhZGl1cz10aGlzLnJhZGl1cyksNTEyPT09dGhpcy5tYXBTaXplLngmJjUxMj09PXRoaXMubWFwU2l6ZS55fHwodC5tYXBTaXplPXRoaXMubWFwU2l6ZS50b0FycmF5KCkpLHQuY2FtZXJhPXRoaXMuY2FtZXJhLnRvSlNPTighMSkub2JqZWN0LGRlbGV0ZSB0LmNhbWVyYS5tYXRyaXgsdH19Y2xhc3MgaWd0IGV4dGVuZHMgb2d0e2NvbnN0cnVjdG9yKCl7c3VwZXIobmV3IEljdCg1MCwxLC41LDUwMCkpLHRoaXMuZm9jdXM9MX11cGRhdGVNYXRyaWNlcyh0KXtjb25zdCBlPXRoaXMuY2FtZXJhLG49Mipjc3QqdC5hbmdsZSp0aGlzLmZvY3VzLG89dGhpcy5tYXBTaXplLndpZHRoL3RoaXMubWFwU2l6ZS5oZWlnaHQsaT10LmRpc3RhbmNlfHxlLmZhcjtuPT09ZS5mb3YmJm89PT1lLmFzcGVjdCYmaT09PWUuZmFyfHwoZS5mb3Y9bixlLmFzcGVjdD1vLGUuZmFyPWksZS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCkpLHN1cGVyLnVwZGF0ZU1hdHJpY2VzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5mb2N1cz10LmZvY3VzLHRoaXN9fWlndC5wcm90b3R5cGUuaXNTcG90TGlnaHRTaGFkb3c9ITA7KGNsYXNzIGV4dGVuZHMgJHV0e2NvbnN0cnVjdG9yKHQsZSxuPTAsbz1NYXRoLlBJLzMsaT0wLGE9MSl7c3VwZXIodCxlKSx0aGlzLnR5cGU9IlNwb3RMaWdodCIsdGhpcy5wb3NpdGlvbi5jb3B5KFNsdC5EZWZhdWx0VXApLHRoaXMudXBkYXRlTWF0cml4KCksdGhpcy50YXJnZXQ9bmV3IFNsdCx0aGlzLmRpc3RhbmNlPW4sdGhpcy5hbmdsZT1vLHRoaXMucGVudW1icmE9aSx0aGlzLmRlY2F5PWEsdGhpcy5zaGFkb3c9bmV3IGlndH1nZXQgcG93ZXIoKXtyZXR1cm4gdGhpcy5pbnRlbnNpdHkqTWF0aC5QSX1zZXQgcG93ZXIodCl7dGhpcy5pbnRlbnNpdHk9dC9NYXRoLlBJfWRpc3Bvc2UoKXt0aGlzLnNoYWRvdy5kaXNwb3NlKCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmRpc3RhbmNlPXQuZGlzdGFuY2UsdGhpcy5hbmdsZT10LmFuZ2xlLHRoaXMucGVudW1icmE9dC5wZW51bWJyYSx0aGlzLmRlY2F5PXQuZGVjYXksdGhpcy50YXJnZXQ9dC50YXJnZXQuY2xvbmUoKSx0aGlzLnNoYWRvdz10LnNoYWRvdy5jbG9uZSgpLHRoaXN9fSkucHJvdG90eXBlLmlzU3BvdExpZ2h0PSEwO2NvbnN0IGFndD1uZXcgb2x0LHJndD1uZXcgd3N0LHNndD1uZXcgd3N0O2NsYXNzIGxndCBleHRlbmRzIG9ndHtjb25zdHJ1Y3Rvcigpe3N1cGVyKG5ldyBJY3QoOTAsMSwuNSw1MDApKSx0aGlzLl9mcmFtZUV4dGVudHM9bmV3IGdzdCg0LDIpLHRoaXMuX3ZpZXdwb3J0Q291bnQ9Nix0aGlzLl92aWV3cG9ydHM9W25ldyB2c3QoMiwxLDEsMSksbmV3IHZzdCgwLDEsMSwxKSxuZXcgdnN0KDMsMSwxLDEpLG5ldyB2c3QoMSwxLDEsMSksbmV3IHZzdCgzLDAsMSwxKSxuZXcgdnN0KDEsMCwxLDEpXSx0aGlzLl9jdWJlRGlyZWN0aW9ucz1bbmV3IHdzdCgxLDAsMCksbmV3IHdzdCgtMSwwLDApLG5ldyB3c3QoMCwwLDEpLG5ldyB3c3QoMCwwLC0xKSxuZXcgd3N0KDAsMSwwKSxuZXcgd3N0KDAsLTEsMCldLHRoaXMuX2N1YmVVcHM9W25ldyB3c3QoMCwxLDApLG5ldyB3c3QoMCwxLDApLG5ldyB3c3QoMCwxLDApLG5ldyB3c3QoMCwxLDApLG5ldyB3c3QoMCwwLDEpLG5ldyB3c3QoMCwwLC0xKV19dXBkYXRlTWF0cmljZXModCxlPTApe2NvbnN0IG49dGhpcy5jYW1lcmEsbz10aGlzLm1hdHJpeCxpPXQuZGlzdGFuY2V8fG4uZmFyO2khPT1uLmZhciYmKG4uZmFyPWksbi51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCkpLHJndC5zZXRGcm9tTWF0cml4UG9zaXRpb24odC5tYXRyaXhXb3JsZCksbi5wb3NpdGlvbi5jb3B5KHJndCksc2d0LmNvcHkobi5wb3NpdGlvbiksc2d0LmFkZCh0aGlzLl9jdWJlRGlyZWN0aW9uc1tlXSksbi51cC5jb3B5KHRoaXMuX2N1YmVVcHNbZV0pLG4ubG9va0F0KHNndCksbi51cGRhdGVNYXRyaXhXb3JsZCgpLG8ubWFrZVRyYW5zbGF0aW9uKC1yZ3QueCwtcmd0LnksLXJndC56KSxhZ3QubXVsdGlwbHlNYXRyaWNlcyhuLnByb2plY3Rpb25NYXRyaXgsbi5tYXRyaXhXb3JsZEludmVyc2UpLHRoaXMuX2ZydXN0dW0uc2V0RnJvbVByb2plY3Rpb25NYXRyaXgoYWd0KX19bGd0LnByb3RvdHlwZS5pc1BvaW50TGlnaHRTaGFkb3c9ITA7KGNsYXNzIGV4dGVuZHMgJHV0e2NvbnN0cnVjdG9yKHQsZSxuPTAsbz0xKXtzdXBlcih0LGUpLHRoaXMudHlwZT0iUG9pbnRMaWdodCIsdGhpcy5kaXN0YW5jZT1uLHRoaXMuZGVjYXk9byx0aGlzLnNoYWRvdz1uZXcgbGd0fWdldCBwb3dlcigpe3JldHVybiA0KnRoaXMuaW50ZW5zaXR5Kk1hdGguUEl9c2V0IHBvd2VyKHQpe3RoaXMuaW50ZW5zaXR5PXQvKDQqTWF0aC5QSSl9ZGlzcG9zZSgpe3RoaXMuc2hhZG93LmRpc3Bvc2UoKX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuZGlzdGFuY2U9dC5kaXN0YW5jZSx0aGlzLmRlY2F5PXQuZGVjYXksdGhpcy5zaGFkb3c9dC5zaGFkb3cuY2xvbmUoKSx0aGlzfX0pLnByb3RvdHlwZS5pc1BvaW50TGlnaHQ9ITA7Y2xhc3MgY2d0IGV4dGVuZHMgb2d0e2NvbnN0cnVjdG9yKCl7c3VwZXIobmV3IHJkdCgtNSw1LDUsLTUsLjUsNTAwKSl9fWNndC5wcm90b3R5cGUuaXNEaXJlY3Rpb25hbExpZ2h0U2hhZG93PSEwOyhjbGFzcyBleHRlbmRzICR1dHtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy50eXBlPSJEaXJlY3Rpb25hbExpZ2h0Iix0aGlzLnBvc2l0aW9uLmNvcHkoU2x0LkRlZmF1bHRVcCksdGhpcy51cGRhdGVNYXRyaXgoKSx0aGlzLnRhcmdldD1uZXcgU2x0LHRoaXMuc2hhZG93PW5ldyBjZ3R9ZGlzcG9zZSgpe3RoaXMuc2hhZG93LmRpc3Bvc2UoKX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMudGFyZ2V0PXQudGFyZ2V0LmNsb25lKCksdGhpcy5zaGFkb3c9dC5zaGFkb3cuY2xvbmUoKSx0aGlzfX0pLnByb3RvdHlwZS5pc0RpcmVjdGlvbmFsTGlnaHQ9ITA7KGNsYXNzIGV4dGVuZHMgJHV0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIodCxlKSx0aGlzLnR5cGU9IkFtYmllbnRMaWdodCJ9fSkucHJvdG90eXBlLmlzQW1iaWVudExpZ2h0PSEwOyhjbGFzcyBleHRlbmRzICR1dHtjb25zdHJ1Y3Rvcih0LGUsbj0xMCxvPTEwKXtzdXBlcih0LGUpLHRoaXMudHlwZT0iUmVjdEFyZWFMaWdodCIsdGhpcy53aWR0aD1uLHRoaXMuaGVpZ2h0PW99Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLndpZHRoPXQud2lkdGgsdGhpcy5oZWlnaHQ9dC5oZWlnaHQsdGhpc310b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7cmV0dXJuIGUub2JqZWN0LndpZHRoPXRoaXMud2lkdGgsZS5vYmplY3QuaGVpZ2h0PXRoaXMuaGVpZ2h0LGV9fSkucHJvdG90eXBlLmlzUmVjdEFyZWFMaWdodD0hMDtjbGFzcyBkZ3R7Y29uc3RydWN0b3IoKXt0aGlzLmNvZWZmaWNpZW50cz1bXTtmb3IobGV0IHQ9MDt0PDk7dCsrKXRoaXMuY29lZmZpY2llbnRzLnB1c2gobmV3IHdzdCl9c2V0KHQpe2ZvcihsZXQgZT0wO2U8OTtlKyspdGhpcy5jb2VmZmljaWVudHNbZV0uY29weSh0W2VdKTtyZXR1cm4gdGhpc316ZXJvKCl7Zm9yKGxldCB0PTA7dDw5O3QrKyl0aGlzLmNvZWZmaWNpZW50c1t0XS5zZXQoMCwwLDApO3JldHVybiB0aGlzfWdldEF0KHQsZSl7Y29uc3Qgbj10Lngsbz10LnksaT10LnosYT10aGlzLmNvZWZmaWNpZW50cztyZXR1cm4gZS5jb3B5KGFbMF0pLm11bHRpcGx5U2NhbGFyKC4yODIwOTUpLGUuYWRkU2NhbGVkVmVjdG9yKGFbMV0sLjQ4ODYwMypvKSxlLmFkZFNjYWxlZFZlY3RvcihhWzJdLC40ODg2MDMqaSksZS5hZGRTY2FsZWRWZWN0b3IoYVszXSwuNDg4NjAzKm4pLGUuYWRkU2NhbGVkVmVjdG9yKGFbNF0sbipvKjEuMDkyNTQ4KSxlLmFkZFNjYWxlZFZlY3RvcihhWzVdLG8qaSoxLjA5MjU0OCksZS5hZGRTY2FsZWRWZWN0b3IoYVs2XSwuMzE1MzkyKigzKmkqaS0xKSksZS5hZGRTY2FsZWRWZWN0b3IoYVs3XSxuKmkqMS4wOTI1NDgpLGUuYWRkU2NhbGVkVmVjdG9yKGFbOF0sLjU0NjI3NCoobipuLW8qbykpLGV9Z2V0SXJyYWRpYW5jZUF0KHQsZSl7Y29uc3Qgbj10Lngsbz10LnksaT10LnosYT10aGlzLmNvZWZmaWNpZW50cztyZXR1cm4gZS5jb3B5KGFbMF0pLm11bHRpcGx5U2NhbGFyKC44ODYyMjcpLGUuYWRkU2NhbGVkVmVjdG9yKGFbMV0sMS4wMjMzMjgqbyksZS5hZGRTY2FsZWRWZWN0b3IoYVsyXSwxLjAyMzMyOCppKSxlLmFkZFNjYWxlZFZlY3RvcihhWzNdLDEuMDIzMzI4Km4pLGUuYWRkU2NhbGVkVmVjdG9yKGFbNF0sLjg1ODA4NipuKm8pLGUuYWRkU2NhbGVkVmVjdG9yKGFbNV0sLjg1ODA4NipvKmkpLGUuYWRkU2NhbGVkVmVjdG9yKGFbNl0sLjc0MzEyNSppKmktLjI0NzcwOCksZS5hZGRTY2FsZWRWZWN0b3IoYVs3XSwuODU4MDg2Km4qaSksZS5hZGRTY2FsZWRWZWN0b3IoYVs4XSwuNDI5MDQzKihuKm4tbypvKSksZX1hZGQodCl7Zm9yKGxldCBlPTA7ZTw5O2UrKyl0aGlzLmNvZWZmaWNpZW50c1tlXS5hZGQodC5jb2VmZmljaWVudHNbZV0pO3JldHVybiB0aGlzfWFkZFNjYWxlZFNIKHQsZSl7Zm9yKGxldCBuPTA7bjw5O24rKyl0aGlzLmNvZWZmaWNpZW50c1tuXS5hZGRTY2FsZWRWZWN0b3IodC5jb2VmZmljaWVudHNbbl0sZSk7cmV0dXJuIHRoaXN9c2NhbGUodCl7Zm9yKGxldCBlPTA7ZTw5O2UrKyl0aGlzLmNvZWZmaWNpZW50c1tlXS5tdWx0aXBseVNjYWxhcih0KTtyZXR1cm4gdGhpc31sZXJwKHQsZSl7Zm9yKGxldCBuPTA7bjw5O24rKyl0aGlzLmNvZWZmaWNpZW50c1tuXS5sZXJwKHQuY29lZmZpY2llbnRzW25dLGUpO3JldHVybiB0aGlzfWVxdWFscyh0KXtmb3IobGV0IGU9MDtlPDk7ZSsrKWlmKCF0aGlzLmNvZWZmaWNpZW50c1tlXS5lcXVhbHModC5jb2VmZmljaWVudHNbZV0pKXJldHVybiExO3JldHVybiEwfWNvcHkodCl7cmV0dXJuIHRoaXMuc2V0KHQuY29lZmZpY2llbnRzKX1jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX1mcm9tQXJyYXkodCxlPTApe2NvbnN0IG49dGhpcy5jb2VmZmljaWVudHM7Zm9yKGxldCBvPTA7bzw5O28rKyluW29dLmZyb21BcnJheSh0LGUrMypvKTtyZXR1cm4gdGhpc310b0FycmF5KHQ9W10sZT0wKXtjb25zdCBuPXRoaXMuY29lZmZpY2llbnRzO2ZvcihsZXQgbz0wO288OTtvKyspbltvXS50b0FycmF5KHQsZSszKm8pO3JldHVybiB0fXN0YXRpYyBnZXRCYXNpc0F0KHQsZSl7Y29uc3Qgbj10Lngsbz10LnksaT10Lno7ZVswXT0uMjgyMDk1LGVbMV09LjQ4ODYwMypvLGVbMl09LjQ4ODYwMyppLGVbM109LjQ4ODYwMypuLGVbNF09MS4wOTI1NDgqbipvLGVbNV09MS4wOTI1NDgqbyppLGVbNl09LjMxNTM5MiooMyppKmktMSksZVs3XT0xLjA5MjU0OCpuKmksZVs4XT0uNTQ2Mjc0KihuKm4tbypvKX19ZGd0LnByb3RvdHlwZS5pc1NwaGVyaWNhbEhhcm1vbmljczM9ITA7Y2xhc3MgcGd0IGV4dGVuZHMgJHV0e2NvbnN0cnVjdG9yKHQ9bmV3IGRndCxlPTEpe3N1cGVyKHZvaWQgMCxlKSx0aGlzLnNoPXR9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLnNoLmNvcHkodC5zaCksdGhpc31mcm9tSlNPTih0KXtyZXR1cm4gdGhpcy5pbnRlbnNpdHk9dC5pbnRlbnNpdHksdGhpcy5zaC5mcm9tQXJyYXkodC5zaCksdGhpc310b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7cmV0dXJuIGUub2JqZWN0LnNoPXRoaXMuc2gudG9BcnJheSgpLGV9fXBndC5wcm90b3R5cGUuaXNMaWdodFByb2JlPSEwOyhjbGFzcyBleHRlbmRzIGRjdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50eXBlPSJJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSIsdGhpcy5pbnN0YW5jZUNvdW50PTEvMH1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuaW5zdGFuY2VDb3VudD10Lmluc3RhbmNlQ291bnQsdGhpc31jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX10b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTih0aGlzKTtyZXR1cm4gdC5pbnN0YW5jZUNvdW50PXRoaXMuaW5zdGFuY2VDb3VudCx0LmlzSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnk9ITAsdH19KS5wcm90b3R5cGUuaXNJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeT0hMDsoY2xhc3MgZXh0ZW5kcyBRbHR7Y29uc3RydWN0b3IodCxlLG4sbz0xKXsibnVtYmVyIj09dHlwZW9mIG4mJihvPW4sbj0hMSxjb25zb2xlLmVycm9yKCJUSFJFRS5JbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGU6IFRoZSBjb25zdHJ1Y3RvciBub3cgZXhwZWN0cyBub3JtYWxpemVkIGFzIHRoZSB0aGlyZCBhcmd1bWVudC4iKSksc3VwZXIodCxlLG4pLHRoaXMubWVzaFBlckF0dHJpYnV0ZT1vfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5tZXNoUGVyQXR0cmlidXRlPXQubWVzaFBlckF0dHJpYnV0ZSx0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7cmV0dXJuIHQubWVzaFBlckF0dHJpYnV0ZT10aGlzLm1lc2hQZXJBdHRyaWJ1dGUsdC5pc0luc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT0hMCx0fX0pLnByb3RvdHlwZS5pc0luc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT0hMDtsZXQgbWd0OyhjbGFzcyBleHRlbmRzIFd1dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSwidW5kZWZpbmVkIj09dHlwZW9mIGNyZWF0ZUltYWdlQml0bWFwJiZjb25zb2xlLndhcm4oIlRIUkVFLkltYWdlQml0bWFwTG9hZGVyOiBjcmVhdGVJbWFnZUJpdG1hcCgpIG5vdCBzdXBwb3J0ZWQuIiksInVuZGVmaW5lZCI9PXR5cGVvZiBmZXRjaCYmY29uc29sZS53YXJuKCJUSFJFRS5JbWFnZUJpdG1hcExvYWRlcjogZmV0Y2goKSBub3Qgc3VwcG9ydGVkLiIpLHRoaXMub3B0aW9ucz17cHJlbXVsdGlwbHlBbHBoYToibm9uZSJ9fXNldE9wdGlvbnModCl7cmV0dXJuIHRoaXMub3B0aW9ucz10LHRoaXN9bG9hZCh0LGUsbixvKXt2b2lkIDA9PT10JiYodD0iIiksdm9pZCAwIT09dGhpcy5wYXRoJiYodD10aGlzLnBhdGgrdCksdD10aGlzLm1hbmFnZXIucmVzb2x2ZVVSTCh0KTtjb25zdCBpPXRoaXMsYT1qdXQuZ2V0KHQpO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGkubWFuYWdlci5pdGVtU3RhcnQodCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlJiZlKGEpLGkubWFuYWdlci5pdGVtRW5kKHQpfSksMCksYTtjb25zdCByPXt9O3IuY3JlZGVudGlhbHM9ImFub255bW91cyI9PT10aGlzLmNyb3NzT3JpZ2luPyJzYW1lLW9yaWdpbiI6ImluY2x1ZGUiLHIuaGVhZGVycz10aGlzLnJlcXVlc3RIZWFkZXIsZmV0Y2godCxyKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdC5ibG9iKCl9KSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIGNyZWF0ZUltYWdlQml0bWFwKHQsT2JqZWN0LmFzc2lnbihpLm9wdGlvbnMse2NvbG9yU3BhY2VDb252ZXJzaW9uOiJub25lIn0pKX0pKS50aGVuKChmdW5jdGlvbihuKXtqdXQuYWRkKHQsbiksZSYmZShuKSxpLm1hbmFnZXIuaXRlbUVuZCh0KX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7byYmbyhlKSxpLm1hbmFnZXIuaXRlbUVycm9yKHQpLGkubWFuYWdlci5pdGVtRW5kKHQpfSkpLGkubWFuYWdlci5pdGVtU3RhcnQodCl9fSkucHJvdG90eXBlLmlzSW1hZ2VCaXRtYXBMb2FkZXI9ITA7Y29uc3QgZmd0PWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PW1ndCYmKG1ndD1uZXcod2luZG93LkF1ZGlvQ29udGV4dHx8d2luZG93LndlYmtpdEF1ZGlvQ29udGV4dCkpLG1ndH07Y2xhc3MgdWd0IGV4dGVuZHMgV3V0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfWxvYWQodCxlLG4sbyl7Y29uc3QgaT10aGlzLGE9bmV3IFl1dCh0aGlzLm1hbmFnZXIpO2Euc2V0UmVzcG9uc2VUeXBlKCJhcnJheWJ1ZmZlciIpLGEuc2V0UGF0aCh0aGlzLnBhdGgpLGEuc2V0UmVxdWVzdEhlYWRlcih0aGlzLnJlcXVlc3RIZWFkZXIpLGEuc2V0V2l0aENyZWRlbnRpYWxzKHRoaXMud2l0aENyZWRlbnRpYWxzKSxhLmxvYWQodCwoZnVuY3Rpb24obil7dHJ5e2NvbnN0IHQ9bi5zbGljZSgwKTtmZ3QoKS5kZWNvZGVBdWRpb0RhdGEodCwoZnVuY3Rpb24odCl7ZSh0KX0pKX1jYXRjaChlKXtvP28oZSk6Y29uc29sZS5lcnJvcihlKSxpLm1hbmFnZXIuaXRlbUVycm9yKHQpfX0pLG4sbyl9fShjbGFzcyBleHRlbmRzIHBndHtjb25zdHJ1Y3Rvcih0LGUsbj0xKXtzdXBlcih2b2lkIDAsbik7Y29uc3Qgbz0obmV3IFpsdCkuc2V0KHQpLGk9KG5ldyBabHQpLnNldChlKSxhPW5ldyB3c3Qoby5yLG8uZyxvLmIpLHI9bmV3IHdzdChpLnIsaS5nLGkuYikscz1NYXRoLnNxcnQoTWF0aC5QSSksbD1zKk1hdGguc3FydCguNzUpO3RoaXMuc2guY29lZmZpY2llbnRzWzBdLmNvcHkoYSkuYWRkKHIpLm11bHRpcGx5U2NhbGFyKHMpLHRoaXMuc2guY29lZmZpY2llbnRzWzFdLmNvcHkoYSkuc3ViKHIpLm11bHRpcGx5U2NhbGFyKGwpfX0pLnByb3RvdHlwZS5pc0hlbWlzcGhlcmVMaWdodFByb2JlPSEwOyhjbGFzcyBleHRlbmRzIHBndHtjb25zdHJ1Y3Rvcih0LGU9MSl7c3VwZXIodm9pZCAwLGUpO2NvbnN0IG49KG5ldyBabHQpLnNldCh0KTt0aGlzLnNoLmNvZWZmaWNpZW50c1swXS5zZXQobi5yLG4uZyxuLmIpLm11bHRpcGx5U2NhbGFyKDIqTWF0aC5zcXJ0KE1hdGguUEkpKX19KS5wcm90b3R5cGUuaXNBbWJpZW50TGlnaHRQcm9iZT0hMDtjbGFzcyBnZ3R7Y29uc3RydWN0b3IodCxlLG4pe2xldCBvLGksYTtzd2l0Y2godGhpcy5iaW5kaW5nPXQsdGhpcy52YWx1ZVNpemU9bixlKXtjYXNlInF1YXRlcm5pb24iOm89dGhpcy5fc2xlcnAsaT10aGlzLl9zbGVycEFkZGl0aXZlLGE9dGhpcy5fc2V0QWRkaXRpdmVJZGVudGl0eVF1YXRlcm5pb24sdGhpcy5idWZmZXI9bmV3IEZsb2F0NjRBcnJheSg2Km4pLHRoaXMuX3dvcmtJbmRleD01O2JyZWFrO2Nhc2Uic3RyaW5nIjpjYXNlImJvb2wiOm89dGhpcy5fc2VsZWN0LGk9dGhpcy5fc2VsZWN0LGE9dGhpcy5fc2V0QWRkaXRpdmVJZGVudGl0eU90aGVyLHRoaXMuYnVmZmVyPW5ldyBBcnJheSg1Km4pO2JyZWFrO2RlZmF1bHQ6bz10aGlzLl9sZXJwLGk9dGhpcy5fbGVycEFkZGl0aXZlLGE9dGhpcy5fc2V0QWRkaXRpdmVJZGVudGl0eU51bWVyaWMsdGhpcy5idWZmZXI9bmV3IEZsb2F0NjRBcnJheSg1Km4pfXRoaXMuX21peEJ1ZmZlclJlZ2lvbj1vLHRoaXMuX21peEJ1ZmZlclJlZ2lvbkFkZGl0aXZlPWksdGhpcy5fc2V0SWRlbnRpdHk9YSx0aGlzLl9vcmlnSW5kZXg9Myx0aGlzLl9hZGRJbmRleD00LHRoaXMuY3VtdWxhdGl2ZVdlaWdodD0wLHRoaXMuY3VtdWxhdGl2ZVdlaWdodEFkZGl0aXZlPTAsdGhpcy51c2VDb3VudD0wLHRoaXMucmVmZXJlbmNlQ291bnQ9MH1hY2N1bXVsYXRlKHQsZSl7Y29uc3Qgbj10aGlzLmJ1ZmZlcixvPXRoaXMudmFsdWVTaXplLGk9dCpvK287bGV0IGE9dGhpcy5jdW11bGF0aXZlV2VpZ2h0O2lmKDA9PT1hKXtmb3IobGV0IHQ9MDt0IT09bzsrK3QpbltpK3RdPW5bdF07YT1lfWVsc2V7YSs9ZTt0aGlzLl9taXhCdWZmZXJSZWdpb24obixpLDAsZS9hLG8pfXRoaXMuY3VtdWxhdGl2ZVdlaWdodD1hfWFjY3VtdWxhdGVBZGRpdGl2ZSh0KXtjb25zdCBlPXRoaXMuYnVmZmVyLG49dGhpcy52YWx1ZVNpemUsbz1uKnRoaXMuX2FkZEluZGV4OzA9PT10aGlzLmN1bXVsYXRpdmVXZWlnaHRBZGRpdGl2ZSYmdGhpcy5fc2V0SWRlbnRpdHkoKSx0aGlzLl9taXhCdWZmZXJSZWdpb25BZGRpdGl2ZShlLG8sMCx0LG4pLHRoaXMuY3VtdWxhdGl2ZVdlaWdodEFkZGl0aXZlKz10fWFwcGx5KHQpe2NvbnN0IGU9dGhpcy52YWx1ZVNpemUsbj10aGlzLmJ1ZmZlcixvPXQqZStlLGk9dGhpcy5jdW11bGF0aXZlV2VpZ2h0LGE9dGhpcy5jdW11bGF0aXZlV2VpZ2h0QWRkaXRpdmUscj10aGlzLmJpbmRpbmc7aWYodGhpcy5jdW11bGF0aXZlV2VpZ2h0PTAsdGhpcy5jdW11bGF0aXZlV2VpZ2h0QWRkaXRpdmU9MCxpPDEpe3RoaXMuX21peEJ1ZmZlclJlZ2lvbihuLG8sZSp0aGlzLl9vcmlnSW5kZXgsMS1pLGUpfWE+MCYmdGhpcy5fbWl4QnVmZmVyUmVnaW9uQWRkaXRpdmUobixvLHRoaXMuX2FkZEluZGV4KmUsMSxlKTtmb3IobGV0IHQ9ZSxpPWUrZTt0IT09aTsrK3QpaWYoblt0XSE9PW5bdCtlXSl7ci5zZXRWYWx1ZShuLG8pO2JyZWFrfX1zYXZlT3JpZ2luYWxTdGF0ZSgpe2NvbnN0IHQ9dGhpcy5idWZmZXIsZT10aGlzLnZhbHVlU2l6ZSxuPWUqdGhpcy5fb3JpZ0luZGV4O3RoaXMuYmluZGluZy5nZXRWYWx1ZSh0LG4pO2ZvcihsZXQgbz1lLGk9bjtvIT09aTsrK28pdFtvXT10W24rbyVlXTt0aGlzLl9zZXRJZGVudGl0eSgpLHRoaXMuY3VtdWxhdGl2ZVdlaWdodD0wLHRoaXMuY3VtdWxhdGl2ZVdlaWdodEFkZGl0aXZlPTB9cmVzdG9yZU9yaWdpbmFsU3RhdGUoKXt0aGlzLmJpbmRpbmcuc2V0VmFsdWUodGhpcy5idWZmZXIsMyp0aGlzLnZhbHVlU2l6ZSl9X3NldEFkZGl0aXZlSWRlbnRpdHlOdW1lcmljKCl7Y29uc3QgdD10aGlzLl9hZGRJbmRleCp0aGlzLnZhbHVlU2l6ZSxlPXQrdGhpcy52YWx1ZVNpemU7Zm9yKGxldCBuPXQ7bjxlO24rKyl0aGlzLmJ1ZmZlcltuXT0wfV9zZXRBZGRpdGl2ZUlkZW50aXR5UXVhdGVybmlvbigpe3RoaXMuX3NldEFkZGl0aXZlSWRlbnRpdHlOdW1lcmljKCksdGhpcy5idWZmZXJbdGhpcy5fYWRkSW5kZXgqdGhpcy52YWx1ZVNpemUrM109MX1fc2V0QWRkaXRpdmVJZGVudGl0eU90aGVyKCl7Y29uc3QgdD10aGlzLl9vcmlnSW5kZXgqdGhpcy52YWx1ZVNpemUsZT10aGlzLl9hZGRJbmRleCp0aGlzLnZhbHVlU2l6ZTtmb3IobGV0IG49MDtuPHRoaXMudmFsdWVTaXplO24rKyl0aGlzLmJ1ZmZlcltlK25dPXRoaXMuYnVmZmVyW3Qrbl19X3NlbGVjdCh0LGUsbixvLGkpe2lmKG8+PS41KWZvcihsZXQgbz0wO28hPT1pOysrbyl0W2Urb109dFtuK29dfV9zbGVycCh0LGUsbixvKXtQc3Quc2xlcnBGbGF0KHQsZSx0LGUsdCxuLG8pfV9zbGVycEFkZGl0aXZlKHQsZSxuLG8saSl7Y29uc3QgYT10aGlzLl93b3JrSW5kZXgqaTtQc3QubXVsdGlwbHlRdWF0ZXJuaW9uc0ZsYXQodCxhLHQsZSx0LG4pLFBzdC5zbGVycEZsYXQodCxlLHQsZSx0LGEsbyl9X2xlcnAodCxlLG4sbyxpKXtjb25zdCBhPTEtbztmb3IobGV0IHI9MDtyIT09aTsrK3Ipe2NvbnN0IGk9ZStyO3RbaV09dFtpXSphK3RbbityXSpvfX1fbGVycEFkZGl0aXZlKHQsZSxuLG8saSl7Zm9yKGxldCBhPTA7YSE9PWk7KythKXtjb25zdCBpPWUrYTt0W2ldPXRbaV0rdFtuK2FdKm99fX1jb25zdCBoZ3Q9IlxcW1xcXVxcLjpcXC8iLGJndD1uZXcgUmVnRXhwKCJbXFxbXFxdXFwuOlxcL10iLCJnIikseWd0PSJbXlxcW1xcXVxcLjpcXC9dIixfZ3Q9IlteIitoZ3QucmVwbGFjZSgiXFwuIiwiIikrIl0iLENndD0vKCg/OldDK1tcLzpdKSopLy5zb3VyY2UucmVwbGFjZSgiV0MiLHlndCksTWd0PS8oV0NPRCspPy8uc291cmNlLnJlcGxhY2UoIldDT0QiLF9ndCksdmd0PS8oPzpcLihXQyspKD86XFsoLispXF0pPyk/Ly5zb3VyY2UucmVwbGFjZSgiV0MiLHlndCkseGd0PS9cLihXQyspKD86XFsoLispXF0pPy8uc291cmNlLnJlcGxhY2UoIldDIix5Z3QpLE9ndD1uZXcgUmVnRXhwKCJeIitDZ3QrTWd0K3ZndCt4Z3QrIiQiKSxQZ3Q9WyJtYXRlcmlhbCIsIm1hdGVyaWFscyIsImJvbmVzIl07Y2xhc3Mgd2d0e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLnBhdGg9ZSx0aGlzLnBhcnNlZFBhdGg9bnx8d2d0LnBhcnNlVHJhY2tOYW1lKGUpLHRoaXMubm9kZT13Z3QuZmluZE5vZGUodCx0aGlzLnBhcnNlZFBhdGgubm9kZU5hbWUpfHx0LHRoaXMucm9vdE5vZGU9dCx0aGlzLmdldFZhbHVlPXRoaXMuX2dldFZhbHVlX3VuYm91bmQsdGhpcy5zZXRWYWx1ZT10aGlzLl9zZXRWYWx1ZV91bmJvdW5kfXN0YXRpYyBjcmVhdGUodCxlLG4pe3JldHVybiB0JiZ0LmlzQW5pbWF0aW9uT2JqZWN0R3JvdXA/bmV3IHdndC5Db21wb3NpdGUodCxlLG4pOm5ldyB3Z3QodCxlLG4pfXN0YXRpYyBzYW5pdGl6ZU5vZGVOYW1lKHQpe3JldHVybiB0LnJlcGxhY2UoL1xzL2csIl8iKS5yZXBsYWNlKGJndCwiIil9c3RhdGljIHBhcnNlVHJhY2tOYW1lKHQpe2NvbnN0IGU9T2d0LmV4ZWModCk7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJQcm9wZXJ0eUJpbmRpbmc6IENhbm5vdCBwYXJzZSB0cmFja05hbWU6ICIrdCk7Y29uc3Qgbj17bm9kZU5hbWU6ZVsyXSxvYmplY3ROYW1lOmVbM10sb2JqZWN0SW5kZXg6ZVs0XSxwcm9wZXJ0eU5hbWU6ZVs1XSxwcm9wZXJ0eUluZGV4OmVbNl19LG89bi5ub2RlTmFtZSYmbi5ub2RlTmFtZS5sYXN0SW5kZXhPZigiLiIpO2lmKHZvaWQgMCE9PW8mJi0xIT09byl7Y29uc3QgdD1uLm5vZGVOYW1lLnN1YnN0cmluZyhvKzEpOy0xIT09UGd0LmluZGV4T2YodCkmJihuLm5vZGVOYW1lPW4ubm9kZU5hbWUuc3Vic3RyaW5nKDAsbyksbi5vYmplY3ROYW1lPXQpfWlmKG51bGw9PT1uLnByb3BlcnR5TmFtZXx8MD09PW4ucHJvcGVydHlOYW1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlByb3BlcnR5QmluZGluZzogY2FuIG5vdCBwYXJzZSBwcm9wZXJ0eU5hbWUgZnJvbSB0cmFja05hbWU6ICIrdCk7cmV0dXJuIG59c3RhdGljIGZpbmROb2RlKHQsZSl7aWYoIWV8fCIiPT09ZXx8Ii4iPT09ZXx8LTE9PT1lfHxlPT09dC5uYW1lfHxlPT09dC51dWlkKXJldHVybiB0O2lmKHQuc2tlbGV0b24pe2NvbnN0IG49dC5za2VsZXRvbi5nZXRCb25lQnlOYW1lKGUpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG59aWYodC5jaGlsZHJlbil7Y29uc3Qgbj1mdW5jdGlvbih0KXtmb3IobGV0IG89MDtvPHQubGVuZ3RoO28rKyl7Y29uc3QgaT10W29dO2lmKGkubmFtZT09PWV8fGkudXVpZD09PWUpcmV0dXJuIGk7Y29uc3QgYT1uKGkuY2hpbGRyZW4pO2lmKGEpcmV0dXJuIGF9cmV0dXJuIG51bGx9LG89bih0LmNoaWxkcmVuKTtpZihvKXJldHVybiBvfXJldHVybiBudWxsfV9nZXRWYWx1ZV91bmF2YWlsYWJsZSgpe31fc2V0VmFsdWVfdW5hdmFpbGFibGUoKXt9X2dldFZhbHVlX2RpcmVjdCh0LGUpe3RbZV09dGhpcy5ub2RlW3RoaXMucHJvcGVydHlOYW1lXX1fZ2V0VmFsdWVfYXJyYXkodCxlKXtjb25zdCBuPXRoaXMucmVzb2x2ZWRQcm9wZXJ0eTtmb3IobGV0IG89MCxpPW4ubGVuZ3RoO28hPT1pOysrbyl0W2UrK109bltvXX1fZ2V0VmFsdWVfYXJyYXlFbGVtZW50KHQsZSl7dFtlXT10aGlzLnJlc29sdmVkUHJvcGVydHlbdGhpcy5wcm9wZXJ0eUluZGV4XX1fZ2V0VmFsdWVfdG9BcnJheSh0LGUpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eS50b0FycmF5KHQsZSl9X3NldFZhbHVlX2RpcmVjdCh0LGUpe3RoaXMudGFyZ2V0T2JqZWN0W3RoaXMucHJvcGVydHlOYW1lXT10W2VdfV9zZXRWYWx1ZV9kaXJlY3Rfc2V0TmVlZHNVcGRhdGUodCxlKXt0aGlzLnRhcmdldE9iamVjdFt0aGlzLnByb3BlcnR5TmFtZV09dFtlXSx0aGlzLnRhcmdldE9iamVjdC5uZWVkc1VwZGF0ZT0hMH1fc2V0VmFsdWVfZGlyZWN0X3NldE1hdHJpeFdvcmxkTmVlZHNVcGRhdGUodCxlKXt0aGlzLnRhcmdldE9iamVjdFt0aGlzLnByb3BlcnR5TmFtZV09dFtlXSx0aGlzLnRhcmdldE9iamVjdC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSEwfV9zZXRWYWx1ZV9hcnJheSh0LGUpe2NvbnN0IG49dGhpcy5yZXNvbHZlZFByb3BlcnR5O2ZvcihsZXQgbz0wLGk9bi5sZW5ndGg7byE9PWk7KytvKW5bb109dFtlKytdfV9zZXRWYWx1ZV9hcnJheV9zZXROZWVkc1VwZGF0ZSh0LGUpe2NvbnN0IG49dGhpcy5yZXNvbHZlZFByb3BlcnR5O2ZvcihsZXQgbz0wLGk9bi5sZW5ndGg7byE9PWk7KytvKW5bb109dFtlKytdO3RoaXMudGFyZ2V0T2JqZWN0Lm5lZWRzVXBkYXRlPSEwfV9zZXRWYWx1ZV9hcnJheV9zZXRNYXRyaXhXb3JsZE5lZWRzVXBkYXRlKHQsZSl7Y29uc3Qgbj10aGlzLnJlc29sdmVkUHJvcGVydHk7Zm9yKGxldCBvPTAsaT1uLmxlbmd0aDtvIT09aTsrK28pbltvXT10W2UrK107dGhpcy50YXJnZXRPYmplY3QubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMH1fc2V0VmFsdWVfYXJyYXlFbGVtZW50KHQsZSl7dGhpcy5yZXNvbHZlZFByb3BlcnR5W3RoaXMucHJvcGVydHlJbmRleF09dFtlXX1fc2V0VmFsdWVfYXJyYXlFbGVtZW50X3NldE5lZWRzVXBkYXRlKHQsZSl7dGhpcy5yZXNvbHZlZFByb3BlcnR5W3RoaXMucHJvcGVydHlJbmRleF09dFtlXSx0aGlzLnRhcmdldE9iamVjdC5uZWVkc1VwZGF0ZT0hMH1fc2V0VmFsdWVfYXJyYXlFbGVtZW50X3NldE1hdHJpeFdvcmxkTmVlZHNVcGRhdGUodCxlKXt0aGlzLnJlc29sdmVkUHJvcGVydHlbdGhpcy5wcm9wZXJ0eUluZGV4XT10W2VdLHRoaXMudGFyZ2V0T2JqZWN0Lm1hdHJpeFdvcmxkTmVlZHNVcGRhdGU9ITB9X3NldFZhbHVlX2Zyb21BcnJheSh0LGUpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eS5mcm9tQXJyYXkodCxlKX1fc2V0VmFsdWVfZnJvbUFycmF5X3NldE5lZWRzVXBkYXRlKHQsZSl7dGhpcy5yZXNvbHZlZFByb3BlcnR5LmZyb21BcnJheSh0LGUpLHRoaXMudGFyZ2V0T2JqZWN0Lm5lZWRzVXBkYXRlPSEwfV9zZXRWYWx1ZV9mcm9tQXJyYXlfc2V0TWF0cml4V29ybGROZWVkc1VwZGF0ZSh0LGUpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eS5mcm9tQXJyYXkodCxlKSx0aGlzLnRhcmdldE9iamVjdC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSEwfV9nZXRWYWx1ZV91bmJvdW5kKHQsZSl7dGhpcy5iaW5kKCksdGhpcy5nZXRWYWx1ZSh0LGUpfV9zZXRWYWx1ZV91bmJvdW5kKHQsZSl7dGhpcy5iaW5kKCksdGhpcy5zZXRWYWx1ZSh0LGUpfWJpbmQoKXtsZXQgdD10aGlzLm5vZGU7Y29uc3QgZT10aGlzLnBhcnNlZFBhdGgsbj1lLm9iamVjdE5hbWUsbz1lLnByb3BlcnR5TmFtZTtsZXQgaT1lLnByb3BlcnR5SW5kZXg7aWYodHx8KHQ9d2d0LmZpbmROb2RlKHRoaXMucm9vdE5vZGUsZS5ub2RlTmFtZSl8fHRoaXMucm9vdE5vZGUsdGhpcy5ub2RlPXQpLHRoaXMuZ2V0VmFsdWU9dGhpcy5fZ2V0VmFsdWVfdW5hdmFpbGFibGUsdGhpcy5zZXRWYWx1ZT10aGlzLl9zZXRWYWx1ZV91bmF2YWlsYWJsZSwhdClyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IFRyeWluZyB0byB1cGRhdGUgbm9kZSBmb3IgdHJhY2s6ICIrdGhpcy5wYXRoKyIgYnV0IGl0IHdhc24ndCBmb3VuZC4iKTtpZihuKXtsZXQgbz1lLm9iamVjdEluZGV4O3N3aXRjaChuKXtjYXNlIm1hdGVyaWFscyI6aWYoIXQubWF0ZXJpYWwpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbWF0ZXJpYWwgYXMgbm9kZSBkb2VzIG5vdCBoYXZlIGEgbWF0ZXJpYWwuIix0aGlzKTtpZighdC5tYXRlcmlhbC5tYXRlcmlhbHMpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbWF0ZXJpYWwubWF0ZXJpYWxzIGFzIG5vZGUubWF0ZXJpYWwgZG9lcyBub3QgaGF2ZSBhIG1hdGVyaWFscyBhcnJheS4iLHRoaXMpO3Q9dC5tYXRlcmlhbC5tYXRlcmlhbHM7YnJlYWs7Y2FzZSJib25lcyI6aWYoIXQuc2tlbGV0b24pcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gYm9uZXMgYXMgbm9kZSBkb2VzIG5vdCBoYXZlIGEgc2tlbGV0b24uIix0aGlzKTt0PXQuc2tlbGV0b24uYm9uZXM7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspaWYodFtlXS5uYW1lPT09byl7bz1lO2JyZWFrfWJyZWFrO2RlZmF1bHQ6aWYodm9pZCAwPT09dFtuXSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IENhbiBub3QgYmluZCB0byBvYmplY3ROYW1lIG9mIG5vZGUgdW5kZWZpbmVkLiIsdGhpcyk7dD10W25dfWlmKHZvaWQgMCE9PW8pe2lmKHZvaWQgMD09PXRbb10pcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBUcnlpbmcgdG8gYmluZCB0byBvYmplY3RJbmRleCBvZiBvYmplY3ROYW1lLCBidXQgaXMgdW5kZWZpbmVkLiIsdGhpcyx0KTt0PXRbb119fWNvbnN0IGE9dFtvXTtpZih2b2lkIDA9PT1hKXtyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IFRyeWluZyB0byB1cGRhdGUgcHJvcGVydHkgZm9yIHRyYWNrOiAiK2Uubm9kZU5hbWUrIi4iK28rIiBidXQgaXQgd2Fzbid0IGZvdW5kLiIsdCl9bGV0IHI9dGhpcy5WZXJzaW9uaW5nLk5vbmU7dGhpcy50YXJnZXRPYmplY3Q9dCx2b2lkIDAhPT10Lm5lZWRzVXBkYXRlP3I9dGhpcy5WZXJzaW9uaW5nLk5lZWRzVXBkYXRlOnZvaWQgMCE9PXQubWF0cml4V29ybGROZWVkc1VwZGF0ZSYmKHI9dGhpcy5WZXJzaW9uaW5nLk1hdHJpeFdvcmxkTmVlZHNVcGRhdGUpO2xldCBzPXRoaXMuQmluZGluZ1R5cGUuRGlyZWN0O2lmKHZvaWQgMCE9PWkpe2lmKCJtb3JwaFRhcmdldEluZmx1ZW5jZXMiPT09byl7aWYoIXQuZ2VvbWV0cnkpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbW9ycGhUYXJnZXRJbmZsdWVuY2VzIGJlY2F1c2Ugbm9kZSBkb2VzIG5vdCBoYXZlIGEgZ2VvbWV0cnkuIix0aGlzKTtpZighdC5nZW9tZXRyeS5pc0J1ZmZlckdlb21ldHJ5KXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogQ2FuIG5vdCBiaW5kIHRvIG1vcnBoVGFyZ2V0SW5mbHVlbmNlcyBvbiBUSFJFRS5HZW9tZXRyeS4gVXNlIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIix0aGlzKTtpZighdC5nZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbW9ycGhUYXJnZXRJbmZsdWVuY2VzIGJlY2F1c2Ugbm9kZSBkb2VzIG5vdCBoYXZlIGEgZ2VvbWV0cnkubW9ycGhBdHRyaWJ1dGVzLiIsdGhpcyk7dm9pZCAwIT09dC5tb3JwaFRhcmdldERpY3Rpb25hcnlbaV0mJihpPXQubW9ycGhUYXJnZXREaWN0aW9uYXJ5W2ldKX1zPXRoaXMuQmluZGluZ1R5cGUuQXJyYXlFbGVtZW50LHRoaXMucmVzb2x2ZWRQcm9wZXJ0eT1hLHRoaXMucHJvcGVydHlJbmRleD1pfWVsc2Ugdm9pZCAwIT09YS5mcm9tQXJyYXkmJnZvaWQgMCE9PWEudG9BcnJheT8ocz10aGlzLkJpbmRpbmdUeXBlLkhhc0Zyb21Ub0FycmF5LHRoaXMucmVzb2x2ZWRQcm9wZXJ0eT1hKTpBcnJheS5pc0FycmF5KGEpPyhzPXRoaXMuQmluZGluZ1R5cGUuRW50aXJlQXJyYXksdGhpcy5yZXNvbHZlZFByb3BlcnR5PWEpOnRoaXMucHJvcGVydHlOYW1lPW87dGhpcy5nZXRWYWx1ZT10aGlzLkdldHRlckJ5QmluZGluZ1R5cGVbc10sdGhpcy5zZXRWYWx1ZT10aGlzLlNldHRlckJ5QmluZGluZ1R5cGVBbmRWZXJzaW9uaW5nW3NdW3JdfXVuYmluZCgpe3RoaXMubm9kZT1udWxsLHRoaXMuZ2V0VmFsdWU9dGhpcy5fZ2V0VmFsdWVfdW5ib3VuZCx0aGlzLnNldFZhbHVlPXRoaXMuX3NldFZhbHVlX3VuYm91bmR9fXdndC5Db21wb3NpdGU9Y2xhc3N7Y29uc3RydWN0b3IodCxlLG4pe2NvbnN0IG89bnx8d2d0LnBhcnNlVHJhY2tOYW1lKGUpO3RoaXMuX3RhcmdldEdyb3VwPXQsdGhpcy5fYmluZGluZ3M9dC5zdWJzY3JpYmVfKGUsbyl9Z2V0VmFsdWUodCxlKXt0aGlzLmJpbmQoKTtjb25zdCBuPXRoaXMuX2JpbmRpbmdzW3RoaXMuX3RhcmdldEdyb3VwLm5DYWNoZWRPYmplY3RzX107dm9pZCAwIT09biYmbi5nZXRWYWx1ZSh0LGUpfXNldFZhbHVlKHQsZSl7Y29uc3Qgbj10aGlzLl9iaW5kaW5ncztmb3IobGV0IG89dGhpcy5fdGFyZ2V0R3JvdXAubkNhY2hlZE9iamVjdHNfLGk9bi5sZW5ndGg7byE9PWk7KytvKW5bb10uc2V0VmFsdWUodCxlKX1iaW5kKCl7Y29uc3QgdD10aGlzLl9iaW5kaW5ncztmb3IobGV0IGU9dGhpcy5fdGFyZ2V0R3JvdXAubkNhY2hlZE9iamVjdHNfLG49dC5sZW5ndGg7ZSE9PW47KytlKXRbZV0uYmluZCgpfXVuYmluZCgpe2NvbnN0IHQ9dGhpcy5fYmluZGluZ3M7Zm9yKGxldCBlPXRoaXMuX3RhcmdldEdyb3VwLm5DYWNoZWRPYmplY3RzXyxuPXQubGVuZ3RoO2UhPT1uOysrZSl0W2VdLnVuYmluZCgpfX0sd2d0LnByb3RvdHlwZS5CaW5kaW5nVHlwZT17RGlyZWN0OjAsRW50aXJlQXJyYXk6MSxBcnJheUVsZW1lbnQ6MixIYXNGcm9tVG9BcnJheTozfSx3Z3QucHJvdG90eXBlLlZlcnNpb25pbmc9e05vbmU6MCxOZWVkc1VwZGF0ZToxLE1hdHJpeFdvcmxkTmVlZHNVcGRhdGU6Mn0sd2d0LnByb3RvdHlwZS5HZXR0ZXJCeUJpbmRpbmdUeXBlPVt3Z3QucHJvdG90eXBlLl9nZXRWYWx1ZV9kaXJlY3Qsd2d0LnByb3RvdHlwZS5fZ2V0VmFsdWVfYXJyYXksd2d0LnByb3RvdHlwZS5fZ2V0VmFsdWVfYXJyYXlFbGVtZW50LHdndC5wcm90b3R5cGUuX2dldFZhbHVlX3RvQXJyYXldLHdndC5wcm90b3R5cGUuU2V0dGVyQnlCaW5kaW5nVHlwZUFuZFZlcnNpb25pbmc9W1t3Z3QucHJvdG90eXBlLl9zZXRWYWx1ZV9kaXJlY3Qsd2d0LnByb3RvdHlwZS5fc2V0VmFsdWVfZGlyZWN0X3NldE5lZWRzVXBkYXRlLHdndC5wcm90b3R5cGUuX3NldFZhbHVlX2RpcmVjdF9zZXRNYXRyaXhXb3JsZE5lZWRzVXBkYXRlXSxbd2d0LnByb3RvdHlwZS5fc2V0VmFsdWVfYXJyYXksd2d0LnByb3RvdHlwZS5fc2V0VmFsdWVfYXJyYXlfc2V0TmVlZHNVcGRhdGUsd2d0LnByb3RvdHlwZS5fc2V0VmFsdWVfYXJyYXlfc2V0TWF0cml4V29ybGROZWVkc1VwZGF0ZV0sW3dndC5wcm90b3R5cGUuX3NldFZhbHVlX2FycmF5RWxlbWVudCx3Z3QucHJvdG90eXBlLl9zZXRWYWx1ZV9hcnJheUVsZW1lbnRfc2V0TmVlZHNVcGRhdGUsd2d0LnByb3RvdHlwZS5fc2V0VmFsdWVfYXJyYXlFbGVtZW50X3NldE1hdHJpeFdvcmxkTmVlZHNVcGRhdGVdLFt3Z3QucHJvdG90eXBlLl9zZXRWYWx1ZV9mcm9tQXJyYXksd2d0LnByb3RvdHlwZS5fc2V0VmFsdWVfZnJvbUFycmF5X3NldE5lZWRzVXBkYXRlLHdndC5wcm90b3R5cGUuX3NldFZhbHVlX2Zyb21BcnJheV9zZXRNYXRyaXhXb3JsZE5lZWRzVXBkYXRlXV07Y2xhc3Mga2d0e2NvbnN0cnVjdG9yKHQsZSxuPW51bGwsbz1lLmJsZW5kTW9kZSl7dGhpcy5fbWl4ZXI9dCx0aGlzLl9jbGlwPWUsdGhpcy5fbG9jYWxSb290PW4sdGhpcy5ibGVuZE1vZGU9bztjb25zdCBpPWUudHJhY2tzLGE9aS5sZW5ndGgscj1uZXcgQXJyYXkoYSkscz17ZW5kaW5nU3RhcnQ6WnJ0LGVuZGluZ0VuZDpacnR9O2ZvcihsZXQgdD0wO3QhPT1hOysrdCl7Y29uc3QgZT1pW3RdLmNyZWF0ZUludGVycG9sYW50KG51bGwpO3JbdF09ZSxlLnNldHRpbmdzPXN9dGhpcy5faW50ZXJwb2xhbnRTZXR0aW5ncz1zLHRoaXMuX2ludGVycG9sYW50cz1yLHRoaXMuX3Byb3BlcnR5QmluZGluZ3M9bmV3IEFycmF5KGEpLHRoaXMuX2NhY2hlSW5kZXg9bnVsbCx0aGlzLl9ieUNsaXBDYWNoZUluZGV4PW51bGwsdGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ9bnVsbCx0aGlzLl93ZWlnaHRJbnRlcnBvbGFudD1udWxsLHRoaXMubG9vcD0yMjAxLHRoaXMuX2xvb3BDb3VudD0tMSx0aGlzLl9zdGFydFRpbWU9bnVsbCx0aGlzLnRpbWU9MCx0aGlzLnRpbWVTY2FsZT0xLHRoaXMuX2VmZmVjdGl2ZVRpbWVTY2FsZT0xLHRoaXMud2VpZ2h0PTEsdGhpcy5fZWZmZWN0aXZlV2VpZ2h0PTEsdGhpcy5yZXBldGl0aW9ucz0xLzAsdGhpcy5wYXVzZWQ9ITEsdGhpcy5lbmFibGVkPSEwLHRoaXMuY2xhbXBXaGVuRmluaXNoZWQ9ITEsdGhpcy56ZXJvU2xvcGVBdFN0YXJ0PSEwLHRoaXMuemVyb1Nsb3BlQXRFbmQ9ITB9cGxheSgpe3JldHVybiB0aGlzLl9taXhlci5fYWN0aXZhdGVBY3Rpb24odGhpcyksdGhpc31zdG9wKCl7cmV0dXJuIHRoaXMuX21peGVyLl9kZWFjdGl2YXRlQWN0aW9uKHRoaXMpLHRoaXMucmVzZXQoKX1yZXNldCgpe3JldHVybiB0aGlzLnBhdXNlZD0hMSx0aGlzLmVuYWJsZWQ9ITAsdGhpcy50aW1lPTAsdGhpcy5fbG9vcENvdW50PS0xLHRoaXMuX3N0YXJ0VGltZT1udWxsLHRoaXMuc3RvcEZhZGluZygpLnN0b3BXYXJwaW5nKCl9aXNSdW5uaW5nKCl7cmV0dXJuIHRoaXMuZW5hYmxlZCYmIXRoaXMucGF1c2VkJiYwIT09dGhpcy50aW1lU2NhbGUmJm51bGw9PT10aGlzLl9zdGFydFRpbWUmJnRoaXMuX21peGVyLl9pc0FjdGl2ZUFjdGlvbih0aGlzKX1pc1NjaGVkdWxlZCgpe3JldHVybiB0aGlzLl9taXhlci5faXNBY3RpdmVBY3Rpb24odGhpcyl9c3RhcnRBdCh0KXtyZXR1cm4gdGhpcy5fc3RhcnRUaW1lPXQsdGhpc31zZXRMb29wKHQsZSl7cmV0dXJuIHRoaXMubG9vcD10LHRoaXMucmVwZXRpdGlvbnM9ZSx0aGlzfXNldEVmZmVjdGl2ZVdlaWdodCh0KXtyZXR1cm4gdGhpcy53ZWlnaHQ9dCx0aGlzLl9lZmZlY3RpdmVXZWlnaHQ9dGhpcy5lbmFibGVkP3Q6MCx0aGlzLnN0b3BGYWRpbmcoKX1nZXRFZmZlY3RpdmVXZWlnaHQoKXtyZXR1cm4gdGhpcy5fZWZmZWN0aXZlV2VpZ2h0fWZhZGVJbih0KXtyZXR1cm4gdGhpcy5fc2NoZWR1bGVGYWRpbmcodCwwLDEpfWZhZGVPdXQodCl7cmV0dXJuIHRoaXMuX3NjaGVkdWxlRmFkaW5nKHQsMSwwKX1jcm9zc0ZhZGVGcm9tKHQsZSxuKXtpZih0LmZhZGVPdXQoZSksdGhpcy5mYWRlSW4oZSksbil7Y29uc3Qgbj10aGlzLl9jbGlwLmR1cmF0aW9uLG89dC5fY2xpcC5kdXJhdGlvbixpPW4vbzt0LndhcnAoMSxvL24sZSksdGhpcy53YXJwKGksMSxlKX1yZXR1cm4gdGhpc31jcm9zc0ZhZGVUbyh0LGUsbil7cmV0dXJuIHQuY3Jvc3NGYWRlRnJvbSh0aGlzLGUsbil9c3RvcEZhZGluZygpe2NvbnN0IHQ9dGhpcy5fd2VpZ2h0SW50ZXJwb2xhbnQ7cmV0dXJuIG51bGwhPT10JiYodGhpcy5fd2VpZ2h0SW50ZXJwb2xhbnQ9bnVsbCx0aGlzLl9taXhlci5fdGFrZUJhY2tDb250cm9sSW50ZXJwb2xhbnQodCkpLHRoaXN9c2V0RWZmZWN0aXZlVGltZVNjYWxlKHQpe3JldHVybiB0aGlzLnRpbWVTY2FsZT10LHRoaXMuX2VmZmVjdGl2ZVRpbWVTY2FsZT10aGlzLnBhdXNlZD8wOnQsdGhpcy5zdG9wV2FycGluZygpfWdldEVmZmVjdGl2ZVRpbWVTY2FsZSgpe3JldHVybiB0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGV9c2V0RHVyYXRpb24odCl7cmV0dXJuIHRoaXMudGltZVNjYWxlPXRoaXMuX2NsaXAuZHVyYXRpb24vdCx0aGlzLnN0b3BXYXJwaW5nKCl9c3luY1dpdGgodCl7cmV0dXJuIHRoaXMudGltZT10LnRpbWUsdGhpcy50aW1lU2NhbGU9dC50aW1lU2NhbGUsdGhpcy5zdG9wV2FycGluZygpfWhhbHQodCl7cmV0dXJuIHRoaXMud2FycCh0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGUsMCx0KX13YXJwKHQsZSxuKXtjb25zdCBvPXRoaXMuX21peGVyLGk9by50aW1lLGE9dGhpcy50aW1lU2NhbGU7bGV0IHI9dGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ7bnVsbD09PXImJihyPW8uX2xlbmRDb250cm9sSW50ZXJwb2xhbnQoKSx0aGlzLl90aW1lU2NhbGVJbnRlcnBvbGFudD1yKTtjb25zdCBzPXIucGFyYW1ldGVyUG9zaXRpb25zLGw9ci5zYW1wbGVWYWx1ZXM7cmV0dXJuIHNbMF09aSxzWzFdPWkrbixsWzBdPXQvYSxsWzFdPWUvYSx0aGlzfXN0b3BXYXJwaW5nKCl7Y29uc3QgdD10aGlzLl90aW1lU2NhbGVJbnRlcnBvbGFudDtyZXR1cm4gbnVsbCE9PXQmJih0aGlzLl90aW1lU2NhbGVJbnRlcnBvbGFudD1udWxsLHRoaXMuX21peGVyLl90YWtlQmFja0NvbnRyb2xJbnRlcnBvbGFudCh0KSksdGhpc31nZXRNaXhlcigpe3JldHVybiB0aGlzLl9taXhlcn1nZXRDbGlwKCl7cmV0dXJuIHRoaXMuX2NsaXB9Z2V0Um9vdCgpe3JldHVybiB0aGlzLl9sb2NhbFJvb3R8fHRoaXMuX21peGVyLl9yb290fV91cGRhdGUodCxlLG4sbyl7aWYoIXRoaXMuZW5hYmxlZClyZXR1cm4gdm9pZCB0aGlzLl91cGRhdGVXZWlnaHQodCk7Y29uc3QgaT10aGlzLl9zdGFydFRpbWU7aWYobnVsbCE9PWkpe2NvbnN0IG89KHQtaSkqbjtpZihvPDB8fDA9PT1uKXJldHVybjt0aGlzLl9zdGFydFRpbWU9bnVsbCxlPW4qb31lKj10aGlzLl91cGRhdGVUaW1lU2NhbGUodCk7Y29uc3QgYT10aGlzLl91cGRhdGVUaW1lKGUpLHI9dGhpcy5fdXBkYXRlV2VpZ2h0KHQpO2lmKHI+MCl7Y29uc3QgdD10aGlzLl9pbnRlcnBvbGFudHMsZT10aGlzLl9wcm9wZXJ0eUJpbmRpbmdzO3N3aXRjaCh0aGlzLmJsZW5kTW9kZSl7Y2FzZSAyNTAxOmZvcihsZXQgbj0wLG89dC5sZW5ndGg7biE9PW87KytuKXRbbl0uZXZhbHVhdGUoYSksZVtuXS5hY2N1bXVsYXRlQWRkaXRpdmUocik7YnJlYWs7Y2FzZSBKcnQ6ZGVmYXVsdDpmb3IobGV0IG49MCxpPXQubGVuZ3RoO24hPT1pOysrbil0W25dLmV2YWx1YXRlKGEpLGVbbl0uYWNjdW11bGF0ZShvLHIpfX19X3VwZGF0ZVdlaWdodCh0KXtsZXQgZT0wO2lmKHRoaXMuZW5hYmxlZCl7ZT10aGlzLndlaWdodDtjb25zdCBuPXRoaXMuX3dlaWdodEludGVycG9sYW50O2lmKG51bGwhPT1uKXtjb25zdCBvPW4uZXZhbHVhdGUodClbMF07ZSo9byx0Pm4ucGFyYW1ldGVyUG9zaXRpb25zWzFdJiYodGhpcy5zdG9wRmFkaW5nKCksMD09PW8mJih0aGlzLmVuYWJsZWQ9ITEpKX19cmV0dXJuIHRoaXMuX2VmZmVjdGl2ZVdlaWdodD1lLGV9X3VwZGF0ZVRpbWVTY2FsZSh0KXtsZXQgZT0wO2lmKCF0aGlzLnBhdXNlZCl7ZT10aGlzLnRpbWVTY2FsZTtjb25zdCBuPXRoaXMuX3RpbWVTY2FsZUludGVycG9sYW50O2lmKG51bGwhPT1uKXtlKj1uLmV2YWx1YXRlKHQpWzBdLHQ+bi5wYXJhbWV0ZXJQb3NpdGlvbnNbMV0mJih0aGlzLnN0b3BXYXJwaW5nKCksMD09PWU/dGhpcy5wYXVzZWQ9ITA6dGhpcy50aW1lU2NhbGU9ZSl9fXJldHVybiB0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGU9ZSxlfV91cGRhdGVUaW1lKHQpe2NvbnN0IGU9dGhpcy5fY2xpcC5kdXJhdGlvbixuPXRoaXMubG9vcDtsZXQgbz10aGlzLnRpbWUrdCxpPXRoaXMuX2xvb3BDb3VudDtjb25zdCBhPTIyMDI9PT1uO2lmKDA9PT10KXJldHVybi0xPT09aT9vOmEmJjE9PSgxJmkpP2UtbzpvO2lmKDIyMDA9PT1uKXstMT09PWkmJih0aGlzLl9sb29wQ291bnQ9MCx0aGlzLl9zZXRFbmRpbmdzKCEwLCEwLCExKSk7dDp7aWYobz49ZSlvPWU7ZWxzZXtpZighKG88MCkpe3RoaXMudGltZT1vO2JyZWFrIHR9bz0wfXRoaXMuY2xhbXBXaGVuRmluaXNoZWQ/dGhpcy5wYXVzZWQ9ITA6dGhpcy5lbmFibGVkPSExLHRoaXMudGltZT1vLHRoaXMuX21peGVyLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImZpbmlzaGVkIixhY3Rpb246dGhpcyxkaXJlY3Rpb246dDwwPy0xOjF9KX19ZWxzZXtpZigtMT09PWkmJih0Pj0wPyhpPTAsdGhpcy5fc2V0RW5kaW5ncyghMCwwPT09dGhpcy5yZXBldGl0aW9ucyxhKSk6dGhpcy5fc2V0RW5kaW5ncygwPT09dGhpcy5yZXBldGl0aW9ucywhMCxhKSksbz49ZXx8bzwwKXtjb25zdCBuPU1hdGguZmxvb3Ioby9lKTtvLT1lKm4saSs9TWF0aC5hYnMobik7Y29uc3Qgcj10aGlzLnJlcGV0aXRpb25zLWk7aWYocjw9MCl0aGlzLmNsYW1wV2hlbkZpbmlzaGVkP3RoaXMucGF1c2VkPSEwOnRoaXMuZW5hYmxlZD0hMSxvPXQ+MD9lOjAsdGhpcy50aW1lPW8sdGhpcy5fbWl4ZXIuZGlzcGF0Y2hFdmVudCh7dHlwZToiZmluaXNoZWQiLGFjdGlvbjp0aGlzLGRpcmVjdGlvbjp0PjA/MTotMX0pO2Vsc2V7aWYoMT09PXIpe2NvbnN0IGU9dDwwO3RoaXMuX3NldEVuZGluZ3MoZSwhZSxhKX1lbHNlIHRoaXMuX3NldEVuZGluZ3MoITEsITEsYSk7dGhpcy5fbG9vcENvdW50PWksdGhpcy50aW1lPW8sdGhpcy5fbWl4ZXIuZGlzcGF0Y2hFdmVudCh7dHlwZToibG9vcCIsYWN0aW9uOnRoaXMsbG9vcERlbHRhOm59KX19ZWxzZSB0aGlzLnRpbWU9bztpZihhJiYxPT0oMSZpKSlyZXR1cm4gZS1vfXJldHVybiBvfV9zZXRFbmRpbmdzKHQsZSxuKXtjb25zdCBvPXRoaXMuX2ludGVycG9sYW50U2V0dGluZ3M7bj8oby5lbmRpbmdTdGFydD1YcnQsby5lbmRpbmdFbmQ9WHJ0KTooby5lbmRpbmdTdGFydD10P3RoaXMuemVyb1Nsb3BlQXRTdGFydD9YcnQ6WnJ0OktydCxvLmVuZGluZ0VuZD1lP3RoaXMuemVyb1Nsb3BlQXRFbmQ/WHJ0OlpydDpLcnQpfV9zY2hlZHVsZUZhZGluZyh0LGUsbil7Y29uc3Qgbz10aGlzLl9taXhlcixpPW8udGltZTtsZXQgYT10aGlzLl93ZWlnaHRJbnRlcnBvbGFudDtudWxsPT09YSYmKGE9by5fbGVuZENvbnRyb2xJbnRlcnBvbGFudCgpLHRoaXMuX3dlaWdodEludGVycG9sYW50PWEpO2NvbnN0IHI9YS5wYXJhbWV0ZXJQb3NpdGlvbnMscz1hLnNhbXBsZVZhbHVlcztyZXR1cm4gclswXT1pLHNbMF09ZSxyWzFdPWkrdCxzWzFdPW4sdGhpc319KGNsYXNzIGV4dGVuZHMgcnN0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5fcm9vdD10LHRoaXMuX2luaXRNZW1vcnlNYW5hZ2VyKCksdGhpcy5fYWNjdUluZGV4PTAsdGhpcy50aW1lPTAsdGhpcy50aW1lU2NhbGU9MX1fYmluZEFjdGlvbih0LGUpe2NvbnN0IG49dC5fbG9jYWxSb290fHx0aGlzLl9yb290LG89dC5fY2xpcC50cmFja3MsaT1vLmxlbmd0aCxhPXQuX3Byb3BlcnR5QmluZGluZ3Mscj10Ll9pbnRlcnBvbGFudHMscz1uLnV1aWQsbD10aGlzLl9iaW5kaW5nc0J5Um9vdEFuZE5hbWU7bGV0IGM9bFtzXTt2b2lkIDA9PT1jJiYoYz17fSxsW3NdPWMpO2ZvcihsZXQgdD0wO3QhPT1pOysrdCl7Y29uc3QgaT1vW3RdLGw9aS5uYW1lO2xldCBkPWNbbF07aWYodm9pZCAwIT09ZClhW3RdPWQ7ZWxzZXtpZihkPWFbdF0sdm9pZCAwIT09ZCl7bnVsbD09PWQuX2NhY2hlSW5kZXgmJigrK2QucmVmZXJlbmNlQ291bnQsdGhpcy5fYWRkSW5hY3RpdmVCaW5kaW5nKGQscyxsKSk7Y29udGludWV9ZD1uZXcgZ2d0KHdndC5jcmVhdGUobixsLGUmJmUuX3Byb3BlcnR5QmluZGluZ3NbdF0uYmluZGluZy5wYXJzZWRQYXRoKSxpLlZhbHVlVHlwZU5hbWUsaS5nZXRWYWx1ZVNpemUoKSksKytkLnJlZmVyZW5jZUNvdW50LHRoaXMuX2FkZEluYWN0aXZlQmluZGluZyhkLHMsbCksYVt0XT1kfXJbdF0ucmVzdWx0QnVmZmVyPWQuYnVmZmVyfX1fYWN0aXZhdGVBY3Rpb24odCl7aWYoIXRoaXMuX2lzQWN0aXZlQWN0aW9uKHQpKXtpZihudWxsPT09dC5fY2FjaGVJbmRleCl7Y29uc3QgZT0odC5fbG9jYWxSb290fHx0aGlzLl9yb290KS51dWlkLG49dC5fY2xpcC51dWlkLG89dGhpcy5fYWN0aW9uc0J5Q2xpcFtuXTt0aGlzLl9iaW5kQWN0aW9uKHQsbyYmby5rbm93bkFjdGlvbnNbMF0pLHRoaXMuX2FkZEluYWN0aXZlQWN0aW9uKHQsbixlKX1jb25zdCBlPXQuX3Byb3BlcnR5QmluZGluZ3M7Zm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0IT09bjsrK3Qpe2NvbnN0IG49ZVt0XTswPT1uLnVzZUNvdW50KysmJih0aGlzLl9sZW5kQmluZGluZyhuKSxuLnNhdmVPcmlnaW5hbFN0YXRlKCkpfXRoaXMuX2xlbmRBY3Rpb24odCl9fV9kZWFjdGl2YXRlQWN0aW9uKHQpe2lmKHRoaXMuX2lzQWN0aXZlQWN0aW9uKHQpKXtjb25zdCBlPXQuX3Byb3BlcnR5QmluZGluZ3M7Zm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0IT09bjsrK3Qpe2NvbnN0IG49ZVt0XTswPT0tLW4udXNlQ291bnQmJihuLnJlc3RvcmVPcmlnaW5hbFN0YXRlKCksdGhpcy5fdGFrZUJhY2tCaW5kaW5nKG4pKX10aGlzLl90YWtlQmFja0FjdGlvbih0KX19X2luaXRNZW1vcnlNYW5hZ2VyKCl7dGhpcy5fYWN0aW9ucz1bXSx0aGlzLl9uQWN0aXZlQWN0aW9ucz0wLHRoaXMuX2FjdGlvbnNCeUNsaXA9e30sdGhpcy5fYmluZGluZ3M9W10sdGhpcy5fbkFjdGl2ZUJpbmRpbmdzPTAsdGhpcy5fYmluZGluZ3NCeVJvb3RBbmROYW1lPXt9LHRoaXMuX2NvbnRyb2xJbnRlcnBvbGFudHM9W10sdGhpcy5fbkFjdGl2ZUNvbnRyb2xJbnRlcnBvbGFudHM9MDtjb25zdCB0PXRoaXM7dGhpcy5zdGF0cz17YWN0aW9uczp7Z2V0IHRvdGFsKCl7cmV0dXJuIHQuX2FjdGlvbnMubGVuZ3RofSxnZXQgaW5Vc2UoKXtyZXR1cm4gdC5fbkFjdGl2ZUFjdGlvbnN9fSxiaW5kaW5nczp7Z2V0IHRvdGFsKCl7cmV0dXJuIHQuX2JpbmRpbmdzLmxlbmd0aH0sZ2V0IGluVXNlKCl7cmV0dXJuIHQuX25BY3RpdmVCaW5kaW5nc319LGNvbnRyb2xJbnRlcnBvbGFudHM6e2dldCB0b3RhbCgpe3JldHVybiB0Ll9jb250cm9sSW50ZXJwb2xhbnRzLmxlbmd0aH0sZ2V0IGluVXNlKCl7cmV0dXJuIHQuX25BY3RpdmVDb250cm9sSW50ZXJwb2xhbnRzfX19fV9pc0FjdGl2ZUFjdGlvbih0KXtjb25zdCBlPXQuX2NhY2hlSW5kZXg7cmV0dXJuIG51bGwhPT1lJiZlPHRoaXMuX25BY3RpdmVBY3Rpb25zfV9hZGRJbmFjdGl2ZUFjdGlvbih0LGUsbil7Y29uc3Qgbz10aGlzLl9hY3Rpb25zLGk9dGhpcy5fYWN0aW9uc0J5Q2xpcDtsZXQgYT1pW2VdO2lmKHZvaWQgMD09PWEpYT17a25vd25BY3Rpb25zOlt0XSxhY3Rpb25CeVJvb3Q6e319LHQuX2J5Q2xpcENhY2hlSW5kZXg9MCxpW2VdPWE7ZWxzZXtjb25zdCBlPWEua25vd25BY3Rpb25zO3QuX2J5Q2xpcENhY2hlSW5kZXg9ZS5sZW5ndGgsZS5wdXNoKHQpfXQuX2NhY2hlSW5kZXg9by5sZW5ndGgsby5wdXNoKHQpLGEuYWN0aW9uQnlSb290W25dPXR9X3JlbW92ZUluYWN0aXZlQWN0aW9uKHQpe2NvbnN0IGU9dGhpcy5fYWN0aW9ucyxuPWVbZS5sZW5ndGgtMV0sbz10Ll9jYWNoZUluZGV4O24uX2NhY2hlSW5kZXg9byxlW29dPW4sZS5wb3AoKSx0Ll9jYWNoZUluZGV4PW51bGw7Y29uc3QgaT10Ll9jbGlwLnV1aWQsYT10aGlzLl9hY3Rpb25zQnlDbGlwLHI9YVtpXSxzPXIua25vd25BY3Rpb25zLGw9c1tzLmxlbmd0aC0xXSxjPXQuX2J5Q2xpcENhY2hlSW5kZXg7bC5fYnlDbGlwQ2FjaGVJbmRleD1jLHNbY109bCxzLnBvcCgpLHQuX2J5Q2xpcENhY2hlSW5kZXg9bnVsbDtkZWxldGUgci5hY3Rpb25CeVJvb3RbKHQuX2xvY2FsUm9vdHx8dGhpcy5fcm9vdCkudXVpZF0sMD09PXMubGVuZ3RoJiZkZWxldGUgYVtpXSx0aGlzLl9yZW1vdmVJbmFjdGl2ZUJpbmRpbmdzRm9yQWN0aW9uKHQpfV9yZW1vdmVJbmFjdGl2ZUJpbmRpbmdzRm9yQWN0aW9uKHQpe2NvbnN0IGU9dC5fcHJvcGVydHlCaW5kaW5ncztmb3IobGV0IHQ9MCxuPWUubGVuZ3RoO3QhPT1uOysrdCl7Y29uc3Qgbj1lW3RdOzA9PS0tbi5yZWZlcmVuY2VDb3VudCYmdGhpcy5fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKG4pfX1fbGVuZEFjdGlvbih0KXtjb25zdCBlPXRoaXMuX2FjdGlvbnMsbj10Ll9jYWNoZUluZGV4LG89dGhpcy5fbkFjdGl2ZUFjdGlvbnMrKyxpPWVbb107dC5fY2FjaGVJbmRleD1vLGVbb109dCxpLl9jYWNoZUluZGV4PW4sZVtuXT1pfV90YWtlQmFja0FjdGlvbih0KXtjb25zdCBlPXRoaXMuX2FjdGlvbnMsbj10Ll9jYWNoZUluZGV4LG89LS10aGlzLl9uQWN0aXZlQWN0aW9ucyxpPWVbb107dC5fY2FjaGVJbmRleD1vLGVbb109dCxpLl9jYWNoZUluZGV4PW4sZVtuXT1pfV9hZGRJbmFjdGl2ZUJpbmRpbmcodCxlLG4pe2NvbnN0IG89dGhpcy5fYmluZGluZ3NCeVJvb3RBbmROYW1lLGk9dGhpcy5fYmluZGluZ3M7bGV0IGE9b1tlXTt2b2lkIDA9PT1hJiYoYT17fSxvW2VdPWEpLGFbbl09dCx0Ll9jYWNoZUluZGV4PWkubGVuZ3RoLGkucHVzaCh0KX1fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKHQpe2NvbnN0IGU9dGhpcy5fYmluZGluZ3Msbj10LmJpbmRpbmcsbz1uLnJvb3ROb2RlLnV1aWQsaT1uLnBhdGgsYT10aGlzLl9iaW5kaW5nc0J5Um9vdEFuZE5hbWUscj1hW29dLHM9ZVtlLmxlbmd0aC0xXSxsPXQuX2NhY2hlSW5kZXg7cy5fY2FjaGVJbmRleD1sLGVbbF09cyxlLnBvcCgpLGRlbGV0ZSByW2ldLDA9PT1PYmplY3Qua2V5cyhyKS5sZW5ndGgmJmRlbGV0ZSBhW29dfV9sZW5kQmluZGluZyh0KXtjb25zdCBlPXRoaXMuX2JpbmRpbmdzLG49dC5fY2FjaGVJbmRleCxvPXRoaXMuX25BY3RpdmVCaW5kaW5ncysrLGk9ZVtvXTt0Ll9jYWNoZUluZGV4PW8sZVtvXT10LGkuX2NhY2hlSW5kZXg9bixlW25dPWl9X3Rha2VCYWNrQmluZGluZyh0KXtjb25zdCBlPXRoaXMuX2JpbmRpbmdzLG49dC5fY2FjaGVJbmRleCxvPS0tdGhpcy5fbkFjdGl2ZUJpbmRpbmdzLGk9ZVtvXTt0Ll9jYWNoZUluZGV4PW8sZVtvXT10LGkuX2NhY2hlSW5kZXg9bixlW25dPWl9X2xlbmRDb250cm9sSW50ZXJwb2xhbnQoKXtjb25zdCB0PXRoaXMuX2NvbnRyb2xJbnRlcnBvbGFudHMsZT10aGlzLl9uQWN0aXZlQ29udHJvbEludGVycG9sYW50cysrO2xldCBuPXRbZV07cmV0dXJuIHZvaWQgMD09PW4mJihuPW5ldyBSdXQobmV3IEZsb2F0MzJBcnJheSgyKSxuZXcgRmxvYXQzMkFycmF5KDIpLDEsdGhpcy5fY29udHJvbEludGVycG9sYW50c1Jlc3VsdEJ1ZmZlciksbi5fX2NhY2hlSW5kZXg9ZSx0W2VdPW4pLG59X3Rha2VCYWNrQ29udHJvbEludGVycG9sYW50KHQpe2NvbnN0IGU9dGhpcy5fY29udHJvbEludGVycG9sYW50cyxuPXQuX19jYWNoZUluZGV4LG89LS10aGlzLl9uQWN0aXZlQ29udHJvbEludGVycG9sYW50cyxpPWVbb107dC5fX2NhY2hlSW5kZXg9byxlW29dPXQsaS5fX2NhY2hlSW5kZXg9bixlW25dPWl9Y2xpcEFjdGlvbih0LGUsbil7Y29uc3Qgbz1lfHx0aGlzLl9yb290LGk9by51dWlkO2xldCBhPSJzdHJpbmciPT10eXBlb2YgdD9CdXQuZmluZEJ5TmFtZShvLHQpOnQ7Y29uc3Qgcj1udWxsIT09YT9hLnV1aWQ6dCxzPXRoaXMuX2FjdGlvbnNCeUNsaXBbcl07bGV0IGw9bnVsbDtpZih2b2lkIDA9PT1uJiYobj1udWxsIT09YT9hLmJsZW5kTW9kZTpKcnQpLHZvaWQgMCE9PXMpe2NvbnN0IHQ9cy5hY3Rpb25CeVJvb3RbaV07aWYodm9pZCAwIT09dCYmdC5ibGVuZE1vZGU9PT1uKXJldHVybiB0O2w9cy5rbm93bkFjdGlvbnNbMF0sbnVsbD09PWEmJihhPWwuX2NsaXApfWlmKG51bGw9PT1hKXJldHVybiBudWxsO2NvbnN0IGM9bmV3IGtndCh0aGlzLGEsZSxuKTtyZXR1cm4gdGhpcy5fYmluZEFjdGlvbihjLGwpLHRoaXMuX2FkZEluYWN0aXZlQWN0aW9uKGMscixpKSxjfWV4aXN0aW5nQWN0aW9uKHQsZSl7Y29uc3Qgbj1lfHx0aGlzLl9yb290LG89bi51dWlkLGk9InN0cmluZyI9PXR5cGVvZiB0P0J1dC5maW5kQnlOYW1lKG4sdCk6dCxhPXRoaXMuX2FjdGlvbnNCeUNsaXBbaT9pLnV1aWQ6dF07cmV0dXJuIHZvaWQgMCE9PWEmJmEuYWN0aW9uQnlSb290W29dfHxudWxsfXN0b3BBbGxBY3Rpb24oKXtjb25zdCB0PXRoaXMuX2FjdGlvbnM7Zm9yKGxldCBlPXRoaXMuX25BY3RpdmVBY3Rpb25zLTE7ZT49MDstLWUpdFtlXS5zdG9wKCk7cmV0dXJuIHRoaXN9dXBkYXRlKHQpe2NvbnN0IGU9dGhpcy5fYWN0aW9ucyxuPXRoaXMuX25BY3RpdmVBY3Rpb25zLG89dGhpcy50aW1lKz10Kj10aGlzLnRpbWVTY2FsZSxpPU1hdGguc2lnbih0KSxhPXRoaXMuX2FjY3VJbmRleF49MTtmb3IobGV0IHI9MDtyIT09bjsrK3Ipe2Vbcl0uX3VwZGF0ZShvLHQsaSxhKX1jb25zdCByPXRoaXMuX2JpbmRpbmdzLHM9dGhpcy5fbkFjdGl2ZUJpbmRpbmdzO2ZvcihsZXQgdD0wO3QhPT1zOysrdClyW3RdLmFwcGx5KGEpO3JldHVybiB0aGlzfXNldFRpbWUodCl7dGhpcy50aW1lPTA7Zm9yKGxldCB0PTA7dDx0aGlzLl9hY3Rpb25zLmxlbmd0aDt0KyspdGhpcy5fYWN0aW9uc1t0XS50aW1lPTA7cmV0dXJuIHRoaXMudXBkYXRlKHQpfWdldFJvb3QoKXtyZXR1cm4gdGhpcy5fcm9vdH11bmNhY2hlQ2xpcCh0KXtjb25zdCBlPXRoaXMuX2FjdGlvbnMsbj10LnV1aWQsbz10aGlzLl9hY3Rpb25zQnlDbGlwLGk9b1tuXTtpZih2b2lkIDAhPT1pKXtjb25zdCB0PWkua25vd25BY3Rpb25zO2ZvcihsZXQgbj0wLG89dC5sZW5ndGg7biE9PW87KytuKXtjb25zdCBvPXRbbl07dGhpcy5fZGVhY3RpdmF0ZUFjdGlvbihvKTtjb25zdCBpPW8uX2NhY2hlSW5kZXgsYT1lW2UubGVuZ3RoLTFdO28uX2NhY2hlSW5kZXg9bnVsbCxvLl9ieUNsaXBDYWNoZUluZGV4PW51bGwsYS5fY2FjaGVJbmRleD1pLGVbaV09YSxlLnBvcCgpLHRoaXMuX3JlbW92ZUluYWN0aXZlQmluZGluZ3NGb3JBY3Rpb24obyl9ZGVsZXRlIG9bbl19fXVuY2FjaGVSb290KHQpe2NvbnN0IGU9dC51dWlkLG49dGhpcy5fYWN0aW9uc0J5Q2xpcDtmb3IoY29uc3QgdCBpbiBuKXtjb25zdCBvPW5bdF0uYWN0aW9uQnlSb290W2VdO3ZvaWQgMCE9PW8mJih0aGlzLl9kZWFjdGl2YXRlQWN0aW9uKG8pLHRoaXMuX3JlbW92ZUluYWN0aXZlQWN0aW9uKG8pKX1jb25zdCBvPXRoaXMuX2JpbmRpbmdzQnlSb290QW5kTmFtZVtlXTtpZih2b2lkIDAhPT1vKWZvcihjb25zdCB0IGluIG8pe2NvbnN0IGU9b1t0XTtlLnJlc3RvcmVPcmlnaW5hbFN0YXRlKCksdGhpcy5fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKGUpfX11bmNhY2hlQWN0aW9uKHQsZSl7Y29uc3Qgbj10aGlzLmV4aXN0aW5nQWN0aW9uKHQsZSk7bnVsbCE9PW4mJih0aGlzLl9kZWFjdGl2YXRlQWN0aW9uKG4pLHRoaXMuX3JlbW92ZUluYWN0aXZlQWN0aW9uKG4pKX19KS5wcm90b3R5cGUuX2NvbnRyb2xJbnRlcnBvbGFudHNSZXN1bHRCdWZmZXI9bmV3IEZsb2F0MzJBcnJheSgxKTsoY2xhc3MgZXh0ZW5kcyBMbXR7Y29uc3RydWN0b3IodCxlLG49MSl7c3VwZXIodCxlKSx0aGlzLm1lc2hQZXJBdHRyaWJ1dGU9bn1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMubWVzaFBlckF0dHJpYnV0ZT10Lm1lc2hQZXJBdHRyaWJ1dGUsdGhpc31jbG9uZSh0KXtjb25zdCBlPXN1cGVyLmNsb25lKHQpO3JldHVybiBlLm1lc2hQZXJBdHRyaWJ1dGU9dGhpcy5tZXNoUGVyQXR0cmlidXRlLGV9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO3JldHVybiBlLmlzSW5zdGFuY2VkSW50ZXJsZWF2ZWRCdWZmZXI9ITAsZS5tZXNoUGVyQXR0cmlidXRlPXRoaXMubWVzaFBlckF0dHJpYnV0ZSxlfX0pLnByb3RvdHlwZS5pc0luc3RhbmNlZEludGVybGVhdmVkQnVmZmVyPSEwOyhjbGFzcyBleHRlbmRzIFNsdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMubWF0ZXJpYWw9dCx0aGlzLnJlbmRlcj1mdW5jdGlvbigpe30sdGhpcy5oYXNQb3NpdGlvbnM9ITEsdGhpcy5oYXNOb3JtYWxzPSExLHRoaXMuaGFzQ29sb3JzPSExLHRoaXMuaGFzVXZzPSExLHRoaXMucG9zaXRpb25BcnJheT1udWxsLHRoaXMubm9ybWFsQXJyYXk9bnVsbCx0aGlzLmNvbG9yQXJyYXk9bnVsbCx0aGlzLnV2QXJyYXk9bnVsbCx0aGlzLmNvdW50PTB9fSkucHJvdG90eXBlLmlzSW1tZWRpYXRlUmVuZGVyT2JqZWN0PSEwO2NvbnN0IFNndD1uZXcgd3N0LERndD1uZXcgb2x0LFJndD1uZXcgb2x0O2Z1bmN0aW9uIEVndCh0KXtjb25zdCBlPVtdO3QmJnQuaXNCb25lJiZlLnB1c2godCk7Zm9yKGxldCBuPTA7bjx0LmNoaWxkcmVuLmxlbmd0aDtuKyspZS5wdXNoLmFwcGx5KGUsRWd0KHQuY2hpbGRyZW5bbl0pKTtyZXR1cm4gZX1jb25zdCBBZ3Q9bmV3IEZsb2F0MzJBcnJheSgxKTtmdW5jdGlvbiBUZ3QodCxlLG4pe2lmKDE9PT1uKXJldHVybiBuZXcgWmx0KGUpO2NvbnN0IG89ZzkoZSk7aWYoIW8pdGhyb3cgbmV3IEVycm9yKGBkMyBmYWlsZWQgdG8gcmVjb2duaXplIHRoZSBjb2xvcjogJHtlfWApO3JldHVybiBuZXcgWmx0KHV0dChvLHQpKDEtbikpfXZhciBOZ3Qsemd0O2Z1bmN0aW9uIElndCh0LGUpe2NvbnN0IG49ZS5sZW5ndGgvMjtsZXQgbz10LmF0dHJpYnV0ZXMucG9zaXRpb247byYmby5jb3VudD09PTMqbnx8KG89bmV3IFFsdChuZXcgRmxvYXQzMkFycmF5KDMqbiksMyksdC5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixvKSk7Y29uc3QgaT1vLmFycmF5O2ZvcihsZXQgdD0wO3Q8bjt0KyspaVszKnRdPWVbMip0XSxpWzMqdCsxXT1lWzIqdCsxXTtvLm5lZWRzVXBkYXRlPSEwLHQuc2V0RHJhd1JhbmdlKDAsMypuKSx0LmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpfWZ1bmN0aW9uIEhndCh0LGUsbil7Y29uc3Qgbz1NYXRoLm1heChlLmxlbmd0aC8yLTEsMCksaT0yKm8qMyxhPTMqaTtsZXQgcj10LmF0dHJpYnV0ZXMucG9zaXRpb247ciYmci5jb3VudD09PWl8fChyPW5ldyBRbHQobmV3IEZsb2F0MzJBcnJheShhKSwzKSx0LnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLHIpKTtjb25zdCBzPXIuYXJyYXk7Zm9yKGxldCB0PTA7dDxvO3QrKyl7Y29uc3RbbyxpLGEscl09W2VbMip0XSxlWzIqdCsxXSxlWzIqdCsyXSxlWzIqdCszXV0sbD1uZXcgZ3N0KG8saSksYz1uZXcgZ3N0KGEsciksZD1uZXcgZ3N0KGEtbyxyLWkpLHA9bmV3IGdzdCgtZC55LGQueCkuc2V0TGVuZ3RoKG4vMiksbT1sLmNsb25lKCkuYWRkKHApLGY9bC5jbG9uZSgpLnN1YihwKSx1PWMuY2xvbmUoKS5hZGQocCksZz1jLmNsb25lKCkuc3ViKHApLGg9W20ueCxtLnksMCxmLngsZi55LDAsdS54LHUueSwwLHUueCx1LnksMCxmLngsZi55LDAsZy54LGcueSwwXTtzLnNldChoLHQqaC5sZW5ndGgpfXIubmVlZHNVcGRhdGU9ITAsdC5zZXREcmF3UmFuZ2UoMCxhKSx0LmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpfWZ1bmN0aW9uIEZndCh0LGUsbixvKXtjb25zdHt2aXNpYmxlOmksY29sb3I6YSxvcGFjaXR5OnJ9PW87aWYoQXJyYXkuaXNBcnJheShlLm1hdGVyaWFsKSl0aHJvdyBuZXcgRXJyb3IoIkludmFyaWFudCBlcnJvcjogb25seSBleHBlY3Qgb25lIG1hdGVyaWFsIG9uIGFuIG9iamVjdCIpO2NvbnN0IHM9ZS5tYXRlcmlhbDtpZihzLnZpc2libGUhPT1pJiYocy52aXNpYmxlPWkscy5uZWVkc1VwZGF0ZT0hMCksIWkpcmV0dXJuITE7Y29uc3QgbD1UZ3QodCxhLG51bGwhPXI/cjoxKSxjPW4oZS5nZW9tZXRyeSk7ZS5nZW9tZXRyeSE9PWMmJihlLmdlb21ldHJ5PWMpO3JldHVybiBzLmNvbG9yLmVxdWFscyhsKXx8KHMuY29sb3Iuc2V0KGwpLHMubmVlZHNVcGRhdGU9ITApLCEwfW5ldyBJbnQzMkFycmF5KEFndC5idWZmZXIpLFJmdC5jcmVhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gY29uc29sZS5sb2coIlRIUkVFLkN1cnZlLmNyZWF0ZSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQiKSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFJmdC5wcm90b3R5cGUpLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXQsdC5wcm90b3R5cGUuZ2V0UG9pbnQ9ZSx0fSxKdXQucHJvdG90eXBlLmZyb21Qb2ludHM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUGF0aDogLmZyb21Qb2ludHMoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tUG9pbnRzKCkuIiksdGhpcy5zZXRGcm9tUG9pbnRzKHQpfSxjbGFzcyBleHRlbmRzIHZmdHtjb25zdHJ1Y3Rvcih0PTEwLGU9MTAsbj00NDczOTI0LG89ODk0Nzg0OCl7bj1uZXcgWmx0KG4pLG89bmV3IFpsdChvKTtjb25zdCBpPWUvMixhPXQvZSxyPXQvMixzPVtdLGw9W107Zm9yKGxldCB0PTAsYz0wLGQ9LXI7dDw9ZTt0KyssZCs9YSl7cy5wdXNoKC1yLDAsZCxyLDAsZCkscy5wdXNoKGQsMCwtcixkLDAscik7Y29uc3QgZT10PT09aT9uOm87ZS50b0FycmF5KGwsYyksYys9MyxlLnRvQXJyYXkobCxjKSxjKz0zLGUudG9BcnJheShsLGMpLGMrPTMsZS50b0FycmF5KGwsYyksYys9M31jb25zdCBjPW5ldyBkY3Q7Yy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgZWN0KHMsMykpLGMuc2V0QXR0cmlidXRlKCJjb2xvciIsbmV3IGVjdChsLDMpKTtzdXBlcihjLG5ldyBmZnQoe3ZlcnRleENvbG9yczohMCx0b25lTWFwcGVkOiExfSkpLHRoaXMudHlwZT0iR3JpZEhlbHBlciJ9fS5wcm90b3R5cGUuc2V0Q29sb3JzPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuR3JpZEhlbHBlcjogc2V0Q29sb3JzKCkgaGFzIGJlZW4gZGVwcmVjYXRlZCwgcGFzcyB0aGVtIGluIHRoZSBjb25zdHJ1Y3RvciBpbnN0ZWFkLiIpfSxjbGFzcyBleHRlbmRzIHZmdHtjb25zdHJ1Y3Rvcih0KXtjb25zdCBlPUVndCh0KSxuPW5ldyBkY3Qsbz1bXSxpPVtdLGE9bmV3IFpsdCgwLDAsMSkscj1uZXcgWmx0KDAsMSwwKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl7Y29uc3Qgbj1lW3RdO24ucGFyZW50JiZuLnBhcmVudC5pc0JvbmUmJihvLnB1c2goMCwwLDApLG8ucHVzaCgwLDAsMCksaS5wdXNoKGEucixhLmcsYS5iKSxpLnB1c2goci5yLHIuZyxyLmIpKX1uLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBlY3QobywzKSksbi5zZXRBdHRyaWJ1dGUoImNvbG9yIixuZXcgZWN0KGksMykpO3N1cGVyKG4sbmV3IGZmdCh7dmVydGV4Q29sb3JzOiEwLGRlcHRoVGVzdDohMSxkZXB0aFdyaXRlOiExLHRvbmVNYXBwZWQ6ITEsdHJhbnNwYXJlbnQ6ITB9KSksdGhpcy50eXBlPSJTa2VsZXRvbkhlbHBlciIsdGhpcy5pc1NrZWxldG9uSGVscGVyPSEwLHRoaXMucm9vdD10LHRoaXMuYm9uZXM9ZSx0aGlzLm1hdHJpeD10Lm1hdHJpeFdvcmxkLHRoaXMubWF0cml4QXV0b1VwZGF0ZT0hMX11cGRhdGVNYXRyaXhXb3JsZCh0KXtjb25zdCBlPXRoaXMuYm9uZXMsbj10aGlzLmdlb21ldHJ5LG89bi5nZXRBdHRyaWJ1dGUoInBvc2l0aW9uIik7Umd0LmNvcHkodGhpcy5yb290Lm1hdHJpeFdvcmxkKS5pbnZlcnQoKTtmb3IobGV0IHQ9MCxuPTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IGk9ZVt0XTtpLnBhcmVudCYmaS5wYXJlbnQuaXNCb25lJiYoRGd0Lm11bHRpcGx5TWF0cmljZXMoUmd0LGkubWF0cml4V29ybGQpLFNndC5zZXRGcm9tTWF0cml4UG9zaXRpb24oRGd0KSxvLnNldFhZWihuLFNndC54LFNndC55LFNndC56KSxEZ3QubXVsdGlwbHlNYXRyaWNlcyhSZ3QsaS5wYXJlbnQubWF0cml4V29ybGQpLFNndC5zZXRGcm9tTWF0cml4UG9zaXRpb24oRGd0KSxvLnNldFhZWihuKzEsU2d0LngsU2d0LnksU2d0LnopLG4rPTIpfW4uZ2V0QXR0cmlidXRlKCJwb3NpdGlvbiIpLm5lZWRzVXBkYXRlPSEwLHN1cGVyLnVwZGF0ZU1hdHJpeFdvcmxkKHQpfX0ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlNrZWxldG9uSGVscGVyOiB1cGRhdGUoKSBubyBsb25nZXIgbmVlZHMgdG8gYmUgY2FsbGVkLiIpfSxXdXQucHJvdG90eXBlLmV4dHJhY3RVcmxCYXNlPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkxvYWRlcjogLmV4dHJhY3RVcmxCYXNlKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIFRIUkVFLkxvYWRlclV0aWxzLmV4dHJhY3RVcmxCYXNlKCkgaW5zdGVhZC4iKSxjbGFzc3tzdGF0aWMgZGVjb2RlVGV4dCh0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFRleHREZWNvZGVyKXJldHVybihuZXcgVGV4dERlY29kZXIpLmRlY29kZSh0KTtsZXQgZT0iIjtmb3IobGV0IG49MCxvPXQubGVuZ3RoO248bztuKyspZSs9U3RyaW5nLmZyb21DaGFyQ29kZSh0W25dKTt0cnl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUoZSkpfWNhdGNoKHQpe3JldHVybiBlfX1zdGF0aWMgZXh0cmFjdFVybEJhc2UodCl7Y29uc3QgZT10Lmxhc3RJbmRleE9mKCIvIik7cmV0dXJuLTE9PT1lPyIuLyI6dC5zdWJzdHIoMCxlKzEpfX0uZXh0cmFjdFVybEJhc2UodCl9LFd1dC5IYW5kbGVycz17YWRkOmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTG9hZGVyOiBIYW5kbGVycy5hZGQoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgTG9hZGluZ01hbmFnZXIuYWRkSGFuZGxlcigpIGluc3RlYWQuIil9LGdldDpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkxvYWRlcjogSGFuZGxlcnMuZ2V0KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIExvYWRpbmdNYW5hZ2VyLmdldEhhbmRsZXIoKSBpbnN0ZWFkLiIpfX0sRHN0LnByb3RvdHlwZS5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmNlbnRlcigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldENlbnRlcigpLiIpLHRoaXMuZ2V0Q2VudGVyKHQpfSxEc3QucHJvdG90eXBlLmVtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmVtcHR5KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaXNFbXB0eSgpLiIpLHRoaXMuaXNFbXB0eSgpfSxEc3QucHJvdG90eXBlLmlzSW50ZXJzZWN0aW9uQm94PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5pc0ludGVyc2VjdGlvbkJveCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNCb3goKS4iKSx0aGlzLmludGVyc2VjdHNCb3godCl9LERzdC5wcm90b3R5cGUuaXNJbnRlcnNlY3Rpb25TcGhlcmU9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmlzSW50ZXJzZWN0aW9uU3BoZXJlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c1NwaGVyZSgpLiIpLHRoaXMuaW50ZXJzZWN0c1NwaGVyZSh0KX0sRHN0LnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5zaXplKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0U2l6ZSgpLiIpLHRoaXMuZ2V0U2l6ZSh0KX0sWnN0LnByb3RvdHlwZS5lbXB0eT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlNwaGVyZTogLmVtcHR5KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaXNFbXB0eSgpLiIpLHRoaXMuaXNFbXB0eSgpfSxxY3QucHJvdG90eXBlLnNldEZyb21NYXRyaXg9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuRnJ1c3R1bTogLnNldEZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tUHJvamVjdGlvbk1hdHJpeCgpLiIpLHRoaXMuc2V0RnJvbVByb2plY3Rpb25NYXRyaXgodCl9LGhzdC5wcm90b3R5cGUuZmxhdHRlblRvQXJyYXlPZmZzZXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXgzOiAuZmxhdHRlblRvQXJyYXlPZmZzZXQoKSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgLnRvQXJyYXkoKSBpbnN0ZWFkLiIpLHRoaXMudG9BcnJheSh0LGUpfSxoc3QucHJvdG90eXBlLm11bHRpcGx5VmVjdG9yMz1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXgzOiAubXVsdGlwbHlWZWN0b3IzKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDMoIG1hdHJpeCApIGluc3RlYWQuIiksdC5hcHBseU1hdHJpeDModGhpcyl9LGhzdC5wcm90b3R5cGUubXVsdGlwbHlWZWN0b3IzQXJyYXk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXgzOiAubXVsdGlwbHlWZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxoc3QucHJvdG90eXBlLmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGU9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4MzogLmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGUoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgYXR0cmlidXRlLmFwcGx5TWF0cml4MyggbWF0cml4ICkgaW5zdGVhZC4iKSx0LmFwcGx5TWF0cml4Myh0aGlzKX0saHN0LnByb3RvdHlwZS5hcHBseVRvVmVjdG9yM0FycmF5PWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4MzogLmFwcGx5VG9WZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxoc3QucHJvdG90eXBlLmdldEludmVyc2U9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4MzogLmdldEludmVyc2UoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbWF0cml4SW52LmNvcHkoIG1hdHJpeCApLmludmVydCgpOyBpbnN0ZWFkLiIpLHRoaXMuY29weSh0KS5pbnZlcnQoKX0sb2x0LnByb3RvdHlwZS5leHRyYWN0UG9zaXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmV4dHJhY3RQb3NpdGlvbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmNvcHlQb3NpdGlvbigpLiIpLHRoaXMuY29weVBvc2l0aW9uKHQpfSxvbHQucHJvdG90eXBlLmZsYXR0ZW5Ub0FycmF5T2Zmc2V0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmZsYXR0ZW5Ub0FycmF5T2Zmc2V0KCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC50b0FycmF5KCkgaW5zdGVhZC4iKSx0aGlzLnRvQXJyYXkodCxlKX0sb2x0LnByb3RvdHlwZS5nZXRQb3NpdGlvbj1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5nZXRQb3NpdGlvbigpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBWZWN0b3IzLnNldEZyb21NYXRyaXhQb3NpdGlvbiggbWF0cml4ICkgaW5zdGVhZC4iKSwobmV3IHdzdCkuc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDMpfSxvbHQucHJvdG90eXBlLnNldFJvdGF0aW9uRnJvbVF1YXRlcm5pb249ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLnNldFJvdGF0aW9uRnJvbVF1YXRlcm5pb24oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbigpLiIpLHRoaXMubWFrZVJvdGF0aW9uRnJvbVF1YXRlcm5pb24odCl9LG9sdC5wcm90b3R5cGUubXVsdGlwbHlUb0FycmF5PWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlUb0FycmF5KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sb2x0LnByb3RvdHlwZS5tdWx0aXBseVZlY3RvcjM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm11bHRpcGx5VmVjdG9yMygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSB2ZWN0b3IuYXBwbHlNYXRyaXg0KCBtYXRyaXggKSBpbnN0ZWFkLiIpLHQuYXBwbHlNYXRyaXg0KHRoaXMpfSxvbHQucHJvdG90eXBlLm11bHRpcGx5VmVjdG9yND1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlWZWN0b3I0KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIiksdC5hcHBseU1hdHJpeDQodGhpcyl9LG9sdC5wcm90b3R5cGUubXVsdGlwbHlWZWN0b3IzQXJyYXk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlWZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxvbHQucHJvdG90eXBlLnJvdGF0ZUF4aXM9ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlQXhpcygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBWZWN0b3IzLnRyYW5zZm9ybURpcmVjdGlvbiggbWF0cml4ICkgaW5zdGVhZC4iKSx0LnRyYW5zZm9ybURpcmVjdGlvbih0aGlzKX0sb2x0LnByb3RvdHlwZS5jcm9zc1ZlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAuY3Jvc3NWZWN0b3IoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdmVjdG9yLmFwcGx5TWF0cml4NCggbWF0cml4ICkgaW5zdGVhZC4iKSx0LmFwcGx5TWF0cml4NCh0aGlzKX0sb2x0LnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAudHJhbnNsYXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sb2x0LnByb3RvdHlwZS5yb3RhdGVYPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4NDogLnJvdGF0ZVgoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxvbHQucHJvdG90eXBlLnJvdGF0ZVk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlWSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LG9sdC5wcm90b3R5cGUucm90YXRlWj1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5yb3RhdGVaKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sb2x0LnByb3RvdHlwZS5yb3RhdGVCeUF4aXM9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlQnlBeGlzKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sb2x0LnByb3RvdHlwZS5hcHBseVRvQnVmZmVyQXR0cmlidXRlPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5hcHBseVRvQnVmZmVyQXR0cmlidXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIGF0dHJpYnV0ZS5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIiksdC5hcHBseU1hdHJpeDQodGhpcyl9LG9sdC5wcm90b3R5cGUuYXBwbHlUb1ZlY3RvcjNBcnJheT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5hcHBseVRvVmVjdG9yM0FycmF5KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sb2x0LnByb3RvdHlwZS5tYWtlRnJ1c3R1bT1mdW5jdGlvbih0LGUsbixvLGksYSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm1ha2VGcnVzdHVtKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5tYWtlUGVyc3BlY3RpdmUoIGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbSwgbmVhciwgZmFyICkgaW5zdGVhZC4iKSx0aGlzLm1ha2VQZXJzcGVjdGl2ZSh0LGUsbyxuLGksYSl9LG9sdC5wcm90b3R5cGUuZ2V0SW52ZXJzZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAuZ2V0SW52ZXJzZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBtYXRyaXhJbnYuY29weSggbWF0cml4ICkuaW52ZXJ0KCk7IGluc3RlYWQuIiksdGhpcy5jb3B5KHQpLmludmVydCgpfSxXY3QucHJvdG90eXBlLmlzSW50ZXJzZWN0aW9uTGluZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5QbGFuZTogLmlzSW50ZXJzZWN0aW9uTGluZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNMaW5lKCkuIiksdGhpcy5pbnRlcnNlY3RzTGluZSh0KX0sUHN0LnByb3RvdHlwZS5tdWx0aXBseVZlY3RvcjM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUXVhdGVybmlvbjogLm11bHRpcGx5VmVjdG9yMygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBpcyBub3cgdmVjdG9yLmFwcGx5UXVhdGVybmlvbiggcXVhdGVybmlvbiApIGluc3RlYWQuIiksdC5hcHBseVF1YXRlcm5pb24odGhpcyl9LFBzdC5wcm90b3R5cGUuaW52ZXJzZT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlF1YXRlcm5pb246IC5pbnZlcnNlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byBpbnZlcnQoKS4iKSx0aGlzLmludmVydCgpfSxubHQucHJvdG90eXBlLmlzSW50ZXJzZWN0aW9uQm94PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlJheTogLmlzSW50ZXJzZWN0aW9uQm94KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c0JveCgpLiIpLHRoaXMuaW50ZXJzZWN0c0JveCh0KX0sbmx0LnByb3RvdHlwZS5pc0ludGVyc2VjdGlvblBsYW5lPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlJheTogLmlzSW50ZXJzZWN0aW9uUGxhbmUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pbnRlcnNlY3RzUGxhbmUoKS4iKSx0aGlzLmludGVyc2VjdHNQbGFuZSh0KX0sbmx0LnByb3RvdHlwZS5pc0ludGVyc2VjdGlvblNwaGVyZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5SYXk6IC5pc0ludGVyc2VjdGlvblNwaGVyZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNTcGhlcmUoKS4iKSx0aGlzLmludGVyc2VjdHNTcGhlcmUodCl9LExsdC5wcm90b3R5cGUuYXJlYT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlRyaWFuZ2xlOiAuYXJlYSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEFyZWEoKS4iKSx0aGlzLmdldEFyZWEoKX0sTGx0LnByb3RvdHlwZS5iYXJ5Y29vcmRGcm9tUG9pbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmJhcnljb29yZEZyb21Qb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEJhcnljb29yZCgpLiIpLHRoaXMuZ2V0QmFyeWNvb3JkKHQsZSl9LExsdC5wcm90b3R5cGUubWlkcG9pbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5taWRwb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE1pZHBvaW50KCkuIiksdGhpcy5nZXRNaWRwb2ludCh0KX0sTGx0LnByb3RvdHlwZW5vcm1hbD1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLm5vcm1hbCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE5vcm1hbCgpLiIpLHRoaXMuZ2V0Tm9ybWFsKHQpfSxMbHQucHJvdG90eXBlLnBsYW5lPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlRyaWFuZ2xlOiAucGxhbmUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXRQbGFuZSgpLiIpLHRoaXMuZ2V0UGxhbmUodCl9LExsdC5iYXJ5Y29vcmRGcm9tUG9pbnQ9ZnVuY3Rpb24odCxlLG4sbyxpKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmJhcnljb29yZEZyb21Qb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEJhcnljb29yZCgpLiIpLExsdC5nZXRCYXJ5Y29vcmQodCxlLG4sbyxpKX0sTGx0Lm5vcm1hbD1mdW5jdGlvbih0LGUsbixvKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLm5vcm1hbCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE5vcm1hbCgpLiIpLExsdC5nZXROb3JtYWwodCxlLG4sbyl9LFF1dC5wcm90b3R5cGUuZXh0cmFjdEFsbFBvaW50cz1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5TaGFwZTogLmV4dHJhY3RBbGxQb2ludHMoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLmV4dHJhY3RQb2ludHMoKSBpbnN0ZWFkLiIpLHRoaXMuZXh0cmFjdFBvaW50cyh0KX0sUXV0LnByb3RvdHlwZS5leHRydWRlPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlNoYXBlOiAuZXh0cnVkZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBFeHRydWRlR2VvbWV0cnkoKSBpbnN0ZWFkLiIpLG5ldyB4dXQodGhpcyx0KX0sUXV0LnByb3RvdHlwZS5tYWtlR2VvbWV0cnk9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuU2hhcGU6IC5tYWtlR2VvbWV0cnkoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgU2hhcGVHZW9tZXRyeSgpIGluc3RlYWQuIiksbmV3IFB1dCh0aGlzLHQpfSxnc3QucHJvdG90eXBlLmZyb21BdHRyaWJ1dGU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjI6IC5mcm9tQXR0cmlidXRlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpLHRoaXMuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LGUsbil9LGdzdC5wcm90b3R5cGUuZGlzdGFuY2VUb01hbmhhdHRhbj1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiAuZGlzdGFuY2VUb01hbmhhdHRhbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1hbmhhdHRhbkRpc3RhbmNlVG8oKS4iKSx0aGlzLm1hbmhhdHRhbkRpc3RhbmNlVG8odCl9LGdzdC5wcm90b3R5cGUubGVuZ3RoTWFuaGF0dGFuPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLmxlbmd0aE1hbmhhdHRhbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1hbmhhdHRhbkxlbmd0aCgpLiIpLHRoaXMubWFuaGF0dGFuTGVuZ3RoKCl9LHdzdC5wcm90b3R5cGUuc2V0RXVsZXJGcm9tUm90YXRpb25NYXRyaXg9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5WZWN0b3IzOiAuc2V0RXVsZXJGcm9tUm90YXRpb25NYXRyaXgoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgRXVsZXIuc2V0RnJvbVJvdGF0aW9uTWF0cml4KCkgaW5zdGVhZC4iKX0sd3N0LnByb3RvdHlwZS5zZXRFdWxlckZyb21RdWF0ZXJuaW9uPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuVmVjdG9yMzogLnNldEV1bGVyRnJvbVF1YXRlcm5pb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgRXVsZXIuc2V0RnJvbVF1YXRlcm5pb24oKSBpbnN0ZWFkLiIpfSx3c3QucHJvdG90eXBlLmdldFBvc2l0aW9uRnJvbU1hdHJpeD1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuZ2V0UG9zaXRpb25Gcm9tTWF0cml4KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKCkuIiksdGhpcy5zZXRGcm9tTWF0cml4UG9zaXRpb24odCl9LHdzdC5wcm90b3R5cGUuZ2V0U2NhbGVGcm9tTWF0cml4PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5nZXRTY2FsZUZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tTWF0cml4U2NhbGUoKS4iKSx0aGlzLnNldEZyb21NYXRyaXhTY2FsZSh0KX0sd3N0LnByb3RvdHlwZS5nZXRDb2x1bW5Gcm9tTWF0cml4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLmdldENvbHVtbkZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tTWF0cml4Q29sdW1uKCkuIiksdGhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKGUsdCl9LHdzdC5wcm90b3R5cGUuYXBwbHlQcm9qZWN0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5hcHBseVByb2plY3Rpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLmFwcGx5TWF0cml4NCggbSApIGluc3RlYWQuIiksdGhpcy5hcHBseU1hdHJpeDQodCl9LHdzdC5wcm90b3R5cGUuZnJvbUF0dHJpYnV0ZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLmZyb21BdHRyaWJ1dGUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5mcm9tQnVmZmVyQXR0cmlidXRlKCkuIiksdGhpcy5mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSxuKX0sd3N0LnByb3RvdHlwZS5kaXN0YW5jZVRvTWFuaGF0dGFuPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5kaXN0YW5jZVRvTWFuaGF0dGFuKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAubWFuaGF0dGFuRGlzdGFuY2VUbygpLiIpLHRoaXMubWFuaGF0dGFuRGlzdGFuY2VUbyh0KX0sd3N0LnByb3RvdHlwZS5sZW5ndGhNYW5oYXR0YW49ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAubGVuZ3RoTWFuaGF0dGFuKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAubWFuaGF0dGFuTGVuZ3RoKCkuIiksdGhpcy5tYW5oYXR0YW5MZW5ndGgoKX0sdnN0LnByb3RvdHlwZS5mcm9tQXR0cmlidXRlPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3I0OiAuZnJvbUF0dHJpYnV0ZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmZyb21CdWZmZXJBdHRyaWJ1dGUoKS4iKSx0aGlzLmZyb21CdWZmZXJBdHRyaWJ1dGUodCxlLG4pfSx2c3QucHJvdG90eXBlLmxlbmd0aE1hbmhhdHRhbj1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjQ6IC5sZW5ndGhNYW5oYXR0YW4oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5tYW5oYXR0YW5MZW5ndGgoKS4iKSx0aGlzLm1hbmhhdHRhbkxlbmd0aCgpfSxTbHQucHJvdG90eXBlLmdldENoaWxkQnlOYW1lPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAuZ2V0Q2hpbGRCeU5hbWUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXRPYmplY3RCeU5hbWUoKS4iKSx0aGlzLmdldE9iamVjdEJ5TmFtZSh0KX0sU2x0LnByb3RvdHlwZS5yZW5kZXJEZXB0aD1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5yZW5kZXJEZXB0aCBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLnJlbmRlck9yZGVyLCBpbnN0ZWFkLiIpfSxTbHQucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAudHJhbnNsYXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC50cmFuc2xhdGVPbkF4aXMoIGF4aXMsIGRpc3RhbmNlICkgaW5zdGVhZC4iKSx0aGlzLnRyYW5zbGF0ZU9uQXhpcyhlLHQpfSxTbHQucHJvdG90eXBlLmdldFdvcmxkUm90YXRpb249ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3QzRDogLmdldFdvcmxkUm90YXRpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuT2JqZWN0M0QuZ2V0V29ybGRRdWF0ZXJuaW9uKCB0YXJnZXQgKSBpbnN0ZWFkLiIpfSxTbHQucHJvdG90eXBlLmFwcGx5TWF0cml4PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAuYXBwbHlNYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5hcHBseU1hdHJpeDQoKS4iKSx0aGlzLmFwcGx5TWF0cml4NCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoU2x0LnByb3RvdHlwZSx7ZXVsZXJPcmRlcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5ldWxlck9yZGVyIGlzIG5vdyAucm90YXRpb24ub3JkZXIuIiksdGhpcy5yb3RhdGlvbi5vcmRlcn0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5ldWxlck9yZGVyIGlzIG5vdyAucm90YXRpb24ub3JkZXIuIiksdGhpcy5yb3RhdGlvbi5vcmRlcj10fX0sdXNlUXVhdGVybmlvbjp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnVzZVF1YXRlcm5pb24gaGFzIGJlZW4gcmVtb3ZlZC4gVGhlIGxpYnJhcnkgbm93IHVzZXMgcXVhdGVybmlvbnMgYnkgZGVmYXVsdC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnVzZVF1YXRlcm5pb24gaGFzIGJlZW4gcmVtb3ZlZC4gVGhlIGxpYnJhcnkgbm93IHVzZXMgcXVhdGVybmlvbnMgYnkgZGVmYXVsdC4iKX19fSksU2N0LnByb3RvdHlwZS5zZXREcmF3TW9kZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1lc2g6IC5zZXREcmF3TW9kZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFRoZSByZW5kZXJlciBub3cgYWx3YXlzIGFzc3VtZXMgVEhSRUUuVHJpYW5nbGVzRHJhd01vZGUuIFRyYW5zZm9ybSB5b3VyIGdlb21ldHJ5IHZpYSBCdWZmZXJHZW9tZXRyeVV0aWxzLnRvVHJpYW5nbGVzRHJhd01vZGUoKSBpZiBuZWNlc3NhcnkuIil9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFNjdC5wcm90b3R5cGUse2RyYXdNb2RlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS5lcnJvcigiVEhSRUUuTWVzaDogLmRyYXdNb2RlIGhhcyBiZWVuIHJlbW92ZWQuIFRoZSByZW5kZXJlciBub3cgYWx3YXlzIGFzc3VtZXMgVEhSRUUuVHJpYW5nbGVzRHJhd01vZGUuIiksMH0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWVzaDogLmRyYXdNb2RlIGhhcyBiZWVuIHJlbW92ZWQuIFRoZSByZW5kZXJlciBub3cgYWx3YXlzIGFzc3VtZXMgVEhSRUUuVHJpYW5nbGVzRHJhd01vZGUuIFRyYW5zZm9ybSB5b3VyIGdlb21ldHJ5IHZpYSBCdWZmZXJHZW9tZXRyeVV0aWxzLnRvVHJpYW5nbGVzRHJhd01vZGUoKSBpZiBuZWNlc3NhcnkuIil9fX0pLGxmdC5wcm90b3R5cGUuaW5pdEJvbmVzPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuU2tpbm5lZE1lc2g6IGluaXRCb25lcygpIGhhcyBiZWVuIHJlbW92ZWQuIil9LEljdC5wcm90b3R5cGUuc2V0TGVucz1mdW5jdGlvbih0LGUpe2NvbnNvbGUud2FybigiVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmEuc2V0TGVucyBpcyBkZXByZWNhdGVkLiBVc2UgLnNldEZvY2FsTGVuZ3RoIGFuZCAuZmlsbUdhdWdlIGZvciBhIHBob3RvZ3JhcGhpYyBzZXR1cC4iKSx2b2lkIDAhPT1lJiYodGhpcy5maWxtR2F1Z2U9ZSksdGhpcy5zZXRGb2NhbExlbmd0aCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoJHV0LnByb3RvdHlwZSx7b25seVNoYWRvdzp7c2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLm9ubHlTaGFkb3cgaGFzIGJlZW4gcmVtb3ZlZC4iKX19LHNoYWRvd0NhbWVyYUZvdjp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFGb3YgaXMgbm93IC5zaGFkb3cuY2FtZXJhLmZvdi4iKSx0aGlzLnNoYWRvdy5jYW1lcmEuZm92PXR9fSxzaGFkb3dDYW1lcmFMZWZ0OntzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYUxlZnQgaXMgbm93IC5zaGFkb3cuY2FtZXJhLmxlZnQuIiksdGhpcy5zaGFkb3cuY2FtZXJhLmxlZnQ9dH19LHNoYWRvd0NhbWVyYVJpZ2h0OntzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYVJpZ2h0IGlzIG5vdyAuc2hhZG93LmNhbWVyYS5yaWdodC4iKSx0aGlzLnNoYWRvdy5jYW1lcmEucmlnaHQ9dH19LHNoYWRvd0NhbWVyYVRvcDp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFUb3AgaXMgbm93IC5zaGFkb3cuY2FtZXJhLnRvcC4iKSx0aGlzLnNoYWRvdy5jYW1lcmEudG9wPXR9fSxzaGFkb3dDYW1lcmFCb3R0b206e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93Q2FtZXJhQm90dG9tIGlzIG5vdyAuc2hhZG93LmNhbWVyYS5ib3R0b20uIiksdGhpcy5zaGFkb3cuY2FtZXJhLmJvdHRvbT10fX0sc2hhZG93Q2FtZXJhTmVhcjp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFOZWFyIGlzIG5vdyAuc2hhZG93LmNhbWVyYS5uZWFyLiIpLHRoaXMuc2hhZG93LmNhbWVyYS5uZWFyPXR9fSxzaGFkb3dDYW1lcmFGYXI6e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93Q2FtZXJhRmFyIGlzIG5vdyAuc2hhZG93LmNhbWVyYS5mYXIuIiksdGhpcy5zaGFkb3cuY2FtZXJhLmZhcj10fX0sc2hhZG93Q2FtZXJhVmlzaWJsZTp7c2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYVZpc2libGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5DYW1lcmFIZWxwZXIoIGxpZ2h0LnNoYWRvdy5jYW1lcmEgKSBpbnN0ZWFkLiIpfX0sc2hhZG93Qmlhczp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dCaWFzIGlzIG5vdyAuc2hhZG93LmJpYXMuIiksdGhpcy5zaGFkb3cuYmlhcz10fX0sc2hhZG93RGFya25lc3M6e3NldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dEYXJrbmVzcyBoYXMgYmVlbiByZW1vdmVkLiIpfX0sc2hhZG93TWFwV2lkdGg6e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93TWFwV2lkdGggaXMgbm93IC5zaGFkb3cubWFwU2l6ZS53aWR0aC4iKSx0aGlzLnNoYWRvdy5tYXBTaXplLndpZHRoPXR9fSxzaGFkb3dNYXBIZWlnaHQ6e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93TWFwSGVpZ2h0IGlzIG5vdyAuc2hhZG93Lm1hcFNpemUuaGVpZ2h0LiIpLHRoaXMuc2hhZG93Lm1hcFNpemUuaGVpZ2h0PXR9fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFFsdC5wcm90b3R5cGUse2xlbmd0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAubGVuZ3RoIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuY291bnQgaW5zdGVhZC4iKSx0aGlzLmFycmF5Lmxlbmd0aH19LGR5bmFtaWM6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZTogLmR5bmFtaWMgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC51c2FnZSBpbnN0ZWFkLiIpLHRoaXMudXNhZ2U9PT1pc3R9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuZHluYW1pYyBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgLnVzYWdlIGluc3RlYWQuIiksdGhpcy5zZXRVc2FnZShpc3QpfX19KSxRbHQucHJvdG90eXBlLnNldER5bmFtaWM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuc2V0RHluYW1pYygpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuc2V0VXNhZ2UoKSBpbnN0ZWFkLiIpLHRoaXMuc2V0VXNhZ2UoITA9PT10P2lzdDpvc3QpLHRoaXN9LFFsdC5wcm90b3R5cGUuY29weUluZGljZXNBcnJheT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZTogLmNvcHlJbmRpY2VzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxRbHQucHJvdG90eXBlLnNldEFycmF5PWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuc2V0QXJyYXkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIEJ1ZmZlckdlb21ldHJ5IC5zZXRBdHRyaWJ1dGUgdG8gcmVwbGFjZS9yZXNpemUgYXR0cmlidXRlIGJ1ZmZlcnMiKX0sZGN0LnByb3RvdHlwZS5hZGRJbmRleD1mdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuYWRkSW5kZXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRJbmRleCgpLiIpLHRoaXMuc2V0SW5kZXgodCl9LGRjdC5wcm90b3R5cGUuYWRkQXR0cmlidXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5hZGRBdHRyaWJ1dGUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRBdHRyaWJ1dGUoKS4iKSxlJiZlLmlzQnVmZmVyQXR0cmlidXRlfHxlJiZlLmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGU/ImluZGV4Ij09PXQ/KGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnkuYWRkQXR0cmlidXRlOiBVc2UgLnNldEluZGV4KCkgZm9yIGluZGV4IGF0dHJpYnV0ZS4iKSx0aGlzLnNldEluZGV4KGUpLHRoaXMpOnRoaXMuc2V0QXR0cmlidXRlKHQsZSk6KGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5hZGRBdHRyaWJ1dGUoKSBub3cgZXhwZWN0cyAoIG5hbWUsIGF0dHJpYnV0ZSApLiIpLHRoaXMuc2V0QXR0cmlidXRlKHQsbmV3IFFsdChhcmd1bWVudHNbMV0sYXJndW1lbnRzWzJdKSkpfSxkY3QucHJvdG90eXBlLmFkZERyYXdDYWxsPWZ1bmN0aW9uKHQsZSxuKXt2b2lkIDAhPT1uJiZjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuYWRkRHJhd0NhbGwoKSBubyBsb25nZXIgc3VwcG9ydHMgaW5kZXhPZmZzZXQuIiksY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLmFkZERyYXdDYWxsKCkgaXMgbm93IC5hZGRHcm91cCgpLiIpLHRoaXMuYWRkR3JvdXAodCxlKX0sZGN0LnByb3RvdHlwZS5jbGVhckRyYXdDYWxscz1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5jbGVhckRyYXdDYWxscygpIGlzIG5vdyAuY2xlYXJHcm91cHMoKS4iKSx0aGlzLmNsZWFyR3JvdXBzKCl9LGRjdC5wcm90b3R5cGUuY29tcHV0ZU9mZnNldHM9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuY29tcHV0ZU9mZnNldHMoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxkY3QucHJvdG90eXBlLnJlbW92ZUF0dHJpYnV0ZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLnJlbW92ZUF0dHJpYnV0ZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmRlbGV0ZUF0dHJpYnV0ZSgpLiIpLHRoaXMuZGVsZXRlQXR0cmlidXRlKHQpfSxkY3QucHJvdG90eXBlLmFwcGx5TWF0cml4PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuYXBwbHlNYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5hcHBseU1hdHJpeDQoKS4iKSx0aGlzLmFwcGx5TWF0cml4NCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZGN0LnByb3RvdHlwZSx7ZHJhd2NhbGxzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5kcmF3Y2FsbHMgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ3JvdXBzLiIpLHRoaXMuZ3JvdXBzfX0sb2Zmc2V0czp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5vZmZzZXRzIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdyb3Vwcy4iKSx0aGlzLmdyb3Vwc319fSksTG10LnByb3RvdHlwZS5zZXREeW5hbWljPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkludGVybGVhdmVkQnVmZmVyOiAuc2V0RHluYW1pYygpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuc2V0VXNhZ2UoKSBpbnN0ZWFkLiIpLHRoaXMuc2V0VXNhZ2UoITA9PT10P2lzdDpvc3QpLHRoaXN9LExtdC5wcm90b3R5cGUuc2V0QXJyYXk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5JbnRlcmxlYXZlZEJ1ZmZlcjogLnNldEFycmF5IGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBCdWZmZXJHZW9tZXRyeSAuc2V0QXR0cmlidXRlIHRvIHJlcGxhY2UvcmVzaXplIGF0dHJpYnV0ZSBidWZmZXJzIil9LHh1dC5wcm90b3R5cGUuZ2V0QXJyYXlzPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuRXh0cnVkZUdlb21ldHJ5OiAuZ2V0QXJyYXlzKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0seHV0LnByb3RvdHlwZS5hZGRTaGFwZUxpc3Q9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5FeHRydWRlR2VvbWV0cnk6IC5hZGRTaGFwZUxpc3QoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSx4dXQucHJvdG90eXBlLmFkZFNoYXBlPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuRXh0cnVkZUdlb21ldHJ5OiAuYWRkU2hhcGUoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxGbXQucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5TY2VuZTogLmRpc3Bvc2UoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhWbHQucHJvdG90eXBlLHt3cmFwQXJvdW5kOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAud3JhcEFyb3VuZCBoYXMgYmVlbiByZW1vdmVkLiIpfSxzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAud3JhcEFyb3VuZCBoYXMgYmVlbiByZW1vdmVkLiIpfX0sb3ZlcmRyYXc6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0ZXJpYWw6IC5vdmVyZHJhdyBoYXMgYmVlbiByZW1vdmVkLiIpfSxzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAub3ZlcmRyYXcgaGFzIGJlZW4gcmVtb3ZlZC4iKX19LHdyYXBSR0I6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAud3JhcFJHQiBoYXMgYmVlbiByZW1vdmVkLiIpLG5ldyBabHR9fSxzaGFkaW5nOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAuc2hhZGluZyBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdGhlIGJvb2xlYW4gLmZsYXRTaGFkaW5nIGluc3RlYWQuIil9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLiIrdGhpcy50eXBlKyI6IC5zaGFkaW5nIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSB0aGUgYm9vbGVhbiAuZmxhdFNoYWRpbmcgaW5zdGVhZC4iKSx0aGlzLmZsYXRTaGFkaW5nPTE9PT10fX0sc3RlbmNpbE1hc2s6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLiIrdGhpcy50eXBlKyI6IC5zdGVuY2lsTWFzayBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLnN0ZW5jaWxGdW5jTWFzayBpbnN0ZWFkLiIpLHRoaXMuc3RlbmNpbEZ1bmNNYXNrfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAuc3RlbmNpbE1hc2sgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5zdGVuY2lsRnVuY01hc2sgaW5zdGVhZC4iKSx0aGlzLnN0ZW5jaWxGdW5jTWFzaz10fX0sdmVydGV4VGFuZ2VudHM6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuIit0aGlzLnR5cGUrIjogLnZlcnRleFRhbmdlbnRzIGhhcyBiZWVuIHJlbW92ZWQuIil9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuIit0aGlzLnR5cGUrIjogLnZlcnRleFRhbmdlbnRzIGhhcyBiZWVuIHJlbW92ZWQuIil9fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKE5jdC5wcm90b3R5cGUse2Rlcml2YXRpdmVzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5TaGFkZXJNYXRlcmlhbDogLmRlcml2YXRpdmVzIGhhcyBiZWVuIG1vdmVkIHRvIC5leHRlbnNpb25zLmRlcml2YXRpdmVzLiIpLHRoaXMuZXh0ZW5zaW9ucy5kZXJpdmF0aXZlc30sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuIFNoYWRlck1hdGVyaWFsOiAuZGVyaXZhdGl2ZXMgaGFzIGJlZW4gbW92ZWQgdG8gLmV4dGVuc2lvbnMuZGVyaXZhdGl2ZXMuIiksdGhpcy5leHRlbnNpb25zLmRlcml2YXRpdmVzPXR9fX0pLEhtdC5wcm90b3R5cGUuY2xlYXJUYXJnZXQ9ZnVuY3Rpb24odCxlLG4sbyl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuY2xlYXJUYXJnZXQoKSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgLnNldFJlbmRlclRhcmdldCgpIGFuZCAuY2xlYXIoKSBpbnN0ZWFkLiIpLHRoaXMuc2V0UmVuZGVyVGFyZ2V0KHQpLHRoaXMuY2xlYXIoZSxuLG8pfSxIbXQucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuYW5pbWF0ZSgpIGlzIG5vdyAuc2V0QW5pbWF0aW9uTG9vcCgpLiIpLHRoaXMuc2V0QW5pbWF0aW9uTG9vcCh0KX0sSG10LnByb3RvdHlwZS5nZXRDdXJyZW50UmVuZGVyVGFyZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmdldEN1cnJlbnRSZW5kZXJUYXJnZXQoKSBpcyBub3cgLmdldFJlbmRlclRhcmdldCgpLiIpLHRoaXMuZ2V0UmVuZGVyVGFyZ2V0KCl9LEhtdC5wcm90b3R5cGUuZ2V0TWF4QW5pc290cm9weT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5nZXRNYXhBbmlzb3Ryb3B5KCkgaXMgbm93IC5jYXBhYmlsaXRpZXMuZ2V0TWF4QW5pc290cm9weSgpLiIpLHRoaXMuY2FwYWJpbGl0aWVzLmdldE1heEFuaXNvdHJvcHkoKX0sSG10LnByb3RvdHlwZS5nZXRQcmVjaXNpb249ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2V0UHJlY2lzaW9uKCkgaXMgbm93IC5jYXBhYmlsaXRpZXMucHJlY2lzaW9uLiIpLHRoaXMuY2FwYWJpbGl0aWVzLnByZWNpc2lvbn0sSG10LnByb3RvdHlwZS5yZXNldEdMU3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAucmVzZXRHTFN0YXRlKCkgaXMgbm93IC5zdGF0ZS5yZXNldCgpLiIpLHRoaXMuc3RhdGUucmVzZXQoKX0sSG10LnByb3RvdHlwZS5zdXBwb3J0c0Zsb2F0VGV4dHVyZXM9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNGbG9hdFRleHR1cmVzKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ09FU190ZXh0dXJlX2Zsb2F0JyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIk9FU190ZXh0dXJlX2Zsb2F0Iil9LEhtdC5wcm90b3R5cGUuc3VwcG9ydHNIYWxmRmxvYXRUZXh0dXJlcz1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0hhbGZGbG9hdFRleHR1cmVzKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ09FU190ZXh0dXJlX2hhbGZfZmxvYXQnICkuIiksdGhpcy5leHRlbnNpb25zLmdldCgiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpfSxIbXQucHJvdG90eXBlLnN1cHBvcnRzU3RhbmRhcmREZXJpdmF0aXZlcz1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c1N0YW5kYXJkRGVyaXZhdGl2ZXMoKSBpcyBub3cgLmV4dGVuc2lvbnMuZ2V0KCAnT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzJyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIk9FU19zdGFuZGFyZF9kZXJpdmF0aXZlcyIpfSxIbXQucHJvdG90eXBlLnN1cHBvcnRzQ29tcHJlc3NlZFRleHR1cmVTM1RDPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzQ29tcHJlc3NlZFRleHR1cmVTM1RDKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjJyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIil9LEhtdC5wcm90b3R5cGUuc3VwcG9ydHNDb21wcmVzc2VkVGV4dHVyZVBWUlRDPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzQ29tcHJlc3NlZFRleHR1cmVQVlJUQygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfcHZydGMnICkuIiksdGhpcy5leHRlbnNpb25zLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIil9LEhtdC5wcm90b3R5cGUuc3VwcG9ydHNCbGVuZE1pbk1heD1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0JsZW5kTWluTWF4KCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ0VYVF9ibGVuZF9taW5tYXgnICkuIiksdGhpcy5leHRlbnNpb25zLmdldCgiRVhUX2JsZW5kX21pbm1heCIpfSxIbXQucHJvdG90eXBlLnN1cHBvcnRzVmVydGV4VGV4dHVyZXM9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNWZXJ0ZXhUZXh0dXJlcygpIGlzIG5vdyAuY2FwYWJpbGl0aWVzLnZlcnRleFRleHR1cmVzLiIpLHRoaXMuY2FwYWJpbGl0aWVzLnZlcnRleFRleHR1cmVzfSxIbXQucHJvdG90eXBlLnN1cHBvcnRzSW5zdGFuY2VkQXJyYXlzPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzSW5zdGFuY2VkQXJyYXlzKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ0FOR0xFX2luc3RhbmNlZF9hcnJheXMnICkuIiksdGhpcy5leHRlbnNpb25zLmdldCgiQU5HTEVfaW5zdGFuY2VkX2FycmF5cyIpfSxIbXQucHJvdG90eXBlLmVuYWJsZVNjaXNzb3JUZXN0PWZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmVuYWJsZVNjaXNzb3JUZXN0KCkgaXMgbm93IC5zZXRTY2lzc29yVGVzdCgpLiIpLHRoaXMuc2V0U2Npc3NvclRlc3QodCl9LEhtdC5wcm90b3R5cGUuaW5pdE1hdGVyaWFsPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuaW5pdE1hdGVyaWFsKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sSG10LnByb3RvdHlwZS5hZGRQcmVQbHVnaW49ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5hZGRQcmVQbHVnaW4oKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxIbXQucHJvdG90eXBlLmFkZFBvc3RQbHVnaW49ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5hZGRQb3N0UGx1Z2luKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sSG10LnByb3RvdHlwZS51cGRhdGVTaGFkb3dNYXA9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC51cGRhdGVTaGFkb3dNYXAoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxIbXQucHJvdG90eXBlLnNldEZhY2VDdWxsaW5nPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2V0RmFjZUN1bGxpbmcoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxIbXQucHJvdG90eXBlLmFsbG9jVGV4dHVyZVVuaXQ9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5hbGxvY1RleHR1cmVVbml0KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sSG10LnByb3RvdHlwZS5zZXRUZXh0dXJlPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2V0VGV4dHVyZSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LEhtdC5wcm90b3R5cGUuc2V0VGV4dHVyZTJEPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2V0VGV4dHVyZTJEKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sSG10LnByb3RvdHlwZS5zZXRUZXh0dXJlQ3ViZT1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNldFRleHR1cmVDdWJlKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sSG10LnByb3RvdHlwZS5nZXRBY3RpdmVNaXBNYXBMZXZlbD1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5nZXRBY3RpdmVNaXBNYXBMZXZlbCgpIGlzIG5vdyAuZ2V0QWN0aXZlTWlwbWFwTGV2ZWwoKS4iKSx0aGlzLmdldEFjdGl2ZU1pcG1hcExldmVsKCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEhtdC5wcm90b3R5cGUse3NoYWRvd01hcEVuYWJsZWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNoYWRvd01hcC5lbmFibGVkfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwRW5hYmxlZCBpcyBub3cgLnNoYWRvd01hcC5lbmFibGVkLiIpLHRoaXMuc2hhZG93TWFwLmVuYWJsZWQ9dH19LHNoYWRvd01hcFR5cGU6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNoYWRvd01hcC50eXBlfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwVHlwZSBpcyBub3cgLnNoYWRvd01hcC50eXBlLiIpLHRoaXMuc2hhZG93TWFwLnR5cGU9dH19LHNoYWRvd01hcEN1bGxGYWNlOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXBDdWxsRmFjZSBoYXMgYmVlbiByZW1vdmVkLiBTZXQgTWF0ZXJpYWwuc2hhZG93U2lkZSBpbnN0ZWFkLiIpfSxzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXBDdWxsRmFjZSBoYXMgYmVlbiByZW1vdmVkLiBTZXQgTWF0ZXJpYWwuc2hhZG93U2lkZSBpbnN0ZWFkLiIpfX0sY29udGV4dDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmNvbnRleHQgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5nZXRDb250ZXh0KCkgaW5zdGVhZC4iKSx0aGlzLmdldENvbnRleHQoKX19LHZyOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAudnIgaGFzIGJlZW4gcmVuYW1lZCB0byAueHIiKSx0aGlzLnhyfX0sZ2FtbWFJbnB1dDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmdhbW1hSW5wdXQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IHRoZSBlbmNvZGluZyBmb3IgdGV4dHVyZXMgdmlhIFRleHR1cmUuZW5jb2RpbmcgaW5zdGVhZC4iKSwhMX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2FtbWFJbnB1dCBoYXMgYmVlbiByZW1vdmVkLiBTZXQgdGhlIGVuY29kaW5nIGZvciB0ZXh0dXJlcyB2aWEgVGV4dHVyZS5lbmNvZGluZyBpbnN0ZWFkLiIpfX0sZ2FtbWFPdXRwdXQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5nYW1tYU91dHB1dCBoYXMgYmVlbiByZW1vdmVkLiBTZXQgV2ViR0xSZW5kZXJlci5vdXRwdXRFbmNvZGluZyBpbnN0ZWFkLiIpLCExfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2FtbWFPdXRwdXQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IFdlYkdMUmVuZGVyZXIub3V0cHV0RW5jb2RpbmcgaW5zdGVhZC4iKSx0aGlzLm91dHB1dEVuY29kaW5nPSEwPT09dD8kcnQ6UXJ0fX0sdG9uZU1hcHBpbmdXaGl0ZVBvaW50OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAudG9uZU1hcHBpbmdXaGl0ZVBvaW50IGhhcyBiZWVuIHJlbW92ZWQuIiksMX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAudG9uZU1hcHBpbmdXaGl0ZVBvaW50IGhhcyBiZWVuIHJlbW92ZWQuIil9fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGttdC5wcm90b3R5cGUse2N1bGxGYWNlOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXAuY3VsbEZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLmN1bGxGYWNlIGhhcyBiZWVuIHJlbW92ZWQuIFNldCBNYXRlcmlhbC5zaGFkb3dTaWRlIGluc3RlYWQuIil9fSxyZW5kZXJSZXZlcnNlU2lkZWQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcC5yZW5kZXJSZXZlcnNlU2lkZWQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLnJlbmRlclJldmVyc2VTaWRlZCBoYXMgYmVlbiByZW1vdmVkLiBTZXQgTWF0ZXJpYWwuc2hhZG93U2lkZSBpbnN0ZWFkLiIpfX0scmVuZGVyU2luZ2xlU2lkZWQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcC5yZW5kZXJTaW5nbGVTaWRlZCBoYXMgYmVlbiByZW1vdmVkLiBTZXQgTWF0ZXJpYWwuc2hhZG93U2lkZSBpbnN0ZWFkLiIpfSxzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXAucmVuZGVyU2luZ2xlU2lkZWQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX19fSksT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoeHN0LnByb3RvdHlwZSx7d3JhcFM6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAud3JhcFMgaXMgbm93IC50ZXh0dXJlLndyYXBTLiIpLHRoaXMudGV4dHVyZS53cmFwU30sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC53cmFwUyBpcyBub3cgLnRleHR1cmUud3JhcFMuIiksdGhpcy50ZXh0dXJlLndyYXBTPXR9fSx3cmFwVDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC53cmFwVCBpcyBub3cgLnRleHR1cmUud3JhcFQuIiksdGhpcy50ZXh0dXJlLndyYXBUfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLndyYXBUIGlzIG5vdyAudGV4dHVyZS53cmFwVC4iKSx0aGlzLnRleHR1cmUud3JhcFQ9dH19LG1hZ0ZpbHRlcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5tYWdGaWx0ZXIgaXMgbm93IC50ZXh0dXJlLm1hZ0ZpbHRlci4iKSx0aGlzLnRleHR1cmUubWFnRmlsdGVyfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLm1hZ0ZpbHRlciBpcyBub3cgLnRleHR1cmUubWFnRmlsdGVyLiIpLHRoaXMudGV4dHVyZS5tYWdGaWx0ZXI9dH19LG1pbkZpbHRlcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5taW5GaWx0ZXIgaXMgbm93IC50ZXh0dXJlLm1pbkZpbHRlci4iKSx0aGlzLnRleHR1cmUubWluRmlsdGVyfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLm1pbkZpbHRlciBpcyBub3cgLnRleHR1cmUubWluRmlsdGVyLiIpLHRoaXMudGV4dHVyZS5taW5GaWx0ZXI9dH19LGFuaXNvdHJvcHk6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuYW5pc290cm9weSBpcyBub3cgLnRleHR1cmUuYW5pc290cm9weS4iKSx0aGlzLnRleHR1cmUuYW5pc290cm9weX0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5hbmlzb3Ryb3B5IGlzIG5vdyAudGV4dHVyZS5hbmlzb3Ryb3B5LiIpLHRoaXMudGV4dHVyZS5hbmlzb3Ryb3B5PXR9fSxvZmZzZXQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAub2Zmc2V0IGlzIG5vdyAudGV4dHVyZS5vZmZzZXQuIiksdGhpcy50ZXh0dXJlLm9mZnNldH0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5vZmZzZXQgaXMgbm93IC50ZXh0dXJlLm9mZnNldC4iKSx0aGlzLnRleHR1cmUub2Zmc2V0PXR9fSxyZXBlYXQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAucmVwZWF0IGlzIG5vdyAudGV4dHVyZS5yZXBlYXQuIiksdGhpcy50ZXh0dXJlLnJlcGVhdH0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5yZXBlYXQgaXMgbm93IC50ZXh0dXJlLnJlcGVhdC4iKSx0aGlzLnRleHR1cmUucmVwZWF0PXR9fSxmb3JtYXQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuZm9ybWF0IGlzIG5vdyAudGV4dHVyZS5mb3JtYXQuIiksdGhpcy50ZXh0dXJlLmZvcm1hdH0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5mb3JtYXQgaXMgbm93IC50ZXh0dXJlLmZvcm1hdC4iKSx0aGlzLnRleHR1cmUuZm9ybWF0PXR9fSx0eXBlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLnR5cGUgaXMgbm93IC50ZXh0dXJlLnR5cGUuIiksdGhpcy50ZXh0dXJlLnR5cGV9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAudHlwZSBpcyBub3cgLnRleHR1cmUudHlwZS4iKSx0aGlzLnRleHR1cmUudHlwZT10fX0sZ2VuZXJhdGVNaXBtYXBzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLmdlbmVyYXRlTWlwbWFwcyBpcyBub3cgLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzLiIpLHRoaXMudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHN9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuZ2VuZXJhdGVNaXBtYXBzIGlzIG5vdyAudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHMuIiksdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz10fX19KSxjbGFzcyBleHRlbmRzIFNsdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iQXVkaW8iLHRoaXMubGlzdGVuZXI9dCx0aGlzLmNvbnRleHQ9dC5jb250ZXh0LHRoaXMuZ2Fpbj10aGlzLmNvbnRleHQuY3JlYXRlR2FpbigpLHRoaXMuZ2Fpbi5jb25uZWN0KHQuZ2V0SW5wdXQoKSksdGhpcy5hdXRvcGxheT0hMSx0aGlzLmJ1ZmZlcj1udWxsLHRoaXMuZGV0dW5lPTAsdGhpcy5sb29wPSExLHRoaXMubG9vcFN0YXJ0PTAsdGhpcy5sb29wRW5kPTAsdGhpcy5vZmZzZXQ9MCx0aGlzLmR1cmF0aW9uPXZvaWQgMCx0aGlzLnBsYXliYWNrUmF0ZT0xLHRoaXMuaXNQbGF5aW5nPSExLHRoaXMuaGFzUGxheWJhY2tDb250cm9sPSEwLHRoaXMuc291cmNlPW51bGwsdGhpcy5zb3VyY2VUeXBlPSJlbXB0eSIsdGhpcy5fc3RhcnRlZEF0PTAsdGhpcy5fcHJvZ3Jlc3M9MCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5maWx0ZXJzPVtdfWdldE91dHB1dCgpe3JldHVybiB0aGlzLmdhaW59c2V0Tm9kZVNvdXJjZSh0KXtyZXR1cm4gdGhpcy5oYXNQbGF5YmFja0NvbnRyb2w9ITEsdGhpcy5zb3VyY2VUeXBlPSJhdWRpb05vZGUiLHRoaXMuc291cmNlPXQsdGhpcy5jb25uZWN0KCksdGhpc31zZXRNZWRpYUVsZW1lbnRTb3VyY2UodCl7cmV0dXJuIHRoaXMuaGFzUGxheWJhY2tDb250cm9sPSExLHRoaXMuc291cmNlVHlwZT0ibWVkaWFOb2RlIix0aGlzLnNvdXJjZT10aGlzLmNvbnRleHQuY3JlYXRlTWVkaWFFbGVtZW50U291cmNlKHQpLHRoaXMuY29ubmVjdCgpLHRoaXN9c2V0TWVkaWFTdHJlYW1Tb3VyY2UodCl7cmV0dXJuIHRoaXMuaGFzUGxheWJhY2tDb250cm9sPSExLHRoaXMuc291cmNlVHlwZT0ibWVkaWFTdHJlYW1Ob2RlIix0aGlzLnNvdXJjZT10aGlzLmNvbnRleHQuY3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2UodCksdGhpcy5jb25uZWN0KCksdGhpc31zZXRCdWZmZXIodCl7cmV0dXJuIHRoaXMuYnVmZmVyPXQsdGhpcy5zb3VyY2VUeXBlPSJidWZmZXIiLHRoaXMuYXV0b3BsYXkmJnRoaXMucGxheSgpLHRoaXN9cGxheSh0PTApe2lmKCEwPT09dGhpcy5pc1BsYXlpbmcpcmV0dXJuIHZvaWQgY29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogQXVkaW8gaXMgYWxyZWFkeSBwbGF5aW5nLiIpO2lmKCExPT09dGhpcy5oYXNQbGF5YmFja0NvbnRyb2wpcmV0dXJuIHZvaWQgY29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKTt0aGlzLl9zdGFydGVkQXQ9dGhpcy5jb250ZXh0LmN1cnJlbnRUaW1lK3Q7Y29uc3QgZT10aGlzLmNvbnRleHQuY3JlYXRlQnVmZmVyU291cmNlKCk7cmV0dXJuIGUuYnVmZmVyPXRoaXMuYnVmZmVyLGUubG9vcD10aGlzLmxvb3AsZS5sb29wU3RhcnQ9dGhpcy5sb29wU3RhcnQsZS5sb29wRW5kPXRoaXMubG9vcEVuZCxlLm9uZW5kZWQ9dGhpcy5vbkVuZGVkLmJpbmQodGhpcyksZS5zdGFydCh0aGlzLl9zdGFydGVkQXQsdGhpcy5fcHJvZ3Jlc3MrdGhpcy5vZmZzZXQsdGhpcy5kdXJhdGlvbiksdGhpcy5pc1BsYXlpbmc9ITAsdGhpcy5zb3VyY2U9ZSx0aGlzLnNldERldHVuZSh0aGlzLmRldHVuZSksdGhpcy5zZXRQbGF5YmFja1JhdGUodGhpcy5wbGF5YmFja1JhdGUpLHRoaXMuY29ubmVjdCgpfXBhdXNlKCl7aWYoITEhPT10aGlzLmhhc1BsYXliYWNrQ29udHJvbClyZXR1cm4hMD09PXRoaXMuaXNQbGF5aW5nJiYodGhpcy5fcHJvZ3Jlc3MrPU1hdGgubWF4KHRoaXMuY29udGV4dC5jdXJyZW50VGltZS10aGlzLl9zdGFydGVkQXQsMCkqdGhpcy5wbGF5YmFja1JhdGUsITA9PT10aGlzLmxvb3AmJih0aGlzLl9wcm9ncmVzcz10aGlzLl9wcm9ncmVzcyUodGhpcy5kdXJhdGlvbnx8dGhpcy5idWZmZXIuZHVyYXRpb24pKSx0aGlzLnNvdXJjZS5zdG9wKCksdGhpcy5zb3VyY2Uub25lbmRlZD1udWxsLHRoaXMuaXNQbGF5aW5nPSExKSx0aGlzO2NvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIil9c3RvcCgpe2lmKCExIT09dGhpcy5oYXNQbGF5YmFja0NvbnRyb2wpcmV0dXJuIHRoaXMuX3Byb2dyZXNzPTAsdGhpcy5zb3VyY2Uuc3RvcCgpLHRoaXMuc291cmNlLm9uZW5kZWQ9bnVsbCx0aGlzLmlzUGxheWluZz0hMSx0aGlzO2NvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIil9Y29ubmVjdCgpe2lmKHRoaXMuZmlsdGVycy5sZW5ndGg+MCl7dGhpcy5zb3VyY2UuY29ubmVjdCh0aGlzLmZpbHRlcnNbMF0pO2ZvcihsZXQgdD0xLGU9dGhpcy5maWx0ZXJzLmxlbmd0aDt0PGU7dCsrKXRoaXMuZmlsdGVyc1t0LTFdLmNvbm5lY3QodGhpcy5maWx0ZXJzW3RdKTt0aGlzLmZpbHRlcnNbdGhpcy5maWx0ZXJzLmxlbmd0aC0xXS5jb25uZWN0KHRoaXMuZ2V0T3V0cHV0KCkpfWVsc2UgdGhpcy5zb3VyY2UuY29ubmVjdCh0aGlzLmdldE91dHB1dCgpKTtyZXR1cm4gdGhpcy5fY29ubmVjdGVkPSEwLHRoaXN9ZGlzY29ubmVjdCgpe2lmKHRoaXMuZmlsdGVycy5sZW5ndGg+MCl7dGhpcy5zb3VyY2UuZGlzY29ubmVjdCh0aGlzLmZpbHRlcnNbMF0pO2ZvcihsZXQgdD0xLGU9dGhpcy5maWx0ZXJzLmxlbmd0aDt0PGU7dCsrKXRoaXMuZmlsdGVyc1t0LTFdLmRpc2Nvbm5lY3QodGhpcy5maWx0ZXJzW3RdKTt0aGlzLmZpbHRlcnNbdGhpcy5maWx0ZXJzLmxlbmd0aC0xXS5kaXNjb25uZWN0KHRoaXMuZ2V0T3V0cHV0KCkpfWVsc2UgdGhpcy5zb3VyY2UuZGlzY29ubmVjdCh0aGlzLmdldE91dHB1dCgpKTtyZXR1cm4gdGhpcy5fY29ubmVjdGVkPSExLHRoaXN9Z2V0RmlsdGVycygpe3JldHVybiB0aGlzLmZpbHRlcnN9c2V0RmlsdGVycyh0KXtyZXR1cm4gdHx8KHQ9W10pLCEwPT09dGhpcy5fY29ubmVjdGVkPyh0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLmZpbHRlcnM9dC5zbGljZSgpLHRoaXMuY29ubmVjdCgpKTp0aGlzLmZpbHRlcnM9dC5zbGljZSgpLHRoaXN9c2V0RGV0dW5lKHQpe2lmKHRoaXMuZGV0dW5lPXQsdm9pZCAwIT09dGhpcy5zb3VyY2UuZGV0dW5lKXJldHVybiEwPT09dGhpcy5pc1BsYXlpbmcmJnRoaXMuc291cmNlLmRldHVuZS5zZXRUYXJnZXRBdFRpbWUodGhpcy5kZXR1bmUsdGhpcy5jb250ZXh0LmN1cnJlbnRUaW1lLC4wMSksdGhpc31nZXREZXR1bmUoKXtyZXR1cm4gdGhpcy5kZXR1bmV9Z2V0RmlsdGVyKCl7cmV0dXJuIHRoaXMuZ2V0RmlsdGVycygpWzBdfXNldEZpbHRlcih0KXtyZXR1cm4gdGhpcy5zZXRGaWx0ZXJzKHQ/W3RdOltdKX1zZXRQbGF5YmFja1JhdGUodCl7aWYoITEhPT10aGlzLmhhc1BsYXliYWNrQ29udHJvbClyZXR1cm4gdGhpcy5wbGF5YmFja1JhdGU9dCwhMD09PXRoaXMuaXNQbGF5aW5nJiZ0aGlzLnNvdXJjZS5wbGF5YmFja1JhdGUuc2V0VGFyZ2V0QXRUaW1lKHRoaXMucGxheWJhY2tSYXRlLHRoaXMuY29udGV4dC5jdXJyZW50VGltZSwuMDEpLHRoaXM7Y29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKX1nZXRQbGF5YmFja1JhdGUoKXtyZXR1cm4gdGhpcy5wbGF5YmFja1JhdGV9b25FbmRlZCgpe3RoaXMuaXNQbGF5aW5nPSExfWdldExvb3AoKXtyZXR1cm4hMT09PXRoaXMuaGFzUGxheWJhY2tDb250cm9sPyhjb25zb2xlLndhcm4oIlRIUkVFLkF1ZGlvOiB0aGlzIEF1ZGlvIGhhcyBubyBwbGF5YmFjayBjb250cm9sLiIpLCExKTp0aGlzLmxvb3B9c2V0TG9vcCh0KXtpZighMSE9PXRoaXMuaGFzUGxheWJhY2tDb250cm9sKXJldHVybiB0aGlzLmxvb3A9dCwhMD09PXRoaXMuaXNQbGF5aW5nJiYodGhpcy5zb3VyY2UubG9vcD10aGlzLmxvb3ApLHRoaXM7Y29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKX1zZXRMb29wU3RhcnQodCl7cmV0dXJuIHRoaXMubG9vcFN0YXJ0PXQsdGhpc31zZXRMb29wRW5kKHQpe3JldHVybiB0aGlzLmxvb3BFbmQ9dCx0aGlzfWdldFZvbHVtZSgpe3JldHVybiB0aGlzLmdhaW4uZ2Fpbi52YWx1ZX1zZXRWb2x1bWUodCl7cmV0dXJuIHRoaXMuZ2Fpbi5nYWluLnNldFRhcmdldEF0VGltZSh0LHRoaXMuY29udGV4dC5jdXJyZW50VGltZSwuMDEpLHRoaXN9fS5wcm90b3R5cGUubG9hZD1mdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkF1ZGlvOiAubG9hZCBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgVEhSRUUuQXVkaW9Mb2FkZXIgaW5zdGVhZC4iKTtjb25zdCBlPXRoaXM7cmV0dXJuKG5ldyB1Z3QpLmxvYWQodCwoZnVuY3Rpb24odCl7ZS5zZXRCdWZmZXIodCl9KSksdGhpc30sRmN0LnByb3RvdHlwZS51cGRhdGVDdWJlTWFwPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQ3ViZUNhbWVyYTogLnVwZGF0ZUN1YmVNYXAoKSBpcyBub3cgLnVwZGF0ZSgpLiIpLHRoaXMudXBkYXRlKHQsZSl9LEZjdC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQ3ViZUNhbWVyYTogLmNsZWFyKCkgaXMgbm93IC5yZW5kZXJUYXJnZXQuY2xlYXIoKS4iKSx0aGlzLnJlbmRlclRhcmdldC5jbGVhcih0LGUsbixvKX0seXN0LmNyb3NzT3JpZ2luPXZvaWQgMCx5c3QubG9hZFRleHR1cmU9ZnVuY3Rpb24odCxlLG4sbyl7Y29uc29sZS53YXJuKCJUSFJFRS5JbWFnZVV0aWxzLmxvYWRUZXh0dXJlIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSBUSFJFRS5UZXh0dXJlTG9hZGVyKCkgaW5zdGVhZC4iKTtjb25zdCBpPW5ldyBYdXQ7aS5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKTtjb25zdCBhPWkubG9hZCh0LG4sdm9pZCAwLG8pO3JldHVybiBlJiYoYS5tYXBwaW5nPWUpLGF9LHlzdC5sb2FkVGV4dHVyZUN1YmU9ZnVuY3Rpb24odCxlLG4sbyl7Y29uc29sZS53YXJuKCJUSFJFRS5JbWFnZVV0aWxzLmxvYWRUZXh0dXJlQ3ViZSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgVEhSRUUuQ3ViZVRleHR1cmVMb2FkZXIoKSBpbnN0ZWFkLiIpO2NvbnN0IGk9bmV3IFp1dDtpLnNldENyb3NzT3JpZ2luKHRoaXMuY3Jvc3NPcmlnaW4pO2NvbnN0IGE9aS5sb2FkKHQsbix2b2lkIDAsbyk7cmV0dXJuIGUmJihhLm1hcHBpbmc9ZSksYX0seXN0LmxvYWRDb21wcmVzc2VkVGV4dHVyZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkltYWdlVXRpbHMubG9hZENvbXByZXNzZWRUZXh0dXJlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBUSFJFRS5ERFNMb2FkZXIgaW5zdGVhZC4iKX0seXN0LmxvYWRDb21wcmVzc2VkVGV4dHVyZUN1YmU9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5JbWFnZVV0aWxzLmxvYWRDb21wcmVzc2VkVGV4dHVyZUN1YmUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIFRIUkVFLkREU0xvYWRlciBpbnN0ZWFkLiIpfSwidW5kZWZpbmVkIiE9dHlwZW9mIF9fVEhSRUVfREVWVE9PTFNfXyYmX19USFJFRV9ERVZUT09MU19fLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZWdpc3RlciIse2RldGFpbDp7cmV2aXNpb246IjEzMSJ9fSkpLCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYod2luZG93Ll9fVEhSRUVfXz9jb25zb2xlLndhcm4oIldBUk5JTkc6IE11bHRpcGxlIGluc3RhbmNlcyBvZiBUaHJlZS5qcyBiZWluZyBpbXBvcnRlZC4iKTp3aW5kb3cuX19USFJFRV9fPSIxMzEiKSwoZnVuY3Rpb24odCl7dFt0LkNJUkNMRT0wXT0iQ0lSQ0xFIix0W3QuTElORT0xXT0iTElORSIsdFt0LlRSSUFOR0xFPTJdPSJUUklBTkdMRSIsdFt0LlRSQVBFWk9JRD0zXT0iVFJBUEVaT0lEIn0pKE5ndHx8KE5ndD17fSkpO2NsYXNzIExndHtjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLmNvb3JkaW5hdG9yPWUsdGhpcy5zY2VuZT1uZXcgRm10LHRoaXMuYmFja2dyb3VuZENvbG9yPSIjZmZmIixDcnQoKSYmdCBpbnN0YW5jZW9mIE9mZnNjcmVlbkNhbnZhcyYmKHQuc3R5bGU9dC5zdHlsZXx8e30pLG8mJnQuYWRkRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0bG9zdCIsbyksdGhpcy5yZW5kZXJlcj1uZXcgSG10KHtjYW52YXM6dCxjb250ZXh0OnQuZ2V0Q29udGV4dCgid2ViZ2wyIix7YW50aWFsaWFzOiEwLHByZWNpc2lvbjoiaGlnaHAiLGFscGhhOiEwfSl9KSx0aGlzLnJlbmRlcmVyLnNldFBpeGVsUmF0aW8obil9b25SZXNpemUodCl7dGhpcy5yZW5kZXJlci5zZXRTaXplKHQud2lkdGgsdC5oZWlnaHQpfWRlc3Ryb3lPYmplY3QodCl7Y29uc3QgZT10Lm9iajNkO2lmKHRoaXMuc2NlbmUucmVtb3ZlKGUpLGUgaW5zdGFuY2VvZiBTY3Qpe2UuZ2VvbWV0cnkuZGlzcG9zZSgpO2NvbnN0IHQ9QXJyYXkuaXNBcnJheShlLm1hdGVyaWFsKT9lLm1hdGVyaWFsOltlLm1hdGVyaWFsXTtmb3IoY29uc3QgZSBvZiB0KWUuZGlzcG9zZSgpfX1zZXRVc2VEYXJrTW9kZSh0KXt0aGlzLmJhY2tncm91bmRDb2xvcj10PyIjMzAzMDMwIjoiI2ZmZiJ9Y3JlYXRlT3JVcGRhdGVMaW5lT2JqZWN0KHQsZSxuKXt2YXIgbztpZighdCYmIW4udmlzaWJsZSlyZXR1cm4gbnVsbDtjb25zdHt2aXNpYmxlOmksd2lkdGg6YX09bjtpZighdCl7Y29uc3QgdD1UZ3QodGhpcy5iYWNrZ3JvdW5kQ29sb3Isbi5jb2xvcixudWxsIT09KG89bi5vcGFjaXR5KSYmdm9pZCAwIT09bz9vOjEpLHI9bmV3IGRjdCxzPW5ldyBmZnQoe2NvbG9yOnR9KSxsPW5ldyBTY3QocixzKTtyZXR1cm4gcy52aXNpYmxlPWksSGd0KHIsZSxhKSx0aGlzLnNjZW5lLmFkZChsKSx7dHlwZTpOZ3QuTElORSxkYXRhOmUsb2JqM2Q6bCx3aWR0aDphfX1jb25zdHtkYXRhOnIsb2JqM2Q6cyx3aWR0aDpsfT10O3JldHVybiBGZ3QodGhpcy5iYWNrZ3JvdW5kQ29sb3IscywodD0+KGE9PT1sJiZyJiZNcnQocixlKXx8SGd0KHQsZSxhKSx0KSksbik/e3R5cGU6Tmd0LkxJTkUsZGF0YTplLG9iajNkOnMsd2lkdGg6YX06dH1jcmVhdGVNZXNoKHQsZSl7aWYoIWUudmlzaWJsZSlyZXR1cm4gbnVsbDtjb25zdHt2aXNpYmxlOm4sY29sb3I6byxvcGFjaXR5Oml9PWUsYT1UZ3QodGhpcy5iYWNrZ3JvdW5kQ29sb3IsbyxudWxsIT1pP2k6MSkscj1uZXcgWGx0KHtjb2xvcjphLHZpc2libGU6bn0pO3JldHVybiBuZXcgU2N0KHQscil9Y3JlYXRlT3JVcGRhdGVUcmlhbmdsZU9iamVjdCh0LGUsbil7Y29uc3R7c2l6ZTpvfT1uLGk9bypNYXRoLnNxcnQoMykvMixhPW5ldyBGbG9hdDMyQXJyYXkoW2UueC1vLzIsZS55LWkvMyxlLngrby8yLGUueS1pLzMsZS54LGUueSsyKmkvM10pO2lmKCF0KXtjb25zdCB0PW5ldyBkY3Q7SWd0KHQsYSk7Y29uc3Qgbz10aGlzLmNyZWF0ZU1lc2godCxuKTtyZXR1cm4gbnVsbD09PW8/bnVsbDoodGhpcy5zY2VuZS5hZGQobykse3R5cGU6Tmd0LlRSSUFOR0xFLGRhdGE6ZSxvYmozZDpvfSl9cmV0dXJuIEZndCh0aGlzLmJhY2tncm91bmRDb2xvcix0Lm9iajNkLCh0PT4oSWd0KHQsYSksdCkpLG4pP3t0eXBlOk5ndC5UUklBTkdMRSxkYXRhOmUsb2JqM2Q6dC5vYmozZH06dH1jcmVhdGVPclVwZGF0ZUNpcmNsZU9iamVjdCh0LGUsbil7Y29uc3R7cmFkaXVzOm99PW4saT1uZXcgRGZ0KG4ucmFkaXVzKTtpZighdCl7Y29uc3QgdD10aGlzLmNyZWF0ZU1lc2goaSxuKTtyZXR1cm4gbnVsbD09PXQ/bnVsbDoodC5wb3NpdGlvbi5zZXQoZS54LGUueSwwKSx0aGlzLnNjZW5lLmFkZCh0KSx7dHlwZTpOZ3QuQ0lSQ0xFLGRhdGE6e2xvYzplLHJhZGl1czpvfSxvYmozZDp0fSl9cmV0dXJuIEZndCh0aGlzLmJhY2tncm91bmRDb2xvcix0Lm9iajNkLCgoKT0+aSksbik/KHQub2JqM2QucG9zaXRpb24uc2V0KGUueCxlLnksMCkse3R5cGU6Tmd0LkNJUkNMRSxkYXRhOntsb2M6ZSxyYWRpdXM6b30sb2JqM2Q6dC5vYmozZH0pOnR9Y3JlYXRlT3JVcGRhdGVUcmFwZXpvaWRPYmplY3QodCxlLG4sbyl7aWYoZS55IT09bi55KXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnB1dCBlcnJvcjogc3RhcnQueSAhPSBlbmQueS4iKTtjb25zdHthbHRpdHVkZTppfT1vLGE9Mi9NYXRoLnNxcnQoMykqaSxyPW5ldyBRdXQoW25ldyBnc3QoZS54LWEvMixlLnktaS8yKSxuZXcgZ3N0KGUueCxlLnkraS8yKSxuZXcgZ3N0KG4ueCxuLnkraS8yKSxuZXcgZ3N0KG4ueCthLzIsbi55LWkvMildKTtyLmF1dG9DbG9zZT0hMDtjb25zdCBzPW5ldyBQdXQocik7aWYoIXQpe2NvbnN0IHQ9dGhpcy5jcmVhdGVNZXNoKHMsbyk7cmV0dXJuIG51bGw9PT10P251bGw6KHRoaXMuc2NlbmUuYWRkKHQpLHt0eXBlOk5ndC5UUkFQRVpPSUQsZGF0YTpbZSxuXSxvYmozZDp0fSl9cmV0dXJuIEZndCh0aGlzLmJhY2tncm91bmRDb2xvcix0Lm9iajNkLCgoKT0+cyksbyk/e3R5cGU6Tmd0LlRSQVBFWk9JRCxkYXRhOltlLG5dLG9iajNkOnQub2JqM2R9OnR9Zmx1c2goKXt0aGlzLnJlbmRlcmVyLnJlbmRlcih0aGlzLnNjZW5lLHRoaXMuY29vcmRpbmF0b3IuZ2V0Q2FtZXJhKCkpfWRpc3Bvc2UoKXt0aGlzLnJlbmRlcmVyLmRpc3Bvc2UoKX19Y2xhc3MgQmd0e2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5yZW5kZXJDYWNoZT10LHRoaXMucmVuZGVyZXI9ZX1zZXRMaW5lKHQsZSxuKXtjb25zdCBvPXRoaXMucmVuZGVyZXIuY3JlYXRlT3JVcGRhdGVMaW5lT2JqZWN0KHRoaXMucmVuZGVyQ2FjaGUuZ2V0RnJvbVByZXZpb3VzRnJhbWUodCksZSxuKTtvJiZ0aGlzLnJlbmRlckNhY2hlLnNldFRvQ3VycmVudEZyYW1lKHQsbyl9c2V0VHJpYW5nbGUodCxlLG4pe2NvbnN0IG89dGhpcy5yZW5kZXJlci5jcmVhdGVPclVwZGF0ZVRyaWFuZ2xlT2JqZWN0KHRoaXMucmVuZGVyQ2FjaGUuZ2V0RnJvbVByZXZpb3VzRnJhbWUodCksZSxuKTtvJiZ0aGlzLnJlbmRlckNhY2hlLnNldFRvQ3VycmVudEZyYW1lKHQsbyl9c2V0Q2lyY2xlKHQsZSxuKXtjb25zdCBvPXRoaXMucmVuZGVyZXIuY3JlYXRlT3JVcGRhdGVDaXJjbGVPYmplY3QodGhpcy5yZW5kZXJDYWNoZS5nZXRGcm9tUHJldmlvdXNGcmFtZSh0KSxlLG4pO28mJnRoaXMucmVuZGVyQ2FjaGUuc2V0VG9DdXJyZW50RnJhbWUodCxvKX1zZXRUcmFwZXpvaWQodCxlLG4sbyl7Y29uc3QgaT10aGlzLnJlbmRlcmVyLmNyZWF0ZU9yVXBkYXRlVHJhcGV6b2lkT2JqZWN0KHRoaXMucmVuZGVyQ2FjaGUuZ2V0RnJvbVByZXZpb3VzRnJhbWUodCksZSxuLG8pO2kmJnRoaXMucmVuZGVyQ2FjaGUuc2V0VG9DdXJyZW50RnJhbWUodCxpKX19Y2xhc3MgVmd0e2NvbnN0cnVjdG9yKCl7dGhpcy5wcmV2RnJhbWVDYWNoZT1uZXcgTWFwLHRoaXMuY3VyckZyYW1lQ2FjaGU9bmV3IE1hcH1nZXRGcm9tUHJldmlvdXNGcmFtZSh0KXtjb25zdCBlPXRoaXMucHJldkZyYW1lQ2FjaGUuZ2V0KHQpO3JldHVybiBudWxsIT1lP2U6bnVsbH1zZXRUb0N1cnJlbnRGcmFtZSh0LGUpe3RoaXMuY3VyckZyYW1lQ2FjaGUuc2V0KHQsZSl9ZmluYWxpemVGcmFtZUFuZEdldFJlbW92ZWQoKXtjb25zdCB0PVtdO2Zvcihjb25zdFtlLG5db2YgdGhpcy5wcmV2RnJhbWVDYWNoZS5lbnRyaWVzKCkpdGhpcy5jdXJyRnJhbWVDYWNoZS5oYXMoZSl8fHQucHVzaChuKTtyZXR1cm4gdGhpcy5wcmV2RnJhbWVDYWNoZT10aGlzLmN1cnJGcmFtZUNhY2hlLHRoaXMuY3VyckZyYW1lQ2FjaGU9bmV3IE1hcCx0fX0hKGZ1bmN0aW9uKHQpe3RbdC5OVU1CRVI9MF09Ik5VTUJFUiIsdFt0Lk5BTj0xXT0iTkFOIn0pKHpndHx8KHpndD17fSkpO2NsYXNzIGpndCBleHRlbmRzIGNsYXNze2NvbnN0cnVjdG9yKHQpe3RoaXMucmF3U2VyaWVzRGF0YT1bXSx0aGlzLnNlcmllcz1bXSx0aGlzLnBhaW50RGlydHk9ITAsdGhpcy5yZW5kZXJDYWNoZT1uZXcgVmd0LHRoaXMuY29vcmRpbmF0ZUlkZW50aWZpZXI9bnVsbCx0aGlzLmxheW91dD17eDowLHdpZHRoOjEseTowLGhlaWdodDoxfSx0aGlzLmdldE1ldGFkYXRhTWFwSW1wbD10LmdldE1ldGFkYXRhTWFwLHRoaXMuY29vcmRpbmF0b3I9dC5jb29yZGluYXRvcix0aGlzLnJlbmRlcmVyPXQucmVuZGVyZXIsdGhpcy5wYWludEJydXNoPW5ldyBCZ3QodGhpcy5yZW5kZXJDYWNoZSx0aGlzLnJlbmRlcmVyKX1zZXRMYXlvdXRSZWN0KHQpe3RoaXMubGF5b3V0Lng9PT10LngmJnRoaXMubGF5b3V0LndpZHRoPT09dC53aWR0aCYmdGhpcy5sYXlvdXQueT09PXQueSYmdGhpcy5sYXlvdXQuaGVpZ2h0PT09dC5oZWlnaHR8fCh0aGlzLnBhaW50RGlydHk9ITApLHRoaXMubGF5b3V0PXR9Z2V0TGF5b3V0UmVjdCgpe3JldHVybiB0aGlzLmxheW91dH1nZXRNZXRhZGF0YU1hcCgpe3JldHVybiB0aGlzLmdldE1ldGFkYXRhTWFwSW1wbCgpfW1hcmtBc1BhaW50RGlydHkoKXt0aGlzLnBhaW50RGlydHk9ITB9cmVuZGVyKCl7aWYodGhpcy50cmFuc2Zvcm1Db29yZGluYXRlc0lmU3RhbGUoKSx0aGlzLnBhaW50RGlydHkpe3RoaXMucmVkcmF3KCk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5yZW5kZXJDYWNoZS5maW5hbGl6ZUZyYW1lQW5kR2V0UmVtb3ZlZCgpKXRoaXMucmVuZGVyZXIuZGVzdHJveU9iamVjdCh0KTt0aGlzLnBhaW50RGlydHk9ITF9fWlzQ29vcmRpbmF0ZVVwZGF0ZWQoKXtyZXR1cm4gdGhpcy5jb29yZGluYXRvci5nZXRVcGRhdGVJZGVudGlmaWVyKCkhPT10aGlzLmNvb3JkaW5hdGVJZGVudGlmaWVyfWNsZWFyQ29vcmRpbmF0ZUlkZW50aWZpZXIoKXt0aGlzLmNvb3JkaW5hdGVJZGVudGlmaWVyPW51bGx9c2V0RGF0YSh0KXt0aGlzLmNsZWFyQ29vcmRpbmF0ZUlkZW50aWZpZXIoKSx0aGlzLnJhd1Nlcmllc0RhdGE9dH10cmFuc2Zvcm1Db29yZGluYXRlc0lmU3RhbGUoKXtpZighdGhpcy5pc0Nvb3JkaW5hdGVVcGRhdGVkKCkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5nZXRMYXlvdXRSZWN0KCk7dGhpcy5zZXJpZXM9bmV3IEFycmF5KHRoaXMucmF3U2VyaWVzRGF0YS5sZW5ndGgpO2ZvcihsZXQgZT0wO2U8dGhpcy5yYXdTZXJpZXNEYXRhLmxlbmd0aDtlKyspe2NvbnN0IG49dGhpcy5yYXdTZXJpZXNEYXRhW2VdO3RoaXMuc2VyaWVzW2VdPXtpZDpuLmlkLHBvbHlsaW5lOm5ldyBGbG9hdDMyQXJyYXkoMipuLnBvaW50cy5sZW5ndGgpfTtmb3IobGV0IG89MDtvPG4ucG9pbnRzLmxlbmd0aDtvKyspe2NvbnN0W2ksYV09dGhpcy5jb29yZGluYXRvci50cmFuc2Zvcm1EYXRhVG9VaUNvb3JkKHQsW24ucG9pbnRzW29dLngsbi5wb2ludHNbb10ueV0pO3RoaXMuc2VyaWVzW2VdLnBvbHlsaW5lWzIqb109aSx0aGlzLnNlcmllc1tlXS5wb2x5bGluZVsyKm8rMV09YX19dGhpcy5jb29yZGluYXRlSWRlbnRpZmllcj10aGlzLmNvb3JkaW5hdG9yLmdldFVwZGF0ZUlkZW50aWZpZXIoKSx0aGlzLm1hcmtBc1BhaW50RGlydHkoKX19e3JlY29yZFBhcnRpdGlvbih0LGUsbil7cmV0dXJuIHQ/e3R5cGU6emd0Lk5VTUJFUixwb2x5bGluZTplfTp7dHlwZTp6Z3QuTkFOLHBvbHlsaW5lOmUubWFwKCgodCxlKT0+aXNOYU4odCk/ZSUyPT0wP24ueDpuLnk6dCkpfX1wYXJ0aXRpb25Qb2x5bGluZSh0KXtjb25zdCBlPVtdO2xldCBuPTAsbz0hMTtjb25zdCBpPXRoaXMuY29vcmRpbmF0b3IudHJhbnNmb3JtRGF0YVRvVWlDb29yZCh0aGlzLmdldExheW91dFJlY3QoKSxbMCwwXSksYT17eDppWzBdLHk6aVsxXX07bGV0IHI9bnVsbDtmb3IobGV0IGk9MDtpPHQubGVuZ3RoO2krPTIpe2NvbnN0IGE9dFtpXSxzPXRbaSsxXSxsPWlzTmFOKGEpfHxpc05hTihzKTtsIT09byYmbiE9PWkmJihlLnB1c2godGhpcy5yZWNvcmRQYXJ0aXRpb24oIW8sdC5zbGljZShuLGkpLG51bGw9PT1yP3t4OmEseTpzfTpyKSksbj1pKSxsfHwocj17eDphLHk6c30pLG89bH1yZXR1cm4gbiE9PXQubGVuZ3RoLTEmJmUucHVzaCh0aGlzLnJlY29yZFBhcnRpdGlvbighbyx0LnNsaWNlKG4sdC5sZW5ndGgpLG51bGwhPXI/cjphKSksZX1yZWRyYXcoKXt2YXIgdCxlLG47Zm9yKGNvbnN0IG8gb2YgdGhpcy5zZXJpZXMpe2NvbnN0IGk9dGhpcy5nZXRNZXRhZGF0YU1hcCgpW28uaWRdO2lmKCFpKWNvbnRpbnVlO2lmKG8ucG9seWxpbmUubGVuZ3RoJTIhPTApdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgaGF2ZSBvZGQgbGVuZ3RoLWVkIHBvbHlsaW5lOiAke28ucG9seWxpbmUubGVuZ3RofWApO2NvbnN0IGE9dGhpcy5wYXJ0aXRpb25Qb2x5bGluZShvLnBvbHlsaW5lKTtmb3IoY29uc3Rbcix7dHlwZTpzLHBvbHlsaW5lOmx9XW9mIGEuZW50cmllcygpKWlmKHM9PT16Z3QuTlVNQkVSKTI9PT1sLmxlbmd0aD90aGlzLnBhaW50QnJ1c2guc2V0Q2lyY2xlKEpTT04uc3RyaW5naWZ5KFsiY2lyY2xlIixvLmlkLHJdKSx7eDpsWzBdLHk6bFsxXX0se2NvbG9yOmkuY29sb3IsdmlzaWJsZTppLnZpc2libGUsb3BhY2l0eTpudWxsIT09KHQ9aS5vcGFjaXR5KSYmdm9pZCAwIT09dD90OjEscmFkaXVzOjR9KTp0aGlzLnBhaW50QnJ1c2guc2V0TGluZShKU09OLnN0cmluZ2lmeShbImxpbmUiLG8uaWQscl0pLGwse2NvbG9yOmkuY29sb3IsdmlzaWJsZTppLnZpc2libGUsb3BhY2l0eTpudWxsIT09KGU9aS5vcGFjaXR5KSYmdm9pZCAwIT09ZT9lOjEsd2lkdGg6Mn0pO2Vsc2UgaWYoIWkuYXV4KWZvcihsZXQgdD0wO3Q8bC5sZW5ndGg7dCs9Mil0aGlzLnBhaW50QnJ1c2guc2V0VHJpYW5nbGUoSlNPTi5zdHJpbmdpZnkoWyJOYU4iLG8uaWQsbFt0XSxsW3QrMV1dKSx7eDpsW3RdLHk6bFt0KzFdfSx7Y29sb3I6aS5jb2xvcix2aXNpYmxlOmkudmlzaWJsZSxvcGFjaXR5Om51bGwhPT0obj1pLm9wYWNpdHkpJiZ2b2lkIDAhPT1uP246MSxzaXplOjEyfSl9fX1jbGFzcyBVZ3QgZXh0ZW5kcyB2cnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuY2FtZXJhPW5ldyByZHQoMCwxZTMsMWUzLDAsMCwxMDApfWlzWUF4aXNQb2ludGVkRG93bigpe3JldHVybiExfXNldERvbUNvbnRhaW5lclJlY3QodCl7c3VwZXIuc2V0RG9tQ29udGFpbmVyUmVjdCh0KSx0aGlzLmNhbWVyYS5sZWZ0PXQueCx0aGlzLmNhbWVyYS5yaWdodD10LngrdC53aWR0aCx0aGlzLmNhbWVyYS50b3A9dC55K3QuaGVpZ2h0LHRoaXMuY2FtZXJhLmJvdHRvbT10LnksdGhpcy5jYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfWdldENhbWVyYSgpe3JldHVybiB0aGlzLmNhbWVyYX19Y29uc3QgV2d0PXQ9PnNlbGYucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpO2NsYXNzIEdndHtjb25zdHJ1Y3Rvcih0KXtzd2l0Y2godGhpcy5tZXRhZGF0YU1hcD17fSx0aGlzLnNob3VsZFJlcGFpbnQ9ITEsdGhpcy5jYWxsYmFja3M9dC5jYWxsYmFja3MsdC50eXBlKXtjYXNlIGU2LlNWRzp0aGlzLmNvb3JkaW5hdG9yPW5ldyB2cnQsdGhpcy5yZW5kZXJlcj1uZXcgT3J0KHQuY29udGFpbmVyKTticmVhaztjYXNlIGU2LldFQkdMOntjb25zdCBlPW5ldyBVZ3Q7dGhpcy5jb29yZGluYXRvcj1lLHRoaXMucmVuZGVyZXI9bmV3IExndCh0LmNvbnRhaW5lcixlLHQuZGV2aWNlUGl4ZWxSYXRpbyx0LmNhbGxiYWNrcy5vbkNvbnRleHRMb3N0KTticmVha319dGhpcy5yZW5kZXJlci5zZXRVc2VEYXJrTW9kZSh0LnVzZURhcmtNb2RlKSx0aGlzLnNlcmllc0xpbmVWaWV3PW5ldyBqZ3Qoe3JlbmRlcmVyOnRoaXMucmVuZGVyZXIsY29vcmRpbmF0b3I6dGhpcy5jb29yZGluYXRvcixnZXRNZXRhZGF0YU1hcDooKT0+dGhpcy5tZXRhZGF0YU1hcH0pLHRoaXMucmVzaXplKHQuZG9tRGltZW5zaW9uKX1kaXNwb3NlKCl7fXNldFhTY2FsZVR5cGUodCl7dGhpcy5jb29yZGluYXRvci5zZXRYU2NhbGUoZ3J0KHQpKSx0aGlzLnNjaGVkdWxlUmVwYWludCgpfXNldFlTY2FsZVR5cGUodCl7dGhpcy5jb29yZGluYXRvci5zZXRZU2NhbGUoZ3J0KHQpKSx0aGlzLnNjaGVkdWxlUmVwYWludCgpfXJlc2l6ZSh0KXt0aGlzLmNvb3JkaW5hdG9yLnNldERvbUNvbnRhaW5lclJlY3QoT2JqZWN0LmFzc2lnbih7eDowLHk6MH0sdCkpLHRoaXMucmVuZGVyZXIub25SZXNpemUoT2JqZWN0LmFzc2lnbih7eDowLHk6MH0sdCkpLHRoaXMuc2VyaWVzTGluZVZpZXcuc2V0TGF5b3V0UmVjdChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3g6MCx5OjB9KSksdGhpcy5zY2hlZHVsZVJlcGFpbnQoKX1zZXRNZXRhZGF0YSh0KXtsZXQgZT0hMTtPYmplY3QuZW50cmllcyh0KS5mb3JFYWNoKCgoW3Qsbl0pPT57Y29uc3Qgbz10aGlzLm1ldGFkYXRhTWFwW3RdO28mJm4uY29sb3I9PT1vLmNvbG9yJiZuLnZpc2libGU9PT1vLnZpc2libGUmJm4ub3BhY2l0eT09PW8ub3BhY2l0eXx8KGU9ITApLHRoaXMubWV0YWRhdGFNYXBbdF09bn0pKSxlJiZ0aGlzLnNlcmllc0xpbmVWaWV3Lm1hcmtBc1BhaW50RGlydHkoKSx0aGlzLnNjaGVkdWxlUmVwYWludCgpfXNldFZpZXdCb3godCl7dGhpcy5jb29yZGluYXRvci5zZXRWaWV3Qm94UmVjdCh7eDp0LnhbMF0sd2lkdGg6dC54WzFdLXQueFswXSx5OnQueVswXSxoZWlnaHQ6dC55WzFdLXQueVswXX0pLHRoaXMuc2NoZWR1bGVSZXBhaW50KCl9c2V0RGF0YSh0KXt0aGlzLnNlcmllc0xpbmVWaWV3LnNldERhdGEodCksdGhpcy5zY2hlZHVsZVJlcGFpbnQoKX1zZXRVc2VEYXJrTW9kZSh0KXt0aGlzLnJlbmRlcmVyLnNldFVzZURhcmtNb2RlKHQpLHRoaXMuc2VyaWVzTGluZVZpZXcubWFya0FzUGFpbnREaXJ0eSgpLHRoaXMuc2NoZWR1bGVSZXBhaW50KCl9c2NoZWR1bGVSZXBhaW50KCl7dGhpcy5zaG91bGRSZXBhaW50fHwodGhpcy5zaG91bGRSZXBhaW50PSEwLFdndCgoKCk9Pnt0aGlzLnJlcGFpbnQoKSx0aGlzLnNob3VsZFJlcGFpbnQ9ITF9KSkpfXJlcGFpbnQoKXt0aGlzLnNlcmllc0xpbmVWaWV3LnJlbmRlcigpLHRoaXMucmVuZGVyZXIuZmx1c2goKSx0aGlzLmNhbGxiYWNrcy5vbkRyYXdFbmQoKX19dmFyIFlndCxxZ3Q7ZnVuY3Rpb24gWmd0KHQpe2lmKHQuaW5jbHVkZXMoIi8iKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiV29ya2VyIGZhY3Rvcnkgb25seSBhbGxvd3MgZmlsZSBuYW1lIGFuZCBubyByZXNvdXJjZSBwYXRoLiIpO3JldHVybiBuZXcgV29ya2VyKHQpfSEoZnVuY3Rpb24odCl7dFt0LlNFUklFU19EQVRBX1VQREFURUQ9MF09IlNFUklFU19EQVRBX1VQREFURUQiLHRbdC5TRVJJRVNfTUVUQURBVEFfQ0hBTkdFRD0xXT0iU0VSSUVTX01FVEFEQVRBX0NIQU5HRUQiLHRbdC5TQ0FMRV9VUERBVEVEPTJdPSJTQ0FMRV9VUERBVEVEIix0W3QuVklFV19CT1hfVVBEQVRFRD0zXT0iVklFV19CT1hfVVBEQVRFRCIsdFt0LklOSVQ9NF09IklOSVQiLHRbdC5ET01fUkVTSVpFRD01XT0iRE9NX1JFU0laRUQiLHRbdC5EQVJLX01PREVfVVBEQVRFRD02XT0iREFSS19NT0RFX1VQREFURUQiLHRbdC5ESVNQT1NFRD03XT0iRElTUE9TRUQifSkoWWd0fHwoWWd0PXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5PTl9SRURSQVdfRU5EPTBdPSJPTl9SRURSQVdfRU5EIix0W3QuT05fQ09OVEVYVF9MT1NUPTFdPSJPTl9DT05URVhUX0xPU1QifSkocWd0fHwocWd0PXt9KSk7Y2xhc3MgWGd0e2NvbnN0cnVjdG9yKHQpe2lmKHRoaXMuY2FsbGJhY2tzPXQuY2FsbGJhY2tzLHQudHlwZSE9PWU2LldFQkdMKXRocm93IG5ldyBSYW5nZUVycm9yKGBDYW5ub3QgdXNlIG5vbiBXRUJHTCByZW5kZXJlciBmb3IgdGhlIG9mZnNjcmVlbiBsaW5lIGNoYXJ0LiBSZWNlaXZlZCAke2U2W3QudHlwZV19IGApO2NvbnN0IGU9bmV3IE1lc3NhZ2VDaGFubmVsO2UucG9ydDEub25tZXNzYWdlPXQ9Pnt0aGlzLm9uTWVzc2FnZUZyb21Xb3JrZXIodC5kYXRhKX0sdGhpcy50eE1lc3NhZ2VQb3J0PWUucG9ydDE7Y29uc3Qgbj10LmNvbnRhaW5lci50cmFuc2ZlckNvbnRyb2xUb09mZnNjcmVlbigpO3RoaXMud29ya2VySW5zdGFuY2U9WGd0LndvcmtlclBvb2wuZ2V0TmV4dCgpO2NvbnN0IG89e3R5cGU6WWd0LklOSVQsY2FudmFzOm4sZGV2aWNlUGl4ZWxSYXRpbzp3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyxkaW06dC5kb21EaW1lbnNpb24scmVuZGVyZXJUeXBlOnQudHlwZSx1c2VEYXJrTW9kZTp0LnVzZURhcmtNb2RlfTt0aGlzLndvcmtlckluc3RhbmNlLnBvc3RNZXNzYWdlKG8sW24sZS5wb3J0Ml0pfWRpc3Bvc2UoKXt0aGlzLnNlbmRNZXNzYWdlKHt0eXBlOllndC5ESVNQT1NFRH0pLHRoaXMud29ya2VySW5zdGFuY2UuZnJlZSgpLHRoaXMudHhNZXNzYWdlUG9ydC5jbG9zZSgpfXNldFhTY2FsZVR5cGUodCl7dGhpcy5zZW5kTWVzc2FnZSh7dHlwZTpZZ3QuU0NBTEVfVVBEQVRFRCxheGlzOiJ4IixzY2FsZVR5cGU6dH0pfXNldFlTY2FsZVR5cGUodCl7dGhpcy5zZW5kTWVzc2FnZSh7dHlwZTpZZ3QuU0NBTEVfVVBEQVRFRCxheGlzOiJ5IixzY2FsZVR5cGU6dH0pfXJlc2l6ZSh0KXt0aGlzLnNlbmRNZXNzYWdlKHt0eXBlOllndC5ET01fUkVTSVpFRCxkaW06dH0pfXNldE1ldGFkYXRhKHQpe3RoaXMuc2VuZE1lc3NhZ2Uoe3R5cGU6WWd0LlNFUklFU19NRVRBREFUQV9DSEFOR0VELG1ldGFkYXRhOnR9KX1zZXRWaWV3Qm94KHQpe3RoaXMuc2VuZE1lc3NhZ2Uoe3R5cGU6WWd0LlZJRVdfQk9YX1VQREFURUQsZXh0ZW50OnR9KX1zZXREYXRhKHQpe2NvbnN0IGU9KGZ1bmN0aW9uIG4odCl7Y29uc3QgZT10LnJlZHVjZSgoKHQsZSk9PnQrZS5wb2ludHMubGVuZ3RoKSwwKTtsZXQgbj0wO2NvbnN0IG89bmV3IEZsb2F0NjRBcnJheSgyKmUpLGk9W107Zm9yKGNvbnN0IGUgb2YgdCl7aS5wdXNoKHtpZDplLmlkLGxlbmd0aDplLnBvaW50cy5sZW5ndGh9KTtmb3IobGV0IHQ9MDt0PGUucG9pbnRzLmxlbmd0aDt0Kyspb1tuKytdPWUucG9pbnRzW3RdLngsb1tuKytdPWUucG9pbnRzW3RdLnl9cmV0dXJue2lkc0FuZExlbmd0aHM6aSxmbGF0dGVuZWRTZXJpZXM6by5idWZmZXJ9fSkodCk7dGhpcy5zZW5kTWVzc2FnZSh7dHlwZTpZZ3QuU0VSSUVTX0RBVEFfVVBEQVRFRCxjb21wYWN0RGF0YVNlcmllczplfSxbZS5mbGF0dGVuZWRTZXJpZXNdKX1zZXRVc2VEYXJrTW9kZSh0KXt0aGlzLnNlbmRNZXNzYWdlKHt0eXBlOllndC5EQVJLX01PREVfVVBEQVRFRCx1c2VEYXJrTW9kZTp0fSl9c2VuZE1lc3NhZ2UodCxlKXtlP3RoaXMudHhNZXNzYWdlUG9ydC5wb3N0TWVzc2FnZSh0LGUpOnRoaXMudHhNZXNzYWdlUG9ydC5wb3N0TWVzc2FnZSh0KX1vbk1lc3NhZ2VGcm9tV29ya2VyKHQpe3N3aXRjaCh0LnR5cGUpe2Nhc2UgcWd0Lk9OX1JFRFJBV19FTkQ6dGhpcy5jYWxsYmFja3Mub25EcmF3RW5kKCk7YnJlYWs7Y2FzZSBxZ3QuT05fQ09OVEVYVF9MT1NUOnRoaXMuY2FsbGJhY2tzLm9uQ29udGV4dExvc3QoKX19fWZ1bmN0aW9uIEtndCh0KXtzd2l0Y2godCl7Y2FzZSBlNi5TVkc6cmV0dXJuIGU2LlNWRztjYXNlIGU2LldFQkdMOnJldHVybihmdW5jdGlvbiBlKCl7cmV0dXJuIF9ydH0pKCk/ZTYuV0VCR0w6ZTYuU1ZHO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHJlbmRlcmVyVHlwZTogJHt0fWApfX1mdW5jdGlvbiBKZ3QodCxlKXtyZXR1cm4ieCI9PT1lP1swLHQud2lkdGhdOlt0LmhlaWdodCwwXX1mdW5jdGlvbiBRZ3QodCxlKXtjb25zdCBuPU1hdGguZmxvb3IodC81MCk7cmV0dXJuIE1hdGgubWluKG4sZSl9ZnVuY3Rpb24gJGd0KHQsZSl7aWYoMSZ0JiYob2EoKSx2ZigwLCJsaW5lIiwyKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoKTtjdSgiemVybyIsMD09PXQpLHltKCJ4MSIsbi5nZXREb21YKHQpKSgieDIiLG4uZ2V0RG9tWCh0KSkoInkyIixuLmRvbURpbS5oZWlnaHQpfX1mdW5jdGlvbiB0aHQodCxlKXtpZigxJnQmJihvYSgpLHZmKDAsImxpbmUiLDMpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigpO2N1KCJ6ZXJvIiwwPT09dCkseW0oInkxIixuLmdldERvbVkodCkpKCJ4MiIsbi5kb21EaW0ud2lkdGgpKCJ5MiIsbi5nZXREb21ZKHQpKX19WGd0LndvcmtlclBvb2w9bmV3IGNsYXNze2NvbnN0cnVjdG9yKHQsZT0xMCxuPVpndCl7dGhpcy53b3JrZXJSZXNvdXJjZVBhdGg9dCx0aGlzLm1heFBvb2xTaXplPWUsdGhpcy53b3JrZXJGYWN0b3J5PW4sdGhpcy53b3JrZXJzPVtdfWdldE5leHQoKXtsZXQgdDtpZih0aGlzLndvcmtlcnMuZXZlcnkoKCh7YWN0aXZlQ291bnQ6dH0pPT50PjApKSYmdGhpcy53b3JrZXJzLmxlbmd0aDx0aGlzLm1heFBvb2xTaXplKXtjb25zdCBlPXRoaXMud29ya2VyRmFjdG9yeSh0aGlzLndvcmtlclJlc291cmNlUGF0aCk7dD17YWN0aXZlQ291bnQ6MCxwb3N0TWVzc2FnZToodCxuKT0+e2UucG9zdE1lc3NhZ2UodCxuKX0sZnJlZTooKT0+e3QuYWN0aXZlQ291bnQ9TWF0aC5tYXgodC5hY3RpdmVDb3VudC0xLDApfX0sdGhpcy53b3JrZXJzLnB1c2godCl9ZWxzZXtjb25zdCBlPXRoaXMud29ya2Vycy5tYXAoKCh7YWN0aXZlQ291bnQ6dH0pPT50KSksbj1lLmluZGV4T2YoTWF0aC5taW4oLi4uZSkpO3Q9dGhpcy53b3JrZXJzW25dfXJldHVybiB0LmFjdGl2ZUNvdW50KyssdH19KCJjaGFydF93b3JrZXIuanM/X2ZpbGVfaGFzaD01YTE3YmUwYSIpO2NsYXNzIGVodHtnZXREb21YKHQpe3JldHVybiB0aGlzLnhTY2FsZS5mb3J3YXJkKHRoaXMudmlld0V4dGVudC54LEpndCh0aGlzLmRvbURpbSwieCIpLHQpfWdldERvbVkodCl7cmV0dXJuIHRoaXMueVNjYWxlLmZvcndhcmQodGhpcy52aWV3RXh0ZW50LnksSmd0KHRoaXMuZG9tRGltLCJ5IiksdCl9Z2V0WFRpY2tzKCl7cmV0dXJuIHRoaXMueFNjYWxlLnRpY2tzKHRoaXMudmlld0V4dGVudC54LFFndCh0aGlzLmRvbURpbS53aWR0aCx0aGlzLnhHcmlkQ291bnQpKX1nZXRZVGlja3MoKXtyZXR1cm4gdGhpcy55U2NhbGUudGlja3ModGhpcy52aWV3RXh0ZW50LnksUWd0KHRoaXMuZG9tRGltLmhlaWdodCx0aGlzLnlHcmlkQ291bnQpKX19ZnVuY3Rpb24gbmh0KHQsZSxuLG8saSxhKXtsZXQgcjtzd2l0Y2godC5kZWx0YU1vZGUpe2Nhc2UgV2hlZWxFdmVudC5ET01fREVMVEFfUElYRUw6cj0xO2JyZWFrO2Nhc2UgV2hlZWxFdmVudC5ET01fREVMVEFfTElORTpyPTg7YnJlYWs7Y2FzZSBXaGVlbEV2ZW50LkRPTV9ERUxUQV9QQUdFOnI9MjA7YnJlYWs7ZGVmYXVsdDpyPTEsY29uc29sZS53YXJuKGBVbmtub3duIFdoZWVsRXZlbnQgZGVsdGFNb2RlOiAke3QuZGVsdGFNb2RlfS5gKX1jb25zdCBzPXQuZGVsdGFZKnIsbD1zPDA/TWF0aC5tYXgocypvLC0uOTUpOnMqbyx7d2lkdGg6YyxoZWlnaHQ6ZH09bixwPVtpLnJldmVyc2UoZS54LFswLGNdLC10Lm9mZnNldFgqbCksaS5yZXZlcnNlKGUueCxbMCxjXSxjKyhjLXQub2Zmc2V0WCkqbCldLG09W2EucmV2ZXJzZShlLnksW2QsMF0sLXQub2Zmc2V0WSpsKSxhLnJldmVyc2UoZS55LFtkLDBdLGQrKGQtdC5vZmZzZXRZKSpsKV07cmV0dXJue3g6cFsxXTxwWzBdP1twWzFdLHBbMF1dOnAseTptWzFdPG1bMF0/W21bMV0sbVswXV06bX19ZWh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxlaHQpfSxlaHQuybVjbXA9c28oe3R5cGU6ZWh0LHNlbGVjdG9yczpbWyJsaW5lLWNoYXJ0LWdyaWQtdmlldyJdXSxpbnB1dHM6e3ZpZXdFeHRlbnQ6InZpZXdFeHRlbnQiLHhTY2FsZToieFNjYWxlIix4R3JpZENvdW50OiJ4R3JpZENvdW50Iix5U2NhbGU6InlTY2FsZSIseUdyaWRDb3VudDoieUdyaWRDb3VudCIsZG9tRGltOiJkb21EaW0ifSxkZWNsczozLHZhcnM6Mixjb25zdHM6W1sieTEiLCIwIiwzLCJ6ZXJvIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbIngxIiwiMCIsMywiemVybyIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWyJ5MSIsIjAiXSxbIngxIiwiMCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYob2EoKSxDZigwLCJzdmciKSxIbSgxLCRndCwxLDUsImxpbmUiLDApLEhtKDIsdGh0LDEsNSwibGluZSIsMSksTWYoKSksMiZlJiYoRGMoMSksYmYoIm5nRm9yT2YiLG4uZ2V0WFRpY2tzKCkpLERjKDEpLGJmKCJuZ0Zvck9mIixuLmdldFlUaWNrcygpKSl9LGRpcmVjdGl2ZXM6W3h2XSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVdIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgc3ZnW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGxpbmVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgc3Ryb2tlOiAjY2NjO1xuICAgICAgICBzdHJva2Utd2lkdGg6IDFweDtcbiAgICAgIH1cblxuICAgICAgLnplcm9bX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgc3Ryb2tlOiAjYWFhO1xuICAgICAgICBzdHJva2Utd2lkdGg6IDEuNXB4O1xuICAgICAgfSJdLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihlaHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibGluZS1jaGFydC1ncmlkLXZpZXciLHRlbXBsYXRlOic8c3ZnPlxuICAgIDxsaW5lXG4gICAgICAqbmdGb3I9ImxldCB0aWNrIG9mIGdldFhUaWNrcygpIlxuICAgICAgW2NsYXNzLnplcm9dPSJ0aWNrID09PSAwIlxuICAgICAgW2F0dHIueDFdPSJnZXREb21YKHRpY2spIlxuICAgICAgeTE9IjAiXG4gICAgICBbYXR0ci54Ml09ImdldERvbVgodGljaykiXG4gICAgICBbYXR0ci55Ml09ImRvbURpbS5oZWlnaHQiXG4gICAgPjwvbGluZT5cbiAgICA8bGluZVxuICAgICAgKm5nRm9yPSJsZXQgdGljayBvZiBnZXRZVGlja3MoKSJcbiAgICAgIFtjbGFzcy56ZXJvXT0idGljayA9PT0gMCJcbiAgICAgIHgxPSIwIlxuICAgICAgW2F0dHIueTFdPSJnZXREb21ZKHRpY2spIlxuICAgICAgW2F0dHIueDJdPSJkb21EaW0ud2lkdGgiXG4gICAgICBbYXR0ci55Ml09ImdldERvbVkodGljaykiXG4gICAgPjwvbGluZT5cbiAgPC9zdmc+JyxzdHlsZXM6WyJcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgbGluZSB7XG4gICAgICAgIHN0cm9rZTogI2NjYztcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7XG4gICAgICB9XG5cbiAgICAgIC56ZXJvIHtcbiAgICAgICAgc3Ryb2tlOiAjYWFhO1xuICAgICAgICBzdHJva2Utd2lkdGg6IDEuNXB4O1xuICAgICAgfVxuICAgICJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLG51bGwse3ZpZXdFeHRlbnQ6W3t0eXBlOlJffV0seFNjYWxlOlt7dHlwZTpSX31dLHhHcmlkQ291bnQ6W3t0eXBlOlJffV0seVNjYWxlOlt7dHlwZTpSX31dLHlHcmlkQ291bnQ6W3t0eXBlOlJffV0sZG9tRGltOlt7dHlwZTpSX31dfSk7Y29uc3Qgb2h0PVsiZG90cyJdO2Z1bmN0aW9uIGlodCh0LGUpe2lmKDEmdCYmKG9hKCksdmYoMCwiY2lyY2xlIiwxMikpLDImdCl7Y29uc3QgdD16ZigpLiRpbXBsaWNpdCxlPXpmKDIpO3ltKCJjeCIsZS5nZXREb21YKHQucG9pbnQueCkpKCJjeSIsZS5nZXREb21ZKHQucG9pbnQueSkpKCJmaWxsIix0Lm1ldGFkYXRhLmNvbG9yKX19ZnVuY3Rpb24gYWh0KHQsZSl7aWYoMSZ0JiYob2EoKSx4ZigwKSxIbSgxLGlodCwxLDMsImNpcmNsZSIsMTEpLE9mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKDIpO0RjKDEpLGJmKCJuZ0lmIixuLnNob3VsZFJlbmRlclRvb2x0aXBQb2ludCh0LnBvaW50KSl9fWZ1bmN0aW9uIHJodCh0LGUpe2lmKDEmdCYmKG9hKCkseGYoMCksSG0oMSxhaHQsMiwxLCJuZy1jb250YWluZXIiLDEwKSxPZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxiZigibmdGb3JPZiIsdC5jdXJzb3JlZERhdGEpKCJuZ0ZvclRyYWNrQnkiLHQudHJhY2tCeVNlcmllc05hbWUpfX1mdW5jdGlvbiBzaHQodCxlKXtpZigxJnQmJihvYSgpLHZmKDAsInJlY3QiLDEzKSksMiZ0KXtjb25zdCB0PXpmKCk7eW0oIngiLHQuem9vbUJveEluVWlDb29yZGluYXRlLngpKCJ3aWR0aCIsdC56b29tQm94SW5VaUNvb3JkaW5hdGUud2lkdGgpKCJ5Iix0Lnpvb21Cb3hJblVpQ29vcmRpbmF0ZS55KSgiaGVpZ2h0Iix0Lnpvb21Cb3hJblVpQ29vcmRpbmF0ZS5oZWlnaHQpfX1jb25zdCBsaHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm57ZGF0YTp0LGN1cnNvckxvY2F0aW9uSW5EYXRhQ29vcmQ6ZX19O2Z1bmN0aW9uIGNodCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTQpLFBmKDEsMTUpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpLGU9Rm0oMTEpO0RjKDEpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0Iix0LnRvb2x0aXBUZW1wbGF0ZT90LnRvb2x0aXBUZW1wbGF0ZTplKSgibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLGF5KDIsbGh0LHQuY3Vyc29yZWREYXRhLHQuY3Vyc29yTG9jYXRpb25JbkRhdGFDb29yZCkpfX1mdW5jdGlvbiBkaHQodCxlKXtpZigxJnQmJih4ZigwKSxDZigxLCJ0ciIsMTcpLENmKDIsInRkIiwxOCksdmYoMywic3BhbiIpLE1mKCksQ2YoNCwidGQiLDE5KSxQdSg1KSxNZigpLENmKDYsInRkIiksUHUoNyksTWYoKSxDZig4LCJ0ZCIpLFB1KDkpLE1mKCksTWYoKSxPZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQ7RGMoMyksbHUoImJhY2tncm91bmQtY29sb3IiLHQubWV0YWRhdGEuY29sb3IpLERjKDIpLHd1KHQubWV0YWRhdGEuZGlzcGxheU5hbWUpLERjKDIpLHd1KHQucG9pbnQueSksRGMoMiksd3UodC5wb2ludC54KX19ZnVuY3Rpb24gcGh0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwidGFibGUiKSxDZigxLCJ0aGVhZCIpLENmKDIsInRyIiksdmYoMywidGgiLDE2KSxDZig0LCJ0aCIpLFB1KDUsIk5hbWUiKSxNZigpLENmKDYsInRoIiksUHUoNywiWSIpLE1mKCksQ2YoOCwidGgiKSxQdSg5LCJYIiksTWYoKSxNZigpLE1mKCksQ2YoMTAsInRib2R5IiksSG0oMTEsZGh0LDEwLDUsIm5nLWNvbnRhaW5lciIsMTApLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PWUuZGF0YSxuPXpmKCk7RGMoMTEpLGJmKCJuZ0Zvck9mIix0KSgibmdGb3JUcmFja0J5IixuLnRyYWNrQnlTZXJpZXNOYW1lKX19dmFyIG1odDshKGZ1bmN0aW9uKHQpe3RbdC5OT05FPTBdPSJOT05FIix0W3QuRFJBR19aT09NSU5HPTFdPSJEUkFHX1pPT01JTkciLHRbdC5TQ1JPTExfWk9PTUlORz0yXT0iU0NST0xMX1pPT01JTkciLHRbdC5QQU5OSU5HPTNdPSJQQU5OSU5HIn0pKG1odHx8KG1odD17fSkpO2Z1bmN0aW9uIGZodCh0KXtyZXR1cm4gdC5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKX1jbGFzcyB1aHR7Y29uc3RydWN0b3IodCxlKXt0aGlzLmNoYW5nZURldGVjdG9yPXQsdGhpcy5zY3JvbGxTdHJhdGVneT1lLHRoaXMub25WaWV3RXh0ZW50Q2hhbmdlPW5ldyBTeSx0aGlzLm9uVmlld0V4dGVudFJlc2V0PW5ldyBTeSx0aGlzLkludGVyYWN0aW9uU3RhdGU9bWh0LHRoaXMuc3RhdGU9bWh0Lk5PTkUsdGhpcy5zcGVjaWFsS2V5UHJlc3NlZD0hMSx0aGlzLnpvb21Cb3hJblVpQ29vcmRpbmF0ZT17eDowLHdpZHRoOjAsaGVpZ2h0OjAseTowfSx0aGlzLnRvb2x0aXBQb3NpdGlvbnM9W3tvZmZzZXRZOjUsb3JpZ2luWDoic3RhcnQiLG92ZXJsYXlYOiJzdGFydCIsb3JpZ2luWToiYm90dG9tIixvdmVybGF5WToidG9wIn0se29mZnNldFk6NSxvcmlnaW5YOiJlbmQiLG92ZXJsYXlYOiJlbmQiLG9yaWdpblk6ImJvdHRvbSIsb3ZlcmxheVk6InRvcCJ9LHtvZmZzZXRZOi0xNSxvcmlnaW5YOiJzdGFydCIsb3ZlcmxheVg6InN0YXJ0IixvcmlnaW5ZOiJ0b3AiLG92ZXJsYXlZOiJib3R0b20ifSx7b2Zmc2V0WTotMTUsb3JpZ2luWDoiZW5kIixvdmVybGF5WDoiZW5kIixvcmlnaW5ZOiJ0b3AiLG92ZXJsYXlZOiJib3R0b20ifSx7b2Zmc2V0WDo1LG9yaWdpblg6ImVuZCIsb3ZlcmxheVg6InN0YXJ0IixvcmlnaW5ZOiJ0b3AiLG92ZXJsYXlZOiJ0b3AifSx7b2Zmc2V0WDotNSxvcmlnaW5YOiJzdGFydCIsb3ZlcmxheVg6ImVuZCIsb3JpZ2luWToidG9wIixvdmVybGF5WToidG9wIn1dLHRoaXMuY3Vyc29yTG9jYXRpb25JbkRhdGFDb29yZD1udWxsLHRoaXMuY3Vyc29yZWREYXRhPVtdLHRoaXMudG9vbHRpcERpc3BsYXlBdHRhY2hlZD0hMSx0aGlzLnNob3dab29tSW5zdHJ1Y3Rpb249ITEsdGhpcy5kcmFnU3RhcnRDb29yZD1udWxsLHRoaXMuaXNDdXJzb3JJbnNpZGU9ITEsdGhpcy5uZ1Vuc3Vic2NyaWJlPW5ldyBCfW5nQWZ0ZXJWaWV3SW5pdCgpe2xlKHRoaXMuZG90c0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LCJkYmxjbGljayIse3Bhc3NpdmU6ITB9KS5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLm9uVmlld0V4dGVudFJlc2V0LmVtaXQoKSx0aGlzLnN0YXRlPW1odC5OT05FLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCl9KSksbGUod2luZG93LCJrZXlkb3duIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0PT57Y29uc3QgZT10aGlzLnNob3VsZFBhbih0KTtlIT09dGhpcy5zcGVjaWFsS2V5UHJlc3NlZCYmKHRoaXMuc3BlY2lhbEtleVByZXNzZWQ9ZSx0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpKX0pKSxsZSh3aW5kb3csImtleXVwIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0PT57Y29uc3QgZT10aGlzLnNob3VsZFBhbih0KTtlIT09dGhpcy5zcGVjaWFsS2V5UHJlc3NlZCYmKHRoaXMuc3BlY2lhbEtleVByZXNzZWQ9ZSx0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpKX0pKSxsZSh0aGlzLmRvdHNDb250YWluZXIubmF0aXZlRWxlbWVudCwibW91c2Vkb3duIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0PT57Y29uc3QgZT10aGlzLnN0YXRlLG49dGhpcy5zaG91bGRQYW4odCk/bWh0LlBBTk5JTkc6bWh0LkRSQUdfWk9PTUlORztlPT09bWh0Lk5PTkUmJm49PT1taHQuRFJBR19aT09NSU5HJiYodGhpcy5kcmFnU3RhcnRDb29yZD17eDp0Lm9mZnNldFgseTp0Lm9mZnNldFl9LHRoaXMuem9vbUJveEluVWlDb29yZGluYXRlPXt4OnQub2Zmc2V0WCx3aWR0aDowLHk6dC5vZmZzZXRZLGhlaWdodDowfSksZSE9PW4mJih0aGlzLnN0YXRlPW4sdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKSl9KSksbGUodGhpcy5kb3RzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIm1vdXNldXAiLHtwYXNzaXZlOiEwfSkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKHQ9Pntjb25zdCBlPSh0LmJ1dHRvbnMmaDAuTEVGVCk9PT1oMC5MRUZUO3RoaXMuZHJhZ1N0YXJ0Q29vcmQ9bnVsbDtjb25zdCBuPXRoaXMuem9vbUJveEluVWlDb29yZGluYXRlO2lmKCFlJiZ0aGlzLnN0YXRlPT09bWh0LkRSQUdfWk9PTUlORyYmbi53aWR0aD4wJiZuLmhlaWdodD4wKXtjb25zdCB0PXRoaXMuZ2V0RGF0YVgobi54KSxlPXRoaXMuZ2V0RGF0YVgobi54K24ud2lkdGgpLG89dGhpcy5nZXREYXRhWShuLnkrbi5oZWlnaHQpLGk9dGhpcy5nZXREYXRhWShuLnkpO3RoaXMub25WaWV3RXh0ZW50Q2hhbmdlLmVtaXQoe2RhdGFFeHRlbnQ6e3g6W3QsZV0seTpbbyxpXX19KX10aGlzLnN0YXRlIT09bWh0Lk5PTkUmJih0aGlzLnN0YXRlPW1odC5OT05FLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCkpfSkpLGxlKHRoaXMuZG90c0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LCJtb3VzZWVudGVyIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5pc0N1cnNvckluc2lkZT0hMCx0aGlzLnVwZGF0ZVRvb2x0aXAodCksdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKX0pKSxsZSh0aGlzLmRvdHNDb250YWluZXIubmF0aXZlRWxlbWVudCwibW91c2VsZWF2ZSIse3Bhc3NpdmU6ITB9KS5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgodD0+e3RoaXMuZHJhZ1N0YXJ0Q29vcmQ9bnVsbCx0aGlzLmlzQ3Vyc29ySW5zaWRlPSExLHRoaXMudXBkYXRlVG9vbHRpcCh0KSx0aGlzLnN0YXRlPW1odC5OT05FLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCl9KSksbGUodGhpcy5kb3RzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIm1vdXNlbW92ZSIse3Bhc3NpdmU6ITB9KS5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgodD0+e3N3aXRjaCh0aGlzLnN0YXRlKXtjYXNlIG1odC5TQ1JPTExfWk9PTUlORzp0aGlzLnN0YXRlPW1odC5OT05FLHRoaXMudXBkYXRlVG9vbHRpcCh0KSx0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO2JyZWFrO2Nhc2UgbWh0Lk5PTkU6dGhpcy51cGRhdGVUb29sdGlwKHQpLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7YnJlYWs7Y2FzZSBtaHQuUEFOTklORzp7Y29uc3QgZT0tdC5tb3ZlbWVudFgsbj0tdC5tb3ZlbWVudFkse3dpZHRoOm8saGVpZ2h0Oml9PXRoaXMuZG9tRGltLGE9dGhpcy5nZXREYXRhWChlKSxyPXRoaXMuZ2V0RGF0YVgobytlKSxzPXRoaXMuZ2V0RGF0YVkoaStuKSxsPXRoaXMuZ2V0RGF0YVkobik7dGhpcy5vblZpZXdFeHRlbnRDaGFuZ2UuZW1pdCh7ZGF0YUV4dGVudDp7eDpbYSxyXSx5OltzLGxdfX0pO2JyZWFrfWNhc2UgbWh0LkRSQUdfWk9PTUlORzp7aWYoIXRoaXMuZHJhZ1N0YXJ0Q29vcmQpYnJlYWs7Y29uc3QgZT1bdGhpcy5kcmFnU3RhcnRDb29yZC54LHQub2Zmc2V0WF0sbj1bdGhpcy5kcmFnU3RhcnRDb29yZC55LHQub2Zmc2V0WV07dGhpcy56b29tQm94SW5VaUNvb3JkaW5hdGU9e3g6TWF0aC5taW4oLi4uZSksd2lkdGg6TWF0aC5tYXgoLi4uZSktTWF0aC5taW4oLi4uZSkseTpNYXRoLm1pbiguLi5uKSxoZWlnaHQ6TWF0aC5tYXgoLi4ubiktTWF0aC5taW4oLi4ubil9fXRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCl9fSkpLGxlKHRoaXMuZG90c0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LCJ3aGVlbCIse3Bhc3NpdmU6ITF9KS5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSksVmUoKHQ9Pntjb25zdCBlPSF0LmN0cmxLZXkmJiF0LnNoaWZ0S2V5JiZ0LmFsdEtleTtyZXR1cm4gdGhpcy5zaG93Wm9vbUluc3RydWN0aW9uPSFlLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCksZT8odC5wcmV2ZW50RGVmYXVsdCgpLHp0KHQpKTpkZSgzZTMpLnBpcGUoV2UoKCgpPT57dGhpcy5zaG93Wm9vbUluc3RydWN0aW9uPSExLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCl9KSksVnQoKCgpPT5udWxsKSkpfSkpLHVlKCh0PT5Cb29sZWFuKHQpKSkpLnN1YnNjcmliZSgodD0+e3RoaXMub25WaWV3RXh0ZW50Q2hhbmdlLmVtaXQoe2RhdGFFeHRlbnQ6bmh0KHQsdGhpcy52aWV3RXh0ZW50LHRoaXMuZG9tRGltLC4wMSx0aGlzLnhTY2FsZSx0aGlzLnlTY2FsZSl9KSx0aGlzLnN0YXRlIT09bWh0LlNDUk9MTF9aT09NSU5HJiYodGhpcy5zdGF0ZT1taHQuU0NST0xMX1pPT01JTkcsdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKSl9KSl9bmdPbkNoYW5nZXMoKXt0aGlzLnVwZGF0ZUN1cnNvcmVkRGF0YUFuZFRvb2x0aXBWaXNpYmlsaXR5KCl9bmdPbkRlc3Ryb3koKXt0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpLHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpfXNob3VsZFBhbih0KXtjb25zdCBlPXQuc2hpZnRLZXl8fHQuYWx0S2V5O2lmKHQgaW5zdGFuY2VvZiBLZXlib2FyZEV2ZW50KXJldHVybiBlO2NvbnN0IG49KHQuYnV0dG9ucyZoMC5MRUZUKT09PWgwLkxFRlQsbz0odC5idXR0b25zJmgwLk1JRERMRSk9PT1oMC5NSURETEU7cmV0dXJuISghbiYmIW8pJiYobyYmIW58fGUpfXRyYWNrQnlTZXJpZXNOYW1lKHQsZSl7cmV0dXJuIGUuaWR9Z2V0RG9tWCh0KXtyZXR1cm4gdGhpcy54U2NhbGUuZm9yd2FyZCh0aGlzLnZpZXdFeHRlbnQueCxKZ3QodGhpcy5kb21EaW0sIngiKSx0KX1nZXREYXRhWCh0KXtyZXR1cm4gdGhpcy54U2NhbGUucmV2ZXJzZSh0aGlzLnZpZXdFeHRlbnQueCxKZ3QodGhpcy5kb21EaW0sIngiKSx0KX1nZXREb21ZKHQpe3JldHVybiB0aGlzLnlTY2FsZS5mb3J3YXJkKHRoaXMudmlld0V4dGVudC55LEpndCh0aGlzLmRvbURpbSwieSIpLHQpfWdldERhdGFZKHQpe3JldHVybiB0aGlzLnlTY2FsZS5yZXZlcnNlKHRoaXMudmlld0V4dGVudC55LEpndCh0aGlzLmRvbURpbSwieSIpLHQpfXNob3VsZFJlbmRlclRvb2x0aXBQb2ludCh0KXtyZXR1cm4gbnVsbCE9PXQmJiFpc05hTih0LngpJiYhaXNOYU4odC55KX11cGRhdGVUb29sdGlwKHQpe3RoaXMuY3Vyc29yTG9jYXRpb25JbkRhdGFDb29yZD17eDp0aGlzLmdldERhdGFYKHQub2Zmc2V0WCkseTp0aGlzLmdldERhdGFZKHQub2Zmc2V0WSl9LHRoaXMudXBkYXRlQ3Vyc29yZWREYXRhQW5kVG9vbHRpcFZpc2liaWxpdHkoKX1vblRvb2x0aXBEaXNwbGF5RGV0YWNoZWQoKXt0aGlzLnRvb2x0aXBEaXNwbGF5QXR0YWNoZWQ9ITF9dXBkYXRlQ3Vyc29yZWREYXRhQW5kVG9vbHRpcFZpc2liaWxpdHkoKXtjb25zdCB0PXRoaXMuY3Vyc29yTG9jYXRpb25JbkRhdGFDb29yZDtpZihudWxsPT09dClyZXR1cm4gdGhpcy5jdXJzb3JlZERhdGE9W10sdm9pZCh0aGlzLnRvb2x0aXBEaXNwbGF5QXR0YWNoZWQ9ITEpO3RoaXMuY3Vyc29yZWREYXRhPXRoaXMuaXNDdXJzb3JJbnNpZGU/dGhpcy5zZXJpZXNEYXRhLm1hcCgodD0+KHtzZXJpZXNEYXR1bTp0LG1ldGFkYXRhOnRoaXMuc2VyaWVzTWV0YWRhdGFNYXBbdC5pZF19KSkpLmZpbHRlcigoKHttZXRhZGF0YTp0fSk9PnQmJnQudmlzaWJsZSYmIUJvb2xlYW4odC5hdXgpKSkubWFwKCgoe3Nlcmllc0RhdHVtOmUsbWV0YWRhdGE6bn0pPT57Y29uc3Qgbz0oZnVuY3Rpb24gaSh0LGUpe2NvbnN0IG49TWF0aC5taW4oaDYodC5tYXAoKCh7eDp0fSk9PnQpKSxlKSx0Lmxlbmd0aC0xKSxvPU1hdGgubWF4KDAsbi0xKTtyZXR1cm4gTWF0aC5hYnModFtvXS54LWUpLU1hdGguYWJzKHRbbl0ueC1lKTw9MD9vOm59KShlLnBvaW50cyx0LngpO3JldHVybntpZDplLmlkLGNsb3Nlc3RQb2ludEluZGV4Om8scG9pbnQ6ZS5wb2ludHNbb10sbWV0YWRhdGE6bn19KSkuZmlsdGVyKCh0PT50KSk6W10sdGhpcy50b29sdGlwRGlzcGxheUF0dGFjaGVkPUJvb2xlYW4odGhpcy5jdXJzb3JlZERhdGEubGVuZ3RoKX19dWh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx1aHQpKGdmKE9iKSxnZihPQikpfSx1aHQuybVjbXA9c28oe3R5cGU6dWh0LHNlbGVjdG9yczpbWyJsaW5lLWNoYXJ0LWludGVyYWN0aXZlLXZpZXciXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihWeShvaHQsNyxLaCksVnkodFYsNSkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uZG90c0NvbnRhaW5lcj10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5vdmVybGF5PXQuZmlyc3QpfX0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoInNob3ctem9vbS1pbnN0cnVjdGlvbiIsbi5zaG93Wm9vbUluc3RydWN0aW9uKX0saW5wdXRzOntzZXJpZXNEYXRhOiJzZXJpZXNEYXRhIixzZXJpZXNNZXRhZGF0YU1hcDoic2VyaWVzTWV0YWRhdGFNYXAiLHZpZXdFeHRlbnQ6InZpZXdFeHRlbnQiLHhTY2FsZToieFNjYWxlIix5U2NhbGU6InlTY2FsZSIsZG9tRGltOiJkb21EaW0iLHRvb2x0aXBPcmlnaW5FbDoidG9vbHRpcE9yaWdpbkVsIix0b29sdGlwVGVtcGxhdGU6InRvb2x0aXBUZW1wbGF0ZSJ9LG91dHB1dHM6e29uVmlld0V4dGVudENoYW5nZToib25WaWV3RXh0ZW50Q2hhbmdlIixvblZpZXdFeHRlbnRSZXNldDoib25WaWV3RXh0ZW50UmVzZXQifSxmZWF0dXJlczpbamgoW3twcm92aWRlOk9CLHVzZUZhY3Rvcnk6Zmh0LGRlcHM6W0tCXX1dKSxxb10sZGVjbHM6MTIsdmFyczoxNSxjb25zdHM6W1sxLCJkb3RzIl0sWyJkb3RzIiwiIl0sWzQsIm5nSWYiXSxbImNsYXNzIiwiem9vbS1ib3giLDQsIm5nSWYiXSxbMSwiem9vbS1pbnN0cnVjdGlvbiJdLFsxLCJpbnN0cnVjdGlvbi1jb250ZW50Il0sWyJjZGtPdmVybGF5T3JpZ2luIiwiIiwxLCJ0b29sdGlwLW9yaWdpbiJdLFsidG9vbHRpcE9yaWdpbiIsImNka092ZXJsYXlPcmlnaW4iXSxbImNka0Nvbm5lY3RlZE92ZXJsYXkiLCIiLDMsImNka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW4iLCJjZGtDb25uZWN0ZWRPdmVybGF5T3BlbiIsImNka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnMiLCJjZGtDb25uZWN0ZWRPdmVybGF5U2Nyb2xsU3RyYXRlZ3kiLCJjZGtDb25uZWN0ZWRPdmVybGF5TG9ja1Bvc2l0aW9uIiwiY2RrQ29ubmVjdGVkT3ZlcmxheUZsZXhpYmxlRGltZW5zaW9ucyIsImNka0Nvbm5lY3RlZE92ZXJsYXlHcm93QWZ0ZXJPcGVuIiwiZGV0YWNoIl0sWyJkZWZhdWx0VG9vbHRpcCIsIiJdLFs0LCJuZ0ZvciIsIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiXSxbInIiLCI0Iiw0LCJuZ0lmIl0sWyJyIiwiNCJdLFsxLCJ6b29tLWJveCJdLFsxLCJ0b29sdGlwLWNvbnRhaW5lciJdLFszLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldENvbnRleHQiXSxbMSwiY2lyY2xlLWhlYWRlciJdLFsxLCJ0b29sdGlwLXJvdyJdLFsxLCJ0b29sdGlwLXJvdy1jaXJjbGUiXSxbMSwibmFtZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYob2EoKSxDZigwLCJzdmciLDAsMSksSG0oMixyaHQsMiwyLCJuZy1jb250YWluZXIiLDIpLEhtKDMsc2h0LDEsNCwicmVjdCIsMyksTWYoKSxhYSgpLENmKDQsImRpdiIsNCksQ2YoNSwic3BhbiIsNSksUHUoNiwiQWx0ICsgU2Nyb2xsIHRvIFpvb20iKSxNZigpLE1mKCksdmYoNywiZGl2Iiw2LDcpLEhtKDksY2h0LDIsNSwibmctdGVtcGxhdGUiLDgpLFJmKCJkZXRhY2giLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub29sdGlwRGlzcGxheURldGFjaGVkKCl9KSksSG0oMTAscGh0LDEyLDIsIm5nLXRlbXBsYXRlIixudWxsLDkscXkpKSwyJmUmJihjdSgicGFubmFibGUiLG4uc3BlY2lhbEtleVByZXNzZWQpKCJkcmFnZ2FibGUiLG4uc3RhdGU9PT1uLkludGVyYWN0aW9uU3RhdGUuTk9ORXx8bi5zdGF0ZT09PW4uSW50ZXJhY3Rpb25TdGF0ZS5EUkFHX1pPT01JTkcpKCJwYW5uaW5nIixuLnN0YXRlPT09bi5JbnRlcmFjdGlvblN0YXRlLlBBTk5JTkcpLERjKDIpLGJmKCJuZ0lmIixuLnN0YXRlPT09bi5JbnRlcmFjdGlvblN0YXRlLk5PTkUpLERjKDEpLGJmKCJuZ0lmIixuLnN0YXRlPT09bi5JbnRlcmFjdGlvblN0YXRlLkRSQUdfWk9PTUlORyksRGMoNiksYmYoImNka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW4iLG4udG9vbHRpcE9yaWdpbkVsKSgiY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW4iLG4udG9vbHRpcERpc3BsYXlBdHRhY2hlZCYmbi5zdGF0ZT09PW4uSW50ZXJhY3Rpb25TdGF0ZS5OT05FKSgiY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9ucyIsbi50b29sdGlwUG9zaXRpb25zKSgiY2RrQ29ubmVjdGVkT3ZlcmxheVNjcm9sbFN0cmF0ZWd5IixuLnNjcm9sbFN0cmF0ZWd5KSgiY2RrQ29ubmVjdGVkT3ZlcmxheUxvY2tQb3NpdGlvbiIsITEpKCJjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zIiwhMCkoImNka0Nvbm5lY3RlZE92ZXJsYXlHcm93QWZ0ZXJPcGVuIiwhMCkpfSxkaXJlY3RpdmVzOltQdiwkQix0Vix4dixJdl0sc3R5bGVzOlsiW19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7dXNlci1zZWxlY3Q6bm9uZX0uZG90c1tfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uZG90cy5kcmFnZ2FibGVbX25nY29udGVudC0lQ09NUCVde2N1cnNvcjpjcm9zc2hhaXJ9LmRvdHMucGFubmFibGVbX25nY29udGVudC0lQ09NUCVde2N1cnNvcjpncmFifS5kb3RzLnBhbm5pbmdbX25nY29udGVudC0lQ09NUCVde2N1cnNvcjpncmFiYmluZ30udG9vbHRpcC1yb3ctY2lyY2xlW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS50b29sdGlwLXJvdy1jaXJjbGVbX25nY29udGVudC0lQ09NUCVdID4gc3Bhbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC42KTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTBweDt3aWR0aDoxMHB4fS50b29sdGlwLW9yaWdpbltfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9LnRvb2x0aXAtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjg1KTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO2NvbnRhaW46cGFpbnQgc3R5bGUgbGF5b3V0O2ZvbnQtc2l6ZTouOWVtO292ZXJmbG93OmF1dG87cGFkZGluZzo1cHg7cG9pbnRlci1ldmVudHM6bm9uZTt3aWR0aDoxMDAlfXRoW19uZ2NvbnRlbnQtJUNPTVAlXSwgdGRbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDVweDt0ZXh0LWFsaWduOmxlZnR9dGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWJvdHRvbTo1cHh9Lnpvb20tYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmaWxsLW9wYWNpdHk6LjAzO2ZpbGw6IzAwMDtzdHJva2U6I2NjY30uem9vbS1pbnN0cnVjdGlvbltfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xlZnQ6MDtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDoxMHB4O3RyYW5zaXRpb246b3BhY2l0eSAuNXM7ei1pbmRleDoxfS5pbnN0cnVjdGlvbi1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1yYWRpdXM6NXB4O2NvbG9yOiNmZmY7cGFkZGluZzo1cHggMTBweDt1c2VyLXNlbGVjdDpub25lfS5zaG93LXpvb20taW5zdHJ1Y3Rpb25bX25naG9zdC0lQ09NUCVdICAgLnpvb20taW5zdHJ1Y3Rpb25bX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodWh0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImxpbmUtY2hhcnQtaW50ZXJhY3RpdmUtdmlldyIsdGVtcGxhdGVVcmw6Ii4vbGluZV9jaGFydF9pbnRlcmFjdGl2ZV92aWV3Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vbGluZV9jaGFydF9pbnRlcmFjdGl2ZV92aWV3LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpPQix1c2VGYWN0b3J5OmZodCxkZXBzOltLQl19XX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOk9ifSx7dHlwZTpPQn1dfSkse2RvdHNDb250YWluZXI6W3t0eXBlOmFyLGFyZ3M6WyJkb3RzIix7c3RhdGljOiEwLHJlYWQ6S2h9XX1dLG92ZXJsYXk6W3t0eXBlOmFyLGFyZ3M6W3RWXX1dLHNlcmllc0RhdGE6W3t0eXBlOlJffV0sc2VyaWVzTWV0YWRhdGFNYXA6W3t0eXBlOlJffV0sdmlld0V4dGVudDpbe3R5cGU6Ul99XSx4U2NhbGU6W3t0eXBlOlJffV0seVNjYWxlOlt7dHlwZTpSX31dLGRvbURpbTpbe3R5cGU6Ul99XSx0b29sdGlwT3JpZ2luRWw6W3t0eXBlOlJffV0sdG9vbHRpcFRlbXBsYXRlOlt7dHlwZTpSX31dLG9uVmlld0V4dGVudENoYW5nZTpbe3R5cGU6RV99XSxvblZpZXdFeHRlbnRSZXNldDpbe3R5cGU6RV99XSxzaG93Wm9vbUluc3RydWN0aW9uOlt7dHlwZTpBXyxhcmdzOlsiY2xhc3Muc2hvdy16b29tLWluc3RydWN0aW9uIl19XX0pO2Z1bmN0aW9uIGdodCh0LGUsbixvKXtyZXR1cm57bWFqb3I6W10sbWlub3I6dC50aWNrcyhvLG4pLm1hcCgodD0+KHt2YWx1ZTp0LHRpY2tGb3JtYXR0ZWRTdHJpbmc6ZS5mb3JtYXRUaWNrKHQpfSkpKX19ZnVuY3Rpb24gaGh0KHQsZSxuLG8pe2NvbnN0W2ksYV09byxyPU1hdGguYWJzKGEtaSk7aWYocj4uMDAxKXJldHVybiBnaHQodCxlLG4sbyk7Y29uc3Qgcz10LnRpY2tzKFtpLGFdLG4pLGw9dC50aWNrcyhbaSxhXSwyKSxjPVtdO2xldCBkPShmdW5jdGlvbiBwKHQpe2NvbnN0IGU9dC50b0V4cG9uZW50aWFsKCkuc3BsaXQoImUtIiwyKTtyZXR1cm4gMj09PWUubGVuZ3RoP051bWJlcihlWzFdKS0xOjB9KShyKTtyPDEmJmwuZXZlcnkoKHQ9Pntjb25zdCBlPU1hdGguYWJzKHQpO3JldHVybiBlPj0wJiZlPDF9KSkmJihkKz0xKTtjb25zdCBtPW5ldyBNYXA7Zm9yKGNvbnN0IHQgb2YgbCl7Y29uc3RbbixvPSIiXT1TdHJpbmcodCkuc3BsaXQoIi4iLDIpLGk9TnVtYmVyKG4rIi4iK28uc2xpY2UoMCxkKSk7bS5zZXQoaSx7c3RhcnQ6aSx0aWNrRm9ybWF0dGVkU3RyaW5nOjA9PT1pPyLigJQiOmUuZm9ybWF0UmVhZGFibGUoaSl9KX1jb25zdCBmPTEwKk1hdGgucG93KDEwLC1kKTtmb3IoY29uc3QgdCBvZiBzKWZvcihjb25zdCBuIG9mWy4uLm0ua2V5cygpXS5yZXZlcnNlKCkpe2NvbnN0IG89dC1uO2lmKG8+PTAmJm88Zil7aWYoMD09PW4pYy5wdXNoKHt2YWx1ZTp0LHRpY2tGb3JtYXR0ZWRTdHJpbmc6ZS5mb3JtYXRUaWNrKHQpfSk7ZWxzZXtjb25zdCBlPVN0cmluZyh0KS5zbGljZShTdHJpbmcobikubGVuZ3RoKTtjLnB1c2goe3ZhbHVlOnQsdGlja0Zvcm1hdHRlZFN0cmluZzpg4oCmJHtlfHwiMCJ9YH0pfWJyZWFrfX1yZXR1cm57bWFqb3I6QXJyYXkuZnJvbShtLnZhbHVlcygpKSxtaW5vcjpjfX1jb25zdCBiaHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKTtmdW5jdGlvbiB5aHQodCxlKXtpZigxJnQmJihvYSgpLENmKDAsImciLDE3KSxDZigxLCJ0ZXh0IiksUHUoMiksTWYoKSxDZigzLCJ0aXRsZSIpLFB1KDQpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoKTtEYygxKSxsdSgiZm9udCIsbi5heGlzRm9udCkseW0oIngiLG4udGV4dFhQb3NpdGlvbih0LnZhbHVlKSkoInkiLG4udGV4dFlQb3NpdGlvbih0LnZhbHVlKSksRGMoMSksa3UoIiAiLHQudGlja0Zvcm1hdHRlZFN0cmluZywiICIpLERjKDIpLHd1KG4uZ2V0Rm9ybWF0dGVyKCkuZm9ybWF0TG9uZyh0LnZhbHVlKSl9fWZ1bmN0aW9uIF9odCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDIwKSxDZigxLCJzcGFuIiksUHUoMiksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj1lLmluZGV4LG89ZS5sYXN0LGk9emYoMik7bHUoImxlZnQiLGkuZ2V0TWFqb3JYUG9zaXRpb24odCksInB4IikoIndpZHRoIixpLmdldE1ham9yV2lkdGhTdHJpbmcodCxvLGkubWFqb3JUaWNrc1tuKzFdKSkoImJvdHRvbSIsaS5nZXRNYWpvcllQb3NpdGlvbih0KSwicHgiKSgiaGVpZ2h0IixpLmdldE1ham9ySGVpZ2h0U3RyaW5nKHQsbyxpLm1ham9yVGlja3NbbisxXSkpKCJmb250IixpLmF4aXNGb250KSxjdSgibWFqb3ItbGFiZWwiLCEwKSgibGFzdCIsbyksYmYoInRpdGxlIixpLmdldEZvcm1hdHRlcigpLmZvcm1hdExvbmcodC5zdGFydCkpLERjKDIpLHd1KHQudGlja0Zvcm1hdHRlZFN0cmluZyl9fWZ1bmN0aW9uIENodCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTgpLEhtKDEsX2h0LDMsMTYsInNwYW4iLDE5KSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxiZigibmdGb3JPZiIsdC5tYWpvclRpY2tzKSgibmdGb3JUcmFja0J5Iix0LnRyYWNrQnlNYWpvclRpY2spfX1jbGFzcyBNaHR7Y29uc3RydWN0b3IoKXt0aGlzLm9uVmlld0V4dGVudENoYW5nZT1uZXcgU3ksdGhpcy5lZGl0TWVudU9wZW5lZD0hMSx0aGlzLm1ham9yVGlja3M9W10sdGhpcy5taW5vclRpY2tzPVtdfW5nT25DaGFuZ2VzKCl7bGV0IHQ9bnVsbDtjb25zdCBlPVFndCgieCI9PT10aGlzLmF4aXM/dGhpcy5kb21EaW0ud2lkdGg6dGhpcy5kb21EaW0uaGVpZ2h0LHRoaXMuZ3JpZENvdW50KTt0PXRoaXMuc2NhbGUgaW5zdGFuY2VvZiBocnQ/aGh0KHRoaXMuc2NhbGUsdGhpcy5nZXRGb3JtYXR0ZXIoKSxlLHRoaXMuYXhpc0V4dGVudCk6dGhpcy5zY2FsZSBpbnN0YW5jZW9mIHlydD8oZnVuY3Rpb24gbih0LGUsbyxpKXtjb25zdFthLHJdPWk7bGV0IHM9dC50aWNrcyhpLDIpO2lmKHItYT49ODY0ZTV8fHMubGVuZ3RoPjIpcmV0dXJuIGdodCh0LGUsbyxpKTtjb25zdCBsPXQudGlja3MoaSxvKTtyZXR1cm57bWFqb3I6cy5tYXAoKHQ9Pih7c3RhcnQ6dCx0aWNrRm9ybWF0dGVkU3RyaW5nOmUuZm9ybWF0U2hvcnQodCl9KSkpLG1pbm9yOmwubWFwKCh0PT4oe3ZhbHVlOnQsdGlja0Zvcm1hdHRlZFN0cmluZzplLmZvcm1hdFRpY2sodCl9KSkpfX0pKHRoaXMuc2NhbGUsdGhpcy5nZXRGb3JtYXR0ZXIoKSxlLHRoaXMuYXhpc0V4dGVudCk6Z2h0KHRoaXMuc2NhbGUsdGhpcy5nZXRGb3JtYXR0ZXIoKSxlLHRoaXMuYXhpc0V4dGVudCksdGhpcy5tYWpvclRpY2tzPXQubWFqb3IsdGhpcy5taW5vclRpY2tzPShmdW5jdGlvbiBvKHQsZSxuLGksYT01KXtpZighdC5sZW5ndGh8fCFiaHQpcmV0dXJuIHQ7Y29uc3Qgcj0ieCI9PT1uPzE6LTE7bGV0IHM9bnVsbDtyZXR1cm4gdC5maWx0ZXIoKHQ9Pntjb25zdCBvPWUodCk7Ymh0LmZvbnQ9aTtjb25zdCBsPWJodC5tZWFzdXJlVGV4dCh0LnRpY2tGb3JtYXR0ZWRTdHJpbmcpLGM9IngiPT09bj9sLndpZHRoOmwuYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQtbC5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQ7cmV0dXJuIG51bGw9PT1zPyEobytyKmM8MHx8KHM9bytyKmMsMCkpOiEocioocytyKmEtbyk+MHx8KHM9bytyKmMsMCkpfSkpfSkodC5taW5vciwodD0+dGhpcy5nZXREb21Qb3ModC52YWx1ZSkpLHRoaXMuYXhpcywiMTFweCBSb2JvdG8sIHNhbnMtc2VyaWYiKX1nZXRGb3JtYXR0ZXIoKXt2YXIgdDtyZXR1cm4gbnVsbCE9PSh0PXRoaXMuY3VzdG9tRm9ybWF0dGVyKSYmdm9pZCAwIT09dD90OnRoaXMuc2NhbGUuZGVmYXVsdEZvcm1hdHRlcn10cmFja0J5TWlub3JUaWNrKHQpe3JldHVybiB0LnZhbHVlfXRyYWNrQnlNYWpvclRpY2sodCl7cmV0dXJuIHQuc3RhcnR9Z2V0RG9tUG9zKHQpe3JldHVybiB0aGlzLnNjYWxlLmZvcndhcmQodGhpcy5heGlzRXh0ZW50LEpndCh0aGlzLmRvbURpbSx0aGlzLmF4aXMpLHQpfXRleHRYUG9zaXRpb24odCl7cmV0dXJuIngiPT09dGhpcy5heGlzP1N0cmluZyh0aGlzLmdldERvbVBvcyh0KSk6IjEwMCUifXRleHRZUG9zaXRpb24odCl7cmV0dXJuIngiPT09dGhpcy5heGlzPyIiOlN0cmluZyh0aGlzLmdldERvbVBvcyh0KSl9Z2V0TWFqb3JYUG9zaXRpb24odCl7cmV0dXJuInkiPT09dGhpcy5heGlzPzA6TWF0aC5taW4odGhpcy5kb21EaW0ud2lkdGgsTWF0aC5tYXgoMCx0aGlzLmdldERvbVBvcyh0LnN0YXJ0KSkpfWdldE1ham9yV2lkdGhTdHJpbmcodCxlLG4pe3JldHVybiJ5Ij09PXRoaXMuYXhpcz8iIjooZXx8IW4/dGhpcy5kb21EaW0ud2lkdGg6dGhpcy5nZXRNYWpvclhQb3NpdGlvbihuKSktdGhpcy5nZXRNYWpvclhQb3NpdGlvbih0KSsicHgifWdldE1ham9yWVBvc2l0aW9uKHQpe3JldHVybiJ4Ij09PXRoaXMuYXhpcz8wOnRoaXMuZG9tRGltLmhlaWdodC1NYXRoLm1pbih0aGlzLmRvbURpbS5oZWlnaHQsTWF0aC5tYXgoMCx0aGlzLmdldERvbVBvcyh0LnN0YXJ0KSkpfWdldE1ham9ySGVpZ2h0U3RyaW5nKHQsZSxuKXtyZXR1cm4ieCI9PT10aGlzLmF4aXM/IiI6KGV8fCFuP3RoaXMuZG9tRGltLmhlaWdodDp0aGlzLmdldE1ham9yWVBvc2l0aW9uKG4pKS10aGlzLmdldE1ham9yWVBvc2l0aW9uKHQpKyJweCJ9a2V5ZG93blByZXZlbnRDbG9zZSh0KXsiRXNjYXBlIiE9PXQua2V5JiZ0LnN0b3BQcm9wYWdhdGlvbigpfWV4dGVudENoYW5nZWQodCxlKXtsZXQgbj1OdW1iZXIodCksbz1OdW1iZXIoZSk7aWYobzxuKXtjb25zdCB0PW47bj1vLG89dH1OdW1iZXIuaXNGaW5pdGUobikmJk51bWJlci5pc0Zpbml0ZShvKSYmdGhpcy5vblZpZXdFeHRlbnRDaGFuZ2UuZW1pdChbbixvXSl9b25BeGlzVXBkYXRlTWVudU9wZW4odCxlLG4pe3QudmFsdWU9U3RyaW5nKG5bMF0pLGUudmFsdWU9U3RyaW5nKG5bMV0pLHQuZm9jdXMoKX1zZXRFZGl0TWVudU9wZW5lZCh0KXt0aGlzLmVkaXRNZW51T3BlbmVkPXR9fU1odC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TWh0KX0sTWh0Lsm1Y21wPXNvKHt0eXBlOk1odCxzZWxlY3RvcnM6W1sibGluZS1jaGFydC1heGlzIl1dLGlucHV0czp7YXhpc0V4dGVudDoiYXhpc0V4dGVudCIsYXhpczoiYXhpcyIsc2NhbGU6InNjYWxlIixncmlkQ291bnQ6ImdyaWRDb3VudCIsZG9tRGltOiJkb21EaW0iLGN1c3RvbUZvcm1hdHRlcjoiY3VzdG9tRm9ybWF0dGVyIn0sb3V0cHV0czp7b25WaWV3RXh0ZW50Q2hhbmdlOiJvblZpZXdFeHRlbnRDaGFuZ2UifSxmZWF0dXJlczpbcW9dLGRlY2xzOjI2LHZhcnM6MTMsY29uc3RzOltbMSwibGluZSJdLFsxLCJtaW5vciJdLFsxLCJ0aWNrcyJdLFsiY2xhc3MiLCJtaW5vci10aWNrLWxhYmVsIiw0LCJuZ0ZvciIsIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsInRpdGxlIiwiQ2xpY2sgdG8gbWFudWFsbHkgc2V0IG1pbiAmIG1heCB2YWx1ZXMiLDMsIm1hdE1lbnVUcmlnZ2VyRm9yIiwibWVudU9wZW5lZCIsIm1lbnVDbG9zZWQiXSxbIm1hdE1lbnVUcmlnZ2VyIiwibWF0TWVudVRyaWdnZXIiXSxbInN2Z0ljb24iLCJlZGl0XzI0cHgiXSxbImNsYXNzIiwibWFqb3IgdGlja3MiLDQsIm5nSWYiXSxbInhQb3NpdGlvbiIsImJlZm9yZSIsMywieVBvc2l0aW9uIl0sWyJtYW51YWxDb250cm9sIiwibWF0TWVudSJdLFsxLCJleHRlbnQtZWRpdC1pbnB1dCIsMywiY2xpY2siLCJrZXlkb3duIl0sWyJ0eXBlIiwibnVtYmVyIiwzLCJ2YWx1ZSJdLFsibWluSW5wdXQiLCIiXSxbIm1heElucHV0IiwiIl0sWzEsImV4dGVudC1lZGl0LWNvbnRyb2wiLDMsImtleWRvd24iXSxbIm1hdC1yYWlzZWQtYnV0dG9uIiwiIiwiY29sb3IiLCJwcmltYXJ5IiwxLCJleHRlbnQtZWRpdC1jaGFuZ2UiLDMsImNsaWNrIl0sWyJtYXQtc3Ryb2tlZC1idXR0b24iLCIiLDEsImV4dGVudC1lZGl0LWNhbmNlbCIsMywiY2xpY2siXSxbMSwibWlub3ItdGljay1sYWJlbCJdLFsxLCJtYWpvciIsInRpY2tzIl0sWzMsIm1ham9yLWxhYmVsIiwibGFzdCIsImxlZnQiLCJ3aWR0aCIsImJvdHRvbSIsImhlaWdodCIsImZvbnQiLCJ0aXRsZSIsNCwibmdGb3IiLCJuZ0Zvck9mIiwibmdGb3JUcmFja0J5Il0sWzMsInRpdGxlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiKSx2ZigxLCJkaXYiLDApLENmKDIsImRpdiIsMSksb2EoKSxDZigzLCJzdmciLDIpLEhtKDQseWh0LDUsNiwiZyIsMyksTWYoKSxhYSgpLENmKDUsImJ1dHRvbiIsNCw1KSxSZigibWVudU9wZW5lZCIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtjb25zdCBvPUZtKDE1KSxpPUZtKDIwKTtyZXR1cm4gbi5vbkF4aXNVcGRhdGVNZW51T3BlbihvLGksbi5heGlzRXh0ZW50KSxuLnNldEVkaXRNZW51T3BlbmVkKCEwKX0pKSgibWVudUNsb3NlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5zZXRFZGl0TWVudU9wZW5lZCghMSl9KSksdmYoNywibWF0LWljb24iLDYpLE1mKCksTWYoKSxIbSg4LENodCwyLDIsImRpdiIsNyksTWYoKSxDZig5LCJtYXQtbWVudSIsOCw5KSxDZigxMSwiZGl2IiwxMCksUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKX0pKSgia2V5ZG93biIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ua2V5ZG93blByZXZlbnRDbG9zZShlKX0pKSxDZigxMiwibGFiZWwiKSxQdSgxMywibWluIiksTWYoKSx2ZigxNCwiaW5wdXQiLDExLDEyKSxNZigpLENmKDE2LCJkaXYiLDEwKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpfSkpKCJrZXlkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5rZXlkb3duUHJldmVudENsb3NlKGUpfSkpLENmKDE3LCJsYWJlbCIpLFB1KDE4LCJtYXgiKSxNZigpLHZmKDE5LCJpbnB1dCIsMTEsMTMpLE1mKCksQ2YoMjEsImRpdiIsMTQpLFJmKCJrZXlkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5rZXlkb3duUHJldmVudENsb3NlKGUpfSkpLENmKDIyLCJidXR0b24iLDE1KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7Y29uc3Qgbz1GbSgxNSksaT1GbSgyMCksYT1GbSg2KTtyZXR1cm4gbi5leHRlbnRDaGFuZ2VkKG8udmFsdWUsaS52YWx1ZSksYS5jbG9zZU1lbnUoKX0pKSxQdSgyMywiIENoYW5nZSAiKSxNZigpLENmKDI0LCJidXR0b24iLDE2KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIEZtKDYpLmNsb3NlTWVudSgpfSkpLFB1KDI1LCIgQ2FuY2VsICIpLE1mKCksTWYoKSxNZigpfWlmKDImZSl7Y29uc3QgdD1GbSgxMCk7bXUobi5heGlzKyItYXhpcyBheGlzIiksRGMoNCksYmYoIm5nRm9yT2YiLG4ubWlub3JUaWNrcykoIm5nRm9yVHJhY2tCeSIsbi50cmFja0J5TWlub3JUaWNrKSxEYygxKSxjdSgiZXh0ZW50LWVkaXQtYnV0dG9uIiwhMCkoImV4dGVudC1lZGl0LW1lbnUtb3BlbmVkIixuLmVkaXRNZW51T3BlbmVkKSxiZigibWF0TWVudVRyaWdnZXJGb3IiLHQpLERjKDMpLGJmKCJuZ0lmIixuLm1ham9yVGlja3MubGVuZ3RoKSxEYygxKSxiZigieVBvc2l0aW9uIiwieSI9PT1uLmF4aXM/ImFib3ZlIjoiYmVsb3ciKSxEYyg1KSxiZigidmFsdWUiLG4uYXhpc0V4dGVudFswXSksRGMoNSksYmYoInZhbHVlIixuLmF4aXNFeHRlbnRbMV0pfX0sZGlyZWN0aXZlczpbeHYsTkwscXEsTXEsUHYsanFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17Y29udGFpbjpzdHJpY3Q7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbn0ubWFqb3ItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCB0ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmaWxsOmN1cnJlbnRDb2xvcjtmb250LXNpemU6MTFweDt1c2VyLXNlbGVjdDpub25lfS5heGlzW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ubWFqb3JbX25nY29udGVudC0lQ09NUCVdLCAubWlub3JbX25nY29udGVudC0lQ09NUCVde2ZsZXg6MSAwO292ZXJmbG93OmhpZGRlbn0ubGluZVtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojYWFhO2ZsZXg6MCAwIDFweDtqdXN0aWZ5LWNvbnRlbnQ6c3RyZXRjaH0udGlja3NbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LngtYXhpc1tfbmdjb250ZW50LSVDT01QJV17ZmxleC1kaXJlY3Rpb246Y29sdW1ufS54LWF4aXNbX25nY29udGVudC0lQ09NUCVdICAgLmxpbmVbX25nY29udGVudC0lQ09NUCVde21hcmdpbi1ib3R0b206M3B4fS54LWF4aXNbX25nY29udGVudC0lQ09NUCVdICAgdGV4dFtfbmdjb250ZW50LSVDT01QJV17ZG9taW5hbnQtYmFzZWxpbmU6dGV4dC1iZWZvcmUtZWRnZTt0ZXh0LWFuY2hvcjptaWRkbGV9LngtYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAudGlja3NbX25nY29udGVudC0lQ09NUCVdey13ZWJraXQtbWFzay1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwMDAwIDAlLCAjMDAwIDEwJSwgIzAwMCA5MCUsICMwMDAwIDEwMCUpO21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDAwMCAwJSwgIzAwMCAxMCUsICMwMDAgOTAlLCAjMDAwMCAxMDAlKX0ueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZX0ueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tbGVmdDo1cHh9LnktYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICB0ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOmVuZH0ueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC50aWNrc1tfbmdjb250ZW50LSVDT01QJV17LXdlYmtpdC1tYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwMDAwIDAlLCAjMDAwIDEwJSwgIzAwMCA5MCUsICMwMDAwIDEwMCUpO21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwMDAgMCUsICMwMDAgMTAlLCAjMDAwIDkwJSwgIzAwMDAgMTAwJSl9LmV4dGVudC1lZGl0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZWVlO2ZvbnQtc2l6ZTowO2hlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OjI0cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6NXB4O3RvcDo1cHg7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MjRweH0uZXh0ZW50LWVkaXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIG1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4O2xpbmUtaGVpZ2h0OjE2cHh9LmV4dGVudC1lZGl0LWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDo1cHg7ZGlzcGxheTpncmlkO2ZvbnQtc2l6ZToxMnB4O2dyaWQtdGVtcGxhdGUtY29sdW1uczozMHB4IG1pbm1heChhdXRvLCAxMDBweCk7aGVpZ2h0OjMwcHg7bWFyZ2luOjEwcHggMjBweH0uZXh0ZW50LWVkaXQtaW5wdXRbX25nY29udGVudC0lQ09NUCVdICAgaW5wdXRbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6aW5oZXJpdDtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Y29sb3I6aW5oZXJpdH0uZXh0ZW50LWVkaXQtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZTtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWFyZ2luOjEwcHggMjBweH0uZXh0ZW50LWVkaXQtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV0gICBidXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjEuNDttYXJnaW4tbGVmdDo1cHg7cGFkZGluZzowIDEwcHh9LmF4aXNbX25nY29udGVudC0lQ09NUCVdOmhvdmVyICAgLmV4dGVudC1lZGl0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5heGlzW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cy13aXRoaW4gICAuZXh0ZW50LWVkaXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmV4dGVudC1lZGl0LW1lbnUtb3BlbmVkW19uZ2NvbnRlbnQtJUNPTVAlXXt2aXNpYmlsaXR5OnZpc2libGV9Lm1ham9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47Y29udGFpbjpzdHJpY3R9Lm1ham9yW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYWpvci1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3doaXRlLXNwYWNlOm5vd3JhcH0ubWFqb3JbX25nY29udGVudC0lQ09NUCVdICAgLm1ham9yLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHNwYW5bX25nY29udGVudC0lQ09NUCVde21heC13aWR0aDoxMDAlfS54LWF4aXNbX25nY29udGVudC0lQ09NUCVdICAgLm1ham9yLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItbGVmdDoxcHggc29saWQgIzllOWU5ZTtwYWRkaW5nOjAgNXB4fS54LWF4aXNbX25nY29udGVudC0lQ09NUCVdICAgLm1ham9yLWxhYmVsLmxhc3RbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1yaWdodDoxcHggc29saWQgIzllOWU5ZX0ueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYWpvci1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzllOWU5ZTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjVweCAwO3dpZHRoOjEwMCV9LnktYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAubWFqb3ItbGFiZWwubGFzdFtfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXRvcDoxcHggc29saWQgIzllOWU5ZX0ueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYWpvci1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0gPiBzcGFuW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE1odCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJsaW5lLWNoYXJ0LWF4aXMiLHRlbXBsYXRlVXJsOiJsaW5lX2NoYXJ0X2F4aXNfdmlldy5uZy5odG1sIixzdHlsZVVybHM6WyJsaW5lX2NoYXJ0X2F4aXNfdmlldy5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtheGlzRXh0ZW50Olt7dHlwZTpSX31dLGF4aXM6W3t0eXBlOlJffV0sc2NhbGU6W3t0eXBlOlJffV0sZ3JpZENvdW50Olt7dHlwZTpSX31dLGRvbURpbTpbe3R5cGU6Ul99XSxjdXN0b21Gb3JtYXR0ZXI6W3t0eXBlOlJffV0sb25WaWV3RXh0ZW50Q2hhbmdlOlt7dHlwZTpFX31dfSk7Y29uc3Qgdmh0PVsic2VyaWVzVmlldyJdLHhodD1bInhBeGlzIl0sT2h0PVsieUF4aXMiXSxQaHQ9WyJjaGFydEVsIl07ZnVuY3Rpb24gd2h0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJsaW5lLWNoYXJ0LWdyaWQtdmlldyIsMTUpLDImdCl7Y29uc3QgdD16ZigpO2JmKCJ2aWV3RXh0ZW50Iix0LnZpZXdCb3gpKCJ4U2NhbGUiLHQueFNjYWxlKSgieVNjYWxlIix0LnlTY2FsZSkoInhHcmlkQ291bnQiLHQuWF9HUklEX0NPVU5UKSgieUdyaWRDb3VudCIsdC5ZX0dSSURfQ09VTlQpKCJkb21EaW0iLHQuZG9tRGltZW5zaW9ucy5tYWluKX19ZnVuY3Rpb24ga2h0KHQsZSl7MSZ0JiYob2EoKSx2ZigwLCJzdmciLG51bGwsMTYpKX1mdW5jdGlvbiBTaHQodCxlKXsxJnQmJnZmKDAsImNhbnZhcyIsbnVsbCwxNil9ZnVuY3Rpb24gRGh0KHQsZSl7aWYoMSZ0JiYoeGYoMCksSG0oMSxraHQsMiwwLCJzdmciLDUpLEhtKDIsU2h0LDIsMCwiY2FudmFzIiw1KSxPZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxiZigibmdJZiIsdC5nZXRSZW5kZXJlclR5cGUoKT09PXQuUmVuZGVyZXJUeXBlLlNWRyksRGMoMSksYmYoIm5nSWYiLHQuZ2V0UmVuZGVyZXJUeXBlKCk9PT10LlJlbmRlcmVyVHlwZS5XRUJHTCl9fWZ1bmN0aW9uIFJodCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImxpbmUtY2hhcnQtaW50ZXJhY3RpdmUtdmlldyIsMTcpLFJmKCJvblZpZXdFeHRlbnRDaGFuZ2UiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLm9uVmlld0JveENoYW5nZWQobil9KSkoIm9uVmlld0V4dGVudFJlc2V0IiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLnZpZXdCb3hSZXNldCgpfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCksZT1GbSgxKTtiZigic2VyaWVzRGF0YSIsdC5zZXJpZXNEYXRhKSgic2VyaWVzTWV0YWRhdGFNYXAiLHQuc2VyaWVzTWV0YWRhdGFNYXApKCJ2aWV3RXh0ZW50Iix0LnZpZXdCb3gpKCJ4U2NhbGUiLHQueFNjYWxlKSgieVNjYWxlIix0LnlTY2FsZSkoInRvb2x0aXBPcmlnaW5FbCIsZSkoImRvbURpbSIsdC5kb21EaW1lbnNpb25zLm1haW4pKCJ0b29sdGlwVGVtcGxhdGUiLHQudG9vbHRpcFRlbXBsYXRlKX19Y29uc3QgRWh0PWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybnt4U2NhbGU6dCx5U2NhbGU6ZSxkb21EaW1lbnNpb246bix2aWV3RXh0ZW50Om99fTtmdW5jdGlvbiBBaHQodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDE4KSxQZigxLDE5KSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxiZigibmdUZW1wbGF0ZU91dGxldCIsdC5jdXN0b21WaXNUZW1wbGF0ZSkoIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IixzeSgyLEVodCx0LnhTY2FsZSx0LnlTY2FsZSx0LmRvbURpbWVuc2lvbnMubWFpbix0LnZpZXdCb3gpKX19ZnVuY3Rpb24gVGh0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibGluZS1jaGFydC1heGlzIiwyMCksUmYoIm9uVmlld0V4dGVudENoYW5nZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25WaWV3Qm94Q2hhbmdlZEZyb21BeGlzKG4sInkiKX0pKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2JmKCJheGlzRXh0ZW50Iix0LnZpZXdCb3gueSkoImN1c3RvbUZvcm1hdHRlciIsdC5jdXN0b21ZRm9ybWF0dGVyKSgiZG9tRGltIix0LmRvbURpbWVuc2lvbnMueUF4aXMpKCJncmlkQ291bnQiLHQuWV9HUklEX0NPVU5UKSgic2NhbGUiLHQueVNjYWxlKX19ZnVuY3Rpb24gTmh0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibGluZS1jaGFydC1heGlzIiwyMSksUmYoIm9uVmlld0V4dGVudENoYW5nZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25WaWV3Qm94Q2hhbmdlZEZyb21BeGlzKG4sIngiKX0pKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2JmKCJheGlzRXh0ZW50Iix0LnZpZXdCb3gueCkoImN1c3RvbUZvcm1hdHRlciIsdC5jdXN0b21YRm9ybWF0dGVyKSgiZG9tRGltIix0LmRvbURpbWVuc2lvbnMueEF4aXMpKCJncmlkQ291bnQiLHQuWF9HUklEX0NPVU5UKSgic2NhbGUiLHQueFNjYWxlKX19Y29uc3Qgemh0PWZ1bmN0aW9uKHQsZSxuLG8saSl7cmV0dXJue3hTY2FsZTp0LHlTY2FsZTplLGRvbURpbWVuc2lvbjpuLHZpZXdFeHRlbnQ6byxmb3JtYXR0ZXI6aX19O2Z1bmN0aW9uIElodCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTgpLFBmKDEsMTkpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0Iix0LmN1c3RvbVhBeGlzVGVtcGxhdGUpKCJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsbHkoMix6aHQsdC54U2NhbGUsdC55U2NhbGUsdC5kb21EaW1lbnNpb25zLnhBeGlzLHQudmlld0JveCx0LmN1c3RvbVhGb3JtYXR0ZXJ8fHQueFNjYWxlLmRlZmF1bHRGb3JtYXR0ZXIpKX19ZnVuY3Rpb24gSGh0KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwyMiksdmYoMSwic3BhbiIsMjMpLE1mKCkpfWNvbnN0IEZodD1mdW5jdGlvbih0LGUpe3JldHVybntjb250YWluZXI6ITAsImRhcmstbW9kZSI6dCwibGluZS1vbmx5LW1vZGUiOmV9fSxMaHQ9e3g6WzAsMV0seTpbMCwxXX07Y2xhc3MgQmh0e2NvbnN0cnVjdG9yKHQpe3RoaXMuY2hhbmdlRGV0ZWN0b3I9dCx0aGlzLlJlbmRlcmVyVHlwZT1lNix0aGlzLnVzZURhcmtNb2RlPSExLHRoaXMucHJlZmVycmVkUmVuZGVyZXJUeXBlPWU2LldFQkdMLHRoaXMueFNjYWxlVHlwZT1uNi5MSU5FQVIsdGhpcy55U2NhbGVUeXBlPW42LkxJTkVBUix0aGlzLmxpbmVPbmx5PSExLHRoaXMub25WaWV3Qm94T3ZlcnJpZGRlbj1uZXcgVygxKSx0aGlzLmlnbm9yZVlPdXRsaWVycz0hMSx0aGlzLllfR1JJRF9DT1VOVD02LHRoaXMuWF9HUklEX0NPVU5UPTEwLHRoaXMueFNjYWxlPWdydCh0aGlzLnhTY2FsZVR5cGUpLHRoaXMueVNjYWxlPWdydCh0aGlzLnhTY2FsZVR5cGUpLHRoaXMudmlld0JveD1MaHQsdGhpcy5kb21EaW1lbnNpb25zPXttYWluOnt3aWR0aDowLGhlaWdodDowfSx4QXhpczp7d2lkdGg6MCxoZWlnaHQ6MH0seUF4aXM6e3dpZHRoOjAsaGVpZ2h0OjB9fSx0aGlzLnNob3dDaGFydFJlbmRlcmVyRWxlbWVudD0hMCx0aGlzLmxpbmVDaGFydD1udWxsLHRoaXMuaXNEYXRhVXBkYXRlZD0hMSx0aGlzLmlzTWV0YWRhdGFVcGRhdGVkPSExLHRoaXMuaXNGaXhlZFZpZXdCb3hVcGRhdGVkPSExLHRoaXMuaXNWaWV3Qm94T3ZlcnJpZGRlbj0hMSx0aGlzLnVzZURhcmtNb2RlVXBkYXRlZD0hMSx0aGlzLmlzVmlld0JveENoYW5nZWQ9ITAsdGhpcy5zY2FsZVVwZGF0ZWQ9ITAsdGhpcy5pc1JlbmRlcmluZ0NvbnRleHRMb3N0PSExfW5nT25Jbml0KCl7dGhpcy5vblZpZXdCb3hPdmVycmlkZGVuLm5leHQodGhpcy5pc1ZpZXdCb3hPdmVycmlkZGVuKX1uZ09uQ2hhbmdlcyh0KXt0LnhTY2FsZVR5cGUmJih0aGlzLnhTY2FsZT1ncnQodGhpcy54U2NhbGVUeXBlKSx0aGlzLnNjYWxlVXBkYXRlZD0hMCksdC55U2NhbGVUeXBlJiYodGhpcy55U2NhbGU9Z3J0KHRoaXMueVNjYWxlVHlwZSksdGhpcy5zY2FsZVVwZGF0ZWQ9ITApLHQuc2VyaWVzRGF0YSYmKHRoaXMuaXNEYXRhVXBkYXRlZD0hMCksdC5maXhlZFZpZXdCb3gmJih0aGlzLmlzRml4ZWRWaWV3Qm94VXBkYXRlZD0hMCksdC5zZXJpZXNNZXRhZGF0YU1hcCYmKHRoaXMuaXNNZXRhZGF0YVVwZGF0ZWQ9ITApLHQudXNlRGFya01vZGUmJih0aGlzLnVzZURhcmtNb2RlVXBkYXRlZD0hMCksdGhpcy5zY2FsZVVwZGF0ZWQmJnRoaXMuc2V0SXNWaWV3Qm94T3ZlcnJpZGRlbighMSksdGhpcy5pc1ZpZXdCb3hDaGFuZ2VkPXRoaXMuaXNWaWV3Qm94Q2hhbmdlZHx8dGhpcy5zY2FsZVVwZGF0ZWR8fCF0aGlzLmlzVmlld0JveE92ZXJyaWRkZW4mJnRoaXMuc2hvdWxkVXBkYXRlRGVmYXVsdFZpZXdCb3godCksdGhpcy51cGRhdGVMaW5lQ2hhcnQoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmluaXRpYWxpemVDaGFydCgpLHRoaXMudXBkYXRlTGluZUNoYXJ0KCksdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCl9cmVjb3ZlclJlbmRlcmVySWZOZWVkZWQoKXt0aGlzLmlzUmVuZGVyaW5nQ29udGV4dExvc3QmJiF0aGlzLmRpc2FibGVVcGRhdGUmJih0aGlzLnNob3dDaGFydFJlbmRlcmVyRWxlbWVudD0hMSx0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKSx0aGlzLnNob3dDaGFydFJlbmRlcmVyRWxlbWVudD0hMCx0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKSx0aGlzLmluaXRpYWxpemVDaGFydCgpLHRoaXMuc2NhbGVVcGRhdGVkPSEwLHRoaXMuaXNNZXRhZGF0YVVwZGF0ZWQ9ITAsdGhpcy5pc0RhdGFVcGRhdGVkPSEwLHRoaXMudXNlRGFya01vZGVVcGRhdGVkPSEwLHRoaXMuaXNGaXhlZFZpZXdCb3hVcGRhdGVkPSEwLHRoaXMuaXNWaWV3Qm94Q2hhbmdlZD0hMCx0aGlzLmlzUmVuZGVyaW5nQ29udGV4dExvc3Q9ITEpfW9uVmlld1Jlc2l6ZSgpe3RoaXMubGluZUNoYXJ0JiYodGhpcy5yZWFkQW5kVXBkYXRlRG9tRGltZW5zaW9ucygpLHRoaXMubGluZUNoYXJ0LnJlc2l6ZSh0aGlzLmRvbURpbWVuc2lvbnMubWFpbiksdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCkpfXNob3VsZFVwZGF0ZURlZmF1bHRWaWV3Qm94KHQpe2lmKHQueFNjYWxlVHlwZXx8dC55U2NhbGVUeXBlfHx0Lmlnbm9yZVlPdXRsaWVycylyZXR1cm4hMDtpZih0LnNlcmllc0RhdGEpcmV0dXJuITA7Y29uc3QgZT10LnNlcmllc01ldGFkYXRhTWFwO2lmKGUpe2NvbnN0IHQ9ZS5wcmV2aW91c1ZhbHVlO2lmKE9iamVjdC5rZXlzKHRoaXMuc2VyaWVzTWV0YWRhdGFNYXApLmxlbmd0aCE9PU9iamVjdC5rZXlzKG51bGwhPXQ/dDp7fSkubGVuZ3RoKXJldHVybiEwO2Zvcihjb25zdFtlLG5db2YgT2JqZWN0LmVudHJpZXModGhpcy5zZXJpZXNNZXRhZGF0YU1hcCkpe2NvbnN0IG89dCYmdFtlXTtpZighb3x8bi52aXNpYmxlIT09by52aXNpYmxlKXJldHVybiEwfX1yZXR1cm4hMX1vbkNvbnRleHRMb3N0KCl7dGhpcy5pc1JlbmRlcmluZ0NvbnRleHRMb3N0PSEwLHRoaXMubGluZUNoYXJ0JiYodGhpcy5saW5lQ2hhcnQuZGlzcG9zZSgpLHRoaXMubGluZUNoYXJ0PW51bGwpfXRyaWdnZXJDb250ZXh0TG9zdEZvclRlc3QoKXt0aGlzLm9uQ29udGV4dExvc3QoKX1nZXRMaW5lQ2hhcnRGb3JUZXN0KCl7cmV0dXJuIHRoaXMubGluZUNoYXJ0fWluaXRpYWxpemVDaGFydCgpe3RoaXMubGluZUNoYXJ0JiZ0aGlzLmxpbmVDaGFydC5kaXNwb3NlKCk7Y29uc3QgdD10aGlzLmdldFJlbmRlcmVyVHlwZSgpLGU9e29uRHJhd0VuZDooKT0+e30sb25Db250ZXh0TG9zdDp0aGlzLm9uQ29udGV4dExvc3QuYmluZCh0aGlzKX07bGV0IG49bnVsbDtzd2l0Y2godGhpcy5yZWFkQW5kVXBkYXRlRG9tRGltZW5zaW9ucygpLHQpe2Nhc2UgZTYuU1ZHOm49e3R5cGU6ZTYuU1ZHLGNvbnRhaW5lcjp0aGlzLmNoYXJ0RWwubmF0aXZlRWxlbWVudCxjYWxsYmFja3M6ZSxkb21EaW1lbnNpb246dGhpcy5kb21EaW1lbnNpb25zLm1haW4sdXNlRGFya01vZGU6dGhpcy51c2VEYXJrTW9kZX07YnJlYWs7Y2FzZSBlNi5XRUJHTDpuPXt0eXBlOmU2LldFQkdMLGNvbnRhaW5lcjp0aGlzLmNoYXJ0RWwubmF0aXZlRWxlbWVudCxkZXZpY2VQaXhlbFJhdGlvOndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvLGNhbGxiYWNrczplLGRvbURpbWVuc2lvbjp0aGlzLmRvbURpbWVuc2lvbnMubWFpbix1c2VEYXJrTW9kZTp0aGlzLnVzZURhcmtNb2RlfTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgPGxpbmUtY2hhcnQ+IGRvZXMgbm90IHlldCBzdXBwb3J0IHJlbmRlcmVyVHlwZTogJHt0fWApfWNvbnN0IG89dCE9PWU2LlNWRyYmQ3J0KCk7dGhpcy5saW5lQ2hhcnQ9bmV3KG8/WGd0OkdndCkobil9bmdPbkRlc3Ryb3koKXt0aGlzLmxpbmVDaGFydCYmdGhpcy5saW5lQ2hhcnQuZGlzcG9zZSgpfWdldFJlbmRlcmVyVHlwZSgpe3JldHVybiBLZ3QodGhpcy5wcmVmZXJyZWRSZW5kZXJlclR5cGUpfXJlYWRBbmRVcGRhdGVEb21EaW1lbnNpb25zKCl7dGhpcy5kb21EaW1lbnNpb25zPXttYWluOnt3aWR0aDp0aGlzLnNlcmllc1ZpZXcubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCxoZWlnaHQ6dGhpcy5zZXJpZXNWaWV3Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0fSx4QXhpczp7d2lkdGg6dGhpcy54QXhpcy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoLGhlaWdodDp0aGlzLnhBeGlzLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0fSx5QXhpczp7d2lkdGg6dGhpcy55QXhpcy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoLGhlaWdodDp0aGlzLnlBeGlzLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0fX19dXBkYXRlTGluZUNoYXJ0KCl7dmFyIHQsZTtpZih0aGlzLnJlY292ZXJSZW5kZXJlcklmTmVlZGVkKCksIXRoaXMubGluZUNoYXJ0fHx0aGlzLmRpc2FibGVVcGRhdGUpcmV0dXJuO2lmKHRoaXMuc2NhbGVVcGRhdGVkJiYodGhpcy5zY2FsZVVwZGF0ZWQ9ITEsdGhpcy5saW5lQ2hhcnQuc2V0WFNjYWxlVHlwZSh0aGlzLnhTY2FsZVR5cGUpLHRoaXMubGluZUNoYXJ0LnNldFlTY2FsZVR5cGUodGhpcy55U2NhbGVUeXBlKSksdGhpcy5pc01ldGFkYXRhVXBkYXRlZCYmKHRoaXMuaXNNZXRhZGF0YVVwZGF0ZWQ9ITEsdGhpcy5saW5lQ2hhcnQuc2V0TWV0YWRhdGEodGhpcy5zZXJpZXNNZXRhZGF0YU1hcCkpLHRoaXMuaXNEYXRhVXBkYXRlZCYmKHRoaXMuaXNEYXRhVXBkYXRlZD0hMSx0aGlzLmxpbmVDaGFydC5zZXREYXRhKHRoaXMuc2VyaWVzRGF0YSkpLHRoaXMudXNlRGFya01vZGVVcGRhdGVkJiYodGhpcy51c2VEYXJrTW9kZVVwZGF0ZWQ9ITEsdGhpcy5saW5lQ2hhcnQuc2V0VXNlRGFya01vZGUodGhpcy51c2VEYXJrTW9kZSkpLCF0aGlzLmlzVmlld0JveE92ZXJyaWRkZW4mJnRoaXMuZml4ZWRWaWV3Qm94KXRoaXMudmlld0JveD10aGlzLmZpeGVkVmlld0JveDtlbHNlIGlmKCF0aGlzLmlzVmlld0JveE92ZXJyaWRkZW4mJnRoaXMuaXNWaWV3Qm94Q2hhbmdlZCl7Y29uc3Qgbj0oZnVuY3Rpb24gbyh0LGUsbixpLGEpe2xldCByPW51bGwscz1udWxsLGw9W107Zm9yKGNvbnN0e2lkOm4scG9pbnRzOm99b2YgdCl7Y29uc3QgdD1lW25dO2lmKHQmJiF0LmF1eCYmdC52aXNpYmxlKWZvcihsZXQgdD0wO3Q8by5sZW5ndGg7dCsrKXtjb25zdHt4OmUseTpufT1vW3RdO2koZSkmJihyPW51bGw9PT1yfHxlPHI/ZTpyLHM9bnVsbD09PXN8fGU+cz9lOnMpLGEobikmJmwucHVzaChuKX19bC5zb3J0KHU2KTtsZXQgYz1sWzBdLGQ9bFtsLmxlbmd0aC0xXTtyZXR1cm4gbiYmbC5sZW5ndGg+MiYmKGM9bFtNYXRoLmNlaWwoLjA1KihsLmxlbmd0aC0xKSldLGQ9bFtNYXRoLmZsb29yKC45NSoobC5sZW5ndGgtMSkpXSkse3g6bnVsbCE9PXImJm51bGwhPT1zP1tyLHNdOnZvaWQgMCx5OnZvaWQgMCE9PWMmJnZvaWQgMCE9PWQ/W2MsZF06dm9pZCAwfX0pKHRoaXMuc2VyaWVzRGF0YSx0aGlzLnNlcmllc01ldGFkYXRhTWFwLHRoaXMuaWdub3JlWU91dGxpZXJzLHRoaXMueFNjYWxlLmlzU2FmZU51bWJlcix0aGlzLnlTY2FsZS5pc1NhZmVOdW1iZXIpO3RoaXMudmlld0JveD17eDp0aGlzLnhTY2FsZS5uaWNlRG9tYWluKG51bGwhPT0odD1uLngpJiZ2b2lkIDAhPT10P3Q6TGh0LngpLHk6dGhpcy55U2NhbGUubmljZURvbWFpbihudWxsIT09KGU9bi55KSYmdm9pZCAwIT09ZT9lOkxodC55KX19KHRoaXMuaXNGaXhlZFZpZXdCb3hVcGRhdGVkfHx0aGlzLmlzVmlld0JveENoYW5nZWQpJiYodGhpcy5pc0ZpeGVkVmlld0JveFVwZGF0ZWQ9ITEsdGhpcy5pc1ZpZXdCb3hDaGFuZ2VkPSExLHRoaXMubGluZUNoYXJ0LnNldFZpZXdCb3godGhpcy52aWV3Qm94KSl9b25WaWV3Qm94Q2hhbmdlZCh7ZGF0YUV4dGVudDp0fSl7dGhpcy5zZXRJc1ZpZXdCb3hPdmVycmlkZGVuKCEwKSx0aGlzLmlzVmlld0JveENoYW5nZWQ9ITAsdGhpcy52aWV3Qm94PXQsdGhpcy51cGRhdGVMaW5lQ2hhcnQoKX12aWV3Qm94UmVzZXQoKXt0aGlzLnNldElzVmlld0JveE92ZXJyaWRkZW4oITEpLHRoaXMuaXNWaWV3Qm94Q2hhbmdlZD0hMCx0aGlzLnVwZGF0ZUxpbmVDaGFydCgpfXNldElzVmlld0JveE92ZXJyaWRkZW4odCl7Y29uc3QgZT10aGlzLmlzVmlld0JveE92ZXJyaWRkZW47dGhpcy5pc1ZpZXdCb3hPdmVycmlkZGVuPXQsZSE9PXQmJnRoaXMub25WaWV3Qm94T3ZlcnJpZGRlbi5uZXh0KHQpfWdldElzVmlld0JveE92ZXJyaWRkZW4oKXtyZXR1cm4gdGhpcy5vblZpZXdCb3hPdmVycmlkZGVufW9uVmlld0JveENoYW5nZWRGcm9tQXhpcyh0LGUpe2NvbnN0IG49T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMudmlld0JveCkse1tlXTp0fSk7dGhpcy5vblZpZXdCb3hDaGFuZ2VkKHtkYXRhRXh0ZW50Om59KX19Qmh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxCaHQpKGdmKE9iKSl9LEJodC7JtWNtcD1zbyh7dHlwZTpCaHQsc2VsZWN0b3JzOltbImxpbmUtY2hhcnQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihWeSh2aHQsNyxLaCksVnkoeGh0LDcsS2gpLFZ5KE9odCw3LEtoKSxWeShQaHQsNSxLaCkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uc2VyaWVzVmlldz10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi54QXhpcz10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi55QXhpcz10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5jaGFydEVsPXQuZmlyc3QpfX0saW5wdXRzOntjdXN0b21WaXNUZW1wbGF0ZToiY3VzdG9tVmlzVGVtcGxhdGUiLGN1c3RvbVhBeGlzVGVtcGxhdGU6ImN1c3RvbVhBeGlzVGVtcGxhdGUiLHVzZURhcmtNb2RlOiJ1c2VEYXJrTW9kZSIscHJlZmVycmVkUmVuZGVyZXJUeXBlOiJwcmVmZXJyZWRSZW5kZXJlclR5cGUiLHNlcmllc0RhdGE6InNlcmllc0RhdGEiLGZpeGVkVmlld0JveDoiZml4ZWRWaWV3Qm94IixzZXJpZXNNZXRhZGF0YU1hcDoic2VyaWVzTWV0YWRhdGFNYXAiLHhTY2FsZVR5cGU6InhTY2FsZVR5cGUiLHlTY2FsZVR5cGU6InlTY2FsZVR5cGUiLGN1c3RvbVhGb3JtYXR0ZXI6ImN1c3RvbVhGb3JtYXR0ZXIiLGN1c3RvbVlGb3JtYXR0ZXI6ImN1c3RvbVlGb3JtYXR0ZXIiLHRvb2x0aXBUZW1wbGF0ZToidG9vbHRpcFRlbXBsYXRlIixsaW5lT25seToibGluZU9ubHkiLGRpc2FibGVVcGRhdGU6ImRpc2FibGVVcGRhdGUiLGlnbm9yZVlPdXRsaWVyczoiaWdub3JlWU91dGxpZXJzIn0sZmVhdHVyZXM6W3FvXSxkZWNsczoxNix2YXJzOjEzLGNvbnN0czpbWyJkZXRlY3RSZXNpemUiLCIiLCJjZGtPdmVybGF5T3JpZ2luIiwiIiwzLCJuZ0NsYXNzIiwicmVzaXplRXZlbnREZWJvdW5jZVBlcmlvZEluTXMiLCJvblJlc2l6ZSJdLFsib3ZlcmxheVRhcmdldCIsImNka092ZXJsYXlPcmlnaW4iXSxbMSwic2VyaWVzLXZpZXciXSxbInNlcmllc1ZpZXciLCIiXSxbMywidmlld0V4dGVudCIsInhTY2FsZSIsInlTY2FsZSIsInhHcmlkQ291bnQiLCJ5R3JpZENvdW50IiwiZG9tRGltIiw0LCJuZ0lmIl0sWzQsIm5nSWYiXSxbMywic2VyaWVzRGF0YSIsInNlcmllc01ldGFkYXRhTWFwIiwidmlld0V4dGVudCIsInhTY2FsZSIsInlTY2FsZSIsInRvb2x0aXBPcmlnaW5FbCIsImRvbURpbSIsInRvb2x0aXBUZW1wbGF0ZSIsIm9uVmlld0V4dGVudENoYW5nZSIsIm9uVmlld0V4dGVudFJlc2V0Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsImN1c3RvbS12aXMiLDQsIm5nSWYiXSxbMSwieS1heGlzIl0sWyJ5QXhpcyIsIiJdLFsiYXhpcyIsInkiLDMsImF4aXNFeHRlbnQiLCJjdXN0b21Gb3JtYXR0ZXIiLCJkb21EaW0iLCJncmlkQ291bnQiLCJzY2FsZSIsIm9uVmlld0V4dGVudENoYW5nZSIsNCwibmdJZiJdLFsxLCJ4LWF4aXMiXSxbInhBeGlzIiwiIl0sWyJheGlzIiwieCIsMywiYXhpc0V4dGVudCIsImN1c3RvbUZvcm1hdHRlciIsImRvbURpbSIsImdyaWRDb3VudCIsInNjYWxlIiwib25WaWV3RXh0ZW50Q2hhbmdlIiw0LCJuZ0lmIl0sWyJjbGFzcyIsImRvdCIsNCwibmdJZiJdLFszLCJ2aWV3RXh0ZW50IiwieFNjYWxlIiwieVNjYWxlIiwieEdyaWRDb3VudCIsInlHcmlkQ291bnQiLCJkb21EaW0iXSxbImNoYXJ0RWwiLCIiXSxbMywic2VyaWVzRGF0YSIsInNlcmllc01ldGFkYXRhTWFwIiwidmlld0V4dGVudCIsInhTY2FsZSIsInlTY2FsZSIsInRvb2x0aXBPcmlnaW5FbCIsImRvbURpbSIsInRvb2x0aXBUZW1wbGF0ZSIsIm9uVmlld0V4dGVudENoYW5nZSIsIm9uVmlld0V4dGVudFJlc2V0Il0sWzEsImN1c3RvbS12aXMiXSxbMywibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0Il0sWyJheGlzIiwieSIsMywiYXhpc0V4dGVudCIsImN1c3RvbUZvcm1hdHRlciIsImRvbURpbSIsImdyaWRDb3VudCIsInNjYWxlIiwib25WaWV3RXh0ZW50Q2hhbmdlIl0sWyJheGlzIiwieCIsMywiYXhpc0V4dGVudCIsImN1c3RvbUZvcm1hdHRlciIsImRvbURpbSIsImdyaWRDb3VudCIsInNjYWxlIiwib25WaWV3RXh0ZW50Q2hhbmdlIl0sWzEsImRvdCJdLFsxLCJyZWN0Il1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDAsMSksUmYoIm9uUmVzaXplIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uVmlld1Jlc2l6ZSgpfSkpLENmKDIsImRpdiIsMiwzKSxIbSg0LHdodCwxLDYsImxpbmUtY2hhcnQtZ3JpZC12aWV3Iiw0KSxIbSg1LERodCwzLDIsIm5nLWNvbnRhaW5lciIsNSksSG0oNixSaHQsMSw4LCJsaW5lLWNoYXJ0LWludGVyYWN0aXZlLXZpZXciLDYpLEhtKDcsQWh0LDIsNywiZGl2Iiw3KSxNZigpLENmKDgsImRpdiIsOCw5KSxIbSgxMCxUaHQsMSw1LCJsaW5lLWNoYXJ0LWF4aXMiLDEwKSxNZigpLENmKDExLCJkaXYiLDExLDEyKSxIbSgxMyxOaHQsMSw1LCJsaW5lLWNoYXJ0LWF4aXMiLDEzKSxIbSgxNCxJaHQsMiw4LCJkaXYiLDcpLE1mKCksSG0oMTUsSGh0LDIsMCwiZGl2IiwxNCksTWYoKSksMiZlJiYoYmYoIm5nQ2xhc3MiLGF5KDEwLEZodCxuLnVzZURhcmtNb2RlLG4ubGluZU9ubHkpKSgicmVzaXplRXZlbnREZWJvdW5jZVBlcmlvZEluTXMiLDApLERjKDQpLGJmKCJuZ0lmIiwhbi5saW5lT25seSksRGMoMSksYmYoIm5nSWYiLG4uc2hvd0NoYXJ0UmVuZGVyZXJFbGVtZW50KSxEYygxKSxiZigibmdJZiIsIW4ubGluZU9ubHkpLERjKDEpLGJmKCJuZ0lmIixuLmN1c3RvbVZpc1RlbXBsYXRlKSxEYygzKSxiZigibmdJZiIsIW4ubGluZU9ubHkpLERjKDMpLGJmKCJuZ0lmIiwhbi5saW5lT25seSksRGMoMSksYmYoIm5nSWYiLG4uY3VzdG9tWEF4aXNUZW1wbGF0ZSksRGMoMSksYmYoIm5nSWYiLCFuLmxpbmVPbmx5KSl9LGRpcmVjdGl2ZXM6WyRRLCRCLEN2LFB2LGVodCx1aHQsSXYsTWh0XSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde2NvbnRhaW46c3RyaWN0O2Rpc3BsYXk6aW5saW5lLWJsb2NrfVtfbmdob3N0LSVDT01QJV0gICAuY3VzdG9tLXZpc1tfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZX0uY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOmluaGVyaXQ7ZGlzcGxheTpncmlkO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO2dyaWQtdGVtcGxhdGUtYXJlYXM6InlheGlzIHNlcmllcyIgImRvdCB4YXhpcyI7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjUwcHggMWZyO2dyaWQtYXV0by1yb3dzOjFmciAzMHB4fS5jb250YWluZXIuZGFyay1tb2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojZmZmfS5jb250YWluZXIubGluZS1vbmx5LW1vZGVbX25nY29udGVudC0lQ09NUCVde2dyaWQtdGVtcGxhdGUtY29sdW1uczowIDFmcjtncmlkLWF1dG8tcm93czoxZnIgMH0uc2VyaWVzLXZpZXdbX25nY29udGVudC0lQ09NUCVde2dyaWQtYXJlYTpzZXJpZXM7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5zZXJpZXMtdmlld1tfbmdjb250ZW50LSVDT01QJV0gICAuY3VzdG9tLXZpc1tfbmdjb250ZW50LSVDT01QJV0sIC5zZXJpZXMtdmlld1tfbmdjb250ZW50LSVDT01QJV0gICBjYW52YXNbX25nY29udGVudC0lQ09NUCVdLCAuc2VyaWVzLXZpZXdbX25nY29udGVudC0lQ09NUCVdICAgc3ZnW19uZ2NvbnRlbnQtJUNPTVAlXSwgLnNlcmllcy12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGxpbmUtY2hhcnQtZ3JpZC12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSwgLnNlcmllcy12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGxpbmUtY2hhcnQtaW50ZXJhY3RpdmUtdmlld1tfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEwMCU7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LngtYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAuY3VzdG9tLXZpc1tfbmdjb250ZW50LSVDT01QJV0sIC55LWF4aXNbX25nY29udGVudC0lQ09NUCVdICAgLmN1c3RvbS12aXNbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxMDAlO2xlZnQ6MDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTstd2Via2l0LW1hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDAwMCAwJSwgIzAwMCAxMCUsICMwMDAgOTAlLCAjMDAwMCAxMDAlKTttYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzAwMDAgMCUsICMwMDAgMTAlLCAjMDAwIDkwJSwgIzAwMDAgMTAwJSl9LngtYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICBsaW5lLWNoYXJ0LWF4aXNbX25nY29udGVudC0lQ09NUCVdLCAueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGxpbmUtY2hhcnQtYXhpc1tfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEwMCV9LngtYXhpc1tfbmdjb250ZW50LSVDT01QJV17Z3JpZC1hcmVhOnhheGlzO3Bvc2l0aW9uOnJlbGF0aXZlfS55LWF4aXNbX25nY29udGVudC0lQ09NUCVde2dyaWQtYXJlYTp5YXhpc30uZG90W19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2Rpc3BsYXk6ZmxleDtncmlkLWFyZWE6ZG90O2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uZG90W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5yZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MXB4O3dpZHRoOjFweDtiYWNrZ3JvdW5kLWNvbG9yOiNhYWF9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEJodCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJsaW5lLWNoYXJ0Iix0ZW1wbGF0ZVVybDoibGluZV9jaGFydF9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsibGluZV9jaGFydF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOk9ifV19KSx7c2VyaWVzVmlldzpbe3R5cGU6YXIsYXJnczpbInNlcmllc1ZpZXciLHtzdGF0aWM6ITAscmVhZDpLaH1dfV0seEF4aXM6W3t0eXBlOmFyLGFyZ3M6WyJ4QXhpcyIse3N0YXRpYzohMCxyZWFkOktofV19XSx5QXhpczpbe3R5cGU6YXIsYXJnczpbInlBeGlzIix7c3RhdGljOiEwLHJlYWQ6S2h9XX1dLGNoYXJ0RWw6W3t0eXBlOmFyLGFyZ3M6WyJjaGFydEVsIix7c3RhdGljOiExLHJlYWQ6S2h9XX1dLGN1c3RvbVZpc1RlbXBsYXRlOlt7dHlwZTpSX31dLGN1c3RvbVhBeGlzVGVtcGxhdGU6W3t0eXBlOlJffV0sdXNlRGFya01vZGU6W3t0eXBlOlJffV0scHJlZmVycmVkUmVuZGVyZXJUeXBlOlt7dHlwZTpSX31dLHNlcmllc0RhdGE6W3t0eXBlOlJffV0sZml4ZWRWaWV3Qm94Olt7dHlwZTpSX31dLHNlcmllc01ldGFkYXRhTWFwOlt7dHlwZTpSX31dLHhTY2FsZVR5cGU6W3t0eXBlOlJffV0seVNjYWxlVHlwZTpbe3R5cGU6Ul99XSxjdXN0b21YRm9ybWF0dGVyOlt7dHlwZTpSX31dLGN1c3RvbVlGb3JtYXR0ZXI6W3t0eXBlOlJffV0sdG9vbHRpcFRlbXBsYXRlOlt7dHlwZTpSX31dLGxpbmVPbmx5Olt7dHlwZTpSX31dLGRpc2FibGVVcGRhdGU6W3t0eXBlOlJffV0saWdub3JlWU91dGxpZXJzOlt7dHlwZTpSX31dfSk7Y2xhc3MgVmh0e31WaHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFZodCl9LFZodC7JtWNtcD1zbyh7dHlwZTpWaHQsc2VsZWN0b3JzOltbInZpcy1zZWxlY3RlZC10aW1lLWNsaXBwZWQiXV0saW5wdXRzOntzZWxlY3RlZFRpbWU6InNlbGVjdGVkVGltZSJ9LGRlY2xzOjEsdmFyczowLGNvbnN0czpbWyJzdmdJY29uIiwiaW5mb19vdXRsaW5lXzI0cHgiLCJ0aXRsZSIsIkxpbmtlZCBzdGVwIGlzIG5vdCBmb3VuZCBpbiB0aGlzIHZpc3VhbGl6YXRpb24uIFdlIGhpZ2hsaWdodGVkIHRoZSBjbG9zZXN0IHN0ZXAgZm9yIHlvdS4iXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmdmYoMCwibWF0LWljb24iLDApfSxkaXJlY3RpdmVzOltNcV0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtjb2xvcjojZDMyZjJmO2hlaWdodDoxZW07bGluZS1oZWlnaHQ6MDt3aWR0aDoxZW19Ym9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVde2NvbG9yOiNkMzJmMmZ9W19uZ2hvc3QtJUNPTVAlXSAgIG1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWaHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidmlzLXNlbGVjdGVkLXRpbWUtY2xpcHBlZCIsdGVtcGxhdGU6J1xuICAgIDxtYXQtaWNvblxuICAgICAgc3ZnSWNvbj0iaW5mb19vdXRsaW5lXzI0cHgiXG4gICAgICB0aXRsZT0iTGlua2VkIHN0ZXAgaXMgbm90IGZvdW5kIGluIHRoaXMgdmlzdWFsaXphdGlvbi4gV2UgaGlnaGxpZ2h0ZWQgdGhlIGNsb3Nlc3Qgc3RlcCBmb3IgeW91LiJcbiAgICA+PC9tYXQtaWNvbj5cbiAgJyxzdHlsZVVybHM6WyJ2aXNfc2VsZWN0ZWRfdGltZV9jbGlwcGVkX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtzZWxlY3RlZFRpbWU6W3t0eXBlOlJffV19KTtjbGFzcyBqaHR7fWZ1bmN0aW9uIFVodCh0LGUpezEmdCYmdmYoMCwidmlzLXNlbGVjdGVkLXRpbWUtY2xpcHBlZCIpfWZ1bmN0aW9uIFdodCh0LGUpezEmdCYmdmYoMCwibWF0LXNwaW5uZXIiLDIzKX1mdW5jdGlvbiBHaHQodCxlKXsxJnQmJihDZigwLCJ0aCIpLFB1KDEsIlNtb290aGVkIiksTWYoKSl9ZnVuY3Rpb24gWWh0KHQsZSl7aWYoMSZ0JiYoeGYoMCksdmYoMSwidGItZXhwZXJpbWVudC1hbGlhcyIsMjkpLFB1KDIsIi8iKSxPZigpKSwyJnQpe2NvbnN0IHQ9emYoKS4kaW1wbGljaXQ7RGMoMSksYmYoImFsaWFzIix0Lm1ldGFkYXRhLmFsaWFzKX19ZnVuY3Rpb24gcWh0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwidGQiKSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKS4kaW1wbGljaXQsZT16ZigyKTtEYygxKSxrdSgiICIsZS52YWx1ZUZvcm1hdHRlci5mb3JtYXRTaG9ydCh0LnBvaW50LnkpLCIgIil9fWZ1bmN0aW9uIFpodCh0LGUpe2lmKDEmdCYmKHhmKDApLENmKDEsInRyIiwyNyksQ2YoMiwidGQiLDI4KSx2ZigzLCJzcGFuIiksTWYoKSxDZig0LCJ0ZCIsMSksSG0oNSxZaHQsMywxLCJuZy1jb250YWluZXIiLDMpLFB1KDYpLE1mKCksSG0oNyxxaHQsMiwxLCJ0ZCIsMyksQ2YoOCwidGQiKSxQdSg5KSxNZigpLENmKDEwLCJ0ZCIpLFB1KDExKSxNZigpLENmKDEyLCJ0ZCIpLFB1KDEzKSxfeSgxNCwiZGF0ZSIpLE1mKCksQ2YoMTUsInRkIiksUHUoMTYpLE1mKCksTWYoKSxPZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigyKTtEYygxKSxjdSgiY2xvc2VzdCIsdC5tZXRhZGF0YS5jbG9zZXN0KSxEYygyKSxsdSgiYmFja2dyb3VuZC1jb2xvciIsdC5tZXRhZGF0YS5jb2xvciksRGMoMiksYmYoIm5nSWYiLHQubWV0YWRhdGEuYWxpYXMpLERjKDEpLGt1KCIiLHQubWV0YWRhdGEuZGlzcGxheU5hbWUsIiAiKSxEYygxKSxiZigibmdJZiIsbi5zbW9vdGhpbmdFbmFibGVkKSxEYygyKSx3dShuLnZhbHVlRm9ybWF0dGVyLmZvcm1hdFNob3J0KHQucG9pbnQudmFsdWUpKSxEYygyKSx3dShuLnN0ZXBGb3JtYXR0ZXIuZm9ybWF0U2hvcnQodC5wb2ludC5zdGVwKSksRGMoMiksd3UoTXkoMTQsMTEsdC5wb2ludC53YWxsVGltZSwic2hvcnQiKSksRGMoMyksa3UoIiAiLG4ucmVsYXRpdmVYRm9ybWF0dGVyLmZvcm1hdFJlYWRhYmxlKHQucG9pbnQucmVsYXRpdmVUaW1lSW5NcyksIiAiKX19ZnVuY3Rpb24gWGh0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwidGFibGUiLDI0KSxDZigxLCJ0aGVhZCIpLENmKDIsInRyIiksdmYoMywidGgiLDI1KSxDZig0LCJ0aCIpLFB1KDUsIlJ1biIpLE1mKCksSG0oNixHaHQsMiwwLCJ0aCIsMyksQ2YoNywidGgiKSxQdSg4LCJWYWx1ZSIpLE1mKCksQ2YoOSwidGgiKSxQdSgxMCwiU3RlcCIpLE1mKCksQ2YoMTEsInRoIiksUHUoMTIsIlRpbWUiKSxNZigpLENmKDEzLCJ0aCIpLFB1KDE0LCJSZWxhdGl2ZSIpLE1mKCksTWYoKSxNZigpLENmKDE1LCJ0Ym9keSIpLEhtKDE2LFpodCwxNywxNCwibmctY29udGFpbmVyIiwyNiksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS5kYXRhLG49ZS5jdXJzb3JMb2NhdGlvbkluRGF0YUNvb3JkLG89emYoKTtEYyg2KSxiZigibmdJZiIsby5zbW9vdGhpbmdFbmFibGVkKSxEYygxMCksYmYoIm5nRm9yT2YiLG8uZ2V0Q3Vyc29yQXdhcmVUb29sdGlwRGF0YSh0LG4pKSgibmdGb3JUcmFja0J5IixvLnRyYWNrQnlUb29sdGlwRGF0dW0pfX1qaHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGpodCl9LGpodC7JtWNtcD1zbyh7dHlwZTpqaHQsc2VsZWN0b3JzOltbImxpbmtlZC10aW1lLWZvYiJdXSxpbnB1dHM6e3N0ZXA6InN0ZXAifSxkZWNsczozLHZhcnM6Myx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwic3BhbiIpLFB1KDEpLF95KDIsIm51bWJlciIpLE1mKCkpLDImZSYmKERjKDEpLHd1KEN5KDIsMSxuLnN0ZXApKSl9LHBpcGVzOlskdl0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1ibG9ja31zcGFuW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Ym9yZGVyLXJhZGl1czoyNXB4O2NvbG9yOmluaGVyaXQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjExcHg7cGFkZGluZzoycHggNXB4fXNwYW5bX25nY29udGVudC0lQ09NUCVdOmhvdmVyLCBzcGFuW19uZ2NvbnRlbnQtJUNPTVAlXTphY3RpdmV7Ym9yZGVyLWNvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgc3Bhbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIHNwYW5bX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6IzYxNjE2MTtib3JkZXItY29sb3I6IzhlOThhM31ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICBzcGFuW19uZ2NvbnRlbnQtJUNPTVAlXTpob3ZlciwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgc3Bhbltfbmdjb250ZW50LSVDT01QJV06aG92ZXIsIGJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIHNwYW5bX25nY29udGVudC0lQ09NUCVdOmFjdGl2ZSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgc3Bhbltfbmdjb250ZW50LSVDT01QJV06YWN0aXZle2JvcmRlci1jb2xvcjojZWVlfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihqaHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibGlua2VkLXRpbWUtZm9iIix0ZW1wbGF0ZToiPHNwYW4+e3sgc3RlcCB8IG51bWJlciB9fTwvc3Bhbj4iLHN0eWxlVXJsczpbImxpbmtlZF90aW1lX2ZvYl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7c3RlcDpbe3R5cGU6Ul99XX0pO2NvbnN0IEtodD1mdW5jdGlvbih0KXtyZXR1cm5bMCx0XX0sSmh0PWZ1bmN0aW9uKCl7cmV0dXJueyJvdXQtb2Ytc2VsZWN0ZWQtdGltZSI6ITAsZW5kOiEwLHJhbmdlOiEwfX07ZnVuY3Rpb24gUWh0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJkaXYiLDMwKSwyJnQpe2NvbnN0IHQ9emYoMiksZT10LnZpZXdFeHRlbnQsbj10LmRvbURpbWVuc2lvbixvPXQueFNjYWxlLGk9emYoKTtsdSgibGVmdCIsby5mb3J3YXJkKGUueCxpeSgzLEtodCxuLndpZHRoKSxpLnNlbGVjdGVkVGltZS5lbmRTdGVwKSsicHgiKSxiZigibmdDbGFzcyIsb3koNSxKaHQpKX19Y29uc3QgJGh0PWZ1bmN0aW9uKHQpe3JldHVyblt0LDBdfSx0YnQ9ZnVuY3Rpb24odCl7cmV0dXJueyJvdXQtb2Ytc2VsZWN0ZWQtdGltZSI6ITAsc3RhcnQ6ITAscmFuZ2U6dH19O2Z1bmN0aW9uIGVidCh0LGUpe2lmKDEmdCYmKHhmKDApLHZmKDEsImRpdiIsMzApLEhtKDIsUWh0LDEsNiwiZGl2IiwzMSksT2YoKSksMiZ0KXtjb25zdCB0PXpmKCksZT10LnZpZXdFeHRlbnQsbj10LmRvbURpbWVuc2lvbixvPXQueFNjYWxlLGk9emYoKTtEYygxKSxsdSgicmlnaHQiLG8uZm9yd2FyZChlLngsaXkoNCwkaHQsbi53aWR0aCksaS5zZWxlY3RlZFRpbWUuc3RhcnRTdGVwKSsicHgiKSxiZigibmdDbGFzcyIsaXkoNix0YnQsISFpLnNlbGVjdGVkVGltZS5lbmRTdGVwKSksRGMoMSksYmYoIm5nSWYiLGkuc2VsZWN0ZWRUaW1lLmVuZFN0ZXApfX1mdW5jdGlvbiBuYnQodCxlKXtpZigxJnQmJkhtKDAsZWJ0LDMsOCwibmctY29udGFpbmVyIiwzKSwyJnQpe2JmKCJuZ0lmIix6ZigpLnNlbGVjdGVkVGltZSl9fWZ1bmN0aW9uIG9idCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMzIpLHZmKDEsImxpbmtlZC10aW1lLWZvYiIsMzMpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKSxlPXQudmlld0V4dGVudCxuPXQuZG9tRGltZW5zaW9uLG89dC54U2NhbGUsaT16ZigpO2x1KCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitvLmZvcndhcmQoZS54LGl5KDMsS2h0LG4ud2lkdGgpLGkuc2VsZWN0ZWRUaW1lLmVuZFN0ZXApKyJweCwgMCkiKSxEYygxKSxiZigic3RlcCIsaS5zZWxlY3RlZFRpbWUuZW5kU3RlcCl9fWZ1bmN0aW9uIGlidCh0LGUpe2lmKDEmdCYmKHhmKDApLENmKDEsImRpdiIsMzIpLHZmKDIsImxpbmtlZC10aW1lLWZvYiIsMzMpLE1mKCksSG0oMyxvYnQsMiw1LCJkaXYiLDM0KSxPZigpKSwyJnQpe2NvbnN0IHQ9emYoKSxlPXQudmlld0V4dGVudCxuPXQuZG9tRGltZW5zaW9uLG89dC54U2NhbGUsaT16ZigpO0RjKDEpLGx1KCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitvLmZvcndhcmQoZS54LGl5KDQsS2h0LG4ud2lkdGgpLGkuc2VsZWN0ZWRUaW1lLnN0YXJ0U3RlcCkrInB4LCAwKSIpLERjKDEpLGJmKCJzdGVwIixpLnNlbGVjdGVkVGltZS5zdGFydFN0ZXApLERjKDEpLGJmKCJuZ0lmIixpLnNlbGVjdGVkVGltZS5lbmRTdGVwKX19ZnVuY3Rpb24gYWJ0KHQsZSl7aWYoMSZ0JiZIbSgwLGlidCw0LDYsIm5nLWNvbnRhaW5lciIsMyksMiZ0KXtiZigibmdJZiIsemYoKS5zZWxlY3RlZFRpbWUpfX1jbGFzcyByYnR7Y29uc3RydWN0b3IodCxlKXt0aGlzLnJlZj10LHRoaXMuZGlhbG9nPWUsdGhpcy5EYXRhTG9hZFN0YXRlPVVFLHRoaXMuUmVuZGVyZXJUeXBlPWU2LHRoaXMuU2NhbGVUeXBlPW42LHRoaXMub25GdWxsU2l6ZVRvZ2dsZT1uZXcgU3ksdGhpcy5vblBpbkNsaWNrZWQ9bmV3IFN5LHRoaXMueVNjYWxlVHlwZT1uNi5MSU5FQVIsdGhpcy5pc1ZpZXdCb3hPdmVycmlkZGVuPSExLHRoaXMucmVsYXRpdmVYRm9ybWF0dGVyPXBydCx0aGlzLnZhbHVlRm9ybWF0dGVyPUthdCx0aGlzLnN0ZXBGb3JtYXR0ZXI9JGF0fXRvZ2dsZVlTY2FsZVR5cGUoKXt0aGlzLnlTY2FsZVR5cGU9dGhpcy55U2NhbGVUeXBlPT09bjYuTElORUFSP242LkxPRzEwOm42LkxJTkVBUn1yZXNldERvbWFpbigpe3RoaXMubGluZUNoYXJ0JiZ0aGlzLmxpbmVDaGFydC52aWV3Qm94UmVzZXQoKX10cmFja0J5VG9vbHRpcERhdHVtKHQsZSl7cmV0dXJuIGUuaWR9Z2V0Q3VzdG9tWEZvcm1hdHRlcigpe3N3aXRjaCh0aGlzLnhBeGlzVHlwZSl7Y2FzZSBRVC5SRUxBVElWRTpyZXR1cm4gcHJ0O2Nhc2UgUVQuU1RFUDpyZXR1cm4gb3J0O2Nhc2UgUVQuV0FMTF9USU1FOmRlZmF1bHQ6cmV0dXJufX1nZXRDdXJzb3JBd2FyZVRvb2x0aXBEYXRhKHQsZSl7Y29uc3Qgbj10Lm1hcCgodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHttZXRhZGF0YTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5tZXRhZGF0YSkse2Nsb3Nlc3Q6ITEsZGlzdFNxVG9DdXJzb3I6TWF0aC5oeXBvdCh0LnBvaW50LngtZS54LHQucG9pbnQueS1lLnkpfSl9KSkpO2xldCBvPTEvMCxpPTA7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspbz5uW3RdLm1ldGFkYXRhLmRpc3RTcVRvQ3Vyc29yJiYobz1uW3RdLm1ldGFkYXRhLmRpc3RTcVRvQ3Vyc29yLGk9dCk7c3dpdGNoKG4ubGVuZ3RoJiYobltpXS5tZXRhZGF0YS5jbG9zZXN0PSEwKSx0aGlzLnRvb2x0aXBTb3J0KXtjYXNlIEpULkFTQ0VORElORzpyZXR1cm4gbi5zb3J0KCgodCxlKT0+dC5wb2ludC55LWUucG9pbnQueSkpO2Nhc2UgSlQuREVTQ0VORElORzpyZXR1cm4gbi5zb3J0KCgodCxlKT0+ZS5wb2ludC55LXQucG9pbnQueSkpO2Nhc2UgSlQuTkVBUkVTVDpyZXR1cm4gbi5zb3J0KCgodCxlKT0+dC5tZXRhZGF0YS5kaXN0U3FUb0N1cnNvci1lLm1ldGFkYXRhLmRpc3RTcVRvQ3Vyc29yKSk7Y2FzZSBKVC5ERUZBVUxUOmNhc2UgSlQuQUxQSEFCRVRJQ0FMOnJldHVybiBuLnNvcnQoKCh0LGUpPT50Lm1ldGFkYXRhLmRpc3BsYXlOYW1lPGUubWV0YWRhdGEuZGlzcGxheU5hbWU/LTE6dC5tZXRhZGF0YS5kaXNwbGF5TmFtZT5lLm1ldGFkYXRhLmRpc3BsYXlOYW1lPzE6MCkpfX1vcGVuRGF0YURvd25sb2FkRGlhbG9nKCl7dGhpcy5kaWFsb2cub3Blbih0aGlzLkRhdGFEb3dubG9hZENvbXBvbmVudCx7ZGF0YTp7Y2FyZElkOnRoaXMuY2FyZElkfX0pfX1yYnQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHJidCkoZ2YoS2gpLGdmKFhZKSl9LHJidC7JtWNtcD1zbyh7dHlwZTpyYnQsc2VsZWN0b3JzOltbInNjYWxhci1jYXJkLWNvbXBvbmVudCJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkoQmh0LDUpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4ubGluZUNoYXJ0PXQuZmlyc3QpfX0saW5wdXRzOntjYXJkSWQ6ImNhcmRJZCIsY2hhcnRNZXRhZGF0YU1hcDoiY2hhcnRNZXRhZGF0YU1hcCIsRGF0YURvd25sb2FkQ29tcG9uZW50OiJEYXRhRG93bmxvYWRDb21wb25lbnQiLGRhdGFTZXJpZXM6ImRhdGFTZXJpZXMiLGlnbm9yZU91dGxpZXJzOiJpZ25vcmVPdXRsaWVycyIsaXNDYXJkVmlzaWJsZToiaXNDYXJkVmlzaWJsZSIsaXNQaW5uZWQ6ImlzUGlubmVkIixsb2FkU3RhdGU6ImxvYWRTdGF0ZSIsc2hvd0Z1bGxTaXplOiJzaG93RnVsbFNpemUiLHNtb290aGluZ0VuYWJsZWQ6InNtb290aGluZ0VuYWJsZWQiLHRhZzoidGFnIix0aXRsZToidGl0bGUiLHRvb2x0aXBTb3J0OiJ0b29sdGlwU29ydCIseEF4aXNUeXBlOiJ4QXhpc1R5cGUiLHhTY2FsZVR5cGU6InhTY2FsZVR5cGUiLHVzZURhcmtNb2RlOiJ1c2VEYXJrTW9kZSIsc2VsZWN0ZWRUaW1lOiJzZWxlY3RlZFRpbWUifSxvdXRwdXRzOntvbkZ1bGxTaXplVG9nZ2xlOiJvbkZ1bGxTaXplVG9nZ2xlIixvblBpbkNsaWNrZWQ6Im9uUGluQ2xpY2tlZCJ9LGRlY2xzOjM0LHZhcnM6MjYsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQsZSxuLG8saTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7dD1nb29nLmdldE1zZygiRml0IGxpbmUgY2hhcnQgZG9tYWlucyB0byBkYXRhIil9ZWxzZSB0PSRsb2NhbGl6ZWA6QSBidXR0b24gdGhhdCByZXNldHMgbGluZSBjaGFydCBkb21haW4gdG8gdGhlIGRhdGHikJ9lNjhhNTUyOTQxYWI0MjdhOTllNzQzN2UwODQ0M2YzMGFjNzFjY2Q24pCfMzgzMDY0NjUyMTA1ODI2ODU1ODpGaXQgbGluZSBjaGFydCBkb21haW5zIHRvIGRhdGFgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtlPWdvb2cuZ2V0TXNnKCJQaW4gY2FyZCIpfWVsc2UgZT0kbG9jYWxpemVgOkEgYnV0dG9uIHRvIHBpbiBhIGNhcmQu4pCfZTY2NWRjNzEyYmQ1ZjE4ZDRkZmEzYTI5ZTEyNWQ1NjVjYzUxZTJmNuKQnzcyODQ2MDY0MjYyMzQzNzUzNDQ6UGluIGNhcmRgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtuPWdvb2cuZ2V0TXNnKCJUb2dnbGUgZnVsbCBzaXplIG1vZGUiKX1lbHNlIG49JGxvY2FsaXplYDpBIGJ1dHRvbiBvbiBsaW5lIGNoYXJ0IHRoYXQgdG9nZ2xlcyBmdWxsIHNpemUgbW9kZS7ikJ9mYzhmNzY3ZDBiOWY5MzAxODdhMWJhZTM0NDc3YWQyODczNmVjZTMz4pCfOTE1NzIxNTYzNjM4OTI2NTk3OlRvZ2dsZSBmdWxsIHNpemUgbW9kZWA7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe289Z29vZy5nZXRNc2coIk1vcmUgbGluZSBjaGFydCBvcHRpb25zIil9ZWxzZSBvPSRsb2NhbGl6ZWA6QW4gb3ZlcmZsb3cgbWVudSBidXR0b24gdGhhdCBvcGVucyBtb3JlIGxpbmUgY2hhcnQgb3B0aW9uc+KQn2IyNjBmYWI5NDZhMzA3N2NlMjBmZDI4ZTMzNjk3OWY1ODY3MjBlOGTikJ84NzgwNTM3NDAyMTAzMzY0MzU6TW9yZSBsaW5lIGNoYXJ0IG9wdGlvbnNgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtpPWdvb2cuZ2V0TXNnKCJUb2dnbGUgWS1heGlzIGxvZyBzY2FsZSBvbiBsaW5lIGNoYXJ0Iil9ZWxzZSBpPSRsb2NhbGl6ZWA6QSBidXR0b24gdGhhdCB0b2dnbGVzIGxvZyBzY2FsZSBvbiB5LWF4aXMgb24gYSBsaW5lIGNoYXJ04pCfZmU5MWY5NmFiOWIzYmFjYTVhNDg5MTNmMmIwZmFlODQ0ODNkOTNlM+KQnzMzNzQ2NDU2MjA2Mzg4ODM5MjY6VG9nZ2xlIFktYXhpcyBsb2cgc2NhbGUgb24gbGluZSBjaGFydGA7cmV0dXJuW1sxLCJoZWFkaW5nIl0sWzEsIm5hbWUiXSxbMSwidGFnIiwzLCJ0aXRsZSIsInZhbHVlIl0sWzQsIm5nSWYiXSxbMSwiY29udHJvbHMiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMywiZGlzYWJsZWQiLCJ0aXRsZSIsImNsaWNrIl0sWyJzdmdJY29uIiwic2V0dGluZ3Nfb3ZlcnNjYW5fMjRweCJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsZSwxLCJwaW4tYnV0dG9uIiwzLCJjbGljayJdLFszLCJzdmdJY29uIl0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJhcmlhLWxhYmVsIixuLCJ0aXRsZSIsIlRvZ2dsZSBmdWxsIHNpemUgbW9kZSIsMywiY2xpY2siXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLG8sInRpdGxlIiwiTW9yZSBsaW5lIGNoYXJ0IG9wdGlvbnMiLDMsIm1hdE1lbnVUcmlnZ2VyRm9yIl0sWyJzdmdJY29uIiwibW9yZV92ZXJ0XzI0cHgiXSxbIm1lbnUiLCJtYXRNZW51Il0sWyJtYXQtbWVudS1pdGVtIiwiIiwiYXJpYS1sYWJlbCIsaSwzLCJjbGljayJdLFsic3ZnSWNvbiIsImxpbmVfd2VpZ2h0XzI0cHgiXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJhcmlhLWxhYmVsIiwiT3BlbiBkaWFsb2cgdG8gZG93bmxvYWQgZGF0YSIsMywiY2xpY2siXSxbInN2Z0ljb24iLCJnZXRfYXBwXzI0cHgiXSxbMSwiY2hhcnQtY29udGFpbmVyIl0sWyJkaWFtZXRlciIsIjE4Iiw0LCJuZ0lmIl0sWzMsImRpc2FibGVVcGRhdGUiLCJwcmVmZXJyZWRSZW5kZXJlclR5cGUiLCJzZXJpZXNEYXRhIiwic2VyaWVzTWV0YWRhdGFNYXAiLCJ4U2NhbGVUeXBlIiwieVNjYWxlVHlwZSIsImN1c3RvbVhGb3JtYXR0ZXIiLCJpZ25vcmVZT3V0bGllcnMiLCJ0b29sdGlwVGVtcGxhdGUiLCJ1c2VEYXJrTW9kZSIsImN1c3RvbVZpc1RlbXBsYXRlIiwiY3VzdG9tWEF4aXNUZW1wbGF0ZSIsIm9uVmlld0JveE92ZXJyaWRkZW4iXSxbInRvb2x0aXAiLCIiXSxbImxpbmVDaGFydEN1c3RvbVZpcyIsIiJdLFsibGluZUNoYXJ0Q3VzdG9tWEF4aXNWaXMiLCIiXSxbImRpYW1ldGVyIiwiMTgiXSxbMSwidG9vbHRpcCJdLFsxLCJjaXJjbGUtaGVhZGVyIl0sWzQsIm5nRm9yIiwibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSJdLFsxLCJ0b29sdGlwLXJvdyJdLFsxLCJ0b29sdGlwLXJvdy1jaXJjbGUiXSxbMywiYWxpYXMiXSxbMywibmdDbGFzcyJdLFszLCJuZ0NsYXNzIiwibGVmdCIsNCwibmdJZiJdLFsxLCJsaW5rZWQtdGltZS1mb2ItY29udGFpbmVyIl0sWzEsInNlbGVjdGVkLXRpbWUtZm9iIiwzLCJzdGVwIl0sWyJjbGFzcyIsImxpbmtlZC10aW1lLWZvYi1jb250YWluZXIiLDMsInRyYW5zZm9ybSIsNCwibmdJZiJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwic3BhbiIsMSksdmYoMiwidGItdHJ1bmNhdGVkLXBhdGgiLDIpLEhtKDMsVWh0LDEsMCwidmlzLXNlbGVjdGVkLXRpbWUtY2xpcHBlZCIsMyksTWYoKSxDZig0LCJzcGFuIiw0KSxDZig1LCJidXR0b24iLDUpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5yZXNldERvbWFpbigpfSkpLF95KDYsImFzeW5jIiksX3koNywiYXN5bmMiKSx2Zig4LCJtYXQtaWNvbiIsNiksTWYoKSxDZig5LCJidXR0b24iLDcpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblBpbkNsaWNrZWQuZW1pdCghbi5pc1Bpbm5lZCl9KSksdmYoMTAsIm1hdC1pY29uIiw4KSxNZigpLENmKDExLCJidXR0b24iLDkpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vbkZ1bGxTaXplVG9nZ2xlLmVtaXQoKX0pKSx2ZigxMiwibWF0LWljb24iLDgpLE1mKCksQ2YoMTMsImJ1dHRvbiIsMTApLHZmKDE0LCJtYXQtaWNvbiIsMTEpLE1mKCksQ2YoMTUsIm1hdC1tZW51IixudWxsLDEyKSxDZigxNywiYnV0dG9uIiwxMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLnRvZ2dsZVlTY2FsZVR5cGUoKX0pKSx2ZigxOCwibWF0LWljb24iLDE0KSxDZigxOSwic3BhbiIpLFB1KDIwLCJUb2dnbGUgWS1heGlzIGxvZyBzY2FsZSIpLE1mKCksTWYoKSxDZigyMSwiYnV0dG9uIiwxNSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9wZW5EYXRhRG93bmxvYWREaWFsb2coKX0pKSx2ZigyMiwibWF0LWljb24iLDE2KSxDZigyMywic3BhbiIpLFB1KDI0LCJEb3dubG9hZCBkYXRhIiksTWYoKSxNZigpLE1mKCksTWYoKSxNZigpLENmKDI1LCJkaXYiLDE3KSxIbSgyNixXaHQsMSwwLCJtYXQtc3Bpbm5lciIsMTgpLENmKDI3LCJsaW5lLWNoYXJ0IiwxOSksUmYoIm9uVmlld0JveE92ZXJyaWRkZW4iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmlzVmlld0JveE92ZXJyaWRkZW49ZX0pKSxNZigpLEhtKDI4LFhodCwxNywzLCJuZy10ZW1wbGF0ZSIsbnVsbCwyMCxxeSksTWYoKSxIbSgzMCxuYnQsMSwxLCJuZy10ZW1wbGF0ZSIsbnVsbCwyMSxxeSksSG0oMzIsYWJ0LDEsMSwibmctdGVtcGxhdGUiLG51bGwsMjIscXkpKSwyJmUpe2NvbnN0IHQ9Rm0oMTYpLGU9Rm0oMjkpLG89Rm0oMzEpLGk9Rm0oMzMpO0RjKDIpLExmKCJ0aXRsZSIsbi50YWcpLExmKCJ2YWx1ZSIsbi50aXRsZSksRGMoMSksYmYoIm5nSWYiLG4uc2VsZWN0ZWRUaW1lJiZuLnNlbGVjdGVkVGltZS5jbGlwcGVkKSxEYygyKSxiZigiZGlzYWJsZWQiLCFuLmxpbmVDaGFydHx8IUN5KDYsMjIsbi5saW5lQ2hhcnQuZ2V0SXNWaWV3Qm94T3ZlcnJpZGRlbigpKSkoInRpdGxlIixuLmxpbmVDaGFydCYmQ3koNywyNCxuLmxpbmVDaGFydC5nZXRJc1ZpZXdCb3hPdmVycmlkZGVuKCkpPyJMaW5lIGNoYXJ0IGlzIGFscmVhZHkgZml0dGVkIHRvIGRhdGEuIFdoZW4gZGF0YSB1cGRhdGVzLCB0aGUgbGluZSBjaGFydCB3aWxsIGF1dG8gZml0IHRvIGl0cyBkb21haW4uIjoiRml0IGxpbmUgY2hhcnQgZG9tYWlucyB0byBkYXRhIiksRGMoNCkseW0oInRpdGxlIixuLmlzUGlubmVkPyJVbnBpbiBjYXJkIjoiUGluIGNhcmQiKSxEYygxKSxiZigic3ZnSWNvbiIsbi5pc1Bpbm5lZD8ia2VlcF8yNHB4Ijoia2VlcF9vdXRsaW5lXzI0cHgiKSxEYygyKSxiZigic3ZnSWNvbiIsbi5zaG93RnVsbFNpemU/ImZ1bGxzY3JlZW5fZXhpdF8yNHB4IjoiZnVsbHNjcmVlbl8yNHB4IiksRGMoMSksYmYoIm1hdE1lbnVUcmlnZ2VyRm9yIix0KSxEYygxMyksYmYoIm5nSWYiLG4ubG9hZFN0YXRlPT09bi5EYXRhTG9hZFN0YXRlLkxPQURJTkcpLERjKDEpLGJmKCJkaXNhYmxlVXBkYXRlIiwhbi5pc0NhcmRWaXNpYmxlKSgicHJlZmVycmVkUmVuZGVyZXJUeXBlIixuLlJlbmRlcmVyVHlwZS5XRUJHTCkoInNlcmllc0RhdGEiLG4uZGF0YVNlcmllcykoInNlcmllc01ldGFkYXRhTWFwIixuLmNoYXJ0TWV0YWRhdGFNYXApKCJ4U2NhbGVUeXBlIixuLnhTY2FsZVR5cGUpKCJ5U2NhbGVUeXBlIixuLnlTY2FsZVR5cGUpKCJjdXN0b21YRm9ybWF0dGVyIixuLmdldEN1c3RvbVhGb3JtYXR0ZXIoKSkoImlnbm9yZVlPdXRsaWVycyIsbi5pZ25vcmVPdXRsaWVycykoInRvb2x0aXBUZW1wbGF0ZSIsZSkoInVzZURhcmtNb2RlIixuLnVzZURhcmtNb2RlKSgiY3VzdG9tVmlzVGVtcGxhdGUiLG8pKCJjdXN0b21YQXhpc1RlbXBsYXRlIixpKX19LGRpcmVjdGl2ZXM6W0w0LFB2LE5MLE1xLHFxLGpxLEhxLEJodCxWaHQsYTIseHYsSDIsQ3Ysamh0XSxwaXBlczpbVnYsWXZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0bztwYWRkaW5nOjE2cHg7cGFkZGluZy10b3A6NHB4fS5oZWFkaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxNHB4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbi1ib3R0b206NHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5oZWFkaW5nW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5uYW1lW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpncmlkO2dhcDo1cHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG8gYXV0b30uaGVhZGluZ1tfbmdjb250ZW50LSVDT01QJV0gICB2aXMtc2VsZWN0ZWQtdGltZS1jbGlwcGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MS4yZW07bGluZS1oZWlnaHQ6MH0udGFnW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW59LnBpbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgbWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxOHB4fS5jb250cm9sc1tfbmdjb250ZW50LSVDT01QJV17Y29sb3I6IzYxNjE2MTt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxleC1zaHJpbms6MDttYXJnaW4tcmlnaHQ6LTEycHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0uY2hhcnQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4OjF9LmNoYXJ0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0gICBtYXQtc3Bpbm5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTFweDt0b3A6MTFweH0uY2hhcnQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGxpbmUtY2hhcnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCV9LnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1zcGFjaW5nOjRweDtmb250LXNpemU6MTNweH0udG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17dGV4dC1hbGlnbjpsZWZ0fS50b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC50b29sdGlwLXJvd1tfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwfS50b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC50b29sdGlwLXJvdy1jaXJjbGVbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVdICAgLnRvb2x0aXAtcm93LWNpcmNsZVtfbmdjb250ZW50LSVDT01QJV0gPiBzcGFuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjQpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMHB4O3dpZHRoOjEwcHh9LnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVdICAgLmNsb3Nlc3RbX25nY29udGVudC0lQ09NUCVdICAgLnRvb2x0aXAtcm93LWNpcmNsZVtfbmdjb250ZW50LSVDT01QJV0gPiBzcGFuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItY29sb3I6I2ZmZjtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmfS5vdXQtb2Ytc2VsZWN0ZWQtdGltZVtfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjAgZGFzaGVkIGN1cnJlbnRDb2xvcjtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZX0ub3V0LW9mLXNlbGVjdGVkLXRpbWUuc3RhcnRbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1yaWdodC13aWR0aDoycHg7bWFyZ2luLWxlZnQ6LTFweH0ub3V0LW9mLXNlbGVjdGVkLXRpbWUuc3RhcnQucmFuZ2VbX25nY29udGVudC0lQ09NUCVde2xlZnQ6MH0ub3V0LW9mLXNlbGVjdGVkLXRpbWUuZW5kW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItbGVmdC13aWR0aDoycHg7bWFyZ2luLXJpZ2h0Oi0xcHg7cmlnaHQ6MH0ub3V0LW9mLXNlbGVjdGVkLXRpbWUucmFuZ2VbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLm91dC1vZi1zZWxlY3RlZC10aW1lLnJhbmdlW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLm91dC1vZi1zZWxlY3RlZC10aW1lLnJhbmdlW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjQpfS5saW5rZWQtdGltZS1mb2ItY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1ibG9jaztsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9bGlua2VkLXRpbWUtZm9iW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocmJ0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InNjYWxhci1jYXJkLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6InNjYWxhcl9jYXJkX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyJzY2FsYXJfY2FyZF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpYWX1dfSkse2NhcmRJZDpbe3R5cGU6Ul99XSxjaGFydE1ldGFkYXRhTWFwOlt7dHlwZTpSX31dLERhdGFEb3dubG9hZENvbXBvbmVudDpbe3R5cGU6Ul99XSxkYXRhU2VyaWVzOlt7dHlwZTpSX31dLGlnbm9yZU91dGxpZXJzOlt7dHlwZTpSX31dLGlzQ2FyZFZpc2libGU6W3t0eXBlOlJffV0saXNQaW5uZWQ6W3t0eXBlOlJffV0sbG9hZFN0YXRlOlt7dHlwZTpSX31dLHNob3dGdWxsU2l6ZTpbe3R5cGU6Ul99XSxzbW9vdGhpbmdFbmFibGVkOlt7dHlwZTpSX31dLHRhZzpbe3R5cGU6Ul99XSx0aXRsZTpbe3R5cGU6Ul99XSx0b29sdGlwU29ydDpbe3R5cGU6Ul99XSx4QXhpc1R5cGU6W3t0eXBlOlJffV0seFNjYWxlVHlwZTpbe3R5cGU6Ul99XSx1c2VEYXJrTW9kZTpbe3R5cGU6Ul99XSxzZWxlY3RlZFRpbWU6W3t0eXBlOlJffV0sb25GdWxsU2l6ZVRvZ2dsZTpbe3R5cGU6RV99XSxvblBpbkNsaWNrZWQ6W3t0eXBlOkVffV0sbGluZUNoYXJ0Olt7dHlwZTphcixhcmdzOltCaHRdfV19KTtjbGFzcyBzYnR7Y29uc3RydWN0b3IodCxlKXt0aGlzLnJlZj10LHRoaXMuY2RrU2Nyb2xsYWJsZT1lLHRoaXMub25WaXNpYmlsaXR5Q2hhbmdlPW5ldyBTeSx0aGlzLm5nVW5zdWJzY3JpYmUkPW5ldyBCLHRoaXMub25FdmVudCQ9bmV3IEJ9bmdPbkluaXQoKXtjb25zdCB0PXtyb290OnRoaXMuY2RrU2Nyb2xsYWJsZT90aGlzLmNka1Njcm9sbGFibGUuZ2V0RWxlbWVudFJlZigpLm5hdGl2ZUVsZW1lbnQ6bnVsbH07dGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlck1hcmdpbiYmKHQucm9vdE1hcmdpbj10aGlzLmludGVyc2VjdGlvbk9ic2VydmVyTWFyZ2luKTtjb25zdCBlPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigodD0+e3RoaXMub25FdmVudCQubmV4dCh0KX0pLHQpO2Uub2JzZXJ2ZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KSx0aGlzLm5nVW5zdWJzY3JpYmUkLnN1YnNjcmliZSgoKCk9PntlLnVub2JzZXJ2ZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KX0pKSx0aGlzLm9uRXZlbnQkLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgodD0+e2NvbnN0IGU9dC5zbGljZSgtMSlbMF07dGhpcy5vblZpc2liaWxpdHlDaGFuZ2UuZW1pdCh7dmlzaWJsZTplLmlzSW50ZXJzZWN0aW5nfSl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLm5nVW5zdWJzY3JpYmUkLm5leHQoKSx0aGlzLm5nVW5zdWJzY3JpYmUkLmNvbXBsZXRlKCl9d2FpdEZvckV2ZW50Rm9yVGVzdE9ubHkoKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9PnRoaXMub25FdmVudCQucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3QoKX0pKSkpfX1mdW5jdGlvbiBsYnQodCxlKXtyZXR1cm4gdC5sZW5ndGg9PT1lLmxlbmd0aCYmdC5ldmVyeSgoKHQsbik9Pntjb25zdCBvPWVbbl0saT10LnBvaW50cyxhPW8ucG9pbnRzO3JldHVybiB0LnJ1bklkPT09by5ydW5JZCYmaS5sZW5ndGg9PT1hLmxlbmd0aCYmaS5ldmVyeSgoKHQsZSk9Pntjb25zdCBuPWFbZV07cmV0dXJuIHQueD09PW4ueCYmdC55PT09bi55fSkpfSkpfXNidC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8c2J0KShnZihLaCksZ2YoSkwsOCkpfSxzYnQuybVkaXI9aG8oe3R5cGU6c2J0LHNlbGVjdG9yczpbWyIiLCJvYnNlcnZlSW50ZXJzZWN0aW9uIiwiIl1dLGlucHV0czp7aW50ZXJzZWN0aW9uT2JzZXJ2ZXJNYXJnaW46ImludGVyc2VjdGlvbk9ic2VydmVyTWFyZ2luIn0sb3V0cHV0czp7b25WaXNpYmlsaXR5Q2hhbmdlOiJvblZpc2liaWxpdHlDaGFuZ2UifX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoc2J0LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltvYnNlcnZlSW50ZXJzZWN0aW9uXSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6SkwsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX1dfSkse2ludGVyc2VjdGlvbk9ic2VydmVyTWFyZ2luOlt7dHlwZTpSX31dLG9uVmlzaWJpbGl0eUNoYW5nZTpbe3R5cGU6RV99XX0pO2NsYXNzIGNidHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5EYXRhRG93bmxvYWRDb21wb25lbnQ9ZjYsdGhpcy5mdWxsV2lkdGhDaGFuZ2VkPW5ldyBTeSx0aGlzLmZ1bGxIZWlnaHRDaGFuZ2VkPW5ldyBTeSx0aGlzLnBpblN0YXRlQ2hhbmdlZD1uZXcgU3ksdGhpcy5pc1Zpc2libGU9ITEsdGhpcy51c2VEYXJrTW9kZSQ9dGhpcy5zdG9yZS5zZWxlY3QoRkQpLHRoaXMuaWdub3JlT3V0bGllcnMkPXRoaXMuc3RvcmUuc2VsZWN0KGJ6KSx0aGlzLnRvb2x0aXBTb3J0JD10aGlzLnN0b3JlLnNlbGVjdChoeiksdGhpcy54QXhpc1R5cGUkPXRoaXMuc3RvcmUuc2VsZWN0KHl6KSx0aGlzLnhTY2FsZVR5cGUkPXRoaXMuc3RvcmUuc2VsZWN0KHl6KS5waXBlKFZ0KCh0PT57c3dpdGNoKHQpe2Nhc2UgUVQuU1RFUDpjYXNlIFFULlJFTEFUSVZFOnJldHVybiBuNi5MSU5FQVI7Y2FzZSBRVC5XQUxMX1RJTUU6cmV0dXJuIG42LlRJTUU7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgeEF4aXNUeXBlIGZvciBsaW5lIGNoYXJ0LiAke3R9YCl9fSkpKSx0aGlzLnNjYWxhclNtb290aGluZyQ9dGhpcy5zdG9yZS5zZWxlY3QoQ3opLHRoaXMuc21vb3RoaW5nRW5hYmxlZCQ9dGhpcy5zdG9yZS5zZWxlY3QoQ3opLnBpcGUoVnQoKHQ9PnQ+MCkpKSx0aGlzLnNob3dGdWxsU2l6ZT0hMSx0aGlzLm5nVW5zdWJzY3JpYmU9bmV3IEJ9b25WaXNpYmlsaXR5Q2hhbmdlKHt2aXNpYmxlOnR9KXt0aGlzLmlzVmlzaWJsZT10fWlzU2NhbGFyQ2FyZE1ldGFkYXRhKHQpe2NvbnN0e3BsdWdpbjplfT10O3JldHVybiBlPT09S1QuU0NBTEFSU31vbkZ1bGxTaXplVG9nZ2xlKCl7dGhpcy5zaG93RnVsbFNpemU9IXRoaXMuc2hvd0Z1bGxTaXplLHRoaXMuZnVsbFdpZHRoQ2hhbmdlZC5lbWl0KHRoaXMuc2hvd0Z1bGxTaXplKSx0aGlzLmZ1bGxIZWlnaHRDaGFuZ2VkLmVtaXQodGhpcy5zaG93RnVsbFNpemUpfW5nT25Jbml0KCl7Y29uc3QgdD10aGlzLnN0b3JlLnNlbGVjdChueix0aGlzLmNhcmRJZCkucGlwZSh1ZSgodD0+ISF0JiZ0aGlzLmlzU2NhbGFyQ2FyZE1ldGFkYXRhKHQpKSksVnQoKHQ9PnQpKSk7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoWyJzbW9vdGhlZCIsdF0pfWNvbnN0IG49dGhpcy5zdG9yZS5zZWxlY3QodHosdGhpcy5jYXJkSWQpLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSx1ZSgodD0+Qm9vbGVhbih0KSkpLFZ0KCh0PT50KSksRmUoMSkpLnBpcGUoX2UodGhpcy5zdG9yZS5zZWxlY3QoeXopKSxWdCgoKFt0LGVdKT0+T2JqZWN0LmtleXModCkubWFwKChuPT4oe3J1bklkOm4scG9pbnRzOnRoaXMuc3RlcFNlcmllc1RvTGluZVNlcmllcyh0W25dLGUpfSkpKSkpLHdlKGxidCkpLnBpcGUoX2UodGhpcy5zdG9yZS5zZWxlY3QoTXopKSxqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLFZ0KCgoW3QsZV0pPT5lPyhmdW5jdGlvbiBuKHQpe3ZhciBlO2NvbnN0IG49W107Zm9yKGNvbnN0IG8gb2YgdCl7Y29uc3QgdD1bXTtsZXQgaT1OdW1iZXIuaXNGaW5pdGUobnVsbD09PShlPW8ucG9pbnRzWzBdKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS54KT9vLnBvaW50c1swXS54Oi0xLzAsYT1bXTtmb3IoY29uc3QgZSBvZiBvLnBvaW50cylOdW1iZXIuaXNGaW5pdGUoZS54KT8oZS54PGkmJih0LnB1c2goe3Nlcmllc0lkOkpTT04uc3RyaW5naWZ5KFtvLnJ1bklkLHQubGVuZ3RoXSkscnVuSWQ6by5ydW5JZCxwb2ludHM6YX0pLGE9W10pLGEucHVzaChlKSxpPWUueCk6YS5wdXNoKGUpO3QucHVzaCh7c2VyaWVzSWQ6SlNPTi5zdHJpbmdpZnkoW28ucnVuSWQsdC5sZW5ndGhdKSxydW5JZDpvLnJ1bklkLHBvaW50czphfSk7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspbi5wdXNoKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0W2VdKSx7cGFydGl0aW9uSW5kZXg6ZSxwYXJ0aXRpb25TaXplOnQubGVuZ3RofSkpfXJldHVybiBufSkodCk6dC5tYXAoKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2VyaWVzSWQ6dC5ydW5JZCxwYXJ0aXRpb25JbmRleDowLHBhcnRpdGlvblNpemU6MX0pKSkpKSxWdCgodD0+dC5tYXAoKHQ9Pnt2YXIgZTtjb25zdCBuPW51bGw9PT0oZT10LnBvaW50c1swXSl8fHZvaWQgMD09PWU/dm9pZCAwOmUud2FsbFRpbWU7cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cG9pbnRzOnQucG9pbnRzLm1hcCgodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtyZWxhdGl2ZVRpbWVJbk1zOnQud2FsbFRpbWUtbn0pKSl9KX0pKSkpLF9lKHRoaXMuc3RvcmUuc2VsZWN0KHl6KSksVnQoKChbdCxlXSk9PnQubWFwKCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3BvaW50czp0LnBvaW50cy5tYXAoKHQ9PntsZXQgbjtzd2l0Y2goZSl7Y2FzZSBRVC5SRUxBVElWRTpuPXQucmVsYXRpdmVUaW1lSW5NczticmVhaztjYXNlIFFULldBTExfVElNRTpuPXQud2FsbFRpbWU7YnJlYWs7Y2FzZSBRVC5TVEVQOmRlZmF1bHQ6bj10LnN0ZXB9cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7eDpufSl9KSl9KSkpKSksRmUoMSkpO3RoaXMuZGF0YVNlcmllcyQ9bi5waXBlKF9lKHRoaXMuc3RvcmUuc2VsZWN0KEN6KSksVmUoKChbdCxuXSk9Pntjb25zdCBvPXQubWFwKCgoe3Nlcmllc0lkOnQscG9pbnRzOmV9KT0+KHtpZDp0LHBvaW50czplfSkpKTtyZXR1cm4gbjw9MD96dChvKTpQdCgoZnVuY3Rpb24gaSh0LGUpe3ZhciBuO3JldHVybiBYVCh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe051bWJlci5pc0Zpbml0ZShlKXx8KGU9MCksZT1NYXRoLm1heCgwLE1hdGgubWluKGUsMSkpO2NvbnN0IG89W107Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1udWxsPT09KG49aS5wb2ludHNbMF0pfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLnk7aWYoaS5wb2ludHMuZXZlcnkoKGU9PmUueT09dCkpKXtvLnB1c2goaSk7Y29udGludWV9bGV0IGE9aS5wb2ludHMubGVuZ3RoPjA/MDpOYU4scj0wO2NvbnN0IHM9aS5wb2ludHMubWFwKCh0PT57Y29uc3Qgbj10Lnk7aWYoTnVtYmVyLmlzRmluaXRlKG4pKXthPWEqZSsoMS1lKSpuLHIrKztjb25zdCBvPTE9PT1lPzE6MS1NYXRoLnBvdyhlLHIpO3JldHVybnt4OnQueCx5OmEvb319cmV0dXJue3g6dC54LHk6bn19KSk7by5wdXNoKHtpZDppLmlkLHBvaW50czpzfSl9cmV0dXJuIG99KSl9KShvLG4pKS5waXBlKFZ0KCh0PT57Y29uc3Qgbj1vLm1hcCgoKG4sbyk9Pih7aWQ6ZShuLmlkKSxwb2ludHM6dFtvXS5wb2ludHMubWFwKCgoe3k6dH0sZSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxuLnBvaW50c1tlXSkse3k6dH0pKSl9KSkpO3JldHVyblsuLi5vLC4uLm5dfSkpKX0pKSxCZShbXSkpLHRoaXMuc2VsZWN0ZWRUaW1lJD1LdChbbix0aGlzLnN0b3JlLnNlbGVjdChFeiksdGhpcy5zdG9yZS5zZWxlY3QoeXopXSkucGlwZShWdCgoKFt0LGUsbl0pPT57aWYobiE9PVFULlNURVB8fCFlKXJldHVybiBudWxsO2xldCBvPTEvMCxpPS0xLzA7Zm9yKGNvbnN0e3BvaW50czplfW9mIHQpZm9yKGNvbnN0IHQgb2YgZSlvPW8+dC54P3QueDpvLGk9aTx0Lng/dC54Omk7cmV0dXJuIEI0KGUsbyxpKX0pKSksdGhpcy5jaGFydE1ldGFkYXRhTWFwJD1uLnBpcGUoVmUoKHQ9Pkt0KHQubWFwKCh0PT50aGlzLmdldFJ1bkRpc3BsYXlOYW1lQW5kQWxpYXModC5ydW5JZCkucGlwZShWdCgoZT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLGUpKSkpKSkpKSksX2UodGhpcy5zdG9yZS5zZWxlY3QoX0kpLHRoaXMuc3RvcmUuc2VsZWN0KENJKSx0aGlzLnN0b3JlLnNlbGVjdChDeikpLENlKDApLFZ0KCgoW3QsbixvLGldKT0+e3ZhciBhO2NvbnN0IHI9e30scz1pPjA7Zm9yKGNvbnN0IGUgb2YgdCl7Y29uc3R7c2VyaWVzSWQ6dCxydW5JZDppLGRpc3BsYXlOYW1lOnMsYWxpYXM6bCxwYXJ0aXRpb25JbmRleDpjLHBhcnRpdGlvblNpemU6ZH09ZTtyW3RdPXt0eXBlOm82Lk9SSUdJTkFMLGlkOnQsYWxpYXM6bCxkaXNwbGF5TmFtZTpkPjE/YCR7c306ICR7Y31gOnMsdmlzaWJsZTpCb29sZWFuKG4mJm4uZ2V0KGkpKSxjb2xvcjpudWxsIT09KGE9b1tpXSkmJnZvaWQgMCE9PWE/YToiI2ZmZiIsYXV4OiExLG9wYWNpdHk6MX19aWYoIXMpcmV0dXJuIHI7Zm9yKGNvbnN0W3Qsbl1vZiBPYmplY3QuZW50cmllcyhyKSl7Y29uc3Qgbz1lKHQpO3Jbb109T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG4pLHtpZDpvLHR5cGU6bzYuREVSSVZFRCxhdXg6ITEsb3JpZ2luYWxTZXJpZXNJZDp0fSksbi5hdXg9ITAsbi5vcGFjaXR5PS4yNX1yZXR1cm4gcn0pKSxCZSh7fSkpLHRoaXMubG9hZFN0YXRlJD10aGlzLnN0b3JlLnNlbGVjdCgkTix0aGlzLmNhcmRJZCksdGhpcy50YWckPXQucGlwZShWdCgodD0+dC50YWcpKSksdGhpcy50aXRsZSQ9dGhpcy50YWckLnBpcGUoVnQoKHQ9Pkg0KHQsdGhpcy5ncm91cE5hbWUpKSkpLHRoaXMuaXNQaW5uZWQkPXRoaXMuc3RvcmUuc2VsZWN0KGR6LHRoaXMuY2FyZElkKX1uZ09uRGVzdHJveSgpe3RoaXMubmdVbnN1YnNjcmliZS5uZXh0KCksdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCl9Z2V0UnVuRGlzcGxheU5hbWVBbmRBbGlhcyh0KXtyZXR1cm4gS3QoW3RoaXMuc3RvcmUuc2VsZWN0KEd6LHtydW5JZDp0fSksdGhpcy5zdG9yZS5zZWxlY3QoT1IpLHRoaXMuc3RvcmUuc2VsZWN0KFl6LHtydW5JZDp0fSldKS5waXBlKFZ0KCgoW2UsbixvXSk9Pnt2YXIgaSxhO2NvbnN0IHI9bnVsbCE9PWUmJm51bGwhPT0oaT1uW2VdKSYmdm9pZCAwIT09aT9pOm51bGw7cmV0dXJue2Rpc3BsYXlOYW1lOm98fHI/bnVsbCE9PShhPW51bGw9PW8/dm9pZCAwOm8ubmFtZSkmJnZvaWQgMCE9PWE/YToiLi4uIjp0LGFsaWFzOnJ9fSkpKX1zdGVwU2VyaWVzVG9MaW5lU2VyaWVzKHQsZSl7Y29uc3Qgbj1lPT09UVQuU1RFUDtyZXR1cm4gdC5tYXAoKHQ9Pntjb25zdCBlPTFlMyp0LndhbGxUaW1lO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3g6bj90LnN0ZXA6ZSx5OnQudmFsdWUsd2FsbFRpbWU6ZSxyZWxhdGl2ZVRpbWVJbk1zOjB9KX0pKX19Y2J0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxjYnQpKGdmKGlTKSl9LGNidC7JtWNtcD1zbyh7dHlwZTpjYnQsc2VsZWN0b3JzOltbInNjYWxhci1jYXJkIl1dLGlucHV0czp7RGF0YURvd25sb2FkQ29tcG9uZW50OiJEYXRhRG93bmxvYWRDb21wb25lbnQiLGNhcmRJZDoiY2FyZElkIixncm91cE5hbWU6Imdyb3VwTmFtZSJ9LG91dHB1dHM6e2Z1bGxXaWR0aENoYW5nZWQ6ImZ1bGxXaWR0aENoYW5nZWQiLGZ1bGxIZWlnaHRDaGFuZ2VkOiJmdWxsSGVpZ2h0Q2hhbmdlZCIscGluU3RhdGVDaGFuZ2VkOiJwaW5TdGF0ZUNoYW5nZWQifSxkZWNsczoxNCx2YXJzOjQzLGNvbnN0czpbWyJvYnNlcnZlSW50ZXJzZWN0aW9uIiwiIiwzLCJjYXJkSWQiLCJjaGFydE1ldGFkYXRhTWFwIiwiRGF0YURvd25sb2FkQ29tcG9uZW50IiwiZGF0YVNlcmllcyIsImlnbm9yZU91dGxpZXJzIiwiaXNDYXJkVmlzaWJsZSIsImlzUGlubmVkIiwibG9hZFN0YXRlIiwic2hvd0Z1bGxTaXplIiwic21vb3RoaW5nRW5hYmxlZCIsInRhZyIsInRpdGxlIiwidG9vbHRpcFNvcnQiLCJ4QXhpc1R5cGUiLCJ4U2NhbGVUeXBlIiwidXNlRGFya01vZGUiLCJzZWxlY3RlZFRpbWUiLCJvbkZ1bGxTaXplVG9nZ2xlIiwib25QaW5DbGlja2VkIiwib25WaXNpYmlsaXR5Q2hhbmdlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJzY2FsYXItY2FyZC1jb21wb25lbnQiLDApLFJmKCJvbkZ1bGxTaXplVG9nZ2xlIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRnVsbFNpemVUb2dnbGUoKX0pKSgib25QaW5DbGlja2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5waW5TdGF0ZUNoYW5nZWQuZW1pdChlKX0pKSgib25WaXNpYmlsaXR5Q2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblZpc2liaWxpdHlDaGFuZ2UoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxfeSg1LCJhc3luYyIpLF95KDYsImFzeW5jIiksX3koNywiYXN5bmMiKSxfeSg4LCJhc3luYyIpLF95KDksImFzeW5jIiksX3koMTAsImFzeW5jIiksX3koMTEsImFzeW5jIiksX3koMTIsImFzeW5jIiksX3koMTMsImFzeW5jIiksTWYoKSksMiZlJiZiZigiY2FyZElkIixuLmNhcmRJZCkoImNoYXJ0TWV0YWRhdGFNYXAiLEN5KDEsMTcsbi5jaGFydE1ldGFkYXRhTWFwJCkpKCJEYXRhRG93bmxvYWRDb21wb25lbnQiLG4uRGF0YURvd25sb2FkQ29tcG9uZW50KSgiZGF0YVNlcmllcyIsQ3koMiwxOSxuLmRhdGFTZXJpZXMkKSkoImlnbm9yZU91dGxpZXJzIixDeSgzLDIxLG4uaWdub3JlT3V0bGllcnMkKSkoImlzQ2FyZFZpc2libGUiLG4uaXNWaXNpYmxlKSgiaXNQaW5uZWQiLEN5KDQsMjMsbi5pc1Bpbm5lZCQpKSgibG9hZFN0YXRlIixDeSg1LDI1LG4ubG9hZFN0YXRlJCkpKCJzaG93RnVsbFNpemUiLG4uc2hvd0Z1bGxTaXplKSgic21vb3RoaW5nRW5hYmxlZCIsQ3koNiwyNyxuLnNtb290aGluZ0VuYWJsZWQkKSkoInRhZyIsQ3koNywyOSxuLnRhZyQpKSgidGl0bGUiLEN5KDgsMzEsbi50aXRsZSQpKSgidG9vbHRpcFNvcnQiLEN5KDksMzMsbi50b29sdGlwU29ydCQpKSgieEF4aXNUeXBlIixDeSgxMCwzNSxuLnhBeGlzVHlwZSQpKSgieFNjYWxlVHlwZSIsQ3koMTEsMzcsbi54U2NhbGVUeXBlJCkpKCJ1c2VEYXJrTW9kZSIsQ3koMTIsMzksbi51c2VEYXJrTW9kZSQpKSgic2VsZWN0ZWRUaW1lIixDeSgxMyw0MSxuLnNlbGVjdGVkVGltZSQpKX0sZGlyZWN0aXZlczpbcmJ0LHNidF0scGlwZXM6W1Z2XSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoY2J0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InNjYWxhci1jYXJkIix0ZW1wbGF0ZTonXG4gICAgPHNjYWxhci1jYXJkLWNvbXBvbmVudFxuICAgICAgW2NhcmRJZF09ImNhcmRJZCJcbiAgICAgIFtjaGFydE1ldGFkYXRhTWFwXT0iY2hhcnRNZXRhZGF0YU1hcCQgfCBhc3luYyJcbiAgICAgIFtEYXRhRG93bmxvYWRDb21wb25lbnRdPSJEYXRhRG93bmxvYWRDb21wb25lbnQiXG4gICAgICBbZGF0YVNlcmllc109ImRhdGFTZXJpZXMkIHwgYXN5bmMiXG4gICAgICBbaWdub3JlT3V0bGllcnNdPSJpZ25vcmVPdXRsaWVycyQgfCBhc3luYyJcbiAgICAgIFtpc0NhcmRWaXNpYmxlXT0iaXNWaXNpYmxlIlxuICAgICAgW2lzUGlubmVkXT0iaXNQaW5uZWQkIHwgYXN5bmMiXG4gICAgICBbbG9hZFN0YXRlXT0ibG9hZFN0YXRlJCB8IGFzeW5jIlxuICAgICAgW3Nob3dGdWxsU2l6ZV09InNob3dGdWxsU2l6ZSJcbiAgICAgIFtzbW9vdGhpbmdFbmFibGVkXT0ic21vb3RoaW5nRW5hYmxlZCQgfCBhc3luYyJcbiAgICAgIFt0YWddPSJ0YWckIHwgYXN5bmMiXG4gICAgICBbdGl0bGVdPSJ0aXRsZSQgfCBhc3luYyJcbiAgICAgIFt0b29sdGlwU29ydF09InRvb2x0aXBTb3J0JCB8IGFzeW5jIlxuICAgICAgW3hBeGlzVHlwZV09InhBeGlzVHlwZSQgfCBhc3luYyJcbiAgICAgIFt4U2NhbGVUeXBlXT0ieFNjYWxlVHlwZSQgfCBhc3luYyJcbiAgICAgIFt1c2VEYXJrTW9kZV09InVzZURhcmtNb2RlJCB8IGFzeW5jIlxuICAgICAgW3NlbGVjdGVkVGltZV09InNlbGVjdGVkVGltZSQgfCBhc3luYyJcbiAgICAgIChvbkZ1bGxTaXplVG9nZ2xlKT0ib25GdWxsU2l6ZVRvZ2dsZSgpIlxuICAgICAgKG9uUGluQ2xpY2tlZCk9InBpblN0YXRlQ2hhbmdlZC5lbWl0KCRldmVudCkiXG4gICAgICBvYnNlcnZlSW50ZXJzZWN0aW9uXG4gICAgICAob25WaXNpYmlsaXR5Q2hhbmdlKT0ib25WaXNpYmlsaXR5Q2hhbmdlKCRldmVudCkiXG4gICAgPjwvc2NhbGFyLWNhcmQtY29tcG9uZW50PlxuICAnLHN0eWxlczpbIlxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse0RhdGFEb3dubG9hZENvbXBvbmVudDpbe3R5cGU6Ul99XSxjYXJkSWQ6W3t0eXBlOlJffV0sZ3JvdXBOYW1lOlt7dHlwZTpSX31dLGZ1bGxXaWR0aENoYW5nZWQ6W3t0eXBlOkVffV0sZnVsbEhlaWdodENoYW5nZWQ6W3t0eXBlOkVffV0scGluU3RhdGVDaGFuZ2VkOlt7dHlwZTpFX31dfSk7ZnVuY3Rpb24gZGJ0KHQsZSxuKXtjb25zdCBvPVtdLHtsZWZ0OmkscmlnaHQ6YX09ZSxyPShhLWkpL247bGV0IHM9MCxsPTA7Zm9yKGxldCBlPTA7ZTxuO2UrKyl7Y29uc3QgYT1pK2UqcixjPWErcixkPWU9PT1uLTE7bGV0IHA9bDtmb3IobD0wO3M8dC5sZW5ndGg7KXtjb25zdCBlPXRbc10sbj1wYnQoZSxhLGMsIWQpO2lmKHArPW4uY3VycixsKz1uLm5leHQsZS54K2UuZHg+YylicmVhaztzKyt9by5wdXNoKHt4OmEsZHg6cix5OnB9KX1yZXR1cm4gb31mdW5jdGlvbiBwYnQodCxlLG4sbyl7Y29uc3QgaT10LngsYT10LngrdC5keDtpZihpPm58fGE8ZSlyZXR1cm57Y3VycjowLG5leHQ6MH07aWYoMD09PXQuZHgpcmV0dXJuIG8mJmE+PW4/e2N1cnI6MCxuZXh0OnQueX06e2N1cnI6dC55LG5leHQ6MH07Y29uc3Qgcj1NYXRoLm1pbihhLG4pLU1hdGgubWF4KGksZSk7cmV0dXJue2N1cnI6dC55KnIvdC5keCxuZXh0OjB9fWNvbnN0IG1idD1bIm1haW4iXSxmYnQ9WyJ4QXhpcyJdLHVidD1bInlBeGlzIl0sZ2J0PVsiY29udGVudCJdLGhidD1bImhpc3RvZ3JhbXMiXTtmdW5jdGlvbiBiYnQodCxlKXtpZigxJnQmJihvYSgpLENmKDAsImciKSxDZigxLCJ0ZXh0IiksUHUoMiksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtsdSgidHJhbnNmb3JtIix0LmdldENzc1RyYW5zbGF0ZVB4KHQudG9vbHRpcERhdGEueEF4aXMucG9zaXRpb24sOSkpLERjKDIpLHd1KHQudG9vbHRpcERhdGEueEF4aXMubGFiZWwpfX1mdW5jdGlvbiB5YnQodCxlKXtpZigxJnQmJihvYSgpLENmKDAsImciKSxDZigxLCJ0ZXh0IiksUHUoMiksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtsdSgidHJhbnNmb3JtIix0LmdldEdyb3VwVHJhbnNmb3JtKHQudG9vbHRpcERhdGEuY2xvc2VzdERhdHVtKSksRGMoMSkseW0oInkiLHQudG9vbHRpcERhdGEueUF4aXMucG9zaXRpb24pLERjKDEpLGt1KCIgIix0LnRvb2x0aXBEYXRhLnlBeGlzLmxhYmVsLCIgIil9fWZ1bmN0aW9uIF9idCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTYpLHZmKDEsImxpbmtlZC10aW1lLWZvYiIsMTcpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtsdSgidHJhbnNmb3JtIix0LmdldENzc1RyYW5zbGF0ZVB4KDAsdC5zY2FsZXMudGVtcG9yYWxTY2FsZSh0LmxpbmtlZFRpbWUuZW5kU3RlcCkpKSxEYygxKSxiZigic3RlcCIsdC5saW5rZWRUaW1lLmVuZFN0ZXApfX1mdW5jdGlvbiBDYnQodCxlKXtpZigxJnQmJihvYSgpLGFhKCkseGYoMCksQ2YoMSwiZGl2IiwxNiksdmYoMiwibGlua2VkLXRpbWUtZm9iIiwxNyksTWYoKSxIbSgzLF9idCwyLDMsImRpdiIsMTgpLE9mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGx1KCJ0cmFuc2Zvcm0iLHQuZ2V0Q3NzVHJhbnNsYXRlUHgoMCx0LnNjYWxlcy50ZW1wb3JhbFNjYWxlKHQubGlua2VkVGltZS5zdGFydFN0ZXApKSksRGMoMSksYmYoInN0ZXAiLHQubGlua2VkVGltZS5zdGFydFN0ZXApLERjKDEpLGJmKCJuZ0lmIix0LmxpbmtlZFRpbWUuZW5kU3RlcCl9fWZ1bmN0aW9uIE1idCh0LGUpe2lmKDEmdCYmKG9hKCksQ2YoMCwiZyIpLHZmKDEsImxpbmUiLDE5KSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQ7bHUoInRyYW5zZm9ybSIsemYoKS5nZXRDc3NUcmFuc2xhdGVQeCgwLHQpKX19ZnVuY3Rpb24gdmJ0KHQsZSl7MSZ0JiYob2EoKSx2ZigwLCJsaW5lIiwyMikpfWZ1bmN0aW9uIHhidCh0LGUpe2lmKDEmdCYmKG9hKCksdmYoMCwiY2lyY2xlIiwyMykpLDImdCl7Y29uc3QgdD16ZigpLiRpbXBsaWNpdCxlPXpmKCk7bHUoInRyYW5zZm9ybSIsZS5nZXRDc3NUcmFuc2xhdGVQeChlLmdldFVpQ29vcmRGcm9tQmluRm9yQ29udGVudChlLmdldENsb3Nlc3RCaW5Gcm9tQmluQ29vcmRpbmF0ZSh0LGUudG9vbHRpcERhdGEueFBvc2l0aW9uSW5CaW5Db29yZCkpLngsZS5nZXRVaUNvb3JkRnJvbUJpbkZvckNvbnRlbnQoZS5nZXRDbG9zZXN0QmluRnJvbUJpbkNvb3JkaW5hdGUodCxlLnRvb2x0aXBEYXRhLnhQb3NpdGlvbkluQmluQ29vcmQpKS55KSl9fWZ1bmN0aW9uIE9idCh0LGUpe2lmKDEmdCYmKG9hKCksQ2YoMCwiZyIpLEhtKDEsdmJ0LDEsMCwibGluZSIsMjApLHZmKDIsInBhdGgiKSxIbSgzLHhidCwxLDIsImNpcmNsZSIsMjEpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKCk7bHUoInRyYW5zZm9ybSIsbi5nZXRHcm91cFRyYW5zZm9ybSh0KSkoImNvbG9yIixuLmdldEhpc3RvZ3JhbUZpbGwodCkpLGN1KCJoaXN0b2dyYW0iLCEwKSgibm8tY29sb3IiLCFuLmlzRGF0dW1JbkxpbmtlZFRpbWVSYW5nZSh0KSksRGMoMSksYmYoIm5nSWYiLG4ubW9kZT09PW4uSGlzdG9ncmFtTW9kZS5PRkZTRVQpLERjKDEpLHltKCJkIixuLmdldEhpc3RvZ3JhbVBhdGgodCkpLERjKDEpLGJmKCJuZ0lmIixuLnRvb2x0aXBEYXRhKX19ZnVuY3Rpb24gUGJ0KHQsZSl7aWYoMSZ0JiYob2EoKSx2ZigwLCJjaXJjbGUiLDIzKSksMiZ0KXtjb25zdCB0PXpmKDIpO3ltKCJjeCIsdC5nZXRVaUNvb3JkRnJvbUJpbkZvckNvbnRlbnQodC50b29sdGlwRGF0YS5jbG9zZXN0QmluKS54KSgiY3kiLHQuZ2V0VWlDb29yZEZyb21CaW5Gb3JDb250ZW50KHQudG9vbHRpcERhdGEuY2xvc2VzdEJpbikueSl9fWZ1bmN0aW9uIHdidCh0LGUpe2lmKDEmdCYmKG9hKCksQ2YoMCwiZyIsNCksQ2YoMSwiZyIpLHZmKDIsInBhdGgiKSxIbSgzLFBidCwxLDIsImNpcmNsZSIsMjQpLE1mKCksQ2YoNCwiZyIsMjUpLENmKDUsInRleHQiLDI2KSxQdSg2KSxNZigpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksbHUoInRyYW5zZm9ybSIsdC5nZXRHcm91cFRyYW5zZm9ybSh0LnRvb2x0aXBEYXRhLmNsb3Nlc3REYXR1bSkpLERjKDEpLHltKCJkIix0LmdldEhpc3RvZ3JhbVBhdGgodC50b29sdGlwRGF0YS5jbG9zZXN0RGF0dW0pKSxEYygxKSxiZigibmdJZiIsdC50b29sdGlwRGF0YS5jbG9zZXN0QmluKSxEYygxKSxsdSgidHJhbnNmb3JtIix0LmdldENzc1RyYW5zbGF0ZVB4KHQudG9vbHRpcERhdGEudmFsdWUucG9zaXRpb24ueCx0LnRvb2x0aXBEYXRhLnZhbHVlLnBvc2l0aW9uLnkpKSxEYygyKSx3dSh0LnRvb2x0aXBEYXRhLnZhbHVlLmxhYmVsKX19Y2xhc3Mga2J0e2NvbnN0cnVjdG9yKHQpe3RoaXMuY2hhbmdlRGV0ZWN0b3I9dCx0aGlzLm1vZGU9akUuT0ZGU0VULHRoaXMudGltZVByb3BlcnR5PVZFLlNURVAsdGhpcy5saW5rZWRUaW1lPW51bGwsdGhpcy5IaXN0b2dyYW1Nb2RlPWpFLHRoaXMuVGltZVByb3BlcnR5PVZFLHRoaXMudG9vbHRpcERhdGE9bnVsbCx0aGlzLm5nVW5zdWJzY3JpYmU9bmV3IEIsdGhpcy5sYXlvdXQ9e2hpc3RvZ3JhbUhlaWdodDowLGNvbnRlbnRDbGllbnRSZWN0OntoZWlnaHQ6MCx3aWR0aDowfX0sdGhpcy5zY2FsZXM9bnVsbCx0aGlzLmZvcm1hdHRlcnM9e2Jpbk51bWJlcjpMbnQoIi4zfnMiKSxjb3VudDpMbnQoIi4zbiIpLHdhbGxUaW1lOnRpdCgiJW0vJWQgJVgiKSxzdGVwOkxudCgiLjBmIikscmVsYXRpdmU6dD0+TG50KCIuMXIiKSh0LzM2ZTUpKyJoIn0sdGhpcy5kb21WaXNpYmxlPSExfW5nT25DaGFuZ2VzKCl7dGhpcy51cGRhdGVDaGFydElmVmlzaWJsZSgpfW5nT25EZXN0cm95KCl7dGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKSx0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKX1uZ0FmdGVyVmlld0luaXQoKXtsZSh0aGlzLm1haW4ubmF0aXZlRWxlbWVudCwibW91c2Vtb3ZlIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0PT50aGlzLm9uTW91c2VNb3ZlKHQpKSl9Z2V0Q3NzVHJhbnNsYXRlUHgodCxlKXtyZXR1cm5gdHJhbnNsYXRlKCR7dH1weCwgJHtlfXB4KWB9Z2V0Q2xvc2VzdEJpbkZyb21CaW5Db29yZGluYXRlKHQsZSl7aWYoIXQuYmlucy5sZW5ndGgpcmV0dXJue3g6MCxkeDowLHk6MH07Y29uc3Qgbj10LmJpbnNbMF0sbz10LmJpbnMuc2xpY2UoLTEpWzBdO2lmKGU8bi54KXJldHVybiBuO2lmKGU+PW8ueCtvLmR4KXJldHVybiBvO3JldHVybiB0LmJpbnMuZmluZCgodD0+dC54PD1lJiZlPHQueCt0LmR4KSl9Z2V0VWlDb29yZEZyb21CaW5Gb3JDb250ZW50KHQpe3JldHVybiB0aGlzLnNjYWxlcz97eDp0aGlzLnNjYWxlcy5iaW5TY2FsZShSYnQodCkpLHk6dGhpcy5zY2FsZXMuY291bnRTY2FsZSh0LnkpfTp7eDowLHk6MH19Z2V0SGlzdG9ncmFtUGF0aCh0KXtpZighdGhpcy5zY2FsZXN8fCF0LmJpbnMubGVuZ3RoKXJldHVybiIiO2NvbnN0IGU9dGhpcy5zY2FsZXMuYmluU2NhbGUsbj10aGlzLnNjYWxlcy5jb3VudFNjYWxlLG89dC5iaW5zWzBdLGk9dC5iaW5zLnNsaWNlKC0xKVswXSxhPVtgTSR7ZShSYnQobykpfSwke24oMCl9YF07Zm9yKGNvbnN0IG8gb2YgdC5iaW5zKWEucHVzaChgTCR7ZShSYnQobykpfSwke24oby55KX1gKTtyZXR1cm4gYS5wdXNoKGBMJHtlKFJidChpKSl9LCR7bigwKX1gKSxhLmpvaW4oIiIpfXRyYWNrQnlXYWxsVGltZSh0KXtyZXR1cm4gdC53YWxsVGltZX1nZXRHcm91cFRyYW5zZm9ybSh0KXtyZXR1cm4gdGhpcy5zY2FsZXMmJnRoaXMubW9kZSE9PWpFLk9WRVJMQVk/dGhpcy5nZXRDc3NUcmFuc2xhdGVQeCgwLHRoaXMuc2NhbGVzLnRlbXBvcmFsU2NhbGUodGhpcy5nZXRUaW1lVmFsdWUodCkpKToiIn1pc0xpbmtlZFRpbWVFbmFibGVkKHQpe3JldHVybiBCb29sZWFuKHRoaXMubW9kZT09PWpFLk9GRlNFVCYmdGhpcy50aW1lUHJvcGVydHk9PT1WRS5TVEVQJiZ0aGlzLnNjYWxlcyYmdCl9aXNEYXR1bUluTGlua2VkVGltZVJhbmdlKHQpe3JldHVybiF0aGlzLmlzTGlua2VkVGltZUVuYWJsZWQodGhpcy5saW5rZWRUaW1lKXx8KG51bGw9PT10aGlzLmxpbmtlZFRpbWUuZW5kU3RlcD90aGlzLmxpbmtlZFRpbWUuc3RhcnRTdGVwPT09dC5zdGVwOnRoaXMubGlua2VkVGltZS5zdGFydFN0ZXA8PXQuc3RlcCYmdGhpcy5saW5rZWRUaW1lLmVuZFN0ZXA+PXQuc3RlcCl9Z2V0SGlzdG9ncmFtRmlsbCh0KXtyZXR1cm4gdGhpcy5zY2FsZXM/dGhpcy5zY2FsZXMuZDNDb2xvclNjYWxlKHRoaXMuZ2V0VGltZVZhbHVlKHQpKToiIn1nZXRHcmlkVGlja1lMb2NzKCl7aWYoIXRoaXMuc2NhbGVzfHx0aGlzLm1vZGU9PT1qRS5PRkZTRVQpcmV0dXJuW107Y29uc3QgdD10aGlzLnNjYWxlcy5jb3VudFNjYWxlO3JldHVybiB0LnRpY2tzKCkubWFwKChlPT50KGUpKSl9b25SZXNpemUoKXt0aGlzLnVwZGF0ZUNsaWVudFJlY3RzKCksdGhpcy51cGRhdGVDaGFydElmVmlzaWJsZSgpfW9uVmlzaWJpbGl0eUNoYW5nZSh7dmlzaWJsZTp0fSl7dGhpcy5kb21WaXNpYmxlPXQsdCYmKHRoaXMudXBkYXRlQ2xpZW50UmVjdHMoKSx0aGlzLnVwZGF0ZUNoYXJ0SWZWaXNpYmxlKCkpfWdldFRpbWVWYWx1ZSh0KXtzd2l0Y2godGhpcy50aW1lUHJvcGVydHkpe2Nhc2UgVkUuV0FMTF9USU1FOnJldHVybiB0LndhbGxUaW1lO2Nhc2UgVkUuU1RFUDpyZXR1cm4gdC5zdGVwO2Nhc2UgVkUuUkVMQVRJVkU6cmV0dXJuIHQud2FsbFRpbWUtdGhpcy5kYXRhWzBdLndhbGxUaW1lfX11cGRhdGVDbGllbnRSZWN0cygpe3RoaXMuY29udGVudCYmKHRoaXMubGF5b3V0LmNvbnRlbnRDbGllbnRSZWN0PXRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHRoaXMubGF5b3V0Lmhpc3RvZ3JhbUhlaWdodD10aGlzLmxheW91dC5jb250ZW50Q2xpZW50UmVjdC5oZWlnaHQvMi41KX11cGRhdGVDaGFydElmVmlzaWJsZSgpe3RoaXMuZG9tVmlzaWJsZSYmKHRoaXMuc2NhbGVzPXRoaXMuY29tcHV0ZVNjYWxlcyh0aGlzLmRhdGEpLHRoaXMucmVuZGVyWEF4aXMoKSx0aGlzLnJlbmRlcllBeGlzKCksdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCkpfWNvbXB1dGVTY2FsZXModCl7Y29uc3R7d2lkdGg6ZSxoZWlnaHQ6bn09dGhpcy5sYXlvdXQuY29udGVudENsaWVudFJlY3Qse21pbjpvLG1heDppfT1EYnQodCwodD0+KGZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gdC5yZWR1Y2UoKCh0LGUpPT5NYXRoLm1pbih0LG4oZSkpKSwxLzApfSkodC5iaW5zLCh0PT50LngpKSksKHQ9PlNidCh0LmJpbnMsKCh7eDp0LGR4OmV9KT0+dCtlKSkpKSxhPVNidCh0LCh0PT5TYnQodC5iaW5zLCgoe3k6dH0pPT50KSkpKSxyPW1vdCgpLmRvbWFpbihbbyxpXSkubmljZSgpLHM9dGhpcy5tb2RlIT09akUuT1ZFUkxBWSYmdGhpcy50aW1lUHJvcGVydHk9PVZFLldBTExfVElNRT9TYXQoKTptb3QoKSxsPXQubWFwKCh0PT50aGlzLmdldFRpbWVWYWx1ZSh0KSkpLHttaW46YyxtYXg6ZH09RGJ0KGwsKHQ9PnQpKSxwPVtjLGRdO3MuZG9tYWluKHApO2NvbnN0IG09bW90KCk7bS5kb21haW4oWzAsYV0pO2NvbnN0IGY9VDkodGhpcy5jb2xvcnx8IiMwMDAiKSx1PW1vdCgpO2lmKHUuZG9tYWluKHApLHIucmFuZ2UoWzAsZV0pLHUucmFuZ2UoW2YuYnJpZ2h0ZXIoKSxmLmRhcmtlcigpXSksdS5pbnRlcnBvbGF0ZSh5dHQpLHRoaXMubW9kZT09PWpFLk9WRVJMQVkpcy5yYW5nZShbbixuXSksbS5yYW5nZShbbiwwXSk7ZWxzZXtzLnJhbmdlKFtuLSh0aGlzLm1vZGU9PT1qRS5PRkZTRVQ/bi10aGlzLmxheW91dC5oaXN0b2dyYW1IZWlnaHQ6MCksbl0pLG0ucmFuZ2UoWzAsLXRoaXMubGF5b3V0Lmhpc3RvZ3JhbUhlaWdodF0pfXJldHVybntiaW5TY2FsZTpyLGQzQ29sb3JTY2FsZTp1LGNvdW50U2NhbGU6bSx0ZW1wb3JhbFNjYWxlOnN9fXJlbmRlclhBeGlzKCl7aWYoIXRoaXMuc2NhbGVzKXJldHVybjtjb25zdHt3aWR0aDp0fT10aGlzLmxheW91dC5jb250ZW50Q2xpZW50UmVjdCxlPUI2KHRoaXMuc2NhbGVzLmJpblNjYWxlKS50aWNrcyhNYXRoLm1heCgyLHQvMjApKTtlLnRpY2tGb3JtYXQodGhpcy5mb3JtYXR0ZXJzLmJpbk51bWJlciksZShuOCh0aGlzLnhBeGlzLm5hdGl2ZUVsZW1lbnQpKX1nZXRZQXhpc0Zvcm1hdHRlcigpe2lmKHRoaXMubW9kZT09PWpFLk9WRVJMQVkpcmV0dXJuIHRoaXMuZm9ybWF0dGVycy5jb3VudDtzd2l0Y2godGhpcy50aW1lUHJvcGVydHkpe2Nhc2UgVkUuV0FMTF9USU1FOnJldHVybiB0aGlzLmZvcm1hdHRlcnMud2FsbFRpbWU7Y2FzZSBWRS5TVEVQOnJldHVybiB0aGlzLmZvcm1hdHRlcnMuc3RlcDtjYXNlIFZFLlJFTEFUSVZFOnJldHVybiB0aGlzLmZvcm1hdHRlcnMucmVsYXRpdmU7ZGVmYXVsdDp0aHJvdyBSYW5nZUVycm9yKGBZIGF4aXMgZm9ybWF0dGVyIGZvciAke3RoaXMudGltZVByb3BlcnR5fSBtdXN0IGJlIGltcGxlbWVudGVkYCl9fXJlbmRlcllBeGlzKCl7aWYoIXRoaXMuc2NhbGVzKXJldHVybjtjb25zdCB0PXRoaXMubW9kZT09PWpFLk9WRVJMQVk/dGhpcy5zY2FsZXMuY291bnRTY2FsZTp0aGlzLnNjYWxlcy50ZW1wb3JhbFNjYWxlLHtoZWlnaHQ6ZX09dGhpcy5sYXlvdXQuY29udGVudENsaWVudFJlY3Qsbj1MNih0KS50aWNrcyhNYXRoLm1heCgyLGUvMTUpKTtuLnRpY2tGb3JtYXQodGhpcy5nZXRZQXhpc0Zvcm1hdHRlcigpKSxuKG44KHRoaXMueUF4aXMubmF0aXZlRWxlbWVudCkpfWZpbmRDbG9zZXN0RGF0dW1JbmRleCh0KXtsZXQgZT10LnRhcmdldCxuPWU7Zm9yKDtlJiZlIT09dGhpcy5oaXN0b2dyYW1zLm5hdGl2ZUVsZW1lbnQ7KW49ZSxlPWUucGFyZW50RWxlbWVudDtyZXR1cm4gZT9BcnJheS5mcm9tKGUuY2hpbGRyZW4pLmluZGV4T2Yobik6LTF9b25Nb3VzZU1vdmVGb3JUZXN0T25seSh0KXtyZXR1cm4gdGhpcy5vbk1vdXNlTW92ZSh0KX1vbk1vdXNlTW92ZSh0KXtpZighdGhpcy5zY2FsZXMpcmV0dXJuO2NvbnN0IGU9dC5vZmZzZXRYLG49dC5vZmZzZXRZLG89dGhpcy5maW5kQ2xvc2VzdERhdHVtSW5kZXgodCk7aWYobzwwKXJldHVybjtjb25zdCBpPXRoaXMuc2NhbGVzLmJpblNjYWxlLmludmVydChlKSxhPXRoaXMuZGF0YVtvXSxyPXRoaXMuZ2V0Q2xvc2VzdEJpbkZyb21CaW5Db29yZGluYXRlKGEsaSk7dGhpcy50b29sdGlwRGF0YT17dmFsdWU6e3Bvc2l0aW9uOnt4OmUseTpufSxsYWJlbDp0aGlzLm1vZGU9PT1qRS5PRkZTRVQ/dGhpcy5mb3JtYXR0ZXJzLmNvdW50KHIueSk6YFN0ZXA6ICR7dGhpcy5mb3JtYXR0ZXJzLnN0ZXAoYS5zdGVwKX1gfSx4QXhpczp7cG9zaXRpb246dGhpcy5nZXRVaUNvb3JkRnJvbUJpbkZvckNvbnRlbnQocikueCxsYWJlbDp0aGlzLmZvcm1hdHRlcnMuYmluTnVtYmVyKFJidChyKSl9LHlBeGlzOntwb3NpdGlvbjp0aGlzLnNjYWxlcy5jb3VudFNjYWxlKHRoaXMubW9kZT09PWpFLk9GRlNFVD8wOnIueSksbGFiZWw6dGhpcy5tb2RlPT09akUuT0ZGU0VUP3RoaXMuZ2V0WUF4aXNGb3JtYXR0ZXIoKSh0aGlzLmdldFRpbWVWYWx1ZShhKSk6dGhpcy5mb3JtYXR0ZXJzLmJpbk51bWJlcihyLnkpfSx4UG9zaXRpb25JbkJpbkNvb3JkOmksY2xvc2VzdERhdHVtOmEsY2xvc2VzdEJpbjpyfSx0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKX19ZnVuY3Rpb24gU2J0KHQsZSl7cmV0dXJuIHQucmVkdWNlKCgodCxuKT0+TWF0aC5tYXgodCxlKG4pKSksLTEvMCl9ZnVuY3Rpb24gRGJ0KHQsZSxuKXtufHwobj1lKTtsZXQgbz0xLzAsaT0tMS8wO2Zvcihjb25zdCBhIG9mIHQpbz1NYXRoLm1pbihvLGUoYSkpLGk9TWF0aC5tYXgoaSxuKGEpKTtyZXR1cm57bWluOm8sbWF4Oml9fWZ1bmN0aW9uIFJidCh0KXtyZXR1cm4gdC54Ky41KnQuZHh9ZnVuY3Rpb24gRWJ0KHQsZSl7MSZ0JiZ2ZigwLCJ2aXMtc2VsZWN0ZWQtdGltZS1jbGlwcGVkIil9ZnVuY3Rpb24gQWJ0KHQsZSl7MSZ0JiYoQ2YoMCwic3BhbiIsMTQpLHZmKDEsIm1hdC1zcGlubmVyIiwxNSksTWYoKSl9a2J0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxrYnQpKGdmKE9iKSl9LGtidC7JtWNtcD1zbyh7dHlwZTprYnQsc2VsZWN0b3JzOltbInRiLWhpc3RvZ3JhbSJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKFZ5KG1idCw1KSxWeShmYnQsNSksVnkodWJ0LDUpLFZ5KGdidCw1KSxWeShoYnQsNSkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4ubWFpbj10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi54QXhpcz10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi55QXhpcz10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5jb250ZW50PXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLmhpc3RvZ3JhbXM9dC5maXJzdCl9fSxpbnB1dHM6e21vZGU6Im1vZGUiLHRpbWVQcm9wZXJ0eToidGltZVByb3BlcnR5Iixjb2xvcjoiY29sb3IiLGRhdGE6ImRhdGEiLGxpbmtlZFRpbWU6ImxpbmtlZFRpbWUifSxmZWF0dXJlczpbcW9dLGRlY2xzOjIyLHZhcnM6MTcsY29uc3RzOltbImRldGVjdFJlc2l6ZSIsIiIsIm9ic2VydmVJbnRlcnNlY3Rpb24iLCIiLDMsIm9uUmVzaXplIiwib25WaXNpYmlsaXR5Q2hhbmdlIl0sWyJtYWluIiwiIl0sWzEsImF4aXMiLCJ4LWF4aXMiXSxbInhBeGlzIiwiIl0sWzEsInRvb2x0aXAiXSxbMywidHJhbnNmb3JtIiw0LCJuZ0lmIl0sWzEsImF4aXMiLCJ5LWF4aXMiXSxbInlBeGlzIiwiIl0sWzQsIm5nSWYiXSxbMSwiY29udGVudCJdLFsiY29udGVudCIsIiJdLFsxLCJncmlkIl0sWzMsInRyYW5zZm9ybSIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWyJoaXN0b2dyYW1zIiwiIl0sWzMsInRyYW5zZm9ybSIsImhpc3RvZ3JhbSIsIm5vLWNvbG9yIiwiY29sb3IiLDQsIm5nRm9yIiwibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSJdLFsiY2xhc3MiLCJ0b29sdGlwIiw0LCJuZ0lmIl0sWzEsImxpbmtlZC10aW1lIl0sWzEsImxpbmtlZC10aW1lLWZvYiIsMywic3RlcCJdLFsiY2xhc3MiLCJsaW5rZWQtdGltZSIsMywidHJhbnNmb3JtIiw0LCJuZ0lmIl0sWyJ4MiIsIjEwMCUiLDEsInRpY2siXSxbImNsYXNzIiwiYmFzZWxpbmUiLCJ4MiIsIjEwMCUiLDQsIm5nSWYiXSxbInIiLCIyIiwzLCJ0cmFuc2Zvcm0iLDQsIm5nSWYiXSxbIngyIiwiMTAwJSIsMSwiYmFzZWxpbmUiXSxbInIiLCIyIl0sWyJyIiwiMiIsNCwibmdJZiJdLFsxLCJ2YWx1ZS1sYWJlbCJdLFsieCIsIjMiLCJ5IiwiLTMiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCwxKSxSZigib25SZXNpemUiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25SZXNpemUoKX0pKSgib25WaXNpYmlsaXR5Q2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblZpc2liaWxpdHlDaGFuZ2UoZSl9KSksb2EoKSxDZigyLCJzdmciLDIpLHZmKDMsImciLG51bGwsMyksQ2YoNSwiZyIsNCksSG0oNixiYnQsMywzLCJnIiw1KSxNZigpLE1mKCksYWEoKSxDZig3LCJkaXYiLDYpLG9hKCksQ2YoOCwic3ZnIiksdmYoOSwiZyIsbnVsbCw3KSxDZigxMSwiZyIsNCksSG0oMTIseWJ0LDMsNCwiZyIsNSksTWYoKSxNZigpLEhtKDEzLENidCw0LDQsIm5nLWNvbnRhaW5lciIsOCksTWYoKSxDZigxNCwic3ZnIiw5LDEwKSxDZigxNiwiZyIsMTEpLEhtKDE3LE1idCwyLDIsImciLDEyKSxNZigpLENmKDE4LCJnIixudWxsLDEzKSxIbSgyMCxPYnQsNCwxMSwiZyIsMTQpLE1mKCksSG0oMjEsd2J0LDcsNywiZyIsMTUpLE1mKCksTWYoKSksMiZlJiYobXUoIm1haW4gIituLm1vZGUrIiAiK24udGltZVByb3BlcnR5KSxEYyg2KSxiZigibmdJZiIsbi50b29sdGlwRGF0YSksRGMoNSksbHUoInRyYW5zZm9ybSIsbi5nZXRDc3NUcmFuc2xhdGVQeCg5LDApKSxEYygxKSxiZigibmdJZiIsbi50b29sdGlwRGF0YSksRGMoMSksYmYoIm5nSWYiLG4uaXNMaW5rZWRUaW1lRW5hYmxlZChuLmxpbmtlZFRpbWUpKSxEYyg0KSxiZigibmdGb3JPZiIsbi5nZXRHcmlkVGlja1lMb2NzKCkpLERjKDEpLGN1KCJoaXN0b2dyYW1zIiwhMCkoImxpbmtlZC10aW1lLWVuYWJsZWQiLG4ubGlua2VkVGltZSkoImxpbmtlZC10aW1lLXNpbmdsZS1zdGVwIixuLmxpbmtlZFRpbWUmJiFuLmxpbmtlZFRpbWUuZW5kU3RlcCksRGMoMiksYmYoIm5nRm9yT2YiLG4uZGF0YSkoIm5nRm9yVHJhY2tCeSIsbi50cmFja0J5V2FsbFRpbWUpLERjKDEpLGJmKCJuZ0lmIixuLnRvb2x0aXBEYXRhKSl9LGRpcmVjdGl2ZXM6WyRRLHNidCxQdix4dixqaHRdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV0sIC5tYWluW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfVtfbmdob3N0LSVDT01QJV17Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MTBweH0ubWFpbltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtYXJlYXM6ImNvbnRlbnQgeS1heGlzIiAieC1heGlzIC4iO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgNTBweDtncmlkLXRlbXBsYXRlLXJvd3M6MWZyIDMwcHh9Lm1haW4ud2FsbF90aW1lW19uZ2NvbnRlbnQtJUNPTVAlXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDc1cHh9LnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVdLCAuYmFzZWxpbmVbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiMwMDB9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAudG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuYmFzZWxpbmVbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuYmFzZWxpbmVbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiNmZmZ9LmxpbmtlZC10aW1lLWZvYltfbmdjb250ZW50LSVDT01QJV0gICB0ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVdICAgdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MTBweH0ubGlua2VkLXRpbWUtZm9iW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRleHRbX25nY29udGVudC0lQ09NUCVdLCAubGlua2VkLXRpbWUtZm9iW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGNpcmNsZVtfbmdjb250ZW50LSVDT01QJV0sIC50b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRleHRbX25nY29udGVudC0lQ09NUCVdLCAudG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV0gICBjaXJjbGVbX25nY29udGVudC0lQ09NUCVde2ZpbGw6Y3VycmVudENvbG9yfS5saW5rZWQtdGltZS1mb2JbX25nY29udGVudC0lQ09NUCVdICAgLnZhbHVlLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVdICAgLnZhbHVlLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtkb21pbmFudC1iYXNlbGluZTppZGVvZ3JhcGhpYzt0ZXh0LWFuY2hvcjpzdGFydH0ubGlua2VkLXRpbWVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6OXB4O3RvcDowO2hlaWdodDoxMDAlO3JpZ2h0OjB9LmxpbmtlZC10aW1lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5saW5rZWQtdGltZS1mb2JbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS5heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgICB7Y29sb3I6IzYxNjE2MTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmF4aXNbX25nY29udGVudC0lQ09NUCVdICAgICwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmF4aXNbX25nY29udGVudC0lQ09NUCVdICAgIHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0uYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAgIC5kb21haW4sIC5heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRpY2sgdGV4dHtkaXNwbGF5Om5vbmV9LmF4aXNbX25nY29udGVudC0lQ09NUCVdICAgICAudGljazpudGgtY2hpbGQoMm4rMSkgdGV4dHtkaXNwbGF5OmluaXRpYWx9c3ZnW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3BvaW50ZXItZXZlbnRzOnZpc2libGVQYWludGVkfXN2Z1tfbmdjb250ZW50LSVDT01QJV0gICBsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgc3ZnW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGNpcmNsZVtfbmdjb250ZW50LSVDT01QJV0sIHN2Z1tfbmdjb250ZW50LSVDT01QJV0gICAudG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZX1zdmdbX25nY29udGVudC0lQ09NUCVdICAgZ1tfbmdjb250ZW50LSVDT01QJV17d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS54LWF4aXNbX25nY29udGVudC0lQ09NUCVde2dyaWQtYXJlYTp4LWF4aXN9LngtYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAudG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17ZG9taW5hbnQtYmFzZWxpbmU6aGFuZ2luZzt0ZXh0LWFuY2hvcjptaWRkbGV9LnktYXhpc1tfbmdjb250ZW50LSVDT01QJV17Z3JpZC1hcmVhOnktYXhpczstd2Via2l0LW1hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwMDAgMCUsICMwMDAgMTAlLCAjMDAwIDkwJSwgIzAwMDAgMTAwJSk7bWFzay1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDAwMCAwJSwgIzAwMCAxMCUsICMwMDAgOTAlLCAjMDAwMCAxMDAlKX0ueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC50b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtkb21pbmFudC1iYXNlbGluZTptaWRkbGU7dGV4dC1hbmNob3I6c3RhcnR9LmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLnRpY2tbX25nY29udGVudC0lQ09NUCVdLCAuYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAgIC50aWNrIGxpbmV7c3Ryb2tlOiNkZGR9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLnRpY2tbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICAudGlja1tfbmdjb250ZW50LSVDT01QJV17c3Ryb2tlOiM1NTV9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmF4aXNbX25nY29udGVudC0lQ09NUCVdICAgICAudGljayBsaW5lLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAgIC50aWNrIGxpbmV7c3Ryb2tlOiM1NTV9LmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2dyaWQtYXJlYTpjb250ZW50fS5jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC50aWNrW19uZ2NvbnRlbnQtJUNPTVAlXXtzdHJva2Utd2lkdGg6MXB4O3N0cm9rZS1kYXNoYXJyYXk6Mn0uY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICBjaXJjbGVbX25nY29udGVudC0lQ09NUCVdLCAuY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICBwYXRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmaWxsOmN1cnJlbnRDb2xvcjtzdHJva2Utb3BhY2l0eTouNjtzdHJva2Utd2lkdGg6MXB4fS5jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGNpcmNsZVtfbmdjb250ZW50LSVDT01QJV17ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjYpKTtzdHJva2U6I2ZmZjt3aWxsLWNoYW5nZTp0cmFuc2Zvcm19LmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLmJhc2VsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtzdHJva2Utb3BhY2l0eTouMTtzdHJva2Utd2lkdGg6MXB4O3N0cm9rZTpjdXJyZW50Q29sb3I7d2lkdGg6MTAwJX0uY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICAudG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV0gICBwYXRoW19uZ2NvbnRlbnQtJUNPTVAlXXtzdHJva2Utb3BhY2l0eToxO3N0cm9rZTpjdXJyZW50Q29sb3I7ZmlsbDp0cmFuc3BhcmVudH0uY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICAubm8tY29sb3JbX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjIxLDIyMSwyMjEsLjQpICFpbXBvcnRhbnR9LmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLm5vLWNvbG9yW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBhdGhbX25nY29udGVudC0lQ09NUCVde3N0cm9rZS1vcGFjaXR5Oi4yfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5uby1jb2xvcltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5uby1jb2xvcltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSg1MSw1MSw1MSwuNCkgIWltcG9ydGFudH0ub2Zmc2V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5oaXN0b2dyYW1zW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBhdGhbX25nY29udGVudC0lQ09NUCVde3N0cm9rZTojZmZmfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5vZmZzZXRbX25nY29udGVudC0lQ09NUCVdICAgLmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLmhpc3RvZ3JhbXNbX25nY29udGVudC0lQ09NUCVdICAgcGF0aFtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5vZmZzZXRbX25nY29udGVudC0lQ09NUCVdICAgLmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLmhpc3RvZ3JhbXNbX25nY29udGVudC0lQ09NUCVdICAgcGF0aFtfbmdjb250ZW50LSVDT01QJV17c3Ryb2tlOiM1NTV9Lm9mZnNldFtfbmdjb250ZW50LSVDT01QJV0gICAuY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICAuaGlzdG9ncmFtcy5saW5rZWQtdGltZS1zaW5nbGUtc3RlcFtfbmdjb250ZW50LSVDT01QJV0gICBbX25nY29udGVudC0lQ09NUCVdOm5vdCgubm8tY29sb3IpICAgcGF0aFtfbmdjb250ZW50LSVDT01QJV17c3Ryb2tlOiMwMDB9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLm9mZnNldFtfbmdjb250ZW50LSVDT01QJV0gICAuY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICAuaGlzdG9ncmFtcy5saW5rZWQtdGltZS1zaW5nbGUtc3RlcFtfbmdjb250ZW50LSVDT01QJV0gICBbX25nY29udGVudC0lQ09NUCVdOm5vdCgubm8tY29sb3IpICAgcGF0aFtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5vZmZzZXRbX25nY29udGVudC0lQ09NUCVdICAgLmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLmhpc3RvZ3JhbXMubGlua2VkLXRpbWUtc2luZ2xlLXN0ZXBbX25nY29udGVudC0lQ09NUCVdICAgW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoLm5vLWNvbG9yKSAgIHBhdGhbX25nY29udGVudC0lQ09NUCVde3N0cm9rZTojZmZmfS5vdmVybGF5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC54LWF4aXNbX25nY29udGVudC0lQ09NUCVdICAgICAudGljayBsaW5le2Rpc3BsYXk6bm9uZX0ub3ZlcmxheVtfbmdjb250ZW50LSVDT01QJV0gICAuY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICBwYXRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmaWxsLW9wYWNpdHk6MDtzdHJva2U6Y3VycmVudENvbG9yfS50b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgY2lyY2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9Lm1haW5bX25nY29udGVudC0lQ09NUCVdOmhvdmVyICAgLmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgY2lyY2xlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1haW5bX25nY29udGVudC0lQ09NUCVdOmhvdmVyICAgLnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6YmxvY2t9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGtidCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJ0Yi1oaXN0b2dyYW0iLHRlbXBsYXRlVXJsOiJoaXN0b2dyYW1fY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbImhpc3RvZ3JhbV9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOk9ifV19KSx7bWFpbjpbe3R5cGU6YXIsYXJnczpbIm1haW4iXX1dLHhBeGlzOlt7dHlwZTphcixhcmdzOlsieEF4aXMiXX1dLHlBeGlzOlt7dHlwZTphcixhcmdzOlsieUF4aXMiXX1dLGNvbnRlbnQ6W3t0eXBlOmFyLGFyZ3M6WyJjb250ZW50Il19XSxoaXN0b2dyYW1zOlt7dHlwZTphcixhcmdzOlsiaGlzdG9ncmFtcyJdfV0sbW9kZTpbe3R5cGU6Ul99XSx0aW1lUHJvcGVydHk6W3t0eXBlOlJffV0sY29sb3I6W3t0eXBlOlJffV0sZGF0YTpbe3R5cGU6Ul99XSxsaW5rZWRUaW1lOlt7dHlwZTpSX31dfSk7Y29uc3QgVGJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJue3N0YXJ0U3RlcDp0LGVuZFN0ZXA6ZX19O2Z1bmN0aW9uIE5idCh0LGUpe2lmKDEmdCYmdmYoMCwidGItaGlzdG9ncmFtIiwxNiksMiZ0KXtjb25zdCB0PXpmKCk7YmYoImRhdGEiLHQuZGF0YSkoIm1vZGUiLHQubW9kZSkoInRpbWVQcm9wZXJ0eSIsdC50aW1lUHJvcGVydHkodC54QXhpc1R5cGUpKSgiY29sb3IiLHQucnVuQ29sb3JTY2FsZSh0LnJ1bklkKSkoImxpbmtlZFRpbWUiLHQuc2VsZWN0ZWRUaW1lP2F5KDUsVGJ0LHQuc2VsZWN0ZWRUaW1lLnN0YXJ0U3RlcCx0LnNlbGVjdGVkVGltZS5lbmRTdGVwKTpudWxsKX19ZnVuY3Rpb24gemJ0KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxOCksUHUoMSwiIERhdGEgZmFpbGVkIHRvIGxvYWQuICIpLE1mKCkpfWZ1bmN0aW9uIElidCh0LGUpe2lmKDEmdCYmSG0oMCx6YnQsMiwwLCJkaXYiLDE3KSwyJnQpe2NvbnN0IHQ9emYoKTtiZigibmdJZiIsdC5sb2FkU3RhdGU9PT10LkRhdGFMb2FkU3RhdGUuRkFJTEVEKX19Y29uc3QgSGJ0PWZ1bmN0aW9uKHQpe3JldHVybntiYWNrZ3JvdW5kQ29sb3I6dH19O2NsYXNzIEZidHtjb25zdHJ1Y3Rvcigpe3RoaXMuRGF0YUxvYWRTdGF0ZT1VRSx0aGlzLm9uRnVsbFNpemVUb2dnbGU9bmV3IFN5LHRoaXMub25QaW5DbGlja2VkPW5ldyBTeX10aW1lUHJvcGVydHkodCl7c3dpdGNoKHQpe2Nhc2UgUVQuU1RFUDpyZXR1cm4gVkUuU1RFUDtjYXNlIFFULldBTExfVElNRTpyZXR1cm4gVkUuV0FMTF9USU1FO2Nhc2UgUVQuUkVMQVRJVkU6cmV0dXJuIFZFLlJFTEFUSVZFO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHhBeGlzVHlwZSBmb3IgaGlzdG9ncmFtIHRpbWUgcHJvcGVydHkuIil9fX1GYnQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEZidCl9LEZidC7JtWNtcD1zbyh7dHlwZTpGYnQsc2VsZWN0b3JzOltbImhpc3RvZ3JhbS1jYXJkLWNvbXBvbmVudCJdXSxpbnB1dHM6e2xvYWRTdGF0ZToibG9hZFN0YXRlIix0aXRsZToidGl0bGUiLHRhZzoidGFnIixydW5JZDoicnVuSWQiLGRhdGE6ImRhdGEiLG1vZGU6Im1vZGUiLHhBeGlzVHlwZToieEF4aXNUeXBlIixydW5Db2xvclNjYWxlOiJydW5Db2xvclNjYWxlIixzaG93RnVsbFNpemU6InNob3dGdWxsU2l6ZSIsaXNQaW5uZWQ6ImlzUGlubmVkIixzZWxlY3RlZFRpbWU6InNlbGVjdGVkVGltZSJ9LG91dHB1dHM6e29uRnVsbFNpemVUb2dnbGU6Im9uRnVsbFNpemVUb2dnbGUiLG9uUGluQ2xpY2tlZDoib25QaW5DbGlja2VkIn0sZGVjbHM6MTYsdmFyczoxMyxjb25zdHM6ZnVuY3Rpb24oKXtsZXQgdCxlO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXt0PWdvb2cuZ2V0TXNnKCJQaW4gY2FyZCIpfWVsc2UgdD0kbG9jYWxpemVgOkEgYnV0dG9uIHRvIHBpbiBhIGNhcmQu4pCfZTY2NWRjNzEyYmQ1ZjE4ZDRkZmEzYTI5ZTEyNWQ1NjVjYzUxZTJmNuKQnzcyODQ2MDY0MjYyMzQzNzUzNDQ6UGluIGNhcmRgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtlPWdvb2cuZ2V0TXNnKCJUb2dnbGUgZnVsbCBzaXplIG1vZGUiKX1lbHNlIGU9JGxvY2FsaXplYDpBIGJ1dHRvbiBvbiBhIGhpc3RvZ3JhbSBjYXJkIHRoYXQgdG9nZ2xlcyBmdWxsIHNpemUgbW9kZS7ikJ9mYzhmNzY3ZDBiOWY5MzAxODdhMWJhZTM0NDc3YWQyODczNmVjZTMz4pCfOTE1NzIxNTYzNjM4OTI2NTk3OlRvZ2dsZSBmdWxsIHNpemUgbW9kZWA7cmV0dXJuW1sxLCJoZWFkaW5nIl0sWzEsInRhZyJdLFszLCJ0aXRsZSIsInZhbHVlIl0sWzQsIm5nSWYiXSxbMSwicnVuIl0sWzEsImRvdCIsMywibmdTdHlsZSJdLFsxLCJydW4tdGV4dCIsMywicnVuSWQiXSxbMSwiY29udHJvbHMiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMSwicGluLWJ1dHRvbiIsMywiY2xpY2siXSxbMywic3ZnSWNvbiJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsZSwidGl0bGUiLCJUb2dnbGUgZnVsbCBzaXplIG1vZGUiLDMsImNsaWNrIl0sWyJjbGFzcyIsInNwaW5uZXIiLDQsIm5nSWYiXSxbMywiZGF0YSIsIm1vZGUiLCJ0aW1lUHJvcGVydHkiLCJjb2xvciIsImxpbmtlZFRpbWUiLDQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsibm9EYXRhIiwiIl0sWzEsInNwaW5uZXIiXSxbImRpYW1ldGVyIiwiMTgiXSxbMywiZGF0YSIsIm1vZGUiLCJ0aW1lUHJvcGVydHkiLCJjb2xvciIsImxpbmtlZFRpbWUiXSxbImNsYXNzIiwiZW1wdHktbWVzc2FnZSIsNCwibmdJZiJdLFsxLCJlbXB0eS1tZXNzYWdlIl1dfSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiZGl2IiwwKSxDZigxLCJkaXYiLDEpLHZmKDIsInRiLXRydW5jYXRlZC1wYXRoIiwyKSxIbSgzLEVidCwxLDAsInZpcy1zZWxlY3RlZC10aW1lLWNsaXBwZWQiLDMpLE1mKCksQ2YoNCwiZGl2Iiw0KSx2Zig1LCJzcGFuIiw1KSx2Zig2LCJjYXJkLXJ1bi1uYW1lIiw2KSxNZigpLENmKDcsInNwYW4iLDcpLENmKDgsImJ1dHRvbiIsOCksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUGluQ2xpY2tlZC5lbWl0KCFuLmlzUGlubmVkKX0pKSx2Zig5LCJtYXQtaWNvbiIsOSksTWYoKSxDZigxMCwiYnV0dG9uIiwxMCksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRnVsbFNpemVUb2dnbGUuZW1pdCgpfSkpLHZmKDExLCJtYXQtaWNvbiIsOSksTWYoKSxNZigpLEhtKDEyLEFidCwyLDAsInNwYW4iLDExKSxNZigpLEhtKDEzLE5idCwxLDgsInRiLWhpc3RvZ3JhbSIsMTIpLEhtKDE0LElidCwxLDEsIm5nLXRlbXBsYXRlIixudWxsLDEzLHF5KSksMiZlKXtjb25zdCB0PUZtKDE1KTtEYygyKSxiZigidGl0bGUiLG4udGFnKSgidmFsdWUiLG4udGl0bGUpLERjKDEpLGJmKCJuZ0lmIixuLnNlbGVjdGVkVGltZSYmbi5zZWxlY3RlZFRpbWUuY2xpcHBlZCksRGMoMiksYmYoIm5nU3R5bGUiLGl5KDExLEhidCxuLnJ1bkNvbG9yU2NhbGUobi5ydW5JZCkpKSxEYygxKSxiZigicnVuSWQiLG4ucnVuSWQpLERjKDIpLHltKCJ0aXRsZSIsbi5pc1Bpbm5lZD8iVW5waW4gY2FyZCI6IlBpbiBjYXJkIiksRGMoMSksYmYoInN2Z0ljb24iLG4uaXNQaW5uZWQ/ImtlZXBfMjRweCI6ImtlZXBfb3V0bGluZV8yNHB4IiksRGMoMiksYmYoInN2Z0ljb24iLG4uc2hvd0Z1bGxTaXplPyJmdWxsc2NyZWVuX2V4aXRfMjRweCI6ImZ1bGxzY3JlZW5fMjRweCIpLERjKDEpLGJmKCJuZ0lmIixuLmxvYWRTdGF0ZT09PW4uRGF0YUxvYWRTdGF0ZS5MT0FESU5HKSxEYygxKSxiZigibmdJZiIsbi5kYXRhJiZuLmRhdGEubGVuZ3RoKSgibmdJZkVsc2UiLHQpfX0sZGlyZWN0aXZlczpbTDQsUHYsenYsVzQsTkwsTXEsVmh0LGEyLGtidF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvO3BhZGRpbmc6MTZweDtwYWRkaW5nLXRvcDo0cHh9LmhlYWRpbmdbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1hcmVhczoidGFnIGNvbnRyb2xzIiAicnVuIHNwaW5uZXIiO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgYXV0bztmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjRweH0udGFnW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2dhcDo1cHg7Z3JpZC1hcmVhOnRhZztvdmVyZmxvdzpoaWRkZW59LnRhZ1tfbmdjb250ZW50LSVDT01QJV0gICB2aXMtc2VsZWN0ZWQtdGltZS1jbGlwcGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDowfS5waW4tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIG1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MThweH0ucnVuW19uZ2NvbnRlbnQtJUNPTVAlXXtncmlkLWFyZWE6cnVuO2Rpc3BsYXk6ZmxleDt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1zaXplOjEzcHh9LnJ1bltfbmdjb250ZW50LSVDT01QJV0gICAuZG90W19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4Om5vbmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTNweDtoZWlnaHQ6MTNweDtib3JkZXItcmFkaXVzOjUwJTttYXJnaW4tcmlnaHQ6NHB4fS5ydW5bX25nY29udGVudC0lQ09NUCVdICAgLnJ1bi10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtd2lkdGg6MTIwcHh9LmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO3doaXRlLXNwYWNlOm5vd3JhcDtncmlkLWFyZWE6Y29udHJvbHM7anVzdGlmeS1zZWxmOmZsZXgtZW5kO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXJpZ2h0Oi0xMnB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5jb250cm9sc1tfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5jb250cm9sc1tfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9LnNwaW5uZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtncmlkLWFyZWE6c3Bpbm5lcjtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfW1hdC1zcGlubmVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MDtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlfXRiLWhpc3RvZ3JhbVtfbmdjb250ZW50LSVDT01QJV17ZmxleC1ncm93OjE7b3ZlcmZsb3c6aGlkZGVufS5lbXB0eS1tZXNzYWdlW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOjFlbTtmb250LXNpemU6MTNweH0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRmJ0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Imhpc3RvZ3JhbS1jYXJkLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Imhpc3RvZ3JhbV9jYXJkX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyJoaXN0b2dyYW1fY2FyZF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bG9hZFN0YXRlOlt7dHlwZTpSX31dLHRpdGxlOlt7dHlwZTpSX31dLHRhZzpbe3R5cGU6Ul99XSxydW5JZDpbe3R5cGU6Ul99XSxkYXRhOlt7dHlwZTpSX31dLG1vZGU6W3t0eXBlOlJffV0seEF4aXNUeXBlOlt7dHlwZTpSX31dLHJ1bkNvbG9yU2NhbGU6W3t0eXBlOlJffV0sc2hvd0Z1bGxTaXplOlt7dHlwZTpSX31dLGlzUGlubmVkOlt7dHlwZTpSX31dLHNlbGVjdGVkVGltZTpbe3R5cGU6Ul99XSxvbkZ1bGxTaXplVG9nZ2xlOlt7dHlwZTpFX31dLG9uUGluQ2xpY2tlZDpbe3R5cGU6RV99XX0pO2NsYXNzIExidHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5mdWxsV2lkdGhDaGFuZ2VkPW5ldyBTeSx0aGlzLmZ1bGxIZWlnaHRDaGFuZ2VkPW5ldyBTeSx0aGlzLnBpblN0YXRlQ2hhbmdlZD1uZXcgU3ksdGhpcy5tb2RlJD10aGlzLnN0b3JlLnNlbGVjdChfeiksdGhpcy54QXhpc1R5cGUkPXRoaXMuc3RvcmUuc2VsZWN0KHl6KSx0aGlzLnNob3dGdWxsU2l6ZT0hMX1pc0hpc3RvZ3JhbUNhcmRNZXRhZGF0YSh0KXtjb25zdHtwbHVnaW46ZX09dDtyZXR1cm4gZT09PUtULkhJU1RPR1JBTVN9b25GdWxsU2l6ZVRvZ2dsZSgpe3RoaXMuc2hvd0Z1bGxTaXplPSF0aGlzLnNob3dGdWxsU2l6ZSx0aGlzLmZ1bGxXaWR0aENoYW5nZWQuZW1pdCh0aGlzLnNob3dGdWxsU2l6ZSksdGhpcy5mdWxsSGVpZ2h0Q2hhbmdlZC5lbWl0KHRoaXMuc2hvd0Z1bGxTaXplKX1uZ09uSW5pdCgpe2NvbnN0IHQ9dGhpcy5zdG9yZS5zZWxlY3QobnosdGhpcy5jYXJkSWQpLnBpcGUodWUoKHQ9PiEhdCYmdGhpcy5pc0hpc3RvZ3JhbUNhcmRNZXRhZGF0YSh0KSkpLFZ0KCh0PT50KSkpLGU9S3QoW3QsdGhpcy5zdG9yZS5zZWxlY3QodHosdGhpcy5jYXJkSWQpXSk7dGhpcy5kYXRhJD1lLnBpcGUoVnQoKChbdCxlXSk9Pntjb25zdCBuPXQucnVuSWQ7aWYoIWV8fCFlLmhhc093blByb3BlcnR5KG4pKXJldHVybltdO3JldHVybihmdW5jdGlvbiBvKHQsZT0zMCl7aWYoIXQubGVuZ3RofHxlPDEpcmV0dXJuW107Y29uc3Qgbj0oZnVuY3Rpb24gbyh0KXtsZXQgZT1udWxsLG49bnVsbDtmb3IoY29uc3R7YmluczpvfW9mIHQpe2lmKCFvLmxlbmd0aCljb250aW51ZTtjb25zdCB0PW9bby5sZW5ndGgtMV0saT1vWzBdLngsYT10LngrdC5keDsobnVsbD09PWV8fGk8ZSkmJihlPWkpLChudWxsPT09bnx8YT5uKSYmKG49YSl9cmV0dXJuIG51bGw9PT1lfHxudWxsPT09bj9udWxsOntsZWZ0OmUscmlnaHQ6bn19KSh0KTtyZXR1cm4gbiYmbi5sZWZ0PT09bi5yaWdodCYmKG4ucmlnaHQ9MS4xKm4ucmlnaHQrMSxuLmxlZnQ9bi5sZWZ0LzEuMS0xKSx0Lm1hcCgodD0+KHtzdGVwOnQuc3RlcCx3YWxsVGltZTp0LndhbGxUaW1lLGJpbnM6bj9kYnQodC5iaW5zLG4sZSk6W119KSkpfSkoZVtuXS5tYXAoKHQ9Pntjb25zdHt3YWxsVGltZTplLHN0ZXA6bn09dDtyZXR1cm57d2FsbFRpbWU6ZSxzdGVwOm4sYmluczp0LmJpbnMubWFwKCh0PT4oe3g6dC5taW4sZHg6dC5tYXgtdC5taW4seTp0LmNvdW50fSkpKX19KSkpfSkpKSx0aGlzLnNlbGVjdGVkVGltZSQ9dGhpcy5zdG9yZS5zZWxlY3QoRXopLnBpcGUoX2UodGhpcy5kYXRhJCksVnQoKChbdCxlXSk9PntpZighdClyZXR1cm4gbnVsbDtsZXQgbj0xLzAsbz0tMS8wO2Zvcihjb25zdCB0IG9mIGUpbj1NYXRoLm1pbih0LnN0ZXAsbiksbz1NYXRoLm1heCh0LnN0ZXAsbyk7cmV0dXJuIEI0KHQsbixvKX0pKSksdGhpcy5sb2FkU3RhdGUkPXRoaXMuc3RvcmUuc2VsZWN0KCROLHRoaXMuY2FyZElkKSx0aGlzLnRhZyQ9dC5waXBlKFZ0KCh0PT50LnRhZykpKSx0aGlzLnRpdGxlJD10aGlzLnRhZyQucGlwZShWdCgodD0+SDQodCx0aGlzLmdyb3VwTmFtZSkpKSksdGhpcy5ydW5JZCQ9dC5waXBlKFZ0KCh0PT50LnJ1bklkKSkpLHRoaXMuaXNQaW5uZWQkPXRoaXMuc3RvcmUuc2VsZWN0KGR6LHRoaXMuY2FyZElkKX19ZnVuY3Rpb24gQmJ0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiaW1hZ2UtY2FyZCIsNiksUmYoImZ1bGxXaWR0aENoYW5nZWQiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vbkZ1bGxXaWR0aENoYW5nZWQobil9KSkoInBpblN0YXRlQ2hhbmdlZCIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoMikub25QaW5TdGF0ZUNoYW5nZWQoKX0pKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigyKTtiZigiY2FyZElkIix0LmNhcmRJZCkoImdyb3VwTmFtZSIsdC5ncm91cE5hbWUpKCJydW5Db2xvclNjYWxlIix0LnJ1bkNvbG9yU2NhbGUpfX1mdW5jdGlvbiBWYnQodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJzY2FsYXItY2FyZCIsNyksUmYoImZ1bGxXaWR0aENoYW5nZWQiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vbkZ1bGxXaWR0aENoYW5nZWQobil9KSkoImZ1bGxIZWlnaHRDaGFuZ2VkIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25GdWxsSGVpZ2h0Q2hhbmdlZChuKX0pKSgicGluU3RhdGVDaGFuZ2VkIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigyKS5vblBpblN0YXRlQ2hhbmdlZCgpfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJjYXJkSWQiLHQuY2FyZElkKSgiZ3JvdXBOYW1lIix0Lmdyb3VwTmFtZSl9fWZ1bmN0aW9uIGpidCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImhpc3RvZ3JhbS1jYXJkIiw4KSxSZigiZnVsbFdpZHRoQ2hhbmdlZCIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKDIpLm9uRnVsbFdpZHRoQ2hhbmdlZChuKX0pKSgiZnVsbEhlaWdodENoYW5nZWQiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vbkZ1bGxIZWlnaHRDaGFuZ2VkKG4pfSkpKCJwaW5TdGF0ZUNoYW5nZWQiLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKDIpLm9uUGluU3RhdGVDaGFuZ2VkKCl9KSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoMik7YmYoImNhcmRJZCIsdC5jYXJkSWQpKCJncm91cE5hbWUiLHQuZ3JvdXBOYW1lKSgicnVuQ29sb3JTY2FsZSIsdC5ydW5Db2xvclNjYWxlKX19ZnVuY3Rpb24gVWJ0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDEpLGt1KCJQbGFjZWhvbGRlciBlcnJvciBmb3I6ICIsdC5jYXJkSWQsIiIpfX1mdW5jdGlvbiBXYnQodCxlKXtpZigxJnQmJih4ZigwLDEpLEhtKDEsQmJ0LDEsMywiaW1hZ2UtY2FyZCIsMiksSG0oMixWYnQsMSwyLCJzY2FsYXItY2FyZCIsMyksSG0oMyxqYnQsMSwzLCJoaXN0b2dyYW0tY2FyZCIsNCksSG0oNCxVYnQsMiwxLCJkaXYiLDUpLE9mKCkpLDImdCl7Y29uc3QgdD16ZigpO2JmKCJuZ1N3aXRjaCIsdC5wbHVnaW5UeXBlKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIix0LlBsdWdpblR5cGUuSU1BR0VTKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIix0LlBsdWdpblR5cGUuU0NBTEFSUyksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsdC5QbHVnaW5UeXBlLkhJU1RPR1JBTVMpfX1MYnQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fExidCkoZ2YoaVMpKX0sTGJ0Lsm1Y21wPXNvKHt0eXBlOkxidCxzZWxlY3RvcnM6W1siaGlzdG9ncmFtLWNhcmQiXV0saW5wdXRzOntjYXJkSWQ6ImNhcmRJZCIsZ3JvdXBOYW1lOiJncm91cE5hbWUiLHJ1bkNvbG9yU2NhbGU6InJ1bkNvbG9yU2NhbGUifSxvdXRwdXRzOntmdWxsV2lkdGhDaGFuZ2VkOiJmdWxsV2lkdGhDaGFuZ2VkIixmdWxsSGVpZ2h0Q2hhbmdlZDoiZnVsbEhlaWdodENoYW5nZWQiLHBpblN0YXRlQ2hhbmdlZDoicGluU3RhdGVDaGFuZ2VkIn0sZGVjbHM6MTAsdmFyczoyOSxjb25zdHM6W1szLCJsb2FkU3RhdGUiLCJ0aXRsZSIsInRhZyIsInJ1bklkIiwiZGF0YSIsIm1vZGUiLCJ4QXhpc1R5cGUiLCJydW5Db2xvclNjYWxlIiwic2hvd0Z1bGxTaXplIiwiaXNQaW5uZWQiLCJzZWxlY3RlZFRpbWUiLCJvbkZ1bGxTaXplVG9nZ2xlIiwib25QaW5DbGlja2VkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJoaXN0b2dyYW0tY2FyZC1jb21wb25lbnQiLDApLFJmKCJvbkZ1bGxTaXplVG9nZ2xlIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRnVsbFNpemVUb2dnbGUoKX0pKSgib25QaW5DbGlja2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5waW5TdGF0ZUNoYW5nZWQuZW1pdChlKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSxfeSg0LCJhc3luYyIpLF95KDUsImFzeW5jIiksX3koNiwiYXN5bmMiKSxfeSg3LCJhc3luYyIpLF95KDgsImFzeW5jIiksX3koOSwiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJsb2FkU3RhdGUiLEN5KDEsMTEsbi5sb2FkU3RhdGUkKSkoInRpdGxlIixDeSgyLDEzLG4udGl0bGUkKSkoInRhZyIsQ3koMywxNSxuLnRhZyQpKSgicnVuSWQiLEN5KDQsMTcsbi5ydW5JZCQpKSgiZGF0YSIsQ3koNSwxOSxuLmRhdGEkKSkoIm1vZGUiLEN5KDYsMjEsbi5tb2RlJCkpKCJ4QXhpc1R5cGUiLEN5KDcsMjMsbi54QXhpc1R5cGUkKSkoInJ1bkNvbG9yU2NhbGUiLG4ucnVuQ29sb3JTY2FsZSkoInNob3dGdWxsU2l6ZSIsbi5zaG93RnVsbFNpemUpKCJpc1Bpbm5lZCIsQ3koOCwyNSxuLmlzUGlubmVkJCkpKCJzZWxlY3RlZFRpbWUiLEN5KDksMjcsbi5zZWxlY3RlZFRpbWUkKSl9LGRpcmVjdGl2ZXM6W0ZidF0scGlwZXM6W1Z2XSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTGJ0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Imhpc3RvZ3JhbS1jYXJkIix0ZW1wbGF0ZTonXG4gICAgPGhpc3RvZ3JhbS1jYXJkLWNvbXBvbmVudFxuICAgICAgW2xvYWRTdGF0ZV09ImxvYWRTdGF0ZSQgfCBhc3luYyJcbiAgICAgIFt0aXRsZV09InRpdGxlJCB8IGFzeW5jIlxuICAgICAgW3RhZ109InRhZyQgfCBhc3luYyJcbiAgICAgIFtydW5JZF09InJ1bklkJCB8IGFzeW5jIlxuICAgICAgW2RhdGFdPSJkYXRhJCB8IGFzeW5jIlxuICAgICAgW21vZGVdPSJtb2RlJCB8IGFzeW5jIlxuICAgICAgW3hBeGlzVHlwZV09InhBeGlzVHlwZSQgfCBhc3luYyJcbiAgICAgIFtydW5Db2xvclNjYWxlXT0icnVuQ29sb3JTY2FsZSJcbiAgICAgIFtzaG93RnVsbFNpemVdPSJzaG93RnVsbFNpemUiXG4gICAgICBbaXNQaW5uZWRdPSJpc1Bpbm5lZCQgfCBhc3luYyJcbiAgICAgIFtzZWxlY3RlZFRpbWVdPSJzZWxlY3RlZFRpbWUkIHwgYXN5bmMiXG4gICAgICAob25GdWxsU2l6ZVRvZ2dsZSk9Im9uRnVsbFNpemVUb2dnbGUoKSJcbiAgICAgIChvblBpbkNsaWNrZWQpPSJwaW5TdGF0ZUNoYW5nZWQuZW1pdCgkZXZlbnQpIlxuICAgID48L2hpc3RvZ3JhbS1jYXJkLWNvbXBvbmVudD5cbiAgJyxzdHlsZXM6WyJcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLHtjYXJkSWQ6W3t0eXBlOlJffV0sZ3JvdXBOYW1lOlt7dHlwZTpSX31dLHJ1bkNvbG9yU2NhbGU6W3t0eXBlOlJffV0sZnVsbFdpZHRoQ2hhbmdlZDpbe3R5cGU6RV99XSxmdWxsSGVpZ2h0Q2hhbmdlZDpbe3R5cGU6RV99XSxwaW5TdGF0ZUNoYW5nZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBHYnR7Y29uc3RydWN0b3IoKXt0aGlzLlBsdWdpblR5cGU9S1QsdGhpcy5mdWxsV2lkdGhDaGFuZ2VkPW5ldyBTeSx0aGlzLmZ1bGxIZWlnaHRDaGFuZ2VkPW5ldyBTeSx0aGlzLnBpblN0YXRlQ2hhbmdlZD1uZXcgU3l9b25GdWxsV2lkdGhDaGFuZ2VkKHQpe3RoaXMuZnVsbFdpZHRoQ2hhbmdlZC5lbWl0KHQpfW9uRnVsbEhlaWdodENoYW5nZWQodCl7dGhpcy5mdWxsSGVpZ2h0Q2hhbmdlZC5lbWl0KHQpfW9uUGluU3RhdGVDaGFuZ2VkKCl7dGhpcy5waW5TdGF0ZUNoYW5nZWQuZW1pdCgpfX1HYnQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEdidCl9LEdidC7JtWNtcD1zbyh7dHlwZTpHYnQsc2VsZWN0b3JzOltbImNhcmQtdmlldy1jb21wb25lbnQiXV0saW5wdXRzOntpc0V2ZXJWaXNpYmxlOiJpc0V2ZXJWaXNpYmxlIixjYXJkSWQ6ImNhcmRJZCIsZ3JvdXBOYW1lOiJncm91cE5hbWUiLHBsdWdpblR5cGU6InBsdWdpblR5cGUiLHJ1bkNvbG9yU2NhbGU6InJ1bkNvbG9yU2NhbGUifSxvdXRwdXRzOntmdWxsV2lkdGhDaGFuZ2VkOiJmdWxsV2lkdGhDaGFuZ2VkIixmdWxsSGVpZ2h0Q2hhbmdlZDoiZnVsbEhlaWdodENoYW5nZWQiLHBpblN0YXRlQ2hhbmdlZDoicGluU3RhdGVDaGFuZ2VkIn0sZGVjbHM6MSx2YXJzOjEsY29uc3RzOltbMywibmdTd2l0Y2giLDQsIm5nSWYiXSxbMywibmdTd2l0Y2giXSxbMywiY2FyZElkIiwiZ3JvdXBOYW1lIiwicnVuQ29sb3JTY2FsZSIsImZ1bGxXaWR0aENoYW5nZWQiLCJwaW5TdGF0ZUNoYW5nZWQiLDQsIm5nU3dpdGNoQ2FzZSJdLFszLCJjYXJkSWQiLCJncm91cE5hbWUiLCJmdWxsV2lkdGhDaGFuZ2VkIiwiZnVsbEhlaWdodENoYW5nZWQiLCJwaW5TdGF0ZUNoYW5nZWQiLDQsIm5nU3dpdGNoQ2FzZSJdLFszLCJjYXJkSWQiLCJncm91cE5hbWUiLCJydW5Db2xvclNjYWxlIiwiZnVsbFdpZHRoQ2hhbmdlZCIsImZ1bGxIZWlnaHRDaGFuZ2VkIiwicGluU3RhdGVDaGFuZ2VkIiw0LCJuZ1N3aXRjaENhc2UiXSxbNCwibmdTd2l0Y2hEZWZhdWx0Il0sWzMsImNhcmRJZCIsImdyb3VwTmFtZSIsInJ1bkNvbG9yU2NhbGUiLCJmdWxsV2lkdGhDaGFuZ2VkIiwicGluU3RhdGVDaGFuZ2VkIl0sWzMsImNhcmRJZCIsImdyb3VwTmFtZSIsImZ1bGxXaWR0aENoYW5nZWQiLCJmdWxsSGVpZ2h0Q2hhbmdlZCIsInBpblN0YXRlQ2hhbmdlZCJdLFszLCJjYXJkSWQiLCJncm91cE5hbWUiLCJydW5Db2xvclNjYWxlIiwiZnVsbFdpZHRoQ2hhbmdlZCIsImZ1bGxIZWlnaHRDaGFuZ2VkIiwicGluU3RhdGVDaGFuZ2VkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJkhtKDAsV2J0LDUsNCwibmctY29udGFpbmVyIiwwKSwyJmUmJmJmKCJuZ0lmIixuLmlzRXZlclZpc2libGUpfSxkaXJlY3RpdmVzOltQdixEdixSdixFdix0NixjYnQsTGJ0XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEdidCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJjYXJkLXZpZXctY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiY2FyZF92aWV3X2NvbXBvbmVudC5uZy5odG1sIixjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtpc0V2ZXJWaXNpYmxlOlt7dHlwZTpSX31dLGNhcmRJZDpbe3R5cGU6Ul99XSxncm91cE5hbWU6W3t0eXBlOlJffV0scGx1Z2luVHlwZTpbe3R5cGU6Ul99XSxydW5Db2xvclNjYWxlOlt7dHlwZTpSX31dLGZ1bGxXaWR0aENoYW5nZWQ6W3t0eXBlOkVffV0sZnVsbEhlaWdodENoYW5nZWQ6W3t0eXBlOkVffV0scGluU3RhdGVDaGFuZ2VkOlt7dHlwZTpFX31dfSk7Y2xhc3MgWWJ0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLmlzRXZlclZpc2libGU9ITEsdGhpcy5zaG93RnVsbFdpZHRoPSExLHRoaXMuc2hvd0Z1bGxIZWlnaHQ9ITEsdGhpcy5ydW5Db2xvclNjYWxlJD10aGlzLnN0b3JlLnNlbGVjdChDSSkucGlwZShZZSgzNTAsdm9pZCAwLHtsZWFkaW5nOiEwLHRyYWlsaW5nOiEwfSksVnQoKHQ9PmU9PnQuaGFzT3duUHJvcGVydHkoZSk/dFtlXToiI2ZmZiIpKSl9b25WaXNpYmlsaXR5Q2hhbmdlKHt2aXNpYmxlOnR9KXt0aGlzLmlzRXZlclZpc2libGU9dGhpcy5pc0V2ZXJWaXNpYmxlfHx0fW9uRnVsbFdpZHRoQ2hhbmdlZCh0KXt0aGlzLnNob3dGdWxsV2lkdGg9dH1vbkZ1bGxIZWlnaHRDaGFuZ2VkKHQpe3RoaXMuc2hvd0Z1bGxIZWlnaHQ9dH1vblBpblN0YXRlQ2hhbmdlZCgpe3RoaXMuc3RvcmUuc2VsZWN0KGR6LHRoaXMuY2FyZElkKS5waXBlKHZlKDEpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KG16KSkpLnN1YnNjcmliZSgoKFt0LGVdKT0+e3RoaXMuc3RvcmUuZGlzcGF0Y2goekEoe2NhcmRJZDp0aGlzLmNhcmRJZCxjYW5DcmVhdGVOZXdQaW5zOmUsd2FzUGlubmVkOnR9KSl9KSl9fWZ1bmN0aW9uIHFidCh0LGUpezEmdCYmUGYoMCl9ZnVuY3Rpb24gWmJ0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJjYXJkLXZpZXciLDUpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKDIpO2JmKCJjYXJkSWQiLHQuY2FyZElkKSgiZ3JvdXBOYW1lIixuLmdyb3VwTmFtZSkoInBsdWdpblR5cGUiLHQucGx1Z2luKSgiY2FyZE9ic2VydmVyIixuLmNhcmRPYnNlcnZlcikoImNhcmRMYXp5TG9hZGVyIix0LmNhcmRJZCl9fWZ1bmN0aW9uIFhidCh0LGUpezEmdCYmUGYoMCl9WWJ0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxZYnQpKGdmKGlTKSl9LFlidC7JtWNtcD1zbyh7dHlwZTpZYnQsc2VsZWN0b3JzOltbImNhcmQtdmlldyJdXSxob3N0VmFyczo0LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgiZnVsbC13aWR0aCIsbi5zaG93RnVsbFdpZHRoKSgiZnVsbC1oZWlnaHQiLG4uc2hvd0Z1bGxIZWlnaHQpfSxpbnB1dHM6e2NhcmRJZDoiY2FyZElkIixncm91cE5hbWU6Imdyb3VwTmFtZSIscGx1Z2luVHlwZToicGx1Z2luVHlwZSJ9LGRlY2xzOjIsdmFyczo3LGNvbnN0czpbWyJvYnNlcnZlSW50ZXJzZWN0aW9uIiwiIiwiaW50ZXJzZWN0aW9uT2JzZXJ2ZXJNYXJnaW4iLCIyMDBweCAyMDBweCAyMDBweCAyMDBweCIsMywiaXNFdmVyVmlzaWJsZSIsImNhcmRJZCIsImdyb3VwTmFtZSIsInBsdWdpblR5cGUiLCJydW5Db2xvclNjYWxlIiwiZnVsbFdpZHRoQ2hhbmdlZCIsImZ1bGxIZWlnaHRDaGFuZ2VkIiwicGluU3RhdGVDaGFuZ2VkIiwib25WaXNpYmlsaXR5Q2hhbmdlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJjYXJkLXZpZXctY29tcG9uZW50IiwwKSxSZigiZnVsbFdpZHRoQ2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25GdWxsV2lkdGhDaGFuZ2VkKGUpfSkpKCJmdWxsSGVpZ2h0Q2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25GdWxsSGVpZ2h0Q2hhbmdlZChlKX0pKSgicGluU3RhdGVDaGFuZ2VkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUGluU3RhdGVDaGFuZ2VkKCl9KSkoIm9uVmlzaWJpbGl0eUNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25WaXNpYmlsaXR5Q2hhbmdlKGUpfSkpLF95KDEsImFzeW5jIiksTWYoKSksMiZlJiZiZigiaXNFdmVyVmlzaWJsZSIsbi5pc0V2ZXJWaXNpYmxlKSgiY2FyZElkIixuLmNhcmRJZCkoImdyb3VwTmFtZSIsbi5ncm91cE5hbWUpKCJwbHVnaW5UeXBlIixuLnBsdWdpblR5cGUpKCJydW5Db2xvclNjYWxlIixDeSgxLDUsbi5ydW5Db2xvclNjYWxlJCkpfSxkaXJlY3RpdmVzOltHYnQsc2J0XSxwaXBlczpbVnZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiMzMDMwMzB9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFlidCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJjYXJkLXZpZXciLHRlbXBsYXRlOidcbiAgICA8Y2FyZC12aWV3LWNvbXBvbmVudFxuICAgICAgW2lzRXZlclZpc2libGVdPSJpc0V2ZXJWaXNpYmxlIlxuICAgICAgW2NhcmRJZF09ImNhcmRJZCJcbiAgICAgIFtncm91cE5hbWVdPSJncm91cE5hbWUiXG4gICAgICBbcGx1Z2luVHlwZV09InBsdWdpblR5cGUiXG4gICAgICBbcnVuQ29sb3JTY2FsZV09InJ1bkNvbG9yU2NhbGUkIHwgYXN5bmMiXG4gICAgICAoZnVsbFdpZHRoQ2hhbmdlZCk9Im9uRnVsbFdpZHRoQ2hhbmdlZCgkZXZlbnQpIlxuICAgICAgKGZ1bGxIZWlnaHRDaGFuZ2VkKT0ib25GdWxsSGVpZ2h0Q2hhbmdlZCgkZXZlbnQpIlxuICAgICAgKHBpblN0YXRlQ2hhbmdlZCk9Im9uUGluU3RhdGVDaGFuZ2VkKCkiXG4gICAgICBvYnNlcnZlSW50ZXJzZWN0aW9uXG4gICAgICBpbnRlcnNlY3Rpb25PYnNlcnZlck1hcmdpbj0iMjAwcHggMjAwcHggMjAwcHggMjAwcHgiXG4gICAgICAob25WaXNpYmlsaXR5Q2hhbmdlKT0ib25WaXNpYmlsaXR5Q2hhbmdlKCRldmVudCkiXG4gICAgPlxuICAgIDwvY2FyZC12aWV3LWNvbXBvbmVudD5cbiAgJyxzdHlsZVVybHM6WyJjYXJkX3ZpZXdfY29udGFpbmVyLmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse2NhcmRJZDpbe3R5cGU6Ul99XSxncm91cE5hbWU6W3t0eXBlOlJffV0scGx1Z2luVHlwZTpbe3R5cGU6Ul99XSxzaG93RnVsbFdpZHRoOlt7dHlwZTpBXyxhcmdzOlsiY2xhc3MuZnVsbC13aWR0aCJdfV0sc2hvd0Z1bGxIZWlnaHQ6W3t0eXBlOkFfLGFyZ3M6WyJjbGFzcy5mdWxsLWhlaWdodCJdfV19KTtjb25zdCBLYnQ9ZnVuY3Rpb24oKXtyZXR1cm57aXNCb3R0b21Db250cm9sOiExfX0sSmJ0PWZ1bmN0aW9uKCl7cmV0dXJue2lzQm90dG9tQ29udHJvbDohMH19O2Z1bmN0aW9uIFFidCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIpLEhtKDEscWJ0LDEsMCwibmctY29udGFpbmVyIiwyKSxDZigyLCJkaXYiLDMpLEhtKDMsWmJ0LDEsNSwiY2FyZC12aWV3Iiw0KSxNZigpLEhtKDQsWGJ0LDEsMCwibmctY29udGFpbmVyIiwyKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKSxlPUZtKDIpO0RjKDEpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0IixlKSgibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLG95KDgsS2J0KSksRGMoMSksbHUoImdyaWQtdGVtcGxhdGUtY29sdW1ucyIsdC5ncmlkVGVtcGxhdGVDb2x1bW4pLERjKDEpLGJmKCJuZ0Zvck9mIix0LmNhcmRJZHNXaXRoTWV0YWRhdGEpKCJuZ0ZvclRyYWNrQnkiLHQudHJhY2tCeUNhcmRzKSxEYygxKSxiZigibmdUZW1wbGF0ZU91dGxldCIsZSkoIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IixveSg5LEpidCkpfX1mdW5jdGlvbiAkYnQodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDExKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoMyk7cmV0dXJuIG8uaGFuZGxlUGFnZUNoYW5nZShvLnBhZ2VJbmRleC0xLG4udGFyZ2V0KX0pKSxQdSgxLCIgUHJldmlvdXMgIiksTWYoKX1pZigyJnQpe2JmKCJkaXNhYmxlZCIsMD09PXpmKDMpLnBhZ2VJbmRleCl9fWZ1bmN0aW9uIHR5dCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsInNwYW4iLDE0KSxDZigxLCJpbnB1dCIsMTUpLFJmKCJpbnB1dCIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKDQpLm9uUGFnaW5hdGlvbklucHV0Q2hhbmdlKG4pfSkpKCJjaGFuZ2UiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6Zig0KS5vblBhZ2luYXRpb25JbnB1dENoYW5nZShuKX0pKSxNZigpLFB1KDIpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDQpO0RjKDEpLGJmKCJ2YWx1ZSIsdC5wYWdlSW5kZXgrMSkoIm1heCIsdC5udW1QYWdlcyksRGMoMSksa3UoIiBvZiAiLHQubnVtUGFnZXMsIiIpfX1mdW5jdGlvbiBleXQodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJzcGFuIiksSG0oMSx0eXQsMywzLCJzcGFuIiwxMiksQ2YoMiwiYnV0dG9uIiwxMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtjb25zdCBvPXpmKDMpO3JldHVybiBvLmhhbmRsZVBhZ2VDaGFuZ2Uoby5wYWdlSW5kZXgrMSxuLnRhcmdldCl9KSksUHUoMywiIE5leHQgIiksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigyKS5pc0JvdHRvbUNvbnRyb2wsZT16ZigpO0RjKDEpLGJmKCJuZ0lmIixlLnNob3dQYWdpbmF0aW9uSW5wdXQodCkpLERjKDEpLGJmKCJkaXNhYmxlZCIsZS5wYWdlSW5kZXgrMT49ZS5udW1QYWdlcyl9fWZ1bmN0aW9uIG55dCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsNyksQ2YoMSwic3BhbiIsOCksSG0oMiwkYnQsMiwxLCJidXR0b24iLDkpLE1mKCksQ2YoMywic3BhbiIsMTApLEhtKDQsZXl0LDQsMiwic3BhbiIsMCksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoMiksYmYoIm5nSWYiLHQuc2hvd1BhZ2luYXRpb25Db250cm9scyksRGMoMiksYmYoIm5nSWYiLHQuc2hvd1BhZ2luYXRpb25Db250cm9scyl9fWZ1bmN0aW9uIG95dCh0LGUpe2lmKDEmdCYmSG0oMCxueXQsNSwyLCJkaXYiLDYpLDImdCl7YmYoIm5nSWYiLHpmKCkuc2hvd1BhZ2luYXRpb25Db250cm9scyl9fWNsYXNzIGl5dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLmNka1Njcm9sbGFibGU9dCx0aGlzLlBsdWdpblR5cGU9S1QsdGhpcy5ncmlkVGVtcGxhdGVDb2x1bW49IiIsdGhpcy5wYWdlSW5kZXhDaGFuZ2VkPW5ldyBTeX1uZ09uSW5pdCgpe3RoaXMuaXNDYXJkV2lkdGhWYWxpZCh0aGlzLmNhcmRNaW5XaWR0aCkmJih0aGlzLmdyaWRUZW1wbGF0ZUNvbHVtbj1gcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KCR7dGhpcy5jYXJkTWluV2lkdGh9cHgsIGF1dG8pKWApfW5nT25DaGFuZ2VzKHQpe2lmKHQuY2FyZE1pbldpZHRoKXtjb25zdCBlPXQuY2FyZE1pbldpZHRoLmN1cnJlbnRWYWx1ZTt0aGlzLmlzQ2FyZFdpZHRoVmFsaWQoZSk/KHRoaXMuY2FyZE1pbldpZHRoPWUsdGhpcy5ncmlkVGVtcGxhdGVDb2x1bW49YHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgke3RoaXMuY2FyZE1pbldpZHRofXB4LCBhdXRvKSlgKTp0aGlzLmdyaWRUZW1wbGF0ZUNvbHVtbj0iIn19aXNDYXJkV2lkdGhWYWxpZCh0KXtyZXR1cm4gdCYmdD49MzM1JiZ0PD03MzV9c2hvd1BhZ2luYXRpb25JbnB1dCh0KXtyZXR1cm4gdH1oYW5kbGVQYWdlQ2hhbmdlKHQsZSl7Y29uc3Qgbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtzZXRUaW1lb3V0KCgoKT0+e3RoaXMuc2Nyb2xsVG9LZWVwVGFyZ2V0UG9zaXRpb24oZSxuKX0pLDApLHRoaXMucGFnZUluZGV4Q2hhbmdlZC5lbWl0KHQpfXNjcm9sbFRvS2VlcFRhcmdldFBvc2l0aW9uKHQsZSl7dmFyIG47Y29uc3Qgbz1udWxsPT09KG49dGhpcy5jZGtTY3JvbGxhYmxlKXx8dm9pZCAwPT09bj92b2lkIDA6bi5nZXRFbGVtZW50UmVmKCkubmF0aXZlRWxlbWVudDtvJiZvLnNjcm9sbFRvKDAsdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AtZStvLnNjcm9sbFRvcCl9dHJhY2tCeUNhcmRzKHQsZSl7cmV0dXJuIGUuY2FyZElkfW9uUGFnaW5hdGlvbklucHV0Q2hhbmdlKHQpe2NvbnN0IGU9dC50YXJnZXQ7aWYoImlucHV0Ij09PXQudHlwZSYmIiI9PT1lLnZhbHVlKXJldHVybjtjb25zdCBuPU51bWJlcihlLnZhbHVlKS0xLG89TWF0aC5taW4oTWF0aC5tYXgoMCxuKSx0aGlzLm51bVBhZ2VzLTEpO2UudmFsdWUhPT1TdHJpbmcobysxKSYmKGUudmFsdWU9U3RyaW5nKG8rMSkpLHRoaXMuaGFuZGxlUGFnZUNoYW5nZShvLGUpfX1peXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGl5dCkoZ2YoSkwsOCkpfSxpeXQuybVjbXA9c28oe3R5cGU6aXl0LHNlbGVjdG9yczpbWyJtZXRyaWNzLWNhcmQtZ3JpZC1jb21wb25lbnQiXV0saW5wdXRzOntpc0dyb3VwRXhwYW5kZWQ6ImlzR3JvdXBFeHBhbmRlZCIscGFnZUluZGV4OiJwYWdlSW5kZXgiLG51bVBhZ2VzOiJudW1QYWdlcyIsY2FyZElkc1dpdGhNZXRhZGF0YToiY2FyZElkc1dpdGhNZXRhZGF0YSIsY2FyZE1pbldpZHRoOiJjYXJkTWluV2lkdGgiLGNhcmRPYnNlcnZlcjoiY2FyZE9ic2VydmVyIixzaG93UGFnaW5hdGlvbkNvbnRyb2xzOiJzaG93UGFnaW5hdGlvbkNvbnRyb2xzIn0sb3V0cHV0czp7cGFnZUluZGV4Q2hhbmdlZDoicGFnZUluZGV4Q2hhbmdlZCJ9LGZlYXR1cmVzOltxb10sZGVjbHM6Myx2YXJzOjEsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQsZTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7dD1nb29nLmdldE1zZygiUHJldmlvdXMgcGFnZSIpfWVsc2UgdD0kbG9jYWxpemVgOkEgYnV0dG9uIHRoYXQgc2V0cyBhIGdyb3VwIHRvIHRoZSBwcmV2aW91cyBwYWdlLuKQnzU3NWU3ODJmZDI3ZjJlZTcwYTAzNGE3NzVlZmU5YWQxNjI0NzIyNTDikJ8zNjI5OTYwNTQ0ODc1MzYwMDQ2OlByZXZpb3VzIHBhZ2VgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtlPWdvb2cuZ2V0TXNnKCJOZXh0IHBhZ2UiKX1lbHNlIGU9JGxvY2FsaXplYDpBIGJ1dHRvbiB0aGF0IHNldHMgYSBncm91cCB0byB0aGUgbmV4dCBwYWdlLuKQn2NlM2NlZmIxY2QwMDk5YWE1MDAzZGRhMTZlYzllYjIxZmQ4YmE3ODnikJ8zMzM3MzAxNjk0MjEwMjg3NTk1Ok5leHQgcGFnZWA7cmV0dXJuW1s0LCJuZ0lmIl0sWyJncm91cENvbnRyb2xzIiwiIl0sWzQsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCJdLFsxLCJjYXJkLWdyaWQiXSxbMywiY2FyZElkIiwiZ3JvdXBOYW1lIiwicGx1Z2luVHlwZSIsImNhcmRPYnNlcnZlciIsImNhcmRMYXp5TG9hZGVyIiw0LCJuZ0ZvciIsIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiXSxbMywiY2FyZElkIiwiZ3JvdXBOYW1lIiwicGx1Z2luVHlwZSIsImNhcmRPYnNlcnZlciIsImNhcmRMYXp5TG9hZGVyIl0sWyJjbGFzcyIsImdyb3VwLWNvbnRyb2xzIiw0LCJuZ0lmIl0sWzEsImdyb3VwLWNvbnRyb2xzIl0sWzEsInByZXYtY29udGFpbmVyIl0sWyJjbGFzcyIsInByZXYgcGFnaW5hdGlvbi1idXR0b24iLCJtYXQtYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsdCwzLCJkaXNhYmxlZCIsImNsaWNrIiw0LCJuZ0lmIl0sWzEsImlucHV0LWFuZC1uZXh0LWNvbnRhaW5lciJdLFsibWF0LWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMSwicHJldiIsInBhZ2luYXRpb24tYnV0dG9uIiwzLCJkaXNhYmxlZCIsImNsaWNrIl0sWyJjbGFzcyIsInBhZ2luYXRpb24taW5wdXQiLDQsIm5nSWYiXSxbIm1hdC1idXR0b24iLCIiLCJhcmlhLWxhYmVsIixlLDEsIm5leHQiLCJwYWdpbmF0aW9uLWJ1dHRvbiIsMywiZGlzYWJsZWQiLCJjbGljayJdLFsxLCJwYWdpbmF0aW9uLWlucHV0Il0sWyJ0eXBlIiwibnVtYmVyIiwibWluIiwiMSIsMywidmFsdWUiLCJtYXgiLCJpbnB1dCIsImNoYW5nZSJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKEhtKDAsUWJ0LDUsMTAsImRpdiIsMCksSG0oMSxveXQsMSwxLCJuZy10ZW1wbGF0ZSIsbnVsbCwxLHF5KSksMiZlJiZiZigibmdJZiIsbi5pc0dyb3VwRXhwYW5kZWQpfSxkaXJlY3RpdmVzOltQdixJdix4dixZYnQsQzQsTkxdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17Y29udGFpbjpjb250ZW50fS5jYXJkLWdyaWRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDMzNXB4LCBhdXRvKSk7Z2FwOjE2cHg7cGFkZGluZzoxNnB4fWNhcmQtdmlld1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250YWluOnN0cmljdDtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjMyMHB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIGNhcmQtdmlld1tfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIGNhcmQtdmlld1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjFweCBzb2xpZCAjNTU1fWNhcmQtdmlldy5mdWxsLXdpZHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtjb250YWluOmxheW91dCBwYWludDtncmlkLWNvbHVtbi1zdGFydDoxO2dyaWQtY29sdW1uLWVuZDotMX1jYXJkLXZpZXcuZnVsbC1oZWlnaHRbX25nY29udGVudC0lQ09NUCVde21pbi1oZWlnaHQ6NDgwcHh9Lmdyb3VwLWNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2Rpc3BsYXk6Z3JpZDthbGlnbi1pdGVtczpjZW50ZXI7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjE2cHg7cGFkZGluZzowIDE2cHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLWNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLWNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0uZ3JvdXAtY29udHJvbHNbX25nY29udGVudC0lQ09NUCVdOmZpcnN0LW9mLXR5cGV7cGFkZGluZy10b3A6MTZweH0uZ3JvdXAtY29udHJvbHNbX25nY29udGVudC0lQ09NUCVdOmxhc3Qtb2YtdHlwZXtwYWRkaW5nLWJvdHRvbToxNnB4fS5wcmV2LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17anVzdGlmeS1zZWxmOmZsZXgtc3RhcnR9LmlucHV0LWFuZC1uZXh0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17anVzdGlmeS1zZWxmOmZsZXgtZW5kfS5wYWdpbmF0aW9uLWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tcmlnaHQ6MTZweH0ucGFnaW5hdGlvbi1pbnB1dFtfbmdjb250ZW50LSVDT01QJV0gICBpbnB1dFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtjb2xvcjppbmhlcml0O2ZvbnQ6aW5oZXJpdH0ucGFnaW5hdGlvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOiM2MTYxNjE7YmFja2dyb3VuZC1jb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5wYWdpbmF0aW9uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5wYWdpbmF0aW9uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9LnBhZ2luYXRpb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXTpkaXNhYmxlZHtjb2xvcjojNzU3NTc1fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5wYWdpbmF0aW9uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV06ZGlzYWJsZWQsIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5wYWdpbmF0aW9uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV06ZGlzYWJsZWR7Y29sb3I6IzYxNjE2MX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaXl0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtY2FyZC1ncmlkLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vY2FyZF9ncmlkX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2NhcmRfZ3JpZF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkpMLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19XX0pLHtpc0dyb3VwRXhwYW5kZWQ6W3t0eXBlOlJffV0scGFnZUluZGV4Olt7dHlwZTpSX31dLG51bVBhZ2VzOlt7dHlwZTpSX31dLGNhcmRJZHNXaXRoTWV0YWRhdGE6W3t0eXBlOlJffV0sY2FyZE1pbldpZHRoOlt7dHlwZTpSX31dLGNhcmRPYnNlcnZlcjpbe3R5cGU6Ul99XSxzaG93UGFnaW5hdGlvbkNvbnRyb2xzOlt7dHlwZTpSX31dLHBhZ2VJbmRleENoYW5nZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBheXR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuZ3JvdXBOYW1lPW51bGwsdGhpcy5ncm91cE5hbWUkPW5ldyBqKG51bGwpLHRoaXMucGFnZUluZGV4JD1uZXcgaigwKSx0aGlzLml0ZW1zJD1uZXcgaihbXSksdGhpcy5uZ1Vuc3Vic2NyaWJlPW5ldyBCLHRoaXMubnVtUGFnZXMkPUt0KFt0aGlzLml0ZW1zJCx0aGlzLnN0b3JlLnNlbGVjdChoSSldKS5waXBlKFZ0KCgoW3QsZV0pPT5NYXRoLmNlaWwodC5sZW5ndGgvZSkpKSksdGhpcy5pc0dyb3VwRXhwYW5kZWQkPXRoaXMuZ3JvdXBOYW1lJC5waXBlKFZlKCh0PT5udWxsIT09dD90aGlzLnN0b3JlLnNlbGVjdCh3eix0KTp6dCghMCkpKSksdGhpcy5zaG93UGFnaW5hdGlvbkNvbnRyb2xzJD10aGlzLm51bVBhZ2VzJC5waXBlKFZ0KCh0PT50PjEpKSksdGhpcy5ub3JtYWxpemVkUGFnZUluZGV4JD1LdChbdGhpcy5wYWdlSW5kZXgkLHRoaXMubnVtUGFnZXMkXSkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLFdlKCgoW3QsZV0pPT57MCE9PWUmJih0Pj1lP3RoaXMucGFnZUluZGV4JC5uZXh0KGUtMSk6dDwwJiZ0aGlzLnBhZ2VJbmRleCQubmV4dCgwKSl9KSksVnQoKChbdCxlXSk9Pk1hdGgubWluKE1hdGgubWF4KHQsMCksZS0xKSkpLEZlKDEpKSx0aGlzLnBhZ2VkSXRlbXMkPUt0KFt0aGlzLml0ZW1zJCx0aGlzLnN0b3JlLnNlbGVjdChoSSksdGhpcy5ub3JtYWxpemVkUGFnZUluZGV4JCx0aGlzLmlzR3JvdXBFeHBhbmRlZCRdKS5waXBlKFZ0KCgoW3QsZSxuLG9dKT0+dC5zbGljZShlKm4sZSpuKyhvP2U6MCkpKSkpLHRoaXMuY2FyZE1pbldpZHRoJD1LdChbdGhpcy5zdG9yZS5zZWxlY3QoZ3opLHRoaXMuc3RvcmUuc2VsZWN0KHFEKV0pLnBpcGUoVnQoKChbdCxlXSk9PmU/dDpudWxsKSkpfW5nT25DaGFuZ2VzKHQpe3QuY2FyZElkc1dpdGhNZXRhZGF0YSYmdGhpcy5pdGVtcyQubmV4dCh0aGlzLmNhcmRJZHNXaXRoTWV0YWRhdGEpLHQuZ3JvdXBOYW1lJiZ0aGlzLmdyb3VwTmFtZSQubmV4dCh0aGlzLmdyb3VwTmFtZSl9bmdPbkRlc3Ryb3koKXt0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpLHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpfW9uUGFnZUluZGV4Q2hhbmdlZCh0KXt0aGlzLnBhZ2VJbmRleCQubmV4dCh0KX19ZnVuY3Rpb24gcnl0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsOCksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksa3UoIiIsdC5jYXJkSWRzV2l0aE1ldGFkYXRhLmxlbmd0aCwiIGNhcmRzIil9fWZ1bmN0aW9uIHN5dCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDkpLFB1KDEsIk5ldyBjYXJkIHBpbm5lZCIpLE1mKCkpLDImdCl7eW0oImRhdGEtaWQiLGUuJGltcGxpY2l0KX19ZnVuY3Rpb24gbHl0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJtZXRyaWNzLWNhcmQtZ3JpZCIsMTApLDImdCl7Y29uc3QgdD16ZigpO2JmKCJjYXJkSWRzV2l0aE1ldGFkYXRhIix0LmNhcmRJZHNXaXRoTWV0YWRhdGEpKCJjYXJkT2JzZXJ2ZXIiLHQuY2FyZE9ic2VydmVyKX19ZnVuY3Rpb24gY3l0KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxMSksUHUoMSwiUGluIGNhcmRzIGZvciBhIHF1aWNrIHZpZXcgYW5kIGNvbXBhcmlzb24iKSxNZigpKX1heXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGF5dCkoZ2YoaVMpKX0sYXl0Lsm1Y21wPXNvKHt0eXBlOmF5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1jYXJkLWdyaWQiXV0saW5wdXRzOntncm91cE5hbWU6Imdyb3VwTmFtZSIsY2FyZElkc1dpdGhNZXRhZGF0YToiY2FyZElkc1dpdGhNZXRhZGF0YSIsY2FyZE9ic2VydmVyOiJjYXJkT2JzZXJ2ZXIifSxmZWF0dXJlczpbcW9dLGRlY2xzOjcsdmFyczoxOSxjb25zdHM6W1szLCJpc0dyb3VwRXhwYW5kZWQiLCJwYWdlSW5kZXgiLCJudW1QYWdlcyIsInNob3dQYWdpbmF0aW9uQ29udHJvbHMiLCJjYXJkSWRzV2l0aE1ldGFkYXRhIiwiY2FyZE1pbldpZHRoIiwiY2FyZE9ic2VydmVyIiwicGFnZUluZGV4Q2hhbmdlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWV0cmljcy1jYXJkLWdyaWQtY29tcG9uZW50IiwwKSxSZigicGFnZUluZGV4Q2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25QYWdlSW5kZXhDaGFuZ2VkKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIiksX3koNSwiYXN5bmMiKSxfeSg2LCJhc3luYyIpLE1mKCkpLDImZSYmYmYoImlzR3JvdXBFeHBhbmRlZCIsQ3koMSw3LG4uaXNHcm91cEV4cGFuZGVkJCkpKCJwYWdlSW5kZXgiLEN5KDIsOSxuLm5vcm1hbGl6ZWRQYWdlSW5kZXgkKSkoIm51bVBhZ2VzIixDeSgzLDExLG4ubnVtUGFnZXMkKSkoInNob3dQYWdpbmF0aW9uQ29udHJvbHMiLEN5KDQsMTMsbi5zaG93UGFnaW5hdGlvbkNvbnRyb2xzJCkpKCJjYXJkSWRzV2l0aE1ldGFkYXRhIixDeSg1LDE1LG4ucGFnZWRJdGVtcyQpKSgiY2FyZE1pbldpZHRoIixDeSg2LDE3LG4uY2FyZE1pbldpZHRoJCkpKCJjYXJkT2JzZXJ2ZXIiLG4uY2FyZE9ic2VydmVyKX0sZGlyZWN0aXZlczpbaXl0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoYXl0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtY2FyZC1ncmlkIix0ZW1wbGF0ZTonXG4gICAgPG1ldHJpY3MtY2FyZC1ncmlkLWNvbXBvbmVudFxuICAgICAgW2lzR3JvdXBFeHBhbmRlZF09ImlzR3JvdXBFeHBhbmRlZCQgfCBhc3luYyJcbiAgICAgIFtwYWdlSW5kZXhdPSJub3JtYWxpemVkUGFnZUluZGV4JCB8IGFzeW5jIlxuICAgICAgW251bVBhZ2VzXT0ibnVtUGFnZXMkIHwgYXN5bmMiXG4gICAgICBbc2hvd1BhZ2luYXRpb25Db250cm9sc109InNob3dQYWdpbmF0aW9uQ29udHJvbHMkIHwgYXN5bmMiXG4gICAgICBbY2FyZElkc1dpdGhNZXRhZGF0YV09InBhZ2VkSXRlbXMkIHwgYXN5bmMiXG4gICAgICBbY2FyZE1pbldpZHRoXT0iY2FyZE1pbldpZHRoJCB8IGFzeW5jIlxuICAgICAgW2NhcmRPYnNlcnZlcl09ImNhcmRPYnNlcnZlciJcbiAgICAgIChwYWdlSW5kZXhDaGFuZ2VkKT0ib25QYWdlSW5kZXhDaGFuZ2VkKCRldmVudCkiXG4gICAgPlxuICAgIDwvbWV0cmljcy1jYXJkLWdyaWQtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse2dyb3VwTmFtZTpbe3R5cGU6Ul99XSxjYXJkSWRzV2l0aE1ldGFkYXRhOlt7dHlwZTpSX31dLGNhcmRPYnNlcnZlcjpbe3R5cGU6Ul99XX0pO2NsYXNzIGR5dHt9ZHl0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxkeXQpfSxkeXQuybVjbXA9c28oe3R5cGU6ZHl0LHNlbGVjdG9yczpbWyJtZXRyaWNzLXBpbm5lZC12aWV3LWNvbXBvbmVudCJdXSxpbnB1dHM6e2NhcmRPYnNlcnZlcjoiY2FyZE9ic2VydmVyIixjYXJkSWRzV2l0aE1ldGFkYXRhOiJjYXJkSWRzV2l0aE1ldGFkYXRhIixuZXdDYXJkUGlubmVkSWRzOiJuZXdDYXJkUGlubmVkSWRzIn0sZGVjbHM6MTAsdmFyczo0LGNvbnN0czpbWzEsImdyb3VwLXRvb2xiYXIiXSxbInN2Z0ljb24iLCJrZWVwXzI0cHgiXSxbMSwiZ3JvdXAtdGV4dCJdLFsiYXJpYS1yb2xlIiwiaGVhZGluZyIsImFyaWEtbGV2ZWwiLCIzIiwxLCJncm91cC10aXRsZSJdLFsiY2xhc3MiLCJncm91cC1jYXJkLWNvdW50Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsIm5ldy1jYXJkLXBpbm5lZCIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzMsImNhcmRJZHNXaXRoTWV0YWRhdGEiLCJjYXJkT2JzZXJ2ZXIiLDQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsiZW1wdHlQaW5uZWRWaWV3IiwiIl0sWzEsImdyb3VwLWNhcmQtY291bnQiXSxbMSwibmV3LWNhcmQtcGlubmVkIl0sWzMsImNhcmRJZHNXaXRoTWV0YWRhdGEiLCJjYXJkT2JzZXJ2ZXIiXSxbMSwiZW1wdHktbWVzc2FnZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiZGl2IiwwKSx2ZigxLCJtYXQtaWNvbiIsMSksQ2YoMiwic3BhbiIsMiksQ2YoMywic3BhbiIsMyksUHUoNCwiUGlubmVkIiksTWYoKSxIbSg1LHJ5dCwyLDEsInNwYW4iLDQpLEhtKDYsc3l0LDIsMSwic3BhbiIsNSksTWYoKSxNZigpLEhtKDcsbHl0LDEsMiwibWV0cmljcy1jYXJkLWdyaWQiLDYpLEhtKDgsY3l0LDIsMCwibmctdGVtcGxhdGUiLG51bGwsNyxxeSkpLDImZSl7Y29uc3QgdD1GbSg5KTtEYyg1KSxiZigibmdJZiIsbi5jYXJkSWRzV2l0aE1ldGFkYXRhLmxlbmd0aD4xKSxEYygxKSxiZigibmdGb3JPZiIsbi5uZXdDYXJkUGlubmVkSWRzKSxEYygxKSxiZigibmdJZiIsbi5jYXJkSWRzV2l0aE1ldGFkYXRhLmxlbmd0aCkoIm5nSWZFbHNlIix0KX19LGRpcmVjdGl2ZXM6W01xLFB2LHh2LGF5dF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojZmZmO2Rpc3BsYXk6ZmxleDtmbGV4Om5vbmU7aGVpZ2h0OjQycHg7bWFyZ2luLWJvdHRvbTotMXB4O3BhZGRpbmc6MCAxNnB4O3Bvc2l0aW9uOnN0aWNreTt0b3A6MDt6LWluZGV4OjE7Ym94LXNoYWRvdzowcHggMnB4IDRweCAwcHggcmdiYSgwLDAsMCwuMTUpfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiMzMDMwMzB9Ym9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9Ym9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVde2JveC1zaGFkb3c6MHB4IDJweCA0cHggMHB4IHJnYmEoMjU1LDI1NSwyNTUsLjE1KX1tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6IzYxNjE2MTtmbGV4Om5vbmU7bWFyZ2luLXJpZ2h0OjVweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICBtYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIG1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0uZ3JvdXAtdGV4dFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmJhc2VsaW5lO2dhcDo2cHh9Lmdyb3VwLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lmdyb3VwLWNhcmQtY291bnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjE2MTYxfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC1jYXJkLWNvdW50W19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLWNhcmQtY291bnRbX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfS5lbXB0eS1tZXNzYWdlW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtc3R5bGU6aXRhbGljO3BhZGRpbmc6MTZweDt0ZXh0LWFsaWduOmNlbnRlcn1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZW1wdHktbWVzc2FnZVtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5lbXB0eS1tZXNzYWdlW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ubmV3LWNhcmQtcGlubmVkW19uZ2NvbnRlbnQtJUNPTVAlXXthbmltYXRpb246cGlubmVkLXZpZXctZmFkZS1vdXQgM3MgbGluZWFyO2JhY2tncm91bmQ6I2Y0NDMzNjtib3JkZXItcmFkaXVzOjVweDtjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxM3B4O29wYWNpdHk6MDtwYWRkaW5nOjNweCA1cHh9QGtleWZyYW1lcyBwaW5uZWQtdmlldy1mYWRlLW91dHtmcm9te29wYWNpdHk6MX02NiV7b3BhY2l0eTouOTl9dG97b3BhY2l0eTowfX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZHl0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtcGlubmVkLXZpZXctY29tcG9uZW50Iix0ZW1wbGF0ZTonXG4gICAgPGRpdiBjbGFzcz0iZ3JvdXAtdG9vbGJhciI+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj0ia2VlcF8yNHB4Ij48L21hdC1pY29uPlxuICAgICAgPHNwYW4gY2xhc3M9Imdyb3VwLXRleHQiPlxuICAgICAgICA8c3BhbiBjbGFzcz0iZ3JvdXAtdGl0bGUiIGFyaWEtcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMyJcbiAgICAgICAgICA+UGlubmVkPC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPHNwYW4gKm5nSWY9ImNhcmRJZHNXaXRoTWV0YWRhdGEubGVuZ3RoID4gMSIgY2xhc3M9Imdyb3VwLWNhcmQtY291bnQiXG4gICAgICAgICAgPnt7IGNhcmRJZHNXaXRoTWV0YWRhdGEubGVuZ3RoIH19IGNhcmRzPC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdGb3I9ImxldCBpZCBvZiBuZXdDYXJkUGlubmVkSWRzIlxuICAgICAgICAgIFthdHRyLmRhdGEtaWRdPSJpZCJcbiAgICAgICAgICBjbGFzcz0ibmV3LWNhcmQtcGlubmVkIlxuICAgICAgICAgID5OZXcgY2FyZCBwaW5uZWQ8L3NwYW5cbiAgICAgICAgPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxtZXRyaWNzLWNhcmQtZ3JpZFxuICAgICAgKm5nSWY9ImNhcmRJZHNXaXRoTWV0YWRhdGEubGVuZ3RoOyBlbHNlIGVtcHR5UGlubmVkVmlldyJcbiAgICAgIFtjYXJkSWRzV2l0aE1ldGFkYXRhXT0iY2FyZElkc1dpdGhNZXRhZGF0YSJcbiAgICAgIFtjYXJkT2JzZXJ2ZXJdPSJjYXJkT2JzZXJ2ZXIiXG4gICAgPjwvbWV0cmljcy1jYXJkLWdyaWQ+XG4gICAgPG5nLXRlbXBsYXRlICNlbXB0eVBpbm5lZFZpZXc+XG4gICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1tZXNzYWdlIj5QaW4gY2FyZHMgZm9yIGEgcXVpY2sgdmlldyBhbmQgY29tcGFyaXNvbjwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICcsc3R5bGVVcmxzOlsicGlubmVkX3ZpZXdfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLG51bGwse2NhcmRPYnNlcnZlcjpbe3R5cGU6Ul99XSxjYXJkSWRzV2l0aE1ldGFkYXRhOlt7dHlwZTpSX31dLG5ld0NhcmRQaW5uZWRJZHM6W3t0eXBlOlJffV19KTtjbGFzcyBweXR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuY2FyZElkc1dpdGhNZXRhZGF0YSQ9dGhpcy5zdG9yZS5zZWxlY3QoY3opLnBpcGUoQmUoW10pKSx0aGlzLm5ld0NhcmRQaW5uZWRJZHMkPXRoaXMuc3RvcmUuc2VsZWN0KGN6KS5waXBlKExlKDEpLFZ0KCh0PT50Lm1hcCgodD0+dC5jYXJkSWQpKSkpLE5lKCksVnQoKChbdCxlXSk9Pntjb25zdCBuPW5ldyBTZXQodCksbz1uZXcgU2V0KGUpO2Zvcihjb25zdCB0IG9mIG8paWYoIW4uaGFzKHQpKXJldHVybiBEYXRlLm5vdygpO3JldHVybiBudWxsfSkpLEJlKG51bGwpLE5lKCksVnQoKChbdCxlXSk9Pm51bGw9PT10JiZudWxsPT09ZT9udWxsOm51bGw9PT1lP1t0XTpbZV0pKSx1ZSgodD0+bnVsbCE9PXQpKSxWdCgodD0+W3RbMF1dKSkpfX1weXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHB5dCkoZ2YoaVMpKX0scHl0Lsm1Y21wPXNvKHt0eXBlOnB5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1waW5uZWQtdmlldyJdXSxpbnB1dHM6e2NhcmRPYnNlcnZlcjoiY2FyZE9ic2VydmVyIn0sZGVjbHM6Myx2YXJzOjcsY29uc3RzOltbMywiY2FyZElkc1dpdGhNZXRhZGF0YSIsIm5ld0NhcmRQaW5uZWRJZHMiLCJjYXJkT2JzZXJ2ZXIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsIm1ldHJpY3MtcGlubmVkLXZpZXctY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIikpLDImZSYmYmYoImNhcmRJZHNXaXRoTWV0YWRhdGEiLEN5KDEsMyxuLmNhcmRJZHNXaXRoTWV0YWRhdGEkKSkoIm5ld0NhcmRQaW5uZWRJZHMiLEN5KDIsNSxuLm5ld0NhcmRQaW5uZWRJZHMkKSkoImNhcmRPYnNlcnZlciIsbi5jYXJkT2JzZXJ2ZXIpfSxkaXJlY3RpdmVzOltkeXRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihweXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1waW5uZWQtdmlldyIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWNzLXBpbm5lZC12aWV3LWNvbXBvbmVudFxuICAgICAgW2NhcmRJZHNXaXRoTWV0YWRhdGFdPSJjYXJkSWRzV2l0aE1ldGFkYXRhJCB8IGFzeW5jIlxuICAgICAgW25ld0NhcmRQaW5uZWRJZHNdPSJuZXdDYXJkUGlubmVkSWRzJCB8IGFzeW5jIlxuICAgICAgW2NhcmRPYnNlcnZlcl09ImNhcmRPYnNlcnZlciJcbiAgICA+PC9tZXRyaWNzLXBpbm5lZC12aWV3LWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLHtjYXJkT2JzZXJ2ZXI6W3t0eXBlOlJffV19KTtjb25zdCBteXQ9YlMoYXosX0ksKCh0LGUpPT50LmZpbHRlcigodD0+IW9OKHQucGx1Z2luKXx8Qm9vbGVhbihlJiZlLmdldCh0LnJ1bklkKSkpKSkpLGZ5dD1iUyhteXQsKHQ9PnQuc29ydCgoKHQsZSk9PlgkKHQudGFnLGUudGFnKSkpKSk7ZnVuY3Rpb24gdXl0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsNyksUHUoMSksX3koMiwibnVtYmVyIiksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksa3UoIiIsQ3koMiwxLHQubnVtYmVyT2ZDYXJkcyksIiBjYXJkcyIpfX1mdW5jdGlvbiBneXQodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiw4KX1mdW5jdGlvbiBoeXQodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiw5KX1jbGFzcyBieXR7Y29uc3RydWN0b3IoKXt0aGlzLmdyb3VwRXhwYW5zaW9uVG9nZ2xlZD1uZXcgU3l9fWJ5dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Ynl0KX0sYnl0Lsm1Y21wPXNvKHt0eXBlOmJ5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1jYXJkLWdyb3VwLXRvb2xiYXItY29tcG9uZW50Il1dLGlucHV0czp7Z3JvdXBOYW1lOiJncm91cE5hbWUiLG51bWJlck9mQ2FyZHM6Im51bWJlck9mQ2FyZHMiLGlzR3JvdXBFeHBhbmRlZDoiaXNHcm91cEV4cGFuZGVkIn0sb3V0cHV0czp7Z3JvdXBFeHBhbnNpb25Ub2dnbGVkOiJncm91cEV4cGFuc2lvblRvZ2dsZWQifSxkZWNsczo5LHZhcnM6NSxjb25zdHM6ZnVuY3Rpb24oKXtsZXQgdDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7dD1nb29nLmdldE1zZygiRXhwYW5kIGdyb3VwIil9ZWxzZSB0PSRsb2NhbGl6ZWA6QSBidXR0b24gdGhhdCBhbGxvd3MgdXNlciB0byBleHBhbmQgYSB0YWcgZ3JvdXAu4pCfZmZhYTExNDcxYjg3OGE2ZGZmZTJlNjhjNmYzNzA2NGE5ZTA3NDg1M+KQnzUzODYwNTQzMjUyNzQ3NzkyNTg6RXhwYW5kIGdyb3VwYDtyZXR1cm5bWyJhcmlhLWxhYmVsIix0LDEsImdyb3VwLXRvb2xiYXIiLDMsImNsaWNrIl0sWzEsImdyb3VwLXRpdGxlLXdyYXBwZXIiXSxbImFyaWEtcm9sZSIsImhlYWRpbmciLCJhcmlhLWxldmVsIiwiMyIsMSwiZ3JvdXAtdGl0bGUiLDMsInRpdGxlIl0sWyJjbGFzcyIsImdyb3VwLWNhcmQtY291bnQiLDQsIm5nSWYiXSxbMSwiZXhwYW5kLWdyb3VwLWljb24iXSxbInN2Z0ljb24iLCJleHBhbmRfbGVzc18yNHB4Iiw0LCJuZ0lmIiwibmdJZkVsc2UiXSxbImV4cGFuZE1vcmUiLCIiXSxbMSwiZ3JvdXAtY2FyZC1jb3VudCJdLFsic3ZnSWNvbiIsImV4cGFuZF9sZXNzXzI0cHgiXSxbInN2Z0ljb24iLCJleHBhbmRfbW9yZV8yNHB4Il1dfSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiYnV0dG9uIiwwKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uZ3JvdXBFeHBhbnNpb25Ub2dnbGVkLmVtaXQoKX0pKSxDZigxLCJzcGFuIiwxKSxDZigyLCJzcGFuIiwyKSxQdSgzKSxNZigpLEhtKDQsdXl0LDMsMywic3BhbiIsMyksTWYoKSxDZig1LCJzcGFuIiw0KSxIbSg2LGd5dCwxLDAsIm1hdC1pY29uIiw1KSxIbSg3LGh5dCwxLDAsIm5nLXRlbXBsYXRlIixudWxsLDYscXkpLE1mKCksTWYoKSksMiZlKXtjb25zdCB0PUZtKDgpO0RjKDIpLExmKCJ0aXRsZSIsbi5ncm91cE5hbWUpLERjKDEpLHd1KG4uZ3JvdXBOYW1lKSxEYygxKSxiZigibmdJZiIsbi5udW1iZXJPZkNhcmRzPjEpLERjKDIpLGJmKCJuZ0lmIixuLmlzR3JvdXBFeHBhbmRlZCkoIm5nSWZFbHNlIix0KX19LGRpcmVjdGl2ZXM6W1B2LE1xXSxwaXBlczpbJHZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7ZmxleDpub25lO2hlaWdodDo0MnB4O21hcmdpbi1ib3R0b206LTFweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpzdGlja3k7dG9wOjA7ei1pbmRleDoxO2JveC1zaGFkb3c6MHB4IDJweCA0cHggMHB4IHJnYmEoMCwwLDAsLjE1KX1ib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNTU1fWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3gtc2hhZG93OjBweCAycHggNHB4IDBweCByZ2JhKDI1NSwyNTUsMjU1LC4xNSl9W19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO2NvbG9yOiMyMTIxMjE7dG9wOi0xcHg7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7Zm9udDppbmhlcml0fWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItdG9wOjFweCBzb2xpZCAjNTU1fWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojZmZmfS5jYXJkLWdyb3VwOmZpcnN0LW9mLXR5cGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci10b3A6MH1bX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdOmhvdmVye2N1cnNvcjpwb2ludGVyfS5leHBhbmQtZ3JvdXAtaWNvbltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZXhwYW5kLWdyb3VwLWljb25bX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZXhwYW5kLWdyb3VwLWljb25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfS5leHBhbmQtZ3JvdXAtaWNvbltfbmdjb250ZW50LSVDT01QJV06ZGlzYWJsZWR7Y29sb3I6Izc1NzU3NX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZXhwYW5kLWdyb3VwLWljb25bX25nY29udGVudC0lQ09NUCVdOmRpc2FibGVkLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZXhwYW5kLWdyb3VwLWljb25bX25nY29udGVudC0lQ09NUCVdOmRpc2FibGVke2NvbG9yOiM2MTYxNjF9Lmdyb3VwLXRpdGxlLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZsZXgtZ3JvdzoxO3RleHQtYWxpZ246bGVmdH0uZ3JvdXAtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0uZ3JvdXAtY2FyZC1jb3VudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM2MTYxNjE7bWFyZ2luLWxlZnQ6NnB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC1jYXJkLWNvdW50W19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLWNhcmQtY291bnRbX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihieXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1jYXJkLWdyb3VwLXRvb2xiYXItY29tcG9uZW50Iix0ZW1wbGF0ZTonXG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9Imdyb3VwLXRvb2xiYXIiXG4gICAgICBpMThuLWFyaWEtbGFiZWw9IkEgYnV0dG9uIHRoYXQgYWxsb3dzIHVzZXIgdG8gZXhwYW5kIGEgdGFnIGdyb3VwLiJcbiAgICAgIGFyaWEtbGFiZWw9IkV4cGFuZCBncm91cCJcbiAgICAgIChjbGljayk9Imdyb3VwRXhwYW5zaW9uVG9nZ2xlZC5lbWl0KCkiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9Imdyb3VwLXRpdGxlLXdyYXBwZXIiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPSJncm91cC10aXRsZSJcbiAgICAgICAgICBhcmlhLXJvbGU9ImhlYWRpbmciXG4gICAgICAgICAgYXJpYS1sZXZlbD0iMyJcbiAgICAgICAgICB0aXRsZT0ie3sgZ3JvdXBOYW1lIH19IlxuICAgICAgICAgID57eyBncm91cE5hbWUgfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhbiAqbmdJZj0ibnVtYmVyT2ZDYXJkcyA+IDEiIGNsYXNzPSJncm91cC1jYXJkLWNvdW50IlxuICAgICAgICAgID57eyBudW1iZXJPZkNhcmRzIHwgbnVtYmVyIH19IGNhcmRzPC9zcGFuXG4gICAgICAgID5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPSJleHBhbmQtZ3JvdXAtaWNvbiI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICpuZ0lmPSJpc0dyb3VwRXhwYW5kZWQ7IGVsc2UgZXhwYW5kTW9yZSJcbiAgICAgICAgICBzdmdJY29uPSJleHBhbmRfbGVzc18yNHB4IlxuICAgICAgICA+PC9tYXQtaWNvbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNleHBhbmRNb3JlPlxuICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPSJleHBhbmRfbW9yZV8yNHB4Ij48L21hdC1pY29uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAnLHN0eWxlVXJsczpbImNhcmRfZ3JvdXBfdG9vbGJhcl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7Z3JvdXBOYW1lOlt7dHlwZTpSX31dLG51bWJlck9mQ2FyZHM6W3t0eXBlOlJffV0saXNHcm91cEV4cGFuZGVkOlt7dHlwZTpSX31dLGdyb3VwRXhwYW5zaW9uVG9nZ2xlZDpbe3R5cGU6RV99XX0pO2NsYXNzIHl5dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5ncm91cE5hbWU9bnVsbCx0aGlzLmlzR3JvdXBFeHBhbmRlZCQ9enQoITEpfW5nT25Jbml0KCl7dGhpcy5pc0dyb3VwRXhwYW5kZWQkPW51bGwhPT10aGlzLmdyb3VwTmFtZT90aGlzLnN0b3JlLnNlbGVjdCh3eix0aGlzLmdyb3VwTmFtZSk6enQoITEpfW9uR3JvdXBFeHBhbnNpb25Ub2dnbGVkKCl7aWYobnVsbD09PXRoaXMuZ3JvdXBOYW1lKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhcmlhbnQgZXJyb3I6IGV4cGFuc2lvbiBjYW5ub3QgYmUgdG9nZ2xlZCB3aGVuIGdyb3VwTmFtZSBpcyBudWxsIik7dGhpcy5zdG9yZS5kaXNwYXRjaChOQSh7dGFnR3JvdXA6dGhpcy5ncm91cE5hbWV9KSl9fWZ1bmN0aW9uIF95dCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMSksdmYoMSwibWV0cmljcy1jYXJkLWdyb3VwLXRvb2xiYXIiLDIpLHZmKDIsIm1ldHJpY3MtY2FyZC1ncmlkIiwzKSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigpO0RjKDEpLGJmKCJudW1iZXJPZkNhcmRzIix0Lml0ZW1zLmxlbmd0aCkoImdyb3VwTmFtZSIsdC5ncm91cE5hbWUpLERjKDEpLGJmKCJjYXJkSWRzV2l0aE1ldGFkYXRhIix0Lml0ZW1zKSgiY2FyZE9ic2VydmVyIixuLmNhcmRPYnNlcnZlcikoImdyb3VwTmFtZSIsdC5ncm91cE5hbWUpfX15eXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHl5dCkoZ2YoaVMpKX0seXl0Lsm1Y21wPXNvKHt0eXBlOnl5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1jYXJkLWdyb3VwLXRvb2xiYXIiXV0saW5wdXRzOntncm91cE5hbWU6Imdyb3VwTmFtZSIsbnVtYmVyT2ZDYXJkczoibnVtYmVyT2ZDYXJkcyJ9LGRlY2xzOjIsdmFyczo1LGNvbnN0czpbWzMsIm51bWJlck9mQ2FyZHMiLCJpc0dyb3VwRXhwYW5kZWQiLCJncm91cE5hbWUiLCJncm91cEV4cGFuc2lvblRvZ2dsZWQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsIm1ldHJpY3MtY2FyZC1ncm91cC10b29sYmFyLWNvbXBvbmVudCIsMCksUmYoImdyb3VwRXhwYW5zaW9uVG9nZ2xlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vbkdyb3VwRXhwYW5zaW9uVG9nZ2xlZCgpfSkpLF95KDEsImFzeW5jIiksTWYoKSksMiZlJiZiZigibnVtYmVyT2ZDYXJkcyIsbi5udW1iZXJPZkNhcmRzKSgiaXNHcm91cEV4cGFuZGVkIixDeSgxLDMsbi5pc0dyb3VwRXhwYW5kZWQkKSkoImdyb3VwTmFtZSIsbi5ncm91cE5hbWUpfSxkaXJlY3RpdmVzOltieXRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih5eXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1jYXJkLWdyb3VwLXRvb2xiYXIiLHRlbXBsYXRlOidcbiAgICA8bWV0cmljcy1jYXJkLWdyb3VwLXRvb2xiYXItY29tcG9uZW50XG4gICAgICBbbnVtYmVyT2ZDYXJkc109Im51bWJlck9mQ2FyZHMiXG4gICAgICBbaXNHcm91cEV4cGFuZGVkXT0iaXNHcm91cEV4cGFuZGVkJCB8IGFzeW5jIlxuICAgICAgW2dyb3VwTmFtZV09Imdyb3VwTmFtZSJcbiAgICAgIChncm91cEV4cGFuc2lvblRvZ2dsZWQpPSJvbkdyb3VwRXhwYW5zaW9uVG9nZ2xlZCgpIlxuICAgID48L21ldHJpY3MtY2FyZC1ncm91cC10b29sYmFyLWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLHtncm91cE5hbWU6W3t0eXBlOlJffV0sbnVtYmVyT2ZDYXJkczpbe3R5cGU6Ul99XX0pO2NsYXNzIEN5dHtjb25zdHJ1Y3Rvcigpe3RoaXMuUGx1Z2luVHlwZT1LVH10cmFja0J5R3JvdXAodCxlKXtyZXR1cm4gZS5ncm91cE5hbWV9fUN5dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Q3l0KX0sQ3l0Lsm1Y21wPXNvKHt0eXBlOkN5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1jYXJkLWdyb3Vwcy1jb21wb25lbnQiXV0saW5wdXRzOntjYXJkR3JvdXBzOiJjYXJkR3JvdXBzIixjYXJkT2JzZXJ2ZXI6ImNhcmRPYnNlcnZlciJ9LGRlY2xzOjEsdmFyczoyLGNvbnN0czpbWyJjbGFzcyIsImNhcmQtZ3JvdXAiLDQsIm5nRm9yIiwibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSJdLFsxLCJjYXJkLWdyb3VwIl0sWzMsIm51bWJlck9mQ2FyZHMiLCJncm91cE5hbWUiXSxbMywiY2FyZElkc1dpdGhNZXRhZGF0YSIsImNhcmRPYnNlcnZlciIsImdyb3VwTmFtZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiZIbSgwLF95dCwzLDUsImRpdiIsMCksMiZlJiZiZigibmdGb3JPZiIsbi5jYXJkR3JvdXBzKSgibmdGb3JUcmFja0J5IixuLnRyYWNrQnlHcm91cCl9LGRpcmVjdGl2ZXM6W3h2LHl5dCxheXRdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7ZmxleDpub25lO2hlaWdodDo0MnB4O21hcmdpbi1ib3R0b206LTFweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpzdGlja3k7dG9wOjA7ei1pbmRleDoxO2JveC1zaGFkb3c6MHB4IDJweCA0cHggMHB4IHJnYmEoMCwwLDAsLjE1KX1ib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNTU1fWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3gtc2hhZG93OjBweCAycHggNHB4IDBweCByZ2JhKDI1NSwyNTUsMjU1LC4xNSl9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEN5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWNzLWNhcmQtZ3JvdXBzLWNvbXBvbmVudCIsdGVtcGxhdGU6J1xuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj0ibGV0IGdyb3VwIG9mIGNhcmRHcm91cHM7IHRyYWNrQnk6IHRyYWNrQnlHcm91cCJcbiAgICAgIGNsYXNzPSJjYXJkLWdyb3VwIlxuICAgID5cbiAgICAgIDxtZXRyaWNzLWNhcmQtZ3JvdXAtdG9vbGJhclxuICAgICAgICBbbnVtYmVyT2ZDYXJkc109Imdyb3VwLml0ZW1zLmxlbmd0aCJcbiAgICAgICAgW2dyb3VwTmFtZV09Imdyb3VwLmdyb3VwTmFtZSJcbiAgICAgID48L21ldHJpY3MtY2FyZC1ncm91cC10b29sYmFyPlxuICAgICAgPG1ldHJpY3MtY2FyZC1ncmlkXG4gICAgICAgIFtjYXJkSWRzV2l0aE1ldGFkYXRhXT0iZ3JvdXAuaXRlbXMiXG4gICAgICAgIFtjYXJkT2JzZXJ2ZXJdPSJjYXJkT2JzZXJ2ZXIiXG4gICAgICAgIFtncm91cE5hbWVdPSJncm91cC5ncm91cE5hbWUiXG4gICAgICA+PC9tZXRyaWNzLWNhcmQtZ3JpZD5cbiAgICA8L2Rpdj5cbiAgJyxzdHlsZVVybHM6WyJjYXJkX2dyb3Vwc19jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7Y2FyZEdyb3Vwczpbe3R5cGU6Ul99XSxjYXJkT2JzZXJ2ZXI6W3t0eXBlOlJffV19KTtjbGFzcyBNeXR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuY2FyZEdyb3VwcyQ9dGhpcy5zdG9yZS5zZWxlY3QoZnl0KS5waXBlKF9lKHRoaXMuc3RvcmUuc2VsZWN0KEF6KSksVnQoKChbdCxlXSk9PmUuc2l6ZT90LmZpbHRlcigodD0+ZS5oYXModC5wbHVnaW4pKSk6dCkpLFZ0KCh0PT5aJCh0KSkpKX19ZnVuY3Rpb24gdnl0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGt1KCIgYW5kICIsdC5nZXRQbHVnaW5UeXBlRmlsdGVyU3RyaW5nKHQucGx1Z2luVHlwZXMpLCIgdmlzdWFsaXphdGlvbiBmaWx0ZXIiKX19TXl0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxNeXQpKGdmKGlTKSl9LE15dC7JtWNtcD1zbyh7dHlwZTpNeXQsc2VsZWN0b3JzOltbIm1ldHJpY3MtY2FyZC1ncm91cHMiXV0saW5wdXRzOntjYXJkT2JzZXJ2ZXI6ImNhcmRPYnNlcnZlciJ9LGRlY2xzOjIsdmFyczo0LGNvbnN0czpbWzMsImNhcmRHcm91cHMiLCJjYXJkT2JzZXJ2ZXIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsIm1ldHJpY3MtY2FyZC1ncm91cHMtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpKSwyJmUmJmJmKCJjYXJkR3JvdXBzIixDeSgxLDIsbi5jYXJkR3JvdXBzJCkpKCJjYXJkT2JzZXJ2ZXIiLG4uY2FyZE9ic2VydmVyKX0sZGlyZWN0aXZlczpbQ3l0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTXl0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtY2FyZC1ncm91cHMiLHRlbXBsYXRlOidcbiAgICA8bWV0cmljcy1jYXJkLWdyb3Vwcy1jb21wb25lbnRcbiAgICAgIFtjYXJkR3JvdXBzXT0iY2FyZEdyb3VwcyQgfCBhc3luYyJcbiAgICAgIFtjYXJkT2JzZXJ2ZXJdPSJjYXJkT2JzZXJ2ZXIiXG4gICAgPjwvbWV0cmljcy1jYXJkLWdyb3Vwcy1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSx7Y2FyZE9ic2VydmVyOlt7dHlwZTpSX31dfSk7Y2xhc3MgeHl0e2NvbnN0cnVjdG9yKCl7dGhpcy5QbHVnaW5UeXBlPUtULHRoaXMubGlzdEZvcm1hdHRlcj1uZXcgSW50bC5MaXN0Rm9ybWF0KHZvaWQgMCx7c3R5bGU6ImxvbmciLHR5cGU6ImRpc2p1bmN0aW9uIn0pfWdldFBsdWdpblR5cGVGaWx0ZXJTdHJpbmcodCl7Y29uc3QgZT1bLi4udF0ubWFwKCh0PT57c3dpdGNoKHQpe2Nhc2UgS1QuU0NBTEFSUzpyZXR1cm4ic2NhbGFyIjtjYXNlIEtULklNQUdFUzpyZXR1cm4iaW1hZ2UiO2Nhc2UgS1QuSElTVE9HUkFNUzpyZXR1cm4iaGlzdG9ncmFtIjtkZWZhdWx0OnRocm93IG5ldyBSYW5nZUVycm9yKGBQbGVhc2UgaW1wbGVtZW50IGh1bWFuIHJlYWRhYmxlIG5hbWUgZm9yIHBsdWdpbiB0eXBlOiAke3R9YCl9fSkpO3JldHVybiB0aGlzLmxpc3RGb3JtYXR0ZXIuZm9ybWF0KGUpfX14eXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHh5dCl9LHh5dC7JtWNtcD1zbyh7dHlwZTp4eXQsc2VsZWN0b3JzOltbIm1ldHJpY3MtZW1wdHktdGFnLW1hdGNoLWNvbXBvbmVudCJdXSxpbnB1dHM6e3BsdWdpblR5cGVzOiJwbHVnaW5UeXBlcyIsdGFnRmlsdGVyUmVnZXg6InRhZ0ZpbHRlclJlZ2V4Iix0YWdDb3VudHM6InRhZ0NvdW50cyJ9LGRlY2xzOjYsdmFyczo1LGNvbnN0czpbWzQsIm5nSWYiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKFB1KDAsIk5vIG1hdGNoZXMgZm9yIHRhZyBmaWx0ZXIgIiksQ2YoMSwiY29kZSIpLFB1KDIpLE1mKCksSG0oMyx2eXQsMiwxLCJzcGFuIiwwKSxQdSg0KSxfeSg1LCJudW1iZXIiKSksMiZlJiYoRGMoMiksa3UoIi8iLG4udGFnRmlsdGVyUmVnZXgsIi8iKSxEYygxKSxiZigibmdJZiIsbi5wbHVnaW5UeXBlcy5zaXplKSxEYygxKSxrdSgiIG91dCBvZiAiLEN5KDUsMyxuLnRhZ0NvdW50cyksIiB0YWdzLiIpKX0sZGlyZWN0aXZlczpbUHZdLHBpcGVzOlskdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4eXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1lbXB0eS10YWctbWF0Y2gtY29tcG9uZW50Iix0ZW1wbGF0ZTonTm8gbWF0Y2hlcyBmb3IgdGFnIGZpbHRlciA8Y29kZT4ve3sgdGFnRmlsdGVyUmVnZXggfX0vPC9jb2RlXG4gICAgPjxzcGFuICpuZ0lmPSJwbHVnaW5UeXBlcy5zaXplIj5cbiAgICAgIGFuZCB7eyBnZXRQbHVnaW5UeXBlRmlsdGVyU3RyaW5nKHBsdWdpblR5cGVzKSB9fSB2aXN1YWxpemF0aW9uXG4gICAgICBmaWx0ZXI8L3NwYW5cbiAgICA+XG4gICAgb3V0IG9mIHt7IHRhZ0NvdW50cyB8IG51bWJlciB9fSB0YWdzLicsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7cGx1Z2luVHlwZXM6W3t0eXBlOlJffV0sdGFnRmlsdGVyUmVnZXg6W3t0eXBlOlJffV0sdGFnQ291bnRzOlt7dHlwZTpSX31dfSk7Y2xhc3MgT3l0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLnBsdWdpblR5cGVzJD10aGlzLnN0b3JlLnNlbGVjdChBeiksdGhpcy50YWdGaWx0ZXJSZWdleCQ9dGhpcy5zdG9yZS5zZWxlY3QoUHopLHRoaXMudGFnQ291bnRzJD10aGlzLnN0b3JlLnNlbGVjdChmeXQpLnBpcGUoVnQoKHQ9Pm5ldyBTZXQodC5tYXAoKCh7dGFnOnR9KT0+dCkpKS5zaXplKSkpfX1mdW5jdGlvbiBQeXQodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiw2KSxQdSgxKSxfeSgyLCJudW1iZXIiKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxrdSgiIixDeSgyLDEsdC5jYXJkSWRzV2l0aE1ldGFkYXRhLmxlbmd0aCksIiBjYXJkcyIpfX1mdW5jdGlvbiB3eXQodCxlKXsxJnQmJnZmKDAsIm1ldHJpY3MtZW1wdHktdGFnLW1hdGNoIiw3KX1PeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE95dCkoZ2YoaVMpKX0sT3l0Lsm1Y21wPXNvKHt0eXBlOk95dCxzZWxlY3RvcnM6W1sibWV0cmljcy1lbXB0eS10YWctbWF0Y2giXV0sZGVjbHM6NCx2YXJzOjksY29uc3RzOltbMywicGx1Z2luVHlwZXMiLCJ0YWdGaWx0ZXJSZWdleCIsInRhZ0NvdW50cyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwibWV0cmljcy1lbXB0eS10YWctbWF0Y2gtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSksMiZlJiZiZigicGx1Z2luVHlwZXMiLEN5KDEsMyxuLnBsdWdpblR5cGVzJCkpKCJ0YWdGaWx0ZXJSZWdleCIsQ3koMiw1LG4udGFnRmlsdGVyUmVnZXgkKSkoInRhZ0NvdW50cyIsQ3koMyw3LG4udGFnQ291bnRzJCkpfSxkaXJlY3RpdmVzOlt4eXRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPeXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1lbXB0eS10YWctbWF0Y2giLHRlbXBsYXRlOidcbiAgICA8bWV0cmljcy1lbXB0eS10YWctbWF0Y2gtY29tcG9uZW50XG4gICAgICBbcGx1Z2luVHlwZXNdPSJwbHVnaW5UeXBlcyQgfCBhc3luYyJcbiAgICAgIFt0YWdGaWx0ZXJSZWdleF09InRhZ0ZpbHRlclJlZ2V4JCB8IGFzeW5jIlxuICAgICAgW3RhZ0NvdW50c109InRhZ0NvdW50cyQgfCBhc3luYyJcbiAgICA+PC9tZXRyaWNzLWVtcHR5LXRhZy1tYXRjaC1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjbGFzcyBreXR7fWt5dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8a3l0KX0sa3l0Lsm1Y21wPXNvKHt0eXBlOmt5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1maWx0ZXJlZC12aWV3LWNvbXBvbmVudCJdXSxpbnB1dHM6e2lzRW1wdHlNYXRjaDoiaXNFbXB0eU1hdGNoIixjYXJkT2JzZXJ2ZXI6ImNhcmRPYnNlcnZlciIsY2FyZElkc1dpdGhNZXRhZGF0YToiY2FyZElkc1dpdGhNZXRhZGF0YSJ9LGRlY2xzOjcsdmFyczo0LGNvbnN0czpbWzEsImdyb3VwLXRvb2xiYXIiXSxbMSwiZ3JvdXAtdGV4dCJdLFsiYXJpYS1yb2xlIiwiaGVhZGluZyIsImFyaWEtbGV2ZWwiLCIzIiwxLCJncm91cC10aXRsZSJdLFsiY2xhc3MiLCJncm91cC1jYXJkLWNvdW50Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsIndhcm4iLDQsIm5nSWYiXSxbMywiY2FyZElkc1dpdGhNZXRhZGF0YSIsImNhcmRPYnNlcnZlciJdLFsxLCJncm91cC1jYXJkLWNvdW50Il0sWzEsIndhcm4iXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwic3BhbiIsMSksQ2YoMiwic3BhbiIsMiksUHUoMywiVGFncyBtYXRjaGluZyBmaWx0ZXIiKSxNZigpLEhtKDQsUHl0LDMsMywic3BhbiIsMyksTWYoKSxNZigpLEhtKDUsd3l0LDEsMCwibWV0cmljcy1lbXB0eS10YWctbWF0Y2giLDQpLHZmKDYsIm1ldHJpY3MtY2FyZC1ncmlkIiw1KSksMiZlJiYoRGMoNCksYmYoIm5nSWYiLG4uY2FyZElkc1dpdGhNZXRhZGF0YS5sZW5ndGg+MSksRGMoMSksYmYoIm5nSWYiLG4uaXNFbXB0eU1hdGNoKSxEYygxKSxiZigiY2FyZElkc1dpdGhNZXRhZGF0YSIsbi5jYXJkSWRzV2l0aE1ldGFkYXRhKSgiY2FyZE9ic2VydmVyIixuLmNhcmRPYnNlcnZlcikpfSxkaXJlY3RpdmVzOltQdixheXQsT3l0XSxwaXBlczpbJHZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7ZmxleDpub25lO2hlaWdodDo0MnB4O21hcmdpbi1ib3R0b206LTFweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpzdGlja3k7dG9wOjA7ei1pbmRleDoxO2JveC1zaGFkb3c6MHB4IDJweCA0cHggMHB4IHJnYmEoMCwwLDAsLjE1KX1ib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNTU1fWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3gtc2hhZG93OjBweCAycHggNHB4IDBweCByZ2JhKDI1NSwyNTUsMjU1LC4xNSl9Lmdyb3VwLXRleHRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpiYXNlbGluZX0uZ3JvdXAtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0uZ3JvdXAtY2FyZC1jb3VudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM2MTYxNjE7bWFyZ2luLWxlZnQ6NnB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC1jYXJkLWNvdW50W19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLWNhcmQtY291bnRbX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfW1ldHJpY3MtZW1wdHktdGFnLW1hdGNoW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtc3R5bGU6aXRhbGljO3BhZGRpbmc6MTZweDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmJsb2NrfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIG1ldHJpY3MtZW1wdHktdGFnLW1hdGNoW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgbWV0cmljcy1lbXB0eS10YWctbWF0Y2hbX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihreXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1maWx0ZXJlZC12aWV3LWNvbXBvbmVudCIsdGVtcGxhdGU6J1xuICAgIDxkaXYgY2xhc3M9Imdyb3VwLXRvb2xiYXIiPlxuICAgICAgPHNwYW4gY2xhc3M9Imdyb3VwLXRleHQiPlxuICAgICAgICA8c3BhbiBjbGFzcz0iZ3JvdXAtdGl0bGUiIGFyaWEtcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMyJcbiAgICAgICAgICA+VGFncyBtYXRjaGluZyBmaWx0ZXI8L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhbiAqbmdJZj0iY2FyZElkc1dpdGhNZXRhZGF0YS5sZW5ndGggPiAxIiBjbGFzcz0iZ3JvdXAtY2FyZC1jb3VudCJcbiAgICAgICAgICA+e3sgY2FyZElkc1dpdGhNZXRhZGF0YS5sZW5ndGggfCBudW1iZXIgfX0gY2FyZHM8L3NwYW5cbiAgICAgICAgPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxtZXRyaWNzLWVtcHR5LXRhZy1tYXRjaFxuICAgICAgKm5nSWY9ImlzRW1wdHlNYXRjaCJcbiAgICAgIGNsYXNzPSJ3YXJuIlxuICAgID48L21ldHJpY3MtZW1wdHktdGFnLW1hdGNoPlxuICAgIDxtZXRyaWNzLWNhcmQtZ3JpZFxuICAgICAgW2NhcmRJZHNXaXRoTWV0YWRhdGFdPSJjYXJkSWRzV2l0aE1ldGFkYXRhIlxuICAgICAgW2NhcmRPYnNlcnZlcl09ImNhcmRPYnNlcnZlciJcbiAgICA+PC9tZXRyaWNzLWNhcmQtZ3JpZD5cbiAgJyxzdHlsZVVybHM6WyJmaWx0ZXJlZF92aWV3X2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtpc0VtcHR5TWF0Y2g6W3t0eXBlOlJffV0sY2FyZE9ic2VydmVyOlt7dHlwZTpSX31dLGNhcmRJZHNXaXRoTWV0YWRhdGE6W3t0eXBlOlJffV19KTtjbGFzcyBTeXR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuY2FyZElkc1dpdGhNZXRhZGF0YSQ9dGhpcy5zdG9yZS5zZWxlY3QoZnl0KS5waXBlKF9lKHRoaXMuc3RvcmUuc2VsZWN0KEF6KSksVnQoKChbdCxlXSk9PmUuc2l6ZT90LmZpbHRlcigodD0+ZS5oYXModC5wbHVnaW4pKSk6dCkpLF9lKHRoaXMuc3RvcmUuc2VsZWN0KFB6KSksQ2UoMjAwKSxWdCgoKFt0LGVdKT0+e3RyeXtyZXR1cm57Y2FyZExpc3Q6dCxyZWdleDpuZXcgUmVnRXhwKGUsImkiKX19Y2F0Y2goZSl7cmV0dXJue2NhcmRMaXN0OnQscmVnZXg6bnVsbH19fSkpLHVlKCgoe3JlZ2V4OnR9KT0+bnVsbCE9PXQpKSxWdCgoKHtjYXJkTGlzdDp0LHJlZ2V4OmV9KT0+dC5maWx0ZXIoKCh7dGFnOnR9KT0+ZS50ZXN0KHQpKSkpKSx3ZSgoKHQsZSk9PnQubGVuZ3RoPT09ZS5sZW5ndGgmJnQuZXZlcnkoKCh0LG4pPT50LmNhcmRJZD09PWVbbl0uY2FyZElkKSkpKSxJZSgpLEJlKFtdKSksdGhpcy5pc0VtcHR5TWF0Y2gkPXRoaXMuY2FyZElkc1dpdGhNZXRhZGF0YSQucGlwZShfZSh0aGlzLnN0b3JlLnNlbGVjdChmeXQpKSxWdCgoKFt0LGVdKT0+Qm9vbGVhbihlLmxlbmd0aCkmJjA9PT10Lmxlbmd0aCkpKX19ZnVuY3Rpb24gRHl0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwibWF0LW9wdGlvbiIsMiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0O2JmKCJ2YWx1ZSIsdC52YWx1ZSkoImRpc2FibGVkIix0LmRpc2FibGVkKSxEYygxKSxrdSgiICIsdC5kaXNwbGF5VGV4dCwiICIpfX1TeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFN5dCkoZ2YoaVMpKX0sU3l0Lsm1Y21wPXNvKHt0eXBlOlN5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1maWx0ZXJlZC12aWV3Il1dLGlucHV0czp7Y2FyZE9ic2VydmVyOiJjYXJkT2JzZXJ2ZXIifSxkZWNsczozLHZhcnM6Nyxjb25zdHM6W1szLCJpc0VtcHR5TWF0Y2giLCJjYXJkSWRzV2l0aE1ldGFkYXRhIiwiY2FyZE9ic2VydmVyIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJtZXRyaWNzLWZpbHRlcmVkLXZpZXctY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIikpLDImZSYmYmYoImlzRW1wdHlNYXRjaCIsQ3koMSwzLG4uaXNFbXB0eU1hdGNoJCkpKCJjYXJkSWRzV2l0aE1ldGFkYXRhIixDeSgyLDUsbi5jYXJkSWRzV2l0aE1ldGFkYXRhJCkpKCJjYXJkT2JzZXJ2ZXIiLG4uY2FyZE9ic2VydmVyKX0sZGlyZWN0aXZlczpba3l0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoU3l0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtZmlsdGVyZWQtdmlldyIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWNzLWZpbHRlcmVkLXZpZXctY29tcG9uZW50XG4gICAgICBbaXNFbXB0eU1hdGNoXT0iaXNFbXB0eU1hdGNoJCB8IGFzeW5jIlxuICAgICAgW2NhcmRJZHNXaXRoTWV0YWRhdGFdPSJjYXJkSWRzV2l0aE1ldGFkYXRhJCB8IGFzeW5jIlxuICAgICAgW2NhcmRPYnNlcnZlcl09ImNhcmRPYnNlcnZlciJcbiAgICA+PC9tZXRyaWNzLWZpbHRlcmVkLXZpZXctY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse2NhcmRPYnNlcnZlcjpbe3R5cGU6Ul99XX0pO2NsYXNzIFJ5dHtjb25zdHJ1Y3Rvcigpe3RoaXMudmFsdWU9IiIsdGhpcy5vcHRpb25zPVtdLHRoaXMuc2VsZWN0aW9uQ2hhbmdlPW5ldyBTeX19ZnVuY3Rpb24gRXl0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwyMiksQ2YoMSwiZGl2IiwyMyksUHUoMiwiQ2FyZCBXaWR0aCIpLE1mKCksQ2YoMywiZGl2IiwxMCksQ2YoNCwibWF0LXNsaWRlciIsMjQpLFJmKCJpbnB1dCIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkuY2FyZFdpZHRoU2xpZGVyQ2hhbmdlZCQuZW1pdChuLnZhbHVlKX0pKSxNZigpLENmKDUsImJ1dHRvbiIsMjUpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5jYXJkV2lkdGhSZXNldC5lbWl0KCl9KSksdmYoNiwibWF0LWljb24iLDI2KSxNZigpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtEYyg0KSxiZigibWF4Iix0Lk1BWF9DQVJEX1dJRFRIX1NMSURFUl9WQUxVRSkoIm1pbiIsdC5NSU5fQ0FSRF9XSURUSF9TTElERVJfVkFMVUUpKCJzdGVwIiw1MCkoInZhbHVlIix0LmNhcmRNaW5XaWR0aCkoInRodW1iTGFiZWwiLCExKX19ZnVuY3Rpb24gQXl0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibWF0LXNsaWRlciIsMzIpLFJmKCJpbnB1dCIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKDIpLm9uU3RlcFN0YXJ0Q2hhbmdlZChuLnZhbHVlKX0pKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigyKTtiZigiZGlzYWJsZWQiLCF0LnNlbGVjdFRpbWVFbmFibGVkKSgibWluIix0LnN0ZXBNaW5NYXgubWluKSgibWF4Iix0LnN0ZXBNaW5NYXgubWF4KSgic3RlcCIsMSkoInZhbHVlIixudWxsPT10LnNlbGVjdGVkVGltZT9udWxsOnQuc2VsZWN0ZWRUaW1lLnN0YXJ0LnN0ZXApKCJ0aHVtYkxhYmVsIiwhMCl9fWZ1bmN0aW9uIFR5dCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsInRiLXJhbmdlLWlucHV0IiwzMyksUmYoInZhbHVlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25TdGVwUmFuZ2VDaGFuZ2VkKG4pfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJtaW4iLHQuc3RlcE1pbk1heC5taW4pKCJtYXgiLHQuc3RlcE1pbk1heC5tYXgpKCJsb3dlclZhbHVlIixudWxsPT10LnNlbGVjdGVkVGltZT9udWxsOnQuc2VsZWN0ZWRUaW1lLnN0YXJ0LnN0ZXApKCJ1cHBlclZhbHVlIixudWxsPT10LnNlbGVjdGVkVGltZXx8bnVsbD09dC5zZWxlY3RlZFRpbWUuZW5kP251bGw6dC5zZWxlY3RlZFRpbWUuZW5kLnN0ZXApLHltKCJkaXNhYmxlZCIsIXQuc2VsZWN0VGltZUVuYWJsZWQpfX1mdW5jdGlvbiBOeXQodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDI3KSxDZigxLCJsYWJlbCIpLFB1KDIsIkxpbmsgdmlzdWFsaXphdGlvbiBieSBzdGVwIiksTWYoKSxDZigzLCJkaXYiLDI4KSxDZig0LCJkaXYiKSxDZig1LCJtYXQtY2hlY2tib3giLDE2KSxSZigiY2hhbmdlIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLnNlbGVjdFRpbWVFbmFibGVUb2dnbGVkLmVtaXQoKX0pKSxQdSg2LCJFbmFibGVkIiksTWYoKSxNZigpLENmKDcsImRpdiIpLENmKDgsIm1hdC1jaGVja2JveCIsMTYpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkudXNlUmFuZ2VTZWxlY3RUaW1lVG9nZ2xlZC5lbWl0KCl9KSksUHUoOSwiVXNlIHJhbmdlIiksTWYoKSxNZigpLENmKDEwLCJkaXYiLDI5KSxIbSgxMSxBeXQsMSw2LCJtYXQtc2xpZGVyIiwzMCksSG0oMTIsVHl0LDEsNSwibmctdGVtcGxhdGUiLG51bGwsMzEscXkpLE1mKCksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD1GbSgxMyksZT16ZigpO0RjKDUpLGJmKCJjaGVja2VkIixlLnNlbGVjdFRpbWVFbmFibGVkKSxEYygzKSxiZigiY2hlY2tlZCIsZS51c2VSYW5nZVNlbGVjdFRpbWUpLERjKDMpLGJmKCJuZ0lmIiwhZS51c2VSYW5nZVNlbGVjdFRpbWUpKCJuZ0lmRWxzZSIsdCl9fWZ1bmN0aW9uIHp5dCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsInNlY3Rpb24iLDM0KSxDZigxLCJoMyIsMSksUHUoMiwiSW1hZ2VzIiksTWYoKSxDZigzLCJkaXYiLDM1KSxDZig0LCJkaXYiLDM2KSxQdSg1LCJCcmlnaHRuZXNzIiksTWYoKSxDZig2LCJkaXYiLDEwKSxDZig3LCJtYXQtc2xpZGVyIiwzNyksUmYoImlucHV0IiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5pbWFnZUJyaWdodG5lc3NTbGlkZXJDaGFuZ2VkJC5lbWl0KG4udmFsdWUpfSkpLE1mKCksQ2YoOCwiYnV0dG9uIiwzOCksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLmltYWdlQnJpZ2h0bmVzc1Jlc2V0LmVtaXQoKX0pKSx2Zig5LCJtYXQtaWNvbiIsMjYpLE1mKCksTWYoKSxNZigpLENmKDEwLCJkaXYiLDM5KSxDZigxMSwiZGl2Iiw0MCksUHUoMTIsIkNvbnRyYXN0IiksTWYoKSxDZigxMywiZGl2IiwxMCksQ2YoMTQsIm1hdC1zbGlkZXIiLDQxKSxSZigiaW5wdXQiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLmltYWdlQ29udHJhc3RTbGlkZXJDaGFuZ2VkJC5lbWl0KG4udmFsdWUpfSkpLE1mKCksQ2YoMTUsImJ1dHRvbiIsNDIpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5pbWFnZUNvbnRyYXN0UmVzZXQuZW1pdCgpfSkpLHZmKDE2LCJtYXQtaWNvbiIsMjYpLE1mKCksTWYoKSxNZigpLENmKDE3LCJkaXYiLDQzKSxDZigxOCwibWF0LWNoZWNrYm94IiwxNiksUmYoImNoYW5nZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkuaW1hZ2VTaG93QWN0dWFsU2l6ZUNoYW5nZWQuZW1pdChuLmNoZWNrZWQpfSkpLFB1KDE5LCJTaG93IGFjdHVhbCBpbWFnZSBzaXplIiksTWYoKSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7RGMoNyksYmYoIm1heCIsMmUzKSgibWluIiwwKSgic3RlcCIsMTApKCJ2YWx1ZSIsdC5pbWFnZUJyaWdodG5lc3NJbk1pbGxpKSgidGh1bWJMYWJlbCIsITApKCJkaXNwbGF5V2l0aCIsdC5mb3JtYXRNaWxsaVRvWmVyb3RoKSxEYyg3KSxiZigibWF4Iiw1ZTMpKCJtaW4iLDApKCJzdGVwIiwxMCkoInZhbHVlIix0LmltYWdlQ29udHJhc3RJbk1pbGxpKSgidGh1bWJMYWJlbCIsITApKCJkaXNwbGF5V2l0aCIsdC5mb3JtYXRNaWxsaVRvWmVyb3RoKSxEYyg0KSxiZigiY2hlY2tlZCIsdC5pbWFnZVNob3dBY3R1YWxTaXplKX19Unl0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxSeXQpfSxSeXQuybVjbXA9c28oe3R5cGU6Unl0LHNlbGVjdG9yczpbWyJ0Yi1kcm9wZG93biJdXSxpbnB1dHM6e3ZhbHVlOiJ2YWx1ZSIsb3B0aW9uczoib3B0aW9ucyJ9LG91dHB1dHM6e3NlbGVjdGlvbkNoYW5nZToic2VsZWN0aW9uQ2hhbmdlIn0sZGVjbHM6Mix2YXJzOjIsY29uc3RzOltbMywidmFsdWUiLCJzZWxlY3Rpb25DaGFuZ2UiXSxbMywidmFsdWUiLCJkaXNhYmxlZCIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzMsInZhbHVlIiwiZGlzYWJsZWQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsIm1hdC1zZWxlY3QiLDApLFJmKCJzZWxlY3Rpb25DaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnNlbGVjdGlvbkNoYW5nZS5lbWl0KGUudmFsdWUpfSkpLEhtKDEsRHl0LDIsMywibWF0LW9wdGlvbiIsMSksTWYoKSksMiZlJiYoYmYoInZhbHVlIixuLnZhbHVlKSxEYygxKSxiZigibmdGb3JPZiIsbi5vcHRpb25zKSl9LGRpcmVjdGl2ZXM6W09ZLHh2LFBMXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MXB4IHNvbGlkICM4ZTk4YTM7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6NnB4fW1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVdOmZvY3Vze291dGxpbmUtY29sb3I6LXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO291dGxpbmUtc3R5bGU6YXV0b30gIC5tYXQtc2VsZWN0LXBhbmVse21heC13aWR0aDo3MHZ3fSAgbWF0LW9wdGlvbi5tYXQtb3B0aW9ue2hlaWdodDphdXRvfSAgLm1hdC1vcHRpb24tdGV4dHt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC1icmVhazpicmVhay1hbGx9J119KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFJ5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJ0Yi1kcm9wZG93biIsdGVtcGxhdGU6J1xuICAgIDxtYXQtc2VsZWN0XG4gICAgICBbdmFsdWVdPSJ2YWx1ZSJcbiAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPSJzZWxlY3Rpb25DaGFuZ2UuZW1pdCgkZXZlbnQudmFsdWUpIlxuICAgID5cbiAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj0ibGV0IG9wdGlvbiBvZiBvcHRpb25zIlxuICAgICAgICBbdmFsdWVdPSJvcHRpb24udmFsdWUiXG4gICAgICAgIFtkaXNhYmxlZF09Im9wdGlvbi5kaXNhYmxlZCJcbiAgICAgID5cbiAgICAgICAge3sgb3B0aW9uLmRpc3BsYXlUZXh0IH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9tYXQtc2VsZWN0PlxuICAnLHN0eWxlVXJsczpbImRyb3Bkb3duX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCx7dmFsdWU6W3t0eXBlOlJffV0sb3B0aW9uczpbe3R5cGU6Ul99XSxzZWxlY3Rpb25DaGFuZ2U6W3t0eXBlOkVffV19KTtjb25zdCBJeXQ9MjUwO2NsYXNzIEh5dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLmxvY2FsZT10LHRoaXMuc2VsZWN0VGltZUVuYWJsZVRvZ2dsZWQ9bmV3IFN5LHRoaXMudXNlUmFuZ2VTZWxlY3RUaW1lVG9nZ2xlZD1uZXcgU3ksdGhpcy5zZWxlY3RUaW1lQ2hhbmdlZD1uZXcgU3ksdGhpcy5Ub29sdGlwU29ydERyb3Bkb3duT3B0aW9ucz1be3ZhbHVlOkpULkFMUEhBQkVUSUNBTCxkaXNwbGF5VGV4dDoiQWxwaGFiZXRpY2FsIn0se3ZhbHVlOkpULkFTQ0VORElORyxkaXNwbGF5VGV4dDoiQXNjZW5kaW5nIn0se3ZhbHVlOkpULkRFU0NFTkRJTkcsZGlzcGxheVRleHQ6IkRlc2NlbmRpbmcifSx7dmFsdWU6SlQuTkVBUkVTVCxkaXNwbGF5VGV4dDoiTmVhcmVzdCJ9XSx0aGlzLnRvb2x0aXBTb3J0Q2hhbmdlZD1uZXcgU3ksdGhpcy5pZ25vcmVPdXRsaWVyc0NoYW5nZWQ9bmV3IFN5LHRoaXMuWEF4aXNUeXBlPVFULHRoaXMuWEF4aXNUeXBlRHJvcGRvd25PcHRpb25zPVt7dmFsdWU6UVQuU1RFUCxkaXNwbGF5VGV4dDoiU3RlcCJ9LHt2YWx1ZTpRVC5SRUxBVElWRSxkaXNwbGF5VGV4dDoiUmVsYXRpdmUifSx7dmFsdWU6UVQuV0FMTF9USU1FLGRpc3BsYXlUZXh0OiJXYWxsIn1dLHRoaXMueEF4aXNUeXBlQ2hhbmdlZD1uZXcgU3ksdGhpcy5NQVhfQ0FSRF9XSURUSF9TTElERVJfVkFMVUU9NzM1LHRoaXMuTUlOX0NBUkRfV0lEVEhfU0xJREVSX1ZBTFVFPTMzNSx0aGlzLmNhcmRXaWR0aFNsaWRlckNoYW5nZWQkPW5ldyBTeSx0aGlzLmNhcmRXaWR0aENoYW5nZWQ9dGhpcy5jYXJkV2lkdGhTbGlkZXJDaGFuZ2VkJC5waXBlKGdlKEl5dCkpLHRoaXMuY2FyZFdpZHRoUmVzZXQ9bmV3IFN5LHRoaXMuSGlzdG9ncmFtTW9kZURyb3Bkb3duT3B0aW9ucz1be3ZhbHVlOmpFLk9GRlNFVCxkaXNwbGF5VGV4dDoiT2Zmc2V0In0se3ZhbHVlOmpFLk9WRVJMQVksZGlzcGxheVRleHQ6Ik92ZXJsYXkifV0sdGhpcy5oaXN0b2dyYW1Nb2RlQ2hhbmdlZD1uZXcgU3ksdGhpcy5NQVhfU01PT1RISU5HX1ZBTFVFPS45OTksdGhpcy5NQVhfU01PT1RISU5HX1NMSURFUl9WQUxVRT0uOTksdGhpcy5zY2FsYXJTbW9vdGhpbmdDb250cm9sQ2hhbmdlZCQ9bmV3IFN5LHRoaXMuc2NhbGFyU21vb3RoaW5nQ2hhbmdlZD10aGlzLnNjYWxhclNtb290aGluZ0NvbnRyb2xDaGFuZ2VkJC5waXBlKGdlKEl5dCkpLHRoaXMuc2NhbGFyUGFydGl0aW9uWFRvZ2dsZWQ9bmV3IFN5LHRoaXMuaW1hZ2VCcmlnaHRuZXNzU2xpZGVyQ2hhbmdlZCQ9bmV3IFN5LHRoaXMuaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaUNoYW5nZWQ9dGhpcy5pbWFnZUJyaWdodG5lc3NTbGlkZXJDaGFuZ2VkJC5waXBlKGdlKEl5dCkpLHRoaXMuaW1hZ2VCcmlnaHRuZXNzUmVzZXQ9bmV3IFN5LHRoaXMuaW1hZ2VDb250cmFzdFNsaWRlckNoYW5nZWQkPW5ldyBTeSx0aGlzLmltYWdlQ29udHJhc3RJbk1pbGxpQ2hhbmdlZD10aGlzLmltYWdlQ29udHJhc3RTbGlkZXJDaGFuZ2VkJC5waXBlKGdlKEl5dCkpLHRoaXMuaW1hZ2VDb250cmFzdFJlc2V0PW5ldyBTeSx0aGlzLmltYWdlU2hvd0FjdHVhbFNpemVDaGFuZ2VkPW5ldyBTeX1vblNjYWxhclNtb290aGluZ0lucHV0KHQpe2NvbnN0IGU9dC50YXJnZXQ7aWYoIWUudmFsdWUpcmV0dXJuO2NvbnN0IG49TWF0aC5taW4oTWF0aC5tYXgoMCxwYXJzZUZsb2F0KGUudmFsdWUpKSwuOTk5KTtuIT09cGFyc2VGbG9hdChlLnZhbHVlKSYmKGUudmFsdWU9U3RyaW5nKG4pKSx0aGlzLnNjYWxhclNtb290aGluZ0NvbnRyb2xDaGFuZ2VkJC5lbWl0KG4pfWZvcm1hdE1pbGxpVG9aZXJvdGgodCl7cmV0dXJuIGZ2KHQvMWUzLHRoaXMubG9jYWxlfHwiZW4tVVMiLCIxLjAtMiIpfW9uU3RlcFN0YXJ0Q2hhbmdlZCh0KXt0aGlzLnNlbGVjdFRpbWVDaGFuZ2VkLmVtaXQoe3N0YXJ0OntzdGVwOnR9LGVuZDpudWxsfSl9b25TdGVwUmFuZ2VDaGFuZ2VkKHtsb3dlclZhbHVlOnQsdXBwZXJWYWx1ZTplfSl7dGhpcy5zZWxlY3RUaW1lQ2hhbmdlZC5lbWl0KHtzdGFydDp7c3RlcDp0fSxlbmQ6e3N0ZXA6ZX19KX19SHl0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxIeXQpKGdmKFFfKSl9LEh5dC7JtWNtcD1zbyh7dHlwZTpIeXQsc2VsZWN0b3JzOltbIm1ldHJpY3MtZGFzaGJvYXJkLXNldHRpbmdzLWNvbXBvbmVudCJdXSxpbnB1dHM6e2lzQ2FyZFdpZHRoU2V0dGluZ0VuYWJsZWQ6ImlzQ2FyZFdpZHRoU2V0dGluZ0VuYWJsZWQiLGlzTGlua2VkVGltZUZlYXR1cmVFbmFibGVkOiJpc0xpbmtlZFRpbWVGZWF0dXJlRW5hYmxlZCIsc2VsZWN0VGltZUVuYWJsZWQ6InNlbGVjdFRpbWVFbmFibGVkIix1c2VSYW5nZVNlbGVjdFRpbWU6InVzZVJhbmdlU2VsZWN0VGltZSIsc2VsZWN0ZWRUaW1lOiJzZWxlY3RlZFRpbWUiLHN0ZXBNaW5NYXg6InN0ZXBNaW5NYXgiLGlzSW1hZ2VTdXBwb3J0RW5hYmxlZDoiaXNJbWFnZVN1cHBvcnRFbmFibGVkIix0b29sdGlwU29ydDoidG9vbHRpcFNvcnQiLGlnbm9yZU91dGxpZXJzOiJpZ25vcmVPdXRsaWVycyIseEF4aXNUeXBlOiJ4QXhpc1R5cGUiLGNhcmRNaW5XaWR0aDoiY2FyZE1pbldpZHRoIixoaXN0b2dyYW1Nb2RlOiJoaXN0b2dyYW1Nb2RlIixzY2FsYXJTbW9vdGhpbmc6InNjYWxhclNtb290aGluZyIsc2NhbGFyUGFydGl0aW9uWDoic2NhbGFyUGFydGl0aW9uWCIsaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaToiaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaSIsaW1hZ2VDb250cmFzdEluTWlsbGk6ImltYWdlQ29udHJhc3RJbk1pbGxpIixpbWFnZVNob3dBY3R1YWxTaXplOiJpbWFnZVNob3dBY3R1YWxTaXplIn0sb3V0cHV0czp7c2VsZWN0VGltZUVuYWJsZVRvZ2dsZWQ6InNlbGVjdFRpbWVFbmFibGVUb2dnbGVkIix1c2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkOiJ1c2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkIixzZWxlY3RUaW1lQ2hhbmdlZDoic2VsZWN0VGltZUNoYW5nZWQiLHRvb2x0aXBTb3J0Q2hhbmdlZDoidG9vbHRpcFNvcnRDaGFuZ2VkIixpZ25vcmVPdXRsaWVyc0NoYW5nZWQ6Imlnbm9yZU91dGxpZXJzQ2hhbmdlZCIseEF4aXNUeXBlQ2hhbmdlZDoieEF4aXNUeXBlQ2hhbmdlZCIsY2FyZFdpZHRoQ2hhbmdlZDoiY2FyZFdpZHRoQ2hhbmdlZCIsY2FyZFdpZHRoUmVzZXQ6ImNhcmRXaWR0aFJlc2V0IixoaXN0b2dyYW1Nb2RlQ2hhbmdlZDoiaGlzdG9ncmFtTW9kZUNoYW5nZWQiLHNjYWxhclNtb290aGluZ0NoYW5nZWQ6InNjYWxhclNtb290aGluZ0NoYW5nZWQiLHNjYWxhclBhcnRpdGlvblhUb2dnbGVkOiJzY2FsYXJQYXJ0aXRpb25YVG9nZ2xlZCIsaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaUNoYW5nZWQ6ImltYWdlQnJpZ2h0bmVzc0luTWlsbGlDaGFuZ2VkIixpbWFnZUJyaWdodG5lc3NSZXNldDoiaW1hZ2VCcmlnaHRuZXNzUmVzZXQiLGltYWdlQ29udHJhc3RJbk1pbGxpQ2hhbmdlZDoiaW1hZ2VDb250cmFzdEluTWlsbGlDaGFuZ2VkIixpbWFnZUNvbnRyYXN0UmVzZXQ6ImltYWdlQ29udHJhc3RSZXNldCIsaW1hZ2VTaG93QWN0dWFsU2l6ZUNoYW5nZWQ6ImltYWdlU2hvd0FjdHVhbFNpemVDaGFuZ2VkIn0sZGVjbHM6MzcsdmFyczoxOCxjb25zdHM6ZnVuY3Rpb24oKXtsZXQgdCxlLG47aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe3Q9Z29vZy5nZXRNc2coIlJlc2V0IGNhcmQgd2lkdGgiKX1lbHNlIHQ9JGxvY2FsaXplYDpBIGJ1dHRvbiB0byByZXNldCB0aGUgY2FyZCB3aWR0aCBzZXR0aW5n4pCfY2NkYzk2YjAwM2ZiYmE5MGRiN2E2OTU5YjViMjZlM2NjNThmN2Q4MOKQnzUyMjMxMTEwNDc5NjgxMDI0NjY6UmVzZXQgY2FyZCB3aWR0aGA7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe2U9Z29vZy5nZXRNc2coIlJlc2V0IGJyaWdodG5lc3MiKX1lbHNlIGU9JGxvY2FsaXplYDpBIGJ1dHRvbiB0byByZXNldCB0aGUgaW1hZ2UgYnJpZ2h0bmVzcyBzZXR0aW5n4pCfYzQ4MmIzYTQ3ZWEwOTc1ZmE4YmUwMWFmYjNmYmVjOWI3NjYyOGJkN+KQnzExODkxNjE4NTcyNDAzNzgzOTU6UmVzZXQgYnJpZ2h0bmVzc2A7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe249Z29vZy5nZXRNc2coIlJlc2V0IGNvbnRyYXN0Iil9ZWxzZSBuPSRsb2NhbGl6ZWA6QSBidXR0b24gdG8gcmVzZXQgdGhlIGltYWdlIGNvbnRyYXN0IHNldHRpbmfikJ9lZDcxMmE4YjkyNzA0MWJlMTUyNTJiMjllYjUyMWViYjEzNzRiYWQ44pCfNTM3MDcwMzM0MjkyMzYxMTk1NTpSZXNldCBjb250cmFzdGA7cmV0dXJuW1sxLCJnZW5lcmFsIl0sWzEsInNlY3Rpb24tdGl0bGUiXSxbMSwiY29udHJvbC1yb3ciLCJ4LWF4aXMtdHlwZSJdLFsiaWQiLCJ4LWF4aXMtdHlwZS1sYWJlbCIsMSwiY29udHJvbC1uYW1lIl0sWzMsInZhbHVlIiwib3B0aW9ucyIsInNlbGVjdGlvbkNoYW5nZSJdLFsiY2xhc3MiLCJjb250cm9sLXJvdyBjYXJkLXdpZHRoIiw0LCJuZ0lmIl0sWyJjbGFzcyIsImNvbnRyb2wtcm93IGxpbmtlZC10aW1lIiw0LCJuZ0lmIl0sWzEsInNjYWxhcnMiXSxbMSwiY29udHJvbC1yb3ciLCJzY2FsYXJzLXNtb290aGluZyJdLFsiaWQiLCJzY2FsYXJzLXNtb290aGluZy1sYWJlbCIsMSwiY29udHJvbC1uYW1lIl0sWzEsInNsaWRlci1yb3ciXSxbImFyaWEtbGFiZWxsZWRieSIsInNjYWxhcnMtc21vb3RoaW5nLWxhYmVsIiwiY29sb3IiLCJwcmltYXJ5IiwzLCJtYXgiLCJtaW4iLCJzdGVwIiwidmFsdWUiLCJ0aHVtYkxhYmVsIiwiaW5wdXQiXSxbImFyaWEtbGFiZWxsZWRieSIsInNjYWxhcnMtc21vb3RoaW5nLWxhYmVsIiwidHlwZSIsIm51bWJlciIsIm1pbiIsIjAiLCJzdGVwIiwiMC4wMDEiLDEsInNsaWRlci1pbnB1dCIsMywibWF4IiwidmFsdWUiLCJpbnB1dCJdLFsxLCJjb250cm9sLXJvdyIsInRvb2x0aXAtc29ydCJdLFsxLCJjb250cm9sLW5hbWUiXSxbMSwiY29udHJvbC1yb3ciLCJzY2FsYXJzLWlnbm9yZS1vdXRsaWVycyJdLFszLCJjaGVja2VkIiwiY2hhbmdlIl0sWzEsImNvbnRyb2wtcm93Iiwic2NhbGFycy1wYXJ0aXRpb24teCJdLFsic3ZnSWNvbiIsImhlbHBfb3V0bGluZV8yNHB4IiwidGl0bGUiLCJOb24tbW9ub3RvbmljIHN0ZXBzIGNhbiBvY2N1ciB3aGVuIHJldXNpbmcgYSBsb2dkaXIgd2l0aCBtdWx0aXBsZSBzdW1tYXJ5IHdyaXRlcnMgYW5kIG92ZXJsYXBwaW5nIHN0ZXBzLiBMaW5lIGNoYXJ0cywgd2l0aG91dCB0aGlzIG9wdGlvbiBlbmFibGVkLCBjYW4gYXBwZWFyIHppZyB6YWdnZWQuIFRoaXMgaXMgY29tbW9uIHdoZW4gcmVzdGFydGluZyBmcm9tIGEgY2hlY2twb2ludC5cblxuV2hlbiBlbmFibGVkLCBhIG5vbi1tb25vdG9uaWMgdGltZSBzZXJpZXMgY29tcG9zZWQgb2YgTiBtb25vdG9uaWMgcGllY2VzIHdpbGwgYmUgc2hvd24gYXMgTiBtb25vdG9uaWMgbGluZXMuIiwxLCJpbmZvIl0sWzEsIkhpc3RvZ3JhbXMiXSxbMSwiY29udHJvbC1yb3ciLCJoaXN0b2dyYW0tbW9kZSJdLFsiY2xhc3MiLCJpbWFnZSIsNCwibmdJZiJdLFsxLCJjb250cm9sLXJvdyIsImNhcmQtd2lkdGgiXSxbImlkIiwiY2FyZC13aWR0aC1sYWJlbCIsMSwiY29udHJvbC1uYW1lIl0sWyJhcmlhLWxhYmVsbGVkYnkiLCJjYXJkLXdpZHRoLWxhYmVsIiwiY29sb3IiLCJwcmltYXJ5IiwzLCJtYXgiLCJtaW4iLCJzdGVwIiwidmFsdWUiLCJ0aHVtYkxhYmVsIiwiaW5wdXQiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsInRpdGxlIiwiUmVzZXQgY2FyZCB3aWR0aCIsMSwicmVzZXQtYnV0dG9uIiwzLCJjbGljayJdLFsic3ZnSWNvbiIsInNldHRpbmdzX2JhY2t1cF9yZXN0b3JlXzI0cHgiXSxbMSwiY29udHJvbC1yb3ciLCJsaW5rZWQtdGltZSJdLFsxLCJjb250cm9scyJdLFsxLCJzdGVwLXNlbGVjdG9yIl0sWyJjb2xvciIsInByaW1hcnkiLDMsImRpc2FibGVkIiwibWluIiwibWF4Iiwic3RlcCIsInZhbHVlIiwidGh1bWJMYWJlbCIsImlucHV0Iiw0LCJuZ0lmIiwibmdJZkVsc2UiXSxbInJhbmdlIiwiIl0sWyJjb2xvciIsInByaW1hcnkiLDMsImRpc2FibGVkIiwibWluIiwibWF4Iiwic3RlcCIsInZhbHVlIiwidGh1bWJMYWJlbCIsImlucHV0Il0sWzMsIm1pbiIsIm1heCIsImxvd2VyVmFsdWUiLCJ1cHBlclZhbHVlIiwidmFsdWUiXSxbMSwiaW1hZ2UiXSxbMSwiY29udHJvbC1yb3ciLCJpbWFnZS1icmlnaHRuZXNzIl0sWyJpZCIsImltYWdlLWJyaWdodG5lc3MtbGFiZWwiLDEsImNvbnRyb2wtbmFtZSJdLFsiYXJpYS1sYWJlbGxlZGJ5IiwiaW1hZ2UtYnJpZ2h0bmVzcy1sYWJlbCIsImNvbG9yIiwicHJpbWFyeSIsMywibWF4IiwibWluIiwic3RlcCIsInZhbHVlIiwidGh1bWJMYWJlbCIsImRpc3BsYXlXaXRoIiwiaW5wdXQiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLGUsInRpdGxlIiwiUmVzZXQgYnJpZ2h0bmVzcyIsMSwicmVzZXQtYnV0dG9uIiwzLCJjbGljayJdLFsxLCJjb250cm9sLXJvdyIsImltYWdlLWNvbnRyYXN0Il0sWyJpZCIsImltYWdlLWNvbnN0cmFzdC1sYWJlbCIsMSwiY29udHJvbC1uYW1lIl0sWyJhcmlhLWxhYmVsbGVkYnkiLCJpbWFnZS1jb25zdHJhc3QtbGFiZWwiLCJjb2xvciIsInByaW1hcnkiLDMsIm1heCIsIm1pbiIsInN0ZXAiLCJ2YWx1ZSIsInRodW1iTGFiZWwiLCJkaXNwbGF5V2l0aCIsImlucHV0Il0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJhcmlhLWxhYmVsIixuLCJ0aXRsZSIsIlJlc2V0IGNvbnRyYXN0IiwxLCJyZXNldC1idXR0b24iLDMsImNsaWNrIl0sWzEsImNvbnRyb2wtcm93IiwiaW1hZ2Utc2hvdy1hY3R1YWwtc2l6ZSJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsInNlY3Rpb24iLDApLENmKDEsImgzIiwxKSxQdSgyLCJHZW5lcmFsIiksTWYoKSxDZigzLCJkaXYiLDIpLENmKDQsImRpdiIsMyksUHUoNSwiSG9yaXpvbnRhbCBBeGlzIiksTWYoKSxDZig2LCJ0Yi1kcm9wZG93biIsNCksUmYoInNlbGVjdGlvbkNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ueEF4aXNUeXBlQ2hhbmdlZC5lbWl0KGUpfSkpLE1mKCksTWYoKSxIbSg3LEV5dCw3LDUsImRpdiIsNSksSG0oOCxOeXQsMTQsNCwiZGl2Iiw2KSxNZigpLENmKDksInNlY3Rpb24iLDcpLENmKDEwLCJoMyIsMSksUHUoMTEsIlNjYWxhcnMiKSxNZigpLENmKDEyLCJkaXYiLDgpLENmKDEzLCJkaXYiLDkpLFB1KDE0LCJTbW9vdGhpbmciKSxNZigpLENmKDE1LCJkaXYiLDEwKSxDZigxNiwibWF0LXNsaWRlciIsMTEpLFJmKCJpbnB1dCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uc2NhbGFyU21vb3RoaW5nQ29udHJvbENoYW5nZWQkLmVtaXQoZS52YWx1ZSl9KSksTWYoKSxDZigxNywiaW5wdXQiLDEyKSxSZigiaW5wdXQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uU2NhbGFyU21vb3RoaW5nSW5wdXQoZSl9KSksTWYoKSxNZigpLE1mKCksQ2YoMTgsImRpdiIsMTMpLENmKDE5LCJkaXYiLDE0KSxQdSgyMCwiVG9vbHRpcCBzb3J0aW5nIG1ldGhvZCIpLE1mKCksQ2YoMjEsInRiLWRyb3Bkb3duIiw0KSxSZigic2VsZWN0aW9uQ2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi50b29sdGlwU29ydENoYW5nZWQuZW1pdChlKX0pKSxNZigpLE1mKCksQ2YoMjIsImRpdiIsMTUpLENmKDIzLCJtYXQtY2hlY2tib3giLDE2KSxSZigiY2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5pZ25vcmVPdXRsaWVyc0NoYW5nZWQuZW1pdChlLmNoZWNrZWQpfSkpLFB1KDI0LCJJZ25vcmUgb3V0bGllcnMgaW4gY2hhcnQgc2NhbGluZyIpLE1mKCksTWYoKSxDZigyNSwiZGl2IiwxNyksQ2YoMjYsIm1hdC1jaGVja2JveCIsMTYpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uc2NhbGFyUGFydGl0aW9uWFRvZ2dsZWQuZW1pdCgpfSkpLFB1KDI3LCJQYXJ0aXRpb24gbm9uLW1vbm90b25pYyBYIGF4aXMiKSxNZigpLHZmKDI4LCJtYXQtaWNvbiIsMTgpLE1mKCksTWYoKSxDZigyOSwic2VjdGlvbiIsMTkpLENmKDMwLCJoMyIsMSksUHUoMzEsIkhpc3RvZ3JhbXMiKSxNZigpLENmKDMyLCJkaXYiLDIwKSxDZigzMywiZGl2IiwxNCksUHUoMzQsIk1vZGUiKSxNZigpLENmKDM1LCJ0Yi1kcm9wZG93biIsNCksUmYoInNlbGVjdGlvbkNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uaGlzdG9ncmFtTW9kZUNoYW5nZWQuZW1pdChlKX0pKSxNZigpLE1mKCksTWYoKSxIbSgzNix6eXQsMjAsMTMsInNlY3Rpb24iLDIxKSksMiZlJiYoRGMoNiksYmYoInZhbHVlIixuLnhBeGlzVHlwZSkoIm9wdGlvbnMiLG4uWEF4aXNUeXBlRHJvcGRvd25PcHRpb25zKSxEYygxKSxiZigibmdJZiIsbi5pc0NhcmRXaWR0aFNldHRpbmdFbmFibGVkKSxEYygxKSxiZigibmdJZiIsbi5pc0xpbmtlZFRpbWVGZWF0dXJlRW5hYmxlZCYmbi54QXhpc1R5cGU9PW4uWEF4aXNUeXBlLlNURVApLERjKDgpLGJmKCJtYXgiLG4uTUFYX1NNT09USElOR19TTElERVJfVkFMVUUpKCJtaW4iLDApKCJzdGVwIiwuMDEpKCJ2YWx1ZSIsbi5zY2FsYXJTbW9vdGhpbmcpKCJ0aHVtYkxhYmVsIiwhMCksRGMoMSksYmYoIm1heCIsbi5NQVhfU01PT1RISU5HX1ZBTFVFKSgidmFsdWUiLG4uc2NhbGFyU21vb3RoaW5nKSxEYyg0KSxiZigidmFsdWUiLG4udG9vbHRpcFNvcnQpKCJvcHRpb25zIixuLlRvb2x0aXBTb3J0RHJvcGRvd25PcHRpb25zKSxEYygyKSxiZigiY2hlY2tlZCIsbi5pZ25vcmVPdXRsaWVycyksRGMoMyksYmYoImNoZWNrZWQiLG4uc2NhbGFyUGFydGl0aW9uWCksRGMoOSksYmYoInZhbHVlIixuLmhpc3RvZ3JhbU1vZGUpKCJvcHRpb25zIixuLkhpc3RvZ3JhbU1vZGVEcm9wZG93bk9wdGlvbnMpLERjKDEpLGJmKCJuZ0lmIixuLmlzSW1hZ2VTdXBwb3J0RW5hYmxlZCkpfSxkaXJlY3RpdmVzOltSeXQsUHYsd0osYlosTXEsTkwsRTJdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17Y29sb3I6IzYxNjE2MTtmb250LXNpemU6MTJweH1ib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9c2VjdGlvbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtwYWRkaW5nOjE2cHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgc2VjdGlvbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIHNlY3Rpb25bX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9LnNlY3Rpb24tdGl0bGVbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiMyMTIxMjE7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDpub3JtYWw7bWFyZ2luOjAgMCAxMnB4IDB9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnNlY3Rpb24tdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc2VjdGlvbi10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6I2ZmZn1zZWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jb250cm9sLXJvd1tfbmdjb250ZW50LSVDT01QJV06bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tYm90dG9tOjEycHh9LmNvbnRyb2wtbmFtZVtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLWJvdHRvbTo4cHh9LnNsaWRlci1yb3dbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjI4cHh9LnNsaWRlci1yb3dbX25nY29udGVudC0lQ09NUCVdICAgLnJlc2V0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLWxlZnQ6NnB4fS5zbGlkZXItcm93W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5zbGlkZXItaW5wdXRbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6aW5oZXJpdDtib3JkZXI6MXB4IHNvbGlkICM4ZTk4YTM7Ym9yZGVyLXJhZGl1czoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOmluaGVyaXQ7aGVpZ2h0OjEwMCU7bWFyZ2luLWxlZnQ6MTJweDtwYWRkaW5nOjAgNHB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5zbGlkZXItcm93W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5zbGlkZXItaW5wdXRbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc2xpZGVyLXJvd1tfbmdjb250ZW50LSVDT01QJV0gICAuc2xpZGVyLWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItY29sb3I6IzQyNTA2Nn0uc2NhbGFycy1zbW9vdGhpbmdbX25nY29udGVudC0lQ09NUCVdICAgLnNsaWRlci1pbnB1dFtfbmdjb250ZW50LSVDT01QJV17ZmxleDpub25lO3dpZHRoOjVlbX0uc2NhbGFycy1wYXJ0aXRpb24teFtfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uc2NhbGFycy1wYXJ0aXRpb24teFtfbmdjb250ZW50LSVDT01QJV0gICAuaW5mb1tfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjE1cHg7bWFyZ2luLWxlZnQ6NXB4O3dpZHRoOjE1cHh9bWF0LXNsaWRlcltfbmdjb250ZW50LSVDT01QJV17ZmxleDoxO21hcmdpbi1sZWZ0Oi04cHg7bWFyZ2luLXJpZ2h0Oi04cHh9dGItZHJvcGRvd25bX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6YmxvY2t9LmxpbmtlZC10aW1lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5zdGVwLXNlbGVjdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjAgMTBweH0ubGlua2VkLXRpbWVbX25nY29udGVudC0lQ09NUCVdICAgbWF0LXNsaWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5saW5rZWQtdGltZVtfbmdjb250ZW50LSVDT01QJV0gICB0Yi1yYW5nZS1pbnB1dFtfbmdjb250ZW50LSVDT01QJV17d2lkdGg6MTAwJX0ubGlua2VkLXRpbWVbX25nY29udGVudC0lQ09NUCVdICAgLmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjVweH0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSHl0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtZGFzaGJvYXJkLXNldHRpbmdzLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6InNldHRpbmdzX3ZpZXdfY29tcG9uZW50Lm5nLmh0bWwiLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsc3R5bGVVcmxzOlsic2V0dGluZ3Nfdmlld19jb21wb25lbnQuY3NzIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbUV9dfV19XX0pLHtpc0NhcmRXaWR0aFNldHRpbmdFbmFibGVkOlt7dHlwZTpSX31dLGlzTGlua2VkVGltZUZlYXR1cmVFbmFibGVkOlt7dHlwZTpSX31dLHNlbGVjdFRpbWVFbmFibGVkOlt7dHlwZTpSX31dLHVzZVJhbmdlU2VsZWN0VGltZTpbe3R5cGU6Ul99XSxzZWxlY3RlZFRpbWU6W3t0eXBlOlJffV0sc3RlcE1pbk1heDpbe3R5cGU6Ul99XSxzZWxlY3RUaW1lRW5hYmxlVG9nZ2xlZDpbe3R5cGU6RV99XSx1c2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkOlt7dHlwZTpFX31dLHNlbGVjdFRpbWVDaGFuZ2VkOlt7dHlwZTpFX31dLGlzSW1hZ2VTdXBwb3J0RW5hYmxlZDpbe3R5cGU6Ul99XSx0b29sdGlwU29ydDpbe3R5cGU6Ul99XSx0b29sdGlwU29ydENoYW5nZWQ6W3t0eXBlOkVffV0saWdub3JlT3V0bGllcnM6W3t0eXBlOlJffV0saWdub3JlT3V0bGllcnNDaGFuZ2VkOlt7dHlwZTpFX31dLHhBeGlzVHlwZTpbe3R5cGU6Ul99XSx4QXhpc1R5cGVDaGFuZ2VkOlt7dHlwZTpFX31dLGNhcmRNaW5XaWR0aDpbe3R5cGU6Ul99XSxjYXJkV2lkdGhDaGFuZ2VkOlt7dHlwZTpFX31dLGNhcmRXaWR0aFJlc2V0Olt7dHlwZTpFX31dLGhpc3RvZ3JhbU1vZGU6W3t0eXBlOlJffV0saGlzdG9ncmFtTW9kZUNoYW5nZWQ6W3t0eXBlOkVffV0sc2NhbGFyU21vb3RoaW5nOlt7dHlwZTpSX31dLHNjYWxhclNtb290aGluZ0NoYW5nZWQ6W3t0eXBlOkVffV0sc2NhbGFyUGFydGl0aW9uWDpbe3R5cGU6Ul99XSxzY2FsYXJQYXJ0aXRpb25YVG9nZ2xlZDpbe3R5cGU6RV99XSxpbWFnZUJyaWdodG5lc3NJbk1pbGxpOlt7dHlwZTpSX31dLGltYWdlQnJpZ2h0bmVzc0luTWlsbGlDaGFuZ2VkOlt7dHlwZTpFX31dLGltYWdlQnJpZ2h0bmVzc1Jlc2V0Olt7dHlwZTpFX31dLGltYWdlQ29udHJhc3RJbk1pbGxpOlt7dHlwZTpSX31dLGltYWdlQ29udHJhc3RJbk1pbGxpQ2hhbmdlZDpbe3R5cGU6RV99XSxpbWFnZUNvbnRyYXN0UmVzZXQ6W3t0eXBlOkVffV0saW1hZ2VTaG93QWN0dWFsU2l6ZTpbe3R5cGU6Ul99XSxpbWFnZVNob3dBY3R1YWxTaXplQ2hhbmdlZDpbe3R5cGU6RV99XX0pO2NsYXNzIEZ5dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5pc0NhcmRXaWR0aFNldHRpbmdFbmFibGVkJD10aGlzLnN0b3JlLnNlbGVjdChxRCksdGhpcy5pc0xpbmtlZFRpbWVGZWF0dXJlRW5hYmxlZCQ9dGhpcy5zdG9yZS5zZWxlY3QoR0QpLHRoaXMuc2VsZWN0VGltZUVuYWJsZWQkPXRoaXMuc3RvcmUuc2VsZWN0KGt6KSx0aGlzLnVzZVJhbmdlU2VsZWN0VGltZSQ9dGhpcy5zdG9yZS5zZWxlY3QoU3opLHRoaXMuc2VsZWN0ZWRUaW1lJD10aGlzLnN0b3JlLnNlbGVjdChSeiksdGhpcy5zdGVwTWluTWF4JD10aGlzLnN0b3JlLnNlbGVjdChEeiksdGhpcy5pc0ltYWdlU3VwcG9ydEVuYWJsZWQkPXRoaXMuc3RvcmUuc2VsZWN0KE5EKS5waXBlKHVlKEJvb2xlYW4pLHZlKDEpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KFdEKSksVnQoKChbLHRdKT0+dCkpKSx0aGlzLnRvb2x0aXBTb3J0JD10aGlzLnN0b3JlLnNlbGVjdChoeiksdGhpcy5pZ25vcmVPdXRsaWVycyQ9dGhpcy5zdG9yZS5zZWxlY3QoYnopLHRoaXMueEF4aXNUeXBlJD10aGlzLnN0b3JlLnNlbGVjdCh5eiksdGhpcy5jYXJkTWluV2lkdGgkPXRoaXMuc3RvcmUuc2VsZWN0KGd6KSx0aGlzLmhpc3RvZ3JhbU1vZGUkPXRoaXMuc3RvcmUuc2VsZWN0KF96KSx0aGlzLnNjYWxhclNtb290aGluZyQ9dGhpcy5zdG9yZS5zZWxlY3QoQ3opLHRoaXMuc2NhbGFyUGFydGl0aW9uWCQ9dGhpcy5zdG9yZS5zZWxlY3QoTXopLHRoaXMuaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaSQ9dGhpcy5zdG9yZS5zZWxlY3QodnopLHRoaXMuaW1hZ2VDb250cmFzdEluTWlsbGkkPXRoaXMuc3RvcmUuc2VsZWN0KHh6KSx0aGlzLmltYWdlU2hvd0FjdHVhbFNpemUkPXRoaXMuc3RvcmUuc2VsZWN0KE96KX1vblRvb2x0aXBTb3J0Q2hhbmdlZCh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKGdBKHtzb3J0OnR9KSl9b25JZ25vcmVPdXRsaWVyc0NoYW5nZWQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKGhBKCkpfW9uWEF4aXNUeXBlQ2hhbmdlZCh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKGJBKHt4QXhpc1R5cGU6dH0pKX1vbkNhcmRXaWR0aENoYW5nZWQodCl7dGhpcy5zdG9yZS5kaXNwYXRjaCh5QSh7Y2FyZE1pbldpZHRoOnR9KSl9b25DYXJkV2lkdGhSZXNldCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goX0EoKSl9b25IaXN0b2dyYW1Nb2RlQ2hhbmdlZCh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKGtBKHtoaXN0b2dyYW1Nb2RlOnR9KSl9b25TY2FsYXJTbW9vdGhpbmdDaGFuZ2VkKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goQ0Eoe3Ntb290aGluZzp0fSkpfW9uU2NhbGFyUGFydGl0aW9uWFRvZ2dsZWQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKE1BKCkpfW9uSW1hZ2VCcmlnaHRuZXNzSW5NaWxsaUNoYW5nZWQodCl7dGhpcy5zdG9yZS5kaXNwYXRjaCh2QSh7YnJpZ2h0bmVzc0luTWlsbGk6dH0pKX1vbkltYWdlQnJpZ2h0bmVzc1Jlc2V0KCl7dGhpcy5zdG9yZS5kaXNwYXRjaChPQSgpKX1vbkltYWdlQ29udHJhc3RSZXNldCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goUEEoKSl9b25JbWFnZUNvbnRyYXN0SW5NaWxsaUNoYW5nZWQodCl7dGhpcy5zdG9yZS5kaXNwYXRjaCh4QSh7Y29udHJhc3RJbk1pbGxpOnR9KSl9b25JbWFnZVNob3dBY3R1YWxTaXplQ2hhbmdlZCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2god0EoKSl9b25TZWxlY3RUaW1lRW5hYmxlVG9nZ2xlZCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goQkEoKSl9b25Vc2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkKCl7dGhpcy5zdG9yZS5kaXNwYXRjaChWQSgpKX1vblNlbGVjdFRpbWVDaGFuZ2VkKHQpe3ZhciBlO3RoaXMuc3RvcmUuZGlzcGF0Y2goRkEoe3N0YXJ0U3RlcDp0LnN0YXJ0LnN0ZXAsZW5kU3RlcDpudWxsPT09KGU9dC5lbmQpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnN0ZXB9KSl9fUZ5dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Rnl0KShnZihpUykpfSxGeXQuybVjbXA9c28oe3R5cGU6Rnl0LHNlbGVjdG9yczpbWyJtZXRyaWNzLWRhc2hib2FyZC1zZXR0aW5ncyJdXSxkZWNsczoxOCx2YXJzOjUxLGNvbnN0czpbWzMsImlzSW1hZ2VTdXBwb3J0RW5hYmxlZCIsInRvb2x0aXBTb3J0IiwiaWdub3JlT3V0bGllcnMiLCJ4QXhpc1R5cGUiLCJpc0NhcmRXaWR0aFNldHRpbmdFbmFibGVkIiwiY2FyZE1pbldpZHRoIiwiaGlzdG9ncmFtTW9kZSIsInNjYWxhclNtb290aGluZyIsInNjYWxhclBhcnRpdGlvblgiLCJpbWFnZUJyaWdodG5lc3NJbk1pbGxpIiwiaW1hZ2VDb250cmFzdEluTWlsbGkiLCJpbWFnZVNob3dBY3R1YWxTaXplIiwiaXNMaW5rZWRUaW1lRmVhdHVyZUVuYWJsZWQiLCJzZWxlY3RUaW1lRW5hYmxlZCIsInNlbGVjdGVkVGltZSIsInVzZVJhbmdlU2VsZWN0VGltZSIsInN0ZXBNaW5NYXgiLCJ0b29sdGlwU29ydENoYW5nZWQiLCJpZ25vcmVPdXRsaWVyc0NoYW5nZWQiLCJ4QXhpc1R5cGVDaGFuZ2VkIiwiY2FyZFdpZHRoQ2hhbmdlZCIsImNhcmRXaWR0aFJlc2V0IiwiaGlzdG9ncmFtTW9kZUNoYW5nZWQiLCJzY2FsYXJTbW9vdGhpbmdDaGFuZ2VkIiwic2NhbGFyUGFydGl0aW9uWFRvZ2dsZWQiLCJpbWFnZUJyaWdodG5lc3NJbk1pbGxpQ2hhbmdlZCIsImltYWdlQnJpZ2h0bmVzc1Jlc2V0IiwiaW1hZ2VDb250cmFzdEluTWlsbGlDaGFuZ2VkIiwiaW1hZ2VDb250cmFzdFJlc2V0IiwiaW1hZ2VTaG93QWN0dWFsU2l6ZUNoYW5nZWQiLCJzZWxlY3RUaW1lRW5hYmxlVG9nZ2xlZCIsInVzZVJhbmdlU2VsZWN0VGltZVRvZ2dsZWQiLCJzZWxlY3RUaW1lQ2hhbmdlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWV0cmljcy1kYXNoYm9hcmQtc2V0dGluZ3MtY29tcG9uZW50IiwwKSxSZigidG9vbHRpcFNvcnRDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblRvb2x0aXBTb3J0Q2hhbmdlZChlKX0pKSgiaWdub3JlT3V0bGllcnNDaGFuZ2VkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uSWdub3JlT3V0bGllcnNDaGFuZ2VkKCl9KSkoInhBeGlzVHlwZUNoYW5nZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uWEF4aXNUeXBlQ2hhbmdlZChlKX0pKSgiY2FyZFdpZHRoQ2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25DYXJkV2lkdGhDaGFuZ2VkKGUpfSkpKCJjYXJkV2lkdGhSZXNldCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vbkNhcmRXaWR0aFJlc2V0KCl9KSkoImhpc3RvZ3JhbU1vZGVDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkhpc3RvZ3JhbU1vZGVDaGFuZ2VkKGUpfSkpKCJzY2FsYXJTbW9vdGhpbmdDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblNjYWxhclNtb290aGluZ0NoYW5nZWQoZSl9KSkoInNjYWxhclBhcnRpdGlvblhUb2dnbGVkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uU2NhbGFyUGFydGl0aW9uWFRvZ2dsZWQoKX0pKSgiaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaUNoYW5nZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uSW1hZ2VCcmlnaHRuZXNzSW5NaWxsaUNoYW5nZWQoZSl9KSkoImltYWdlQnJpZ2h0bmVzc1Jlc2V0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uSW1hZ2VCcmlnaHRuZXNzUmVzZXQoKX0pKSgiaW1hZ2VDb250cmFzdEluTWlsbGlDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkltYWdlQ29udHJhc3RJbk1pbGxpQ2hhbmdlZChlKX0pKSgiaW1hZ2VDb250cmFzdFJlc2V0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uSW1hZ2VDb250cmFzdFJlc2V0KCl9KSkoImltYWdlU2hvd0FjdHVhbFNpemVDaGFuZ2VkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uSW1hZ2VTaG93QWN0dWFsU2l6ZUNoYW5nZWQoKX0pKSgic2VsZWN0VGltZUVuYWJsZVRvZ2dsZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25TZWxlY3RUaW1lRW5hYmxlVG9nZ2xlZCgpfSkpKCJ1c2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uVXNlUmFuZ2VTZWxlY3RUaW1lVG9nZ2xlZCgpfSkpKCJzZWxlY3RUaW1lQ2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25TZWxlY3RUaW1lQ2hhbmdlZChlKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSxfeSg0LCJhc3luYyIpLF95KDUsImFzeW5jIiksX3koNiwiYXN5bmMiKSxfeSg3LCJhc3luYyIpLF95KDgsImFzeW5jIiksX3koOSwiYXN5bmMiKSxfeSgxMCwiYXN5bmMiKSxfeSgxMSwiYXN5bmMiKSxfeSgxMiwiYXN5bmMiKSxfeSgxMywiYXN5bmMiKSxfeSgxNCwiYXN5bmMiKSxfeSgxNSwiYXN5bmMiKSxfeSgxNiwiYXN5bmMiKSxfeSgxNywiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJpc0ltYWdlU3VwcG9ydEVuYWJsZWQiLEN5KDEsMTcsbi5pc0ltYWdlU3VwcG9ydEVuYWJsZWQkKSkoInRvb2x0aXBTb3J0IixDeSgyLDE5LG4udG9vbHRpcFNvcnQkKSkoImlnbm9yZU91dGxpZXJzIixDeSgzLDIxLG4uaWdub3JlT3V0bGllcnMkKSkoInhBeGlzVHlwZSIsQ3koNCwyMyxuLnhBeGlzVHlwZSQpKSgiaXNDYXJkV2lkdGhTZXR0aW5nRW5hYmxlZCIsQ3koNSwyNSxuLmlzQ2FyZFdpZHRoU2V0dGluZ0VuYWJsZWQkKSkoImNhcmRNaW5XaWR0aCIsQ3koNiwyNyxuLmNhcmRNaW5XaWR0aCQpKSgiaGlzdG9ncmFtTW9kZSIsQ3koNywyOSxuLmhpc3RvZ3JhbU1vZGUkKSkoInNjYWxhclNtb290aGluZyIsQ3koOCwzMSxuLnNjYWxhclNtb290aGluZyQpKSgic2NhbGFyUGFydGl0aW9uWCIsQ3koOSwzMyxuLnNjYWxhclBhcnRpdGlvblgkKSkoImltYWdlQnJpZ2h0bmVzc0luTWlsbGkiLEN5KDEwLDM1LG4uaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaSQpKSgiaW1hZ2VDb250cmFzdEluTWlsbGkiLEN5KDExLDM3LG4uaW1hZ2VDb250cmFzdEluTWlsbGkkKSkoImltYWdlU2hvd0FjdHVhbFNpemUiLEN5KDEyLDM5LG4uaW1hZ2VTaG93QWN0dWFsU2l6ZSQpKSgiaXNMaW5rZWRUaW1lRmVhdHVyZUVuYWJsZWQiLEN5KDEzLDQxLG4uaXNMaW5rZWRUaW1lRmVhdHVyZUVuYWJsZWQkKSkoInNlbGVjdFRpbWVFbmFibGVkIixDeSgxNCw0MyxuLnNlbGVjdFRpbWVFbmFibGVkJCkpKCJzZWxlY3RlZFRpbWUiLEN5KDE1LDQ1LG4uc2VsZWN0ZWRUaW1lJCkpKCJ1c2VSYW5nZVNlbGVjdFRpbWUiLEN5KDE2LDQ3LG4udXNlUmFuZ2VTZWxlY3RUaW1lJCkpKCJzdGVwTWluTWF4IixDeSgxNyw0OSxuLnN0ZXBNaW5NYXgkKSl9LGRpcmVjdGl2ZXM6W0h5dF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEZ5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWNzLWRhc2hib2FyZC1zZXR0aW5ncyIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWNzLWRhc2hib2FyZC1zZXR0aW5ncy1jb21wb25lbnRcbiAgICAgIFtpc0ltYWdlU3VwcG9ydEVuYWJsZWRdPSJpc0ltYWdlU3VwcG9ydEVuYWJsZWQkIHwgYXN5bmMiXG4gICAgICBbdG9vbHRpcFNvcnRdPSJ0b29sdGlwU29ydCQgfCBhc3luYyJcbiAgICAgICh0b29sdGlwU29ydENoYW5nZWQpPSJvblRvb2x0aXBTb3J0Q2hhbmdlZCgkZXZlbnQpIlxuICAgICAgW2lnbm9yZU91dGxpZXJzXT0iaWdub3JlT3V0bGllcnMkIHwgYXN5bmMiXG4gICAgICAoaWdub3JlT3V0bGllcnNDaGFuZ2VkKT0ib25JZ25vcmVPdXRsaWVyc0NoYW5nZWQoKSJcbiAgICAgIFt4QXhpc1R5cGVdPSJ4QXhpc1R5cGUkIHwgYXN5bmMiXG4gICAgICAoeEF4aXNUeXBlQ2hhbmdlZCk9Im9uWEF4aXNUeXBlQ2hhbmdlZCgkZXZlbnQpIlxuICAgICAgW2lzQ2FyZFdpZHRoU2V0dGluZ0VuYWJsZWRdPSJpc0NhcmRXaWR0aFNldHRpbmdFbmFibGVkJCB8IGFzeW5jIlxuICAgICAgW2NhcmRNaW5XaWR0aF09ImNhcmRNaW5XaWR0aCQgfCBhc3luYyJcbiAgICAgIChjYXJkV2lkdGhDaGFuZ2VkKT0ib25DYXJkV2lkdGhDaGFuZ2VkKCRldmVudCkiXG4gICAgICAoY2FyZFdpZHRoUmVzZXQpPSJvbkNhcmRXaWR0aFJlc2V0KCkiXG4gICAgICBbaGlzdG9ncmFtTW9kZV09Imhpc3RvZ3JhbU1vZGUkIHwgYXN5bmMiXG4gICAgICAoaGlzdG9ncmFtTW9kZUNoYW5nZWQpPSJvbkhpc3RvZ3JhbU1vZGVDaGFuZ2VkKCRldmVudCkiXG4gICAgICBbc2NhbGFyU21vb3RoaW5nXT0ic2NhbGFyU21vb3RoaW5nJCB8IGFzeW5jIlxuICAgICAgKHNjYWxhclNtb290aGluZ0NoYW5nZWQpPSJvblNjYWxhclNtb290aGluZ0NoYW5nZWQoJGV2ZW50KSJcbiAgICAgIFtzY2FsYXJQYXJ0aXRpb25YXT0ic2NhbGFyUGFydGl0aW9uWCQgfCBhc3luYyJcbiAgICAgIChzY2FsYXJQYXJ0aXRpb25YVG9nZ2xlZCk9Im9uU2NhbGFyUGFydGl0aW9uWFRvZ2dsZWQoKSJcbiAgICAgIFtpbWFnZUJyaWdodG5lc3NJbk1pbGxpXT0iaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaSQgfCBhc3luYyJcbiAgICAgIChpbWFnZUJyaWdodG5lc3NJbk1pbGxpQ2hhbmdlZCk9Im9uSW1hZ2VCcmlnaHRuZXNzSW5NaWxsaUNoYW5nZWQoJGV2ZW50KSJcbiAgICAgIChpbWFnZUJyaWdodG5lc3NSZXNldCk9Im9uSW1hZ2VCcmlnaHRuZXNzUmVzZXQoKSJcbiAgICAgIFtpbWFnZUNvbnRyYXN0SW5NaWxsaV09ImltYWdlQ29udHJhc3RJbk1pbGxpJCB8IGFzeW5jIlxuICAgICAgKGltYWdlQ29udHJhc3RJbk1pbGxpQ2hhbmdlZCk9Im9uSW1hZ2VDb250cmFzdEluTWlsbGlDaGFuZ2VkKCRldmVudCkiXG4gICAgICAoaW1hZ2VDb250cmFzdFJlc2V0KT0ib25JbWFnZUNvbnRyYXN0UmVzZXQoKSJcbiAgICAgIFtpbWFnZVNob3dBY3R1YWxTaXplXT0iaW1hZ2VTaG93QWN0dWFsU2l6ZSQgfCBhc3luYyJcbiAgICAgIChpbWFnZVNob3dBY3R1YWxTaXplQ2hhbmdlZCk9Im9uSW1hZ2VTaG93QWN0dWFsU2l6ZUNoYW5nZWQoKSJcbiAgICAgIFtpc0xpbmtlZFRpbWVGZWF0dXJlRW5hYmxlZF09ImlzTGlua2VkVGltZUZlYXR1cmVFbmFibGVkJCB8IGFzeW5jIlxuICAgICAgW3NlbGVjdFRpbWVFbmFibGVkXT0ic2VsZWN0VGltZUVuYWJsZWQkIHwgYXN5bmMiXG4gICAgICBbc2VsZWN0ZWRUaW1lXT0ic2VsZWN0ZWRUaW1lJCB8IGFzeW5jIlxuICAgICAgW3VzZVJhbmdlU2VsZWN0VGltZV09InVzZVJhbmdlU2VsZWN0VGltZSQgfCBhc3luYyJcbiAgICAgIFtzdGVwTWluTWF4XT0ic3RlcE1pbk1heCQgfCBhc3luYyJcbiAgICAgIChzZWxlY3RUaW1lRW5hYmxlVG9nZ2xlZCk9Im9uU2VsZWN0VGltZUVuYWJsZVRvZ2dsZWQoKSJcbiAgICAgICh1c2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkKT0ib25Vc2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkKCkiXG4gICAgICAoc2VsZWN0VGltZUNoYW5nZWQpPSJvblNlbGVjdFRpbWVDaGFuZ2VkKCRldmVudCkiXG4gICAgPlxuICAgIDwvbWV0cmljcy1kYXNoYm9hcmQtc2V0dGluZ3MtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgTHl0e31mdW5jdGlvbiBCeXQodCxlKXtpZigxJnQmJnZmKDAsIm1ldHJpY3MtZmlsdGVyZWQtdmlldyIsOSksMiZ0KXtiZigiY2FyZE9ic2VydmVyIix6ZigpLmNhcmRPYnNlcnZlcil9fWZ1bmN0aW9uIFZ5dCh0LGUpezEmdCYmKENmKDAsImRpdiIsMTIpLHZmKDEsIm1hdC1zcGlubmVyIiwxMyksTWYoKSl9ZnVuY3Rpb24ganl0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxNCksQ2YoMSwiZGl2IiwxNSksQ2YoMiwiaDIiLDE2KSxQdSgzLCJTZXR0aW5ncyIpLE1mKCksQ2YoNCwiYnV0dG9uIiwxNyksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uQ2xvc2VTaWRlcGFuZUJ1dHRvbkNsaWNrZWQuZW1pdCgpfSkpLHZmKDUsIm1hdC1pY29uIiwxOCksTWYoKSxNZigpLHZmKDYsIm1ldHJpY3MtZGFzaGJvYXJkLXJpZ2h0LXBhbmUiKSxNZigpfX1MeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEx5dCl9LEx5dC7JtWNtcD1zbyh7dHlwZTpMeXQsc2VsZWN0b3JzOltbIm1ldHJpY3MtZGFzaGJvYXJkLXJpZ2h0LXBhbmUiXV0sZGVjbHM6MSx2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmdmYoMCwibWV0cmljcy1kYXNoYm9hcmQtc2V0dGluZ3MiKX0sZGlyZWN0aXZlczpbRnl0XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEx5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWNzLWRhc2hib2FyZC1yaWdodC1wYW5lIix0ZW1wbGF0ZToiPG1ldHJpY3MtZGFzaGJvYXJkLXNldHRpbmdzPjwvbWV0cmljcy1kYXNoYm9hcmQtc2V0dGluZ3M+IixjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLG51bGwpO2NvbnN0IFV5dD1mdW5jdGlvbih0KXtyZXR1cm57Y2hlY2tlZDp0LCJzZXR0aW5ncy1idXR0b24iOiEwfX07Y2xhc3MgV3l0e2NvbnN0cnVjdG9yKHQpe3RoaXMuaG9zdD10LHRoaXMub25TZXR0aW5nc0J1dHRvbkNsaWNrZWQ9bmV3IFN5LHRoaXMub25DbG9zZVNpZGVwYW5lQnV0dG9uQ2xpY2tlZD1uZXcgU3ksdGhpcy5vblBsdWdpblR5cGVUb2dnbGVkPW5ldyBTeSx0aGlzLm9uUGx1Z2luVHlwZUFsbFRvZ2dsZWQ9bmV3IFN5LHRoaXMuUGx1Z2luVHlwZT1LVCx0aGlzLmNhcmRPYnNlcnZlcj1uZXcgXzQodGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQsIjYwMHB4IDBweCA2MDBweCAwcHgiKX19V3l0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxXeXQpKGdmKEtoKSl9LFd5dC7JtWNtcD1zbyh7dHlwZTpXeXQsc2VsZWN0b3JzOltbIm1ldHJpY3MtbWFpbi12aWV3LWNvbXBvbmVudCJdXSxpbnB1dHM6e3Nob3dGaWx0ZXJlZFZpZXc6InNob3dGaWx0ZXJlZFZpZXciLGlzU2lkZXBhbmVPcGVuOiJpc1NpZGVwYW5lT3BlbiIsZmlsdGVyZWRQbHVnaW5UeXBlczoiZmlsdGVyZWRQbHVnaW5UeXBlcyIsaW5pdGlhbFRhZ3NMb2FkaW5nOiJpbml0aWFsVGFnc0xvYWRpbmcifSxvdXRwdXRzOntvblNldHRpbmdzQnV0dG9uQ2xpY2tlZDoib25TZXR0aW5nc0J1dHRvbkNsaWNrZWQiLG9uQ2xvc2VTaWRlcGFuZUJ1dHRvbkNsaWNrZWQ6Im9uQ2xvc2VTaWRlcGFuZUJ1dHRvbkNsaWNrZWQiLG9uUGx1Z2luVHlwZVRvZ2dsZWQ6Im9uUGx1Z2luVHlwZVRvZ2dsZWQiLG9uUGx1Z2luVHlwZUFsbFRvZ2dsZWQ6Im9uUGx1Z2luVHlwZUFsbFRvZ2dsZWQifSxkZWNsczoyMix2YXJzOjIxLGNvbnN0czpmdW5jdGlvbigpe2xldCB0LGU7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe3Q9Z29vZy5nZXRNc2coIlRvZ2dsZSBzZXR0aW5ncyBzaWRlIHBhbmUiKX1lbHNlIHQ9JGxvY2FsaXplYDpMYWJlbCBvbiBhIHRvb2xiYXIgYnV0dG9uIHRvIHRvZ2dsZSB0aGUgc2V0dGluZ3Mgc2lkZSBwYW5lLuKQn2QzNTE2ZGI2YmJlNjg2MGE1NWJlYWI2NmU0OTY5ZGFjNjI1YjhkNzLikJ83NjU5Mjg1NDQ1NTgwODM4OTI1OlRvZ2dsZSBzZXR0aW5ncyBzaWRlIHBhbmVgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtlPWdvb2cuZ2V0TXNnKCJDbG9zZSBzaWRlIHBhbmUiKX1lbHNlIGU9JGxvY2FsaXplYDpMYWJlbCBvbiBhIGJ1dHRvbiB0byBjbG9zZSB0aGUgc2V0dGluZ3Mgc2lkZSBwYW5lLuKQnzA0NTIxZGMwYjZhNjVjZjVjMzgyOTQ0YzlhOGI0Yjg0NGEzZTk1OTjikJ84MTU2NzY2OTk3NzQ3MTY1ODcxOkNsb3NlIHNpZGUgcGFuZWA7cmV0dXJuW1sxLCJ0b29sYmFyIl0sWyJtdWx0aXBsZSIsIiIsImFwcGVhcmFuY2UiLCJzdGFuZGFyZCIsMSwiZmlsdGVyLXZpZXciXSxbIm1hdC1idXR0b24iLCIiLCJyb2xlIiwiY2hlY2tib3giLDEsImZpbHRlci12aWV3LWJ1dHRvbiIsMywiY2xpY2siXSxbMSwicmlnaHQtaXRlbXMiXSxbIm1hdC1zdHJva2VkLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMywibmdDbGFzcyIsImNsaWNrIl0sWyJzdmdJY29uIiwic2V0dGluZ3NfMjRweCJdLFsxLCJzcGxpdC1jb250ZW50Il0sWyJjZGtTY3JvbGxhYmxlIiwiIl0sWzMsImNhcmRPYnNlcnZlciIsNCwibmdJZiJdLFszLCJjYXJkT2JzZXJ2ZXIiXSxbImNsYXNzIiwibG9hZGluZy1jb250YWluZXIiLDQsIm5nSWYiXSxbImNsYXNzIiwic2lkZWJhciIsNCwibmdJZiJdLFsxLCJsb2FkaW5nLWNvbnRhaW5lciJdLFsiZGlhbWV0ZXIiLCIzNiJdLFsxLCJzaWRlYmFyIl0sWzEsImhlYWRlciJdLFsxLCJ0aXRsZSJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsZSwzLCJjbGljayJdLFsic3ZnSWNvbiIsImNsb3NlXzI0cHgiXV19LHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLHZmKDEsIm1ldHJpY3MtdGFnLWZpbHRlciIpLENmKDIsIm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIiwxKSxDZigzLCJidXR0b24iLDIpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblBsdWdpblR5cGVBbGxUb2dnbGVkLmVtaXQoKX0pKSxQdSg0LCIgQWxsICIpLE1mKCksQ2YoNSwiYnV0dG9uIiwyKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25QbHVnaW5UeXBlVG9nZ2xlZC5lbWl0KG4uUGx1Z2luVHlwZS5TQ0FMQVJTKX0pKSxQdSg2LCIgU2NhbGFycyAiKSxNZigpLENmKDcsImJ1dHRvbiIsMiksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUGx1Z2luVHlwZVRvZ2dsZWQuZW1pdChuLlBsdWdpblR5cGUuSU1BR0VTKX0pKSxQdSg4LCIgSW1hZ2UgIiksTWYoKSxDZig5LCJidXR0b24iLDIpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblBsdWdpblR5cGVUb2dnbGVkLmVtaXQobi5QbHVnaW5UeXBlLkhJU1RPR1JBTVMpfSkpLFB1KDEwLCIgSGlzdG9ncmFtICIpLE1mKCksTWYoKSxDZigxMSwiZGl2IiwzKSxDZigxMiwiYnV0dG9uIiw0KSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25TZXR0aW5nc0J1dHRvbkNsaWNrZWQuZW1pdCgpfSkpLHZmKDEzLCJtYXQtaWNvbiIsNSksUHUoMTQsIiBTZXR0aW5ncyAiKSxNZigpLE1mKCksTWYoKSxDZigxNSwiZGl2Iiw2KSxDZigxNiwiZGl2Iiw3KSxIbSgxNyxCeXQsMSwxLCJtZXRyaWNzLWZpbHRlcmVkLXZpZXciLDgpLHZmKDE4LCJtZXRyaWNzLXBpbm5lZC12aWV3Iiw5KSxIbSgxOSxWeXQsMiwwLCJkaXYiLDEwKSx2ZigyMCwibWV0cmljcy1jYXJkLWdyb3VwcyIsOSksTWYoKSxIbSgyMSxqeXQsNywwLCJkaXYiLDExKSxNZigpKSwyJmUmJihEYygzKSx5bSgiYXJpYS1jaGVja2VkIiwwPT09bi5maWx0ZXJlZFBsdWdpblR5cGVzLnNpemUpLERjKDIpLHltKCJhcmlhLWNoZWNrZWQiLG4uZmlsdGVyZWRQbHVnaW5UeXBlcy5oYXMobi5QbHVnaW5UeXBlLlNDQUxBUlMpKSxEYygyKSx5bSgiYXJpYS1jaGVja2VkIixuLmZpbHRlcmVkUGx1Z2luVHlwZXMuaGFzKG4uUGx1Z2luVHlwZS5JTUFHRVMpKSxEYygyKSx5bSgiYXJpYS1jaGVja2VkIixuLmZpbHRlcmVkUGx1Z2luVHlwZXMuaGFzKG4uUGx1Z2luVHlwZS5ISVNUT0dSQU1TKSksRGMoMyksYmYoIm5nQ2xhc3MiLGl5KDE5LFV5dCxuLmlzU2lkZXBhbmVPcGVuKSkseW0oImFyaWEtcHJlc3NlZCIsbi5pc1NpZGVwYW5lT3BlbiksRGMoNCksY3UoIm1haW4iLCEwKSgiZmlsdGVyLXZpZXciLG4uc2hvd0ZpbHRlcmVkVmlldyksRGMoMSksYmYoIm5nSWYiLG4uc2hvd0ZpbHRlcmVkVmlldyksRGMoMSksbHUoImRpc3BsYXkiLG4uc2hvd0ZpbHRlcmVkVmlldz8ibm9uZSI6IiIpLGJmKCJjYXJkT2JzZXJ2ZXIiLG4uY2FyZE9ic2VydmVyKSxEYygxKSxiZigibmdJZiIsbi5pbml0aWFsVGFnc0xvYWRpbmcpLERjKDEpLGx1KCJkaXNwbGF5IixuLnNob3dGaWx0ZXJlZFZpZXc/Im5vbmUiOiIiKSxiZigiY2FyZE9ic2VydmVyIixuLmNhcmRPYnNlcnZlciksRGMoMSksYmYoIm5nSWYiLG4uaXNTaWRlcGFuZU9wZW4pKX0sZGlyZWN0aXZlczpbUDQsQTQsTkwsQ3YsTXEsSkwsUHYscHl0LE15dCxTeXQsYTIsTHl0XSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjEwMCV9LnRvb2xiYXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7ZmxleDpub25lO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDE2cHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAudG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzU1NX0udG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBtZXRyaWNzLXRhZy1maWx0ZXJbX25nY29udGVudC0lQ09NUCVde2ZsZXg6MSAxIDEwMHB4fS50b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5yaWdodC1pdGVtc1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNlYmViZWI7bWFyZ2luLWxlZnQ6MTZweDtwYWRkaW5nLWxlZnQ6MTZweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAudG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICAucmlnaHQtaXRlbXNbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAudG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICAucmlnaHQtaXRlbXNbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjNTU1fS5maWx0ZXItdmlld1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXJhZGl1czo0cHg7ZmxleDpub25lO21hcmdpbi1yaWdodDo1cHh9LmZpbHRlci12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXJhZGl1czowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0Om5vcm1hbDtoZWlnaHQ6MjVweDtsaW5lLWhlaWdodDoyNXB4O21pbi13aWR0aDp1bnNldDtwYWRkaW5nOjAgMTJweH0uZmlsdGVyLXZpZXdbX25nY29udGVudC0lQ09NUCVdICAgYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSArIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNlYmViZWJ9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmZpbHRlci12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gKyBidXR0b25bX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZmlsdGVyLXZpZXdbX25nY29udGVudC0lQ09NUCVdICAgYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSArIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICM1NTV9LmZpbHRlci12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV1bX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6I2UwZTBlMH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZmlsdGVyLXZpZXdbX25nY29udGVudC0lQ09NUCVdICAgYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXVtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5maWx0ZXItdmlld1tfbmdjb250ZW50LSVDT01QJV0gICBidXR0b25bYXJpYS1jaGVja2VkPXRydWVdW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMTIxMjF9LnNwbGl0LWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtvdmVyZmxvdy15OmF1dG87ZmxleDoxfS5tYWluW19uZ2NvbnRlbnQtJUNPTVAlXSwgLnNpZGViYXJbX25nY29udGVudC0lQ09NUCVde2NvbnRhaW46c3RyaWN0O292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bzt3aWxsLWNoYW5nZTp0cmFuc2Zvcm0sc2Nyb2xsLXBvc2l0aW9ufS5tYWluW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY2Zjc7ZmxleDoxIDE7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAubWFpbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5tYWluW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiMzYTNhM2F9Lm1haW5bX25nY29udGVudC0lQ09NUCVdICAgbWV0cmljcy1maWx0ZXJlZC12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1haW5bX25nY29udGVudC0lQ09NUCVdICAgbWV0cmljcy1waW5uZWQtdmlld1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYn1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAubWFpbltfbmdjb250ZW50LSVDT01QJV0gICBtZXRyaWNzLWZpbHRlcmVkLXZpZXdbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAubWFpbltfbmdjb250ZW50LSVDT01QJV0gICBtZXRyaWNzLWZpbHRlcmVkLXZpZXdbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLm1haW5bX25nY29udGVudC0lQ09NUCVdICAgbWV0cmljcy1waW5uZWQtdmlld1tfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5tYWluW19uZ2NvbnRlbnQtJUNPTVAlXSAgIG1ldHJpY3MtcGlubmVkLXZpZXdbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9Lm1haW4uZmlsdGVyLXZpZXdbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbn0ubWFpbi5maWx0ZXItdmlld1tfbmdjb250ZW50LSVDT01QJV0gICBtZXRyaWNzLWZpbHRlcmVkLXZpZXdbX25nY29udGVudC0lQ09NUCVde2NvbnRhaW46Y29udGVudDtvdmVyZmxvdzphdXRvO3dpbGwtY2hhbmdlOnRyYW5zZm9ybSxzY3JvbGwtcG9zaXRpb259LmxvYWRpbmctY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjIwcHggMH0uc2lkZWJhcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNlYmViZWI7ZmxleDowIDAgMjUwcHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnNpZGViYXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc2lkZWJhcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICM1NTV9LnNpZGViYXJbX25nY29udGVudC0lQ09NUCVdICAgLmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2hlaWdodDo0MnB4O3BhZGRpbmc6MCAxNnB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5zaWRlYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc2lkZWJhcltfbmdjb250ZW50LSVDT01QJV0gICAuaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNTU1fS5zaWRlYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6bm9ybWFsO21hcmdpbjowfVtfbmdob3N0LSVDT01QJV0gICAuc2V0dGluZ3MtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2Rpc3BsYXk6aW5saW5lLWZsZXh9Ym9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLnNldHRpbmdzLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9W19uZ2hvc3QtJUNPTVAlXSAgIC5zZXR0aW5ncy1idXR0b24uY2hlY2tlZFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZTBlMGUwO2JvcmRlci1jb2xvcjojZTBlMGUwfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5zZXR0aW5ncy1idXR0b24uY2hlY2tlZFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojMjEyMTIxfVtfbmdob3N0LSVDT01QJV0gICAuc2V0dGluZ3MtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1hdC1idXR0b24td3JhcHBlcntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn1bX25naG9zdC0lQ09NUCVdICAgLnNldHRpbmdzLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICBtYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXJpZ2h0OjRweH0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoV3l0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtbWFpbi12aWV3LWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Im1haW5fdmlld19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsibWFpbl92aWV3X2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9XX0pLHtzaG93RmlsdGVyZWRWaWV3Olt7dHlwZTpSX31dLGlzU2lkZXBhbmVPcGVuOlt7dHlwZTpSX31dLGZpbHRlcmVkUGx1Z2luVHlwZXM6W3t0eXBlOlJffV0saW5pdGlhbFRhZ3NMb2FkaW5nOlt7dHlwZTpSX31dLG9uU2V0dGluZ3NCdXR0b25DbGlja2VkOlt7dHlwZTpFX31dLG9uQ2xvc2VTaWRlcGFuZUJ1dHRvbkNsaWNrZWQ6W3t0eXBlOkVffV0sb25QbHVnaW5UeXBlVG9nZ2xlZDpbe3R5cGU6RV99XSxvblBsdWdpblR5cGVBbGxUb2dnbGVkOlt7dHlwZTpFX31dfSk7Y2xhc3MgR3l0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLmlzU2lkZXBhbmVPcGVuJD10aGlzLnN0b3JlLnNlbGVjdChOeiksdGhpcy5pbml0aWFsVGFnc0xvYWRpbmckPXRoaXMuc3RvcmUuc2VsZWN0KEpOKS5waXBlKFVlKCh0PT5udWxsPT09dC5sYXN0TG9hZGVkVGltZUluTXMpLCEwKSxWdCgodD0+dC5zdGF0ZT09PVVFLkxPQURJTkcmJm51bGw9PT10Lmxhc3RMb2FkZWRUaW1lSW5NcykpKSx0aGlzLnNob3dGaWx0ZXJlZFZpZXckPXRoaXMuc3RvcmUuc2VsZWN0KFB6KS5waXBlKFZ0KCh0PT50Lmxlbmd0aD4wKSkpLHRoaXMuZmlsdGVyZWRQbHVnaW5UeXBlcyQ9dGhpcy5zdG9yZS5zZWxlY3QoQXopfW9uU2V0dGluZ3NCdXR0b25DbGlja2VkKCl7dGhpcy5zdG9yZS5kaXNwYXRjaChwQSgpKX1vbkNsb3NlU2lkZXBhbmVCdXR0b25DbGlja2VkKCl7dGhpcy5zdG9yZS5kaXNwYXRjaChkQSgpKX1vblBsdWdpblZpc2liaWxpdHlUb2dnbGVkKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goSUEoe3BsdWdpbjp0fSkpfW9uU2hvd0FsbFBsdWdpbnMoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKEhBKCkpfX1HeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEd5dCkoZ2YoaVMpKX0sR3l0Lsm1Y21wPXNvKHt0eXBlOkd5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1tYWluLXZpZXciXV0sZGVjbHM6NSx2YXJzOjEyLGNvbnN0czpbWzMsInNob3dGaWx0ZXJlZFZpZXciLCJpc1NpZGVwYW5lT3BlbiIsImluaXRpYWxUYWdzTG9hZGluZyIsImZpbHRlcmVkUGx1Z2luVHlwZXMiLCJvblNldHRpbmdzQnV0dG9uQ2xpY2tlZCIsIm9uQ2xvc2VTaWRlcGFuZUJ1dHRvbkNsaWNrZWQiLCJvblBsdWdpblR5cGVUb2dnbGVkIiwib25QbHVnaW5UeXBlQWxsVG9nZ2xlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWV0cmljcy1tYWluLXZpZXctY29tcG9uZW50IiwwKSxSZigib25TZXR0aW5nc0J1dHRvbkNsaWNrZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25TZXR0aW5nc0J1dHRvbkNsaWNrZWQoKX0pKSgib25DbG9zZVNpZGVwYW5lQnV0dG9uQ2xpY2tlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vbkNsb3NlU2lkZXBhbmVCdXR0b25DbGlja2VkKCl9KSkoIm9uUGx1Z2luVHlwZVRvZ2dsZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUGx1Z2luVmlzaWJpbGl0eVRvZ2dsZWQoZSl9KSkoIm9uUGx1Z2luVHlwZUFsbFRvZ2dsZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25TaG93QWxsUGx1Z2lucygpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIiksTWYoKSksMiZlJiZiZigic2hvd0ZpbHRlcmVkVmlldyIsQ3koMSw0LG4uc2hvd0ZpbHRlcmVkVmlldyQpKSgiaXNTaWRlcGFuZU9wZW4iLEN5KDIsNixuLmlzU2lkZXBhbmVPcGVuJCkpKCJpbml0aWFsVGFnc0xvYWRpbmciLEN5KDMsOCxuLmluaXRpYWxUYWdzTG9hZGluZyQpKSgiZmlsdGVyZWRQbHVnaW5UeXBlcyIsQ3koNCwxMCxuLmZpbHRlcmVkUGx1Z2luVHlwZXMkKSl9LGRpcmVjdGl2ZXM6W1d5dF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEd5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWNzLW1haW4tdmlldyIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWNzLW1haW4tdmlldy1jb21wb25lbnRcbiAgICAgIFtzaG93RmlsdGVyZWRWaWV3XT0ic2hvd0ZpbHRlcmVkVmlldyQgfCBhc3luYyJcbiAgICAgIFtpc1NpZGVwYW5lT3Blbl09ImlzU2lkZXBhbmVPcGVuJCB8IGFzeW5jIlxuICAgICAgW2luaXRpYWxUYWdzTG9hZGluZ109ImluaXRpYWxUYWdzTG9hZGluZyQgfCBhc3luYyJcbiAgICAgIFtmaWx0ZXJlZFBsdWdpblR5cGVzXT0iZmlsdGVyZWRQbHVnaW5UeXBlcyQgfCBhc3luYyJcbiAgICAgIChvblNldHRpbmdzQnV0dG9uQ2xpY2tlZCk9Im9uU2V0dGluZ3NCdXR0b25DbGlja2VkKCkiXG4gICAgICAob25DbG9zZVNpZGVwYW5lQnV0dG9uQ2xpY2tlZCk9Im9uQ2xvc2VTaWRlcGFuZUJ1dHRvbkNsaWNrZWQoKSJcbiAgICAgIChvblBsdWdpblR5cGVUb2dnbGVkKT0ib25QbHVnaW5WaXNpYmlsaXR5VG9nZ2xlZCgkZXZlbnQpIlxuICAgICAgKG9uUGx1Z2luVHlwZUFsbFRvZ2dsZWQpPSJvblNob3dBbGxQbHVnaW5zKCkiXG4gICAgPjwvbWV0cmljcy1tYWluLXZpZXctY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y29uc3QgWXl0PW5ldyBlcigiW01ldHJpY3NdIE1FVFJJQ1NfUHJvbW8gTWVzc2FnZSBDb21wb25lbnQiKTtmdW5jdGlvbiBxeXQodCxlKXsxJnQmJih4ZigwKSxGZigxKSxPZigpKX1jbGFzcyBaeXR7Y29uc3RydWN0b3IodCxlKXt0aGlzLnZpZXdDb250YWluZXJSZWY9dCx0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj1lfW5nT25Jbml0KCl7aWYodGhpcy5jdXN0b21pemFibGVDb21wb25lbnQpe2NvbnN0IHQ9dGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5jdXN0b21pemFibGVDb21wb25lbnQuY29uc3RydWN0b3IpO3RoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQodCl9fX1aeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFp5dCkoZ2YoRmIpLGdmKEdoKSl9LFp5dC7JtWNtcD1zbyh7dHlwZTpaeXQsc2VsZWN0b3JzOltbInRiLWN1c3RvbWl6YXRpb24iXV0saW5wdXRzOntjdXN0b21pemFibGVDb21wb25lbnQ6ImN1c3RvbWl6YWJsZUNvbXBvbmVudCJ9LG5nQ29udGVudFNlbGVjdG9yczpbIioiXSxkZWNsczoxLHZhcnM6MSxjb25zdHM6W1s0LCJuZ0lmIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZigpLEhtKDAscXl0LDIsMCwibmctY29udGFpbmVyIiwwKSksMiZlJiZiZigibmdJZiIsIW4uY3VzdG9taXphYmxlQ29tcG9uZW50KX0sZGlyZWN0aXZlczpbUHZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWnl0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRiLWN1c3RvbWl6YXRpb24iLHRlbXBsYXRlOidcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPSIhY3VzdG9taXphYmxlQ29tcG9uZW50Ij5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkZifSx7dHlwZTpHaH1dfSkse2N1c3RvbWl6YWJsZUNvbXBvbmVudDpbe3R5cGU6Ul99XX0pO2NsYXNzIFh5dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLmN1c3RvbVByb21vTWVzc2FnZT10LHRoaXMub25EaXNtaXNzPW5ldyBTeSx0aGlzLm9uR29Ub1NjYWxhcnM9bmV3IFN5fX1YeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFh5dCkoZ2YoWXl0LDgpKX0sWHl0Lsm1Y21wPXNvKHt0eXBlOlh5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1wcm9tby1ub3RpY2UtY29tcG9uZW50Il1dLG91dHB1dHM6e29uRGlzbWlzczoib25EaXNtaXNzIixvbkdvVG9TY2FsYXJzOiJvbkdvVG9TY2FsYXJzIn0sZGVjbHM6Nyx2YXJzOjEsY29uc3RzOltbMSwibWVzc2FnZSIsMywiY3VzdG9taXphYmxlQ29tcG9uZW50Il0sWzEsImdvLXRvLXNjYWxhcnMiLDMsImNsaWNrIl0sWzEsImRpc21pc3MiLDMsImNsaWNrIl0sWyJpbmxpbmUiLCIiLCJzdmdJY29uIiwiY2xvc2VfMjRweCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwidGItY3VzdG9taXphdGlvbiIsMCksUHUoMSwiIFdlbGNvbWUgdG8gbmV3IGRlZmF1bHQgZXhwZXJpZW5jZSBvZiBUZW5zb3JCb2FyZC4gVGltZSBTZXJpZXMgbGV0cyB5b3UgdmlldyBhbGwgdmlzdWFsaXphdGlvbnMgYXQgb25jZSwgcHV0IHRoZW0gc2lkZS1ieS1zaWRlIHdpdGggcGlucywgYW5kIGN1c3RvbWl6ZSBjb2xvcnMuIFNjYWxhcnMgYW5kIG90aGVyIHBsdWdpbnMgYXJlIHN0aWxsIGF2YWlsYWJsZS4gIiksQ2YoMiwiYnV0dG9uIiwxKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Hb1RvU2NhbGFycy5lbWl0KCl9KSksUHUoMywiIEdvIHRvIFNjYWxhcnMgcGx1Z2luIiksTWYoKSxQdSg0LCIuXG4iKSxNZigpLENmKDUsImJ1dHRvbiIsMiksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRGlzbWlzcy5lbWl0KCl9KSksdmYoNiwibWF0LWljb24iLDMpLE1mKCkpLDImZSYmYmYoImN1c3RvbWl6YWJsZUNvbXBvbmVudCIsbi5jdXN0b21Qcm9tb01lc3NhZ2UpfSxkaXJlY3RpdmVzOltaeXQsTXFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxNHB4O2dhcDo1cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bGluZS1oZWlnaHQ6MjBweDtwYWRkaW5nOjVweCAxMHB4fWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MDtjb2xvcjppbmhlcml0O2N1cnNvcjpwb2ludGVyO2ZvbnQ6aW5oZXJpdDtwYWRkaW5nOjB9YnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfXRiLWN1c3RvbWl6YXRpb25bX25nY29udGVudC0lQ09NUCVdICAgYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojMTk3NmQyfS5kaXNtaXNzW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1zZWxmOmJhc2VsaW5lO2ZsZXg6bm9uZTtoZWlnaHQ6MjBweDt3aWR0aDoyMHB4fSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYeXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1wcm9tby1ub3RpY2UtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoibWV0cmljc19wcm9tb19ub3RpY2VfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIm1ldHJpY3NfcHJvbW9fbm90aWNlX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6Y3IsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1l5dF19XX1dfSkse29uRGlzbWlzczpbe3R5cGU6RV99XSxvbkdvVG9TY2FsYXJzOlt7dHlwZTpFX31dfSk7Y2xhc3MgS3l0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dH1vbkRpc21pc3MoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKGpBKCkpfW9uR29Ub1NjYWxhcnMoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKFVBKCkpfX1mdW5jdGlvbiBKeXQodCxlKXsxJnQmJnZmKDAsIm1ldHJpY3MtcHJvbW8tbm90aWNlIiwzKX1LeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEt5dCkoZ2YoaVMpKX0sS3l0Lsm1Y21wPXNvKHt0eXBlOkt5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1wcm9tby1ub3RpY2UiXV0sZGVjbHM6MSx2YXJzOjAsY29uc3RzOltbMywib25EaXNtaXNzIiwib25Hb1RvU2NhbGFycyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWV0cmljcy1wcm9tby1ub3RpY2UtY29tcG9uZW50IiwwKSxSZigib25EaXNtaXNzIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRGlzbWlzcygpfSkpKCJvbkdvVG9TY2FsYXJzIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uR29Ub1NjYWxhcnMoKX0pKSxNZigpKX0sZGlyZWN0aXZlczpbWHl0XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEt5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWNzLXByb21vLW5vdGljZSIsdGVtcGxhdGU6JzxtZXRyaWNzLXByb21vLW5vdGljZS1jb21wb25lbnRcbiAgICAob25EaXNtaXNzKT0ib25EaXNtaXNzKCkiXG4gICAgKG9uR29Ub1NjYWxhcnMpPSJvbkdvVG9TY2FsYXJzKCkiXG4gID48L21ldHJpY3MtcHJvbW8tbm90aWNlLWNvbXBvbmVudD4nLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgUXl0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLmlzQnV0dGVyQmFyRW5hYmxlZCQ9dGhpcy5zdG9yZS5zZWxlY3QoWUQpLnBpcGUoX2UodGhpcy5zdG9yZS5zZWxlY3QoVHopKSxWdCgoKFt0LGVdKT0+dCYmZSkpKX19UXl0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxReXQpKGdmKGlTKSl9LFF5dC7JtWNtcD1zbyh7dHlwZTpReXQsc2VsZWN0b3JzOltbIm1ldHJpY3MtZGFzaGJvYXJkIl1dLGRlY2xzOjUsdmFyczozLGNvbnN0czpbWyJjbGFzcyIsIm5vdGljZSIsNCwibmdJZiJdLFsic2lkZWJhciIsIiJdLFsibWFpbiIsIiJdLFsxLCJub3RpY2UiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKEhtKDAsSnl0LDEsMCwibWV0cmljcy1wcm9tby1ub3RpY2UiLDApLF95KDEsImFzeW5jIiksQ2YoMiwidGItZGFzaGJvYXJkLWxheW91dCIpLHZmKDMsInJ1bnMtc2VsZWN0b3IiLDEpLHZmKDQsIm1ldHJpY3MtbWFpbi12aWV3IiwyKSxNZigpKSwyJmUmJmJmKCJuZ0lmIixDeSgxLDEsbi5pc0J1dHRlckJhckVuYWJsZWQkKSl9LGRpcmVjdGl2ZXM6W1B2LHYwLGI0LEd5dCxLeXRdLHBpcGVzOltWdl0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtjb250YWluOnN0cmljdDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlO2p1c3RpZnktY29udGVudDpzdHJldGNoO292ZXJmbG93OmhpZGRlbn0ubm90aWNlW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI0NSwxNTcsLjg1KTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZmZlYjNiO2NvbG9yOiMyMTIxMjE7ZGlzcGxheTpibG9jaztmbGV4OjAgMH10Yi1kYXNoYm9hcmQtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4OjEgMTtvdmVyZmxvdzpoaWRkZW59bmF2W19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZWJlYmViO2ZsZXg6bm9uZTt3aWR0aDozNDBweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICBuYXZbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICBuYXZbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6IzMwMzAzMDtib3JkZXItcmlnaHQtY29sb3I6IzU1NX1tZXRyaWNzLW1haW4tdmlld1tfbmdjb250ZW50LSVDT01QJV17ZmxleDoxIDF9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFF5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWNzLWRhc2hib2FyZCIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWNzLXByb21vLW5vdGljZVxuICAgICAgKm5nSWY9ImlzQnV0dGVyQmFyRW5hYmxlZCQgfCBhc3luYyJcbiAgICAgIGNsYXNzPSJub3RpY2UiXG4gICAgPjwvbWV0cmljcy1wcm9tby1ub3RpY2U+XG4gICAgPHRiLWRhc2hib2FyZC1sYXlvdXQ+XG4gICAgICA8cnVucy1zZWxlY3RvciBzaWRlYmFyPjwvcnVucy1zZWxlY3Rvcj5cbiAgICAgIDxtZXRyaWNzLW1haW4tdmlldyBtYWluPjwvbWV0cmljcy1tYWluLXZpZXc+XG4gICAgPC90Yi1kYXNoYm9hcmQtbGF5b3V0PlxuICAnLHN0eWxlVXJsczpbIm1ldHJpY3NfY29udGFpbmVyLmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgJHl0e30keXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fCR5dCl9LCR5dC7JtW1vZD1mbyh7dHlwZTokeXR9KSwkeXQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx2cSxJTF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYigkeXQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3YwXSxleHBvcnRzOlt2MF0saW1wb3J0czpbcngsdnEsSUxdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oJHl0LHtkZWNsYXJhdGlvbnM6W3YwXSxpbXBvcnRzOltyeCx2cSxJTF0sZXhwb3J0czpbdjBdfSk7Y2xhc3MgdF90e310X3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHRfdCl9LHRfdC7JtW1vZD1mbyh7dHlwZTp0X3R9KSx0X3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih0X3QsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltyeF0sZGVjbGFyYXRpb25zOltaeXRdLGV4cG9ydHM6W1p5dF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byh0X3Qse2RlY2xhcmF0aW9uczpbWnl0XSxpbXBvcnRzOltyeF0sZXhwb3J0czpbWnl0XX0pO2NsYXNzIGVfdHt9ZV90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxlX3QpfSxlX3QuybVtb2Q9Zm8oe3R5cGU6ZV90fSksZV90Lsm1aW5qPURuKHt9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGVfdCxbe3R5cGU6TF8sYXJnczpbe2V4cG9ydHM6W04yXSxkZWNsYXJhdGlvbnM6W04yXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGVfdCx7ZGVjbGFyYXRpb25zOltOMl0sZXhwb3J0czpbTjJdfSk7Y2xhc3Mgbl90e31uX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG5fdCl9LG5fdC7JtW1vZD1mbyh7dHlwZTpuX3R9KSxuX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxlX3RdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobl90LFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbcngsZV90XSxleHBvcnRzOltIMl0sZGVjbGFyYXRpb25zOltIMl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhuX3Qse2RlY2xhcmF0aW9uczpbSDJdLGltcG9ydHM6W3J4LGVfdF0sZXhwb3J0czpbSDJdfSk7Y2xhc3Mgb190e31vX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG9fdCl9LG9fdC7JtW1vZD1mbyh7dHlwZTpvX3R9KSxvX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxxMyx2cV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihvX3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W1ozXSxleHBvcnRzOltaM10saW1wb3J0czpbcngscTMsdnFdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8ob190LHtkZWNsYXJhdGlvbnM6W1ozXSxpbXBvcnRzOltyeCxxMyx2cV0sZXhwb3J0czpbWjNdfSk7Y2xhc3MgaV90e31pX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGlfdCl9LGlfdC7JtW1vZD1mbyh7dHlwZTppX3R9KSxpX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihpX3QsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltyeF0sZXhwb3J0czpbRTJdLGRlY2xhcmF0aW9uczpbRTJdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oaV90LHtkZWNsYXJhdGlvbnM6W0UyXSxpbXBvcnRzOltyeF0sZXhwb3J0czpbRTJdfSk7Y2xhc3MgYV90e31hX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGFfdCl9LGFfdC7JtW1vZD1mbyh7dHlwZTphX3R9KSxhX3QuybVpbmo9RG4oe2ltcG9ydHM6W1t3NSxyeCxuX3Qsb190LENVLElMLE1aLG5xLFRaLHZxLFhxLG4xLHIyLHUxLGszLGlfdCxGVl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihhX3QsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOlt3NSxyeCxuX3Qsb190LENVLElMLE1aLG5xLFRaLHZxLFhxLG4xLHIyLHUxLGszLGlfdCxGVl0sZXhwb3J0czpbZzRdLGVudHJ5Q29tcG9uZW50czpbeTJdLGRlY2xhcmF0aW9uczpbYjIseTIsazIsUzIscDQsZzRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oYV90LHtkZWNsYXJhdGlvbnM6W2IyLHkyLGsyLFMyLHA0LGc0XSxpbXBvcnRzOlt3NSxyeCxuX3Qsb190LENVLElMLE1aLG5xLFRaLHZxLFhxLG4xLHIyLHUxLGszLGlfdCxGVl0sZXhwb3J0czpbZzRdfSk7Y2xhc3Mgcl90e31yX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHJfdCl9LHJfdC7JtW1vZD1mbyh7dHlwZTpyX3R9KSxyX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxhX3RdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocl90LFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbcngsYV90XSxleHBvcnRzOltiNF0sZGVjbGFyYXRpb25zOltoNCxiNF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhyX3Qse2RlY2xhcmF0aW9uczpbaDQsYjRdLGltcG9ydHM6W3J4LGFfdF0sZXhwb3J0czpbYjRdfSk7Y2xhc3Mgc190e31zX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHNfdCl9LHNfdC7JtW1vZD1mbyh7dHlwZTpzX3R9KSxzX3QuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoc190LFt7dHlwZTpMXyxhcmdzOlt7ZXhwb3J0czpbc2J0XSxkZWNsYXJhdGlvbnM6W3NidF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhzX3Qse2RlY2xhcmF0aW9uczpbc2J0XSxleHBvcnRzOltzYnRdfSk7Y2xhc3MgbF90e31sX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGxfdCl9LGxfdC7JtW1vZD1mbyh7dHlwZTpsX3R9KSxsX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihsX3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W2podF0sZXhwb3J0czpbamh0XSxpbXBvcnRzOltyeF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhsX3Qse2RlY2xhcmF0aW9uczpbamh0XSxpbXBvcnRzOltyeF0sZXhwb3J0czpbamh0XX0pO2NsYXNzIGNfdHt9Y190Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxjX3QpfSxjX3QuybVtb2Q9Zm8oe3R5cGU6Y190fSksY190Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsSCQsc190LGxfdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihjX3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W2tidF0sZXhwb3J0czpba2J0XSxpbXBvcnRzOltyeCxIJCxzX3QsbF90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGNfdCx7ZGVjbGFyYXRpb25zOltrYnRdLGltcG9ydHM6W3J4LEgkLHNfdCxsX3RdLGV4cG9ydHM6W2tidF19KTtjbGFzcyBkX3R7fWRfdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZF90KX0sZF90Lsm1bW9kPWZvKHt0eXBlOmRfdH0pLGRfdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRfdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbTDRdLGV4cG9ydHM6W0w0XSxpbXBvcnRzOltyeF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhkX3Qse2RlY2xhcmF0aW9uczpbTDRdLGltcG9ydHM6W3J4XSxleHBvcnRzOltMNF19KTtjbGFzcyBwX3R7fXBfdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cF90KX0scF90Lsm1bW9kPWZvKHt0eXBlOnBfdH0pLHBfdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LG5fdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihwX3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W1c0LFU0XSxleHBvcnRzOltXNF0saW1wb3J0czpbcngsbl90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHBfdCx7ZGVjbGFyYXRpb25zOltXNCxVNF0saW1wb3J0czpbcngsbl90XSxleHBvcnRzOltXNF19KTtjbGFzcyBtX3R7fW1fdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bV90KX0sbV90Lsm1bW9kPWZvKHt0eXBlOm1fdH0pLG1fdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LHZxXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1fdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbVmh0XSxleHBvcnRzOltWaHRdLGltcG9ydHM6W3J4LHZxXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKG1fdCx7ZGVjbGFyYXRpb25zOltWaHRdLGltcG9ydHM6W3J4LHZxXSxleHBvcnRzOltWaHRdfSk7Y2xhc3MgZl90e31mX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGZfdCl9LGZfdC7JtW1vZD1mbyh7dHlwZTpmX3R9KSxmX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxjX3QsSUwsdnEscjIscF90LGRfdCxtX3RdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZl90LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltMYnQsRmJ0XSxleHBvcnRzOltMYnRdLGltcG9ydHM6W3J4LGNfdCxJTCx2cSxyMixwX3QsZF90LG1fdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhmX3Qse2RlY2xhcmF0aW9uczpbTGJ0LEZidF0saW1wb3J0czpbcngsY190LElMLHZxLHIyLHBfdCxkX3QsbV90XSxleHBvcnRzOltMYnRdfSk7Y2xhc3MgdV90e311X3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHVfdCl9LHVfdC7JtW1vZD1mbyh7dHlwZTp1X3R9KSx1X3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxJTCx2cSxyMixSSixwX3QsZF90XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHVfdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbdDYsJDRdLGV4cG9ydHM6W3Q2XSxpbXBvcnRzOltyeCxJTCx2cSxyMixSSixwX3QsZF90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHVfdCx7ZGVjbGFyYXRpb25zOlt0NiwkNF0saW1wb3J0czpbcngsSUwsdnEscjIsUkoscF90LGRfdF0sZXhwb3J0czpbdDZdfSk7Y2xhc3MgZ190e31nX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGdfdCl9LGdfdC7JtW1vZD1mbyh7dHlwZTpnX3R9KSxnX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxvVixJTCx2cSxUWixYcV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihnX3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W01odCx1aHQsZWh0XSxleHBvcnRzOltNaHQsdWh0LGVodF0saW1wb3J0czpbcngsb1YsSUwsdnEsVFosWHFdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oZ190LHtkZWNsYXJhdGlvbnM6W01odCx1aHQsZWh0XSxpbXBvcnRzOltyeCxvVixJTCx2cSxUWixYcV0sZXhwb3J0czpbTWh0LHVodCxlaHRdfSk7Y2xhc3MgaF90e31oX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGhfdCl9LGhfdC7JtW1vZD1mbyh7dHlwZTpoX3R9KSxoX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxvVixnX3QsSCRdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaF90LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltCaHRdLGV4cG9ydHM6W0JodF0saW1wb3J0czpbcngsb1YsZ190LEgkXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGhfdCx7ZGVjbGFyYXRpb25zOltCaHRdLGltcG9ydHM6W3J4LG9WLGdfdCxIJF0sZXhwb3J0czpbQmh0XX0pO2NsYXNzIGJfdHt9Yl90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxiX3QpfSxiX3QuybVtb2Q9Zm8oe3R5cGU6Yl90fSksYl90Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdFksSUwsbnEsVFosUFksSE5dXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoYl90LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltmNixtNl0sZXhwb3J0czpbZjZdLGltcG9ydHM6W3J4LHRZLElMLG5xLFRaLFBZLEhOXSxlbnRyeUNvbXBvbmVudHM6W2Y2XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGJfdCx7ZGVjbGFyYXRpb25zOltmNixtNl0saW1wb3J0czpbcngsdFksSUwsbnEsVFosUFksSE5dLGV4cG9ydHM6W2Y2XX0pO2NsYXNzIHlfdHt9eV90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx5X3QpfSx5X3QuybVtb2Q9Zm8oe3R5cGU6eV90fSkseV90Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsYl90LG5fdCxzX3QsaF90LGxfdCxJTCx2cSxYcSxyMixIJCxkX3QsbV90XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHlfdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbY2J0LHJidF0sZXhwb3J0czpbY2J0XSxpbXBvcnRzOltyeCxiX3Qsbl90LHNfdCxoX3QsbF90LElMLHZxLFhxLHIyLEgkLGRfdCxtX3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oeV90LHtkZWNsYXJhdGlvbnM6W2NidCxyYnRdLGltcG9ydHM6W3J4LGJfdCxuX3Qsc190LGhfdCxsX3QsSUwsdnEsWHEscjIsSCQsZF90LG1fdF0sZXhwb3J0czpbY2J0XX0pO2NsYXNzIF9fdHt9X190Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxfX3QpfSxfX3QuybVtb2Q9Zm8oe3R5cGU6X190fSksX190Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdV90LHlfdCxmX3Qsc190XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKF9fdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbQzQsR2J0LFlidF0sZXhwb3J0czpbQzQsWWJ0XSxpbXBvcnRzOltyeCx1X3QseV90LGZfdCxzX3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oX190LHtkZWNsYXJhdGlvbnM6W0M0LEdidCxZYnRdLGltcG9ydHM6W3J4LHVfdCx5X3QsZl90LHNfdF0sZXhwb3J0czpbQzQsWWJ0XX0pO2NsYXNzIENfdHt9Q190Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxDX3QpfSxDX3QuybVtb2Q9Zm8oe3R5cGU6Q190fSksQ190Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsUFldXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ190LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltSeXRdLGV4cG9ydHM6W1J5dF0saW1wb3J0czpbcngsUFldfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oQ190LHtkZWNsYXJhdGlvbnM6W1J5dF0saW1wb3J0czpbcngsUFldLGV4cG9ydHM6W1J5dF19KTtjbGFzcyBNX3R7fU1fdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TV90KX0sTV90Lsm1bW9kPWZvKHt0eXBlOk1fdH0pLE1fdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LENfdCxJTCx6NCxNWix2cSxQWSxSSixJTixpX3RdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTV90LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltMeXQsSHl0LEZ5dF0sZXhwb3J0czpbTHl0XSxpbXBvcnRzOltyeCxDX3QsSUwsejQsTVosdnEsUFksUkosSU4saV90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKE1fdCx7ZGVjbGFyYXRpb25zOltMeXQsSHl0LEZ5dF0saW1wb3J0czpbcngsQ190LElMLHo0LE1aLHZxLFBZLFJKLElOLGlfdF0sZXhwb3J0czpbTHl0XX0pO2NsYXNzIHZfdHt9dl90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx2X3QpfSx2X3QuybVtb2Q9Zm8oe3R5cGU6dl90fSksdl90Lsm1aW5qPURuKHtpbXBvcnRzOltbX190LHJ4LG9fdCxxMyxJTCx6NCx2cSxUWixyMixNX3QsaUJdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodl90LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltpeXQsYXl0LEN5dCxNeXQsYnl0LHl5dCx4eXQsT3l0LGt5dCxTeXQsV3l0LEd5dCxPNCxQNCxkeXQscHl0XSxleHBvcnRzOltHeXRdLGltcG9ydHM6W19fdCxyeCxvX3QscTMsSUwsejQsdnEsVFoscjIsTV90LGlCXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHZfdCx7ZGVjbGFyYXRpb25zOltpeXQsYXl0LEN5dCxNeXQsYnl0LHl5dCx4eXQsT3l0LGt5dCxTeXQsV3l0LEd5dCxPNCxQNCxkeXQscHl0XSxpbXBvcnRzOltfX3Qscngsb190LHEzLElMLHo0LHZxLFRaLHIyLE1fdCxpQl0sZXhwb3J0czpbR3l0XX0pO2NsYXNzIHhfdHt9eF90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4X3QpfSx4X3QuybVtb2Q9Zm8oe3R5cGU6eF90fSkseF90Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdF90LCR5dCx2X3QsdnEsTV90LHJfdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4X3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W1F5dCxYeXQsS3l0XSxleHBvcnRzOltReXRdLGltcG9ydHM6W3J4LHRfdCwkeXQsdl90LHZxLE1fdCxyX3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oeF90LHtkZWNsYXJhdGlvbnM6W1F5dCxYeXQsS3l0XSxpbXBvcnRzOltyeCx0X3QsJHl0LHZfdCx2cSxNX3Qscl90XSxleHBvcnRzOltReXRdfSk7ZnVuY3Rpb24gT190KCl7cmV0dXJuW3thY3Rpb25DcmVhdG9yOnpBLGFsZXJ0RnJvbUFjdGlvbjp0PT57Y29uc3R7d2FzUGlubmVkOmUsY2FuQ3JlYXRlTmV3UGluczpufT10O3JldHVybiBlfHxuP251bGw6e2xvY2FsaXplZE1lc3NhZ2U6Ik1heCBwaW4gbGltaXQgZXhjZWVkZWQuIFJlbW92ZSBleGlzdGluZyBwaW5zIGJlZm9yZSBhZGRpbmcgbW9yZS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2lzc3Vlcy80MjQyIn19fV19ZnVuY3Rpb24gUF90KCl7cmV0dXJuIGJTKEN6LCh0PT4oe3NjYWxhclNtb290aGluZzp0fSkpKX1mdW5jdGlvbiB3X3QoKXtyZXR1cm4gYlMoYnosKHQ9Pih7aWdub3JlT3V0bGllcnM6dH0pKSl9ZnVuY3Rpb24ga190KCl7cmV0dXJuIGJTKGh6LCh0PT4oe3Rvb2x0aXBTb3J0U3RyaW5nOlN0cmluZyh0KX0pKSl9ZnVuY3Rpb24gU190KCl7cmV0dXJuIGJTKFR6LCh0PT4oe3RpbWVTZXJpZXNQcm9tb3Rpb25EaXNtaXNzZWQ6IXR9KSkpfWZ1bmN0aW9uIERfdCgpe3JldHVybiBiUyhOeiwodD0+KHt0aW1lU2VyaWVzU2V0dGluZ3NQYW5lT3BlbmVkOnR9KSkpfWZ1bmN0aW9uIFJfdCgpe3JldHVybiBiUyhneiwodD0+KHt0aW1lU2VyaWVzQ2FyZE1pbldpZHRoOnR9KSkpfWNsYXNzIEVfdHt9ZnVuY3Rpb24gQV90KHQpe3JldHVybiB0LnN0YXJ0c1dpdGgoImNvdW50QCIpfWZ1bmN0aW9uIFRfdCh0KXtyZXR1cm4gdC5zdGFydHNXaXRoKCJuUE1JQCIpfHx0LnN0YXJ0c1dpdGgoIm5QTUlfZGlmZkAiKX1mdW5jdGlvbiBOX3QodCl7cmV0dXJuIHQuc3RhcnRzV2l0aCgiblBNSUAiKX1mdW5jdGlvbiB6X3QodCl7cmV0dXJuIHQuc3BsaXQoIkAiLDIpWzFdfUVfdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RV90KX0sRV90Lsm1bW9kPWZvKHt0eXBlOkVfdH0pLEVfdC7JtWluaj1Ebih7cHJvdmlkZXJzOlt7cHJvdmlkZTpmMCx1c2VGYWN0b3J5OmcwLGRlcHM6W3UwXX0se3Byb3ZpZGU6dTAsdXNlVmFsdWU6WE59XSxpbXBvcnRzOltbcngsUlIsZFQsTVguZm9yUGx1Z2luKCRULFF5dCksSE4seF90LFRTLmZvckZlYXR1cmUoWk4sczAsZjApLGhELmZvckZlYXR1cmUoW20wXSksbVQucmVnaXN0ZXJBbGVydEFjdGlvbnMoT190KSx6Ui5kZWZpbmVHbG9iYWxTZXR0aW5nKFBfdCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyh3X3QpLHpSLmRlZmluZUdsb2JhbFNldHRpbmcoa190KSx6Ui5kZWZpbmVHbG9iYWxTZXR0aW5nKFNfdCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyhEX3QpLHpSLmRlZmluZUdsb2JhbFNldHRpbmcoUl90KV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihFX3QsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltyeCxSUixkVCxNWC5mb3JQbHVnaW4oJFQsUXl0KSxITix4X3QsVFMuZm9yRmVhdHVyZShaTixzMCxmMCksaEQuZm9yRmVhdHVyZShbbTBdKSxtVC5yZWdpc3RlckFsZXJ0QWN0aW9ucyhPX3QpLHpSLmRlZmluZUdsb2JhbFNldHRpbmcoUF90KSx6Ui5kZWZpbmVHbG9iYWxTZXR0aW5nKHdfdCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyhrX3QpLHpSLmRlZmluZUdsb2JhbFNldHRpbmcoU190KSx6Ui5kZWZpbmVHbG9iYWxTZXR0aW5nKERfdCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyhSX3QpXSxwcm92aWRlcnM6W3twcm92aWRlOmYwLHVzZUZhY3Rvcnk6ZzAsZGVwczpbdTBdfSx7cHJvdmlkZTp1MCx1c2VWYWx1ZTpYTn1dLGVudHJ5Q29tcG9uZW50czpbUXl0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEVfdCx7aW1wb3J0czpbcngsUlIsZFQsTVgsSE4seF90LEFTLGdELG1ULHpSLHpSLHpSLHpSLHpSLHpSXX0pO3ZhciBJX3Q9e30sSF90PXt9LEZfdD17fSxMX3Q9e30sQl90PV9PJiZfTy5fX3ZhbHVlc3x8ZnVuY3Rpb24odCl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmdFtTeW1ib2wuaXRlcmF0b3JdLG49MDtyZXR1cm4gZT9lLmNhbGwodCk6e25leHQ6ZnVuY3Rpb24oKXtyZXR1cm4gdCYmbj49dC5sZW5ndGgmJih0PXZvaWQgMCkse3ZhbHVlOnQmJnRbbisrXSxkb25lOiF0fX19fTtmdW5jdGlvbiBWX3QodCxlKXtyZXR1cm4gTWF0aC5mbG9vcihlKCkqdCl9ZnVuY3Rpb24gal90KHQpe2Zvcih2YXIgZT1bXSxuPTA7bjx0O24rKyllLnB1c2godm9pZCAwKTtyZXR1cm4gZX1mdW5jdGlvbiBVX3QodCxlKXtyZXR1cm4gal90KHQpLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gZX0pKX1mdW5jdGlvbiBXX3QodCl7cmV0dXJuIFVfdCh0LDApfWZ1bmN0aW9uIEdfdCh0KXtyZXR1cm4gdC5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrZX0pKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoTF90LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxMX3QudGF1UmFuZEludD1WX3QsTF90LnRhdVJhbmQ9ZnVuY3Rpb24gWV90KHQpe3JldHVybiB0KCl9LExfdC5ub3JtPWZ1bmN0aW9uIHFfdCh0KXt2YXIgZSxuLG89MDt0cnl7Zm9yKHZhciBpPUJfdCh0KSxhPWkubmV4dCgpOyFhLmRvbmU7YT1pLm5leHQoKSl7bys9TWF0aC5wb3coYS52YWx1ZSwyKX19Y2F0Y2godCl7ZT17ZXJyb3I6dH19ZmluYWxseXt0cnl7YSYmIWEuZG9uZSYmKG49aS5yZXR1cm4pJiZuLmNhbGwoaSl9ZmluYWxseXtpZihlKXRocm93IGUuZXJyb3J9fXJldHVybiBNYXRoLnNxcnQobyl9LExfdC5lbXB0eT1qX3QsTF90LnJhbmdlPWZ1bmN0aW9uIFpfdCh0KXtyZXR1cm4gal90KHQpLm1hcCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gZX0pKX0sTF90LmZpbGxlZD1VX3QsTF90Lnplcm9zPVdfdCxMX3Qub25lcz1mdW5jdGlvbiBYX3QodCl7cmV0dXJuIFVfdCh0LDEpfSxMX3QubGluZWFyPWZ1bmN0aW9uIEtfdCh0LGUsbil7cmV0dXJuIGpfdChuKS5tYXAoKGZ1bmN0aW9uKG8saSl7cmV0dXJuIHQraSooKGUtdCkvKG4tMSkpfSkpfSxMX3Quc3VtPUdfdCxMX3QubWVhbj1mdW5jdGlvbiBKX3QodCl7cmV0dXJuIEdfdCh0KS90Lmxlbmd0aH0sTF90Lm1heD1mdW5jdGlvbiBRX3QodCl7Zm9yKHZhciBlPTAsbj0wO248dC5sZW5ndGg7bisrKWU9dFtuXT5lP3Rbbl06ZTtyZXR1cm4gZX0sTF90Lm1heDJkPWZ1bmN0aW9uICRfdCh0KXtmb3IodmFyIGU9MCxuPTA7bjx0Lmxlbmd0aDtuKyspZm9yKHZhciBvPTA7bzx0W25dLmxlbmd0aDtvKyspZT10W25dW29dPmU/dFtuXVtvXTplO3JldHVybiBlfSxMX3QucmVqZWN0aW9uU2FtcGxlPWZ1bmN0aW9uIHRDdCh0LGUsbil7Zm9yKHZhciBvPVdfdCh0KSxpPTA7aTx0O2krKylmb3IodmFyIGE9ITA7YTspe2Zvcih2YXIgcj1WX3QoZSxuKSxzPSExLGw9MDtsPGk7bCsrKWlmKHI9PT1vW2xdKXtzPSEwO2JyZWFrfXN8fChhPSExKSxvW2ldPXJ9cmV0dXJuIG99LExfdC5yZXNoYXBlMmQ9ZnVuY3Rpb24gZUN0KHQsZSxuKXt2YXIgbz1bXSxpPTA7aWYodC5sZW5ndGghPT1lKm4pdGhyb3cgbmV3IEVycm9yKCJBcnJheSBkaW1lbnNpb25zIG11c3QgbWF0Y2ggaW5wdXQgbGVuZ3RoLiIpO2Zvcih2YXIgYT0wO2E8ZTthKyspe2Zvcih2YXIgcj1bXSxzPTA7czxuO3MrKylyLnB1c2godFtpXSksaSs9MTtvLnB1c2gocil9cmV0dXJuIG99O3ZhciBuQ3Q9X08mJl9PLl9faW1wb3J0U3Rhcnx8ZnVuY3Rpb24odCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPXt9O2lmKG51bGwhPXQpZm9yKHZhciBuIGluIHQpT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodCxuKSYmKGVbbl09dFtuXSk7cmV0dXJuIGUuZGVmYXVsdD10LGV9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShGX3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBvQ3Q9bkN0KExfdCk7ZnVuY3Rpb24gaUN0KHQsZSl7dmFyIG49ZnVuY3Rpb24obil7cmV0dXJuIG9DdC5lbXB0eSh0KS5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuIG9DdC5maWxsZWQoZSxuKX0pKX0sbz1bXTtyZXR1cm4gby5wdXNoKG4oLTEpKSxvLnB1c2gobigxLzApKSxvLnB1c2gobigwKSksb31mdW5jdGlvbiBhQ3QodCxlLG4sbyxpKXtlPU1hdGguZmxvb3IoZSk7dmFyIGE9dFswXVtlXTtpZihuPj10WzFdW2VdWzBdKXJldHVybiAwO2Zvcih2YXIgcj0wO3I8YS5sZW5ndGg7cisrKWlmKG89PT1hW3JdKXJldHVybiAwO3JldHVybiByQ3QodCxlLG4sbyxpKX1mdW5jdGlvbiByQ3QodCxlLG4sbyxpKXt2YXIgYT10WzBdW2VdLHI9dFsxXVtlXSxzPXRbMl1bZV07aWYobj49clswXSlyZXR1cm4gMDtyWzBdPW4sYVswXT1vLHNbMF09aTtmb3IodmFyIGw9MCxjPTA7Oyl7dmFyIGQ9MipsKzEscD1kKzEsbT10WzBdWzBdLmxlbmd0aDtpZihkPj1tKWJyZWFrO2lmKHA+PW0pe2lmKCEocltkXT5uKSlicmVhaztjPWR9ZWxzZSBpZihyW2RdPj1yW3BdKXtpZighKG48cltkXSkpYnJlYWs7Yz1kfWVsc2V7aWYoIShuPHJbcF0pKWJyZWFrO2M9cH1yW2xdPXJbY10sYVtsXT1hW2NdLHNbbF09c1tjXSxsPWN9cmV0dXJuIHJbbF09bixhW2xdPW8sc1tsXT1pLDF9ZnVuY3Rpb24gc0N0KHQsZSxuLG8pe2Zvcig7MipvKzE8bjspe3ZhciBpPTIqbysxLGE9aSsxLHI9bztpZih0W3JdPHRbaV0mJihyPWkpLGE8biYmdFtyXTx0W2FdJiYocj1hKSxyPT09bylicmVhazt2YXIgcz10W29dO3Rbb109dFtyXSx0W3JdPXM7dmFyIGw9ZVtvXTtlW29dPWVbcl0sZVtyXT1sLG89cn19Rl90Lm1ha2VIZWFwPWlDdCxGX3QucmVqZWN0aW9uU2FtcGxlPWZ1bmN0aW9uIGxDdCh0LGUsbil7Zm9yKHZhciBvPW9DdC56ZXJvcyh0KSxpPTA7aTx0O2krKyl7Zm9yKHZhciBhPSEwLHI9MDthOyl7cj1vQ3QudGF1UmFuZEludChlLG4pO2Zvcih2YXIgcz0hMSxsPTA7bDxpO2wrKylpZihyPT09b1tsXSl7cz0hMDticmVha31zfHwoYT0hMSl9b1tpXT1yfXJldHVybiBvfSxGX3QuaGVhcFB1c2g9YUN0LEZfdC51bmNoZWNrZWRIZWFwUHVzaD1yQ3QsRl90LmJ1aWxkQ2FuZGlkYXRlcz1mdW5jdGlvbiBjQ3QodCxlLG4sbyxpKXtmb3IodmFyIGE9aUN0KGUsbykscj0wO3I8ZTtyKyspZm9yKHZhciBzPTA7czxuO3MrKylpZighKHRbMF1bcl1bc108MCkpe3ZhciBsPXRbMF1bcl1bc10sYz10WzJdW3JdW3NdLGQ9b0N0LnRhdVJhbmQoaSk7YUN0KGEscixkLGwsYyksYUN0KGEsbCxkLHIsYyksdFsyXVtyXVtzXT0wfXJldHVybiBhfSxGX3QuZGVoZWFwU29ydD1mdW5jdGlvbiBkQ3QodCl7Zm9yKHZhciBlPXRbMF0sbj10WzFdLG89MDtvPGUubGVuZ3RoO28rKylmb3IodmFyIGk9ZVtvXSxhPW5bb10scj0wO3I8aS5sZW5ndGgtMTtyKyspe3ZhciBzPWkubGVuZ3RoLXItMSxsPWEubGVuZ3RoLXItMSxjPWlbMF07aVswXT1pW3NdLGlbc109Yzt2YXIgZD1hWzBdO2FbMF09YVtsXSxhW2xdPWQsc0N0KGEsaSxsLDApfXJldHVybntpbmRpY2VzOmUsd2VpZ2h0czpufX0sRl90LnNtYWxsZXN0RmxhZ2dlZD1mdW5jdGlvbiBwQ3QodCxlKXtmb3IodmFyIG49dFswXVtlXSxvPXRbMV1bZV0saT10WzJdW2VdLGE9MS8wLHI9LTEscz0wO3M+bi5sZW5ndGg7cysrKTE9PT1pW3NdJiZvW3NdPGEmJihhPW9bc10scj1zKTtyZXR1cm4gcj49MD8oaVtyXT0wLE1hdGguZmxvb3IobltyXSkpOi0xfTt2YXIgbUN0LGZDdD17fSx1Q3Q9X08mJl9PLl9fcmVhZHx8ZnVuY3Rpb24odCxlKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl07aWYoIW4pcmV0dXJuIHQ7dmFyIG8saSxhPW4uY2FsbCh0KSxyPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT1lfHxlLS0gPjApJiYhKG89YS5uZXh0KCkpLmRvbmU7KXIucHVzaChvLnZhbHVlKX1jYXRjaCh0KXtpPXtlcnJvcjp0fX1maW5hbGx5e3RyeXtvJiYhby5kb25lJiYobj1hLnJldHVybikmJm4uY2FsbChhKX1maW5hbGx5e2lmKGkpdGhyb3cgaS5lcnJvcn19cmV0dXJuIHJ9LGdDdD1fTyYmX08uX192YWx1ZXN8fGZ1bmN0aW9uKHQpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXSxuPTA7cmV0dXJuIGU/ZS5jYWxsKHQpOntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHQmJm4+PXQubGVuZ3RoJiYodD12b2lkIDApLHt2YWx1ZTp0JiZ0W24rK10sZG9uZTohdH19fX0saEN0PV9PJiZfTy5fX2ltcG9ydFN0YXJ8fGZ1bmN0aW9uKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgZT17fTtpZihudWxsIT10KWZvcih2YXIgbiBpbiB0KU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pO3JldHVybiBlLmRlZmF1bHQ9dCxlfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZkN0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYkN0PWhDdChMX3QpLHlDdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSxuLG8pe2lmKHRoaXMuZW50cmllcz1uZXcgTWFwLHRoaXMublJvd3M9MCx0aGlzLm5Db2xzPTAsdC5sZW5ndGghPT1lLmxlbmd0aHx8dC5sZW5ndGghPT1uLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoInJvd3MsIGNvbHMgYW5kIHZhbHVlcyBhcnJheXMgbXVzdCBhbGwgaGF2ZSB0aGUgc2FtZSBsZW5ndGgiKTt0aGlzLm5Sb3dzPW9bMF0sdGhpcy5uQ29scz1vWzFdO2Zvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgYT10W2ldLHI9ZVtpXTt0aGlzLmNoZWNrRGltcyhhLHIpO3ZhciBzPXRoaXMubWFrZUtleShhLHIpO3RoaXMuZW50cmllcy5zZXQocyx7dmFsdWU6bltpXSxyb3c6YSxjb2w6cn0pfX1yZXR1cm4gdC5wcm90b3R5cGUubWFrZUtleT1mdW5jdGlvbih0LGUpe3JldHVybiB0KyI6IitlfSx0LnByb3RvdHlwZS5jaGVja0RpbXM9ZnVuY3Rpb24odCxlKXtpZighKHQ8dGhpcy5uUm93cyYmZTx0aGlzLm5Db2xzKSl0aHJvdyBuZXcgRXJyb3IoInJvdyBhbmQvb3IgY29sIHNwZWNpZmllZCBvdXRzaWRlIG9mIG1hdHJpeCBkaW1lbnNpb25zIil9LHQucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LGUsbil7dGhpcy5jaGVja0RpbXModCxlKTt2YXIgbz10aGlzLm1ha2VLZXkodCxlKTt0aGlzLmVudHJpZXMuaGFzKG8pP3RoaXMuZW50cmllcy5nZXQobykudmFsdWU9bjp0aGlzLmVudHJpZXMuc2V0KG8se3ZhbHVlOm4scm93OnQsY29sOmV9KX0sdC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQsZSxuKXt2b2lkIDA9PT1uJiYobj0wKSx0aGlzLmNoZWNrRGltcyh0LGUpO3ZhciBvPXRoaXMubWFrZUtleSh0LGUpO3JldHVybiB0aGlzLmVudHJpZXMuaGFzKG8pP3RoaXMuZW50cmllcy5nZXQobykudmFsdWU6bn0sdC5wcm90b3R5cGUuZ2V0QWxsPWZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PSEwKTt2YXIgZT1bXTtyZXR1cm4gdGhpcy5lbnRyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2UucHVzaCh0KX0pKSx0JiZlLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQucm93PT09ZS5yb3c/dC5jb2wtZS5jb2w6dC5yb3ctZS5yb3d9KSksZX0sdC5wcm90b3R5cGUuZ2V0RGltcz1mdW5jdGlvbigpe3JldHVyblt0aGlzLm5Sb3dzLHRoaXMubkNvbHNdfSx0LnByb3RvdHlwZS5nZXRSb3dzPWZ1bmN0aW9uKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5lbnRyaWVzLChmdW5jdGlvbih0KXt2YXIgZT11Q3QodCwyKTtyZXR1cm4gZVsxXS5yb3d9KSl9LHQucHJvdG90eXBlLmdldENvbHM9ZnVuY3Rpb24oKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmVudHJpZXMsKGZ1bmN0aW9uKHQpe3ZhciBlPXVDdCh0LDIpO3JldHVybiBlWzFdLmNvbH0pKX0sdC5wcm90b3R5cGUuZ2V0VmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5lbnRyaWVzLChmdW5jdGlvbih0KXt2YXIgZT11Q3QodCwyKTtyZXR1cm4gZVsxXS52YWx1ZX0pKX0sdC5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbih0KXt0aGlzLmVudHJpZXMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQoZS52YWx1ZSxlLnJvdyxlLmNvbCl9KSl9LHQucHJvdG90eXBlLm1hcD1mdW5jdGlvbihlKXt2YXIgbj1bXTt0aGlzLmVudHJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7bi5wdXNoKGUodC52YWx1ZSx0LnJvdyx0LmNvbCkpfSkpO3ZhciBvPVt0aGlzLm5Sb3dzLHRoaXMubkNvbHNdO3JldHVybiBuZXcgdCh0aGlzLmdldFJvd3MoKSx0aGlzLmdldENvbHMoKSxuLG8pfSx0LnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPWJDdC5lbXB0eSh0aGlzLm5Sb3dzKS5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuIGJDdC56ZXJvcyh0Lm5Db2xzKX0pKTtyZXR1cm4gdGhpcy5lbnRyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2VbdC5yb3ddW3QuY29sXT10LnZhbHVlfSkpLGV9LHR9KSgpO2ZDdC5TcGFyc2VNYXRyaXg9eUN0LGZDdC50cmFuc3Bvc2U9ZnVuY3Rpb24gX0N0KHQpe3ZhciBlPVtdLG49W10sbz1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0LGksYSl7ZS5wdXNoKGkpLG4ucHVzaChhKSxvLnB1c2godCl9KSksbmV3IHlDdChuLGUsbyxbdC5uQ29scyx0Lm5Sb3dzXSl9LGZDdC5pZGVudGl0eT1mdW5jdGlvbiBDQ3QodCl7Zm9yKHZhciBlPXVDdCh0LDEpWzBdLG49bmV3IHlDdChbXSxbXSxbXSx0KSxvPTA7bzxlO28rKyluLnNldChvLG8sMSk7cmV0dXJuIG59LGZDdC5wYWlyd2lzZU11bHRpcGx5PWZ1bmN0aW9uIE1DdCh0LGUpe3JldHVybiBEQ3QodCxlLChmdW5jdGlvbih0LGUpe3JldHVybiB0KmV9KSl9LGZDdC5hZGQ9ZnVuY3Rpb24gdkN0KHQsZSl7cmV0dXJuIERDdCh0LGUsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrZX0pKX0sZkN0LnN1YnRyYWN0PWZ1bmN0aW9uIHhDdCh0LGUpe3JldHVybiBEQ3QodCxlLChmdW5jdGlvbih0LGUpe3JldHVybiB0LWV9KSl9LGZDdC5tYXhpbXVtPWZ1bmN0aW9uIE9DdCh0LGUpe3JldHVybiBEQ3QodCxlLChmdW5jdGlvbih0LGUpe3JldHVybiB0PmU/dDplfSkpfSxmQ3QubXVsdGlwbHlTY2FsYXI9ZnVuY3Rpb24gUEN0KHQsZSl7cmV0dXJuIHQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdCplfSkpfSxmQ3QuZWxpbWluYXRlWmVyb3M9ZnVuY3Rpb24gd0N0KHQpe2Zvcih2YXIgZT1uZXcgU2V0LG49dC5nZXRWYWx1ZXMoKSxvPXQuZ2V0Um93cygpLGk9dC5nZXRDb2xzKCksYT0wO2E8bi5sZW5ndGg7YSsrKTA9PT1uW2FdJiZlLmFkZChhKTt2YXIgcj1mdW5jdGlvbih0LG4pe3JldHVybiFlLmhhcyhuKX0scz1uLmZpbHRlcihyKSxsPW8uZmlsdGVyKHIpLGM9aS5maWx0ZXIocik7cmV0dXJuIG5ldyB5Q3QobCxjLHMsdC5nZXREaW1zKCkpfSxmQ3Qubm9ybWFsaXplPWZ1bmN0aW9uIGtDdCh0LGUpe3ZhciBuLG87dm9pZCAwPT09ZSYmKGU9ImwyIik7dmFyIGk9U0N0W2VdLGE9bmV3IE1hcDt0LmZvckVhY2goKGZ1bmN0aW9uKHQsZSxuKXt2YXIgbz1hLmdldChlKXx8W107by5wdXNoKG4pLGEuc2V0KGUsbyl9KSk7dmFyIHI9bmV3IHlDdChbXSxbXSxbXSx0LmdldERpbXMoKSkscz1mdW5jdGlvbihlKXtmb3IodmFyIG49YS5nZXQoZSkuc29ydCgpLG89bi5tYXAoKGZ1bmN0aW9uKG4pe3JldHVybiB0LmdldChlLG4pfSkpLHM9aShvKSxsPTA7bDxzLmxlbmd0aDtsKyspci5zZXQoZSxuW2xdLHNbbF0pfTt0cnl7Zm9yKHZhciBsPWdDdChhLmtleXMoKSksYz1sLm5leHQoKTshYy5kb25lO2M9bC5uZXh0KCkpe3MoYy52YWx1ZSl9fWNhdGNoKHQpe249e2Vycm9yOnR9fWZpbmFsbHl7dHJ5e2MmJiFjLmRvbmUmJihvPWwucmV0dXJuKSYmby5jYWxsKGwpfWZpbmFsbHl7aWYobil0aHJvdyBuLmVycm9yfX1yZXR1cm4gcn07dmFyIFNDdD0oKG1DdD17fSkubWF4PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0tMS8wLG49MDtuPHQubGVuZ3RoO24rKyllPXRbbl0+ZT90W25dOmU7cmV0dXJuIHQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC9lfSkpfSxtQ3QubDE9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAsbj0wO248dC5sZW5ndGg7bisrKWUrPXRbbl07cmV0dXJuIHQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC9lfSkpfSxtQ3QubDI9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAsbj0wO248dC5sZW5ndGg7bisrKWUrPU1hdGgucG93KHRbbl0sMik7cmV0dXJuIHQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KHQsMikvZSl9KSl9LG1DdCk7ZnVuY3Rpb24gREN0KHQsZSxuKXtmb3IodmFyIG89bmV3IFNldCxpPVtdLGE9W10scj1bXSxzPWZ1bmN0aW9uKG8scyl7aS5wdXNoKG8pLGEucHVzaChzKTt2YXIgbD1uKHQuZ2V0KG8scyksZS5nZXQobyxzKSk7ci5wdXNoKGwpfSxsPXQuZ2V0VmFsdWVzKCksYz10LmdldFJvd3MoKSxkPXQuZ2V0Q29scygpLHA9MDtwPGwubGVuZ3RoO3ArKyl7by5hZGQoKGc9Y1twXSkrIjoiKyhoPWRbcF0pKSxzKGcsaCl9dmFyIG09ZS5nZXRWYWx1ZXMoKSxmPWUuZ2V0Um93cygpLHU9ZS5nZXRDb2xzKCk7Zm9yKHA9MDtwPG0ubGVuZ3RoO3ArKyl7dmFyIGcsaDtvLmhhcygoZz1mW3BdKSsiOiIrKGg9dVtwXSkpfHxzKGcsaCl9cmV0dXJuIG5ldyB5Q3QoaSxhLHIsW3QublJvd3MsdC5uQ29sc10pfWZDdC5nZXRDU1I9ZnVuY3Rpb24gUkN0KHQpe3ZhciBlPVtdO3QuZm9yRWFjaCgoZnVuY3Rpb24odCxuLG8pe2UucHVzaCh7dmFsdWU6dCxyb3c6bixjb2w6b30pfSkpLGUuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5yb3c9PT1lLnJvdz90LmNvbC1lLmNvbDp0LnJvdy1lLnJvd30pKTtmb3IodmFyIG49W10sbz1bXSxpPVtdLGE9LTEscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgcz1lW3JdLGw9cy5yb3csYz1zLmNvbCxkPXMudmFsdWU7bCE9PWEmJihhPWwsaS5wdXNoKHIpKSxuLnB1c2goYyksby5wdXNoKGQpfXJldHVybntpbmRpY2VzOm4sdmFsdWVzOm8saW5kcHRyOml9fTt2YXIgRUN0PXt9LEFDdD17fSxUQ3Q9X08mJl9PLl9fcmVhZHx8ZnVuY3Rpb24odCxlKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl07aWYoIW4pcmV0dXJuIHQ7dmFyIG8saSxhPW4uY2FsbCh0KSxyPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT1lfHxlLS0gPjApJiYhKG89YS5uZXh0KCkpLmRvbmU7KXIucHVzaChvLnZhbHVlKX1jYXRjaCh0KXtpPXtlcnJvcjp0fX1maW5hbGx5e3RyeXtvJiYhby5kb25lJiYobj1hLnJldHVybikmJm4uY2FsbChhKX1maW5hbGx5e2lmKGkpdGhyb3cgaS5lcnJvcn19cmV0dXJuIHJ9LE5DdD1fTyYmX08uX19zcHJlYWR8fGZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXQ9dC5jb25jYXQoVEN0KGFyZ3VtZW50c1tlXSkpO3JldHVybiB0fSx6Q3Q9X08mJl9PLl9fdmFsdWVzfHxmdW5jdGlvbih0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl0sbj0wO3JldHVybiBlP2UuY2FsbCh0KTp7bmV4dDpmdW5jdGlvbigpe3JldHVybiB0JiZuPj10Lmxlbmd0aCYmKHQ9dm9pZCAwKSx7dmFsdWU6dCYmdFtuKytdLGRvbmU6IXR9fX19LElDdD1fTyYmX08uX19pbXBvcnRTdGFyfHxmdW5jdGlvbih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIGU9e307aWYobnVsbCE9dClmb3IodmFyIG4gaW4gdClPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKTtyZXR1cm4gZS5kZWZhdWx0PXQsZX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEFDdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEhDdD1JQ3QoTF90KSxGQ3Q9ZnVuY3Rpb24gRkN0KHQsZSxuLG8pe3RoaXMuaHlwZXJwbGFuZXM9dCx0aGlzLm9mZnNldHM9ZSx0aGlzLmNoaWxkcmVuPW4sdGhpcy5pbmRpY2VzPW99O2Z1bmN0aW9uIExDdCh0LGUsbixvLGkpe2lmKHZvaWQgMD09PW4mJihuPTMwKSxlLmxlbmd0aD5uKXt2YXIgYT0oZnVuY3Rpb24gcih0LGUsbil7Zm9yKHZhciBvPXRbMF0ubGVuZ3RoLGk9SEN0LnRhdVJhbmRJbnQoZS5sZW5ndGgsbiksYT1IQ3QudGF1UmFuZEludChlLmxlbmd0aCxuKSxyPWVbaV0scz1lW2E9KGErPWk9PT1hPzE6MCklZS5sZW5ndGhdLGw9MCxjPUhDdC56ZXJvcyhvKSxkPTA7ZDxjLmxlbmd0aDtkKyspY1tkXT10W3JdW2RdLXRbc11bZF0sbC09Y1tkXSoodFtyXVtkXSt0W3NdW2RdKS8yO3ZhciBwPTAsbT0wLGY9SEN0Lnplcm9zKGUubGVuZ3RoKTtmb3IoZD0wO2Q8ZS5sZW5ndGg7ZCsrKXtmb3IodmFyIHU9bCxnPTA7ZzxvO2crKyl1Kz1jW2ddKnRbZVtkXV1bZ107MD09PXU/KGZbZF09SEN0LnRhdVJhbmRJbnQoMixuKSwwPT09ZltkXT9wKz0xOm0rPTEpOnU+MD8oZltkXT0wLHArPTEpOihmW2RdPTEsbSs9MSl9dmFyIGg9SEN0Lnplcm9zKHApLGI9SEN0Lnplcm9zKG0pO3A9MCxtPTA7Zm9yKGQ9MDtkPGYubGVuZ3RoO2QrKykwPT09ZltkXT8oaFtwXT1lW2RdLHArPTEpOihiW21dPWVbZF0sbSs9MSk7cmV0dXJue2luZGljZXNMZWZ0OmgsaW5kaWNlc1JpZ2h0OmIsaHlwZXJwbGFuZTpjLG9mZnNldDpsfX0pKHQsZSxpKSxzPWEuaW5kaWNlc1JpZ2h0LGw9YS5oeXBlcnBsYW5lLGM9YS5vZmZzZXQ7cmV0dXJue2xlZnRDaGlsZDpMQ3QodCxhLmluZGljZXNMZWZ0LG4sbysxLGkpLHJpZ2h0Q2hpbGQ6TEN0KHQscyxuLG8rMSxpKSxpc0xlYWY6ITEsaHlwZXJwbGFuZTpsLG9mZnNldDpjfX1yZXR1cm57aW5kaWNlczplLGlzTGVhZjohMH19ZnVuY3Rpb24gQkN0KHQsZSxuLG8saSxhLHIpe3ZhciBzO2lmKHQuaXNMZWFmKXJldHVybiBvW2FdWzBdPS1yLChzPWlbcl0pLnNwbGljZS5hcHBseShzLE5DdChbMCx0LmluZGljZXMubGVuZ3RoXSx0LmluZGljZXMpKSx7bm9kZU51bTphLGxlYWZOdW06cis9MX07ZVthXT10Lmh5cGVycGxhbmUsblthXT10Lm9mZnNldCxvW2FdWzBdPWErMTt2YXIgbD1hLGM9QkN0KHQubGVmdENoaWxkLGUsbixvLGksYSsxLHIpO3JldHVybiByPWMubGVhZk51bSxvW2xdWzFdPShhPWMubm9kZU51bSkrMSx7bm9kZU51bTooYz1CQ3QodC5yaWdodENoaWxkLGUsbixvLGksYSsxLHIpKS5ub2RlTnVtLGxlYWZOdW06Yy5sZWFmTnVtfX1mdW5jdGlvbiBWQ3QodCl7cmV0dXJuIHQuaXNMZWFmPzE6MStWQ3QodC5sZWZ0Q2hpbGQpK1ZDdCh0LnJpZ2h0Q2hpbGQpfWZ1bmN0aW9uIGpDdCh0KXtyZXR1cm4gdC5pc0xlYWY/MTpqQ3QodC5sZWZ0Q2hpbGQpK2pDdCh0LnJpZ2h0Q2hpbGQpfWZ1bmN0aW9uIFVDdCh0LGUsbixvKXtmb3IodmFyIGk9ZSxhPTA7YTxuLmxlbmd0aDthKyspaSs9dFthXSpuW2FdO3JldHVybiAwPT09aT9IQ3QudGF1UmFuZEludCgyLG8pOmk+MD8wOjF9QUN0LkZsYXRUcmVlPUZDdCxBQ3QubWFrZUZvcmVzdD1mdW5jdGlvbiBXQ3QodCxlLG4sbyl7dmFyIGk9TWF0aC5tYXgoMTAsZSk7cmV0dXJuIEhDdC5yYW5nZShuKS5tYXAoKGZ1bmN0aW9uKGUsbil7cmV0dXJuKGZ1bmN0aW9uIGEodCxlLG4sbyl7dm9pZCAwPT09ZSYmKGU9MzApO3ZhciBpPUhDdC5yYW5nZSh0Lmxlbmd0aCk7cmV0dXJuIExDdCh0LGksZSxuLG8pfSkodCxpLG4sbyl9KSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4oZnVuY3Rpb24gZSh0LG4pe3ZhciBvPVZDdCh0KSxpPWpDdCh0KSxhPUhDdC5yYW5nZShvKS5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuIEhDdC56ZXJvcyh0Lmh5cGVycGxhbmU/dC5oeXBlcnBsYW5lLmxlbmd0aDowKX0pKSxyPUhDdC56ZXJvcyhvKSxzPUhDdC5yYW5nZShvKS5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuWy0xLC0xXX0pKSxsPUhDdC5yYW5nZShpKS5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuIEhDdC5yYW5nZShuKS5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuLTF9KSl9KSk7cmV0dXJuIEJDdCh0LGEscixzLGwsMCwwKSxuZXcgRkN0KGEscixzLGwpfSkodCxpKX0pKX0sQUN0Lm1ha2VMZWFmQXJyYXk9ZnVuY3Rpb24gR0N0KHQpe3ZhciBlLG47aWYodC5sZW5ndGg+MCl7dmFyIG89W107dHJ5e2Zvcih2YXIgaT16Q3QodCksYT1pLm5leHQoKTshYS5kb25lO2E9aS5uZXh0KCkpe28ucHVzaC5hcHBseShvLE5DdChhLnZhbHVlLmluZGljZXMpKX19Y2F0Y2godCl7ZT17ZXJyb3I6dH19ZmluYWxseXt0cnl7YSYmIWEuZG9uZSYmKG49aS5yZXR1cm4pJiZuLmNhbGwoaSl9ZmluYWxseXtpZihlKXRocm93IGUuZXJyb3J9fXJldHVybiBvfXJldHVybltbLTFdXX0sQUN0LnNlYXJjaEZsYXRUcmVlPWZ1bmN0aW9uIFlDdCh0LGUsbil7Zm9yKHZhciBvPTA7ZS5jaGlsZHJlbltvXVswXT4wOyl7bz0wPT09VUN0KGUuaHlwZXJwbGFuZXNbb10sZS5vZmZzZXRzW29dLHQsbik/ZS5jaGlsZHJlbltvXVswXTplLmNoaWxkcmVuW29dWzFdfXJldHVybiBlLmluZGljZXNbLTEqZS5jaGlsZHJlbltvXVswXV19O3ZhciBxQ3Q9X08mJl9PLl9fdmFsdWVzfHxmdW5jdGlvbih0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl0sbj0wO3JldHVybiBlP2UuY2FsbCh0KTp7bmV4dDpmdW5jdGlvbigpe3JldHVybiB0JiZuPj10Lmxlbmd0aCYmKHQ9dm9pZCAwKSx7dmFsdWU6dCYmdFtuKytdLGRvbmU6IXR9fX19LFpDdD1fTyYmX08uX19pbXBvcnRTdGFyfHxmdW5jdGlvbih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIGU9e307aWYobnVsbCE9dClmb3IodmFyIG4gaW4gdClPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKTtyZXR1cm4gZS5kZWZhdWx0PXQsZX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEVDdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFhDdD1aQ3QoRl90KSxLQ3Q9WkN0KGZDdCksSkN0PVpDdChBQ3QpLFFDdD1aQ3QoTF90KTtFQ3QubWFrZU5ORGVzY2VudD1mdW5jdGlvbiAkQ3QodCxlKXtyZXR1cm4gZnVuY3Rpb24gbihvLGksYSxyLHMsbCxjLGQpe3ZvaWQgMD09PXImJihyPTEwKSx2b2lkIDA9PT1zJiYocz01MCksdm9pZCAwPT09bCYmKGw9LjAwMSksdm9pZCAwPT09YyYmKGM9LjUpLHZvaWQgMD09PWQmJihkPSEwKTtmb3IodmFyIHA9by5sZW5ndGgsbT1YQ3QubWFrZUhlYXAoby5sZW5ndGgsYSksZj0wO2Y8by5sZW5ndGg7ZisrKWZvcih2YXIgdT1YQ3QucmVqZWN0aW9uU2FtcGxlKGEsby5sZW5ndGgsZSksZz0wO2c8dS5sZW5ndGg7ZysrKXt2YXIgaD10KG9bZl0sb1t1W2ddXSk7WEN0LmhlYXBQdXNoKG0sZixoLHVbZ10sMSksWEN0LmhlYXBQdXNoKG0sdVtnXSxoLGYsMSl9aWYoZClmb3IodmFyIGI9MDtiPGkubGVuZ3RoO2IrKylmb3IoZj0wO2Y8aVtiXS5sZW5ndGgmJiEoaVtiXVtmXTwwKTtmKyspZm9yKGc9ZisxO2c8aVtiXS5sZW5ndGgmJiEoaVtiXVtnXTwwKTtnKyspe2g9dChvW2lbYl1bZl1dLG9baVtiXVtnXV0pO1hDdC5oZWFwUHVzaChtLGlbYl1bZl0saCxpW2JdW2ddLDEpLFhDdC5oZWFwUHVzaChtLGlbYl1bZ10saCxpW2JdW2ZdLDEpfWZvcihiPTA7YjxyO2IrKyl7dmFyIHk9WEN0LmJ1aWxkQ2FuZGlkYXRlcyhtLHAsYSxzLGUpLF89MDtmb3IoZj0wO2Y8cDtmKyspZm9yKGc9MDtnPHM7ZysrKXt2YXIgQz1NYXRoLmZsb29yKHlbMF1bZl1bZ10pO2lmKCEoQzwwfHxRQ3QudGF1UmFuZChlKTxjKSlmb3IodmFyIE09MDtNPHM7TSsrKXt2YXIgdj1NYXRoLmZsb29yKHlbMF1bZl1bTV0pO2lmKCEodjwwfHwheVsyXVtmXVtnXSYmIXlbMl1bZl1bTV0pKXtoPXQob1tDXSxvW3ZdKTtfKz1YQ3QuaGVhcFB1c2gobSxDLGgsdiwxKSxfKz1YQ3QuaGVhcFB1c2gobSx2LGgsQywxKX19fWlmKF88PWwqYSpvLmxlbmd0aClicmVha31yZXR1cm4gWEN0LmRlaGVhcFNvcnQobSl9fSxFQ3QubWFrZUluaXRpYWxpemF0aW9ucz1mdW5jdGlvbiB0TXQodCl7cmV0dXJue2luaXRGcm9tUmFuZG9tOmZ1bmN0aW9uIGUobixvLGksYSxyKXtmb3IodmFyIHM9MDtzPGkubGVuZ3RoO3MrKylmb3IodmFyIGw9UUN0LnJlamVjdGlvblNhbXBsZShuLG8ubGVuZ3RoLHIpLGM9MDtjPGwubGVuZ3RoO2MrKylpZighKGxbY108MCkpe3ZhciBkPXQob1tsW2NdXSxpW3NdKTtYQ3QuaGVhcFB1c2goYSxzLGQsbFtjXSwxKX19LGluaXRGcm9tVHJlZTpmdW5jdGlvbiBuKGUsbyxpLGEscil7Zm9yKHZhciBzPTA7czxpLmxlbmd0aDtzKyspZm9yKHZhciBsPUpDdC5zZWFyY2hGbGF0VHJlZShpW3NdLGUsciksYz0wO2M8bC5sZW5ndGg7YysrKXtpZihsW2NdPDApcmV0dXJuO3ZhciBkPXQob1tsW2NdXSxpW3NdKTtYQ3QuaGVhcFB1c2goYSxzLGQsbFtjXSwxKX19fX0sRUN0Lm1ha2VJbml0aWFsaXplZE5OU2VhcmNoPWZ1bmN0aW9uIGVNdCh0KXtyZXR1cm4gZnVuY3Rpb24gZShuLG8saSxhKXtmb3IodmFyIHIscyxsPUtDdC5nZXRDU1IobyksYz1sLmluZGljZXMsZD1sLmluZHB0cixwPTA7cDxhLmxlbmd0aDtwKyspZm9yKHZhciBtPW5ldyBTZXQoaVswXVtwXSk7Oyl7dmFyIGY9WEN0LnNtYWxsZXN0RmxhZ2dlZChpLHApO2lmKC0xPT09ZilicmVhazt2YXIgdT1jLnNsaWNlKGRbZl0sZFtmKzFdKTt0cnl7Zm9yKHZhciBnPXFDdCh1KSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGI9aC52YWx1ZTtpZihiIT09ZiYmLTEhPT1iJiYhbS5oYXMoYikpe3ZhciB5PXQobltiXSxhW3BdKTtYQ3QudW5jaGVja2VkSGVhcFB1c2goaSxwLHksYiwxKSxtLmFkZChiKX19fWNhdGNoKHQpe3I9e2Vycm9yOnR9fWZpbmFsbHl7dHJ5e2gmJiFoLmRvbmUmJihzPWcucmV0dXJuKSYmcy5jYWxsKGcpfWZpbmFsbHl7aWYocil0aHJvdyByLmVycm9yfX19cmV0dXJuIGl9fSxFQ3QuaW5pdGlhbGl6ZVNlYXJjaD1mdW5jdGlvbiBuTXQodCxlLG4sbyxpLGEscil7dmFyIHMsbCxjPVhDdC5tYWtlSGVhcChuLmxlbmd0aCxvKTtpZihpKG8sZSxuLGMsciksdCl0cnl7Zm9yKHZhciBkPXFDdCh0KSxwPWQubmV4dCgpOyFwLmRvbmU7cD1kLm5leHQoKSl7YShwLnZhbHVlLGUsbixjLHIpfX1jYXRjaCh0KXtzPXtlcnJvcjp0fX1maW5hbGx5e3RyeXtwJiYhcC5kb25lJiYobD1kLnJldHVybikmJmwuY2FsbChkKX1maW5hbGx5e2lmKHMpdGhyb3cgcy5lcnJvcn19cmV0dXJuIGN9O2NvbnN0IG9NdD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIGlNdCh0KXtyZXR1cm4gb010LmNhbGwodCkuZW5kc1dpdGgoIkFycmF5XSIpfWZ1bmN0aW9uIGFNdCh0LGUsbil7bGV0IG89MDtjb25zdCBpPW4oZSk7Zm9yKGxldCBlPTA7ZTx0LngubGVuZ3RoO2UrKylvKz1NYXRoLmFicyh0LnlbZV0taSh0LnhbZV0pKTtyZXR1cm4gb31jb25zdCByTXQ9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiBzTXQodCl7cmV0dXJuIHJNdC5jYWxsKHQpLmVuZHNXaXRoKCJBcnJheV0iKX1mdW5jdGlvbiBsTXQodCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9O2lmKCFzTXQodCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW5wdXQgbXVzdCBiZSBhbiBhcnJheSIpO2lmKDA9PT10Lmxlbmd0aCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnB1dCBtdXN0IG5vdCBiZSBlbXB0eSIpO3ZhciBuPWUuZnJvbUluZGV4LG89dm9pZCAwPT09bj8wOm4saT1lLnRvSW5kZXgsYT12b2lkIDA9PT1pP3QubGVuZ3RoOmk7aWYobzwwfHxvPj10Lmxlbmd0aHx8IU51bWJlci5pc0ludGVnZXIobykpdGhyb3cgbmV3IEVycm9yKCJmcm9tSW5kZXggbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIgc21hbGxlciB0aGFuIGxlbmd0aCIpO2lmKGE8PW98fGE+dC5sZW5ndGh8fCFOdW1iZXIuaXNJbnRlZ2VyKGEpKXRocm93IG5ldyBFcnJvcigidG9JbmRleCBtdXN0IGJlIGFuIGludGVnZXIgZ3JlYXRlciB0aGFuIGZyb21JbmRleCBhbmQgYXQgbW9zdCBlcXVhbCB0byBsZW5ndGgiKTtmb3IodmFyIHI9dFtvXSxzPW8rMTtzPGE7cysrKXRbc10+ciYmKHI9dFtzXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gY010KHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtpZighc010KHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImlucHV0IG11c3QgYmUgYW4gYXJyYXkiKTtpZigwPT09dC5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW5wdXQgbXVzdCBub3QgYmUgZW1wdHkiKTt2YXIgbj1lLmZyb21JbmRleCxvPXZvaWQgMD09PW4/MDpuLGk9ZS50b0luZGV4LGE9dm9pZCAwPT09aT90Lmxlbmd0aDppO2lmKG88MHx8bz49dC5sZW5ndGh8fCFOdW1iZXIuaXNJbnRlZ2VyKG8pKXRocm93IG5ldyBFcnJvcigiZnJvbUluZGV4IG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIHNtYWxsZXIgdGhhbiBsZW5ndGgiKTtpZihhPD1vfHxhPnQubGVuZ3RofHwhTnVtYmVyLmlzSW50ZWdlcihhKSl0aHJvdyBuZXcgRXJyb3IoInRvSW5kZXggbXVzdCBiZSBhbiBpbnRlZ2VyIGdyZWF0ZXIgdGhhbiBmcm9tSW5kZXggYW5kIGF0IG1vc3QgZXF1YWwgdG8gbGVuZ3RoIik7Zm9yKHZhciByPXRbb10scz1vKzE7czxhO3MrKyl0W3NdPHImJihyPXRbc10pO3JldHVybiByfWZ1bmN0aW9uIGRNdCh0KXt2YXIgZSxuPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtpZighc010KHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImlucHV0IG11c3QgYmUgYW4gYXJyYXkiKTtpZigwPT09dC5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW5wdXQgbXVzdCBub3QgYmUgZW1wdHkiKTtpZih2b2lkIDAhPT1uLm91dHB1dCl7aWYoIXNNdChuLm91dHB1dCkpdGhyb3cgbmV3IFR5cGVFcnJvcigib3V0cHV0IG9wdGlvbiBtdXN0IGJlIGFuIGFycmF5IGlmIHNwZWNpZmllZCIpO2U9bi5vdXRwdXR9ZWxzZSBlPW5ldyBBcnJheSh0Lmxlbmd0aCk7dmFyIG89Y010KHQpLGk9bE10KHQpO2lmKG89PT1pKXRocm93IG5ldyBSYW5nZUVycm9yKCJtaW5pbXVtIGFuZCBtYXhpbXVtIGlucHV0IHZhbHVlcyBhcmUgZXF1YWwuIENhbm5vdCByZXNjYWxlIGEgY29uc3RhbnQgYXJyYXkiKTt2YXIgYT1uLm1pbixyPXZvaWQgMD09PWE/bi5hdXRvTWluTWF4P286MDphLHM9bi5tYXgsbD12b2lkIDA9PT1zP24uYXV0b01pbk1heD9pOjE6cztpZihyPj1sKXRocm93IG5ldyBSYW5nZUVycm9yKCJtaW4gb3B0aW9uIG11c3QgYmUgc21hbGxlciB0aGFuIG1heCBvcHRpb24iKTtmb3IodmFyIGM9KGwtcikvKGktbyksZD0wO2Q8dC5sZW5ndGg7ZCsrKWVbZF09KHRbZF0tbykqYytyO3JldHVybiBlfWNvbnN0IHBNdD0iICIucmVwZWF0KDIpLG1NdD0iICIucmVwZWF0KDQpO2Z1bmN0aW9uIGZNdCh0LGU9e30pe2NvbnN0e21heFJvd3M6bj0xNSxtYXhDb2x1bW5zOm89MTAsbWF4TnVtU2l6ZTppPTh9PWU7cmV0dXJuYCR7dC5jb25zdHJ1Y3Rvci5uYW1lfSB7XG4ke3BNdH1bXG4ke21NdH0keyhmdW5jdGlvbiBhKHQsZSxuLG8pe2NvbnN0e3Jvd3M6aSxjb2x1bW5zOmF9PXQscj1NYXRoLm1pbihpLGUpLHM9TWF0aC5taW4oYSxuKSxsPVtdO2ZvcihsZXQgZT0wO2U8cjtlKyspe2xldCBuPVtdO2ZvcihsZXQgaT0wO2k8cztpKyspbi5wdXNoKHVNdCh0LmdldChlLGkpLG8pKTtsLnB1c2goYCR7bi5qb2luKCIgIil9YCl9cyE9PWEmJihsW2wubGVuZ3RoLTFdKz1gIC4uLiAke2Etbn0gbW9yZSBjb2x1bW5zYCk7ciE9PWkmJmwucHVzaChgLi4uICR7aS1lfSBtb3JlIHJvd3NgKTtyZXR1cm4gbC5qb2luKGBcbiR7bU10fWApfSkodCxuLG8saSl9XG4ke3BNdH1dXG4ke3BNdH1yb3dzOiAke3Qucm93c31cbiR7cE10fWNvbHVtbnM6ICR7dC5jb2x1bW5zfVxufWB9ZnVuY3Rpb24gdU10KHQsZSl7Y29uc3Qgbj1TdHJpbmcodCk7aWYobi5sZW5ndGg8PWUpcmV0dXJuIG4ucGFkRW5kKGUsIiAiKTtjb25zdCBvPXQudG9QcmVjaXNpb24oZS0yKTtpZihvLmxlbmd0aDw9ZSlyZXR1cm4gbztjb25zdCBpPXQudG9FeHBvbmVudGlhbChlLTIpLGE9aS5pbmRleE9mKCJlIikscj1pLnNsaWNlKGEpO3JldHVybiBpLnNsaWNlKDAsZS1yLmxlbmd0aCkrcn1mdW5jdGlvbiBnTXQodCxlLG4pe2lmKGU8MHx8ZT4obj90LnJvd3M6dC5yb3dzLTEpKXRocm93IG5ldyBSYW5nZUVycm9yKCJSb3cgaW5kZXggb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gaE10KHQsZSxuKXtpZihlPDB8fGU+KG4/dC5jb2x1bW5zOnQuY29sdW1ucy0xKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ29sdW1uIGluZGV4IG91dCBvZiByYW5nZSIpfWZ1bmN0aW9uIGJNdCh0LGUpe2lmKGUudG8xREFycmF5JiYoZT1lLnRvMURBcnJheSgpKSxlLmxlbmd0aCE9PXQuY29sdW1ucyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigidmVjdG9yIHNpemUgbXVzdCBiZSB0aGUgc2FtZSBhcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMiKTtyZXR1cm4gZX1mdW5jdGlvbiB5TXQodCxlKXtpZihlLnRvMURBcnJheSYmKGU9ZS50bzFEQXJyYXkoKSksZS5sZW5ndGghPT10LnJvd3MpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInZlY3RvciBzaXplIG11c3QgYmUgdGhlIHNhbWUgYXMgdGhlIG51bWJlciBvZiByb3dzIik7cmV0dXJuIGV9ZnVuY3Rpb24gX010KHQsZSl7aWYoIm9iamVjdCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoInVuZXhwZWN0ZWQgdHlwZSBmb3Igcm93IGluZGljZXMiKTtpZihlLnNvbWUoKGU9PmU8MHx8ZT49dC5yb3dzKSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInJvdyBpbmRpY2VzIGFyZSBvdXQgb2YgcmFuZ2UiKTtyZXR1cm4gQXJyYXkuaXNBcnJheShlKXx8KGU9QXJyYXkuZnJvbShlKSksZX1mdW5jdGlvbiBDTXQodCxlKXtpZigib2JqZWN0IiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigidW5leHBlY3RlZCB0eXBlIGZvciBjb2x1bW4gaW5kaWNlcyIpO2lmKGUuc29tZSgoZT0+ZTwwfHxlPj10LmNvbHVtbnMpKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiY29sdW1uIGluZGljZXMgYXJlIG91dCBvZiByYW5nZSIpO3JldHVybiBBcnJheS5pc0FycmF5KGUpfHwoZT1BcnJheS5mcm9tKGUpKSxlfWZ1bmN0aW9uIE1NdCh0LGUsbixvLGkpe2lmKDUhPT1hcmd1bWVudHMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJleHBlY3RlZCA0IGFyZ3VtZW50cyIpO2lmKHhNdCgic3RhcnRSb3ciLGUpLHhNdCgiZW5kUm93IixuKSx4TXQoInN0YXJ0Q29sdW1uIixvKSx4TXQoImVuZENvbHVtbiIsaSksZT5ufHxvPml8fGU8MHx8ZT49dC5yb3dzfHxuPDB8fG4+PXQucm93c3x8bzwwfHxvPj10LmNvbHVtbnN8fGk8MHx8aT49dC5jb2x1bW5zKXRocm93IG5ldyBSYW5nZUVycm9yKCJTdWJtYXRyaXggaW5kaWNlcyBhcmUgb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gdk10KHQsZT0wKXtsZXQgbj1bXTtmb3IobGV0IG89MDtvPHQ7bysrKW4ucHVzaChlKTtyZXR1cm4gbn1mdW5jdGlvbiB4TXQodCxlKXtpZigibnVtYmVyIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcihgJHt0fSBtdXN0IGJlIGEgbnVtYmVyYCl9ZnVuY3Rpb24gT010KHQpe2lmKHQuaXNFbXB0eSgpKXRocm93IG5ldyBFcnJvcigiRW1wdHkgbWF0cml4IGhhcyBubyBlbGVtZW50cyB0byBpbmRleCIpfWNsYXNzIFBNdHtzdGF0aWMgZnJvbTFEQXJyYXkodCxlLG4pe2lmKHQqZSE9PW4ubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJkYXRhIGxlbmd0aCBkb2VzIG5vdCBtYXRjaCBnaXZlbiBkaW1lbnNpb25zIik7bGV0IG89bmV3IFNNdCh0LGUpO2ZvcihsZXQgaT0wO2k8dDtpKyspZm9yKGxldCB0PTA7dDxlO3QrKylvLnNldChpLHQsbltpKmUrdF0pO3JldHVybiBvfXN0YXRpYyByb3dWZWN0b3IodCl7bGV0IGU9bmV3IFNNdCgxLHQubGVuZ3RoKTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyllLnNldCgwLG4sdFtuXSk7cmV0dXJuIGV9c3RhdGljIGNvbHVtblZlY3Rvcih0KXtsZXQgZT1uZXcgU010KHQubGVuZ3RoLDEpO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKWUuc2V0KG4sMCx0W25dKTtyZXR1cm4gZX1zdGF0aWMgemVyb3ModCxlKXtyZXR1cm4gbmV3IFNNdCh0LGUpfXN0YXRpYyBvbmVzKHQsZSl7cmV0dXJuIG5ldyBTTXQodCxlKS5maWxsKDEpfXN0YXRpYyByYW5kKHQsZSxuPXt9KXtpZigib2JqZWN0IiE9dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigib3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdCIpO2NvbnN0e3JhbmRvbTpvPU1hdGgucmFuZG9tfT1uO2xldCBpPW5ldyBTTXQodCxlKTtmb3IobGV0IG49MDtuPHQ7bisrKWZvcihsZXQgdD0wO3Q8ZTt0KyspaS5zZXQobix0LG8oKSk7cmV0dXJuIGl9c3RhdGljIHJhbmRJbnQodCxlLG49e30pe2lmKCJvYmplY3QiIT10eXBlb2Ygbil0aHJvdyBuZXcgVHlwZUVycm9yKCJvcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0Iik7Y29uc3R7bWluOm89MCxtYXg6aT0xZTMscmFuZG9tOmE9TWF0aC5yYW5kb219PW47aWYoIU51bWJlci5pc0ludGVnZXIobykpdGhyb3cgbmV3IFR5cGVFcnJvcigibWluIG11c3QgYmUgYW4gaW50ZWdlciIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoIm1heCBtdXN0IGJlIGFuIGludGVnZXIiKTtpZihvPj1pKXRocm93IG5ldyBSYW5nZUVycm9yKCJtaW4gbXVzdCBiZSBzbWFsbGVyIHRoYW4gbWF4Iik7bGV0IHI9aS1vLHM9bmV3IFNNdCh0LGUpO2ZvcihsZXQgbj0wO248dDtuKyspZm9yKGxldCB0PTA7dDxlO3QrKyl7bGV0IGU9bytNYXRoLnJvdW5kKGEoKSpyKTtzLnNldChuLHQsZSl9cmV0dXJuIHN9c3RhdGljIGV5ZSh0LGUsbil7dm9pZCAwPT09ZSYmKGU9dCksdm9pZCAwPT09biYmKG49MSk7bGV0IG89TWF0aC5taW4odCxlKSxpPXRoaXMuemVyb3ModCxlKTtmb3IobGV0IHQ9MDt0PG87dCsrKWkuc2V0KHQsdCxuKTtyZXR1cm4gaX1zdGF0aWMgZGlhZyh0LGUsbil7bGV0IG89dC5sZW5ndGg7dm9pZCAwPT09ZSYmKGU9byksdm9pZCAwPT09biYmKG49ZSk7bGV0IGk9TWF0aC5taW4obyxlLG4pLGE9dGhpcy56ZXJvcyhlLG4pO2ZvcihsZXQgZT0wO2U8aTtlKyspYS5zZXQoZSxlLHRbZV0pO3JldHVybiBhfXN0YXRpYyBtaW4odCxlKXt0PXRoaXMuY2hlY2tNYXRyaXgodCksZT10aGlzLmNoZWNrTWF0cml4KGUpO2xldCBuPXQucm93cyxvPXQuY29sdW1ucyxpPW5ldyBTTXQobixvKTtmb3IobGV0IGE9MDthPG47YSsrKWZvcihsZXQgbj0wO248bztuKyspaS5zZXQoYSxuLE1hdGgubWluKHQuZ2V0KGEsbiksZS5nZXQoYSxuKSkpO3JldHVybiBpfXN0YXRpYyBtYXgodCxlKXt0PXRoaXMuY2hlY2tNYXRyaXgodCksZT10aGlzLmNoZWNrTWF0cml4KGUpO2xldCBuPXQucm93cyxvPXQuY29sdW1ucyxpPW5ldyB0aGlzKG4sbyk7Zm9yKGxldCBhPTA7YTxuO2ErKylmb3IobGV0IG49MDtuPG87bisrKWkuc2V0KGEsbixNYXRoLm1heCh0LmdldChhLG4pLGUuZ2V0KGEsbikpKTtyZXR1cm4gaX1zdGF0aWMgY2hlY2tNYXRyaXgodCl7cmV0dXJuIFBNdC5pc01hdHJpeCh0KT90Om5ldyBTTXQodCl9c3RhdGljIGlzTWF0cml4KHQpe3JldHVybiBudWxsIT10JiYiTWF0cml4Ij09PXQua2xhc3N9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5yb3dzKnRoaXMuY29sdW1uc31hcHBseSh0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXQuY2FsbCh0aGlzLGUsbik7cmV0dXJuIHRoaXN9dG8xREFycmF5KCl7bGV0IHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0LnB1c2godGhpcy5nZXQoZSxuKSk7cmV0dXJuIHR9dG8yREFycmF5KCl7bGV0IHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKXt0LnB1c2goW10pO2ZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0W2VdLnB1c2godGhpcy5nZXQoZSxuKSl9cmV0dXJuIHR9dG9KU09OKCl7cmV0dXJuIHRoaXMudG8yREFycmF5KCl9aXNSb3dWZWN0b3IoKXtyZXR1cm4gMT09PXRoaXMucm93c31pc0NvbHVtblZlY3Rvcigpe3JldHVybiAxPT09dGhpcy5jb2x1bW5zfWlzVmVjdG9yKCl7cmV0dXJuIDE9PT10aGlzLnJvd3N8fDE9PT10aGlzLmNvbHVtbnN9aXNTcXVhcmUoKXtyZXR1cm4gdGhpcy5yb3dzPT09dGhpcy5jb2x1bW5zfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMucm93c3x8MD09PXRoaXMuY29sdW1uc31pc1N5bW1ldHJpYygpe2lmKHRoaXMuaXNTcXVhcmUoKSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8PXQ7ZSsrKWlmKHRoaXMuZ2V0KHQsZSkhPT10aGlzLmdldChlLHQpKXJldHVybiExO3JldHVybiEwfXJldHVybiExfWlzRWNoZWxvbkZvcm0oKXtsZXQgdD0wLGU9MCxuPS0xLG89ITAsaT0hMTtmb3IoO3Q8dGhpcy5yb3dzJiZvOyl7Zm9yKGU9MCxpPSExO2U8dGhpcy5jb2x1bW5zJiYhMT09PWk7KTA9PT10aGlzLmdldCh0LGUpP2UrKzoxPT09dGhpcy5nZXQodCxlKSYmZT5uPyhpPSEwLG49ZSk6KG89ITEsaT0hMCk7dCsrfXJldHVybiBvfWlzUmVkdWNlZEVjaGVsb25Gb3JtKCl7bGV0IHQ9MCxlPTAsbj0tMSxvPSEwLGk9ITE7Zm9yKDt0PHRoaXMucm93cyYmbzspe2ZvcihlPTAsaT0hMTtlPHRoaXMuY29sdW1ucyYmITE9PT1pOykwPT09dGhpcy5nZXQodCxlKT9lKys6MT09PXRoaXMuZ2V0KHQsZSkmJmU+bj8oaT0hMCxuPWUpOihvPSExLGk9ITApO2ZvcihsZXQgbj1lKzE7bjx0aGlzLnJvd3M7bisrKTAhPT10aGlzLmdldCh0LG4pJiYobz0hMSk7dCsrfXJldHVybiBvfWVjaGVsb25Gb3JtKCl7bGV0IHQ9dGhpcy5jbG9uZSgpLGU9MCxuPTA7Zm9yKDtlPHQucm93cyYmbjx0LmNvbHVtbnM7KXtsZXQgbz1lO2ZvcihsZXQgaT1lO2k8dC5yb3dzO2krKyl0LmdldChpLG4pPnQuZ2V0KG8sbikmJihvPWkpO2lmKDA9PT10LmdldChvLG4pKW4rKztlbHNle3Quc3dhcFJvd3MoZSxvKTtsZXQgaT10LmdldChlLG4pO2ZvcihsZXQgbz1uO288dC5jb2x1bW5zO28rKyl0LnNldChlLG8sdC5nZXQoZSxvKS9pKTtmb3IobGV0IG89ZSsxO288dC5yb3dzO28rKyl7bGV0IGk9dC5nZXQobyxuKS90LmdldChlLG4pO3Quc2V0KG8sbiwwKTtmb3IobGV0IGE9bisxO2E8dC5jb2x1bW5zO2ErKyl0LnNldChvLGEsdC5nZXQobyxhKS10LmdldChlLGEpKmkpfWUrKyxuKyt9fXJldHVybiB0fXJlZHVjZWRFY2hlbG9uRm9ybSgpe2xldCB0PXRoaXMuZWNoZWxvbkZvcm0oKSxlPXQuY29sdW1ucyxuPXQucm93cyxvPW4tMTtmb3IoO28+PTA7KWlmKDA9PT10Lm1heFJvdyhvKSlvLS07ZWxzZXtsZXQgaT0wLGE9ITE7Zm9yKDtpPG4mJiExPT09YTspMT09PXQuZ2V0KG8saSk/YT0hMDppKys7Zm9yKGxldCBuPTA7bjxvO24rKyl7bGV0IGE9dC5nZXQobixpKTtmb3IobGV0IHI9aTtyPGU7cisrKXtsZXQgZT10LmdldChuLHIpLWEqdC5nZXQobyxyKTt0LnNldChuLHIsZSl9fW8tLX1yZXR1cm4gdH1zZXQoKXt0aHJvdyBuZXcgRXJyb3IoInNldCBtZXRob2QgaXMgdW5pbXBsZW1lbnRlZCIpfWdldCgpe3Rocm93IG5ldyBFcnJvcigiZ2V0IG1ldGhvZCBpcyB1bmltcGxlbWVudGVkIil9cmVwZWF0KHQ9e30pe2lmKCJvYmplY3QiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJvcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0Iik7Y29uc3R7cm93czplPTEsY29sdW1uczpuPTF9PXQ7aWYoIU51bWJlci5pc0ludGVnZXIoZSl8fGU8PTApdGhyb3cgbmV3IFR5cGVFcnJvcigicm93cyBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKG4pfHxuPD0wKXRocm93IG5ldyBUeXBlRXJyb3IoImNvbHVtbnMgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIiKTtsZXQgbz1uZXcgU010KHRoaXMucm93cyplLHRoaXMuY29sdW1ucypuKTtmb3IobGV0IHQ9MDt0PGU7dCsrKWZvcihsZXQgZT0wO2U8bjtlKyspby5zZXRTdWJNYXRyaXgodGhpcyx0aGlzLnJvd3MqdCx0aGlzLmNvbHVtbnMqZSk7cmV0dXJuIG99ZmlsbCh0KXtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXRoaXMuc2V0KGUsbix0KTtyZXR1cm4gdGhpc31uZWcoKXtyZXR1cm4gdGhpcy5tdWxTKC0xKX1nZXRSb3codCl7Z010KHRoaXMsdCk7bGV0IGU9W107Zm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKWUucHVzaCh0aGlzLmdldCh0LG4pKTtyZXR1cm4gZX1nZXRSb3dWZWN0b3IodCl7cmV0dXJuIFNNdC5yb3dWZWN0b3IodGhpcy5nZXRSb3codCkpfXNldFJvdyh0LGUpe2dNdCh0aGlzLHQpLGU9Yk10KHRoaXMsZSk7Zm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXRoaXMuc2V0KHQsbixlW25dKTtyZXR1cm4gdGhpc31zd2FwUm93cyh0LGUpe2dNdCh0aGlzLHQpLGdNdCh0aGlzLGUpO2ZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl7bGV0IG89dGhpcy5nZXQodCxuKTt0aGlzLnNldCh0LG4sdGhpcy5nZXQoZSxuKSksdGhpcy5zZXQoZSxuLG8pfXJldHVybiB0aGlzfWdldENvbHVtbih0KXtoTXQodGhpcyx0KTtsZXQgZT1bXTtmb3IobGV0IG49MDtuPHRoaXMucm93cztuKyspZS5wdXNoKHRoaXMuZ2V0KG4sdCkpO3JldHVybiBlfWdldENvbHVtblZlY3Rvcih0KXtyZXR1cm4gU010LmNvbHVtblZlY3Rvcih0aGlzLmdldENvbHVtbih0KSl9c2V0Q29sdW1uKHQsZSl7aE10KHRoaXMsdCksZT15TXQodGhpcyxlKTtmb3IobGV0IG49MDtuPHRoaXMucm93cztuKyspdGhpcy5zZXQobix0LGVbbl0pO3JldHVybiB0aGlzfXN3YXBDb2x1bW5zKHQsZSl7aE10KHRoaXMsdCksaE10KHRoaXMsZSk7Zm9yKGxldCBuPTA7bjx0aGlzLnJvd3M7bisrKXtsZXQgbz10aGlzLmdldChuLHQpO3RoaXMuc2V0KG4sdCx0aGlzLmdldChuLGUpKSx0aGlzLnNldChuLGUsbyl9cmV0dXJuIHRoaXN9YWRkUm93VmVjdG9yKHQpe3Q9Yk10KHRoaXMsdCk7Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldChlLG4sdGhpcy5nZXQoZSxuKSt0W25dKTtyZXR1cm4gdGhpc31zdWJSb3dWZWN0b3IodCl7dD1iTXQodGhpcyx0KTtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXRoaXMuc2V0KGUsbix0aGlzLmdldChlLG4pLXRbbl0pO3JldHVybiB0aGlzfW11bFJvd1ZlY3Rvcih0KXt0PWJNdCh0aGlzLHQpO2ZvcihsZXQgZT0wO2U8dGhpcy5yb3dzO2UrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQoZSxuLHRoaXMuZ2V0KGUsbikqdFtuXSk7cmV0dXJuIHRoaXN9ZGl2Um93VmVjdG9yKHQpe3Q9Yk10KHRoaXMsdCk7Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldChlLG4sdGhpcy5nZXQoZSxuKS90W25dKTtyZXR1cm4gdGhpc31hZGRDb2x1bW5WZWN0b3IodCl7dD15TXQodGhpcyx0KTtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXRoaXMuc2V0KGUsbix0aGlzLmdldChlLG4pK3RbZV0pO3JldHVybiB0aGlzfXN1YkNvbHVtblZlY3Rvcih0KXt0PXlNdCh0aGlzLHQpO2ZvcihsZXQgZT0wO2U8dGhpcy5yb3dzO2UrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQoZSxuLHRoaXMuZ2V0KGUsbiktdFtlXSk7cmV0dXJuIHRoaXN9bXVsQ29sdW1uVmVjdG9yKHQpe3Q9eU10KHRoaXMsdCk7Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldChlLG4sdGhpcy5nZXQoZSxuKSp0W2VdKTtyZXR1cm4gdGhpc31kaXZDb2x1bW5WZWN0b3IodCl7dD15TXQodGhpcyx0KTtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXRoaXMuc2V0KGUsbix0aGlzLmdldChlLG4pL3RbZV0pO3JldHVybiB0aGlzfW11bFJvdyh0LGUpe2dNdCh0aGlzLHQpO2ZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sdGhpcy5nZXQodCxuKSplKTtyZXR1cm4gdGhpc31tdWxDb2x1bW4odCxlKXtoTXQodGhpcyx0KTtmb3IobGV0IG49MDtuPHRoaXMucm93cztuKyspdGhpcy5zZXQobix0LHRoaXMuZ2V0KG4sdCkqZSk7cmV0dXJuIHRoaXN9bWF4KCl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIE5hTjtsZXQgdD10aGlzLmdldCgwLDApO2ZvcihsZXQgZT0wO2U8dGhpcy5yb3dzO2UrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5nZXQoZSxuKT50JiYodD10aGlzLmdldChlLG4pKTtyZXR1cm4gdH1tYXhJbmRleCgpe09NdCh0aGlzKTtsZXQgdD10aGlzLmdldCgwLDApLGU9WzAsMF07Zm9yKGxldCBuPTA7bjx0aGlzLnJvd3M7bisrKWZvcihsZXQgbz0wO288dGhpcy5jb2x1bW5zO28rKyl0aGlzLmdldChuLG8pPnQmJih0PXRoaXMuZ2V0KG4sbyksZVswXT1uLGVbMV09byk7cmV0dXJuIGV9bWluKCl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIE5hTjtsZXQgdD10aGlzLmdldCgwLDApO2ZvcihsZXQgZT0wO2U8dGhpcy5yb3dzO2UrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5nZXQoZSxuKTx0JiYodD10aGlzLmdldChlLG4pKTtyZXR1cm4gdH1taW5JbmRleCgpe09NdCh0aGlzKTtsZXQgdD10aGlzLmdldCgwLDApLGU9WzAsMF07Zm9yKGxldCBuPTA7bjx0aGlzLnJvd3M7bisrKWZvcihsZXQgbz0wO288dGhpcy5jb2x1bW5zO28rKyl0aGlzLmdldChuLG8pPHQmJih0PXRoaXMuZ2V0KG4sbyksZVswXT1uLGVbMV09byk7cmV0dXJuIGV9bWF4Um93KHQpe2lmKGdNdCh0aGlzLHQpLHRoaXMuaXNFbXB0eSgpKXJldHVybiBOYU47bGV0IGU9dGhpcy5nZXQodCwwKTtmb3IobGV0IG49MTtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5nZXQodCxuKT5lJiYoZT10aGlzLmdldCh0LG4pKTtyZXR1cm4gZX1tYXhSb3dJbmRleCh0KXtnTXQodGhpcyx0KSxPTXQodGhpcyk7bGV0IGU9dGhpcy5nZXQodCwwKSxuPVt0LDBdO2ZvcihsZXQgbz0xO288dGhpcy5jb2x1bW5zO28rKyl0aGlzLmdldCh0LG8pPmUmJihlPXRoaXMuZ2V0KHQsbyksblsxXT1vKTtyZXR1cm4gbn1taW5Sb3codCl7aWYoZ010KHRoaXMsdCksdGhpcy5pc0VtcHR5KCkpcmV0dXJuIE5hTjtsZXQgZT10aGlzLmdldCh0LDApO2ZvcihsZXQgbj0xO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLmdldCh0LG4pPGUmJihlPXRoaXMuZ2V0KHQsbikpO3JldHVybiBlfW1pblJvd0luZGV4KHQpe2dNdCh0aGlzLHQpLE9NdCh0aGlzKTtsZXQgZT10aGlzLmdldCh0LDApLG49W3QsMF07Zm9yKGxldCBvPTE7bzx0aGlzLmNvbHVtbnM7bysrKXRoaXMuZ2V0KHQsbyk8ZSYmKGU9dGhpcy5nZXQodCxvKSxuWzFdPW8pO3JldHVybiBufW1heENvbHVtbih0KXtpZihoTXQodGhpcyx0KSx0aGlzLmlzRW1wdHkoKSlyZXR1cm4gTmFOO2xldCBlPXRoaXMuZ2V0KDAsdCk7Zm9yKGxldCBuPTE7bjx0aGlzLnJvd3M7bisrKXRoaXMuZ2V0KG4sdCk+ZSYmKGU9dGhpcy5nZXQobix0KSk7cmV0dXJuIGV9bWF4Q29sdW1uSW5kZXgodCl7aE10KHRoaXMsdCksT010KHRoaXMpO2xldCBlPXRoaXMuZ2V0KDAsdCksbj1bMCx0XTtmb3IobGV0IG89MTtvPHRoaXMucm93cztvKyspdGhpcy5nZXQobyx0KT5lJiYoZT10aGlzLmdldChvLHQpLG5bMF09byk7cmV0dXJuIG59bWluQ29sdW1uKHQpe2lmKGhNdCh0aGlzLHQpLHRoaXMuaXNFbXB0eSgpKXJldHVybiBOYU47bGV0IGU9dGhpcy5nZXQoMCx0KTtmb3IobGV0IG49MTtuPHRoaXMucm93cztuKyspdGhpcy5nZXQobix0KTxlJiYoZT10aGlzLmdldChuLHQpKTtyZXR1cm4gZX1taW5Db2x1bW5JbmRleCh0KXtoTXQodGhpcyx0KSxPTXQodGhpcyk7bGV0IGU9dGhpcy5nZXQoMCx0KSxuPVswLHRdO2ZvcihsZXQgbz0xO288dGhpcy5yb3dzO28rKyl0aGlzLmdldChvLHQpPGUmJihlPXRoaXMuZ2V0KG8sdCksblswXT1vKTtyZXR1cm4gbn1kaWFnKCl7bGV0IHQ9TWF0aC5taW4odGhpcy5yb3dzLHRoaXMuY29sdW1ucyksZT1bXTtmb3IobGV0IG49MDtuPHQ7bisrKWUucHVzaCh0aGlzLmdldChuLG4pKTtyZXR1cm4gZX1ub3JtKHQ9ImZyb2Jlbml1cyIpe2xldCBlPTA7aWYoIm1heCI9PT10KXJldHVybiB0aGlzLm1heCgpO2lmKCJmcm9iZW5pdXMiPT09dCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyllKz10aGlzLmdldCh0LG4pKnRoaXMuZ2V0KHQsbik7cmV0dXJuIE1hdGguc3FydChlKX10aHJvdyBuZXcgUmFuZ2VFcnJvcihgdW5rbm93biBub3JtIHR5cGU6ICR7dH1gKX1jdW11bGF0aXZlU3VtKCl7bGV0IHQ9MDtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXQrPXRoaXMuZ2V0KGUsbiksdGhpcy5zZXQoZSxuLHQpO3JldHVybiB0aGlzfWRvdCh0KXtQTXQuaXNNYXRyaXgodCkmJih0PXQudG8xREFycmF5KCkpO2xldCBlPXRoaXMudG8xREFycmF5KCk7aWYoZS5sZW5ndGghPT10Lmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigidmVjdG9ycyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBzaXplIik7bGV0IG49MDtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyluKz1lW29dKnRbb107cmV0dXJuIG59bW11bCh0KXt0PVNNdC5jaGVja01hdHJpeCh0KTtsZXQgZT10aGlzLnJvd3Msbj10aGlzLmNvbHVtbnMsbz10LmNvbHVtbnMsaT1uZXcgU010KGUsbyksYT1uZXcgRmxvYXQ2NEFycmF5KG4pO2ZvcihsZXQgcj0wO3I8bztyKyspe2ZvcihsZXQgZT0wO2U8bjtlKyspYVtlXT10LmdldChlLHIpO2ZvcihsZXQgdD0wO3Q8ZTt0Kyspe2xldCBlPTA7Zm9yKGxldCBvPTA7bzxuO28rKyllKz10aGlzLmdldCh0LG8pKmFbb107aS5zZXQodCxyLGUpfX1yZXR1cm4gaX1zdHJhc3NlbjJ4Mih0KXt0PVNNdC5jaGVja01hdHJpeCh0KTtsZXQgZT1uZXcgU010KDIsMik7Y29uc3Qgbj10aGlzLmdldCgwLDApLG89dC5nZXQoMCwwKSxpPXRoaXMuZ2V0KDAsMSksYT10LmdldCgwLDEpLHI9dGhpcy5nZXQoMSwwKSxzPXQuZ2V0KDEsMCksbD10aGlzLmdldCgxLDEpLGM9dC5nZXQoMSwxKSxkPShuK2wpKihvK2MpLHA9KHIrbCkqbyxtPW4qKGEtYyksZj1sKihzLW8pLHU9KG4raSkqYyxnPW0rdSxoPXArZixiPWQtcCttKyhyLW4pKihvK2EpO3JldHVybiBlLnNldCgwLDAsZCtmLXUrKGktbCkqKHMrYykpLGUuc2V0KDAsMSxnKSxlLnNldCgxLDAsaCksZS5zZXQoMSwxLGIpLGV9c3RyYXNzZW4zeDModCl7dD1TTXQuY2hlY2tNYXRyaXgodCk7bGV0IGU9bmV3IFNNdCgzLDMpO2NvbnN0IG49dGhpcy5nZXQoMCwwKSxvPXRoaXMuZ2V0KDAsMSksaT10aGlzLmdldCgwLDIpLGE9dGhpcy5nZXQoMSwwKSxyPXRoaXMuZ2V0KDEsMSkscz10aGlzLmdldCgxLDIpLGw9dGhpcy5nZXQoMiwwKSxjPXRoaXMuZ2V0KDIsMSksZD10aGlzLmdldCgyLDIpLHA9dC5nZXQoMCwwKSxtPXQuZ2V0KDAsMSksZj10LmdldCgwLDIpLHU9dC5nZXQoMSwwKSxnPXQuZ2V0KDEsMSksaD10LmdldCgxLDIpLGI9dC5nZXQoMiwwKSx5PXQuZ2V0KDIsMSksXz10LmdldCgyLDIpLEM9KG4tYSkqKC1tK2cpLE09KC1uK2ErcikqKHAtbStnKSx2PShhK3IpKigtcCttKSx4PW4qcCxPPSgtbitsK2MpKihwLWYraCksUD0oLW4rbCkqKGYtaCksdz0obCtjKSooLXArZiksaz0oLWkrYytkKSooZytiLXkpLFM9KGktZCkqKGcteSksRD1pKmIsUj0oYytkKSooLWIreSksRT0oLWkrcitzKSooaCtiLV8pLEE9KGktcykqKGgtXyksVD0ocitzKSooLWIrXyksTj0obitvK2ktYS1yLWMtZCkqZytNK3YreCtrK0QrUix6PXgrTyt3KyhuK28raS1yLXMtbC1jKSpoK0QrRStULEk9QytyKigtcCttK3UtZy1oLWIrXykrTSt4K0QrRStBLEg9QytNK3YreCtzKnksRj1EK0UrQStUK2EqZixMPXgrTytQK2MqKC1wK2YrdS1nLWgtYit5KStrK1MrRCxCPWsrUytEK1IrbCptLFY9eCtPK1ArdytkKl87cmV0dXJuIGUuc2V0KDAsMCx4K0Qrbyp1KSxlLnNldCgwLDEsTiksZS5zZXQoMCwyLHopLGUuc2V0KDEsMCxJKSxlLnNldCgxLDEsSCksZS5zZXQoMSwyLEYpLGUuc2V0KDIsMCxMKSxlLnNldCgyLDEsQiksZS5zZXQoMiwyLFYpLGV9bW11bFN0cmFzc2VuKHQpe3Q9U010LmNoZWNrTWF0cml4KHQpO2xldCBlPXRoaXMuY2xvbmUoKSxuPWUucm93cyxvPWUuY29sdW1ucyxpPXQucm93cyxhPXQuY29sdW1ucztmdW5jdGlvbiByKHQsZSxuKXtpZih0LnJvd3M9PT1lJiZ0LmNvbHVtbnM9PT1uKXJldHVybiB0O3tsZXQgbz1QTXQuemVyb3MoZSxuKTtyZXR1cm4gbz1vLnNldFN1Yk1hdHJpeCh0LDAsMCksb319byE9PWkmJmNvbnNvbGUud2FybihgTXVsdGlwbHlpbmcgJHtufSB4ICR7b30gYW5kICR7aX0geCAke2F9IG1hdHJpeDogZGltZW5zaW9ucyBkbyBub3QgbWF0Y2guYCk7bGV0IHM9TWF0aC5tYXgobixpKSxsPU1hdGgubWF4KG8sYSk7cmV0dXJuIGU9cihlLHMsbCksKGZ1bmN0aW9uIHQoZSxuLG8saSl7aWYobzw9NTEyfHxpPD01MTIpcmV0dXJuIGUubW11bChuKTtvJTI9PTEmJmklMj09MT8oZT1yKGUsbysxLGkrMSksbj1yKG4sbysxLGkrMSkpOm8lMj09MT8oZT1yKGUsbysxLGkpLG49cihuLG8rMSxpKSk6aSUyPT0xJiYoZT1yKGUsbyxpKzEpLG49cihuLG8saSsxKSk7bGV0IGE9cGFyc2VJbnQoZS5yb3dzLzIsMTApLHM9cGFyc2VJbnQoZS5jb2x1bW5zLzIsMTApLGw9ZS5zdWJNYXRyaXgoMCxhLTEsMCxzLTEpLGM9bi5zdWJNYXRyaXgoMCxhLTEsMCxzLTEpLGQ9ZS5zdWJNYXRyaXgoMCxhLTEscyxlLmNvbHVtbnMtMSkscD1uLnN1Yk1hdHJpeCgwLGEtMSxzLG4uY29sdW1ucy0xKSxtPWUuc3ViTWF0cml4KGEsZS5yb3dzLTEsMCxzLTEpLGY9bi5zdWJNYXRyaXgoYSxuLnJvd3MtMSwwLHMtMSksdT1lLnN1Yk1hdHJpeChhLGUucm93cy0xLHMsZS5jb2x1bW5zLTEpLGc9bi5zdWJNYXRyaXgoYSxuLnJvd3MtMSxzLG4uY29sdW1ucy0xKSxoPXQoUE10LmFkZChsLHUpLFBNdC5hZGQoYyxnKSxhLHMpLGI9dChQTXQuYWRkKG0sdSksYyxhLHMpLHk9dChsLFBNdC5zdWIocCxnKSxhLHMpLF89dCh1LFBNdC5zdWIoZixjKSxhLHMpLEM9dChQTXQuYWRkKGwsZCksZyxhLHMpLE09dChQTXQuc3ViKG0sbCksUE10LmFkZChjLHApLGEscyksdj10KFBNdC5zdWIoZCx1KSxQTXQuYWRkKGYsZyksYSxzKSx4PVBNdC5hZGQoaCxfKTt4LnN1YihDKSx4LmFkZCh2KTtsZXQgTz1QTXQuYWRkKHksQyksUD1QTXQuYWRkKGIsXyksdz1QTXQuc3ViKGgsYik7dy5hZGQoeSksdy5hZGQoTSk7bGV0IGs9UE10Lnplcm9zKDIqeC5yb3dzLDIqeC5jb2x1bW5zKTtyZXR1cm4gaz1rLnNldFN1Yk1hdHJpeCh4LDAsMCksaz1rLnNldFN1Yk1hdHJpeChPLHgucm93cywwKSxrPWsuc2V0U3ViTWF0cml4KFAsMCx4LmNvbHVtbnMpLGs9ay5zZXRTdWJNYXRyaXgodyx4LnJvd3MseC5jb2x1bW5zKSxrLnN1Yk1hdHJpeCgwLG8tMSwwLGktMSl9KShlLHQ9cih0LHMsbCkscyxsKX1zY2FsZVJvd3ModD17fSl7aWYoIm9iamVjdCIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3QiKTtjb25zdHttaW46ZT0wLG1heDpuPTF9PXQ7aWYoIU51bWJlci5pc0Zpbml0ZShlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJtaW4gbXVzdCBiZSBhIG51bWJlciIpO2lmKCFOdW1iZXIuaXNGaW5pdGUobikpdGhyb3cgbmV3IFR5cGVFcnJvcigibWF4IG11c3QgYmUgYSBudW1iZXIiKTtpZihlPj1uKXRocm93IG5ldyBSYW5nZUVycm9yKCJtaW4gbXVzdCBiZSBzbWFsbGVyIHRoYW4gbWF4Iik7bGV0IG89bmV3IFNNdCh0aGlzLnJvd3MsdGhpcy5jb2x1bW5zKTtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0Kyspe2NvbnN0IGk9dGhpcy5nZXRSb3codCk7aS5sZW5ndGg+MCYmZE10KGkse21pbjplLG1heDpuLG91dHB1dDppfSksby5zZXRSb3codCxpKX1yZXR1cm4gb31zY2FsZUNvbHVtbnModD17fSl7aWYoIm9iamVjdCIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3QiKTtjb25zdHttaW46ZT0wLG1heDpuPTF9PXQ7aWYoIU51bWJlci5pc0Zpbml0ZShlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJtaW4gbXVzdCBiZSBhIG51bWJlciIpO2lmKCFOdW1iZXIuaXNGaW5pdGUobikpdGhyb3cgbmV3IFR5cGVFcnJvcigibWF4IG11c3QgYmUgYSBudW1iZXIiKTtpZihlPj1uKXRocm93IG5ldyBSYW5nZUVycm9yKCJtaW4gbXVzdCBiZSBzbWFsbGVyIHRoYW4gbWF4Iik7bGV0IG89bmV3IFNNdCh0aGlzLnJvd3MsdGhpcy5jb2x1bW5zKTtmb3IobGV0IHQ9MDt0PHRoaXMuY29sdW1uczt0Kyspe2NvbnN0IGk9dGhpcy5nZXRDb2x1bW4odCk7aS5sZW5ndGgmJmRNdChpLHttaW46ZSxtYXg6bixvdXRwdXQ6aX0pLG8uc2V0Q29sdW1uKHQsaSl9cmV0dXJuIG99ZmxpcFJvd3MoKXtjb25zdCB0PU1hdGguY2VpbCh0aGlzLmNvbHVtbnMvMik7Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKWZvcihsZXQgbj0wO248dDtuKyspe2xldCB0PXRoaXMuZ2V0KGUsbiksbz10aGlzLmdldChlLHRoaXMuY29sdW1ucy0xLW4pO3RoaXMuc2V0KGUsbixvKSx0aGlzLnNldChlLHRoaXMuY29sdW1ucy0xLW4sdCl9cmV0dXJuIHRoaXN9ZmxpcENvbHVtbnMoKXtjb25zdCB0PU1hdGguY2VpbCh0aGlzLnJvd3MvMik7Zm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKWZvcihsZXQgbj0wO248dDtuKyspe2xldCB0PXRoaXMuZ2V0KG4sZSksbz10aGlzLmdldCh0aGlzLnJvd3MtMS1uLGUpO3RoaXMuc2V0KG4sZSxvKSx0aGlzLnNldCh0aGlzLnJvd3MtMS1uLGUsdCl9cmV0dXJuIHRoaXN9a3JvbmVja2VyUHJvZHVjdCh0KXt0PVNNdC5jaGVja01hdHJpeCh0KTtsZXQgZT10aGlzLnJvd3Msbj10aGlzLmNvbHVtbnMsbz10LnJvd3MsaT10LmNvbHVtbnMsYT1uZXcgU010KGUqbyxuKmkpO2ZvcihsZXQgcj0wO3I8ZTtyKyspZm9yKGxldCBlPTA7ZTxuO2UrKylmb3IobGV0IG49MDtuPG87bisrKWZvcihsZXQgcz0wO3M8aTtzKyspYS5zZXQobypyK24saSplK3MsdGhpcy5nZXQocixlKSp0LmdldChuLHMpKTtyZXR1cm4gYX1rcm9uZWNrZXJTdW0odCl7aWYodD1TTXQuY2hlY2tNYXRyaXgodCksIXRoaXMuaXNTcXVhcmUoKXx8IXQuaXNTcXVhcmUoKSl0aHJvdyBuZXcgRXJyb3IoIktyb25lY2tlciBTdW0gbmVlZHMgdHdvIFNxdWFyZSBNYXRyaWNlcyIpO2xldCBlPXRoaXMucm93cyxuPXQucm93cyxvPXRoaXMua3JvbmVja2VyUHJvZHVjdChTTXQuZXllKG4sbikpLGk9U010LmV5ZShlLGUpLmtyb25lY2tlclByb2R1Y3QodCk7cmV0dXJuIG8uYWRkKGkpfXRyYW5zcG9zZSgpe2xldCB0PW5ldyBTTXQodGhpcy5jb2x1bW5zLHRoaXMucm93cyk7Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0LnNldChuLGUsdGhpcy5nZXQoZSxuKSk7cmV0dXJuIHR9c29ydFJvd3ModD13TXQpe2ZvcihsZXQgZT0wO2U8dGhpcy5yb3dzO2UrKyl0aGlzLnNldFJvdyhlLHRoaXMuZ2V0Um93KGUpLnNvcnQodCkpO3JldHVybiB0aGlzfXNvcnRDb2x1bW5zKHQ9d010KXtmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXRDb2x1bW4oZSx0aGlzLmdldENvbHVtbihlKS5zb3J0KHQpKTtyZXR1cm4gdGhpc31zdWJNYXRyaXgodCxlLG4sbyl7TU10KHRoaXMsdCxlLG4sbyk7bGV0IGk9bmV3IFNNdChlLXQrMSxvLW4rMSk7Zm9yKGxldCBhPXQ7YTw9ZTthKyspZm9yKGxldCBlPW47ZTw9bztlKyspaS5zZXQoYS10LGUtbix0aGlzLmdldChhLGUpKTtyZXR1cm4gaX1zdWJNYXRyaXhSb3codCxlLG4pe2lmKHZvaWQgMD09PWUmJihlPTApLHZvaWQgMD09PW4mJihuPXRoaXMuY29sdW1ucy0xKSxlPm58fGU8MHx8ZT49dGhpcy5jb2x1bW5zfHxuPDB8fG4+PXRoaXMuY29sdW1ucyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQXJndW1lbnQgb3V0IG9mIHJhbmdlIik7bGV0IG89bmV3IFNNdCh0Lmxlbmd0aCxuLWUrMSk7Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspZm9yKGxldCBhPWU7YTw9bjthKyspe2lmKHRbaV08MHx8dFtpXT49dGhpcy5yb3dzKXRocm93IG5ldyBSYW5nZUVycm9yKGBSb3cgaW5kZXggb3V0IG9mIHJhbmdlOiAke3RbaV19YCk7by5zZXQoaSxhLWUsdGhpcy5nZXQodFtpXSxhKSl9cmV0dXJuIG99c3ViTWF0cml4Q29sdW1uKHQsZSxuKXtpZih2b2lkIDA9PT1lJiYoZT0wKSx2b2lkIDA9PT1uJiYobj10aGlzLnJvd3MtMSksZT5ufHxlPDB8fGU+PXRoaXMucm93c3x8bjwwfHxuPj10aGlzLnJvd3MpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkFyZ3VtZW50IG91dCBvZiByYW5nZSIpO2xldCBvPW5ldyBTTXQobi1lKzEsdC5sZW5ndGgpO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKWZvcihsZXQgYT1lO2E8PW47YSsrKXtpZih0W2ldPDB8fHRbaV0+PXRoaXMuY29sdW1ucyl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgQ29sdW1uIGluZGV4IG91dCBvZiByYW5nZTogJHt0W2ldfWApO28uc2V0KGEtZSxpLHRoaXMuZ2V0KGEsdFtpXSkpfXJldHVybiBvfXNldFN1Yk1hdHJpeCh0LGUsbil7aWYoKHQ9U010LmNoZWNrTWF0cml4KHQpKS5pc0VtcHR5KCkpcmV0dXJuIHRoaXM7TU10KHRoaXMsZSxlK3Qucm93cy0xLG4sbit0LmNvbHVtbnMtMSk7Zm9yKGxldCBvPTA7bzx0LnJvd3M7bysrKWZvcihsZXQgaT0wO2k8dC5jb2x1bW5zO2krKyl0aGlzLnNldChlK28sbitpLHQuZ2V0KG8saSkpO3JldHVybiB0aGlzfXNlbGVjdGlvbih0LGUpe2xldCBuPShmdW5jdGlvbiBvKHQsZSxuKXtyZXR1cm57cm93Ol9NdCh0LGUpLGNvbHVtbjpDTXQodCxuKX19KSh0aGlzLHQsZSksaT1uZXcgU010KHQubGVuZ3RoLGUubGVuZ3RoKTtmb3IobGV0IHQ9MDt0PG4ucm93Lmxlbmd0aDt0Kyspe2xldCBlPW4ucm93W3RdO2ZvcihsZXQgbz0wO288bi5jb2x1bW4ubGVuZ3RoO28rKyl7aS5zZXQodCxvLHRoaXMuZ2V0KGUsbi5jb2x1bW5bb10pKX19cmV0dXJuIGl9dHJhY2UoKXtsZXQgdD1NYXRoLm1pbih0aGlzLnJvd3MsdGhpcy5jb2x1bW5zKSxlPTA7Zm9yKGxldCBuPTA7bjx0O24rKyllKz10aGlzLmdldChuLG4pO3JldHVybiBlfWNsb25lKCl7bGV0IHQ9bmV3IFNNdCh0aGlzLnJvd3MsdGhpcy5jb2x1bW5zKTtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXQuc2V0KGUsbix0aGlzLmdldChlLG4pKTtyZXR1cm4gdH1zdW0odCl7c3dpdGNoKHQpe2Nhc2Uicm93IjpyZXR1cm4oZnVuY3Rpb24gZSh0KXtsZXQgZT12TXQodC5yb3dzKTtmb3IobGV0IG49MDtuPHQucm93czsrK24pZm9yKGxldCBvPTA7bzx0LmNvbHVtbnM7KytvKWVbbl0rPXQuZ2V0KG4sbyk7cmV0dXJuIGV9KSh0aGlzKTtjYXNlImNvbHVtbiI6cmV0dXJuKGZ1bmN0aW9uIG4odCl7bGV0IGU9dk10KHQuY29sdW1ucyk7Zm9yKGxldCBuPTA7bjx0LnJvd3M7KytuKWZvcihsZXQgbz0wO288dC5jb2x1bW5zOysrbyllW29dKz10LmdldChuLG8pO3JldHVybiBlfSkodGhpcyk7Y2FzZSB2b2lkIDA6cmV0dXJuKGZ1bmN0aW9uIG8odCl7bGV0IGU9MDtmb3IobGV0IG49MDtuPHQucm93cztuKyspZm9yKGxldCBvPTA7bzx0LmNvbHVtbnM7bysrKWUrPXQuZ2V0KG4sbyk7cmV0dXJuIGV9KSh0aGlzKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgaW52YWxpZCBvcHRpb246ICR7dH1gKX19cHJvZHVjdCh0KXtzd2l0Y2godCl7Y2FzZSJyb3ciOnJldHVybihmdW5jdGlvbiBlKHQpe2xldCBlPXZNdCh0LnJvd3MsMSk7Zm9yKGxldCBuPTA7bjx0LnJvd3M7KytuKWZvcihsZXQgbz0wO288dC5jb2x1bW5zOysrbyllW25dKj10LmdldChuLG8pO3JldHVybiBlfSkodGhpcyk7Y2FzZSJjb2x1bW4iOnJldHVybihmdW5jdGlvbiBuKHQpe2xldCBlPXZNdCh0LmNvbHVtbnMsMSk7Zm9yKGxldCBuPTA7bjx0LnJvd3M7KytuKWZvcihsZXQgbz0wO288dC5jb2x1bW5zOysrbyllW29dKj10LmdldChuLG8pO3JldHVybiBlfSkodGhpcyk7Y2FzZSB2b2lkIDA6cmV0dXJuKGZ1bmN0aW9uIG8odCl7bGV0IGU9MTtmb3IobGV0IG49MDtuPHQucm93cztuKyspZm9yKGxldCBvPTA7bzx0LmNvbHVtbnM7bysrKWUqPXQuZ2V0KG4sbyk7cmV0dXJuIGV9KSh0aGlzKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgaW52YWxpZCBvcHRpb246ICR7dH1gKX19bWVhbih0KXtjb25zdCBlPXRoaXMuc3VtKHQpO3N3aXRjaCh0KXtjYXNlInJvdyI6Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWVbdF0vPXRoaXMuY29sdW1ucztyZXR1cm4gZTtjYXNlImNvbHVtbiI6Zm9yKGxldCB0PTA7dDx0aGlzLmNvbHVtbnM7dCsrKWVbdF0vPXRoaXMucm93cztyZXR1cm4gZTtjYXNlIHZvaWQgMDpyZXR1cm4gZS90aGlzLnNpemU7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgb3B0aW9uOiAke3R9YCl9fXZhcmlhbmNlKHQsZT17fSl7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiYoZT10LHQ9dm9pZCAwKSwib2JqZWN0IiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigib3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdCIpO2NvbnN0e3VuYmlhc2VkOm49ITAsbWVhbjpvPXRoaXMubWVhbih0KX09ZTtpZigiYm9vbGVhbiIhPXR5cGVvZiBuKXRocm93IG5ldyBUeXBlRXJyb3IoInVuYmlhc2VkIG11c3QgYmUgYSBib29sZWFuIik7c3dpdGNoKHQpe2Nhc2Uicm93IjppZighQXJyYXkuaXNBcnJheShvKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJtZWFuIG11c3QgYmUgYW4gYXJyYXkiKTtyZXR1cm4oZnVuY3Rpb24gZSh0LG4sbyl7Y29uc3QgaT10LnJvd3MsYT10LmNvbHVtbnMscj1bXTtmb3IobGV0IGU9MDtlPGk7ZSsrKXtsZXQgaT0wLHM9MCxsPTA7Zm9yKGxldCBuPTA7bjxhO24rKylsPXQuZ2V0KGUsbiktb1tlXSxpKz1sLHMrPWwqbDtyLnB1c2gobj8ocy1pKmkvYSkvKGEtMSk6KHMtaSppL2EpL2EpfXJldHVybiByfSkodGhpcyxuLG8pO2Nhc2UiY29sdW1uIjppZighQXJyYXkuaXNBcnJheShvKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJtZWFuIG11c3QgYmUgYW4gYXJyYXkiKTtyZXR1cm4oZnVuY3Rpb24gaSh0LGUsbil7Y29uc3Qgbz10LnJvd3MsaT10LmNvbHVtbnMsYT1bXTtmb3IobGV0IHI9MDtyPGk7cisrKXtsZXQgaT0wLHM9MCxsPTA7Zm9yKGxldCBlPTA7ZTxvO2UrKylsPXQuZ2V0KGUsciktbltyXSxpKz1sLHMrPWwqbDthLnB1c2goZT8ocy1pKmkvbykvKG8tMSk6KHMtaSppL28pL28pfXJldHVybiBhfSkodGhpcyxuLG8pO2Nhc2Ugdm9pZCAwOmlmKCJudW1iZXIiIT10eXBlb2Ygbyl0aHJvdyBuZXcgVHlwZUVycm9yKCJtZWFuIG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4oZnVuY3Rpb24gYSh0LGUsbil7Y29uc3Qgbz10LnJvd3MsaT10LmNvbHVtbnMsYT1vKmk7bGV0IHI9MCxzPTAsbD0wO2ZvcihsZXQgZT0wO2U8bztlKyspZm9yKGxldCBvPTA7bzxpO28rKylsPXQuZ2V0KGUsbyktbixyKz1sLHMrPWwqbDtyZXR1cm4gZT8ocy1yKnIvYSkvKGEtMSk6KHMtcipyL2EpL2F9KSh0aGlzLG4sbyk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgb3B0aW9uOiAke3R9YCl9fXN0YW5kYXJkRGV2aWF0aW9uKHQsZSl7Im9iamVjdCI9PXR5cGVvZiB0JiYoZT10LHQ9dm9pZCAwKTtjb25zdCBuPXRoaXMudmFyaWFuY2UodCxlKTtpZih2b2lkIDA9PT10KXJldHVybiBNYXRoLnNxcnQobik7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspblt0XT1NYXRoLnNxcnQoblt0XSk7cmV0dXJuIG59Y2VudGVyKHQsZT17fSl7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiYoZT10LHQ9dm9pZCAwKSwib2JqZWN0IiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigib3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdCIpO2NvbnN0e2NlbnRlcjpuPXRoaXMubWVhbih0KX09ZTtzd2l0Y2godCl7Y2FzZSJyb3ciOmlmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IG5ldyBUeXBlRXJyb3IoImNlbnRlciBtdXN0IGJlIGFuIGFycmF5Iik7cmV0dXJuKGZ1bmN0aW9uIGUodCxuKXtmb3IobGV0IGU9MDtlPHQucm93cztlKyspZm9yKGxldCBvPTA7bzx0LmNvbHVtbnM7bysrKXQuc2V0KGUsbyx0LmdldChlLG8pLW5bZV0pfSkodGhpcyxuKSx0aGlzO2Nhc2UiY29sdW1uIjppZighQXJyYXkuaXNBcnJheShuKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjZW50ZXIgbXVzdCBiZSBhbiBhcnJheSIpO3JldHVybihmdW5jdGlvbiBvKHQsZSl7Zm9yKGxldCBuPTA7bjx0LnJvd3M7bisrKWZvcihsZXQgbz0wO288dC5jb2x1bW5zO28rKyl0LnNldChuLG8sdC5nZXQobixvKS1lW29dKX0pKHRoaXMsbiksdGhpcztjYXNlIHZvaWQgMDppZigibnVtYmVyIiE9dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiY2VudGVyIG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4oZnVuY3Rpb24gaSh0LGUpe2ZvcihsZXQgbj0wO248dC5yb3dzO24rKylmb3IobGV0IG89MDtvPHQuY29sdW1ucztvKyspdC5zZXQobixvLHQuZ2V0KG4sbyktZSl9KSh0aGlzLG4pLHRoaXM7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgb3B0aW9uOiAke3R9YCl9fXNjYWxlKHQsZT17fSl7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiYoZT10LHQ9dm9pZCAwKSwib2JqZWN0IiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigib3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdCIpO2xldCBuPWUuc2NhbGU7c3dpdGNoKHQpe2Nhc2Uicm93IjppZih2b2lkIDA9PT1uKW49KGZ1bmN0aW9uIGUodCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPHQucm93cztuKyspe2xldCBvPTA7Zm9yKGxldCBlPTA7ZTx0LmNvbHVtbnM7ZSsrKW8rPU1hdGgucG93KHQuZ2V0KG4sZSksMikvKHQuY29sdW1ucy0xKTtlLnB1c2goTWF0aC5zcXJ0KG8pKX1yZXR1cm4gZX0pKHRoaXMpO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkobikpdGhyb3cgbmV3IFR5cGVFcnJvcigic2NhbGUgbXVzdCBiZSBhbiBhcnJheSIpO3JldHVybihmdW5jdGlvbiBvKHQsZSl7Zm9yKGxldCBuPTA7bjx0LnJvd3M7bisrKWZvcihsZXQgbz0wO288dC5jb2x1bW5zO28rKyl0LnNldChuLG8sdC5nZXQobixvKS9lW25dKX0pKHRoaXMsbiksdGhpcztjYXNlImNvbHVtbiI6aWYodm9pZCAwPT09biluPShmdW5jdGlvbiBpKHQpe2NvbnN0IGU9W107Zm9yKGxldCBuPTA7bjx0LmNvbHVtbnM7bisrKXtsZXQgbz0wO2ZvcihsZXQgZT0wO2U8dC5yb3dzO2UrKylvKz1NYXRoLnBvdyh0LmdldChlLG4pLDIpLyh0LnJvd3MtMSk7ZS5wdXNoKE1hdGguc3FydChvKSl9cmV0dXJuIGV9KSh0aGlzKTtlbHNlIGlmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IG5ldyBUeXBlRXJyb3IoInNjYWxlIG11c3QgYmUgYW4gYXJyYXkiKTtyZXR1cm4oZnVuY3Rpb24gYSh0LGUpe2ZvcihsZXQgbj0wO248dC5yb3dzO24rKylmb3IobGV0IG89MDtvPHQuY29sdW1ucztvKyspdC5zZXQobixvLHQuZ2V0KG4sbykvZVtvXSl9KSh0aGlzLG4pLHRoaXM7Y2FzZSB2b2lkIDA6aWYodm9pZCAwPT09biluPShmdW5jdGlvbiByKHQpe2NvbnN0IGU9dC5zaXplLTE7bGV0IG49MDtmb3IobGV0IG89MDtvPHQuY29sdW1ucztvKyspZm9yKGxldCBpPTA7aTx0LnJvd3M7aSsrKW4rPU1hdGgucG93KHQuZ2V0KGksbyksMikvZTtyZXR1cm4gTWF0aC5zcXJ0KG4pfSkodGhpcyk7ZWxzZSBpZigibnVtYmVyIiE9dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigic2NhbGUgbXVzdCBiZSBhIG51bWJlciIpO3JldHVybihmdW5jdGlvbiBzKHQsZSl7Zm9yKGxldCBuPTA7bjx0LnJvd3M7bisrKWZvcihsZXQgbz0wO288dC5jb2x1bW5zO28rKyl0LnNldChuLG8sdC5nZXQobixvKS9lKX0pKHRoaXMsbiksdGhpcztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgaW52YWxpZCBvcHRpb246ICR7dH1gKX19dG9TdHJpbmcodCl7cmV0dXJuIGZNdCh0aGlzLHQpfX1mdW5jdGlvbiB3TXQodCxlKXtyZXR1cm4gdC1lfVBNdC5wcm90b3R5cGUua2xhc3M9Ik1hdHJpeCIsInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJihQTXQucHJvdG90eXBlW1N5bWJvbC5mb3IoIm5vZGVqcy51dGlsLmluc3BlY3QuY3VzdG9tIildPWZ1bmN0aW9uIGtNdCgpe3JldHVybiBmTXQodGhpcyl9KSxQTXQucmFuZG9tPVBNdC5yYW5kLFBNdC5yYW5kb21JbnQ9UE10LnJhbmRJbnQsUE10LmRpYWdvbmFsPVBNdC5kaWFnLFBNdC5wcm90b3R5cGUuZGlhZ29uYWw9UE10LnByb3RvdHlwZS5kaWFnLFBNdC5pZGVudGl0eT1QTXQuZXllLFBNdC5wcm90b3R5cGUubmVnYXRlPVBNdC5wcm90b3R5cGUubmVnLFBNdC5wcm90b3R5cGUudGVuc29yUHJvZHVjdD1QTXQucHJvdG90eXBlLmtyb25lY2tlclByb2R1Y3Q7Y2xhc3MgU010IGV4dGVuZHMgUE10e2NvbnN0cnVjdG9yKHQsZSl7aWYoc3VwZXIoKSxTTXQuaXNNYXRyaXgodCkpcmV0dXJuIHQuY2xvbmUoKTtpZihOdW1iZXIuaXNJbnRlZ2VyKHQpJiZ0Pj0wKXtpZih0aGlzLmRhdGE9W10sIShOdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPj0wKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJuQ29sdW1ucyBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciIpO2ZvcihsZXQgbj0wO248dDtuKyspdGhpcy5kYXRhLnB1c2gobmV3IEZsb2F0NjRBcnJheShlKSl9ZWxzZXtpZighQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJGaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyIG9yIGFuIGFycmF5Iik7e2NvbnN0IG49dDtpZigibnVtYmVyIiE9dHlwZW9mKGU9KHQ9bi5sZW5ndGgpP25bMF0ubGVuZ3RoOjApKXRocm93IG5ldyBUeXBlRXJyb3IoIkRhdGEgbXVzdCBiZSBhIDJEIGFycmF5IHdpdGggYXQgbGVhc3Qgb25lIGVsZW1lbnQiKTt0aGlzLmRhdGE9W107Zm9yKGxldCBvPTA7bzx0O28rKyl7aWYobltvXS5sZW5ndGghPT1lKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmNvbnNpc3RlbnQgYXJyYXkgZGltZW5zaW9ucyIpO3RoaXMuZGF0YS5wdXNoKEZsb2F0NjRBcnJheS5mcm9tKG5bb10pKX19fXRoaXMucm93cz10LHRoaXMuY29sdW1ucz1lfXNldCh0LGUsbil7cmV0dXJuIHRoaXMuZGF0YVt0XVtlXT1uLHRoaXN9Z2V0KHQsZSl7cmV0dXJuIHRoaXMuZGF0YVt0XVtlXX1yZW1vdmVSb3codCl7cmV0dXJuIGdNdCh0aGlzLHQpLHRoaXMuZGF0YS5zcGxpY2UodCwxKSx0aGlzLnJvd3MtPTEsdGhpc31hZGRSb3codCxlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9dCx0PXRoaXMucm93cyksZ010KHRoaXMsdCwhMCksZT1GbG9hdDY0QXJyYXkuZnJvbShiTXQodGhpcyxlKSksdGhpcy5kYXRhLnNwbGljZSh0LDAsZSksdGhpcy5yb3dzKz0xLHRoaXN9cmVtb3ZlQ29sdW1uKHQpe2hNdCh0aGlzLHQpO2ZvcihsZXQgZT0wO2U8dGhpcy5yb3dzO2UrKyl7Y29uc3Qgbj1uZXcgRmxvYXQ2NEFycmF5KHRoaXMuY29sdW1ucy0xKTtmb3IobGV0IG89MDtvPHQ7bysrKW5bb109dGhpcy5kYXRhW2VdW29dO2ZvcihsZXQgbz10KzE7bzx0aGlzLmNvbHVtbnM7bysrKW5bby0xXT10aGlzLmRhdGFbZV1bb107dGhpcy5kYXRhW2VdPW59cmV0dXJuIHRoaXMuY29sdW1ucy09MSx0aGlzfWFkZENvbHVtbih0LGUpe3ZvaWQgMD09PWUmJihlPXQsdD10aGlzLmNvbHVtbnMpLGhNdCh0aGlzLHQsITApLGU9eU10KHRoaXMsZSk7Zm9yKGxldCBuPTA7bjx0aGlzLnJvd3M7bisrKXtjb25zdCBvPW5ldyBGbG9hdDY0QXJyYXkodGhpcy5jb2x1bW5zKzEpO2xldCBpPTA7Zm9yKDtpPHQ7aSsrKW9baV09dGhpcy5kYXRhW25dW2ldO2ZvcihvW2krK109ZVtuXTtpPHRoaXMuY29sdW1ucysxO2krKylvW2ldPXRoaXMuZGF0YVtuXVtpLTFdO3RoaXMuZGF0YVtuXT1vfXJldHVybiB0aGlzLmNvbHVtbnMrPTEsdGhpc319IShmdW5jdGlvbiBETXQodCxlKXt0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24gdChlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5hZGRTKGUpOnRoaXMuYWRkTShlKX0sdC5wcm90b3R5cGUuYWRkUz1mdW5jdGlvbiB0KGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQodCxuLHRoaXMuZ2V0KHQsbikrZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLmFkZE09ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLHRoaXMuZ2V0KHQsZSkrbi5nZXQodCxlKSk7cmV0dXJuIHRoaXN9LHQuYWRkPWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikuYWRkKG8pfSx0LnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24gdChlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5zdWJTKGUpOnRoaXMuc3ViTShlKX0sdC5wcm90b3R5cGUuc3ViUz1mdW5jdGlvbiB0KGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQodCxuLHRoaXMuZ2V0KHQsbiktZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLnN1Yk09ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLHRoaXMuZ2V0KHQsZSktbi5nZXQodCxlKSk7cmV0dXJuIHRoaXN9LHQuc3ViPWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikuc3ViKG8pfSx0LnByb3RvdHlwZS5zdWJ0cmFjdD10LnByb3RvdHlwZS5zdWIsdC5wcm90b3R5cGUuc3VidHJhY3RTPXQucHJvdG90eXBlLnN1YlMsdC5wcm90b3R5cGUuc3VidHJhY3RNPXQucHJvdG90eXBlLnN1Yk0sdC5zdWJ0cmFjdD10LnN1Yix0LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24gdChlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5tdWxTKGUpOnRoaXMubXVsTShlKX0sdC5wcm90b3R5cGUubXVsUz1mdW5jdGlvbiB0KGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQodCxuLHRoaXMuZ2V0KHQsbikqZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLm11bE09ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLHRoaXMuZ2V0KHQsZSkqbi5nZXQodCxlKSk7cmV0dXJuIHRoaXN9LHQubXVsPWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikubXVsKG8pfSx0LnByb3RvdHlwZS5tdWx0aXBseT10LnByb3RvdHlwZS5tdWwsdC5wcm90b3R5cGUubXVsdGlwbHlTPXQucHJvdG90eXBlLm11bFMsdC5wcm90b3R5cGUubXVsdGlwbHlNPXQucHJvdG90eXBlLm11bE0sdC5tdWx0aXBseT10Lm11bCx0LnByb3RvdHlwZS5kaXY9ZnVuY3Rpb24gdChlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5kaXZTKGUpOnRoaXMuZGl2TShlKX0sdC5wcm90b3R5cGUuZGl2Uz1mdW5jdGlvbiB0KGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQodCxuLHRoaXMuZ2V0KHQsbikvZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLmRpdk09ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLHRoaXMuZ2V0KHQsZSkvbi5nZXQodCxlKSk7cmV0dXJuIHRoaXN9LHQuZGl2PWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikuZGl2KG8pfSx0LnByb3RvdHlwZS5kaXZpZGU9dC5wcm90b3R5cGUuZGl2LHQucHJvdG90eXBlLmRpdmlkZVM9dC5wcm90b3R5cGUuZGl2Uyx0LnByb3RvdHlwZS5kaXZpZGVNPXQucHJvdG90eXBlLmRpdk0sdC5kaXZpZGU9dC5kaXYsdC5wcm90b3R5cGUubW9kPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlP3RoaXMubW9kUyhlKTp0aGlzLm1vZE0oZSl9LHQucHJvdG90eXBlLm1vZFM9ZnVuY3Rpb24gdChlKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXRoaXMuc2V0KHQsbix0aGlzLmdldCh0LG4pJWUpO3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5tb2RNPWZ1bmN0aW9uIHQobil7aWYobj1lLmNoZWNrTWF0cml4KG4pLHRoaXMucm93cyE9PW4ucm93c3x8dGhpcy5jb2x1bW5zIT09bi5jb2x1bW5zKXRocm93IG5ldyBSYW5nZUVycm9yKCJNYXRyaWNlcyBkaW1lbnNpb25zIG11c3QgYmUgZXF1YWwiKTtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSx0aGlzLmdldCh0LGUpJW4uZ2V0KHQsZSkpO3JldHVybiB0aGlzfSx0Lm1vZD1mdW5jdGlvbiB0KG4sbyl7cmV0dXJuIG5ldyBlKG4pLm1vZChvKX0sdC5wcm90b3R5cGUubW9kdWx1cz10LnByb3RvdHlwZS5tb2QsdC5wcm90b3R5cGUubW9kdWx1c1M9dC5wcm90b3R5cGUubW9kUyx0LnByb3RvdHlwZS5tb2R1bHVzTT10LnByb3RvdHlwZS5tb2RNLHQubW9kdWx1cz10Lm1vZCx0LnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24gdChlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5hbmRTKGUpOnRoaXMuYW5kTShlKX0sdC5wcm90b3R5cGUuYW5kUz1mdW5jdGlvbiB0KGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQodCxuLHRoaXMuZ2V0KHQsbikmZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLmFuZE09ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLHRoaXMuZ2V0KHQsZSkmbi5nZXQodCxlKSk7cmV0dXJuIHRoaXN9LHQuYW5kPWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikuYW5kKG8pfSx0LnByb3RvdHlwZS5vcj1mdW5jdGlvbiB0KGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZT90aGlzLm9yUyhlKTp0aGlzLm9yTShlKX0sdC5wcm90b3R5cGUub3JTPWZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sdGhpcy5nZXQodCxuKXxlKTtyZXR1cm4gdGhpc30sdC5wcm90b3R5cGUub3JNPWZ1bmN0aW9uIHQobil7aWYobj1lLmNoZWNrTWF0cml4KG4pLHRoaXMucm93cyE9PW4ucm93c3x8dGhpcy5jb2x1bW5zIT09bi5jb2x1bW5zKXRocm93IG5ldyBSYW5nZUVycm9yKCJNYXRyaWNlcyBkaW1lbnNpb25zIG11c3QgYmUgZXF1YWwiKTtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSx0aGlzLmdldCh0LGUpfG4uZ2V0KHQsZSkpO3JldHVybiB0aGlzfSx0Lm9yPWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikub3Iobyl9LHQucHJvdG90eXBlLnhvcj1mdW5jdGlvbiB0KGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZT90aGlzLnhvclMoZSk6dGhpcy54b3JNKGUpfSx0LnByb3RvdHlwZS54b3JTPWZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sdGhpcy5nZXQodCxuKV5lKTtyZXR1cm4gdGhpc30sdC5wcm90b3R5cGUueG9yTT1mdW5jdGlvbiB0KG4pe2lmKG49ZS5jaGVja01hdHJpeChuKSx0aGlzLnJvd3MhPT1uLnJvd3N8fHRoaXMuY29sdW1ucyE9PW4uY29sdW1ucyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiTWF0cmljZXMgZGltZW5zaW9ucyBtdXN0IGJlIGVxdWFsIik7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsdGhpcy5nZXQodCxlKV5uLmdldCh0LGUpKTtyZXR1cm4gdGhpc30sdC54b3I9ZnVuY3Rpb24gdChuLG8pe3JldHVybiBuZXcgZShuKS54b3Iobyl9LHQucHJvdG90eXBlLmxlZnRTaGlmdD1mdW5jdGlvbiB0KGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZT90aGlzLmxlZnRTaGlmdFMoZSk6dGhpcy5sZWZ0U2hpZnRNKGUpfSx0LnByb3RvdHlwZS5sZWZ0U2hpZnRTPWZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sdGhpcy5nZXQodCxuKTw8ZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLmxlZnRTaGlmdE09ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLHRoaXMuZ2V0KHQsZSk8PG4uZ2V0KHQsZSkpO3JldHVybiB0aGlzfSx0LmxlZnRTaGlmdD1mdW5jdGlvbiB0KG4sbyl7cmV0dXJuIG5ldyBlKG4pLmxlZnRTaGlmdChvKX0sdC5wcm90b3R5cGUuc2lnblByb3BhZ2F0aW5nUmlnaHRTaGlmdD1mdW5jdGlvbiB0KGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZT90aGlzLnNpZ25Qcm9wYWdhdGluZ1JpZ2h0U2hpZnRTKGUpOnRoaXMuc2lnblByb3BhZ2F0aW5nUmlnaHRTaGlmdE0oZSl9LHQucHJvdG90eXBlLnNpZ25Qcm9wYWdhdGluZ1JpZ2h0U2hpZnRTPWZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sdGhpcy5nZXQodCxuKT4+ZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLnNpZ25Qcm9wYWdhdGluZ1JpZ2h0U2hpZnRNPWZ1bmN0aW9uIHQobil7aWYobj1lLmNoZWNrTWF0cml4KG4pLHRoaXMucm93cyE9PW4ucm93c3x8dGhpcy5jb2x1bW5zIT09bi5jb2x1bW5zKXRocm93IG5ldyBSYW5nZUVycm9yKCJNYXRyaWNlcyBkaW1lbnNpb25zIG11c3QgYmUgZXF1YWwiKTtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSx0aGlzLmdldCh0LGUpPj5uLmdldCh0LGUpKTtyZXR1cm4gdGhpc30sdC5zaWduUHJvcGFnYXRpbmdSaWdodFNoaWZ0PWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikuc2lnblByb3BhZ2F0aW5nUmlnaHRTaGlmdChvKX0sdC5wcm90b3R5cGUucmlnaHRTaGlmdD1mdW5jdGlvbiB0KGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZT90aGlzLnJpZ2h0U2hpZnRTKGUpOnRoaXMucmlnaHRTaGlmdE0oZSl9LHQucHJvdG90eXBlLnJpZ2h0U2hpZnRTPWZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sdGhpcy5nZXQodCxuKT4+PmUpO3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5yaWdodFNoaWZ0TT1mdW5jdGlvbiB0KG4pe2lmKG49ZS5jaGVja01hdHJpeChuKSx0aGlzLnJvd3MhPT1uLnJvd3N8fHRoaXMuY29sdW1ucyE9PW4uY29sdW1ucyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiTWF0cmljZXMgZGltZW5zaW9ucyBtdXN0IGJlIGVxdWFsIik7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsdGhpcy5nZXQodCxlKT4+Pm4uZ2V0KHQsZSkpO3JldHVybiB0aGlzfSx0LnJpZ2h0U2hpZnQ9ZnVuY3Rpb24gdChuLG8pe3JldHVybiBuZXcgZShuKS5yaWdodFNoaWZ0KG8pfSx0LnByb3RvdHlwZS56ZXJvRmlsbFJpZ2h0U2hpZnQ9dC5wcm90b3R5cGUucmlnaHRTaGlmdCx0LnByb3RvdHlwZS56ZXJvRmlsbFJpZ2h0U2hpZnRTPXQucHJvdG90eXBlLnJpZ2h0U2hpZnRTLHQucHJvdG90eXBlLnplcm9GaWxsUmlnaHRTaGlmdE09dC5wcm90b3R5cGUucmlnaHRTaGlmdE0sdC56ZXJvRmlsbFJpZ2h0U2hpZnQ9dC5yaWdodFNoaWZ0LHQucHJvdG90eXBlLm5vdD1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsfnRoaXMuZ2V0KHQsZSkpO3JldHVybiB0aGlzfSx0Lm5vdD1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5ub3QoKX0sdC5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmFicyh0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuYWJzPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLmFicygpfSx0LnByb3RvdHlwZS5hY29zPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmFjb3ModGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LmFjb3M9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuYWNvcygpfSx0LnByb3RvdHlwZS5hY29zaD1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5hY29zaCh0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuYWNvc2g9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuYWNvc2goKX0sdC5wcm90b3R5cGUuYXNpbj1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5hc2luKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5hc2luPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLmFzaW4oKX0sdC5wcm90b3R5cGUuYXNpbmg9ZnVuY3Rpb24gdCgpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGguYXNpbmgodGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LmFzaW5oPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLmFzaW5oKCl9LHQucHJvdG90eXBlLmF0YW49ZnVuY3Rpb24gdCgpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGguYXRhbih0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuYXRhbj1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5hdGFuKCl9LHQucHJvdG90eXBlLmF0YW5oPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmF0YW5oKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5hdGFuaD1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5hdGFuaCgpfSx0LnByb3RvdHlwZS5jYnJ0PWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmNicnQodGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LmNicnQ9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuY2JydCgpfSx0LnByb3RvdHlwZS5jZWlsPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmNlaWwodGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LmNlaWw9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuY2VpbCgpfSx0LnByb3RvdHlwZS5jbHozMj1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5jbHozMih0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuY2x6MzI9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuY2x6MzIoKX0sdC5wcm90b3R5cGUuY29zPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmNvcyh0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuY29zPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLmNvcygpfSx0LnByb3RvdHlwZS5jb3NoPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmNvc2godGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LmNvc2g9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuY29zaCgpfSx0LnByb3RvdHlwZS5leHA9ZnVuY3Rpb24gdCgpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGguZXhwKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5leHA9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuZXhwKCl9LHQucHJvdG90eXBlLmV4cG0xPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmV4cG0xKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5leHBtMT1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5leHBtMSgpfSx0LnByb3RvdHlwZS5mbG9vcj1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5mbG9vcih0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuZmxvb3I9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuZmxvb3IoKX0sdC5wcm90b3R5cGUuZnJvdW5kPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmZyb3VuZCh0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuZnJvdW5kPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLmZyb3VuZCgpfSx0LnByb3RvdHlwZS5sb2c9ZnVuY3Rpb24gdCgpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGgubG9nKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5sb2c9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikubG9nKCl9LHQucHJvdG90eXBlLmxvZzFwPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmxvZzFwKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5sb2cxcD1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5sb2cxcCgpfSx0LnByb3RvdHlwZS5sb2cxMD1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5sb2cxMCh0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQubG9nMTA9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikubG9nMTAoKX0sdC5wcm90b3R5cGUubG9nMj1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5sb2cyKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5sb2cyPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLmxvZzIoKX0sdC5wcm90b3R5cGUucm91bmQ9ZnVuY3Rpb24gdCgpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGgucm91bmQodGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LnJvdW5kPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLnJvdW5kKCl9LHQucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24gdCgpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGguc2lnbih0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuc2lnbj1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5zaWduKCl9LHQucHJvdG90eXBlLnNpbj1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5zaW4odGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LnNpbj1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5zaW4oKX0sdC5wcm90b3R5cGUuc2luaD1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5zaW5oKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5zaW5oPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLnNpbmgoKX0sdC5wcm90b3R5cGUuc3FydD1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5zcXJ0KHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5zcXJ0PWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLnNxcnQoKX0sdC5wcm90b3R5cGUudGFuPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLnRhbih0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQudGFuPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLnRhbigpfSx0LnByb3RvdHlwZS50YW5oPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLnRhbmgodGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LnRhbmg9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikudGFuaCgpfSx0LnByb3RvdHlwZS50cnVuYz1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC50cnVuYyh0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQudHJ1bmM9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikudHJ1bmMoKX0sdC5wb3c9ZnVuY3Rpb24gdChuLG8pe3JldHVybiBuZXcgZShuKS5wb3cobyl9LHQucHJvdG90eXBlLnBvdz1mdW5jdGlvbiB0KGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZT90aGlzLnBvd1MoZSk6dGhpcy5wb3dNKGUpfSx0LnByb3RvdHlwZS5wb3dTPWZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sTWF0aC5wb3codGhpcy5nZXQodCxuKSxlKSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLnBvd009ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGgucG93KHRoaXMuZ2V0KHQsZSksbi5nZXQodCxlKSkpO3JldHVybiB0aGlzfX0pKFBNdCxTTXQpO2NsYXNzIFJNdCBleHRlbmRzIFBNdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuZGF0YT10LHRoaXMucm93cz10Lmxlbmd0aCx0aGlzLmNvbHVtbnM9dFswXS5sZW5ndGh9c2V0KHQsZSxuKXtyZXR1cm4gdGhpcy5kYXRhW3RdW2VdPW4sdGhpc31nZXQodCxlKXtyZXR1cm4gdGhpcy5kYXRhW3RdW2VdfX1jbGFzcyBFTXR7Y29uc3RydWN0b3IodCl7bGV0IGUsbixvLGksYSxyLHMsbCxjLGQ9KHQ9Uk10LmNoZWNrTWF0cml4KHQpKS5jbG9uZSgpLHA9ZC5yb3dzLG09ZC5jb2x1bW5zLGY9bmV3IEZsb2F0NjRBcnJheShwKSx1PTE7Zm9yKGU9MDtlPHA7ZSsrKWZbZV09ZTtmb3IobD1uZXcgRmxvYXQ2NEFycmF5KHApLG49MDtuPG07bisrKXtmb3IoZT0wO2U8cDtlKyspbFtlXT1kLmdldChlLG4pO2ZvcihlPTA7ZTxwO2UrKyl7Zm9yKGM9TWF0aC5taW4oZSxuKSxhPTAsbz0wO288YztvKyspYSs9ZC5nZXQoZSxvKSpsW29dO2xbZV0tPWEsZC5zZXQoZSxuLGxbZV0pfWZvcihpPW4sZT1uKzE7ZTxwO2UrKylNYXRoLmFicyhsW2VdKT5NYXRoLmFicyhsW2ldKSYmKGk9ZSk7aWYoaSE9PW4pe2ZvcihvPTA7bzxtO28rKylyPWQuZ2V0KGksbyksZC5zZXQoaSxvLGQuZ2V0KG4sbykpLGQuc2V0KG4sbyxyKTtzPWZbaV0sZltpXT1mW25dLGZbbl09cyx1PS11fWlmKG48cCYmMCE9PWQuZ2V0KG4sbikpZm9yKGU9bisxO2U8cDtlKyspZC5zZXQoZSxuLGQuZ2V0KGUsbikvZC5nZXQobixuKSl9dGhpcy5MVT1kLHRoaXMucGl2b3RWZWN0b3I9Zix0aGlzLnBpdm90U2lnbj11fWlzU2luZ3VsYXIoKXtsZXQgdD10aGlzLkxVLGU9dC5jb2x1bW5zO2ZvcihsZXQgbj0wO248ZTtuKyspaWYoMD09PXQuZ2V0KG4sbikpcmV0dXJuITA7cmV0dXJuITF9c29sdmUodCl7dD1TTXQuY2hlY2tNYXRyaXgodCk7bGV0IGU9dGhpcy5MVTtpZihlLnJvd3MhPT10LnJvd3MpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG1hdHJpeCBkaW1lbnNpb25zIik7aWYodGhpcy5pc1Npbmd1bGFyKCkpdGhyb3cgbmV3IEVycm9yKCJMVSBtYXRyaXggaXMgc2luZ3VsYXIiKTtsZXQgbixvLGksYT10LmNvbHVtbnMscj10LnN1Yk1hdHJpeFJvdyh0aGlzLnBpdm90VmVjdG9yLDAsYS0xKSxzPWUuY29sdW1ucztmb3IoaT0wO2k8cztpKyspZm9yKG49aSsxO248cztuKyspZm9yKG89MDtvPGE7bysrKXIuc2V0KG4sbyxyLmdldChuLG8pLXIuZ2V0KGksbykqZS5nZXQobixpKSk7Zm9yKGk9cy0xO2k+PTA7aS0tKXtmb3Iobz0wO288YTtvKyspci5zZXQoaSxvLHIuZ2V0KGksbykvZS5nZXQoaSxpKSk7Zm9yKG49MDtuPGk7bisrKWZvcihvPTA7bzxhO28rKylyLnNldChuLG8sci5nZXQobixvKS1yLmdldChpLG8pKmUuZ2V0KG4saSkpfXJldHVybiByfWdldCBkZXRlcm1pbmFudCgpe2xldCB0PXRoaXMuTFU7aWYoIXQuaXNTcXVhcmUoKSl0aHJvdyBuZXcgRXJyb3IoIk1hdHJpeCBtdXN0IGJlIHNxdWFyZSIpO2xldCBlPXRoaXMucGl2b3RTaWduLG49dC5jb2x1bW5zO2ZvcihsZXQgbz0wO288bjtvKyspZSo9dC5nZXQobyxvKTtyZXR1cm4gZX1nZXQgbG93ZXJUcmlhbmd1bGFyTWF0cml4KCl7bGV0IHQ9dGhpcy5MVSxlPXQucm93cyxuPXQuY29sdW1ucyxvPW5ldyBTTXQoZSxuKTtmb3IobGV0IGk9MDtpPGU7aSsrKWZvcihsZXQgZT0wO2U8bjtlKyspby5zZXQoaSxlLGk+ZT90LmdldChpLGUpOmk9PT1lPzE6MCk7cmV0dXJuIG99Z2V0IHVwcGVyVHJpYW5ndWxhck1hdHJpeCgpe2xldCB0PXRoaXMuTFUsZT10LnJvd3Msbj10LmNvbHVtbnMsbz1uZXcgU010KGUsbik7Zm9yKGxldCBpPTA7aTxlO2krKylmb3IobGV0IGU9MDtlPG47ZSsrKW8uc2V0KGksZSxpPD1lP3QuZ2V0KGksZSk6MCk7cmV0dXJuIG99Z2V0IHBpdm90UGVybXV0YXRpb25WZWN0b3IoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnBpdm90VmVjdG9yKX19ZnVuY3Rpb24gQU10KHQsZSl7bGV0IG49MDtyZXR1cm4gTWF0aC5hYnModCk+TWF0aC5hYnMoZSk/KG49ZS90LE1hdGguYWJzKHQpKk1hdGguc3FydCgxK24qbikpOjAhPT1lPyhuPXQvZSxNYXRoLmFicyhlKSpNYXRoLnNxcnQoMStuKm4pKTowfWNsYXNzIFRNdHtjb25zdHJ1Y3Rvcih0KXtsZXQgZSxuLG8saSxhPSh0PVJNdC5jaGVja01hdHJpeCh0KSkuY2xvbmUoKSxyPXQucm93cyxzPXQuY29sdW1ucyxsPW5ldyBGbG9hdDY0QXJyYXkocyk7Zm9yKG89MDtvPHM7bysrKXtsZXQgdD0wO2ZvcihlPW87ZTxyO2UrKyl0PUFNdCh0LGEuZ2V0KGUsbykpO2lmKDAhPT10KXtmb3IoYS5nZXQobyxvKTwwJiYodD0tdCksZT1vO2U8cjtlKyspYS5zZXQoZSxvLGEuZ2V0KGUsbykvdCk7Zm9yKGEuc2V0KG8sbyxhLmdldChvLG8pKzEpLG49bysxO248cztuKyspe2ZvcihpPTAsZT1vO2U8cjtlKyspaSs9YS5nZXQoZSxvKSphLmdldChlLG4pO2ZvcihpPS1pL2EuZ2V0KG8sbyksZT1vO2U8cjtlKyspYS5zZXQoZSxuLGEuZ2V0KGUsbikraSphLmdldChlLG8pKX19bFtvXT0tdH10aGlzLlFSPWEsdGhpcy5SZGlhZz1sfXNvbHZlKHQpe3Q9U010LmNoZWNrTWF0cml4KHQpO2xldCBlPXRoaXMuUVIsbj1lLnJvd3M7aWYodC5yb3dzIT09bil0aHJvdyBuZXcgRXJyb3IoIk1hdHJpeCByb3cgZGltZW5zaW9ucyBtdXN0IGFncmVlIik7aWYoIXRoaXMuaXNGdWxsUmFuaygpKXRocm93IG5ldyBFcnJvcigiTWF0cml4IGlzIHJhbmsgZGVmaWNpZW50Iik7bGV0IG8saSxhLHIscz10LmNvbHVtbnMsbD10LmNsb25lKCksYz1lLmNvbHVtbnM7Zm9yKGE9MDthPGM7YSsrKWZvcihpPTA7aTxzO2krKyl7Zm9yKHI9MCxvPWE7bzxuO28rKylyKz1lLmdldChvLGEpKmwuZ2V0KG8saSk7Zm9yKHI9LXIvZS5nZXQoYSxhKSxvPWE7bzxuO28rKylsLnNldChvLGksbC5nZXQobyxpKStyKmUuZ2V0KG8sYSkpfWZvcihhPWMtMTthPj0wO2EtLSl7Zm9yKGk9MDtpPHM7aSsrKWwuc2V0KGEsaSxsLmdldChhLGkpL3RoaXMuUmRpYWdbYV0pO2ZvcihvPTA7bzxhO28rKylmb3IoaT0wO2k8cztpKyspbC5zZXQobyxpLGwuZ2V0KG8saSktbC5nZXQoYSxpKSplLmdldChvLGEpKX1yZXR1cm4gbC5zdWJNYXRyaXgoMCxjLTEsMCxzLTEpfWlzRnVsbFJhbmsoKXtsZXQgdD10aGlzLlFSLmNvbHVtbnM7Zm9yKGxldCBlPTA7ZTx0O2UrKylpZigwPT09dGhpcy5SZGlhZ1tlXSlyZXR1cm4hMTtyZXR1cm4hMH1nZXQgdXBwZXJUcmlhbmd1bGFyTWF0cml4KCl7bGV0IHQsZSxuPXRoaXMuUVIsbz1uLmNvbHVtbnMsaT1uZXcgU010KG8sbyk7Zm9yKHQ9MDt0PG87dCsrKWZvcihlPTA7ZTxvO2UrKylpLnNldCh0LGUsdDxlP24uZ2V0KHQsZSk6dD09PWU/dGhpcy5SZGlhZ1t0XTowKTtyZXR1cm4gaX1nZXQgb3J0aG9nb25hbE1hdHJpeCgpe2xldCB0LGUsbixvLGk9dGhpcy5RUixhPWkucm93cyxyPWkuY29sdW1ucyxzPW5ldyBTTXQoYSxyKTtmb3Iobj1yLTE7bj49MDtuLS0pe2Zvcih0PTA7dDxhO3QrKylzLnNldCh0LG4sMCk7Zm9yKHMuc2V0KG4sbiwxKSxlPW47ZTxyO2UrKylpZigwIT09aS5nZXQobixuKSl7Zm9yKG89MCx0PW47dDxhO3QrKylvKz1pLmdldCh0LG4pKnMuZ2V0KHQsZSk7Zm9yKG89LW8vaS5nZXQobixuKSx0PW47dDxhO3QrKylzLnNldCh0LGUscy5nZXQodCxlKStvKmkuZ2V0KHQsbikpfX1yZXR1cm4gc319Y2xhc3MgTk10e2NvbnN0cnVjdG9yKHQsZT17fSl7aWYoKHQ9Uk10LmNoZWNrTWF0cml4KHQpKS5pc0VtcHR5KCkpdGhyb3cgbmV3IEVycm9yKCJNYXRyaXggbXVzdCBiZSBub24tZW1wdHkiKTtsZXQgbj10LnJvd3Msbz10LmNvbHVtbnM7Y29uc3R7Y29tcHV0ZUxlZnRTaW5ndWxhclZlY3RvcnM6aT0hMCxjb21wdXRlUmlnaHRTaW5ndWxhclZlY3RvcnM6YT0hMCxhdXRvVHJhbnNwb3NlOnI9ITF9PWU7bGV0IHMsbD1Cb29sZWFuKGkpLGM9Qm9vbGVhbihhKSxkPSExO2lmKG48bylpZihyKXtzPXQudHJhbnNwb3NlKCksbj1zLnJvd3Msbz1zLmNvbHVtbnMsZD0hMDtsZXQgZT1sO2w9YyxjPWV9ZWxzZSBzPXQuY2xvbmUoKSxjb25zb2xlLndhcm4oIkNvbXB1dGluZyBTVkQgb24gYSBtYXRyaXggd2l0aCBtb3JlIGNvbHVtbnMgdGhhbiByb3dzLiBDb25zaWRlciBlbmFibGluZyBhdXRvVHJhbnNwb3NlIik7ZWxzZSBzPXQuY2xvbmUoKTtsZXQgcD1NYXRoLm1pbihuLG8pLG09TWF0aC5taW4obisxLG8pLGY9bmV3IEZsb2F0NjRBcnJheShtKSx1PW5ldyBTTXQobixwKSxnPW5ldyBTTXQobyxvKSxoPW5ldyBGbG9hdDY0QXJyYXkobyksYj1uZXcgRmxvYXQ2NEFycmF5KG4pLHk9bmV3IEZsb2F0NjRBcnJheShtKTtmb3IobGV0IHQ9MDt0PG07dCsrKXlbdF09dDtsZXQgXz1NYXRoLm1pbihuLTEsbyksQz1NYXRoLm1heCgwLE1hdGgubWluKG8tMixuKSksTT1NYXRoLm1heChfLEMpO2ZvcihsZXQgdD0wO3Q8TTt0Kyspe2lmKHQ8Xyl7Zlt0XT0wO2ZvcihsZXQgZT10O2U8bjtlKyspZlt0XT1BTXQoZlt0XSxzLmdldChlLHQpKTtpZigwIT09Zlt0XSl7cy5nZXQodCx0KTwwJiYoZlt0XT0tZlt0XSk7Zm9yKGxldCBlPXQ7ZTxuO2UrKylzLnNldChlLHQscy5nZXQoZSx0KS9mW3RdKTtzLnNldCh0LHQscy5nZXQodCx0KSsxKX1mW3RdPS1mW3RdfWZvcihsZXQgZT10KzE7ZTxvO2UrKyl7aWYodDxfJiYwIT09Zlt0XSl7bGV0IG89MDtmb3IobGV0IGk9dDtpPG47aSsrKW8rPXMuZ2V0KGksdCkqcy5nZXQoaSxlKTtvPS1vL3MuZ2V0KHQsdCk7Zm9yKGxldCBpPXQ7aTxuO2krKylzLnNldChpLGUscy5nZXQoaSxlKStvKnMuZ2V0KGksdCkpfWhbZV09cy5nZXQodCxlKX1pZihsJiZ0PF8pZm9yKGxldCBlPXQ7ZTxuO2UrKyl1LnNldChlLHQscy5nZXQoZSx0KSk7aWYodDxDKXtoW3RdPTA7Zm9yKGxldCBlPXQrMTtlPG87ZSsrKWhbdF09QU10KGhbdF0saFtlXSk7aWYoMCE9PWhbdF0pe2hbdCsxXTwwJiYoaFt0XT0wLWhbdF0pO2ZvcihsZXQgZT10KzE7ZTxvO2UrKyloW2VdLz1oW3RdO2hbdCsxXSs9MX1pZihoW3RdPS1oW3RdLHQrMTxuJiYwIT09aFt0XSl7Zm9yKGxldCBlPXQrMTtlPG47ZSsrKWJbZV09MDtmb3IobGV0IGU9dCsxO2U8bjtlKyspZm9yKGxldCBuPXQrMTtuPG87bisrKWJbZV0rPWhbbl0qcy5nZXQoZSxuKTtmb3IobGV0IGU9dCsxO2U8bztlKyspe2xldCBvPS1oW2VdL2hbdCsxXTtmb3IobGV0IGk9dCsxO2k8bjtpKyspcy5zZXQoaSxlLHMuZ2V0KGksZSkrbypiW2ldKX19aWYoYylmb3IobGV0IGU9dCsxO2U8bztlKyspZy5zZXQoZSx0LGhbZV0pfX1sZXQgdj1NYXRoLm1pbihvLG4rMSk7aWYoXzxvJiYoZltfXT1zLmdldChfLF8pKSxuPHYmJihmW3YtMV09MCksQysxPHYmJihoW0NdPXMuZ2V0KEMsdi0xKSksaFt2LTFdPTAsbCl7Zm9yKGxldCB0PV87dDxwO3QrKyl7Zm9yKGxldCBlPTA7ZTxuO2UrKyl1LnNldChlLHQsMCk7dS5zZXQodCx0LDEpfWZvcihsZXQgdD1fLTE7dD49MDt0LS0paWYoMCE9PWZbdF0pe2ZvcihsZXQgZT10KzE7ZTxwO2UrKyl7bGV0IG89MDtmb3IobGV0IGk9dDtpPG47aSsrKW8rPXUuZ2V0KGksdCkqdS5nZXQoaSxlKTtvPS1vL3UuZ2V0KHQsdCk7Zm9yKGxldCBpPXQ7aTxuO2krKyl1LnNldChpLGUsdS5nZXQoaSxlKStvKnUuZ2V0KGksdCkpfWZvcihsZXQgZT10O2U8bjtlKyspdS5zZXQoZSx0LC11LmdldChlLHQpKTt1LnNldCh0LHQsMSt1LmdldCh0LHQpKTtmb3IobGV0IGU9MDtlPHQtMTtlKyspdS5zZXQoZSx0LDApfWVsc2V7Zm9yKGxldCBlPTA7ZTxuO2UrKyl1LnNldChlLHQsMCk7dS5zZXQodCx0LDEpfX1pZihjKWZvcihsZXQgdD1vLTE7dD49MDt0LS0pe2lmKHQ8QyYmMCE9PWhbdF0pZm9yKGxldCBlPXQrMTtlPG87ZSsrKXtsZXQgbj0wO2ZvcihsZXQgaT10KzE7aTxvO2krKyluKz1nLmdldChpLHQpKmcuZ2V0KGksZSk7bj0tbi9nLmdldCh0KzEsdCk7Zm9yKGxldCBpPXQrMTtpPG87aSsrKWcuc2V0KGksZSxnLmdldChpLGUpK24qZy5nZXQoaSx0KSl9Zm9yKGxldCBlPTA7ZTxvO2UrKylnLnNldChlLHQsMCk7Zy5zZXQodCx0LDEpfWxldCB4PXYtMSxPPU51bWJlci5FUFNJTE9OO2Zvcig7dj4wOyl7bGV0IHQsZTtmb3IodD12LTI7dD49LTEmJi0xIT09dDt0LS0pe2NvbnN0IGU9TnVtYmVyLk1JTl9WQUxVRStPKk1hdGguYWJzKGZbdF0rTWF0aC5hYnMoZlt0KzFdKSk7aWYoTWF0aC5hYnMoaFt0XSk8PWV8fE51bWJlci5pc05hTihoW3RdKSl7aFt0XT0wO2JyZWFrfX1pZih0PT09di0yKWU9NDtlbHNle2xldCBuO2ZvcihuPXYtMTtuPj10JiZuIT09dDtuLS0pe2xldCBlPShuIT09dj9NYXRoLmFicyhoW25dKTowKSsobiE9PXQrMT9NYXRoLmFicyhoW24tMV0pOjApO2lmKE1hdGguYWJzKGZbbl0pPD1PKmUpe2Zbbl09MDticmVha319bj09PXQ/ZT0zOm49PT12LTE/ZT0xOihlPTIsdD1uKX1zd2l0Y2godCsrLGUpe2Nhc2UgMTp7bGV0IGU9aFt2LTJdO2hbdi0yXT0wO2ZvcihsZXQgbj12LTI7bj49dDtuLS0pe2xldCBpPUFNdChmW25dLGUpLGE9ZltuXS9pLHI9ZS9pO2lmKGZbbl09aSxuIT09dCYmKGU9LXIqaFtuLTFdLGhbbi0xXT1hKmhbbi0xXSksYylmb3IobGV0IHQ9MDt0PG87dCsrKWk9YSpnLmdldCh0LG4pK3IqZy5nZXQodCx2LTEpLGcuc2V0KHQsdi0xLC1yKmcuZ2V0KHQsbikrYSpnLmdldCh0LHYtMSkpLGcuc2V0KHQsbixpKX1icmVha31jYXNlIDI6e2xldCBlPWhbdC0xXTtoW3QtMV09MDtmb3IobGV0IG89dDtvPHY7bysrKXtsZXQgaT1BTXQoZltvXSxlKSxhPWZbb10vaSxyPWUvaTtpZihmW29dPWksZT0tcipoW29dLGhbb109YSpoW29dLGwpZm9yKGxldCBlPTA7ZTxuO2UrKylpPWEqdS5nZXQoZSxvKStyKnUuZ2V0KGUsdC0xKSx1LnNldChlLHQtMSwtcip1LmdldChlLG8pK2EqdS5nZXQoZSx0LTEpKSx1LnNldChlLG8saSl9YnJlYWt9Y2FzZSAzOntjb25zdCBlPU1hdGgubWF4KE1hdGguYWJzKGZbdi0xXSksTWF0aC5hYnMoZlt2LTJdKSxNYXRoLmFicyhoW3YtMl0pLE1hdGguYWJzKGZbdF0pLE1hdGguYWJzKGhbdF0pKSxpPWZbdi0xXS9lLGE9Zlt2LTJdL2Uscj1oW3YtMl0vZSxzPWZbdF0vZSxkPWhbdF0vZSxwPSgoYStpKSooYS1pKStyKnIpLzIsbT1pKnIqKGkqcik7bGV0IGI9MDswPT09cCYmMD09PW18fChiPXA8MD8wLU1hdGguc3FydChwKnArbSk6TWF0aC5zcXJ0KHAqcCttKSxiPW0vKHArYikpO2xldCB5PShzK2kpKihzLWkpK2IsXz1zKmQ7Zm9yKGxldCBlPXQ7ZTx2LTE7ZSsrKXtsZXQgaT1BTXQoeSxfKTswPT09aSYmKGk9TnVtYmVyLk1JTl9WQUxVRSk7bGV0IGE9eS9pLHI9Xy9pO2lmKGUhPT10JiYoaFtlLTFdPWkpLHk9YSpmW2VdK3IqaFtlXSxoW2VdPWEqaFtlXS1yKmZbZV0sXz1yKmZbZSsxXSxmW2UrMV09YSpmW2UrMV0sYylmb3IobGV0IHQ9MDt0PG87dCsrKWk9YSpnLmdldCh0LGUpK3IqZy5nZXQodCxlKzEpLGcuc2V0KHQsZSsxLC1yKmcuZ2V0KHQsZSkrYSpnLmdldCh0LGUrMSkpLGcuc2V0KHQsZSxpKTtpZihpPUFNdCh5LF8pLDA9PT1pJiYoaT1OdW1iZXIuTUlOX1ZBTFVFKSxhPXkvaSxyPV8vaSxmW2VdPWkseT1hKmhbZV0rcipmW2UrMV0sZltlKzFdPS1yKmhbZV0rYSpmW2UrMV0sXz1yKmhbZSsxXSxoW2UrMV09YSpoW2UrMV0sbCYmZTxuLTEpZm9yKGxldCB0PTA7dDxuO3QrKylpPWEqdS5nZXQodCxlKStyKnUuZ2V0KHQsZSsxKSx1LnNldCh0LGUrMSwtcip1LmdldCh0LGUpK2EqdS5nZXQodCxlKzEpKSx1LnNldCh0LGUsaSl9aFt2LTJdPXk7YnJlYWt9Y2FzZSA0OmlmKGZbdF08PTAmJihmW3RdPWZbdF08MD8tZlt0XTowLGMpKWZvcihsZXQgZT0wO2U8PXg7ZSsrKWcuc2V0KGUsdCwtZy5nZXQoZSx0KSk7Zm9yKDt0PHgmJiEoZlt0XT49Zlt0KzFdKTspe2xldCBlPWZbdF07aWYoZlt0XT1mW3QrMV0sZlt0KzFdPWUsYyYmdDxvLTEpZm9yKGxldCBuPTA7bjxvO24rKyllPWcuZ2V0KG4sdCsxKSxnLnNldChuLHQrMSxnLmdldChuLHQpKSxnLnNldChuLHQsZSk7aWYobCYmdDxuLTEpZm9yKGxldCBvPTA7bzxuO28rKyllPXUuZ2V0KG8sdCsxKSx1LnNldChvLHQrMSx1LmdldChvLHQpKSx1LnNldChvLHQsZSk7dCsrfXYtLX19aWYoZCl7bGV0IHQ9ZztnPXUsdT10fXRoaXMubT1uLHRoaXMubj1vLHRoaXMucz1mLHRoaXMuVT11LHRoaXMuVj1nfXNvbHZlKHQpe2xldCBlPXQsbj10aGlzLnRocmVzaG9sZCxvPXRoaXMucy5sZW5ndGgsaT1TTXQuemVyb3MobyxvKTtmb3IobGV0IHQ9MDt0PG87dCsrKU1hdGguYWJzKHRoaXMuc1t0XSk8PW4/aS5zZXQodCx0LDApOmkuc2V0KHQsdCwxL3RoaXMuc1t0XSk7bGV0IGE9dGhpcy5VLHI9dGhpcy5yaWdodFNpbmd1bGFyVmVjdG9ycyxzPXIubW11bChpKSxsPXIucm93cyxjPWEucm93cyxkPVNNdC56ZXJvcyhsLGMpO2ZvcihsZXQgdD0wO3Q8bDt0KyspZm9yKGxldCBlPTA7ZTxjO2UrKyl7bGV0IG49MDtmb3IobGV0IGk9MDtpPG87aSsrKW4rPXMuZ2V0KHQsaSkqYS5nZXQoZSxpKTtkLnNldCh0LGUsbil9cmV0dXJuIGQubW11bChlKX1zb2x2ZUZvckRpYWdvbmFsKHQpe3JldHVybiB0aGlzLnNvbHZlKFNNdC5kaWFnKHQpKX1pbnZlcnNlKCl7bGV0IHQ9dGhpcy5WLGU9dGhpcy50aHJlc2hvbGQsbj10LnJvd3Msbz10LmNvbHVtbnMsaT1uZXcgU010KG4sdGhpcy5zLmxlbmd0aCk7Zm9yKGxldCBhPTA7YTxuO2ErKylmb3IobGV0IG49MDtuPG87bisrKU1hdGguYWJzKHRoaXMuc1tuXSk+ZSYmaS5zZXQoYSxuLHQuZ2V0KGEsbikvdGhpcy5zW25dKTtsZXQgYT10aGlzLlUscj1hLnJvd3Mscz1hLmNvbHVtbnMsbD1uZXcgU010KG4scik7Zm9yKGxldCB0PTA7dDxuO3QrKylmb3IobGV0IGU9MDtlPHI7ZSsrKXtsZXQgbj0wO2ZvcihsZXQgbz0wO288cztvKyspbis9aS5nZXQodCxvKSphLmdldChlLG8pO2wuc2V0KHQsZSxuKX1yZXR1cm4gbH1nZXQgY29uZGl0aW9uKCl7cmV0dXJuIHRoaXMuc1swXS90aGlzLnNbTWF0aC5taW4odGhpcy5tLHRoaXMubiktMV19Z2V0IG5vcm0yKCl7cmV0dXJuIHRoaXMuc1swXX1nZXQgcmFuaygpe2xldCB0PU1hdGgubWF4KHRoaXMubSx0aGlzLm4pKnRoaXMuc1swXSpOdW1iZXIuRVBTSUxPTixlPTAsbj10aGlzLnM7Zm9yKGxldCBvPTAsaT1uLmxlbmd0aDtvPGk7bysrKW5bb10+dCYmZSsrO3JldHVybiBlfWdldCBkaWFnb25hbCgpe3JldHVybiBBcnJheS5mcm9tKHRoaXMucyl9Z2V0IHRocmVzaG9sZCgpe3JldHVybiBOdW1iZXIuRVBTSUxPTi8yKk1hdGgubWF4KHRoaXMubSx0aGlzLm4pKnRoaXMuc1swXX1nZXQgbGVmdFNpbmd1bGFyVmVjdG9ycygpe3JldHVybiB0aGlzLlV9Z2V0IHJpZ2h0U2luZ3VsYXJWZWN0b3JzKCl7cmV0dXJuIHRoaXMuVn1nZXQgZGlhZ29uYWxNYXRyaXgoKXtyZXR1cm4gU010LmRpYWcodGhpcy5zKX19ZnVuY3Rpb24gek10KHQsZT0hMSl7cmV0dXJuIHQ9Uk10LmNoZWNrTWF0cml4KHQpLGU/bmV3IE5NdCh0KS5pbnZlcnNlKCk6KGZ1bmN0aW9uIG4odCxlLG89ITEpe3JldHVybiB0PVJNdC5jaGVja01hdHJpeCh0KSxlPVJNdC5jaGVja01hdHJpeChlKSxvP25ldyBOTXQodCkuc29sdmUoZSk6dC5pc1NxdWFyZSgpP25ldyBFTXQodCkuc29sdmUoZSk6bmV3IFRNdCh0KS5zb2x2ZShlKX0pKHQsU010LmV5ZSh0LnJvd3MpKX1mdW5jdGlvbiBJTXQodCxlLG4sbyxpKXtsZXQgYT1TTXQuZXllKGUubGVuZ3RoLGUubGVuZ3RoLG4qbypvKTtjb25zdCByPWkoZSk7bGV0IHM9bmV3IEZsb2F0NjRBcnJheSh0LngubGVuZ3RoKTtmb3IobGV0IGU9MDtlPHQueC5sZW5ndGg7ZSsrKXNbZV09cih0LnhbZV0pO2xldCBsPShmdW5jdGlvbiBjKHQsZSxuLG8saSl7Y29uc3QgYT1uLmxlbmd0aCxyPXQueC5sZW5ndGg7bGV0IHM9bmV3IEFycmF5KGEpO2ZvcihsZXQgbD0wO2w8YTtsKyspe3NbbF09bmV3IEFycmF5KHIpO2xldCBhPW4uc2xpY2UoKTthW2xdKz1vO2xldCBjPWkoYSk7Zm9yKGxldCBuPTA7bjxyO24rKylzW2xdW25dPWVbbl0tYyh0Lnhbbl0pfXJldHVybiBuZXcgU010KHMpfSkodCxzLGUsbyxpKSxkPShmdW5jdGlvbiBwKHQsZSl7Y29uc3Qgbj10LngubGVuZ3RoO2xldCBvPW5ldyBBcnJheShuKTtmb3IobGV0IGk9MDtpPG47aSsrKW9baV09W3QueVtpXS1lW2ldXTtyZXR1cm4gbmV3IFNNdChvKX0pKHQscyksbT16TXQoYS5hZGQobC5tbXVsKGwudHJhbnNwb3NlKCkpKSk7cmV0dXJuKGU9KGU9bmV3IFNNdChbZV0pKS5zdWIobS5tbXVsKGwpLm1tdWwoZCkubXVsKG8pLnRyYW5zcG9zZSgpKSkudG8xREFycmF5KCl9dmFyIEhNdD1DTyhPYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxkZWZhdWx0OmZ1bmN0aW9uIEZNdCh0LGUsbj17fSl7bGV0e21heEl0ZXJhdGlvbnM6bz0xMDAsZ3JhZGllbnREaWZmZXJlbmNlOmk9LjEsZGFtcGluZzphPTAsZXJyb3JUb2xlcmFuY2U6cj0uMDEsbWluVmFsdWVzOnMsbWF4VmFsdWVzOmwsaW5pdGlhbFZhbHVlczpjfT1uO2lmKGE8PTApdGhyb3cgbmV3IEVycm9yKCJUaGUgZGFtcGluZyBvcHRpb24gbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlciIpO2lmKCF0Lnh8fCF0LnkpdGhyb3cgbmV3IEVycm9yKCJUaGUgZGF0YSBwYXJhbWV0ZXIgbXVzdCBoYXZlIHggYW5kIHkgZWxlbWVudHMiKTtpZighaU10KHQueCl8fHQueC5sZW5ndGg8Mnx8IWlNdCh0LnkpfHx0LnkubGVuZ3RoPDIpdGhyb3cgbmV3IEVycm9yKCJUaGUgZGF0YSBwYXJhbWV0ZXIgZWxlbWVudHMgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG1vcmUgdGhhbiAyIHBvaW50cyIpO2lmKHQueC5sZW5ndGghPT10LnkubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiVGhlIGRhdGEgcGFyYW1ldGVyIGVsZW1lbnRzIG11c3QgaGF2ZSB0aGUgc2FtZSBzaXplIik7bGV0IGQ9Y3x8bmV3IEFycmF5KGUubGVuZ3RoKS5maWxsKDEpLHA9ZC5sZW5ndGg7aWYobD1sfHxuZXcgQXJyYXkocCkuZmlsbChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikscz1zfHxuZXcgQXJyYXkocCkuZmlsbChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksbC5sZW5ndGghPT1zLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIm1pblZhbHVlcyBhbmQgbWF4VmFsdWVzIG11c3QgYmUgdGhlIHNhbWUgc2l6ZSIpO2lmKCFpTXQoZCkpdGhyb3cgbmV3IEVycm9yKCJpbml0aWFsVmFsdWVzIG11c3QgYmUgYW4gYXJyYXkiKTtsZXQgbSxmPWFNdCh0LGQsZSksdT1mPD1yO2ZvcihtPTA7bTxvJiYhdTttKyspe2Q9SU10KHQsZCxhLGksZSk7Zm9yKGxldCB0PTA7dDxwO3QrKylkW3RdPU1hdGgubWluKE1hdGgubWF4KHNbdF0sZFt0XSksbFt0XSk7aWYoZj1hTXQodCxkLGUpLGlzTmFOKGYpKWJyZWFrO3U9Zjw9cn1yZXR1cm57cGFyYW1ldGVyVmFsdWVzOmQscGFyYW1ldGVyRXJyb3I6ZixpdGVyYXRpb25zOm19fX0pKSxMTXQ9X08mJl9PLl9fYXdhaXRlcnx8ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKGksYSl7ZnVuY3Rpb24gcih0KXt0cnl7bChvLm5leHQodCkpfWNhdGNoKHQpe2EodCl9fWZ1bmN0aW9uIHModCl7dHJ5e2woby50aHJvdyh0KSl9Y2F0Y2godCl7YSh0KX19ZnVuY3Rpb24gbCh0KXt0LmRvbmU/aSh0LnZhbHVlKTpuZXcgbigoZnVuY3Rpb24oZSl7ZSh0LnZhbHVlKX0pKS50aGVuKHIscyl9bCgobz1vLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSkpfSxCTXQ9X08mJl9PLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0LGUpe3ZhciBuLG8saSxhLHI9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmaVswXSl0aHJvdyBpWzFdO3JldHVybiBpWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGE9e25leHQ6cygwKSx0aHJvdzpzKDEpLHJldHVybjpzKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoYVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxhO2Z1bmN0aW9uIHMoYSl7cmV0dXJuIGZ1bmN0aW9uKHMpe3JldHVybihmdW5jdGlvbiBsKGEpe2lmKG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7cjspdHJ5e2lmKG49MSxvJiYoaT0yJmFbMF0/by5yZXR1cm46YVswXT9vLnRocm93fHwoKGk9by5yZXR1cm4pJiZpLmNhbGwobyksMCk6by5uZXh0KSYmIShpPWkuY2FsbChvLGFbMV0pKS5kb25lKXJldHVybiBpO3N3aXRjaChvPTAsaSYmKGE9WzImYVswXSxpLnZhbHVlXSksYVswXSl7Y2FzZSAwOmNhc2UgMTppPWE7YnJlYWs7Y2FzZSA0OnJldHVybiByLmxhYmVsKysse3ZhbHVlOmFbMV0sZG9uZTohMX07Y2FzZSA1OnIubGFiZWwrKyxvPWFbMV0sYT1bMF07Y29udGludWU7Y2FzZSA3OmE9ci5vcHMucG9wKCksci50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShpPXIudHJ5cywoaT1pLmxlbmd0aD4wJiZpW2kubGVuZ3RoLTFdKXx8NiE9PWFbMF0mJjIhPT1hWzBdKSl7cj0wO2NvbnRpbnVlfWlmKDM9PT1hWzBdJiYoIWl8fGFbMV0+aVswXSYmYVsxXTxpWzNdKSl7ci5sYWJlbD1hWzFdO2JyZWFrfWlmKDY9PT1hWzBdJiZyLmxhYmVsPGlbMV0pe3IubGFiZWw9aVsxXSxpPWE7YnJlYWt9aWYoaSYmci5sYWJlbDxpWzJdKXtyLmxhYmVsPWlbMl0sci5vcHMucHVzaChhKTticmVha31pWzJdJiZyLm9wcy5wb3AoKSxyLnRyeXMucG9wKCk7Y29udGludWV9YT1lLmNhbGwodCxyKX1jYXRjaCh0KXthPVs2LHRdLG89MH1maW5hbGx5e249aT0wfWlmKDUmYVswXSl0aHJvdyBhWzFdO3JldHVybnt2YWx1ZTphWzBdP2FbMV06dm9pZCAwLGRvbmU6ITB9fSkoW2Esc10pfX19LFZNdD1fTyYmX08uX19yZWFkfHxmdW5jdGlvbih0LGUpe3ZhciBuPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXTtpZighbilyZXR1cm4gdDt2YXIgbyxpLGE9bi5jYWxsKHQpLHI9W107dHJ5e2Zvcig7KHZvaWQgMD09PWV8fGUtLSA+MCkmJiEobz1hLm5leHQoKSkuZG9uZTspci5wdXNoKG8udmFsdWUpfWNhdGNoKHQpe2k9e2Vycm9yOnR9fWZpbmFsbHl7dHJ5e28mJiFvLmRvbmUmJihuPWEucmV0dXJuKSYmbi5jYWxsKGEpfWZpbmFsbHl7aWYoaSl0aHJvdyBpLmVycm9yfX1yZXR1cm4gcn0sak10PV9PJiZfTy5fX3NwcmVhZHx8ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdD10LmNvbmNhdChWTXQoYXJndW1lbnRzW2VdKSk7cmV0dXJuIHR9LFVNdD1fTyYmX08uX19pbXBvcnRTdGFyfHxmdW5jdGlvbih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIGU9e307aWYobnVsbCE9dClmb3IodmFyIG4gaW4gdClPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKTtyZXR1cm4gZS5kZWZhdWx0PXQsZX0sV010PV9PJiZfTy5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEhfdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEdNdD1VTXQoRl90KSxZTXQ9VU10KGZDdCkscU10PVVNdChFQ3QpLFpNdD1VTXQoQUN0KSxYTXQ9VU10KExfdCksS010PVdNdChITXQpLEpNdD0xZS01LFFNdD0uMDAxLCRNdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgZT10aGlzO3RoaXMubGVhcm5pbmdSYXRlPTEsdGhpcy5sb2NhbENvbm5lY3Rpdml0eT0xLHRoaXMubWluRGlzdD0uMSx0aGlzLm5Db21wb25lbnRzPTIsdGhpcy5uRXBvY2hzPTAsdGhpcy5uTmVpZ2hib3JzPTE1LHRoaXMubmVnYXRpdmVTYW1wbGVSYXRlPTUsdGhpcy5yYW5kb209TWF0aC5yYW5kb20sdGhpcy5yZXB1bHNpb25TdHJlbmd0aD0xLHRoaXMuc2V0T3BNaXhSYXRpbz0xLHRoaXMuc3ByZWFkPTEsdGhpcy50cmFuc2Zvcm1RdWV1ZVNpemU9NCx0aGlzLnRhcmdldE1ldHJpYz0iY2F0ZWdvcmljYWwiLHRoaXMudGFyZ2V0V2VpZ2h0PS41LHRoaXMudGFyZ2V0Tk5laWdoYm9ycz10aGlzLm5OZWlnaGJvcnMsdGhpcy5kaXN0YW5jZUZuPXR2dCx0aGlzLmlzSW5pdGlhbGl6ZWQ9ITEsdGhpcy5ycEZvcmVzdD1bXSx0aGlzLmVtYmVkZGluZz1bXSx0aGlzLm9wdGltaXphdGlvblN0YXRlPW5ldyBudnQ7dmFyIG49ZnVuY3Rpb24obil7dm9pZCAwIT09dFtuXSYmKGVbbl09dFtuXSl9O24oImRpc3RhbmNlRm4iKSxuKCJsZWFybmluZ1JhdGUiKSxuKCJsb2NhbENvbm5lY3Rpdml0eSIpLG4oIm1pbkRpc3QiKSxuKCJuQ29tcG9uZW50cyIpLG4oIm5FcG9jaHMiKSxuKCJuTmVpZ2hib3JzIiksbigibmVnYXRpdmVTYW1wbGVSYXRlIiksbigicmFuZG9tIiksbigicmVwdWxzaW9uU3RyZW5ndGgiKSxuKCJzZXRPcE1peFJhdGlvIiksbigic3ByZWFkIiksbigidHJhbnNmb3JtUXVldWVTaXplIil9cmV0dXJuIHQucHJvdG90eXBlLmZpdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbml0aWFsaXplRml0KHQpLHRoaXMub3B0aW1pemVMYXlvdXQoKSx0aGlzLmVtYmVkZGluZ30sdC5wcm90b3R5cGUuZml0QXN5bmM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9ZnVuY3Rpb24oKXtyZXR1cm4hMH0pLExNdCh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7cmV0dXJuIEJNdCh0aGlzLChmdW5jdGlvbihuKXtzd2l0Y2gobi5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLmluaXRpYWxpemVGaXQodCksWzQsdGhpcy5vcHRpbWl6ZUxheW91dEFzeW5jKGUpXTtjYXNlIDE6cmV0dXJuIG4uc2VudCgpLFsyLHRoaXMuZW1iZWRkaW5nXX19KSl9KSl9LHQucHJvdG90eXBlLnNldFN1cGVydmlzZWRQcm9qZWN0aW9uPWZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZSYmKGU9e30pLHRoaXMuWT10LHRoaXMudGFyZ2V0TWV0cmljPWUudGFyZ2V0TWV0cmljfHx0aGlzLnRhcmdldE1ldHJpYyx0aGlzLnRhcmdldFdlaWdodD1lLnRhcmdldFdlaWdodHx8dGhpcy50YXJnZXRXZWlnaHQsdGhpcy50YXJnZXROTmVpZ2hib3JzPWUudGFyZ2V0Tk5laWdoYm9yc3x8dGhpcy50YXJnZXROTmVpZ2hib3JzfSx0LnByb3RvdHlwZS5zZXRQcmVjb21wdXRlZEtOTj1mdW5jdGlvbih0LGUpe3RoaXMua25uSW5kaWNlcz10LHRoaXMua25uRGlzdGFuY2VzPWV9LHQucHJvdG90eXBlLmluaXRpYWxpemVGaXQ9ZnVuY3Rpb24odCl7aWYodC5sZW5ndGg8PXRoaXMubk5laWdoYm9ycyl0aHJvdyBuZXcgRXJyb3IoIk5vdCBlbm91Z2ggZGF0YSBwb2ludHMgKCIrdC5sZW5ndGgrIikgdG8gY3JlYXRlIG5OZWlnaGJvcnM6ICIrdGhpcy5uTmVpZ2hib3JzKyIuICBBZGQgbW9yZSBkYXRhIHBvaW50cyBvciBhZGp1c3QgdGhlIGNvbmZpZ3VyYXRpb24uIik7aWYodGhpcy5YPT09dCYmdGhpcy5pc0luaXRpYWxpemVkKXJldHVybiB0aGlzLmdldE5FcG9jaHMoKTtpZih0aGlzLlg9dCwhdGhpcy5rbm5JbmRpY2VzJiYhdGhpcy5rbm5EaXN0YW5jZXMpe3ZhciBlPXRoaXMubmVhcmVzdE5laWdoYm9ycyh0KTt0aGlzLmtubkluZGljZXM9ZS5rbm5JbmRpY2VzLHRoaXMua25uRGlzdGFuY2VzPWUua25uRGlzdGFuY2VzfXRoaXMuZ3JhcGg9dGhpcy5mdXp6eVNpbXBsaWNpYWxTZXQodCx0aGlzLm5OZWlnaGJvcnMsdGhpcy5zZXRPcE1peFJhdGlvKSx0aGlzLm1ha2VTZWFyY2hGbnMoKSx0aGlzLnNlYXJjaEdyYXBoPXRoaXMubWFrZVNlYXJjaEdyYXBoKHQpLHRoaXMucHJvY2Vzc0dyYXBoRm9yU3VwZXJ2aXNlZFByb2plY3Rpb24oKTt2YXIgbj10aGlzLmluaXRpYWxpemVTaW1wbGljaWFsU2V0RW1iZWRkaW5nKCksbz1uLnRhaWwsaT1uLmVwb2Noc1BlclNhbXBsZTtyZXR1cm4gdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5oZWFkPW4uaGVhZCx0aGlzLm9wdGltaXphdGlvblN0YXRlLnRhaWw9byx0aGlzLm9wdGltaXphdGlvblN0YXRlLmVwb2Noc1BlclNhbXBsZT1pLHRoaXMuaW5pdGlhbGl6ZU9wdGltaXphdGlvbigpLHRoaXMucHJlcGFyZUZvck9wdGltaXphdGlvbkxvb3AoKSx0aGlzLmlzSW5pdGlhbGl6ZWQ9ITAsdGhpcy5nZXRORXBvY2hzKCl9LHQucHJvdG90eXBlLm1ha2VTZWFyY2hGbnM9ZnVuY3Rpb24oKXt2YXIgdD1xTXQubWFrZUluaXRpYWxpemF0aW9ucyh0aGlzLmRpc3RhbmNlRm4pLGU9dC5pbml0RnJvbVJhbmRvbTt0aGlzLmluaXRGcm9tVHJlZT10LmluaXRGcm9tVHJlZSx0aGlzLmluaXRGcm9tUmFuZG9tPWUsdGhpcy5zZWFyY2g9cU10Lm1ha2VJbml0aWFsaXplZE5OU2VhcmNoKHRoaXMuZGlzdGFuY2VGbil9LHQucHJvdG90eXBlLm1ha2VTZWFyY2hHcmFwaD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5rbm5JbmRpY2VzLG49dGhpcy5rbm5EaXN0YW5jZXMsbz1uZXcgWU10LlNwYXJzZU1hdHJpeChbXSxbXSxbXSxbdC5sZW5ndGgsdC5sZW5ndGhdKSxpPTA7aTxlLmxlbmd0aDtpKyspZm9yKHZhciBhPWVbaV0scj1uW2ldLHM9MDtzPGEubGVuZ3RoO3MrKyl7dmFyIGw9cltzXTtsPjAmJm8uc2V0KGksYVtzXSxsKX12YXIgYz1ZTXQudHJhbnNwb3NlKG8pO3JldHVybiBZTXQubWF4aW11bShvLGMpfSx0LnByb3RvdHlwZS50cmFuc2Zvcm09ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPXRoaXMuWDtpZih2b2lkIDA9PT1ufHwwPT09bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJObyBkYXRhIGhhcyBiZWVuIGZpdC4iKTt2YXIgbz1NYXRoLmZsb29yKHRoaXMubk5laWdoYm9ycyp0aGlzLnRyYW5zZm9ybVF1ZXVlU2l6ZSk7bz1NYXRoLm1pbihuLmxlbmd0aCxvKTt2YXIgaT1xTXQuaW5pdGlhbGl6ZVNlYXJjaCh0aGlzLnJwRm9yZXN0LG4sdCxvLHRoaXMuaW5pdEZyb21SYW5kb20sdGhpcy5pbml0RnJvbVRyZWUsdGhpcy5yYW5kb20pLGE9dGhpcy5zZWFyY2gobix0aGlzLnNlYXJjaEdyYXBoLGksdCkscj1HTXQuZGVoZWFwU29ydChhKSxzPXIuaW5kaWNlcyxsPXIud2VpZ2h0cztzPXMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5zbGljZSgwLGUubk5laWdoYm9ycyl9KSksbD1sLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuc2xpY2UoMCxlLm5OZWlnaGJvcnMpfSkpO3ZhciBjPU1hdGgubWF4KDAsdGhpcy5sb2NhbENvbm5lY3Rpdml0eS0xKSxkPXRoaXMuc21vb3RoS05ORGlzdGFuY2UobCx0aGlzLm5OZWlnaGJvcnMsYykscD10aGlzLmNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzKHMsbCxkLnNpZ21hcyxkLnJob3MpLG09bmV3IFlNdC5TcGFyc2VNYXRyaXgocC5yb3dzLHAuY29scyxwLnZhbHMsW3QubGVuZ3RoLG4ubGVuZ3RoXSksZj1ZTXQubm9ybWFsaXplKG0sImwxIiksdT1ZTXQuZ2V0Q1NSKGYpLGc9dC5sZW5ndGgsaD1sdnQoWE10LnJlc2hhcGUyZCh1LmluZGljZXMsZyx0aGlzLm5OZWlnaGJvcnMpLFhNdC5yZXNoYXBlMmQodS52YWx1ZXMsZyx0aGlzLm5OZWlnaGJvcnMpLHRoaXMuZW1iZWRkaW5nKSxiPXRoaXMubkVwb2Nocz90aGlzLm5FcG9jaHMvMzptLm5Sb3dzPD0xZTQ/MTAwOjMwLHk9bS5nZXRWYWx1ZXMoKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU+dD9lOnR9KSwwKTttPW0ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdDx5L2I/MDp0fSkpLG09WU10LmVsaW1pbmF0ZVplcm9zKG0pO3ZhciBfPXRoaXMubWFrZUVwb2Noc1BlclNhbXBsZShtLmdldFZhbHVlcygpLGIpLEM9bS5nZXRSb3dzKCksTT1tLmdldENvbHMoKTtyZXR1cm4gdGhpcy5hc3NpZ25PcHRpbWl6YXRpb25TdGF0ZVBhcmFtZXRlcnMoe2hlYWRFbWJlZGRpbmc6aCx0YWlsRW1iZWRkaW5nOnRoaXMuZW1iZWRkaW5nLGhlYWQ6Qyx0YWlsOk0sY3VycmVudEVwb2NoOjAsbkVwb2NoczpiLG5WZXJ0aWNlczptLmdldERpbXMoKVsxXSxlcG9jaHNQZXJTYW1wbGU6X30pLHRoaXMucHJlcGFyZUZvck9wdGltaXphdGlvbkxvb3AoKSx0aGlzLm9wdGltaXplTGF5b3V0KCl9LHQucHJvdG90eXBlLnByb2Nlc3NHcmFwaEZvclN1cGVydmlzZWRQcm9qZWN0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5ZO2lmKHQpe2lmKHQubGVuZ3RoIT09dGhpcy5YLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkxlbmd0aCBvZiBYIGFuZCB5IG11c3QgYmUgZXF1YWwiKTtpZigiY2F0ZWdvcmljYWwiPT09dGhpcy50YXJnZXRNZXRyaWMpdGhpcy5ncmFwaD10aGlzLmNhdGVnb3JpY2FsU2ltcGxpY2lhbFNldEludGVyc2VjdGlvbih0aGlzLmdyYXBoLHQsdGhpcy50YXJnZXRXZWlnaHQ8MT8xLygxLXRoaXMudGFyZ2V0V2VpZ2h0KSoyLjU6MWUxMil9fSx0LnByb3RvdHlwZS5zdGVwPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5jdXJyZW50RXBvY2g7cmV0dXJuIHQ8dGhpcy5nZXRORXBvY2hzKCkmJnRoaXMub3B0aW1pemVMYXlvdXRTdGVwKHQpLHRoaXMub3B0aW1pemF0aW9uU3RhdGUuY3VycmVudEVwb2NofSx0LnByb3RvdHlwZS5nZXRFbWJlZGRpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbWJlZGRpbmd9LHQucHJvdG90eXBlLm5lYXJlc3ROZWlnaGJvcnM9ZnVuY3Rpb24odCl7dmFyIGUsbj10aGlzLm5OZWlnaGJvcnMsbz1xTXQubWFrZU5ORGVzY2VudCh0aGlzLmRpc3RhbmNlRm4sdGhpcy5yYW5kb20pLGk9NStNYXRoLmZsb29yKC41PT09KGU9TWF0aC5wb3codC5sZW5ndGgsLjUpLzIwKT8wOk1hdGgucm91bmQoZSkpLGE9TWF0aC5tYXgoNSxNYXRoLmZsb29yKE1hdGgucm91bmQoKGZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLmxvZyh0KS9NYXRoLmxvZygyKX0pKHQubGVuZ3RoKSkpKTt0aGlzLnJwRm9yZXN0PVpNdC5tYWtlRm9yZXN0KHQsbixpLHRoaXMucmFuZG9tKTt2YXIgcj1vKHQsWk10Lm1ha2VMZWFmQXJyYXkodGhpcy5ycEZvcmVzdCksbixhKTtyZXR1cm57a25uSW5kaWNlczpyLmluZGljZXMsa25uRGlzdGFuY2VzOnIud2VpZ2h0c319LHQucHJvdG90eXBlLmZ1enp5U2ltcGxpY2lhbFNldD1mdW5jdGlvbih0LGUsbil7dm9pZCAwPT09biYmKG49MSk7dmFyIG89dGhpcyxpPW8ua25uSW5kaWNlcyxhPXZvaWQgMD09PWk/W106aSxyPW8ua25uRGlzdGFuY2VzLHM9dm9pZCAwPT09cj9bXTpyLGw9dGhpcy5zbW9vdGhLTk5EaXN0YW5jZShzLGUsby5sb2NhbENvbm5lY3Rpdml0eSksYz10aGlzLmNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzKGEscyxsLnNpZ21hcyxsLnJob3MpLGQ9bmV3IFlNdC5TcGFyc2VNYXRyaXgoYy5yb3dzLGMuY29scyxjLnZhbHMsW3QubGVuZ3RoLHQubGVuZ3RoXSkscD1ZTXQudHJhbnNwb3NlKGQpLG09WU10LnBhaXJ3aXNlTXVsdGlwbHkoZCxwKSxmPVlNdC5zdWJ0cmFjdChZTXQuYWRkKGQscCksbSksdT1ZTXQubXVsdGlwbHlTY2FsYXIoZixuKSxnPVlNdC5tdWx0aXBseVNjYWxhcihtLDEtbik7cmV0dXJuIFlNdC5hZGQodSxnKX0sdC5wcm90b3R5cGUuY2F0ZWdvcmljYWxTaW1wbGljaWFsU2V0SW50ZXJzZWN0aW9uPWZ1bmN0aW9uKHQsZSxuLG8pe3ZvaWQgMD09PW8mJihvPTEpO3ZhciBpPXJ2dCh0LGUsbyxuKTtyZXR1cm4gc3Z0KGk9WU10LmVsaW1pbmF0ZVplcm9zKGkpKX0sdC5wcm90b3R5cGUuc21vb3RoS05ORGlzdGFuY2U9ZnVuY3Rpb24odCxlLG4sbyxpKXt2b2lkIDA9PT1uJiYobj0xKSx2b2lkIDA9PT1vJiYobz02NCksdm9pZCAwPT09aSYmKGk9MSk7Zm9yKHZhciBhPU1hdGgubG9nKGUpL01hdGgubG9nKDIpKmkscj1YTXQuemVyb3ModC5sZW5ndGgpLHM9WE10Lnplcm9zKHQubGVuZ3RoKSxsPTA7bDx0Lmxlbmd0aDtsKyspe3ZhciBjPTAsZD0xLzAscD0xLG09dFtsXSxmPW0uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdD4wfSkpO2lmKGYubGVuZ3RoPj1uKXt2YXIgdT1NYXRoLmZsb29yKG4pLGc9bi11O3U+MD8ocltsXT1mW3UtMV0sZz5KTXQmJihyW2xdKz1nKihmW3VdLWZbdS0xXSkpKTpyW2xdPWcqZlswXX1lbHNlIGYubGVuZ3RoPjAmJihyW2xdPVhNdC5tYXgoZikpO2Zvcih2YXIgaD0wO2g8bztoKyspe2Zvcih2YXIgYj0wLHk9MTt5PHRbbF0ubGVuZ3RoO3krKyl7dmFyIF89dFtsXVt5XS1yW2xdO2IrPV8+MD9NYXRoLmV4cCgtXy9wKToxfWlmKE1hdGguYWJzKGItYSk8Sk10KWJyZWFrO2I+YT9wPShjKyhkPXApKS8yOihjPXAsZD09PTEvMD9wKj0yOnA9KGMrZCkvMil9aWYoc1tsXT1wLHJbbF0+MCl7dmFyIEM9WE10Lm1lYW4obSk7c1tsXTxRTXQqQyYmKHNbbF09UU10KkMpfWVsc2V7dmFyIE09WE10Lm1lYW4odC5tYXAoWE10Lm1lYW4pKTtzW2xdPFFNdCpNJiYoc1tsXT1RTXQqTSl9fXJldHVybntzaWdtYXM6cyxyaG9zOnJ9fSx0LnByb3RvdHlwZS5jb21wdXRlTWVtYmVyc2hpcFN0cmVuZ3Rocz1mdW5jdGlvbih0LGUsbixvKXtmb3IodmFyIGk9dC5sZW5ndGgsYT10WzBdLmxlbmd0aCxyPVhNdC56ZXJvcyhpKmEpLHM9WE10Lnplcm9zKGkqYSksbD1YTXQuemVyb3MoaSphKSxjPTA7YzxpO2MrKylmb3IodmFyIGQ9MDtkPGE7ZCsrKXt2YXIgcD0wOy0xIT09dFtjXVtkXSYmKHA9dFtjXVtkXT09PWM/MDplW2NdW2RdLW9bY108PTA/MTpNYXRoLmV4cCgtKGVbY11bZF0tb1tjXSkvbltjXSkscltjKmErZF09YyxzW2MqYStkXT10W2NdW2RdLGxbYyphK2RdPXApfXJldHVybntyb3dzOnIsY29sczpzLHZhbHM6bH19LHQucHJvdG90eXBlLmluaXRpYWxpemVTaW1wbGljaWFsU2V0RW1iZWRkaW5nPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMsZT10aGlzLmdldE5FcG9jaHMoKSxuPXRoaXMubkNvbXBvbmVudHMsbz10aGlzLmdyYXBoLmdldFZhbHVlcygpLGk9MCxhPTA7YTxvLmxlbmd0aDthKyspe2k8b1thXSYmKGk9b1thXSl9dmFyIHI9dGhpcy5ncmFwaC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0PGkvZT8wOnR9KSk7dGhpcy5lbWJlZGRpbmc9WE10Lnplcm9zKHIublJvd3MpLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gWE10Lnplcm9zKG4pLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gMjAqWE10LnRhdVJhbmQodC5yYW5kb20pLTEwfSkpfSkpO3ZhciBzPVtdLGw9W10sYz1bXSxkPXIuZ2V0QWxsKCk7Zm9yKGE9MDthPGQubGVuZ3RoO2ErKyl7dmFyIHA9ZFthXTtwLnZhbHVlJiYocy5wdXNoKHAudmFsdWUpLGMucHVzaChwLnJvdyksbC5wdXNoKHAuY29sKSl9cmV0dXJue2hlYWQ6bCx0YWlsOmMsZXBvY2hzUGVyU2FtcGxlOnRoaXMubWFrZUVwb2Noc1BlclNhbXBsZShzLGUpfX0sdC5wcm90b3R5cGUubWFrZUVwb2Noc1BlclNhbXBsZT1mdW5jdGlvbih0LGUpe3ZhciBuPVhNdC5maWxsZWQodC5sZW5ndGgsLTEpLG89WE10Lm1heCh0KSxpPXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC9vKmV9KSk7cmV0dXJuIGkuZm9yRWFjaCgoZnVuY3Rpb24odCxvKXt0PjAmJihuW29dPWUvaVtvXSl9KSksbn0sdC5wcm90b3R5cGUuYXNzaWduT3B0aW1pemF0aW9uU3RhdGVQYXJhbWV0ZXJzPWZ1bmN0aW9uKHQpe09iamVjdC5hc3NpZ24odGhpcy5vcHRpbWl6YXRpb25TdGF0ZSx0KX0sdC5wcm90b3R5cGUucHJlcGFyZUZvck9wdGltaXphdGlvbkxvb3A9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5yZXB1bHNpb25TdHJlbmd0aCxuPXQubGVhcm5pbmdSYXRlLG89dC5uZWdhdGl2ZVNhbXBsZVJhdGUsaT10aGlzLm9wdGltaXphdGlvblN0YXRlLGE9aS5lcG9jaHNQZXJTYW1wbGUscj1pLmhlYWRFbWJlZGRpbmcscz1yWzBdLmxlbmd0aCxsPXIubGVuZ3RoPT09aS50YWlsRW1iZWRkaW5nLmxlbmd0aCxjPWEubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC9vfSkpLGQ9ak10KGMpLHA9ak10KGEpO3RoaXMuYXNzaWduT3B0aW1pemF0aW9uU3RhdGVQYXJhbWV0ZXJzKHtlcG9jaE9mTmV4dFNhbXBsZTpwLGVwb2NoT2ZOZXh0TmVnYXRpdmVTYW1wbGU6ZCxlcG9jaHNQZXJOZWdhdGl2ZVNhbXBsZTpjLG1vdmVPdGhlcjpsLGluaXRpYWxBbHBoYTpuLGFscGhhOm4sZ2FtbWE6ZSxkaW06c30pfSx0LnByb3RvdHlwZS5pbml0aWFsaXplT3B0aW1pemF0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbWJlZGRpbmcsZT10aGlzLmVtYmVkZGluZyxuPXRoaXMub3B0aW1pemF0aW9uU3RhdGUsbz1uLmhlYWQsaT1uLnRhaWwsYT1uLmVwb2Noc1BlclNhbXBsZSxyPXRoaXMuZ2V0TkVwb2NocygpLHM9dGhpcy5ncmFwaC5uQ29scyxsPWF2dCh0aGlzLnNwcmVhZCx0aGlzLm1pbkRpc3QpO3RoaXMuYXNzaWduT3B0aW1pemF0aW9uU3RhdGVQYXJhbWV0ZXJzKHtoZWFkRW1iZWRkaW5nOnQsdGFpbEVtYmVkZGluZzplLGhlYWQ6byx0YWlsOmksZXBvY2hzUGVyU2FtcGxlOmEsYTpsLmEsYjpsLmIsbkVwb2NoczpyLG5WZXJ0aWNlczpzfSl9LHQucHJvdG90eXBlLm9wdGltaXplTGF5b3V0U3RlcD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5vcHRpbWl6YXRpb25TdGF0ZSxuPWUuaGVhZCxvPWUudGFpbCxpPWUuaGVhZEVtYmVkZGluZyxhPWUudGFpbEVtYmVkZGluZyxyPWUuZXBvY2hzUGVyU2FtcGxlLHM9ZS5lcG9jaE9mTmV4dFNhbXBsZSxsPWUuZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZSxjPWUuZXBvY2hzUGVyTmVnYXRpdmVTYW1wbGUsZD1lLm1vdmVPdGhlcixwPWUuaW5pdGlhbEFscGhhLG09ZS5hbHBoYSxmPWUuZ2FtbWEsdT1lLmEsZz1lLmIsaD1lLmRpbSxiPWUubkVwb2Nocyx5PWUublZlcnRpY2VzLF89MDtfPHIubGVuZ3RoO18rKylpZighKHNbX10+dCkpe3ZhciBDPW5bX10sTT1pW0NdLHY9YVtvW19dXSx4PWl2dChNLHYpLE89MDt4PjAmJihPPS0yKnUqZypNYXRoLnBvdyh4LGctMSksTy89dSpNYXRoLnBvdyh4LGcpKzEpO2Zvcih2YXIgUD0wO1A8aDtQKyspe3ZhciB3PW92dChPKihNW1BdLXZbUF0pLDQpO01bUF0rPXcqbSxkJiYodltQXSs9LXcqbSl9c1tfXSs9cltfXTtmb3IodmFyIGs9TWF0aC5mbG9vcigodC1sW19dKS9jW19dKSxTPTA7UzxrO1MrKyl7dmFyIEQ9WE10LnRhdVJhbmRJbnQoeSx0aGlzLnJhbmRvbSksUj1hW0RdLEU9aXZ0KE0sUiksQT0wO2lmKEU+MClBPTIqZipnLEEvPSguMDAxK0UpKih1Kk1hdGgucG93KEUsZykrMSk7ZWxzZSBpZihDPT09RCljb250aW51ZTtmb3IoUD0wO1A8aDtQKyspe3c9NDtBPjAmJih3PW92dChBKihNW1BdLVJbUF0pLDQpKSxNW1BdKz13Km19fWxbX10rPWsqY1tfXX1yZXR1cm4gZS5hbHBoYT1wKigxLXQvYiksZS5jdXJyZW50RXBvY2grPTEsaX0sdC5wcm90b3R5cGUub3B0aW1pemVMYXlvdXRBc3luYz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiB2b2lkIDA9PT10JiYodD1mdW5jdGlvbigpe3JldHVybiEwfSksbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4sbyl7dmFyIGk9ZnVuY3Rpb24oKXtyZXR1cm4gTE10KGUsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgZSxhLHIscyxsO3JldHVybiBCTXQodGhpcywoZnVuY3Rpb24oYyl7dHJ5e2lmKGE9KGU9dGhpcy5vcHRpbWl6YXRpb25TdGF0ZSkubkVwb2Nocyx0aGlzLmVtYmVkZGluZz10aGlzLm9wdGltaXplTGF5b3V0U3RlcChlLmN1cnJlbnRFcG9jaCkscz0hMT09PXQocj10aGlzLm9wdGltaXphdGlvblN0YXRlLmN1cnJlbnRFcG9jaCksbD1yPT09YSxzfHxsKXJldHVyblsyLG4obCldO3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIGkoKX0pLDApfWNhdGNoKHQpe28odCl9cmV0dXJuWzJdfSkpfSkpfTtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3JldHVybiBpKCl9KSwwKX0pKX0sdC5wcm90b3R5cGUub3B0aW1pemVMYXlvdXQ9ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9ZnVuY3Rpb24oKXtyZXR1cm4hMH0pO2Zvcih2YXIgZT0hMSxuPVtdOyFlOyl7dmFyIG89dGhpcy5vcHRpbWl6YXRpb25TdGF0ZSxpPW8ubkVwb2NocztuPXRoaXMub3B0aW1pemVMYXlvdXRTdGVwKG8uY3VycmVudEVwb2NoKTt2YXIgYT10aGlzLm9wdGltaXphdGlvblN0YXRlLmN1cnJlbnRFcG9jaCxyPSExPT09dChhKTtlPWE9PT1pfHxyfXJldHVybiBufSx0LnByb3RvdHlwZS5nZXRORXBvY2hzPWZ1bmN0aW9uKCl7aWYodGhpcy5uRXBvY2hzPjApcmV0dXJuIHRoaXMubkVwb2Noczt2YXIgdD10aGlzLmdyYXBoLm5Sb3dzO3JldHVybiB0PD0yNTAwPzUwMDp0PD01ZTM/NDAwOnQ8PTc1MDA/MzAwOjIwMH0sdH0pKCk7ZnVuY3Rpb24gdHZ0KHQsZSl7Zm9yKHZhciBuPTAsbz0wO288dC5sZW5ndGg7bysrKW4rPU1hdGgucG93KHRbb10tZVtvXSwyKTtyZXR1cm4gTWF0aC5zcXJ0KG4pfUhfdC5VTUFQPSRNdCxIX3QuZXVjbGlkZWFuPXR2dCxIX3QuY29zaW5lPWZ1bmN0aW9uIGV2dCh0LGUpe2Zvcih2YXIgbj0wLG89MCxpPTAsYT0wO2E8dC5sZW5ndGg7YSsrKW4rPXRbYV0qZVthXSxvKz1NYXRoLnBvdyh0W2FdLDIpLGkrPU1hdGgucG93KGVbYV0sMik7cmV0dXJuIDA9PT1vJiYwPT09aT8wOjA9PT1vfHwwPT09aT8xOjEtbi9NYXRoLnNxcnQobyppKX07dmFyIG52dD1mdW5jdGlvbiBudnQoKXt0aGlzLmN1cnJlbnRFcG9jaD0wLHRoaXMuaGVhZEVtYmVkZGluZz1bXSx0aGlzLnRhaWxFbWJlZGRpbmc9W10sdGhpcy5oZWFkPVtdLHRoaXMudGFpbD1bXSx0aGlzLmVwb2Noc1BlclNhbXBsZT1bXSx0aGlzLmVwb2NoT2ZOZXh0U2FtcGxlPVtdLHRoaXMuZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZT1bXSx0aGlzLmVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlPVtdLHRoaXMubW92ZU90aGVyPSEwLHRoaXMuaW5pdGlhbEFscGhhPTEsdGhpcy5hbHBoYT0xLHRoaXMuZ2FtbWE9MSx0aGlzLmE9MS41NzY5NDM0NjAzMTEzMDc3LHRoaXMuYj0uODk1MDYwODc3OTEwOTczMyx0aGlzLmRpbT0yLHRoaXMubkVwb2Nocz01MDAsdGhpcy5uVmVydGljZXM9MH07ZnVuY3Rpb24gb3Z0KHQsZSl7cmV0dXJuIHQ+ZT9lOnQ8LWU/LWU6dH1mdW5jdGlvbiBpdnQodCxlKXtmb3IodmFyIG49MCxvPTA7bzx0Lmxlbmd0aDtvKyspbis9TWF0aC5wb3codFtvXS1lW29dLDIpO3JldHVybiBufWZ1bmN0aW9uIGF2dCh0LGUpe3ZhciBuPVhNdC5saW5lYXIoMCwzKnQsMzAwKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0PGU/MTp0fSkpLG89WE10Lnplcm9zKG4ubGVuZ3RoKS5tYXAoKGZ1bmN0aW9uKG8saSl7cmV0dXJuIG5baV0+PWU/TWF0aC5leHAoLShuW2ldLWUpL3QpOm99KSksaT1LTXQuZGVmYXVsdCh7eDpuLHk6b30sKGZ1bmN0aW9uKHQpe3ZhciBlPVZNdCh0LDIpLG49ZVswXSxvPWVbMV07cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiAxLygxK24qTWF0aC5wb3codCwyKm8pKX19KSx7ZGFtcGluZzoxLjUsaW5pdGlhbFZhbHVlczpbLjUsLjVdLGdyYWRpZW50RGlmZmVyZW5jZTouMSxtYXhJdGVyYXRpb25zOjEwMCxlcnJvclRvbGVyYW5jZTouMDF9KS5wYXJhbWV0ZXJWYWx1ZXMsYT1WTXQoaSwyKTtyZXR1cm57YTphWzBdLGI6YVsxXX19ZnVuY3Rpb24gcnZ0KHQsZSxuLG8pe3JldHVybiB2b2lkIDA9PT1uJiYobj0xKSx2b2lkIDA9PT1vJiYobz01KSx0Lm1hcCgoZnVuY3Rpb24odCxpLGEpe3JldHVybi0xPT09ZVtpXXx8LTE9PT1lW2FdP3QqTWF0aC5leHAoLW4pOmVbaV0hPT1lW2FdP3QqTWF0aC5leHAoLW8pOnR9KSl9ZnVuY3Rpb24gc3Z0KHQpe3Q9WU10Lm5vcm1hbGl6ZSh0LCJtYXgiKTt2YXIgZT1ZTXQudHJhbnNwb3NlKHQpLG49WU10LnBhaXJ3aXNlTXVsdGlwbHkoZSx0KTtyZXR1cm4gdD1ZTXQuYWRkKHQsWU10LnN1YnRyYWN0KGUsbikpLFlNdC5lbGltaW5hdGVaZXJvcyh0KX1mdW5jdGlvbiBsdnQodCxlLG4pe2Zvcih2YXIgbz1YTXQuemVyb3ModC5sZW5ndGgpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIFhNdC56ZXJvcyhuWzBdLmxlbmd0aCl9KSksaT0wO2k8dC5sZW5ndGg7aSsrKWZvcih2YXIgYT0wO2E8dFswXS5sZW5ndGg7YSsrKWZvcih2YXIgcj0wO3I8blswXS5sZW5ndGg7cisrKXtvW2ldW3JdKz1lW2ldW2FdKm5bdFtpXVthXV1bcl19cmV0dXJuIG99ZnVuY3Rpb24gY3Z0KHQpe2xldCBlLG4sbz10Lmxlbmd0aDtmb3IoO287KW49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKm8tLSksZT10W29dLHRbb109dFtuXSx0W25dPWU7cmV0dXJuIHR9ZnVuY3Rpb24gZHZ0KHQsZSl7cmV0dXJuYCR7ZX0vJHt0fWB9SF90LmZpbmRBQlBhcmFtcz1hdnQsSF90LmZhc3RJbnRlcnNlY3Rpb249cnZ0LEhfdC5yZXNldExvY2FsQ29ubmVjdGl2aXR5PXN2dCxIX3QuaW5pdFRyYW5zZm9ybT1sdnQsT2JqZWN0LmRlZmluZVByb3BlcnR5KElfdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksSV90LlVNQVA9SF90LlVNQVA7Y2xhc3MgcHZ0e2NvbnN0cnVjdG9yKHQpe3RoaXMuaHR0cD10LHRoaXMuaHR0cFBhdGhQcmVmaXg9ImRhdGEvcGx1Z2luL25wbWkifWZldGNoRGF0YSh0KXtyZXR1cm4gaWUodGhpcy5mZXRjaEFubm90YXRpb25zKHQpLHRoaXMuZmV0Y2hNZXRyaWNzKHQpLHRoaXMuZmV0Y2hWYWx1ZXModCksdGhpcy5mZXRjaEVtYmVkZGluZ3ModCkpLnBpcGUoVnQoKChbdCxlLG4sb10pPT57Y29uc3QgaT17fSxhPXt9O2xldCByLHM9MDtmb3IoY29uc3QgciBvZiBPYmplY3Qua2V5cyh0KSlmb3IoY29uc3QgbCBpbiB0W3JdKXtjb25zdCBjPXRbcl1bbF07T2JqZWN0LmtleXMobykubGVuZ3RoJiYhYVtjXSYmb1tyXVtsXSYmb1tyXVtsXS5zb21lKCh0PT4wIT09dCkpJiYoYVtjXT17dmVjdG9yOm9bcl1bbF0saW5kZXg6cyxuYW1lOmN9LHMrPTEpO2NvbnN0IGQ9bmV3IE1hcDtmb3IoY29uc3QgdCBpbiBlW3JdKXtjb25zdCBvPWVbcl1bdF0saT16X3Qobyk7bGV0IGE9ZC5nZXQoaSk7YXx8KGE9e25QTUlWYWx1ZTpudWxsLGNvdW50VmFsdWU6bnVsbCxhbm5vdGF0aW9uOmMsbWV0cmljOmkscnVuOnJ9LGQuc2V0KGksYSkpLEFfdChvKT9hLmNvdW50VmFsdWU9bltyXVtsXVt0XTpUX3QobykmJihhLm5QTUlWYWx1ZT1uW3JdW2xdW3RdKX1pW2NdPVsuLi5pW2NdP2lbY106W10sLi4uZC52YWx1ZXMoKV19cmV0dXJuIE9iamVjdC5rZXlzKGEpLmxlbmd0aCYmKHI9KGZ1bmN0aW9uIGwodCl7Y29uc3QgZT1PYmplY3Qua2V5cyh0KTtyZXR1cm57cG9pbnRzOnQscG9pbnRLZXlzOmUsc2h1ZmZsZWREYXRhSW5kaWNlczpjdnQoKG49ZS5sZW5ndGgsWy4uLm5ldyBBcnJheShuKV0ubWFwKCgodCxlKT0+ZSkpKSksaGFzVW1hcFJ1bjohMX07dmFyIG59KShhKSkse2Fubm90YXRpb25EYXRhOmksbWV0cmljczplLGVtYmVkZGluZ0RhdGFTZXQ6cn19KSksaGUoKHQ9PnQgaW5zdGFuY2VvZiBmRSYmNDAwPD10LnN0YXR1cyYmdC5zdGF0dXM8NTAwP3p0KHthbm5vdGF0aW9uRGF0YTp7fSxtZXRyaWNzOnt9LGVtYmVkZGluZ0RhdGFTZXQ6dm9pZCAwfSk6SXQodCkpKSl9ZmV0Y2hBbm5vdGF0aW9ucyh0KXtyZXR1cm4gaWUodC5tYXAoKHQ9PnRoaXMuaHR0cC5nZXQoYC9leHBlcmltZW50LyR7dH0vJHt0aGlzLmh0dHBQYXRoUHJlZml4fS9hbm5vdGF0aW9uc2ApLnBpcGUoVnQoKGU9PihmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyh0KS5tYXAoKChbdCxuXSk9PltkdnQodCxlKSxuXSkpKX0pKGUsdCkpKSkpKSkucGlwZShWdCgodD0+e2xldCBlPXt9O2Zvcihjb25zdCBuIG9mIHQpZT1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSksbik7cmV0dXJuIGV9KSkpfWZldGNoTWV0cmljcyh0KXtyZXR1cm4gaWUodC5tYXAoKHQ9PnRoaXMuaHR0cC5nZXQoYC9leHBlcmltZW50LyR7dH0vJHt0aGlzLmh0dHBQYXRoUHJlZml4fS9tZXRyaWNzYCkucGlwZShWdCgoZT0+KGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHQpLm1hcCgoKFt0LG5dKT0+W2R2dCh0LGUpLG5dKSkpfSkoZSx0KSkpKSkpKS5waXBlKFZ0KCh0PT57bGV0IGU9e307Zm9yKGNvbnN0IG4gb2YgdCllPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSxuKTtyZXR1cm4gZX0pKSl9ZmV0Y2hWYWx1ZXModCl7cmV0dXJuIGllKHQubWFwKCh0PT50aGlzLmh0dHAuZ2V0KGAvZXhwZXJpbWVudC8ke3R9LyR7dGhpcy5odHRwUGF0aFByZWZpeH0vdmFsdWVzYCkucGlwZShWdCgoZT0+KGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHQpLm1hcCgoKFt0LG5dKT0+W2R2dCh0LGUpLG5dKSkpfSkoZSx0KSkpKSkpKS5waXBlKFZ0KCh0PT57bGV0IGU9e307Zm9yKGNvbnN0IG4gb2YgdCllPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSxuKTtyZXR1cm4gZX0pKSl9ZmV0Y2hFbWJlZGRpbmdzKHQpe3JldHVybiBpZSh0Lm1hcCgodD0+dGhpcy5odHRwLmdldChgL2V4cGVyaW1lbnQvJHt0fS8ke3RoaXMuaHR0cFBhdGhQcmVmaXh9L2VtYmVkZGluZ3NgKS5waXBlKFZ0KChlPT4oZnVuY3Rpb24gbih0LGUpe3JldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXModCkubWFwKCgoW3Qsbl0pPT5bZHZ0KHQsZSksbl0pKSl9KShlLHQpKSkpKSkpLnBpcGUoVnQoKHQ9PntsZXQgZT17fTtmb3IoY29uc3QgbiBvZiB0KWU9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGUpLG4pO3JldHVybiBlfSkpKX19cHZ0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxwdnQpKFRyKEhFKSl9LHB2dC7JtXByb3Y9U24oe3Rva2VuOnB2dCxmYWN0b3J5OnB2dC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocHZ0LFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpIRX1dfSksbnVsbCk7Y2xhc3MgbXZ0e31tdnQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG12dCl9LG12dC7JtW1vZD1mbyh7dHlwZTptdnR9KSxtdnQuybVpbmo9RG4oe3Byb3ZpZGVyczpbcHZ0XSxpbXBvcnRzOltbRkVdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobXZ0LFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbRkVdLHByb3ZpZGVyczpbcHZ0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKG12dCx7aW1wb3J0czpbRkVdfSk7Y29uc3QgZnZ0PV9rKCJbTlBNSV0gblBNSSBMb2FkZWQiKSx1dnQ9X2soIltOUE1JXSBuUE1JIFBsdWdpbiBEYXRhIFJlcXVlc3RlZCIpLGd2dD1faygiW05QTUldIG5QTUkgUGx1Z2luIERhdGEgTG9hZGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksaHZ0PV9rKCJbTlBNSV0gblBNSSBQbHVnaW4gRGF0YSBSZXF1ZXN0IEZhaWxlZCIpLGJ2dD1faygiW05QTUldIEFkZGluZy9SZW1vdmluZyBBbm5vdGF0aW9ucyB0by9mcm9tIFNlbGVjdGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSkseXZ0PV9rKCJbTlBNSV0gQW5ub3RhdGlvbnMgU2V0Iix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksX3Z0PV9rKCJbTlBNSV0gQ2xlYXJpbmcgdGhlIEFubm90YXRpb24gU2VsZWN0aW9uIiksQ3Z0PV9rKCJbTlBNSV0gQWRkaW5nL1JlbW92aW5nIEFubm90YXRpb25zIHRvL2Zyb20gRmxhZ2dlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLE12dD1faygiW05QTUldIEFkZGluZy9SZW1vdmluZyBBbm5vdGF0aW9ucyB0by9mcm9tIEhpZGRlbiIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHZ2dD1faygiW05QTUldIEFubm90YXRpb25zIFJlZ2V4IENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSx4dnQ9X2soIltOUE1JXSBNZXRyaWNzIFJlZ2V4IENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxPdnQ9X2soIltOUE1JXSBNZXRyaWMgRmlsdGVyIEFkZGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksUHZ0PV9rKCJbTlBNSV0gTWV0cmljIEZpbHRlciBSZW1vdmVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksd3Z0PV9rKCJbTlBNSV0gTWV0cmljIEZpbHRlciBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksa3Z0PV9rKCJbTlBNSV0gQW5ub3RhdGlvbiBTb3J0IENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxTdnQ9X2soIltOUE1JXSBTaW1pbGFyaXR5IFNvcnQgQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLER2dD1faygiW05QTUldIFRvZ2dsZSBQQyBFeHBhbmRlZCIpLFJ2dD1faygiW05QTUldIFRvZ2dsZSBBbm5vdGF0aW9ucyBFeHBhbmRlZCIpLEV2dD1faygiW05QTUldIFRvZ2dsZSBTaWRlYmFyIEV4cGFuZGVkIiksQXZ0PV9rKCJbTlBNSV0gU2hvdyBDb3VudHMgVG9nZ2xlZCIpLFR2dD1faygiW05QTUldIFNob3cgSGlkZGVuIEFubm90YXRpb25zIFRvZ2dsZWQiKSxOdnQ9X2soIltOUE1JXSBFbWJlZGRpbmdzIFZpZXcgVG9nZ2xlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHp2dD1faygiW05QTUldIFNpZGViYXIgV2lkdGggQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEl2dD1faygiW05QTUldIEVtYmVkZGluZ3MgU2lkZWJhciBXaWR0aCBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksSHZ0PV9rKCJbTlBNSV0gRW1iZWRkaW5ncyBTaWRlYmFyIEV4cGFuZGVkIFRvZ2dsZWQiKSxGdnQ9X2soIltOUE1JXSBDaGFuZ2UgRW1iZWRkaW5nIERhdGFTZXQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxMdnQ9Im5wbWkiO3ZhciBCdnQsVnZ0LGp2dCxVdnQ7IShmdW5jdGlvbih0KXt0W3QuQU5EPTBdPSJBTkQifSkoQnZ0fHwoQnZ0PXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5NRVRSSUM9MF09Ik1FVFJJQyIsdFt0Lk9QRVJBVE9SPTFdPSJPUEVSQVRPUiJ9KShWdnR8fChWdnQ9e30pKSwoZnVuY3Rpb24odCl7dFt0LkRFRkFVTFQ9MF09IkRFRkFVTFQiLHRbdC5FTUJFRERJTkdTPTFdPSJFTUJFRERJTkdTIn0pKGp2dHx8KGp2dD17fSkpLChmdW5jdGlvbih0KXt0W3QuREVTQ0VORElORz0wXT0iREVTQ0VORElORyIsdFt0LkFTQ0VORE5HPTFdPSJBU0NFTkRORyIsdFt0LlNJTUlMQVI9Ml09IlNJTUlMQVIiLHRbdC5ESVNTSU1JTEFSPTNdPSJESVNTSU1JTEFSIn0pKFV2dHx8KFV2dD17fSkpO2NvbnN0IFd2dD1fUyhMdnQpLEd2dD1iUyhXdnQsKHQ9PnQucGx1Z2luRGF0YUxvYWRlZC5zdGF0ZSkpLFl2dD1iUyhXdnQsKHQ9PnQuYW5ub3RhdGlvbkRhdGEpKSxxdnQ9YlMoV3Z0LCh0PT50LnJ1blRvTWV0cmljcykpLFp2dD1iUyhXdnQsKHQ9PnQuZW1iZWRkaW5nRGF0YVNldCkpLFh2dD1iUyhXdnQsKHQ9PnQuc2VsZWN0ZWRBbm5vdGF0aW9ucykpLEt2dD1iUyhXdnQsKHQ9PnQuZmxhZ2dlZEFubm90YXRpb25zKSksSnZ0PWJTKFd2dCwodD0+dC5oaWRkZW5Bbm5vdGF0aW9ucykpLFF2dD1iUyhXdnQsKHQ9PnQuYW5ub3RhdGlvbnNSZWdleCkpLCR2dD1iUyhXdnQsKHQ9PnQubWV0cmljc1JlZ2V4KSksdHh0PWJTKFd2dCwodD0+dC5tZXRyaWNBcml0aG1ldGljKSksZXh0PWJTKFd2dCwodD0+dC5tZXRyaWNGaWx0ZXJzKSksbnh0PWJTKFd2dCwodD0+dC5zb3J0KSksb3h0PWJTKFd2dCwodD0+dC5wY0V4cGFuZGVkKSksaXh0PWJTKFd2dCwodD0+dC5hbm5vdGF0aW9uc0V4cGFuZGVkKSksYXh0PWJTKFd2dCwodD0+dC5zaWRlYmFyRXhwYW5kZWQpKSxyeHQ9YlMoV3Z0LCh0PT50LnNob3dDb3VudHMpKSxzeHQ9YlMoV3Z0LCh0PT50LnNob3dIaWRkZW5Bbm5vdGF0aW9ucykpLGx4dD1iUyhXdnQsKHQ9PnQudmlld0FjdGl2ZSkpLGN4dD1iUyhXdnQsKHQ9PnQuc2lkZWJhcldpZHRoKSksZHh0PWJTKFd2dCwodD0+dC5lbWJlZGRpbmdzTWV0cmljKSkscHh0PWJTKFd2dCwodD0+dC5lbWJlZGRpbmdzU2lkZWJhcldpZHRoKSksbXh0PWJTKFd2dCwodD0+dC5lbWJlZGRpbmdzU2lkZWJhckV4cGFuZGVkKSk7Y2xhc3MgZnh0e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmFjdGlvbnMkPXQsdGhpcy5zdG9yZT1lLHRoaXMuZGF0YVNvdXJjZT1uLHRoaXMubG9hZERhdGEkPVdTKCgoKT0+cGUodGhpcy5sb2FkUGx1Z2luRGF0YSgpKS5waXBlKFZ0KCgoKT0+KHt9KSkpKSkse2Rpc3BhdGNoOiExfSl9bG9hZFBsdWdpbkRhdGEoKXtyZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKCRTKGZ2dCkscWUodGhpcy5zdG9yZS5zZWxlY3QoR3Z0KSx0aGlzLnN0b3JlLnNlbGVjdCh4UikpLHVlKCgoWyx0LGVdKT0+dCE9PVVFLkxPQURJTkcmJm51bGwhPT1lKSksV2UoKCgpPT50aGlzLnN0b3JlLmRpc3BhdGNoKHV2dCgpKSkpLCR0KCgoWywsdF0pPT50aGlzLmRhdGFTb3VyY2UuZmV0Y2hEYXRhKHQpLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKGd2dCh0KSl9KSksVnQoKCgpPT57fSkpLGhlKCgoKT0+KHRoaXMuc3RvcmUuZGlzcGF0Y2goaHZ0KCkpLGR0KSkpKSkpKX19Znh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxmeHQpKFRyKFFTKSxUcihpUyksVHIocHZ0KSl9LGZ4dC7JtXByb3Y9U24oe3Rva2VuOmZ4dCxmYWN0b3J5OmZ4dC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZnh0LFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpRU30se3R5cGU6aVN9LHt0eXBlOnB2dH1dfSksbnVsbCk7Y2xhc3MgdXh0e311eHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHV4dCl9LHV4dC7JtWNtcD1zbyh7dHlwZTp1eHQsc2VsZWN0b3JzOltbIm5wbWktaW5hY3RpdmUtdmlldyJdXSxkZWNsczo2LHZhcnM6MCxjb25zdHM6W1sxLCJjb250YWluZXIiXSxbMSwidGl0bGUiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIpLENmKDEsImRpdiIsMCksQ2YoMiwiZGl2IiwxKSxQdSgzLCJuUE1JIGlzIGluYWN0aXZlIGJlY2F1c2Ugbm8gZGF0YSBpcyBhdmFpbGFibGUuIiksTWYoKSxDZig0LCJkaXYiKSxQdSg1LCIgVG8gdXNlIHRoZSBuUE1JLCBjYWxjdWxhdGUgblBNSSB2YWx1ZXMsIGFuZCBsb2cgdGhlbSB1c2luZyB0aGUgc3VtbWFyeSB3cml0ZXIuICIpLE1mKCksTWYoKSxNZigpKX0sc3R5bGVzOlsiLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgcGFkZGluZzogNTBweDtcbn1cblxuLnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGZvbnQtc2l6ZTogMTM1JTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHV4dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLWluYWN0aXZlLXZpZXciLHRlbXBsYXRlVXJsOiIuL2luYWN0aXZlX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2luYWN0aXZlX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCxudWxsKTtjb25zdCBneHQ9VlMoe3BsdWdpbkRhdGFMb2FkZWQ6e3N0YXRlOlVFLk5PVF9MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOm51bGx9LGFubm90YXRpb25EYXRhOnt9LGVtYmVkZGluZ0RhdGFTZXQ6dm9pZCAwLHJ1blRvTWV0cmljczp7fSxzZWxlY3RlZEFubm90YXRpb25zOltdLGZsYWdnZWRBbm5vdGF0aW9uczpbXSxoaWRkZW5Bbm5vdGF0aW9uczpbXSxhbm5vdGF0aW9uc1JlZ2V4OiIiLG1ldHJpY3NSZWdleDoiIixtZXRyaWNBcml0aG1ldGljOltdLG1ldHJpY0ZpbHRlcnM6e30sc29ydDp7bWV0cmljOiIiLG9yZGVyOlV2dC5ERVNDRU5ESU5HfSxwY0V4cGFuZGVkOiEwLGFubm90YXRpb25zRXhwYW5kZWQ6ITAsc2lkZWJhckV4cGFuZGVkOiEwLHNob3dDb3VudHM6ITAsc2hvd0hpZGRlbkFubm90YXRpb25zOiExLHNpZGViYXJXaWR0aDozMDAsdmlld0FjdGl2ZTpqdnQuREVGQVVMVCxlbWJlZGRpbmdzTWV0cmljOiIiLGVtYmVkZGluZ3NTaWRlYmFyV2lkdGg6NTAwLGVtYmVkZGluZ3NTaWRlYmFyRXhwYW5kZWQ6ITB9LEJTKHV2dCwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtwbHVnaW5EYXRhTG9hZGVkOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnBsdWdpbkRhdGFMb2FkZWQpLHtzdGF0ZTpVRS5MT0FESU5HfSl9KSkpLEJTKGh2dCwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtwbHVnaW5EYXRhTG9hZGVkOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnBsdWdpbkRhdGFMb2FkZWQpLHtzdGF0ZTpVRS5GQUlMRUR9KX0pKSksQlMoZ3Z0LCgodCx7YW5ub3RhdGlvbkRhdGE6ZSxtZXRyaWNzOm4sZW1iZWRkaW5nRGF0YVNldDpvfSk9Pntjb25zdCBpPXt9O2Zvcihjb25zdCB0IGluIG4pe2lbdF09W107Zm9yKGNvbnN0IGUgb2Ygblt0XSlUX3QoZSkmJmlbdF0ucHVzaChlKX1yZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtydW5Ub01ldHJpY3M6aSxhbm5vdGF0aW9uRGF0YTplLGVtYmVkZGluZ0RhdGFTZXQ6byxwbHVnaW5EYXRhTG9hZGVkOntzdGF0ZTpVRS5MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOkRhdGUubm93KCl9fSl9KSksQlMoYnZ0LCgodCx7YW5ub3RhdGlvbnM6ZX0pPT57Y29uc3Qgbj1uZXcgU2V0KFsuLi50LnNlbGVjdGVkQW5ub3RhdGlvbnMsLi4uZV0pO2lmKG4uc2l6ZT09PXQuc2VsZWN0ZWRBbm5vdGF0aW9ucy5sZW5ndGgpZm9yKGNvbnN0IHQgb2YgZSluLmRlbGV0ZSh0KTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZWxlY3RlZEFubm90YXRpb25zOlsuLi5uXX0pfSkpLEJTKHl2dCwoKHQse2Fubm90YXRpb25zOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZWxlY3RlZEFubm90YXRpb25zOmV9KSkpLEJTKF92dCwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZWxlY3RlZEFubm90YXRpb25zOltdfSkpKSxCUyhDdnQsKCh0LHthbm5vdGF0aW9uczplfSk9Pntjb25zdCBuPW5ldyBTZXQoWy4uLnQuZmxhZ2dlZEFubm90YXRpb25zLC4uLmVdKTtpZihuLnNpemU9PT10LmZsYWdnZWRBbm5vdGF0aW9ucy5sZW5ndGgpZm9yKGNvbnN0IHQgb2YgZSluLmRlbGV0ZSh0KTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtmbGFnZ2VkQW5ub3RhdGlvbnM6Wy4uLm5dLHNlbGVjdGVkQW5ub3RhdGlvbnM6W119KX0pKSxCUyhNdnQsKCh0LHthbm5vdGF0aW9uczplfSk9Pntjb25zdCBuPW5ldyBTZXQoWy4uLnQuaGlkZGVuQW5ub3RhdGlvbnMsLi4uZV0pO2lmKG4uc2l6ZT09PXQuaGlkZGVuQW5ub3RhdGlvbnMubGVuZ3RoKWZvcihjb25zdCB0IG9mIGUpbi5kZWxldGUodCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7aGlkZGVuQW5ub3RhdGlvbnM6Wy4uLm5dLHNlbGVjdGVkQW5ub3RhdGlvbnM6W119KX0pKSxCUyh2dnQsKCh0LHtyZWdleDplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7YW5ub3RhdGlvbnNSZWdleDplfSkpKSxCUyh4dnQsKCh0LHtyZWdleDplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7bWV0cmljc1JlZ2V4OmV9KSkpLEJTKE92dCwoKHQse21ldHJpYzplfSk9PntpZih0Lm1ldHJpY0ZpbHRlcnNbZV0pcmV0dXJuIHQ7Y29uc3Qgbj1bXTtyZXR1cm4gMCE9PXQubWV0cmljQXJpdGhtZXRpYy5sZW5ndGgmJm4ucHVzaCh7a2luZDpWdnQuT1BFUkFUT1Isb3BlcmF0b3I6QnZ0LkFORH0pLG4ucHVzaCh7a2luZDpWdnQuTUVUUklDLG1ldHJpYzplfSksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHttZXRyaWNBcml0aG1ldGljOlsuLi50Lm1ldHJpY0FyaXRobWV0aWMsLi4ubl0sbWV0cmljRmlsdGVyczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5tZXRyaWNGaWx0ZXJzKSx7W2VdOnttYXg6MSxtaW46LTEsaW5jbHVkZU5hTjohMX19KSxzb3J0OnttZXRyaWM6ZSxvcmRlcjpVdnQuREVTQ0VORElOR319KX0pKSxCUyhQdnQsKCh0LHttZXRyaWM6ZX0pPT57aWYoIXQubWV0cmljRmlsdGVyc1tlXSlyZXR1cm4gdDtsZXQgbj0wLG89MCxpPTI7Y29uc3QgYT10Lm1ldHJpY0ZpbHRlcnMscj1lLHM9WlQoYSxbInN5bWJvbCI9PXR5cGVvZiByP3I6cisiIl0pO2Zvcihjb25zdCBvIGluIHQubWV0cmljQXJpdGhtZXRpYyl7Y29uc3QgaT10Lm1ldHJpY0FyaXRobWV0aWNbb107aS5raW5kPT09VnZ0Lk1FVFJJQyYmaS5tZXRyaWM9PT1lJiYobj1wYXJzZUludChvKSl9cmV0dXJuIDAhPT1uJiYobz1uLTEsaT1uKzEpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7bWV0cmljQXJpdGhtZXRpYzpbLi4udC5tZXRyaWNBcml0aG1ldGljLnNsaWNlKDAsbyksLi4udC5tZXRyaWNBcml0aG1ldGljLnNsaWNlKGkpXSxtZXRyaWNGaWx0ZXJzOnN9KX0pKSxCUyh3dnQsKCh0LHttZXRyaWM6ZSxtYXg6bixtaW46byxpbmNsdWRlTmFOOml9KT0+dC5tZXRyaWNGaWx0ZXJzW2VdP09iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7bWV0cmljRmlsdGVyczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5tZXRyaWNGaWx0ZXJzKSx7W2VdOnttYXg6bixtaW46byxpbmNsdWRlTmFOOml9fSl9KTp0KSksQlMoa3Z0LCgodCx7bWV0cmljOmV9KT0+e2NvbnN0IG49e21ldHJpYzplLG9yZGVyOlV2dC5ERVNDRU5ESU5HfTtyZXR1cm4gdC5zb3J0Lm1ldHJpYz09PWUmJnQuc29ydC5vcmRlcj09PVV2dC5ERVNDRU5ESU5HJiYobi5vcmRlcj1VdnQuQVNDRU5ETkcpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c29ydDpufSl9KSksQlMoU3Z0LCgodCx7YW5ub3RhdGlvbjplfSk9Pntjb25zdCBuPXttZXRyaWM6ZSxvcmRlcjpVdnQuU0lNSUxBUn07cmV0dXJuIHQuc29ydC5tZXRyaWM9PT1lJiZ0LnNvcnQub3JkZXI9PT1VdnQuU0lNSUxBUiYmKG4ub3JkZXI9VXZ0LkRJU1NJTUlMQVIpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c29ydDpufSl9KSksQlMoRHZ0LCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3BjRXhwYW5kZWQ6IXQucGNFeHBhbmRlZH0pKSksQlMoUnZ0LCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2Fubm90YXRpb25zRXhwYW5kZWQ6IXQuYW5ub3RhdGlvbnNFeHBhbmRlZH0pKSksQlMoRXZ0LCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NpZGViYXJFeHBhbmRlZDohdC5zaWRlYmFyRXhwYW5kZWR9KSkpLEJTKEF2dCwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzaG93Q291bnRzOiF0LnNob3dDb3VudHN9KSkpLEJTKFR2dCwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzaG93SGlkZGVuQW5ub3RhdGlvbnM6IXQuc2hvd0hpZGRlbkFubm90YXRpb25zfSkpKSxCUyhOdnQsKCh0LHttZXRyaWM6ZX0pPT57bGV0IG49anZ0LkVNQkVERElOR1Msbz1lO3JldHVybiBlPT09dC5lbWJlZGRpbmdzTWV0cmljJiYobj1qdnQuREVGQVVMVCxvPSIiKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3ZpZXdBY3RpdmU6bixlbWJlZGRpbmdzTWV0cmljOm99KX0pKSxCUyh6dnQsKCh0LHtzaWRlYmFyV2lkdGg6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NpZGViYXJXaWR0aDplfSkpKSxCUyhJdnQsKCh0LHtzaWRlYmFyV2lkdGg6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2VtYmVkZGluZ3NTaWRlYmFyV2lkdGg6ZX0pKSksQlMoSHZ0LCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2VtYmVkZGluZ3NTaWRlYmFyRXhwYW5kZWQ6IXQuZW1iZWRkaW5nc1NpZGViYXJFeHBhbmRlZH0pKSksQlMoRnZ0LCgodCx7ZGF0YVNldDplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZW1iZWRkaW5nRGF0YVNldDplfSkpKSk7ZnVuY3Rpb24gaHh0KHQsZSl7cmV0dXJuIGd4dCh0LGUpfWZ1bmN0aW9uIGJ4dCh0LGUpezEmdCYmdmYoMCwibWF0LWljb24iLDcpfWZ1bmN0aW9uIHl4dCh0LGUpe2lmKDEmdCYmKENmKDAsIm1hdC1vcHRpb24iLDgpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdDtiZigidmFsdWUiLHQpLERjKDEpLHd1KHQpfX1jbGFzcyBfeHR7Y29uc3RydWN0b3IoKXt0aGlzLm9uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZT1uZXcgU3ksdGhpcy5vbkFkZEZpbHRlcj1uZXcgU3l9b25PcHRpb25TZWxlY3RlZCh0LGUpe3RoaXMub25BZGRGaWx0ZXIuZW1pdCh0Lm9wdGlvbi52YWx1ZSksZS52YWx1ZT0iIn19X3h0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxfeHQpfSxfeHQuybVjbXA9c28oe3R5cGU6X3h0LHNlbGVjdG9yczpbWyJtZXRyaWMtc2VhcmNoLWNvbXBvbmVudCJdXSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgidmFsaWQiLG4uaXNSZWdleEZpbHRlclZhbGlkKX0saW5wdXRzOntjb21wbGV0aW9uczoiY29tcGxldGlvbnMiLHJlZ2V4RmlsdGVyVmFsdWU6InJlZ2V4RmlsdGVyVmFsdWUiLGlzUmVnZXhGaWx0ZXJWYWxpZDoiaXNSZWdleEZpbHRlclZhbGlkIn0sb3V0cHV0czp7b25SZWdleEZpbHRlclZhbHVlQ2hhbmdlOiJvblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2UiLG9uQWRkRmlsdGVyOiJvbkFkZEZpbHRlciJ9LGRlY2xzOjcsdmFyczo0LGNvbnN0czpbWyJzdmdJY29uIiwic2VhcmNoXzI0cHgiXSxbIm1hdElucHV0IiwiIiwiYXV0b2NvbXBsZXRlIiwib2ZmIiwicGxhY2Vob2xkZXIiLCJBZGQgTWV0cmljIEZpbHRlciIsMywidmFsdWUiLCJtYXRBdXRvY29tcGxldGUiLCJpbnB1dCJdLFsibWF0SW5wdXQiLCIiXSxbInN2Z0ljb24iLCJlcnJvcl8yNHB4IiwiY2xhc3MiLCJlcnJvci1pY29uIiwibWF0VG9vbHRpcCIsIkludmFsaWQgcmVnZXggZmlsdGVyLiBUaGUgcmVzdWx0IG1heSBiZSBzdGFsZS4iLDQsIm5nSWYiXSxbImF1dG9BY3RpdmVGaXJzdE9wdGlvbiIsIiIsMywib3B0aW9uU2VsZWN0ZWQiXSxbImZpbHRlck1hdGNoZXMiLCJtYXRBdXRvY29tcGxldGUiXSxbMywidmFsdWUiLDQsIm5nRm9yIiwibmdGb3JPZiJdLFsic3ZnSWNvbiIsImVycm9yXzI0cHgiLCJtYXRUb29sdGlwIiwiSW52YWxpZCByZWdleCBmaWx0ZXIuIFRoZSByZXN1bHQgbWF5IGJlIHN0YWxlLiIsMSwiZXJyb3ItaWNvbiJdLFszLCJ2YWx1ZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlKXtjb25zdCB0PXdmKCk7dmYoMCwibWF0LWljb24iLDApLENmKDEsImlucHV0IiwxLDIpLFJmKCJpbnB1dCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25SZWdleEZpbHRlclZhbHVlQ2hhbmdlLmVtaXQoZS50YXJnZXQudmFsdWUpfSkpLE1mKCksSG0oMyxieHQsMSwwLCJtYXQtaWNvbiIsMyksQ2YoNCwibWF0LWF1dG9jb21wbGV0ZSIsNCw1KSxSZigib3B0aW9uU2VsZWN0ZWQiLChmdW5jdGlvbiBlKG8pe1BpKHQpO2NvbnN0IGk9Rm0oMik7cmV0dXJuIG4ub25PcHRpb25TZWxlY3RlZChvLGkpfSkpLEhtKDYseXh0LDIsMiwibWF0LW9wdGlvbiIsNiksTWYoKX1pZigyJmUpe2NvbnN0IHQ9Rm0oNSk7RGMoMSksYmYoInZhbHVlIixuLnJlZ2V4RmlsdGVyVmFsdWUpKCJtYXRBdXRvY29tcGxldGUiLHQpLERjKDIpLGJmKCJuZ0lmIiwhbi5pc1JlZ2V4RmlsdGVyVmFsaWQpLERjKDMpLGJmKCJuZ0Zvck9mIixuLmNvbXBsZXRpb25zKX19LGRpcmVjdGl2ZXM6W01xLEFaLFkzLFB2LEYzLHh2LFBMXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17ZmxleDpub25lO21hcmdpbi1yaWdodDo1cHh9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cGFkZGluZzowIDEwcHg7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOi45ZW19W19uZ2hvc3QtJUNPTVAlXTpub3QoLnZhbGlkKXtjb2xvcjojYzYyODI4fVtfbmdob3N0LSVDT01QJV06bm90KC52YWxpZCkgICBpbnB1dFtfbmdjb250ZW50LSVDT01QJV17Y2FyZXQtY29sb3I6Y3VycmVudENvbG9yfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihfeHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljLXNlYXJjaC1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL21ldHJpY19zZWFyY2hfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vbWV0cmljX3NlYXJjaF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7Y29tcGxldGlvbnM6W3t0eXBlOlJffV0scmVnZXhGaWx0ZXJWYWx1ZTpbe3R5cGU6Ul99XSxpc1JlZ2V4RmlsdGVyVmFsaWQ6W3t0eXBlOkFfLGFyZ3M6WyJjbGFzcy52YWxpZCJdfSx7dHlwZTpSX31dLG9uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZTpbe3R5cGU6RV99XSxvbkFkZEZpbHRlcjpbe3R5cGU6RV99XX0pO2NsYXNzIEN4dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5tZXRyaWNzUmVnZXgkPXRoaXMuc3RvcmUuc2VsZWN0KCR2dCksdGhpcy5hY3RpdmVSdW5zJD10aGlzLnN0b3JlLnBpcGUoclMoX0kpKS5waXBlKFZ0KCh0PT50P0FycmF5LmZyb20odC5lbnRyaWVzKCkpLmZpbHRlcigodD0+dFsxXSkpLm1hcCgodD0+dFswXSkpOltdKSkpLHRoaXMubWV0cmljc0ZvckFjdGl2ZVJ1bnMkPUt0KHRoaXMuYWN0aXZlUnVucyQsdGhpcy5zdG9yZS5zZWxlY3QocXZ0KSkucGlwZShWdCgoKFt0LGVdKT0+e2NvbnN0IG49bmV3IFNldDtmb3IoY29uc3QgbyBvZiB0KWlmKGVbb10pZm9yKGNvbnN0IHQgb2YgZVtvXSluLmFkZCh0KTtyZXR1cm5bLi4ubl19KSkpLHRoaXMuaXNNZXRyaWNzRmlsdGVyVmFsaWQkPXRoaXMubWV0cmljc1JlZ2V4JC5waXBlKFZ0KCh0PT57dHJ5e3JldHVybiBCb29sZWFuKG5ldyBSZWdFeHAodCkpfWNhdGNoKHQpe3JldHVybiExfX0pKSksdGhpcy5tZXRyaWNGaWx0ZXJLZXlzJD10aGlzLnN0b3JlLnBpcGUoclMoZXh0KSkucGlwZShWdCgodD0+T2JqZWN0LmtleXModCkpKSksdGhpcy5jb21wbGV0aW9ucyQ9S3QodGhpcy5tZXRyaWNzRm9yQWN0aXZlUnVucyQsdGhpcy5tZXRyaWNzUmVnZXgkLHRoaXMubWV0cmljRmlsdGVyS2V5cyQpLnBpcGUoVnQoKChbdCxlLG5dKT0+e2NvbnN0IG89dC5maWx0ZXIoKHQ9PiFuLmluY2x1ZGVzKHQpKSk7dHJ5e2NvbnN0IHQ9bmV3IFJlZ0V4cChlLCJpIik7cmV0dXJuIG8uZmlsdGVyKChlPT50LnRlc3QoZSkpKS5zb3J0KCl9Y2F0Y2godCl7cmV0dXJuW119fSkpKX1vbkZpbHRlckNoYW5nZSh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKHh2dCh7cmVnZXg6dH0pKX1vbkFkZEZpbHRlcih0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKE92dCh7bWV0cmljOnR9KSksdGhpcy5zdG9yZS5kaXNwYXRjaCh4dnQoe3JlZ2V4OiIifSkpfX1mdW5jdGlvbiBNeHQodCxlLG4pe2NvbnN0IG89W1tlLC4uLm5dXTtpZighbi5sZW5ndGh8fCF0Lmxlbmd0aCl7cmV0dXJuImRhdGE6dGV4dC9jc3Y7Y2hhcnNldD11dGYtOCwiK28ubWFwKCh0PT50LmpvaW4oIiwiKSkpLmpvaW4oIlxuIil9Y29uc3QgaT1uLm1hcCgodD0+el90KHQpKSk7Zm9yKGNvbnN0W24sYV1vZiB0KXtjb25zdCB0PWEuZmlsdGVyKCh0PT50LnJ1bj09PWUpKTtpZih0Lmxlbmd0aCl7Y29uc3QgZT1bbl07Zm9yKGNvbnN0IG4gb2YgaSl7Y29uc3Qgbz10LmZpbmQoKHQ9PnQubWV0cmljPT09bikpO2UucHVzaCh2b2lkIDA9PT1vPyJudWxsIjpgJHtvLm5QTUlWYWx1ZX1gKX1vLnB1c2goZSl9fXJldHVybiJkYXRhOnRleHQvY3N2O2NoYXJzZXQ9dXRmLTgsIitvLm1hcCgodD0+dC5qb2luKCIsIikpKS5qb2luKCJcbiIpfUN4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Q3h0KShnZihpUykpfSxDeHQuybVjbXA9c28oe3R5cGU6Q3h0LHNlbGVjdG9yczpbWyJucG1pLW1ldHJpYy1zZWFyY2giXV0sZGVjbHM6NCx2YXJzOjksY29uc3RzOltbMywicmVnZXhGaWx0ZXJWYWx1ZSIsImNvbXBsZXRpb25zIiwiaXNSZWdleEZpbHRlclZhbGlkIiwib25SZWdleEZpbHRlclZhbHVlQ2hhbmdlIiwib25BZGRGaWx0ZXIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsIm1ldHJpYy1zZWFyY2gtY29tcG9uZW50IiwwKSxSZigib25SZWdleEZpbHRlclZhbHVlQ2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkZpbHRlckNoYW5nZShlKX0pKSgib25BZGRGaWx0ZXIiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uQWRkRmlsdGVyKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoInJlZ2V4RmlsdGVyVmFsdWUiLEN5KDEsMyxuLm1ldHJpY3NSZWdleCQpKSgiY29tcGxldGlvbnMiLEN5KDIsNSxuLmNvbXBsZXRpb25zJCkpKCJpc1JlZ2V4RmlsdGVyVmFsaWQiLEN5KDMsNyxuLmlzTWV0cmljc0ZpbHRlclZhbGlkJCkpfSxkaXJlY3RpdmVzOltfeHRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihDeHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibnBtaS1tZXRyaWMtc2VhcmNoIix0ZW1wbGF0ZTonXG4gICAgPG1ldHJpYy1zZWFyY2gtY29tcG9uZW50XG4gICAgICBbcmVnZXhGaWx0ZXJWYWx1ZV09Im1ldHJpY3NSZWdleCQgfCBhc3luYyJcbiAgICAgIFtjb21wbGV0aW9uc109ImNvbXBsZXRpb25zJCB8IGFzeW5jIlxuICAgICAgW2lzUmVnZXhGaWx0ZXJWYWxpZF09ImlzTWV0cmljc0ZpbHRlclZhbGlkJCB8IGFzeW5jIlxuICAgICAgKG9uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZSk9Im9uRmlsdGVyQ2hhbmdlKCRldmVudCkiXG4gICAgICAob25BZGRGaWx0ZXIpPSJvbkFkZEZpbHRlcigkZXZlbnQpIlxuICAgID48L21ldHJpYy1zZWFyY2gtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y29uc3Qgdnh0PWZ1bmN0aW9uKHQpe3JldHVybnsiYWN0aXZlLWJ1dHRvbiI6dH19O2NsYXNzIHh4dHtkb3dubG9hZFJlc3VsdHMoKXtmb3IoY29uc3QgdCBvZiB0aGlzLnJ1bnMpe2NvbnN0IGU9TXh0KHRoaXMuZmxhZ2dlZERhdGEsdCx0aGlzLm1ldHJpY3MpLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO24uc2V0QXR0cmlidXRlKCJocmVmIixlKSxuLnNldEF0dHJpYnV0ZSgiZG93bmxvYWQiLGByZXBvcnRfJHt0fS5jc3ZgKSxuLmNsaWNrKCl9fX14eHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHh4dCl9LHh4dC7JtWNtcD1zbyh7dHlwZTp4eHQsc2VsZWN0b3JzOltbInJlc3VsdHMtZG93bmxvYWQtY29tcG9uZW50Il1dLGlucHV0czp7bnVtRmxhZ2dlZEFubm90YXRpb25zOiJudW1GbGFnZ2VkQW5ub3RhdGlvbnMiLHJ1bnM6InJ1bnMiLGZsYWdnZWREYXRhOiJmbGFnZ2VkRGF0YSIsbWV0cmljczoibWV0cmljcyJ9LGRlY2xzOjQsdmFyczo1LGNvbnN0czpbWyJtYXQtc3Ryb2tlZC1idXR0b24iLCIiLCJ0aXRsZSIsIkV4cG9ydCBDU1YgcmVwb3J0cyBvZiBhbGwgZmxhZ2dlZCBhbm5vdGF0aW9ucy4gV2lsbCBnZW5lcmF0ZSBvbmUgQ1NWIHBlciBhY3RpdmUgcnVuLiIsMywiZGlzYWJsZWQiLCJuZ0NsYXNzIiwiY2xpY2siXSxbMSwiYnV0dG9uLWNvbnRlbnRzIl0sWyJzdmdJY29uIiwiZ2V0X2FwcF8yNHB4Il1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJidXR0b24iLDApLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5kb3dubG9hZFJlc3VsdHMoKX0pKSxDZigxLCJzcGFuIiwxKSx2ZigyLCJtYXQtaWNvbiIsMiksUHUoMyksTWYoKSxNZigpKSwyJmUmJihiZigiZGlzYWJsZWQiLDA9PT1uLm51bUZsYWdnZWRBbm5vdGF0aW9ucykoIm5nQ2xhc3MiLGl5KDMsdnh0LG4ubnVtRmxhZ2dlZEFubm90YXRpb25zPjApKSxEYygzKSxrdSgiIEZsYWdnZWQgUm93cyAoIixuLm51bUZsYWdnZWRBbm5vdGF0aW9ucywiKSAiKSl9LGRpcmVjdGl2ZXM6W05MLEN2LE1xXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0uYWN0aXZlLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwO2JvcmRlcjoxcHggc29saWQgI2ViZWJlYjtjb2xvcjojZmZmfS5idXR0b24tY29udGVudHNbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfW1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tcmlnaHQ6NnB4fSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4eHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoicmVzdWx0cy1kb3dubG9hZC1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL3Jlc3VsdHNfZG93bmxvYWRfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vcmVzdWx0c19kb3dubG9hZF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bnVtRmxhZ2dlZEFubm90YXRpb25zOlt7dHlwZTpSX31dLHJ1bnM6W3t0eXBlOlJffV0sZmxhZ2dlZERhdGE6W3t0eXBlOlJffV0sbWV0cmljczpbe3R5cGU6Ul99XX0pO2NsYXNzIE94dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5mbGFnZ2VkQW5ub3RhdGlvbnMkPXRoaXMuc3RvcmUuc2VsZWN0KEt2dCksdGhpcy5udW1GbGFnZ2VkQW5ub3RhdGlvbnMkPXRoaXMuZmxhZ2dlZEFubm90YXRpb25zJC5waXBlKFZ0KCh0PT50Lmxlbmd0aCkpKSx0aGlzLmFjdGl2ZVJ1bnMkPXRoaXMuc3RvcmUuc2VsZWN0KF9JKS5waXBlKFZ0KCh0PT50P0FycmF5LmZyb20odC5lbnRyaWVzKCkpLmZpbHRlcigodD0+dFsxXSkpLm1hcCgodD0+dFswXSkpOltdKSkpLHRoaXMuZmxhZ2dlZERhdGEkPUt0KFt0aGlzLnN0b3JlLnNlbGVjdChZdnQpLHRoaXMuZmxhZ2dlZEFubm90YXRpb25zJF0pLnBpcGUoVnQoKChbdCxlXSk9Pntjb25zdCBuPW5ldyBTZXQoZSk7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHQpLmZpbHRlcigodD0+bi5oYXModFswXSkpKX0pKSksdGhpcy5tZXRyaWNzJD1LdChbdGhpcy5zdG9yZS5zZWxlY3QocXZ0KSx0aGlzLmFjdGl2ZVJ1bnMkLHRoaXMuc3RvcmUuc2VsZWN0KGV4dCldKS5waXBlKFZ0KCgoW3QsZSxuXSk9PntsZXQgbz1PYmplY3Qua2V5cyhuKTtmb3IoY29uc3QgbiBvZiBlKXRbbl0mJihvPW8uY29uY2F0KHRbbl0uZmlsdGVyKCh0PT5OX3QodCkpKSkpO3JldHVybiBvPVsuLi5uZXcgU2V0KG8pXSxvfSkpKX19T3h0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxPeHQpKGdmKGlTKSl9LE94dC7JtWNtcD1zbyh7dHlwZTpPeHQsc2VsZWN0b3JzOltbIm5wbWktcmVzdWx0cy1kb3dubG9hZCJdXSxkZWNsczo1LHZhcnM6MTIsY29uc3RzOltbMywibnVtRmxhZ2dlZEFubm90YXRpb25zIiwicnVucyIsImZsYWdnZWREYXRhIiwibWV0cmljcyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwicmVzdWx0cy1kb3dubG9hZC1jb21wb25lbnQiLDApLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIikpLDImZSYmYmYoIm51bUZsYWdnZWRBbm5vdGF0aW9ucyIsQ3koMSw0LG4ubnVtRmxhZ2dlZEFubm90YXRpb25zJCkpKCJydW5zIixDeSgyLDYsbi5hY3RpdmVSdW5zJCkpKCJmbGFnZ2VkRGF0YSIsQ3koMyw4LG4uZmxhZ2dlZERhdGEkKSkoIm1ldHJpY3MiLEN5KDQsMTAsbi5tZXRyaWNzJCkpfSxkaXJlY3RpdmVzOlt4eHRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPeHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibnBtaS1yZXN1bHRzLWRvd25sb2FkIix0ZW1wbGF0ZTonXG4gICAgPHJlc3VsdHMtZG93bmxvYWQtY29tcG9uZW50XG4gICAgICBbbnVtRmxhZ2dlZEFubm90YXRpb25zXT0ibnVtRmxhZ2dlZEFubm90YXRpb25zJCB8IGFzeW5jIlxuICAgICAgW3J1bnNdPSJhY3RpdmVSdW5zJCB8IGFzeW5jIlxuICAgICAgW2ZsYWdnZWREYXRhXT0iZmxhZ2dlZERhdGEkIHwgYXN5bmMiXG4gICAgICBbbWV0cmljc109Im1ldHJpY3MkIHwgYXN5bmMiXG4gICAgPjwvcmVzdWx0cy1kb3dubG9hZC1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBQeHQ9bmV3IGVyKCJNYXRDaGlwUmVtb3ZlIiksd3h0PW5ldyBlcigiTWF0Q2hpcEF2YXRhciIpLGt4dD1uZXcgZXIoIk1hdENoaXBUcmFpbGluZ0ljb24iKTtjb25zdCBTeHQ9RkYoSUYoSEYoY2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5fZWxlbWVudFJlZj10fX0pLCJwcmltYXJ5IiksLTEpO2NsYXNzIER4dHt9RHh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxEeHQpfSxEeHQuybVkaXI9aG8oe3R5cGU6RHh0LHNlbGVjdG9yczpbWyJtYXQtY2hpcC1hdmF0YXIiXSxbIiIsIm1hdENoaXBBdmF0YXIiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtY2hpcC1hdmF0YXIiXSxmZWF0dXJlczpbamgoW3twcm92aWRlOnd4dCx1c2VFeGlzdGluZzpEeHR9XSldfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihEeHQsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LWNoaXAtYXZhdGFyLCBbbWF0Q2hpcEF2YXRhcl0iLGhvc3Q6e2NsYXNzOiJtYXQtY2hpcC1hdmF0YXIifSxwcm92aWRlcnM6W3twcm92aWRlOnd4dCx1c2VFeGlzdGluZzpEeHR9XX1dfV0sbnVsbCxudWxsKTtjbGFzcyBSeHR7fVJ4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Unh0KX0sUnh0Lsm1ZGlyPWhvKHt0eXBlOlJ4dCxzZWxlY3RvcnM6W1sibWF0LWNoaXAtdHJhaWxpbmctaWNvbiJdLFsiIiwibWF0Q2hpcFRyYWlsaW5nSWNvbiIsIiJdXSxob3N0QXR0cnM6WzEsIm1hdC1jaGlwLXRyYWlsaW5nLWljb24iXSxmZWF0dXJlczpbamgoW3twcm92aWRlOmt4dCx1c2VFeGlzdGluZzpSeHR9XSldfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihSeHQsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LWNoaXAtdHJhaWxpbmctaWNvbiwgW21hdENoaXBUcmFpbGluZ0ljb25dIixob3N0OntjbGFzczoibWF0LWNoaXAtdHJhaWxpbmctaWNvbiJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6a3h0LHVzZUV4aXN0aW5nOlJ4dH1dfV19XSxudWxsLG51bGwpO2NsYXNzIEV4dCBleHRlbmRzIFN4dHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMpe3N1cGVyKHQpLHRoaXMuX25nWm9uZT1lLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPWksdGhpcy5faGFzRm9jdXM9ITEsdGhpcy5jaGlwTGlzdFNlbGVjdGFibGU9ITAsdGhpcy5fY2hpcExpc3RNdWx0aXBsZT0hMSx0aGlzLl9jaGlwTGlzdERpc2FibGVkPSExLHRoaXMuX3NlbGVjdGVkPSExLHRoaXMuX3NlbGVjdGFibGU9ITAsdGhpcy5fZGlzYWJsZWQ9ITEsdGhpcy5fcmVtb3ZhYmxlPSEwLHRoaXMuX29uRm9jdXM9bmV3IEIsdGhpcy5fb25CbHVyPW5ldyBCLHRoaXMuc2VsZWN0aW9uQ2hhbmdlPW5ldyBTeSx0aGlzLmRlc3Ryb3llZD1uZXcgU3ksdGhpcy5yZW1vdmVkPW5ldyBTeSx0aGlzLl9hZGRIb3N0Q2xhc3NOYW1lKCksdGhpcy5fY2hpcFJpcHBsZVRhcmdldD1hLmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2NoaXBSaXBwbGVUYXJnZXQuY2xhc3NMaXN0LmFkZCgibWF0LWNoaXAtcmlwcGxlIiksdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2NoaXBSaXBwbGVUYXJnZXQpLHRoaXMuX2NoaXBSaXBwbGU9bmV3IGRMKHRoaXMsZSx0aGlzLl9jaGlwUmlwcGxlVGFyZ2V0LG4pLHRoaXMuX2NoaXBSaXBwbGUuc2V0dXBUcmlnZ2VyRXZlbnRzKHQpLHRoaXMucmlwcGxlQ29uZmlnPW98fHt9LHRoaXMuX2FuaW1hdGlvbnNEaXNhYmxlZD0iTm9vcEFuaW1hdGlvbnMiPT09cix0aGlzLnRhYkluZGV4PW51bGwhPXMmJnBhcnNlSW50KHMpfHwtMX1nZXQgcmlwcGxlRGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5kaXNhYmxlZHx8dGhpcy5kaXNhYmxlUmlwcGxlfHx0aGlzLl9hbmltYXRpb25zRGlzYWJsZWR8fCEhdGhpcy5yaXBwbGVDb25maWcuZGlzYWJsZWR9Z2V0IHNlbGVjdGVkKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGVkfXNldCBzZWxlY3RlZCh0KXtjb25zdCBlPWVIKHQpO2UhPT10aGlzLl9zZWxlY3RlZCYmKHRoaXMuX3NlbGVjdGVkPWUsdGhpcy5fZGlzcGF0Y2hTZWxlY3Rpb25DaGFuZ2UoKSl9Z2V0IHZhbHVlKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhbHVlP3RoaXMuX3ZhbHVlOnRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudH1zZXQgdmFsdWUodCl7dGhpcy5fdmFsdWU9dH1nZXQgc2VsZWN0YWJsZSgpe3JldHVybiB0aGlzLl9zZWxlY3RhYmxlJiZ0aGlzLmNoaXBMaXN0U2VsZWN0YWJsZX1zZXQgc2VsZWN0YWJsZSh0KXt0aGlzLl9zZWxlY3RhYmxlPWVIKHQpfWdldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLl9jaGlwTGlzdERpc2FibGVkfHx0aGlzLl9kaXNhYmxlZH1zZXQgZGlzYWJsZWQodCl7dGhpcy5fZGlzYWJsZWQ9ZUgodCl9Z2V0IHJlbW92YWJsZSgpe3JldHVybiB0aGlzLl9yZW1vdmFibGV9c2V0IHJlbW92YWJsZSh0KXt0aGlzLl9yZW1vdmFibGU9ZUgodCl9Z2V0IGFyaWFTZWxlY3RlZCgpe3JldHVybiB0aGlzLnNlbGVjdGFibGUmJih0aGlzLl9jaGlwTGlzdE11bHRpcGxlfHx0aGlzLnNlbGVjdGVkKT90aGlzLnNlbGVjdGVkLnRvU3RyaW5nKCk6bnVsbH1fYWRkSG9zdENsYXNzTmFtZSgpe2NvbnN0IHQ9Im1hdC1iYXNpYy1jaGlwIixlPXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtlLmhhc0F0dHJpYnV0ZSh0KXx8ZS50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT10P2UuY2xhc3NMaXN0LmFkZCh0KTplLmNsYXNzTGlzdC5hZGQoIm1hdC1zdGFuZGFyZC1jaGlwIil9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3llZC5lbWl0KHtjaGlwOnRoaXN9KSx0aGlzLl9jaGlwUmlwcGxlLl9yZW1vdmVUcmlnZ2VyRXZlbnRzKCl9c2VsZWN0KCl7dGhpcy5fc2VsZWN0ZWR8fCh0aGlzLl9zZWxlY3RlZD0hMCx0aGlzLl9kaXNwYXRjaFNlbGVjdGlvbkNoYW5nZSgpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKX1kZXNlbGVjdCgpe3RoaXMuX3NlbGVjdGVkJiYodGhpcy5fc2VsZWN0ZWQ9ITEsdGhpcy5fZGlzcGF0Y2hTZWxlY3Rpb25DaGFuZ2UoKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSl9c2VsZWN0VmlhSW50ZXJhY3Rpb24oKXt0aGlzLl9zZWxlY3RlZHx8KHRoaXMuX3NlbGVjdGVkPSEwLHRoaXMuX2Rpc3BhdGNoU2VsZWN0aW9uQ2hhbmdlKCEwKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSl9dG9nZ2xlU2VsZWN0ZWQodD0hMSl7cmV0dXJuIHRoaXMuX3NlbGVjdGVkPSF0aGlzLnNlbGVjdGVkLHRoaXMuX2Rpc3BhdGNoU2VsZWN0aW9uQ2hhbmdlKHQpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpLHRoaXMuc2VsZWN0ZWR9Zm9jdXMoKXt0aGlzLl9oYXNGb2N1c3x8KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpLHRoaXMuX29uRm9jdXMubmV4dCh7Y2hpcDp0aGlzfSkpLHRoaXMuX2hhc0ZvY3VzPSEwfXJlbW92ZSgpe3RoaXMucmVtb3ZhYmxlJiZ0aGlzLnJlbW92ZWQuZW1pdCh7Y2hpcDp0aGlzfSl9X2hhbmRsZUNsaWNrKHQpe3RoaXMuZGlzYWJsZWQ/dC5wcmV2ZW50RGVmYXVsdCgpOnQuc3RvcFByb3BhZ2F0aW9uKCl9X2hhbmRsZUtleWRvd24odCl7aWYoIXRoaXMuZGlzYWJsZWQpc3dpdGNoKHQua2V5Q29kZSl7Y2FzZSA0NjpjYXNlIDg6dGhpcy5yZW1vdmUoKSx0LnByZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSBKSTp0aGlzLnNlbGVjdGFibGUmJnRoaXMudG9nZ2xlU2VsZWN0ZWQoITApLHQucHJldmVudERlZmF1bHQoKX19X2JsdXIoKXt0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX25nWm9uZS5ydW4oKCgpPT57dGhpcy5faGFzRm9jdXM9ITEsdGhpcy5fb25CbHVyLm5leHQoe2NoaXA6dGhpc30pfSkpfSkpfV9kaXNwYXRjaFNlbGVjdGlvbkNoYW5nZSh0PSExKXt0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHtzb3VyY2U6dGhpcyxpc1VzZXJJbnB1dDp0LHNlbGVjdGVkOnRoaXMuX3NlbGVjdGVkfSl9fUV4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RXh0KShnZihLaCksZ2YobUMpLGdmKGNIKSxnZihwTCw4KSxnZihPYiksZ2Yoc00pLGdmKGNrLDgpLEdhKCJ0YWJpbmRleCIpKX0sRXh0Lsm1ZGlyPWhvKHt0eXBlOkV4dCxzZWxlY3RvcnM6W1sibWF0LWJhc2ljLWNoaXAiXSxbIiIsIm1hdC1iYXNpYy1jaGlwIiwiIl0sWyJtYXQtY2hpcCJdLFsiIiwibWF0LWNoaXAiLCIiXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24gdChlLG4sbyl7aWYoMSZlJiYoankobyx3eHQsNSksankobyxreHQsNSksankobyxQeHQsNSkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uYXZhdGFyPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLnRyYWlsaW5nSWNvbj10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5yZW1vdmVJY29uPXQuZmlyc3QpfX0saG9zdEF0dHJzOlsicm9sZSIsIm9wdGlvbiIsMSwibWF0LWNoaXAiLCJtYXQtZm9jdXMtaW5kaWNhdG9yIl0saG9zdFZhcnM6MTQsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJjbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2hhbmRsZUNsaWNrKGUpfSkpKCJrZXlkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlS2V5ZG93bihlKX0pKSgiZm9jdXMiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uZm9jdXMoKX0pKSgiYmx1ciIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fYmx1cigpfSkpLDImZSYmKHltKCJ0YWJpbmRleCIsbi5kaXNhYmxlZD9udWxsOm4udGFiSW5kZXgpKCJkaXNhYmxlZCIsbi5kaXNhYmxlZHx8bnVsbCkoImFyaWEtZGlzYWJsZWQiLG4uZGlzYWJsZWQudG9TdHJpbmcoKSkoImFyaWEtc2VsZWN0ZWQiLG4uYXJpYVNlbGVjdGVkKSxjdSgibWF0LWNoaXAtc2VsZWN0ZWQiLG4uc2VsZWN0ZWQpKCJtYXQtY2hpcC13aXRoLWF2YXRhciIsbi5hdmF0YXIpKCJtYXQtY2hpcC13aXRoLXRyYWlsaW5nLWljb24iLG4udHJhaWxpbmdJY29ufHxuLnJlbW92ZUljb24pKCJtYXQtY2hpcC1kaXNhYmxlZCIsbi5kaXNhYmxlZCkoIl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIixuLl9hbmltYXRpb25zRGlzYWJsZWQpKX0saW5wdXRzOntjb2xvcjoiY29sb3IiLGRpc2FibGVSaXBwbGU6ImRpc2FibGVSaXBwbGUiLHRhYkluZGV4OiJ0YWJJbmRleCIsc2VsZWN0ZWQ6InNlbGVjdGVkIix2YWx1ZToidmFsdWUiLHNlbGVjdGFibGU6InNlbGVjdGFibGUiLGRpc2FibGVkOiJkaXNhYmxlZCIscmVtb3ZhYmxlOiJyZW1vdmFibGUifSxvdXRwdXRzOntzZWxlY3Rpb25DaGFuZ2U6InNlbGVjdGlvbkNoYW5nZSIsZGVzdHJveWVkOiJkZXN0cm95ZWQiLHJlbW92ZWQ6InJlbW92ZWQifSxleHBvcnRBczpbIm1hdENoaXAiXSxmZWF0dXJlczpbUXBdfSksRXh0LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltwTF19XX0se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJ0YWJpbmRleCJdfV19XSxFeHQucHJvcERlY29yYXRvcnM9e2F2YXRhcjpbe3R5cGU6aXIsYXJnczpbd3h0XX1dLHRyYWlsaW5nSWNvbjpbe3R5cGU6aXIsYXJnczpba3h0XX1dLHJlbW92ZUljb246W3t0eXBlOmlyLGFyZ3M6W1B4dF19XSxzZWxlY3RlZDpbe3R5cGU6Ul99XSx2YWx1ZTpbe3R5cGU6Ul99XSxzZWxlY3RhYmxlOlt7dHlwZTpSX31dLGRpc2FibGVkOlt7dHlwZTpSX31dLHJlbW92YWJsZTpbe3R5cGU6Ul99XSxzZWxlY3Rpb25DaGFuZ2U6W3t0eXBlOkVffV0sZGVzdHJveWVkOlt7dHlwZTpFX31dLHJlbW92ZWQ6W3t0eXBlOkVffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRXh0LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1iYXNpYy1jaGlwLCBbbWF0LWJhc2ljLWNoaXBdLCBtYXQtY2hpcCwgW21hdC1jaGlwXSIsaW5wdXRzOlsiY29sb3IiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiXSxleHBvcnRBczoibWF0Q2hpcCIsaG9zdDp7Y2xhc3M6Im1hdC1jaGlwIG1hdC1mb2N1cy1pbmRpY2F0b3IiLCJbYXR0ci50YWJpbmRleF0iOiJkaXNhYmxlZCA/IG51bGwgOiB0YWJJbmRleCIscm9sZToib3B0aW9uIiwiW2NsYXNzLm1hdC1jaGlwLXNlbGVjdGVkXSI6InNlbGVjdGVkIiwiW2NsYXNzLm1hdC1jaGlwLXdpdGgtYXZhdGFyXSI6ImF2YXRhciIsIltjbGFzcy5tYXQtY2hpcC13aXRoLXRyYWlsaW5nLWljb25dIjoidHJhaWxpbmdJY29uIHx8IHJlbW92ZUljb24iLCJbY2xhc3MubWF0LWNoaXAtZGlzYWJsZWRdIjoiZGlzYWJsZWQiLCJbY2xhc3MuX21hdC1hbmltYXRpb24tbm9vcGFibGVdIjoiX2FuaW1hdGlvbnNEaXNhYmxlZCIsIlthdHRyLmRpc2FibGVkXSI6ImRpc2FibGVkIHx8IG51bGwiLCJbYXR0ci5hcmlhLWRpc2FibGVkXSI6ImRpc2FibGVkLnRvU3RyaW5nKCkiLCJbYXR0ci5hcmlhLXNlbGVjdGVkXSI6ImFyaWFTZWxlY3RlZCIsIihjbGljaykiOiJfaGFuZGxlQ2xpY2soJGV2ZW50KSIsIihrZXlkb3duKSI6Il9oYW5kbGVLZXlkb3duKCRldmVudCkiLCIoZm9jdXMpIjoiZm9jdXMoKSIsIihibHVyKSI6Il9ibHVyKCkifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbcExdfV19LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsidGFiaW5kZXgiXX1dfV19KSx7c2VsZWN0aW9uQ2hhbmdlOlt7dHlwZTpFX31dLGRlc3Ryb3llZDpbe3R5cGU6RV99XSxyZW1vdmVkOlt7dHlwZTpFX31dLHNlbGVjdGVkOlt7dHlwZTpSX31dLHZhbHVlOlt7dHlwZTpSX31dLHNlbGVjdGFibGU6W3t0eXBlOlJffV0sZGlzYWJsZWQ6W3t0eXBlOlJffV0scmVtb3ZhYmxlOlt7dHlwZTpSX31dLGF2YXRhcjpbe3R5cGU6aXIsYXJnczpbd3h0XX1dLHRyYWlsaW5nSWNvbjpbe3R5cGU6aXIsYXJnczpba3h0XX1dLHJlbW92ZUljb246W3t0eXBlOmlyLGFyZ3M6W1B4dF19XX0pO2NsYXNzIEF4dHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX3BhcmVudENoaXA9dCwiQlVUVE9OIj09PWUubmF0aXZlRWxlbWVudC5ub2RlTmFtZSYmZS5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgidHlwZSIsImJ1dHRvbiIpfV9oYW5kbGVDbGljayh0KXtjb25zdCBlPXRoaXMuX3BhcmVudENoaXA7ZS5yZW1vdmFibGUmJiFlLmRpc2FibGVkJiZlLnJlbW92ZSgpLHQuc3RvcFByb3BhZ2F0aW9uKCl9fUF4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QXh0KShnZihFeHQpLGdmKEtoKSl9LEF4dC7JtWRpcj1obyh7dHlwZTpBeHQsc2VsZWN0b3JzOltbIiIsIm1hdENoaXBSZW1vdmUiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtY2hpcC1yZW1vdmUiLCJtYXQtY2hpcC10cmFpbGluZy1pY29uIl0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJjbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2hhbmRsZUNsaWNrKGUpfSkpfSxmZWF0dXJlczpbamgoW3twcm92aWRlOlB4dCx1c2VFeGlzdGluZzpBeHR9XSldfSksQXh0LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RXh0fSx7dHlwZTpLaH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQXh0LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXRDaGlwUmVtb3ZlXSIsaG9zdDp7Y2xhc3M6Im1hdC1jaGlwLXJlbW92ZSBtYXQtY2hpcC10cmFpbGluZy1pY29uIiwiKGNsaWNrKSI6Il9oYW5kbGVDbGljaygkZXZlbnQpIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpQeHQsdXNlRXhpc3Rpbmc6QXh0fV19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpFeHR9LHt0eXBlOktofV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFR4dD1uZXcgZXIoIm1hdC1jaGlwcy1kZWZhdWx0LW9wdGlvbnMiKSxOeHQ9TEYoY2xhc3N7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5fZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyPXQsdGhpcy5fcGFyZW50Rm9ybT1lLHRoaXMuX3BhcmVudEZvcm1Hcm91cD1uLHRoaXMubmdDb250cm9sPW99fSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2xldCB6eHQ9MDtjbGFzcyBJeHR7Y29uc3RydWN0b3IodCxlKXt0aGlzLnNvdXJjZT10LHRoaXMudmFsdWU9ZX19Y2xhc3MgSHh0IGV4dGVuZHMgTnh0e2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIpe3N1cGVyKGEsbyxpLHIpLHRoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj1lLHRoaXMuX2Rpcj1uLHRoaXMuY29udHJvbFR5cGU9Im1hdC1jaGlwLWxpc3QiLHRoaXMuX2xhc3REZXN0cm95ZWRDaGlwSW5kZXg9bnVsbCx0aGlzLl9kZXN0cm95ZWQ9bmV3IEIsdGhpcy5fdWlkPSJtYXQtY2hpcC1saXN0LSIrenh0KyssdGhpcy5fdGFiSW5kZXg9MCx0aGlzLl91c2VyVGFiSW5kZXg9bnVsbCx0aGlzLl9vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuX29uQ2hhbmdlPSgpPT57fSx0aGlzLl9tdWx0aXBsZT0hMSx0aGlzLl9jb21wYXJlV2l0aD0odCxlKT0+dD09PWUsdGhpcy5fcmVxdWlyZWQ9ITEsdGhpcy5fZGlzYWJsZWQ9ITEsdGhpcy5hcmlhT3JpZW50YXRpb249Imhvcml6b250YWwiLHRoaXMuX3NlbGVjdGFibGU9ITAsdGhpcy5jaGFuZ2U9bmV3IFN5LHRoaXMudmFsdWVDaGFuZ2U9bmV3IFN5LHRoaXMubmdDb250cm9sJiYodGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3Nvcj10aGlzKX1nZXQgc2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy5tdWx0aXBsZT90aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZDp0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZFswXX1nZXQgcm9sZSgpe3JldHVybiB0aGlzLmVtcHR5P251bGw6Imxpc3Rib3gifWdldCBtdWx0aXBsZSgpe3JldHVybiB0aGlzLl9tdWx0aXBsZX1zZXQgbXVsdGlwbGUodCl7dGhpcy5fbXVsdGlwbGU9ZUgodCksdGhpcy5fc3luY0NoaXBzU3RhdGUoKX1nZXQgY29tcGFyZVdpdGgoKXtyZXR1cm4gdGhpcy5fY29tcGFyZVdpdGh9c2V0IGNvbXBhcmVXaXRoKHQpe3RoaXMuX2NvbXBhcmVXaXRoPXQsdGhpcy5fc2VsZWN0aW9uTW9kZWwmJnRoaXMuX2luaXRpYWxpemVTZWxlY3Rpb24oKX1nZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9c2V0IHZhbHVlKHQpe3RoaXMud3JpdGVWYWx1ZSh0KSx0aGlzLl92YWx1ZT10fWdldCBpZCgpe3JldHVybiB0aGlzLl9jaGlwSW5wdXQ/dGhpcy5fY2hpcElucHV0LmlkOnRoaXMuX3VpZH1nZXQgcmVxdWlyZWQoKXtyZXR1cm4gdGhpcy5fcmVxdWlyZWR9c2V0IHJlcXVpcmVkKHQpe3RoaXMuX3JlcXVpcmVkPWVIKHQpLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKX1nZXQgcGxhY2Vob2xkZXIoKXtyZXR1cm4gdGhpcy5fY2hpcElucHV0P3RoaXMuX2NoaXBJbnB1dC5wbGFjZWhvbGRlcjp0aGlzLl9wbGFjZWhvbGRlcn1zZXQgcGxhY2Vob2xkZXIodCl7dGhpcy5fcGxhY2Vob2xkZXI9dCx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9Z2V0IGZvY3VzZWQoKXtyZXR1cm4gdGhpcy5fY2hpcElucHV0JiZ0aGlzLl9jaGlwSW5wdXQuZm9jdXNlZHx8dGhpcy5faGFzRm9jdXNlZENoaXAoKX1nZXQgZW1wdHkoKXtyZXR1cm4oIXRoaXMuX2NoaXBJbnB1dHx8dGhpcy5fY2hpcElucHV0LmVtcHR5KSYmKCF0aGlzLmNoaXBzfHwwPT09dGhpcy5jaGlwcy5sZW5ndGgpfWdldCBzaG91bGRMYWJlbEZsb2F0KCl7cmV0dXJuIXRoaXMuZW1wdHl8fHRoaXMuZm9jdXNlZH1nZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5uZ0NvbnRyb2w/ISF0aGlzLm5nQ29udHJvbC5kaXNhYmxlZDp0aGlzLl9kaXNhYmxlZH1zZXQgZGlzYWJsZWQodCl7dGhpcy5fZGlzYWJsZWQ9ZUgodCksdGhpcy5fc3luY0NoaXBzU3RhdGUoKX1nZXQgc2VsZWN0YWJsZSgpe3JldHVybiB0aGlzLl9zZWxlY3RhYmxlfXNldCBzZWxlY3RhYmxlKHQpe3RoaXMuX3NlbGVjdGFibGU9ZUgodCksdGhpcy5jaGlwcyYmdGhpcy5jaGlwcy5mb3JFYWNoKCh0PT50LmNoaXBMaXN0U2VsZWN0YWJsZT10aGlzLl9zZWxlY3RhYmxlKSl9c2V0IHRhYkluZGV4KHQpe3RoaXMuX3VzZXJUYWJJbmRleD10LHRoaXMuX3RhYkluZGV4PXR9Z2V0IGNoaXBTZWxlY3Rpb25DaGFuZ2VzKCl7cmV0dXJuIHBlKC4uLnRoaXMuY2hpcHMubWFwKCh0PT50LnNlbGVjdGlvbkNoYW5nZSkpKX1nZXQgY2hpcEZvY3VzQ2hhbmdlcygpe3JldHVybiBwZSguLi50aGlzLmNoaXBzLm1hcCgodD0+dC5fb25Gb2N1cykpKX1nZXQgY2hpcEJsdXJDaGFuZ2VzKCl7cmV0dXJuIHBlKC4uLnRoaXMuY2hpcHMubWFwKCh0PT50Ll9vbkJsdXIpKSl9Z2V0IGNoaXBSZW1vdmVDaGFuZ2VzKCl7cmV0dXJuIHBlKC4uLnRoaXMuY2hpcHMubWFwKCh0PT50LmRlc3Ryb3llZCkpKX1uZ0FmdGVyQ29udGVudEluaXQoKXt0aGlzLl9rZXlNYW5hZ2VyPW5ldyBMSCh0aGlzLmNoaXBzKS53aXRoV3JhcCgpLndpdGhWZXJ0aWNhbE9yaWVudGF0aW9uKCkud2l0aEhvbWVBbmRFbmQoKS53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2Rpcj90aGlzLl9kaXIudmFsdWU6Imx0ciIpLHRoaXMuX2RpciYmdGhpcy5fZGlyLmNoYW5nZS5waXBlKGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgodD0+dGhpcy5fa2V5TWFuYWdlci53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHQpKSksdGhpcy5fa2V5TWFuYWdlci50YWJPdXQucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fYWxsb3dGb2N1c0VzY2FwZSgpfSkpLHRoaXMuY2hpcHMuY2hhbmdlcy5waXBlKEJlKG51bGwpLGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmRpc2FibGVkJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX3N5bmNDaGlwc1N0YXRlKCl9KSksdGhpcy5fcmVzZXRDaGlwcygpLHRoaXMuX2luaXRpYWxpemVTZWxlY3Rpb24oKSx0aGlzLl91cGRhdGVUYWJJbmRleCgpLHRoaXMuX3VwZGF0ZUZvY3VzRm9yRGVzdHJveWVkQ2hpcHMoKSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9KSl9bmdPbkluaXQoKXt0aGlzLl9zZWxlY3Rpb25Nb2RlbD1uZXcgakwodGhpcy5tdWx0aXBsZSx2b2lkIDAsITEpLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKX1uZ0RvQ2hlY2soKXt0aGlzLm5nQ29udHJvbCYmKHRoaXMudXBkYXRlRXJyb3JTdGF0ZSgpLHRoaXMubmdDb250cm9sLmRpc2FibGVkIT09dGhpcy5fZGlzYWJsZWQmJih0aGlzLmRpc2FibGVkPSEhdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQpKX1uZ09uRGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3llZC5uZXh0KCksdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCksdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKSx0aGlzLl9kcm9wU3Vic2NyaXB0aW9ucygpfXJlZ2lzdGVySW5wdXQodCl7dGhpcy5fY2hpcElucHV0PXQsdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgiZGF0YS1tYXQtY2hpcC1pbnB1dCIsdC5pZCl9c2V0RGVzY3JpYmVkQnlJZHModCl7dGhpcy5fYXJpYURlc2NyaWJlZGJ5PXQuam9pbigiICIpfXdyaXRlVmFsdWUodCl7dGhpcy5jaGlwcyYmdGhpcy5fc2V0U2VsZWN0aW9uQnlWYWx1ZSh0LCExKX1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMuX29uQ2hhbmdlPXR9cmVnaXN0ZXJPblRvdWNoZWQodCl7dGhpcy5fb25Ub3VjaGVkPXR9c2V0RGlzYWJsZWRTdGF0ZSh0KXt0aGlzLmRpc2FibGVkPXQsdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpfW9uQ29udGFpbmVyQ2xpY2sodCl7dGhpcy5fb3JpZ2luYXRlc0Zyb21DaGlwKHQpfHx0aGlzLmZvY3VzKCl9Zm9jdXModCl7dGhpcy5kaXNhYmxlZHx8dGhpcy5fY2hpcElucHV0JiZ0aGlzLl9jaGlwSW5wdXQuZm9jdXNlZHx8KHRoaXMuY2hpcHMubGVuZ3RoPjA/KHRoaXMuX2tleU1hbmFnZXIuc2V0Rmlyc3RJdGVtQWN0aXZlKCksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpKToodGhpcy5fZm9jdXNJbnB1dCh0KSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCkpKX1fZm9jdXNJbnB1dCh0KXt0aGlzLl9jaGlwSW5wdXQmJnRoaXMuX2NoaXBJbnB1dC5mb2N1cyh0KX1fa2V5ZG93bih0KXtjb25zdCBlPXQudGFyZ2V0O2UmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJtYXQtY2hpcCIpJiYodGhpcy5fa2V5TWFuYWdlci5vbktleWRvd24odCksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpKX1fdXBkYXRlVGFiSW5kZXgoKXt0aGlzLl90YWJJbmRleD10aGlzLl91c2VyVGFiSW5kZXh8fCgwPT09dGhpcy5jaGlwcy5sZW5ndGg/LTE6MCl9X3VwZGF0ZUZvY3VzRm9yRGVzdHJveWVkQ2hpcHMoKXtpZihudWxsIT10aGlzLl9sYXN0RGVzdHJveWVkQ2hpcEluZGV4KWlmKHRoaXMuY2hpcHMubGVuZ3RoKXtjb25zdCB0PU1hdGgubWluKHRoaXMuX2xhc3REZXN0cm95ZWRDaGlwSW5kZXgsdGhpcy5jaGlwcy5sZW5ndGgtMSk7dGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHQpfWVsc2UgdGhpcy5mb2N1cygpO3RoaXMuX2xhc3REZXN0cm95ZWRDaGlwSW5kZXg9bnVsbH1faXNWYWxpZEluZGV4KHQpe3JldHVybiB0Pj0wJiZ0PHRoaXMuY2hpcHMubGVuZ3RofV9zZXRTZWxlY3Rpb25CeVZhbHVlKHQsZT0hMCl7aWYodGhpcy5fY2xlYXJTZWxlY3Rpb24oKSx0aGlzLmNoaXBzLmZvckVhY2goKHQ9PnQuZGVzZWxlY3QoKSkpLEFycmF5LmlzQXJyYXkodCkpdC5mb3JFYWNoKCh0PT50aGlzLl9zZWxlY3RWYWx1ZSh0LGUpKSksdGhpcy5fc29ydFZhbHVlcygpO2Vsc2V7Y29uc3Qgbj10aGlzLl9zZWxlY3RWYWx1ZSh0LGUpO24mJmUmJnRoaXMuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbShuKX19X3NlbGVjdFZhbHVlKHQsZT0hMCl7Y29uc3Qgbj10aGlzLmNoaXBzLmZpbmQoKGU9Pm51bGwhPWUudmFsdWUmJnRoaXMuX2NvbXBhcmVXaXRoKGUudmFsdWUsdCkpKTtyZXR1cm4gbiYmKGU/bi5zZWxlY3RWaWFJbnRlcmFjdGlvbigpOm4uc2VsZWN0KCksdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KG4pKSxufV9pbml0aWFsaXplU2VsZWN0aW9uKCl7UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PnsodGhpcy5uZ0NvbnRyb2x8fHRoaXMuX3ZhbHVlKSYmKHRoaXMuX3NldFNlbGVjdGlvbkJ5VmFsdWUodGhpcy5uZ0NvbnRyb2w/dGhpcy5uZ0NvbnRyb2wudmFsdWU6dGhpcy5fdmFsdWUsITEpLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKSl9KSl9X2NsZWFyU2VsZWN0aW9uKHQpe3RoaXMuX3NlbGVjdGlvbk1vZGVsLmNsZWFyKCksdGhpcy5jaGlwcy5mb3JFYWNoKChlPT57ZSE9PXQmJmUuZGVzZWxlY3QoKX0pKSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9X3NvcnRWYWx1ZXMoKXt0aGlzLl9tdWx0aXBsZSYmKHRoaXMuX3NlbGVjdGlvbk1vZGVsLmNsZWFyKCksdGhpcy5jaGlwcy5mb3JFYWNoKCh0PT57dC5zZWxlY3RlZCYmdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KHQpfSkpLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKSl9X3Byb3BhZ2F0ZUNoYW5nZXModCl7bGV0IGU9bnVsbDtlPUFycmF5LmlzQXJyYXkodGhpcy5zZWxlY3RlZCk/dGhpcy5zZWxlY3RlZC5tYXAoKHQ9PnQudmFsdWUpKTp0aGlzLnNlbGVjdGVkP3RoaXMuc2VsZWN0ZWQudmFsdWU6dCx0aGlzLl92YWx1ZT1lLHRoaXMuY2hhbmdlLmVtaXQobmV3IEl4dCh0aGlzLGUpKSx0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZSksdGhpcy5fb25DaGFuZ2UoZSksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9X2JsdXIoKXt0aGlzLl9oYXNGb2N1c2VkQ2hpcCgpfHx0aGlzLl9rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oLTEpLHRoaXMuZGlzYWJsZWR8fCh0aGlzLl9jaGlwSW5wdXQ/c2V0VGltZW91dCgoKCk9Pnt0aGlzLmZvY3VzZWR8fHRoaXMuX21hcmtBc1RvdWNoZWQoKX0pKTp0aGlzLl9tYXJrQXNUb3VjaGVkKCkpfV9tYXJrQXNUb3VjaGVkKCl7dGhpcy5fb25Ub3VjaGVkKCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpfV9hbGxvd0ZvY3VzRXNjYXBlKCl7LTEhPT10aGlzLl90YWJJbmRleCYmKHRoaXMuX3RhYkluZGV4PS0xLHNldFRpbWVvdXQoKCgpPT57dGhpcy5fdGFiSW5kZXg9dGhpcy5fdXNlclRhYkluZGV4fHwwLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfSkpKX1fcmVzZXRDaGlwcygpe3RoaXMuX2Ryb3BTdWJzY3JpcHRpb25zKCksdGhpcy5fbGlzdGVuVG9DaGlwc0ZvY3VzKCksdGhpcy5fbGlzdGVuVG9DaGlwc1NlbGVjdGlvbigpLHRoaXMuX2xpc3RlblRvQ2hpcHNSZW1vdmVkKCl9X2Ryb3BTdWJzY3JpcHRpb25zKCl7dGhpcy5fY2hpcEZvY3VzU3Vic2NyaXB0aW9uJiYodGhpcy5fY2hpcEZvY3VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fY2hpcEZvY3VzU3Vic2NyaXB0aW9uPW51bGwpLHRoaXMuX2NoaXBCbHVyU3Vic2NyaXB0aW9uJiYodGhpcy5fY2hpcEJsdXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9jaGlwQmx1clN1YnNjcmlwdGlvbj1udWxsKSx0aGlzLl9jaGlwU2VsZWN0aW9uU3Vic2NyaXB0aW9uJiYodGhpcy5fY2hpcFNlbGVjdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuX2NoaXBTZWxlY3Rpb25TdWJzY3JpcHRpb249bnVsbCksdGhpcy5fY2hpcFJlbW92ZVN1YnNjcmlwdGlvbiYmKHRoaXMuX2NoaXBSZW1vdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9jaGlwUmVtb3ZlU3Vic2NyaXB0aW9uPW51bGwpfV9saXN0ZW5Ub0NoaXBzU2VsZWN0aW9uKCl7dGhpcy5fY2hpcFNlbGVjdGlvblN1YnNjcmlwdGlvbj10aGlzLmNoaXBTZWxlY3Rpb25DaGFuZ2VzLnN1YnNjcmliZSgodD0+e3Quc291cmNlLnNlbGVjdGVkP3RoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdCh0LnNvdXJjZSk6dGhpcy5fc2VsZWN0aW9uTW9kZWwuZGVzZWxlY3QodC5zb3VyY2UpLHRoaXMubXVsdGlwbGV8fHRoaXMuY2hpcHMuZm9yRWFjaCgodD0+eyF0aGlzLl9zZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKHQpJiZ0LnNlbGVjdGVkJiZ0LmRlc2VsZWN0KCl9KSksdC5pc1VzZXJJbnB1dCYmdGhpcy5fcHJvcGFnYXRlQ2hhbmdlcygpfSkpfV9saXN0ZW5Ub0NoaXBzRm9jdXMoKXt0aGlzLl9jaGlwRm9jdXNTdWJzY3JpcHRpb249dGhpcy5jaGlwRm9jdXNDaGFuZ2VzLnN1YnNjcmliZSgodD0+e2xldCBlPXRoaXMuY2hpcHMudG9BcnJheSgpLmluZGV4T2YodC5jaGlwKTt0aGlzLl9pc1ZhbGlkSW5kZXgoZSkmJnRoaXMuX2tleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShlKSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9KSksdGhpcy5fY2hpcEJsdXJTdWJzY3JpcHRpb249dGhpcy5jaGlwQmx1ckNoYW5nZXMuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2JsdXIoKSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9KSl9X2xpc3RlblRvQ2hpcHNSZW1vdmVkKCl7dGhpcy5fY2hpcFJlbW92ZVN1YnNjcmlwdGlvbj10aGlzLmNoaXBSZW1vdmVDaGFuZ2VzLnN1YnNjcmliZSgodD0+e2NvbnN0IGU9dC5jaGlwLG49dGhpcy5jaGlwcy50b0FycmF5KCkuaW5kZXhPZih0LmNoaXApO3RoaXMuX2lzVmFsaWRJbmRleChuKSYmZS5faGFzRm9jdXMmJih0aGlzLl9sYXN0RGVzdHJveWVkQ2hpcEluZGV4PW4pfSkpfV9vcmlnaW5hdGVzRnJvbUNoaXAodCl7bGV0IGU9dC50YXJnZXQ7Zm9yKDtlJiZlIT09dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Oyl7aWYoZS5jbGFzc0xpc3QuY29udGFpbnMoIm1hdC1jaGlwIikpcmV0dXJuITA7ZT1lLnBhcmVudEVsZW1lbnR9cmV0dXJuITF9X2hhc0ZvY3VzZWRDaGlwKCl7cmV0dXJuIHRoaXMuY2hpcHMmJnRoaXMuY2hpcHMuc29tZSgodD0+dC5faGFzRm9jdXMpKX1fc3luY0NoaXBzU3RhdGUoKXt0aGlzLmNoaXBzJiZ0aGlzLmNoaXBzLmZvckVhY2goKHQ9Pnt0Ll9jaGlwTGlzdERpc2FibGVkPXRoaXMuX2Rpc2FibGVkLHQuX2NoaXBMaXN0TXVsdGlwbGU9dGhpcy5tdWx0aXBsZX0pKX19SHh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxIeHQpKGdmKEtoKSxnZihPYiksZ2YodkYsOCksZ2YoWFcsOCksZ2YoaEcsOCksZ2YobkwpLGdmKGxXLDEwKSl9LEh4dC7JtWNtcD1zbyh7dHlwZTpIeHQsc2VsZWN0b3JzOltbIm1hdC1jaGlwLWxpc3QiXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24gdChlLG4sbyl7aWYoMSZlJiZqeShvLEV4dCw1KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLmNoaXBzPXQpfX0saG9zdEF0dHJzOlsxLCJtYXQtY2hpcC1saXN0Il0saG9zdFZhcnM6MTUsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJmb2N1cyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5mb2N1cygpfSkpKCJibHVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9ibHVyKCl9KSkoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9rZXlkb3duKGUpfSkpLDImZSYmKGNnKCJpZCIsbi5fdWlkKSx5bSgidGFiaW5kZXgiLG4uZGlzYWJsZWQ/bnVsbDpuLl90YWJJbmRleCkoImFyaWEtZGVzY3JpYmVkYnkiLG4uX2FyaWFEZXNjcmliZWRieXx8bnVsbCkoImFyaWEtcmVxdWlyZWQiLG4ucm9sZT9uLnJlcXVpcmVkOm51bGwpKCJhcmlhLWRpc2FibGVkIixuLmRpc2FibGVkLnRvU3RyaW5nKCkpKCJhcmlhLWludmFsaWQiLG4uZXJyb3JTdGF0ZSkoImFyaWEtbXVsdGlzZWxlY3RhYmxlIixuLm11bHRpcGxlKSgicm9sZSIsbi5yb2xlKSgiYXJpYS1vcmllbnRhdGlvbiIsbi5hcmlhT3JpZW50YXRpb24pLGN1KCJtYXQtY2hpcC1saXN0LWRpc2FibGVkIixuLmRpc2FibGVkKSgibWF0LWNoaXAtbGlzdC1pbnZhbGlkIixuLmVycm9yU3RhdGUpKCJtYXQtY2hpcC1saXN0LXJlcXVpcmVkIixuLnJlcXVpcmVkKSl9LGlucHV0czp7YXJpYU9yaWVudGF0aW9uOlsiYXJpYS1vcmllbnRhdGlvbiIsImFyaWFPcmllbnRhdGlvbiJdLG11bHRpcGxlOiJtdWx0aXBsZSIsY29tcGFyZVdpdGg6ImNvbXBhcmVXaXRoIix2YWx1ZToidmFsdWUiLHJlcXVpcmVkOiJyZXF1aXJlZCIscGxhY2Vob2xkZXI6InBsYWNlaG9sZGVyIixkaXNhYmxlZDoiZGlzYWJsZWQiLHNlbGVjdGFibGU6InNlbGVjdGFibGUiLHRhYkluZGV4OiJ0YWJJbmRleCIsZXJyb3JTdGF0ZU1hdGNoZXI6ImVycm9yU3RhdGVNYXRjaGVyIn0sb3V0cHV0czp7Y2hhbmdlOiJjaGFuZ2UiLHZhbHVlQ2hhbmdlOiJ2YWx1ZUNoYW5nZSJ9LGV4cG9ydEFzOlsibWF0Q2hpcExpc3QiXSxmZWF0dXJlczpbamgoW3twcm92aWRlOmlVLHVzZUV4aXN0aW5nOkh4dH1dKSxRcF0sbmdDb250ZW50U2VsZWN0b3JzOlsiKiJdLGRlY2xzOjIsdmFyczowLGNvbnN0czpbWzEsIm1hdC1jaGlwLWxpc3Qtd3JhcHBlciJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxDZigwLCJkaXYiLDApLEZmKDEpLE1mKCkpfSxzdHlsZXM6WycubWF0LWNoaXB7cG9zaXRpb246cmVsYXRpdmU7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3JkZXI6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0ubWF0LXN0YW5kYXJkLWNoaXB7dHJhbnNpdGlvbjpib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7ZGlzcGxheTppbmxpbmUtZmxleDtwYWRkaW5nOjdweCAxMnB4O2JvcmRlci1yYWRpdXM6MTZweDthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOmRlZmF1bHQ7bWluLWhlaWdodDozMnB4O2hlaWdodDoxcHh9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1zdGFuZGFyZC1jaGlwe3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXN0YW5kYXJkLWNoaXAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbnt3aWR0aDoxOHB4O2hlaWdodDoxOHB4fS5tYXQtc3RhbmRhcmQtY2hpcDo6YWZ0ZXJ7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czppbmhlcml0O29wYWNpdHk6MDtjb250ZW50OiIiO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IDIwMG1zIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKX0ubWF0LXN0YW5kYXJkLWNoaXA6aG92ZXI6OmFmdGVye29wYWNpdHk6LjEyfS5tYXQtc3RhbmRhcmQtY2hpcDpmb2N1c3tvdXRsaW5lOm5vbmV9Lm1hdC1zdGFuZGFyZC1jaGlwOmZvY3VzOjphZnRlcntvcGFjaXR5Oi4xNn0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc3RhbmRhcmQtY2hpcHtvdXRsaW5lOnNvbGlkIDFweH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc3RhbmRhcmQtY2hpcDpmb2N1c3tvdXRsaW5lOmRvdHRlZCAycHh9Lm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLWRpc2FibGVkOjphZnRlcntvcGFjaXR5OjB9Lm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLWRpc2FibGVkIC5tYXQtY2hpcC1yZW1vdmUsLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLWRpc2FibGVkIC5tYXQtY2hpcC10cmFpbGluZy1pY29ue2N1cnNvcjpkZWZhdWx0fS5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC13aXRoLXRyYWlsaW5nLWljb24ubWF0LWNoaXAtd2l0aC1hdmF0YXIsLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXdpdGgtYXZhdGFye3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206MH0ubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtd2l0aC10cmFpbGluZy1pY29uLm1hdC1jaGlwLXdpdGgtYXZhdGFye3BhZGRpbmctcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDowfVtkaXI9cnRsXSAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtd2l0aC10cmFpbGluZy1pY29uLm1hdC1jaGlwLXdpdGgtYXZhdGFye3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDowfS5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC13aXRoLXRyYWlsaW5nLWljb257cGFkZGluZy10b3A6N3B4O3BhZGRpbmctYm90dG9tOjdweDtwYWRkaW5nLXJpZ2h0OjhweDtwYWRkaW5nLWxlZnQ6MTJweH1bZGlyPXJ0bF0gLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXdpdGgtdHJhaWxpbmctaWNvbntwYWRkaW5nLWxlZnQ6OHB4O3BhZGRpbmctcmlnaHQ6MTJweH0ubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtd2l0aC1hdmF0YXJ7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDoxMnB4fVtkaXI9cnRsXSAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtd2l0aC1hdmF0YXJ7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDoxMnB4fS5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtYXZhdGFye3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDo0cHh9W2Rpcj1ydGxdIC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtYXZhdGFye21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6NHB4fS5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtdHJhaWxpbmctaWNvbnt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2N1cnNvcjpwb2ludGVyfS5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtdHJhaWxpbmctaWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjB9W2Rpcj1ydGxdIC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLFtkaXI9cnRsXSAubWF0LXN0YW5kYXJkLWNoaXAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDowfS5tYXQtY2hpcC1yaXBwbGV7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOmluaGVyaXQ7b3ZlcmZsb3c6aGlkZGVufS5tYXQtY2hpcC1saXN0LXdyYXBwZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOi00cHh9Lm1hdC1jaGlwLWxpc3Qtd3JhcHBlciBpbnB1dC5tYXQtaW5wdXQtZWxlbWVudCwubWF0LWNoaXAtbGlzdC13cmFwcGVyIC5tYXQtc3RhbmRhcmQtY2hpcHttYXJnaW46NHB4fS5tYXQtY2hpcC1saXN0LXN0YWNrZWQgLm1hdC1jaGlwLWxpc3Qtd3JhcHBlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ubWF0LWNoaXAtbGlzdC1zdGFja2VkIC5tYXQtY2hpcC1saXN0LXdyYXBwZXIgLm1hdC1zdGFuZGFyZC1jaGlwe3dpZHRoOjEwMCV9Lm1hdC1jaGlwLWF2YXRhcntib3JkZXItcmFkaXVzOjUwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVuO29iamVjdC1maXQ6Y292ZXJ9aW5wdXQubWF0LWNoaXAtaW5wdXR7d2lkdGg6MTUwcHg7bWFyZ2luOjRweDtmbGV4OjEgMCAxNTBweH1cbiddLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLEh4dC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6WFcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6aEcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6bkx9LHt0eXBlOmxXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn1dfV0sSHh0LnByb3BEZWNvcmF0b3JzPXtlcnJvclN0YXRlTWF0Y2hlcjpbe3R5cGU6Ul99XSxtdWx0aXBsZTpbe3R5cGU6Ul99XSxjb21wYXJlV2l0aDpbe3R5cGU6Ul99XSx2YWx1ZTpbe3R5cGU6Ul99XSxyZXF1aXJlZDpbe3R5cGU6Ul99XSxwbGFjZWhvbGRlcjpbe3R5cGU6Ul99XSxkaXNhYmxlZDpbe3R5cGU6Ul99XSxhcmlhT3JpZW50YXRpb246W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLW9yaWVudGF0aW9uIl19XSxzZWxlY3RhYmxlOlt7dHlwZTpSX31dLHRhYkluZGV4Olt7dHlwZTpSX31dLGNoYW5nZTpbe3R5cGU6RV99XSx2YWx1ZUNoYW5nZTpbe3R5cGU6RV99XSxjaGlwczpbe3R5cGU6b3IsYXJnczpbRXh0LHtkZXNjZW5kYW50czohMH1dfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSHh0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1jaGlwLWxpc3QiLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJtYXQtY2hpcC1saXN0LXdyYXBwZXIiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Rpdj4nLGV4cG9ydEFzOiJtYXRDaGlwTGlzdCIsaG9zdDp7IlthdHRyLnRhYmluZGV4XSI6ImRpc2FibGVkID8gbnVsbCA6IF90YWJJbmRleCIsIlthdHRyLmFyaWEtZGVzY3JpYmVkYnldIjoiX2FyaWFEZXNjcmliZWRieSB8fCBudWxsIiwiW2F0dHIuYXJpYS1yZXF1aXJlZF0iOiJyb2xlID8gcmVxdWlyZWQgOiBudWxsIiwiW2F0dHIuYXJpYS1kaXNhYmxlZF0iOiJkaXNhYmxlZC50b1N0cmluZygpIiwiW2F0dHIuYXJpYS1pbnZhbGlkXSI6ImVycm9yU3RhdGUiLCJbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV0iOiJtdWx0aXBsZSIsIlthdHRyLnJvbGVdIjoicm9sZSIsIltjbGFzcy5tYXQtY2hpcC1saXN0LWRpc2FibGVkXSI6ImRpc2FibGVkIiwiW2NsYXNzLm1hdC1jaGlwLWxpc3QtaW52YWxpZF0iOiJlcnJvclN0YXRlIiwiW2NsYXNzLm1hdC1jaGlwLWxpc3QtcmVxdWlyZWRdIjoicmVxdWlyZWQiLCJbYXR0ci5hcmlhLW9yaWVudGF0aW9uXSI6ImFyaWFPcmllbnRhdGlvbiIsY2xhc3M6Im1hdC1jaGlwLWxpc3QiLCIoZm9jdXMpIjoiZm9jdXMoKSIsIihibHVyKSI6Il9ibHVyKCkiLCIoa2V5ZG93bikiOiJfa2V5ZG93bigkZXZlbnQpIiwiW2lkXSI6Il91aWQifSxwcm92aWRlcnM6W3twcm92aWRlOmlVLHVzZUV4aXN0aW5nOkh4dH1dLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLHN0eWxlczpbJy5tYXQtY2hpcHtwb3NpdGlvbjpyZWxhdGl2ZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JvcmRlcjpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5tYXQtc3RhbmRhcmQtY2hpcHt0cmFuc2l0aW9uOmJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtkaXNwbGF5OmlubGluZS1mbGV4O3BhZGRpbmc6N3B4IDEycHg7Ym9yZGVyLXJhZGl1czoxNnB4O2FsaWduLWl0ZW1zOmNlbnRlcjtjdXJzb3I6ZGVmYXVsdDttaW4taGVpZ2h0OjMycHg7aGVpZ2h0OjFweH0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXN0YW5kYXJkLWNoaXB7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29ue3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9Lm1hdC1zdGFuZGFyZC1jaGlwOjphZnRlcnt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOmluaGVyaXQ7b3BhY2l0eTowO2NvbnRlbnQ6IiI7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgMjAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5tYXQtc3RhbmRhcmQtY2hpcDpob3Zlcjo6YWZ0ZXJ7b3BhY2l0eTouMTJ9Lm1hdC1zdGFuZGFyZC1jaGlwOmZvY3Vze291dGxpbmU6bm9uZX0ubWF0LXN0YW5kYXJkLWNoaXA6Zm9jdXM6OmFmdGVye29wYWNpdHk6LjE2fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zdGFuZGFyZC1jaGlwe291dGxpbmU6c29saWQgMXB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zdGFuZGFyZC1jaGlwOmZvY3Vze291dGxpbmU6ZG90dGVkIDJweH0ubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtZGlzYWJsZWQ6OmFmdGVye29wYWNpdHk6MH0ubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtZGlzYWJsZWQgLm1hdC1jaGlwLXJlbW92ZSwubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtZGlzYWJsZWQgLm1hdC1jaGlwLXRyYWlsaW5nLWljb257Y3Vyc29yOmRlZmF1bHR9Lm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXdpdGgtdHJhaWxpbmctaWNvbi5tYXQtY2hpcC13aXRoLWF2YXRhciwubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtd2l0aC1hdmF0YXJ7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowfS5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC13aXRoLXRyYWlsaW5nLWljb24ubWF0LWNoaXAtd2l0aC1hdmF0YXJ7cGFkZGluZy1yaWdodDo4cHg7cGFkZGluZy1sZWZ0OjB9W2Rpcj1ydGxdIC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC13aXRoLXRyYWlsaW5nLWljb24ubWF0LWNoaXAtd2l0aC1hdmF0YXJ7cGFkZGluZy1sZWZ0OjhweDtwYWRkaW5nLXJpZ2h0OjB9Lm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXdpdGgtdHJhaWxpbmctaWNvbntwYWRkaW5nLXRvcDo3cHg7cGFkZGluZy1ib3R0b206N3B4O3BhZGRpbmctcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDoxMnB4fVtkaXI9cnRsXSAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtd2l0aC10cmFpbGluZy1pY29ue3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDoxMnB4fS5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC13aXRoLWF2YXRhcntwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjEycHh9W2Rpcj1ydGxdIC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC13aXRoLWF2YXRhcntwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjEycHh9Lm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1hdmF0YXJ7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0OjRweH1bZGlyPXJ0bF0gLm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1hdmF0YXJ7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDo0cHh9Lm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1yZW1vdmUsLm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC10cmFpbGluZy1pY29ue3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Y3Vyc29yOnBvaW50ZXJ9Lm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1yZW1vdmUsLm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC10cmFpbGluZy1pY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MH1bZGlyPXJ0bF0gLm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1yZW1vdmUsW2Rpcj1ydGxdIC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtdHJhaWxpbmctaWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0OjB9Lm1hdC1jaGlwLXJpcHBsZXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtvdmVyZmxvdzpoaWRkZW59Lm1hdC1jaGlwLWxpc3Qtd3JhcHBlcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46LTRweH0ubWF0LWNoaXAtbGlzdC13cmFwcGVyIGlucHV0Lm1hdC1pbnB1dC1lbGVtZW50LC5tYXQtY2hpcC1saXN0LXdyYXBwZXIgLm1hdC1zdGFuZGFyZC1jaGlwe21hcmdpbjo0cHh9Lm1hdC1jaGlwLWxpc3Qtc3RhY2tlZCAubWF0LWNoaXAtbGlzdC13cmFwcGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5tYXQtY2hpcC1saXN0LXN0YWNrZWQgLm1hdC1jaGlwLWxpc3Qtd3JhcHBlciAubWF0LXN0YW5kYXJkLWNoaXB7d2lkdGg6MTAwJX0ubWF0LWNoaXAtYXZhdGFye2JvcmRlci1yYWRpdXM6NTAlO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47b2JqZWN0LWZpdDpjb3Zlcn1pbnB1dC5tYXQtY2hpcC1pbnB1dHt3aWR0aDoxNTBweDttYXJnaW46NHB4O2ZsZXg6MSAwIDE1MHB4fVxuJ119XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOlhXLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOmhHLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOm5MfSx7dHlwZTpsVyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9XX1dfSkse2FyaWFPcmllbnRhdGlvbjpbe3R5cGU6Ul8sYXJnczpbImFyaWEtb3JpZW50YXRpb24iXX1dLGNoYW5nZTpbe3R5cGU6RV99XSx2YWx1ZUNoYW5nZTpbe3R5cGU6RV99XSxtdWx0aXBsZTpbe3R5cGU6Ul99XSxjb21wYXJlV2l0aDpbe3R5cGU6Ul99XSx2YWx1ZTpbe3R5cGU6Ul99XSxyZXF1aXJlZDpbe3R5cGU6Ul99XSxwbGFjZWhvbGRlcjpbe3R5cGU6Ul99XSxkaXNhYmxlZDpbe3R5cGU6Ul99XSxzZWxlY3RhYmxlOlt7dHlwZTpSX31dLHRhYkluZGV4Olt7dHlwZTpSX31dLGVycm9yU3RhdGVNYXRjaGVyOlt7dHlwZTpSX31dLGNoaXBzOlt7dHlwZTpvcixhcmdzOltFeHQse2Rlc2NlbmRhbnRzOiEwfV19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KbGV0IEZ4dD0wO2NsYXNzIEx4dHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9kZWZhdWx0T3B0aW9ucz1lLHRoaXMuZm9jdXNlZD0hMSx0aGlzLl9hZGRPbkJsdXI9ITEsdGhpcy5zZXBhcmF0b3JLZXlDb2Rlcz10aGlzLl9kZWZhdWx0T3B0aW9ucy5zZXBhcmF0b3JLZXlDb2Rlcyx0aGlzLmNoaXBFbmQ9bmV3IFN5LHRoaXMucGxhY2Vob2xkZXI9IiIsdGhpcy5pZD0ibWF0LWNoaXAtbGlzdC1pbnB1dC0iK0Z4dCsrLHRoaXMuX2Rpc2FibGVkPSExLHRoaXMuaW5wdXRFbGVtZW50PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudH1zZXQgY2hpcExpc3QodCl7dCYmKHRoaXMuX2NoaXBMaXN0PXQsdGhpcy5fY2hpcExpc3QucmVnaXN0ZXJJbnB1dCh0aGlzKSl9Z2V0IGFkZE9uQmx1cigpe3JldHVybiB0aGlzLl9hZGRPbkJsdXJ9c2V0IGFkZE9uQmx1cih0KXt0aGlzLl9hZGRPbkJsdXI9ZUgodCl9Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkfHx0aGlzLl9jaGlwTGlzdCYmdGhpcy5fY2hpcExpc3QuZGlzYWJsZWR9c2V0IGRpc2FibGVkKHQpe3RoaXMuX2Rpc2FibGVkPWVIKHQpfWdldCBlbXB0eSgpe3JldHVybiF0aGlzLmlucHV0RWxlbWVudC52YWx1ZX1uZ09uQ2hhbmdlcygpe3RoaXMuX2NoaXBMaXN0LnN0YXRlQ2hhbmdlcy5uZXh0KCl9bmdPbkRlc3Ryb3koKXt0aGlzLmNoaXBFbmQuY29tcGxldGUoKX1uZ0FmdGVyQ29udGVudEluaXQoKXt0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2U9dGhpcy5lbXB0eX1fa2V5ZG93bih0KXtpZih0KXtpZig5IT09dC5rZXlDb2RlfHx0SCh0LCJzaGlmdEtleSIpfHx0aGlzLl9jaGlwTGlzdC5fYWxsb3dGb2N1c0VzY2FwZSgpLDg9PT10LmtleUNvZGUmJnRoaXMuX2ZvY3VzTGFzdENoaXBPbkJhY2tzcGFjZSlyZXR1cm4gdGhpcy5fY2hpcExpc3QuX2tleU1hbmFnZXIuc2V0TGFzdEl0ZW1BY3RpdmUoKSx2b2lkIHQucHJldmVudERlZmF1bHQoKTt0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2U9ITF9dGhpcy5fZW1pdENoaXBFbmQodCl9X2tleXVwKHQpeyF0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2UmJjg9PT10LmtleUNvZGUmJnRoaXMuZW1wdHkmJih0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2U9ITAsdC5wcmV2ZW50RGVmYXVsdCgpKX1fYmx1cigpe3RoaXMuYWRkT25CbHVyJiZ0aGlzLl9lbWl0Q2hpcEVuZCgpLHRoaXMuZm9jdXNlZD0hMSx0aGlzLl9jaGlwTGlzdC5mb2N1c2VkfHx0aGlzLl9jaGlwTGlzdC5fYmx1cigpLHRoaXMuX2NoaXBMaXN0LnN0YXRlQ2hhbmdlcy5uZXh0KCl9X2ZvY3VzKCl7dGhpcy5mb2N1c2VkPSEwLHRoaXMuX2ZvY3VzTGFzdENoaXBPbkJhY2tzcGFjZT10aGlzLmVtcHR5LHRoaXMuX2NoaXBMaXN0LnN0YXRlQ2hhbmdlcy5uZXh0KCl9X2VtaXRDaGlwRW5kKHQpeyF0aGlzLmlucHV0RWxlbWVudC52YWx1ZSYmdCYmdGhpcy5fY2hpcExpc3QuX2tleWRvd24odCksdCYmIXRoaXMuX2lzU2VwYXJhdG9yS2V5KHQpfHwodGhpcy5jaGlwRW5kLmVtaXQoe2lucHV0OnRoaXMuaW5wdXRFbGVtZW50LHZhbHVlOnRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLGNoaXBJbnB1dDp0aGlzfSksbnVsbD09dHx8dC5wcmV2ZW50RGVmYXVsdCgpKX1fb25JbnB1dCgpe3RoaXMuX2NoaXBMaXN0LnN0YXRlQ2hhbmdlcy5uZXh0KCl9Zm9jdXModCl7dGhpcy5pbnB1dEVsZW1lbnQuZm9jdXModCl9Y2xlYXIoKXt0aGlzLmlucHV0RWxlbWVudC52YWx1ZT0iIix0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2U9ITB9X2lzU2VwYXJhdG9yS2V5KHQpe3JldHVybiF0SCh0KSYmbmV3IFNldCh0aGlzLnNlcGFyYXRvcktleUNvZGVzKS5oYXModC5rZXlDb2RlKX19THh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxMeHQpKGdmKEtoKSxnZihUeHQpKX0sTHh0Lsm1ZGlyPWhvKHt0eXBlOkx4dCxzZWxlY3RvcnM6W1siaW5wdXQiLCJtYXRDaGlwSW5wdXRGb3IiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtY2hpcC1pbnB1dCIsIm1hdC1pbnB1dC1lbGVtZW50Il0saG9zdFZhcnM6NSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9rZXlkb3duKGUpfSkpKCJrZXl1cCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2tleXVwKGUpfSkpKCJibHVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9ibHVyKCl9KSkoImZvY3VzIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9mb2N1cygpfSkpKCJpbnB1dCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fb25JbnB1dCgpfSkpLDImZSYmKGNnKCJpZCIsbi5pZCkseW0oImRpc2FibGVkIixuLmRpc2FibGVkfHxudWxsKSgicGxhY2Vob2xkZXIiLG4ucGxhY2Vob2xkZXJ8fG51bGwpKCJhcmlhLWludmFsaWQiLG4uX2NoaXBMaXN0JiZuLl9jaGlwTGlzdC5uZ0NvbnRyb2w/bi5fY2hpcExpc3QubmdDb250cm9sLmludmFsaWQ6bnVsbCkoImFyaWEtcmVxdWlyZWQiLG4uX2NoaXBMaXN0JiZuLl9jaGlwTGlzdC5yZXF1aXJlZHx8bnVsbCkpfSxpbnB1dHM6e3NlcGFyYXRvcktleUNvZGVzOlsibWF0Q2hpcElucHV0U2VwYXJhdG9yS2V5Q29kZXMiLCJzZXBhcmF0b3JLZXlDb2RlcyJdLHBsYWNlaG9sZGVyOiJwbGFjZWhvbGRlciIsaWQ6ImlkIixjaGlwTGlzdDpbIm1hdENoaXBJbnB1dEZvciIsImNoaXBMaXN0Il0sYWRkT25CbHVyOlsibWF0Q2hpcElucHV0QWRkT25CbHVyIiwiYWRkT25CbHVyIl0sZGlzYWJsZWQ6ImRpc2FibGVkIn0sb3V0cHV0czp7Y2hpcEVuZDoibWF0Q2hpcElucHV0VG9rZW5FbmQifSxleHBvcnRBczpbIm1hdENoaXBJbnB1dCIsIm1hdENoaXBJbnB1dEZvciJdLGZlYXR1cmVzOltxb119KSxMeHQuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1R4dF19XX1dLEx4dC5wcm9wRGVjb3JhdG9ycz17Y2hpcExpc3Q6W3t0eXBlOlJfLGFyZ3M6WyJtYXRDaGlwSW5wdXRGb3IiXX1dLGFkZE9uQmx1cjpbe3R5cGU6Ul8sYXJnczpbIm1hdENoaXBJbnB1dEFkZE9uQmx1ciJdfV0sc2VwYXJhdG9yS2V5Q29kZXM6W3t0eXBlOlJfLGFyZ3M6WyJtYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2RlcyJdfV0sY2hpcEVuZDpbe3R5cGU6RV8sYXJnczpbIm1hdENoaXBJbnB1dFRva2VuRW5kIl19XSxwbGFjZWhvbGRlcjpbe3R5cGU6Ul99XSxpZDpbe3R5cGU6Ul99XSxkaXNhYmxlZDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihMeHQsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiaW5wdXRbbWF0Q2hpcElucHV0Rm9yXSIsZXhwb3J0QXM6Im1hdENoaXBJbnB1dCwgbWF0Q2hpcElucHV0Rm9yIixob3N0OntjbGFzczoibWF0LWNoaXAtaW5wdXQgbWF0LWlucHV0LWVsZW1lbnQiLCIoa2V5ZG93bikiOiJfa2V5ZG93bigkZXZlbnQpIiwiKGtleXVwKSI6Il9rZXl1cCgkZXZlbnQpIiwiKGJsdXIpIjoiX2JsdXIoKSIsIihmb2N1cykiOiJfZm9jdXMoKSIsIihpbnB1dCkiOiJfb25JbnB1dCgpIiwiW2lkXSI6ImlkIiwiW2F0dHIuZGlzYWJsZWRdIjoiZGlzYWJsZWQgfHwgbnVsbCIsIlthdHRyLnBsYWNlaG9sZGVyXSI6InBsYWNlaG9sZGVyIHx8IG51bGwiLCJbYXR0ci5hcmlhLWludmFsaWRdIjoiX2NoaXBMaXN0ICYmIF9jaGlwTGlzdC5uZ0NvbnRyb2wgPyBfY2hpcExpc3QubmdDb250cm9sLmludmFsaWQgOiBudWxsIiwiW2F0dHIuYXJpYS1yZXF1aXJlZF0iOiJfY2hpcExpc3QgJiYgX2NoaXBMaXN0LnJlcXVpcmVkIHx8IG51bGwifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbVHh0XX1dfV19KSx7c2VwYXJhdG9yS2V5Q29kZXM6W3t0eXBlOlJfLGFyZ3M6WyJtYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2RlcyJdfV0sY2hpcEVuZDpbe3R5cGU6RV8sYXJnczpbIm1hdENoaXBJbnB1dFRva2VuRW5kIl19XSxwbGFjZWhvbGRlcjpbe3R5cGU6Ul99XSxpZDpbe3R5cGU6Ul99XSxjaGlwTGlzdDpbe3R5cGU6Ul8sYXJnczpbIm1hdENoaXBJbnB1dEZvciJdfV0sYWRkT25CbHVyOlt7dHlwZTpSXyxhcmdzOlsibWF0Q2hpcElucHV0QWRkT25CbHVyIl19XSxkaXNhYmxlZDpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgQnh0PVtIeHQsRXh0LEx4dCxBeHQsRHh0LFJ4dF0sVnh0PXtzZXBhcmF0b3JLZXlDb2RlczpbWEldfTtjbGFzcyBqeHR7fWp4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8anh0KX0sanh0Lsm1bW9kPWZvKHt0eXBlOmp4dH0pLGp4dC7JtWluaj1Ebih7cHJvdmlkZXJzOltuTCx7cHJvdmlkZTpUeHQsdXNlVmFsdWU6Vnh0fV0saW1wb3J0czpbW05GXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGp4dCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W05GXSxleHBvcnRzOkJ4dCxkZWNsYXJhdGlvbnM6Qnh0LHByb3ZpZGVyczpbbkwse3Byb3ZpZGU6VHh0LHVzZVZhbHVlOlZ4dH1dfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oanh0LHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bSHh0LEV4dCxMeHQsQXh0LER4dCxSeHRdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW05GXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltIeHQsRXh0LEx4dCxBeHQsRHh0LFJ4dF19fSk7Y29uc3QgVXh0PWZ1bmN0aW9uKHQsZSl7cmV0dXJueyJlbWJlZGRpbmctc2VsZWN0ZWQiOnQsImVtYmVkZGluZy11bnNlbGVjdGVkIjplfX07ZnVuY3Rpb24gV3h0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibWF0LWljb24iLDUpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtjb25zdCBuPXpmKCk7cmV0dXJuIG4ub25TZWxlY3QuZW1pdChuLm1ldHJpYyl9KSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtiZigibmdDbGFzcyIsYXkoMSxVeHQsdC5lbWJlZGRpbmdzTWV0cmljPT09dC5tZXRyaWMsdC5lbWJlZGRpbmdzTWV0cmljIT09dC5tZXRyaWMpKX19Y29uc3QgR3h0PWZ1bmN0aW9uKHQpe3JldHVybnt3aWR0aDp0fX0sWXh0PWZ1bmN0aW9uKHQpe3JldHVybnsidmFsdWUtaW52YWxpZCI6dH19O2NsYXNzIHF4dHtjb25zdHJ1Y3Rvcigpe3RoaXMub25SZW1vdmU9bmV3IFN5LHRoaXMub25TZWxlY3Q9bmV3IFN5LHRoaXMub25GaWx0ZXJDaGFuZ2U9bmV3IFN5LHRoaXMuZm9jdXNNaW49ITEsdGhpcy5mb2N1c01heD0hMSx0aGlzLm5nVW5zdWJzY3JpYmU9bmV3IEJ9bmdPbkluaXQoKXt0aGlzLm1pbkZvcm1Db250cm9sPW5ldyBXVyh0aGlzLmZpbHRlclZhbHVlcy5taW4sW05VLnJlcXVpcmVkLE5VLm1pbigtMSksTlUubWF4KDEpLHRoaXMubWluVmFsdWVWYWxpZGF0b3IuYmluZCh0aGlzKV0pLHRoaXMubWF4Rm9ybUNvbnRyb2w9bmV3IFdXKHRoaXMuZmlsdGVyVmFsdWVzLm1heCxbTlUucmVxdWlyZWQsTlUubWluKC0xKSxOVS5tYXgoMSksdGhpcy5tYXhWYWx1ZVZhbGlkYXRvci5iaW5kKHRoaXMpXSksdGhpcy5taW5Gb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5taW5Gb3JtQ29udHJvbC52YWxpZCYmdGhpcy5tYXhGb3JtQ29udHJvbC52YWxpZCYmdGhpcy5vbkZpbHRlckNoYW5nZS5lbWl0KHttaW46cGFyc2VGbG9hdCh0aGlzLm1pbkZvcm1Db250cm9sLnZhbHVlKSxtYXg6cGFyc2VGbG9hdCh0aGlzLm1heEZvcm1Db250cm9sLnZhbHVlKX0pfSkpLHRoaXMubWF4Rm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMubWluRm9ybUNvbnRyb2wudmFsaWQmJnRoaXMubWF4Rm9ybUNvbnRyb2wudmFsaWQmJnRoaXMub25GaWx0ZXJDaGFuZ2UuZW1pdCh7bWluOnBhcnNlRmxvYXQodGhpcy5taW5Gb3JtQ29udHJvbC52YWx1ZSksbWF4OnBhcnNlRmxvYXQodGhpcy5tYXhGb3JtQ29udHJvbC52YWx1ZSl9KX0pKX1uZ09uQ2hhbmdlcyh0KXt0aGlzLm1pbkZvcm1Db250cm9sJiZ0aGlzLm1heEZvcm1Db250cm9sJiYodGhpcy5taW5Gb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZpbHRlclZhbHVlcy5taW4se2VtaXRFdmVudDohMX0pLHRoaXMubWF4Rm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5maWx0ZXJWYWx1ZXMubWF4LHtlbWl0RXZlbnQ6ITF9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpLHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpfW1pblZhbHVlVmFsaWRhdG9yKHQpe3JldHVybiB0aGlzLm1heEZvcm1Db250cm9sJiYiTmFOIiE9PXQudmFsdWU/aXNOYU4ocGFyc2VGbG9hdCh0LnZhbHVlKSk/e3ZhbHVlOiJ0aGUgc3RyaW5nIHlvdSBlbnRlcmVkIGlzIG5laXRoZXIgTmFOIG5vciBhIG51bWJlciJ9OnBhcnNlRmxvYXQodC52YWx1ZSk+cGFyc2VGbG9hdCh0aGlzLm1heEZvcm1Db250cm9sLnZhbHVlKT97dmFsdWU6InRoZSBudW1iZXIgeW91IGVudGVyZWQgaXMgbGFyZ2VyIHRoYW4gdGhlIG1heCB2YWx1ZSJ9Om51bGw6bnVsbH1tYXhWYWx1ZVZhbGlkYXRvcih0KXtyZXR1cm4gdGhpcy5taW5Gb3JtQ29udHJvbD8iTmFOIj09PXRoaXMubWluRm9ybUNvbnRyb2wudmFsdWUmJiJOYU4iPT09dC52YWx1ZT9udWxsOmlzTmFOKHBhcnNlRmxvYXQodC52YWx1ZSkpP3t2YWx1ZToidGhlIHN0cmluZyB5b3UgZW50ZXJlZCBpcyBuZWl0aGVyIE5hTiBub3IgYSBudW1iZXIifTp0LnZhbHVlPHRoaXMubWluRm9ybUNvbnRyb2wudmFsdWU/e3ZhbHVlOiJ0aGUgbnVtYmVyIHlvdSBlbnRlcmVkIGlzIHNtYWxsZXIgdGhhbiB0aGUgbWluIHZhbHVlIn06bnVsbDpudWxsfWdldEVycm9yRGVzY3JpcHRpb24odCl7aWYodCl7Y29uc3QgZT1PYmplY3Qua2V5cyh0KVswXTtyZXR1cm4icmVxdWlyZWQiPT09ZT8ieW91IGRpZCBub3QgZW50ZXIgYW55dGhpbmciOiJtaW4iPT09ZT8idGhlIG51bWJlciBtdXN0IGJlIGF0IGxlYXN0IC0xLjAiOiJtYXgiPT09ZT8idGhlIG51bWJlciBpcyBiaWdnZXIgdGhhbiAxLjAiOnRbZV19cmV0dXJuIiJ9fXF4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cXh0KX0scXh0Lsm1Y21wPXNvKHt0eXBlOnF4dCxzZWxlY3RvcnM6W1sibWV0cmljLWFyaXRobWV0aWMtZWxlbWVudC1jb21wb25lbnQiXV0saW5wdXRzOnttZXRyaWM6Im1ldHJpYyIsZmlsdGVyVmFsdWVzOiJmaWx0ZXJWYWx1ZXMiLGhhc0VtYmVkZGluZ3NEYXRhOiJoYXNFbWJlZGRpbmdzRGF0YSIsZW1iZWRkaW5nc01ldHJpYzoiZW1iZWRkaW5nc01ldHJpYyJ9LG91dHB1dHM6e29uUmVtb3ZlOiJvblJlbW92ZSIsb25TZWxlY3Q6Im9uU2VsZWN0IixvbkZpbHRlckNoYW5nZToib25GaWx0ZXJDaGFuZ2UifSxmZWF0dXJlczpbcW9dLGRlY2xzOjEwLHZhcnM6MjIsY29uc3RzOltbMSwiZmlsdGVyLWNoaXAiLDMsInJlbW92ZWQiXSxbImNsYXNzIiwiZW1iZWRkaW5ncy1idXR0b24iLCJzdmdJY29uIiwiZ3JvdXBfd29ya18yNHB4IiwzLCJuZ0NsYXNzIiwiY2xpY2siLDQsIm5nSWYiXSxbMSwibWV0cmljLWFyaXRobWV0aWMtZWxlbWVudC1yYW5nZSIsMywia2V5ZG93biJdLFsibWF0SW5wdXQiLCIiLDEsImlucHV0LWZpZWxkIiwzLCJ2YWx1ZSIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJuZ1N0eWxlIiwibmdDbGFzcyIsImZvcm1Db250cm9sIiwiZm9jdXMiLCJmb2N1c291dCJdLFsibWF0Q2hpcFJlbW92ZSIsIiIsInN2Z0ljb24iLCJjYW5jZWxfMjRweCJdLFsic3ZnSWNvbiIsImdyb3VwX3dvcmtfMjRweCIsMSwiZW1iZWRkaW5ncy1idXR0b24iLDMsIm5nQ2xhc3MiLCJjbGljayJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWF0LWNoaXAiLDApLFJmKCJyZW1vdmVkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUmVtb3ZlLmVtaXQobi5tZXRyaWMpfSkpLEhtKDEsV3h0LDEsNCwibWF0LWljb24iLDEpLFB1KDIpLENmKDMsImRpdiIsMiksUmYoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpfSkpLFB1KDQsIiBbICIpLENmKDUsImlucHV0IiwzKSxSZigiZm9jdXMiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uZm9jdXNNaW49ITB9KSkoImZvY3Vzb3V0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLmZvY3VzTWluPSExfSkpLE1mKCksUHUoNiwiIDsgIiksQ2YoNywiaW5wdXQiLDMpLFJmKCJmb2N1cyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5mb2N1c01heD0hMH0pKSgiZm9jdXNvdXQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uZm9jdXNNYXg9ITF9KSksTWYoKSxQdSg4LCIgXSAiKSxNZigpLHZmKDksIm1hdC1pY29uIiw0KSxNZigpKSwyJmUmJihEYygxKSxiZigibmdJZiIsbi5oYXNFbWJlZGRpbmdzRGF0YSksRGMoMSksa3UoIiAiLG4ubWV0cmljLCIgIiksRGMoMyksYmYoInZhbHVlIixuLmZpbHRlclZhbHVlcy5taW4pKCJtYXRUb29sdGlwIixuLmdldEVycm9yRGVzY3JpcHRpb24obi5taW5Gb3JtQ29udHJvbC5lcnJvcnMpKSgibWF0VG9vbHRpcERpc2FibGVkIiwhbi5taW5Gb3JtQ29udHJvbC5pbnZhbGlkKSgibmdTdHlsZSIsaXkoMTQsR3h0LG4uZm9jdXNNaW4/IjEwMHB4IjpuLm1pbkZvcm1Db250cm9sLnZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoKyJjaCIpKSgibmdDbGFzcyIsaXkoMTYsWXh0LCFuLm1pbkZvcm1Db250cm9sLnZhbGlkKSkoImZvcm1Db250cm9sIixuLm1pbkZvcm1Db250cm9sKSxEYygyKSxiZigidmFsdWUiLG4uZmlsdGVyVmFsdWVzLm1heCkoIm1hdFRvb2x0aXAiLG4uZ2V0RXJyb3JEZXNjcmlwdGlvbihuLm1heEZvcm1Db250cm9sLmVycm9ycykpKCJtYXRUb29sdGlwRGlzYWJsZWQiLCFuLm1heEZvcm1Db250cm9sLmludmFsaWQpKCJuZ1N0eWxlIixpeSgxOCxHeHQsbi5mb2N1c01heD8iMTAwcHgiOm4ubWF4Rm9ybUNvbnRyb2wudmFsdWUudG9TdHJpbmcoKS5sZW5ndGgrImNoIikpKCJuZ0NsYXNzIixpeSgyMCxZeHQsIW4ubWF4Rm9ybUNvbnRyb2wudmFsaWQpKSgiZm9ybUNvbnRyb2wiLG4ubWF4Rm9ybUNvbnRyb2wpKX0sZGlyZWN0aXZlczpbRXh0LFB2LFNVLEwwLHp2LEN2LG1XLHVHLE1xLEF4dF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9LmZpbHRlci1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21hcmdpbi1sZWZ0OjVweH0ubWV0cmljLWFyaXRobWV0aWMtZWxlbWVudC1yYW5nZVtfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtmb250LXNpemU6LjhlbTtoZWlnaHQ6MzBweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OjMwcHg7cGFkZGluZzowIDVweDttYXJnaW4tbGVmdDo1cHh9LmlucHV0LWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtmb250LXNpemU6MS4xZW07dHJhbnNpdGlvbjp3aWR0aCAxc30uaW5wdXQtZmllbGRbX25nY29udGVudC0lQ09NUCVdOmZvY3Vze2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMTIpO2JvcmRlcjpub25lO291dGxpbmU6bm9uZX0udmFsdWUtaW52YWxpZFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6I2Y0NDMzNn0uZW1iZWRkaW5nLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojZjU3YzAwO29wYWNpdHk6MX0uZW1iZWRkaW5nLXVuc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjR9LmVtYmVkZGluZ3MtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O21hcmdpbi1yaWdodDo4cHg7Y3Vyc29yOnBvaW50ZXJ9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHF4dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWMtYXJpdGhtZXRpYy1lbGVtZW50LWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vbWV0cmljX2FyaXRobWV0aWNfZWxlbWVudF9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9tZXRyaWNfYXJpdGhtZXRpY19lbGVtZW50X2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHttZXRyaWM6W3t0eXBlOlJffV0sZmlsdGVyVmFsdWVzOlt7dHlwZTpSX31dLGhhc0VtYmVkZGluZ3NEYXRhOlt7dHlwZTpSX31dLGVtYmVkZGluZ3NNZXRyaWM6W3t0eXBlOlJffV0sb25SZW1vdmU6W3t0eXBlOkVffV0sb25TZWxlY3Q6W3t0eXBlOkVffV0sb25GaWx0ZXJDaGFuZ2U6W3t0eXBlOkVffV19KTtjbGFzcyBaeHR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuZmlsdGVyVmFsdWVzJD10aGlzLnN0b3JlLnBpcGUoclMoZXh0KSkucGlwZShWdCgodD0+e2NvbnN0IGU9dFt0aGlzLm1ldHJpY107aWYoIWUpcmV0dXJue21pbjotMSxtYXg6MX07cmV0dXJue21pbjplLmluY2x1ZGVOYU4/Ik5hTiI6dGhpcy5yb3VuZFRvVGhyZWVEZWNpbWFsUG9pbnRzKGUubWluKSxtYXg6ZS5tYXg8ZS5taW4/Ik5hTiI6dGhpcy5yb3VuZFRvVGhyZWVEZWNpbWFsUG9pbnRzKGUubWF4KX19KSkpLHRoaXMuaGFzRW1iZWRkaW5nc0RhdGEkPXRoaXMuc3RvcmUucGlwZShyUyhadnQpKS5waXBlKFZ0KCh0PT52b2lkIDAhPT10KSkpLHRoaXMuZW1iZWRkaW5nc01ldHJpYyQ9dGhpcy5zdG9yZS5waXBlKHJTKGR4dCkpfXJlbW92ZSh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKFB2dCh7bWV0cmljOnR9KSl9c2VsZWN0KHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goTnZ0KHttZXRyaWM6dH0pKX1maWx0ZXJDaGFuZ2UodCl7Y29uc3QgZT1pc05hTih0Lm1pbik/LTE6dC5taW4sbj1pc05hTih0Lm1heCk/LTI6dC5tYXgsbz1pc05hTih0Lm1pbik7dGhpcy5zdG9yZS5kaXNwYXRjaCh3dnQoe21ldHJpYzp0aGlzLm1ldHJpYyxtYXg6bixtaW46ZSxpbmNsdWRlTmFOOm99KSl9cm91bmRUb1RocmVlRGVjaW1hbFBvaW50cyh0KXtyZXR1cm4gTWF0aC5yb3VuZCgxZTMqKHQrTnVtYmVyLkVQU0lMT04pKS8xZTN9fVp4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Wnh0KShnZihpUykpfSxaeHQuybVjbXA9c28oe3R5cGU6Wnh0LHNlbGVjdG9yczpbWyJucG1pLW1ldHJpYy1hcml0aG1ldGljLWVsZW1lbnQiXV0saW5wdXRzOnttZXRyaWM6Im1ldHJpYyJ9LGRlY2xzOjQsdmFyczoxMCxjb25zdHM6W1szLCJtZXRyaWMiLCJmaWx0ZXJWYWx1ZXMiLCJoYXNFbWJlZGRpbmdzRGF0YSIsImVtYmVkZGluZ3NNZXRyaWMiLCJvblJlbW92ZSIsIm9uU2VsZWN0Iiwib25GaWx0ZXJDaGFuZ2UiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsIm1ldHJpYy1hcml0aG1ldGljLWVsZW1lbnQtY29tcG9uZW50IiwwKSxSZigib25SZW1vdmUiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnJlbW92ZShlKX0pKSgib25TZWxlY3QiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnNlbGVjdChlKX0pKSgib25GaWx0ZXJDaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmZpbHRlckNoYW5nZShlKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJtZXRyaWMiLG4ubWV0cmljKSgiZmlsdGVyVmFsdWVzIixDeSgxLDQsbi5maWx0ZXJWYWx1ZXMkKSkoImhhc0VtYmVkZGluZ3NEYXRhIixDeSgyLDYsbi5oYXNFbWJlZGRpbmdzRGF0YSQpKSgiZW1iZWRkaW5nc01ldHJpYyIsQ3koMyw4LG4uZW1iZWRkaW5nc01ldHJpYyQpKX0sZGlyZWN0aXZlczpbcXh0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWnh0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktbWV0cmljLWFyaXRobWV0aWMtZWxlbWVudCIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWMtYXJpdGhtZXRpYy1lbGVtZW50LWNvbXBvbmVudFxuICAgICAgW21ldHJpY109Im1ldHJpYyJcbiAgICAgIFtmaWx0ZXJWYWx1ZXNdPSJmaWx0ZXJWYWx1ZXMkIHwgYXN5bmMiXG4gICAgICBbaGFzRW1iZWRkaW5nc0RhdGFdPSJoYXNFbWJlZGRpbmdzRGF0YSQgfCBhc3luYyJcbiAgICAgIFtlbWJlZGRpbmdzTWV0cmljXT0iZW1iZWRkaW5nc01ldHJpYyQgfCBhc3luYyJcbiAgICAgIChvblJlbW92ZSk9InJlbW92ZSgkZXZlbnQpIlxuICAgICAgKG9uU2VsZWN0KT0ic2VsZWN0KCRldmVudCkiXG4gICAgICAob25GaWx0ZXJDaGFuZ2UpPSJmaWx0ZXJDaGFuZ2UoJGV2ZW50KSJcbiAgICA+PC9tZXRyaWMtYXJpdGhtZXRpYy1lbGVtZW50LWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLHttZXRyaWM6W3t0eXBlOlJffV19KTtjbGFzcyBYeHR7Y29uc3RydWN0b3IoKXt0aGlzLk9wZXJhdG9yPUJ2dH19ZnVuY3Rpb24gS3h0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJucG1pLW1ldHJpYy1hcml0aG1ldGljLWVsZW1lbnQiLDQpLDImdCl7YmYoIm1ldHJpYyIsemYoKS4kaW1wbGljaXQubWV0cmljKX19ZnVuY3Rpb24gSnh0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJucG1pLW1ldHJpYy1hcml0aG1ldGljLW9wZXJhdG9yIiw1KSwyJnQpe2JmKCJvcGVyYXRvciIsemYoKS4kaW1wbGljaXQub3BlcmF0b3IpfX1mdW5jdGlvbiBReHQodCxlKXtpZigxJnQmJihDZigwLCJkaXYiKSxIbSgxLEt4dCwxLDEsIm5wbWktbWV0cmljLWFyaXRobWV0aWMtZWxlbWVudCIsMiksSG0oMixKeHQsMSwxLCJucG1pLW1ldHJpYy1hcml0aG1ldGljLW9wZXJhdG9yIiwzKSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigpO0RjKDEpLGJmKCJuZ0lmIix0LmtpbmQ9PT1uLkFyaXRobWV0aWNLaW5kLk1FVFJJQyksRGMoMSksYmYoIm5nSWYiLHQua2luZD09PW4uQXJpdGhtZXRpY0tpbmQuT1BFUkFUT1IpfX1YeHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFh4dCl9LFh4dC7JtWNtcD1zbyh7dHlwZTpYeHQsc2VsZWN0b3JzOltbIm5wbWktbWV0cmljLWFyaXRobWV0aWMtb3BlcmF0b3IiXV0saW5wdXRzOntvcGVyYXRvcjoib3BlcmF0b3IifSxkZWNsczoyLHZhcnM6MSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWF0LWNoaXAiKSxQdSgxKSxNZigpKSwyJmUmJihEYygxKSxrdSgiICIsbi5vcGVyYXRvcj09PW4uT3BlcmF0b3IuQU5EPyImIjoiIiwiICIpKX0sZGlyZWN0aXZlczpbRXh0XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFh4dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLW1ldHJpYy1hcml0aG1ldGljLW9wZXJhdG9yIix0ZW1wbGF0ZToiXG4gICAgPG1hdC1jaGlwPlxuICAgICAge3sgb3BlcmF0b3IgPT09IE9wZXJhdG9yLkFORCA/ICcmJyA6ICcnIH19XG4gICAgPC9tYXQtY2hpcD5cbiAgIixjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtvcGVyYXRvcjpbe3R5cGU6Ul99XX0pO2NsYXNzICR4dHtjb25zdHJ1Y3Rvcigpe3RoaXMuQXJpdGhtZXRpY0tpbmQ9VnZ0fX0keHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fCR4dCl9LCR4dC7JtWNtcD1zbyh7dHlwZTokeHQsc2VsZWN0b3JzOltbIm1ldHJpYy1hcml0aG1ldGljLWNvbXBvbmVudCJdXSxpbnB1dHM6e21ldHJpY0FyaXRobWV0aWM6Im1ldHJpY0FyaXRobWV0aWMifSxkZWNsczoyLHZhcnM6Mixjb25zdHM6W1szLCJzZWxlY3RhYmxlIl0sWzQsIm5nRm9yIiwibmdGb3JPZiJdLFszLCJtZXRyaWMiLDQsIm5nSWYiXSxbMywib3BlcmF0b3IiLDQsIm5nSWYiXSxbMywibWV0cmljIl0sWzMsIm9wZXJhdG9yIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJtYXQtY2hpcC1saXN0IiwwKSxIbSgxLFF4dCwzLDIsImRpdiIsMSksTWYoKSksMiZlJiYoYmYoInNlbGVjdGFibGUiLCExKSxEYygxKSxiZigibmdGb3JPZiIsbi5tZXRyaWNBcml0aG1ldGljKSl9LGRpcmVjdGl2ZXM6W0h4dCx4dixQdixaeHQsWHh0XSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtd3JhcDp3cmFwfSJdLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYigkeHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljLWFyaXRobWV0aWMtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9tZXRyaWNfYXJpdGhtZXRpY19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9tZXRyaWNfYXJpdGhtZXRpY19jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bWV0cmljQXJpdGhtZXRpYzpbe3R5cGU6Ul99XX0pO2NsYXNzIHRPdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5tZXRyaWNBcml0aG1ldGljJD10aGlzLnN0b3JlLnBpcGUoclModHh0KSl9fXRPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dE90KShnZihpUykpfSx0T3QuybVjbXA9c28oe3R5cGU6dE90LHNlbGVjdG9yczpbWyJucG1pLW1ldHJpYy1hcml0aG1ldGljIl1dLGRlY2xzOjIsdmFyczozLGNvbnN0czpbWzMsIm1ldHJpY0FyaXRobWV0aWMiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsIm1ldHJpYy1hcml0aG1ldGljLWNvbXBvbmVudCIsMCksX3koMSwiYXN5bmMiKSksMiZlJiZiZigibWV0cmljQXJpdGhtZXRpYyIsQ3koMSwxLG4ubWV0cmljQXJpdGhtZXRpYyQpKX0sZGlyZWN0aXZlczpbJHh0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodE90LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktbWV0cmljLWFyaXRobWV0aWMiLHRlbXBsYXRlOidcbiAgICA8bWV0cmljLWFyaXRobWV0aWMtY29tcG9uZW50XG4gICAgICBbbWV0cmljQXJpdGhtZXRpY109Im1ldHJpY0FyaXRobWV0aWMkIHwgYXN5bmMiXG4gICAgPjwvbWV0cmljLWFyaXRobWV0aWMtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgZU90e31mdW5jdGlvbiBuT3QodCxlLG4sbyxpLGEpe2NvbnN0IHI9e30scz1uZXcgU2V0KGUpLGw9bmV3IFNldChpLm1hcCgodD0+el90KHQpKSkpLGM9bmV3IFJlZ0V4cChhLCJpIik7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHQpLmZvckVhY2goKHQ9PntpZighYy50ZXN0KHRbMF0pKXJldHVybjtsZXQgZT10WzFdO2U9ZS5maWx0ZXIoKHQ9PnMuaGFzKHQucnVuKSYmbC5oYXModC5tZXRyaWMpKSksKGZ1bmN0aW9uIGkodCxlLG4pe3JldHVybiB0LmV2ZXJ5KCh0PT57aWYodC5raW5kPT09VnZ0Lk9QRVJBVE9SKXJldHVybiEwO2NvbnN0IG89ZVt0Lm1ldHJpY107cmV0dXJuIHZvaWQgMD09PW98fG4uc29tZSgoZT0+ZS5tZXRyaWM9PT16X3QodC5tZXRyaWMpJiYobnVsbD09PWUublBNSVZhbHVlP28uaW5jbHVkZU5hTjplLm5QTUlWYWx1ZTw9by5tYXgmJmUublBNSVZhbHVlPj1vLm1pbikpKX0pKX0pKG4sbyxlKSYmMCE9PWUubGVuZ3RoJiYoclt0WzBdXT1lKX0pKSxyfWZ1bmN0aW9uIG9PdCh0LGUsbil7aWYobilyZXR1cm4gdDtjb25zdCBvPU9iamVjdC5hc3NpZ24oe30sdCk7cmV0dXJuIGUuZm9yRWFjaCgodD0+ZGVsZXRlIG9bdF0pKSxvfWVPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZU90KX0sZU90Lsm1Y21wPXNvKHt0eXBlOmVPdCxzZWxlY3RvcnM6W1sibnBtaS1kYXRhLXNlbGVjdGlvbiJdXSxkZWNsczo0LHZhcnM6MCxjb25zdHM6W1sxLCJkYXRhLXNlbGVjdGlvbiJdLFsxLCJtZXRyaWNzLXNlbGVjdG9yIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLHZmKDEsIm5wbWktbWV0cmljLXNlYXJjaCIsMSksdmYoMiwibnBtaS1yZXN1bHRzLWRvd25sb2FkIiksTWYoKSx2ZigzLCJucG1pLW1ldHJpYy1hcml0aG1ldGljIikpfSxkaXJlY3RpdmVzOltDeHQsT3h0LHRPdF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlYmViZWI7cGFkZGluZzoxMHB4IDIwcHh9LmRhdGEtc2VsZWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5tZXRyaWNzLXNlbGVjdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4OjEgMX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZU90LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktZGF0YS1zZWxlY3Rpb24iLHRlbXBsYXRlVXJsOiIuL2RhdGFfc2VsZWN0aW9uX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2RhdGFfc2VsZWN0aW9uX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLG51bGwpO2NvbnN0IGlPdD1bImNoYXJ0Il07Y2xhc3MgYU90e2NvbnN0cnVjdG9yKCl7dGhpcy5vblJlbW92ZT1uZXcgU3ksdGhpcy5vblVwZGF0ZUZpbHRlcj1uZXcgU3ksdGhpcy5oZWlnaHQ9MzAwLHRoaXMuY2hhcnRXaWR0aD0wLHRoaXMuY2hhcnRIZWlnaHQ9MCx0aGlzLmRyYXdIZWlnaHQ9MCx0aGlzLmRyYXdXaWR0aD0wLHRoaXMubWFyZ2luPXt0b3A6MjAscmlnaHQ6MTAsYm90dG9tOjIwLGxlZnQ6MTB9LHRoaXMuZHJhd01hcmdpbj17dG9wOjAscmlnaHQ6MCxib3R0b206MjAsbGVmdDoyMH0sdGhpcy5icnVzaD1nbnQoKSx0aGlzLm1heEJpblNpemU9MCx0aGlzLmFyZWE9KGZ1bmN0aW9uIHQoKXt2YXIgdD1IYXQsZT1udWxsLG49TmF0KDApLG89RmF0LGk9TmF0KCEwKSxhPW51bGwscj1JYXQscz1udWxsO2Z1bmN0aW9uIGwobCl7dmFyIGMsZCxwLG0sZix1PWwubGVuZ3RoLGc9ITEsaD1uZXcgQXJyYXkodSksYj1uZXcgQXJyYXkodSk7Zm9yKG51bGw9PWEmJihzPXIoZj1NbnQoKSkpLGM9MDtjPD11OysrYyl7aWYoIShjPHUmJmkobT1sW2NdLGMsbCkpPT09ZylpZihnPSFnKWQ9YyxzLmFyZWFTdGFydCgpLHMubGluZVN0YXJ0KCk7ZWxzZXtmb3Iocy5saW5lRW5kKCkscy5saW5lU3RhcnQoKSxwPWMtMTtwPj1kOy0tcClzLnBvaW50KGhbcF0sYltwXSk7cy5saW5lRW5kKCkscy5hcmVhRW5kKCl9ZyYmKGhbY109K3QobSxjLGwpLGJbY109K24obSxjLGwpLHMucG9pbnQoZT8rZShtLGMsbCk6aFtjXSxvPytvKG0sYyxsKTpiW2NdKSl9aWYoZilyZXR1cm4gcz1udWxsLGYrIiJ8fG51bGx9ZnVuY3Rpb24gYygpe3JldHVybiBMYXQoKS5kZWZpbmVkKGkpLmN1cnZlKHIpLmNvbnRleHQoYSl9cmV0dXJuIGwueD1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOk5hdCgrbiksZT1udWxsLGwpOnR9LGwueDA9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpOYXQoK2UpLGwpOnR9LGwueDE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9bnVsbD09dD9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TmF0KCt0KSxsKTplfSxsLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpOYXQoK3QpLG89bnVsbCxsKTpufSxsLnkwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TmF0KCt0KSxsKTpufSxsLnkxPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90Ok5hdCgrdCksbCk6b30sbC5saW5lWDA9bC5saW5lWTA9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngodCkueShuKX0sbC5saW5lWTE9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngodCkueShvKX0sbC5saW5lWDE9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngoZSkueShuKX0sbC5kZWZpbmVkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TmF0KCEhdCksbCk6aX0sbC5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LG51bGwhPWEmJihzPXIoYSkpLGwpOnJ9LGwuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obnVsbD09dD9hPXM9bnVsbDpzPXIoYT10KSxsKTphfSxsfSkoKS54MChmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54U2NhbGVOdW0oLXQubGVuZ3RoKX0uYmluZCh0aGlzKSkueDEoZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueFNjYWxlTnVtKHQubGVuZ3RoKX0uYmluZCh0aGlzKSkueShmdW5jdGlvbih0KXtyZXR1cm4gdC54MD09PS0xLzA/dGhpcy5jaGFydEhlaWdodC10aGlzLmRyYXdNYXJnaW4udG9wOnRoaXMueVNjYWxlKCh0LngxK3QueDApLzIpfS5iaW5kKHRoaXMpKS5jdXJ2ZShVYXQpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMudXBkYXRlRGltZW5zaW9ucygpLHRoaXMuc3ZnPW44KHRoaXMuY2hhcnRDb250YWluZXIubmF0aXZlRWxlbWVudCkuc2VsZWN0KCJzdmciKSx0aGlzLm1haW5Db250YWluZXI9dGhpcy5zdmcuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIixgdHJhbnNsYXRlKCR7dGhpcy5tYXJnaW4ubGVmdH0sICR7dGhpcy5tYXJnaW4udG9wfSlgKSx0aGlzLmRyYXdDb250YWluZXI9dGhpcy5tYWluQ29udGFpbmVyLmFwcGVuZCgiZyIpLmF0dHIoInRyYW5zZm9ybSIsYHRyYW5zbGF0ZSgke3RoaXMuZHJhd01hcmdpbi5sZWZ0fSwgJHt0aGlzLmRyYXdNYXJnaW4udG9wfSlgKSx0aGlzLmRvdHNHcm91cD10aGlzLmRyYXdDb250YWluZXIuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJkb3RzR3JvdXAiKSx0aGlzLnlBeGlzR3JvdXA9dGhpcy5tYWluQ29udGFpbmVyLmFwcGVuZCgiZyIpLmF0dHIoImNsYXNzIiwiYXhpcyBheGlzLS15IiksdGhpcy54QXhpc0dyb3VwPXRoaXMubWFpbkNvbnRhaW5lci5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsImF4aXMgYXhpcy0teCIpLHRoaXMubWlzY0dyb3VwPXRoaXMuZHJhd0NvbnRhaW5lci5hcHBlbmQoImciKSx0aGlzLnhTY2FsZT1KbnQoKS5wYWRkaW5nKC4wNSksdGhpcy54QXhpcz1CNih0aGlzLnhTY2FsZSksdGhpcy55U2NhbGU9bW90KCkucmFuZ2UoW3RoaXMuZHJhd0hlaWdodCwwXSksdGhpcy55QXhpcz0oZnVuY3Rpb24gdChlKXtyZXR1cm4gRjYoNCxlKX0pKHRoaXMueVNjYWxlKSx0aGlzLnhTY2FsZU51bT1tb3QoKSx0aGlzLmluaXRpYWxpemVCcnVzaCgpLHRoaXMuZHJhd01pc2MoKSx0aGlzLnJlZHJhdygpfW5nT25DaGFuZ2VzKHQpe3RoaXMuc3ZnJiZ0aGlzLnJlZHJhdygpfXJlZHJhdygpe3RoaXMudXBkYXRlRGltZW5zaW9ucygpLHRoaXMuc2V0TWF4QmluU2l6ZSgpLHRoaXMudXBkYXRlQXhlcygpLHRoaXMuZHJhdygpfXVwZGF0ZURpbWVuc2lvbnMoKXt0aGlzLmNoYXJ0V2lkdGg9dGhpcy53aWR0aC10aGlzLm1hcmdpbi5sZWZ0LXRoaXMubWFyZ2luLnJpZ2h0LHRoaXMuZHJhd1dpZHRoPXRoaXMuY2hhcnRXaWR0aC10aGlzLmRyYXdNYXJnaW4ubGVmdC10aGlzLmRyYXdNYXJnaW4ucmlnaHQsdGhpcy5jaGFydEhlaWdodD10aGlzLmhlaWdodC10aGlzLm1hcmdpbi50b3AtdGhpcy5tYXJnaW4uYm90dG9tLHRoaXMuZHJhd0hlaWdodD10aGlzLmNoYXJ0SGVpZ2h0LXRoaXMuZHJhd01hcmdpbi50b3AtdGhpcy5kcmF3TWFyZ2luLmJvdHRvbX1zZXRNYXhCaW5TaXplKCl7T2JqZWN0LnZhbHVlcyh0aGlzLmNoYXJ0RGF0YS52aW9saW5EYXRhKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10Lm1hcCgodD0+dC5sZW5ndGgpKSxuPU1hdGgubWF4KC4uLmUpO3RoaXMubWF4QmluU2l6ZT1NYXRoLm1heChuLHRoaXMubWF4QmluU2l6ZSl9KSl9dXBkYXRlQXhlcygpe3RoaXMueFNjYWxlLnJhbmdlKFswLHRoaXMuZHJhd1dpZHRoXSkuZG9tYWluKE9iamVjdC5rZXlzKHRoaXMuY2hhcnREYXRhLnZpb2xpbkRhdGEpKSx0aGlzLnlTY2FsZS5kb21haW4oW3RoaXMuY2hhcnREYXRhLmV4dHJlbWVzLm1pbix0aGlzLmNoYXJ0RGF0YS5leHRyZW1lcy5tYXhdKSx0aGlzLnhTY2FsZU51bS5yYW5nZShbMCx0aGlzLnhTY2FsZS5iYW5kd2lkdGgoKV0pLmRvbWFpbihbLXRoaXMubWF4QmluU2l6ZSx0aGlzLm1heEJpblNpemVdKX1pbml0aWFsaXplQnJ1c2goKXt0aGlzLmJydXNoLm9uKCJlbmQiLHRoaXMuYnJ1c2hNb3ZlZC5iaW5kKHRoaXMpKX1kcmF3KCl7dGhpcy5kcmF3QXhlcygpLHRoaXMuZHJhd1Bsb3QoKSx0aGlzLnJlZnJlc2hNaXNjKCksdGhpcy5yZWZyZXNoQnJ1c2goKX1kcmF3QXhlcygpe3RoaXMueUF4aXNHcm91cC5hdHRyKCJ0cmFuc2Zvcm0iLGB0cmFuc2xhdGUoJHt0aGlzLmRyYXdNYXJnaW4ubGVmdH0sXG4gICAgICAke3RoaXMuZHJhd01hcmdpbi50b3B9KWApLmNhbGwodGhpcy55QXhpcyksdGhpcy54QXhpc0dyb3VwLmF0dHIoInRyYW5zZm9ybSIsYHRyYW5zbGF0ZSgke3RoaXMuZHJhd01hcmdpbi5sZWZ0fSxcbiAgICAgICR7dGhpcy5kcmF3TWFyZ2luLnRvcCt0aGlzLmNoYXJ0SGVpZ2h0fSlgKS5jYWxsKHRoaXMueEF4aXMpfWRyYXdQbG90KCl7Y29uc3QgdD10aGlzLmRvdHNHcm91cC5zZWxlY3RBbGwoIi52aW9saW4tcGxvdCIpLmRhdGEoT2JqZWN0LmVudHJpZXModGhpcy5jaGFydERhdGEudmlvbGluRGF0YSkpO3QuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5hdHRyKCJjbGFzcyIsInZpb2xpbi1wbG90Iikuc3R5bGUoInN0cm9rZSIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY29sb3JTY2FsZSh0WzBdKX0uYmluZCh0aGlzKSkuc3R5bGUoImZpbGwiLGZ1bmN0aW9uKHQpe3JldHVybmAke3RoaXMuY29sb3JTY2FsZSh0WzBdKX0zM2B9LmJpbmQodGhpcykpLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuYHRyYW5zbGF0ZSgke3RoaXMueFNjYWxlKHRbMF0pfSwgMClgfS5iaW5kKHRoaXMpKS5kYXR1bSgoZnVuY3Rpb24odCl7cmV0dXJuIHRbMV19KSkuYXR0cigiZCIsdGhpcy5hcmVhKSx0LmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuYHRyYW5zbGF0ZSgke3RoaXMueFNjYWxlKHRbMF0pfSwgMClgfS5iaW5kKHRoaXMpKS5kYXR1bSgoZnVuY3Rpb24odCl7cmV0dXJuIHRbMV19KSkuYXR0cigiZCIsdGhpcy5hcmVhKSx0LmV4aXQoKS5yZW1vdmUoKX1kcmF3TWlzYygpe3RoaXMuemVyb0xpbmU9dGhpcy5taXNjR3JvdXAuYXBwZW5kKCJsaW5lIikuc3R5bGUoInN0cm9rZSIsImJsYWNrIikuYXR0cigieDEiLDApLmF0dHIoInkxIix0aGlzLnlTY2FsZSgwKSkuYXR0cigieDIiLHRoaXMuZHJhd1dpZHRoKS5hdHRyKCJ5MiIsdGhpcy55U2NhbGUoMCkpLHRoaXMubmFuVGV4dD10aGlzLm1pc2NHcm91cC5hcHBlbmQoInRleHQiKS5zdHlsZSgiZmlsbCIsImJsYWNrIikudGV4dCgiTmFOIikuYXR0cigiZm9udC1zaXplIiwiMTBweCIpLmF0dHIoInRleHQtYW5jaG9yIiwiZW5kIikuYXR0cigiYWxpZ25tZW50LWJhc2VsaW5lIiwibWlkZGxlIikuYXR0cigieCIsLTUpLmF0dHIoInkiLHRoaXMuY2hhcnRIZWlnaHQtdGhpcy5kcmF3TWFyZ2luLnRvcCksdGhpcy5uYW5MaW5lPXRoaXMubWlzY0dyb3VwLmFwcGVuZCgibGluZSIpLnN0eWxlKCJzdHJva2UiLCJncmV5Iikuc3R5bGUoInN0cm9rZS1kYXNoYXJyYXkiLCIzLCAzIikuYXR0cigieDEiLDApLmF0dHIoInkxIix0aGlzLmNoYXJ0SGVpZ2h0LXRoaXMuZHJhd01hcmdpbi50b3ApLmF0dHIoIngyIix0aGlzLmRyYXdXaWR0aCkuYXR0cigieTIiLHRoaXMuY2hhcnRIZWlnaHQtdGhpcy5kcmF3TWFyZ2luLnRvcCl9cmVmcmVzaE1pc2MoKXt0aGlzLnplcm9MaW5lLmF0dHIoInkxIix0aGlzLnlTY2FsZSgwKSkuYXR0cigieDIiLHRoaXMuZHJhd1dpZHRoKS5hdHRyKCJ5MiIsdGhpcy55U2NhbGUoMCkpLHRoaXMubmFuVGV4dC5hdHRyKCJ5Iix0aGlzLmNoYXJ0SGVpZ2h0LXRoaXMuZHJhd01hcmdpbi50b3ApLHRoaXMubmFuTGluZS5hdHRyKCJ5MSIsdGhpcy5kcmF3SGVpZ2h0K3RoaXMuZHJhd01hcmdpbi50b3ApLmF0dHIoIngyIix0aGlzLmRyYXdXaWR0aCkuYXR0cigieTIiLHRoaXMuZHJhd0hlaWdodCt0aGlzLmRyYXdNYXJnaW4udG9wKX1yZWZyZXNoQnJ1c2goKXt0aGlzLmJydXNoLmV4dGVudChbWzAsMF0sW3RoaXMuZHJhd1dpZHRoLHRoaXMuZHJhd0hlaWdodCt0aGlzLm1hcmdpbi50b3BdXSk7Y29uc3QgdD1bMCx0aGlzLmRyYXdIZWlnaHQrdGhpcy5tYXJnaW4udG9wXTtpZih0aGlzLmZpbHRlci5tYXg8dGhpcy5maWx0ZXIubWluKXRbMF09dGhpcy5maWx0ZXIuaW5jbHVkZU5hTj90aGlzLnlTY2FsZSh0aGlzLmNoYXJ0RGF0YS5leHRyZW1lcy5taW4pOnRbMV07ZWxzZXtpZighdGhpcy5maWx0ZXIuaW5jbHVkZU5hTil7Y29uc3QgZT1NYXRoLm1heCh0aGlzLmNoYXJ0RGF0YS5leHRyZW1lcy5taW4sdGhpcy5maWx0ZXIubWluKTt0WzFdPXRoaXMueVNjYWxlKGUpfWNvbnN0IGU9TWF0aC5taW4odGhpcy5jaGFydERhdGEuZXh0cmVtZXMubWF4LHRoaXMuZmlsdGVyLm1heCk7dFswXT10aGlzLnlTY2FsZShlKX10aGlzLmRyYXdDb250YWluZXIuY2FsbCh0aGlzLmJydXNoKS5jYWxsKHRoaXMuYnJ1c2gubW92ZSx0KX1icnVzaE1vdmVkKCl7aWYoIVc3KXJldHVybjtpZighVzcuc291cmNlRXZlbnQpcmV0dXJuO2NvbnN0IHQ9Vzcuc2VsZWN0aW9uO2lmKHQpe2xldCBlPSExLG49LTIsbz10aGlzLmNoYXJ0RGF0YS5leHRyZW1lcy5taW47dFswXTw9dGhpcy5kcmF3SGVpZ2h0K3RoaXMubWFyZ2luLnRvcCYmdFsxXT49dGhpcy5kcmF3SGVpZ2h0JiYoZT0hMCksdFswXTx0aGlzLmRyYXdIZWlnaHQmJihuPXRoaXMueVNjYWxlLmludmVydCh0WzBdKSksdFsxXTx0aGlzLmRyYXdIZWlnaHQmJihvPXRoaXMueVNjYWxlLmludmVydCh0WzFdKSksdGhpcy5vblVwZGF0ZUZpbHRlci5lbWl0KHttYXg6bixtaW46byxpbmNsdWRlTmFOOmV9KX1lbHNlIHRoaXMub25VcGRhdGVGaWx0ZXIuZW1pdCh7bWF4OjEsbWluOi0xLGluY2x1ZGVOYU46ITB9KX19YU90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxhT3QpfSxhT3QuybVjbXA9c28oe3R5cGU6YU90LHNlbGVjdG9yczpbWyJ2aW9saW4tZmlsdGVyLWNvbXBvbmVudCJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkoaU90LDcsS2gpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uY2hhcnRDb250YWluZXI9dC5maXJzdCl9fSxpbnB1dHM6e21ldHJpY05hbWU6Im1ldHJpY05hbWUiLGZpbHRlcjoiZmlsdGVyIixjaGFydERhdGE6ImNoYXJ0RGF0YSIsd2lkdGg6IndpZHRoIixjb2xvclNjYWxlOiJjb2xvclNjYWxlIn0sb3V0cHV0czp7b25SZW1vdmU6Im9uUmVtb3ZlIixvblVwZGF0ZUZpbHRlcjoib25VcGRhdGVGaWx0ZXIifSxmZWF0dXJlczpbcW9dLGRlY2xzOjksdmFyczoxLGNvbnN0czpmdW5jdGlvbigpe2xldCB0O2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXt0PWdvb2cuZ2V0TXNnKCJSZW1vdmUgRmlsdGVyIil9ZWxzZSB0PSRsb2NhbGl6ZWA6TGFiZWwgZm9yIGEgYnV0dG9uIHRoYXQgcmVtb3ZlcyBhIG1ldHJpYyBmaWx0ZXIu4pCfYTZiZmFkNThiYjM2M2Q1Yzg5MWQwYTU0NzRiMWQ3N2VmOTBhMzRkYeKQnzg0NTQ5NjE3OTc3NjI5MDc2MjQ6UmVtb3ZlIEZpbHRlcmA7cmV0dXJuW1sxLCJjaGFydC1jb250YWluZXIiXSxbInRpdGxlIiwiU2hvd3MgdGhlIG5QTUkgdmFsdWUgZGlzdHJpYnV0aW9uIHBlciBydW4uIFJhbmdlcyBvZiBzZWxlY3RlZCB2YWx1ZXMgY2FuIGJlIG1hbmlwdWxhdGVkIGJ5IG1vZGlmeWluZyB0aGUgZ3JleSBib3guIiwxLCJjaGFydC1oZWFkIl0sWzEsImNoYXJ0LWhlYWRpbmciXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMywiY2xpY2siXSxbInN2Z0ljb24iLCJjbGVhcl8yNHB4Il0sWzEsImNoYXJ0Il0sWyJjaGFydCIsIiJdLFsxLCJkcmF3LWFyZWEiXV19LHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLENmKDEsImRpdiIsMSksQ2YoMiwiZGl2IiwyKSxQdSgzKSxNZigpLENmKDQsImJ1dHRvbiIsMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUmVtb3ZlLmVtaXQoKX0pKSx2Zig1LCJtYXQtaWNvbiIsNCksTWYoKSxNZigpLENmKDYsImRpdiIsNSw2KSxvYSgpLHZmKDgsInN2ZyIsNyksTWYoKSxNZigpKSwyJmUmJihEYygzKSx3dShuLm1ldHJpY05hbWUpKX0sZGlyZWN0aXZlczpbTkwsTXFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5jaGFydC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufS5jaGFydFtfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjMwMHB4O3dpZHRoOjEwMCV9LmNoYXJ0LWhlYWRbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmNoYXJ0LWhlYWRpbmdbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctdG9wOjEwcHh9LmRyYXctYXJlYVtfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uc3Ryb2tlZC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtzdHJva2U6cmdiYSgwLDAsMCwuMTIpO3N0cm9rZS1kYXNoYXJyYXk6MyAzfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihhT3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidmlvbGluLWZpbHRlci1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL3Zpb2xpbl9maWx0ZXJfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vdmlvbGluX2ZpbHRlcl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bWV0cmljTmFtZTpbe3R5cGU6Ul99XSxmaWx0ZXI6W3t0eXBlOlJffV0sY2hhcnREYXRhOlt7dHlwZTpSX31dLHdpZHRoOlt7dHlwZTpSX31dLGNvbG9yU2NhbGU6W3t0eXBlOlJffV0sb25SZW1vdmU6W3t0eXBlOkVffV0sb25VcGRhdGVGaWx0ZXI6W3t0eXBlOkVffV0sY2hhcnRDb250YWluZXI6W3t0eXBlOmFyLGFyZ3M6WyJjaGFydCIse3N0YXRpYzohMCxyZWFkOktofV19XX0pO2NsYXNzIHJPdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5hY3RpdmVSdW5zJD10aGlzLnN0b3JlLnBpcGUoclMoX0kpKS5waXBlKFZ0KCh0PT50P0FycmF5LmZyb20odC5lbnRyaWVzKCkpLmZpbHRlcigodD0+dFsxXSkpLm1hcCgodD0+dFswXSkpOltdKSkpLHRoaXMudmlzaWJsZUFubm90YXRpb25zJD1LdChbdGhpcy5zdG9yZS5zZWxlY3QoWXZ0KSx0aGlzLnN0b3JlLnNlbGVjdChKdnQpLHRoaXMuc3RvcmUuc2VsZWN0KHN4dCldKS5waXBlKFZ0KCgoW3QsZSxuXSk9Pm9PdCh0LGUsbikpKSksdGhpcy5jaGFydFdpZHRoJD10aGlzLnN0b3JlLnBpcGUoclMoY3h0KSkucGlwZShWdCgodD0+TWF0aC5tYXgoMTUwLHQpKSkpLHRoaXMucnVuQ29sb3JTY2FsZSQ9dGhpcy5zdG9yZS5zZWxlY3QoQ0kpLnBpcGUoVnQoKHQ9PmU9PntpZighdC5oYXNPd25Qcm9wZXJ0eShlKSl0aHJvdyBuZXcgRXJyb3IoYFtDb2xvciBzY2FsZV0gdW5rbm93biBydW5JZDogJHtlfS5gKTtyZXR1cm4gdFtlXX0pKSl9bmdPbkluaXQoKXt0aGlzLmNoYXJ0RGF0YSQ9S3QoW3RoaXMudmlzaWJsZUFubm90YXRpb25zJCx0aGlzLmFjdGl2ZVJ1bnMkXSkucGlwZShWdCgoKFt0LGVdKT0+KGZ1bmN0aW9uIG4odCxlLG8pe2NvbnN0IGk9e30sYT17fSxyPW5ldyBTZXQoZSkscz16X3QobyksbD17bWF4Oi0xLG1pbjoxfTtPYmplY3QudmFsdWVzKHQpLmZvckVhY2goKHQ9Pnt0LmZvckVhY2goKHQ9Pntjb25zdCBlPXQucnVuO2lmKHIuaGFzKGUpJiZ0Lm1ldHJpYz09PXMpaWYobnVsbD09PXQublBNSVZhbHVlKWFbZV0/YVtlXS5wdXNoKG51bGwpOmFbZV09W251bGxdO2Vsc2V7Y29uc3Qgbj10Lm5QTUlWYWx1ZTtsLm1heD1sLm1heDxuP246bC5tYXgsbC5taW49bC5taW4+bj9uOmwubWluLGlbdC5ydW5dP2lbZV0ucHVzaChuKTppW2VdPVtuXX19KSl9KSk7Y29uc3QgYz17fSxkPUQ2KCkuZG9tYWluKFtsLm1pbixsLm1heF0pLnZhbHVlKCh0PT50KSkscD1ENigpLmRvbWFpbihbLTEvMCwxLzBdKS50aHJlc2hvbGRzKDApLnZhbHVlKCh0PT50KSk7Zm9yKGNvbnN0IHQgb2YgcilpZihjW3RdPWQoaVt0XSksYVt0XSl7Y29uc3QgZT1wKGFbdF0pO2NbdF0udW5zaGlmdChlWzBdKX1yZXR1cm57dmlvbGluRGF0YTpjLGV4dHJlbWVzOmx9fSkodCxlLHRoaXMubWV0cmljTmFtZSkpKSl9cmVtb3ZlTWV0cmljKCl7dGhpcy5zdG9yZS5kaXNwYXRjaChQdnQoe21ldHJpYzp0aGlzLm1ldHJpY05hbWV9KSl9dXBkYXRlRmlsdGVyKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2god3Z0KE9iamVjdC5hc3NpZ24oe21ldHJpYzp0aGlzLm1ldHJpY05hbWV9LHQpKSl9fWZ1bmN0aW9uIHNPdCh0LGUpe2lmKDEmdCYmdmYoMCwibnBtaS12aW9saW4tZmlsdGVyIiw4KSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQ7YmYoIm1ldHJpY05hbWUiLHRbMF0pKCJmaWx0ZXIiLHRbMV0pfX1mdW5jdGlvbiBsT3QodCxlKXsxJnQmJihDZigwLCJkaXYiLDkpLENmKDEsInNwYW4iLDEwKSxQdSgyLCIgWW91IGNhbiBhZGQgbW9yZSBmaWx0ZXJzIGF0IHRoZSB0b3AuICIpLE1mKCksTWYoKSl9ck90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxyT3QpKGdmKGlTKSl9LHJPdC7JtWNtcD1zbyh7dHlwZTpyT3Qsc2VsZWN0b3JzOltbIm5wbWktdmlvbGluLWZpbHRlciJdXSxpbnB1dHM6e21ldHJpY05hbWU6Im1ldHJpY05hbWUiLGZpbHRlcjoiZmlsdGVyIn0sZGVjbHM6NCx2YXJzOjExLGNvbnN0czpbWzMsIm1ldHJpY05hbWUiLCJmaWx0ZXIiLCJjaGFydERhdGEiLCJ3aWR0aCIsImNvbG9yU2NhbGUiLCJvblJlbW92ZSIsIm9uVXBkYXRlRmlsdGVyIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJ2aW9saW4tZmlsdGVyLWNvbXBvbmVudCIsMCksUmYoIm9uUmVtb3ZlIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLnJlbW92ZU1ldHJpYygpfSkpKCJvblVwZGF0ZUZpbHRlciIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4udXBkYXRlRmlsdGVyKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoIm1ldHJpY05hbWUiLG4ubWV0cmljTmFtZSkoImZpbHRlciIsbi5maWx0ZXIpKCJjaGFydERhdGEiLEN5KDEsNSxuLmNoYXJ0RGF0YSQpKSgid2lkdGgiLEN5KDIsNyxuLmNoYXJ0V2lkdGgkKSkoImNvbG9yU2NhbGUiLEN5KDMsOSxuLnJ1bkNvbG9yU2NhbGUkKSl9LGRpcmVjdGl2ZXM6W2FPdF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHJPdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLXZpb2xpbi1maWx0ZXIiLHRlbXBsYXRlOidcbiAgICA8dmlvbGluLWZpbHRlci1jb21wb25lbnRcbiAgICAgIFttZXRyaWNOYW1lXT0ibWV0cmljTmFtZSJcbiAgICAgIFtmaWx0ZXJdPSJmaWx0ZXIiXG4gICAgICBbY2hhcnREYXRhXT0iY2hhcnREYXRhJCB8IGFzeW5jIlxuICAgICAgW3dpZHRoXT0iY2hhcnRXaWR0aCQgfCBhc3luYyJcbiAgICAgIFtjb2xvclNjYWxlXT0icnVuQ29sb3JTY2FsZSQgfCBhc3luYyJcbiAgICAgIChvblJlbW92ZSk9InJlbW92ZU1ldHJpYygpIlxuICAgICAgKG9uVXBkYXRlRmlsdGVyKT0idXBkYXRlRmlsdGVyKCRldmVudCkiXG4gICAgPjwvdmlvbGluLWZpbHRlci1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSx7bWV0cmljTmFtZTpbe3R5cGU6Ul99XSxmaWx0ZXI6W3t0eXBlOlJffV19KTtjbGFzcyBjT3R7Y29uc3RydWN0b3IoKXt0aGlzLnRvZ2dsZVNpZGViYXJFeHBhbmRlZD1uZXcgU3l9fWNPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Y090KX0sY090Lsm1Y21wPXNvKHt0eXBlOmNPdCxzZWxlY3RvcnM6W1sidmlvbGluLWZpbHRlcnMtY29tcG9uZW50Il1dLGlucHV0czp7c2lkZWJhckV4cGFuZGVkOiJzaWRlYmFyRXhwYW5kZWQiLG1ldHJpY0ZpbHRlcnM6Im1ldHJpY0ZpbHRlcnMifSxvdXRwdXRzOnt0b2dnbGVTaWRlYmFyRXhwYW5kZWQ6InRvZ2dsZVNpZGViYXJFeHBhbmRlZCJ9LGRlY2xzOjksdmFyczoyLGNvbnN0czpmdW5jdGlvbigpe2xldCB0O2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXt0PWdvb2cuZ2V0TXNnKCJFeHBhbmQvSGlkZSBTaWRlYmFyIil9ZWxzZSB0PSRsb2NhbGl6ZWA6TGFiZWwgZm9yIGEgYnV0dG9uIHRoYXQgZXhwYW5kcy9oaWRlcyB0aGUgc2lkZWJhci7ikJ80OGMyOTkwM2NlODgxYWI2MTA4OGY4ZDQ5ZDgyNzIwMzcxNmFhZWQ04pCfNDY1ODYwMjk5MTk3MDI2MDIxNTpFeHBhbmQvSGlkZSBTaWRlYmFyYDtyZXR1cm5bWzEsImZpbHRlcnMtdG9vbGJhciJdLFsxLCJmaWx0ZXJzLXRpdGxlIl0sWzEsInNpZGUtdG9nZ2xlIl0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJhcmlhLWxhYmVsIix0LDMsImNsaWNrIl0sWyJzdmdJY29uIiwiY2hldnJvbl9sZWZ0XzI0cHgiXSxbMSwiZmlsdGVycyJdLFszLCJtZXRyaWNOYW1lIiwiZmlsdGVyIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbImNsYXNzIiwiZmlsdGVycy1oaW50Iiw0LCJuZ0lmIl0sWzMsIm1ldHJpY05hbWUiLCJmaWx0ZXIiXSxbMSwiZmlsdGVycy1oaW50Il0sWzEsImZpbHRlcnMtaGludC10ZXh0Il1dfSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZGl2IiwwKSxDZigxLCJoMyIsMSksUHUoMiwiQWN0aXZlIEZpbHRlcnMiKSxNZigpLENmKDMsImRpdiIsMiksQ2YoNCwiYnV0dG9uIiwzKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4udG9nZ2xlU2lkZWJhckV4cGFuZGVkLmVtaXQoKX0pKSx2Zig1LCJtYXQtaWNvbiIsNCksTWYoKSxNZigpLE1mKCksQ2YoNiwiZGl2Iiw1KSxIbSg3LHNPdCwxLDIsIm5wbWktdmlvbGluLWZpbHRlciIsNiksTWYoKSxIbSg4LGxPdCwzLDAsImRpdiIsNykpLDImZSYmKERjKDcpLGJmKCJuZ0Zvck9mIixuLm1ldHJpY0ZpbHRlcnMpLERjKDEpLGJmKCJuZ0lmIiwwPT09bi5tZXRyaWNGaWx0ZXJzLmxlbmd0aCkpfSxkaXJlY3RpdmVzOltOTCxNcSx4dixQdixyT3RdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJX0uZmlsdGVycy10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQycHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzowIDEwcHh9LmZpbHRlcnMtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0uc2lkZS10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MzBweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjMwcHh9LmZpbHRlcnNbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93LXk6YXV0b30uZmlsdGVycy1oaW50W19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDo0MnB4O3BhZGRpbmc6MCAxNnB4fS5maWx0ZXJzLWhpbnQtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgwLDAsMCwuMzgpfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihjT3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidmlvbGluLWZpbHRlcnMtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi92aW9saW5fZmlsdGVyc19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi92aW9saW5fZmlsdGVyc19jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7c2lkZWJhckV4cGFuZGVkOlt7dHlwZTpSX31dLG1ldHJpY0ZpbHRlcnM6W3t0eXBlOlJffV0sdG9nZ2xlU2lkZWJhckV4cGFuZGVkOlt7dHlwZTpFX31dfSk7Y2xhc3MgZE90e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLnNpZGViYXJFeHBhbmRlZCQ9dGhpcy5zdG9yZS5zZWxlY3QoYXh0KSx0aGlzLm1ldHJpY0ZpbHRlcnMkPXRoaXMuc3RvcmUuc2VsZWN0KGV4dCkucGlwZShWdCgodD0+T2JqZWN0LmVudHJpZXModCkpKSl9b25Ub2dnbGVTaWRlYmFyRXhwYW5kZWQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKEV2dCgpKX19ZnVuY3Rpb24gcE90KHQsZSxuKXtjb25zdCBvPU9iamVjdC5rZXlzKHQpLGk9ZS5vcmRlcj09PVV2dC5ESVNTSU1JTEFSfHxlLm9yZGVyPT09VXZ0LlNJTUlMQVI7aWYoIiI9PT1lLm1ldHJpY3x8KHZvaWQgMD09PW58fHZvaWQgMD09PW4ucG9pbnRzW2UubWV0cmljXSkmJmkpcmV0dXJuIG87cmV0dXJuKGZ1bmN0aW9uIHModCxlLG4pe2lmKG4pcmV0dXJuIHQuc29ydCgoKHQsbik9PmVbdF0tZVtuXSkpO3JldHVybiB0LnNvcnQoKCh0LG4pPT5lW25dLWVbdF0pKX0pKG8saT8oZnVuY3Rpb24gYSh0LGUsbil7Y29uc3Qgbz17fTtsZXQgaT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksYT1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7bi5vcmRlcj09PVV2dC5TSU1JTEFSJiYoaT1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksYT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpO2Zvcihjb25zdCByIG9mIHQpb1tyXT1yPT09bi5tZXRyaWM/aTp2b2lkIDA9PT1lLnBvaW50c1tyXT9hOmUucG9pbnRzW3JdLnZlY3Rvcj9tT3QoZS5wb2ludHNbbi5tZXRyaWNdLnZlY3RvcixlLnBvaW50c1tyXS52ZWN0b3IsYSk6YTtyZXR1cm4gb30pKG8sbixlKTooZnVuY3Rpb24gcih0LGUsbil7Y29uc3Qgbz16X3Qobi5tZXRyaWMpLGk9e307aWYobi5vcmRlcj09PVV2dC5ERVNDRU5ESU5HKWZvcihjb25zdCBuIG9mIHQpaVtuXT1NYXRoLm1heCguLi5lW25dLmZpbHRlcigodD0+dC5tZXRyaWM9PT1vKSkubWFwKCh0PT5udWxsPT09dC5uUE1JVmFsdWU/LTEvMDp0Lm5QTUlWYWx1ZSkpKTtlbHNlIGZvcihjb25zdCBuIG9mIHQpaVtuXT1NYXRoLm1pbiguLi5lW25dLmZpbHRlcigodD0+dC5tZXRyaWM9PT1vKSkubWFwKCh0PT5udWxsPT09dC5uUE1JVmFsdWU/MS8wOnQublBNSVZhbHVlKSkpO3JldHVybiBpfSkobyx0LGUpLGUub3JkZXI9PT1VdnQuQVNDRU5ETkd8fGUub3JkZXI9PT1VdnQuU0lNSUxBUil9ZnVuY3Rpb24gbU90KHQsZSxuKXtpZih0Lmxlbmd0aCE9ZS5sZW5ndGgpcmV0dXJuIG47cmV0dXJuIGUubWFwKCgoZSxuKT0+ZS10W25dKSkubWFwKCh0PT5NYXRoLnBvdyh0LDIpKSkucmVkdWNlKCgodCxlKT0+dCtlKSwwKX1kT3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGRPdCkoZ2YoaVMpKX0sZE90Lsm1Y21wPXNvKHt0eXBlOmRPdCxzZWxlY3RvcnM6W1sibnBtaS12aW9saW4tZmlsdGVycyJdXSxkZWNsczozLHZhcnM6Nixjb25zdHM6W1szLCJzaWRlYmFyRXhwYW5kZWQiLCJtZXRyaWNGaWx0ZXJzIiwidG9nZ2xlU2lkZWJhckV4cGFuZGVkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJ2aW9saW4tZmlsdGVycy1jb21wb25lbnQiLDApLFJmKCJ0b2dnbGVTaWRlYmFyRXhwYW5kZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub2dnbGVTaWRlYmFyRXhwYW5kZWQoKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksTWYoKSksMiZlJiZiZigic2lkZWJhckV4cGFuZGVkIixDeSgxLDIsbi5zaWRlYmFyRXhwYW5kZWQkKSkoIm1ldHJpY0ZpbHRlcnMiLEN5KDIsNCxuLm1ldHJpY0ZpbHRlcnMkKSl9LGRpcmVjdGl2ZXM6W2NPdF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRPdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLXZpb2xpbi1maWx0ZXJzIix0ZW1wbGF0ZTonXG4gICAgPHZpb2xpbi1maWx0ZXJzLWNvbXBvbmVudFxuICAgICAgW3NpZGViYXJFeHBhbmRlZF09InNpZGViYXJFeHBhbmRlZCQgfCBhc3luYyJcbiAgICAgIFttZXRyaWNGaWx0ZXJzXT0ibWV0cmljRmlsdGVycyQgfCBhc3luYyJcbiAgICAgICh0b2dnbGVTaWRlYmFyRXhwYW5kZWQpPSJvblRvZ2dsZVNpZGViYXJFeHBhbmRlZCgpIlxuICAgID48L3Zpb2xpbi1maWx0ZXJzLWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLG51bGwpO2NvbnN0IGZPdD1bInRodW1iQ29udGFpbmVyIl0sdU90PVsidG9nZ2xlQmFyIl0sZ090PVsiaW5wdXQiXSxoT3Q9ZnVuY3Rpb24odCl7cmV0dXJue2VudGVyRHVyYXRpb246dH19LGJPdD1uZXcgZXIoIm1hdC1zbGlkZS10b2dnbGUtZGVmYXVsdC1vcHRpb25zIix7cHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTooKT0+KHtkaXNhYmxlVG9nZ2xlVmFsdWU6ITF9KX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KbGV0IHlPdD0wO2NvbnN0IF9PdD17cHJvdmlkZTp4VSx1c2VFeGlzdGluZzokZSgoKCk9PnZPdCkpLG11bHRpOiEwfTtjbGFzcyBDT3R7Y29uc3RydWN0b3IodCxlKXt0aGlzLnNvdXJjZT10LHRoaXMuY2hlY2tlZD1lfX1jb25zdCBNT3Q9RkYoSUYoSEYoekYoY2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5fZWxlbWVudFJlZj10fX0pKSkpO2NsYXNzIHZPdCBleHRlbmRzIE1PdHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7c3VwZXIodCksdGhpcy5fZm9jdXNNb25pdG9yPWUsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9bix0aGlzLmRlZmF1bHRzPWksdGhpcy5fb25DaGFuZ2U9dD0+e30sdGhpcy5fb25Ub3VjaGVkPSgpPT57fSx0aGlzLl91bmlxdWVJZD0ibWF0LXNsaWRlLXRvZ2dsZS0iKyArK3lPdCx0aGlzLl9yZXF1aXJlZD0hMSx0aGlzLl9jaGVja2VkPSExLHRoaXMubmFtZT1udWxsLHRoaXMuaWQ9dGhpcy5fdW5pcXVlSWQsdGhpcy5sYWJlbFBvc2l0aW9uPSJhZnRlciIsdGhpcy5hcmlhTGFiZWw9bnVsbCx0aGlzLmFyaWFMYWJlbGxlZGJ5PW51bGwsdGhpcy5jaGFuZ2U9bmV3IFN5LHRoaXMudG9nZ2xlQ2hhbmdlPW5ldyBTeSx0aGlzLnRhYkluZGV4PXBhcnNlSW50KG8pfHwwLHRoaXMuY29sb3I9dGhpcy5kZWZhdWx0Q29sb3I9aS5jb2xvcnx8ImFjY2VudCIsdGhpcy5fbm9vcEFuaW1hdGlvbnM9Ik5vb3BBbmltYXRpb25zIj09PWF9Z2V0IHJlcXVpcmVkKCl7cmV0dXJuIHRoaXMuX3JlcXVpcmVkfXNldCByZXF1aXJlZCh0KXt0aGlzLl9yZXF1aXJlZD1lSCh0KX1nZXQgY2hlY2tlZCgpe3JldHVybiB0aGlzLl9jaGVja2VkfXNldCBjaGVja2VkKHQpe3RoaXMuX2NoZWNrZWQ9ZUgodCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9Z2V0IGlucHV0SWQoKXtyZXR1cm5gJHt0aGlzLmlkfHx0aGlzLl91bmlxdWVJZH0taW5wdXRgfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsITApLnN1YnNjcmliZSgodD0+eyJrZXlib2FyZCI9PT10fHwicHJvZ3JhbSI9PT10P3RoaXMuX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk6dHx8UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PnRoaXMuX29uVG91Y2hlZCgpKSl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZil9X29uQ2hhbmdlRXZlbnQodCl7dC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnRvZ2dsZUNoYW5nZS5lbWl0KCksdGhpcy5kZWZhdWx0cy5kaXNhYmxlVG9nZ2xlVmFsdWU/dGhpcy5faW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2hlY2tlZD10aGlzLmNoZWNrZWQ6KHRoaXMuY2hlY2tlZD10aGlzLl9pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5jaGVja2VkLHRoaXMuX2VtaXRDaGFuZ2VFdmVudCgpKX1fb25JbnB1dENsaWNrKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9d3JpdGVWYWx1ZSh0KXt0aGlzLmNoZWNrZWQ9ISF0fXJlZ2lzdGVyT25DaGFuZ2UodCl7dGhpcy5fb25DaGFuZ2U9dH1yZWdpc3Rlck9uVG91Y2hlZCh0KXt0aGlzLl9vblRvdWNoZWQ9dH1zZXREaXNhYmxlZFN0YXRlKHQpe3RoaXMuZGlzYWJsZWQ9dCx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX1mb2N1cyh0LGUpe2U/dGhpcy5fZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuX2lucHV0RWxlbWVudCxlLHQpOnRoaXMuX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKHQpfXRvZ2dsZSgpe3RoaXMuY2hlY2tlZD0hdGhpcy5jaGVja2VkLHRoaXMuX29uQ2hhbmdlKHRoaXMuY2hlY2tlZCl9X2VtaXRDaGFuZ2VFdmVudCgpe3RoaXMuX29uQ2hhbmdlKHRoaXMuY2hlY2tlZCksdGhpcy5jaGFuZ2UuZW1pdChuZXcgQ090KHRoaXMsdGhpcy5jaGVja2VkKSl9X29uTGFiZWxUZXh0Q2hhbmdlKCl7dGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpfX12T3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHZPdCkoZ2YoS2gpLGdmKGZGKSxnZihPYiksR2EoInRhYmluZGV4IiksZ2YoYk90KSxnZihjayw4KSl9LHZPdC7JtWNtcD1zbyh7dHlwZTp2T3Qsc2VsZWN0b3JzOltbIm1hdC1zbGlkZS10b2dnbGUiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihWeShmT3QsNSksVnkodU90LDUpLFZ5KGdPdCw1KSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5fdGh1bWJFbD10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5fdGh1bWJCYXJFbD10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5faW5wdXRFbGVtZW50PXQuZmlyc3QpfX0saG9zdEF0dHJzOlsxLCJtYXQtc2xpZGUtdG9nZ2xlIl0saG9zdFZhcnM6MTIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJihjZygiaWQiLG4uaWQpLHltKCJ0YWJpbmRleCIsbi5kaXNhYmxlZD9udWxsOi0xKSgiYXJpYS1sYWJlbCIsbnVsbCkoImFyaWEtbGFiZWxsZWRieSIsbnVsbCksY3UoIm1hdC1jaGVja2VkIixuLmNoZWNrZWQpKCJtYXQtZGlzYWJsZWQiLG4uZGlzYWJsZWQpKCJtYXQtc2xpZGUtdG9nZ2xlLWxhYmVsLWJlZm9yZSIsImJlZm9yZSI9PW4ubGFiZWxQb3NpdGlvbikoIl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIixuLl9ub29wQW5pbWF0aW9ucykpfSxpbnB1dHM6e2Rpc2FibGVkOiJkaXNhYmxlZCIsZGlzYWJsZVJpcHBsZToiZGlzYWJsZVJpcHBsZSIsY29sb3I6ImNvbG9yIix0YWJJbmRleDoidGFiSW5kZXgiLG5hbWU6Im5hbWUiLGlkOiJpZCIsbGFiZWxQb3NpdGlvbjoibGFiZWxQb3NpdGlvbiIsYXJpYUxhYmVsOlsiYXJpYS1sYWJlbCIsImFyaWFMYWJlbCJdLGFyaWFMYWJlbGxlZGJ5OlsiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYUxhYmVsbGVkYnkiXSxyZXF1aXJlZDoicmVxdWlyZWQiLGNoZWNrZWQ6ImNoZWNrZWQiLGFyaWFEZXNjcmliZWRieTpbImFyaWEtZGVzY3JpYmVkYnkiLCJhcmlhRGVzY3JpYmVkYnkiXX0sb3V0cHV0czp7Y2hhbmdlOiJjaGFuZ2UiLHRvZ2dsZUNoYW5nZToidG9nZ2xlQ2hhbmdlIn0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdLGZlYXR1cmVzOltqaChbX090XSksUXBdLG5nQ29udGVudFNlbGVjdG9yczpbIioiXSxkZWNsczoxNix2YXJzOjIwLGNvbnN0czpbWzEsIm1hdC1zbGlkZS10b2dnbGUtbGFiZWwiXSxbImxhYmVsIiwiIl0sWzEsIm1hdC1zbGlkZS10b2dnbGUtYmFyIl0sWyJ0b2dnbGVCYXIiLCIiXSxbInR5cGUiLCJjaGVja2JveCIsInJvbGUiLCJzd2l0Y2giLDEsIm1hdC1zbGlkZS10b2dnbGUtaW5wdXQiLCJjZGstdmlzdWFsbHktaGlkZGVuIiwzLCJpZCIsInJlcXVpcmVkIiwidGFiSW5kZXgiLCJjaGVja2VkIiwiZGlzYWJsZWQiLCJjaGFuZ2UiLCJjbGljayJdLFsiaW5wdXQiLCIiXSxbMSwibWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXIiXSxbInRodW1iQ29udGFpbmVyIiwiIl0sWzEsIm1hdC1zbGlkZS10b2dnbGUtdGh1bWIiXSxbIm1hdC1yaXBwbGUiLCIiLDEsIm1hdC1zbGlkZS10b2dnbGUtcmlwcGxlIiwibWF0LWZvY3VzLWluZGljYXRvciIsMywibWF0UmlwcGxlVHJpZ2dlciIsIm1hdFJpcHBsZURpc2FibGVkIiwibWF0UmlwcGxlQ2VudGVyZWQiLCJtYXRSaXBwbGVSYWRpdXMiLCJtYXRSaXBwbGVBbmltYXRpb24iXSxbMSwibWF0LXJpcHBsZS1lbGVtZW50IiwibWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZSJdLFsxLCJtYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnQiLDMsImNka09ic2VydmVDb250ZW50Il0sWyJsYWJlbENvbnRlbnQiLCIiXSxbMiwiZGlzcGxheSIsIm5vbmUiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKEhmKCksQ2YoMCwibGFiZWwiLDAsMSksQ2YoMiwiZGl2IiwyLDMpLENmKDQsImlucHV0Iiw0LDUpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9vbkNoYW5nZUV2ZW50KGUpfSkpKCJjbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX29uSW5wdXRDbGljayhlKX0pKSxNZigpLENmKDYsImRpdiIsNiw3KSx2Zig4LCJkaXYiLDgpLENmKDksImRpdiIsOSksdmYoMTAsImRpdiIsMTApLE1mKCksTWYoKSxNZigpLENmKDExLCJzcGFuIiwxMSwxMiksUmYoImNka09ic2VydmVDb250ZW50IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9vbkxhYmVsVGV4dENoYW5nZSgpfSkpLENmKDEzLCJzcGFuIiwxMyksUHUoMTQsIsKgIiksTWYoKSxGZigxNSksTWYoKSxNZigpKSwyJmUpe2NvbnN0IHQ9Rm0oMSksZT1GbSgxMik7eW0oImZvciIsbi5pbnB1dElkKSxEYygyKSxjdSgibWF0LXNsaWRlLXRvZ2dsZS1iYXItbm8tc2lkZS1tYXJnaW4iLCFlLnRleHRDb250ZW50fHwhZS50ZXh0Q29udGVudC50cmltKCkpLERjKDIpLGJmKCJpZCIsbi5pbnB1dElkKSgicmVxdWlyZWQiLG4ucmVxdWlyZWQpKCJ0YWJJbmRleCIsbi50YWJJbmRleCkoImNoZWNrZWQiLG4uY2hlY2tlZCkoImRpc2FibGVkIixuLmRpc2FibGVkKSx5bSgibmFtZSIsbi5uYW1lKSgiYXJpYS1jaGVja2VkIixuLmNoZWNrZWQudG9TdHJpbmcoKSkoImFyaWEtbGFiZWwiLG4uYXJpYUxhYmVsKSgiYXJpYS1sYWJlbGxlZGJ5IixuLmFyaWFMYWJlbGxlZGJ5KSgiYXJpYS1kZXNjcmliZWRieSIsbi5hcmlhRGVzY3JpYmVkYnkpLERjKDUpLGJmKCJtYXRSaXBwbGVUcmlnZ2VyIix0KSgibWF0UmlwcGxlRGlzYWJsZWQiLG4uZGlzYWJsZVJpcHBsZXx8bi5kaXNhYmxlZCkoIm1hdFJpcHBsZUNlbnRlcmVkIiwhMCkoIm1hdFJpcHBsZVJhZGl1cyIsMjApKCJtYXRSaXBwbGVBbmltYXRpb24iLGl5KDE4LGhPdCxuLl9ub29wQW5pbWF0aW9ucz8wOjE1MCkpfX0sZGlyZWN0aXZlczpbbUwsUEhdLHN0eWxlczpbIi5tYXQtc2xpZGUtdG9nZ2xle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyNHB4O21heC13aWR0aDoxMDAlO2xpbmUtaGVpZ2h0OjI0cHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVye3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxNnB4LCAwLCAwKX1bZGlyPXJ0bF0gLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVye3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTZweCwgMCwgMCl9Lm1hdC1zbGlkZS10b2dnbGUubWF0LWRpc2FibGVke29wYWNpdHk6LjM4fS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1kaXNhYmxlZCAubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbCwubWF0LXNsaWRlLXRvZ2dsZS5tYXQtZGlzYWJsZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVye2N1cnNvcjpkZWZhdWx0fS5tYXQtc2xpZGUtdG9nZ2xlLWxhYmVsey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtkaXNwbGF5OmZsZXg7ZmxleDoxO2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXJ9Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudHt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lm1hdC1zbGlkZS10b2dnbGUtbGFiZWwtYmVmb3JlIC5tYXQtc2xpZGUtdG9nZ2xlLWxhYmVse29yZGVyOjF9Lm1hdC1zbGlkZS10b2dnbGUtbGFiZWwtYmVmb3JlIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntvcmRlcjoyfVtkaXI9cnRsXSAubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbC1iZWZvcmUgLm1hdC1zbGlkZS10b2dnbGUtYmFyLC5tYXQtc2xpZGUtdG9nZ2xlLWJhcnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0OjB9W2Rpcj1ydGxdIC5tYXQtc2xpZGUtdG9nZ2xlLWJhciwubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbC1iZWZvcmUgLm1hdC1zbGlkZS10b2dnbGUtYmFye21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MH0ubWF0LXNsaWRlLXRvZ2dsZS1iYXItbm8tc2lkZS1tYXJnaW57bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MH0ubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7dG9wOi0zcHg7bGVmdDowO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTt0cmFuc2l0aW9uOmFsbCA4MG1zIGxpbmVhcjt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVye3RyYW5zaXRpb246bm9uZX1bZGlyPXJ0bF0gLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVye2xlZnQ6YXV0bztyaWdodDowfS5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7Ym9yZGVyLXJhZGl1czo1MCV9Lm1hdC1zbGlkZS10b2dnbGUtYmFye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjM2cHg7aGVpZ2h0OjE0cHg7ZmxleC1zaHJpbms6MDtib3JkZXItcmFkaXVzOjhweH0ubWF0LXNsaWRlLXRvZ2dsZS1pbnB1dHtib3R0b206MDtsZWZ0OjEwcHh9W2Rpcj1ydGxdIC5tYXQtc2xpZGUtdG9nZ2xlLWlucHV0e2xlZnQ6YXV0bztyaWdodDoxMHB4fS5tYXQtc2xpZGUtdG9nZ2xlLWJhciwubWF0LXNsaWRlLXRvZ2dsZS10aHVtYnt0cmFuc2l0aW9uOmFsbCA4MG1zIGxpbmVhcjt0cmFuc2l0aW9uLXByb3BlcnR5OmJhY2tncm91bmQtY29sb3I7dHJhbnNpdGlvbi1kZWxheTo1MG1zfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlLXRvZ2dsZS1iYXIsLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie3RyYW5zaXRpb246bm9uZX0ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS1yaXBwbGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOmNhbGMoNTAlIC0gMjBweCk7bGVmdDpjYWxjKDUwJSAtIDIwcHgpO2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1hdC1zbGlkZS10b2dnbGUgLm1hdC1zbGlkZS10b2dnbGUtcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtc2xpZGUtdG9nZ2xlLXBlcnNpc3RlbnQtcmlwcGxlKXtvcGFjaXR5Oi4xMn0ubWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RyYW5zZm9ybTpub25lfS5tYXQtc2xpZGUtdG9nZ2xlLWJhcjpob3ZlciAubWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZXtvcGFjaXR5Oi4wNH0ubWF0LXNsaWRlLXRvZ2dsZTpub3QoLm1hdC1kaXNhYmxlZCkuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1zbGlkZS10b2dnbGUtcGVyc2lzdGVudC1yaXBwbGV7b3BhY2l0eTouMTJ9Lm1hdC1zbGlkZS10b2dnbGUtcGVyc2lzdGVudC1yaXBwbGUsLm1hdC1zbGlkZS10b2dnbGUubWF0LWRpc2FibGVkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcjpob3ZlciAubWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZXtvcGFjaXR5OjB9QG1lZGlhKGhvdmVyOiBub25lKXsubWF0LXNsaWRlLXRvZ2dsZS1iYXI6aG92ZXIgLm1hdC1zbGlkZS10b2dnbGUtcGVyc2lzdGVudC1yaXBwbGV7ZGlzcGxheTpub25lfX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JvcmRlcjoxcHggc29saWR9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNsaWRlLXRvZ2dsZS5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7b3V0bGluZToycHggZG90dGVkO291dGxpbmUtb2Zmc2V0OjVweH1cbiJdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLHZPdC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpmRn0se3R5cGU6T2J9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsidGFiaW5kZXgiXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbYk90XX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sdk90LnByb3BEZWNvcmF0b3JzPXtfdGh1bWJFbDpbe3R5cGU6YXIsYXJnczpbInRodW1iQ29udGFpbmVyIl19XSxfdGh1bWJCYXJFbDpbe3R5cGU6YXIsYXJnczpbInRvZ2dsZUJhciJdfV0sbmFtZTpbe3R5cGU6Ul99XSxpZDpbe3R5cGU6Ul99XSxsYWJlbFBvc2l0aW9uOlt7dHlwZTpSX31dLGFyaWFMYWJlbDpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWwiXX1dLGFyaWFMYWJlbGxlZGJ5Olt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbGxlZGJ5Il19XSxhcmlhRGVzY3JpYmVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWRlc2NyaWJlZGJ5Il19XSxyZXF1aXJlZDpbe3R5cGU6Ul99XSxjaGVja2VkOlt7dHlwZTpSX31dLGNoYW5nZTpbe3R5cGU6RV99XSx0b2dnbGVDaGFuZ2U6W3t0eXBlOkVffV0sX2lucHV0RWxlbWVudDpbe3R5cGU6YXIsYXJnczpbImlucHV0Il19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih2T3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsZXhwb3J0QXM6Im1hdFNsaWRlVG9nZ2xlIixob3N0OntjbGFzczoibWF0LXNsaWRlLXRvZ2dsZSIsIltpZF0iOiJpZCIsIlthdHRyLnRhYmluZGV4XSI6ImRpc2FibGVkID8gbnVsbCA6IC0xIiwiW2F0dHIuYXJpYS1sYWJlbF0iOiJudWxsIiwiW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSI6Im51bGwiLCJbY2xhc3MubWF0LWNoZWNrZWRdIjoiY2hlY2tlZCIsIltjbGFzcy5tYXQtZGlzYWJsZWRdIjoiZGlzYWJsZWQiLCJbY2xhc3MubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbC1iZWZvcmVdIjonbGFiZWxQb3NpdGlvbiA9PSAiYmVmb3JlIicsIltjbGFzcy5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZV0iOiJfbm9vcEFuaW1hdGlvbnMifSx0ZW1wbGF0ZTonPGxhYmVsIFthdHRyLmZvcl09ImlucHV0SWQiIGNsYXNzPSJtYXQtc2xpZGUtdG9nZ2xlLWxhYmVsIiAjbGFiZWw+XG4gIDxkaXYgI3RvZ2dsZUJhciBjbGFzcz0ibWF0LXNsaWRlLXRvZ2dsZS1iYXIiXG4gICAgICAgW2NsYXNzLm1hdC1zbGlkZS10b2dnbGUtYmFyLW5vLXNpZGUtbWFyZ2luXT0iIWxhYmVsQ29udGVudC50ZXh0Q29udGVudCB8fCAhbGFiZWxDb250ZW50LnRleHRDb250ZW50LnRyaW0oKSI+XG5cbiAgICA8aW5wdXQgI2lucHV0IGNsYXNzPSJtYXQtc2xpZGUtdG9nZ2xlLWlucHV0IGNkay12aXN1YWxseS1oaWRkZW4iIHR5cGU9ImNoZWNrYm94IlxuICAgICAgICAgICByb2xlPSJzd2l0Y2giXG4gICAgICAgICAgIFtpZF09ImlucHV0SWQiXG4gICAgICAgICAgIFtyZXF1aXJlZF09InJlcXVpcmVkIlxuICAgICAgICAgICBbdGFiSW5kZXhdPSJ0YWJJbmRleCJcbiAgICAgICAgICAgW2NoZWNrZWRdPSJjaGVja2VkIlxuICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgW2F0dHIubmFtZV09Im5hbWUiXG4gICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09ImNoZWNrZWQudG9TdHJpbmcoKSJcbiAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09ImFyaWFMYWJlbCJcbiAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT0iYXJpYUxhYmVsbGVkYnkiXG4gICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPSJhcmlhRGVzY3JpYmVkYnkiXG4gICAgICAgICAgIChjaGFuZ2UpPSJfb25DaGFuZ2VFdmVudCgkZXZlbnQpIlxuICAgICAgICAgICAoY2xpY2spPSJfb25JbnB1dENsaWNrKCRldmVudCkiPlxuXG4gICAgPGRpdiBjbGFzcz0ibWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXIiICN0aHVtYkNvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC1zbGlkZS10b2dnbGUtdGh1bWIiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXNsaWRlLXRvZ2dsZS1yaXBwbGUgbWF0LWZvY3VzLWluZGljYXRvciIgbWF0LXJpcHBsZVxuICAgICAgICAgICBbbWF0UmlwcGxlVHJpZ2dlcl09ImxhYmVsIlxuICAgICAgICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPSJkaXNhYmxlUmlwcGxlIHx8IGRpc2FibGVkIlxuICAgICAgICAgICBbbWF0UmlwcGxlQ2VudGVyZWRdPSJ0cnVlIlxuICAgICAgICAgICBbbWF0UmlwcGxlUmFkaXVzXT0iMjAiXG4gICAgICAgICAgIFttYXRSaXBwbGVBbmltYXRpb25dPSJ7ZW50ZXJEdXJhdGlvbjogX25vb3BBbmltYXRpb25zID8gMCA6IDE1MH0iPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9Im1hdC1yaXBwbGUtZWxlbWVudCBtYXQtc2xpZGUtdG9nZ2xlLXBlcnNpc3RlbnQtcmlwcGxlIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG4gIDxzcGFuIGNsYXNzPSJtYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnQiICNsYWJlbENvbnRlbnQgKGNka09ic2VydmVDb250ZW50KT0iX29uTGFiZWxUZXh0Q2hhbmdlKCkiPlxuICAgIFx4M2MhLS0gQWRkIGFuIGludmlzaWJsZSBzcGFuIHNvIEpBV1MgY2FuIHJlYWQgdGhlIGxhYmVsIC0tXHgzZVxuICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5Om5vbmUiPiZuYnNwOzwvc3Bhbj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvc3Bhbj5cbjwvbGFiZWw+XG4nLHByb3ZpZGVyczpbX090XSxpbnB1dHM6WyJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJjb2xvciIsInRhYkluZGV4Il0sZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsc3R5bGVzOlsiLm1hdC1zbGlkZS10b2dnbGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI0cHg7bWF4LXdpZHRoOjEwMCU7bGluZS1oZWlnaHQ6MjRweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTpub25lOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDE2cHgsIDAsIDApfVtkaXI9cnRsXSAubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xNnB4LCAwLCAwKX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtZGlzYWJsZWR7b3BhY2l0eTouMzh9Lm1hdC1zbGlkZS10b2dnbGUubWF0LWRpc2FibGVkIC5tYXQtc2xpZGUtdG9nZ2xlLWxhYmVsLC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1kaXNhYmxlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXJ7Y3Vyc29yOmRlZmF1bHR9Lm1hdC1zbGlkZS10b2dnbGUtbGFiZWx7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2Rpc3BsYXk6ZmxleDtmbGV4OjE7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcn0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50e3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbC1iZWZvcmUgLm1hdC1zbGlkZS10b2dnbGUtbGFiZWx7b3JkZXI6MX0ubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbC1iZWZvcmUgLm1hdC1zbGlkZS10b2dnbGUtYmFye29yZGVyOjJ9W2Rpcj1ydGxdIC5tYXQtc2xpZGUtdG9nZ2xlLWxhYmVsLWJlZm9yZSAubWF0LXNsaWRlLXRvZ2dsZS1iYXIsLm1hdC1zbGlkZS10b2dnbGUtYmFye21hcmdpbi1yaWdodDo4cHg7bWFyZ2luLWxlZnQ6MH1bZGlyPXJ0bF0gLm1hdC1zbGlkZS10b2dnbGUtYmFyLC5tYXQtc2xpZGUtdG9nZ2xlLWxhYmVsLWJlZm9yZSAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDowfS5tYXQtc2xpZGUtdG9nZ2xlLWJhci1uby1zaWRlLW1hcmdpbnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjE7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDt0b3A6LTNweDtsZWZ0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApO3RyYW5zaXRpb246YWxsIDgwbXMgbGluZWFyO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXJ7dHJhbnNpdGlvbjpub25lfVtkaXI9cnRsXSAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXJ7bGVmdDphdXRvO3JpZ2h0OjB9Lm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtib3JkZXItcmFkaXVzOjUwJX0ubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MzZweDtoZWlnaHQ6MTRweDtmbGV4LXNocmluazowO2JvcmRlci1yYWRpdXM6OHB4fS5tYXQtc2xpZGUtdG9nZ2xlLWlucHV0e2JvdHRvbTowO2xlZnQ6MTBweH1bZGlyPXJ0bF0gLm1hdC1zbGlkZS10b2dnbGUtaW5wdXR7bGVmdDphdXRvO3JpZ2h0OjEwcHh9Lm1hdC1zbGlkZS10b2dnbGUtYmFyLC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie3RyYW5zaXRpb246YWxsIDgwbXMgbGluZWFyO3RyYW5zaXRpb24tcHJvcGVydHk6YmFja2dyb3VuZC1jb2xvcjt0cmFuc2l0aW9uLWRlbGF5OjUwbXN9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtc2xpZGUtdG9nZ2xlLWJhciwuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7dHJhbnNpdGlvbjpub25lfS5tYXQtc2xpZGUtdG9nZ2xlIC5tYXQtc2xpZGUtdG9nZ2xlLXJpcHBsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYyg1MCUgLSAyMHB4KTtsZWZ0OmNhbGMoNTAlIC0gMjBweCk7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX0ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1zbGlkZS10b2dnbGUtcGVyc2lzdGVudC1yaXBwbGUpe29wYWNpdHk6LjEyfS5tYXQtc2xpZGUtdG9nZ2xlLXBlcnNpc3RlbnQtcmlwcGxle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dHJhbnNmb3JtOm5vbmV9Lm1hdC1zbGlkZS10b2dnbGUtYmFyOmhvdmVyIC5tYXQtc2xpZGUtdG9nZ2xlLXBlcnNpc3RlbnQtcmlwcGxle29wYWNpdHk6LjA0fS5tYXQtc2xpZGUtdG9nZ2xlOm5vdCgubWF0LWRpc2FibGVkKS5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZXtvcGFjaXR5Oi4xMn0ubWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZSwubWF0LXNsaWRlLXRvZ2dsZS5tYXQtZGlzYWJsZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFyOmhvdmVyIC5tYXQtc2xpZGUtdG9nZ2xlLXBlcnNpc3RlbnQtcmlwcGxle29wYWNpdHk6MH1AbWVkaWEoaG92ZXI6IG5vbmUpey5tYXQtc2xpZGUtdG9nZ2xlLWJhcjpob3ZlciAubWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZXtkaXNwbGF5Om5vbmV9fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7Ym9yZGVyOjFweCBzb2xpZH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc2xpZGUtdG9nZ2xlLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntvdXRsaW5lOjJweCBkb3R0ZWQ7b3V0bGluZS1vZmZzZXQ6NXB4fVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6ZkZ9LHt0eXBlOk9ifSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbInRhYmluZGV4Il19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2JPdF19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse25hbWU6W3t0eXBlOlJffV0saWQ6W3t0eXBlOlJffV0sbGFiZWxQb3NpdGlvbjpbe3R5cGU6Ul99XSxhcmlhTGFiZWw6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsIl19XSxhcmlhTGFiZWxsZWRieTpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWxsZWRieSJdfV0sY2hhbmdlOlt7dHlwZTpFX31dLHRvZ2dsZUNoYW5nZTpbe3R5cGU6RV99XSxyZXF1aXJlZDpbe3R5cGU6Ul99XSxjaGVja2VkOlt7dHlwZTpSX31dLF90aHVtYkVsOlt7dHlwZTphcixhcmdzOlsidGh1bWJDb250YWluZXIiXX1dLF90aHVtYkJhckVsOlt7dHlwZTphcixhcmdzOlsidG9nZ2xlQmFyIl19XSxhcmlhRGVzY3JpYmVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWRlc2NyaWJlZGJ5Il19XSxfaW5wdXRFbGVtZW50Olt7dHlwZTphcixhcmdzOlsiaW5wdXQiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB4T3Q9e3Byb3ZpZGU6RVUsdXNlRXhpc3Rpbmc6JGUoKCgpPT5PT3QpKSxtdWx0aTohMH07Y2xhc3MgT090IGV4dGVuZHMgVkd7fU9PdC7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoT090KSkpKG58fE9PdCl9fSkoKSxPT3QuybVkaXI9aG8oe3R5cGU6T090LHNlbGVjdG9yczpbWyJtYXQtc2xpZGUtdG9nZ2xlIiwicmVxdWlyZWQiLCIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbIm1hdC1zbGlkZS10b2dnbGUiLCJyZXF1aXJlZCIsIiIsImZvcm1Db250cm9sIiwiIl0sWyJtYXQtc2xpZGUtdG9nZ2xlIiwicmVxdWlyZWQiLCIiLCJuZ01vZGVsIiwiIl1dLGZlYXR1cmVzOltqaChbeE90XSksUXBdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPT3QsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSxcbiAgICAgICAgICAgICBtYXQtc2xpZGUtdG9nZ2xlW3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sIG1hdC1zbGlkZS10b2dnbGVbcmVxdWlyZWRdW25nTW9kZWxdIixwcm92aWRlcnM6W3hPdF19XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBQT3R7fVBPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UE90KX0sUE90Lsm1bW9kPWZvKHt0eXBlOlBPdH0pLFBPdC7JtWluaj1Ebih7fSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihQT3QsW3t0eXBlOkxfLGFyZ3M6W3tleHBvcnRzOltPT3RdLGRlY2xhcmF0aW9uczpbT090XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFBPdCx7ZGVjbGFyYXRpb25zOltPT3RdLGV4cG9ydHM6W09PdF19KTtjbGFzcyB3T3R7fWZ1bmN0aW9uIGtPdCh0LGUpezEmdCYmdmYoMCwibWF0LWljb24iLDMpfXdPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8d090KX0sd090Lsm1bW9kPWZvKHt0eXBlOndPdH0pLHdPdC7JtWluaj1Ebih7aW1wb3J0czpbW1BPdCxmTCxORix3SF0sUE90LE5GXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIod090LFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbUE90LGZMLE5GLHdIXSxleHBvcnRzOltQT3Qsdk90LE5GXSxkZWNsYXJhdGlvbnM6W3ZPdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byh3T3Qse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVyblt2T3RdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW1BPdCxmTCxORix3SF19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bUE90LHZPdCxORl19fSk7Y2xhc3MgU090e2NvbnN0cnVjdG9yKCl7dGhpcy5vblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2U9bmV3IFN5fX1TT3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFNPdCl9LFNPdC7JtWNtcD1zbyh7dHlwZTpTT3Qsc2VsZWN0b3JzOltbIm5wbWktYW5ub3RhdGlvbnMtc2VhcmNoLWNvbXBvbmVudCJdXSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgidmFsaWQiLG4uaXNSZWdleEZpbHRlclZhbGlkKX0saW5wdXRzOntyZWdleEZpbHRlclZhbHVlOiJyZWdleEZpbHRlclZhbHVlIixpc1JlZ2V4RmlsdGVyVmFsaWQ6ImlzUmVnZXhGaWx0ZXJWYWxpZCJ9LG91dHB1dHM6e29uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZToib25SZWdleEZpbHRlclZhbHVlQ2hhbmdlIn0sZGVjbHM6Myx2YXJzOjIsY29uc3RzOltbInN2Z0ljb24iLCJzZWFyY2hfMjRweCJdLFsiYXV0b2NvbXBsZXRlIiwib2ZmIiwicGxhY2Vob2xkZXIiLCJGaWx0ZXIgQW5ub3RhdGlvbnMiLDMsInZhbHVlIiwiaW5wdXQiXSxbInN2Z0ljb24iLCJlcnJvcl8yNHB4IiwiY2xhc3MiLCJlcnJvci1pY29uIiwibWF0VG9vbHRpcCIsIkludmFsaWQgcmVnZXggZmlsdGVyLiBUaGUgcmVzdWx0IG1heSBiZSBzdGFsZS4iLDQsIm5nSWYiXSxbInN2Z0ljb24iLCJlcnJvcl8yNHB4IiwibWF0VG9vbHRpcCIsIkludmFsaWQgcmVnZXggZmlsdGVyLiBUaGUgcmVzdWx0IG1heSBiZSBzdGFsZS4iLDEsImVycm9yLWljb24iXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsIm1hdC1pY29uIiwwKSxDZigxLCJpbnB1dCIsMSksUmYoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2UuZW1pdChlLnRhcmdldC52YWx1ZSl9KSksTWYoKSxIbSgyLGtPdCwxLDAsIm1hdC1pY29uIiwyKSksMiZlJiYoRGMoMSksYmYoInZhbHVlIixuLnJlZ2V4RmlsdGVyVmFsdWUpLERjKDEpLGJmKCJuZ0lmIiwhbi5pc1JlZ2V4RmlsdGVyVmFsaWQpKX0sZGlyZWN0aXZlczpbTXEsUHZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV06bm90KC52YWxpZCl7Y29sb3I6I2M2MjgyOH1bX25naG9zdC0lQ09NUCVdOm5vdCgudmFsaWQpICAgaW5wdXRbX25nY29udGVudC0lQ09NUCVde2NhcmV0LWNvbG9yOmN1cnJlbnRDb2xvcn1bX25naG9zdC0lQ09NUCVdOm5vdCgudmFsaWQpICAgLmVycm9yLWljb25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOiNjNjI4Mjg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoU090LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktYW5ub3RhdGlvbnMtc2VhcmNoLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vYW5ub3RhdGlvbnNfc2VhcmNoX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2Fubm90YXRpb25zX3NlYXJjaF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7cmVnZXhGaWx0ZXJWYWx1ZTpbe3R5cGU6Ul99XSxvblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2U6W3t0eXBlOkVffV0saXNSZWdleEZpbHRlclZhbGlkOlt7dHlwZTpBXyxhcmdzOlsiY2xhc3MudmFsaWQiXX0se3R5cGU6Ul99XX0pO2NsYXNzIERPdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5hbm5vdGF0aW9uc0ZpbHRlciQ9dGhpcy5zdG9yZS5zZWxlY3QoUXZ0KSx0aGlzLmlzQW5ub3RhdGlvbnNGaWx0ZXJWYWxpZCQ9dGhpcy5hbm5vdGF0aW9uc0ZpbHRlciQucGlwZShWdCgodD0+e3RyeXtyZXR1cm4gbmV3IFJlZ0V4cCh0KSwhMH1jYXRjaCh0KXtyZXR1cm4hMX19KSkpfWZpbHRlckNoYW5nZSh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKHZ2dCh7cmVnZXg6dH0pKX19ZnVuY3Rpb24gUk90KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7eGYoMCksQ2YoMSwiYnV0dG9uIiw1KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7Y29uc3Qgbj16ZigpO3JldHVybiBuLm9uRmxhZ0Fubm90YXRpb25zLmVtaXQobi5zZWxlY3RlZEFubm90YXRpb25zKX0pKSx2ZigyLCJtYXQtaWNvbiIsNiksTWYoKSxDZigzLCJidXR0b24iLDcpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtjb25zdCBuPXpmKCk7cmV0dXJuIG4ub25IaWRlQW5ub3RhdGlvbnMuZW1pdChuLnNlbGVjdGVkQW5ub3RhdGlvbnMpfSkpLHZmKDQsIm1hdC1pY29uIiw4KSxNZigpLE9mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksYmYoImRpc2FibGVkIiwwPT09dC5zZWxlY3RlZEFubm90YXRpb25zLmxlbmd0aCksRGMoMiksYmYoImRpc2FibGVkIiwwPT09dC5zZWxlY3RlZEFubm90YXRpb25zLmxlbmd0aCl9fWZ1bmN0aW9uIEVPdCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO3hmKDApLENmKDEsIm1hdC1zbGlkZS10b2dnbGUiLDkpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkub25Ub2dnbGVTaG93Q291bnRzLmVtaXQoKX0pKSxQdSgyLCIgU2FtcGxlIENvdW50ICIpLE1mKCksQ2YoMywibWF0LXNsaWRlLXRvZ2dsZSIsMTApLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkub25Ub2dnbGVTaG93SGlkZGVuLmVtaXQoKX0pKSxQdSg0LCIgU2hvdyBIaWRkZW4gIiksTWYoKSx2Zig1LCJucG1pLWFubm90YXRpb25zLXNlYXJjaCIpLE9mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksYmYoImNoZWNrZWQiLHQuc2hvd0NvdW50cyksRGMoMiksYmYoImNoZWNrZWQiLHQuc2hvd0hpZGRlbil9fURPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RE90KShnZihpUykpfSxET3QuybVjbXA9c28oe3R5cGU6RE90LHNlbGVjdG9yczpbWyJucG1pLWFubm90YXRpb25zLXNlYXJjaCJdXSxkZWNsczozLHZhcnM6Nixjb25zdHM6W1szLCJyZWdleEZpbHRlclZhbHVlIiwiaXNSZWdleEZpbHRlclZhbGlkIiwib25SZWdleEZpbHRlclZhbHVlQ2hhbmdlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJucG1pLWFubm90YXRpb25zLXNlYXJjaC1jb21wb25lbnQiLDApLFJmKCJvblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmZpbHRlckNoYW5nZShlKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksTWYoKSksMiZlJiZiZigicmVnZXhGaWx0ZXJWYWx1ZSIsQ3koMSwyLG4uYW5ub3RhdGlvbnNGaWx0ZXIkKSkoImlzUmVnZXhGaWx0ZXJWYWxpZCIsQ3koMiw0LG4uaXNBbm5vdGF0aW9uc0ZpbHRlclZhbGlkJCkpfSxkaXJlY3RpdmVzOltTT3RdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihET3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibnBtaS1hbm5vdGF0aW9ucy1zZWFyY2giLHRlbXBsYXRlOidcbiAgICA8bnBtaS1hbm5vdGF0aW9ucy1zZWFyY2gtY29tcG9uZW50XG4gICAgICBbcmVnZXhGaWx0ZXJWYWx1ZV09ImFubm90YXRpb25zRmlsdGVyJCB8IGFzeW5jIlxuICAgICAgW2lzUmVnZXhGaWx0ZXJWYWxpZF09ImlzQW5ub3RhdGlvbnNGaWx0ZXJWYWxpZCQgfCBhc3luYyJcbiAgICAgIChvblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2UpPSJmaWx0ZXJDaGFuZ2UoJGV2ZW50KSJcbiAgICA+PC9ucG1pLWFubm90YXRpb25zLXNlYXJjaC1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjbGFzcyBBT3R7Y29uc3RydWN0b3IoKXt0aGlzLm9uRmxhZ0Fubm90YXRpb25zPW5ldyBTeSx0aGlzLm9uSGlkZUFubm90YXRpb25zPW5ldyBTeSx0aGlzLm9uVG9nZ2xlRXhwYW5kZWQ9bmV3IFN5LHRoaXMub25Ub2dnbGVTaG93Q291bnRzPW5ldyBTeSx0aGlzLm9uVG9nZ2xlU2hvd0hpZGRlbj1uZXcgU3l9fUFPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QU90KX0sQU90Lsm1Y21wPXNvKHt0eXBlOkFPdCxzZWxlY3RvcnM6W1sibnBtaS1hbm5vdGF0aW9ucy1saXN0LXRvb2xiYXItY29tcG9uZW50Il1dLGlucHV0czp7bnVtQW5ub3RhdGlvbnM6Im51bUFubm90YXRpb25zIixleHBhbmRlZDoiZXhwYW5kZWQiLHNlbGVjdGVkQW5ub3RhdGlvbnM6InNlbGVjdGVkQW5ub3RhdGlvbnMiLGFubm90YXRpb25zRXhwYW5kZWQ6ImFubm90YXRpb25zRXhwYW5kZWQiLHNob3dDb3VudHM6InNob3dDb3VudHMiLHNob3dIaWRkZW46InNob3dIaWRkZW4ifSxvdXRwdXRzOntvbkZsYWdBbm5vdGF0aW9uczoib25GbGFnQW5ub3RhdGlvbnMiLG9uSGlkZUFubm90YXRpb25zOiJvbkhpZGVBbm5vdGF0aW9ucyIsb25Ub2dnbGVFeHBhbmRlZDoib25Ub2dnbGVFeHBhbmRlZCIsb25Ub2dnbGVTaG93Q291bnRzOiJvblRvZ2dsZVNob3dDb3VudHMiLG9uVG9nZ2xlU2hvd0hpZGRlbjoib25Ub2dnbGVTaG93SGlkZGVuIn0sZGVjbHM6Nyx2YXJzOjQsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQsZSxuO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXt0PWdvb2cuZ2V0TXNnKCJIaWRlcy9TaG93cyB0aGUgQW5ub3RhdGlvbnMgTGlzdCIpfWVsc2UgdD0kbG9jYWxpemVgOkxhYmVsIGZvciBhIGJ1dHRvbiB0aGF0IGhpZGVzL3Nob3dzIHRoZSBhbm5vdGF0aW9ucyBsaXN0LuKQn2IzNjAzYmEzM2U1MzA4ZGQ4YzVlODA1ZTUwOGIyZjcyMzNkZjg5ZDTikJ83MzM2Mzc0NDEzMDU2MzQyNDkyOkhpZGVzL1Nob3dzIHRoZSBBbm5vdGF0aW9ucyBMaXN0YDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7ZT1nb29nLmdldE1zZygiRmxhZyBTZWxlY3RlZCBBbm5vdGF0aW9ucyIpfWVsc2UgZT0kbG9jYWxpemVgOkxhYmVsIGZvciBhIGJ1dHRvbiB0aGF0IGZsYWdzIHNlbGVjdGVkIGFubm90YXRpb25zLuKQnzU2OTJhZDg4MzEwMzhhOTBjNTg2M2ExZTlhZGY5NzQ4Y2FjM2NhZDjikJ8yMjQ0MDk5ODkxMzEzMzM2NTk1OkZsYWcgU2VsZWN0ZWQgQW5ub3RhdGlvbnNgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtuPWdvb2cuZ2V0TXNnKCJIaWRlIFNlbGVjdGVkIEFubm90YXRpb25zIil9ZWxzZSBuPSRsb2NhbGl6ZWA6TGFiZWwgZm9yIGEgYnV0dG9uIHRoYXQgaGlkZXMgc2VsZWN0ZWQgYW5ub3RhdGlvbnMu4pCfMDM0MmNkYjMzNThmYThlM2ZhMjcyMjBhODI1OGE3Mjg3NDMwYjcwZuKQnzU0NjI4MzIzOTEwOTIwODc0ODU6SGlkZSBTZWxlY3RlZCBBbm5vdGF0aW9uc2A7cmV0dXJuW1sxLCJhbm5vdGF0aW9ucy10aXRsZS1jb250YWluZXIiXSxbMSwiYW5ub3RhdGlvbnMtdGl0bGUiXSxbNCwibmdJZiJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsdCwxLCJleHBhbmQtYnV0dG9uIiwzLCJjbGljayJdLFszLCJzdmdJY29uIl0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJhcmlhLWxhYmVsIixlLCJ0aXRsZSIsIkZsYWdnaW5nIGFubm90YXRpb25zIGFkZHMgdGhlbSB0byB5b3VyIGludmVzdGlnYXRpb24gcmVzdWx0cywgd2hpY2ggY2FuIGxhdGVyIGJlIGV4cG9ydGVkLiIsMywiZGlzYWJsZWQiLCJjbGljayJdLFsic3ZnSWNvbiIsImZsYWdfMjRweCJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsbiwidGl0bGUiLCJSZW1vdmluZyBub24tY3JpdGljYWwgYW5ub3RhdGlvbnMgdW5jbHV0dGVycyB0aGUgdmlldy4gUmVtb3ZlZCBhbm5vdGF0aW9ucyBhcmUgcmVtb3ZlZCBmcm9tIGFsbCB2aXN1YWxpemF0aW9ucy4iLDMsImRpc2FibGVkIiwiY2xpY2siXSxbInN2Z0ljb24iLCJ2aXNpYmlsaXR5X29mZl8yNHB4Il0sWyJ0aXRsZSIsIkhpZGVzIGFuZCBzaG93cyB0aGUgc2FtcGxlIGNvdW50IHdoZXJlIGFwcGxpY2FibGUgKGhvdyBtYW55IHNhbXBsZXMgYmVsb25nIHRvIGEgY2F0ZWdvcnkpLiIsMSwic2hvdy10b2dnbGUiLDMsImNoZWNrZWQiLCJjaGFuZ2UiXSxbInRpdGxlIiwiSGlkZXMgYW5kIHNob3dzIGhpZGRlbiBhbm5vdGF0aW9ucyBpbiBhbGwgdmlzdWFsaXphdGlvbnMuIiwxLCJzaG93LXRvZ2dsZSIsMywiY2hlY2tlZCIsImNoYW5nZSJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwiaDMiLDEpLFB1KDIpLE1mKCksSG0oMyxST3QsNSwyLCJuZy1jb250YWluZXIiLDIpLE1mKCksSG0oNCxFT3QsNiwyLCJuZy1jb250YWluZXIiLDIpLENmKDUsImJ1dHRvbiIsMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uVG9nZ2xlRXhwYW5kZWQuZW1pdCgpfSkpLHZmKDYsIm1hdC1pY29uIiw0KSxNZigpKSwyJmUmJihEYygyKSxrdSgiQW5ub3RhdGlvbnMgKCIsbi5udW1Bbm5vdGF0aW9ucywiKSIpLERjKDEpLGJmKCJuZ0lmIixuLmV4cGFuZGVkKSxEYygxKSxiZigibmdJZiIsbi5leHBhbmRlZCksRGMoMiksYmYoInN2Z0ljb24iLG4uZXhwYW5kZWQ/ImV4cGFuZF9sZXNzXzI0cHgiOiJleHBhbmRfbW9yZV8yNHB4IikpfSxkaXJlY3RpdmVzOltQdixOTCxNcSx2T3QsRE90XSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjAgMTZweDt3aWR0aDoxMDAlfS5hbm5vdGF0aW9ucy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmU7Zm9udC1zaXplOi45ZW07Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmctcmlnaHQ6MTBweH0uYW5ub3RhdGlvbnMtdGl0bGUtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDpub3dyYXA7ZmxleDoxIDE7aGVpZ2h0OjQycHh9LnNob3ctdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6LjllbTttYXJnaW4tcmlnaHQ6LjhlbX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQU90LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktYW5ub3RhdGlvbnMtbGlzdC10b29sYmFyLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vYW5ub3RhdGlvbnNfbGlzdF90b29sYmFyX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2Fubm90YXRpb25zX2xpc3RfdG9vbGJhcl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bnVtQW5ub3RhdGlvbnM6W3t0eXBlOlJffV0sZXhwYW5kZWQ6W3t0eXBlOlJffV0sc2VsZWN0ZWRBbm5vdGF0aW9uczpbe3R5cGU6Ul99XSxhbm5vdGF0aW9uc0V4cGFuZGVkOlt7dHlwZTpSX31dLHNob3dDb3VudHM6W3t0eXBlOlJffV0sc2hvd0hpZGRlbjpbe3R5cGU6Ul99XSxvbkZsYWdBbm5vdGF0aW9uczpbe3R5cGU6RV99XSxvbkhpZGVBbm5vdGF0aW9uczpbe3R5cGU6RV99XSxvblRvZ2dsZUV4cGFuZGVkOlt7dHlwZTpFX31dLG9uVG9nZ2xlU2hvd0NvdW50czpbe3R5cGU6RV99XSxvblRvZ2dsZVNob3dIaWRkZW46W3t0eXBlOkVffV19KTtjbGFzcyBUT3R7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9ucyQ9dGhpcy5zdG9yZS5zZWxlY3QoWHZ0KSx0aGlzLmFubm90YXRpb25zRXhwYW5kZWQkPXRoaXMuc3RvcmUuc2VsZWN0KGl4dCksdGhpcy5zaG93Q291bnRzJD10aGlzLnN0b3JlLnNlbGVjdChyeHQpLHRoaXMuc2hvd0hpZGRlbiQ9dGhpcy5zdG9yZS5zZWxlY3Qoc3h0KSx0aGlzLmFubm90YXRpb25zRmlsdGVyJD10aGlzLnN0b3JlLnNlbGVjdChRdnQpLHRoaXMuaXNBbm5vdGF0aW9uc0ZpbHRlclZhbGlkJD10aGlzLmFubm90YXRpb25zRmlsdGVyJC5waXBlKFZ0KCh0PT57dHJ5e3JldHVybiBCb29sZWFuKG5ldyBSZWdFeHAodCkpfWNhdGNoKHQpe3JldHVybiExfX0pKSl9ZmlsdGVyQ2hhbmdlKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2godnZ0KHtyZWdleDp0fSkpfWZsYWdBbm5vdGF0aW9ucyh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKEN2dCh7YW5ub3RhdGlvbnM6dH0pKX1oaWRlQW5ub3RhdGlvbnModCl7dGhpcy5zdG9yZS5kaXNwYXRjaChNdnQoe2Fubm90YXRpb25zOnR9KSl9dG9nZ2xlRXhwYW5kZWQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKFJ2dCgpKX10b2dnbGVTaG93Q291bnRzKCl7dGhpcy5zdG9yZS5kaXNwYXRjaChBdnQoKSl9dG9nZ2xlU2hvd0hpZGRlbigpe3RoaXMuc3RvcmUuZGlzcGF0Y2goVHZ0KCkpfX1UT3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFRPdCkoZ2YoaVMpKX0sVE90Lsm1Y21wPXNvKHt0eXBlOlRPdCxzZWxlY3RvcnM6W1sibnBtaS1hbm5vdGF0aW9ucy1saXN0LXRvb2xiYXIiXV0saW5wdXRzOntudW1Bbm5vdGF0aW9uczoibnVtQW5ub3RhdGlvbnMiLGV4cGFuZGVkOiJleHBhbmRlZCJ9LGRlY2xzOjUsdmFyczoxNCxjb25zdHM6W1szLCJudW1Bbm5vdGF0aW9ucyIsImV4cGFuZGVkIiwic2VsZWN0ZWRBbm5vdGF0aW9ucyIsImFubm90YXRpb25zRXhwYW5kZWQiLCJzaG93Q291bnRzIiwic2hvd0hpZGRlbiIsIm9uRmxhZ0Fubm90YXRpb25zIiwib25IaWRlQW5ub3RhdGlvbnMiLCJvblRvZ2dsZUV4cGFuZGVkIiwib25Ub2dnbGVTaG93Q291bnRzIiwib25Ub2dnbGVTaG93SGlkZGVuIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJucG1pLWFubm90YXRpb25zLWxpc3QtdG9vbGJhci1jb21wb25lbnQiLDApLFJmKCJvbkZsYWdBbm5vdGF0aW9ucyIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uZmxhZ0Fubm90YXRpb25zKGUpfSkpKCJvbkhpZGVBbm5vdGF0aW9ucyIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uaGlkZUFubm90YXRpb25zKGUpfSkpKCJvblRvZ2dsZUV4cGFuZGVkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLnRvZ2dsZUV4cGFuZGVkKCl9KSkoIm9uVG9nZ2xlU2hvd0NvdW50cyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi50b2dnbGVTaG93Q291bnRzKCl9KSkoIm9uVG9nZ2xlU2hvd0hpZGRlbiIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi50b2dnbGVTaG93SGlkZGVuKCl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJudW1Bbm5vdGF0aW9ucyIsbi5udW1Bbm5vdGF0aW9ucykoImV4cGFuZGVkIixuLmV4cGFuZGVkKSgic2VsZWN0ZWRBbm5vdGF0aW9ucyIsQ3koMSw2LG4uc2VsZWN0ZWRBbm5vdGF0aW9ucyQpKSgiYW5ub3RhdGlvbnNFeHBhbmRlZCIsQ3koMiw4LG4uYW5ub3RhdGlvbnNFeHBhbmRlZCQpKSgic2hvd0NvdW50cyIsQ3koMywxMCxuLnNob3dDb3VudHMkKSkoInNob3dIaWRkZW4iLEN5KDQsMTIsbi5zaG93SGlkZGVuJCkpfSxkaXJlY3RpdmVzOltBT3RdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihUT3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibnBtaS1hbm5vdGF0aW9ucy1saXN0LXRvb2xiYXIiLHRlbXBsYXRlOidcbiAgICA8bnBtaS1hbm5vdGF0aW9ucy1saXN0LXRvb2xiYXItY29tcG9uZW50XG4gICAgICBbbnVtQW5ub3RhdGlvbnNdPSJudW1Bbm5vdGF0aW9ucyJcbiAgICAgIFtleHBhbmRlZF09ImV4cGFuZGVkIlxuICAgICAgW3NlbGVjdGVkQW5ub3RhdGlvbnNdPSJzZWxlY3RlZEFubm90YXRpb25zJCB8IGFzeW5jIlxuICAgICAgW2Fubm90YXRpb25zRXhwYW5kZWRdPSJhbm5vdGF0aW9uc0V4cGFuZGVkJCB8IGFzeW5jIlxuICAgICAgW3Nob3dDb3VudHNdPSJzaG93Q291bnRzJCB8IGFzeW5jIlxuICAgICAgW3Nob3dIaWRkZW5dPSJzaG93SGlkZGVuJCB8IGFzeW5jIlxuICAgICAgKG9uRmxhZ0Fubm90YXRpb25zKT0iZmxhZ0Fubm90YXRpb25zKCRldmVudCkiXG4gICAgICAob25IaWRlQW5ub3RhdGlvbnMpPSJoaWRlQW5ub3RhdGlvbnMoJGV2ZW50KSJcbiAgICAgIChvblRvZ2dsZUV4cGFuZGVkKT0idG9nZ2xlRXhwYW5kZWQoKSJcbiAgICAgIChvblRvZ2dsZVNob3dDb3VudHMpPSJ0b2dnbGVTaG93Q291bnRzKCkiXG4gICAgICAob25Ub2dnbGVTaG93SGlkZGVuKT0idG9nZ2xlU2hvd0hpZGRlbigpIlxuICAgID48L25wbWktYW5ub3RhdGlvbnMtbGlzdC10b29sYmFyLWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLHtudW1Bbm5vdGF0aW9uczpbe3R5cGU6Ul99XSxleHBhbmRlZDpbe3R5cGU6Ul99XX0pO2NvbnN0IE5PdD1bImdseXBoIl07Y2xhc3Mgek90e25nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuc3ZnPW44KHRoaXMuZ2x5cGhTVkcubmF0aXZlRWxlbWVudCksdGhpcy5tYWluQ29udGFpbmVyPXRoaXMuc3ZnLmFwcGVuZCgiZyIpLHRoaXMuZHJhdygpfWRyYXcoKXsiY2lyY2xlIj09dGhpcy5zaGFwZT90aGlzLm1haW5Db250YWluZXIuYXBwZW5kKCJjaXJjbGUiKS5hdHRyKCJmaWxsIix0aGlzLmNvbG9yKS5hdHRyKCJzdHJva2UiLCJibGFjayIpLmF0dHIoImN4Iiw1KS5hdHRyKCJjeSIsNSkuYXR0cigiciIsNSk6ImJhciI9PXRoaXMuc2hhcGU/dGhpcy5tYWluQ29udGFpbmVyLmFwcGVuZCgicmVjdCIpLmF0dHIoImZpbGwiLHRoaXMuY29sb3IpLmF0dHIoIngiLDApLmF0dHIoInkiLDApLmF0dHIoIndpZHRoIiwxMCkuYXR0cigiaGVpZ2h0IiwxMCk6InJ1bkluZGljYXRvciI9PXRoaXMuc2hhcGUmJnRoaXMubWFpbkNvbnRhaW5lci5hcHBlbmQoImciKS5hcHBlbmQoInBhdGgiKS5hdHRyKCJmaWxsIix0aGlzLmNvbG9yKS5hdHRyKCJzdHJva2UiLCJibGFjayIpLmF0dHIoImQiLCJNIDIgMCBMIDEwIDAgTCA3IDUgTCAxMCAxMCBMIDIgMTAgWiIpfX16T3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHpPdCl9LHpPdC7JtWNtcD1zbyh7dHlwZTp6T3Qsc2VsZWN0b3JzOltbIm5wbWktbGVnZW5kLWVsZW1lbnQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJlZ5KE5PdCw3LEtoKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLmdseXBoU1ZHPXQuZmlyc3QpfX0saW5wdXRzOnt0ZXh0OiJ0ZXh0Iixjb2xvcjoiY29sb3IiLHNoYXBlOiJzaGFwZSJ9LGRlY2xzOjQsdmFyczoxLGNvbnN0czpbWzEsImdseXBoIl0sWyJnbHlwaCIsIiJdLFsxLCJsZWdlbmQtZWxlbWVudC10aXRsZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYob2EoKSx2ZigwLCJzdmciLDAsMSksYWEoKSxDZigyLCJkaXYiLDIpLFB1KDMpLE1mKCkpLDImZSYmKERjKDMpLHd1KG4udGV4dCkpfSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7cGFkZGluZy1yaWdodDoxMHB4fS5sZWdlbmQtZWxlbWVudC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOi44ZW07cGFkZGluZy1sZWZ0OjVweH0uZ2x5cGhbX25nY29udGVudC0lQ09NUCVde3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHh9Il0sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHpPdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLWxlZ2VuZC1lbGVtZW50Iix0ZW1wbGF0ZVVybDoiLi9sZWdlbmRfZWxlbWVudF9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9sZWdlbmRfZWxlbWVudF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7dGV4dDpbe3R5cGU6Ul99XSxjb2xvcjpbe3R5cGU6Ul99XSxzaGFwZTpbe3R5cGU6Ul99XSxnbHlwaFNWRzpbe3R5cGU6YXIsYXJnczpbImdseXBoIix7c3RhdGljOiEwLHJlYWQ6S2h9XX1dfSk7Y2xhc3MgSU90e31mdW5jdGlvbiBIT3QodCxlKXtpZigxJnQmJnZmKDAsIm1hdC1pY29uIiw4KSwyJnQpe2NvbnN0IHQ9emYoMik7YmYoInN2Z0ljb24iLHQuc29ydC5vcmRlcj09PXQuU29ydE9yZGVyLkRFU0NFTkRJTkc/ImFycm93X2Rvd253YXJkXzI0cHgiOiJhcnJvd191cHdhcmRfMjRweCIpKCJuZ0NsYXNzIix0LnNvcnQub3JkZXI9PT10LlNvcnRPcmRlci5ERVNDRU5ESU5HPyJkb3duLWljb24iOiJ1cC1pY29uIil9fWZ1bmN0aW9uIEZPdCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsNCksQ2YoMSwiZGl2Iiw1KSxDZigyLCJkaXYiLDYpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtjb25zdCBuPVBpKHQpLiRpbXBsaWNpdDtyZXR1cm4gemYoKS5vbkNoYW5nZVNvcnQuZW1pdChuKX0pKSxQdSgzKSxIbSg0LEhPdCwxLDIsIm1hdC1pY29uIiw3KSxNZigpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigpO0RjKDMpLGt1KCIgIixuLnN0cmlwTWV0cmljKHQpLCIgIiksRGMoMSksYmYoIm5nSWYiLHQ9PT1uLnNvcnQubWV0cmljKX19SU90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxJT3QpfSxJT3QuybVjbXA9c28oe3R5cGU6SU90LHNlbGVjdG9yczpbWyJucG1pLWFubm90YXRpb25zLWxpc3QtbGVnZW5kIl1dLGRlY2xzOjQsdmFyczowLGNvbnN0czpbWyJ0ZXh0IiwicnVuIGluZGljYXRvciIsImNvbG9yIiwicmdiKDAsMCwwKSIsInNoYXBlIiwicnVuSW5kaWNhdG9yIl0sWyJ0ZXh0IiwicG9zaXRpdmUgY29ycmVsYXRpb24iLCJjb2xvciIsInJnYigxMDksIDE3NCwgMjEzKSIsInNoYXBlIiwiYmFyIl0sWyJ0ZXh0IiwibmVnYXRpdmUgY29ycmVsYXRpb24iLCJjb2xvciIsInJnYigyNDksIDEwNSwgNzYpIiwic2hhcGUiLCJiYXIiXSxbInRleHQiLCJzYW1wbGUgY291bnQiLCJjb2xvciIsInJnYigxNTEsIDE1MSwgMTUxKSIsInNoYXBlIiwiY2lyY2xlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJucG1pLWxlZ2VuZC1lbGVtZW50IiwwKSx2ZigxLCJucG1pLWxlZ2VuZC1lbGVtZW50IiwxKSx2ZigyLCJucG1pLWxlZ2VuZC1lbGVtZW50IiwyKSx2ZigzLCJucG1pLWxlZ2VuZC1lbGVtZW50IiwzKSl9LGRpcmVjdGl2ZXM6W3pPdF0sc3R5bGVzOlsiW19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cGFkZGluZzowIDE2cHh9Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKElPdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLWFubm90YXRpb25zLWxpc3QtbGVnZW5kIix0ZW1wbGF0ZVVybDoiLi9sZWdlbmRfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vbGVnZW5kX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCxudWxsKTtjbGFzcyBMT3R7Y29uc3RydWN0b3IoKXt0aGlzLm9uQ2hhbmdlU29ydD1uZXcgU3ksdGhpcy5vbkFsbEFubm90YXRpb25zVG9nZ2xlZD1uZXcgU3ksdGhpcy5Tb3J0T3JkZXI9VXZ0fXN0cmlwTWV0cmljKHQpe3JldHVybiB6X3QodCl9fUxPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TE90KX0sTE90Lsm1Y21wPXNvKHt0eXBlOkxPdCxzZWxlY3RvcnM6W1sibnBtaS1hbm5vdGF0aW9ucy1saXN0LWhlYWRlci1jb21wb25lbnQiXV0saW5wdXRzOntudW1Bbm5vdGF0aW9uczoibnVtQW5ub3RhdGlvbnMiLHNlbGVjdGVkQW5ub3RhdGlvbnM6InNlbGVjdGVkQW5ub3RhdGlvbnMiLGFjdGl2ZU1ldHJpY3M6ImFjdGl2ZU1ldHJpY3MiLHNvcnQ6InNvcnQifSxvdXRwdXRzOntvbkNoYW5nZVNvcnQ6Im9uQ2hhbmdlU29ydCIsb25BbGxBbm5vdGF0aW9uc1RvZ2dsZWQ6Im9uQWxsQW5ub3RhdGlvbnNUb2dnbGVkIn0sZGVjbHM6NCx2YXJzOjIsY29uc3RzOltbMSwidG9nZ2xlLWFsbC1jb250YWluZXIiXSxbMywiY2hlY2tlZCIsImNoYW5nZSJdLFsxLCJhbm5vdGF0aW9ucy1oZWFkZXItY29udGFpbmVycyJdLFsiY2xhc3MiLCJoZWFkZXItY29sdW1uIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbMSwiaGVhZGVyLWNvbHVtbiJdLFsxLCJoZWFkZXItY29udGFpbmVyIl0sWyJ0YWJpbmRleCIsIjAiLCJyb2xlIiwiYnV0dG9uIiwidGl0bGUiLCJDaGFuZ2UgdGhlIHNvcnQgYnkgY2xpY2tpbmcgYW55IG9mIHRoZSBtZXRyaWNzLiIsMSwiaGVhZGVyLWNsaWNrYWJsZSIsMywiY2xpY2siXSxbImNsYXNzIiwic29ydC1pY29uIiwzLCJzdmdJY29uIiwibmdDbGFzcyIsNCwibmdJZiJdLFsxLCJzb3J0LWljb24iLDMsInN2Z0ljb24iLCJuZ0NsYXNzIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLENmKDEsIm1hdC1jaGVja2JveCIsMSksUmYoImNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25BbGxBbm5vdGF0aW9uc1RvZ2dsZWQuZW1pdChlLmNoZWNrZWQpfSkpLE1mKCksTWYoKSxDZigyLCJkaXYiLDIpLEhtKDMsRk90LDUsMiwiZGl2IiwzKSxNZigpKSwyJmUmJihEYygxKSxiZigiY2hlY2tlZCIsbi5zZWxlY3RlZEFubm90YXRpb25zLmxlbmd0aD09PW4ubnVtQW5ub3RhdGlvbnMpLERjKDIpLGJmKCJuZ0Zvck9mIixuLmFjdGl2ZU1ldHJpY3MpKX0sZGlyZWN0aXZlczpbYloseHYsUHYsTXEsQ3ZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17Ym9yZGVyLWJvdHRvbToycHggc29saWQgI2ViZWJlYjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7YWxpZ24taXRlbXM6ZmxleC1lbmQ7bWFyZ2luLXRvcDo4cHh9LmFubm90YXRpb25zLWhlYWRlci1jb250YWluZXJzW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOi45ZW07Zm9udC13ZWlnaHQ6NTAwO2ZsZXgtZ3JvdzoxfS5oZWFkZXItY29sdW1uW19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4OjEgMX0uaGVhZGVyLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2t9LmhlYWRlci1jbGlja2FibGVbX25nY29udGVudC0lQ09NUCVde2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDtvdXRsaW5lOm5vbmV9LnRvZ2dsZS1hbGwtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tbGVmdDoxMHB4O3dpZHRoOjkwcHh9LnNvcnQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjE2cHh9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKExPdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLWFubm90YXRpb25zLWxpc3QtaGVhZGVyLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vaGVhZGVyX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2hlYWRlcl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bnVtQW5ub3RhdGlvbnM6W3t0eXBlOlJffV0sc2VsZWN0ZWRBbm5vdGF0aW9uczpbe3R5cGU6Ul99XSxhY3RpdmVNZXRyaWNzOlt7dHlwZTpSX31dLHNvcnQ6W3t0eXBlOlJffV0sb25DaGFuZ2VTb3J0Olt7dHlwZTpFX31dLG9uQWxsQW5ub3RhdGlvbnNUb2dnbGVkOlt7dHlwZTpFX31dfSk7Y2xhc3MgQk90e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbnMkPXRoaXMuc3RvcmUuc2VsZWN0KFh2dCksdGhpcy5hbm5vdGF0aW9uU29ydCQ9dGhpcy5zdG9yZS5zZWxlY3Qobnh0KX1jaGFuZ2VTb3J0KHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goa3Z0KHttZXRyaWM6dH0pKX1hbGxBbm5vdGF0aW9uc1RvZ2dsZWQodCl7dGhpcy5zdG9yZS5kaXNwYXRjaCh5dnQodD97YW5ub3RhdGlvbnM6T2JqZWN0LmtleXModGhpcy5hbm5vdGF0aW9ucyl9Onthbm5vdGF0aW9uczpbXX0pKX19Qk90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxCT3QpKGdmKGlTKSl9LEJPdC7JtWNtcD1zbyh7dHlwZTpCT3Qsc2VsZWN0b3JzOltbIm5wbWktYW5ub3RhdGlvbnMtbGlzdC1oZWFkZXIiXV0saW5wdXRzOntudW1Bbm5vdGF0aW9uczoibnVtQW5ub3RhdGlvbnMiLGFubm90YXRpb25zOiJhbm5vdGF0aW9ucyIsYWN0aXZlTWV0cmljczoiYWN0aXZlTWV0cmljcyJ9LGRlY2xzOjMsdmFyczo4LGNvbnN0czpbWzMsIm51bUFubm90YXRpb25zIiwic2VsZWN0ZWRBbm5vdGF0aW9ucyIsInNvcnQiLCJhY3RpdmVNZXRyaWNzIiwib25DaGFuZ2VTb3J0Iiwib25BbGxBbm5vdGF0aW9uc1RvZ2dsZWQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsIm5wbWktYW5ub3RhdGlvbnMtbGlzdC1oZWFkZXItY29tcG9uZW50IiwwKSxSZigib25DaGFuZ2VTb3J0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5jaGFuZ2VTb3J0KGUpfSkpKCJvbkFsbEFubm90YXRpb25zVG9nZ2xlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uYWxsQW5ub3RhdGlvbnNUb2dnbGVkKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJudW1Bbm5vdGF0aW9ucyIsbi5udW1Bbm5vdGF0aW9ucykoInNlbGVjdGVkQW5ub3RhdGlvbnMiLEN5KDEsNCxuLnNlbGVjdGVkQW5ub3RhdGlvbnMkKSkoInNvcnQiLEN5KDIsNixuLmFubm90YXRpb25Tb3J0JCkpKCJhY3RpdmVNZXRyaWNzIixuLmFjdGl2ZU1ldHJpY3MpfSxkaXJlY3RpdmVzOltMT3RdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihCT3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibnBtaS1hbm5vdGF0aW9ucy1saXN0LWhlYWRlciIsdGVtcGxhdGU6J1xuICAgIDxucG1pLWFubm90YXRpb25zLWxpc3QtaGVhZGVyLWNvbXBvbmVudFxuICAgICAgW251bUFubm90YXRpb25zXT0ibnVtQW5ub3RhdGlvbnMiXG4gICAgICBbc2VsZWN0ZWRBbm5vdGF0aW9uc109InNlbGVjdGVkQW5ub3RhdGlvbnMkIHwgYXN5bmMiXG4gICAgICBbc29ydF09ImFubm90YXRpb25Tb3J0JCB8IGFzeW5jIlxuICAgICAgW2FjdGl2ZU1ldHJpY3NdPSJhY3RpdmVNZXRyaWNzIlxuICAgICAgKG9uQ2hhbmdlU29ydCk9ImNoYW5nZVNvcnQoJGV2ZW50KSJcbiAgICAgIChvbkFsbEFubm90YXRpb25zVG9nZ2xlZCk9ImFsbEFubm90YXRpb25zVG9nZ2xlZCgkZXZlbnQpIlxuICAgID48L25wbWktYW5ub3RhdGlvbnMtbGlzdC1oZWFkZXItY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse251bUFubm90YXRpb25zOlt7dHlwZTpSX31dLGFubm90YXRpb25zOlt7dHlwZTpSX31dLGFjdGl2ZU1ldHJpY3M6W3t0eXBlOlJffV19KTtjb25zdCBWT3Q9WyJjaGFydCJdLGpPdD1bImhpbnRDbGlwIl07ZnVuY3Rpb24gVU90KHQsZSl7MSZ0JiZ2ZigwLCJtYXQtaWNvbiIsMTIpfWZ1bmN0aW9uIFdPdCh0LGUpezEmdCYmdmYoMCwibWF0LWljb24iLDEzKX1mdW5jdGlvbiBHT3QodCxlKXtpZigxJnQmJnZmKDAsIm1hdC1pY29uIiwxNCksMiZ0KXtjb25zdCB0PXpmKCk7YmYoInN2Z0ljb24iLHQuc29ydC5vcmRlcj09PXQuU29ydE9yZGVyLlNJTUlMQVI/ImFycm93X2Rvd253YXJkXzI0cHgiOiJhcnJvd191cHdhcmRfMjRweCIpKCJuZ0NsYXNzIix0LnNvcnQub3JkZXI9PT10LlNvcnRPcmRlci5TSU1JTEFSPyJkb3duLWljb24iOiJ1cC1pY29uIil9fWNsYXNzIFlPdHtjb25zdHJ1Y3Rvcigpe3RoaXMuc2VsZWN0ZWQ9ITEsdGhpcy5vblNob3dTaW1pbGFyQW5ub3RhdGlvbnM9bmV3IFN5LHRoaXMuU29ydE9yZGVyPVV2dCx0aGlzLndpZHRoPTEwLHRoaXMuY2hhcnRXaWR0aD0xMCx0aGlzLmNoYXJ0SGVpZ2h0PTEwLHRoaXMubWF4RG90UmFkaXVzPTEwLHRoaXMuY291bnREb3RPZmZzZXQ9NzAsdGhpcy5jb3VudFRleHRQYWRkaW5nPTIsdGhpcy5tYXJnaW49e3RvcDowLHJpZ2h0OjAsYm90dG9tOjAsbGVmdDoxMDB9LHRoaXMuc3Ryb2tlQ29sb3I9IiNmZmYiLHRoaXMudGV4dENsYXNzPSJkZWZhdWx0LXRleHQiLHRoaXMucnVucz1bXX1vblJlc2l6ZSh0KXt0aGlzLnJlZHJhdygpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuc3ZnPW44KHRoaXMuYW5ub3RhdGlvbkNvbnRhaW5lci5uYXRpdmVFbGVtZW50KS5zZWxlY3QoInN2ZyIpLHRoaXMueFNjYWxlPSRudCgpLnBhZGRpbmcoMCksdGhpcy55U2NhbGU9JG50KCkucGFkZGluZygwKSx0aGlzLnNpemVTY2FsZT1tb3QoKS5kb21haW4oWzAsMV0pLHRoaXMuY291bnRTaXplU2NhbGU9bW90KCkucmFuZ2UoWzIsdGhpcy5tYXhEb3RSYWRpdXNdKSx0aGlzLm1haW5Db250YWluZXI9dGhpcy5zdmcuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIixgdHJhbnNsYXRlKCR7dGhpcy5tYXJnaW4ubGVmdH0sICR7dGhpcy5tYXJnaW4udG9wfSlgKSx0aGlzLmJhcnNHcm91cD10aGlzLm1haW5Db250YWluZXIuYXBwZW5kKCJnIiksdGhpcy5jb3VudERvdHNHcm91cD10aGlzLm1haW5Db250YWluZXIuYXBwZW5kKCJnIiksdGhpcy50ZXh0c0dyb3VwPXRoaXMubWFpbkNvbnRhaW5lci5hcHBlbmQoImciKSx0aGlzLmNvdW50VGV4dHNHcm91cD10aGlzLm1haW5Db250YWluZXIuYXBwZW5kKCJnIiksdGhpcy5ydW5IaW50R3JvdXA9dGhpcy5zdmcuYXBwZW5kKCJnIiksdGhpcy5yZWRyYXcoKX1uZ09uQ2hhbmdlcyh0KXt0aGlzLnN2ZyYmdGhpcy5yZWRyYXcoKX1yZWRyYXcoKXt0aGlzLnNlbGVjdGVkPXRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9ucy5pbmNsdWRlcyh0aGlzLmFubm90YXRpb24pLHRoaXMudXBkYXRlRGltZW5zaW9ucygpLHRoaXMuc2V0VGV4dENsYXNzKCksdGhpcy51cGRhdGVBeGVzKCksdGhpcy5kcmF3KCl9dXBkYXRlRGltZW5zaW9ucygpe2NvbnN0IHQ9bmV3IFNldDt0aGlzLmRhdGEuZm9yRWFjaCgoZT0+e3QuYWRkKGUucnVuKX0pKSx0aGlzLnJ1bnM9Wy4uLnRdLHRoaXMuc3ZnLnN0eWxlKCJoZWlnaHQiLHRoaXMubnVtQWN0aXZlUnVucyp0aGlzLnJ1bkhlaWdodCsicHgiKSx0aGlzLmNoYXJ0SGVpZ2h0PXRoaXMucnVucy5sZW5ndGgqdGhpcy5ydW5IZWlnaHQtdGhpcy5tYXJnaW4udG9wLXRoaXMubWFyZ2luLmJvdHRvbSx0aGlzLndpZHRoPXRoaXMuYW5ub3RhdGlvbkNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRofHwxMCx0aGlzLmNoYXJ0V2lkdGg9dGhpcy53aWR0aC10aGlzLm1hcmdpbi5sZWZ0LXRoaXMubWFyZ2luLnJpZ2h0fXNldFRleHRDbGFzcygpe3RoaXMudGV4dENsYXNzPSJkZWZhdWx0LXRleHQiLHRoaXMuZmxhZ2dlZEFubm90YXRpb25zLmluY2x1ZGVzKHRoaXMuYW5ub3RhdGlvbik/dGhpcy50ZXh0Q2xhc3M9ImZsYWctdGV4dCI6dGhpcy5oaWRkZW5Bbm5vdGF0aW9ucy5pbmNsdWRlcyh0aGlzLmFubm90YXRpb24pJiYodGhpcy50ZXh0Q2xhc3M9ImhpZGRlbi10ZXh0Iil9dXBkYXRlQXhlcygpe3RoaXMueFNjYWxlLnJhbmdlUm91bmQoWzAsdGhpcy5jaGFydFdpZHRoLXRoaXMuY2hhcnRXaWR0aC90aGlzLmFjdGl2ZU1ldHJpY3MubGVuZ3RoXSkuZG9tYWluKHRoaXMuYWN0aXZlTWV0cmljcy5tYXAoKHQ9PnpfdCh0KSkpKSx0aGlzLnlTY2FsZS5yYW5nZVJvdW5kKFswLHRoaXMuY2hhcnRIZWlnaHQtdGhpcy5ydW5IZWlnaHRdKS5kb21haW4odGhpcy5ydW5zKSx0aGlzLnNpemVTY2FsZS5yYW5nZShbMCx0aGlzLmNoYXJ0V2lkdGgvdGhpcy5hY3RpdmVNZXRyaWNzLmxlbmd0aF0pLHRoaXMuY291bnRTaXplU2NhbGUuZG9tYWluKFswLHRoaXMubWF4Q291bnRdKX1kcmF3KCl7dGhpcy5kcmF3UnVuSW5kaWNhdG9ycygpLHRoaXMuZHJhd1J1bkhpbnRUZXh0cygpLHRoaXMuZHJhd0JhcnMoKSx0aGlzLmRyYXdUZXh0cygpLHRoaXMuc2hvd0NvdW50cz8odGhpcy5kcmF3Q291bnREb3RzKCksdGhpcy5kcmF3Q291bnRUZXh0cygpKToodGhpcy5jb3VudERvdHNHcm91cC5zZWxlY3RBbGwoIi5jb3VudC1kb3QiKS5yZW1vdmUoKSx0aGlzLmNvdW50VGV4dHNHcm91cC5zZWxlY3RBbGwoIi5jb3VudC1iYWNrZ3JvdW5kLXRleHQiKS5yZW1vdmUoKSx0aGlzLmNvdW50VGV4dHNHcm91cC5zZWxlY3RBbGwoIi5jb3VudC10ZXh0IikucmVtb3ZlKCkpfWRyYXdSdW5JbmRpY2F0b3JzKCl7bjgodGhpcy5jbGlwUGF0aEVsZW1lbnQubmF0aXZlRWxlbWVudCkuc2VsZWN0KCJyZWN0IikuYXR0cigid2lkdGgiLHRoaXMubWFyZ2luLmxlZnQtMzApLmF0dHIoImhlaWdodCIsdGhpcy5jaGFydEhlaWdodCk7Y29uc3QgdD10aGlzLnJ1bkhpbnRHcm91cC5zZWxlY3RBbGwoIi5oaW50IikuZGF0YSh0aGlzLnJ1bnMpLGU9dC5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImNsYXNzIiwiaGludCIpO2UuYXBwZW5kKCJwYXRoIikuYXR0cigiZCIsIk0gMCAwIEwgMTUgMCBMIDEwIDEwIEwgMTUgMjAgTCAwIDIwIFoiKSxlLm1lcmdlKHQpLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuYHRyYW5zbGF0ZSgxMCwgJHt0aGlzLnlTY2FsZSh0KSs1fSlgfS5iaW5kKHRoaXMpKS5hdHRyKCJmaWxsIixmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jb2xvclNjYWxlKHQpfS5iaW5kKHRoaXMpKSx0LmV4aXQoKS5yZW1vdmUoKX1kcmF3UnVuSGludFRleHRzKCl7Y29uc3QgdD10aGlzLnJ1bkhpbnRHcm91cC5zZWxlY3RBbGwoIi5oaW50LXRleHQiKS5kYXRhKHRoaXMucnVucyk7dC5lbnRlcigpLmFwcGVuZCgidGV4dCIpLmF0dHIoIngiLDI1KS5hdHRyKCJmb250LXNpemUiLCIxMHB4IikuYXR0cigiYWxpZ25tZW50LWJhc2VsaW5lIiwibWlkZGxlIikuYXR0cigiY2xpcC1wYXRoIiwidXJsKCNoaW50LWNsaXApIikubWVyZ2UodCkuYXR0cigieSIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueVNjYWxlKHQpKzE1fS5iaW5kKHRoaXMpKS5hdHRyKCJjbGFzcyIsYGhpbnQtdGV4dCAke3RoaXMudGV4dENsYXNzfWApLnRleHQoKHQ9Pnt2YXIgZTtyZXR1cm4obnVsbD09PShlPXRoaXMucnVuSWRUb1J1bnMuZ2V0KHQpKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5uYW1lKXx8IiJ9KSksdC5leGl0KCkucmVtb3ZlKCl9ZHJhd0JhcnMoKXtjb25zdCB0PXRoaXMuYmFyc0dyb3VwLnNlbGVjdEFsbCgiLmJhciIpLmRhdGEodGhpcy5kYXRhKTt0LmVudGVyKCkuYXBwZW5kKCJyZWN0IikuYXR0cigiY2xhc3MiLCJiYXIiKS5hdHRyKCJoZWlnaHQiLDIwKS5tZXJnZSh0KS5hdHRyKCJmaWxsIiwodD0+bnVsbD09PXQublBNSVZhbHVlPyIiOnQublBNSVZhbHVlPj0wP0VhdCh0Lm5QTUlWYWx1ZSk6VGF0KC0xKnQublBNSVZhbHVlKSkpLmF0dHIoIngiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnhTY2FsZSh0Lm1ldHJpYyl9LmJpbmQodGhpcykpLmF0dHIoInkiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnlTY2FsZSh0LnJ1bikrNX0uYmluZCh0aGlzKSkuYXR0cigid2lkdGgiLGZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dC5uUE1JVmFsdWU/MDp0aGlzLnNpemVTY2FsZShNYXRoLmFicyh0Lm5QTUlWYWx1ZSkpfS5iaW5kKHRoaXMpKSx0LmV4aXQoKS5yZW1vdmUoKX1kcmF3Q291bnREb3RzKCl7Y29uc3QgdD10aGlzLmNvdW50RG90c0dyb3VwLnNlbGVjdEFsbCgiLmNvdW50LWRvdCIpLmRhdGEodGhpcy5kYXRhKTt0LmVudGVyKCkuYXBwZW5kKCJjaXJjbGUiKS5hdHRyKCJjbGFzcyIsImNvdW50LWRvdCIpLmF0dHIoInN0cm9rZSIsImJsYWNrIikubWVyZ2UodCkuYXR0cigiZmlsbCIsZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PT10LmNvdW50VmFsdWU/IiI6QWF0KHQuY291bnRWYWx1ZS90aGlzLm1heENvdW50KX0uYmluZCh0aGlzKSkuYXR0cigiY3giLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnhTY2FsZSh0Lm1ldHJpYykrdGhpcy5jb3VudERvdE9mZnNldH0uYmluZCh0aGlzKSkuYXR0cigiY3kiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnlTY2FsZSh0LnJ1bikrdGhpcy5ydW5IZWlnaHQvMn0uYmluZCh0aGlzKSkuYXR0cigiciIsZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PT10LmNvdW50VmFsdWU/MDp0aGlzLmNvdW50U2l6ZVNjYWxlKHQuY291bnRWYWx1ZSl9LmJpbmQodGhpcykpLHQuZXhpdCgpLnJlbW92ZSgpfWRyYXdUZXh0cygpe2NvbnN0IHQ9dGhpcy50ZXh0c0dyb3VwLnNlbGVjdEFsbCgiLm5wbWktYmFja2dyb3VuZC10ZXh0IikuZGF0YSh0aGlzLmRhdGEpO3QuZW50ZXIoKS5hcHBlbmQoInRleHQiKS5hdHRyKCJjbGFzcyIsIm5wbWktYmFja2dyb3VuZC10ZXh0IikuYXR0cigic3Ryb2tlLXdpZHRoIiwzKS5hdHRyKCJzdHJva2UtbGluZWpvaW4iLCJyb3VuZCIpLmF0dHIoInN0cm9rZSIsdGhpcy5zdHJva2VDb2xvcikuYXR0cigiZm9udC1zaXplIiwiMTNweCIpLmF0dHIoImFsaWdubWVudC1iYXNlbGluZSIsIm1pZGRsZSIpLm1lcmdlKHQpLmF0dHIoIngiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnhTY2FsZSh0Lm1ldHJpYykrNX0uYmluZCh0aGlzKSkuYXR0cigieSIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueVNjYWxlKHQucnVuKSt0aGlzLnJ1bkhlaWdodC8yfS5iaW5kKHRoaXMpKS50ZXh0KCh0PT5udWxsPT09dC5uUE1JVmFsdWU/Im51bGwiOk1hdGgucm91bmQoMWUzKih0Lm5QTUlWYWx1ZStOdW1iZXIuRVBTSUxPTikpLzFlMykpLHQuZXhpdCgpLnJlbW92ZSgpO2NvbnN0IGU9dGhpcy50ZXh0c0dyb3VwLnNlbGVjdEFsbCgiLm5wbWktdGV4dCIpLmRhdGEodGhpcy5kYXRhKTtlLmVudGVyKCkuYXBwZW5kKCJ0ZXh0IikuYXR0cigiY2xhc3MiLCJucG1pLXRleHQiKS5hdHRyKCJmb250LXNpemUiLCIxM3B4IikuYXR0cigiYWxpZ25tZW50LWJhc2VsaW5lIiwibWlkZGxlIikubWVyZ2UoZSkuYXR0cigieCIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueFNjYWxlKHQubWV0cmljKSs1fS5iaW5kKHRoaXMpKS5hdHRyKCJ5IixmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy55U2NhbGUodC5ydW4pK3RoaXMucnVuSGVpZ2h0LzJ9LmJpbmQodGhpcykpLnRleHQoKHQ9Pm51bGw9PT10Lm5QTUlWYWx1ZT8ibnVsbCI6TWF0aC5yb3VuZCgxZTMqKHQublBNSVZhbHVlK051bWJlci5FUFNJTE9OKSkvMWUzKSksZS5leGl0KCkucmVtb3ZlKCl9ZHJhd0NvdW50VGV4dHMoKXtjb25zdCB0PXRoaXMuY291bnRUZXh0c0dyb3VwLnNlbGVjdEFsbCgiLmNvdW50LWJhY2tncm91bmQtdGV4dCIpLmRhdGEodGhpcy5kYXRhKTt0LmVudGVyKCkuYXBwZW5kKCJ0ZXh0IikuYXR0cigiY2xhc3MiLCJjb3VudC1iYWNrZ3JvdW5kLXRleHQiKS5hdHRyKCJzdHJva2Utd2lkdGgiLDMpLmF0dHIoInN0cm9rZS1saW5lam9pbiIsInJvdW5kIikuYXR0cigic3Ryb2tlIix0aGlzLnN0cm9rZUNvbG9yKS5hdHRyKCJmb250LXNpemUiLCIxMHB4IikuYXR0cigiYWxpZ25tZW50LWJhc2VsaW5lIiwibWlkZGxlIikubWVyZ2UodCkuYXR0cigieCIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueFNjYWxlKHQubWV0cmljKSt0aGlzLmNvdW50RG90T2Zmc2V0K3RoaXMuY291bnRUZXh0UGFkZGluZyt0aGlzLm1heERvdFJhZGl1c30uYmluZCh0aGlzKSkuYXR0cigieSIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueVNjYWxlKHQucnVuKSt0aGlzLnJ1bkhlaWdodC8yfS5iaW5kKHRoaXMpKS50ZXh0KCh0PT5udWxsPT09dC5jb3VudFZhbHVlPyIiOkludGwuTnVtYmVyRm9ybWF0KCkuZm9ybWF0KHQuY291bnRWYWx1ZSkpKSx0LmV4aXQoKS5yZW1vdmUoKTtjb25zdCBlPXRoaXMuY291bnRUZXh0c0dyb3VwLnNlbGVjdEFsbCgiLmNvdW50LXRleHQiKS5kYXRhKHRoaXMuZGF0YSk7ZS5lbnRlcigpLmFwcGVuZCgidGV4dCIpLmF0dHIoImNsYXNzIiwiY291bnQtdGV4dCIpLmF0dHIoImZvbnQtc2l6ZSIsIjEwcHgiKS5hdHRyKCJhbGlnbm1lbnQtYmFzZWxpbmUiLCJtaWRkbGUiKS5tZXJnZShlKS5hdHRyKCJ4IixmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54U2NhbGUodC5tZXRyaWMpK3RoaXMuY291bnREb3RPZmZzZXQrdGhpcy5jb3VudFRleHRQYWRkaW5nK3RoaXMubWF4RG90UmFkaXVzfS5iaW5kKHRoaXMpKS5hdHRyKCJ5IixmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy55U2NhbGUodC5ydW4pK3RoaXMucnVuSGVpZ2h0LzJ9LmJpbmQodGhpcykpLnRleHQoKHQ9Pm51bGw9PT10LmNvdW50VmFsdWU/IiI6SW50bC5OdW1iZXJGb3JtYXQoKS5mb3JtYXQodC5jb3VudFZhbHVlKSkpLGUuZXhpdCgpLnJlbW92ZSgpfXNpbWlsYXJpdHlTb3J0KHQpe3RoaXMuaGFzRW1iZWRkaW5nJiYodC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLm9uU2hvd1NpbWlsYXJBbm5vdGF0aW9ucy5lbWl0KCkpfX1ZT3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFlPdCl9LFlPdC7JtWNtcD1zbyh7dHlwZTpZT3Qsc2VsZWN0b3JzOltbImFubm90YXRpb24tY29tcG9uZW50Il1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoVnkoVk90LDcsS2gpLFZ5KGpPdCw3LEtoKSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5hbm5vdGF0aW9uQ29udGFpbmVyPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLmNsaXBQYXRoRWxlbWVudD10LmZpcnN0KX19LGhvc3RWYXJzOjIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJyZXNpemUiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25SZXNpemUoKX0pLCExLE9sKSwyJmUmJmN1KCJzZWxlY3RlZC1yb3ciLG4uc2VsZWN0ZWQpfSxpbnB1dHM6e2RhdGE6ImRhdGEiLG1heENvdW50OiJtYXhDb3VudCIsc2VsZWN0ZWRBbm5vdGF0aW9uczoic2VsZWN0ZWRBbm5vdGF0aW9ucyIsZmxhZ2dlZEFubm90YXRpb25zOiJmbGFnZ2VkQW5ub3RhdGlvbnMiLGhpZGRlbkFubm90YXRpb25zOiJoaWRkZW5Bbm5vdGF0aW9ucyIsYWN0aXZlTWV0cmljczoiYWN0aXZlTWV0cmljcyIsbnVtQWN0aXZlUnVuczoibnVtQWN0aXZlUnVucyIsc2hvd0NvdW50czoic2hvd0NvdW50cyIsYW5ub3RhdGlvbjoiYW5ub3RhdGlvbiIscnVuSGVpZ2h0OiJydW5IZWlnaHQiLGhhc0VtYmVkZGluZzoiaGFzRW1iZWRkaW5nIixzb3J0OiJzb3J0IixzaWRlYmFyV2lkdGg6InNpZGViYXJXaWR0aCIsY29sb3JTY2FsZToiY29sb3JTY2FsZSIscnVuSWRUb1J1bnM6InJ1bklkVG9SdW5zIn0sb3V0cHV0czp7b25TaG93U2ltaWxhckFubm90YXRpb25zOiJvblNob3dTaW1pbGFyQW5ub3RhdGlvbnMifSxmZWF0dXJlczpbcW9dLGRlY2xzOjE0LHZhcnM6MTAsY29uc3RzOltbMSwiYW5ub3RhdGlvbi10aXRsZSJdLFsxLCJhbm5vdGF0aW9uLWNoZWNrYm94IiwzLCJjaGVja2VkIiwiY2xpY2siXSxbMSwiYW5ub3RhdGlvbi1idXR0b24iLDMsIm5nQ2xhc3MiLCJjbGljayJdLFsiY2xhc3MiLCJmbGFnZ2VkLWljb24iLCJzdmdJY29uIiwiZmxhZ18yNHB4Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsImhpZGRlbi1pY29uIiwic3ZnSWNvbiIsInZpc2liaWxpdHlfb2ZmXzI0cHgiLDQsIm5nSWYiXSxbImNsYXNzIiwiYW5ub3RhdGlvbi1pY29uIiwzLCJzdmdJY29uIiwibmdDbGFzcyIsNCwibmdJZiJdLFsxLCJjaGFydC1kaXYiXSxbImNoYXJ0IiwiIl0sWzEsImNoYXJ0LXN2ZyJdLFsiaWQiLCJoaW50LWNsaXAiXSxbImhpbnRDbGlwIiwiIl0sWyJ4IiwiMCIsInkiLCIwIl0sWyJzdmdJY29uIiwiZmxhZ18yNHB4IiwxLCJmbGFnZ2VkLWljb24iXSxbInN2Z0ljb24iLCJ2aXNpYmlsaXR5X29mZl8yNHB4IiwxLCJoaWRkZW4taWNvbiJdLFsxLCJhbm5vdGF0aW9uLWljb24iLDMsInN2Z0ljb24iLCJuZ0NsYXNzIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLENmKDEsIm1hdC1jaGVja2JveCIsMSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpfSkpLE1mKCksQ2YoMiwiYnV0dG9uIiwyKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnNpbWlsYXJpdHlTb3J0KGUpfSkpLFB1KDMpLE1mKCksSG0oNCxVT3QsMSwwLCJtYXQtaWNvbiIsMyksSG0oNSxXT3QsMSwwLCJtYXQtaWNvbiIsNCksSG0oNixHT3QsMSwyLCJtYXQtaWNvbiIsNSksTWYoKSxDZig3LCJkaXYiLDYsNyksb2EoKSxDZig5LCJzdmciLDgpLENmKDEwLCJkZWZzIiksQ2YoMTEsImNsaXBQYXRoIiw5LDEwKSx2ZigxMywicmVjdCIsMTEpLE1mKCksTWYoKSxNZigpLE1mKCkpLDImZSYmKGN1KCJmbGFnZ2VkLWFubm90YXRpb24iLG4uZmxhZ2dlZEFubm90YXRpb25zLmluY2x1ZGVzKG4uYW5ub3RhdGlvbikpKCJoaWRkZW4tYW5ub3RhdGlvbiIsbi5oaWRkZW5Bbm5vdGF0aW9ucy5pbmNsdWRlcyhuLmFubm90YXRpb24pJiYhbi5mbGFnZ2VkQW5ub3RhdGlvbnMuaW5jbHVkZXMobi5hbm5vdGF0aW9uKSksRGMoMSksYmYoImNoZWNrZWQiLG4uc2VsZWN0ZWRBbm5vdGF0aW9ucy5pbmNsdWRlcyhuLmFubm90YXRpb24pKSxEYygxKSxiZigibmdDbGFzcyIsbi5oYXNFbWJlZGRpbmc/ImNsaWNrYWJsZS1hbm5vdGF0aW9uIjoiIiksRGMoMSksa3UoIiAiLG4uYW5ub3RhdGlvbiwiICIpLERjKDEpLGJmKCJuZ0lmIixuLmZsYWdnZWRBbm5vdGF0aW9ucy5pbmNsdWRlcyhuLmFubm90YXRpb24pKSxEYygxKSxiZigibmdJZiIsbi5oaWRkZW5Bbm5vdGF0aW9ucy5pbmNsdWRlcyhuLmFubm90YXRpb24pKSxEYygxKSxiZigibmdJZiIsbi5hbm5vdGF0aW9uPT09bi5zb3J0Lm1ldHJpYykpfSxkaXJlY3RpdmVzOltiWixDdixQdixNcV0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50e2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbCAubWF0LWJhZGdlLWNvbnRlbnR7Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlIC5tYXQtYmFkZ2UtY29udGVudHtmb250LXNpemU6MjRweH0ubWF0LWgxLC5tYXQtaGVhZGxpbmUsLm1hdC10eXBvZ3JhcGh5IGgxe2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyLC5tYXQtdGl0bGUsLm1hdC10eXBvZ3JhcGh5IGgye2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzLC5tYXQtc3ViaGVhZGluZy0yLC5tYXQtdHlwb2dyYXBoeSBoM3tmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNCwubWF0LXN1YmhlYWRpbmctMSwubWF0LXR5cG9ncmFwaHkgaDR7Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDUsLm1hdC10eXBvZ3JhcGh5IGg1e2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2LC5tYXQtdHlwb2dyYXBoeSBoNntmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZywubWF0LWJvZHktMntmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHksLm1hdC1ib2R5LTEsLm1hdC10eXBvZ3JhcGh5e2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keSBwLC5tYXQtYm9keS0xIHAsLm1hdC10eXBvZ3JhcGh5IHB7bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGwsLm1hdC1jYXB0aW9ue2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00LC5tYXQtdHlwb2dyYXBoeSAubWF0LWRpc3BsYXktNHtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTMsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0ze2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTIsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0ye2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xLC5tYXQtdHlwb2dyYXBoeSAubWF0LWRpc3BsYXktMXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVye2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uLC5tYXQtcmFpc2VkLWJ1dHRvbiwubWF0LWljb24tYnV0dG9uLC5tYXQtc3Ryb2tlZC1idXR0b24sLm1hdC1mbGF0LWJ1dHRvbiwubWF0LWZhYiwubWF0LW1pbmktZmFie2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xle2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmR7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlciAubWF0LWNhcmQtdGl0bGV7Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlLC5tYXQtY2FyZC1jb250ZW50e2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3h7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0IC5tYXQtY2hlY2tib3gtbGFiZWx7bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXB7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcCAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbiwubWF0LWNoaXAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbntmb250LXNpemU6MThweH0ubWF0LXRhYmxle2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxse2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGwsLm1hdC1mb290ZXItY2VsbHtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFye2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHl7Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsLC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbntmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGh7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxle2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnR7Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxke2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVye3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbiwubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbntmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24sLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24tYnV0dG9ue2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb257aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4e3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVye3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJ7Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJ7cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbDotd2Via2l0LWF1dG9maWxsKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cysubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbDotd2Via2l0LWF1dG9maWxsKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtbGFiZWx7dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyLC5tYXQtZ3JpZC10aWxlLWZvb3Rlcntmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXIgLm1hdC1saW5lLC5tYXQtZ3JpZC10aWxlLWZvb3RlciAubWF0LWxpbmV7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlciAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMiksLm1hdC1ncmlkLXRpbGUtZm9vdGVyIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudHttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yLC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2Vye2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3R7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJ7aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbCwubWF0LXN0ZXBwZXItaG9yaXpvbnRhbHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVse2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9ye2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3J7Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVke2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWwsLm1hdC10YWItbGlua3tmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhciwubWF0LXRvb2xiYXIgaDEsLm1hdC10b29sYmFyIGgyLC5tYXQtdG9vbGJhciBoMywubWF0LXRvb2xiYXIgaDQsLm1hdC10b29sYmFyIGg1LC5tYXQtdG9vbGJhciBoNntmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXB7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXR7Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW0gLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbSAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbntmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbiAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1zdWJoZWFkZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LWl0ZW17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LW9wdGlvbntmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LW9wdGlvbiAubWF0LWxpbmV7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1zdWJoZWFkZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbHtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9ue2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVle2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZSwubWF0LW5lc3RlZC10cmVlLW5vZGV7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxle292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZHtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXJpcHBsZS1lbGVtZW50e2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbntib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXIsLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVye3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcjplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVye2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmV7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9we3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5ne29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5ne29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3B7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5ne29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveHtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2Nre3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXple3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmd7cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveHtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHsvKiEqL31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHsvKiEqL30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3J7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9ye3Bvc2l0aW9uOnJlbGF0aXZlfTpob3N0e3BhZGRpbmctdG9wOjVweH0uYW5ub3RhdGlvbi10aXRsZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxM3B4O2hlaWdodDoyMHB4O3BhZGRpbmc6MCAxMHB4O3VzZXItc2VsZWN0Om5vbmV9LnNlbGVjdGVkLXJvd3tiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7ZGlzcGxheTpibG9ja30uZmxhZ2dlZC1hbm5vdGF0aW9ue2NvbG9yOiNmNTdjMDB9LmhpZGRlbi1hbm5vdGF0aW9ue2NvbG9yOiM3NTc1NzV9LmFubm90YXRpb24tY2hlY2tib3h7cGFkZGluZy1yaWdodDo1cHh9LmZsYWdnZWQtaWNvbnt0cmFuc2Zvcm06c2NhbGUoMC42KX0uaGlkZGVuLWljb257dHJhbnNmb3JtOnNjYWxlKDAuNil9LmFubm90YXRpb24taWNvbnt0cmFuc2Zvcm06c2NhbGUoMC42KX0uY2hhcnQtZGl2e2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWJ9LmNoYXJ0LXN2Z3t3aWR0aDoxMDAlO3VzZXItc2VsZWN0Om5vbmV9LmRlZmF1bHQtdGV4dHtmaWxsOiMwMDB9LmZsYWctdGV4dHtmaWxsOiNmNTdjMDB9LmhpZGRlbi10ZXh0e2ZpbGw6Izc1NzU3NX0uY2xpY2thYmxlLWFubm90YXRpb257Y3Vyc29yOnBvaW50ZXJ9YnV0dG9ue2FsbDp1bnNldH1cbiddLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWU90LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFubm90YXRpb24tY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9hbm5vdGF0aW9uX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2Fubm90YXRpb25fY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsZW5jYXBzdWxhdGlvbjpXbi5Ob25lfV19XSxudWxsLHtkYXRhOlt7dHlwZTpSX31dLG1heENvdW50Olt7dHlwZTpSX31dLHNlbGVjdGVkQW5ub3RhdGlvbnM6W3t0eXBlOlJffV0sZmxhZ2dlZEFubm90YXRpb25zOlt7dHlwZTpSX31dLGhpZGRlbkFubm90YXRpb25zOlt7dHlwZTpSX31dLGFjdGl2ZU1ldHJpY3M6W3t0eXBlOlJffV0sbnVtQWN0aXZlUnVuczpbe3R5cGU6Ul99XSxzaG93Q291bnRzOlt7dHlwZTpSX31dLGFubm90YXRpb246W3t0eXBlOlJffV0scnVuSGVpZ2h0Olt7dHlwZTpSX31dLGhhc0VtYmVkZGluZzpbe3R5cGU6Ul99XSxzb3J0Olt7dHlwZTpSX31dLHNpZGViYXJXaWR0aDpbe3R5cGU6Ul99XSxjb2xvclNjYWxlOlt7dHlwZTpSX31dLHJ1bklkVG9SdW5zOlt7dHlwZTpSX31dLGFubm90YXRpb25Db250YWluZXI6W3t0eXBlOmFyLGFyZ3M6WyJjaGFydCIse3N0YXRpYzohMCxyZWFkOktofV19XSxjbGlwUGF0aEVsZW1lbnQ6W3t0eXBlOmFyLGFyZ3M6WyJoaW50Q2xpcCIse3N0YXRpYzohMCxyZWFkOktofV19XSxzZWxlY3RlZDpbe3R5cGU6QV8sYXJnczpbImNsYXNzLnNlbGVjdGVkLXJvdyJdfV0sb25SZXNpemU6W3t0eXBlOlRfLGFyZ3M6WyJ3aW5kb3c6cmVzaXplIl19XSxvblNob3dTaW1pbGFyQW5ub3RhdGlvbnM6W3t0eXBlOkVffV19KTtjbGFzcyBxT3R7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuc29ydCQ9dGhpcy5zdG9yZS5zZWxlY3Qobnh0KSx0aGlzLmZsYWdnZWRBbm5vdGF0aW9ucyQ9dGhpcy5zdG9yZS5zZWxlY3QoS3Z0KSx0aGlzLmhpZGRlbkFubm90YXRpb25zJD10aGlzLnN0b3JlLnNlbGVjdChKdnQpLHRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9ucyQ9dGhpcy5zdG9yZS5zZWxlY3QoWHZ0KSx0aGlzLnNob3dDb3VudHMkPXRoaXMuc3RvcmUuc2VsZWN0KHJ4dCksdGhpcy5zaWRlYmFyV2lkdGgkPXRoaXMuc3RvcmUuc2VsZWN0KGN4dCksdGhpcy5ydW5Db2xvclNjYWxlJD10aGlzLnN0b3JlLnNlbGVjdChDSSkucGlwZShWdCgodD0+ZT0+e2lmKCF0Lmhhc093blByb3BlcnR5KGUpKXRocm93IG5ldyBFcnJvcihgW0NvbG9yIHNjYWxlXSB1bmtub3duIHJ1bklkOiAke2V9LmApO3JldHVybiB0W2VdfSkpKSx0aGlzLnJ1bklkVG9SdW5zJD10aGlzLnN0b3JlLnNlbGVjdChYeil9c2hvd1NpbWlsYXJBbm5vdGF0aW9ucygpe3RoaXMuc3RvcmUuZGlzcGF0Y2goU3Z0KHthbm5vdGF0aW9uOnRoaXMuYW5ub3RhdGlvbn0pKX19ZnVuY3Rpb24gWk90KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibnBtaS1hbm5vdGF0aW9uIiw1KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKG4pe2NvbnN0IG89UGkodCkuJGltcGxpY2l0O3JldHVybiB6ZigyKS5yb3dDbGlja2VkKG4sbyl9KSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigyKTtiZigiZGF0YSIsbi5hbm5vdGF0aW9uc1t0XSkoImFjdGl2ZU1ldHJpY3MiLG4uYWN0aXZlTWV0cmljcykoIm51bUFjdGl2ZVJ1bnMiLG4ubnVtQWN0aXZlUnVucykoIm1heENvdW50IixuLm1heENvdW50KSgiYW5ub3RhdGlvbiIsdCkoInJ1bkhlaWdodCIsbi5ydW5IZWlnaHQpKCJoYXNFbWJlZGRpbmciLG4uZW1iZWRkaW5nRGF0YSYmdm9pZCAwIT09bi5lbWJlZGRpbmdEYXRhW3RdKX19ZnVuY3Rpb24gWE90KHQsZSl7aWYoMSZ0JiYoeGYoMCksdmYoMSwibnBtaS1hbm5vdGF0aW9ucy1saXN0LWxlZ2VuZCIpLHZmKDIsIm5wbWktYW5ub3RhdGlvbnMtbGlzdC1oZWFkZXIiLDIpLENmKDMsImNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCIsMyksSG0oNCxaT3QsMSw3LCJucG1pLWFubm90YXRpb24iLDQpLE1mKCksT2YoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksYmYoImFubm90YXRpb25zIix0LmFubm90YXRpb25zKSgibnVtQW5ub3RhdGlvbnMiLHQubnVtQW5ub3RhdGlvbnMpKCJhY3RpdmVNZXRyaWNzIix0LmFjdGl2ZU1ldHJpY3MpLERjKDEpLExmKCJpdGVtU2l6ZSIsdC5udW1BY3RpdmVSdW5zKnQucnVuSGVpZ2h0KzI1KSxEYygxKSxiZigiY2RrVmlydHVhbEZvck9mIix0LnNvcnRlZEFubm90YXRpb25zKX19cU90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxxT3QpKGdmKGlTKSl9LHFPdC7JtWNtcD1zbyh7dHlwZTpxT3Qsc2VsZWN0b3JzOltbIm5wbWktYW5ub3RhdGlvbiJdXSxpbnB1dHM6e2RhdGE6ImRhdGEiLG1heENvdW50OiJtYXhDb3VudCIsYWN0aXZlTWV0cmljczoiYWN0aXZlTWV0cmljcyIsbnVtQWN0aXZlUnVuczoibnVtQWN0aXZlUnVucyIsYW5ub3RhdGlvbjoiYW5ub3RhdGlvbiIscnVuSGVpZ2h0OiJydW5IZWlnaHQiLGhhc0VtYmVkZGluZzoiaGFzRW1iZWRkaW5nIn0sZGVjbHM6OSx2YXJzOjMxLGNvbnN0czpbWzMsImRhdGEiLCJtYXhDb3VudCIsImFjdGl2ZU1ldHJpY3MiLCJudW1BY3RpdmVSdW5zIiwiYW5ub3RhdGlvbiIsInJ1bkhlaWdodCIsImhhc0VtYmVkZGluZyIsInNvcnQiLCJzZWxlY3RlZEFubm90YXRpb25zIiwiZmxhZ2dlZEFubm90YXRpb25zIiwiaGlkZGVuQW5ub3RhdGlvbnMiLCJzaG93Q291bnRzIiwic2lkZWJhcldpZHRoIiwiY29sb3JTY2FsZSIsInJ1bklkVG9SdW5zIiwib25TaG93U2ltaWxhckFubm90YXRpb25zIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJhbm5vdGF0aW9uLWNvbXBvbmVudCIsMCksUmYoIm9uU2hvd1NpbWlsYXJBbm5vdGF0aW9ucyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5zaG93U2ltaWxhckFubm90YXRpb25zKCl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxfeSg1LCJhc3luYyIpLF95KDYsImFzeW5jIiksX3koNywiYXN5bmMiKSxfeSg4LCJhc3luYyIpLE1mKCkpLDImZSYmYmYoImRhdGEiLG4uZGF0YSkoIm1heENvdW50IixuLm1heENvdW50KSgiYWN0aXZlTWV0cmljcyIsbi5hY3RpdmVNZXRyaWNzKSgibnVtQWN0aXZlUnVucyIsbi5udW1BY3RpdmVSdW5zKSgiYW5ub3RhdGlvbiIsbi5hbm5vdGF0aW9uKSgicnVuSGVpZ2h0IixuLnJ1bkhlaWdodCkoImhhc0VtYmVkZGluZyIsbi5oYXNFbWJlZGRpbmcpKCJzb3J0IixDeSgxLDE1LG4uc29ydCQpKSgic2VsZWN0ZWRBbm5vdGF0aW9ucyIsQ3koMiwxNyxuLnNlbGVjdGVkQW5ub3RhdGlvbnMkKSkoImZsYWdnZWRBbm5vdGF0aW9ucyIsQ3koMywxOSxuLmZsYWdnZWRBbm5vdGF0aW9ucyQpKSgiaGlkZGVuQW5ub3RhdGlvbnMiLEN5KDQsMjEsbi5oaWRkZW5Bbm5vdGF0aW9ucyQpKSgic2hvd0NvdW50cyIsQ3koNSwyMyxuLnNob3dDb3VudHMkKSkoInNpZGViYXJXaWR0aCIsQ3koNiwyNSxuLnNpZGViYXJXaWR0aCQpKSgiY29sb3JTY2FsZSIsQ3koNywyNyxuLnJ1bkNvbG9yU2NhbGUkKSkoInJ1bklkVG9SdW5zIixDeSg4LDI5LG4ucnVuSWRUb1J1bnMkKSl9LGRpcmVjdGl2ZXM6W1lPdF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHFPdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLWFubm90YXRpb24iLHRlbXBsYXRlOidcbiAgICA8YW5ub3RhdGlvbi1jb21wb25lbnRcbiAgICAgIFtkYXRhXT0iZGF0YSJcbiAgICAgIFttYXhDb3VudF09Im1heENvdW50IlxuICAgICAgW2FjdGl2ZU1ldHJpY3NdPSJhY3RpdmVNZXRyaWNzIlxuICAgICAgW251bUFjdGl2ZVJ1bnNdPSJudW1BY3RpdmVSdW5zIlxuICAgICAgW2Fubm90YXRpb25dPSJhbm5vdGF0aW9uIlxuICAgICAgW3J1bkhlaWdodF09InJ1bkhlaWdodCJcbiAgICAgIFtoYXNFbWJlZGRpbmddPSJoYXNFbWJlZGRpbmciXG4gICAgICBbc29ydF09InNvcnQkIHwgYXN5bmMiXG4gICAgICBbc2VsZWN0ZWRBbm5vdGF0aW9uc109InNlbGVjdGVkQW5ub3RhdGlvbnMkIHwgYXN5bmMiXG4gICAgICBbZmxhZ2dlZEFubm90YXRpb25zXT0iZmxhZ2dlZEFubm90YXRpb25zJCB8IGFzeW5jIlxuICAgICAgW2hpZGRlbkFubm90YXRpb25zXT0iaGlkZGVuQW5ub3RhdGlvbnMkIHwgYXN5bmMiXG4gICAgICBbc2hvd0NvdW50c109InNob3dDb3VudHMkIHwgYXN5bmMiXG4gICAgICBbc2lkZWJhcldpZHRoXT0ic2lkZWJhcldpZHRoJCB8IGFzeW5jIlxuICAgICAgW2NvbG9yU2NhbGVdPSJydW5Db2xvclNjYWxlJCB8IGFzeW5jIlxuICAgICAgW3J1bklkVG9SdW5zXT0icnVuSWRUb1J1bnMkIHwgYXN5bmMiXG4gICAgICAob25TaG93U2ltaWxhckFubm90YXRpb25zKT0ic2hvd1NpbWlsYXJBbm5vdGF0aW9ucygpIlxuICAgID48L2Fubm90YXRpb24tY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse2RhdGE6W3t0eXBlOlJffV0sbWF4Q291bnQ6W3t0eXBlOlJffV0sYWN0aXZlTWV0cmljczpbe3R5cGU6Ul99XSxudW1BY3RpdmVSdW5zOlt7dHlwZTpSX31dLGFubm90YXRpb246W3t0eXBlOlJffV0scnVuSGVpZ2h0Olt7dHlwZTpSX31dLGhhc0VtYmVkZGluZzpbe3R5cGU6Ul99XX0pO2NsYXNzIEtPdHtjb25zdHJ1Y3Rvcigpe3RoaXMub25Sb3dDbGljaz1uZXcgU3ksdGhpcy5ydW5IZWlnaHQ9MzB9cm93Q2xpY2tlZCh0LGUpe2lmKHQuc2hpZnRLZXkpe2xldCB0PXRoaXMuc29ydGVkQW5ub3RhdGlvbnMuaW5kZXhPZihlKTtpZigwPT09dGhpcy5zZWxlY3RlZEFubm90YXRpb25zLmxlbmd0aCl0aGlzLm9uUm93Q2xpY2suZW1pdCh0aGlzLnNvcnRlZEFubm90YXRpb25zLnNsaWNlKDAsdCsxKSk7ZWxzZXtjb25zdCBlPXRoaXMuc29ydGVkQW5ub3RhdGlvbnMuaW5kZXhPZih0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbnNbdGhpcy5zZWxlY3RlZEFubm90YXRpb25zLmxlbmd0aC0xXSk7dGhpcy5vblJvd0NsaWNrLmVtaXQoZTx0P3RoaXMuc29ydGVkQW5ub3RhdGlvbnMuc2xpY2UoZSx0KzEpOnRoaXMuc29ydGVkQW5ub3RhdGlvbnMuc2xpY2UodCxlKzEpKX19ZWxzZSB0aGlzLm9uUm93Q2xpY2suZW1pdChbZV0pfX1LT3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEtPdCl9LEtPdC7JtWNtcD1zbyh7dHlwZTpLT3Qsc2VsZWN0b3JzOltbImFubm90YXRpb25zLWxpc3QtY29tcG9uZW50Il1dLGlucHV0czp7YW5ub3RhdGlvbnM6ImFubm90YXRpb25zIixlbWJlZGRpbmdEYXRhOiJlbWJlZGRpbmdEYXRhIixhbm5vdGF0aW9uc0V4cGFuZGVkOiJhbm5vdGF0aW9uc0V4cGFuZGVkIixudW1Bbm5vdGF0aW9uczoibnVtQW5ub3RhdGlvbnMiLGFubm90YXRpb25Tb3J0OiJhbm5vdGF0aW9uU29ydCIsYWN0aXZlTWV0cmljczoiYWN0aXZlTWV0cmljcyIsbnVtQWN0aXZlUnVuczoibnVtQWN0aXZlUnVucyIsc29ydGVkQW5ub3RhdGlvbnM6InNvcnRlZEFubm90YXRpb25zIixzZWxlY3RlZEFubm90YXRpb25zOiJzZWxlY3RlZEFubm90YXRpb25zIixtYXhDb3VudDoibWF4Q291bnQifSxvdXRwdXRzOntvblJvd0NsaWNrOiJvblJvd0NsaWNrIn0sZGVjbHM6Mix2YXJzOjMsY29uc3RzOltbMywibnVtQW5ub3RhdGlvbnMiLCJleHBhbmRlZCJdLFs0LCJuZ0lmIl0sWzMsImFubm90YXRpb25zIiwibnVtQW5ub3RhdGlvbnMiLCJhY3RpdmVNZXRyaWNzIl0sWyJtaW5CdWZmZXJQeCIsIjMwMCIsIm1heEJ1ZmZlclB4IiwiNjAwIiwxLCJhbm5vdGF0aW9uLXJvd3MiLDMsIml0ZW1TaXplIl0sWzMsImRhdGEiLCJhY3RpdmVNZXRyaWNzIiwibnVtQWN0aXZlUnVucyIsIm1heENvdW50IiwiYW5ub3RhdGlvbiIsInJ1bkhlaWdodCIsImhhc0VtYmVkZGluZyIsImNsaWNrIiw0LCJjZGtWaXJ0dWFsRm9yIiwiY2RrVmlydHVhbEZvck9mIl0sWzMsImRhdGEiLCJhY3RpdmVNZXRyaWNzIiwibnVtQWN0aXZlUnVucyIsIm1heENvdW50IiwiYW5ub3RhdGlvbiIsInJ1bkhlaWdodCIsImhhc0VtYmVkZGluZyIsImNsaWNrIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJucG1pLWFubm90YXRpb25zLWxpc3QtdG9vbGJhciIsMCksSG0oMSxYT3QsNSw1LCJuZy1jb250YWluZXIiLDEpKSwyJmUmJihiZigibnVtQW5ub3RhdGlvbnMiLG4ubnVtQW5ub3RhdGlvbnMpKCJleHBhbmRlZCIsbi5hbm5vdGF0aW9uc0V4cGFuZGVkKSxEYygxKSxiZigibmdJZiIsbi5hbm5vdGF0aW9uc0V4cGFuZGVkKSl9LGRpcmVjdGl2ZXM6W1RPdCxQdixJT3QsQk90LHRCLFhMLG5CLHFPdF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OmNhbGMoMTAwJSAtIDJweCk7d2lkdGg6Y2FsYygxMDAlIC0gMnB4KX0uYW5ub3RhdGlvbi1yb3dzW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MSAxO292ZXJmbG93LXk6YXV0b30nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoS090LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFubm90YXRpb25zLWxpc3QtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9hbm5vdGF0aW9uc19saXN0X2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2Fubm90YXRpb25zX2xpc3RfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLG51bGwse2Fubm90YXRpb25zOlt7dHlwZTpSX31dLGVtYmVkZGluZ0RhdGE6W3t0eXBlOlJffV0sYW5ub3RhdGlvbnNFeHBhbmRlZDpbe3R5cGU6Ul99XSxudW1Bbm5vdGF0aW9uczpbe3R5cGU6Ul99XSxhbm5vdGF0aW9uU29ydDpbe3R5cGU6Ul99XSxhY3RpdmVNZXRyaWNzOlt7dHlwZTpSX31dLG51bUFjdGl2ZVJ1bnM6W3t0eXBlOlJffV0sc29ydGVkQW5ub3RhdGlvbnM6W3t0eXBlOlJffV0sc2VsZWN0ZWRBbm5vdGF0aW9uczpbe3R5cGU6Ul99XSxtYXhDb3VudDpbe3R5cGU6Ul99XSxvblJvd0NsaWNrOlt7dHlwZTpFX31dfSk7Y2xhc3MgSk90e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLmFubm90YXRpb25zRXhwYW5kZWQkPXRoaXMuc3RvcmUucGlwZShyUyhpeHQpKSx0aGlzLmFjdGl2ZVJ1bnMkPXRoaXMuc3RvcmUucGlwZShyUyhfSSkpLnBpcGUoVnQoKHQ9PnQ/QXJyYXkuZnJvbSh0LmVudHJpZXMoKSkuZmlsdGVyKCh0PT50WzFdKSkubWFwKCh0PT50WzBdKSk6W10pKSksdGhpcy5lbWJlZGRpbmdEYXRhJD10aGlzLnN0b3JlLnBpcGUoclMoWnZ0KSksdGhpcy5udW1BY3RpdmVSdW5zJD10aGlzLmFjdGl2ZVJ1bnMkLnBpcGUoVnQoKHQ9PnQubGVuZ3RoKSkpLHRoaXMuYWN0aXZlTWV0cmljcyQ9S3QoW3RoaXMuc3RvcmUuc2VsZWN0KHF2dCksdGhpcy5hY3RpdmVSdW5zJCx0aGlzLnN0b3JlLnNlbGVjdChleHQpXSkucGlwZShWdCgoKFt0LGUsbl0pPT57bGV0IG89W107Zm9yKGNvbnN0IG4gb2YgZSl0W25dJiYobz1vLmNvbmNhdCh0W25dLmZpbHRlcigodD0+Tl90KHQpKSkpKTtyZXR1cm4gbz1bLi4ubmV3IFNldChbLi4uT2JqZWN0LmtleXMobiksLi4ub10pXSxvfSkpKSx0aGlzLnZpc2libGVBbm5vdGF0aW9ucyQ9S3QoW3RoaXMuc3RvcmUuc2VsZWN0KFl2dCksdGhpcy5zdG9yZS5zZWxlY3QoSnZ0KSx0aGlzLnN0b3JlLnNlbGVjdChzeHQpXSkucGlwZShWdCgoKFt0LGUsbl0pPT5vT3QodCxlLG4pKSkpLHRoaXMuZmlsdGVyZWRBbm5vdGF0aW9ucyQ9S3QoW3RoaXMudmlzaWJsZUFubm90YXRpb25zJCx0aGlzLnN0b3JlLnNlbGVjdCh0eHQpLHRoaXMuc3RvcmUuc2VsZWN0KGV4dCksdGhpcy5hY3RpdmVSdW5zJCx0aGlzLmFjdGl2ZU1ldHJpY3MkLHRoaXMuc3RvcmUuc2VsZWN0KFF2dCldKS5waXBlKFZ0KCgoW3QsZSxuLG8saSxhXSk9Pm5PdCh0LG8sZSxuLGksYSkpKSkucGlwZShJZSgpKSx0aGlzLm51bUFubm90YXRpb25zJD10aGlzLmZpbHRlcmVkQW5ub3RhdGlvbnMkLnBpcGUoVnQoKHQ9Pk9iamVjdC5rZXlzKHQpLmxlbmd0aCkpKSx0aGlzLnNvcnRlZEFubm90YXRpb25zJD1LdChbdGhpcy5maWx0ZXJlZEFubm90YXRpb25zJCx0aGlzLnN0b3JlLnBpcGUoclMobnh0KSksdGhpcy5lbWJlZGRpbmdEYXRhJF0pLnBpcGUoVnQoKChbdCxlLG5dKT0+cE90KHQsZSxuKSkpKSx0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbnMkPXRoaXMuc3RvcmUucGlwZShyUyhYdnQpKSx0aGlzLm1heENvdW50JD10aGlzLmZpbHRlcmVkQW5ub3RhdGlvbnMkLnBpcGUoVnQoKHQ9PntsZXQgZT0wO3JldHVybiBPYmplY3QudmFsdWVzKHQpLmZvckVhY2goKHQ9Pnt0LmZvckVhY2goKHQ9Pnt0LmNvdW50VmFsdWUmJihlPU1hdGgubWF4KGUsdC5jb3VudFZhbHVlKSl9KSl9KSksZX0pKSl9cm93Q2xpY2tlZCh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKGJ2dCh7YW5ub3RhdGlvbnM6dH0pKX19Sk90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxKT3QpKGdmKGlTKSl9LEpPdC7JtWNtcD1zbyh7dHlwZTpKT3Qsc2VsZWN0b3JzOltbIm5wbWktYW5ub3RhdGlvbnMtbGlzdCJdXSxkZWNsczoxMCx2YXJzOjI3LGNvbnN0czpbWzMsImFubm90YXRpb25zIiwiZW1iZWRkaW5nRGF0YSIsImFubm90YXRpb25zRXhwYW5kZWQiLCJudW1Bbm5vdGF0aW9ucyIsImFjdGl2ZU1ldHJpY3MiLCJudW1BY3RpdmVSdW5zIiwic29ydGVkQW5ub3RhdGlvbnMiLCJzZWxlY3RlZEFubm90YXRpb25zIiwibWF4Q291bnQiLCJvblJvd0NsaWNrIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJhbm5vdGF0aW9ucy1saXN0LWNvbXBvbmVudCIsMCksUmYoIm9uUm93Q2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnJvd0NsaWNrZWQoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxfeSg1LCJhc3luYyIpLF95KDYsImFzeW5jIiksX3koNywiYXN5bmMiKSxfeSg4LCJhc3luYyIpLF95KDksImFzeW5jIiksTWYoKSksMiZlJiZiZigiYW5ub3RhdGlvbnMiLEN5KDEsOSxuLmZpbHRlcmVkQW5ub3RhdGlvbnMkKSkoImVtYmVkZGluZ0RhdGEiLEN5KDIsMTEsbi5lbWJlZGRpbmdEYXRhJCkpKCJhbm5vdGF0aW9uc0V4cGFuZGVkIixDeSgzLDEzLG4uYW5ub3RhdGlvbnNFeHBhbmRlZCQpKSgibnVtQW5ub3RhdGlvbnMiLEN5KDQsMTUsbi5udW1Bbm5vdGF0aW9ucyQpKSgiYWN0aXZlTWV0cmljcyIsQ3koNSwxNyxuLmFjdGl2ZU1ldHJpY3MkKSkoIm51bUFjdGl2ZVJ1bnMiLEN5KDYsMTksbi5udW1BY3RpdmVSdW5zJCkpKCJzb3J0ZWRBbm5vdGF0aW9ucyIsQ3koNywyMSxuLnNvcnRlZEFubm90YXRpb25zJCkpKCJzZWxlY3RlZEFubm90YXRpb25zIixDeSg4LDIzLG4uc2VsZWN0ZWRBbm5vdGF0aW9ucyQpKSgibWF4Q291bnQiLEN5KDksMjUsbi5tYXhDb3VudCQpKX0sZGlyZWN0aXZlczpbS090XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSk90LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktYW5ub3RhdGlvbnMtbGlzdCIsdGVtcGxhdGU6J1xuICAgIDxhbm5vdGF0aW9ucy1saXN0LWNvbXBvbmVudFxuICAgICAgW2Fubm90YXRpb25zXT0iZmlsdGVyZWRBbm5vdGF0aW9ucyQgfCBhc3luYyJcbiAgICAgIFtlbWJlZGRpbmdEYXRhXT0iZW1iZWRkaW5nRGF0YSQgfCBhc3luYyJcbiAgICAgIFthbm5vdGF0aW9uc0V4cGFuZGVkXT0iYW5ub3RhdGlvbnNFeHBhbmRlZCQgfCBhc3luYyJcbiAgICAgIFtudW1Bbm5vdGF0aW9uc109Im51bUFubm90YXRpb25zJCB8IGFzeW5jIlxuICAgICAgW2FjdGl2ZU1ldHJpY3NdPSJhY3RpdmVNZXRyaWNzJCB8IGFzeW5jIlxuICAgICAgW251bUFjdGl2ZVJ1bnNdPSJudW1BY3RpdmVSdW5zJCB8IGFzeW5jIlxuICAgICAgW3NvcnRlZEFubm90YXRpb25zXT0ic29ydGVkQW5ub3RhdGlvbnMkIHwgYXN5bmMiXG4gICAgICBbc2VsZWN0ZWRBbm5vdGF0aW9uc109InNlbGVjdGVkQW5ub3RhdGlvbnMkIHwgYXN5bmMiXG4gICAgICBbbWF4Q291bnRdPSJtYXhDb3VudCQgfCBhc3luYyJcbiAgICAgIChvblJvd0NsaWNrKT0icm93Q2xpY2tlZCgkZXZlbnQpIlxuICAgID48L2Fubm90YXRpb25zLWxpc3QtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y29uc3QgUU90PVsiY2hhcnQiXTtjbGFzcyAkT3R7Y29uc3RydWN0b3IoKXt0aGlzLndpZHRoPTAsdGhpcy5jaGFydFdpZHRoPTAsdGhpcy5oZWlnaHQ9MzAwLHRoaXMubWFyZ2luPXt0b3A6MjAscmlnaHQ6NDAsYm90dG9tOjIwLGxlZnQ6NDB9LHRoaXMuY2hhcnRIZWlnaHQ9dGhpcy5oZWlnaHQtdGhpcy5tYXJnaW4udG9wLXRoaXMubWFyZ2luLmJvdHRvbX1vblJlc2l6ZSh0KXt0aGlzLnJlZHJhdygpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuc3ZnPW44KHRoaXMuc3ZnRWxlbWVudC5uYXRpdmVFbGVtZW50KSx0aGlzLm1haW5Db250YWluZXI9dGhpcy5zdmcuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIixgdHJhbnNsYXRlKCR7dGhpcy5tYXJnaW4ubGVmdH0sICR7dGhpcy5tYXJnaW4udG9wfSlgKSx0aGlzLmNvb3JkaW5hdGVzR3JvdXA9dGhpcy5tYWluQ29udGFpbmVyLmFwcGVuZCgiZyIpLHRoaXMubGFiZWxzR3JvdXA9dGhpcy5tYWluQ29udGFpbmVyLmFwcGVuZCgiZyIpLHRoaXMuYXhpc0dyb3VwPXRoaXMubWFpbkNvbnRhaW5lci5hcHBlbmQoImciKSx0aGlzLnhTY2FsZT0kbnQoKS5wYWRkaW5nKC4xKSx0aGlzLnlTY2FsZT1tb3QoKS5yYW5nZShbdGhpcy5jaGFydEhlaWdodCwwXSksdGhpcy55QXhpcz1MNih0aGlzLnlTY2FsZSksdGhpcy5yZWRyYXcoKX1uZ09uQ2hhbmdlcyh0KXt0aGlzLnN2ZyYmdGhpcy5yZWRyYXcoKX1yZWRyYXcoKXt0aGlzLnVwZGF0ZURpbWVuc2lvbnMoKSx0aGlzLnVwZGF0ZUF4ZXMoKSx0aGlzLmRyYXcoKX11cGRhdGVEaW1lbnNpb25zKCl7dGhpcy53aWR0aD10aGlzLnN2Z0VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aHx8MTAsdGhpcy5jaGFydFdpZHRoPXRoaXMud2lkdGgtdGhpcy5tYXJnaW4ubGVmdC10aGlzLm1hcmdpbi5yaWdodH11cGRhdGVBeGVzKCl7dGhpcy54U2NhbGUucmFuZ2VSb3VuZChbMCx0aGlzLmNoYXJ0V2lkdGhdKS5kb21haW4odGhpcy5hY3RpdmVNZXRyaWNzKSx0aGlzLnlTY2FsZS5kb21haW4oW3RoaXMuY29vcmRpbmF0ZURhdGEuZXh0cmVtZXMubWluLHRoaXMuY29vcmRpbmF0ZURhdGEuZXh0cmVtZXMubWF4XSl9ZHJhdygpe3RoaXMuZHJhd0F4ZXMoKSx0aGlzLmRyYXdBeGlzTGFiZWxzKCksdGhpcy5kcmF3Q29vcmRpbmF0ZXMoKSx0aGlzLmRyYXdMYWJlbHMoKX1kcmF3QXhlcygpe2NvbnN0IHQ9dGhpcy5heGlzR3JvdXAuc2VsZWN0QWxsKCIuYXhpcy15IikuZGF0YSh0aGlzLmFjdGl2ZU1ldHJpY3MpO3QuZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsImF4aXMteSIpLm1lcmdlKHQpLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuYHRyYW5zbGF0ZSgke3RoaXMueFNjYWxlKHQpfSwgMClgfS5iaW5kKHRoaXMpKS5jYWxsKHRoaXMueUF4aXMpLHQuZXhpdCgpLnJlbW92ZSgpfWRyYXdBeGlzTGFiZWxzKCl7Y29uc3QgdD10aGlzLmF4aXNHcm91cC5zZWxlY3RBbGwoIi5heGlzLWJnLXRleHQiKS5kYXRhKHRoaXMuYWN0aXZlTWV0cmljcyk7dC5lbnRlcigpLmFwcGVuZCgidGV4dCIpLmF0dHIoImNsYXNzIiwiYXhpcy1iZy10ZXh0IikuYXR0cigiZm9udC1zaXplIiwiMTNweCIpLmF0dHIoInN0cm9rZS13aWR0aCIsMikuYXR0cigic3Ryb2tlLWxpbmVqb2luIiwicm91bmQiKS5hdHRyKCJzdHJva2UiLCJ3aGl0ZSIpLm1lcmdlKHQpLnRleHQoKHQ9PnQpKS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKHQpe3JldHVybmB0cmFuc2xhdGUoJHt0aGlzLnhTY2FsZSh0KS01fSwgJHt0aGlzLnlTY2FsZSh0aGlzLmNvb3JkaW5hdGVEYXRhLmV4dHJlbWVzLm1pbil9KSByb3RhdGUoLTkwKWB9LmJpbmQodGhpcykpLHQuZXhpdCgpLnJlbW92ZSgpO2NvbnN0IGU9dGhpcy5heGlzR3JvdXAuc2VsZWN0QWxsKCIuYXhpcy10ZXh0IikuZGF0YSh0aGlzLmFjdGl2ZU1ldHJpY3MpO2UuZW50ZXIoKS5hcHBlbmQoInRleHQiKS5hdHRyKCJmb250LXNpemUiLCIxM3B4IikuYXR0cigiY2xhc3MiLCJheGlzLXRleHQiKS5tZXJnZShlKS50ZXh0KCh0PT50KSkuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXtyZXR1cm5gdHJhbnNsYXRlKCR7dGhpcy54U2NhbGUodCktNX0sICR7dGhpcy55U2NhbGUodGhpcy5jb29yZGluYXRlRGF0YS5leHRyZW1lcy5taW4pfSkgcm90YXRlKC05MClgfS5iaW5kKHRoaXMpKSxlLmV4aXQoKS5yZW1vdmUoKX1kcmF3Q29vcmRpbmF0ZXMoKXtjb25zdCB0PXRoaXMuY29vcmRpbmF0ZXNHcm91cC5zZWxlY3RBbGwoIi5jb29yZCIpLmRhdGEodGhpcy5jb29yZGluYXRlRGF0YS5jb29yZGluYXRlcyk7dC5lbnRlcigpLmFwcGVuZCgicGF0aCIpLmF0dHIoImNsYXNzIiwiY29vcmQiKS5hdHRyKCJmaWxsIiwibm9uZSIpLm1lcmdlKHQpLmF0dHIoImQiLHRoaXMucGF0aC5iaW5kKHRoaXMpKS5hdHRyKCJzdHJva2UiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbG9yU2NhbGUodC5ydW5JZCl9LmJpbmQodGhpcykpLHQuZXhpdCgpLnJlbW92ZSgpO2NvbnN0IGU9dGhpcy5jb29yZGluYXRlc0dyb3VwLnNlbGVjdEFsbCgiLmhpZGRlbkNvb3JkIikuZGF0YSh0aGlzLmNvb3JkaW5hdGVEYXRhLmNvb3JkaW5hdGVzKTtlLmVudGVyKCkuYXBwZW5kKCJwYXRoIikuYXR0cigiY2xhc3MiLCJoaWRkZW5Db29yZCIpLmF0dHIoInN0cm9rZS13aWR0aCIsIjEwcHgiKS5hdHRyKCJmaWxsIiwibm9uZSIpLmF0dHIoInN0cm9rZSIsInJnYmEoMCwgMCwgMCwgMC4wKSIpLm9uKCJtb3VzZW92ZXIiLHRoaXMuaGFuZGxlQ29vcmRpbmF0ZU1vdXNlT3Zlci5iaW5kKHRoaXMpKS5vbigibW91c2VvdXQiLHRoaXMuaGFuZGxlQ29vcmRpbmF0ZU1vdXNlT3V0LmJpbmQodGhpcykpLm1lcmdlKGUpLmF0dHIoImQiLHRoaXMucGF0aC5iaW5kKHRoaXMpKSxlLmV4aXQoKS5yZW1vdmUoKX1wYXRoKHQpe3JldHVybiB0LnZhbHVlcy5zb3J0KCgodCxlKT0+dGhpcy5hY3RpdmVNZXRyaWNzLmluZGV4T2YodC5tZXRyaWMpLXRoaXMuYWN0aXZlTWV0cmljcy5pbmRleE9mKGUubWV0cmljKSkpLExhdCgpKHQudmFsdWVzLm1hcChmdW5jdGlvbih0KXtsZXQgZT10aGlzLnlTY2FsZSh0Lm5QTUlWYWx1ZSk7cmV0dXJuW3RoaXMueFNjYWxlKHQubWV0cmljKSxlXX0uYmluZCh0aGlzKSkpfWhhbmRsZUNvb3JkaW5hdGVNb3VzZU92ZXIodCxlKXt0aGlzLmxhYmVsc0dyb3VwLnNlbGVjdEFsbCgiLmNvb3JkaW5hdGUtbGFiZWwiKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiEoZS5hbm5vdGF0aW9uPT09dC5hbm5vdGF0aW9uKX0pKS5zdHlsZSgib3BhY2l0eSIsLjEpLHRoaXMuY29vcmRpbmF0ZXNHcm91cC5zZWxlY3RBbGwoIi5jb29yZCIpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIShlLmFubm90YXRpb249PT10LmFubm90YXRpb24pfSkpLnN0eWxlKCJvcGFjaXR5IiwuMSl9aGFuZGxlQ29vcmRpbmF0ZU1vdXNlT3V0KCl7dGhpcy5sYWJlbHNHcm91cC5zZWxlY3RBbGwoIi5jb29yZGluYXRlLWxhYmVsIikuc3R5bGUoIm9wYWNpdHkiLDEpLHRoaXMuY29vcmRpbmF0ZXNHcm91cC5zZWxlY3RBbGwoIi5jb29yZCIpLnN0eWxlKCJvcGFjaXR5IiwxKX1kcmF3TGFiZWxzKCl7Y29uc3QgdD0zMC90aGlzLnhTY2FsZS5zdGVwKCksZT10aGlzLmNvb3JkaW5hdGVEYXRhLmNvb3JkaW5hdGVzLmxlbmd0aDwzMD90aGlzLmNvb3JkaW5hdGVEYXRhLmNvb3JkaW5hdGVzOltdLG49dGhpcy5sYWJlbHNHcm91cC5zZWxlY3RBbGwoIi5jb29yZGluYXRlLWxhYmVsIikuZGF0YShlKTtuLmVudGVyKCkuYXBwZW5kKCJ0ZXh0IikuYXR0cigiY2xhc3MiLCJjb29yZGluYXRlLWxhYmVsIikuYXR0cigiZm9udC1zaXplIiwiMTBweCIpLm1lcmdlKG4pLnRleHQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmFubm90YXRpb259KSkuYXR0cigieCIsdGhpcy54U2NhbGUodGhpcy5hY3RpdmVNZXRyaWNzWzBdKSszMCkuYXR0cigieSIsZnVuY3Rpb24oZSl7Y29uc3Qgbj10aGlzLnlTY2FsZShlLnZhbHVlc1swXS5uUE1JVmFsdWU/ZS52YWx1ZXNbMF0ublBNSVZhbHVlOjApLG89dGhpcy55U2NhbGUoZS52YWx1ZXNbMV0ublBNSVZhbHVlP2UudmFsdWVzWzFdLm5QTUlWYWx1ZTowKTtyZXR1cm4oMS10KSpuK3Qqb30uYmluZCh0aGlzKSksbi5leGl0KCkucmVtb3ZlKCl9fSRPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JE90KX0sJE90Lsm1Y21wPXNvKHt0eXBlOiRPdCxzZWxlY3RvcnM6W1sicGFyYWxsZWwtY29vcmRpbmF0ZXMtY29tcG9uZW50Il1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeShRT3QsNyxLaCksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5zdmdFbGVtZW50PXQuZmlyc3QpfX0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJyZXNpemUiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUmVzaXplKGUpfSksITEsT2wpfSxpbnB1dHM6e2FjdGl2ZU1ldHJpY3M6ImFjdGl2ZU1ldHJpY3MiLGNvb3JkaW5hdGVEYXRhOiJjb29yZGluYXRlRGF0YSIsc2lkZWJhcldpZHRoOiJzaWRlYmFyV2lkdGgiLGNvbG9yU2NhbGU6ImNvbG9yU2NhbGUifSxmZWF0dXJlczpbcW9dLGRlY2xzOjIsdmFyczowLGNvbnN0czpbWzEsInBjLWNoYXJ0Il0sWyJjaGFydCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYob2EoKSx2ZigwLCJzdmciLDAsMSkpfSxzdHlsZXM6WyIucGMtY2hhcnRbX25nY29udGVudC0lQ09NUCVde2hlaWdodDozMDBweDt3aWR0aDoxMDAlfSJdLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYigkT3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoicGFyYWxsZWwtY29vcmRpbmF0ZXMtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9wYXJhbGxlbF9jb29yZGluYXRlc19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9wYXJhbGxlbF9jb29yZGluYXRlc19jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7YWN0aXZlTWV0cmljczpbe3R5cGU6Ul99XSxjb29yZGluYXRlRGF0YTpbe3R5cGU6Ul99XSxzaWRlYmFyV2lkdGg6W3t0eXBlOlJffV0sY29sb3JTY2FsZTpbe3R5cGU6Ul99XSxzdmdFbGVtZW50Olt7dHlwZTphcixhcmdzOlsiY2hhcnQiLHtzdGF0aWM6ITAscmVhZDpLaH1dfV0sb25SZXNpemU6W3t0eXBlOlRfLGFyZ3M6WyJ3aW5kb3c6cmVzaXplIixbIiRldmVudCJdXX1dfSk7Y2xhc3MgdFB0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLmFjdGl2ZVJ1bnMkPXRoaXMuc3RvcmUucGlwZShyUyhfSSkpLnBpcGUoVnQoKHQ9PnQ/QXJyYXkuZnJvbSh0LmVudHJpZXMoKSkuZmlsdGVyKCh0PT50WzFdKSkubWFwKCh0PT50WzBdKSk6W10pKSksdGhpcy5hY3RpdmVNZXRyaWNzJD1LdCh0aGlzLnN0b3JlLnNlbGVjdChxdnQpLHRoaXMuYWN0aXZlUnVucyQsdGhpcy5zdG9yZS5zZWxlY3QoZXh0KSkucGlwZShWdCgoKFt0LGUsbl0pPT57bGV0IG89W107Zm9yKGNvbnN0IG4gb2YgZSl0W25dJiYobz1vLmNvbmNhdCh0W25dLmZpbHRlcigodD0+Tl90KHQpKSkpKTtyZXR1cm4gbz1bLi4ubmV3IFNldChbLi4uT2JqZWN0LmtleXMobiksLi4ub10pXSxvLm1hcCgodD0+el90KHQpKSl9KSkpLHRoaXMuY29vcmRpbmF0ZURhdGEkPUt0KFt0aGlzLnN0b3JlLnNlbGVjdChZdnQpLHRoaXMuc3RvcmUuc2VsZWN0KFh2dCksdGhpcy5hY3RpdmVSdW5zJCx0aGlzLmFjdGl2ZU1ldHJpY3MkXSkucGlwZShWdCgoKFt0LGUsbixvXSk9PihmdW5jdGlvbiBpKHQsZSxuLG8pe2NvbnN0IGk9W10sYT17bWF4Oi0xLG1pbjoxfSxyPW5ldyBTZXQobikscz1uZXcgU2V0KG8pO3JldHVybiAwPT09ci5zaXplfHwwPT09cy5zaXplfHwwPT09T2JqZWN0LmtleXModCkubGVuZ3RoP3tjb29yZGluYXRlczpbXSxleHRyZW1lczp7bWluOi0xLG1heDoxfX06KGUuZm9yRWFjaCgoZT0+e2NvbnN0IG49e307dFtlXS5mb3JFYWNoKCh0PT57ci5oYXModC5ydW4pJiZzLmhhcyh0Lm1ldHJpYykmJihuW3QucnVuXT9uW3QucnVuXS5wdXNoKHQpOm5bdC5ydW5dPVt0XSxudWxsIT09dC5uUE1JVmFsdWU/KGEubWF4PU1hdGgubWF4KGEubWF4LHQublBNSVZhbHVlKSxhLm1pbj1NYXRoLm1pbihhLm1pbix0Lm5QTUlWYWx1ZSkpOihhLm1heD1NYXRoLm1heChhLm1heCwwKSxhLm1pbj1NYXRoLm1pbihhLm1pbiwwKSkpfSkpO2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKG4pKWkucHVzaCh7YW5ub3RhdGlvbjplLHJ1bklkOnQsdmFsdWVzOm5bdF19KX0pKSxhLm1heDxhLm1pbiYmKGEubWF4PTEsYS5taW49LTEpLHtjb29yZGluYXRlczppLGV4dHJlbWVzOmF9KX0pKHQsZSxuLG8pKSkpLHRoaXMuc2lkZWJhcldpZHRoJD10aGlzLnN0b3JlLnNlbGVjdChjeHQpLHRoaXMucnVuQ29sb3JTY2FsZSQ9dGhpcy5zdG9yZS5zZWxlY3QoQ0kpLnBpcGUoVnQoKHQ9PmU9PntpZighdC5oYXNPd25Qcm9wZXJ0eShlKSl0aHJvdyBuZXcgRXJyb3IoYFtDb2xvciBzY2FsZV0gdW5rbm93biBydW5JZDogJHtlfS5gKTtyZXR1cm4gdFtlXX0pKSl9fWZ1bmN0aW9uIGVQdCh0LGUpezEmdCYmdmYoMCwibWF0LWljb24iLDkpfWZ1bmN0aW9uIG5QdCh0LGUpezEmdCYmdmYoMCwibWF0LWljb24iLDEwKX1mdW5jdGlvbiBvUHQodCxlKXsxJnQmJnZmKDAsIm5wbWktcGFyYWxsZWwtY29vcmRpbmF0ZXMiKX10UHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHRQdCkoZ2YoaVMpKX0sdFB0Lsm1Y21wPXNvKHt0eXBlOnRQdCxzZWxlY3RvcnM6W1sibnBtaS1wYXJhbGxlbC1jb29yZGluYXRlcyJdXSxkZWNsczo1LHZhcnM6MTIsY29uc3RzOltbMywiYWN0aXZlTWV0cmljcyIsImNvb3JkaW5hdGVEYXRhIiwic2lkZWJhcldpZHRoIiwiY29sb3JTY2FsZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwicGFyYWxsZWwtY29vcmRpbmF0ZXMtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSxfeSg0LCJhc3luYyIpKSwyJmUmJmJmKCJhY3RpdmVNZXRyaWNzIixDeSgxLDQsbi5hY3RpdmVNZXRyaWNzJCkpKCJjb29yZGluYXRlRGF0YSIsQ3koMiw2LG4uY29vcmRpbmF0ZURhdGEkKSkoInNpZGViYXJXaWR0aCIsQ3koMyw4LG4uc2lkZWJhcldpZHRoJCkpKCJjb2xvclNjYWxlIixDeSg0LDEwLG4ucnVuQ29sb3JTY2FsZSQpKX0sZGlyZWN0aXZlczpbJE90XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodFB0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktcGFyYWxsZWwtY29vcmRpbmF0ZXMiLHRlbXBsYXRlOidcbiAgICA8cGFyYWxsZWwtY29vcmRpbmF0ZXMtY29tcG9uZW50XG4gICAgICBbYWN0aXZlTWV0cmljc109ImFjdGl2ZU1ldHJpY3MkIHwgYXN5bmMiXG4gICAgICBbY29vcmRpbmF0ZURhdGFdPSJjb29yZGluYXRlRGF0YSQgfCBhc3luYyJcbiAgICAgIFtzaWRlYmFyV2lkdGhdPSJzaWRlYmFyV2lkdGgkIHwgYXN5bmMiXG4gICAgICBbY29sb3JTY2FsZV09InJ1bkNvbG9yU2NhbGUkIHwgYXN5bmMiXG4gICAgPjwvcGFyYWxsZWwtY29vcmRpbmF0ZXMtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgaVB0e2NvbnN0cnVjdG9yKCl7dGhpcy5vbkNsZWFyU2VsZWN0ZWRBbm5vdGF0aW9ucz1uZXcgU3ksdGhpcy5vblRvZ2dsZUV4cGFuZGVkPW5ldyBTeX19aVB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxpUHQpfSxpUHQuybVjbXA9c28oe3R5cGU6aVB0LHNlbGVjdG9yczpbWyJzZWxlY3RlZC1hbm5vdGF0aW9ucy1jb21wb25lbnQiXV0saW5wdXRzOntwY0V4cGFuZGVkOiJwY0V4cGFuZGVkIixzZWxlY3RlZEFubm90YXRpb25zOiJzZWxlY3RlZEFubm90YXRpb25zIn0sb3V0cHV0czp7b25DbGVhclNlbGVjdGVkQW5ub3RhdGlvbnM6Im9uQ2xlYXJTZWxlY3RlZEFubm90YXRpb25zIixvblRvZ2dsZUV4cGFuZGVkOiJvblRvZ2dsZUV4cGFuZGVkIn0sZGVjbHM6MTEsdmFyczo0LGNvbnN0czpmdW5jdGlvbigpe2xldCB0LGU7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe3Q9Z29vZy5nZXRNc2coIkNsZWFyIEFubm90YXRpb24gU2VsZWN0aW9uIil9ZWxzZSB0PSRsb2NhbGl6ZWA6TGFiZWwgZm9yIGEgYnV0dG9uIHRoYXQgY2xlYXJzIHRoZSBhbm5vdGF0aW9uIHNlbGVjdGlvbi7ikJ8yYjUyMjg5ZjJjNGI3ZjViMTgyZWQyM2M5MTU0NzIyZWNkNDZhMmQ04pCfMjQ5NDY2MDUyMDM0MTMwODgzMDpDbGVhciBBbm5vdGF0aW9uIFNlbGVjdGlvbmA7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe2U9Z29vZy5nZXRNc2coIkV4cGFuZC9IaWRlIFNlbGVjdGVkIEFubm90YXRpb25zIil9ZWxzZSBlPSRsb2NhbGl6ZWA6TGFiZWwgZm9yIGEgYnV0dG9uIHRoYXQgZXhwYW5kcyBvciBoaWRlcyBzZWxlY3RlZCBhbm5vdGF0aW9ucy7ikJ84ZjRhZDMwNWMxOWUzNjU1ZjMxODllM2UyNjRlODNmYjc2ZjdiYjk14pCfNTY3MDc5Nzc4NDA3MDk1MjA5NTpFeHBhbmQvSGlkZSBTZWxlY3RlZCBBbm5vdGF0aW9uc2A7cmV0dXJuW1sxLCJwYy1jb250YWluZXIiXSxbMSwicGMtdG9vbGJhciJdLFsxLCJwYy10aXRsZSJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsdCwidGl0bGUiLCJEZXNlbGVjdHMgYWxsIHNlbGVjdGVkIGFubm90YXRpb25zLiIsMSwiY2xlYXItYnV0dG9uIiwzLCJkaXNhYmxlZCIsImNsaWNrIl0sWyJzdmdJY29uIiwiY2xlYXJfMjRweCJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsZSwxLCJleHBhbmQtYnV0dG9uIiwzLCJjbGljayJdLFsic3ZnSWNvbiIsImV4cGFuZF9sZXNzXzI0cHgiLCJjbGFzcyIsImV4cGFuZC1sZXNzLWljb24iLDQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsibm90RXhwYW5kZWQiLCIiXSxbNCwibmdJZiJdLFsic3ZnSWNvbiIsImV4cGFuZF9sZXNzXzI0cHgiLDEsImV4cGFuZC1sZXNzLWljb24iXSxbInN2Z0ljb24iLCJleHBhbmRfbW9yZV8yNHB4IiwxLCJleHBhbmQtaWNvbiJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwiZGl2IiwxKSxDZigyLCJoMyIsMiksUHUoMywiU2VsZWN0ZWQgQW5ub3RhdGlvbnMiKSxNZigpLENmKDQsImJ1dHRvbiIsMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uQ2xlYXJTZWxlY3RlZEFubm90YXRpb25zLmVtaXQoKX0pKSx2Zig1LCJtYXQtaWNvbiIsNCksTWYoKSxDZig2LCJidXR0b24iLDUpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblRvZ2dsZUV4cGFuZGVkLmVtaXQoKX0pKSxIbSg3LGVQdCwxLDAsIm1hdC1pY29uIiw2KSxIbSg4LG5QdCwxLDAsIm5nLXRlbXBsYXRlIixudWxsLDcscXkpLE1mKCksTWYoKSxIbSgxMCxvUHQsMSwwLCJucG1pLXBhcmFsbGVsLWNvb3JkaW5hdGVzIiw4KSxNZigpKSwyJmUpe2NvbnN0IHQ9Rm0oOSk7RGMoNCksYmYoImRpc2FibGVkIiwwPT09bi5zZWxlY3RlZEFubm90YXRpb25zLmxlbmd0aCksRGMoMyksYmYoIm5nSWYiLG4ucGNFeHBhbmRlZCkoIm5nSWZFbHNlIix0KSxEYygzKSxiZigibmdJZiIsbi5wY0V4cGFuZGVkKX19LGRpcmVjdGl2ZXM6W05MLE1xLFB2LHRQdF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9LnBjLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2ViZWJlYn0ucGMtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7ZGlzcGxheTpmbGV4O2hlaWdodDo0MnB4O3BhZGRpbmc6MCAxNnB4fS5wYy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2Rpc3BsYXk6aW5saW5lO2ZsZXg6MSAxfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihpUHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic2VsZWN0ZWQtYW5ub3RhdGlvbnMtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9zZWxlY3RlZF9hbm5vdGF0aW9uc19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9zZWxlY3RlZF9hbm5vdGF0aW9uc19jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7cGNFeHBhbmRlZDpbe3R5cGU6Ul99XSxzZWxlY3RlZEFubm90YXRpb25zOlt7dHlwZTpSX31dLG9uQ2xlYXJTZWxlY3RlZEFubm90YXRpb25zOlt7dHlwZTpFX31dLG9uVG9nZ2xlRXhwYW5kZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBhUHR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMucGNFeHBhbmRlZCQ9dGhpcy5zdG9yZS5waXBlKHJTKG94dCkpLHRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9ucyQ9dGhpcy5zdG9yZS5zZWxlY3QoWHZ0KX1jbGVhclNlbGVjdGVkQW5ub3RhdGlvbnMoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKF92dCgpKX10b2dnbGVFeHBhbmRlZCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goRHZ0KCkpfX1mdW5jdGlvbiByUHQodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDYpLENmKDEsImRpdiIsNyksdmYoMiwibnBtaS12aW9saW4tZmlsdGVycyIsOCksQ2YoMywiZGl2Iiw5KSx2Zig0LCJydW5zLXNlbGVjdG9yIiksTWYoKSxNZigpLE1mKCkpLDImdCl7bHUoIndpZHRoIix6ZigpLnNpZGViYXJXaWR0aCwicHgiKX19ZnVuY3Rpb24gc1B0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxMCksUmYoIm1vdXNlZG93biIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5yZXNpemVHcmFiYmVkLmVtaXQoKX0pKSxNZigpfX1mdW5jdGlvbiBsUHQodCxlKXsxJnQmJihDZigwLCJkaXYiLDExKSx2ZigxLCJucG1pLWFubm90YXRpb25zLWxpc3QiLDEyKSx2ZigyLCJucG1pLXNlbGVjdGVkLWFubm90YXRpb25zIiksTWYoKSl9ZnVuY3Rpb24gY1B0KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxMyksUHUoMSwiWW91IG5lZWQgdG8gc2VsZWN0IGF0IGxlYXN0IG9uZSBydW4uIiksTWYoKSl9ZnVuY3Rpb24gZFB0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxNCksQ2YoMSwiYnV0dG9uIiwxNSksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLnRvZ2dsZVNpZGViYXJFeHBhbmRlZC5lbWl0KCl9KSksdmYoMiwibWF0LWljb24iLDE2KSxNZigpLE1mKCl9fWFQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8YVB0KShnZihpUykpfSxhUHQuybVjbXA9c28oe3R5cGU6YVB0LHNlbGVjdG9yczpbWyJucG1pLXNlbGVjdGVkLWFubm90YXRpb25zIl1dLGRlY2xzOjMsdmFyczo2LGNvbnN0czpbWzMsInBjRXhwYW5kZWQiLCJzZWxlY3RlZEFubm90YXRpb25zIiwib25DbGVhclNlbGVjdGVkQW5ub3RhdGlvbnMiLCJvblRvZ2dsZUV4cGFuZGVkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJzZWxlY3RlZC1hbm5vdGF0aW9ucy1jb21wb25lbnQiLDApLFJmKCJvbkNsZWFyU2VsZWN0ZWRBbm5vdGF0aW9ucyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5jbGVhclNlbGVjdGVkQW5ub3RhdGlvbnMoKX0pKSgib25Ub2dnbGVFeHBhbmRlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi50b2dnbGVFeHBhbmRlZCgpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJwY0V4cGFuZGVkIixDeSgxLDIsbi5wY0V4cGFuZGVkJCkpKCJzZWxlY3RlZEFubm90YXRpb25zIixDeSgyLDQsbi5zZWxlY3RlZEFubm90YXRpb25zJCkpfSxkaXJlY3RpdmVzOltpUHRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihhUHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibnBtaS1zZWxlY3RlZC1hbm5vdGF0aW9ucyIsdGVtcGxhdGU6J1xuICAgIDxzZWxlY3RlZC1hbm5vdGF0aW9ucy1jb21wb25lbnRcbiAgICAgIFtwY0V4cGFuZGVkXT0icGNFeHBhbmRlZCQgfCBhc3luYyJcbiAgICAgIFtzZWxlY3RlZEFubm90YXRpb25zXT0ic2VsZWN0ZWRBbm5vdGF0aW9ucyQgfCBhc3luYyJcbiAgICAgIChvbkNsZWFyU2VsZWN0ZWRBbm5vdGF0aW9ucyk9ImNsZWFyU2VsZWN0ZWRBbm5vdGF0aW9ucygpIlxuICAgICAgKG9uVG9nZ2xlRXhwYW5kZWQpPSJ0b2dnbGVFeHBhbmRlZCgpIlxuICAgID48L3NlbGVjdGVkLWFubm90YXRpb25zLWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLG51bGwpO2NsYXNzIHBQdHtjb25zdHJ1Y3Rvcigpe3RoaXMudG9nZ2xlU2lkZWJhckV4cGFuZGVkPW5ldyBTeSx0aGlzLnJlc2l6ZVRyaWdnZXJlZD1uZXcgU3ksdGhpcy5yZXNpemVHcmFiYmVkPW5ldyBTeSx0aGlzLnJlc2l6ZVJlbGVhc2VkPW5ldyBTeX19cFB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxwUHQpfSxwUHQuybVjbXA9c28oe3R5cGU6cFB0LHNlbGVjdG9yczpbWyJtYWluLWNvbXBvbmVudCJdXSxpbnB1dHM6e3J1bkFjdGl2ZToicnVuQWN0aXZlIixzaWRlYmFyRXhwYW5kZWQ6InNpZGViYXJFeHBhbmRlZCIsc2lkZWJhcldpZHRoOiJzaWRlYmFyV2lkdGgifSxvdXRwdXRzOnt0b2dnbGVTaWRlYmFyRXhwYW5kZWQ6InRvZ2dsZVNpZGViYXJFeHBhbmRlZCIscmVzaXplVHJpZ2dlcmVkOiJyZXNpemVUcmlnZ2VyZWQiLHJlc2l6ZUdyYWJiZWQ6InJlc2l6ZUdyYWJiZWQiLHJlc2l6ZVJlbGVhc2VkOiJyZXNpemVSZWxlYXNlZCJ9LGRlY2xzOjgsdmFyczo1LGNvbnN0czpmdW5jdGlvbigpe2xldCB0O2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXt0PWdvb2cuZ2V0TXNnKCJUb2dnbGUgU2lkZWJhciIpfWVsc2UgdD0kbG9jYWxpemVgOkxhYmVsIGZvciBhIGJ1dHRvbiB0aGF0IHRvZ2dsZXMgdGhlIHNpZGViYXIu4pCfZjYzYjU3OTMyZDE3OWNjYTYyYWM5ZmNhZTYzZGQ3ZjVlNmZhMzg5ZuKQnzQ0ODUwMDkzNDc0NDQ3MDQ4Nzg6VG9nZ2xlIFNpZGViYXJgO3JldHVybltbMSwiY29udGVudCIsMywibW91c2V1cCIsIm1vdXNlbW92ZSJdLFsiY2xhc3MiLCJzaWRlYmFyLWNvbnRhaW5lciIsMywid2lkdGgiLDQsIm5nSWYiXSxbImNsYXNzIiwiZ3JhYmJlciIsMywibW91c2Vkb3duIiw0LCJuZ0lmIl0sWyJjbGFzcyIsImFuYWx5c2lzLWNvbnRhaW5lciIsNCwibmdJZiIsIm5nSWZFbHNlIl0sWyJub1J1biIsIiJdLFsiY2xhc3MiLCJzaWRlLXRvZ2dsZSIsNCwibmdJZiJdLFsxLCJzaWRlYmFyLWNvbnRhaW5lciJdLFsxLCJzaWRlYmFyLWNvbnRlbnRzIl0sWzEsInZpb2xpbi1maWx0ZXJzIl0sWzEsInJ1bi1zZWxlY3RvciJdLFsxLCJncmFiYmVyIiwzLCJtb3VzZWRvd24iXSxbMSwiYW5hbHlzaXMtY29udGFpbmVyIl0sWzEsImFubm90YXRpb25zLWxpc3QiXSxbMSwibm9SdW4iXSxbMSwic2lkZS10b2dnbGUiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMywiY2xpY2siXSxbInN2Z0ljb24iLCJjaGV2cm9uX3JpZ2h0XzI0cHgiXV19LHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJih2ZigwLCJucG1pLWRhdGEtc2VsZWN0aW9uIiksQ2YoMSwiZGl2IiwwKSxSZigibW91c2V1cCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5yZXNpemVSZWxlYXNlZC5lbWl0KCl9KSkoIm1vdXNlbW92ZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ucmVzaXplVHJpZ2dlcmVkLmVtaXQoZSl9KSksSG0oMixyUHQsNSwyLCJkaXYiLDEpLEhtKDMsc1B0LDEsMCwiZGl2IiwyKSxIbSg0LGxQdCwzLDAsImRpdiIsMyksSG0oNSxjUHQsMiwwLCJuZy10ZW1wbGF0ZSIsbnVsbCw0LHF5KSxNZigpLEhtKDcsZFB0LDMsMCwiZGl2Iiw1KSksMiZlKXtjb25zdCB0PUZtKDYpO0RjKDIpLGJmKCJuZ0lmIixuLnNpZGViYXJFeHBhbmRlZCksRGMoMSksYmYoIm5nSWYiLG4uc2lkZWJhckV4cGFuZGVkKSxEYygxKSxiZigibmdJZiIsITA9PT1uLnJ1bkFjdGl2ZSkoIm5nSWZFbHNlIix0KSxEYygzKSxiZigibmdJZiIsIW4uc2lkZWJhckV4cGFuZGVkKX19LGRpcmVjdGl2ZXM6W2VPdCxQdixkT3QsYjQsSk90LGFQdCxOTCxNcV0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlfS5jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleDoxO21pbi1oZWlnaHQ6MHB4O3dpZHRoOjEwMCV9LnNpZGViYXItY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnNpZGViYXItY29udGVudHNbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjE1MHB4fS5hbmFseXNpcy1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjEwMCU7ZmxleDoxIDF9LnJ1bi1zZWxlY3Rvcltfbmdjb250ZW50LSVDT01QJV17bWF4LWhlaWdodDoxMDAlO3dpZHRoOjEwMCV9LnZpb2xpbi1maWx0ZXJzW19uZ2NvbnRlbnQtJUNPTVAlXXttaW4taGVpZ2h0OjBweDt3aWR0aDoxMDAlfS5zaWRlLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7Ym90dG9tOjEwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2JvcmRlci1yYWRpdXM6M3B4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZ3JhYmJlcltfbmdjb250ZW50LSVDT01QJV17Y29udGVudDoiIjtjdXJzb3I6ZXctcmVzaXplO2hlaWdodDoxMDAlO3dpZHRoOjNweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9LmFubm90YXRpb25zLWxpc3RbX25nY29udGVudC0lQ09NUCVde3dpZHRoOjEwMCU7bWluLWhlaWdodDowcHg7ZmxleDoxIDF9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHBQdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYWluLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vbWFpbl9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9tYWluX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtydW5BY3RpdmU6W3t0eXBlOlJffV0sc2lkZWJhckV4cGFuZGVkOlt7dHlwZTpSX31dLHNpZGViYXJXaWR0aDpbe3R5cGU6Ul99XSx0b2dnbGVTaWRlYmFyRXhwYW5kZWQ6W3t0eXBlOkVffV0scmVzaXplVHJpZ2dlcmVkOlt7dHlwZTpFX31dLHJlc2l6ZUdyYWJiZWQ6W3t0eXBlOkVffV0scmVzaXplUmVsZWFzZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBtUHR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMucnVuQWN0aXZlJD10aGlzLnN0b3JlLnBpcGUoclMoX0kpKS5waXBlKFZ0KCh0PT4hIXQmJlsuLi50LnZhbHVlcygpXS5pbmNsdWRlcyghMCkpKSksdGhpcy5zaWRlYmFyRXhwYW5kZWQkPXRoaXMuc3RvcmUucGlwZShyUyhheHQpKSx0aGlzLnNpZGViYXJXaWR0aCQ9dGhpcy5zdG9yZS5waXBlKHJTKGN4dCkpLHRoaXMucmVzaXppbmc9ITF9b25Ub2dnbGVTaWRlYmFyRXhwYW5kZWQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKEV2dCgpKX1vblJlc2l6ZVRyaWdnZXJlZCh0KXt0aGlzLnJlc2l6aW5nJiZ0aGlzLnN0b3JlLmRpc3BhdGNoKHp2dCh7c2lkZWJhcldpZHRoOnQuY2xpZW50WH0pKX1vblJlc2l6ZUdyYWJiZWQoKXt0aGlzLnJlc2l6aW5nPSEwfW9uUmVzaXplUmVsZWFzZWQoKXt0aGlzLnJlc2l6aW5nPSExfX1tUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG1QdCkoZ2YoaVMpKX0sbVB0Lsm1Y21wPXNvKHt0eXBlOm1QdCxzZWxlY3RvcnM6W1sibnBtaS1tYWluIl1dLGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsInJ1bkFjdGl2ZSIsInNpZGViYXJFeHBhbmRlZCIsInNpZGViYXJXaWR0aCIsInRvZ2dsZVNpZGViYXJFeHBhbmRlZCIsInJlc2l6ZVRyaWdnZXJlZCIsInJlc2l6ZUdyYWJiZWQiLCJyZXNpemVSZWxlYXNlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWFpbi1jb21wb25lbnQiLDApLFJmKCJ0b2dnbGVTaWRlYmFyRXhwYW5kZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub2dnbGVTaWRlYmFyRXhwYW5kZWQoKX0pKSgicmVzaXplVHJpZ2dlcmVkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblJlc2l6ZVRyaWdnZXJlZChlKX0pKSgicmVzaXplR3JhYmJlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblJlc2l6ZUdyYWJiZWQoKX0pKSgicmVzaXplUmVsZWFzZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25SZXNpemVSZWxlYXNlZCgpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoInJ1bkFjdGl2ZSIsQ3koMSwzLG4ucnVuQWN0aXZlJCkpKCJzaWRlYmFyRXhwYW5kZWQiLEN5KDIsNSxuLnNpZGViYXJFeHBhbmRlZCQpKSgic2lkZWJhcldpZHRoIixDeSgzLDcsbi5zaWRlYmFyV2lkdGgkKSl9LGRpcmVjdGl2ZXM6W3BQdF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1QdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLW1haW4iLHRlbXBsYXRlOidcbiAgICA8bWFpbi1jb21wb25lbnRcbiAgICAgIFtydW5BY3RpdmVdPSJydW5BY3RpdmUkIHwgYXN5bmMiXG4gICAgICBbc2lkZWJhckV4cGFuZGVkXT0ic2lkZWJhckV4cGFuZGVkJCB8IGFzeW5jIlxuICAgICAgW3NpZGViYXJXaWR0aF09InNpZGViYXJXaWR0aCQgfCBhc3luYyJcbiAgICAgICh0b2dnbGVTaWRlYmFyRXhwYW5kZWQpPSJvblRvZ2dsZVNpZGViYXJFeHBhbmRlZCgpIlxuICAgICAgKHJlc2l6ZVRyaWdnZXJlZCk9Im9uUmVzaXplVHJpZ2dlcmVkKCRldmVudCkiXG4gICAgICAocmVzaXplR3JhYmJlZCk9Im9uUmVzaXplR3JhYmJlZCgpIlxuICAgICAgKHJlc2l6ZVJlbGVhc2VkKT0ib25SZXNpemVSZWxlYXNlZCgpIlxuICAgID48L21haW4tY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgZlB0e2NvbnN0cnVjdG9yKCl7dGhpcy50b2dnbGVTaWRlYmFyRXhwYW5kZWQ9bmV3IFN5fX1mUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGZQdCl9LGZQdC7JtWNtcD1zbyh7dHlwZTpmUHQsc2VsZWN0b3JzOltbImVtYmVkZGluZy1wcm9qZWN0aW9uLWNvbXBvbmVudCJdXSxpbnB1dHM6e3NpZGViYXJFeHBhbmRlZDoic2lkZWJhckV4cGFuZGVkIn0sb3V0cHV0czp7dG9nZ2xlU2lkZWJhckV4cGFuZGVkOiJ0b2dnbGVTaWRlYmFyRXhwYW5kZWQifSxkZWNsczo3LHZhcnM6MCxjb25zdHM6ZnVuY3Rpb24oKXtsZXQgdDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7dD1nb29nLmdldE1zZygiRXhwYW5kL0hpZGUgU2lkZWJhciIpfWVsc2UgdD0kbG9jYWxpemVgOkxhYmVsIGZvciBhIGJ1dHRvbiB0aGF0IGV4cGFuZHMvaGlkZXMgdGhlIHNpZGViYXIu4pCfNDhjMjk5MDNjZTg4MWFiNjEwODhmOGQ0OWQ4MjcyMDM3MTZhYWVkNOKQnzQ2NTg2MDI5OTE5NzAyNjAyMTU6RXhwYW5kL0hpZGUgU2lkZWJhcmA7cmV0dXJuW1sxLCJlbWJlZGRpbmctcHJvamVjdGlvbi10b29sYmFyIl0sWzEsImVtYmVkZGluZy1wcm9qZWN0aW9uLXRpdGxlIl0sWzEsInNpZGUtdG9nZ2xlIl0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJhcmlhLWxhYmVsIix0LDMsImNsaWNrIl0sWyJzdmdJY29uIiwiY2hldnJvbl9sZWZ0XzI0cHgiXSxbMSwicHJvamVjdGlvbiJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwiaDMiLDEpLFB1KDIsIkVtYmVkZGluZ3MgUHJvamVjdGVkIiksTWYoKSxDZigzLCJkaXYiLDIpLENmKDQsImJ1dHRvbiIsMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLnRvZ2dsZVNpZGViYXJFeHBhbmRlZC5lbWl0KCl9KSksdmYoNSwibWF0LWljb24iLDQpLE1mKCksTWYoKSxNZigpLHZmKDYsImRpdiIsNSkpfSxkaXJlY3RpdmVzOltOTCxNcV0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlfS5lbWJlZGRpbmctcHJvamVjdGlvbi10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQycHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzowIDEwcHh9LmVtYmVkZGluZy1wcm9qZWN0aW9uLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LnByb2plY3Rpb25bX25nY29udGVudC0lQ09NUCVde292ZXJmbG93LXk6YXV0b30uc2lkZS10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MzBweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjMwcHh9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGZQdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJlbWJlZGRpbmctcHJvamVjdGlvbi1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL2VtYmVkZGluZ19wcm9qZWN0aW9uX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2VtYmVkZGluZ19wcm9qZWN0aW9uX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtzaWRlYmFyRXhwYW5kZWQ6W3t0eXBlOlJffV0sdG9nZ2xlU2lkZWJhckV4cGFuZGVkOlt7dHlwZTpFX31dfSk7Y2xhc3MgdVB0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLnNpZGViYXJFeHBhbmRlZCQ9dGhpcy5zdG9yZS5zZWxlY3QobXh0KX1vblRvZ2dsZVNpZGViYXJFeHBhbmRlZCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goSHZ0KCkpfX1mdW5jdGlvbiBnUHQodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDYpLENmKDEsImRpdiIsNyksdmYoMiwibnBtaS1lbWJlZGRpbmctcHJvamVjdGlvbiIsOCksdmYoMywiZGl2Iiw5KSxDZig0LCJkaXYiLDEwKSx2Zig1LCJydW5zLXNlbGVjdG9yIiksTWYoKSxNZigpLE1mKCkpLDImdCl7bHUoIndpZHRoIix6ZigpLnNpZGViYXJXaWR0aCwicHgiKX19ZnVuY3Rpb24gaFB0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxMSksUmYoIm1vdXNlZG93biIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5yZXNpemVHcmFiYmVkLmVtaXQoKX0pKSxNZigpfX1mdW5jdGlvbiBiUHQodCxlKXsxJnQmJihDZigwLCJkaXYiLDEyKSx2ZigxLCJucG1pLWFubm90YXRpb25zLWxpc3QiLDEzKSx2ZigyLCJucG1pLXNlbGVjdGVkLWFubm90YXRpb25zIiksTWYoKSl9ZnVuY3Rpb24geVB0KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxNCksUHUoMSwiWW91IG5lZWQgdG8gc2VsZWN0IGF0IGxlYXN0IG9uZSBydW4uIiksTWYoKSl9ZnVuY3Rpb24gX1B0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxNSksQ2YoMSwiYnV0dG9uIiwxNiksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLnRvZ2dsZVNpZGViYXJFeHBhbmRlZC5lbWl0KCl9KSksdmYoMiwibWF0LWljb24iLDE3KSxNZigpLE1mKCl9fXVQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dVB0KShnZihpUykpfSx1UHQuybVjbXA9c28oe3R5cGU6dVB0LHNlbGVjdG9yczpbWyJucG1pLWVtYmVkZGluZy1wcm9qZWN0aW9uIl1dLGRlY2xzOjIsdmFyczozLGNvbnN0czpbWzMsInNpZGViYXJFeHBhbmRlZCIsInRvZ2dsZVNpZGViYXJFeHBhbmRlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZW1iZWRkaW5nLXByb2plY3Rpb24tY29tcG9uZW50IiwwKSxSZigidG9nZ2xlU2lkZWJhckV4cGFuZGVkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uVG9nZ2xlU2lkZWJhckV4cGFuZGVkKCl9KSksX3koMSwiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJzaWRlYmFyRXhwYW5kZWQiLEN5KDEsMSxuLnNpZGViYXJFeHBhbmRlZCQpKX0sZGlyZWN0aXZlczpbZlB0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodVB0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktZW1iZWRkaW5nLXByb2plY3Rpb24iLHRlbXBsYXRlOidcbiAgICA8ZW1iZWRkaW5nLXByb2plY3Rpb24tY29tcG9uZW50XG4gICAgICBbc2lkZWJhckV4cGFuZGVkXT0ic2lkZWJhckV4cGFuZGVkJCB8IGFzeW5jIlxuICAgICAgKHRvZ2dsZVNpZGViYXJFeHBhbmRlZCk9Im9uVG9nZ2xlU2lkZWJhckV4cGFuZGVkKCkiXG4gICAgPjwvZW1iZWRkaW5nLXByb2plY3Rpb24tY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgQ1B0e2NvbnN0cnVjdG9yKCl7dGhpcy50b2dnbGVTaWRlYmFyRXhwYW5kZWQ9bmV3IFN5LHRoaXMucmVzaXplVHJpZ2dlcmVkPW5ldyBTeSx0aGlzLnJlc2l6ZUdyYWJiZWQ9bmV3IFN5LHRoaXMucmVzaXplUmVsZWFzZWQ9bmV3IFN5fX1DUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fENQdCl9LENQdC7JtWNtcD1zbyh7dHlwZTpDUHQsc2VsZWN0b3JzOltbImVtYmVkZGluZ3MtY29tcG9uZW50Il1dLGlucHV0czp7cnVuQWN0aXZlOiJydW5BY3RpdmUiLHNpZGViYXJFeHBhbmRlZDoic2lkZWJhckV4cGFuZGVkIixzaWRlYmFyV2lkdGg6InNpZGViYXJXaWR0aCJ9LG91dHB1dHM6e3RvZ2dsZVNpZGViYXJFeHBhbmRlZDoidG9nZ2xlU2lkZWJhckV4cGFuZGVkIixyZXNpemVUcmlnZ2VyZWQ6InJlc2l6ZVRyaWdnZXJlZCIscmVzaXplR3JhYmJlZDoicmVzaXplR3JhYmJlZCIscmVzaXplUmVsZWFzZWQ6InJlc2l6ZVJlbGVhc2VkIn0sZGVjbHM6OCx2YXJzOjUsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQ7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe3Q9Z29vZy5nZXRNc2coIlRvZ2dsZSBTaWRlYmFyIil9ZWxzZSB0PSRsb2NhbGl6ZWA6TGFiZWwgZm9yIGEgYnV0dG9uIHRoYXQgdG9nZ2xlcyB0aGUgc2lkZWJhci7ikJ9mNjNiNTc5MzJkMTc5Y2NhNjJhYzlmY2FlNjNkZDdmNWU2ZmEzODlm4pCfNDQ4NTAwOTM0NzQ0NDcwNDg3ODpUb2dnbGUgU2lkZWJhcmA7cmV0dXJuW1sxLCJjb250ZW50IiwzLCJtb3VzZXVwIiwibW91c2Vtb3ZlIl0sWyJjbGFzcyIsInNpZGViYXItY29udGFpbmVyIiwzLCJ3aWR0aCIsNCwibmdJZiJdLFsiY2xhc3MiLCJncmFiYmVyIiwzLCJtb3VzZWRvd24iLDQsIm5nSWYiXSxbImNsYXNzIiwiYW5hbHlzaXMtY29udGFpbmVyIiw0LCJuZ0lmIiwibmdJZkVsc2UiXSxbIm5vUnVuIiwiIl0sWyJjbGFzcyIsInNpZGUtdG9nZ2xlIiw0LCJuZ0lmIl0sWzEsInNpZGViYXItY29udGFpbmVyIl0sWzEsInNpZGViYXItY29udGVudHMiXSxbMSwiZW1iZWRkaW5nLXByb2plY3Rpb24iXSxbMSwicnVuLWRpdmlkZXIiXSxbMSwicnVuLXNlbGVjdG9yIl0sWzEsImdyYWJiZXIiLDMsIm1vdXNlZG93biJdLFsxLCJhbmFseXNpcy1jb250YWluZXIiXSxbMSwiYW5ub3RhdGlvbnMtbGlzdCJdLFsxLCJub1J1biJdLFsxLCJzaWRlLXRvZ2dsZSJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsdCwzLCJjbGljayJdLFsic3ZnSWNvbiIsImNoZXZyb25fcmlnaHRfMjRweCJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKHZmKDAsIm5wbWktZGF0YS1zZWxlY3Rpb24iKSxDZigxLCJkaXYiLDApLFJmKCJtb3VzZXVwIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLnJlc2l6ZVJlbGVhc2VkLmVtaXQoKX0pKSgibW91c2Vtb3ZlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5yZXNpemVUcmlnZ2VyZWQuZW1pdChlKX0pKSxIbSgyLGdQdCw2LDIsImRpdiIsMSksSG0oMyxoUHQsMSwwLCJkaXYiLDIpLEhtKDQsYlB0LDMsMCwiZGl2IiwzKSxIbSg1LHlQdCwyLDAsIm5nLXRlbXBsYXRlIixudWxsLDQscXkpLE1mKCksSG0oNyxfUHQsMywwLCJkaXYiLDUpKSwyJmUpe2NvbnN0IHQ9Rm0oNik7RGMoMiksYmYoIm5nSWYiLG4uc2lkZWJhckV4cGFuZGVkKSxEYygxKSxiZigibmdJZiIsbi5zaWRlYmFyRXhwYW5kZWQpLERjKDEpLGJmKCJuZ0lmIiwhMD09PW4ucnVuQWN0aXZlKSgibmdJZkVsc2UiLHQpLERjKDMpLGJmKCJuZ0lmIiwhbi5zaWRlYmFyRXhwYW5kZWQpfX0sZGlyZWN0aXZlczpbZU90LFB2LHVQdCxiNCxKT3QsYVB0LE5MLE1xXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjEwMCV9LmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtmbGV4OjE7bWluLWhlaWdodDowcHg7d2lkdGg6MTAwJX0uc2lkZWJhci1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbn0uc2lkZWJhci1jb250ZW50c1tfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTttaW4td2lkdGg6MTUwcHh9LmFuYWx5c2lzLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O2ZsZXg6MSAxO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJX0ucnVuLXNlbGVjdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXttYXgtaGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uZW1iZWRkaW5nLXByb2plY3Rpb25bX25nY29udGVudC0lQ09NUCVde21pbi1oZWlnaHQ6MHB4O3dpZHRoOjEwMCV9LnNpZGUtdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2JvcmRlci1yYWRpdXM6M3B4O2JvdHRvbToxMHB4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MzBweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xlZnQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDozMHB4fS5ydW4tZGl2aWRlcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMik7Y29udGVudDoiIjtoZWlnaHQ6MXB4O292ZXJmbG93OmhpZGRlbn0uZ3JhYmJlcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMik7Y29udGVudDoiIjtjdXJzb3I6ZXctcmVzaXplO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aWR0aDozcHh9LmFubm90YXRpb25zLWxpc3RbX25nY29udGVudC0lQ09NUCVde2ZsZXg6MSAxO21pbi1oZWlnaHQ6MHB4O3dpZHRoOjEwMCV9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKENQdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJlbWJlZGRpbmdzLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vZW1iZWRkaW5nc19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9lbWJlZGRpbmdzX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtydW5BY3RpdmU6W3t0eXBlOlJffV0sc2lkZWJhckV4cGFuZGVkOlt7dHlwZTpSX31dLHNpZGViYXJXaWR0aDpbe3R5cGU6Ul99XSx0b2dnbGVTaWRlYmFyRXhwYW5kZWQ6W3t0eXBlOkVffV0scmVzaXplVHJpZ2dlcmVkOlt7dHlwZTpFX31dLHJlc2l6ZUdyYWJiZWQ6W3t0eXBlOkVffV0scmVzaXplUmVsZWFzZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBNUHR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMucnVuQWN0aXZlJD10aGlzLnN0b3JlLnBpcGUoclMoX0kpKS5waXBlKFZ0KCh0PT4hIXQmJlsuLi50LnZhbHVlcygpXS5pbmNsdWRlcyghMCkpKSksdGhpcy5zaWRlYmFyRXhwYW5kZWQkPXRoaXMuc3RvcmUucGlwZShyUyhteHQpKSx0aGlzLnNpZGViYXJXaWR0aCQ9dGhpcy5zdG9yZS5waXBlKHJTKHB4dCkpLHRoaXMucmVzaXppbmc9ITF9b25Ub2dnbGVTaWRlYmFyRXhwYW5kZWQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKEh2dCgpKX1vblJlc2l6ZVRyaWdnZXJlZCh0KXt0aGlzLnJlc2l6aW5nJiZ0aGlzLnN0b3JlLmRpc3BhdGNoKEl2dCh7c2lkZWJhcldpZHRoOnQuY2xpZW50WH0pKX1vblJlc2l6ZUdyYWJiZWQoKXt0aGlzLnJlc2l6aW5nPSEwfW9uUmVzaXplUmVsZWFzZWQoKXt0aGlzLnJlc2l6aW5nPSExfX1mdW5jdGlvbiB2UHQodCxlKXsxJnQmJnZmKDAsIm5wbWktaW5hY3RpdmUtdmlldyIpfWZ1bmN0aW9uIHhQdCh0LGUpezEmdCYmdmYoMCwibnBtaS1tYWluIil9ZnVuY3Rpb24gT1B0KHQsZSl7MSZ0JiZ2ZigwLCJucG1pLWVtYmVkZGluZ3MiKX1mdW5jdGlvbiBQUHQodCxlKXtpZigxJnQmJihIbSgwLHhQdCwxLDAsIm5wbWktbWFpbiIsMyksSG0oMSxPUHQsMSwwLCJucG1pLWVtYmVkZGluZ3MiLDMpKSwyJnQpe2NvbnN0IHQ9emYoKTtiZigibmdJZiIsdC5hY3RpdmVWaWV3PT09dC5WaWV3QWN0aXZlLkRFRkFVTFQpLERjKDEpLGJmKCJuZ0lmIix0LmFjdGl2ZVZpZXc9PT10LlZpZXdBY3RpdmUuRU1CRURESU5HUyl9fU1QdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TVB0KShnZihpUykpfSxNUHQuybVjbXA9c28oe3R5cGU6TVB0LHNlbGVjdG9yczpbWyJucG1pLWVtYmVkZGluZ3MiXV0sZGVjbHM6NCx2YXJzOjksY29uc3RzOltbMywicnVuQWN0aXZlIiwic2lkZWJhckV4cGFuZGVkIiwic2lkZWJhcldpZHRoIiwidG9nZ2xlU2lkZWJhckV4cGFuZGVkIiwicmVzaXplVHJpZ2dlcmVkIiwicmVzaXplR3JhYmJlZCIsInJlc2l6ZVJlbGVhc2VkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJlbWJlZGRpbmdzLWNvbXBvbmVudCIsMCksUmYoInRvZ2dsZVNpZGViYXJFeHBhbmRlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblRvZ2dsZVNpZGViYXJFeHBhbmRlZCgpfSkpKCJyZXNpemVUcmlnZ2VyZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUmVzaXplVHJpZ2dlcmVkKGUpfSkpKCJyZXNpemVHcmFiYmVkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUmVzaXplR3JhYmJlZCgpfSkpKCJyZXNpemVSZWxlYXNlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblJlc2l6ZVJlbGVhc2VkKCl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksTWYoKSksMiZlJiZiZigicnVuQWN0aXZlIixDeSgxLDMsbi5ydW5BY3RpdmUkKSkoInNpZGViYXJFeHBhbmRlZCIsQ3koMiw1LG4uc2lkZWJhckV4cGFuZGVkJCkpKCJzaWRlYmFyV2lkdGgiLEN5KDMsNyxuLnNpZGViYXJXaWR0aCQpKX0sZGlyZWN0aXZlczpbQ1B0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTVB0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktZW1iZWRkaW5ncyIsdGVtcGxhdGU6J1xuICAgIDxlbWJlZGRpbmdzLWNvbXBvbmVudFxuICAgICAgW3J1bkFjdGl2ZV09InJ1bkFjdGl2ZSQgfCBhc3luYyJcbiAgICAgIFtzaWRlYmFyRXhwYW5kZWRdPSJzaWRlYmFyRXhwYW5kZWQkIHwgYXN5bmMiXG4gICAgICBbc2lkZWJhcldpZHRoXT0ic2lkZWJhcldpZHRoJCB8IGFzeW5jIlxuICAgICAgKHRvZ2dsZVNpZGViYXJFeHBhbmRlZCk9Im9uVG9nZ2xlU2lkZWJhckV4cGFuZGVkKCkiXG4gICAgICAocmVzaXplVHJpZ2dlcmVkKT0ib25SZXNpemVUcmlnZ2VyZWQoJGV2ZW50KSJcbiAgICAgIChyZXNpemVHcmFiYmVkKT0ib25SZXNpemVHcmFiYmVkKCkiXG4gICAgICAocmVzaXplUmVsZWFzZWQpPSJvblJlc2l6ZVJlbGVhc2VkKCkiXG4gICAgPjwvZW1iZWRkaW5ncy1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjbGFzcyB3UHR7Y29uc3RydWN0b3IoKXt0aGlzLlZpZXdBY3RpdmU9anZ0fX13UHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHdQdCl9LHdQdC7JtWNtcD1zbyh7dHlwZTp3UHQsc2VsZWN0b3JzOltbIm5wbWktY29tcG9uZW50Il1dLGlucHV0czp7cnVuczoicnVucyIsYWN0aXZlVmlldzoiYWN0aXZlVmlldyJ9LGRlY2xzOjQsdmFyczoyLGNvbnN0czpbWzEsIm5wbWktY29udGFpbmVyIl0sWzQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsiZGF0YUF2YWlsYWJsZSIsIiJdLFs0LCJuZ0lmIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihDZigwLCJkaXYiLDApLEhtKDEsdlB0LDEsMCwibnBtaS1pbmFjdGl2ZS12aWV3IiwxKSxIbSgyLFBQdCwyLDIsIm5nLXRlbXBsYXRlIixudWxsLDIscXkpLE1mKCkpLDImZSl7Y29uc3QgdD1GbSgzKTtEYygxKSxiZigibmdJZiIsMD09PW4ucnVucy5zaXplKSgibmdJZkVsc2UiLHQpfX0sZGlyZWN0aXZlczpbUHYsdXh0LG1QdCxNUHRdLHN0eWxlczpbIltfbmdob3N0LSVDT01QJV17ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlfS5ucG1pLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17ZmxleDoxIDF9Il0sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHdQdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vbnBtaV9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9ucG1pX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtydW5zOlt7dHlwZTpSX31dLGFjdGl2ZVZpZXc6W3t0eXBlOlJffV19KTtjbGFzcyBrUHR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMucnVucyQ9dGhpcy5zdG9yZS5waXBlKHJTKF9JKSksdGhpcy5hY3RpdmVWaWV3JD10aGlzLnN0b3JlLnBpcGUoclMobHh0KSl9bmdPbkluaXQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKGZ2dCgpKX19a1B0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxrUHQpKGdmKGlTKSl9LGtQdC7JtWNtcD1zbyh7dHlwZTprUHQsc2VsZWN0b3JzOltbIm5wbWkiXV0sZGVjbHM6Myx2YXJzOjYsY29uc3RzOltbMywicnVucyIsImFjdGl2ZVZpZXciXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsIm5wbWktY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIikpLDImZSYmYmYoInJ1bnMiLEN5KDEsMixuLnJ1bnMkKSkoImFjdGl2ZVZpZXciLEN5KDIsNCxuLmFjdGl2ZVZpZXckKSl9LGRpcmVjdGl2ZXM6W3dQdF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGtQdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pIix0ZW1wbGF0ZTonXG4gICAgPG5wbWktY29tcG9uZW50XG4gICAgICBbcnVuc109InJ1bnMkIHwgYXN5bmMiXG4gICAgICBbYWN0aXZlVmlld109ImFjdGl2ZVZpZXckIHwgYXN5bmMiXG4gICAgPjwvbnBtaS1jb21wb25lbnQ+XG4gICd9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgU1B0e31TUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFNQdCl9LFNQdC7JtW1vZD1mbyh7dHlwZTpTUHR9KSxTUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx0WSxNWix2cSxJTF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihTUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3FPdCxZT3RdLGltcG9ydHM6W3J4LHRZLE1aLHZxLElMXSxleHBvcnRzOltxT3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oU1B0LHtkZWNsYXJhdGlvbnM6W3FPdCxZT3RdLGltcG9ydHM6W3J4LHRZLE1aLHZxLElMXSxleHBvcnRzOltxT3RdfSk7Y2xhc3MgRFB0e31EUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fERQdCl9LERQdC7JtW1vZD1mbyh7dHlwZTpEUHR9KSxEUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx0WSx2cSxUWl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihEUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W1NPdCxET3RdLGltcG9ydHM6W3J4LHRZLHZxLFRaXSxleHBvcnRzOltET3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oRFB0LHtkZWNsYXJhdGlvbnM6W1NPdCxET3RdLGltcG9ydHM6W3J4LHRZLHZxLFRaXSxleHBvcnRzOltET3RdfSk7Y2xhc3MgUlB0e31SUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFJQdCl9LFJQdC7JtW1vZD1mbyh7dHlwZTpSUHR9KSxSUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx0WSx2cSxJTCx3T3QsRFB0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFJQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbQU90LFRPdF0saW1wb3J0czpbcngsdFksdnEsSUwsd090LERQdF0sZXhwb3J0czpbVE90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFJQdCx7ZGVjbGFyYXRpb25zOltBT3QsVE90XSxpbXBvcnRzOltyeCx0WSx2cSxJTCx3T3QsRFB0XSxleHBvcnRzOltUT3RdfSk7Y2xhc3MgRVB0e31FUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEVQdCl9LEVQdC7JtW1vZD1mbyh7dHlwZTpFUHR9KSxFUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx0WSxNWix2cV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihFUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W0xPdCxCT3RdLGltcG9ydHM6W3J4LHRZLE1aLHZxXSxleHBvcnRzOltCT3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oRVB0LHtkZWNsYXJhdGlvbnM6W0xPdCxCT3RdLGltcG9ydHM6W3J4LHRZLE1aLHZxXSxleHBvcnRzOltCT3RdfSk7Y2xhc3MgQVB0e31BUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEFQdCl9LEFQdC7JtW1vZD1mbyh7dHlwZTpBUHR9KSxBUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihBUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3pPdF0saW1wb3J0czpbcnhdLGV4cG9ydHM6W3pPdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhBUHQse2RlY2xhcmF0aW9uczpbek90XSxpbXBvcnRzOltyeF0sZXhwb3J0czpbek90XX0pO2NsYXNzIFRQdHt9VFB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxUUHQpfSxUUHQuybVtb2Q9Zm8oe3R5cGU6VFB0fSksVFB0Lsm1aW5qPURuKHtpbXBvcnRzOltbQVB0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFRQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbSU90XSxpbXBvcnRzOltBUHRdLGV4cG9ydHM6W0lPdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhUUHQse2RlY2xhcmF0aW9uczpbSU90XSxpbXBvcnRzOltBUHRdLGV4cG9ydHM6W0lPdF19KTtjbGFzcyBOUHR7fU5QdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TlB0KX0sTlB0Lsm1bW9kPWZvKHt0eXBlOk5QdH0pLE5QdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LFJQdCxFUHQsVFB0LGlCLFNQdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihOUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W0tPdCxKT3RdLGltcG9ydHM6W3J4LFJQdCxFUHQsVFB0LGlCLFNQdF0sZXhwb3J0czpbSk90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKE5QdCx7ZGVjbGFyYXRpb25zOltLT3QsSk90XSxpbXBvcnRzOltyeCxSUHQsRVB0LFRQdCxpQixTUHRdLGV4cG9ydHM6W0pPdF19KTtjbGFzcyB6UHR7fXpQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8elB0KX0selB0Lsm1bW9kPWZvKHt0eXBlOnpQdH0pLHpQdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LHRZLHZxLElMXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHpQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbZlB0LHVQdF0saW1wb3J0czpbcngsdFksdnEsSUxdLGV4cG9ydHM6W3VQdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byh6UHQse2RlY2xhcmF0aW9uczpbZlB0LHVQdF0saW1wb3J0czpbcngsdFksdnEsSUxdLGV4cG9ydHM6W3VQdF19KTtjbGFzcyBJUHR7fUlQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SVB0KX0sSVB0Lsm1bW9kPWZvKHt0eXBlOklQdH0pLElQdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LHRZLGVZLHZxLGp4dCxqMF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihJUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3F4dCxaeHRdLGltcG9ydHM6W3J4LHRZLGVZLHZxLGp4dCxqMF0sZXhwb3J0czpbWnh0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKElQdCx7ZGVjbGFyYXRpb25zOltxeHQsWnh0XSxpbXBvcnRzOltyeCx0WSxlWSx2cSxqeHQsajBdLGV4cG9ydHM6W1p4dF19KTtjbGFzcyBIUHR7fUhQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SFB0KX0sSFB0Lsm1bW9kPWZvKHt0eXBlOkhQdH0pLEhQdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LGp4dF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihIUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W1h4dF0saW1wb3J0czpbcngsanh0XSxleHBvcnRzOltYeHRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oSFB0LHtkZWNsYXJhdGlvbnM6W1h4dF0saW1wb3J0czpbcngsanh0XSxleHBvcnRzOltYeHRdfSk7Y2xhc3MgRlB0e31GUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEZQdCl9LEZQdC7JtW1vZD1mbyh7dHlwZTpGUHR9KSxGUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxqeHQsSVB0LEhQdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihGUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6WyR4dCx0T3RdLGltcG9ydHM6W3J4LGp4dCxJUHQsSFB0XSxleHBvcnRzOlt0T3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oRlB0LHtkZWNsYXJhdGlvbnM6WyR4dCx0T3RdLGltcG9ydHM6W3J4LGp4dCxJUHQsSFB0XSxleHBvcnRzOlt0T3RdfSk7Y2xhc3MgTFB0e31MUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fExQdCl9LExQdC7JtW1vZD1mbyh7dHlwZTpMUHR9KSxMUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx2cSxUWixxM11dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihMUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W194dCxDeHRdLGltcG9ydHM6W3J4LHZxLFRaLHEzXSxleHBvcnRzOltDeHRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oTFB0LHtkZWNsYXJhdGlvbnM6W194dCxDeHRdLGltcG9ydHM6W3J4LHZxLFRaLHEzXSxleHBvcnRzOltDeHRdfSk7Y2xhc3MgQlB0e31CUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEJQdCl9LEJQdC7JtW1vZD1mbyh7dHlwZTpCUHR9KSxCUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx2cSxJTF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihCUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3h4dCxPeHRdLGltcG9ydHM6W3J4LHZxLElMXSxleHBvcnRzOltPeHRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oQlB0LHtkZWNsYXJhdGlvbnM6W3h4dCxPeHRdLGltcG9ydHM6W3J4LHZxLElMXSxleHBvcnRzOltPeHRdfSk7Y2xhc3MgVlB0e31WUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFZQdCl9LFZQdC7JtW1vZD1mbyh7dHlwZTpWUHR9KSxWUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxMUHQsRlB0LEJQdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W2VPdF0saW1wb3J0czpbcngsTFB0LEZQdCxCUHRdLGV4cG9ydHM6W2VPdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhWUHQse2RlY2xhcmF0aW9uczpbZU90XSxpbXBvcnRzOltyeCxMUHQsRlB0LEJQdF0sZXhwb3J0czpbZU90XX0pO2NsYXNzIGpQdHt9alB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxqUHQpfSxqUHQuybVtb2Q9Zm8oe3R5cGU6alB0fSksalB0Lsm1aW5qPURuKHtpbXBvcnRzOltbcnhdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoalB0LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOlskT3QsdFB0XSxpbXBvcnRzOltyeF0sZXhwb3J0czpbdFB0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGpQdCx7ZGVjbGFyYXRpb25zOlskT3QsdFB0XSxpbXBvcnRzOltyeF0sZXhwb3J0czpbdFB0XX0pO2NsYXNzIFVQdHt9VVB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxVUHQpfSxVUHQuybVtb2Q9Zm8oe3R5cGU6VVB0fSksVVB0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdnEsSUwsalB0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFVQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbaVB0LGFQdF0saW1wb3J0czpbcngsdnEsSUwsalB0XSxleHBvcnRzOlthUHRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oVVB0LHtkZWNsYXJhdGlvbnM6W2lQdCxhUHRdLGltcG9ydHM6W3J4LHZxLElMLGpQdF0sZXhwb3J0czpbYVB0XX0pO2NsYXNzIFdQdHt9V1B0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxXUHQpfSxXUHQuybVtb2Q9Zm8oe3R5cGU6V1B0fSksV1B0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdFksTVosdnEscl90LFZQdCxJTCxOUHQsVVB0LHpQdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihXUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W0NQdCxNUHRdLGltcG9ydHM6W3J4LHRZLE1aLHZxLHJfdCxWUHQsSUwsTlB0LFVQdCx6UHRdLGV4cG9ydHM6W01QdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhXUHQse2RlY2xhcmF0aW9uczpbQ1B0LE1QdF0saW1wb3J0czpbcngsdFksTVosdnEscl90LFZQdCxJTCxOUHQsVVB0LHpQdF0sZXhwb3J0czpbTVB0XX0pO2NsYXNzIEdQdHt9R1B0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxHUHQpfSxHUHQuybVtb2Q9Zm8oe3R5cGU6R1B0fSksR1B0Lsm1aW5qPURuKHt9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEdQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbdXh0XSxleHBvcnRzOlt1eHRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oR1B0LHtkZWNsYXJhdGlvbnM6W3V4dF0sZXhwb3J0czpbdXh0XX0pO2NsYXNzIFlQdHt9WVB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxZUHQpfSxZUHQuybVtb2Q9Zm8oe3R5cGU6WVB0fSksWVB0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdFksSUwsdnFdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWVB0LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOlthT3Qsck90XSxpbXBvcnRzOltyeCx0WSxJTCx2cV0sZXhwb3J0czpbck90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFlQdCx7ZGVjbGFyYXRpb25zOlthT3Qsck90XSxpbXBvcnRzOltyeCx0WSxJTCx2cV0sZXhwb3J0czpbck90XX0pO2NsYXNzIHFQdHt9cVB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxxUHQpfSxxUHQuybVtb2Q9Zm8oe3R5cGU6cVB0fSkscVB0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdFksdnEsSUwsWVB0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHFQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbY090LGRPdF0saW1wb3J0czpbcngsdFksdnEsSUwsWVB0XSxleHBvcnRzOltkT3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8ocVB0LHtkZWNsYXJhdGlvbnM6W2NPdCxkT3RdLGltcG9ydHM6W3J4LHRZLHZxLElMLFlQdF0sZXhwb3J0czpbZE90XX0pO2NsYXNzIFpQdHt9WlB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxaUHQpfSxaUHQuybVtb2Q9Zm8oe3R5cGU6WlB0fSksWlB0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdFksTVosdnEscl90LFZQdCxJTCxxUHQsTlB0LFVQdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihaUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3BQdCxtUHRdLGltcG9ydHM6W3J4LHRZLE1aLHZxLHJfdCxWUHQsSUwscVB0LE5QdCxVUHRdLGV4cG9ydHM6W21QdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhaUHQse2RlY2xhcmF0aW9uczpbcFB0LG1QdF0saW1wb3J0czpbcngsdFksTVosdnEscl90LFZQdCxJTCxxUHQsTlB0LFVQdF0sZXhwb3J0czpbbVB0XX0pO2NsYXNzIFhQdHt9WFB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxYUHQpfSxYUHQuybVtb2Q9Zm8oe3R5cGU6WFB0fSksWFB0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsR1B0LFpQdCxXUHQsbXZ0LFRTLmZvckZlYXR1cmUoTHZ0LGh4dCksaEQuZm9yRmVhdHVyZShbZnh0XSksTVguZm9yUGx1Z2luKCJucG1pIixrUHQpXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFhQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbd1B0LGtQdF0saW1wb3J0czpbcngsR1B0LFpQdCxXUHQsbXZ0LFRTLmZvckZlYXR1cmUoTHZ0LGh4dCksaEQuZm9yRmVhdHVyZShbZnh0XSksTVguZm9yUGx1Z2luKCJucG1pIixrUHQpXSxleHBvcnRzOltrUHRdLGVudHJ5Q29tcG9uZW50czpba1B0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFhQdCx7ZGVjbGFyYXRpb25zOlt3UHQsa1B0XSxpbXBvcnRzOltyeCxHUHQsWlB0LFdQdCxtdnQsQVMsZ0QsTVhdLGV4cG9ydHM6W2tQdF19KTtjbGFzcyBLUHR7fUtQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8S1B0KX0sS1B0Lsm1cHJvdj1Tbih7dG9rZW46S1B0LGZhY3Rvcnk6S1B0Lsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihLUHQsW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjbGFzcyBKUHR7Y29uc3RydWN0b3IodCl7dGhpcy5odHRwPXQsdGhpcy5odHRwUGF0aFByZWZpeD0iZGF0YS9wbHVnaW4vdGV4dF92MiJ9ZmV0Y2hSdW5Ub1RhZygpe3JldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuaHR0cFBhdGhQcmVmaXgrIi90YWdzIikucGlwZShWdCgodD0+e2NvbnN0IGU9bmV3IE1hcDtyZXR1cm4gT2JqZWN0LmVudHJpZXModCkuZm9yRWFjaCgoKFt0LG5dKT0+e2Uuc2V0KHQsbil9KSksZX0pKSl9ZmV0Y2hUZXh0RGF0YSh0LGUpe2NvbnN0IG49bmV3IFVSTFNlYXJjaFBhcmFtcyh7cnVuOnQsdGFnOmV9KTtyZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmh0dHBQYXRoUHJlZml4K2AvdGV4dD8ke24udG9TdHJpbmcoKX1gKS5waXBlKFZ0KCh0PT50Lm1hcCgodD0+KHtvcmlnaW5hbFNoYXBlOnQub3JpZ2luYWxfc2hhcGUsc3RlcDp0LnN0ZXAsc3RyaW5nQXJyYXk6dC5zdHJpbmdfYXJyYXksd2FsbFRpbWVJbk1zOjFlMyp0LndhbGxfdGltZSx0cnVuY2F0ZWQ6dC50cnVuY2F0ZWR9KSkpKSkpfX1KUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEpQdCkoVHIoSEUpKX0sSlB0Lsm1cHJvdj1Tbih7dG9rZW46SlB0LGZhY3Rvcnk6SlB0Lsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihKUHQsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkhFfV19KSxudWxsKTtjbGFzcyBRUHR7fVFQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UVB0KX0sUVB0Lsm1bW9kPWZvKHt0eXBlOlFQdH0pLFFQdC7JtWluaj1Ebih7cHJvdmlkZXJzOltKUHQse3Byb3ZpZGU6S1B0LHVzZUV4aXN0aW5nOkpQdH1dLGltcG9ydHM6W1tGRV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihRUHQsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltGRV0scHJvdmlkZXJzOltKUHQse3Byb3ZpZGU6S1B0LHVzZUV4aXN0aW5nOkpQdH1dfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oUVB0LHtpbXBvcnRzOltGRV19KTtjb25zdCAkUHQ9X2soIltUZXh0XSBUZXh0IFBsdWdpbiBMb2FkZWQiKSx0d3Q9X2soIltUZXh0XSBSdW5zIFRvIFRhZyBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxld3Q9X2soIltUZXh0XSBUYWcgR3JvdXAgVmlzaWJpbGl0eSBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksbnd0PV9rKCJbVGV4dF0gVGV4dCBEYXRhIExvYWRlZCBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxvd3Q9InRleHQiLGl3dD1fUyhvd3QpO2JTKGl3dCwodD0+dC5ydW5Ub1RhZ3MpKTtjb25zdCBhd3Q9YlMoaXd0LCh0PT57Y29uc3QgZT1uZXcgU2V0LG49bmV3IFNldDtmb3IoY29uc3QgbyBvZiB0LnZpc2libGVSdW5UYWdzLnZhbHVlcygpKWZvcihjb25zdCB0IG9mIG8pe2NvbnN0IG89SlNPTi5zdHJpbmdpZnkodCk7ZS5oYXMobyl8fChlLmFkZChvKSxuLmFkZCh0KSl9cmV0dXJuWy4uLm5dfSkpLHJ3dD1iUyhpd3QsKCh0LGUpPT57Y29uc3Qgbj10LmRhdGEuZ2V0KGUucnVuKTtyZXR1cm4gbiYmbi5nZXQoZS50YWcpfHxudWxsfSkpO2NsYXNzIHN3dHtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5hY3Rpb25zJD10LHRoaXMuc3RvcmU9ZSx0aGlzLmRhdGFTb3VyY2U9bix0aGlzLmxvYWRSdW5Ub1RhZ3MkPVdTKCgoKT0+dGhpcy5hY3Rpb25zJC5waXBlKCRTKCRQdCksVmUoKCgpPT50aGlzLmRhdGFTb3VyY2UuZmV0Y2hSdW5Ub1RhZygpLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKHR3dCh7cnVuVG9UYWdzOnR9KSl9KSksVnQoKCgpPT57fSkpKSkpKSkse2Rpc3BhdGNoOiExfSksdGhpcy5sb2FkRGF0YSQ9V1MoKCgpPT5wZSh0aGlzLmFjdGlvbnMkLnBpcGUoJFMoZXd0KSxWZSgoKHt2aXNpYmxlVGV4dENhcmRzOnR9KT0+aWUodC5tYXAoKCh7cnVuOnQsdGFnOmV9KT0+dGhpcy5zdG9yZS5zZWxlY3Qocnd0LHtydW46dCx0YWc6ZX0pLnBpcGUoKGZ1bmN0aW9uIG4odCxlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPj0yO3JldHVybiBmdW5jdGlvbihvKXtyZXR1cm4gby5waXBlKHQ/dWUoKGZ1bmN0aW9uKGUsbil7cmV0dXJuIHQoZSxuLG8pfSkpOlIsVGUoMSksbj9NZShlKTpTZSgoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEJ0fSkpKX19KSgpLFZ0KChuPT4oe3J1bjp0LHRhZzplLHRleHREYXRhOm59KSkpKSkpKS5waXBlKFZ0KCh0PT50LmZpbHRlcigoKHt0ZXh0RGF0YTp0fSk9Pm51bGw9PT10KSkubWFwKCgoe3J1bjp0LHRhZzplfSk9Pih7cnVuOnQsdGFnOmV9KSkpKSkpKSkpLHRoaXMuYWN0aW9ucyQucGlwZSgkUyhKRSxRRSkscWUodGhpcy5zdG9yZS5zZWxlY3QoYXd0KSksVnQoKChbLHRdKT0+dCkpKSkucGlwZSgkdCgodD0+aWUodC5tYXAoKHQ9PnRoaXMuZmV0Y2hUZXh0RGF0YSh0KSkpKSkpKSkse2Rpc3BhdGNoOiExfSl9ZmV0Y2hUZXh0RGF0YSh0KXtjb25zdHtydW46ZSx0YWc6bn09dDtyZXR1cm4gdGhpcy5kYXRhU291cmNlLmZldGNoVGV4dERhdGEoZSxuKS5waXBlKFdlKCh0PT57dGhpcy5zdG9yZS5kaXNwYXRjaChud3Qoe3J1bjplLHRhZzpuLHN0ZXBEYXRhOnR9KSl9KSksVnQoKCgpPT57fSkpKX19c3d0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxzd3QpKFRyKFFTKSxUcihpUyksVHIoS1B0KSl9LHN3dC7JtXByb3Y9U24oe3Rva2VuOnN3dCxmYWN0b3J5OnN3dC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoc3d0LFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpRU30se3R5cGU6aVN9LHt0eXBlOktQdH1dfSksbnVsbCk7Y29uc3QgbHd0PVZTKHtydW5Ub1RhZ3M6bmV3IE1hcChbWyJydW4xIixbImEvYiIsImEvYyJdXSxbInJ1bjIiLFsiYS9iIiwiYS9kIl1dLFsicnVuMyIsWyJjIiwiYS9iIl1dXSksZGF0YTpuZXcgTWFwKFtbInJ1bjEiLG5ldyBNYXAoW1siYS9iIixbe29yaWdpbmFsU2hhcGU6WzNdLHN0ZXA6MCxzdHJpbmdBcnJheTpbWyJmb28iLCJiYXIiLCJiYXoiXV0sd2FsbFRpbWVJbk1zOjE1Nzc4NjU2ZTUsdHJ1bmNhdGVkOiExfSx7b3JpZ2luYWxTaGFwZTpbM10sc3RlcDoxLHN0cmluZ0FycmF5OltbImZvbyIsImJheiJdXSx3YWxsVGltZUluTXM6MTU3Nzg2NTYwMWUzLHRydW5jYXRlZDohMX1dXSxbImEvYyIsW3tvcmlnaW5hbFNoYXBlOlszXSxzdGVwOjAsc3RyaW5nQXJyYXk6W1siV2UgY29uZHVjdGVkIGFuIGV4cGVyaW1lbnQgYW5kIGZvdW5kIHRoZSBmb2xsb3dpbmcgZGF0YTpcblxuUG91bmRzIG9mIGNob2NvbGF0ZSB8IEhhcHBpbmVzc1xuLS0tfC0tLVxuMCB8IDFcbjEgfCA0XG4yIHwgOVxuMyB8IDE2XG40IHwgMjVcbjUgfCAzNlxuNiB8IDQ5XG43IHwgNjRcbjggfCA4MVxuOSB8IDEwMFxuMTAgfCAxMjEiXV0sd2FsbFRpbWVJbk1zOjE1Nzc4NjU2ZTUsdHJ1bmNhdGVkOiExfSx7b3JpZ2luYWxTaGFwZTpbM10sc3RlcDoxLHN0cmluZ0FycmF5OltbIsOXIiwiKiowKioiLCIqKjEqKiIsIioqMioqIiwiKiozKioiLCIqKjQqKiIsIioqNSoqIl0sWyIqKjAqKiIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCJdLFsiKioxKioiLCIwIiwiMSIsIjIiLCIzIiwiNCIsIjUiXSxbIioqMioqIiwiMCIsIjIiLCI0IiwiNiIsIjgiLCIxMCJdLFsiKiozKioiLCIwIiwiMyIsIjYiLCI5IiwiMTIiLCIxNSJdLFsiKio0KioiLCIwIiwiNCIsIjgiLCIxMiIsIjE2IiwiMjAiXSxbIioqNSoqIiwiMCIsIjUiLCIxMCIsIjE1IiwiMjAiLCIyNSJdXSx3YWxsVGltZUluTXM6MTU3Nzg2NTYwMWUzLHRydW5jYXRlZDohMX1dXV0pXV0pLHZpc2libGVSdW5UYWdzOm5ldyBNYXB9KTtmdW5jdGlvbiBjd3QodCxlKXtyZXR1cm4gbHd0KHQsZSl9Y2xhc3MgZHd0e31kd3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGR3dCl9LGR3dC7JtWNtcD1zbyh7dHlwZTpkd3Qsc2VsZWN0b3JzOltbInRleHQtZGFzaGJvYXJkIl1dLGRlY2xzOjEsdmFyczowLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlB1KDAsIiBUaGlzIGlzIHRoZSB0ZXh0IGRhc2hib2FyZCAiKX0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihkd3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGV4dC1kYXNoYm9hcmQiLHRlbXBsYXRlOiIgVGhpcyBpcyB0aGUgdGV4dCBkYXNoYm9hcmQgIixjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLG51bGwpO2NsYXNzIHB3dHt9cHd0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxwd3QpfSxwd3QuybVtb2Q9Zm8oe3R5cGU6cHd0fSkscHd0Lsm1aW5qPURuKHt9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHB3dCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbZHd0XSxleHBvcnRzOltkd3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8ocHd0LHtkZWNsYXJhdGlvbnM6W2R3dF0sZXhwb3J0czpbZHd0XX0pO2NsYXNzIG13dHt9bXd0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxtd3QpfSxtd3QuybVtb2Q9Zm8oe3R5cGU6bXd0fSksbXd0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngscHd0LE1YLmZvclBsdWdpbigidGV4dF92MiIsZHd0KSxRUHQsVFMuZm9yRmVhdHVyZShvd3QsY3d0KSxoRC5mb3JGZWF0dXJlKFtzd3RdKV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihtd3QsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltyeCxwd3QsTVguZm9yUGx1Z2luKCJ0ZXh0X3YyIixkd3QpLFFQdCxUUy5mb3JGZWF0dXJlKG93dCxjd3QpLGhELmZvckZlYXR1cmUoW3N3dF0pXSxlbnRyeUNvbXBvbmVudHM6W2R3dF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhtd3Qse2ltcG9ydHM6W3J4LHB3dCxNWCxRUHQsQVMsZ0RdfSk7Y2xhc3MgZnd0e312YXIgdXd0O2Z3dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Znd0KX0sZnd0Lsm1bW9kPWZvKHt0eXBlOmZ3dH0pLGZ3dC7JtWluaj1Ebih7aW1wb3J0czpbW1kkLEVfdCxYUHQsbXd0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGZ3dCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W1kkLEVfdCxYUHQsbXd0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGZ3dCx7aW1wb3J0czpbWSQsRV90LFhQdCxtd3RdfSksKGZ1bmN0aW9uKHQpe3QuQ1VTVE9NX0VMRU1FTlQ9IkNVU1RPTV9FTEVNRU5UIix0LklGUkFNRT0iSUZSQU1FIix0Lk5HX0NPTVBPTkVOVD0iTkdfQ09NUE9ORU5UIix0Lk5PTkU9Ik5PTkUifSkodXd0fHwodXd0PXt9KSk7Y29uc3QgZ3d0PVsicGx1Z2luQ29udGFpbmVyIl0saHd0PVsibmdQbHVnaW5Db250YWluZXIiXTtmdW5jdGlvbiBid3QodCxlKXsxJnQmJlBmKDApfWZ1bmN0aW9uIHl3dCh0LGUpe2lmKDEmdCYmKHhmKDApLEhtKDEsYnd0LDEsMCwibmctY29udGFpbmVyIiw5KSxPZigpKSwyJnQpe2NvbnN0IHQ9emYoMiksZT1GbSg2KTtEYygxKSxiZigibmdUZW1wbGF0ZU91dGxldCIsdC5lbnZpcm9ubWVudEZhaWx1cmVOb3RGb3VuZFRlbXBsYXRlP3QuZW52aXJvbm1lbnRGYWlsdXJlTm90Rm91bmRUZW1wbGF0ZTplKX19ZnVuY3Rpb24gX3d0KHQsZSl7MSZ0JiZQZigwKX1mdW5jdGlvbiBDd3QodCxlKXtpZigxJnQmJih4ZigwKSxIbSgxLF93dCwxLDAsIm5nLWNvbnRhaW5lciIsOSksT2YoKSksMiZ0KXtjb25zdCB0PXpmKDIpLGU9Rm0oNik7RGMoMSksYmYoIm5nVGVtcGxhdGVPdXRsZXQiLHQuZW52aXJvbm1lbnRGYWlsdXJlVW5rbm93blRlbXBsYXRlP3QuZW52aXJvbm1lbnRGYWlsdXJlVW5rbm93blRlbXBsYXRlOmUpfX1mdW5jdGlvbiBNd3QodCxlKXtpZigxJnQmJih4ZigwKSxDZigxLCJoMyIsMTApLFB1KDIsIiBUaGVyZeKAmXMgbm8gZGFzaGJvYXJkIGJ5IHRoZSBuYW1lIG9mIOKAnCIpLENmKDMsImNvZGUiKSxQdSg0KSxNZigpLFB1KDUsIuKAnS4gIiksTWYoKSxDZig2LCJwIiksUHUoNywiWW91IGNhbiBzZWxlY3QgYSBkYXNoYm9hcmQgZnJvbSB0aGUgbGlzdCBhYm92ZS4iKSxNZigpLENmKDgsInAiKSxQZig5LDExKSxNZigpLE9mKCkpLDImdCl7Y29uc3QgdD16ZigyKSxlPUZtKDgpO0RjKDQpLHd1KHQuYWN0aXZlUGx1Z2luSWQpLERjKDUpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0IixlKX19ZnVuY3Rpb24gdnd0KHQsZSl7aWYoMSZ0JiYoeGYoMCksQ2YoMSwiaDMiLDEyKSxQdSgyLCIgTm8gZGFzaGJvYXJkcyBhcmUgYWN0aXZlIGZvciB0aGUgY3VycmVudCBkYXRhIHNldC4gIiksTWYoKSxDZigzLCJwIiksUHUoNCwiUHJvYmFibGUgY2F1c2VzOiIpLE1mKCksQ2YoNSwidWwiKSxDZig2LCJsaSIpLFB1KDcsIllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLiIpLE1mKCksQ2YoOCwibGkiKSxQdSg5LCJUZW5zb3JCb2FyZCBjYW7igJl0IGZpbmQgeW91ciBldmVudCBmaWxlcy4iKSxNZigpLE1mKCksUHUoMTAsIiBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0byBhZGQgZGF0YSBhbmQgc2V0IHVwIHlvdXIgZXZlbnQgZmlsZXMsIGNoZWNrIG91dCB0aGUgIiksQ2YoMTEsImEiLDEzKSxQdSgxMiwiUkVBRE1FIiksTWYoKSxQdSgxMywiIGFuZCBwZXJoYXBzIHRoZSAiKSxDZigxNCwiYSIsMTQpLFB1KDE1LCJUZW5zb3JCb2FyZCB0dXRvcmlhbCIpLE1mKCksUHUoMTYsIi4gIiksQ2YoMTcsInAiKSxQdSgxOCwiIElmIHlvdSB0aGluayBUZW5zb3JCb2FyZCBpcyBjb25maWd1cmVkIHByb3Blcmx5LCBwbGVhc2Ugc2VlICIpLENmKDE5LCJhIiwxNSksUHUoMjAsInRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXMiKSxNZigpLFB1KDIxLCIgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuICIpLE1mKCksQ2YoMjIsInAiKSxQZigyMywxMSksTWYoKSxPZigpKSwyJnQpe3pmKDIpO2NvbnN0IHQ9Rm0oOCk7RGMoMjMpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0Iix0KX19ZnVuY3Rpb24geHd0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw2KSxDZigxLCJkaXYiLDcpLEhtKDIseXd0LDIsMSwibmctY29udGFpbmVyIiw4KSxIbSgzLEN3dCwyLDEsIm5nLWNvbnRhaW5lciIsOCksSG0oNCxNd3QsMTAsMiwibmctY29udGFpbmVyIiw4KSxIbSg1LHZ3dCwyNCwxLCJuZy1jb250YWluZXIiLDgpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7YmYoIm5nU3dpdGNoIix0LnBsdWdpbkxvYWRTdGF0ZSksRGMoMiksYmYoIm5nU3dpdGNoQ2FzZSIsdC5QbHVnaW5Mb2FkU3RhdGUuRU5WSVJPTk1FTlRfRkFJTFVSRV9OT1RfRk9VTkQpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLHQuUGx1Z2luTG9hZFN0YXRlLkVOVklST05NRU5UX0ZBSUxVUkVfVU5LTk9XTiksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsdC5QbHVnaW5Mb2FkU3RhdGUuVU5LTk9XTl9QTFVHSU5fSUQpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLHQuUGx1Z2luTG9hZFN0YXRlLk5PX0VOQUJMRURfUExVR0lOUyl9fWZ1bmN0aW9uIE93dCh0LGUpe2lmKDEmdCYmKENmKDAsImgzIiwxNiksUHUoMSwiRGF0YSBjb3VsZCBub3QgYmUgbG9hZGVkLiIpLE1mKCksQ2YoMiwicCIpLFB1KDMsIlRoZSBUZW5zb3JCb2FyZCBzZXJ2ZXIgbWF5IGJlIGRvd24gb3IgaW5hY2Nlc3NpYmxlLiIpLE1mKCksQ2YoNCwicCIpLFBmKDUsMTEpLE1mKCkpLDImdCl7emYoKTtjb25zdCB0PUZtKDgpO0RjKDUpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0Iix0KX19ZnVuY3Rpb24gUHd0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwicCIsMTkpLENmKDEsImkiKSxQdSgyLCJMb2cgZGlyZWN0b3J5OiAiKSxDZigzLCJzcGFuIiksUHUoNCksTWYoKSxNZigpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYyg0KSx3dSh0LmRhdGFMb2NhdGlvbil9fWZ1bmN0aW9uIHd3dCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDE3KSxQdSgxKSxfeSgyLCJkYXRlIiksTWYoKSxIbSgzLFB3dCw1LDEsInAiLDE4KSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksa3UoIkxhc3QgcmVsb2FkOiAiLE15KDIsMix0Lmxhc3RVcGRhdGVkLCJtZWRpdW0iKSwiIiksRGMoMiksYmYoIm5nSWYiLHQuZGF0YUxvY2F0aW9uKX19Y29uc3Qga3d0PWZ1bmN0aW9uKHQpe3JldHVybntwbHVnaW5zOiEwLCJpcy1maXJzdC1wYXJ0eS1wbHVnaW4iOnR9fTt2YXIgU3d0OyEoZnVuY3Rpb24odCl7dFt0LkVOVklST05NRU5UX0ZBSUxVUkVfTk9UX0ZPVU5EPTBdPSJFTlZJUk9OTUVOVF9GQUlMVVJFX05PVF9GT1VORCIsdFt0LkVOVklST05NRU5UX0ZBSUxVUkVfVU5LTk9XTj0xXT0iRU5WSVJPTk1FTlRfRkFJTFVSRV9VTktOT1dOIix0W3QuTk9fRU5BQkxFRF9QTFVHSU5TPTJdPSJOT19FTkFCTEVEX1BMVUdJTlMiLHRbdC5VTktOT1dOX1BMVUdJTl9JRD0zXT0iVU5LTk9XTl9QTFVHSU5fSUQiLHRbdC5MT0FERUQ9NF09IkxPQURFRCIsdFt0LkxPQURJTkc9NV09IkxPQURJTkcifSkoU3d0fHwoU3d0PXt9KSk7Y2xhc3MgRHd0e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj10LHRoaXMucGx1Z2luUmVnaXN0cnk9ZSx0aGlzLnBsdWdpbkFwaUhvc3Q9bix0aGlzLlBsdWdpbkxvYWRTdGF0ZT1Td3QsdGhpcy5Mb2FkaW5nTWVjaGFuaXNtVHlwZT11d3QsdGhpcy5wbHVnaW5JbnN0YW5jZXM9bmV3IE1hcH1uZ09uQ2hhbmdlcyh0KXt2YXIgZTtpZighdGhpcy5pc0ZlYXR1cmVGbGFnc0xvYWRlZHx8IXRoaXMuYWN0aXZlS25vd25QbHVnaW58fHRoaXMuc2V0dGluZ3NMb2FkU3RhdGU9PT1VRS5OT1RfTE9BREVEfHx0aGlzLnNldHRpbmdzTG9hZFN0YXRlPT09VUUuTE9BRElORylyZXR1cm47Y29uc3Qgbj1Cb29sZWFuKHRoaXMuYWN0aXZlS25vd25QbHVnaW4mJiF0aGlzLnBsdWdpbkluc3RhbmNlcy5oYXModGhpcy5hY3RpdmVLbm93blBsdWdpbi5pZCkpO2lmKHQuYWN0aXZlS25vd25QbHVnaW58fHQuaXNGZWF0dXJlRmxhZ3NMb2FkZWR8fHQuc2V0dGluZ3NMb2FkU3RhdGUpe2NvbnN0IG89bnVsbD09PShlPXQuYWN0aXZlS25vd25QbHVnaW4pfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnByZXZpb3VzVmFsdWU7aWYobyYmby5pZCE9PXRoaXMuYWN0aXZlS25vd25QbHVnaW4uaWQmJnRoaXMuaGlkZVBsdWdpbihvKSxuKXtjb25zdCB0PXRoaXMuY3JlYXRlUGx1Z2luKHRoaXMuYWN0aXZlS25vd25QbHVnaW4pO3QmJnRoaXMucGx1Z2luSW5zdGFuY2VzLnNldCh0aGlzLmFjdGl2ZUtub3duUGx1Z2luLmlkLHQpfWVsc2UgdGhpcy5zaG93UGx1Z2luKHRoaXMuYWN0aXZlS25vd25QbHVnaW4pfShufHx0Lmxhc3RVcGRhdGVkKSYmdGhpcy5yZWxvYWQodGhpcy5hY3RpdmVLbm93blBsdWdpbixuKX1oaWRlUGx1Z2luKHQpe2lmKCF0aGlzLnBsdWdpbkluc3RhbmNlcy5oYXModC5pZCkpcmV0dXJuO2NvbnN0IGU9dGhpcy5wbHVnaW5JbnN0YW5jZXMuZ2V0KHQuaWQpO09iamVjdC5hc3NpZ24oZS5zdHlsZSx7bWF4SGVpZ2h0OjAsb3ZlcmZsb3c6ImhpZGRlbiIsdmlzaWJpbGl0eToiaGlkZGVuIixwb3NpdGlvbjoiYWJzb2x1dGUifSl9c2hvd1BsdWdpbih0KXtpZighdGhpcy5wbHVnaW5JbnN0YW5jZXMuaGFzKHQuaWQpKXJldHVybjtjb25zdCBlPXRoaXMucGx1Z2luSW5zdGFuY2VzLmdldCh0LmlkKTtPYmplY3QuYXNzaWduKGUuc3R5bGUse21heEhlaWdodDpudWxsLG92ZXJmbG93Om51bGwsdmlzaWJpbGl0eTpudWxsLHBvc2l0aW9uOm51bGx9KX1jcmVhdGVQbHVnaW4odCl7bGV0IGU9bnVsbDtzd2l0Y2godC5sb2FkaW5nX21lY2hhbmlzbS50eXBlKXtjYXNlIHV3dC5DVVNUT01fRUxFTUVOVDplPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodC5sb2FkaW5nX21lY2hhbmlzbS5lbGVtZW50X25hbWUpLGUucmVsb2FkT25SZWFkeT0hMSxlLmZlYXR1cmVGbGFncz10aGlzLmZlYXR1cmVGbGFncyx0aGlzLnBsdWdpbnNDb250YWluZXIubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChlKTticmVhaztjYXNlIHV3dC5JRlJBTUU6aWYoIXRoaXMucGx1Z2luQXBpSG9zdCl0aHJvdyBFcnJvcihgSUZSQU1FLWJhc2VkIHBsdWdpbnMgbm90IHN1cHBvcnRlZDogJHt0LmlkfWApO2U9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksZS5zZXRBdHRyaWJ1dGUoInNyYyIsYGRhdGEvcGx1Z2luX2VudHJ5Lmh0bWw/bmFtZT0ke3QuaWR9YCksdGhpcy5wbHVnaW5BcGlIb3N0LnJlZ2lzdGVyUGx1Z2luSWZyYW1lKGUsdC5pZCksdGhpcy5wbHVnaW5zQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZSk7YnJlYWs7Y2FzZSB1d3QuTkdfQ09NUE9ORU5UOmNvbnN0IG49dGhpcy5wbHVnaW5SZWdpc3RyeS5nZXRDb21wb25lbnQodC5pZCk7aWYobil7Y29uc3QgdD10aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShuKTtlPXRoaXMubmdQbHVnaW5Db250YWluZXIuY3JlYXRlQ29tcG9uZW50KHQpLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnR9ZWxzZSBjb25zb2xlLmVycm9yKGBObyByZWdpc3RlcmVkIEFuZ3VsYXIgY29tcG9uZW50IGZvciBwbHVnaW46ICR7dC5pZH1gKTticmVhaztjYXNlIHV3dC5OT05FOmJyZWFrO2RlZmF1bHQ6Y29uc29sZS5lcnJvcigiVW5leHBlY3RlZCBwbHVnaW4iKX1yZXR1cm4gZX1yZWxvYWQodCxlKXtpZighZSYmdC5kaXNhYmxlX3JlbG9hZClyZXR1cm47Y29uc3Qgbj10aGlzLnBsdWdpbkluc3RhbmNlcy5nZXQodC5pZCk7biYmbi5yZWxvYWQmJm4ucmVsb2FkKCl9fUR3dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RHd0KShnZihHaCksZ2YoTVgpLGdmKFdJLDgpKX0sRHd0Lsm1Y21wPXNvKHt0eXBlOkR3dCxzZWxlY3RvcnM6W1sicGx1Z2lucy1jb21wb25lbnQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihWeShnd3QsNyxLaCksVnkoaHd0LDcsRmIpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLnBsdWdpbnNDb250YWluZXI9dC5maXJzdCksQnkodD1VeSgpKSYmKG4ubmdQbHVnaW5Db250YWluZXI9dC5maXJzdCl9fSxpbnB1dHM6e2FjdGl2ZVBsdWdpbklkOiJhY3RpdmVQbHVnaW5JZCIsYWN0aXZlS25vd25QbHVnaW46ImFjdGl2ZUtub3duUGx1Z2luIixwbHVnaW5Mb2FkU3RhdGU6InBsdWdpbkxvYWRTdGF0ZSIsZGF0YUxvY2F0aW9uOiJkYXRhTG9jYXRpb24iLGlzRmVhdHVyZUZsYWdzTG9hZGVkOiJpc0ZlYXR1cmVGbGFnc0xvYWRlZCIsc2V0dGluZ3NMb2FkU3RhdGU6InNldHRpbmdzTG9hZFN0YXRlIixmZWF0dXJlRmxhZ3M6ImZlYXR1cmVGbGFncyIsbGFzdFVwZGF0ZWQ6Imxhc3RVcGRhdGVkIixlbnZpcm9ubWVudEZhaWx1cmVOb3RGb3VuZFRlbXBsYXRlOiJlbnZpcm9ubWVudEZhaWx1cmVOb3RGb3VuZFRlbXBsYXRlIixlbnZpcm9ubWVudEZhaWx1cmVVbmtub3duVGVtcGxhdGU6ImVudmlyb25tZW50RmFpbHVyZVVua25vd25UZW1wbGF0ZSJ9LGZlYXR1cmVzOltxb10sZGVjbHM6OSx2YXJzOjQsY29uc3RzOltbMywibmdDbGFzcyJdLFsicGx1Z2luQ29udGFpbmVyIiwiIl0sWyJuZ1BsdWdpbkNvbnRhaW5lciIsIiJdLFsiY2xhc3MiLCJ3YXJuaW5nIiwzLCJuZ1N3aXRjaCIsNCwibmdJZiJdLFsiZW52aXJvbm1lbnRGYWlsdXJlRGVmYXVsdFRlbXBsYXRlIiwiIl0sWyJkYXRlQW5kRGF0YUxvY2F0aW9uIiwiIl0sWzEsIndhcm5pbmciLDMsIm5nU3dpdGNoIl0sWzEsIndhcm5pbmctbWVzc2FnZSJdLFs0LCJuZ1N3aXRjaENhc2UiXSxbNCwibmdUZW1wbGF0ZU91dGxldCJdLFsxLCJ1bmtub3duLXBsdWdpbiJdLFszLCJuZ1RlbXBsYXRlT3V0bGV0Il0sWzEsIm5vLWFjdGl2ZS1wbHVnaW4iXSxbImhyZWYiLCJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiXSxbImhyZWYiLCJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIl0sWyJocmVmIiwiaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyJdLFsxLCJlbnZpcm9ubWVudC1ub3QtbG9hZGVkIl0sWzEsImxhc3QtcmVsb2FkLXRpbWUiXSxbImNsYXNzIiwiZGF0YS1sb2NhdGlvbiIsNCwibmdJZiJdLFsxLCJkYXRhLWxvY2F0aW9uIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDAsMSksUGYoMixudWxsLDIpLE1mKCksSG0oNCx4d3QsNiw1LCJkaXYiLDMpLEhtKDUsT3d0LDYsMSwibmctdGVtcGxhdGUiLG51bGwsNCxxeSksSG0oNyx3d3QsNCw1LCJuZy10ZW1wbGF0ZSIsbnVsbCw1LHF5KSksMiZlJiYoYmYoIm5nQ2xhc3MiLGl5KDIsa3d0LChudWxsPT1uLmFjdGl2ZUtub3duUGx1Z2luP251bGw6bi5hY3RpdmVLbm93blBsdWdpbi5sb2FkaW5nX21lY2hhbmlzbS50eXBlKSE9PW4uTG9hZGluZ01lY2hhbmlzbVR5cGUuSUZSQU1FKSksRGMoNCksYmYoIm5nSWYiLG4ucGx1Z2luTG9hZFN0YXRlIT09bi5QbHVnaW5Mb2FkU3RhdGUuTE9BREVEJiZuLnBsdWdpbkxvYWRTdGF0ZSE9PW4uUGx1Z2luTG9hZFN0YXRlLkxPQURJTkcpKX0sZGlyZWN0aXZlczpbQ3YsUHYsRHYsUnYsSXZdLHBpcGVzOltZdl0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIxMjEyMTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5wbHVnaW5zLmlzLWZpcnN0LXBhcnR5LXBsdWdpbltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwO2NvbG9yOiNmZmZ9LnBsdWdpbnNbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS53YXJuaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOiNmZmY7Ym90dG9tOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLndhcm5pbmdbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAud2FybmluZ1tfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDojMzAzMDMwfS53YXJuaW5nLW1lc3NhZ2VbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiMyMTIxMjE7bWFyZ2luOjgwcHggYXV0byAwO21heC13aWR0aDo1NDBweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAud2FybmluZy1tZXNzYWdlW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLndhcm5pbmctbWVzc2FnZVtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6I2ZmZn0ubGFzdC1yZWxvYWQtdGltZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zdHlsZTppdGFsaWN9LnBsdWdpbnNbX25nY29udGVudC0lQ09NUCVdICAgICBpZnJhbWV7Ym9yZGVyOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihEd3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoicGx1Z2lucy1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL3BsdWdpbnNfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbInBsdWdpbnNfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpHaH0se3R5cGU6TVh9LHt0eXBlOldJLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19XX0pLHtwbHVnaW5zQ29udGFpbmVyOlt7dHlwZTphcixhcmdzOlsicGx1Z2luQ29udGFpbmVyIix7c3RhdGljOiEwLHJlYWQ6S2h9XX1dLG5nUGx1Z2luQ29udGFpbmVyOlt7dHlwZTphcixhcmdzOlsibmdQbHVnaW5Db250YWluZXIiLHtzdGF0aWM6ITAscmVhZDpGYn1dfV0sYWN0aXZlUGx1Z2luSWQ6W3t0eXBlOlJffV0sYWN0aXZlS25vd25QbHVnaW46W3t0eXBlOlJffV0scGx1Z2luTG9hZFN0YXRlOlt7dHlwZTpSX31dLGRhdGFMb2NhdGlvbjpbe3R5cGU6Ul99XSxpc0ZlYXR1cmVGbGFnc0xvYWRlZDpbe3R5cGU6Ul99XSxzZXR0aW5nc0xvYWRTdGF0ZTpbe3R5cGU6Ul99XSxmZWF0dXJlRmxhZ3M6W3t0eXBlOlJffV0sbGFzdFVwZGF0ZWQ6W3t0eXBlOlJffV0sZW52aXJvbm1lbnRGYWlsdXJlTm90Rm91bmRUZW1wbGF0ZTpbe3R5cGU6Ul99XSxlbnZpcm9ubWVudEZhaWx1cmVVbmtub3duVGVtcGxhdGU6W3t0eXBlOlJffV19KTtjb25zdCBSd3Q9YlMoblQsZVQsKCh0LGUpPT5lJiZ0W2VdP09iamVjdC5hc3NpZ24oe2lkOmV9LHRbZV0pOm51bGwpKTtjbGFzcyBFd3R7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuYWN0aXZlS25vd25QbHVnaW4kPXRoaXMuc3RvcmUuc2VsZWN0KFJ3dCksdGhpcy5hY3RpdmVQbHVnaW5JZCQ9dGhpcy5zdG9yZS5zZWxlY3QoZVQpLHRoaXMucGx1Z2luTG9hZFN0YXRlJD1LdCh0aGlzLmFjdGl2ZUtub3duUGx1Z2luJCx0aGlzLmFjdGl2ZVBsdWdpbklkJCx0aGlzLnN0b3JlLnNlbGVjdChKQSkpLnBpcGUoVnQoKChbdCxlLG5dKT0+bnVsbCE9PW4uZmFpbHVyZUNvZGU/bi5mYWlsdXJlQ29kZT09PUxFLk5PVF9GT1VORD9Td3QuRU5WSVJPTk1FTlRfRkFJTFVSRV9OT1RfRk9VTkQ6U3d0LkVOVklST05NRU5UX0ZBSUxVUkVfVU5LTk9XTjpudWxsIT09dD9Td3QuTE9BREVEOm51bGw9PT1uLmxhc3RMb2FkZWRUaW1lSW5NcyYmbi5zdGF0ZT09PVVFLkxPQURJTkc/U3d0LkxPQURJTkc6ZT9Td3QuVU5LTk9XTl9QTFVHSU5fSUQ6U3d0Lk5PX0VOQUJMRURfUExVR0lOUykpKSx0aGlzLmxhc3RMb2FkZWRUaW1lSW5NcyQ9dGhpcy5zdG9yZS5zZWxlY3QodFQpLHRoaXMuZGF0YUxvY2F0aW9uJD10aGlzLnN0b3JlLnNlbGVjdChvVCkucGlwZShWdCgodD0+dC5kYXRhX2xvY2F0aW9uKSkpLHRoaXMuaXNGZWF0dXJlRmxhZ3NMb2FkZWQkPXRoaXMuc3RvcmUuc2VsZWN0KE5EKSx0aGlzLmZlYXR1cmVGbGFncyQ9dGhpcy5zdG9yZS5zZWxlY3QoekQpLHRoaXMuc2V0dGluZ3NMb2FkU3RhdGUkPXRoaXMuc3RvcmUuc2VsZWN0KGZJKX19RXd0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxFd3QpKGdmKGlTKSl9LEV3dC7JtWNtcD1zbyh7dHlwZTpFd3Qsc2VsZWN0b3JzOltbInBsdWdpbnMiXV0saW5wdXRzOntlbnZpcm9ubWVudEZhaWx1cmVOb3RGb3VuZFRlbXBsYXRlOiJlbnZpcm9ubWVudEZhaWx1cmVOb3RGb3VuZFRlbXBsYXRlIixlbnZpcm9ubWVudEZhaWx1cmVVbmtub3duVGVtcGxhdGU6ImVudmlyb25tZW50RmFpbHVyZVVua25vd25UZW1wbGF0ZSJ9LGRlY2xzOjksdmFyczoyNixjb25zdHM6W1szLCJhY3RpdmVLbm93blBsdWdpbiIsImFjdGl2ZVBsdWdpbklkIiwiZGF0YUxvY2F0aW9uIiwibGFzdFVwZGF0ZWQiLCJwbHVnaW5Mb2FkU3RhdGUiLCJpc0ZlYXR1cmVGbGFnc0xvYWRlZCIsInNldHRpbmdzTG9hZFN0YXRlIiwiZmVhdHVyZUZsYWdzIiwiZW52aXJvbm1lbnRGYWlsdXJlTm90Rm91bmRUZW1wbGF0ZSIsImVudmlyb25tZW50RmFpbHVyZVVua25vd25UZW1wbGF0ZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwicGx1Z2lucy1jb21wb25lbnQiLDApLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIiksX3koNSwiYXN5bmMiKSxfeSg2LCJhc3luYyIpLF95KDcsImFzeW5jIiksX3koOCwiYXN5bmMiKSksMiZlJiZiZigiYWN0aXZlS25vd25QbHVnaW4iLEN5KDEsMTAsbi5hY3RpdmVLbm93blBsdWdpbiQpKSgiYWN0aXZlUGx1Z2luSWQiLEN5KDIsMTIsbi5hY3RpdmVQbHVnaW5JZCQpKSgiZGF0YUxvY2F0aW9uIixDeSgzLDE0LG4uZGF0YUxvY2F0aW9uJCkpKCJsYXN0VXBkYXRlZCIsQ3koNCwxNixuLmxhc3RMb2FkZWRUaW1lSW5NcyQpKSgicGx1Z2luTG9hZFN0YXRlIixDeSg1LDE4LG4ucGx1Z2luTG9hZFN0YXRlJCkpKCJpc0ZlYXR1cmVGbGFnc0xvYWRlZCIsQ3koNiwyMCxuLmlzRmVhdHVyZUZsYWdzTG9hZGVkJCkpKCJzZXR0aW5nc0xvYWRTdGF0ZSIsQ3koNywyMixuLnNldHRpbmdzTG9hZFN0YXRlJCkpKCJmZWF0dXJlRmxhZ3MiLEN5KDgsMjQsbi5mZWF0dXJlRmxhZ3MkKSkoImVudmlyb25tZW50RmFpbHVyZU5vdEZvdW5kVGVtcGxhdGUiLG4uZW52aXJvbm1lbnRGYWlsdXJlTm90Rm91bmRUZW1wbGF0ZSkoImVudmlyb25tZW50RmFpbHVyZVVua25vd25UZW1wbGF0ZSIsbi5lbnZpcm9ubWVudEZhaWx1cmVVbmtub3duVGVtcGxhdGUpfSxzdHlsZXM6WyJwbHVnaW5zLWNvbXBvbmVudFtfbmdjb250ZW50LSVDT01QJV0geyBoZWlnaHQ6IDEwMCU7IH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRXd0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InBsdWdpbnMiLHRlbXBsYXRlOidcbiAgICA8cGx1Z2lucy1jb21wb25lbnRcbiAgICAgIFthY3RpdmVLbm93blBsdWdpbl09ImFjdGl2ZUtub3duUGx1Z2luJCB8IGFzeW5jIlxuICAgICAgW2FjdGl2ZVBsdWdpbklkXT0iYWN0aXZlUGx1Z2luSWQkIHwgYXN5bmMiXG4gICAgICBbZGF0YUxvY2F0aW9uXT0iZGF0YUxvY2F0aW9uJCB8IGFzeW5jIlxuICAgICAgW2xhc3RVcGRhdGVkXT0ibGFzdExvYWRlZFRpbWVJbk1zJCB8IGFzeW5jIlxuICAgICAgW3BsdWdpbkxvYWRTdGF0ZV09InBsdWdpbkxvYWRTdGF0ZSQgfCBhc3luYyJcbiAgICAgIFtpc0ZlYXR1cmVGbGFnc0xvYWRlZF09ImlzRmVhdHVyZUZsYWdzTG9hZGVkJCB8IGFzeW5jIlxuICAgICAgW3NldHRpbmdzTG9hZFN0YXRlXT0ic2V0dGluZ3NMb2FkU3RhdGUkIHwgYXN5bmMiXG4gICAgICBbZmVhdHVyZUZsYWdzXT0iZmVhdHVyZUZsYWdzJCB8IGFzeW5jIlxuICAgICAgW2Vudmlyb25tZW50RmFpbHVyZU5vdEZvdW5kVGVtcGxhdGVdPSJlbnZpcm9ubWVudEZhaWx1cmVOb3RGb3VuZFRlbXBsYXRlIlxuICAgICAgW2Vudmlyb25tZW50RmFpbHVyZVVua25vd25UZW1wbGF0ZV09ImVudmlyb25tZW50RmFpbHVyZVVua25vd25UZW1wbGF0ZSJcbiAgICA+PC9wbHVnaW5zLWNvbXBvbmVudD5cbiAgJyxzdHlsZXM6WyJwbHVnaW5zLWNvbXBvbmVudCB7IGhlaWdodDogMTAwJTsgfSJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse2Vudmlyb25tZW50RmFpbHVyZU5vdEZvdW5kVGVtcGxhdGU6W3t0eXBlOlJffV0sZW52aXJvbm1lbnRGYWlsdXJlVW5rbm93blRlbXBsYXRlOlt7dHlwZTpSX31dfSk7Y2xhc3MgQXd0e31Bd3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEF3dCl9LEF3dC7JtW1vZD1mbyh7dHlwZTpBd3R9KSxBd3QuybVpbmo9RG4oe2ltcG9ydHM6W1tkVCxyeCxNWF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihBd3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W0V3dCxEd3RdLGV4cG9ydHM6W0V3dF0saW1wb3J0czpbZFQscngsTVhdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oQXd0LHtkZWNsYXJhdGlvbnM6W0V3dCxEd3RdLGltcG9ydHM6W2RULHJ4LE1YXSxleHBvcnRzOltFd3RdfSksbG8oRXd0LFtEd3RdLFtWdl0pO2NsYXNzIFR3dHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuc3RvcmU9dCx0aGlzLmRvY3VtZW50PWUsdGhpcy5vblZpc2liaWxpdHlDaGFuZ2U9dGhpcy5vblZpc2liaWxpdHlDaGFuZ2VJbXBsLmJpbmQodGhpcyksdGhpcy5yZWxvYWRFbmFibGVkJD10aGlzLnN0b3JlLnBpcGUoclModUkpKSx0aGlzLnJlbG9hZFBlcmlvZEluTXMkPXRoaXMuc3RvcmUucGlwZShyUyhnSSkpLHRoaXMucmVsb2FkVGltZXJJZD1udWxsLHRoaXMubWlzc2VkQXV0b1JlbG9hZD0hMX1uZ09uSW5pdCgpe3RoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsdGhpcy5vblZpc2liaWxpdHlDaGFuZ2UpLEt0KHRoaXMucmVsb2FkRW5hYmxlZCQucGlwZSh3ZSgpKSx0aGlzLnJlbG9hZFBlcmlvZEluTXMkLnBpcGUod2UoKSkpLnN1YnNjcmliZSgoKFt0LGVdKT0+e3RoaXMuY2FuY2VsTG9hZCgpLHQmJnRoaXMubG9hZChlKX0pKX1vblZpc2liaWxpdHlDaGFuZ2VJbXBsKCl7InZpc2libGUiPT09dGhpcy5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJnRoaXMubWlzc2VkQXV0b1JlbG9hZCYmKHRoaXMubWlzc2VkQXV0b1JlbG9hZD0hMSx0aGlzLnN0b3JlLmRpc3BhdGNoKFFFKCkpKX1sb2FkKHQpe3RoaXMucmVsb2FkVGltZXJJZD1zZXRUaW1lb3V0KCgoKT0+eyJ2aXNpYmxlIj09PXRoaXMuZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlP3RoaXMuc3RvcmUuZGlzcGF0Y2goUUUoKSk6dGhpcy5taXNzZWRBdXRvUmVsb2FkPSEwLHRoaXMubG9hZCh0KX0pLHQpfWNhbmNlbExvYWQoKXtudWxsIT09dGhpcy5yZWxvYWRUaW1lcklkJiZjbGVhclRpbWVvdXQodGhpcy5yZWxvYWRUaW1lcklkKSx0aGlzLnJlbG9hZFRpbWVySWQ9bnVsbH1uZ09uRGVzdHJveSgpe3RoaXMuY2FuY2VsTG9hZCgpLHRoaXMuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsdGhpcy5vblZpc2liaWxpdHlDaGFuZ2UpfX1Ud3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFR3dCkoZ2YoaVMpLGdmKHNNKSl9LFR3dC7JtWNtcD1zbyh7dHlwZTpUd3Qsc2VsZWN0b3JzOltbInJlbG9hZGVyIl1dLGRlY2xzOjAsdmFyczowLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXt9LGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVHd0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InJlbG9hZGVyIix0ZW1wbGF0ZToiIixjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9LHt0eXBlOkRvY3VtZW50LGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjbGFzcyBOd3R7fU53dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Tnd0KX0sTnd0Lsm1Y21wPXNvKHt0eXBlOk53dCxzZWxlY3RvcnM6W1sidGVuc29yYm9hcmQtd3JhcHBlci1jb21wb25lbnQiXV0sZGVjbHM6Mix2YXJzOjAsY29uc3RzOltbMSwicGx1Z2lucyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwicGx1Z2lucyIsMCksdmYoMSwicmVsb2FkZXIiKSl9LGRpcmVjdGl2ZXM6W0V3dCxUd3RdLHN0eWxlczpbIltfbmdob3N0LSVDT01QJV0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5wbHVnaW5zW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gICAgICAgIGZsZXg6IDEgMTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTnd0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRlbnNvcmJvYXJkLXdyYXBwZXItY29tcG9uZW50Iix0ZW1wbGF0ZTonXG4gICAgPHBsdWdpbnMgY2xhc3M9InBsdWdpbnMiPjwvcGx1Z2lucz5cbiAgICA8cmVsb2FkZXI+PC9yZWxvYWRlcj5cbiAgJyxzdHlsZXM6WyJcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAucGx1Z2lucyB7XG4gICAgICAgIGZsZXg6IDEgMTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLG51bGwpO2NsYXNzIHp3dHt9end0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx6d3QpfSx6d3QuybVwcm92PVNuKHt0b2tlbjp6d3QsZmFjdG9yeTp6d3QuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHp3dCxbe3R5cGU6VW19XSxudWxsLG51bGwpO2NvbnN0IEl3dD0ic21vb3RoaW5nIixId3Q9InJ1bkNvbG9yR3JvdXAiLEZ3dD0idGFnRmlsdGVyIixMd3Q9InJ1bkZpbHRlciIsQnd0PSJyZWdleDoiO2xldCBWd3Q9Y2xhc3MgZXh0ZW5kcyB6d3R7Z2V0TWV0cmljc1Bpbm5lZENhcmRzKHQpe3JldHVybiBLdChbdC5zZWxlY3QoY3opLHQuc2VsZWN0KHB6KV0pLnBpcGUoVnQoKChbdCxlXSk9PntpZighdC5sZW5ndGgmJiFlLmxlbmd0aClyZXR1cm5bXTtjb25zdCBuPVsuLi50Lm1hcCgoKHtwbHVnaW46dCx0YWc6ZSxzYW1wbGU6bixydW5JZDpvfSk9Pntjb25zdCBpPXtwbHVnaW46dCx0YWc6ZX07cmV0dXJuIG9OKHQpJiYoaS5ydW5JZD1vKSxlTih0KSYmKGkuc2FtcGxlPW4pLGl9KSksLi4uZV07cmV0dXJuW3trZXk6InBpbm5lZENhcmRzIix2YWx1ZTpKU09OLnN0cmluZ2lmeShuKX1dfSkpKX1nZXRGZWF0dXJlRmxhZ1N0YXRlcyh0KXtyZXR1cm4gS3QoW3Quc2VsZWN0KEJEKSx0LnNlbGVjdChJRCldKS5waXBlKFZ0KCgoW3QsZV0pPT57Y29uc3Qgbj10Lm1hcCgodD0+KHtrZXk6aE4sdmFsdWU6dH0pKSk7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgZS5lbmFibGVkQ29sb3JHcm91cCYmbi5wdXNoKHtrZXk6X04sdmFsdWU6U3RyaW5nKGUuZW5hYmxlZENvbG9yR3JvdXApfSksImJvb2xlYW4iPT10eXBlb2YgZS5lbmFibGVkQ29sb3JHcm91cEJ5UmVnZXgmJm4ucHVzaCh7a2V5OkNOLHZhbHVlOlN0cmluZyhlLmVuYWJsZWRDb2xvckdyb3VwQnlSZWdleCl9KSxufSkpKX1zZXJpYWxpemVTdGF0ZVRvUXVlcnlQYXJhbXModCl7cmV0dXJuIEt0KFt0aGlzLmdldE1ldHJpY3NQaW5uZWRDYXJkcyh0KSx0LnNlbGVjdChQeikucGlwZShWdCgodD0+dD9be2tleTpGd3QsdmFsdWU6dH1dOltdKSkpLHRoaXMuZ2V0RmVhdHVyZUZsYWdTdGF0ZXModCksdC5zZWxlY3QodXopLnBpcGUoVnQoKHQ9Pk51bWJlci5pc0Zpbml0ZSh0LnNjYWxhclNtb290aGluZyk/W3trZXk6SXd0LHZhbHVlOlN0cmluZyh0LnNjYWxhclNtb290aGluZyl9XTpbXSkpKSx0LnNlbGVjdChReikucGlwZShWdCgodD0+e2lmKCF0KXJldHVybltdO2xldCBlO3N3aXRjaCh0LmtleSl7Y2FzZSBMei5FWFBFUklNRU5UOmU9ImV4cGVyaW1lbnQiO2JyZWFrO2Nhc2UgTHouUlVOOmU9InJ1biI7YnJlYWs7Y2FzZSBMei5SRUdFWDplPWByZWdleDoke3QucmVnZXhTdHJpbmd9YDticmVhaztkZWZhdWx0OnRocm93IG5ldyBSYW5nZUVycm9yKCJTZXJpYWxpemF0aW9uIG5vdCBpbXBsZW1lbnRlZCIpfXJldHVyblt7a2V5Okh3dCx2YWx1ZTplfV19KSkpLHQuc2VsZWN0KHRJKS5waXBlKFZ0KCh0PT50P1t7a2V5Okx3dCx2YWx1ZTp0fV06W10pKSldKS5waXBlKFZ0KCh0PT50LmZsYXQoKSkpKX1kZXNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKHQpe2xldCBlPW51bGwsbj1udWxsLG89bnVsbCxpPW51bGwsYT1udWxsO2Zvcihjb25zdHtrZXk6cix2YWx1ZTpzfW9mIHQpc3dpdGNoKHIpe2Nhc2UicGlubmVkQ2FyZHMiOmU9and0KHMpO2JyZWFrO2Nhc2UgSXd0Om49TnVtYmVyKHMpO2JyZWFrO2Nhc2UgSHd0OnN3aXRjaChzKXtjYXNlImV4cGVyaW1lbnQiOmk9e2tleTpMei5FWFBFUklNRU5UfTticmVhaztjYXNlInJ1biI6aT17a2V5Okx6LlJVTn19aWYocy5zdGFydHNXaXRoKEJ3dCkpe2NvbnN0IHQ9cy5zbGljZShCd3QubGVuZ3RoKTtpPXtrZXk6THouUkVHRVgscmVnZXhTdHJpbmc6dH19YnJlYWs7Y2FzZSBGd3Q6bz1zO2JyZWFrO2Nhc2UgTHd0OmE9c31yZXR1cm57bWV0cmljczp7cGlubmVkQ2FyZHM6ZXx8W10sc21vb3RoaW5nOm4sdGFnRmlsdGVyOm99LHJ1bnM6e2dyb3VwQnk6aSxyZWdleEZpbHRlcjphfX19fTtmdW5jdGlvbiBqd3QodCl7bGV0IGU7dHJ5e2U9SlNPTi5wYXJzZSh0KX1jYXRjaCh0KXtyZXR1cm4gbnVsbH1pZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gbnVsbDtjb25zdCBuPVtdO2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9InN0cmluZyI9PXR5cGVvZiB0LnJ1bklkLGk9Im51bWJlciI9PXR5cGVvZiB0LnNhbXBsZSxhPSJzdHJpbmciPT10eXBlb2YgdC50YWcscj1lfHx2b2lkIDA9PT10LnJ1bklkLHM9aXx8dm9pZCAwPT09dC5zYW1wbGU7aWYoISgic3RyaW5nIj09dHlwZW9mIHQucGx1Z2luJiZhJiZyJiZzKSljb250aW51ZTtpZigobz10LnBsdWdpbikhPT1LVC5TQ0FMQVJTJiZvIT09S1QuSElTVE9HUkFNUyYmbyE9PUtULklNQUdFUyljb250aW51ZTtpZighdC50YWcpY29udGludWU7aWYob04odC5wbHVnaW4pKXtpZighdC5ydW5JZCljb250aW51ZX1lbHNlIGlmKHQucnVuSWQpY29udGludWU7aWYoaSl7aWYoIWVOKHQucGx1Z2luKSljb250aW51ZTtpZighTnVtYmVyLmlzSW50ZWdlcih0LnNhbXBsZSl8fHQuc2FtcGxlPDApY29udGludWV9Y29uc3QgbD17cGx1Z2luOnQucGx1Z2luLHRhZzp0LnRhZ307ZSYmKGwucnVuSWQ9dC5ydW5JZCksaSYmKGwuc2FtcGxlPXQuc2FtcGxlKSxuLnB1c2gobCl9dmFyIG87cmV0dXJuIG59ZnVuY3Rpb24gVXd0KCl7cmV0dXJuW3tyb3V0ZUtpbmQ6X0QuRVhQRVJJTUVOVCxwYXRoOiIvIixuZ0NvbXBvbmVudDpOd3QsZGVmYXVsdFJvdXRlOiEwLGRlZXBMaW5rUHJvdmlkZXI6bmV3IFZ3dH1dfWZ1bmN0aW9uIFd3dCh0KXtyZXR1cm4oZSxuKT0+e2NvbnN0IG89dChlLG4pO3JldHVybiBjb25zb2xlLmdyb3VwQ29sbGFwc2VkKG4udHlwZSksY29uc29sZS5sb2coInByZXYgc3RhdGUiLGUpLGNvbnNvbGUubG9nKCJhY3Rpb24iLG4pLGNvbnNvbGUubG9nKCJuZXh0IHN0YXRlIixvKSxjb25zb2xlLmdyb3VwRW5kKCksb319ZnVuY3Rpb24gR3d0KCl7cmV0dXJuIFBDKCk/V3d0OnQ9PihlLG4pPT50KGUsbil9Vnd0PShmdW5jdGlvbiBZd3QodCxlLG4sbyl7dmFyIGksYT1hcmd1bWVudHMubGVuZ3RoLHI9YTwzP2U6bnVsbD09PW8/bz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsbik6bztpZigib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJiJmdW5jdGlvbiI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKXI9UmVmbGVjdC5kZWNvcmF0ZSh0LGUsbixvKTtlbHNlIGZvcih2YXIgcz10Lmxlbmd0aC0xO3M+PTA7cy0tKShpPXRbc10pJiYocj0oYTwzP2kocik6YT4zP2koZSxuLHIpOmkoZSxuKSl8fHIpO3JldHVybiBhPjMmJnImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4scikscn0pKFtVbSgpXSxWd3QpO2NvbnN0IHF3dD1uZXcgZXIoIlJvb3QgcmVkdWNlcnMgdG9rZW4iLHtmYWN0b3J5OigpPT4oe30pfSk7Y2xhc3MgWnd0e31ad3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFp3dCl9LFp3dC7JtW1vZD1mbyh7dHlwZTpad3R9KSxad3QuybVpbmo9RG4oe3Byb3ZpZGVyczpbe3Byb3ZpZGU6TGssdXNlRmFjdG9yeTpHd3QsbXVsdGk6ITB9XSxpbXBvcnRzOltbVFMuZm9yUm9vdChxd3Qse3J1bnRpbWVDaGVja3M6e3N0cmljdFN0YXRlSW1tdXRhYmlsaXR5OiEwLHN0cmljdEFjdGlvbkltbXV0YWJpbGl0eTohMCxzdHJpY3RBY3Rpb25TZXJpYWxpemFiaWxpdHk6ITEsc3RyaWN0U3RhdGVTZXJpYWxpemFiaWxpdHk6ITF9fSksaEQuZm9yUm9vdChbXSldXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWnd0LFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbVFMuZm9yUm9vdChxd3Qse3J1bnRpbWVDaGVja3M6e3N0cmljdFN0YXRlSW1tdXRhYmlsaXR5OiEwLHN0cmljdEFjdGlvbkltbXV0YWJpbGl0eTohMCxzdHJpY3RBY3Rpb25TZXJpYWxpemFiaWxpdHk6ITEsc3RyaWN0U3RhdGVTZXJpYWxpemFiaWxpdHk6ITF9fSksaEQuZm9yUm9vdChbXSldLHByb3ZpZGVyczpbe3Byb3ZpZGU6TGssdXNlRmFjdG9yeTpHd3QsbXVsdGk6ITB9XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFp3dCx7aW1wb3J0czpbRVMsdURdfSk7Y2xhc3MgWHd0e31Yd3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFh3dCl9LFh3dC7JtW1vZD1mbyh7dHlwZTpYd3R9KSxYd3QuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWHd0LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltUd3RdLGV4cG9ydHM6W1R3dF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhYd3Qse2RlY2xhcmF0aW9uczpbVHd0XSxleHBvcnRzOltUd3RdfSk7Y2xhc3MgS3d0e31Ld3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEt3dCl9LEt3dC7JtW1vZD1mbyh7dHlwZTpLd3R9KSxLd3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxBd3QsWHd0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEt3dCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbTnd0XSxpbXBvcnRzOltyeCxBd3QsWHd0XSxleHBvcnRzOltOd3RdLGVudHJ5Q29tcG9uZW50czpbTnd0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEt3dCx7ZGVjbGFyYXRpb25zOltOd3RdLGltcG9ydHM6W3J4LEF3dCxYd3RdLGV4cG9ydHM6W053dF19KTtjbGFzcyBKd3R7fUp3dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Snd0KX0sSnd0Lsm1bW9kPWZvKHt0eXBlOkp3dCxib290c3RyYXA6W3RYXX0pLEp3dC7JtWluaj1Ebih7aW1wb3J0czpbW0lOLGRPLGhrLFJSLG5YLGZSLnJlZ2lzdGVyUm91dGVzKFV3dCksRlYsSFYsb1gsS3d0LGRULGRYLGFYLGJYLExULHlYLHJYLEtSLFdJLEF3dCxUSSxnWCxad3QsZnd0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEp3dCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbdFhdLGltcG9ydHM6W0lOLGRPLGhrLFJSLG5YLGZSLnJlZ2lzdGVyUm91dGVzKFV3dCksRlYsSFYsb1gsS3d0LGRULGRYLGFYLGJYLExULHlYLHJYLEtSLFdJLEF3dCxUSSxnWCxad3QsZnd0XSxib290c3RyYXA6W3RYXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEp3dCx7ZGVjbGFyYXRpb25zOlt0WF0saW1wb3J0czpbSU4sZE8saGssUlIsblgsZlIsRlYsSFYsb1gsS3d0LGRULGRYLGFYLGJYLExULHlYLHJYLEtSLFdJLEF3dCxUSSxnWCxad3QsZnd0XX0pLCJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/YU8oKS5ib290c3RyYXBNb2R1bGUoSnd0KTp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT57YU8oKS5ib290c3RyYXBNb2R1bGUoSnd0KX0pKSwoZnVuY3Rpb24gUXd0KCl7aWYoT0MpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZW5hYmxlIHByb2QgbW9kZSBhZnRlciBwbGF0Zm9ybSBzZXR1cC4iKTsodm9pZCAwPT09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmKFhuLm5nRGV2TW9kZT0hMSkseEM9ITF9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykoKX0pKCk7Cg==","ok":true,"headers":[["content-type","application/javascript; charset=utf-8"]],"status":200,"status_text":""},"https://localhost:6006/icon_bundle.svg":{"data":"PD94bWwgdmVyc2lvbj0iMS4wIiA/Pjxzdmc+PGRlZnM+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iYXJyb3dfZG93bndhcmRfMjRweCI+PHBhdGggZmlsbD0iIzAxMDEwMSIgZD0iTTIwIDEybC0xLjQxLTEuNDFMMTMgMTYuMTdWNGgtMnYxMi4xN2wtNS41OC01LjU5TDQgMTJsOCA4IDgtOHoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGlkPSJhcnJvd191cHdhcmRfMjRweCI+PHBhdGggZD0iTTQgMTJsMS40MSAxLjQxTDExIDcuODNWMjBoMlY3LjgzbDUuNTggNS41OUwyMCAxMmwtOC04LTggOHoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJicmlnaHRuZXNzXzZfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0yMCAxNS4zMUwyMy4zMSAxMiAyMCA4LjY5VjRoLTQuNjlMMTIgLjY5IDguNjkgNEg0djQuNjlMLjY5IDEyIDQgMTUuMzFWMjBoNC42OUwxMiAyMy4zMSAxNS4zMSAyMEgyMHYtNC42OXpNMTIgMThWNmMzLjMxIDAgNiAyLjY5IDYgNnMtMi42OSA2LTYgNnoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJidWdfcmVwb3J0XzI0cHgiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMjAgOGgtMi44MWMtLjQ1LS43OC0xLjA3LTEuNDUtMS44Mi0xLjk2TDE3IDQuNDEgMTUuNTkgM2wtMi4xNyAyLjE3QzEyLjk2IDUuMDYgMTIuNDkgNSAxMiA1Yy0uNDkgMC0uOTYuMDYtMS40MS4xN0w4LjQxIDMgNyA0LjQxbDEuNjIgMS42M0M3Ljg4IDYuNTUgNy4yNiA3LjIyIDYuODEgOEg0djJoMi4wOWMtLjA1LjMzLS4wOS42Ni0uMDkgMXYxSDR2MmgydjFjMCAuMzQuMDQuNjcuMDkgMUg0djJoMi44MWMxLjA0IDEuNzkgMi45NyAzIDUuMTkgM3M0LjE1LTEuMjEgNS4xOS0zSDIwdi0yaC0yLjA5Yy4wNS0uMzMuMDktLjY2LjA5LTF2LTFoMnYtMmgtMnYtMWMwLS4zNC0uMDQtLjY3LS4wOS0xSDIwVjh6bS02IDhoLTR2LTJoNHYyem0wLTRoLTR2LTJoNHYyeiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9ImNhbmNlbF8yNHB4Ij48cGF0aCBkPSJNMTIgMkM2LjQ3IDIgMiA2LjQ3IDIgMTJzNC40NyAxMCAxMCAxMCAxMC00LjQ3IDEwLTEwUzE3LjUzIDIgMTIgMnptNSAxMy41OUwxNS41OSAxNyAxMiAxMy40MSA4LjQxIDE3IDcgMTUuNTkgMTAuNTkgMTIgNyA4LjQxIDguNDEgNyAxMiAxMC41OSAxNS41OSA3IDE3IDguNDEgMTMuNDEgMTIgMTcgMTUuNTl6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iY2hldnJvbl9sZWZ0XzI0cHgiPjxwYXRoIGQ9Ik0xNS40MSA3LjQxTDE0IDZsLTYgNiA2IDYgMS40MS0xLjQxTDEwLjgzIDEyeiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9ImNoZXZyb25fcmlnaHRfMjRweCI+PHBhdGggZD0iTTEwIDZMOC41OSA3LjQxIDEzLjE3IDEybC00LjU4IDQuNTlMMTAgMThsNi02eiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9ImNsZWFyXzI0cHgiPjxwYXRoIGQ9Ik0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0iY2xvc2VfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iY29udGVudF9jb3B5XzI0cHgiPjxwYXRoIGQ9Ik0xNiAxSDRjLTEuMSAwLTIgLjktMiAydjE0aDJWM2gxMlYxem0zIDRIOGMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxMWMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0wIDE2SDhWN2gxMXYxNHoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0iZGFya19tb2RlXzI0cHgiPjxyZWN0IGZpbGw9Im5vbmUiIGhlaWdodD0iMjQiIHdpZHRoPSIyNCIvPjxwYXRoIGQ9Ik0xMiwzYy00Ljk3LDAtOSw0LjAzLTksOXM0LjAzLDksOSw5czktNC4wMyw5LTljMC0wLjQ2LTAuMDQtMC45Mi0wLjEtMS4zNmMtMC45OCwxLjM3LTIuNTgsMi4yNi00LjQsMi4yNiBjLTIuOTgsMC01LjQtMi40Mi01LjQtNS40YzAtMS44MSwwLjg5LTMuNDIsMi4yNi00LjRDMTIuOTIsMy4wNCwxMi40NiwzLDEyLDNMMTIsM3oiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGlkPSJkb25lXzI0cHgiPjxwYXRoIGQ9Ik05IDE2LjJMNC44IDEybC0xLjQgMS40TDkgMTkgMjEgN2wtMS40LTEuNEw5IDE2LjJ6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0iZHJhZ19pbmRpY2F0b3JfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTExIDE4YzAgMS4xLS45IDItMiAycy0yLS45LTItMiAuOS0yIDItMiAyIC45IDIgMnptLTItOGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bTAtNmMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bTYgNGMxLjEgMCAyLS45IDItMnMtLjktMi0yLTItMiAuOS0yIDIgLjkgMiAyIDJ6bTAgMmMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bTAgNmMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0iZWRpdF8yNHB4Ij48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGlkPSJlcnJvcl8yNHB4Ij48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMSAxNWgtMnYtMmgydjJ6bTAtNGgtMlY3aDJ2NnoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGlkPSJleHBhbmRfbGVzc18yNHB4Ij48cGF0aCBkPSJNMTIgOGwtNiA2IDEuNDEgMS40MUwxMiAxMC44M2w0LjU5IDQuNThMMTggMTR6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iZXhwYW5kX21vcmVfMjRweCI+PHBhdGggZD0iTTE2LjU5IDguNTlMMTIgMTMuMTcgNy40MSA4LjU5IDYgMTBsNiA2IDYtNnoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0iZmlsdGVyX2FsdF8yNHB4Ij48Zz48cGF0aCBkPSJNMCwwaDI0IE0yNCwyNEgwIiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTQuMjUsNS42MUM2LjI3LDguMiwxMCwxMywxMCwxM3Y2YzAsMC41NSwwLjQ1LDEsMSwxaDJjMC41NSwwLDEtMC40NSwxLTF2LTZjMCwwLDMuNzItNC44LDUuNzQtNy4zOSBDMjAuMjUsNC45NSwxOS43OCw0LDE4Ljk1LDRINS4wNEM0LjIxLDQsMy43NCw0Ljk1LDQuMjUsNS42MXoiLz48cGF0aCBkPSJNMCwwaDI0djI0SDBWMHoiIGZpbGw9Im5vbmUiLz48L2c+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iZmxhZ18yNHB4Ij48cGF0aCBkPSJNMTQuNCA2TDE0IDRINXYxN2gydi03aDUuNmwuNCAyaDdWNnoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJmdWxsc2NyZWVuXzI0cHgiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNNyAxNEg1djVoNXYtMkg3di0zem0tMi00aDJWN2gzVjVINXY1em0xMiA3aC0zdjJoNXYtNWgtMnYzek0xNCA1djJoM3YzaDJWNWgtNXoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJmdWxsc2NyZWVuX2V4aXRfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik01IDE2aDN2M2gydi01SDV2MnptMy04SDV2Mmg1VjVIOHYzem02IDExaDJ2LTNoM3YtMmgtNXY1em0yLTExVjVoLTJ2NWg1VjhoLTN6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iZ2V0X2FwcF8yNHB4Ij48cGF0aCBkPSJNMTkgOWgtNFYzSDl2Nkg1bDcgNyA3LTd6TTUgMTh2MmgxNHYtMkg1eiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9Imdyb3VwX3dvcmtfMjRweCI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6TTggMTcuNWMtMS4zOCAwLTIuNS0xLjEyLTIuNS0yLjVzMS4xMi0yLjUgMi41LTIuNSAyLjUgMS4xMiAyLjUgMi41LTEuMTIgMi41LTIuNSAyLjV6TTkuNSA4YzAtMS4zOCAxLjEyLTIuNSAyLjUtMi41czIuNSAxLjEyIDIuNSAyLjUtMS4xMiAyLjUtMi41IDIuNVM5LjUgOS4zOCA5LjUgOHptNi41IDkuNWMtMS4zOCAwLTIuNS0xLjEyLTIuNS0yLjVzMS4xMi0yLjUgMi41LTIuNSAyLjUgMS4xMiAyLjUgMi41LTEuMTIgMi41LTIuNSAyLjV6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iaGVscF9vdXRsaW5lXzI0cHgiPjxwYXRoIGQ9Ik0xMSAxOGgydi0yaC0ydjJ6bTEtMTZDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4em0wLTE0Yy0yLjIxIDAtNCAxLjc5LTQgNGgyYzAtMS4xLjktMiAyLTJzMiAuOSAyIDJjMCAyLTMgMS43NS0zIDVoMmMwLTIuMjUgMy0yLjUgMy01IDAtMi4yMS0xLjc5LTQtNC00eiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaWQ9ImltYWdlX3NlYXJjaF8yNHB4Ij48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE4IDEzdjdINFY2aDUuMDJjLjA1LS43MS4yMi0xLjM4LjQ4LTJINGMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtNWwtMi0yem0tMS41IDVoLTExbDIuNzUtMy41MyAxLjk2IDIuMzYgMi43NS0zLjU0em0yLjgtOS4xMWMuNDQtLjcuNy0xLjUxLjctMi4zOUMyMCA0LjAxIDE3Ljk5IDIgMTUuNSAyUzExIDQuMDEgMTEgNi41czIuMDEgNC41IDQuNDkgNC41Yy44OCAwIDEuNy0uMjYgMi4zOS0uN0wyMSAxMy40MiAyMi40MiAxMiAxOS4zIDguODl6TTE1LjUgOUMxNC4xMiA5IDEzIDcuODggMTMgNi41UzE0LjEyIDQgMTUuNSA0IDE4IDUuMTIgMTggNi41IDE2Ljg4IDkgMTUuNSA5eiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9ImluZm9fb3V0bGluZV8yNHB4Ij48cGF0aCBkPSJNMTEgMTdoMnYtNmgtMnY2em0xLTE1QzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHpNMTEgOWgyVjdoLTJ2MnoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0ia2VlcF8yNHB4Ij48Zz48cmVjdCBmaWxsPSJub25lIiBoZWlnaHQ9IjI0IiB3aWR0aD0iMjQiLz48L2c+PGc+PHBhdGggZD0iTTE2LDlWNGwxLDBjMC41NSwwLDEtMC40NSwxLTF2MGMwLTAuNTUtMC40NS0xLTEtMUg3QzYuNDUsMiw2LDIuNDUsNiwzdjAgYzAsMC41NSwwLjQ1LDEsMSwxbDEsMHY1YzAsMS42Ni0xLjM0LDMtMywzaDB2Mmg1Ljk3djdsMSwxbDEtMXYtN0gxOXYtMmgwQzE3LjM0LDEyLDE2LDEwLjY2LDE2LDl6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaWQ9ImtlZXBfb3V0bGluZV8yNHB4Ij48Zz48cmVjdCBmaWxsPSJub25lIiBoZWlnaHQ9IjI0IiB3aWR0aD0iMjQiLz48L2c+PGc+PHBhdGggZD0iTTE0LDR2NWMwLDEuMTIsMC4zNywyLjE2LDEsM0g5YzAuNjUtMC44NiwxLTEuOSwxLTNWNEgxNCBNMTcsMkg3QzYuNDUsMiw2LDIuNDUsNiwzYzAsMC41NSwwLjQ1LDEsMSwxYzAsMCwwLDAsMCwwbDEsMHY1IGMwLDEuNjYtMS4zNCwzLTMsM3YyaDUuOTd2N2wxLDFsMS0xdi03SDE5di0yYzAsMCwwLDAsMCwwYy0xLjY2LDAtMy0xLjM0LTMtM1Y0bDEsMGMwLDAsMCwwLDAsMGMwLjU1LDAsMS0wLjQ1LDEtMSBDMTgsMi40NSwxNy41NSwyLDE3LDJMMTcsMnoiLz48L2c+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaWQ9ImxpZ2h0X21vZGVfMjRweCI+PHJlY3QgZmlsbD0ibm9uZSIgaGVpZ2h0PSIyNCIgd2lkdGg9IjI0Ii8+PHBhdGggZD0iTTEyLDdjLTIuNzYsMC01LDIuMjQtNSw1czIuMjQsNSw1LDVzNS0yLjI0LDUtNVMxNC43Niw3LDEyLDdMMTIsN3ogTTIsMTNsMiwwYzAuNTUsMCwxLTAuNDUsMS0xcy0wLjQ1LTEtMS0xbC0yLDAgYy0wLjU1LDAtMSwwLjQ1LTEsMVMxLjQ1LDEzLDIsMTN6IE0yMCwxM2wyLDBjMC41NSwwLDEtMC40NSwxLTFzLTAuNDUtMS0xLTFsLTIsMGMtMC41NSwwLTEsMC40NS0xLDFTMTkuNDUsMTMsMjAsMTN6IE0xMSwydjIgYzAsMC41NSwwLjQ1LDEsMSwxczEtMC40NSwxLTFWMmMwLTAuNTUtMC40NS0xLTEtMVMxMSwxLjQ1LDExLDJ6IE0xMSwyMHYyYzAsMC41NSwwLjQ1LDEsMSwxczEtMC40NSwxLTF2LTJjMC0wLjU1LTAuNDUtMS0xLTEgQzExLjQ1LDE5LDExLDE5LjQ1LDExLDIweiBNNS45OSw0LjU4Yy0wLjM5LTAuMzktMS4wMy0wLjM5LTEuNDEsMGMtMC4zOSwwLjM5LTAuMzksMS4wMywwLDEuNDFsMS4wNiwxLjA2IGMwLjM5LDAuMzksMS4wMywwLjM5LDEuNDEsMHMwLjM5LTEuMDMsMC0xLjQxTDUuOTksNC41OHogTTE4LjM2LDE2Ljk1Yy0wLjM5LTAuMzktMS4wMy0wLjM5LTEuNDEsMGMtMC4zOSwwLjM5LTAuMzksMS4wMywwLDEuNDEgbDEuMDYsMS4wNmMwLjM5LDAuMzksMS4wMywwLjM5LDEuNDEsMGMwLjM5LTAuMzksMC4zOS0xLjAzLDAtMS40MUwxOC4zNiwxNi45NXogTTE5LjQyLDUuOTljMC4zOS0wLjM5LDAuMzktMS4wMywwLTEuNDEgYy0wLjM5LTAuMzktMS4wMy0wLjM5LTEuNDEsMGwtMS4wNiwxLjA2Yy0wLjM5LDAuMzktMC4zOSwxLjAzLDAsMS40MXMxLjAzLDAuMzksMS40MSwwTDE5LjQyLDUuOTl6IE03LjA1LDE4LjM2IGMwLjM5LTAuMzksMC4zOS0xLjAzLDAtMS40MWMtMC4zOS0wLjM5LTEuMDMtMC4zOS0xLjQxLDBsLTEuMDYsMS4wNmMtMC4zOSwwLjM5LTAuMzksMS4wMywwLDEuNDFzMS4wMywwLjM5LDEuNDEsMEw3LjA1LDE4LjM2eiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJsaW5lX3dlaWdodF8yNHB4Ij48Zz48cmVjdCBmaWxsPSJub25lIiBoZWlnaHQ9IjI0IiB3aWR0aD0iMjQiIHg9IjAiLz48L2c+PGc+PGc+PGc+PHBhdGggZD0iTTMsMTdoMTh2LTJIM1YxN3ogTTMsMjBoMTh2LTFIM1YyMHogTTMsMTNoMTh2LTNIM1YxM3ogTTMsNHY0aDE4VjRIM3oiLz48L2c+PC9nPjwvZz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJtb3JlX3ZlcnRfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xMiA4YzEuMSAwIDItLjkgMi0ycy0uOS0yLTItMi0yIC45LTIgMiAuOSAyIDIgMnptMCAyYy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptMCA2Yy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJub3RpZmljYXRpb25zX25vbmVfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xMiAyMmMxLjEgMCAyLS45IDItMmgtNGMwIDEuMS45IDIgMiAyem02LTZ2LTVjMC0zLjA3LTEuNjMtNS42NC00LjUtNi4zMlY0YzAtLjgzLS42Ny0xLjUtMS41LTEuNXMtMS41LjY3LTEuNSAxLjV2LjY4QzcuNjQgNS4zNiA2IDcuOTIgNiAxMXY1bC0yIDJ2MWgxNnYtMWwtMi0yem0tMiAxSDh2LTZjMC0yLjQ4IDEuNTEtNC41IDQtNC41czQgMi4wMiA0IDQuNXY2eiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9InBhbGV0dGVfMjRweCI+PHBhdGggZD0iTTEyIDNjLTQuOTcgMC05IDQuMDMtOSA5czQuMDMgOSA5IDljLjgzIDAgMS41LS42NyAxLjUtMS41IDAtLjM5LS4xNS0uNzQtLjM5LTEuMDEtLjIzLS4yNi0uMzgtLjYxLS4zOC0uOTkgMC0uODMuNjctMS41IDEuNS0xLjVIMTZjMi43NiAwIDUtMi4yNCA1LTUgMC00LjQyLTQuMDMtOC05LTh6bS01LjUgOWMtLjgzIDAtMS41LS42Ny0xLjUtMS41UzUuNjcgOSA2LjUgOSA4IDkuNjcgOCAxMC41IDcuMzMgMTIgNi41IDEyem0zLTRDOC42NyA4IDggNy4zMyA4IDYuNVM4LjY3IDUgOS41IDVzMS41LjY3IDEuNSAxLjVTMTAuMzMgOCA5LjUgOHptNSAwYy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTMuNjcgNSAxNC41IDVzMS41LjY3IDEuNSAxLjVTMTUuMzMgOCAxNC41IDh6bTMgNGMtLjgzIDAtMS41LS42Ny0xLjUtMS41UzE2LjY3IDkgMTcuNSA5czEuNS42NyAxLjUgMS41LS42NyAxLjUtMS41IDEuNXoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGlkPSJyZWZyZXNoXzI0cHgiPjxwYXRoIGQ9Ik0xNy42NSA2LjM1QzE2LjIgNC45IDE0LjIxIDQgMTIgNGMtNC40MiAwLTcuOTkgMy41OC03Ljk5IDhzMy41NyA4IDcuOTkgOGMzLjczIDAgNi44NC0yLjU1IDcuNzMtNmgtMi4wOGMtLjgyIDIuMzMtMy4wNCA0LTUuNjUgNC0zLjMxIDAtNi0yLjY5LTYtNnMyLjY5LTYgNi02YzEuNjYgMCAzLjE0LjY5IDQuMjIgMS43OEwxMyAxMWg3VjRsLTIuMzUgMi4zNXoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGlkPSJzZWFyY2hfMjRweCI+PHBhdGggZD0iTTE1LjUgMTRoLS43OWwtLjI4LS4yN0MxNS40MSAxMi41OSAxNiAxMS4xMSAxNiA5LjUgMTYgNS45MSAxMy4wOSAzIDkuNSAzUzMgNS45MSAzIDkuNSA1LjkxIDE2IDkuNSAxNmMxLjYxIDAgMy4wOS0uNTkgNC4yMy0xLjU3bC4yNy4yOHYuNzlsNSA0Ljk5TDIwLjQ5IDE5bC00Ljk5LTV6bS02IDBDNy4wMSAxNCA1IDExLjk5IDUgOS41UzcuMDEgNSA5LjUgNSAxNCA3LjAxIDE0IDkuNSAxMS45OSAxNCA5LjUgMTR6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0ic2V0dGluZ3NfMjRweCI+PHBhdGggZD0iTTE5LjQzIDEyLjk4Yy4wNC0uMzIuMDctLjY0LjA3LS45OHMtLjAzLS42Ni0uMDctLjk4bDIuMTEtMS42NWMuMTktLjE1LjI0LS40Mi4xMi0uNjRsLTItMy40NmMtLjEyLS4yMi0uMzktLjMtLjYxLS4yMmwtMi40OSAxYy0uNTItLjQtMS4wOC0uNzMtMS42OS0uOThsLS4zOC0yLjY1QzE0LjQ2IDIuMTggMTQuMjUgMiAxNCAyaC00Yy0uMjUgMC0uNDYuMTgtLjQ5LjQybC0uMzggMi42NWMtLjYxLjI1LTEuMTcuNTktMS42OS45OGwtMi40OS0xYy0uMjMtLjA5LS40OSAwLS42MS4yMmwtMiAzLjQ2Yy0uMTMuMjItLjA3LjQ5LjEyLjY0bDIuMTEgMS42NWMtLjA0LjMyLS4wNy42NS0uMDcuOThzLjAzLjY2LjA3Ljk4bC0yLjExIDEuNjVjLS4xOS4xNS0uMjQuNDItLjEyLjY0bDIgMy40NmMuMTIuMjIuMzkuMy42MS4yMmwyLjQ5LTFjLjUyLjQgMS4wOC43MyAxLjY5Ljk4bC4zOCAyLjY1Yy4wMy4yNC4yNC40Mi40OS40Mmg0Yy4yNSAwIC40Ni0uMTguNDktLjQybC4zOC0yLjY1Yy42MS0uMjUgMS4xNy0uNTkgMS42OS0uOThsMi40OSAxYy4yMy4wOS40OSAwIC42MS0uMjJsMi0zLjQ2Yy4xMi0uMjIuMDctLjQ5LS4xMi0uNjRsLTIuMTEtMS42NXpNMTIgMTUuNWMtMS45MyAwLTMuNS0xLjU3LTMuNS0zLjVzMS41Ny0zLjUgMy41LTMuNSAzLjUgMS41NyAzLjUgMy41LTEuNTcgMy41LTMuNSAzLjV6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0ic2V0dGluZ3NfYmFja3VwX3Jlc3RvcmVfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xNCAxMmMwLTEuMS0uOS0yLTItMnMtMiAuOS0yIDIgLjkgMiAyIDIgMi0uOSAyLTJ6bS0yLTljLTQuOTcgMC05IDQuMDMtOSA5SDBsNCA0IDQtNEg1YzAtMy44NyAzLjEzLTcgNy03czcgMy4xMyA3IDctMy4xMyA3LTcgN2MtMS41MSAwLTIuOTEtLjQ5LTQuMDYtMS4zbC0xLjQyIDEuNDRDOC4wNCAyMC4zIDkuOTQgMjEgMTIgMjFjNC45NyAwIDktNC4wMyA5LTlzLTQuMDMtOS05LTl6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0ic2V0dGluZ3Nfb3ZlcnNjYW5fMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xMi4wMSA1LjVMMTAgOGg0bC0xLjk5LTIuNXpNMTggMTB2NGwyLjUtMS45OUwxOCAxMHpNNiAxMGwtMi41IDIuMDFMNiAxNHYtNHptOCA2aC00bDIuMDEgMi41TDE0IDE2em03LTEzSDNjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNi4wMUgzVjQuOTloMTh2MTQuMDJ6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0idmlzaWJpbGl0eV9vZmZfMjRweCI+PHBhdGggZD0iTTEyIDdjMi43NiAwIDUgMi4yNCA1IDUgMCAuNjUtLjEzIDEuMjYtLjM2IDEuODNsMi45MiAyLjkyYzEuNTEtMS4yNiAyLjctMi44OSAzLjQzLTQuNzUtMS43My00LjM5LTYtNy41LTExLTcuNS0xLjQgMC0yLjc0LjI1LTMuOTguN2wyLjE2IDIuMTZDMTAuNzQgNy4xMyAxMS4zNSA3IDEyIDd6TTIgNC4yN2wyLjI4IDIuMjguNDYuNDZDMy4wOCA4LjMgMS43OCAxMC4wMiAxIDEyYzEuNzMgNC4zOSA2IDcuNSAxMSA3LjUgMS41NSAwIDMuMDMtLjMgNC4zOC0uODRsLjQyLjQyTDE5LjczIDIyIDIxIDIwLjczIDMuMjcgMyAyIDQuMjd6TTcuNTMgOS44bDEuNTUgMS41NWMtLjA1LjIxLS4wOC40My0uMDguNjUgMCAxLjY2IDEuMzQgMyAzIDMgLjIyIDAgLjQ0LS4wMy42NS0uMDhsMS41NSAxLjU1Yy0uNjcuMzMtMS40MS41My0yLjIuNTMtMi43NiAwLTUtMi4yNC01LTUgMC0uNzkuMi0xLjUzLjUzLTIuMnptNC4zMS0uNzhsMy4xNSAzLjE1LjAyLS4xNmMwLTEuNjYtMS4zNC0zLTMtM2wtLjE3LjAxeiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaWQ9Indhcm5pbmdfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xIDIxaDIyTDEyIDIgMSAyMXptMTItM2gtMnYtMmgydjJ6bTAtNGgtMnYtNGgydjR6Ii8+PC9zdmc+PC9kZWZzPjwvc3ZnPgo=","ok":true,"headers":[["content-type","image/svg+xml; charset=utf-8"]],"status":200,"status_text":""},"https://localhost:6006/data/plugins_listing":{"data":"eyJzY2FsYXJzIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IHRydWUsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJzY2FsYXJzIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1zY2FsYXItZGFzaGJvYXJkIn19LCAiY3VzdG9tX3NjYWxhcnMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJDdXN0b20gU2NhbGFycyIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtY3VzdG9tLXNjYWxhci1kYXNoYm9hcmQifX0sICJpbWFnZXMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJpbWFnZXMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWltYWdlLWRhc2hib2FyZCJ9fSwgImF1ZGlvIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAiYXVkaW8iLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWF1ZGlvLWRhc2hib2FyZCJ9fSwgImRlYnVnZ2VyLXYyIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAiRGVidWdnZXIgVjIiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiTkdfQ09NUE9ORU5UIn19LCAiZ3JhcGhzIjogeyJkaXNhYmxlX3JlbG9hZCI6IHRydWUsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJncmFwaHMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWdyYXBoLWRhc2hib2FyZCJ9fSwgImRpc3RyaWJ1dGlvbnMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJkaXN0cmlidXRpb25zIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1kaXN0cmlidXRpb24tZGFzaGJvYXJkIn19LCAiaGlzdG9ncmFtcyI6IHsiZGlzYWJsZV9yZWxvYWQiOiBmYWxzZSwgImVuYWJsZWQiOiBmYWxzZSwgInJlbW92ZV9kb20iOiBmYWxzZSwgInRhYl9uYW1lIjogImhpc3RvZ3JhbXMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWhpc3RvZ3JhbS1kYXNoYm9hcmQifX0sICJ0ZXh0IjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAidGV4dCIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtdGV4dC1kYXNoYm9hcmQifX0sICJwcl9jdXJ2ZXMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJQUiBDdXJ2ZXMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLXByLWN1cnZlLWRhc2hib2FyZCJ9fSwgInByb2ZpbGVfcmVkaXJlY3QiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJQcm9maWxlIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1wcm9maWxlLXJlZGlyZWN0LWRhc2hib2FyZCJ9fSwgImhwYXJhbXMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJocGFyYW1zIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1ocGFyYW1zLWRhc2hib2FyZCJ9fSwgIm1lc2giOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJtZXNoIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJtZXNoLWRhc2hib2FyZCJ9fSwgInRpbWVzZXJpZXMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogdHJ1ZSwgInJlbW92ZV9kb20iOiBmYWxzZSwgInRhYl9uYW1lIjogIlRpbWUgU2VyaWVzIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIk5HX0NPTVBPTkVOVCJ9fSwgInByb2plY3RvciI6IHsiZGlzYWJsZV9yZWxvYWQiOiB0cnVlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAicHJvamVjdG9yIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIklGUkFNRSIsICJtb2R1bGVfcGF0aCI6ICIvZGF0YS9wbHVnaW4vcHJvamVjdG9yL2luZGV4LmpzIn19LCAid2hhdGlmIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAiV2hhdC1JZiBUb29sIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIklGUkFNRSIsICJtb2R1bGVfcGF0aCI6ICIvZGF0YS9wbHVnaW4vd2hhdGlmL2luZGV4LmpzIn19fQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/runs":{"data":"WyJTZXAyMV8wMi0yMy0yMV82M2I2Mzg4ZjVmMzQiLCAiU2VwMjFfMDMtMTctMDRfNjNiNjM4OGY1ZjM0IiwgIlNlcDIxXzA1LTQ3LTM3XzhmODYwYzk0ZjA3ZSIsICJTZXAyMV8wOS0wNC01MF84Zjg2MGM5NGYwN2UiLCAiU2VwMjFfMTAtMTgtMThfZDEwZTVkNThiZjRlIiwgIlNlcDIyXzAyLTEyLTE3X2I1Y2NhMjc3ODM3YiIsICJTZXAyMl8wMy00MC0wNl9iNWNjYTI3NzgzN2IiLCAiU2VwMjJfMDgtMjQtMTRfMTdhZTc3ZjhhYmUyIiwgInY4IiwgIlNlcDIyXzEwLTE0LTUyXzE3YWU3N2Y4YWJlMiIsICJ2OSIsICJTZXAyM18wOC0yOC0xOV81NGM1MTQ0ZTliNTAiLCAiU2VwMjNfMDgtNDAtMjRfNTRjNTE0NGU5YjUwIiwgIlNlcDIzXzA5LTAzLTIxXzU0YzUxNDRlOWI1MCIsICJTZXAyM18wOS0yMy0yOF81NGM1MTQ0ZTliNTAiXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/environment":{"data":"eyJ2ZXJzaW9uIjogIjIuOC4wIiwgImRhdGFfbG9jYXRpb24iOiAiLi9ydW5zLyIsICJ3aW5kb3dfdGl0bGUiOiAiIiwgImV4cGVyaW1lbnRfbmFtZSI6ICIiLCAiZXhwZXJpbWVudF9kZXNjcmlwdGlvbiI6ICIiLCAiY3JlYXRpb25fdGltZSI6IDAuMCwgImRlYnVnIjogeyJkYXRhX3Byb3ZpZGVyIjogIkdycGNEYXRhUHJvdmlkZXIoYWRkcj0nbG9jYWxob3N0OjMzOTg3JykiLCAiZmxhZ3MiOiB7ImxvZ2RpciI6ICIuL3J1bnMvIiwgImxvZ2Rpcl9zcGVjIjogIiIsICJob3N0IjogbnVsbCwgImJpbmRfYWxsIjogZmFsc2UsICJwb3J0IjogbnVsbCwgInJldXNlX3BvcnQiOiBmYWxzZSwgImxvYWRfZmFzdCI6ICJhdXRvIiwgImV4dHJhX2RhdGFfc2VydmVyX2ZsYWdzIjogIiIsICJncnBjX2NyZWRzX3R5cGUiOiAibG9jYWwiLCAiZ3JwY19kYXRhX3Byb3ZpZGVyIjogIiIsICJwdXJnZV9vcnBoYW5lZF9kYXRhIjogdHJ1ZSwgImRiIjogIiIsICJkYl9pbXBvcnQiOiBmYWxzZSwgImluc3BlY3QiOiBmYWxzZSwgInZlcnNpb25fdGIiOiBmYWxzZSwgInRhZyI6ICIiLCAiZXZlbnRfZmlsZSI6ICIiLCAicGF0aF9wcmVmaXgiOiAiIiwgIndpbmRvd190aXRsZSI6ICIiLCAibWF4X3JlbG9hZF90aHJlYWRzIjogMSwgInJlbG9hZF9pbnRlcnZhbCI6IDUuMCwgInJlbG9hZF90YXNrIjogImF1dG8iLCAicmVsb2FkX211bHRpZmlsZSI6IG51bGwsICJyZWxvYWRfbXVsdGlmaWxlX2luYWN0aXZlX3NlY3MiOiA4NjQwMCwgImdlbmVyaWNfZGF0YSI6ICJhdXRvIiwgInNhbXBsZXNfcGVyX3BsdWdpbiI6IHt9LCAiY3VzdG9tX3ByZWRpY3RfZm4iOiAiIiwgIndpdF9kYXRhX2RpciI6ICIiLCAiX190ZW5zb3Jib2FyZF9zdWJjb21tYW5kIjogInNlcnZlIn19fQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/font-roboto/RxZJdnzeo3R5zSexge8UUZBw1xU1rKptJj_0jans920.woff2":{"data":"d09GMgABAAAAACokAA4AAAAAUkQAACnNAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmQbmXocg0oGYACGTBEMCu1A1wwLg14AATYCJAOHNgQgBYMAByAbO0QF3Bhn2DiAgX12b1EEGwcBhTGLomxQFmT/lwnmGE77wayn0NBAJAPXITeLlQAVKYYKjM1mpr7CgS0HNgpkY1bqRLvLsXy3dA8XPXqvM/yN+w2v2FOlAb85QmOf5P7Az633/wJaSkUwMImTqgk4GDAic6S4MSrGqFakDCocigoYRBqEHnCIYBIGGExRT1Qeqv3690x3z90AwCasSP6ngswqFUVYHrB8VBQAKcYder52r1wzByMHJRZ//0+nNV9g+H/GsveOK0AqSpwZGZI47CReYMFvJOfQ2hTNUVES1lvdXXeyFKh29/XX4ACRY/9vTgMuqbMdO2B5UFAD4VG4vRkzpRE/HAS4Jss5uTZKgIn5b///mp923r+ZD/x22f0pcYRbsj0ne84XpsZN7mQyee9lwgszWcwvZJLFD4WkECjkFyHriuAA87NMWVUCV9VTC6S6tsdX+ApZK4nU+gqn6ipcefja71ffCTv/vpktBbH4Q8OmUzIhiS6SSKLxDYn4I3iKlCraxSKRmLCxMhnQLaUZLPeL70z9PLvdGe4aJpgghNJhdNDfIYfbP4Zrr4IRvQYW1AHHsRm/MoBA8QMAALCA4nacDoQBD4hYsRCpUiHSpUMwMSGyZUPkyoe4rB6qxyYEAgXAC0AAAgCBiIUA4KZAB3a3PfY7jNipySXnETvz4unnEjtv7bILiMECgG+hS5x7+iUX4AR8gRVUUNx1liijpQ3akVwcN9akGiFf5sfC53+NGKbR5WqKVWK9kAti+AS1eOOOyCvDaIwf8afMcFGbPJk65ZRuuRKVi5n34MXC5+eY8DF3ego/YaXaA/kGJCdNqR9aLDwevIQdJ0mKNBnyFChToUqNBoJTtOk4zZgJM5as2bDlwIkLV+48lSpzznk9evW57Y677uk3YNCQYfc98NAjk55Y9MySZa+9sWLVmnUbNiE0xggsAhGnnKBtjyf2QAgPTgoEFh8Jtbt2fBCTGwppEGEglZ5H9iEjajJmypb9zQ7WcvY+F29zpybfh8pFRalEVy+iPrfdcde9rn89b9acef9Z6HrqQ4ueWbLsjRWr1qx3vfW+d9770LXhbZuHCFeD868+CuUUv9RhOBpeRLDSKRtpW+4JClYxVTYdM1P8F5yw4yEH/bl6XJhQCcKlImFqL9vlsPiIpJtgDl7nnTDswuvDCv+DO1fDk/MxTTZl2ozHg0XCE4hnXuaoUGRvMwJjpuxnZEv+3pQmUBk753x56pZFeGbJ8s2IMhXxINvIiBgzZS/fU4ueWbJ8N5ZJIjmllGuC4g0HW6/PDdHeZGVFrFqzPhRHACMh5SpUzmRow4YNGzamMFQ4soqMGDNtbEWyl05HornGI/8uT9miZ5Ysd70RacWqNeumCoS86xhHXc3Jp1y9CINvDOn62prjoEx81Jz3IVIDWX7co1E3yT++FWYmuuNgIacdlV09TGcJJhPrX4ppsGwDXfCvkmLgAFmk6LCYxAftHyxYL1O0P9FCx9PR3lipv92N96FztJm7THzvXYCZF1CGmPHV7zjxlE+yUMyjYlkzeXrN1+XDXy7mZ4SaH3nFQ7Ww4uDmIe7T/PFaC3qFyJcS82v/iTr6GwvR3ze+XD27dfVbnYZQeRFxzohzSVz399nlr3kVWPXOwUJ5dHBrvN8bC/o9RRmDNlxKMCFjXvucAiWWoH0uC9Id0GRlZgrJ2SxOo/NX1BHQbaQBUf96uxZTd36ybZDQD2eu0GhiDfZmfDlc0VzFOlV8wKy9uuc9zoT+etNtsqFheWuKpVn11wnNyFUttlZgbJzVYnwrmDBpqX3O62J0xc3aVeaABaXbnkaGt5Tna0TncyyvCyiVfDTfNg2Tskx1qffMM0NtN69smvOiem3QnIGRMuk1rbqfMN9WYlYX54kVN9Zr843PpJvb6ivMNl+RmEB/BdWcgMMDITBSlFAjGMdJwzpJBRcNOoQYINvHmOh+Zu4HWLNzkAM9wsX9KDcejslxl1SqgpTK+nJ6LJP32jr7AVDWFUr1sbAX9oI4EVeZok7QfSSpICmKkKY4cpSbPOWhQPdQpggVKkKD8tGk3AhUzCkqSosK0Ka8dOguBhTPkHIg8915deAkWMcGli0ohh3l4ECFuVAublSIO+XiQfnlCI7BobVXOYT4INHaqwJUXCUV1+OO6HUPqn/XBA0YhnPfJMSUx7g9IXde/1qA99R9t0XLOL0eivXGOox6LVwgCIKWCEHQPYSoiOMCDwv1DyhKju6lTFGqFKXO+RXrwA1csBuEYRfwgABq5RhDmLJAVAIMYC0Me1CEI+XlzHGKeeAEnBafdFBUHkXlD0UUK7FHQxAEERAEEUvELYg9ALxA1QMUuICHcCSXIboBRsXRb32AMzlHPf3L87pFpik149XgSKLrYiABJiQbu7XX0EZ3qpa5pRm10HWgNpbmvXY2psKEBVBRiYumxxD0yfF+4RFhcOKf8uTBydDgQG9QA2iNNAqnhUWBFCuRLAAGylcAEIhW6rsQekPBdeKnxE2kSncIhFMQTwLtqlUHw4S5y9CmoHva/VBPrVxRoSAQJgJKgoic9kRheIYBERIBcwcACx1JTRqgQScM5u6itHBr0qhBsxat2rTrgDEjYrt2VZyzqFi6XHNdtxtQ2CIOaKHU/e2ri+Ee7MoA2fSUxbwhIBp/6EsBkrpI3jbygQfuiQiOrDHBHxAwqwyQgDwGALBLnUWCBAxYjpb9+Roy/wk3QM6CbfsB0CABSxQAnySXXv93+42ZtuaTv23HZhtjsRhL87XmG8w3mW8+33q+NN/tvsvue+KI0PgLi4TLN3UaMG7Gus+UbHrWnK8332j4spfb2B4r9owh3GMQ/P1r9sv3jkH4J/6/8X/35zeIF4eOyoczmc/Yz+9yx8tGBoAK8xg3HB/3Xk/VY2LM+/9p0k2ZNuOxJxgy/GvWnHn/WcCUORZ+dZZsb73z3gcbcmziBQDI4H0igCRkjW8HQ0ISbLrkpsva+aYOt3TqF2HAqN40JtW4af1pRo/H5k34z4I0Ty2b8twLDC+t+jetYVr3ydP0WaYvtr323Q9ZfvrtbfojJ/2tNjOyY0BujRxSHRqQl9GXAgoy+mFAYUY/DiiqJdZsXwtAMZBYr30DAKVAYqNqk4BzWWLzgAtZYuuAylpiWbUUUJUldguoyRKXBdRmiScCLuYjazwIlyBQnNDxd6jn4zYgH2sRfLeGyBuBeX8dvQgt3Aq6mTwCBwO5ip6gBxjoGBZbM34NE52ChI4XgbqSgsMohHqFmIhSL8HR1+qELePMETQQxH8ATAWSCRJ80KkVSFyshn4rVqc4xO4K9/sBbZUfGmjTrPCOlAJr8aYOsysMEbR4GDZjo5nqxAmguf2d+5ll4+q6dZTUZq1hMoksN66UXJTBBGyt+DrbhMcLq9Bk+7CpxVTXjuuYlC46w3z6kfH9bpWmwC9ElhFLbSMmAlXH7IyhWaYUCy19n4kkfj+MNwH1CXMxzHzrLGoTEVEJIpwww/SO24xCz4blyGgkPPISNVwJHMS8s9eaLgV7MO1MMFVxzgWKDObEffRpbR65hHZghKBm46hPHQIbxBUaIedU2SrMOQQSCxSYE85BZDigzEa1QKgIKEMqmHOWKIr7/orgvAATAUj2mnDy/ahrDOXUW7VsRjmHFUELlLgbeqsOaSaMtOVts1bo7cfGG5ZmMnzyvz7a9D8A49yfhKY0fT2zRlfuOMrMoba1d2Hf2SfChT0yvB6uDam/YVYHeti3rIR00JWgXBrYWqccXULUgWBDLc56ozkbZOKZwbkbwr43STuwCuPa2d9GGGB7Fc7RbV2Y1ryEAPZ+fo+bAVMVWitQuWZzibW7iEwCHXQ7lilW/mPjcU90+t1SKzITRy0tdDnD32eBJegGqTt8gwv7C7U0By0yLHifOEbuQI/HKbSqiN2A7cIrLxEuI4jzhl62d8SsW0WgmoflnBB4zekZkQIL7kLPmy8SnYVExDCJn/vsvX46iwidi74aH8QGlQbnqrSnHdb+O9sslbarcTLIeXWoS3vjlXrP/Atapqv5ib+Vp+qjuFwuDUd/fyHu9CVTIq+qFWJV1Ca09xxlk3lq/Sq37HDeHFvIRQz0Bit3uYQ2MH0kRGaKWNr6gj0uyh0nEF3uif0c7nh4lCgrKdH9hQwYPB6dSzZHuxICRr/dIPICn1SQxKhh5hC5lEbayfHCibqcyA3ZtYkTVgm64xjTZc9SxrTlX5q0if+LMeMTHtRHRueOGGKjMO15oLHaiPWlWmRl/IO10evXz7Uh09LcSPILgN4V8uqJuvCbsexNLzoP3QgU4zJftrAt4TZuhNhSaFJDq30QNy+xijFVzLR5y1ZKXp6namdX7u3I6Z6K8vco9tBP1UZPnALuwG2CMSEhWTElyCqRQIzcxyntYtKFHuO26n2pAIJzuhqKmVWMk0lxlhMvhrOMcQYnpoV7MSCclFSNxvg5F/MSasrgQr4o9P/8ce7LjPQpQTUxFy4xpt29wJlYCQSLskVnUbXUlJD+kq+gImoiUOysTerfknkgSGBDUDKkls/jNmRXBzLzuE4Pph76s3u6BjIpbNN2/uUtpLEO4NfUee3hd2ICHNJIbu7KwOJmXM0OKEjTZcEy+gJZO1A8QqI9juOkuT8zAuZZP3b47Ea8GRr/Yqom6GrAfgurEO3uc8eXUoGKktCRgBAsVnVIoJf9NmMuK5NrsY9ALjf2gU9eNkQ3qYUTAKnCxlt0ZamUlmPRKIzah/3WyZgfmmfwywWHYariaOMQdaAnLtycQZ5AEUKtcuPbwWIRiIXc0guTOqWrEHyCxSaVinmQAkGenh5YyHy4OjCmRFbrOukQ0opaxEEb9LTnu4pMNA5oajIR6FNAvzNYBLI5H1jCNkosMq20DStOahu6Tl25xsb5RqciLQK1kSpeRs15JKSgo+2DBNpTgyY1mugTZwLBQyFZ2LYikcEqfUfXzD5bqRfbmJc7cYYTstDGs2DiLeG4oBCqhtfubuK8OpzZGwftSZqHgjNcMqO0bGJkQTvYWwXWjfQkKZ/6Gt0O9Ma9RrPA7FkHm4ogchaY4T0BfhuQpl0SlqxIwD6dfNlAQepRTVGp5sm+1YGJbv55UKec+VpxVrICAWlg8rr/IVfIahPZWyD4cFFDlIMc+CTZ15JKxmYxJL5x33PQTi4/jNDXsEHs6OL1DQlR6YioBK1LayaotNggHdb6wZHpOYgdxN2h7EuKiQ2Cu82lamU02Q63JmZzS29vUgECR0IeX+G5RNlpnEnO7QNnchXLXsAOlQQHHeTBg7EsUtguvOiQEKbkgjf0n6GjHfqwIC4SWja8GiY+QtaysAIH+Xtc/S34rotjyJiIgZU5ikRm+iLHHqKCu1qwRWEv3fudKN0MuGkIb7vVjGeHHxCp9OWJ6ErT2plncvoXMmdytfNnJjFy1gw9xNMkd0saBFfI4o1358aFbq/Y7HG+0KmQY85AZYiQxA0RN7R7GoFWI0woIEO6jdfg5/lv1W9L8MdgGrzibDAjUzPbmi3IYPDcUi4SpawuXitn7HSA2yOtc0ts4mgYWjYsiSiVXBuGBQjXZXxxpS2Jq6yBdvXRk6hLpa/aV6B4YBjv08cEdkBW/TjBgnZNauhzxqZs3IZtaqmJYIwCdm2CuAwGScMv6WjknojNJSYEDVznSdIe4CUSKBCkndAmwd2jkRJS/wOiqKUozXfWEQvrk2GMFeh/k3cHmd+e5nwHpxKCSAEShab0a9gp/nOaf2S/o/xG9ll8TwiBm+JxaYSCbbEJObCxpFX4W0prjI5tAu+5849d5//w4G4tCb/Zm21f/T+Nbt3FsPz5tFFX9NlIbH+MUDEgQNPWNDZJoT5NdbIxox4IqtKPpOXydp7MulwVpi68NL3QjJdbr8VparAvCppfbCLx6mT+zMWP3/nLtb88S5po6i/tPz5fgrJign1I+C8ng+NvE7413p9rF168tNQhevfryFZSZJG3V0igtyMl6O9ysaVvgGqGS8vU4x6h4YtDo7tnP42xk5KyqVHRYYBXqWC0NOfkNTdnG6U3N+VkdtbnteAMzOxO65jaGRsbmNknmTiQDx9VYHY0ZGa1N+ST0xqbRVsbs1uw+hYOOkQjG1NTQ3NbbR0zW5Pf7ATySWpUAhnss/zDmi+ftaPolRu2TY+xLj7oy3F1rQgy9SGLmmrRS//lS2yb2xGz9qqistCVV0fiKdba0at0F5p/aiJS2moXkBRu+nbeQdPeSo9s6wkCN9L3MS9ieyHZcj2+9pNhhq58fh6l8yaHGNjLty5eiJdnZuh+NoqrBqvTz2Orv9swifLM8rOdS0p795yfyM/+IJ+ZrP3pVDKTYxpEhh8pOKo1y1L5Ha/zu0tFqbapOo5zFQVfP9S1p9gfZN4cTnie0LXRlfQ8qXwDaslp5pouMkwwuPsMOiE4aBZsOflG+ED4727GZgRNYxN9XVNjqrEZDCT0H52X7Qe9I/6E9zqfNz6qoQo7hPeaXz69V0QVtoQnI+7F0SO60X6TR2fG42gRPegI/N26X+yk+swhIP7btCIQRHWqtgyiJvtGpxYmsjNiZl/SSme/zt4Ji/uYe943oR5EfcllEZB2JjQoNCrSJzHSlR0ZfWs2gLH4Y3HYJ6Hd5x+6VMLVuBHe9WdPeF70sb1S6GFnUulRZzPjmYVAUOK4MXxDn61Pw5dKkhZ+SWJaEr0OQcdji2X+J/qSrn6ayTNrXK+e/51eTOBfc/d+4AuOj/SLTLiYk5FdGavnesQG1Hbfun/wIcp+umecGndz8Pmu/55jhWYX+XVxtsnULo8PN60YzgdNTK5k3ltIvMyZ3AAkf+lj/tJ/txSbX4a/APGYQkhYo4f8GZW4W9QBzMuFp9hX/bT43ghFd/nQxpC+T08fTX56yqdsHZrCmE1KDwtJSF6Kiz+44xkW1xdC9fcLpfWF0kDxtXdsSt3AG95nRWffzaXmLyFkYf0c3xov9MD9o/Po6sQzfuNk2yPGnpfTh58ktDOyE5tANdr8BVvFmjaoYk1lgw6b1+OBR5THfQ94Fx/8+pMaQh1UQ6ifwL0tQ7dm6M75BLKHm4+LQ5CXLRthbUwO33/58Fbd+Zq4GF0TpJCtdsrY6DQxgiXDv0ihT/A8P5cl7t3QuqBkyjQ1KTn3SXBi15Uk3FBBuF2KtIOuspLQaEZA2iKuQyBSJ5M4IjfcFcW5wfM5x+3gjWm7m5JfjmeNTykE/wmZd3no/oT7OI/gcnfKl+2fAYtdlacfU3kzjfOs1Tw9Dtic3BCSj8idAS1FWxWaDccRf9abIzQWp+/BxieuUAY4Fvs7MjriF3Ix8B/aoRRWwiT+2bfdReP76Bm04DfrWNneH9EMik9onGfaNlh0Le5++w/2ZydnfaE8OpE1Vawp0HL9y3Hc3o87gtUlOQUNrM/I29SN5u915eUZwlWyP5KdgzJtdaceGU/Xayq0jHL7rYg1jM/+QN5ab07+HAGdqByHgdsPegDH6nrUXeIA2teCTYJ/A45V8+hSlwlYwl2LgL3B127ta6hQQSejTE5FibMPfNr/6oc0nqOV9RXdiNwYw3YNWTseODkgBdYpsPNZbubQi/z2yPXYgYs7lzpH5DLsHv9+jP02v/J9dXKHGkUNC4hh0kGVWt851nI32nLbW34r7WccHf7nJBTdL39QUjEWHBhliem7iam4kUWM/VI0VWzF54bYrLdoykuh+WAdCb8fK+PiuvyukOrm4/sF1q+vzZfqCbVf7xJpP3caZmzmzhkItfsJtZYTYXYHu3UTaa7vAeS93ec+XGNz99/tivYf+A04luzXg78fz4tu/j75QCEzPykmujAvEVEH65Jr02lyNKefQ3Wlql8fGbLOE13d/MS/sdu3fjfXnfSd/UYPV1NLqlVBTPHgBw12eq/mS/JGElUMPfh2af/CphSmRNIYyekID2g8pnsxAz2DA4ljCfdZB9+sVmxGZE4l7UQVpGQkZAV7WpVSbP0mUzwbI2/umf9Uy0ktmcz+nVCXeYHBoIApdmVs5dfK0KN0MJ1jTb6V4v/+/3HuzUc7UyWlF4qOqYxBmdbeY2f3SIyyvkk0sHaD1eUgfqzRr9041pagnaRgtyT7OrL5i/+YoaCf4SxIlV5R5Dt26/HgsqTGbs3dJ4aWex4fg/DfFl2iB9MrRP+IHiyt2Aep97kfaNXLixA3Hh26BIdHZxoA79hwtwI4nlQAYsD6fAIv+xngqaASOJ5U3m0CvGMTiNs1dj2akplvk56fBM2U/vL+cpAoe/yAT243YP7wGJyNaa6b7M3ugJ5P5WQ7dz8v22AbItuZVvnAMfHeq3to+9sSKQdBtNMoyeD/R+mZme4Ohm42QDoitPNSevRecBYPdQnwwH4mKP7a2KvjnFt4VvzV6NrT2feIeRej4luQNtDocKUHY8xXMX60zvv+tDdcxzH7vnNIrQxuvcTdXMW4RdPdopNboUOSldQOFsf+X5cbbg+my7ABD0s8EaHpN++9V9z60pDUQyvXZ0zppZZHJ/eBk/D6wSNbB68k/HmVn7v8eR/qM8ydUV1FbwpipiUQvRYo3KSLfnG5AgnTQhyxZxLgCbOhu8G3e3y4m0gWxN2lq3Ze91rqXmKC9bGdjZMjvcEp3KHP9s1xfntFf+1DsIwqjmDUx+amJRsHUa/e+yz75Vsdoy+61DBxST+uNIZxF/YMj0Rn33TB5gyz+yK93DxKyKk4NuCBLZLZBDYiqmG4XvkGaaiTjRiGRrC3nlDZWN95kTQz4KQQi6bXidRmn02HhHsPXftVUw8Zq2PFQ3ei90GytP9z2iNCwEeeYYw9tWygNcxf7xxFBsbZA4HOnkG2QU4iZFhlT2Dv3SvRihZgE2D3CgGfQC8atsGlPWTfDXTy8S8lM1A2ASxOXEz88yar7JnAPu63nJfifq1kn1sVUvizxdmUfWc7q7+3Pq8/lp57B0io0K83MgPXKFSEDbjFl1xhlNSesZcn8F9wV1LuxpQT417qJp6jpvWBxfE/69JjN4KT+CgLgFtk7wRHtA69k9v61ph2h1pkELdhQCugMnrhH2W378pNmskrbMJbXIxjXrXKAVg8rkshfVe2kbzh2JT34fbNoY/9F9iGgW4OVn7GOhru2gd0rjhYxDqWfOkeyZj2PNvkvYG1p7v5evkagdicLkd/d7+bDv60TMsdmz3moqr+17qvcYDCAIWSOMrqnhy+y+6bauvSTuJiE1bh54v8tvhfe6mEf/fWE3aApGjZ9n5TiEqYWF97szYhxCBsdr5efn0LACd9+U1E7I/x/ndm/gy//TFjEV7YHj1bxoitPPcR2FT9cueJm5uemMURt70jqnhIHiQOhV88Ni8+YlkJXoFePnjPuVeD1wZfz6LXu5evKsrntqvjfi68andpd30zh/vZrg52fE2Av9cEYotXNTB/ZtZv2N+wfz+N+XNVQz73hlLXSu/Eq6FrQ69Gb19b6VYC82Eh1t3nBSYJ6hey9CROkMwC7QbbbiyWmTAIRel6hyVJthF20FL+GGGgiABNXYNsoqtHNtFQJ5vo6ZJNwKLDmR6Is1zBZI48KhZ/P/H+5uGHB5f2zz08dPPwq4mXNeI9/2GqVvCeNKrr2i51ILOS2mHH4K9mnrbrgfv7HtgEyYS74nsuj1dxfHnw89259ac93zyDgjycA1KDOL+ojwNpJqQ26eGDmsSU9LxCZpZv1ehEaH1hSV5hflFl1MBQJbWoNL+o9Byl9sGgd1VOXn6RRlp8TNjkXerSXVro5MfQh3eoz+9SQx/CEWFLnBef3f33FfI58uflZXdkVc6r5KhU/HC4LwiZfOKr4hOr26tgNDje0+rE9O3t4Bt9v31oYfoLhFfRs2LzPCzNM1z61G4r3Q1zuxDW0+xMVCRl+rUKPVz7zPPyEZtSlBwTn+NhY0d3SAscjHSuUAqzEjEVD5FMsPaxL5O7pvIiSo5mnekFuDkHJT1SNInkRyJF65EmFD78Ow0Gr+0qOi8T78x2n+m8N1tb115fXu3lauPkFpAZTYsOzHB1drbyaWA0lu8XbK27KFBXdciu8pBAI1Go5fwha4GmB33OJmMpxmN9zmV9zuSJoUGj8dvO4DkgQDKzTohOiwsOb4rpCFBOpuoaKSm08wV1pmRlXyhiaHnvs/JMlbI92pxNMQX7U4pOoHU4egIb30YCh4WrNVsLPJzAEY9FF+vzNvsutDETaXQd4n7l8Do86ZxA1eAlM10985qMQgM3bTVDQ4Ib5INKA+/V2qsgShuhXKhZOl8ZGlZZuVRdQ8lU1TdUVdE3pZBNg4zIID2c7jjuyFhg+I/7xy4IH/tlPWINXZV+ifuxkQEkGTsVgq6uWh+1uSKzsCr5bEiwv7dDbuRZEBgJs2Z4H7XTUSCeONrnWx+fVnglJpjOVCqTKqCwEgszW5PO9J3QV9E6PSbjnwFuIKwGu0XkhkFUn5CA5DmlUpoJMUJswgu8vSulNNZMbWgLcIvA4LRa4/w9P8f1Z+0w4FiQf59gbM40MSecMjcm6poagzbaUC5WEtxGq8Jn6RnKycgaHrHEHsoBpLKXMCFfEh4tDBxU70v3htT6BxuNLt4eqqm9O1zXifVxC7OycAkBLytvtzBLC7fQAKCVIfEqRUYWAcHOXhQPbzdnp2Df1e/efpwemno10dNQecXVzZzMFSWyraZhaMKISRWvjAnQIiGN33b7lu0RFVXWy1GmwPljo/uF75+3VgyMFcsEs5BTumOytJzw4Do1jEgggs2RjdXr2V2fbuJS3lK0OTQUSJorJwl3Xhst8HMoaCrZqh4ArVMDptOGyYd8CQ52mRutevc4Gv85c7D0mLlq8Lbo96oojSX65avg5sS44Ef21kk24Fhbi2vbiUWpz3PTYxGI27KeX9mcuj3f16Ij5q0fuZsoeZJo21VqlWXattAzZtV6wklh6GHSMTVvZ3uSooFLR6ZVppVT4oS5tauXVQ9mGyy8RH7nXiKazdkyWeNXq2s32971k109Apxco5z0vgiV7PSMvghnpDHHkdlN9EP2Lc6c8zXMbIrmoFGDgfrMabWUHkIm4cHjkUCE7mGo62ahdG3dNyl7V9LIwTOhsaByfO9vzmKbxkT8SnFezqvExFdZ5ZFrkwmMkkgXhebE2IdM89C2M4nWl6VNhjYVWczrdPPQgjXkb6pukZTTVJ6U1xQekTXeAaQow6+zX7e79I1No4xN9EmzWqZNsXU3CYaR3KUETWNjGzamzLVRHA8bFhT7Tw9XEMtm2t35ALnkU3NqsnxLtfq0t4zXqma7V5yNZZpukk6XlOOz+oEUJfT9tdxQEf3iHJfY0sHRrNHXx/Fb2Ma03mh2iGlsAhuiZsC3UTi2ibOklBdpIbQXCXKXN8c3Crv9Mvg7PeEwcNtIYb9vIK/GGT7Xy51TcFttsGsGXE784Jd7+TODRbS96R4K85voRlYrd05RDc25QNpQ0aLGUOcRMeZ7bkdGx/YbvpPoF87WjN5YekbPQCPzbgwts1dHoM+eniUcc2NfRGQsqKh84BkuryqrGuTjFy6E3QEy7slxrQl0L+8EemtSnMC0vC5RTp54WkFOR89HRw9Uae/Ck4q9JFOCTrWJnTCSK+MITyr31LzkrHLCSR4EG8XizVwYaGHFXA54BswA91eIN3NOQ4tr53ICg2agXTrO3C4JLS1dzAA3/2lgaSeZ22Wh1fcX+yBE7YyC73dikrljPqb84eJNX/8l4EzHeMbE+AXSY3yOe0RHB/rGRCFucEp0u6DpUIbwoYwm2HW95UX9rtguhJbQ/1cOQu3KLj9cx5W2inAPCfGH9P0pcPwQB9Ke354yH1IH759/xH5TGAfFH/kf9j9/uY2zzjffL8UPdLbCchm/u208JBNICr4x6JplVXLYYt+xiWz5qAhfL2/9ue45ZqDncpXLT/vzmYz0uG4oObvzx+8NN+eHRuJI8oBbZa8+R1MFHn98IlP+bIbNpDKnhJbvVeKqEqcWh9wmuIa+YTTXfRvYon2xpqWopLaltqKmpqO46GJ7bR9PCy0Kre1poUdgLgDPY5z+j4KHpud5z7rbdQGcMaE/7lIX+7bmwDtJuXzjnJ1w6SI5PTcjLuZKRV5qezri04u1jqIlauiR9EhkOHr0yIXiLA9eb0P9EBozP47eVMEsbW2sUnzyaf15ebOs7tG1Y8XJqiQDNSp0tNm0jdgkdZ+LgXNEaqRaulYK5VJsQV5dTEhKulakGjW4kpaaVkkTP6S65UKUp/wdbp1rdRhxkJT32gVrqroaLknM7MSYljpG7uUG5Nyp/54tvADh0sIYa582i6MGRrpEFWWiuab6KRJcy7vdejvud/wYOrmrQ3UPZzdAdj4bsl16trMHJwj9C8BBaPxKa5K4nayl8ATWSLdXfZuqajai9urlaXVLWl1S43gaFezUNHGc2viWGFVqfMapNI6ZqJrQkGIdrVlpSR2gMlMI5Rq69DmzV4hdMrcHAWfs9BAoTZU2Z769bOXxZc3VFkp4xWibBOFYwgTorrQA9CHSRO6XW+RWuU1ulzugk+IJJrd2XG6lfjva1JwnrQ15Fhg+vshoU78zxce0UticGgUkldh2f/wL0iv1vW3a8KS1TM8CWeMproOsp/4470mj6lkw1MdTho+p9Irw0VTODQiyMjyVlWFRVoYll3JHw5maAiAoawJL1qzs8owCRFg7UwQYHKuvA6APmyGAR8X+5eSiA+FGlKvISqHXVEyywqAtG9PLQDYOESOUrdi5bKecB7mT9W/92UnbzKds/CivQ1ggaPNaTYebto+Dm7It2LtszSNuSJ/mqPEUqaYzG67KzmDhcq440LVTrjHdCbAH3C3KLoZujDGxdgHfzSH/3ziKTf8HIG18azVlTW7R07J2d0c5mZEt3MkFd2eAu7W3sVJe7p0CX/6/fltthFVFKkqjtj7zaoWWRHyaxBAL0BcngJzxrUs1ANWoinudxTTyo7X3vEkF7WDJOkHMB/f2PmpRAYPiGEZh1PFXRQ6uOCwmCQHcLjO1QlaXT8roV1cmYLFRH/qIMoDdb6ZdyDqrc40JgDyupesAej3axsPANaHW0d+K3v6VKQO4dWcnBYyNfnCmBlndj15UYmvdLQVZXYXCAbDvSi53l78mgAvp6tvmI7ycB8vFRn4rC7Z0d8UzgaupqRsZLwDkzv5TIUDPRtu4pZzR/x9ttS/uo2IB5q++zRLVtCeAC/F3TemP0Fvzeym4EC8U3sW+Oa/B+37nEQDoFmu8ZrzdTlxV63fOfcsBAMDIT4LbAYC5ZvPd/8f+n1vebbmzALigAAAQwHHeYgTAdW6gdaFbBSKcajPz+Ekgi2VtdCuFUcG/XvOq0KvaX/LtBzg0FzbxQEo8IZXZxItGvw3ZH5eQQ0tmykBTWTCTZmJNLIkKSSU0YkCCXm33OCStrZMrQacrTnHJSMkVWjMprt2WUOdV1jUFdIKyYhLzf/dFofSrNUJPXZ0h23k0yS4yQ7itdzJmqjhwsrzqj+7MMqlnKY2qS+yyhGbcFLoA6XqJo95gFYoY6USEG+HNc6lmNUzcTbHsuFSqhFJgWYx5103ZxjzZymZTZ8QGj8RAxo2ShcMjb9pOU86KrQLkSLnRmOFGDjONFpx1CXp+s6dvOVx4h3IVL7nbxFUagep8f8S7NVocxKxEfnWDR6/hXkQ87T9Z9YNLZnCf9Dlmsfx8zbHCJMebeqYquSWXCc/YpjXvmnpUiazbSnKTQegpCAFh2s9hSjah52vufYbz9A+ryVFgrtCbZYzt0mfeGYLrgbJalzUNMqomgVWMVFks67y0EFM46+Y3I3DNNWVxTUwuiOvSaiYFqW2Ab7tDuU1RShGhKY6YnJTioazeKCeihEYwu6wmG9tUK49HpautZqJ1h+zsKPQcWAqIKVEnqsSSmJtqnhheK9M0WhgtmepO47uVyu7QWpqtDIeIjQmvctt4GOq3VGnMpi5Rs9OaD+OCoIJ9ijAlxEZ3q8K2cSvUZp3SmC0KHW3jbeojAD4qtIcFXFQPgB+g0B3g59viFAADqeUBeIDyWIQYj2NR/GIqMalKLI7FOYHJ8JDbG+VnZwxJhEixogQLFIRKghIFiqMigSxCBQ3lf2Jj4XzJMV2HhIZtGOJsxPx3x1+U6Iz5JTk2Ivg0hJqUYJ7IBqMJo7HA0wrlnUoclChnBYvwhxO5lcrUnXqV0epC08uiW50qEoH8CHRHjrfInPkG3P3JiRAlkIUK83VE+Guys6hlxhiJAQu2q5B9cEhhYPBIf8/JTwAA","ok":true,"headers":[["content-type","font/woff2"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/tags":{"data":"eyJTZXAyM18wOS0yMy0yOF81NGM1MTQ0ZTliNTAiOiB7Ikxvc3MvdmFsaWQiOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifSwgIkxvc3MvdHJhaW4iOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifX0sICJTZXAyM18wOS0wMy0yMV81NGM1MTQ0ZTliNTAiOiB7Ikxvc3MvdmFsaWQiOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifSwgIkxvc3MvdHJhaW4iOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifX0sICJTZXAyMl8xMC0xNC01Ml8xN2FlNzdmOGFiZTIiOiB7Ikxvc3MvdmFsaWQiOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifSwgIkxvc3MvdHJhaW4iOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifX0sICJTZXAyMl8wMy00MC0wNl9iNWNjYTI3NzgzN2IiOiB7Ikxvc3MvdHJhaW4iOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifSwgIkxvc3MvdmFsaWQiOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifX0sICJTZXAyMl8wMi0xMi0xN19iNWNjYTI3NzgzN2IiOiB7Ikxvc3MvdmFsaWQiOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifSwgIkxvc3MvdHJhaW4iOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifX0sICJTZXAyM18wOC0yOC0xOV81NGM1MTQ0ZTliNTAiOiB7Ikxvc3MvdHJhaW4iOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifSwgIkxvc3MvdmFsaWQiOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifX0sICJ2OCI6IHsiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgIlNlcDIxXzEwLTE4LTE4X2QxMGU1ZDU4YmY0ZSI6IHsiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgIlNlcDIzXzA4LTQwLTI0XzU0YzUxNDRlOWI1MCI6IHsiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgIlNlcDIyXzA4LTI0LTE0XzE3YWU3N2Y4YWJlMiI6IHsiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgIlNlcDIxXzAyLTIzLTIxXzYzYjYzODhmNWYzNCI6IHsiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgIlNlcDIxXzAzLTE3LTA0XzYzYjYzODhmNWYzNCI6IHsiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgIlNlcDIxXzA5LTA0LTUwXzhmODYwYzk0ZjA3ZSI6IHsiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgInY5IjogeyJMb3NzL3RyYWluIjogeyJkaXNwbGF5TmFtZSI6ICIiLCAiZGVzY3JpcHRpb24iOiAiIn0sICJMb3NzL3ZhbGlkIjogeyJkaXNwbGF5TmFtZSI6ICIiLCAiZGVzY3JpcHRpb24iOiAiIn19LCAiU2VwMjFfMDUtNDctMzdfOGY4NjBjOTRmMDdlIjogeyJMb3NzL3RyYWluIjogeyJkaXNwbGF5TmFtZSI6ICIiLCAiZGVzY3JpcHRpb24iOiAiIn0sICJMb3NzL3ZhbGlkIjogeyJkaXNwbGF5TmFtZSI6ICIiLCAiZGVzY3JpcHRpb24iOiAiIn19fQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/font-roboto/Hgo13k-tfSpn0qi1SFdUfZBw1xU1rKptJj_0jans920.woff2":{"data":"d09GMgABAAAAACp8AA4AAAAAUwAAACokAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmQbmUAcg0oGYACGTBEMCu882RYLg14AATYCJAOHNgQgBYJ8ByAbB0Wzon60XsEcRckcrcr+ywTtCAu7vIkKUSLAEkX79qHYsVrOIXiSMp377A39RgODYjP02tCGSQRohCSzPDz5F++ZOzNvvxxoA3ZwF1dQBbkTWP2kVEVi7w/83Hp/Y6PDGnqCKCJlUaKURMVGDUdvMDJHVIg4QBAkokTKpsw6k0LdbmmVFEuwwOtQpqUCDdCJ2b0GBxDpf/9u9j+XQGQGIl+tEq1VOr0S2T2sZ9/yxZFpIOkgKdrXFN+0M4foFz9c20sDSrJUtd8OCK1oKHa27U18eptmu8+6n1sZZrwh1iFPj21mdFClKFNUq/93o939u+KbE5lkB2SZJB2R5cAGsWTqrUM7zIdYBXl6atOlKtOWiEXbpgo81PXj7dWfHuECB1Jm2+HuZL8f70TNAaYHlnBAUZgNm3JkGG03jk1xP/499lO/h8a025fRsa1BIErglKnQ8fHzfnMpUDgA2BYKi5NUIDQ4QIQIgYgWDRErFiJBAkSyZIhU6RBVaqF0ewuBQAEzgDkQoECEQIBppKlg2GIrPTMQ2TfEnwgiB/rjvUHkMOfAGyCCAZD/FKAcur//DWACClAwQAGBpUlB5GIAtizHa0ttKaeKQm2vQ3WjLhTVQKGY0BvBgRIKqVANlwisjyMh0ppQ1Deh+NGEqrmqWJVvR6sBXG61pUbIcN+o7fsN1YWeG1N63ISEowypb1sGWKzY8DpJ3CkSTjtHmhx5511wiQJFylRcoU2HHkPGTJiyYMWGLXuOcuTKV6Bbj3t69ek3YNCQYSNGTZsxa868FVu2PfTIczt27dl34I23EJdyAwMFfBTxUCZghQAEb+JI40oBPPzwTqYFqckPl/DRyMe08rXrBG3owhTmxS1yn3W+YpMv2NPI6flaXgooRLGrJy3cQy/60I8B12qP3ccaHmAdG67NXtvCNh7iEXawiz3s48D1olde4hVeu970wtsMwjaH99Tmno4VDtFZAeNSrlHIXYr5hnI+ssI6gwG6/lZhafUuYcKQGyyyk21O8pl0F5anRKe+hKRJzioM2PG5intH5jlnvABOsOE15+h57j1YUvnOZcECFrGE5QH5YHFhVcVk89DKF64D2tCFORWrpzfpHFxyGfkocG32wha28RCPBmallW9chzZ0YY50bGIL23iIR92j6eBkRZYtblimWt8BdrGHfRwMjMGVcXiQh0IUU5XwBm/wBm/wRsbArPTgGMKouGlGscxMtljtDPousId9HHCk8eGjnchRVvmebT6Bxp77ruYXziqNopPv7ulXENErGQ4s+RyvBEcuYqbr2GmL3GDVUKy+Fj7ZKiznRWelhByWnEOKchUiN+kQOtihuhEG0J8bccBhQuqyeXrnTrum1lzT8jWp2mttvd+rXmrFWQVIfwX5paKwooXeF1k1MKMFSTfeC7JJvONjX+SHa4rSa/WkWSiSb/fh3hfYv4gLkMKyVHDm+2ltX5m8yJ7Zj+T0P384/U+tXkEdC+GzK+QVhIv8inJt93vWy/aEFWd2g4oPFenBdtqonu5m1d3tTZW48eREz/uAHZAvcedZrc/Z2ZBl7ZbD+VW1lVH3UtjKlWmNTW66A2eK6YxQXGCt7o8ih+Tr9u/et9hB7qnKD2j5a5i4Z9KsXOmQ+czviLa92Z982e1vGSa/gQdzLk/G24L+OfYP7itOpkh5++FJX0EunXxrrYAP7qX7eG+L2sz/9h83iBO6mH7laRzKccmdjdbuSS2w9+gvrXKTz/at3rbWE5gza5LxXcakfbfXdMP6xUO5j0tdabfOe5ev7B89BnJbvZQWauCDDYLpIrhE4fmNdpIEBpLkMbtERT9r0CJMGx6mFx9hzMxRFh5nE59gx8F/UmJxOQqdUvxdSrdHznnugHke87CFcr5fBBHkUDiUWBQxhYnL7ZQICTGkZHFOVtIKkBMhL59LsrssCwVFKCpESS7KslGRk4ZYmjLSyvxqzTAFhmqCgSlEM5ORhbxsZGYnD3uZOcghpTDmeEdBeciHcr3VYKHCBoFwKLkY0WMAyuB/3IaMwpg2D7FgGYsVitms2oC1GfPb8giT520GOw6g0Rsxww33kQ83sgCGM3wFS44oZ1gUKQXJiXJelIuZA7EZFpjhhxdOWOFqsKraELpcEJRAw3BEM4cIS9lYZwxiC5jAdGQXC1HSRElvI7JkE8AQbvjghu/I5y6KAIAtKPRAwQxrYDw/guAGOsE7e7/wGsZi+ukydWme9zxdUpnlFWHcdBcNHJ3NTcyqyq1Mrh6ktI2hnrTtVQtpR0P9yp1NdLkOk6PJsGPejIsG6rax+x1B8gGx/3dnPpA8zNPdGS6AQ2nG60cE+fiDkZAZgArFfpACYdfq1hcvVOAKcZBlx1exPgowcdUHjmrjNRnlbeurgqLfPvZhR61kpJob9SfpQOg1EJ7ycT9eWB0N8FQRgGw66oOyZnCnVokV0Y9MCYsG9eo0atLspha32r0VRNb1baECBKJr067DHZ1QEHyOALWRiiQM6Nd1OVBWeGiuLyOEPpR6zFPA6sDmVoettzPUAlWw0jws/AU4YFQcgIPcDGibdDpcqEGDNV9WLeXh2bCAchCGogdsBIeBEDBThEr5t9agCYv2vfcPkSmmMRFb8XDMhxPBHcUdx4nhFHDquONwi8fz7x+YCadSleJzD5m05MCHU8SkNy9OCHd47Mvdl/yWuwRyBEsOg/wh+PTl26TwTf3p/B0RqEKRBXJh7fST5zENEFDpawHrYY+J1v7H63WjdZv64frlx4i1YNGSZSvixFt135oH1m1IkPiD9gknSfbCS6+89kaKt9gAJXsfe3UUa+YWFWOchEZuwb24FYuxL7kb9+EePIgj8RAexwPkCZyKJ/EiHiQv4X68jDfwFN7EWzgNb+N9vIAP8CHOwEf4HK+SL3AWvsSPeJv8hLPxM/7AJ/gTf+Ec/I3/8RWZ4DySwvflZW3R+c6yo7CT6ILyeEJ0UXm8I7q4PN4TXeIczxcWiC51jpcUlhZd7hwvKywvuqp8vJLo2vLxaqLrnOONhU1E15ePtxDdWD4+TnRT+XhxyM2+pcAIboFAYarPf2YX+CGpvIeFOPMLceFeq6w/gTgKoAOPf8ccgYGG2FEPQNWhofLt/UALE/2mIyCoiUWA8u69T4ycPEbW3F4KAyVXBYbCtFbWDIAcu3egbYgijIKBSmtD3rZHg70UQqd9HYL1m5HgXPSvCAYWDOYwKN7mdOwa82gYrBC4l+W7YTuzMlPOrQBlwS/rf4hsqNQT0ZlDuzeZesi9DmVE0YpagF3r3PY2r9MVxxBTw2Hco1tnXKeDMuJAF1gsIMfjOmbAN1QXPTaSPaYCbcTshjElittS+z/nIl4/b9ZtQGSp2g1zHq1K41Qq7QFeCq6YYH7Dc1act4bNyMpcOWb3gdM0dyI+PWsGO50zEbTHmFCU3YtPIP04/5T7OCK1C77qhjQKb+TGUupLBOix9GHsmjPRi4XI1AiCigGn2ZgTpNVfKSstJaBY0ohrqVDeESsYjADmyaEiQtD64s8Ll5k9zYqF67Ram0p57DSqUwp1KYL2qu0iZU4uuafHGZIUzA/Lbp1zH7cp+VncGlW+u15Bul4rudhswtRWUi+ttiILG20q/+z4wOwPqX+o9gZy2NehB66FNVd4NRro0wqm4aTRZO/iiU0XCpl4YpiHYW0aOeEH8nhtpJV6KtIKO8h74pAu7IpgKUkDYKbDl3dUHnW4w08ZXtMxr2jrw0QmQAtrbcEUdRrS9zvQ7u9W6ZKaqpIdPYcBZ0OfG7xnLXsSYjof7vz2Ab8AR+H4rujx0VQdMg3PM+cokxlNDuMJMWHaGNJ0Rfk+kAWTf1009M98UKgRNLn+y5AIhhvD5j7PKyKGSIyXtSqbH9XMK6Gf3cnYdAy85G7oXdgsD4irnbLXImb7v5s3q9X6r1HsSfXtaptuM9pu/wkHteuoCqHP95OsuN1HphiTTkLsaTN5ZnvaiRx4g3gGLpd/Yi4bLbK4pKJVuFnlZkG6Phpl7KRdA6SrPzFppuJzTWST5rbdgy5L0O4MJlaMC7r4dPbKxEIQmEzFlvfnruhciE7XzhrtnkOe0USojrcyvQeZQNpa/Zv9WoyHHeiuGrEKWY4fYbJraxfWRlMprZXocIL5lOaP/8zbtZLTcCxjYnGpWmCj1FRZ86AMand3Su7LE40xRdnVeUGzTA/dVbM8B5hoivq182/t2V/4mirsvY66MUq9uJDrI/g0Ot2gespzFY0XL7+SKcKExsowxTf6JqTl++Ic0Ok5PDvF4IxCK2qjkxpNDy4QtjMvMMYELnsoDMhe7AriwA4ekL0R21UGh9R70/+ZdCbZ1t6gs4yyUwCzDGFZ5XJqmDs5Asx0Le2pVHLjxclmg04GIdxQGUMnwdL8LFIBDsWoW3ktMIWwVhnP+4K6agDowkRGVZn8jsqOCBlqoKCYlTjJz3k1eODW10lDTcflpoMhxO4l6MrkQSRsdNbMPBo9bNEwPrOSdY6ezTs+lrZGmnpQY/ZZIC1DyjNjOjqHlpZRyyXNd+ZVEMoleF5+i9Vxwi1foWkjhI8lwzFbKbqEPY7idhBST44a75IK9XCsd7mzTsbOuNSwXvCSXSlRLY8tArQFhNT7n+U5KKjGuluuQ/ZkOccGNfHQysY5LL3hutJgXHpyhEP9zmOPaK8fLdSYhEwHuoLbogcvj2XudCGKXCynsEsLUlkBrOEYmQbLUW7gl0tzpqoAJgS55SycCwUTUxqeEosN32jpJNHJUg2MzYX0hse5st1NKhhUchjvkL7ApR6ioKFOEgMPwm+dk9rkGla1ajkHb8jlUGaeBBsW2Fa5mFEZBnTqgQtLmC7kHZzRoEH1BjoU9TWd+cyswCZCXQRO208HPaFk9UL5zFUf0zWnCrbDpCGR0swhjHlHWprAOZSksdvo51vt71uyWcnolYB0FTuT4fm1F49PRbA8XrgjlScpL4Dn6vndtJm/jkn9X3OR9fsWNuK+x+ekfHmC589NrdoMGrktOpNFk43qvZRnTTvP9zS2aOEm+3h2ZsKu+5T0mOZsb6mU3pKWWl+4/ZrZZUSXvhLoOI2i2WqKfS8O03WdTT28eU2AjhSHxLw7ypQ8PhCW7+SNpPBTCiTHkBmJMgTXOHeHc2FjD9q7na2WxKWa8Yk5HqujY3lyNItQQxKQzSTMW/NlNYgmwItXI2cuqmaGAFtJSeOyXAt5YPMsU9Eetk5dMQhV/eq78AM7ohXTU/AS/9O9Ep7WG1s17oShrQgNnEst9OGam5O8LGUOojRXOb4aQJp7GJGWL1zgQG0qFYlu8B/F+tnM4XtFrz77kQUzRT2Gp1WeOBsxdrozEryYyTMRuze2TcCmETjB3TJ1cNQ4ZAHzQNvuRQW2dEdzQHo8r3I9gflbwYhaMyM40VkBtURhRp+mw9yUSsks19NaH/TC330nLVdxRVYWp6q6aogZW5i+zlWTuif/GE/EmPgYjnB8YtJsmytjbBqKvxfd5k1nKkAixEIK1bB3blMaczMgwHpHM/7FTMexvWR5QTEuhYW6evbeSbd+IbboMFVAe8GynImOj5qeA5mvhjd1cSnRSK4BKtKxE8/7KgECClcH07ranaNROF2Zd7NSPN5om6XkLAC2mn5Ot6bcI4SnGLiiE47zBL6mXXjfr2k0cgwVFv7qId4RM2TCrd18jzs8y3QmtDm5arXv2itPt0lvtIeMAYY+hsbbAYaRO0Yj+D0reacKjdgnIfZoOJRLArdDYUx1XscH9BaOi87p9QHn+UDeS0aoMefXqVE0RreFD0UKekWu387+2XdNugWdJAwqXElQFNyie07f59F/9r2FWrftb4ohoAjbX4fupIy0TpVnmp0jJTWTMzfZZwgztzmHDibJZdXd6bTy3DBKVoJDcDnRINejdm6qnX0A3z/Ftv18nFLaSa+htRcA9n5hTGXzj8rmJK2o8uYwak1DihPWnkC2NHejOGnbu1PMTD3IbuKjZ2Mqm75VN6ZoPdQlOTI4bBAsunbRdiIEWpi5B7l+P9A5JxnoX76sQVhNxMLDoNa4qLOtKPVmZVhmXUoFNWPZJvse6Udk88RBZniWgf6CZcDS5/vtXmF9pUFNA7bNemqa+euPV0Yr8mM7ytF8kqEJdTGuf4x9dAy8PWxcAsKB42QAl7QNg3g+AVJ1t0jF62ZU7cNGV6WiO/DfVeTHlh2i68RcVWd6EbrrJsR8QJQe3mrXjKP00YWzRv1Jx4S9RceoRilH9RgI17P+jSaVgEDOC13vY266oWg/D8ZAtQicm57/45NmKmvSs1JmShC00+vb+zzkebtv+0oIxHBqytmEoGJKgsKXgNPwCf4JZGqdGDJa0nxoNAcpYT5i2LNEuOLvKP9M5eHG3iXUaYzcjuL2xo40+hQZ87P6X111zf/I56P/NzJWVdYi8AO6KIDBpWb7vr/LB8KZdp/OU2mOPVYpVZW0nDu9+WTqjek5/9ipp8udhIiPFXfyZv6AsJxwmHvRdaMI07Systy09tpEip/fvWk8dWJnvc8zjh5wJvFkandU7+eduZgN9+B7YZTU4dbCkpbygux7RV0UuBC9toPf8aX43lI/feJ3rMSJbRFVeVvYfKk5vkHyk30daFg2/vJftb/zZ3Hg9SrXQABXbkNhRmn5+N3Ktuli8/DTGsog39nryYE5I8vJpWjSYxMw9JzpAc1zZzwichkj9YGS6Nqiid7C+48l4NwJAyPvS9NaHjW1tCyCap232J53uFidjhKhH1TkL/vFtntLhJ8uGIzo/bO1vPp7sy8sazjitLdEZLtf54u1qFfrmBPeScOtUoM3BXpqK0p6a1CuGuEt9QlJjZWxUY0lyYnNpXDxWvUV+34CKaw/0v1ZQuaN1xMxMdufZUWIKYap1gLgfpoBzXnMYoQyQBP303jc/aWM1rnb2tD6GBZpd89EyLVRneXaQiNAOUD5mtc1jHQG8rI5E1JU+eVQZ1rz1DAg5yBBihnjI5eMjjqphMfRyJTsJCSQjNRsjjW2TEy1EJ37ksJ9HToT9I+3iot59LeAmHgL+FQjDNnOP1sS/J1D8Ly23sMDackfuec4qoP/DtB89ANO66nKXmYOMIi0pBZ+YJrnybUudFw1WRmNFvxeGqE0v23Xdqb9qGH8rKzHT/en7fWsIqz8D1siX33951w2Fakb/8NDa6JOj+VfSfQ1aVtSNV33AihVFeblFUQfD6IH4bUSJe2CXOdRE4ZuwNBbX30c6vMLrfc6EXGoeDhy+MfGY+9eM7/y7sqMRHppaSjBqAjVmBKf1hrXJge6HyeE9gQ+v6j+UZV4Cgb6RxLP/K2uf8Xxm/9x2Fl//MQrcUz7790zo8Oj3QLdvF+1BR2HqsvPjSSMlp09WnOP+7zWE759fmmGqF/cZ58AKI/cazLh9EgBDD3ek+VkEyhXNzY0UgFDT/BkvdAA+tK3rthw4ZtuMtdknYHh7nMyDqhn3LvCU1SRioXahrm3okwt9b5/V1KTK/xktHGKlEQPFLwPu6d6jz2fSlOlhYHB87MEuU562L8f3n2dvr/zaJJaXldekNp6FymDfytz08xfP2NuqRruEudECd5T+SDnvuihCxh6GPB30kXzMKKdmNrV0kOZk0X3GBxFx/610giGeeALVd7s8eMwui0l7/bkSSgYjCRPp5xDapr+XSZeyJ9Mk0VqjaAqVRw1EsrJ+FZicfbDabZC9HupheWXp1lB1siYx1r/sIM9mJ3//fiDn3tQR29TYcG99ptIOBjEJC9lyycaMO2b6Z4CYwHzelRNuiSM1fAcuaEZqUmTmQqFsqUZ4V3l0muJ1Lp9g4M8u//mS8yz2bSateRT3l7ssdL+kyElvbfTikeb2mzhCkIIaUobjXDXyfFsaeBZepC1SwqfpIblzd5paRjPpZDaUhO9pv3xFT4tPIvPisEnbjyKWrzXNtg8nwfaGlqfAaNFldX6ydMJdM7Tn0N25OaLwIJ9vp8Mj16HbnYvz3gszXZtwY2OCNrh2t+Jonv0YHpFJ8BYkuSzC+u8YzIk3jiZ85vndrgCxSMEzenBfLUB/2WcyOD/LyBYUIMeAeJy14vcc57Nf3iW20BtomZ/fPZ8Pgdc8g6titBwO2n/Uf/DraZlwzv3WA8h+wsMrzQ9H1vB0QciK4B9s0LQAcZuHUBj6EFi2LNBANgoXRXTJayuyNy1iDnPzqXA0w9sJB4EwkUc3i/+3odDbi98nglmghYPg6uK8YiVT+nQrfhy7N3Xm9RAWlxyeE2kDRmi3/fd7ly6g6qCMpw+23dzSl/Aaad3D9qR6QiSbQIZVGV5/jw51f88oIEhxxewQHb1oz8devwfhox6UPeiIKDC9xTxhfXsbm79SzhjFN6YhiUFMLj4VffZEtd+iP/8r5L0dSk+rX1/lbElgDGiviSyuv3l6onF9gPwFvv99PTwtn+LIxmw4MuQ4V/zpHdXEijYxbp3BY/sRn7brWwXNLwBFd6Ux4nUTwVnSin/r9MixvfZXqoxCHavfKl0ytZQ1NO5FDvAzfs7sXuctz6ZnaGkYRQ+bXS4dMTWN7YVqFcyuR5SdPUJ9UtAuaA2wFvs79NTw4/8b2NKfP9bfvl5ym/OTcH0mlZEye38BjqqNMm/4mHfzpl/kT2AeWzHv0u4lxFJ62fELRer4HTX06e1aRRGJ8iTkElJjyc1p5wK2iNrJReOUxQoaZeSna2nPq/XD9z3FXrzM8rSLhxHXPqk2ud7FJPFB9T7xcVuqbdCKS4ptowCWKCs+4aU5RfMTH7yy4DjHzYJcOUqoG8rOnc43wD15ctuw8QgOyx1hTINmaGpqVFIWzVz4BxlBVKikhL8qqLEIvYpCvuF3TvZreTa6XFDtoeqANaSpZT/H6akbbBK/RQuo/zcTkxfZ+vbkplGpn7UVMs9zQmG2c7X+XpXTv+cBdXjI76u+h4HlZwiA2aLhCkMbHk88vAkhoxebHpfeKPMU8KN8bRdhbNPQeMHPLNHt/3qMdm+O/MoYkFF6wP4/WJZaXyXv+54j0fSqdzDs6DpHUig71uc8S0OwwUfkBWCkJsOgyuycyB7ldea5n1MqdxAz884aq2+oXOrPZPiWB4eEkzzMDMOtlLQLjXVDTJLfljT3v+qK42C9agOTAgv8gF+vCH/U5enyzaqlnpHrzEzOD81ppJoqSuTLpP8cF412bv07a2OKWRsiNx2/ieD+gNOikIgvKnly8mjCqsrOAu7KVCh/Ae3naAzl5oSgYv3/CE/AQ/2HZUw3jsKBG5Xm5lZbl5rAm+tAhXex5zoot3giRBLl5v+RNPDxYZdPB0+3eQdpUUf3v1Ethq7d4YdXNasiBYnPeWzhONkYuGV2yDe1EoCTQ1z57WGsJwGmaZnvY8YDzwOMHvQ1fCsUVbY4LP+5bVvd6/f1fu4iz7xyQgE2PGAHcADk1pogz7x9M+QGnfza03ps66wQbNs/e69J5ijW5nxUW/TswYZMHD5nVc/GH097EJnpeUpWWuXIF9vyKvqS9CJU7Y1vqbiKHvRyj3cB261kSBQOIwpD3+8X2/eMr+a1I2ojSlMfgGMKXOjOZy7lL1ugdUjL/97vHK8R+AhZbuYc3IZU+Ktf1hz4pj4kFtXrV967Hm4SArb82ojxkz8fR7dTKJTD9/0dK2stFET83Kiw3PoJUyiVh6gSY/X15o08nteW1BcZmZeXklt2N6Ja25oNrOob6pNbalNb2oxt2xujW56uh7SWF1jbqEaQ02Jev8sJSr6SWrku5TUmHePEuFJYsw74Ngi3k+hvbtsTZgjWBHUqeouVi5zLtaX09+lQjk7moKeonyjgMbH226hKUSczTmn1Bu1vwY3fYYuql2K95sjI6ULrW2VvSl++ur2FfrOjrcIVjS8W2CaJ85cyjaVWIWMrD398Wyekj3YVVXXkxRgqGxfoFsuOSrbR7BML3znzRYUYG2q6VipO3PR9hCJLdbfwiU+qOUiMOUF/rxpndfr7zz2/IMEmjyOhTVVkl2rnTatd++frqssdH264RVZlW6bEF5N9CJ6Bss9DaVXy53saGwQbauX7Wivkz5Ob7h5srPinNmtmXvWOhNR2hP3rGfGOyx1libGdRY6LSFp6JWJhXdiUGyg2436kOpUZXNDe2MbguZ1LwyhLiYhLIuWoGgnbKFvdN5f8XVj9H52BChEx1AO3/GSBPwGxxIdcbIztJBS/v/EbKKjXu443eAEvVa+nV517njHzcbj9DrphQ/WLlqonLLQ8Pi0K1rCF4mFjGoJXITVbGsdbZtem05jD1MNc4vrnkgrnNO44u3sDeJuMx7p6W74DNpCVvYELTuNoGZlGWduqaZhbn3tqrU1iPEqJxISu0hd5YTyLpLAf5/V8GpQXKioe+Wyp4/2FSM9Q0t7K21PYln673QqAR8UQni21AVcd0wtjBAHLSUVc21jPUdtBU+nUio5KotMuKRrryFYJZFDKKPGRFdHuHupeBiZWdrpXqMtaANvF2TtC3oCd65C2J3w7uS4Iv/DASiKgg+2yPnWWrdFGDMZMFvQxETMfxQQdD91jfnv7lPA0KF67sSg0RPNx0YD8G2wli/frsw7Catv7at6UcHijBXj4QhYLPQqONCwUfPiAKZAYhF9IDuHPlDuUHS7Pzunra/Cm8HfN97D1T+W4hgQEDflnxgEYq1IqExQb6+PkUdsdHxqFDk9FQmkIHXLYzfbZyZvkTynaQlmmlgiop5oYD5r0O8DyHDFme3FZV/kpzsRugRw+gRtYfsBc5ksdpScMti144kW9gaG5vZ7OcqT2zAwwHu7eSdsy7wX5+RW4ZG00XnXLCfBeuSNT3NSvRrdc9/Ed4DQFdVyTEiheOyr4JjBHG6ZFzOxq4bpYp8feZkWpXJ/aXm+0qU1Mlbxvn3Uns9PV9Am6hTA0Mm5/uplg81CXc35aOCkuE8NbDQXDTSmKIg4akYJGUtfMnEfSLdKMsxe7ag16zwXKeqmVySnFpoT6aJs6dsVb5ug7xT+xMw+PNj2O1oGDLn4UieIik6KzjveqU09jZllD9vnUBxWcRE5ETF10Z7BbJkvOrrC6V7inoqufb6BY08/IBteX49MDz5v6UkJkrLIjFXNdLO9Z7soCck3Q5g80M4xpEsnCuM6RnkaqMeKK9tBtlPw7f+YghsVpL/TaRExq6HU50l779gn3Vr0FK5J/GxoeJoie30+Mslz/poY4aNWfeowRfY62pVfSMzkliOpqn25x926vdwNn976YxWuPY/bD9xX0TIQ/vOx+ZFRP1jNr3uEv+s5/QoH11l7LfeXOaKlIb+2E9OItqcMKh1cZlw1fd4Wkm9o9qsrCZmK6Jy2rZr+OfuAxf1q5zshOQE1UYuqqR9zoOq/9Dr7Hy1IAcZKil1g08N8y3s5CLOEdZmL7zPEURQo4JsJen18oaWfcxLZkCaFlnjur3ml8R28Wj9B9hyPJhPO69JC8QHsn4LY4wefMMLT8zvP2MBesozyaysxhbadohynGL6WFTG+92Pb6feRnvFPxSv+wXLGcclfkh5lXKYqRW8lp68z5QqbaXz8a3Xl2NdFwdGJ76rj3xe0n03E3J3mKY86mt3QDZJ3vrCQGrrqu3zY3/7VA0bzACNfHyNDP4n6eNf7XU/PQPbqVVkZNVW58xpXz8lcUwPpznkn30ATvUyfy+feXrJG2RHJFtJqoj3DElKqVy8Bxz6Plqx1ECoxiuxrp9METGa6mnLWFFRcbDB+GUj7ozlNbjAGQxEZvxSE951YhaKSa8gxm/ZRcQDLEFRKDWV1QdZ7Q7yrqQneCdE7ZYx3NDXDOxvDwWneWE+xUF6xUE9g66CLRUbNa57DmwyJFO1fdgTtPVOOR66G+9HGx4kgvCizV8AR//8Pn0RhDg1ZD9UO2QxxHDnzv2vcUWYi6bjPxIM3uzU2NbU1oBLTqkZQg92NOy53SLd6B24mpCvwEkLkI74jPn9c/myoT9VCckG0nCMu7qSc1KAkq++PFKi52VIc9kMJMBvk/NU2z627MPmw72jvvy5/N8gb8xvJF56Uw+VH7+qbt4rCayiA6TOBdkF3uyhQEnz9S5Gu62SNxpzGuNi8BqQyszr7dkKifBav9WANtAq1on/LDbAOt7r9P7D0ROr/XlzgibSK7PXszUBfTRMkJSOiUc8gMk06ccGWfGTn6kmHsKykoNBMWmJAUSjW1QOr7nhN43aHvqO9jemxdhD9fMRaWZBfxyY2MIVGDswrCouvqElRXXm4O4GK97rsoSAl7UDwMdV1JBga2ztA9vqNdZJP7561OYRpKGvZTmoIm7mou5eRY+PLyO7qpq6aQlNaNspumUGh1Kxg08Ur7gbVeH1VdcL1WjddviYFW93ruuY6ikrWmto6ltrAb6lpFR2Unh1MKa8ITcyuQ7I0V1bWZoAfzHnFkTpE1UHJUM7L2dNY3+lGpYMbPGjrJHQW/YkwHI4ur835+mEdld4u8gCr4fkBjPDkh1pCvMFeCotLs1Qy+226pKjn24lUOg+KlxZjYHX1+TUKeellRQATRk0xDG5Er1gb9mVr37qKlJV6V1OVB8+g0bkooqnybdB7XjXYWmUGgwMOUO1VyingyvEbQModoD7XT5BWWCisnii3SR2uFx9cTSCuRQOuIU2kmdwkLeRWSetBgQXuxGpOimlVLwJF8Y17UBl0p1non2nuqJ/Wq9mVUfSLqkPcFVKe53eHRKu6f8hVcA8qje40d4mX46y7eta7BzFwp6UD8TJlZSwrOEtONUmraBE5+wfiTvOvf6Y/iJHl1WxdFpBUKYqEgf0A3Gm+ES9LmUqqKudNDXKQdUA07FHEnSajf6Z0zDavZoazxAEYouWwJNrSDCDa9gDiThNDvKxUSFL7As0GQStXDOVzyUWIl2kCB0nG1MO0wSIABnYKuNEkemCPZ7G8mi1rAY5lYm0PBXeaZMvrjWVP5VeBlQy8tgGgqpfacIJ9V4L8f3KeiS+5K/ajSLaLlCYfjmjsjiq3qtYyAaqrWqXTwNBP7K3ccAOCO/+m96iI1pZc+USQs3etLtfmHLIDD/WmG6xYgLvyRwtQSjGKoqu3soz0SOndUxRKtxD1QsApXdA7qVjIgaGMgbvpRlZEfVoyYRRc0ekoaB+PFM+IDBEkUMxP7ES9DfYx3bi8zUZXgVzMxgI7KLuBWou2NDvzr7bmmpgHCEbzbv02EhSeb/bNSIsQZXJCYoPqydWMFIlMZwBLgnbP6Dw3XMFMDgAV/Rt5aI1DsQscJup1rhmwoctZGwAq+rdi4/kclLX7FxUk/OjM1Ucy6a+yD8QSvUcpqM/1bdorWNwAQEUwINuV4wqPZmYGqOjfxhyHm+hW+gAet+kRIFaeV/y1GD+UfmcSngKAxy63FACvH5NPf+L+rDGLTAkApkIBFDA6bMIGMHXDFfGvBiva1UN9P2ncTCu/bDfnC4pCT0ZrYN5IAvpLPu0NYrFDjnRpUUK04h1pcXRLEqXQIVNeyqpnHd2rU4B2eMIFamhEDPThVQxfWkWWDEpNUD99H3ntpLBazWxkwK/9g+Xbge4uK7Yr627p0KOmR1Jk9aYiIWp13Wl1Nku4GBjesLO3ZryEt7cPqzek8+ls/azaJPl+TXV779hIknLbc7HNEGrTbMprNVWcNK0uqDvTr4GQ0ObetLk1kpJ2jEPzR2zH2US9K813WLab0jIrr6xm4bw+G7B5JCi/4esblQ1LOhgx2qbZ7ICPbIJ294V1k9jABFfqLuk6D9eMbBm11MuY9jRzD5U1rO60Zovcstn3aT4NR6j0qWjrCNVP8oDnXVOU1TrUZi9s8LIEr6IVCxlNmVns0pOHpxWqwlqg6jrPtHxXUz5xwbOPqMUSa6WAPidgYAO34YLg2sJqpI27SbPHbnMPuNvoCoYx5q1BXktzvQWybhEqypTGUQjiyI1D9VUZVEGVyqtfUDFICi9ELtydSnEmEW5cw5N6GA/F8mV3UfXhjIjn4lzzqcQuxUZi2jLVNT3SzdaVoeLsoNihhwhYQguKIMIJKjB06cYuSyiCCCeowNDQtWFqk6luS9SWOiyobTG78hIGOjuEGWf+9R3YVGGY5Jpqak/MZjoi1Iao/bQjB5apfE7xDOYqfH22UxgmwSukdrNd4CDADzIIsIaBAMwCAXUMLASYggANacwA9gAvfRFCHPqicAi2o5vsDNAXQ0ycjgVpfroczIxQQ+IrhD9P7jwEwpElTebjwtFCkiER4QfWdoMrKf2qAtFvwsAD3rxQvAB4/oLhuZFigsQFSSASHD1KRpXtLgiRM2Dh8hfAk9/oG1Ktci5SlOS0F8WMdZZtswP5UnAuOshpKc58obuujIwnhcSf+7xEnlzh3ZDRw/d+jh5tajQYMKXhbL8+6azgxtKLmxoAAA==","ok":true,"headers":[["content-type","font/woff2"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_02-23-21_63b6388f5f34&tag=Loss%2Ftrain":{"data":"W1sxNjYzNzI3MDA4LjI1ODk1NDMsIDksIDEzNC4yNDQxNzExNDI1NzgxMl0sIFsxNjYzNzI3MDA4LjYyMDQ0NTUsIDM2LCAzOS4yNjkwMTYyNjU4NjkxNF0sIFsxNjYzNzI3MDA4LjcyODc2NjIsIDQ1LCAzNC4zNjc5ODQ3NzE3Mjg1MTZdLCBbMTY2MzcyNzAwOS40MDUzODQ1LCA5OSwgMjcuMjA0MzQ1NzAzMTI1XSwgWzE2NjM3MjcwMDkuNTIyNzY4LCAxMDgsIDMwLjQ1ODY5MDY0MzMxMDU0N10sIFsxNjYzNzI3MDEwLjAyMTgxMTcsIDEzNSwgMjIuMDg3NTk4ODAwNjU5MThdLCBbMTY2MzcyNzAxMC4xNDMxNTA4LCAxNDQsIDIxLjk3MDkwOTExODY1MjM0NF0sIFsxNjYzNzI3MDEwLjQ4NjEwMTIsIDE3MSwgMTcuMTE1NjQ2MzYyMzA0Njg4XSwgWzE2NjM3MjcwMTAuNjE5NzQ0LCAxODAsIDE0LjQyOTYyNTUxMTE2OTQzNF0sIFsxNjYzNzI3MDEwLjczMTUzMDcsIDE4OSwgMTIuNDMxOTQxMDMyNDA5NjY4XSwgWzE2NjM3MjcwMTAuOTY1NTc1NSwgMjA3LCA5LjQyMTExMjA2MDU0Njg3NV0sIFsxNjYzNzI3MDExLjA5NTU5ODIsIDIxNiwgOS45ODAwNTY3NjI2OTUzMTJdLCBbMTY2MzcyNzAxMS40NDM3OTMsIDI0MywgMjIuMDUyMTMxNjUyODMyMDNdLCBbMTY2MzcyNzAxMS41NTMyOTYzLCAyNTIsIDI0LjAzOTQyODcxMDkzNzVdLCBbMTY2MzcyNzAxMS43NTM0NTYsIDI3MCwgMTMuMzgyNTg5MzQwMjA5OTYxXSwgWzE2NjM3MjcwMTIuMjEzNDUzLCAzMDYsIDYuNTU1MDMxMjk5NTkxMDY0NV0sIFsxNjYzNzI3MDEyLjU4NTUyNywgMzMzLCAxMS4wMjA0MzE1MTg1NTQ2ODhdLCBbMTY2MzcyNzAxMi42OTYwMjA4LCAzNDIsIDkuNTgzODA3OTQ1MjUxNDY1XSwgWzE2NjM3MjcwMTIuODAyMTIxNCwgMzUxLCA4LjU5MDE3MTgxMzk2NDg0NF0sIFsxNjYzNzI3MDEyLjkwNjg4NDcsIDM2MCwgNi42OTc4NTg4MTA0MjQ4MDVdLCBbMTY2MzcyNzAxMy4wMjgwMzU5LCAzNjksIDkuODI2MTY3MTA2NjI4NDE4XSwgWzE2NjM3MjcwMTMuODA2MTk2NSwgNDMyLCA2LjI1NzY0MjI2OTEzNDUyMTVdLCBbMTY2MzcyNzAxMy45MTY1NTQyLCA0NDEsIDcuNDk5MjE5NDE3NTcyMDIxNV0sIFsxNjYzNzI3MDE0LjAzOTM0NiwgNDUwLCA3LjM0MzMwMTc3MzA3MTI4OV0sIFsxNjYzNzI3MDE0LjI2NDk5MjcsIDQ2OCwgOC44MTkwMDUwMTI1MTIyMDddLCBbMTY2MzcyNzAxNC4zODYwNzY3LCA0NzcsIDcuNjI1NDczMDIyNDYwOTM3NV0sIFsxNjYzNzI3MDE0LjYzNDQxMiwgNDk1LCA2LjA3MTcxMDEwOTcxMDY5M10sIFsxNjYzNzI3MDE0LjczODM3NTcsIDUwNCwgNy4zMDM5ODUxMTg4NjU5NjddLCBbMTY2MzcyNzAxNC45NjU3NTk4LCA1MjIsIDYuNzM1OTI1MTk3NjAxMzE4XSwgWzE2NjM3MjcwMTUuMzI5NTcyNywgNTQ5LCA1LjI4OTAyNDgyOTg2NDUwMl0sIFsxNjYzNzI3MDE1LjQzMzQ5OSwgNTU4LCA1LjM3MDgyMTk1MjgxOTgyNF0sIFsxNjYzNzI3MDE1LjUyNTUzMywgNTY3LCA3LjAwOTk1OTIyMDg4NjIzMDVdLCBbMTY2MzcyNzAxNS42MTc0NjM2LCA1NzYsIDcuNTc5NTA2ODc0MDg0NDczXSwgWzE2NjM3MjcwMTUuODEzNTM5NywgNTk0LCA1Ljk4OTcxOTg2NzcwNjI5OV0sIFsxNjYzNzI3MDE1LjkxOTE5NzgsIDYwMywgNS4xNDI3MzMwOTcwNzY0MTZdLCBbMTY2MzcyNzAxNi4wMTg5ODcyLCA2MTIsIDUuNDc0MTc1OTMwMDIzMTkzXSwgWzE2NjM3MjcwMTYuMTg1NDcyNSwgNjIxLCA1Ljc0MDY2MzA1MTYwNTIyNV0sIFsxNjYzNzI3MDE2LjQxMzIwMTYsIDYzOSwgNS4xMDI5NTQzODc2NjQ3OTVdLCBbMTY2MzcyNzAxNi41MTk4NDIxLCA2NDgsIDUuMTI0ODU0MDg3ODI5NTldLCBbMTY2MzcyNzAxNy40ODU2MzkzLCA3MDIsIDYuMDY3MzI1MTE1MjAzODU3XSwgWzE2NjM3MjcwMTcuNzE4Nzk4NCwgNzIwLCA4LjM0MDgxNzQ1MTQ3NzA1XSwgWzE2NjM3MjcwMTcuODMyNDgwNywgNzI5LCA1LjM2ODExNjg1NTYyMTMzOF0sIFsxNjYzNzI3MDE4LjAzNTg0NTUsIDc0NywgNC45MjUzODI2MTQxMzU3NDJdLCBbMTY2MzcyNzAxOC4xNjQ0ODU3LCA3NTYsIDUuNzgxODQ2MDQ2NDQ3NzU0XSwgWzE2NjM3MjcwMTguMzYwNjYyNSwgNzc0LCA1LjAzODAxODcwMzQ2MDY5M10sIFsxNjYzNzI3MDE4LjQ0OTk5MzQsIDc4MywgNS41ODg2ODEyMjEwMDgzMDFdLCBbMTY2MzcyNzAxOC43MzI4NjksIDgxMCwgNS4yOTQyMzk1MjEwMjY2MTFdLCBbMTY2MzcyNzAxOC44MjcyMTQsIDgxOSwgNS41NDUxNTY0Nzg4ODE4MzZdLCBbMTY2MzcyNzAxOS4zMTE1NTI1LCA4NjQsIDYuNjEwMzc2ODM0ODY5Mzg1XSwgWzE2NjM3MjcwMTkuOTk1Mjk2NSwgOTAwLCA1LjE5Mzg3OTEyNzUwMjQ0MV0sIFsxNjYzNzI3MDIwLjEwOTQwNzIsIDkwOSwgNS4wMzY1ODA1NjI1OTE1NTNdLCBbMTY2MzcyNzAyMC4zODkzMDE1LCA5MzYsIDYuMTQyNTU1NzEzNjUzNTY0NV0sIFsxNjYzNzI3MDIwLjc0MDMwMzMsIDk2MywgNC44MDg2MTA0MzkzMDA1MzddLCBbMTY2MzcyNzAyMC44MzA5MzksIDk3MiwgNS4zMTg5NjQwMDQ1MTY2MDJdLCBbMTY2MzcyNzAyMS4wNDIzNzMyLCA5OTAsIDUuNDM4ODUxMzU2NTA2MzQ4XSwgWzE2NjM3MjcwMjEuMTMyNzExNCwgOTk5LCA2Ljk0NDY5NjkwMzIyODc2XSwgWzE2NjM3MjcwMjEuNTA4NTE2LCAxMDM1LCA0LjgxMDMzOTQ1MDgzNjE4Ml0sIFsxNjYzNzI3MDIxLjcxNTEwOTYsIDEwNTMsIDQuNjIzODE3NDQzODQ3NjU2XSwgWzE2NjM3MjcwMjIuMTk5MzUyMywgMTA5OCwgNC45MDE4NzMxMTE3MjQ4NTM1XSwgWzE2NjM3MjcwMjIuNjEyNDA1NSwgMTEzNCwgNS41NjIxNDU3MDk5OTE0NTVdLCBbMTY2MzcyNzAyMi43NDAwODksIDExNDMsIDQuODc0MzUyNDU1MTM5MTZdLCBbMTY2MzcyNzAyMi45NTk0MzQsIDExNjEsIDQuOTI0Nzg2MDkwODUwODNdLCBbMTY2MzcyNzAyMy4xODM4NzgsIDExNzksIDUuMjAzNTM0MTI2MjgxNzM4XSwgWzE2NjM3MjcwMjMuMzAwNjMwMywgMTE4OCwgNS42MDI1OTAwODQwNzU5MjhdLCBbMTY2MzcyNzAyMy40MDgyOTc4LCAxMTk3LCA1LjU4Mzc2NzQxNDA5MzAxOF0sIFsxNjYzNzI3MDIzLjYyMTQ0NTIsIDEyMTUsIDQuNDk0Njc5NDUwOTg4NzY5NV0sIFsxNjYzNzI3MDIzLjgyMTUyNTgsIDEyMzMsIDQuMTY5MzE4Njc1OTk0ODczXSwgWzE2NjM3MjcwMjMuOTI4ODg0LCAxMjQyLCA0LjM1MTQyMTM1NjIwMTE3Ml0sIFsxNjYzNzI3MDI0LjYyODk5NzMsIDEyOTYsIDQuNTgxMDQwMzgyMzg1MjU0XSwgWzE2NjM3MjcwMjQuNzMyMDk2LCAxMzA1LCA0LjYyNDAwMDA3MjQ3OTI0OF0sIFsxNjYzNzI3MDI0LjkzNjIxMDYsIDEzMjMsIDQuODk0MjQ1MTQ3NzA1MDc4XSwgWzE2NjM3MjcwMjUuMDQ4MTMwMywgMTMzMiwgNC42OTg4NTU0MDAwODU0NDldLCBbMTY2MzcyNzAyNS40MTAzOTQsIDEzNTksIDQuMTQ1ODY4Nzc4MjI4NzZdLCBbMTY2MzcyNzAyNi4xMzExNDg4LCAxNDIyLCA0LjI2Nzg1NDY5MDU1MTc1OF0sIFsxNjYzNzI3MDI2LjMxNTc3MDEsIDE0NDAsIDQuMTAxNDIzNzQwMzg2OTYzXSwgWzE2NjM3MjcwMjYuNDA4NDcxOCwgMTQ0OSwgMy45MzU0NTQzNjg1OTEzMDg2XSwgWzE2NjM3MjcwMjYuNjE0MjgwNywgMTQ2NywgNC44OTMzMTQ4Mzg0MDk0MjRdLCBbMTY2MzcyNzAyNi43OTk3OTU0LCAxNDg1LCA0LjE4NzM4NzQ2NjQzMDY2NF0sIFsxNjYzNzI3MDI2Ljk4MzQzNTYsIDE1MDMsIDUuMTA0Njc0ODE2MTMxNTkyXSwgWzE2NjM3MjcwMjcuMzc3NzI1NiwgMTUzOSwgMy44MzI5MDI2Njk5MDY2MTZdLCBbMTY2MzcyNzAyNy40NzI3MTQ0LCAxNTQ4LCAzLjg0ODg1NTAxODYxNTcyMjddLCBbMTY2MzcyNzAyNy41NjM4NDEzLCAxNTU3LCAzLjc5MjYyNjE0MjUwMTgzMV0sIFsxNjYzNzI3MDI3Ljg1MDc0NDcsIDE1ODQsIDMuOTgxMDAzMjg0NDU0MzQ1N10sIFsxNjYzNzI3MDI3Ljk0MDE5OTQsIDE1OTMsIDQuMDYwMjYxMjQ5NTQyMjM2XSwgWzE2NjM3MjcwMjguMDI5MTAxOCwgMTYwMiwgMy44NTMxNTU2MTI5NDU1NTY2XSwgWzE2NjM3MjcwMjguMTMzMTQ2OCwgMTYxMSwgNC42MDEwMzk4ODY0NzQ2MDldLCBbMTY2MzcyNzAyOC4zMTM3NjcsIDE2MjksIDQuNDI4NjkyMzQwODUwODNdLCBbMTY2MzcyNzAyOC40MjM1ODYxLCAxNjM4LCA0LjY4NjIzMzk5NzM0NDk3MV0sIFsxNjYzNzI3MDI4Ljk0NzMyMzYsIDE2NjUsIDQuMjY0Nzc1Mjc2MTg0MDgyXSwgWzE2NjM3MjcwMjkuMDU3MTM5LCAxNjc0LCA0LjIyMjA3Nzg0NjUyNzFdLCBbMTY2MzcyNzAyOS4xNDM5NSwgMTY4MywgMy43MjA4NjkwNjQzMzEwNTQ3XSwgWzE2NjM3MjcwMjkuNDE5MDk4LCAxNzEwLCAzLjU4MjU5ODIwOTM4MTEwMzVdLCBbMTY2MzcyNzAyOS41MTAzMTY0LCAxNzE5LCAzLjc1OTY2MDk1OTI0Mzc3NDRdLCBbMTY2MzcyNzAyOS41OTg0NDM3LCAxNzI4LCA0LjAyNTU2NzUzMTU4NTY5M10sIFsxNjYzNzI3MDI5LjY3ODI1MTcsIDE3MzcsIDQuMTIzNzk3NDE2Njg3MDEyXSwgWzE2NjM3MjcwMzAuMDAyNjQ2NywgMTc2NCwgNC4xMTgwMDc2NTk5MTIxMDldLCBbMTY2MzcyNzAzMC4zMzg5MDgyLCAxNzkxLCAzLjY4MzQ2MDcxMjQzMjg2MTNdLCBbMTY2MzcyNzAzMC40NzA5MDE1LCAxODAwLCA0LjAzOTYzODk5NjEyNDI2OF0sIFsxNjYzNzI3MDMwLjU3MTIyNDIsIDE4MDksIDMuODAxNzU3ODEyNV0sIFsxNjYzNzI3MDMwLjc3NTIzNDUsIDE4MjcsIDQuMjAwMDI5ODUwMDA2MTAzNV0sIFsxNjYzNzI3MDMwLjg3NjE0NywgMTgzNiwgNS42OTU5ODcyMjQ1Nzg4NTddLCBbMTY2MzcyNzAzMC45NjcxNTA3LCAxODQ1LCA0LjkwOTE5MzUxNTc3NzU4OF0sIFsxNjYzNzI3MDMxLjA1NjkzMzksIDE4NTQsIDMuODM3NDcyMjAwMzkzNjc2OF0sIFsxNjYzNzI3MDMxLjI0MTE2MDksIDE4NzIsIDUuMTY1MTk0NTExNDEzNTc0XSwgWzE2NjM3MjcwMzEuNDI3NTMyNCwgMTg5MCwgMy42NzU4NjczMTkxMDcwNTU3XSwgWzE2NjM3MjcwMzEuNjA4MzU3LCAxOTA4LCAzLjYyMTUxMzEyODI4MDYzOTZdLCBbMTY2MzcyNzAzMS43ODI5MDYzLCAxOTI2LCAzLjMyMzUwODI2MjYzNDI3NzNdLCBbMTY2MzcyNzAzMS45NzkwNDMyLCAxOTQ0LCAzLjY5NzU5NzAyNjgyNDk1MV0sIFsxNjYzNzI3MDMyLjA3MzYxOSwgMTk1MywgMy45MDE4MjAxODI4MDAyOTNdLCBbMTY2MzcyNzAzMi4yNTk0NjI2LCAxOTcxLCA0LjY3ODI4MjczNzczMTkzNF0sIFsxNjYzNzI3MDMyLjM0MzUzNTcsIDE5ODAsIDQuMTkzMzc4OTI1MzIzNDg2XSwgWzE2NjM3MjcwMzIuNDQ0MTE0MiwgMTk4OSwgNC4wODE4MjI4NzIxNjE4NjVdLCBbMTY2MzcyNzAzMi41MjkwMTM5LCAxOTk4LCAzLjcxODg4MzUxNDQwNDI5N10sIFsxNjYzNzI3MDMyLjYyMzM1MjMsIDIwMDcsIDMuNzcwOTYwMzMwOTYzMTM0OF0sIFsxNjYzNzI3MDMyLjgyODA5ODMsIDIwMjUsIDMuMzY5MTg1OTI0NTMwMDI5M10sIFsxNjYzNzI3MDMyLjk2NzU3NDQsIDIwMzQsIDQuMjUxMDU2MTk0MzA1NDJdLCBbMTY2MzcyNzAzMy40NjA1NjEsIDIwNzAsIDMuNjQ3NjIxNjMxNjIyMzE0NV0sIFsxNjYzNzI3MDMzLjc3ODA3ODYsIDIwOTcsIDMuNDY2Njc1OTk2NzgwMzk1NV0sIFsxNjYzNzI3MDM0LjUzNjEwNywgMjEyNCwgMy45MTE0NzM1MTI2NDk1MzZdLCBbMTY2MzcyNzAzNC43MzQ3MTE0LCAyMTQyLCA0LjA1Nzg5ODUyMTQyMzM0XSwgWzE2NjM3MjcwMzQuODI4NTUyNSwgMjE1MSwgNC41MTIwODczNDUxMjMyOTFdLCBbMTY2MzcyNzAzNC45MjExMzA3LCAyMTYwLCA1LjA5NTY4MDcxMzY1MzU2NDVdLCBbMTY2MzcyNzAzNS4xMTMyNjc0LCAyMTc4LCA0Ljg3NDIwNjU0Mjk2ODc1XSwgWzE2NjM3MjcwMzUuMjAwNTY3MiwgMjE4NywgMy43ODIwMTE5ODU3Nzg4MDg2XSwgWzE2NjM3MjcwMzUuMzg4NDU0NywgMjIwNSwgMy4yMTk2MzU5NjM0Mzk5NDE0XSwgWzE2NjM3MjcwMzUuNDgxNTIyLCAyMjE0LCAzLjE1NjUxMDExNDY2OThdLCBbMTY2MzcyNzAzNS41NzY2NTYsIDIyMjMsIDMuNTU3MzA2NTI4MDkxNDMwN10sIFsxNjYzNzI3MDM1LjY3MTI1MiwgMjIzMiwgNC4wNzQyODY5Mzc3MTM2MjNdLCBbMTY2MzcyNzAzNi4yNjIxNTYyLCAyMjc3LCAzLjE5OTUwNDg1MjI5NDkyMl0sIFsxNjYzNzI3MDM2LjM2NTQ3MDQsIDIyODYsIDMuNTA0NDA4NTk3OTQ2MTY3XSwgWzE2NjM3MjcwMzYuNDcyODg4MiwgMjI5NSwgMy4zNDY0ODc5OTg5NjI0MDIzXSwgWzE2NjM3MjcwMzYuNzg1MDYwNiwgMjMyMiwgMy40MjU5NTY0ODc2NTU2Mzk2XSwgWzE2NjM3MjcwMzYuODczNDA3LCAyMzMxLCA0Ljc1NjI5MTM4OTQ2NTMzMl0sIFsxNjYzNzI3MDM2Ljk1NjAwMjIsIDIzNDAsIDQuNjQ5ODA2OTc2MzE4MzU5XSwgWzE2NjM3MjcwMzcuMDY4MjIwNiwgMjM0OSwgNS44MjU2OTQwODQxNjc0ODA1XSwgWzE2NjM3MjcwMzcuMjY0MDkzOSwgMjM2NywgNC4yNDQwMTM3ODYzMTU5MThdLCBbMTY2MzcyNzAzOC4yNTgzMTIyLCAyNDM5LCA0LjE1MzI1NTQ2MjY0NjQ4NF0sIFsxNjYzNzI3MDM4LjM4ODkyMTcsIDI0NDgsIDQuNDg1MTI0NTg4MDEyNjk1XSwgWzE2NjM3MjcwMzguNzI0ODMzNywgMjQ3NSwgMy42NjI1OTA1MDM2OTI2MjddLCBbMTY2MzcyNzAzOC44Njg4NzE1LCAyNDg0LCA0LjUxMzgxNDQ0OTMxMDMwM10sIFsxNjYzNzI3MDM5LjAxMTExLCAyNDkzLCA0LjkxNDc2ODY5NTgzMTI5OV0sIFsxNjYzNzI3MDM5LjIyOTQyNTcsIDI1MTEsIDMuMDY4OTYzNzY2MDk4MDIyNV0sIFsxNjYzNzI3MDM5LjQzOTAxMzcsIDI1MjksIDMuOTc2MTM4ODMwMTg0OTM2NV0sIFsxNjYzNzI3MDM5LjYyNTAxODQsIDI1NDcsIDMuNTk1NzkyMDU1MTMwMDA1XSwgWzE2NjM3MjcwMzkuNzc1ODYyLCAyNTU2LCAzLjk5MjE0MzYzMDk4MTQ0NTNdLCBbMTY2MzcyNzAzOS45NzI3NzM2LCAyNTc0LCAzLjcyMzU0NjI2NjU1NTc4Nl0sIFsxNjYzNzI3MDQwLjE2MTg3ODMsIDI1OTIsIDMuMDU4ODQ3MTg4OTQ5NTg1XSwgWzE2NjM3MjcwNDAuMjU2Nzk3OCwgMjYwMSwgMy4xNTI1NzA0ODYwNjg3MjU2XSwgWzE2NjM3MjcwNDAuNDM0NTkxLCAyNjE5LCAzLjgyMDEyMDMzNDYyNTI0NF0sIFsxNjYzNzI3MDQwLjkwMjkxOCwgMjY2NCwgMy41NjM5ODYwNjMwMDM1NF0sIFsxNjYzNzI3MDQxLjAyOTM1MTUsIDI2NzMsIDMuMzc0NzQyMDMxMDk3NDEyXSwgWzE2NjM3MjcwNDEuMTU3OTE0NCwgMjY4MiwgMy4zMTQyMDg1MDc1Mzc4NDJdLCBbMTY2MzcyNzA0MS4yODg5NjM2LCAyNjkxLCAzLjEwMTAzOTY0ODA1NjAzMDNdLCBbMTY2MzcyNzA0MS40MTQ1NDQsIDI3MDAsIDMuMTQ2MjM1MjI3NTg0ODM5XSwgWzE2NjM3MjcwNDEuOTc1NDQ2NywgMjc0NSwgMi45Nzc4MzI3OTQxODk0NTNdLCBbMTY2MzcyNzA0Mi4xOTk5MDgzLCAyNzYzLCAzLjQ1NzEwMDg2ODIyNTA5NzddLCBbMTY2MzcyNzA0Mi4zMDM2NTI4LCAyNzcyLCAyLjkwNjM1NzI4ODM2MDU5NTddLCBbMTY2MzcyNzA0Mi4zOTQ4ODQsIDI3ODEsIDMuNTk0NDY3ODc4MzQxNjc1XSwgWzE2NjM3MjcwNDIuNDg4MzA2OCwgMjc5MCwgMi45ODkzODIwMjg1Nzk3MTJdLCBbMTY2MzcyNzA0Mi43NjkxOTYzLCAyODE3LCAzLjA4Mzc4MDc2NTUzMzQ0NzNdLCBbMTY2MzcyNzA0Mi44NjY5MDUsIDI4MjYsIDQuMDU2OTA4NjA3NDgyOTFdLCBbMTY2MzcyNzA0My4xODE1NTYyLCAyODUzLCA0LjM0MzU3MzA5MzQxNDMwN10sIFsxNjYzNzI3MDQzLjM5MzYwNzQsIDI4NzEsIDIuOTI2NDM1OTQ3NDE4MjEzXSwgWzE2NjM3MjcwNDMuNTAxNzQ3MSwgMjg4MCwgMi45MDQyNjczMTEwOTYxOTE0XSwgWzE2NjM3MjcwNDMuODExMzE0MywgMjkwNywgMy4yMzQ2NTI5OTYwNjMyMzI0XSwgWzE2NjM3MjcwNDQuMDA2MDU1NCwgMjkyNSwgNC4wMzMxMzY4NDQ2MzUwMV0sIFsxNjYzNzI3MDQ0LjQ5MjQyLCAyOTcwLCAzLjE1MjA5MDA3MjYzMTgzNl0sIFsxNjYzNzI3MDQ0LjU4NTI5MjYsIDI5NzksIDIuOTIxNDA3MjIyNzQ3ODAyN10sIFsxNjYzNzI3MDQ0LjY3NDkyMywgMjk4OCwgMy4xNTE3NDkzNzI0ODIzXSwgWzE2NjM3MjcwNDQuNzYwMjQ5LCAyOTk3LCAyLjg5MDk2MjEyMzg3MDg0OTZdLCBbMTY2MzcyNzA0NC44NDQ5NTYsIDMwMDYsIDIuOTIyOTkwNzk4OTUwMTk1M10sIFsxNjYzNzI3MDQ1LjIxODcxMiwgMzA0MiwgMy4zOTc3MzgyMTgzMDc0OTVdLCBbMTY2MzcyNzA0NS4zMDE4ODIsIDMwNTEsIDIuODYxMTgzNDA0OTIyNDg1NF0sIFsxNjYzNzI3MDQ1LjQ4MDgxMSwgMzA2OSwgMy4xNDk3MTMwMzkzOTgxOTM0XSwgWzE2NjM3MjcwNDUuNzUzMDMyMiwgMzA5NiwgMy4zNTYxNzcwOTE1OTg1MTA3XSwgWzE2NjM3MjcwNDUuODQ1NjI2NiwgMzEwNSwgMi45ODMyNzgwMzYxMTc1NTM3XSwgWzE2NjM3MjcwNDUuOTM0NjQzMywgMzExNCwgMi45NjAwNzU4NTUyNTUxMjddLCBbMTY2MzcyNzA0Ni4wMjU1NTI3LCAzMTIzLCAzLjA5MTg0NjIyNzY0NTg3NF0sIFsxNjYzNzI3MDQ2LjIxNzczNzIsIDMxNDEsIDQuNTE3Mjg2Nzc3NDk2MzM4XSwgWzE2NjM3MjcwNDYuNDExOTUxLCAzMTU5LCAyLjY3MTY0MDg3Mjk1NTMyMjNdLCBbMTY2MzcyNzA0Ni41OTk1NiwgMzE3NywgMy4yNDY5MDM4OTYzMzE3ODddLCBbMTY2MzcyNzA0Ni45MDY3MzIsIDMxODYsIDUuMDU1NzI1NTc0NDkzNDA4XSwgWzE2NjM3MjcwNDYuOTk3MTkxMiwgMzE5NSwgMy43MDAyMTU1NzgwNzkyMjM2XSwgWzE2NjM3MjcwNDcuMDg3Njg5MiwgMzIwNCwgNC4xMTQzNjc5NjE4ODM1NDVdLCBbMTY2MzcyNzA0Ny40NjcwMTgsIDMyMzEsIDIuOTE2NDQ0MDYzMTg2NjQ1NV0sIFsxNjYzNzI3MDQ3LjcwNjgxMTIsIDMyNDksIDMuMDIwNjQ5MTk0NzE3NDA3Ml0sIFsxNjYzNzI3MDQ3Ljk0NTAyNDUsIDMyNjcsIDMuMDQwNzA4NTQxODcwMTE3XSwgWzE2NjM3MjcwNDguMDQ2MTgzMywgMzI3NiwgMi44MTQ0MDQ3MjYwMjg0NDI0XSwgWzE2NjM3MjcwNDguMTI5NzAzOCwgMzI4NSwgMy4xNDg1ODY3NTAwMzA1MTc2XSwgWzE2NjM3MjcwNDguMjI0Mjc4MiwgMzI5NCwgMy40NDg1NDQ5NzkwOTU0NTldLCBbMTY2MzcyNzA0OC4zMjM5MjksIDMzMDMsIDMuMTc3MTU4MzU1NzEyODkwNl0sIFsxNjYzNzI3MDQ4LjQxOTQwNSwgMzMxMiwgMy40ODQ5MjgzNjk1MjIwOTQ3XSwgWzE2NjM3MjcwNDguNTA3NzksIDMzMjEsIDMuNjQ5MzU3MzE4ODc4MTc0XSwgWzE2NjM3MjcwNDkuMTU1NDY1MSwgMzM3NSwgMi42NTQ1ODgyMjI1MDM2NjJdLCBbMTY2MzcyNzA0OS40ODg0MzE3LCAzNDAyLCAyLjkzNDI1Njc5MjA2ODQ4MTRdLCBbMTY2MzcyNzA0OS41ODA1MDUsIDM0MTEsIDIuNzUwMzYwNzI3MzEwMTgwN10sIFsxNjYzNzI3MDQ5Ljk3Mjk5MzksIDM0NDcsIDMuMjk1OTE0MTczMTI2MjIwN10sIFsxNjYzNzI3MDUwLjI3MjQwNzgsIDM0NzQsIDIuNjE2NzQ0OTk1MTE3MTg3NV0sIFsxNjYzNzI3MDUwLjM3MjAyOTUsIDM0ODMsIDIuODM3NzM5NzA2MDM5NDI4N10sIFsxNjYzNzI3MDUwLjY2ODgyNzMsIDM1MTAsIDMuMDc3OTI3MTEyNTc5MzQ1N10sIFsxNjYzNzI3MDUwLjc2MTQwODMsIDM1MTksIDMuMzQ3MjMxMzg4MDkyMDQxXSwgWzE2NjM3MjcwNTAuODUzMDE0MiwgMzUyOCwgNC4xNzI2ODY1NzY4NDMyNjJdLCBbMTY2MzcyNzA1MC45Mzk5MjM4LCAzNTM3LCAzLjk2NTkwNTY2NjM1MTMxODRdLCBbMTY2MzcyNzA1MS4wMzIwOTgzLCAzNTQ2LCAyLjY3MTQ2NDY4MTYyNTM2Nl0sIFsxNjYzNzI3MDUxLjEyNDIwOCwgMzU1NSwgMy4yNDIxODk0MDczNDg2MzNdLCBbMTY2MzcyNzA1MS4yMTczNjA1LCAzNTY0LCAzLjI0NzU3ODE0NDA3MzQ4NjNdLCBbMTY2MzcyNzA1MS4zMjMwNDYyLCAzNTczLCAyLjg1OTIwMzgxNTQ2MDIwNV0sIFsxNjYzNzI3MDUxLjQxNDQ2ODUsIDM1ODIsIDIuNjUxMTEzNTEwMTMxODM2XSwgWzE2NjM3MjcwNTEuNTE1NTM5LCAzNTkxLCAzLjQ2MTkwODEwMjAzNTUyMjVdLCBbMTY2MzcyNzA1MS42MDE2NTEsIDM2MDAsIDIuODc2NjU2NTMyMjg3NTk3N10sIFsxNjYzNzI3MDUxLjc5NDA5ODYsIDM2MTgsIDguMDUxNTkzNzgwNTE3NTc4XSwgWzE2NjM3MjcwNTEuODkxMTU5NSwgMzYyNywgNS4zNjYxNzY2MDUyMjQ2MDldLCBbMTY2MzcyNzA1Mi4wNzc4MjY1LCAzNjQ1LCAyLjk2MjUxNDYzODkwMDc1N10sIFsxNjYzNzI3MDUyLjI2NDMyNTYsIDM2NjMsIDIuOTQ1OTE1Njk5MDA1MTI3XSwgWzE2NjM3MjcwNTIuNDU3MDM3MiwgMzY4MSwgMi41NDA0NjgyMTU5NDIzODNdLCBbMTY2MzcyNzA1Mi41NTA4MDQsIDM2OTAsIDIuNzUxNTIzMDE3ODgzMzAxXSwgWzE2NjM3MjcwNTIuODI4MDQ2NiwgMzcxNywgMi45MzEyNjQ4NzczMTkzMzZdLCBbMTY2MzcyNzA1Mi45MTkxNjY2LCAzNzI2LCAyLjY5MjA1MzMxODAyMzY4MTZdLCBbMTY2MzcyNzA1My4wMTY4NzEyLCAzNzM1LCAyLjc3ODg2NzQ4MzEzOTAzOF0sIFsxNjYzNzI3MDUzLjEwODc3NjgsIDM3NDQsIDQuMTkxMzM0MjQ3NTg5MTExXSwgWzE2NjM3MjcwNTMuMzk1Njg0NywgMzc3MSwgMy44NTcyNDQyNTMxNTg1NjkzXSwgWzE2NjM3MjcwNTMuNjY3MzEzOCwgMzc5OCwgMi41OTMwMjc4MzAxMjM5MDE0XSwgWzE2NjM3MjcwNTMuNzUzNjMwOSwgMzgwNywgMi40MzYxMzAwNDY4NDQ0ODI0XSwgWzE2NjM3MjcwNTQuMDMwMDI5LCAzODM0LCAyLjg5ODcwODU4MTkyNDQzODVdLCBbMTY2MzcyNzA1NC4xMjc3Njc2LCAzODQzLCAzLjE1ODQ5MDY1NzgwNjM5NjVdLCBbMTY2MzcyNzA1NC41MDYzNTIyLCAzODc5LCAyLjYzODc1OTM3NDYxODUzMDNdLCBbMTY2MzcyNzA1NC41OTYxMDgyLCAzODg4LCAzLjMwNjc4MTc2ODc5ODgyOF0sIFsxNjYzNzI3MDU1LjEzMDE3OTYsIDM5MTUsIDMuMzM2NTQzNzk4NDQ2NjU1M10sIFsxNjYzNzI3MDU1LjIyNDk2NTgsIDM5MjQsIDIuNTM0NzExMzYwOTMxMzk2NV0sIFsxNjYzNzI3MDU1LjMyMjMyNzEsIDM5MzMsIDQuNjExMjQ5OTIzNzA2MDU1XSwgWzE2NjM3MjcwNTUuNDE4NTc4OSwgMzk0MiwgNC40NTYzOTMyNDE4ODIzMjRdLCBbMTY2MzcyNzA1NS41MjAxNjksIDM5NTEsIDQuOTE3Mzc4OTAyNDM1MzAzXSwgWzE2NjM3MjcwNTUuNjExMTAzOCwgMzk2MCwgMy45NDcwMDA3NDE5NTg2MThdLCBbMTY2MzcyNzA1NS43MTAxOTcyLCAzOTY5LCA1LjkyNDA4ODQ3ODA4ODM3OV0sIFsxNjYzNzI3MDU1LjgwNDA0OTcsIDM5NzgsIDMuNDQxODI3Mjk3MjEwNjkzNF0sIFsxNjYzNzI3MDU1Ljk5OTM0MywgMzk5NiwgMy45OTEwNDk3NjY1NDA1MjczXSwgWzE2NjM3MjcwNTYuMDk3ODcsIDQwMDUsIDQuMjg1ODY1NzgzNjkxNDA2XSwgWzE2NjM3MjcwNTYuMTkwNSwgNDAxNCwgMy4xODg5NTkzNjAxMjI2ODA3XSwgWzE2NjM3MjcwNTYuMjgwNjcyLCA0MDIzLCAyLjc5MjA1NDg5MTU4NjMwMzddLCBbMTY2MzcyNzA1Ni42Njk4OTM3LCA0MDU5LCAyLjk5OTE5MTc2MTAxNjg0NTddLCBbMTY2MzcyNzA1Ni43NjM0OTYyLCA0MDY4LCAzLjE0NjIzNjY1ODA5NjMxMzVdLCBbMTY2MzcyNzA1Ni44NzA1OTgzLCA0MDc3LCAzLjIwMDc4MTEwNjk0ODg1MjVdLCBbMTY2MzcyNzA1Ni45NjUxNDUzLCA0MDg2LCAzLjU3MDE5NTkxMzMxNDgxOTNdLCBbMTY2MzcyNzA1Ny4wNTM3MDE5LCA0MDk1LCAyLjk4MjU1ODQ4ODg0NTgyNV0sIFsxNjYzNzI3MDU3LjIyOTgyODgsIDQxMTMsIDIuNzYzODQ4MDY2MzI5OTU2XSwgWzE2NjM3MjcwNTcuNDA0MTA4OCwgNDEzMSwgMy4xMDYxMzA1OTk5NzU1ODZdLCBbMTY2MzcyNzA1Ny41ODY1NzQ2LCA0MTQ5LCAyLjM4OTg1NjgxNTMzODEzNDhdLCBbMTY2MzcyNzA1Ny42ODc5NjMyLCA0MTU4LCAyLjgxNDY2NzIyNDg4NDAzM10sIFsxNjYzNzI3MDU3Ljc4MDIsIDQxNjcsIDIuNTYyMjg5NDc2Mzk0NjUzM10sIFsxNjYzNzI3MDU4LjAwNjgzMiwgNDE4NSwgMy4wNjIyMDI5MzA0NTA0Mzk1XSwgWzE2NjM3MjcwNTguMDk1MjkwMiwgNDE5NCwgMy4yMzc4MTcyODc0NDUwNjg0XSwgWzE2NjM3MjcwNTguMTg0NTM1LCA0MjAzLCAzLjIzMTMxNDE4MjI4MTQ5NF0sIFsxNjYzNzI3MDU4LjM4MDAxNiwgNDIyMSwgMy4wNDQwMjk3MTI2NzcwMDJdLCBbMTY2MzcyNzA1OC42OTU1NDE5LCA0MjM5LCAyLjUxMTczMTM4NjE4NDY5MjRdLCBbMTY2MzcyNzA1OS4xNDYxNDg0LCA0Mjc1LCAzLjM3MTQwODQ2MjUyNDQxNF0sIFsxNjYzNzI3MDU5LjI2NDAxNjIsIDQyODQsIDIuOTI3MTE1OTE3MjA1ODEwNV0sIFsxNjYzNzI3MDU5LjYwNTE1MTQsIDQzMTEsIDMuNDAzMTc1MzU0MDAzOTA2Ml0sIFsxNjYzNzI3MDU5LjcwNDIyNjMsIDQzMjAsIDMuNzQ0NTc3MTY5NDE4MzM1XSwgWzE2NjM3MjcwNTkuNzk5MjQyNywgNDMyOSwgNS42MTk2NDMyMTEzNjQ3NDZdLCBbMTY2MzcyNzA1OS44OTg5OCwgNDMzOCwgNC40NzkwODc4Mjk1ODk4NDRdLCBbMTY2MzcyNzA2MC4wMjgwMzUsIDQzNDcsIDMuNDg0NTE0NzEzMjg3MzUzNV0sIFsxNjYzNzI3MDYwLjEyODk3MSwgNDM1NiwgMi42MDI3Nzg0MzQ3NTM0MThdLCBbMTY2MzcyNzA2MC4yMzEzNzQzLCA0MzY1LCAyLjU1MDE4NzM0OTMxOTQ1OF0sIFsxNjYzNzI3MDYwLjQwMTAxNTUsIDQzODMsIDMuNjQzMzYyOTk4OTYyNDAyM10sIFsxNjYzNzI3MDYwLjUyODc5NDUsIDQzOTIsIDQuNDUyMTg3NTM4MTQ2OTczXSwgWzE2NjM3MjcwNjAuNjE3MTc3NSwgNDQwMSwgNS43NDAyOTg3NDgwMTYzNTddLCBbMTY2MzcyNzA2MC43MTQxODYsIDQ0MTAsIDQuNjA0NjQ0Nzc1MzkwNjI1XSwgWzE2NjM3MjcwNjAuOTg3MzM1NywgNDQyOCwgMy4xOTY5NDcwOTc3NzgzMjAzXSwgWzE2NjM3MjcwNjEuMzEwNzM0LCA0NDU1LCA0LjI5MjU3MDU5MDk3MjldLCBbMTY2MzcyNzA2MS4zOTcwODg1LCA0NDY0LCAzLjgxOTU3MTQ5NTA1NjE1MjNdLCBbMTY2MzcyNzA2MS42NzM4NTIsIDQ0OTEsIDIuNjE3MzYxNzgzOTgxMzIzMl0sIFsxNjYzNzI3MDYxLjk3ODQ0MzksIDQ1MTgsIDIuOTM5ODIxNDgxNzA0NzEyXSwgWzE2NjM3MjcwNjIuMDY3ODIxLCA0NTI3LCAyLjc0NjQwMjUwMjA1OTkzNjVdLCBbMTY2MzcyNzA2Mi4xNTU2MDAzLCA0NTM2LCAyLjU5MDA4MTQ1MzMyMzM2NDNdLCBbMTY2MzcyNzA2Mi40NDM5NjgsIDQ1NjMsIDIuNjkyMjE5OTcyNjEwNDczNl0sIFsxNjYzNzI3MDYyLjYyNzIzODUsIDQ1ODEsIDMuNDIxMTE5OTI4MzU5OTg1NF0sIFsxNjYzNzI3MDYyLjcxNzAwNSwgNDU5MCwgNC4yMjc3Mjc0MTMxNzc0OV0sIFsxNjYzNzI3MDYyLjgwNTU5MjgsIDQ1OTksIDIuOTI3NTEzMTIyNTU4NTkzOF0sIFsxNjYzNzI3MDYyLjkwNDUzNCwgNDYwOCwgMi41NzU2MTIwNjgxNzYyNjk1XSwgWzE2NjM3MjcwNjIuOTkyNDcwMywgNDYxNywgMi41MjA2MTM2NzAzNDkxMjFdLCBbMTY2MzcyNzA2My4wODM3OTYsIDQ2MjYsIDIuNzU0MTU2MzUxMDg5NDc3NV0sIFsxNjYzNzI3MDYzLjE4MDE1NzQsIDQ2MzUsIDMuMzAwNjA5MzUwMjA0NDY3OF0sIFsxNjYzNzI3MDYzLjQ3MjM4NjYsIDQ2NjIsIDIuNTc3ODg3Mjk2Njc2NjM1N10sIFsxNjYzNzI3MDYzLjU3MzgzNCwgNDY3MSwgMy4xODMyMDc1MTE5MDE4NTU1XSwgWzE2NjM3MjcwNjMuODYyMzQyNCwgNDY4MCwgMy4xMDg0Njk3MjQ2NTUxNTE0XSwgWzE2NjM3MjcwNjMuOTU0ODM4NSwgNDY4OSwgMi4zOTM3NjMwNjUzMzgxMzQ4XSwgWzE2NjM3MjcwNjQuMjM3MjUxLCA0NzE2LCAyLjU1Nzk4NTMwNTc4NjEzM10sIFsxNjYzNzI3MDY0Ljg4NjcxMzUsIDQ3NzksIDIuOTQxOTUwMDgyNzc4OTMwN10sIFsxNjYzNzI3MDY1LjE2MjkwOCwgNDgwNiwgMy4zNjM4ODE4MjY0MDA3NTddLCBbMTY2MzcyNzA2NS4yNTk3NDQ0LCA0ODE1LCAzLjg3MzMzNTU5OTg5OTI5Ml0sIFsxNjYzNzI3MDY1LjQ2MTY3NjEsIDQ4MzMsIDIuOTQ5NjM3NDEzMDI0OTAyM10sIFsxNjYzNzI3MDY1LjU1MzczNjQsIDQ4NDIsIDMuMDEwODI4NzMzNDQ0MjE0XSwgWzE2NjM3MjcwNjUuNjQwNDI4OCwgNDg1MSwgMi4zNzgwMjY5NjIyODAyNzM0XSwgWzE2NjM3MjcwNjUuNzI2ODYwMywgNDg2MCwgMi40Nzc1MDcxMTQ0MTA0MDA0XSwgWzE2NjM3MjcwNjUuODIwMzA1LCA0ODY5LCAzLjEwNzYwNjE3MjU2MTY0NTVdLCBbMTY2MzcyNzA2Ni4wODcwMDU5LCA0ODg3LCAyLjQ3ODA1NTk1Mzk3OTQ5Ml0sIFsxNjYzNzI3MDY2LjIyOTg3NjgsIDQ4OTYsIDIuNzc0MjIyMzczOTYyNDAyM10sIFsxNjYzNzI3MDY2LjMyNDgzNzcsIDQ5MDUsIDIuNjA3NzEwMzYxNDgwNzEzXSwgWzE2NjM3MjcwNjYuNTI4OTE1MiwgNDkyMywgMy4zNzI0NDc5Njc1MjkyOTddLCBbMTY2MzcyNzA2Ni42MjMsIDQ5MzIsIDIuNTM2MjUyNDk4NjI2NzA5XSwgWzE2NjM3MjcwNjYuOTM0ODYyNiwgNDk1OSwgMi40MzQyNzkyMDM0MTQ5MTddLCBbMTY2MzcyNzA2Ny4xMjI1MzAyLCA0OTc3LCAyLjg2NTg3NTcyMDk3Nzc4M10sIFsxNjYzNzI3MDY3LjMwNTYwNiwgNDk5NSwgMi40OTczMTYzNjA0NzM2MzNdLCBbMTY2MzcyNzA2Ny40MDQ1MzQ2LCA1MDA0LCAyLjMyNjkwNDI5Njg3NV0sIFsxNjYzNzI3MDY3LjUwNjUwMjksIDUwMTMsIDIuMzkwNTIwODExMDgwOTMyNl0sIFsxNjYzNzI3MDY4LjA2NzkyNiwgNTA2NywgMi42MDIyNjgyMTg5OTQxNDA2XSwgWzE2NjM3MjcwNjguMTU5MzczLCA1MDc2LCAyLjUyNjExNjg0Nzk5MTk0MzRdLCBbMTY2MzcyNzA2OC4yNTE1NTI2LCA1MDg1LCAyLjMwNzc1NDUxNjYwMTU2MjVdLCBbMTY2MzcyNzA2OC42NDc2ODUsIDUxMjEsIDIuODcyOTMxNzE4ODI2Mjk0XSwgWzE2NjM3MjcwNjguNzQwMDkyOCwgNTEzMCwgMi45MDY3MDM3MTA1NTYwMzAzXSwgWzE2NjM3MjcwNjguOTI2OTQ1LCA1MTQ4LCAyLjUzOTI2NDkxNzM3MzY1NzJdLCBbMTY2MzcyNzA2OS4xMDUxMzI2LCA1MTY2LCAyLjIxMTc3NzQ0ODY1NDE3NV0sIFsxNjYzNzI3MDY5LjM3ODM4MzksIDUxOTMsIDIuNTA2ODgyMTkwNzA0MzQ1N10sIFsxNjYzNzI3MDY5Ljc4NzUzMjgsIDUyMjksIDIuNzE0NzI5MDcwNjYzNDUyXSwgWzE2NjM3MjcwNzAuMTQ4ODI1LCA1MjY1LCA0LjI4NzA0MzU3MTQ3MjE2OF0sIFsxNjYzNzI3MDcwLjI0MjAzNzgsIDUyNzQsIDMuNTU1MjExMDY3MTk5NzA3XSwgWzE2NjM3MjcwNzAuMzUzMjMzNiwgNTI4MywgMi41NzY1ODQzMzkxNDE4NDU3XSwgWzE2NjM3MjcwNzAuNTQ0OTIxNCwgNTMwMSwgMi4zNDk4NDc3OTM1NzkxMDE2XSwgWzE2NjM3MjcwNzAuNjM3MTMwMywgNTMxMCwgMi42NTUyNTI0NTY2NjUwMzldLCBbMTY2MzcyNzA3MC43NDQ2NzA2LCA1MzE5LCAyLjIyODExOTg1MDE1ODY5MTRdLCBbMTY2MzcyNzA3MC44MzYxOCwgNTMyOCwgMi4yMjQwNTUwNTE4MDM1ODldLCBbMTY2MzcyNzA3MC45Mzk1OTY3LCA1MzM3LCAyLjkyMjA1ODU4MjMwNTkwOF0sIFsxNjYzNzI3MDcxLjE3Nzg1MTIsIDUzNTUsIDIuMjA4MDY1NzQ4MjE0NzIxN10sIFsxNjYzNzI3MDcxLjM5NDk1ODcsIDUzNzMsIDMuODMyMDExNjk5Njc2NTEzN10sIFsxNjYzNzI3MDcxLjQ5NTk2OTgsIDUzODIsIDQuODE2MjA3NDA4OTA1MDI5XSwgWzE2NjM3MjcwNzEuNTc4NjM4MywgNTM5MSwgMi42NzU5MjE5MTY5NjE2N10sIFsxNjYzNzI3MDcxLjY3MDEyLCA1NDAwLCAyLjM3OTYxODQwNjI5NTc3NjRdLCBbMTY2MzcyNzA3MS44NjEwMjEsIDU0MTgsIDIuNzgzMzE3ODA0MzM2NTQ4XSwgWzE2NjM3MjcwNzEuOTQ5MDg5OCwgNTQyNywgMi42NjY1MzA2MDkxMzA4NTk0XSwgWzE2NjM3MjcwNzIuMjQyOTIxLCA1NDM2LCAzLjEyOTc1MTQ0Mzg2MjkxNV0sIFsxNjYzNzI3MDcyLjQ4NDM0ODMsIDU0NTQsIDIuMjM3NTYxNDY0MzA5NjkyNF0sIFsxNjYzNzI3MDcyLjc2MTE1OCwgNTQ4MSwgMi41MDE3NjgxMTIxODI2MTddLCBbMTY2MzcyNzA3Mi45NTgyODEzLCA1NDk5LCAyLjIyMjUyODkzNDQ3ODc1OThdLCBbMTY2MzcyNzA3My4zMTU0NjE0LCA1NTI2LCAzLjg1OTM1MTE1ODE0MjA5XSwgWzE2NjM3MjcwNzMuNDE1MjkwOCwgNTUzNSwgMy4xMjE2MTgwMzI0NTU0NDQzXSwgWzE2NjM3MjcwNzMuNjEwMDYyNCwgNTU1MywgMi4yNjg3NDA0MTU1NzMxMl0sIFsxNjYzNzI3MDczLjc5Mzk3MTgsIDU1NzEsIDIuMzA4MDgyMTAzNzI5MjQ4XSwgWzE2NjM3MjcwNzMuOTgwMTczOCwgNTU4OSwgMi4yMjA2MzExMjI1ODkxMTEzXSwgWzE2NjM3MjcwNzQuMTYwODYxNSwgNTYwNywgMi4zODAzNzE1NzA1ODcxNThdLCBbMTY2MzcyNzA3NC4yNDU1MDMyLCA1NjE2LCAyLjM0Nzk0OTk4MTY4OTQ1M10sIFsxNjYzNzI3MDc0LjUzMTU4MTYsIDU2NDMsIDQuMzA4Mzc0NDA0OTA3MjI3XSwgWzE2NjM3MjcwNzQuNjE4NDIsIDU2NTIsIDQuNjE2MzE4MjI1ODYwNTk2XSwgWzE2NjM3MjcwNzQuNzEzMjY2MSwgNTY2MSwgMy41MjEzOTg3ODI3MzAxMDI1XSwgWzE2NjM3MjcwNzQuODAzMDUxMiwgNTY3MCwgNS41MDYzODE5ODg1MjUzOTFdLCBbMTY2MzcyNzA3NS4xODAxNDYyLCA1NzA2LCAyLjgyMzkwODMyOTAxMDAwOThdLCBbMTY2MzcyNzA3NS4zNzI3ODgyLCA1NzI0LCAzLjAzNDAzNDcyOTAwMzkwNjJdLCBbMTY2MzcyNzA3NS41NTY3ODksIDU3NDIsIDIuMzI0NzIwNjIxMTA5MDA5XSwgWzE2NjM3MjcwNzUuODMzMDUyMiwgNTc2OSwgMi4zNTg4MDc1NjM3ODE3MzgzXSwgWzE2NjM3MjcwNzUuOTI4NzA3OCwgNTc3OCwgMi43MTQzNDU0NTUxNjk2Nzc3XSwgWzE2NjM3MjcwNzYuMDE3MjYwMywgNTc4NywgMi42MDE5NzI4MTgzNzQ2MzRdLCBbMTY2MzcyNzA3Ni4xMDg3NDEzLCA1Nzk2LCAyLjM1MDM2NjM1Mzk4ODY0NzVdLCBbMTY2MzcyNzA3Ni4yMDgzOTE0LCA1ODA1LCAyLjY4OTQyNjQyMjExOTE0MDZdLCBbMTY2MzcyNzA3Ni4yOTI5MzEsIDU4MTQsIDIuNTY2NzIxNDM5MzYxNTcyM10sIFsxNjYzNzI3MDc2LjY1NDgzMiwgNTg1MCwgMi42NDEwNjYzMTI3ODk5MTddLCBbMTY2MzcyNzA3Ni44MjczMDQsIDU4NjgsIDIuOTQ5NjQyNjU4MjMzNjQyNl0sIFsxNjYzNzI3MDc2LjkxNTcwNTQsIDU4NzcsIDMuNzg4MzgwODYxMjgyMzQ4Nl0sIFsxNjYzNzI3MDc3LjAwMjE0NiwgNTg4NiwgMy41MTM1MDgzMTk4NTQ3MzYzXSwgWzE2NjM3MjcwNzcuMTA1NDg2MiwgNTg5NSwgMi4zMDM3NDgzNjkyMTY5MTldLCBbMTY2MzcyNzA3Ny4xOTYwNTIsIDU5MDQsIDMuMjA0MTEyNzY4MTczMjE3OF0sIFsxNjYzNzI3MDc3LjQ5NjIyMjUsIDU5MzEsIDIuNDcyMjcwMDExOTAxODU1NV0sIFsxNjYzNzI3MDc3LjYyOTc0NjcsIDU5NDAsIDIuNjAzNTAwODQzMDQ4MDk1N10sIFsxNjYzNzI3MDc3Ljc2MDkyOSwgNTk0OSwgMi42NjYzNzYxMTM4OTE2MDE2XSwgWzE2NjM3MjcwNzguNTgzODA4MiwgNjAxMiwgMi4yMDk2NzAwNjY4MzM0OTZdLCBbMTY2MzcyNzA3OC44NTE3MzcsIDYwMzksIDIuMTczNjg3MjE5NjE5NzUxXSwgWzE2NjM3MjcwNzkuMzkzMDA3OCwgNjA4NCwgMi4xNjc3NjI1MTc5MjkwNzddLCBbMTY2MzcyNzA3OS41Mjc4MDA2LCA2MDkzLCAyLjEzMTI4OTI0MzY5ODEyXSwgWzE2NjM3MjcwNzkuNjI4NDA2LCA2MTAyLCAyLjI0MDQwNDg0NDI4NDA1NzZdLCBbMTY2MzcyNzA3OS45NTgwODQsIDYxMjksIDIuMzg2NDIxMjAzNjEzMjgxMl0sIFsxNjYzNzI3MDgwLjM4MDI5MjcsIDYxNDcsIDMuMjAzMTg1MzE5OTAwNTEyN10sIFsxNjYzNzI3MDgwLjUxMDAyMSwgNjE1NiwgMy4yNTEzODcxMTkyOTMyMTNdLCBbMTY2MzcyNzA4MC42MDIzMDMsIDYxNjUsIDIuOTI0MjQ4MjE4NTM2Mzc3XSwgWzE2NjM3MjcwODAuODcwODQ3NSwgNjE5MiwgMi4zODM1ODA0NDYyNDMyODZdLCBbMTY2MzcyNzA4MS40MjcwODU0LCA2MjM3LCAyLjA1ODQ4NTI2OTU0NjUwOV0sIFsxNjYzNzI3MDgxLjUzNjg4MTQsIDYyNDYsIDIuMTA3NTgxODUzODY2NTc3XSwgWzE2NjM3MjcwODEuNjM0NDMwNCwgNjI1NSwgMi4xODIwMzQwMTU2NTU1MTc2XSwgWzE2NjM3MjcwODEuNzQ2MTE3OCwgNjI2NCwgMi4zMTk0MjM5MTM5NTU2ODg1XSwgWzE2NjM3MjcwODEuODM4MDcxOCwgNjI3MywgMi4yMjkyMTcyOTA4NzgyOTZdLCBbMTY2MzcyNzA4MS45MzY5OTIsIDYyODIsIDIuMjgxMDQzMDUyNjczMzRdLCBbMTY2MzcyNzA4Mi4xOTI4OTksIDYzMDAsIDIuNTM2MDM1MDYwODgyNTY4NF0sIFsxNjYzNzI3MDgyLjQ3OTMxMzksIDYzMjcsIDIuNzI1ODg1MTUyODE2NzcyNV0sIFsxNjYzNzI3MDgyLjU2NzI4NDgsIDYzMzYsIDIuMTg3ODgwMDM5MjE1MDg4XSwgWzE2NjM3MjcwODIuNzQ0ODE1NiwgNjM1NCwgMi41MzU5MDIwMjMzMTU0Mjk3XSwgWzE2NjM3MjcwODMuMTAxODQ1MywgNjM5MCwgMi4yNTkxODI0NTMxNTU1MTc2XSwgWzE2NjM3MjcwODMuMTg3MTI4NSwgNjM5OSwgMi4yNzIwMDM2NTA2NjUyODNdLCBbMTY2MzcyNzA4My4zNzg4Mjk1LCA2NDE3LCA0LjU2MzU2OTU0NTc0NTg1XSwgWzE2NjM3MjcwODMuNjU5ODk3LCA2NDQ0LCAyLjg0ODA4MDg3MzQ4OTM4XSwgWzE2NjM3MjcwODMuODQwMDE0NywgNjQ2MiwgMi41MDIyMjk5Mjg5NzAzMzddLCBbMTY2MzcyNzA4NC4wMTY4MSwgNjQ4MCwgMi4yNDM5MDAyOTkwNzIyNjU2XSwgWzE2NjM3MjcwODQuMTEzNDk5MiwgNjQ4OSwgMi4xNzkwODgxMTU2OTIxMzg3XSwgWzE2NjM3MjcwODQuMjU3NTYwNywgNjQ5OCwgMi4xMzA4NDQ4MzE0NjY2NzVdLCBbMTY2MzcyNzA4NC41MjE0NTk4LCA2NTE2LCAzLjM1NDgzODYwOTY5NTQzNDZdLCBbMTY2MzcyNzA4NC43OTA4NzU0LCA2NTM0LCAyLjQxNTI4MTI5NTc3NjM2N10sIFsxNjYzNzI3MDg0LjkwNDUzNSwgNjU0MywgMi4zNDE0MDU4Njg1MzAyNzM0XSwgWzE2NjM3MjcwODUuMDA4NTQyMywgNjU1MiwgMi40OTA5OTczMTQ0NTMxMjVdLCBbMTY2MzcyNzA4NS4xMTk3Mjk1LCA2NTYxLCAzLjkxMjA0NDc2MzU2NTA2MzVdLCBbMTY2MzcyNzA4NS4yMTY3Nzg1LCA2NTcwLCAyLjQ5Mjg0NDU4MTYwNDAwNF0sIFsxNjYzNzI3MDg1LjM5NDA1MzUsIDY1ODgsIDMuMDk0MjgzMzQyMzYxNDVdLCBbMTY2MzcyNzA4NS40ODc5NDIyLCA2NTk3LCAyLjM1NDkzMzI2MTg3MTMzOF0sIFsxNjYzNzI3MDg1LjU4NzIxNTIsIDY2MDYsIDIuNTEyNjM4NTY4ODc4MTc0XSwgWzE2NjM3MjcwODYuMDYxMTUzMiwgNjY1MSwgMi4yOTYzOTMxNTYwNTE2MzU3XSwgWzE2NjM3MjcwODYuMTUwNzUwNCwgNjY2MCwgMi4yNTcwNjI0MzUxNTAxNDY1XSwgWzE2NjM3MjcwODYuMjM5NjM3OSwgNjY2OSwgMi4yMzk4NjYyNTY3MTM4NjddLCBbMTY2MzcyNzA4Ni40MTY1NzI2LCA2Njg3LCAyLjI3ODk0MzMwMDI0NzE5MjRdLCBbMTY2MzcyNzA4Ni41MDg3NDExLCA2Njk2LCAyLjIyOTk2NDczMzEyMzc3OTNdLCBbMTY2MzcyNzA4Ni42MDY4NTQyLCA2NzA1LCAyLjEzNzA4OTcyOTMwOTA4Ml0sIFsxNjYzNzI3MDg2LjcxMjg0MSwgNjcxNCwgMi4zNjEyMjc1MTIzNTk2MTldLCBbMTY2MzcyNzA4Ny40MzM2MTAyLCA2Nzc3LCAyLjA5MTIxNDQxODQxMTI1NV0sIFsxNjYzNzI3MDg3Ljc4NDAwNywgNjgwNCwgMy4wNjcwNjM1NzAwMjI1ODNdLCBbMTY2MzcyNzA4Ny44NzM2ODY2LCA2ODEzLCAzLjI4MTMyOTM5MzM4Njg0MV0sIFsxNjYzNzI3MDg4LjA1MTYwMjgsIDY4MzEsIDQuMjc1NzczNTI1MjM4MDM3XSwgWzE2NjM3MjcwODguNTM2NzQ3LCA2ODc2LCAyLjE3ODgxNDE3Mjc0NDc1MV0sIFsxNjYzNzI3MDg4LjYyNjgwOTEsIDY4ODUsIDIuMjI3MzQyMzY3MTcyMjQxXSwgWzE2NjM3MjcwODguNzIyODI3LCA2ODk0LCAyLjI3NjEzNjM5ODMxNTQyOTddLCBbMTY2MzcyNzA4OS4xMjE4ODgsIDY5MTIsIDIuNDkxMjkxNzYxMzk4MzE1NF0sIFsxNjYzNzI3MDg5LjIyMjI3OTgsIDY5MjEsIDMuMzM0NzE3NTEyMTMwNzM3M10sIFsxNjYzNzI3MDg5LjMxMjcxMTcsIDY5MzAsIDIuOTg1OTA2NjAwOTUyMTQ4NF0sIFsxNjYzNzI3MDg5LjUxMTI2NDMsIDY5NDgsIDIuMTMzMzc4OTgyNTQzOTQ1M10sIFsxNjYzNzI3MDg5LjYyMTc5OTIsIDY5NTcsIDIuMjk4NDgxOTQxMjIzMTQ0NV0sIFsxNjYzNzI3MDg5Ljc0NDA1NDgsIDY5NjYsIDIuNjUxNTE1OTYwNjkzMzU5NF0sIFsxNjYzNzI3MDg5Ljk4OTcyMDMsIDY5ODQsIDIuMzUyNjU4OTg3MDQ1Mjg4XSwgWzE2NjM3MjcwOTAuMDkzNjEwOCwgNjk5MywgMi4xMTI5OTMyNDAzNTY0NDUzXSwgWzE2NjM3MjcwOTAuMzE5OTMzLCA3MDExLCAyLjM5NzYxNjM4NjQxMzU3NF0sIFsxNjYzNzI3MDkwLjQxNDEwMzUsIDcwMjAsIDIuMjYwMjU3NzIwOTQ3MjY1Nl0sIFsxNjYzNzI3MDkwLjUxMTQyODQsIDcwMjksIDIuNTUwMjY5MTI2ODkyMDldLCBbMTY2MzcyNzA5MC42MDE0MTc4LCA3MDM4LCA0LjQ3Njc0Nzk4OTY1NDU0MV0sIFsxNjYzNzI3MDkwLjY5MzI5LCA3MDQ3LCAzLjAyNjcxMDAzMzQxNjc0OF0sIFsxNjYzNzI3MDkwLjc5MTczNjYsIDcwNTYsIDMuMDQwNDAzODQyOTI2MDI1NF0sIFsxNjYzNzI3MDkxLjE5ODY2MzcsIDcwODMsIDIuNjMxMDI3MjIxNjc5Njg3NV0sIFsxNjYzNzI3MDkxLjQwNjU3MSwgNzEwMSwgMi41MzIxOTk4NTk2MTkxNDA2XSwgWzE2NjM3MjcwOTEuNTAzODMwNCwgNzExMCwgMi4yMTMzMjI4Nzc4ODM5MTFdLCBbMTY2MzcyNzA5MS43MDI4MTUzLCA3MTI4LCA0LjE5NjY1OTU2NDk3MTkyNF0sIFsxNjYzNzI3MDkxLjg5NzUyMzQsIDcxNDYsIDYuMTA3NTkzMDU5NTM5Nzk1XSwgWzE2NjM3MjcwOTIuMDkzMDQ2NywgNzE2NCwgNC41MTE5MzQyODAzOTU1MDhdLCBbMTY2MzcyNzA5Mi4xOTAwMjY4LCA3MTczLCAyLjg1MzgxNjk4NjA4Mzk4NDRdLCBbMTY2MzcyNzA5Mi40NzEyNTIyLCA3MjAwLCAyLjIzMDY0MjMxODcyNTU4Nl0sIFsxNjYzNzI3MDkyLjU2MTU3MTYsIDcyMDksIDIuNjAxNDQ0NDgyODAzMzQ0N10sIFsxNjYzNzI3MDkyLjkzMjYzNzcsIDcyNDUsIDIuMDU0MDIxMTIwMDcxNDExXSwgWzE2NjM3MjcwOTMuMDM3NzIxOSwgNzI1NCwgMi4xNDM0NjA1MTIxNjEyNTVdLCBbMTY2MzcyNzA5My4xMjI2NTIsIDcyNjMsIDIuNjA5Mzg2NjgyNTEwMzc2XSwgWzE2NjM3MjcwOTMuMjA4Nzc1NSwgNzI3MiwgMi4yNDIxOTE1NTMxMTU4NDQ3XSwgWzE2NjM3MjcwOTMuNDcyOTgzMSwgNzI5OSwgMi4wMzQzNDk0NDE1MjgzMjAzXSwgWzE2NjM3MjcwOTMuNzUzOTk2MSwgNzMyNiwgMy42OTY2MzkyOTkzOTI3XSwgWzE2NjM3MjcwOTQuMjk5ODkwMywgNzM3MSwgMi4xMDk2MzQzOTk0MTQwNjI1XSwgWzE2NjM3MjcwOTQuMzg1OTk0NCwgNzM4MCwgMi40MjExMDQxOTI3MzM3NjQ2XSwgWzE2NjM3MjcwOTQuNTY4NDc3MiwgNzM5OCwgMi4wODc3MDc5OTYzNjg0MDhdLCBbMTY2MzcyNzA5NC42NTYyMzcxLCA3NDA3LCAyLjI3OTE0NzYyNDk2OTQ4MjRdLCBbMTY2MzcyNzA5NC43OTIzNzU2LCA3NDE2LCAyLjIxNDI0ODE4MDM4OTQwNDNdLCBbMTY2MzcyNzA5NS4wNDI0NywgNzQzNCwgMi4wNDQ0MzQzMDkwMDU3MzczXSwgWzE2NjM3MjcwOTUuMTYwNjE4OCwgNzQ0MywgMi4xNDM5ODc4OTQwNTgyMjc1XSwgWzE2NjM3MjcwOTUuMjkzNzY2NywgNzQ1MiwgMi4zMDY2MjU2MDQ2Mjk1MTY2XSwgWzE2NjM3MjcwOTUuNDA2MDIwOSwgNzQ2MSwgMy4xOTE0ODc3ODkxNTQwNTI3XSwgWzE2NjM3MjcwOTUuODI0NTY2OCwgNzQ5NywgMi40NjA3NDA4MDQ2NzIyNDFdLCBbMTY2MzcyNzA5NS45MzkzNCwgNzUwNiwgMi4yOTk3MzA1MzkzMjE4OTk0XSwgWzE2NjM3MjcwOTYuMTQ0MDExNSwgNzUyNCwgMi4yMDc3ODE3OTE2ODcwMTE3XSwgWzE2NjM3MjcwOTYuMjM2OTU4LCA3NTMzLCAyLjI1Mzk0MDU4MjI3NTM5MDZdLCBbMTY2MzcyNzA5Ni4zMzEwOTA1LCA3NTQyLCAyLjExMjcxNjQzNjM4NjEwODRdLCBbMTY2MzcyNzA5Ni41MjgyOTcsIDc1NjAsIDIuNDg2NDY5NTA3MjE3NDA3Ml0sIFsxNjYzNzI3MDk2LjYyNTEzMTQsIDc1NjksIDIuNTczOTgzOTA3Njk5NTg1XSwgWzE2NjM3MjcwOTYuODk3ODE1LCA3NTg3LCAyLjI0NDM5OTU0NzU3NjkwNDNdLCBbMTY2MzcyNzA5Ni45OTYzOTczLCA3NTk2LCAyLjEzODE5ODg1MjUzOTA2MjVdLCBbMTY2MzcyNzA5Ny4xOTA3NTI1LCA3NjE0LCAyLjIwOTAyOTQzNjExMTQ1XSwgWzE2NjM3MjcwOTcuNjkxNzA5OCwgNzY1OSwgMi4yNjE3NjczODczOTAxMzY3XSwgWzE2NjM3MjcwOTguMDExNjEzNCwgNzY2OCwgMy40NzA2MTYxMDIyMTg2MjhdLCBbMTY2MzcyNzA5OC4zMDQ4ODU5LCA3Njk1LCAyLjY1NzQ0NDk1MzkxODQ1N10sIFsxNjYzNzI3MDk4LjU5NzAyOTQsIDc3MjIsIDIuMDg1MDMzODkzNTg1MjA1XSwgWzE2NjM3MjcwOTguOTcwNjY2NCwgNzc0OSwgMi4xMTUyNzM0NzU2NDY5NzI3XSwgWzE2NjM3MjcwOTkuMDY4MzE5LCA3NzU4LCAyLjg0NzAxNDE4ODc2NjQ3OTVdLCBbMTY2MzcyNzA5OS4xNjcyOTg2LCA3NzY3LCAzLjE1OTEzNjc3MjE1NTc2MTddLCBbMTY2MzcyNzA5OS40NzkwMTgyLCA3Nzk0LCAyLjA5NDk2ODMxODkzOTIwOV0sIFsxNjYzNzI3MDk5LjU2OTIxMTcsIDc4MDMsIDIuMDg3NzU3MzQ5MDE0MjgyMl0sIFsxNjYzNzI3MDk5Ljk5ODkwOTIsIDc4MzksIDIuNjI2MzkwMjE4NzM0NzQxXSwgWzE2NjM3MjcxMDAuMDkyOTc1OSwgNzg0OCwgMi4xNzU4Mjg5MzM3MTU4MjAzXSwgWzE2NjM3MjcxMDEuMTUxMzEzOCwgNzkzOCwgMi4xOTU3NDk3NTk2NzQwNzIzXSwgWzE2NjM3MjcxMDEuMzQ5OTg1NiwgNzk1NiwgMy4zOTUyNDA1NDUyNzI4MjddLCBbMTY2MzcyNzEwMS40NjY3LCA3OTY1LCAzLjg1MDQxOTA0NDQ5NDYyOV0sIFsxNjYzNzI3MTAxLjU2NDg4MTYsIDc5NzQsIDMuMjk0NTYzNTMxODc1NjEwNF0sIFsxNjYzNzI3MTAxLjY1NTE0ODcsIDc5ODMsIDIuMzA2MzkyMTkyODQwNTc2XSwgWzE2NjM3MjcxMDEuODQ3NDU2MiwgODAwMSwgMi4yOTg4ODE3NjkxODAyOThdLCBbMTY2MzcyNzEwMi4wNDIzOTgyLCA4MDE5LCAyLjE3NTExOTE2MTYwNTgzNV0sIFsxNjYzNzI3MTAyLjIzMzQ2NCwgODAzNywgMi4zMDE4ODcwMzUzNjk4NzNdLCBbMTY2MzcyNzEwMi41MzE4NTM3LCA4MDY0LCAyLjI5MzI4Mjk4NTY4NzI1Nl0sIFsxNjYzNzI3MTAyLjcxOTE2OCwgODA4MiwgMi4wNjYxMTY4MDk4NDQ5NzA3XSwgWzE2NjM3MjcxMDIuODE1MTc2NywgODA5MSwgMi4xNDAzOTY4MzM0MTk4XSwgWzE2NjM3MjcxMDMuMTA2ODM2MywgODExOCwgMS45ODM2Nzg4MTc3NDkwMjM0XSwgWzE2NjM3MjcxMDMuMjEyMjM5NSwgODEyNywgMi4wMTMxNjY2NjYwMzA4ODRdLCBbMTY2MzcyNzEwMy4zOTkzNzkzLCA4MTQ1LCAyLjE3MTYxOTE3Njg2NDYyNF0sIFsxNjYzNzI3MTAzLjYxMjY3MDQsIDgxNjMsIDIuNDYwOTEzMTgxMzA0OTMxNl0sIFsxNjYzNzI3MTAzLjcwNjM0OCwgODE3MiwgMi42Nzg3NTQzMjk2ODEzOTY1XSwgWzE2NjM3MjcxMDMuODAzMDA1LCA4MTgxLCAyLjM0MjE1NzEyNTQ3MzAyMjVdLCBbMTY2MzcyNzEwNC4wMjY4ODg2LCA4MTk5LCAzLjA2MzQ5MDE1MjM1OTAwOV0sIFsxNjYzNzI3MTA0LjEzNDIwNDEsIDgyMDgsIDIuNzUwMzI2Mzk1MDM0NzldLCBbMTY2MzcyNzEwNC4zNDA2Njc3LCA4MjI2LCAzLjQxMTEyMzUxNDE3NTQxNV0sIFsxNjYzNzI3MTA0LjQ2MTQ4MDQsIDgyMzUsIDIuNzU3MzA1MTQ1MjYzNjcyXSwgWzE2NjM3MjcxMDQuNzE0MTQsIDgyNTMsIDMuNzkwNjI0MTQxNjkzMTE1Ml0sIFsxNjYzNzI3MTA0Ljg5MjYzNiwgODI3MSwgMi40OTE4Nzg3NDc5NDAwNjM1XSwgWzE2NjM3MjcxMDUuMDAzNTYxNywgODI4MCwgMi42MzM2MTU5NzA2MTE1NzIzXSwgWzE2NjM3MjcxMDUuMTk2ODUyLCA4Mjk4LCAyLjE4MDYxNDQ3MTQzNTU0N10sIFsxNjYzNzI3MTA1LjM3NTI0MjIsIDgzMTYsIDIuNjAyNjg3MTIwNDM3NjIyXSwgWzE2NjM3MjcxMDUuNzg3NDkxMywgODM1MiwgMi44MzM5MDUyMjAwMzE3MzgzXSwgWzE2NjM3MjcxMDUuODk4MDQwMywgODM2MSwgNC4zNzI0ODc1NDUwMTM0MjhdLCBbMTY2MzcyNzEwNi4wMzA2MDQsIDgzNzAsIDQuMTMzODQxNTE0NTg3NDAyXSwgWzE2NjM3MjcxMDYuMTY1Mzk0OCwgODM3OSwgMy4xMDE2Njc4ODEwMTE5NjNdLCBbMTY2MzcyNzEwNi4yNjI0NTkzLCA4Mzg4LCAyLjQ3NTg5MzczNTg4NTYyXSwgWzE2NjM3MjcxMDYuMzUyMDA1LCA4Mzk3LCAyLjA5NjUyMDY2MjMwNzczOTNdLCBbMTY2MzcyNzEwNi40NTkzOTYxLCA4NDA2LCAyLjA4NTAwNzE5MDcwNDM0NTddLCBbMTY2MzcyNzEwNi42NTE0MDMyLCA4NDI0LCAyLjQyMjE5NTE5NjE1MTczMzRdLCBbMTY2MzcyNzEwNy4yMTI2NTM5LCA4NDYwLCAyLjQ2MzU0Njk5MTM0ODI2NjZdLCBbMTY2MzcyNzEwNy4zODQxNjAzLCA4NDc4LCAyLjI4MDcxNTQ2NTU0NTY1NDNdLCBbMTY2MzcyNzEwNy40ODA0ODU3LCA4NDg3LCAyLjA3ODM1NzIxOTY5NjA0NV0sIFsxNjYzNzI3MTA3LjgwODMzMzYsIDg1MTQsIDIuMTMwMjcwOTU3OTQ2Nzc3M10sIFsxNjYzNzI3MTA4LjI2ODcyODUsIDg1NTAsIDMuMjAyMjU1NzI1ODYwNTk1N10sIFsxNjYzNzI3MTA4LjM2ODA0OTEsIDg1NTksIDIuNjIxNjc3ODc1NTE4Nzk5XSwgWzE2NjM3MjcxMDguNTY3MTEzNiwgODU3NywgMi4yMTE5Nzg0MzU1MTYzNTc0XSwgWzE2NjM3MjcxMDguNzgzOTM1MywgODU5NSwgMi4zNzE5NzM1MTQ1NTY4ODQ4XSwgWzE2NjM3MjcxMDguODc4MjEzLCA4NjA0LCAyLjAxNjY1ODU0NDU0MDQwNTNdLCBbMTY2MzcyNzEwOC45ODg1ODY0LCA4NjEzLCAyLjAyNjA5NTg2NzE1Njk4MjRdLCBbMTY2MzcyNzEwOS40MDQ2OTksIDg2NDksIDEuOTkzODgwNjI5NTM5NDg5N10sIFsxNjYzNzI3MTA5LjUwMjYyOCwgODY1OCwgMi4wMjI5MjM3MDc5NjIwMzZdLCBbMTY2MzcyNzEwOS42MDU4NTA3LCA4NjY3LCAyLjI5Mzc0MTQ2NDYxNDg2OF0sIFsxNjYzNzI3MTA5LjcyNjE1NiwgODY3NiwgMi40NjkwNTU4OTEwMzY5ODczXSwgWzE2NjM3MjcxMDkuODM2NDIxNSwgODY4NSwgMy41OTg1NjcyNDczOTA3NDddLCBbMTY2MzcyNzEwOS45MzM0MDM3LCA4Njk0LCAyLjQzMjg4ODI2OTQyNDQzODVdLCBbMTY2MzcyNzExMC4xMDg3OTk3LCA4NzEyLCAyLjAzNDY4MDM2NjUxNjExMzNdLCBbMTY2MzcyNzExMC4yMDI3MTc4LCA4NzIxLCAyLjM4NDM5NDQwNzI3MjMzOV0sIFsxNjYzNzI3MTEwLjQ2NTU4MiwgODc0OCwgMi4wMDk3NDQxNjczMjc4ODFdLCBbMTY2MzcyNzExMC45MTQ3Mjc3LCA4NzkzLCAyLjMxMTY5NzAwNjIyNTU4Nl0sIFsxNjYzNzI3MTExLjEwNzc3OTcsIDg4MTEsIDIuMTkwNTg1NjEzMjUwNzMyNF0sIFsxNjYzNzI3MTExLjE5OTk3MTQsIDg4MjAsIDIuMTA3OTAzMDAzNjkyNjI3XSwgWzE2NjM3MjcxMTEuMzc2NDg5LCA4ODM4LCAyLjM4MzY1NDgzMjgzOTk2Nl0sIFsxNjYzNzI3MTExLjQ3MzMwNiwgODg0NywgMi4zOTgyNDMxODg4NTgwMzIyXSwgWzE2NjM3MjcxMTEuODQ2MDkxNSwgODg4MywgMi4yMTkxNzIwMDA4ODUwMDk4XSwgWzE2NjM3MjcxMTIuMDQyNzI5NCwgODkwMSwgMi4yMjI1NjI1NTE0OTg0MTNdLCBbMTY2MzcyNzExMi4xMzA2MDM4LCA4OTEwLCAyLjQ1Mzk5NzEzNTE2MjM1MzVdLCBbMTY2MzcyNzExMi4yMjU5MjgzLCA4OTE5LCAyLjA1MjU0NzQ1NDgzMzk4NDRdLCBbMTY2MzcyNzExMi40MTMwMzU5LCA4OTM3LCAyLjIxOTE3NTEwMDMyNjUzOF0sIFsxNjYzNzI3MTEyLjYwNDY2NywgODk1NSwgMi4wNDYxMjYzNjU2NjE2MjFdLCBbMTY2MzcyNzExMi42OTQ5MDE3LCA4OTY0LCAyLjE0MzE5ODI1MTcyNDI0M10sIFsxNjYzNzI3MTEyLjc4NjE4OTYsIDg5NzMsIDIuNDU3MDI5MzQyNjUxMzY3XSwgWzE2NjM3MjcxMTIuOTcwODA0LCA4OTkxLCAyLjQzOTgwODEzMDI2NDI4MjJdLCBbMTY2MzcyNzExMy4wNjMxNTUyLCA5MDAwLCAyLjIzNjE3MTk2MDgzMDY4ODVdLCBbMTY2MzcyNzExMy4yNTIwMzU5LCA5MDE4LCAyLjczMzM1MDc1Mzc4NDE3OTddLCBbMTY2MzcyNzExMy4zNDA5ODQzLCA5MDI3LCAzLjM0ODEzODMzMjM2Njk0MzRdLCBbMTY2MzcyNzExMy40MzYyMjMsIDkwMzYsIDIuMDU2MjA1NzQ5NTExNzE4OF0sIFsxNjYzNzI3MTEzLjU5MDU3MywgOTA0NSwgMi4wMDc5MjUwMzM1NjkzMzZdLCBbMTY2MzcyNzExMy43MDg3NDY0LCA5MDU0LCAxLjkzOTM4Mzc0NTE5MzQ4MTRdLCBbMTY2MzcyNzExMy44MDQ5OTg0LCA5MDYzLCAyLjExMDI4MzYxMzIwNDk1Nl0sIFsxNjYzNzI3MTE0LjM0ODU2MTgsIDkxMDgsIDIuMzI3NzY0MjcyNjg5ODE5M10sIFsxNjYzNzI3MTE0LjU1MTIzMywgOTEyNiwgMS45NTE0MzI0NjY1MDY5NThdLCBbMTY2MzcyNzExNC43MjUxMTA4LCA5MTQ0LCAyLjYwMjI5NjU5MDgwNTA1MzddLCBbMTY2MzcyNzExNC44MTQzMjAzLCA5MTUzLCAyLjIyNDgyODQ4MTY3NDE5NDNdLCBbMTY2MzcyNzExNC45MTA3OTA3LCA5MTYyLCAyLjMxMTczOTIwNjMxNDA4N10sIFsxNjYzNzI3MTE1LjY1MzYwNiwgOTIwNywgMi4wMTMwMjQwOTE3MjA1ODFdLCBbMTY2MzcyNzExNi4wMTg5NDA0LCA5MjQzLCAxLjg4NjEyMTM5MjI1MDA2MV0sIFsxNjYzNzI3MTE2LjIwMTE4OCwgOTI2MSwgMi4wMTA0Mjg2NjcwNjg0ODE0XSwgWzE2NjM3MjcxMTYuMzEyOTQ2LCA5MjcwLCAyLjEwMzM4MDIwMzI0NzA3MDNdLCBbMTY2MzcyNzExNi44NjczOTQ0LCA5MzI0LCAxLjk4MDA1OTYyMzcxODI2MTddLCBbMTY2MzcyNzExNi45NTg3MjI0LCA5MzMzLCAxLjkwOTYwMjg4MDQ3NzkwNTNdLCBbMTY2MzcyNzExNy4wNDg1NDM3LCA5MzQyLCAyLjE1MDQxNTQyMDUzMjIyNjZdLCBbMTY2MzcyNzExNy4xNDAxNjksIDkzNTEsIDIuMjg1NTU0MTcwNjA4NTIwNV0sIFsxNjYzNzI3MTE3LjI2MTM4NzYsIDkzNjAsIDIuMTQwNTk0OTU5MjU5MDMzXSwgWzE2NjM3MjcxMTcuNjMzNTc2OSwgOTM5NiwgMi4wNTkyODQ2ODcwNDIyMzYzXSwgWzE2NjM3MjcxMTcuODIyMDI4NCwgOTQxNCwgMi4yNDYyNDgwMDY4MjA2Nzg3XSwgWzE2NjM3MjcxMTcuOTE1Mzg0NSwgOTQyMywgMi41NzQyMjIwODc4NjAxMDc0XSwgWzE2NjM3MjcxMTguNDc5MDQ2OCwgOTQ3NywgMi42MTU0MzcyNjkyMTA4MTU0XSwgWzE2NjM3MjcxMTguNTc0Mjc3OSwgOTQ4NiwgMi4yNzA2Njk5MzcxMzM3ODldLCBbMTY2MzcyNzExOC44NTk3OTgsIDk1MTMsIDIuMjA1ODMyNDgxMzg0Mjc3M10sIFsxNjYzNzI3MTE5LjEwMTc1MiwgOTUzMSwgMi44MTU4NzYwMDcwODAwNzhdLCBbMTY2MzcyNzExOS4yMjEyMTI0LCA5NTQwLCAyLjkwMjQ5NjMzNzg5MDYyNV0sIFsxNjYzNzI3MTE5LjM0NDEwOCwgOTU0OSwgMy4yOTIxNjE5NDE1MjgzMjAzXSwgWzE2NjM3MjcxMTkuNTU4MjM0NywgOTU2NywgMi42MTkwNzg2MzYxNjk0MzM2XSwgWzE2NjM3MjcxMTkuODQ2NTg2NywgOTU5NCwgMi4xNDY1MDQ0MDIxNjA2NDQ1XSwgWzE2NjM3MjcxMTkuOTQzMTAwNywgOTYwMywgMi40MzQ0MTkxNTUxMjA4NDk2XSwgWzE2NjM3MjcxMjAuMDM5ODA5MiwgOTYxMiwgMi40MDUwMTY0MjIyNzE3Mjg1XSwgWzE2NjM3MjcxMjAuMjIxNjc3NSwgOTYzMCwgMi4xMzQ5NjA0MTI5NzkxMjZdLCBbMTY2MzcyNzEyMC4zNDMyNjQsIDk2MzksIDIuNDcxNDMwMDYzMjQ3NjgwN10sIFsxNjYzNzI3MTIwLjQ0MTYyMjMsIDk2NDgsIDIuMjU5MjI1ODQ1MzM2OTE0XSwgWzE2NjM3MjcxMjAuNTQ0MzM0NCwgOTY1NywgMS45Njc4NDYyNzQzNzU5MTU1XSwgWzE2NjM3MjcxMjAuNjM4MDc5LCA5NjY2LCAyLjIyNjU4NTM4ODE4MzU5MzhdLCBbMTY2MzcyNzEyMC43MjgwMzgsIDk2NzUsIDIuODY1NjEwNTk5NTE3ODIyM10sIFsxNjYzNzI3MTIxLjA4OTkxMTIsIDk3MDIsIDIuMzgxOTM1MzU4MDQ3NDg1NF0sIFsxNjYzNzI3MTIxLjIxMDM4MTMsIDk3MTEsIDIuNDA4ODc4MDg3OTk3NDM2NV0sIFsxNjYzNzI3MTIxLjM5NjgzNTYsIDk3MjksIDIuNDQzMTUxOTUwODM2MTgxNl0sIFsxNjYzNzI3MTIxLjQ5NDI0MjIsIDk3MzgsIDIuMDYwMTQ2MzMxNzg3MTA5NF0sIFsxNjYzNzI3MTIxLjU5MzgwNTMsIDk3NDcsIDIuMDU3NjkyNzY2MTg5NTc1XSwgWzE2NjM3MjcxMjEuODc4NDM5LCA5Nzc0LCAyLjIxNjYxMzc2OTUzMTI1XSwgWzE2NjM3MjcxMjEuOTc0OTQxNSwgOTc4MywgMi4xMzQ3OTA2NTg5NTA4MDU3XSwgWzE2NjM3MjcxMjIuMTE3ODU1OCwgOTc5MiwgMi4xMzg5NTc1MDA0NTc3NjM3XSwgWzE2NjM3MjcxMjIuNTgzNjQxNSwgOTgyOCwgMi4yMzk1NTUxMjA0NjgxMzk2XSwgWzE2NjM3MjcxMjIuNjgwNzExMywgOTgzNywgMS44OTgxNzYxOTMyMzczMDQ3XSwgWzE2NjM3MjcxMjIuNzY5MzA4MywgOTg0NiwgMS44OTA2Nzc5Mjg5MjQ1NjA1XSwgWzE2NjM3MjcxMjMuNDc0NjkyMywgOTg5MSwgMS45MzMyOTkzMDMwNTQ4MDk2XSwgWzE2NjM3MjcxMjMuNjc4NDk2OCwgOTkwOSwgMi4wNjgyMDM5MjYwODY0MjZdLCBbMTY2MzcyNzEyMy44NzAwMjA0LCA5OTI3LCAyLjIxNDMyNzU3Mzc3NjI0NV0sIFsxNjYzNzI3MTIzLjk2MDAxODIsIDk5MzYsIDIuMDA1MjM5NzI1MTEyOTE1XSwgWzE2NjM3MjcxMjQuMDU2ODk2LCA5OTQ1LCAyLjI2NTI5MDAyMTg5NjM2MjNdLCBbMTY2MzcyNzEyNC4zNTcxNzgsIDk5NzIsIDIuODgzODYxMDY0OTEwODg4N10sIFsxNjYzNzI3MTI0LjQ2MDM4MzQsIDk5ODEsIDIuMjg4NjU0MDg4OTczOTk5XSwgWzE2NjM3MjcxMjQuNTQ3MjE4MywgOTk5MCwgMS45NTQ2NTYzNjI1MzM1NjkzXSwgWzE2NjM3MjcxMjQuNjQxOTM0MiwgOTk5OSwgMS45OTgxNDI3MTkyNjg3OTg4XSwgWzE2NjM3MjcxMjQuNzQ4MzMwNCwgMTAwMDgsIDEuODc5NDQzMDQ5NDMwODQ3Ml0sIFsxNjYzNzI3MTI0Ljg1MDcwOTcsIDEwMDE3LCAyLjIxMTAwNjY0MTM4NzkzOTVdLCBbMTY2MzcyNzEyNC45NDQ1NzIyLCAxMDAyNiwgMS44NDY1MzY1MTcxNDMyNDk1XSwgWzE2NjM3MjcxMjUuMDM5MzE5MywgMTAwMzUsIDEuOTc4MDYwMjQ1NTEzOTE2XSwgWzE2NjM3MjcxMjUuMjM2MDEyMiwgMTAwNTMsIDIuMjQzODYyMTUyMDk5NjA5NF0sIFsxNjYzNzI3MTI1LjUzMjE2OCwgMTAwODAsIDEuODg2NDAyMzY4NTQ1NTMyMl0sIFsxNjYzNzI3MTI1LjcyMzU3NDYsIDEwMDk4LCAyLjg3Mjk2NDYyMDU5MDIxXSwgWzE2NjM3MjcxMjUuODUwMTE3MiwgMTAxMDcsIDIuNDU5MDcwOTIwOTQ0MjE0XSwgWzE2NjM3MjcxMjYuMTQ2OTMzLCAxMDEzNCwgMi40OTIzODMwMDMyMzQ4NjMzXSwgWzE2NjM3MjcxMjYuMjM3ODU1LCAxMDE0MywgMi4yODUyMDAzNTc0MzcxMzRdLCBbMTY2MzcyNzEyNi40MzQ2NjM1LCAxMDE2MSwgMi4zODI2MDY5ODMxODQ4MTQ1XSwgWzE2NjM3MjcxMjYuNTM5MTI4LCAxMDE3MCwgMi42ODk1NzkyNDg0MjgzNDQ3XSwgWzE2NjM3MjcxMjYuNjMxNTI1NSwgMTAxNzksIDIuOTcxNjQzMjA5NDU3Mzk3NV0sIFsxNjYzNzI3MTI2LjcyOTM4MjUsIDEwMTg4LCAzLjEyNTExMDg2NDYzOTI4MjJdLCBbMTY2MzcyNzEyNi44NDQ4MzkzLCAxMDE5NywgMi4yNDcxNjQwMTEwMDE1ODddLCBbMTY2MzcyNzEyNy4wNjM5MjM2LCAxMDIxNSwgMi4wNjA4ODUxOTA5NjM3NDVdLCBbMTY2MzcyNzEyNy4xNTU5NzgsIDEwMjI0LCAyLjI2MzYxMTc5MzUxODA2NjRdLCBbMTY2MzcyNzEyNy4yNDgwODYyLCAxMDIzMywgMi43NTUzNDY3NzUwNTQ5MzE2XSwgWzE2NjM3MjcxMjcuMzMzMzExLCAxMDI0MiwgMy40MzY2MzY2ODYzMjUwNzMyXSwgWzE2NjM3MjcxMjcuNTU4NjA3OCwgMTAyNjAsIDIuMTIyNDA2NDgyNjk2NTMzXSwgWzE2NjM3MjcxMjcuODMwMzE4NSwgMTAyODcsIDIuNDUyNDE1MjI3ODkwMDE0Nl0sIFsxNjYzNzI3MTI4LjEzMjA4MjUsIDEwMzE0LCAyLjM3NjA1NTcxNzQ2ODI2MTddLCBbMTY2MzcyNzEyOC4yNTk0ODksIDEwMzIzLCAxLjkzNjM1MDM0NTYxMTU3MjNdLCBbMTY2MzcyNzEyOC40OTYyMTgsIDEwMzQxLCAyLjQ3ODY0NTA4NjI4ODQ1Ml0sIFsxNjYzNzI3MTI4LjU5NjM3NSwgMTAzNTAsIDIuNjIzNTY0OTU4NTcyMzg3N10sIFsxNjYzNzI3MTI4LjY4OTY2MiwgMTAzNTksIDEuOTc4NDg5Mzk4OTU2Mjk4OF0sIFsxNjYzNzI3MTI4Ljc5OTYyMDIsIDEwMzY4LCAxLjk5NDgxNzYxNDU1NTM1ODldLCBbMTY2MzcyNzEyOC45MjAzNzIyLCAxMDM3NywgMS45NzEyMDMwODg3NjAzNzZdLCBbMTY2MzcyNzEyOS4wMzMyMjE1LCAxMDM4NiwgMS44NDY5MzU5ODc0NzI1MzQyXSwgWzE2NjM3MjcxMjkuMjM4Nzk1NSwgMTA0MDQsIDIuMTAwNDM1MDE4NTM5NDI4N10sIFsxNjYzNzI3MTI5LjYyMDM5ODMsIDEwNDQwLCAxLjk3NDA2NDQ2OTMzNzQ2MzRdLCBbMTY2MzcyNzEyOS43MTU0ODQsIDEwNDQ5LCAyLjQ0MDAwMzYzMzQ5OTE0NTVdLCBbMTY2MzcyNzEyOS45MTA5NTY2LCAxMDQ2NywgMi4xNDk5NjMxNDA0ODc2NzFdLCBbMTY2MzcyNzEzMC4xNDY1Njk3LCAxMDQ4NSwgMS45NzQ4MzMyNTAwNDU3NzY0XSwgWzE2NjM3MjcxMzAuMzIyODI4MywgMTA1MDMsIDEuODg4NTAyMzU5MzkwMjU4OF0sIFsxNjYzNzI3MTMwLjQzNzk1ODcsIDEwNTEyLCAxLjk1MDMxODU3NDkwNTM5NTVdLCBbMTY2MzcyNzEzMS4wOTE1NzcsIDEwNTY2LCAyLjAzNTQwMjA1OTU1NTA1MzddLCBbMTY2MzcyNzEzMS4xODE0MzgyLCAxMDU3NSwgMS45MTkwNzM3MDA5MDQ4NDYyXSwgWzE2NjM3MjcxMzEuNTYxODg0OSwgMTA1OTMsIDIuMTM4NjIxMDkxODQyNjUxNF0sIFsxNjYzNzI3MTMxLjY1NTk1MzIsIDEwNjAyLCAxLjkxNTcyNDYzNTEyNDIwNjVdLCBbMTY2MzcyNzEzMS43NTE3MjA3LCAxMDYxMSwgMS45Nzg2MTUyODM5NjYwNjQ1XSwgWzE2NjM3MjcxMzIuMTIwOTE1MiwgMTA2NDcsIDIuMDAxMjUwMjY3MDI4ODA4Nl0sIFsxNjYzNzI3MTMyLjI5NjI5OSwgMTA2NjUsIDEuOTIyMDA2MzY4NjM3MDg1XSwgWzE2NjM3MjcxMzIuNDcwMDc1LCAxMDY4MywgMS45ODg0NjA4OTgzOTkzNTNdLCBbMTY2MzcyNzEzMi42NDY1NTU0LCAxMDcwMSwgMi45MjAyMjg0ODEyOTI3MjQ2XSwgWzE2NjM3MjcxMzIuNzMwODA1MiwgMTA3MTAsIDIuMDY1NzYyNzU4MjU1MDA1XSwgWzE2NjM3MjcxMzIuODE0NjM4OSwgMTA3MTksIDIuMDE2NjcyMTM0Mzk5NDE0XSwgWzE2NjM3MjcxMzMuMTEyNzkzNCwgMTA3NDYsIDEuOTQwODc0OTM0MTk2NDcyMl0sIFsxNjYzNzI3MTMzLjIwODgxNCwgMTA3NTUsIDEuOTcyMDQwMTc2MzkxNjAxNl0sIFsxNjYzNzI3MTMzLjMwMTcyOTcsIDEwNzY0LCAyLjExNjU2NjE4MTE4Mjg2MTNdLCBbMTY2MzcyNzEzMy40MTUzMDEzLCAxMDc3MywgMi4xMDI5NjcwMjM4NDk0ODczXSwgWzE2NjM3MjcxMzMuNTE0MTYyLCAxMDc4MiwgMi4wMjg3NTMyODA2Mzk2NDg0XSwgWzE2NjM3MjcxMzMuNjA0MDkyNiwgMTA3OTEsIDIuMzM3MTYwODI1NzI5MzddLCBbMTY2MzcyNzEzMy44NjkyMDQzLCAxMDgxOCwgMi4wNDk5NDEwNjI5MjcyNDZdLCBbMTY2MzcyNzEzMy45NjA2ODE0LCAxMDgyNywgMS44NjkzNjE5OTY2NTA2OTU4XSwgWzE2NjM3MjcxMzQuMjUxNjA2NSwgMTA4NTQsIDIuODQ0NjIzMDg4ODM2NjddLCBbMTY2MzcyNzEzNC4zNDIxNTcsIDEwODYzLCAyLjI5OTM3ODE1NjY2MTk4NzNdLCBbMTY2MzcyNzEzNC40MzA0MDIsIDEwODcyLCAyLjE2OTY1MTc0Njc0OTg3OF0sIFsxNjYzNzI3MTM0LjYxMTQ2MTIsIDEwODkwLCAxLjkzNjU1NjgxNjEwMTA3NDJdLCBbMTY2MzcyNzEzNC43MzI4NjM0LCAxMDg5OSwgMi4wMDYyMTcyNDEyODcyMzE0XSwgWzE2NjM3MjcxMzQuOTk3NzQzNCwgMTA5MjYsIDEuODUzNzU5NzY1NjI1XSwgWzE2NjM3MjcxMzUuMDgxNjYzLCAxMDkzNSwgMi4wNjI0MzYzNDIyMzkzOF0sIFsxNjYzNzI3MTM1LjE3NTMwNjgsIDEwOTQ0LCAyLjA0MDAyMDQ2NTg1MDgzXSwgWzE2NjM3MjcxMzUuMzYxNTYwNiwgMTA5NjIsIDIuMjAyMDI4NzUxMzczMjkxXSwgWzE2NjM3MjcxMzUuNDU0MTA4NSwgMTA5NzEsIDEuOTM1NDQ2MTQzMTUwMzI5Nl0sIFsxNjYzNzI3MTM1LjgxNTE3NDYsIDExMDA3LCAxLjk1NDQ0MzkzMTU3OTU4OThdLCBbMTY2MzcyNzEzNS45MDEzNjA4LCAxMTAxNiwgMS45MTM4NDg1MTkzMjUyNTYzXSwgWzE2NjM3MjcxMzYuMDg1NzIxLCAxMTAzNCwgMS44NTc1MTQzODE0MDg2OTE0XSwgWzE2NjM3MjcxMzYuMzYyMDIwNSwgMTEwNjEsIDEuODI0MzIxNzQ2ODI2MTcxOV0sIFsxNjYzNzI3MTM2LjUxOTk5MjgsIDExMDcwLCAxLjk4ODQ1MzYyNjYzMjY5MDRdLCBbMTY2MzcyNzEzNi44NzgwMDM2LCAxMTA5NywgMi45ODAxNjIzODIxMjU4NTQ1XSwgWzE2NjM3MjcxMzYuOTk4NDk2LCAxMTEwNiwgMi43NzQ4MzM5MTc2MTc3OThdLCBbMTY2MzcyNzEzNy41OTAyMzcxLCAxMTE1MSwgMS45NTE2NDg1OTI5NDg5MTM2XSwgWzE2NjM3MjcxMzcuNzk5MTM1NywgMTExNjksIDIuMTM1OTkxMzM0OTE1MTYxXSwgWzE2NjM3MjcxMzcuODk1Nzg3MiwgMTExNzgsIDIuMjIwNjQ2MTQyOTU5NTk0N10sIFsxNjYzNzI3MTM3Ljk4NDkwNDUsIDExMTg3LCAyLjQyNTQ3NzUwNDczMDIyNDZdLCBbMTY2MzcyNzEzOC4wNzk3MzksIDExMTk2LCAyLjQwMDkxOTkxNDI0NTYwNTVdLCBbMTY2MzcyNzEzOC4xNzUwODE3LCAxMTIwNSwgMi40ODc2MTI3MjQzMDQxOTldLCBbMTY2MzcyNzEzOC4yNjcyNTksIDExMjE0LCAyLjUwNjEzNTk0MDU1MTc1OF0sIFsxNjYzNzI3MTM4LjM1ODE4OTYsIDExMjIzLCAyLjI3NzUwNDY4MjU0MDg5MzZdLCBbMTY2MzcyNzEzOC42NjMyOTA3LCAxMTI1MCwgMi4xMDAwMDcwNTcxODk5NDE0XSwgWzE2NjM3MjcxMzguNzU0MDEzNSwgMTEyNTksIDIuNjM1MzEwODg4MjkwNDA1M10sIFsxNjYzNzI3MTM4Ljg0MTg0MTcsIDExMjY4LCAyLjUxODUxNjU0MDUyNzM0MzhdLCBbMTY2MzcyNzEzOC45Mzk4ODIsIDExMjc3LCAyLjIzNjQ3Njg5ODE5MzM1OTRdLCBbMTY2MzcyNzEzOS4xMjg3MzY3LCAxMTI5NSwgMi4wNDc0OTc5ODc3NDcxOTI0XSwgWzE2NjM3MjcxMzkuMzE1MDgxMSwgMTEzMTMsIDIuMTAyNzgxMDU3MzU3Nzg4XSwgWzE2NjM3MjcxMzkuNDIxNzQxNSwgMTEzMjIsIDIuMTQzNjcwMzIwNTEwODY0M10sIFsxNjYzNzI3MTM5Ljk3NjE3OSwgMTEzNDksIDEuOTQyNTM1NDAwMzkwNjI1XSwgWzE2NjM3MjcxNDAuMDc3MTMyLCAxMTM1OCwgMS45OTg4OTYyNDExODgwNDkzXSwgWzE2NjM3MjcxNDAuMzQ2MzYxNCwgMTEzODUsIDYuODQwNjA5NTUwNDc2MDc0XSwgWzE2NjM3MjcxNDAuNjU3MDU1LCAxMTQxMiwgMi4wOTk2MDQ4NDUwNDY5OTddLCBbMTY2MzcyNzE0MS4wMjMwNTI1LCAxMTQ0OCwgMS45MjE2MjI1MTQ3MjQ3MzE0XSwgWzE2NjM3MjcxNDEuNDg0NTI0LCAxMTQ5MywgMi4yNDMwMDk1NjcyNjA3NDJdLCBbMTY2MzcyNzE0MS41ODM4OTYyLCAxMTUwMiwgMi40NTIwNzMwOTcyMjkwMDRdLCBbMTY2MzcyNzE0MS42NzYxMjIsIDExNTExLCAyLjMwMjQxMDEyNTczMjQyMl0sIFsxNjYzNzI3MTQxLjg1NDI0OTIsIDExNTI5LCAyLjE4MjY0Njk4OTgyMjM4NzddLCBbMTY2MzcyNzE0Mi4wMzg5OTYsIDExNTQ3LCAxLjg1MjM1MDExNTc3NjA2Ml0sIFsxNjYzNzI3MTQyLjMyNzY0MywgMTE1NzQsIDEuOTUzNDM2ODUxNTAxNDY0OF0sIFsxNjYzNzI3MTQyLjYxMDEyOCwgMTE2MDEsIDEuODgxNzYzMzM5MDQyNjYzNl0sIFsxNjYzNzI3MTQyLjgwNDgwNjUsIDExNjE5LCAyLjA3NzYxMjQwMDA1NDkzMTZdLCBbMTY2MzcyNzE0My4wOTYwNjIyLCAxMTY0NiwgMi4zMDY3OTU4MzU0OTQ5OTVdLCBbMTY2MzcyNzE0My4zNzUyNDI1LCAxMTY3MywgMS45NjM2MzM1MzcyOTI0ODA1XSwgWzE2NjM3MjcxNDMuNTUwOTEsIDExNjkxLCAxLjkwMzcwNjY2OTgwNzQzNF0sIFsxNjYzNzI3MTQzLjYzNDcxMzYsIDExNzAwLCAyLjI2OTY5Njk1MDkxMjQ3NTZdLCBbMTY2MzcyNzE0My44MjgzODIzLCAxMTcxOCwgMS45MTE2NDI5MDkwNDk5ODc4XSwgWzE2NjM3MjcxNDMuOTIyNjAyMiwgMTE3MjcsIDEuODAyMjU1NjMwNDkzMTY0XSwgWzE2NjM3MjcxNDQuMTExNDA0NywgMTE3NDUsIDIuNDgzOTczNTAzMTEyNzkzXSwgWzE2NjM3MjcxNDQuMjk4MDU3OCwgMTE3NjMsIDEuNzkyNTg2MzI2NTk5MTIxXSwgWzE2NjM3MjcxNDQuNjYzODQxNywgMTE3OTksIDEuOTE1MjI1NzQ0MjQ3NDM2NV0sIFsxNjYzNzI3MTQ1LjA0MzE2MTIsIDExODM1LCAyLjE4MDY2NTQ5MzAxMTQ3NDZdLCBbMTY2MzcyNzE0NS4xMzgwOTEsIDExODQ0LCAyLjY2NTI0NTc3MTQwODA4MV0sIFsxNjYzNzI3MTQ1LjYwOTM2MiwgMTE4ODksIDMuMzU3NzY2ODY2NjgzOTZdLCBbMTY2MzcyNzE0NS44MDEwMDU0LCAxMTkwNywgMS45NDU3MTc2OTIzNzUxODNdLCBbMTY2MzcyNzE0NS45MDUzNTc0LCAxMTkxNiwgMi4xODUxODk5NjIzODcwODVdLCBbMTY2MzcyNzE0Ni4wODkxMjQyLCAxMTkzNCwgMS45MjkwNjc4NTAxMTI5MTVdLCBbMTY2MzcyNzE0Ni4xODY3MDEzLCAxMTk0MywgMS44NTU5MDgwMzYyMzE5OTQ2XSwgWzE2NjM3MjcxNDYuNTc0OTEyOCwgMTE5NjEsIDEuOTk3NDk4NjMxNDc3MzU2XSwgWzE2NjM3MjcxNDcuMjU5NTUwNiwgMTIwMjQsIDIuMDc0MjQwNjg0NTA5Mjc3M10sIFsxNjYzNzI3MTQ4LjA4OTkzMTUsIDEyMTA1LCAyLjgyNDIyNjg1NjIzMTY4OTVdLCBbMTY2MzcyNzE0OC4xODIyMjkzLCAxMjExNCwgMy40NzIyOTM4NTM3NTk3NjU2XSwgWzE2NjM3MjcxNDguMzcwMzQzLCAxMjEzMiwgMi4xMDgzMDQ3Mzg5OTg0MTNdLCBbMTY2MzcyNzE0OC40NjIyNDI2LCAxMjE0MSwgMi4xNDM0NTgzNjYzOTQwNDNdLCBbMTY2MzcyNzE0OC43NDg4MzMyLCAxMjE2OCwgMi41NDExMzU3ODc5NjM4NjddLCBbMTY2MzcyNzE0OC44NDgzNTU1LCAxMjE3NywgMS45MzI0MTg0NjU2MTQzMTg4XSwgWzE2NjM3MjcxNDkuMDM3ODE3MiwgMTIxOTUsIDEuODg0MjQxODE5MzgxNzEzOV0sIFsxNjYzNzI3MTQ5LjM0MTEwOSwgMTIyMjIsIDEuODM3MDE3MDU5MzI2MTcxOV0sIFsxNjYzNzI3MTQ5LjQzMjE2NjgsIDEyMjMxLCAxLjkxNzQwNzAzNTgyNzYzNjddLCBbMTY2MzcyNzE0OS42MTUzMjY2LCAxMjI0OSwgMS44MjE0NjM5NDI1Mjc3NzFdLCBbMTY2MzcyNzE0OS45ODk4NzM2LCAxMjI4NSwgMi4yODY3ODY3OTQ2NjI0NzU2XSwgWzE2NjM3MjcxNTAuMDgyMTcwNSwgMTIyOTQsIDIuMzYyNjkyMTE3NjkxMDRdLCBbMTY2MzcyNzE1MC4xNzQ3NjA4LCAxMjMwMywgMi41MDgxNzM3MDQxNDczMzldLCBbMTY2MzcyNzE1MC4yNjYwMjg0LCAxMjMxMiwgMi4zNTU5NzMyNDM3MTMzNzldLCBbMTY2MzcyNzE1MC4zNTc0MDQyLCAxMjMyMSwgMi4xNzIwODQzMzE1MTI0NTFdLCBbMTY2MzcyNzE1MC43MzQ3NzY1LCAxMjM1NywgMi4wODQ1MTM2NjQyNDU2MDU1XSwgWzE2NjM3MjcxNTAuODMwNjE4NCwgMTIzNjYsIDIuMTE3ODY5ODUzOTczMzg4N10sIFsxNjYzNzI3MTUxLjA1NTAyOSwgMTIzODQsIDEuOTI5ODM2MjczMTkzMzU5NF0sIFsxNjYzNzI3MTUxLjE3MTA3NDYsIDEyMzkzLCAyLjAxNDQxMTIxMTAxMzc5NF0sIFsxNjYzNzI3MTUxLjYzMTUwNzIsIDEyNDI5LCAyLjczODY2ODIwMzM1Mzg4Ml0sIFsxNjYzNzI3MTUxLjc1Nzc1MjcsIDEyNDM4LCAyLjYwMTA5NTkxNDg0MDY5ODJdLCBbMTY2MzcyNzE1Mi4yMDk0OTU1LCAxMjQ3NCwgMS44NTU2MzM2MTY0NDc0NDg3XSwgWzE2NjM3MjcxNTIuMzA3OTM2NCwgMTI0ODMsIDIuMDE3OTQ4MTUwNjM0NzY1Nl0sIFsxNjYzNzI3MTUyLjY5NDA3NzcsIDEyNTE5LCAxLjkwODA3MzMwNjA4MzY3OTJdLCBbMTY2MzcyNzE1Mi45NzUzNTIsIDEyNTQ2LCAxLjg0NzMxNzMzNzk4OTgwNzFdLCBbMTY2MzcyNzE1My4yNTYyNjE2LCAxMjU3MywgMS44ODg4NjIwMTM4MTY4MzM1XSwgWzE2NjM3MjcxNTMuMzgyMTk1NywgMTI1ODIsIDEuODMxNjA2NzQ1NzE5OTA5N10sIFsxNjYzNzI3MTUzLjYxMjQ3MiwgMTI2MDAsIDEuOTkxMzg2MDU1OTQ2MzVdLCBbMTY2MzcyNzE1My42OTgwNzc0LCAxMjYwOSwgMS45ODI5NTcyNDM5MTkzNzI2XSwgWzE2NjM3MjcxNTMuOTgwNzU5MSwgMTI2MzYsIDEuODk4Nzk1NzIzOTE1MV0sIFsxNjYzNzI3MTU0LjE1Nzc3MTgsIDEyNjU0LCAyLjQ3Nzg2ODU1Njk3NjMxODRdLCBbMTY2MzcyNzE1NS4xOTYwNjM1LCAxMjcyNiwgMi4wOTAyNTAyNTM2NzczNjhdLCBbMTY2MzcyNzE1NS40OTA4NjI4LCAxMjc1MywgMi4yMDM0MTkyMDg1MjY2MTEzXSwgWzE2NjM3MjcxNTUuNjAxMDk1LCAxMjc2MiwgMS45MzQwMTk0NDYzNzI5ODU4XSwgWzE2NjM3MjcxNTUuODQzNTU3MSwgMTI3ODAsIDIuMTczNDkyOTA4NDc3NzgzXSwgWzE2NjM3MjcxNTYuMDMxOTczMSwgMTI3OTgsIDEuOTAwMjcyMDExNzU2ODk3XSwgWzE2NjM3MjcxNTYuMTIwMTc4NywgMTI4MDcsIDIuMTU5NjY0MTU0MDUyNzM0NF0sIFsxNjYzNzI3MTU2Ljk1MjMzNzMsIDEyODg4LCAxLjc2MjA3MjU2MzE3MTM4NjddLCBbMTY2MzcyNzE1Ny4wNDUwODIzLCAxMjg5NywgMS44OTI3OTM4OTM4MTQwODddLCBbMTY2MzcyNzE1Ny4xNDE4MTUsIDEyOTA2LCAxLjg1Mzc5NjAwNTI0OTAyMzRdLCBbMTY2MzcyNzE1Ny4yMzY0MTczLCAxMjkxNSwgMi4xOTA3NDQxNjE2MDU4MzVdLCBbMTY2MzcyNzE1Ny40MTgzNzg2LCAxMjkzMywgMi4xMzg3NjE5OTcyMjI5MDA0XSwgWzE2NjM3MjcxNTcuNjAzMDkwOCwgMTI5NTEsIDIuMTM4MjExMDExODg2NTk2N10sIFsxNjYzNzI3MTU3LjY5MjQzNzYsIDEyOTYwLCAxLjgxOTg1MDIwNjM3NTEyMl0sIFsxNjYzNzI3MTU3Ljc4NDQwMTIsIDEyOTY5LCAyLjE3MzUzNjA2MjI0MDYwMDZdLCBbMTY2MzcyNzE1Ny45MjM2OTQ2LCAxMjk3OCwgMS44ODczNzc4NTgxNjE5MjYzXSwgWzE2NjM3MjcxNTguMzA0OTc4MSwgMTMwMDUsIDEuOTcwNjU0MjQ5MTkxMjg0Ml0sIFsxNjYzNzI3MTU4LjU2NjA0NTMsIDEzMDIzLCAyLjAwMzM1MTIxMTU0Nzg1MTZdLCBbMTY2MzcyNzE1OC42ODcwNTUsIDEzMDMyLCAxLjg3NjM3MTE0NTI0ODQxM10sIFsxNjYzNzI3MTU4LjgwMDc0MSwgMTMwNDEsIDIuMDE1OTU1Njg2NTY5MjE0XSwgWzE2NjM3MjcxNTguOTIzNDQ2MiwgMTMwNTAsIDEuODU4NjA1OTgwODczMTA4XSwgWzE2NjM3MjcxNTkuMDM1MzczNCwgMTMwNTksIDEuNzgyMjY2NzM2MDMwNTc4Nl0sIFsxNjYzNzI3MTU5LjE0Mjg4MjMsIDEzMDY4LCAxLjk5NjE4NDU4NzQ3ODYzNzddLCBbMTY2MzcyNzE1OS4yNTUxOTMsIDEzMDc3LCAyLjE1MDM3OTE4MDkwODIwM10sIFsxNjYzNzI3MTU5LjUxMDIxODEsIDEzMDk1LCAxLjc4ODk3NDY0Mjc1MzYwMV0sIFsxNjYzNzI3MTU5LjYxMTQwMTgsIDEzMTA0LCAxLjc5NjQ1NzQwOTg1ODcwMzZdLCBbMTY2MzcyNzE1OS43MDQ2NzczLCAxMzExMywgMS45MjM3MDYxNzM4OTY3ODk2XSwgWzE2NjM3MjcxNTkuNzk2Njc2NCwgMTMxMjIsIDIuNDQwMjY1ODkzOTM2MTU3Ml0sIFsxNjYzNzI3MTU5Ljg5MTk1NTksIDEzMTMxLCAyLjEyNDM3NjA1ODU3ODQ5MV0sIFsxNjYzNzI3MTU5Ljk4MjMyODcsIDEzMTQwLCAxLjk3MzY5NTg3NDIxNDE3MjRdLCBbMTY2MzcyNzE2MC4wOTM0Nzk0LCAxMzE0OSwgMS44NTcwNzM1NDU0NTU5MzI2XSwgWzE2NjM3MjcxNjAuMjI2MTI1MiwgMTMxNTgsIDEuOTIzMjA3MjgzMDIwMDE5NV0sIFsxNjYzNzI3MTYwLjMwOTY4MywgMTMxNjcsIDEuOTAxMTk3MzE0MjYyMzkwMV0sIFsxNjYzNzI3MTYwLjM5NzgzNzksIDEzMTc2LCAxLjgwODc0MzIzODQ0OTA5NjddLCBbMTY2MzcyNzE2MC40OTYwMDM5LCAxMzE4NSwgMi4xMTMwMTk3MDQ4MTg3MjU2XSwgWzE2NjM3MjcxNjEuMDcwODUzNSwgMTMyMzksIDIuMjg5MzgzNjQ5ODI2MDVdLCBbMTY2MzcyNzE2MS4zNTczODM3LCAxMzI2NiwgMS44NDcwMjkzMjgzNDYyNTI0XSwgWzE2NjM3MjcxNjEuNDY1ODk1MiwgMTMyNzUsIDIuMTM5MzY2NjI2NzM5NTAyXSwgWzE2NjM3MjcxNjEuNjY1MjM1LCAxMzI5MywgMi4wMTcwMTQwMjY2NDE4NDU3XSwgWzE2NjM3MjcxNjEuNzYzOTQ1NiwgMTMzMDIsIDEuODAzOTcwMzM2OTE0MDYyNV0sIFsxNjYzNzI3MTYyLjE1NDUzNTgsIDEzMzM4LCAxLjc2NDAyNzExODY4Mjg2MTNdLCBbMTY2MzcyNzE2Mi4yNTA2NDY4LCAxMzM0NywgMS43ODU2ODM2MzE4OTY5NzI3XSwgWzE2NjM3MjcxNjIuMzQ5Mjc3MywgMTMzNTYsIDEuNzQ4Njc3NzMwNTYwMzAyN10sIFsxNjYzNzI3MTYyLjQzODgzNSwgMTMzNjUsIDEuOTIxOTk1NDAxMzgyNDQ2M10sIFsxNjYzNzI3MTYyLjcxNDgzMjgsIDEzMzkyLCAxLjg3MzQ4NzU5MTc0MzQ2OTJdLCBbMTY2MzcyNzE2Mi44MDYxMTIsIDEzNDAxLCAyLjA4MzcyMTYzNzcyNTgzXSwgWzE2NjM3MjcxNjIuOTAxMDczLCAxMzQxMCwgMS44Mjk4MDQzMDEyNjE5MDE5XSwgWzE2NjM3MjcxNjIuOTkwNzAyLCAxMzQxOSwgMS44MzAwODI0MTY1MzQ0MjM4XSwgWzE2NjM3MjcxNjMuMDgyMDQ3NywgMTM0MjgsIDEuODM4MzEzODE3OTc3OTA1M10sIFsxNjYzNzI3MTYzLjI3NzIyMTQsIDEzNDQ2LCAyLjAwODE1MjI0NjQ3NTIxOTddLCBbMTY2MzcyNzE2My41NjQ5NjI2LCAxMzQ1NSwgMS45MzAxNzE5NjY1NTI3MzQ0XSwgWzE2NjM3MjcxNjMuOTIxNzE4OCwgMTM0OTEsIDIuNDU5ODMzNjIxOTc4NzU5OF0sIFsxNjYzNzI3MTY0LjAxNTQyNDUsIDEzNTAwLCAyLjIwNDg0NDQ3NDc5MjQ4MDVdLCBbMTY2MzcyNzE2NC4xMDY3MDE2LCAxMzUwOSwgMS45NjY0NDA2Nzc2NDI4MjIzXSwgWzE2NjM3MjcxNjQuMjk0OTA5MiwgMTM1MjcsIDEuOTI0NDQ0MDc5Mzk5MTA4OV0sIFsxNjYzNzI3MTY0LjU2MjY2OTgsIDEzNTU0LCAyLjEwOTg4MTQwMTA2MjAxMTddLCBbMTY2MzcyNzE2NC45MjE2ODM4LCAxMzU5MCwgMi4yMjIxMTcxODU1OTI2NTE0XSwgWzE2NjM3MjcxNjUuMDE3NTQwNywgMTM1OTksIDIuNDA0NjcyNjIyNjgwNjY0XSwgWzE2NjM3MjcxNjUuMTM3OTYyLCAxMzYwOCwgMS43ODk0NDc2NjUyMTQ1Mzg2XSwgWzE2NjM3MjcxNjUuMzMwNTA5LCAxMzYyNiwgMi4xMjI4MTMyMjQ3OTI0ODA1XSwgWzE2NjM3MjcxNjUuNTA5NTUyNywgMTM2NDQsIDEuNzk5NTk5ODg1OTQwNTUxOF0sIFsxNjYzNzI3MTY1LjYxNjg1MzUsIDEzNjUzLCAxLjg1Mjg1ODkwMTAyMzg2NDddLCBbMTY2MzcyNzE2Ni41NDc0MzEyLCAxMzcxNiwgMi4xOTI3NzQ3NzI2NDQwNDNdLCBbMTY2MzcyNzE2Ni44OTkyMDM1LCAxMzc0MywgMS43ODI0MTM0ODI2NjYwMTU2XSwgWzE2NjM3MjcxNjcuMTM4NDc1NCwgMTM3NjEsIDEuNzc4MDEwNzI1OTc1MDM2Nl0sIFsxNjYzNzI3MTY3LjM1NDAxNzUsIDEzNzc5LCAxLjkxODcwMDkzMzQ1NjQyMV0sIFsxNjYzNzI3MTY3LjY1ODkyODQsIDEzODA2LCAxLjgyODkwNjI5NzY4MzcxNThdLCBbMTY2MzcyNzE2Ny43NTE1MzI4LCAxMzgxNSwgMS45NDk1Nzg1MjM2MzU4NjQzXSwgWzE2NjM3MjcxNjguMDMwMjExNywgMTM4NDIsIDIuMDQwMTQ1NjM1NjA0ODU4NF0sIFsxNjYzNzI3MTY4LjE0ODk3MjcsIDEzODUxLCAyLjI4NzQ3OTE2MjIxNjE4NjVdLCBbMTY2MzcyNzE2OC4zMzU0MjMsIDEzODY5LCAyLjM5NzE2NjcyODk3MzM4ODddLCBbMTY2MzcyNzE2OC40MzM4MDQsIDEzODc4LCAyLjA0MTg3MTc4NjExNzU1MzddLCBbMTY2MzcyNzE2OC43OTAyNjksIDEzOTE0LCAxLjk0MjA4NTYyMzc0MTE1XSwgWzE2NjM3MjcxNjguOTg3OTY1LCAxMzkzMiwgMS45NjA2NTA1NjMyNDAwNTEzXSwgWzE2NjM3MjcxNjkuMDg5NDEyNSwgMTM5NDEsIDEuODg4ODAyMDUxNTQ0MTg5NV0sIFsxNjYzNzI3MTY5LjM4OTM5MzMsIDEzOTY4LCAxLjk2NDI5OTkxNzIyMTA2OTNdLCBbMTY2MzcyNzE2OS40OTE2NzU5LCAxMzk3NywgMi41MTQ3MDgwNDIxNDQ3NzU0XSwgWzE2NjM3MjcxNjkuNTkyNDYxMywgMTM5ODYsIDIuNTM2NDE2MDUzNzcxOTcyN10sIFsxNjYzNzI3MTY5Ljc3MzAxNjIsIDE0MDA0LCAxLjk0ODkwNzI1NjEyNjQwMzhdLCBbMTY2MzcyNzE2OS45NzIyMTQsIDE0MDIyLCAxLjk2ODEzMjg1MzUwNzk5NTZdLCBbMTY2MzcyNzE3MC4yNzQ3NzM0LCAxNDA0OSwgMS45MTU2NDEzMDc4MzA4MTA1XSwgWzE2NjM3MjcxNzAuNDU1MDk1MywgMTQwNjcsIDEuODYwOTYxNDM3MjI1MzQxOF0sIFsxNjYzNzI3MTcwLjYzOTI3NzIsIDE0MDg1LCAxLjg2Mzk4OTgzMDAxNzA4OThdLCBbMTY2MzcyNzE3MC43MzEzMzEsIDE0MDk0LCAxLjkxNzQ4NjE5MDc5NTg5ODRdLCBbMTY2MzcyNzE3MC44MzI3MDQ4LCAxNDEwMywgMS45NDU4NjE5MzU2MTU1Mzk2XSwgWzE2NjM3MjcxNzEuMDMwMzI3LCAxNDEyMSwgMS44MjMyNjM3NjQzODE0MDg3XSwgWzE2NjM3MjcxNzEuMjE1NDMwNywgMTQxMzksIDEuNzUzNTc4NzgyMDgxNjA0XSwgWzE2NjM3MjcxNzEuMzA5ODAzNSwgMTQxNDgsIDEuODk5NjE4ODY0MDU5NDQ4Ml0sIFsxNjYzNzI3MTcxLjQwNjAyOCwgMTQxNTcsIDEuODY4ODAzMTQzNTAxMjgxN10sIFsxNjYzNzI3MTcxLjQ5ODMwMTUsIDE0MTY2LCAxLjgwNDg2MjQ5OTIzNzA2MDVdLCBbMTY2MzcyNzE3MS43NzY5MDksIDE0MTkzLCAxLjc0MzQwMTE2OTc3NjkxNjVdLCBbMTY2MzcyNzE3Mi4xNTkzMzM1LCAxNDIxMSwgMS44NzEzMTk4OTAwMjIyNzc4XSwgWzE2NjM3MjcxNzIuMjUwODMyMywgMTQyMjAsIDEuOTQ1MDUzMTAwNTg1OTM3NV0sIFsxNjYzNzI3MTcyLjM0NDMxNSwgMTQyMjksIDIuMDI2MzE1NDUwNjY4MzM1XSwgWzE2NjM3MjcxNzIuNDM2MDAxMywgMTQyMzgsIDEuOTAwMzEwNTE2MzU3NDIxOV0sIFsxNjYzNzI3MTcyLjUyOTEyOTUsIDE0MjQ3LCAyLjA2NjkwMzM1MjczNzQyNjhdLCBbMTY2MzcyNzE3Mi43OTgxMzM2LCAxNDI3NCwgMi42NzQ3MjAyODczMjI5OThdLCBbMTY2MzcyNzE3My4yNzIwOSwgMTQzMTksIDIuMTIyMzM4Mjk0OTgyOTFdLCBbMTY2MzcyNzE3My45MDQwNzY4LCAxNDM2NCwgMS44NDQwMDg1NjQ5NDkwMzU2XSwgWzE2NjM3MjcxNzMuOTk4NzQ4OCwgMTQzNzMsIDIuMjg4OTExODE5NDU4MDA4XSwgWzE2NjM3MjcxNzQuMTA0ODMyMiwgMTQzODIsIDIuMTIzMDEzNDk2Mzk4OTI2XSwgWzE2NjM3MjcxNzQuNDk4NjU5NCwgMTQ0MTgsIDEuNzg1MzA3NzY1MDA3MDE5XSwgWzE2NjM3MjcxNzQuNTkzNjU4NCwgMTQ0MjcsIDEuOTQ4MDc1NTMyOTEzMjA4XSwgWzE2NjM3MjcxNzQuNjgxNTg4MiwgMTQ0MzYsIDIuMDg4MjkxNjQ1MDUwMDQ5XSwgWzE2NjM3MjcxNzUuMzgzNjU3MiwgMTQ0OTksIDEuNzk2ODMzMTU3NTM5MzY3N10sIFsxNjYzNzI3MTc1LjQ3NDYyNywgMTQ1MDgsIDEuNzc4NDYwMjY0MjA1OTMyNl0sIFsxNjYzNzI3MTc1LjY2ODU2OSwgMTQ1MjYsIDEuNzg3MTc2MDEyOTkyODU4OV0sIFsxNjYzNzI3MTc1Ljc2ODA0MjMsIDE0NTM1LCAxLjgyMjI5MjIwODY3MTU2OThdLCBbMTY2MzcyNzE3NS44NjA4ODIzLCAxNDU0NCwgMS45NzE4MDA2ODQ5Mjg4OTRdLCBbMTY2MzcyNzE3NS45NjQ4MzE2LCAxNDU1MywgMi40ODYyNjA4OTA5NjA2OTM0XSwgWzE2NjM3MjcxNzYuMzYyMDkyMywgMTQ1ODksIDIuMjI1MTUyNDkyNTIzMTkzNF0sIFsxNjYzNzI3MTc2LjU1MzYxNDksIDE0NjA3LCAyLjYzMDI2NjkwNDgzMDkzMjZdLCBbMTY2MzcyNzE3Ni43MzA2Njc0LCAxNDYyNSwgNC40Njc2NzI4MjQ4NTk2MTldLCBbMTY2MzcyNzE3Ni45Njk4MDcxLCAxNDY0MywgMi40ODAyMjk4NTQ1ODM3NDAyXSwgWzE2NjM3MjcxNzcuMTAzNjMzMiwgMTQ2NTIsIDEuODY5OTAyNjEwNzc4ODA4Nl0sIFsxNjYzNzI3MTc3LjQ3Mjk5OCwgMTQ2NzksIDEuODc5NjU4NTc5ODI2MzU1XSwgWzE2NjM3MjcxNzcuNTgxODUwNSwgMTQ2ODgsIDEuOTEwNzAwOTE3MjQzOTU3NV0sIFsxNjYzNzI3MTc3Ljk5MTU0NDcsIDE0NzI0LCAxLjc1MjIzNTg4OTQzNDgxNDVdLCBbMTY2MzcyNzE3OC4wOTg3MzI1LCAxNDczMywgMS44MTQ3MjMwMTQ4MzE1NDNdLCBbMTY2MzcyNzE3OC4yMTc3MDIyLCAxNDc0MiwgMS44NDQ5OTQxODczNTUwNDE1XSwgWzE2NjM3MjcxNzguMzQ2NDgxMywgMTQ3NTEsIDEuOTcwNDIzNDYwMDA2NzEzOV0sIFsxNjYzNzI3MTc4LjU2NTk2NjgsIDE0NzY5LCAxLjc0ODIyNDk3MzY3ODU4ODldLCBbMTY2MzcyNzE3OC42NTM4MzcsIDE0Nzc4LCAxLjg3Nzk2NzcxNTI2MzM2NjddLCBbMTY2MzcyNzE3OS4xMTU4OTM4LCAxNDgyMywgMS45ODA4ODAyNjA0Njc1MjkzXSwgWzE2NjM3MjcxNzkuMTk1NDgyLCAxNDgzMiwgMi4xMjM2MzgzOTE0OTQ3NTFdLCBbMTY2MzcyNzE3OS4zNjkxMjc4LCAxNDg1MCwgMi4xMTQ3NDA2MTAxMjI2ODA3XSwgWzE2NjM3MjcxNzkuNTcxODI3NywgMTQ4NjgsIDIuNTA1OTk1MDM1MTcxNTA5XSwgWzE2NjM3MjcxNzkuNjYwMzM3NywgMTQ4NzcsIDIuMDgzNTYyMzc0MTE0OTkwMl0sIFsxNjYzNzI3MTc5Ljc2NjM4MTUsIDE0ODg2LCAxLjcwOTc2MjU3MzI0MjE4NzVdLCBbMTY2MzcyNzE3OS44NTU0MzEzLCAxNDg5NSwgMi4wMDAzMTExMzYyNDU3Mjc1XSwgWzE2NjM3MjcxODAuMDYxNTg2MSwgMTQ5MTMsIDIuMjI3Njg2NjQzNjAwNDY0XSwgWzE2NjM3MjcxODAuMzA5NTAxMiwgMTQ5MzEsIDIuMzkwOTMxODQ0NzExMzAzN10sIFsxNjYzNzI3MTgwLjQ0NzMxNzYsIDE0OTQwLCAyLjM5NjU4NDAzMzk2NjA2NDVdLCBbMTY2MzcyNzE4MC45NDc1MDMzLCAxNDk2NywgMS43ODk3NzczOTgxMDk0MzZdLCBbMTY2MzcyNzE4MS4xMzMxNjMsIDE0OTg1LCAxLjgzNDk2Mjg0NDg0ODYzMjhdLCBbMTY2MzcyNzE4MS4zMDk1ODY4LCAxNTAwMywgMi4xNDg3MzkwOTk1MDI1NjM1XSwgWzE2NjM3MjcxODEuNTgyOTM1MywgMTUwMzAsIDEuOTQ4MzA1MjQ5MjE0MTcyNF0sIFsxNjYzNzI3MTgxLjY3NzQxMTgsIDE1MDM5LCAxLjk3MDg0OTI3NTU4ODk4OTNdLCBbMTY2MzcyNzE4Mi4wNjY4OTY3LCAxNTA3NSwgMS43NTQ4NjUxNjk1MjUxNDY1XSwgWzE2NjM3MjcxODIuNDM0MTMwNywgMTUxMDIsIDEuODc2MDM0NzM2NjMzMzAwOF0sIFsxNjYzNzI3MTgyLjY2MTMyMjgsIDE1MTIwLCAyLjEwNTg0NDI1OTI2MjA4NV0sIFsxNjYzNzI3MTgyLjc1Njg1OSwgMTUxMjksIDEuODMwMTE3MTA2NDM3NjgzXSwgWzE2NjM3MjcxODIuODQ2MjE0OCwgMTUxMzgsIDEuNjg4OTIyMTY2ODI0MzQwOF0sIFsxNjYzNzI3MTgyLjkzNjM4MjMsIDE1MTQ3LCAxLjcyMDkwODQwMzM5NjYwNjRdLCBbMTY2MzcyNzE4My4yMDM4NzIyLCAxNTE3NCwgMS45MjE5NzAzNjc0MzE2NDA2XSwgWzE2NjM3MjcxODMuMjkyNDMwNCwgMTUxODMsIDEuODQ1NzQ4NjYyOTQ4NjA4NF0sIFsxNjYzNzI3MTgzLjM4Mzk5ODksIDE1MTkyLCAyLjIxMDAyMjY4NzkxMTk4NzNdLCBbMTY2MzcyNzE4My40ODQ2MDYzLCAxNTIwMSwgMS43ODQwODU5ODg5OTg0MTNdLCBbMTY2MzcyNzE4My41ODA5ODI0LCAxNTIxMCwgMS43Mzg2MTA4NjM2ODU2MDhdLCBbMTY2MzcyNzE4My42NjM2MTIxLCAxNTIxOSwgMi4xNTQ1NTI0NTk3MTY3OTddLCBbMTY2MzcyNzE4My45MjQ5MzE1LCAxNTI0NiwgMS44MDM3ODQyNTEyMTMwNzM3XSwgWzE2NjM3MjcxODQuMDE5OTAwNiwgMTUyNTUsIDEuOTU3NjA0NTI3NDczNDQ5N10sIFsxNjYzNzI3MTg0LjExNTIzMDMsIDE1MjY0LCAxLjgzMjE3NTczMTY1ODkzNTVdLCBbMTY2MzcyNzE4NC4yOTcwOTgsIDE1MjgyLCAxLjg5Nzg2NjcyNTkyMTYzMDldLCBbMTY2MzcyNzE4NC4zODc1NzE2LCAxNTI5MSwgMS44MTExNjcwMDE3MjQyNDMyXSwgWzE2NjM3MjcxODQuNDgyMzMzLCAxNTMwMCwgMi4wMjAwNjEwMTYwODI3NjM3XSwgWzE2NjM3MjcxODQuNTcyOTA0NiwgMTUzMDksIDIuMDgzNTQ0NDkyNzIxNTU3Nl0sIFsxNjYzNzI3MTg0Ljc1MTU2NDMsIDE1MzI3LCAxLjg4ODQxNTkzMjY1NTMzNDVdLCBbMTY2MzcyNzE4NC45MzAyNTU0LCAxNTM0NSwgMS44MTE3MjcyODUzODUxMzE4XSwgWzE2NjM3MjcxODUuMjY5Mzc4MiwgMTUzNzIsIDEuOTAwMzc3MzkyNzY4ODU5OV0sIFsxNjYzNzI3MTg1LjQ5NzgyNTYsIDE1MzkwLCAyLjAyMTkwMzUxNDg2MjA2MDVdLCBbMTY2MzcyNzE4NS41OTA5NTM4LCAxNTM5OSwgMS43NDY5MDM4OTYzMzE3ODddLCBbMTY2MzcyNzE4NS42NzkzMTQ0LCAxNTQwOCwgMS44ODE1MjcwNjYyMzA3NzRdLCBbMTY2MzcyNzE4NS43NzM3OTksIDE1NDE3LCAxLjc3MzQ5MjQ1NTQ4MjQ4M10sIFsxNjYzNzI3MTg2LjE2MDQ3NjIsIDE1NDUzLCAyLjI0Mjk4MzM0MTIxNzA0MV0sIFsxNjYzNzI3MTg2LjM0ODM2NDYsIDE1NDcxLCAyLjA1MDgwNzIzNzYyNTEyMl0sIFsxNjYzNzI3MTg2LjQzOTUxNjMsIDE1NDgwLCAxLjc0MDg5ODcyODM3MDY2NjVdLCBbMTY2MzcyNzE4Ni44NDA1MjAxLCAxNTUwNywgMS45MjA3NDk1NDUwOTczNTFdLCBbMTY2MzcyNzE4Ni45NjE0MjgyLCAxNTUxNiwgMS43ODA1NzcxODI3Njk3NzU0XSwgWzE2NjM3MjcxODcuMDc4NzYyLCAxNTUyNSwgMi4xMzE1NDE3Mjg5NzMzODg3XSwgWzE2NjM3MjcxODcuMTg1NjA0OCwgMTU1MzQsIDEuNzU5ODkxNjI5MjE5MDU1Ml0sIFsxNjYzNzI3MTg3LjcwNDM2MjIsIDE1NTc5LCAxLjk2NDU3MTExODM1NDc5NzRdLCBbMTY2MzcyNzE4OC41NTY5NTI3LCAxNTY1MSwgMi41MDQ0NDkzNjc1MjMxOTM0XSwgWzE2NjM3MjcxODguNjQ3MTgzMiwgMTU2NjAsIDIuMjA3Nzk3MDUwNDc2MDc0XSwgWzE2NjM3MjcxODguNzM4MjM4NiwgMTU2NjksIDIuNDMzMTA1NzA3MTY4NTc5XSwgWzE2NjM3MjcxODkuMDA5Nzk3OCwgMTU2OTYsIDIuNTEyMDQ3NTI5MjIwNTgxXSwgWzE2NjM3MjcxODkuMzk5ODY0NywgMTU3MTQsIDIuOTU3NDAzMTgyOTgzMzk4NF0sIFsxNjYzNzI3MTg5LjQ5NTQ0NCwgMTU3MjMsIDMuMDQyMDQxMzAxNzI3Mjk1XSwgWzE2NjM3MjcxODkuNTkwNjA4NiwgMTU3MzIsIDIuNzM1NjMxNDY1OTExODY1Ml0sIFsxNjYzNzI3MTg5LjY4NDEzNjQsIDE1NzQxLCAyLjUwMTY0NDEzNDUyMTQ4NDRdLCBbMTY2MzcyNzE4OS43ODA2MTEzLCAxNTc1MCwgMS43NDQxNzUwNzY0ODQ2ODAyXSwgWzE2NjM3MjcxODkuODg2ODU2OCwgMTU3NTksIDEuNjg2NDcwOTg1NDEyNTk3N10sIFsxNjYzNzI3MTg5Ljk3ODk4MzIsIDE1NzY4LCAxLjc0NjA4ODUwNDc5MTI1OThdLCBbMTY2MzcyNzE5MC4xNjk2MTA1LCAxNTc4NiwgMi4xMjQ1NTA4MTkzOTY5NzI3XSwgWzE2NjM3MjcxOTAuMjY4NjU0MywgMTU3OTUsIDIuMTI1OTY2Nzg3MzM4MjU3XSwgWzE2NjM3MjcxOTAuNTcxNzgxNiwgMTU4MjIsIDEuOTU0NTQzNTkwNTQ1NjU0M10sIFsxNjYzNzI3MTkxLjA0NjI2MjUsIDE1ODY3LCAxLjc4MTkzMDIwODIwNjE3NjhdLCBbMTY2MzcyNzE5MS4xMzM4NDQxLCAxNTg3NiwgMS43NDgzNDQ0MjEzODY3MTg4XSwgWzE2NjM3MjcxOTEuMzkzNzkwNSwgMTU4OTQsIDEuODQwNTE1NzMyNzY1MTk3OF0sIFsxNjYzNzI3MTkxLjQ4Nzg4NjIsIDE1OTAzLCAxLjc2MDAxMDM2MTY3MTQ0NzhdLCBbMTY2MzcyNzE5MS42ODI3MTQyLCAxNTkyMSwgMS42NzU0Mzk1OTYxNzYxNDc1XSwgWzE2NjM3MjcxOTIuMzc1OTE4OSwgMTU5ODQsIDEuNzAxNTE1MDc4NTQ0NjE2N10sIFsxNjYzNzI3MTkyLjQ4MDc4NzUsIDE1OTkzLCAxLjc1MDg1OTE0MTM0OTc5MjVdLCBbMTY2MzcyNzE5Mi41NzYwNTQ2LCAxNjAwMiwgMS43ODQ0NDkxMDA0OTQzODQ4XSwgWzE2NjM3MjcxOTIuODYwOTkwOCwgMTYwMjksIDEuOTE4OTE1MzkwOTY4MzIyOF0sIFsxNjYzNzI3MTkyLjk1NDI4OTQsIDE2MDM4LCAxLjczNjU2MjM3MTI1Mzk2NzNdLCBbMTY2MzcyNzE5My4yNzQ2OTAyLCAxNjA2NSwgMi4xMTA5NzQ3ODg2NjU3NzE1XSwgWzE2NjM3MjcxOTMuNDAwNzgsIDE2MDc0LCAyLjMwOTMwNTQyOTQ1ODYxOF0sIFsxNjYzNzI3MTkzLjU0MDc5MywgMTYwODMsIDEuOTc4NzA4Mzg2NDIxMjAzNl0sIFsxNjYzNzI3MTkzLjY3NTg3NTcsIDE2MDkyLCAyLjEwODEyODMwOTI0OTg3OF0sIFsxNjYzNzI3MTkzLjg2MTA5MjYsIDE2MTEwLCAxLjg4ODA1MTI3MTQzODU5ODZdLCBbMTY2MzcyNzE5My45NTUxMDUzLCAxNjExOSwgMS45Mjg4OTk3NjUwMTQ2NDg0XSwgWzE2NjM3MjcxOTQuMTM2NDc0NCwgMTYxMzcsIDEuNzk1MjcxOTkyNjgzNDEwNl0sIFsxNjYzNzI3MTk0LjMyOTE0MjYsIDE2MTU1LCAxLjgwNzY3NDg4NDc5NjE0MjZdLCBbMTY2MzcyNzE5NC41MjMwNDMsIDE2MTczLCAyLjA1MjQ0NTY1MDEwMDcwOF0sIFsxNjYzNzI3MTk0LjY1NDkxNzcsIDE2MTgyLCAxLjk1MjQ4NTU2MTM3MDg0OTZdLCBbMTY2MzcyNzE5NC45OTM3MzcyLCAxNjIwOSwgMS44MTIwMzc0Njc5NTY1NDNdLCBbMTY2MzcyNzE5NS4wODQzOTgzLCAxNjIxOCwgMS43MTIwNzU1OTEwODczNDEzXSwgWzE2NjM3MjcxOTUuMTg0MjQ2MywgMTYyMjcsIDEuODI4OTM4MjQ1NzczMzE1NF0sIFsxNjYzNzI3MTk1LjI4MDIxNiwgMTYyMzYsIDEuNzUzNzA1NTAxNTU2Mzk2NV0sIFsxNjYzNzI3MTk1LjM3MDcsIDE2MjQ1LCAxLjgxOTQ1MzIzOTQ0MDkxOF0sIFsxNjYzNzI3MTk1Ljc2MjA0NDcsIDE2MjgxLCAxLjgxMjAxNjEyOTQ5MzcxMzRdLCBbMTY2MzcyNzE5NS45NTI2MTM0LCAxNjI5OSwgMS42OTkxMjg5ODU0MDQ5NjgzXSwgWzE2NjM3MjcxOTYuMzQwOTg2LCAxNjMzNSwgMS44MTc4Njk0MjQ4MTk5NDYzXSwgWzE2NjM3MjcxOTYuNTMzNTYyLCAxNjM1MywgMi4zNjExNjc0MzA4Nzc2ODU1XSwgWzE2NjM3MjcxOTYuNzM0MTAxOCwgMTYzNzEsIDEuNjcyMjM3MTU3ODIxNjU1M10sIFsxNjYzNzI3MTk2LjgyNzMyNiwgMTYzODAsIDEuODk3Mzg4Njk2NjcwNTMyMl0sIFsxNjYzNzI3MTk3LjIwMjA0OTMsIDE2NDE2LCAxLjY5OTc3MjAwMDMxMjgwNTJdLCBbMTY2MzcyNzE5Ny42OTQ3ODgsIDE2NDQzLCAyLjQ3MjYwNzg1MTAyODQ0MjRdLCBbMTY2MzcyNzE5Ny44MjE2MjQ1LCAxNjQ1MiwgMi4yOTIzNjc5MzUxODA2NjRdLCBbMTY2MzcyNzE5OC4wMTc2MzcsIDE2NDcwLCAxLjk3OTA5MzkwOTI2MzYxMDhdLCBbMTY2MzcyNzE5OC4xMDg1OTQ0LCAxNjQ3OSwgMS44NzE2OTQwODc5ODIxNzc3XSwgWzE2NjM3MjcxOTguMzA4MTk2MywgMTY0OTcsIDEuNzg5NTcxNTIzNjY2MzgxOF0sIFsxNjYzNzI3MTk4LjQwMDg0MzYsIDE2NTA2LCAxLjk2OTA4MjgzMjMzNjQyNThdLCBbMTY2MzcyNzE5OC40OTc4MTE4LCAxNjUxNSwgMS44OTEzOTg3ODc0OTg0NzQxXSwgWzE2NjM3MjcxOTguNjgwMTg5NiwgMTY1MzMsIDEuNzk2NTMxNDM4ODI3NTE0Nl0sIFsxNjYzNzI3MTk4Ljc4MTQ0MTcsIDE2NTQyLCAxLjc2MDU4OTM2MTE5MDc5Nl0sIFsxNjYzNzI3MTk4Ljg3NDA5NzYsIDE2NTUxLCAyLjEyNTc3MDA5MjAxMDQ5OF0sIFsxNjYzNzI3MTk5LjQ2NTk0MzMsIDE2NjA1LCAyLjA0MDc3NTc3NTkwOTQyNF0sIFsxNjYzNzI3MTk5LjU2MTU0MTYsIDE2NjE0LCAxLjc2MDM1NjMwNzAyOTcyNDFdLCBbMTY2MzcyNzE5OS42NDc0NjMzLCAxNjYyMywgMi4zNDIzNzI4OTQyODcxMDk0XSwgWzE2NjM3MjcxOTkuNzM2MzAzNiwgMTY2MzIsIDIuNTU1OTg4Nzg4NjA0NzM2M10sIFsxNjYzNzI3MTk5LjgzNTIxNDYsIDE2NjQxLCAxLjk1MTA3OTQ4NzgwMDU5ODFdLCBbMTY2MzcyNzE5OS45MzE2OTAyLCAxNjY1MCwgMS44OTI1Njk4OTk1NTkwMjFdLCBbMTY2MzcyNzIwMC4wMzM5MDIyLCAxNjY1OSwgMi4wMzA4OTMzMjU4MDU2NjRdLCBbMTY2MzcyNzIwMC4xMjI4MzY4LCAxNjY2OCwgMi4wMzc1ODQ1NDMyMjgxNDk0XSwgWzE2NjM3MjcyMDAuMzI0OTQwMiwgMTY2ODYsIDEuNzA2Mzg4NDczNTEwNzQyMl0sIFsxNjYzNzI3MjAwLjYwMDk0MzYsIDE2NzEzLCAxLjc2Mzc1NzIyODg1MTMxODRdLCBbMTY2MzcyNzIwMS4wOTgzMDE0LCAxNjc0OSwgMS44MjEzNjIwMTg1ODUyMDVdLCBbMTY2MzcyNzIwMS41MDEyNTIyLCAxNjc4NSwgMS44MTc0Mjk0MjMzMzIyMTQ0XSwgWzE2NjM3MjcyMDEuNTk4NTY4LCAxNjc5NCwgMS44NDgxNzMwMjIyNzAyMDI2XSwgWzE2NjM3MjcyMDEuNzAyMTc4LCAxNjgwMywgMi4yMDM0NTczNTU0OTkyNjc2XSwgWzE2NjM3MjcyMDEuNzk5OTgwNiwgMTY4MTIsIDEuOTk1MDg1MzU4NjE5NjldLCBbMTY2MzcyNzIwMi4yMTUzOTQ1LCAxNjg0OCwgMS42ODY5OTc4OTA0NzI0MTJdLCBbMTY2MzcyNzIwMi4zMDgzMTI3LCAxNjg1NywgMi4yNTAyMjM2MzY2MjcxOTczXSwgWzE2NjM3MjcyMDIuMzk0NTM4NCwgMTY4NjYsIDEuOTc2NDQwNDI5Njg3NV0sIFsxNjYzNzI3MjAyLjUzMTY4MzQsIDE2ODc1LCAyLjA0NDk2ODg0MzQ2MDA4M10sIFsxNjYzNzI3MjAyLjY0MDk4MTIsIDE2ODg0LCAxLjk1ODU4Nzg4NDkwMjk1NF0sIFsxNjYzNzI3MjAyLjczNjU3ODIsIDE2ODkzLCAyLjQxNDUzMTIzMDkyNjUxMzddLCBbMTY2MzcyNzIwMi44NTAyNywgMTY5MDIsIDEuNzk5NjA5MDY1MDU1ODQ3Ml0sIFsxNjYzNzI3MjAzLjEwMjU1NTMsIDE2OTIwLCAxLjcwNzc0NDAwMjM0MjIyNDFdLCBbMTY2MzcyNzIwMy4yMjQxNzA3LCAxNjkyOSwgMS44NjQwMjQxNjIyOTI0ODA1XSwgWzE2NjM3MjcyMDMuNTAwNjk3NiwgMTY5NDcsIDEuNzYwNzMzMjQ2ODAzMjgzN11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_03-17-04_63b6388f5f34&tag=Loss%2Fvalid":{"data":"W1sxNjYzNzMwMjI0LjE4MDA4NTIsIDksIDUyLjk4OTY4NTA1ODU5Mzc1XSwgWzE2NjM3MzAyMjQuMzg0NTI3NCwgMjcsIDM0LjU4MzE1NjU4NTY5MzM2XSwgWzE2NjM3MzAyMjQuNDk1OTg0MywgMzYsIDMyLjc5MjI5NzM2MzI4MTI1XSwgWzE2NjM3MzAyMjQuNjAyNDE3NSwgNDUsIDI3LjEzODkzMTI3NDQxNDA2Ml0sIFsxNjYzNzMwMjI1LjI3MDMxOCwgOTksIDguMjUyNDkwMDQzNjQwMTM3XSwgWzE2NjM3MzAyMjUuNTQwODU3MywgMTA4LCA4LjE1MDYxNjY0NTgxMjk4OF0sIFsxNjYzNzMwMjI1Ljg3MjIsIDEzNSwgNy40OTYzMzU5ODMyNzYzNjddLCBbMTY2MzczMDIyNS45NzY5NTczLCAxNDQsIDYuMDk1MjY1Mzg4NDg4NzY5NV0sIFsxNjYzNzMwMjI2LjMyMjIyOTQsIDE3MSwgNi42OTM5NDc3OTIwNTMyMjNdLCBbMTY2MzczMDIyNi40MjkyMjk1LCAxODAsIDYuNzkzMzUwNjk2NTYzNzIxXSwgWzE2NjM3MzAyMjYuNTM0ODg1NCwgMTg5LCA1LjQzMTY1Nzc5MTEzNzY5NV0sIFsxNjYzNzMwMjI2Ljc0Mjg0MTIsIDIwNywgNS42MTYxMjg0NDQ2NzE2MzFdLCBbMTY2MzczMDIyNi44NTA5ODc3LCAyMTYsIDcuMDM0MjEzNTQyOTM4MjMyXSwgWzE2NjM3MzAyMjcuMjEyMzY3NSwgMjQzLCA1LjQ0NzQ2NzMyNzExNzkyXSwgWzE2NjM3MzAyMjcuMzE5NzE4OCwgMjUyLCA1LjI0NTc0ODk5NjczNDYxOV0sIFsxNjYzNzMwMjI3LjUzMzE4MzYsIDI3MCwgNS4xOTkwNzY2NTI1MjY4NTU1XSwgWzE2NjM3MzAyMjcuOTk0OTg3MiwgMzA2LCA1LjY2MzU2NDIwNTE2OTY3OF0sIFsxNjYzNzMwMjI4LjExOTg2MTQsIDMxNSwgNS44NjQzODg5NDI3MTg1MDZdLCBbMTY2MzczMDIyOC4zMzI1ODAzLCAzMzMsIDUuNDQyOTMzMDgyNTgwNTY2XSwgWzE2NjM3MzAyMjguNDQ4OTI5OCwgMzQyLCA1LjAyOTcxMDc2OTY1MzMyXSwgWzE2NjM3MzAyMjguNTY4Njk0NiwgMzUxLCA0Ljg1MjU5MjQ2ODI2MTcxOV0sIFsxNjYzNzMwMjI4LjY5NjU5MzUsIDM2MCwgNS42OTA3MDU3NzYyMTQ2XSwgWzE2NjM3MzAyMjguODA2NjM1NCwgMzY5LCA0LjQzNzgyMzI5NTU5MzI2Ml0sIFsxNjYzNzMwMjI5LjUzNjcwMjQsIDQzMiwgMy45NTk2MjI2MjE1MzYyNTVdLCBbMTY2MzczMDIyOS42NDExNywgNDQxLCA0LjQ3OTIwMzcwMTAxOTI4N10sIFsxNjYzNzMwMjI5Ljc2MDM5NDMsIDQ1MCwgMy45Mzc2NzM1Njg3MjU1ODZdLCBbMTY2MzczMDIyOS45OTE3NjE3LCA0NjgsIDMuODg0NjI1OTExNzEyNjQ2NV0sIFsxNjYzNzMwMjMwLjExODQ5MDcsIDQ3NywgNC4xOTM0MzM3NjE1OTY2OF0sIFsxNjYzNzMwMjMwLjMwOTA3NSwgNDk1LCA0LjI5MzY2OTIyMzc4NTRdLCBbMTY2MzczMDIzMC40MDM5NDQ3LCA1MDQsIDQuMTY3NDA2MDgyMTUzMzJdLCBbMTY2MzczMDIzMC42MzA5MjM1LCA1MjIsIDQuODEyMzg5MzczNzc5Mjk3XSwgWzE2NjM3MzAyMzAuOTk1OTgxLCA1NDksIDQuMjAxMzkwMjY2NDE4NDU3XSwgWzE2NjM3MzAyMzEuMTI0MTQwMywgNTU4LCAzLjcxMTcxOTk4OTc3NjYxMTNdLCBbMTY2MzczMDIzMS4yMjU5NTAyLCA1NjcsIDQuMzM0Mjg3MTY2NTk1NDU5XSwgWzE2NjM3MzAyMzEuMzI5ODIyMywgNTc2LCA0LjEzMjkxNjQ1MDUwMDQ4OF0sIFsxNjYzNzMwMjMxLjU1ODI5OCwgNTk0LCAzLjQ4NjUwMjE3MDU2Mjc0NF0sIFsxNjYzNzMwMjMxLjY2NjUyMSwgNjAzLCAzLjQ1OTY1MjE4NTQ0MDA2MzVdLCBbMTY2MzczMDIzMS43OTEyNzc2LCA2MTIsIDMuMzk0NDM0MjEzNjM4MzA1N10sIFsxNjYzNzMwMjMxLjkwNjQyMSwgNjIxLCA0LjM3NjUwMjUxMzg4NTQ5OF0sIFsxNjYzNzMwMjMyLjEyNDQ0NSwgNjM5LCAzLjUzMDcwMzA2Nzc3OTU0MV0sIFsxNjYzNzMwMjMyLjIyMzczMDMsIDY0OCwgMy42MDM2ODY1NzExMjEyMTZdLCBbMTY2MzczMDIzMi44Nzk4NDk0LCA3MDIsIDMuODM0NzI5NDMzMDU5NjkyNF0sIFsxNjYzNzMwMjMzLjA5NTksIDcyMCwgMi44MzI0OTI1ODk5NTA1NjE1XSwgWzE2NjM3MzAyMzMuMjExNzY5MywgNzI5LCAzLjQwNDIyMTI5NjMxMDQyNV0sIFsxNjYzNzMwMjMzLjQwMDE4NTMsIDc0NywgMy4yODQzNTM0OTQ2NDQxNjVdLCBbMTY2MzczMDIzMy40OTAzODQ4LCA3NTYsIDMuNjM3NjczODU0ODI3ODgxXSwgWzE2NjM3MzAyMzMuNjY1MDIwMiwgNzc0LCAzLjMzMzYwMjkwNTI3MzQzNzVdLCBbMTY2MzczMDIzMy43NjE3MzI2LCA3ODMsIDMuMjM2MDM1MTA4NTY2Mjg0XSwgWzE2NjM3MzAyMzQuMDIzMzA4LCA4MTAsIDMuNDE4MTk5Nzc3NjAzMTQ5NF0sIFsxNjYzNzMwMjM0LjEyNTc0MzksIDgxOSwgMy4xODU0NzQxNTczMzMzNzRdLCBbMTY2MzczMDIzNC41ODc1ODU3LCA4NjQsIDMuMTk1MTcwNDAyNTI2ODU1NV0sIFsxNjYzNzMwMjM0LjkyNTY3NzUsIDkwMCwgMy4yMTQ0MTc5MzQ0MTc3MjQ2XSwgWzE2NjM3MzAyMzUuMDA4MTYzNywgOTA5LCAzLjQ1OTkxOTY5MTA4NTgxNTRdLCBbMTY2MzczMDIzNS42NDY3NTQsIDkzNiwgMi43MTExNjg3NjYwMjE3Mjg1XSwgWzE2NjM3MzAyMzUuOTQ5ODA1NSwgOTYzLCAzLjA0MjE1MDI1OTAxNzk0NDNdLCBbMTY2MzczMDIzNi4wNTU4Njg2LCA5NzIsIDMuMDI1ODc3MjM3MzE5OTQ2M10sIFsxNjYzNzMwMjM2LjIzNDkzOTYsIDk5MCwgMi42MTE5MDE3NjAxMDEzMTg0XSwgWzE2NjM3MzAyMzYuMzMxNDY0LCA5OTksIDIuODk5ODQ4MjIyNzMyNTQ0XSwgWzE2NjM3MzAyMzYuNzA1MTQ0MiwgMTAzNSwgMi42Mzg0NDA4NDczOTY4NTA2XSwgWzE2NjM3MzAyMzYuOTE0MjcyLCAxMDUzLCAyLjUyNjQzMDYwNjg0MjA0MV0sIFsxNjYzNzMwMjM3LjM2MDYxNTcsIDEwOTgsIDIuMzQwNjc2MDY5MjU5NjQzNl0sIFsxNjYzNzMwMjM3Ljc2NDc4ODQsIDExMzQsIDIuMTIyODYyNTc3NDM4MzU0NV0sIFsxNjYzNzMwMjM3Ljg2ODE5NDgsIDExNDMsIDIuNDY0NjYyNzkwMjk4NDYyXSwgWzE2NjM3MzAyMzguMDY2NTA3NiwgMTE2MSwgMi41MTY5NDg0NjE1MzI1OTI4XSwgWzE2NjM3MzAyMzguMTUzNjg0MSwgMTE3MCwgMy4xNzI3NDY4OTY3NDM3NzQ0XSwgWzE2NjM3MzAyMzguMjQwMTg1MywgMTE3OSwgMi4zNjcxOTMyMjIwNDU4OTg0XSwgWzE2NjM3MzAyMzguMzI3NjU4MiwgMTE4OCwgMi4yNTk4NTMxMjQ2MTg1MzAzXSwgWzE2NjM3MzAyMzguNDI5Njc1OCwgMTE5NywgMi4zNTMyNDk1NDk4NjU3MjI3XSwgWzE2NjM3MzAyMzguNjcwOTY3NiwgMTIxNSwgMi4yMzIzMDc5MTA5MTkxODk1XSwgWzE2NjM3MzAyMzguODYxMTkyLCAxMjMzLCAyLjU3MDU3MjYxNDY2OThdLCBbMTY2MzczMDIzOC45NDcxNjkzLCAxMjQyLCAyLjQxOTI4NzQ0MzE2MTAxMDddLCBbMTY2MzczMDIzOS41Mjc1MjMsIDEyOTYsIDIuNDI3ODI4NTUwMzM4NzQ1XSwgWzE2NjM3MzAyMzkuNjEzMTg4MywgMTMwNSwgMi4yOTg2NDMzNTA2MDExOTYzXSwgWzE2NjM3MzAyMzkuNzg5OTU0LCAxMzIzLCAyLjQyMjIyNzYyMTA3ODQ5MV0sIFsxNjYzNzMwMjM5Ljg5ODkzMSwgMTMzMiwgMi42MDk4NTEzNjAzMjEwNDVdLCBbMTY2MzczMDI0MC4xOTc3Mjc3LCAxMzU5LCAyLjIyOTI2MDQ0NDY0MTExMzNdLCBbMTY2MzczMDI0MC44NDA0NDQsIDE0MjIsIDIuMTg1NDAxNDM5NjY2NzQ4XSwgWzE2NjM3MzAyNDEuMDE3Nzg0OCwgMTQ0MCwgMi4xOTc2NjQ0OTkyODI4MzddLCBbMTY2MzczMDI0MS4xMTI4NDQyLCAxNDQ5LCAyLjE3NDk1NTM2ODA0MTk5Ml0sIFsxNjYzNzMwMjQxLjI5OTI4ODcsIDE0NjcsIDIuMjk2MzM0OTgxOTE4MzM1XSwgWzE2NjM3MzAyNDEuNDk2ODk2MywgMTQ4NSwgMi4yNzEyMjQ3MzcxNjczNTg0XSwgWzE2NjM3MzAyNDEuNjc0NjcxLCAxNTAzLCAyLjUyMTM2OTIxODgyNjI5NF0sIFsxNjYzNzMwMjQyLjA0MTM4NDIsIDE1MzksIDIuMzI3MzEyMjMxMDYzODQyOF0sIFsxNjYzNzMwMjQyLjEyOTE0NTEsIDE1NDgsIDIuMjA4ODcxMzY0NTkzNTA2XSwgWzE2NjM3MzAyNDIuMjIwMzI2NCwgMTU1NywgMi4yNzE4Mzc3MTEzMzQyMjg1XSwgWzE2NjM3MzAyNDIuNDkwMTUwNSwgMTU4NCwgMi40MzUxNzg5OTUxMzI0NDYzXSwgWzE2NjM3MzAyNDIuNTc3MjI1NywgMTU5MywgMi42NzgyNjA4MDMyMjI2NTYyXSwgWzE2NjM3MzAyNDIuNjY0NjMxNCwgMTYwMiwgMi4xNzI3NDE0MTMxMTY0NTVdLCBbMTY2MzczMDI0Mi43NDkyOTI2LCAxNjExLCAyLjM5MDE0NjczMjMzMDMyMjNdLCBbMTY2MzczMDI0Mi45MTU5MzYyLCAxNjI5LCAyLjYxMDIwMzc0Mjk4MDk1N10sIFsxNjYzNzMwMjQzLjAxMTAxNTcsIDE2MzgsIDIuMDQ1Mzg0ODgzODgwNjE1Ml0sIFsxNjYzNzMwMjQzLjU2NDg1OTIsIDE2NjUsIDIuMjMwNzYxMjg5NTk2NTU3Nl0sIFsxNjYzNzMwMjQzLjY2MjA1NSwgMTY3NCwgMS45ODc2MDA1NjQ5NTY2NjVdLCBbMTY2MzczMDI0My43NDM5Njg1LCAxNjgzLCAyLjU2NjM3MTIwMjQ2ODg3Ml0sIFsxNjYzNzMwMjQ0LjAwMTE3MzMsIDE3MTAsIDIuOTYzMTk4MTg0OTY3MDQxXSwgWzE2NjM3MzAyNDQuMDgwODMyNSwgMTcxOSwgMi44MTc4Mjg0MTY4MjQzNDFdLCBbMTY2MzczMDI0NC4xODQ4NjE3LCAxNzI4LCAyLjIxODk2NDU3NjcyMTE5MTRdLCBbMTY2MzczMDI0NC4yNzY3NjQsIDE3MzcsIDIuNzAxMjgwNTkzODcyMDcwM10sIFsxNjYzNzMwMjQ0LjU1Nzk3ODYsIDE3NjQsIDIuMzAzNDkzMDIyOTE4NzAxXSwgWzE2NjM3MzAyNDQuODIxNjY1MywgMTc5MSwgMi4wNDI2ODA5Nzg3NzUwMjQ0XSwgWzE2NjM3MzAyNDQuOTE0ODQzNiwgMTgwMCwgMi4yNTk0NDI1Njc4MjUzMTc0XSwgWzE2NjM3MzAyNDUuMDExNDY4MiwgMTgwOSwgMi40MDExNzQzMDY4Njk1MDddLCBbMTY2MzczMDI0NS4xOTUzMzc4LCAxODI3LCAxLjk5Mjk2OTAzNjEwMjI5NV0sIFsxNjYzNzMwMjQ1LjI3ODQzOTgsIDE4MzYsIDIuODIwMTQ3NTE0MzQzMjYxN10sIFsxNjYzNzMwMjQ1LjM2MzY4MzcsIDE4NDUsIDIuMjI5MDgwNjc3MDMyNDcwN10sIFsxNjYzNzMwMjQ1LjQ0ODIzODgsIDE4NTQsIDIuMjUwMTA1NjE5NDMwNTQyXSwgWzE2NjM3MzAyNDUuNjIwMTM2MywgMTg3MiwgMi4xNDU2MzMyMjA2NzI2MDc0XSwgWzE2NjM3MzAyNDUuNzkzMDIsIDE4OTAsIDIuMjY1NDg0MDk0NjE5NzUxXSwgWzE2NjM3MzAyNDUuOTcyMDU3OCwgMTkwOCwgMi42MDcwMDcwMjY2NzIzNjMzXSwgWzE2NjM3MzAyNDYuMTYyNDIwNSwgMTkyNiwgMi41NzQ0NjA1MDY0MzkyMDldLCBbMTY2MzczMDI0Ni4zNTAxOTgzLCAxOTQ0LCAxLjk3ODAwMDI4MzI0MTI3Ml0sIFsxNjYzNzMwMjQ2LjQzMjM0OCwgMTk1MywgMi4zMjc5Mzc2MDI5OTY4MjZdLCBbMTY2MzczMDI0Ni42MDU0NzI2LCAxOTcxLCAyLjM1ODcyNzkzMTk3NjMxODRdLCBbMTY2MzczMDI0Ni42OTcxMTgsIDE5ODAsIDEuOTkzNjczODAxNDIyMTE5MV0sIFsxNjYzNzMwMjQ2Ljc4MDExNzgsIDE5ODksIDIuMTQ3NjM1Njk4MzE4NDgxNF0sIFsxNjYzNzMwMjQ2Ljg2NDI4MiwgMTk5OCwgMi40MDYwODIxNTMzMjAzMTI1XSwgWzE2NjM3MzAyNDcuMDIxMjIxLCAyMDA3LCAyLjAwMDYxMjI1ODkxMTEzM10sIFsxNjYzNzMwMjQ3LjI4MjU0MSwgMjAyNSwgMS45MTY2Mzk1NjY0MjE1MDg4XSwgWzE2NjM3MzAyNDcuNDM2NTkxNCwgMjAzNCwgMi41Mjc0MjYwMDQ0MDk3OV0sIFsxNjYzNzMwMjQ3Ljg2ODE2MDIsIDIwNzAsIDIuMjU1NzE3NzU0MzY0MDEzN10sIFsxNjYzNzMwMjQ4LjE4NDU3MjUsIDIwOTcsIDIuMTc2Nzg4MDkxNjU5NTQ2XSwgWzE2NjM3MzAyNDguNDc4NzU4MywgMjEyNCwgMi4xMjg5NzcyOTg3MzY1NzIzXSwgWzE2NjM3MzAyNDguNjUxMTE5LCAyMTQyLCAxLjk3OTE1MjU2MDIzNDA2OThdLCBbMTY2MzczMDI0OC43MzYyMTY1LCAyMTUxLCAyLjQ2OTA0MTgyNDM0MDgyMDNdLCBbMTY2MzczMDI0OC44MjE1NDE1LCAyMTYwLCAxLjk2NTU2MjkzOTY0Mzg1OTldLCBbMTY2MzczMDI0OC45OTM0MTc3LCAyMTc4LCAyLjE3Mjc1MDIzNDYwMzg4Ml0sIFsxNjYzNzMwMjQ5LjA4OTQzNywgMjE4NywgMS45MzU0OTY4MDcwOTgzODg3XSwgWzE2NjM3MzAyNDkuMjc2NTI4OCwgMjIwNSwgMS44MTA3MjkxNDYwMDM3MjMxXSwgWzE2NjM3MzAyNDkuMzYxNDAwOCwgMjIxNCwgMi4xMDYxNDg3MTk3ODc1OTc3XSwgWzE2NjM3MzAyNDkuNDQ1MzMyNSwgMjIyMywgMi40MTIwOTAzMDE1MTM2NzJdLCBbMTY2MzczMDI0OS41MzIzMjcyLCAyMjMyLCAyLjEzNDUyNTUzNzQ5MDg0NDddLCBbMTY2MzczMDI0OS45NzM1MTMsIDIyNzcsIDEuOTY3NzQ5ODM0MDYwNjY5XSwgWzE2NjM3MzAyNTAuMDY3NTM3LCAyMjg2LCAyLjMxODExNTcxMTIxMjE1OF0sIFsxNjYzNzMwMjUwLjE2MDg1NzIsIDIyOTUsIDIuMzAyNDc3MzU5NzcxNzI4NV0sIFsxNjYzNzMwMjUwLjQ0MDA0OTYsIDIzMjIsIDIuNDM0NzU3MjMyNjY2MDE1Nl0sIFsxNjYzNzMwMjUwLjUyODk0ODMsIDIzMzEsIDIuNDc0NjE5MTUwMTYxNzQzXSwgWzE2NjM3MzAyNTAuNjUzNTAyMiwgMjM0MCwgMi4wOTU1NzM2NjM3MTE1NDhdLCBbMTY2MzczMDI1MC43NjMxOTA3LCAyMzQ5LCAyLjI0MDA4ODQ2MjgyOTU5XSwgWzE2NjM3MzAyNTAuOTg2NDk0MywgMjM2NywgMi4wNTM2NTUxNDc1NTI0OTAyXSwgWzE2NjM3MzAyNTIuMTk1ODE5NiwgMjQzOSwgMi4wNTEzNTAzNTUxNDgzMTU0XSwgWzE2NjM3MzAyNTIuMjkzNjQwNCwgMjQ0OCwgMi4xMDEwNjkyMTE5NTk4MzldLCBbMTY2MzczMDI1Mi41NjgxNTcsIDI0NzUsIDIuMTM0MTA5NzM1NDg4ODkxNl0sIFsxNjYzNzMwMjUyLjY2Njc2NjYsIDI0ODQsIDEuODYzMjY0Njc5OTA4NzUyNF0sIFsxNjYzNzMwMjUyLjc4MDM4MDUsIDI0OTMsIDIuNTI1NDIzNTI2NzYzOTE2XSwgWzE2NjM3MzAyNTIuOTU5Nzg3NCwgMjUxMSwgMS45NTQwMDIwMjI3NDMyMjVdLCBbMTY2MzczMDI1My4xNzQyODgzLCAyNTI5LCAyLjEwMjA3NDYyMzEwNzkxXSwgWzE2NjM3MzAyNTMuMzU4NDA2NSwgMjU0NywgMS44MDY2MDUzMzkwNTAyOTNdLCBbMTY2MzczMDI1My40NDk1NzM1LCAyNTU2LCAxLjk2OTc3NTkxNTE0NTg3NF0sIFsxNjYzNzMwMjUzLjYzMzExODksIDI1NzQsIDIuMDAyODI5MDc0ODU5NjE5XSwgWzE2NjM3MzAyNTMuODEyMzUsIDI1OTIsIDIuMjAwNjEwNjM3NjY0Nzk1XSwgWzE2NjM3MzAyNTMuOTAwMzUwNiwgMjYwMSwgMi4wMDExODg5OTM0NTM5Nzk1XSwgWzE2NjM3MzAyNTQuMDc3NTA3MywgMjYxOSwgMi40NzM1NDQzNTkyMDcxNTMzXSwgWzE2NjM3MzAyNTQuNTI1NzIzLCAyNjY0LCAxLjk4NTY5Nzc0NjI3Njg1NTVdLCBbMTY2MzczMDI1NC42MTI3MDEsIDI2NzMsIDIuMTE3NDY4NTk1NTA0NzYwN10sIFsxNjYzNzMwMjU0LjcxMjA5NzIsIDI2ODIsIDEuODU4ODE0MjM5NTAxOTUzMV0sIFsxNjYzNzMwMjU0Ljc5ODkyOTUsIDI2OTEsIDEuOTI1MTA0NzM3MjgxNzk5M10sIFsxNjYzNzMwMjU0Ljg4MTk5NTQsIDI3MDAsIDIuMjQ3MzI4OTk2NjU4MzI1XSwgWzE2NjM3MzAyNTUuMzI4MjM5LCAyNzQ1LCAxLjg1OTA1NTA0MjI2Njg0NTddLCBbMTY2MzczMDI1NS41NTcxMTc1LCAyNzYzLCAxLjk1NDU4MTg1NjcyNzZdLCBbMTY2MzczMDI1NS42NzAzODQ2LCAyNzcyLCAxLjc0MDAwOTE4ODY1MjAzODZdLCBbMTY2MzczMDI1NS43OTY3MDIsIDI3ODEsIDEuODYwMDYyNTk5MTgyMTI5XSwgWzE2NjM3MzAyNTUuODg4MjIyLCAyNzkwLCAxLjk2MDA1OTc2MjAwMTAzNzZdLCBbMTY2MzczMDI1Ni4xNjI3NzYyLCAyODE3LCAxLjc5NDExNTE4NTczNzYwOTldLCBbMTY2MzczMDI1Ni4yNzAwMTk1LCAyODI2LCAyLjE3MDgxNjg5ODM0NTk0NzNdLCBbMTY2MzczMDI1Ni41ODc5OTMxLCAyODUzLCAxLjczNDM2MzkxMzUzNjA3MThdLCBbMTY2MzczMDI1Ni43NjM1NTE1LCAyODcxLCAyLjA1NzA2MzgxNzk3NzkwNTNdLCBbMTY2MzczMDI1Ni44NTE0MzU3LCAyODgwLCAxLjYyMTc5NTg5MjcxNTQ1NF0sIFsxNjYzNzMwMjU3LjE5OTYxMzMsIDI5MDcsIDIuNDAzNTQzNDcyMjkwMDM5XSwgWzE2NjM3MzAyNTcuNDE4ODg5LCAyOTI1LCAxLjk3NTU1NDM0NzAzODI2OV0sIFsxNjYzNzMwMjU3Ljg4MTc0NzIsIDI5NzAsIDIuMTQxODUwNzA5OTE1MTYxXSwgWzE2NjM3MzAyNTcuOTczNTE1MywgMjk3OSwgMi4wMjc0Nzg2OTQ5MTU3NzE1XSwgWzE2NjM3MzAyNTguMDY1NDM3OCwgMjk4OCwgMS41Nzk2NTk0NjE5NzUwOTc3XSwgWzE2NjM3MzAyNTguMTYwMjI5LCAyOTk3LCAxLjg1MjMwNTg4OTEyOTYzODddLCBbMTY2MzczMDI1OC4yNTE0Nzc1LCAzMDA2LCAxLjg1NzIwNzUzNjY5NzM4NzddLCBbMTY2MzczMDI1OC42MTg5Nzg3LCAzMDQyLCAyLjU1MDgwMDgwMDMyMzQ4NjNdLCBbMTY2MzczMDI1OC42OTg5MTQzLCAzMDUxLCAyLjAwNDgzMDM2MDQxMjU5NzddLCBbMTY2MzczMDI1OC45MTIwOTYzLCAzMDY5LCAxLjY1OTc4ODYwODU1MTAyNTRdLCBbMTY2MzczMDI1OS4xNzI1MDY4LCAzMDk2LCAxLjcxNDkxMDUwNzIwMjE0ODRdLCBbMTY2MzczMDI1OS4yNjEyNTQsIDMxMDUsIDIuMDA4MjU1NzIwMTM4NTVdLCBbMTY2MzczMDI1OS4zNDUzNywgMzExNCwgMS43Mjc1NjM3Mzg4MjI5MzddLCBbMTY2MzczMDI1OS40Mzk5NjI0LCAzMTIzLCAxLjc5NzM5MDgxODU5NTg4NjJdLCBbMTY2MzczMDI1OS42NzQyODU3LCAzMTQxLCAxLjU0Nzg4MDUzMDM1NzM2MDhdLCBbMTY2MzczMDI1OS44NTgxODM2LCAzMTU5LCAyLjA2ODkyMjc1ODEwMjQxN10sIFsxNjYzNzMwMjYwLjIyNzkwNzcsIDMxNzcsIDIuMjA3MzQ0MjkzNTk0MzYwNF0sIFsxNjYzNzMwMjYwLjMxMzYxNDgsIDMxODYsIDEuOTEwOTEzMjI4OTg4NjQ3NV0sIFsxNjYzNzMwMjYwLjQwOTIwMjYsIDMxOTUsIDEuOTY4ODI4OTE2NTQ5NjgyNl0sIFsxNjYzNzMwMjYwLjQ5NTE4NTEsIDMyMDQsIDEuODQ3ODMyOTE4MTY3MTE0M10sIFsxNjYzNzMwMjYwLjY4MDM1MTMsIDMyMjIsIDEuOTkyNzUwNDA2MjY1MjU4OF0sIFsxNjYzNzMwMjYwLjc3MjA5NDcsIDMyMzEsIDIuMDA3MDAzMDY4OTIzOTVdLCBbMTY2MzczMDI2MC45Nzk4MDgsIDMyNDksIDEuNjIyMTQwMDQ5OTM0Mzg3Ml0sIFsxNjYzNzMwMjYxLjE1MDYxOTUsIDMyNjcsIDIuMjIyNTEzMTk4ODUyNTM5XSwgWzE2NjM3MzAyNjEuMjQzOTU1NiwgMzI3NiwgMS44MjIzMjgzMjkwODYzMDM3XSwgWzE2NjM3MzAyNjEuMzM0NzksIDMyODUsIDIuMDM3MTg4NzY4Mzg2ODQxXSwgWzE2NjM3MzAyNjEuNDIxNjA2LCAzMjk0LCAxLjg0NjQ0MTYyNjU0ODc2N10sIFsxNjYzNzMwMjYxLjUxMjMxMzEsIDMzMDMsIDEuOTgzNDU1Nzc3MTY4Mjc0XSwgWzE2NjM3MzAyNjEuNjEzOTcxMiwgMzMxMiwgMi4wNzA1OTY0NTY1Mjc3MV0sIFsxNjYzNzMwMjYxLjcxODEyMjcsIDMzMjEsIDEuOTMxMzkyOTA4MDk2MzEzNV0sIFsxNjYzNzMwMjYyLjIzMTI0ODYsIDMzNzUsIDIuMDAyNDA3NTUwODExNzY3Nl0sIFsxNjYzNzMwMjYyLjMxNzcwODUsIDMzODQsIDEuNjUzMTQwNDI1NjgyMDY3OV0sIFsxNjYzNzMwMjYyLjQ4ODU2OTMsIDM0MDIsIDIuMzA4MDI1NTk4NTI2MDAxXSwgWzE2NjM3MzAyNjIuNTczMTYzNSwgMzQxMSwgMS45NTg1NzM4MTgyMDY3ODddLCBbMTY2MzczMDI2Mi45Mjc3NTE4LCAzNDQ3LCAxLjk5NzM2MjQ5NDQ2ODY4OV0sIFsxNjYzNzMwMjYzLjE5OTkzLCAzNDc0LCAxLjk5NTkxMTEyMTM2ODQwODJdLCBbMTY2MzczMDI2My4yOTIwOTYsIDM0ODMsIDIuMDYxNzA1MzUwODc1ODU0NV0sIFsxNjYzNzMwMjYzLjYzMTM5MTgsIDM1MTAsIDEuNTI4OTQ3ODMwMjAwMTk1M10sIFsxNjYzNzMwMjYzLjc2ODMxOTEsIDM1MTksIDEuNTk3MzAyNzk0NDU2NDgyXSwgWzE2NjM3MzAyNjMuODc4Nzg3LCAzNTI4LCAxLjk3NjI5ODY4OTg0MjIyNDFdLCBbMTY2MzczMDI2My45OTcxNzk1LCAzNTM3LCAyLjAyNDAyOTAxNjQ5NDc1MV0sIFsxNjYzNzMwMjY0LjE1MTU0MywgMzU0NiwgMS42MDU0NTAxNTMzNTA4M10sIFsxNjYzNzMwMjY0LjI2OTk4ODgsIDM1NTUsIDEuNjg0ODk0NjgwOTc2ODY3N10sIFsxNjYzNzMwMjY0LjM5ODM2OSwgMzU2NCwgMS45NTAzMjM3MDA5MDQ4NDYyXSwgWzE2NjM3MzAyNjQuNTMzNzA2MiwgMzU3MywgMi43MTcwOTk5MDUwMTQwMzhdLCBbMTY2MzczMDI2NC42NDI5MDQsIDM1ODIsIDEuNTk1OTQ2Nzg4Nzg3ODQxOF0sIFsxNjYzNzMwMjY0LjczNzI5OSwgMzU5MSwgMS45NDAyODY3NTU1NjE4Mjg2XSwgWzE2NjM3MzAyNjQuODI0ODAzLCAzNjAwLCAyLjAxNDk4NjUxNTA0NTE2Nl0sIFsxNjYzNzMwMjY1LjA0MDk2MDMsIDM2MTgsIDIuMTQyNDc5ODk2NTQ1NDFdLCBbMTY2MzczMDI2NS4xNTE0MjgsIDM2MjcsIDEuODcxOTQ1NzM4NzkyNDE5NF0sIFsxNjYzNzMwMjY1LjM2NDU1NjMsIDM2NDUsIDIuMzEyNTgyOTY5NjY1NTI3M10sIFsxNjYzNzMwMjY1LjU3NDIzMDcsIDM2NjMsIDEuNTkwMjA3ODE1MTcwMjg4XSwgWzE2NjM3MzAyNjUuNzk0MTk3MywgMzY4MSwgMS42NzE2MDQwMzcyODQ4NTFdLCBbMTY2MzczMDI2NS45MTExMTg3LCAzNjkwLCAxLjkxMTc3MDU4MjE5OTA5NjddLCBbMTY2MzczMDI2Ni4yMzk0MTk1LCAzNzE3LCAxLjc5Njk0NTU3MTg5OTQxNF0sIFsxNjYzNzMwMjY2LjM0MzAxMTYsIDM3MjYsIDIuMDgxOTM1NDA1NzMxMjAxXSwgWzE2NjM3MzAyNjYuNDMyMjYzOSwgMzczNSwgMS43NjY3OTk1NjkxMjk5NDM4XSwgWzE2NjM3MzAyNjYuNTMwMDUyLCAzNzQ0LCAxLjc4MDE0ODE0ODUzNjY4MjFdLCBbMTY2MzczMDI2Ni43OTc0NjM3LCAzNzcxLCAxLjc3MzgzOTU5MjkzMzY1NDhdLCBbMTY2MzczMDI2Ni44ODMxNDIsIDM3ODAsIDEuOTA2MTc5Nzg1NzI4NDU0Nl0sIFsxNjYzNzMwMjY3LjA3Njg1NzMsIDM3OTgsIDEuNzIxNzM5NzY4OTgxOTMzNl0sIFsxNjYzNzMwMjY3LjE2MjQ1MSwgMzgwNywgMS43MDk3OTQ2NDA1NDEwNzY3XSwgWzE2NjM3MzAyNjcuNDM1MDk2MywgMzgzNCwgMS43MDMxNzczMzI4NzgxMTI4XSwgWzE2NjM3MzAyNjcuNTIxMzUwNiwgMzg0MywgMi4wOTU1NDQwOTk4MDc3MzkzXSwgWzE2NjM3MzAyNjguMTUxNjM5NSwgMzg3OSwgMS44NzY1NzA3MDE1OTkxMjFdLCBbMTY2MzczMDI2OC4yMzg2MTcsIDM4ODgsIDEuOTc3NTA2OTk1MjAxMTEwOF0sIFsxNjYzNzMwMjY4LjUwOTMwMTIsIDM5MTUsIDEuNjY3MTExNjM1MjA4MTI5OV0sIFsxNjYzNzMwMjY4LjU5MzMxNjgsIDM5MjQsIDEuNjkwMDgyNzg4NDY3NDA3Ml0sIFsxNjYzNzMwMjY4LjY4MTg3MzMsIDM5MzMsIDEuOTI0NzY0ODcxNTk3MjldLCBbMTY2MzczMDI2OC43NzMzNTgsIDM5NDIsIDEuNzU5NjI2ODY1Mzg2OTYzXSwgWzE2NjM3MzAyNjguODY1NzMzOSwgMzk1MSwgMS44NjMxNzU5ODgxOTczMjY3XSwgWzE2NjM3MzAyNjguOTU1OTc5MywgMzk2MCwgMS43MTUxNTAyMzcwODM0MzVdLCBbMTY2MzczMDI2OS4wNTU4MjA3LCAzOTY5LCAxLjY0Nzk4NTIxOTk1NTQ0NDNdLCBbMTY2MzczMDI2OS4xNjU0MjUsIDM5NzgsIDEuNzIzODI0MTQzNDA5NzI5XSwgWzE2NjM3MzAyNjkuMzQwODY4LCAzOTk2LCAxLjcwMjM5MTM4NjAzMjEwNDVdLCBbMTY2MzczMDI2OS40MjkzNzMsIDQwMDUsIDEuOTMyNTc1NDY0MjQ4NjU3Ml0sIFsxNjYzNzMwMjY5LjU2OTUwNSwgNDAxNCwgMS42NTAyOTM4MjcwNTY4ODQ4XSwgWzE2NjM3MzAyNjkuNjY4OTE5OCwgNDAyMywgMS43NTMzODk3MTYxNDgzNzY1XSwgWzE2NjM3MzAyNzAuMjE0MDU0LCA0MDU5LCAxLjU2OTYwMDEwNTI4NTY0NDVdLCBbMTY2MzczMDI3MC4zMzM2OTUyLCA0MDY4LCAyLjAwMjAwNjI5MjM0MzEzOTZdLCBbMTY2MzczMDI3MC40NDQ4MTQsIDQwNzcsIDEuNjkzNDgyMDQxMzU4OTQ3OF0sIFsxNjYzNzMwMjcwLjU0MDA4NDQsIDQwODYsIDEuNzc4MzM1OTI4OTE2OTMxMl0sIFsxNjYzNzMwMjcwLjYzNTk3MywgNDA5NSwgMS42NDk1NDE0OTcyMzA1Mjk4XSwgWzE2NjM3MzAyNzAuODI5MTU4NSwgNDExMywgMS44MzI4NjkyOTEzMDU1NDJdLCBbMTY2MzczMDI3MS4wMDQ3NzksIDQxMzEsIDIuMjc2Nzg0NDIwMDEzNDI3N10sIFsxNjYzNzMwMjcxLjE5NjMwNjIsIDQxNDksIDEuNTI3NDg4NDcwMDc3NTE0Nl0sIFsxNjYzNzMwMjcxLjI3OTM3MSwgNDE1OCwgMS43NTAwODY2NjUxNTM1MDM0XSwgWzE2NjM3MzAyNzEuMzY3MjExOCwgNDE2NywgMS43NDk3OTg2NTU1MDk5NDg3XSwgWzE2NjM3MzAyNzEuNTUyNzM0NCwgNDE4NSwgMS44MjQ4MjA3NTY5MTIyMzE0XSwgWzE2NjM3MzAyNzEuNjM5NjY1NCwgNDE5NCwgMS43Mzc5NTQwMjA1MDAxODNdLCBbMTY2MzczMDI3MS43MjgxMjk2LCA0MjAzLCAxLjU0MjUxNjk0Njc5MjYwMjVdLCBbMTY2MzczMDI3MS45MDA2NTk4LCA0MjIxLCAxLjYzOTMxMjUwNTcyMjA0Nl0sIFsxNjYzNzMwMjcyLjA4ODQ3LCA0MjM5LCAxLjU4Mzk4MTYzMzE4NjM0MDNdLCBbMTY2MzczMDI3Mi4xNjk5ODU1LCA0MjQ4LCAxLjc5NjA4OTY0OTIwMDQzOTVdLCBbMTY2MzczMDI3Mi40MzM3Mjc1LCA0Mjc1LCAxLjYyMTA2MjI3ODc0NzU1ODZdLCBbMTY2MzczMDI3Mi41MjU4NTU1LCA0Mjg0LCAyLjU0NTQ4NDU0Mjg0NjY3OTddLCBbMTY2MzczMDI3Mi43OTE4MTU1LCA0MzExLCAxLjU1MjU4MDgzMzQzNTA1ODZdLCBbMTY2MzczMDI3Mi44NzA4Nzc3LCA0MzIwLCAyLjA2MTY1MjE4MzUzMjcxNV0sIFsxNjYzNzMwMjcyLjk2MTc2NywgNDMyOSwgMS42NDcyNDY0Nzk5ODgwOTgxXSwgWzE2NjM3MzAyNzMuMTEwMDczLCA0MzM4LCAxLjgyMzI1MzYzMTU5MTc5NjldLCBbMTY2MzczMDI3My4yMzgxMTY1LCA0MzQ3LCAxLjYwMTU1NDE1NTM0OTczMTRdLCBbMTY2MzczMDI3My4zMjczMzU0LCA0MzU2LCAxLjUyMDYzMzkzNTkyODM0NDddLCBbMTY2MzczMDI3My40MTU2NDEsIDQzNjUsIDEuNDU1MTkwMzAwOTQxNDY3M10sIFsxNjYzNzMwMjczLjYyODgxMDIsIDQzODMsIDEuODIyMjg5OTQzNjk1MDY4NF0sIFsxNjYzNzMwMjczLjcxNTgyMTUsIDQzOTIsIDEuNTc4NTIzNjM1ODY0MjU3OF0sIFsxNjYzNzMwMjczLjgwNjM3MDUsIDQ0MDEsIDEuNzYwNzIyMzk4NzU3OTM0Nl0sIFsxNjYzNzMwMjczLjg5NDUwMjksIDQ0MTAsIDEuNjM4NDY2MDAwNTU2OTQ1OF0sIFsxNjYzNzMwMjc0LjE3NzUyNywgNDQyOCwgMS45NzI2NTY2MDc2Mjc4Njg3XSwgWzE2NjM3MzAyNzQuNTQ2MDgyLCA0NDU1LCAyLjA1NDkyODc3OTYwMjA1MV0sIFsxNjYzNzMwMjc0LjYzNDgxMywgNDQ2NCwgMS41MjYwMjE1OTk3Njk1OTIzXSwgWzE2NjM3MzAyNzQuOTYyODc4MiwgNDQ5MSwgMS41Njc1MDEzMDY1MzM4MTM1XSwgWzE2NjM3MzAyNzUuMjcyODcyMiwgNDUxOCwgMS41MDc5MDEzMTA5MjA3MTUzXSwgWzE2NjM3MzAyNzUuMzU4NTE3MiwgNDUyNywgMi4wNjk0MTQxMzg3OTM5NDUzXSwgWzE2NjM3MzAyNzUuNDQ4MDExNiwgNDUzNiwgMS41ODg1NjYwNjQ4MzQ1OTQ3XSwgWzE2NjM3MzAyNzUuNzI4ODI1MywgNDU2MywgMS42Nzc0MTk1NDMyNjYyOTY0XSwgWzE2NjM3MzAyNzUuOTI4ODY3MywgNDU4MSwgMS44MzkxOTQ2NTU0MTgzOTZdLCBbMTY2MzczMDI3Ni4wNjA1Nzc2LCA0NTkwLCAxLjk4MDMzMTA2MzI3MDU2ODhdLCBbMTY2MzczMDI3Ni4xNTA4ODMsIDQ1OTksIDEuNzYyMjQyMDc4NzgxMTI4XSwgWzE2NjM3MzAyNzYuMjM4ODkyMywgNDYwOCwgMS41NjIzMDEyNzgxMTQzMTg4XSwgWzE2NjM3MzAyNzYuNTMyNzE4LCA0NjE3LCAxLjY3NDI1OTQyNDIwOTU5NDddLCBbMTY2MzczMDI3Ni42MjYxMzk0LCA0NjI2LCAxLjgwNjU1NjQ2MzI0MTU3NzFdLCBbMTY2MzczMDI3Ni43MDcwOTQ0LCA0NjM1LCAxLjkxMzkzMzM5NjMzOTQxNjVdLCBbMTY2MzczMDI3Ni44ODgzMTM4LCA0NjUzLCAxLjUxMDAyNzQwODU5OTg1MzVdLCBbMTY2MzczMDI3Ni45Nzk3ODEyLCA0NjYyLCAxLjg4NjA2NzYyODg2MDQ3MzZdLCBbMTY2MzczMDI3Ny4wNjMyMzc0LCA0NjcxLCAxLjczMzI0MjE1NDEyMTM5OV0sIFsxNjYzNzMwMjc3LjE0ODg1NzYsIDQ2ODAsIDEuNTEyMjUyODA3NjE3MTg3NV0sIFsxNjYzNzMwMjc3LjI0MjQ3MzEsIDQ2ODksIDEuNDc1NjMyMzA5OTEzNjM1M10sIFsxNjYzNzMwMjc3LjMyMTYzNTIsIDQ2OTgsIDEuNTk4MTE3MjMyMzIyNjkyOV0sIFsxNjYzNzMwMjc3LjUwNzk0OTgsIDQ3MTYsIDEuNTkyMDk2MzI4NzM1MzUxNl0sIFsxNjYzNzMwMjc4LjEzMzc3NTUsIDQ3NzksIDIuMDEzMDkyOTk0Njg5OTQxNF0sIFsxNjYzNzMwMjc4LjM4OTAwNTcsIDQ4MDYsIDEuODY1OTcyNjM4MTMwMTg4XSwgWzE2NjM3MzAyNzguNDc2OTEzNywgNDgxNSwgMS40ODA5MTE4NTA5MjkyNjAzXSwgWzE2NjM3MzAyNzguNjU2NDg1LCA0ODMzLCAxLjU3MzYwNTUzNzQxNDU1MDhdLCBbMTY2MzczMDI3OC43NDUyMTUyLCA0ODQyLCAxLjYyNjk5OTk3NDI1MDc5MzVdLCBbMTY2MzczMDI3OC44MjkwNzEzLCA0ODUxLCAxLjc1MDg5ODU5OTYyNDYzMzhdLCBbMTY2MzczMDI3OC45MTM0ODEyLCA0ODYwLCAxLjk2NjY3MDc1MTU3MTY1NTNdLCBbMTY2MzczMDI3OS4wMDgyMjgsIDQ4NjksIDEuNjE5NzYxNzA1Mzk4NTU5Nl0sIFsxNjYzNzMwMjc5LjE4Njg5ODUsIDQ4ODcsIDEuNjEyMTY4Nzg4OTA5OTEyXSwgWzE2NjM3MzAyNzkuMjc1NzkyNCwgNDg5NiwgMS44NDAzNzI2ODE2MTc3MzY4XSwgWzE2NjM3MzAyNzkuMzYwNTkzMywgNDkwNSwgMS43MzI2MDIxMTk0NDU4MDA4XSwgWzE2NjM3MzAyNzkuNTM5NjYzMywgNDkyMywgMS40ODUxNTAyMTgwMDk5NDg3XSwgWzE2NjM3MzAyNzkuNjI2NjQ5OSwgNDkzMiwgMS45MjA0MTA4NzE1MDU3MzczXSwgWzE2NjM3MzAyNzkuODg1NjMyMywgNDk1OSwgMS43MDYxMzg4NDkyNTg0MjI5XSwgWzE2NjM3MzAyODAuMDU5MDM0LCA0OTc3LCAxLjkzMzUyNzQ2OTYzNTAwOThdLCBbMTY2MzczMDI4MC4yNDA5MDg0LCA0OTk1LCAxLjQ0MjE3NDU1Mzg3MTE1NDhdLCBbMTY2MzczMDI4MC4zMjg5MDg0LCA1MDA0LCAxLjcyMDg0MDMzNDg5MjI3M10sIFsxNjYzNzMwMjgwLjQxMDkzODMsIDUwMTMsIDIuMDMyMTk2NTIxNzU5MDMzXSwgWzE2NjM3MzAyODAuOTMxNjg0LCA1MDY3LCAxLjYzNjM0MDM3OTcxNDk2NThdLCBbMTY2MzczMDI4MS4wMjA2MTA4LCA1MDc2LCAxLjQwMjkyMzgyMjQwMjk1NF0sIFsxNjYzNzMwMjgxLjEyMTk1NiwgNTA4NSwgMS40NDc4MTk5NDgxOTY0MTExXSwgWzE2NjM3MzAyODEuNDcyNzgyLCA1MTIxLCAxLjcyMDg5NjYwMTY3Njk0MV0sIFsxNjYzNzMwMjgxLjU2NTEzMTcsIDUxMzAsIDEuNTI3NDA4NTk5ODUzNTE1Nl0sIFsxNjYzNzMwMjgxLjc1Mzk5MTgsIDUxNDgsIDEuNjA0MDk4OTE2MDUzNzcyXSwgWzE2NjM3MzAyODEuOTI0Njk2NywgNTE2NiwgMS43NTYxMDE3Mjc0ODU2NTY3XSwgWzE2NjM3MzAyODIuMTg2MDAwMywgNTE5MywgMS40NTU0MjA2MTMyODg4Nzk0XSwgWzE2NjM3MzAyODIuNTI4MjQ2LCA1MjI5LCAxLjYxMzQ3OTYxNDI1NzgxMjVdLCBbMTY2MzczMDI4Mi44Nzg0NjA2LCA1MjY1LCAxLjg4ODYyNjA5ODYzMjgxMjVdLCBbMTY2MzczMDI4Mi45NjU4OTQ3LCA1Mjc0LCAxLjUwNTY0NjIyODc5MDI4MzJdLCBbMTY2MzczMDI4My4wNjA1MzM1LCA1MjgzLCAxLjYzOTQyMzYwODc3OTkwNzJdLCBbMTY2MzczMDI4My4yMzU3MzE2LCA1MzAxLCAxLjc1MTEzOTQwMjM4OTUyNjRdLCBbMTY2MzczMDI4My4zMjA2Mjk0LCA1MzEwLCAxLjc3ODc1NTU0NTYxNjE1XSwgWzE2NjM3MzAyODMuNDA2MTgsIDUzMTksIDEuNTU5NTI0MTc4NTA0OTQzOF0sIFsxNjYzNzMwMjgzLjQ5MTAyMTYsIDUzMjgsIDEuNzg5ODc4MDEwNzQ5ODE3XSwgWzE2NjM3MzAyODMuNTc2MzM1MiwgNTMzNywgMS41MDc2NDc1MTQzNDMyNjE3XSwgWzE2NjM3MzAyODMuOTY0MzkwOCwgNTM1NSwgMS40Mzc2NTczNTYyNjIyMDddLCBbMTY2MzczMDI4NC4xNDIxMTEzLCA1MzczLCAxLjUwOTUxMDI3ODcwMTc4MjJdLCBbMTY2MzczMDI4NC4yMjkzODk0LCA1MzgyLCAxLjY2NzQyMjY1MjI0NDU2NzldLCBbMTY2MzczMDI4NC4zMTc1OTA3LCA1MzkxLCAxLjM4ODQ5MjQ2NTAxOTIyNl0sIFsxNjYzNzMwMjg0LjQwMjcyOTMsIDU0MDAsIDEuNDk3NTE2MTU1MjQyOTJdLCBbMTY2MzczMDI4NC42Mjg2NzcxLCA1NDE4LCAxLjM5Mjk2MjY5NDE2ODA5MDhdLCBbMTY2MzczMDI4NC43Mzk5NjE0LCA1NDI3LCAxLjU1NTUwODQ5NDM3NzEzNjJdLCBbMTY2MzczMDI4NC44NzE0NjYyLCA1NDM2LCAxLjc5NTU5MTk1MDQxNjU2NV0sIFsxNjYzNzMwMjg1LjExNTE3MzgsIDU0NTQsIDEuNjc2MTcwNzA2NzQ4OTYyNF0sIFsxNjYzNzMwMjg1LjQ2NTE5NjYsIDU0ODEsIDIuMDc0Njg2NzY1NjcwNzc2NF0sIFsxNjYzNzMwMjg1LjcwMTI5MjgsIDU0OTksIDEuNTU4MTM2MjI0NzQ2NzA0XSwgWzE2NjM3MzAyODYuMDIwMTAzMiwgNTUyNiwgMS4zNTQ1NTQ2NTMxNjc3MjQ2XSwgWzE2NjM3MzAyODYuMTI5MDYxNSwgNTUzNSwgMS42NjQ5NTY4MDgwOTAyMV0sIFsxNjYzNzMwMjg2LjM1MzE1ODcsIDU1NTMsIDEuNjEyMDIyNzU3NTMwMjEyNF0sIFsxNjYzNzMwMjg2LjU1MzA4NDQsIDU1NzEsIDEuMzgxNDcwMzIyNjA4OTQ3OF0sIFsxNjYzNzMwMjg2Ljc2NDIwMzUsIDU1ODksIDEuMzcyMjI1MTY1MzY3MTI2NV0sIFsxNjYzNzMwMjg2Ljk0MTQ4NywgNTYwNywgMS41NzMwNjE1ODU0MjYzMzA2XSwgWzE2NjM3MzAyODcuMDMzNjk3NiwgNTYxNiwgMS4zOTk4OTEwMTg4Njc0OTI3XSwgWzE2NjM3MzAyODcuMzIyMzc5OCwgNTY0MywgMS4zMjg1NTI5NjEzNDk0ODczXSwgWzE2NjM3MzAyODcuNDA1OTEyOSwgNTY1MiwgMS41Mjg1ODYzODc2MzQyNzczXSwgWzE2NjM3MzAyODcuNTA2MzY0MywgNTY2MSwgMS40MjEwNjQ2MTUyNDk2MzM4XSwgWzE2NjM3MzAyODcuNTk3MTc3NywgNTY3MCwgMS40NDM2NDk2NDk2MjAwNTYyXSwgWzE2NjM3MzAyODcuOTQ3ODc0NSwgNTcwNiwgMS42MDUxMDU3NTc3MTMzMTc5XSwgWzE2NjM3MzAyODguMDQ0NywgNTcxNSwgMS40NDMwNzIwODA2MTIxODI2XSwgWzE2NjM3MzAyODguMTM1OTY4MiwgNTcyNCwgMS41NDA0MDYzNDYzMjExMDZdLCBbMTY2MzczMDI4OC4zMTQ4MjA4LCA1NzQyLCAxLjc2NDE1MDk3NzEzNDcwNDZdLCBbMTY2MzczMDI4OC41OTEzMDksIDU3NjksIDEuNjY5NjIzMjU1NzI5Njc1M10sIFsxNjYzNzMwMjg4LjY4MzA3MjYsIDU3NzgsIDEuNTQyOTc1OTAyNTU3MzczXSwgWzE2NjM3MzAyODguODE4MTc0NCwgNTc4NywgMS43NzE0MDY3Njk3NTI1MDI0XSwgWzE2NjM3MzAyODguOTExNjk0NSwgNTc5NiwgMS43NTE5NjUwNDU5Mjg5NTVdLCBbMTY2MzczMDI4OC45OTc0OTY4LCA1ODA1LCAxLjQyNTE4NTU2MTE4MDExNDddLCBbMTY2MzczMDI4OS4wOTEyMzg1LCA1ODE0LCAxLjY2MTAyMTQ3MTAyMzU1OTZdLCBbMTY2MzczMDI4OS40OTI5NzUsIDU4NTAsIDEuNjgwMzE3NzU5NTEzODU1XSwgWzE2NjM3MzAyODkuNjY3MDIyMiwgNTg2OCwgMS40Njg2ODkyMDMyNjIzMjldLCBbMTY2MzczMDI4OS43NTk1MzEzLCA1ODc3LCAxLjM2NzAyMjc1Mjc2MTg0MDhdLCBbMTY2MzczMDI4OS44NTI5NDEzLCA1ODg2LCAxLjY1MTM2NjM1MzAzNDk3MzFdLCBbMTY2MzczMDI4OS45MzgwNTEsIDU4OTUsIDEuNDIyOTY0MDk2MDY5MzM2XSwgWzE2NjM3MzAyOTAuMDI3MTgxOSwgNTkwNCwgMS40NzA1MjI4ODA1NTQxOTkyXSwgWzE2NjM3MzAyOTAuMzE1MzUzLCA1OTMxLCAxLjM1MDI0Nzk3OTE2NDEyMzVdLCBbMTY2MzczMDI5MC40MTAzMTgxLCA1OTQwLCAxLjgzNjE5NDAzODM5MTExMzNdLCBbMTY2MzczMDI5MC41MTEyNDE0LCA1OTQ5LCAxLjY2NDI5MzQwODM5Mzg1OTldLCBbMTY2MzczMDI5MS4xMzI4OTIxLCA2MDEyLCAxLjQwMDY1OTY4MDM2NjUxNjFdLCBbMTY2MzczMDI5MS40MTQ3NzI1LCA2MDM5LCAxLjM0OTMyMTI0NjE0NzE1NThdLCBbMTY2MzczMDI5MS44NTAyMjIzLCA2MDg0LCAxLjcyODE4MDA1MDg0OTkxNDZdLCBbMTY2MzczMDI5Mi4xNDIxOTAyLCA2MDkzLCAxLjU0ODA0OTgwNzU0ODUyM10sIFsxNjYzNzMwMjkyLjIzNDEyMzcsIDYxMDIsIDEuODQxNDM4MjkzNDU3MDMxMl0sIFsxNjYzNzMwMjkyLjQ4Mjk0NTQsIDYxMjksIDEuNDEyNzQyMzc2MzI3NTE0Nl0sIFsxNjYzNzMwMjkyLjY1NTE2MywgNjE0NywgMS4zNjI5NTkwMjcyOTAzNDQyXSwgWzE2NjM3MzAyOTIuNzQyNTIzLCA2MTU2LCAxLjI5OTc1NzgzODI0OTIwNjVdLCBbMTY2MzczMDI5Mi44NDE5NjYsIDYxNjUsIDEuODQwMjAwMTg1Nzc1NzU2OF0sIFsxNjYzNzMwMjkyLjkyODExMTYsIDYxNzQsIDEuNTEwNzE2MDgwNjY1NTg4NF0sIFsxNjYzNzMwMjkzLjEwNTIxMTcsIDYxOTIsIDEuNjA1ODMzODg4MDUzODk0XSwgWzE2NjM3MzAyOTMuNTQ2NzEyNCwgNjIzNywgMS40MDk2OTUzODY4ODY1OTY3XSwgWzE2NjM3MzAyOTMuNjMzNzE0LCA2MjQ2LCAxLjM4NTIzMDQyMjAxOTk1ODVdLCBbMTY2MzczMDI5My43MjMxOTQxLCA2MjU1LCAxLjQ5MDM5MzUxOTQwMTU1MDNdLCBbMTY2MzczMDI5My44MDgwMjMsIDYyNjQsIDEuNTI5ODQ5MDUyNDI5MTk5Ml0sIFsxNjYzNzMwMjkzLjg5OTc4OTMsIDYyNzMsIDEuODY2NjQwODA2MTk4MTIwMV0sIFsxNjYzNzMwMjkzLjk4NTQ3MiwgNjI4MiwgMS4zMzU5NDkwNjMzMDEwODY0XSwgWzE2NjM3MzAyOTQuMTYzMTY2MywgNjMwMCwgMS4yNzExMjE1MDE5MjI2MDc0XSwgWzE2NjM3MzAyOTQuNDM4MDM1NywgNjMyNywgMS4zNTM3MzI3MDUxMTYyNzJdLCBbMTY2MzczMDI5NC41MzY0NjM1LCA2MzM2LCAxLjU2NTM3NzQ3MzgzMTE3NjhdLCBbMTY2MzczMDI5NC43MDg5MTU3LCA2MzU0LCAxLjQyMDc4MDMwMTA5NDA1NTJdLCBbMTY2MzczMDI5NS4wNTE5NjE3LCA2MzkwLCAxLjQxNTQxMzg1NjUwNjM0NzddLCBbMTY2MzczMDI5NS4xMzk3MDE0LCA2Mzk5LCAxLjQxMTU2NzgwNzE5NzU3MDhdLCBbMTY2MzczMDI5NS4zMTE1MDcsIDY0MTcsIDEuNjM5NTUwOTI0MzAxMTQ3NV0sIFsxNjYzNzMwMjk1LjU4MDEwOTQsIDY0NDQsIDEuNDE5MDQzMDY0MTE3NDMxNl0sIFsxNjYzNzMwMjk1Ljc1MjU5NywgNjQ2MiwgMS43NzU3MTMwODYxMjgyMzQ5XSwgWzE2NjM3MzAyOTUuOTMxODA4NSwgNjQ4MCwgMS41MTM5MjA5MDMyMDU4NzE2XSwgWzE2NjM3MzAyOTYuMDIwMjk0NywgNjQ4OSwgMS4zMjk2Mzg0ODExNDAxMzY3XSwgWzE2NjM3MzAyOTYuMTA4MTMxLCA2NDk4LCAxLjUxNjc5MzAxMjYxOTAxODZdLCBbMTY2MzczMDI5Ni4yNzc1MzE0LCA2NTE2LCAxLjU0MjA2MDk3MTI2MDA3MDhdLCBbMTY2MzczMDI5Ni40NzIwNTExLCA2NTM0LCAxLjQ5MDQ3MDE3MDk3NDczMTRdLCBbMTY2MzczMDI5Ni41Njk0MDA4LCA2NTQzLCAxLjM2MzY1MjgyNTM1NTUyOThdLCBbMTY2MzczMDI5Ni42NjA3ODkzLCA2NTUyLCAxLjI3OTM0ODg1MDI1MDI0NDFdLCBbMTY2MzczMDI5Ni43NjU5MTA2LCA2NTYxLCAxLjUxNTQxMzc2MTEzODkxNl0sIFsxNjYzNzMwMjk2Ljg5NzI3OTMsIDY1NzAsIDEuMzg3OTI4MzY2NjYxMDcxOF0sIFsxNjYzNzMwMjk3LjExNTAwMjksIDY1ODgsIDEuNTIyNzM4NTc1OTM1MzYzOF0sIFsxNjYzNzMwMjk3LjI0MTExNywgNjU5NywgMS40NjkwMTQ3NjM4MzIwOTIzXSwgWzE2NjM3MzAyOTcuMzUwMzczNywgNjYwNiwgMS43NTc0MTgxNTU2NzAxNjZdLCBbMTY2MzczMDI5Ny45MzA2NDEsIDY2NTEsIDEuNDE5Njc5ODgwMTQyMjEyXSwgWzE2NjM3MzAyOTguMDI0NjgwNiwgNjY2MCwgMS4xNTEwOTIyOTA4NzgyOTZdLCBbMTY2MzczMDI5OC4xMjE4Nzc3LCA2NjY5LCAxLjU1NDUwMzc5ODQ4NDgwMjJdLCBbMTY2MzczMDI5OC4zMDY1MzI0LCA2Njg3LCAxLjU0NzAyOTM3NjAyOTk2ODNdLCBbMTY2MzczMDI5OC4zOTY0NSwgNjY5NiwgMS41NzM5Mjc4NzkzMzM0OTZdLCBbMTY2MzczMDI5OC41MjE0MDAyLCA2NzA1LCAxLjUyNTgzOTgwNTYwMzAyNzNdLCBbMTY2MzczMDI5OC42MjIzNjYyLCA2NzE0LCAxLjQ2MTA1NzkwMTM4MjQ0NjNdLCBbMTY2MzczMDI5OS40ODg5MDcsIDY3NzcsIDEuNDEzNTgzMjc4NjU2MDA1OV0sIFsxNjYzNzMwMjk5Ljc2NzcyNzQsIDY4MDQsIDEuNDU2MjM4OTg1MDYxNjQ1NV0sIFsxNjYzNzMwMjk5Ljg1NzI5MzYsIDY4MTMsIDEuNDY4NzY1OTc0MDQ0Nzk5OF0sIFsxNjYzNzMwMzAwLjAzODQ2MTQsIDY4MzEsIDEuNDY5NjkwOTE4OTIyNDI0M10sIFsxNjYzNzMwMzAwLjQ2ODM4NDMsIDY4NzYsIDEuNTEwMzAxODI4Mzg0Mzk5NF0sIFsxNjYzNzMwMzAwLjU1MzI5NjgsIDY4ODUsIDEuNTI5NTU1MzIwNzM5NzQ2XSwgWzE2NjM3MzAzMDAuNjM4NDksIDY4OTQsIDEuMzUxNTk1OTk3ODEwMzYzOF0sIFsxNjYzNzMwMzAwLjgxNTE2MzEsIDY5MTIsIDEuNDc4MDUyOTczNzQ3MjUzNF0sIFsxNjYzNzMwMzAwLjkxMDgxNjQsIDY5MjEsIDEuNjE1Nzc5NTE5MDgxMTE1N10sIFsxNjYzNzMwMzAwLjk5NDk5NSwgNjkzMCwgMS41MDIwMjI2MjQwMTU4MDhdLCBbMTY2MzczMDMwMS4xODQzMDg1LCA2OTQ4LCAxLjc0NTEyMTI0MDYxNTg0NDddLCBbMTY2MzczMDMwMS4yOTIwNzQyLCA2OTU3LCAxLjQyNzAxOTgzNDUxODQzMjZdLCBbMTY2MzczMDMwMS4zODM2OTEzLCA2OTY2LCAxLjMzNjgwNzcyNzgxMzcyMDddLCBbMTY2MzczMDMwMS41NTg0NTU1LCA2OTg0LCAxLjQ2MzM0ODE1MDI1MzI5Nl0sIFsxNjYzNzMwMzAxLjY0OTgyMywgNjk5MywgMS4yOTUxNzAzMDcxNTk0MjM4XSwgWzE2NjM3MzAzMDEuODI2MjI3LCA3MDExLCAxLjM1NTA3MjczNjc0MDExMjNdLCBbMTY2MzczMDMwMS45MTMxNjQ0LCA3MDIwLCAxLjU4NTQwODY4NzU5MTU1MjddLCBbMTY2MzczMDMwMS45OTc4MjgyLCA3MDI5LCAxLjI1MjQ4MTIyMjE1MjcxXSwgWzE2NjM3MzAzMDIuMDc5ODI0LCA3MDM4LCAxLjQwNTg3MjEwNjU1MjEyNF0sIFsxNjYzNzMwMzAyLjIwMDMzNzIsIDcwNDcsIDEuMjgwMDI3Mzg5NTI2MzY3Ml0sIFsxNjYzNzMwMzAyLjMxMjk3NywgNzA1NiwgMS4yNTEzNDEyMjM3MTY3MzU4XSwgWzE2NjM3MzAzMDIuNzI0MDU1MywgNzA4MywgMS4zNTc2MjgyMjYyODAyMTI0XSwgWzE2NjM3MzAzMDIuOTQ2MjQ2NCwgNzEwMSwgMS40OTQ0MTU3NjAwNDAyODMyXSwgWzE2NjM3MzAzMDMuMDY2MjUwMywgNzExMCwgMS4zMTU1OTE2OTI5MjQ0OTk1XSwgWzE2NjM3MzAzMDMuMzQxMTYzLCA3MTI4LCAxLjIwNDA1NDcxMzI0OTIwNjVdLCBbMTY2MzczMDMwMy41NDIwNTMyLCA3MTQ2LCAxLjM1MDg1NDUxNjAyOTM1OF0sIFsxNjYzNzMwMzAzLjcxNjAxMDMsIDcxNjQsIDEuNDYwMzc5NjAwNTI0OTAyM10sIFsxNjYzNzMwMzAzLjc5Nzc4MSwgNzE3MywgMS4yMDI4NTk2NDAxMjE0Nl0sIFsxNjYzNzMwMzAzLjg4MDk1ODYsIDcxODIsIDEuNzYxNTk2MjAyODUwMzQxOF0sIFsxNjYzNzMwMzA0LjA3ODMzMDMsIDcyMDAsIDEuMjM2OTgwOTE1MDY5NThdLCBbMTY2MzczMDMwNC4xNjMwNzIsIDcyMDksIDEuNTAxNjE2MjM5NTQ3NzI5NV0sIFsxNjYzNzMwMzA0LjU1NjgyMDYsIDcyNDUsIDEuODA5NzgyNjI0MjQ0NjldLCBbMTY2MzczMDMwNC42NzEzNTI0LCA3MjU0LCAxLjMwNTA2NDkxNjYxMDcxNzhdLCBbMTY2MzczMDMwNC43NjA3MTcsIDcyNjMsIDEuNDk0OTk3MzgyMTY0MDAxNV0sIFsxNjYzNzMwMzA0Ljg0NjUzMTYsIDcyNzIsIDEuMzQ2OTg3NjA1MDk0OTA5N10sIFsxNjYzNzMwMzA1LjExMjkwNzIsIDcyOTksIDEuMjYxOTY3MDYyOTUwMTM0M10sIFsxNjYzNzMwMzA1LjM2MDEzLCA3MzI2LCAxLjM2NjcwMzE1MjY1NjU1NTJdLCBbMTY2MzczMDMwNS44MzM1MzgsIDczNzEsIDEuMzg0ODk0MzcxMDMyNzE0OF0sIFsxNjYzNzMwMzA1LjkxNzgyMiwgNzM4MCwgMS40MDAyNDYyNjI1NTAzNTRdLCBbMTY2MzczMDMwNi4xODIwNTI0LCA3Mzk4LCAxLjUzMDE3NTU2NjY3MzI3ODhdLCBbMTY2MzczMDMwNi4yOTc4MDMyLCA3NDA3LCAxLjQ1MjUxODgyMDc2MjYzNDNdLCBbMTY2MzczMDMwNi40MDk0MTA3LCA3NDE2LCAxLjI4MjgyNTQ2OTk3MDcwMzFdLCBbMTY2MzczMDMwNi41ODY4MTc3LCA3NDM0LCAxLjU1ODA5MDIwOTk2MDkzNzVdLCBbMTY2MzczMDMwNi42ODMwMzIsIDc0NDMsIDEuMjk1NzYyNzc3MzI4NDkxMl0sIFsxNjYzNzMwMzA2Ljc4NTU3NzUsIDc0NTIsIDEuMzMwODE1MTk2MDM3MjkyNV0sIFsxNjYzNzMwMzA2Ljg2Nzk3MjQsIDc0NjEsIDEuMTM2Mzk3NDgwOTY0NjYwNl0sIFsxNjYzNzMwMzA3LjI2NTU3OCwgNzQ5NywgMS4yMTQ3NjI4MDY4OTIzOTVdLCBbMTY2MzczMDMwNy4zNTA0Nzg0LCA3NTA2LCAxLjQxNDk5MTQ5Nzk5MzQ2OTJdLCBbMTY2MzczMDMwNy41MjYxMTQ1LCA3NTI0LCAxLjMzNzUzMzExNjM0MDYzNzJdLCBbMTY2MzczMDMwNy42MTYwMjk3LCA3NTMzLCAxLjI4ODQ3NDkxNzQxMTgwNDJdLCBbMTY2MzczMDMwNy45MDE3NjE4LCA3NTQyLCAxLjM2MzYwMTkyMjk4ODg5MTZdLCBbMTY2MzczMDMwOC4wNjIwNTEzLCA3NTYwLCAxLjMzNjc3MDc3MjkzMzk2XSwgWzE2NjM3MzAzMDguMTQ4MDY2OCwgNzU2OSwgMS4zMTU0MTc2NDczNjE3NTU0XSwgWzE2NjM3MzAzMDguMzEyMTI4LCA3NTg3LCAxLjMwMDA5NTA4MTMyOTM0NTddLCBbMTY2MzczMDMwOC4zOTU0MjQ2LCA3NTk2LCAxLjI2MjI0OTk0NjU5NDIzODNdLCBbMTY2MzczMDMwOC41NjIxNTYsIDc2MTQsIDEuNDg4MDI3NTcyNjMxODM2XSwgWzE2NjM3MzAzMDguOTcwOTQ5NiwgNzY1OSwgMS4zNjYwNDA3MDY2MzQ1MjE1XSwgWzE2NjM3MzAzMDkuMDY2MjgyLCA3NjY4LCAxLjMyMzM1MjQ1NjA5MjgzNDVdLCBbMTY2MzczMDMwOS4zMjc3OTcsIDc2OTUsIDEuMzc2Mzg0OTczNTI2MDAxXSwgWzE2NjM3MzAzMDkuNDk1NDExNCwgNzcxMywgMS41ODQ0MTkxMzEyNzg5OTE3XSwgWzE2NjM3MzAzMDkuNTgwODk0LCA3NzIyLCAxLjE1NDgzMjgzOTk2NTgyMDNdLCBbMTY2MzczMDMwOS44NDU3NjMsIDc3NDksIDEuMDk2Nzc1ODg5Mzk2NjY3NV0sIFsxNjYzNzMwMzA5Ljk0MTUwMSwgNzc1OCwgMS41MzkxMzA1Njg1MDQzMzM1XSwgWzE2NjM3MzAzMTAuMDMzODQ3MywgNzc2NywgMS42MjQ2OTk3MTE3OTk2MjE2XSwgWzE2NjM3MzAzMTAuMzY3MDgzOCwgNzc5NCwgMS4zMTAxODM4ODI3MTMzMTc5XSwgWzE2NjM3MzAzMTAuNTA3NTMzMywgNzgwMywgMS40MTc0MTAzNzM2ODc3NDQxXSwgWzE2NjM3MzAzMTAuOTYyMzI2LCA3ODM5LCAxLjU2MjMyNjA3MzY0NjU0NTRdLCBbMTY2MzczMDMxMS4wNjg4NjA1LCA3ODQ4LCAxLjE4MjY5NzY1Mzc3MDQ0NjhdLCBbMTY2MzczMDMxMi4xNDE5NzYsIDc5MzgsIDEuMzc4NTY1NTQ5ODUwNDYzOV0sIFsxNjYzNzMwMzEyLjMxMjM4NSwgNzk1NiwgMS4yMTIzNDkxNzY0MDY4NjA0XSwgWzE2NjM3MzAzMTIuNDAwNTIzMiwgNzk2NSwgMS4yOTY0NTI0MDMwNjg1NDI1XSwgWzE2NjM3MzAzMTIuNDg5Njk5NCwgNzk3NCwgMS4yODM5MDQ5MTAwODc1ODU0XSwgWzE2NjM3MzAzMTIuNTc2NTEyLCA3OTgzLCAxLjQ3NDIxNTUwNzUwNzMyNDJdLCBbMTY2MzczMDMxMi43NDUwMjc4LCA4MDAxLCAxLjI3NjQwNTIxNTI2MzM2NjddLCBbMTY2MzczMDMxMi45Njc5NzU5LCA4MDE5LCAxLjU1MjUxMTQ1MzYyODU0XSwgWzE2NjM3MzAzMTMuMjA3MDM4NCwgODAzNywgMS42MjA5MzkwMTYzNDIxNjNdLCBbMTY2MzczMDMxMy40OTUwMzQyLCA4MDY0LCAxLjM3MDk4OTkxODcwODgwMTNdLCBbMTY2MzczMDMxMy42ODkzMTc1LCA4MDgyLCAxLjI4NDIwNjAzMjc1Mjk5MDddLCBbMTY2MzczMDMxMy43Nzk4OTUsIDgwOTEsIDEuNTM0MzI2OTEwOTcyNTk1Ml0sIFsxNjYzNzMwMzE0LjA3MDA3MDcsIDgxMTgsIDEuOTA1ODYwNDI0MDQxNzQ4XSwgWzE2NjM3MzAzMTQuMjAwNzI5OCwgODEyNywgMS4zODczMjc1NTE4NDE3MzU4XSwgWzE2NjM3MzAzMTQuMzkzNTQ1OSwgODE0NSwgMS4zMDIwNTg5MzUxNjU0MDUzXSwgWzE2NjM3MzAzMTQuNjExMzc5NiwgODE2MywgMS4zMTEyMjE5NTcyMDY3MjZdLCBbMTY2MzczMDMxNC42OTU4NDI3LCA4MTcyLCAxLjQ5MDUzMTU2Mzc1ODg1XSwgWzE2NjM3MzAzMTQuNzgzNTE3NCwgODE4MSwgMS4yODU0ODI1MjU4MjU1MDA1XSwgWzE2NjM3MzAzMTQuOTU2Mzg1MSwgODE5OSwgMS4xNDkwODc2Njc0NjUyMV0sIFsxNjYzNzMwMzE1LjA0OTg2MSwgODIwOCwgMS4yMDkzOTgwMzEyMzQ3NDEyXSwgWzE2NjM3MzAzMTUuMjMzMDY1LCA4MjI2LCAxLjM1NDYwMjA5ODQ2NDk2NThdLCBbMTY2MzczMDMxNS4zMjc2NTcyLCA4MjM1LCAxLjI3NzE2OTM0NjgwOTM4NzJdLCBbMTY2MzczMDMxNS41MzUyNTg4LCA4MjUzLCAxLjQ2NTI0NzUxMTg2MzcwODVdLCBbMTY2MzczMDMxNS43MTkzNjc1LCA4MjcxLCAxLjE2Mjk4ODU0MzUxMDQzN10sIFsxNjYzNzMwMzE1Ljg3MjcxNTcsIDgyODAsIDEuNTM2NTQzOTY1MzM5NjYwNl0sIFsxNjYzNzMwMzE1Ljk2MjUyOTIsIDgyODksIDEuNDg2MzEzMzQzMDQ4MDk1N10sIFsxNjYzNzMwMzE2LjA1Mjk4NTcsIDgyOTgsIDEuMzQzNDA4OTQyMjIyNTk1Ml0sIFsxNjYzNzMwMzE2LjQxNTI4OCwgODMxNiwgMS40MDE1NTY3MzAyNzAzODU3XSwgWzE2NjM3MzAzMTYuNzY5MDAxMiwgODM1MiwgMS41MjU4MzUyNzU2NTAwMjQ0XSwgWzE2NjM3MzAzMTYuODQ1OTQsIDgzNjEsIDEuNTc0NjM1OTgyNTEzNDI3N10sIFsxNjYzNzMwMzE2LjkyODYwNTgsIDgzNzAsIDEuMzY2MjI2NjczMTI2MjIwN10sIFsxNjYzNzMwMzE3LjAxMzgxNzMsIDgzNzksIDEuNDIyOTM2NTU4NzIzNDQ5N10sIFsxNjYzNzMwMzE3LjA5MTEwNTIsIDgzODgsIDEuMTg4NjIwNjg2NTMxMDY3XSwgWzE2NjM3MzAzMTcuMTc1NDI4NCwgODM5NywgMS4xNjU5MTczOTY1NDU0MTAyXSwgWzE2NjM3MzAzMTcuMjU3MDQ1LCA4NDA2LCAxLjY1NDk3MTk1NzIwNjcyNl0sIFsxNjYzNzMwMzE3LjQxOTIyMTksIDg0MjQsIDEuMDk1MDEzMzgwMDUwNjU5Ml0sIFsxNjYzNzMwMzE3LjkzNDcwOTgsIDg0NjAsIDEuMTUyMTk2ODg0MTU1MjczNF0sIFsxNjYzNzMwMzE4LjEyMjQ3MDQsIDg0NzgsIDEuMzQ1MDMyNTcyNzQ2Mjc2OV0sIFsxNjYzNzMwMzE4LjIyNDYwMzcsIDg0ODcsIDEuNDI5MDAzMDAwMjU5Mzk5NF0sIFsxNjYzNzMwMzE4LjQ4MDQ4NSwgODUxNCwgMS41MDQ5NTY4NDE0Njg4MTFdLCBbMTY2MzczMDMxOC44NjI4NTY0LCA4NTUwLCAxLjIzMjU1MzEyNDQyNzc5NTRdLCBbMTY2MzczMDMxOC45NDQ2ODUsIDg1NTksIDEuMjU2Mjk4NTQyMDIyNzA1XSwgWzE2NjM3MzAzMTkuMTE0OTk2LCA4NTc3LCAxLjQ4OTk2MTM4NTcyNjkyODddLCBbMTY2MzczMDMxOS4yOTcwNDc2LCA4NTk1LCAxLjEzMzY3ODkxMzExNjQ1NV0sIFsxNjYzNzMwMzE5LjM4MzMwMDUsIDg2MDQsIDEuNDI2ODMxMDA3MDAzNzg0Ml0sIFsxNjYzNzMwMzE5LjQ3Mzk3MzgsIDg2MTMsIDEuMzYwNDE5NzUwMjEzNjIzXSwgWzE2NjM3MzAzMTkuNzQ0MjE3MiwgODY0MCwgMS4xOTQ2MTE3ODc3OTYwMjA1XSwgWzE2NjM3MzAzMTkuODMzNzIxLCA4NjQ5LCAxLjQwNTc3MjQ0NzU4NjA1OTZdLCBbMTY2MzczMDMxOS45MjM0ODE3LCA4NjU4LCAxLjM1OTcxODMyMjc1MzkwNjJdLCBbMTY2MzczMDMyMC4wMTI5MDI1LCA4NjY3LCAxLjIyNjAxNzcxMzU0Njc1M10sIFsxNjYzNzMwMzIwLjEwNjIzNDYsIDg2NzYsIDEuMzEzNTIzODg4NTg3OTUxN10sIFsxNjYzNzMwMzIwLjE5MDk0MzUsIDg2ODUsIDEuMzAxNzQ2ODQ1MjQ1MzYxM10sIFsxNjYzNzMwMzIwLjI4MzM1NzQsIDg2OTQsIDEuMTcyNDg0MTU5NDY5NjA0NV0sIFsxNjYzNzMwMzIwLjQ1MzQ1ODUsIDg3MTIsIDEuMDcwMzQyNTQwNzQwOTY2OF0sIFsxNjYzNzMwMzIwLjU1NjUyMzgsIDg3MjEsIDEuMjk0NzAwNzQxNzY3ODgzM10sIFsxNjYzNzMwMzIwLjgxMTYwMzUsIDg3NDgsIDEuMTYwMTYxMjU2NzkwMTYxMV0sIFsxNjYzNzMwMzIxLjI2ODM3MzMsIDg3OTMsIDEuMzc5NTAxOTM4ODE5ODg1M10sIFsxNjYzNzMwMzIxLjQ1MjU2OTUsIDg4MTEsIDEuNDQ2NTQ0ODg1NjM1Mzc2XSwgWzE2NjM3MzAzMjEuNTMzNDg3MywgODgyMCwgMS40NjIyMDk3MDE1MzgwODZdLCBbMTY2MzczMDMyMS43MDQ5MTAzLCA4ODM4LCAxLjQ4NDM2MTE3MTcyMjQxMl0sIFsxNjYzNzMwMzIxLjc5MDU3NTMsIDg4NDcsIDEuNDU3NDExODg1MjYxNTM1Nl0sIFsxNjYzNzMwMzIxLjg3OTMxMjMsIDg4NTYsIDEuMjY0NDc3OTY4MjE1OTQyNF0sIFsxNjYzNzMwMzIyLjE0MjY5NjksIDg4ODMsIDEuMTg1NDQ5NDgxMDEwNDM3XSwgWzE2NjM3MzAzMjIuMzEyMjI3NSwgODkwMSwgMS40ODg1Mzg2MjI4NTYxNDAxXSwgWzE2NjM3MzAzMjIuNDAzMDA1MSwgODkxMCwgMS4yMjMzODI4MzA2MTk4MTJdLCBbMTY2MzczMDMyMi40OTU1MTkyLCA4OTE5LCAxLjM0NjEwNDg2MDMwNTc4NjFdLCBbMTY2MzczMDMyMi42NjE1NDUsIDg5MzcsIDEuMjk0MjIwMjA5MTIxNzA0XSwgWzE2NjM3MzAzMjIuODMwMzE3MywgODk1NSwgMS4xNzkxNzQ3ODA4NDU2NDJdLCBbMTY2MzczMDMyMi45MjU2ODQyLCA4OTY0LCAxLjI2ODQ4NjQ5OTc4NjM3N10sIFsxNjYzNzMwMzIzLjAwNDQzNDMsIDg5NzMsIDEuMjk3NzQ0NzUwOTc2NTYyNV0sIFsxNjYzNzMwMzIzLjE3MjQyNTMsIDg5OTEsIDEuNTMzMTMzNjI1OTg0MTkyXSwgWzE2NjM3MzAzMjMuMjU4NjksIDkwMDAsIDEuMjUyODg4Njc5NTA0Mzk0NV0sIFsxNjYzNzMwMzIzLjQyODA1MzksIDkwMTgsIDEuMTY1MjI0OTA5NzgyNDA5N10sIFsxNjYzNzMwMzIzLjUxODI4NTMsIDkwMjcsIDEuNDI0MTk4NjI3NDcxOTIzOF0sIFsxNjYzNzMwMzIzLjYwMTI5MjQsIDkwMzYsIDEuMjcwNjM2MDgxNjk1NTU2Nl0sIFsxNjYzNzMwMzIzLjY4NzA2NDQsIDkwNDUsIDEuMjI4NDA5NzY3MTUwODc5XSwgWzE2NjM3MzAzMjMuNzczMTM5NywgOTA1NCwgMS40NTY1NzY1ODU3Njk2NTMzXSwgWzE2NjM3MzAzMjMuODU5NDYyNSwgOTA2MywgMS4yMjcwMjgwMTIyNzU2OTU4XSwgWzE2NjM3MzAzMjQuNTA0OTUzOSwgOTEwOCwgMS40NTgyOTYxNzk3NzE0MjMzXSwgWzE2NjM3MzAzMjQuNjc0NjczNiwgOTEyNiwgMS4yODc3NTc5OTI3NDQ0NDU4XSwgWzE2NjM3MzAzMjQuOTA5MjE3OCwgOTE0NCwgMS4zMzc0Mjk1MjM0NjgwMTc2XSwgWzE2NjM3MzAzMjUuMDA0OTg3MiwgOTE1MywgMS40ODAzNzMyNjMzNTkwNjk4XSwgWzE2NjM3MzAzMjUuMTM1NzUzNCwgOTE2MiwgMS4zNDc1ODkyNTQzNzkyNzI1XSwgWzE2NjM3MzAzMjUuNTc2NzU4OSwgOTIwNywgMS4yMTMxMTcyNDE4NTk0MzZdLCBbMTY2MzczMDMyNS45OTUwNzMzLCA5MjQzLCAxLjE2NjQxMTYzODI1OTg4NzddLCBbMTY2MzczMDMyNi4yMzE4MDA2LCA5MjYxLCAxLjM3Njg3MDk4OTc5OTQ5OTVdLCBbMTY2MzczMDMyNi4zMzE4ODcyLCA5MjcwLCAxLjEwNDY0NDg5NDU5OTkxNDZdLCBbMTY2MzczMDMyNi45MTE2OTEsIDkzMjQsIDEuMjg0NjU4MTkzNTg4MjU2OF0sIFsxNjYzNzMwMzI2Ljk5Nzk1MiwgOTMzMywgMS41MTIzMjYxMjEzMzAyNjEyXSwgWzE2NjM3MzAzMjcuMDg1MDkwMiwgOTM0MiwgMS42NzU5NjMxNjMzNzU4NTQ1XSwgWzE2NjM3MzAzMjcuMTg3NjA3MywgOTM1MSwgMS40Mjc5MDQyNDgyMzc2MDk5XSwgWzE2NjM3MzAzMjcuMjc0MTQ1NiwgOTM2MCwgMS41ODQ0NDc5Nzk5MjcwNjNdLCBbMTY2MzczMDMyNy42MzE0MjMsIDkzOTYsIDEuMjEwMjg0OTQ4MzQ4OTk5XSwgWzE2NjM3MzAzMjcuNzk1MTY0OCwgOTQxNCwgMS4zMjUyMzEwNzUyODY4NjUyXSwgWzE2NjM3MzAzMjcuODg5NzA3NiwgOTQyMywgMS4zODU4Nzc3Mjg0NjIyMTkyXSwgWzE2NjM3MzAzMjguMTQ5NDI2NywgOTQ1MCwgMS4wOTY2MTA2NjUzMjEzNV0sIFsxNjYzNzMwMzI4LjQ1NTM4NzgsIDk0NzcsIDEuMjY2NzY0ODc5MjI2Njg0Nl0sIFsxNjYzNzMwMzI4LjU4ODgsIDk0ODYsIDEuMjMwOTI0NzI1NTMyNTMxN10sIFsxNjYzNzMwMzI4Ljg1NDI2NzQsIDk1MTMsIDEuMTM5MjU4Mzg0NzA0NTg5OF0sIFsxNjYzNzMwMzI5LjA1NjkwNSwgOTUzMSwgMS4zNDM0OTk2NjA0OTE5NDM0XSwgWzE2NjM3MzAzMjkuMTUwNTE1MywgOTU0MCwgMS4zNjcxNjU4MDM5MDkzMDE4XSwgWzE2NjM3MzAzMjkuMjM5MDgxMSwgOTU0OSwgMS4yNjE4ODQ4MDg1NDAzNDQyXSwgWzE2NjM3MzAzMjkuNDI5MzIzMiwgOTU2NywgMS4zNDMzOTYzMDYwMzc5MDI4XSwgWzE2NjM3MzAzMjkuNjk0MTc0LCA5NTk0LCAxLjMwMjc0MTQwODM0ODA4MzVdLCBbMTY2MzczMDMyOS43NzE4MjQxLCA5NjAzLCAxLjA4MDUwNzA0MDAyMzgwMzddLCBbMTY2MzczMDMyOS44NjAzNCwgOTYxMiwgMS4zMjI5NjQwNzIyMjc0NzhdLCBbMTY2MzczMDMzMC4wMzkwMzg3LCA5NjMwLCAxLjQzMjc3ODAwMDgzMTYwNF0sIFsxNjYzNzMwMzMwLjEyNzA2MTgsIDk2MzksIDEuMTQ4NDUzOTUwODgxOTU4XSwgWzE2NjM3MzAzMzAuMjIwMzUwNSwgOTY0OCwgMS41MzM2NjkyMzMzMjIxNDM2XSwgWzE2NjM3MzAzMzAuMzEzNjA3MiwgOTY1NywgMS4zMjE5MTkzMjIwMTM4NTVdLCBbMTY2MzczMDMzMC4zOTgxNTY2LCA5NjY2LCAxLjQwMzA3MzMxMDg1MjA1MDhdLCBbMTY2MzczMDMzMC40ODc1NDI0LCA5Njc1LCAxLjU0ODcwNDg2MjU5NDYwNDVdLCBbMTY2MzczMDMzMC44MTM3ODEzLCA5NzAyLCAxLjMyMDQyMDUwMzYxNjMzM10sIFsxNjYzNzMwMzMwLjg5NjExOSwgOTcxMSwgMS40OTMwNDY3NjA1NTkwODJdLCBbMTY2MzczMDMzMS4wNjgyOTcsIDk3MjksIDEuNDM3NjQzMTcwMzU2NzUwNV0sIFsxNjYzNzMwMzMxLjE3MDM4OTcsIDk3MzgsIDEuMjg5MjU0MDY5MzI4MzA4XSwgWzE2NjM3MzAzMzEuMjUwNzczNywgOTc0NywgMS4zODIzMTM0ODk5MTM5NDA0XSwgWzE2NjM3MzAzMzEuNTk0Mjc5NSwgOTc3NCwgMS40MDM5Nzc5OTAxNTA0NTE3XSwgWzE2NjM3MzAzMzEuNzQwNjA3NSwgOTc4MywgMS4xMzI1MTM0MDM4OTI1MTddLCBbMTY2MzczMDMzMi4wODY5MDA3LCA5NzkyLCAxLjI4NTMxOTQ0NzUxNzM5NV0sIFsxNjYzNzMwMzMyLjQ1MDE0MDcsIDk4MjgsIDEuMzMyMzYxMjIxMzEzNDc2Nl0sIFsxNjYzNzMwMzMyLjUzOTAzNzIsIDk4MzcsIDEuMzQ5OTg2MzE0NzczNTU5Nl0sIFsxNjYzNzMwMzMyLjY0MjY0NSwgOTg0NiwgMS4yNTk4NTQ1NTUxMzAwMDQ5XSwgWzE2NjM3MzAzMzMuMTAzOTAzOCwgOTg5MSwgMS4xOTcwNDE5ODgzNzI4MDI3XSwgWzE2NjM3MzAzMzMuMzU0OTM0NywgOTkwOSwgMS42MTkwMTI5NTE4NTA4OTExXSwgWzE2NjM3MzAzMzMuNTUwODE4LCA5OTI3LCAxLjUxMzE4NjMzNTU2MzY1OTddLCBbMTY2MzczMDMzMy42NDE3NzgyLCA5OTM2LCAxLjEwNDc5MzMxMDE2NTQwNTNdLCBbMTY2MzczMDMzMy43MzUxMjksIDk5NDUsIDEuMTk5NzQ4OTkyOTE5OTIxOV0sIFsxNjYzNzMwMzM0LjAxNTc1NiwgOTk3MiwgMS4wOTk5MjI2NTcwMTI5Mzk1XSwgWzE2NjM3MzAzMzQuMTE0NzE3LCA5OTgxLCAxLjQwOTgxMTM3NzUyNTMyOTZdLCBbMTY2MzczMDMzNC4yMTg5NTgsIDk5OTAsIDEuMjk2MzUyOTgyNTIxMDU3MV0sIFsxNjYzNzMwMzM0LjMwOTM4ODQsIDk5OTksIDEuMDkwNjEwMDI3MzEzMjMyNF0sIFsxNjYzNzMwMzM0LjQwNjczNywgMTAwMDgsIDEuNTI5NjQ2MTU4MjE4MzgzOF0sIFsxNjYzNzMwMzM0LjQ5ODM3MTYsIDEwMDE3LCAxLjQ1NjI5OTQyNDE3MTQ0NzhdLCBbMTY2MzczMDMzNC41OTU5MzM3LCAxMDAyNiwgMS4xNjc4Nzc5MTI1MjEzNjIzXSwgWzE2NjM3MzAzMzQuNjkyOTEzLCAxMDAzNSwgMS4zNDczNzYyMjczNzg4NDUyXSwgWzE2NjM3MzAzMzQuODcyNjY5LCAxMDA1MywgMS40NDc2OTA0ODY5MDc5NTldLCBbMTY2MzczMDMzNS4xNDU1MzMzLCAxMDA4MCwgMS4zNzA5OTMwMTgxNTAzMjk2XSwgWzE2NjM3MzAzMzUuMzIxNjkyLCAxMDA5OCwgMS4zODM5NTMzMzI5MDEwMDFdLCBbMTY2MzczMDMzNS40MDk2OTEsIDEwMTA3LCAxLjI5MjEwNTA3ODY5NzIwNDZdLCBbMTY2MzczMDMzNS42NzY2ODYsIDEwMTM0LCAxLjI2Mzc5MzgyNjEwMzIxMDRdLCBbMTY2MzczMDMzNS43NjYzMTMsIDEwMTQzLCAxLjUzMTQ4MDE5MzEzODEyMjZdLCBbMTY2MzczMDMzNS45NDE0MjUsIDEwMTYxLCAxLjI5MTQ0NTczMjExNjY5OTJdLCBbMTY2MzczMDMzNi4wMjk4NjI0LCAxMDE3MCwgMS4xNDA4MTIwMzkzNzUzMDUyXSwgWzE2NjM3MzAzMzYuMTIwMDcwMiwgMTAxNzksIDEuNDEwMjA4NDYzNjY4ODIzMl0sIFsxNjYzNzMwMzM2LjIwNjk0MjgsIDEwMTg4LCAxLjI1OTg5MjIyNTI2NTUwM10sIFsxNjYzNzMwMzM2LjMwMjkyNzMsIDEwMTk3LCAxLjIzOTY5ODI5MDgyNDg5MDFdLCBbMTY2MzczMDMzNi40NzkxNzk5LCAxMDIxNSwgMS4xMzM4MjAyOTUzMzM4NjIzXSwgWzE2NjM3MzAzMzYuNTY3MTY3MywgMTAyMjQsIDEuNTg2MDEzMDc4Njg5NTc1Ml0sIFsxNjYzNzMwMzM2LjY2NjIyOTcsIDEwMjMzLCAxLjQ1MjcyOTk0MDQxNDQyODddLCBbMTY2MzczMDMzNi43OTUzMTI2LCAxMDI0MiwgMS4yMzE4OTkyNjE0NzQ2MDk0XSwgWzE2NjM3MzAzMzcuMDU4NDI3NiwgMTAyNjAsIDEuMjc1NjUyMDUwOTcxOTg0OV0sIFsxNjYzNzMwMzM3LjM1NzMwMjQsIDEwMjg3LCAxLjE3Njg2NzcyMzQ2NDk2NThdLCBbMTY2MzczMDMzNy42MzA4NDM2LCAxMDMxNCwgMS4zNTUxNjg3MDAyMTgyMDA3XSwgWzE2NjM3MzAzMzcuNzEzMTc1MywgMTAzMjMsIDEuMDk4NTA0MTg1Njc2NTc0N10sIFsxNjYzNzMwMzM3Ljg5MDEzNjUsIDEwMzQxLCAxLjIzMDM1NDMwOTA4MjAzMTJdLCBbMTY2MzczMDMzNy45NzkwMzgyLCAxMDM1MCwgMS4zNTAwNTQxNDQ4NTkzMTRdLCBbMTY2MzczMDMzOC4wNjU4MDY5LCAxMDM1OSwgMS4zOTY0Njc4MDQ5MDg3NTI0XSwgWzE2NjM3MzAzMzguMTgxNjIzNSwgMTAzNjgsIDEuNDE1MTgyNDcxMjc1MzI5Nl0sIFsxNjYzNzMwMzM4LjI3NDA5NywgMTAzNzcsIDEuNDI1OTYyNTY3MzI5NDA2N10sIFsxNjYzNzMwMzM4LjM3MTY3MSwgMTAzODYsIDEuNDg1OTI0MjQzOTI3MDAyXSwgWzE2NjM3MzAzMzguNTU2NTMwMiwgMTA0MDQsIDEuMjg2OTcxNDQ5ODUxOTg5N10sIFsxNjYzNzMwMzM4LjkxNDcwODksIDEwNDQwLCAxLjE3NTgzNzYzNTk5Mzk1NzVdLCBbMTY2MzczMDMzOS4wMjAxNzM1LCAxMDQ0OSwgMS4zOTcwNjgxNDI4OTA5MzAyXSwgWzE2NjM3MzAzMzkuMTk0NzMzOSwgMTA0NjcsIDEuNDcyOTQ3MDAxNDU3MjE0NF0sIFsxNjYzNzMwMzM5LjM2NzY3NjMsIDEwNDg1LCAxLjMzMTExNzYzMDAwNDg4MjhdLCBbMTY2MzczMDMzOS41NTQwNTE5LCAxMDUwMywgMS4yMjgzMjUzNjY5NzM4NzddLCBbMTY2MzczMDMzOS44NTEyMzMyLCAxMDUxMiwgMS4zMTgxMDc0ODU3NzExNzkyXSwgWzE2NjM3MzAzNDAuNDgzNDIwNCwgMTA1NjYsIDEuMjgxMDEwODY2MTY1MTYxMV0sIFsxNjYzNzMwMzQwLjU2ODM0MSwgMTA1NzUsIDEuNzY1NTQ0MTc2MTAxNjg0Nl0sIFsxNjYzNzMwMzQwLjc1MzgyNTIsIDEwNTkzLCAxLjI5MzgyNzI5NTMwMzM0NDddLCBbMTY2MzczMDM0MC44NDAwMTUsIDEwNjAyLCAxLjE2MjI3OTcyNTA3NDc2OF0sIFsxNjYzNzMwMzQwLjkzMzE5MjUsIDEwNjExLCAxLjIwNTI1OTkxOTE2NjU2NV0sIFsxNjYzNzMwMzQxLjM0MTIxOTQsIDEwNjQ3LCAxLjI1NTE1NTY4MjU2Mzc4MTddLCBbMTY2MzczMDM0MS41MzY5MTUzLCAxMDY2NSwgMS4yMDE3NjI3OTU0NDgzMDMyXSwgWzE2NjM3MzAzNDEuNzA4NjEzNiwgMTA2ODMsIDEuMzQ1NTQ0NDU3NDM1NjA4XSwgWzE2NjM3MzAzNDEuODcxMDU1OCwgMTA3MDEsIDEuMjExMDY4MTUzMzgxMzQ3N10sIFsxNjYzNzMwMzQxLjk1OTc5NDUsIDEwNzEwLCAxLjIzOTQ5ODI1NzYzNzAyNF0sIFsxNjYzNzMwMzQyLjA1MTE0NjUsIDEwNzE5LCAxLjMzOTgxOTU1MDUxNDIyMTJdLCBbMTY2MzczMDM0Mi4zMDY2ODgzLCAxMDc0NiwgMS4yNjI3NjQ2OTIzMDY1MTg2XSwgWzE2NjM3MzAzNDIuMzkwNzQ3LCAxMDc1NSwgMS4yOTI0ODgyMTczNTM4MjA4XSwgWzE2NjM3MzAzNDIuNTA4NDc3NywgMTA3NjQsIDEuMTA5NDQ4MTk0NTAzNzg0Ml0sIFsxNjYzNzMwMzQyLjYzNDkwODIsIDEwNzczLCAxLjMzOTI5NTYyNTY4NjY0NTVdLCBbMTY2MzczMDM0Mi43NTYxMTQyLCAxMDc4MiwgMS4wNzM4MzMzNDYzNjY4ODIzXSwgWzE2NjM3MzAzNDIuODYxNjI5LCAxMDc5MSwgMS4xNzQ2OTczOTkxMzk0MDQzXSwgWzE2NjM3MzAzNDMuMTM3MDQwNCwgMTA4MTgsIDEuMzAwNzcxMTE3MjEwMzg4Ml0sIFsxNjYzNzMwMzQzLjI0ODg4OCwgMTA4MjcsIDEuMzUzMzAzMDc0ODM2NzMxXSwgWzE2NjM3MzAzNDMuNTM1MDg1MiwgMTA4NTQsIDEuMzUyNjA1MzQyODY0OTkwMl0sIFsxNjYzNzMwMzQzLjYyNTA3MjUsIDEwODYzLCAxLjQyNDIyOTk3OTUxNTA3NTddLCBbMTY2MzczMDM0My43MDQ1MjU1LCAxMDg3MiwgMS4xOTQwMjA3NDgxMzg0Mjc3XSwgWzE2NjM3MzAzNDMuODc5ODgzMywgMTA4OTAsIDEuMzQ0MDMwOTc2Mjk1NDcxMl0sIFsxNjYzNzMwMzQzLjk2MDgzMTYsIDEwODk5LCAxLjAyMTQxNDE2MDcyODQ1NDZdLCBbMTY2MzczMDM0NC4yNDc5Njc3LCAxMDkyNiwgMS4zMDk1MjQwNTkyOTU2NTQzXSwgWzE2NjM3MzAzNDQuMzMyMTY3LCAxMDkzNSwgMS4xMzMxMDk5MjcxNzc0MjkyXSwgWzE2NjM3MzAzNDQuNDEzNzQ4LCAxMDk0NCwgMS4yNDM3MzI0NTIzOTI1NzgxXSwgWzE2NjM3MzAzNDQuNTg2Mjg3LCAxMDk2MiwgMS4zNzg5MzEyODM5NTA4MDU3XSwgWzE2NjM3MzAzNDQuNjcxOTAyLCAxMDk3MSwgMS4xMzE1MjQ2ODIwNDQ5ODNdLCBbMTY2MzczMDM0NS4wMDQyNTQ2LCAxMTAwNywgMS4zNzg5MzAwOTE4NTc5MTAyXSwgWzE2NjM3MzAzNDUuMDk1NTg1MywgMTEwMTYsIDEuMjI1NDg1NDQ0MDY4OTA4N10sIFsxNjYzNzMwMzQ1LjMwNjIzMTMsIDExMDM0LCAxLjE3MjgzNDYzNDc4MDg4MzhdLCBbMTY2MzczMDM0NS42NDIwNDYsIDExMDYxLCAxLjI1NDE4NjE1MzQxMTg2NTJdLCBbMTY2MzczMDM0NS43MzU5OTcsIDExMDcwLCAxLjMxNzg3NDkwODQ0NzI2NTZdLCBbMTY2MzczMDM0NS45OTY1MDgsIDExMDk3LCAxLjMxMDg5NzExMTg5MjcwMDJdLCBbMTY2MzczMDM0Ni4wOTEzMzMsIDExMTA2LCAxLjI3OTEyNzgzNjIyNzQxN10sIFsxNjYzNzMwMzQ2LjU3NjE0MywgMTExNTEsIDEuNTgxNDIwNDIxNjAwMzQxOF0sIFsxNjYzNzMwMzQ2Ljc2MjkwMTUsIDExMTY5LCAxLjM4OTM0MTQ3MzU3OTQwNjddLCBbMTY2MzczMDM0Ni44NjEwNzY2LCAxMTE3OCwgMS4xNjcxNTc2NDk5OTM4OTY1XSwgWzE2NjM3MzAzNDYuOTQ5MjE0LCAxMTE4NywgMS4zNDcwMzQ0NTQzNDU3MDMxXSwgWzE2NjM3MzAzNDcuMDM5MTAxOCwgMTExOTYsIDEuMDkxOTI5NDM1NzI5OTgwNV0sIFsxNjYzNzMwMzQ3LjEyOTkwNzEsIDExMjA1LCAxLjQ5ODY3MTE3NDA0OTM3NzRdLCBbMTY2MzczMDM0Ny4yMzIwODc2LCAxMTIxNCwgMS4xODYyOTUzOTAxMjkwODk0XSwgWzE2NjM3MzAzNDcuMzIwMTYzNywgMTEyMjMsIDEuNTM2NDEyMzU4MjgzOTk2Nl0sIFsxNjYzNzMwMzQ3LjgxODIwODcsIDExMjUwLCAxLjQxNDY4MTY3MzA0OTkyNjhdLCBbMTY2MzczMDM0Ny45MDYxMTE3LCAxMTI1OSwgMS4zMzM1Mjg5OTU1MTM5MTZdLCBbMTY2MzczMDM0Ny45OTEzMzczLCAxMTI2OCwgMS4zODc1MDkzNDYwMDgzMDA4XSwgWzE2NjM3MzAzNDguMDgyMzUxNCwgMTEyNzcsIDEuNDY1MjAyODA4MzgwMTI3XSwgWzE2NjM3MzAzNDguMjU2MTQ1NSwgMTEyOTUsIDEuMzYyMjMwNTM5MzIxODk5NF0sIFsxNjYzNzMwMzQ4LjQ3NDczNjIsIDExMzEzLCAxLjI3ODMzNTQ1MjA3OTc3M10sIFsxNjYzNzMwMzQ4LjU2MTc1NjEsIDExMzIyLCAxLjQzMjc0MDMzMDY5NjEwNl0sIFsxNjYzNzMwMzQ4Ljg5NzA1MywgMTEzNDksIDEuMzgwMjg1ODU5MTA3OTcxMl0sIFsxNjYzNzMwMzQ4Ljk4NTMwNTgsIDExMzU4LCAxLjI0ODMyNTEwOTQ4MTgxMTVdLCBbMTY2MzczMDM0OS4yNjIxOTE4LCAxMTM4NSwgMS4yMTQ5MjU3NjU5OTEyMTFdLCBbMTY2MzczMDM0OS41NDczNzYyLCAxMTQxMiwgMS4yNDcyNzA1ODQxMDY0NDUzXSwgWzE2NjM3MzAzNDkuOTA3NDc4MywgMTE0NDgsIDEuNDI3Mzk2MDU5MDM2MjU0OV0sIFsxNjYzNzMwMzUwLjM3MTc5MDIsIDExNDkzLCAxLjMxNjk0NDcxODM2MDkwMDldLCBbMTY2MzczMDM1MC40NjY1NzIzLCAxMTUwMiwgMS4xNzEzNTgyMjc3Mjk3OTc0XSwgWzE2NjM3MzAzNTAuNTYyMjQwNiwgMTE1MTEsIDEuNTE2NTM4NjE5OTk1MTE3Ml0sIFsxNjYzNzMwMzUwLjc0MDg0NzYsIDExNTI5LCAxLjE0NjE3NjMzODE5NTgwMDhdLCBbMTY2MzczMDM1MC45MTY1NTcsIDExNTQ3LCAxLjE2MDcxNjUzMzY2MDg4ODddLCBbMTY2MzczMDM1MS4xODMyMTYzLCAxMTU3NCwgMS4zMTUzNzcyMzU0MTI1OTc3XSwgWzE2NjM3MzAzNTEuNDY4MjQyMiwgMTE2MDEsIDEuNDI1MzQzOTkwMzI1OTI3N10sIFsxNjYzNzMwMzUxLjcyODEyMTMsIDExNjE5LCAxLjE1NjAzNDIzMTE4NTkxM10sIFsxNjYzNzMwMzUyLjA5MzM2MzUsIDExNjQ2LCAxLjM0NjEzODgzNDk1MzMwOF0sIFsxNjYzNzMwMzUyLjM2NTAzMSwgMTE2NzMsIDEuMjUyNjIxMTczODU4NjQyNl0sIFsxNjYzNzMwMzUyLjU1Mzg4LCAxMTY5MSwgMS4yNTg5OTI5MTAzODUxMzE4XSwgWzE2NjM3MzAzNTIuNjYwNTgyLCAxMTcwMCwgMS4yMjY5MjcwNDIwMDc0NDYzXSwgWzE2NjM3MzAzNTIuODQwMTI2NSwgMTE3MTgsIDEuMDk2NjI4NDI3NTA1NDkzMl0sIFsxNjYzNzMwMzUyLjkyODU2MzYsIDExNzI3LCAxLjE2ODgxMjg3MDk3OTMwOV0sIFsxNjYzNzMwMzUzLjEwNTU0NDYsIDExNzQ1LCAxLjIyMDU1NDcwOTQzNDUwOTNdLCBbMTY2MzczMDM1My4yODM1ODI0LCAxMTc2MywgMS4yMDc1Nzk4NTExNTA1MTI3XSwgWzE2NjM3MzAzNTMuNjQwNzM5LCAxMTc5OSwgMS4xNDcyODExNjk4OTEzNTc0XSwgWzE2NjM3MzAzNTMuOTAzNjU2LCAxMTgyNiwgMS4zNTIwMDQ2NDcyNTQ5NDM4XSwgWzE2NjM3MzAzNTMuOTkxMjM3NCwgMTE4MzUsIDEuMjYzNTQ2ODI0NDU1MjYxMl0sIFsxNjYzNzMwMzU0LjA4NTU2OSwgMTE4NDQsIDEuMDc3MTE5NzA4MDYxMjE4M10sIFsxNjYzNzMwMzU0LjUzMjQ4NzQsIDExODg5LCAxLjU3MDI0MDAyMDc1MTk1MzFdLCBbMTY2MzczMDM1NC45MzgxNzksIDExOTA3LCAxLjcwNDUyMjQ5MDUwMTQwMzhdLCBbMTY2MzczMDM1NS4wMjU5MzY2LCAxMTkxNiwgMS41MTQ4NTQ1NTAzNjE2MzMzXSwgWzE2NjM3MzAzNTUuMjQ5NjUyLCAxMTkzNCwgMS41MzgwNTQ0NjYyNDc1NTg2XSwgWzE2NjM3MzAzNTUuMzQwODU4NywgMTE5NDMsIDEuMTk0NjI4MjM4Njc3OTc4NV0sIFsxNjYzNzMwMzU1LjUyNjg3NiwgMTE5NjEsIDEuNjQwODk4MjI3NjkxNjUwNF0sIFsxNjYzNzMwMzU2LjE2MjY4NCwgMTIwMjQsIDEuMTYwMjI1MTUyOTY5MzYwNF0sIFsxNjYzNzMwMzU2LjcwNjgwNDUsIDEyMDc4LCAxLjY1MDc1MzYxNzI4NjY4MjFdLCBbMTY2MzczMDM1Ni45NzYzNzU2LCAxMjEwNSwgMS4yOTUxNjMyNzM4MTEzNDAzXSwgWzE2NjM3MzAzNTcuMDYwMTUsIDEyMTE0LCAxLjU2NTY4MDM4NDYzNTkyNTNdLCBbMTY2MzczMDM1Ny4yNDA1NDA3LCAxMjEzMiwgMS4zNjM2NzExODM1ODYxMjA2XSwgWzE2NjM3MzAzNTcuMzIxMTI5NiwgMTIxNDEsIDEuODM5MzE5NDY3NTQ0NTU1N10sIFsxNjYzNzMwMzU3LjU5MzAzNzEsIDEyMTY4LCAxLjU3MjU5MDQ3MDMxNDAyNTldLCBbMTY2MzczMDM1Ny42NzkxNDA2LCAxMjE3NywgMS40MjU5NTYxMzAwMjc3NzFdLCBbMTY2MzczMDM1Ny44NTMwMDIsIDEyMTk1LCAxLjQ1MDQ1NTY2NTU4ODM3OV0sIFsxNjYzNzMwMzU4LjEyMTY4ODYsIDEyMjIyLCAxLjA4MDczNjc1NjMyNDc2OF0sIFsxNjYzNzMwMzU4LjIxNzQzODIsIDEyMjMxLCAxLjE3MTA4NzUwMzQzMzIyNzVdLCBbMTY2MzczMDM1OC4zODYyODk0LCAxMjI0OSwgMS4yNjY5Njk2ODA3ODYxMzI4XSwgWzE2NjM3MzAzNTguNzMxNjg4NSwgMTIyODUsIDEuNDkwMjI5NDg3NDE5MTI4NF0sIFsxNjYzNzMwMzU4LjgyMTA2MTEsIDEyMjk0LCAxLjE5ODE4NTU2MzA4NzQ2MzRdLCBbMTY2MzczMDM1OC45MjgxNDE2LCAxMjMwMywgMS40ODMwMzE2MzA1MTYwNTIyXSwgWzE2NjM3MzAzNTkuMDE1Mjc4NiwgMTIzMTIsIDEuMjA5NjA0OTc4NTYxNDAxNF0sIFsxNjYzNzMwMzU5LjEwMjU2MzYsIDEyMzIxLCAxLjA5OTc0OTQ0NTkxNTIyMjJdLCBbMTY2MzczMDM1OS40NTI0NTQ4LCAxMjM1NywgMS4zNzQzMjE1Nzk5MzMxNjY1XSwgWzE2NjM3MzAzNTkuNTM5OTk0NywgMTIzNjYsIDEuMzMxNTIzNDE4NDI2NTEzN10sIFsxNjYzNzMwMzU5LjcxMzI5NzQsIDEyMzg0LCAxLjE4ODI3NDI2NDMzNTYzMjNdLCBbMTY2MzczMDM1OS44MDM2MjA2LCAxMjM5MywgMS40NDc5NDc1MDIxMzYyMzA1XSwgWzE2NjM3MzAzNjAuMTY0NzY4NywgMTI0MjksIDEuMzg1NjY0OTM5ODgwMzcxXSwgWzE2NjM3MzAzNjAuMjU4MDIwNiwgMTI0MzgsIDEuNDQ5NjM4MDA5MDcxMzVdLCBbMTY2MzczMDM2MC45MDA5NDE0LCAxMjQ3NCwgMS4yNTA5NTY4OTI5NjcyMjQxXSwgWzE2NjM3MzAzNjEuMDExMjgxLCAxMjQ4MywgMS40MDc0NjI1OTY4OTMzMTA1XSwgWzE2NjM3MzAzNjEuMTI3MjQ3NiwgMTI0OTIsIDEuMzA2NTQzMjMxMDEwNDM3XSwgWzE2NjM3MzAzNjEuNDY1OTkxNSwgMTI1MTksIDEuMjkwNTczNzE2MTYzNjM1M10sIFsxNjYzNzMwMzYxLjc3MzQ4MSwgMTI1NDYsIDEuNzQ0MzY3MjQxODU5NDM2XSwgWzE2NjM3MzAzNjIuMDU4MTkyNSwgMTI1NzMsIDEuMjI2MzQ3Njg0ODYwMjI5NV0sIFsxNjYzNzMwMzYyLjE0NTA3NSwgMTI1ODIsIDEuNDE1MTU1NjQ5MTg1MTgwN10sIFsxNjYzNzMwMzYyLjM1MzI4OTQsIDEyNjAwLCAxLjE1NTkxODcxNzM4NDMzODRdLCBbMTY2MzczMDM2Mi40NDAwNTc4LCAxMjYwOSwgMS40MDI4NzYxMzg2ODcxMzM4XSwgWzE2NjM3MzAzNjIuNzA2MTk0MiwgMTI2MzYsIDEuMTg4MTgyNDczMTgyNjc4Ml0sIFsxNjYzNzMwMzYyLjkyNTQ2OCwgMTI2NTQsIDEuMjQwOTI5MDA3NTMwMjEyNF0sIFsxNjYzNzMwMzYzLjY3NDk4NjgsIDEyNzI2LCAxLjI4NDU4NDQwMzAzODAyNV0sIFsxNjYzNzMwMzYzLjkzNzcwODksIDEyNzUzLCAxLjU1NDkwNDEwMzI3OTExMzhdLCBbMTY2MzczMDM2NC4wMjk4ODEsIDEyNzYyLCAxLjI0OTE5NzYwMjI3MjAzMzddLCBbMTY2MzczMDM2NC4yMTU4OSwgMTI3ODAsIDEuNDA0Mjk4NDI0NzIwNzY0Ml0sIFsxNjYzNzMwMzY0LjM4NTg4MzgsIDEyNzk4LCAxLjMwOTc0MjgwODM0MTk4XSwgWzE2NjM3MzAzNjQuNDc5MzgzMiwgMTI4MDcsIDEuMDk2NjQ1MzU1MjI0NjA5NF0sIFsxNjYzNzMwMzY1LjI3MjY0NjQsIDEyODg4LCAxLjE4NTU2MjcyOTgzNTUxMDNdLCBbMTY2MzczMDM2NS4zNjUxNzMzLCAxMjg5NywgMS4xOTE3ODg0MzQ5ODIyOTk4XSwgWzE2NjM3MzAzNjUuNDQ4MTAxNSwgMTI5MDYsIDEuMTczOTY4OTExMTcwOTU5NV0sIFsxNjYzNzMwMzY1LjUzNDEwNywgMTI5MTUsIDEuNDA5ODczMDA4NzI4MDI3M10sIFsxNjYzNzMwMzY1LjcwODc2NzIsIDEyOTMzLCAxLjIwMzI0MDg3MTQyOTQ0MzRdLCBbMTY2MzczMDM2NS44ODYyODg2LCAxMjk1MSwgMS4xMjMzNjgzODI0NTM5MTg1XSwgWzE2NjM3MzAzNjUuOTczMTk0NiwgMTI5NjAsIDEuMTE0Mjg5OTk5MDA4MTc4N10sIFsxNjYzNzMwMzY2LjA1OTYyOCwgMTI5NjksIDEuMDU5NzcyODQ5MDgyOTQ2OF0sIFsxNjYzNzMwMzY2LjE4MTY0NywgMTI5NzgsIDEuMTU4MjQyOTQwOTAyNzFdLCBbMTY2MzczMDM2Ni41MzkyMTA4LCAxMzAwNSwgMS4xNjYxNzY3OTU5NTk0NzI3XSwgWzE2NjM3MzAzNjYuNzE1NDc1OCwgMTMwMjMsIDEuMTUxMzcyMzEzNDk5NDUwN10sIFsxNjYzNzMwMzY2LjgwNDA0NDUsIDEzMDMyLCAxLjQwODYxMDcwMTU2MDk3NDFdLCBbMTY2MzczMDM2Ni44OTMwMTc4LCAxMzA0MSwgMS4zMzcyMjcxMDYwOTQzNjA0XSwgWzE2NjM3MzAzNjYuOTc4ODk3NiwgMTMwNTAsIDEuMjk2NTI5NDEyMjY5NTkyM10sIFsxNjYzNzMwMzY3LjA3Mzg5MywgMTMwNTksIDEuMjI5ODQyNTQzNjAxOTg5N10sIFsxNjYzNzMwMzY3LjE2MzgyOTMsIDEzMDY4LCAxLjI4MjI4ODE5MzcwMjY5NzhdLCBbMTY2MzczMDM2Ny4yNTMxMTY2LCAxMzA3NywgMS40NzEyMDg2OTE1OTY5ODQ5XSwgWzE2NjM3MzAzNjcuNDQ2NjcwNSwgMTMwOTUsIDEuMzIzNzcxMTE5MTE3NzM2OF0sIFsxNjYzNzMwMzY3LjUzNDEzOTksIDEzMTA0LCAxLjE2NTg2NzkyNDY5MDI0NjZdLCBbMTY2MzczMDM2Ny42MTkwNzEsIDEzMTEzLCAxLjA0MTU4NzExNDMzNDEwNjRdLCBbMTY2MzczMDM2Ny43MDI5OTA4LCAxMzEyMiwgMS4zODYwMzM2NTQyMTI5NTE3XSwgWzE2NjM3MzAzNjcuNzg2MTkwNSwgMTMxMzEsIDEuMjE4MDI4NDI2MTcwMzQ5MV0sIFsxNjYzNzMwMzY3Ljg4MTA4NCwgMTMxNDAsIDEuMjc2MzM0MDQ3MzE3NTA0OV0sIFsxNjYzNzMwMzY3Ljk4MTMxODIsIDEzMTQ5LCAxLjIzMDcwNzQwNjk5NzY4MDddLCBbMTY2MzczMDM2OC4xMTIzNzAzLCAxMzE1OCwgMS4yMDU0NzI3MDc3NDg0MTNdLCBbMTY2MzczMDM2OC4yNDczNDg1LCAxMzE2NywgMS4xMDU5MjMyOTUwMjEwNTcxXSwgWzE2NjM3MzAzNjguMzc5MDk2NywgMTMxNzYsIDEuMjIzMTczOTc1OTQ0NTE5XSwgWzE2NjM3MzAzNjguNDk2NjIzNSwgMTMxODUsIDEuMTk1NzU2NzkzMDIyMTU1OF0sIFsxNjYzNzMwMzY5LjIxNjI5ODgsIDEzMjM5LCAxLjMzOTU4NTQyMzQ2OTU0MzVdLCBbMTY2MzczMDM2OS41MDYwMjQsIDEzMjY2LCAxLjIyMjc5NTQ4NjQ1MDE5NTNdLCBbMTY2MzczMDM2OS41OTI3NDM5LCAxMzI3NSwgMS4yMDkxNzg4MDUzNTEyNTczXSwgWzE2NjM3MzAzNjkuODEyODkxNSwgMTMyOTMsIDEuNDc2NTQ0MTQxNzY5NDA5Ml0sIFsxNjYzNzMwMzY5Ljg5NTc2MTcsIDEzMzAyLCAxLjMzNTQ3MzQxODIzNTc3ODhdLCBbMTY2MzczMDM3MC4yNTEwNTU3LCAxMzMzOCwgMS4xMzMzMjg5MTQ2NDIzMzRdLCBbMTY2MzczMDM3MC4zNDM3NTc5LCAxMzM0NywgMS4xNDgzOTc4MDMzMDY1Nzk2XSwgWzE2NjM3MzAzNzAuNDI0OTY4NSwgMTMzNTYsIDEuNDE4MDc0MzY5NDMwNTQyXSwgWzE2NjM3MzAzNzAuNTM4MDE4NSwgMTMzNjUsIDEuMTc2NjkyMTI4MTgxNDU3NV0sIFsxNjYzNzMwMzcwLjg2NzM4MDYsIDEzMzkyLCAxLjM4ODQxOTUwODkzNDAyMV0sIFsxNjYzNzMwMzcwLjk1NzIxMjcsIDEzNDAxLCAxLjMwNTMyODcyNjc2ODQ5MzddLCBbMTY2MzczMDM3MS4wNzExODMyLCAxMzQxMCwgMS4yNzg2ODM3ODE2MjM4NDAzXSwgWzE2NjM3MzAzNzEuMTkzMDcyLCAxMzQxOSwgMS4zNjYwOTMyNzc5MzEyMTM0XSwgWzE2NjM3MzAzNzEuMzEwNTU0LCAxMzQyOCwgMS4zMzIxOTgzODE0MjM5NTAyXSwgWzE2NjM3MzAzNzEuNTMwMjE3NiwgMTM0NDYsIDEuNDcxMDc1NzczMjM5MTM1N10sIFsxNjYzNzMwMzcxLjYxODk4OCwgMTM0NTUsIDEuMzIwMjYyNjcwNTE2OTY3OF0sIFsxNjYzNzMwMzcxLjk3OTAwODIsIDEzNDkxLCAxLjI2MjcxNTU3ODA3OTIyMzZdLCBbMTY2MzczMDM3Mi4wNjUxNTA1LCAxMzUwMCwgMS4wOTcxNzQ4ODI4ODg3OTRdLCBbMTY2MzczMDM3Mi4xNTEzODAzLCAxMzUwOSwgMS4yNTAzODIwNjU3NzMwMTAzXSwgWzE2NjM3MzAzNzIuMzY0MjU2MSwgMTM1MjcsIDEuMzI3NTk5NjQ0NjYwOTQ5N10sIFsxNjYzNzMwMzcyLjY0NDYyNzgsIDEzNTU0LCAxLjUyNDk2NjAwMTUxMDYyMDFdLCBbMTY2MzczMDM3Mi45Nzg1NTksIDEzNTkwLCAxLjIzNzQ1NTYwNjQ2MDU3MTNdLCBbMTY2MzczMDM3My4wNjAzNjExLCAxMzU5OSwgMS4xOTExMDk0MTg4NjkwMTg2XSwgWzE2NjM3MzAzNzMuMTY5NDM0OCwgMTM2MDgsIDEuMTY0Mzk5Mzg1NDUyMjcwNV0sIFsxNjYzNzMwMzczLjM1MzcwNDUsIDEzNjI2LCAxLjIyMzQxOTE4OTQ1MzEyNV0sIFsxNjYzNzMwMzczLjU0MDU0MywgMTM2NDQsIDEuNTk2MDUwMzgxNjYwNDYxNF0sIFsxNjYzNzMwMzczLjYzNDY1OCwgMTM2NTMsIDEuMjIzNDQwNTI3OTE1OTU0Nl0sIFsxNjYzNzMwMzc0LjI4MDU0NDMsIDEzNzE2LCAxLjQ1MDA2ODU5MzAyNTIwNzVdLCBbMTY2MzczMDM3NC41NzAzNTQ3LCAxMzc0MywgMS4yMjcyMTQ0NTU2MDQ1NTMyXSwgWzE2NjM3MzAzNzQuNzYzMTM3LCAxMzc2MSwgMS4zNDE3NTc1MzU5MzQ0NDgyXSwgWzE2NjM3MzAzNzQuOTM2MDc4LCAxMzc3OSwgMS4xNTUxOTU0NzQ2MjQ2MzM4XSwgWzE2NjM3MzAzNzUuMjMwNzUxOCwgMTM4MDYsIDEuNjg2ODU3OTM4NzY2NDc5NV0sIFsxNjYzNzMwMzc1LjMyNzE3NzgsIDEzODE1LCAxLjEwMjg5Mzk0ODU1NDk5MjddLCBbMTY2MzczMDM3NS41ODgwMDM2LCAxMzg0MiwgMS4yODkwOTU4Nzg2MDEwNzQyXSwgWzE2NjM3MzAzNzUuNjcwMjk3OSwgMTM4NTEsIDEuMzgzODY5MTcxMTQyNTc4MV0sIFsxNjYzNzMwMzc1Ljg2NjQxNTUsIDEzODY5LCAxLjM1NDE5OTc2NzExMjczMl0sIFsxNjYzNzMwMzc1Ljk4MjY0MjcsIDEzODc4LCAxLjM1ODE4ODAzMzEwMzk0MjldLCBbMTY2MzczMDM3Ni40MjA1NTQ2LCAxMzkxNCwgMS4yOTkzOTQ5NjUxNzE4MTRdLCBbMTY2MzczMDM3Ni42MTEzODE4LCAxMzkzMiwgMS40MjEyMzI3MDAzNDc5MDA0XSwgWzE2NjM3MzAzNzYuOTQ1MDA0NywgMTM5NDEsIDEuMjY2MzQ3ODg1MTMxODM2XSwgWzE2NjM3MzAzNzcuMjE2NzI0NCwgMTM5NjgsIDEuMjIyODcxNjYxMTg2MjE4M10sIFsxNjYzNzMwMzc3LjMwOTI1MSwgMTM5NzcsIDEuMDk0MzYyODU0OTU3NTgwNl0sIFsxNjYzNzMwMzc3LjM5MDAyOCwgMTM5ODYsIDEuMTYwMTQ0MzI5MDcxMDQ1XSwgWzE2NjM3MzAzNzcuNTkyMzUyMiwgMTQwMDQsIDEuNDI2MzYyODcyMTIzNzE4M10sIFsxNjYzNzMwMzc3Ljc4Mzg0NzMsIDE0MDIyLCAxLjQ3NDM0MDA4MTIxNDkwNDhdLCBbMTY2MzczMDM3OC4xMDQyMjkyLCAxNDA0OSwgMS4yNzY4MTM3NDU0OTg2NTcyXSwgWzE2NjM3MzAzNzguMjg4MTE3NCwgMTQwNjcsIDEuMTY4NjcxNDg4NzYxOTAxOV0sIFsxNjYzNzMwMzc4LjQ1OTg2NSwgMTQwODUsIDEuNjY2MzUyMjcyMDMzNjkxNF0sIFsxNjYzNzMwMzc4LjU0ODA1OCwgMTQwOTQsIDEuMjA5NDY1MDI2ODU1NDY4OF0sIFsxNjYzNzMwMzc4LjYzMzQ5MjcsIDE0MTAzLCAxLjI2NjQ1OTU4NDIzNjE0NV0sIFsxNjYzNzMwMzc4LjgwODY1MTQsIDE0MTIxLCAxLjIyODk4MDY2MDQzODUzNzZdLCBbMTY2MzczMDM3OS4wMDY3MDI3LCAxNDEzOSwgMS4zMDgzNjkyNzg5MDc3NzU5XSwgWzE2NjM3MzAzNzkuMDk2MzU3LCAxNDE0OCwgMS4wNTQwNzgzNDA1MzAzOTU1XSwgWzE2NjM3MzAzNzkuMTg1MTk3LCAxNDE1NywgMS40MDg1MzIzODEwNTc3MzkzXSwgWzE2NjM3MzAzNzkuMjc3NDg3MywgMTQxNjYsIDEuMTI3ODEwMTIwNTgyNTgwNl0sIFsxNjYzNzMwMzc5LjM2MjE3MTYsIDE0MTc1LCAxLjI3OTUyMTM0NjA5MjIyNDFdLCBbMTY2MzczMDM3OS41Mzk4NDEyLCAxNDE5MywgMS4xOTkyOTcwNzA1MDMyMzQ5XSwgWzE2NjM3MzAzNzkuNzAyMzc3OCwgMTQyMTEsIDEuMTkxOTI1Mjg3MjQ2NzA0XSwgWzE2NjM3MzAzNzkuNzkxODMzMiwgMTQyMjAsIDEuNjA2NjQ1MTA3MjY5Mjg3XSwgWzE2NjM3MzAzNzkuODcyOTg0NiwgMTQyMjksIDEuMTMyMTQ5Njk2MzUwMDk3N10sIFsxNjYzNzMwMzc5Ljk3ODYzOCwgMTQyMzgsIDEuMDYyMTA5NDcwMzY3NDMxNl0sIFsxNjYzNzMwMzgwLjA4OTU4NjMsIDE0MjQ3LCAxLjIxODQzNzQzMzI0Mjc5NzldLCBbMTY2MzczMDM4MC40MjQ5MzM3LCAxNDI3NCwgMS4zNDI4NTI5NTAwOTYxMzA0XSwgWzE2NjM3MzAzODEuMDE1ODcyNywgMTQzMTksIDEuMTA4NjA3NTMwNTkzODcyXSwgWzE2NjM3MzAzODEuNTQ5NjM4NSwgMTQzNjQsIDEuMDY3OTY0NDM0NjIzNzE4M10sIFsxNjYzNzMwMzgxLjY1OTU0MDQsIDE0MzczLCAxLjEzNzgwNzcyNjg2MDA0NjRdLCBbMTY2MzczMDM4MS43NTcwMTM4LCAxNDM4MiwgMS4yMjQxNDA0MDU2NTQ5MDcyXSwgWzE2NjM3MzAzODIuMTQ3MDA1LCAxNDQxOCwgMS4yOTY2MDIyNDkxNDU1MDc4XSwgWzE2NjM3MzAzODIuMjQ3NzE3MSwgMTQ0MjcsIDEuMTQ0MzE3MDMwOTA2Njc3Ml0sIFsxNjYzNzMwMzgyLjM3MDYwNywgMTQ0MzYsIDEuMjAyMTEwMjkwNTI3MzQzOF0sIFsxNjYzNzMwMzgzLjA1MDI0MDMsIDE0NDk5LCAxLjE2MDE2MDc3OTk1MzAwM10sIFsxNjYzNzMwMzgzLjE1MDA1NzYsIDE0NTA4LCAxLjA3MDMzMjY0NjM2OTkzNF0sIFsxNjYzNzMwMzgzLjM0MjIyNDgsIDE0NTI2LCAxLjM2NzY1MzYwODMyMjE0MzZdLCBbMTY2MzczMDM4My40MjkyMTksIDE0NTM1LCAxLjE2NDg5OTM0OTIxMjY0NjVdLCBbMTY2MzczMDM4My41MjE2MDcsIDE0NTQ0LCAxLjA5NjM0NTE4NjIzMzUyMDVdLCBbMTY2MzczMDM4My42MDQ1MDYsIDE0NTUzLCAxLjQzMzIzNjQ3OTc1OTIxNjNdLCBbMTY2MzczMDM4My45NjA1ODIzLCAxNDU4OSwgMS4yMDY4NDI1NDE2OTQ2NDExXSwgWzE2NjM3MzAzODQuMTUwOTA4NSwgMTQ2MDcsIDEuMTEyOTI1MDUyNjQyODIyM10sIFsxNjYzNzMwMzg0LjMyNjA3ODcsIDE0NjI1LCAxLjU0NzIxMzMxNTk2Mzc0NTFdLCBbMTY2MzczMDM4NC41MDIwOTgsIDE0NjQzLCAxLjYyODgxNDMzOTYzNzc1NjNdLCBbMTY2MzczMDM4NC43OTA4MzQ3LCAxNDY1MiwgMS4yMTM3MDEwMDk3NTAzNjYyXSwgWzE2NjM3MzAzODUuMDU4Njk1LCAxNDY3OSwgMS4yNTczMzYwMjA0Njk2NjU1XSwgWzE2NjM3MzAzODUuMTQ1MDA2NCwgMTQ2ODgsIDEuMzAyNTg1MDA1NzYwMTkyOV0sIFsxNjYzNzMwMzg1LjQ5ODU5NDUsIDE0NzI0LCAxLjI1MjY2MjMwMTA2MzUzNzZdLCBbMTY2MzczMDM4NS41ODc1MjIsIDE0NzMzLCAxLjE0OTE0MDExOTU1MjYxMjNdLCBbMTY2MzczMDM4NS42NzgzNDU3LCAxNDc0MiwgMS40MDAzMDM3MjE0Mjc5MTc1XSwgWzE2NjM3MzAzODUuNzY0Mjg5NiwgMTQ3NTEsIDEuMzU3NjQyNjUwNjA0MjQ4XSwgWzE2NjM3MzAzODUuOTM5NTEyMywgMTQ3NjksIDEuNDAwNDQ1ODE4OTAxMDYyXSwgWzE2NjM3MzAzODYuMDI5NDgzLCAxNDc3OCwgMS41MDA1MjU4MzIxNzYyMDg1XSwgWzE2NjM3MzAzODYuNDg1NDg5NCwgMTQ4MjMsIDEuMjU1MTk0NDI1NTgyODg1N10sIFsxNjYzNzMwMzg2LjU2MjkxMjUsIDE0ODMyLCAxLjE1MzMzODQzMjMxMjAxMTddLCBbMTY2MzczMDM4Ni43MzMzMjgzLCAxNDg1MCwgMS4yMDc4NDgwNzIwNTIwMDJdLCBbMTY2MzczMDM4Ni45MDg5OTcsIDE0ODY4LCAxLjY5MzYwNDgyNjkyNzE4NV0sIFsxNjYzNzMwMzg2Ljk5ODg0MDYsIDE0ODc3LCAxLjA3NTA3ODYwNjYwNTUyOThdLCBbMTY2MzczMDM4Ny4wNzczOTkzLCAxNDg4NiwgMS44NDQ4MzY3MTE4ODM1NDVdLCBbMTY2MzczMDM4Ny4xNjg3ODM3LCAxNDg5NSwgMS4xMzM4NjExODQxMjAxNzgyXSwgWzE2NjM3MzAzODcuMzQ1NDEyLCAxNDkxMywgMS4zODcwOTQ4NTUzMDg1MzI3XSwgWzE2NjM3MzAzODcuNTMyODI4LCAxNDkzMSwgMS4yMDE5NDQ4MjgwMzM0NDczXSwgWzE2NjM3MzAzODcuNjQxOTUzLCAxNDk0MCwgMS4zMDA5NDg3MzkwNTE4MTg4XSwgWzE2NjM3MzAzODcuOTAwODM4OSwgMTQ5NjcsIDEuMTUzNDQ0NzY2OTk4MjkxXSwgWzE2NjM3MzAzODguMDcxNjk0OSwgMTQ5ODUsIDEuMzEyNTE4MDAwNjAyNzIyMl0sIFsxNjYzNzMwMzg4LjI0OTM1NTMsIDE1MDAzLCAxLjQwMjkwMDU3NjU5MTQ5MTddLCBbMTY2MzczMDM4OC41MTU1Mjk5LCAxNTAzMCwgMS4zOTU2Mzg0NjU4ODEzNDc3XSwgWzE2NjM3MzAzODguNjI2ODk4NSwgMTUwMzksIDEuMTkxNDI0MTMxMzkzNDMyNl0sIFsxNjYzNzMwMzg4Ljk2NDIxNjUsIDE1MDc1LCAxLjU3ODg1MDI2OTMxNzYyN10sIFsxNjYzNzMwMzg5LjIzNDc1MTcsIDE1MTAyLCAxLjc2MzI0NzI1MTUxMDYyMDFdLCBbMTY2MzczMDM4OS40MTc0MDQ3LCAxNTEyMCwgMS4yMjkzMTA2MzE3NTIwMTQyXSwgWzE2NjM3MzAzODkuNDk5MTc5MSwgMTUxMjksIDEuNDE0NzUzOTEzODc5Mzk0NV0sIFsxNjYzNzMwMzg5LjYxMzYxOTgsIDE1MTM4LCAxLjIxNjI3NDE0MjI2NTMxOThdLCBbMTY2MzczMDM4OS43MDIxODgsIDE1MTQ3LCAxLjM5NjUzNzA2NTUwNTk4MTRdLCBbMTY2MzczMDM4OS45NTU5MDQyLCAxNTE3NCwgMS4yNDc3MzA5NzAzODI2OTA0XSwgWzE2NjM3MzAzOTAuMDQ1NjI2NiwgMTUxODMsIDEuMjA4OTE5NjQ0MzU1Nzc0XSwgWzE2NjM3MzAzOTAuMTMyMTM1NCwgMTUxOTIsIDEuMjA5NzE0MDU1MDYxMzQwM10sIFsxNjYzNzMwMzkwLjIyMzUwNjcsIDE1MjAxLCAxLjE5Mjg1NDc2MjA3NzMzMTVdLCBbMTY2MzczMDM5MC4zMTE5MzQyLCAxNTIxMCwgMS4zOTk0ODY2NjA5NTczMzY0XSwgWzE2NjM3MzAzOTAuMzk5NTUzOCwgMTUyMTksIDEuMjEzMzg2NTM1NjQ0NTMxMl0sIFsxNjYzNzMwMzkwLjY4MjgzMDMsIDE1MjQ2LCAxLjE4OTQ4MzI4NDk1MDI1NjNdLCBbMTY2MzczMDM5MC43NjkzNjksIDE1MjU1LCAxLjEyMzU1MjIwMzE3ODQwNThdLCBbMTY2MzczMDM5MC44NTUyMjg3LCAxNTI2NCwgMS41MjE4NjYyMDIzNTQ0MzEyXSwgWzE2NjM3MzAzOTEuMDMwMzg0NSwgMTUyODIsIDEuMjE1MDQ5NzQzNjUyMzQzOF0sIFsxNjYzNzMwMzkxLjExODE2MDcsIDE1MjkxLCAxLjUwNTAwOTUzMTk3NDc5MjVdLCBbMTY2MzczMDM5MS4yMDc4MjUsIDE1MzAwLCAxLjE5MzY4NDEwMTEwNDczNjNdLCBbMTY2MzczMDM5MS4yOTA1NzA1LCAxNTMwOSwgMS4xMzI2NzkyMjQwMTQyODIyXSwgWzE2NjM3MzAzOTEuMzcwMjgsIDE1MzE4LCAxLjIzNDM5NjIxOTI1MzU0XSwgWzE2NjM3MzAzOTEuNDY4NDc0OSwgMTUzMjcsIDEuMTk4MTgxMzkwNzYyMzI5XSwgWzE2NjM3MzAzOTEuNjY0NTUyNSwgMTUzNDUsIDEuMTUxMjQ5Mjg5NTEyNjM0M10sIFsxNjYzNzMwMzkxLjkyOTgyMTUsIDE1MzcyLCAxLjI5MjAyMTM5Mzc3NTk0XSwgWzE2NjM3MzAzOTIuMTIxOCwgMTUzOTAsIDEuMzIzMDE0NjE2OTY2MjQ3Nl0sIFsxNjYzNzMwMzkyLjIxMDY3MSwgMTUzOTksIDEuMjk0MjgwNDA5ODEyOTI3Ml0sIFsxNjYzNzMwMzkyLjI5NjgxNjMsIDE1NDA4LCAxLjI1NDYxMDE4MDg1NDc5NzRdLCBbMTY2MzczMDM5Mi4zODM1NjY0LCAxNTQxNywgMS4xOTQ1NDkzMjIxMjgyOTZdLCBbMTY2MzczMDM5My4wNjAwNDQzLCAxNTQ1MywgMS4xNjQ1NjAwNzk1NzQ1ODVdLCBbMTY2MzczMDM5My4zMTk1MjcxLCAxNTQ3MSwgMS40NjkzMjAxNzgwMzE5MjE0XSwgWzE2NjM3MzAzOTMuNDcwMzI0LCAxNTQ4MCwgMS4zNzgxNDY2NDg0MDY5ODI0XSwgWzE2NjM3MzAzOTMuNzU2ODg0MywgMTU1MDcsIDEuMjcxMDM3NDU5MzczNDc0MV0sIFsxNjYzNzMwMzkzLjg4MTU4MDQsIDE1NTE2LCAxLjI4NDY2ODY4NDAwNTczNzNdLCBbMTY2MzczMDM5NC4wMTkwMTQsIDE1NTI1LCAxLjIzMjExNTAzMDI4ODY5NjNdLCBbMTY2MzczMDM5NC4xMjk0MDM2LCAxNTUzNCwgMS4zNDQzMzQ2MDIzNTU5NTddLCBbMTY2MzczMDM5NC42OTkxNDI3LCAxNTU3OSwgMS4yOTEwMjQ2ODQ5MDYwMDU5XSwgWzE2NjM3MzAzOTUuNDgyNzE2MywgMTU2NTEsIDEuMjc3MDkxNzQxNTYxODg5Nl0sIFsxNjYzNzMwMzk1LjU2ODMzMzYsIDE1NjYwLCAxLjIxNjE4NTIxMjEzNTMxNV0sIFsxNjYzNzMwMzk1LjY1NjgzNTYsIDE1NjY5LCAxLjIwNDYyMTY3MjYzMDMxXSwgWzE2NjM3MzAzOTUuOTIzOTk2NCwgMTU2OTYsIDEuMTYxMjcyMDQ4OTUwMTk1M10sIFsxNjYzNzMwMzk2LjE5NTYwODEsIDE1NzE0LCAxLjM0NzAwODcwNTEzOTE2MDJdLCBbMTY2MzczMDM5Ni4zMTM4MTM0LCAxNTcyMywgMS4zMDI3MjE2MTk2MDYwMThdLCBbMTY2MzczMDM5Ni40MTMzOTU0LCAxNTczMiwgMS4wNzMwODE0OTMzNzc2ODU1XSwgWzE2NjM3MzAzOTYuNTI4MzgxLCAxNTc0MSwgMS42NzQxNDU5MzY5NjU5NDI0XSwgWzE2NjM3MzAzOTYuNjUyNTk4NiwgMTU3NTAsIDEuNDMyNDQ1ODgzNzUwOTE1NV0sIFsxNjYzNzMwMzk2Ljc1NTcwNzUsIDE1NzU5LCAxLjEyNjA1MzMzMzI4MjQ3MDddLCBbMTY2MzczMDM5Ni44NDk5MDIsIDE1NzY4LCAxLjIwMzUzNTU1Njc5MzIxM10sIFsxNjYzNzMwMzk3LjAzNTM5MjgsIDE1Nzg2LCAxLjQxMTc4MjUwMzEyODA1MThdLCBbMTY2MzczMDM5Ny4xMjUxODU1LCAxNTc5NSwgMS4zMDc0NDMwMjI3Mjc5NjYzXSwgWzE2NjM3MzAzOTcuNTE5MjQyLCAxNTgyMiwgMS4xOTE0MjU1NjE5MDQ5MDcyXSwgWzE2NjM3MzAzOTguMDM4MTQ2LCAxNTg2NywgMS4zNjczMjM1MTc3OTkzNzc0XSwgWzE2NjM3MzAzOTguMTQyMDYzNiwgMTU4NzYsIDEuMjU4NjE2Njg1ODY3MzA5Nl0sIFsxNjYzNzMwMzk4LjMyNTg4NywgMTU4OTQsIDEuMTcxMjQ0MjYzNjQ4OTg2OF0sIFsxNjYzNzMwMzk4LjQxNTMzOCwgMTU5MDMsIDEuMTY1Mjg0ODcyMDU1MDUzN10sIFsxNjYzNzMwMzk4LjU5Mzk1NDYsIDE1OTIxLCAxLjEyMDg1NTgwODI1ODA1NjZdLCBbMTY2MzczMDM5OC43MjE5NjEzLCAxNTkzMCwgMS4zOTY2MTYzMzk2ODM1MzI3XSwgWzE2NjM3MzAzOTguOTA1MDg1LCAxNTk0OCwgMS43MDM3NTM1OTA1ODM4MDEzXSwgWzE2NjM3MzAzOTkuMjgxNDc1MywgMTU5ODQsIDEuMjY1MzQ2NjQ2MzA4ODk5XSwgWzE2NjM3MzAzOTkuMzcyNjY2NiwgMTU5OTMsIDEuMzMwNDMxMzQyMTI0OTM5XSwgWzE2NjM3MzAzOTkuNDk5NzE1OCwgMTYwMDIsIDEuMjMxMDY4MTM0MzA3ODYxM10sIFsxNjYzNzMwMzk5Ljg3NDczNjMsIDE2MDI5LCAxLjUwOTc5NjczODYyNDU3MjhdLCBbMTY2MzczMDM5OS45NjE2MDc1LCAxNjAzOCwgMS41NjE3NjMxNjczODEyODY2XSwgWzE2NjM3MzA0MDAuMjUxMjk1MywgMTYwNjUsIDEuMTkxNTA0NDc4NDU0NTg5OF0sIFsxNjYzNzMwNDAwLjM0MTM0NDQsIDE2MDc0LCAxLjE1NTQyMzI4MzU3Njk2NTNdLCBbMTY2MzczMDQwMC40MjkxMjgyLCAxNjA4MywgMS4zMDAwMTQ2MTUwNTg4OTldLCBbMTY2MzczMDQwMC41MjAyODM1LCAxNjA5MiwgMS4yMDI1MTU5NTk3Mzk2ODVdLCBbMTY2MzczMDQwMC42ODM1MTIyLCAxNjExMCwgMS4zMzY4NjI2ODMyOTYyMDM2XSwgWzE2NjM3MzA0MDAuNzY5NDM0NywgMTYxMTksIDEuMTEzNTg4ODA5OTY3MDQxXSwgWzE2NjM3MzA0MDAuOTUyMjAyOCwgMTYxMzcsIDEuMTQ0ODUyMDQyMTk4MTgxMl0sIFsxNjYzNzMwNDAxLjEyMTQwOTIsIDE2MTU1LCAxLjc1Mjc1ODAyNjEyMzA0NjldLCBbMTY2MzczMDQwMS4zMDk2MTY2LCAxNjE3MywgMS4yNTg0ODAwNzIwMjE0ODQ0XSwgWzE2NjM3MzA0MDEuMzkyMTc5NSwgMTYxODIsIDEuMjQ5OTA4Njg1Njg0MjA0XSwgWzE2NjM3MzA0MDEuODY5NDI0NiwgMTYyMDksIDEuMjc0Nzk3NDM5NTc1MTk1M10sIFsxNjYzNzMwNDAxLjk1MTEyNzUsIDE2MjE4LCAxLjM5ODUwNjA0NTM0MTQ5MTddLCBbMTY2MzczMDQwMi4wNDU2MDYsIDE2MjI3LCAxLjMwNTAxMjgyMjE1MTE4NF0sIFsxNjYzNzMwNDAyLjEzNDEyNTcsIDE2MjM2LCAxLjQ4NjQ0MTAxNjE5NzIwNDZdLCBbMTY2MzczMDQwMi4yMjAzMTgzLCAxNjI0NSwgMS41ODY4ODcxMjEyMDA1NjE1XSwgWzE2NjM3MzA0MDIuNTc5NDUyOCwgMTYyODEsIDEuMjQ5MDg3NTcyMDk3Nzc4M10sIFsxNjYzNzMwNDAyLjc1NzI1NDYsIDE2Mjk5LCAxLjIyODc3ODAwNDY0NjMwMTNdLCBbMTY2MzczMDQwMy4xMDAxNzg1LCAxNjMzNSwgMS4xOTcxOTAwNDYzMTA0MjQ4XSwgWzE2NjM3MzA0MDMuMjkyOTY0NSwgMTYzNTMsIDEuMjM3OTI5MjI0OTY3OTU2NV0sIFsxNjYzNzMwNDAzLjQ2NzkyNiwgMTYzNzEsIDEuMjcyOTIxMzIzNzc2MjQ1MV0sIFsxNjYzNzMwNDAzLjU1NDMwNzcsIDE2MzgwLCAxLjE5NjMxOTkzNzcwNTk5MzddLCBbMTY2MzczMDQwMy44OTU2MDU2LCAxNjQxNiwgMS4zNTM0NDQ4MTQ2ODIwMDY4XSwgWzE2NjM3MzA0MDQuMTUwOTgsIDE2NDQzLCAxLjY2MDc5NTIxMTc5MTk5MjJdLCBbMTY2MzczMDQwNC4yNDI4MDM4LCAxNjQ1MiwgMS41MjI3NDgzNTEwOTcxMDddLCBbMTY2MzczMDQwNC40MTM3ODI2LCAxNjQ3MCwgMS41ODkyOTE2OTE3ODAwOTAzXSwgWzE2NjM3MzA0MDQuNTA1NDQyMSwgMTY0NzksIDEuMjE2Mzg1MDA2OTA0NjAyXSwgWzE2NjM3MzA0MDQuNjcxNTA2LCAxNjQ5NywgMS4xOTA0NTgyOTc3Mjk0OTIyXSwgWzE2NjM3MzA0MDQuNzU2NjkxMiwgMTY1MDYsIDEuMjc0MDgzOTcxOTc3MjMzOV0sIFsxNjYzNzMwNDA0LjgzNzI1NDgsIDE2NTE1LCAxLjI0NzcyNDUzMzA4MTA1NDddLCBbMTY2MzczMDQwNS4wMDcyMDg2LCAxNjUzMywgMS4yNDYxMzc0OTk4MDkyNjUxXSwgWzE2NjM3MzA0MDUuMDk2MTA5NiwgMTY1NDIsIDEuMzk5MjY5NDYxNjMxNzc1XSwgWzE2NjM3MzA0MDUuMTc3MjE2LCAxNjU1MSwgMS4yNzI1NzM1OTAyNzg2MjU1XSwgWzE2NjM3MzA0MDUuNTM0MzU4MywgMTY1ODcsIDEuMTI0NzE1MDg5Nzk3OTczNl1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_05-47-37_8f860c94f07e&tag=Loss%2Ftrain":{"data":"W1sxNjYzNzM5MjU5LjkyMjAwMzUsIDksIDYzLjI4NjgzNDcxNjc5Njg3NV0sIFsxNjYzNzM5MjYwLjA5MjY0NjYsIDI3LCAyOS43NDQ4MTAxMDQzNzAxMTddLCBbMTY2MzczOTI2MC4xNzk5MTAyLCAzNiwgMjMuNjY4MjMxOTY0MTExMzI4XSwgWzE2NjM3MzkyNjAuMjczMTk1NywgNDUsIDE4LjgyMDk1MTQ2MTc5MTk5Ml0sIFsxNjYzNzM5MjYwLjgwNDMzMjcsIDk5LCA1Ljc4MzUzOTI5NTE5NjUzM10sIFsxNjYzNzM5MjYwLjg5MjM4NzIsIDEwOCwgNS42NzY2MDI4NDA0MjM1ODRdLCBbMTY2MzczOTI2MS4yOTUxMjA1LCAxMzUsIDUuNDI0ODkwOTk1MDI1NjM1XSwgWzE2NjM3MzkyNjEuMzg1ODA0NywgMTQ0LCA1LjM2MzA2OTA1NzQ2NDZdLCBbMTY2MzczOTI2MS42NjQxNzA1LCAxNzEsIDUuMTg2NDU2MjAzNDYwNjkzXSwgWzE2NjM3MzkyNjEuNzQ2NDcxNiwgMTgwLCA1LjExMTA2NDQzNDA1MTUxNF0sIFsxNjYzNzM5MjYxLjgyODk2MTgsIDE4OSwgNC45ODI1ODYzODM4MTk1OF0sIFsxNjYzNzM5MjYxLjk4MzA5MzcsIDIwNywgNC45MjY3ODU5NDU4OTIzMzRdLCBbMTY2MzczOTI2Mi4wODMzMTgsIDIxNiwgNC45MzYxNDYyNTkzMDc4NjFdLCBbMTY2MzczOTI2Mi4zODE3NCwgMjQzLCA0LjY2MTcwNjkyNDQzODQ3N10sIFsxNjYzNzM5MjYyLjQ4ODE0MzcsIDI1MiwgNC40Nzg4Njc1MzA4MjI3NTRdLCBbMTY2MzczOTI2Mi42NjUxNDQ3LCAyNzAsIDQuNDMzMzQ1Nzk0Njc3NzM0XSwgWzE2NjM3MzkyNjMuMDE3Njc1NiwgMzA2LCA0LjIzMjA3NDI2MDcxMTY3XSwgWzE2NjM3MzkyNjMuMDg3NTQxNiwgMzE1LCA0LjIzNzUxNTkyNjM2MTA4NF0sIFsxNjYzNzM5MjYzLjI3OTczNiwgMzMzLCA0LjE1MDMwMDk3OTYxNDI1OF0sIFsxNjYzNzM5MjYzLjM2ODE0MzMsIDM0MiwgNC4xODIxMzQ2MjgyOTU4OThdLCBbMTY2MzczOTI2My40NjQ2MTE1LCAzNTEsIDQuMDMzMzk4NjI4MjM0ODYzXSwgWzE2NjM3MzkyNjMuNTUyOTU3OCwgMzYwLCAzLjk4NDg2ODUyNjQ1ODc0MDJdLCBbMTY2MzczOTI2My42NTQzNDI0LCAzNjksIDQuMDU1NDU1MjA3ODI0NzA3XSwgWzE2NjM3MzkyNjQuMzE0MzQzNSwgNDMyLCAzLjYwOTIwNTcyMjgwODgzOF0sIFsxNjYzNzM5MjY0LjQwOTg3NCwgNDQxLCAzLjY3MTE3OTUzMzAwNDc2MDddLCBbMTY2MzczOTI2NC41MDg5ODQsIDQ1MCwgMy41NTIzOTYyOTc0NTQ4MzRdLCBbMTY2MzczOTI2NC42MDYwNzc3LCA0NTksIDMuNTIyNTY3MjcyMTg2Mjc5M10sIFsxNjYzNzM5MjY0LjcxMTUyNTQsIDQ2OCwgMy40ODA4OTQzMjcxNjM2OTYzXSwgWzE2NjM3MzkyNjQuODExMTIyLCA0NzcsIDMuNDgyODkwODQ0MzQ1MDkyOF0sIFsxNjYzNzM5MjY1LjAwMzA5OTQsIDQ5NSwgMy40Mjg5NDgxNjM5ODYyMDZdLCBbMTY2MzczOTI2NS4xMDQ0MjU0LCA1MDQsIDMuMzkwODgyMjUzNjQ2ODUwNl0sIFsxNjYzNzM5MjY1LjI3ODAwNSwgNTIyLCAzLjMwMzY2MTEwODAxNjk2NzhdLCBbMTY2MzczOTI2NS41NzczOTU3LCA1NDksIDMuMTU3NDkxNjgzOTU5OTYxXSwgWzE2NjM3MzkyNjUuNjcxODE1NiwgNTU4LCAzLjA5NzIwMTM0NzM1MTA3NF0sIFsxNjYzNzM5MjY1Ljc0NDY1ODIsIDU2NywgMy4xMjMwODE2ODQxMTI1NDldLCBbMTY2MzczOTI2NS44MjA1OTMsIDU3NiwgMy4wODEwMTk2Mzk5Njg4NzJdLCBbMTY2MzczOTI2NS45ODYzNjc3LCA1OTQsIDMuMDg0NDM2NjU1MDQ0NTU1N10sIFsxNjYzNzM5MjY2LjA3ODU2MDgsIDYwMywgMy4wMzg2MzkwNjg2MDM1MTU2XSwgWzE2NjM3MzkyNjYuMTYzMjIzNSwgNjEyLCAzLjAxMDQ2MjUyMjUwNjcxNF0sIFsxNjYzNzM5MjY2LjI0MzUwMjEsIDYyMSwgMi45NTQ0NjMwMDUwNjU5MThdLCBbMTY2MzczOTI2Ni4zOTgxNzgsIDYzOSwgMi44NzcxOTYzMTE5NTA2ODM2XSwgWzE2NjM3MzkyNjYuNDY5ODMzNCwgNjQ4LCAyLjg0ODEyMDIxMjU1NDkzMTZdLCBbMTY2MzczOTI2Ni42MzY2ODM3LCA2NjYsIDIuODExMzQzNDMxNDcyNzc4M10sIFsxNjYzNzM5MjY2Ljc4Mzc1MjcsIDY4NCwgMi43MjU4NTQzOTY4MjAwNjg0XSwgWzE2NjM3MzkyNjYuOTUzOTc1MiwgNzAyLCAyLjY1MTEzODMwNTY2NDA2MjVdLCBbMTY2MzczOTI2Ny4xMTQ4MTg2LCA3MjAsIDIuNjA0NzExNTMyNTkyNzczNF0sIFsxNjYzNzM5MjY3LjE5ODg5NzgsIDcyOSwgMi41OTIyMTU1MzgwMjQ5MDIzXSwgWzE2NjM3MzkyNjcuNTA1NzE5MiwgNzQ3LCAyLjUzOTYwMjI3OTY2MzA4Nl0sIFsxNjYzNzM5MjY3LjU4NDkzMTEsIDc1NiwgMi41NDMyOTI1MjI0MzA0Ml0sIFsxNjYzNzM5MjY3Ljc1MTI3NjcsIDc3NCwgMi41NTM5MjE5Mzc5NDI1MDVdLCBbMTY2MzczOTI2Ny44MjE2MzY3LCA3ODMsIDIuNDgyMzU4Njk0MDc2NTM4XSwgWzE2NjM3MzkyNjguMDM4NDEsIDgxMCwgMi4zODUwNTMzOTYyMjQ5NzU2XSwgWzE2NjM3MzkyNjguMTMyNywgODE5LCAyLjQxMjYxNDU4Mzk2OTExNl0sIFsxNjYzNzM5MjY4LjQ3ODkyMDUsIDg2NCwgMi4yODA2MDI5MzE5NzYzMTg0XSwgWzE2NjM3MzkyNjguOTM0NjM5MiwgOTAwLCAyLjI4MDY2MDg2NzY5MTA0XSwgWzE2NjM3MzkyNjkuMDA3NzM1LCA5MDksIDIuMzAyNzg5OTI2NTI4OTMwN10sIFsxNjYzNzM5MjY5LjIzNTcwODcsIDkzNiwgMi4xNjI0NzIyNDgwNzczOTI2XSwgWzE2NjM3MzkyNjkuNDQ0NzcwOCwgOTYzLCAyLjEyNTgzMTM2NTU4NTMyN10sIFsxNjYzNzM5MjY5LjUwOTIyMjcsIDk3MiwgMi4xNjE2NjA5MDk2NTI3MV0sIFsxNjYzNzM5MjY5LjY2ODcwNDUsIDk5MCwgMi4wODY2MzcyNTg1Mjk2NjNdLCBbMTY2MzczOTI2OS43NDY2OTUzLCA5OTksIDIuMDkxNzI1MTExMDA3NjkwNF0sIFsxNjYzNzM5MjY5LjgyNDUyMiwgMTAwOCwgMi4wODA5ODI2ODUwODkxMTEzXSwgWzE2NjM3MzkyNzAuMDYxODQ5OCwgMTAzNSwgMi4wNDkwMzQ4MzM5MDgwODFdLCBbMTY2MzczOTI3MC4yMTE1NDAyLCAxMDUzLCAyLjAxMjc1MjA1NjEyMTgyNl0sIFsxNjYzNzM5MjcwLjU5MDUzNDQsIDEwOTgsIDIuMDU4NDA2MTE0NTc4MjQ3XSwgWzE2NjM3MzkyNzAuODg2MzQ5NywgMTEzNCwgMS45Mjk3MzYzNzU4MDg3MTU4XSwgWzE2NjM3MzkyNzAuOTU2NDQ2LCAxMTQzLCAxLjk0ODE5Nzk2MDg1MzU3NjddLCBbMTY2MzczOTI3MS4xMDQ5OTIsIDExNjEsIDEuOTQzOTE5NjU4NjYwODg4N10sIFsxNjYzNzM5MjcxLjE4MTU4NiwgMTE3MCwgMS45MTkwMzMwNTA1MzcxMDk0XSwgWzE2NjM3MzkyNzEuMjUxMTQ1NCwgMTE3OSwgMS44OTUyNDc5MzYyNDg3NzkzXSwgWzE2NjM3MzkyNzEuMzMzNTMwNywgMTE4OCwgMS45MjM0MzI5NDYyMDUxMzkyXSwgWzE2NjM3MzkyNzEuNDAyODEyLCAxMTk3LCAxLjkyMjc4NDQ0NzY2OTk4M10sIFsxNjYzNzM5MjcxLjU0MzAzMzEsIDEyMTUsIDEuOTI0Nzc4Njk5ODc0ODc4XSwgWzE2NjM3MzkyNzEuNjkwMDc5NSwgMTIzMywgMS45NTM0NDg2NTMyMjExMzA0XSwgWzE2NjM3MzkyNzEuNzU2Njg1MywgMTI0MiwgMS44NTc1NzEyNDQyMzk4MDcxXSwgWzE2NjM3MzkyNzIuMTczNzcwNywgMTI5NiwgMS44OTA3MDcxMzUyMDA1MDA1XSwgWzE2NjM3MzkyNzIuMjQ5MDEzNCwgMTMwNSwgMS44ODkxMTAyMDc1NTc2NzgyXSwgWzE2NjM3MzkyNzIuNDAwMTEwNSwgMTMyMywgMS44NDkxODE2NTIwNjkwOTE4XSwgWzE2NjM3MzkyNzIuNDc0MTQzLCAxMzMyLCAxLjgyMzM2OTg2MDY0OTEwODldLCBbMTY2MzczOTI3Mi43MDEzMDEsIDEzNTksIDEuODAxOTAzNDg2MjUxODMxXSwgWzE2NjM3MzkyNzMuMjE3NSwgMTQyMiwgMS44MTE0NDM2ODY0ODUyOTA1XSwgWzE2NjM3MzkyNzMuMzU5NzA3NCwgMTQ0MCwgMS43NTM3MjcwNzg0Mzc4MDUyXSwgWzE2NjM3MzkyNzMuNDQ5NTg0MiwgMTQ0OSwgMS43MzIxNTM4OTI1MTcwODk4XSwgWzE2NjM3MzkyNzMuNjkyMzc0MiwgMTQ2NywgMS43NTE3OTM3NDIxNzk4NzA2XSwgWzE2NjM3MzkyNzMuODI4MzMsIDE0NzYsIDEuNzQwMjUzMzI5Mjc3MDM4Nl0sIFsxNjYzNzM5MjczLjk4MzAxMDgsIDE0ODUsIDEuNzg1NTUyMjYzMjU5ODg3N10sIFsxNjYzNzM5Mjc0LjI4MzAxNDgsIDE1MDMsIDEuNzY4MjMxOTg3OTUzMTg2XSwgWzE2NjM3MzkyNzQuNjQ1Njk4NSwgMTUzOSwgMS43MjI4MDc1MjY1ODg0NF0sIFsxNjYzNzM5Mjc0Ljc1OTIzMjUsIDE1NDgsIDEuNzIyNzc5ODcwMDMzMjY0Ml0sIFsxNjYzNzM5Mjc0Ljg1MTMzOCwgMTU1NywgMS43MzIzMjEwMjM5NDEwNF0sIFsxNjYzNzM5Mjc1LjA4MjA3MSwgMTU4NCwgMS43ODUwMzc1MTc1NDc2MDc0XSwgWzE2NjM3MzkyNzUuMTU1Mjc0LCAxNTkzLCAxLjc0NDA5NjE1OTkzNDk5NzZdLCBbMTY2MzczOTI3NS4yODIwODQ1LCAxNjAyLCAxLjY5MjAzMDU0OTA0OTM3NzRdLCBbMTY2MzczOTI3NS4zODA5MjU3LCAxNjExLCAxLjcwOTE2MTg3NzYzMjE0MTFdLCBbMTY2MzczOTI3NS41NTcwMDgzLCAxNjI5LCAxLjcyMTAyMjI0ODI2ODEyNzRdLCBbMTY2MzczOTI3NS42NTA4NzgyLCAxNjM4LCAxLjc3MzE3MDk0ODAyODU2NDVdLCBbMTY2MzczOTI3NS44NDY3Nzc3LCAxNjU2LCAxLjcyNDg2MTAyNTgxMDI0MTddLCBbMTY2MzczOTI3Ni4xODA4ODM2LCAxNjY1LCAxLjczNTE3OTMwNTA3NjU5OTFdLCBbMTY2MzczOTI3Ni4yNzExNzUsIDE2NzQsIDEuNzIwNTk1NDc5MDExNTM1Nl0sIFsxNjYzNzM5Mjc2LjM2OTM4NjcsIDE2ODMsIDEuNzM5NTIxNjIyNjU3Nzc1OV0sIFsxNjYzNzM5Mjc2LjY1NTcyMjEsIDE3MTAsIDEuNjkxNzIyMTU0NjE3MzA5Nl0sIFsxNjYzNzM5Mjc2Ljc0OTM1NDgsIDE3MTksIDEuNzA2MjgzODA3NzU0NTE2Nl0sIFsxNjYzNzM5Mjc2Ljg0NDA0MSwgMTcyOCwgMS42OTQyNjEzMTI0ODQ3NDEyXSwgWzE2NjM3MzkyNzYuOTM3NzA2NywgMTczNywgMS43MjU1NzAwODI2NjQ0ODk3XSwgWzE2NjM3MzkyNzcuMjE5MTUyNSwgMTc2NCwgMS43MDIyMDUzMDAzMzExMTU3XSwgWzE2NjM3MzkyNzcuNDU1NzA5MiwgMTc5MSwgMS42Nzc0NTU5MDIwOTk2MDk0XSwgWzE2NjM3MzkyNzcuNTI4NDE3OCwgMTgwMCwgMS43MDY0MDcxODkzNjkyMDE3XSwgWzE2NjM3MzkyNzcuNjA2MDEzNSwgMTgwOSwgMS42MzIyNDIyMDI3NTg3ODldLCBbMTY2MzczOTI3Ny43NjIwMTk2LCAxODI3LCAxLjY3MDgxOTE2MzMyMjQ0ODddLCBbMTY2MzczOTI3Ny44MjY3NDQsIDE4MzYsIDEuNzQ1MjM0ODQ3MDY4Nzg2Nl0sIFsxNjYzNzM5Mjc3Ljg5NDEwMjMsIDE4NDUsIDEuODUwMjI1MjEwMTg5ODE5M10sIFsxNjYzNzM5Mjc3Ljk1OTQyNDUsIDE4NTQsIDEuODAzMjA5MDY2MzkwOTkxMl0sIFsxNjYzNzM5Mjc4LjEwNTQyNzUsIDE4NzIsIDEuNjYwNDc1OTY5MzE0NTc1Ml0sIFsxNjYzNzM5Mjc4LjI3NDIwMTYsIDE4OTAsIDEuNjQ0NjU2Nzc3MzgxODk3XSwgWzE2NjM3MzkyNzguNTU0NzkxNywgMTkwOCwgMS42MjEyNjE1OTY2Nzk2ODc1XSwgWzE2NjM3MzkyNzguNzEzMTY3LCAxOTI2LCAxLjYyMDA4Nzc0MjgwNTQ4MV0sIFsxNjYzNzM5Mjc4Ljg2NTUzODQsIDE5NDQsIDEuNjMwODEzNDc5NDIzNTIzXSwgWzE2NjM3MzkyNzguOTM5OTI2LCAxOTUzLCAxLjYzMDczODczNTE5ODk3NDZdLCBbMTY2MzczOTI3OS4wODgzNTQsIDE5NzEsIDEuNjUwNzAwMDkyMzE1NjczOF0sIFsxNjYzNzM5Mjc5LjE1NDU5MjgsIDE5ODAsIDEuNjg4MTM2OTM1MjM0MDY5OF0sIFsxNjYzNzM5Mjc5LjIyMDQzNTQsIDE5ODksIDEuNjMwMjAwMjY2ODM4MDczN10sIFsxNjYzNzM5Mjc5LjI4NzQyMjQsIDE5OTgsIDEuNjUwMTEzNTgyNjExMDg0XSwgWzE2NjM3MzkyNzkuMzU0NzI2MywgMjAwNywgMS42MTQzNjgyMDAzMDIxMjRdLCBbMTY2MzczOTI3OS40OTQ1OTI3LCAyMDI1LCAxLjYxNjg5ODg5NDMwOTk5NzZdLCBbMTY2MzczOTI3OS41NjI3NTUzLCAyMDM0LCAxLjYxOTgwODQzNTQ0MDA2MzVdLCBbMTY2MzczOTI3OS44NzIyMjQzLCAyMDcwLCAxLjY1OTMwOTc0NDgzNDldLCBbMTY2MzczOTI4MC4wNjgzMTQsIDIwOTcsIDEuNjM5MDUxNjc1Nzk2NTA4OF0sIFsxNjYzNzM5MjgwLjI4ODA4MiwgMjEyNCwgMS42ODM0NjQ1MjcxMzAxMjddLCBbMTY2MzczOTI4MC4zNTU2NDc2LCAyMTMzLCAxLjYxMzgyNjM5NDA4MTExNTddLCBbMTY2MzczOTI4MC40MjE1MjM2LCAyMTQyLCAxLjY1MTI0ODY5MzQ2NjE4NjVdLCBbMTY2MzczOTI4MC41MTY4OTYsIDIxNTEsIDEuNTgyNjMxNTg3OTgyMTc3N10sIFsxNjYzNzM5MjgwLjYwOTkwMjEsIDIxNjAsIDEuNjEwNzE4NzI3MTExODE2NF0sIFsxNjYzNzM5MjgwLjgwNjQ4NDUsIDIxNzgsIDEuNjA3MzM0MTM2OTYyODkwNl0sIFsxNjYzNzM5MjgwLjg4MTkwMSwgMjE4NywgMS41NTAxNDM5NTcxMzgwNjE1XSwgWzE2NjM3MzkyODEuMTA3NzEwOCwgMjIwNSwgMS42MTI5MDI2NDEyOTYzODY3XSwgWzE2NjM3MzkyODEuMTg0NjcyNiwgMjIxNCwgMS42Mzc4MjM5MzkzMjM0MjUzXSwgWzE2NjM3MzkyODEuMjkxNzIxNiwgMjIyMywgMS41OTc2NTg4NzI2MDQzNzAxXSwgWzE2NjM3MzkyODEuMzU5ODQyMywgMjIzMiwgMS41OTk2ODk5NjA0Nzk3MzYzXSwgWzE2NjM3MzkyODEuOTE2MjYyNiwgMjI3NywgMS41NTA0OTM1OTc5ODQzMTRdLCBbMTY2MzczOTI4MS45OTcwNTgyLCAyMjg2LCAxLjU2MDE4ODc3MDI5NDE4OTVdLCBbMTY2MzczOTI4Mi4wODI1NTU1LCAyMjk1LCAxLjU2MDk4OTg1NjcxOTk3MDddLCBbMTY2MzczOTI4Mi4zODAwNzUyLCAyMzIyLCAxLjU3NDIzMzE3NDMyNDAzNTZdLCBbMTY2MzczOTI4Mi40NTMzMzQsIDIzMzEsIDEuNjMwMjkxNTgxMTUzODY5Nl0sIFsxNjYzNzM5MjgyLjUyNDQ0MDMsIDIzNDAsIDEuNTMxNzA1MjYwMjc2Nzk0NF0sIFsxNjYzNzM5MjgyLjYwNDc3NSwgMjM0OSwgMS41ODA1Mzk1ODQxNTk4NTFdLCBbMTY2MzczOTI4Mi43ODQ0MjcyLCAyMzY3LCAxLjU2NDc0MDQxOTM4NzgxNzRdLCBbMTY2MzczOTI4My4zMzA1NjE5LCAyNDIxLCAxLjU0MzA3MTg2NjAzNTQ2MTRdLCBbMTY2MzczOTI4My42NzY4MDM2LCAyNDM5LCAxLjU3NDQ3MDc1ODQzODExMDRdLCBbMTY2MzczOTI4My43NjM1OTI1LCAyNDQ4LCAxLjU0NzE1MzgzMDUyODI1OTNdLCBbMTY2MzczOTI4NC4wOTA1MDE1LCAyNDc1LCAxLjUwMjQzNDQ5MjExMTIwNl0sIFsxNjYzNzM5Mjg0LjE5MzgwNjQsIDI0ODQsIDEuNTUzNDU4OTI5MDYxODg5Nl0sIFsxNjYzNzM5Mjg0LjI5NDc1ODMsIDI0OTMsIDEuNTMwMzkyMTY5OTUyMzkyNl0sIFsxNjYzNzM5Mjg0LjQ4MDc3NTYsIDI1MTEsIDEuNTU2OTUyOTUzMzM4NjIzXSwgWzE2NjM3MzkyODQuNjk0NTgxMywgMjUyOSwgMS41NzkzOTQ4MTczNTIyOTVdLCBbMTY2MzczOTI4NC44Mzk3NTQ4LCAyNTQ3LCAxLjUxNTgzNTY0MjgxNDYzNjJdLCBbMTY2MzczOTI4NC45MTIzMTQ3LCAyNTU2LCAxLjUwMjUyNDEzNzQ5Njk0ODJdLCBbMTY2MzczOTI4NS4wNjQ2Mjg0LCAyNTc0LCAxLjU3NDA3OTM5NDM0MDUxNTFdLCBbMTY2MzczOTI4NS4yMjI2MzM0LCAyNTkyLCAxLjU0MjgxOTk3NjgwNjY0MDZdLCBbMTY2MzczOTI4NS4yOTM2OTgzLCAyNjAxLCAxLjUxNjE3NDY3NDAzNDExODddLCBbMTY2MzczOTI4NS40MzIzMzc1LCAyNjE5LCAxLjUwMTA5OTIyODg1ODk0NzhdLCBbMTY2MzczOTI4NS41MDE1MzczLCAyNjI4LCAxLjUxMzIyMTAyNTQ2NjkxOV0sIFsxNjYzNzM5Mjg1Ljc4MDMyMzMsIDI2NjQsIDEuNTgyMTgwMjYxNjExOTM4NV0sIFsxNjYzNzM5Mjg1Ljg1MTU3NDQsIDI2NzMsIDEuNjQ0Nzc1MDMyOTk3MTMxM10sIFsxNjYzNzM5Mjg1LjkxNzE5MzQsIDI2ODIsIDEuNDc5NDYyMTQ2NzU5MDMzMl0sIFsxNjYzNzM5Mjg1Ljk4NTUyMzUsIDI2OTEsIDEuNTYzOTk3ODY0NzIzMjA1Nl0sIFsxNjYzNzM5Mjg2LjA2MDUwNCwgMjcwMCwgMS41NjU2NjU4NDExMDI2XSwgWzE2NjM3MzkyODYuNTM2NzgwNiwgMjc0NSwgMS40Njc3NTM0MTAzMzkzNTU1XSwgWzE2NjM3MzkyODYuNjc4NjU1NCwgMjc2MywgMS40NzMwMzEwNDQwMDYzNDc3XSwgWzE2NjM3MzkyODYuNzQ3MzEzNSwgMjc3MiwgMS41MDM1MzUzODk5MDAyMDc1XSwgWzE2NjM3MzkyODYuODE2OTQ3LCAyNzgxLCAxLjQ3MjI3MDg0NjM2Njg4MjNdLCBbMTY2MzczOTI4Ni44OTAzODgzLCAyNzkwLCAxLjUwODEwNTk5MzI3MDg3NF0sIFsxNjYzNzM5Mjg3LjA5ODEyOCwgMjgxNywgMS40ODkwMDQ5Njk1OTY4NjI4XSwgWzE2NjM3MzkyODcuMTcwNjYyMiwgMjgyNiwgMS41NjU2MDAzOTUyMDI2MzY3XSwgWzE2NjM3MzkyODcuMzIwMzA4NCwgMjg0NCwgMS41Mzc3NDA1ODgxODgxNzE0XSwgWzE2NjM3MzkyODcuMzk2MzQwOCwgMjg1MywgMS41MDQyOTcxMzcyNjA0MzddLCBbMTY2MzczOTI4Ny41NDcwMDc2LCAyODcxLCAxLjQ2NDYxNDE1MjkwODMyNTJdLCBbMTY2MzczOTI4Ny42MTYwMDg1LCAyODgwLCAxLjUyODA1NzMzNjgwNzI1MV0sIFsxNjYzNzM5Mjg4LjA3MjA5OCwgMjkwNywgMS41MDc4NDg5NzgwNDI2MDI1XSwgWzE2NjM3MzkyODguMjI5Mjk1NywgMjkyNSwgMS40Njg1NDkwMTMxMzc4MTc0XSwgWzE2NjM3MzkyODguNjc2MTU4MiwgMjk3MCwgMS40NDAwODQyMTg5Nzg4ODE4XSwgWzE2NjM3MzkyODguNzY2NzM0OCwgMjk3OSwgMS40NzkzMzc0NTM4NDIxNjNdLCBbMTY2MzczOTI4OC44NTU2MDU2LCAyOTg4LCAxLjQ4MjM1MjQ5NTE5MzQ4MTRdLCBbMTY2MzczOTI4OC45NTMyMDQ2LCAyOTk3LCAxLjQ3MDg5NTI5MDM3NDc1NTldLCBbMTY2MzczOTI4OS4wNDI4NTYyLCAzMDA2LCAxLjQ1NTcxNjEzMzExNzY3NThdLCBbMTY2MzczOTI4OS4zNDk4ODIxLCAzMDQyLCAxLjQ2OTc1MDg4MTE5NTA2ODRdLCBbMTY2MzczOTI4OS40MjQ2NTUsIDMwNTEsIDEuNDkxOTM5MzA2MjU5MTU1M10sIFsxNjYzNzM5Mjg5LjU3Mjc4NDIsIDMwNjksIDEuNDMxNDUyNTEyNzQxMDg4OV0sIFsxNjYzNzM5Mjg5LjkyMjgwNDYsIDMwOTYsIDEuNDgxMTE1MjIxOTc3MjMzOV0sIFsxNjYzNzM5Mjg5Ljk5MTc1LCAzMTA1LCAxLjQ0NjMwNDc5ODEyNjIyMDddLCBbMTY2MzczOTI5MC4wNjI0NTMsIDMxMTQsIDEuNDc3MjM3NTgyMjA2NzI2XSwgWzE2NjM3MzkyOTAuMTM3NzUyLCAzMTIzLCAxLjQ3NTY4MzU2OTkwODE0Ml0sIFsxNjYzNzM5MjkwLjMwNjUxODgsIDMxNDEsIDEuNDY1NDUxNTk4MTY3NDE5NF0sIFsxNjYzNzM5MjkwLjM3NjkwMzgsIDMxNTAsIDEuNDQxNTE5OTc1NjYyMjMxNF0sIFsxNjYzNzM5MjkwLjQ1MjIxOCwgMzE1OSwgMS40MTI1NDg1NDIwMjI3MDVdLCBbMTY2MzczOTI5MC41OTUzNjMxLCAzMTc3LCAxLjQzOTYyNTg1OTI2MDU1OV0sIFsxNjYzNzM5MjkwLjY2NDAzMzIsIDMxODYsIDEuNDQzOTk4NTc1MjEwNTcxM10sIFsxNjYzNzM5MjkwLjczMjkyNSwgMzE5NSwgMS40MTM0NTMzNDA1MzAzOTU1XSwgWzE2NjM3MzkyOTAuODA3NDkzMiwgMzIwNCwgMS40MjMxNTE5Njk5MDk2NjhdLCBbMTY2MzczOTI5MS4xNDA1MTAzLCAzMjIyLCAxLjQ2MDc0NjUyNjcxODEzOTZdLCBbMTY2MzczOTI5MS4yMjM4MjgsIDMyMzEsIDEuNDMyOTEyNTg4MTE5NTA2OF0sIFsxNjYzNzM5MjkxLjQwMDU0NywgMzI0OSwgMS40MTM4NzkyNzUzMjE5NjA0XSwgWzE2NjM3MzkyOTEuNTUzMjk2LCAzMjY3LCAxLjQwNjQ2MDY0MjgxNDYzNjJdLCBbMTY2MzczOTI5MS42Mjk0NDM2LCAzMjc2LCAxLjQxMTMzMTE3Njc1NzgxMjVdLCBbMTY2MzczOTI5MS43MDQ1MDM1LCAzMjg1LCAxLjQxNjk0NzEyNjM4ODU0OThdLCBbMTY2MzczOTI5MS43ODA3ODI3LCAzMjk0LCAxLjQzMDU5MTQ2NDA0MjY2MzZdLCBbMTY2MzczOTI5MS44NTIxMTQyLCAzMzAzLCAxLjQ0ODk1ODI3NzcwMjMzMTVdLCBbMTY2MzczOTI5MS45Mjg1NDI2LCAzMzEyLCAxLjQyNjQxMDY3NTA0ODgyODFdLCBbMTY2MzczOTI5Mi4wMDc0NjEsIDMzMjEsIDEuNDAyNTYzOTI5NTU3ODAwM10sIFsxNjYzNzM5MjkyLjU1MzI5NjgsIDMzNzUsIDEuNDEyNjQ1MjIwNzU2NTMwOF0sIFsxNjYzNzM5MjkyLjcyNjkyOTIsIDMzODQsIDEuNDA2NjgyMDE0NDY1MzMyXSwgWzE2NjM3MzkyOTIuOTIzNjM5NSwgMzQwMiwgMS40MDQyMjE3NzMxNDc1ODNdLCBbMTY2MzczOTI5My4wMTI1ODg1LCAzNDExLCAxLjQwMDc0MDk4MTEwMTk4OTddLCBbMTY2MzczOTI5My4zMzIzOTU4LCAzNDQ3LCAxLjM3MzY3MTA1NDg0MDA4OF0sIFsxNjYzNzM5MjkzLjU0MzIxMSwgMzQ2NSwgMS40NTUxNjg4NDMyNjkzNDgxXSwgWzE2NjM3MzkyOTMuNjI1Njg3NiwgMzQ3NCwgMS40MzQwNzM0NDgxODExNTIzXSwgWzE2NjM3MzkyOTMuNzA1Njg4MiwgMzQ4MywgMS40MDYwMDU4NTkzNzVdLCBbMTY2MzczOTI5My45NjM4NDkzLCAzNTEwLCAxLjM3NTA1NTE5MzkwMTA2Ml0sIFsxNjYzNzM5Mjk0LjAzNjUxNTIsIDM1MTksIDEuNDM3NDI5MTg5NjgyMDA2OF0sIFsxNjYzNzM5Mjk0LjEyMTAwMDUsIDM1MjgsIDEuNDUxODgxNTI3OTAwNjk1OF0sIFsxNjYzNzM5Mjk0LjIwMzA0ODcsIDM1MzcsIDEuMzYzMTUzODE1MjY5NDcwMl0sIFsxNjYzNzM5Mjk0LjI4NTkyNzgsIDM1NDYsIDEuMzc5NTYxNzgxODgzMjM5N10sIFsxNjYzNzM5Mjk0LjM3NTA3MDgsIDM1NTUsIDEuMzM4NjYxMDc0NjM4MzY2N10sIFsxNjYzNzM5Mjk0LjQ1MjQ5MjUsIDM1NjQsIDEuMzk1MjkxMjA5MjIwODg2Ml0sIFsxNjYzNzM5Mjk0LjUzMzcsIDM1NzMsIDEuNDAzODMyNTU0ODE3MTk5N10sIFsxNjYzNzM5Mjk0LjYxMDE3OCwgMzU4MiwgMS4zNzYzODE5OTMyOTM3NjIyXSwgWzE2NjM3MzkyOTQuNjkxMDgwMywgMzU5MSwgMS4zNTk1MjQ5NjUyODYyNTQ5XSwgWzE2NjM3MzkyOTQuNzY2NzUyNywgMzYwMCwgMS4zOTkzNDAwMzM1MzExODldLCBbMTY2MzczOTI5NC45Mjg3MDkzLCAzNjE4LCAxLjM2NDUyNTQzNzM1NTA0MTVdLCBbMTY2MzczOTI5NS4wMTIwNzUyLCAzNjI3LCAxLjQxMzc3OTg1NDc3NDQ3NV0sIFsxNjYzNzM5Mjk1LjE1ODY2ODgsIDM2NDUsIDEuMzYzOTAxMDE5MDk2Mzc0NV0sIFsxNjYzNzM5Mjk1LjMwMjA0NDQsIDM2NjMsIDEuMzQ3MDY2NjQwODUzODgxOF0sIFsxNjYzNzM5Mjk1LjQ0NjUwNjcsIDM2ODEsIDEuMzc4MTYwNzE1MTAzMTQ5NF0sIFsxNjYzNzM5Mjk1LjUyMzAxODgsIDM2OTAsIDEuMzgzMDAzMTE1NjUzOTkxN10sIFsxNjYzNzM5Mjk1LjczOTUwNSwgMzcxNywgMS4zODYyMzA4MjYzNzc4Njg3XSwgWzE2NjM3MzkyOTUuODA3NzE5NywgMzcyNiwgMS4zNjMzMjUzNTc0MzcxMzM4XSwgWzE2NjM3MzkyOTUuODc3MjA0MiwgMzczNSwgMS4zNTQxMDc3Mzc1NDExOTg3XSwgWzE2NjM3MzkyOTUuOTUxOTM2LCAzNzQ0LCAxLjM0NjY2NjIxNjg1MDI4MDhdLCBbMTY2MzczOTI5Ni4yMDg0MTUzLCAzNzcxLCAxLjQwNjQzNTYwODg2MzgzMDZdLCBbMTY2MzczOTI5Ni40NTc5NDk0LCAzNzgwLCAxLjQwODYwMTk5OTI4MjgzN10sIFsxNjYzNzM5Mjk2LjcyOTM3NDQsIDM3OTgsIDEuNDgxMjkyNDg2MTkwNzk2XSwgWzE2NjM3MzkyOTYuODI0NjQ2MiwgMzgwNywgMS40NTgwOTczMzg2NzY0NTI2XSwgWzE2NjM3MzkyOTcuMDY5NjkzLCAzODM0LCAxLjM3MjcwODIwMTQwODM4NjJdLCBbMTY2MzczOTI5Ny4xNTA1Mjg3LCAzODQzLCAxLjM1MjIyNDcwNzYwMzQ1NDZdLCBbMTY2MzczOTI5Ny41MTQwOTYsIDM4NzksIDEuNDI2OTE2NDgwMDY0MzkyXSwgWzE2NjM3MzkyOTcuNjAwOTI0NSwgMzg4OCwgMS40ODQ1MDU0MTQ5NjI3Njg2XSwgWzE2NjM3MzkyOTcuODM4OTc4OCwgMzkxNSwgMS4zMzIwNTU1Njg2OTUwNjg0XSwgWzE2NjM3MzkyOTcuOTIxNzAxMiwgMzkyNCwgMS4zMjQ5NDE4NzM1NTA0MTVdLCBbMTY2MzczOTI5OC4wMDAzMDAyLCAzOTMzLCAxLjQyMDA5NDAxMzIxNDExMTNdLCBbMTY2MzczOTI5OC4wOTQ2MzIsIDM5NDIsIDEuNDA3MTAyNTg0ODM4ODY3Ml0sIFsxNjYzNzM5Mjk4LjE2ODgwNTgsIDM5NTEsIDEuMzY2MzgwNDUzMTA5NzQxMl0sIFsxNjYzNzM5Mjk4LjI0NDE1MDksIDM5NjAsIDEuNDQyMTMwNTY1NjQzMzEwNV0sIFsxNjYzNzM5Mjk4LjMyMTQ5MzksIDM5NjksIDEuMzk3NTMwMzE3MzA2NTE4Nl0sIFsxNjYzNzM5Mjk4LjM5MjA4OTEsIDM5NzgsIDEuNDE1NTA4MTUxMDU0MzgyM10sIFsxNjYzNzM5Mjk4LjczMTY0MTgsIDM5OTYsIDEuMzQwOTMxMDU3OTI5OTkyN10sIFsxNjYzNzM5Mjk4LjgwMDM4NzksIDQwMDUsIDEuMzQ5MzY5MTY4MjgxNTU1Ml0sIFsxNjYzNzM5Mjk4Ljg3Mzg0ODQsIDQwMTQsIDEuMzU1NTU3MjAzMjkyODQ2N10sIFsxNjYzNzM5Mjk4Ljk0NjIwNzMsIDQwMjMsIDEuMzI5MDg5NzYwNzgwMzM0NV0sIFsxNjYzNzM5Mjk5LjIzMTk2OTYsIDQwNTksIDEuMzYxMjcyNDU0MjYxNzc5OF0sIFsxNjYzNzM5Mjk5LjMwODc2MTYsIDQwNjgsIDEuMzcyNzY2Mzc1NTQxNjg3XSwgWzE2NjM3MzkyOTkuMzc2NjgwOSwgNDA3NywgMS4zMjI5ODc0MzcyNDgyM10sIFsxNjYzNzM5Mjk5LjQ0NDEyMTYsIDQwODYsIDEuMzM1ODIwNTU1Njg2OTUwN10sIFsxNjYzNzM5Mjk5LjUxNDk2ODIsIDQwOTUsIDEuMzExMTIyNjU1ODY4NTMwM10sIFsxNjYzNzM5Mjk5LjY4NTM0NzMsIDQxMTMsIDEuMzUxMzE4NTk3NzkzNTc5XSwgWzE2NjM3MzkyOTkuODI2MDY4NiwgNDEzMSwgMS4zMjk1NDg0NzgxMjY1MjU5XSwgWzE2NjM3MzkyOTkuOTg1NDA0LCA0MTQ5LCAxLjMzMjM4NjYxMjg5MjE1MDldLCBbMTY2MzczOTMwMC4wNTY2ODA3LCA0MTU4LCAxLjMyMDc3NDc5MzYyNDg3OF0sIFsxNjYzNzM5MzAwLjEyMzk2NzQsIDQxNjcsIDEuNDMxODkxNzk4OTczMDgzNV0sIFsxNjYzNzM5MzAwLjI2NTM1MjcsIDQxODUsIDEuMzQ4MDUwMjM2NzAxOTY1M10sIFsxNjYzNzM5MzAwLjQ3MDM4OTgsIDQxOTQsIDEuMjk4NDc4MTI2NTI1ODc5XSwgWzE2NjM3MzkzMDAuNzEwNTQ0LCA0MjAzLCAxLjM5NTg2Mzg5MDY0Nzg4ODJdLCBbMTY2MzczOTMwMC44Nzg1MDI4LCA0MjIxLCAxLjI5Mjc3ODczMDM5MjQ1Nl0sIFsxNjYzNzM5MzAxLjA1Nzc4NSwgNDIzOSwgMS4zMTk3OTcwMzkwMzE5ODI0XSwgWzE2NjM3MzkzMDEuMTQwMjIyMywgNDI0OCwgMS4zNDM5NDkwNzk1MTM1NDk4XSwgWzE2NjM3MzkzMDEuMzkwNzY3LCA0Mjc1LCAxLjMxOTI5ODk4MjYyMDIzOTNdLCBbMTY2MzczOTMwMS40NjIyOTk4LCA0Mjg0LCAxLjI5Mzg3OTg2NjYwMDAzNjZdLCBbMTY2MzczOTMwMS43MDQ5MjU1LCA0MzExLCAxLjMxNTY4MjI5MTk4NDU1OF0sIFsxNjYzNzM5MzAxLjc5NDMzLCA0MzIwLCAxLjMwODcwNDQ5NTQyOTk5MjddLCBbMTY2MzczOTMwMS44NjczNzI1LCA0MzI5LCAxLjMxMTk1NDE0MDY2MzE0N10sIFsxNjYzNzM5MzAxLjk0OTAwODUsIDQzMzgsIDEuMzIyNjIwODY4NjgyODYxM10sIFsxNjYzNzM5MzAyLjAyNjM1ODYsIDQzNDcsIDEuMzAyMDA2MzYzODY4NzEzNF0sIFsxNjYzNzM5MzAyLjEwMjA5MDYsIDQzNTYsIDEuMzQ0NjIwOTQzMDY5NDU4XSwgWzE2NjM3MzkzMDIuMTcwNzMxOCwgNDM2NSwgMS4yOTMzMzgwNjAzNzkwMjgzXSwgWzE2NjM3MzkzMDIuMzE0MDcxLCA0MzgzLCAxLjM2MDcxNDkxMjQxNDU1MDhdLCBbMTY2MzczOTMwMi4zODIwNTEsIDQzOTIsIDEuMzAzNTUwNDgxNzk2MjY0Nl0sIFsxNjYzNzM5MzAyLjQ1NDI3MTYsIDQ0MDEsIDEuMjg1NDkzMjU0NjYxNTZdLCBbMTY2MzczOTMwMi41MzQwMTMzLCA0NDEwLCAxLjMyODQxNDU1OTM2NDMxODhdLCBbMTY2MzczOTMwMi42ODEzMzQ1LCA0NDI4LCAxLjMyODUwNjM1MDUxNzI3M10sIFsxNjYzNzM5MzAyLjg5MTAyMDUsIDQ0NTUsIDEuMjgyNDk5MTk0MTQ1MjAyNl0sIFsxNjYzNzM5MzAzLjA0OTc4MywgNDQ2NCwgMS4yNzkzODE1MTM1OTU1ODFdLCBbMTY2MzczOTMwMy40NzA1Mjg0LCA0NDkxLCAxLjMwNDkwMzc0NTY1MTI0NTFdLCBbMTY2MzczOTMwMy42OTQzMzEsIDQ1MTgsIDEuMjg3ODAyNjk2MjI4MDI3M10sIFsxNjYzNzM5MzAzLjc3MjM5MzcsIDQ1MjcsIDEuMjgxMjg3Nzg5MzQ0Nzg3Nl0sIFsxNjYzNzM5MzAzLjg1NTAxOTYsIDQ1MzYsIDEuMzYzNTg4MzMzMTI5ODgyOF0sIFsxNjYzNzM5MzA0LjA3Nzk4MzksIDQ1NjMsIDEuMzQ0MjE4MTM0ODgwMDY2XSwgWzE2NjM3MzkzMDQuMzUwNjY0MSwgNDU4MSwgMS4yNzU2MjM3OTgzNzAzNjEzXSwgWzE2NjM3MzkzMDQuNDYxNzA0LCA0NTkwLCAxLjM0NjQ2NzQ5NDk2NDU5OTZdLCBbMTY2MzczOTMwNC41NDg2NjUsIDQ1OTksIDEuMjg3MDU5MzA3MDk4Mzg4N10sIFsxNjYzNzM5MzA0LjY0MTE2MjYsIDQ2MDgsIDEuMjg1MTMzMjQyNjA3MTE2N10sIFsxNjYzNzM5MzA0Ljc0NDgyNDIsIDQ2MTcsIDEuMzEzMDg4NjU1NDcxODAxOF0sIFsxNjYzNzM5MzA0LjgzNTUxODQsIDQ2MjYsIDEuMzE0NDc2OTY2ODU3OTEwMl0sIFsxNjYzNzM5MzA0LjkxNjYyLCA0NjM1LCAxLjM1Mjg1ODc4MTgxNDU3NTJdLCBbMTY2MzczOTMwNS4wNTg1NTYsIDQ2NTMsIDEuMzc5OTQwMzkwNTg2ODUzXSwgWzE2NjM3MzkzMDUuMTI3ODc1MywgNDY2MiwgMS40NDUzODU4MTM3MTMwNzM3XSwgWzE2NjM3MzkzMDUuMjExNDQ1NiwgNDY3MSwgMS4zNjgxMDU2NDk5NDgxMjAxXSwgWzE2NjM3MzkzMDUuMjgxMzkyMywgNDY4MCwgMS4zOTQ0MzI3ODMxMjY4MzFdLCBbMTY2MzczOTMwNS40MDIwNTUzLCA0Njg5LCAxLjMxNDI3NzUyOTcxNjQ5MTddLCBbMTY2MzczOTMwNS40ODM2MzYsIDQ2OTgsIDEuMzA3NjgxMDgzNjc5MTk5Ml0sIFsxNjYzNzM5MzA1LjYxOTM5MTcsIDQ3MTYsIDEuMjcxMzczOTg3MTk3ODc2XSwgWzE2NjM3MzkzMDYuNDQ2NzM5LCA0Nzc5LCAxLjI1Mzc3MjQ5NzE3NzEyNF0sIFsxNjYzNzM5MzA2LjcxNDQxNiwgNDgwNiwgMS4yMzQzODUwMTM1ODAzMjIzXSwgWzE2NjM3MzkzMDYuNzg4MTE5OCwgNDgxNSwgMS4yOTI4ODM3NTM3NzY1NTAzXSwgWzE2NjM3MzkzMDYuODU4NjczLCA0ODI0LCAxLjI2Njg2NzYzNzYzNDI3NzNdLCBbMTY2MzczOTMwNi45NTI5MTIzLCA0ODMzLCAxLjI1MDc3NDI2NDMzNTYzMjNdLCBbMTY2MzczOTMwNy4wNDQwNTM4LCA0ODQyLCAxLjI2ODk3ODgzNDE1MjIyMTddLCBbMTY2MzczOTMwNy4xMjQ4ODEzLCA0ODUxLCAxLjI4MzkwOTA4MjQxMjcxOTddLCBbMTY2MzczOTMwNy4xOTI4MDk2LCA0ODYwLCAxLjI3MTY5NTczMzA3MDM3MzVdLCBbMTY2MzczOTMwNy4yNTgzMDk4LCA0ODY5LCAxLjI1NDE0MzIzODA2NzYyN10sIFsxNjYzNzM5MzA3LjMyOTQ0NzcsIDQ4NzgsIDEuMzE0NTgyMTA5NDUxMjk0XSwgWzE2NjM3MzkzMDcuMzkyOTM2MiwgNDg4NywgMS4yNjMyNjExOTg5OTc0OTc2XSwgWzE2NjM3MzkzMDcuNDYxODAyLCA0ODk2LCAxLjIzOTkzMDYyOTczMDIyNDZdLCBbMTY2MzczOTMwNy41MzgxOTMyLCA0OTA1LCAxLjI1MTQ3OTUwNjQ5MjYxNDddLCBbMTY2MzczOTMwNy43MDE2NDMyLCA0OTIzLCAxLjI2Mzg1MzE5MjMyOTQwNjddLCBbMTY2MzczOTMwNy43ODEwNjI0LCA0OTMyLCAxLjI1OTkyMzkzNDkzNjUyMzRdLCBbMTY2MzczOTMwOC4wMDM2NDk3LCA0OTU5LCAxLjI3MzA0MjkxNzI1MTU4N10sIFsxNjYzNzM5MzA4LjE4MDA3MzMsIDQ5NzcsIDEuMjc0MDY0NjYwMDcyMzI2N10sIFsxNjYzNzM5MzA4LjMyNzk0NzQsIDQ5OTUsIDEuMjk4ODg5NzU2MjAyNjk3OF0sIFsxNjYzNzM5MzA4LjQwNjgzMTMsIDUwMDQsIDEuMzEzNDQ3NTk0NjQyNjM5Ml0sIFsxNjYzNzM5MzA4LjQ4Mjg3LCA1MDEzLCAxLjI2OTEzOTc2NjY5MzExNTJdLCBbMTY2MzczOTMwOC45MzkzNjMsIDUwNjcsIDEuMjUzOTA2OTY1MjU1NzM3M10sIFsxNjYzNzM5MzA5LjAxODc1MiwgNTA3NiwgMS4yMzI0NTMxMDc4MzM4NjIzXSwgWzE2NjM3MzkzMDkuMTA5MjEyNiwgNTA4NSwgMS4yNjExNzcwNjI5ODgyODEyXSwgWzE2NjM3MzkzMDkuNDAyNjQxLCA1MTIxLCAxLjMxNTAxMTUwMTMxMjI1NTldLCBbMTY2MzczOTMwOS40Nzc1NzQzLCA1MTMwLCAxLjMwNDM4NDIzMTU2NzM4MjhdLCBbMTY2MzczOTMwOS42MjY0ODg3LCA1MTQ4LCAxLjMyNTc5OTgyMjgwNzMxMl0sIFsxNjYzNzM5MzA5Ljc4MDU3OTYsIDUxNjYsIDEuMzcyNTg2ODQ2MzUxNjIzNV0sIFsxNjYzNzM5MzEwLjAwNTA1MywgNTE5MywgMS4yNjg4MTY1OTAzMDkxNDNdLCBbMTY2MzczOTMxMC4zMDQ5MDAyLCA1MjI5LCAxLjI2NzE5ODkyMDI0OTkzOV0sIFsxNjYzNzM5MzEwLjU4Mzc0NCwgNTI2NSwgMS4yNDIzMzA1NTExNDc0NjFdLCBbMTY2MzczOTMxMC42NTIxNTEsIDUyNzQsIDEuMjQ0MTg5NTAwODA4NzE1OF0sIFsxNjYzNzM5MzEwLjcyMTk1OTQsIDUyODMsIDEuMjQ1NjY4NTMwNDY0MTcyNF0sIFsxNjYzNzM5MzEwLjg5NTkwODYsIDUzMDEsIDEuMjcwMzg0NTUwMDk0NjA0NV0sIFsxNjYzNzM5MzEwLjk4OTIwOCwgNTMxMCwgMS4yMzcwMTg4MjM2MjM2NTcyXSwgWzE2NjM3MzkzMTEuMDY3ODMxLCA1MzE5LCAxLjI1MDkxNDMzNTI1MDg1NDVdLCBbMTY2MzczOTMxMS4xNDQ1OTA2LCA1MzI4LCAxLjIyOTQwNTc2MDc2NTA3NTddLCBbMTY2MzczOTMxMS4yMjc5MTMxLCA1MzM3LCAxLjIzOTkxMzgyMTIyMDM5OF0sIFsxNjYzNzM5MzExLjM3MjIxOTgsIDUzNTUsIDEuMjM5MDc2Mzc1OTYxMzAzN10sIFsxNjYzNzM5MzExLjU0MzkyODEsIDUzNzMsIDEuMjA4NzgzMjY4OTI4NTI3OF0sIFsxNjYzNzM5MzExLjYyMDU0NywgNTM4MiwgMS4yNjAyMDA3Mzg5MDY4NjA0XSwgWzE2NjM3MzkzMTEuNjkzMTM3NiwgNTM5MSwgMS4yMTM5NzM3NjA2MDQ4NTg0XSwgWzE2NjM3MzkzMTEuNzY2NDY4NSwgNTQwMCwgMS4yNTQ2Nzc2NTMzMTI2ODNdLCBbMTY2MzczOTMxMS45MTg1MTE0LCA1NDE4LCAxLjIwOTA0NjYwMjI0OTE0NTVdLCBbMTY2MzczOTMxMS45OTcwMDcsIDU0MjcsIDEuMjUyOTE0NjY3MTI5NTE2Nl0sIFsxNjYzNzM5MzEyLjEwMjA5NiwgNTQzNiwgMS4yMzk3Mzg3MDI3NzQwNDc5XSwgWzE2NjM3MzkzMTIuMjU5OTM0LCA1NDU0LCAxLjI3NTM5NDc5NzMyNTEzNDNdLCBbMTY2MzczOTMxMi40ODM4OTcsIDU0ODEsIDEuMjIzOTAwNDM3MzU1MDQxNV0sIFsxNjYzNzM5MzEyLjYyOTc4MjcsIDU0OTksIDEuMjI3OTk3Nzc5ODQ2MTkxNF0sIFsxNjYzNzM5MzEzLjA1NDk5MjQsIDU1MjYsIDEuMjI0OTMzMDI4MjIxMTMwNF0sIFsxNjYzNzM5MzEzLjEyNzM1NDQsIDU1MzUsIDEuMjI4NDc2NjQzNTYyMzE3XSwgWzE2NjM3MzkzMTMuMjkxNzYxMiwgNTU1MywgMS4yNTg4MDcxODIzMTIwMTE3XSwgWzE2NjM3MzkzMTMuMzY5OTk2NSwgNTU2MiwgMS4yOTU0NDg2NjA4NTA1MjVdLCBbMTY2MzczOTMxMy40NjUxODA5LCA1NTcxLCAxLjIyNzU1MzQ4NjgyNDAzNTZdLCBbMTY2MzczOTMxMy42NDM2MDYsIDU1ODksIDEuMjE3NDEzNjYzODY0MTM1N10sIFsxNjYzNzM5MzEzLjc4MTA0MTksIDU2MDcsIDEuMjE4MTYzMDEzNDU4MjUyXSwgWzE2NjM3MzkzMTMuODUxNjk0NiwgNTYxNiwgMS4yMDc5MzUwOTQ4MzMzNzRdLCBbMTY2MzczOTMxNC4wNjQ2NDQ4LCA1NjQzLCAxLjI2ODcyNzMwMjU1MTI2OTVdLCBbMTY2MzczOTMxNC4xNTI1NDUyLCA1NjUyLCAxLjIwMjkxMTczNDU4MDk5MzddLCBbMTY2MzczOTMxNC4yMjM2ODYsIDU2NjEsIDEuMjE2OTY5NDkwMDUxMjY5NV0sIFsxNjYzNzM5MzE0LjMwNjU3NDYsIDU2NzAsIDEuMjM3NzkzODAzMjE1MDI2OV0sIFsxNjYzNzM5MzE0LjYxNTM2MiwgNTcwNiwgMS4yNDcyOTc3NjM4MjQ0NjNdLCBbMTY2MzczOTMxNC42OTQ4NDk3LCA1NzE1LCAxLjIwMzI2NDQ3NDg2ODc3NDRdLCBbMTY2MzczOTMxNC43Njg3MzQ1LCA1NzI0LCAxLjIxMTA2MzYyMzQyODM0NDddLCBbMTY2MzczOTMxNC45NDg3NDk1LCA1NzQyLCAxLjMwMTMzMDA4OTU2OTA5MThdLCBbMTY2MzczOTMxNS4yMjU5NDMsIDU3NjksIDEuMjUyNjUxMzMzODA4ODk5XSwgWzE2NjM3MzkzMTUuMzI1OTM2OCwgNTc3OCwgMS4yNDg0NjU3NzY0NDM0ODE0XSwgWzE2NjM3MzkzMTUuNDA3Mjc5MywgNTc4NywgMS4yMDEyNTI1Nzk2ODkwMjU5XSwgWzE2NjM3MzkzMTUuNDk2MDk4NSwgNTc5NiwgMS4yMTkzNjQ2NDMwOTY5MjM4XSwgWzE2NjM3MzkzMTUuNTc5NDE5NiwgNTgwNSwgMS4yMTI4MDM4NDA2MzcyMDddLCBbMTY2MzczOTMxNS42OTAxNzIsIDU4MTQsIDEuMjU3ODAxODkwMzczMjNdLCBbMTY2MzczOTMxNS45OTg3MDI1LCA1ODUwLCAxLjIxMzE5MjU4MjEzMDQzMjFdLCBbMTY2MzczOTMxNi4xNTAxNjA2LCA1ODY4LCAxLjI2NTI3MzU3MTAxNDQwNDNdLCBbMTY2MzczOTMxNi4yMzEzOTIxLCA1ODc3LCAxLjIwOTIwNzI5NjM3MTQ2XSwgWzE2NjM3MzkzMTYuMzI3NjU2MywgNTg4NiwgMS4yMzgxMjc0NzAwMTY0Nzk1XSwgWzE2NjM3MzkzMTYuNDA2NTEsIDU4OTUsIDEuMjE1Njk5NjcyNjk4OTc0Nl0sIFsxNjYzNzM5MzE2LjQ3OTc5OSwgNTkwNCwgMS4yMDM0OTk0MzYzNzg0NzldLCBbMTY2MzczOTMxNi42OTMwNTg1LCA1OTMxLCAxLjI0NzE5NzE1MTE4NDA4Ml0sIFsxNjYzNzM5MzE2Ljc2NDI5LCA1OTQwLCAxLjIyNzc4NDI3NjAwODYwNl0sIFsxNjYzNzM5MzE2LjgzMDE5NjEsIDU5NDksIDEuMjIwNTEwMzYzNTc4Nzk2NF0sIFsxNjYzNzM5MzE3LjM2NDUyNjUsIDYwMTIsIDEuMjg0NjYyOTYxOTU5ODM4OV0sIFsxNjYzNzM5MzE3LjU5NTI3MTMsIDYwMzksIDEuMTk1NDAyOTc5ODUwNzY5XSwgWzE2NjM3MzkzMTcuOTYxMzA1NiwgNjA4NCwgMS4yMDg4NTEwOTkwMTQyODIyXSwgWzE2NjM3MzkzMTguMDM1MzI3NCwgNjA5MywgMS4yODA1Mjk0OTkwNTM5NTVdLCBbMTY2MzczOTMxOC4xMDU1Mjk1LCA2MTAyLCAxLjI3MTIwNTkwMjA5OTYwOTRdLCBbMTY2MzczOTMxOC4zNDk3NTE3LCA2MTI5LCAxLjIwMDEyNDc0MDYwMDU4Nl0sIFsxNjYzNzM5MzE4Ljc4NjA0ODIsIDYxNDcsIDEuMjUxNjAwMTQ2MjkzNjQwMV0sIFsxNjYzNzM5MzE4LjkxNjExLCA2MTU2LCAxLjI1MDQ5Njk4MzUyODEzNzJdLCBbMTY2MzczOTMxOC45OTAyMjc1LCA2MTY1LCAxLjE4NjM0NjY1MDEyMzU5NjJdLCBbMTY2MzczOTMxOS4wNzAwNzEsIDYxNzQsIDEuMjI1MzQ3MDQyMDgzNzQwMl0sIFsxNjYzNzM5MzE5LjI1NjUyMTcsIDYxOTIsIDEuMTg4OTQ3NDM5MTkzNzI1Nl0sIFsxNjYzNzM5MzE5LjM4NDEwMzgsIDYyMDEsIDEuMTkyNjYzNzg4Nzk1NDcxMl0sIFsxNjYzNzM5MzE5LjY5OTQxNDMsIDYyMzcsIDEuMjA5OTUxNDAwNzU2ODM2XSwgWzE2NjM3MzkzMTkuNzgwMTYxNiwgNjI0NiwgMS4yMTgwNDAzNDcwOTkzMDQyXSwgWzE2NjM3MzkzMTkuODU1NDQ1MSwgNjI1NSwgMS4xNzQ2MzA0MDM1MTg2NzY4XSwgWzE2NjM3MzkzMTkuOTM0MjI2LCA2MjY0LCAxLjI2MDM4NDc5ODA0OTkyNjhdLCBbMTY2MzczOTMyMC4xODYxNjg3LCA2MjczLCAxLjIxMzY1Nzk3NTE5NjgzODRdLCBbMTY2MzczOTMyMC4yNjY1OTU2LCA2MjgyLCAxLjIwNjY5MjIxODc4MDUxNzZdLCBbMTY2MzczOTMyMC40NjQwNDg5LCA2MzAwLCAxLjIyNzY1OTEwNjI1NDU3NzZdLCBbMTY2MzczOTMyMC43MjA2MjI1LCA2MzI3LCAxLjI0MDEzMTI1ODk2NDUzODZdLCBbMTY2MzczOTMyMC44MDA5MzA3LCA2MzM2LCAxLjE5Mjk1NDA2MzQxNTUyNzNdLCBbMTY2MzczOTMyMC45NTk3Mjg3LCA2MzU0LCAxLjE4MjA1MzkyMzYwNjg3MjZdLCBbMTY2MzczOTMyMS4yNjkxMzk4LCA2MzkwLCAxLjIxMDA3NzE2NjU1NzMxMl0sIFsxNjYzNzM5MzIxLjMzNjk0ODYsIDYzOTksIDEuMjIyNDIyMDAzNzQ2MDMyN10sIFsxNjYzNzM5MzIxLjU0ODM5MTMsIDY0MTcsIDEuMjAyNjA5ODk2NjU5ODUxXSwgWzE2NjM3MzkzMjEuNzY1NDA2LCA2NDQ0LCAxLjE5NTQ2NTIwNzA5OTkxNDZdLCBbMTY2MzczOTMyMS45MTQxMzQsIDY0NjIsIDEuMTk1NzE2MzgxMDcyOTk4XSwgWzE2NjM3MzkzMjIuMDYxOTEyLCA2NDgwLCAxLjIxNzk1NDk5MzI0Nzk4NThdLCBbMTY2MzczOTMyMi4xNDA1OTQyLCA2NDg5LCAxLjI0NDM2MTE2MjE4NTY2OV0sIFsxNjYzNzM5MzIyLjIxMTgwMzIsIDY0OTgsIDEuMjExMDU4MDIwNTkxNzM1OF0sIFsxNjYzNzM5MzIyLjM0ODE4NywgNjUxNiwgMS4yNjk5MzExOTcxNjY0NDI5XSwgWzE2NjM3MzkzMjIuNDIxOTE3LCA2NTI1LCAxLjI1MzQ0NDE5NDc5MzcwMTJdLCBbMTY2MzczOTMyMi40OTI1NzU0LCA2NTM0LCAxLjIxNzk4NDkxNDc3OTY2M10sIFsxNjYzNzM5MzIyLjU2MDc3NzIsIDY1NDMsIDEuMjEwMzE2MTgxMTgyODYxM10sIFsxNjYzNzM5MzIyLjYyNzY1MSwgNjU1MiwgMS4yMzM3OTgwMjcwMzg1NzQyXSwgWzE2NjM3MzkzMjIuNzAzODA1NCwgNjU2MSwgMS4yNDAwMzM3NDU3NjU2ODZdLCBbMTY2MzczOTMyMi43Njg5NTg2LCA2NTcwLCAxLjI0Mzg4MzEzMjkzNDU3MDNdLCBbMTY2MzczOTMyMi45MTIxNzI2LCA2NTg4LCAxLjIwNzAxNjk0NDg4NTI1NF0sIFsxNjYzNzM5MzIyLjk4MDM0ODYsIDY1OTcsIDEuMjAwMjM2MjAxMjg2MzE2XSwgWzE2NjM3MzkzMjMuMDUwNDQ3LCA2NjA2LCAxLjI1MDg4MTE5NTA2ODM1OTRdLCBbMTY2MzczOTMyMy40Njg4MzU2LCA2NjUxLCAxLjE5ODk5Nzg1NTE4NjQ2MjRdLCBbMTY2MzczOTMyMy41NDU5NzksIDY2NjAsIDEuMjA5ODA3NzUzNTYyOTI3Ml0sIFsxNjYzNzM5MzIzLjYyMzc0NSwgNjY2OSwgMS4yMTI2NTU1NDQyODEwMDU5XSwgWzE2NjM3MzkzMjMuNzYxMDc2LCA2Njg3LCAxLjIyMjc3NzM2NjYzODE4MzZdLCBbMTY2MzczOTMyMy44MzQ4MzM0LCA2Njk2LCAxLjI0NjM2OTI0MjY2ODE1MTldLCBbMTY2MzczOTMyMy45MTQ3Mjc0LCA2NzA1LCAxLjI2NDY0MzY2OTEyODQxOF0sIFsxNjYzNzM5MzIzLjk5MDk0NiwgNjcxNCwgMS4xNzY5ODk5MTI5ODY3NTU0XSwgWzE2NjM3MzkzMjQuNTE1MDc1NCwgNjc3NywgMS4yMTMyMTk3NjE4NDg0NDk3XSwgWzE2NjM3MzkzMjQuNzQ5MTI3OSwgNjgwNCwgMS4xNzY3OTQxNzEzMzMzMTNdLCBbMTY2MzczOTMyNC44MzkxOTUzLCA2ODEzLCAxLjE1NzEyNzQ5OTU4MDM4MzNdLCBbMTY2MzczOTMyNS4xNjA1NDczLCA2ODMxLCAxLjE4OTE5Mzk2NDAwNDUxNjZdLCBbMTY2MzczOTMyNS41MjM3NDM2LCA2ODc2LCAxLjE4MTYzOTA3NTI3OTIzNThdLCBbMTY2MzczOTMyNS41OTIzNjc0LCA2ODg1LCAxLjE5MTAwNjQyMjA0Mjg0NjddLCBbMTY2MzczOTMyNS42NjQ4NzAzLCA2ODk0LCAxLjE4NTQ4MTE5MDY4MTQ1NzVdLCBbMTY2MzczOTMyNS44MDA5NzQ4LCA2OTEyLCAxLjE3NDU2ODUzMzg5NzRdLCBbMTY2MzczOTMyNS44ODEyOTM4LCA2OTIxLCAxLjE4NjA2OTcyNjk0Mzk2OTddLCBbMTY2MzczOTMyNi4wNzgwMzY4LCA2OTMwLCAxLjE5MzgxNTQ2OTc0MTgyMTNdLCBbMTY2MzczOTMyNi4xNzU4ODcsIDY5MzksIDEuMTgwNjQ4Njg0NTAxNjQ4XSwgWzE2NjM3MzkzMjYuMjU1NTQ1NiwgNjk0OCwgMS4yMzAzMTcyMzQ5OTI5ODFdLCBbMTY2MzczOTMyNi4zMjgwMTQ0LCA2OTU3LCAxLjI1MTc5OTM0NTAxNjQ3OTVdLCBbMTY2MzczOTMyNi4zOTY2NzE1LCA2OTY2LCAxLjE2MzU5MjIxOTM1MjcyMjJdLCBbMTY2MzczOTMyNi41NTU5MjMyLCA2OTg0LCAxLjE4NTEyNjQyMzgzNTc1NDRdLCBbMTY2MzczOTMyNi42NDAyNzIxLCA2OTkzLCAxLjIxNTU4MTc3NDcxMTYwODldLCBbMTY2MzczOTMyNi44NTUzMTY2LCA3MDExLCAxLjIxNTgzNDczNjgyNDAzNTZdLCBbMTY2MzczOTMyNi45NTAwMjM0LCA3MDIwLCAxLjE2NDIwNjUwNDgyMTc3NzNdLCBbMTY2MzczOTMyNy4wNDI5NjQyLCA3MDI5LCAxLjE0NjMzMjYyMTU3NDQwMTldLCBbMTY2MzczOTMyNy4zMTQxODA5LCA3MDM4LCAxLjE3NTI5MzIwNzE2ODU3OV0sIFsxNjYzNzM5MzI3LjM4ODM2MzgsIDcwNDcsIDEuMTcyOTgxMDIzNzg4NDUyMV0sIFsxNjYzNzM5MzI3LjQ2NDExNzUsIDcwNTYsIDEuMjExODI3ODc0MTgzNjU0OF0sIFsxNjYzNzM5MzI3LjY4MDc2MTMsIDcwODMsIDEuMTkxODM4MTQ1MjU2MDQyNV0sIFsxNjYzNzM5MzI3LjgyMzE5MjEsIDcxMDEsIDEuMjE3NjQzNDk5Mzc0Mzg5Nl0sIFsxNjYzNzM5MzI3LjkwOTMxNywgNzExMCwgMS4yMzQ4ODEyODE4NTI3MjIyXSwgWzE2NjM3MzkzMjguMDYzNjg0NSwgNzEyOCwgMS4yMTQ2NDIyODYzMDA2NTkyXSwgWzE2NjM3MzkzMjguMjA1NjQyNywgNzE0NiwgMS4yNjM2MzA4NjcwMDQzOTQ1XSwgWzE2NjM3MzkzMjguMzY5NTM3NCwgNzE2NCwgMS4yMjYyMjA4NDYxNzYxNDc1XSwgWzE2NjM3MzkzMjguNDQ2NzcxLCA3MTczLCAxLjIwODE4NjAzMDM4Nzg3ODRdLCBbMTY2MzczOTMyOC41MjkxMjY2LCA3MTgyLCAxLjIyMTI2MDE5MDAxMDA3MDhdLCBbMTY2MzczOTMyOC42NzE3NzU2LCA3MjAwLCAxLjIwMTY2MTQ2NzU1MjE4NV0sIFsxNjYzNzM5MzI4Ljc0MzI5NjksIDcyMDksIDEuMjI3OTA5ODAzMzkwNTAzXSwgWzE2NjM3MzkzMjkuMDMzMjc0NCwgNzI0NSwgMS4yMzIyMjEwMDczNDcxMDddLCBbMTY2MzczOTMyOS4xMDM1NjI4LCA3MjU0LCAxLjIwMDQ4NDk5MTA3MzYwODRdLCBbMTY2MzczOTMyOS4xNzg1MTEsIDcyNjMsIDEuMTcxNzgzODA0ODkzNDkzN10sIFsxNjYzNzM5MzI5LjI0MjE5MTgsIDcyNzIsIDEuMTg5MzQxNTQ1MTA0OTgwNV0sIFsxNjYzNzM5MzI5LjQ1MzcyMSwgNzI5OSwgMS4xOTg3MTI1ODczNTY1Njc0XSwgWzE2NjM3MzkzMjkuNTI1NjU1MywgNzMwOCwgMS4yMzE3NDY2NzM1ODM5ODQ0XSwgWzE2NjM3MzkzMjkuNjczMDI3OCwgNzMyNiwgMS4xNjU4NTI5MDQzMTk3NjMyXSwgWzE2NjM3MzkzMzAuMDcyOTgzNywgNzM3MSwgMS4xNTk4MDcwODU5OTA5MDU4XSwgWzE2NjM3MzkzMzAuMTQ0ODk1LCA3MzgwLCAxLjE4OTk1NzAyMjY2NjkzMTJdLCBbMTY2MzczOTMzMC4yODgzMTgyLCA3Mzk4LCAxLjE1OTE1NTcyNjQzMjgwMDNdLCBbMTY2MzczOTMzMC4zNjI3OTc3LCA3NDA3LCAxLjE5NzAwNTM5MTEyMDkxMDZdLCBbMTY2MzczOTMzMC40MzM4ODM3LCA3NDE2LCAxLjE4NzU5Njc5Nzk0MzExNTJdLCBbMTY2MzczOTMzMC41ODY3ODc3LCA3NDM0LCAxLjI3MTI4MDE2OTQ4Njk5OTVdLCBbMTY2MzczOTMzMC42NTk5MDgzLCA3NDQzLCAxLjI0NjU2OTI3NTg1NjAxOF0sIFsxNjYzNzM5MzMwLjczNTE2NywgNzQ1MiwgMS4xOTU5MjcwMjM4ODc2MzQzXSwgWzE2NjM3MzkzMzAuODE1NjYyLCA3NDYxLCAxLjI2ODcwNTYwNjQ2MDU3MTNdLCBbMTY2MzczOTMzMC45NzI1MDMsIDc0NzksIDEuMTcxOTc2Njg1NTIzOTg2OF0sIFsxNjYzNzM5MzMxLjEzNTgxNDIsIDc0OTcsIDEuMjIyNTExODg3NTUwMzU0XSwgWzE2NjM3MzkzMzEuMjA4MDc3NCwgNzUwNiwgMS4xNzk0ODYxNTU1MDk5NDg3XSwgWzE2NjM3MzkzMzEuNDg2MTYwOCwgNzUyNCwgMS4xNzkyMTQ5NTQzNzYyMjA3XSwgWzE2NjM3MzkzMzEuNTc2NTY3LCA3NTMzLCAxLjE1NDk5MDA3NzAxODczNzhdLCBbMTY2MzczOTMzMS44MDQwNzcxLCA3NTQyLCAxLjE2MzUyMjEyNDI5MDQ2NjNdLCBbMTY2MzczOTMzMi4wMTM1NzIsIDc1NjAsIDEuMTcyMDQ3MjU3NDIzNDAwOV0sIFsxNjYzNzM5MzMyLjE2Njc2NzgsIDc1NjksIDEuMTcyNzQ0NjMxNzY3MjczXSwgWzE2NjM3MzkzMzIuMzgxOTUzLCA3NTg3LCAxLjE3MjkwMjEwNzIzODc2OTVdLCBbMTY2MzczOTMzMi40OTY5ODM1LCA3NTk2LCAxLjE5MjY3MTQxODE5MDAwMjRdLCBbMTY2MzczOTMzMi42NjMxNTUzLCA3NjE0LCAxLjE3ODUxMDY2NTg5MzU1NDddLCBbMTY2MzczOTMzMy4wMDA1NTU4LCA3NjU5LCAxLjE4Mzc3Njg1NTQ2ODc1XSwgWzE2NjM3MzkzMzMuMDY5NTI4MywgNzY2OCwgMS4xNDcxNzc0NTc4MDk0NDgyXSwgWzE2NjM3MzkzMzMuMzQ1NjMyOCwgNzY5NSwgMS4yMDUwMjYxNDk3NDk3NTU5XSwgWzE2NjM3MzkzMzMuNTQ5MjMyNSwgNzcxMywgMS4xODY5MjQ4MTUxNzc5MTc1XSwgWzE2NjM3MzkzMzMuNjMyMTExMywgNzcyMiwgMS4xNzUyMTgyMjQ1MjU0NTE3XSwgWzE2NjM3MzkzMzMuODQxMjIyOCwgNzc0OSwgMS4xODkzNjE0NTMwNTYzMzU0XSwgWzE2NjM3MzkzMzMuOTExMjIzLCA3NzU4LCAxLjE4Njk2Nzg0OTczMTQ0NTNdLCBbMTY2MzczOTMzMy45OTI4NzQ5LCA3NzY3LCAxLjE3MjQ4Mjk2NzM3NjcwOV0sIFsxNjYzNzM5MzM0LjIzNjYxNzgsIDc3OTQsIDEuMTcxMTgzOTQzNzQ4NDc0MV0sIFsxNjYzNzM5MzM0LjMyNTY4NjcsIDc4MDMsIDEuMjAxMzk3Mjk5NzY2NTQwNV0sIFsxNjYzNzM5MzM0LjgyNTkyMSwgNzgzOSwgMS4xNDY0Njk1OTMwNDgwOTU3XSwgWzE2NjM3MzkzMzQuOTA4MzgwNywgNzg0OCwgMS4yMTI1MjQ3NzE2OTAzNjg3XSwgWzE2NjM3MzkzMzUuNjQyODAzMiwgNzkzOCwgMS4xOTMxNDQ3OTgyNzg4MDg2XSwgWzE2NjM3MzkzMzUuNzc2NTQ2MiwgNzk1NiwgMS4xNTIzNDgwNDE1MzQ0MjM4XSwgWzE2NjM3MzkzMzUuODQ4MzI1LCA3OTY1LCAxLjE0MDMzOTM3NDU0MjIzNjNdLCBbMTY2MzczOTMzNS45MjA3MDIyLCA3OTc0LCAxLjE1MDQ2MjUwODIwMTU5OTFdLCBbMTY2MzczOTMzNS45ODUwODgsIDc5ODMsIDEuMTc2MDA2MDc4NzIwMDkyOF0sIFsxNjYzNzM5MzM2LjA1MzAzOSwgNzk5MiwgMS4xNDYyMDgyODYyODU0MDA0XSwgWzE2NjM3MzkzMzYuMTE5Mjc2OCwgODAwMSwgMS4xNjA4MjM5NDEyMzA3NzRdLCBbMTY2MzczOTMzNi4yODAwNDc0LCA4MDE5LCAxLjE2MDUwOTIyODcwNjM1OTldLCBbMTY2MzczOTMzNi40Mjc2NTc4LCA4MDM3LCAxLjE3MDg5NDUwMzU5MzQ0NDhdLCBbMTY2MzczOTMzNi42NTIxMjQ2LCA4MDY0LCAxLjE1Mjk4MTE2MjA3MTIyOF0sIFsxNjYzNzM5MzM2Ljc5NzM3OSwgODA4MiwgMS4xNjk4NjU3Mjc0MjQ2MjE2XSwgWzE2NjM3MzkzMzYuODY4NDA3NSwgODA5MSwgMS4xMzk1ODUzNzU3ODU4Mjc2XSwgWzE2NjM3MzkzMzcuMTA4MTMwNSwgODExOCwgMS4yMDMzOTczOTMyMjY2MjM1XSwgWzE2NjM3MzkzMzcuMTg1MTk4MywgODEyNywgMS4xODMwMDA1NjQ1NzUxOTUzXSwgWzE2NjM3MzkzMzcuMzM3MDA1MSwgODE0NSwgMS4xMzg0Njk5MzQ0NjM1MDFdLCBbMTY2MzczOTMzNy42NDAxMTQsIDgxNjMsIDEuMTUzMjIwMDU3NDg3NDg3OF0sIFsxNjYzNzM5MzM3Ljc0MDUyMSwgODE3MiwgMS4xNjQxNTE2Njg1NDg1ODRdLCBbMTY2MzczOTMzNy44MzI5NjQ0LCA4MTgxLCAxLjIwMzAyNjE3NTQ5ODk2MjRdLCBbMTY2MzczOTMzOC4wMjY1MzcsIDgxOTksIDEuMTg0ODA5Njg0NzUzNDE4XSwgWzE2NjM3MzkzMzguMTE0MTAwMiwgODIwOCwgMS4xNTc4MjEyOTc2NDU1Njg4XSwgWzE2NjM3MzkzMzguMzAxMDk1NSwgODIyNiwgMS4xODUwNDI5NzczMzMwNjg4XSwgWzE2NjM3MzkzMzguNDAzNTY4MywgODIzNSwgMS4xODQ1ODM0MjU1MjE4NTA2XSwgWzE2NjM3MzkzMzguNTg5NjMzNywgODI1MywgMS4yMDUzNTYxMjEwNjMyMzI0XSwgWzE2NjM3MzkzMzguNjczODU5MSwgODI2MiwgMS4xNjU2MTE3NDM5MjcwMDJdLCBbMTY2MzczOTMzOC43NTQ4MTIsIDgyNzEsIDEuMjA2NTUyODYzMTIxMDMyN10sIFsxNjYzNzM5MzM4Ljg2MzQzMywgODI4MCwgMS4xNjg4MTE1NTk2NzcxMjRdLCBbMTY2MzczOTMzOC45NTYxOTIzLCA4Mjg5LCAxLjE4NDA4ODQ2ODU1MTYzNTddLCBbMTY2MzczOTMzOS4wNDE3MTUsIDgyOTgsIDEuMTg4Mzk3Mjg4MzIyNDQ4N10sIFsxNjYzNzM5MzM5LjIwOTgyODYsIDgzMTYsIDEuMTU1MzYwNTc5NDkwNjYxNl0sIFsxNjYzNzM5MzM5LjUyMzA2MzcsIDgzNTIsIDEuMTQ0ODExMjcyNjIxMTU0OF0sIFsxNjYzNzM5MzM5LjYwMDM2MjgsIDgzNjEsIDEuMTg1NjkwOTk5MDMxMDY3XSwgWzE2NjM3MzkzMzkuNzA1ODYzMiwgODM3MCwgMS4xNjU0MzA3ODQyMjU0NjM5XSwgWzE2NjM3MzkzMzkuNzk1NDk4LCA4Mzc5LCAxLjE0NDM5MzA4NjQzMzQxMDZdLCBbMTY2MzczOTMzOS45MDcxMDAyLCA4Mzg4LCAxLjE3MTE4MzIyODQ5MjczNjhdLCBbMTY2MzczOTM0MC4wMDI2MTEyLCA4Mzk3LCAxLjE4MDQ5ODgzODQyNDY4MjZdLCBbMTY2MzczOTM0MC4wODk4NzcsIDg0MDYsIDEuMTg1MjE5NjQ1NTAwMTgzXSwgWzE2NjM3MzkzNDAuMTY0MTM3OCwgODQxNSwgMS4xOTM2MDEzNjk4NTc3ODhdLCBbMTY2MzczOTM0MC4yNDk5ODAyLCA4NDI0LCAxLjE5OTM5NzQ0NDcyNTAzNjZdLCBbMTY2MzczOTM0MC41OTg4NzQ2LCA4NDYwLCAxLjIxNzQxNTQ1MjAwMzQ3OV0sIFsxNjYzNzM5MzQwLjgxOTI4MjgsIDg0NzgsIDEuMjY5ODUwNjExNjg2NzA2NV0sIFsxNjYzNzM5MzQwLjg4NjY4NDIsIDg0ODcsIDEuMjg4NDcwNTA2NjY4MDkwOF0sIFsxNjYzNzM5MzQxLjEwODMwNDcsIDg1MTQsIDEuMTU4NjQ5MzI1MzcwNzg4Nl0sIFsxNjYzNzM5MzQxLjM4NDA1NTYsIDg1NTAsIDEuMTgwODMyOTgyMDYzMjkzNV0sIFsxNjYzNzM5MzQxLjQ1MjQ4MzQsIDg1NTksIDEuMTc0MjUyMzkwODYxNTExMl0sIFsxNjYzNzM5MzQxLjgzNjc1OCwgODU3NywgMS4xNzEwMzAyODI5NzQyNDMyXSwgWzE2NjM3MzkzNDIuMDExMjE5NywgODU5NSwgMS4xNTMzMjA5MDg1NDY0NDc4XSwgWzE2NjM3MzkzNDIuMDkxNTY5NCwgODYwNCwgMS4yMDI4MzQwMTAxMjQyMDY1XSwgWzE2NjM3MzkzNDIuMTY2MjM4NSwgODYxMywgMS4xNTcxMTY2NTE1MzUwMzQyXSwgWzE2NjM3MzkzNDIuMzkyNDEwNSwgODY0MCwgMS4yNDczNDI0NjczMDgwNDQ0XSwgWzE2NjM3MzkzNDIuNDYyMzY5MiwgODY0OSwgMS4yMDQ0MTk3MzIwOTM4MTFdLCBbMTY2MzczOTM0Mi41MzQzOTEsIDg2NTgsIDEuMTQ0Mjg5Mzc0MzUxNTAxNV0sIFsxNjYzNzM5MzQyLjYwMjUyOTUsIDg2NjcsIDEuMTg0MDYxMTY5NjI0MzI4Nl0sIFsxNjYzNzM5MzQyLjY5NjU4NjYsIDg2NzYsIDEuMjQ1NzMzODU3MTU0ODQ2Ml0sIFsxNjYzNzM5MzQyLjc3MDM2MzgsIDg2ODUsIDEuMTQyNDk1ODcwNTkwMjFdLCBbMTY2MzczOTM0Mi44NDUxMTkyLCA4Njk0LCAxLjEzNjI1MjE2NDg0MDY5ODJdLCBbMTY2MzczOTM0Mi45OTExMDg3LCA4NzEyLCAxLjIxMDc2MDgzMTgzMjg4NTddLCBbMTY2MzczOTM0My4wNjg4NzUzLCA4NzIxLCAxLjE3MzM4NTczOTMyNjQ3N10sIFsxNjYzNzM5MzQzLjMwNDI1OCwgODc0OCwgMS4xMjE2NjM1NzA0MDQwNTI3XSwgWzE2NjM3MzkzNDMuNjg0NTM0OCwgODc5MywgMS4xNzM1NzY3MTI2MDgzMzc0XSwgWzE2NjM3MzkzNDMuODMyMDYzNCwgODgxMSwgMS4xNTU2MDE5NzgzMDIwMDJdLCBbMTY2MzczOTM0My45MDI4MjE4LCA4ODIwLCAxLjE1ODI3MDcxNjY2NzE3NTNdLCBbMTY2MzczOTM0NC4xMjI3OTc1LCA4ODM4LCAxLjIxOTYwNTQ0NTg2MTgxNjRdLCBbMTY2MzczOTM0NC4yMjE5ODcsIDg4NDcsIDEuMTg5NTcxMzgwNjE1MjM0NF0sIFsxNjYzNzM5MzQ0LjI5NjIxNjIsIDg4NTYsIDEuMTg0NjI3NDEzNzQ5Njk0OF0sIFsxNjYzNzM5MzQ0LjUzMTEwOTMsIDg4ODMsIDEuMjA2MDkzNTQ5NzI4MzkzNl0sIFsxNjYzNzM5MzQ0LjYwOTQxMzQsIDg4OTIsIDEuMTc5NDEzNDM3ODQzMzIyOF0sIFsxNjYzNzM5MzQ0Ljc2OTk3MzgsIDg5MDEsIDEuMTc0MzQ0NjU4ODUxNjIzNV0sIFsxNjYzNzM5MzQ0Ljg4MTcxMywgODkxMCwgMS4xNDkwNDAxMDI5NTg2NzkyXSwgWzE2NjM3MzkzNDQuOTU5NjcxMywgODkxOSwgMS4xMjk1Nzk3ODI0ODU5NjJdLCBbMTY2MzczOTM0NS4xMTQ0OTkzLCA4OTM3LCAxLjEzMzY5MDM1NzIwODI1Ml0sIFsxNjYzNzM5MzQ1LjI1OTQwNzUsIDg5NTUsIDEuMTY2MzgxMjM5ODkxMDUyMl0sIFsxNjYzNzM5MzQ1LjMzMDIxMTYsIDg5NjQsIDEuMTkwMjA2NjQ2OTE5MjUwNV0sIFsxNjYzNzM5MzQ1LjQwMTU5LCA4OTczLCAxLjE3ODU2NDE5MDg2NDU2M10sIFsxNjYzNzM5MzQ1LjU1MTk0MjYsIDg5OTEsIDEuMTQzNjAxODk0Mzc4NjYyXSwgWzE2NjM3MzkzNDUuNjI1NTg2LCA5MDAwLCAxLjExOTY0MzQ0OTc4MzMyNTJdLCBbMTY2MzczOTM0NS43NzQ2OTczLCA5MDE4LCAxLjE3ODI3MDkzNjAxMjI2OF0sIFsxNjYzNzM5MzQ1Ljg2MzU4NDMsIDkwMjcsIDEuMTI2ODU0MDYyMDgwMzgzM10sIFsxNjYzNzM5MzQ1Ljk0NDM2MywgOTAzNiwgMS4xODAyNzE4NjM5MzczNzhdLCBbMTY2MzczOTM0Ni4wOTMwMTkyLCA5MDQ1LCAxLjIxNTYwODM1ODM4MzE3ODddLCBbMTY2MzczOTM0Ni4yMjU1NTExLCA5MDU0LCAxLjE4MTU0OTY2ODMxMjA3MjhdLCBbMTY2MzczOTM0Ni4zMDE3MjA5LCA5MDYzLCAxLjIzMTg5NzExNTcwNzM5NzVdLCBbMTY2MzczOTM0Ni43NjUxMTQ1LCA5MTA4LCAxLjE1MjIyMDI0OTE3NjAyNTRdLCBbMTY2MzczOTM0Ni45NTIxMTgsIDkxMjYsIDEuMjAyMjIyMjI4MDUwMjMyXSwgWzE2NjM3MzkzNDcuMTM0NTgxMywgOTE0NCwgMS4xMjY3NDgzMjM0NDA1NTE4XSwgWzE2NjM3MzkzNDcuMjE4MzU2LCA5MTUzLCAxLjE3Nzg3NTE2MTE3MDk1OTVdLCBbMTY2MzczOTM0Ny4yOTc5Mjc5LCA5MTYyLCAxLjE2MzI3NTM2MTA2MTA5NjJdLCBbMTY2MzczOTM0Ny41MjQ4NTMyLCA5MTg5LCAxLjEzNDQ5NjgwODA1MjA2M10sIFsxNjYzNzM5MzQ3LjY2ODk0MzQsIDkyMDcsIDEuMTQxODUwMTEzODY4NzEzNF0sIFsxNjYzNzM5MzQ3LjkzNDgwODcsIDkyNDMsIDEuMTM0MTUxOTM1NTc3MzkyNl0sIFsxNjYzNzM5MzQ4LjA3Mjg5OTMsIDkyNjEsIDEuMTM4Mjk2ODQyNTc1MDczMl0sIFsxNjYzNzM5MzQ4LjE0MDg1NDEsIDkyNzAsIDEuMTc1OTA5Mzk5OTg2MjY3XSwgWzE2NjM3MzkzNDguMjkwOTE0MywgOTI4OCwgMS4yMjAxMjMwNTI1OTcwNDZdLCBbMTY2MzczOTM0OC42MDYxMDAzLCA5MzI0LCAxLjE0NTcxMzQ0ODUyNDQ3NV0sIFsxNjYzNzM5MzQ4LjY4MTIzMjUsIDkzMzMsIDEuMTIxMzQ3MTg4OTQ5NTg1XSwgWzE2NjM3MzkzNDguOTM3MzYyNCwgOTM0MiwgMS4xNjc2MTI2NzE4NTIxMTE4XSwgWzE2NjM3MzkzNDkuMDIwNDQyLCA5MzUxLCAxLjIzNzkzNzIxMTk5MDM1NjRdLCBbMTY2MzczOTM0OS4wOTYxMTgyLCA5MzYwLCAxLjEzNDY2OTU0MjMxMjYyMl0sIFsxNjYzNzM5MzQ5LjM5MjIzMTIsIDkzOTYsIDEuMTg2OTY4MDg4MTUwMDI0NF0sIFsxNjYzNzM5MzQ5LjUzNzQwNjcsIDk0MTQsIDEuMTc2NjUxMjM5Mzk1MTQxNl0sIFsxNjYzNzM5MzQ5LjYxMjM3OTYsIDk0MjMsIDEuMTgzNjkzODg1ODAzMjIyN10sIFsxNjYzNzM5MzUwLjAwOTM4MjUsIDk0NTAsIDEuMTM4NjAwNzA3MDU0MTM4Ml0sIFsxNjYzNzM5MzUwLjM2NTY5OSwgOTQ3NywgMS4xNDA1MzI0OTM1OTEzMDg2XSwgWzE2NjM3MzkzNTAuNDQyMzMxOCwgOTQ4NiwgMS4yMTA1MTU4NTY3NDI4NTg5XSwgWzE2NjM3MzkzNTAuNjY5NTg2NywgOTUxMywgMS4xODA4MzIyNjY4MDc1NTYyXSwgWzE2NjM3MzkzNTAuODA0MDc1LCA5NTMxLCAxLjE2Nzk4NTMyMDA5MTI0NzZdLCBbMTY2MzczOTM1MC44Njk2OTExLCA5NTQwLCAxLjE1NTQyMjMyOTkwMjY0OV0sIFsxNjYzNzM5MzUwLjkzNDQwNjUsIDk1NDksIDEuMTYwNjcyNjY0NjQyMzM0XSwgWzE2NjM3MzkzNTEuMDcxMzU0MiwgOTU2NywgMS4xNzE3NjQwMTYxNTE0MjgyXSwgWzE2NjM3MzkzNTEuMzIxMjksIDk1OTQsIDEuMTY1MTUwNTIzMTg1NzNdLCBbMTY2MzczOTM1MS4zODIwMjgzLCA5NjAzLCAxLjE5ODYzNjc3MDI0ODQxM10sIFsxNjYzNzM5MzUxLjQ0NTQ5MjMsIDk2MTIsIDEuMTYzMDI4MzU5NDEzMTQ3XSwgWzE2NjM3MzkzNTEuNTg4NTg3LCA5NjMwLCAxLjEzNDc4NDQ2MDA2Nzc0OV0sIFsxNjYzNzM5MzUxLjY2MzYxOCwgOTYzOSwgMS4xNTA4NjQ5NTg3NjMxMjI2XSwgWzE2NjM3MzkzNTEuNzI1OTM2NywgOTY0OCwgMS4xMzQxNjQwOTQ5MjQ5MjY4XSwgWzE2NjM3MzkzNTEuNzk4NTM4MiwgOTY1NywgMS4xNDI2MzkxNjAxNTYyNV0sIFsxNjYzNzM5MzUxLjg2ODcxNCwgOTY2NiwgMS4yMjE0NTIxMTY5NjYyNDc2XSwgWzE2NjM3MzkzNTEuOTQ4OTgyMiwgOTY3NSwgMS4yNjIyNjE5ODY3MzI0ODNdLCBbMTY2MzczOTM1Mi4xNjc1MDM0LCA5NzAyLCAxLjE2NDgxOTU5ODE5NzkzN10sIFsxNjYzNzM5MzUyLjI0OTA2NDQsIDk3MTEsIDEuMTU3OTk3NjA4MTg0ODE0NV0sIFsxNjYzNzM5MzUyLjM4OTA0NzEsIDk3MjksIDEuMTI5NTc3MTU5ODgxNTkxOF0sIFsxNjYzNzM5MzUyLjQ1NDI4MDYsIDk3MzgsIDEuMTI3NTcwODY3NTM4NDUyMV0sIFsxNjYzNzM5MzUyLjUxOTc4MTgsIDk3NDcsIDEuMTE3NTMyMDE0ODQ2ODAxOF0sIFsxNjYzNzM5MzUyLjcyNjE2MzksIDk3NzQsIDEuMTYwMTYyMjEwNDY0NDc3NV0sIFsxNjYzNzM5MzUyLjc5NDMxOTIsIDk3ODMsIDEuMTM1MTE3ODg4NDUwNjIyNl0sIFsxNjYzNzM5MzUyLjg2NDQyNCwgOTc5MiwgMS4xNjg4NDAwNTA2OTczMjY3XSwgWzE2NjM3MzkzNTMuMTM4NTMxNCwgOTgyOCwgMS4xODEyNzk1NDAwNjE5NTA3XSwgWzE2NjM3MzkzNTMuMjE0MjEwNSwgOTgzNywgMS4yMDMxMDcxMTg2MDY1Njc0XSwgWzE2NjM3MzkzNTMuMjk3NDE0NSwgOTg0NiwgMS4yMjUyNjk0MzY4MzYyNDI3XSwgWzE2NjM3MzkzNTMuNjYzMTI0NiwgOTg5MSwgMS4xNDM4OTI4ODQyNTQ0NTU2XSwgWzE2NjM3MzkzNTMuNzk3MDgzNCwgOTkwOSwgMS4xNjU4MzE5MjM0ODQ4MDIyXSwgWzE2NjM3MzkzNTMuOTQ2Mzc1NiwgOTkyNywgMS4xNDk5MDk2MTU1MTY2NjI2XSwgWzE2NjM3MzkzNTQuMDUxNDU3MiwgOTkzNiwgMS4xMzk5ODQwMTE2NTAwODU0XSwgWzE2NjM3MzkzNTQuMTI1NDg5MiwgOTk0NSwgMS4xNjE1OTQ4Njc3MDYyOTg4XSwgWzE2NjM3MzkzNTQuMzcxNDI5NywgOTk3MiwgMS4xNDI1OTc0MzY5MDQ5MDcyXSwgWzE2NjM3MzkzNTQuNDQ4Mzc2MiwgOTk4MSwgMS4xNTI5OTUyMjg3NjczOTVdLCBbMTY2MzczOTM1NC41Mjk0Nzc0LCA5OTkwLCAxLjE3MDkwMzY4MjcwODc0MDJdLCBbMTY2MzczOTM1NC42MDY1NDU0LCA5OTk5LCAxLjIyMjY4MzMxMDUwODcyOF0sIFsxNjYzNzM5MzU0LjY4NTkyMzYsIDEwMDA4LCAxLjE2ODc1NDQ1ODQyNzQyOTJdLCBbMTY2MzczOTM1NC43OTQ0MzM2LCAxMDAxNywgMS4xMTI0NzkwOTA2OTA2MTI4XSwgWzE2NjM3MzkzNTQuOTcyMSwgMTAwMjYsIDEuMTA2NDg0NzcwNzc0ODQxM10sIFsxNjYzNzM5MzU1LjEzMjQyOTQsIDEwMDM1LCAxLjE3NDUyNjIxNDU5OTYwOTRdLCBbMTY2MzczOTM1NS4zNDA2NDk4LCAxMDA1MywgMS4xNjY1NTQ4MDg2MTY2MzgyXSwgWzE2NjM3MzkzNTUuNTY0MTk2OCwgMTAwODAsIDEuMTM5NTUwMzI4MjU0Njk5N10sIFsxNjYzNzM5MzU1LjY0NDA1NTEsIDEwMDg5LCAxLjEzMDYzMDEzNTUzNjE5MzhdLCBbMTY2MzczOTM1NS45MDY4NjM3LCAxMDA5OCwgMS4xNzU4Mzg1ODk2NjgyNzRdLCBbMTY2MzczOTM1NS45OTI1NzM3LCAxMDEwNywgMS4yMTI5MTU4OTczNjkzODQ4XSwgWzE2NjM3MzkzNTYuMjE3NzU5OCwgMTAxMzQsIDEuMTM4MjU4MzM3OTc0NTQ4M10sIFsxNjYzNzM5MzU2LjI4ODM0NTgsIDEwMTQzLCAxLjEzMzE3NDg5NjI0MDIzNDRdLCBbMTY2MzczOTM1Ni40MzQ5MTg0LCAxMDE2MSwgMS4xNTkxNzQzMjMwODE5NzAyXSwgWzE2NjM3MzkzNTYuNTA3MDU0MywgMTAxNzAsIDEuMTUzMDk2NTU2NjYzNTEzMl0sIFsxNjYzNzM5MzU2LjU5Mjg2MTIsIDEwMTc5LCAxLjE2NDI2MzM2NzY1Mjg5M10sIFsxNjYzNzM5MzU2LjY2ODQzMDMsIDEwMTg4LCAxLjEzMzg3MTA3ODQ5MTIxMV0sIFsxNjYzNzM5MzU2LjczODM4NDcsIDEwMTk3LCAxLjExMzAyOTcxODM5OTA0NzldLCBbMTY2MzczOTM1Ni44NzQyNzc2LCAxMDIxNSwgMS4yNTEyNjM3Mzc2Nzg1Mjc4XSwgWzE2NjM3MzkzNTYuOTM3MDAzNiwgMTAyMjQsIDEuMTgwMzQxMjQzNzQzODk2NV0sIFsxNjYzNzM5MzU3LjAxNDM2NDIsIDEwMjMzLCAxLjEzMDkzOTk2MDQ3OTczNjNdLCBbMTY2MzczOTM1Ny4wOTQ5NDY5LCAxMDI0MiwgMS4xMDQxMTcxNTUwNzUwNzMyXSwgWzE2NjM3MzkzNTcuMjcwMzA4LCAxMDI2MCwgMS4yMjY1Njg2OTg4ODMwNTY2XSwgWzE2NjM3MzkzNTcuNTEzOTU3MywgMTAyODcsIDEuMTA5OTUyOTI2NjM1NzQyMl0sIFsxNjYzNzM5MzU3Ljc1MDc1MzYsIDEwMzE0LCAxLjE1MDMxMjU0MjkxNTM0NDJdLCBbMTY2MzczOTM1Ny44MjQyNzI2LCAxMDMyMywgMS4xNjMwMjM1OTEwNDE1NjVdLCBbMTY2MzczOTM1Ny45NjkzNTksIDEwMzQxLCAxLjE0NTU2OTMyNDQ5MzQwODJdLCBbMTY2MzczOTM1OC4wMzc4NzQyLCAxMDM1MCwgMS4xNjY5NjI3NDI4MDU0ODFdLCBbMTY2MzczOTM1OC4xMDczMDU1LCAxMDM1OSwgMS4xNzMwMjIwMzE3ODQwNTc2XSwgWzE2NjM3MzkzNTguMTgwMDE2MywgMTAzNjgsIDEuMTQzMTQ3MTEwOTM5MDI1OV0sIFsxNjYzNzM5MzU4LjI2MDk3NTYsIDEwMzc3LCAxLjE1MjY0OTUyMTgyNzY5NzhdLCBbMTY2MzczOTM1OC4zNDg1MDg0LCAxMDM4NiwgMS4xNTkyMjA5MzM5MTQxODQ2XSwgWzE2NjM3MzkzNTguNTcwODYzLCAxMDQwNCwgMS4xNTAxNDY2MDM1ODQyODk2XSwgWzE2NjM3MzkzNTguODcwNDQsIDEwNDQwLCAxLjEyMTgzNDUxNjUyNTI2ODZdLCBbMTY2MzczOTM1OC45NDE2MDUzLCAxMDQ0OSwgMS4xNDUwNTcwODIxNzYyMDg1XSwgWzE2NjM3MzkzNTkuMDg2OTEyNCwgMTA0NjcsIDEuMjUwNDI5MDM0MjMzMDkzM10sIFsxNjYzNzM5MzU5LjIzODkyLCAxMDQ4NSwgMS4xNjc0NDY0OTQxMDI0NzhdLCBbMTY2MzczOTM1OS4zOTY1NzY0LCAxMDUwMywgMS4xODg1NDM0Mzg5MTE0MzhdLCBbMTY2MzczOTM1OS40NzE2Mjc3LCAxMDUxMiwgMS4xMTYxMTc0Nzc0MTY5OTIyXSwgWzE2NjM3MzkzNTkuODk0ODkyMiwgMTA1NTcsIDEuMTcyMTgyNDQwNzU3NzUxNV0sIFsxNjYzNzM5MzU5Ljk3MDgzOTcsIDEwNTY2LCAxLjEzMDgzODE1NTc0NjQ2XSwgWzE2NjM3MzkzNjAuMDUyMTE4MywgMTA1NzUsIDEuMTQ0ODA3ODE1NTUxNzU3OF0sIFsxNjYzNzM5MzYwLjIxNjU0ODIsIDEwNTkzLCAxLjI3NDQ2NzIyOTg0MzEzOTZdLCBbMTY2MzczOTM2MC4yOTU1NDI3LCAxMDYwMiwgMS4yMDk3MTMyMjA1OTYzMTM1XSwgWzE2NjM3MzkzNjAuMzczMzcsIDEwNjExLCAxLjE3OTY0MjMxOTY3OTI2MDNdLCBbMTY2MzczOTM2MC42OTc0MDE4LCAxMDY0NywgMS4xODY1MzI4NTUwMzM4NzQ1XSwgWzE2NjM3MzkzNjAuODQ1MjA3NywgMTA2NjUsIDEuMjUxMzA5Mjc1NjI3MTM2Ml0sIFsxNjYzNzM5MzYxLjAwNDgyOTQsIDEwNjgzLCAxLjE1NzI4NDg1NTg0MjU5MDNdLCBbMTY2MzczOTM2MS4xNjA5MTU0LCAxMDcwMSwgMS4xNDI2OTc4MTExMjY3MDldLCBbMTY2MzczOTM2MS4yMzgzMzg1LCAxMDcxMCwgMS4xNzU5NTU0MTQ3NzIwMzM3XSwgWzE2NjM3MzkzNjEuMzI3MjEzLCAxMDcxOSwgMS4xMjM1MjYzMzQ3NjI1NzMyXSwgWzE2NjM3MzkzNjEuNzQ5NDgwNSwgMTA3NDYsIDEuMTcyMTc2MTIyNjY1NDA1M10sIFsxNjYzNzM5MzYxLjgyOTQyMTgsIDEwNzU1LCAxLjE2NDAyMzM5OTM1MzAyNzNdLCBbMTY2MzczOTM2MS45MTU2NTE4LCAxMDc2NCwgMS4xMzc4MjA4Mzk4ODE4OTddLCBbMTY2MzczOTM2MS45ODIzNjg3LCAxMDc3MywgMS4xNTI1NTgyMDc1MTE5MDE5XSwgWzE2NjM3MzkzNjIuMDU0NTY1MiwgMTA3ODIsIDEuMTE1NDQxMDgzOTA4MDgxXSwgWzE2NjM3MzkzNjIuMTE3MzM4NywgMTA3OTEsIDEuMjA2MjcxMTcxNTY5ODI0Ml0sIFsxNjYzNzM5MzYyLjM1MjAwMzgsIDEwODE4LCAxLjEyMTQ1OTAwNzI2MzE4MzZdLCBbMTY2MzczOTM2Mi40Mjc3NTg3LCAxMDgyNywgMS4xNTU2Nzk0NjQzNDAyMV0sIFsxNjYzNzM5MzYyLjc4NTUyNDgsIDEwODU0LCAxLjE1MDc5MjcxNzkzMzY1NDhdLCBbMTY2MzczOTM2Mi44Nzc2Nzg2LCAxMDg2MywgMS4xMjMzMDM4OTAyMjgyNzE1XSwgWzE2NjM3MzkzNjIuOTU0MTMsIDEwODcyLCAxLjEyODk4NTE2NjU0OTY4MjZdLCBbMTY2MzczOTM2My4xMjQ2OTgyLCAxMDg5MCwgMS4xNDk0Nzk5ODUyMzcxMjE2XSwgWzE2NjM3MzkzNjMuMjA4NDI3NywgMTA4OTksIDEuMTE5NjY4NDgzNzM0MTMwOV0sIFsxNjYzNzM5MzYzLjUxNTUxNTYsIDEwOTI2LCAxLjE2MDAxODA4NjQzMzQxMDZdLCBbMTY2MzczOTM2My41OTkwNDUzLCAxMDkzNSwgMS4xNjkzNjY3MTczMzg1NjJdLCBbMTY2MzczOTM2My42NzUxNTUyLCAxMDk0NCwgMS4xNDQ3NDIxMzEyMzMyMTUzXSwgWzE2NjM3MzkzNjMuODMxMTg0NiwgMTA5NjIsIDEuMDk5NjQ1MjU2OTk2MTU0OF0sIFsxNjYzNzM5MzYzLjkxMDIwNSwgMTA5NzEsIDEuMTE4MTk3NDQxMTAxMDc0Ml0sIFsxNjYzNzM5MzY0LjEzMTQ2NCwgMTA5OTgsIDEuMTg1NDk2MjExMDUxOTQxXSwgWzE2NjM3MzkzNjQuMjEwODQ2NCwgMTEwMDcsIDEuMTgxMDgwOTM3Mzg1NTU5XSwgWzE2NjM3MzkzNjQuMzc5MzE1NCwgMTEwMTYsIDEuMTMyMTYxODU1Njk3NjMxOF0sIFsxNjYzNzM5MzY0LjU4NTMzMTcsIDExMDM0LCAxLjE2MzMxNTA1Nzc1NDUxNjZdLCBbMTY2MzczOTM2NC44MDYwNDgyLCAxMTA2MSwgMS4xMzMyNzc1MzU0Mzg1Mzc2XSwgWzE2NjM3MzkzNjQuODc1NjIwNiwgMTEwNzAsIDEuMTUwMTg0OTg4OTc1NTI1XSwgWzE2NjM3MzkzNjUuMDc5MTEwMSwgMTEwOTcsIDEuMTQ2OTMyOTU5NTU2NTc5Nl0sIFsxNjYzNzM5MzY1LjE0NjM5MjYsIDExMTA2LCAxLjE3MjQwODIyMzE1MjE2MDZdLCBbMTY2MzczOTM2NS4yMjU3MTQ3LCAxMTExNSwgMS4xNjUyNjY1MTM4MjQ0NjNdLCBbMTY2MzczOTM2NS41Mzc2MzIyLCAxMTE1MSwgMS4xNjM2NzAzMDE0MzczNzhdLCBbMTY2MzczOTM2NS42NzczOTc1LCAxMTE2OSwgMS4xOTc5NzgyNTgxMzI5MzQ2XSwgWzE2NjM3MzkzNjUuNzQyNTQxLCAxMTE3OCwgMS4xOTA5MDY0MDU0NDg5MTM2XSwgWzE2NjM3MzkzNjUuODEwMTE5NCwgMTExODcsIDEuMTYwOTA5NjUyNzA5OTYxXSwgWzE2NjM3MzkzNjUuODkxNDI2MywgMTExOTYsIDEuMTYxNjc1ODEwODEzOTAzOF0sIFsxNjYzNzM5MzY1Ljk2MzU2ODIsIDExMjA1LCAxLjE5NDY0NTA0NzE4NzgwNTJdLCBbMTY2MzczOTM2Ni4wMjkwNDAzLCAxMTIxNCwgMS4xNTk1NjYwNDQ4MDc0MzRdLCBbMTY2MzczOTM2Ni4wOTYxMzIsIDExMjIzLCAxLjIwOTkxNjQ3MjQzNDk5NzZdLCBbMTY2MzczOTM2Ni4zNTE5NjY0LCAxMTI1MCwgMS4zMzg5MjI4NTgyMzgyMjAyXSwgWzE2NjM3MzkzNjYuNDE5MzkzOCwgMTEyNTksIDEuMjUwNTY4NjI4MzExMTU3Ml0sIFsxNjYzNzM5MzY2LjQ4NzQzOSwgMTEyNjgsIDEuMjIzNjIzMDM3MzM4MjU2OF0sIFsxNjYzNzM5MzY2LjU1NDM0MzcsIDExMjc3LCAxLjIwMDY0MTE1NTI0MjkyXSwgWzE2NjM3MzkzNjYuNjk5NDE4NSwgMTEyOTUsIDEuMTk2NjA4NzgxODE0NTc1Ml0sIFsxNjYzNzM5MzY2LjgzNzM3MiwgMTEzMTMsIDEuMTEyMzczNTkwNDY5MzYwNF0sIFsxNjYzNzM5MzY2LjkxNDUzOTYsIDExMzIyLCAxLjA5ODIyMTE4MjgyMzE4MTJdLCBbMTY2MzczOTM2Ny4zMjA2NTI1LCAxMTM0OSwgMS4xNzM5NDc1NzI3MDgxMjk5XSwgWzE2NjM3MzkzNjcuMzkxNjQ0NSwgMTEzNTgsIDEuMTE1NDQ0NDIxNzY4MTg4NV0sIFsxNjYzNzM5MzY3LjYxNTM4NzcsIDExMzg1LCAxLjE4Mzg0NjcxMjExMjQyNjhdLCBbMTY2MzczOTM2Ny44NTc4MDc0LCAxMTQxMiwgMS4xMzExNDU3MTU3MTM1MDFdLCBbMTY2MzczOTM2Ny45MzAzODQ0LCAxMTQyMSwgMS4xMTkwMzk2NTQ3MzE3NTA1XSwgWzE2NjM3MzkzNjguMzY5OTA2LCAxMTQ0OCwgMS4xMjU5OTM5NjcwNTYyNzQ0XSwgWzE2NjM3MzkzNjguOTYxNTMyLCAxMTQ5MywgMS4xNzgyMzQxMDAzNDE3OTY5XSwgWzE2NjM3MzkzNjkuMDU5ODg1MywgMTE1MDIsIDEuMTQ5OTk1NTY1NDE0NDI4N10sIFsxNjYzNzM5MzY5LjE0OTQyMDcsIDExNTExLCAxLjEwNDU0MjYxMzAyOTQ4XSwgWzE2NjM3MzkzNjkuMzIzNTM5NywgMTE1MjksIDEuMDk3MTU2MDQ3ODIxMDQ1XSwgWzE2NjM3MzkzNjkuNTEyNjUzNiwgMTE1NDcsIDEuMTIxOTAxNzUwNTY0NTc1Ml0sIFsxNjYzNzM5MzY5LjgxNjM4NjcsIDExNTc0LCAxLjExNjkwMTA0MDA3NzIwOTVdLCBbMTY2MzczOTM2OS45MDA1NTQyLCAxMTU4MywgMS4xNTMwNjkxMzg1MjY5MTY1XSwgWzE2NjM3MzkzNzAuMDU0ODcwNiwgMTE2MDEsIDEuMTcwMDM4ODE5MzEzMDQ5M10sIFsxNjYzNzM5MzcwLjMxMjY1NjksIDExNjE5LCAxLjEyNjY5MTQ2MDYwOTQzNl0sIFsxNjYzNzM5MzcwLjQ2NjY1NSwgMTE2MzcsIDEuMDk3ODQxOTc4MDczMTIwMV0sIFsxNjYzNzM5MzcwLjUzODQzMzMsIDExNjQ2LCAxLjEzMzgyODE2MzE0Njk3MjddLCBbMTY2MzczOTM3MC43ODExODEzLCAxMTY3MywgMS4xOTY0ODY5NDk5MjA2NTQzXSwgWzE2NjM3MzkzNzAuOTI3MzU4NCwgMTE2OTEsIDEuMTQ1OTQzOTk5MjkwNDY2M10sIFsxNjYzNzM5MzcwLjk5MjM2NjYsIDExNzAwLCAxLjEyOTY4MjMwMjQ3NDk3NTZdLCBbMTY2MzczOTM3MS4xMzcyOTk4LCAxMTcxOCwgMS4xMjEzOTIxMzA4NTE3NDU2XSwgWzE2NjM3MzkzNzEuMjA1Mzk2LCAxMTcyNywgMS4xMjQwMzU1OTY4NDc1MzQyXSwgWzE2NjM3MzkzNzEuMzQ3NTcxOCwgMTE3NDUsIDEuMTIxNTU3MTE2NTA4NDgzOV0sIFsxNjYzNzM5MzcxLjQ4MTA2NjUsIDExNzYzLCAxLjExODUzNzc4MzYyMjc0MTddLCBbMTY2MzczOTM3MS43NzQzMDYzLCAxMTc5OSwgMS4xNjY5MTQyMjQ2MjQ2MzM4XSwgWzE2NjM3MzkzNzEuOTc2MjI3NSwgMTE4MjYsIDEuMTA4NjM3ODA5NzUzNDE4XSwgWzE2NjM3MzkzNzIuMDQzNjQwOSwgMTE4MzUsIDEuMDkxODg5MTQyOTkwMTEyM10sIFsxNjYzNzM5MzcyLjExNDY2MzEsIDExODQ0LCAxLjEwNDc3MTYxNDA3NDcwN10sIFsxNjYzNzM5MzcyLjQ3MjQ1LCAxMTg4OSwgMS4xMzMzMDgwNTMwMTY2NjI2XSwgWzE2NjM3MzkzNzIuNjIxMzMwMywgMTE5MDcsIDEuMTE2NjQzMzA5NTkzMjAwN10sIFsxNjYzNzM5MzcyLjY5MTE3NTUsIDExOTE2LCAxLjE0MDAyMDcyODExMTI2N10sIFsxNjYzNzM5MzcyLjc1OTUwOTgsIDExOTI1LCAxLjE3NDkxOTQ4NjA0NTgzNzRdLCBbMTY2MzczOTM3Mi44MjQzNzk3LCAxMTkzNCwgMS4xMzI3MzUwMTM5NjE3OTJdLCBbMTY2MzczOTM3Mi44OTQxMTUsIDExOTQzLCAxLjEwNzQ0NTI0MDAyMDc1Ml0sIFsxNjYzNzM5MzczLjAyODM1MDgsIDExOTYxLCAxLjEwNTIyODU0MzI4MTU1NTJdLCBbMTY2MzczOTM3My41NzE5OTIyLCAxMjAyNCwgMS4xNTU2MTMxODM5NzUyMTk3XSwgWzE2NjM3MzkzNzQuMDE1MTQ4NiwgMTIwNzgsIDEuMTM5NTQ1MzIxNDY0NTM4Nl0sIFsxNjYzNzM5Mzc0LjI0NzQxODQsIDEyMTA1LCAxLjE4MjYzODQwNjc1MzU0XSwgWzE2NjM3MzkzNzQuMzI0NDQsIDEyMTE0LCAxLjExNzcwMzU1NzAxNDQ2NTNdLCBbMTY2MzczOTM3NC40ODU1MSwgMTIxMzIsIDEuMDk4NjUwOTMyMzEyMDExN10sIFsxNjYzNzM5Mzc0LjYxNTQzNTQsIDEyMTQxLCAxLjExOTU4Mjc3MjI1NDk0MzhdLCBbMTY2MzczOTM3NC44NDE1MDksIDEyMTY4LCAxLjE1NDA5NTA1MzY3Mjc5MDVdLCBbMTY2MzczOTM3NC45MTMzODEsIDEyMTc3LCAxLjEyODQ2NjM2NzcyMTU1NzZdLCBbMTY2MzczOTM3NS4wNjM2MDM0LCAxMjE5NSwgMS4yMTIyNzcxNzM5OTU5NzE3XSwgWzE2NjM3MzkzNzUuMTQwMDEwOCwgMTIyMDQsIDEuMjI4NTQxODUxMDQzNzAxMl0sIFsxNjYzNzM5Mzc1LjIxMjMwODIsIDEyMjEzLCAxLjI0OTc4MTAxMjUzNTA5NTJdLCBbMTY2MzczOTM3NS4yODMwNDM0LCAxMjIyMiwgMS4yMjIyMzkyNTU5MDUxNTE0XSwgWzE2NjM3MzkzNzUuNTU4MzY0OSwgMTIyMzEsIDEuMjEyMjM5ODYxNDg4MzQyM10sIFsxNjYzNzM5Mzc1LjcxOTY2MzQsIDEyMjQ5LCAxLjE4OTY5NjA3MzUzMjEwNDVdLCBbMTY2MzczOTM3NS45OTM0NDUyLCAxMjI4NSwgMS4xMTAxMDk1Njc2NDIyMTJdLCBbMTY2MzczOTM3Ni4wNzAzOTc2LCAxMjI5NCwgMS4xMTE1MzI1Njg5MzE1Nzk2XSwgWzE2NjM3MzkzNzYuMTQzMDU2NiwgMTIzMDMsIDEuMTY1Njk1Nzg2NDc2MTM1M10sIFsxNjYzNzM5Mzc2LjIxMDIwMDUsIDEyMzEyLCAxLjExOTcxNTU3MTQwMzUwMzRdLCBbMTY2MzczOTM3Ni4yODIxNzg2LCAxMjMyMSwgMS4wODU2Mjc5MTM0NzUwMzY2XSwgWzE2NjM3MzkzNzYuNjUwNTk4OCwgMTIzNTcsIDEuMTExNzM5ODczODg2MTA4NF0sIFsxNjYzNzM5Mzc2LjcyMTc5NTgsIDEyMzY2LCAxLjE2NDk4OTk0ODI3MjcwNV0sIFsxNjYzNzM5Mzc2Ljg2MTYzMjgsIDEyMzg0LCAxLjE4OTY1MTAxMjQyMDY1NDNdLCBbMTY2MzczOTM3Ni45MzM1Mjg3LCAxMjM5MywgMS4xNDgyMzc3MDUyMzA3MTNdLCBbMTY2MzczOTM3Ny4yMjE1NzY1LCAxMjQyOSwgMS4yMTE1NDU3MDU3OTUyODhdLCBbMTY2MzczOTM3Ny4zNDgzNzYsIDEyNDM4LCAxLjE1NDA2ODk0NjgzODM3OV0sIFsxNjYzNzM5Mzc3LjY0Nzk2ODgsIDEyNDc0LCAxLjE1MjkxNzAyNzQ3MzQ0OTddLCBbMTY2MzczOTM3Ny43MTk3Nzk3LCAxMjQ4MywgMS4xOTg2ODgyNjg2NjE0OTldLCBbMTY2MzczOTM3Ny43OTMzNjksIDEyNDkyLCAxLjE2Njk2MTkwODM0MDQ1NF0sIFsxNjYzNzM5Mzc4LjAxNDc4MTIsIDEyNTE5LCAxLjEzODg0MjM0NDI4NDA1NzZdLCBbMTY2MzczOTM3OC4wOTE4MjIxLCAxMjUyOCwgMS4xMjc1NDQyODM4NjY4ODIzXSwgWzE2NjM3MzkzNzguMjYxOTM0LCAxMjU0NiwgMS4yMTgwNTkzMDEzNzYzNDI4XSwgWzE2NjM3MzkzNzguNDgwMjg5NSwgMTI1NzMsIDEuMTU4MTY1NTc0MDczNzkxNV0sIFsxNjYzNzM5Mzc4LjU1Mjc1MywgMTI1ODIsIDEuMTM4MTU1NTc5NTY2OTU1Nl0sIFsxNjYzNzM5Mzc4LjcwNDA2NTYsIDEyNjAwLCAxLjExODA4MzAwMDE4MzEwNTVdLCBbMTY2MzczOTM3OC43NzczMzQ3LCAxMjYwOSwgMS4xNDcxNzc0NTc4MDk0NDgyXSwgWzE2NjM3MzkzNzkuMDI2MjU3OCwgMTI2MzYsIDEuMDk5Mjg1MTI1NzMyNDIxOV0sIFsxNjYzNzM5Mzc5LjE3MTc2NzIsIDEyNjU0LCAxLjEyNDE3NDIzNzI1MTI4MTddLCBbMTY2MzczOTM3OS43NjQzMzUsIDEyNzI2LCAxLjIwMzAzMjQ5MzU5MTMwODZdLCBbMTY2MzczOTM4MC4zODQ3NDY4LCAxMjc1MywgMS4xMTM5NTA3MjkzNzAxMTcyXSwgWzE2NjM3MzkzODAuNDg2OTg0MywgMTI3NjIsIDEuMTEzNzY3NjIzOTAxMzY3Ml0sIFsxNjYzNzM5MzgwLjYzMDQ1OCwgMTI3ODAsIDEuMTc5MzI3OTY0NzgyNzE0OF0sIFsxNjYzNzM5MzgwLjc5MDA1LCAxMjc5OCwgMS4xNzQwMDE0NTUzMDcwMDY4XSwgWzE2NjM3MzkzODAuODYyNTA2LCAxMjgwNywgMS4yMDc3ODg3MDU4MjU4MDU3XSwgWzE2NjM3MzkzODEuNTgwNTE4NSwgMTI4ODgsIDEuMTM3NTkxMjQyNzkwMjIyMl0sIFsxNjYzNzM5MzgxLjY1MDMwMDcsIDEyODk3LCAxLjE2NTMxNDMxNjc0OTU3MjhdLCBbMTY2MzczOTM4MS43MTUxNDgsIDEyOTA2LCAxLjE1NzYyMzE3MTgwNjMzNTRdLCBbMTY2MzczOTM4MS43OTM0MTcyLCAxMjkxNSwgMS4xNDc1OTk2OTcxMTMwMzddLCBbMTY2MzczOTM4MS45Mjc1OTU0LCAxMjkzMywgMS4wOTkzMzI5Mjg2NTc1MzE3XSwgWzE2NjM3MzkzODIuMDU5MTM5MywgMTI5NTEsIDEuMTUzOTAzOTYxMTgxNjQwNl0sIFsxNjYzNzM5MzgyLjEyNDc2MSwgMTI5NjAsIDEuMTU3Mjg0ODU1ODQyNTkwM10sIFsxNjYzNzM5MzgyLjIwMjI4NDYsIDEyOTY5LCAxLjEwNjc3MTcwNzUzNDc5XSwgWzE2NjM3MzkzODIuMjcxMjk5NiwgMTI5NzgsIDEuMTgwNjkxMzYxNDI3MzA3MV0sIFsxNjYzNzM5MzgyLjY2MDM3NjMsIDEzMDA1LCAxLjEwNDQzNjg3NDM4OTY0ODRdLCBbMTY2MzczOTM4Mi44MDY4MjI1LCAxMzAyMywgMS4xMDA2Nzk4NzQ0MjAxNjZdLCBbMTY2MzczOTM4Mi44ODUyMTMsIDEzMDMyLCAxLjA5ODAxNDQ3MzkxNTFdLCBbMTY2MzczOTM4Mi45NTgxNDcsIDEzMDQxLCAxLjEzNjI1MTIxMTE2NjM4MThdLCBbMTY2MzczOTM4My4wMzA1NDIxLCAxMzA1MCwgMS4xMjg1NjI4MDgwMzY4MDQyXSwgWzE2NjM3MzkzODMuMTA3NDg4OSwgMTMwNTksIDEuMTE3NTg5OTUwNTYxNTIzNF0sIFsxNjYzNzM5MzgzLjE5MTUxMjMsIDEzMDY4LCAxLjExMzk3OTQ1ODgwODg5OV0sIFsxNjYzNzM5MzgzLjI2ODc2ODUsIDEzMDc3LCAxLjE3MzA3NjM5MTIyMDA5MjhdLCBbMTY2MzczOTM4My40MDczNTc3LCAxMzA5NSwgMS4xNTYyODMyNTkzOTE3ODQ3XSwgWzE2NjM3MzkzODMuNDczLCAxMzEwNCwgMS4yMTU2MzYyNTMzNTY5MzM2XSwgWzE2NjM3MzkzODMuNTU1NDM1NCwgMTMxMTMsIDEuMjQyMDY1MzEwNDc4MjEwNF0sIFsxNjYzNzM5MzgzLjYzMjk2NTgsIDEzMTIyLCAxLjIwNDUxMzQzMDU5NTM5OF0sIFsxNjYzNzM5MzgzLjcwMjE0MDMsIDEzMTMxLCAxLjIxNDQzNzAwNzkwNDA1MjddLCBbMTY2MzczOTM4My43NzAxOTIxLCAxMzE0MCwgMS4yNTM0NjA3NjQ4ODQ5NDg3XSwgWzE2NjM3MzkzODMuODM5Nzk3NywgMTMxNDksIDEuMTEzOTEyOTQwMDI1MzI5Nl0sIFsxNjYzNzM5MzgzLjkwOTMyMjMsIDEzMTU4LCAxLjExODM5NTU2Njk0MDMwNzZdLCBbMTY2MzczOTM4My45ODI2NTMsIDEzMTY3LCAxLjA5MzcyOTczNDQyMDc3NjRdLCBbMTY2MzczOTM4NC4wNTI4MTQsIDEzMTc2LCAxLjEwNDEwNjU0NTQ0ODMwMzJdLCBbMTY2MzczOTM4NC4xMjcwMjEzLCAxMzE4NSwgMS4yMDc4Nzc4NzQzNzQzODk2XSwgWzE2NjM3MzkzODQuNTUxNDMxNywgMTMyMzksIDEuMTk1OTM5Nzc5MjgxNjE2Ml0sIFsxNjYzNzM5Mzg0Ljc4OTQxNzcsIDEzMjY2LCAxLjE5NTk0NzA1MTA0ODI3ODhdLCBbMTY2MzczOTM4NC44NjkzODQ1LCAxMzI3NSwgMS4xNTY2Mjc1MzU4MjAwMDczXSwgWzE2NjM3MzkzODUuMDI4Mjg2NSwgMTMyOTMsIDEuMTE4ODE3OTI1NDUzMTg2XSwgWzE2NjM3MzkzODUuMTAyOTUzMiwgMTMzMDIsIDEuMTQyMjMxNDY0Mzg1OTg2M10sIFsxNjYzNzM5Mzg1LjQwOTk3MjcsIDEzMzM4LCAxLjEzMjg5ODQ0OTg5Nzc2NjFdLCBbMTY2MzczOTM4NS41MDE1NTQsIDEzMzQ3LCAxLjEzMzYxNTM3NDU2NTEyNDVdLCBbMTY2MzczOTM4NS41ODIxNTQzLCAxMzM1NiwgMS4xNzU1NzI4NzIxNjE4NjUyXSwgWzE2NjM3MzkzODUuNjYzOTc5LCAxMzM2NSwgMS4xMDIyMzkzNzAzNDYwNjkzXSwgWzE2NjM3MzkzODUuODc3MDQ2NiwgMTMzOTIsIDEuMTEzMTYzNTkwNDMxMjEzNF0sIFsxNjYzNzM5Mzg1Ljk0NTg1MjUsIDEzNDAxLCAxLjEzMzY4NTQ2OTYyNzM4MDRdLCBbMTY2MzczOTM4Ni4wMTIzNjI1LCAxMzQxMCwgMS4xNTcwODU0MTg3MDExNzE5XSwgWzE2NjM3MzkzODYuMDk0MjMzLCAxMzQxOSwgMS4xODE2ODc4MzE4Nzg2NjJdLCBbMTY2MzczOTM4Ni4xNjIyNzgyLCAxMzQyOCwgMS4xNTQxOTY4NTg0MDYwNjddLCBbMTY2MzczOTM4Ni4zMTMzNDQ1LCAxMzQ0NiwgMS4xMTM1NzIzNTkwODUwODNdLCBbMTY2MzczOTM4Ni4zODIxOTMsIDEzNDU1LCAxLjEzNjQwOTUyMTEwMjkwNTNdLCBbMTY2MzczOTM4Ni42NjY0NzA4LCAxMzQ5MSwgMS4yMDQ1MDExNTIwMzg1NzQyXSwgWzE2NjM3MzkzODYuNzM2NTc3MywgMTM1MDAsIDEuMTk2ODY1MzIwMjA1Njg4NV0sIFsxNjYzNzM5Mzg2LjgwNTIyODIsIDEzNTA5LCAxLjE5ODQzMDI5OTc1ODkxMTFdLCBbMTY2MzczOTM4Ni45NTkyMjU0LCAxMzUyNywgMS4xMzkwNDExODUzNzkwMjgzXSwgWzE2NjM3MzkzODcuMTc4MjYzNywgMTM1NTQsIDEuMTIwNDU2NTc2MzQ3MzUxXSwgWzE2NjM3MzkzODcuNDUzMTY0NiwgMTM1OTAsIDEuMTI0MDQyNjMwMTk1NjE3N10sIFsxNjYzNzM5Mzg3LjUyODQ2NDYsIDEzNTk5LCAxLjExMTgxMTg3NjI5Njk5N10sIFsxNjYzNzM5Mzg3LjU5OTM5ODEsIDEzNjA4LCAxLjEwOTg2MTEzNTQ4Mjc4OF0sIFsxNjYzNzM5Mzg3LjY3MDA5MjgsIDEzNjE3LCAxLjExMTYyOTcyNDUwMjU2MzVdLCBbMTY2MzczOTM4Ny43NDU3MjU5LCAxMzYyNiwgMS4xMDI2NTg4Njc4MzU5OTg1XSwgWzE2NjM3MzkzODcuODg1ODM3MywgMTM2NDQsIDEuMDk5MzAxNjk1ODIzNjY5NF0sIFsxNjYzNzM5Mzg3Ljk2NjgyMSwgMTM2NTMsIDEuMTIxMTEwMzIwMDkxMjQ3Nl0sIFsxNjYzNzM5Mzg4LjY3NTE4NTIsIDEzNzE2LCAxLjExODU4MTI5NTAxMzQyNzddLCBbMTY2MzczOTM4OC45MDc0NTUsIDEzNzQzLCAxLjEyNTEwNDU0NjU0NjkzNl0sIFsxNjYzNzM5Mzg5LjA2NTQ4MDUsIDEzNzYxLCAxLjE0OTM4OTYyNDU5NTY0Ml0sIFsxNjYzNzM5Mzg5LjIyMDM0LCAxMzc3OSwgMS4wOTMzNjk5NjA3ODQ5MTJdLCBbMTY2MzczOTM4OS40MzIyOTksIDEzODA2LCAxLjEwODg1Nzc1MDg5MjYzOTJdLCBbMTY2MzczOTM4OS41MDI1Mzg0LCAxMzgxNSwgMS4yMTEyMzg2MjI2NjU0MDUzXSwgWzE2NjM3MzkzODkuNzA2OTkyNiwgMTM4NDIsIDEuMDg4NzMxMDUwNDkxMzMzXSwgWzE2NjM3MzkzODkuNzgxMzEzMiwgMTM4NTEsIDEuMTE4NTI3NjUwODMzMTI5OV0sIFsxNjYzNzM5Mzg5LjkxMTk2NjMsIDEzODY5LCAxLjEwODkwODI5NTYzMTQwODddLCBbMTY2MzczOTM4OS45NzU2Mzg5LCAxMzg3OCwgMS4xMDQxNTE0ODczNTA0NjM5XSwgWzE2NjM3MzkzOTAuMjU5MDYzNSwgMTM5MTQsIDEuMTM1MDcwMDg1NTI1NTEyN10sIFsxNjYzNzM5MzkwLjQxNTU3MywgMTM5MzIsIDEuMTA4NzUyMTMxNDYyMDk3Ml0sIFsxNjYzNzM5MzkwLjQ4NTM2MTYsIDEzOTQxLCAxLjE0ODA3MDIxNjE3ODg5NF0sIFsxNjYzNzM5MzkwLjcwMzMzNDgsIDEzOTY4LCAxLjExMTU0OTczNTA2OTI3NV0sIFsxNjYzNzM5MzkwLjc2NjgwNCwgMTM5NzcsIDEuMTQxNzgzNzE0Mjk0NDMzNl0sIFsxNjYzNzM5MzkwLjgzNDY5MzcsIDEzOTg2LCAxLjEzODkzOTQ5OTg1NTA0MTVdLCBbMTY2MzczOTM5MC45Njg0NDcyLCAxNDAwNCwgMS4xNDQ4NzY5NTY5Mzk2OTczXSwgWzE2NjM3MzkzOTEuMDk3NDQ3NiwgMTQwMjIsIDEuMTUzNzcxNjM4ODcwMjM5M10sIFsxNjYzNzM5MzkxLjI4MjEyOSwgMTQwNDAsIDEuMTM3NTUxOTAzNzI0NjcwNF0sIFsxNjYzNzM5MzkxLjUwMjgwMzgsIDE0MDQ5LCAxLjEyMjg4Nzg0OTgwNzczOTNdLCBbMTY2MzczOTM5MS42NTU0MDQzLCAxNDA2NywgMS4xMDYwMzMyMDU5ODYwMjNdLCBbMTY2MzczOTM5MS44MTQ0NDA3LCAxNDA4NSwgMS4xMTU5NDU5MzUyNDkzMjg2XSwgWzE2NjM3MzkzOTEuODk0ODQ5LCAxNDA5NCwgMS4xMTQ4Nzk5NjU3ODIxNjU1XSwgWzE2NjM3MzkzOTEuOTcwOTksIDE0MTAzLCAxLjE0MDcyNzUxOTk4OTAxMzddLCBbMTY2MzczOTM5Mi4xMjk2NzQsIDE0MTIxLCAxLjA4NzUwMzA3NTU5OTY3MDRdLCBbMTY2MzczOTM5Mi4yOTMwMjkzLCAxNDEzOSwgMS4xMjM5MjkzODEzNzA1NDQ0XSwgWzE2NjM3MzkzOTIuMzY2MDUyOSwgMTQxNDgsIDEuMTE4NTE5NzgzMDIwMDE5NV0sIFsxNjYzNzM5MzkyLjQzNDM1MiwgMTQxNTcsIDEuMTM1NTYxMjI3Nzk4NDYyXSwgWzE2NjM3MzkzOTIuNTE0MDkxNSwgMTQxNjYsIDEuMDgyNjUwNTQyMjU5MjE2M10sIFsxNjYzNzM5MzkyLjU5MjY5OCwgMTQxNzUsIDEuMTA3MjMzNTI0MzIyNTA5OF0sIFsxNjYzNzM5MzkyLjc0MDY4NSwgMTQxOTMsIDEuMTA1MjQ2MDY3MDQ3MTE5MV0sIFsxNjYzNzM5MzkyLjkwNDM3NywgMTQyMTEsIDEuMDk3OTcxMzIwMTUyMjgyN10sIFsxNjYzNzM5MzkzLjAwNjg0MSwgMTQyMjAsIDEuMTA1NjkxNzkwNTgwNzQ5NV0sIFsxNjYzNzM5MzkzLjA5ODcyNTYsIDE0MjI5LCAxLjA5NzE1MzkwMjA1MzgzM10sIFsxNjYzNzM5MzkzLjE2NTIwNjcsIDE0MjM4LCAxLjA5MjU0ODEzMTk0Mjc0OV0sIFsxNjYzNzM5MzkzLjIzODcwOCwgMTQyNDcsIDEuMTA4Nzk5OTM0Mzg3MjA3XSwgWzE2NjM3MzkzOTMuNjA4ODE0LCAxNDI3NCwgMS4xNTE3MTU3NTU0NjI2NDY1XSwgWzE2NjM3MzkzOTQuMTY3NzU1MSwgMTQzMTksIDEuMDk5NzE1NTkwNDc2OTg5N10sIFsxNjYzNzM5Mzk0LjQ5Nzk4NzMsIDE0MzY0LCAxLjExNzkxNzg5NTMxNzA3NzZdLCBbMTY2MzczOTM5NC41ODc2NDc3LCAxNDM3MywgMS4xNzMxOTc3NDYyNzY4NTU1XSwgWzE2NjM3MzkzOTQuNjY2MjU4NiwgMTQzODIsIDEuMTYyMzYyMDk4NjkzODQ3N10sIFsxNjYzNzM5Mzk0Ljk0MjIzMDIsIDE0NDE4LCAxLjEwMTI2NzIxODU4OTc4MjddLCBbMTY2MzczOTM5NS4wMTA0MzkyLCAxNDQyNywgMS4xMDExNjI0MzM2MjQyNjc2XSwgWzE2NjM3MzkzOTUuMDgwODgwNiwgMTQ0MzYsIDEuMTIyOTIzNzMxODAzODk0XSwgWzE2NjM3MzkzOTUuNzQyNDExOSwgMTQ0OTksIDEuMTM2MjI4MDg0NTY0MjA5XSwgWzE2NjM3MzkzOTUuODExNDE5NSwgMTQ1MDgsIDEuMTYxNTE3MjYyNDU4ODAxM10sIFsxNjYzNzM5Mzk1Ljk0NDkwNSwgMTQ1MjYsIDEuMTEzMzQ3NTMwMzY0OTkwMl0sIFsxNjYzNzM5Mzk2LjAxNDcxOSwgMTQ1MzUsIDEuMTQ1MzE4MTUwNTIwMzI0N10sIFsxNjYzNzM5Mzk2LjA4Mzg2ODMsIDE0NTQ0LCAxLjEyNTk1ODA4NTA2MDExOTZdLCBbMTY2MzczOTM5Ni4xNDY0OTYsIDE0NTUzLCAxLjExNzQ0NjMwMzM2NzYxNDddLCBbMTY2MzczOTM5Ni4yMjE3MzM2LCAxNDU2MiwgMS4wOTQwODA5MjQ5ODc3OTNdLCBbMTY2MzczOTM5Ni40NDE4MTIsIDE0NTg5LCAxLjA5OTUyNzAwMTM4MDkyMDRdLCBbMTY2MzczOTM5Ni41ODYwMDksIDE0NjA3LCAxLjExMDk5NzkxNTI2Nzk0NDNdLCBbMTY2MzczOTM5Ni43NTU2MjksIDE0NjI1LCAxLjE1Njc3NTcxMjk2NjkxOV0sIFsxNjYzNzM5Mzk2Ljg5Mjk0MDUsIDE0NjQzLCAxLjEwMzA3ODQ4NDUzNTIxNzNdLCBbMTY2MzczOTM5Ni45NjUyNzMxLCAxNDY1MiwgMS4xMTE4MjkwNDI0MzQ2OTI0XSwgWzE2NjM3MzkzOTcuMTYxNTc1OCwgMTQ2NzksIDEuMTQ2NDM5MDc1NDY5OTcwN10sIFsxNjYzNzM5Mzk3LjIyODk4OTQsIDE0Njg4LCAxLjE3OTMxNDAxNzI5NTgzNzRdLCBbMTY2MzczOTM5Ny41MTMzNjEsIDE0NzI0LCAxLjEwNzAwOTA1MzIzMDI4NTZdLCBbMTY2MzczOTM5Ny42MDI5MDc0LCAxNDczMywgMS4xMzExMjQwMTk2MjI4MDI3XSwgWzE2NjM3MzkzOTcuNjc0NTc4NywgMTQ3NDIsIDEuMDg5MTQyNTYwOTU4ODYyM10sIFsxNjYzNzM5Mzk3Ljc0NjQ4OTgsIDE0NzUxLCAxLjEzNjA3NDc4MTQxNzg0NjddLCBbMTY2MzczOTM5Ny45NjkwMzgsIDE0NzY5LCAxLjA4MDA1MTQyMjExOTE0MDZdLCBbMTY2MzczOTM5OC4xNDc0NjcsIDE0Nzc4LCAxLjExMDk0MDgxNDAxODI0OTVdLCBbMTY2MzczOTM5OC41MjI3MzU2LCAxNDgyMywgMS4xMDQzNTI5NTEwNDk4MDQ3XSwgWzE2NjM3MzkzOTguNTk0MzU0NCwgMTQ4MzIsIDEuMTA2MzM3Nzg1NzIwODI1Ml0sIFsxNjYzNzM5Mzk4Ljc0Njg5MjUsIDE0ODUwLCAxLjEyNTQyMTc2MjQ2NjQzMDddLCBbMTY2MzczOTM5OC44OTAyMzMzLCAxNDg2OCwgMS4wOTI4MTE3MDM2ODE5NDU4XSwgWzE2NjM3MzkzOTguOTU4NDgzLCAxNDg3NywgMS4xMDQ5NDY2MTMzMTE3Njc2XSwgWzE2NjM3MzkzOTkuMDI4ODczNywgMTQ4ODYsIDEuMTE4OTU5MTg4NDYxMzAzN10sIFsxNjYzNzM5Mzk5LjEyNTM2OTgsIDE0ODk1LCAxLjE4NDQ3MzM5NTM0NzU5NTJdLCBbMTY2MzczOTM5OS4yNzczMDI3LCAxNDkxMywgMS4xMDA2MjM3MjY4NDQ3ODc2XSwgWzE2NjM3MzkzOTkuNDEzMTIwMywgMTQ5MzEsIDEuMTI1NTMyNTA3ODk2NDIzM10sIFsxNjYzNzM5Mzk5LjQ3NDkzNTUsIDE0OTQwLCAxLjA5NjcwNDAwNjE5NTA2ODRdLCBbMTY2MzczOTM5OS43MjQ0NjQsIDE0OTY3LCAxLjExOTE1MzczODAyMTg1MDZdLCBbMTY2MzczOTM5OS44Nzk0NzQyLCAxNDk4NSwgMS4wOTMzMTM1NzQ3OTA5NTQ2XSwgWzE2NjM3Mzk0MDAuMDI2NDM4MiwgMTUwMDMsIDEuMTczNzg2NjQwMTY3MjM2M10sIFsxNjYzNzM5NDAwLjI0MjA4MjgsIDE1MDMwLCAxLjEwMDYwMzgxODg5MzQzMjZdLCBbMTY2MzczOTQwMC4zMjEwNDUyLCAxNTAzOSwgMS4xMTgyMDg1Mjc1NjUwMDI0XSwgWzE2NjM3Mzk0MDAuODA3MTM3LCAxNTA3NSwgMS4wOTg3NTU0Nzg4NTg5NDc4XSwgWzE2NjM3Mzk0MDEuMDE1NTc3OCwgMTUxMDIsIDEuMTA5NTUxOTA2NTg1NjkzNF0sIFsxNjYzNzM5NDAxLjE0NTIyMzYsIDE1MTIwLCAxLjExMzM2MDI4NTc1ODk3MjJdLCBbMTY2MzczOTQwMS4yMTk0MjMsIDE1MTI5LCAxLjExODU1MTM3MzQ4MTc1MDVdLCBbMTY2MzczOTQwMS4yODg0NTIxLCAxNTEzOCwgMS4xNTg2NDQ3OTU0MTc3ODU2XSwgWzE2NjM3Mzk0MDEuMzUyOTUzNCwgMTUxNDcsIDEuMTMzMTE3OTE0MTk5ODI5XSwgWzE2NjM3Mzk0MDEuNTYxODM4LCAxNTE3NCwgMS4yMTI1NjkyMzY3NTUzNzFdLCBbMTY2MzczOTQwMS42Mzk3NTA3LCAxNTE4MywgMS4xMzA0MTA3OTA0NDM0MjA0XSwgWzE2NjM3Mzk0MDEuNzE0MDA5NSwgMTUxOTIsIDEuMTA0Njk3MzQ2Njg3MzE3XSwgWzE2NjM3Mzk0MDEuNzg4Njc5LCAxNTIwMSwgMS4xMTA3OTY5Mjg0MDU3NjE3XSwgWzE2NjM3Mzk0MDEuODU4MTU0OCwgMTUyMTAsIDEuMTA0NDQ0MjY1MzY1NjAwNl0sIFsxNjYzNzM5NDAxLjkyNjIxMSwgMTUyMTksIDEuMTA3ODI0NjgzMTg5MzkyXSwgWzE2NjM3Mzk0MDIuMTMyNDgzLCAxNTI0NiwgMS4wNjk2MjI5OTM0NjkyMzgzXSwgWzE2NjM3Mzk0MDIuMjAxNjM5LCAxNTI1NSwgMS4wODI3NTQ5Njk1OTY4NjI4XSwgWzE2NjM3Mzk0MDIuMjY4MTQxLCAxNTI2NCwgMS4xMjAzNTEzMTQ1NDQ2Nzc3XSwgWzE2NjM3Mzk0MDIuNDA0MTE2NCwgMTUyODIsIDEuMjk3NTQxMzc5OTI4NTg4OV0sIFsxNjYzNzM5NDAyLjQ3MDA1NjMsIDE1MjkxLCAxLjEyNTkwNjU4NjY0NzAzMzddLCBbMTY2MzczOTQwMi41MzcyNzgyLCAxNTMwMCwgMS4wOTkwMjI4NjUyOTU0MTAyXSwgWzE2NjM3Mzk0MDIuNjA2MTUsIDE1MzA5LCAxLjE0NTI3NTgzMTIyMjUzNDJdLCBbMTY2MzczOTQwMi42ODMzOTcsIDE1MzE4LCAxLjEyNTMwMzUwNjg1MTE5NjNdLCBbMTY2MzczOTQwMi43NTQ5NDAzLCAxNTMyNywgMS4xNzY4NDAxODYxMTkwNzk2XSwgWzE2NjM3Mzk0MDIuOTA2MTQ3MiwgMTUzNDUsIDEuMTU0NjM1MDcxNzU0NDU1Nl0sIFsxNjYzNzM5NDAzLjEzNDU2ODcsIDE1MzcyLCAxLjEwMzY1MTI4NTE3MTUwODhdLCBbMTY2MzczOTQwMy4yODc3MTksIDE1MzkwLCAxLjExNDQ1MDA5NzA4NDA0NTRdLCBbMTY2MzczOTQwMy4zNTQwODAyLCAxNTM5OSwgMS4wOTc3MDkxNzg5MjQ1NjA1XSwgWzE2NjM3Mzk0MDMuNDIwOTUyNiwgMTU0MDgsIDEuMTI0MzI0Nzk4NTgzOTg0NF0sIFsxNjYzNzM5NDAzLjUxMzMyMjQsIDE1NDE3LCAxLjA5MDY5ODQ4MDYwNjA3OV0sIFsxNjYzNzM5NDAzLjc5MTU4MTQsIDE1NDUzLCAxLjEwNzU4Mzk5OTYzMzc4OV0sIFsxNjYzNzM5NDAzLjk2MDA3NDIsIDE1NDcxLCAxLjEyMDgyNTUyOTA5ODUxMDddLCBbMTY2MzczOTQwNC4wMzM0MjA2LCAxNTQ4MCwgMS4xNjM3MTkyOTY0NTUzODMzXSwgWzE2NjM3Mzk0MDQuMjYzMjg2OCwgMTU1MDcsIDEuMTczNDQ2ODkzNjkyMDE2Nl0sIFsxNjYzNzM5NDA0LjMzNjY3MSwgMTU1MTYsIDEuMTIwMDc1NzAyNjY3MjM2M10sIFsxNjYzNzM5NDA0LjQwMDc1NzgsIDE1NTI1LCAxLjE0OTEyODc5NDY3MDEwNV0sIFsxNjYzNzM5NDA0LjQ4NTQzMzYsIDE1NTM0LCAxLjEyMzQ4ODc4MzgzNjM2NDddLCBbMTY2MzczOTQwNS4xNTcwOTUsIDE1NTc5LCAxLjMxNjQzOTM5MDE4MjQ5NTFdLCBbMTY2MzczOTQwNS45Mzc4NzMsIDE1NjUxLCAxLjA5Mjg5MzEyMzYyNjcwOV0sIFsxNjYzNzM5NDA2LjAxMzU1MTcsIDE1NjYwLCAxLjE1MzQwNTc4NTU2MDYwOF0sIFsxNjYzNzM5NDA2LjA4ODIwODIsIDE1NjY5LCAxLjEzMjkwMTY2ODU0ODU4NF0sIFsxNjYzNzM5NDA2LjMyNzM3MjMsIDE1Njk2LCAxLjE1MjM1OTQ4NTYyNjIyMDddLCBbMTY2MzczOTQwNi40OTY4NDM2LCAxNTcxNCwgMS4wODk2MDkyNjUzMjc0NTM2XSwgWzE2NjM3Mzk0MDYuNTc0OTQ2OSwgMTU3MjMsIDEuMTE4MTg5OTMwOTE1ODMyNV0sIFsxNjYzNzM5NDA2Ljg1MTQ0NzgsIDE1NzMyLCAxLjE2OTI1NTczMzQ4OTk5MDJdLCBbMTY2MzczOTQwNi45NTA5MjQsIDE1NzQxLCAxLjE1OTQwNDUxNjIyMDA5MjhdLCBbMTY2MzczOTQwNy4wNDM1OTMsIDE1NzUwLCAxLjEyMTQxODU5NTMxNDAyNTldLCBbMTY2MzczOTQwNy4xMjQ1NiwgMTU3NTksIDEuMTYwODcyOTM2MjQ4Nzc5M10sIFsxNjYzNzM5NDA3LjIxNTczNjQsIDE1NzY4LCAxLjE4NTE4NDgzNjM4NzYzNDNdLCBbMTY2MzczOTQwNy40NDgwOTQ0LCAxNTc4NiwgMS4wODYxMDkxNjEzNzY5NTMxXSwgWzE2NjM3Mzk0MDcuNTE5NDYwMiwgMTU3OTUsIDEuMTAzODQzOTI3MzgzNDIyOV0sIFsxNjYzNzM5NDA3Ljc1NzgwMjcsIDE1ODIyLCAxLjEyMTY4NTE0NzI4NTQ2MTRdLCBbMTY2MzczOTQwOC4xNTIzNDA3LCAxNTg2NywgMS4xNTc0MjA3NTQ0MzI2NzgyXSwgWzE2NjM3Mzk0MDguMjI1MzA3MiwgMTU4NzYsIDEuMTI2MjE3MjQ2MDU1NjAzXSwgWzE2NjM3Mzk0MDguMzY4NjYzMywgMTU4OTQsIDEuMTMwMDg0ODcyMjQ1Nzg4Nl0sIFsxNjYzNzM5NDA4LjQ1MTE0NywgMTU5MDMsIDEuMTI2NjcyNzQ0NzUwOTc2Nl0sIFsxNjYzNzM5NDA4LjU5NDg0MSwgMTU5MjEsIDEuMTc1NzYzMDEwOTc4Njk4N11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_09-04-50_8f860c94f07e&tag=Loss%2Ftrain":{"data":"W1sxNjYzNzUxMDkwLjQ1OTg3NjgsIDQ1LCAxMjcuMjMzNzE4ODcyMDcwMzFdLCBbMTY2Mzc1MTA5MS4zNTY5OTQ2LCAxMzUsIDExNS45MDEzNzQ4MTY4OTQ1M10sIFsxNjYzNzUxMDkxLjQ0ODQyMSwgMTQ0LCAxMTMuNDIxMzc5MDg5MzU1NDddLCBbMTY2Mzc1MTA5MS45MjYzMjA2LCAxNzEsIDExMC4zODI0MzEwMzAyNzM0NF0sIFsxNjYzNzUxMDkyLjAyMzk2OTcsIDE4MCwgMTA5LjY3MDAzNjMxNTkxNzk3XSwgWzE2NjM3NTEwOTIuNjU1Mjg1NiwgMjQzLCAxMDQuMzQ0Mjc2NDI4MjIyNjZdLCBbMTY2Mzc1MTA5Mi43NDg4NjksIDI1MiwgMTA0LjM1MTg2NzY3NTc4MTI1XSwgWzE2NjM3NTEwOTMuOTkxODYzNSwgMzY5LCA5MS4xMDk5NDcyMDQ1ODk4NF0sIFsxNjYzNzUxMDk0LjY5MDM3NzcsIDQzMiwgODYuMjY0NjAyNjYxMTMyODFdLCBbMTY2Mzc1MTA5NC43OTM1MDE0LCA0NDEsIDg1LjQyMzE3OTYyNjQ2NDg0XSwgWzE2NjM3NTEwOTQuODc3ODAyMSwgNDUwLCA4My4zNDE1MDY5NTgwMDc4MV0sIFsxNjYzNzUxMDk2LjE3MDY1MiwgNTY3LCA3NC41MDI1OTM5OTQxNDA2Ml0sIFsxNjYzNzUxMDk2LjI2ODA2LCA1NzYsIDcxLjYzNTI1MzkwNjI1XSwgWzE2NjM3NTEwOTYuNjM1Njg1NCwgNjEyLCA2OC40OTk0MzU0MjQ4MDQ2OV0sIFsxNjYzNzUxMDk2Ljk3MzI1NzMsIDYzOSwgNjcuOTkyMzAxOTQwOTE3OTddLCBbMTY2Mzc1MTA5Ny4wNjk1NDksIDY0OCwgNjYuNzk3MDQyODQ2Njc5NjldLCBbMTY2Mzc1MTA5Ny42ODAxNDQ1LCA3MDIsIDYzLjczNzkwNzQwOTY2Nzk3XSwgWzE2NjM3NTEwOTguMTY1MDczOSwgNzQ3LCA2MS4zMjQwNjYxNjIxMDkzNzVdLCBbMTY2Mzc1MTA5OC44MDY2MDksIDgxMCwgNTcuMjIxMjI5NTUzMjIyNjU2XSwgWzE2NjM3NTEwOTkuNjY3NDU3LCA5MDAsIDU0LjAxMzMxNzEwODE1NDNdLCBbMTY2Mzc1MTA5OS45NzkzMTIsIDkzNiwgNTIuMTU5MzM5OTA0Nzg1MTU2XSwgWzE2NjM3NTExMDAuNTcwMTA0LCA5NzIsIDUyLjIwNzczMzE1NDI5Njg3NV0sIFsxNjYzNzUxMTAxLjc5NjUwNjQsIDEwOTgsIDQ3LjQ2NTg4MTM0NzY1NjI1XSwgWzE2NjM3NTExMDIuMjA1MDA2OCwgMTEzNCwgNDguMjA0MzgwMDM1NDAwMzldLCBbMTY2Mzc1MTEwMi4yNzQ0MTM2LCAxMTQzLCA0Ny4zODExNDkyOTE5OTIxOV0sIFsxNjYzNzUxMTAyLjQyNDU4MjUsIDExNjEsIDQ2LjY4ODIyNDc5MjQ4MDQ3XSwgWzE2NjM3NTExMDIuNTgxOTIzLCAxMTc5LCA0Ni4yNTI1Nzg3MzUzNTE1Nl0sIFsxNjYzNzUxMTAzLjAyMjU2NTgsIDEyMzMsIDQ1Ljc4OTQ4MjExNjY5OTIyXSwgWzE2NjM3NTExMDMuNzI2MTQ4NiwgMTMwNSwgNDMuNzM2MTk0NjEwNTk1N10sIFsxNjYzNzUxMTAzLjkxOTMzNywgMTMyMywgNDMuMjQ1NTkwMjA5OTYwOTRdLCBbMTY2Mzc1MTEwMy45ODg3ODY3LCAxMzMyLCA0NC4zMTA5NTg4NjIzMDQ2OV0sIFsxNjYzNzUxMTA0LjI1MzgxOCwgMTM1OSwgNDMuMzkyMjg4MjA4MDA3ODFdLCBbMTY2Mzc1MTEwNS4wMzE0NDE1LCAxNDIyLCA0Mi4xMzEzNDAwMjY4NTU0N10sIFsxNjYzNzUxMTA1LjI1OTAwMzYsIDE0NDksIDQyLjc3MDA5OTYzOTg5MjU4XSwgWzE2NjM3NTExMDUuNDEwODY3MiwgMTQ2NywgNDEuMDQ5MzAxMTQ3NDYwOTRdLCBbMTY2Mzc1MTEwNS41NTY3MDI0LCAxNDg1LCA0Mi4wMjAzODU3NDIxODc1XSwgWzE2NjM3NTExMDYuMTM1MzAxOCwgMTU1NywgNDEuMTAwODg3Mjk4NTgzOTg0XSwgWzE2NjM3NTExMDYuNTAwNDc3NiwgMTYwMiwgNDAuNTI0MjA4MDY4ODQ3NjU2XSwgWzE2NjM3NTExMDcuMDA2MzM1MywgMTY2NSwgNDAuNDg5MTg5MTQ3OTQ5MjJdLCBbMTY2Mzc1MTEwNy4wODgwMTQsIDE2NzQsIDQwLjEyNTI3ODQ3MjkwMDM5XSwgWzE2NjM3NTExMDcuNTU3NzUxLCAxNzI4LCAzOS41NjA0MzI0MzQwODIwM10sIFsxNjYzNzUxMTA3LjgyOTgzNjgsIDE3MzcsIDQwLjIxNTQ2MTczMDk1NzAzXSwgWzE2NjM3NTExMDguNjM4NDc5NywgMTgzNiwgMzkuMTk0MTQxMzg3OTM5NDVdLCBbMTY2Mzc1MTEwOC43ODM5MDA3LCAxODU0LCAzOS43MzA1NDg4NTg2NDI1OF0sIFsxNjYzNzUxMTA5LjM5ODg0NTIsIDE5MjYsIDM4LjU4NzU0NzMwMjI0NjA5NF0sIFsxNjYzNzUxMTEwLjY4MjcxMDQsIDIwNzAsIDM5LjE4OTY4MjAwNjgzNTk0XSwgWzE2NjM3NTExMTEuOTUyMjM1LCAyMjA1LCAzOC41Nzg3MTI0NjMzNzg5MDZdLCBbMTY2Mzc1MTExMi4wNDgwODg4LCAyMjE0LCAzOC42MDc4Mzc2NzcwMDE5NV0sIFsxNjYzNzUxMTEzLjA1OTUzNjUsIDIzMzEsIDM4LjYxNTgyOTQ2Nzc3MzQ0XSwgWzE2NjM3NTExMTMuMTM4NzQ0LCAyMzQwLCAzOC4xOTA5Mjk0MTI4NDE4XSwgWzE2NjM3NTExMTQuMTQ0NDI1NCwgMjQ0OCwgMzcuOTE3Njg2NDYyNDAyMzQ0XSwgWzE2NjM3NTExMTQuNTExODM3NSwgMjQ3NSwgMzcuODMyMTM0MjQ2ODI2MTddLCBbMTY2Mzc1MTExNS41NTY2Nzc4LCAyNTQ3LCAzNy42NTMzNjYwODg4NjcxOV0sIFsxNjYzNzUxMTE1Ljc5MTU2NjQsIDI1NzQsIDM3LjY5ODI5NTU5MzI2MTcyXSwgWzE2NjM3NTExMTYuMDA3Mzc5LCAyNjAxLCAzNy4yOTQ4NjQ2NTQ1NDEwMTZdLCBbMTY2Mzc1MTExNi4xNjY0NjYsIDI2MTksIDM3LjU5MjQ3NTg5MTExMzI4XSwgWzE2NjM3NTExMTYuNTU5ODYzNiwgMjY2NCwgMzcuMzA4MjA4NDY1NTc2MTddLCBbMTY2Mzc1MTExNi43MDUzOTYsIDI2ODIsIDM3LjYyMjQyNTA3OTM0NTddLCBbMTY2Mzc1MTExNy42ODY0NjEsIDI3ODEsIDM2LjY0MzUxMjcyNTgzMDA4XSwgWzE2NjM3NTExMTguMDM2Mzc2LCAyODE3LCAzNi4xMjYyMzIxNDcyMTY4XSwgWzE2NjM3NTExMTguMzUxOTg5NywgMjg1MywgMzYuNDEyMTIwODE5MDkxOF0sIFsxNjYzNzUxMTE4LjUwNzg4MTQsIDI4NzEsIDM2LjE3NTQzMDI5Nzg1MTU2XSwgWzE2NjM3NTExMTguNTg3NzMzNSwgMjg4MCwgMzYuNDkyMDk5NzYxOTYyODldLCBbMTY2Mzc1MTExOC44MDQyMDI4LCAyOTA3LCAzNi44MTE4NDAwNTczNzMwNV0sIFsxNjYzNzUxMTIwLjgxNjIzODksIDMxMTQsIDM1Ljg3NzI1NDQ4NjA4Mzk4NF0sIFsxNjYzNzUxMTIwLjg5NDQyNTQsIDMxMjMsIDM1LjUxNDkwNDAyMjIxNjhdLCBbMTY2Mzc1MTEyMS45ODU1NDEzLCAzMjMxLCAzNS4xMTUyMDAwNDI3MjQ2MV0sIFsxNjYzNzUxMTIyLjY2MDQyMzgsIDMyODUsIDM0LjczMjU1MTU3NDcwNzAzXSwgWzE2NjM3NTExMjIuNzI4MzYzLCAzMjk0LCAzNS4yMDQ1OTc0NzMxNDQ1M10sIFsxNjYzNzUxMTIyLjgwODA0NjMsIDMzMDMsIDM0LjYzOTcxMzI4NzM1MzUxNl0sIFsxNjYzNzUxMTIzLjkyMzQwNDUsIDM0MTEsIDM0LjM1Njc5NjI2NDY0ODQ0XSwgWzE2NjM3NTExMjQuNTI0NzYxNywgMzQ4MywgMzQuMTczNzc4NTMzOTM1NTVdLCBbMTY2Mzc1MTEyNC44MTQwMDUxLCAzNTE5LCAzMy41OTAyMjE0MDUwMjkzXSwgWzE2NjM3NTExMjQuOTYwMjE2NSwgMzUzNywgMzQuNjkyNTY5NzMyNjY2MDE2XSwgWzE2NjM3NTExMjUuMzUyMzc1NSwgMzU4MiwgMzMuNjA5MTk1NzA5MjI4NTE2XSwgWzE2NjM3NTExMjUuNzQ1NTI2NiwgMzYyNywgMzMuNzI4MzQzOTYzNjIzMDVdLCBbMTY2Mzc1MTEyNS45MTkyNzQzLCAzNjQ1LCAzMy41MzA1NTk1Mzk3OTQ5Ml0sIFsxNjYzNzUxMTI2Ljk0ODczOTUsIDM3NDQsIDMzLjUyNTU3MzczMDQ2ODc1XSwgWzE2NjM3NTExMjcuMzk1NDUxMywgMzc5OCwgMzMuMzU3MjA0NDM3MjU1ODZdLCBbMTY2Mzc1MTEyNy40Nzc0MDkxLCAzODA3LCAzMy40NDI5NjY0NjExODE2NF0sIFsxNjYzNzUxMTI4LjczNDgxNSwgMzkzMywgMzIuNjAwMzU3MDU1NjY0MDZdLCBbMTY2Mzc1MTEyOC44MDQ0MzE3LCAzOTQyLCAzMi4zNjYwNjU5NzkwMDM5MDZdLCBbMTY2Mzc1MTEyOC45NTE5ODczLCAzOTYwLCAzMi43NTQ1NTg1NjMyMzI0Ml0sIFsxNjYzNzUxMTI5LjQ3MTE4MTQsIDQwMjMsIDMyLjE4MTU1NjcwMTY2MDE1Nl0sIFsxNjYzNzUxMTMwLjIwMzEyOCwgNDA3NywgMzEuODc5OTQ5NTY5NzAyMTVdLCBbMTY2Mzc1MTEzMC40OTQ1ODgxLCA0MTEzLCAzMS45MjUzMTAxMzQ4ODc2OTVdLCBbMTY2Mzc1MTEzMC44NjQyMjM1LCA0MTU4LCAzMS4wMTEwNDkyNzA2Mjk4ODNdLCBbMTY2Mzc1MTEzMS4zNTA4NTU4LCA0MTk0LCAzMS4zMDkxMzkyNTE3MDg5ODRdLCBbMTY2Mzc1MTEzMS42Mjc3ODk3LCA0MjIxLCAzMC43MTcxMjQ5Mzg5NjQ4NDRdLCBbMTY2Mzc1MTEzMS43NzAwMTI0LCA0MjM5LCAzMS41NzE5NTA5MTI0NzU1ODZdLCBbMTY2Mzc1MTEzMi4wNjczODksIDQyNzUsIDMxLjM2NDIxNzc1ODE3ODcxXSwgWzE2NjM3NTExMzIuMTQxNjg1NywgNDI4NCwgMzEuNDY5NDQ4MDg5NTk5NjFdLCBbMTY2Mzc1MTEzMi41MTcwNTUzLCA0MzI5LCAzMC4xOTI1NjIxMDMyNzE0ODRdLCBbMTY2Mzc1MTEzMi41ODgzMTc0LCA0MzM4LCAzMC42MTIzMTk5NDYyODkwNjJdLCBbMTY2Mzc1MTEzMy4wMDk1Mjk2LCA0MzkyLCAyOS44MTMxOTIzNjc1NTM3MV0sIFsxNjYzNzUxMTM1LjAxNTkxMywgNDU5OSwgMjguMzE5MzExMTQxOTY3NzczXSwgWzE2NjM3NTExMzUuMTY5ODI4MiwgNDYxNywgMjguMDMxNjE0MzAzNTg4ODY3XSwgWzE2NjM3NTExMzUuMjQyNzUxNiwgNDYyNiwgMjguMjY0NDYxNTE3MzMzOTg0XSwgWzE2NjM3NTExMzUuMzE4MzcxNSwgNDYzNSwgMjcuNTM0MzU3MDcwOTIyODVdLCBbMTY2Mzc1MTEzNS41NTEzNzQyLCA0NjYyLCAyOC41MDExNzg3NDE0NTUwNzhdLCBbMTY2Mzc1MTEzNS42OTg3Nzg2LCA0NjgwLCAyNy41OTI0MjA1NzgwMDI5M10sIFsxNjYzNzUxMTM2LjgxNDMyNzUsIDQ4MDYsIDI3LjU2MjkxMTk4NzMwNDY4OF0sIFsxNjYzNzUxMTM2Ljg4ODY2OTMsIDQ4MTUsIDI3LjUzNDAyOTAwNjk1ODAwOF0sIFsxNjYzNzUxMTM3LjIyNTQxLCA0ODMzLCAyNy4wNzQ5ODc0MTE0OTkwMjNdLCBbMTY2Mzc1MTEzNy4zNzI0ODMzLCA0ODUxLCAyNi44MzkzODQwNzg5Nzk0OTJdLCBbMTY2Mzc1MTEzNy41MjcwMTcsIDQ4NjksIDI2Ljg0MzY2NDE2OTMxMTUyM10sIFsxNjYzNzUxMTM3LjgxNzM2MDksIDQ5MDUsIDI2LjMwMTQxMDY3NTA0ODgyOF0sIFsxNjYzNzUxMTM3Ljk2MDM3MzksIDQ5MjMsIDI2LjM4ODIwNjQ4MTkzMzU5NF0sIFsxNjYzNzUxMTM4LjQxNDM3MzQsIDQ5NTksIDI2LjIyMTA0MDcyNTcwODAwOF0sIFsxNjYzNzUxMTM4LjU4MzM4MjEsIDQ5NzcsIDI2LjE1ODQzNzcyODg4MTgzNl0sIFsxNjYzNzUxMTM4Ljg5MTQ0NDcsIDUwMTMsIDI1LjgwOTE1ODMyNTE5NTMxMl0sIFsxNjYzNzUxMTM5LjUzNjM1NCwgNTA2NywgMjUuODg3MTExNjYzODE4MzZdLCBbMTY2Mzc1MTEzOS43MjM5MzA4LCA1MDg1LCAyNS41NDQ3NzUwMDkxNTUyNzNdLCBbMTY2Mzc1MTE0MC4wMDk0ODE3LCA1MTIxLCAyNS4zNDI0MTI5NDg2MDg0XSwgWzE2NjM3NTExNDEuMzU5MTI4NSwgNTI2NSwgMjQuMTg1OTQxNjk2MTY2OTkyXSwgWzE2NjM3NTExNDEuNDI5MTQ4NywgNTI3NCwgMjQuNTAwMDMyNDI0OTI2NzU4XSwgWzE2NjM3NTExNDEuODE3NjY1OCwgNTMxOSwgMjQuMjA2NDE1MTc2MzkxNl0sIFsxNjYzNzUxMTQyLjI5ODY1LCA1MzU1LCAyMy45MTY0OTgxODQyMDQxXSwgWzE2NjM3NTExNDIuNDgyNjg3LCA1MzczLCAyNC4wNzMzNTg1MzU3NjY2XSwgWzE2NjM3NTExNDQuMDUzOTc4NywgNTUyNiwgMjMuMTMwMDMxNTg1NjkzMzZdLCBbMTY2Mzc1MTE0NC4xMzIwMzE0LCA1NTM1LCAyMy41Mzg3MTE1NDc4NTE1NjJdLCBbMTY2Mzc1MTE0NS4xMTgwNDQ5LCA1NjA3LCAyMi45MTM2NzE0OTM1MzAyNzNdLCBbMTY2Mzc1MTE0NS4yMTE5NDEsIDU2MTYsIDIyLjY5NTQ5NzUxMjgxNzM4M10sIFsxNjYzNzUxMTQ1LjcyODA4NDMsIDU2NjEsIDIyLjQ4MDA3MjAyMTQ4NDM3NV0sIFsxNjYzNzUxMTQ1LjgwOTEzMjMsIDU2NzAsIDIyLjQ1MTMwMzQ4MjA1NTY2NF0sIFsxNjYzNzUxMTQ2LjUwMzg5MiwgNTc0MiwgMjIuMDk0MDE1MTIxNDU5OTZdLCBbMTY2Mzc1MTE0Ni45NzYzNDE1LCA1Nzk2LCAyMS44NDAzNzAxNzgyMjI2NTZdLCBbMTY2Mzc1MTE0Ny4wNDQ0MzQ4LCA1ODA1LCAyMS41NTk4NTY0MTQ3OTQ5MjJdLCBbMTY2Mzc1MTE0Ny40NDIzNTEzLCA1ODUwLCAyMS4yNjc0NTIyMzk5OTAyMzRdLCBbMTY2Mzc1MTE0OC4xMjMzMzgsIDU5MzEsIDIwLjg3MDkwNDkyMjQ4NTM1XSwgWzE2NjM3NTExNDguMjY2NTIwNSwgNTk0OSwgMjAuOTgzMDU4OTI5NDQzMzZdLCBbMTY2Mzc1MTE0OC44NTY1NzI5LCA2MDEyLCAyMC43NTcwMDE4NzY4MzEwNTVdLCBbMTY2Mzc1MTE0OS41MzYxMjUyLCA2MDg0LCAyMC40NjQ2MTEwNTM0NjY3OTddLCBbMTY2Mzc1MTE0OS42MTE1MjY3LCA2MDkzLCAyMC4zNDU4NzY2OTM3MjU1ODZdLCBbMTY2Mzc1MTE1MC4xOTQ0NjcsIDYxNjUsIDE5LjY5NTkzODExMDM1MTU2Ml0sIFsxNjYzNzUxMTUwLjc2MjUzNiwgNjIzNywgMTkuNTk2ODIwODMxMjk4ODI4XSwgWzE2NjM3NTExNTAuOTAzNzc1MiwgNjI1NSwgMTkuNjM0Mjk4MzI0NTg0OTZdLCBbMTY2Mzc1MTE1Mi4zMTg1Mjg0LCA2Mzk5LCAxOC42NjY2NDg4NjQ3NDYwOTRdLCBbMTY2Mzc1MTE1My4xODIyMDQ3LCA2NDk4LCAxOC4zNjUwODU2MDE4MDY2NF0sIFsxNjYzNzUxMTUzLjQyNjg5MTMsIDY1MTYsIDE4LjMzNzM4NTE3NzYxMjMwNV0sIFsxNjYzNzUxMTUzLjU5NzE5NCwgNjUzNCwgMTguNzY0NTQxNjI1OTc2NTYyXSwgWzE2NjM3NTExNTMuODE2NDc0MiwgNjU2MSwgMTguMDk5MzkwMDI5OTA3MjI3XSwgWzE2NjM3NTExNTMuODg0NDI0NCwgNjU3MCwgMTguMTM0MTI0NzU1ODU5Mzc1XSwgWzE2NjM3NTExNTQuMDQwNDk5LCA2NTg4LCAxNy43MzQ3OTI3MDkzNTA1ODZdLCBbMTY2Mzc1MTE1NC4xMTM3OTUzLCA2NTk3LCAxNy45NTA1MTU3NDcwNzAzMTJdLCBbMTY2Mzc1MTE1NC4yMjMxNzgsIDY2MDYsIDE4LjAwMjU0ODIxNzc3MzQzOF0sIFsxNjYzNzUxMTU0LjkzNzUxNDUsIDY2NTEsIDE4LjAxNjk5MDY2MTYyMTA5NF0sIFsxNjYzNzUxMTU1LjUwMzg2NTIsIDY3MDUsIDE3LjUwMzg3MTkxNzcyNDYxXSwgWzE2NjM3NTExNTcuMjI1NDkwMywgNjg4NSwgMTcuMTE0NDQ0NzMyNjY2MDE2XSwgWzE2NjM3NTExNTguMDg3NTY1NCwgNjk4NCwgMTYuNjkxNjk0MjU5NjQzNTU1XSwgWzE2NjM3NTExNTguMTcyMDM4OCwgNjk5MywgMTYuNTQ5MzI5NzU3NjkwNDNdLCBbMTY2Mzc1MTE1OC40OTY3MTQ4LCA3MDI5LCAxNi43NzE3NTkwMzMyMDMxMjVdLCBbMTY2Mzc1MTE1OC42NDg5NjIsIDcwNDcsIDE2LjA0NzUxMDE0NzA5NDcyN10sIFsxNjYzNzUxMTU5LjA1MDE3NTQsIDcxMDEsIDE2LjEzNDQxMjc2NTUwMjkzXSwgWzE2NjM3NTExNjAuMzkzMzg0LCA3MjQ1LCAxNS40NDc4OTAyODE2NzcyNDZdLCBbMTY2Mzc1MTE2MC40NzMyMSwgNzI1NCwgMTUuODI0NjM0NTUyMDAxOTUzXSwgWzE2NjM3NTExNjAuNjY2NDcsIDcyNzIsIDE1LjYwOTc1OTMzMDc0OTUxMl0sIFsxNjYzNzUxMTYwLjg4NjI4OTYsIDcyOTksIDE1LjUyMjkxODcwMTE3MTg3NV0sIFsxNjYzNzUxMTYxLjU5ODA3NjMsIDczODAsIDE1LjI0NzY1OTY4MzIyNzUzOV0sIFsxNjYzNzUxMTYyLjUyNjI4MTgsIDc0OTcsIDE0Ljc5ODIyMzQ5NTQ4MzM5OF0sIFsxNjYzNzUxMTYzLjEzNzQ4NywgNzU2OSwgMTQuNjA1ODIxNjA5NDk3MDddLCBbMTY2Mzc1MTE2My4zNzc2MDAyLCA3NTk2LCAxNC41MzY2ODY4OTcyNzc4MzJdLCBbMTY2Mzc1MTE2NC40MzUxMTUzLCA3NzIyLCAxNC41OTQwNzUyMDI5NDE4OTVdLCBbMTY2Mzc1MTE2NC43OTIzNzAzLCA3NzY3LCAxNC4wMzQzNDM3MTk0ODI0MjJdLCBbMTY2Mzc1MTE2NS4xNDIwMzY3LCA3ODAzLCAxNC40MTE0MzQxNzM1ODM5ODRdLCBbMTY2Mzc1MTE2NS42OTIzODksIDc4NDgsIDE0LjE2NDU5MDgzNTU3MTI4OV0sIFsxNjYzNzUxMTY2Ljc3MDM2NTIsIDc5NjUsIDEzLjg3NTI1OTM5OTQxNDA2Ml0sIFsxNjYzNzUxMTY2LjkyNzU4MjUsIDc5ODMsIDEzLjQ2NzE3NDUzMDAyOTI5N10sIFsxNjYzNzUxMTY3LjY1MTkxOTQsIDgwNjQsIDEzLjQyMzEzNzY2NDc5NDkyMl0sIFsxNjYzNzUxMTY3Ljc4OTM2MjcsIDgwODIsIDEzLjU1NzY4MTA4MzY3OTJdLCBbMTY2Mzc1MTE2OC4xMTI2NzksIDgxMTgsIDEzLjExNDIyMzQ4MDIyNDYxXSwgWzE2NjM3NTExNjguODQ1NTk4LCA4MTgxLCAxMy4xODA5NTc3OTQxODk0NTNdLCBbMTY2Mzc1MTE3MC44MTk3Mjg5LCA4Mzc5LCAxMi40MTIyOTUzNDE0OTE3XSwgWzE2NjM3NTExNzAuOTc0NTQ1LCA4Mzk3LCAxMi40MjM3ODA0NDEyODQxOF0sIFsxNjYzNzUxMTcxLjc1NjA5NDcsIDg0ODcsIDEyLjQ3MDYwMTA4MTg0ODE0NV0sIFsxNjYzNzUxMTcyLjMxMjE5MzQsIDg1NTAsIDEyLjI3MzEwNjU3NTAxMjIwN10sIFsxNjYzNzUxMTczLjU4ODE0MTIsIDg2NzYsIDExLjU3OTc5MDExNTM1NjQ0NV0sIFsxNjYzNzUxMTc0Ljc5MzYwODIsIDg4MjAsIDExLjUzMjQ0Njg2MTI2NzA5XSwgWzE2NjM3NTExNzUuMDA2NDcxNiwgODg0NywgMTEuMzExMTIwOTg2OTM4NDc3XSwgWzE2NjM3NTExNzUuNzk4ODkyNSwgODkzNywgMTEuMzI2MTQ5OTQwNDkwNzIzXSwgWzE2NjM3NTExNzUuOTQ1MDk4NiwgODk1NSwgMTEuMjAwMTgxOTYxMDU5NTddLCBbMTY2Mzc1MTE3Ni4zMTU2MDc4LCA5MDAwLCAxMS4xMzUxMTc1MzA4MjI3NTRdLCBbMTY2Mzc1MTE3Ni41MzUxODU2LCA5MDI3LCAxMC43OTA1MTc4MDcwMDY4MzZdLCBbMTY2Mzc1MTE3Ni42ODY2OTEzLCA5MDQ1LCAxMC45MTc5OTU0NTI4ODA4Nl0sIFsxNjYzNzUxMTc3LjQ5NDAzMTQsIDkxNDQsIDEwLjcxMzk0OTIwMzQ5MTIxMV0sIFsxNjYzNzUxMTc3Ljk4NjgzMjYsIDkyMDcsIDEwLjYwNjc1MTQ0MTk1NTU2Nl0sIFsxNjYzNzUxMTc4LjI5MTcwOTQsIDkyNDMsIDEwLjU3OTQ3MjU0MTgwOTA4Ml0sIFsxNjYzNzUxMTc4LjQ0NTQ5ODcsIDkyNjEsIDEwLjUxNzY4OTcwNDg5NTAyXSwgWzE2NjM3NTExNzkuNjIzMDMzNSwgOTM0MiwgMTAuMzk0MzY5MTI1MzY2MjExXSwgWzE2NjM3NTExODEuMTAwOTE1NCwgOTUxMywgOS45MDkyMTIxMTI0MjY3NThdLCBbMTY2Mzc1MTE4Mi4xNTU1NzQsIDk2MzksIDkuNjUzMDY3NTg4ODA2MTUyXSwgWzE2NjM3NTExODIuMjM0MDUxMiwgOTY0OCwgOS43MTQ1NDA0ODE1NjczODNdLCBbMTY2Mzc1MTE4Mi4zODExNTM4LCA5NjY2LCA5LjU0OTMyMzA4MTk3MDIxNV0sIFsxNjYzNzUxMTgyLjY4Nzc2NywgOTcwMiwgOS40ODgzNjcwODA2ODg0NzddLCBbMTY2Mzc1MTE4My4zNDI0MzE1LCA5NzgzLCA5LjQwMzA5MTQzMDY2NDA2Ml0sIFsxNjYzNzUxMTg0LjIzMDQ4NjksIDk4OTEsIDkuMTM2MDc4ODM0NTMzNjkxXSwgWzE2NjM3NTExODQuNjc0ODkyNCwgOTkyNywgOS4zMzc4NjI5Njg0NDQ4MjRdLCBbMTY2Mzc1MTE4NC44MDk3MDcyLCA5OTQ1LCA5LjA4OTgzMzI1OTU4MjUyXSwgWzE2NjM3NTExODUuMDI2ODE1NCwgOTk3MiwgOS4zNTgyOTgzMDE2OTY3NzddLCBbMTY2Mzc1MTE4NS4xNzM2MDMzLCA5OTkwLCA5LjI2MzIyMTc0MDcyMjY1Nl0sIFsxNjYzNzUxMTg1LjM3MjkwNiwgMTAwMDgsIDguOTc5NjE4MDcyNTA5NzY2XSwgWzE2NjM3NTExODYuNDcyOTA5NSwgMTAwOTgsIDguODY4MDkxNTgzMjUxOTUzXSwgWzE2NjM3NTExODYuODA4NDYzNiwgMTAxMzQsIDguODc2ODE3NzAzMjQ3MDddLCBbMTY2Mzc1MTE4Ni44OTg2Mjc4LCAxMDE0MywgOC43Mjk3Njc3OTkzNzc0NDFdLCBbMTY2Mzc1MTE4Ny4xMzcwMzcsIDEwMTcwLCA4LjY1Mzc1ODA0OTAxMTIzXSwgWzE2NjM3NTExODcuMzU3MjE0NywgMTAxOTcsIDguODQxNzY4MjY0NzcwNTA4XSwgWzE2NjM3NTExODcuNDk5MDM1LCAxMDIxNSwgOC42Njc2NTIxMzAxMjY5NTNdLCBbMTY2Mzc1MTE4Ny44NjM0NDA4LCAxMDI2MCwgOC40Nzc0NTMyMzE4MTE1MjNdLCBbMTY2Mzc1MTE4OC4zODY5MzEyLCAxMDMyMywgOC4zOTE0MTg0NTcwMzEyNV0sIFsxNjYzNzUxMTg4LjgyNzA3NzIsIDEwMzY4LCA4LjI5Njg4ODM1MTQ0MDQzXSwgWzE2NjM3NTExODguOTU0OTIyLCAxMDM3NywgOC4yMTAxODk4MTkzMzU5MzhdLCBbMTY2Mzc1MTE4OS44OTAxNzIyLCAxMDQ4NSwgOC4yNzExNTUzNTczNjA4NF0sIFsxNjYzNzUxMTkwLjgxNzE1OTQsIDEwNTc1LCA3Ljk1MzAyMDA5NTgyNTE5NV0sIFsxNjYzNzUxMTkxLjA0MTg3MzIsIDEwNTkzLCA3Ljc3NTEwNzM4MzcyODAyN10sIFsxNjYzNzUxMTkxLjEzOTY2MSwgMTA2MDIsIDguMDQ0MzIzOTIxMjAzNjEzXSwgWzE2NjM3NTExOTEuNzAyNzAxOCwgMTA2NjUsIDcuNzA2MTQ4MTQ3NTgzMDA4XSwgWzE2NjM3NTExOTIuMzEwNjUyNSwgMTA3MTAsIDcuOTg2MTU0MDc5NDM3MjU2XSwgWzE2NjM3NTExOTIuNjI4OTA1MywgMTA3NDYsIDcuNTM2NzI2NDc0NzYxOTYzXSwgWzE2NjM3NTExOTIuNzA3MjA2NSwgMTA3NTUsIDcuNjQ4OTI5NTk1OTQ3MjY2XSwgWzE2NjM3NTExOTMuNjE1NDM0LCAxMDg2MywgNy41NTUxMDY2Mzk4NjIwNjA1XSwgWzE2NjM3NTExOTQuMjMwMTA1NiwgMTA5MzUsIDcuMzQzODk4NzczMTkzMzU5XSwgWzE2NjM3NTExOTQuNTUyMzQxMiwgMTA5NzEsIDcuMzk1OTk3NTI0MjYxNDc1XSwgWzE2NjM3NTExOTQuOTE1NTA1LCAxMTAxNiwgNy42OTMwOTQ3MzAzNzcxOTddLCBbMTY2Mzc1MTE5NS4wNjk4ODE0LCAxMTAzNCwgNy4yOTcxNjMwMDk2NDM1NTVdLCBbMTY2Mzc1MTE5NS40MTkxNDMsIDExMDcwLCA3LjE1NTYxMjk0NTU1NjY0MV0sIFsxNjYzNzUxMTk2LjY0NDg2NDgsIDExMjA1LCA3LjAzNDM5OTk4NjI2NzA5XSwgWzE2NjM3NTExOTYuNzk1NDQ3MywgMTEyMjMsIDcuMTY0Njk2MjE2NTgzMjUyXSwgWzE2NjM3NTExOTcuMTcyMjY4OSwgMTEyNjgsIDcuMTEwMjQxNDEzMTE2NDU1XSwgWzE2NjM3NTExOTcuMjc3NTQ3MSwgMTEyNzcsIDcuMTUwMTA4MzM3NDAyMzQ0XSwgWzE2NjM3NTExOTcuNDIxNjIzLCAxMTI5NSwgNy4wMDcyNzMxOTcxNzQwNzJdLCBbMTY2Mzc1MTE5Ny42NTI3ODUsIDExMzIyLCA3LjA5NzcyODcyOTI0ODA0N10sIFsxNjYzNzUxMTk3Ljk0MDcyOTEsIDExMzU4LCA2Ljk4NjAwNzY5MDQyOTY4NzVdLCBbMTY2Mzc1MTE5OC40MzcwMzAzLCAxMTQxMiwgNi44NDczMTc2OTU2MTc2NzZdLCBbMTY2Mzc1MTE5OC43NjA1OTMyLCAxMTQ0OCwgNi45MjY2NTg2MzAzNzEwOTRdLCBbMTY2Mzc1MTE5OS4zODEzODYzLCAxMTQ5MywgNi43NTc0MjE0OTM1MzAyNzNdLCBbMTY2Mzc1MTE5OS44MjQ2NTYsIDExNTQ3LCA2LjY3MzE1MzQwMDQyMTE0M10sIFsxNjYzNzUxMjAwLjA2MTQwNTcsIDExNTc0LCA2Ljc1ODIzMDY4NjE4Nzc0NF0sIFsxNjYzNzUxMjAwLjQwMzA2MiwgMTE2MTksIDYuNjUxNTYwNzgzMzg2MjMwNV0sIFsxNjYzNzUxMjAwLjYxNDg2NDMsIDExNjQ2LCA2LjQ0MTg3NjQxMTQzNzk4OF0sIFsxNjYzNzUxMjAxLjAwMDM5NDYsIDExNjkxLCA2LjQ1NDA1OTEyMzk5MjkyXSwgWzE2NjM3NTEyMDEuMjg4MDY5LCAxMTcyNywgNi42MzI2MzcwMjM5MjU3ODFdLCBbMTY2Mzc1MTIwMS41NzM1NzYsIDExNzYzLCA2LjU4MjAxNzg5ODU1OTU3XSwgWzE2NjM3NTEyMDIuMjc5MTIxNCwgMTE4NDQsIDYuNDUyNjQwNTMzNDQ3MjY2XSwgWzE2NjM3NTEyMDIuOTEwNjUyLCAxMTkwNywgNi4zNTQ2OTEwMjg1OTQ5NzFdLCBbMTY2Mzc1MTIwMy4xNTE1MDY0LCAxMTkzNCwgNi4yNjAwNzU1NjkxNTI4MzJdLCBbMTY2Mzc1MTIwMy4yMzU4NTA4LCAxMTk0MywgNi4yOTYwOTg3MDkxMDY0NDVdLCBbMTY2Mzc1MTIwMy45MDU1NjIyLCAxMjAyNCwgNi4xMzkzOTQ3NjAxMzE4MzZdLCBbMTY2Mzc1MTIwNC42ODE1MDk3LCAxMjExNCwgNi4wNzQzMDc0NDE3MTE0MjZdLCBbMTY2Mzc1MTIwNS4zNDgzNjI0LCAxMjE5NSwgNi4xNDE1NjQzNjkyMDE2Nl0sIFsxNjYzNzUxMjA2LjAwOTY5OTYsIDEyMjQ5LCA2LjA4MTQ5NzY2OTIxOTk3MV0sIFsxNjYzNzUxMjA2LjMxOTYwNDQsIDEyMjg1LCA1Ljk3MjE1MzE4Njc5ODA5Nl0sIFsxNjYzNzUxMjA3LjI1NTY3MSwgMTIzODQsIDUuODM2MDcxOTY4MDc4NjEzXSwgWzE2NjM3NTEyMDcuMzQ0Mjg4NiwgMTIzOTMsIDUuOTEyMTgzMjg0NzU5NTIxNV0sIFsxNjYzNzUxMjA3LjY2OTgyNjMsIDEyNDI5LCA1Ljg2NDAzNjU2MDA1ODU5NF0sIFsxNjYzNzUxMjA4Ljc1ODEzODcsIDEyNTQ2LCA1LjgxNzI3MjY2MzExNjQ1NV0sIFsxNjYzNzUxMjEwLjcyOTAwODcsIDEyNzYyLCA1LjcxNDQyNjk5NDMyMzczMDVdLCBbMTY2Mzc1MTIxMi4zMDk3MDUsIDEyOTMzLCA1LjQ2ODU2ODgwMTg3OTg4M10sIFsxNjYzNzUxMjEyLjQ0ODM5NjQsIDEyOTUxLCA1LjM3MDI3NzQwNDc4NTE1Nl0sIFsxNjYzNzUxMjEyLjcxMDEzOSwgMTI5NjAsIDUuNTEyNjg5MTEzNjE2OTQzXSwgWzE2NjM3NTEyMTIuNzg2NTM2LCAxMjk2OSwgNS40MjM3MzM3MTEyNDI2NzZdLCBbMTY2Mzc1MTIxMy43Mzk2NjAzLCAxMzA1MCwgNS41MDAxMTczMDE5NDA5MThdLCBbMTY2Mzc1MTIxNC40ODQ3MDg1LCAxMzEyMiwgNS4zMTk2MTY3OTQ1ODYxODJdLCBbMTY2Mzc1MTIxNC41NjMyOTUsIDEzMTMxLCA1LjMzMTMzNjAyMTQyMzM0XSwgWzE2NjM3NTEyMTQuODAzNTQyLCAxMzE1OCwgNS4zMDA0MTA3NDc1MjgwNzZdLCBbMTY2Mzc1MTIxNi4wMTk1MzE3LCAxMzI3NSwgNS4xOTIxMTAwNjE2NDU1MDhdLCBbMTY2Mzc1MTIxNi4yNDg3ODksIDEzMjkzLCA1LjE5OTIwNjM1MjIzMzg4N10sIFsxNjYzNzUxMjE3LjI2MDc1ODksIDEzMzkyLCA1LjE3MTQ2MTU4MjE4MzgzOF0sIFsxNjYzNzUxMjE3LjU1NzE0NjgsIDEzNDE5LCA1LjE0Mjc2OTgxMzUzNzU5OF0sIFsxNjYzNzUxMjE3LjkzNTgwNywgMTM0NTUsIDUuMjA1NTExNTY5OTc2ODA3XSwgWzE2NjM3NTEyMTguMjI5ODE0OCwgMTM0OTEsIDUuMjAwNzA4ODY2MTE5Mzg1XSwgWzE2NjM3NTEyMTguNTU5NzM5OCwgMTM1MjcsIDUuMDc3ODk1MTY0NDg5NzQ2XSwgWzE2NjM3NTEyMTkuMTEzNjAyNCwgMTM1OTAsIDUuMTA1MTM0OTYzOTg5MjU4XSwgWzE2NjM3NTEyMTkuMTkwNTY4NCwgMTM1OTksIDUuMDU5NTA0OTg1ODA5MzI2XSwgWzE2NjM3NTEyMTkuNDE1MzE3MywgMTM2MjYsIDUuMDQyMzE2OTEzNjA0NzM2XSwgWzE2NjM3NTEyMTkuNjQyNzI2MiwgMTM2NTMsIDUuMTM0NzMyNzIzMjM2MDg0XSwgWzE2NjM3NTEyMjAuODY1MzAzLCAxMzc2MSwgNC44MzcyNTQ1MjQyMzA5NTddLCBbMTY2Mzc1MTIyMS4zMzg0MTU5LCAxMzgxNSwgNC45NjI2MTU0ODk5NTk3MTddLCBbMTY2Mzc1MTIyMS43MTM1NTQ5LCAxMzg1MSwgNC44ODg3MDM4MjMwODk2XSwgWzE2NjM3NTEyMjIuNjIzOTk1LCAxMzk0MSwgNC44MDc2ODQ0MjE1MzkzMDddLCBbMTY2Mzc1MTIyMi45MjMxMjgsIDEzOTY4LCA0LjgwNjg0ODA0OTE2MzgxOF0sIFsxNjYzNzUxMjI0LjEyMzU0NjYsIDE0MDk0LCA0LjcwMTY3MDE2OTgzMDMyMl0sIFsxNjYzNzUxMjI0LjM2NzkwNDQsIDE0MTIxLCA0Ljc5NTk2NjYyNTIxMzYyM10sIFsxNjYzNzUxMjI0Ljc4NTIyMSwgMTQxNjYsIDQuNjQ3MDI0MTU0NjYzMDg2XSwgWzE2NjM3NTEyMjUuMTAwMDY0MywgMTQxOTMsIDQuNzI1NzQzMjkzNzYyMjA3XSwgWzE2NjM3NTEyMjYuMDM4Mjg0MywgMTQyNzQsIDQuNjA0MDc1OTA4NjYwODg5XSwgWzE2NjM3NTEyMjcuMTY4NjcyNiwgMTQzNzMsIDQuNjY5NDM0MDcwNTg3MTU4XSwgWzE2NjM3NTEyMjcuNTcxNzE3LCAxNDQxOCwgNC40ODY0ODM1NzM5MTM1NzRdLCBbMTY2Mzc1MTIyNy43NDE1ODI2LCAxNDQzNiwgNC41Njc5MDU0MjYwMjUzOTFdLCBbMTY2Mzc1MTIzMC4wMDE4Njg3LCAxNDY1MiwgNC40OTA0Njc1NDgzNzAzNjFdLCBbMTY2Mzc1MTIzMC42MDE4MTc2LCAxNDcyNCwgNC40MTg3NTEyMzk3NzY2MTFdLCBbMTY2Mzc1MTIzMC43NDg5OTYzLCAxNDc0MiwgNC4zNTI3Mzg4NTcyNjkyODddLCBbMTY2Mzc1MTIzMS4wMzA5ODk0LCAxNDc2OSwgNC4zOTE1NzkxNTExNTM1NjQ1XSwgWzE2NjM3NTEyMzEuNTE2OTMyMiwgMTQ4MjMsIDQuMjc5Mzg3OTUwODk3MjE3XSwgWzE2NjM3NTEyMzEuNTkyOTI5LCAxNDgzMiwgNC4zMDkwNjAwOTY3NDA3MjNdLCBbMTY2Mzc1MTIzMi4xNzIzNzYsIDE0ODk1LCA0LjM3OTc0Nzg2NzU4NDIyODVdLCBbMTY2Mzc1MTIzMi44ODYwOTg0LCAxNDk2NywgNC4yMTI4NTI5NTQ4NjQ1MDJdLCBbMTY2Mzc1MTIzMy4yNTE1MTYzLCAxNTAwMywgNC4zMjYyNzU4MjU1MDA0ODhdLCBbMTY2Mzc1MTIzMy44MTE4MDk4LCAxNTAzOSwgNC4yMjEyMzE5Mzc0MDg0NDddLCBbMTY2Mzc1MTIzNC4xNDQwODc2LCAxNTA3NSwgNC4yODY0OTk1MDAyNzQ2NThdLCBbMTY2Mzc1MTIzNC40MjM5NTg4LCAxNTEwMiwgNC4xODMxOTAzNDU3NjQxNl0sIFsxNjYzNzUxMjM0LjYzNDg4MTcsIDE1MTIwLCA0LjI0MTQwNjQ0MDczNDg2M10sIFsxNjYzNzUxMjM1LjE1NDQyNTEsIDE1MTc0LCA0LjIxODgxODE4NzcxMzYyM10sIFsxNjYzNzUxMjM1LjkxNDI3MDYsIDE1MjU1LCA0LjA5MzQyMzM2NjU0NjYzMV0sIFsxNjYzNzUxMjM2Ljc5OTQ3NjEsIDE1MzI3LCA0LjExMzMwMzE4NDUwOTI3N10sIFsxNjYzNzUxMjM2LjkzNDUxODMsIDE1MzQ1LCA0LjExNTc3NjUzODg0ODg3N10sIFsxNjYzNzUxMjM3LjIyODMxNTYsIDE1MzcyLCA0LjI3NDE5NDI0MDU3MDA2OF0sIFsxNjYzNzUxMjM3LjQwMTc1NCwgMTUzOTAsIDQuMDY2NTcwNzU4ODE5NThdLCBbMTY2Mzc1MTIzNy40NzMwODIsIDE1Mzk5LCA0LjE3OTg4OTIwMjExNzkyXSwgWzE2NjM3NTEyMzcuNTQ4NDAzNywgMTU0MDgsIDQuMDQ4NjAwMTk2ODM4Mzc5XSwgWzE2NjM3NTEyMzguMDgwODgwNCwgMTU0NzEsIDQuMDAwOTA2OTQ0Mjc0OTAyXSwgWzE2NjM3NTEyMzguMzg5MzU0MiwgMTU1MDcsIDQuMDI2NDA3MjQxODIxMjg5XSwgWzE2NjM3NTEyMzguNDU4NTg1NSwgMTU1MTYsIDQuMDgxNDIzNzU5NDYwNDQ5XSwgWzE2NjM3NTEyMzkuMDI0MDY5MywgMTU1NzksIDMuOTY0MTgwOTQ2MzUwMDk3N10sIFsxNjYzNzUxMjM5LjczODkzNzksIDE1NjYwLCAzLjk0NDc3NDYyNzY4NTU0N10sIFsxNjYzNzUxMjQwLjA1MzYyNzMsIDE1Njk2LCAzLjk2OTkwMTU2MTczNzA2MDVdLCBbMTY2Mzc1MTI0MC4yODcyMjc2LCAxNTcxNCwgMy45MzQ1MzkwNzk2NjYxMzc3XSwgWzE2NjM3NTEyNDEuMzE3MTc1NiwgMTU3OTUsIDMuODgyOTA2MTk4NTAxNTg3XSwgWzE2NjM3NTEyNDIuNDIxODM4LCAxNTg5NCwgMy45MTY0NzI0MzQ5OTc1NTg2XSwgWzE2NjM3NTEyNDMuMjA4MjgxOCwgMTU5ODQsIDMuODg1MjA5Nzk4ODEyODY2XSwgWzE2NjM3NTEyNDMuMzUzODQzMiwgMTYwMDIsIDMuODg1Mjk4MDEzNjg3MTM0XSwgWzE2NjM3NTEyNDMuODY1NDEwOCwgMTYwNjUsIDMuODM2ODU5MjI2MjI2ODA2Nl0sIFsxNjYzNzUxMjQ0LjEyOTM5NjIsIDE2MDc0LCAzLjc1Mjg4MDU3MzI3MjcwNV0sIFsxNjYzNzUxMjQ0LjQyNTcxNzgsIDE2MTEwLCAzLjgwNzc5MzM3ODgyOTk1Nl0sIFsxNjYzNzUxMjQ0LjY2ODgwMTgsIDE2MTM3LCAzLjc4MjA2OTY4MzA3NDk1MV0sIFsxNjYzNzUxMjQ1LjIzMDIyNSwgMTYyMDksIDMuODA2MDM2OTQ5MTU3NzE1XSwgWzE2NjM3NTEyNDYuNjgwNDgyMSwgMTYzODAsIDMuNjY4ODg2ODk5OTQ4MTJdLCBbMTY2Mzc1MTI0Ni45NzMyMTI3LCAxNjQxNiwgMy43MTgzNzQwMTM5MDA3NTddLCBbMTY2Mzc1MTI0Ny40OTM1MTY0LCAxNjQ3OSwgMy41OTIyNjk4OTc0NjA5Mzc1XSwgWzE2NjM3NTEyNDcuOTM1NTA0MiwgMTY1MzMsIDMuNjI2NjYxNTM5MDc3NzU5XSwgWzE2NjM3NTEyNDguMTI1MDE1LCAxNjU1MSwgMy42MjAyMTg3NTM4MTQ2OTczXSwgWzE2NjM3NTEyNDguOTI2MzM5MSwgMTY2MzIsIDMuNTgzOTI0MDU1MDk5NDg3M10sIFsxNjYzNzUxMjQ5LjIzODg0NDYsIDE2NjY4LCAzLjUzMTUxMTA2ODM0NDExNl0sIFsxNjYzNzUxMjQ5LjkxNDU3MSwgMTY3NDksIDMuNDY1NTkwOTUzODI2OTA0M10sIFsxNjYzNzUxMjUwLjI5NDQ5MTMsIDE2Nzk0LCAzLjU1MjEyNzgzODEzNDc2NTZdLCBbMTY2Mzc1MTI1MC4zNzYzODY0LCAxNjgwMywgMy40ODI5MTY1OTM1NTE2MzU3XSwgWzE2NjM3NTEyNTAuNDU4MjY1OCwgMTY4MTIsIDMuNTQ0NTY4MDYxODI4NjEzM10sIFsxNjYzNzUxMjUyLjA3OTgwNTksIDE2OTU2LCAzLjQ0OTgwMTY4MzQyNTkwMzNdLCBbMTY2Mzc1MTI1Mi40Nzc2ODc4LCAxNzAwMSwgMy40MjUwOTAwNzQ1MzkxODQ2XSwgWzE2NjM3NTEyNTIuOTk2MTUyOSwgMTcwNjQsIDMuNDI0NDAzNjY3NDQ5OTUxXSwgWzE2NjM3NTEyNTMuMzYzODUwOCwgMTcxMDAsIDMuNDA3NzM3OTcwMzUyMTczXSwgWzE2NjM3NTEyNTMuNTk0MjEwNiwgMTcxMjcsIDMuNDUyMDk3MTc3NTA1NDkzXSwgWzE2NjM3NTEyNTQuMDkwMDU5MywgMTcxODEsIDMuMzk3NzI5NjM1MjM4NjQ3NV0sIFsxNjYzNzUxMjU0LjE2Njc5NTMsIDE3MTkwLCAzLjM4NTM4NDU1OTYzMTM0NzddLCBbMTY2Mzc1MTI1NC42NTA0OTI0LCAxNzIyNiwgMy4zNzI3MDUyMjExNzYxNDc1XSwgWzE2NjM3NTEyNTUuMTIyNDY0MiwgMTcyNzEsIDMuNTIxODQ3MDA5NjU4ODEzNV0sIFsxNjYzNzUxMjU1LjY1MDAxMTUsIDE3MzI1LCAzLjMxMTI1NDczOTc2MTM1MjVdLCBbMTY2Mzc1MTI1NS43MzQ2MjQ2LCAxNzMzNCwgMy4zOTg0MzAxMDkwMjQwNDhdLCBbMTY2Mzc1MTI1Ni41OTY0OTEzLCAxNzQzMywgMy40MDMzMzAwODc2NjE3NDNdLCBbMTY2Mzc1MTI1Ni45MDYyNzQzLCAxNzQ2OSwgMy4yNTk3OTU2NjU3NDA5NjddLCBbMTY2Mzc1MTI1Ni45ODQxMjQ3LCAxNzQ3OCwgMy4yODM4MDIyNzA4ODkyODIyXSwgWzE2NjM3NTEyNTcuNDY5Nzc2NCwgMTc1MTQsIDMuMzAzMjc3MjU0MTA0NjE0M10sIFsxNjYzNzUxMjU3LjYzOTA0OTgsIDE3NTMyLCAzLjI0Mzc2NDYzODkwMDc1N10sIFsxNjYzNzUxMjU4LjA4ODMyMjYsIDE3NTg2LCAzLjI5NjMxNTkwODQzMjAwN10sIFsxNjYzNzUxMjU4LjMyOTg3LCAxNzYxMywgMy4zMjI1MjQ3ODU5OTU0ODM0XSwgWzE2NjM3NTEyNTguODI0ODA5NiwgMTc2NDksIDMuMjEzNTgxMDg1MjA1MDc4XSwgWzE2NjM3NTEyNTguODkyMjI2NSwgMTc2NTgsIDMuMjc3MDk2NzQ4MzUyMDUxXSwgWzE2NjM3NTEyNTkuMDQ3MTIwMywgMTc2NzYsIDMuMjkwMjU3MjE1NDk5ODc4XSwgWzE2NjM3NTEyNTkuMTI3MjEzNSwgMTc2ODUsIDMuMjQ1MDQ5NDc2NjIzNTM1XSwgWzE2NjM3NTEyNTkuMjgzNzE0MywgMTc3MDMsIDMuMjU1ODczNjgwMTE0NzQ2XSwgWzE2NjM3NTEyNjAuMzI5MTEzNSwgMTc4MDIsIDMuMjQwMjIyNDU0MDcxMDQ1XSwgWzE2NjM3NTEyNjAuNDkyNTE2OCwgMTc4MjAsIDMuMjMzNzM5MTM3NjQ5NTM2XSwgWzE2NjM3NTEyNjEuMTcxMTA1NCwgMTc4OTIsIDMuMTg4ODQ3NzgwMjI3NjYxXSwgWzE2NjM3NTEyNjEuMjQ0MzkxLCAxNzkwMSwgMy4xNTI0Mjk4MTkxMDcwNTU3XSwgWzE2NjM3NTEyNjEuNDcxNTIwMiwgMTc5MjgsIDMuMjEzNjYwNDc4NTkxOTE5XSwgWzE2NjM3NTEyNjQuMjc3NjQ2MywgMTgyNDMsIDMuMDg0MTI2NzEwODkxNzIzNl0sIFsxNjYzNzUxMjY1LjAxMjM1MDgsIDE4MzMzLCAzLjAyMzM4MTcxMDA1MjQ5MDJdLCBbMTY2Mzc1MTI2Ni4xMTI0ODk3LCAxODQzMiwgMy4wMzAzNDczNDcyNTk1MjE1XSwgWzE2NjM3NTEyNjYuNzUxMzA5NCwgMTg1MDQsIDMuMDQ2NzUwMDY4NjY0NTUxXSwgWzE2NjM3NTEyNjcuNjA3NzQ2OCwgMTg2MTIsIDMuMDE3OTQ4ODY1ODkwNTAzXSwgWzE2NjM3NTEyNjcuOTQxNjYzLCAxODYzOSwgMy4xMDI1OTQzNzU2MTAzNTE2XSwgWzE2NjM3NTEyNjguODI1Nzc2LCAxODcyMCwgMi45MjA3MDU3OTUyODgwODZdLCBbMTY2Mzc1MTI2OS43NzI5OTkzLCAxODgxMCwgMi45NjU5MTQwMTEwMDE1ODddLCBbMTY2Mzc1MTI3MC41MzIzNTM5LCAxODg4MiwgMi45OTIzNTg0NDYxMjEyMTZdLCBbMTY2Mzc1MTI3MC44MjE2Mjg2LCAxODkwOSwgMi45MTA0MjYzNzgyNTAxMjJdLCBbMTY2Mzc1MTI3MS4wNTcxNTAxLCAxODkzNiwgMi45Mjk1MTc1MDc1NTMxMDA2XSwgWzE2NjM3NTEyNzEuNTI4ODc2OCwgMTg5OTAsIDIuOTc0MjI0ODA1ODMxOTA5XSwgWzE2NjM3NTEyNzEuOTIwMTg0OSwgMTkwMzUsIDIuODkyMjAxMTg1MjI2NDQwNF0sIFsxNjYzNzUxMjcyLjA3MDExMDYsIDE5MDQ0LCAzLjAxNDcxNTkwOTk1Nzg4NTddLCBbMTY2Mzc1MTI3Mi40OTkxMDgzLCAxOTA4MCwgMy4wMTkzNzI5NDAwNjM0NzY2XSwgWzE2NjM3NTEyNzIuNTc1NzE3NCwgMTkwODksIDIuOTQ3NjY1OTI5Nzk0MzExNV0sIFsxNjYzNzUxMjczLjM0MDAwMDIsIDE5MTUyLCAyLjkwNzg4NDM1OTM1OTc0MV0sIFsxNjYzNzUxMjc0LjA0NzI5MjUsIDE5MjMzLCAyLjgzMDk0MjM5MjM0OTI0M10sIFsxNjYzNzUxMjc0LjI2MjUzNjUsIDE5MjYwLCAyLjc5OTI5NTQyNTQxNTAzOV0sIFsxNjYzNzUxMjc2LjE3MjM1NzYsIDE5NDQwLCAyLjgzMTgxNDc2NTkzMDE3Nl0sIFsxNjYzNzUxMjc3LjA5MzYyMjIsIDE5NTMwLCAyLjgwNjY4MDQ0MDkwMjcxXSwgWzE2NjM3NTEyNzguNTU4OTg2MiwgMTk2OTIsIDIuNzU0Mjk4OTI1Mzk5NzgwM10sIFsxNjYzNzUxMjc5LjA1NTE5MTMsIDE5NzU1LCAyLjY5OTg4NDY1MzA5MTQzMDddLCBbMTY2Mzc1MTI3OS41NTUwMjg0LCAxOTgxOCwgMi43Njg4Njg0NDYzNTAwOTc3XSwgWzE2NjM3NTEyODAuMTA0MjM2NiwgMTk4OTAsIDIuNzEyODI1Nzc1MTQ2NDg0NF0sIFsxNjYzNzUxMjgwLjI1ODYzODEsIDE5OTA4LCAyLjY5NDk0ODY3MzI0ODI5MV0sIFsxNjYzNzUxMjgwLjc1MTIwNjQsIDE5OTQ0LCAyLjY2NzUxOTA5MjU1OTgxNDVdLCBbMTY2Mzc1MTI4MS4yMTM2ODIyLCAxOTk5OCwgMi43MDIzMjUzNDQwODU2OTM0XSwgWzE2NjM3NTEyODEuNTMxMDA5MiwgMjAwMzQsIDIuNjY0NjExNTc3OTg3NjcxXSwgWzE2NjM3NTEyODIuMzYxNTYxOCwgMjAxMzMsIDIuNzYxNTY0MjU0NzYwNzQyXSwgWzE2NjM3NTEyODIuNjM1MzUzNiwgMjAxNjAsIDIuNjg2OTIzMjY1NDU3MTUzM10sIFsxNjYzNzUxMjgyLjk4NDIwNDgsIDIwMjA1LCAyLjYyMDIyOTcyMTA2OTMzNl0sIFsxNjYzNzUxMjgzLjk1NTQ5LCAyMDMyMiwgMi42MDkzOTQ3ODg3NDIwNjU0XSwgWzE2NjM3NTEyODUuODM2MDYzLCAyMDUzOCwgMi42Mzk2Njc1MTA5ODYzMjhdLCBbMTY2Mzc1MTI4Ny40MTYwMDIzLCAyMDcwOSwgMi41NjgwODQ5NTUyMTU0NTRdLCBbMTY2Mzc1MTI4Ny44NzI5MzI0LCAyMDc1NCwgMi41NDQ5OTQ1OTI2NjY2MjZdLCBbMTY2Mzc1MTI4Ny45NDI3MjUyLCAyMDc2MywgMi41Nzk5NTE1MjQ3MzQ0OTddLCBbMTY2Mzc1MTI4OC45ODQxNTg1LCAyMDg1MywgMi42MjQwNTE4MDkzMTA5MTNdLCBbMTY2Mzc1MTI4OS4yMjc4OTc0LCAyMDg4MCwgMi41NjQ1NTg1MDYwMTE5NjNdLCBbMTY2Mzc1MTI4OS42MzAxMjYsIDIwOTI1LCAyLjQ5NTI4NTk4Nzg1NDAwNF0sIFsxNjYzNzUxMjkwLjI0NjE4OTYsIDIwOTk3LCAyLjUzMTYyNjIyNDUxNzgyMjNdLCBbMTY2Mzc1MTI5MS4wNzc1MzgsIDIxMDg3LCAyLjQ5ODc1NzgzOTIwMjg4MV0sIFsxNjYzNzUxMjkxLjk0Mjk2MywgMjExNzcsIDIuNTIxNjU2OTkwMDUxMjY5NV0sIFsxNjYzNzUxMjkyLjY2MjUwMDYsIDIxMjQwLCAyLjU2ODk2NjM4ODcwMjM5MjZdLCBbMTY2Mzc1MTI5My43MzIwMjQsIDIxMzY2LCAyLjUxNTAzODAxMzQ1ODI1Ml0sIFsxNjYzNzUxMjk1LjE0Mzc5MjIsIDIxNTEwLCAyLjQzNTIyNjkxNzI2Njg0NTddLCBbMTY2Mzc1MTI5NS40NjA4MDY4LCAyMTU0NiwgMi40MTM5NTg1NDk0OTk1MTE3XSwgWzE2NjM3NTEyOTUuNjM2NDU5NiwgMjE1NTUsIDIuNDEwMTQzMTM2OTc4MTQ5NF0sIFsxNjYzNzUxMjk1Ljg2ODc3MjMsIDIxNTgyLCAyLjQxNDI1ODcxODQ5MDYwMDZdLCBbMTY2Mzc1MTI5NS45NjA1NzA2LCAyMTU5MSwgMi40Nzc3MTY2ODQzNDE0MzA3XSwgWzE2NjM3NTEyOTguMjY0NjQ4NCwgMjE4NjEsIDIuMzk5NjQ5MTQzMjE4OTk0XSwgWzE2NjM3NTEyOTguNDkxMTU1LCAyMTg4OCwgMi41MDI0NjMxMDIzNDA2OTgyXSwgWzE2NjM3NTEyOTguNzkxNjQwMywgMjE5MjQsIDIuMzkwNzY1MTkwMTI0NTExN10sIFsxNjYzNzUxMjk4Ljg2NjQxMDUsIDIxOTMzLCAyLjQ0OTE1NjA0NTkxMzY5NjNdLCBbMTY2Mzc1MTI5OS4yNTQ2MzMsIDIxOTc4LCAyLjM4NDIzNzA1MTAxMDEzMl0sIFsxNjYzNzUxMjk5LjM0MDI1ODgsIDIxOTg3LCAyLjM2MzEzOTg2Nzc4MjU5MjhdLCBbMTY2Mzc1MTMwMC40MDkwNjIxLCAyMjA5NSwgMi4zODI5OTg5NDMzMjg4NTc0XSwgWzE2NjM3NTEzMDAuOTg3NTY5MywgMjIxNjcsIDIuMzcyMDg2NzYzMzgxOTU4XSwgWzE2NjM3NTEzMDEuMTQ0NTMsIDIyMTg1LCAyLjQxNzkwMDgwMDcwNDk1Nl0sIFsxNjYzNzUxMzAxLjIyNjg1MDcsIDIyMTk0LCAyLjM0NzcwMzQ1Njg3ODY2Ml0sIFsxNjYzNzUxMzAyLjk2MTE3NzMsIDIyMzc0LCAyLjMyMTQ3NTAyODk5MTY5OV0sIFsxNjYzNzUxMzAzLjg5NjAzOSwgMjI0NDYsIDIuMzY4ODMzNTQxODcwMTE3XSwgWzE2NjM3NTEzMDQuMjg5MTYzOCwgMjI0OTEsIDIuMjk4OTM2MTI4NjE2MzMzXSwgWzE2NjM3NTEzMDQuNDM3ODE3LCAyMjUwOSwgMi4zMjM4OTQyNjIzMTM4NDI4XSwgWzE2NjM3NTEzMDQuNzAzNjY5NSwgMjI1MzYsIDIuMzA0NDE0MDMzODg5NzcwNV0sIFsxNjYzNzUxMzA0LjgzMzQ0LCAyMjU1NCwgMi4yOTg1NTEwODI2MTEwODRdLCBbMTY2Mzc1MTMwNC44OTk3Mjg1LCAyMjU2MywgMi4zMzc3MDEzMjA2NDgxOTM0XSwgWzE2NjM3NTEzMDUuNzM2NDM2NCwgMjI2NjIsIDIuMzM1NDQzOTczNTQxMjU5OF0sIFsxNjYzNzUxMzA1LjgwNzQyNzQsIDIyNjcxLCAyLjM5NTY5MzU0MDU3MzEyXSwgWzE2NjM3NTEzMDUuODc0NjA2NCwgMjI2ODAsIDIuMzY5MDEzNzg2MzE1OTE4XSwgWzE2NjM3NTEzMDYuMDE5NTY1OCwgMjI2OTgsIDIuMjg4MDMzMDA4NTc1NDM5NV0sIFsxNjYzNzUxMzA2LjE2NjQ2NzQsIDIyNzE2LCAyLjMyMDQ4MTMwMDM1NDAwNF0sIFsxNjYzNzUxMzA2LjUyMDU1NjIsIDIyNzYxLCAyLjI5MjAyNDEzNTU4OTU5OTZdLCBbMTY2Mzc1MTMwNi42Njk0MTg4LCAyMjc3OSwgMi4yOTAxMjYzMjM2OTk5NTFdLCBbMTY2Mzc1MTMwNy40ODY5NDgsIDIyODUxLCAyLjI2MDY1ODc0MDk5NzMxNDVdLCBbMTY2Mzc1MTMxMC4xMzkzNzcsIDIzMDk0LCAyLjIzNzkyOTEwNTc1ODY2N10sIFsxNjYzNzUxMzEwLjI0MTM0ODUsIDIzMTAzLCAyLjI3NTYwOTk3MDA5Mjc3MzRdLCBbMTY2Mzc1MTMxMS4yNTkxNDQzLCAyMzIwMiwgMi4yNTk2MTc4MDU0ODA5NTddLCBbMTY2Mzc1MTMxMS4zNDE3NDU2LCAyMzIxMSwgMi4yNTExNTk0Mjk1NTAxNzFdLCBbMTY2Mzc1MTMxMi4xMjgxNTIsIDIzMzAxLCAyLjE5NzA2NDE2MTMwMDY1OV0sIFsxNjYzNzUxMzEyLjIwMDk3MTQsIDIzMzEwLCAyLjIyMTEyMzY5NTM3MzUzNV0sIFsxNjYzNzUxMzEyLjQ0MjAzOSwgMjMzMzcsIDIuMjc0OTk2NzU3NTA3MzI0XSwgWzE2NjM3NTEzMTMuMDI5NTAwMiwgMjM0MDAsIDIuMjIzMTU3MTY3NDM0NjkyNF0sIFsxNjYzNzUxMzEzLjc3ODExMSwgMjM0NjMsIDIuMTkwNjgzMTI2NDQ5NTg1XSwgWzE2NjM3NTEzMTQuODUzNDI3LCAyMzU4MCwgMi4xODA3Mjc5NTg2NzkxOTldLCBbMTY2Mzc1MTMxNS40NDcwODUxLCAyMzY1MiwgMi4xNDAxNzc3MjY3NDU2MDU1XSwgWzE2NjM3NTEzMTUuNTE2ODUyLCAyMzY2MSwgMi4xODIxODA4ODE1MDAyNDRdLCBbMTY2Mzc1MTMxNi4wNzMwNDIsIDIzNzI0LCAyLjIyNjQ0NDI0NDM4NDc2NTZdLCBbMTY2Mzc1MTMxNi4zNzAzNTAxLCAyMzc1MSwgMi4xNjMyNDg3NzczODk1MjY0XSwgWzE2NjM3NTEzMTYuNDM4NDA0OCwgMjM3NjAsIDIuMjM3NDY5MTk2MzE5NThdLCBbMTY2Mzc1MTMxNi41MjgwNTczLCAyMzc2OSwgMi4xNTcwNzc3ODkzMDY2NDA2XSwgWzE2NjM3NTEzMTYuOTYwNTM3NCwgMjM3OTYsIDIuMTcxNTU1OTk1OTQxMTYyXSwgWzE2NjM3NTEzMTguNTMzODc3LCAyMzk2NywgMi4yMDA3MjU3OTM4Mzg1MDFdLCBbMTY2Mzc1MTMxOS4xNTIxNTg3LCAyNDAzOSwgMi4xNDQ3MjYyNzYzOTc3MDVdLCBbMTY2Mzc1MTMxOS4yMjc1MzYyLCAyNDA0OCwgMi4xNDQwODMwMjMwNzEyODldLCBbMTY2Mzc1MTMxOS40MzE5NDQxLCAyNDA3NSwgMi4wNTc5MDA2NjcxOTA1NTE4XSwgWzE2NjM3NTEzMTkuOTkwMzkzNCwgMjQxMzgsIDIuMTY3OTI4Njk1Njc4NzExXSwgWzE2NjM3NTEzMjAuMjEzNDI1NiwgMjQxNjUsIDIuMDkyMjUwMTA4NzE4ODcyXSwgWzE2NjM3NTEzMjAuMzYzNTMxNCwgMjQxODMsIDIuMDY0Njg5Mzk3ODExODg5Nl0sIFsxNjYzNzUxMzIwLjYwNjE3MjYsIDI0MjEwLCAyLjE1NjcxMTgxNjc4NzcxOTddLCBbMTY2Mzc1MTMyMS4wMTEzMTQ2LCAyNDI0NiwgMi4xNzYwMDcwMzIzOTQ0MDldLCBbMTY2Mzc1MTMyMS45MjAyMjI1LCAyNDMyNywgMi4xMTI0OTE4NDYwODQ1OTQ3XSwgWzE2NjM3NTEzMjIuNDQ0OTYyNywgMjQzODEsIDIuMDkxMjQzNTA1NDc3OTA1M10sIFsxNjYzNzUxMzIyLjg1NzQ3NjIsIDI0NDI2LCAyLjA4NjQzMDMxMTIwMzAwM10sIFsxNjYzNzUxMzIzLjIxNTAyMTQsIDI0NDYyLCAyLjAzNDcxNjEyOTMwMjk3ODVdLCBbMTY2Mzc1MTMyMy40MjEwODc1LCAyNDQ4MCwgMi4wOTcxMTUyNzgyNDQwMTg2XSwgWzE2NjM3NTEzMjQuNDE4NTM5NSwgMjQ1NzAsIDIuMDg0MzA2MjQwMDgxNzg3XSwgWzE2NjM3NTEzMjQuNzUyMjY3OCwgMjQ1NzksIDIuMTQzNDMwMjMzMDAxNzA5XSwgWzE2NjM3NTEzMjUuMDgyMjY1NiwgMjQ2MTUsIDIuMDczOTgxNzYxOTMyMzczXSwgWzE2NjM3NTEzMjUuNDM0Mzk0NiwgMjQ2NjAsIDIuMDc1ODczMTM2NTIwMzg1N10sIFsxNjYzNzUxMzI1LjUwNDE2MjMsIDI0NjY5LCAyLjEzMDE0Njc0MTg2NzA2NTRdLCBbMTY2Mzc1MTMyNS41NzU3NjIsIDI0Njc4LCAyLjE1NDgzMzMxNjgwMjk3ODVdLCBbMTY2Mzc1MTMyNS44MDE0MzY0LCAyNDcwNSwgMi4wNjg3NzY4NDU5MzIwMDddLCBbMTY2Mzc1MTMyNi40NTUxNzA5LCAyNDc4NiwgMi4xMjkyNjk4MzgzMzMxM10sIFsxNjYzNzUxMzI2LjUzMTU5MjYsIDI0Nzk1LCAyLjA2OTc5Mjk4NTkxNjEzNzddLCBbMTY2Mzc1MTMyNi42MTU2OTY0LCAyNDgwNCwgMi4wOTQ0OTU1MzQ4OTY4NTA2XSwgWzE2NjM3NTEzMjcuMDA5NTI4NiwgMjQ4NDksIDIuMDI2OTc2NTg1Mzg4MTgzNl0sIFsxNjYzNzUxMzI3LjQwNDE4MDMsIDI0ODk0LCAyLjAzNzIzMTY4MzczMTA3OV0sIFsxNjYzNzUxMzI3LjYzODM2MzYsIDI0OTIxLCAyLjA3MTAyODQ3MDk5MzA0Ml0sIFsxNjYzNzUxMzI3Ljg4NDYyNjksIDI0OTQ4LCAyLjA2ODc4OTk1ODk1Mzg1NzRdLCBbMTY2Mzc1MTMyOC4wNDI1MjgsIDI0OTY2LCAyLjA2NTA0MjAxODg5MDM4MV0sIFsxNjYzNzUxMzI4LjE5MjQ1MDgsIDI0OTg0LCAyLjAwNTIwNDIwMDc0NDYyOV0sIFsxNjYzNzUxMzI4LjQzNzEwNSwgMjUwMTEsIDIuMDgyNDk5MDI3MjUyMTk3M10sIFsxNjYzNzUxMzI4Ljk1NjkyNDQsIDI1MDc0LCAyLjA4MzQyMjY2MDgyNzYzNjddLCBbMTY2Mzc1MTMyOS45MTE4Mjc2LCAyNTE4MiwgMi4wMzA2MTcyMzcwOTEwNjQ1XSwgWzE2NjM3NTEzMzAuMDY0NjY5NiwgMjUyMDAsIDIuMDM4ODMxNzEwODE1NDI5N10sIFsxNjYzNzUxMzMxLjA1MDgwMSwgMjUzMTcsIDIuMDE1NjM5MzA1MTE0NzQ2XSwgWzE2NjM3NTEzMzEuMTM2OTE1NywgMjUzMjYsIDIuMDQ0MDg4NjAyMDY2MDRdLCBbMTY2Mzc1MTMzMi4xMjk5ODg0LCAyNTQyNSwgMi4wNjQyNDcxMzEzNDc2NTYyXSwgWzE2NjM3NTEzMzIuODkwNjE4MywgMjU1MTUsIDIuMDM5MzExMTcwNTc4MDAzXSwgWzE2NjM3NTEzMzMuMjAwNjMwMiwgMjU1NTEsIDEuOTk1NzQ5MjM1MTUzMTk4Ml0sIFsxNjYzNzUxMzMzLjY0MDk3NDUsIDI1NjA1LCAyLjA3ODA5MTE0NDU2MTc2NzZdLCBbMTY2Mzc1MTMzNC4xNjQ0NTExLCAyNTY2OCwgMi4wMTAxNjI1OTE5MzQyMDRdLCBbMTY2Mzc1MTMzNC4yMzk1NTE4LCAyNTY3NywgMS45OTYwNTUwMDY5ODA4OTZdLCBbMTY2Mzc1MTMzNC42NTY2OTIsIDI1NzIyLCAyLjAwNjQ2ODI5NjA1MTAyNTRdLCBbMTY2Mzc1MTMzNC45NjEwMTQ3LCAyNTc1OCwgMS45Mzk5MzgzMDY4MDg0NzE3XSwgWzE2NjM3NTEzMzUuMDM1NDg2NSwgMjU3NjcsIDEuOTYzODY4NjE4MDExNDc0Nl0sIFsxNjYzNzUxMzM2LjQ4MTMyNCwgMjU5MzgsIDEuOTMwNzU3MDQ1NzQ1ODQ5Nl0sIFsxNjYzNzUxMzM2LjU1MjcwMDgsIDI1OTQ3LCAxLjk1NDY5MzA3ODk5NDc1MV0sIFsxNjYzNzUxMzM3LjIwNDY1ODcsIDI2MDI4LCAxLjkzNzU5MjI2Nzk5MDExMjNdLCBbMTY2Mzc1MTMzNy4zNTk2NDM1LCAyNjA0NiwgMS45NTkxODg5MzgxNDA4NjkxXSwgWzE2NjM3NTEzMzcuNTE2NjY5OCwgMjYwNjQsIDEuOTk0NjM3MDEyNDgxNjg5NV0sIFsxNjYzNzUxMzM4LjMzMDk1NiwgMjYxMzYsIDEuOTA0ODQ5NzY3Njg0OTM2NV0sIFsxNjYzNzUxMzM4LjkyMDM0MiwgMjYyMDgsIDEuOTgzMzcwOTAwMTU0MTEzOF0sIFsxNjYzNzUxMzM5LjI0ODc5ODEsIDI2MjQ0LCAxLjk1NjIxNjQ1NDUwNTkyMDRdLCBbMTY2Mzc1MTMzOS40OTA3NTgyLCAyNjI3MSwgMS45Njg4NTA5NzAyNjgyNDk1XSwgWzE2NjM3NTEzMzkuNjUyNzc4LCAyNjI4OSwgMS45MzMyNDM3NTE1MjU4NzldLCBbMTY2Mzc1MTMzOS43MzMyNjE2LCAyNjI5OCwgMS45NDAzNTI3OTc1MDgyMzk3XSwgWzE2NjM3NTEzMzkuOTQ4NDQ3NywgMjYzMjUsIDEuODk3ODE3NjExNjk0MzM2XSwgWzE2NjM3NTEzNDAuNDMwMzYxNywgMjYzNzksIDEuOTA5NTIzMjQ4NjcyNDg1NF0sIFsxNjYzNzUxMzQwLjc3ODIwNCwgMjY0MTUsIDEuOTI1MTY1NjUzMjI4NzU5OF0sIFsxNjYzNzUxMzQwLjg1NzY1NzQsIDI2NDI0LCAxLjg4NTk4ODQ3Mzg5MjIxMl0sIFsxNjYzNzUxMzQyLjUwNjY0MywgMjY1NTAsIDEuOTE0MjAyMDk0MDc4MDY0XSwgWzE2NjM3NTEzNDIuNzgyNzQ4NywgMjY1NzcsIDEuOTY5NjI0NzU3NzY2NzIzNl0sIFsxNjYzNzUxMzQzLjAxMzg0NjIsIDI2NjA0LCAxLjkwNTMwMDM3ODc5OTQzODVdLCBbMTY2Mzc1MTM0My41OTAzMDU2LCAyNjY2NywgMS45MTcxMzU5NTM5MDMxOTgyXSwgWzE2NjM3NTEzNDMuODk4NjkwNSwgMjY2OTQsIDEuODk1ODM2OTQ5MzQ4NDQ5N10sIFsxNjYzNzUxMzQ0LjA5NzU3NSwgMjY3MTIsIDEuODYwMjIxOTgyMDAyMjU4M10sIFsxNjYzNzUxMzQ0LjcwNTI2MjIsIDI2NzY2LCAxLjg5Nzg5MjIzNjcwOTU5NDddLCBbMTY2Mzc1MTM0NS4xNDIxMTQ2LCAyNjgxMSwgMS45NTA2MTAzOTkyNDYyMTU4XSwgWzE2NjM3NTEzNDUuNzA5MDEzMiwgMjY4NjUsIDEuODYxOTMyNzU0NTE2NjAxNl0sIFsxNjYzNzUxMzQ1Ljk0MDg0OSwgMjY4ODMsIDEuODg4NDMyNjIxOTU1ODcxNl0sIFsxNjYzNzUxMzQ2Ljc1MTE1MywgMjY5NDYsIDEuODc2NzMxMzk1NzIxNDM1NV0sIFsxNjYzNzUxMzQ3LjAzNTg2MjcsIDI2OTczLCAxLjg1NTI2NTAyMTMyNDE1NzddLCBbMTY2Mzc1MTM0Ny4zMzM4NjYsIDI3MDAwLCAxLjkwNDQzNTI3Njk4NTE2ODVdLCBbMTY2Mzc1MTM0Ny42MjIwNDc0LCAyNzAyNywgMS45MTkzNjk2OTc1NzA4MDA4XSwgWzE2NjM3NTEzNDguMzUzODA1LCAyNzA5OSwgMS44NjAwOTE1NjcwMzk0ODk3XSwgWzE2NjM3NTEzNDkuMjQ4OTYsIDI3MTgwLCAxLjg1MjU1MDYyNTgwMTA4NjRdLCBbMTY2Mzc1MTM1MC4xMzE5MjYzLCAyNzI3MCwgMS44MTEyNDM1MzQwODgxMzQ4XSwgWzE2NjM3NTEzNTAuNTEwMjA5NiwgMjczMTUsIDEuOTE0ODc4NDg3NTg2OTc1XSwgWzE2NjM3NTEzNTEuNjE2MDc4MSwgMjc0MzIsIDEuODcyNTIyODMwOTYzMTM0OF0sIFsxNjYzNzUxMzUxLjc2MzEwOTQsIDI3NDUwLCAxLjg2MzI4NTMwMzExNTg0NDddLCBbMTY2Mzc1MTM1My4wOTQ5NzgsIDI3NjAzLCAxLjg1MDU1MDY1MTU1MDI5M10sIFsxNjYzNzUxMzUzLjMzNjc0NSwgMjc2MzAsIDEuODUzNzgyMjk2MTgwNzI1XSwgWzE2NjM3NTEzNTMuNzE3Nzk4MiwgMjc2NzUsIDEuODAzODk4NTcyOTIxNzUzXSwgWzE2NjM3NTEzNTQuNTU3NDA3MSwgMjc3NTYsIDEuODM0MjUyODM0MzIwMDY4NF0sIFsxNjYzNzUxMzU0LjYyMjIwMDUsIDI3NzY1LCAxLjgzOTI3NzAyOTAzNzQ3NTZdLCBbMTY2Mzc1MTM1NS4yNjIyNzc0LCAyNzgxOSwgMS44MTA4OTM2NTQ4MjMzMDMyXSwgWzE2NjM3NTEzNTUuODQ4Njg5LCAyNzg3MywgMS44MzE3NDQxOTQwMzA3NjE3XSwgWzE2NjM3NTEzNTYuNDk4NDU1LCAyNzkzNiwgMS44MjQxMzg2NDEzNTc0MjE5XSwgWzE2NjM3NTEzNTYuNTkzMzg0NywgMjc5NDUsIDEuNzg2MzA0NTkzMDg2MjQyN10sIFsxNjYzNzUxMzU2LjY3ODQ0MzcsIDI3OTU0LCAxLjg0MDkyMjQ3NDg2MTE0NV0sIFsxNjYzNzUxMzU2Ljg5NDU0ODIsIDI3OTcyLCAxLjg1MjAzNjIzNzcxNjY3NDhdLCBbMTY2Mzc1MTM1Ny4yNTg0Nzg2LCAyODAwOCwgMS43ODU2OTE5NzY1NDcyNDEyXSwgWzE2NjM3NTEzNTcuNTY1MTI3LCAyODA0NCwgMS43OTAyMTU0OTIyNDg1MzUyXSwgWzE2NjM3NTEzNTcuODU3ODksIDI4MDgwLCAxLjgzOTA1NjQ5MTg1MTgwNjZdLCBbMTY2Mzc1MTM1Ny45MzI0NDk2LCAyODA4OSwgMS44NDA3MDM4NDUwMjQxMDg5XSwgWzE2NjM3NTEzNTguMDAzNTQxMiwgMjgwOTgsIDEuODYwNjU0NTkyNTE0MDM4XSwgWzE2NjM3NTEzNTguMzY2NDY2NSwgMjgxNDMsIDEuODY2NTA4OTYwNzIzODc3XSwgWzE2NjM3NTEzNTguNTE5OTk5LCAyODE2MSwgMS43NzE2MzAxNjc5NjExMjA2XSwgWzE2NjM3NTEzNTkuMjgyMjMzNywgMjgyNTEsIDEuNzU1Mjk0Nzk5ODA0Njg3NV0sIFsxNjYzNzUxMzU5Ljk4Njg0NzQsIDI4MzE0LCAxLjgzNjc1NzA2Mzg2NTY2MTZdLCBbMTY2Mzc1MTM2Mi42ODM4NDc0LCAyODU2NiwgMS43MzcyMDAwMjE3NDM3NzQ0XSwgWzE2NjM3NTEzNjMuMDgxODY2NSwgMjg2MTEsIDEuNzc5NzUyMzczNjk1MzczNV0sIFsxNjYzNzUxMzYzLjc5MTU3MywgMjg2OTIsIDEuNzU2NTQzMzk3OTAzNDQyNF0sIFsxNjYzNzUxMzY0LjAxNTgyMDMsIDI4NzE5LCAxLjcyMDYyNjExNTc5ODk1MDJdLCBbMTY2Mzc1MTM2NC4yNTA0MzczLCAyODczNywgMS43NDk1NTY1NDE0NDI4NzFdLCBbMTY2Mzc1MTM2NC44MzQzOTYsIDI4ODAwLCAxLjc2MTU1NDEyMTk3MTEzMDRdLCBbMTY2Mzc1MTM2NS4xNDk2NjE1LCAyODgzNiwgMS43MjQwNDQyMDM3NTgyMzk3XSwgWzE2NjM3NTEzNjUuMjcxMzA5LCAyODg0NSwgMS43NDA0NzIzMTY3NDE5NDM0XSwgWzE2NjM3NTEzNjUuOTc4OTg0NiwgMjg5MTcsIDEuNzY4NTg5NDk2NjEyNTQ4OF0sIFsxNjYzNzUxMzY2LjQxMzMyNjUsIDI4OTUzLCAxLjc5Nzc1MzQ1MzI1NDY5OTddLCBbMTY2Mzc1MTM2Ni40ODc4NzQ1LCAyODk2MiwgMS43NDg5MTE2MTkxODY0MDE0XSwgWzE2NjM3NTEzNjYuNzgwNDI4LCAyODk4OSwgMS44MTQ3NjI0NzMxMDYzODQzXSwgWzE2NjM3NTEzNjYuOTU5NzcwNywgMjkwMDcsIDEuNzQyNDYxMDg1MzE5NTE5XSwgWzE2NjM3NTEzNjcuNjAyODAyNSwgMjkwNzAsIDEuODAxMjk0NDQ1OTkxNTE2MV0sIFsxNjYzNzUxMzY4LjI0NjAyNDYsIDI5MTQyLCAxLjc2MjEwMjg0MjMzMDkzMjZdLCBbMTY2Mzc1MTM2OC42MDU3ODgsIDI5MTc4LCAxLjc0NTY4NDE0Njg4MTEwMzVdLCBbMTY2Mzc1MTM2OC43OTA1Nzk2LCAyOTE5NiwgMS43MjY4MDg3ODYzOTIyMTJdLCBbMTY2Mzc1MTM3MC45Mzc4MDU3LCAyOTM5NCwgMS43MjU3NTgwNzU3MTQxMTEzXSwgWzE2NjM3NTEzNzEuMTY0Mjg0NSwgMjk0MjEsIDEuNzQwODgwMTMxNzIxNDk2Nl0sIFsxNjYzNzUxMzcyLjA1MzMwNSwgMjk1MjksIDEuNzM0MTUwNDA5Njk4NDg2M10sIFsxNjYzNzUxMzczLjA2NDU3MDQsIDI5NjU1LCAxLjc0MDY1NDgyNjE2NDI0NTZdLCBbMTY2Mzc1MTM3My4zNjA1MTk2LCAyOTY5MSwgMS43NTY3Njc5ODgyMDQ5NTZdLCBbMTY2Mzc1MTM3My45NzE0MzIyLCAyOTc2MywgMS42NzgzOTI4ODcxMTU0Nzg1XSwgWzE2NjM3NTEzNzYuOTc2NjY0LCAzMDA2OSwgMS43MDU4OTgyODQ5MTIxMDk0XSwgWzE2NjM3NTEzNzcuNDgzNjY2MiwgMzAxMTQsIDEuNzUwODc3NjE4Nzg5NjcyOV0sIFsxNjYzNzUxMzc4LjUzODU2NTIsIDMwMjEzLCAxLjY5Mjc1NzI0ODg3ODQ3OV0sIFsxNjYzNzUxMzc5LjI1NDM4MjEsIDMwMjk0LCAxLjY4NTU1OTk4ODAyMTg1MDZdLCBbMTY2Mzc1MTM3OS42MjkxMDkxLCAzMDMzOSwgMS42NjgxNDg2MzY4MTc5MzIxXSwgWzE2NjM3NTEzNzkuNzc0NzI4OCwgMzAzNTcsIDEuNjUzMDA1ODM4Mzk0MTY1XSwgWzE2NjM3NTEzNzkuOTE3NzU1LCAzMDM3NSwgMS42NTY4MTM1MDIzMTE3MDY1XSwgWzE2NjM3NTEzODAuMjc1OTE3MywgMzA0MDIsIDEuNjc4NjE2NzYyMTYxMjU0OV0sIFsxNjYzNzUxMzgwLjQ0NjI4NzQsIDMwNDIwLCAxLjY2Mzc3MDU1NjQ0OTg5MDFdLCBbMTY2Mzc1MTM4MC44NTE5Mzc4LCAzMDQ2NSwgMS43MDI3MTM2MDg3NDE3NjAzXSwgWzE2NjM3NTEzODAuOTQwNDkxMiwgMzA0NzQsIDEuNjYxNzU5Mzc2NTI1ODc5XSwgWzE2NjM3NTEzODEuNTg2OTgzNCwgMzA1NDYsIDEuNjk4NjYyNDAwMjQ1NjY2NV0sIFsxNjYzNzUxMzgxLjY2ODU5NTgsIDMwNTU1LCAxLjY3Nzg4MDg4MzIxNjg1OF0sIFsxNjYzNzUxMzgxLjkwMTk4ODMsIDMwNTgyLCAxLjcyMTUzODY2MjkxMDQ2MTRdLCBbMTY2Mzc1MTM4Mi42MTA0MDY0LCAzMDY0NSwgMS42Njg3MDY1MzYyOTMwMjk4XSwgWzE2NjM3NTEzODIuOTY4MjE1NywgMzA2ODEsIDEuNjYxMjQ1NTg0NDg3OTE1XSwgWzE2NjM3NTEzODMuMDc2MDUyNCwgMzA2OTAsIDEuNjY0MzIwMzQ5NjkzMjk4M10sIFsxNjYzNzUxMzg0LjExODkzNDYsIDMwNzcxLCAxLjY1NjQ4ODI5OTM2OTgxMl0sIFsxNjYzNzUxMzg0LjUwMzIyNTYsIDMwODA3LCAxLjY2Mjg2MzQ5Mjk2NTY5ODJdLCBbMTY2Mzc1MTM4NC44NTI5NjAzLCAzMDg0MywgMS42MzIzMTU5OTMzMDkwMjFdLCBbMTY2Mzc1MTM4NS42NTE5NDk2LCAzMDkxNSwgMS42NDQ3NTQ1Mjg5OTkzMjg2XSwgWzE2NjM3NTEzODYuMDIxMjAwNywgMzA5NjAsIDEuNjUyNTEwODgxNDIzOTUwMl0sIFsxNjYzNzUxMzg3LjI4MjAyNDEsIDMxMDk1LCAxLjc1NjE5MjgwMzM4Mjg3MzVdLCBbMTY2Mzc1MTM4Ny4zNTIzNjI0LCAzMTEwNCwgMS43MDY1MDgyNzg4NDY3NDA3XSwgWzE2NjM3NTEzODcuNjY5NTg3OSwgMzExNDAsIDEuNjQ4MDQ5NDczNzYyNTEyMl0sIFsxNjYzNzUxMzg3LjgyNjA2ODIsIDMxMTU4LCAxLjY3NTM1ODQxNDY0OTk2MzRdLCBbMTY2Mzc1MTM4OC4zNjUxNzg4LCAzMTIyMSwgMS42MjQ1NTYzMDMwMjQyOTJdLCBbMTY2Mzc1MTM4OC42ODk4MzAzLCAzMTI1NywgMS42NDkwMDE5NTU5ODYwMjNdLCBbMTY2Mzc1MTM4OS4zODcwOTUsIDMxMzM4LCAxLjY0NzQzMDg5Njc1OTAzMzJdLCBbMTY2Mzc1MTM4OS40NjYwNjMsIDMxMzQ3LCAxLjYwNDI5Nzk5NTU2NzMyMThdLCBbMTY2Mzc1MTM4OS41NDU1MDk2LCAzMTM1NiwgMS42MjkxMzgzNTA0ODY3NTU0XSwgWzE2NjM3NTEzODkuNjIwNTk1NSwgMzEzNjUsIDEuNjIwOTY3NTA3MzYyMzY1N10sIFsxNjYzNzUxMzg5LjY5ODAxMywgMzEzNzQsIDEuNjA3OTUxMjgzNDU0ODk1XSwgWzE2NjM3NTEzOTAuMTAyOTEyNCwgMzE0MjgsIDEuNjUwOTYxNzU2NzA2MjM3OF0sIFsxNjYzNzUxMzkwLjI0NDg0ODUsIDMxNDQ2LCAxLjYxNTM1NDg5NTU5MTczNThdLCBbMTY2Mzc1MTM5MC40NjQyNzM3LCAzMTQ3MywgMS42NjIwMjg3ODk1MjAyNjM3XSwgWzE2NjM3NTEzOTAuNzAxOTM0OCwgMzE1MDAsIDEuNjM4ODcyMzg1MDI1MDI0NF0sIFsxNjYzNzUxMzkwLjc3MzI5MjgsIDMxNTA5LCAxLjYyNTk4NTM4Mzk4NzQyNjhdLCBbMTY2Mzc1MTM5MS4xODc2NzY0LCAzMTUzNiwgMS42MjE0MjgyNTEyNjY0Nzk1XSwgWzE2NjM3NTEzOTEuOTkwMzM3NiwgMzE2MzUsIDEuNjI4MTIzNjQxMDE0MDk5MV0sIFsxNjYzNzUxMzkyLjQ0NTAzMzYsIDMxNjg5LCAxLjYzNDYwMDc1ODU1MjU1MTNdLCBbMTY2Mzc1MTM5Mi44ODc5NiwgMzE3NDMsIDEuNjQzMTA0NjcyNDMxOTQ1OF0sIFsxNjYzNzUxMzkzLjU2OTE1NzgsIDMxODI0LCAxLjU1OTk4NTk5NTI5MjY2MzZdLCBbMTY2Mzc1MTM5My42NTUyOCwgMzE4MzMsIDEuNjQ4MzIwNzk0MTA1NTI5OF0sIFsxNjYzNzUxMzk0LjA3NTA4MywgMzE4NzgsIDEuNTk2NjIxNjMyNTc1OTg4OF0sIFsxNjYzNzUxMzk0LjMwMjgyMDIsIDMxOTA1LCAxLjYwMjMzMTk5NTk2NDA1MDNdLCBbMTY2Mzc1MTM5NC43NDQ0MDU1LCAzMTk1OSwgMS42MDEwOTYwMzQwNDk5ODc4XSwgWzE2NjM3NTEzOTUuMDI0MDI2MiwgMzE5OTUsIDEuNTc5MTc2NjY0MzUyNDE3XSwgWzE2NjM3NTEzOTUuMzI2MzkyNywgMzIwMzEsIDEuNjE4NTI2MjIwMzIxNjU1M10sIFsxNjYzNzUxMzk1Ljg5OTc2MjYsIDMyMTAzLCAxLjU5MDUzNDU2NzgzMjk0NjhdLCBbMTY2Mzc1MTM5Ni4xMzYwMDY2LCAzMjEzMCwgMS42MjM4NTQwNDEwOTk1NDgzXSwgWzE2NjM3NTEzOTYuNTc4MDUwNiwgMzIxODQsIDEuNTk2NDY3MTM3MzM2NzMxXSwgWzE2NjM3NTEzOTYuNjU1Mjg1NiwgMzIxOTMsIDEuNTYwODU3MDU3NTcxNDExMV0sIFsxNjYzNzUxMzk3LjI3MDQ0OTQsIDMyMjY1LCAxLjY1NjkyNDI0Nzc0MTY5OTJdLCBbMTY2Mzc1MTM5Ny43MDQzMDc4LCAzMjI5MiwgMS42MTYyMzg3MTMyNjQ0NjUzXSwgWzE2NjM3NTEzOTcuNzg1MDg5MywgMzIzMDEsIDEuNTg0MzUyMDE2NDQ4OTc0Nl0sIFsxNjYzNzUxMzk4Ljk1ODY0MTgsIDMyNDA5LCAxLjY4MTIzMDc4MzQ2MjUyNDRdLCBbMTY2Mzc1MTQwMC4xMDAwMDQ3LCAzMjUyNiwgMS42MzY4MTQxMTc0MzE2NDA2XSwgWzE2NjM3NTE0MDAuMjA2OTI5NywgMzI1MzUsIDEuNjQxNTgyMDEyMTc2NTEzN10sIFsxNjYzNzUxNDAwLjMxNzI2ODEsIDMyNTQ0LCAxLjU2OTg1NzAwMTMwNDYyNjVdLCBbMTY2Mzc1MTQwMC40MDgzMzcsIDMyNTUzLCAxLjYwMzk1MzEyMzA5MjY1MTRdLCBbMTY2Mzc1MTQwMS42MDA2OTIzLCAzMjY3OSwgMS41ODI2NzMzMTEyMzM1MjA1XSwgWzE2NjM3NTE0MDMuNTI3NDQxNywgMzI4OTUsIDEuNTU3MDc0NDI3NjA0Njc1M10sIFsxNjYzNzUxNDAzLjc5Mzc5NDYsIDMyOTIyLCAxLjU3NTk0OTE5MjA0NzExOTFdLCBbMTY2Mzc1MTQwNC4wMjU4NzM0LCAzMjk0MCwgMS41NTQzOTExNDU3MDYxNzY4XSwgWzE2NjM3NTE0MDQuMjM2NjExOCwgMzI5NTgsIDEuNTYzMzU0NDkyMTg3NV0sIFsxNjYzNzUxNDA0LjU1MDQ5NTQsIDMyOTg1LCAxLjU3NzczNjYxNjEzNDY0MzZdLCBbMTY2Mzc1MTQwNC44NjM3MjEsIDMzMDIxLCAxLjU3MDgxOTYxNjMxNzc0OV0sIFsxNjYzNzUxNDA1LjI5ODYyNDMsIDMzMDQ4LCAxLjU1NDMwNjg2NDczODQ2NDRdLCBbMTY2Mzc1MTQwNS40MzYwNzg4LCAzMzA1NywgMS41NTM0MjEzNzgxMzU2ODEyXSwgWzE2NjM3NTE0MDYuOTE1NjY0LCAzMzIxOSwgMS41NjUxMTI4MjkyMDgzNzRdLCBbMTY2Mzc1MTQwNy42NDcxOTQ5LCAzMzMwOSwgMS41NTM3MDE5OTY4MDMyODM3XSwgWzE2NjM3NTE0MDguMTYzNDE0NywgMzMzNzIsIDEuNTkxMDg5MTI5NDQ3OTM3XSwgWzE2NjM3NTE0MDguNDY5NTIxLCAzMzQwOCwgMS41NDM3MzgwMDc1NDU0NzEyXSwgWzE2NjM3NTE0MDguNTQzODU3OCwgMzM0MTcsIDEuNTg3Mjk5MjI3NzE0NTM4Nl0sIFsxNjYzNzUxNDA4LjkyNDI3MDYsIDMzNDYyLCAxLjUzNTAyNjY2OTUwMjI1ODNdLCBbMTY2Mzc1MTQwOS4wMDEyOTIyLCAzMzQ3MSwgMS41ODc1MzgxMjMxMzA3OTgzXSwgWzE2NjM3NTE0MDkuMjMzNjY0LCAzMzQ5OCwgMS41MjI0MzIwODg4NTE5Mjg3XSwgWzE2NjM3NTE0MTAuMDMzNDc5MiwgMzM1OTcsIDEuNTE2Mjk3NDU5NjAyMzU2XSwgWzE2NjM3NTE0MTAuMTA3MTQ3NSwgMzM2MDYsIDEuNTQ0MTY5NjY0MzgyOTM0Nl0sIFsxNjYzNzUxNDExLjYwMzc3NDUsIDMzNzE0LCAxLjU4NzY3MzA2ODA0NjU2OThdLCBbMTY2Mzc1MTQxMS43MDU0MzMxLCAzMzcyMywgMS41MjkzMzc0MDYxNTg0NDczXSwgWzE2NjM3NTE0MTEuODkyNzUsIDMzNzQxLCAxLjUxMjQ4MDI1ODk0MTY1MDRdLCBbMTY2Mzc1MTQxMi4wMDc2NDc4LCAzMzc1MCwgMS40OTgyNjMzNTkwNjk4MjQyXSwgWzE2NjM3NTE0MTIuMjU0NTA2OCwgMzM3NzcsIDEuNTQzMzg3NTMyMjM0MTkyXSwgWzE2NjM3NTE0MTIuMzI4NzY2LCAzMzc4NiwgMS41Mzk5NjQ0Mzc0ODQ3NDEyXSwgWzE2NjM3NTE0MTIuNDAzMDQ3LCAzMzc5NSwgMS41NDA2MDM3NTY5MDQ2MDJdLCBbMTY2Mzc1MTQxMy4yNjA0MDIsIDMzODU4LCAxLjU0NDYyNjExNjc1MjYyNDVdLCBbMTY2Mzc1MTQxMy40MDEwMDU1LCAzMzg3NiwgMS42MDIzMDI2NzA0Nzg4MjA4XSwgWzE2NjM3NTE0MTMuNTUxNDAzNSwgMzM4OTQsIDEuNjQyNDk2OTQzNDczODE2XSwgWzE2NjM3NTE0MTQuODI2NzE5NSwgMzQwMjksIDEuNTUwOTIwNzI0ODY4Nzc0NF0sIFsxNjYzNzUxNDE0Ljg5ODY0MTYsIDM0MDM4LCAxLjUwNjI2OTIxNjUzNzQ3NTZdLCBbMTY2Mzc1MTQxNC45NzMxNSwgMzQwNDcsIDEuNTQwNjgxMzYyMTUyMDk5Nl0sIFsxNjYzNzUxNDE1LjA1MzM3MTIsIDM0MDU2LCAxLjUyOTUyNTI3OTk5ODc3OTNdLCBbMTY2Mzc1MTQxNS40NTIzNDQ3LCAzNDA5MiwgMS41MTA1ODg4ODQzNTM2Mzc3XSwgWzE2NjM3NTE0MTUuNjc4NDIxMywgMzQxMTksIDEuNTI4OTgxMDg5NTkxOThdLCBbMTY2Mzc1MTQxNi44MTE1MTUzLCAzNDI1NCwgMS41NjkxMjc3OTgwODA0NDQzXSwgWzE2NjM3NTE0MTcuMDk2NzA3LCAzNDI3MiwgMS40NzM2OTA2MjkwMDU0MzIxXSwgWzE2NjM3NTE0MTcuNjQ0NjIxNCwgMzQzMjYsIDEuNTAzNDIwNDcyMTQ1MDgwNl0sIFsxNjYzNzUxNDE3Ljc4ODMyMjQsIDM0MzQ0LCAxLjQ5OTI3NTkyMjc3NTI2ODZdLCBbMTY2Mzc1MTQxOC4wODU1Mzg2LCAzNDM4MCwgMS41MTM3Njk3NDU4MjY3MjEyXSwgWzE2NjM3NTE0MTguMzk3ODMxNywgMzQ0MTYsIDEuNTM1MTA2MDYyODg5MDk5MV0sIFsxNjYzNzUxNDE4LjQ4MjY0MTUsIDM0NDI1LCAxLjU3MTUxNzM0ODI4OTQ4OTddLCBbMTY2Mzc1MTQxOS45NDA5Njg1LCAzNDU2MCwgMS41NzEzOTY3MDg0ODg0NjQ0XSwgWzE2NjM3NTE0MjAuODczNTc3NCwgMzQ2NDEsIDEuNTEwOTU5MDI5MTk3NjkyOV0sIFsxNjYzNzUxNDIxLjAzMzcwMywgMzQ2NTksIDEuNTA5NDI4NjIwMzM4NDRdLCBbMTY2Mzc1MTQyMS4yMTY5NjU3LCAzNDY3NywgMS41MDc0NTg4MDYwMzc5MDI4XSwgWzE2NjM3NTE0MjEuNDI5MzYwNiwgMzQ3MDQsIDEuNDY1OTQ5NjU0NTc5MTYyNl0sIFsxNjYzNzUxNDIxLjU2NDM2MDYsIDM0NzIyLCAxLjQ5MDQyMzkxNzc3MDM4NTddLCBbMTY2Mzc1MTQyMS43ODE0NjAzLCAzNDc0OSwgMS40Nzc0NTgyMzg2MDE2ODQ2XSwgWzE2NjM3NTE0MjIuNTMwMjc1NiwgMzQ4MzAsIDEuNDUxOTA3Mjc3MTA3MjM4OF0sIFsxNjYzNzUxNDIyLjc0OTA3MzMsIDM0ODU3LCAxLjQ5ODU3ODMxMDAxMjgxNzRdLCBbMTY2Mzc1MTQyMi45ODM1NTI1LCAzNDg4NCwgMS41MDgyMzUzMzUzNTAwMzY2XSwgWzE2NjM3NTE0MjUuMDE4NTA5NiwgMzUxMjcsIDEuNDY0NDczMzY2NzM3MzY1N10sIFsxNjYzNzUxNDI1LjQ1NjYyOCwgMzUxODEsIDEuNTU2MDMzODQ5NzE2MTg2NV0sIFsxNjYzNzUxNDI1LjY4MTczNDgsIDM1MjA4LCAxLjQ1NDgyMTM0ODE5MDMwNzZdLCBbMTY2Mzc1MTQyNS45OTMwMjQ4LCAzNTI0NCwgMS40NzExMjk0MTc0MTk0MzM2XSwgWzE2NjM3NTE0MjYuNDQ4NjU0LCAzNTI5OCwgMS40OTA5MzE1MTA5MjUyOTNdLCBbMTY2Mzc1MTQyNi42ODE4NTgsIDM1MzI1LCAxLjUzMjA0MTE5MjA1NDc0ODVdLCBbMTY2Mzc1MTQyNi44MzIzOTMyLCAzNTM0MywgMS41MDgxNDE2MzY4NDg0NDk3XSwgWzE2NjM3NTE0MjcuNDA2ODA5NiwgMzUzODgsIDEuNDY5MTQ4OTkzNDkyMTI2NV0sIFsxNjYzNzUxNDI3LjU3MTE5NjMsIDM1NDA2LCAxLjQ0NTI5Njc2NDM3Mzc3OTNdLCBbMTY2Mzc1MTQyOC4wMTc4NDE4LCAzNTQzMywgMS40NjgzMzg0ODk1MzI0NzA3XSwgWzE2NjM3NTE0MjkuNDYxMzkyNCwgMzU1ODYsIDEuNDc2MTQwMDIyMjc3ODMyXSwgWzE2NjM3NTE0MjkuNzU3NTAwNCwgMzU2MjIsIDEuNDUwMDAyNTUxMDc4Nzk2NF0sIFsxNjYzNzUxNDMwLjM0NzY0ODksIDM1Njk0LCAxLjQ4NzM2NTM2NTAyODM4MTNdLCBbMTY2Mzc1MTQzMC40MjI1NzM4LCAzNTcwMywgMS40OTU0ODg3NjI4NTU1Mjk4XSwgWzE2NjM3NTE0MzEuMDg3NjYzNCwgMzU3ODQsIDEuNDYzMDU1NjEwNjU2NzM4M10sIFsxNjYzNzUxNDMxLjcwMzE4NjMsIDM1ODM4LCAxLjQ2ODM0Nzc4Nzg1NzA1NTddLCBbMTY2Mzc1MTQzMS43NzMzNTM2LCAzNTg0NywgMS40NjE1NzUyNjk2OTkwOTY3XSwgWzE2NjM3NTE0MzEuODQwMTY3NSwgMzU4NTYsIDEuNTIwNjA5MTQwMzk2MTE4Ml0sIFsxNjYzNzUxNDMyLjA1NDI5NCwgMzU4ODMsIDEuNDc0MTkxOTA0MDY3OTkzMl0sIFsxNjYzNzUxNDMyLjczNTU1OCwgMzU5MzcsIDEuNDcxOTQ0NTcwNTQxMzgxOF0sIFsxNjYzNzUxNDMzLjE4OTIyNDcsIDM1OTgyLCAxLjQ1Nzg2MjI1Nzk1NzQ1ODVdLCBbMTY2Mzc1MTQzMy40NTc1MzI2LCAzNjAwOSwgMS40NDEzOTU3NTk1ODI1MTk1XSwgWzE2NjM3NTE0MzQuMDg3NjE4OCwgMzYwODEsIDEuNTIyMDExMjgwMDU5ODE0NV0sIFsxNjYzNzUxNDM0LjM3NzM3NzcsIDM2MTE3LCAxLjQ4ODI3NzkxMjEzOTg5MjZdLCBbMTY2Mzc1MTQzNC41MTkxMjg2LCAzNjEzNSwgMS40ODkxMTg4MTQ0NjgzODM4XSwgWzE2NjM3NTE0MzUuMzY5MzMyNiwgMzYyMTYsIDEuNDU4NTE1Mjg2NDQ1NjE3N10sIFsxNjYzNzUxNDM1LjcyNjI3OCwgMzYyNjEsIDEuNDYyOTYxNjczNzM2NTcyM10sIFsxNjYzNzUxNDM2LjE4OTI1NywgMzYzMTUsIDEuNDQ3Njg5MTc1NjA1Nzc0XSwgWzE2NjM3NTE0MzYuNjQxODQzNiwgMzYzNjksIDEuNDg5Nzc2MzcyOTA5NTQ2XSwgWzE2NjM3NTE0MzcuMzU5MTEzNSwgMzY0MzIsIDEuNDc2NzczMzgxMjMzMjE1M10sIFsxNjYzNzUxNDM4LjY2Nzg3NywgMzY1OTQsIDEuNDUxMzMxMjU3ODIwMTI5NF0sIFsxNjYzNzUxNDM4Ljc0MDA4MywgMzY2MDMsIDEuNDczMDQwODE5MTY4MDkwOF0sIFsxNjYzNzUxNDM5LjI0NjIzNzUsIDM2NjY2LCAxLjQ1NDc2ODQxOTI2NTc0N10sIFsxNjYzNzUxNDQwLjAzNzg3OTUsIDM2NzM4LCAxLjQ1ODk5OTI3NjE2MTE5MzhdLCBbMTY2Mzc1MTQ0MC4xMDgwNjk3LCAzNjc0NywgMS40MzM5MzA2MzU0NTIyNzA1XSwgWzE2NjM3NTE0NDAuMjYyNzMwNiwgMzY3NjUsIDEuNDE1ODE0NzU3MzQ3MTA3XSwgWzE2NjM3NTE0NDAuNTQyNTkzMiwgMzY4MDEsIDEuNDIyMDYwODQ3MjgyNDA5N10sIFsxNjYzNzUxNDQwLjg1Mzc3OTgsIDM2ODM3LCAxLjQyMjgyMjExNzgwNTQ4MV0sIFsxNjYzNzUxNDQyLjI2NDExOTksIDM2OTkwLCAxLjQ0MjUwNzYyNDYyNjE1OTddLCBbMTY2Mzc1MTQ0Mi42Nzc1MjU1LCAzNzA0NCwgMS41MjQ0NTQ5NTEyODYzMTZdLCBbMTY2Mzc1MTQ0My4wOTE5MzgsIDM3MDk4LCAxLjQzMDkxNDg3ODg0NTIxNDhdLCBbMTY2Mzc1MTQ0My4zNDQ2MzEyLCAzNzEyNSwgMS40OTU3MzQ5MzAwMzg0NTIxXSwgWzE2NjM3NTE0NDMuODAzNTM3OCwgMzcxNzksIDEuNDI1MTI2MDc1NzQ0NjI5XSwgWzE2NjM3NTE0NDQuNzQ4Njg4LCAzNzI4NywgMS40MjUyNzE2MzAyODcxNzA0XSwgWzE2NjM3NTE0NDUuMDI1NjUyNCwgMzczMjMsIDEuNDQ3NDgwNDQwMTM5NzcwNV0sIFsxNjYzNzUxNDQ1LjUyMzU3MiwgMzczODYsIDEuNDMyMjExODc1OTE1NTI3M10sIFsxNjYzNzUxNDQ1Ljc0NjEzOSwgMzc0MTMsIDEuNDEzNzE4ODE5NjE4MjI1XSwgWzE2NjM3NTE0NDYuNTc2ODU1MiwgMzc1MTIsIDEuNDIxODEwNzQ2MTkyOTMyMV0sIFsxNjYzNzUxNDQ3LjM2NDkzOCwgMzc2MDIsIDEuNDA4MzY0NzcyNzk2NjMwOV0sIFsxNjYzNzUxNDQ3LjQ1MjU0MDksIDM3NjExLCAxLjM4NTAwMzA4OTkwNDc4NTJdLCBbMTY2Mzc1MTQ0Ny42ODc3ODAxLCAzNzYzOCwgMS4zODg5MTQ1ODUxMTM1MjU0XSwgWzE2NjM3NTE0NDguOTQ5MDUxNCwgMzc3MzcsIDEuNDU1NDIwMTM2NDUxNzIxMl0sIFsxNjYzNzUxNDUwLjE2NzgxNjIsIDM3ODcyLCAxLjQzODQ0NTQ0ODg3NTQyNzJdLCBbMTY2Mzc1MTQ1MC4yNTQ3NDMsIDM3ODgxLCAxLjQwNDI0NjU2ODY3OTgwOTZdLCBbMTY2Mzc1MTQ1MC44NjQxODQ0LCAzNzk1MywgMS4zOTkzNDU3NTU1NzcwODc0XSwgWzE2NjM3NTE0NTEuMjIzMTIsIDM3OTk4LCAxLjQyOTU5MDcwMjA1Njg4NDhdLCBbMTY2Mzc1MTQ1MS42Njg1MDAyLCAzODA1MiwgMS40MTkzNTUzOTI0NTYwNTQ3XSwgWzE2NjM3NTE0NTEuODE1NzUwNCwgMzgwNzAsIDEuMzk5MDczNjAwNzY5MDQzXSwgWzE2NjM3NTE0NTEuODg4MjA4OSwgMzgwNzksIDEuMzk0NjAxOTQxMTA4NzAzNl0sIFsxNjYzNzUxNDUyLjMzODk0OTQsIDM4MTMzLCAxLjQ4NTAzMTk2MjM5NDcxNDRdLCBbMTY2Mzc1MTQ1My4wOTUxMDA2LCAzODIyMywgMS40MDk0MDQ2MzU0MjkzODIzXSwgWzE2NjM3NTE0NTMuMzI3NDI2MiwgMzgyNTAsIDEuNDA2MTE3MjAwODUxNDQwNF0sIFsxNjYzNzUxNDUzLjQ3MTYwOTgsIDM4MjY4LCAxLjQwNTY3NzA4MDE1NDQxOV0sIFsxNjYzNzUxNDUzLjU1Nzg1NjYsIDM4Mjc3LCAxLjQxNTU1MjM3NzcwMDgwNTddLCBbMTY2Mzc1MTQ1My42MzY1NjY2LCAzODI4NiwgMS4zOTIyNTI2ODM2Mzk1MjY0XSwgWzE2NjM3NTE0NTMuOTM4MjIyNiwgMzgzMjIsIDEuNDQxODUxMzc3NDg3MTgyNl0sIFsxNjYzNzUxNDU0LjY3NTQ5MTYsIDM4NDEyLCAxLjQxMDQyODc2MjQzNTkxM10sIFsxNjYzNzUxNDU0Ljc2MTA1MTQsIDM4NDIxLCAxLjQwMDUwNzY4ODUyMjMzODldLCBbMTY2Mzc1MTQ1NC45MTU1NzEsIDM4NDM5LCAxLjQzNzgyMjgxODc1NjEwMzVdLCBbMTY2Mzc1MTQ1NS44NTI2MzU0LCAzODUyOSwgMS4zOTM5NTQ1MTU0NTcxNTMzXSwgWzE2NjM3NTE0NTUuOTI2OTgzOCwgMzg1MzgsIDEuMzg3NTcxMzM0ODM4ODY3Ml0sIFsxNjYzNzUxNDU3LjI5MDg2MzMsIDM4NjkxLCAxLjM5NTE2NDk2NjU4MzI1Ml0sIFsxNjYzNzUxNDU3Ljc4NzgxMDYsIDM4NzU0LCAxLjQwNDQyNjQ1NTQ5Nzc0MTddLCBbMTY2Mzc1MTQ1OC4xMTA4NzcsIDM4NzkwLCAxLjQyNzIzNjMxODU4ODI1NjhdLCBbMTY2Mzc1MTQ1OS4wOTg1NTQxLCAzODg3MSwgMS4zNzU2OTgwODk1OTk2MDk0XSwgWzE2NjM3NTE0NTkuNTEwOTM5NiwgMzg5MTYsIDEuNDIzODYzMjkxNzQwNDE3NV0sIFsxNjYzNzUxNDU5Ljk4MTIzMjIsIDM4OTYxLCAxLjQzNDk1Nzk4MTEwOTYxOTFdLCBbMTY2Mzc1MTQ2MC41MTk4OTUsIDM5MDE1LCAxLjQwNDQ2NDQ4MzI2MTEwODRdLCBbMTY2Mzc1MTQ2MS40MzA1NzE4LCAzOTA5NiwgMS40Mjc0MTAyNDQ5NDE3MTE0XSwgWzE2NjM3NTE0NjEuNzM0MTYzNSwgMzkxMzIsIDEuMzU4NjQ0NzIzODkyMjEyXSwgWzE2NjM3NTE0NjIuMDczOTUxNywgMzkxNjgsIDEuNDc1MTQ5OTg5MTI4MTEyOF0sIFsxNjYzNzUxNDYzLjE0NjE1NjMsIDM5MjQ5LCAxLjQwODAzNTc1NTE1NzQ3MDddLCBbMTY2Mzc1MTQ2My42NTk0NTYzLCAzOTI5NCwgMS4zODMzMTIzNDQ1NTEwODY0XSwgWzE2NjM3NTE0NjQuMjU0OTM4OCwgMzkzNDgsIDEuMzgzNjQ2MzY4OTgwNDA3N10sIFsxNjYzNzUxNDY0LjY4ODE1NjgsIDM5MzkzLCAxLjQwNzgxMjcxNDU3NjcyMTJdLCBbMTY2Mzc1MTQ2NC45MzUwNDQ1LCAzOTQyMCwgMS4zODY1NTgxNzUwODY5NzVdLCBbMTY2Mzc1MTQ2NS4wMTExNDEzLCAzOTQyOSwgMS40MjA3MDI0NTc0Mjc5Nzg1XSwgWzE2NjM3NTE0NjUuNTc5MTkxNCwgMzk0OTIsIDEuNDA4Mjc5ODk1NzgyNDcwN10sIFsxNjYzNzUxNDY2LjE2MTY2MywgMzk1NjQsIDEuMzcwNjQ5NDU2OTc3ODQ0Ml0sIFsxNjYzNzUxNDY2Ljc1ODM3MTgsIDM5NjM2LCAxLjM5OTAwODUxMjQ5Njk0ODJdLCBbMTY2Mzc1MTQ2Ny4wODA1OTg2LCAzOTY3MiwgMS4zOTYwOTExMDM1NTM3NzJdLCBbMTY2Mzc1MTQ2Ny4zMTI5MjM0LCAzOTY5OSwgMS4zNzY1MzY2MDc3NDIzMDk2XSwgWzE2NjM3NTE0NjcuNTQ2MTc1NywgMzk3MjYsIDEuNDA4MjI3NTYyOTA0MzU4XSwgWzE2NjM3NTE0NjcuNjI2NjA0LCAzOTczNSwgMS4zNzEyMDc5NTI0OTkzODk2XSwgWzE2NjM3NTE0NjguNjIxNzQyNSwgMzk4MDcsIDEuMzYzNTg4ODA5OTY3MDQxXSwgWzE2NjM3NTE0NjguODEyMDIwOCwgMzk4MjUsIDEuMzg4ODcyMDI3Mzk3MTU1OF0sIFsxNjYzNzUxNDY5LjY3NTkwNjQsIDM5OTI0LCAxLjM2MDUwMTA1MDk0OTA5NjddLCBbMTY2Mzc1MTQ3MC4yOTAyMDIxLCAzOTk5NiwgMS4zNjYxNjE1ODQ4NTQxMjZdLCBbMTY2Mzc1MTQ3MS43MTMzMDE3LCA0MDA5NSwgMS4zMzI0OTY0MDQ2NDc4MjcxXSwgWzE2NjM3NTE0NzIuMDgyODA4LCA0MDEzMSwgMS4zODQwNzA5OTI0Njk3ODc2XSwgWzE2NjM3NTE0NzIuODI4MjMwNCwgNDAyMDMsIDEuNDA5MzkzMDcyMTI4Mjk2XSwgWzE2NjM3NTE0NzQuOTY2MzEzLCA0MDQxMCwgMS40MDQ1MjI2NTczOTQ0MDkyXSwgWzE2NjM3NTE0NzUuNTQ2NDExLCA0MDQ2NCwgMS4zNDE3ODMyODUxNDA5OTEyXSwgWzE2NjM3NTE0NzUuODQ4NTYyNSwgNDA1MDAsIDEuMzMzNDk0NzgyNDQ3ODE1XSwgWzE2NjM3NTE0NzcuMDAxNDc4LCA0MDYzNSwgMS4zNTE4NDE5MjY1NzQ3MDddLCBbMTY2Mzc1MTQ3Ny41MTA1MzA1LCA0MDY4OSwgMS4zNjY5NTE0NjU2MDY2ODk1XSwgWzE2NjM3NTE0NzcuNzQ0ODI1MSwgNDA3MTYsIDEuMzUwOTMyMDAyMDY3NTY2XSwgWzE2NjM3NTE0NzcuOTEyODkwNywgNDA3MzQsIDEuMzYwMTA1ODcyMTU0MjM1OF0sIFsxNjYzNzUxNDc4LjY0MjM0NDIsIDQwNzk3LCAxLjQ0NTk1MjI5NjI1NzAxOV0sIFsxNjYzNzUxNDc4Ljg3NDYzNTcsIDQwODI0LCAxLjM2ODM0NzI4NzE3ODAzOTZdLCBbMTY2Mzc1MTQ3OS4xODA4NzMyLCA0MDg2MCwgMS4zMzA0NjM0MDk0MjM4MjgxXSwgWzE2NjM3NTE0NzkuNTk5NjQ5MiwgNDA4OTYsIDEuMzIzNzEwOTE4NDI2NTEzN10sIFsxNjYzNzUxNDc5LjcwNjc3MSwgNDA5MDUsIDEuMzU4NzUwNTgxNzQxMzMzXSwgWzE2NjM3NTE0NzkuNzk4NjAwMiwgNDA5MTQsIDEuMzUxNTQ5MTQ4NTU5NTcwM10sIFsxNjYzNzUxNDc5Ljk2ODcxMiwgNDA5MzIsIDEuMzM0MTU0NjA1ODY1NDc4NV0sIFsxNjYzNzUxNDgwLjQ4NzIyMDUsIDQwOTg2LCAxLjM0NDI3NTk1MTM4NTQ5OF0sIFsxNjYzNzUxNDgxLjEzODMzMiwgNDEwNDksIDEuNDAwODI5NjcyODEzNDE1NV0sIFsxNjYzNzUxNDgxLjMxODAzNzcsIDQxMDY3LCAxLjM4MjYwMDkwMzUxMTA0NzRdLCBbMTY2Mzc1MTQ4MS41MDA3NTc3LCA0MTA4NSwgMS4zNDE1NzMzNTc1ODIwOTIzXSwgWzE2NjM3NTE0ODEuODMzODAzLCA0MTEyMSwgMS4zMzQ2MTMzMjMyMTE2N10sIFsxNjYzNzUxNDgyLjA2NjYyMzQsIDQxMTQ4LCAxLjM2MDAwOTA3NDIxMTEyMDZdLCBbMTY2Mzc1MTQ4Mi4yMjMxMDYsIDQxMTU3LCAxLjMwNzM4NDEzMzMzODkyODJdLCBbMTY2Mzc1MTQ4Mi40MzA1NDk5LCA0MTE3NSwgMS4zNTU3NzcwMjUyMjI3NzgzXSwgWzE2NjM3NTE0ODMuMTkwOTg5MywgNDEyNDcsIDEuMzgyOTE0MTg1NTIzOTg2OF0sIFsxNjYzNzUxNDgzLjk0MTQ5MzUsIDQxMzE5LCAxLjMxODY0MjQ5NzA2MjY4M10sIFsxNjYzNzUxNDg0LjEzMDk1NTUsIDQxMzM3LCAxLjM3MTY3NDI5OTI0MDExMjNdLCBbMTY2Mzc1MTQ4NS40ODcwNTg2LCA0MTQ2MywgMS4zNjY5NjcyMDEyMzI5MTAyXSwgWzE2NjM3NTE0ODUuNzE4MjMwNywgNDE0OTAsIDEuMzkxMDYyNzM2NTExMjMwNV0sIFsxNjYzNzUxNDg1LjkzNDExNDUsIDQxNTE3LCAxLjMzNTI0NzI3ODIxMzUwMV0sIFsxNjYzNzUxNDg3LjM3NDYzMTQsIDQxNjQzLCAxLjMzNTMyNTk1NjM0NDYwNDVdLCBbMTY2Mzc1MTQ4Ny42NzQ2MzY2LCA0MTY3MCwgMS4zNTE4MjE1NDE3ODYxOTM4XSwgWzE2NjM3NTE0ODguODM0NDIxMiwgNDE4MDUsIDEuMzkxMzEyMTIyMzQ0OTcwN10sIFsxNjYzNzUxNDg5LjE4NjI5NDMsIDQxODUwLCAxLjMxOTc2NjY0MDY2MzE0N10sIFsxNjYzNzUxNDg5LjI1NDMxMDgsIDQxODU5LCAxLjMyNjU4OTgyMjc2OTE2NV0sIFsxNjYzNzUxNDg5LjU0NjEyNzgsIDQxODk1LCAxLjMwNDU5ODA5MzAzMjgzN10sIFsxNjYzNzUxNDg5Ljg2Mzc2OTUsIDQxOTMxLCAxLjI5NjY0Mzg1MzE4NzU2MV0sIFsxNjYzNzUxNDg5LjkzNDM3MiwgNDE5NDAsIDEuMzUzNDczMTg2NDkyOTJdLCBbMTY2Mzc1MTQ5MC4wMDk4NzY1LCA0MTk0OSwgMS4zNjY4MjcxMzAzMTc2ODhdLCBbMTY2Mzc1MTQ5MC4xNzIwMzE0LCA0MTk2NywgMS4zMzI3OTg4Mzg2MTU0MTc1XSwgWzE2NjM3NTE0OTAuNTU2NDA3MiwgNDIwMTIsIDEuMzEyNTU1NDMyMzE5NjQxMV0sIFsxNjYzNzUxNDkwLjYyMTUwNTMsIDQyMDIxLCAxLjMwMjA3NDU1MTU4MjMzNjRdLCBbMTY2Mzc1MTQ5MC42OTUzNTMsIDQyMDMwLCAxLjMzNzExNjcxODI5MjIzNjNdLCBbMTY2Mzc1MTQ5MS4zODc5OTkzLCA0MjExMSwgMS4zNDMxMDg4OTI0NDA3OTZdLCBbMTY2Mzc1MTQ5Mi4wODk2Njc2LCA0MjE4MywgMS4zMzc3OTY0NDk2NjEyNTQ5XSwgWzE2NjM3NTE0OTIuNDAwMzMzNCwgNDIyMTksIDEuMzQxOTk1MjM5MjU3ODEyNV0sIFsxNjYzNzUxNDkyLjU2MzcyODYsIDQyMjM3LCAxLjI5MDQ0OTE0MjQ1NjA1NDddLCBbMTY2Mzc1MTQ5My4wMjkzNTUzLCA0MjI5MSwgMS4zNDI4NjcxMzYwMDE1ODddLCBbMTY2Mzc1MTQ5My44MDgzMzg5LCA0MjM2MywgMS4yODAxNDI1NDU3MDAwNzMyXSwgWzE2NjM3NTE0OTMuODg0NTM5NCwgNDIzNzIsIDEuMzM0MzMyOTQyOTYyNjQ2NV0sIFsxNjYzNzUxNDk0LjM3NDY3OSwgNDI0MjYsIDEuMjk3MDkxMjQ1NjUxMjQ1MV0sIFsxNjYzNzUxNDk0LjYwMjAyODEsIDQyNDUzLCAxLjI5NjcyMTkzNTI3MjIxNjhdLCBbMTY2Mzc1MTQ5NS4xNTIzMTA2LCA0MjUyNSwgMS4zMTEwNjY3NDY3MTE3MzFdLCBbMTY2Mzc1MTQ5NS42MTkxMDA4LCA0MjU3OSwgMS4zMzAyNzEzNjMyNTgzNjE4XSwgWzE2NjM3NTE0OTUuODM5MTEzLCA0MjYwNiwgMS4zMzE1Njk3OTA4NDAxNDldLCBbMTY2Mzc1MTQ5NS45MTAyMDksIDQyNjE1LCAxLjMxMDcwNjAxOTQwMTU1MDNdLCBbMTY2Mzc1MTQ5Ni4xMjk5Nzg3LCA0MjY0MiwgMS4zMDE1MjA5NDM2NDE2NjI2XSwgWzE2NjM3NTE0OTYuMzUxNDg1NywgNDI2NjksIDEuMzA3NzQ3MDA2NDE2MzIwOF0sIFsxNjYzNzUxNDk2LjU1NzM3NzgsIDQyNjk2LCAxLjI5NjgwMDk3MTAzMTE4OV0sIFsxNjYzNzUxNDk3LjQ3MTQ1OTYsIDQyODA0LCAxLjI4NTU4ODI2NDQ2NTMzMl0sIFsxNjYzNzUxNDk3Ljc2NjA2NDIsIDQyODQwLCAxLjMxODE5ODkxOTI5NjI2NDZdLCBbMTY2Mzc1MTQ5OC42NTU0MzMsIDQyOTAzLCAxLjM5NzIyMDYxMTU3MjI2NTZdLCBbMTY2Mzc1MTQ5OS4xNjc2MzU0LCA0Mjk1NywgMS4zMjM0MzkyNDA0NTU2Mjc0XSwgWzE2NjM3NTE0OTkuNTAyMDkzOCwgNDI5OTMsIDEuMjkxOTAxNzA3NjQ5MjMxXSwgWzE2NjM3NTE0OTkuNTc5ODAyLCA0MzAwMiwgMS4zMzgxMjM3OTgzNzAzNjEzXSwgWzE2NjM3NTE0OTkuODE3MjIzMywgNDMwMjksIDEuMjk0OTc1Mzk5OTcxMDA4M10sIFsxNjYzNzUxNDk5Ljg5Njk1NywgNDMwMzgsIDEuMzMyMjA5ODI1NTE1NzQ3XSwgWzE2NjM3NTE1MDAuNTg0NjM5LCA0MzEwMSwgMS4zMTMxNjQyMzQxNjEzNzddLCBbMTY2Mzc1MTUwMC45ODQ4NzgzLCA0MzExOSwgMS4zODkzNDA0MDA2OTU4MDA4XSwgWzE2NjM3NTE1MDEuMTE5MzMxMSwgNDMxMzcsIDEuMzc3MTc3NDc2ODgyOTM0Nl0sIFsxNjYzNzUxNTAxLjYyMzExMTUsIDQzMTkxLCAxLjM0MjMzMjgzOTk2NTgyMDNdLCBbMTY2Mzc1MTUwMi4xMDk4ODk1LCA0MzI0NSwgMS4zMjU5NjQzMzE2MjY4OTJdLCBbMTY2Mzc1MTUwMi40MDM0ODYzLCA0MzI3MiwgMS4yNzUyMzMzODc5NDcwODI1XSwgWzE2NjM3NTE1MDIuNjM1MTUzMywgNDMyOTksIDEuMzI1NDU3MDk2MDk5ODUzNV0sIFsxNjYzNzUxNTAyLjc3NjY5NjIsIDQzMzE3LCAxLjMwNDQ3OTEyMjE2MTg2NTJdLCBbMTY2Mzc1MTUwMy4wNTI2MjQ1LCA0MzMzNSwgMS4zMjU3NzQzMTIwMTkzNDgxXSwgWzE2NjM3NTE1MDQuNTA3NTY4NCwgNDM0NzksIDEuMjg5NzI1NTQyMDY4NDgxNF0sIFsxNjYzNzUxNTA0LjY1NzIxMiwgNDM0OTcsIDEuMzAwMDUwODU0NjgyOTIyNF0sIFsxNjYzNzUxNTA0LjgwNDM1NTksIDQzNTE1LCAxLjI4MTA3MzU3MDI1MTQ2NDhdLCBbMTY2Mzc1MTUwNC44ODMzOTY2LCA0MzUyNCwgMS4zMTUwNDE1NDIwNTMyMjI3XSwgWzE2NjM3NTE1MDQuOTU1MTM3MywgNDM1MzMsIDEuMzQzNDI5MDg4NTkyNTI5M10sIFsxNjYzNzUxNTA1LjYxNjc1MzMsIDQzNTk2LCAxLjI4ODcwMTI5NTg1MjY2MTFdLCBbMTY2Mzc1MTUwNS42OTQ1MDQ3LCA0MzYwNSwgMS4yNjA3NjMyODc1NDQyNTA1XSwgWzE2NjM3NTE1MDcuMzg0NjkxNSwgNDM3NjcsIDEuMzk2MzcyNTU2Njg2NDAxNF0sIFsxNjYzNzUxNTA3LjYwMDQ2MDUsIDQzNzk0LCAxLjI4MTM3NjI0MjYzNzYzNDNdLCBbMTY2Mzc1MTUwOS4zMTUyNzkyLCA0Mzk0NywgMS4yODA5NjQ0OTM3NTE1MjU5XSwgWzE2NjM3NTE1MTAuMjE3MjEzOSwgNDQwNjQsIDEuMjk2MTg5NTQ2NTg1MDgzXSwgWzE2NjM3NTE1MTEuMTg0MDI0NiwgNDQxODEsIDEuMjk1MjUzNzUzNjYyMTA5NF0sIFsxNjYzNzUxNTExLjM1NTQyNzUsIDQ0MTk5LCAxLjI4Mjc3Mjc3OTQ2NDcyMTddLCBbMTY2Mzc1MTUxMS44OTkwODQsIDQ0MjM1LCAxLjI3OTIzMDQ3NTQyNTcyMDJdLCBbMTY2Mzc1MTUxMy4wMjM5NjgsIDQ0MzM0LCAxLjI2MjY1NDE4NTI5NTEwNV0sIFsxNjYzNzUxNTEzLjQwNjIxOTUsIDQ0MzcwLCAxLjMxMDAxMDQzMzE5NzAyMTVdLCBbMTY2Mzc1MTUxMy43NzY0NTE4LCA0NDQwNiwgMS4yODQ4NTU0ODQ5NjI0NjM0XSwgWzE2NjM3NTE1MTQuNDc2MTM0LCA0NDQ2OSwgMS4zMzk2MzAyNDYxNjI0MTQ2XSwgWzE2NjM3NTE1MTQuODcxNDExOCwgNDQ1MDUsIDEuMzA5MTQ1NDUwNTkyMDQxXSwgWzE2NjM3NTE1MTUuMzc0NTkzMywgNDQ1NTAsIDEuMzA5MjUwNTkzMTg1NDI0OF0sIFsxNjYzNzUxNTE4LjA3MjgyOTUsIDQ0ODExLCAxLjI2ODc3MzU1NTc1NTYxNTJdLCBbMTY2Mzc1MTUxOC4yMzM2MzU3LCA0NDgyOSwgMS4yODg3NDI4OTk4OTQ3MTQ0XSwgWzE2NjM3NTE1MTkuMDk5OTMyNywgNDQ5MTksIDEuMjg3NjM4NDI1ODI3MDI2NF0sIFsxNjYzNzUxNTE5LjE3OTAzNDUsIDQ0OTI4LCAxLjMzMTM4Mjk4OTg4MzQyMjldLCBbMTY2Mzc1MTUyMS4xODcxMDg1LCA0NTEzNSwgMS4yNzQ0NjQyNDk2MTA5MDA5XSwgWzE2NjM3NTE1MjEuNjY0MjgxLCA0NTE5OCwgMS4yNzE0MDQwMjc5Mzg4NDI4XSwgWzE2NjM3NTE1MjEuNzk1MjIzMiwgNDUyMTYsIDEuMzAxMTg0NDE1ODE3MjYwN10sIFsxNjYzNzUxNTIxLjk2MTQxNSwgNDUyMzQsIDEuMjk0ODQ1MjIzNDI2ODE4OF0sIFsxNjYzNzUxNTIzLjU2NjM5MSwgNDU0MzIsIDEuMjczNDU5MDc2ODgxNDA4N10sIFsxNjYzNzUxNTI0LjYzNDM2OTEsIDQ1NTQwLCAxLjI3NjI0MTMwMjQ5MDIzNDRdLCBbMTY2Mzc1MTUyNC43ODYwNTk5LCA0NTU1OCwgMS4yNjI4NjgwNDY3NjA1NTldLCBbMTY2Mzc1MTUyNC45NDU5ODA4LCA0NTU3NiwgMS4yNDQ2MDAxNzY4MTEyMTgzXSwgWzE2NjM3NTE1MjUuMTY4NjU1NCwgNDU2MDMsIDEuMjM2NzQ1MzU3NTEzNDI3N10sIFsxNjYzNzUxNTI1Ljk1MjUzNTQsIDQ1NjkzLCAxLjI4MzYxNzM3NzI4MTE4OV0sIFsxNjYzNzUxNTI2LjE3MDQzMDQsIDQ1NzIwLCAxLjI3NTY4MzA0NTM4NzI2OF0sIFsxNjYzNzUxNTI2LjIzOTQ4NiwgNDU3MjksIDEuMjc3MTg0NjA1NTk4NDQ5N10sIFsxNjYzNzUxNTI2LjczNTc4NjIsIDQ1NzgzLCAxLjI2OTA1ODQ2NTk1NzY0MTZdLCBbMTY2Mzc1MTUyNi44Nzk0MjUzLCA0NTgwMSwgMS4yNzI5Njc4MTUzOTkxN10sIFsxNjYzNzUxNTI3LjAzNjM1OCwgNDU4MTksIDEuMjM1MTIxMDExNzM0MDA4OF0sIFsxNjYzNzUxNTI3LjQzMTM0OTUsIDQ1ODY0LCAxLjI5NzA5NTUzNzE4NTY2OV0sIFsxNjYzNzUxNTI3LjkwMjMwOTQsIDQ1OTE4LCAxLjI2MDU2MDc1MDk2MTMwMzddLCBbMTY2Mzc1MTUyOC4yMDM4Njg2LCA0NTkzNiwgMS4zMDg0NzkxODk4NzI3NDE3XSwgWzE2NjM3NTE1MjkuNzEzMDE1OCwgNDYxMDcsIDEuMzUyMjIxMzY5NzQzMzQ3Ml0sIFsxNjYzNzUxNTMwLjcxOTk1MzgsIDQ2MTk3LCAxLjI0NjI2NTE3Mjk1ODM3NF0sIFsxNjYzNzUxNTMxLjA0NDk0MywgNDYyMzMsIDEuMzE5NjI1NjE2MDczNjA4NF0sIFsxNjYzNzUxNTMxLjM3MDEzMjQsIDQ2MjY5LCAxLjMyMTMzMTYyMDIxNjM2OTZdLCBbMTY2Mzc1MTUzMS45MjA1NjU4LCA0NjMzMiwgMS4yNDU0Mjg1NjIxNjQzMDY2XSwgWzE2NjM3NTE1MzIuMjMyNjc3NywgNDYzNjgsIDEuMjY5NTM5MTE3ODEzMTEwNF0sIFsxNjYzNzUxNTMyLjMxMDY0MjUsIDQ2Mzc3LCAxLjI3MzEyODk4NjM1ODY0MjZdLCBbMTY2Mzc1MTUzMi40NzQ0MTY3LCA0NjM5NSwgMS4yNTQ2MTg3NjM5MjM2NDVdLCBbMTY2Mzc1MTUzMi41NTIyNzk1LCA0NjQwNCwgMS4yMjAwNTYxNzYxODU2MDhdLCBbMTY2Mzc1MTUzMy40NjQyMTYyLCA0NjUxMiwgMS4yNjkzNDMxMzc3NDEwODg5XSwgWzE2NjM3NTE1MzQuMTU5NzIwNywgNDY1OTMsIDEuMjg0MzYyMTk2OTIyMzAyMl0sIFsxNjYzNzUxNTM1LjAwNjgxOTcsIDQ2NjkyLCAxLjQyODg4NjQxMzU3NDIxODhdLCBbMTY2Mzc1MTUzNS45NTkwMDg3LCA0Njc4MiwgMS4yNjcwNTYxMDc1MjEwNTcxXSwgWzE2NjM3NTE1MzYuMDQzNDQ5NiwgNDY3OTEsIDEuMzAzMDcyMjE0MTI2NTg3XSwgWzE2NjM3NTE1MzYuMTk5OTE5NSwgNDY4MDksIDEuMjY3NDU3MDA4MzYxODE2NF0sIFsxNjYzNzUxNTM2Ljc3MjkzMiwgNDY4NTQsIDEuMjMxOTcyMjE3NTU5ODE0NV0sIFsxNjYzNzUxNTM2LjkyMTIxMDgsIDQ2ODcyLCAxLjI0ODgwMDc1NDU0NzExOTFdLCBbMTY2Mzc1MTUzNy4yNzE4MjE3LCA0NjkxNywgMS4yNjU0NDAxMDYzOTE5MDY3XSwgWzE2NjM3NTE1MzcuNzI4NTYwNywgNDY5NzEsIDEuMjI4ODY4NzIyOTE1NjQ5NF0sIFsxNjYzNzUxNTM4LjI3MTYwNiwgNDcwMzQsIDEuMjMzNDAxNDE3NzMyMjM4OF0sIFsxNjYzNzUxNTM4LjU3OTk3MzIsIDQ3MDcwLCAxLjIyMjIzMzA1NzAyMjA5NDddLCBbMTY2Mzc1MTUzOS4yNzEwNTAyLCA0NzE1MSwgMS4yMTM2NTY2NjM4OTQ2NTMzXSwgWzE2NjM3NTE1NDAuNDQyMTcyNSwgNDcyODYsIDEuMjIxODAzMDY5MTE0Njg1XSwgWzE2NjM3NTE1NDAuNTIzNzE1NSwgNDcyOTUsIDEuMjUxNDQ2ODQzMTQ3Mjc3OF0sIFsxNjYzNzUxNTQwLjg0MTAzOTQsIDQ3MzMxLCAxLjIzODQ3MTM4ODgxNjgzMzVdLCBbMTY2Mzc1MTU0MS4xNTg0OTQsIDQ3MzY3LCAxLjIzMTI3NzM0NjYxMTAyM10sIFsxNjYzNzUxNTQxLjM4NzYyNDcsIDQ3Mzk0LCAxLjIwNTA5MTgzNDA2ODI5ODNdLCBbMTY2Mzc1MTU0Mi40MDU3MTg2LCA0NzUwMiwgMS4yNTk0ODg5NDAyMzg5NTI2XSwgWzE2NjM3NTE1NDMuMTI0MTI2LCA0NzU4MywgMS4yMTUwOTMzNzQyNTIzMTkzXSwgWzE2NjM3NTE1NDMuODUxNjk0LCA0NzYyOCwgMS4yNzMxMTI4OTMxMDQ1NTMyXSwgWzE2NjM3NTE1NDQuMDM1NzE4NywgNDc2NDYsIDEuMjQwNzIwNTEwNDgyNzg4XSwgWzE2NjM3NTE1NDQuMjE2NzM0LCA0NzY2NCwgMS4yMzUxNDc4MzM4MjQxNTc3XSwgWzE2NjM3NTE1NDQuNDM0ODI4OCwgNDc2ODIsIDEuMjk0ODU1MTE3Nzk3ODUxNl0sIFsxNjYzNzUxNTQ1LjExMTA5ODgsIDQ3NzQ1LCAxLjIyMDAwNTc1MDY1NjEyOF0sIFsxNjYzNzUxNTQ2LjE0OTMzLCA0Nzg3MSwgMS4yNTYxNjQzMTIzNjI2NzFdLCBbMTY2Mzc1MTU0Ni4yMjMxODQzLCA0Nzg4MCwgMS4yNDMzNDYzMzM1MDM3MjMxXSwgWzE2NjM3NTE1NDYuNDU2MjE2MywgNDc5MDcsIDEuMjUwNTA5OTc3MzQwNjk4Ml0sIFsxNjYzNzUxNTQ2LjYxMjc0MjIsIDQ3OTI1LCAxLjI3MDk0NzA5ODczMTk5NDZdLCBbMTY2Mzc1MTU0Ni44ODc1NSwgNDc5NjEsIDEuMjY4MzA0ODI0ODI5MTAxNl0sIFsxNjYzNzUxNTQ2Ljk1NzE4MDMsIDQ3OTcwLCAxLjIyNzQ4MTk2MTI1MDMwNTJdLCBbMTY2Mzc1MTU0Ny42NDA5MzMzLCA0ODAxNSwgMS4yNTk3OTU2NjU3NDA5NjY4XSwgWzE2NjM3NTE1NDcuODMyNTY1OCwgNDgwMzMsIDEuMjI5NDc1OTc1MDM2NjIxXSwgWzE2NjM3NTE1NDguMDMwNTg4LCA0ODA1MSwgMS4yNTQxMjQ1MjIyMDkxNjc1XSwgWzE2NjM3NTE1NDguNDg3MDMxMiwgNDgwOTYsIDEuMjIwNDU1NDA4MDk2MzEzNV0sIFsxNjYzNzUxNTUwLjA4MzM4MSwgNDgyNjcsIDEuMjMyNDU1MzcyODEwMzYzOF0sIFsxNjYzNzUxNTUwLjU5MTMwMSwgNDgzMjEsIDEuMjQ0MzY3NTk5NDg3MzA0N10sIFsxNjYzNzUxNTUwLjcyODU3OSwgNDgzMzksIDEuMjY2NDMyMjg1MzA4ODM4XSwgWzE2NjM3NTE1NTAuOTQ0MTIxOCwgNDgzNjYsIDEuMjMxMzQxMTIzNTgwOTMyNl0sIFsxNjYzNzUxNTUxLjc4ODM4MDQsIDQ4NDQ3LCAxLjI0MTc3NDMyMDYwMjQxN10sIFsxNjYzNzUxNTUyLjc2NTA5NTcsIDQ4NTQ2LCAxLjI1MTczMjgyNjIzMjkxMDJdLCBbMTY2Mzc1MTU1Mi45NjA0Njg4LCA0ODU2NCwgMS4yNTM2MjU3NTA1NDE2ODddLCBbMTY2Mzc1MTU1My41OTk1MjcsIDQ4NjI3LCAxLjI2OTcwNDIyMjY3OTEzODJdLCBbMTY2Mzc1MTU1My42ODkzMjE4LCA0ODYzNiwgMS4yNDY1MDQ0MjYwMDI1MDI0XSwgWzE2NjM3NTE1NTMuOTc4MjcxNSwgNDg2NzIsIDEuMjAwMTU2MDkyNjQzNzM3OF0sIFsxNjYzNzUxNTU0LjczNjU4NywgNDg3NjIsIDEuMjk4MTczMDY5OTUzOTE4NV0sIFsxNjYzNzUxNTU0LjkyMDY3OCwgNDg3ODAsIDEuMjM0OTM3OTA2MjY1MjU4OF0sIFsxNjYzNzUxNTU1LjI5MzY2MTgsIDQ4ODI1LCAxLjIxMTc1MzM2ODM3NzY4NTVdLCBbMTY2Mzc1MTU1NS41ODU2OTg2LCA0ODg2MSwgMS4yMjUyMTA3ODU4NjU3ODM3XSwgWzE2NjM3NTE1NTYuMjUxMjk4NywgNDg5MjQsIDEuMjAwOTIyODQ2Nzk0MTI4NF0sIFsxNjYzNzUxNTU3LjIyMjM3NDcsIDQ5MDE0LCAxLjI0NTcxODgzNjc4NDM2MjhdLCBbMTY2Mzc1MTU1Ny40MTk1MTI1LCA0OTAzMiwgMS4yMTQzMjYzODE2ODMzNDk2XSwgWzE2NjM3NTE1NTcuNTE3NjU1MSwgNDkwNDEsIDEuMjI5ODYxNzM2Mjk3NjA3NF0sIFsxNjYzNzUxNTU3Ljg3MjM2NCwgNDkwNzcsIDEuMjY3NjQ1NzE2NjY3MTc1M10sIFsxNjYzNzUxNTU4LjA0MjQxNTQsIDQ5MDk1LCAxLjIzODg5MjY3NDQ0NjEwNl0sIFsxNjYzNzUxNTU4LjE5NzI3OCwgNDkxMTMsIDEuMjE0NjUyODk1OTI3NDI5Ml0sIFsxNjYzNzUxNTU4LjI5NTI4NjIsIDQ5MTIyLCAxLjIzMTUwMzg0NDI2MTE2OTRdLCBbMTY2Mzc1MTU1OC42NTgxMjM3LCA0OTE0MCwgMS4yMTIxNTAyMTYxMDI2XSwgWzE2NjM3NTE1NTkuMTY2NzY1LCA0OTIwMywgMS4yNTA1NjI0Mjk0MjgxMDA2XSwgWzE2NjM3NTE1NTkuNDYyNDAzNSwgNDkyMzksIDEuMjMyNjI5Mjk5MTYzODE4NF0sIFsxNjYzNzUxNTYxLjY2MzAxMjMsIDQ5NDczLCAxLjI5NTM5NDE4MjIwNTIwMDJdLCBbMTY2Mzc1MTU2MS44MTIzMjMsIDQ5NDkxLCAxLjE5NTc5NDkzOTk5NDgxMl0sIFsxNjYzNzUxNTYyLjIyNTQ5MTMsIDQ5NTQ1LCAxLjIyNjQ3OTQxMTEyNTE4M10sIFsxNjYzNzUxNTYyLjQyNjU4MzMsIDQ5NTcyLCAxLjIzNTk0MzY3NTA0MTE5ODddLCBbMTY2Mzc1MTU2Mi41MDEyOTEsIDQ5NTgxLCAxLjI2MjE0MDI3NDA0Nzg1MTZdLCBbMTY2Mzc1MTU2Mi41ODAzNTUsIDQ5NTkwLCAxLjIyMDcyMTQ4MzIzMDU5MDhdLCBbMTY2Mzc1MTU2Mi42NTczMTM4LCA0OTU5OSwgMS4yMDg3NTkzMDc4NjEzMjgxXSwgWzE2NjM3NTE1NjMuMTY1NzczOSwgNDk2NjIsIDEuMjA0NzM0NDQ0NjE4MjI1XSwgWzE2NjM3NTE1NjMuNDUxNDI2LCA0OTY5OCwgMS4yMTY4NzAxODg3MTMwNzM3XSwgWzE2NjM3NTE1NjMuNjAyMDI4LCA0OTcxNiwgMS4yOTM2MDQxMzU1MTMzMDU3XSwgWzE2NjM3NTE1NjMuODM0MDk1NSwgNDk3NDMsIDEuMjMzMTQwNDY4NTk3NDEyXSwgWzE2NjM3NTE1NjUuODA1Njk0NiwgNDk5MTQsIDEuMTkxMTY0NDkzNTYwNzkxXSwgWzE2NjM3NTE1NjYuMzQzNDk0NywgNDk5NzcsIDEuMTg4MjU5MTI0NzU1ODU5NF0sIFsxNjYzNzUxNTY2LjQ4NDQ1MDgsIDQ5OTk1LCAxLjE4NzE1MzU3NzgwNDU2NTRdLCBbMTY2Mzc1MTU2Ni43MDA1MDQsIDUwMDIyLCAxLjIyODA5NjM2NTkyODY1XSwgWzE2NjM3NTE1NjcuNDI4MzEyOCwgNTAxMTIsIDEuMTk0NTkwMjEwOTE0NjExOF0sIFsxNjYzNzUxNTY3LjYyNzY3LCA1MDEzOSwgMS4yMDE1MTYyNzA2Mzc1MTIyXSwgWzE2NjM3NTE1NjguMTg2OTM3MywgNTAxODQsIDEuMjI1ODQwNTY4NTQyNDgwNV0sIFsxNjYzNzUxNTY4LjYwMjY2NywgNTAyMjAsIDEuMjM3NjU1NjM5NjQ4NDM3NV0sIFsxNjYzNzUxNTcwLjY3NzY2LCA1MDQ0NSwgMS4xOTg3OTI4MTUyMDg0MzVdLCBbMTY2Mzc1MTU3MS4wMTM4NTYsIDUwNDgxLCAxLjIzNjIyMDAwMjE3NDM3NzRdLCBbMTY2Mzc1MTU3MS45MjMyMDk0LCA1MDU4OSwgMS4yNTIyNzA1NzkzMzgwNzM3XV0=","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_09-04-50_8f860c94f07e&tag=Loss%2Fvalid":{"data":"W1sxNjYzNzUxMDkwLjQ3Mjk4MzEsIDQ1LCAxMTkuNzU1MjAzMjQ3MDcwMzFdLCBbMTY2Mzc1MTA5MS4zNjM1NzksIDEzNSwgMTQzLjQ4OTczMDgzNDk2MDk0XSwgWzE2NjM3NTEwOTEuNDU4OTQ4MSwgMTQ0LCAxMzUuMTgyMDgzMTI5ODgyOF0sIFsxNjYzNzUxMDkxLjkzMzA4MTQsIDE3MSwgMTE3LjUxNjI4ODc1NzMyNDIyXSwgWzE2NjM3NTEwOTIuMDMwNzQ3LCAxODAsIDEyNS4wMDg2NjY5OTIxODc1XSwgWzE2NjM3NTEwOTIuNjY0NjUyNiwgMjQzLCAxMTcuMDQzNTI1Njk1ODAwNzhdLCBbMTY2Mzc1MTA5Mi43NjA2ODUyLCAyNTIsIDEwMy4zODUxNzc2MTIzMDQ2OV0sIFsxNjYzNzUxMDk0LjAwMjQ1OCwgMzY5LCAxMDAuMTcwMDM2MzE1OTE3OTddLCBbMTY2Mzc1MTA5NC42OTQ3MjcsIDQzMiwgODQuNTYxMDM1MTU2MjVdLCBbMTY2Mzc1MTA5NC44MDQzMjIyLCA0NDEsIDk4LjAzNjY4MjEyODkwNjI1XSwgWzE2NjM3NTEwOTQuODg1Njk4LCA0NTAsIDkzLjkwNTgyMjc1MzkwNjI1XSwgWzE2NjM3NTEwOTYuMTc4MDg0OSwgNTY3LCA3NS4xMzIwNTcxODk5NDE0XSwgWzE2NjM3NTEwOTYuMjc0NjAyMiwgNTc2LCA3Mi45NzQzMDQxOTkyMTg3NV0sIFsxNjYzNzUxMDk2LjY0NzczNiwgNjEyLCA4MC4yMTEyODg0NTIxNDg0NF0sIFsxNjYzNzUxMDk2Ljk4MDA4MzUsIDYzOSwgODkuNDgzODMzMzEyOTg4MjhdLCBbMTY2Mzc1MTA5Ny4wNzg3MTY4LCA2NDgsIDY5LjMyODc5NjM4NjcxODc1XSwgWzE2NjM3NTEwOTcuNjkzODUxLCA3MDIsIDg2LjYyMjg3MTM5ODkyNTc4XSwgWzE2NjM3NTEwOTguMTcwODMyOSwgNzQ3LCA3NS40Njg3NDIzNzA2MDU0N10sIFsxNjYzNzUxMDk4LjgxMjQzNzMsIDgxMCwgNjguMDk5NTk0MTE2MjEwOTRdLCBbMTY2Mzc1MTA5OS42NzQ5NjY2LCA5MDAsIDU0LjkwODQyNDM3NzQ0MTQwNl0sIFsxNjYzNzUxMDk5Ljk4NTg2MzQsIDkzNiwgNTEuNjUxODkzNjE1NzIyNjU2XSwgWzE2NjM3NTExMDAuNTc2ODg0NSwgOTcyLCA2MC42ODgwMzAyNDI5MTk5Ml0sIFsxNjYzNzUxMTAxLjgwNjkzOTQsIDEwOTgsIDQ5LjYwNjIzMTY4OTQ1MzEyNV0sIFsxNjYzNzUxMTAyLjIxMDM5MTMsIDExMzQsIDU4LjA3NDU1NDQ0MzM1OTM3NV0sIFsxNjYzNzUxMTAyLjI4NTk1MzMsIDExNDMsIDQ3LjkwNzc4MzUwODMwMDc4XSwgWzE2NjM3NTExMDIuNDI5OTAwNiwgMTE2MSwgNDIuMDY4MDMxMzExMDM1MTU2XSwgWzE2NjM3NTExMDIuNTg2OTc1MywgMTE3OSwgNTAuODcxNTkzNDc1MzQxOF0sIFsxNjYzNzUxMTAzLjAyNzU1OCwgMTIzMywgNDkuMzA5MzE0NzI3NzgzMl0sIFsxNjYzNzUxMTAzLjczMzM4MjIsIDEzMDUsIDQ3LjM1Njc3NzE5MTE2MjExXSwgWzE2NjM3NTExMDMuOTI0NTI1MywgMTMyMywgNTIuNzUyODkxNTQwNTI3MzQ0XSwgWzE2NjM3NTExMDQuMDAwMDA2MiwgMTMzMiwgNTMuNjQ1NzYzMzk3MjE2OF0sIFsxNjYzNzUxMTA0LjI1OTIsIDEzNTksIDQ4Ljk4NTA2MTY0NTUwNzgxXSwgWzE2NjM3NTExMDUuMDM2OTE3LCAxNDIyLCA0OC41Mzc5MTA0NjE0MjU3OF0sIFsxNjYzNzUxMTA1LjI2NDMxODIsIDE0NDksIDUxLjY2NTU3MzEyMDExNzE5XSwgWzE2NjM3NTExMDUuNDE2MjU2LCAxNDY3LCA0NS41NjE3MjU2MTY0NTUwOF0sIFsxNjYzNzUxMTA1LjU2MTc4NTcsIDE0ODUsIDQ2LjUwODU4Njg4MzU0NDkyXSwgWzE2NjM3NTExMDYuMTQxNTA2MiwgMTU1NywgNDUuMTEyNjU5NDU0MzQ1N10sIFsxNjYzNzUxMTA2LjUwNTcwMDYsIDE2MDIsIDQ2LjQ4Nzc3NzcwOTk2MDk0XSwgWzE2NjM3NTExMDcuMDExMiwgMTY2NSwgNTguOTI5ODA5NTcwMzEyNV0sIFsxNjYzNzUxMTA3LjA5Mzg1MTMsIDE2NzQsIDM4Ljg5OTQwNjQzMzEwNTQ3XSwgWzE2NjM3NTExMDcuNTYzMzYwNSwgMTcyOCwgNDQuNzU4MTg2MzQwMzMyMDNdLCBbMTY2Mzc1MTEwNy44MzU4MDM3LCAxNzM3LCA0NC44NDY3MTAyMDUwNzgxMjVdLCBbMTY2Mzc1MTEwOC42NDUwOTEzLCAxODM2LCA0NS4zMjQxMjcxOTcyNjU2MjVdLCBbMTY2Mzc1MTEwOC43ODkyODk1LCAxODU0LCA0NS4yNjQ2OTQyMTM4NjcxOV0sIFsxNjYzNzUxMTA5LjQwMzk5NzcsIDE5MjYsIDQwLjY1NzM2NzcwNjI5ODgzXSwgWzE2NjM3NTExMTAuNjg4MDkzLCAyMDcwLCA0Mi4xMDQ2ODY3MzcwNjA1NV0sIFsxNjYzNzUxMTExLjk1Nzk2NDIsIDIyMDUsIDQ0LjI4NTk1MzUyMTcyODUxNl0sIFsxNjYzNzUxMTEyLjA2NDE1NzcsIDIyMTQsIDQxLjMyMzMyNjExMDgzOTg0NF0sIFsxNjYzNzUxMTEzLjA2NTIyODUsIDIzMzEsIDQxLjcyMDYxOTIwMTY2MDE1Nl0sIFsxNjYzNzUxMTEzLjE0NTUwMTEsIDIzNDAsIDQyLjU3MzkzNjQ2MjQwMjM0NF0sIFsxNjYzNzUxMTE0LjE0OTY3NDIsIDI0NDgsIDQxLjQxMzY4ODY1OTY2Nzk3XSwgWzE2NjM3NTExMTQuNTI2ODgwNywgMjQ3NSwgNDQuMDc3NTMzNzIxOTIzODNdLCBbMTY2Mzc1MTExNS41NjI0NTE2LCAyNTQ3LCA0My4xODU3NTI4Njg2NTIzNDRdLCBbMTY2Mzc1MTExNS43OTY4ODM4LCAyNTc0LCAzNy4wNTUxNDkwNzgzNjkxNF0sIFsxNjYzNzUxMTE2LjAxMjY5NDgsIDI2MDEsIDM3Ljg4NzI0NTE3ODIyMjY1Nl0sIFsxNjYzNzUxMTE2LjE3MTkwMTcsIDI2MTksIDQ2LjIxMjM0ODkzNzk4ODI4XSwgWzE2NjM3NTExMTYuNTY0OTg4MSwgMjY2NCwgNDUuNzcyMTkzOTA4NjkxNDA2XSwgWzE2NjM3NTExMTYuNzEwNzEyNywgMjY4MiwgMzcuODY1MjAwMDQyNzI0NjFdLCBbMTY2Mzc1MTExNy42OTc5NDQ2LCAyNzgxLCA0MC43OTc1MDQ0MjUwNDg4M10sIFsxNjYzNzUxMTE4LjA0NTUyOTgsIDI4MTcsIDQyLjkwODg0Mzk5NDE0MDYyNV0sIFsxNjYzNzUxMTE4LjM1NzUwMiwgMjg1MywgMzkuOTA2ODk0NjgzODM3ODldLCBbMTY2Mzc1MTExOC41MTMzMDYxLCAyODcxLCA0MS42MjMwMzE2MTYyMTA5NF0sIFsxNjYzNzUxMTE4LjU5MzIzNSwgMjg4MCwgMzcuMTc2NDkwNzgzNjkxNDA2XSwgWzE2NjM3NTExMTguODA5NjY3NiwgMjkwNywgMzMuMjY5Mzk3NzM1NTk1N10sIFsxNjYzNzUxMTIwLjgyMjA2MzIsIDMxMTQsIDQ1LjcxNjcxNjc2NjM1NzQyXSwgWzE2NjM3NTExMjAuOTAwMTI0OCwgMzEyMywgNDMuOTUyMzY1ODc1MjQ0MTRdLCBbMTY2Mzc1MTEyMS45OTA4MTA2LCAzMjMxLCA0Ni42OTM3NTk5MTgyMTI4OV0sIFsxNjYzNzUxMTIyLjY2NjQzMzYsIDMyODUsIDM4LjM2Njg2NzA2NTQyOTY5XSwgWzE2NjM3NTExMjIuNzMzNDk0MywgMzI5NCwgMzcuMTEyNzcwMDgwNTY2NDA2XSwgWzE2NjM3NTExMjIuODEzNDA2NSwgMzMwMywgNDAuNjA4OTY2ODI3MzkyNThdLCBbMTY2Mzc1MTEyMy45Mjg0ODMyLCAzNDExLCA0MC42NTIzODE4OTY5NzI2NTZdLCBbMTY2Mzc1MTEyNC41Mjk5NDY4LCAzNDgzLCAzNy4wNjMxMDY1MzY4NjUyMzRdLCBbMTY2Mzc1MTEyNC44MTg5NDAyLCAzNTE5LCAzNy4wNzM0NDgxODExNTIzNDRdLCBbMTY2Mzc1MTEyNC45NjUyMDUyLCAzNTM3LCA0Mi45Mjg3MTg1NjY4OTQ1M10sIFsxNjYzNzUxMTI1LjM2NTQwNzIsIDM1ODIsIDQwLjE2ODU3OTEwMTU2MjVdLCBbMTY2Mzc1MTEyNS43NTA3NTU1LCAzNjI3LCA0Mi41Njk3NjMxODM1OTM3NV0sIFsxNjYzNzUxMTI1Ljk0OTgzNjcsIDM2NDUsIDM0LjI2MjYxMTM4OTE2MDE1Nl0sIFsxNjYzNzUxMTI2Ljk1OTI2MzYsIDM3NDQsIDM4LjQ5MTk0MzM1OTM3NV0sIFsxNjYzNzUxMTI3LjQwMDc1MDQsIDM3OTgsIDM2LjQxMTk2ODIzMTIwMTE3XSwgWzE2NjM3NTExMjcuNDgyNDkyMiwgMzgwNywgMzMuNzU5MTEzMzExNzY3NThdLCBbMTY2Mzc1MTEyOC43Mzk4MjIsIDM5MzMsIDM1Ljg4OTIyODgyMDgwMDc4XSwgWzE2NjM3NTExMjguODA5NDQ5NywgMzk0MiwgMzUuMTYxMzI3MzYyMDYwNTVdLCBbMTY2Mzc1MTEyOC45NTcyMDY1LCAzOTYwLCA0Mi43OTc4ODU4OTQ3NzUzOV0sIFsxNjYzNzUxMTI5LjQ3NjUzLCA0MDIzLCA0MC4xNzgyNTY5ODg1MjUzOV0sIFsxNjYzNzUxMTMwLjIyMDgzMDcsIDQwNzcsIDM5LjE1MTIwNjk3MDIxNDg0NF0sIFsxNjYzNzUxMTMwLjUwMDAyNjUsIDQxMTMsIDMyLjM0OTk0NTA2ODM1OTM3NV0sIFsxNjYzNzUxMTMwLjg3MzM1ODIsIDQxNTgsIDMzLjg3MDg2MTA1MzQ2NjhdLCBbMTY2Mzc1MTEzMS4zNjAxMzQsIDQxOTQsIDMyLjg5MjY4ODc1MTIyMDddLCBbMTY2Mzc1MTEzMS42MzI4OTg4LCA0MjIxLCAzMS42OTI5OTMxNjQwNjI1XSwgWzE2NjM3NTExMzEuNzc1NzcyMywgNDIzOSwgMzguMzQ5MzAwMzg0NTIxNDg0XSwgWzE2NjM3NTExMzIuMDcyNTQ4OSwgNDI3NSwgMzUuMzUzMjg2NzQzMTY0MDZdLCBbMTY2Mzc1MTEzMi4xNDY3NjI2LCA0Mjg0LCAzMy44NDg4MTIxMDMyNzE0ODRdLCBbMTY2Mzc1MTEzMi41MjE4MjAzLCA0MzI5LCA0MS4yODQ1ODc4NjAxMDc0Ml0sIFsxNjYzNzUxMTMyLjU5MzgwOTQsIDQzMzgsIDMzLjc4NjkyNjI2OTUzMTI1XSwgWzE2NjM3NTExMzMuMDE0Njk0NSwgNDM5MiwgMjguNzg4MDQ3NzkwNTI3MzQ0XSwgWzE2NjM3NTExMzUuMDIxMzExNSwgNDU5OSwgMjcuNzQ5NzUyMDQ0Njc3NzM0XSwgWzE2NjM3NTExMzUuMTc3MDU1NiwgNDYxNywgMjguMTc3MDUzNDUxNTM4MDg2XSwgWzE2NjM3NTExMzUuMjQ3OTk1OSwgNDYyNiwgMzcuODYzOTA2ODYwMzUxNTZdLCBbMTY2Mzc1MTEzNS4zMjM2MzQ0LCA0NjM1LCAzMS4wMTA1MTEzOTgzMTU0M10sIFsxNjYzNzUxMTM1LjU1Njg4NTUsIDQ2NjIsIDMzLjc0OTU4ODAxMjY5NTMxXSwgWzE2NjM3NTExMzUuNzA0NTk0MSwgNDY4MCwgMzEuMDEwNjY1ODkzNTU0Njg4XSwgWzE2NjM3NTExMzYuODE5NDY3MywgNDgwNiwgMjUuODU3MTMxOTU4MDA3ODEyXSwgWzE2NjM3NTExMzYuODk5NDYzMiwgNDgxNSwgMzIuMjc3NTAwMTUyNTg3ODldLCBbMTY2Mzc1MTEzNy4yMzA1NTQzLCA0ODMzLCAzNC40NTk2MTM4MDAwNDg4M10sIFsxNjYzNzUxMTM3LjM3ODYyNiwgNDg1MSwgMzAuNzcxNDA0MjY2MzU3NDIyXSwgWzE2NjM3NTExMzcuNTMyNTQwMywgNDg2OSwgMzEuMDAzODMzNzcwNzUxOTUzXSwgWzE2NjM3NTExMzcuODIyNDU3OCwgNDkwNSwgMzEuMTk3MDQyNDY1MjA5OTZdLCBbMTY2Mzc1MTEzNy45NjU1ODIsIDQ5MjMsIDMyLjg5ODc4ODQ1MjE0ODQ0XSwgWzE2NjM3NTExMzguNDE5NzU1NSwgNDk1OSwgMjUuMTA5Njc0NDUzNzM1MzVdLCBbMTY2Mzc1MTEzOC41OTIzNzcsIDQ5NzcsIDI2LjUyNjExMzUxMDEzMTgzNl0sIFsxNjYzNzUxMTM4LjkwMDg0NywgNTAxMywgMjcuNDk2Nzc4NDg4MTU5MThdLCBbMTY2Mzc1MTEzOS41NDczODI2LCA1MDY3LCAzMC45MzA4ODcyMjIyOTAwNF0sIFsxNjYzNzUxMTM5LjcyOTM3NywgNTA4NSwgMzEuMDY5Njk0NTE5MDQyOTddLCBbMTY2Mzc1MTE0MC4wMjE4NDk0LCA1MTIxLCAzMC4yNjI5Nzk1MDc0NDYyOV0sIFsxNjYzNzUxMTQxLjM2NDY3MjcsIDUyNjUsIDI2LjY2Mjc4NjQ4Mzc2NDY1XSwgWzE2NjM3NTExNDEuNDM0NTc1NiwgNTI3NCwgMjUuMzkzOTc4MTE4ODk2NDg0XSwgWzE2NjM3NTExNDEuODIzNDg1NiwgNTMxOSwgMzEuMjU5MzI2OTM0ODE0NDUzXSwgWzE2NjM3NTExNDIuMzA3OTI5OCwgNTM1NSwgMjcuMDk1MTM4NTQ5ODA0Njg4XSwgWzE2NjM3NTExNDIuNDg5NDAwMSwgNTM3MywgMjQuMjA1OTc2NDg2MjA2MDU1XSwgWzE2NjM3NTExNDQuMDU5NDQzLCA1NTI2LCAyMy4xNTI1MTM1MDQwMjgzMl0sIFsxNjYzNzUxMTQ0LjEzNzUxNjcsIDU1MzUsIDI0LjU4NTI2MDM5MTIzNTM1XSwgWzE2NjM3NTExNDUuMTI5MjczMiwgNTYwNywgMjUuNzAwMTAzNzU5NzY1NjI1XSwgWzE2NjM3NTExNDUuMjIzODIxMiwgNTYxNiwgMjUuNTA0ODEwMzMzMjUxOTUzXSwgWzE2NjM3NTExNDUuNzM1MTQzNywgNTY2MSwgMjguNjc2MDgyNjExMDgzOTg0XSwgWzE2NjM3NTExNDUuODE0MTM1NiwgNTY3MCwgMjEuNjcyMTE3MjMzMjc2MzY3XSwgWzE2NjM3NTExNDYuNTA5MzI3NywgNTc0MiwgMzAuMjIxOTAwOTM5OTQxNDA2XSwgWzE2NjM3NTExNDYuOTgxMzg0OCwgNTc5NiwgMjIuNzM5ODYwNTM0NjY3OTddLCBbMTY2Mzc1MTE0Ny4wNTAwNjg2LCA1ODA1LCAyOC40NjMzNzMxODQyMDQxXSwgWzE2NjM3NTExNDcuNDQ4MDAxLCA1ODUwLCAyMS4xMzczMDA0OTEzMzMwMDhdLCBbMTY2Mzc1MTE0OC4xMzI0NzA0LCA1OTMxLCAyMS41NDE1NDAxNDU4NzQwMjNdLCBbMTY2Mzc1MTE0OC4yNzE1MzU0LCA1OTQ5LCAyNC45MjU1OTgxNDQ1MzEyNV0sIFsxNjYzNzUxMTQ4Ljg2MjA2NDEsIDYwMTIsIDIzLjU0OTk0MjAxNjYwMTU2Ml0sIFsxNjYzNzUxMTQ5LjU0MTI4ODQsIDYwODQsIDI2LjE2MTQ5MTM5NDA0Mjk3XSwgWzE2NjM3NTExNDkuNjE2NzMyOCwgNjA5MywgMjIuNDM5MzEwMDczODUyNTRdLCBbMTY2Mzc1MTE1MC4xOTk3MTE2LCA2MTY1LCAyMS43MzQzMDI1MjA3NTE5NTNdLCBbMTY2Mzc1MTE1MC43NzQ2NTIyLCA2MjM3LCAyNC41Mzc1ODA0OTAxMTIzMDVdLCBbMTY2Mzc1MTE1MC45MDg1Nzk4LCA2MjU1LCAyMS44MjA5Njg2Mjc5Mjk2ODhdLCBbMTY2Mzc1MTE1Mi4zMjU4NzU4LCA2Mzk5LCAyMC4zNjczNzA2MDU0Njg3NV0sIFsxNjYzNzUxMTUzLjE5MjMwNzcsIDY0OTgsIDIzLjQ4OTk2MzUzMTQ5NDE0XSwgWzE2NjM3NTExNTMuNDMyODYzNywgNjUxNiwgMjIuMDcwOTkxNTE2MTEzMjhdLCBbMTY2Mzc1MTE1My42MDIyMzU2LCA2NTM0LCAyMS40OTc4MTQxNzg0NjY3OTddLCBbMTY2Mzc1MTE1My44MjE2ODUzLCA2NTYxLCAxOC41NDQ2Nzc3MzQzNzVdLCBbMTY2Mzc1MTE1My44OTI1NDgzLCA2NTcwLCAyMC45MTk4NjI3NDcxOTIzODNdLCBbMTY2Mzc1MTE1NC4wNDU0OTEsIDY1ODgsIDI0LjY2ODU0NjY3NjYzNTc0Ml0sIFsxNjYzNzUxMTU0LjExOTMxNDIsIDY1OTcsIDE5LjI0MDU3NzY5Nzc1MzkwNl0sIFsxNjYzNzUxMTU0LjI0MjQ0MSwgNjYwNiwgMTguNjQyNzY4ODU5ODYzMjhdLCBbMTY2Mzc1MTE1NC45NTA3NjA0LCA2NjUxLCAyMC40NTE3NTU1MjM2ODE2NF0sIFsxNjYzNzUxMTU1LjUxNjYwODIsIDY3MDUsIDE5LjA1OTgxMDYzODQyNzczNF0sIFsxNjYzNzUxMTU3LjI0MTM2MzUsIDY4ODUsIDIxLjM4NjkzNDI4MDM5NTUwOF0sIFsxNjYzNzUxMTU4LjEwMDg2MTUsIDY5ODQsIDE5LjE1MTU0ODM4NTYyMDExN10sIFsxNjYzNzUxMTU4LjE3OTUwNzUsIDY5OTMsIDE4LjEwMDkwNjM3MjA3MDMxMl0sIFsxNjYzNzUxMTU4LjUwNjI2MTMsIDcwMjksIDE2Ljg3OTQwNzg4MjY5MDQzXSwgWzE2NjM3NTExNTguNjU0ODQ2NCwgNzA0NywgMjAuNzU4MzgwODg5ODkyNTc4XSwgWzE2NjM3NTExNTkuMDYwNjEzOSwgNzEwMSwgMTUuNTUyMTU1NDk0Njg5OTQxXSwgWzE2NjM3NTExNjAuMzk4Njg3OCwgNzI0NSwgMTguNjgyNTY5NTAzNzg0MThdLCBbMTY2Mzc1MTE2MC40Nzg3MzE5LCA3MjU0LCAxNy42Nzc4MTI1NzYyOTM5NDVdLCBbMTY2Mzc1MTE2MC42NzE5Mjc3LCA3MjcyLCAxNy40NDA0NTA2NjgzMzQ5Nl0sIFsxNjYzNzUxMTYwLjg5MTQ0NDIsIDcyOTksIDE1LjY0NzU5MzQ5ODIyOTk4XSwgWzE2NjM3NTExNjEuNjA1OTU2LCA3MzgwLCAxNS40NTYxNDI0MjU1MzcxMV0sIFsxNjYzNzUxMTYyLjUzNzQzOTMsIDc0OTcsIDE2LjcxMzgyOTA0MDUyNzM0NF0sIFsxNjYzNzUxMTYzLjE0NjE3NzUsIDc1NjksIDE0Ljk3MDA0NjA0MzM5NTk5Nl0sIFsxNjYzNzUxMTYzLjM4OTgyMjIsIDc1OTYsIDE3LjY2MzI4MjM5NDQwOTE4XSwgWzE2NjM3NTExNjQuNDQwMTk0NiwgNzcyMiwgMTMuNzk2NzAyMzg0OTQ4NzNdLCBbMTY2Mzc1MTE2NC43OTk1Njc1LCA3NzY3LCAxNS4zMzIwNjU1ODIyNzUzOV0sIFsxNjYzNzUxMTY1LjE0NzI2NjYsIDc4MDMsIDEzLjY1NzY5MTk1NTU2NjQwNl0sIFsxNjYzNzUxMTY1LjY5NzU0MywgNzg0OCwgMTQuODAyOTUzNzIwMDkyNzczXSwgWzE2NjM3NTExNjYuNzc2MDAzLCA3OTY1LCAxMy42NDc1NDAwOTI0NjgyNjJdLCBbMTY2Mzc1MTE2Ni45MzQ2MTYzLCA3OTgzLCAxNi42MzkxNjM5NzA5NDcyNjZdLCBbMTY2Mzc1MTE2Ny42NjE0NTI1LCA4MDY0LCAxNy4xMTk4Mzg3MTQ1OTk2MV0sIFsxNjYzNzUxMTY3Ljc5NDQ4NjgsIDgwODIsIDE0LjAyOTYxNTQwMjIyMTY4XSwgWzE2NjM3NTExNjguMTE4MTQyNCwgODExOCwgMTYuMjI5Njc5MTA3NjY2MDE2XSwgWzE2NjM3NTExNjguODYwODIyNywgODE4MSwgMTUuNzkwMTEzNDQ5MDk2NjhdLCBbMTY2Mzc1MTE3MC44MzE0MzU3LCA4Mzc5LCAxNC44MDkyMTA3NzcyODI3MTVdLCBbMTY2Mzc1MTE3MC45Nzk3OTUsIDgzOTcsIDE0LjkyNjg1ODkwMTk3NzUzOV0sIFsxNjYzNzUxMTcxLjc2MTQwNzQsIDg0ODcsIDE1LjUwNzU0ODMzMjIxNDM1NV0sIFsxNjYzNzUxMTcyLjMxODc2NDcsIDg1NTAsIDEyLjQ3NzIyNzIxMDk5ODUzNV0sIFsxNjYzNzUxMTczLjU5MzY2NCwgODY3NiwgMTUuMDkzNDg1ODMyMjE0MzU1XSwgWzE2NjM3NTExNzQuODA0OTAzNywgODgyMCwgMTQuMTE0ODYzMzk1NjkwOTE4XSwgWzE2NjM3NTExNzUuMDIwODYyOCwgODg0NywgMTEuNTI0ODE4NDIwNDEwMTU2XSwgWzE2NjM3NTExNzUuODAzOTQyMiwgODkzNywgMTIuNDU4ODEyNzEzNjIzMDQ3XSwgWzE2NjM3NTExNzUuOTUwMjI0NCwgODk1NSwgMTAuNjE5NDcxNTQ5OTg3NzkzXSwgWzE2NjM3NTExNzYuMzIwOTg1NiwgOTAwMCwgMTIuOTgwNDUzNDkxMjEwOTM4XSwgWzE2NjM3NTExNzYuNTQ1MDU3LCA5MDI3LCAxMS41NTM4NzQwMTU4MDgxMDVdLCBbMTY2Mzc1MTE3Ni42OTE4OTcyLCA5MDQ1LCAxMS40NDgwNDAwMDg1NDQ5MjJdLCBbMTY2Mzc1MTE3Ny40OTg4OTY2LCA5MTQ0LCAxMi42NTAxMTg4Mjc4MTk4MjRdLCBbMTY2Mzc1MTE3Ny45OTE3OTgsIDkyMDcsIDEyLjgwODAzNzc1Nzg3MzUzNV0sIFsxNjYzNzUxMTc4LjI5NzUwNTksIDkyNDMsIDEyLjk0NTE3ODk4NTU5NTcwM10sIFsxNjYzNzUxMTc4LjQ1MTE1OTUsIDkyNjEsIDExLjkzNDM0MjM4NDMzODM3OV0sIFsxNjYzNzUxMTc5LjYyODUyMywgOTM0MiwgMTQuNTkyNDk3ODI1NjIyNTU5XSwgWzE2NjM3NTExODEuMTA1ODcyLCA5NTEzLCAxMC44NzU0MDcyMTg5MzMxMDVdLCBbMTY2Mzc1MTE4Mi4xNjA5MjA0LCA5NjM5LCA5LjUyNzE1NDkyMjQ4NTM1Ml0sIFsxNjYzNzUxMTgyLjIzOTU5MDIsIDk2NDgsIDEzLjg4NTU1ODEyODM1NjkzNF0sIFsxNjYzNzUxMTgyLjM5NDk0NzgsIDk2NjYsIDEwLjE1Nzc4MDY0NzI3NzgzMl0sIFsxNjYzNzUxMTgyLjY5Mjk1NSwgOTcwMiwgMTEuMDUwNTUwNDYwODE1NDNdLCBbMTY2Mzc1MTE4My4zNDc2MDU3LCA5NzgzLCAxMS42NzM2NDc4ODA1NTQyXSwgWzE2NjM3NTExODQuMjM1ODIzNiwgOTg5MSwgOC45NjEzMzcwODk1Mzg1NzRdLCBbMTY2Mzc1MTE4NC42Nzk5MjU3LCA5OTI3LCAxMS41NTU4NzAwNTYxNTIzNDRdLCBbMTY2Mzc1MTE4NC44MTUwMDMsIDk5NDUsIDkuNjIzMzUwMTQzNDMyNjE3XSwgWzE2NjM3NTExODUuMDMxOTIzMywgOTk3MiwgMTIuNjc2NzI1Mzg3NTczMjQyXSwgWzE2NjM3NTExODUuMTgxODA1MSwgOTk5MCwgOC43MzM5Njg3MzQ3NDEyMTFdLCBbMTY2Mzc1MTE4NS4zODMxMTQzLCAxMDAwOCwgOS4xMjgwNzE3ODQ5NzMxNDVdLCBbMTY2Mzc1MTE4Ni40ODI4NDMsIDEwMDk4LCA5LjYyNTU0NzQwOTA1NzYxN10sIFsxNjYzNzUxMTg2LjgyMzAxNDcsIDEwMTM0LCAxMS4zOTc2Mjc4MzA1MDUzNzFdLCBbMTY2Mzc1MTE4Ni45MDQzODMyLCAxMDE0MywgOS45NjA5ODYxMzczOTAxMzddLCBbMTY2Mzc1MTE4Ny4xNDIzODM4LCAxMDE3MCwgMTAuMjI0OTM5MzQ2MzEzNDc3XSwgWzE2NjM3NTExODcuMzYyMTQ5MiwgMTAxOTcsIDkuMjc5MjM4NzAwODY2N10sIFsxNjYzNzUxMTg3LjUwODQ1MzgsIDEwMjE1LCA5LjMwNjMwMzAyNDI5MTk5Ml0sIFsxNjYzNzUxMTg3Ljg2ODUzMTUsIDEwMjYwLCA5LjQ5NjY3MTY3NjYzNTc0Ml0sIFsxNjYzNzUxMTg4LjM5NjcxOCwgMTAzMjMsIDguNDgzMjkzNTMzMzI1MTk1XSwgWzE2NjM3NTExODguODQ3NjIwMiwgMTAzNjgsIDkuMTQ1MDY4MTY4NjQwMTM3XSwgWzE2NjM3NTExODguOTY0Mjg1NCwgMTAzNzcsIDguMTQ5OTk0ODUwMTU4NjkxXSwgWzE2NjM3NTExODkuODk2MTA5LCAxMDQ4NSwgOC42Mjc0Mzc1OTE1NTI3MzRdLCBbMTY2Mzc1MTE5MC44MjI4MDE0LCAxMDU3NSwgMTAuMDU1ODAxMzkxNjAxNTYyXSwgWzE2NjM3NTExOTEuMDUzMDU3MiwgMTA1OTMsIDguMTE3MzEyNDMxMzM1NDVdLCBbMTY2Mzc1MTE5MS4xNTA5MjYsIDEwNjAyLCA4LjkxNzM3MDc5NjIwMzYxM10sIFsxNjYzNzUxMTkxLjcxMDQzNjYsIDEwNjY1LCA4LjU2MTYwNTQ1MzQ5MTIxMV0sIFsxNjYzNzUxMTkyLjMxNjM5OCwgMTA3MTAsIDkuNjk1NjA5MDkyNzEyNDAyXSwgWzE2NjM3NTExOTIuNjM3OTUxLCAxMDc0NiwgOS40NzIxMTgzNzc2ODU1NDddLCBbMTY2Mzc1MTE5Mi43MTI2MzQsIDEwNzU1LCAxMC41OTE2MDEzNzE3NjUxMzddLCBbMTY2Mzc1MTE5My42MjA1ODA3LCAxMDg2MywgNy43MDg0ODA4MzQ5NjA5Mzc1XSwgWzE2NjM3NTExOTQuMjM1ODE5LCAxMDkzNSwgOC4xNTQyMDcyMjk2MTQyNThdLCBbMTY2Mzc1MTE5NC41NTc4MTMyLCAxMDk3MSwgOS4wNjM1NDIzNjYwMjc4MzJdLCBbMTY2Mzc1MTE5NC45MjQzNTgxLCAxMTAxNiwgOC4yOTAxMTUzNTY0NDUzMTJdLCBbMTY2Mzc1MTE5NS4wNzUyOTAyLCAxMTAzNCwgMTAuMjI4MTY1NjI2NTI1ODc5XSwgWzE2NjM3NTExOTUuNDI1ODQ5MiwgMTEwNzAsIDcuNTc4Mzc5MTU0MjA1MzIyXSwgWzE2NjM3NTExOTYuNjUxNzgwNCwgMTEyMDUsIDguNDQwNjkxOTQ3OTM3MDEyXSwgWzE2NjM3NTExOTYuODAwOTYxLCAxMTIyMywgOC45NzEzNjMwNjc2MjY5NTNdLCBbMTY2Mzc1MTE5Ny4yMTc3NzA2LCAxMTI2OCwgNy4yOTY0NjczMDQyMjk3MzZdLCBbMTY2Mzc1MTE5Ny4yODI2MDE0LCAxMTI3NywgNy4yNzk2Mjg3NTM2NjIxMDldLCBbMTY2Mzc1MTE5Ny40MjcxNzM5LCAxMTI5NSwgOC42MjY0MTIzOTE2NjI1OThdLCBbMTY2Mzc1MTE5Ny42NTgxNzIxLCAxMTMyMiwgMTAuNTY1NTQ5ODUwNDYzODY3XSwgWzE2NjM3NTExOTcuOTQ1Nzk3NCwgMTEzNTgsIDguMzUwODU4Njg4MzU0NDkyXSwgWzE2NjM3NTExOTguNDQ0MzMzNiwgMTE0MTIsIDkuMDI1MzMyNDUwODY2N10sIFsxNjYzNzUxMTk4Ljc2NjE5MzYsIDExNDQ4LCA3LjE3NDQ5MjgzNTk5ODUzNV0sIFsxNjYzNzUxMTk5LjM5MzYxLCAxMTQ5MywgOC44NjI5MTg4NTM3NTk3NjZdLCBbMTY2Mzc1MTE5OS44Mjk3MjM4LCAxMTU0NywgNy4wMjQ2MDU3NTEwMzc1OThdLCBbMTY2Mzc1MTIwMC4wNjYzMTg1LCAxMTU3NCwgNy4zMTkwMTY0NTY2MDQwMDRdLCBbMTY2Mzc1MTIwMC40MDgyODYsIDExNjE5LCA3LjYzNDY2NjQ0Mjg3MTA5NF0sIFsxNjYzNzUxMjAwLjYyMTU3NDksIDExNjQ2LCA3LjI1NjUxODg0MDc4OTc5NV0sIFsxNjYzNzUxMjAxLjAwNTcxNCwgMTE2OTEsIDcuMjk4NzQyNzcxMTQ4NjgyXSwgWzE2NjM3NTEyMDEuMjkzMjMyMiwgMTE3MjcsIDYuNTE3NTkzODYwNjI2MjIxXSwgWzE2NjM3NTEyMDEuNTc4ODczMiwgMTE3NjMsIDYuNjg1ODE2Mjg3OTk0Mzg1XSwgWzE2NjM3NTEyMDIuMzAwMjY1OCwgMTE4NDQsIDYuNTExNTYzMzAxMDg2NDI2XSwgWzE2NjM3NTEyMDIuOTE2NjQ0OCwgMTE5MDcsIDcuMTE2MjM2Njg2NzA2NTQzXSwgWzE2NjM3NTEyMDMuMTU3MjAwMywgMTE5MzQsIDYuNTIxNDI4NTg1MDUyNDldLCBbMTY2Mzc1MTIwMy4yNDE1MDIsIDExOTQzLCA5LjA5MTY4NzIwMjQ1MzYxM10sIFsxNjYzNzUxMjAzLjkxMDU3NTYsIDEyMDI0LCA3LjE3NTU1OTA0Mzg4NDI3N10sIFsxNjYzNzUxMjA0LjY5MDYwMzcsIDEyMTE0LCA4LjAxMDY3OTI0NDk5NTExN10sIFsxNjYzNzUxMjA1LjM1ODQ3OCwgMTIxOTUsIDYuNDUwNDExNzk2NTY5ODI0XSwgWzE2NjM3NTEyMDYuMDE1NjA2NiwgMTIyNDksIDYuMDQ0Mjk2MjY0NjQ4NDM3NV0sIFsxNjYzNzUxMjA2LjMyNTAyMTcsIDEyMjg1LCA4LjY1NDEwOTAwMTE1OTY2OF0sIFsxNjYzNzUxMjA3LjI2MjIzNTYsIDEyMzg0LCA1LjY4Nzk0ODcwMzc2NTg2OV0sIFsxNjYzNzUxMjA3LjM1MDAxMiwgMTIzOTMsIDYuNzkxNjk4OTMyNjQ3NzA1XSwgWzE2NjM3NTEyMDcuNjc1MDU0NiwgMTI0MjksIDUuODMyODkyODk0NzQ0ODczXSwgWzE2NjM3NTEyMDguNzYzNDMxMywgMTI1NDYsIDYuMTA1MTkzMTM4MTIyNTU5XSwgWzE2NjM3NTEyMTAuNzQwMDEsIDEyNzYyLCA1LjM1MzgxNjAzMjQwOTY2OF0sIFsxNjYzNzUxMjEyLjMxNDYyMiwgMTI5MzMsIDYuMDc0NjQ3NDI2NjA1MjI1XSwgWzE2NjM3NTEyMTIuNDUzNTA2NSwgMTI5NTEsIDUuNzkwODQwMTQ4OTI1NzgxXSwgWzE2NjM3NTEyMTIuNzE1NDEyLCAxMjk2MCwgNS44OTk1MTgwMTMwMDA0ODhdLCBbMTY2Mzc1MTIxMi43OTE1NTM3LCAxMjk2OSwgNi4yNjY2NzMwODgwNzM3MzA1XSwgWzE2NjM3NTEyMTMuNzQ0OTc2OCwgMTMwNTAsIDYuMzI5Njk0NzQ3OTI0ODA1XSwgWzE2NjM3NTEyMTQuNDkzMTA5NSwgMTMxMjIsIDcuNjA0NjU5MDgwNTA1MzcxXSwgWzE2NjM3NTEyMTQuNTY5NTE1NSwgMTMxMzEsIDUuODk5MDk2NDg4OTUyNjM3XSwgWzE2NjM3NTEyMTQuODE1ODIsIDEzMTU4LCA1LjE4ODExNzAyNzI4MjcxNV0sIFsxNjYzNzUxMjE2LjAyNDgwMDgsIDEzMjc1LCA1LjcyMjI5NTc2MTEwODM5OF0sIFsxNjYzNzUxMjE2LjI2MDE0MDIsIDEzMjkzLCA2LjA5NDAzNzUzMjgwNjM5NjVdLCBbMTY2Mzc1MTIxNy4yNjY2ODk1LCAxMzM5MiwgNi4xMzIyNDc0NDc5Njc1MjldLCBbMTY2Mzc1MTIxNy41NjI5NjUsIDEzNDE5LCA1LjA0MTg3MDExNzE4NzVdLCBbMTY2Mzc1MTIxNy45NDA4NjY3LCAxMzQ1NSwgNi4wODI0MTU1ODA3NDk1MTJdLCBbMTY2Mzc1MTIxOC4yMzQ3NjA1LCAxMzQ5MSwgNS4yMDI4MTg4NzA1NDQ0MzRdLCBbMTY2Mzc1MTIxOC41NjU0Njc2LCAxMzUyNywgNi4zNjcxMjc0MTg1MTgwNjZdLCBbMTY2Mzc1MTIxOS4xMTkxMTQsIDEzNTkwLCA2LjE3MDIxNDY1MzAxNTEzN10sIFsxNjYzNzUxMjE5LjE5NTg4NjYsIDEzNTk5LCA2LjE0MzQwNzM0NDgxODExNV0sIFsxNjYzNzUxMjE5LjQyMDYyOCwgMTM2MjYsIDUuNjcyODg4Mjc4OTYxMTgyXSwgWzE2NjM3NTEyMTkuNjU2MDQxLCAxMzY1MywgNS40OTgxMjEyNjE1OTY2OF0sIFsxNjYzNzUxMjIwLjg3NDgyODYsIDEzNzYxLCA1LjA0ODY3MjY3NjA4NjQyNl0sIFsxNjYzNzUxMjIxLjM0NDIzMDIsIDEzODE1LCA2LjQ1NzQ0OTQzNjE4Nzc0NF0sIFsxNjYzNzUxMjIxLjcxOTI2NzEsIDEzODUxLCA1LjUwMTk1NDA3ODY3NDMxNl0sIFsxNjYzNzUxMjIyLjYyOTYwODksIDEzOTQxLCA1Ljg0MTUwMjE4OTYzNjIzMDVdLCBbMTY2Mzc1MTIyMi45Mjg2MzI3LCAxMzk2OCwgNC44NzEyMjg2OTQ5MTU3NzE1XSwgWzE2NjM3NTEyMjQuMTI4NDk5LCAxNDA5NCwgNS4yNTgxMzk2MTAyOTA1MjddLCBbMTY2Mzc1MTIyNC4zNzU5MjM0LCAxNDEyMSwgNS4yNDkxNzEyNTcwMTkwNDNdLCBbMTY2Mzc1MTIyNC43OTA4MDE1LCAxNDE2NiwgNC41OTI4MjgyNzM3NzMxOTNdLCBbMTY2Mzc1MTIyNS4xMDU4MDY0LCAxNDE5MywgNC44NzgyMzQzODY0NDQwOTJdLCBbMTY2Mzc1MTIyNi4wNDY0MDk4LCAxNDI3NCwgNC45MDU5MTM4Mjk4MDM0NjddLCBbMTY2Mzc1MTIyNy4xNzQ1NjQ4LCAxNDM3MywgNS4xNzQ5OTYzNzYwMzc1OThdLCBbMTY2Mzc1MTIyNy41OTA1NzQsIDE0NDE4LCA0LjkyOTkxODI4OTE4NDU3XSwgWzE2NjM3NTEyMjcuNzQ4ODE5NCwgMTQ0MzYsIDUuMTgzNjMyMzczODA5ODE0NV0sIFsxNjYzNzUxMjMwLjAwNzUwMTEsIDE0NjUyLCA0LjU3MDM2MzA0NDczODc2OTVdLCBbMTY2Mzc1MTIzMC42MDcwOTUyLCAxNDcyNCwgNS4wOTk3MzM4Mjk0OTgyOTFdLCBbMTY2Mzc1MTIzMC43NTUyMzY5LCAxNDc0MiwgNC40OTYyODE2MjM4NDAzMzJdLCBbMTY2Mzc1MTIzMS4wNDA5NTksIDE0NzY5LCA1LjM5MjMzMzAzMDcwMDY4NF0sIFsxNjYzNzUxMjMxLjUyMjU2MTMsIDE0ODIzLCA2LjY5NjkwNjA4OTc4MjcxNV0sIFsxNjYzNzUxMjMxLjU5Nzk0LCAxNDgzMiwgNS4yMTM0MDg5NDY5OTA5NjddLCBbMTY2Mzc1MTIzMi4xNzc3NDg3LCAxNDg5NSwgNC43MDc1MTc2MjM5MDEzNjddLCBbMTY2Mzc1MTIzMi44OTI5NDk2LCAxNDk2NywgNC40MTcxNjUyNzkzODg0MjhdLCBbMTY2Mzc1MTIzMy4yNTY3ODIsIDE1MDAzLCA1Ljc1OTMwNDA0NjYzMDg1OV0sIFsxNjYzNzUxMjMzLjgyMjMzNTUsIDE1MDM5LCA1LjQyNjE0NzkzNzc3NDY1OF0sIFsxNjYzNzUxMjM0LjE1NTIxMSwgMTUwNzUsIDUuNjA2MjMyNjQzMTI3NDQxXSwgWzE2NjM3NTEyMzQuNDMzNzM0MiwgMTUxMDIsIDQuNzUxOTY1OTk5NjAzMjcxNV0sIFsxNjYzNzUxMjM0LjY0NDM3NDEsIDE1MTIwLCA0LjU5MzM5ODA5NDE3NzI0Nl0sIFsxNjYzNzUxMjM1LjE2MzU3MSwgMTUxNzQsIDQuNjY1NTgyMTgwMDIzMTkzXSwgWzE2NjM3NTEyMzUuOTI3MDIyNywgMTUyNTUsIDQuMjA5Mjc2Njc2MTc3OTc4NV0sIFsxNjYzNzUxMjM2LjgwNDgxNTMsIDE1MzI3LCA0LjA5NjkxNTI0NTA1NjE1Ml0sIFsxNjYzNzUxMjM2LjkzOTg4NTEsIDE1MzQ1LCA1LjIzMzQxMTMxMjEwMzI3MTVdLCBbMTY2Mzc1MTIzNy4yMzQyMDI2LCAxNTM3MiwgNC42NjU2NTcwNDM0NTcwMzFdLCBbMTY2Mzc1MTIzNy40MDcwODY2LCAxNTM5MCwgNC4xOTQyMjgxNzIzMDIyNDZdLCBbMTY2Mzc1MTIzNy40NzkxMzUsIDE1Mzk5LCA0LjExMTI5NzYwNzQyMTg3NV0sIFsxNjYzNzUxMjM3LjU1MzQwNSwgMTU0MDgsIDQuNDQ4MTMyNTE0OTUzNjEzXSwgWzE2NjM3NTEyMzguMDg2MTIyMywgMTU0NzEsIDYuMDg0Mjg5NTUwNzgxMjVdLCBbMTY2Mzc1MTIzOC4zOTQyMTQsIDE1NTA3LCA0LjU4ODg2MzM3MjgwMjczNF0sIFsxNjYzNzUxMjM4LjQ2MzQxMzUsIDE1NTE2LCA0LjQyMzM4NzUyNzQ2NTgyXSwgWzE2NjM3NTEyMzkuMDMzOTQ5OSwgMTU1NzksIDQuMjQwNTM3MTY2NTk1NDU5XSwgWzE2NjM3NTEyMzkuNzQ0MzkzOCwgMTU2NjAsIDQuMDA4NTAxMDUyODU2NDQ1XSwgWzE2NjM3NTEyNDAuMDU4OTk1LCAxNTY5NiwgNS4yNjQ2Mjg0MTAzMzkzNTU1XSwgWzE2NjM3NTEyNDAuMjkzMzg3LCAxNTcxNCwgNC45MzAwMjM2NzAxOTY1MzNdLCBbMTY2Mzc1MTI0MS4zMjM4MTM0LCAxNTc5NSwgNC4wNzA0NzIyNDA0NDc5OThdLCBbMTY2Mzc1MTI0Mi40Mjc3MjgyLCAxNTg5NCwgNC42NDUwMzc2NTEwNjIwMTJdLCBbMTY2Mzc1MTI0My4yMTMxMTM4LCAxNTk4NCwgMy45NzIxODk5MDMyNTkyNzczXSwgWzE2NjM3NTEyNDMuMzU5MTM2MywgMTYwMDIsIDQuNzA1NjI1MDU3MjIwNDU5XSwgWzE2NjM3NTEyNDMuODcwMzQzNywgMTYwNjUsIDQuMjQ1MTg0NDIxNTM5MzA3XSwgWzE2NjM3NTEyNDQuMTM2NDM5NiwgMTYwNzQsIDMuODg5NDQ1MzA0ODcwNjA1NV0sIFsxNjYzNzUxMjQ0LjQzMDgxOTMsIDE2MTEwLCA0LjUwMjg5MTU0MDUyNzM0NF0sIFsxNjYzNzUxMjQ0LjY3NDAzMjIsIDE2MTM3LCAzLjk0NTE0NjA4MzgzMTc4N10sIFsxNjYzNzUxMjQ1LjIzNTE3NDcsIDE2MjA5LCA1LjI4Mjk2MTg0NTM5Nzk0OV0sIFsxNjYzNzUxMjQ2LjY4ODk0MjIsIDE2MzgwLCAzLjgzMzE3MTYwNjA2Mzg0MjhdLCBbMTY2Mzc1MTI0Ni45ODA0MTEzLCAxNjQxNiwgNC4yNzI4NTAwMzY2MjEwOTRdLCBbMTY2Mzc1MTI0Ny40OTkwMDM0LCAxNjQ3OSwgNC4wMjE5NjY5MzQyMDQxMDJdLCBbMTY2Mzc1MTI0Ny45NDA5OTcsIDE2NTMzLCAzLjkwMjAzOTc2NjMxMTY0NTVdLCBbMTY2Mzc1MTI0OC4xMzAyNjMsIDE2NTUxLCAzLjU5MjU2MTQ4MzM4MzE3ODddLCBbMTY2Mzc1MTI0OC45MzI0NTE3LCAxNjYzMiwgMy45MjQ5NDk0MDc1Nzc1MTQ2XSwgWzE2NjM3NTEyNDkuMjQ0MTg5NywgMTY2NjgsIDMuMzYxNjY5Nzc4ODIzODUyNV0sIFsxNjYzNzUxMjQ5LjkyMDMxNCwgMTY3NDksIDQuNjYxNjEzNDY0MzU1NDY5XSwgWzE2NjM3NTEyNTAuMzAwNDY4LCAxNjc5NCwgNC4wOTU4MjQyNDE2MzgxODRdLCBbMTY2Mzc1MTI1MC4zODE2MzIsIDE2ODAzLCAzLjU1MjI1MTMzODk1ODc0MDJdLCBbMTY2Mzc1MTI1MC40NjM0MTMsIDE2ODEyLCAzLjg3MDYwOTUyMTg2NTg0NDddLCBbMTY2Mzc1MTI1Mi4wOTQwNzg4LCAxNjk1NiwgMy40MzI2NDI2OTgyODc5NjRdLCBbMTY2Mzc1MTI1Mi40ODI3NzE5LCAxNzAwMSwgMy42NTExNTc2MTc1Njg5Njk3XSwgWzE2NjM3NTEyNTMuMDEwODk3MiwgMTcwNjQsIDMuNzI0MDAyNTk5NzE2MTg2NV0sIFsxNjYzNzUxMjUzLjM2OTE1NjYsIDE3MTAwLCAzLjgyMDAzNTIxOTE5MjUwNV0sIFsxNjYzNzUxMjUzLjYwNDA4NDUsIDE3MTI3LCA0LjI3NTA1Mzk3Nzk2NjMwOV0sIFsxNjYzNzUxMjU0LjA5NTE2MTQsIDE3MTgxLCA0LjMwNzY5ODI0OTgxNjg5NDVdLCBbMTY2Mzc1MTI1NC4xNzIyNzM0LCAxNzE5MCwgMy42NjkxMzUzMzIxMDc1NDRdLCBbMTY2Mzc1MTI1NC42NTk2NzUsIDE3MjI2LCAzLjc2MDYyNjU1NDQ4OTEzNTddLCBbMTY2Mzc1MTI1NS4xMzg0MDE3LCAxNzI3MSwgMy4yODcyMjM1Nzc0OTkzODk2XSwgWzE2NjM3NTEyNTUuNjYyNjI5NiwgMTczMjUsIDMuNjc3NTQ4NjQ2OTI2ODhdLCBbMTY2Mzc1MTI1NS43NDIxMjQ2LCAxNzMzNCwgMy42NTQ0NDY4NDAyODYyNTVdLCBbMTY2Mzc1MTI1Ni42MDE4MDUyLCAxNzQzMywgMy42NzIwMDEzNjE4NDY5MjRdLCBbMTY2Mzc1MTI1Ni45MTE2MzQyLCAxNzQ2OSwgMy4zNjgxMTE4NDg4MzExNzY4XSwgWzE2NjM3NTEyNTYuOTg5NDk4NCwgMTc0NzgsIDMuMTI2ODYxNTcyMjY1NjI1XSwgWzE2NjM3NTEyNTcuNDc1NTEyLCAxNzUxNCwgMy42NTMwNDkyMzA1NzU1NjE1XSwgWzE2NjM3NTEyNTcuNjQ1MTUwNCwgMTc1MzIsIDMuNTg0NjAyMTE3NTM4NDUyXSwgWzE2NjM3NTEyNTguMDk2OTQ4LCAxNzU4NiwgNC4wMjY4MjExMzY0NzQ2MDldLCBbMTY2Mzc1MTI1OC4zMzUwMzY1LCAxNzYxMywgMy40Mjc0ODU5NDI4NDA1NzZdLCBbMTY2Mzc1MTI1OC44MzE5NjUyLCAxNzY0OSwgNC4xOTc5NDg5MzI2NDc3MDVdLCBbMTY2Mzc1MTI1OC44OTk0Nzk2LCAxNzY1OCwgMy4zODk5NzM2NDA0NDE4OTQ1XSwgWzE2NjM3NTEyNTkuMDUyOTQ5NCwgMTc2NzYsIDMuNDgwMTk1MjgzODg5NzcwNV0sIFsxNjYzNzUxMjU5LjE0MTMxNDUsIDE3Njg1LCA0LjA2NDcxNDkwODU5OTg1MzVdLCBbMTY2Mzc1MTI1OS4yODkyMzU4LCAxNzcwMywgMy41NDg2MTc2MDEzOTQ2NTMzXSwgWzE2NjM3NTEyNjAuMzM4MTc3LCAxNzgwMiwgMy4yMzA0MjY1NDk5MTE0OTldLCBbMTY2Mzc1MTI2MC40OTgyODEyLCAxNzgyMCwgMy42MzM3MzU4OTUxNTY4NjA0XSwgWzE2NjM3NTEyNjEuMTc3MTI4OCwgMTc4OTIsIDMuODcxMDYzOTQ3Njc3NjEyM10sIFsxNjYzNzUxMjYxLjI1NDA1NjIsIDE3OTAxLCAzLjg2MzI2NTk5MTIxMDkzNzVdLCBbMTY2Mzc1MTI2MS40NzcwMDIxLCAxNzkyOCwgMi45NzQ4OTU3MTU3MTM1MDFdLCBbMTY2Mzc1MTI2NC4yODcxMzc1LCAxODI0MywgMy4yMDY3NzEzNzM3NDg3NzkzXSwgWzE2NjM3NTEyNjUuMDE3NjMzLCAxODMzMywgMy40MTE1NDQzMjI5Njc1MjkzXSwgWzE2NjM3NTEyNjYuMTE3NTYzMiwgMTg0MzIsIDMuMDg3MzQ5MTc2NDA2ODYwNF0sIFsxNjYzNzUxMjY2Ljc1NjQ2NDcsIDE4NTA0LCAzLjMwMTI0MTg3NDY5NDgyNF0sIFsxNjYzNzUxMjY3LjYxNDI2ODgsIDE4NjEyLCAyLjkxOTAzNTQzNDcyMjkwMDRdLCBbMTY2Mzc1MTI2Ny45NDY5NTU3LCAxODYzOSwgMy4wODYzNjU0NjEzNDk0ODczXSwgWzE2NjM3NTEyNjguODMwODczLCAxODcyMCwgMy41MjQwODQ4MDY0NDIyNjA3XSwgWzE2NjM3NTEyNjkuNzc5OTY2OCwgMTg4MTAsIDMuNDk4MDU0MDI3NTU3MzczXSwgWzE2NjM3NTEyNzAuNTQ1NjY2MiwgMTg4ODIsIDMuMzcyNjU4NzI5NTUzMjIyN10sIFsxNjYzNzUxMjcwLjgzNDc3MiwgMTg5MDksIDQuMjA4NDQ0NTk1MzM2OTE0XSwgWzE2NjM3NTEyNzEuMDY3ODQ2OCwgMTg5MzYsIDMuMDA3NDA2NzExNTc4MzY5XSwgWzE2NjM3NTEyNzEuNTM0NTgwNywgMTg5OTAsIDIuOTUxODgwNjkzNDM1NjY5XSwgWzE2NjM3NTEyNzEuOTI1Njc1LCAxOTAzNSwgMy4zMzgwNTAzNjU0NDc5OThdLCBbMTY2Mzc1MTI3Mi4wOTYwNjYyLCAxOTA0NCwgMy42NzkwODAwMDk0NjA0NDldLCBbMTY2Mzc1MTI3Mi41MTA0NTM3LCAxOTA4MCwgMy4xMzE1NzA4MTYwNDAwMzldLCBbMTY2Mzc1MTI3Mi41ODE1ODQyLCAxOTA4OSwgMi45MDAwOTA0NTYwMDg5MTFdLCBbMTY2Mzc1MTI3My4zNDU1NzMsIDE5MTUyLCAzLjIzNjg5ODY2MDY1OTc5XSwgWzE2NjM3NTEyNzQuMDU4NzI3NywgMTkyMzMsIDMuMDYxMjE0MjA4NjAyOTA1M10sIFsxNjYzNzUxMjc0LjI2NzY3MjMsIDE5MjYwLCAzLjUzNjM3NzE5MTU0MzU3OV0sIFsxNjYzNzUxMjc2LjE3NzY2NDgsIDE5NDQwLCAzLjAyNzE2MDY0NDUzMTI1XSwgWzE2NjM3NTEyNzcuMDk5MTg2NywgMTk1MzAsIDMuNzM4MzgxMTQ3Mzg0NjQzNl0sIFsxNjYzNzUxMjc4LjU2NDY0MywgMTk2OTIsIDIuNzI0OTU4ODk2NjM2OTYzXSwgWzE2NjM3NTEyNzkuMDYwODc5LCAxOTc1NSwgMi44MDk0MTYwNTU2NzkzMjEzXSwgWzE2NjM3NTEyNzkuNTYwNzA3LCAxOTgxOCwgMy40OTUxNzU2MDAwNTE4OF0sIFsxNjYzNzUxMjgwLjEwODkyMDYsIDE5ODkwLCAzLjA4ODU3ODIyNDE4MjEyOV0sIFsxNjYzNzUxMjgwLjI2Mzk1OTQsIDE5OTA4LCAzLjI5ODcyNzUxMjM1OTYxOV0sIFsxNjYzNzUxMjgwLjc1NjIzMTgsIDE5OTQ0LCAzLjYzNDM2NTc5NzA0Mjg0NjddLCBbMTY2Mzc1MTI4MS4yMjg1ODMsIDE5OTk4LCAyLjU3MjY5OTU0NjgxMzk2NV0sIFsxNjYzNzUxMjgxLjUzNjAxODEsIDIwMDM0LCAzLjMyODk5MjEyODM3MjE5MjRdLCBbMTY2Mzc1MTI4Mi4zNjY2MzY1LCAyMDEzMywgMy4zNjQwNzUxODM4Njg0MDhdLCBbMTY2Mzc1MTI4Mi42NDQ3MDg5LCAyMDE2MCwgMy4wNDQ0MDYxNzU2MTM0MDMzXSwgWzE2NjM3NTEyODIuOTg5MDcxLCAyMDIwNSwgMy4xNTUyNzEwNTMzMTQyMDldLCBbMTY2Mzc1MTI4My45NjA4OTYzLCAyMDMyMiwgMy4wNDQ0Mzg2MDA1NDAxNjFdLCBbMTY2Mzc1MTI4NS44NDA5OTksIDIwNTM4LCAzLjIyNDQ0MTA1MTQ4MzE1NDNdLCBbMTY2Mzc1MTI4Ny40MjEwNDM0LCAyMDcwOSwgMi43ODMwNzQxNDA1NDg3MDZdLCBbMTY2Mzc1MTI4Ny44Nzc5NzM2LCAyMDc1NCwgMi41ODg1NzQ0MDk0ODQ4NjMzXSwgWzE2NjM3NTEyODcuOTQ4NDg0LCAyMDc2MywgMy4wODUwNDQzODQwMDI2ODU1XSwgWzE2NjM3NTEyODguOTg5MTE1NywgMjA4NTMsIDIuODQwMzgyNTc1OTg4NzY5NV0sIFsxNjYzNzUxMjg5LjIzMzUwNjIsIDIwODgwLCAyLjYwMjE4MTQzNDYzMTM0NzddLCBbMTY2Mzc1MTI4OS42MzYxNjU0LCAyMDkyNSwgMi42NDM5MDI3Nzg2MjU0ODgzXSwgWzE2NjM3NTEyOTAuMjUxNDI3LCAyMDk5NywgMi44NDg2MjY2MTM2MTY5NDM0XSwgWzE2NjM3NTEyOTEuMDg4OTE1LCAyMTA4NywgMi43OTEwNTMwNTY3MTY5MTldLCBbMTY2Mzc1MTI5MS45NDgwMDM4LCAyMTE3NywgMi41MDg0MDkyNjE3MDM0OTFdLCBbMTY2Mzc1MTI5Mi42Njc1MDIsIDIxMjQwLCAyLjYwMzUyMjA2MjMwMTYzNTddLCBbMTY2Mzc1MTI5My43Mzk5NzMsIDIxMzY2LCAyLjQxMzc4MjM1ODE2OTU1NTddLCBbMTY2Mzc1MTI5NS4xNTEyODAyLCAyMTUxMCwgMi42NzY2OTYwNjIwODgwMTI3XSwgWzE2NjM3NTEyOTUuNDc0ODE3NSwgMjE1NDYsIDIuNjIyODIzMjM4MzcyODAyN10sIFsxNjYzNzUxMjk1LjY1MDg4NDksIDIxNTU1LCAyLjU3NjA1NzQzNDA4MjAzMTJdLCBbMTY2Mzc1MTI5NS44NzM3MzgsIDIxNTgyLCAyLjM5MjQ4NTg1NzAwOTg4NzddLCBbMTY2Mzc1MTI5NS45NjU3NzYsIDIxNTkxLCAyLjU2NzY0ODQxMDc5NzExOV0sIFsxNjYzNzUxMjk4LjI2OTg0NTIsIDIxODYxLCAyLjQwNzM3MTA0NDE1ODkzNTVdLCBbMTY2Mzc1MTI5OC40OTYzMDY0LCAyMTg4OCwgMi42OTYyNTM1MzgxMzE3MTRdLCBbMTY2Mzc1MTI5OC43OTY4Mzc4LCAyMTkyNCwgMi44MDM2NDY4MDI5MDIyMjE3XSwgWzE2NjM3NTEyOTguODcxNTAyLCAyMTkzMywgMy4xNjgzNzg4Mjk5NTYwNTQ3XSwgWzE2NjM3NTEyOTkuMjU5ODMyOSwgMjE5NzgsIDIuNzIwNDQ4MDE3MTIwMzYxM10sIFsxNjYzNzUxMjk5LjM0NjE3MzgsIDIxOTg3LCAyLjMxMjA3MjI3NzA2OTA5Ml0sIFsxNjYzNzUxMzAwLjQxNDM0NzQsIDIyMDk1LCAyLjg3OTk2NTc4MjE2NTUyNzNdLCBbMTY2Mzc1MTMwMC45OTcwODQ0LCAyMjE2NywgMy4xNTYxNjM0NTQwNTU3ODZdLCBbMTY2Mzc1MTMwMS4xNTA1OTk3LCAyMjE4NSwgMy4wMTI4MDY0MTU1NTc4NjEzXSwgWzE2NjM3NTEzMDEuMjMyODkzNywgMjIxOTQsIDIuNjE0MzI0NTY5NzAyMTQ4NF0sIFsxNjYzNzUxMzAyLjk2NjM4NzcsIDIyMzc0LCA0LjExODEwNzMxODg3ODE3NF0sIFsxNjYzNzUxMzAzLjkwMDk0LCAyMjQ0NiwgMi43Njg2ODM2NzE5NTEyOTRdLCBbMTY2Mzc1MTMwNC4yOTQ2MzQ4LCAyMjQ5MSwgMi41MTA0MDg2Mzk5MDc4MzddLCBbMTY2Mzc1MTMwNC40NDM0MDYzLCAyMjUwOSwgMy4wMzA0NjI5ODAyNzAzODU3XSwgWzE2NjM3NTEzMDQuNzExNjkxNiwgMjI1MzYsIDMuMzI5MjczOTM5MTMyNjkwNF0sIFsxNjYzNzUxMzA0LjgzODI3NjQsIDIyNTU0LCAyLjM0OTYzODcwMDQ4NTIyOTVdLCBbMTY2Mzc1MTMwNC45MDQ3MzYsIDIyNTYzLCAyLjc1Mzg5MjQyMTcyMjQxMl0sIFsxNjYzNzUxMzA1Ljc0MTU1MTQsIDIyNjYyLCAyLjUwNTM4MDYzMDQ5MzE2NF0sIFsxNjYzNzUxMzA1LjgxMjUyMjIsIDIyNjcxLCAyLjg2NjA4NjcyMTQyMDI4OF0sIFsxNjYzNzUxMzA1Ljg3OTY2NCwgMjI2ODAsIDIuMzkwMTcwODEyNjA2ODExNV0sIFsxNjYzNzUxMzA2LjAyNTYzMjEsIDIyNjk4LCAyLjQ5Nzk5ODIzNzYwOTg2MzNdLCBbMTY2Mzc1MTMwNi4xNzE2ODEsIDIyNzE2LCAyLjY2MTM2NTAzMjE5NjA0NV0sIFsxNjYzNzUxMzA2LjUyNTc1MzMsIDIyNzYxLCAyLjYwMTI0NTY0MTcwODM3NF0sIFsxNjYzNzUxMzA2LjY3NDg1MTcsIDIyNzc5LCAyLjM1MjQwMTk3MTgxNzAxNjZdLCBbMTY2Mzc1MTMwNy41MDE5OTAzLCAyMjg1MSwgMi4zNDMxNDcwMzk0MTM0NTJdLCBbMTY2Mzc1MTMxMC4xNDc0MDIsIDIzMDk0LCAyLjE0MDA2ODA1NDE5OTIxODhdLCBbMTY2Mzc1MTMxMC4yNTM0NTQsIDIzMTAzLCAyLjQ2NDIwMzgzNDUzMzY5MTRdLCBbMTY2Mzc1MTMxMS4yNjQyMTUyLCAyMzIwMiwgMi41MjYyNDI3MzMwMDE3MDldLCBbMTY2Mzc1MTMxMS4zNTExMzg2LCAyMzIxMSwgMi40MDgzODYyMzA0Njg3NV0sIFsxNjYzNzUxMzEyLjEzNDE5MDMsIDIzMzAxLCAyLjQ3NzgxNzA1ODU2MzIzMjRdLCBbMTY2Mzc1MTMxMi4yMDYyMzgzLCAyMzMxMCwgMi41ODU0ODE4ODIwOTUzMzddLCBbMTY2Mzc1MTMxMi40NDcyNzQsIDIzMzM3LCAzLjAzNjM2MDc0MDY2MTYyMV0sIFsxNjYzNzUxMzEzLjAzODU1MDYsIDIzNDAwLCAyLjI2NjkyODY3Mjc5MDUyNzNdLCBbMTY2Mzc1MTMxMy43ODM3NzAzLCAyMzQ2MywgNC4xODQ3MzMzOTA4MDgxMDU1XSwgWzE2NjM3NTEzMTQuODU4MzE5LCAyMzU4MCwgMi43NzExMjM2NDc2ODk4MTkzXSwgWzE2NjM3NTEzMTUuNDUyMjY5MywgMjM2NTIsIDIuODczNjAyMzkwMjg5MzA2Nl0sIFsxNjYzNzUxMzE1LjUyNjM4MjQsIDIzNjYxLCAyLjk5NjE3Mzg1ODY0MjU3OF0sIFsxNjYzNzUxMzE2LjA3ODc4MjYsIDIzNzI0LCAyLjIzMDY1MDQyNDk1NzI3NTRdLCBbMTY2Mzc1MTMxNi4zNzU0OTQyLCAyMzc1MSwgMi4yNDgyMzA2OTU3MjQ0ODczXSwgWzE2NjM3NTEzMTYuNDQzODQ0MywgMjM3NjAsIDIuMjE1MTg0OTI2OTg2Njk0M10sIFsxNjYzNzUxMzE2LjUzMzU5NTMsIDIzNzY5LCAyLjU3NTM2ODg4MTIyNTU4Nl0sIFsxNjYzNzUxMzE2Ljk2NTY1OSwgMjM3OTYsIDIuNDA3ODE1OTMzMjI3NTM5XSwgWzE2NjM3NTEzMTguNTQxMzQyMywgMjM5NjcsIDIuNDg0NTMyODMzMDk5MzY1Ml0sIFsxNjYzNzUxMzE5LjE1NzA2MDEsIDI0MDM5LCAyLjYyMDM5NTg5ODgxODk2OTddLCBbMTY2Mzc1MTMxOS4yMzI1NywgMjQwNDgsIDIuNDk3NjY2ODM1Nzg0OTEyXSwgWzE2NjM3NTEzMTkuNDM2NTgzOCwgMjQwNzUsIDIuMDgyMzI3MzY1ODc1MjQ0XSwgWzE2NjM3NTEzMTkuOTk3NzI4MywgMjQxMzgsIDIuNzkzODE2MDg5NjMwMTI3XSwgWzE2NjM3NTEzMjAuMjE4NTQxNiwgMjQxNjUsIDIuNDU0OTczOTM2MDgwOTMyNl0sIFsxNjYzNzUxMzIwLjM2ODcxOCwgMjQxODMsIDIuNDcwODI2Mzg3NDA1Mzk1NV0sIFsxNjYzNzUxMzIwLjYxODc4NjMsIDI0MjEwLCAyLjI0ODk1MTY3MzUwNzY5MDRdLCBbMTY2Mzc1MTMyMS4wNDczMTM3LCAyNDI0NiwgMi4zMTIyMjkxNTY0OTQxNDA2XSwgWzE2NjM3NTEzMjEuOTI1MTcyOCwgMjQzMjcsIDIuNDYwOTIxMjg3NTM2NjIxXSwgWzE2NjM3NTEzMjIuNDUxNTcwNywgMjQzODEsIDIuMTU4MzE4MDQyNzU1MTI3XSwgWzE2NjM3NTEzMjIuODY4MzUwMywgMjQ0MjYsIDIuMjE4MzE0MTcwODM3NDAyM10sIFsxNjYzNzUxMzIzLjIyMDYyMTMsIDI0NDYyLCAzLjEyODU3MDA3OTgwMzQ2N10sIFsxNjYzNzUxMzIzLjQyNzI4NjksIDI0NDgwLCAyLjYwMTYzNjY0ODE3ODEwMDZdLCBbMTY2Mzc1MTMyNC42NTMwNzY2LCAyNDU3MCwgMi42NjY0NzI0MzQ5OTc1NTg2XSwgWzE2NjM3NTEzMjQuNzU3MjAyMSwgMjQ1NzksIDIuNjM5NTgyMTU3MTM1MDA5OF0sIFsxNjYzNzUxMzI1LjA4NzQwMywgMjQ2MTUsIDIuMTg2MjM5NDgwOTcyMjldLCBbMTY2Mzc1MTMyNS40MzkxNTcyLCAyNDY2MCwgMi42MjU3MTg4MzIwMTU5OTFdLCBbMTY2Mzc1MTMyNS41MDkzMjgsIDI0NjY5LCAzLjA0ODcyMzIyMDgyNTE5NTNdLCBbMTY2Mzc1MTMyNS41ODExMjgsIDI0Njc4LCAzLjA5MjI4NjEwOTkyNDMxNjRdLCBbMTY2Mzc1MTMyNS44MDY1ODUzLCAyNDcwNSwgMi43NDI5MTU2MzAzNDA1NzZdLCBbMTY2Mzc1MTMyNi40NjA0OTc0LCAyNDc4NiwgMy4wNjAxNzgwNDE0NTgxM10sIFsxNjYzNzUxMzI2LjUzNzAwMTEsIDI0Nzk1LCAyLjE0NzAzNjU1MjQyOTE5OV0sIFsxNjYzNzUxMzI2LjYyMjE1MjgsIDI0ODA0LCAzLjEwNzMyNjc0NTk4NjkzODVdLCBbMTY2Mzc1MTMyNy4wMTQ5NDQzLCAyNDg0OSwgMy4xNjEwNzIwMTU3NjIzMjldLCBbMTY2Mzc1MTMyNy40MTI4ODM1LCAyNDg5NCwgMi41MzUzNjU1ODE1MTI0NTFdLCBbMTY2Mzc1MTMyNy42NDM3NzUsIDI0OTIxLCAyLjQ3MzgwMDQyMDc2MTEwODRdLCBbMTY2Mzc1MTMyNy44ODk4MTQ0LCAyNDk0OCwgMi43NzUyNjIxMTczODU4NjQzXSwgWzE2NjM3NTEzMjguMDQ3OTgyLCAyNDk2NiwgMi4yOTQxNDcwMTQ2MTc5Ml0sIFsxNjYzNzUxMzI4LjIwNDgzLCAyNDk4NCwgMi4xODQxMDc3ODA0NTY1NDNdLCBbMTY2Mzc1MTMyOC40NDI4NDczLCAyNTAxMSwgMi42NzQ0OTA0NTE4MTI3NDRdLCBbMTY2Mzc1MTMyOC45NjIxNDYzLCAyNTA3NCwgMi4xMjMzOTc1ODg3Mjk4NTg0XSwgWzE2NjM3NTEzMjkuOTE3NTA3NCwgMjUxODIsIDIuNTQ5MDAyMTcwNTYyNzQ0XSwgWzE2NjM3NTEzMzAuMDczNjY3OCwgMjUyMDAsIDIuNTM0NDQ3MTkzMTQ1NzUyXSwgWzE2NjM3NTEzMzEuMDU2MzcxMiwgMjUzMTcsIDIuNDgzNjkxNDUzOTMzNzE2XSwgWzE2NjM3NTEzMzEuMTQyNzAzNSwgMjUzMjYsIDIuNDY5MzE5ODIwNDA0MDUyN10sIFsxNjYzNzUxMzMyLjEzNTkyOTMsIDI1NDI1LCAyLjA1ODc2MDE2NjE2ODIxM10sIFsxNjYzNzUxMzMyLjg5NTY2NSwgMjU1MTUsIDIuNzAwMjc1NjU5NTYxMTU3Ml0sIFsxNjYzNzUxMzMzLjIwNjEyMzgsIDI1NTUxLCAyLjExOTE4MTg3MTQxNDE4NDZdLCBbMTY2Mzc1MTMzMy42NDYxMDQzLCAyNTYwNSwgMi4yMDE0NTk0MDc4MDYzOTY1XSwgWzE2NjM3NTEzMzQuMTY5MjcwOCwgMjU2NjgsIDIuMjU2NzQ0Mzg0NzY1NjI1XSwgWzE2NjM3NTEzMzQuMjQ0NzU4NCwgMjU2NzcsIDIuMjI3NDE1MzIzMjU3NDQ2M10sIFsxNjYzNzUxMzM0LjY2MzA3NCwgMjU3MjIsIDIuMTAxMzgwMTA5Nzg2OTg3M10sIFsxNjYzNzUxMzM0Ljk2NjI4MzMsIDI1NzU4LCAyLjE0NTcxMzU2NzczMzc2NDZdLCBbMTY2Mzc1MTMzNS4wNDA2Nzg3LCAyNTc2NywgMi4xNTI0MTQ1NjAzMTc5OTNdLCBbMTY2Mzc1MTMzNi40ODYzOTc3LCAyNTkzOCwgMi4yNjA1MjM3OTYwODE1NDNdLCBbMTY2Mzc1MTMzNi41NTc4MzAzLCAyNTk0NywgMi4zODcwNzM1MTY4NDU3MDNdLCBbMTY2Mzc1MTMzNy4yMDk5NDM1LCAyNjAyOCwgMy4wMTI3MDQ4NDkyNDMxNjRdLCBbMTY2Mzc1MTMzNy4zNjUxMjczLCAyNjA0NiwgMi4zNzUyOTIzMDExNzc5Nzg1XSwgWzE2NjM3NTEzMzcuNTIxOTc4NCwgMjYwNjQsIDIuNDYwMDIzNDAzMTY3NzI0Nl0sIFsxNjYzNzUxMzM4LjMzNTk5NTQsIDI2MTM2LCAyLjE1MzM3NzUzMjk1ODk4NDRdLCBbMTY2Mzc1MTMzOC45MjU1NzM4LCAyNjIwOCwgMi4yNDc0NDIyNDU0ODMzOTg0XSwgWzE2NjM3NTEzMzkuMjU5NDUxNiwgMjYyNDQsIDIuMzU4Mjg2NjE5MTg2NDAxNF0sIFsxNjYzNzUxMzM5LjQ5NjYyMzgsIDI2MjcxLCAxLjgyNzg4MTgxMzA0OTMxNjRdLCBbMTY2Mzc1MTMzOS42NTg0NjI1LCAyNjI4OSwgMi4zMDcxODg1MTA4OTQ3NzU0XSwgWzE2NjM3NTEzMzkuNzM4MzAzLCAyNjI5OCwgMi4xNzI0MDU5NTgxNzU2NTldLCBbMTY2Mzc1MTMzOS45NTM5MzAxLCAyNjMyNSwgMi44NzgyNzg5NzA3MTgzODRdLCBbMTY2Mzc1MTM0MC40MzUyMTg2LCAyNjM3OSwgMi4xNDE1ODQ4NzMxOTk0NjNdLCBbMTY2Mzc1MTM0MC43ODY1MTYyLCAyNjQxNSwgMi42NTk2NzEwNjgxOTE1MjgzXSwgWzE2NjM3NTEzNDAuODY0MTAxLCAyNjQyNCwgMS45ODA3MzI3OTg1NzYzNTVdLCBbMTY2Mzc1MTM0Mi41MTk4NDk1LCAyNjU1MCwgMi44MDU4MTczNjU2NDYzNjIzXSwgWzE2NjM3NTEzNDIuNzkyMDQ0OSwgMjY1NzcsIDIuMTc1MTU5OTMxMTgyODYxM10sIFsxNjYzNzUxMzQzLjAxOTEwNzYsIDI2NjA0LCAxLjkyMzI3NTQ3MDczMzY0MjZdLCBbMTY2Mzc1MTM0My41OTU4NDY3LCAyNjY2NywgMi42MzQ3Nzg5NzY0NDA0Mjk3XSwgWzE2NjM3NTEzNDMuOTA0NDAwNiwgMjY2OTQsIDIuNjQwOTQzNTI3MjIxNjc5N10sIFsxNjYzNzUxMzQ0LjEwMzA1OSwgMjY3MTIsIDIuNTkzMTczMDI3MDM4NTc0XSwgWzE2NjM3NTEzNDQuNzIyMTM5NCwgMjY3NjYsIDMuMDM3NjY0NjUxODcwNzI3NV0sIFsxNjYzNzUxMzQ1LjE1NDE3NDYsIDI2ODExLCAyLjczMTA3MTQ3MjE2Nzk2ODhdLCBbMTY2Mzc1MTM0NS43MTQxMjEsIDI2ODY1LCAyLjQ5NjU5MDM3NTkwMDI2ODZdLCBbMTY2Mzc1MTM0NS45NDYwOTksIDI2ODgzLCAyLjE3OTk0NTcwNzMyMTE2N10sIFsxNjYzNzUxMzQ2Ljc1NzAzMDUsIDI2OTQ2LCAyLjMwMDk2ODY0NzAwMzE3NF0sIFsxNjYzNzUxMzQ3LjA1NTM1NDYsIDI2OTczLCAyLjI3MDc5MjcyMjcwMjAyNjRdLCBbMTY2Mzc1MTM0Ny4zNDI5NjMsIDI3MDAwLCAyLjI4MjAyMjcxNDYxNDg2OF0sIFsxNjYzNzUxMzQ3LjYzMjM5NiwgMjcwMjcsIDIuODI5NjI5MTgyODE1NTUxOF0sIFsxNjYzNzUxMzQ4LjM2MDQyNjQsIDI3MDk5LCAyLjA1NjE0ODI5MDYzNDE1NTNdLCBbMTY2Mzc1MTM0OS4yNTgyMzI2LCAyNzE4MCwgMi4yNDg4OTc1NTI0OTAyMzQ0XSwgWzE2NjM3NTEzNTAuMTM3MjA1LCAyNzI3MCwgMi4wMjk3NTM5MjM0MTYxMzc3XSwgWzE2NjM3NTEzNTAuNTE1ODc4NCwgMjczMTUsIDIuMDI1NDM0NDk0MDE4NTU0N10sIFsxNjYzNzUxMzUxLjYyMTMwNSwgMjc0MzIsIDIuMTIyMjkwMTM0NDI5OTMxNl0sIFsxNjYzNzUxMzUxLjc2ODQyMTQsIDI3NDUwLCAxLjkyMTg2ODMyNDI3OTc4NTJdLCBbMTY2Mzc1MTM1My4xMDA3MjMsIDI3NjAzLCAxLjg1MzM0NTE1NTcxNTk0MjRdLCBbMTY2Mzc1MTM1My4zNDcyODQsIDI3NjMwLCAyLjAwMDg0ODc3MDE0MTYwMTZdLCBbMTY2Mzc1MTM1My43MjMwODk1LCAyNzY3NSwgMi4wNzc1OTcxNDEyNjU4NjldLCBbMTY2Mzc1MTM1NC41NjI0NTQ1LCAyNzc1NiwgMS45OTg5MjYwNDM1MTA0MzddLCBbMTY2Mzc1MTM1NC42MjcxOTE1LCAyNzc2NSwgMi4zNDE5MTQ2NTM3NzgwNzZdLCBbMTY2Mzc1MTM1NS4yNjkxNDg4LCAyNzgxOSwgMi4yNTcwMzEyMDIzMTYyODRdLCBbMTY2Mzc1MTM1NS44NjM3MjczLCAyNzg3MywgMS45MzY5NDI5MzQ5ODk5MjkyXSwgWzE2NjM3NTEzNTYuNTAzNjk3NCwgMjc5MzYsIDIuMDIyMjMyMjk0MDgyNjQxNl0sIFsxNjYzNzUxMzU2LjU5OTMyMjYsIDI3OTQ1LCAxLjg5MjAyNTIzMjMxNTA2MzVdLCBbMTY2Mzc1MTM1Ni42ODQ5MTEzLCAyNzk1NCwgMi40NDY2MzExOTMxNjEwMTA3XSwgWzE2NjM3NTEzNTYuOTAwNjk5OSwgMjc5NzIsIDIuMDY0NDA4MzAyMzA3MTI5XSwgWzE2NjM3NTEzNTcuMjY4NzUyNiwgMjgwMDgsIDIuMzExNzc0NzMwNjgyMzczXSwgWzE2NjM3NTEzNTcuNTcwMzkzOCwgMjgwNDQsIDEuOTE3ODQ2MjAyODUwMzQxOF0sIFsxNjYzNzUxMzU3Ljg2Mjg3MzYsIDI4MDgwLCAyLjEyNjc4NzY2MjUwNjEwMzVdLCBbMTY2Mzc1MTM1Ny45Mzc2MTkyLCAyODA4OSwgMi4yMzcxODUwMDEzNzMyOTFdLCBbMTY2Mzc1MTM1OC4wMDg1OSwgMjgwOTgsIDIuMjI2NjQ0OTkyODI4MzY5XSwgWzE2NjM3NTEzNTguMzc0MzgwOCwgMjgxNDMsIDIuNTM2NTU2MjQzODk2NDg0NF0sIFsxNjYzNzUxMzU4LjUyNTUzLCAyODE2MSwgMS45OTQyODUyMjU4NjgyMjVdLCBbMTY2Mzc1MTM1OS4yODkxNTA1LCAyODI1MSwgMS45MDk0MjU4NTQ2ODI5MjI0XSwgWzE2NjM3NTEzNTkuOTk0OTk3MywgMjgzMTQsIDIuMDE3ODc3NTc4NzM1MzUxNl0sIFsxNjYzNzUxMzYyLjY4OTM3NSwgMjg1NjYsIDEuOTA1NTk3OTI1MTg2MTU3Ml0sIFsxNjYzNzUxMzYzLjEwMzYwNDYsIDI4NjExLCAyLjA1OTQyMjAxNjE0Mzc5OV0sIFsxNjYzNzUxMzYzLjc5OTc3MjUsIDI4NjkyLCAyLjIzMDQ4MzA1NTExNDc0Nl0sIFsxNjYzNzUxMzY0LjAyMTcxNDIsIDI4NzE5LCAyLjE3MDExMzMyNTExOTAxODZdLCBbMTY2Mzc1MTM2NC4yNTg3MzU0LCAyODczNywgMS45MTk4NjMxMDQ4MjAyNTE1XSwgWzE2NjM3NTEzNjQuODM5NjIyNSwgMjg4MDAsIDEuOTY4Mjk2MDUxMDI1MzkwNl0sIFsxNjYzNzUxMzY1LjE2ODE4MjQsIDI4ODM2LCAyLjE0Njk2NTk4MDUyOTc4NV0sIFsxNjYzNzUxMzY1LjI3NjY4MDIsIDI4ODQ1LCAyLjAxNTAzNjEwNjEwOTYxOV0sIFsxNjYzNzUxMzY2LjAwMTU5NzIsIDI4OTE3LCAyLjAwMzM2MDc0ODI5MTAxNTZdLCBbMTY2Mzc1MTM2Ni40MTk2NjcyLCAyODk1MywgMS45OTg2MDcxNTg2NjA4ODg3XSwgWzE2NjM3NTEzNjYuNDk0NTEzOCwgMjg5NjIsIDIuMjI4OTIzNzk3NjA3NDIyXSwgWzE2NjM3NTEzNjYuNzg1ODcxNSwgMjg5ODksIDIuMDU2MjQ1MDg4NTc3MjcwNV0sIFsxNjYzNzUxMzY2Ljk2NTQ1OCwgMjkwMDcsIDEuOTc3ODIwNjM0ODQxOTE5XSwgWzE2NjM3NTEzNjcuNjA4OTE5MSwgMjkwNzAsIDEuODY0NDk4MjU3NjM3MDI0XSwgWzE2NjM3NTEzNjguMjUxODA3MiwgMjkxNDIsIDIuMDMyMDY4NzI5NDAwNjM0OF0sIFsxNjYzNzUxMzY4LjYxMTc3NTYsIDI5MTc4LCAyLjQ0ODcyMjM2MjUxODMxMDVdLCBbMTY2Mzc1MTM2OC44MDQ0NzYzLCAyOTE5NiwgMi4wOTI4Mzk5NTYyODM1NjkzXSwgWzE2NjM3NTEzNzAuOTQzNDY5NSwgMjkzOTQsIDIuMjY1MDYzNzYyNjY0Nzk1XSwgWzE2NjM3NTEzNzEuMTY5OTAyOCwgMjk0MjEsIDEuOTIxNzM2NTk4MDE0ODMxNV0sIFsxNjYzNzUxMzcyLjA1ODUzNTMsIDI5NTI5LCAxLjg2NDQwMTEwMjA2NjA0XSwgWzE2NjM3NTEzNzMuMDY5NzgyMywgMjk2NTUsIDEuOTIyMjEyNzE5OTE3Mjk3NF0sIFsxNjYzNzUxMzczLjM2NTM0ODYsIDI5NjkxLCAyLjY4MzA3NDIzNTkxNjEzNzddLCBbMTY2Mzc1MTM3My45NzY4MjgzLCAyOTc2MywgMi4wMjc0NjAwOTgyNjY2MDE2XSwgWzE2NjM3NTEzNzYuOTg3NjY3LCAzMDA2OSwgMS44NjMxMTEwMTkxMzQ1MjE1XSwgWzE2NjM3NTEzNzcuNDk1NDExLCAzMDExNCwgMi4xNDgyMDc0MjYwNzExNjddLCBbMTY2Mzc1MTM3OC41NDkwMDcsIDMwMjEzLCAyLjI2MTc5Njk1MTI5Mzk0NTNdLCBbMTY2Mzc1MTM3OS4yNTk1Nzk0LCAzMDI5NCwgMS45NTYxMDQ5OTM4MjAxOTA0XSwgWzE2NjM3NTEzNzkuNjQyNzg1OCwgMzAzMzksIDIuMDQ5NTY3NDYxMDEzNzk0XSwgWzE2NjM3NTEzNzkuNzc5OTkwMiwgMzAzNTcsIDEuODYyMzMxMjcxMTcxNTY5OF0sIFsxNjYzNzUxMzc5LjkyMzEwMDcsIDMwMzc1LCAxLjg3NjgxOTAxNDU0OTI1NTRdLCBbMTY2Mzc1MTM4MC4yODIwOTEsIDMwNDAyLCAxLjc4OTQxNTM1OTQ5NzA3MDNdLCBbMTY2Mzc1MTM4MC40NTE3NDksIDMwNDIwLCAyLjI4MTg2Njc4ODg2NDEzNTddLCBbMTY2Mzc1MTM4MC44NjM3MjYxLCAzMDQ2NSwgMS45NTIwMzMxNjIxMTcwMDQ0XSwgWzE2NjM3NTEzODAuOTQ2MDU1MiwgMzA0NzQsIDEuODk0NDA4NTgzNjQxMDUyMl0sIFsxNjYzNzUxMzgxLjU5MjMxMDIsIDMwNTQ2LCAxLjkwNzU0ODMwODM3MjQ5NzZdLCBbMTY2Mzc1MTM4MS42NzM5NTE2LCAzMDU1NSwgMS45NzY3ODQxMTAwNjkyNzVdLCBbMTY2Mzc1MTM4MS45MDc3NzM3LCAzMDU4MiwgMi4wMDAxMjgyNjkxOTU1NTY2XSwgWzE2NjM3NTEzODIuNjE2NTI3NiwgMzA2NDUsIDEuODIwMDY1ODU1OTc5OTE5NF0sIFsxNjYzNzUxMzgyLjk3MzU3NzMsIDMwNjgxLCAyLjAyNzY1NzI3MDQzMTUxODZdLCBbMTY2Mzc1MTM4My4wODI5NjEsIDMwNjkwLCAyLjU1ODMzNTMwNDI2MDI1NF0sIFsxNjYzNzUxMzg0LjEyODYzOSwgMzA3NzEsIDEuODExNjc2NzQwNjQ2MzYyM10sIFsxNjYzNzUxMzg0LjUxODMzNTMsIDMwODA3LCAxLjkwNzg4Mzg4MjUyMjU4M10sIFsxNjYzNzUxMzg0Ljg1Nzg2OSwgMzA4NDMsIDIuMjg0Mjk3NzA0Njk2NjU1M10sIFsxNjYzNzUxMzg1LjY2OTYwNDgsIDMwOTE1LCAxLjk5Mjc3OTg1MDk1OTc3NzhdLCBbMTY2Mzc1MTM4Ni4wMjYzOTg0LCAzMDk2MCwgMS45OTY0MTU2MTUwODE3ODddLCBbMTY2Mzc1MTM4Ny4yODc4NjEsIDMxMDk1LCAyLjA0NTIyNTM4MTg1MTE5NjNdLCBbMTY2Mzc1MTM4Ny4zNTc1NTM1LCAzMTEwNCwgMi4xOTY0NTIxNDA4MDgxMDU1XSwgWzE2NjM3NTEzODcuNjc0Njg3MSwgMzExNDAsIDIuMTUyMzAyNTAzNTg1ODE1NF0sIFsxNjYzNzUxMzg3LjgzMTUxNDYsIDMxMTU4LCAyLjU3OTU2MTk0ODc3NjI0NV0sIFsxNjYzNzUxMzg4LjM3MDIzODMsIDMxMjIxLCAyLjI5MDgyMjk4Mjc4ODA4Nl0sIFsxNjYzNzUxMzg4LjY5NTU2NzEsIDMxMjU3LCAxLjg3Njg1MTc5NzEwMzg4MThdLCBbMTY2Mzc1MTM4OS4zOTIxMywgMzEzMzgsIDIuMDAwMzQ3NjE0Mjg4MzNdLCBbMTY2Mzc1MTM4OS40NzE1MDI4LCAzMTM0NywgMi41MjQ0NzM5MDU1NjMzNTQ1XSwgWzE2NjM3NTEzODkuNTUxMTU1LCAzMTM1NiwgMS45OTE3MzE2NDM2NzY3NTc4XSwgWzE2NjM3NTEzODkuNjMyMjA1NywgMzEzNjUsIDEuODIxNjQ5NTUxMzkxNjAxNl0sIFsxNjYzNzUxMzg5LjcwMzE4MTMsIDMxMzc0LCAxLjcxMTY2MDAyNzUwMzk2NzNdLCBbMTY2Mzc1MTM5MC4xMDc2Njk0LCAzMTQyOCwgMS43NDEzNjY5ODI0NjAwMjJdLCBbMTY2Mzc1MTM5MC4yNTAxMzA3LCAzMTQ0NiwgMi4wNDU5OTExODIzMjcyNzA1XSwgWzE2NjM3NTEzOTAuNDY5NjI5NSwgMzE0NzMsIDEuODQyODg4ODMyMDkyMjg1Ml0sIFsxNjYzNzUxMzkwLjcwNzM2MSwgMzE1MDAsIDEuODM1Nzk0MDkxMjI0NjcwNF0sIFsxNjYzNzUxMzkwLjc3ODg4NTYsIDMxNTA5LCAxLjg2MTExMTg3OTM0ODc1NDldLCBbMTY2Mzc1MTM5MS4xOTI2MjM2LCAzMTUzNiwgMi4wNTUxOTA4MDE2MjA0ODM0XSwgWzE2NjM3NTEzOTEuOTk1NTA4NywgMzE2MzUsIDEuOTY4NDE0MzA2NjQwNjI1XSwgWzE2NjM3NTEzOTIuNDQ5OTk3LCAzMTY4OSwgMi4yODA4MjU4NTMzNDc3NzgzXSwgWzE2NjM3NTEzOTIuODkzMTU5MiwgMzE3NDMsIDIuMTA1ODEzOTgwMTAyNTM5XSwgWzE2NjM3NTEzOTMuNTc5NTczOSwgMzE4MjQsIDEuOTk4NTk4NDU2MzgyNzUxNV0sIFsxNjYzNzUxMzkzLjY2MDUwOCwgMzE4MzMsIDEuODI5MjU3MTMwNjIyODYzOF0sIFsxNjYzNzUxMzk0LjA4MTYyNzQsIDMxODc4LCAyLjM2NTY5Mjg1MzkyNzYxMjNdLCBbMTY2Mzc1MTM5NC4zMDgwNzEsIDMxOTA1LCAyLjE3MzY3MTk2MDgzMDY4ODVdLCBbMTY2Mzc1MTM5NC43NDk3LCAzMTk1OSwgMS45MTUyNDk3MDUzMTQ2MzYyXSwgWzE2NjM3NTEzOTUuMDI5MDMxMywgMzE5OTUsIDIuNDkxNTAwMzc3NjU1MDI5M10sIFsxNjYzNzUxMzk1LjMzMTYwNSwgMzIwMzEsIDIuMDU0NzU5OTc5MjQ4MDQ3XSwgWzE2NjM3NTEzOTUuOTA0OTc2MSwgMzIxMDMsIDIuMDQwODMzMjM0Nzg2OTg3M10sIFsxNjYzNzUxMzk2LjE0MTczMDgsIDMyMTMwLCAxLjg5NjEzMzY2MTI3MDE0MTZdLCBbMTY2Mzc1MTM5Ni41ODM4Nzg1LCAzMjE4NCwgMS45MTgyMDY2OTE3NDE5NDM0XSwgWzE2NjM3NTEzOTYuNjYwODY0OCwgMzIxOTMsIDEuODIzMDIwMzM5MDEyMTQ2XSwgWzE2NjM3NTEzOTcuMjc1ODk4MiwgMzIyNjUsIDIuNDUyNDI0NTI2MjE0NTk5Nl0sIFsxNjYzNzUxMzk3LjcwOTk2ODYsIDMyMjkyLCAxLjg2MDAxMzQ4NDk1NDgzNF0sIFsxNjYzNzUxMzk3Ljc5MTI1NzQsIDMyMzAxLCAxLjk2Njk1OTU5NTY4MDIzNjhdLCBbMTY2Mzc1MTM5OC45NzExMTAzLCAzMjQwOSwgMi4yOTQ1Mjg5NjExODE2NDA2XSwgWzE2NjM3NTE0MDAuMTA2MTQ2LCAzMjUyNiwgMS45NDQyMjA1NDI5MDc3MTQ4XSwgWzE2NjM3NTE0MDAuMjIzNTg5MiwgMzI1MzUsIDIuMDg1NTc4NjgwMDM4NDUyXSwgWzE2NjM3NTE0MDAuMzI3NDQ2LCAzMjU0NCwgMi4yODUzODE3OTM5NzU4M10sIFsxNjYzNzUxNDAwLjQxNTQyNTMsIDMyNTUzLCAxLjg1MzYzNzkzMzczMTA3OV0sIFsxNjYzNzUxNDAxLjYwNTg0MDcsIDMyNjc5LCAxLjc4MzIxODk3OTgzNTUxMDNdLCBbMTY2Mzc1MTQwMy41MzcyOTEzLCAzMjg5NSwgMS44OTUwMjM0NjUxNTY1NTUyXSwgWzE2NjM3NTE0MDMuODA1MjMwNCwgMzI5MjIsIDIuMjExNDcxNTU3NjE3MTg3NV0sIFsxNjYzNzUxNDA0LjAzNDcxNTQsIDMyOTQwLCAxLjY2ODAzNzc3MjE3ODY1XSwgWzE2NjM3NTE0MDQuMjQzNjAxMywgMzI5NTgsIDIuMTAwODI2OTc4NjgzNDcxN10sIFsxNjYzNzUxNDA0LjU1NTU1NzUsIDMyOTg1LCAxLjc4NjQxMzkwODAwNDc2MDddLCBbMTY2Mzc1MTQwNC44NjkyMzMsIDMzMDIxLCAxLjkzOTY3OTk4MDI3ODAxNTFdLCBbMTY2Mzc1MTQwNS4zMTcwNjIsIDMzMDQ4LCAyLjA3ODcyNzQ4Mzc0OTM4OTZdLCBbMTY2Mzc1MTQwNS40NDcxOTAzLCAzMzA1NywgMS45MjY0NDIyNjU1MTA1NTldLCBbMTY2Mzc1MTQwNi45MjA5MjE2LCAzMzIxOSwgMS43NDk4MDIxMTI1NzkzNDU3XSwgWzE2NjM3NTE0MDcuNjUyNDY5MiwgMzMzMDksIDEuNzY4NzcwNDU2MzE0MDg3XSwgWzE2NjM3NTE0MDguMTY4NTQyLCAzMzM3MiwgMS43NjY1OTgzNDM4NDkxODIxXSwgWzE2NjM3NTE0MDguNDc3Njg2NiwgMzM0MDgsIDIuMzQyMTM4MDUxOTg2Njk0M10sIFsxNjYzNzUxNDA4LjU0ODk5MTIsIDMzNDE3LCAxLjc0MTkwODkwNzg5MDMxOThdLCBbMTY2Mzc1MTQwOC45Mzc1NDQzLCAzMzQ2MiwgMS45MDI1MTY5NjEwOTc3MTczXSwgWzE2NjM3NTE0MDkuMDA2NTU1MywgMzM0NzEsIDEuOTgzOTQxNjc0MjMyNDgzXSwgWzE2NjM3NTE0MDkuMjM5MzYxNSwgMzM0OTgsIDEuOTYyOTMxMTU2MTU4NDQ3M10sIFsxNjYzNzUxNDEwLjAzODc3MjYsIDMzNTk3LCAxLjg2OTk2MTg1Nzc5NTcxNTNdLCBbMTY2Mzc1MTQxMC4xMTI2NTY0LCAzMzYwNiwgMS42MDk1OTMyNzIyMDkxNjc1XSwgWzE2NjM3NTE0MTEuNjE4OTQzNSwgMzM3MTQsIDIuMDAwNjE2MDczNjA4Mzk4NF0sIFsxNjYzNzUxNDExLjcxMTAzMDcsIDMzNzIzLCAxLjkwNDIyNzk3MjAzMDYzOTZdLCBbMTY2Mzc1MTQxMS45MDEwNjc1LCAzMzc0MSwgMi40NTMwMjk4NzA5ODY5Mzg1XSwgWzE2NjM3NTE0MTIuMDE2NjI2LCAzMzc1MCwgMi4wNjAwODI0MzU2MDc5MV0sIFsxNjYzNzUxNDEyLjI2MDg1MTQsIDMzNzc3LCAxLjc4OTM4Nzk0MTM2MDQ3MzZdLCBbMTY2Mzc1MTQxMi4zMzM4NTQsIDMzNzg2LCAxLjg0MzA2NjMzNDcyNDQyNjNdLCBbMTY2Mzc1MTQxMi40MTMzMjMsIDMzNzk1LCAxLjg2NjAxMDU0NjY4NDI2NTFdLCBbMTY2Mzc1MTQxMy4yNjYyMzE1LCAzMzg1OCwgMS45MTc2Njg0NjE3OTk2MjE2XSwgWzE2NjM3NTE0MTMuNDA2MzgwMiwgMzM4NzYsIDIuMDM2NDkyNTg2MTM1ODY0M10sIFsxNjYzNzUxNDEzLjU1Nzc5NywgMzM4OTQsIDEuODMyODE4Mzg4OTM4OTAzOF0sIFsxNjYzNzUxNDE0LjgzMTkyOTQsIDM0MDI5LCAxLjY5NTg0MDk1NDc4MDU3ODZdLCBbMTY2Mzc1MTQxNC45MDQyMDg0LCAzNDAzOCwgMS42Mzc1MDQxMDA3OTk1NjA1XSwgWzE2NjM3NTE0MTQuOTc4NDcyNSwgMzQwNDcsIDEuODg1MjM5NzIwMzQ0NTQzNV0sIFsxNjYzNzUxNDE1LjA2MTkyOTUsIDM0MDU2LCAxLjg3ODU2ODA1MzI0NTU0NDRdLCBbMTY2Mzc1MTQxNS40NjU1MzYsIDM0MDkyLCAxLjgyNDMwNjAxMTE5OTk1MTJdLCBbMTY2Mzc1MTQxNS42ODM1MDQzLCAzNDExOSwgMS42MjAwMDU4NDYwMjM1NTk2XSwgWzE2NjM3NTE0MTYuODE2NDkzMywgMzQyNTQsIDIuMDk1MTgyNjU3MjQxODIxM10sIFsxNjYzNzUxNDE3LjEyMjA5NTgsIDM0MjcyLCAxLjU5Mjg4NDg5ODE4NTczXSwgWzE2NjM3NTE0MTcuNjUwMDA1OCwgMzQzMjYsIDEuODUxNzA1OTA4Nzc1MzI5Nl0sIFsxNjYzNzUxNDE3Ljc5MzEyMywgMzQzNDQsIDEuNzA4MDE2ODcyNDA2MDA1OV0sIFsxNjYzNzUxNDE4LjA5NDgzMTcsIDM0MzgwLCAxLjU1MTA4NzM3OTQ1NTU2NjRdLCBbMTY2Mzc1MTQxOC40MDM4MzM2LCAzNDQxNiwgMi4wNTYyNzU2MDYxNTUzOTU1XSwgWzE2NjM3NTE0MTguNDg4NDM3NCwgMzQ0MjUsIDEuODQ5NTU5MDY4Njc5ODA5Nl0sIFsxNjYzNzUxNDE5Ljk1MjQ0MSwgMzQ1NjAsIDIuMzc5NTE0MjE3Mzc2NzA5XSwgWzE2NjM3NTE0MjAuODc5MDk4MiwgMzQ2NDEsIDEuODg3NzU5MzI3ODg4NDg4OF0sIFsxNjYzNzUxNDIxLjAzOTI3MTQsIDM0NjU5LCAxLjkwNTUzMDIxNDMwOTY5MjRdLCBbMTY2Mzc1MTQyMS4yMjYyNjIsIDM0Njc3LCAxLjY5NjIyNjcxNjA0MTU2NV0sIFsxNjYzNzUxNDIxLjQzNDI2NTYsIDM0NzA0LCAyLjQ5NzMxMDQwMDAwOTE1NTNdLCBbMTY2Mzc1MTQyMS41NjkxODQ4LCAzNDcyMiwgMS42Njc0NjkwMjQ2NTgyMDMxXSwgWzE2NjM3NTE0MjEuNzg2NTYyNCwgMzQ3NDksIDEuOTgyMDQ2NjA0MTU2NDk0MV0sIFsxNjYzNzUxNDIyLjUzNzAxNDUsIDM0ODMwLCAxLjgyMjA3OTc3NzcxNzU5MDNdLCBbMTY2Mzc1MTQyMi43NTQ2MDI3LCAzNDg1NywgMi4xNTYwODY5MjE2OTE4OTQ1XSwgWzE2NjM3NTE0MjIuOTg5MTIwNywgMzQ4ODQsIDIuMTA4MTAzNzUyMTM2MjMwNV0sIFsxNjYzNzUxNDI1LjAyNTU5NTcsIDM1MTI3LCAxLjgyMDIwMTk5Mjk4ODU4NjRdLCBbMTY2Mzc1MTQyNS40NjE3MTI0LCAzNTE4MSwgMS43NzgyMzIyMTY4MzUwMjJdLCBbMTY2Mzc1MTQyNS42ODY5MjYxLCAzNTIwOCwgMS42Njg0MzgzMTUzOTE1NDA1XSwgWzE2NjM3NTE0MjYuMDAwMzE1NCwgMzUyNDQsIDIuMTgzNDE4OTg5MTgxNTE4Nl0sIFsxNjYzNzUxNDI2LjQ1NDMxMywgMzUyOTgsIDEuNzYxODk5NzA5NzAxNTM4XSwgWzE2NjM3NTE0MjYuNjkwMjAyNSwgMzUzMjUsIDIuMDgyNTQ1OTk1NzEyMjgwM10sIFsxNjYzNzUxNDI2LjgzNzkxMzUsIDM1MzQzLCAxLjU1ODkyMDUwMjY2MjY1ODddLCBbMTY2Mzc1MTQyNy40MjEzNDEsIDM1Mzg4LCAyLjAzMDE1MzAzNjExNzU1MzddLCBbMTY2Mzc1MTQyNy41NzcwMzc2LCAzNTQwNiwgMi4wMDY4MTY4NjQwMTM2NzJdLCBbMTY2Mzc1MTQyOC4wMzAxNzYsIDM1NDMzLCAxLjgwMzUxNDcxOTAwOTM5OTRdLCBbMTY2Mzc1MTQyOS40NjYxMDY3LCAzNTU4NiwgMi4wNzAxNTg5NTg0MzUwNTg2XSwgWzE2NjM3NTE0MjkuNzYyNTcxOCwgMzU2MjIsIDEuOTgxNjE0MzUxMjcyNTgzXSwgWzE2NjM3NTE0MzAuMzU0NDksIDM1Njk0LCAxLjk1NTg1MDI0MzU2ODQyMDRdLCBbMTY2Mzc1MTQzMC40MjgwNTM2LCAzNTcwMywgMS41NzU3NDI3MjE1NTc2MTcyXSwgWzE2NjM3NTE0MzEuMDk5Njg5LCAzNTc4NCwgMS44Njk2NDE3ODA4NTMyNzE1XSwgWzE2NjM3NTE0MzEuNzA4NTAxMywgMzU4MzgsIDIuMTAzODMxNTI5NjE3MzA5Nl0sIFsxNjYzNzUxNDMxLjc3ODcyOCwgMzU4NDcsIDEuNzEzOTg5MjU3ODEyNV0sIFsxNjYzNzUxNDMxLjg0NTA1NTMsIDM1ODU2LCAxLjg3MjQ4NzkwMjY0MTI5NjRdLCBbMTY2Mzc1MTQzMi4wNTkzNywgMzU4ODMsIDEuODc4NzE2MzQ5NjAxNzQ1Nl0sIFsxNjYzNzUxNDMyLjc0Mjk5MjQsIDM1OTM3LCAyLjA1MzU5NDM1MDgxNDgxOTNdLCBbMTY2Mzc1MTQzMy4xOTc0MTMsIDM1OTgyLCAyLjE0ODUxNTIyNDQ1Njc4N10sIFsxNjYzNzUxNDMzLjQ2NzM1NzIsIDM2MDA5LCAxLjc1MTg5MjMyODI2MjMyOV0sIFsxNjYzNzUxNDM0LjA5MzU5LCAzNjA4MSwgMi4wNzg2ODQwOTE1Njc5OTNdLCBbMTY2Mzc1MTQzNC4zODI1NDUsIDM2MTE3LCAxLjczNzgyNDA4MjM3NDU3MjhdLCBbMTY2Mzc1MTQzNC41MjUxMDQ1LCAzNjEzNSwgMi4wOTgzNzc0NjYyMDE3ODIyXSwgWzE2NjM3NTE0MzUuMzczOTU0OCwgMzYyMTYsIDEuNjk0MzM5ODcxNDA2NTU1Ml0sIFsxNjYzNzUxNDM1LjczNDU3NywgMzYyNjEsIDEuOTUxNjE5MjY3NDYzNjg0XSwgWzE2NjM3NTE0MzYuMTk0NDIyLCAzNjMxNSwgMi4xNzUxNTQyMDkxMzY5NjNdLCBbMTY2Mzc1MTQzNi42NTIyMzQzLCAzNjM2OSwgMS43Nzg0NzA2MzU0MTQxMjM1XSwgWzE2NjM3NTE0MzcuMzY0MTQwNSwgMzY0MzIsIDEuODA3OTg5NTk3MzIwNTU2Nl0sIFsxNjYzNzUxNDM4LjY3MzA3ODgsIDM2NTk0LCAxLjk0MjExMDY1NzY5MTk1NTZdLCBbMTY2Mzc1MTQzOC43NDUyMSwgMzY2MDMsIDEuODMzMzQxMTIxNjczNTg0XSwgWzE2NjM3NTE0MzkuMjUxNDEsIDM2NjY2LCAxLjY5MzYyNDEzODgzMjA5MjNdLCBbMTY2Mzc1MTQ0MC4wNDMzNDE2LCAzNjczOCwgMS42MzEyMjk2MzkwNTMzNDQ3XSwgWzE2NjM3NTE0NDAuMTEzMzY4NywgMzY3NDcsIDEuNjkzMTc2NjI3MTU5MTE4N10sIFsxNjYzNzUxNDQwLjI2NzcwNjYsIDM2NzY1LCAxLjc4MDAwNjE3MDI3MjgyNzFdLCBbMTY2Mzc1MTQ0MC41NDg2NjUsIDM2ODAxLCAyLjA0NTY3MTkzOTg0OTg1MzVdLCBbMTY2Mzc1MTQ0MC44NTk5OTgsIDM2ODM3LCAxLjk1MTQ5ODUwODQ1MzM2OTFdLCBbMTY2Mzc1MTQ0Mi4yNjk3Mjg0LCAzNjk5MCwgMS43NTM1MTc4NjYxMzQ2NDM2XSwgWzE2NjM3NTE0NDIuNjgyMjk4NCwgMzcwNDQsIDIuMjM5NTYxNzk2MTg4MzU0NV0sIFsxNjYzNzUxNDQzLjA5Njk2OTEsIDM3MDk4LCAxLjk2NzQ3NzY3OTI1MjYyNDVdLCBbMTY2Mzc1MTQ0My4zNTAyMDgsIDM3MTI1LCAxLjc3MjY0NDA0Mjk2ODc1XSwgWzE2NjM3NTE0NDMuODA4OTEyOCwgMzcxNzksIDEuNzMwNTM2NTgwMDg1NzU0NF0sIFsxNjYzNzUxNDQ0Ljc1Mzg3MywgMzcyODcsIDEuOTkzNDY5MTE5MDcxOTYwNF0sIFsxNjYzNzUxNDQ1LjAzMDcyMjQsIDM3MzIzLCAxLjk1MTg5ODU3NDgyOTEwMTZdLCBbMTY2Mzc1MTQ0NS41Mjg4MzEyLCAzNzM4NiwgMS43NTc4NDMyNTU5OTY3MDRdLCBbMTY2Mzc1MTQ0NS43NTE2NDU4LCAzNzQxMywgMS45MDQ4MTQyNDMzMTY2NTA0XSwgWzE2NjM3NTE0NDYuNTgyMDA0NSwgMzc1MTIsIDEuNzM4NjU5OTc3OTEyOTAyOF0sIFsxNjYzNzUxNDQ3LjM3NDQzOTUsIDM3NjAyLCAxLjYzNDY5MDQwMzkzODI5MzVdLCBbMTY2Mzc1MTQ0Ny40NTg5NTc3LCAzNzYxMSwgMS44NTE3OTEzODE4MzU5Mzc1XSwgWzE2NjM3NTE0NDcuNjkzNDE4LCAzNzYzOCwgMS41MDE0MzE3MDM1Njc1MDQ5XSwgWzE2NjM3NTE0NDguOTU5NjE4MywgMzc3MzcsIDEuODIxMDIyOTg3MzY1NzIyN10sIFsxNjYzNzUxNDUwLjE3MzEwODgsIDM3ODcyLCAxLjU4OTIzOTk1NDk0ODQyNTNdLCBbMTY2Mzc1MTQ1MC4yNTk3MTcyLCAzNzg4MSwgMi4wNDEzNTk0MjQ1OTEwNjQ1XSwgWzE2NjM3NTE0NTAuODY5MTk0NywgMzc5NTMsIDEuNzA0NzMxNTgzNTk1Mjc1OV0sIFsxNjYzNzUxNDUxLjIyODQyNzIsIDM3OTk4LCAxLjk3MzY1NzQ4ODgyMjkzN10sIFsxNjYzNzUxNDUxLjY3MzgxMDIsIDM4MDUyLCAxLjkyMjUzNzkyMjg1OTE5Ml0sIFsxNjYzNzUxNDUxLjgyMTM0OTksIDM4MDcwLCAyLjE1NzUwMDUwNTQ0NzM4NzddLCBbMTY2Mzc1MTQ1MS44OTM2NTI0LCAzODA3OSwgMS43MDE3OTUxMDExNjU3NzE1XSwgWzE2NjM3NTE0NTIuMzQzOTU5MywgMzgxMzMsIDEuNzQ5NjM1OTM0ODI5NzEyXSwgWzE2NjM3NTE0NTMuMTAwMjg3LCAzODIyMywgMS41NzU2MDI0MTIyMjM4MTZdLCBbMTY2Mzc1MTQ1My4zMzI4NDQzLCAzODI1MCwgMS43OTkwODU0OTc4NTYxNDAxXSwgWzE2NjM3NTE0NTMuNDc5NDQ3MSwgMzgyNjgsIDEuODUyNTg4MDU3NTE4MDA1NF0sIFsxNjYzNzUxNDUzLjU2MzQwMDcsIDM4Mjc3LCAxLjc1NzE1MDc2OTIzMzcwMzZdLCBbMTY2Mzc1MTQ1My42NDE3Mjk4LCAzODI4NiwgMS44NjMwMjEzNzM3NDg3NzkzXSwgWzE2NjM3NTE0NTMuOTQyOTk3MiwgMzgzMjIsIDEuNzMzNjIzNzQzMDU3MjUxXSwgWzE2NjM3NTE0NTQuNjgxNDc1LCAzODQxMiwgMS42NjIwNzExMDg4MTgwNTQyXSwgWzE2NjM3NTE0NTQuNzY2NzE0MywgMzg0MjEsIDEuNTg4MTUwNTAxMjUxMjIwN10sIFsxNjYzNzUxNDU0LjkyMDk2NzMsIDM4NDM5LCAxLjgyNTAzOTI2NzUzOTk3OF0sIFsxNjYzNzUxNDU1Ljg1Nzc2ODgsIDM4NTI5LCAxLjc4NjMxNTMyMTkyMjMwMjJdLCBbMTY2Mzc1MTQ1NS45MzIwODMxLCAzODUzOCwgMi4zMDAxOTExNjQwMTY3MjM2XSwgWzE2NjM3NTE0NTcuMjk2MTIzNywgMzg2OTEsIDEuNzEzNzA3MDg5NDI0MTMzM10sIFsxNjYzNzUxNDU3Ljc5MjU1NjgsIDM4NzU0LCAxLjgyMTczMjc1OTQ3NTcwOF0sIFsxNjYzNzUxNDU4LjExNjIwODgsIDM4NzkwLCAyLjA3NDQxOTAyMTYwNjQ0NTNdLCBbMTY2Mzc1MTQ1OS4xMzEzMjUyLCAzODg3MSwgMS41MjIzMDk2NjA5MTE1Nl0sIFsxNjYzNzUxNDU5LjUyMTg0NSwgMzg5MTYsIDEuODExOTg4OTQ5Nzc1Njk1OF0sIFsxNjYzNzUxNDU5Ljk5MDE2OTMsIDM4OTYxLCAxLjg3ODc0MzI5MDkwMTE4NF0sIFsxNjYzNzUxNDYwLjUyNTI4NzQsIDM5MDE1LCAxLjgwNTA3NzA3NTk1ODI1Ml0sIFsxNjYzNzUxNDYxLjQzNTkzMTQsIDM5MDk2LCAxLjU0OTA4OTc4OTM5MDU2NF0sIFsxNjYzNzUxNDYxLjczOTI4OTgsIDM5MTMyLCAxLjQ4NzM3ODU5NzI1OTUyMTVdLCBbMTY2Mzc1MTQ2Mi4wODQwMzEzLCAzOTE2OCwgMS42ODI0MTU0ODUzODIwOF0sIFsxNjYzNzUxNDYzLjE1NDk1MzUsIDM5MjQ5LCAyLjA5OTIyNDgwNTgzMTkwOV0sIFsxNjYzNzUxNDYzLjY2NDc0NywgMzkyOTQsIDEuNTY5MTEwNjMxOTQyNzQ5XSwgWzE2NjM3NTE0NjQuMjY5MTc1NSwgMzkzNDgsIDEuNzIwNjgwNzEzNjUzNTY0NV0sIFsxNjYzNzUxNDY0LjcwMjgxOTgsIDM5MzkzLCAxLjc4MTk5MTAwNDk0Mzg0NzddLCBbMTY2Mzc1MTQ2NC45NDA2Mjk1LCAzOTQyMCwgMi4xMzE1Mjc5MDA2OTU4MDFdLCBbMTY2Mzc1MTQ2NS4wMTYxODA4LCAzOTQyOSwgMi4wMjc4MDMxODI2MDE5Mjg3XSwgWzE2NjM3NTE0NjUuNTg5NzEyMSwgMzk0OTIsIDEuNzM2NTIxMDA1NjMwNDkzMl0sIFsxNjYzNzUxNDY2LjE2NzE1ODgsIDM5NTY0LCAxLjkwNDAyNTA3NzgxOTgyNDJdLCBbMTY2Mzc1MTQ2Ni43NjM3NTQ2LCAzOTYzNiwgMS4zOTQwODUwNDk2MjkyMTE0XSwgWzE2NjM3NTE0NjcuMDg1OTA1MywgMzk2NzIsIDEuNTg2MzQ3MzQxNTM3NDc1Nl0sIFsxNjYzNzUxNDY3LjMyNjgxODIsIDM5Njk5LCAxLjUxNzkxMzY5OTE1MDA4NTRdLCBbMTY2Mzc1MTQ2Ny41NjI2MiwgMzk3MjYsIDEuODE0MjAzOTc3NTg0ODM4OV0sIFsxNjYzNzUxNDY3LjYzMjk0NjcsIDM5NzM1LCAxLjU1NTc0MDIzNzIzNjAyM10sIFsxNjYzNzUxNDY4LjYzNDMzMzYsIDM5ODA3LCAxLjU5OTExMDEyNjQ5NTM2MTNdLCBbMTY2Mzc1MTQ2OC44MjE0MTYsIDM5ODI1LCAyLjEwODExOTk2NDU5OTYwOTRdLCBbMTY2Mzc1MTQ2OS42ODE1ODYzLCAzOTkyNCwgMS44NjM1NDYyNTIyNTA2NzE0XSwgWzE2NjM3NTE0NzAuMzAwNTY3NiwgMzk5OTYsIDEuNzk3MzkwMjIyNTQ5NDM4NV0sIFsxNjYzNzUxNDcxLjcyMTUwMywgNDAwOTUsIDEuNjcwMDQ0MzAyOTQwMzY4N10sIFsxNjYzNzUxNDcyLjA4ODQyODUsIDQwMTMxLCAxLjU3MzAwOTEzMzMzODkyODJdLCBbMTY2Mzc1MTQ3Mi44MzMzOTgzLCA0MDIwMywgMS44OTM2NDc1NTE1MzY1Nl0sIFsxNjYzNzUxNDc0Ljk4NDIxMjIsIDQwNDEwLCAxLjU0Nzg5OTQ4NDYzNDM5OTRdLCBbMTY2Mzc1MTQ3NS41NTUxMDgzLCA0MDQ2NCwgMS42MjY4MjU1NzEwNjAxODA3XSwgWzE2NjM3NTE0NzUuODUzNjk0NCwgNDA1MDAsIDEuNzU1NjY3MjA5NjI1MjQ0MV0sIFsxNjYzNzUxNDc3LjAxMjMzNzQsIDQwNjM1LCAxLjkxNTYxOTQ5MjUzMDgyMjhdLCBbMTY2Mzc1MTQ3Ny41MjE2MDQ1LCA0MDY4OSwgMS41NDY5Njk2NTIxNzU5MDMzXSwgWzE2NjM3NTE0NzcuNzUwMjc4NywgNDA3MTYsIDEuNzU2NjgxNTYxNDcwMDMxN10sIFsxNjYzNzUxNDc3LjkyMzg5NDIsIDQwNzM0LCAxLjUyMTM3NDk0MDg3MjE5MjRdLCBbMTY2Mzc1MTQ3OC42NTI2Mzg0LCA0MDc5NywgMS44NTUzNjc1NDEzMTMxNzE0XSwgWzE2NjM3NTE0NzguODgyMzg0NSwgNDA4MjQsIDEuODEzNDUyOTU5MDYwNjY5XSwgWzE2NjM3NTE0NzkuMTk0NjU2OCwgNDA4NjAsIDEuODMzNzE2NzUwMTQ0OTU4NV0sIFsxNjYzNzUxNDc5LjYxMTE5MDMsIDQwODk2LCAxLjcxOTUyNDYyMTk2MzUwMV0sIFsxNjYzNzUxNDc5LjcxNjE0OTYsIDQwOTA1LCAxLjgwMTQwMTczNDM1MjExMThdLCBbMTY2Mzc1MTQ3OS44MDg4NDQ2LCA0MDkxNCwgMS42OTY1NTMxMTEwNzYzNTVdLCBbMTY2Mzc1MTQ3OS45NzM1NzQyLCA0MDkzMiwgMS43NjI2MzA5Mzk0ODM2NDI2XSwgWzE2NjM3NTE0ODAuNTAzODAxOCwgNDA5ODYsIDEuOTQ0NzgwNDY4OTQwNzM0OV0sIFsxNjYzNzUxNDgxLjE1MDM0NTMsIDQxMDQ5LCAxLjgzMDg5MzI3ODEyMTk0ODJdLCBbMTY2Mzc1MTQ4MS4zMjM3MzQ1LCA0MTA2NywgMS44NjgwODEzMzEyNTMwNTE4XSwgWzE2NjM3NTE0ODEuNTE1Nzg3OCwgNDEwODUsIDEuOTEwNDA1NzU1MDQzMDI5OF0sIFsxNjYzNzUxNDgxLjg0MDU0NjQsIDQxMTIxLCAxLjU0NTM3OTc1Nzg4MTE2NDZdLCBbMTY2Mzc1MTQ4Mi4wNzE4NzY1LCA0MTE0OCwgMS43ODc1MTAzOTUwNTAwNDg4XSwgWzE2NjM3NTE0ODIuMjM0NTk3MiwgNDExNTcsIDEuNjk4MzA2Nzk4OTM0OTM2NV0sIFsxNjYzNzUxNDgyLjQ0NTYwNDMsIDQxMTc1LCAxLjUxOTgzMzgwMzE3Njg3OTldLCBbMTY2Mzc1MTQ4My4yMDAzMDIxLCA0MTI0NywgMS44NzU1NzMxNTgyNjQxNjAyXSwgWzE2NjM3NTE0ODMuOTQ5NDIyNiwgNDEzMTksIDEuNTA1Mjg5NzkzMDE0NTI2NF0sIFsxNjYzNzUxNDg0LjE0MjY0OTcsIDQxMzM3LCAxLjYwMTkzODI0NzY4MDY2NF0sIFsxNjYzNzUxNDg1LjQ5Njc2MywgNDE0NjMsIDEuNjAwNTcxNTEzMTc1OTY0NF0sIFsxNjYzNzUxNDg1LjcyMzY1MywgNDE0OTAsIDEuNTk0MTU3MzM4MTQyMzk1XSwgWzE2NjM3NTE0ODUuOTM5MjkzOSwgNDE1MTcsIDEuODA4NzU3NjYyNzczMTMyM10sIFsxNjYzNzUxNDg3LjM4NTA1NzQsIDQxNjQzLCAyLjAwMzk4NjgzNTQ3OTczNjNdLCBbMTY2Mzc1MTQ4Ny42ODU0MDU1LCA0MTY3MCwgMS41Mzc4NTg3MjQ1OTQxMTYyXSwgWzE2NjM3NTE0ODguODM5ODI1NCwgNDE4MDUsIDEuNzAyODg5MDg0ODE1OTc5XSwgWzE2NjM3NTE0ODkuMTkxMzI2NiwgNDE4NTAsIDEuOTY3MTMyNDQ5MTUwMDg1NF0sIFsxNjYzNzUxNDg5LjI1OTUyMywgNDE4NTksIDEuMzIzNjc4OTcwMzM2OTE0XSwgWzE2NjM3NTE0ODkuNTU0MTgzNywgNDE4OTUsIDEuNjE1Njk2MDcyNTc4NDMwMl0sIFsxNjYzNzUxNDg5Ljg2ODgzMTIsIDQxOTMxLCAxLjg4OTEwNTA4MTU1ODIyNzVdLCBbMTY2Mzc1MTQ4OS45MzkzNzI4LCA0MTk0MCwgMS45NjM2NTQ2MzczMzY3MzFdLCBbMTY2Mzc1MTQ5MC4wMTUzOTA2LCA0MTk0OSwgMS41NTIyMjYxODU3OTg2NDVdLCBbMTY2Mzc1MTQ5MC4xNzc1MTM0LCA0MTk2NywgMS41NjA0OTU2MTUwMDU0OTMyXSwgWzE2NjM3NTE0OTAuNTYxNzM1NiwgNDIwMTIsIDEuNTU1NDIwODc1NTQ5MzE2NF0sIFsxNjYzNzUxNDkwLjYyNjU3OTMsIDQyMDIxLCAxLjc3NTI4MzA5ODIyMDgyNTJdLCBbMTY2Mzc1MTQ5MC43MDkzMjEzLCA0MjAzMCwgMS43NTUyNDU5MjM5OTU5NzE3XSwgWzE2NjM3NTE0OTEuMzkzMDk0MywgNDIxMTEsIDIuMDU1MzIwMDI0NDkwMzU2NF0sIFsxNjYzNzUxNDkyLjA5NDk4NzYsIDQyMTgzLCAxLjc3NDE2MDI2NTkyMjU0NjRdLCBbMTY2Mzc1MTQ5Mi40MDU4NTczLCA0MjIxOSwgMS42NDgwNTc2OTkyMDM0OTEyXSwgWzE2NjM3NTE0OTIuNTY5MDY0LCA0MjIzNywgMS40NzYyMDc3MzMxNTQyOTY5XSwgWzE2NjM3NTE0OTMuMDM1NzE2MywgNDIyOTEsIDEuNjg0NjI0MzE0MzA4MTY2NV0sIFsxNjYzNzUxNDkzLjgxMzYwNSwgNDIzNjMsIDEuNzMxNDE4MzcxMjAwNTYxNV0sIFsxNjYzNzUxNDkzLjg5MDEwOTMsIDQyMzcyLCAyLjAwMDYwNDg2NzkzNTE4MDddLCBbMTY2Mzc1MTQ5NC4zODQ0Njk3LCA0MjQyNiwgMS40OTg5MDE2MDU2MDYwNzldLCBbMTY2Mzc1MTQ5NC42MDg1NDQ4LCA0MjQ1MywgMS43MTI1NTk4MTkyMjE0OTY2XSwgWzE2NjM3NTE0OTUuMTU3Mjk4LCA0MjUyNSwgMS43MzI5NTEyODM0NTQ4OTVdLCBbMTY2Mzc1MTQ5NS42MjY1NTg1LCA0MjU3OSwgMS43MTkyOTE0NDg1OTMxMzk2XSwgWzE2NjM3NTE0OTUuODQ0MTEwNSwgNDI2MDYsIDEuODQxNjQzMzMzNDM1MDU4Nl0sIFsxNjYzNzUxNDk1LjkxNTM2NDUsIDQyNjE1LCAxLjY4MzQwMDE1NDExMzc2OTVdLCBbMTY2Mzc1MTQ5Ni4xMzUyMjYyLCA0MjY0MiwgMS41MjU5MTAwMTk4NzQ1NzI4XSwgWzE2NjM3NTE0OTYuMzU2NDY4LCA0MjY2OSwgMS40ODY0NDM1MTk1OTIyODUyXSwgWzE2NjM3NTE0OTYuNTYyMTY1NywgNDI2OTYsIDEuMzcyMTg5NzYwMjA4MTI5OV0sIFsxNjYzNzUxNDk3LjQ3NjU4OTcsIDQyODA0LCAxLjQzMzQ4MjUyNzczMjg0OTFdLCBbMTY2Mzc1MTQ5Ny43NzEwNDAyLCA0Mjg0MCwgMS43NTU4NTQ5NjQyNTYyODY2XSwgWzE2NjM3NTE0OTguNjYyOTM2MiwgNDI5MDMsIDEuODUzMjcyNDM4MDQ5MzE2NF0sIFsxNjYzNzUxNDk5LjE3MzA0NzMsIDQyOTU3LCAxLjUxMzU1MTExNTk4OTY4NV0sIFsxNjYzNzUxNDk5LjUwODA1NjYsIDQyOTkzLCAxLjcyOTUwMjY3NzkxNzQ4MDVdLCBbMTY2Mzc1MTQ5OS41ODUxMjc2LCA0MzAwMiwgMS43ODIwNzI3ODI1MTY0Nzk1XSwgWzE2NjM3NTE0OTkuODIyODMzLCA0MzAyOSwgMS42NzIzMjc2Mzc2NzI0MjQzXSwgWzE2NjM3NTE0OTkuOTA5NDU0OCwgNDMwMzgsIDEuODcyNzQ1MDM3MDc4ODU3NF0sIFsxNjYzNzUxNTAwLjU5NDM4NCwgNDMxMDEsIDEuNTg2OTA3NTA1OTg5MDc0N10sIFsxNjYzNzUxNTAwLjk5MDA2NCwgNDMxMTksIDEuNDc3MTIxMjMzOTQwMTI0NV0sIFsxNjYzNzUxNTAxLjEyNDMxODgsIDQzMTM3LCAxLjQ5OTg0NTc0MzE3OTMyMTNdLCBbMTY2Mzc1MTUwMS42Mjg4MjMsIDQzMTkxLCAxLjg0Mjk0NDk3OTY2NzY2MzZdLCBbMTY2Mzc1MTUwMi4xMjM0MDEyLCA0MzI0NSwgMS44MTQ2NDQ5MzI3NDY4ODcyXSwgWzE2NjM3NTE1MDIuNDE0NzY4MiwgNDMyNzIsIDEuNTE0MDQzNjg4Nzc0MTA4OV0sIFsxNjYzNzUxNTAyLjY0MDMxMzQsIDQzMjk5LCAxLjkxODkwNzE2NTUyNzM0MzhdLCBbMTY2Mzc1MTUwMi43OTAzNjU1LCA0MzMxNywgMS42NTg4MTI2NDIwOTc0NzMxXSwgWzE2NjM3NTE1MDMuMDYzMTA3NSwgNDMzMzUsIDEuNzQyOTU5MzgwMTQ5ODQxM10sIFsxNjYzNzUxNTA0LjUyMjg4MzQsIDQzNDc5LCAxLjg4MzE3MDcyMzkxNTFdLCBbMTY2Mzc1MTUwNC42NjI1NjQ4LCA0MzQ5NywgMS43MDExOTE2NjM3NDIwNjU0XSwgWzE2NjM3NTE1MDQuODA5ODk2MiwgNDM1MTUsIDEuNjkwOTMyMjczODY0NzQ2XSwgWzE2NjM3NTE1MDQuODg4OTU0MiwgNDM1MjQsIDEuOTM2Njc0OTUyNTA3MDE5XSwgWzE2NjM3NTE1MDQuOTYwNTk3LCA0MzUzMywgMS40Nzc3NDExMjIyNDU3ODg2XSwgWzE2NjM3NTE1MDUuNjIyMjI4MSwgNDM1OTYsIDEuNzU2NjMyNTY2NDUyMDI2NF0sIFsxNjYzNzUxNTA1LjcwNjc0MTMsIDQzNjA1LCAxLjgxMDkzMjI3ODYzMzExNzddLCBbMTY2Mzc1MTUwNy4zODk4MjAzLCA0Mzc2NywgMS43ODcxODI2ODg3MTMwNzM3XSwgWzE2NjM3NTE1MDcuNjA1NTYzNCwgNDM3OTQsIDEuNDkzOTQxMTg3ODU4NTgxNV0sIFsxNjYzNzUxNTA5LjMyMDg4NjQsIDQzOTQ3LCAxLjgzNTkxNTIwNzg2Mjg1NF0sIFsxNjYzNzUxNTEwLjIyMjI5MjIsIDQ0MDY0LCAxLjY0ODQ1NDE4OTMwMDUzN10sIFsxNjYzNzUxNTExLjE4ODg0MDIsIDQ0MTgxLCAxLjY4OTAyNzE5MDIwODQzNV0sIFsxNjYzNzUxNTExLjM2MjcwMjYsIDQ0MTk5LCAxLjY1ODIyNTc3NDc2NTAxNDZdLCBbMTY2Mzc1MTUxMS45NTU4NzE2LCA0NDIzNSwgMS41OTU3NDc3MDkyNzQyOTJdLCBbMTY2Mzc1MTUxMy4wMjk0NjUyLCA0NDMzNCwgMS41NzMyMjQxODY4OTcyNzc4XSwgWzE2NjM3NTE1MTMuNDM5OTEzLCA0NDM3MCwgMS41MTI2NzA3NTUzODYzNTI1XSwgWzE2NjM3NTE1MTMuNzgxOTYzMywgNDQ0MDYsIDEuNjAzMTk5MjQzNTQ1NTMyMl0sIFsxNjYzNzUxNTE0LjQ4ODgzOCwgNDQ0NjksIDEuNDYzODc0MjIwODQ4MDgzNV0sIFsxNjYzNzUxNTE0Ljg3Njk4OTQsIDQ0NTA1LCAyLjAwNTI2OTUyNzQzNTMwMjddLCBbMTY2Mzc1MTUxNS4zODAxODgyLCA0NDU1MCwgMS44MDU5MzY4MTMzNTQ0OTIyXSwgWzE2NjM3NTE1MTguMDg0MjIwMiwgNDQ4MTEsIDEuNjM2NzM3NzA0Mjc3MDM4Nl0sIFsxNjYzNzUxNTE4LjIzODYyMiwgNDQ4MjksIDEuNTMxMTQzNDI2ODk1MTQxNl0sIFsxNjYzNzUxNTE5LjEwNzIyLCA0NDkxOSwgMS43OTU4NzExMzg1NzI2OTI5XSwgWzE2NjM3NTE1MTkuMTg2Njg0NCwgNDQ5MjgsIDEuNzA0MzM1MDkzNDk4MjNdLCBbMTY2Mzc1MTUyMS4xOTIyNzk2LCA0NTEzNSwgMS41ODE5NTIwOTUwMzE3MzgzXSwgWzE2NjM3NTE1MjEuNjY5MzMxOCwgNDUxOTgsIDEuNTQ0MTcxOTI5MzU5NDM2XSwgWzE2NjM3NTE1MjEuODA0NDQ0LCA0NTIxNiwgMS45MTQxOTE3MjI4Njk4NzNdLCBbMTY2Mzc1MTUyMS45NjcwNTQ0LCA0NTIzNCwgMS44MjY2NTgwMTA0ODI3ODhdLCBbMTY2Mzc1MTUyMy41NzEzNzEzLCA0NTQzMiwgMi4wNzgxOTUwOTUwNjIyNTZdLCBbMTY2Mzc1MTUyNC42NDA5Njg2LCA0NTU0MCwgMS42MDAyNTMxMDUxNjM1NzQyXSwgWzE2NjM3NTE1MjQuNzkxMjM4NSwgNDU1NTgsIDEuNDIxNTQxMDk0Nzc5OTY4M10sIFsxNjYzNzUxNTI0Ljk1MTI3NTgsIDQ1NTc2LCAxLjUxNTE4NjU0ODIzMzAzMjJdLCBbMTY2Mzc1MTUyNS4xNzQyNzQ0LCA0NTYwMywgMS42NzIzOTI0ODc1MjU5NF0sIFsxNjYzNzUxNTI1Ljk1NzU5NywgNDU2OTMsIDEuNjQ4NTUwNjI5NjE1NzgzN10sIFsxNjYzNzUxNTI2LjE3NzIxNCwgNDU3MjAsIDEuODUwMjU3MTU4Mjc5NDE5XSwgWzE2NjM3NTE1MjYuMjQ0NDgxLCA0NTcyOSwgMS40MTg4OTcxNTE5NDcwMjE1XSwgWzE2NjM3NTE1MjYuNzQxMTA1NiwgNDU3ODMsIDEuNDk2MTg0NDY4MjY5MzQ4MV0sIFsxNjYzNzUxNTI2Ljg4NDgxMiwgNDU4MDEsIDEuNzQ1NTg3NzA2NTY1ODU3XSwgWzE2NjM3NTE1MjcuMDQxNTkzMywgNDU4MTksIDEuMzg3NjIyMzU2NDE0Nzk1XSwgWzE2NjM3NTE1MjcuNDM3MTMzMywgNDU4NjQsIDEuNTc0MDgxNDIwODk4NDM3NV0sIFsxNjYzNzUxNTI3Ljk0OTgwMywgNDU5MTgsIDEuNjE0NTc1Mzg2MDQ3MzYzM10sIFsxNjYzNzUxNTI4LjIxODY0MzcsIDQ1OTM2LCAxLjcyNzk4NTczOTcwNzk0NjhdLCBbMTY2Mzc1MTUyOS43MTg3NjgxLCA0NjEwNywgMS40OTc2MDQzNzAxMTcxODc1XSwgWzE2NjM3NTE1MzAuNzM0NjMxLCA0NjE5NywgMS41Mjc0NjI0ODI0NTIzOTI2XSwgWzE2NjM3NTE1MzEuMDUwNDI1MywgNDYyMzMsIDEuNTYwMTQ2MDkzMzY4NTMwM10sIFsxNjYzNzUxNTMxLjM3NjM3NSwgNDYyNjksIDEuOTI2MTk3NDA5NjI5ODIxOF0sIFsxNjYzNzUxNTMxLjkyNjMzMzQsIDQ2MzMyLCAxLjY2Mjc3NjExMjU1NjQ1NzVdLCBbMTY2Mzc1MTUzMi4yMzgwMjM4LCA0NjM2OCwgMS41OTE5MjUwMjQ5ODYyNjddLCBbMTY2Mzc1MTUzMi4zMTU5NjYsIDQ2Mzc3LCAxLjU4MjEzMjU3Nzg5NjExODJdLCBbMTY2Mzc1MTUzMi40ODQ2MTU2LCA0NjM5NSwgMS42NDg3NDIwNzk3MzQ4MDIyXSwgWzE2NjM3NTE1MzIuNTU3MzU0NSwgNDY0MDQsIDEuNTUyODEwMDcyODk4ODY0N10sIFsxNjYzNzUxNTMzLjQ2OTQxODMsIDQ2NTEyLCAxLjY5OTA4ODkzMTA4MzY3OTJdLCBbMTY2Mzc1MTUzNC4xNjYwMTEsIDQ2NTkzLCAxLjc0NDIxODQ2ODY2NjA3NjddLCBbMTY2Mzc1MTUzNS4wMTQyODY1LCA0NjY5MiwgMS42OTQwMDQ4OTMzMDI5MTc1XSwgWzE2NjM3NTE1MzUuOTY0NDAxLCA0Njc4MiwgMS41NTk3MjE3MDgyOTc3Mjk1XSwgWzE2NjM3NTE1MzYuMDQ5MTE3LCA0Njc5MSwgMS45MDkwNjk1MzgxMTY0NTVdLCBbMTY2Mzc1MTUzNi4yMDY4NjQ2LCA0NjgwOSwgMS42NjQwNDkyNjc3Njg4NTk5XSwgWzE2NjM3NTE1MzYuNzc4NDgzNCwgNDY4NTQsIDEuNTY0NTc0OTU2ODkzOTIxXSwgWzE2NjM3NTE1MzYuOTI2NTI4MiwgNDY4NzIsIDEuNzAzNDU1Njg2NTY5MjEzOV0sIFsxNjYzNzUxNTM3LjI3NjgwMSwgNDY5MTcsIDEuNDk2NzI5NjEyMzUwNDYzOV0sIFsxNjYzNzUxNTM3LjczMzg1MTIsIDQ2OTcxLCAxLjczNzA1OTk1MDgyODU1MjJdLCBbMTY2Mzc1MTUzOC4yNzcwMjIsIDQ3MDM0LCAxLjU5MDg4MTQ2Njg2NTUzOTZdLCBbMTY2Mzc1MTUzOC41ODU0NTA0LCA0NzA3MCwgMS40NTQ0NzYyMzcyOTcwNThdLCBbMTY2Mzc1MTUzOS4yNzYzMDU0LCA0NzE1MSwgMS41OTU4MTExMjg2MTYzMzNdLCBbMTY2Mzc1MTU0MC40NDcxODYyLCA0NzI4NiwgMS41MDYyMDE2MjQ4NzAzMDAzXSwgWzE2NjM3NTE1NDAuNTI5MzUzMSwgNDcyOTUsIDEuNTQzMzE2OTYwMzM0Nzc3OF0sIFsxNjYzNzUxNTQwLjg0NjM1OTcsIDQ3MzMxLCAxLjY2NzI4OTg1MzA5NjAwODNdLCBbMTY2Mzc1MTU0MS4xNjQxMDk1LCA0NzM2NywgMS41NjI1NDMyNzI5NzIxMDddLCBbMTY2Mzc1MTU0MS4zOTQ0NTE0LCA0NzM5NCwgMS4zMzYyMzk5MzM5Njc1OTAzXSwgWzE2NjM3NTE1NDIuNDE2NTUsIDQ3NTAyLCAxLjgzNzQzMDQ3NzE0MjMzNF0sIFsxNjYzNzUxNTQzLjEyOTU2OCwgNDc1ODMsIDEuODk2MTU3OTc5OTY1MjFdLCBbMTY2Mzc1MTU0My44NjIzNDIsIDQ3NjI4LCAxLjQ5NTcyODk2OTU3Mzk3NDZdLCBbMTY2Mzc1MTU0NC4wNDkzMzcxLCA0NzY0NiwgMS41NjE0OTgwNDU5MjEzMjU3XSwgWzE2NjM3NTE1NDQuMjQ0NDAwNywgNDc2NjQsIDEuNTk0NDc1Mzg4NTI2OTE2NV0sIFsxNjYzNzUxNTQ0LjQ0MTk3NywgNDc2ODIsIDEuNjIwOTQxODc3MzY1MTEyM10sIFsxNjYzNzUxNTQ1LjExNjMyMjUsIDQ3NzQ1LCAxLjY3Nzk0OTA3MDkzMDQ4MV0sIFsxNjYzNzUxNTQ2LjE1NDc1MjMsIDQ3ODcxLCAxLjU1ODQzMTk4Mjk5NDA3OTZdLCBbMTY2Mzc1MTU0Ni4yMjkzMzksIDQ3ODgwLCAxLjU2MTQ3NTYzNDU3NDg5MDFdLCBbMTY2Mzc1MTU0Ni40NjE4MjA2LCA0NzkwNywgMS41NTE3NzYwNTE1MjEzMDEzXSwgWzE2NjM3NTE1NDYuNjE3ODgxLCA0NzkyNSwgMS41NzAyNjM1MDQ5ODE5OTQ2XSwgWzE2NjM3NTE1NDYuODkyODY0LCA0Nzk2MSwgMS40NTk1MTc1OTgxNTIxNjA2XSwgWzE2NjM3NTE1NDYuOTYyNzUyMywgNDc5NzAsIDEuNTMxNDM5NDIzNTYxMDk2Ml0sIFsxNjYzNzUxNTQ3LjY1MzUyMSwgNDgwMTUsIDEuNDg1MzMyNzI3NDMyMjUxXSwgWzE2NjM3NTE1NDcuODQyNjQ4LCA0ODAzMywgMS41MDEwNTYwNzUwOTYxMzA0XSwgWzE2NjM3NTE1NDguMDQwNzMxLCA0ODA1MSwgMS41NTMwMTQzOTc2MjExNTQ4XSwgWzE2NjM3NTE1NDguNDkyOTIxLCA0ODA5NiwgMS41Njk4NTQ3MzYzMjgxMjVdLCBbMTY2Mzc1MTU1MC4wOTExNDU4LCA0ODI2NywgMS42MDg4MzMzMTI5ODgyODEyXSwgWzE2NjM3NTE1NTAuNTk2OTk0OSwgNDgzMjEsIDEuNjU5ODMxMTY2MjY3Mzk1XSwgWzE2NjM3NTE1NTAuNzM1NTg1NSwgNDgzMzksIDEuNDkwNjg4NTYyMzkzMTg4NV0sIFsxNjYzNzUxNTUwLjk0OTkyMTQsIDQ4MzY2LCAxLjk5MDc4MzgxMDYxNTUzOTZdLCBbMTY2Mzc1MTU1MS43OTg3OTc0LCA0ODQ0NywgMS41NDg4NDAxNjUxMzgyNDQ2XSwgWzE2NjM3NTE1NTIuNzcwNTA1NCwgNDg1NDYsIDEuODk1ODI4MDA4NjUxNzMzNF0sIFsxNjYzNzUxNTUyLjk2NjYwMTQsIDQ4NTY0LCAxLjUwMDk0ODMwOTg5ODM3NjVdLCBbMTY2Mzc1MTU1My42MDUzOTEsIDQ4NjI3LCAxLjU1NTc4Mjc5NDk1MjM5MjZdLCBbMTY2Mzc1MTU1My42OTQzMTU3LCA0ODYzNiwgMS43Mzg5NzU0MDU2OTMwNTQyXSwgWzE2NjM3NTE1NTMuOTgzMTgwOCwgNDg2NzIsIDEuODU0OTgzMzI5NzcyOTQ5Ml0sIFsxNjYzNzUxNTU0Ljc0MjY3NTMsIDQ4NzYyLCAxLjU4NDg4NTAwMTE4MjU1NjJdLCBbMTY2Mzc1MTU1NC45MjYxMzksIDQ4NzgwLCAyLjAwNDkzMjE2NTE0NTg3NF0sIFsxNjYzNzUxNTU1LjMwMzA4NiwgNDg4MjUsIDEuNjMwNjQ1NTEzNTM0NTQ2XSwgWzE2NjM3NTE1NTUuNjA3MDUxLCA0ODg2MSwgMS44NDU5NTk3ODI2MDA0MDI4XSwgWzE2NjM3NTE1NTYuMjcwNDUxNSwgNDg5MjQsIDEuNjk2MjkxNjg1MTA0MzcwMV0sIFsxNjYzNzUxNTU3LjIzMDEyNzgsIDQ5MDE0LCAxLjQ5ODUwODkzMDIwNjI5ODhdLCBbMTY2Mzc1MTU1Ny40MzAwODU0LCA0OTAzMiwgMS4zNTgwMzI5NDE4MTgyMzczXSwgWzE2NjM3NTE1NTcuNTMwODk3NCwgNDkwNDEsIDEuNTEzMzI3MzYwMTUzMTk4Ml0sIFsxNjYzNzUxNTU3Ljg3ODUzMDcsIDQ5MDc3LCAxLjUxMjA5MTM5ODIzOTEzNTddLCBbMTY2Mzc1MTU1OC4wNTA5OTQ0LCA0OTA5NSwgMS42NDUzMjUzMDMwNzc2OTc4XSwgWzE2NjM3NTE1NTguMjA3MjExMywgNDkxMTMsIDEuMzQxNjU1MzczNTczMzAzMl0sIFsxNjYzNzUxNTU4LjMwNTMyNTMsIDQ5MTIyLCAxLjgyMTY1NzY1NzYyMzI5MV0sIFsxNjYzNzUxNTU4LjY2NjkyNSwgNDkxNDAsIDEuNDQzNTMzMTgyMTQ0MTY1XSwgWzE2NjM3NTE1NTkuMTcxODc5OCwgNDkyMDMsIDEuNDM5MjkyMDczMjQ5ODE3XSwgWzE2NjM3NTE1NTkuNDY3ODAwNiwgNDkyMzksIDEuNTg5NzAxMTc1Njg5Njk3M10sIFsxNjYzNzUxNTYxLjY2OTI4NzcsIDQ5NDczLCAxLjQ5OTg4NjM5MzU0NzA1OF0sIFsxNjYzNzUxNTYxLjgxNzA1OTgsIDQ5NDkxLCAxLjUwMTM3OTAxMzA2MTUyMzRdLCBbMTY2Mzc1MTU2Mi4yMzA1MTQzLCA0OTU0NSwgMS41OTkzODkwNzYyMzI5MTAyXSwgWzE2NjM3NTE1NjIuNDMxOTEzNCwgNDk1NzIsIDEuNjU2MzI4OTE2NTQ5NjgyNl0sIFsxNjYzNzUxNTYyLjUwOTUzNTgsIDQ5NTgxLCAxLjU1NTcwMTM3NTAwNzYyOTRdLCBbMTY2Mzc1MTU2Mi41ODU2NDQ1LCA0OTU5MCwgMS42NDQyNTkwOTUxOTE5NTU2XSwgWzE2NjM3NTE1NjIuNjY1NjM1MywgNDk1OTksIDEuNDkxOTE2Nzc1NzAzNDMwMl0sIFsxNjYzNzUxNTYzLjE3MTkzOSwgNDk2NjIsIDEuNTAwNDQyNTA0ODgyODEyNV0sIFsxNjYzNzUxNTYzLjQ1NjQ5NTUsIDQ5Njk4LCAxLjY4NDc0OTEyNjQzNDMyNjJdLCBbMTY2Mzc1MTU2My42MTQ3Nzc2LCA0OTcxNiwgMS41MzY0MDM2NTYwMDU4NTk0XSwgWzE2NjM3NTE1NjMuODQyMzk2MywgNDk3NDMsIDEuNTIxNjk2NDQ4MzI2MTEwOF0sIFsxNjYzNzUxNTY1LjgxMTIyMjMsIDQ5OTE0LCAxLjM4NzgwMzU1NDUzNDkxMl0sIFsxNjYzNzUxNTY2LjM0ODc3NCwgNDk5NzcsIDEuNDAzMjMzNjQ3MzQ2NDk2Nl0sIFsxNjYzNzUxNTY2LjQ4OTMzODYsIDQ5OTk1LCAxLjUxNDI4NDM3MjMyOTcxMl0sIFsxNjYzNzUxNTY2LjcwNTYyNTgsIDUwMDIyLCAxLjQwNTY0NzI3NzgzMjAzMTJdLCBbMTY2Mzc1MTU2Ny40MzY1MzMsIDUwMTEyLCAxLjUwMDMzNTgxMjU2ODY2NDZdLCBbMTY2Mzc1MTU2Ny42MzI5Nzg0LCA1MDEzOSwgMS41MzkzNTY3MDg1MjY2MTEzXSwgWzE2NjM3NTE1NjguMTk3MzM1NywgNTAxODQsIDEuNTQ4OTY1NDU0MTAxNTYyNV0sIFsxNjYzNzUxNTY4LjYxNDY2MjYsIDUwMjIwLCAxLjcxNjU2OTU0Mjg4NDgyNjddLCBbMTY2Mzc1MTU3MC42ODMyMTI1LCA1MDQ0NSwgMS41NjEzNTc4NTU3OTY4MTRdLCBbMTY2Mzc1MTU3MS4wMjAwMTEyLCA1MDQ4MSwgMS41MDQ4Njg4NjUwMTMxMjI2XSwgWzE2NjM3NTE1NzEuOTI4NjAzLCA1MDU4OSwgMS41NzU1OTUzNzg4NzU3MzI0XV0=","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_03-17-04_63b6388f5f34&tag=Loss%2Ftrain":{"data":"W1sxNjYzNzMwMjI0LjE3MDkxNjMsIDksIDY2LjYyNDQyMDE2NjAxNTYyXSwgWzE2NjM3MzAyMjQuMzc0Mjk0NSwgMjcsIDM0LjY2NTI1MjY4NTU0Njg3NV0sIFsxNjYzNzMwMjI0LjQ4NTMzOTIsIDM2LCAyOS45ODU0OTA3OTg5NTAxOTVdLCBbMTY2MzczMDIyNC41OTIxMTQsIDQ1LCAyNS45NDExNDY4NTA1ODU5MzhdLCBbMTY2MzczMDIyNS4yNTk0NzE0LCA5OSwgOS40NzU5MjA2NzcxODUwNTldLCBbMTY2MzczMDIyNS4zNzQ3NTksIDEwOCwgNy45NjAwMDI4OTkxNjk5MjJdLCBbMTY2MzczMDIyNS44NjIwMjI0LCAxMzUsIDYuNDY5MzIyNjgxNDI3MDAyXSwgWzE2NjM3MzAyMjUuOTY1MTI0LCAxNDQsIDYuNDcyODg4NDY5Njk2MDQ1XSwgWzE2NjM3MzAyMjYuMzEwMDQzOCwgMTcxLCA2LjE3MzI4MTY2OTYxNjY5OV0sIFsxNjYzNzMwMjI2LjQxNjU2MDIsIDE4MCwgNS45OTcwOTQxNTQzNTc5MV0sIFsxNjYzNzMwMjI2LjUyNDQyMywgMTg5LCA2LjAyMDMxNTE3MDI4ODA4Nl0sIFsxNjYzNzMwMjI2LjczNDUzNzEsIDIwNywgNS45MDExMzM1MzcyOTI0ODA1XSwgWzE2NjM3MzAyMjYuODQ0MjIwNiwgMjE2LCA1Ljc3NTI0MTM3NDk2OTQ4Ml0sIFsxNjYzNzMwMjI3LjIwMzAwNjMsIDI0MywgNS42MTgwMDE0NjEwMjkwNTNdLCBbMTY2MzczMDIyNy4zMTA3Nzg5LCAyNTIsIDUuNDkxODkxODYwOTYxOTE0XSwgWzE2NjM3MzAyMjcuNTIzNjk0OCwgMjcwLCA1LjQwMzkyMzUxMTUwNTEyN10sIFsxNjYzNzMwMjI3Ljk4NDU3NSwgMzA2LCA1LjIzMDQyMzkyNzMwNzEyOV0sIFsxNjYzNzMwMjI4LjEwNzAyMDYsIDMxNSwgNS4yMTQyMzI0NDQ3NjMxODRdLCBbMTY2MzczMDIyOC4zMjM0Mjk4LCAzMzMsIDUuMTQ1ODA0ODgyMDQ5NTYwNV0sIFsxNjYzNzMwMjI4LjQzNzg3MzQsIDM0MiwgNC45OTMyMTM2NTM1NjQ0NTNdLCBbMTY2MzczMDIyOC41NTQxOTYxLCAzNTEsIDUuMDI2OTM0MTQ2ODgxMTAzNV0sIFsxNjYzNzMwMjI4LjY4NzUyMzYsIDM2MCwgNS4wMTE1NDE4NDM0MTQzMDddLCBbMTY2MzczMDIyOC43OTUwODY5LCAzNjksIDQuODM4ODgxNDkyNjE0NzQ2XSwgWzE2NjM3MzAyMjkuNTI4ODU2OCwgNDMyLCA0LjU1OTU1NTA1MzcxMDkzNzVdLCBbMTY2MzczMDIyOS42MzIzMjMzLCA0NDEsIDQuNTA1MzgzMDE0Njc4OTU1XSwgWzE2NjM3MzAyMjkuNzQ2ODM1NSwgNDUwLCA0LjQ2NzQ4NjM4MTUzMDc2Ml0sIFsxNjYzNzMwMjI5Ljk4MTM0MDYsIDQ2OCwgNC4zNjYwNjA3MzM3OTUxNjZdLCBbMTY2MzczMDIzMC4xMDM2NTM0LCA0NzcsIDQuMzIxMDE0NDA0Mjk2ODc1XSwgWzE2NjM3MzAyMzAuMjk3NzAwNCwgNDk1LCA0LjI0MDY3OTI2NDA2ODYwMzVdLCBbMTY2MzczMDIzMC4zOTU5MjksIDUwNCwgNC4yNDgyOTcyMTQ1MDgwNTddLCBbMTY2MzczMDIzMC42MjM2MjM4LCA1MjIsIDQuMTM1MTYwOTIzMDA0MTVdLCBbMTY2MzczMDIzMC45ODI0NjQsIDU0OSwgMy45ODgwOTkwOTgyMDU1NjY0XSwgWzE2NjM3MzAyMzEuMTA3NjYzNCwgNTU4LCAzLjk4MzAyMzg4MTkxMjIzMTRdLCBbMTY2MzczMDIzMS4yMTU1NjI4LCA1NjcsIDMuOTA2OTI2MTU1MDkwMzMyXSwgWzE2NjM3MzAyMzEuMzIwMzM0NCwgNTc2LCAzLjg3OTYwNjk2MjIwMzk3OTVdLCBbMTY2MzczMDIzMS41NTA1MjE0LCA1OTQsIDMuNzYwMDg0NjI5MDU4ODM4XSwgWzE2NjM3MzAyMzEuNjU1MzgzOCwgNjAzLCAzLjc3NDA3MjQwODY3NjE0NzVdLCBbMTY2MzczMDIzMS43ODA5MjQ2LCA2MTIsIDMuNzQyNzgwMjA4NTg3NjQ2NV0sIFsxNjYzNzMwMjMxLjg5NTc5MTUsIDYyMSwgMy43MjA3NTEwNDcxMzQzOTk0XSwgWzE2NjM3MzAyMzIuMTA3ODgyNywgNjM5LCAzLjY1NjkzNzM2MDc2MzU1XSwgWzE2NjM3MzAyMzIuMjEyNTQzNywgNjQ4LCAzLjYxMzIxMzUzOTEyMzUzNV0sIFsxNjYzNzMwMjMyLjg2NzIxMSwgNzAyLCAzLjQwMjY2ODcxNDUyMzMxNTRdLCBbMTY2MzczMDIzMy4wODM5OTMyLCA3MjAsIDMuMzg5MjI2OTEzNDUyMTQ4NF0sIFsxNjYzNzMwMjMzLjE5ODUyMSwgNzI5LCAzLjM2OTQ5ODQ5MTI4NzIzMTRdLCBbMTY2MzczMDIzMy4zOTA0NzM0LCA3NDcsIDMuMjY2NTA4MzQwODM1NTcxM10sIFsxNjYzNzMwMjMzLjQ4MzQ2OTUsIDc1NiwgMy4zMjYwNzUwNzcwNTY4ODQ4XSwgWzE2NjM3MzAyMzMuNjU0MzI0OCwgNzc0LCAzLjE2OTg3MzQ3NjAyODQ0MjRdLCBbMTY2MzczMDIzMy43NDU3MzAyLCA3ODMsIDMuMTU2MzUwMzc0MjIxODAxOF0sIFsxNjYzNzMwMjM0LjAxNjQxLCA4MTAsIDMuMDYxNjYyNjczOTUwMTk1M10sIFsxNjYzNzMwMjM0LjExMjI4MDYsIDgxOSwgMy4wNzMyNjY3NDQ2MTM2NDc1XSwgWzE2NjM3MzAyMzQuNTgxMjk1NywgODY0LCAyLjg4NjY0OTg0NzAzMDYzOTZdLCBbMTY2MzczMDIzNC45MTkwNDU3LCA5MDAsIDIuODQ1NzMzODgwOTk2NzA0XSwgWzE2NjM3MzAyMzUuMDAxNDU3MiwgOTA5LCAyLjgyMTk0NzU3NDYxNTQ3ODVdLCBbMTY2MzczMDIzNS42Mzg4MTYsIDkzNiwgMi43Mzk0MTcwNzYxMTA4NF0sIFsxNjYzNzMwMjM1Ljk0MzA1MDEsIDk2MywgMi42NzcyNTgwMTQ2Nzg5NTVdLCBbMTY2MzczMDIzNi4wNDE2MjI5LCA5NzIsIDIuNjUxNjE1MTQyODIyMjY1Nl0sIFsxNjYzNzMwMjM2LjIyODU3NzQsIDk5MCwgMi42NTk1OTUyNTEwODMzNzRdLCBbMTY2MzczMDIzNi4zMjM2NzA2LCA5OTksIDIuNjQ3NTc4NzE2Mjc4MDc2XSwgWzE2NjM3MzAyMzYuNjkxNzAyOCwgMTAzNSwgMi42Mjc1MjI3MDY5ODU0NzM2XSwgWzE2NjM3MzAyMzYuOTA3NTk4NywgMTA1MywgMi41MDE1MTg5NjQ3Njc0NTZdLCBbMTY2MzczMDIzNy4zNTA5MDk1LCAxMDk4LCAyLjQ2MjQ4NjI2NzA4OTg0MzhdLCBbMTY2MzczMDIzNy43NTcyNzY4LCAxMTM0LCAyLjM5NDQ3NDI2Nzk1OTU5NDddLCBbMTY2MzczMDIzNy44NTgyNTQyLCAxMTQzLCAyLjQyMDg3NDM1NzIyMzUxMDddLCBbMTY2MzczMDIzOC4wNTk3NzMsIDExNjEsIDIuMzc0MDU1Mzg1NTg5NTk5Nl0sIFsxNjYzNzMwMjM4LjE0NjQxNzQsIDExNzAsIDIuMzg5NzU3Mzk0NzkwNjQ5NF0sIFsxNjYzNzMwMjM4LjIzMzIyOTIsIDExNzksIDIuNDIxMTYwMjIxMDk5ODUzNV0sIFsxNjYzNzMwMjM4LjMyMTA5MjEsIDExODgsIDIuMzUzNjY0ODc1MDMwNTE3Nl0sIFsxNjYzNzMwMjM4LjQwNzQzNjEsIDExOTcsIDIuMzM4NDcyODQzMTcwMTY2XSwgWzE2NjM3MzAyMzguNjY0MDc4LCAxMjE1LCAyLjI5OTU4MTc2NjEyODU0XSwgWzE2NjM3MzAyMzguODUzNDg5NiwgMTIzMywgMi4zMTg3OTI1ODE1NTgyMjc1XSwgWzE2NjM3MzAyMzguOTM5NDM0LCAxMjQyLCAyLjI5NjAzMTIzNjY0ODU1OTZdLCBbMTY2MzczMDIzOS41MTE0MDc5LCAxMjk2LCAyLjI0Njk1OTkyNDY5Nzg3Nl0sIFsxNjYzNzMwMjM5LjYwNjYyOTEsIDEzMDUsIDIuMjI1MTI5NjA0MzM5NTk5Nl0sIFsxNjYzNzMwMjM5Ljc4MzEwNTYsIDEzMjMsIDIuMjg2NTM2NDU1MTU0NDE5XSwgWzE2NjM3MzAyMzkuODkxODcwMywgMTMzMiwgMi4yNjEzMTcwMTQ2OTQyMTRdLCBbMTY2MzczMDI0MC4xODU4ODc4LCAxMzU5LCAyLjIwNjYwNTE5NTk5OTE0NTVdLCBbMTY2MzczMDI0MC44MzM0NTA2LCAxNDIyLCAyLjE2ODk0NTU1MDkxODU3OV0sIFsxNjYzNzMwMjQxLjAxMTIzOTgsIDE0NDAsIDIuMjE4MDgyOTA0ODE1Njc0XSwgWzE2NjM3MzAyNDEuMTA2MTk3NiwgMTQ0OSwgMi4xNzE5NDk2MjUwMTUyNTldLCBbMTY2MzczMDI0MS4yOTI4NDgzLCAxNDY3LCAyLjI1NzE5NDUxOTA0Mjk2ODhdLCBbMTY2MzczMDI0MS40ODQ3NjA4LCAxNDg1LCAyLjIyNzc4NzI1NjI0MDg0NDddLCBbMTY2MzczMDI0MS42NjgwODcyLCAxNTAzLCAyLjEzMzYzMDc1MjU2MzQ3NjZdLCBbMTY2MzczMDI0Mi4wMjk1ODc3LCAxNTM5LCAyLjA4ODY1OTUyNDkxNzYwMjVdLCBbMTY2MzczMDI0Mi4xMjI0MDY1LCAxNTQ4LCAyLjA3ODkwMzY3NTA3OTM0NTddLCBbMTY2MzczMDI0Mi4yMTM1NDc3LCAxNTU3LCAyLjEyMzg4MDYyNDc3MTExOF0sIFsxNjYzNzMwMjQyLjQ4MzQ5NTcsIDE1ODQsIDIuMTI3NDIyODA5NjAwODNdLCBbMTY2MzczMDI0Mi41NzAzODQ1LCAxNTkzLCAyLjA5ODE0NzYzMDY5MTUyODNdLCBbMTY2MzczMDI0Mi42NTgxMzYsIDE2MDIsIDIuMDYxMjc0MjkwMDg0ODM5XSwgWzE2NjM3MzAyNDIuNzQyNzQ0NywgMTYxMSwgMi4wNDA5NDAyODQ3MjkwMDRdLCBbMTY2MzczMDI0Mi45MDkwNzAzLCAxNjI5LCAyLjA3NjYyNzI1NDQ4NjA4NF0sIFsxNjYzNzMwMjQzLjAwNDUxMDIsIDE2MzgsIDIuMDk0Nzg1MjEzNDcwNDU5XSwgWzE2NjM3MzAyNDMuMzI1ODIsIDE2NjUsIDIuMDc2NDEzNjMxNDM5MjA5XSwgWzE2NjM3MzAyNDMuNjQ3ODM1MywgMTY3NCwgMi4wNjA0MzMxNDkzMzc3Njg2XSwgWzE2NjM3MzAyNDMuNzM3MTE0NCwgMTY4MywgMi4wODg0MjQ2ODI2MTcxODc1XSwgWzE2NjM3MzAyNDMuOTg4NzUwNywgMTcxMCwgMi4wNjMzNDM1MjQ5MzI4NjEzXSwgWzE2NjM3MzAyNDQuMDc0NDA1NywgMTcxOSwgMi4wMjMzNTU5NjA4NDU5NDczXSwgWzE2NjM3MzAyNDQuMTc0MjgxNCwgMTcyOCwgMi4wNDU0NTkyNzA0NzcyOTVdLCBbMTY2MzczMDI0NC4yNjYzODEzLCAxNzM3LCAyLjAyNjQxOTQwMTE2ODgyMzJdLCBbMTY2MzczMDI0NC41NTExODc1LCAxNzY0LCAyLjEwMDMzMjczNjk2ODk5NF0sIFsxNjYzNzMwMjQ0LjgxNDg1MDgsIDE3OTEsIDEuOTg3ODMzNjE5MTE3NzM2OF0sIFsxNjYzNzMwMjQ0LjkwODMxNiwgMTgwMCwgMS45ODQ5MDgzNDIzNjE0NTAyXSwgWzE2NjM3MzAyNDQuOTk1NjgwNiwgMTgwOSwgMi4wMDg2NTE3MzMzOTg0Mzc1XSwgWzE2NjM3MzAyNDUuMTgxNTA3NiwgMTgyNywgMi4wMTY4NTE5MDIwMDgwNTY2XSwgWzE2NjM3MzAyNDUuMjY3NDQ5NCwgMTgzNiwgMS45OTMxMjgwNjEyOTQ1NTU3XSwgWzE2NjM3MzAyNDUuMzU3MjY3NiwgMTg0NSwgMS45NzYzOTA3MTk0MTM3NTczXSwgWzE2NjM3MzAyNDUuNDQxNjEwNiwgMTg1NCwgMi4wMDc0MjI5MjQwNDE3NDhdLCBbMTY2MzczMDI0NS42MTM0MTMzLCAxODcyLCAxLjk3ODc3Mjg3ODY0Njg1MDZdLCBbMTY2MzczMDI0NS43ODY2NzYsIDE4OTAsIDIuMDQzMjE3ODk3NDE1MTYxXSwgWzE2NjM3MzAyNDUuOTY1NjI3MiwgMTkwOCwgMS45NjUyNjYzNDY5MzE0NTc1XSwgWzE2NjM3MzAyNDYuMTU1NjY4LCAxOTI2LCAxLjk4NzIxODM3OTk3NDM2NTJdLCBbMTY2MzczMDI0Ni4zMzc3MDgyLCAxOTQ0LCAxLjk1MDAxMzg3NTk2MTMwMzddLCBbMTY2MzczMDI0Ni40MjU3NTg0LCAxOTUzLCAxLjk1OTQ0MzA5MjM0NjE5MTRdLCBbMTY2MzczMDI0Ni41OTg3NzA5LCAxOTcxLCAyLjAyNDk5MTk4OTEzNTc0Ml0sIFsxNjYzNzMwMjQ2LjY4NjczOTIsIDE5ODAsIDEuOTQ4Nzg0ODI4MTg2MDM1Ml0sIFsxNjYzNzMwMjQ2Ljc3MDgxMjMsIDE5ODksIDIuMDI3ODQwODUyNzM3NDI2OF0sIFsxNjYzNzMwMjQ2Ljg1Nzk4MzYsIDE5OTgsIDEuOTgxMjk2Nzc3NzI1MjE5N10sIFsxNjYzNzMwMjQ3LjAwNTYyNzYsIDIwMDcsIDIuMDI4MzU0MTY3OTM4MjMyNF0sIFsxNjYzNzMwMjQ3LjI2MDk2LCAyMDI1LCAxLjkzMDUwMjg5MTU0MDUyNzNdLCBbMTY2MzczMDI0Ny40MjM4NDM2LCAyMDM0LCAxLjk1ODUxNjk1NTM3NTY3MTRdLCBbMTY2MzczMDI0Ny44NTUzODM0LCAyMDcwLCAxLjkwOTg3ODYxMTU2NDYzNjJdLCBbMTY2MzczMDI0OC4xNzM1MjMsIDIwOTcsIDEuOTE3MDQzMzI4Mjg1MjE3M10sIFsxNjYzNzMwMjQ4LjQ3MjM0NDksIDIxMjQsIDEuODg2MjA0NDgxMTI0ODc4XSwgWzE2NjM3MzAyNDguNjQ0NjY3NCwgMjE0MiwgMS44Nzc2MjU0NjUzOTMwNjY0XSwgWzE2NjM3MzAyNDguNzI5ODI1NywgMjE1MSwgMS45Mjk2MTA4NDg0MjY4MTg4XSwgWzE2NjM3MzAyNDguODE1MDUxLCAyMTYwLCAxLjg4NDcyMzU0NDEyMDc4ODZdLCBbMTY2MzczMDI0OC45ODcwOTAzLCAyMTc4LCAxLjkyNDgzNzcwODQ3MzIwNTZdLCBbMTY2MzczMDI0OS4wODI5MTg2LCAyMTg3LCAxLjg2ODEzOTg2MzAxNDIyMTJdLCBbMTY2MzczMDI0OS4yNjMyMzk0LCAyMjA1LCAxLjg2NjgwMjQ1Mzk5NDc1MV0sIFsxNjYzNzMwMjQ5LjM1NDg5MDMsIDIyMTQsIDEuODczOTU1MTMwNTc3MDg3NF0sIFsxNjYzNzMwMjQ5LjQzOTA2ODMsIDIyMjMsIDEuODk2MTI1NDM1ODI5MTYyNl0sIFsxNjYzNzMwMjQ5LjUyNTg2OTgsIDIyMzIsIDEuODgwMDI4NDg2MjUxODMxXSwgWzE2NjM3MzAyNDkuOTY2NjA0MiwgMjI3NywgMS44NTcwMjA2MTY1MzEzNzJdLCBbMTY2MzczMDI1MC4wNTk1MDE0LCAyMjg2LCAxLjg2NjQ0NDExMDg3MDM2MTNdLCBbMTY2MzczMDI1MC4xNTQzOTA2LCAyMjk1LCAxLjg1OTk0NjM3MDEyNDgxN10sIFsxNjYzNzMwMjUwLjQzMzE3MzIsIDIzMjIsIDEuODQzOTIyODUzNDY5ODQ4Nl0sIFsxNjYzNzMwMjUwLjUyMjE1MSwgMjMzMSwgMS44Njg1NDczMjAzNjU5MDU4XSwgWzE2NjM3MzAyNTAuNjQyMzc3NCwgMjM0MCwgMS44NzkxNTE5NDAzNDU3NjQyXSwgWzE2NjM3MzAyNTAuNzQ3MTkwNSwgMjM0OSwgMS45MDQwMzIzNDk1ODY0ODY4XSwgWzE2NjM3MzAyNTAuOTc4Njg1LCAyMzY3LCAxLjg5MDg1OTg0MjMwMDQxNV0sIFsxNjYzNzMwMjUyLjE4NjcxMDEsIDI0MzksIDEuODM2OTMzNzMyMDMyNzc1OV0sIFsxNjYzNzMwMjUyLjI4NjMxOCwgMjQ0OCwgMS44NDI1MDM1NDc2Njg0NTddLCBbMTY2MzczMDI1Mi41NjE0NDk1LCAyNDc1LCAxLjc4OTIzMDk0MjcyNjEzNTNdLCBbMTY2MzczMDI1Mi42NTIwNjM0LCAyNDg0LCAxLjgzOTA5NDUxOTYxNTE3MzNdLCBbMTY2MzczMDI1Mi43NzM1NTIsIDI0OTMsIDEuODQ2MDYwMDM3NjEyOTE1XSwgWzE2NjM3MzAyNTIuOTUzMTY3LCAyNTExLCAyLjA4OTY5NzM2MDk5MjQzMTZdLCBbMTY2MzczMDI1My4xNjc4ODg0LCAyNTI5LCAxLjkxNTI4NjMwMjU2NjUyODNdLCBbMTY2MzczMDI1My4zNTE0MTU2LCAyNTQ3LCAxLjc4MDY3NTg4ODA2MTUyMzRdLCBbMTY2MzczMDI1My40NDIxNDQ5LCAyNTU2LCAxLjgzODEzNzUwNzQzODY1OTddLCBbMTY2MzczMDI1My42MjY1MTc4LCAyNTc0LCAxLjc2NDE0Nzc1ODQ4Mzg4NjddLCBbMTY2MzczMDI1My44MDU5MTU0LCAyNTkyLCAxLjc2ODg5MTgxMTM3MDg0OTZdLCBbMTY2MzczMDI1My44OTQxMzY0LCAyNjAxLCAxLjgxNTI2MTk2MDAyOTYwMl0sIFsxNjYzNzMwMjU0LjA2NjMzOTMsIDI2MTksIDEuNzg0OTAxMzgwNTM4OTQwNF0sIFsxNjYzNzMwMjU0LjUxOTI1MjMsIDI2NjQsIDEuODQ4MDA3NDQwNTY3MDE2Nl0sIFsxNjYzNzMwMjU0LjYwNTk0NDQsIDI2NzMsIDEuNzY5ODQ4NTg1MTI4Nzg0Ml0sIFsxNjYzNzMwMjU0LjY5NjQyNzMsIDI2ODIsIDEuNzQ1NTQzMjQxNTAwODU0NV0sIFsxNjYzNzMwMjU0Ljc4NzU2NjIsIDI2OTEsIDEuNzI5MTE3MzkzNDkzNjUyM10sIFsxNjYzNzMwMjU0Ljg3NTQ4MDIsIDI3MDAsIDEuNzM4MzI0MTY1MzQ0MjM4M10sIFsxNjYzNzMwMjU1LjMyMTA3OCwgMjc0NSwgMS43ODIxMTc2MDUyMDkzNTA2XSwgWzE2NjM3MzAyNTUuNTQyNTAyNCwgMjc2MywgMS43ODM2OTE1MjU0NTkyODk2XSwgWzE2NjM3MzAyNTUuNjU3Mzg1LCAyNzcyLCAxLjc2OTM1MTYwMTYwMDY0N10sIFsxNjYzNzMwMjU1Ljc4MjQ3NDgsIDI3ODEsIDEuNzQ0NDY1NDcwMzE0MDI1OV0sIFsxNjYzNzMwMjU1Ljg3NjQ5MjMsIDI3OTAsIDEuNzg4ODc0ODY0NTc4MjQ3XSwgWzE2NjM3MzAyNTYuMTUxOTc2NiwgMjgxNywgMS43MjI1OTA5MjMzMDkzMjYyXSwgWzE2NjM3MzAyNTYuMjU3MzQ1NCwgMjgyNiwgMS43OTA2MTg3NzcyNzUwODU0XSwgWzE2NjM3MzAyNTYuNTgxMTU3MiwgMjg1MywgMS43MDMzMjM5NjAzMDQyNjAzXSwgWzE2NjM3MzAyNTYuNzU3MjA2MiwgMjg3MSwgMS43NjIxMzY2OTc3NjkxNjVdLCBbMTY2MzczMDI1Ni44NDUwNjcsIDI4ODAsIDEuNzYzNzkxNjgwMzM1OTk4NV0sIFsxNjYzNzMwMjU3LjE4MzA3OSwgMjkwNywgMS42OTY0NTg0NTg5MDA0NTE3XSwgWzE2NjM3MzAyNTcuNDEyNDg5NCwgMjkyNSwgMS43MTgzMDc4NTI3NDUwNTYyXSwgWzE2NjM3MzAyNTcuODY1NjA4LCAyOTcwLCAxLjcyODc3MTkyNDk3MjUzNDJdLCBbMTY2MzczMDI1Ny45NjMzNTA4LCAyOTc5LCAxLjcyNjY0MzA4NTQ3OTczNjNdLCBbMTY2MzczMDI1OC4wNTI0ODYyLCAyOTg4LCAxLjc2NTM4NzUzNTA5NTIxNDhdLCBbMTY2MzczMDI1OC4xNDk2MDA1LCAyOTk3LCAxLjc1NTY4OTYyMDk3MTY3OTddLCBbMTY2MzczMDI1OC4yMzg4NzM1LCAzMDA2LCAxLjcxNTE4MjE4NTE3MzAzNDddLCBbMTY2MzczMDI1OC42MDMzNjk1LCAzMDQyLCAxLjY3MTY5NDI3ODcxNzA0MV0sIFsxNjYzNzMwMjU4LjY5MjUyNzMsIDMwNTEsIDEuNjYzMTQ3MzMwMjg0MTE4N10sIFsxNjYzNzMwMjU4Ljg5MTc2ODcsIDMwNjksIDEuNjk3MDI1NTM3NDkwODQ0N10sIFsxNjYzNzMwMjU5LjE1ODE3NDgsIDMwOTYsIDEuNzQ3MjcxMjk5MzYyMTgyNl0sIFsxNjYzNzMwMjU5LjI1NDg0NTYsIDMxMDUsIDEuNzQ5NjU2NTU4MDM2ODA0Ml0sIFsxNjYzNzMwMjU5LjMzODg0ODYsIDMxMTQsIDEuNjkzMjcwNTY0MDc5Mjg0N10sIFsxNjYzNzMwMjU5LjQzMzg4NDksIDMxMjMsIDEuNjg3MzQzNzE2NjIxMzk5XSwgWzE2NjM3MzAyNTkuNjY0MzYzLCAzMTQxLCAxLjY2NDg0NTU4NTgyMzA1OV0sIFsxNjYzNzMwMjU5Ljg1MTg5OTQsIDMxNTksIDEuNjg3NzAwMDMzMTg3ODY2Ml0sIFsxNjYzNzMwMjYwLjIyMTU0ODYsIDMxNzcsIDEuNzA0MjMwNzg1MzY5ODczXSwgWzE2NjM3MzAyNjAuMzA3MTM5OSwgMzE4NiwgMS43MzM4OTM1MTM2Nzk1MDQ0XSwgWzE2NjM3MzAyNjAuMzk3MDAyNSwgMzE5NSwgMS43Mzc5NzUzNTg5NjMwMTI3XSwgWzE2NjM3MzAyNjAuNDg4NzU3NiwgMzIwNCwgMS42ODE5NjQ4NzQyNjc1NzgxXSwgWzE2NjM3MzAyNjAuNjczOTgxNywgMzIyMiwgMS42NjMwMTM5MzUwODkxMTEzXSwgWzE2NjM3MzAyNjAuNzU4NDk4NywgMzIzMSwgMS42Njc0NTIzMzUzNTc2NjZdLCBbMTY2MzczMDI2MC45NzM2OTU4LCAzMjQ5LCAxLjczNTk1NzYyMjUyODA3NjJdLCBbMTY2MzczMDI2MS4xNDQxOTk4LCAzMjY3LCAxLjY3NTIwMDQ2MjM0MTMwODZdLCBbMTY2MzczMDI2MS4yMzcwMDIsIDMyNzYsIDEuNzA2MzA2NDU3NTE5NTMxMl0sIFsxNjYzNzMwMjYxLjMyNzY2OTksIDMyODUsIDEuNjYyMDA2MDIwNTQ1OTU5NV0sIFsxNjYzNzMwMjYxLjQxNTc2MiwgMzI5NCwgMS42NjY5MDAwMzg3MTkxNzcyXSwgWzE2NjM3MzAyNjEuNTA0NDYxNSwgMzMwMywgMS42Mzg2NjM3Njg3NjgzMTA1XSwgWzE2NjM3MzAyNjEuNjA0MzU0LCAzMzEyLCAxLjYyODY2MjIyODU4NDI4OTZdLCBbMTY2MzczMDI2MS43MDQ3NDk2LCAzMzIxLCAxLjY3OTI3ODk2OTc2NDcwOTVdLCBbMTY2MzczMDI2Mi4yMjQyOTMyLCAzMzc1LCAxLjYxODY0Mzg3OTg5MDQ0Ml0sIFsxNjYzNzMwMjYyLjMxMTAxNTQsIDMzODQsIDEuNjI2Nzg1ODc0MzY2NzYwM10sIFsxNjYzNzMwMjYyLjQ4MTUyODMsIDM0MDIsIDEuNjE2NjMzMjk2MDEyODc4NF0sIFsxNjYzNzMwMjYyLjU2NzAyNywgMzQxMSwgMS41OTkwNzU2NzUwMTA2ODEyXSwgWzE2NjM3MzAyNjIuOTE3Mzg3NSwgMzQ0NywgMS41OTM4MjExNjc5NDU4NjE4XSwgWzE2NjM3MzAyNjMuMTkzMTU4OSwgMzQ3NCwgMS42NDMzNDc4NTkzODI2Mjk0XSwgWzE2NjM3MzAyNjMuMjc5NjM3NiwgMzQ4MywgMS42OTczNTI1Mjg1NzIwODI1XSwgWzE2NjM3MzAyNjMuNjE5MDM0MywgMzUxMCwgMS42MTM4MzkzODc4OTM2NzY4XSwgWzE2NjM3MzAyNjMuNzUzNzc1LCAzNTE5LCAxLjYwODA1MTY1NzY3NjY5NjhdLCBbMTY2MzczMDI2My44NjUzMDMzLCAzNTI4LCAxLjY0NDE1ODcyMDk3MDE1MzhdLCBbMTY2MzczMDI2My45ODQyMTg0LCAzNTM3LCAxLjYyMjE4NzQ5NTIzMTYyODRdLCBbMTY2MzczMDI2NC4xMzMzNiwgMzU0NiwgMS42NDE0OTg0NDY0NjQ1Mzg2XSwgWzE2NjM3MzAyNjQuMjU2NDEsIDM1NTUsIDEuNjc2MDUxMjU5MDQwODMyNV0sIFsxNjYzNzMwMjY0LjM4NzM3MTMsIDM1NjQsIDEuNjgyMjMyMDIyMjg1NDYxNF0sIFsxNjYzNzMwMjY0LjUxNTQ3LCAzNTczLCAxLjcwNjkxOTQzMTY4NjQwMTRdLCBbMTY2MzczMDI2NC42MzY0NDY1LCAzNTgyLCAxLjYyNDE1MDc1MzAyMTI0MDJdLCBbMTY2MzczMDI2NC43MjY4MTU1LCAzNTkxLCAxLjU5MDMyODMzNTc2MjAyNF0sIFsxNjYzNzMwMjY0LjgxODQ3OSwgMzYwMCwgMS42MjQ4NDAyNTk1NTIwMDJdLCBbMTY2MzczMDI2NS4wMzE0MzksIDM2MTgsIDEuNjY3MjQ3NDE0NTg4OTI4Ml0sIFsxNjYzNzMwMjY1LjE0NDM0LCAzNjI3LCAxLjYxOTQ0NTMyMzk0NDA5MThdLCBbMTY2MzczMDI2NS4zNTA3MjIsIDM2NDUsIDEuNTc3MzU2ODE1MzM4MTM0OF0sIFsxNjYzNzMwMjY1LjU2MDU1NDMsIDM2NjMsIDEuNTkzMDIyNTg0OTE1MTYxMV0sIFsxNjYzNzMwMjY1Ljc4NzM4MjgsIDM2ODEsIDEuNTkzMzIzNTg4MzcxMjc2OV0sIFsxNjYzNzMwMjY1Ljg5ODI0MjcsIDM2OTAsIDEuNTYxMjIzMzg3NzE4MjAwN10sIFsxNjYzNzMwMjY2LjIyNzgzLCAzNzE3LCAxLjU5MTkxMjk4NDg0ODAyMjVdLCBbMTY2MzczMDI2Ni4zMzEwNDE2LCAzNzI2LCAxLjYxNzkwNTI1OTEzMjM4NTNdLCBbMTY2MzczMDI2Ni40MjA2MTgzLCAzNzM1LCAxLjU2OTY0NzA3Mzc0NTcyNzVdLCBbMTY2MzczMDI2Ni41MTQ5NDI2LCAzNzQ0LCAxLjU1ODk4MDEwNzMwNzQzNF0sIFsxNjYzNzMwMjY2Ljc5MDI0MiwgMzc3MSwgMS41NTQzMTE5OTA3Mzc5MTVdLCBbMTY2MzczMDI2Ni44NzY0OTg1LCAzNzgwLCAxLjYxMzA1MjQ4NzM3MzM1Ml0sIFsxNjYzNzMwMjY3LjA2MDUxMzMsIDM3OTgsIDEuNTg4NzYwMzc1OTc2NTYyNV0sIFsxNjYzNzMwMjY3LjE1MjQ0MTMsIDM4MDcsIDEuNTk4NTk4MTIyNTk2NzQwN10sIFsxNjYzNzMwMjY3LjQyMDU4MzUsIDM4MzQsIDEuNTcyOTgxODM0NDExNjIxXSwgWzE2NjM3MzAyNjcuNTE0Nzg4LCAzODQzLCAxLjU5Mjg0NzU4NTY3ODEwMDZdLCBbMTY2MzczMDI2OC4xNDQ0Mjg1LCAzODc5LCAxLjYxNjQzNTI4OTM4MjkzNDZdLCBbMTY2MzczMDI2OC4yMzA5MjU2LCAzODg4LCAxLjU4NTYzMTM3MDU0NDQzMzZdLCBbMTY2MzczMDI2OC41MDAxNTg4LCAzOTE1LCAxLjUyNzA2MzM2OTc1MDk3NjZdLCBbMTY2MzczMDI2OC41ODY3NTksIDM5MjQsIDEuNTUzNTYwNjE0NTg1ODc2NV0sIFsxNjYzNzMwMjY4LjY3NDIxOTgsIDM5MzMsIDEuNTI2MTk3OTEwMzA4ODM4XSwgWzE2NjM3MzAyNjguNzY2MDg1NiwgMzk0MiwgMS41MzY1NDkyMTA1NDg0MDA5XSwgWzE2NjM3MzAyNjguODU3MjY3MSwgMzk1MSwgMS41NTY2ODc0NzQyNTA3OTM1XSwgWzE2NjM3MzAyNjguOTQ3MjU1NiwgMzk2MCwgMS41NTU4MjExODAzNDM2MjhdLCBbMTY2MzczMDI2OS4wNDcwODA1LCAzOTY5LCAxLjU0OTQ3MzA0NzI1NjQ2OTddLCBbMTY2MzczMDI2OS4xNTE2OTI2LCAzOTc4LCAxLjUyMzgzNjg1MTExOTk5NTFdLCBbMTY2MzczMDI2OS4zMzIxOTU1LCAzOTk2LCAxLjU3NjkwMjk4NTU3MjgxNV0sIFsxNjYzNzMwMjY5LjQyMDQyMzUsIDQwMDUsIDEuNTY2MTAwNzE2NTkwODgxM10sIFsxNjYzNzMwMjY5LjU1NzAyNTIsIDQwMTQsIDEuNTc2MTE3ODczMTkxODMzNV0sIFsxNjYzNzMwMjY5LjY1OTk1NiwgNDAyMywgMS41MjgzMTk4MzU2NjI4NDE4XSwgWzE2NjM3MzAyNzAuMjAwMTQ2NywgNDA1OSwgMS41Njk5NTQzOTUyOTQxODk1XSwgWzE2NjM3MzAyNzAuMzIwODUxOCwgNDA2OCwgMS41MzcwODYyNDgzOTc4MjcxXSwgWzE2NjM3MzAyNzAuNDMwMDgzNSwgNDA3NywgMS41MTAzMjA2NjM0NTIxNDg0XSwgWzE2NjM3MzAyNzAuNTI3NzA1NywgNDA4NiwgMS41NjYwMTAzNTU5NDk0MDE5XSwgWzE2NjM3MzAyNzAuNjIyOTE4OCwgNDA5NSwgMS41MDEzODczNTc3MTE3OTJdLCBbMTY2MzczMDI3MC44MTQwODMsIDQxMTMsIDEuNTAyMzU5ODY3MDk1OTQ3M10sIFsxNjYzNzMwMjcwLjk5MTg5NDUsIDQxMzEsIDEuNTQ3OTk2ODc4NjIzOTYyNF0sIFsxNjYzNzMwMjcxLjE4NDQ4NTcsIDQxNDksIDEuNDc4MzIzMjIxMjA2NjY1XSwgWzE2NjM3MzAyNzEuMjcyOTQ1NiwgNDE1OCwgMS40OTEwMTQ3MTkwMDkzOTk0XSwgWzE2NjM3MzAyNzEuMzU4MzU3MiwgNDE2NywgMS41MzA5NzE1MjcwOTk2MDk0XSwgWzE2NjM3MzAyNzEuNTQxMzk2LCA0MTg1LCAxLjU1NDgyMTQ5MTI0MTQ1NV0sIFsxNjYzNzMwMjcxLjYzMDI5NCwgNDE5NCwgMS41NTA5ODA0NDg3MjI4Mzk0XSwgWzE2NjM3MzAyNzEuNzE2NjMzNiwgNDIwMywgMS41MTQ0ODkxNzM4ODkxNjAyXSwgWzE2NjM3MzAyNzEuODkxODA1NiwgNDIyMSwgMS40NjgyODc4MjU1ODQ0MTE2XSwgWzE2NjM3MzAyNzIuMDc1OTA2NSwgNDIzOSwgMS41MjcwMDc1Nzk4MDM0NjY4XSwgWzE2NjM3MzAyNzIuMTYwNDExNiwgNDI0OCwgMS41MDY2MjcwODI4MjQ3MDddLCBbMTY2MzczMDI3Mi40Mjc0NTE0LCA0Mjc1LCAxLjUwMDI2ODgxNjk0NzkzN10sIFsxNjYzNzMwMjcyLjUxMzYxNjgsIDQyODQsIDEuNTE1MDk5ODgzMDc5NTI4OF0sIFsxNjYzNzMwMjcyLjc3NzgzNTQsIDQzMTEsIDEuNDkyNzk4OTI0NDQ2MTA2XSwgWzE2NjM3MzAyNzIuODY0NTkxMSwgNDMyMCwgMS41MDM5MjM4OTI5NzQ4NTM1XSwgWzE2NjM3MzAyNzIuOTUwMzUwOCwgNDMyOSwgMS40NTQ4MDIyNzQ3MDM5Nzk1XSwgWzE2NjM3MzAyNzMuMDk0NzUwNiwgNDMzOCwgMS40NzY0ODExOTkyNjQ1MjY0XSwgWzE2NjM3MzAyNzMuMjI5MjA1NiwgNDM0NywgMS40ODc0ODgxNTA1OTY2MTg3XSwgWzE2NjM3MzAyNzMuMzIwMTU3NSwgNDM1NiwgMS40OTg2NzQyNzM0OTA5MDU4XSwgWzE2NjM3MzAyNzMuNDA4OTc1MSwgNDM2NSwgMS40NjI3ODY2NzQ0OTk1MTE3XSwgWzE2NjM3MzAyNzMuNjIxNDMyMywgNDM4MywgMS40OTQ4MTg2ODc0Mzg5NjQ4XSwgWzE2NjM3MzAyNzMuNzA5MTAwNSwgNDM5MiwgMS40ODc2MTY3Nzc0MjAwNDRdLCBbMTY2MzczMDI3My43OTQxMDg2LCA0NDAxLCAxLjQ3NDIzNDkzODYyMTUyMV0sIFsxNjYzNzMwMjczLjg3NjA5MDMsIDQ0MTAsIDEuNDczODQ2NDM1NTQ2ODc1XSwgWzE2NjM3MzAyNzQuMTYzNjcyLCA0NDI4LCAxLjUwMjMwNTM4ODQ1MDYyMjZdLCBbMTY2MzczMDI3NC41MzMxMzg4LCA0NDU1LCAxLjQ2MjQ4MDA2ODIwNjc4N10sIFsxNjYzNzMwMjc0LjYyODAxMzYsIDQ0NjQsIDEuNTM0MTkzNTE1Nzc3NTg4XSwgWzE2NjM3MzAyNzQuOTU2MDczOCwgNDQ5MSwgMS40NjQ3NDM2MTQxOTY3NzczXSwgWzE2NjM3MzAyNzUuMjYwNjExNSwgNDUxOCwgMS41MDE1ODIwMjY0ODE2Mjg0XSwgWzE2NjM3MzAyNzUuMzUyMTMxLCA0NTI3LCAxLjU1ODYyMjM2MDIyOTQ5MjJdLCBbMTY2MzczMDI3NS40NDEwMSwgNDUzNiwgMS41ODMwNTM1ODg4NjcxODc1XSwgWzE2NjM3MzAyNzUuNzIwMDQxLCA0NTYzLCAxLjQ2MjMyMzY2NTYxODg5NjVdLCBbMTY2MzczMDI3NS45MTM2MiwgNDU4MSwgMS40NDcyMzEwNTQzMDYwMzAzXSwgWzE2NjM3MzAyNzYuMDQwNDY4NSwgNDU5MCwgMS40MjE1NTU2MzgzMTMyOTM1XSwgWzE2NjM3MzAyNzYuMTQ0NjI5NywgNDU5OSwgMS41Mzg0ODQ0NTQxNTQ5NjgzXSwgWzE2NjM3MzAyNzYuMjMyMjExLCA0NjA4LCAxLjUyOTgyNDI1Njg5Njk3MjddLCBbMTY2MzczMDI3Ni4zMTcxODYsIDQ2MTcsIDEuNDcwNjA2MjA3ODQ3NTk1Ml0sIFsxNjYzNzMwMjc2LjYxMzE4ODUsIDQ2MjYsIDEuNTE2OTczMjU3MDY0ODE5M10sIFsxNjYzNzMwMjc2LjcwMDY2NjcsIDQ2MzUsIDEuNDc5MTc4MTkwMjMxMzIzMl0sIFsxNjYzNzMwMjc2Ljg4MTk4OCwgNDY1MywgMS40NTIyNzY4MjU5MDQ4NDYyXSwgWzE2NjM3MzAyNzYuOTczNjQ2NCwgNDY2MiwgMS40NTY5MTg5NTQ4NDkyNDMyXSwgWzE2NjM3MzAyNzcuMDU2OTA0LCA0NjcxLCAxLjQ2ODYwNjcxMDQzMzk2XSwgWzE2NjM3MzAyNzcuMTQyNDIzMiwgNDY4MCwgMS40NTExNjIzMzgyNTY4MzZdLCBbMTY2MzczMDI3Ny4yMjkxNTEsIDQ2ODksIDEuNDE5MzMwODM1MzQyNDA3Ml0sIFsxNjYzNzMwMjc3LjMxNTQ5NTUsIDQ2OTgsIDEuNDM0NDg3MjIzNjI1MTgzXSwgWzE2NjM3MzAyNzcuNTAxOTMxLCA0NzE2LCAxLjQ0MDU3ODgxODMyMTIyOF0sIFsxNjYzNzMwMjc4LjEyNzI0NCwgNDc3OSwgMS40NDc5OTMzOTc3MTI3MDc1XSwgWzE2NjM3MzAyNzguMzgyNDQ5LCA0ODA2LCAxLjQ0MjU4MjYwNzI2OTI4N10sIFsxNjYzNzMwMjc4LjQ3MDAzNzcsIDQ4MTUsIDEuNDA5NDUyNDM4MzU0NDkyMl0sIFsxNjYzNzMwMjc4LjY1MDAzMDEsIDQ4MzMsIDEuNDY5NDExOTY5MTg0ODc1NV0sIFsxNjYzNzMwMjc4LjczNjM0OCwgNDg0MiwgMS40Mzk2MzUzOTYwMDM3MjMxXSwgWzE2NjM3MzAyNzguODIyODc1NywgNDg1MSwgMS40MzIyMDExNDcwNzk0Njc4XSwgWzE2NjM3MzAyNzguOTA3MzUxNywgNDg2MCwgMS4zOTQwOTU1NDAwNDY2OTJdLCBbMTY2MzczMDI3OS4wMDE1NDI4LCA0ODY5LCAxLjUwNTI5MDg2NTg5ODEzMjNdLCBbMTY2MzczMDI3OS4xNzgwOTYsIDQ4ODcsIDEuMzkxOTU5Nzg2NDE1MV0sIFsxNjYzNzMwMjc5LjI2MzQxMTgsIDQ4OTYsIDEuNDA0NTc3MDE2ODMwNDQ0M10sIFsxNjYzNzMwMjc5LjM0ODQ0OCwgNDkwNSwgMS40MjQzMjU3MDQ1NzQ1ODVdLCBbMTY2MzczMDI3OS41MjkxODUzLCA0OTIzLCAxLjQxMTczODE1NzI3MjMzODldLCBbMTY2MzczMDI3OS42MjAwNzQ3LCA0OTMyLCAxLjQwMTYyMzI0OTA1Mzk1NV0sIFsxNjYzNzMwMjc5Ljg3OTQ0NzIsIDQ5NTksIDEuNDM0MTIzNTE2MDgyNzYzN10sIFsxNjYzNzMwMjgwLjA1MjU3NDksIDQ5NzcsIDEuNDE4Nzc5NzMwNzk2ODE0XSwgWzE2NjM3MzAyODAuMjI4Mjk1NiwgNDk5NSwgMS40MDUyOTM3MDMwNzkyMjM2XSwgWzE2NjM3MzAyODAuMzE0NjQ5NiwgNTAwNCwgMS40MTUxMTI2MTQ2MzE2NTI4XSwgWzE2NjM3MzAyODAuNDAxNTI4MSwgNTAxMywgMS4zODc4MzUwMjU3ODczNTM1XSwgWzE2NjM3MzAyODAuOTI1MjQ3LCA1MDY3LCAxLjM5NDYyMzUxNzk5MDExMjNdLCBbMTY2MzczMDI4MS4wMTQwNDMsIDUwNzYsIDEuNDUyMTc5OTA4NzUyNDQxNF0sIFsxNjYzNzMwMjgxLjEwNzI5NjcsIDUwODUsIDEuNDAzNTQyMDQxNzc4NTY0NV0sIFsxNjYzNzMwMjgxLjQ2NjYwMjMsIDUxMjEsIDEuMzgzMDkyODgwMjQ5MDIzNF0sIFsxNjYzNzMwMjgxLjU1ODcyNTYsIDUxMzAsIDEuMzcwOTU0OTkwMzg2OTYzXSwgWzE2NjM3MzAyODEuNzQyNzI1OCwgNTE0OCwgMS4zODE0NzE3NTMxMjA0MjI0XSwgWzE2NjM3MzAyODEuOTE4MDM0OCwgNTE2NiwgMS4zNTY1ODM4MzM2OTQ0NThdLCBbMTY2MzczMDI4Mi4xODAxMjIxLCA1MTkzLCAxLjQwMzY0MjQxNjAwMDM2NjJdLCBbMTY2MzczMDI4Mi41MjE5NzY1LCA1MjI5LCAxLjM4MDc2MDA3MzY2MTgwNDJdLCBbMTY2MzczMDI4Mi44NzE5NjUyLCA1MjY1LCAxLjM5ODU0MTU2OTcwOTc3NzhdLCBbMTY2MzczMDI4Mi45NTkwNjk1LCA1Mjc0LCAxLjM3MzIzODIwNTkwOTcyOV0sIFsxNjYzNzMwMjgzLjA1NDA2MjYsIDUyODMsIDEuNDAwNDM3NDc0MjUwNzkzNV0sIFsxNjYzNzMwMjgzLjIyNDExMzIsIDUzMDEsIDEuNDMwMDY1MzkzNDQ3ODc2XSwgWzE2NjM3MzAyODMuMzExMjk5NiwgNTMxMCwgMS4zNDYwNDE0NDA5NjM3NDUxXSwgWzE2NjM3MzAyODMuMzk2MDAyLCA1MzE5LCAxLjQyMDE2NDgyMzUzMjEwNDVdLCBbMTY2MzczMDI4My40ODQ2ODk3LCA1MzI4LCAxLjQ3Mzc5NzkxNzM2NjAyNzhdLCBbMTY2MzczMDI4My41Njk5NjA2LCA1MzM3LCAxLjQ0Njg5Nzg2NDM0MTczNThdLCBbMTY2MzczMDI4My45NTA4NzM5LCA1MzU1LCAxLjM1MDE4NzA2MzIxNzE2M10sIFsxNjYzNzMwMjg0LjEzNTM2MjksIDUzNzMsIDEuMzYwODAzMjQ2NDk4MTA4XSwgWzE2NjM3MzAyODQuMjE4NTgyOSwgNTM4MiwgMS4zNTM2Njg1NzA1MTg0OTM3XSwgWzE2NjM3MzAyODQuMzAzNTQ1NywgNTM5MSwgMS4zNjg3MTQ4MDk0MTc3MjQ2XSwgWzE2NjM3MzAyODQuMzg5MjExLCA1NDAwLCAxLjM0MzE3NDIxOTEzMTQ2OTddLCBbMTY2MzczMDI4NC42MTY2MDY1LCA1NDE4LCAxLjMzMjA1Njk5OTIwNjU0M10sIFsxNjYzNzMwMjg0LjcyNjE5NTYsIDU0MjcsIDEuNDE3ODk4Nzc0MTQ3MDMzN10sIFsxNjYzNzMwMjg0Ljg1NjgyMTUsIDU0MzYsIDEuMzg3MzA4MTIwNzI3NTM5XSwgWzE2NjM3MzAyODUuMDk5MjI5MywgNTQ1NCwgMS4zNTYwNzc2NzEwNTEwMjU0XSwgWzE2NjM3MzAyODUuNDUyNjY3NywgNTQ4MSwgMS4zOTM1NzA2NjE1NDQ3OTk4XSwgWzE2NjM3MzAyODUuNjg5MDEyLCA1NDk5LCAxLjMzMjAxOTIwOTg2MTc1NTRdLCBbMTY2MzczMDI4Ni4wMDczMjI1LCA1NTI2LCAxLjM0NzAxNTczODQ4NzI0MzddLCBbMTY2MzczMDI4Ni4xMTcyMTA5LCA1NTM1LCAxLjMyNTgxNDEyNzkyMjA1OF0sIFsxNjYzNzMwMjg2LjMzNzk4MSwgNTU1MywgMS4zNDIxMDUxNTAyMjI3NzgzXSwgWzE2NjM3MzAyODYuNTQ2MTI3LCA1NTcxLCAxLjM1MzM1NjM2MTM4OTE2MDJdLCBbMTY2MzczMDI4Ni43NTc5NzcsIDU1ODksIDEuMzUzMTg1NTM0NDc3MjMzOV0sIFsxNjYzNzMwMjg2LjkyNjA2NTIsIDU2MDcsIDEuMzMzMTU5NTY1OTI1NTk4MV0sIFsxNjYzNzMwMjg3LjAyMjE5OCwgNTYxNiwgMS4zMzk2NzgxNjgyOTY4MTRdLCBbMTY2MzczMDI4Ny4zMTYxNzMzLCA1NjQzLCAxLjMwMTgwNTk3MzA1Mjk3ODVdLCBbMTY2MzczMDI4Ny4zOTk5MzY3LCA1NjUyLCAxLjMxNzQ2MTYwOTg0MDM5M10sIFsxNjYzNzMwMjg3LjQ5OTc1NDQsIDU2NjEsIDEuMzU2MTgzNDA5NjkwODU3XSwgWzE2NjM3MzAyODcuNTkwNDA0MywgNTY3MCwgMS4zODEyNTA2MTk4ODgzMDU3XSwgWzE2NjM3MzAyODcuOTQxNTU5OCwgNTcwNiwgMS4zMTc4MjI2OTQ3Nzg0NDI0XSwgWzE2NjM3MzAyODguMDM3OTIzOCwgNTcxNSwgMS4zMzgwMDgwNDYxNTAyMDc1XSwgWzE2NjM3MzAyODguMTI3ODA1LCA1NzI0LCAxLjMyMTczNjY5MzM4MjI2MzJdLCBbMTY2MzczMDI4OC4zMDg0MzYsIDU3NDIsIDEuMzEyNzc0NDE5Nzg0NTQ2XSwgWzE2NjM3MzAyODguNTg0OTMwNywgNTc2OSwgMS4yOTcyMjY5MDU4MjI3NTRdLCBbMTY2MzczMDI4OC42NzI2NTU2LCA1Nzc4LCAxLjM2NzM0NTMzMzA5OTM2NTJdLCBbMTY2MzczMDI4OC44MDcxOTM4LCA1Nzg3LCAxLjM2OTUwNzU1MTE5MzIzNzNdLCBbMTY2MzczMDI4OC45MDUyMjk2LCA1Nzk2LCAxLjQwNDgxNDgzOTM2MzA5ODFdLCBbMTY2MzczMDI4OC45OTExMDYzLCA1ODA1LCAxLjM2ODAwODYxMzU4NjQyNThdLCBbMTY2MzczMDI4OS4wODQ1MTIyLCA1ODE0LCAxLjM0MTE2NzQ0OTk1MTE3MTldLCBbMTY2MzczMDI4OS40Nzk4MTcyLCA1ODUwLCAxLjI4NDgwMTI0NDczNTcxNzhdLCBbMTY2MzczMDI4OS42NjA3MjMsIDU4NjgsIDEuMzcyNzM3MDUwMDU2NDU3NV0sIFsxNjYzNzMwMjg5Ljc0OTkzNywgNTg3NywgMS4zMzA1NDc2OTAzOTE1NDA1XSwgWzE2NjM3MzAyODkuODQzNDcxNSwgNTg4NiwgMS4zMjEzMzQyNDI4MjA3Mzk3XSwgWzE2NjM3MzAyODkuOTMxNDE3LCA1ODk1LCAxLjI5MTA0ODI4ODM0NTMzN10sIFsxNjYzNzMwMjkwLjAyMDY1NTksIDU5MDQsIDEuMzQ2MzE4MjQ0OTM0MDgyXSwgWzE2NjM3MzAyOTAuMzAzNDA1OCwgNTkzMSwgMS4zMTgzMjk1NzI2Nzc2MTIzXSwgWzE2NjM3MzAyOTAuMzk5MjU0LCA1OTQwLCAxLjMxNjY1NjgyNzkyNjYzNTddLCBbMTY2MzczMDI5MC41MDA1ODY1LCA1OTQ5LCAxLjMyMjcwODM2ODMwMTM5MTZdLCBbMTY2MzczMDI5MS4xMjY1MjczLCA2MDEyLCAxLjMxMzgzNjA5NzcxNzI4NTJdLCBbMTY2MzczMDI5MS40MDU0OTY0LCA2MDM5LCAxLjI3ODc5ODkzNzc5NzU0NjRdLCBbMTY2MzczMDI5MS44NDMwMjQsIDYwODQsIDEuMzY5NjkwODk1MDgwNTY2NF0sIFsxNjYzNzMwMjkyLjEyOTI3MzIsIDYwOTMsIDEuMzM2NDk5ODEwMjE4ODExXSwgWzE2NjM3MzAyOTIuMjE3NDk1NCwgNjEwMiwgMS4zMDk5MDc5MTMyMDgwMDc4XSwgWzE2NjM3MzAyOTIuNDc2NzMyMywgNjEyOSwgMS4zMTcwNDYwNDYyNTcwMTldLCBbMTY2MzczMDI5Mi42NDg5MDEyLCA2MTQ3LCAxLjI5NjU2NDM0MDU5MTQzMDddLCBbMTY2MzczMDI5Mi43MzIyMzM4LCA2MTU2LCAxLjMyMDcyMDE5NTc3MDI2MzddLCBbMTY2MzczMDI5Mi44MzEzMTU4LCA2MTY1LCAxLjI4OTM2Njg0MTMxNjIyMzFdLCBbMTY2MzczMDI5Mi45MTY2NzkxLCA2MTc0LCAxLjMwMDI2NzMzODc1Mjc0NjZdLCBbMTY2MzczMDI5My4wOTkwNDQzLCA2MTkyLCAxLjI3MTQyNjIwMDg2NjY5OTJdLCBbMTY2MzczMDI5My41NDAyODMyLCA2MjM3LCAxLjI3OTgzOTI3NzI2NzQ1Nl0sIFsxNjYzNzMwMjkzLjYyNzMzNDQsIDYyNDYsIDEuMjc3Nzg2MTM1NjczNTIzXSwgWzE2NjM3MzAyOTMuNzE2NzYwMiwgNjI1NSwgMS4yNzQxODAwNTQ2NjQ2MTE4XSwgWzE2NjM3MzAyOTMuODAxMjI3MywgNjI2NCwgMS4yNzc5MzA3MzY1NDE3NDhdLCBbMTY2MzczMDI5My44OTMyNzEsIDYyNzMsIDEuMjg2MDExMjE5MDI0NjU4Ml0sIFsxNjYzNzMwMjkzLjk3OTEwNzksIDYyODIsIDEuMjc3OTQwNzUwMTIyMDcwM10sIFsxNjYzNzMwMjk0LjE1MzgzNDgsIDYzMDAsIDEuMjc5MjkxNjI5NzkxMjU5OF0sIFsxNjYzNzMwMjk0LjQzMTY0MDksIDYzMjcsIDEuMjcwMDY1MTg4NDA3ODk4XSwgWzE2NjM3MzAyOTQuNTI5MjgsIDYzMzYsIDEuMjk2OTI3MDk0NDU5NTMzN10sIFsxNjYzNzMwMjk0LjcwMjIxNCwgNjM1NCwgMS4yOTc4MTI4MTk0ODA4OTZdLCBbMTY2MzczMDI5NS4wNDUzNDQ0LCA2MzkwLCAxLjI2NjgwMjMxMDk0MzYwMzVdLCBbMTY2MzczMDI5NS4xMzMzODcsIDYzOTksIDEuMjYwMDY0NDgyNjg4OTAzOF0sIFsxNjYzNzMwMjk1LjMwNTE2OCwgNjQxNywgMS4yODU5NjYyNzcxMjI0OTc2XSwgWzE2NjM3MzAyOTUuNTczNTc0NSwgNjQ0NCwgMS4yOTI1MTE4MjA3OTMxNTE5XSwgWzE2NjM3MzAyOTUuNzQ2MTg1NSwgNjQ2MiwgMS4yNjI4MjAyNDM4MzU0NDkyXSwgWzE2NjM3MzAyOTUuOTE4NTQ2MiwgNjQ4MCwgMS4zMDIwODU4NzY0NjQ4NDM4XSwgWzE2NjM3MzAyOTYuMDEzNzYxLCA2NDg5LCAxLjM0MTIwNTEyMDA4NjY3XSwgWzE2NjM3MzAyOTYuMTAxNjcxNywgNjQ5OCwgMS4yODMwMTAzNjM1Nzg3OTY0XSwgWzE2NjM3MzAyOTYuMjcxNDI3LCA2NTE2LCAxLjI1MDU1MzM2OTUyMjA5NDddLCBbMTY2MzczMDI5Ni40NTUzNiwgNjUzNCwgMS4yOTQ5OTE0OTMyMjUwOTc3XSwgWzE2NjM3MzAyOTYuNTU4MTk0MiwgNjU0MywgMS4yNDEwNTc2MzQzNTM2Mzc3XSwgWzE2NjM3MzAyOTYuNjUwOTY2NiwgNjU1MiwgMS4yNzY5NDgwOTQzNjc5ODFdLCBbMTY2MzczMDI5Ni43NTY3MTY1LCA2NTYxLCAxLjI1MjE0MDQwMjc5Mzg4NDNdLCBbMTY2MzczMDI5Ni44ODQwNzY0LCA2NTcwLCAxLjI0OTcxNzU5MzE5MzA1NDJdLCBbMTY2MzczMDI5Ny4xMDY0ODk3LCA2NTg4LCAxLjI2MTA5ODAyNzIyOTMwOV0sIFsxNjYzNzMwMjk3LjIxOTQzMjYsIDY1OTcsIDEuMjkyNzU4NDY0ODEzMjMyNF0sIFsxNjYzNzMwMjk3LjMzNDYzNSwgNjYwNiwgMS4yNTc2MzA4MjUwNDI3MjQ2XSwgWzE2NjM3MzAyOTcuOTI0NTQwOCwgNjY1MSwgMS4yNDg3Mjk4MjUwMTk4MzY0XSwgWzE2NjM3MzAyOTguMDEzMjI4LCA2NjYwLCAxLjI4MzcwNDg3Njg5OTcxOTJdLCBbMTY2MzczMDI5OC4xMTUzMjU1LCA2NjY5LCAxLjM0ODI0Nzg4NTcwNDA0MDVdLCBbMTY2MzczMDI5OC4yOTM4MDU0LCA2Njg3LCAxLjMwNDE2NjY3NDYxMzk1MjZdLCBbMTY2MzczMDI5OC4zODM5NTI0LCA2Njk2LCAxLjMyNDU4Nzk0MTE2OTczODhdLCBbMTY2MzczMDI5OC41MDg3MDI4LCA2NzA1LCAxLjI0MTk1NTA0MTg4NTM3Nl0sIFsxNjYzNzMwMjk4LjYxMTc1MTMsIDY3MTQsIDEuMjU5NDY4NzkzODY5MDE4Nl0sIFsxNjYzNzMwMjk5LjQ4MDQyMjMsIDY3NzcsIDEuMjcxMjAyMzI1ODIwOTIyOV0sIFsxNjYzNzMwMjk5Ljc2MDc4NTgsIDY4MDQsIDEuMjU3MTU5MzUyMzAyNTUxM10sIFsxNjYzNzMwMjk5Ljg0OTg5NDMsIDY4MTMsIDEuMjc5MDY4MjMxNTgyNjQxNl0sIFsxNjYzNzMwMzAwLjAyNTcyMDEsIDY4MzEsIDEuMjYxODE5MzYyNjQwMzgwOV0sIFsxNjYzNzMwMzAwLjQ2MTg4ODYsIDY4NzYsIDEuMjcyMzMxMzU3MDAyMjU4M10sIFsxNjYzNzMwMzAwLjU0Njg1NjQsIDY4ODUsIDEuMjQwOTY0NjUxMTA3Nzg4XSwgWzE2NjM3MzAzMDAuNjMyMDM5OCwgNjg5NCwgMS4yNjYwMjI0NDM3NzEzNjIzXSwgWzE2NjM3MzAzMDAuODA4MjIyMywgNjkxMiwgMS4yNTk3OTE3MzE4MzQ0MTE2XSwgWzE2NjM3MzAzMDAuODk1ODAyMywgNjkyMSwgMS4yMjk0NTk4ODE3ODI1MzE3XSwgWzE2NjM3MzAzMDAuOTg4NzA0LCA2OTMwLCAxLjMxMTU5NTIwMTQ5MjMwOTZdLCBbMTY2MzczMDMwMS4xNzc3NzA2LCA2OTQ4LCAxLjI3MTE1NzYyMjMzNzM0MTNdLCBbMTY2MzczMDMwMS4yODU3NDgyLCA2OTU3LCAxLjI0Nzc2MjY4MDA1MzcxMV0sIFsxNjYzNzMwMzAxLjM3Mjc0NjIsIDY5NjYsIDEuMjU0NDA5MDc0NzgzMzI1Ml0sIFsxNjYzNzMwMzAxLjU1MTgxODEsIDY5ODQsIDEuMzI0MjU5NTE5NTc3MDI2NF0sIFsxNjYzNzMwMzAxLjYzNzQ1MTQsIDY5OTMsIDEuMjc3NjcwOTc5NDk5ODE3XSwgWzE2NjM3MzAzMDEuODE3MDY0OCwgNzAxMSwgMS4yMDEzODI3NTYyMzMyMTUzXSwgWzE2NjM3MzAzMDEuOTAxNjQ2NiwgNzAyMCwgMS4yMzA4NTMxOTk5NTg4MDEzXSwgWzE2NjM3MzAzMDEuOTg3MjExNywgNzAyOSwgMS4yMzkyOTk1MzU3NTEzNDI4XSwgWzE2NjM3MzAzMDIuMDczMjQxNywgNzAzOCwgMS4yMzYxODQ3MTYyMjQ2NzA0XSwgWzE2NjM3MzAzMDIuMTg3OTA5NCwgNzA0NywgMS4yMzIyMjYwMTQxMzcyNjhdLCBbMTY2MzczMDMwMi4zMDAxNjA0LCA3MDU2LCAxLjI1ODk2NTM3MzAzOTI0NTZdLCBbMTY2MzczMDMwMi43MTc0MTk5LCA3MDgzLCAxLjI1NDE5NTMzMjUyNzE2MDZdLCBbMTY2MzczMDMwMi45MzE1MTI0LCA3MTAxLCAxLjIyNTQwNjA1MDY4MjA2NzldLCBbMTY2MzczMDMwMy4wNDc3NTcxLCA3MTEwLCAxLjI0NjIwNTMyOTg5NTAxOTVdLCBbMTY2MzczMDMwMy4zMjczMjk2LCA3MTI4LCAxLjIzMzcyNzgxMjc2NzAyODhdLCBbMTY2MzczMDMwMy41MzUyNDA0LCA3MTQ2LCAxLjI0MTI4MDQzNjUxNTgwOF0sIFsxNjYzNzMwMzAzLjcwMDA4MSwgNzE2NCwgMS4yMzIwNzI3MTA5OTA5MDU4XSwgWzE2NjM3MzAzMDMuNzg2NTcsIDcxNzMsIDEuMjUwOTM4NDE1NTI3MzQzOF0sIFsxNjYzNzMwMzAzLjg3MzU2NzgsIDcxODIsIDEuMjQyODgzMjA1NDEzODE4NF0sIFsxNjYzNzMwMzA0LjA2NzQyOTMsIDcyMDAsIDEuMjI4Mjg1OTA4Njk5MDM1Nl0sIFsxNjYzNzMwMzA0LjE0OTY2MTgsIDcyMDksIDEuMjMyNTEwNjg1OTIwNzE1M10sIFsxNjYzNzMwMzA0LjU0NTM2NjUsIDcyNDUsIDEuMjg5OTg2NzI5NjIxODg3Ml0sIFsxNjYzNzMwMzA0LjY1NzIyODUsIDcyNTQsIDEuMjE3NDY2OTUwNDE2NTY1XSwgWzE2NjM3MzAzMDQuNzU0Mjk5NiwgNzI2MywgMS4yNjE4MjU0NDIzMTQxNDhdLCBbMTY2MzczMDMwNC44Mzk3OTczLCA3MjcyLCAxLjI4MDQzMTM4OTgwODY1NDhdLCBbMTY2MzczMDMwNS4xMDY3MTIzLCA3Mjk5LCAxLjIwMTA5NDUwODE3MTA4MTVdLCBbMTY2MzczMDMwNS4zNTM3MzUyLCA3MzI2LCAxLjIyODg0NDE2NTgwMjAwMl0sIFsxNjYzNzMwMzA1LjgyNzQ1MTIsIDczNzEsIDEuMjQ1NDUwNzM1MDkyMTYzXSwgWzE2NjM3MzAzMDUuOTA3MTk0NCwgNzM4MCwgMS4yMDI5NDU3MDkyMjg1MTU2XSwgWzE2NjM3MzAzMDYuMTcwMjQ0NSwgNzM5OCwgMS4yMTc4MTg0OTg2MTE0NTAyXSwgWzE2NjM3MzAzMDYuMjg1NTIsIDc0MDcsIDEuMjI4MTAyODAzMjMwMjg1Nl0sIFsxNjYzNzMwMzA2LjM5NjUxNDQsIDc0MTYsIDEuMjE2MTkyMTI2Mjc0MTA4OV0sIFsxNjYzNzMwMzA2LjU4MDEwNzUsIDc0MzQsIDEuMjAxNTg2ODQyNTM2OTI2M10sIFsxNjYzNzMwMzA2LjY2OTMzNzUsIDc0NDMsIDEuMjk1MjIxNjg2MzYzMjIwMl0sIFsxNjYzNzMwMzA2Ljc3MDcyMywgNzQ1MiwgMS4yODY2MjM1OTcxNDUwODA2XSwgWzE2NjM3MzAzMDYuODYxNTgyOCwgNzQ2MSwgMS4yMzIyMzI4MDkwNjY3NzI1XSwgWzE2NjM3MzAzMDcuMjU5NDg2MiwgNzQ5NywgMS4yMzA4MDc1NDI4MDA5MDMzXSwgWzE2NjM3MzAzMDcuMzQzOTU2NSwgNzUwNiwgMS4yMDQyOTQ2ODE1NDkwNzIzXSwgWzE2NjM3MzAzMDcuNTEyMDQwNiwgNzUyNCwgMS4yNDk0ODQ3Nzc0NTA1NjE1XSwgWzE2NjM3MzAzMDcuNjA2ODk1MiwgNzUzMywgMS4yMDU0MzUzOTUyNDA3ODM3XSwgWzE2NjM3MzAzMDcuODkwNTMzNCwgNzU0MiwgMS4yMjM2OTkyMTIwNzQyNzk4XSwgWzE2NjM3MzAzMDguMDU1NTU1NiwgNzU2MCwgMS4yMjExNTMwMjA4NTg3NjQ2XSwgWzE2NjM3MzAzMDguMTM5ODU2MywgNzU2OSwgMS4yNTc1NDcxNDAxMjE0Nl0sIFsxNjYzNzMwMzA4LjMwNTk0NjQsIDc1ODcsIDEuMjMxNTk2NDY5ODc5MTUwNF0sIFsxNjYzNzMwMzA4LjM4ODI1NCwgNzU5NiwgMS4yMzM1NTc0NjI2OTIyNjA3XSwgWzE2NjM3MzAzMDguNTU1NzMyLCA3NjE0LCAxLjIxODIxNDk4ODcwODQ5Nl0sIFsxNjYzNzMwMzA4Ljk2Mzk3ODgsIDc2NTksIDEuMjM1MzIyOTUyMjcwNTA3OF0sIFsxNjYzNzMwMzA5LjA1OTQ2MiwgNzY2OCwgMS4xOTk1MzE0MzU5NjY0OTE3XSwgWzE2NjM3MzAzMDkuMzIxMzY4LCA3Njk1LCAxLjE3NzUzOTU4NzAyMDg3NF0sIFsxNjYzNzMwMzA5LjQ4Nzc5MzIsIDc3MTMsIDEuMTk2NzkyMzY0MTIwNDgzNF0sIFsxNjYzNzMwMzA5LjU3MTI3MiwgNzcyMiwgMS4yMjY4NjEzNTc2ODg5MDM4XSwgWzE2NjM3MzAzMDkuODM2NzI1MiwgNzc0OSwgMS4yMzU0MTI4MzYwNzQ4MjldLCBbMTY2MzczMDMwOS45MzUwMjE0LCA3NzU4LCAxLjIzOTk2MTI2NjUxNzYzOTJdLCBbMTY2MzczMDMxMC4wMjU2NTgxLCA3NzY3LCAxLjMxNTM3MzY1OTEzMzkxMTFdLCBbMTY2MzczMDMxMC4zNTMzMTQ2LCA3Nzk0LCAxLjIzNjUyODk5MjY1Mjg5M10sIFsxNjYzNzMwMzEwLjQ5MjYwMTksIDc4MDMsIDEuMjM5ODEzNDQ2OTk4NTk2Ml0sIFsxNjYzNzMwMzEwLjk1MTUxNCwgNzgzOSwgMS4yMzA0NzcwOTQ2NTAyNjg2XSwgWzE2NjM3MzAzMTEuMDU3NDE1NywgNzg0OCwgMS4yMTc2NTk4MzEwNDcwNThdLCBbMTY2MzczMDMxMi4xMzM4MTksIDc5MzgsIDEuMjE3NDY4MjYxNzE4NzVdLCBbMTY2MzczMDMxMi4zMDU4NDksIDc5NTYsIDEuMjM3NTA4MDU4NTQ3OTczNl0sIFsxNjYzNzMwMzEyLjM5MzMzNTYsIDc5NjUsIDEuMjQzMTE2NzM2NDEyMDQ4M10sIFsxNjYzNzMwMzEyLjQ4MzIzNjYsIDc5NzQsIDEuMjkyNTQ2MTUzMDY4NTQyNV0sIFsxNjYzNzMwMzEyLjU3MDA0NywgNzk4MywgMS4yNjUyOTU4NjMxNTE1NTAzXSwgWzE2NjM3MzAzMTIuNzM4MzAyLCA4MDAxLCAxLjIwMTIxMzgzNjY2OTkyMTldLCBbMTY2MzczMDMxMi45NDk5OTI0LCA4MDE5LCAxLjIzMTI0NTM5ODUyMTQyMzNdLCBbMTY2MzczMDMxMy4xOTY0MjYyLCA4MDM3LCAxLjE5Nzg3NzI4Nzg2NDY4NV0sIFsxNjYzNzMwMzEzLjQ4MTU2NywgODA2NCwgMS4xNzQ2MzcwNzkyMzg4OTE2XSwgWzE2NjM3MzAzMTMuNjgyMTE3NSwgODA4MiwgMS4yNTEwODA3NTE0MTkwNjc0XSwgWzE2NjM3MzAzMTMuNzczMDEwMywgODA5MSwgMS4yODY3MTg2MDY5NDg4NTI1XSwgWzE2NjM3MzAzMTQuMDU1MjQyLCA4MTE4LCAxLjE4MzU5MTQ4NTAyMzQ5ODVdLCBbMTY2MzczMDMxNC4xODM5OTI5LCA4MTI3LCAxLjI0NTQ5MTE0NzA0MTMyMDhdLCBbMTY2MzczMDMxNC4zODc0MjYxLCA4MTQ1LCAxLjE4NTY0Njg5MTU5MzkzM10sIFsxNjYzNzMwMzE0LjYwMDU4OTMsIDgxNjMsIDEuMjM4MjM1NDczNjMyODEyNV0sIFsxNjYzNzMwMzE0LjY4NDc5NTEsIDgxNzIsIDEuMjA0NTIyODQ4MTI5MjcyNV0sIFsxNjYzNzMwMzE0Ljc3MTUwMDYsIDgxODEsIDEuMjE2NTQwNDU1ODE4MTc2M10sIFsxNjYzNzMwMzE0Ljk0MjA1MzYsIDgxOTksIDEuMTkyODg5NjkwMzk5MTddLCBbMTY2MzczMDMxNS4wNDA0MTEyLCA4MjA4LCAxLjE4NDg4NDY2NzM5NjU0NTRdLCBbMTY2MzczMDMxNS4yMjM4OTU4LCA4MjI2LCAxLjIwNTA5NTUyOTU1NjI3NDRdLCBbMTY2MzczMDMxNS4zMTQ5NTU3LCA4MjM1LCAxLjE4OTM1MzIyNzYxNTM1NjRdLCBbMTY2MzczMDMxNS41MjcwNzg5LCA4MjUzLCAxLjE4NDU2MzI3OTE1MTkxNjVdLCBbMTY2MzczMDMxNS43MDc5NDYsIDgyNzEsIDEuMTY1NDgzOTUxNTY4NjAzNV0sIFsxNjYzNzMwMzE1Ljg1NDA3MjMsIDgyODAsIDEuMjE3NjU0ODI0MjU2ODk3XSwgWzE2NjM3MzAzMTUuOTU1ODA2MywgODI4OSwgMS4xODg1MDI5MDc3NTI5OTA3XSwgWzE2NjM3MzAzMTYuMDQzMjA0MywgODI5OCwgMS4xNjk1MTE0Mzc0MTYwNzY3XSwgWzE2NjM3MzAzMTYuNDA4ODQ5LCA4MzE2LCAxLjIzODU2NjUxNzgyOTg5NV0sIFsxNjYzNzMwMzE2Ljc1NjQ1MTEsIDgzNTIsIDEuMjM4NjQzMTY5NDAzMDc2Ml0sIFsxNjYzNzMwMzE2LjgzOTIzMzQsIDgzNjEsIDEuMjIxODUyNDIxNzYwNTU5XSwgWzE2NjM3MzAzMTYuOTIxOTEzOSwgODM3MCwgMS4xNzQ1MDIzNzI3NDE2OTkyXSwgWzE2NjM3MzAzMTcuMDAyMjE3OCwgODM3OSwgMS4xODcwNjg5MzkyMDg5ODQ0XSwgWzE2NjM3MzAzMTcuMDg0NzAxMywgODM4OCwgMS4xNzI3ODY4MzE4NTU3NzRdLCBbMTY2MzczMDMxNy4xNjQwMzksIDgzOTcsIDEuMTc3OTYwMTU3Mzk0NDA5Ml0sIFsxNjYzNzMwMzE3LjI1MDY5ODgsIDg0MDYsIDEuMTg4NDM4MDU3ODk5NDc1XSwgWzE2NjM3MzAzMTcuNDEyNjc4MiwgODQyNCwgMS4xOTk4MzQyMjc1NjE5NTA3XSwgWzE2NjM3MzAzMTcuOTE4NDUyLCA4NDYwLCAxLjE4MTY3NDU5OTY0NzUyMl0sIFsxNjYzNzMwMzE4LjExMjM5MTIsIDg0NzgsIDEuMjIyNDk4ODkzNzM3NzkzXSwgWzE2NjM3MzAzMTguMjE4MTYwNCwgODQ4NywgMS4xNDk2OTY4MjY5MzQ4MTQ1XSwgWzE2NjM3MzAzMTguNDczODIzOCwgODUxNCwgMS4yNjU0MTIwOTIyMDg4NjIzXSwgWzE2NjM3MzAzMTguODUwNDczOSwgODU1MCwgMS4xODE1OTY3NTU5ODE0NDUzXSwgWzE2NjM3MzAzMTguOTM4MDk5NCwgODU1OSwgMS4xODA5NTQwOTg3MDE0NzddLCBbMTY2MzczMDMxOS4xMDg4NDQsIDg1NzcsIDEuMTk2ODI3MjkyNDQyMzIxOF0sIFsxNjYzNzMwMzE5LjI5MDkwOCwgODU5NSwgMS4xODAxNTYzNTAxMzU4MDMyXSwgWzE2NjM3MzAzMTkuMzc2OTg5LCA4NjA0LCAxLjE5NDk0NTQ1NDU5NzQ3MzFdLCBbMTY2MzczMDMxOS40Njc2MTQsIDg2MTMsIDEuMTk4NTY4MzQ0MTE2MjExXSwgWzE2NjM3MzAzMTkuNzM2MDAyNCwgODY0MCwgMS4xNjQ0OTM2ODAwMDAzMDUyXSwgWzE2NjM3MzAzMTkuODI3NDg0OCwgODY0OSwgMS4xODIwMzE1MTIyNjA0MzddLCBbMTY2MzczMDMxOS45MTY5MjkyLCA4NjU4LCAxLjE1NjkwNDEwMTM3MTc2NTFdLCBbMTY2MzczMDMyMC4wMDYyMDY1LCA4NjY3LCAxLjE3OTU4NDYyMjM4MzExNzddLCBbMTY2MzczMDMyMC4wOTk2NzksIDg2NzYsIDEuMjA3MjY4MjM4MDY3NjI3XSwgWzE2NjM3MzAzMjAuMTg0NTY4NCwgODY4NSwgMS4xNzcyODYwMjg4NjE5OTk1XSwgWzE2NjM3MzAzMjAuMjc2OTAwMywgODY5NCwgMS4xNjEzNDc3NDY4NDkwNl0sIFsxNjYzNzMwMzIwLjQ0NzIwOTEsIDg3MTIsIDEuMTczODkwMzUyMjQ5MTQ1NV0sIFsxNjYzNzMwMzIwLjU0MzAzMSwgODcyMSwgMS4xOTQ5MTIwNzU5OTYzOTldLCBbMTY2MzczMDMyMC44MDM5OTMsIDg3NDgsIDEuMTg5OTg1Mzk0NDc3ODQ0Ml0sIFsxNjYzNzMwMzIxLjI2MjA4MSwgODc5MywgMS4xOTUyOTQ4NTcwMjUxNDY1XSwgWzE2NjM3MzAzMjEuNDM2OTM2LCA4ODExLCAxLjE2Njg3NzAzMTMyNjI5NF0sIFsxNjYzNzMwMzIxLjUyNjk4NTYsIDg4MjAsIDEuMTU2NTY5NjAwMTA1Mjg1Nl0sIFsxNjYzNzMwMzIxLjY5NDYwODQsIDg4MzgsIDEuMTg5NzAxNDM3OTUwMTM0M10sIFsxNjYzNzMwMzIxLjc3NjgzMjgsIDg4NDcsIDEuMjM5OTY2NTExNzI2Mzc5NF0sIFsxNjYzNzMwMzIxLjg2OTY0MDYsIDg4NTYsIDEuMTk4MTI3MDMxMzI2Mjk0XSwgWzE2NjM3MzAzMjIuMTM2MTc5MiwgODg4MywgMS4yMDMzMTY0NTAxMTkwMTg2XSwgWzE2NjM3MzAzMjIuMzA1NjE4MywgODkwMSwgMS4xOTM2ODg1MTE4NDg0NDk3XSwgWzE2NjM3MzAzMjIuMzk2MzI1MywgODkxMCwgMS4xOTM0NTI0Nzc0NTUxMzkyXSwgWzE2NjM3MzAzMjIuNDg0OTE5MywgODkxOSwgMS4xNzYzMzMwNjk4MDEzMzA2XSwgWzE2NjM3MzAzMjIuNjU0NjE3NSwgODkzNywgMS4yMDE1MTgxNzc5ODYxNDVdLCBbMTY2MzczMDMyMi44MjA3NDQ4LCA4OTU1LCAxLjE1MjYzNDE0MzgyOTM0NTddLCBbMTY2MzczMDMyMi45MTQ5Njc1LCA4OTY0LCAxLjE2Njg0MjEwMzAwNDQ1NTZdLCBbMTY2MzczMDMyMi45OTc5NDIyLCA4OTczLCAxLjE1NDY0MTUwOTA1NjA5MTNdLCBbMTY2MzczMDMyMy4xNjE2OTUsIDg5OTEsIDEuMjk4MzI2NzMwNzI4MTQ5NF0sIFsxNjYzNzMwMzIzLjI1MjE3MzQsIDkwMDAsIDEuMTg0NTg3OTU1NDc0ODUzNV0sIFsxNjYzNzMwMzIzLjQyMTg3ODYsIDkwMTgsIDEuMTc4MzIwMDUwMjM5NTYzXSwgWzE2NjM3MzAzMjMuNTExODUxLCA5MDI3LCAxLjIyNDYyNzI1NjM5MzQzMjZdLCBbMTY2MzczMDMyMy41OTQ4OCwgOTAzNiwgMS4xOTAyOTg5MTQ5MDkzNjI4XSwgWzE2NjM3MzAzMjMuNjgwNjczNCwgOTA0NSwgMS4xODA5MzI3NjAyMzg2NDc1XSwgWzE2NjM3MzAzMjMuNzY2OTU0NywgOTA1NCwgMS4xNzY5MTU4ODQwMTc5NDQzXSwgWzE2NjM3MzAzMjMuODUzMDA0NywgOTA2MywgMS4yMDE4MjY1NzI0MTgyMTNdLCBbMTY2MzczMDMyNC40OTg3NDIzLCA5MTA4LCAxLjE3MDUzOTM3OTExOTg3M10sIFsxNjYzNzMwMzI0LjY2ODA3OTEsIDkxMjYsIDEuMjI1MjU4OTQ2NDE4NzYyMl0sIFsxNjYzNzMwMzI0Ljg5NDM3MSwgOTE0NCwgMS4yMjE5ODY0MTMwMDIwMTQyXSwgWzE2NjM3MzAzMjQuOTk4NzQyLCA5MTUzLCAxLjIzNTg4NDQyODAyNDI5Ml0sIFsxNjYzNzMwMzI1LjExMDI3MDMsIDkxNjIsIDEuMjEyOTQ4MzIyMjk2MTQyNl0sIFsxNjYzNzMwMzI1LjU2OTQyOTksIDkyMDcsIDEuMTcxNDE3NzEzMTY1MjgzMl0sIFsxNjYzNzMwMzI1Ljk4MTU0OTMsIDkyNDMsIDEuMTg2MjQyNTgwNDEzODE4NF0sIFsxNjYzNzMwMzI2LjIyNDk2NTgsIDkyNjEsIDEuMTczMTE3MTYwNzk3MTE5MV0sIFsxNjYzNzMwMzI2LjMyMTA5LCA5MjcwLCAxLjIxMzE0ODcxMzExMTg3NzRdLCBbMTY2MzczMDMyNi45MDE0NDc4LCA5MzI0LCAxLjE1NjkyNDI0Nzc0MTY5OTJdLCBbMTY2MzczMDMyNi45ODg2NywgOTMzMywgMS4xOTkwODUxMTYzODY0MTM2XSwgWzE2NjM3MzAzMjcuMDc4NjA4MywgOTM0MiwgMS4yNzE3MTg4NTk2NzI1NDY0XSwgWzE2NjM3MzAzMjcuMTgwMDQ1NiwgOTM1MSwgMS4xNjc2OTMyNTczMzE4NDgxXSwgWzE2NjM3MzAzMjcuMjY0NTA5LCA5MzYwLCAxLjIxMjQ4Njk4MjM0NTU4MV0sIFsxNjYzNzMwMzI3LjYxNTY2ODMsIDkzOTYsIDEuMTQyOTg3NzI4MTE4ODk2NV0sIFsxNjYzNzMwMzI3Ljc4ODU2OCwgOTQxNCwgMS4xNDIzNjc0ODIxODUzNjM4XSwgWzE2NjM3MzAzMjcuODc1NjU5MiwgOTQyMywgMS4xOTAwNTY0NDMyMTQ0MTY1XSwgWzE2NjM3MzAzMjguMTQyOTM5OCwgOTQ1MCwgMS4yMTY2MTU0Mzg0NjEzMDM3XSwgWzE2NjM3MzAzMjguNDM5ODg4NSwgOTQ3NywgMS4xODUzNjkwMTQ3Mzk5OTAyXSwgWzE2NjM3MzAzMjguNTc0MTE4NiwgOTQ4NiwgMS4xODQ1MDUxMDUwMTg2MTU3XSwgWzE2NjM3MzAzMjguODQ3Njg0OSwgOTUxMywgMS4xOTU0Mjk1NjM1MjIzMzg5XSwgWzE2NjM3MzAzMjkuMDUwNjI0NCwgOTUzMSwgMS4xNzg3MTk5OTc0MDYwMDU5XSwgWzE2NjM3MzAzMjkuMTM4ODMyMywgOTU0MCwgMS4xNzY1NDgwMDQxNTAzOTA2XSwgWzE2NjM3MzAzMjkuMjI4MjUzOCwgOTU0OSwgMS4xNzQ4ODk4MDI5MzI3MzkzXSwgWzE2NjM3MzAzMjkuNDE4MTc4OCwgOTU2NywgMS4xNjUzNDkwMDY2NTI4MzJdLCBbMTY2MzczMDMyOS42Nzc0MjE2LCA5NTk0LCAxLjE2MDMyMzczOTA1MTgxODhdLCBbMTY2MzczMDMyOS43NjU0MzksIDk2MDMsIDEuMTUwNDMzMDYzNTA3MDhdLCBbMTY2MzczMDMyOS44NTMyNDI2LCA5NjEyLCAxLjE2MTE1NDYyNzc5OTk4NzhdLCBbMTY2MzczMDMzMC4wMzIzNjk5LCA5NjMwLCAxLjE4NjcyNDkwMTE5OTM0MDhdLCBbMTY2MzczMDMzMC4xMjA3NTAyLCA5NjM5LCAxLjE2MDUxODc2NTQ0OTUyNF0sIFsxNjYzNzMwMzMwLjIxMzkwMiwgOTY0OCwgMS4xNjM2MjM0NTIxODY1ODQ1XSwgWzE2NjM3MzAzMzAuMzAyMjU5NCwgOTY1NywgMS4xNjEwNDEzNzg5NzQ5MTQ2XSwgWzE2NjM3MzAzMzAuMzkxNzk5LCA5NjY2LCAxLjEzNTY5MjM1ODAxNjk2NzhdLCBbMTY2MzczMDMzMC40ODA4NzI2LCA5Njc1LCAxLjE2ODI3MTc4MDAxNDAzOF0sIFsxNjYzNzMwMzMwLjgwMzg1NjEsIDk3MDIsIDEuMjI1OTIxODY5Mjc3OTU0XSwgWzE2NjM3MzAzMzAuODg5NTAwNiwgOTcxMSwgMS4yMzg4Njg4MzI1ODgxOTU4XSwgWzE2NjM3MzAzMzEuMDYxOTcwNywgOTcyOSwgMS4yMjkxNzYwNDQ0NjQxMTEzXSwgWzE2NjM3MzAzMzEuMTU2NzU1NywgOTczOCwgMS4xODA1Nzk0MjM5MDQ0MTldLCBbMTY2MzczMDMzMS4yNDQxMzcsIDk3NDcsIDEuMTc0NTI1ODU2OTcxNzQwN10sIFsxNjYzNzMwMzMxLjU3ODYzLCA5Nzc0LCAxLjE1MjA5NzU4MjgxNzA3NzZdLCBbMTY2MzczMDMzMS43MjI4NzEsIDk3ODMsIDEuMTUzNDM2MDY0NzIwMTUzOF0sIFsxNjYzNzMwMzMyLjA3NTkzMywgOTc5MiwgMS4xOTQwMjI2NTU0ODcwNjA1XSwgWzE2NjM3MzAzMzIuNDQyMTIzNCwgOTgyOCwgMS4yMDk3MDc2MTc3NTk3MDQ2XSwgWzE2NjM3MzAzMzIuNTMyMzMwMywgOTgzNywgMS4xODQ1MDQ2MjgxODE0NTc1XSwgWzE2NjM3MzAzMzIuNjM2MTA2MywgOTg0NiwgMS4xNjMwOTM5MjQ1MjI0XSwgWzE2NjM3MzAzMzMuMDk3MDMzNSwgOTg5MSwgMS4yMDUxNTYyMDcwODQ2NTU4XSwgWzE2NjM3MzAzMzMuMzQ3ODI4NiwgOTkwOSwgMS4xNDYzMDU3OTk0ODQyNTNdLCBbMTY2MzczMDMzMy41NDQ1NDg3LCA5OTI3LCAxLjEyNzY4ODg4NDczNTEwNzRdLCBbMTY2MzczMDMzMy42MzUxNDc4LCA5OTM2LCAxLjE2NzIwOTM4NjgyNTU2MTVdLCBbMTY2MzczMDMzMy43Mjg5NDgsIDk5NDUsIDEuMTg2OTY3NDkyMTAzNTc2N10sIFsxNjYzNzMwMzM0LjAwODc0MjgsIDk5NzIsIDEuMTk3MzU1MTUxMTc2NDUyNl0sIFsxNjYzNzMwMzM0LjEwMjgwNDQsIDk5ODEsIDEuMTQwNDU4MjI2MjAzOTE4NV0sIFsxNjYzNzMwMzM0LjIxMTk3NjMsIDk5OTAsIDEuMTUzODg5MTc5MjI5NzM2M10sIFsxNjYzNzMwMzM0LjMwMzQ1NTgsIDk5OTksIDEuMTM5OTk1NDU1NzQxODgyM10sIFsxNjYzNzMwMzM0LjM5MjMzODgsIDEwMDA4LCAxLjE4Njk4ODQ3MjkzODUzNzZdLCBbMTY2MzczMDMzNC40OTE3MDI2LCAxMDAxNywgMS4yMjkzNDkxMzYzNTI1MzldLCBbMTY2MzczMDMzNC41ODkwMzcsIDEwMDI2LCAxLjE1MTAzOTQ4MTE2MzAyNV0sIFsxNjYzNzMwMzM0LjY3ODgwNiwgMTAwMzUsIDEuMTUyMjIyMDM3MzE1MzY4N10sIFsxNjYzNzMwMzM0Ljg2NjE5NDcsIDEwMDUzLCAxLjE5NDM0ODkzMTMxMjU2MV0sIFsxNjYzNzMwMzM1LjEzOTM5ODYsIDEwMDgwLCAxLjIzMDg2ODEwMTExOTk5NTFdLCBbMTY2MzczMDMzNS4zMTUxMTI0LCAxMDA5OCwgMS4xOTg5MzI3NjY5MTQzNjc3XSwgWzE2NjM3MzAzMzUuNDAzMzc1OSwgMTAxMDcsIDEuMTc1NzY0Njc5OTA4NzUyNF0sIFsxNjYzNzMwMzM1LjY3MDI5NTcsIDEwMTM0LCAxLjE3NDU5NDI4MzEwMzk0MjldLCBbMTY2MzczMDMzNS43NTk4NDEyLCAxMDE0MywgMS4xNjI4MDI2OTYyMjgwMjczXSwgWzE2NjM3MzAzMzUuOTM0OTEyLCAxMDE2MSwgMS4yMDAyNDI5OTYyMTU4MjAzXSwgWzE2NjM3MzAzMzYuMDIzMjIxNSwgMTAxNzAsIDEuMTkzOTU2OTcxMTY4NTE4XSwgWzE2NjM3MzAzMzYuMTEzNDA2MiwgMTAxNzksIDEuMjAzNzA3MjE4MTcwMTY2XSwgWzE2NjM3MzAzMzYuMjAwNDk0LCAxMDE4OCwgMS4yMTUyNDE2NzA2MDg1MjA1XSwgWzE2NjM3MzAzMzYuMjkyNTYwNiwgMTAxOTcsIDEuMTUyMDkyMjE4Mzk5MDQ3OV0sIFsxNjYzNzMwMzM2LjQ2NzMwOCwgMTAyMTUsIDEuMTc4Nzc4NDA5OTU3ODg1N10sIFsxNjYzNzMwMzM2LjU1NjUzODMsIDEwMjI0LCAxLjE2MzEzMDQwMjU2NTAwMjRdLCBbMTY2MzczMDMzNi42NTM5NjUsIDEwMjMzLCAxLjE2NTI4MjAxMTAzMjEwNDVdLCBbMTY2MzczMDMzNi43ODU0MzMsIDEwMjQyLCAxLjE2MzcyNzA0NTA1OTIwNF0sIFsxNjYzNzMwMzM3LjA1MDMwMTYsIDEwMjYwLCAxLjE3NTIyNzg4MDQ3NzkwNTNdLCBbMTY2MzczMDMzNy4zNTA3NTM1LCAxMDI4NywgMS4xNjMxNDYyNTc0MDA1MTI3XSwgWzE2NjM3MzAzMzcuNjE4NTM5NiwgMTAzMTQsIDEuMTQ2MTUzMzMwODAyOTE3NV0sIFsxNjYzNzMwMzM3LjcwNjkwMzIsIDEwMzIzLCAxLjE2MDM1Njg3OTIzNDMxNF0sIFsxNjYzNzMwMzM3Ljg4MzYwMDcsIDEwMzQxLCAxLjI0Mzc0NTQ0NjIwNTEzOTJdLCBbMTY2MzczMDMzNy45Njk0MDg4LCAxMDM1MCwgMS4zODg5MzQ3MzE0ODM0NTk1XSwgWzE2NjM3MzAzMzguMDUzMTgwNSwgMTAzNTksIDEuMjU2MDgxNDYxOTA2NDMzXSwgWzE2NjM3MzAzMzguMTcxMDI4OSwgMTAzNjgsIDEuMTU4NTYwMDM3NjEyOTE1XSwgWzE2NjM3MzAzMzguMjY3MjIxLCAxMDM3NywgMS4xNjMyNTE4NzY4MzEwNTQ3XSwgWzE2NjM3MzAzMzguMzU4OTQ5MiwgMTAzODYsIDEuMTc4NDkxMjM0Nzc5MzU4XSwgWzE2NjM3MzAzMzguNTQzMDIwMiwgMTA0MDQsIDEuMTU3MzIyMDQ5MTQwOTMwMl0sIFsxNjYzNzMwMzM4LjkwODUwMjYsIDEwNDQwLCAxLjE4MzYyNjE3NDkyNjc1NzhdLCBbMTY2MzczMDMzOS4wMDgxMDg2LCAxMDQ0OSwgMS4xNDMzNDYxOTA0NTI1NzU3XSwgWzE2NjM3MzAzMzkuMTgzODkzLCAxMDQ2NywgMS4xMjc1MDEzNjg1MjI2NDRdLCBbMTY2MzczMDMzOS4zNjEwNjg1LCAxMDQ4NSwgMS4xODk5NzcxNjkwMzY4NjUyXSwgWzE2NjM3MzAzMzkuNTQzMTYyMywgMTA1MDMsIDEuMTk3MzAzMjk1MTM1NDk4XSwgWzE2NjM3MzAzMzkuODM5Mzc0NSwgMTA1MTIsIDEuMjA3MTQzNzgzNTY5MzM2XSwgWzE2NjM3MzAzNDAuNDc2NzE1NiwgMTA1NjYsIDEuMTc1Nzg1MTgzOTA2NTU1Ml0sIFsxNjYzNzMwMzQwLjU2MTgwODgsIDEwNTc1LCAxLjE4MTQ0NDUyNTcxODY4OV0sIFsxNjYzNzMwMzQwLjc0MzU2NTgsIDEwNTkzLCAxLjE1MDk3NTEwODE0NjY2NzVdLCBbMTY2MzczMDM0MC44MzM3OTQ4LCAxMDYwMiwgMS4xNTI3OTM2NDU4NTg3NjQ2XSwgWzE2NjM3MzAzNDAuOTI2NDA1MiwgMTA2MTEsIDEuMTU2ODgwMDIxMDk1Mjc1OV0sIFsxNjYzNzMwMzQxLjMyOTY1NDIsIDEwNjQ3LCAxLjE3MzM4MTY4NjIxMDYzMjNdLCBbMTY2MzczMDM0MS41MzAzMjI4LCAxMDY2NSwgMS4yMDkyNjIxMzI2NDQ2NTMzXSwgWzE2NjM3MzAzNDEuNjk0NzQ5NCwgMTA2ODMsIDEuMTI5Mzg3NDk3OTAxOTE2NV0sIFsxNjYzNzMwMzQxLjg2NDY5NDYsIDEwNzAxLCAxLjE4MTc3ODU1MDE0ODAxMDNdLCBbMTY2MzczMDM0MS45NTI5NTc0LCAxMDcxMCwgMS4xNjIxNTEzMzY2Njk5MjE5XSwgWzE2NjM3MzAzNDIuMDQzNDk4LCAxMDcxOSwgMS4xODQ5MjM4ODcyNTI4MDc2XSwgWzE2NjM3MzAzNDIuMjk5OTg1MiwgMTA3NDYsIDEuMTU4OTUyNzEzMDEyNjk1M10sIFsxNjYzNzMwMzQyLjM4NDIwNDEsIDEwNzU1LCAxLjE0ODIwNDgwMzQ2Njc5NjldLCBbMTY2MzczMDM0Mi40OTQ5ODU2LCAxMDc2NCwgMS4yMDQxNDU2Njk5MzcxMzM4XSwgWzE2NjM3MzAzNDIuNjIyMDQ5NiwgMTA3NzMsIDEuMjA5ODEwNjE0NTg1ODc2NV0sIFsxNjYzNzMwMzQyLjc0MzEzLCAxMDc4MiwgMS4yMjU5MTQ1OTc1MTEyOTE1XSwgWzE2NjM3MzAzNDIuODQ4ODgxNSwgMTA3OTEsIDEuMTc3NzM0ODUxODM3MTU4Ml0sIFsxNjYzNzMwMzQzLjEzMDgwNzYsIDEwODE4LCAxLjE2NTI1NzgxMTU0NjMyNTddLCBbMTY2MzczMDM0My4yMzQ3MjcsIDEwODI3LCAxLjE3MjIxODkxODgwMDM1NF0sIFsxNjYzNzMwMzQzLjUyODYzODYsIDEwODU0LCAxLjE1MTIwOTM1NDQwMDYzNDhdLCBbMTY2MzczMDM0My42MTM1ODc0LCAxMDg2MywgMS4xMzA5MzE5NzM0NTczMzY0XSwgWzE2NjM3MzAzNDMuNjk4MTg5LCAxMDg3MiwgMS4xNzk2NDA4ODkxNjc3ODU2XSwgWzE2NjM3MzAzNDMuODY4MDk1NCwgMTA4OTAsIDEuMTUwMjIxNTg2MjI3NDE3XSwgWzE2NjM3MzAzNDMuOTU0NDgxOCwgMTA4OTksIDEuMTI4OTY1ODU0NjQ0Nzc1NF0sIFsxNjYzNzMwMzQ0LjI0MTU5MSwgMTA5MjYsIDEuMjA0ODMxMzYxNzcwNjI5OV0sIFsxNjYzNzMwMzQ0LjMyNjA1NiwgMTA5MzUsIDEuMTc2MzM3NzE4OTYzNjIzXSwgWzE2NjM3MzAzNDQuNDA3MzQ4MiwgMTA5NDQsIDEuMTc0NzQ2NjMyNTc1OTg4OF0sIFsxNjYzNzMwMzQ0LjU4MDEyLCAxMDk2MiwgMS4xNDEzOTQ5NzI4MDEyMDg1XSwgWzE2NjM3MzAzNDQuNjU5NzM1NCwgMTA5NzEsIDEuMTQ1MzA2MzQ4ODAwNjU5Ml0sIFsxNjYzNzMwMzQ0Ljk5Nzk4NDQsIDExMDA3LCAxLjIwMDkwNjk5MTk1ODYxODJdLCBbMTY2MzczMDM0NS4wODkwNTg0LCAxMTAxNiwgMS4xOTc0Mjc2MzA0MjQ0OTk1XSwgWzE2NjM3MzAzNDUuMjkyMzgsIDExMDM0LCAxLjE4MTM0NDUwOTEyNDc1NTldLCBbMTY2MzczMDM0NS42MzIwODI1LCAxMTA2MSwgMS4xNDE5MDE4NTA3MDAzNzg0XSwgWzE2NjM3MzAzNDUuNzIzODY0MywgMTEwNzAsIDEuMTQ5MDY3MTYzNDY3NDA3Ml0sIFsxNjYzNzMwMzQ1Ljk4NjY5NzcsIDExMDk3LCAxLjE4MDI0OTIxNDE3MjM2MzNdLCBbMTY2MzczMDM0Ni4wNzY3NTYyLCAxMTEwNiwgMS4xMzgxNDkyNjE0NzQ2MDk0XSwgWzE2NjM3MzAzNDYuNTY3OTU2LCAxMTE1MSwgMS4yMzcwNzg1NDc0Nzc3MjIyXSwgWzE2NjM3MzAzNDYuNzU2NDI2MywgMTExNjksIDEuMTkzMDcxNDg0NTY1NzM0OV0sIFsxNjYzNzMwMzQ2Ljg1NDc2NDIsIDExMTc4LCAxLjE3MjQ0OTQ2OTU2NjM0NTJdLCBbMTY2MzczMDM0Ni45NDExNDM4LCAxMTE4NywgMS4xNTA5NjE4NzU5MTU1MjczXSwgWzE2NjM3MzAzNDcuMDMyNDczOCwgMTExOTYsIDEuMTQ0MjY2MTI4NTQwMDM5XSwgWzE2NjM3MzAzNDcuMTE5ODkwNSwgMTEyMDUsIDEuMTQwMjI5NDYzNTc3MjcwNV0sIFsxNjYzNzMwMzQ3LjIyMTgxNCwgMTEyMTQsIDEuMTkzOTQ3MTk2MDA2Nzc1XSwgWzE2NjM3MzAzNDcuMzEzMzQyOCwgMTEyMjMsIDEuMTgxOTEwNzUzMjUwMTIyXSwgWzE2NjM3MzAzNDcuODExMTM5MywgMTEyNTAsIDEuMjAxNTIzNzgwODIyNzU0XSwgWzE2NjM3MzAzNDcuODk5MTEzNCwgMTEyNTksIDEuMjgzMTQ5NjAwMDI4OTkxN10sIFsxNjYzNzMwMzQ3Ljk4NDc5NDksIDExMjY4LCAxLjIyMzIyMTY1OTY2MDMzOTRdLCBbMTY2MzczMDM0OC4wNzU1NTA4LCAxMTI3NywgMS4xODE0NTAxMjg1NTUyOTc5XSwgWzE2NjM3MzAzNDguMjUwMTU0NywgMTEyOTUsIDEuMTI2NDY0NDg2MTIyMTMxM10sIFsxNjYzNzMwMzQ4LjQ2NDA2ODQsIDExMzEzLCAxLjE5MzcwNDk2MjczMDQwNzddLCBbMTY2MzczMDM0OC41NTA5NDU1LCAxMTMyMiwgMS4yMjQ0MTAyOTU0ODY0NTAyXSwgWzE2NjM3MzAzNDguODkwNTM0NiwgMTEzNDksIDEuMjA3NTA3ODQ4NzM5NjI0XSwgWzE2NjM3MzAzNDguOTc4NTQ4MywgMTEzNTgsIDEuMTc4MDUxOTQ4NTQ3MzYzM10sIFsxNjYzNzMwMzQ5LjI1NTIzNzgsIDExMzg1LCAxLjE1OTcxODg3MTExNjYzODJdLCBbMTY2MzczMDM0OS41Mzk3MjIsIDExNDEyLCAxLjIyOTAyNjA3OTE3Nzg1NjRdLCBbMTY2MzczMDM0OS44OTY5NDc0LCAxMTQ0OCwgMS4xNDk2MjE4NDQyOTE2ODddLCBbMTY2MzczMDM1MC4zNjQ1NDU4LCAxMTQ5MywgMS4xNjEzNjMwMDU2MzgxMjI2XSwgWzE2NjM3MzAzNTAuNDU4Nzk3NSwgMTE1MDIsIDEuMTQ3ODg0ODQ1NzMzNjQyNl0sIFsxNjYzNzMwMzUwLjU1NTU1MTgsIDExNTExLCAxLjE2MjU2NTIzMTMyMzI0MjJdLCBbMTY2MzczMDM1MC43MzA5NzMsIDExNTI5LCAxLjE0MDU4NTMwMzMwNjU3OTZdLCBbMTY2MzczMDM1MC45MDk5NTkzLCAxMTU0NywgMS4xMzEyMTU1NzIzNTcxNzc3XSwgWzE2NjM3MzAzNTEuMTc2ODEzNiwgMTE1NzQsIDEuMTI2OTk3OTQ3NjkyODcxXSwgWzE2NjM3MzAzNTEuNDUxMDY3MiwgMTE2MDEsIDEuMTY3OTA4NDMwMDk5NDg3M10sIFsxNjYzNzMwMzUxLjcxNDY0OTIsIDExNjE5LCAxLjE2ODI1NTMyOTEzMjA4XSwgWzE2NjM3MzAzNTIuMDc5NDcwMiwgMTE2NDYsIDEuMTM2MjI3OTY1MzU0OTE5NF0sIFsxNjYzNzMwMzUyLjM1ODc1MDYsIDExNjczLCAxLjE1OTgzNTY5NjIyMDM5OF0sIFsxNjYzNzMwMzUyLjU0NTI0OCwgMTE2OTEsIDEuMTkwMzUzOTg5NjAxMTM1M10sIFsxNjYzNzMwMzUyLjY0OTA3NzQsIDExNzAwLCAxLjE3MDM4MjQ5OTY5NDgyNDJdLCBbMTY2MzczMDM1Mi44Mjc5NjAzLCAxMTcxOCwgMS4xMzUzOTQ1NzMyMTE2N10sIFsxNjYzNzMwMzUyLjkxNzkyMDgsIDExNzI3LCAxLjE0ODIzNTIwMTgzNTYzMjNdLCBbMTY2MzczMDM1My4wOTQ3NTQyLCAxMTc0NSwgMS4yMDgxMzE3OTAxNjExMzI4XSwgWzE2NjM3MzAzNTMuMjcwODU0NywgMTE3NjMsIDEuMTU2Mzg5MzU1NjU5NDg0OV0sIFsxNjYzNzMwMzUzLjYyODE4NywgMTE3OTksIDEuMTM3MzY4OTE3NDY1MjFdLCBbMTY2MzczMDM1My44OTcyNDMsIDExODI2LCAxLjIyMjA2NDI1NjY2ODA5MDhdLCBbMTY2MzczMDM1My45ODQ0NzYzLCAxMTgzNSwgMS4yMjgwNDc3Mjg1Mzg1MTMyXSwgWzE2NjM3MzAzNTQuMDc2ODMyMywgMTE4NDQsIDEuMjIwNzQwNzk1MTM1NDk4XSwgWzE2NjM3MzAzNTQuNTIyMzcxOCwgMTE4ODksIDEuMjExNjM3NzM1MzY2ODIxM10sIFsxNjYzNzMwMzU0LjkyNTk2NiwgMTE5MDcsIDEuMzI3Nzg5MzA2NjQwNjI1XSwgWzE2NjM3MzAzNTUuMDE5MzMyLCAxMTkxNiwgMS4zMjUxNzg4NjE2MTgwNDJdLCBbMTY2MzczMDM1NS4yMzc5OTgyLCAxMTkzNCwgMS4zMzU4ODE5NDg0NzEwNjkzXSwgWzE2NjM3MzAzNTUuMzMzNzUzLCAxMTk0MywgMS4yMzkwNjAxNjM0OTc5MjQ4XSwgWzE2NjM3MzAzNTUuNTIwMTIxMywgMTE5NjEsIDEuMTc0NzAyMjg2NzIwMjc1OV0sIFsxNjYzNzMwMzU2LjE1NjE2MzcsIDEyMDI0LCAxLjE1NDU1Mzg5MDIyODI3MTVdLCBbMTY2MzczMDM1Ni42OTkyMDU0LCAxMjA3OCwgMS4xMzczNzg5MzEwNDU1MzIyXSwgWzE2NjM3MzAzNTYuOTcwMTM3NCwgMTIxMDUsIDEuMTMxNzY3NTExMzY3Nzk3OV0sIFsxNjYzNzMwMzU3LjA1MzU3MTcsIDEyMTE0LCAxLjEzNjQ2NDU5NTc5NDY3NzddLCBbMTY2MzczMDM1Ny4yMzQxMzcsIDEyMTMyLCAxLjE2ODA5MTQxNjM1ODk0NzhdLCBbMTY2MzczMDM1Ny4zMTQ4NTQ0LCAxMjE0MSwgMS4yMDc2NDU0MTYyNTk3NjU2XSwgWzE2NjM3MzAzNTcuNTgxNTg5NywgMTIxNjgsIDEuMTcyOTM3OTg5MjM0OTI0M10sIFsxNjYzNzMwMzU3LjY2Nzc3LCAxMjE3NywgMS4xMjA1NzA4OTgwNTYwMzAzXSwgWzE2NjM3MzAzNTcuODQ2NTg3LCAxMjE5NSwgMS4xMzU5ODAyNDg0NTEyMzNdLCBbMTY2MzczMDM1OC4xMTM4NDIyLCAxMjIyMiwgMS4xNzU4NzgxNjcxNTI0MDQ4XSwgWzE2NjM3MzAzNTguMjAxODMxNiwgMTIyMzEsIDEuMTU4NTI4NDQ3MTUxMTg0XSwgWzE2NjM3MzAzNTguMzc5MzYwNywgMTIyNDksIDEuMTg3MDc1MDE4ODgyNzUxNV0sIFsxNjYzNzMwMzU4LjcyNTQ5MiwgMTIyODUsIDEuMTU5MDU1MjMzMDAxNzA5XSwgWzE2NjM3MzAzNTguODExNzIwMSwgMTIyOTQsIDEuMTQ3MzIzMzY5OTc5ODU4NF0sIFsxNjYzNzMwMzU4LjkxMzY3NSwgMTIzMDMsIDEuMTA3NzIwNzMyNjg4OTAzOF0sIFsxNjYzNzMwMzU5LjAwMzIxNjcsIDEyMzEyLCAxLjE1MzE2NTU3ODg0MjE2M10sIFsxNjYzNzMwMzU5LjA4OTAxMzMsIDEyMzIxLCAxLjEyNzg0MTk0OTQ2Mjg5MDZdLCBbMTY2MzczMDM1OS40MzczMTc2LCAxMjM1NywgMS4xNTIyNjkwMDU3NzU0NTE3XSwgWzE2NjM3MzAzNTkuNTI5NjM3NiwgMTIzNjYsIDEuMTUzNDgzMjcxNTk4ODE2XSwgWzE2NjM3MzAzNTkuNzA2NDg0LCAxMjM4NCwgMS4xMzE1MjMzNzA3NDI3OTc5XSwgWzE2NjM3MzAzNTkuNzk2OTk1NiwgMTIzOTMsIDEuMTMxNDA4NTcyMTk2OTYwNF0sIFsxNjYzNzMwMzYwLjE1ODI5MzcsIDEyNDI5LCAxLjEzMDMzNzk1MzU2NzUwNDldLCBbMTY2MzczMDM2MC4yNTE4MTk2LCAxMjQzOCwgMS4xMzQ2MzkxNDM5NDM3ODY2XSwgWzE2NjM3MzAzNjAuODk0MzI2NCwgMTI0NzQsIDEuMTUxMTg0MzIwNDQ5ODI5XSwgWzE2NjM3MzAzNjAuOTk5NzI0NiwgMTI0ODMsIDEuMTIwODc4MTAwMzk1MjAyNl0sIFsxNjYzNzMwMzYxLjExMzk3NzIsIDEyNDkyLCAxLjEzNjcwMzEzMzU4MzA2ODhdLCBbMTY2MzczMDM2MS40NTg4OTcsIDEyNTE5LCAxLjEzODQ0OTQzMDQ2NTY5ODJdLCBbMTY2MzczMDM2MS43NjY0NjU0LCAxMjU0NiwgMS4xMjE5NDQ1NDY2OTk1MjRdLCBbMTY2MzczMDM2Mi4wNTA2MDcyLCAxMjU3MywgMS4xMzU4ODQ3NjE4MTAzMDI3XSwgWzE2NjM3MzAzNjIuMTM4MTI2NiwgMTI1ODIsIDEuMTYwMzUwNTYxMTQxOTY3OF0sIFsxNjYzNzMwMzYyLjM0NDI4NCwgMTI2MDAsIDEuMTMwNDQ3NjI2MTEzODkxNl0sIFsxNjYzNzMwMzYyLjQzMzE0ODksIDEyNjA5LCAxLjEzNDM3NzgzNzE4MTA5MTNdLCBbMTY2MzczMDM2Mi42OTk4ODM1LCAxMjYzNiwgMS4yMzEwMzI3MjkxNDg4NjQ3XSwgWzE2NjM3MzAzNjIuOTE2MDE2LCAxMjY1NCwgMS4xMzAwNzM1NDczNjMyODEyXSwgWzE2NjM3MzAzNjMuNjY4NDc4LCAxMjcyNiwgMS4xMzM0ODA5MDY0ODY1MTEyXSwgWzE2NjM3MzAzNjMuOTMxNDM5NiwgMTI3NTMsIDEuMTYyODQxNTU4NDU2NDIxXSwgWzE2NjM3MzAzNjQuMDIwNjEzMiwgMTI3NjIsIDEuMTkxNjI2MDcxOTI5OTMxNl0sIFsxNjYzNzMwMzY0LjIwMTM2MjgsIDEyNzgwLCAxLjEzOTMzNzc3ODA5MTQzMDddLCBbMTY2MzczMDM2NC4zNzc4MzkzLCAxMjc5OCwgMS4xMjQ3ODk4MzQwMjI1MjJdLCBbMTY2MzczMDM2NC40NzI1MDc1LCAxMjgwNywgMS4xMjQxNDE2OTMxMTUyMzQ0XSwgWzE2NjM3MzAzNjUuMjY2MjExNywgMTI4ODgsIDEuMTg2ODI1NjMzMDQ5MDExMl0sIFsxNjYzNzMwMzY1LjM1MzUzMTYsIDEyODk3LCAxLjIzMjIxOTIxOTIwNzc2MzddLCBbMTY2MzczMDM2NS40Mzc1MzcyLCAxMjkwNiwgMS4xNTQzODQ5NzA2NjQ5NzhdLCBbMTY2MzczMDM2NS41Mjc3Njk2LCAxMjkxNSwgMS4xNDcwNTA0OTk5MTYwNzY3XSwgWzE2NjM3MzAzNjUuNzAyNTIwMSwgMTI5MzMsIDEuMTI5NjMxNjM4NTI2OTE2NV0sIFsxNjYzNzMwMzY1Ljg3OTk3MTcsIDEyOTUxLCAxLjE0MTgwNjYwMjQ3ODAyNzNdLCBbMTY2MzczMDM2NS45NjcxNDc4LCAxMjk2MCwgMS4xMjQ2MjI1ODMzODkyODIyXSwgWzE2NjM3MzAzNjYuMDUyOTUzNSwgMTI5NjksIDEuMTY5ODg0NjgxNzAxNjYwMl0sIFsxNjYzNzMwMzY2LjE2Njc4OTgsIDEyOTc4LCAxLjEzNDgwOTEzNjM5MDY4Nl0sIFsxNjYzNzMwMzY2LjUyMjc0NDIsIDEzMDA1LCAxLjExNjExOTE0NjM0NzA0Nl0sIFsxNjYzNzMwMzY2LjcwNjIwMjUsIDEzMDIzLCAxLjEyNjY5MzEyOTUzOTQ4OTddLCBbMTY2MzczMDM2Ni43OTI1Mjc3LCAxMzAzMiwgMS4xODE3ODg1NjM3MjgzMzI1XSwgWzE2NjM3MzAzNjYuODg2MTEzLCAxMzA0MSwgMS4yMjMyNDkzMTYyMTU1MTUxXSwgWzE2NjM3MzAzNjYuOTcyNjEyMSwgMTMwNTAsIDEuMjAxMDYwMTc1ODk1NjkxXSwgWzE2NjM3MzAzNjcuMDY3NDksIDEzMDU5LCAxLjIxMjMxNjUxMzA2MTUyMzRdLCBbMTY2MzczMDM2Ny4xNTczODAzLCAxMzA2OCwgMS4yNDMxMDcxOTk2Njg4ODQzXSwgWzE2NjM3MzAzNjcuMjQ2NTMxMiwgMTMwNzcsIDEuMTg1NjI0MzYxMDM4MjA4XSwgWzE2NjM3MzAzNjcuNDMzNTU0LCAxMzA5NSwgMS4yMTk3MzY0NTY4NzEwMzI3XSwgWzE2NjM3MzAzNjcuNTIyNDY3NCwgMTMxMDQsIDEuMTQ1ODMxNzA0MTM5NzA5NV0sIFsxNjYzNzMwMzY3LjYwNzAwMTUsIDEzMTEzLCAxLjEzODU1ODE0OTMzNzc2ODZdLCBbMTY2MzczMDM2Ny42OTIzNDk0LCAxMzEyMiwgMS4xODk1MDE0MDQ3NjIyNjhdLCBbMTY2MzczMDM2Ny43NzczOTEsIDEzMTMxLCAxLjE5NTMyODM1NDgzNTUxMDNdLCBbMTY2MzczMDM2Ny44NjU2OTksIDEzMTQwLCAxLjE0Nzc3MjMxMjE2NDMwNjZdLCBbMTY2MzczMDM2Ny45NzE1Mjc2LCAxMzE0OSwgMS4xODcyMzU5NTE0MjM2NDVdLCBbMTY2MzczMDM2OC4wOTM2NzA0LCAxMzE1OCwgMS4xNzk3MTI2NTMxNjAwOTUyXSwgWzE2NjM3MzAzNjguMjM1NDcwMywgMTMxNjcsIDEuMTk5NTU2MTEyMjg5NDI4N10sIFsxNjYzNzMwMzY4LjM2NTY0NiwgMTMxNzYsIDEuMTM4OTc1MzgxODUxMTk2M10sIFsxNjYzNzMwMzY4LjQ4MjA3OTMsIDEzMTg1LCAxLjE0NjE2MzEwNTk2NDY2MDZdLCBbMTY2MzczMDM2OS4yMDY1Njc1LCAxMzIzOSwgMS4xNzY4ODg3MDQyOTk5MjY4XSwgWzE2NjM3MzAzNjkuNDk5Njk0NiwgMTMyNjYsIDEuMTM3NzE2ODg5MzgxNDA4N10sIFsxNjYzNzMwMzY5LjU4NjU2OSwgMTMyNzUsIDEuMTQ2NjQ1MDY5MTIyMzE0NV0sIFsxNjYzNzMwMzY5Ljc5NjkxNDYsIDEzMjkzLCAxLjEzNjI1NjQ1NjM3NTEyMl0sIFsxNjYzNzMwMzY5Ljg4OTIyMjEsIDEzMzAyLCAxLjEyMzE4NjcwNzQ5NjY0M10sIFsxNjYzNzMwMzcwLjI0MzYyMDYsIDEzMzM4LCAxLjEyMzkyNjQwMTEzODMwNTddLCBbMTY2MzczMDM3MC4zMzI0MjYsIDEzMzQ3LCAxLjE3MTg2MDA5ODgzODgwNjJdLCBbMTY2MzczMDM3MC40MTg4NDExLCAxMzM1NiwgMS4xMjIwOTE3NzAxNzIxMTkxXSwgWzE2NjM3MzAzNzAuNTI5NzcxMywgMTMzNjUsIDEuMTQ1Njg3MzQxNjkwMDYzNV0sIFsxNjYzNzMwMzcwLjg1MTQ5NSwgMTMzOTIsIDEuMTc0MDUyODM0NTEwODAzMl0sIFsxNjYzNzMwMzcwLjk0MDgxMDcsIDEzNDAxLCAxLjE1MDExMTY3NTI2MjQ1MTJdLCBbMTY2MzczMDM3MS4wNjQwMzMzLCAxMzQxMCwgMS4xMjY1MTUwMzA4NjA5MDA5XSwgWzE2NjM3MzAzNzEuMTgwNzk4OCwgMTM0MTksIDEuMTQyNDg5MTk0ODY5OTk1MV0sIFsxNjYzNzMwMzcxLjI5OTA5MTgsIDEzNDI4LCAxLjEzNTY0MDYyMTE4NTMwMjddLCBbMTY2MzczMDM3MS41MTYyMTQxLCAxMzQ0NiwgMS4xNzc4MjI5NDc1MDIxMzYyXSwgWzE2NjM3MzAzNzEuNjAzODQwNCwgMTM0NTUsIDEuMTYwNjI0MTQ2NDYxNDg2OF0sIFsxNjYzNzMwMzcxLjk3MjY5ODIsIDEzNDkxLCAxLjE4ODk0Nzc5NjgyMTU5NDJdLCBbMTY2MzczMDM3Mi4wNTg5MTUxLCAxMzUwMCwgMS4xNjc1MzY4NTQ3NDM5NTc1XSwgWzE2NjM3MzAzNzIuMTQ1MTk4MywgMTM1MDksIDEuMTQzNTQ2MjIzNjQwNDQyXSwgWzE2NjM3MzAzNzIuMzU4MDUyLCAxMzUyNywgMS4xNjE0NzExMjg0NjM3NDUxXSwgWzE2NjM3MzAzNzIuNjM4MDg0NCwgMTM1NTQsIDEuMTQwNzk3NzM0MjYwNTU5XSwgWzE2NjM3MzAzNzIuOTcyMjgzMSwgMTM1OTAsIDEuMTY1NzAyMTA0NTY4NDgxNF0sIFsxNjYzNzMwMzczLjA1NDAxODMsIDEzNTk5LCAxLjE0NjkzNDk4NjExNDUwMl0sIFsxNjYzNzMwMzczLjE1NzQ4LCAxMzYwOCwgMS4xNjE5MTU3NzkxMTM3Njk1XSwgWzE2NjM3MzAzNzMuMzQxMjAxMywgMTM2MjYsIDEuMTQxNTkyMDI1NzU2ODM2XSwgWzE2NjM3MzAzNzMuNTI3ODQzLCAxMzY0NCwgMS4yMDczNzQ1NzI3NTM5MDYyXSwgWzE2NjM3MzAzNzMuNjE5NjI5MSwgMTM2NTMsIDEuMTY1NjA4ODgyOTA0MDUyN10sIFsxNjYzNzMwMzc0LjI2MzMxOTMsIDEzNzE2LCAxLjEzNTM3OTkxMDQ2OTA1NTJdLCBbMTY2MzczMDM3NC41NTg3MjksIDEzNzQzLCAxLjIxNTMzNzE1NzI0OTQ1MDddLCBbMTY2MzczMDM3NC43NTY5Mjk2LCAxMzc2MSwgMS4xMzMzMDkwMDY2OTA5NzldLCBbMTY2MzczMDM3NC45Mjk3NDE5LCAxMzc3OSwgMS4yMzU2MDM4MDkzNTY2ODk1XSwgWzE2NjM3MzAzNzUuMjI0NTQ2NywgMTM4MDYsIDEuMjQxMTQ1MTMzOTcyMTY4XSwgWzE2NjM3MzAzNzUuMzExMTYyNywgMTM4MTUsIDEuMTY1MzUyOTQwNTU5Mzg3Ml0sIFsxNjYzNzMwMzc1LjU3NTU4OTQsIDEzODQyLCAxLjEwNjc2NzI5Njc5MTA3NjddLCBbMTY2MzczMDM3NS42NjMxNjcsIDEzODUxLCAxLjIzMDQ4MTUwNTM5Mzk4Ml0sIFsxNjYzNzMwMzc1Ljg1MDAwMDksIDEzODY5LCAxLjE2NjIzMDQ0MDEzOTc3MDVdLCBbMTY2MzczMDM3NS45NzA2MDc4LCAxMzg3OCwgMS4xNzIzMDA5MzQ3OTE1NjVdLCBbMTY2MzczMDM3Ni40MTEyODM3LCAxMzkxNCwgMS4yMzk4NTQ2OTM0MTI3ODA4XSwgWzE2NjM3MzAzNzYuNTk3Njk0LCAxMzkzMiwgMS4xNDY2MTk0MzkxMjUwNjFdLCBbMTY2MzczMDM3Ni45MzMyNTQsIDEzOTQxLCAxLjEzMjI1MTM4MTg3NDA4NDVdLCBbMTY2MzczMDM3Ny4yMDk4NjI1LCAxMzk2OCwgMS4xNDIzNDMwNDQyODEwMDU5XSwgWzE2NjM3MzAzNzcuMjk2MjU1NiwgMTM5NzcsIDEuMTU2MTc4NzEyODQ0ODQ4Nl0sIFsxNjYzNzMwMzc3LjM4MzUxNjgsIDEzOTg2LCAxLjEzODEwODI1MzQ3OTAwNF0sIFsxNjYzNzMwMzc3LjU2OTcwMDIsIDE0MDA0LCAxLjE2MDIzOTkzNDkyMTI2NDZdLCBbMTY2MzczMDM3Ny43NzEwNzE0LCAxNDAyMiwgMS4xNTcwNDExOTIwNTQ3NDg1XSwgWzE2NjM3MzAzNzguMDk3ODAxNCwgMTQwNDksIDEuMTQ3MjQ5NDYwMjIwMzM3XSwgWzE2NjM3MzAzNzguMjgxNTgxOSwgMTQwNjcsIDEuMTQ2NzUzMzExMTU3MjI2Nl0sIFsxNjYzNzMwMzc4LjQ1MzY2ODQsIDE0MDg1LCAxLjE0MzgyOTU4NDEyMTcwNF0sIFsxNjYzNzMwMzc4LjU0MTcwNTQsIDE0MDk0LCAxLjE4MTQ2MDczODE4MjA2NzldLCBbMTY2MzczMDM3OC42MjcxMzMsIDE0MTAzLCAxLjE0MDEwOTY1ODI0MTI3Ml0sIFsxNjYzNzMwMzc4LjgwMjAzOTEsIDE0MTIxLCAxLjE0Njc1OTc0ODQ1ODg2MjNdLCBbMTY2MzczMDM3OC45OTk4MjE0LCAxNDEzOSwgMS4xNTkyOTQwMDkyMDg2NzkyXSwgWzE2NjM3MzAzNzkuMDg5ODk1LCAxNDE0OCwgMS4xMTE3MjgzMTA1ODUwMjJdLCBbMTY2MzczMDM3OS4xNzg4MTU2LCAxNDE1NywgMS4xNzY2MDA4MTM4NjU2NjE2XSwgWzE2NjM3MzAzNzkuMjcwNjg2NiwgMTQxNjYsIDEuMTg3ODE3NDU0MzM4MDczN10sIFsxNjYzNzMwMzc5LjM1NTc2MDgsIDE0MTc1LCAxLjE4Nzg3MDUwMjQ3MTkyMzhdLCBbMTY2MzczMDM3OS41MzA0NjU2LCAxNDE5MywgMS4xMjU5NjQ1MjIzNjE3NTU0XSwgWzE2NjM3MzAzNzkuNjk2MDE2MywgMTQyMTEsIDEuMTE1NTM2ODA4OTY3NTkwM10sIFsxNjYzNzMwMzc5Ljc4MTExODYsIDE0MjIwLCAxLjEyOTUxNTA1MTg0MTczNThdLCBbMTY2MzczMDM3OS44NjY1MTE2LCAxNDIyOSwgMS4xMjEyNDYyMTg2ODEzMzU0XSwgWzE2NjM3MzAzNzkuOTY5OTQ3OCwgMTQyMzgsIDEuMTcxOTc3NDAwNzc5NzI0MV0sIFsxNjYzNzMwMzgwLjA3ODUwOTgsIDE0MjQ3LCAxLjE4OTY5NTAwMDY0ODQ5ODVdLCBbMTY2MzczMDM4MC40MTc1MDI2LCAxNDI3NCwgMS4xMzAwNzMxODk3MzU0MTI2XSwgWzE2NjM3MzAzODEuMDAxMDk1OCwgMTQzMTksIDEuMTQwMTEyMjgwODQ1NjQyXSwgWzE2NjM3MzAzODEuNTM3ODY4LCAxNDM2NCwgMS4xMzAzNjk0MjQ4MTk5NDYzXSwgWzE2NjM3MzAzODEuNjQ2OTYwNywgMTQzNzMsIDEuMTE4NzczNjk4ODA2NzYyN10sIFsxNjYzNzMwMzgxLjc0NTExMTIsIDE0MzgyLCAxLjE0Mjk4MjM2MzcwMDg2NjddLCBbMTY2MzczMDM4Mi4xNDA0ODU1LCAxNDQxOCwgMS4xMTgxMzU0NTIyNzA1MDc4XSwgWzE2NjM3MzAzODIuMjMzNjEsIDE0NDI3LCAxLjE0MDYwNTY4ODA5NTA5MjhdLCBbMTY2MzczMDM4Mi4zNTMzNjIzLCAxNDQzNiwgMS4xMjE4NDg1ODMyMjE0MzU1XSwgWzE2NjM3MzAzODMuMDQzNjY3MywgMTQ0OTksIDEuMTEzNDA3OTY5NDc0NzkyNV0sIFsxNjYzNzMwMzgzLjE0Mzc0NCwgMTQ1MDgsIDEuMTI0NTgxOTMzMDIxNTQ1NF0sIFsxNjYzNzMwMzgzLjMzNjA2MjQsIDE0NTI2LCAxLjEzMjE5NjA2ODc2MzczM10sIFsxNjYzNzMwMzgzLjQyMzA0MDYsIDE0NTM1LCAxLjEwNTQ3NDQ3MjA0NTg5ODRdLCBbMTY2MzczMDM4My41MDg4ODczLCAxNDU0NCwgMS4xNDExMDY4NDM5NDgzNjQzXSwgWzE2NjM3MzAzODMuNTk2MjIsIDE0NTUzLCAxLjEzNTA3NDk3MzEwNjM4NDNdLCBbMTY2MzczMDM4My45NTM4MjA3LCAxNDU4OSwgMS4xMzAzMjQ2MDIxMjcwNzUyXSwgWzE2NjM3MzAzODQuMTQ0MjMyLCAxNDYwNywgMS4xNTY5NjkxODk2NDM4NTk5XSwgWzE2NjM3MzAzODQuMzE5MjA4NCwgMTQ2MjUsIDEuMTU0NTI2NDcyMDkxNjc0OF0sIFsxNjYzNzMwMzg0LjQ5NTc0MjgsIDE0NjQzLCAxLjE4OTY2MDQyOTk1NDUyODhdLCBbMTY2MzczMDM4NC41ODM0NDE1LCAxNDY1MiwgMS4xNDc0NjIzNjgwMTE0NzQ2XSwgWzE2NjM3MzAzODUuMDQ0NTY0MiwgMTQ2NzksIDEuMTI2MDQwODE2MzA3MDY3OV0sIFsxNjYzNzMwMzg1LjEzODM0MjYsIDE0Njg4LCAxLjE2MTA0MDQyNTMwMDU5ODFdLCBbMTY2MzczMDM4NS40OTIxMDg2LCAxNDcyNCwgMS4xMzAyMzEwMjI4MzQ3Nzc4XSwgWzE2NjM3MzAzODUuNTgxMDU2OCwgMTQ3MzMsIDEuMTMyODg1MzM2ODc1OTE1NV0sIFsxNjYzNzMwMzg1LjY3MTc3OTQsIDE0NzQyLCAxLjExMzkzNzM3NzkyOTY4NzVdLCBbMTY2MzczMDM4NS43NTc3ODksIDE0NzUxLCAxLjExNzQ5MTM2NDQ3OTA2NV0sIFsxNjYzNzMwMzg1LjkzMzEzNzcsIDE0NzY5LCAxLjE0MTI2OTgwMzA0NzE4MDJdLCBbMTY2MzczMDM4Ni4wMjI4NTEsIDE0Nzc4LCAxLjExNzg1NzkzMzA0NDQzMzZdLCBbMTY2MzczMDM4Ni40Njg5ODksIDE0ODIzLCAxLjE3MzYxOTAzMTkwNjEyOF0sIFsxNjYzNzMwMzg2LjU1NjY2NDUsIDE0ODMyLCAxLjEwNTUxMDExNTYyMzQ3NDFdLCBbMTY2MzczMDM4Ni43MjcxODM4LCAxNDg1MCwgMS4xMzQ1MzQ1OTczOTY4NTA2XSwgWzE2NjM3MzAzODYuOTAyNzI3LCAxNDg2OCwgMS4xMTU4NjU3MDczOTc0NjFdLCBbMTY2MzczMDM4Ni45ODQ1NzA3LCAxNDg3NywgMS4xMTY5MTcxMzMzMzEyOTg4XSwgWzE2NjM3MzAzODcuMDcxMjg5LCAxNDg4NiwgMS4xMTg1MTI4Njg4ODEyMjU2XSwgWzE2NjM3MzAzODcuMTU2MTEzOSwgMTQ4OTUsIDEuMTA0MTEwMjQwOTM2Mjc5M10sIFsxNjYzNzMwMzg3LjMzODc3NzMsIDE0OTEzLCAxLjEyMDcxODU5ODM2NTc4MzddLCBbMTY2MzczMDM4Ny41MTg3NDEsIDE0OTMxLCAxLjE1NDEzNzEzNDU1MjAwMl0sIFsxNjYzNzMwMzg3LjYzNTA5ODUsIDE0OTQwLCAxLjE5NTMxNDg4NDE4NTc5MV0sIFsxNjYzNzMwMzg3Ljg5NDQ1NzMsIDE0OTY3LCAxLjE2Nzg3Mjc4NjUyMTkxMTZdLCBbMTY2MzczMDM4OC4wNjU0MjI4LCAxNDk4NSwgMS4xMTEzNjI2OTU2OTM5Njk3XSwgWzE2NjM3MzAzODguMjQzMDgzNywgMTUwMDMsIDEuMDkzMDQ5NjQ1NDIzODg5Ml0sIFsxNjYzNzMwMzg4LjUwOTA5OTIsIDE1MDMwLCAxLjE0NzQyMzUwNTc4MzA4MV0sIFsxNjYzNzMwMzg4LjYyMDQyOCwgMTUwMzksIDEuMTc3MjQyOTk0MzA4NDcxN10sIFsxNjYzNzMwMzg4Ljk1NzYxNjgsIDE1MDc1LCAxLjExMTU1NjQxMDc4OTQ4OTddLCBbMTY2MzczMDM4OS4yMjM1NzAzLCAxNTEwMiwgMS4xNTYwNTA4MDEyNzcxNjA2XSwgWzE2NjM3MzAzODkuNDAxMzI2LCAxNTEyMCwgMS4xMDMxMzEyOTQyNTA0ODgzXSwgWzE2NjM3MzAzODkuNDkyNzk5LCAxNTEyOSwgMS4xNDkzNTExMTk5OTUxMTcyXSwgWzE2NjM3MzAzODkuNjA3MTU0NCwgMTUxMzgsIDEuMjIzNDc3MTI1MTY3ODQ2N10sIFsxNjYzNzMwMzg5LjY5NTc3MzYsIDE1MTQ3LCAxLjExOTAwNDM2ODc4MjA0MzVdLCBbMTY2MzczMDM4OS45NDk3MzI1LCAxNTE3NCwgMS4xNTQ2OTkyMDYzNTIyMzM5XSwgWzE2NjM3MzAzOTAuMDM2Nzc5LCAxNTE4MywgMS4xMjc3MDA1NjcyNDU0ODM0XSwgWzE2NjM3MzAzOTAuMTI1NjQ1OSwgMTUxOTIsIDEuMTQyMjk5NjUyMDk5NjA5NF0sIFsxNjYzNzMwMzkwLjIxNjczNDQsIDE1MjAxLCAxLjE0NjMzOTA1ODg3NjAzNzZdLCBbMTY2MzczMDM5MC4zMDUyNDIsIDE1MjEwLCAxLjEyOTk5NjE4MDUzNDM2MjhdLCBbMTY2MzczMDM5MC4zOTI5NDE3LCAxNTIxOSwgMS4xNDkzOTA0NTkwNjA2NjldLCBbMTY2MzczMDM5MC42NzY0NzUsIDE1MjQ2LCAxLjE1MzAyNDQzNTA0MzMzNV0sIFsxNjYzNzMwMzkwLjc2MzE2MjEsIDE1MjU1LCAxLjEzMzIxNzU3MzE2NTg5MzZdLCBbMTY2MzczMDM5MC44NDg3NDIyLCAxNTI2NCwgMS4xMTI2MjM0NTMxNDAyNTg4XSwgWzE2NjM3MzAzOTEuMDI0MzE0OSwgMTUyODIsIDEuMTg4NjczNzM0NjY0OTE3XSwgWzE2NjM3MzAzOTEuMTEwNTIxOCwgMTUyOTEsIDEuMTk0OTcwMTMwOTIwNDEwMl0sIFsxNjYzNzMwMzkxLjE5NTE5MTEsIDE1MzAwLCAxLjIwNjEyODIzOTYzMTY1MjhdLCBbMTY2MzczMDM5MS4yODQxNDAzLCAxNTMwOSwgMS4xMjUwNDc1NjQ1MDY1MzA4XSwgWzE2NjM3MzAzOTEuMzY0MTcxNywgMTUzMTgsIDEuMTQxNzYxNTQxMzY2NTc3MV0sIFsxNjYzNzMwMzkxLjQ1NDQ1MDYsIDE1MzI3LCAxLjExNTUyMjk4MDY5MDAwMjRdLCBbMTY2MzczMDM5MS42NTgwNjcsIDE1MzQ1LCAxLjE4Nzg4Nzc4NzgxODkwODddLCBbMTY2MzczMDM5MS45MjMyNTg1LCAxNTM3MiwgMS4xMjI1NjEwOTcxNDUwODA2XSwgWzE2NjM3MzAzOTIuMTA1NTUzLCAxNTM5MCwgMS4xMTYzNDQzMzI2OTUwMDczXSwgWzE2NjM3MzAzOTIuMTk5OTUyOCwgMTUzOTksIDEuMTI5ODIwMjI3NjIyOTg1OF0sIFsxNjYzNzMwMzkyLjI5MDQzNTMsIDE1NDA4LCAxLjEwNjA5MTI2MDkxMDAzNDJdLCBbMTY2MzczMDM5Mi4zNzcxMDUyLCAxNTQxNywgMS4xNDY0MzI5OTU3OTYyMDM2XSwgWzE2NjM3MzAzOTMuMDQ0MTczNSwgMTU0NTMsIDEuMTA1MTkxNzA3NjExMDg0XSwgWzE2NjM3MzAzOTMuMzA2NTk0NiwgMTU0NzEsIDEuMTM2MzY4NzUxNTI1ODc5XSwgWzE2NjM3MzAzOTMuNDU1MTg1NCwgMTU0ODAsIDEuMTA5NDYzODEwOTIwNzE1M10sIFsxNjYzNzMwMzkzLjc1MDM5NTUsIDE1NTA3LCAxLjEyMTUwNjgxMDE4ODI5MzVdLCBbMTY2MzczMDM5My44NzA3MTMyLCAxNTUxNiwgMS4xNTg4NTUzMTkwMjMxMzIzXSwgWzE2NjM3MzAzOTQuMDExMzcyNiwgMTU1MjUsIDEuMTMxMjIwNjk4MzU2NjI4NF0sIFsxNjYzNzMwMzk0LjExMDk2ODQsIDE1NTM0LCAxLjEyNjQxMDQ4NDMxMzk2NDhdLCBbMTY2MzczMDM5NC42ODkxNzksIDE1NTc5LCAxLjEwOTA0MDk3NTU3MDY3ODddLCBbMTY2MzczMDM5NS40NjQ4NTI4LCAxNTY1MSwgMS4xMDkyODM2ODU2ODQyMDRdLCBbMTY2MzczMDM5NS41NjE3MTM3LCAxNTY2MCwgMS4xNDQ1NzYzMTExMTE0NTAyXSwgWzE2NjM3MzAzOTUuNjUwNTU4NywgMTU2NjksIDEuMTg0Nzg3NzUwMjQ0MTQwNl0sIFsxNjYzNzMwMzk1LjkxNzcxNzIsIDE1Njk2LCAxLjExNzYxMDU3Mzc2ODYxNTddLCBbMTY2MzczMDM5Ni4xNzg3MTEsIDE1NzE0LCAxLjEyNjI2OTIyMTMwNTg0NzJdLCBbMTY2MzczMDM5Ni4yOTgwMjg1LCAxNTcyMywgMS4xNTI4OTc4MzQ3Nzc4MzJdLCBbMTY2MzczMDM5Ni4zOTk2NzEzLCAxNTczMiwgMS4xMTEwMjg2NzEyNjQ2NDg0XSwgWzE2NjM3MzAzOTYuNTIxODI1LCAxNTc0MSwgMS4xMTY0Nzk2MzUyMzg2NDc1XSwgWzE2NjM3MzAzOTYuNjM4MzcyLCAxNTc1MCwgMS4xMDQ5NzE1MjgwNTMyODM3XSwgWzE2NjM3MzAzOTYuNzQ5NDc3LCAxNTc1OSwgMS4wOTY3NDM4MjIwOTc3NzgzXSwgWzE2NjM3MzAzOTYuODQzMzQ2NCwgMTU3NjgsIDEuMTE4MjEwMDc3Mjg1NzY2Nl0sIFsxNjYzNzMwMzk3LjAyODk0NjQsIDE1Nzg2LCAxLjEzMTgwNTUzOTEzMTE2NDZdLCBbMTY2MzczMDM5Ny4xMTkwMDE2LCAxNTc5NSwgMS4xMzAwMjA0OTkyMjk0MzEyXSwgWzE2NjM3MzAzOTcuNTAwODMxOCwgMTU4MjIsIDEuMTQyMjQ5MzQ1Nzc5NDE5XSwgWzE2NjM3MzAzOTguMDIxNTkzMywgMTU4NjcsIDEuMTE0NjY4MjUwMDgzOTIzM10sIFsxNjYzNzMwMzk4LjEzNTUyMzMsIDE1ODc2LCAxLjEyMzk2MjA0NDcxNTg4MTNdLCBbMTY2MzczMDM5OC4zMTg5ODUsIDE1ODk0LCAxLjEyNjIzOTE4MDU2NDg4MDRdLCBbMTY2MzczMDM5OC40MDg5MTk2LCAxNTkwMywgMS4xMjIzNjE3NzkyMTI5NTE3XSwgWzE2NjM3MzAzOTguNTg3MzQ4LCAxNTkyMSwgMS4xMDcyNjQ5OTU1NzQ5NTEyXSwgWzE2NjM3MzAzOTguNzEyNDM1NSwgMTU5MzAsIDEuMTI5NjQ5NDAwNzExMDU5Nl0sIFsxNjYzNzMwMzk4Ljg5ODYzNywgMTU5NDgsIDEuMjM2MzY0NjAzMDQyNjAyNV0sIFsxNjYzNzMwMzk5LjI3NTI0MywgMTU5ODQsIDEuMTUyODQ0NDI5MDE2MTEzM10sIFsxNjYzNzMwMzk5LjM2MTA3ODcsIDE1OTkzLCAxLjE0NjEwOTkzODYyMTUyMV0sIFsxNjYzNzMwMzk5LjQ4Njc1OTQsIDE2MDAyLCAxLjE2MzE3MTUyOTc2OTg5NzVdLCBbMTY2MzczMDM5OS44NjE5MTE1LCAxNjAyOSwgMS4xNDE1MzY1OTM0MzcxOTQ4XSwgWzE2NjM3MzAzOTkuOTU0MDkyLCAxNjAzOCwgMS4xMTYzOTYxODg3MzU5NjJdLCBbMTY2MzczMDQwMC4yNDQ3MDA3LCAxNjA2NSwgMS4xMjE2NzAzNjUzMzM1NTcxXSwgWzE2NjM3MzA0MDAuMzM0NTk4MywgMTYwNzQsIDEuMTQ2MjI1OTI5MjYwMjU0XSwgWzE2NjM3MzA0MDAuNDE5Nzk3MiwgMTYwODMsIDEuMTA4MTM5OTkxNzYwMjU0XSwgWzE2NjM3MzA0MDAuNTA3MDQ5MywgMTYwOTIsIDEuMDk5Nzg4MTg4OTM0MzI2Ml0sIFsxNjYzNzMwNDAwLjY3NzMxMDcsIDE2MTEwLCAxLjExNjgwMDQyNzQzNjgyODZdLCBbMTY2MzczMDQwMC43NjMyNDQ2LCAxNjExOSwgMS4xMTY4NTUzODI5MTkzMTE1XSwgWzE2NjM3MzA0MDAuOTQ2MDQxNiwgMTYxMzcsIDEuMTEwNzc4Njg5Mzg0NDYwNF0sIFsxNjYzNzMwNDAxLjExNTE5NDYsIDE2MTU1LCAxLjIyNTk4Mzk3NzMxNzgxXSwgWzE2NjM3MzA0MDEuMjk5OTM1NiwgMTYxNzMsIDEuMTg3MjMwMjI5Mzc3NzQ2Nl0sIFsxNjYzNzMwNDAxLjM4NTY2NywgMTYxODIsIDEuMTM4MDkxMjA2NTUwNTk4MV0sIFsxNjYzNzMwNDAxLjY0OTgyMTUsIDE2MjA5LCAxLjEzMTM5MDgxMDAxMjgxNzRdLCBbMTY2MzczMDQwMS45NDQ4MjQsIDE2MjE4LCAxLjE3MDA1NjQ2MjI4NzkwMjhdLCBbMTY2MzczMDQwMi4wMjk4NjQ1LCAxNjIyNywgMS4xNTc2ODgxNDA4NjkxNDA2XSwgWzE2NjM3MzA0MDIuMTI1MjQ0MSwgMTYyMzYsIDEuMTM4MzIzMzA3MDM3MzUzNV0sIFsxNjYzNzMwNDAyLjIxMzYyMTksIDE2MjQ1LCAxLjI4MTY2OTYxNjY5OTIxODhdLCBbMTY2MzczMDQwMi41NzMwOTA2LCAxNjI4MSwgMS4xNDAzNDkzODgxMjI1NTg2XSwgWzE2NjM3MzA0MDIuNzUwODI4NywgMTYyOTksIDEuMTQ2NTY0OTYwNDc5NzM2M10sIFsxNjYzNzMwNDAzLjA5NDA5MDIsIDE2MzM1LCAxLjEzMjQ2MjE0Mzg5ODAxMDNdLCBbMTY2MzczMDQwMy4yNzc1NDU3LCAxNjM1MywgMS4xMTg4Nzg4NDE0MDAxNDY1XSwgWzE2NjM3MzA0MDMuNDU0NTc2NSwgMTYzNzEsIDEuMDk1OTQ3MDI3MjA2NDIxXSwgWzE2NjM3MzA0MDMuNTQxODIsIDE2MzgwLCAxLjEwMDg2MDcxNDkxMjQxNDZdLCBbMTY2MzczMDQwMy44ODMxNjA2LCAxNjQxNiwgMS4xMjIwMjAwMDYxNzk4MDk2XSwgWzE2NjM3MzA0MDQuMTM4MTAwMSwgMTY0NDMsIDEuMTI4ODQ1MzM0MDUzMDM5Nl0sIFsxNjYzNzMwNDA0LjIyODIwNzYsIDE2NDUyLCAxLjEyOTkyOTQyMzMzMjIxNDRdLCBbMTY2MzczMDQwNC40MDcxNDg0LCAxNjQ3MCwgMS4xODM4OTU3MDcxMzA0MzIxXSwgWzE2NjM3MzA0MDQuNDk4ODg2NiwgMTY0NzksIDEuMTE3NDI4MTgzNTU1NjAzXSwgWzE2NjM3MzA0MDQuNjY1MDAxLCAxNjQ5NywgMS4xMTM4Njk5MDU0NzE4MDE4XSwgWzE2NjM3MzA0MDQuNzUwMTg1LCAxNjUwNiwgMS4xMjE0OTcxNTQyMzU4Mzk4XSwgWzE2NjM3MzA0MDQuODMwOTkzNywgMTY1MTUsIDEuMTIzMDgxNDQ1NjkzOTY5N10sIFsxNjYzNzMwNDA1LjAwMDI1MywgMTY1MzMsIDEuMTQ2NDIyMDI4NTQxNTY1XSwgWzE2NjM3MzA0MDUuMDg5NjA0OSwgMTY1NDIsIDEuMTMxMjc2OTY1MTQxMjk2NF0sIFsxNjYzNzMwNDA1LjE3MDc0MDgsIDE2NTUxLCAxLjEzMDE0MTI1ODIzOTc0Nl0sIFsxNjYzNzMwNDA1LjUyNzc0MTcsIDE2NTg3LCAxLjE4NTE0MzExMzEzNjI5MTVdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_05-47-37_8f860c94f07e&tag=Loss%2Fvalid":{"data":"W1sxNjYzNzM5MjU5LjkyNzI3NywgOSwgNTAuNzczODA3NTI1NjM0NzY2XSwgWzE2NjM3MzkyNjAuMTAzODM3LCAyNywgMjUuNDE0MDU2Nzc3OTU0MV0sIFsxNjYzNzM5MjYwLjE4OTU3OCwgMzYsIDI1LjY0MjcyMzA4MzQ5NjA5NF0sIFsxNjYzNzM5MjYwLjI4MjI4MzMsIDQ1LCAxNy4yNjgzOTQ0NzAyMTQ4NDRdLCBbMTY2MzczOTI2MC44MDkzMTAyLCA5OSwgNS42NDM1MTg0NDc4NzU5NzddLCBbMTY2MzczOTI2MC44OTk1MjUyLCAxMDgsIDYuMDgyNzA2OTI4MjUzMTc0XSwgWzE2NjM3MzkyNjEuMzAxMDEwNiwgMTM1LCA2LjA5NjMwMjUwOTMwNzg2MV0sIFsxNjYzNzM5MjYxLjM5MzkyMjMsIDE0NCwgNS43NTg5MTk3MTU4ODEzNDhdLCBbMTY2MzczOTI2MS42NzQzMDc2LCAxNzEsIDQuMzA3NTQ5NDc2NjIzNTM1XSwgWzE2NjM3MzkyNjEuNzUyMDAwOCwgMTgwLCA0LjQ0NjQ2NTQ5MjI0ODUzNV0sIFsxNjYzNzM5MjYxLjgzNjc3NjcsIDE4OSwgNC43MTU3NjczODM1NzU0Mzk1XSwgWzE2NjM3MzkyNjEuOTkwMTg5OCwgMjA3LCA1LjExNTg3MjM4MzExNzY3Nl0sIFsxNjYzNzM5MjYyLjA5MTQ5NTgsIDIxNiwgNC4zNjMxMzE1MjMxMzIzMjRdLCBbMTY2MzczOTI2Mi4zOTI5MDk1LCAyNDMsIDUuMjc0NTMyMzE4MTE1MjM0XSwgWzE2NjM3MzkyNjIuNDkyNDQ0OCwgMjUyLCA1LjM1Mzg4ODUxMTY1NzcxNV0sIFsxNjYzNzM5MjYyLjY3NzAwNDgsIDI3MCwgNC4yMDY4NDA5OTE5NzM4NzddLCBbMTY2MzczOTI2My4wMjMxNTQ3LCAzMDYsIDQuMDc1MTQzMzM3MjQ5NzU2XSwgWzE2NjM3MzkyNjMuMDkyOTYyLCAzMTUsIDQuNjUzNTAyNDY0Mjk0NDM0XSwgWzE2NjM3MzkyNjMuMjkyMzY2LCAzMzMsIDQuMjMxMjMyMTY2MjkwMjgzXSwgWzE2NjM3MzkyNjMuMzc3NzQ3NSwgMzQyLCAzLjk1NzkxNzkyODY5NTY3ODddLCBbMTY2MzczOTI2My40NzQ4NDQ1LCAzNTEsIDQuNDg0NzQzMTE4Mjg2MTMzXSwgWzE2NjM3MzkyNjMuNTYyMTE3OCwgMzYwLCA0LjQ0MTUwOTI0NjgyNjE3Ml0sIFsxNjYzNzM5MjYzLjY2NDMzNzIsIDM2OSwgMy42NTYzNjgwMTcxOTY2NTUzXSwgWzE2NjM3MzkyNjQuMzE5NzA0OCwgNDMyLCAzLjIyNzU4ODg5MTk4MzAzMjJdLCBbMTY2MzczOTI2NC40MTg5MTI0LCA0NDEsIDMuNDIxNzc3NzI1MjE5NzI2Nl0sIFsxNjYzNzM5MjY0LjUxNzU2ODMsIDQ1MCwgMy45NzEwOTk2MTUwOTcwNDZdLCBbMTY2MzczOTI2NC42MTQ0MDYsIDQ1OSwgMy4xMDQxODE1MjgwOTE0MzA3XSwgWzE2NjM3MzkyNjQuNzE3NzM3NywgNDY4LCAzLjA4ODk0MTMzNTY3ODEwMDZdLCBbMTY2MzczOTI2NC44MjA4NjEzLCA0NzcsIDMuNDY0NzI0NTQwNzEwNDQ5XSwgWzE2NjM3MzkyNjUuMDE3MTk5LCA0OTUsIDMuNDM0OTA0ODEzNzY2NDc5NV0sIFsxNjYzNzM5MjY1LjExMTgxNiwgNTA0LCA0LjI1ODIzNDk3NzcyMjE2OF0sIFsxNjYzNzM5MjY1LjI4NzU5MywgNTIyLCAyLjg5OTk5NDYxMTc0MDExMjNdLCBbMTY2MzczOTI2NS41ODYzMzE4LCA1NDksIDIuODEwNzQwNDcwODg2MjMwNV0sIFsxNjYzNzM5MjY1LjY3NzE4MywgNTU4LCAzLjA4MTg1MDc2NzEzNTYyXSwgWzE2NjM3MzkyNjUuNzQ5NzksIDU2NywgMi45NjQ1MjI4Mzg1OTI1MjkzXSwgWzE2NjM3MzkyNjUuODI1OTQyOCwgNTc2LCAyLjg5ODc4MDM0NTkxNjc0OF0sIFsxNjYzNzM5MjY1Ljk5NzY0MzUsIDU5NCwgMi44MTQ2ODI5NjA1MTAyNTRdLCBbMTY2MzczOTI2Ni4wODczODk3LCA2MDMsIDIuOTUwNzk3MDgwOTkzNjUyM10sIFsxNjYzNzM5MjY2LjE2OTE5NzYsIDYxMiwgMi44NjcwMjAxMzAxNTc0NzA3XSwgWzE2NjM3MzkyNjYuMjUzOTYwOCwgNjIxLCAyLjQ1NDQ0NTM2MjA5MTA2NDVdLCBbMTY2MzczOTI2Ni40MDUyODksIDYzOSwgMi44MTYxNzY0MTQ0ODk3NDZdLCBbMTY2MzczOTI2Ni40ODAxMDg1LCA2NDgsIDIuMzM2MDU2NzA5Mjg5NTUxXSwgWzE2NjM3MzkyNjYuNjQyMjgzMiwgNjY2LCAyLjk5NDczMzMzMzU4NzY0NjVdLCBbMTY2MzczOTI2Ni43OTU4NzgyLCA2ODQsIDIuNDQxMzA0MjA2ODQ4MTQ0NV0sIFsxNjYzNzM5MjY2Ljk1OTgzNTMsIDcwMiwgMi42NjYxOTM0ODUyNjAwMDk4XSwgWzE2NjM3MzkyNjcuMTIwNTM2MywgNzIwLCAyLjQzMzIyNTM5MzI5NTI4OF0sIFsxNjYzNzM5MjY3LjIwNTcwOSwgNzI5LCAyLjU1MTY5NDYzMTU3NjUzOF0sIFsxNjYzNzM5MjY3LjUxMzI4OTcsIDc0NywgMy4xMjYxODYzNzA4NDk2MDk0XSwgWzE2NjM3MzkyNjcuNTk2MDc0NiwgNzU2LCAyLjIzOTc4NjM4NjQ4OTg2OF0sIFsxNjYzNzM5MjY3Ljc2MDA5MTMsIDc3NCwgMi42MTAwMzQyMjczNzEyMTZdLCBbMTY2MzczOTI2Ny44MjY2ODk3LCA3ODMsIDIuMzAzOTQ3MjEwMzExODg5Nl0sIFsxNjYzNzM5MjY4LjA0NjcwNDMsIDgxMCwgMi41NTE0OTE3MzczNjU3MjI3XSwgWzE2NjM3MzkyNjguMTM3OTA1NiwgODE5LCAyLjQwNTE0OTIyMTQyMDI4OF0sIFsxNjYzNzM5MjY4LjQ4NDM1NDMsIDg2NCwgMi4zODkzMzU2MzIzMjQyMTg4XSwgWzE2NjM3MzkyNjguOTM5NjkyLCA5MDAsIDIuMjM2MjU0NDUzNjU5MDU3Nl0sIFsxNjYzNzM5MjY5LjAxMjY4ODQsIDkwOSwgMi40Mzc2NzU3MTQ0OTI3OThdLCBbMTY2MzczOTI2OS4yNDA4NTIsIDkzNiwgMi4zMTYxNTA2NjUyODMyMDNdLCBbMTY2MzczOTI2OS40NDk2NzQsIDk2MywgMi41NDE3MDM0NjI2MDA3MDhdLCBbMTY2MzczOTI2OS41MTM4Mzc2LCA5NzIsIDIuMDE2MzQ2NDU0NjIwMzYxM10sIFsxNjYzNzM5MjY5LjY3NDA4MjUsIDk5MCwgMi4wNTY3OTAzNTE4Njc2NzZdLCBbMTY2MzczOTI2OS43NTUyODEsIDk5OSwgMi4yNzE3ODgzNTg2ODgzNTQ1XSwgWzE2NjM3MzkyNjkuODI5ODU4MywgMTAwOCwgMS45MzMyNzk2MzM1MjIwMzM3XSwgWzE2NjM3MzkyNzAuMDY3MTA1MywgMTAzNSwgMi4xNjY0Njg4NTg3MTg4NzJdLCBbMTY2MzczOTI3MC4yMTcwOTE2LCAxMDUzLCAyLjYwMTgwMzA2NDM0NjMxMzVdLCBbMTY2MzczOTI3MC41OTU5ODc2LCAxMDk4LCAyLjIzNTc3MDk0MDc4MDYzOTZdLCBbMTY2MzczOTI3MC44OTE1MzE3LCAxMTM0LCAyLjE3OTY3NDg2MzgxNTMwNzZdLCBbMTY2MzczOTI3MC45NjE1ODc3LCAxMTQzLCAyLjI3NzAxMjM0ODE3NTA0OV0sIFsxNjYzNzM5MjcxLjEwOTkxNjQsIDExNjEsIDEuODg4OTUxNTM5OTkzMjg2MV0sIFsxNjYzNzM5MjcxLjE4Njc2NzMsIDExNzAsIDIuNjQ2ODE0MzQ2MzEzNDc2Nl0sIFsxNjYzNzM5MjcxLjI1NjAzMSwgMTE3OSwgMi4wNzgxNTg2MTcwMTk2NTMzXSwgWzE2NjM3MzkyNzEuMzM4NzQyNSwgMTE4OCwgMi4wOTM1NjI4NDE0MTU0MDUzXSwgWzE2NjM3MzkyNzEuNDA3ODIyLCAxMTk3LCAyLjAzMDUwNTg5NTYxNDYyNF0sIFsxNjYzNzM5MjcxLjU0ODA3MDcsIDEyMTUsIDEuOTY1MzY4NjI4NTAxODkyXSwgWzE2NjM3MzkyNzEuNjk0OTEyLCAxMjMzLCAyLjIzMDY4NDA0MTk3NjkyODddLCBbMTY2MzczOTI3MS43NjE1MjUyLCAxMjQyLCAyLjQxMzIwODk2MTQ4NjgxNjRdLCBbMTY2MzczOTI3Mi4xNzg4MzU5LCAxMjk2LCAyLjM4NTY2NjEzMTk3MzI2NjZdLCBbMTY2MzczOTI3Mi4yNTQxNTEzLCAxMzA1LCAyLjE1NTMzNzMzMzY3OTE5OV0sIFsxNjYzNzM5MjcyLjQwNTI2MiwgMTMyMywgMi4wMDMxODA3NDIyNjM3OTRdLCBbMTY2MzczOTI3Mi40ODExNzI4LCAxMzMyLCAyLjI1Njk4NDk0OTExMTkzODVdLCBbMTY2MzczOTI3Mi43MDYyNjc4LCAxMzU5LCAxLjgxMTE3NjUzODQ2NzQwNzJdLCBbMTY2MzczOTI3My4yMjI5Mjc2LCAxNDIyLCAxLjg4ODA2ODE5OTE1NzcxNDhdLCBbMTY2MzczOTI3My4zNjQ4ODI1LCAxNDQwLCAxLjc5NzYyNjk3MjE5ODQ4NjNdLCBbMTY2MzczOTI3My40NTUzMTMyLCAxNDQ5LCAxLjg1NDUyNDczMTYzNjA0NzRdLCBbMTY2MzczOTI3My43MDgyMjcsIDE0NjcsIDIuMTQ0OTUwNjI4MjgwNjM5Nl0sIFsxNjYzNzM5MjczLjg0NzQ3ODksIDE0NzYsIDEuNzk1MzIxMzQ1MzI5Mjg0N10sIFsxNjYzNzM5MjczLjk5Nzc1MDgsIDE0ODUsIDIuMTkxNjY2NjAzMDg4Mzc5XSwgWzE2NjM3MzkyNzQuMjg5NjU0NywgMTUwMywgMS45NTExOTk2NTA3NjQ0NjUzXSwgWzE2NjM3MzkyNzQuNjU3MzUyMiwgMTUzOSwgMS42ODg5MzE0NjUxNDg5MjU4XSwgWzE2NjM3MzkyNzQuNzc2MDk3NSwgMTU0OCwgMS45NDI2MTI3NjcyMTk1NDM1XSwgWzE2NjM3MzkyNzQuODY0NjAxNCwgMTU1NywgMi4yMjQ5OTQ0MjEwMDUyNDldLCBbMTY2MzczOTI3NS4wODcxMTQ4LCAxNTg0LCAyLjA3NDUwNzIzNjQ4MDcxM10sIFsxNjYzNzM5Mjc1LjE2MTY1NzgsIDE1OTMsIDEuNTczNzQ3OTkyNTE1NTY0XSwgWzE2NjM3MzkyNzUuMjk0NTMwNCwgMTYwMiwgMi4yODc5ODE5ODY5OTk1MTE3XSwgWzE2NjM3MzkyNzUuMzk1NDE5NCwgMTYxMSwgMS44Mzg3NDQ5OTc5NzgyMTA0XSwgWzE2NjM3MzkyNzUuNTY0NDExNiwgMTYyOSwgMi4xMzAzNDc5NjcxNDc4MjddLCBbMTY2MzczOTI3NS42NTc3NzksIDE2MzgsIDIuMjE4ODc1NjQ2NTkxMTg2NV0sIFsxNjYzNzM5Mjc1Ljg2MzE3NzgsIDE2NTYsIDIuMjA5ODQ3NDUwMjU2MzQ3N10sIFsxNjYzNzM5Mjc2LjE4NjE5LCAxNjY1LCAyLjI1Nzc4ODY1ODE0MjA5XSwgWzE2NjM3MzkyNzYuMjc1OTI4MywgMTY3NCwgMS44ODkwOTc2OTA1ODIyNzU0XSwgWzE2NjM3MzkyNzYuMzc3ODUyMiwgMTY4MywgMi4xNTE1NDAwNDA5Njk4NDg2XSwgWzE2NjM3MzkyNzYuNjYxNjQ3MywgMTcxMCwgMS44NTU2NDM1MTA4MTg0ODE0XSwgWzE2NjM3MzkyNzYuNzU1MTM3LCAxNzE5LCAxLjc4NDc5MTExMTk0NjEwNl0sIFsxNjYzNzM5Mjc2Ljg0OTQyNjUsIDE3MjgsIDEuOTUzNjEzNjM4ODc3ODY4N10sIFsxNjYzNzM5Mjc2Ljk0OTk0ODMsIDE3MzcsIDEuODM1Mzg2ODcyMjkxNTY1XSwgWzE2NjM3MzkyNzcuMjI0NzE1NywgMTc2NCwgMi4wMDkxMzg1ODQxMzY5NjNdLCBbMTY2MzczOTI3Ny40NjA4NTIxLCAxNzkxLCAxLjY4NTQ1MTAzMDczMTIwMTJdLCBbMTY2MzczOTI3Ny41MzM0MzU4LCAxODAwLCAyLjA5MDY3MjAxNjE0Mzc5OV0sIFsxNjYzNzM5Mjc3LjYxMzE4OTUsIDE4MDksIDEuOTcwNTQ2ODQxNjIxMzk5XSwgWzE2NjM3MzkyNzcuNzY3MTQwNCwgMTgyNywgMi4zNjk5NjgxNzU4ODgwNjE1XSwgWzE2NjM3MzkyNzcuODMxNTk4NSwgMTgzNiwgMi4yNjY1NzYyOTAxMzA2MTUyXSwgWzE2NjM3MzkyNzcuODk4NjU1MiwgMTg0NSwgMS44ODE1MjQ2ODIwNDQ5ODNdLCBbMTY2MzczOTI3Ny45NjQ2MTY4LCAxODU0LCAxLjk0ODU3MDk2NjcyMDU4MV0sIFsxNjYzNzM5Mjc4LjExNzkxOTQsIDE4NzIsIDEuODAyMzMwMzc0NzE3NzEyNF0sIFsxNjYzNzM5Mjc4LjI4NTQ5OTgsIDE4OTAsIDEuODU2NjIxNjIzMDM5MjQ1Nl0sIFsxNjYzNzM5Mjc4LjU2MDEyMDMsIDE5MDgsIDEuOTE5MjczNzM0MDkyNzEyNF0sIFsxNjYzNzM5Mjc4LjcxODk3OTYsIDE5MjYsIDIuMDE2NjQ3MzM4ODY3MTg3NV0sIFsxNjYzNzM5Mjc4Ljg3MDkzNjIsIDE5NDQsIDIuMTczNTk0MjM2MzczOTAxNF0sIFsxNjYzNzM5Mjc4Ljk0NTg5NzYsIDE5NTMsIDIuMjM0NjY1MTU1NDEwNzY2Nl0sIFsxNjYzNzM5Mjc5LjA5MzcyMzUsIDE5NzEsIDIuMjEyNjQ5MzQ1Mzk3OTQ5XSwgWzE2NjM3MzkyNzkuMTU5Nzc4NCwgMTk4MCwgMS42OTMzNDY5NzcyMzM4ODY3XSwgWzE2NjM3MzkyNzkuMjI1NTk3NCwgMTk4OSwgMS42NDg1NTExMDY0NTI5NDJdLCBbMTY2MzczOTI3OS4yOTIwNDIzLCAxOTk4LCAxLjg0MzUyODYyODM0OTMwNDJdLCBbMTY2MzczOTI3OS4zNTk3MjcsIDIwMDcsIDIuMDAxMDIzNzY5Mzc4NjYyXSwgWzE2NjM3MzkyNzkuNDk5ODIyNiwgMjAyNSwgMS43MTU1NDE2MDExODEwMzAzXSwgWzE2NjM3MzkyNzkuNTY4MTk3NywgMjAzNCwgMi4xODk2NTYwMTkyMTA4MTU0XSwgWzE2NjM3MzkyNzkuODc3MDU3OCwgMjA3MCwgMS45NjA5NDA1OTk0NDE1MjgzXSwgWzE2NjM3MzkyODAuMDczMzMxNiwgMjA5NywgMS45MjA3NDk3ODM1MTU5MzAyXSwgWzE2NjM3MzkyODAuMjkzMjkwNiwgMjEyNCwgMS43NDIwNDU2NDA5NDU0MzQ2XSwgWzE2NjM3MzkyODAuMzYwNjU3LCAyMTMzLCAxLjk2NjcyOTA0NDkxNDI0NTZdLCBbMTY2MzczOTI4MC40MjY3NDAyLCAyMTQyLCAxLjU0MDEyNjkxOTc0NjM5OV0sIFsxNjYzNzM5MjgwLjUyNTk2MTQsIDIxNTEsIDEuNjI2MTAzNTIwMzkzMzcxNl0sIFsxNjYzNzM5MjgwLjYyMTk4OCwgMjE2MCwgMS45OTM4NTE0MjMyNjM1NDk4XSwgWzE2NjM3MzkyODAuODExOTE4NSwgMjE3OCwgMS45MDM4NzIzNzA3MTk5MDk3XSwgWzE2NjM3MzkyODAuODkzMDcyLCAyMTg3LCAxLjU4NzU3NTc5MzI2NjI5NjRdLCBbMTY2MzczOTI4MS4xMTY0OTYzLCAyMjA1LCAxLjgyMzM0NjYxNDgzNzY0NjVdLCBbMTY2MzczOTI4MS4xOTA1NzU4LCAyMjE0LCAxLjYxMDQwNDAxNDU4NzQwMjNdLCBbMTY2MzczOTI4MS4yOTc0NjY1LCAyMjIzLCAxLjg1MTgwMzE4MzU1NTYwM10sIFsxNjYzNzM5MjgxLjM2NDkxOTIsIDIyMzIsIDEuODA2ODY2MTY4OTc1ODNdLCBbMTY2MzczOTI4MS45Mjc5NDU2LCAyMjc3LCAyLjAwOTk2MzI3NDAwMjA3NV0sIFsxNjYzNzM5MjgyLjAwMjU4MTYsIDIyODYsIDEuNzk2MDgyMjU4MjI0NDg3M10sIFsxNjYzNzM5MjgyLjA4NzkxMTYsIDIyOTUsIDEuNjY2NDk5OTcyMzQzNDQ0OF0sIFsxNjYzNzM5MjgyLjM4NzU2MDEsIDIzMjIsIDEuNjY2NTU1MTY2MjQ0NTA2OF0sIFsxNjYzNzM5MjgyLjQ1ODc0NDMsIDIzMzEsIDEuNzgwNDIyNTY4MzIxMjI4XSwgWzE2NjM3MzkyODIuNTI5MTk5LCAyMzQwLCAxLjY0ODQ3NjEyMzgwOTgxNDVdLCBbMTY2MzczOTI4Mi42MTQ4NzM2LCAyMzQ5LCAxLjU4NDI0NTIwNDkyNTUzN10sIFsxNjYzNzM5MjgyLjc5MTIzNzYsIDIzNjcsIDIuMDU4MzA1MDI1MTAwNzA4XSwgWzE2NjM3MzkyODMuMzM1OTU5NCwgMjQyMSwgMS44MzI2OTc4NjgzNDcxNjhdLCBbMTY2MzczOTI4My42ODgxMTY4LCAyNDM5LCAxLjg0OTkzMTgzNjEyODIzNDldLCBbMTY2MzczOTI4My43NzAwNTA4LCAyNDQ4LCAxLjY4OTQ3NDIyNTA0NDI1MDVdLCBbMTY2MzczOTI4NC4wOTkzOSwgMjQ3NSwgMS40MjUyNjM0MDQ4NDYxOTE0XSwgWzE2NjM3MzkyODQuMjA1NDA5OCwgMjQ4NCwgMS43MjQ4ODAzMzc3MTUxNDldLCBbMTY2MzczOTI4NC4zMDQxMTM5LCAyNDkzLCAxLjk0NjgyNTE0NjY3NTEwOTldLCBbMTY2MzczOTI4NC40OTU5Mzk1LCAyNTExLCAxLjg2Mjg5NDY1NDI3Mzk4NjhdLCBbMTY2MzczOTI4NC42OTk4MDI0LCAyNTI5LCAxLjc0MjI1MzQyMjczNzEyMTZdLCBbMTY2MzczOTI4NC44NDQ1NTQ3LCAyNTQ3LCAxLjc4MzYzNTM3Nzg4MzkxMTFdLCBbMTY2MzczOTI4NC45MTc3NTQsIDI1NTYsIDEuODIzNjA0NzAyOTQ5NTI0XSwgWzE2NjM3MzkyODUuMDY5ODI4MywgMjU3NCwgMS42ODMxMTkyOTcwMjc1ODhdLCBbMTY2MzczOTI4NS4yMjc5NzIsIDI1OTIsIDEuOTY3NjE3NTExNzQ5MjY3Nl0sIFsxNjYzNzM5Mjg1LjI5ODY1MSwgMjYwMSwgMi4wNjg2MjA2ODE3NjI2OTUzXSwgWzE2NjM3MzkyODUuNDM3NDQxNiwgMjYxOSwgMS44NDAxMzE4Nzg4NTI4NDQyXSwgWzE2NjM3MzkyODUuNTA2NjUyNCwgMjYyOCwgMS43NDIyOTcwNTMzMzcwOTcyXSwgWzE2NjM3MzkyODUuNzkwNTQyMSwgMjY2NCwgMi4wMTMyNzM0Nzc1NTQzMjEzXSwgWzE2NjM3MzkyODUuODU2NTI3LCAyNjczLCAxLjY1MjY3NjkzOTk2NDI5NDRdLCBbMTY2MzczOTI4NS45MjIxNDM3LCAyNjgyLCAxLjc1NTg0MDMwMTUxMzY3MTldLCBbMTY2MzczOTI4NS45OTQ3Njg2LCAyNjkxLCAxLjU1MzY5Mzc3MTM2MjMwNDddLCBbMTY2MzczOTI4Ni4wNjUyMDQ2LCAyNzAwLCAyLjA0NTc3MTM2MDM5NzMzOV0sIFsxNjYzNzM5Mjg2LjU0MTc4OCwgMjc0NSwgMS44OTM3MzkyMjM0ODAyMjQ2XSwgWzE2NjM3MzkyODYuNjgzODU1OCwgMjc2MywgMS42NjUzNTI0NjM3MjIyMjldLCBbMTY2MzczOTI4Ni43NTU5MTY2LCAyNzcyLCAxLjYxNTU1NTQwNTYxNjc2MDNdLCBbMTY2MzczOTI4Ni44MjE4NDg0LCAyNzgxLCAxLjg0NDcyNjIwNDg3MjEzMTNdLCBbMTY2MzczOTI4Ni44OTU0NzE2LCAyNzkwLCAyLjA0ODc1OTY5ODg2Nzc5OF0sIFsxNjYzNzM5Mjg3LjEwNzU4MjYsIDI4MTcsIDEuOTc5ODA3MDE5MjMzNzAzNl0sIFsxNjYzNzM5Mjg3LjE3OTg2MTMsIDI4MjYsIDEuNjY5MDY1MjM3MDQ1Mjg4XSwgWzE2NjM3MzkyODcuMzI1Mzc4NCwgMjg0NCwgMS40MTAxNjM5OTg2MDM4MjA4XSwgWzE2NjM3MzkyODcuNDAxNDM3LCAyODUzLCAxLjQ5MjExOTU1MDcwNDk1Nl0sIFsxNjYzNzM5Mjg3LjU1MTk0NDUsIDI4NzEsIDEuOTEwNjU0MDY3OTkzMTY0XSwgWzE2NjM3MzkyODcuNjI2MTUzNSwgMjg4MCwgMS40OTQ5MzUxNTQ5MTQ4NTZdLCBbMTY2MzczOTI4OC4wNzk3NTE1LCAyOTA3LCAyLjMwMzQzMzQxODI3MzkyNl0sIFsxNjYzNzM5Mjg4LjIzNDQ5MDQsIDI5MjUsIDEuNzMxNTc4MzUwMDY3MTM4N10sIFsxNjYzNzM5Mjg4LjY4NDgsIDI5NzAsIDEuODAzNjY5MzMzNDU3OTQ2OF0sIFsxNjYzNzM5Mjg4Ljc3ODkyMzUsIDI5NzksIDIuMjIzODgzNjI4ODQ1MjE1XSwgWzE2NjM3MzkyODguODY2MDE1MiwgMjk4OCwgMS44MDkxNDk2MjI5MTcxNzUzXSwgWzE2NjM3MzkyODguOTU5MTAyNCwgMjk5NywgMS40ODg2MjA3NTgwNTY2NDA2XSwgWzE2NjM3MzkyODkuMDU0ODg5NywgMzAwNiwgMS43NDk2MzM1NTA2NDM5MjFdLCBbMTY2MzczOTI4OS4zNTcwNjEsIDMwNDIsIDEuNzczNjk4MjEwNzE2MjQ3Nl0sIFsxNjYzNzM5Mjg5LjQyOTYzMzEsIDMwNTEsIDEuNzI3NDk1NjcwMzE4NjAzNV0sIFsxNjYzNzM5Mjg5LjU4ODg5MiwgMzA2OSwgMS42NTY2NTcwOTk3MjM4MTZdLCBbMTY2MzczOTI4OS45MjgwNjUzLCAzMDk2LCAxLjk2NTA1MTE3NDE2MzgxODRdLCBbMTY2MzczOTI4OS45OTY2MDk3LCAzMTA1LCAxLjYxNzg2ODA2NTgzNDA0NTRdLCBbMTY2MzczOTI5MC4wNjc2Mzk2LCAzMTE0LCAxLjY1MTk1MTQzMjIyODA4ODRdLCBbMTY2MzczOTI5MC4xNDMxMzA1LCAzMTIzLCAxLjgwMDcwOTM2Njc5ODQwMDldLCBbMTY2MzczOTI5MC4zMTE1OTE0LCAzMTQxLCAxLjYyNjY1NDg2MzM1NzU0NF0sIFsxNjYzNzM5MjkwLjM4MjA3OTEsIDMxNTAsIDEuNzA1NjM2MDI0NDc1MDk3N10sIFsxNjYzNzM5MjkwLjQ1NzIxNzIsIDMxNTksIDEuODgwNjk2Mjk2NjkxODk0NV0sIFsxNjYzNzM5MjkwLjYwMDQ5NTYsIDMxNzcsIDEuOTUxNTk2OTc1MzI2NTM4XSwgWzE2NjM3MzkyOTAuNjc0ODYzLCAzMTg2LCAxLjg1NjE2ODI3MDExMTA4NF0sIFsxNjYzNzM5MjkwLjczODEyOTQsIDMxOTUsIDEuOTc4MTc0NDQ4MDEzMzA1N10sIFsxNjYzNzM5MjkwLjk5MjIxOTIsIDMyMDQsIDEuNDAwNjgxNDk1NjY2NTA0XSwgWzE2NjM3MzkyOTEuMTQ1ODAyNywgMzIyMiwgMS42NjMxNjU1NjkzMDU0Ml0sIFsxNjYzNzM5MjkxLjIzMTgwMDYsIDMyMzEsIDEuNDQ2NzAxMTY5MDEzOTc3XSwgWzE2NjM3MzkyOTEuNDA2MzYxNiwgMzI0OSwgMS41ODcyMzk2MjMwNjk3NjMyXSwgWzE2NjM3MzkyOTEuNTU4NjI1NSwgMzI2NywgMS43ODE0NTkzMzE1MTI0NTEyXSwgWzE2NjM3MzkyOTEuNjM0NTMxMywgMzI3NiwgMS42MjQwNzcyMDA4ODk1ODc0XSwgWzE2NjM3MzkyOTEuNzA5NzA0NCwgMzI4NSwgMS43NzkyODcyMTkwNDc1NDY0XSwgWzE2NjM3MzkyOTEuNzg2NDgyNiwgMzI5NCwgMS40OTcxNjAzMTU1MTM2MTA4XSwgWzE2NjM3MzkyOTEuODU3NzA1NCwgMzMwMywgMS42MTMxMzkxNTI1MjY4NTU1XSwgWzE2NjM3MzkyOTEuOTM0MjI2LCAzMzEyLCAxLjYwODA4ODI1NDkyODU4ODldLCBbMTY2MzczOTI5Mi4wMTI0OTE3LCAzMzIxLCAxLjQ0NzU3NzgzNDEyOTMzMzVdLCBbMTY2MzczOTI5Mi42MjgzNSwgMzM3NSwgMS4zMjQ2MTU1OTc3MjQ5MTQ2XSwgWzE2NjM3MzkyOTIuNzM2MzgyMiwgMzM4NCwgMS41ODMzNjA2NzE5OTcwNzAzXSwgWzE2NjM3MzkyOTIuOTMzMTYxLCAzNDAyLCAxLjkyNTU3MzExMDU4MDQ0NDNdLCBbMTY2MzczOTI5My4wMjI5NDIsIDM0MTEsIDEuNTQ5NTY4NjUzMTA2Njg5NV0sIFsxNjYzNzM5MjkzLjMzODU3MjcsIDM0NDcsIDEuNzg0MzcyODA2NTQ5MDcyM10sIFsxNjYzNzM5MjkzLjU0OTA1OTYsIDM0NjUsIDIuMDc3ODE4MzkzNzA3Mjc1NF0sIFsxNjYzNzM5MjkzLjYzMDQ4NSwgMzQ3NCwgMS44MTQxNTM1NTIwNTUzNTg5XSwgWzE2NjM3MzkyOTMuNzExNDg4NSwgMzQ4MywgMS40Mzg2NzI3ODA5OTA2MDA2XSwgWzE2NjM3MzkyOTMuOTY5MzcwNCwgMzUxMCwgMS40MzU0Mzk1ODY2Mzk0MDQzXSwgWzE2NjM3MzkyOTQuMDQ3MjE2MiwgMzUxOSwgMS42MDY1NzE1NTUxMzc2MzQzXSwgWzE2NjM3MzkyOTQuMTI2NDEwMiwgMzUyOCwgMS42MjIxMzg4NTc4NDE0OTE3XSwgWzE2NjM3MzkyOTQuMjA4NjUwNCwgMzUzNywgMS40NzU3ODYwODk4OTcxNTU4XSwgWzE2NjM3MzkyOTQuMjk5MDg2MywgMzU0NiwgMS41MjE2NTQ0ODY2NTYxODldLCBbMTY2MzczOTI5NC4zODQ0NjQ1LCAzNTU1LCAxLjQ4MTE5MTUxNTkyMjU0NjRdLCBbMTY2MzczOTI5NC40NTg2Mjk4LCAzNTY0LCAxLjU3NDEwOTA3NzQ1MzYxMzNdLCBbMTY2MzczOTI5NC41MzkxMjU0LCAzNTczLCAxLjU1MTAzMDc1NTA0MzAyOThdLCBbMTY2MzczOTI5NC42MjIzMjY5LCAzNTgyLCAxLjY4NDQwNTU2NTI2MTg0MDhdLCBbMTY2MzczOTI5NC43MDI3NTcsIDM1OTEsIDEuNzYxNDU2MzcwMzUzNjk4N10sIFsxNjYzNzM5Mjk0Ljc3NTg1MTIsIDM2MDAsIDEuNjY1NTY0Mjk4NjI5NzYwN10sIFsxNjYzNzM5Mjk0LjkzNDQ1MzIsIDM2MTgsIDIuMjM2NjQwNDUzMzM4NjIzXSwgWzE2NjM3MzkyOTUuMDE3NDM2MywgMzYyNywgMS41Njg1NTIwMTcyMTE5MTRdLCBbMTY2MzczOTI5NS4xNjQwNzYzLCAzNjQ1LCAxLjUyOTQzMzcyNzI2NDQwNDNdLCBbMTY2MzczOTI5NS4zMDcwNTksIDM2NjMsIDEuNDg5MzExMDk5MDUyNDI5Ml0sIFsxNjYzNzM5Mjk1LjQ1MzM1OTYsIDM2ODEsIDEuNTMwODQwMzk2ODgxMTAzNV0sIFsxNjYzNzM5Mjk1LjUyODksIDM2OTAsIDEuNDQxNTEzMjk5OTQyMDE2Nl0sIFsxNjYzNzM5Mjk1Ljc0NDIxODMsIDM3MTcsIDEuNjY0MDI1NDI1OTEwOTQ5N10sIFsxNjYzNzM5Mjk1LjgxMjYwMiwgMzcyNiwgMS40ODA1OTY3ODA3NzY5Nzc1XSwgWzE2NjM3MzkyOTUuODg3MTQ2MiwgMzczNSwgMS42MjQxNDM2MDA0NjM4NjcyXSwgWzE2NjM3MzkyOTUuOTYyMzkzNSwgMzc0NCwgMS41OTE4NDA4NjMyMjc4NDQyXSwgWzE2NjM3MzkyOTYuMjE5MTU5OCwgMzc3MSwgMS42NDQzODU4MTQ2NjY3NDhdLCBbMTY2MzczOTI5Ni41NDk4MDYsIDM3ODAsIDEuNDM1MTkxNzUwNTI2NDI4Ml0sIFsxNjYzNzM5Mjk2Ljc0MDQzMywgMzc5OCwgMS42MzQyMzE5MjUwMTA2ODEyXSwgWzE2NjM3MzkyOTYuODM2NDE1LCAzODA3LCAxLjYxMjc0NDU2OTc3ODQ0MjRdLCBbMTY2MzczOTI5Ny4wNzU0MDIsIDM4MzQsIDEuMzQ5NDc5MDc5MjQ2NTIxXSwgWzE2NjM3MzkyOTcuMTU2MjAzNywgMzg0MywgMS43NzUxNzU5MjkwNjk1MTldLCBbMTY2MzczOTI5Ny41MjEzMTcsIDM4NzksIDEuNTI2OTE5OTYwOTc1NjQ3XSwgWzE2NjM3MzkyOTcuNjA2ODc3MywgMzg4OCwgMS4zNjUwNDMxNjMyOTk1NjA1XSwgWzE2NjM3MzkyOTcuODQ0NjcwNSwgMzkxNSwgMS43NDAzMzQzOTE1OTM5MzNdLCBbMTY2MzczOTI5Ny45MzI0ODMsIDM5MjQsIDEuODU0NjE0MTM4NjAzMjEwNF0sIFsxNjYzNzM5Mjk4LjAxNTYwNywgMzkzMywgMS41OTE2MzQ5ODg3ODQ3OV0sIFsxNjYzNzM5Mjk4LjA5OTgyOSwgMzk0MiwgMS40NzE0NTYwNTA4NzI4MDI3XSwgWzE2NjM3MzkyOTguMTc0MTUyNiwgMzk1MSwgMS42Mjk4MjIyNTQxODA5MDgyXSwgWzE2NjM3MzkyOTguMjUwNzc0NCwgMzk2MCwgMS43MjU0MDUzMzU0MjYzMzA2XSwgWzE2NjM3MzkyOTguMzI3ODEzNCwgMzk2OSwgMS45ODAwMTUwMzk0NDM5Njk3XSwgWzE2NjM3MzkyOTguMzk3MzA2MiwgMzk3OCwgMS40MzMwMTc2MTE1MDM2MDFdLCBbMTY2MzczOTI5OC43MzY2MjI2LCAzOTk2LCAxLjcxMjQwMTg2NjkxMjg0MThdLCBbMTY2MzczOTI5OC44MDU4MzgsIDQwMDUsIDEuNzA1NzA3NjY5MjU4MTE3N10sIFsxNjYzNzM5Mjk4Ljg3OTAzNywgNDAxNCwgMS40MjI0NTEyNTc3MDU2ODg1XSwgWzE2NjM3MzkyOTguOTUxMjk1MSwgNDAyMywgMS4zOTAwMzI4ODc0NTg4MDEzXSwgWzE2NjM3MzkyOTkuMjQ2Nzc0NywgNDA1OSwgMS43NDIxNDI5MTU3MjU3MDhdLCBbMTY2MzczOTI5OS4zMTM5NzIsIDQwNjgsIDEuNTUxNDMxMjk4MjU1OTIwNF0sIFsxNjYzNzM5Mjk5LjM4NjU2MTYsIDQwNzcsIDEuNDA5OTQxMDc3MjMyMzYwOF0sIFsxNjYzNzM5Mjk5LjQ0OTA5NCwgNDA4NiwgMS40MTQ4NTA3MTE4MjI1MDk4XSwgWzE2NjM3MzkyOTkuNTIwMTE0NCwgNDA5NSwgMS40NzE3MDkwMTI5ODUyMjk1XSwgWzE2NjM3MzkyOTkuNjkwNzA2NSwgNDExMywgMS45NTk1MTkwMjg2NjM2MzUzXSwgWzE2NjM3MzkyOTkuODMxMTMzNCwgNDEzMSwgMS41MTg1MTcxMzY1NzM3OTE1XSwgWzE2NjM3MzkyOTkuOTkwNDc2OCwgNDE0OSwgMS4zNzYxODAxNzE5NjY1NTI3XSwgWzE2NjM3MzkzMDAuMDYyMDIxNywgNDE1OCwgMS44MTMzODMzNDA4MzU1NzEzXSwgWzE2NjM3MzkzMDAuMTI5MDI4NiwgNDE2NywgMS40MTE4MjI1NTc0NDkzNDA4XSwgWzE2NjM3MzkzMDAuMzI1ODY1NywgNDE4NSwgMS42MjQ1MTAxNjkwMjkyMzU4XSwgWzE2NjM3MzkzMDAuNDkwODE4LCA0MTk0LCAxLjc4ODc0NjgzMzgwMTI2OTVdLCBbMTY2MzczOTMwMC43MzA0ODI2LCA0MjAzLCAxLjU3ODEwODkwNjc0NTkxMDZdLCBbMTY2MzczOTMwMC44ODQ3NzA2LCA0MjIxLCAxLjQ5NzYxMDQ0OTc5MDk1NDZdLCBbMTY2MzczOTMwMS4wNjM1Njk1LCA0MjM5LCAxLjUwMTk3NjYwOTIzMDA0MTVdLCBbMTY2MzczOTMwMS4xNDgwMDc0LCA0MjQ4LCAxLjI0MzI1MDg0Njg2Mjc5M10sIFsxNjYzNzM5MzAxLjM5NTgxMzcsIDQyNzUsIDEuNzU3MzMzNzU1NDkzMTY0XSwgWzE2NjM3MzkzMDEuNDY3NzQ4LCA0Mjg0LCAxLjUyMDM2MzQ1MDA1MDM1NF0sIFsxNjYzNzM5MzAxLjcxMDg3OCwgNDMxMSwgMS42OTIzMDExNTQxMzY2NTc3XSwgWzE2NjM3MzkzMDEuNzk5NTM5OCwgNDMyMCwgMS42NTUyNzk2MzYzODMwNTY2XSwgWzE2NjM3MzkzMDEuODc3MjIzMywgNDMyOSwgMS4zODg4NzIwMjczOTcxNTU4XSwgWzE2NjM3MzkzMDEuOTU2NjY4NiwgNDMzOCwgMS41MTgxMjk1ODcxNzM0NjJdLCBbMTY2MzczOTMwMi4wMzE5ODE3LCA0MzQ3LCAxLjc5NTQ0NDI1MDEwNjgxMTVdLCBbMTY2MzczOTMwMi4xMDcwODMzLCA0MzU2LCAxLjQwMzA3NTA5ODk5MTM5NF0sIFsxNjYzNzM5MzAyLjE3NjA1NzYsIDQzNjUsIDEuNjc2MjQ1NDUwOTczNTEwN10sIFsxNjYzNzM5MzAyLjMxOTAwNzIsIDQzODMsIDEuMjkzMTIxMzM3ODkwNjI1XSwgWzE2NjM3MzkzMDIuMzg2OTk4LCA0MzkyLCAxLjY1OTM2ODE1NzM4Njc3OThdLCBbMTY2MzczOTMwMi40NTk0MTIzLCA0NDAxLCAxLjQ0NTEzOTE2OTY5Mjk5MzJdLCBbMTY2MzczOTMwMi41Mzk0NTE4LCA0NDEwLCAxLjMyMzEzNDY2MDcyMDgyNTJdLCBbMTY2MzczOTMwMi42ODYzMzMyLCA0NDI4LCAxLjI1ODQyNzE0MzA5NjkyMzhdLCBbMTY2MzczOTMwMi45MTgwNTM2LCA0NDU1LCAxLjY0MzE4NDE4NTAyODA3NjJdLCBbMTY2MzczOTMwMy4wNjY0NDkyLCA0NDY0LCAxLjQxNTU2OTMwNTQxOTkyMTldLCBbMTY2MzczOTMwMy40NzYzNjQ5LCA0NDkxLCAxLjUwMDAzMjQyNDkyNjc1NzhdLCBbMTY2MzczOTMwMy43MDAwNjI4LCA0NTE4LCAxLjQxMzM1MTg5MzQyNDk4NzhdLCBbMTY2MzczOTMwMy43Nzc4NzczLCA0NTI3LCAxLjQ5NzI4NDI5MzE3NDc0MzddLCBbMTY2MzczOTMwMy44NjA1MzEsIDQ1MzYsIDEuNTM1NTE4MTY5NDAzMDc2Ml0sIFsxNjYzNzM5MzA0LjA5Mjk0NTgsIDQ1NjMsIDEuNTI5NDEzNDYxNjg1MTgwN10sIFsxNjYzNzM5MzA0LjM1OTg2MiwgNDU4MSwgMS42MDM3MzI0NjY2OTc2OTI5XSwgWzE2NjM3MzkzMDQuNDY3NDk3NiwgNDU5MCwgMS4zNzc1NjU2MjIzMjk3MTJdLCBbMTY2MzczOTMwNC41NTQxMzYzLCA0NTk5LCAxLjgwMTQ1NDc4MjQ4NTk2Ml0sIFsxNjYzNzM5MzA0LjY1MzMyODcsIDQ2MDgsIDEuMzU5OTE1MjU2NTAwMjQ0MV0sIFsxNjYzNzM5MzA0Ljc2MjIzNjYsIDQ2MTcsIDEuNDU4Mjc2NTEwMjM4NjQ3NV0sIFsxNjYzNzM5MzA0Ljg0ODMxMjQsIDQ2MjYsIDEuMzc0Nzg4NTIyNzIwMzM3XSwgWzE2NjM3MzkzMDQuOTI1NTY5OCwgNDYzNSwgMS43MTYzODE1NDk4MzUyMDVdLCBbMTY2MzczOTMwNS4wNjQwMjY4LCA0NjUzLCAxLjYwMTI1OTExMjM1ODA5MzNdLCBbMTY2MzczOTMwNS4xMzQzNjUsIDQ2NjIsIDEuNDI5OTY4NzE0NzE0MDUwM10sIFsxNjYzNzM5MzA1LjIxNjcyMDMsIDQ2NzEsIDEuNTA5MDk2MTQ1NjI5ODgyOF0sIFsxNjYzNzM5MzA1LjI4OTg2MjYsIDQ2ODAsIDEuNDI5MDU5MjY3MDQ0MDY3NF0sIFsxNjYzNzM5MzA1LjQxMjAxNjIsIDQ2ODksIDEuNDk4NjE5NTU2NDI3MDAyXSwgWzE2NjM3MzkzMDUuNDkzMjYyLCA0Njk4LCAxLjQzMTI3MjYyNTkyMzE1NjddLCBbMTY2MzczOTMwNS42MjQyNzE0LCA0NzE2LCAxLjU0OTc4NjkyNTMxNTg1N10sIFsxNjYzNzM5MzA2LjQ1MTc2NjUsIDQ3NzksIDEuNTc1MDQ3NjEyMTkwMjQ2Nl0sIFsxNjYzNzM5MzA2LjcyMDczMiwgNDgwNiwgMS4zODkxOTE1MDgyOTMxNTE5XSwgWzE2NjM3MzkzMDYuNzk4MzMxNywgNDgxNSwgMS44OTg0MTI0NjYwNDkxOTQzXSwgWzE2NjM3MzkzMDYuODY1NDU5NCwgNDgyNCwgMS41NTE3ODEwNTgzMTE0NjI0XSwgWzE2NjM3MzkzMDYuOTU3ODM5NywgNDgzMywgMS40NDE0MjYwMzg3NDIwNjU0XSwgWzE2NjM3MzkzMDcuMDUxMTU4LCA0ODQyLCAxLjM2MzI5OTk2NTg1ODQ1OTVdLCBbMTY2MzczOTMwNy4xMzAxMjU1LCA0ODUxLCAxLjI1MTU3NjkwMDQ4MjE3NzddLCBbMTY2MzczOTMwNy4xOTc4OTcyLCA0ODYwLCAxLjI1Mzc1Njk5OTk2OTQ4MjRdLCBbMTY2MzczOTMwNy4yNjM1NzEsIDQ4NjksIDEuNTY1MTc3MjAyMjI0NzMxNF0sIFsxNjYzNzM5MzA3LjMzNDQzMDUsIDQ4NzgsIDEuNTEzNTY0MTA5ODAyMjQ2XSwgWzE2NjM3MzkzMDcuNDAyNzI5NywgNDg4NywgMS40NzA1ODQ5ODg1OTQwNTUyXSwgWzE2NjM3MzkzMDcuNDY2ODI0MywgNDg5NiwgMS41MjczODQ0MDAzNjc3MzY4XSwgWzE2NjM3MzkzMDcuNTQ1MTg5NCwgNDkwNSwgMS4yMDM4ODQyNDM5NjUxNDldLCBbMTY2MzczOTMwNy43MDY5ODA3LCA0OTIzLCAxLjI3MTg4MDYyNjY3ODQ2NjhdLCBbMTY2MzczOTMwNy43ODY2NTE2LCA0OTMyLCAxLjUyMjMxNDE5MDg2NDU2M10sIFsxNjYzNzM5MzA4LjAwOTAxMDgsIDQ5NTksIDEuNDYwOTAwMzA2NzAxNjYwMl0sIFsxNjYzNzM5MzA4LjE5NDkxODksIDQ5NzcsIDEuMjU4OTI1Nzk1NTU1MTE0N10sIFsxNjYzNzM5MzA4LjMzMjc1NjMsIDQ5OTUsIDEuMzUxODc3OTI3NzgwMTUxNF0sIFsxNjYzNzM5MzA4LjQxMjEzMDgsIDUwMDQsIDEuNDA0OTczNTA2OTI3NDkwMl0sIFsxNjYzNzM5MzA4LjQ4NzkxNTMsIDUwMTMsIDEuNDgwMTgwOTc4Nzc1MDI0NF0sIFsxNjYzNzM5MzA4Ljk0NDc2NSwgNTA2NywgMS40NTA2NTA2OTE5ODYwODRdLCBbMTY2MzczOTMwOS4wMzU0MTU2LCA1MDc2LCAxLjY0NTg2NDYwNTkwMzYyNTVdLCBbMTY2MzczOTMwOS4xMTQyOTU1LCA1MDg1LCAxLjM0MDcwNjM0ODQxOTE4OTVdLCBbMTY2MzczOTMwOS40MDgyMTk2LCA1MTIxLCAxLjU2ODUxMTAwOTIxNjMwODZdLCBbMTY2MzczOTMwOS40ODkwMDQ0LCA1MTMwLCAxLjc4NzUxNjcxMzE0MjM5NV0sIFsxNjYzNzM5MzA5LjY0MDEzMTUsIDUxNDgsIDEuNzUyNDM2MjgwMjUwNTQ5M10sIFsxNjYzNzM5MzA5Ljc4NTcxOCwgNTE2NiwgMS42NTQ2MzE0OTU0NzU3NjldLCBbMTY2MzczOTMxMC4wMTc2NjQ0LCA1MTkzLCAxLjUzNjQzOTQxODc5MjcyNDZdLCBbMTY2MzczOTMxMC4zMTAxMTg0LCA1MjI5LCAxLjMyMTY3NDcwNDU1MTY5NjhdLCBbMTY2MzczOTMxMC41ODg3OTg4LCA1MjY1LCAxLjMxNDIwODE0OTkwOTk3MzFdLCBbMTY2MzczOTMxMC42NTcyNzg1LCA1Mjc0LCAxLjYyNTc5NjkxNDEwMDY0N10sIFsxNjYzNzM5MzEwLjcyNzMzMjgsIDUyODMsIDEuNTU0MTM2NzUzMDgyMjc1NF0sIFsxNjYzNzM5MzEwLjkxMjg1NzUsIDUzMDEsIDEuNzE3Mzg3MTk5NDAxODU1NV0sIFsxNjYzNzM5MzExLjAwNjgyNzYsIDUzMTAsIDEuNDYyNjU2Mzc4NzQ2MDMyN10sIFsxNjYzNzM5MzExLjA3MjkyMjcsIDUzMTksIDEuNDQwNTA3MTczNTM4MjA4XSwgWzE2NjM3MzkzMTEuMTUwNDgxMiwgNTMyOCwgMS4zMDI1MDQ2NTg2OTkwMzU2XSwgWzE2NjM3MzkzMTEuMjMzMTc3NCwgNTMzNywgMS44NjE2MDAzOTkwMTczMzRdLCBbMTY2MzczOTMxMS4zNzc2NzYsIDUzNTUsIDEuMjAyOTM2MTcyNDg1MzUxNl0sIFsxNjYzNzM5MzExLjU0OTA3MTMsIDUzNzMsIDEuMzA4MzM1MDY1ODQxNjc0OF0sIFsxNjYzNzM5MzExLjYyNTkyNzQsIDUzODIsIDEuNDA2OTk3OTE5MDgyNjQxNl0sIFsxNjYzNzM5MzExLjY5ODE3NTcsIDUzOTEsIDEuNTUxMjI5MDAwMDkxNTUyN10sIFsxNjYzNzM5MzExLjc3MTY1NzIsIDU0MDAsIDEuNDIzMDA5MTU3MTgwNzg2MV0sIFsxNjYzNzM5MzExLjkyNDA5NDcsIDU0MTgsIDEuNTYyMDQ1MjE2NTYwMzYzOF0sIFsxNjYzNzM5MzEyLjAxMTQxMDIsIDU0MjcsIDEuNDE5MDMzMjg4OTU1Njg4NV0sIFsxNjYzNzM5MzEyLjExNjU2LCA1NDM2LCAxLjc1MzUxNTEyNDMyMDk4MzldLCBbMTY2MzczOTMxMi4yNjUzOTc1LCA1NDU0LCAxLjU4NDc3NTgwNTQ3MzMyNzZdLCBbMTY2MzczOTMxMi40ODk0MzgzLCA1NDgxLCAxLjI3MDE1NjI2NDMwNTExNDddLCBbMTY2MzczOTMxMi42MzU1NTcsIDU0OTksIDEuNjc3NjE5MzM4MDM1NTgzNV0sIFsxNjYzNzM5MzEzLjA1OTk2MjUsIDU1MjYsIDEuNTQ4NTg3Nzk5MDcyMjY1Nl0sIFsxNjYzNzM5MzEzLjEzMjcyODMsIDU1MzUsIDEuMzg0OTU3MzEzNTM3NTk3N10sIFsxNjYzNzM5MzEzLjI5NzU0MDcsIDU1NTMsIDEuNDY2NTgyMDU5ODYwMjI5NV0sIFsxNjYzNzM5MzEzLjM5NTQ1MywgNTU2MiwgMS40NDk1NDk0MzY1NjkyMTM5XSwgWzE2NjM3MzkzMTMuNDcwODQ5OCwgNTU3MSwgMS4zMzA4MjkzODE5NDI3NDldLCBbMTY2MzczOTMxMy42NDk0MSwgNTU4OSwgMS40MzE0MjY4ODI3NDM4MzU0XSwgWzE2NjM3MzkzMTMuNzg2NDE0NCwgNTYwNywgMS43MTk0OTY5NjU0MDgzMjUyXSwgWzE2NjM3MzkzMTMuODU2OTA3LCA1NjE2LCAxLjI2OTU2Nzg0NzI1MTg5Ml0sIFsxNjYzNzM5MzE0LjA2OTgzNSwgNTY0MywgMS42NTYyOTQzNDU4NTU3MTNdLCBbMTY2MzczOTMxNC4xNTc2NzU3LCA1NjUyLCAxLjgyMzAzMzIxMzYxNTQxNzVdLCBbMTY2MzczOTMxNC4yMjg5ODA4LCA1NjYxLCAxLjI1NjYwMjg4MzMzODkyODJdLCBbMTY2MzczOTMxNC4zMTYwMDcsIDU2NzAsIDEuNTEwNTQ0ODk2MTI1NzkzNV0sIFsxNjYzNzM5MzE0LjYyMDgxNzcsIDU3MDYsIDEuNDAwMDQyNDE0NjY1MjIyMl0sIFsxNjYzNzM5MzE0LjcwMTYxNjUsIDU3MTUsIDEuMzcxNzczODM4OTk2ODg3Ml0sIFsxNjYzNzM5MzE0Ljc3Mzk0MzIsIDU3MjQsIDEuMzIwNTUwNDQxNzQxOTQzNF0sIFsxNjYzNzM5MzE0Ljk1NDYyNDQsIDU3NDIsIDEuNDI2MjExNzE0NzQ0NTY3OV0sIFsxNjYzNzM5MzE1LjI0MjQzOTMsIDU3NjksIDEuMzQ1MDE0NjkxMzUyODQ0Ml0sIFsxNjYzNzM5MzE1LjMzMTU0OTYsIDU3NzgsIDEuMzM0NjEyODQ2Mzc0NTExN10sIFsxNjYzNzM5MzE1LjQxNjQ4MzYsIDU3ODcsIDEuNDU0NzUxMDE0NzA5NDcyN10sIFsxNjYzNzM5MzE1LjUwNDgzMTYsIDU3OTYsIDEuNjk0MTA0MzEzODUwNDAyOF0sIFsxNjYzNzM5MzE1LjU5MjAzMDMsIDU4MDUsIDEuMzkyNTk5MTA1ODM0OTYxXSwgWzE2NjM3MzkzMTUuNjk1NzI5NSwgNTgxNCwgMS41MTU5MzAyOTQ5OTA1Mzk2XSwgWzE2NjM3MzkzMTYuMDA0NjMyMiwgNTg1MCwgMS40NDI5NTEzMjE2MDE4Njc3XSwgWzE2NjM3MzkzMTYuMTU5MTk0NSwgNTg2OCwgMS40MDE0NTcxOTA1MTM2MTA4XSwgWzE2NjM3MzkzMTYuMjM2ODc1OCwgNTg3NywgMS4zNDQ5NzEyOTkxNzE0NDc4XSwgWzE2NjM3MzkzMTYuMzMyODYyMSwgNTg4NiwgMS4yNTcwMzE0NDA3MzQ4NjMzXSwgWzE2NjM3MzkzMTYuNDEyMzQ1NiwgNTg5NSwgMS40MDkzMDg5MTAzNjk4NzNdLCBbMTY2MzczOTMxNi40ODQ4Njc4LCA1OTA0LCAxLjM0NjQzNzIxNTgwNTA1MzddLCBbMTY2MzczOTMxNi43MDMyNjQyLCA1OTMxLCAxLjQzMTg3ODU2Njc0MTk0MzRdLCBbMTY2MzczOTMxNi43NjkxMzI2LCA1OTQwLCAxLjcwNjIxOTY3MzE1NjczODNdLCBbMTY2MzczOTMxNi44NDk1Mjc2LCA1OTQ5LCAxLjMwNzYwNDY3MDUyNDU5NzJdLCBbMTY2MzczOTMxNy4zNjk4ODEsIDYwMTIsIDEuNjEyNzUwMDUzNDA1NzYxN10sIFsxNjYzNzM5MzE3LjYwMDgwMTcsIDYwMzksIDEuNDQxODIyMjkwNDIwNTMyMl0sIFsxNjYzNzM5MzE3Ljk2ODE4MywgNjA4NCwgMS4zMTk1NzQxMTc2NjA1MjI1XSwgWzE2NjM3MzkzMTguMDQwNzAzNSwgNjA5MywgMS4zODg4NTE2NDI2MDg2NDI2XSwgWzE2NjM3MzkzMTguMTEwNjQ3LCA2MTAyLCAxLjM0NzM5NDQ2NjQwMDE0NjVdLCBbMTY2MzczOTMxOC4zNjAzNTM3LCA2MTI5LCAxLjU2ODU5MDE2NDE4NDU3MDNdLCBbMTY2MzczOTMxOC43OTI1NDIyLCA2MTQ3LCAxLjM4OTEzNTU5OTEzNjM1MjVdLCBbMTY2MzczOTMxOC45MjUxMDAzLCA2MTU2LCAxLjQzNzUyNTk4NzYyNTEyMl0sIFsxNjYzNzM5MzE4Ljk5NTE1OTEsIDYxNjUsIDEuNDMxODQ3MDk1NDg5NTAyXSwgWzE2NjM3MzkzMTkuMDgxOTQ5NSwgNjE3NCwgMS45MDA1NDIwMjA3OTc3Mjk1XSwgWzE2NjM3MzkzMTkuMjYyMjg4OCwgNjE5MiwgMS4zMzU1MDEzMTMyMDk1MzM3XSwgWzE2NjM3MzkzMTkuMzkxMzgxLCA2MjAxLCAxLjI0Nzg5NDc2Mzk0NjUzMzJdLCBbMTY2MzczOTMxOS43MDQ4NDQ3LCA2MjM3LCAxLjI5MTg3ODIyMzQxOTE4OTVdLCBbMTY2MzczOTMxOS43ODU3MjMyLCA2MjQ2LCAxLjM5Njk2NzI5MTgzMTk3MDJdLCBbMTY2MzczOTMxOS44Njk5MDAyLCA2MjU1LCAxLjYwMjkxNDQ1MjU1Mjc5NTRdLCBbMTY2MzczOTMyMC4xMjMzNDYzLCA2MjY0LCAxLjQzNDQ3MjkxODUxMDQzN10sIFsxNjYzNzM5MzIwLjE5MTY3ODgsIDYyNzMsIDEuMzE0OTk2NjAwMTUxMDYyXSwgWzE2NjM3MzkzMjAuMjcxMzY3OCwgNjI4MiwgMS41ODk1Mjk1MTQzMTI3NDQxXSwgWzE2NjM3MzkzMjAuNDc4MzQ4NywgNjMwMCwgMS4zNDk2ODU0MzA1MjY3MzM0XSwgWzE2NjM3MzkzMjAuNzI2NDM1NywgNjMyNywgMS4xOTg0MjI3ODk1NzM2Njk0XSwgWzE2NjM3MzkzMjAuODA2Mzg3LCA2MzM2LCAxLjQ2ODc1NzE1MjU1NzM3M10sIFsxNjYzNzM5MzIwLjk2NDU1MjQsIDYzNTQsIDEuNDMyMTE1MTk3MTgxNzAxN10sIFsxNjYzNzM5MzIxLjI3NDQ2MDMsIDYzOTAsIDEuMjMwNTE1NzE4NDYwMDgzXSwgWzE2NjM3MzkzMjEuMzQyMDQ3NSwgNjM5OSwgMS4yNDM0NjMzOTcwMjYwNjJdLCBbMTY2MzczOTMyMS41NTM0NjkyLCA2NDE3LCAxLjMzMTM1MDY4NDE2NTk1NDZdLCBbMTY2MzczOTMyMS43NzA0NzE2LCA2NDQ0LCAxLjI5MjkwNjY0MTk2MDE0NF0sIFsxNjYzNzM5MzIxLjkxOTQ1NCwgNjQ2MiwgMS4xNzEzNTM0NTkzNTgyMTUzXSwgWzE2NjM3MzkzMjIuMDY3MTQ5MiwgNjQ4MCwgMS4yOTY1MjExODY4Mjg2MTMzXSwgWzE2NjM3MzkzMjIuMTQ2MDU0NywgNjQ4OSwgMS4zNDgwMTIwODk3MjkzMDldLCBbMTY2MzczOTMyMi4yMTgyMjI2LCA2NDk4LCAxLjUwMzI4MjQyNzc4Nzc4MDhdLCBbMTY2MzczOTMyMi4zNTMxNTgyLCA2NTE2LCAxLjg4MDQ3NjgzMjM4OTgzMTVdLCBbMTY2MzczOTMyMi40MjY5MDczLCA2NTI1LCAxLjMyOTIxMDI4MTM3MjA3MDNdLCBbMTY2MzczOTMyMi40OTc2NDY4LCA2NTM0LCAxLjE5MzM2NDM4MTc5MDE2MTFdLCBbMTY2MzczOTMyMi41NjU5Mzg1LCA2NTQzLCAxLjQ5MjI3NDA0NTk0NDIxMzldLCBbMTY2MzczOTMyMi42MzI0OTU0LCA2NTUyLCAxLjYxNzI3Nzc0MTQzMjE5XSwgWzE2NjM3MzkzMjIuNzA5MjczMywgNjU2MSwgMS4zMTUyMjc4NjYxNzI3OTA1XSwgWzE2NjM3MzkzMjIuNzc0MTcyLCA2NTcwLCAxLjI1OTE1ODQ5MjA4ODMxNzldLCBbMTY2MzczOTMyMi45MTc0OTg2LCA2NTg4LCAxLjE2OTY5OTQzMDQ2NTY5ODJdLCBbMTY2MzczOTMyMi45ODUxNDQsIDY1OTcsIDEuNDIwMjcyMzUwMzExMjc5M10sIFsxNjYzNzM5MzIzLjA1NTY0MiwgNjYwNiwgMS4zMDg4NjUwNzAzNDMwMTc2XSwgWzE2NjM3MzkzMjMuNDczODI3MSwgNjY1MSwgMS4yNzYxNDExNjY2ODcwMTE3XSwgWzE2NjM3MzkzMjMuNTUxMTA5NiwgNjY2MCwgMS40MTQ2NDU3OTEwNTM3NzJdLCBbMTY2MzczOTMyMy42Mjg4NDI2LCA2NjY5LCAxLjgxMjM1MTM0NjAxNTkzMDJdLCBbMTY2MzczOTMyMy43Njc3MDQyLCA2Njg3LCAxLjM0MTI3NzU5OTMzNDcxNjhdLCBbMTY2MzczOTMyMy44NDIzMDUyLCA2Njk2LCAxLjU2ODIxNTcyNzgwNjA5MTNdLCBbMTY2MzczOTMyMy45MjE2ODU1LCA2NzA1LCAxLjM1MzI2NzQzMTI1OTE1NTNdLCBbMTY2MzczOTMyNC4wMDM5MDEyLCA2NzE0LCAxLjI1MzM1MTgwNzU5NDI5OTNdLCBbMTY2MzczOTMyNC41MjAyNjYsIDY3NzcsIDEuMzA1NDIwNzU2MzQwMDI2OV0sIFsxNjYzNzM5MzI0Ljc1NDUyMjMsIDY4MDQsIDEuMzc4OTQyNzI4MDQyNjAyNV0sIFsxNjYzNzM5MzI0Ljg0NDY3NDgsIDY4MTMsIDEuMzAzMTA1MTE1ODkwNTAzXSwgWzE2NjM3MzkzMjUuMTY1ODY4NSwgNjgzMSwgMS4yMDQzMjY2Mjk2Mzg2NzE5XSwgWzE2NjM3MzkzMjUuNTI5MzU0MywgNjg3NiwgMS40MDY4NDc3MTUzNzc4MDc2XSwgWzE2NjM3MzkzMjUuNTk4ODA3NiwgNjg4NSwgMS4zNTc4Njc1OTg1MzM2MzA0XSwgWzE2NjM3MzkzMjUuNjY5ODA4LCA2ODk0LCAxLjE1NjE5NjQ3NTAyODk5MTddLCBbMTY2MzczOTMyNS44MDc4ODQyLCA2OTEyLCAxLjIyMTgzNzUyMDU5OTM2NTJdLCBbMTY2MzczOTMyNS44ODY0MzI0LCA2OTIxLCAxLjI1MDAzNDY4OTkwMzI1OTNdLCBbMTY2MzczOTMyNi4wODM2ODAyLCA2OTMwLCAxLjE1NDAyMjQ1NTIxNTQ1NF0sIFsxNjYzNzM5MzI2LjE5MDA2NjYsIDY5MzksIDEuNTA2MTEzODg2ODMzMTkxXSwgWzE2NjM3MzkzMjYuMjYxMTQyLCA2OTQ4LCAxLjU2MTgyNDU2MDE2NTQwNTNdLCBbMTY2MzczOTMyNi4zMzI4NjgzLCA2OTU3LCAxLjE5MTE5MjE1MDExNTk2NjhdLCBbMTY2MzczOTMyNi40MDE2ODY0LCA2OTY2LCAxLjE2NTg4OTk3ODQwODgxMzVdLCBbMTY2MzczOTMyNi41NjEzNjU2LCA2OTg0LCAyLjA2NTkwODQzMjAwNjgzNl0sIFsxNjYzNzM5MzI2LjY0NTc0NDYsIDY5OTMsIDEuMzI4MTk1NTcxODk5NDE0XSwgWzE2NjM3MzkzMjYuODY3MDI2LCA3MDExLCAxLjE0MTM3OTExNzk2NTY5ODJdLCBbMTY2MzczOTMyNi45NjM5MzgyLCA3MDIwLCAxLjM4MTEzMzc5NDc4NDU0Nl0sIFsxNjYzNzM5MzI3LjA1MzY3NDIsIDcwMjksIDEuMzU1NTk3MTM4NDA0ODQ2Ml0sIFsxNjYzNzM5MzI3LjMyMjA3MTYsIDcwMzgsIDEuMjI4NTcyNjA3MDQwNDA1M10sIFsxNjYzNzM5MzI3LjM5OTA0OTgsIDcwNDcsIDEuNTAxNzY1NzI3OTk2ODI2Ml0sIFsxNjYzNzM5MzI3LjQ2OTUxMTMsIDcwNTYsIDEuMTY1ODc0NzE5NjE5NzUxXSwgWzE2NjM3MzkzMjcuNjg5NDcyNywgNzA4MywgMS4wNzIyNzExMDg2MjczMTkzXSwgWzE2NjM3MzkzMjcuODMxNDU1NSwgNzEwMSwgMS41OTQ0MzMxODg0Mzg0MTU1XSwgWzE2NjM3MzkzMjcuOTE0MjE2OCwgNzExMCwgMS41MDc5OTcwMzU5ODAyMjQ2XSwgWzE2NjM3MzkzMjguMDY5MDQzNCwgNzEyOCwgMS4yODUyODEwNjIxMjYxNTk3XSwgWzE2NjM3MzkzMjguMjExMTMwNCwgNzE0NiwgMS4yODk0OTI0ODc5MDc0MDk3XSwgWzE2NjM3MzkzMjguMzgyMDg0MSwgNzE2NCwgMS43MTE1MzQ4NTc3NDk5MzldLCBbMTY2MzczOTMyOC40NTIyOTc3LCA3MTczLCAxLjU0NjkyNjI1OTk5NDUwNjhdLCBbMTY2MzczOTMyOC41MzQzMzU0LCA3MTgyLCAxLjEyOTI0MDg3MDQ3NTc2OV0sIFsxNjYzNzM5MzI4LjY3ODI4NTEsIDcyMDAsIDEuNDA2NzEwOTgyMzIyNjkyOV0sIFsxNjYzNzM5MzI4Ljc0ODQ2MjQsIDcyMDksIDEuMjY2NTI4MTI5NTc3NjM2N10sIFsxNjYzNzM5MzI5LjAzOTc2MTMsIDcyNDUsIDEuMjgwNzM0MDYyMTk0ODI0Ml0sIFsxNjYzNzM5MzI5LjEwODY0MzMsIDcyNTQsIDEuMzk1ODE3MTYwNjA2Mzg0M10sIFsxNjYzNzM5MzI5LjE4MzMxMzgsIDcyNjMsIDEuMjcyNTQxMDQ2MTQyNTc4MV0sIFsxNjYzNzM5MzI5LjI1MzgwNDQsIDcyNzIsIDEuMjc0MDAxODM2Nzc2NzMzNF0sIFsxNjYzNzM5MzI5LjQ1ODgxMTgsIDcyOTksIDEuMTU5NDM4MTMzMjM5NzQ2XSwgWzE2NjM3MzkzMjkuNTMwOTU1NiwgNzMwOCwgMS4xODA3NTIyNzczNzQyNjc2XSwgWzE2NjM3MzkzMjkuNjgzNDkzNCwgNzMyNiwgMS4xOTk0MDI4MDkxNDMwNjY0XSwgWzE2NjM3MzkzMzAuMDc4NDg2LCA3MzcxLCAxLjYyMDg4NTM3MjE2MTg2NTJdLCBbMTY2MzczOTMzMC4xNTAwODM4LCA3MzgwLCAxLjQxNTQyNDgyMzc2MDk4NjNdLCBbMTY2MzczOTMzMC4zMDI2MzE5LCA3Mzk4LCAxLjI0MzQ1NzMxNzM1MjI5NV0sIFsxNjYzNzM5MzMwLjM2OTA5NSwgNzQwNywgMS4zMjU0Njk2MTMwNzUyNTYzXSwgWzE2NjM3MzkzMzAuNDM4OTg0MiwgNzQxNiwgMS4zMTAyNzg1MzQ4ODkyMjEyXSwgWzE2NjM3MzkzMzAuNTkzMzg5NywgNzQzNCwgMS40MjQ0MDE5OTg1MTk4OTc1XSwgWzE2NjM3MzkzMzAuNjY2MjMwNCwgNzQ0MywgMS4yMzg1NDYwMTM4MzIwOTIzXSwgWzE2NjM3MzkzMzAuNzQwNDgzMywgNzQ1MiwgMS44MzYyMTI1MTU4MzA5OTM3XSwgWzE2NjM3MzkzMzAuODIwOTI2MiwgNzQ2MSwgMS4zMDI3MDQyMTUwNDk3NDM3XSwgWzE2NjM3MzkzMzAuOTgwMjE1NSwgNzQ3OSwgMS4zMTE0ODcwNzg2NjY2ODddLCBbMTY2MzczOTMzMS4xNDE2NDgzLCA3NDk3LCAxLjM3ODUzNTI3MDY5MDkxOF0sIFsxNjYzNzM5MzMxLjIxMzY1MDcsIDc1MDYsIDEuMzM2NDk4OTc1NzUzNzg0Ml0sIFsxNjYzNzM5MzMxLjQ5MzIwNjUsIDc1MjQsIDEuMjExMjI0MTk4MzQxMzY5Nl0sIFsxNjYzNzM5MzMxLjU4OTc5NjMsIDc1MzMsIDEuMTIyMjc5NDA1NTkzODcyXSwgWzE2NjM3MzkzMzEuODA5ODU3NiwgNzU0MiwgMS4xMzM4MDE1Nzk0NzU0MDI4XSwgWzE2NjM3MzkzMzIuMDgyNTU5OCwgNzU2MCwgMS4zNzMzNzYyNTAyNjcwMjg4XSwgWzE2NjM3MzkzMzIuMTcyMDg2NSwgNzU2OSwgMS4yNTE0NTcyMTQzNTU0Njg4XSwgWzE2NjM3MzkzMzIuNDAxNzc0MiwgNzU4NywgMS40NzgxNzI3NzkwODMyNTJdLCBbMTY2MzczOTMzMi41MTA0NzMzLCA3NTk2LCAxLjMxMDc5NzkyOTc2Mzc5NF0sIFsxNjYzNzM5MzMyLjY2ODI4NjgsIDc2MTQsIDEuNDg5MTY1MDY3NjcyNzI5NV0sIFsxNjYzNzM5MzMzLjAwNTczMjgsIDc2NTksIDEuMjcwNTg0NDY0MDczMTgxMl0sIFsxNjYzNzM5MzMzLjA4MjUwODgsIDc2NjgsIDEuNTMxMzEyNDY1NjY3NzI0Nl0sIFsxNjYzNzM5MzMzLjM4NDUwMTUsIDc2OTUsIDEuNTkxNDY4NTcyNjE2NTc3MV0sIFsxNjYzNzM5MzMzLjU2MTM4ODcsIDc3MTMsIDEuNDY5MTA3NjI3ODY4NjUyM10sIFsxNjYzNzM5MzMzLjYzNzYwMywgNzcyMiwgMS4yMzMwNDM2NzA2NTQyOTY5XSwgWzE2NjM3MzkzMzMuODQ2MTYsIDc3NDksIDEuMDk2MzI4Mzc3NzIzNjkzOF0sIFsxNjYzNzM5MzMzLjkxNjI3MjQsIDc3NTgsIDEuMDUwMzQ2MjU1MzAyNDI5Ml0sIFsxNjYzNzM5MzMzLjk5ODA5MDUsIDc3NjcsIDEuNjA2NzA2MDIzMjE2MjQ3Nl0sIFsxNjYzNzM5MzM0LjI0MjM0NTMsIDc3OTQsIDEuMTA4ODQ2NjY0NDI4NzExXSwgWzE2NjM3MzkzMzQuMzM0OTE0LCA3ODAzLCAxLjQ2OTY3Njk3MTQzNTU0NjldLCBbMTY2MzczOTMzNC44MzExOTQ5LCA3ODM5LCAxLjE5ODY5ODYzOTg2OTY5XSwgWzE2NjM3MzkzMzQuOTEzNDU5MywgNzg0OCwgMS4zMjU2OTA3NDYzMDczNzNdLCBbMTY2MzczOTMzNS42NDc5MTg3LCA3OTM4LCAxLjM4MjI4NjE5MDk4NjYzMzNdLCBbMTY2MzczOTMzNS43ODE3MTM1LCA3OTU2LCAxLjE3OTE0NzgzOTU0NjIwMzZdLCBbMTY2MzczOTMzNS44NjE1MzE3LCA3OTY1LCAxLjI5MTQzNTI0MTY5OTIxODhdLCBbMTY2MzczOTMzNS45MjU3NTEyLCA3OTc0LCAxLjEzNTI3NDc2Nzg3NTY3MTRdLCBbMTY2MzczOTMzNS45ODk4NDQ4LCA3OTgzLCAxLjQxNDE3NTI3MTk4NzkxNV0sIFsxNjYzNzM5MzM2LjA1NzgyOSwgNzk5MiwgMS4zNzkzNzkzOTE2NzAyMjddLCBbMTY2MzczOTMzNi4xMjQxMTg4LCA4MDAxLCAxLjIyNTEzNTgwMzIyMjY1NjJdLCBbMTY2MzczOTMzNi4yODc2MDE3LCA4MDE5LCAxLjIzNDU2NTg1NDA3MjU3MDhdLCBbMTY2MzczOTMzNi40MzM3NTc4LCA4MDM3LCAxLjYwMzk2MjA2Mzc4OTM2NzddLCBbMTY2MzczOTMzNi42NTcxMzE3LCA4MDY0LCAxLjQ1MjI0MzA4OTY3NTkwMzNdLCBbMTY2MzczOTMzNi44MTE4OTksIDgwODIsIDEuMTQzODkwMDIzMjMxNTA2M10sIFsxNjYzNzM5MzM2Ljg3MzYwNywgODA5MSwgMS4yOTEyOTA0MDI0MTI0MTQ2XSwgWzE2NjM3MzkzMzcuMTEzNDg4NywgODExOCwgMS40MTYwMDMyMjcyMzM4ODY3XSwgWzE2NjM3MzkzMzcuMTkwNjYsIDgxMjcsIDEuMzcyNDc3MTczODA1MjM2OF0sIFsxNjYzNzM5MzM3LjM0MjU3MTMsIDgxNDUsIDEuMzg3MjY0MzcwOTE4Mjc0XSwgWzE2NjM3MzkzMzcuNjQ4NzQwOCwgODE2MywgMS40NjE4NTU3NjkxNTc0MDk3XSwgWzE2NjM3MzkzMzcuNzQ3NzQyMiwgODE3MiwgMS40MzY0NjQ3ODY1Mjk1NDFdLCBbMTY2MzczOTMzNy44NDE2MjkzLCA4MTgxLCAxLjQxMjcwMzAzNzI2MTk2M10sIFsxNjYzNzM5MzM4LjAzNjM2ODQsIDgxOTksIDEuNDY2Mjc5ODY0MzExMjE4M10sIFsxNjYzNzM5MzM4LjEyNDE5NjUsIDgyMDgsIDEuMTI0NDc4Njk3Nzc2Nzk0NF0sIFsxNjYzNzM5MzM4LjMxMjI3NiwgODIyNiwgMS4yMzU4OTk5MjUyMzE5MzM2XSwgWzE2NjM3MzkzMzguNDEzNDA5NSwgODIzNSwgMS40NDc1MzgzNzU4NTQ0OTIyXSwgWzE2NjM3MzkzMzguNTk3MTg1NiwgODI1MywgMS4zMjkwNTk2MDA4MzAwNzgxXSwgWzE2NjM3MzkzMzguNjgxODc3MSwgODI2MiwgMS40OTE1Mjc0MzgxNjM3NTczXSwgWzE2NjM3MzkzMzguNzYwNTI5LCA4MjcxLCAxLjMzMTY1OTE5NzgwNzMxMl0sIFsxNjYzNzM5MzM4Ljg3MjA0OTYsIDgyODAsIDEuMzE0MDQ4MjkwMjUyNjg1NV0sIFsxNjYzNzM5MzM4Ljk2NzY3MjgsIDgyODksIDEuMTk0MzcyODkyMzc5NzYwN10sIFsxNjYzNzM5MzM5LjA1NTk0NywgODI5OCwgMS4yODk2NjY1MzM0NzAxNTM4XSwgWzE2NjM3MzkzMzkuMjE1MTAyNCwgODMxNiwgMS4zMTc0NjE0OTA2MzExMDM1XSwgWzE2NjM3MzkzMzkuNTI4MzI1LCA4MzUyLCAxLjExMTA4NzMyMjIzNTEwNzRdLCBbMTY2MzczOTMzOS42MDU3MTA1LCA4MzYxLCAxLjM2MzcyMjIwNTE2MjA0ODNdLCBbMTY2MzczOTMzOS43MjA1NTEsIDgzNzAsIDEuMTgwNDczNDQ2ODQ2MDA4M10sIFsxNjYzNzM5MzM5LjgwMTA5NjIsIDgzNzksIDEuMjQyMzI0NTkwNjgyOTgzNF0sIFsxNjYzNzM5MzM5LjkxODUyNzYsIDgzODgsIDEuNDA5Mjk1MjAxMzAxNTc0N10sIFsxNjYzNzM5MzQwLjAwODQyNjQsIDgzOTcsIDEuMTg5NzEyNTI0NDE0MDYyNV0sIFsxNjYzNzM5MzQwLjA5NTQ5MiwgODQwNiwgMS43MTQ5ODYzMjQzMTAzMDI3XSwgWzE2NjM3MzkzNDAuMTc4NzUwMywgODQxNSwgMS4xNTIyMzk3OTk0OTk1MTE3XSwgWzE2NjM3MzkzNDAuMjY2NDU5MiwgODQyNCwgMS40MjU1MTMxNDgzMDc4MDAzXSwgWzE2NjM3MzkzNDAuNjA0Mzg0NCwgODQ2MCwgMS4yNTA3NzM3ODc0OTg0NzQxXSwgWzE2NjM3MzkzNDAuODI0MzE1MywgODQ3OCwgMS4yOTg3MDQxNDczMzg4NjcyXSwgWzE2NjM3MzkzNDAuODkyMjgwMywgODQ4NywgMS40MzUzOTY3OTA1MDQ0NTU2XSwgWzE2NjM3MzkzNDEuMTEzMDk4NCwgODUxNCwgMS41ODgxNzgxNTc4MDYzOTY1XSwgWzE2NjM3MzkzNDEuMzg5MTAyMiwgODU1MCwgMS4zMjgxNDAzNzc5OTgzNTJdLCBbMTY2MzczOTM0MS40NTc3MjEsIDg1NTksIDEuMTc2Mjg0MDc0NzgzMzI1Ml0sIFsxNjYzNzM5MzQxLjg1MzczODUsIDg1NzcsIDEuMTUwOTk2MjA4MTkwOTE4XSwgWzE2NjM3MzkzNDIuMDE2NDY3NiwgODU5NSwgMS4zMzYwNDc1MzAxNzQyNTU0XSwgWzE2NjM3MzkzNDIuMDk5MDEyNiwgODYwNCwgMS4xMjk1NTQyNzE2OTc5OThdLCBbMTY2MzczOTM0Mi4xNzE2MzEsIDg2MTMsIDEuMzI2NzI2NDM2NjE0OTkwMl0sIFsxNjYzNzM5MzQyLjM5OTA5NzIsIDg2NDAsIDEuNDA1OTMyNzg0MDgwNTA1NF0sIFsxNjYzNzM5MzQyLjQ3ODAzNzYsIDg2NDksIDEuMTM3Mjg1NDcwOTYyNTI0NF0sIFsxNjYzNzM5MzQyLjUzOTM5NzUsIDg2NTgsIDEuMTk5NDUwNjEyMDY4MTc2M10sIFsxNjYzNzM5MzQyLjYwNzUwNywgODY2NywgMS40NDgwNzQzNDA4MjAzMTI1XSwgWzE2NjM3MzkzNDIuNzA5ODg4NywgODY3NiwgMS42MDc2Mjg5NDE1MzU5NDk3XSwgWzE2NjM3MzkzNDIuNzc1NjQ1NSwgODY4NSwgMS4zNjExODY1MDQzNjQwMTM3XSwgWzE2NjM3MzkzNDIuODUwNDQwMywgODY5NCwgMS41NDgyNzg1NzAxNzUxNzFdLCBbMTY2MzczOTM0Mi45OTYzMjg2LCA4NzEyLCAxLjE4NzkxNDM3MTQ5MDQ3ODVdLCBbMTY2MzczOTM0My4wNzQwNzE0LCA4NzIxLCAxLjI5MTk1NzQ5NzU5Njc0MDddLCBbMTY2MzczOTM0My4zMTc4NTk0LCA4NzQ4LCAxLjMyODI0NTk5NzQyODg5NF0sIFsxNjYzNzM5MzQzLjY5MTcwNTIsIDg3OTMsIDEuMTMwMzAwOTk4Njg3NzQ0MV0sIFsxNjYzNzM5MzQzLjgzNzEyNDMsIDg4MTEsIDEuMjEzNjUxNTM3ODk1MjAyNl0sIFsxNjYzNzM5MzQzLjkwNzg1MywgODgyMCwgMS4xOTM1MDY4MzY4OTExNzQzXSwgWzE2NjM3MzkzNDQuMTQ3Mzc0NiwgODgzOCwgMS40MTU1MzUzMzA3NzI0XSwgWzE2NjM3MzkzNDQuMjI3NTEzOCwgODg0NywgMS4xNDEzNzg4Nzk1NDcxMTkxXSwgWzE2NjM3MzkzNDQuMzAzMDMyNCwgODg1NiwgMS4xNDgzNTgzNDUwMzE3MzgzXSwgWzE2NjM3MzkzNDQuNTM2NDAyNywgODg4MywgMS4yNTQ0OTc0MDg4NjY4ODIzXSwgWzE2NjM3MzkzNDQuNjE1NTkyLCA4ODkyLCAxLjM2ODM1MTQ1OTUwMzE3MzhdLCBbMTY2MzczOTM0NC43NzUwODY2LCA4OTAxLCAxLjI5NDg0NzAxMTU2NjE2Ml0sIFsxNjYzNzM5MzQ0Ljg4ODY3LCA4OTEwLCAxLjIyNTI3MTQ2MzM5NDE2NV0sIFsxNjYzNzM5MzQ0Ljk2NDk4MjcsIDg5MTksIDEuMTkxNjkxMzk4NjIwNjA1NV0sIFsxNjYzNzM5MzQ1LjEyMDAzNjQsIDg5MzcsIDEuMDYzMzAzNDcwNjExNTcyM10sIFsxNjYzNzM5MzQ1LjI2NDcxMTYsIDg5NTUsIDEuMjUxMTk0NDc3MDgxMjk4OF0sIFsxNjYzNzM5MzQ1LjMzODcwNTMsIDg5NjQsIDEuNDg1MTE3NjczODczOTAxNF0sIFsxNjYzNzM5MzQ1LjQwNjUxNDIsIDg5NzMsIDEuMTMzODY1ODMzMjgyNDcwN10sIFsxNjYzNzM5MzQ1LjU1NzM3OTcsIDg5OTEsIDEuMzQyNTgwNzk1Mjg4MDg2XSwgWzE2NjM3MzkzNDUuNjMyNjE1NiwgOTAwMCwgMS4zOTc1MTYwMTIxOTE3NzI1XSwgWzE2NjM3MzkzNDUuNzc5ODczNCwgOTAxOCwgMS4xNDIzNTUzMjI4Mzc4Mjk2XSwgWzE2NjM3MzkzNDUuODY4OTM5NiwgOTAyNywgMS41NTMxMDgyMTUzMzIwMzEyXSwgWzE2NjM3MzkzNDUuOTUwNTE1NSwgOTAzNiwgMS4zNzE4NjE2OTYyNDMyODYxXSwgWzE2NjM3MzkzNDYuMTIxMDU0LCA5MDQ1LCAxLjUyNDIzNzM5NDMzMjg4NTddLCBbMTY2MzczOTM0Ni4yMzI3ODksIDkwNTQsIDEuMTU2OTk1NjU0MTA2MTQwMV0sIFsxNjYzNzM5MzQ2LjMwNzAyMzMsIDkwNjMsIDEuNDAxNDE2ODk3NzczNzQyN10sIFsxNjYzNzM5MzQ2Ljc3MzMyNCwgOTEwOCwgMS40MTA3OTAyMDUwMDE4MzFdLCBbMTY2MzczOTM0Ni45NjQxODE0LCA5MTI2LCAxLjIzOTk0NDEwMDM3OTk0MzhdLCBbMTY2MzczOTM0Ny4xMzk3OCwgOTE0NCwgMS4wODU0NzAwODAzNzU2NzE0XSwgWzE2NjM3MzkzNDcuMjIzNTIzOSwgOTE1MywgMS41MTE2NzExODU0OTM0NjkyXSwgWzE2NjM3MzkzNDcuMzAzMDY4MiwgOTE2MiwgMS4zNTkzNjQwMzI3NDUzNjEzXSwgWzE2NjM3MzkzNDcuNTMwMDEwMiwgOTE4OSwgMS4zMDQ5OTI5MTQxOTk4MjldLCBbMTY2MzczOTM0Ny42NzM3ODI4LCA5MjA3LCAxLjEzNTM5MTk1MDYwNzI5OThdLCBbMTY2MzczOTM0Ny45NDI1NTUyLCA5MjQzLCAxLjU3MjM0NjQ0ODg5ODMxNTRdLCBbMTY2MzczOTM0OC4wODEwMDg3LCA5MjYxLCAxLjUwMDc4MDk0MDA1NTg0NzJdLCBbMTY2MzczOTM0OC4xNDU3NTM5LCA5MjcwLCAxLjA4MjAyOTM0MjY1MTM2NzJdLCBbMTY2MzczOTM0OC4yOTY2MTU0LCA5Mjg4LCAxLjIyNDU5NDM1NDYyOTUxNjZdLCBbMTY2MzczOTM0OC42MTE4NTIsIDkzMjQsIDEuMjczOTA4MDE5MDY1ODU3XSwgWzE2NjM3MzkzNDguNjg5NDcwNSwgOTMzMywgMS4wNzU2NjY2NjYwMzA4ODM4XSwgWzE2NjM3MzkzNDguOTQyMzk5NywgOTM0MiwgMS41OTkzOTYyMjg3OTAyODMyXSwgWzE2NjM3MzkzNDkuMDI2ODgxNSwgOTM1MSwgMS40NTU1MTE4MDgzOTUzODU3XSwgWzE2NjM3MzkzNDkuMTAxMTQ1NywgOTM2MCwgMS4wODYwNzk3MTY2ODI0MzRdLCBbMTY2MzczOTM0OS4zOTc0MjA0LCA5Mzk2LCAxLjUwMjYxMDA4NzM5NDcxNDRdLCBbMTY2MzczOTM0OS41NTAzMTksIDk0MTQsIDEuMzYxODU4MjQ4NzEwNjMyM10sIFsxNjYzNzM5MzQ5LjYxNzcxOTcsIDk0MjMsIDEuMjEzODUzNzE2ODUwMjgwOF0sIFsxNjYzNzM5MzUwLjAyMDMyMDQsIDk0NTAsIDEuMTMzMjY1ODUyOTI4MTYxNl0sIFsxNjYzNzM5MzUwLjM3MTMxOTUsIDk0NzcsIDEuNDU5MjEyNTQxNTgwMjAwMl0sIFsxNjYzNzM5MzUwLjQ0NzUzNTgsIDk0ODYsIDEuMTUwMTI1MDI2NzAyODgwOV0sIFsxNjYzNzM5MzUwLjY3NDg5MDgsIDk1MTMsIDEuNDAwNDk2ODQwNDc2OTg5N10sIFsxNjYzNzM5MzUwLjgwODk2MDQsIDk1MzEsIDEuMjQ4ODA1OTk5NzU1ODU5NF0sIFsxNjYzNzM5MzUwLjg3NDQ5NTcsIDk1NDAsIDEuMTU4NTU1Mzg4NDUwNjIyNl0sIFsxNjYzNzM5MzUwLjkzOTM4NTQsIDk1NDksIDEuMDkwMTgwMTU4NjE1MTEyM10sIFsxNjYzNzM5MzUxLjA3NjMzMzMsIDk1NjcsIDEuNTQ5NDI1MjQ0MzMxMzU5OV0sIFsxNjYzNzM5MzUxLjMyNjM1NzYsIDk1OTQsIDEuMzI5Njc4NzczODgwMDA0OV0sIFsxNjYzNzM5MzUxLjM4NjY3NjMsIDk2MDMsIDEuMTA2MzI4NDg3Mzk2MjQwMl0sIFsxNjYzNzM5MzUxLjQ1MDA0NzMsIDk2MTIsIDEuMzQwMjEzMjk4Nzk3NjA3NF0sIFsxNjYzNzM5MzUxLjU5NDE4NTgsIDk2MzAsIDEuMTkwNDY5ODYxMDMwNTc4Nl0sIFsxNjYzNzM5MzUxLjY2ODUzNTIsIDk2MzksIDEuMjIyMTE5NTY5Nzc4NDQyNF0sIFsxNjYzNzM5MzUxLjczMTAyNzEsIDk2NDgsIDEuMzU4MjQ4NTkxNDIzMDM0N10sIFsxNjYzNzM5MzUxLjgwMzg3NzgsIDk2NTcsIDEuMTA2OTA5Mzk0MjY0MjIxMl0sIFsxNjYzNzM5MzUxLjg3MzY2NTgsIDk2NjYsIDEuMjc1MjUwMDc3MjQ3NjE5Nl0sIFsxNjYzNzM5MzUxLjk1NDU2ODksIDk2NzUsIDEuMjczMjI2ODU3MTg1MzYzOF0sIFsxNjYzNzM5MzUyLjE3NDU0MDUsIDk3MDIsIDEuMzg1MDA4ODExOTUwNjgzNl0sIFsxNjYzNzM5MzUyLjI1NzY4NTcsIDk3MTEsIDEuNDE1NTc1MTQ2Njc1MTA5OV0sIFsxNjYzNzM5MzUyLjM5NDAxOTEsIDk3MjksIDEuMjYwNzE1MTI2OTkxMjcyXSwgWzE2NjM3MzkzNTIuNDU5MTAzNiwgOTczOCwgMS4zMDQ3MTc4OTgzNjg4MzU0XSwgWzE2NjM3MzkzNTIuNTI0NzgwMywgOTc0NywgMS4xNDM4OTAwMjMyMzE1MDYzXSwgWzE2NjM3MzkzNTIuNzMxMTk5MywgOTc3NCwgMS4xMjU3NzU4MTQwNTYzOTY1XSwgWzE2NjM3MzkzNTIuNzk5Mzk0NCwgOTc4MywgMS4zODQxNjYxMjE0ODI4NDkxXSwgWzE2NjM3MzkzNTIuODY5NDY0NiwgOTc5MiwgMS4xOTQ5OTI1NDIyNjY4NDU3XSwgWzE2NjM3MzkzNTMuMTQ3NjI2MiwgOTgyOCwgMS4xNTI3Nzg5ODMxMTYxNV0sIFsxNjYzNzM5MzUzLjIxOTUwMTMsIDk4MzcsIDEuMTMzNzI0NDUxMDY1MDYzNV0sIFsxNjYzNzM5MzUzLjMwODY2ODEsIDk4NDYsIDEuMzgyNDA2MTE1NTMxOTIxNF0sIFsxNjYzNzM5MzUzLjY2ODAzNzIsIDk4OTEsIDEuMTUzNzk4ODE4NTg4MjU2OF0sIFsxNjYzNzM5MzUzLjgwMzA5MzcsIDk5MDksIDEuNzA5Njc4NjQ5OTAyMzQzOF0sIFsxNjYzNzM5MzUzLjk1MTgxODIsIDk5MjcsIDEuMjgwNDQzNzg3NTc0NzY4XSwgWzE2NjM3MzkzNTQuMDU2NjY2MSwgOTkzNiwgMS4xNzgzNjM5MTkyNTgxMTc3XSwgWzE2NjM3MzkzNTQuMTMwODIxNywgOTk0NSwgMS4xOTQ4Mzc5Mjc4MTgyOTgzXSwgWzE2NjM3MzkzNTQuMzc2ODYwMSwgOTk3MiwgMS4yOTQ5NzM0OTI2MjIzNzU1XSwgWzE2NjM3MzkzNTQuNDUzNzM4NSwgOTk4MSwgMS4yOTA0ODU3Mzk3MDc5NDY4XSwgWzE2NjM3MzkzNTQuNTM4OTIxNCwgOTk5MCwgMS40NDc1ODM0MzY5NjU5NDI0XSwgWzE2NjM3MzkzNTQuNjEyMDI5NiwgOTk5OSwgMS4xNzQ1ODE0MDg1MDA2NzE0XSwgWzE2NjM3MzkzNTQuNzA0MTQ5LCAxMDAwOCwgMS4zOTMxNDUwODQzODExMDM1XSwgWzE2NjM3MzkzNTQuODA4OTg2NCwgMTAwMTcsIDEuMzM1NjIyNzg3NDc1NTg2XSwgWzE2NjM3MzkzNTQuOTgzOTc1NCwgMTAwMjYsIDEuMTg3NjU2NDAyNTg3ODkwNl0sIFsxNjYzNzM5MzU1LjE0NjU3MTYsIDEwMDM1LCAxLjIxNTMyMjM3NTI5NzU0NjRdLCBbMTY2MzczOTM1NS4zNTIxODU1LCAxMDA1MywgMS4zODgxNDg0MjcwMDk1ODI1XSwgWzE2NjM3MzkzNTUuNTcwODg2NCwgMTAwODAsIDEuMjM5OTg0ODY5OTU2OTcwMl0sIFsxNjYzNzM5MzU1LjY1MTY4OCwgMTAwODksIDEuMjY3NDEwMTU5MTExMDIzXSwgWzE2NjM3MzkzNTUuOTE0MzY0LCAxMDA5OCwgMS4xMzcyODEwNjAyMTg4MTFdLCBbMTY2MzczOTM1NS45OTc4NDc4LCAxMDEwNywgMS40ODMwMTA3Njg4OTAzODA5XSwgWzE2NjM3MzkzNTYuMjI2MjczOCwgMTAxMzQsIDEuMTg5MzAzNjM2NTUwOTAzM10sIFsxNjYzNzM5MzU2LjI5ODgyOCwgMTAxNDMsIDEuMTYxNDYyNTQ1Mzk0ODk3NV0sIFsxNjYzNzM5MzU2LjQ0OTQzNzEsIDEwMTYxLCAxLjM1MDU4MjgzODA1ODQ3MTddLCBbMTY2MzczOTM1Ni41MTQwNDEsIDEwMTcwLCAxLjMyNDcwMzU3NDE4MDYwM10sIFsxNjYzNzM5MzU2LjU5ODQwMDQsIDEwMTc5LCAxLjYyNTExMzEyOTYxNTc4MzddLCBbMTY2MzczOTM1Ni42NzM2MjksIDEwMTg4LCAxLjMyNjgyNDkwMzQ4ODE1OTJdLCBbMTY2MzczOTM1Ni43NDg3NDMsIDEwMTk3LCAxLjQxNjMwMDE3NzU3NDE1NzddLCBbMTY2MzczOTM1Ni44Nzg4NDY2LCAxMDIxNSwgMi4wNjcyMTIzNDMyMTU5NDI0XSwgWzE2NjM3MzkzNTYuOTQyMDE2OCwgMTAyMjQsIDEuMjYzNjgwOTM0OTA2MDA1OV0sIFsxNjYzNzM5MzU3LjAxOTE1MTcsIDEwMjMzLCAxLjAwNDA1MzgzMTEwMDQ2MzldLCBbMTY2MzczOTM1Ny4xMDczOTY2LCAxMDI0MiwgMS40ODQwMDY2NDMyOTUyODhdLCBbMTY2MzczOTM1Ny4yODA0Mjc1LCAxMDI2MCwgMS4yNzk0MjM5NTIxMDI2NjExXSwgWzE2NjM3MzkzNTcuNTI4MzM4NywgMTAyODcsIDEuMTk3MTU2NDI5MjkwNzcxNV0sIFsxNjYzNzM5MzU3Ljc1NTg3NiwgMTAzMTQsIDEuMTg4Mzk1ODU3ODEwOTc0MV0sIFsxNjYzNzM5MzU3LjgzMjY5ODYsIDEwMzIzLCAxLjI1NTc5MzQ1MjI2Mjg3ODRdLCBbMTY2MzczOTM1Ny45NzUxMTksIDEwMzQxLCAxLjMxMDcwNjQ5NjIzODcwODVdLCBbMTY2MzczOTM1OC4wNDMyMjg2LCAxMDM1MCwgMS4yNDI5NzQwNDI4OTI0NTZdLCBbMTY2MzczOTM1OC4xMTIxOTM2LCAxMDM1OSwgMS4yMjA5Mzc0OTA0NjMyNTY4XSwgWzE2NjM3MzkzNTguMTk2MTI4NiwgMTAzNjgsIDEuMTY1NzU1MjcxOTExNjIxXSwgWzE2NjM3MzkzNTguMjczMzU3NiwgMTAzNzcsIDEuMTYyNDkzOTQ0MTY4MDkwOF0sIFsxNjYzNzM5MzU4LjM1MzYxNzIsIDEwMzg2LCAxLjE0NjMwMTM4ODc0MDUzOTZdLCBbMTY2MzczOTM1OC41NzYzMDE2LCAxMDQwNCwgMS4yNzgwMzg2MjA5NDg3OTE1XSwgWzE2NjM3MzkzNTguODc3MzQ0NiwgMTA0NDAsIDEuMjE1MzQyNzYwMDg2MDU5Nl0sIFsxNjYzNzM5MzU4Ljk0NzE4NTUsIDEwNDQ5LCAxLjE2NjYzMjQxMzg2NDEzNTddLCBbMTY2MzczOTM1OS4wOTIxOTIyLCAxMDQ2NywgMS40MzQyMjc5NDM0MjA0MTAyXSwgWzE2NjM3MzkzNTkuMjQ4MzIxNSwgMTA0ODUsIDEuNDU3NjcwOTI3MDQ3NzI5NV0sIFsxNjYzNzM5MzU5LjQwMTkzMTgsIDEwNTAzLCAxLjMyODA4Njk3MjIzNjYzMzNdLCBbMTY2MzczOTM1OS40ODAxMzgzLCAxMDUxMiwgMS4wOTgyMTkzOTQ2ODM4MzhdLCBbMTY2MzczOTM1OS45MDI1OTg2LCAxMDU1NywgMS40ODUyMzEzOTk1MzYxMzI4XSwgWzE2NjM3MzkzNTkuOTc1ODk3MywgMTA1NjYsIDEuMzMwNzg2NDY2NTk4NTEwN10sIFsxNjYzNzM5MzYwLjA1NzE5NzYsIDEwNTc1LCAxLjI3NzY3MzAwNjA1NzczOTNdLCBbMTY2MzczOTM2MC4yMjMxNTYyLCAxMDU5MywgMS4xNjk4MDA3NTgzNjE4MTY0XSwgWzE2NjM3MzkzNjAuMzA2NzM3MiwgMTA2MDIsIDEuMzE4OTY0MDA0NTE2NjAxNl0sIFsxNjYzNzM5MzYwLjM3ODk3OSwgMTA2MTEsIDEuNDA1ODQwMzk2ODgxMTAzNV0sIFsxNjYzNzM5MzYwLjcwMjExNTgsIDEwNjQ3LCAxLjE4OTAzOTIzMDM0NjY3OTddLCBbMTY2MzczOTM2MC44NTEwNzU2LCAxMDY2NSwgMS4yNjAxODI3MzgzMDQxMzgyXSwgWzE2NjM3MzkzNjEuMDE2NzQ2NSwgMTA2ODMsIDEuMzQwOTU4NDc2MDY2NTg5NF0sIFsxNjYzNzM5MzYxLjE2NjQ4NDgsIDEwNzAxLCAxLjIwMzg3NjM3NjE1MjAzODZdLCBbMTY2MzczOTM2MS4yNDkxMjg4LCAxMDcxMCwgMS4yNjM2MzMwMTI3NzE2MDY0XSwgWzE2NjM3MzkzNjEuNTI0NDA1MiwgMTA3MTksIDEuMTg4MTAyNzIyMTY3OTY4OF0sIFsxNjYzNzM5MzYxLjc1NDY3NTQsIDEwNzQ2LCAxLjMwMzY3NTUzMjM0MTAwMzRdLCBbMTY2MzczOTM2MS44MzU1MjYyLCAxMDc1NSwgMS4xOTM1Mjc2OTg1MTY4NDU3XSwgWzE2NjM3MzkzNjEuOTI0OTA1MywgMTA3NjQsIDEuMzAxMzQ1MTA5OTM5NTc1Ml0sIFsxNjYzNzM5MzYxLjk4NzQyNDYsIDEwNzczLCAxLjM0MjUyNjc5MzQ3OTkxOTRdLCBbMTY2MzczOTM2Mi4wNTk2ODA1LCAxMDc4MiwgMS40MjQzNjUxNjI4NDk0MjYzXSwgWzE2NjM3MzkzNjIuMTIyNTEwNCwgMTA3OTEsIDEuMzc2MzUyNDI5Mzg5OTUzNl0sIFsxNjYzNzM5MzYyLjM1Nzc1ODgsIDEwODE4LCAxLjExMzE1ODk0MTI2ODkyMV0sIFsxNjYzNzM5MzYyLjQzMzc2MTQsIDEwODI3LCAxLjI5NTAyNzI1NjAxMTk2M10sIFsxNjYzNzM5MzYyLjc5Njc0OTgsIDEwODU0LCAxLjIzOTA0MzM1NDk4ODA5ODFdLCBbMTY2MzczOTM2Mi44ODU5MDMxLCAxMDg2MywgMS4wOTY2NzUyNzY3NTYyODY2XSwgWzE2NjM3MzkzNjIuOTYzMTU4NiwgMTA4NzIsIDEuMjQ5OTY3OTMyNzAxMTEwOF0sIFsxNjYzNzM5MzYzLjEyOTY0LCAxMDg5MCwgMS4wMDM3NTIxMTIzODg2MTA4XSwgWzE2NjM3MzkzNjMuMjEzODI0NywgMTA4OTksIDEuMDQ4NDEwMjk2NDQwMTI0NV0sIFsxNjYzNzM5MzYzLjUyMjM3MTgsIDEwOTI2LCAxLjQ2NjcxNjg4NTU2NjcxMTRdLCBbMTY2MzczOTM2My42MDQ4MzU3LCAxMDkzNSwgMS4zNDg2MjM4NzE4MDMyODM3XSwgWzE2NjM3MzkzNjMuNjgwNTE1MywgMTA5NDQsIDEuNTcyOTUyMDMyMDg5MjMzNF0sIFsxNjYzNzM5MzYzLjgzNzQ0MTQsIDEwOTYyLCAxLjIyNjgyNzYyMTQ1OTk2MV0sIFsxNjYzNzM5MzYzLjkxODcyMDcsIDEwOTcxLCAxLjI3Nzg5NTIxMjE3MzQ2Ml0sIFsxNjYzNzM5MzY0LjEzNjYyOTMsIDEwOTk4LCAxLjM2MDkzMTUxNTY5MzY2NDZdLCBbMTY2MzczOTM2NC4yMTY0Mzc4LCAxMTAwNywgMS4xODc0NDMzNzU1ODc0NjM0XSwgWzE2NjM3MzkzNjQuMzg4MzQ1NywgMTEwMTYsIDEuMzE5NDA2MDMyNTYyMjU1OV0sIFsxNjYzNzM5MzY0LjU5NDUzNSwgMTEwMzQsIDEuMjc4NDU5Nzg3MzY4Nzc0NF0sIFsxNjYzNzM5MzY0LjgxMTc2MzgsIDExMDYxLCAxLjEyMzY2MDU2NDQyMjYwNzRdLCBbMTY2MzczOTM2NC44ODEyMzg1LCAxMTA3MCwgMS44MDI2MDI4ODcxNTM2MjU1XSwgWzE2NjM3MzkzNjUuMDgzOTUzLCAxMTA5NywgMS4xODI0MDU0NzE4MDE3NTc4XSwgWzE2NjM3MzkzNjUuMTUyNjQ5OSwgMTExMDYsIDEuMjc1ODkzNTY4OTkyNjE0N10sIFsxNjYzNzM5MzY1LjIzMDc5MDEsIDExMTE1LCAxLjE3ODYwODY1NTkyOTU2NTRdLCBbMTY2MzczOTM2NS41NDI2OTYsIDExMTUxLCAxLjI5MTY2Njc0NjEzOTUyNjRdLCBbMTY2MzczOTM2NS42ODU4NDM3LCAxMTE2OSwgMS4yOTUzMTM3MTU5MzQ3NTM0XSwgWzE2NjM3MzkzNjUuNzQ3NTA2MSwgMTExNzgsIDEuMDY1MDc4MjU4NTE0NDA0M10sIFsxNjYzNzM5MzY1LjgxNTE1MTcsIDExMTg3LCAxLjIzMjg0NzY5MDU4MjI3NTRdLCBbMTY2MzczOTM2NS44OTY0NTQsIDExMTk2LCAxLjE0NTc5OTg3NTI1OTM5OTRdLCBbMTY2MzczOTM2NS45Njg4MDIyLCAxMTIwNSwgMS40MzExNjY1Mjk2NTU0NTY1XSwgWzE2NjM3MzkzNjYuMDM0MDMzMywgMTEyMTQsIDEuMjMwNzU5NTAxNDU3MjE0NF0sIFsxNjYzNzM5MzY2LjEwMTE3MzksIDExMjIzLCAxLjY5MzcwMzUzMjIxODkzM10sIFsxNjYzNzM5MzY2LjM1NzI3OTgsIDExMjUwLCAxLjQzMjc4OTIwNjUwNDgyMThdLCBbMTY2MzczOTM2Ni40Mjk0NDc0LCAxMTI1OSwgMS42MDQwMjM5MzM0MTA2NDQ1XSwgWzE2NjM3MzkzNjYuNDkyMjA5NCwgMTEyNjgsIDEuMzkwNTQxOTExMTI1MTgzXSwgWzE2NjM3MzkzNjYuNTU5NTE1MiwgMTEyNzcsIDEuMDkxNDgyMDQzMjY2Mjk2NF0sIFsxNjYzNzM5MzY2LjcwNDU4MjUsIDExMjk1LCAxLjU3MDM4NTU3NTI5NDQ5NDZdLCBbMTY2MzczOTM2Ni44NDI2NDE0LCAxMTMxMywgMS4wNzg0NDgxNzYzODM5NzIyXSwgWzE2NjM3MzkzNjYuOTIxODE2NiwgMTEzMjIsIDEuMjAxNzUzNzM1NTQyMjk3NF0sIFsxNjYzNzM5MzY3LjMyNTcwMjcsIDExMzQ5LCAxLjE5Mzg5MDA5NDc1NzA4XSwgWzE2NjM3MzkzNjcuMzk2ODYwMSwgMTEzNTgsIDEuMTE3Nzk5OTk3MzI5NzEyXSwgWzE2NjM3MzkzNjcuNjIwNTIzNSwgMTEzODUsIDEuMjA3NjMzNDk1MzMwODEwNV0sIFsxNjYzNzM5MzY3Ljg2MjkyODksIDExNDEyLCAxLjY4NzAwNTg3NzQ5NDgxMl0sIFsxNjYzNzM5MzY3LjkzNTg3NjgsIDExNDIxLCAxLjI2OTU1NjY0MTU3ODY3NDNdLCBbMTY2MzczOTM2OC4zOTk3MzUyLCAxMTQ0OCwgMS41MzI5MDk4NzAxNDc3MDVdLCBbMTY2MzczOTM2OC45NzI0NDI2LCAxMTQ5MywgMS4yNTAzMTIyMDkxMjkzMzM1XSwgWzE2NjM3MzkzNjkuMDY4OTcxOSwgMTE1MDIsIDEuNDg2MjQ1ODcwNTkwMjFdLCBbMTY2MzczOTM2OS4xNjAzNDg0LCAxMTUxMSwgMS4zMzA0MTg0Njc1MjE2Njc1XSwgWzE2NjM3MzkzNjkuMzMxMjgzNiwgMTE1MjksIDEuMzY3NzQxMTA3OTQwNjczOF0sIFsxNjYzNzM5MzY5LjUxNzcwNjIsIDExNTQ3LCAxLjQ2NDEyMjY1MzAwNzUwNzNdLCBbMTY2MzczOTM2OS44MjE5OTMsIDExNTc0LCAxLjMyNDE2NjY1NTU0MDQ2NjNdLCBbMTY2MzczOTM2OS45MDU4NDIsIDExNTgzLCAxLjI1OTMyOTU1NzQxODgyMzJdLCBbMTY2MzczOTM3MC4wNjI3ODEzLCAxMTYwMSwgMS40NjM4NjUwNDE3MzI3ODhdLCBbMTY2MzczOTM3MC4zMjEyMTYzLCAxMTYxOSwgMS40ODE4NDQxODY3ODI4MzddLCBbMTY2MzczOTM3MC40NzE5OTIzLCAxMTYzNywgMS40MTYyNjc2MzM0MzgxMTA0XSwgWzE2NjM3MzkzNzAuNTQzNzQyNywgMTE2NDYsIDEuMTcyNDk3NTEwOTEwMDM0Ml0sIFsxNjYzNzM5MzcwLjc4NjMzMTQsIDExNjczLCAxLjIxOTIwMDQ5MTkwNTIxMjRdLCBbMTY2MzczOTM3MC45MzIwOTI0LCAxMTY5MSwgMS4zMjIwODc4ODM5NDkyNzk4XSwgWzE2NjM3MzkzNzAuOTk3MTg0NSwgMTE3MDAsIDEuMzEwMzM2MTEyOTc2MDc0Ml0sIFsxNjYzNzM5MzcxLjE0MzYyOTgsIDExNzE4LCAxLjE2MTM5ODQxMDc5NzExOTFdLCBbMTY2MzczOTM3MS4yMTA1NTMyLCAxMTcyNywgMS40MzMxODMzMTI0MTYwNzY3XSwgWzE2NjM3MzkzNzEuMzUyNTY5LCAxMTc0NSwgMS4xNjAzOTQ5MDY5OTc2ODA3XSwgWzE2NjM3MzkzNzEuNDg3MzUyLCAxMTc2MywgMS4zMzY5NDkzNDg0NDk3MDddLCBbMTY2MzczOTM3MS43NzkyMjYzLCAxMTc5OSwgMS4xMDg5NTM3MTQzNzA3Mjc1XSwgWzE2NjM3MzkzNzEuOTgwOTk0MiwgMTE4MjYsIDEuMjc5OTIyNjA0NTYwODUyXSwgWzE2NjM3MzkzNzIuMDQ4NzQsIDExODM1LCAxLjM3MDYwMDIyMzU0MTI1OThdLCBbMTY2MzczOTM3Mi4xMjAxMDgsIDExODQ0LCAxLjI0NjAxODY0ODE0NzU4M10sIFsxNjYzNzM5MzcyLjQ3ODAzNjQsIDExODg5LCAxLjM2MTc5NzQ1MTk3Mjk2MTRdLCBbMTY2MzczOTM3Mi42MjY3MzY2LCAxMTkwNywgMS4yMDEwOTMwNzc2NTk2MDddLCBbMTY2MzczOTM3Mi42OTYxMTQsIDExOTE2LCAxLjQ1NTU3MDkzNjIwMzAwM10sIFsxNjYzNzM5MzcyLjc2NDY5MiwgMTE5MjUsIDEuNDAxODQwODA2MDA3Mzg1M10sIFsxNjYzNzM5MzcyLjgyOTU3NSwgMTE5MzQsIDEuMTUxNTkxODk3MDEwODAzMl0sIFsxNjYzNzM5MzcyLjg5OTA1MTQsIDExOTQzLCAxLjM0NTY3MTI5NjExOTY5XSwgWzE2NjM3MzkzNzMuMDMzMzY2NCwgMTE5NjEsIDEuMjUyODQzNjE4MzkyOTQ0M10sIFsxNjYzNzM5MzczLjU4MTY1NjcsIDEyMDI0LCAxLjE0OTM2NTkwMTk0NzAyMTVdLCBbMTY2MzczOTM3NC4wMjEzODg1LCAxMjA3OCwgMS4yMDY5NTAzMDY4OTIzOTVdLCBbMTY2MzczOTM3NC4yNTIwNjk3LCAxMjEwNSwgMS4zOTgwODI0OTQ3MzU3MTc4XSwgWzE2NjM3MzkzNzQuMzMwOTIxLCAxMjExNCwgMS4zMzQyNzQ2NDk2MjAwNTYyXSwgWzE2NjM3MzkzNzQuNDk5NDkyLCAxMjEzMiwgMS4zMDA3NjUyNzU5NTUyMDAyXSwgWzE2NjM3MzkzNzQuNjIyNjE4MiwgMTIxNDEsIDEuMTAzOTQ3OTk3MDkzMjAwN10sIFsxNjYzNzM5Mzc0Ljg0NjM0MTgsIDEyMTY4LCAxLjM4Njg0Nzg1MzY2MDU4MzVdLCBbMTY2MzczOTM3NC45MTg1MzUyLCAxMjE3NywgMS4xMzg2OTgyMjAyNTI5OTA3XSwgWzE2NjM3MzkzNzUuMDY4NTMyLCAxMjE5NSwgMS41NzI2NTA5MDk0MjM4MjgxXSwgWzE2NjM3MzkzNzUuMTQ1MzczLCAxMjIwNCwgMS45MDA0NTUxMTcyMjU2NDddLCBbMTY2MzczOTM3NS4yMTc1NjU4LCAxMjIxMywgMS4zMDU2NDY4OTYzNjIzMDQ3XSwgWzE2NjM3MzkzNzUuNDg3MTc4OCwgMTIyMjIsIDEuMTEyNzYxNjE2NzA2ODQ4MV0sIFsxNjYzNzM5Mzc1LjU2MzUyNzgsIDEyMjMxLCAxLjEyODMzODA5ODUyNjAwMV0sIFsxNjYzNzM5Mzc1LjcyNzU1NjcsIDEyMjQ5LCAxLjM3NDk5NTk0Njg4NDE1NTNdLCBbMTY2MzczOTM3Ni4wMDY2Mjk3LCAxMjI4NSwgMS4wNzQwODUyMzU1OTU3MDMxXSwgWzE2NjM3MzkzNzYuMDc1Mzk1OCwgMTIyOTQsIDEuMTMxOTk3OTQyOTI0NDk5NV0sIFsxNjYzNzM5Mzc2LjE0ODE5OCwgMTIzMDMsIDEuMDQzMTk0NjUxNjAzNjk4N10sIFsxNjYzNzM5Mzc2LjIxNTE0MTUsIDEyMzEyLCAxLjE3MTc2NzgzMDg0ODY5MzhdLCBbMTY2MzczOTM3Ni4yODg4NzU2LCAxMjMyMSwgMC45ODE5NTgyNzAwNzI5MzddLCBbMTY2MzczOTM3Ni42NTU5ODk2LCAxMjM1NywgMS4xMjkxMTU1ODE1MTI0NTEyXSwgWzE2NjM3MzkzNzYuNzI3Mzc5OCwgMTIzNjYsIDEuNDM3NjM3MzI5MTAxNTYyNV0sIFsxNjYzNzM5Mzc2Ljg2Njk3ODYsIDEyMzg0LCAxLjI4NTQ2NzYyNDY2NDMwNjZdLCBbMTY2MzczOTM3Ni45Mzg3MTIsIDEyMzkzLCAxLjI1Nzg5NDAzOTE1NDA1MjddLCBbMTY2MzczOTM3Ny4yMjY5OTQ1LCAxMjQyOSwgMS4zODQxMDgxODU3NjgxMjc0XSwgWzE2NjM3MzkzNzcuMzUzNzM1MiwgMTI0MzgsIDEuMTEwODY2NjY1ODQwMTQ5XSwgWzE2NjM3MzkzNzcuNjUzMjU0NSwgMTI0NzQsIDEuMjU1MzcwNjE2OTEyODQxOF0sIFsxNjYzNzM5Mzc3LjcyNTEzNzcsIDEyNDgzLCAxLjEwMzUwNDE4MDkwODIwMzFdLCBbMTY2MzczOTM3Ny43OTg3ODc4LCAxMjQ5MiwgMS4xMzAxOTE1NjQ1NTk5MzY1XSwgWzE2NjM3MzkzNzguMDE5NzI3NywgMTI1MTksIDEuMjMwMjg3NDMyNjcwNTkzM10sIFsxNjYzNzM5Mzc4LjA5NzA2NzQsIDEyNTI4LCAxLjQxNTI5MDcxMzMxMDI0MTddLCBbMTY2MzczOTM3OC4yNjczNTg4LCAxMjU0NiwgMS4zNzYwODA2MzIyMDk3Nzc4XSwgWzE2NjM3MzkzNzguNDg1MTE0LCAxMjU3MywgMS4yODc3MDYzNzUxMjIwNzAzXSwgWzE2NjM3MzkzNzguNTU3NzA4NSwgMTI1ODIsIDEuMjk2MjAyODk4MDI1NTEyN10sIFsxNjYzNzM5Mzc4LjcwODk3ODQsIDEyNjAwLCAxLjE4NTgxNTgxMTE1NzIyNjZdLCBbMTY2MzczOTM3OC43ODI4NTc0LCAxMjYwOSwgMS4xNDE1MzIzMDE5MDI3NzFdLCBbMTY2MzczOTM3OS4wMzEzMzY1LCAxMjYzNiwgMS4yNTc4NTk1ODc2NjkzNzI2XSwgWzE2NjM3MzkzNzkuMTc3MDIyNywgMTI2NTQsIDEuMjcwNzUxMjM3ODY5MjYyN10sIFsxNjYzNzM5Mzc5Ljc3ODY4NywgMTI3MjYsIDEuMzg3MjYwNjc1NDMwMjk3OV0sIFsxNjYzNzM5MzgwLjM5MzMxLCAxMjc1MywgMS4zMDMwNDYzNDU3MTA3NTQ0XSwgWzE2NjM3MzkzODAuNDk0Njk4NSwgMTI3NjIsIDEuMjg0OTk0MDA2MTU2OTIxNF0sIFsxNjYzNzM5MzgwLjYzNTc3MjIsIDEyNzgwLCAxLjUwMzQ0ODM2NzExODgzNTRdLCBbMTY2MzczOTM4MC43OTgzMDA3LCAxMjc5OCwgMS4yMzk4MzA4NTE1NTQ4NzA2XSwgWzE2NjM3MzkzODAuODY3NTA1NiwgMTI4MDcsIDEuNDYzODUyNjQzOTY2Njc0OF0sIFsxNjYzNzM5MzgxLjU4NTUwMjksIDEyODg4LCAxLjQ3NTc2ODMyNzcxMzAxMjddLCBbMTY2MzczOTM4MS42NTU0MTQ2LCAxMjg5NywgMS42ODg5ODYwNjMwMDM1NF0sIFsxNjYzNzM5MzgxLjcyMDA0ODcsIDEyOTA2LCAxLjQwODUyMDY5ODU0NzM2MzNdLCBbMTY2MzczOTM4MS44MDI0MjMsIDEyOTE1LCAxLjI1NDgzMDgzNzI0OTc1NTldLCBbMTY2MzczOTM4MS45MzI1NzUyLCAxMjkzMywgMS4yMjAxNzE4MDkxOTY0NzIyXSwgWzE2NjM3MzkzODIuMDY0MTUxOCwgMTI5NTEsIDEuMTYzOTczNDUwNjYwNzA1Nl0sIFsxNjYzNzM5MzgyLjEyOTc0OSwgMTI5NjAsIDEuMTg0OTU1MzU4NTA1MjQ5XSwgWzE2NjM3MzkzODIuMjA3Nzg3MywgMTI5NjksIDEuMjUxMDg4OTc2ODYwMDQ2NF0sIFsxNjYzNzM5MzgyLjI3NjA1MTMsIDEyOTc4LCAxLjUxNzg5MDQ1MzMzODYyM10sIFsxNjYzNzM5MzgyLjY2NTUzMzUsIDEzMDA1LCAxLjExMTczMzMxNzM3NTE4M10sIFsxNjYzNzM5MzgyLjgxNjUwNTQsIDEzMDIzLCAxLjA3NjQzOTk3NjY5MjE5OTddLCBbMTY2MzczOTM4Mi44OTA5NDA0LCAxMzAzMiwgMS4yMzExMjkwNTAyNTQ4MjE4XSwgWzE2NjM3MzkzODIuOTYyOTc5NiwgMTMwNDEsIDEuNjc0OTA5MTE0ODM3NjQ2NV0sIFsxNjYzNzM5MzgzLjAzNTc4NjksIDEzMDUwLCAxLjM5MzE3NzYyODUxNzE1MDldLCBbMTY2MzczOTM4My4xMTI4MTc1LCAxMzA1OSwgMS4xMzE2MDMxMjE3NTc1MDczXSwgWzE2NjM3MzkzODMuMjA0MjY3NSwgMTMwNjgsIDEuMzkzNTQ5OTE5MTI4NDE4XSwgWzE2NjM3MzkzODMuMjc0ODIyMiwgMTMwNzcsIDEuMTk1OTkwMDg1NjAxODA2Nl0sIFsxNjYzNzM5MzgzLjQxMjUwNjMsIDEzMDk1LCAxLjMwMDA4MTg0OTA5ODIwNTZdLCBbMTY2MzczOTM4My40ODIyODgxLCAxMzEwNCwgMi4wMTk2ODkwODMwOTkzNjUyXSwgWzE2NjM3MzkzODMuNTYyNTgyLCAxMzExMywgMS4yOTg0NzU5ODA3NTg2NjddLCBbMTY2MzczOTM4My42Mzg0NjYxLCAxMzEyMiwgMS4yNTQzNzA2ODkzOTIwODk4XSwgWzE2NjM3MzkzODMuNzA3OTgxNiwgMTMxMzEsIDEuNjkwNTg5NDI3OTQ3OTk4XSwgWzE2NjM3MzkzODMuNzc1MTI5MywgMTMxNDAsIDEuNzE2MDEyNzE2MjkzMzM1XSwgWzE2NjM3MzkzODMuODQ5NzMzNiwgMTMxNDksIDEuMDc0ODU0MzczOTMxODg0OF0sIFsxNjYzNzM5MzgzLjkxNDEyNjQsIDEzMTU4LCAxLjQxMTY4NzEzNTY5NjQxMTFdLCBbMTY2MzczOTM4My45ODgxOTY2LCAxMzE2NywgMS4yNzEzNTI3Njc5NDQzMzZdLCBbMTY2MzczOTM4NC4wNTc4MjksIDEzMTc2LCAxLjI1NDIxMTc4MzQwOTExODddLCBbMTY2MzczOTM4NC4xMzc3NzMzLCAxMzE4NSwgMS4yOTk5MTMwNDg3NDQyMDE3XSwgWzE2NjM3MzkzODQuNTYxNzkyOSwgMTMyMzksIDEuMzU4Mzk1ODE0ODk1NjI5OV0sIFsxNjYzNzM5Mzg0Ljc5NjU1OCwgMTMyNjYsIDEuMzc5MjY3NTczMzU2NjI4NF0sIFsxNjYzNzM5Mzg0Ljg3NTMzMzUsIDEzMjc1LCAxLjM0NDIxNzY1ODA0MjkwNzddLCBbMTY2MzczOTM4NS4wNDIzOTkyLCAxMzI5MywgMS4wNDczOTA2OTkzODY1OTY3XSwgWzE2NjM3MzkzODUuMTA3OTk5OCwgMTMzMDIsIDEuMzAwMzQ0ODI0NzkwOTU0Nl0sIFsxNjYzNzM5Mzg1LjQyMjYyMzIsIDEzMzM4LCAxLjQ5NTk3NjY4NjQ3NzY2MTFdLCBbMTY2MzczOTM4NS41MTExNDg3LCAxMzM0NywgMS4zMjY1OTgxNjc0MTk0MzM2XSwgWzE2NjM3MzkzODUuNTk2NzQ3MiwgMTMzNTYsIDEuNDAxNDU0MDkxMDcyMDgyNV0sIFsxNjYzNzM5Mzg1LjY3ODM2NDUsIDEzMzY1LCAxLjE0NjA5ODI1NjExMTE0NV0sIFsxNjYzNzM5Mzg1Ljg4MTcxNywgMTMzOTIsIDEuMjQ2ODQwNzE1NDA4MzI1Ml0sIFsxNjYzNzM5Mzg1Ljk1MTAwNzEsIDEzNDAxLCAxLjIwNjAxNjc3ODk0NTkyMjldLCBbMTY2MzczOTM4Ni4wMTc0NTA2LCAxMzQxMCwgMS40NjYxMDY4OTE2MzIwOF0sIFsxNjYzNzM5Mzg2LjA5OTIwMjQsIDEzNDE5LCAxLjQ5MDQ5NDI1MTI1MTIyMDddLCBbMTY2MzczOTM4Ni4xNzMxNzY4LCAxMzQyOCwgMS4yMjA3ODg1OTgwNjA2MDhdLCBbMTY2MzczOTM4Ni4zMjI2NTg4LCAxMzQ0NiwgMS40MTM1OTE1MDQwOTY5ODQ5XSwgWzE2NjM3MzkzODYuMzg3NTQ5OSwgMTM0NTUsIDEuMjM5ODM3ODg0OTAyOTU0XSwgWzE2NjM3MzkzODYuNjcxNTgzNywgMTM0OTEsIDEuNDAyOTc5MDE2MzA0MDE2MV0sIFsxNjYzNzM5Mzg2Ljc0MTg3MTYsIDEzNTAwLCAxLjEzMDAzNTE2MTk3MjA0Nl0sIFsxNjYzNzM5Mzg2LjgxMDY1NzMsIDEzNTA5LCAxLjM0MTMwNzY0MDA3NTY4MzZdLCBbMTY2MzczOTM4Ni45NjQ4MDc1LCAxMzUyNywgMS4xNDA3OTc3MzQyNjA1NTldLCBbMTY2MzczOTM4Ny4xODM0NTg4LCAxMzU1NCwgMS41MzU5MjI1MjczMTMyMzI0XSwgWzE2NjM3MzkzODcuNDU4MTI0NCwgMTM1OTAsIDEuMTI2NDg1OTQzNzk0MjUwNV0sIFsxNjYzNzM5Mzg3LjUzNDE2NCwgMTM1OTksIDEuMjY0Njg5OTIyMzMyNzYzN10sIFsxNjYzNzM5Mzg3LjYwODY4NjcsIDEzNjA4LCAxLjMxODM1OTM3NV0sIFsxNjYzNzM5Mzg3LjY4MTA1NDQsIDEzNjE3LCAxLjE3MjQ3MTI4NDg2NjMzM10sIFsxNjYzNzM5Mzg3Ljc1MTMwNDQsIDEzNjI2LCAxLjI0MzY2NDYyMjMwNjgyMzddLCBbMTY2MzczOTM4Ny44OTA3MjMyLCAxMzY0NCwgMS4zMDM4NzgxODgxMzMyMzk3XSwgWzE2NjM3MzkzODcuOTcyNTA0MSwgMTM2NTMsIDEuMDg3MTkwMTUxMjE0NTk5Nl0sIFsxNjYzNzM5Mzg4LjY4MDIxMywgMTM3MTYsIDEuMjAyNjA1MzY2NzA2ODQ4MV0sIFsxNjYzNzM5Mzg4LjkxMjY5NDUsIDEzNzQzLCAxLjA2NTQ2NTQ1MDI4Njg2NTJdLCBbMTY2MzczOTM4OS4wNzE2ODY3LCAxMzc2MSwgMS4xMTc0NjY2ODgxNTYxMjhdLCBbMTY2MzczOTM4OS4yMjU2MjE1LCAxMzc3OSwgMS4wODc5ODg3MzQyNDUzMDAzXSwgWzE2NjM3MzkzODkuNDM3NzkxMywgMTM4MDYsIDEuMjM4MTE3MDk4ODA4Mjg4Nl0sIFsxNjYzNzM5Mzg5LjUwNzQzNDEsIDEzODE1LCAxLjI3NTg3MzU0MTgzMTk3MDJdLCBbMTY2MzczOTM4OS43MTU4MTY3LCAxMzg0MiwgMS4wMzQyMTQyNTgxOTM5Njk3XSwgWzE2NjM3MzkzODkuNzg2MTIzLCAxMzg1MSwgMS4yNjY4Mzk1MDQyNDE5NDM0XSwgWzE2NjM3MzkzODkuOTE2OTYzOCwgMTM4NjksIDEuMTM4NTk3MjQ5OTg0NzQxMl0sIFsxNjYzNzM5Mzg5Ljk4MDQ5MjgsIDEzODc4LCAxLjA1NDQ0NjQ1ODgxNjUyODNdLCBbMTY2MzczOTM5MC4yNjQxMjM3LCAxMzkxNCwgMS4wODUzMDc1OTgxMTQwMTM3XSwgWzE2NjM3MzkzOTAuNDIwNjY2MiwgMTM5MzIsIDEuMjA1OTA2MDMzNTE1OTMwMl0sIFsxNjYzNzM5MzkwLjQ5NDc5NjgsIDEzOTQxLCAxLjEwMjg2NjY0OTYyNzY4NTVdLCBbMTY2MzczOTM5MC43MDgyODc1LCAxMzk2OCwgMS4xNjQ1MTU3MzM3MTg4NzJdLCBbMTY2MzczOTM5MC43NzE4MzY1LCAxMzk3NywgMS41MTMwNDM4ODA0NjI2NDY1XSwgWzE2NjM3MzkzOTAuODM5Njk2NiwgMTM5ODYsIDEuMjE5NzM2MDk5MjQzMTY0XSwgWzE2NjM3MzkzOTAuOTc4Njc4MiwgMTQwMDQsIDEuNzA0MDczNjY3NTI2MjQ1MV0sIFsxNjYzNzM5MzkxLjEwMjU2MSwgMTQwMjIsIDEuMjUyODc2MTYyNTI4OTkxN10sIFsxNjYzNzM5MzkxLjI4NzczNzEsIDE0MDQwLCAxLjI5NTkzMDAyNzk2MTczMV0sIFsxNjYzNzM5MzkxLjUxNDQ3NzUsIDE0MDQ5LCAxLjA4NDU3Mzk4NDE0NjExODJdLCBbMTY2MzczOTM5MS42NjYzMjE4LCAxNDA2NywgMS4wNzAzMDcyNTQ3OTEyNTk4XSwgWzE2NjM3MzkzOTEuODI1NzQxLCAxNDA4NSwgMS4zNTcyNTYxNzQwODc1MjQ0XSwgWzE2NjM3MzkzOTEuOTAwMjIwNiwgMTQwOTQsIDEuMTIwMjUwMzQ0Mjc2NDI4Ml0sIFsxNjYzNzM5MzkxLjk3OTg5OTQsIDE0MTAzLCAxLjQxMDUxMjgwNDk4NTA0NjRdLCBbMTY2MzczOTM5Mi4xNDE3NzYsIDE0MTIxLCAxLjA4ODEyODIwOTExNDA3NDddLCBbMTY2MzczOTM5Mi4yOTgxNjk5LCAxNDEzOSwgMS40OTQ3OTQ2MDcxNjI0NzU2XSwgWzE2NjM3MzkzOTIuMzcxMTc5MywgMTQxNDgsIDEuMjE5NzY1MzA1NTE5MTA0XSwgWzE2NjM3MzkzOTIuNDQ0MzI2NiwgMTQxNTcsIDEuMjQxMzMzODQyMjc3NTI2OV0sIFsxNjYzNzM5MzkyLjUyMjM3NjMsIDE0MTY2LCAxLjEwNDIwNDA1ODY0NzE1NThdLCBbMTY2MzczOTM5Mi41OTgwOTMsIDE0MTc1LCAxLjMzMTI5MjI3MTYxNDA3NDddLCBbMTY2MzczOTM5Mi43NTI3NDA0LCAxNDE5MywgMS4zODMzMjMxOTI1OTY0MzU1XSwgWzE2NjM3MzkzOTIuOTA5NTk5OCwgMTQyMTEsIDEuMDQ4MTM5NTcyMTQzNTU0N10sIFsxNjYzNzM5MzkzLjAxODM4NzgsIDE0MjIwLCAxLjc1MjQ1Njc4NDI0ODM1Ml0sIFsxNjYzNzM5MzkzLjEwMzg1OTcsIDE0MjI5LCAxLjEyMTQ1NzA5OTkxNDU1MDhdLCBbMTY2MzczOTM5My4xNzA0MzMsIDE0MjM4LCAxLjE5NTIzNjMyNTI2Mzk3N10sIFsxNjYzNzM5MzkzLjI0Mzc5NDcsIDE0MjQ3LCAxLjMzODc5NzIxMTY0NzAzMzddLCBbMTY2MzczOTM5My42MjU4NDksIDE0Mjc0LCAxLjIzMjg4MjYxODkwNDExMzhdLCBbMTY2MzczOTM5NC4xNzU4MTQ5LCAxNDMxOSwgMS4yOTQ0Njg5OTg5MDg5OTY2XSwgWzE2NjM3MzkzOTQuNTA3MTk4LCAxNDM2NCwgMS4zNjU4NjgzMzAwMDE4MzFdLCBbMTY2MzczOTM5NC41OTM4MzA2LCAxNDM3MywgMS4xNzUwNDczOTc2MTM1MjU0XSwgWzE2NjM3MzkzOTQuNjcxMTA1NCwgMTQzODIsIDEuMTkwNDQ2NDk2MDA5ODI2N10sIFsxNjYzNzM5Mzk0Ljk0NzA1MDgsIDE0NDE4LCAxLjE3NDM0MDEyODg5ODYyMDZdLCBbMTY2MzczOTM5NS4wMTg1NjIzLCAxNDQyNywgMS4xNjcyOTY0MDk2MDY5MzM2XSwgWzE2NjM3MzkzOTUuMDg1ODg5OCwgMTQ0MzYsIDEuNzQ1OTUyMDEwMTU0NzI0MV0sIFsxNjYzNzM5Mzk1Ljc0NzMyMTgsIDE0NDk5LCAxLjM5MzQyNTcwMzA0ODcwNl0sIFsxNjYzNzM5Mzk1LjgxNjg1ODMsIDE0NTA4LCAxLjE4NDg5ODM3NjQ2NDg0MzhdLCBbMTY2MzczOTM5NS45NTAwMjgsIDE0NTI2LCAxLjIxNDYxMjcyMjM5Njg1MDZdLCBbMTY2MzczOTM5Ni4wMTk3NDI1LCAxNDUzNSwgMS4xNjA1OTQyMjQ5Mjk4MDk2XSwgWzE2NjM3MzkzOTYuMDg4NzY5LCAxNDU0NCwgMS4zNTc3ODQxNTIwMzA5NDQ4XSwgWzE2NjM3MzkzOTYuMTUxNjE2MywgMTQ1NTMsIDEuMTk0OTUzMjAzMjAxMjk0XSwgWzE2NjM3MzkzOTYuMjI2ODIyNCwgMTQ1NjIsIDEuMzA3MTAxOTY0OTUwNTYxNV0sIFsxNjYzNzM5Mzk2LjQ0NjgxNCwgMTQ1ODksIDEuMTA5NjQ4NDY2MTEwMjI5NV0sIFsxNjYzNzM5Mzk2LjU5NDE3MDMsIDE0NjA3LCAxLjIwMzc5NDcxNzc4ODY5NjNdLCBbMTY2MzczOTM5Ni43NjA3NDM0LCAxNDYyNSwgMS42MzI4ODk2Mjg0MTAzMzk0XSwgWzE2NjM3MzkzOTYuODk3ODcwMywgMTQ2NDMsIDEuMTA1NzExMTAyNDg1NjU2N10sIFsxNjYzNzM5Mzk2Ljk2OTk3OTgsIDE0NjUyLCAxLjE5NDMzMDIxNTQ1NDEwMTZdLCBbMTY2MzczOTM5Ny4xNzA5OTI0LCAxNDY3OSwgMS4yNDgxNzA3MzM0NTE4NDMzXSwgWzE2NjM3MzkzOTcuMjM4MDM5MywgMTQ2ODgsIDEuMDExMTMxNTI1MDM5NjcyOV0sIFsxNjYzNzM5Mzk3LjUxOTM4OCwgMTQ3MjQsIDEuMzQzMzMwNTAyNTEwMDcwOF0sIFsxNjYzNzM5Mzk3LjYwODA5MTYsIDE0NzMzLCAxLjI1NzIwMzQ1OTczOTY4NV0sIFsxNjYzNzM5Mzk3LjY4MDAyNjUsIDE0NzQyLCAxLjIyODc1OTg4NDgzNDI4OTZdLCBbMTY2MzczOTM5Ny43NTE3OTg5LCAxNDc1MSwgMS4xMzk5MDk3NDQyNjI2OTUzXSwgWzE2NjM3MzkzOTguMDAyODMyNywgMTQ3NjksIDEuMDIzNDU4MDAzOTk3ODAyN10sIFsxNjYzNzM5Mzk4LjE1MjU4OTYsIDE0Nzc4LCAxLjI0MzY5ODIzOTMyNjQ3N10sIFsxNjYzNzM5Mzk4LjUyNzc1NzQsIDE0ODIzLCAxLjE3NjYzMDI1ODU2MDE4MDddLCBbMTY2MzczOTM5OC41OTk1NjcyLCAxNDgzMiwgMS4wMzQ3MTk1ODYzNzIzNzU1XSwgWzE2NjM3MzkzOTguNzUxODA0NiwgMTQ4NTAsIDEuMjk1Njc3MDY1ODQ5MzA0Ml0sIFsxNjYzNzM5Mzk4Ljg5NTA4NDQsIDE0ODY4LCAxLjI5NzE5NTc5MjE5ODE4MTJdLCBbMTY2MzczOTM5OC45NjQyMjI0LCAxNDg3NywgMS4xNjcyNTQ5MjQ3NzQxN10sIFsxNjYzNzM5Mzk5LjAzMzg5MjYsIDE0ODg2LCAxLjY3NjUwODQyNjY2NjI1OThdLCBbMTY2MzczOTM5OS4xMzAzNTM1LCAxNDg5NSwgMS4yODI2MDQ0NTU5NDc4NzZdLCBbMTY2MzczOTM5OS4yODUwODM1LCAxNDkxMywgMS4yOTI1MzI4MDE2MjgxMTI4XSwgWzE2NjM3MzkzOTkuNDE3ODA2MSwgMTQ5MzEsIDEuMTY1MTEzNTY4MzA1OTY5Ml0sIFsxNjYzNzM5Mzk5LjQ4MzM1NDgsIDE0OTQwLCAxLjI5NjI4NTAzMzIyNjAxMzJdLCBbMTY2MzczOTM5OS43MzAzNzQ2LCAxNDk2NywgMS4zMDI1MTk3OTgyNzg4MDg2XSwgWzE2NjM3MzkzOTkuODg0NTUxNSwgMTQ5ODUsIDEuMjE5NzkwMTAxMDUxMzMwNl0sIFsxNjYzNzM5NDAwLjAzMTc3MDUsIDE1MDAzLCAxLjE1MzIyMTg0NTYyNjgzMV0sIFsxNjYzNzM5NDAwLjI0Njk4MDcsIDE1MDMwLCAxLjE2NzgxMTUxMjk0NzA4MjVdLCBbMTY2MzczOTQwMC4zMjY1MzEyLCAxNTAzOSwgMS4wODQzMDc1NTEzODM5NzIyXSwgWzE2NjM3Mzk0MDAuODEyMjY4MywgMTUwNzUsIDEuNTg1NjczOTI4MjYwODAzMl0sIFsxNjYzNzM5NDAxLjAyMDMxOSwgMTUxMDIsIDEuMTgzOTIxNTc1NTQ2MjY0Nl0sIFsxNjYzNzM5NDAxLjE1MzcwMSwgMTUxMjAsIDEuMzcyMjQ4NDExMTc4NTg4OV0sIFsxNjYzNzM5NDAxLjIyNDY5NSwgMTUxMjksIDEuMzIyOTY1MzgzNTI5NjYzXSwgWzE2NjM3Mzk0MDEuMjkzMzc3MiwgMTUxMzgsIDEuMTQ0MTM3NjIwOTI1OTAzM10sIFsxNjYzNzM5NDAxLjM1Nzc1NSwgMTUxNDcsIDEuMDUyMjM2OTE0NjM0NzA0Nl0sIFsxNjYzNzM5NDAxLjU2ODYxNTcsIDE1MTc0LCAxLjU0NTE4ODA2OTM0MzU2N10sIFsxNjYzNzM5NDAxLjY1MTA0ODIsIDE1MTgzLCAxLjQ4NjM3NDQ5NzQxMzYzNTNdLCBbMTY2MzczOTQwMS43MTkyNzk1LCAxNTE5MiwgMS4zNjU4OTUwMzI4ODI2OTA0XSwgWzE2NjM3Mzk0MDEuNzkzNzUwNSwgMTUyMDEsIDEuMzEwOTkyMzYwMTE1MDUxM10sIFsxNjYzNzM5NDAxLjg2MzQyMjIsIDE1MjEwLCAxLjI3MzI2NTgzODYyMzA0NjldLCBbMTY2MzczOTQwMS45MzE1NzM5LCAxNTIxOSwgMS4xNDg4MTk4MDQxOTE1ODk0XSwgWzE2NjM3Mzk0MDIuMTM3MTcxNSwgMTUyNDYsIDEuMjA4MDY0Nzk0NTQwNDA1M10sIFsxNjYzNzM5NDAyLjIwNjU4NCwgMTUyNTUsIDEuMDgzNDk0NjYzMjM4NTI1NF0sIFsxNjYzNzM5NDAyLjI3MzA3NDksIDE1MjY0LCAxLjQwOTIyNzEzMjc5NzI0MTJdLCBbMTY2MzczOTQwMi40MDkyOTQ4LCAxNTI4MiwgMS42NTYwMzAxNzgwNzAwNjg0XSwgWzE2NjM3Mzk0MDIuNDc1MjY3NCwgMTUyOTEsIDEuMjA2MTg2NjUyMTgzNTMyN10sIFsxNjYzNzM5NDAyLjU0MjMzOTMsIDE1MzAwLCAxLjE2NzM5MDcwNDE1NDk2ODNdLCBbMTY2MzczOTQwMi42MTU1ODksIDE1MzA5LCAxLjQ2OTM5ODg1NjE2MzAyNV0sIFsxNjYzNzM5NDAyLjY4OTIxMTEsIDE1MzE4LCAxLjMzMjQwOTAyNDIzODU4NjRdLCBbMTY2MzczOTQwMi43NjAzNTI4LCAxNTMyNywgMS4zODk1NzQxNzAxMTI2MDk5XSwgWzE2NjM3Mzk0MDIuOTE2MTAyMiwgMTUzNDUsIDEuMjA1NTEyODgxMjc4OTkxN10sIFsxNjYzNzM5NDAzLjEzOTg5MTQsIDE1MzcyLCAxLjQ5NzUxNjAzNjAzMzYzMDRdLCBbMTY2MzczOTQwMy4yOTYxMTMsIDE1MzkwLCAxLjE1MzE5NTUwMDM3Mzg0MDNdLCBbMTY2MzczOTQwMy4zNTg4NDcxLCAxNTM5OSwgMS4xNDQ4NzU4ODQwNTYwOTEzXSwgWzE2NjM3Mzk0MDMuNDM0OTk5NywgMTU0MDgsIDEuMTM3NzY5MjIyMjU5NTIxNV0sIFsxNjYzNzM5NDAzLjUxODEyMzYsIDE1NDE3LCAxLjI1MjUzNDUwODcwNTEzOTJdLCBbMTY2MzczOTQwMy43OTY4MzE0LCAxNTQ1MywgMS4wOTQ0NzMxMjM1NTA0MTVdLCBbMTY2MzczOTQwMy45NjUyODUsIDE1NDcxLCAxLjEyNDczNDY0MDEyMTQ2XSwgWzE2NjM3Mzk0MDQuMDM4NjIxNywgMTU0ODAsIDEuMzI0ODQyMDk1Mzc1MDYxXSwgWzE2NjM3Mzk0MDQuMjY4NjkzLCAxNTUwNywgMS4zODcyMzYxMTgzMTY2NTA0XSwgWzE2NjM3Mzk0MDQuMzQxNzc2LCAxNTUxNiwgMS4yMjY2NDY5MDAxNzcwMDJdLCBbMTY2MzczOTQwNC40MDU2NzQ3LCAxNTUyNSwgMS4zNjAyNTQxNjg1MTA0MzddLCBbMTY2MzczOTQwNC40OTA0MzQ2LCAxNTUzNCwgMS4xMTk1NDM2NzE2MDc5NzEyXSwgWzE2NjM3Mzk0MDUuMTY1MjkyLCAxNTU3OSwgMS40MzM5NTk2MDMzMDk2MzEzXSwgWzE2NjM3Mzk0MDUuOTQ4MjM1MywgMTU2NTEsIDEuNDI1MDg0NTkwOTExODY1Ml0sIFsxNjYzNzM5NDA2LjAyMjY4OCwgMTU2NjAsIDEuMzQ2NTkxMjM0MjA3MTUzM10sIFsxNjYzNzM5NDA2LjEwMDg4OTcsIDE1NjY5LCAxLjE3NDg2NDI5MjE0NDc3NTRdLCBbMTY2MzczOTQwNi4zMzY4Mjc4LCAxNTY5NiwgMS41NzQ1MjIxMzc2NDE5MDY3XSwgWzE2NjM3Mzk0MDYuNTE0ODk3MywgMTU3MTQsIDEuMTYwMDk5NTA2Mzc4MTczOF0sIFsxNjYzNzM5NDA2LjU4NjY4NjEsIDE1NzIzLCAxLjIwMDE3ODg2MTYxODA0Ml0sIFsxNjYzNzM5NDA2Ljg2ODQzMDYsIDE1NzMyLCAxLjM0OTg4MjYwMjY5MTY1MDRdLCBbMTY2MzczOTQwNi45NTcxMjIzLCAxNTc0MSwgMS4xNDUwODc3MTg5NjM2MjNdLCBbMTY2MzczOTQwNy4wNDg2NzcsIDE1NzUwLCAxLjQ0MTY2NTE3MjU3NjkwNDNdLCBbMTY2MzczOTQwNy4xMzEzNjU4LCAxNTc1OSwgMS4xNDc0NTA5MjM5MTk2Nzc3XSwgWzE2NjM3Mzk0MDcuMjI1NjQ4LCAxNTc2OCwgMS41OTE3ODE5NzM4Mzg4MDYyXSwgWzE2NjM3Mzk0MDcuNDUzMTYyNCwgMTU3ODYsIDEuMzQ1NTAxNzgwNTA5OTQ4N10sIFsxNjYzNzM5NDA3LjUyNzQ4ODUsIDE1Nzk1LCAxLjcxNTI4Njg1MDkyOTI2MDNdLCBbMTY2MzczOTQwNy43NjMzMDUyLCAxNTgyMiwgMS4wNjY5MzU0MjAwMzYzMTZdLCBbMTY2MzczOTQwOC4xNTgwMzIsIDE1ODY3LCAxLjE5Mzc4MjY4NzE4NzE5NDhdLCBbMTY2MzczOTQwOC4yMzI1NDY4LCAxNTg3NiwgMS4zMzkwNjEzNzk0MzI2NzgyXSwgWzE2NjM3Mzk0MDguMzczODQ4NywgMTU4OTQsIDEuMzU5NDk3NjY2MzU4OTQ3OF0sIFsxNjYzNzM5NDA4LjQ1NjcxNzcsIDE1OTAzLCAxLjEyMzQ4MDkxNjAyMzI1NDRdLCBbMTY2MzczOTQwOC41OTk5Nzk5LCAxNTkyMSwgMS4xMzcwMzMxMDQ4OTY1NDU0XV0=","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_02-23-21_63b6388f5f34&tag=Loss%2Fvalid":{"data":"W1sxNjYzNzI3MDA4LjI3MDE3NDUsIDksIDEwNy4yMTU0NTQxMDE1NjI1XSwgWzE2NjM3MjcwMDguNjMzMTMyNywgMzYsIDM5Ljk3NTgxNDgxOTMzNTk0XSwgWzE2NjM3MjcwMDguNzM4NjIzMSwgNDUsIDM0LjU4NTQ5NDk5NTExNzE5XSwgWzE2NjM3MjcwMDkuNDE5MDgsIDk5LCAzNC40MjM5NDYzODA2MTUyMzRdLCBbMTY2MzcyNzAwOS42ODQ4MzA3LCAxMDgsIDMwLjU0NDkwODUyMzU1OTU3XSwgWzE2NjM3MjcwMTAuMDMyNDMxMSwgMTM1LCAyMS42NjMzMTY3MjY2ODQ1N10sIFsxNjYzNzI3MDEwLjE1MjI0MiwgMTQ0LCAyMS40MTk0NzM2NDgwNzEyOV0sIFsxNjYzNzI3MDEwLjQ5NjI5MjYsIDE3MSwgMTIuNDIwNjk3MjEyMjE5MjM4XSwgWzE2NjM3MjcwMTAuNjMwMzYwOCwgMTgwLCAxMi40MTUwNzkxMTY4MjEyODldLCBbMTY2MzcyNzAxMC43NDQzNjE5LCAxODksIDEwLjIwNzI1MTU0ODc2NzA5XSwgWzE2NjM3MjcwMTAuOTc1NTk4OCwgMjA3LCA4LjE5NjMxOTU4MDA3ODEyNV0sIFsxNjYzNzI3MDExLjEwMzQwMDIsIDIxNiwgMTEuODMyMTk5MDk2Njc5Njg4XSwgWzE2NjM3MjcwMTEuNDUzMTkyMiwgMjQzLCAzMy44MzEwNjYxMzE1OTE4XSwgWzE2NjM3MjcwMTEuNTYxMDY3OCwgMjUyLCAxNi42Njk2Mzk1ODc0MDIzNDRdLCBbMTY2MzcyNzAxMS43NjU0MTE0LCAyNzAsIDEyLjQzODQ1NDYyNzk5MDcyM10sIFsxNjYzNzI3MDEyLjIyMjc1OTcsIDMwNiwgNi40MDEyNjY1NzQ4NTk2MTldLCBbMTY2MzcyNzAxMi41OTY2NTU4LCAzMzMsIDEwLjg5ODc4MzY4Mzc3Njg1NV0sIFsxNjYzNzI3MDEyLjcwODIyODMsIDM0MiwgMTIuOTYzMzEwMjQxNjk5MjE5XSwgWzE2NjM3MjcwMTIuODExMjk4MSwgMzUxLCA2LjkyMTI5MTgyODE1NTUxOF0sIFsxNjYzNzI3MDEyLjkyMDY1ODMsIDM2MCwgOC45NTg0OTcwNDc0MjQzMTZdLCBbMTY2MzcyNzAxMy4wMzY3MTc3LCAzNjksIDE0LjUzNjExODUwNzM4NTI1NF0sIFsxNjYzNzI3MDEzLjgxOTMzNzgsIDQzMiwgNi42MDQ1MTYwMjkzNTc5MV0sIFsxNjYzNzI3MDEzLjkyNzg4MjQsIDQ0MSwgNS44Mjk3NzQzNzk3MzAyMjVdLCBbMTY2MzcyNzAxNC4wNDk1MTI5LCA0NTAsIDE2LjEyNjgxNTc5NTg5ODQzOF0sIFsxNjYzNzI3MDE0LjI3Njk4ODMsIDQ2OCwgNi42ODU2NTI3MzI4NDkxMjFdLCBbMTY2MzcyNzAxNC40MDE5ODMsIDQ3NywgNi4wNTM2NDEzMTkyNzQ5MDJdLCBbMTY2MzcyNzAxNC42NDQxMDE0LCA0OTUsIDguMjcxNTAwNTg3NDYzMzc5XSwgWzE2NjM3MjcwMTQuNzUxMDEyLCA1MDQsIDcuMjMwMzU0Nzg1OTE5MTg5NV0sIFsxNjYzNzI3MDE0Ljk3Mzg2ODEsIDUyMiwgNi4zNTA2OTYwODY4ODM1NDVdLCBbMTY2MzcyNzAxNS4zNDQxNDcyLCA1NDksIDQuODQ5MTkyMTQyNDg2NTcyXSwgWzE2NjM3MjcwMTUuNDQ2MDc2OSwgNTU4LCA4LjYxNDgwMTQwNjg2MDM1Ml0sIFsxNjYzNzI3MDE1LjUzNzA3OTgsIDU2NywgNi40MDI3ODQzNDc1MzQxOF0sIFsxNjYzNzI3MDE1LjYzMDIwNzUsIDU3NiwgNS4yNDQ1NjI2MjU4ODUwMV0sIFsxNjYzNzI3MDE1LjgyNTU5MjUsIDU5NCwgNS43MDAyNTc3NzgxNjc3MjVdLCBbMTY2MzcyNzAxNS45MzI5Mjk1LCA2MDMsIDUuMDY1Nzc0OTE3NjAyNTM5XSwgWzE2NjM3MjcwMTYuMDI5NjQxOSwgNjEyLCA4LjQzOTA3NTQ2OTk3MDcwM10sIFsxNjYzNzI3MDE2LjE5NzYyMTYsIDYyMSwgNS4wNjg2MjMwNjU5NDg0ODZdLCBbMTY2MzcyNzAxNi40MjMxMTksIDYzOSwgNC41NTE4NTA3OTU3NDU4NV0sIFsxNjYzNzI3MDE2LjUyNzQ3NTYsIDY0OCwgNS44MDQ2NTU1NTE5MTA0XSwgWzE2NjM3MjcwMTcuNDk1MTQ0NCwgNzAyLCA0LjczOTE3NzcwMzg1NzQyMl0sIFsxNjYzNzI3MDE3LjcyOTk0MTYsIDcyMCwgNS45Mjc4MDIwODU4NzY0NjVdLCBbMTY2MzcyNzAxNy44NDY3NjU4LCA3MjksIDUuODEwNTM2ODYxNDE5Njc4XSwgWzE2NjM3MjcwMTguMDUwMDI0MywgNzQ3LCA1Ljg4OTg1NzI5MjE3NTI5M10sIFsxNjYzNzI3MDE4LjE3OTA2OTUsIDc1NiwgNS4yNzY4MDU0MDA4NDgzODldLCBbMTY2MzcyNzAxOC4zNjc3MTU2LCA3NzQsIDUuMjAxNzk2MDU0ODQwMDg4XSwgWzE2NjM3MjcwMTguNDU2NjgxLCA3ODMsIDYuNzE5Mjc4MzM1NTcxMjg5XSwgWzE2NjM3MjcwMTguNzQwMDY2OCwgODEwLCA0LjkzODYzMTUzNDU3NjQxNl0sIFsxNjYzNzI3MDE4Ljg0MDk1NDgsIDgxOSwgNS43MTIxOTk2ODc5NTc3NjRdLCBbMTY2MzcyNzAxOS4zMjE4NDM0LCA4NjQsIDUuMTYwNDE5NDY0MTExMzI4XSwgWzE2NjM3MjcwMjAuMDA4Mzg0NywgOTAwLCA0LjI0Nzk5Mzk0NjA3NTQzOTVdLCBbMTY2MzcyNzAyMC4xMjA3OTM2LCA5MDksIDUuNjkxNjU4MDIwMDE5NTMxXSwgWzE2NjM3MjcwMjAuNDAxMjU2LCA5MzYsIDQuOTM1ODg4NzY3MjQyNDMyXSwgWzE2NjM3MjcwMjAuNzUyMTU0LCA5NjMsIDUuMDU0NDc5MTIyMTYxODY1XSwgWzE2NjM3MjcwMjAuODM3NzkzNCwgOTcyLCA1Ljg1NzY5NDE0OTAxNzMzNF0sIFsxNjYzNzI3MDIxLjA1MzUzNzQsIDk5MCwgOC40ODU1NTM3NDE0NTUwNzhdLCBbMTY2MzcyNzAyMS4xMzk1NDg4LCA5OTksIDQuMjYzMTExMTE0NTAxOTUzXSwgWzE2NjM3MjcwMjEuNTE2MDA5OCwgMTAzNSwgNC4zMjY1MDU2NjEwMTA3NDJdLCBbMTY2MzcyNzAyMS43MzI4NTAzLCAxMDUzLCA1Ljc2NzgxMzY4MjU1NjE1Ml0sIFsxNjYzNzI3MDIyLjIxNTcyMywgMTA5OCwgNS43NjM2Mzk0NTAwNzMyNDJdLCBbMTY2MzcyNzAyMi42Mjg4Nzg2LCAxMTM0LCAzLjkzNjk2ODA4ODE1MDAyNDRdLCBbMTY2MzcyNzAyMi43NTI3MDQsIDExNDMsIDQuMzU1MjE3NDU2ODE3NjI3XSwgWzE2NjM3MjcwMjIuOTcxMTUxLCAxMTYxLCA0LjEzNzIyNzA1ODQxMDY0NDVdLCBbMTY2MzcyNzAyMy4xOTYyOTA1LCAxMTc5LCA0LjExNTc0MjY4MzQxMDY0NDVdLCBbMTY2MzcyNzAyMy4zMTMxMDAzLCAxMTg4LCA0LjE0NDUzMDc3MzE2Mjg0Ml0sIFsxNjYzNzI3MDIzLjQyMDgzNDMsIDExOTcsIDUuMjAwODI5OTgyNzU3NTY4XSwgWzE2NjM3MjcwMjMuNjMzODQ3LCAxMjE1LCA0LjUxODI4MDUwNjEzNDAzM10sIFsxNjYzNzI3MDIzLjgzMzMyMDksIDEyMzMsIDQuMTA4Njk0MDc2NTM4MDg2XSwgWzE2NjM3MjcwMjMuOTQxMDAxLCAxMjQyLCA0LjE2NDcxMjkwNTg4Mzc4OV0sIFsxNjYzNzI3MDI0LjY0MzQ5MzcsIDEyOTYsIDQuMzEwNjgwODY2MjQxNDU1XSwgWzE2NjM3MjcwMjQuNzM4ODk0NywgMTMwNSwgNS4zMTYxMTQ5MDI0OTYzMzhdLCBbMTY2MzcyNzAyNC45NTUxMDQ4LCAxMzIzLCAzLjYxMzE2MzcwOTY0MDUwM10sIFsxNjYzNzI3MDI1LjA1NTMwOTUsIDEzMzIsIDUuMDM0MTU2MzIyNDc5MjQ4XSwgWzE2NjM3MjcwMjUuNDIzMDYyOCwgMTM1OSwgNC4yMTE1NjIxNTY2NzcyNDZdLCBbMTY2MzcyNzAyNi4xMzgzNzAzLCAxNDIyLCA0LjgxMjUzMzg1NTQzODIzMl0sIFsxNjYzNzI3MDI2LjMzMDk2NDgsIDE0NDAsIDQuNDkwODQ1NjgwMjM2ODE2XSwgWzE2NjM3MjcwMjYuNDIzODgzNCwgMTQ0OSwgNS4wMDU0NDgzNDEzNjk2MjldLCBbMTY2MzcyNzAyNi42MjEwOTQ1LCAxNDY3LCA0LjY3ODQ2Mjk4MjE3NzczNF0sIFsxNjYzNzI3MDI2LjgxMjk3NDUsIDE0ODUsIDQuMzI1NjI5MjM0MzEzOTY1XSwgWzE2NjM3MjcwMjYuOTkwMTg1LCAxNTAzLCA1Ljg0NzA1Njg2NTY5MjEzOV0sIFsxNjYzNzI3MDI3LjM5NDE5OTYsIDE1MzksIDQuODQ4MTg4NDAwMjY4NTU1XSwgWzE2NjM3MjcwMjcuNDg5NjYyNiwgMTU0OCwgNC44NjY3NjM1OTE3NjYzNTddLCBbMTY2MzcyNzAyNy41NzI2MywgMTU1NywgNC4wMTM3MTY2OTc2OTI4NzFdLCBbMTY2MzcyNzAyNy44NjY2MzYzLCAxNTg0LCAzLjg2MTg4ODE3MDI0MjMwOTZdLCBbMTY2MzcyNzAyNy45NDg1MDk1LCAxNTkzLCAzLjc3MDYzOTE4MTEzNzA4NV0sIFsxNjYzNzI3MDI4LjAzNTgwMjgsIDE2MDIsIDQuMjE4NTYzNTU2NjcxMTQzXSwgWzE2NjM3MjcwMjguMTQwNDM5MywgMTYxMSwgNC40Nzc5ODY4MTI1OTE1NTNdLCBbMTY2MzcyNzAyOC4zMjA3Mjg1LCAxNjI5LCAzLjkzNjEwMTQzNjYxNDk5MDJdLCBbMTY2MzcyNzAyOC40MzA4ODc1LCAxNjM4LCAzLjgxOTQxNTMzMDg4Njg0MV0sIFsxNjYzNzI3MDI4Ljk2MTE5NTIsIDE2NjUsIDQuMDk0MjY1NDYwOTY4MDE4XSwgWzE2NjM3MjcwMjkuMDY5MTg4NCwgMTY3NCwgNC4zNzQzMTU3Mzg2Nzc5Nzg1XSwgWzE2NjM3MjcwMjkuMTU0ODA1NywgMTY4MywgMy42NTM2Mjc2MzQwNDg0NjJdLCBbMTY2MzcyNzAyOS40MjY0NTcyLCAxNzEwLCA0LjA1Mzc3Njc0MTAyNzgzMl0sIFsxNjYzNzI3MDI5LjUyMDc1OTYsIDE3MTksIDMuNDU2MTQ3NDMyMzI3MjcwNV0sIFsxNjYzNzI3MDI5LjYwNTA5NzMsIDE3MjgsIDQuNzc5MDkwNDA0NTEwNDk4XSwgWzE2NjM3MjcwMjkuNjg2OTcwNywgMTczNywgNi4wNzg0NzU5NTIxNDg0Mzc1XSwgWzE2NjM3MjcwMzAuMDE3NzM1NywgMTc2NCwgNC4zMTU0MjczMDMzMTQyMDldLCBbMTY2MzcyNzAzMC4zNDYxNzE2LCAxNzkxLCAzLjIyMDc5MjI5MzU0ODU4NF0sIFsxNjYzNzI3MDMwLjQ4MTg4LCAxODAwLCAzLjE3Mzg0NjcyMTY0OTE3XSwgWzE2NjM3MjcwMzAuNTgxMDgsIDE4MDksIDMuODM0MTI3OTAyOTg0NjE5XSwgWzE2NjM3MjcwMzAuNzg3MDkyNywgMTgyNywgNC44MTEwMzI3NzIwNjQyMDldLCBbMTY2MzcyNzAzMC44ODM2NTA1LCAxODM2LCA3LjEzMDQ3ODM4MjExMDU5Nl0sIFsxNjYzNzI3MDMwLjk4MDQ3NzgsIDE4NDUsIDQuNTYzNDM0NjAwODMwMDc4XSwgWzE2NjM3MjcwMzEuMDY0Mjc0NSwgMTg1NCwgNS43MzQ4Mjk5MDI2NDg5MjZdLCBbMTY2MzcyNzAzMS4yNDgwNTk1LCAxODcyLCAzLjYxMjIzOTgzNzY0NjQ4NDRdLCBbMTY2MzcyNzAzMS40MzcxOTI3LCAxODkwLCAzLjE2MTE4NDA3MjQ5NDUwN10sIFsxNjYzNzI3MDMxLjYxODE0NDUsIDE5MDgsIDQuMDY3MzkzNzc5NzU0NjM5XSwgWzE2NjM3MjcwMzEuNzk1MzE3MiwgMTkyNiwgNC4xMjIxMjUxNDg3NzMxOTNdLCBbMTY2MzcyNzAzMS45ODk5MzU2LCAxOTQ0LCA0LjQyNTc2MjY1MzM1MDgzXSwgWzE2NjM3MjcwMzIuMDkwNTUwMiwgMTk1MywgNC4xODU3MTM3NjgwMDUzNzFdLCBbMTY2MzcyNzAzMi4yNzI0MTQsIDE5NzEsIDQuMTA5NzY5ODIxMTY2OTkyXSwgWzE2NjM3MjcwMzIuMzUwMTc1NCwgMTk4MCwgNi44MTAyMDU5MzY0MzE4ODVdLCBbMTY2MzcyNzAzMi40NTA2NzUyLCAxOTg5LCAzLjMxODEwMDY5MDg0MTY3NV0sIFsxNjYzNzI3MDMyLjUzNTUxNjUsIDE5OTgsIDMuMTM0MzU5MTIxMzIyNjMyXSwgWzE2NjM3MjcwMzIuNjMwMjk5MywgMjAwNywgNC4zNzk0NjcwMTA0OTgwNDddLCBbMTY2MzcyNzAzMi44NDM1NjgsIDIwMjUsIDMuMjUzMjk4MjgyNjIzMjkxXSwgWzE2NjM3MjcwMzIuOTgzMTI0NywgMjAzNCwgNC4wMTU0OTcyMDc2NDE2MDJdLCBbMTY2MzcyNzAzMy40NzM0NTg1LCAyMDcwLCAzLjc2OTg1MjE2MTQwNzQ3MDddLCBbMTY2MzcyNzAzMy43OTMyODY4LCAyMDk3LCAzLjExOTc1NzE3NTQ0NTU1NjZdLCBbMTY2MzcyNzAzNC41NDg2MjcxLCAyMTI0LCA0LjgzMTUzOTE1NDA1MjczNF0sIFsxNjYzNzI3MDM0Ljc0MjM2NzUsIDIxNDIsIDUuMzM2NTk4ODczMTM4NDI4XSwgWzE2NjM3MjcwMzQuODM2NDQ4NCwgMjE1MSwgNC45OTI4NTIyMTA5OTg1MzVdLCBbMTY2MzcyNzAzNC45Mjg2NywgMjE2MCwgNi4wNjAyODk4NTk3NzE3Mjg1XSwgWzE2NjM3MjcwMzUuMTIwMTAzNiwgMjE3OCwgMy43NzM4MjM0OTk2Nzk1NjU0XSwgWzE2NjM3MjcwMzUuMjA4ODM0NiwgMjE4NywgNC4zNjc1NDk4OTYyNDAyMzRdLCBbMTY2MzcyNzAzNS4zOTYxMTksIDIyMDUsIDMuNDYyNjEyMzkwNTE4MTg4NV0sIFsxNjYzNzI3MDM1LjQ4ODk3NTMsIDIyMTQsIDMuNTYzNTA1ODg3OTg1MjI5NV0sIFsxNjYzNzI3MDM1LjU4MzM4MDIsIDIyMjMsIDQuNzU0NzQ0MDUyODg2OTYzXSwgWzE2NjM3MjcwMzUuNjgxNzkzNSwgMjIzMiwgMy4xMzI1NDY5MDE3MDI4ODFdLCBbMTY2MzcyNzAzNi4yNzgyMzUyLCAyMjc3LCA0LjAzMTAzNTQyMzI3ODgwOV0sIFsxNjYzNzI3MDM2LjM4MDcyNjYsIDIyODYsIDMuMzM3NDU0MDgwNTgxNjY1XSwgWzE2NjM3MjcwMzYuNDg0Nzk5OSwgMjI5NSwgNC4zMjUyOTczNTU2NTE4NTU1XSwgWzE2NjM3MjcwMzYuNzkyNDkxNCwgMjMyMiwgMy40NDczNzg4NzM4MjUwNzMyXSwgWzE2NjM3MjcwMzYuODgzMTcyOCwgMjMzMSwgMy45MDkxODcwNzg0NzU5NTJdLCBbMTY2MzcyNzAzNi45NzQ1MTMzLCAyMzQwLCA4LjYyNjgwNTMwNTQ4MDk1N10sIFsxNjYzNzI3MDM3LjA3OTQxMDgsIDIzNDksIDQuODQ0NTI1ODE0MDU2Mzk2NV0sIFsxNjYzNzI3MDM3LjI3MTUxNCwgMjM2NywgMy40MDA4MjQzMDgzOTUzODU3XSwgWzE2NjM3MjcwMzguMjY4Njg5LCAyNDM5LCA1LjEwMzE2NTYyNjUyNTg3OV0sIFsxNjYzNzI3MDM4LjQwNDkxMDMsIDI0NDgsIDMuNjkzNjMyNjAyNjkxNjUwNF0sIFsxNjYzNzI3MDM4Ljc0MjkxMzIsIDI0NzUsIDMuNzExODAyMjQ0MTg2NDAxNF0sIFsxNjYzNzI3MDM4Ljg4MDIxOTUsIDI0ODQsIDYuMzc0Mzc3MjUwNjcxMzg3XSwgWzE2NjM3MjcwMzkuMDI2MTgwNSwgMjQ5MywgNC4zODg1OTU1ODEwNTQ2ODc1XSwgWzE2NjM3MjcwMzkuMjQ2MDc2LCAyNTExLCAzLjE5MzI4MjYwNDIxNzUyOTNdLCBbMTY2MzcyNzAzOS40NDgwMjUsIDI1MjksIDMuMDA3MzU3ODM1NzY5NjUzM10sIFsxNjYzNzI3MDM5LjY0OTAxNjEsIDI1NDcsIDIuODY3NTA4NjQ5ODI2MDVdLCBbMTY2MzcyNzAzOS43OTE2MDQsIDI1NTYsIDIuODY0OTk2NjcxNjc2NjM1N10sIFsxNjYzNzI3MDM5Ljk4MDUzODYsIDI1NzQsIDQuMTcxNDE0ODUyMTQyMzM0XSwgWzE2NjM3MjcwNDAuMTY4NzU5OCwgMjU5MiwgMy4wNTMzNTYxNzA2NTQyOTddLCBbMTY2MzcyNzA0MC4yNjM0NDI4LCAyNjAxLCA0LjcxMjA3ODU3MTMxOTU4XSwgWzE2NjM3MjcwNDAuNDQyMzIyNSwgMjYxOSwgNC4wMTQ0Mjk1NjkyNDQzODVdLCBbMTY2MzcyNzA0MC45MTYxNDQ2LCAyNjY0LCAyLjkxMTUzNDc4NjIyNDM2NTJdLCBbMTY2MzcyNzA0MS4wNDM3MTE0LCAyNjczLCAzLjgzMDU0Mzk5NDkwMzU2NDVdLCBbMTY2MzcyNzA0MS4xNzQ0NDIzLCAyNjgyLCAyLjkzMzY4Mzg3MjIyMjkwMDRdLCBbMTY2MzcyNzA0MS4zMDM4NTg4LCAyNjkxLCAzLjEwNDIwMjAzMjA4OTIzMzRdLCBbMTY2MzcyNzA0MS40MjgzNTUyLCAyNzAwLCAyLjQzNjA4NzEzMTUwMDI0NF0sIFsxNjYzNzI3MDQxLjk4ODEyMTcsIDI3NDUsIDMuODk0Nzc4MjUxNjQ3OTQ5XSwgWzE2NjM3MjcwNDIuMjEyNjU5NCwgMjc2MywgMy4yNDM1NzkzODc2NjQ3OTVdLCBbMTY2MzcyNzA0Mi4zMTAxNjgsIDI3NzIsIDMuMTI4NTk5ODgyMTI1ODU0NV0sIFsxNjYzNzI3MDQyLjQwMjgyNDQsIDI3ODEsIDIuNjgzMDA3MDAxODc2ODMxXSwgWzE2NjM3MjcwNDIuNDk3ODA5NiwgMjc5MCwgMy41MjcxMzI5ODc5NzYwNzRdLCBbMTY2MzcyNzA0Mi43NzcyOTQ2LCAyODE3LCAyLjkxNjA2ODMxNTUwNTk4MTRdLCBbMTY2MzcyNzA0Mi44NzM4OTAyLCAyODI2LCAzLjE3MDY0NTQ3NTM4NzU3MzJdLCBbMTY2MzcyNzA0My4xOTQ1OTgsIDI4NTMsIDUuNjA4ODUzODE2OTg2MDg0XSwgWzE2NjM3MjcwNDMuNDAzMTQyNywgMjg3MSwgMi43NjAzNTY5MDMwNzYxNzJdLCBbMTY2MzcyNzA0My41MTU1MSwgMjg4MCwgMi42MDc4NzQ4NzAzMDAyOTNdLCBbMTY2MzcyNzA0My44MTg2MjY5LCAyOTA3LCAzLjI1NDU1NzM3MTEzOTUyNjRdLCBbMTY2MzcyNzA0NC4wMTMzMzcxLCAyOTI1LCA4LjM1OTMxMDE1MDE0NjQ4NF0sIFsxNjYzNzI3MDQ0LjQ5OTQ5OTMsIDI5NzAsIDMuMTE3NTgzMDM2NDIyNzI5NV0sIFsxNjYzNzI3MDQ0LjU5NDY5ODIsIDI5NzksIDMuMTc3Nzc5MTk3NjkyODcxXSwgWzE2NjM3MjcwNDQuNjgxNTQ3MiwgMjk4OCwgMy4wMTc5MTAwMDM2NjIxMDk0XSwgWzE2NjM3MjcwNDQuNzY2NTQ0NiwgMjk5NywgMy44ODA3MDcyNjM5NDY1MzNdLCBbMTY2MzcyNzA0NC44NTUxMDMsIDMwMDYsIDMuNjQzNTIyNTAwOTkxODIxM10sIFsxNjYzNzI3MDQ1LjIyNTk4OTgsIDMwNDIsIDMuMTk3NDQzNDg1MjYwMDA5OF0sIFsxNjYzNzI3MDQ1LjMxNzE4MDYsIDMwNTEsIDIuODAwNDA5NTU1NDM1MTgwN10sIFsxNjYzNzI3MDQ1LjQ4NzUwMzUsIDMwNjksIDMuMjg4MzUwMTA1Mjg1NjQ0NV0sIFsxNjYzNzI3MDQ1Ljc1OTc3NSwgMzA5NiwgMi43MDMxNDA3MzU2MjYyMjA3XSwgWzE2NjM3MjcwNDUuODUzMDQyNiwgMzEwNSwgMy4yNjEzNTA4NzAxMzI0NDYzXSwgWzE2NjM3MjcwNDUuOTQxNjgzOCwgMzExNCwgMi43MDIwNDQ5NjM4MzY2N10sIFsxNjYzNzI3MDQ2LjAzMzEyNjQsIDMxMjMsIDMuNDU2NTg5NDYwMzcyOTI1XSwgWzE2NjM3MjcwNDYuMjMyMDY4OCwgMzE0MSwgMy4zNjczMTI5MDgxNzI2MDc0XSwgWzE2NjM3MjcwNDYuNDI3MDQxOCwgMzE1OSwgMy4xNDEwMzgxNzkzOTc1ODNdLCBbMTY2MzcyNzA0Ni42MDk4NzQsIDMxNzcsIDUuNjY4NDc3NTM1MjQ3ODAzXSwgWzE2NjM3MjcwNDYuOTE0MTkyLCAzMTg2LCA0LjcxMDUwNjQzOTIwODk4NF0sIFsxNjYzNzI3MDQ3LjAwNDIxNDMsIDMxOTUsIDIuOTEzODk4NDY4MDE3NTc4XSwgWzE2NjM3MjcwNDcuMDk0MTExNywgMzIwNCwgNC41NTA1MjA0MjAwNzQ0NjNdLCBbMTY2MzcyNzA0Ny40ODM3MDA4LCAzMjMxLCA0LjUwNjg4MzYyMTIxNTgyXSwgWzE2NjM3MjcwNDcuNzE2OTcxMiwgMzI0OSwgMy42MDk0ODcwNTY3MzIxNzc3XSwgWzE2NjM3MjcwNDcuOTUyMTU3NywgMzI2NywgMi45NTQ3MTczOTc2ODk4MTkzXSwgWzE2NjM3MjcwNDguMDU2NjA3MiwgMzI3NiwgMi42OTg2OTg1MjA2NjA0MDA0XSwgWzE2NjM3MjcwNDguMTQyNTY2LCAzMjg1LCA0LjU0NDExODg4MTIyNTU4Nl0sIFsxNjYzNzI3MDQ4LjIzMTEzNjYsIDMyOTQsIDIuODIyNjM4OTg4NDk0ODczXSwgWzE2NjM3MjcwNDguMzMwMjUzOCwgMzMwMywgMi41MjcxNDcwNTQ2NzIyNDFdLCBbMTY2MzcyNzA0OC40MjY3MTMyLCAzMzEyLCAzLjIxNTY2ODY3ODI4MzY5MTRdLCBbMTY2MzcyNzA0OC41MjM4NjYsIDMzMjEsIDYuNTE4NzA2MzIxNzE2MzA5XSwgWzE2NjM3MjcwNDkuMTYzMTk1OCwgMzM3NSwgMi41NjA5MTQ5OTMyODYxMzNdLCBbMTY2MzcyNzA0OS41MDA2MzQ3LCAzNDAyLCAyLjY5MzI3ODA3NDI2NDUyNjRdLCBbMTY2MzcyNzA0OS41ODc3NTEyLCAzNDExLCAyLjQ1NTI2MzEzNzgxNzM4M10sIFsxNjYzNzI3MDQ5Ljk4MjA1NzMsIDM0NDcsIDMuMTE1MjQ1MTAzODM2MDU5Nl0sIFsxNjYzNzI3MDUwLjI4Mzk4MywgMzQ3NCwgMy4yNjM3OTg5NTIxMDI2NjFdLCBbMTY2MzcyNzA1MC4zODAzODgzLCAzNDgzLCAzLjM3MTI0NTg2MTA1MzQ2N10sIFsxNjYzNzI3MDUwLjY3NjI1MDUsIDM1MTAsIDQuOTIxMjY3NTA5NDYwNDQ5XSwgWzE2NjM3MjcwNTAuNzcyNDE0LCAzNTE5LCA1LjAxNzgzMDg0ODY5Mzg0OF0sIFsxNjYzNzI3MDUwLjg2MDIzOCwgMzUyOCwgMy40Mzc4NjU3MzQxMDAzNDJdLCBbMTY2MzcyNzA1MC45NDY5MzEsIDM1MzcsIDIuNjY4MTgwOTQyNTM1NDAwNF0sIFsxNjYzNzI3MDUxLjAzODY2NDgsIDM1NDYsIDMuMTAzNDUzMzk3NzUwODU0NV0sIFsxNjYzNzI3MDUxLjEzMTQwNjUsIDM1NTUsIDIuNDExODQ4MDY4MjM3MzA0N10sIFsxNjYzNzI3MDUxLjIyODI0NjcsIDM1NjQsIDIuOTcwNDQ1Mzk0NTE1OTkxXSwgWzE2NjM3MjcwNTEuMzMwMDg2LCAzNTczLCAzLjI3MzcxNjQ0OTczNzU0OV0sIFsxNjYzNzI3MDUxLjQyMTkzMjIsIDM1ODIsIDMuNDQxNzE0Mjg2ODA0MTk5XSwgWzE2NjM3MjcwNTEuNTIyODUyLCAzNTkxLCAyLjg3NTUyMjEzNjY4ODIzMjRdLCBbMTY2MzcyNzA1MS42MDg5NTk0LCAzNjAwLCA2LjI2NjQwNTEwNTU5MDgyXSwgWzE2NjM3MjcwNTEuODAxNDcyMiwgMzYxOCwgMy44MTQ1NzkwMTAwMDk3NjU2XSwgWzE2NjM3MjcwNTEuODk4MjQyNSwgMzYyNywgMy45NTQ4NDA2NjAwOTUyMTVdLCBbMTY2MzcyNzA1Mi4wODQ1NDUxLCAzNjQ1LCAyLjU4MTc0NDQzMjQ0OTM0MV0sIFsxNjYzNzI3MDUyLjI3MTIwNiwgMzY2MywgNC4wMzg4NzE3NjUxMzY3MTldLCBbMTY2MzcyNzA1Mi40NjQzODU1LCAzNjgxLCAyLjYxMDM3MTExMjgyMzQ4NjNdLCBbMTY2MzcyNzA1Mi41NjAzMDIsIDM2OTAsIDIuNTE3MzQ4NzY2MzI2OTA0M10sIFsxNjYzNzI3MDUyLjgzNTAwMTIsIDM3MTcsIDMuMDI0MjQwMjU1MzU1ODM1XSwgWzE2NjM3MjcwNTIuOTI2MTI3MiwgMzcyNiwgMi42MzIxODIzNTk2OTU0MzQ2XSwgWzE2NjM3MjcwNTMuMDI0MjMxMiwgMzczNSwgMy40MzkzMzcwMTUxNTE5Nzc1XSwgWzE2NjM3MjcwNTMuMTE1OTc3LCAzNzQ0LCA4Ljk3OTU3MjI5NjE0MjU3OF0sIFsxNjYzNzI3MDUzLjQwMjg0NzMsIDM3NzEsIDYuNTA2NjMxODUxMTk2Mjg5XSwgWzE2NjM3MjcwNTMuNjczOTc4MywgMzc5OCwgMi44MTYzNDcxMjIxOTIzODNdLCBbMTY2MzcyNzA1My43NjAzMDY0LCAzODA3LCAyLjQ3MTc5NzIyNzg1OTQ5N10sIFsxNjYzNzI3MDU0LjAzNzExMiwgMzgzNCwgMy44NTg5MDgxNzY0MjIxMTldLCBbMTY2MzcyNzA1NC4xNDQ4MTE5LCAzODQzLCAzLjA4OTE1MDY2NzE5MDU1MThdLCBbMTY2MzcyNzA1NC41MTMxMzc4LCAzODc5LCA1LjE5NjkwMjc1MTkyMjYwN10sIFsxNjYzNzI3MDU0LjYxMDE1MjUsIDM4ODgsIDMuMjk0Njg5MTc4NDY2Nzk3XSwgWzE2NjM3MjcwNTUuMTM3MzI3NywgMzkxNSwgMy4xODU4Njk0NTUzMzc1MjQ0XSwgWzE2NjM3MjcwNTUuMjMyNTkxNiwgMzkyNCwgNC4yNDQzNDE4NTAyODA3NjJdLCBbMTY2MzcyNzA1NS4zMzA3NDE2LCAzOTMzLCAzLjI0MzE3MzEyMjQwNjAwNl0sIFsxNjYzNzI3MDU1LjQzMjg0MSwgMzk0MiwgOC4wNTE0ODc5MjI2Njg0NTddLCBbMTY2MzcyNzA1NS41MzQxNTY2LCAzOTUxLCAzLjk3MDM0Nzg4MTMxNzEzODddLCBbMTY2MzcyNzA1NS42MjU1NTA1LCAzOTYwLCAyLjc2NjMwOTI2MTMyMjAyMTVdLCBbMTY2MzcyNzA1NS43MjMxMjE0LCAzOTY5LCAzLjkzNzM5NDYxODk4ODAzN10sIFsxNjYzNzI3MDU1LjgxNzI4NjUsIDM5NzgsIDQuNjI0MTg4ODk5OTkzODk2NV0sIFsxNjYzNzI3MDU2LjAxMzk2MDEsIDM5OTYsIDMuODk0NjQzMzA2NzMyMTc3N10sIFsxNjYzNzI3MDU2LjEwNDk4OCwgNDAwNSwgMy41MzY3MzMxNTA0ODIxNzc3XSwgWzE2NjM3MjcwNTYuMTk3NDQ1MiwgNDAxNCwgMy4wMTg4NDA3ODk3OTQ5MjJdLCBbMTY2MzcyNzA1Ni4yOTQ5MTU3LCA0MDIzLCAyLjc0NjA5NzA4Nzg2MDEwNzRdLCBbMTY2MzcyNzA1Ni42NzcwMSwgNDA1OSwgMy40OTQwMjA5Mzg4NzMyOTFdLCBbMTY2MzcyNzA1Ni43NzA4NzMsIDQwNjgsIDMuNDczNjYzODA2OTE1MjgzXSwgWzE2NjM3MjcwNTYuODc3ODEzLCA0MDc3LCA1LjI3NTY2MTk0NTM0MzAxOF0sIFsxNjYzNzI3MDU2Ljk3NjE1MzYsIDQwODYsIDIuNjE0MTc5MTM0MzY4ODk2NV0sIFsxNjYzNzI3MDU3LjA2MDQ0MDUsIDQwOTUsIDMuMzg1MjYyMDEyNDgxNjg5NV0sIFsxNjYzNzI3MDU3LjIzNjQ5NDUsIDQxMTMsIDIuMzY2NTYyODQzMzIyNzU0XSwgWzE2NjM3MjcwNTcuNDE0NDkxLCA0MTMxLCAyLjQxMDczODcwNjU4ODc0NV0sIFsxNjYzNzI3MDU3LjU5NTg3MTQsIDQxNDksIDMuODIwMDc4NjExMzczOTAxNF0sIFsxNjYzNzI3MDU3LjY5NDk2NTYsIDQxNTgsIDIuNTEwNjYzNTA5MzY4ODk2NV0sIFsxNjYzNzI3MDU3Ljc4OTQzNDQsIDQxNjcsIDIuNDEzMjYwMjIxNDgxMzIzMl0sIFsxNjYzNzI3MDU4LjAxOTAxNDYsIDQxODUsIDQuMjczNDk3NTgxNDgxOTM0XSwgWzE2NjM3MjcwNTguMTAyNjY5NSwgNDE5NCwgNC4wNDE0ODc2OTM3ODY2MjFdLCBbMTY2MzcyNzA1OC4xOTEyMjQzLCA0MjAzLCA1LjA2Mzg2ODUyMjY0NDA0M10sIFsxNjYzNzI3MDU4LjM5NDMwMTQsIDQyMjEsIDIuMzA3MDQwMjE0NTM4NTc0XSwgWzE2NjM3MjcwNTguNzEwMjkwMiwgNDIzOSwgMi43NDUwNjkwMjY5NDcwMjE1XSwgWzE2NjM3MjcwNTkuMTU5OTU5NiwgNDI3NSwgMy4wMjIyODAyMTYyMTcwNDFdLCBbMTY2MzcyNzA1OS4yNzcxMjU4LCA0Mjg0LCAyLjgyMTY2MTQ3MjMyMDU1NjZdLCBbMTY2MzcyNzA1OS42MTc5NTMsIDQzMTEsIDIuNDY5Njk2MDQ0OTIxODc1XSwgWzE2NjM3MjcwNTkuNzE3NTY0OCwgNDMyMCwgMTAuMTY3NTQ1MzE4NjAzNTE2XSwgWzE2NjM3MjcwNTkuODExOTkyMiwgNDMyOSwgNi43ODA4NDIzMDQyMjk3MzZdLCBbMTY2MzcyNzA1OS45MDc5MjE2LCA0MzM4LCA1LjE1MDk0OTAwMTMxMjI1Nl0sIFsxNjYzNzI3MDYwLjAzNDc3MTIsIDQzNDcsIDMuNTU4NzAzNjYwOTY0OTY2XSwgWzE2NjM3MjcwNjAuMTM5NjI2NSwgNDM1NiwgMi40MDU2MDYwMzE0MTc4NDY3XSwgWzE2NjM3MjcwNjAuMjM4MzE3MywgNDM2NSwgMy4wNDgwNDY1ODg4OTc3MDVdLCBbMTY2MzcyNzA2MC40MTgwMTIsIDQzODMsIDcuNzA1NTM1ODg4NjcxODc1XSwgWzE2NjM3MjcwNjAuNTM3Mzc2NCwgNDM5MiwgNC4wNDA2MzYwNjI2MjIwN10sIFsxNjYzNzI3MDYwLjYyNDIzMjUsIDQ0MDEsIDIuNzg2MzM5OTk4MjQ1MjM5M10sIFsxNjYzNzI3MDYwLjcyNTE4MDksIDQ0MTAsIDUuNDkxMTQ0NjU3MTM1MDFdLCBbMTY2MzcyNzA2MS4wMDAzNzIsIDQ0MjgsIDIuNzk1NjgwNzYxMzM3MjgwM10sIFsxNjYzNzI3MDYxLjMxNzcxMDksIDQ0NTUsIDUuMDQ1NTA5ODE1MjE2MDY0NV0sIFsxNjYzNzI3MDYxLjQwNDM2NzIsIDQ0NjQsIDMuMDYwNzk0NTkxOTAzNjg2NV0sIFsxNjYzNzI3MDYxLjY4NTg2NzMsIDQ0OTEsIDIuODYxNzI3MjM3NzAxNDE2XSwgWzE2NjM3MjcwNjEuOTg4MzA2OCwgNDUxOCwgNC4wNzY5NDQ4MjgwMzM0NDddLCBbMTY2MzcyNzA2Mi4wNzg0MjYsIDQ1MjcsIDIuNjkxNTU0MDY5NTE5MDQzXSwgWzE2NjM3MjcwNjIuMTYyMTg5NSwgNDUzNiwgMi41MDAzMzI1OTM5MTc4NDY3XSwgWzE2NjM3MjcwNjIuNDUwNjgyNiwgNDU2MywgMi44NzQ3MzYzMDkwNTE1MTM3XSwgWzE2NjM3MjcwNjIuNjM0MjMwOSwgNDU4MSwgNC45ODU0OTY1MjA5OTYwOTRdLCBbMTY2MzcyNzA2Mi43MjM4MDIzLCA0NTkwLCAzLjY5MDMxOTA2MTI3OTI5N10sIFsxNjYzNzI3MDYyLjgxNjUyOSwgNDU5OSwgMy40NTc4NTY0MTY3MDIyNzA1XSwgWzE2NjM3MjcwNjIuOTExMDUwMywgNDYwOCwgMi40MjYzOTMyNzA0OTI1NTM3XSwgWzE2NjM3MjcwNjIuOTk5MDM2LCA0NjE3LCAzLjUzMDI4Njc4ODk0MDQyOTddLCBbMTY2MzcyNzA2My4wOTA0MjY3LCA0NjI2LCAyLjY2ODcwMjg0MDgwNTA1MzddLCBbMTY2MzcyNzA2My4xODY3Mzg3LCA0NjM1LCAyLjQ1MjczNDIzMTk0ODg1MjVdLCBbMTY2MzcyNzA2My40NzkzNzk0LCA0NjYyLCAyLjIxNjI2OTAxNjI2NTg2OV0sIFsxNjYzNzI3MDYzLjc3ODk3NCwgNDY3MSwgMy44MDk2NjA5MTE1NjAwNTg2XSwgWzE2NjM3MjcwNjMuODY5NDc1NCwgNDY4MCwgMi41NzM5NzQ4NDc3OTM1NzldLCBbMTY2MzcyNzA2My45NjE0OTEzLCA0Njg5LCAyLjYxNDI3NDI2MzM4MTk1OF0sIFsxNjYzNzI3MDY0LjI0NDI2NiwgNDcxNiwgMy4xMDg4MTE2MTY4OTc1ODNdLCBbMTY2MzcyNzA2NC45MDA5NDU3LCA0Nzc5LCA4LjMyMDY4NzI5NDAwNjM0OF0sIFsxNjYzNzI3MDY1LjE2OTg3NTYsIDQ4MDYsIDMuNTc2NjQxMzIxMTgyMjUxXSwgWzE2NjM3MjcwNjUuMjY2NjQ1NCwgNDgxNSwgMi44OTEwODc1MzIwNDM0NTddLCBbMTY2MzcyNzA2NS40Njg5MDk1LCA0ODMzLCAyLjU3MjAwNTI3MTkxMTYyMV0sIFsxNjYzNzI3MDY1LjU2MDMzOTIsIDQ4NDIsIDIuMzA4NzQ4MDA2ODIwNjc4N10sIFsxNjYzNzI3MDY1LjY0NzMxNjUsIDQ4NTEsIDIuNDgzODgxNDczNTQxMjU5OF0sIFsxNjYzNzI3MDY1Ljc0MDQ1OTcsIDQ4NjAsIDIuMzczMzc0NzAwNTQ2MjY0Nl0sIFsxNjYzNzI3MDY1LjgzMjUwNiwgNDg2OSwgMi40MDE4NTczNzYwOTg2MzNdLCBbMTY2MzcyNzA2Ni4wOTk5ODMyLCA0ODg3LCAyLjI1ODAwODQ4MDA3MjAyMTVdLCBbMTY2MzcyNzA2Ni4yNDE3NywgNDg5NiwgMi4zOTc4NjkxMTAxMDc0MjJdLCBbMTY2MzcyNzA2Ni4zMzE1MjUzLCA0OTA1LCAzLjUzNjkwODg2NDk3NDk3NTZdLCBbMTY2MzcyNzA2Ni41MzY5MTQ4LCA0OTIzLCAyLjY1MDE0MTcxNjAwMzQxOF0sIFsxNjYzNzI3MDY2LjYzNzM3OTIsIDQ5MzIsIDIuMzQxMzEzNjAwNTQwMTYxXSwgWzE2NjM3MjcwNjYuOTQ1NDQxNSwgNDk1OSwgMi41ODk0MjY5OTQzMjM3MzA1XSwgWzE2NjM3MjcwNjcuMTI5NzgzNCwgNDk3NywgMi4xNjQ5ODA2NDk5NDgxMl0sIFsxNjYzNzI3MDY3LjMxMjUzMTUsIDQ5OTUsIDIuOTY0NTc4MzkwMTIxNDZdLCBbMTY2MzcyNzA2Ny40MTg5NTg0LCA1MDA0LCAyLjI2MDc1ODg3NjgwMDUzN10sIFsxNjYzNzI3MDY3LjUxMzkyNzUsIDUwMTMsIDIuNzQzNTA5NzY5NDM5Njk3M10sIFsxNjYzNzI3MDY4LjA3ODY2ODQsIDUwNjcsIDMuMDIwMDQ5NTcxOTkwOTY3XSwgWzE2NjM3MjcwNjguMTcyMjE0MywgNTA3NiwgMi41OTUyMjk2MjU3MDE5MDQzXSwgWzE2NjM3MjcwNjguMjU4MDk0NSwgNTA4NSwgMi40MjQzOTk4NTI3NTI2ODU1XSwgWzE2NjM3MjcwNjguNjU2NzA4LCA1MTIxLCAyLjYzODMxNjYzMTMxNzEzODddLCBbMTY2MzcyNzA2OC43NTEwMDM1LCA1MTMwLCA0LjU3MjczNDgzMjc2MzY3Ml0sIFsxNjYzNzI3MDY4LjkzMzY0LCA1MTQ4LCAyLjYwNjMzNzc4NTcyMDgyNV0sIFsxNjYzNzI3MDY5LjExNzE1MjIsIDUxNjYsIDIuNzAzMzk4NDY2MTEwMjI5NV0sIFsxNjYzNzI3MDY5LjM4NTQ5NCwgNTE5MywgMi4wNTMxOTExODQ5OTc1NTg2XSwgWzE2NjM3MjcwNjkuNzk5MzU3NCwgNTIyOSwgMi44MTc2NDA3ODE0MDI1ODhdLCBbMTY2MzcyNzA3MC4xNjAzMywgNTI2NSwgMy4xNDcxNDgzNzA3NDI3OThdLCBbMTY2MzcyNzA3MC4yNjI1NTg1LCA1Mjc0LCAyLjcxMjU3MzI4OTg3MTIxNl0sIFsxNjYzNzI3MDcwLjM2MDk4NTgsIDUyODMsIDMuMDI1Njg2MjY0MDM4MDg2XSwgWzE2NjM3MjcwNzAuNTUyNjcxLCA1MzAxLCAyLjYwMjgzOTQ2OTkwOTY2OF0sIFsxNjYzNzI3MDcwLjY0OTM5OTgsIDUzMTAsIDIuMjM3MzAzNDk1NDA3MTA0NV0sIFsxNjYzNzI3MDcwLjc1MTgzOSwgNTMxOSwgMy4xMTc3ODIxMTU5MzYyNzkzXSwgWzE2NjM3MjcwNzAuODQzNDIxMiwgNTMyOCwgMi42OTQ5ODg3Mjc1Njk1OF0sIFsxNjYzNzI3MDcwLjk0NjQzNzgsIDUzMzcsIDIuNjM1ODc0NzQ4MjI5OTgwNV0sIFsxNjYzNzI3MDcxLjE5NzMyNzEsIDUzNTUsIDIuMjM2OTMzOTQ2NjA5NDk3XSwgWzE2NjM3MjcwNzEuNDA2MDg1LCA1MzczLCA0LjQyNDEwODUwNTI0OTAyM10sIFsxNjYzNzI3MDcxLjUwMjgyMjQsIDUzODIsIDMuODQ3NjgxNTIyMzY5Mzg0OF0sIFsxNjYzNzI3MDcxLjU4NTM0NTUsIDUzOTEsIDIuNTQ2MjIxOTcxNTExODQxXSwgWzE2NjM3MjcwNzEuNjc2OTc4LCA1NDAwLCAzLjY5NDMxNzEwMjQzMjI1MV0sIFsxNjYzNzI3MDcxLjg2NzY1MjIsIDU0MTgsIDMuMzkwOTg5NzgwNDI2MDI1NF0sIFsxNjYzNzI3MDcxLjk1NTc3ODQsIDU0MjcsIDQuNTczNTE2ODQ1NzAzMTI1XSwgWzE2NjM3MjcwNzIuMjUwNjI3LCA1NDM2LCAzLjQ3NDM3MTY3MTY3NjYzNTddLCBbMTY2MzcyNzA3Mi40OTk1NjUxLCA1NDU0LCAyLjg3MTYyNTE4NTAxMjgxNzRdLCBbMTY2MzcyNzA3Mi43NjgwMTAxLCA1NDgxLCAyLjk0NjE4MDgyMDQ2NTA4OF0sIFsxNjYzNzI3MDcyLjk2NDc2MywgNTQ5OSwgMi40MjE5NjkxNzUzMzg3NDVdLCBbMTY2MzcyNzA3My4zMzE1MjA2LCA1NTI2LCAyLjgxMzE3MDE5NDYyNTg1NDVdLCBbMTY2MzcyNzA3My40MjYyMDU5LCA1NTM1LCA0LjUwMzAwNjkzNTExOTYyOV0sIFsxNjYzNzI3MDczLjYyMTU3MDgsIDU1NTMsIDIuMjQ2MDg4MjY2MzcyNjgwN10sIFsxNjYzNzI3MDczLjgwMDc1NTcsIDU1NzEsIDMuNTE2MjQ3MjcyNDkxNDU1XSwgWzE2NjM3MjcwNzMuOTkwNzkwNiwgNTU4OSwgMi44NDk5NjE5OTYwNzg0OTFdLCBbMTY2MzcyNzA3NC4xNjczMDg4LCA1NjA3LCAyLjQ2MTE3OTQ5NDg1Nzc4OF0sIFsxNjYzNzI3MDc0LjI1MTk3MjIsIDU2MTYsIDIuNzcwNzE5MDUxMzYxMDg0XSwgWzE2NjM3MjcwNzQuNTM4MDEwNiwgNTY0MywgMy4xMDQ2ODQ1OTEyOTMzMzVdLCBbMTY2MzcyNzA3NC42MjUyMDgsIDU2NTIsIDQuMDI4ODIwOTkxNTE2MTEzXSwgWzE2NjM3MjcwNzQuNzI5MDIxOCwgNTY2MSwgNS4xODczNzEyNTM5NjcyODVdLCBbMTY2MzcyNzA3NC44MDk2ODI0LCA1NjcwLCAzLjUyNTk0MTYxMDMzNjMwMzddLCBbMTY2MzcyNzA3NS4xODY4MiwgNTcwNiwgMi41MzkyNTk2NzIxNjQ5MTddLCBbMTY2MzcyNzA3NS4zNzk0NDYzLCA1NzI0LCAyLjY5MDU1ODkxMDM2OTg3M10sIFsxNjYzNzI3MDc1LjU2ODY4OTMsIDU3NDIsIDIuNDM3MjQ2NTYxMDUwNDE1XSwgWzE2NjM3MjcwNzUuODQwMjY4NiwgNTc2OSwgMi43NDY5NTQ0NDEwNzA1NTY2XSwgWzE2NjM3MjcwNzUuOTM1ODU1MiwgNTc3OCwgMy41NjM2MTAwNzY5MDQyOTddLCBbMTY2MzcyNzA3Ni4wMjQwMDksIDU3ODcsIDIuNDM2ODE4MzYxMjgyMzQ4Nl0sIFsxNjYzNzI3MDc2LjEyNjg0NDQsIDU3OTYsIDIuMjIxODI5MTc1OTQ5MDk2N10sIFsxNjYzNzI3MDc2LjIxNTA3MzMsIDU4MDUsIDIuMzM5NTIyODM4NTkyNTI5M10sIFsxNjYzNzI3MDc2LjI5OTc1NCwgNTgxNCwgMy41OTkwNzUzMTczODI4MTI1XSwgWzE2NjM3MjcwNzYuNjYxMzc1MywgNTg1MCwgNC41ODI3MTU5ODgxNTkxOF0sIFsxNjYzNzI3MDc2LjgzNDA1NTIsIDU4NjgsIDQuNDk5NDA3NzY4MjQ5NTEyXSwgWzE2NjM3MjcwNzYuOTIyMjkxLCA1ODc3LCA1LjcxNzU3NDU5NjQwNTAyOV0sIFsxNjYzNzI3MDc3LjAwOTMzMjIsIDU4ODYsIDIuMjAwODg2NzI2Mzc5Mzk0NV0sIFsxNjYzNzI3MDc3LjEyMjU5MjcsIDU4OTUsIDQuMzc1ODM5NzEwMjM1NTk2XSwgWzE2NjM3MjcwNzcuMjAyNzI3OCwgNTkwNCwgMi41ODkyMjEyMzkwODk5NjZdLCBbMTY2MzcyNzA3Ny41MDkyNzI2LCA1OTMxLCAzLjI4ODE3NjUzNjU2MDA1ODZdLCBbMTY2MzcyNzA3Ny42NDQ0MDE2LCA1OTQwLCAyLjgzMjUzMTIxMzc2MDM3Nl0sIFsxNjYzNzI3MDc3Ljc3NzU1MywgNTk0OSwgNC41OTIxMDQ5MTE4MDQxOTldLCBbMTY2MzcyNzA3OC41OTg3MjUsIDYwMTIsIDIuNzgzNDI4NDMwNTU3MjUxXSwgWzE2NjM3MjcwNzguODU4ODc2LCA2MDM5LCAyLjM3MDc4MzMyOTAxMDAwOThdLCBbMTY2MzcyNzA3OS40MDA0NzU1LCA2MDg0LCAyLjExMzM1MDYyOTgwNjUxODZdLCBbMTY2MzcyNzA3OS41NDAzMjE0LCA2MDkzLCAyLjA2MDE2MjU0NDI1MDQ4ODNdLCBbMTY2MzcyNzA3OS42NDU3NzQ4LCA2MTAyLCAyLjI4Mzg0NTkwMTQ4OTI1OF0sIFsxNjYzNzI3MDc5Ljk3MTQyNTgsIDYxMjksIDIuNzgyNDgzMzM5MzA5NjkyNF0sIFsxNjYzNzI3MDgwLjM4ODg5NjUsIDYxNDcsIDIuNTA2Njk2NDYyNjMxMjI1Nl0sIFsxNjYzNzI3MDgwLjUxNjkyODIsIDYxNTYsIDMuMDczNjgyNzg1MDM0MTc5N10sIFsxNjYzNzI3MDgwLjYwOTMyNTYsIDYxNjUsIDMuMjA5MzM4OTAzNDI3MTI0XSwgWzE2NjM3MjcwODAuODgyNjcyLCA2MTkyLCAzLjM1MTE2OTgyNDYwMDIxOTddLCBbMTY2MzcyNzA4MS40Mzk2NDA4LCA2MjM3LCAyLjU4NTYwMjc2MDMxNDk0MTRdLCBbMTY2MzcyNzA4MS41NTA5OTU4LCA2MjQ2LCAyLjczNDUzODMxNjcyNjY4NDZdLCBbMTY2MzcyNzA4MS42NDIyNzg3LCA2MjU1LCAyLjQ4OTY4Njk2NTk0MjM4M10sIFsxNjYzNzI3MDgxLjc1MzIxOTEsIDYyNjQsIDIuNzM2NzkzNTE4MDY2NDA2Ml0sIFsxNjYzNzI3MDgxLjg1MTA1NzMsIDYyNzMsIDIuOTY0Nzg0MzgzNzczODAzN10sIFsxNjYzNzI3MDgxLjk0NDI3OTcsIDYyODIsIDIuNTc1NDU4NTI2NjExMzI4XSwgWzE2NjM3MjcwODIuMjA2ODYzNCwgNjMwMCwgNC4xNzYyNDg1NTA0MTUwMzldLCBbMTY2MzcyNzA4Mi40ODYxNDM2LCA2MzI3LCAzLjA3MzYxMjIxMzEzNDc2NTZdLCBbMTY2MzcyNzA4Mi41NzQ2MzksIDYzMzYsIDIuNzA3MDc4OTMzNzE1ODIwM10sIFsxNjYzNzI3MDgyLjc1ODYxNSwgNjM1NCwgMi44NTM2MDk4MDAzMzg3NDVdLCBbMTY2MzcyNzA4My4xMDk2MTQxLCA2MzkwLCAyLjc2MjI2MjEwNTk0MTc3MjVdLCBbMTY2MzcyNzA4My4xOTM5NTk3LCA2Mzk5LCAyLjgzNDYxMzA4NDc5MzA5MV0sIFsxNjYzNzI3MDgzLjM5MjE4MjQsIDY0MTcsIDIuOTY4NzgyNDI0OTI2NzU4XSwgWzE2NjM3MjcwODMuNjczODI3NiwgNjQ0NCwgMy40NTI5ODkzMzk4Mjg0OTFdLCBbMTY2MzcyNzA4My44NDY5MDgsIDY0NjIsIDIuMjM4NDMxNDUzNzA0ODM0XSwgWzE2NjM3MjcwODQuMDMyOTQyOCwgNjQ4MCwgMi4xNjI1MDg0ODc3MDE0MTZdLCBbMTY2MzcyNzA4NC4xMTk5OTgsIDY0ODksIDIuMzAwMDIzMDc4OTE4NDU3XSwgWzE2NjM3MjcwODQuMjczMzY1MywgNjQ5OCwgMi40NDExMjk2ODQ0NDgyNDJdLCBbMTY2MzcyNzA4NC41Mzk3MTQ2LCA2NTE2LCA0LjA3ODczOTY0MzA5NjkyNF0sIFsxNjYzNzI3MDg0Ljc5Nzg1NiwgNjUzNCwgMy41Njk3OTkxODQ3OTkxOTQzXSwgWzE2NjM3MjcwODQuOTIxNDU1OSwgNjU0MywgMi4yNDE2MjE0OTQyOTMyMTNdLCBbMTY2MzcyNzA4NS4wMTc5MDIsIDY1NTIsIDQuNDk4Mjk1MzA3MTU5NDI0XSwgWzE2NjM3MjcwODUuMTM4NzA2NywgNjU2MSwgNC41MTE2MjE0NzUyMTk3MjddLCBbMTY2MzcyNzA4NS4yMjg0NTM5LCA2NTcwLCAzLjQ5MzQzMDM3NjA1Mjg1NjRdLCBbMTY2MzcyNzA4NS40MDEzNTIyLCA2NTg4LCAyLjU0NDE0MzQzODMzOTIzMzRdLCBbMTY2MzcyNzA4NS40OTQ1ODEyLCA2NTk3LCAzLjMxMzEwNzI1MjEyMDk3MTddLCBbMTY2MzcyNzA4NS41OTQ3MTk0LCA2NjA2LCAzLjEyOTYzMzE4ODI0NzY4MDddLCBbMTY2MzcyNzA4Ni4wNjc5NTg4LCA2NjUxLCAyLjk5NjA3MjA1MzkwOTMwMThdLCBbMTY2MzcyNzA4Ni4xNjM2MzgsIDY2NjAsIDIuNjU2NzgxNDM1MDEyODE3NF0sIFsxNjYzNzI3MDg2LjI0NjMwNDUsIDY2NjksIDMuMTgyMDU4NTcyNzY5MTY1XSwgWzE2NjM3MjcwODYuNDMyNjUzLCA2Njg3LCAyLjMzOTkzNDU4NzQ3ODYzNzddLCBbMTY2MzcyNzA4Ni41MjM2MjU0LCA2Njk2LCAyLjUyODM5MDY0NTk4MDgzNV0sIFsxNjYzNzI3MDg2LjYxNDc5ODUsIDY3MDUsIDIuOTgwMDYyMDA3OTA0MDUyN10sIFsxNjYzNzI3MDg2LjczMDcwODgsIDY3MTQsIDIuMzY1NzA4MzUxMTM1MjU0XSwgWzE2NjM3MjcwODcuNDQ2OTQyNiwgNjc3NywgMi4xODAyMDY3NzU2NjUyODNdLCBbMTY2MzcyNzA4Ny43OTc2Mjg2LCA2ODA0LCAyLjI3NzM5MzEwMjY0NTg3NF0sIFsxNjYzNzI3MDg3Ljg4MjM4MjQsIDY4MTMsIDUuNTc5ODQ5MjQzMTY0MDYyNV0sIFsxNjYzNzI3MDg4LjA1ODE0NDMsIDY4MzEsIDUuOTk5NTY1NjAxMzQ4ODc3XSwgWzE2NjM3MjcwODguNTQ5MDQ2MywgNjg3NiwgMy4xMTYwNzM2MDgzOTg0Mzc1XSwgWzE2NjM3MjcwODguNjQxOTA0LCA2ODg1LCAyLjcwOTQ5MjkyMTgyOTIyMzZdLCBbMTY2MzcyNzA4OC43MzY5MDYsIDY4OTQsIDIuNzg5Mzc4NDA0NjE3MzA5Nl0sIFsxNjYzNzI3MDg5LjEyODM5MiwgNjkxMiwgNC45NDg3NzU3NjgyODAwMjldLCBbMTY2MzcyNzA4OS4yMjkwNjM3LCA2OTIxLCAyLjQ4NTg3NjMyMTc5MjYwMjVdLCBbMTY2MzcyNzA4OS4zMjAxMzI1LCA2OTMwLCAyLjMxMTM0NzAwNzc1MTQ2NV0sIFsxNjYzNzI3MDg5LjUyMjQxNTIsIDY5NDgsIDIuMDk3NDU4MzYyNTc5MzQ1N10sIFsxNjYzNzI3MDg5LjYyODY4ODMsIDY5NTcsIDIuNDk2ODM3NjE1OTY2Nzk3XSwgWzE2NjM3MjcwODkuNzYwNjc1NywgNjk2NiwgMi45MzU1NzQyOTMxMzY1OTY3XSwgWzE2NjM3MjcwOTAuMDAwOTIzNCwgNjk4NCwgMi4xMjE3MDY3MjQxNjY4N10sIFsxNjYzNzI3MDkwLjEwMDc4MzMsIDY5OTMsIDIuMTU4NDg0OTM1NzYwNDk4XSwgWzE2NjM3MjcwOTAuMzI2ODEzLCA3MDExLCAyLjYyNjY0MTk4ODc1NDI3MjVdLCBbMTY2MzcyNzA5MC40MjExMzg1LCA3MDIwLCAyLjIyMDMwNTIwNDM5MTQ3OTVdLCBbMTY2MzcyNzA5MC41MTg0MTEsIDcwMjksIDMuNjcyNDEyMTU3MDU4NzE2XSwgWzE2NjM3MjcwOTAuNjE1ODE5NywgNzAzOCwgNC43MDUyMzAyMzYwNTM0NjddLCBbMTY2MzcyNzA5MC43MDUwNTQ1LCA3MDQ3LCAzLjM1NDc5ODc5Mzc5MjcyNDZdLCBbMTY2MzcyNzA5MC44MDYwNTI0LCA3MDU2LCAyLjQzMjM3MjMzMTYxOTI2MjddLCBbMTY2MzcyNzA5MS4yMTIzMTIyLCA3MDgzLCAzLjQxODAwNDk4OTYyNDAyMzRdLCBbMTY2MzcyNzA5MS40MTg1NjIsIDcxMDEsIDIuOTQyNDY0ODI4NDkxMjExXSwgWzE2NjM3MjcwOTEuNTEwOTE2LCA3MTEwLCAxLjk2ODc4NzMxMjUwNzYyOTRdLCBbMTY2MzcyNzA5MS43MTkyNjM4LCA3MTI4LCA2Ljc5OTg4NjIyNjY1NDA1M10sIFsxNjYzNzI3MDkxLjkxMDgzNzQsIDcxNDYsIDkuMzUwNjEzNTk0MDU1MTc2XSwgWzE2NjM3MjcwOTIuMTA4OTg1MiwgNzE2NCwgMy45MDAwMjQxNzU2NDM5MjFdLCBbMTY2MzcyNzA5Mi4yMDQwNTUzLCA3MTczLCAyLjE5MjQxNDA0NTMzMzg2MjNdLCBbMTY2MzcyNzA5Mi40NzgyNDMsIDcyMDAsIDMuMzEzNjY5NDQzMTMwNDkzXSwgWzE2NjM3MjcwOTIuNTc3NTYwNywgNzIwOSwgMi41NzUwMDE5NTUwMzIzNDg2XSwgWzE2NjM3MjcwOTIuOTM5NDEwNCwgNzI0NSwgMi4xNjkwODY0NTYyOTg4MjhdLCBbMTY2MzcyNzA5My4wNDQ2MDcsIDcyNTQsIDIuOTA2NTI1MzczNDU4ODYyM10sIFsxNjYzNzI3MDkzLjEyODk2OSwgNzI2MywgMi43NTcwNTQ4MDU3NTU2MTUyXSwgWzE2NjM3MjcwOTMuMjE1NzgwMywgNzI3MiwgMi4wMjY3NTE5OTUwODY2N10sIFsxNjYzNzI3MDkzLjQ4ODAyMSwgNzI5OSwgMi40Mjk0NjkzNDcwMDAxMjJdLCBbMTY2MzcyNzA5My43NjM0ODk1LCA3MzI2LCAzLjQ3NTEzOTg1NjMzODUwMV0sIFsxNjYzNzI3MDk0LjMwNjc1MywgNzM3MSwgMy4zMDk4NTk1MTQyMzY0NV0sIFsxNjYzNzI3MDk0LjQwMTM0ODYsIDczODAsIDIuNTUzODMzNDg0NjQ5NjU4XSwgWzE2NjM3MjcwOTQuNTc1MjI5MiwgNzM5OCwgMi4yNjY0MzM3MTU4MjAzMTI1XSwgWzE2NjM3MjcwOTQuNjY2ODAyNCwgNzQwNywgMy4yOTMzMDA4NjcwODA2ODg1XSwgWzE2NjM3MjcwOTQuNzk5NDI1MSwgNzQxNiwgMi4xNjc1MDA5NzI3NDc4MDI3XSwgWzE2NjM3MjcwOTUuMDU2MDQsIDc0MzQsIDIuOTA2OTcxNjkzMDM4OTQwNF0sIFsxNjYzNzI3MDk1LjE3NDUyNDgsIDc0NDMsIDIuMjAxNzg5Mzc5MTE5ODczXSwgWzE2NjM3MjcwOTUuMzA2NDEwMywgNzQ1MiwgMy43NjA4NTE4NjAwNDYzODY3XSwgWzE2NjM3MjcwOTUuNDE3NTk2MywgNzQ2MSwgNy41NzQzNjUxMzkwMDc1NjhdLCBbMTY2MzcyNzA5NS44Mzc5Njc5LCA3NDk3LCAyLjY3MzM2NDg3NzcwMDgwNTddLCBbMTY2MzcyNzA5NS45NDczNjQsIDc1MDYsIDIuNzM5MjE5MTg4NjkwMTg1NV0sIFsxNjYzNzI3MDk2LjE1MTcxNTgsIDc1MjQsIDIuNTM5OTAwMDY0NDY4Mzg0XSwgWzE2NjM3MjcwOTYuMjQ0MDMzOCwgNzUzMywgMi40MTc3MzE1MjM1MTM3OTRdLCBbMTY2MzcyNzA5Ni4zMzg0NDgsIDc1NDIsIDIuNDQ1ODA4NDEwNjQ0NTMxMl0sIFsxNjYzNzI3MDk2LjU0MjMwNTcsIDc1NjAsIDMuOTIzMzc1MTI5Njk5NzA3XSwgWzE2NjM3MjcwOTYuNjMyMzkxNSwgNzU2OSwgNC4xMDM2NjE1MzcxNzA0MV0sIFsxNjYzNzI3MDk2LjkxMTU2MjIsIDc1ODcsIDIuMTM5MTUzNDgwNTI5Nzg1XSwgWzE2NjM3MjcwOTcuMDA4NDM1NywgNzU5NiwgMi40OTY3MTY3Mzc3NDcxOTI0XSwgWzE2NjM3MjcwOTcuMjA2MDUxLCA3NjE0LCAyLjMwMDMxNDY2NDg0MDY5ODJdLCBbMTY2MzcyNzA5Ny42OTg1NzA3LCA3NjU5LCA0LjMwMTcyMjA0OTcxMzEzNV0sIFsxNjYzNzI3MDk4LjAyMzQ4NywgNzY2OCwgNS40NjQyMDE5MjcxODUwNTldLCBbMTY2MzcyNzA5OC4zMTQ3NTE2LCA3Njk1LCAzLjExMzQzNzY1MjU4Nzg5MDZdLCBbMTY2MzcyNzA5OC42MDM3NTI0LCA3NzIyLCAyLjYwMjE3NDI4MjA3Mzk3NDZdLCBbMTY2MzcyNzA5OC45ODM0NzMzLCA3NzQ5LCAzLjAzMzgyODk3Mzc3MDE0MTZdLCBbMTY2MzcyNzA5OS4wNzY1MTksIDc3NTgsIDIuNzUzNjczMzE1MDQ4MjE3OF0sIFsxNjYzNzI3MDk5LjE3NDU0OSwgNzc2NywgMi4zODU4MzMyNjMzOTcyMTddLCBbMTY2MzcyNzA5OS40OTExMTkxLCA3Nzk0LCAyLjIwMDIxNDYyNDQwNDkwNzJdLCBbMTY2MzcyNzA5OS41NzYwNDQ2LCA3ODAzLCAzLjA1MDI4MDA5NDE0NjcyODVdLCBbMTY2MzcyNzEwMC4wMTE2ODA2LCA3ODM5LCAyLjQyNjAxNTEzODYyNjA5ODZdLCBbMTY2MzcyNzEwMC4xMTAyMDQyLCA3ODQ4LCAyLjEyNTgyMzk3NDYwOTM3NV0sIFsxNjYzNzI3MTAxLjE2MzIwNjYsIDc5MzgsIDEuOTY5NzA4MzIzNDc4Njk4N10sIFsxNjYzNzI3MTAxLjM2Mzc4ODgsIDc5NTYsIDIuMjI4MzA1MzM5ODEzMjMyNF0sIFsxNjYzNzI3MTAxLjQ4MTgxNDksIDc5NjUsIDIuNDc3MjM1MDc4ODExNjQ1NV0sIFsxNjYzNzI3MTAxLjU3NDIzNDcsIDc5NzQsIDMuNTM5NjI4NTA1NzA2Nzg3XSwgWzE2NjM3MjcxMDEuNjYyNjk5LCA3OTgzLCAyLjQ2Mzc1MzQ2MTgzNzc2ODZdLCBbMTY2MzcyNzEwMS44NTk4MTM3LCA4MDAxLCAyLjc5Njk1NTgyMzg5ODMxNTRdLCBbMTY2MzcyNzEwMi4wNTI3OTc4LCA4MDE5LCAyLjYzNjIxNjg3ODg5MDk5MV0sIFsxNjYzNzI3MTAyLjI0OTU1NiwgODAzNywgMi40MTE4MTE1OTAxOTQ3MDJdLCBbMTY2MzcyNzEwMi41Mzg3OTgzLCA4MDY0LCAyLjA5OTk3MDM0MDcyODc1OThdLCBbMTY2MzcyNzEwMi43Mzc1NTk2LCA4MDgyLCAxLjk4NzM2MzEwMDA1MTg3OTldLCBbMTY2MzcyNzEwMi44MjIwNjEsIDgwOTEsIDIuNDI2ODY4NDM4NzIwNzAzXSwgWzE2NjM3MjcxMDMuMTE0NjI3OCwgODExOCwgMi4zMjU5NzU0MTgwOTA4MjAzXSwgWzE2NjM3MjcxMDMuMjE5MzE0MywgODEyNywgMi4wOTc1NjYxMjc3NzcwOTk2XSwgWzE2NjM3MjcxMDMuNDExODM0NSwgODE0NSwgMy4xNzI1NjUyMjE3ODY0OTldLCBbMTY2MzcyNzEwMy42MTk5NDAzLCA4MTYzLCAyLjgyMzM4MTkwMDc4NzM1MzVdLCBbMTY2MzcyNzEwMy43MjI4MDIsIDgxNzIsIDIuMzIzMDUzMzU5OTg1MzUxNl0sIFsxNjYzNzI3MTAzLjgxMDEzNzUsIDgxODEsIDIuNzExODAzMTk3ODYwNzE3OF0sIFsxNjYzNzI3MTA0LjAzNTY1MjYsIDgxOTksIDIuMTc3MDY3NzU2NjUyODMyXSwgWzE2NjM3MjcxMDQuMTQ4MTMwNCwgODIwOCwgMy41NzczMTI3MDc5MDEwMDFdLCBbMTY2MzcyNzEwNC4zNTg3NTQ5LCA4MjI2LCAzLjQzMjEyNzcxNDE1NzEwNDVdLCBbMTY2MzcyNzEwNC40ODI4OTkyLCA4MjM1LCAzLjM1NDU0MzkyNDMzMTY2NV0sIFsxNjYzNzI3MTA0LjcyMTY1NSwgODI1MywgNC4xODA0MDQ2NjMwODU5Mzc1XSwgWzE2NjM3MjcxMDQuODk5NzQ3NiwgODI3MSwgMy43MTk4NDg4NzEyMzEwNzldLCBbMTY2MzcyNzEwNS4wMTEwMDE2LCA4MjgwLCAxLjk1NDE3NjMwNjcyNDU0ODNdLCBbMTY2MzcyNzEwNS4yMDQ2MTg3LCA4Mjk4LCAyLjEwNTgxOTk0MDU2NzAxNjZdLCBbMTY2MzcyNzEwNS4zODI5MjQsIDgzMTYsIDIuMjM4MTcxODE1ODcyMTkyNF0sIFsxNjYzNzI3MTA1LjgwODM4MDQsIDgzNTIsIDQuOTM2NzMzMjQ1ODQ5NjA5XSwgWzE2NjM3MjcxMDUuOTA0OTkzOCwgODM2MSwgNi4zMjEwNjk3MTc0MDcyMjddLCBbMTY2MzcyNzEwNi4wNDI4NzIsIDgzNzAsIDUuMDYyMzIwNzA5MjI4NTE2XSwgWzE2NjM3MjcxMDYuMTgyNzI2LCA4Mzc5LCAyLjExODg0NzEzMTcyOTEyNl0sIFsxNjYzNzI3MTA2LjI2OTc3LCA4Mzg4LCAyLjk5MTY2NzI3MDY2MDQwMDRdLCBbMTY2MzcyNzEwNi4zNzE5ODg4LCA4Mzk3LCAyLjUxNDUzNzgxMTI3OTI5N10sIFsxNjYzNzI3MTA2LjQ2NjUwODksIDg0MDYsIDIuMTcwOTM1MTUzOTYxMTgxNl0sIFsxNjYzNzI3MTA2Ljg1ODM5NjUsIDg0MjQsIDUuNDEzMzE5MTEwODcwMzYxXSwgWzE2NjM3MjcxMDcuMjI0MTU5NSwgODQ2MCwgNC4xMzcyOTg1ODM5ODQzNzVdLCBbMTY2MzcyNzEwNy4zOTExOTYsIDg0NzgsIDIuNDUzOTE4MjE4NjEyNjcxXSwgWzE2NjM3MjcxMDcuNDg3NzkyNSwgODQ4NywgMy4wNjQ2MDc2MjAyMzkyNThdLCBbMTY2MzcyNzEwNy44MTU1MjE3LCA4NTE0LCAyLjgxNTc1Nzc1MTQ2NDg0MzhdLCBbMTY2MzcyNzEwOC4yNzYwNDQ0LCA4NTUwLCAzLjgxNzY4MzIxOTkwOTY2OF0sIFsxNjYzNzI3MTA4LjM3NDk5MiwgODU1OSwgMi4wNjkyMDE3MDc4Mzk5NjZdLCBbMTY2MzcyNzEwOC41NzM5NzkxLCA4NTc3LCAyLjMyMzg1MzQ5MjczNjgxNjRdLCBbMTY2MzcyNzEwOC44MDEwNzQsIDg1OTUsIDIuNTUzMzU4NTU0ODQwMDg4XSwgWzE2NjM3MjcxMDguODg0OTM1NiwgODYwNCwgMi40MDYyMzQ5Nzk2Mjk1MTY2XSwgWzE2NjM3MjcxMDguOTk2MTg2MywgODYxMywgMi40NzE3OTI2OTc5MDY0OTRdLCBbMTY2MzcyNzEwOS40MTE2NzYyLCA4NjQ5LCAyLjEzODEwNjgyMjk2NzUyOTNdLCBbMTY2MzcyNzEwOS41MDkzOSwgODY1OCwgMi40NDU3NzMxMjQ2OTQ4MjRdLCBbMTY2MzcyNzEwOS42MTMzNDksIDg2NjcsIDMuMjI3OTQ3NzExOTQ0NThdLCBbMTY2MzcyNzEwOS43NDE5MzQsIDg2NzYsIDMuMDgwNjg3MDQ2MDUxMDI1NF0sIFsxNjYzNzI3MTA5Ljg0NjI3MywgODY4NSwgMi40NjYwOTc4MzE3MjYwNzRdLCBbMTY2MzcyNzEwOS45NDI4NDUzLCA4Njk0LCAyLjAzNzE1NTg2NjYyMjkyNV0sIFsxNjYzNzI3MTEwLjExOTU5NSwgODcxMiwgMy4wNDg5OTc4NzkwMjgzMjAzXSwgWzE2NjM3MjcxMTAuMjEwMTI3LCA4NzIxLCA0LjIxNjEzMjY0MDgzODYyM10sIFsxNjYzNzI3MTEwLjQ3MjQ1NTMsIDg3NDgsIDIuMjI0OTI1MDQxMTk4NzMwNV0sIFsxNjYzNzI3MTEwLjkyNTAwMSwgODc5MywgMi4yODE5NTU5NTc0MTI3MTk3XSwgWzE2NjM3MjcxMTEuMTE0ODE2LCA4ODExLCAyLjE5OTU5NzM1ODcwMzYxMzNdLCBbMTY2MzcyNzExMS4yMDY3ODA0LCA4ODIwLCAyLjYzMDQzMDIyMTU1NzYxN10sIFsxNjYzNzI3MTExLjM4MzE3OCwgODgzOCwgMi4wNDI0MzI1NDY2MTU2MDA2XSwgWzE2NjM3MjcxMTEuNDg2ODA0MiwgODg0NywgMi4yNTM1NzQxMzI5MTkzMTE1XSwgWzE2NjM3MjcxMTEuODUyOTYyNSwgODg4MywgMi41MjMxNTY4ODEzMzIzOTc1XSwgWzE2NjM3MjcxMTIuMDQ5NzAzOCwgODkwMSwgMi43MzkwNTM0ODc3Nzc3MV0sIFsxNjYzNzI3MTEyLjEzNzY5NzIsIDg5MTAsIDIuMjgzMDIxOTI2ODc5ODgzXSwgWzE2NjM3MjcxMTIuMjMyNjM0OCwgODkxOSwgMS45Mjk0MzAxMjcxNDM4NTk5XSwgWzE2NjM3MjcxMTIuNDIwMDc5NSwgODkzNywgMi43MTk3NzQ0ODQ2MzQzOTk0XSwgWzE2NjM3MjcxMTIuNjExNzUzNywgODk1NSwgMi40NTk4NjY3NjIxNjEyNTVdLCBbMTY2MzcyNzExMi43MDE3NzUzLCA4OTY0LCAzLjYyMDY4NzQ4NDc0MTIxMV0sIFsxNjYzNzI3MTEyLjc5MzE0NDUsIDg5NzMsIDIuMzQ4NTEwMjY1MzUwMzQyXSwgWzE2NjM3MjcxMTIuOTc3NjA4MiwgODk5MSwgMy4xNjA0NjY5MDk0MDg1NjkzXSwgWzE2NjM3MjcxMTMuMDcyMDMwNSwgOTAwMCwgNi4zMTMxNDU2Mzc1MTIyMDddLCBbMTY2MzcyNzExMy4yNTg4MjksIDkwMTgsIDQuNDYzNDU1Njc3MDMyNDcxXSwgWzE2NjM3MjcxMTMuMzU1MTA5NSwgOTAyNywgMi4yOTEzNDc3NDIwODA2ODg1XSwgWzE2NjM3MjcxMTMuNDYxODkyNCwgOTAzNiwgMS44ODU3OTIwMTY5ODMwMzIyXSwgWzE2NjM3MjcxMTMuNjA2MTQ0NywgOTA0NSwgMi41MDM3NTI3MDg0MzUwNTg2XSwgWzE2NjM3MjcxMTMuNzIyMjE5MiwgOTA1NCwgMi40MTgzNDE2MzY2NTc3MTVdLCBbMTY2MzcyNzExMy44MTg0OTAzLCA5MDYzLCAyLjc1NDk4MTA0MDk1NDU5XSwgWzE2NjM3MjcxMTQuMzU1NDIzNSwgOTEwOCwgMi40MjQwNzQ0MTEzOTIyMTJdLCBbMTY2MzcyNzExNC41NTg1MjUzLCA5MTI2LCAxLjk0NzQ2OTk0OTcyMjI5XSwgWzE2NjM3MjcxMTQuNzMyMzAzNiwgOTE0NCwgMi4wNDY1NjYyNDc5NDAwNjM1XSwgWzE2NjM3MjcxMTQuODIwOTk1NiwgOTE1MywgMi4xMTkyMTgzNDk0NTY3ODddLCBbMTY2MzcyNzExNC45MTgwODcsIDkxNjIsIDIuMTI2ODUwNjA1MDEwOTg2M10sIFsxNjYzNzI3MTE1LjY2MDE5NDksIDkyMDcsIDIuMzk4OTc3Mjc5NjYzMDg2XSwgWzE2NjM3MjcxMTYuMDMxODQzNCwgOTI0MywgMi42MzcyMTM5NDUzODg3OTRdLCBbMTY2MzcyNzExNi4yMjAyMDgsIDkyNjEsIDIuODMxMjM3MDc3NzEzMDEyN10sIFsxNjYzNzI3MTE2LjMxOTQxMTUsIDkyNzAsIDEuODM3OTA1MDQ5MzI0MDM1Nl0sIFsxNjYzNzI3MTE2Ljg4MTkzMDYsIDkzMjQsIDIuMzk2OTg2NDg0NTI3NTg4XSwgWzE2NjM3MjcxMTYuOTcxNjQxOCwgOTMzMywgMi45ODk1NTYzMTI1NjEwMzVdLCBbMTY2MzcyNzExNy4wNTQ5NTY0LCA5MzQyLCAyLjE1ODkyNzIwMjIyNDczMTRdLCBbMTY2MzcyNzExNy4xNTA1MTc1LCA5MzUxLCAyLjU3MzE3NDIzODIwNDk1Nl0sIFsxNjYzNzI3MTE3LjI3NjUxNDUsIDkzNjAsIDIuMDM3NjU0ODc2NzA4OTg0NF0sIFsxNjYzNzI3MTE3LjY0MDMzNCwgOTM5NiwgMi41MTk4Mjk3NTAwNjEwMzVdLCBbMTY2MzcyNzExNy44MjkwNTU4LCA5NDE0LCAzLjk3NzQwNjAyNDkzMjg2MTNdLCBbMTY2MzcyNzExNy45MzEzNTM2LCA5NDIzLCAyLjYyNzI3MTQxMzgwMzEwMDZdLCBbMTY2MzcyNzExOC40OTIzMjcsIDk0NzcsIDIuMTcwMDU3NzczNTkwMDg4XSwgWzE2NjM3MjcxMTguNTgxNjU5OCwgOTQ4NiwgMy40MDI0MzgxNjM3NTczMjRdLCBbMTY2MzcyNzExOC44Njk3MTIsIDk1MTMsIDIuMDkwMDk3NDI3MzY4MTY0XSwgWzE2NjM3MjcxMTkuMTE2ODMzMiwgOTUzMSwgMy42NjI5ODU1NjMyNzgxOTgyXSwgWzE2NjM3MjcxMTkuMjI4NzM1LCA5NTQwLCA1Ljg1MTQ4MzM0NTAzMTczOF0sIFsxNjYzNzI3MTE5LjM1MjI1MzQsIDk1NDksIDMuOTYzNjI5NDg0MTc2NjM1N10sIFsxNjYzNzI3MTE5LjU2NTIzLCA5NTY3LCAyLjI4NjQxNDE0NjQyMzM0XSwgWzE2NjM3MjcxMTkuODU4ODkyNCwgOTU5NCwgMy4wOTIzMDc1Njc1OTY0MzU1XSwgWzE2NjM3MjcxMTkuOTU1MTg3LCA5NjAzLCAzLjExODM1NjQ2NjI5MzMzNV0sIFsxNjYzNzI3MTIwLjA0Njk1NDQsIDk2MTIsIDIuMDYxNjE5OTk3MDI0NTM2XSwgWzE2NjM3MjcxMjAuMjQxNDEyNiwgOTYzMCwgMi45OTk2MDk3MDg3ODYwMTA3XSwgWzE2NjM3MjcxMjAuMzU1NjczOCwgOTYzOSwgMi42MDQ2OTQxMjgwMzY0OTldLCBbMTY2MzcyNzEyMC40NTkyODc0LCA5NjQ4LCAzLjEyODY0NTE4MTY1NTg4NF0sIFsxNjYzNzI3MTIwLjU1OTk5MzUsIDk2NTcsIDIuMTU5ODE1MzExNDMxODg0OF0sIFsxNjYzNzI3MTIwLjY1MTEwMzMsIDk2NjYsIDIuODExOTQxMTQ2ODUwNTg2XSwgWzE2NjM3MjcxMjAuNzQ4NjA1MywgOTY3NSwgMi41OTQ0MzE2Mzg3MTc2NTE0XSwgWzE2NjM3MjcxMjEuMDk3MjI3OCwgOTcwMiwgNC4zMTU3NTg3MDUxMzkxNl0sIFsxNjYzNzI3MTIxLjIxNzk2MTMsIDk3MTEsIDIuNDM4NzAxMTUyODAxNTEzN10sIFsxNjYzNzI3MTIxLjQwNzg3NywgOTcyOSwgMi4zMDI3MjYyNjg3NjgzMTA1XSwgWzE2NjM3MjcxMjEuNTAxMDc3NywgOTczOCwgMi4yNDA4MTQ2ODU4MjE1MzNdLCBbMTY2MzcyNzEyMS42MDA2NDM5LCA5NzQ3LCAyLjgwOTk4Mjc3NjY0MTg0NTddLCBbMTY2MzcyNzEyMS44ODUzNDQsIDk3NzQsIDIuNTI4NTA2NzU1ODI4ODU3NF0sIFsxNjYzNzI3MTIxLjk4Njg2MjQsIDk3ODMsIDIuMzgzMTA2NDcwMTA4MDMyMl0sIFsxNjYzNzI3MTIyLjEzMjE2MTYsIDk3OTIsIDIuNjI0NzY2NTg4MjExMDU5Nl0sIFsxNjYzNzI3MTIyLjU5NDcyNDIsIDk4MjgsIDIuMzA4NDYwNDc0MDE0MjgyMl0sIFsxNjYzNzI3MTIyLjY4ODM1MDQsIDk4MzcsIDIuMDYzODI1NjA3Mjk5ODA0N10sIFsxNjYzNzI3MTIyLjc3NjQzNDIsIDk4NDYsIDIuMjk1Mzg4MjIxNzQwNzIyN10sIFsxNjYzNzI3MTIzLjQ4NjUyOCwgOTg5MSwgMy4wMDMyNTUxMjg4NjA0NzM2XSwgWzE2NjM3MjcxMjMuNjk0MDEzNiwgOTkwOSwgMi4zNjAxNzMyMjU0MDI4MzJdLCBbMTY2MzcyNzEyMy44ODExNTIsIDk5MjcsIDIuNTI2NzQ2NTExNDU5MzUwNl0sIFsxNjYzNzI3MTIzLjk3MjI1MjEsIDk5MzYsIDIuMTg0ODkzMzY5Njc0NjgyNl0sIFsxNjYzNzI3MTI0LjA2NDA2NzEsIDk5NDUsIDQuMDIxNDkyMDA0Mzk0NTMxXSwgWzE2NjM3MjcxMjQuMzY0NTI4NCwgOTk3MiwgMi41ODAwNjk1NDE5MzExNTIzXSwgWzE2NjM3MjcxMjQuNDY3ODY0MywgOTk4MSwgMi4wNDg3MjgyMjc2MTUzNTY0XSwgWzE2NjM3MjcxMjQuNTYwODQ1LCA5OTkwLCAyLjY2OTg4MTgyMDY3ODcxMV0sIFsxNjYzNzI3MTI0LjY0OTIwNjksIDk5OTksIDIuNTI5MDA3OTExNjgyMTI5XSwgWzE2NjM3MjcxMjQuNzYwNzM0MywgMTAwMDgsIDIuMTM3NDUzNTU2MDYwNzkxXSwgWzE2NjM3MjcxMjQuODU4NzU5MiwgMTAwMTcsIDIuMTgwNDMzOTg4NTcxMTY3XSwgWzE2NjM3MjcxMjQuOTU2NzUzNSwgMTAwMjYsIDIuMTk5MDg2OTA0NTI1NzU3XSwgWzE2NjM3MjcxMjUuMDUzMjk3NSwgMTAwMzUsIDIuMzY3Mjc5NzY3OTkwMTEyM10sIFsxNjYzNzI3MTI1LjI0MzM2NzQsIDEwMDUzLCAzLjMzNTMyNTk1NjM0NDYwNDVdLCBbMTY2MzcyNzEyNS41NDQ1MTc1LCAxMDA4MCwgMi4wNDY2MTEwNzA2MzI5MzQ2XSwgWzE2NjM3MjcxMjUuNzMwODQ4OCwgMTAwOTgsIDIuMzc0ODM5MDY3NDU5MTA2NF0sIFsxNjYzNzI3MTI1Ljg2MTk5MDIsIDEwMTA3LCAyLjA1NDM2ODAxOTEwNDAwNF0sIFsxNjYzNzI3MTI2LjE1NTkzLCAxMDEzNCwgMi4wMTIxMzQ1NTIwMDE5NTNdLCBbMTY2MzcyNzEyNi4yNTI3NjkyLCAxMDE0MywgMi4zODcyMjk2ODEwMTUwMTQ2XSwgWzE2NjM3MjcxMjYuNDQzMTA1NywgMTAxNjEsIDIuOTkxNTkxOTMwMzg5NDA0M10sIFsxNjYzNzI3MTI2LjU0OTU2MjcsIDEwMTcwLCA0LjY5NTY3NDQxOTQwMzA3Nl0sIFsxNjYzNzI3MTI2LjYzODUwOTUsIDEwMTc5LCA0LjEzNTY2NjM3MDM5MTg0Nl0sIFsxNjYzNzI3MTI2LjczNjY5MDUsIDEwMTg4LCAyLjgyODI1MzUwNzYxNDEzNTddLCBbMTY2MzcyNzEyNi44NjE4Nzc0LCAxMDE5NywgMi43NjY2MzU0MTc5MzgyMzI0XSwgWzE2NjM3MjcxMjcuMDc2MzYzMywgMTAyMTUsIDIuMTQ2NzA3MDU3OTUyODgxXSwgWzE2NjM3MjcxMjcuMTYzMTUyNSwgMTAyMjQsIDMuOTc0NTg0ODE3ODg2MzUyNV0sIFsxNjYzNzI3MTI3LjI2MDE3MiwgMTAyMzMsIDMuODQ3MDIyNzcxODM1MzI3XSwgWzE2NjM3MjcxMjcuMzQwMzMwOCwgMTAyNDIsIDQuMTM4Mjc4MDA3NTA3MzI0XSwgWzE2NjM3MjcxMjcuNTY1NTU3NywgMTAyNjAsIDIuMTYwNDQyODI5MTMyMDhdLCBbMTY2MzcyNzEyNy44NDI3OTczLCAxMDI4NywgMi44NDAyMzIzNzIyODM5MzU1XSwgWzE2NjM3MjcxMjguMTQ0MTcxNywgMTAzMTQsIDIuNTYyNTgwNTg1NDc5NzM2M10sIFsxNjYzNzI3MTI4LjI3MTQ4NjgsIDEwMzIzLCAyLjE5MjMwNTU2NDg4MDM3MV0sIFsxNjYzNzI3MTI4LjUxNDU2MjQsIDEwMzQxLCAyLjc2Njc3MjI3MDIwMjYzNjddLCBbMTY2MzcyNzEyOC42MDMwMzE5LCAxMDM1MCwgMi4yODY1MDAyMTU1MzAzOTU1XSwgWzE2NjM3MjcxMjguNzAzODQ3NCwgMTAzNTksIDIuMTcwMzE5MzE4NzcxMzYyM10sIFsxNjYzNzI3MTI4LjgxNDg3MTMsIDEwMzY4LCAyLjM5ODIwMzEzNDUzNjc0M10sIFsxNjYzNzI3MTI4LjkzODI0MjcsIDEwMzc3LCAyLjI0MjU1MDYxMTQ5NTk3MTddLCBbMTY2MzcyNzEyOS4wNDA4NzksIDEwMzg2LCAyLjE5MDk3ODI4ODY1MDUxMjddLCBbMTY2MzcyNzEyOS4yNDU0NTI2LCAxMDQwNCwgMi4xOTM5MTcyNzQ0NzUwOTc3XSwgWzE2NjM3MjcxMjkuNjMzMDAxNiwgMTA0NDAsIDIuODg4ODc3ODY4NjUyMzQzOF0sIFsxNjYzNzI3MTI5LjcyNTAzNjksIDEwNDQ5LCAyLjI2MjI1ODI5MTI0NDUwN10sIFsxNjYzNzI3MTI5LjkxNzgzMTQsIDEwNDY3LCAyLjExMDQ3NjAxNjk5ODI5MV0sIFsxNjYzNzI3MTMwLjE1NTk0NTUsIDEwNDg1LCAyLjI5MzkzMTcyMjY0MDk5MV0sIFsxNjYzNzI3MTMwLjMyOTg3NzEsIDEwNTAzLCAyLjQxMzMzMzY1NDQwMzY4NjVdLCBbMTY2MzcyNzEzMC40NTU1MTQsIDEwNTEyLCAyLjEzNzM5ODk1ODIwNjE3NjhdLCBbMTY2MzcyNzEzMS4wOTg3MTA1LCAxMDU2NiwgMi4xMDg4MzA0NTE5NjUzMzJdLCBbMTY2MzcyNzEzMS4xODg1NjMzLCAxMDU3NSwgMi4xNjc4MTEzOTM3Mzc3OTNdLCBbMTY2MzcyNzEzMS41NjkxNDY5LCAxMDU5MywgMi43NDE4ODA0MTY4NzAxMTddLCBbMTY2MzcyNzEzMS42NzQyNDIzLCAxMDYwMiwgMi4yOTM3NjMzOTkxMjQxNDU1XSwgWzE2NjM3MjcxMzEuNzU4OTc2NSwgMTA2MTEsIDMuNDMxODc4MDg5OTA0Nzg1XSwgWzE2NjM3MjcxMzIuMTI4MDI3LCAxMDY0NywgMi4xNDE1MzYyMzU4MDkzMjZdLCBbMTY2MzcyNzEzMi4zMDcyNTY1LCAxMDY2NSwgMi42OTYwNDY1OTA4MDUwNTM3XSwgWzE2NjM3MjcxMzIuNDc5NjE1NywgMTA2ODMsIDIuNDExODYwMjI3NTg0ODM5XSwgWzE2NjM3MjcxMzIuNjUzNTUwMSwgMTA3MDEsIDIuMzE3ODMzNjYyMDMzMDgxXSwgWzE2NjM3MjcxMzIuNzQzNTc2MywgMTA3MTAsIDIuMzA2NzgyMDA3MjE3NDA3Ml0sIFsxNjYzNzI3MTMyLjgyNDg2NiwgMTA3MTksIDIuMTg1NjczMjM2ODQ2OTI0XSwgWzE2NjM3MjcxMzMuMTE5OTk5LCAxMDc0NiwgMi42MDIyODg0ODQ1NzMzNjQzXSwgWzE2NjM3MjcxMzMuMjIyMDU5MiwgMTA3NTUsIDIuNDY0NDc1NjMxNzEzODY3XSwgWzE2NjM3MjcxMzMuMzA4ODkzNCwgMTA3NjQsIDMuMTkxNjU4MDIwMDE5NTMxMl0sIFsxNjYzNzI3MTMzLjQyMjIyODgsIDEwNzczLCAyLjMzOTM4MTIxNzk1NjU0M10sIFsxNjYzNzI3MTMzLjUyMTA5NjIsIDEwNzgyLCAyLjM5OTQ4NjU0MTc0ODA0N10sIFsxNjYzNzI3MTMzLjYxMDk1NSwgMTA3OTEsIDIuMjAxODUyMDgzMjA2MTc2OF0sIFsxNjYzNzI3MTMzLjg4MjUzNjIsIDEwODE4LCAxLjk2NzUyMTE5MDY0MzMxMDVdLCBbMTY2MzcyNzEzMy45NjcyMTEyLCAxMDgyNywgMi40OTE0NjM2NjExOTM4NDc3XSwgWzE2NjM3MjcxMzQuMjY5MTMxLCAxMDg1NCwgMi4zMDYyNjY3ODQ2Njc5Njg4XSwgWzE2NjM3MjcxMzQuMzQ4OTE3MiwgMTA4NjMsIDIuODcxMzA4MDg4MzAyNjEyM10sIFsxNjYzNzI3MTM0LjQzNzE5NiwgMTA4NzIsIDEuODc1ODUyMTA4MDAxNzA5XSwgWzE2NjM3MjcxMzQuNjI1Nzk0NCwgMTA4OTAsIDIuNDI5NDUwMDM1MDk1MjE1XSwgWzE2NjM3MjcxMzQuNzM5NzY3LCAxMDg5OSwgMi4yNzI4ODIyMjMxMjkyNzI1XSwgWzE2NjM3MjcxMzUuMDA0MzgzMywgMTA5MjYsIDIuMjEyODYzNDQ1MjgxOTgyNF0sIFsxNjYzNzI3MTM1LjA5NTQ4ODgsIDEwOTM1LCAyLjI2ODYxMDIzOTAyODkzMDddLCBbMTY2MzcyNzEzNS4xODIwODI3LCAxMDk0NCwgMi4yMzg4MTI5MjM0MzEzOTY1XSwgWzE2NjM3MjcxMzUuMzY4NDU3OCwgMTA5NjIsIDIuNTIzNTk4NDMyNTQwODkzNl0sIFsxNjYzNzI3MTM1LjQ2ODE0MDQsIDEwOTcxLCAyLjU4MjAxNDA4Mzg2MjMwNDddLCBbMTY2MzcyNzEzNS44MjY5NTk4LCAxMTAwNywgMi4yMDI5NDA5NDA4NTY5MzM2XSwgWzE2NjM3MjcxMzUuOTA4MzcxMiwgMTEwMTYsIDIuNTQzMzk3NjY1MDIzODAzN10sIFsxNjYzNzI3MTM2LjEwMDI4OTgsIDExMDM0LCAyLjI2ODU0NDY3MzkxOTY3NzddLCBbMTY2MzcyNzEzNi4zODA2MDMsIDExMDYxLCAyLjE2MDMzMjQ0MTMyOTk1Nl0sIFsxNjYzNzI3MTM2LjUzNDI3NTgsIDExMDcwLCAyLjM0MDE5NDk0MDU2NzAxNjZdLCBbMTY2MzcyNzEzNi44OTQxMjQ1LCAxMTA5NywgMy41OTc5MTE4MzQ3MTY3OTddLCBbMTY2MzcyNzEzNy4wMTc4Mjk0LCAxMTEwNiwgMi45NzUxNzMyMzQ5Mzk1NzVdLCBbMTY2MzcyNzEzNy42MDE3OTQ3LCAxMTE1MSwgMi4xMTIxNDIwODYwMjkwNTI3XSwgWzE2NjM3MjcxMzcuODEwOTQxNywgMTExNjksIDMuODQ0OTI5NDU2NzEwODE1NF0sIFsxNjYzNzI3MTM3LjkwNzI5MSwgMTExNzgsIDIuMTEyOTY2Nzc1ODk0MTY1XSwgWzE2NjM3MjcxMzcuOTk3MzAxMywgMTExODcsIDIuMzU5MDc0NTkyNTkwMzMyXSwgWzE2NjM3MjcxMzguMDkxMDk1MiwgMTExOTYsIDMuODgzNDg3NDYyOTk3NDM2NV0sIFsxNjYzNzI3MTM4LjE4MTg0NywgMTEyMDUsIDIuOTM4NzU1NzUwNjU2MTI4XSwgWzE2NjM3MjcxMzguMjc0MTc3OCwgMTEyMTQsIDIuNzQ1NDUwMjU4MjU1MDA1XSwgWzE2NjM3MjcxMzguMzY1Njk0MywgMTEyMjMsIDIuMTU3NTEzMTQxNjMyMDhdLCBbMTY2MzcyNzEzOC42Njk4ODAyLCAxMTI1MCwgMi4xNDI5NzcyMzc3MDE0MTZdLCBbMTY2MzcyNzEzOC43NjUwMTc3LCAxMTI1OSwgMi45MTY4NDYyNzUzMjk1OV0sIFsxNjYzNzI3MTM4Ljg1NDkzMiwgMTEyNjgsIDIuMTU2Nzc5NTI3NjY0MTg0Nl0sIFsxNjYzNzI3MTM4Ljk1MzE2ODksIDExMjc3LCAyLjM1NjA4MzYzMTUxNTUwM10sIFsxNjYzNzI3MTM5LjE0MDQyODMsIDExMjk1LCAyLjQzMjIxMTg3NTkxNTUyNzNdLCBbMTY2MzcyNzEzOS4zMjE4ODk5LCAxMTMxMywgNC4xMTQ1NTkxNzM1ODM5ODRdLCBbMTY2MzcyNzEzOS40MzIyMzI0LCAxMTMyMiwgMi43NjgxMjg2MzM0OTkxNDU1XSwgWzE2NjM3MjcxMzkuOTg1MTAwMywgMTEzNDksIDIuMzE3MDQ5NzQxNzQ0OTk1XSwgWzE2NjM3MjcxNDAuMDg0MjExMywgMTEzNTgsIDUuMjQyMDY5NzIxMjIxOTI0XSwgWzE2NjM3MjcxNDAuMzUzMjMzOCwgMTEzODUsIDIuOTI1NDAxOTI2MDQwNjQ5NF0sIFsxNjYzNzI3MTQwLjY2Mzk4MzMsIDExNDEyLCAyLjQ3NjQ0MDY2ODEwNjA3OV0sIFsxNjYzNzI3MTQxLjAyOTY0NjYsIDExNDQ4LCAyLjAzMjA2MTMzODQyNDY4MjZdLCBbMTY2MzcyNzE0MS40OTIwMzczLCAxMTQ5MywgMi4zMzQ4ODIwMjA5NTAzMTc0XSwgWzE2NjM3MjcxNDEuNTk1ODk5OCwgMTE1MDIsIDIuMDQwMTE4Njk0MzA1NDJdLCBbMTY2MzcyNzE0MS42ODMwNzk1LCAxMTUxMSwgMi41MTk5MTIwMDQ0NzA4MjVdLCBbMTY2MzcyNzE0MS44NjEwNzY2LCAxMTUyOSwgMy4wNjIwMTkxMDk3MjU5NTJdLCBbMTY2MzcyNzE0Mi4wNTEwMDU2LCAxMTU0NywgMS44NTA1OTEwNjM0OTk0NTA3XSwgWzE2NjM3MjcxNDIuMzQxNjI0NywgMTE1NzQsIDIuMTEyODIyNTMyNjUzODA4Nl0sIFsxNjYzNzI3MTQyLjYxNzE2MjcsIDExNjAxLCAyLjA3MTI2NDc0MzgwNDkzMTZdLCBbMTY2MzcyNzE0Mi44MTE2MjE3LCAxMTYxOSwgMy40NjQwMzAyNjU4MDgxMDU1XSwgWzE2NjM3MjcxNDMuMTEzNTgxLCAxMTY0NiwgMy41OTQ5ODQyOTI5ODQwMDldLCBbMTY2MzcyNzE0My4zODg1MTE3LCAxMTY3MywgMi40MDg3MDk3NjQ0ODA1OTFdLCBbMTY2MzcyNzE0My41NjI5NSwgMTE2OTEsIDIuMzgyMDYxNDgxNDc1ODNdLCBbMTY2MzcyNzE0My42NDE5MDMyLCAxMTcwMCwgMi4zMzcwNjA2ODk5MjYxNDc1XSwgWzE2NjM3MjcxNDMuODM1MzM3NCwgMTE3MTgsIDIuMDU4MTE0MDUxODE4ODQ3N10sIFsxNjYzNzI3MTQzLjkyOTY4MTMsIDExNzI3LCAxLjc4OTQ4MDA5MDE0MTI5NjRdLCBbMTY2MzcyNzE0NC4xMTgxMTY2LCAxMTc0NSwgMi4yMTI2MjQ3ODgyODQzMDE4XSwgWzE2NjM3MjcxNDQuMzA1MDM4LCAxMTc2MywgMS45MDcwOTY3NDM1ODM2NzkyXSwgWzE2NjM3MjcxNDQuNjcwMzM3NywgMTE3OTksIDIuNTE3OTk5ODg3NDY2NDMwN10sIFsxNjYzNzI3MTQ1LjA1NzYzNTMsIDExODM1LCAyLjExNzY1NzQyMzAxOTQwOV0sIFsxNjYzNzI3MTQ1LjE1MjM0MzgsIDExODQ0LCAyLjk3ODEyNjI4NzQ2MDMyN10sIFsxNjYzNzI3MTQ1LjYxNjM0NTQsIDExODg5LCAyLjMxMDcxOTQ5MDA1MTI2OTVdLCBbMTY2MzcyNzE0NS44MDg4MDYyLCAxMTkwNywgMi4xMTQ4MzY0NTQzOTE0Nzk1XSwgWzE2NjM3MjcxNDUuOTEyNTQxMiwgMTE5MTYsIDIuNjgzOTQxNjAyNzA2OTA5XSwgWzE2NjM3MjcxNDYuMDk1OTA5LCAxMTkzNCwgMi4zOTI4NDQyMDAxMzQyNzczXSwgWzE2NjM3MjcxNDYuMTkzNjQxMiwgMTE5NDMsIDIuOTM0MTIzOTkyOTE5OTIyXSwgWzE2NjM3MjcxNDYuNTgxOTA1OCwgMTE5NjEsIDIuOTQxNjI2Nzg3MTg1NjY5XSwgWzE2NjM3MjcxNDcuMjY2NjU4OCwgMTIwMjQsIDIuMTEwNzI3MzEwMTgwNjY0XSwgWzE2NjM3MjcxNDguMTAzOTI5LCAxMjEwNSwgNC44OTkyOTEwMzg1MTMxODRdLCBbMTY2MzcyNzE0OC4xODkzMDU4LCAxMjExNCwgNC40OTMwNzIwMzI5Mjg0NjddLCBbMTY2MzcyNzE0OC4zNzcxNTU1LCAxMjEzMiwgMy4yNTcyNzEwNTE0MDY4NjA0XSwgWzE2NjM3MjcxNDguNDc1NjEyLCAxMjE0MSwgMi4wNTk5Mzc5NTM5NDg5NzQ2XSwgWzE2NjM3MjcxNDguNzU1OTM4MywgMTIxNjgsIDIuNDkzODAzMDI0MjkxOTkyXSwgWzE2NjM3MjcxNDguODYyNzU1OCwgMTIxNzcsIDEuOTQzOTAzODAzODI1Mzc4NF0sIFsxNjYzNzI3MTQ5LjA1Njg2MzMsIDEyMTk1LCAyLjYwODA5NjU5OTU3ODg1NzRdLCBbMTY2MzcyNzE0OS4zNDg0Njc0LCAxMjIyMiwgMi4xNTE3NDI5MzUxODA2NjRdLCBbMTY2MzcyNzE0OS40Mzk0NjksIDEyMjMxLCAyLjA1OTQ4NTQzNTQ4NTg0XSwgWzE2NjM3MjcxNDkuNjIxOTMxNiwgMTIyNDksIDIuMzU3MTgzNjk0ODM5NDc3NV0sIFsxNjYzNzI3MTUwLjAwNDAzMjksIDEyMjg1LCAxLjg2MzM2NDMzODg3NDgxN10sIFsxNjYzNzI3MTUwLjA4OTg3NjIsIDEyMjk0LCAyLjAzNjc1MjIyMzk2ODUwNl0sIFsxNjYzNzI3MTUwLjE4MTgzNjQsIDEyMzAzLCAzLjE1NzUwMzYwNDg4ODkxNl0sIFsxNjYzNzI3MTUwLjI3Mjg2NjIsIDEyMzEyLCAyLjI1NTQ4Mzg2NTczNzkxNV0sIFsxNjYzNzI3MTUwLjM2NDA1MywgMTIzMjEsIDEuODI4MzgwMTA3ODc5NjM4N10sIFsxNjYzNzI3MTUwLjc0MTc3MiwgMTIzNTcsIDEuODg5NDM4NzQ4MzU5NjgwMl0sIFsxNjYzNzI3MTUwLjgzNzc0ODgsIDEyMzY2LCAyLjEzMDA4NDI3NjE5OTM0MV0sIFsxNjYzNzI3MTUxLjA3MDQ2ODIsIDEyMzg0LCAyLjQzNTIzNjQ1NDAxMDAwOThdLCBbMTY2MzcyNzE1MS4xODIxMjk0LCAxMjM5MywgMi43NjczMjgwMjM5MTA1MjI1XSwgWzE2NjM3MjcxNTEuNjQ0NDI4NywgMTI0MjksIDIuNzU4MTEzODYxMDgzOTg0NF0sIFsxNjYzNzI3MTUxLjc3MjExNDgsIDEyNDM4LCAyLjExNjIzODM1NTYzNjU5NjddLCBbMTY2MzcyNzE1Mi4yMjI1ODAyLCAxMjQ3NCwgMi42MTI4MDY1NTg2MDkwMDldLCBbMTY2MzcyNzE1Mi4zMTQ3NDI4LCAxMjQ4MywgMi40NTg0MTE5MzE5OTE1NzddLCBbMTY2MzcyNzE1Mi43MDE3ODU2LCAxMjUxOSwgMS45NzI2MjE5MTc3MjQ2MDk0XSwgWzE2NjM3MjcxNTIuOTgyMDE4NywgMTI1NDYsIDIuNjQ0MDY2NTcyMTg5MzMxXSwgWzE2NjM3MjcxNTMuMjYzMjM2MywgMTI1NzMsIDIuMTU0OTc3MzIxNjI0NzU2XSwgWzE2NjM3MjcxNTMuMzk3MTg1NiwgMTI1ODIsIDEuNzQzNzUyMzYwMzQzOTMzXSwgWzE2NjM3MjcxNTMuNjE5MDE1LCAxMjYwMCwgMi40MzE2OTgwODM4Nzc1NjM1XSwgWzE2NjM3MjcxNTMuNzA5NjYyLCAxMjYwOSwgMy42NDE0NzQwMDg1NjAxODA3XSwgWzE2NjM3MjcxNTMuOTk1NjU0LCAxMjYzNiwgMi40NTk2NDY5NDAyMzEzMjMyXSwgWzE2NjM3MjcxNTQuMTY0MzQ5NiwgMTI2NTQsIDIuMjkwMDIyMzczMTk5NDYzXSwgWzE2NjM3MjcxNTUuMjAzMTYwMywgMTI3MjYsIDIuOTA4NjUzNDk3Njk1OTIzXSwgWzE2NjM3MjcxNTUuNTA0MjIsIDEyNzUzLCAyLjQwMDgxNTcyNTMyNjUzOF0sIFsxNjYzNzI3MTU1LjYxNDI1MDQsIDEyNzYyLCAyLjM4NTU3MzM4NzE0NTk5Nl0sIFsxNjYzNzI3MTU1Ljg2MDkyOSwgMTI3ODAsIDIuNDkwMzgyMTk0NTE5MDQzXSwgWzE2NjM3MjcxNTYuMDM5MTk4NCwgMTI3OTgsIDIuNTUzNzQ0NzkyOTM4MjMyNF0sIFsxNjYzNzI3MTU2LjEzMDk0LCAxMjgwNywgMS44OTU2OTA5MTc5Njg3NV0sIFsxNjYzNzI3MTU2Ljk1ODk0NCwgMTI4ODgsIDEuOTk4MjE0MjQ0ODQyNTI5M10sIFsxNjYzNzI3MTU3LjA1MjM2NDMsIDEyODk3LCAyLjA4OTIwMzgzNDUzMzY5MTRdLCBbMTY2MzcyNzE1Ny4xNTA4NzM3LCAxMjkwNiwgMi4zMDQzMTg2NjY0NTgxM10sIFsxNjYzNzI3MTU3LjI0MjgxMSwgMTI5MTUsIDIuMTUxNTcxNTEyMjIyMjldLCBbMTY2MzcyNzE1Ny40MjQ5MDM2LCAxMjkzMywgMy4yMTM1ODc5OTkzNDM4NzJdLCBbMTY2MzcyNzE1Ny42MTAzMzk5LCAxMjk1MSwgMS45OTE1MDc4ODc4NDAyNzFdLCBbMTY2MzcyNzE1Ny43MDU4NTk3LCAxMjk2MCwgMy4yMDI0MTE0MTMxOTI3NDldLCBbMTY2MzcyNzE1Ny43OTE1MzMyLCAxMjk2OSwgMi4zNTMxNTk5MDQ0Nzk5ODA1XSwgWzE2NjM3MjcxNTcuOTQxODE1OSwgMTI5NzgsIDIuMTQ3ODY5MTEwMTA3NDIyXSwgWzE2NjM3MjcxNTguMzE4NzQyLCAxMzAwNSwgMi4xNzg5Mjg4NTIwODEyOTldLCBbMTY2MzcyNzE1OC41ODM0Mzc3LCAxMzAyMywgMi40MTc2ODc0MTYwNzY2Nl0sIFsxNjYzNzI3MTU4LjY5NjU4NzMsIDEzMDMyLCAyLjcxNjIzOTIxMzk0MzQ4MTRdLCBbMTY2MzcyNzE1OC44MTg2NjcyLCAxMzA0MSwgMi4yMTczNjgzNjQzMzQxMDY0XSwgWzE2NjM3MjcxNTguOTM0Nzg1NiwgMTMwNTAsIDEuOTMzMzA5NzkzNDcyMjldLCBbMTY2MzcyNzE1OS4wNDI4NjYsIDEzMDU5LCAyLjA4NjI4MjI1MzI2NTM4MV0sIFsxNjYzNzI3MTU5LjE0OTc0NTcsIDEzMDY4LCAyLjA0MTUwNjA1MjAxNzIxMl0sIFsxNjYzNzI3MTU5LjI3NDQwMjksIDEzMDc3LCAyLjIzNTUxOTE3MDc2MTEwODRdLCBbMTY2MzcyNzE1OS41MjM0OTg4LCAxMzA5NSwgMi4xMTYzNzYzOTk5OTM4OTY1XSwgWzE2NjM3MjcxNTkuNjIyMDcxNywgMTMxMDQsIDIuNTE0NjE4NjM1MTc3NjEyM10sIFsxNjYzNzI3MTU5LjcyMjg3MjUsIDEzMTEzLCAyLjk2ODM0NTQwMzY3MTI2NDZdLCBbMTY2MzcyNzE1OS44MDQwODA3LCAxMzEyMiwgMi4xNzc0Njg3NzY3MDI4ODFdLCBbMTY2MzcyNzE1OS44OTg3NjEzLCAxMzEzMSwgMS44NzI5MzY0ODcxOTc4NzZdLCBbMTY2MzcyNzE1OS45ODkyOTI2LCAxMzE0MCwgMi41MTUwODk5ODg3MDg0OTZdLCBbMTY2MzcyNzE2MC4xMDM3NDksIDEzMTQ5LCAyLjUzNTQ4ODEyODY2MjEwOTRdLCBbMTY2MzcyNzE2MC4yMzI4NDYzLCAxMzE1OCwgMS45Nzg3NTQ4NzgwNDQxMjg0XSwgWzE2NjM3MjcxNjAuMzI1NDM0NywgMTMxNjcsIDIuMDgyMzI0NTA0ODUyMjk1XSwgWzE2NjM3MjcxNjAuNDA4MTIsIDEzMTc2LCAyLjE2OTk4NjI0ODAxNjM1NzRdLCBbMTY2MzcyNzE2MC41MDM0OTQ3LCAxMzE4NSwgMS44MjE5NjkzODk5MTU0NjYzXSwgWzE2NjM3MjcxNjEuMDc4NzI0MSwgMTMyMzksIDIuMDQxNDY4NjIwMzAwMjkzXSwgWzE2NjM3MjcxNjEuMzcyMDIyOSwgMTMyNjYsIDIuODAzNjM3NTA0NTc3NjM2N10sIFsxNjYzNzI3MTYxLjQ3MzQ0MTQsIDEzMjc1LCAxLjc5Njg1MDkxOTcyMzUxMDddLCBbMTY2MzcyNzE2MS42NzI3NjksIDEzMjkzLCAxLjkyOTQ1NTg3NjM1MDQwMjhdLCBbMTY2MzcyNzE2MS43NzA4MTg1LCAxMzMwMiwgMi4yMjYyNTA0MTAwNzk5NTZdLCBbMTY2MzcyNzE2Mi4xNjQwNTY4LCAxMzMzOCwgMi40ODE1NjkwNTE3NDI1NTM3XSwgWzE2NjM3MjcxNjIuMjYwOTk2NiwgMTMzNDcsIDEuNjUwODc4NjY3ODMxNDIxXSwgWzE2NjM3MjcxNjIuMzYxMTUxLCAxMzM1NiwgMi4wNjA1MzA5MDA5NTUyXSwgWzE2NjM3MjcxNjIuNDUxNjQyMywgMTMzNjUsIDQuMzEzNzk1MDg5NzIxNjhdLCBbMTY2MzcyNzE2Mi43Mjg5MjA1LCAxMzM5MiwgMi40MTU0NzYzMjIxNzQwNzIzXSwgWzE2NjM3MjcxNjIuODE2MDUyNCwgMTM0MDEsIDIuMTk5NDI0OTgyMDcwOTIzXSwgWzE2NjM3MjcxNjIuOTA3ODk5LCAxMzQxMCwgMi4yMTY2NTQzMDA2ODk2OTczXSwgWzE2NjM3MjcxNjIuOTk3NTE4MywgMTM0MTksIDEuOTY3OTQ3NDgzMDYyNzQ0MV0sIFsxNjYzNzI3MTYzLjA4OTU0MzgsIDEzNDI4LCAyLjA3NDIwODczNjQxOTY3NzddLCBbMTY2MzcyNzE2My4yODQyOTg0LCAxMzQ0NiwgMi4zMjc0MDM1NDUzNzk2Mzg3XSwgWzE2NjM3MjcxNjMuNTcxMjI5MiwgMTM0NTUsIDIuODY4NTg2MDYzMzg1MDA5OF0sIFsxNjYzNzI3MTYzLjkzNzA2ODcsIDEzNDkxLCAzLjA5MDkzNDk5MTgzNjU0OF0sIFsxNjYzNzI3MTY0LjAyODQ0NiwgMTM1MDAsIDEuOTk3NTY0NzkyNjMzMDU2Nl0sIFsxNjYzNzI3MTY0LjExNzMyOCwgMTM1MDksIDEuNzY5OTQwODUzMTE4ODk2NV0sIFsxNjYzNzI3MTY0LjMwNTc0NSwgMTM1MjcsIDIuNTYwMTYzNDk3OTI0ODA0N10sIFsxNjYzNzI3MTY0LjU2ODk5MzgsIDEzNTU0LCAyLjI4MTg5MzI1MzMyNjQxNl0sIFsxNjYzNzI3MTY0LjkyODUxOTcsIDEzNTkwLCAzLjEwMzMzMDM3Mzc2NDAzOF0sIFsxNjYzNzI3MTY1LjAzNTI0MDcsIDEzNTk5LCAxLjkzMzQ2MTMwODQ3OTMwOV0sIFsxNjYzNzI3MTY1LjE1Nzc0ODIsIDEzNjA4LCAyLjAxNDYwNDU2ODQ4MTQ0NTNdLCBbMTY2MzcyNzE2NS4zMzcxMDA3LCAxMzYyNiwgMi4xMjM3NTQwMjQ1MDU2MTUyXSwgWzE2NjM3MjcxNjUuNTIxNzEwNCwgMTM2NDQsIDIuODEwMzM1ODc0NTU3NDk1XSwgWzE2NjM3MjcxNjUuNjM1MTgzNiwgMTM2NTMsIDIuNDU2MzYxNzcwNjI5ODgzXSwgWzE2NjM3MjcxNjYuNTYwMjgxOCwgMTM3MTYsIDMuNDUyMDEwMTU0NzI0MTIxXSwgWzE2NjM3MjcxNjYuOTE4MzI3LCAxMzc0MywgMS45NDgwMjU4MjI2Mzk0NjUzXSwgWzE2NjM3MjcxNjcuMTUxMDE2MiwgMTM3NjEsIDEuODU5NzA3MzU1NDk5MjY3Nl0sIFsxNjYzNzI3MTY3LjM2MDkxNzYsIDEzNzc5LCAyLjY2MzQ4MDA0MzQxMTI1NV0sIFsxNjYzNzI3MTY3LjY2NjU0MzIsIDEzODA2LCAyLjY1MjI0OTgxMzA3OTgzNF0sIFsxNjYzNzI3MTY3Ljc1ODI4NTgsIDEzODE1LCAxLjg5NDE0NTEzMTExMTE0NV0sIFsxNjYzNzI3MTY4LjA0Mjg4NDgsIDEzODQyLCAyLjA1NTIwODQ0NDU5NTMzN10sIFsxNjYzNzI3MTY4LjE1NjMyNDYsIDEzODUxLCAyLjQ3NDgxNzI3NjAwMDk3NjZdLCBbMTY2MzcyNzE2OC4zNTA3NTgsIDEzODY5LCAyLjgzOTg5NzE1NTc2MTcxODhdLCBbMTY2MzcyNzE2OC40NDA4NDg0LCAxMzg3OCwgMi4xMTU5MzUzMjU2MjI1NTg2XSwgWzE2NjM3MjcxNjguODAxNDAxLCAxMzkxNCwgMi40NzYzNzUzNDE0MTU0MDUzXSwgWzE2NjM3MjcxNjkuMDAwNjIwNCwgMTM5MzIsIDIuMjUzMTEzMDMxMzg3MzI5XSwgWzE2NjM3MjcxNjkuMDk2MzU5LCAxMzk0MSwgMi4xODYzMzY5OTQxNzExNDI2XSwgWzE2NjM3MjcxNjkuNDA3MTYsIDEzOTY4LCAxLjk5Mzc3ODQ2NzE3ODM0NDddLCBbMTY2MzcyNzE2OS41MDU0MzYsIDEzOTc3LCAyLjI5NzIzMDAwNTI2NDI4MjJdLCBbMTY2MzcyNzE2OS41OTk1NDM4LCAxMzk4NiwgMy45MDI3ODQ4MjQzNzEzMzhdLCBbMTY2MzcyNzE2OS43ODI4MjUyLCAxNDAwNCwgMi4yNTIxNDYwMDU2MzA0OTNdLCBbMTY2MzcyNzE2OS45ODM1NzA2LCAxNDAyMiwgMi4xNjAyNzUyMjA4NzA5NzE3XSwgWzE2NjM3MjcxNzAuMjgxNjkzMiwgMTQwNDksIDIuMjIwODQ2NDE0NTY2MDRdLCBbMTY2MzcyNzE3MC40NjE5NjgyLCAxNDA2NywgMi40MTk1MDE1NDMwNDUwNDRdLCBbMTY2MzcyNzE3MC42NDY1MDIzLCAxNDA4NSwgMi4wNDgwNjAxNzg3NTY3MTRdLCBbMTY2MzcyNzE3MC43MzgzNjYxLCAxNDA5NCwgMi4zMzkzNDU2OTM1ODgyNTddLCBbMTY2MzcyNzE3MC44NDAyMTY2LCAxNDEwMywgMi4wMjQyMzg1ODY0MjU3ODEyXSwgWzE2NjM3MjcxNzEuMDQwMTUzLCAxNDEyMSwgMi4wNjAzOTIzNzk3NjA3NDJdLCBbMTY2MzcyNzE3MS4yMzI5OTA1LCAxNDEzOSwgMS45OTUxNjIwMTAxOTI4NzFdLCBbMTY2MzcyNzE3MS4zMTY3MDksIDE0MTQ4LCAxLjg1ODA1NzAyMjA5NDcyNjZdLCBbMTY2MzcyNzE3MS40MTMwMzU5LCAxNDE1NywgMi41NzQyNTQyNzQzNjgyODZdLCBbMTY2MzcyNzE3MS41MDUzMzcsIDE0MTY2LCAxLjk2MTg2NjQ5Nzk5MzQ2OTJdLCBbMTY2MzcyNzE3MS43OTI3OTgsIDE0MTkzLCAyLjIzMzI1MjI4NjkxMTAxMDddLCBbMTY2MzcyNzE3Mi4xNjYwODYsIDE0MjExLCAyLjI2NTc1NDIyMjg2OTg3M10sIFsxNjYzNzI3MTcyLjI2ODg0NjgsIDE0MjIwLCAyLjY4MTUxOTk4NTE5ODk3NDZdLCBbMTY2MzcyNzE3Mi4zNTE1ODM1LCAxNDIyOSwgMi40NDgzMzM1MDE4MTU3OTZdLCBbMTY2MzcyNzE3Mi40NDgzMTQ3LCAxNDIzOCwgMi4xNDM1NzQ5NTMwNzkyMjM2XSwgWzE2NjM3MjcxNzIuNTM1NzM0MiwgMTQyNDcsIDIuMTE5NTg0MDgzNTU3MTI5XSwgWzE2NjM3MjcxNzIuODA0ODY0NCwgMTQyNzQsIDIuMTkyMDMwOTA2Njc3MjQ2XSwgWzE2NjM3MjcxNzMuMjc4OTk3LCAxNDMxOSwgMy4yMDIzNDY1NjMzMzkyMzM0XSwgWzE2NjM3MjcxNzMuOTEzMDYwNCwgMTQzNjQsIDEuOTMxOTM3NDU2MTMwOTgxNF0sIFsxNjYzNzI3MTc0LjAxMzA4MTMsIDE0MzczLCAyLjc2MjcyMjk2OTA1NTE3Nl0sIFsxNjYzNzI3MTc0LjExMjM0NiwgMTQzODIsIDIuMzUyNTkyNDY4MjYxNzE4OF0sIFsxNjYzNzI3MTc0LjUxNDg2MTgsIDE0NDE4LCAyLjQxNDMwOTUwMTY0Nzk0OV0sIFsxNjYzNzI3MTc0LjYwNTM3MDMsIDE0NDI3LCAzLjAyMDQ1MzY5MTQ4MjU0NF0sIFsxNjYzNzI3MTc0LjY5NzcwNiwgMTQ0MzYsIDIuODIwOTk5MzgzOTI2MzkxNl0sIFsxNjYzNzI3MTc1LjM5NzQyNTcsIDE0NDk5LCAxLjk2MzQyNDIwNTc4MDAyOTNdLCBbMTY2MzcyNzE3NS40ODk2NDkzLCAxNDUwOCwgMi4wNjM5MDI4NTQ5MTk0MzM2XSwgWzE2NjM3MjcxNzUuNjc1MzczOCwgMTQ1MjYsIDIuMDM2NzE4MzY4NTMwMjczNF0sIFsxNjYzNzI3MTc1Ljc3NTk0MTQsIDE0NTM1LCAxLjk5ODM0NTg1MTg5ODE5MzRdLCBbMTY2MzcyNzE3NS44NjgwNTM3LCAxNDU0NCwgMy42MTQ4MjAyNDE5MjgxMDA2XSwgWzE2NjM3MjcxNzUuOTczMjU4LCAxNDU1MywgMi4xNzY5OTY3MDc5MTYyNTk4XSwgWzE2NjM3MjcxNzYuMzcwODE1LCAxNDU4OSwgMi43MTM4ODQ1OTIwNTYyNzQ0XSwgWzE2NjM3MjcxNzYuNTY5MiwgMTQ2MDcsIDMuODEzMjI0MDc3MjI0NzMxNF0sIFsxNjYzNzI3MTc2LjczODAxMTgsIDE0NjI1LCAxLjg1MDQ3NDQ3NjgxNDI3XSwgWzE2NjM3MjcxNzYuOTg2MTQ3OSwgMTQ2NDMsIDIuMTM3ODY2MDIwMjAyNjM2N10sIFsxNjYzNzI3MTc3LjExODA2ODUsIDE0NjUyLCAxLjk0NzY3MTQxMzQyMTYzMDldLCBbMTY2MzcyNzE3Ny40ODU1MDIyLCAxNDY3OSwgMi45NzE5OTg5Mjk5Nzc0MTddLCBbMTY2MzcyNzE3Ny41OTQ4Mjg0LCAxNDY4OCwgMi44ODM2MTU5NzA2MTE1NzIzXSwgWzE2NjM3MjcxNzguMDA0OTM0MywgMTQ3MjQsIDIuMjExMDk2NzYzNjEwODRdLCBbMTY2MzcyNzE3OC4xMDkxNzEyLCAxNDczMywgMi4wNjkwODAxMTQzNjQ2MjRdLCBbMTY2MzcyNzE3OC4yMjgzMTU2LCAxNDc0MiwgMi4yNjc2MTQ4NDE0NjExODE2XSwgWzE2NjM3MjcxNzguMzYzNDY4NiwgMTQ3NTEsIDEuODUzODU2MDg2NzMwOTU3XSwgWzE2NjM3MjcxNzguNTcyNDM4LCAxNDc2OSwgMS43ODczODgwODYzMTg5Njk3XSwgWzE2NjM3MjcxNzguNjYwNjMwMiwgMTQ3NzgsIDIuMjk0ODExMjQ4Nzc5Mjk3XSwgWzE2NjM3MjcxNzkuMTIyNTExMSwgMTQ4MjMsIDMuMDI2NTM1NTExMDE2ODQ1N10sIFsxNjYzNzI3MTc5LjIwMjQ3MSwgMTQ4MzIsIDIuMDc1OTUyMjkxNDg4NjQ3NV0sIFsxNjYzNzI3MTc5LjM3OTAyLCAxNDg1MCwgMi4zMzUwOTYzNTkyNTI5Mjk3XSwgWzE2NjM3MjcxNzkuNTc4ODA4OCwgMTQ4NjgsIDMuMzkwMTgyMDE4MjgwMDI5M10sIFsxNjYzNzI3MTc5LjY2NzU0NDgsIDE0ODc3LCAyLjQzMjE5NjYxNzEyNjQ2NV0sIFsxNjYzNzI3MTc5Ljc3MzUyNTUsIDE0ODg2LCAyLjEzNjEyOTg1NjEwOTYxOV0sIFsxNjYzNzI3MTc5Ljg2OTk0OTYsIDE0ODk1LCAyLjM0OTkyMjQxODU5NDM2MDRdLCBbMTY2MzcyNzE4MC4wNzU3NTU0LCAxNDkxMywgMS44NTE2MjU5MTkzNDIwNDFdLCBbMTY2MzcyNzE4MC4zMjQwOSwgMTQ5MzEsIDMuMDE5MTI0NTA3OTA0MDUyN10sIFsxNjYzNzI3MTgwLjQ2MzA4MSwgMTQ5NDAsIDIuMzAwMTY4NTE0MjUxNzA5XSwgWzE2NjM3MjcxODAuOTYwNzcwNCwgMTQ5NjcsIDEuOTU1NTg1OTU2NTczNDg2M10sIFsxNjYzNzI3MTgxLjE0MDAxNjYsIDE0OTg1LCAyLjAzNzQ4NTM2MTA5OTI0M10sIFsxNjYzNzI3MTgxLjMxNjQ1MiwgMTUwMDMsIDEuOTU3NTY3NjkxODAyOTc4NV0sIFsxNjYzNzI3MTgxLjU5MDAxNTQsIDE1MDMwLCAyLjU5MzkyMTg5OTc5NTUzMjJdLCBbMTY2MzcyNzE4MS42ODkzMjg0LCAxNTAzOSwgMy4yMzQyODQ0MDA5Mzk5NDE0XSwgWzE2NjM3MjcxODIuMDc1MDc2NiwgMTUwNzUsIDEuNzMxODA4NzgxNjIzODQwM10sIFsxNjYzNzI3MTgyLjQ1MTk2MTMsIDE1MTAyLCAyLjUwODExMjE5MjE1MzkzMDddLCBbMTY2MzcyNzE4Mi42NzMzNTI3LCAxNTEyMCwgMi41MTIxNTc0NDAxODU1NDddLCBbMTY2MzcyNzE4Mi43NjM4NTM4LCAxNTEyOSwgMi4wMDE0ODA4MTc3OTQ4XSwgWzE2NjM3MjcxODIuODUzNjk2LCAxNTEzOCwgMS45ODk5NjYzOTI1MTcwODk4XSwgWzE2NjM3MjcxODIuOTQzMjIwMSwgMTUxNDcsIDEuOTMxMzgyNjU2MDk3NDEyXSwgWzE2NjM3MjcxODMuMjEwMjg2MSwgMTUxNzQsIDIuMjk5MTU4MzM0NzMyMDU1N10sIFsxNjYzNzI3MTgzLjI5OTE5ODksIDE1MTgzLCAyLjE5MzMwNDA2MTg4OTY0ODRdLCBbMTY2MzcyNzE4My4zOTExMTc4LCAxNTE5MiwgMi4zMjEzNjM5MjU5MzM4MzhdLCBbMTY2MzcyNzE4My40OTY5NDA0LCAxNTIwMSwgMS44NzgxMDMyNTYyMjU1ODZdLCBbMTY2MzcyNzE4My41ODc1NzMsIDE1MjEwLCAyLjAxMjg5NzAxNDYxNzkyXSwgWzE2NjM3MjcxODMuNjcwMTcwNSwgMTUyMTksIDIuNjkwOTUzMjU0Njk5NzA3XSwgWzE2NjM3MjcxODMuOTMxNTUzOCwgMTUyNDYsIDIuOTAyMzUzNzYzNTgwMzIyM10sIFsxNjYzNzI3MTg0LjAzMzAxMTQsIDE1MjU1LCAyLjQwOTM1OTQ1NTEwODY0MjZdLCBbMTY2MzcyNzE4NC4xMjIwODk0LCAxNTI2NCwgMi4yNzUwNDYzNDg1NzE3NzczXSwgWzE2NjM3MjcxODQuMzAzODc0NSwgMTUyODIsIDEuODcwMDYxOTkzNTk4OTM4XSwgWzE2NjM3MjcxODQuMzk0MzU0MywgMTUyOTEsIDIuNDExNDI1MzUyMDk2NTU3Nl0sIFsxNjYzNzI3MTg0LjQ4OTcwOTEsIDE1MzAwLCAyLjQ0MTk1MzE4MjIyMDQ1OV0sIFsxNjYzNzI3MTg0LjU4Njc3NDYsIDE1MzA5LCAyLjE5NTIzNDc3NTU0MzIxM10sIFsxNjYzNzI3MTg0Ljc1ODMxMzcsIDE1MzI3LCAyLjMwNTI1NjYwNTE0ODMxNTRdLCBbMTY2MzcyNzE4NC45MzcyOTM1LCAxNTM0NSwgMi4xMTE1NzkxNzk3NjM3OTRdLCBbMTY2MzcyNzE4NS4yODQxODksIDE1MzcyLCAzLjcwNTQyMTY4NjE3MjQ4NTRdLCBbMTY2MzcyNzE4NS41MTA4ODEsIDE1MzkwLCAyLjE3MTc3Mjk1Njg0ODE0NDVdLCBbMTY2MzcyNzE4NS42MDM0NzcyLCAxNTM5OSwgMS45MTUxMjIwMzIxNjU1MjczXSwgWzE2NjM3MjcxODUuNjg1OTYwMywgMTU0MDgsIDEuOTc5ODQ0Njg5MzY5MjAxN10sIFsxNjYzNzI3MTg1Ljc5MDIyMSwgMTU0MTcsIDEuOTE2MzQ3Mzg0NDUyODE5OF0sIFsxNjYzNzI3MTg2LjE3NDUzOTgsIDE1NDUzLCAyLjA3ODk0MDYyOTk1OTEwNjRdLCBbMTY2MzcyNzE4Ni4zNTQ5ODIsIDE1NDcxLCAyLjU4MTgzMTY5MzY0OTI5Ml0sIFsxNjYzNzI3MTg2LjQ1MzAzOSwgMTU0ODAsIDEuODM2NTEzMjgwODY4NTMwM10sIFsxNjYzNzI3MTg2Ljg1MzQzNywgMTU1MDcsIDIuMzQ3Mzg5Njk4MDI4NTY0NV0sIFsxNjYzNzI3MTg2Ljk3ODI5OCwgMTU1MTYsIDEuNzQ1ODgxMDgwNjI3NDQxNF0sIFsxNjYzNzI3MTg3LjA5MTE5MzcsIDE1NTI1LCAyLjA5NTE0NDAzMzQzMjAwN10sIFsxNjYzNzI3MTg3LjE5MjU3MTIsIDE1NTM0LCAyLjI1NjY2Nzg1MjQwMTczMzRdLCBbMTY2MzcyNzE4Ny43MTUyODk0LCAxNTU3OSwgMi42MTMzOTkwMjg3NzgwNzZdLCBbMTY2MzcyNzE4OC41NjQxODIzLCAxNTY1MSwgMS44MTAyMjk3NzgyODk3OTVdLCBbMTY2MzcyNzE4OC42NTQ3MTEsIDE1NjYwLCAzLjI5MDc0MTIwNTIxNTQ1NF0sIFsxNjYzNzI3MTg4Ljc1MzA4MTYsIDE1NjY5LCAyLjA5NzUxOTg3NDU3Mjc1NF0sIFsxNjYzNzI3MTg5LjAxNjcwNDgsIDE1Njk2LCA0LjI1NDM4OTI4NjA0MTI2XSwgWzE2NjM3MjcxODkuNDA2OTQ1NywgMTU3MTQsIDIuMzI1MDIyOTM1ODY3MzA5Nl0sIFsxNjYzNzI3MTg5LjUwMjQ0OSwgMTU3MjMsIDIuMTIwMDc2NjU2MzQxNTUyN10sIFsxNjYzNzI3MTg5LjU5ODIwNzIsIDE1NzMyLCAzLjYzNDYxMTYwNjU5NzkwMDRdLCBbMTY2MzcyNzE4OS42OTExMDkyLCAxNTc0MSwgMi4xNTYwNTUyMTIwMjA4NzRdLCBbMTY2MzcyNzE4OS44MDIwMjIyLCAxNTc1MCwgMi40NDM3Njg3Mzk3MDAzMTc0XSwgWzE2NjM3MjcxODkuODkzOTksIDE1NzU5LCAyLjI2MzA3NzI1OTA2MzcyMDddLCBbMTY2MzcyNzE4OS45ODU3MTg1LCAxNTc2OCwgMS45OTk5MDU0NjcwMzMzODYyXSwgWzE2NjM3MjcxOTAuMTc2OTg4NCwgMTU3ODYsIDIuMjQ5MjA2MzA0NTUwMTcxXSwgWzE2NjM3MjcxOTAuMjg3MTExNSwgMTU3OTUsIDEuOTk3MjgxNDMyMTUxNzk0NF0sIFsxNjYzNzI3MTkwLjU4NTE1NzYsIDE1ODIyLCAxLjkwNTQ4MjA1Mzc1NjcxMzldLCBbMTY2MzcyNzE5MS4wNTY2MzM3LCAxNTg2NywgMi4zMTM4NTYzNjMyOTY1MDldLCBbMTY2MzcyNzE5MS4xNDMwNDk3LCAxNTg3NiwgMi4wMTkyMTg5MjE2NjEzNzddLCBbMTY2MzcyNzE5MS40MDE2Nzg2LCAxNTg5NCwgMi4wMDE0MDQyODU0MzA5MDhdLCBbMTY2MzcyNzE5MS40OTQ4MjUsIDE1OTAzLCAyLjI1Mzk3NjU4MzQ4MDgzNV0sIFsxNjYzNzI3MTkxLjY5Nzg3NjcsIDE1OTIxLCAxLjg2MjY3NTc4NjAxODM3MTZdLCBbMTY2MzcyNzE5Mi4zODM4OTAyLCAxNTk4NCwgMi4zMjg5MDM0MzY2NjA3NjY2XSwgWzE2NjM3MjcxOTIuNDg4MTUxMywgMTU5OTMsIDIuMTcyODc2NTk2NDUwODA1N10sIFsxNjYzNzI3MTkyLjU4NjExNjYsIDE2MDAyLCAyLjQ2OTEyMjQwOTgyMDU1NjZdLCBbMTY2MzcyNzE5Mi44NzY2MDEsIDE2MDI5LCAxLjk5MTcwNjcyODkzNTI0MTddLCBbMTY2MzcyNzE5Mi45NjUwMjcsIDE2MDM4LCAyLjAxMDcyNzE2NzEyOTUxNjZdLCBbMTY2MzcyNzE5My4yODg4MTUsIDE2MDY1LCAzLjIxOTcxODQ1NjI2ODMxMDVdLCBbMTY2MzcyNzE5My40MTMwNjA3LCAxNjA3NCwgMS44ODc2MDEzNzU1Nzk4MzRdLCBbMTY2MzcyNzE5My41NTgxMzA3LCAxNjA4MywgMS45ODk3NjAxNjA0NDYxNjddLCBbMTY2MzcyNzE5My42ODMxMDUsIDE2MDkyLCAyLjc0NjA3NDY3NjUxMzY3Ml0sIFsxNjYzNzI3MTkzLjg2ODg4OSwgMTYxMTAsIDEuNzYzOTMyNTg1NzE2MjQ3Nl0sIFsxNjYzNzI3MTkzLjk2MTkzNDYsIDE2MTE5LCAyLjYxOTU5OTM0MjM0NjE5MTRdLCBbMTY2MzcyNzE5NC4xNDY2MTg0LCAxNjEzNywgMS44ODk0OTAzNjU5ODIwNTU3XSwgWzE2NjM3MjcxOTQuMzM2MDg2NSwgMTYxNTUsIDIuMDQzNTI3ODQxNTY3OTkzXSwgWzE2NjM3MjcxOTQuNTM3MzMxMywgMTYxNzMsIDIuNDQ2ODk5ODkwODk5NjU4XSwgWzE2NjM3MjcxOTQuNjcwMzI2MiwgMTYxODIsIDIuNTAzNjIxNTc4MjE2NTUyN10sIFsxNjYzNzI3MTk1LjAwMDk2NDksIDE2MjA5LCAyLjMwNTczNjU0MTc0ODA0N10sIFsxNjYzNzI3MTk1LjA5NTEzMjQsIDE2MjE4LCAyLjI1MzMyNTkzOTE3ODQ2N10sIFsxNjYzNzI3MTk1LjE5MTc0MiwgMTYyMjcsIDEuODY4ODkwMDQ3MDczMzY0M10sIFsxNjYzNzI3MTk1LjI5MDI4MSwgMTYyMzYsIDEuNjY5MDcyMTUxMTg0MDgyXSwgWzE2NjM3MjcxOTUuMzgwMTMzOSwgMTYyNDUsIDIuMjI0NzkwMzM0NzAxNTM4XSwgWzE2NjM3MjcxOTUuNzY5NTE2MiwgMTYyODEsIDIuMTYzMTI1NzUzNDAyNzFdLCBbMTY2MzcyNzE5NS45NTk4NTc3LCAxNjI5OSwgMS45MDE2NzI3MjA5MDkxMTg3XSwgWzE2NjM3MjcxOTYuMzQ3ODI5OCwgMTYzMzUsIDMuNTI2MzU0NTUxMzE1MzA3Nl0sIFsxNjYzNzI3MTk2LjU1MDE5NDcsIDE2MzUzLCAxLjk1MDA4NjcxMjgzNzIxOTJdLCBbMTY2MzcyNzE5Ni43NDE1ODk1LCAxNjM3MSwgMS45NjI2MzAzOTExMjA5MTA2XSwgWzE2NjM3MjcxOTYuODM0Mjc1NywgMTYzODAsIDIuMjU5MDI5Mzg4NDI3NzM0NF0sIFsxNjYzNzI3MTk3LjIxODY4NjYsIDE2NDE2LCAxLjkwMDM1NzQ4NDgxNzUwNDldLCBbMTY2MzcyNzE5Ny43MDE5MTcsIDE2NDQzLCAyLjExMzU5MDI0MDQ3ODUxNTZdLCBbMTY2MzcyNzE5Ny44NDA2ODY4LCAxNjQ1MiwgNC4xOTAwNjY4MTQ0MjI2MDddLCBbMTY2MzcyNzE5OC4wMjQ2NDE1LCAxNjQ3MCwgMS45NDI5NzExMTAzNDM5MzNdLCBbMTY2MzcyNzE5OC4xMjA4MDI2LCAxNjQ3OSwgMi44MDUzNDI2NzQyNTUzNzFdLCBbMTY2MzcyNzE5OC4zMTUyOTQzLCAxNjQ5NywgMi42MzA4NjI3MTI4NjAxMDc0XSwgWzE2NjM3MjcxOTguNDA4MTAzLCAxNjUwNiwgMS45NjkyOTQwNzExOTc1MDk4XSwgWzE2NjM3MjcxOTguNTA1MjU0NSwgMTY1MTUsIDIuNDA2MjM2NDEwMTQwOTkxXSwgWzE2NjM3MjcxOTguNjg3OTU4NSwgMTY1MzMsIDEuOTI1NjgwOTk0OTg3NDg3OF0sIFsxNjYzNzI3MTk4Ljc5Nzg1NCwgMTY1NDIsIDIuMjczMDY1MzI4NTk4MDIyNV0sIFsxNjYzNzI3MTk4Ljg4NzM0NDEsIDE2NTUxLCAzLjE3NDI2MDEzOTQ2NTMzMl0sIFsxNjYzNzI3MTk5LjQ3NTEwODEsIDE2NjA1LCAyLjI1ODUzNzc2OTMxNzYyN10sIFsxNjYzNzI3MTk5LjU2ODIzNjYsIDE2NjE0LCAyLjY3MTQyMzQzNTIxMTE4MTZdLCBbMTY2MzcyNzE5OS42NTQxMzQ4LCAxNjYyMywgMi43NDkzNjcyMzcwOTEwNjQ1XSwgWzE2NjM3MjcxOTkuNzQzMDkzNywgMTY2MzIsIDEuODMwNzEwNzY4Njk5NjQ2XSwgWzE2NjM3MjcxOTkuODQyMzYyNiwgMTY2NDEsIDEuOTI5NzM1MTgzNzE1ODIwM10sIFsxNjYzNzI3MTk5LjkzOTQ1MzgsIDE2NjUwLCAxLjk0MTQ2NTEzOTM4OTAzOF0sIFsxNjYzNzI3MjAwLjA0Nzk2MjIsIDE2NjU5LCAyLjA4ODA5ODI4NzU4MjM5NzVdLCBbMTY2MzcyNzIwMC4xMzAwODkzLCAxNjY2OCwgMi4zMjA3OTQ4MjA3ODU1MjI1XSwgWzE2NjM3MjcyMDAuMzM3NDE4OCwgMTY2ODYsIDIuMDE1MTAwNDc5MTI1OTc2Nl0sIFsxNjYzNzI3MjAwLjYxMjgyODMsIDE2NzEzLCAxLjg3NDAyNTIyNTYzOTM0MzNdLCBbMTY2MzcyNzIwMS4xMTIwMzMxLCAxNjc0OSwgMS45MTk0NzYzODk4ODQ5NDg3XSwgWzE2NjM3MjcyMDEuNTA4MTc1LCAxNjc4NSwgMi4wODQ5MzQ0NzMwMzc3MTk3XSwgWzE2NjM3MjcyMDEuNjA1MTQ0MywgMTY3OTQsIDMuNzQ2NTYyNzE5MzQ1MDkyOF0sIFsxNjYzNzI3MjAxLjcwODk3MSwgMTY4MDMsIDIuMjY4MDkxOTE3MDM3OTY0XSwgWzE2NjM3MjcyMDEuODA2NTMwMiwgMTY4MTIsIDIuMTQzMTM0MTE3MTI2NDY1XSwgWzE2NjM3MjcyMDIuMjI2NTQ4LCAxNjg0OCwgMi45NjExMjM0NjY0OTE2OTldLCBbMTY2MzcyNzIwMi4zMTU2OTA4LCAxNjg1NywgMS45ODIxNjUyMTczOTk1OTcyXSwgWzE2NjM3MjcyMDIuNDAxNDQ5MiwgMTY4NjYsIDIuNTc2OTkyNTExNzQ5MjY3Nl0sIFsxNjYzNzI3MjAyLjU1MTMyMTMsIDE2ODc1LCAyLjQzMjQyNTk3NTc5OTU2MDVdLCBbMTY2MzcyNzIwMi42NDg2MDM0LCAxNjg4NCwgMi4yMzU1MDM2NzM1NTM0NjddLCBbMTY2MzcyNzIwMi43NDQ5NjQxLCAxNjg5MywgMi4yMzcwNTg2Mzk1MjYzNjddLCBbMTY2MzcyNzIwMi44NjQyODI4LCAxNjkwMiwgMi40MjIwMTI1Njc1MjAxNDE2XSwgWzE2NjM3MjcyMDMuMTE4NjkwNywgMTY5MjAsIDIuMDI5MDM0ODUyOTgxNTY3NF0sIFsxNjYzNzI3MjAzLjIzMDk4MywgMTY5MjksIDIuMzUwMjEyMzM1NTg2NTQ4XSwgWzE2NjM3MjcyMDMuNTE0NjI0NCwgMTY5NDcsIDIuMzg4OTI1NTUyMzY4MTY0XV0=","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_03-40-06_b5cca277837b&tag=Loss%2Ftrain":{"data":"W1sxNjYzODE4MDA3LjI2NzMxNjgsIDM2LCAyMy40ODY5NzY2MjM1MzUxNTZdLCBbMTY2MzgxODAwNy4zNzM2ODMyLCA0NSwgMTguNDE0NTMzNjE1MTEyMzA1XSwgWzE2NjM4MTgwMDcuOTgxMjY3LCA5OSwgNS43MjcyNTkxNTkwODgxMzVdLCBbMTY2MzgxODAwOC4zMjQzODA0LCAxMzUsIDUuNDc1MDkyNDExMDQxMjZdLCBbMTY2MzgxODAwOC40MjU2NjEsIDE0NCwgNS40MTE3ODM2OTUyMjA5NDddLCBbMTY2MzgxODAwOC43MTkxMiwgMTcxLCA1LjE3MDgzMzExMDgwOTMyNl0sIFsxNjYzODE4MDA4LjgyMDc1NywgMTgwLCA1LjE4NTgzNDg4NDY0MzU1NV0sIFsxNjYzODE4MDA4LjkzMjk1NzYsIDE4OSwgNS4xNzQyNjkxOTkzNzEzMzhdLCBbMTY2MzgxODAwOS4xNTE4Mjk1LCAyMDcsIDUuMDA4NjQwMjg5MzA2NjQxXSwgWzE2NjM4MTgwMDkuMjQ3NDI3LCAyMTYsIDQuOTc3NTIyODUwMDM2NjIxXSwgWzE2NjM4MTgwMDkuNTIxNTkwNywgMjQzLCA0Ljg3ODI4NTg4NDg1NzE3OF0sIFsxNjYzODE4MDA5LjYxMDc5MzgsIDI1MiwgNC44NTg1ODM0NTAzMTczODNdLCBbMTY2MzgxODAxMC42NDU2Mjk2LCAzNTEsIDQuMjM2NjM2MTYxODA0MTk5XSwgWzE2NjM4MTgwMTAuODI5Njc4LCAzNjksIDQuMjMyNTc3MzIzOTEzNTc0XSwgWzE2NjM4MTgwMTEuNjM1MTYxNCwgNDMyLCAzLjk0OTgzODM5OTg4NzA4NV0sIFsxNjYzODE4MDExLjcyMzY1MzMsIDQ0MSwgMy44OTQwNzk2ODUyMTExODE2XSwgWzE2NjM4MTgwMTEuODIzMTgzLCA0NTAsIDMuODE5NzcyMjQzNDk5NzU2XSwgWzE2NjM4MTgwMTIuMDAxNzkxNywgNDY4LCAzLjcxNjM2MTI4NDI1NTk4MTRdLCBbMTY2MzgxODAxMi4yNTI1NTQsIDQ5NSwgMy42NTA0NDE2NDY1NzU5Mjc3XSwgWzE2NjM4MTgwMTIuNTM2OTk2OCwgNTIyLCAzLjU3OTUwNDcyODMxNzI2MDddLCBbMTY2MzgxODAxMi44NDA2MjMxLCA1NDksIDMuNDkxMjI2MTk2Mjg5MDYyNV0sIFsxNjYzODE4MDEyLjk2NzcwMywgNTU4LCAzLjQ0NzM1ODEzMTQwODY5MTRdLCBbMTY2MzgxODAxMy4wNTU0NTA0LCA1NjcsIDMuMzQ3MDAzMjIxNTExODQxXSwgWzE2NjM4MTgwMTMuMTQ0MTY3NCwgNTc2LCAzLjM3MjQwNTA1MjE4NTA1ODZdLCBbMTY2MzgxODAxMy4zMzQ4Mjc0LCA1OTQsIDMuMjM5NDM4Mjk1MzY0MzhdLCBbMTY2MzgxODAxMy40MzA1MTg5LCA2MDMsIDMuMjk5MTc0MzA4Nzc2ODU1NV0sIFsxNjYzODE4MDEzLjUyMzcwOCwgNjEyLCAzLjIyMjMxNTA3MzAxMzMwNTddLCBbMTY2MzgxODAxMy42MzMxMTc3LCA2MjEsIDMuMTkwMjE2MzAyODcxNzA0XSwgWzE2NjM4MTgwMTMuODM5ODI1LCA2MzksIDMuMTI3MDE5NDA1MzY0OTkwMl0sIFsxNjYzODE4MDEzLjk0NDcxNzIsIDY0OCwgMy4xNDEwNTYyOTkyMDk1OTQ3XSwgWzE2NjM4MTgwMTQuNTMzNjgzLCA3MDIsIDIuOTM0NDUzOTY0MjMzMzk4NF0sIFsxNjYzODE4MDE0LjcyMzQ1NTcsIDcyMCwgMi45MDIzMzk5MzUzMDI3MzQ0XSwgWzE2NjM4MTgwMTQuOTk1ODQ3LCA3NDcsIDIuODE4OTQ1ODg0NzA0NTldLCBbMTY2MzgxODAxNS4yNjYzMjYyLCA3NzQsIDIuNzY4ODIxMjM5NDcxNDM1NV0sIFsxNjYzODE4MDE1LjYyNTAwOSwgODEwLCAyLjc3NDY3Nzk5MTg2NzA2NTRdLCBbMTY2MzgxODAxNi40ODE1NzcyLCA5MDAsIDIuNTUwNjgwNjM3MzU5NjE5XSwgWzE2NjM4MTgwMTYuNTY3NDYzOSwgOTA5LCAyLjUxODMwMjkxNzQ4MDQ2ODhdLCBbMTY2MzgxODAxNi44NDQ2MTg4LCA5MzYsIDIuNDU2MTAwMjI1NDQ4NjA4NF0sIFsxNjYzODE4MDE3LjEzOTY3NjYsIDk2MywgMi40NTA2NzU5NjQzNTU0Njg4XSwgWzE2NjM4MTgwMTcuMjE5OTEzNSwgOTcyLCAyLjQ3NzgzMDE3MTU4NTA4M10sIFsxNjYzODE4MDE3LjM4NDE0MDMsIDk5MCwgMi40MDMzMDI2Njk1MjUxNDY1XSwgWzE2NjM4MTgwMTcuOTc4NTIxOCwgMTA1MywgMi4yODQ5MjcxMjk3NDU0ODM0XSwgWzE2NjM4MTgwMTguNDI4NTQyNiwgMTA5OCwgMi4yNDY5OTMwNjQ4ODAzNzFdLCBbMTY2MzgxODAxOC43Njg4Mzc3LCAxMTM0LCAyLjM5MzYyNTI1OTM5OTQxNF0sIFsxNjYzODE4MDE4Ljg1NDE1MzksIDExNDMsIDIuNDI2NTUxMzQyMDEwNDk4XSwgWzE2NjM4MTgwMTkuMDI5ODgwNSwgMTE2MSwgMi4xNzEzMjkyNTk4NzI0MzY1XSwgWzE2NjM4MTgwMTkuMzIwMzU1NCwgMTE3OSwgMi4xNTc5MTIwMTU5MTQ5MTddLCBbMTY2MzgxODAxOS42MTM0NjQ0LCAxMTg4LCAyLjE0NTg1MzUxOTQzOTY5NzNdLCBbMTY2MzgxODAyMC4wNTU4NjYsIDEyMzMsIDIuMTc0NjIzMjUwOTYxMzAzN10sIFsxNjYzODE4MDIwLjEzNzQwMjMsIDEyNDIsIDIuMTYzMTg1NTk2NDY2MDY0NV0sIFsxNjYzODE4MDIwLjg0NDQ2NzQsIDEzMDUsIDIuMTA2NDUzMTgwMzEzMTEwNF0sIFsxNjYzODE4MDIxLjA0ODc4NjksIDEzMjMsIDIuMTE5OTU3OTIzODg5MTZdLCBbMTY2MzgxODAyMS4xNTQ1OTI4LCAxMzMyLCAyLjEwNDE4MDU3NDQxNzExNDNdLCBbMTY2MzgxODAyMS40OTM3ODUxLCAxMzU5LCAyLjA5ODUxODM3MTU4MjAzMTJdLCBbMTY2MzgxODAyMi4xMDEwNzIzLCAxNDIyLCAyLjE1MjIwMzA4MzAzODMzXSwgWzE2NjM4MTgwMjIuMzY1NjkzMywgMTQ0OSwgMi4wMzA0ODg0OTEwNTgzNDk2XSwgWzE2NjM4MTgwMjIuNTU3NDg5MiwgMTQ2NywgMi4wMjExMjc0NjIzODcwODVdLCBbMTY2MzgxODAyMi43Mzc4MDQyLCAxNDg1LCAxLjk5NzAwOTM5NjU1MzAzOTZdLCBbMTY2MzgxODAyMy4yNzU2NDgsIDE1MzksIDEuOTgwNzQ0NDgxMDg2NzMxXSwgWzE2NjM4MTgwMjMuMzUxMDI0NiwgMTU0OCwgMS45NzY2Mzc0ODI2NDMxMjc0XSwgWzE2NjM4MTgwMjMuNDQzMjMzNywgMTU1NywgMS45ODk4NDY4MjU1OTk2NzA0XSwgWzE2NjM4MTgwMjMuODY2NzcxNSwgMTU4NCwgMi4wMjE5NDI2MTU1MDkwMzNdLCBbMTY2MzgxODAyNC4wODc0NjEyLCAxNjAyLCAyLjAwNzA2NDgxOTMzNTkzNzVdLCBbMTY2MzgxODAyNC40Mzc5NTE2LCAxNjM4LCAxLjkyOTc2NDg2NjgyODkxODVdLCBbMTY2MzgxODAyNC43MTc4MDI4LCAxNjY1LCAxLjk1MjQyNDY0NTQyMzg4OTJdLCBbMTY2MzgxODAyNC44MDAzMDk0LCAxNjc0LCAxLjkzMDEyMjYxMzkwNjg2MDRdLCBbMTY2MzgxODAyNC44ODUxODkzLCAxNjgzLCAxLjk2MjAxMzYwMjI1Njc3NV0sIFsxNjYzODE4MDI1LjIzNjgzMDIsIDE3MTksIDEuOTk5MTM4NDc0NDY0NDE2NV0sIFsxNjYzODE4MDI1LjMyODk1MSwgMTcyOCwgMi4wODA4NjUxNDQ3Mjk2MTQzXSwgWzE2NjM4MTgwMjUuNDE1MjEyNiwgMTczNywgMS45OTcwNzQxMjcxOTcyNjU2XSwgWzE2NjM4MTgwMjYuMDUyNzU4NSwgMTgwMCwgMS44NzIyMjUwNDYxNTc4MzddLCBbMTY2MzgxODAyNi4zMDQ0MDc4LCAxODI3LCAxLjkyNzA4MTcwNDEzOTcwOTVdLCBbMTY2MzgxODAyNi4zOTIzMDgsIDE4MzYsIDEuODk2NTQyNjY4MzQyNTkwM10sIFsxNjYzODE4MDI2LjQ4MDMzOTMsIDE4NDUsIDEuODc4MDQ3MTA4NjUwMjA3NV0sIFsxNjYzODE4MDI2LjU4MTU5MzMsIDE4NTQsIDEuODk4NjEwNDcyNjc5MTM4Ml0sIFsxNjYzODE4MDI2Ljc1NjQxNDIsIDE4NzIsIDEuODc0OTY4NDA5NTM4MjY5XSwgWzE2NjM4MTgwMjYuOTI5NjIxMiwgMTg5MCwgMS44OTkxMTUwODU2MDE4MDY2XSwgWzE2NjM4MTgwMjcuMTAwNTk2LCAxOTA4LCAxLjkyNTczODgxMTQ5MjkyXSwgWzE2NjM4MTgwMjcuMjc5ODM4OCwgMTkyNiwgMS44NzQ2MTIzMzEzOTAzODA5XSwgWzE2NjM4MTgwMjcuNDQ1MjMxLCAxOTQ0LCAxLjg2MTg3NDkzODAxMTE2OTRdLCBbMTY2MzgxODAyNy41MzU4NDQ2LCAxOTUzLCAxLjg4NDE3MDE3NDU5ODY5MzhdLCBbMTY2MzgxODAyNy45OTQ2NTkyLCAxOTgwLCAxLjg3NDA0MDEyNjgwMDUzN10sIFsxNjYzODE4MDI4LjEzMjYxLCAxOTg5LCAxLjg1NTg3Nzg3NjI4MTczODNdLCBbMTY2MzgxODAyOC4yNDI1MDM0LCAxOTk4LCAxLjgxMTQ4MjkwNjM0MTU1MjddLCBbMTY2MzgxODAyOC41NTkyMDU1LCAyMDI1LCAxLjkzNTQ1OTEzNjk2Mjg5MDZdLCBbMTY2MzgxODAyOS4wMzUyMDc1LCAyMDcwLCAxLjg1MTI1Mzc0Nzk0MDA2MzVdLCBbMTY2MzgxODAyOS45MzgyMjE1LCAyMTYwLCAxLjg1Mjg1ODY2MjYwNTI4NTZdLCBbMTY2MzgxODAzMC4xMDI5MTM0LCAyMTc4LCAxLjgxNzc1MTA0OTk5NTQyMjRdLCBbMTY2MzgxODAzMC4zNTE5MzcsIDIyMDUsIDEuNzgyNjUyNzM1NzEwMTQ0XSwgWzE2NjM4MTgwMzAuNDM0NDc2NiwgMjIxNCwgMS43NzUxNzQyNjAxMzk0NjUzXSwgWzE2NjM4MTgwMzAuNTE4ODY0MiwgMjIyMywgMS43ODgzMjQ0NzUyODgzOTExXSwgWzE2NjM4MTgwMzEuMzI3MzM0LCAyMjk1LCAxLjc5MzQ5NDEwNTMzOTA1MDNdLCBbMTY2MzgxODAzMS43NDEyMDEyLCAyMzMxLCAxLjc0Nzg5MDU5MTYyMTM5OV0sIFsxNjYzODE4MDMxLjgzNDE3NCwgMjM0MCwgMS43NjIwMTY0MTU1OTYwMDgzXSwgWzE2NjM4MTgwMzEuOTIzNzI2NiwgMjM0OSwgMS43NDE4OTgyOTgyNjM1NDk4XSwgWzE2NjM4MTgwMzIuMTM5NDE0LCAyMzY3LCAxLjc4ODE1NDAwNjAwNDMzMzVdLCBbMTY2MzgxODAzMi45NTMwMjQsIDI0MzksIDEuNzU0Mjg4NjczNDAwODc5XSwgWzE2NjM4MTgwMzMuMDQ1MzUzLCAyNDQ4LCAxLjcyNTk4NTg4NDY2NjQ0MjldLCBbMTY2MzgxODAzMy4zMTQ0MzA3LCAyNDc1LCAxLjY5MzIxMTY3NDY5MDI0NjZdLCBbMTY2MzgxODAzMy41MDExNzYsIDI0OTMsIDEuNzE4MzUwMjkxMjUyMTM2Ml0sIFsxNjYzODE4MDMzLjY5MDI0NDIsIDI1MTEsIDEuNzc5OTg0MjM1NzYzNTQ5OF0sIFsxNjYzODE4MDMzLjg3MDM2NywgMjUyOSwgMS43MDA0MTU3MzA0NzYzNzk0XSwgWzE2NjM4MTgwMzQuMDYyNDY4NSwgMjU0NywgMS43MTcxNTUyMTgxMjQzODk2XSwgWzE2NjM4MTgwMzQuMTY3NTAwMywgMjU1NiwgMS43NDAwOTUxMzg1NDk4MDQ3XSwgWzE2NjM4MTgwMzQuNDc1NTU2MSwgMjU3NCwgMS43NDAyNTQxNjM3NDIwNjU0XSwgWzE2NjM4MTgwMzUuMDE0NzMzLCAyNTkyLCAxLjcyNzkzODg5MDQ1NzE1MzNdLCBbMTY2MzgxODAzNS4xMDYwMDc2LCAyNjAxLCAxLjk0MTU0MjAyOTM4MDc5ODNdLCBbMTY2MzgxODAzNS4yOTI4MjQ3LCAyNjE5LCAxLjc1MTE3ODM4MzgyNzIwOTVdLCBbMTY2MzgxODAzNi4xODk0Njg2LCAyNjY0LCAxLjc4NzY4OTA4OTc3NTA4NTRdLCBbMTY2MzgxODAzNi4zMTExNDQsIDI2NzMsIDEuNzAzMzY5MDIxNDE1NzEwNF0sIFsxNjYzODE4MDM2LjQxODczNDMsIDI2ODIsIDEuNjkzNTQ3MTI5NjMxMDQyNV0sIFsxNjYzODE4MDM2LjUwNTAzNCwgMjY5MSwgMS42ODU1NDQxMzMxODYzNDAzXSwgWzE2NjM4MTgwMzcuMzU2NzgwOCwgMjc2MywgMS43MDQ5MTU2NDI3MzgzNDIzXSwgWzE2NjM4MTgwMzcuNTI1OCwgMjc4MSwgMS42NjM1MjEyODk4MjU0Mzk1XSwgWzE2NjM4MTgwMzcuODc0NjM5MywgMjgxNywgMS42NDEyMTYxNTg4NjY4ODIzXSwgWzE2NjM4MTgwMzguMjIzMjY5NSwgMjg1MywgMS42Njg5MzEyNDU4MDM4MzNdLCBbMTY2MzgxODAzOC40MDc0MTUyLCAyODcxLCAxLjY1MjQ1NzQ3NTY2MjIzMTRdLCBbMTY2MzgxODAzOC40OTgxMzgsIDI4ODAsIDEuNjQ5NzYxMzE5MTYwNDYxNF0sIFsxNjYzODE4MDM4Ljc3MTExNTUsIDI5MDcsIDEuNjQxNTg4ODA3MTA2MDE4XSwgWzE2NjM4MTgwMzkuNDE0OTI2MywgMjk3MCwgMS42NDYzMjc2MTQ3ODQyNDA3XSwgWzE2NjM4MTgwMzkuNTkxODUyMiwgMjk4OCwgMS42Mjg2NTUwNzYwMjY5MTY1XSwgWzE2NjM4MTgwMzkuNjg5ODY4LCAyOTk3LCAxLjYzNTkxNzY2MzU3NDIxODhdLCBbMTY2MzgxODA0MC4xMzE4OTQ4LCAzMDQyLCAxLjYzMTI4ODA1MTYwNTIyNDZdLCBbMTY2MzgxODA0MC4yMjkzNDk0LCAzMDUxLCAxLjYyODk5NzIwNjY4NzkyNzJdLCBbMTY2MzgxODA0MC40MDc1MTg2LCAzMDY5LCAxLjYwODUwNjY3OTUzNDkxMl0sIFsxNjYzODE4MDQwLjY3MzY4ODQsIDMwOTYsIDEuNjE4Njg1NzIyMzUxMDc0Ml0sIFsxNjYzODE4MDQwLjg0NjY4NiwgMzExNCwgMS41NzYzMDgxMzEyMTc5NTY1XSwgWzE2NjM4MTgwNDAuOTMyNzI4LCAzMTIzLCAxLjYwOTA3NjYxOTE0ODI1NDRdLCBbMTY2MzgxODA0MS4yODk3MTA4LCAzMTU5LCAxLjU4MDMwMzMxMTM0Nzk2MTRdLCBbMTY2MzgxODA0MS40NTQ3MzA1LCAzMTc3LCAxLjYxNjQ4NDE2NTE5MTY1MDRdLCBbMTY2MzgxODA0MS42MzQyMjk0LCAzMTk1LCAxLjU5ODM2NjE0MTMxOTI3NV0sIFsxNjYzODE4MDQyLjAwMjU4OTIsIDMyMzEsIDEuNTUyMzYzMTU3MjcyMzM4OV0sIFsxNjYzODE4MDQyLjM1MzA3MiwgMzI2NywgMS41NzI5MjUzMjkyMDgzNzRdLCBbMTY2MzgxODA0Mi40NDA2OTE1LCAzMjc2LCAxLjYxOTU3NTg1ODExNjE1XSwgWzE2NjM4MTgwNDIuNTI5MDYxNiwgMzI4NSwgMS41NzUyNTA2MjU2MTAzNTE2XSwgWzE2NjM4MTgwNDIuNjE4NjA4MiwgMzI5NCwgMS42MDc0MDI4MDE1MTM2NzE5XSwgWzE2NjM4MTgwNDIuNzA3ODA5NywgMzMwMywgMS41NzIxMzc4MzI2NDE2MDE2XSwgWzE2NjM4MTgwNDIuNzk3ODYxMywgMzMxMiwgMS41NjgxOTgzMjMyNDk4MTddLCBbMTY2MzgxODA0My4zODUyMTUzLCAzMzc1LCAxLjU1MTk2NDg3OTAzNTk0OTddLCBbMTY2MzgxODA0My42MzM2MTY0LCAzNDAyLCAxLjU1NTMwOTg5MTcwMDc0NDZdLCBbMTY2MzgxODA0My43MTUzNzE4LCAzNDExLCAxLjU0MjM1MTI0NTg4MDEyN10sIFsxNjYzODE4MDQ0LjQxMTAyNDMsIDM0ODMsIDEuNTQxNTMwNzI4MzQwMTQ5XSwgWzE2NjM4MTgwNDQuOTEwMDcsIDM1MTksIDEuNTUzMDM4ODM1NTI1NTEyN10sIFsxNjYzODE4MDQ0Ljk5NTExMjcsIDM1MjgsIDEuNTY0MDU1NDQyODEwMDU4Nl0sIFsxNjYzODE4MDQ1LjA4MTQ4MjQsIDM1MzcsIDEuNTM2MzM0MTU2OTkwMDUxM10sIFsxNjYzODE4MDQ1LjI1MTEzMiwgMzU1NSwgMS41OTg5MzA3MTY1MTQ1ODc0XSwgWzE2NjM4MTgwNDUuNTE5NzQyMywgMzU4MiwgMS41NDQzMTE4ODEwNjUzNjg3XSwgWzE2NjM4MTgwNDUuOTUyMjU0OCwgMzYyNywgMS41NzE2MTQ5ODA2OTc2MzE4XSwgWzE2NjM4MTgwNDYuMTI1NzQzMiwgMzY0NSwgMS40ODkyNTM5OTc4MDI3MzQ0XSwgWzE2NjM4MTgwNDYuNTUzODUsIDM2OTAsIDEuNDkwNTcwMTg3NTY4NjY0Nl0sIFsxNjYzODE4MDQ2Ljg5NzY1MTcsIDM3MjYsIDEuNDkxODg3OTI3MDU1MzU4OV0sIFsxNjYzODE4MDQ2Ljk4ODc2NTcsIDM3MzUsIDEuNTAyMjMzMTQ3NjIxMTU0OF0sIFsxNjYzODE4MDQ3LjA3MzcwNiwgMzc0NCwgMS40ODQyMzk2OTc0NTYzNTk5XSwgWzE2NjM4MTgwNDcuMzM0MzkzNSwgMzc3MSwgMS41Mzk2NzIxMzYzMDY3NjI3XSwgWzE2NjM4MTgwNDcuNjE1NDIyMiwgMzc5OCwgMS41NjQ0MjU1ODc2NTQxMTM4XSwgWzE2NjM4MTgwNDcuNzAzNTA0OCwgMzgwNywgMS42NjI5MTczNzU1NjQ1NzUyXSwgWzE2NjM4MTgwNDcuOTU5NzI5NywgMzgzNCwgMS41MDMwMDEzMzIyODMwMl0sIFsxNjYzODE4MDQ4LjA0NDMxMTMsIDM4NDMsIDEuNTE4MzIyOTQ0NjQxMTEzM10sIFsxNjYzODE4MDQ4LjM5NzY5MzksIDM4NzksIDEuNDg4MzY5OTQxNzExNDI1OF0sIFsxNjYzODE4MDQ4LjgzOTE5NjcsIDM5MjQsIDEuNTIzMjQwMDg5NDE2NTA0XSwgWzE2NjM4MTgwNDguOTI2MTc0OSwgMzkzMywgMS41MTkwNjE5MjMwMjcwMzg2XSwgWzE2NjM4MTgwNDkuMDA3MzA0MiwgMzk0MiwgMS40OTYxOTY4NjYwMzU0NjE0XSwgWzE2NjM4MTgwNDkuMTc1NzI2NCwgMzk2MCwgMS41MDE5NTU3NDc2MDQzNzAxXSwgWzE2NjM4MTgwNDkuMjYyNDM5NSwgMzk2OSwgMS41Mjc0MDk5MTExNTU3MDA3XSwgWzE2NjM4MTgwNDkuMzQ1MzE5NSwgMzk3OCwgMS40NDA1NzUwMDM2MjM5NjI0XSwgWzE2NjM4MTgwNDkuNTEzNzA1NSwgMzk5NiwgMS40NjUwNDA2ODM3NDYzMzhdLCBbMTY2MzgxODA0OS42MDU3NzU0LCA0MDA1LCAxLjUwNjkwMzc2NzU4NTc1NDRdLCBbMTY2MzgxODA0OS44NDIyMTAzLCA0MDIzLCAxLjQ2MDY5MzQ3ODU4NDI4OTZdLCBbMTY2MzgxODA1MC4yNzQyMzU1LCA0MDU5LCAxLjQ5ODM0MTc5ODc4MjM0ODZdLCBbMTY2MzgxODA1MC40OTI5MjIsIDQwNzcsIDEuNDUxOTM4OTg2Nzc4MjU5M10sIFsxNjYzODE4MDUwLjU4NDYzOCwgNDA4NiwgMS40NDY5MTQ5MTEyNzAxNDE2XSwgWzE2NjM4MTgwNTAuNzAzMjY1NCwgNDA5NSwgMS40ODEyODE4NzY1NjQwMjU5XSwgWzE2NjM4MTgwNTAuODk5NDMwNSwgNDExMywgMS40NTk4NzAyMTkyMzA2NTE5XSwgWzE2NjM4MTgwNTEuMjgwODE3MywgNDE0OSwgMS40MzQ5ODM4NDk1MjU0NTE3XSwgWzE2NjM4MTgwNTEuMzcxOTA3LCA0MTU4LCAxLjQ0ODYwMzUxMDg1NjYyODRdLCBbMTY2MzgxODA1MS44MTg1MjY1LCA0MTk0LCAxLjQ2NTQ1NTUzMjA3Mzk3NDZdLCBbMTY2MzgxODA1MS45MTg4NDUyLCA0MjAzLCAxLjQyMzM4Mjg3ODMwMzUyNzhdLCBbMTY2MzgxODA1Mi4xMTU0Mjk5LCA0MjIxLCAxLjQ1Mjc1OTYyMzUyNzUyNjldLCBbMTY2MzgxODA1Mi4yOTY1Mzk1LCA0MjM5LCAxLjQ0MzU1NjY2NjM3NDIwNjVdLCBbMTY2MzgxODA1Mi44NzUyNDk0LCA0Mjc1LCAxLjQ0MjYyMDM5NjYxNDA3NDddLCBbMTY2MzgxODA1Mi45NzQzMjI4LCA0Mjg0LCAxLjQwMzUzNjU1ODE1MTI0NTFdLCBbMTY2MzgxODA1My4yNjAyNTgyLCA0MzExLCAxLjQxNjMyMzE4NDk2NzA0MV0sIFsxNjYzODE4MDUzLjQzNDA4OCwgNDMyOSwgMS40MzU2Mzc4MzE2ODc5MjcyXSwgWzE2NjM4MTgwNTMuNTIzNjI2MywgNDMzOCwgMS40OTk5MTcyNjg3NTMwNTE4XSwgWzE2NjM4MTgwNTMuNjk5MDQ2NCwgNDM1NiwgMS40NjQyODg3MTE1NDc4NTE2XSwgWzE2NjM4MTgwNTMuNzgzODIzLCA0MzY1LCAxLjQyODk2MDgwMDE3MDg5ODRdLCBbMTY2MzgxODA1NC4wNDc4MjksIDQzOTIsIDEuNDExNTgzMDY1OTg2NjMzM10sIFsxNjYzODE4MDU0LjEzMzgyMzIsIDQ0MDEsIDEuNDc1NjY3NDc2NjU0MDUyN10sIFsxNjYzODE4MDU0LjIyODk5NjgsIDQ0MTAsIDEuNTIwOTgyNzQyMzA5NTcwM10sIFsxNjYzODE4MDU0LjM5OTczNzgsIDQ0MjgsIDEuNDA2MjU0MDUzMTE1ODQ0N10sIFsxNjYzODE4MDU0LjY1NjUyMDgsIDQ0NTUsIDEuNDEzMDkzNjg2MTAzODIwOF0sIFsxNjYzODE4MDU1LjA0MjY3MDUsIDQ0OTEsIDEuNDUwMzMzODMzNjk0NDU4XSwgWzE2NjM4MTgwNTUuNDU2NjQzNiwgNDUyNywgMS4zOTg5Mzk5NjcxNTU0NTY1XSwgWzE2NjM4MTgwNTUuNTQ2NjI2MywgNDUzNiwgMS40NjcxNjk3NjE2NTc3MTQ4XSwgWzE2NjM4MTgwNTUuODE4NTY0NywgNDU2MywgMS4zNjI3NzY3NTYyODY2MjFdLCBbMTY2MzgxODA1Ni4wOTI2MTU0LCA0NTkwLCAxLjM4OTQ0NTMwNDg3MDYwNTVdLCBbMTY2MzgxODA1Ni4xNzc2ODA3LCA0NTk5LCAxLjM5NTUyOTE1MDk2MjgyOTZdLCBbMTY2MzgxODA1Ni4yNzY2NTE0LCA0NjA4LCAxLjM5NDk4NzcwMjM2OTY5XSwgWzE2NjM4MTgwNTYuMzYzNzk3NywgNDYxNywgMS40NjI4ODM1OTE2NTE5MTY1XSwgWzE2NjM4MTgwNTYuNDQ5NjEzLCA0NjI2LCAxLjQwOTM0NzY1MzM4ODk3N10sIFsxNjYzODE4MDU2LjUzODc2NCwgNDYzNSwgMS4zOTk3MDc2NzQ5ODAxNjM2XSwgWzE2NjM4MTgwNTYuODA5NjE1MSwgNDY2MiwgMS4zNjgwNDg3ODcxMTcwMDQ0XSwgWzE2NjM4MTgwNTYuOTAyNzkzLCA0NjcxLCAxLjM4MzM3NTUyNTQ3NDU0ODNdLCBbMTY2MzgxODA1Ny4wMDAxNTMzLCA0NjgwLCAxLjQwMzQ2NjU4MjI5ODI3ODhdLCBbMTY2MzgxODA1Ny4xMTQ5MjgyLCA0Njg5LCAxLjQxNzgyNDAyOTkyMjQ4NTRdLCBbMTY2MzgxODA1Ny40MDA2NiwgNDcxNiwgMS4zNTc1ODI5MjY3NTAxODNdLCBbMTY2MzgxODA1OC4wMjYyNTUxLCA0Nzc5LCAxLjM2MTkxNzQ5NTcyNzUzOV0sIFsxNjYzODE4MDU4LjM1MzA5OSwgNDgwNiwgMS4zNzk5ODI0NzE0NjYwNjQ1XSwgWzE2NjM4MTgwNTguNDcyNDI5OCwgNDgxNSwgMS40NDQ4MTA4NjczMDk1NzAzXSwgWzE2NjM4MTgwNTguNjc5Nzk5OCwgNDgzMywgMS4zODIzMTI2NTU0NDg5MTM2XSwgWzE2NjM4MTgwNTguNzY3NTA4NSwgNDg0MiwgMS40Mjg3MTY0MjExMjczMTkzXSwgWzE2NjM4MTgwNTguODU2MTk0NywgNDg1MSwgMS4zODgwNjIyMzg2OTMyMzczXSwgWzE2NjM4MTgwNTkuMDkxMTc2NywgNDg2OSwgMS40NDg1NzU2MTU4ODI4NzM1XSwgWzE2NjM4MTgwNTkuMzE0MTQwMywgNDg4NywgMS4zOTE5MDY2MTkwNzE5NjA0XSwgWzE2NjM4MTgwNTkuNTAxOTAyNiwgNDkwNSwgMS4zNDc1MjY1NTAyOTI5Njg4XSwgWzE2NjM4MTgwNTkuNzAzMTQ3LCA0OTIzLCAxLjMzMjM0NDY1MTIyMjIyOV0sIFsxNjYzODE4MDU5LjgxMjUxNDgsIDQ5MzIsIDEuMzQyMTYzNDQzNTY1MzY4N10sIFsxNjYzODE4MDYwLjEwMTUzMTcsIDQ5NTksIDEuNDI0NTM3NTM5NDgyMTE2N10sIFsxNjYzODE4MDYwLjI4NjY2OTUsIDQ5NzcsIDEuNDA3OTA4NTU4ODQ1NTJdLCBbMTY2MzgxODA2MC41OTU0MjUxLCA1MDA0LCAxLjM1MjE3MTU0MDI2MDMxNV0sIFsxNjYzODE4MDYwLjcwNjA1NTYsIDUwMTMsIDEuMzI4MzU3MTAwNDg2NzU1NF0sIFsxNjYzODE4MDYxLjQ0ODQzMDMsIDUwNjcsIDEuMzQ2NzQxNjc2MzMwNTY2NF0sIFsxNjYzODE4MDYxLjU0MjMwMTIsIDUwNzYsIDEuMzI5Nzc3MDAyMzM0NTk0N10sIFsxNjYzODE4MDYxLjY0MTAyNDgsIDUwODUsIDEuMzY5NTg2MzQ4NTMzNjMwNF0sIFsxNjYzODE4MDYyLjAzMjYxNDIsIDUxMjEsIDEuMzI0NDE3ODI5NTEzNTQ5OF0sIFsxNjYzODE4MDYyLjMzNjc5MzIsIDUxNDgsIDEuMzMzNDgwMTE5NzA1MjAwMl0sIFsxNjYzODE4MDYyLjUyOTkzOTcsIDUxNjYsIDEuMzQwNzA1Mzk0NzQ0ODczXSwgWzE2NjM4MTgwNjIuODI5NTM2NCwgNTE5MywgMS4zNDEyMjcyOTMwMTQ1MjY0XSwgWzE2NjM4MTgwNjMuMjM0NzQyOSwgNTIyOSwgMS4zMjUwNTk0MTM5MDk5MTJdLCBbMTY2MzgxODA2My41OTc4NjM0LCA1MjY1LCAxLjMzNTExODUzMjE4MDc4NjFdLCBbMTY2MzgxODA2My42ODM1MzkyLCA1Mjc0LCAxLjM2ODY1NTkyMDAyODY4NjVdLCBbMTY2MzgxODA2My43NzE1NTMsIDUyODMsIDEuNDEwMzI2ODM4NDkzMzQ3Ml0sIFsxNjYzODE4MDYzLjk0Njg4MTUsIDUzMDEsIDEuMzg1MDY5NjA4Njg4MzU0NV0sIFsxNjYzODE4MDY0LjEyNjM2MSwgNTMxOSwgMS4zMzE5MDgzNDUyMjI0NzMxXSwgWzE2NjM4MTgwNjQuMjUzMTgxMiwgNTMyOCwgMS4zNjAwMTg4NDkzNzI4NjM4XSwgWzE2NjM4MTgwNjQuMzU0ODAzLCA1MzM3LCAxLjMzNjQ4MDAyMTQ3Njc0NTZdLCBbMTY2MzgxODA2NC41MzA1ODM0LCA1MzU1LCAxLjMyODc2ODczMDE2MzU3NDJdLCBbMTY2MzgxODA2NC43MjAzOTksIDUzNzMsIDEuMzAzODg3MjQ4MDM5MjQ1Nl0sIFsxNjYzODE4MDY0Ljg4Njk2MSwgNTM5MSwgMS4zMjY1NzA3NDkyODI4MzddLCBbMTY2MzgxODA2NC45NzIyNzYsIDU0MDAsIDEuMjk1NTQ5MjczNDkwOTA1OF0sIFsxNjYzODE4MDY1LjIzNTQ3MDMsIDU0MjcsIDEuMzAzODkxODk3MjAxNTM4XSwgWzE2NjM4MTgwNjUuMzUzODIzMiwgNTQzNiwgMS4zMDQyMDE2MDI5MzU3OTFdLCBbMTY2MzgxODA2NS44NzAxMzcsIDU0ODEsIDEuMzE3MTQ4ODA0NjY0NjExOF0sIFsxNjYzODE4MDY2LjA1MDI0NzcsIDU0OTksIDEuMzMxMjg5ODg3NDI4MjgzN10sIFsxNjYzODE4MDY2LjMzNzY5LCA1NTI2LCAxLjI4OTIwMzI4NjE3MDk1OTVdLCBbMTY2MzgxODA2Ni40Mjg4NjE2LCA1NTM1LCAxLjMxNzYyMDg3MzQ1MTIzM10sIFsxNjYzODE4MDY2LjYzMTM5ODcsIDU1NTMsIDEuMjYzMjAzODU5MzI5MjIzNl0sIFsxNjYzODE4MDY2LjgxMDIxNTcsIDU1NzEsIDEuMzU4MzAxOTk3MTg0NzUzNF0sIFsxNjYzODE4MDY2Ljk3NjUyNjcsIDU1ODksIDEuMzE5ODU1ODA5MjExNzMxXSwgWzE2NjM4MTgwNjcuMTU0NDI5NywgNTYwNywgMS4zMDEzOTE4Mzk5ODEwNzldLCBbMTY2MzgxODA2Ny4yNDAwMDA3LCA1NjE2LCAxLjMwMTU5MjIzMDc5NjgxNF0sIFsxNjYzODE4MDY3LjQ5OTI0ODMsIDU2NDMsIDEuMzE2NDY3ODgxMjAyNjk3OF0sIFsxNjYzODE4MDY3LjY3NTE2MiwgNTY2MSwgMS4yNTk2MzMzMDI2ODg1OTg2XSwgWzE2NjM4MTgwNjcuNzcxNzI2NCwgNTY3MCwgMS4yOTUwMTA1NjY3MTE0MjU4XSwgWzE2NjM4MTgwNjguMTE4NjQ0LCA1NzA2LCAxLjI5NzQyMDUwMTcwODk4NDRdLCBbMTY2MzgxODA2OC40NjkyNzQzLCA1NzQyLCAxLjMxMTM0MDQ1MTI0MDUzOTZdLCBbMTY2MzgxODA2OC43NDg2ODUsIDU3NjksIDEuMzM4NTc4MTA0OTcyODM5NF0sIFsxNjYzODE4MDY4LjgzMzA4OCwgNTc3OCwgMS4yNTgwOTQxOTE1NTEyMDg1XSwgWzE2NjM4MTgwNjguOTE3MDI3MiwgNTc4NywgMS4yNzI4NTg2MTk2ODk5NDE0XSwgWzE2NjM4MTgwNjguOTk5MzEwNSwgNTc5NiwgMS4zNDcwNzExNzA4MDY4ODQ4XSwgWzE2NjM4MTgwNjkuMDkwMTk2MSwgNTgwNSwgMS4zNjIwNTgwNDM0Nzk5MTk0XSwgWzE2NjM4MTgwNjkuNjc4ODI1MSwgNTg1MCwgMS4yNTczNzg1NzgxODYwMzUyXSwgWzE2NjM4MTgwNjkuODczMTUxMywgNTg2OCwgMS4zNTg2Njg5MjMzNzc5OTA3XSwgWzE2NjM4MTgwNjkuOTU2NDM0LCA1ODc3LCAxLjMwNjg4MDQ3NDA5MDU3NjJdLCBbMTY2MzgxODA3MC4xMjE4OTM0LCA1ODk1LCAxLjI3MjAwNDM2NTkyMTAyMDVdLCBbMTY2MzgxODA3MC4yMTE3ODMyLCA1OTA0LCAxLjI4MTgwODQ5NTUyMTU0NTRdLCBbMTY2MzgxODA3MC40NzAzMzksIDU5MzEsIDEuMjUxNTkxMzI0ODA2MjEzNF0sIFsxNjYzODE4MDcwLjY0MTU1MjcsIDU5NDksIDEuMjgyNjAzODU5OTAxNDI4Ml0sIFsxNjYzODE4MDcxLjI3Mzc5NzgsIDYwMTIsIDEuMzI1OTQ0NjYyMDk0MTE2Ml0sIFsxNjYzODE4MDcxLjUzMzI1OTYsIDYwMzksIDEuMzU2MDM5Mjg1NjU5NzldLCBbMTY2MzgxODA3MS45NzQ5Mzg0LCA2MDg0LCAxLjMwNjM3NTYyMjc0OTMyODZdLCBbMTY2MzgxODA3Mi4wNjI5MjM0LCA2MDkzLCAxLjI1MDAzNDA5Mzg1NjgxMTVdLCBbMTY2MzgxODA3Mi4xNTAyMzczLCA2MTAyLCAxLjI4NDY3MTc4MzQ0NzI2NTZdLCBbMTY2MzgxODA3Mi40MTA0ODE3LCA2MTI5LCAxLjI5NjAzMDA0NDU1NTY2NF0sIFsxNjYzODE4MDcyLjU4MzUyNzMsIDYxNDcsIDEuMjQ5MzE1NTAwMjU5Mzk5NF0sIFsxNjYzODE4MDcyLjY2NzQ4NDgsIDYxNTYsIDEuMjc3MTkxOTk2NTc0NDAxOV0sIFsxNjYzODE4MDcyLjc1MjA2OTcsIDYxNjUsIDEuMjc0NTEwMDI1OTc4MDg4NF0sIFsxNjYzODE4MDczLjAwNjE1NzQsIDYxOTIsIDEuMjQ3ODcxOTk0OTcyMjI5XSwgWzE2NjM4MTgwNzMuNDQzNjYyNiwgNjIzNywgMS4zMDAzMzgwMjk4NjE0NTAyXSwgWzE2NjM4MTgwNzMuNjA3ODYxLCA2MjU1LCAxLjI0Njg0MDQ3Njk4OTc0Nl0sIFsxNjYzODE4MDczLjc4NzM5LCA2MjczLCAxLjI2NTk4Mjg2NjI4NzIzMTRdLCBbMTY2MzgxODA3My44NzkyNDE1LCA2MjgyLCAxLjI2NTEwNzg3MDEwMTkyODddLCBbMTY2MzgxODA3NC4xMjAzNDQ2LCA2MzAwLCAxLjI1OTQwNDY1OTI3MTI0MDJdLCBbMTY2MzgxODA3NC40MDA2MzQ4LCA2MzI3LCAxLjI4Njk1ODY5NDQ1ODAwNzhdLCBbMTY2MzgxODA3NC40OTE5OTM3LCA2MzM2LCAxLjI3ODM0NjY1Nzc1Mjk5MDddLCBbMTY2MzgxODA3NC42NjAzODMyLCA2MzU0LCAxLjIzOTYxOTEzNTg1NjYyODRdLCBbMTY2MzgxODA3NC45OTY0NjcsIDYzOTAsIDEuMjgyMjE2MzEwNTAxMDk4Nl0sIFsxNjYzODE4MDc1LjA4MjMwOTcsIDYzOTksIDEuMjIyOTgxNjkxMzYwNDczNl0sIFsxNjYzODE4MDc1LjI0MzY4NjIsIDY0MTcsIDEuMjY3OTE1NDg3Mjg5NDI4N10sIFsxNjYzODE4MDc1LjQ4NjY1NjQsIDY0NDQsIDEuMjk3NjMzNjQ3OTE4NzAxMl0sIFsxNjYzODE4MDc1LjY1MTczNSwgNjQ2MiwgMS4yMjQ3MTI2MTAyNDQ3NTFdLCBbMTY2MzgxODA3NS45MTkxMjA4LCA2NDg5LCAxLjI2NTkyNjgzNzkyMTE0MjZdLCBbMTY2MzgxODA3Ni4wMTAwMTc5LCA2NDk4LCAxLjIyOTE3MTYzMzcyMDM5OF0sIFsxNjYzODE4MDc2LjE4Nzk2NjMsIDY1MTYsIDEuMjU4ODYxNTQxNzQ4MDQ2OV0sIFsxNjYzODE4MDc2LjM2MTE2MiwgNjUzNCwgMS4yNTAwNjQzNzMwMTYzNTc0XSwgWzE2NjM4MTgwNzYuNDQwMTIzLCA2NTQzLCAxLjI3NzEzMDcyMjk5OTU3MjhdLCBbMTY2MzgxODA3Ni42MTIzNTEsIDY1NjEsIDEuMjczMTQ0NjAyNzc1NTczN10sIFsxNjYzODE4MDc2LjY5NzM0NjIsIDY1NzAsIDEuMjYzMTU4Njc5MDA4NDgzOV0sIFsxNjYzODE4MDc2Ljg3NTk4NTEsIDY1ODgsIDEuMjkwOTk5MjkzMzI3MzMxNV0sIFsxNjYzODE4MDc2Ljk2NDU4MjcsIDY1OTcsIDEuMjgzNzg4MjA0MTkzMTE1Ml0sIFsxNjYzODE4MDc3LjA2ODQ2MjYsIDY2MDYsIDEuMjQwMjUwOTQ1MDkxMjQ3Nl0sIFsxNjYzODE4MDc3LjczNDQ5MzMsIDY2NTEsIDEuMjk0Mjk4MjkxMjA2MzU5OV0sIFsxNjYzODE4MDc4LjIyOTgwNjIsIDY2ODcsIDEuMjE4NzYzOTQ3NDg2ODc3NF0sIFsxNjYzODE4MDc4LjMyMjk5OTUsIDY2OTYsIDEuMjMyNjYxMjQ3MjUzNDE4XSwgWzE2NjM4MTgwNzguNDA2NDMxMiwgNjcwNSwgMS4yNjc0MjQ1ODM0MzUwNTg2XSwgWzE2NjM4MTgwNzkuNTEyMTM4MSwgNjgxMywgMS4yODI4NTI3Njg4OTgwMTAzXSwgWzE2NjM4MTgwNzkuNjg5MDczMywgNjgzMSwgMS4yOTA4NTY0ODA1OTg0NDk3XSwgWzE2NjM4MTgwODAuMjEyNjkzNSwgNjg4NSwgMS4yNzEwOTI2NTMyNzQ1MzYxXSwgWzE2NjM4MTgwODAuMjk2ODI5NSwgNjg5NCwgMS4yMzk4MzA3MzIzNDU1ODFdLCBbMTY2MzgxODA4MC42MzAwODQzLCA2OTIxLCAxLjI2MjgzNTI2NDIwNTkzMjZdLCBbMTY2MzgxODA4MC43MzExMzUxLCA2OTMwLCAxLjI1NTc0MjMxMTQ3NzY2MTFdLCBbMTY2MzgxODA4MS4wMjQ5Mzc0LCA2OTU3LCAxLjE5Mjc4MzM1NTcxMjg5MDZdLCBbMTY2MzgxODA4MS4zMjAwMjI4LCA2OTg0LCAxLjIwNjc0ODI0NzE0NjYwNjRdLCBbMTY2MzgxODA4MS40MDUzMzU3LCA2OTkzLCAxLjIzMTA2MTQ1ODU4NzY0NjVdLCBbMTY2MzgxODA4MS41ODg0MjE4LCA3MDExLCAxLjIzOTkxMzU4MjgwMTgxODhdLCBbMTY2MzgxODA4MS42NzMzMTg5LCA3MDIwLCAxLjI1NzQ1MzkxODQ1NzAzMTJdLCBbMTY2MzgxODA4MS43NjI3NTUyLCA3MDI5LCAxLjI3NDA3NjkzODYyOTE1MDRdLCBbMTY2MzgxODA4MS44NDU5ODA0LCA3MDM4LCAxLjIzMzU5NTk2NzI5Mjc4NTZdLCBbMTY2MzgxODA4MS45Mzg3MjgsIDcwNDcsIDEuMjA5NTQxMzIwODAwNzgxMl0sIFsxNjYzODE4MDgyLjQ5MzM5MSwgNzEwMSwgMS4yMTQyNjAxMDEzMTgzNTk0XSwgWzE2NjM4MTgwODIuODAyMTA5NywgNzEyOCwgMS4yMDU1NDA3NzYyNTI3NDY2XSwgWzE2NjM4MTgwODQuMDE0MzA5NiwgNzI0NSwgMS4yMDYyNjczNTY4NzI1NTg2XSwgWzE2NjM4MTgwODQuMTA0MTI0MywgNzI1NCwgMS4yNDc4NDM3NDIzNzA2MDU1XSwgWzE2NjM4MTgwODQuMTkyMjU1NSwgNzI2MywgMS4yMTA0MzM4NDA3NTE2NDhdLCBbMTY2MzgxODA4NC4yNzU0MTgsIDcyNzIsIDEuMjYxMDI2MDI0ODE4NDIwNF0sIFsxNjYzODE4MDg0LjU4MDk3NTgsIDcyOTksIDEuMjQzNTk0NDA4MDM1Mjc4M10sIFsxNjYzODE4MDg1LjI4NDM4NywgNzM3MSwgMS4yMzc0NjY2OTI5MjQ0OTk1XSwgWzE2NjM4MTgwODUuNTMxNTQ1OSwgNzM4MCwgMS4yMjI3NzY0MTI5NjM4NjcyXSwgWzE2NjM4MTgwODYuMjQ4OTksIDc0NTIsIDEuMjQxNzkyNTU5NjIzNzE4M10sIFsxNjYzODE4MDg2LjM1MjIxNTgsIDc0NjEsIDEuMjE3MjA5Njk2NzY5NzE0NF0sIFsxNjYzODE4MDg2Ljc3Njc5NTQsIDc0OTcsIDEuMjE5ODQ5NTg2NDg2ODE2NF0sIFsxNjYzODE4MDg2Ljg3ODMyNSwgNzUwNiwgMS4yNTk3NTE0MzkwOTQ1NDM1XSwgWzE2NjM4MTgwODcuMDk0NzM3LCA3NTI0LCAxLjI0NjQ4MTY1NzAyODE5ODJdLCBbMTY2MzgxODA4Ny4xODQ2NDM1LCA3NTMzLCAxLjI0MDM0NzYyMzgyNTA3MzJdLCBbMTY2MzgxODA4Ny4yNzgwOTEyLCA3NTQyLCAxLjIyMjkxNTI5MTc4NjE5MzhdLCBbMTY2MzgxODA4Ny40NDgyMiwgNzU2MCwgMS4yMTEyNjI5NDEzNjA0NzM2XSwgWzE2NjM4MTgwODcuNTM2NTU5OCwgNzU2OSwgMS4yMjU3NzU1OTk0Nzk2NzUzXSwgWzE2NjM4MTgwODcuNzk1MTI1LCA3NTk2LCAxLjI3NzMzMDI3OTM1MDI4MDhdLCBbMTY2MzgxODA4Ny45ODc3MDgzLCA3NjE0LCAxLjIzODUxOTU0OTM2OTgxMl0sIFsxNjYzODE4MDg4LjQ0NzgxNjgsIDc2NTksIDEuMzA2NzQ4OTg2MjQ0MjAxN10sIFsxNjYzODE4MDg4LjUzNjM5NjUsIDc2NjgsIDEuMzY0MDA2NzU3NzM2MjA2XSwgWzE2NjM4MTgwODguODMwMDQsIDc2OTUsIDEuMjM1NjM4MDIyNDIyNzkwNV0sIFsxNjYzODE4MDg5LjExMTgxNDMsIDc3MjIsIDEuMjM3MjQyODE3ODc4NzIzMV0sIFsxNjYzODE4MDg5LjM5NTA3MzIsIDc3NDksIDEuMjMzMDI3ODE1ODE4Nzg2Nl0sIFsxNjYzODE4MDg5LjU3MDMyNDIsIDc3NjcsIDEuMTk3Mjc3NjY1MTM4MjQ0Nl0sIFsxNjYzODE4MDg5Ljg5MDA3MzUsIDc3OTQsIDEuMjQ2Njg2MTAwOTU5Nzc3OF0sIFsxNjYzODE4MDg5Ljk5MDIzNTgsIDc4MDMsIDEuMjAwMjgyMjE2MDcyMDgyNV0sIFsxNjYzODE4MDkwLjM5MjQ2NDYsIDc4MzksIDEuMjc3ODg4MDU5NjE2MDg4OV0sIFsxNjYzODE4MDkwLjQ5MDAwODgsIDc4NDgsIDEuMjg0NzAxODI0MTg4MjMyNF0sIFsxNjYzODE4MDkxLjgyNDM5MywgNzk2NSwgMS4yMDQ0NjI0MDkwMTk0NzAyXSwgWzE2NjM4MTgwOTEuOTE0NDc1MiwgNzk3NCwgMS4yNDE1MTIyOTg1ODM5ODQ0XSwgWzE2NjM4MTgwOTIuMDA3NDE1NSwgNzk4MywgMS4yMzI3MTQ1MzM4MDU4NDcyXSwgWzE2NjM4MTgwOTIuMzcyNTg3LCA4MDE5LCAxLjI0ODI2NjgxNjEzOTIyMTJdLCBbMTY2MzgxODA5Mi41NDY1OTI1LCA4MDM3LCAxLjIzMjI4OTQzMzQ3OTMwOV0sIFsxNjYzODE4MDkyLjg3ODIxLCA4MDY0LCAxLjIxMzQ5NzYzODcwMjM5MjZdLCBbMTY2MzgxODA5My4wOTg0OTE3LCA4MDgyLCAxLjIyMTIyMjI4MTQ1NTk5MzddLCBbMTY2MzgxODA5My4xODU0NTA4LCA4MDkxLCAxLjI0MzYxOTMyMjc3Njc5NDRdLCBbMTY2MzgxODA5My41MDg0NTkzLCA4MTE4LCAxLjE5MTg4NTM1MjEzNDcwNDZdLCBbMTY2MzgxODA5My42MjM5NjU1LCA4MTI3LCAxLjE5NzM1ODM2OTgyNzI3MDVdLCBbMTY2MzgxODA5NC4zMTEyNzc5LCA4MTcyLCAxLjIxOTQ5NDU4MTIyMjUzNDJdLCBbMTY2MzgxODA5NC40MzEwNDYyLCA4MTgxLCAxLjI3MDExODgzMjU4ODE5NThdLCBbMTY2MzgxODA5NC42MzkzNCwgODE5OSwgMS4yNDQxODQ2MTMyMjc4NDQyXSwgWzE2NjM4MTgwOTQuNzQ1MDAwNCwgODIwOCwgMS4yNDA2MjEwODk5MzUzMDI3XSwgWzE2NjM4MTgwOTUuMDY4ODk0OSwgODIzNSwgMS4xODU2MDI3ODQxNTY3OTkzXSwgWzE2NjM4MTgwOTUuNDg1MjI4OCwgODI3MSwgMS4xNzc0MDM2ODg0MzA3ODYxXSwgWzE2NjM4MTgwOTUuNTY5NDY5LCA4MjgwLCAxLjIxMTQyMzUxNjI3MzQ5ODVdLCBbMTY2MzgxODA5NS43NTA1MDQ3LCA4Mjk4LCAxLjIxNDY1Mzk2ODgxMTAzNTJdLCBbMTY2MzgxODA5NS45NjkyMTEsIDgzMTYsIDEuMjA1NDE0NDE0NDA1ODIyOF0sIFsxNjYzODE4MDk2LjUxMDEzNDcsIDgzNjEsIDEuMjEzNzA2MjU0OTU5MTA2NF0sIFsxNjYzODE4MDk2LjcwNTcyNzMsIDgzNzksIDEuMjEzMDU3MDQxMTY4MjEzXSwgWzE2NjM4MTgwOTYuNzkyNjM2NiwgODM4OCwgMS4xOTgyODQ4NjQ0MjU2NTkyXSwgWzE2NjM4MTgwOTYuODc4NDg0NSwgODM5NywgMS4xOTgxNzY3NDE2MDAwMzY2XSwgWzE2NjM4MTgwOTcuMTQxMzc0OCwgODQyNCwgMS4zMTYxNzc0ODczNzMzNTJdLCBbMTY2MzgxODA5Ny40ODI0NTA3LCA4NDYwLCAxLjE4NzA5Mjc4MTA2Njg5NDVdLCBbMTY2MzgxODA5Ny42NjIyMTMzLCA4NDc4LCAxLjE4MDAyODY3Njk4NjY5NDNdLCBbMTY2MzgxODA5Ny43NjU1MjUzLCA4NDg3LCAxLjE4NDUxNTk1MzA2Mzk2NDhdLCBbMTY2MzgxODA5OC4wNjM0MzcsIDg1MTQsIDEuMTkxMDMyMDUyMDQwMV0sIFsxNjYzODE4MDk4LjQ0MDI3NzgsIDg1NTAsIDEuMzE2NzY3NDU0MTQ3MzM4OV0sIFsxNjYzODE4MDk4LjcxNjg0NzQsIDg1NzcsIDEuMTc3MTUyMDM3NjIwNTQ0NF0sIFsxNjYzODE4MDk5LjAxMzc2NzIsIDg2MDQsIDEuMjE5Mjg0NjUzNjYzNjM1M10sIFsxNjYzODE4MDk5LjExNTIzNzcsIDg2MTMsIDEuMTk5ODM3OTIzMDQ5OTI2OF0sIFsxNjYzODE4MDk5LjQ5NTA4NTcsIDg2NDksIDEuMTczMDEwMjMwMDY0MzkyXSwgWzE2NjM4MTgwOTkuNjkzMDU3LCA4NjY3LCAxLjE3NDg5NjcxNzA3MTUzMzJdLCBbMTY2MzgxODA5OS44MDk0MjI3LCA4Njc2LCAxLjE3NjE4MDM2MjcwMTQxNl0sIFsxNjYzODE4MTAwLjAwNDU1NTUsIDg2OTQsIDEuMjcxOTcyODk0NjY4NTc5XSwgWzE2NjM4MTgxMDAuMjE3NTI5OCwgODcxMiwgMS4yNjIxNzI5MzczOTMxODg1XSwgWzE2NjM4MTgxMDAuMzE3NDkyMiwgODcyMSwgMS4yNzE3NDQ4NDcyOTc2Njg1XSwgWzE2NjM4MTgxMDAuNjI2MTA4NCwgODc0OCwgMS4yMzE4MDQ4NDc3MTcyODUyXSwgWzE2NjM4MTgxMDEuMTY4Njc5NywgODc5MywgMS4xODg5MjE0NTE1Njg2MDM1XSwgWzE2NjM4MTgxMDEuMzM2OTM1MywgODgxMSwgMS4yMDQxODA3MTc0NjgyNjE3XSwgWzE2NjM4MTgxMDEuNDIyNTY5OCwgODgyMCwgMS4xODE4OTA2MDY4ODAxODhdLCBbMTY2MzgxODEwMS42NzY1ODM4LCA4ODQ3LCAxLjI1MzAyNjI0NzAyNDUzNjFdLCBbMTY2MzgxODEwMi4xMzU5MjkzLCA4ODgzLCAxLjIyMzIxMjU5OTc1NDMzMzVdLCBbMTY2MzgxODEwMi41NTU1NDI3LCA4OTE5LCAxLjIwODM5MzA5NjkyMzgyODFdLCBbMTY2MzgxODEwMi45NDU0OTksIDg5MzcsIDEuMjMzNzY4OTM5OTcxOTIzOF0sIFsxNjYzODE4MTAzLjE0OTQzNzQsIDg5NTUsIDEuMjM2OTA5NzQ3MTIzNzE4M10sIFsxNjYzODE4MTAzLjM3OTE4MjYsIDg5NzMsIDEuMjQ1MTY5MDQzNTQwOTU0Nl0sIFsxNjYzODE4MTAzLjU2OTI1MiwgODk5MSwgMS4xOTc5ODE3MTUyMDIzMzE1XSwgWzE2NjM4MTgxMDMuNjU0MzQ4NiwgOTAwMCwgMS4yMzY5NzMxNjY0NjU3NTkzXSwgWzE2NjM4MTgxMDMuOTU3ODA1MiwgOTAyNywgMS4xNzY2NTQ4MTU2NzM4MjgxXSwgWzE2NjM4MTgxMDQuMDQ3MDc0MywgOTAzNiwgMS4xNzQ4NTk4ODE0MDEwNjJdLCBbMTY2MzgxODEwNC4xNDI0OTE2LCA5MDQ1LCAxLjI0NzQzNTA5MjkyNjAyNTRdLCBbMTY2MzgxODEwNC4zMjk2NTg1LCA5MDYzLCAxLjE5NjE4NTIzMTIwODgwMTNdLCBbMTY2MzgxODEwNC44NDI5MzM3LCA5MTA4LCAxLjE4NDA4OTc3OTg1MzgyMDhdLCBbMTY2MzgxODEwNS4wMzE1ODA0LCA5MTI2LCAxLjI1MzU5ODMzMjQwNTA5MDNdLCBbMTY2MzgxODEwNS4yMzU3NDEsIDkxNDQsIDEuMjYyOTUzODc3NDQ5MDM1Nl0sIFsxNjYzODE4MTA1Ljg4NTU3LCA5MjA3LCAxLjE3NTEzMzIyODMwMjAwMl0sIFsxNjYzODE4MTA2LjIyNjUwMzQsIDkyNDMsIDEuMjYzMjcyODgxNTA3ODczNV0sIFsxNjYzODE4MTA2LjQxNzgwMjgsIDkyNjEsIDEuMzAwNDkxMDk0NTg5MjMzNF0sIFsxNjYzODE4MTA2LjUxMDEyNzgsIDkyNzAsIDEuMTk5MTk3MjkyMzI3ODgwOV0sIFsxNjYzODE4MTA3LjA1NTYwODMsIDkzMjQsIDEuMTc2MTQ0MjQyMjg2NjgyMV0sIFsxNjYzODE4MTA3LjEzODkwNCwgOTMzMywgMS4xNDk5NzM5ODg1MzMwMl0sIFsxNjYzODE4MTA3LjIyMTA5MDgsIDkzNDIsIDEuMjE3MzI1OTI1ODI3MDI2NF0sIFsxNjYzODE4MTA3LjMwMDY5NjQsIDkzNTEsIDEuMjY5Njk4NzM5MDUxODE4OF0sIFsxNjYzODE4MTA3LjM4MTEwMywgOTM2MCwgMS4yODMxODQwNTE1MTM2NzE5XSwgWzE2NjM4MTgxMDcuNzU2NTE0LCA5Mzk2LCAxLjE5ODY1MjYyNTA4MzkyMzNdLCBbMTY2MzgxODEwOC4wMTI4NjU4LCA5NDIzLCAxLjE4NTQ4MTkwNTkzNzE5NDhdLCBbMTY2MzgxODEwOC44OTIzMTIzLCA5NTEzLCAxLjI0NjIwMjgyNjQ5OTkzOV0sIFsxNjYzODE4MTA5LjA3MTQ3NzcsIDk1MzEsIDEuMTc4NjYxNTg0ODU0MTI2XSwgWzE2NjM4MTgxMDkuMTU3NjY1NywgOTU0MCwgMS4xODAwMjA0NTE1NDU3MTUzXSwgWzE2NjM4MTgxMDkuMjQ0MDIxNywgOTU0OSwgMS4xNzQxNjgyMjkxMDMwODg0XSwgWzE2NjM4MTgxMDkuNDMzNzI2OCwgOTU2NywgMS4yMjA0MDE3NjM5MTYwMTU2XSwgWzE2NjM4MTgxMDkuNzA3MTA4MywgOTU5NCwgMS4yNjM4ODA0OTEyNTY3MTM5XSwgWzE2NjM4MTgxMDkuOTQ0NzkzLCA5NjEyLCAxLjE5MTc4ODA3NzM1NDQzMTJdLCBbMTY2MzgxODExMC4xNzk4ODY2LCA5NjMwLCAxLjI2ODUyNTAwNDM4NjkwMTldLCBbMTY2MzgxODExMC4yOTAxMjAxLCA5NjM5LCAxLjI4MjE4MTI2Mjk2OTk3MDddLCBbMTY2MzgxODExMC40MTg3LCA5NjQ4LCAxLjE4NjMzMzc3NTUyMDMyNDddLCBbMTY2MzgxODExMC41NDExODEsIDk2NTcsIDEuMTgxNzYyOTMzNzMxMDc5XSwgWzE2NjM4MTgxMTAuNjQxNTYzNywgOTY2NiwgMS4xNzM2NzY0OTA3ODM2OTE0XSwgWzE2NjM4MTgxMTAuNzQ3MjI2LCA5Njc1LCAxLjE3NTgyOTc2ODE4MDg0NzJdLCBbMTY2MzgxODExMS4wNzE3ODYyLCA5NzAyLCAxLjE4NjExNTc0MTcyOTczNjNdLCBbMTY2MzgxODExMS4zMjYwNzg3LCA5NzExLCAxLjE4ODM2MzkwOTcyMTM3NDVdLCBbMTY2MzgxODExMS41MTk0NTc2LCA5NzI5LCAxLjE5OTIxODE1Mzk1MzU1MjJdLCBbMTY2MzgxODExMS42MTcxODQ5LCA5NzM4LCAxLjI0Mjc0NTc1NzEwMjk2NjNdLCBbMTY2MzgxODExMS43MjE2NTU0LCA5NzQ3LCAxLjI1MDAwNTg0MTI1NTE4OF0sIFsxNjYzODE4MTEyLjAwNTU3NjEsIDk3NzQsIDEuMjI4ODQ3OTgwNDk5MjY3Nl0sIFsxNjYzODE4MTEyLjA5OTE1NDIsIDk3ODMsIDEuMTYzMDczMzAxMzE1MzA3Nl0sIFsxNjYzODE4MTEyLjE4OTgyNTgsIDk3OTIsIDEuMTY2Nzg4MTAxMTk2Mjg5XSwgWzE2NjM4MTgxMTIuNTU3NTkxNCwgOTgyOCwgMS4xOTg3NDYyMDQzNzYyMjA3XSwgWzE2NjM4MTgxMTMuMzEzMTA4LCA5ODkxLCAxLjE3ODg0MTU5MDg4MTM0NzddLCBbMTY2MzgxODExMy41MzYzNDc2LCA5OTA5LCAxLjI5NzAxMDc3OTM4MDc5ODNdLCBbMTY2MzgxODExMy43MzYzOTYsIDk5MjcsIDEuMjg5MjMxMzAwMzU0MDA0XSwgWzE2NjM4MTgxMTMuODY2NjEzNCwgOTkzNiwgMS4xODQyMDE0Nzg5NTgxMjk5XSwgWzE2NjM4MTgxMTMuOTc5MjYwNywgOTk0NSwgMS4yMjkyMjE0NjMyMDM0MzAyXSwgWzE2NjM4MTgxMTQuMjcxMzMwNCwgOTk3MiwgMS4zNzgzOTgxODAwMDc5MzQ2XSwgWzE2NjM4MTgxMTQuNDU0MzE3NiwgOTk5MCwgMS4xOTE4MzQ2ODgxODY2NDU1XSwgWzE2NjM4MTgxMTQuNjUxNzM3NywgMTAwMDgsIDEuMjY3OTU2NjE0NDk0MzIzN10sIFsxNjYzODE4MTE0Ljc0OTI1NzgsIDEwMDE3LCAxLjE3MzY5MTAzNDMxNzAxNjZdLCBbMTY2MzgxODExNC45MjUxMDI3LCAxMDAzNSwgMS4yMTEyMzY0NzY4OTgxOTM0XSwgWzE2NjM4MTgxMTUuMzcyNjc1NCwgMTAwODAsIDEuMjE1NTc5NzQ4MTUzNjg2NV0sIFsxNjYzODE4MTE1LjU0MDQwNjUsIDEwMDk4LCAxLjIzMTg4ODE3NTAxMDY4MTJdLCBbMTY2MzgxODExNS42Mjc1MjIsIDEwMTA3LCAxLjIxNDI1MDkyMjIwMzA2NF0sIFsxNjYzODE4MTE1LjkxMDA5MTIsIDEwMTM0LCAxLjE5Mzg3NTU1MTIyMzc1NDldLCBbMTY2MzgxODExNS45OTc1ODY3LCAxMDE0MywgMS4yMDEwNzgyOTU3MDc3MDI2XSwgWzE2NjM4MTgxMTYuMjAzMzA4MywgMTAxNjEsIDEuMTQzMTQwNTU0NDI4MTAwNl0sIFsxNjYzODE4MTE2LjMwODEzNzIsIDEwMTcwLCAxLjIxNDIwMDczNTA5MjE2M10sIFsxNjYzODE4MTE2LjYwNjIzMDUsIDEwMTk3LCAxLjE3ODQ0MjQ3ODE3OTkzMTZdLCBbMTY2MzgxODExNi43ODY5NzM1LCAxMDIxNSwgMS4xNzk4MjE2MTA0NTA3NDQ2XSwgWzE2NjM4MTgxMTYuODgyMDgwNiwgMTAyMjQsIDEuMTg1NDcwNTgxMDU0Njg3NV0sIFsxNjYzODE4MTE2Ljk3OTkzMjgsIDEwMjMzLCAxLjE2Njk2MjAyNzU0OTc0MzddLCBbMTY2MzgxODExNy4zMjUyNjk3LCAxMDI2MCwgMS4xNDk1NjE3NjI4MDk3NTM0XSwgWzE2NjM4MTgxMTcuOTc2NzcwOSwgMTAzMjMsIDEuMjUyMjUyMjIxMTA3NDgzXSwgWzE2NjM4MTgxMTguMTU0NjM3LCAxMDM0MSwgMS4xODUwMzkwNDM0MjY1MTM3XSwgWzE2NjM4MTgxMTguMzIxNDQ4LCAxMDM1OSwgMS4xODM1MzA4MDc0OTUxMTcyXSwgWzE2NjM4MTgxMTguNDEyNTkyNCwgMTAzNjgsIDEuMTY1Mzk1MjU5ODU3MTc3N10sIFsxNjYzODE4MTE4LjUyMDQxODYsIDEwMzc3LCAxLjE2OTA4ODcyMTI3NTMyOTZdLCBbMTY2MzgxODExOC42Mjg3MDYyLCAxMDM4NiwgMS4xOTA3Njk2NzIzOTM3OTg4XSwgWzE2NjM4MTgxMTkuMzkxNzQyMiwgMTA0NDksIDEuMjA2NTUzOTM2MDA0NjM4N10sIFsxNjYzODE4MTE5LjU4NjY1NTQsIDEwNDY3LCAxLjI0NjE4OTQ3NTA1OTUwOTNdLCBbMTY2MzgxODExOS44MDY5NTUsIDEwNDg1LCAxLjE4NTkxMTc3NDYzNTMxNV0sIFsxNjYzODE4MTIwLjMwNjc0OSwgMTA1MTIsIDEuMjA4MjA1MzQyMjkyNzg1Nl0sIFsxNjYzODE4MTIwLjkyMzg4MjIsIDEwNTY2LCAxLjE2MzQzMjAwMjA2NzU2Nl0sIFsxNjYzODE4MTIxLjAyNDY3MiwgMTA1NzUsIDEuMTk2NTk3MjE4NTEzNDg4OF0sIFsxNjYzODE4MTIxLjI0NTA2NDMsIDEwNTkzLCAxLjE2MDkxNzc1ODk0MTY1MDRdLCBbMTY2MzgxODEyMS4zODA3MDQ5LCAxMDYwMiwgMS4xNzY1MDUyMDgwMTU0NDJdLCBbMTY2MzgxODEyMS40NzYwNzIsIDEwNjExLCAxLjE5NjI5OTA3NjA4MDMyMjNdLCBbMTY2MzgxODEyMS44NjMxNDU2LCAxMDY0NywgMS4xNjgwMjYwODk2NjgyNzRdLCBbMTY2MzgxODEyMi4wNjQ3MDc1LCAxMDY2NSwgMS4xNzA3MDQ5NjA4MjMwNTldLCBbMTY2MzgxODEyMi4yMzUwNzc5LCAxMDY4MywgMS4xODU3NjY2OTY5Mjk5MzE2XSwgWzE2NjM4MTgxMjIuNDk3NTc3NywgMTA3MTAsIDEuMTY3NjY5NzczMTAxODA2Nl0sIFsxNjYzODE4MTIyLjU4NTg2MTIsIDEwNzE5LCAxLjE5OTM4MTk0NzUxNzM5NV0sIFsxNjYzODE4MTIyLjg5MjM5MTQsIDEwNzQ2LCAxLjMwNTM2ODY2MTg4MDQ5MzJdLCBbMTY2MzgxODEyMi45ODU0MzQ4LCAxMDc1NSwgMS4zMzE3OTc0ODA1ODMxOTFdLCBbMTY2MzgxODEyMy4yNTg3ODU1LCAxMDc4MiwgMS4yMTcxNDI1ODE5Mzk2OTczXSwgWzE2NjM4MTgxMjMuMzQ0NTQyNywgMTA3OTEsIDEuMTk3MTExMDEwNTUxNDUyNl0sIFsxNjYzODE4MTIzLjYwMTkzMzUsIDEwODE4LCAxLjIyMDc5NTI3Mzc4MDgyMjhdLCBbMTY2MzgxODEyMy45NzA4NTM4LCAxMDg1NCwgMS4yMjE1NzU4NTYyMDg4MDEzXSwgWzE2NjM4MTgxMjQuMDYyMTg4NCwgMTA4NjMsIDEuMjU3NjI1MzQxNDE1NDA1M10sIFsxNjYzODE4MTI0LjE1NzU4NCwgMTA4NzIsIDEuMjYwMDQzNjIxMDYzMjMyNF0sIFsxNjYzODE4MTI0LjMyNzAxNzUsIDEwODkwLCAxLjIyMDA4OTY3Mzk5NTk3MTddLCBbMTY2MzgxODEyNC43MjUzNDM1LCAxMDkyNiwgMS4xOTM4MDk2Mjg0ODY2MzMzXSwgWzE2NjM4MTgxMjQuODAzNjg1NywgMTA5MzUsIDEuMTY1NTk2ODQyNzY1ODA4XSwgWzE2NjM4MTgxMjUuMTEwMzY1OSwgMTA5NzEsIDEuMjAwMDMxODc2NTY0MDI1OV0sIFsxNjYzODE4MTI1LjUwMDM3MDMsIDExMDE2LCAxLjE4NTIwNDI2NzUwMTgzMV0sIFsxNjYzODE4MTI1LjY1MzI0NjksIDExMDM0LCAxLjE5MTMyMTg0OTgyMjk5OF0sIFsxNjYzODE4MTI1Ljk3MzQwOSwgMTEwNzAsIDEuMTY2ODcwMzU1NjA2MDc5XSwgWzE2NjM4MTgxMjYuMjI1MTU1NCwgMTEwOTcsIDEuMjMwMzY4MTM3MzU5NjE5MV0sIFsxNjYzODE4MTI2LjMyMjU4NzMsIDExMTA2LCAxLjIxNTAyNjk3NDY3ODAzOTZdLCBbMTY2MzgxODEyNi43NDkyMDcsIDExMTUxLCAxLjE2ODMzOTI1MjQ3MTkyMzhdLCBbMTY2MzgxODEyNi45MjE5MzQsIDExMTY5LCAxLjE2MDAzNzM5ODMzODMxNzldLCBbMTY2MzgxODEyNy4xODg4OTgzLCAxMTE5NiwgMS4xNTY5NTYwNzY2MjIwMDkzXSwgWzE2NjM4MTgxMjcuMjc5NDc5MywgMTEyMDUsIDEuMTc4NDE4ODc0NzQwNjAwNl0sIFsxNjYzODE4MTI3LjQ2MzE5MDgsIDExMjIzLCAxLjE3MTg3NjQzMDUxMTQ3NDZdLCBbMTY2MzgxODEyNy43MzQ1Nzg4LCAxMTI1MCwgMS4xNjU2NjA4NTgxNTQyOTY5XSwgWzE2NjM4MTgxMjcuODIwNzgzNiwgMTEyNTksIDEuMTUwNjA5OTcwMDkyNzczNF0sIFsxNjYzODE4MTI4LjA3MzY3NSwgMTEyNjgsIDEuMTU2NDM4NTg5MDk2MDY5M10sIFsxNjYzODE4MTI4LjE2MTI3NTQsIDExMjc3LCAxLjE3MjU1NTY4NTA0MzMzNV0sIFsxNjYzODE4MTI4LjMyNzg3NzMsIDExMjk1LCAxLjIyODU5ODgzMzA4NDEwNjRdLCBbMTY2MzgxODEyOC41MDAwNzg0LCAxMTMxMywgMS4yOTczMTYzMTI3ODk5MTddLCBbMTY2MzgxODEyOC41ODk5MDQ1LCAxMTMyMiwgMS4yNzgyODAzNzczODgwMDA1XSwgWzE2NjM4MTgxMjguODc1MjE2NSwgMTEzNDksIDEuMjE5MTQxMTI1Njc5MDE2MV0sIFsxNjYzODE4MTI4Ljk2Nzc2MTgsIDExMzU4LCAxLjE5MDQ5ODExMzYzMjIwMjFdLCBbMTY2MzgxODEyOS41MDQwOTY3LCAxMTQxMiwgMS4xODU4NDU3MzI2ODg5MDM4XSwgWzE2NjM4MTgxMjkuODYyNDI0OSwgMTE0NDgsIDEuMTUzNTY3NzkwOTg1MTA3NF0sIFsxNjYzODE4MTMwLjI4OTczMywgMTE0OTMsIDEuMTYxMTgxMDkyMjYyMjY4XSwgWzE2NjM4MTgxMzAuMzgxMTQ0OCwgMTE1MDIsIDEuMjAzNDU2NTIxMDM0MjQwN10sIFsxNjYzODE4MTMwLjQ4Nzc5ODcsIDExNTExLCAxLjMzMjk5NTE3NjMxNTMwNzZdLCBbMTY2MzgxODEzMC45MDMxNjM3LCAxMTU0NywgMS4yNDkwOTU1NTkxMjAxNzgyXSwgWzE2NjM4MTgxMzEuMTk3MjM5OSwgMTE1NzQsIDEuMjQwMzE0NzIyMDYxMTU3Ml0sIFsxNjYzODE4MTMxLjczMjU0MTMsIDExNjE5LCAxLjE3MzgwMjYxNDIxMjAzNjFdLCBbMTY2MzgxODEzMi4wNTE2MDYsIDExNjQ2LCAxLjE1NTIzNzc5MzkyMjQyNDNdLCBbMTY2MzgxODEzMi42MjE3Nzg3LCAxMTY5MSwgMS4xNjAyOTMxMDIyNjQ0MDQzXSwgWzE2NjM4MTgxMzIuNzIxMjExNCwgMTE3MDAsIDEuMTgzMDc5MjQyNzA2Mjk4OF0sIFsxNjYzODE4MTMzLjA0NTUyMjIsIDExNzI3LCAxLjE4OTQ2NDMzMDY3MzIxNzhdLCBbMTY2MzgxODEzMy40NjIyMzI0LCAxMTc2MywgMS4xNjEyMjc5NDE1MTMwNjE1XSwgWzE2NjM4MTgxMzMuOTI2OTQ5MywgMTE3OTksIDEuMTQ2NzkxODE1NzU3NzUxNV0sIFsxNjYzODE4MTM0LjM5NzIyODUsIDExODQ0LCAxLjIxMzc5OTU5NTgzMjgyNDddLCBbMTY2MzgxODEzNC44OTI0MTE3LCAxMTg4OSwgMS4xNjcxNzc1NTc5NDUyNTE1XSwgWzE2NjM4MTgxMzUuMDczODQ4NSwgMTE5MDcsIDEuMTYwMDUxNzAzNDUzMDY0XSwgWzE2NjM4MTgxMzUuMzUyMDU1NSwgMTE5MzQsIDEuMjAxMTE5MDY1Mjg0NzI5XSwgWzE2NjM4MTgxMzUuNDQxNzMxLCAxMTk0MywgMS4xNTgzODkyMTA3MDA5ODg4XSwgWzE2NjM4MTgxMzUuNjMwODg1LCAxMTk2MSwgMS4xNTU5MTc3NjM3MTAwMjJdLCBbMTY2MzgxODEzNi4yNzkxODE3LCAxMjAyNCwgMS4xNzUxNjA4ODQ4NTcxNzc3XSwgWzE2NjM4MTgxMzcuNDA3Njk1MywgMTIxMDUsIDEuMTY2OTMwNjc1NTA2NTkxOF0sIFsxNjYzODE4MTM3LjUyNTUxNDgsIDEyMTE0LCAxLjE2ODE2NDg0OTI4MTMxMV0sIFsxNjYzODE4MTM3Ljg0MDE3MjMsIDEyMTQxLCAxLjE3OTQwMzQyNDI2MzAwMDVdLCBbMTY2MzgxODEzOC4xNDQ1OTE2LCAxMjE2OCwgMS4xNzAyNTM1MTUyNDM1MzAzXSwgWzE2NjM4MTgxMzguMjU5NzY0MiwgMTIxNzcsIDEuMTk4MjM2NTg0NjYzMzkxMV0sIFsxNjYzODE4MTM4LjQ5MTA5NiwgMTIxOTUsIDEuMTg3MTQzNTY0MjI0MjQzMl0sIFsxNjYzODE4MTM4Ljg2MDAyODUsIDEyMjMxLCAxLjE4NzYwMzcxMjA4MTkwOTJdLCBbMTY2MzgxODEzOS4wMzE5MjE2LCAxMjI0OSwgMS4xNjYyOTQ4MTMxNTYxMjhdLCBbMTY2MzgxODEzOS4zODAyMTYsIDEyMjg1LCAxLjIyNTE1MTA2MjAxMTcxODhdLCBbMTY2MzgxODEzOS40Njg3MTg4LCAxMjI5NCwgMS4yMjgyMTc5NTk0MDM5OTE3XSwgWzE2NjM4MTgxMzkuNTYyODYyNCwgMTIzMDMsIDEuMjY0NDgxNzgyOTEzMjA4XSwgWzE2NjM4MTgxMzkuNjU0Nzk4NSwgMTIzMTIsIDEuMTk1MTI4MjAyNDM4MzU0NV0sIFsxNjYzODE4MTM5Ljc0NzQ4NjQsIDEyMzIxLCAxLjIyMDk1ODgyODkyNjA4NjRdLCBbMTY2MzgxODE0MC4zOTMyNzk2LCAxMjM4NCwgMS4yMzg2OTMyMzczMDQ2ODc1XSwgWzE2NjM4MTgxNDAuNDg2NTIxMiwgMTIzOTMsIDEuMTg3NTM2MDAxMjA1NDQ0M10sIFsxNjYzODE4MTQwLjg0NjkwNzksIDEyNDI5LCAxLjIxMDUzNTQwNzA2NjM0NTJdLCBbMTY2MzgxODE0MS4zMDI4MDc4LCAxMjQ3NCwgMS4xNTgxMTM1OTg4MjM1NDc0XSwgWzE2NjM4MTgxNDEuMzg5NTgzNiwgMTI0ODMsIDEuMTY5MTcwMTQxMjIwMDkyOF0sIFsxNjYzODE4MTQxLjc0OTY1MiwgMTI1MTksIDEuMTUyNzA0MTE5NjgyMzEyXSwgWzE2NjM4MTgxNDIuMDIwMzgxNSwgMTI1NDYsIDEuMjExNDM3ODIxMzg4MjQ0Nl0sIFsxNjYzODE4MTQyLjM3MTUxODEsIDEyNTgyLCAxLjEzNTQ4MTgzNDQxMTYyMV0sIFsxNjYzODE4MTQ0LjI4MzYyOTcsIDEyNzYyLCAxLjE5MzUwNTA0ODc1MTgzMV0sIFsxNjYzODE4MTQ0LjY3NTE1MzcsIDEyNzk4LCAxLjE1MzUyMzMyNTkyMDEwNV0sIFsxNjYzODE4MTQ1Ljg1NDM3OTQsIDEyODg4LCAxLjE5NDkzNTU2MDIyNjQ0MDRdLCBbMTY2MzgxODE0NS45OTA4NjI2LCAxMjg5NywgMS4xNTQ3MDgyNjYyNTgyMzk3XSwgWzE2NjM4MTgxNDYuMzg2MDEsIDEyOTMzLCAxLjIxMjkyODUzMzU1NDA3NzFdLCBbMTY2MzgxODE0Ni41NjU1NjUsIDEyOTUxLCAxLjE2NjYxNjIwMTQwMDc1NjhdLCBbMTY2MzgxODE0Ni42NTM1OTM1LCAxMjk2MCwgMS4xNDczODcwMjc3NDA0Nzg1XSwgWzE2NjM4MTgxNDYuNzQyNDA0NSwgMTI5NjksIDEuMTcwMDQwODQ1ODcwOTcxN10sIFsxNjYzODE4MTQ2Ljg0NDIyNzMsIDEyOTc4LCAxLjE3MTIzMjgxOTU1NzE5XSwgWzE2NjM4MTgxNDcuMTk0NjEzNSwgMTMwMDUsIDEuMTk2OTQ0MzU1OTY0NjYwNl0sIFsxNjYzODE4MTQ3LjUwNjM5MSwgMTMwMzIsIDEuMTc2MDIwMTQ1NDE2MjU5OF0sIFsxNjYzODE4MTQ3Ljc0OTA1NzMsIDEzMDUwLCAxLjIwNTM0NzA2MTE1NzIyNjZdLCBbMTY2MzgxODE0Ny45NDU2ODE4LCAxMzA2OCwgMS4xNDgwMTAzNzMxMTU1Mzk2XSwgWzE2NjM4MTgxNDguMDQ0NjgzMiwgMTMwNzcsIDEuMTU2NzYxMjg4NjQyODgzM10sIFsxNjYzODE4MTQ4LjIzMTYzNzcsIDEzMDk1LCAxLjIxOTY0NjkzMDY5NDU4XSwgWzE2NjM4MTgxNDguMzMyNDQ0MiwgMTMxMDQsIDEuMTM4NzEwNDk4ODA5ODE0NV0sIFsxNjYzODE4MTQ4LjUyMjM4OTQsIDEzMTIyLCAxLjE0ODU5NDQ5ODYzNDMzODRdLCBbMTY2MzgxODE0OC42MTc5MTUyLCAxMzEzMSwgMS4xMzc1MTc0NTIyMzk5OTAyXSwgWzE2NjM4MTgxNDguODM4NTA2MiwgMTMxNDksIDEuMTM4MTQ5NDk5ODkzMTg4NV0sIFsxNjYzODE4MTQ4LjkzNDIyMTcsIDEzMTU4LCAxLjE2MjM2ODc3NDQxNDA2MjVdLCBbMTY2MzgxODE0OS4xMzE5NjQ0LCAxMzE3NiwgMS4xOTcxMzI3MDY2NDIxNTA5XSwgWzE2NjM4MTgxNDkuOTA5NjUyLCAxMzIzOSwgMS4xOTgzMDg1ODcwNzQyNzk4XSwgWzE2NjM4MTgxNTAuMTY2NjE2MiwgMTMyNjYsIDEuMTg4NjA0ODMxNjk1NTU2Nl0sIFsxNjYzODE4MTUwLjI0Nzk1MDgsIDEzMjc1LCAxLjE2ODkxMTY5NTQ4MDM0NjddLCBbMTY2MzgxODE1MC40MzMwMDA2LCAxMzI5MywgMS4yMTA2MjY0ODI5NjM1NjJdLCBbMTY2MzgxODE1MS4wNzY0NzY2LCAxMzM1NiwgMS4xNzQ3Mzc0NTM0NjA2OTM0XSwgWzE2NjM4MTgxNTEuNDkwNDkxLCAxMzM5MiwgMS4xOTE0MjY5OTI0MTYzODE4XSwgWzE2NjM4MTgxNTEuODA1MzI4NiwgMTM0MTksIDEuMTYwMjYzMjk5OTQyMDE2Nl0sIFsxNjYzODE4MTUyLjA4NjE4NTUsIDEzNDQ2LCAxLjE2NjI5NDA5NzkwMDM5MDZdLCBbMTY2MzgxODE1Mi4xODk1NDAxLCAxMzQ1NSwgMS4xNTI5MzQ5MDg4NjY4ODIzXSwgWzE2NjM4MTgxNTIuNTQ2MTgwMiwgMTM0OTEsIDEuMTc5ODEyMDczNzA3NTgwNl0sIFsxNjYzODE4MTUyLjYzMTIxMTUsIDEzNTAwLCAxLjE0NTc1MDQwMzQwNDIzNThdLCBbMTY2MzgxODE1Mi45MDA1MjA2LCAxMzUyNywgMS4yMDQwNDk1ODcyNDk3NTU5XSwgWzE2NjM4MTgxNTMuNjM0MTU4OCwgMTM1OTAsIDEuMTc4Mzk2NzAxODEyNzQ0MV0sIFsxNjYzODE4MTUzLjkzMTA2MzQsIDEzNTk5LCAxLjIyNzEyMjkwMjg3MDE3ODJdLCBbMTY2MzgxODE1NC4wMzU1NjQyLCAxMzYwOCwgMS4zMzA4MTgxNzYyNjk1MzEyXSwgWzE2NjM4MTgxNTQuMjI4MDY1NywgMTM2MjYsIDEuMTg1NjE0MTA5MDM5MzA2Nl0sIFsxNjYzODE4MTU0LjQwMjIyNDMsIDEzNjQ0LCAxLjE1NTk2MjU4NjQwMjg5M10sIFsxNjYzODE4MTU0LjQ4NzA5NzMsIDEzNjUzLCAxLjE2NzI3MzA0NDU4NjE4MTZdLCBbMTY2MzgxODE1NS4xNjQ1NjY4LCAxMzcxNiwgMS4xNTkwOTUxNjgxMTM3MDg1XSwgWzE2NjM4MTgxNTUuNjA1MTMzNSwgMTM3NjEsIDEuMTU1MjY0MTM5MTc1NDE1XSwgWzE2NjM4MTgxNTYuMTAzNzU3LCAxMzgxNSwgMS4xNDUxMDE1NDcyNDEyMTFdLCBbMTY2MzgxODE1Ni40MTUxNDQ0LCAxMzg0MiwgMS4xODU2MzkxNDI5OTAxMTIzXSwgWzE2NjM4MTgxNTYuNTI5MTM4OCwgMTM4NTEsIDEuMTgwMjE3Mzg1MjkyMDUzMl0sIFsxNjYzODE4MTU2LjgzNDA3LCAxMzg3OCwgMS4xOTY4NDAyODYyNTQ4ODI4XSwgWzE2NjM4MTgxNTcuNDY3NDMzNywgMTM5NDEsIDEuMTg1NTM5MjQ1NjA1NDY4OF0sIFsxNjYzODE4MTU3Ljc4MTU2NDIsIDEzOTY4LCAxLjE2NjkxNDM0MzgzMzkyMzNdLCBbMTY2MzgxODE1Ny45MDAyMzc2LCAxMzk3NywgMS4xNTYwNzUxMTk5NzIyMjldLCBbMTY2MzgxODE1OC4wMDE2NTU2LCAxMzk4NiwgMS4xNjk2MDg0NzM3Nzc3NzFdLCBbMTY2MzgxODE1OC45OTA4Mjk3LCAxNDA2NywgMS4xNTgyOTg5NjkyNjg3OTg4XSwgWzE2NjM4MTgxNTkuMjk2MzUwMiwgMTQwOTQsIDEuMTU0NTk4MTE2ODc0Njk0OF0sIFsxNjYzODE4MTU5LjQwMTE5NiwgMTQxMDMsIDEuMTgyMzI2MzE2ODMzNDk2XSwgWzE2NjM4MTgxNTkuNjM2LCAxNDEyMSwgMS4xNDc1MTA1Mjg1NjQ0NTMxXSwgWzE2NjM4MTgxNTkuODc0NjI3LCAxNDEzOSwgMS4xMzA0NDA0NzM1NTY1MTg2XSwgWzE2NjM4MTgxNTkuOTgwMzUzLCAxNDE0OCwgMS4xNzA3ODEzNzM5Nzc2NjExXSwgWzE2NjM4MTgxNjAuMTA4MTg3NywgMTQxNTcsIDEuMTQ3OTc2OTk0NTE0NDY1M10sIFsxNjYzODE4MTYwLjIxNzQ4NjEsIDE0MTY2LCAxLjIzMTI5NDI3NDMzMDEzOTJdLCBbMTY2MzgxODE2MC40OTQ3OTc1LCAxNDE5MywgMS4xODYyMDUxNDg2OTY4OTk0XSwgWzE2NjM4MTgxNjAuOTQ4MjM5OCwgMTQyMjksIDEuMTQwODcxMjg2MzkyMjEyXSwgWzE2NjM4MTgxNjEuMDM1ODU3MiwgMTQyMzgsIDEuMjE3MzUzNTgyMzgyMjAyMV0sIFsxNjYzODE4MTYxLjExNjA1MDIsIDE0MjQ3LCAxLjE2MDU5OTQ3MDEzODU0OThdLCBbMTY2MzgxODE2MS4zNjIxNjg4LCAxNDI3NCwgMS4xNzU4NzI0NDUxMDY1MDYzXSwgWzE2NjM4MTgxNjEuNzk4NjExNiwgMTQzMTksIDEuMTU4NTM1OTU3MzM2NDI1OF0sIFsxNjYzODE4MTYyLjI3MzEzNDIsIDE0MzY0LCAxLjE3MzI4OTY1NjYzOTA5OTFdLCBbMTY2MzgxODE2Mi41MTkzNzgyLCAxNDM3MywgMS4xODQyODAxNTcwODkyMzM0XSwgWzE2NjM4MTgxNjIuNjEzMzgxMSwgMTQzODIsIDEuMTQ1MDM1NTA1Mjk0Nzk5OF0sIFsxNjYzODE4MTYyLjk1ODMyOTcsIDE0NDE4LCAxLjIzNzM1MzU2MzMwODcxNThdLCBbMTY2MzgxODE2My4wNDc1Njg4LCAxNDQyNywgMS4yODUyNDUyOTkzMzkyOTQ0XSwgWzE2NjM4MTgxNjMuMTUxMjgzNywgMTQ0MzYsIDEuMzQxNDUzMTk0NjE4MjI1XSwgWzE2NjM4MTgxNjMuODQyMzM2NywgMTQ1MDgsIDEuMTQ0Mjg4Nzc4MzA1MDUzN10sIFsxNjYzODE4MTY0LjA3OTE0NDUsIDE0NTM1LCAxLjI3MzQ1MDQ5MzgxMjU2MV0sIFsxNjYzODE4MTY0LjMzNjQ3NzUsIDE0NTUzLCAxLjI0OTg4OTI1NDU3MDAwNzNdLCBbMTY2MzgxODE2NC45MDc1NzMyLCAxNDYwNywgMS4yMjM3MDkyMjU2NTQ2MDJdLCBbMTY2MzgxODE2NS4wNzI3OTA2LCAxNDYyNSwgMS4yMDIzMDg0MTYzNjY1NzcxXSwgWzE2NjM4MTgxNjUuMzMzMjA2LCAxNDY1MiwgMS4yNTkzMzc2NjM2NTA1MTI3XSwgWzE2NjM4MTgxNjUuNjkxMTgsIDE0Njg4LCAxLjE4MDU4MTQ1MDQ2MjM0MTNdLCBbMTY2MzgxODE2Ni4wMjQ2MDU4LCAxNDcyNCwgMS4yNTkxNDI5OTQ4ODA2NzYzXSwgWzE2NjM4MTgxNjYuMjAxNTQ1NSwgMTQ3NDIsIDEuMTI2NDQ1MTc0MjE3MjI0MV0sIFsxNjYzODE4MTY2LjQ0NTgxOTQsIDE0NzY5LCAxLjE1ODI1MzE5MjkwMTYxMTNdLCBbMTY2MzgxODE2Ni41MzM0Njk3LCAxNDc3OCwgMS4yMDAzMjY2ODExMzcwODVdLCBbMTY2MzgxODE2Ni45NzQxMzYsIDE0ODIzLCAxLjE1NjUzNTI2NzgyOTg5NV0sIFsxNjYzODE4MTY3LjA2Mjg0MjgsIDE0ODMyLCAxLjE2MzcxNTk1ODU5NTI3NTldLCBbMTY2MzgxODE2Ny40MjIwODA4LCAxNDg2OCwgMS4xNjc5MjEzMDQ3MDI3NTg4XSwgWzE2NjM4MTgxNjcuNTA5NTEsIDE0ODc3LCAxLjE2MTY1MTEzNDQ5MDk2NjhdLCBbMTY2MzgxODE2Ny41OTk1MzE0LCAxNDg4NiwgMS4yNjk3MTQ5NTE1MTUxOTc4XSwgWzE2NjM4MTgxNjcuNjg1NTU1MiwgMTQ4OTUsIDEuMjA0NTYzMDIxNjU5ODUxXSwgWzE2NjM4MTgxNjcuODYyNDU5NCwgMTQ5MTMsIDEuMTY1MTAzOTEyMzUzNTE1Nl0sIFsxNjYzODE4MTY4LjAzMDIyLCAxNDkzMSwgMS4xODk3MzMxNDc2MjExNTQ4XSwgWzE2NjM4MTgxNjguMzc1NTU0NiwgMTQ5NjcsIDEuMTQyNDQ2Mzk4NzM1MDQ2NF0sIFsxNjYzODE4MTY4LjU0NzQ1NzUsIDE0OTg1LCAxLjE0NTU3ODAyNjc3MTU0NTRdLCBbMTY2MzgxODE2OC43MTY5NzE5LCAxNTAwMywgMS4xNDcxNjY4NDgxODI2NzgyXSwgWzE2NjM4MTgxNjguOTcxNjc2NiwgMTUwMzAsIDEuMjQyMzE5NzAzMTAyMTExOF0sIFsxNjYzODE4MTY5LjA2MTQ5NjcsIDE1MDM5LCAxLjMxNDMwNzIxMjgyOTU4OThdLCBbMTY2MzgxODE2OS40MjMwNzksIDE1MDc1LCAxLjIyNDExMDEyNjQ5NTM2MTNdLCBbMTY2MzgxODE2OS42NzMzNTksIDE1MTAyLCAxLjE1Njc0NDI0MTcxNDQ3NzVdLCBbMTY2MzgxODE2OS44NDgzNjYsIDE1MTIwLCAxLjE3NzcyNjM4Nzk3NzZdLCBbMTY2MzgxODE2OS45Mjc4MTksIDE1MTI5LCAxLjE4NTQ2NDM4MjE3MTYzMDldLCBbMTY2MzgxODE3MC4yNDU3NDk1LCAxNTE0NywgMS4xNjYyOTY4Mzk3MTQwNTAzXSwgWzE2NjM4MTgxNzAuNTA1NjkyMiwgMTUxNzQsIDEuMTQ2OTAxMDExNDY2OThdLCBbMTY2MzgxODE3MC41OTA3MDQ3LCAxNTE4MywgMS4xODQ1MjkzMDQ1MDQzOTQ1XSwgWzE2NjM4MTgxNzAuNjc5OTg2LCAxNTE5MiwgMS4xMzkzODgzMjI4MzAyMDAyXSwgWzE2NjM4MTgxNzAuNzk5MTM3LCAxNTIwMSwgMS4xMzY0MTk0MTU0NzM5MzhdLCBbMTY2MzgxODE3MS4yMzAxOTk2LCAxNTI0NiwgMS4xMzMzMzgyMTI5NjY5MTldLCBbMTY2MzgxODE3MS4zMjQ2NjUsIDE1MjU1LCAxLjEzMjAxMzMyMDkyMjg1MTZdLCBbMTY2MzgxODE3MS40MTQ2NTY0LCAxNTI2NCwgMS4xMzAyMjA2NTE2MjY1ODddLCBbMTY2MzgxODE3MS44MDQ4MTUsIDE1MzAwLCAxLjE5NTAwMTQ4Mjk2MzU2Ml0sIFsxNjYzODE4MTcyLjEwODQyODUsIDE1MzI3LCAxLjE1MjU4NzQxMzc4Nzg0MThdLCBbMTY2MzgxODE3Mi4zNDM1MDYzLCAxNTM0NSwgMS4xNzM0Mjg4OTMwODkyOTQ0XSwgWzE2NjM4MTgxNzIuNjI2MDM2MiwgMTUzNzIsIDEuMTQ4NTA5NjIxNjIwMTc4Ml0sIFsxNjYzODE4MTcyLjgzNTMzMDIsIDE1MzkwLCAxLjE2NzQ3MzE5Njk4MzMzNzRdLCBbMTY2MzgxODE3Mi45MzMwNTM1LCAxNTM5OSwgMS4xNDQ3NzY3MDE5MjcxODVdLCBbMTY2MzgxODE3My4wMzY3NjUzLCAxNTQwOCwgMS4xNTA4ODg1NjIyMDI0NTM2XSwgWzE2NjM4MTgxNzMuMTIyMDgxOCwgMTU0MTcsIDEuMTM0ODc3NDQzMzEzNTk4Nl0sIFsxNjYzODE4MTczLjY2NTU2MjYsIDE1NDcxLCAxLjIyOTcyMjE0MjIxOTU0MzVdLCBbMTY2MzgxODE3NC4wNjI5OTIsIDE1NTA3LCAxLjE2MzQwODE2MDIwOTY1NThdLCBbMTY2MzgxODE3NC4xNjc4NDgsIDE1NTE2LCAxLjE3NTUyMTczMTM3NjY0OF0sIFsxNjYzODE4MTc0LjI1ODYyNzIsIDE1NTI1LCAxLjE3MjcwODc0OTc3MTExODJdLCBbMTY2MzgxODE3NC4zNDgzNzEsIDE1NTM0LCAxLjEzNDEyNjE4NjM3MDg0OTZdLCBbMTY2MzgxODE3NC45MTE5MTEyLCAxNTU3OSwgMS4yNTk0OTcyODQ4ODkyMjEyXSwgWzE2NjM4MTgxNzUuNzU4Njg0MiwgMTU2NTEsIDEuMzMwMzU4ODYyODc2ODkyXSwgWzE2NjM4MTgxNzUuODUyMjI5OCwgMTU2NjAsIDEuMTYwNzY2NDgyMzUzMjEwNF0sIFsxNjYzODE4MTc2LjMwNTg4MTcsIDE1Njk2LCAxLjE0MDY3Njk3NTI1MDI0NDFdLCBbMTY2MzgxODE3Ni40OTE2MTU1LCAxNTcxNCwgMS4xODUxOTQ0OTIzNDAwODhdLCBbMTY2MzgxODE3Ni44MzI0NTU2LCAxNTc0MSwgMS4xNTM1MjUzNTI0NzgwMjczXSwgWzE2NjM4MTgxNzcuMDA4ODQ4NCwgMTU3NTksIDEuMjY4MDAxNzk0ODE1MDYzNV0sIFsxNjYzODE4MTc3LjA5NzgxNTUsIDE1NzY4LCAxLjE1NTM1OTk4MzQ0NDIxMzldLCBbMTY2MzgxODE3Ny4yNzI4NjUsIDE1Nzg2LCAxLjIxNjE2MzE1ODQxNjc0OF0sIFsxNjYzODE4MTc3LjM2MDc1NSwgMTU3OTUsIDEuMTk1ODcwMjgwMjY1ODA4XSwgWzE2NjM4MTgxNzcuNjMzNTM2MywgMTU4MjIsIDEuMTUxMDYwMzQyNzg4Njk2M10sIFsxNjYzODE4MTc4LjA3NjM4ODgsIDE1ODY3LCAxLjE3MDEzNTM3ODgzNzU4NTRdLCBbMTY2MzgxODE3OC4xNTY0MzA1LCAxNTg3NiwgMS4xMTIyMjUyOTQxMTMxNTkyXSwgWzE2NjM4MTgxNzguMzE5NjMwMSwgMTU4OTQsIDEuMTM2ODgyNjYyNzczMTMyM10sIFsxNjYzODE4MTc4LjczNDI1NCwgMTU5MjEsIDEuMjQ1MDY4NTUwMTA5ODYzM10sIFsxNjYzODE4MTc5LjMyNjY0MiwgMTU5ODQsIDEuMjA4MzAwOTQ4MTQzMDA1NF0sIFsxNjYzODE4MTc5LjQxMDMzOSwgMTU5OTMsIDEuMTU4NjA4MDc4OTU2NjA0XSwgWzE2NjM4MTgxNzkuNDkyODI2NywgMTYwMDIsIDEuMTczNjUxODE0NDYwNzU0NF0sIFsxNjYzODE4MTc5Ljc0OTA0NzgsIDE2MDI5LCAxLjE0MTY4ODU4NTI4MTM3Ml0sIFsxNjYzODE4MTgwLjA5MjU0NjcsIDE2MDY1LCAxLjEzODM5NzkzMjA1MjYxMjNdLCBbMTY2MzgxODE4MC4xODIwMDMsIDE2MDc0LCAxLjE1MDQyNzM0MTQ2MTE4MTZdLCBbMTY2MzgxODE4MC4yNjMzNTQzLCAxNjA4MywgMS4xNTY1MDgyMDczMjExNjddLCBbMTY2MzgxODE4MC41NjA0NjIyLCAxNjExMCwgMS4yMjIwMjc2NTk0MTYxOTg3XSwgWzE2NjM4MTgxODAuNjUyNjMyNSwgMTYxMTksIDEuMjMyOTU0NTAyMTA1NzEzXSwgWzE2NjM4MTgxODAuODM5MTE2MywgMTYxMzcsIDEuMTQwNDI4MDY2MjUzNjYyXSwgWzE2NjM4MTgxODEuMDA4NzU3NiwgMTYxNTUsIDEuMTUxNTQ1MDQ3NzYwMDA5OF0sIFsxNjYzODE4MTgxLjE3NDU3NjMsIDE2MTczLCAxLjE2MjMzNDQ0MjEzODY3MTldLCBbMTY2MzgxODE4MS41MDU5MzQsIDE2MjA5LCAxLjE5OTMyMzA1ODEyODM1N10sIFsxNjYzODE4MTgxLjY4MTY5NCwgMTYyMjcsIDEuMTQyODA2NjQ5MjA4MDY4OF0sIFsxNjYzODE4MTgyLjIxMzczNywgMTYyODEsIDEuMTc1MTA5ODYzMjgxMjVdLCBbMTY2MzgxODE4Mi4zODI2MDQxLCAxNjI5OSwgMS4xMjM0Mzk5MDgwMjc2NDldLCBbMTY2MzgxODE4Mi43Mjc2NDI4LCAxNjMzNSwgMS4xMzMzMTg5MDEwNjIwMTE3XSwgWzE2NjM4MTgxODMuMTc4MTcxOSwgMTYzODAsIDEuMTE1MjgzNzI3NjQ1ODc0XSwgWzE2NjM4MTgxODMuNTIyNTY1LCAxNjQxNiwgMS4xMTkwMjY3ODAxMjg0NzldLCBbMTY2MzgxODE4My43NzM0NjczLCAxNjQ0MywgMS4yMTU4ODI3NzgxNjc3MjQ2XSwgWzE2NjM4MTgxODMuODU4MTczLCAxNjQ1MiwgMS4yMDIzMjM2NzUxNTU2Mzk2XSwgWzE2NjM4MTgxODQuMDQwMTQxNiwgMTY0NzAsIDEuMTEzNTU0NzE2MTEwMjI5NV0sIFsxNjYzODE4MTg0LjE5NTU0NzMsIDE2NDc5LCAxLjE0ODE1OTM4NDcyNzQ3OF0sIFsxNjYzODE4MTg0LjQxNzA2NCwgMTY0OTcsIDEuMTI4NDk3NDgxMzQ2MTMwNF0sIFsxNjYzODE4MTg0LjUxMDUwMTYsIDE2NTA2LCAxLjEyNDc4NjAxOTMyNTI1NjNdLCBbMTY2MzgxODE4NC42MDgzMTI0LCAxNjUxNSwgMS4xNTAxNTMxNjAwOTUyMTQ4XSwgWzE2NjM4MTgxODQuNzk4NDk1LCAxNjUzMywgMS4xMzI3NDQzMTIyODYzNzddLCBbMTY2MzgxODE4NC44OTE1NzUsIDE2NTQyLCAxLjE0Njk0NTgzNDE1OTg1MV0sIFsxNjYzODE4MTg0Ljk5MTkxMDcsIDE2NTUxLCAxLjE3Mjg2NDY3NTUyMTg1MDZdLCBbMTY2MzgxODE4NS43NzY5NTgyLCAxNjYxNCwgMS4xNTU3NDk3OTc4MjEwNDVdLCBbMTY2MzgxODE4NS44NjExNDMsIDE2NjIzLCAxLjE2MTI5Mzg2NDI1MDE4M10sIFsxNjYzODE4MTg1Ljk0MzU0MDgsIDE2NjMyLCAxLjEyMjIzMzUxMDAxNzM5NV0sIFsxNjYzODE4MTg2LjAzOTg4ODYsIDE2NjQxLCAxLjEzNTUzNjY3MDY4NDgxNDVdLCBbMTY2MzgxODE4Ni4yODUyMTM1LCAxNjY2OCwgMS4xODU0NzQ4NzI1ODkxMTEzXSwgWzE2NjM4MTgxODcuMjkxNzY4MywgMTY3NDksIDEuMTY1NDU5NTEzNjY0MjQ1Nl0sIFsxNjYzODE4MTg3LjcxMjgwNDYsIDE2Nzk0LCAxLjEzMTczNjg3NDU4MDM4MzNdLCBbMTY2MzgxODE4Ny44MTE3MTY4LCAxNjgwMywgMS4xMzU3MTE1NTA3MTI1ODU0XSwgWzE2NjM4MTgxODcuODk4Njg2NCwgMTY4MTIsIDEuMTM4MzQ2NzkxMjY3Mzk1XSwgWzE2NjM4MTgxODguMjUzODY5LCAxNjg0OCwgMS4xNzE1NjI1NTI0NTIwODc0XSwgWzE2NjM4MTgxODguMzMzMzM1NCwgMTY4NTcsIDEuMTg2MTI0NTYzMjE3MTYzXSwgWzE2NjM4MTgxODguNTA5MDMxNSwgMTY4NzUsIDEuMTIyNTQ5MTc2MjE2MTI1NV0sIFsxNjYzODE4MTg4Ljc4NjkxMTIsIDE2OTAyLCAxLjE0MTkzNDYzMzI1NTAwNDldLCBbMTY2MzgxODE4OS4wODA0MjYyLCAxNjkyOSwgMS4xNDc5NjQ1OTY3NDgzNTJdLCBbMTY2MzgxODE4OS4zNDEzMTYsIDE2OTU2LCAxLjE5NzY3MTQxMzQyMTYzMDldLCBbMTY2MzgxODE4OS40Mzg2MjA2LCAxNjk2NSwgMS4yMjIwNDA1MzQwMTk0NzAyXSwgWzE2NjM4MTgxODkuNjU5NTM4MywgMTY5ODMsIDEuMTY4MzIyNjgyMzgwNjc2M10sIFsxNjYzODE4MTg5Ljg3MzY0ODIsIDE3MDAxLCAxLjE1ODQyNDYxNTg1OTk4NTRdLCBbMTY2MzgxODE5MC4wNjU0MzU2LCAxNzAxOSwgMS4xMzMwMjI2NjU5Nzc0NzhdLCBbMTY2MzgxODE5MC41MzU0NzUzLCAxNzA2NCwgMS4yMDA4MjM3ODM4NzQ1MTE3XSwgWzE2NjM4MTgxOTAuODk5Mjc3MiwgMTcxMDAsIDEuMTYyMzI2OTMxOTUzNDMwMl0sIFsxNjYzODE4MTkxLjE2ODIwMTQsIDE3MTI3LCAxLjEyNTE1ODMwOTkzNjUyMzRdLCBbMTY2MzgxODE5MS41MjkzOTc1LCAxNzE2MywgMS4xNTc4MDIyMjQxNTkyNDA3XSwgWzE2NjM4MTgxOTEuNzAwMjI3NSwgMTcxODEsIDEuMTQwNjk3NDc5MjQ4MDQ2OV0sIFsxNjYzODE4MTkxLjc4NzIyNzQsIDE3MTkwLCAxLjE2ODY3NTg5OTUwNTYxNTJdLCBbMTY2MzgxODE5MS44NzIyMTksIDE3MTk5LCAxLjE0MDgzMjE4NTc0NTIzOTNdLCBbMTY2MzgxODE5Mi4xMjgwMTIyLCAxNzIyNiwgMS4xNDg0NTIyODE5NTE5MDQzXSwgWzE2NjM4MTgxOTIuNTY4MTcyMiwgMTcyNzEsIDEuMTEwNzcxNDE3NjE3Nzk3OV0sIFsxNjYzODE4MTkzLjA4NTcwMjcsIDE3MzI1LCAxLjE2ODExMjAzOTU2NjA0XSwgWzE2NjM4MTgxOTMuMTY3ODkyMiwgMTczMzQsIDEuMTgxMzYyMzkwNTE4MTg4NV0sIFsxNjYzODE4MTkzLjI1MjM2NjgsIDE3MzQzLCAxLjE1ODI2NTIzMzAzOTg1Nl0sIFsxNjYzODE4MTkzLjUxNzgyOTIsIDE3MzcwLCAxLjE5NjQxMzM5Nzc4OTAwMTVdLCBbMTY2MzgxODE5My43NzY3NzU4LCAxNzM5NywgMS4xOTI2OTk2NzA3OTE2MjZdLCBbMTY2MzgxODE5NC4wMzY3Mjg5LCAxNzQyNCwgMS4xNDU1MjMzMDk3MDc2NDE2XSwgWzE2NjM4MTgxOTQuMTk1Njg5NywgMTc0MzMsIDEuMTQ5MDMwNjg1NDI0ODA0N10sIFsxNjYzODE4MTk0Ljc5NTExMDUsIDE3NDY5LCAxLjE3NjQxNjc1NDcyMjU5NTJdLCBbMTY2MzgxODE5NC44ODQ2MzgzLCAxNzQ3OCwgMS4xMTc2MDA1NjAxODgyOTM1XSwgWzE2NjM4MTgxOTQuOTc4OTI3MSwgMTc0ODcsIDEuMTE0NDQwNzk4NzU5NDYwNF0sIFsxNjYzODE4MTk1LjI0OTU3OTIsIDE3NTE0LCAxLjIwMTcyNDc2NzY4NDkzNjVdLCBbMTY2MzgxODE5NS40MjU0NDY1LCAxNzUzMiwgMS4xNTkzOTkwMzI1OTI3NzM0XSwgWzE2NjM4MTgxOTUuNjkxOTIwMywgMTc1NTksIDEuMTE5NjU1MDEzMDg0NDExNl0sIFsxNjYzODE4MTk1Ljk5ODYwOSwgMTc1ODYsIDEuMTc4MzA4NjA2MTQ3NzY2MV0sIFsxNjYzODE4MTk2LjI2NDk2MjcsIDE3NjEzLCAxLjE0MDM1MTI5NTQ3MTE5MTRdLCBbMTY2MzgxODE5Ni42ODA5NjExLCAxNzY0OSwgMS4xMTY2Mjc5MzE1OTQ4NDg2XSwgWzE2NjM4MTgxOTYuODAyNTQ5NiwgMTc2NTgsIDEuMTIwNDU2ODE0NzY1OTMwMl0sIFsxNjYzODE4MTk2LjkwOTIzMzgsIDE3NjY3LCAxLjE0MjIxODU4OTc4MjcxNDhdLCBbMTY2MzgxODE5Ny4wMDA3Nzg3LCAxNzY3NiwgMS4xNDg5NDEyNzg0NTc2NDE2XSwgWzE2NjM4MTgxOTcuMDk4MDA0OCwgMTc2ODUsIDEuMjExNDU2Mjk4ODI4MTI1XSwgWzE2NjM4MTgxOTcuMjg4NTMsIDE3NzAzLCAxLjI5NjY3MTI3MTMyNDE1NzddLCBbMTY2MzgxODE5Ny4zODAxNjIsIDE3NzEyLCAxLjE2MDYwNzU3NjM3MDIzOTNdLCBbMTY2MzgxODE5Ny40Nzg1NzU3LCAxNzcyMSwgMS4xNDM5MDU2Mzk2NDg0Mzc1XSwgWzE2NjM4MTgxOTcuNTc1NTQzOSwgMTc3MzAsIDEuMTQ0MTkzMjkxNjY0MTIzNV0sIFsxNjYzODE4MTk4LjMxNTY3NDUsIDE3ODAyLCAxLjExNTYzOTMyODk1NjYwNF0sIFsxNjYzODE4MTk4LjQ4OTQ0NzYsIDE3ODIwLCAxLjEzOTM4NDE1MDUwNTA2Nl0sIFsxNjYzODE4MTk4LjU3NTQxOTQsIDE3ODI5LCAxLjEzNjQ1NTc3NDMwNzI1MV0sIFsxNjYzODE4MTk4LjY5NjkwNywgMTc4MzgsIDEuMTM5NDAyMzg5NTI2MzY3Ml0sIFsxNjYzODE4MTk4LjgwMzgxOTQsIDE3ODQ3LCAxLjEzNTkwMzIzOTI1MDE4M10sIFsxNjYzODE4MTk5LjExMDc0MDIsIDE3ODc0LCAxLjE5MDI0NjIyNDQwMzM4MTNdLCBbMTY2MzgxODE5OS4zMDc1Njk3LCAxNzg5MiwgMS4xMzAwOTI3NDAwNTg4OTldLCBbMTY2MzgxODE5OS4zOTY3NDA3LCAxNzkwMSwgMS4xMzQ5NzQ4MzczMDMxNjE2XSwgWzE2NjM4MTgxOTkuNzIyODYzLCAxNzkyOCwgMS4xNjMxNzQzOTA3OTI4NDY3XSwgWzE2NjM4MTgxOTkuODQ0NzQ0NywgMTc5MzcsIDEuMTQxNTg5NTIyMzYxNzU1NF0sIFsxNjYzODE4MjAyLjM0OTQ2NTQsIDE4MTUzLCAxLjE0NDAzNzQ4NTEyMjY4MDddLCBbMTY2MzgxODIwMi40NjkxMDI2LCAxODE2MiwgMS4xMzY2NTkzODM3NzM4MDM3XSwgWzE2NjM4MTgyMDIuODczMzkyLCAxODE5OCwgMS4yMjUxMzk0OTg3MTA2MzIzXSwgWzE2NjM4MTgyMDIuOTk0MTUzNSwgMTgyMDcsIDEuMTM4NDk4MzA2Mjc0NDE0XSwgWzE2NjM4MTgyMDMuMDk3MDksIDE4MjE2LCAxLjE0ODU5MDU2NDcyNzc4MzJdLCBbMTY2MzgxODIwMy41NzQxMjU4LCAxODI0MywgMS4xMDY5MDM5MTA2MzY5MDE5XSwgWzE2NjM4MTgyMDMuNzkyNDA2OCwgMTgyNjEsIDEuMjI4MTg1MDU3NjQwMDc1N10sIFsxNjYzODE4MjA0LjA3OTU5OTksIDE4Mjg4LCAxLjE4MjY4OTc4NTk1NzMzNjRdLCBbMTY2MzgxODIwNC4xNzM0MzIsIDE4Mjk3LCAxLjE5Njc4Mjk0NjU4NjYwODldLCBbMTY2MzgxODIwNC4zNzc4MDUsIDE4MzE1LCAxLjE4NTk5MDU3MTk3NTcwOF0sIFsxNjYzODE4MjA0LjQ4Mjk2MjEsIDE4MzI0LCAxLjIwMjkwNTg5MzMyNTgwNTddLCBbMTY2MzgxODIwNC41OTI2Njg4LCAxODMzMywgMS4xNjI0OTc5OTcyODM5MzU1XSwgWzE2NjM4MTgyMDUuMDAzNjQ3OCwgMTgzNjksIDEuMTc5MzQ5NDIyNDU0ODM0XSwgWzE2NjM4MTgyMDUuMjcyMzMxNSwgMTgzOTYsIDEuMTY5NzAwNzQxNzY3ODgzM10sIFsxNjYzODE4MjA1LjYxMDUyNjgsIDE4NDMyLCAxLjEzNzIzNTg3OTg5ODA3MTNdLCBbMTY2MzgxODIwNS43ODQyMzA1LCAxODQ1MCwgMS4xNTcyNzk0OTE0MjQ1NjA1XSwgWzE2NjM4MTgyMDYuMjMzNTg4MiwgMTg0OTUsIDEuMTU4NjQwNzQyMzAxOTQxXSwgWzE2NjM4MTgyMDYuMzIxNzExNSwgMTg1MDQsIDEuMTIzMzkzNDE2NDA0NzI0MV0sIFsxNjYzODE4MjA2LjQwODQwOTgsIDE4NTEzLCAxLjE2MTU3Njc0Nzg5NDI4N10sIFsxNjYzODE4MjA2LjQ5OTYzMSwgMTg1MjIsIDEuMTMxNTIyNDE3MDY4NDgxNF0sIFsxNjYzODE4MjA3LjM4NDM5OTQsIDE4NjEyLCAxLjEyNjU5MDcyODc1OTc2NTZdLCBbMTY2MzgxODIwNy40NzA5MTQ4LCAxODYyMSwgMS4xMjc4ODMwNzY2Njc3ODU2XSwgWzE2NjM4MTgyMDcuNjQwMzYyLCAxODYzOSwgMS4xNTIxMDA0NDM4NDAwMjY5XSwgWzE2NjM4MTgyMDcuOTc2NDgwNywgMTg2NzUsIDEuMTUzMjEwNDAxNTM1MDM0Ml0sIFsxNjYzODE4MjA4LjUxOTkwMjUsIDE4NzIwLCAxLjEzOTgzOTQxMDc4MTg2MDRdLCBbMTY2MzgxODIwOC45OTQ2MDIyLCAxODc2NSwgMS4xMzM3MjI3ODIxMzUwMDk4XSwgWzE2NjM4MTgyMDkuMTcyNTksIDE4NzgzLCAxLjE3NjExNjk0MzM1OTM3NV0sIFsxNjYzODE4MjA5LjI2MDk4NTQsIDE4NzkyLCAxLjIwNjg5NTU4OTgyODQ5MTJdLCBbMTY2MzgxODIwOS40MzUyMTQ1LCAxODgxMCwgMS4xOTk1NTc0MjM1OTE2MTM4XSwgWzE2NjM4MTgyMDkuNTE4OTk4OSwgMTg4MTksIDEuMzUxODMxMDc4NTI5MzU4XSwgWzE2NjM4MTgyMDkuNjAzNjY0OSwgMTg4MjgsIDEuMjA4NTMwOTAyODYyNTQ4OF0sIFsxNjYzODE4MjA5Ljk0NDUwOCwgMTg4NjQsIDEuMTI0NjMwMjEyNzgzODEzNV0sIFsxNjYzODE4MjEwLjEwMzY4ODUsIDE4ODgyLCAxLjE1NjExOTQ2NTgyNzk0Ml0sIFsxNjYzODE4MjEwLjE4OTQxMDQsIDE4ODkxLCAxLjE0Njk1NjMyNDU3NzMzMTVdLCBbMTY2MzgxODIxMC4zNTE5MTM3LCAxODkwOSwgMS4xOTI0ODM5MDE5Nzc1MzldLCBbMTY2MzgxODIxMC41OTczNzY2LCAxODkzNiwgMS4xNTgyMzIwOTI4NTczNjA4XSwgWzE2NjM4MTgyMTAuNjgzNDY0LCAxODk0NSwgMS4xMzM1OTc3MzE1OTAyNzFdLCBbMTY2MzgxODIxMC43NzM1NDQsIDE4OTU0LCAxLjExNzM0NjQwNTk4Mjk3MTJdLCBbMTY2MzgxODIxMS4xMTEyNzA0LCAxODk5MCwgMS4xNDUzODEzMzE0NDM3ODY2XSwgWzE2NjM4MTgyMTEuMjA1ODIxLCAxODk5OSwgMS4xMjU1MjQ2NDAwODMzMTNdLCBbMTY2MzgxODIxMS43NDk4OTIyLCAxOTAzNSwgMS4xNzQzMDk0OTIxMTEyMDZdLCBbMTY2MzgxODIxMS44NDAyNDIsIDE5MDQ0LCAxLjExOTQ1NjUyOTYxNzMwOTZdLCBbMTY2MzgxODIxMi4xODc4MzA0LCAxOTA4MCwgMS4xMTIwNjY3NDU3NTgwNTY2XSwgWzE2NjM4MTgyMTIuMjc5MDYxLCAxOTA4OSwgMS4xMjI3NTEyMzU5NjE5MTRdLCBbMTY2MzgxODIxMi40NzExNzk3LCAxOTEwNywgMS4xNzI2MDA4NjUzNjQwNzQ3XSwgWzE2NjM4MTgyMTIuNTU3Njk3MywgMTkxMTYsIDEuMTMwOTUyMTE5ODI3MjcwNV0sIFsxNjYzODE4MjEyLjY0Mjg2NjYsIDE5MTI1LCAxLjExNjU0OTAxNTA0NTE2Nl0sIFsxNjYzODE4MjEyLjkyMzAwMTMsIDE5MTUyLCAxLjEzNDUwMjY0OTMwNzI1MV0sIFsxNjYzODE4MjEzLjU0MDcyMywgMTkyMTUsIDEuMTYzMTM2MDA1NDAxNjExM10sIFsxNjYzODE4MjEzLjYyOTk1NTgsIDE5MjI0LCAxLjE0MjU4OTIxMTQ2MzkyODJdLCBbMTY2MzgxODIxMy43NzgwMDksIDE5MjMzLCAxLjE2MTU1MzYyMTI5MjExNDNdLCBbMTY2MzgxODIxNC4xMTA4MTY1LCAxOTI2MCwgMS4xNDU5NDk0ODI5MTc3ODU2XSwgWzE2NjM4MTgyMTQuNDkxMzI3MywgMTkyOTYsIDEuMTQ0NjAzMjUyNDEwODg4N10sIFsxNjYzODE4MjE1LjEzODg5MiwgMTkzNTAsIDEuMTgxMzQ1MjI0MzgwNDkzMl0sIFsxNjYzODE4MjE1LjIzODU2NDUsIDE5MzU5LCAxLjEyMTQ3OTk4ODA5ODE0NDVdLCBbMTY2MzgxODIxNS42MzA0MzQsIDE5Mzk1LCAxLjExMTk2NDcwMjYwNjIwMTJdLCBbMTY2MzgxODIxNS43MjQxODgsIDE5NDA0LCAxLjEwODE4MTQ3NjU5MzAxNzZdLCBbMTY2MzgxODIxNi4wODAyNzEsIDE5NDQwLCAxLjE3MDI4MTI5MTAwNzk5NTZdLCBbMTY2MzgxODIxNi4xNjc0MDU2LCAxOTQ0OSwgMS4xNDA4ODkwNDg1NzYzNTVdLCBbMTY2MzgxODIxNi4yNTE2OTczLCAxOTQ1OCwgMS4xNTM3Nzk2MjU4OTI2MzkyXSwgWzE2NjM4MTgyMTYuMzM4MjA1MywgMTk0NjcsIDEuMTUzODkwMTMyOTA0MDUyN10sIFsxNjYzODE4MjE2Ljk4Mzg2NSwgMTk1MzAsIDEuMTI2NzMyODI2MjMyOTEwMl0sIFsxNjYzODE4MjE3LjMzNjYzNDQsIDE5NTY2LCAxLjIyMDY0ODA1MDMwODIyNzVdLCBbMTY2MzgxODIxNy41MDcxNDUyLCAxOTU4NCwgMS4xMzE4MTQ3MTgyNDY0Nl0sIFsxNjYzODE4MjE3LjU5ODUzOTgsIDE5NTkzLCAxLjEwODQwMTc3NTM2MDEwNzRdLCBbMTY2MzgxODIxOC4yNjU4ODkyLCAxOTY1NiwgMS4xMzU1NzM5ODMxOTI0NDM4XSwgWzE2NjM4MTgyMTguNDQwNzM5NiwgMTk2NzQsIDEuMjA4NTg3NTI3Mjc1MDg1NF0sIFsxNjYzODE4MjE4LjYyMDMyMDgsIDE5NjkyLCAxLjE0ODI1ODMyODQzNzgwNTJdLCBbMTY2MzgxODIxOC44MDc5NTU3LCAxOTcxMCwgMS4xNzg3Mjg5MzgxMDI3MjIyXSwgWzE2NjM4MTgyMTkuMjU3NjEzNywgMTk3NTUsIDEuMTM3NzI0MTYxMTQ4MDcxM10sIFsxNjYzODE4MjE5Ljg3NDUyNjcsIDE5ODAwLCAxLjE0NjcwMzAwNDgzNzAzNjFdLCBbMTY2MzgxODIyMC4wNDA4MDA2LCAxOTgxOCwgMS4xMjM0NDM3MjI3MjQ5MTQ2XSwgWzE2NjM4MTgyMjAuMTI2MTQ5LCAxOTgyNywgMS4xNDU5NDUzMTA1OTI2NTE0XSwgWzE2NjM4MTgyMjAuMjIxNDY5NiwgMTk4MzYsIDEuMTExNDQ0ODMwODk0NDcwMl0sIFsxNjYzODE4MjIwLjQ3MTU4MDcsIDE5ODYzLCAxLjE2MTc5MzM1MTE3MzQwMDldLCBbMTY2MzgxODIyMC43NDMxNDc0LCAxOTg5MCwgMS4xNzg1MjY5OTc1NjYyMjMxXSwgWzE2NjM4MTgyMjAuOTIzODY1LCAxOTkwOCwgMS4yMTIxNDU2ODYxNDk1OTcyXSwgWzE2NjM4MTgyMjEuMDA3NzgzNCwgMTk5MTcsIDEuMTYzNjQxMjE0MzcwNzI3NV0sIFsxNjYzODE4MjIxLjE4NjY4OTksIDE5OTM1LCAxLjE1OTI4OTcxNzY3NDI1NTRdLCBbMTY2MzgxODIyMS4yNzA2MTcsIDE5OTQ0LCAxLjEwNzcyOTQzNDk2NzA0MV0sIFsxNjYzODE4MjIxLjgwMTEzMzYsIDE5OTk4LCAxLjE1NjUyMzM0NjkwMDk0XSwgWzE2NjM4MTgyMjIuMjgxMjIxNCwgMjAwMzQsIDEuMTIxMDQ4NDUwNDY5OTcwN10sIFsxNjYzODE4MjIyLjQ1OTUzNCwgMjAwNTIsIDEuMTY2NjQ3MTk1ODE2MDRdLCBbMTY2MzgxODIyMy4yODA4NDA5LCAyMDEzMywgMS4xMjAyNjQ4ODc4MDk3NTM0XSwgWzE2NjM4MTgyMjMuNTQxOTgwMywgMjAxNjAsIDEuMTEyNjczMDQ0MjA0NzEyXSwgWzE2NjM4MTgyMjMuODA0NDk5NiwgMjAxODcsIDEuMTU1MjkyNTEwOTg2MzI4MV0sIFsxNjYzODE4MjIzLjk5MDA1MzcsIDIwMjA1LCAxLjE3MDY5NzMzMTQyODUyNzhdLCBbMTY2MzgxODIyNC44NjU0NzUyLCAyMDI5NSwgMS4xMzA4MTE5Mjk3MDI3NTg4XSwgWzE2NjM4MTgyMjUuMTQ0MTY3NCwgMjAzMjIsIDEuMTA3OTk1MTUyNDczNDQ5N10sIFsxNjYzODE4MjI1LjIzMTgxMywgMjAzMzEsIDEuMTQ0MDcyNDEzNDQ0NTE5XSwgWzE2NjM4MTgyMjUuNzYxNjM3LCAyMDM4NSwgMS4xMzQwODg1MTYyMzUzNTE2XSwgWzE2NjM4MTgyMjYuMDE0MzkwNywgMjA0MTIsIDEuMTQ3ODk1MjE2OTQxODMzNV0sIFsxNjYzODE4MjI2Ljk0OTEwNzIsIDIwNDkzLCAxLjEzNDUzNjUwNDc0NTQ4MzRdLCBbMTY2MzgxODIyNy4yOTM4NzI4LCAyMDUyOSwgMS4xMTkyODkyNzg5ODQwNjk4XSwgWzE2NjM4MTgyMjcuMzgxNDM4LCAyMDUzOCwgMS4xMDUwMzQ5NDczOTUzMjQ3XSwgWzE2NjM4MTgyMjcuODc1Njg0LCAyMDU3NCwgMS4yMDM4NjQzMzYwMTM3OTRdLCBbMTY2MzgxODIyOC4zOTMyNjQsIDIwNjI4LCAxLjI4MDU5MTM2ODY3NTIzMl0sIFsxNjYzODE4MjI4LjQ3NjU4MywgMjA2MzcsIDEuMTczODE4MzQ5ODM4MjU2OF0sIFsxNjYzODE4MjI4LjU2MDk1MjcsIDIwNjQ2LCAxLjE4MzQzODY1ODcxNDI5NDRdLCBbMTY2MzgxODIyOS4xNTI3MDgzLCAyMDcwOSwgMS4xMjUxMjk2OTk3MDcwMzEyXSwgWzE2NjM4MTgyMjkuNTkxODA1LCAyMDc1NCwgMS4wOTk3MTcxNDAxOTc3NTRdLCBbMTY2MzgxODIyOS42ODQyMTcsIDIwNzYzLCAxLjEyNTc3MTE2NDg5NDEwNF0sIFsxNjYzODE4MjI5Ljc2Njk3NywgMjA3NzIsIDEuMTM3OTU5MDAzNDQ4NDg2M10sIFsxNjYzODE4MjI5LjkzOTg5NDQsIDIwNzkwLCAxLjEzMTA1NTExNjY1MzQ0MjRdLCBbMTY2MzgxODIzMC4xMDg0MDY4LCAyMDgwOCwgMS4yNjU4NzU5MzU1NTQ1MDQ0XSwgWzE2NjM4MTgyMzAuNDU0NzEyMiwgMjA4NDQsIDEuMTIxNDQ3ODAxNTg5OTY1OF0sIFsxNjYzODE4MjMwLjU0Mjc1MDEsIDIwODUzLCAxLjEyOTUyMzYzNDkxMDU4MzVdLCBbMTY2MzgxODIzMC43OTY4NTQzLCAyMDg4MCwgMS4xMjQ2ODE3MTExOTY4OTk0XSwgWzE2NjM4MTgyMzEuMjMzMzc5NCwgMjA5MjUsIDEuMTM5NDExMDkxODA0NTA0NF0sIFsxNjYzODE4MjMxLjc2Mzc2MSwgMjA5NzksIDEuMTUzOTQzNDE5NDU2NDgyXSwgWzE2NjM4MTgyMzEuOTI2OTM3LCAyMDk5NywgMS4xODM2MjAwOTUyNTI5OTA3XSwgWzE2NjM4MTgyMzIuMTgyODYwOSwgMjEwMjQsIDEuMTQ3Njg1ODg1NDI5MzgyM10sIFsxNjYzODE4MjMyLjYwODk3NCwgMjEwNjksIDEuMTY2OTg3NTM4MzM3NzA3NV0sIFsxNjYzODE4MjMyLjc4NDgwODksIDIxMDg3LCAxLjE0NzU2NzE1Mjk3Njk4OTddLCBbMTY2MzgxODIzMi44Njg2ODI5LCAyMTA5NiwgMS4xMjcwNzgwNTYzMzU0NDkyXSwgWzE2NjM4MTgyMzIuOTUzMzU0NiwgMjExMDUsIDEuMTI2MzIxMzE1NzY1MzgwOV0sIFsxNjYzODE4MjMzLjIzMDUyODQsIDIxMTIzLCAxLjE0OTg5MTk3MjU0MTgwOV0sIFsxNjYzODE4MjMzLjMzMjYzODMsIDIxMTMyLCAxLjEwNTY3ODQzOTE0MDMxOThdLCBbMTY2MzgxODIzMy40NDUzMDQyLCAyMTE0MSwgMS4xMzE2ODgzNTYzOTk1MzYxXSwgWzE2NjM4MTgyMzMuNzQ3MDg0MSwgMjExNjgsIDEuMTQ5MDY5NjY2ODYyNDg3OF0sIFsxNjYzODE4MjMzLjgzNjc2OTMsIDIxMTc3LCAxLjEwNjYxMDc3NDk5Mzg5NjVdLCBbMTY2MzgxODIzMy45MjcyMDQxLCAyMTE4NiwgMS4wOTQ4OTkxNzc1NTEyNjk1XSwgWzE2NjM4MTgyMzQuMjY1NTc3OCwgMjEyMjIsIDEuMTU5NTEwMzc0MDY5MjEzOV0sIFsxNjYzODE4MjM0LjQ0MTE3MTQsIDIxMjQwLCAxLjE1MjQ3NjU0OTE0ODU1OTZdLCBbMTY2MzgxODIzNC43MDk1MjIsIDIxMjY3LCAxLjEyMDU3ODY0NjY1OTg1MV0sIFsxNjYzODE4MjM0Ljk2ODMxMTMsIDIxMjk0LCAxLjE2NjM4NTc2OTg0NDA1NTJdLCBbMTY2MzgxODIzNS4yMjc1NTEyLCAyMTMyMSwgMS4xNzYxMDQ2NjQ4MDI1NTEzXSwgWzE2NjM4MTgyMzUuNjQ2MDY3OSwgMjEzNDgsIDEuMTE2ODY4NzM0MzU5NzQxMl0sIFsxNjYzODE4MjM1LjgxMzU3NjcsIDIxMzY2LCAxLjEyMzMxNjA0OTU3NTgwNTddLCBbMTY2MzgxODIzNi4yNTE1MTUsIDIxNDExLCAxLjE5MjEyMzA1NTQ1ODA2ODhdLCBbMTY2MzgxODIzNi43NDYwNjI1LCAyMTQ2NSwgMS4xMzMyNjkzMDk5OTc1NTg2XSwgWzE2NjM4MTgyMzcuMTkzMjIyLCAyMTUxMCwgMS4xMzc3NDU2MTg4MjAxOTA0XSwgWzE2NjM4MTgyMzcuMzUzNjA0NiwgMjE1MjgsIDEuMTI4Mjc0NTU5OTc0NjcwNF0sIFsxNjYzODE4MjM3LjUxNDYxMjcsIDIxNTQ2LCAxLjA5ODQ4Nzg1NDAwMzkwNjJdLCBbMTY2MzgxODIzNy41OTg0MDcsIDIxNTU1LCAxLjExNTM1Mzk0MTkxNzQxOTRdLCBbMTY2MzgxODIzNy42OTQwMjA3LCAyMTU2NCwgMS4xMTMxODE0NzE4MjQ2NDZdLCBbMTY2MzgxODIzNy43OTE0NjcsIDIxNTczLCAxLjEyODg5NDA5MDY1MjQ2NThdLCBbMTY2MzgxODIzNy44Nzc4MTQsIDIxNTgyLCAxLjE1MjQ0MDkwNTU3MDk4MzldLCBbMTY2MzgxODIzNy45NjEwNjUsIDIxNTkxLCAxLjEyOTkwMDY5Mzg5MzQzMjZdLCBbMTY2MzgxODIzOC44NzA1Mzk0LCAyMTY4MSwgMS4yMTI0MzI2MjI5MDk1NDZdLCBbMTY2MzgxODIzOS4xOTI3ODgxLCAyMTcxNywgMS4xMjEyNzA2NTY1ODU2OTM0XSwgWzE2NjM4MTgyMzkuNDQ1OTE3NCwgMjE3NDQsIDEuMTA2NTIzOTkwNjMxMTAzNV0sIFsxNjYzODE4MjM5Ljc4OTk4ODgsIDIxNzgwLCAxLjE1ODQ4OTU4NDkyMjc5MDVdLCBbMTY2MzgxODI0MC41Nzk2Mzc1LCAyMTg2MSwgMS4xNDI3MTkxNDk1ODk1Mzg2XSwgWzE2NjM4MTgyNDAuODUwMzUyLCAyMTg4OCwgMS4xMjQ0NzExODc1OTE1NTI3XSwgWzE2NjM4MTgyNDEuMTc5NDE4NiwgMjE5MjQsIDEuMTQ4NTczOTk0NjM2NTM1Nl0sIFsxNjYzODE4MjQxLjI2ODczODcsIDIxOTMzLCAxLjE2MzQ4NjU5OTkyMjE4MDJdLCBbMTY2MzgxODI0MS40MzkxNjA4LCAyMTk1MSwgMS4xNzc3MTk3MTIyNTczODUzXSwgWzE2NjM4MTgyNDEuNTI1NzI1NiwgMjE5NjAsIDEuMTUwNzQ4NjEwNDk2NTIxXSwgWzE2NjM4MTgyNDEuNjk2NjEzMywgMjE5NzgsIDEuMTg5ODAwODU4NDk3NjE5Nl0sIFsxNjYzODE4MjQxLjc4NjI3NDIsIDIxOTg3LCAxLjE1NDQxMjYyNzIyMDE1MzhdLCBbMTY2MzgxODI0Mi4zMDYwNjcyLCAyMjA0MSwgMS4xNTgxMzEyNDE3OTg0MDA5XSwgWzE2NjM4MTgyNDIuOTM4NDMyNywgMjIwOTUsIDEuMTM1ODM4NTA4NjA1OTU3XSwgWzE2NjM4MTgyNDMuNDM2NTExOCwgMjIxMzEsIDEuMTA4ODU5Nzc3NDUwNTYxNV0sIFsxNjYzODE4MjQzLjc4MjQ0NjEsIDIyMTY3LCAxLjExMDE4NDQzMTA3NjA0OThdLCBbMTY2MzgxODI0My45ODg0NTQ4LCAyMjE4NSwgMS4xMjYwMzU4MDk1MTY5MDY3XSwgWzE2NjM4MTgyNDQuMDg3MTMwMywgMjIxOTQsIDEuMTE1MTQ3MTEzODAwMDQ4OF0sIFsxNjYzODE4MjQ0LjI1NDMyODMsIDIyMjEyLCAxLjEzNzY5NDIzOTYxNjM5NF0sIFsxNjYzODE4MjQ0LjQyMjkwMSwgMjIyMzAsIDEuMTEyNTkwNTUxMzc2MzQyOF0sIFsxNjYzODE4MjQ0Ljc3ODcxNTgsIDIyMjY2LCAxLjE0NDE2MDc0NzUyODA3NjJdLCBbMTY2MzgxODI0NC45NzI3Mzk3LCAyMjI4NCwgMS4xMDYyNjg0MDU5MTQzMDY2XSwgWzE2NjM4MTgyNDUuMTQyMTQyNSwgMjIzMDIsIDEuMTE5MTQ1MDM1NzQzNzEzNF0sIFsxNjYzODE4MjQ1Ljg0MTQzMzgsIDIyMzY1LCAxLjExMTY1ODkzMDc3ODUwMzRdLCBbMTY2MzgxODI0NS45Mzc4MTYsIDIyMzc0LCAxLjEwMTEzOTQyNjIzMTM4NDNdLCBbMTY2MzgxODI0Ni4zNTgxNDAyLCAyMjQxMCwgMS4xODEyMTAxNjAyNTU0MzIxXSwgWzE2NjM4MTgyNDYuNzI5MjQ1MiwgMjI0NDYsIDEuMTIzMzg3MzM2NzMwOTU3XSwgWzE2NjM4MTgyNDcuMDUyNTQyLCAyMjQ3MywgMS4xNjI0NDMyODAyMjAwMzE3XSwgWzE2NjM4MTgyNDcuMjUwNzQ1MywgMjI0OTEsIDEuMTQ0MzYwNDIzMDg4MDczN10sIFsxNjYzODE4MjQ3LjMzMzMyMzUsIDIyNTAwLCAxLjExODg2NzUxNjUxNzYzOTJdLCBbMTY2MzgxODI0Ny40MjMxMjc0LCAyMjUwOSwgMS4xNjQ0ODEyODIyMzQxOTJdLCBbMTY2MzgxODI0Ny41MDk4NzgyLCAyMjUxOCwgMS4xNjk4NzEwOTE4NDI2NTE0XSwgWzE2NjM4MTgyNDcuNjc3NDY4LCAyMjUzNiwgMS4xNDE4MTc1Njk3MzI2NjZdLCBbMTY2MzgxODI0Ny44NDcwODA3LCAyMjU1NCwgMS4xODM2MDg4ODk1Nzk3NzNdLCBbMTY2MzgxODI0Ny45MjY4NzgyLCAyMjU2MywgMS4xNDg4ODQ2NTQwNDUxMDVdLCBbMTY2MzgxODI0OC4wOTQ3NzY2LCAyMjU4MSwgMS4xMDU3MDI3NTc4MzUzODgyXSwgWzE2NjM4MTgyNDguMzIyODUwNSwgMjI1OTksIDEuMTQzNDkxODY0MjA0NDA2N10sIFsxNjYzODE4MjQ4LjY0Mjk0OTMsIDIyNjI2LCAxLjEwNDAzMzk0Njk5MDk2NjhdLCBbMTY2MzgxODI0OC44Nzk1MzQ1LCAyMjY0NCwgMS4yNTEyMzQ3Njk4MjExNjddLCBbMTY2MzgxODI0OS4wNjk4ODIyLCAyMjY2MiwgMS4xNjI5NjAxNzE2OTk1MjRdLCBbMTY2MzgxODI0OS4xNjQ3NTk0LCAyMjY3MSwgMS4xMjI0NTM2ODk1NzUxOTUzXSwgWzE2NjM4MTgyNDkuMjQ5NTMxNSwgMjI2ODAsIDEuMTgyMzc5MjQ1NzU4MDU2Nl0sIFsxNjYzODE4MjQ5LjQxMjk0NTUsIDIyNjk4LCAxLjE2NzIwODY3MTU2OTgyNDJdLCBbMTY2MzgxODI0OS41OTE3MDQsIDIyNzE2LCAxLjEyNzU3ODQ5NjkzMjk4MzRdLCBbMTY2MzgxODI1MC4wMjY2MDc1LCAyMjc2MSwgMS4xMTQwMjIzNzQxNTMxMzcyXSwgWzE2NjM4MTgyNTAuMjUzMzQ1MywgMjI3NzksIDEuMTI0Mjg5Mjc0MjE1Njk4Ml0sIFsxNjYzODE4MjUwLjM1MDUzOSwgMjI3ODgsIDEuMTMyNjM5NDA4MTExNTcyM10sIFsxNjYzODE4MjUwLjU1NjU2OSwgMjI4MDYsIDEuMTE4NjQ1MDcxOTgzMzM3NF0sIFsxNjYzODE4MjUxLjAxMDk2NjMsIDIyODUxLCAxLjIwNjE3NTQ0NjUxMDMxNV0sIFsxNjYzODE4MjUxLjE4NzA4NywgMjI4NjksIDEuMTU1ODA2Nzc5ODYxNDUwMl0sIFsxNjYzODE4MjUxLjUzNDEzMTUsIDIyODg3LCAxLjE1NDIzNDA1MTcwNDQwNjddLCBbMTY2MzgxODI1MS42NDE1MzQsIDIyODk2LCAxLjE4MzI2NjYzOTcwOTQ3MjddLCBbMTY2MzgxODI1MS45MjMwNDQ0LCAyMjkyMywgMS4xMjA2ODE2NDM0ODYwMjNdLCBbMTY2MzgxODI1Mi42NzU4MDMsIDIyOTk1LCAxLjE1MjM0MDc2OTc2Nzc2MTJdLCBbMTY2MzgxODI1Mi43NTU3NDIzLCAyMzAwNCwgMS4xMjYwODk5MzA1MzQzNjI4XSwgWzE2NjM4MTgyNTMuMTY3NzQ4NSwgMjMwNDksIDEuMTAxMTg1MjAyNTk4NTcxOF0sIFsxNjYzODE4MjUzLjYzMTk2MjgsIDIzMDk0LCAxLjEwMTkyNzYzODA1Mzg5NF0sIFsxNjYzODE4MjUzLjcyMTk5OTQsIDIzMTAzLCAxLjEyMzYzMDg4MTMwOTUwOTNdLCBbMTY2MzgxODI1My44ODgwNzcsIDIzMTIxLCAxLjEyNzU1ODIzMTM1Mzc1OThdLCBbMTY2MzgxODI1NC4xNDI5Njg3LCAyMzE0OCwgMS4xMTY5MDgwNzM0MjUyOTNdLCBbMTY2MzgxODI1NC4zMTg3MzI3LCAyMzE2NiwgMS4xMTc4NzEwNDYwNjYyODQyXSwgWzE2NjM4MTgyNTQuNTAyMzkzMiwgMjMxODQsIDEuMTA3NTMwOTUxNDk5OTM5XSwgWzE2NjM4MTgyNTQuNjc2NzY3MywgMjMyMDIsIDEuMTEyNjExMjkzNzkyNzI0Nl0sIFsxNjYzODE4MjU0Ljc3MjYwMSwgMjMyMTEsIDEuMTIzMjA3NDQ5OTEzMDI1XSwgWzE2NjM4MTgyNTUuMjg1MDQ5NCwgMjMyNTYsIDEuMTcyMDE5MjQzMjQwMzU2NF0sIFsxNjYzODE4MjU1LjM3MTAwNDYsIDIzMjY1LCAxLjI1NzY1MjUyMTEzMzQyMjldLCBbMTY2MzgxODI1NS40NjI4NjI1LCAyMzI3NCwgMS4yNjY0MjcxNTkzMDkzODcyXSwgWzE2NjM4MTgyNTUuNzIwNzEyNCwgMjMzMDEsIDEuMTcxOTU3OTY5NjY1NTI3M10sIFsxNjYzODE4MjU1LjgwNjg0MTksIDIzMzEwLCAxLjExNTAzNTc3MjMyMzYwODRdLCBbMTY2MzgxODI1Ni4wNTk3NjYsIDIzMzM3LCAxLjExNzIwNzE2OTUzMjc3NTldLCBbMTY2MzgxODI1Ni41ODMyNzMyLCAyMzM5MSwgMS4xMTQ3NTUzOTIwNzQ1ODVdLCBbMTY2MzgxODI1Ni42Njg2MzYzLCAyMzQwMCwgMS4xMDMxNzIxODMwMzY4MDQyXSwgWzE2NjM4MTgyNTYuODU2MDU5MywgMjM0MTgsIDEuMTA0NTg4MDMxNzY4Nzk4OF0sIFsxNjYzODE4MjU3LjA0NzYxMzEsIDIzNDM2LCAxLjEzMzg0MTYzMzc5NjY5Ml0sIFsxNjYzODE4MjU3LjIzMTQxNTUsIDIzNDU0LCAxLjIxMjI1MDk0Nzk1MjI3MDVdLCBbMTY2MzgxODI1Ny4zMTk3MjYyLCAyMzQ2MywgMS4xNzQyMzEwNTIzOTg2ODE2XSwgWzE2NjM4MTgyNTguMjY1MzU4NywgMjM1NjIsIDEuMjA1NzgwMjY3NzE1NDU0XSwgWzE2NjM4MTgyNTguMzU0MDQwMSwgMjM1NzEsIDEuMTQzNjI1NzM2MjM2NTcyM10sIFsxNjYzODE4MjU4LjQ1MjYwNTcsIDIzNTgwLCAxLjEyODI0MTg5NjYyOTMzMzVdLCBbMTY2MzgxODI1OC43MjQ3MDYsIDIzNjA3LCAxLjE1MTM1Mzk1NTI2ODg1OTldLCBbMTY2MzgxODI1OS4zMzU2ODMzLCAyMzY1MiwgMS4xNjYzNDQxNjU4MDIwMDJdLCBbMTY2MzgxODI1OS40MjU0MTQ4LCAyMzY2MSwgMS4xMDk3MzQ4OTI4NDUxNTM4XSwgWzE2NjM4MTgyNTkuNzk4NTkyNiwgMjM2OTcsIDEuMTgwNTA0OTE4MDk4NDQ5N11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_10-18-18_d10e5d58bf4e&tag=Loss%2Ftrain":{"data":"W1sxNjYzNzU1NTA2Ljc4ODA5MywgODgsIDcuMjc2NTEzMDk5NjcwNDFdLCBbMTY2Mzc1NTUwNi45NDYxMDQsIDExMCwgNS45NzYzNDg0MDAxMTU5NjddLCBbMTY2Mzc1NTUwOC4yNjU2NzY3LCAyNDIsIDQuNzkyOTg1NDM5MzAwNTM3XSwgWzE2NjM3NTU1MDkuMDU3ODI5OSwgMzMwLCA0LjMxNjQyODY2MTM0NjQzNTVdLCBbMTY2Mzc1NTUwOS4yNTk2MDAyLCAzNTIsIDQuMjE1MTQ5ODc5NDU1NTY2XSwgWzE2NjM3NTU1MDkuNzU1ODM1NSwgNDE4LCAzLjg3NjUyNDkyNTIzMTkzMzZdLCBbMTY2Mzc1NTUwOS45MTUyNTI3LCA0NDAsIDMuNzQ1MDU0MjQ0OTk1MTE3XSwgWzE2NjM3NTU1MTAuMDc5NTI5LCA0NjIsIDMuNjQ3MDE0ODU2MzM4NTAxXSwgWzE2NjM3NTU1MTAuNzEwNDg5NSwgNTA2LCAzLjQ0NDQ5MTM4NjQxMzU3NF0sIFsxNjYzNzU1NTEwLjkzOTcyNywgNTI4LCAzLjM2NDU3MjA0ODE4NzI1Nl0sIFsxNjYzNzU1NTExLjQ2MDMxNDUsIDU5NCwgMy4xOTEyNDY1MDk1NTIwMDJdLCBbMTY2Mzc1NTUxMS42MjE4NjMxLCA2MTYsIDMuMDQ2MDQyMjAzOTAzMTk4Ml0sIFsxNjYzNzU1NTEyLjYyNDE4NiwgNzQ4LCAyLjYzMjM4NDMwMDIzMTkzMzZdLCBbMTY2Mzc1NTUxMy4wODk2OTg2LCA4MTQsIDIuNDcyNzQwMTczMzM5ODQzOF0sIFsxNjYzNzU1NTEzLjYwMzczNywgODU4LCAyLjM3ODg0MDIwODA1MzU4OV0sIFsxNjYzNzU1NTE0LjI3NjY1MzMsIDkwMiwgMi4zMzAwMzgzMDkwOTcyOV0sIFsxNjYzNzU1NTE1LjgzODE2NTUsIDEwNTYsIDIuMTIzODYzOTM1NDcwNTgxXSwgWzE2NjM3NTU1MTYuMDM1NDQ4LCAxMDc4LCAyLjA4Njg0MTU4MzI1MTk1M10sIFsxNjYzNzU1NTE2LjIwMjc2NywgMTEwMCwgMi4wODk2NjQ5MzYwNjU2NzRdLCBbMTY2Mzc1NTUxNi41Mzg3NTQsIDExNDQsIDEuOTkzNjIyMDY0NTkwNDU0XSwgWzE2NjM3NTU1MTcuMDM5NzA4NCwgMTIxMCwgMS45NjcyMzM3NzcwNDYyMDM2XSwgWzE2NjM3NTU1MTcuNjI2NDg0NiwgMTI3NiwgMS44Nzg2NjYwNDMyODE1NTUyXSwgWzE2NjM3NTU1MTguMTY2NzcyNCwgMTM0MiwgMS44NDM4MDM4ODI1OTg4NzddLCBbMTY2Mzc1NTUxOC4zMjQxNTAzLCAxMzY0LCAxLjg2MTczMTA1MjM5ODY4MTZdLCBbMTY2Mzc1NTUxOC40NzU0NTQsIDEzODYsIDEuODc1Mjg1OTgzMDg1NjMyM10sIFsxNjYzNzU1NTE4Ljc3ODYzNzIsIDE0MDgsIDEuODMxODMzMDA0OTUxNDc3XSwgWzE2NjM3NTU1MTkuMDgyMTgsIDE0NTIsIDEuNzk2Mjk3MzExNzgyODM3XSwgWzE2NjM3NTU1MTkuMjc4OTgxLCAxNDc0LCAxLjg4NTYxMDEwMzYwNzE3NzddLCBbMTY2Mzc1NTUxOS40NTA2MDQsIDE0OTYsIDEuNzkxMTI4NzU0NjE1NzgzN10sIFsxNjYzNzU1NTE5LjkwOTY1NDQsIDE1MTgsIDEuNzg2NzE0NDM0NjIzNzE4M10sIFsxNjYzNzU1NTIwLjQ0MTc2MDUsIDE1NjIsIDEuNzkzNjE2ODkwOTA3Mjg3Nl0sIFsxNjYzNzU1NTIwLjY2OTY3OCwgMTU4NCwgMS43NjAyNDU1NjE1OTk3MzE0XSwgWzE2NjM3NTU1MjEuNjcwNjIzNSwgMTcxNiwgMS43MDk5MzY2MTg4MDQ5MzE2XSwgWzE2NjM3NTU1MjIuMDA0MjA5OCwgMTc2MCwgMS43ODU1NTI5Nzg1MTU2MjVdLCBbMTY2Mzc1NTUyMi4xNzY4NzEsIDE3ODIsIDEuNzY5NDM2MjQwMTk2MjI4XSwgWzE2NjM3NTU1MjIuNDk0MTUwOSwgMTgyNiwgMS43MDIwMTE4MjM2NTQxNzQ4XSwgWzE2NjM3NTU1MjMuMDM4MjEwMiwgMTg5MiwgMS45MDU2NDgxMTIyOTcwNThdLCBbMTY2Mzc1NTUyMy44NzQ2NDEsIDE5ODAsIDEuNjU0NjgwMTMyODY1OTA1OF0sIFsxNjYzNzU1NTI0LjAzNDg4LCAyMDAyLCAxLjcwMTQ1Nzk3NzI5NDkyMTldLCBbMTY2Mzc1NTUyNS45MDUwNjgsIDIyMDAsIDEuNzMxNDgwOTU2MDc3NTc1N10sIFsxNjYzNzU1NTI2LjE2MzQ5OSwgMjIyMiwgMS43MzQ2MjI5NTUzMjIyNjU2XSwgWzE2NjM3NTU1MjYuNzYxMzU4LCAyMjg4LCAxLjY3NjcyMDI2MTU3Mzc5MTVdLCBbMTY2Mzc1NTUyNy40OTg2OTc1LCAyMzU0LCAxLjU4NTU1MzQwNzY2OTA2NzRdLCBbMTY2Mzc1NTUyNy43NTEzNjAyLCAyMzc2LCAxLjYwMjQwODc2Njc0NjUyMV0sIFsxNjYzNzU1NTI4LjI0MjIwOSwgMjQyMCwgMS41ODY0NDQyNTg2ODk4ODA0XSwgWzE2NjM3NTU1MjkuMjYxMjkwMywgMjU3NCwgMS42MDI5NTE2NDU4NTExMzUzXSwgWzE2NjM3NTU1MzAuMDI0MzUzLCAyNjg0LCAxLjYxNDUxMDc3NDYxMjQyNjhdLCBbMTY2Mzc1NTUzMC44MTk2NTEsIDI3NzIsIDEuNTgwODM1NDYxNjE2NTE2MV0sIFsxNjYzNzU1NTMwLjk1NzA2NTgsIDI3OTQsIDEuNTQ2MTEyODk1MDExOTAxOV0sIFsxNjYzNzU1NTMxLjI0MDQ2NTYsIDI4MzgsIDEuNTM1MjYxOTg4NjM5ODMxNV0sIFsxNjYzNzU1NTMxLjY4ODc0NzIsIDI4ODIsIDEuNTI2NjYwOTE5MTg5NDUzMV0sIFsxNjYzNzU1NTMxLjgzOTk0MjcsIDI5MDQsIDEuNTE3NjMwNTc3MDg3NDAyM10sIFsxNjYzNzU1NTMyLjcyMzE0OCwgMzAxNCwgMS40NzU0NjY4NDc0MTk3Mzg4XSwgWzE2NjM3NTU1MzIuODY2MjQ3MiwgMzAzNiwgMS41MzU3MzA2MDAzNTcwNTU3XSwgWzE2NjM3NTU1MzQuNTg4NzMwMywgMzE5MCwgMS41MDYwMzEwMzYzNzY5NTMxXSwgWzE2NjM3NTU1MzUuMDc1MzMzNiwgMzIzNCwgMS41Mjg2MDIzNjE2NzkwNzcxXSwgWzE2NjM3NTU1MzUuMjkyODU4NiwgMzI1NiwgMS41MTg5MjI4MDU3ODYxMzI4XSwgWzE2NjM3NTU1MzUuODEwODc1NywgMzMyMiwgMS40NzQyMDg0NzQxNTkyNDA3XSwgWzE2NjM3NTU1MzcuNDAwMzA3LCAzNDc2LCAxLjQxODI0NzgxODk0NjgzODRdLCBbMTY2Mzc1NTUzNy44NTg5NDYsIDM1MjAsIDEuNTY0ODA3MTc2NTg5OTY1OF0sIFsxNjYzNzU1NTM4LjA0MjQ0NzYsIDM1NDIsIDEuNDQyNDQ1NzU1MDA0ODgyOF0sIFsxNjYzNzU1NTM4LjM1NDM5NDcsIDM1ODYsIDEuNTMyMTkxNzUzMzg3NDUxMl0sIFsxNjYzNzU1NTM4LjY0ODI4NjYsIDM2MzAsIDEuNDQ3MTY4ODI3MDU2ODg0OF0sIFsxNjYzNzU1NTM5LjU4MDgwNzIsIDM3NjIsIDEuNDA3MjU3MTk5Mjg3NDE0Nl0sIFsxNjYzNzU1NTM5LjcyNzgyNiwgMzc4NCwgMS40MDM2MzY2OTM5NTQ0Njc4XSwgWzE2NjM3NTU1MzkuODc1MTExOCwgMzgwNiwgMS4zODE4NTE5MTE1NDQ3OTk4XSwgWzE2NjM3NTU1NDAuNDcwNDUwNiwgMzg3MiwgMS4zNzA4NDE4NjA3NzExNzkyXSwgWzE2NjM3NTU1NDAuNjI3MDgyOCwgMzg5NCwgMS4zNzAyMjg1Mjg5NzY0NDA0XSwgWzE2NjM3NTU1NDAuNzYyMTM1NSwgMzkxNiwgMS4zOTI0NjI4NDk2MTcwMDQ0XSwgWzE2NjM3NTU1NDAuODk4ODg3NiwgMzkzOCwgMS4zNjE5MjI3NDA5MzYyNzkzXSwgWzE2NjM3NTU1NDEuMzY5MjY5NiwgMzk4MiwgMS4zNTI3MjMxMjE2NDMwNjY0XSwgWzE2NjM3NTU1NDEuNTIzNjMxOCwgNDAwNCwgMS4zNTY1MzE3MzkyMzQ5MjQzXSwgWzE2NjM3NTU1NDIuMDkzNzAyNiwgNDA3MCwgMS4zNjgxNTYxOTQ2ODY4ODk2XSwgWzE2NjM3NTU1NDIuMzI3MjAxOCwgNDA5MiwgMS4zNjUwODc4NjY3ODMxNDJdLCBbMTY2Mzc1NTU0Mi41NDI1Mjk2LCA0MTE0LCAxLjM4NzI1ODc2ODA4MTY2NV0sIFsxNjYzNzU1NTQzLjQ4NTM3MiwgNDIwMiwgMS40MTk5MTY5ODc0MTkxMjg0XSwgWzE2NjM3NTU1NDMuNzEwODQxNywgNDIyNCwgMS41ODE4MjYzMjkyMzEyNjIyXSwgWzE2NjM3NTU1NDMuOTIxMjg0NywgNDI0NiwgMS4zNzMxODY0NjkwNzgwNjRdLCBbMTY2Mzc1NTU0NC42MzUzMjMsIDQzMTIsIDEuMzY5Nzg2NzM5MzQ5MzY1Ml0sIFsxNjYzNzU1NTQ1LjQ4MTA4MDMsIDQ0MDAsIDEuMzY0MjU0NDc0NjM5ODkyNl0sIFsxNjYzNzU1NTQ1LjY4MjgxOCwgNDQyMiwgMS4zNTI3NzA2ODYxNDk1OTcyXSwgWzE2NjM3NTU1NDYuMTI1NDYxMywgNDQ2NiwgMS4zNDc0OTM1MjkzMTk3NjMyXSwgWzE2NjM3NTU1NDYuMzEwMzg3OCwgNDQ4OCwgMS4zODc2MzI2MDg0MTM2OTYzXSwgWzE2NjM3NTU1NDYuNDU1MTU4MiwgNDUxMCwgMS4zNzUwODIzNzM2MTkwNzk2XSwgWzE2NjM3NTU1NDYuNjIxMDUxOCwgNDUzMiwgMS4zMzY2NDgxMDY1NzUwMTIyXSwgWzE2NjM3NTU1NDYuOTMwMTI4LCA0NTc2LCAxLjM0OTM2OTUyNTkwOTQyMzhdLCBbMTY2Mzc1NTU0Ny4xOTk5NTYsIDQ2MjAsIDEuMzg5MDMzNjc1MTkzNzg2Nl0sIFsxNjYzNzU1NTQ3LjU4NDQ1LCA0NjY0LCAxLjM0MDAxNzc5NTU2Mjc0NDFdLCBbMTY2Mzc1NTU0OC4wNDI4MzgzLCA0NzA4LCAxLjMwMzgwNjc4MTc2ODc5ODhdLCBbMTY2Mzc1NTU0OC41MzM1NjQsIDQ3NTIsIDEuMzQyMjM1Njg0Mzk0ODM2NF0sIFsxNjYzNzU1NTQ4Ljc3MTUwNzUsIDQ3NzQsIDEuNDQ1Njc5MDY4NTY1MzY4N10sIFsxNjYzNzU1NTQ5LjQwNDE1MTIsIDQ4NDAsIDEuNDEwNDA1Mzk3NDE1MTYxMV0sIFsxNjYzNzU1NTQ5LjU4NjY4NDIsIDQ4NjIsIDEuMzI1MTEzNjU0MTM2NjU3N10sIFsxNjYzNzU1NTQ5LjgzMDA4NTMsIDQ4ODQsIDEuMzk3MDUwNzM4MzM0NjU1OF0sIFsxNjYzNzU1NTUwLjA0MzgwODcsIDQ5MDYsIDEuMjg4MjI2MTI3NjI0NTExN10sIFsxNjYzNzU1NTUwLjUyMjc3MDYsIDQ5NTAsIDEuMzI2NDY2OTE3OTkxNjM4Ml0sIFsxNjYzNzU1NTUxLjU1NjMwNjYsIDUwNjAsIDEuMjk2NTY5NDY2NTkwODgxM10sIFsxNjYzNzU1NTUyLjcxODY2OTQsIDUyMzYsIDEuMjg0MTQzNDQ3ODc1OTc2Nl0sIFsxNjYzNzU1NTUyLjg1ODMwMzUsIDUyNTgsIDEuMzA4MzIyOTA2NDk0MTQwNl0sIFsxNjYzNzU1NTUzLjExOTIzODYsIDUyODAsIDEuMzQ0MDMzOTU2NTI3NzFdLCBbMTY2Mzc1NTU1My40Mzg2NzA2LCA1MzI0LCAxLjM1NTIyNDQ5MDE2NTcxMDRdLCBbMTY2Mzc1NTU1My41ODI5MzIyLCA1MzQ2LCAxLjI4NDA4NTk4ODk5ODQxM10sIFsxNjYzNzU1NTU0LjA3ODI5MTQsIDUzOTAsIDEuMjU1ODE1NTA1OTgxNDQ1M10sIFsxNjYzNzU1NTU0LjIzMjMxNywgNTQxMiwgMS4yNzIyODAyMTYyMTcwNDFdLCBbMTY2Mzc1NTU1NC40MTM0MjE2LCA1NDM0LCAxLjI5MDMyOTQ1NjMyOTM0NTddLCBbMTY2Mzc1NTU1NC42MzMwMTI1LCA1NDU2LCAxLjI2ODkzNTY4MDM4OTQwNDNdLCBbMTY2Mzc1NTU1NS45MDI4MjI1LCA1NTY2LCAxLjM3MzYyNTYzNjEwMDc2OV0sIFsxNjYzNzU1NTU2LjA2NTYyOTcsIDU1ODgsIDEuMjk0NzQxNjMwNTU0MTk5Ml0sIFsxNjYzNzU1NTU2LjIzNjkwNTgsIDU2MTAsIDEuMzM2NzI3ODU3NTg5NzIxN10sIFsxNjYzNzU1NTU2Ljg5MjEwMjcsIDU2OTgsIDEuMjYxMTUyOTgyNzExNzkyXSwgWzE2NjM3NTU1NTcuMTExMTI0NSwgNTcyMCwgMS4yMjYwNDU2MDg1MjA1MDc4XSwgWzE2NjM3NTU1NTcuMjgxMzI5NiwgNTc0MiwgMS4zMDcxMDE5NjQ5NTA1NjE1XSwgWzE2NjM3NTU1NTcuNjEwOTYzMywgNTc4NiwgMS41NDk4MTM2MjgxOTY3MTYzXSwgWzE2NjM3NTU1NTkuNDQyMTAzMSwgNTk2MiwgMS4zMTU4MzExODQzODcyMDddLCBbMTY2Mzc1NTU1OS42OTQ5MDM2LCA1OTg0LCAxLjI1NzA4NTQ0MjU0MzAyOThdLCBbMTY2Mzc1NTU2MC4zNTU0MDg0LCA2MDUwLCAxLjIzMDg2MjYxNzQ5MjY3NThdLCBbMTY2Mzc1NTU2MC43MTA2MzcsIDYwOTQsIDEuMjQ5OTA3NDkzNTkxMzA4Nl0sIFsxNjYzNzU1NTYwLjk4OTM5OTQsIDYxMzgsIDEuMjUxODMyNzIzNjE3NTUzN10sIFsxNjYzNzU1NTYxLjM5NDkxODIsIDYxODIsIDEuMzQ0MDExNDI1OTcxOTg0OV0sIFsxNjYzNzU1NTYxLjkxNTYxNTgsIDYyMjYsIDEuMjg3MDIwMzI1NjYwNzA1Nl0sIFsxNjYzNzU1NTYyLjE0NDcxMzYsIDYyNDgsIDEuMjYwODEyOTk3ODE3OTkzMl0sIFsxNjYzNzU1NTYyLjUwODk5NzcsIDYyOTIsIDEuMjc3NDMxMDExMTk5OTUxMl0sIFsxNjYzNzU1NTYyLjg3NjU3MzgsIDYzMzYsIDEuMjM1MTA2ODI1ODI4NTUyMl0sIFsxNjYzNzU1NTYzLjA5NzgwMDUsIDYzNTgsIDEuMzE1MDYwNDk2MzMwMjYxMl0sIFsxNjYzNzU1NTYzLjQwNDc4MzcsIDY0MDIsIDEuMjU1NjUwMDQzNDg3NTQ4OF0sIFsxNjYzNzU1NTY0LjU0NTkzNDQsIDY1MTIsIDEuMjMzOTU0OTA2NDYzNjIzXSwgWzE2NjM3NTU1NjQuNjkwOTg3MywgNjUzNCwgMS4yNjQyMTUxMTE3MzI0ODNdLCBbMTY2Mzc1NTU2NC44MzU3NTQsIDY1NTYsIDEuMjk1OTU4NzU3NDAwNTEyN10sIFsxNjYzNzU1NTY0Ljk4NjAwNSwgNjU3OCwgMS4yOTQ4MDg4NjQ1OTM1MDU5XSwgWzE2NjM3NTU1NjYuMTkxMzUwNSwgNjc1NCwgMS4yNjk2OTc0Mjc3NDk2MzM4XSwgWzE2NjM3NTU1NjYuNDgxMjE5MywgNjc5OCwgMS4yMTE2Mzg2ODkwNDExMzc3XSwgWzE2NjM3NTU1NjYuNzU4OTk5MywgNjgyMCwgMS4yNzkwNzQ1NDk2NzQ5ODc4XSwgWzE2NjM3NTU1NjcuMTkxODYwNywgNjg4NiwgMS4yNDU0NTkwNzk3NDI0MzE2XSwgWzE2NjM3NTU1NjcuOTY1ODIyNywgNjk3NCwgMS4yNTI4NjYwMjk3MzkzNzk5XSwgWzE2NjM3NTU1NjguMjYwMzgzOCwgNzAxOCwgMS4zMTYyNTkyNjQ5NDU5ODM5XSwgWzE2NjM3NTU1NjguNDExODUzNiwgNzA0MCwgMS4yODU2ODgyODEwNTkyNjUxXSwgWzE2NjM3NTU1NjkuMDUxOTY1NSwgNzEwNiwgMS4yNTA5NjU4MzM2NjM5NDA0XSwgWzE2NjM3NTU1NjkuMzgxNDgzOCwgNzE1MCwgMS4yMDAwOTk1ODc0NDA0OTA3XSwgWzE2NjM3NTU1NzAuMjUyMjk4NCwgNzI2MCwgMS4zMzAwODUxNTgzNDgwODM1XSwgWzE2NjM3NTU1NzAuNjc3NDEwNCwgNzMwNCwgMS4yMDg4OTg1NDQzMTE1MjM0XSwgWzE2NjM3NTU1NzAuODIzNjc3MywgNzMyNiwgMS4yODI1NTIwMDM4NjA0NzM2XSwgWzE2NjM3NTU1NzEuODk1MjIwNSwgNzQzNiwgMS4yNDI4NTE0OTU3NDI3OTc5XSwgWzE2NjM3NTU1NzIuMTA5ODkzOCwgNzQ1OCwgMS4yMDg0MjQ5MjU4MDQxMzgyXSwgWzE2NjM3NTU1NzIuNjU0OTE5MSwgNzUwMiwgMS4xODc4Njg1OTUxMjMyOTFdLCBbMTY2Mzc1NTU3My40MDAyMDczLCA3NTY4LCAxLjI4NzEyODkyNTMyMzQ4NjNdLCBbMTY2Mzc1NTU3My42OTc2NjE2LCA3NjEyLCAxLjM0MTgxMjg0OTA0NDc5OThdLCBbMTY2Mzc1NTU3My44MzE4OTUsIDc2MzQsIDEuMjAzNzMyODQ4MTY3NDE5NF0sIFsxNjYzNzU1NTc0LjUxNTMzMzQsIDc3MjIsIDEuMjEzNzYxNTY4MDY5NDU4XSwgWzE2NjM3NTU1NzQuOTQ5Nzg4OCwgNzc2NiwgMS4yMjc0NDc4NjczOTM0OTM3XSwgWzE2NjM3NTU1NzUuMTg5OTQ2LCA3Nzg4LCAxLjI2Nzg4MDMyMDU0OTAxMTJdLCBbMTY2Mzc1NTU3NS40NTk3MTIsIDc4MTAsIDEuMzY2OTY3OTE2NDg4NjQ3NV0sIFsxNjYzNzU1NTc2LjM5MTM1MTUsIDc4OTgsIDEuMzk0NTM3NTY4MDkyMzQ2Ml0sIFsxNjYzNzU1NTc3LjI1MjMzNDYsIDc5ODYsIDEuMTg2NjM3MjgyMzcxNTIxXSwgWzE2NjM3NTU1NzcuNDc1MjIyMywgODAwOCwgMS4yMTUzNDA5NzE5NDY3MTYzXSwgWzE2NjM3NTU1NzcuNjI1NDkzOCwgODAzMCwgMS4yMjIzMTAzMDQ2NDE3MjM2XSwgWzE2NjM3NTU1NzcuNzYyODQ0NiwgODA1MiwgMS4zMjE2NDIwNDEyMDYzNTk5XSwgWzE2NjM3NTU1NzcuOTAxMjY1NCwgODA3NCwgMS4xNzg3NzgxNzE1MzkzMDY2XSwgWzE2NjM3NTU1NzguMDQwNzQxNywgODA5NiwgMS4yMDcxNDg0MzI3MzE2Mjg0XSwgWzE2NjM3NTU1NzkuMzQ5MDI1NywgODI1MCwgMS4yNTQ0NzM0NDc3OTk2ODI2XSwgWzE2NjM3NTU1ODAuMDY5Nzk4MiwgODMxNiwgMS4yNDYwNzA1MDQxODg1Mzc2XSwgWzE2NjM3NTU1ODAuMzExNDQzNiwgODMzOCwgMS4yOTc1NDM4ODMzMjM2Njk0XSwgWzE2NjM3NTU1ODEuODQ5NzE1LCA4NTE0LCAxLjI2NjAxNzMxNzc3MTkxMTZdLCBbMTY2Mzc1NTU4Mi40MTk3NjksIDg2MDIsIDEuMTg1NjYxNTU0MzM2NTQ3OV0sIFsxNjYzNzU1NTgyLjU1ODIyMjMsIDg2MjQsIDEuMjc3NTc4NTkyMzAwNDE1XSwgWzE2NjM3NTU1ODIuNzE1ODIzMiwgODY0NiwgMS4yMTE2MDk4NDAzOTMwNjY0XSwgWzE2NjM3NTU1ODIuODU1MDc3LCA4NjY4LCAxLjE3NTIzNTAzMzAzNTI3ODNdLCBbMTY2Mzc1NTU4Mi45OTAxNTEyLCA4NjkwLCAxLjE3NjI5MDc1MDUwMzU0XSwgWzE2NjM3NTU1ODMuNjU4NzE4MywgODc1NiwgMS4xOTQ0NTc2NTAxODQ2MzEzXSwgWzE2NjM3NTU1ODQuODg3MTQ3MiwgODg2NiwgMS4zNzg1NTMyNzEyOTM2NDAxXSwgWzE2NjM3NTU1ODUuMjczNzcyNSwgODkxMCwgMS4xODYzOTM2MTg1ODM2NzkyXSwgWzE2NjM3NTU1ODUuODczODY0NywgODk5OCwgMS4xNjkwMTI2NjU3NDg1OTYyXSwgWzE2NjM3NTU1ODYuMDIyOTAxLCA5MDIwLCAxLjE5NTEzNjE4OTQ2MDc1NDRdLCBbMTY2Mzc1NTU4Ni42NTU0NzU0LCA5MTA4LCAxLjE2NTQ4MjY0MDI2NjQxODVdLCBbMTY2Mzc1NTU4Ni44MTE0MzY3LCA5MTMwLCAxLjIwMDQ0OTU4NTkxNDYxMThdLCBbMTY2Mzc1NTU4Ny4wMzE4NzgyLCA5MTUyLCAxLjIwMjI3MzQ4ODA0NDczODhdLCBbMTY2Mzc1NTU4Ny40Nzg4NzIsIDkyMTgsIDEuMjY4MjYxMDc1MDE5ODM2NF0sIFsxNjYzNzU1NTg4LjA1NjgwNDIsIDkyODQsIDEuMTU5NTEwMjU0ODU5OTI0M10sIFsxNjYzNzU1NTg4LjIxNDM4NzIsIDkzMDYsIDEuMTkxNzAwMjIwMTA4MDMyMl0sIFsxNjYzNzU1NTg4LjgwNjQ5NSwgOTM3MiwgMS4xNjQyMzE4OTY0MDA0NTE3XSwgWzE2NjM3NTU1ODguOTQ1MDUzLCA5Mzk0LCAxLjE4MjY3NjA3Njg4OTAzOF0sIFsxNjYzNzU1NTg5LjczNjk1NiwgOTQ4MiwgMS4yNDU3NTIyMTUzODU0MzddLCBbMTY2Mzc1NTU4OS45OTA2NTQ1LCA5NTA0LCAxLjE4MTQ1MjUxMjc0MTA4ODldLCBbMTY2Mzc1NTU5MC42MjY2MDM0LCA5NTkyLCAxLjE5NDUxNjUzOTU3MzY2OTRdLCBbMTY2Mzc1NTU5MC43NzY0MTgsIDk2MTQsIDEuMTkwMTg1MzA4NDU2NDIxXSwgWzE2NjM3NTU1OTAuOTE0OTk3OCwgOTYzNiwgMS4xOTM1MzQyNTUwMjc3NzFdLCBbMTY2Mzc1NTU5MS4yMTUwNDcxLCA5NjgwLCAxLjE2NDAyMTQ5MjAwNDM5NDVdLCBbMTY2Mzc1NTU5MS41MDc2ODczLCA5NzAyLCAxLjE4NzEyOTM3ODMxODc4NjZdLCBbMTY2Mzc1NTU5MS43NjE4NzcsIDk3MjQsIDEuMTgzMDcwMTgyODAwMjkzXSwgWzE2NjM3NTU1OTIuMTAzMzc2NiwgOTc2OCwgMS4yNDE1MzA2NTY4MTQ1NzUyXSwgWzE2NjM3NTU1OTIuMjM5NTI2LCA5NzkwLCAxLjE3MDk3ODU0NjE0MjU3ODFdLCBbMTY2Mzc1NTU5Mi40NDA3MjUsIDk4MTIsIDEuMjU1Mjc1OTY0NzM2OTM4NV0sIFsxNjYzNzU1NTkyLjY4NTQ4MiwgOTgzNCwgMS4yMDMxODkwMTUzODg0ODg4XSwgWzE2NjM3NTU1OTMuMzI2NTAyNiwgOTkyMiwgMS4xNjcxMjY2NTU1Nzg2MTMzXSwgWzE2NjM3NTU1OTMuNDY0Mjc5LCA5OTQ0LCAxLjE3NTQwNzI5MDQ1ODY3OTJdLCBbMTY2Mzc1NTU5My42MDg5OTQyLCA5OTY2LCAxLjE3ODAxMjAxMzQzNTM2MzhdLCBbMTY2Mzc1NTU5My43NDkwMTcsIDk5ODgsIDEuMjQ2MzAzNjc3NTU4ODk5XSwgWzE2NjM3NTU1OTMuODkzNTQzNSwgMTAwMTAsIDEuMjc5ODYwOTczMzU4MTU0M10sIFsxNjYzNzU1NTk0LjI5MzE1MjMsIDEwMDU0LCAxLjIyOTUzODkxNzU0MTUwNF0sIFsxNjYzNzU1NTk0LjU4OTM4MDMsIDEwMDk4LCAxLjE1MzY5NzcyOTExMDcxNzhdLCBbMTY2Mzc1NTU5NC45OTQ0MTYyLCAxMDE0MiwgMS4yMjIzNTEwNzQyMTg3NV0sIFsxNjYzNzU1NTk1LjE0MDA0MzMsIDEwMTY0LCAxLjE1NjIwMTQ4MTgxOTE1MjhdLCBbMTY2Mzc1NTU5NS43Mjk0NTI2LCAxMDI1MiwgMS40NDMzMjk2OTE4ODY5MDE5XSwgWzE2NjM3NTU1OTUuOTczOTEzNCwgMTAyNzQsIDEuMjM5NDA5MDg5MDg4NDRdLCBbMTY2Mzc1NTU5Ni4yNjA0MTUzLCAxMDMxOCwgMS4yMDQ5ODgyNDExOTU2Nzg3XSwgWzE2NjM3NTU1OTYuNTQxOTYyLCAxMDM2MiwgMS4xNDY1OTgxMDA2NjIyMzE0XSwgWzE2NjM3NTU1OTcuMjQ1NjI5LCAxMDQ1MCwgMS4yNTIwMDcyNDYwMTc0NTZdLCBbMTY2Mzc1NTU5Ny4zODAwMjEzLCAxMDQ3MiwgMS4xODU4MDI0NTk3MTY3OTY5XSwgWzE2NjM3NTU1OTcuOTE2NDc4NCwgMTA1MzgsIDEuMjI1NzYyMDA5NjIwNjY2NV0sIFsxNjYzNzU1NTk4LjA0ODUzMDMsIDEwNTYwLCAxLjEzNjYwNTAyNDMzNzc2ODZdLCBbMTY2Mzc1NTU5OC4xOTUxNzA0LCAxMDU4MiwgMS4xNjIwMTMyOTIzMTI2MjJdLCBbMTY2Mzc1NTU5OC40NjQ3NTIyLCAxMDYwNCwgMS4xNTg3NzkxNDQyODcxMDk0XSwgWzE2NjM3NTU1OTguNzQ1MTk2OCwgMTA2NDgsIDEuMTk1MTQzMTAzNTk5NTQ4M10sIFsxNjYzNzU1NTk4Ljg3OTE1NjgsIDEwNjcwLCAxLjIwNjg0MzI1Njk1MDM3ODRdLCBbMTY2Mzc1NTU5OS42NTM1NTY4LCAxMDczNiwgMS4yNzU4MzE2OTkzNzEzMzhdLCBbMTY2Mzc1NTU5OS45MjA0ODQ4LCAxMDc1OCwgMS4xOTMzNjc4Mzg4NTk1NThdLCBbMTY2Mzc1NTYwMC4wNzY4OTEyLCAxMDc4MCwgMS4yOTkyODc5MTUyMjk3OTc0XSwgWzE2NjM3NTU2MDAuMzY2OTAxMiwgMTA4MjQsIDEuMjk2MDU1NTU1MzQzNjI4XSwgWzE2NjM3NTU2MDAuNzg4NDExOSwgMTA4OTAsIDEuMTczMzUzNDMzNjA5MDA4OF0sIFsxNjYzNzU1NjAxLjQzMDA4NzYsIDEwOTc4LCAxLjIwMzIyOTA2OTcwOTc3NzhdLCBbMTY2Mzc1NTYwMi4xMjE3NjA2LCAxMTA2NiwgMS4xODU5NjU3NzY0NDM0ODE0XSwgWzE2NjM3NTU2MDIuMjYwNzEyOSwgMTEwODgsIDEuMjUzMDg5NjY2MzY2NTc3MV0sIFsxNjYzNzU1NjAyLjkwMzk3NSwgMTExNTQsIDEuMjAxMjk2MDkxMDc5NzEyXSwgWzE2NjM3NTU2MDMuMzMxNTE0OCwgMTEyMjAsIDEuMTk4MjA3NDk3NTk2NzQwN10sIFsxNjYzNzU1NjAzLjUxNDI1MDMsIDExMjQyLCAxLjM0Nzk1NzczMDI5MzI3NF0sIFsxNjYzNzU1NjAzLjgxNjQzODIsIDExMjY0LCAxLjM0OTc1OTEwMTg2NzY3NThdLCBbMTY2Mzc1NTYwNC4wNDYwMjY3LCAxMTI4NiwgMS4xNzkzODczMzEwMDg5MTExXSwgWzE2NjM3NTU2MDQuMzA1OTkwNSwgMTEzMDgsIDEuMTg5OTUyMjU0Mjk1MzQ5MV0sIFsxNjYzNzU1NjA0LjUzMjkzMzIsIDExMzMwLCAxLjEzNzc4MzY0NjU4MzU1NzFdLCBbMTY2Mzc1NTYwNS4xMDM4NDY1LCAxMTM5NiwgMS4yMTc1NjU1MzY0OTkwMjM0XSwgWzE2NjM3NTU2MDUuMjQxMjE1MiwgMTE0MTgsIDEuMTY5ODIxMzgxNTY4OTA4N10sIFsxNjYzNzU1NjA1LjQwMDEyMjIsIDExNDQwLCAxLjE2MjUyMjMxNTk3OTAwNF0sIFsxNjYzNzU1NjA1LjU0Mzg4NTcsIDExNDYyLCAxLjI1OTc1MTc5NjcyMjQxMl0sIFsxNjYzNzU1NjA1Ljk2OTgwNTUsIDExNTI4LCAxLjE0Njc4MjE1OTgwNTI5NzldLCBbMTY2Mzc1NTYwNy4yODczNzk1LCAxMTY4MiwgMS4yMTgyOTE2NDAyODE2NzcyXSwgWzE2NjM3NTU2MDcuNzQyMTQ4NCwgMTE3NDgsIDEuMzIwMjU0MjA2NjU3NDA5N10sIFsxNjYzNzU1NjA3Ljg4NzE3NTMsIDExNzcwLCAxLjE2MjYyNDM1OTEzMDg1OTRdLCBbMTY2Mzc1NTYwOC4yOTgyNTU0LCAxMTgxNCwgMS4xNjg5MjM5NzQwMzcxNzA0XSwgWzE2NjM3NTU2MDguNTE4MTk2OCwgMTE4MzYsIDEuMjQzNjg0NTMwMjU4MTc4N10sIFsxNjYzNzU1NjA4Ljc0NjM1NzIsIDExODU4LCAxLjE4OTIxNzgwNTg2MjQyNjhdLCBbMTY2Mzc1NTYwOC45NjcyMDQzLCAxMTg4MCwgMS4xNzE2MTk0MTUyODMyMDMxXSwgWzE2NjM3NTU2MDkuMTI0MTEyOCwgMTE5MDIsIDEuMTgzMTY0MjM4OTI5NzQ4NV0sIFsxNjYzNzU1NjA5LjQwMTYxODIsIDExOTQ2LCAxLjE2MDA2NTc3MDE0OTIzMV0sIFsxNjYzNzU1NjA5Ljg5MDU4MjYsIDExOTkwLCAxLjE5MTM2NDUyNjc0ODY1NzJdLCBbMTY2Mzc1NTYxMC4yMjE0NjYsIDEyMDM0LCAxLjE0NTM0NDYxNDk4MjYwNV0sIFsxNjYzNzU1NjEwLjM4NzczMTMsIDEyMDU2LCAxLjE2Nzk4NTMyMDA5MTI0NzZdLCBbMTY2Mzc1NTYxMC44MzAxMTk4LCAxMjEyMiwgMS4xOTY1OTY3NDE2NzYzMzA2XSwgWzE2NjM3NTU2MTEuMjQ5MTc3LCAxMjE2NiwgMS4yMDAyODIwOTY4NjI3OTNdLCBbMTY2Mzc1NTYxMS42NjkxODA0LCAxMjIzMiwgMS4yMjk5NzEwNTEyMTYxMjU1XSwgWzE2NjM3NTU2MTEuOTM1NTMsIDEyMjU0LCAxLjE0ODExOTY4ODAzNDA1NzZdLCBbMTY2Mzc1NTYxMi45MTM1ODc2LCAxMjM4NiwgMS4xMzU1MTY0MDUxMDU1OTA4XSwgWzE2NjM3NTU2MTMuMDU1MDM1LCAxMjQwOCwgMS4xNDQ2OTUyODE5ODI0MjE5XSwgWzE2NjM3NTU2MTMuMTk2MDUyLCAxMjQzMCwgMS4xMzAyNzY1NjA3ODMzODYyXSwgWzE2NjM3NTU2MTMuODc0ODQ2NSwgMTI1MTgsIDEuMjE4ODg1MDY0MTI1MDYxXSwgWzE2NjM3NTU2MTQuNDM0MjQ0NiwgMTI1ODQsIDEuMTMyMjE2ODExMTgwMTE0N10sIFsxNjYzNzU1NjE0LjcxNTgzOTksIDEyNjI4LCAxLjE2Njc4MTc4MzEwMzk0MjldLCBbMTY2Mzc1NTYxNS4zOTY0MTA1LCAxMjY5NCwgMS4xNDcyNDcxOTUyNDM4MzU0XSwgWzE2NjM3NTU2MTYuMTY1MTMsIDEyNzgyLCAxLjE1NTc5NDE0MzY3Njc1NzhdLCBbMTY2Mzc1NTYxNi43NTMxNTgzLCAxMjg3MCwgMS4xNDQ0NjM2NTgzMzI4MjQ3XSwgWzE2NjM3NTU2MTYuODk4MTA1LCAxMjg5MiwgMS4xMzA2NjcwOTA0MTU5NTQ2XSwgWzE2NjM3NTU2MTcuMTc5MzQyLCAxMjkxNCwgMS4xMzEwMjc4MTc3MjYxMzUzXSwgWzE2NjM3NTU2MTcuNDgxNjgwNCwgMTI5NTgsIDEuMjA0MDYzNzczMTU1MjEyNF0sIFsxNjYzNzU1NjE3LjgyOTc2NTgsIDEzMDAyLCAxLjE2Mzc4MjU5NjU4ODEzNDhdLCBbMTY2Mzc1NTYxOC4xMzY4NDI1LCAxMzAyNCwgMS4xNTAzMzYxNDYzNTQ2NzUzXSwgWzE2NjM3NTU2MTguMjcwMTk3NCwgMTMwNDYsIDEuMTMxNDYxMTQzNDkzNjUyM10sIFsxNjYzNzU1NjE4LjU3ODg1OTgsIDEzMDkwLCAxLjE0MzYyMDAxNDE5MDY3MzhdLCBbMTY2Mzc1NTYxOC44ODk4MiwgMTMxMzQsIDEuMTIwMjQ5OTg2NjQ4NTU5Nl0sIFsxNjYzNzU1NjE5LjEwNTA1OCwgMTMxNTYsIDEuMTkwOTg4NDIxNDQwMTI0NV0sIFsxNjYzNzU1NjE5LjI0Nzg2MDIsIDEzMTc4LCAxLjE3NzAzNDI1ODg0MjQ2ODNdLCBbMTY2Mzc1NTYxOS4zOTM4OTA2LCAxMzIwMCwgMS4xNDE0NTczMTkyNTk2NDM2XSwgWzE2NjM3NTU2MTkuNjkxMTA3MywgMTMyNDQsIDEuMTE3MDc2Mzk2OTQyMTM4N10sIFsxNjYzNzU1NjE5Ljk1NzcyNjcsIDEzMjY2LCAxLjIzMDQxMTI5MTEyMjQzNjVdLCBbMTY2Mzc1NTYyMC4xMDI5MDYyLCAxMzI4OCwgMS4xNzc2NDY3NTYxNzIxODAyXSwgWzE2NjM3NTU2MjAuMzgyNjE1MywgMTMzMzIsIDEuMzY5NTUwOTQzMzc0NjMzOF0sIFsxNjYzNzU1NjIwLjk1ODY5MTQsIDEzMzk4LCAxLjE0OTMyNTcyODQxNjQ0MjldLCBbMTY2Mzc1NTYyMS4yNDMxMzgsIDEzNDQyLCAxLjEzOTU3MjYyMDM5MTg0NTddLCBbMTY2Mzc1NTYyMS44MTMwNjg2LCAxMzUwOCwgMS4xOTA4NzU3Njg2NjE0OTldLCBbMTY2Mzc1NTYyMS45NTE2MzIsIDEzNTMwLCAxLjEyNzIwOTQyNDk3MjUzNDJdLCBbMTY2Mzc1NTYyMi4yMjUwNjYsIDEzNTc0LCAxLjE0OTQxNDA2MjVdLCBbMTY2Mzc1NTYyMi42NDQ2NzQzLCAxMzYxOCwgMS4xMzExNzY5NDg1NDczNjMzXSwgWzE2NjM3NTU2MjIuOTM2NTA1NiwgMTM2NjIsIDEuMTMwMDU0NzEyMjk1NTMyMl0sIFsxNjYzNzU1NjIzLjM3MDA2NiwgMTM3MDYsIDEuMTQxMjA1NjY4NDQ5NDAxOV0sIFsxNjYzNzU1NjIzLjU5ODE4NTgsIDEzNzI4LCAxLjE0NTQ2NDc3Nzk0NjQ3MjJdLCBbMTY2Mzc1NTYyNC4xNTUyMzIyLCAxMzc5NCwgMS4yMTMwMjk1MDM4MjIzMjY3XSwgWzE2NjM3NTU2MjQuNDQwNzcxMywgMTM4MzgsIDEuMTIxNDYxNjI5ODY3NTUzN10sIFsxNjYzNzU1NjI0LjU4MDI2NDMsIDEzODYwLCAxLjE4MzM4OTc4MjkwNTU3ODZdLCBbMTY2Mzc1NTYyNS4zNzEyMzg1LCAxMzk0OCwgMS4xNDI0MTUwNDY2OTE4OTQ1XSwgWzE2NjM3NTU2MjYuMjg4ODU3NSwgMTQwMzYsIDEuMTk4MzE3NTI3NzcwOTk2XSwgWzE2NjM3NTU2MjcuMDA5NzIwMywgMTQxMDIsIDEuMTgwOTY2NDk2NDY3NTkwM10sIFsxNjYzNzU1NjI3LjE0NjUyOTcsIDE0MTI0LCAxLjIyNDk0NTA2ODM1OTM3NV0sIFsxNjYzNzU1NjI3LjI3OTcxNDMsIDE0MTQ2LCAxLjExNjc1Nzg2OTcyMDQ1OV0sIFsxNjYzNzU1NjI3LjQxOTM4NjksIDE0MTY4LCAxLjMyMDQ0NDk0MTUyMDY5MV0sIFsxNjYzNzU1NjI3LjU1MzU5OTYsIDE0MTkwLCAxLjM1OTEzNjIyMzc5MzAyOThdLCBbMTY2Mzc1NTYyOC4yNjYzMTg4LCAxNDMwMCwgMS4xNjY4NzM0NTUwNDc2MDc0XSwgWzE2NjM3NTU2MjguNTU1ODg5MSwgMTQzNDQsIDEuMTQzMTU0NjIxMTI0MjY3Nl0sIFsxNjYzNzU1NjI4Ljc5NTc3NDcsIDE0MzY2LCAxLjE3NzEyOTAzMDIyNzY2MTFdLCBbMTY2Mzc1NTYyOC45NTU1OTk1LCAxNDM4OCwgMS4xMzAxMzQ1ODI1MTk1MzEyXSwgWzE2NjM3NTU2MjkuMDkxMjEwNiwgMTQ0MTAsIDEuMTI1MTUxMDM4MTY5ODYwOF0sIFsxNjYzNzU1NjI5LjIzMDIzNjUsIDE0NDMyLCAxLjE2MDE4OTM5MDE4MjQ5NTFdLCBbMTY2Mzc1NTYyOS45MjI4NzgsIDE0NDk4LCAxLjE1NTQ0MjExODY0NDcxNDRdLCBbMTY2Mzc1NTYzMC4zNDQ5OTY1LCAxNDU0MiwgMS4xMTYzMDgwOTMwNzA5ODM5XSwgWzE2NjM3NTU2MzEuNjM4ODYxLCAxNDY5NiwgMS4yMjQxNTI1NjUwMDI0NDE0XSwgWzE2NjM3NTU2MzIuMzU0ODMsIDE0NzYyLCAxLjE5NDA5NTEzNDczNTEwNzRdLCBbMTY2Mzc1NTYzMy40MTkwOTY1LCAxNDg3MiwgMS4xMjgzNzg1MTA0NzUxNTg3XSwgWzE2NjM3NTU2MzMuNTU5MDY1OCwgMTQ4OTQsIDEuMTM4MzIyMTE0OTQ0NDU4XSwgWzE2NjM3NTU2MzMuNzA1NzkzNCwgMTQ5MTYsIDEuMTMxMDI0MTIyMjM4MTU5Ml0sIFsxNjYzNzU1NjM0LjExNTU4ODQsIDE0OTgyLCAxLjExODA2ODQ1NjY0OTc4MDNdLCBbMTY2Mzc1NTYzNC40Mzg2NTI4LCAxNTAyNiwgMS4yMjg5MzIxNDIyNTc2OTA0XSwgWzE2NjM3NTU2MzQuNTgyMDI1OCwgMTUwNDgsIDEuMjA3MTM0NzIzNjYzMzNdLCBbMTY2Mzc1NTYzNC44MTA0MDE3LCAxNTA3MCwgMS4xNjQ2NjMwNzY0MDA3NTY4XSwgWzE2NjM3NTU2MzUuNTc4ODQ5NiwgMTUxMzYsIDEuMTM1NTA1OTE0Njg4MTEwNF0sIFsxNjYzNzU1NjM2Ljc3MjcxMywgMTUyNDYsIDEuMTc1MTcwNTQwODA5NjMxM10sIFsxNjYzNzU1NjM3LjEwNDk5OTgsIDE1MjkwLCAxLjEzMzY4MzMyMzg2MDE2ODVdLCBbMTY2Mzc1NTYzNy41Mzc3NTgsIDE1MzM0LCAxLjMyODM2NzQ3MTY5NDk0NjNdLCBbMTY2Mzc1NTYzNy43NTQ0NTI1LCAxNTM1NiwgMS4xNTk4NjUyNjAxMjQyMDY1XSwgWzE2NjM3NTU2MzguMTA3ODI5MywgMTU0MDAsIDEuMTI0MTEyMjQ4NDIwNzE1M10sIFsxNjYzNzU1NjM4LjU0NjY0NzUsIDE1NDY2LCAxLjI1NDM5NTcyMzM0Mjg5NTVdLCBbMTY2Mzc1NTYzOC43MDExMjY2LCAxNTQ4OCwgMS4xMTQ1NzI1MjUwMjQ0MTRdLCBbMTY2Mzc1NTYzOC45ODY5MzM1LCAxNTUzMiwgMS4zMTI4NDE2NTM4MjM4NTI1XSwgWzE2NjM3NTU2MzkuNTY3ODIxNywgMTU2MjAsIDEuMjA1ODM1MzQyNDA3MjI2Nl0sIFsxNjYzNzU1NjM5LjcxMzk2MSwgMTU2NDIsIDEuMTM0MDMwODE4OTM5MjA5XSwgWzE2NjM3NTU2NDAuMTA2OTY4MiwgMTU2ODYsIDEuMTMyMzM1MzA1MjEzOTI4Ml0sIFsxNjYzNzU1NjQwLjUyMTQ0NjUsIDE1NzUyLCAxLjEyMzA0MzE3OTUxMjAyNF0sIFsxNjYzNzU1NjQwLjk1MjkyMjMsIDE1Nzk2LCAxLjE2OTQ0MTM0MjM1MzgyMDhdLCBbMTY2Mzc1NTY0MS4zNzQyMDQ2LCAxNTg2MiwgMS4xMzA4NTE4NjQ4MTQ3NTgzXSwgWzE2NjM3NTU2NDEuNTEzNjIzNywgMTU4ODQsIDEuMjMyMDMzMzcxOTI1MzU0XSwgWzE2NjM3NTU2NDEuOTU5NTMyNSwgMTU5MjgsIDEuMTIzNzg4NDc1OTkwMjk1NF0sIFsxNjYzNzU1NjQyLjI0MTMwNDQsIDE1OTcyLCAxLjIxMDc0NTU3MzA0MzgyMzJdLCBbMTY2Mzc1NTY0Mi4zODA3MDYzLCAxNTk5NCwgMS4xOTUzNjA4OTg5NzE1NTc2XSwgWzE2NjM3NTU2NDIuODAxMzQxOCwgMTYwMzgsIDEuMjI2MjYyODA3ODQ2MDY5M10sIFsxNjYzNzU1NjQyLjkzOTQ1NzIsIDE2MDYwLCAxLjIyNjI4OTAzMzg4OTc3MDVdLCBbMTY2Mzc1NTY0My4yMDYwNTc4LCAxNjEwNCwgMS4xNDQ5ODU3OTUwMjEwNTcxXSwgWzE2NjM3NTU2NDMuNDk0OTg1LCAxNjEyNiwgMS4xMDAwMDg3MjYxMTk5OTUxXSwgWzE2NjM3NTU2NDMuNjQwMDkzLCAxNjE0OCwgMS4xNjc2MjgyODgyNjkwNDNdLCBbMTY2Mzc1NTY0NC43Mjg4NjI4LCAxNjI1OCwgMS4xODU3NjYxMDA4ODM0ODM5XSwgWzE2NjM3NTU2NDUuNzA3OTE1MywgMTYzNDYsIDEuMTIxMzA4OTIyNzY3NjM5Ml0sIFsxNjYzNzU1NjQ1LjkyNjc5NCwgMTYzNjgsIDEuMTM0OTMyNjM3MjE0NjYwNl0sIFsxNjYzNzU1NjQ2LjE0NDQ0ODgsIDE2MzkwLCAxLjEzNjY2MTE3MTkxMzE0N10sIFsxNjYzNzU1NjQ3Ljg0MTkxMSwgMTY2MzIsIDEuMjI3NTA4MDY4MDg0NzE2OF0sIFsxNjYzNzU1NjQ3Ljk4MjA0ODMsIDE2NjU0LCAxLjE4OTg3NDE3MjIxMDY5MzRdLCBbMTY2Mzc1NTY0OC41MTkwNzYzLCAxNjY5OCwgMS4xMzE4MjE1MTMxNzU5NjQ0XSwgWzE2NjM3NTU2NDkuNzA5NjQ1LCAxNjgwOCwgMS4xMjg4MTAwNDgxMDMzMzI1XSwgWzE2NjM3NTU2NDkuOTU4ODUzNywgMTY4MzAsIDEuMTM3MTY2NzM4NTEwMTMxOF0sIFsxNjYzNzU1NjUwLjE3MTA3MzcsIDE2ODUyLCAxLjE1MDkzMDc2MjI5MDk1NDZdLCBbMTY2Mzc1NTY1MC43MTM3NjMyLCAxNjkxOCwgMS4xMTkyNTM3NTQ2MTU3ODM3XSwgWzE2NjM3NTU2NTAuODY0MzY3LCAxNjk0MCwgMS4xNDc0NTQzODA5ODkwNzQ3XSwgWzE2NjM3NTU2NTEuMzA3NjE4OSwgMTcwMDYsIDEuMTU0ODg4NzQ5MTIyNjE5Nl0sIFsxNjYzNzU1NjUxLjczMzA2NSwgMTcwNzIsIDEuMTI3ODI1MDIxNzQzNzc0NF0sIFsxNjYzNzU1NjUxLjkwMDU3NTIsIDE3MDk0LCAxLjEyMTk1NDA4MzQ0MjY4OF0sIFsxNjYzNzU1NjUyLjI3MDk5MjgsIDE3MTM4LCAxLjE5NTYxOTEwNjI5MjcyNDZdLCBbMTY2Mzc1NTY1Mi40NjQ2MjczLCAxNzE2MCwgMS4yMTQxOTIyNzEyMzI2MDVdLCBbMTY2Mzc1NTY1Mi42NzE2MDU2LCAxNzE4MiwgMS4xMDY0NjM1NTE1MjEzMDEzXSwgWzE2NjM3NTU2NTIuODA3OTEzLCAxNzIwNCwgMS4xMzgzMTY2MzEzMTcxMzg3XSwgWzE2NjM3NTU2NTIuOTU0NTMwMiwgMTcyMjYsIDEuMTk1NzkyMDc4OTcxODYyOF0sIFsxNjYzNzU1NjU0LjE5ODUyOCwgMTczNTgsIDEuMTI4MzUyOTk5Njg3MTk0OF0sIFsxNjYzNzU1NjU0LjkyMTk0MTMsIDE3NDI0LCAxLjMwMDM1MzA1MDIzMTkzMzZdLCBbMTY2Mzc1NTY1NS4yMjYzOTUxLCAxNzQ2OCwgMS4xMjk4MjE1Mzg5MjUxNzFdLCBbMTY2Mzc1NTY1NS41MjkzOTgyLCAxNzUxMiwgMS4xMzAxNDQzNTc2ODEyNzQ0XSwgWzE2NjM3NTU2NTYuMTI4NTk2MywgMTc2MDAsIDEuMTA1NDY2MjQ2NjA0OTE5NF0sIFsxNjYzNzU1NjU2Ljg3NjMwNDksIDE3NzEwLCAxLjEzMDg0NTA2OTg4NTI1NF0sIFsxNjYzNzU1NjU3LjAxNzIxNTMsIDE3NzMyLCAxLjEzNTY2OTQ2OTgzMzM3NF0sIFsxNjYzNzU1NjU3LjE1OTUxODIsIDE3NzU0LCAxLjE1MDc5MTI4NzQyMjE4MDJdLCBbMTY2Mzc1NTY1Ny4zOTM5NjMzLCAxNzc3NiwgMS4xOTM2Njk0MzgzNjIxMjE2XSwgWzE2NjM3NTU2NTguMTc1ODE3NSwgMTc4NDIsIDEuMTQwMDIwNzI4MTExMjY3XSwgWzE2NjM3NTU2NTkuNDIyNjMyLCAxODAxOCwgMS4xMDMxODY3MjY1NzAxMjk0XSwgWzE2NjM3NTU2NTkuNTY5NTgwMywgMTgwNDAsIDEuMTEyODY4NjY2NjQ4ODY0N10sIFsxNjYzNzU1NjU5Ljg3NzAyMDQsIDE4MDg0LCAxLjA5OTQ4Nzc4MTUyNDY1ODJdLCBbMTY2Mzc1NTY2MC4zMDk3MDc5LCAxODEyOCwgMS4xMDk2MzMwODgxMTE4Nzc0XSwgWzE2NjM3NTU2NjAuNzUyNTk0NywgMTgxOTQsIDEuMTg0ODU2NzcyNDIyNzkwNV0sIFsxNjYzNzU1NjYwLjkwOTQzNiwgMTgyMTYsIDEuMjM2MDE2MjczNDk4NTM1Ml0sIFsxNjYzNzU1NjYxLjIwMTc2OCwgMTgyMzgsIDEuMTYxOTYzNDYyODI5NTg5OF0sIFsxNjYzNzU1NjYyLjAzMzA5MjUsIDE4MzI2LCAxLjExOTQwMTA5NzI5NzY2ODVdLCBbMTY2Mzc1NTY2Mi4xODI5OTg0LCAxODM0OCwgMS4xMDI3MDY5MDkxNzk2ODc1XSwgWzE2NjM3NTU2NjIuNDkwNzczLCAxODM5MiwgMS4xMjM0MDQ1MDI4Njg2NTIzXSwgWzE2NjM3NTU2NjIuNjM4NTQxMiwgMTg0MTQsIDEuMTE3MDg3MDA2NTY4OTA4N10sIFsxNjYzNzU1NjYyLjc4NDQxMjYsIDE4NDM2LCAxLjEzMTk2MDYzMDQxNjg3MDFdLCBbMTY2Mzc1NTY2My4xNzIyNDk4LCAxODQ4MCwgMS4xMDIyMDM2MDc1NTkyMDRdLCBbMTY2Mzc1NTY2My4zNDcxOTIzLCAxODUwMiwgMS4xNTcyNDY3MDg4Njk5MzRdLCBbMTY2Mzc1NTY2My45MjA1MzQ0LCAxODU2OCwgMS4wOTIxNTQ1MDI4Njg2NTIzXSwgWzE2NjM3NTU2NjQuMjAzNzM5MiwgMTg2MTIsIDEuMTIwMTA0MzEyODk2NzI4NV0sIFsxNjYzNzU1NjY1LjA1NTUxODksIDE4NzIyLCAxLjA5ODA0Nzk3MTcyNTQ2MzldLCBbMTY2Mzc1NTY2NS4yMDc2NDE0LCAxODc0NCwgMS4xMjg0MzAwMDg4ODgyNDQ2XSwgWzE2NjM3NTU2NjUuNzgyOTIzNywgMTg4MTAsIDEuMTExMjYzODcxMTkyOTMyMV0sIFsxNjYzNzU1NjY2LjIxMjI3ODYsIDE4ODc2LCAxLjEyMDg5MDM3ODk1MjAyNjRdLCBbMTY2Mzc1NTY2Ni44MTYxODcxLCAxODk0MiwgMS4xMzg0NjgwMjcxMTQ4NjgyXSwgWzE2NjM3NTU2NjcuMTAwMzM4NSwgMTg5ODYsIDEuMTE2NTQyNTc3NzQzNTMwM10sIFsxNjYzNzU1NjY3Ljg3NTE4OTMsIDE5MDUyLCAxLjE1ODY1ODUwNDQ4NjA4NF0sIFsxNjYzNzU1NjY4LjAyMDIzMDMsIDE5MDc0LCAxLjExMDE5OTIxMzAyNzk1NF0sIFsxNjYzNzU1NjY4LjczMDk5NywgMTkxNjIsIDEuMDk4NDgxMDU5MDc0NDAxOV0sIFsxNjYzNzU1NjY4Ljg3MjE4NCwgMTkxODQsIDEuMTM1NDg4MTUyNTAzOTY3M10sIFsxNjYzNzU1NjcxLjEwODk0MTgsIDE5NDcwLCAxLjE3NTY4MTIzMzQwNjA2N10sIFsxNjYzNzU1NjcxLjI1Mjg5NDYsIDE5NDkyLCAxLjEzNjEzMzU1MTU5NzU5NTJdLCBbMTY2Mzc1NTY3MS4zOTIyODgsIDE5NTE0LCAxLjE1MzQ1OTE5MTMyMjMyNjddLCBbMTY2Mzc1NTY3MS42Nzg0NTYsIDE5NTU4LCAxLjEzNjQ4MzY2OTI4MTAwNTldLCBbMTY2Mzc1NTY3Mi4wODA3NzY3LCAxOTYwMiwgMS4xMDc0ODM1MDYyMDI2OTc4XSwgWzE2NjM3NTU2NzIuNTQxNjM5LCAxOTY0NiwgMS4xNDEyMTk2MTU5MzYyNzkzXSwgWzE2NjM3NTU2NzMuMTM3MTk1LCAxOTcxMiwgMS4xMTk5ODA4MTIwNzI3NTRdLCBbMTY2Mzc1NTY3My40MTY2NzYsIDE5NzU2LCAxLjE4MjE4NjAwNzQ5OTY5NDhdLCBbMTY2Mzc1NTY3My41NTQ2MzA1LCAxOTc3OCwgMS4yMjExOTk1MTI0ODE2ODk1XSwgWzE2NjM3NTU2NzQuMTkxNTg4MiwgMTk4NDQsIDEuMTQ4MzQzNTYzMDc5ODM0XSwgWzE2NjM3NTU2NzQuNDAwNTQ1OCwgMTk4NjYsIDEuMTI4MzM3NjIxNjg4ODQyOF0sIFsxNjYzNzU1Njc0Ljg3NjExMzcsIDE5OTEwLCAxLjA5NjUwOTkzMzQ3MTY3OTddLCBbMTY2Mzc1NTY3NS40OTIxNDg0LCAxOTk3NiwgMS4xMzg1OTM1NTQ0OTY3NjUxXSwgWzE2NjM3NTU2NzUuNjM0NTk2LCAxOTk5OCwgMS4xODA0MTY0NjQ4MDU2MDNdLCBbMTY2Mzc1NTY3NS45MzA3NDE4LCAyMDA0MiwgMS4yNjMwNzIwMTM4NTQ5ODA1XSwgWzE2NjM3NTU2NzYuMDc5MzA4NywgMjAwNjQsIDEuMTQwMDE5MTc4MzkwNTAzXSwgWzE2NjM3NTU2NzYuNjYzMDAyMywgMjAxMzAsIDEuMDk4OTUwOTgyMDkzODExXSwgWzE2NjM3NTU2NzcuMzg4NDIzLCAyMDIxOCwgMS4xMzM4NTk1MTUxOTAxMjQ1XSwgWzE2NjM3NTU2NzcuNTQyMjIxLCAyMDI0MCwgMS4xMjc3ODQzNzEzNzYwMzc2XSwgWzE2NjM3NTU2NzcuOTQzNTAyNCwgMjAyODQsIDEuMTA4MzExNDE0NzE4NjI4XSwgWzE2NjM3NTU2NzguMzI1MTAxLCAyMDMyOCwgMS4wOTU3ODAyNTM0MTAzMzk0XSwgWzE2NjM3NTU2NzguOTc0MTE0LCAyMDQxNiwgMS4xMjUyNTMyMDA1MzEwMDU5XSwgWzE2NjM3NTU2NzkuMTMxNjI2LCAyMDQzOCwgMS4xMjIzNTczNjg0NjkyMzgzXSwgWzE2NjM3NTU2NzkuNzUwMTM2LCAyMDQ4MiwgMS4xNDEzMzI1MDcxMzM0ODM5XSwgWzE2NjM3NTU2NzkuOTg3OTA0NSwgMjA1MDQsIDEuMTI0MzE5NDM0MTY1OTU0Nl0sIFsxNjYzNzU1NjgwLjIzNDM5NDYsIDIwNTI2LCAxLjEyMTQ2OTk3NDUxNzgyMjNdLCBbMTY2Mzc1NTY4MC40OTc2Njc2LCAyMDU0OCwgMS4xNTQ0NDgyNzA3OTc3Mjk1XSwgWzE2NjM3NTU2ODAuOTYzNzQzNCwgMjA1OTIsIDEuMTM4MTcxNzkyMDMwMzM0NV0sIFsxNjYzNzU1NjgxLjU2NTk0NiwgMjA2ODAsIDEuMTc1MTc5MTIzODc4NDc5XSwgWzE2NjM3NTU2ODEuODUwNzczLCAyMDcyNCwgMS4yNzE1ODU4MjIxMDU0MDc3XSwgWzE2NjM3NTU2ODEuOTg1MDEyNSwgMjA3NDYsIDEuMTIzNDU4MjY2MjU4MjM5N10sIFsxNjYzNzU1NjgyLjQyOTE4MywgMjA4MTIsIDEuMjM0OTQwNDA5NjYwMzM5NF0sIFsxNjYzNzU1NjgzLjE4MDYwOTUsIDIwOTAwLCAxLjEzMDk0ODMwNTEzMDAwNDldLCBbMTY2Mzc1NTY4My42MTc0NTk1LCAyMDk2NiwgMS4yMzQ3MTg1NjExNzI0ODU0XSwgWzE2NjM3NTU2ODQuNDQ0MTc0NSwgMjEwMzIsIDEuMTM5NTczNTc0MDY2MTYyXSwgWzE2NjM3NTU2ODQuNjUzNDksIDIxMDU0LCAxLjE1MzYzMDM3NTg2MjEyMTZdLCBbMTY2Mzc1NTY4NS4zODE0NTEsIDIxMTQyLCAxLjE3NzE5MTEzODI2NzUxN10sIFsxNjYzNzU1Njg1LjY3NjY5OSwgMjExODYsIDEuMTMwNTIyOTY2Mzg0ODg3N10sIFsxNjYzNzU1Njg1LjgwOTY0MSwgMjEyMDgsIDEuMTUxNjczMDc4NTM2OTg3M10sIFsxNjYzNzU1Njg2LjEwNjk0MjQsIDIxMjUyLCAxLjEwMjU3ODg3ODQwMjcxXSwgWzE2NjM3NTU2ODYuNDUxMzQ5NSwgMjEyOTYsIDEuMTEzNzk0NTY1MjAwODA1N10sIFsxNjYzNzU1Njg2LjY5NjcyNDcsIDIxMzE4LCAxLjE0NjMyNDk5MjE3OTg3MDZdLCBbMTY2Mzc1NTY4Ny40Mjk0ODUzLCAyMTM4NCwgMS4xMTYzMTIwMjY5Nzc1MzldLCBbMTY2Mzc1NTY4OC4xNzAxMzEsIDIxNDk0LCAxLjA5MzUyMTgzMzQxOTc5OThdLCBbMTY2Mzc1NTY4OC40ODEyMDgzLCAyMTUzOCwgMS4xNTk0ODQwMjg4MTYyMjMxXSwgWzE2NjM3NTU2ODguNzY5MjQ5NywgMjE1NjAsIDEuMDk4MTEwNTU2NjAyNDc4XSwgWzE2NjM3NTU2ODkuMDYzODYyOCwgMjE2MDQsIDEuMjI5NzM3NTIwMjE3ODk1NV0sIFsxNjYzNzU1Njg5LjI4MjE4ODIsIDIxNjI2LCAxLjI0ODI4ODUxMjIyOTkxOTRdLCBbMTY2Mzc1NTY5MC4xODY2NTM5LCAyMTcxNCwgMS4xNzEyNDIzNTYzMDAzNTRdLCBbMTY2Mzc1NTY5MC44NjI1NzYyLCAyMTgwMiwgMS4xMDc1MDU3OTgzMzk4NDM4XSwgWzE2NjM3NTU2OTEuMTUxNDEzNywgMjE4NDYsIDEuMDkwNDQyMjk5ODQyODM0NV0sIFsxNjYzNzU1NjkxLjUyNTY1MDMsIDIxODkwLCAxLjEwNzQ3OTIxNDY2ODI3NF0sIFsxNjYzNzU1NjkxLjgxODMxMywgMjE5MzQsIDEuMTcyODE0ODQ2MDM4ODE4NF0sIFsxNjYzNzU1NjkyLjEwMzk4MzYsIDIxOTc4LCAxLjA5MDA5NDMyNzkyNjYzNTddLCBbMTY2Mzc1NTY5Mi40NTE5MjkzLCAyMjAwMCwgMS4wODkyNDAzMTI1NzYyOTRdLCBbMTY2Mzc1NTY5Mi44ODg4Nzc0LCAyMjA2NiwgMS4xMzE0MzM2MDYxNDc3NjYxXSwgWzE2NjM3NTU2OTMuMDI0OTY4MSwgMjIwODgsIDEuMTMzOTc0OTA5NzgyNDA5N10sIFsxNjYzNzU1NjkzLjMxNjE2OSwgMjIxMTAsIDEuMjM0NzU3MTg0OTgyMjk5OF0sIFsxNjYzNzU1NjkzLjU5NDIzMSwgMjIxNTQsIDEuMTY5NTg5MjgxMDgyMTUzM10sIFsxNjYzNzU1Njk0LjQ0NDM1ODYsIDIyMjY0LCAxLjA5ODY1MzY3NDEyNTY3MTRdLCBbMTY2Mzc1NTY5NC43MzU5MjQ3LCAyMjMwOCwgMS4xMjY1MjQ5MjUyMzE5MzM2XSwgWzE2NjM3NTU2OTUuMjA0NTY3MiwgMjIzNTIsIDEuMjM3MTIyNDE2NDk2Mjc2OV0sIFsxNjYzNzU1Njk1LjQxMzIzMjgsIDIyMzc0LCAxLjEzNjk5ODUzNDIwMjU3NTddLCBbMTY2Mzc1NTY5NS42MDg0MDQyLCAyMjM5NiwgMS4xMjQ1NzcwNDU0NDA2NzM4XSwgWzE2NjM3NTU2OTYuNjE1NDQ3OCwgMjI1MDYsIDEuMTMxMzE3NDk2Mjk5NzQzN10sIFsxNjYzNzU1Njk3LjIyOTc0OTIsIDIyNTk0LCAxLjEwMTU0NDAyMjU2MDExOTZdLCBbMTY2Mzc1NTY5Ny41MDg1MTEsIDIyNjM4LCAxLjA5NTk5NzY5MTE1NDQ4XSwgWzE2NjM3NTU2OTcuNjYyNjk2MSwgMjI2NjAsIDEuMTA3NDc5NTcyMjk2MTQyNl0sIFsxNjYzNzU1Njk4Ljc5MDI2MjIsIDIyNzkyLCAxLjE1OTkwMjY5MTg0MTEyNTVdLCBbMTY2Mzc1NTY5OC45MjQ4OTU4LCAyMjgxNCwgMS4zMzk0ODA3NTc3MTMzMTc5XSwgWzE2NjM3NTU2OTkuMDY2MTMxOCwgMjI4MzYsIDEuMjE4ODAxMzc5MjAzNzk2NF0sIFsxNjYzNzU1Njk5LjIxMjYwODYsIDIyODU4LCAxLjA4NDY0NDY3NTI1NDgyMThdLCBbMTY2Mzc1NTY5OS4zNTMzNDQyLCAyMjg4MCwgMS4wOTU0OTczNjk3NjYyMzU0XSwgWzE2NjM3NTU3MDAuMjUzMTAwOSwgMjI5NjgsIDEuMTY2NDk0NzI3MTM0NzA0Nl0sIFsxNjYzNzU1NzAwLjU1ODkwNDQsIDIzMDEyLCAxLjEwODcwMzczMjQ5MDUzOTZdLCBbMTY2Mzc1NTcwMC43MDYwNDM1LCAyMzAzNCwgMS4xNDYzNzA3Njg1NDcwNThdLCBbMTY2Mzc1NTcwMS42NjUyMzg2LCAyMzE2NiwgMS4xMjM0NjA2NTA0NDQwMzA4XSwgWzE2NjM3NTU3MDEuODEwMTU4NywgMjMxODgsIDEuMTIwNzkyMTUwNDk3NDM2NV0sIFsxNjYzNzU1NzAyLjQwODA2NzUsIDIzMjU0LCAxLjE1MTY2NDczMzg4NjcxODhdLCBbMTY2Mzc1NTcwMi43NjU2NjU4LCAyMzI5OCwgMS4xNDY5ODE5NTQ1NzQ1ODVdLCBbMTY2Mzc1NTcwMi45NzYzNzU4LCAyMzMyMCwgMS4xMzc1NzI1MjY5MzE3NjI3XSwgWzE2NjM3NTU3MDMuMTgzMzcxNSwgMjMzNDIsIDEuMTE0MTY3MDk0MjMwNjUxOV0sIFsxNjYzNzU1NzAzLjQ4NjM3NDQsIDIzMzg2LCAxLjExNTI0MjM2MjAyMjRdLCBbMTY2Mzc1NTcwNC4wMzcwNTgsIDIzNDUyLCAxLjE1MDY1NDA3NzUyOTkwNzJdLCBbMTY2Mzc1NTcwNC4zMjI1MDQ4LCAyMzQ5NiwgMS4xMTU5NjcxNTQ1MDI4Njg3XSwgWzE2NjM3NTU3MDQuNjI4NjkxNywgMjM1NDAsIDEuMTExNzMwOTMzMTg5MzkyXSwgWzE2NjM3NTU3MDQuOTE5ODksIDIzNTYyLCAxLjEyNDYzNzg0MjE3ODM0NDddLCBbMTY2Mzc1NTcwNS4wNjUxNDcyLCAyMzU4NCwgMS4xNDQ1MTkyMDk4NjE3NTU0XSwgWzE2NjM3NTU3MDUuMjA3MjYyNSwgMjM2MDYsIDEuMjgyNTg0OTA1NjI0Mzg5Nl0sIFsxNjYzNzU1NzA1LjM4ODcwOTgsIDIzNjI4LCAxLjE1MDg1NTY2MDQzODUzNzZdLCBbMTY2Mzc1NTcwNS41MzI4Nzk2LCAyMzY1MCwgMS4xMTI2MTU4MjM3NDU3Mjc1XSwgWzE2NjM3NTU3MDYuMDk5MDM3NiwgMjM3MTYsIDEuMTQwOTU2NTIxMDM0MjQwN10sIFsxNjYzNzU1NzA2LjI0NTQ1MzQsIDIzNzM4LCAxLjExMzc3NjMyNjE3OTUwNDRdLCBbMTY2Mzc1NTcwNi42MzMzNjYzLCAyMzc4MiwgMS4yMTczNDA3MDc3Nzg5MzA3XSwgWzE2NjM3NTU3MDYuODI0NzcyNiwgMjM4MDQsIDEuMTYwMDQ2MTAwNjE2NDU1XSwgWzE2NjM3NTU3MDcuMDU1OTA3MiwgMjM4MjYsIDEuMTU4NDkwMTgwOTY5MjM4M10sIFsxNjYzNzU1NzA3LjU5OTA2MDUsIDIzODkyLCAxLjEwODM5NzEyNjE5NzgxNV0sIFsxNjYzNzU1NzA3Ljc0ODA3LCAyMzkxNCwgMS4xNDYzOTgxODY2ODM2NTQ4XSwgWzE2NjM3NTU3MDcuOTE1MTkyLCAyMzkzNiwgMS4xMzQwMTA3OTE3Nzg1NjQ1XSwgWzE2NjM3NTU3MDguNjQ4Nzk2NiwgMjQwMjQsIDEuMTc0MzAwMzEyOTk1OTEwNl0sIFsxNjYzNzU1NzA5Ljk1MDA3NDIsIDI0MTc4LCAxLjI5OTM5MDA3NzU5MDk0MjRdLCBbMTY2Mzc1NTcxMC4zNDExMjgzLCAyNDIyMiwgMS4xODk3MDE5MTQ3ODcyOTI1XSwgWzE2NjM3NTU3MTAuNjY2MzU5NywgMjQyNjYsIDEuMTAxMjM5MDg1MTk3NDQ4N10sIFsxNjYzNzU1NzEwLjgxOTcyMDcsIDI0Mjg4LCAxLjEyMjQ0NTIyNTcxNTYzNzJdLCBbMTY2Mzc1NTcxMC45ODQyNzMsIDI0MzEwLCAxLjIyMDc1OTg2ODYyMTgyNjJdLCBbMTY2Mzc1NTcxMS42MzY5MjgzLCAyNDM3NiwgMS4wODUwMTg3NTQwMDU0MzIxXSwgWzE2NjM3NTU3MTIuMTEwOTQ4NiwgMjQ0MjAsIDEuMTI5NTg4MjQ2MzQ1NTJdLCBbMTY2Mzc1NTcxMi41MjIyODQ3LCAyNDQ2NCwgMS4xMzY5MzM4MDM1NTgzNDk2XSwgWzE2NjM3NTU3MTIuNzU1OTQ3OCwgMjQ0ODYsIDEuMTQzODkwODU3Njk2NTMzMl0sIFsxNjYzNzU1NzEzLjIzNzUyNzYsIDI0NTMwLCAxLjIwMjI1MTY3Mjc0NDc1MV0sIFsxNjYzNzU1NzE0LjEyMjEwMSwgMjQ2NDAsIDEuMTIzMzc5NTg4MTI3MTM2Ml0sIFsxNjYzNzU1NzE0LjUxNzgyNCwgMjQ2ODQsIDEuMTI0NjQwMzQ1NTczNDI1M10sIFsxNjYzNzU1NzE0LjczNjAyNjgsIDI0NzA2LCAxLjE4MTA0MTU5ODMyMDAwNzNdLCBbMTY2Mzc1NTcxNS4zNzkzNzI2LCAyNDc3MiwgMS4xMDAwNTU0NTYxNjE0OTldLCBbMTY2Mzc1NTcxNS42MjAwNzc0LCAyNDc5NCwgMS4xNTM0NDYxOTc1MDk3NjU2XSwgWzE2NjM3NTU3MTYuMDg1MjYyNSwgMjQ4MzgsIDEuMTQ0MzU3NjgxMjc0NDE0XSwgWzE2NjM3NTU3MTYuMzE1MjU2NCwgMjQ4NjAsIDEuMDgwOTEwOTIxMDk2ODAxOF0sIFsxNjYzNzU1NzE2LjQ2NzMzMzYsIDI0ODgyLCAxLjEwMDU4MTY0NTk2NTU3NjJdLCBbMTY2Mzc1NTcxNi42MTk3NTg4LCAyNDkwNCwgMS4xMDI1MzI3NDQ0MDc2NTM4XSwgWzE2NjM3NTU3MTYuNzcwNjUsIDI0OTI2LCAxLjE3MTg1ODA3MjI4MDg4MzhdLCBbMTY2Mzc1NTcxNy4wNTUyMjEsIDI0OTcwLCAxLjEwMTkxODU3ODE0Nzg4ODJdLCBbMTY2Mzc1NTcxNy4xOTE5OTczLCAyNDk5MiwgMS4wODA0OTcyNjQ4NjIwNjA1XSwgWzE2NjM3NTU3MTcuMzY3MjU4MywgMjUwMTQsIDEuMTAyODAyNjM0MjM5MTk2OF0sIFsxNjYzNzU1NzE4LjA1MjI2NTQsIDI1MDgwLCAxLjIwODExNjc2OTc5MDY0OTRdLCBbMTY2Mzc1NTcxOC41MTUyMDUxLCAyNTE0NiwgMS4xMzM4ODQ0Mjk5MzE2NDA2XSwgWzE2NjM3NTU3MTguOTU4MDQ4NiwgMjUyMTIsIDEuMTQ1ODE5MzA2MzczNTk2Ml0sIFsxNjYzNzU1NzE5LjIxNDAyNywgMjUyMzQsIDEuMTA2OTQ5NTY3Nzk0Nzk5OF0sIFsxNjYzNzU1NzE5LjQ5NzE1MDQsIDI1Mjc4LCAxLjA3ODAyNjg5MDc1NDY5OTddLCBbMTY2Mzc1NTcxOS43ODYxMDE2LCAyNTMyMiwgMS4xNzI4MTg3Nzk5NDUzNzM1XSwgWzE2NjM3NTU3MjAuMDQ0ODE4NCwgMjUzNDQsIDEuMTk5NzY4OTAwODcxMjc2OV0sIFsxNjYzNzU1NzIwLjE4MDkyMzIsIDI1MzY2LCAxLjEzMDc1Njg1NTAxMDk4NjNdLCBbMTY2Mzc1NTcyMC4zMTk5OTkyLCAyNTM4OCwgMS4xNjA5MjI0MDgxMDM5NDI5XSwgWzE2NjM3NTU3MjEuNTEzNTcsIDI1NTQyLCAxLjExNDk4NjY1ODA5NjMxMzVdLCBbMTY2Mzc1NTcyMS44ODU3MTMzLCAyNTU4NiwgMS4xNDg1ODQ2MDQyNjMzMDU3XSwgWzE2NjM3NTU3MjIuMTczMzIsIDI1NjMwLCAxLjEwMjExODk2ODk2MzYyM10sIFsxNjYzNzU1NzIyLjcxMzQwODcsIDI1Njc0LCAxLjE1NDMzODQ3OTA0MjA1MzJdLCBbMTY2Mzc1NTcyMi45NjgxMjAzLCAyNTY5NiwgMS4yNTMyNzUyNzUyMzA0MDc3XSwgWzE2NjM3NTU3MjQuMzUzNDc0NCwgMjU4MjgsIDEuMTIxOTAzMzAwMjg1MzM5NF0sIFsxNjYzNzU1NzI0LjU1NDU0NTksIDI1ODUwLCAxLjA5NzQ1MzU5NDIwNzc2MzddLCBbMTY2Mzc1NTcyNS4wMzc2NzIzLCAyNTg5NCwgMS4xMDUyOTgwNDIyOTczNjMzXSwgWzE2NjM3NTU3MjUuMjQ0MDYzMSwgMjU5MTYsIDEuMTk5Njk0NjMzNDgzODg2N10sIFsxNjYzNzU1NzI1LjQ1NzM4ODQsIDI1OTM4LCAxLjEyMTE5NjM4OTE5ODMwMzJdLCBbMTY2Mzc1NTcyNi4zMzUwMDM5LCAyNjAyNiwgMS4yNTg5NzkwODIxMDc1NDRdLCBbMTY2Mzc1NTcyNi43Mjk5NjM4LCAyNjA3MCwgMS4xMjIwNzg3NzYzNTk1NThdLCBbMTY2Mzc1NTcyNy4wMjM2NTU0LCAyNjExNCwgMS4xMDA2MTgzNjI0MjY3NTc4XSwgWzE2NjM3NTU3MjcuMzE4NTE5NCwgMjYxNTgsIDEuMTE5ODI1NDgyMzY4NDY5Ml0sIFsxNjYzNzU1NzI3LjU1NDYyNDYsIDI2MTgwLCAxLjEyNTg2MjU5ODQxOTE4OTVdLCBbMTY2Mzc1NTcyNy43ODg4MDQzLCAyNjIwMiwgMS4xMjkyOTA1ODA3NDk1MTE3XSwgWzE2NjM3NTU3MjguNDg0MDQxMiwgMjYyNjgsIDEuMTUxNjQzMDM3Nzk2MDIwNV0sIFsxNjYzNzU1NzI4LjcwOTMxMjcsIDI2MjkwLCAxLjI4NjExNzMxNTI5MjM1ODRdLCBbMTY2Mzc1NTcyOC45MTQxMjg4LCAyNjMxMiwgMS4xMDA5NTQ2NTE4MzI1ODA2XSwgWzE2NjM3NTU3MjkuMzI1NTEzMSwgMjYzNTYsIDEuMTA2NTM2ODY1MjM0Mzc1XSwgWzE2NjM3NTU3MjkuNTMzNzgwOCwgMjYzNzgsIDEuMTIxMTE3NDcyNjQ4NjIwNl0sIFsxNjYzNzU1NzMwLjE1OTI3OCwgMjY0NDQsIDEuMTM4MDk0NzgyODI5Mjg0N10sIFsxNjYzNzU1NzMwLjk5ODUxODcsIDI2NTMyLCAxLjE1NDYxODM4MjQ1MzkxODVdLCBbMTY2Mzc1NTczMS4xOTQ4NzI5LCAyNjU1NCwgMS4xMTYwNTcwMzgzMDcxOV0sIFsxNjYzNzU1NzMxLjQxMzU5NSwgMjY1NzYsIDEuMjU4NDg1NTU1NjQ4ODAzN10sIFsxNjYzNzU1NzMxLjczMTYwMTcsIDI2NjIwLCAxLjE0NTcxMDQ2ODI5MjIzNjNdLCBbMTY2Mzc1NTczMi4zMTIzOTU2LCAyNjcwOCwgMS4xODA5NjA1MzYwMDMxMTI4XSwgWzE2NjM3NTU3MzIuNDU0OTAzNiwgMjY3MzAsIDEuMTE3NzYwMzAwNjM2MjkxNV0sIFsxNjYzNzU1NzMyLjYwMjM4MzksIDI2NzUyLCAxLjE1MTQ2NTE3NzUzNjAxMDddLCBbMTY2Mzc1NTczMy4wNjcxMjY1LCAyNjgxOCwgMS4wODI3NDUwNzUyMjU4M10sIFsxNjYzNzU1NzM0LjA2NTExNzQsIDI2OTI4LCAxLjIxMjU2NDU4NzU5MzA3ODZdLCBbMTY2Mzc1NTczNC4zNjg4NDgzLCAyNjk3MiwgMS4xMzY0NjA3ODEwOTc0MTJdLCBbMTY2Mzc1NTczNS4wNjYxNDYsIDI3MDYwLCAxLjEyOTA1OTkxMDc3NDIzMV0sIFsxNjYzNzU1NzM1Ljc2ODA4MDcsIDI3MTI2LCAxLjE3MDM2OTg2MzUxMDEzMThdLCBbMTY2Mzc1NTczNi4wNTQ2Mjc3LCAyNzE0OCwgMS4xMzA2MzI0MDA1MTI2OTUzXSwgWzE2NjM3NTU3MzYuOTEyMzM4NywgMjcyNTgsIDEuMTEwOTI5MjUwNzE3MTYzXSwgWzE2NjM3NTU3MzcuMjMwNzY1LCAyNzMwMiwgMS4xMjIzNDg5MDQ2MDk2ODAyXSwgWzE2NjM3NTU3MzcuNDcxNzI3LCAyNzMyNCwgMS4xMTI0NTYzMjE3MTYzMDg2XSwgWzE2NjM3NTU3MzcuNjI1ODk1NywgMjczNDYsIDEuMDg0MTMxNDc5MjYzMzA1N10sIFsxNjYzNzU1NzM3LjgzNDU4NzYsIDI3MzY4LCAxLjA3OTk0NzcxMDAzNzIzMTRdLCBbMTY2Mzc1NTczNy45NzIyODcyLCAyNzM5MCwgMS4xMDA5ODgwMzA0MzM2NTQ4XSwgWzE2NjM3NTU3MzguMzcwNDI3LCAyNzQzNCwgMS4xNjYxMzUzMTExMjY3MDldLCBbMTY2Mzc1NTczOC44MjY2NzIsIDI3NTAwLCAxLjA4MDU0OTgzNjE1ODc1MjRdLCBbMTY2Mzc1NTczOC45OTA4Njk4LCAyNzUyMiwgMS4xNDY4MzQyNTQyNjQ4MzE1XSwgWzE2NjM3NTU3MzkuMjc0OTk0NiwgMjc1NDQsIDEuMTMyODg3ODQwMjcwOTk2XSwgWzE2NjM3NTU3MzkuNDE5MTI2NSwgMjc1NjYsIDEuMTk2NzU5NTgxNTY1ODU3XSwgWzE2NjM3NTU3MzkuNzA5MTAzNiwgMjc2MTAsIDEuMTM4ODA3NTM1MTcxNTA4OF0sIFsxNjYzNzU1NzQwLjIzODIwNCwgMjc2NTQsIDEuMDk3NzE5MDczMjk1NTkzM10sIFsxNjYzNzU1NzQwLjM5MjA2NiwgMjc2NzYsIDEuMDkxNjEwMDc0MDQzMjc0XSwgWzE2NjM3NTU3NDAuODUyMzQ5NSwgMjc3NDIsIDEuMjE1MDg1NzQ0ODU3Nzg4XSwgWzE2NjM3NTU3NDEuMTAyMTAxOCwgMjc3NjQsIDEuMDkzOTk2NTI0ODEwNzkxXSwgWzE2NjM3NTU3NDIuMDY5NzQzNCwgMjc4OTYsIDEuMTAyMjIzNjM0NzE5ODQ4Nl0sIFsxNjYzNzU1NzQyLjgwNTI0LCAyNzk4NCwgMS4wOTMzNjU5MDc2NjkwNjc0XSwgWzE2NjM3NTU3NDQuMDg2OTUzNiwgMjgwOTQsIDEuMTM2OTI1NTc4MTE3MzcwNl0sIFsxNjYzNzU1NzQ0LjI3NDA4NTUsIDI4MTE2LCAxLjEyODE0ODU1NTc1NTYxNTJdLCBbMTY2Mzc1NTc0NC40MjIyMDQ1LCAyODEzOCwgMS4xMzYyODU0MjQyMzI0ODNdLCBbMTY2Mzc1NTc0NS4wMDA2Mjc4LCAyODIyNiwgMS4xMTU1NTY5NTUzMzc1MjQ0XSwgWzE2NjM3NTU3NDUuNDIwMjEzMiwgMjgyOTIsIDEuMTAyNjA0OTg1MjM3MTIxNl0sIFsxNjYzNzU1NzQ2LjIwMTc3NDgsIDI4NDAyLCAxLjE0NjMwMzI5NjA4OTE3MjRdLCBbMTY2Mzc1NTc0Ni43NTYyMjg3LCAyODQ2OCwgMS4xMTg3MTkzMzkzNzA3Mjc1XSwgWzE2NjM3NTU3NDcuODY5NTQ4MywgMjg1NzgsIDEuMTExNzk2OTc1MTM1ODAzMl0sIFsxNjYzNzU1NzQ4LjA5MTE5MSwgMjg2MDAsIDEuMTMzOTc2NTc4NzEyNDYzNF0sIFsxNjYzNzU1NzQ4Ljc4OTQ4OCwgMjg2NjYsIDEuMDg1NjM5NzE1MTk0NzAyMV0sIFsxNjYzNzU1NzQ5LjU2ODAwMjIsIDI4NzU0LCAxLjEzMTY0NTMyMTg0NjAwODNdLCBbMTY2Mzc1NTc1MC40MjAxMDQsIDI4ODQyLCAxLjE1ODc3OTUwMTkxNDk3OF0sIFsxNjYzNzU1NzUxLjEyOTA4OSwgMjg5NTIsIDEuMTY0NDI4MjM0MTAwMzQxOF0sIFsxNjYzNzU1NzUxLjg2NzE4MjcsIDI5MDYyLCAxLjIyMjgxNzA2MzMzMTYwNF0sIFsxNjYzNzU1NzUyLjM0OTUwOCwgMjkxMDYsIDEuMTExODE2NjQ0NjY4NTc5XSwgWzE2NjM3NTU3NTIuNzYzMDgyNSwgMjkxNzIsIDEuMDkwNzA4MjU1NzY3ODIyM10sIFsxNjYzNzU1NzUyLjkwMDQ0MjQsIDI5MTk0LCAxLjA4MjAzNjEzNzU4MDg3MTZdLCBbMTY2Mzc1NTc1My40MDUwMjE3LCAyOTIzOCwgMS4wODA1NjM1NDUyMjcwNTA4XSwgWzE2NjM3NTU3NTQuNzA3NDUzNywgMjkzOTIsIDEuMDg5MTQ5NTk0MzA2OTQ1OF0sIFsxNjYzNzU1NzU2LjM3NTE1MTQsIDI5NTkwLCAxLjE4MDYwNzQzODA4NzQ2MzRdLCBbMTY2Mzc1NTc1Ni41MTQ0MDk4LCAyOTYxMiwgMS4xMDYyNTgzOTIzMzM5ODQ0XSwgWzE2NjM3NTU3NTcuMDA4ODE4LCAyOTY1NiwgMS4xMDExMDY4ODIwOTUzMzddLCBbMTY2Mzc1NTc1Ny4xNDc4MTQ1LCAyOTY3OCwgMS4wODUxODY0ODE0NzU4M10sIFsxNjYzNzU1NzU3LjU2NDA0NzYsIDI5NzQ0LCAxLjA4ODI0OTU2NDE3MDgzNzRdLCBbMTY2Mzc1NTc1Ny45MDgyNjg1LCAyOTc2NiwgMS4xMTczMzY4NjkyMzk4MDcxXSwgWzE2NjM3NTU3NTguMTgzODYzOSwgMjk4MTAsIDEuMTI1NTU1NTE1Mjg5MzA2Nl0sIFsxNjYzNzU1NzU4Ljk1ODE1ODcsIDI5ODk4LCAxLjEyNDU4OTY4MTYyNTM2NjJdLCBbMTY2Mzc1NTc1OS4yMzUzODE2LCAyOTk0MiwgMS4xMDI2MTE0MjI1Mzg3NTczXSwgWzE2NjM3NTU3NTkuOTk2NDU3NiwgMzAwMzAsIDEuMDczNDIxMDAxNDM0MzI2Ml0sIFsxNjYzNzU1NzYwLjEzNzcxMTMsIDMwMDUyLCAxLjA3NTY2MDIyODcyOTI0OF0sIFsxNjYzNzU1NzYwLjI4MjEwNjYsIDMwMDc0LCAxLjA4MjU2NzgxMTAxMjI2OF0sIFsxNjYzNzU1NzYwLjYxNzcxOSwgMzAwOTYsIDEuMDkyNTg1NTYzNjU5NjY4XSwgWzE2NjM3NTU3NjAuNzU0MDY5NiwgMzAxMTgsIDEuMTM5NzE4NjUxNzcxNTQ1NF0sIFsxNjYzNzU1NzYxLjU0MjA0NywgMzAyMDYsIDEuMDYwNDAwMjQ3NTczODUyNV0sIFsxNjYzNzU1NzYxLjY4NDg3MTQsIDMwMjI4LCAxLjA4MjMzOTA0ODM4NTYyMDFdLCBbMTY2Mzc1NTc2MS45ODA4ODQzLCAzMDI3MiwgMS4xMDUwNzQ1MjQ4Nzk0NTU2XSwgWzE2NjM3NTU3NjIuMTIwNTg4OCwgMzAyOTQsIDEuMTE2MDEyMjE1NjE0MzE4OF0sIFsxNjYzNzU1NzYyLjg4NzA2MDYsIDMwMzgyLCAxLjA5ODQwMDU5MjgwMzk1NV0sIFsxNjYzNzU1NzYzLjgwMTczNCwgMzA0OTIsIDEuMjM1OTkwNTI0MjkxOTkyMl0sIFsxNjYzNzU1NzYzLjkzODE4NTcsIDMwNTE0LCAxLjIxMzU5NDMxNzQzNjIxODNdLCBbMTY2Mzc1NTc2NC45NzM2OTUzLCAzMDYwMiwgMS4xMTA0NzY0OTM4MzU0NDkyXSwgWzE2NjM3NTU3NjUuNTAzNDU0LCAzMDY2OCwgMS4wOTY1ODc2NTc5Mjg0NjY4XSwgWzE2NjM3NTU3NjYuMTM3OTI2OCwgMzA3NTYsIDEuMDkyMDI4ODU2Mjc3NDY1OF0sIFsxNjYzNzU1NzY3LjQxNzEzMjEsIDMwODg4LCAxLjEwMzU2MDgwNTMyMDczOTddLCBbMTY2Mzc1NTc2OS45MjIxOTYxLCAzMTE3NCwgMS4wNzY4MTc1MTI1MTIyMDddLCBbMTY2Mzc1NTc3MC4wNjQwOTc2LCAzMTE5NiwgMS4wOTEzMjIzMDI4MTgyOTgzXSwgWzE2NjM3NTU3NzAuNjYwNzExOCwgMzEyODQsIDEuMTcwNjk0NzA4ODI0MTU3N10sIFsxNjYzNzU1NzcyLjgwMjc5NTIsIDMxNTA0LCAxLjE0NTM0NzgzMzYzMzQyMjldLCBbMTY2Mzc1NTc3My4wNTM5MzEyLCAzMTUyNiwgMS4wNzUwNDE3NzA5MzUwNTg2XSwgWzE2NjM3NTU3NzMuOTkzNjEyOCwgMzE2MTQsIDEuMTA3NTc2MjUxMDI5OTY4M10sIFsxNjYzNzU1Nzc0LjQwOTk0NTIsIDMxNjU4LCAxLjExMTcyOTk3OTUxNTA3NTddLCBbMTY2Mzc1NTc3NC42MTc3MjY2LCAzMTY4MCwgMS4wODMzNTI2ODQ5NzQ2NzA0XSwgWzE2NjM3NTU3NzQuNzg0OTgyNCwgMzE3MDIsIDEuMDc1NzUzNDUwMzkzNjc2OF0sIFsxNjYzNzU1Nzc0LjkyNzAzMDMsIDMxNzI0LCAxLjA5OTYwMzQxNDUzNTUyMjVdLCBbMTY2Mzc1NTc3NS4zNTg2MjUsIDMxNzkwLCAxLjExMTYwNDA5NDUwNTMxXSwgWzE2NjM3NTU3NzUuNjM5OTcxNSwgMzE4MzQsIDEuMDg0NzE4NTg1MDE0MzQzM10sIFsxNjYzNzU1Nzc1Ljc4MzYyMSwgMzE4NTYsIDEuMTM3NjQ3MjcxMTU2MzExXSwgWzE2NjM3NTU3NzYuMDkxMTU4LCAzMTkwMCwgMS4wODg2MzA5MTQ2ODgxMTA0XSwgWzE2NjM3NTU3NzYuMzkyMDk3LCAzMTk0NCwgMS4xMTM1NzM3ODk1OTY1NTc2XSwgWzE2NjM3NTU3NzYuNTI4MjI2MSwgMzE5NjYsIDEuMDg3MDEwMzgzNjA1OTU3XSwgWzE2NjM3NTU3NzcuMDU1NjE1MiwgMzIwMTAsIDEuMTc2NjU2MTI2OTc2MDEzMl0sIFsxNjYzNzU1Nzc3LjIwMDM1NywgMzIwMzIsIDEuMTUwNjIyODQ0Njk2MDQ1XSwgWzE2NjM3NTU3NzcuMzM4Njc2LCAzMjA1NCwgMS4wOTc3NzU2OTc3MDgxMjk5XSwgWzE2NjM3NTU3NzcuNDkzMjc2LCAzMjA3NiwgMS4xMDI0ODgxNjAxMzMzNjE4XSwgWzE2NjM3NTU3NzcuODQ5MjQzNiwgMzIwOTgsIDEuMDkxNzAwOTExNTIxOTExNl0sIFsxNjYzNzU1Nzc3Ljk5MDI5OTIsIDMyMTIwLCAxLjA3OTE4NTI0NzQyMTI2NDZdLCBbMTY2Mzc1NTc3OC4xNDQyNjg4LCAzMjE0MiwgMS4xMjc2MDQyNDYxMzk1MjY0XSwgWzE2NjM3NTU3NzguMjg5MzQ3LCAzMjE2NCwgMS4xMDU4MzE4NjE0OTU5NzE3XSwgWzE2NjM3NTU3NzguNzc1ODE2NCwgMzIyMDgsIDEuMDkyMDA5MDY3NTM1NDAwNF0sIFsxNjYzNzU1Nzc5Ljk3ODcsIDMyMzYyLCAxLjExNzAzNjgxOTQ1ODAwNzhdLCBbMTY2Mzc1NTc4MC41OTMwNSwgMzI0MjgsIDEuMTY1NTk3OTE1NjQ5NDE0XSwgWzE2NjM3NTU3ODAuNzMyMzkwNiwgMzI0NTAsIDEuMDc1NTM4NzU0NDYzMTk1OF0sIFsxNjYzNzU1NzgxLjAyMjgzLCAzMjQ5NCwgMS4wOTM2OTQ1Njc2ODAzNTg5XSwgWzE2NjM3NTU3ODIuNDUxMTIwMSwgMzI2NDgsIDEuMDg3NDAzODkzNDcwNzY0Ml0sIFsxNjYzNzU1NzgzLjAwMTk1OSwgMzI3MzYsIDEuMTA4MTU5MzAzNjY1MTYxMV0sIFsxNjYzNzU1NzgzLjQ5NDk4MjUsIDMyNzgwLCAxLjEwOTY0NjIwMTEzMzcyOF0sIFsxNjYzNzU1NzgzLjYzNTk4OTcsIDMyODAyLCAxLjA4NTYzNjczNDk2MjQ2MzRdLCBbMTY2Mzc1NTc4NC4yNDYyNjksIDMyODY4LCAxLjE0Nzc3MjA3Mzc0NTcyNzVdLCBbMTY2Mzc1NTc4NC41MjQ5MDAyLCAzMjg5MCwgMS4xMDkwMjE3ODI4NzUwNjFdLCBbMTY2Mzc1NTc4NS40NjQ2ODQ3LCAzMjk3OCwgMS4wODk1MjMxOTYyMjAzOThdLCBbMTY2Mzc1NTc4NS42MTEyOTMsIDMzMDAwLCAxLjEyNTQ1MDM3MjY5NTkyMjldLCBbMTY2Mzc1NTc4NS43NTExMzgsIDMzMDIyLCAxLjEyMjA4MzkwMjM1OTAwODhdLCBbMTY2Mzc1NTc4Ni4wMzQwNDQzLCAzMzA2NiwgMS4wODc3ODkwNTg2ODUzMDI3XSwgWzE2NjM3NTU3ODcuMTg1NTE4MywgMzMyMjAsIDEuMDk0MzMyMjE4MTcwMTY2XSwgWzE2NjM3NTU3ODcuMzI3OTQ4MywgMzMyNDIsIDEuMTIwNDUxMDkyNzIwMDMxN10sIFsxNjYzNzU1Nzg3LjQ3NTk5OCwgMzMyNjQsIDEuMTM4NzAwNjA0NDM4NzgxN10sIFsxNjYzNzU1Nzg3Ljg5NTU3MSwgMzMzMDgsIDEuMzA1MjE1ODM1NTcxMjg5XSwgWzE2NjM3NTU3ODguMTcwOTY2NCwgMzMzNTIsIDEuMDYyNzYwMjMzODc5MDg5NF0sIFsxNjYzNzU1Nzg4LjMwODgzMzYsIDMzMzc0LCAxLjA4MzIyMDYwMTA4MTg0ODFdLCBbMTY2Mzc1NTc4OS40NDQxMTkyLCAzMzUyOCwgMS4xNDEwOTI4OTY0NjE0ODY4XSwgWzE2NjM3NTU3OTAuMjgzNjU4NSwgMzM2MzgsIDEuMDkxNjA2MDIwOTI3NDI5Ml0sIFsxNjYzNzU1NzkxLjQxNTY1MzUsIDMzNzcwLCAxLjExNTg0NDI0OTcyNTM0MThdLCBbMTY2Mzc1NTc5MS44NDE4ODcyLCAzMzgzNiwgMS4wNzE4ODc4NTA3NjE0MTM2XSwgWzE2NjM3NTU3OTEuOTgwOTg1LCAzMzg1OCwgMS4xMTA5MzU5MjY0MzczNzhdLCBbMTY2Mzc1NTc5Mi41Mjk5ODk1LCAzMzkyNCwgMS4wNjc5NzgxNDM2OTIwMTY2XSwgWzE2NjM3NTU3OTMuNjQ1OTIzNCwgMzQwNzgsIDEuMTAyNTAxNjMwNzgzMDgxXSwgWzE2NjM3NTU3OTQuMjE0NDE2MywgMzQxNDQsIDEuMTkwNTAyMTY2NzQ4MDQ2OV0sIFsxNjYzNzU1Nzk0LjM2NDExMSwgMzQxNjYsIDEuMTYwNzYwOTk4NzI1ODkxMV0sIFsxNjYzNzU1Nzk0LjUwMTgyOTQsIDM0MTg4LCAxLjExMjQ1MDcxODg3OTY5OTddLCBbMTY2Mzc1NTc5Ni4wMjY5NjM1LCAzNDM4NiwgMS4wOTY3NjY1OTEwNzIwODI1XSwgWzE2NjM3NTU3OTYuNzcxNjQ0OCwgMzQ0NTIsIDEuMTA3MjI3NjgzMDY3MzIxOF0sIFsxNjYzNzU1Nzk2Ljk5MDQwMzQsIDM0NDc0LCAxLjExNDQ2MTQyMTk2NjU1MjddLCBbMTY2Mzc1NTc5Ny40NzQ1MDkyLCAzNDUxOCwgMS4wNjI1ODA5NDMxMDc2MDVdLCBbMTY2Mzc1NTc5Ny45MzQ2NjkzLCAzNDU2MiwgMS4xMjY0NDExMjExMDEzNzk0XSwgWzE2NjM3NTU3OTguMjA1NjY4MiwgMzQ1ODQsIDEuMDcyNjUxMDI4NjMzMTE3N10sIFsxNjYzNzU1Nzk4LjQyMDA0ODcsIDM0NjA2LCAxLjA5MzE5NjM5MjA1OTMyNjJdLCBbMTY2Mzc1NTc5OC41NzQ3Mjk0LCAzNDYyOCwgMS4xMDA3NjY2NTg3ODI5NTldLCBbMTY2Mzc1NTc5OS4wMzg0OTM2LCAzNDY5NCwgMS4xMjMyOTExMzQ4MzQyODk2XSwgWzE2NjM3NTU3OTkuMzQzNzIyMywgMzQ3MzgsIDEuMTMzOTk5ODI0NTIzOTI1OF0sIFsxNjYzNzU1Nzk5LjY0NzM4NjYsIDM0NzgyLCAxLjA3MTc4NzcxNDk1ODE5MV0sIFsxNjYzNzU1Nzk5Ljc5NjkwMTIsIDM0ODA0LCAxLjA4ODM2NDgzOTU1MzgzM10sIFsxNjYzNzU1Nzk5LjkzNDkyNjUsIDM0ODI2LCAxLjA4ODgxOTUwMzc4NDE3OTddLCBbMTY2Mzc1NTgwMC4zODkxOTY2LCAzNDg5MiwgMS4xMTExNzA2NDk1Mjg1MDM0XSwgWzE2NjM3NTU4MDEuMjMxMzQ2OCwgMzUwMDIsIDEuMDc5MDU0ODMyNDU4NDk2XSwgWzE2NjM3NTU4MDIuMDc0MDk3MiwgMzUxMTIsIDEuMTQwMzU5OTk3NzQ5MzI4Nl0sIFsxNjYzNzU1ODAyLjIwODc0OSwgMzUxMzQsIDEuMTA1OTIyODE4MTgzODk5XSwgWzE2NjM3NTU4MDIuMzUzMjgzNiwgMzUxNTYsIDEuMTAzMDY3MTU5NjUyNzFdLCBbMTY2Mzc1NTgwMy4wNTU5NjgzLCAzNTI0NCwgMS4xMTYwMDE3MjUxOTY4Mzg0XSwgWzE2NjM3NTU4MDMuMTk1NTIwNCwgMzUyNjYsIDEuMTE5ODI4NzAxMDE5Mjg3XSwgWzE2NjM3NTU4MDMuMzM5Njc5NywgMzUyODgsIDEuMDg0NDUzMzQ0MzQ1MDkyOF0sIFsxNjYzNzU1ODA0LjczNTE4MywgMzU0NjQsIDEuMTI1MDUxNDk4NDEzMDg2XSwgWzE2NjM3NTU4MDUuMDE5MDI0MSwgMzU1MDgsIDEuMjczOTM3NTgyOTY5NjY1NV0sIFsxNjYzNzU1ODA1LjI4NTc1NzgsIDM1NTMwLCAxLjA4NzU2MTQ4ODE1MTU1MDNdLCBbMTY2Mzc1NTgwNS41ODgxMzUyLCAzNTU3NCwgMS4wODMxNTE2OTgxMTI0ODc4XSwgWzE2NjM3NTU4MDYuNTU0ODkzLCAzNTcwNiwgMS4wOTI2MzY0NjYwMjYzMDYyXSwgWzE2NjM3NTU4MDYuOTc0MTg3LCAzNTc1MCwgMS4xMjc3NTE4MjcyMzk5OTAyXSwgWzE2NjM3NTU4MDcuMjc2NzQ2NSwgMzU3OTQsIDEuMTIyNTEwMDc1NTY5MTUyOF0sIFsxNjYzNzU1ODA3LjQxNDQ2NjEsIDM1ODE2LCAxLjA4MjM3ODAyOTgyMzMwMzJdLCBbMTY2Mzc1NTgwOC40MjQ1OTI3LCAzNTkwNCwgMS4xODY5NDQ3MjMxMjkyNzI1XSwgWzE2NjM3NTU4MDguOTkxMDk4OSwgMzU5OTIsIDEuMTI0NzgyMDg1NDE4NzAxMl0sIFsxNjYzNzU1ODA5LjEyNjIwNSwgMzYwMTQsIDEuMTIyODM4MTM5NTMzOTk2Nl0sIFsxNjYzNzU1ODA5LjI2OTM0NzcsIDM2MDM2LCAxLjA5MDM4ODc3NDg3MTgyNjJdLCBbMTY2Mzc1NTgwOS44OTM1NDUsIDM2MTAyLCAxLjExNTI5MTExODYyMTgyNjJdLCBbMTY2Mzc1NTgxMC4wMzQxMTQ4LCAzNjEyNCwgMS4xMjE4ODEyNDY1NjY3NzI1XSwgWzE2NjM3NTU4MTAuOTg2MDM4MiwgMzYyMzQsIDEuMDk3MzExODU0MzYyNDg3OF0sIFsxNjYzNzU1ODExLjE2MDI0NDIsIDM2MjU2LCAxLjA4MDQ3Mzc4MDYzMjAxOV0sIFsxNjYzNzU1ODExLjQ2MjcyNzgsIDM2MzAwLCAxLjEwMzUzNTY1MjE2MDY0NDVdLCBbMTY2Mzc1NTgxMS44NTQ3MTQ2LCAzNjM0NCwgMS4wODc3NjE4Nzg5NjcyODUyXSwgWzE2NjM3NTU4MTIuMDA4MTQ5LCAzNjM2NiwgMS4xMTc0NjIzOTY2MjE3MDRdLCBbMTY2Mzc1NTgxMi4xNDkwNjg4LCAzNjM4OCwgMS4xMTIzMzczNTA4NDUzMzddLCBbMTY2Mzc1NTgxMi4yOTQ1MzE4LCAzNjQxMCwgMS4wNjc0NzIxMDAyNTc4NzM1XSwgWzE2NjM3NTU4MTIuNzE0MTQ4MywgMzY0NTQsIDEuMTQzODI0ODE1NzUwMTIyXSwgWzE2NjM3NTU4MTMuMDEyMzU5OSwgMzY0OTgsIDEuMTEwMjk2MTMwMTgwMzU4OV0sIFsxNjYzNzU1ODE0LjA3NTkyMDgsIDM2NTg2LCAxLjA5NjI3MjIzMDE0ODMxNTRdLCBbMTY2Mzc1NTgxNC40ODExNjI4LCAzNjYzMCwgMS4xNjYxNjU5NDc5MTQxMjM1XSwgWzE2NjM3NTU4MTQuODk5MzUwNiwgMzY2NzQsIDEuMTY4NDE5ODM3OTUxNjYwMl0sIFsxNjYzNzU1ODE1LjUyNjQ4NiwgMzY3NDAsIDEuMjI1MTgzMzY3NzI5MTg3XSwgWzE2NjM3NTU4MTUuNjY2MTA4OCwgMzY3NjIsIDEuMjA3ODM4ODkyOTM2NzA2NV0sIFsxNjYzNzU1ODE2LjIzNzAzNzcsIDM2ODUwLCAxLjA3MzUzNjE1NzYwODAzMjJdLCBbMTY2Mzc1NTgxNi43MDIzNDksIDM2OTE2LCAxLjEwMTY4NjQ3NzY2MTEzMjhdLCBbMTY2Mzc1NTgxNi45NzgwNTk4LCAzNjk2MCwgMS4xNTExODQyMDEyNDA1Mzk2XSwgWzE2NjM3NTU4MTcuMzIzMTc5NSwgMzY5ODIsIDEuMTM1ODc3MTMyNDE1NzcxNV0sIFsxNjYzNzU1ODE3LjYxMDgzNiwgMzcwMjYsIDEuMDgyODY4Njk1MjU5MDk0Ml0sIFsxNjYzNzU1ODE4LjIzNjk1MjMsIDM3MDkyLCAxLjE1MDQzNzQ3NDI1MDc5MzVdLCBbMTY2Mzc1NTgxOC4zOTYzODYxLCAzNzExNCwgMS4xMjMyNDg1NzcxMTc5Ml0sIFsxNjYzNzU1ODE4LjUzMTg3NTYsIDM3MTM2LCAxLjExMjAwNDA0MTY3MTc1M10sIFsxNjYzNzU1ODE4LjY4Njg0NiwgMzcxNTgsIDEuMTAxMjYxNzM0OTYyNDYzNF0sIFsxNjYzNzU1ODE5LjYzMDg5MTMsIDM3MjY4LCAxLjA3NTU4ODM0NTUyNzY0OV0sIFsxNjYzNzU1ODE5Ljc2NjIyOCwgMzcyOTAsIDEuMDc2MDg5NTAxMzgwOTIwNF0sIFsxNjYzNzU1ODIwLjA5OTUzMDIsIDM3MzEyLCAxLjA4MzQyOTIxNzMzODU2Ml0sIFsxNjYzNzU1ODIwLjQzNjUyNywgMzczNTYsIDEuMjUwNTgyMDk4OTYwODc2NV0sIFsxNjYzNzU1ODIwLjkwNDQwNjMsIDM3NDAwLCAxLjI1MzM4NDcwOTM1ODIxNTNdLCBbMTY2Mzc1NTgyMS4xNDM0MDIzLCAzNzQyMiwgMS4xMDI5MjM1MTI0NTg4MDEzXSwgWzE2NjM3NTU4MjEuNTk4ODgyLCAzNzQ2NiwgMS4xOTc3MDc1MzM4MzYzNjQ3XSwgWzE2NjM3NTU4MjEuODY4NjY4LCAzNzUxMCwgMS4xMTQ1OTgzOTM0NDAyNDY2XSwgWzE2NjM3NTU4MjIuMzU0ODU4MiwgMzc1NzYsIDEuMTMyNDQ2NzY1ODk5NjU4Ml0sIFsxNjYzNzU1ODIyLjY0ODYwOCwgMzc2MjAsIDEuMDcyMjAyNTYzMjg1ODI3Nl0sIFsxNjYzNzU1ODIyLjk0MzYxMjMsIDM3NjQyLCAxLjEzMzgyNzIwOTQ3MjY1NjJdLCBbMTY2Mzc1NTgyMy4xOTY0NDUsIDM3NjY0LCAxLjA3ODM4Nzg1NjQ4MzQ1OTVdLCBbMTY2Mzc1NTgyMy4zNjc1MDM2LCAzNzY4NiwgMS4wNzI2NjM2NjQ4MTc4MV0sIFsxNjYzNzU1ODI0LjQ1MjUzOTQsIDM3ODE4LCAxLjEyODY2Njc1ODUzNzI5MjVdLCBbMTY2Mzc1NTgyNC42NzU3OTEsIDM3ODQwLCAxLjA5OTAxMjk3MDkyNDM3NzRdLCBbMTY2Mzc1NTgyNS4zNzQwOTYsIDM3OTA2LCAxLjA5NDg2MTg2NTA0MzY0MDFdLCBbMTY2Mzc1NTgyNS42MzQwNzU5LCAzNzkyOCwgMS4xMTkwNDYwOTIwMzMzODYyXSwgWzE2NjM3NTU4MjUuODIyNDY3NiwgMzc5NTAsIDEuMTc4MzM2NzM5NTQwMV0sIFsxNjYzNzU1ODI1Ljk2Mjc3MiwgMzc5NzIsIDEuMDc4NTk5MDk1MzQ0NTQzNV0sIFsxNjYzNzU1ODI2LjY3MTE1ODgsIDM4MDgyLCAxLjEwNTQ1Njk0ODI4MDMzNDVdLCBbMTY2Mzc1NTgyNy45NTIwMjIsIDM4MjU4LCAxLjA2NzE1NjU1MzI2ODQzMjZdLCBbMTY2Mzc1NTgyOC4xOTkzNDc3LCAzODI4MCwgMS4wODQ0ODQ1NzcxNzg5NTVdLCBbMTY2Mzc1NTgyOC44OTM3NDYsIDM4MzY4LCAxLjA5MTg2MDI5NDM0MjA0MV0sIFsxNjYzNzU1ODI5LjMyMjI4MzMsIDM4NDEyLCAxLjA4MDkxMTk5Mzk4MDQwNzddLCBbMTY2Mzc1NTgyOS43MjQ1NDgsIDM4NDc4LCAxLjEzOTgwODA1ODczODcwODVdLCBbMTY2Mzc1NTgyOS44NTgwODIsIDM4NTAwLCAxLjA4NzA2NzAwODAxODQ5MzddLCBbMTY2Mzc1NTgzMC4xNTIzOSwgMzg1MjIsIDEuMDc5NTgzNTI1NjU3NjUzOF0sIFsxNjYzNzU1ODMwLjI4MzgwNCwgMzg1NDQsIDEuMTE1ODAyODg0MTAxODY3N10sIFsxNjYzNzU1ODMwLjU1NTc1NjMsIDM4NTg4LCAxLjE2MDY2OTkyMjgyODY3NDNdLCBbMTY2Mzc1NTgzMC42OTc5NDg1LCAzODYxMCwgMS4wOTY4NDk0NDE1MjgzMjAzXSwgWzE2NjM3NTU4MzEuNTAwODAxMywgMzg2NzYsIDEuMDg0NTQzNTg1Nzc3MjgyN10sIFsxNjYzNzU1ODMyLjY2Mjg4NjksIDM4Nzg2LCAxLjA2MTg4MTg5OTgzMzY3OTJdLCBbMTY2Mzc1NTgzMi44ODQwMzEsIDM4ODA4LCAxLjEyMDg1MjM1MTE4ODY1OTddLCBbMTY2Mzc1NTgzMy4zMTIwMDE1LCAzODg1MiwgMS4xMDUwOTQ5MDk2Njc5Njg4XSwgWzE2NjM3NTU4MzMuOTk0MzQwNywgMzg5MTgsIDEuMTIwNDA0MzYyNjc4NTI3OF0sIFsxNjYzNzU1ODM1LjE5ODcyMjgsIDM5MDcyLCAxLjE0NjY0MzQwMDE5MjI2MDddLCBbMTY2Mzc1NTgzNS4zNjUzNjY3LCAzOTA5NCwgMS4xNjQzODY3NDkyNjc1NzgxXSwgWzE2NjM3NTU4MzUuNTIyODk4MiwgMzkxMTYsIDEuMDc5MDQzODY1MjAzODU3NF0sIFsxNjYzNzU1ODM1Ljk4NzM3NjcsIDM5MTgyLCAxLjEwNjE4ODUzNTY5MDMwNzZdLCBbMTY2Mzc1NTgzNi41NzQyOTkzLCAzOTI3MCwgMS4wODAwMTczMjgyNjIzMjldLCBbMTY2Mzc1NTgzNi43MjE5OTc3LCAzOTI5MiwgMS4wODY5ODMwODQ2Nzg2NV0sIFsxNjYzNzU1ODM3LjAwNzA1NTMsIDM5MzE0LCAxLjA4ODY4MDAyODkxNTQwNTNdLCBbMTY2Mzc1NTgzNy42ODY5MDYsIDM5MzgwLCAxLjExMjQ5NTU0MTU3MjU3MDhdLCBbMTY2Mzc1NTgzNy45Mzk0Nzc0LCAzOTQwMiwgMS4wODQ5MjQ2OTc4NzU5NzY2XSwgWzE2NjM3NTU4MzguMzg1NTQxNywgMzk0NDYsIDEuMDY5MDk3MjgwNTAyMzE5M10sIFsxNjYzNzU1ODM4LjY3NDIwMzIsIDM5NDkwLCAxLjA3NTk4NDAwMTE1OTY2OF0sIFsxNjYzNzU1ODM4Ljk1NDc0OSwgMzk1MzQsIDEuMTExMDA2MDIxNDk5NjMzOF0sIFsxNjYzNzU1ODM5LjczMDIzMjUsIDM5NjIyLCAxLjA2OTkwNjM1Mzk1MDUwMDVdLCBbMTY2Mzc1NTg0MC4xOTE5MzY3LCAzOTY2NiwgMS4xMTI0MDgyODAzNzI2MTk2XSwgWzE2NjM3NTU4NDAuNDIzOTEwNiwgMzk2ODgsIDEuMDk2MzY5MjY2NTEwMDA5OF0sIFsxNjYzNzU1ODQxLjIyNDU4LCAzOTc5OCwgMS4xMzE3Mjk4NDEyMzIyOTk4XSwgWzE2NjM3NTU4NDEuNTQwODEyNSwgMzk4NDIsIDEuMDk5NTQ2OTA5MzMyMjc1NF0sIFsxNjYzNzU1ODQyLjExNTUzLCAzOTkzMCwgMS4xNzkwNDQwMDgyNTUwMDQ5XSwgWzE2NjM3NTU4NDIuODQyNDgwMiwgNDAwMTgsIDEuMTA1NjQzODY4NDQ2MzVdLCBbMTY2Mzc1NTg0Mi45ODM5OTQ1LCA0MDA0MCwgMS4wOTQxMTc0MDMwMzAzOTU1XSwgWzE2NjM3NTU4NDQuMDE2NTc0MSwgNDAxMjgsIDEuMTI1MDU1MDc0NjkxNzcyNV0sIFsxNjYzNzU1ODQ0Ljc4ODY0NSwgNDAxOTQsIDEuMDgwMDc1NjIxNjA0OTE5NF0sIFsxNjYzNzU1ODQ1LjAwNDgzMzIsIDQwMjE2LCAxLjA1NTU0NDg1MzIxMDQ0OTJdLCBbMTY2Mzc1NTg0NS40MTY5MDE2LCA0MDI2MCwgMS4wODQ2MDQ4NTkzNTIxMTE4XSwgWzE2NjM3NTU4NDUuNTYwNDUxNywgNDAyODIsIDEuMDkxNTg2NzA5MDIyNTIyXSwgWzE2NjM3NTU4NDUuODM5NzUxNSwgNDAzMjYsIDEuMDczOTcyOTQwNDQ0OTQ2M10sIFsxNjYzNzU1ODQ1Ljk4MDI0NzUsIDQwMzQ4LCAxLjA2NDE3MzIyMTU4ODEzNDhdLCBbMTY2Mzc1NTg0Ni4xMzM3NDMzLCA0MDM3MCwgMS4wODA1MDk5MDEwNDY3NTNdLCBbMTY2Mzc1NTg0Ni40NDU3ODQ2LCA0MDQxNCwgMS4xMTk1MjgyOTM2MDk2MTkxXSwgWzE2NjM3NTU4NDYuNTg3Mzg2LCA0MDQzNiwgMS4xMDgxMjM0MjE2NjkwMDYzXSwgWzE2NjM3NTU4NDYuNzI0OTM0MywgNDA0NTgsIDEuMDc5MTc4NjkwOTEwMzM5NF0sIFsxNjYzNzU1ODQ3LjcwMzM1NTMsIDQwNTkwLCAxLjA3MTQ4NzE4ODMzOTIzMzRdLCBbMTY2Mzc1NTg0Ny44Mzg3MzUsIDQwNjEyLCAxLjEzNTUyMzc5NjA4MTU0M10sIFsxNjYzNzU1ODQ4LjEyMjc0NzIsIDQwNjM0LCAxLjE0ODcyMDE0NTIyNTUyNV0sIFsxNjYzNzU1ODQ4LjM3MTI0LCA0MDY1NiwgMS4wNjk1NjM2MjcyNDMwNDJdLCBbMTY2Mzc1NTg0OC41NDE4MTUzLCA0MDY3OCwgMS4xMzg3NzI4NDUyNjgyNDk1XSwgWzE2NjM3NTU4NDkuMjEzMTgzNCwgNDA3NDQsIDEuMTAxNTM3NDY2MDQ5MTk0M10sIFsxNjYzNzU1ODQ5LjY4MDUzNDQsIDQwNzg4LCAxLjA3MzEzMjYzNDE2MjkwMjhdLCBbMTY2Mzc1NTg1MS4wMDcyNjgsIDQwOTQyLCAxLjA4NjQzOTQ5MDMxODI5ODNdLCBbMTY2Mzc1NTg1MS44OTUzNjYyLCA0MTAzMCwgMS4xMTY1Nzk0MTM0MTQwMDE1XSwgWzE2NjM3NTU4NTIuMTAxMDQwMSwgNDEwNTIsIDEuMDgwMzA1MDk5NDg3MzA0N10sIFsxNjYzNzU1ODUyLjM0MjAyOSwgNDEwNzQsIDEuMTcyNjY2OTA3MzEwNDg1OF0sIFsxNjYzNzU1ODUyLjU0NzAxNjksIDQxMDk2LCAxLjA3MDg5MDY2NTA1NDMyMTNdLCBbMTY2Mzc1NTg1My4xNjkwMjQ1LCA0MTE4NCwgMS4wNTkzNTU3MzU3Nzg4MDg2XSwgWzE2NjM3NTU4NTMuMzA5NTAyMSwgNDEyMDYsIDEuMDkwMzk3NTk2MzU5MjUzXSwgWzE2NjM3NTU4NTMuNjIwOTE0MiwgNDEyNTAsIDEuMTMwOTc1ODQyNDc1ODkxMV0sIFsxNjYzNzU1ODUzLjc2MzkwNiwgNDEyNzIsIDEuMDczNjIzMjk5NTk4NjkzOF0sIFsxNjYzNzU1ODU0LjAzNjczNjcsIDQxMzE2LCAxLjA2NTM2NDEyMjM5MDc0N10sIFsxNjYzNzU1ODU0LjQ1OTQwOTUsIDQxMzgyLCAxLjEwODIxMDgwMjA3ODI0N10sIFsxNjYzNzU1ODU1LjAxNzQ4NjMsIDQxNDQ4LCAxLjA5ODkzMjYyMzg2MzIyMDJdLCBbMTY2Mzc1NTg1NS4xODE2ODk3LCA0MTQ3MCwgMS4wODkwOTM2ODUxNTAxNDY1XSwgWzE2NjM3NTU4NTUuNjk5MjkxNSwgNDE1MTQsIDEuMDY4NzI4Njg1Mzc5MDI4M10sIFsxNjYzNzU1ODU1Ljk4MjgyNTgsIDQxNTU4LCAxLjEwNTk3MTgxMzIwMTkwNDNdLCBbMTY2Mzc1NTg1Ni4yNjQwNzYsIDQxNjAyLCAxLjA3MTUxMzE3NTk2NDM1NTVdLCBbMTY2Mzc1NTg1Ny4xNjAxODU4LCA0MTcxMiwgMS4wNTc0NzEyNzUzMjk1ODk4XSwgWzE2NjM3NTU4NTcuOTI3MTE0MiwgNDE4MDAsIDEuMTI1NDExMDMzNjMwMzcxXSwgWzE2NjM3NTU4NTguNTg0NDU2MiwgNDE4NjYsIDEuMTYxMjI3NTgzODg1MTkyOV0sIFsxNjYzNzU1ODU5LjM5Nzc1MjgsIDQxOTU0LCAxLjExNTU3NzU3ODU0NDYxNjddLCBbMTY2Mzc1NTg1OS43MTA3NjksIDQxOTk4LCAxLjA3NTA2ODgzMTQ0Mzc4NjZdLCBbMTY2Mzc1NTg1OS44NTQ4OCwgNDIwMjAsIDEuMDc0NDkwNDI3OTcwODg2Ml0sIFsxNjYzNzU1ODYwLjAwMjM2NjgsIDQyMDQyLCAxLjA4OTI5Nzc3MTQ1Mzg1NzRdLCBbMTY2Mzc1NTg2MC41MzI0MjEsIDQyMTA4LCAxLjA3ODcwMzE2NTA1NDMyMTNdLCBbMTY2Mzc1NTg2MS40MzQ4ODcsIDQyMjE4LCAxLjEyOTg0MjE2MjEzMjI2MzJdLCBbMTY2Mzc1NTg2Mi43MTgzMjc4LCA0MjM1MCwgMS4wNjgzMTI2NDQ5NTg0OTZdLCBbMTY2Mzc1NTg2Mi45NTkwNywgNDIzNzIsIDEuMTEzNzAyNDE2NDE5OTgzXSwgWzE2NjM3NTU4NjMuMTkyNjg4NywgNDIzOTQsIDEuMTQyMTA4Njc4ODE3NzQ5XSwgWzE2NjM3NTU4NjMuODUxNDQzMywgNDI0NjAsIDEuMTAzMTAzMjgwMDY3NDQzOF0sIFsxNjYzNzU1ODY0LjI5Njg0MTEsIDQyNTI2LCAxLjA3OTA5OTc3NDM2MDY1NjddLCBbMTY2Mzc1NTg2NC43NTU0NDAyLCA0MjU5MiwgMS4zMDE5ODM5NTI1MjIyNzc4XSwgWzE2NjM3NTU4NjQuODk2MTc0NCwgNDI2MTQsIDEuMzE3MDM3NTgyMzk3NDYxXSwgWzE2NjM3NTU4NjUuNDYxNDY0MiwgNDI3MDIsIDEuMDY1MjM1MDE4NzMwMTYzNl0sIFsxNjYzNzU1ODY1LjYwNDA0NjMsIDQyNzI0LCAxLjA4NTY0MDU0OTY1OTcyOV0sIFsxNjYzNzU1ODY1LjkxOTA4NjcsIDQyNzQ2LCAxLjA5ODU2NjY1MTM0NDI5OTNdLCBbMTY2Mzc1NTg2Ni4zNjM3OTcsIDQyODEyLCAxLjA3Mzg1OTMzMzk5MjAwNDRdLCBbMTY2Mzc1NTg2Ni44MDI2OTU1LCA0Mjg1NiwgMS4wODAwNjk1NDE5MzExNTIzXSwgWzE2NjM3NTU4NjcuMjE0NTE1NywgNDI5MjIsIDEuMDkxODA4MDgwNjczMjE3OF0sIFsxNjYzNzU1ODY3LjM2NzExOSwgNDI5NDQsIDEuMTA4OTMyNjE0MzI2NDc3XSwgWzE2NjM3NTU4NjcuODEwMzY4NSwgNDI5ODgsIDEuMDk4NjE0OTMxMTA2NTY3NF0sIFsxNjYzNzU1ODY4LjIyMDE5NDYsIDQzMDU0LCAxLjE3NzA2NzE2MDYwNjM4NDNdLCBbMTY2Mzc1NTg2OC45MzEyMTM0LCA0MzE0MiwgMS4wOTgxODczMjczODQ5NDg3XSwgWzE2NjM3NTU4NjkuMDcxNzcxNCwgNDMxNjQsIDEuMTAzMjI4OTI2NjU4NjMwNF0sIFsxNjYzNzU1ODY5LjM1NjY3MzcsIDQzMTg2LCAxLjE4MzYzMjg1MDY0Njk3MjddLCBbMTY2Mzc1NTg2OS41MTIwNzY0LCA0MzIwOCwgMS4wODg0ODI4NTY3NTA0ODgzXSwgWzE2NjM3NTU4NjkuNjU2MTE5NiwgNDMyMzAsIDEuMDg5MDg0OTgyODcyMDA5M10sIFsxNjYzNzU1ODY5LjkzNTQ1OTksIDQzMjc0LCAxLjA5NzAyMzQ4NzA5MTA2NDVdLCBbMTY2Mzc1NTg3MC4yMjE4NzUyLCA0MzI5NiwgMS4xMDAwMDMzNjE3MDE5NjUzXSwgWzE2NjM3NTU4NzAuMzYyMjU2LCA0MzMxOCwgMS4wODE2NTA3MzM5NDc3NTRdLCBbMTY2Mzc1NTg3MC41MDM5NDc3LCA0MzM0MCwgMS4wNzgzNTAzMDU1NTcyNTFdLCBbMTY2Mzc1NTg3MS42ODk3MTMyLCA0MzQ3MiwgMS4wODk2OTQyNjE1NTA5MDMzXSwgWzE2NjM3NTU4NzIuMDUyNDI1LCA0MzUxNiwgMS4wODY2MzEyOTgwNjUxODU1XSwgWzE2NjM3NTU4NzIuMzQ2Mjc3NywgNDM1NjAsIDEuMDkxNDE1NjQzNjkyMDE2Nl0sIFsxNjYzNzU1ODcyLjQ5NzEzMjUsIDQzNTgyLCAxLjA4MjIwNDM0MTg4ODQyNzddLCBbMTY2Mzc1NTg3Mi42NTk4MDM5LCA0MzYwNCwgMS4wODEwNDAzODIzODUyNTRdLCBbMTY2Mzc1NTg3My4wNTUzMjUsIDQzNjI2LCAxLjA3NjkwNzg3MzE1MzY4NjVdLCBbMTY2Mzc1NTg3My4zMTQwMTk3LCA0MzY0OCwgMS4xMDQ3MTQxNTUxOTcxNDM2XSwgWzE2NjM3NTU4NzMuNjcxMzAyMywgNDM2OTIsIDEuMDcxMjkxMjA4MjY3MjEyXSwgWzE2NjM3NTU4NzMuOTYwMzg3LCA0MzczNiwgMS4wNzc4ODU3NDY5NTU4NzE2XSwgWzE2NjM3NTU4NzQuMDk5ODMzNSwgNDM3NTgsIDEuMDczNjE3MTAwNzE1NjM3Ml0sIFsxNjYzNzU1ODc0LjY4NzU3NSwgNDM4MjQsIDEuMTIwMzIwNzk2OTY2NTUyN10sIFsxNjYzNzU1ODc0Ljk3NTM3MzUsIDQzODQ2LCAxLjA2NDY5NDg4MTQzOTIwOV0sIFsxNjYzNzU1ODc1LjQ0NTgwNzcsIDQzOTEyLCAxLjE0MDUzNzYxOTU5MDc1OTNdLCBbMTY2Mzc1NTg3Ni45NzkxNjQ2LCA0NDA2NiwgMS4xNzU2NDI5NjcyMjQxMjFdLCBbMTY2Mzc1NTg3OS4xNTUzMjc2LCA0NDM3NCwgMS4wNTQ1ODYxNzIxMDM4ODE4XSwgWzE2NjM3NTU4NzkuNDIxNjI3OCwgNDQzOTYsIDEuMDc1NTM1MTc4MTg0NTA5M10sIFsxNjYzNzU1ODc5Ljk5MDM4NzIsIDQ0NDg0LCAxLjA5NTA4MDk3MTcxNzgzNDVdLCBbMTY2Mzc1NTg4MC4yNjEyNDc0LCA0NDUwNiwgMS4wNzM2MjUyMDY5NDczMjY3XSwgWzE2NjM3NTU4ODAuNDA1NDE0LCA0NDUyOCwgMS4wNzI0NDE0NTg3MDIwODc0XSwgWzE2NjM3NTU4ODAuNjg2MDQyMywgNDQ1NzIsIDEuMDY5MzA5ODMwNjY1NTg4NF0sIFsxNjYzNzU1ODgwLjgyNjE2NzgsIDQ0NTk0LCAxLjA3NjIyNTc1NzU5ODg3N10sIFsxNjYzNzU1ODgxLjM0MjA1ODQsIDQ0NjM4LCAxLjE3MjE1NDU0NTc4Mzk5NjZdLCBbMTY2Mzc1NTg4MS43ODM4MjU5LCA0NDcwNCwgMS4xMDIyNjY3ODg0ODI2NjZdLCBbMTY2Mzc1NTg4Mi4wNzQ1MDk0LCA0NDcyNiwgMS4wODcwMzA4ODc2MDM3NTk4XSwgWzE2NjM3NTU4ODIuNTQ4OTEyLCA0NDc3MCwgMS4yNjgyOTg1MDY3MzY3NTU0XSwgWzE2NjM3NTU4ODIuNzkyNzUwOCwgNDQ3OTIsIDEuMTA5NjQwMjQwNjY5MjUwNV0sIFsxNjYzNzU1ODgzLjAwODIwMiwgNDQ4MTQsIDEuMTE5OTY2ODY0NTg1ODc2NV0sIFsxNjYzNzU1ODgzLjk1MjIwNywgNDQ5MDIsIDEuMDc5MjMwNzg1MzY5ODczXSwgWzE2NjM3NTU4ODQuMTc3MzYyNywgNDQ5MjQsIDEuMTg3OTEzNDE3ODE2MTYyXSwgWzE2NjM3NTU4ODQuNjEzMjE0LCA0NDk2OCwgMS4wODAyNzUxNzc5NTU2Mjc0XSwgWzE2NjM3NTU4ODQuODExMjkyMiwgNDQ5OTAsIDEuMDkzNDQ5ODMxMDA4OTExMV0sIFsxNjYzNzU1ODg1LjI2ODY4OCwgNDUwNTYsIDEuMDY2MTM0MDk1MTkxOTU1Nl0sIFsxNjYzNzU1ODg1LjQyOTM5MDQsIDQ1MDc4LCAxLjA3ODM2OTE0MDYyNV0sIFsxNjYzNzU1ODg1LjU3MTY4NzcsIDQ1MTAwLCAxLjExMDM1Mjk5MzAxMTQ3NDZdLCBbMTY2Mzc1NTg4Ni41OTYwODU1LCA0NTIxMCwgMS4wNzE2ODQxMjIwODU1NzEzXSwgWzE2NjM3NTU4ODYuNzUzMzgwOCwgNDUyMzIsIDEuMTMyNjAxNzM3OTc2MDc0Ml0sIFsxNjYzNzU1ODg2Ljk5ODM4NDUsIDQ1MjU0LCAxLjEyMDk4NjcwMDA1Nzk4MzRdLCBbMTY2Mzc1NTg4Ny4yNjYzMzQ4LCA0NTI3NiwgMS4xMDE5NDUyODEwMjg3NDc2XSwgWzE2NjM3NTU4ODkuMTkwNDAxOCwgNDU0OTYsIDEuMDk4OTYxODMwMTM5MTYwMl0sIFsxNjYzNzU1ODg5LjM2MzE2MjMsIDQ1NTE4LCAxLjA3MTI0ODQxMjEzMjI2MzJdLCBbMTY2Mzc1NTg4OS44MDMzMzQyLCA0NTU2MiwgMS4wODg5OTI0NzY0NjMzMTc5XSwgWzE2NjM3NTU4OTAuNzE0MTg1MiwgNDU2NTAsIDEuMDYzMDMyNTA3ODk2NDIzM10sIFsxNjYzNzU1ODkxLjUzNjk4MjMsIDQ1NzM4LCAxLjA3MDcwNjk2MzUzOTEyMzVdLCBbMTY2Mzc1NTg5MS43NTAyMDIyLCA0NTc2MCwgMS4wOTI1MzI3NTM5NDQzOTddLCBbMTY2Mzc1NTg5Mi43MDE4OTgsIDQ1ODcwLCAxLjA1NzMxNDAzODI3NjY3MjRdLCBbMTY2Mzc1NTg5My4wNTkxODU1LCA0NTkxNCwgMS4wOTAyNDQ3NzAwNTAwNDg4XSwgWzE2NjM3NTU4OTMuMjczMDI4NiwgNDU5MzYsIDEuMTAwMjU3NTE1OTA3Mjg3Nl0sIFsxNjYzNzU1ODkzLjYyNzk4NjIsIDQ1OTgwLCAxLjA2MDg0ODU5MzcxMTg1M10sIFsxNjYzNzU1ODkzLjg4MjA5MzQsIDQ2MDAyLCAxLjA1NzQwMDU4NDIyMDg4NjJdLCBbMTY2Mzc1NTg5NC4xMDc1OTA3LCA0NjAyNCwgMS4wNzcxNTA4MjE2ODU3OTFdLCBbMTY2Mzc1NTg5NC44OTYzMTQ2LCA0NjExMiwgMS4wNjA1MDY4MjA2Nzg3MTFdLCBbMTY2Mzc1NTg5NS4xMDQ3MSwgNDYxMzQsIDEuMTA2MDM2MTg2MjE4MjYxN10sIFsxNjYzNzU1ODk1LjMwODcxNywgNDYxNTYsIDEuMDcyODA3Nzg4ODQ4ODc3XSwgWzE2NjM3NTU4OTUuNTMxMDI1NCwgNDYxNzgsIDEuMDgwMDI5MTI5OTgxOTk0Nl0sIFsxNjYzNzU1ODk1Ljk5NTA3NTcsIDQ2MjIyLCAxLjE0ODI5NTg3OTM2NDAxMzddLCBbMTY2Mzc1NTg5Ni42MTc1OTMsIDQ2Mjg4LCAxLjA4OTU2MjUzNTI4NTk0OTddLCBbMTY2Mzc1NTg5Ni44MzEwOTk3LCA0NjMxMCwgMS4wNzIzNDAwMTE1OTY2Nzk3XSwgWzE2NjM3NTU4OTcuMDIyMTE2LCA0NjMzMiwgMS4wOTQ3NjA1MzcxNDc1MjJdLCBbMTY2Mzc1NTg5Ny4yMDM5MDMsIDQ2MzU0LCAxLjA4NjUwMTcxNzU2NzQ0MzhdLCBbMTY2Mzc1NTg5Ny44NjU0OSwgNDY0MjAsIDEuMTM3NTMxMTYxMzA4Mjg4Nl0sIFsxNjYzNzU1ODk4LjA5MTczLCA0NjQ0MiwgMS4xMjYwNjQ1Mzg5NTU2ODg1XSwgWzE2NjM3NTU4OTguOTM2MTUsIDQ2NTMwLCAxLjA2MDg2ODYyMDg3MjQ5NzZdLCBbMTY2Mzc1NTg5OS4xNDA4NzIyLCA0NjU1MiwgMS4xMjE2NDEwMzk4NDgzMjc2XSwgWzE2NjM3NTU4OTkuODQwNDg5LCA0NjY0MCwgMS4wOTA0MDI2MDMxNDk0MTRdLCBbMTY2Mzc1NTg5OS45ODQxMDQyLCA0NjY2MiwgMS4wNzI2OTI1MTM0NjU4ODEzXSwgWzE2NjM3NTU5MDAuMjg2ODUzMywgNDY3MDYsIDEuMDk5MzY5ODgzNTM3MjkyNV0sIFsxNjYzNzU1OTAwLjQzMTM0NzQsIDQ2NzI4LCAxLjA5NTY4NzYyNzc5MjM1ODRdLCBbMTY2Mzc1NTkwMC41Njc5MDczLCA0Njc1MCwgMS4wODgxNTQ0MzUxNTc3NzU5XSwgWzE2NjM3NTU5MDAuODU2ODIxNSwgNDY3OTQsIDEuMDc2MTQ4MTUyMzUxMzc5NF0sIFsxNjYzNzU1OTAwLjk5NzYzMzUsIDQ2ODE2LCAxLjA3MDcyMzg5MTI1ODIzOTddLCBbMTY2Mzc1NTkwMi4zMzA4Nzg1LCA0Njk3MCwgMS4wODQwNTIzMjQyOTUwNDRdLCBbMTY2Mzc1NTkwMi40ODM5MDY1LCA0Njk5MiwgMS4wODU2OTI2NDQxMTkyNjI3XSwgWzE2NjM3NTU5MDIuNjIxMjY0MiwgNDcwMTQsIDEuMTYyNzU1MzcwMTQwMDc1N10sIFsxNjYzNzU1OTAzLjIyOTMyODksIDQ3MDgwLCAxLjA2ODc2MzAxNzY1NDQxOV0sIFsxNjYzNzU1OTA0LjEwMDUwNTgsIDQ3MTY4LCAxLjA3OTAxMDM2NzM5MzQ5MzddLCBbMTY2Mzc1NTkwNS4xMDU5ODQsIDQ3MzAwLCAxLjA4NTU5MDk1ODU5NTI3NTldLCBbMTY2Mzc1NTkwNS4yNDYyMjcsIDQ3MzIyLCAxLjEwMDgzODE4NDM1NjY4OTVdLCBbMTY2Mzc1NTkwNS45OTI1ODIzLCA0NzQxMCwgMS4wNjE2NjQ4MTk3MTc0MDcyXSwgWzE2NjM3NTU5MDYuMTMxMjkxNiwgNDc0MzIsIDEuMDY3NTM3MTg4NTI5OTY4M10sIFsxNjYzNzU1OTA2Ljg0MzY1MSwgNDc1MjAsIDEuMTYxMTM4NDE1MzM2NjA4OV0sIFsxNjYzNzU1OTA2Ljk4MzA0NiwgNDc1NDIsIDEuMTM4NDU3NTM2Njk3Mzg3N10sIFsxNjYzNzU1OTA3LjEyMTcwNCwgNDc1NjQsIDEuMDY2ODkxMTkzMzg5ODkyNl0sIFsxNjYzNzU1OTA3LjI2NDEyODQsIDQ3NTg2LCAxLjA3ODc4MjY3NzY1MDQ1MTddLCBbMTY2Mzc1NTkwOC41MTc2OSwgNDc3NDAsIDEuMDc3NDg1MzIyOTUyMjcwNV0sIFsxNjYzNzU1OTA5LjI1NjE0MjQsIDQ3ODI4LCAxLjA4MTQyODg4NTQ1OTldLCBbMTY2Mzc1NTkwOS43NjE5NjQ2LCA0Nzg3MiwgMS4wNjg1Mzk3Mzg2NTUwOTAzXSwgWzE2NjM3NTU5MDkuOTg0NTEwNCwgNDc4OTQsIDEuMTM5NTg4ODMyODU1MjI0Nl0sIFsxNjYzNzU1OTExLjU5NzA4NTUsIDQ4MDQ4LCAxLjE0NDEyMDY5MzIwNjc4N10sIFsxNjYzNzU1OTExLjk4MjM4OTcsIDQ4MDkyLCAxLjA5MDQ1NDgxNjgxODIzNzNdLCBbMTY2Mzc1NTkxMi4yNTY0MTA2LCA0ODEzNiwgMS4wODkyMjY0ODQyOTg3MDZdLCBbMTY2Mzc1NTkxMi42MDQxMzMsIDQ4MTgwLCAxLjEyODQzOTA2ODc5NDI1MDVdLCBbMTY2Mzc1NTkxMy4zNDQ1ODMzLCA0ODI5MCwgMS4wODI0MzQ0MTU4MTcyNjA3XSwgWzE2NjM3NTU5MTQuNDM1NzQ1NywgNDg0MDAsIDEuMDgxMjY2MjgzOTg4OTUyNl0sIFsxNjYzNzU1OTE0LjkzMDM4MDYsIDQ4NDQ0LCAxLjA2NDE2ODQ1MzIxNjU1MjddLCBbMTY2Mzc1NTkxNS4xNzEzNTc0LCA0ODQ2NiwgMS4xMDA3MjYzNjYwNDMwOTA4XSwgWzE2NjM3NTU5MTUuMzgwMDUyMywgNDg0ODgsIDEuMTAzNjI5NTg5MDgwODEwNV0sIFsxNjYzNzU1OTE2LjAxODAzMjMsIDQ4NTU0LCAxLjA4MjIwMDQwNzk4MTg3MjZdLCBbMTY2Mzc1NTkxNi42ODg3NTE1LCA0ODYyMCwgMS4xMDAyNjM1OTU1ODEwNTQ3XSwgWzE2NjM3NTU5MTcuMDIxNzcxLCA0ODY2NCwgMS4wNjYyODQyOTg4OTY3ODk2XSwgWzE2NjM3NTU5MTcuMTg2NDM4OCwgNDg2ODYsIDEuMDkwNjg2NDQwNDY3ODM0NV0sIFsxNjYzNzU1OTE3LjUxODEzMywgNDg3MzAsIDEuMDkwNTcyNzE0ODA1NjAzXSwgWzE2NjM3NTU5MTcuNjUxNzkzNywgNDg3NTIsIDEuMTA3NjUwNzU2ODM1OTM3NV0sIFsxNjYzNzU1OTE3Ljc3NzU4NCwgNDg3NzQsIDEuMDg2ODYxODQ4ODMxMTc2OF0sIFsxNjYzNzU1OTE4LjQ5NjA4MzcsIDQ4ODg0LCAxLjEwNjg4MDc4NDAzNDcyOV0sIFsxNjYzNzU1OTE4LjYzNTUyLCA0ODkwNiwgMS4wNzkyMTQ5MzA1MzQzNjI4XSwgWzE2NjM3NTU5MTguNzY4NDAxNiwgNDg5MjgsIDEuMDc2MDkzMDc3NjU5NjA3XSwgWzE2NjM3NTU5MTkuMzAzNTQ4NiwgNDg5NzIsIDEuMDg0NzE3NzUwNTQ5MzE2NF0sIFsxNjYzNzU1OTE5Ljc5NzA1OTgsIDQ5MDE2LCAxLjA1OTQyNzI2MTM1MjUzOV0sIFsxNjYzNzU1OTIxLjEzOTc5NTgsIDQ5MTQ4LCAxLjA4MDIwNTIwMjEwMjY2MTFdLCBbMTY2Mzc1NTkyMS42NTA4MzIsIDQ5MjE0LCAxLjA1NTMyNTYyNzMyNjk2NTNdLCBbMTY2Mzc1NTkyMi4wNzkwNzMyLCA0OTI4MCwgMS4wOTQ3MDIzNjMwMTQyMjEyXSwgWzE2NjM3NTU5MjIuNTg0OTg4OCwgNDkzNDYsIDEuMDg0MDY4NjU1OTY3NzEyNF0sIFsxNjYzNzU1OTIyLjkzMTE5MDcsIDQ5MzkwLCAxLjEwMTM0NjI1NDM0ODc1NDldLCBbMTY2Mzc1NTkyMy4zNjAxMjY1LCA0OTQ1NiwgMS4wNzgwNjA2MjY5ODM2NDI2XSwgWzE2NjM3NTU5MjQuNzUzOTg3NiwgNDk2MTAsIDEuMDkyODI2MTI4MDA1OTgxNF0sIFsxNjYzNzU1OTI1LjIzOTc3NzYsIDQ5Njc2LCAxLjA2NDA3ODU2OTQxMjIzMTRdLCBbMTY2Mzc1NTkyNS4zOTQxNjQsIDQ5Njk4LCAxLjA4NzE1NTIyMjg5Mjc2MTJdLCBbMTY2Mzc1NTkyNi41OTU4MjI4LCA0OTgzMCwgMS4wOTUzMzIwMjY0ODE2Mjg0XSwgWzE2NjM3NTU5MjYuODk4NjA1NiwgNDk4NzQsIDEuMDcwMzQ2NzEzMDY2MTAxXSwgWzE2NjM3NTU5MjcuMDQwNzQ0MywgNDk4OTYsIDEuMDg5MzY1MzYzMTIxMDMyN10sIFsxNjYzNzU1OTI4LjM0MTgyMTQsIDUwMDUwLCAxLjIwMjcwNTUwMjUxMDA3MDhdLCBbMTY2Mzc1NTkyOC42MzAxMjg0LCA1MDA5NCwgMS4xMjg5OTMwMzQzNjI3OTNdLCBbMTY2Mzc1NTkyOS40NjgxMzA0LCA1MDE4MiwgMS4wNzQzMTQyMzY2NDA5MzAyXSwgWzE2NjM3NTU5MjkuNjI3NzE3NSwgNTAyMDQsIDEuMTA0NjcyOTA4NzgyOTU5XSwgWzE2NjM3NTU5MzAuMTcyMTA4LCA1MDI3MCwgMS4wNzczNjE3MDI5MTkwMDYzXSwgWzE2NjM3NTU5MzAuMzA4OTY4OCwgNTAyOTIsIDEuMDUxNzA3NjI1Mzg5MDk5MV0sIFsxNjYzNzU1OTMxLjU5NjYyNCwgNTA0MjQsIDEuMDY1MjM3NzYwNTQzODIzMl0sIFsxNjYzNzU1OTMxLjgyNjU5OSwgNTA0NDYsIDEuMDg1OTQ1MjQ4NjAzODIwOF0sIFsxNjYzNzU1OTMyLjA1MTU5OTUsIDUwNDY4LCAxLjEyODA1MDMyNzMwMTAyNTRdLCBbMTY2Mzc1NTkzMy4xNzI1NjgzLCA1MDYyMiwgMS4xMDQxNjc0NjEzOTUyNjM3XSwgWzE2NjM3NTU5MzQuMDg3ODYwNiwgNTA3MzIsIDEuMjMxNTQ4MDcwOTA3NTkyOF0sIFsxNjYzNzU1OTM0LjI1MDMwMjgsIDUwNzU0LCAxLjA2OTI2NjQzODQ4NDE5Ml0sIFsxNjYzNzU1OTM0LjQ4NDEwODQsIDUwNzc2LCAxLjA2NDAyODUwMTUxMDYyMDFdLCBbMTY2Mzc1NTkzNC43NzM0NjQ3LCA1MDgyMCwgMS4wNzY2MzY5MTA0Mzg1Mzc2XSwgWzE2NjM3NTU5MzUuMTQ0MTczOSwgNTA4NjQsIDEuMDY5Mzc3NTQxNTQyMDUzMl0sIFsxNjYzNzU1OTM1Ljg2NTc4NTEsIDUwOTUyLCAxLjA2NjkzNTA2MjQwODQ0NzNdLCBbMTY2Mzc1NTkzNi4wMjAyOTM1LCA1MDk3NCwgMS4wNjMyMTQ1NDA0ODE1Njc0XSwgWzE2NjM3NTU5MzYuNzkyODc0LCA1MTA0MCwgMS4wNzkwOTc3NDc4MDI3MzQ0XSwgWzE2NjM3NTU5MzcuODI3MjYwNywgNTExNTAsIDEuMDc2OTMzMzgzOTQxNjUwNF0sIFsxNjYzNzU1OTM4LjcwNDM4OTMsIDUxMjgyLCAxLjA3NTk5NDYxMDc4NjQzOF0sIFsxNjYzNzU1OTM4Ljk4Mjg5NSwgNTEzMjYsIDEuMTY5MTgzMjU0MjQxOTQzNF0sIFsxNjYzNzU1OTM5LjYxOTMxNTQsIDUxMzkyLCAxLjEzMzczOTU5MDY0NDgzNjRdLCBbMTY2Mzc1NTk0MC41NTc0ODI3LCA1MTUwMiwgMS4wNjkwMTI0MDM0ODgxNTkyXSwgWzE2NjM3NTU5NDAuODYzOTE5NywgNTE1NDYsIDEuMDYzNTMwMjA2NjgwMjk3OV0sIFsxNjYzNzU1OTQxLjAwMzQ4NTIsIDUxNTY4LCAxLjA3MDU5NDY2ODM4ODM2NjddLCBbMTY2Mzc1NTk0MS4xMzcyNzA3LCA1MTU5MCwgMS4wNjk0MDEyNjQxOTA2NzM4XV0=","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_02-12-17_b5cca277837b&tag=Loss%2Ftrain":{"data":"W1sxNjYzODEyNzM5LjQ5NDgyMDgsIDksIDEwNi41MjcyODI3MTQ4NDM3NV0sIFsxNjYzODEyNzQwLjE2NDA3NSwgMjcsIDM5LjExODIyNTA5NzY1NjI1XSwgWzE2NjM4MTI3NDAuMjU1NDIwNCwgMzYsIDMzLjg5NDcxNDM1NTQ2ODc1XSwgWzE2NjM4MTI3NDAuMzQ2OTI2LCA0NSwgMzEuNjI5OTY0ODI4NDkxMjFdLCBbMTY2MzgxMjc0MC44MjkzODIyLCA5MCwgMjAuMDY2OTc0NjM5ODkyNTc4XSwgWzE2NjM4MTI3NDAuOTQzMzIwMywgOTksIDE3LjM5NTAwMDQ1Nzc2MzY3Ml0sIFsxNjYzODEyNzQxLjAzNDA5NCwgMTA4LCAxNC43NTQxNjY2MDMwODgzNzldLCBbMTY2MzgxMjc0MS40ODc3MTA1LCAxMzUsIDguNTYyMjk2ODY3MzcwNjA1XSwgWzE2NjM4MTI3NDEuNTkxMjAzMiwgMTQ0LCA3LjMxNTI0ODQ4OTM3OTg4M10sIFsxNjYzODEyNzQxLjY5NzAwNSwgMTUzLCA2LjYxMjY5ODA3ODE1NTUxOF0sIFsxNjYzODEyNzQxLjkwODQxNSwgMTcxLCA1LjkzMjM2Mzk4Njk2ODk5NF0sIFsxNjYzODEyNzQyLjAxMjE0MSwgMTgwLCA1LjkyMTkwNDA4NzA2NjY1XSwgWzE2NjM4MTI3NDIuMTE3NDM0MywgMTg5LCA1LjgzMjQ4OTAxMzY3MTg3NV0sIFsxNjYzODEyNzQyLjMyMjQ3NjksIDIwNywgNS42MjA0ODE5Njc5MjYwMjVdLCBbMTY2MzgxMjc0Mi40MzE0ODI2LCAyMTYsIDUuNTc4OTcyMzM5NjMwMTI3XSwgWzE2NjM4MTI3NDIuNzkzNjA2MywgMjQzLCA1LjM3ODgzOTk2OTYzNTAxXSwgWzE2NjM4MTI3NDIuODkxNTEzLCAyNTIsIDUuMzY0MjIyNTI2NTUwMjkzXSwgWzE2NjM4MTI3NDIuOTk4OTc1NSwgMjYxLCA1LjMzOTYyMDExMzM3MjgwM10sIFsxNjYzODEyNzQzLjA4NzA0NzMsIDI3MCwgNS4zNDg3MDg2Mjk2MDgxNTRdLCBbMTY2MzgxMjc0My4xOTY1NTI4LCAyNzksIDUuMjA4MjI1MjUwMjQ0MTQxXSwgWzE2NjM4MTI3NDMuNTEyMTE3OSwgMzA2LCA1LjE1NzgwNDAxMjI5ODU4NF0sIFsxNjYzODEyNzQzLjYwMDYxNiwgMzE1LCA1LjAzMjc3MzQ5NDcyMDQ1OV0sIFsxNjYzODEyNzQzLjc4Mjg1NzcsIDMzMywgNC45NDkyNjAyMzQ4MzI3NjRdLCBbMTY2MzgxMjc0My44NzU3OTEsIDM0MiwgNC45MzY4MzYyNDI2NzU3ODFdLCBbMTY2MzgxMjc0My45NjI4Njg1LCAzNTEsIDQuODk0OTQ3NTI4ODM5MTExXSwgWzE2NjM4MTI3NDQuMDUyMTQzOCwgMzYwLCA0LjkwMzE0NzIyMDYxMTU3Ml0sIFsxNjYzODEyNzQ0LjEzOTQxOTMsIDM2OSwgNC43NzQyNjE5NTE0NDY1MzNdLCBbMTY2MzgxMjc0NC44MTMwNDgxLCA0MzIsIDQuNTQ0MDAyMDU2MTIxODI2XSwgWzE2NjM4MTI3NDQuOTA5NjA3NiwgNDQxLCA0LjQ4OTA4Mzc2NjkzNzI1Nl0sIFsxNjYzODEyNzQ1LjAxMjIxODcsIDQ1MCwgNC40NDY3MTcyNjIyNjgwNjZdLCBbMTY2MzgxMjc0NS4xMDIyMDk4LCA0NTksIDQuNDQ1NzAyNTUyNzk1NDFdLCBbMTY2MzgxMjc0NS4yMjE0MSwgNDY4LCA0LjM5NTMwMzcyNjE5NjI4OV0sIFsxNjYzODEyNzQ1LjMzNDYwODMsIDQ3NywgNC4zNjM2MDgzNjAyOTA1MjddLCBbMTY2MzgxMjc0NS40Mzk4NjM0LCA0ODYsIDQuMzc1OTg5NDM3MTAzMjcxNV0sIFsxNjYzODEyNzQ1LjUzNTIxMiwgNDk1LCA0LjI2MDMyNjM4NTQ5ODA0N10sIFsxNjYzODEyNzQ1LjYzNzU1MSwgNTA0LCA0LjI2NjQxODkzMzg2ODQwOF0sIFsxNjYzODEyNzQ1LjgyNzE5NjEsIDUyMiwgNC4xOTY2OTI5NDM1NzI5OThdLCBbMTY2MzgxMjc0Ni4xMTgzNjksIDU0OSwgNC4xMDU3ODg3MDc3MzMxNTRdLCBbMTY2MzgxMjc0Ni4yMjg0Mzc3LCA1NTgsIDQuMTUzNzEyMjcyNjQ0MDQzXSwgWzE2NjM4MTI3NDYuMzI4MzA5NSwgNTY3LCAzLjk3MjAzODUwNzQ2MTU0OF0sIFsxNjYzODEyNzQ2LjQ1MDUyMzksIDU3NiwgMy45OTM3ODAzNzQ1MjY5Nzc1XSwgWzE2NjM4MTI3NDYuNjU0NzA0MywgNTk0LCAzLjk0NzM2MDI3NzE3NTkwMzNdLCBbMTY2MzgxMjc0Ni43NDc1MDExLCA2MDMsIDMuOTE4NjU4NzMzMzY3OTJdLCBbMTY2MzgxMjc0Ni44NDM2NzEsIDYxMiwgMy44MjEzMzI0NTQ2ODEzOTY1XSwgWzE2NjM4MTI3NDYuOTM5MTI1MywgNjIxLCAzLjc4OTE1NTI0NDgyNzI3MDVdLCBbMTY2MzgxMjc0Ny4xMzQ3MDk4LCA2MzksIDMuNzQ5MTczNjQxMjA0ODM0XSwgWzE2NjM4MTI3NDcuMjI2MTAzOCwgNjQ4LCAzLjc0ODY1Njk4ODE0MzkyMV0sIFsxNjYzODEyNzQ3LjQxMDExNywgNjY2LCAzLjY0Mjk2MTAyNTIzODAzN10sIFsxNjYzODEyNzQ3LjYxMTA1MTYsIDY4NCwgMy42MTg1ODI5NjM5NDM0ODE0XSwgWzE2NjM4MTI3NDcuODE2MTMxNiwgNzAyLCAzLjUyOTQ0NDQ1NjEwMDQ2NF0sIFsxNjYzODEyNzQ3LjkwODExNTEsIDcxMSwgMy41MzQwNjUwMDgxNjM0NTJdLCBbMTY2MzgxMjc0OC4wMDAwNzQsIDcyMCwgMy41NjA2MDgzODY5OTM0MDhdLCBbMTY2MzgxMjc0OC4wOTQ3MTQ0LCA3MjksIDMuNDEwODA0MDMzMjc5NDE5XSwgWzE2NjM4MTI3NDguMjczNjk5LCA3NDcsIDMuMzg1MTkyNjMyNjc1MTcxXSwgWzE2NjM4MTI3NDguMzY4MDYzNywgNzU2LCAzLjMyMTAzNDE5MzAzODk0MDRdLCBbMTY2MzgxMjc0OC41NjAwNDU1LCA3NzQsIDMuMjcxODU4NDUzNzUwNjEwNF0sIFsxNjYzODEyNzQ4LjY1NDMxNTcsIDc4MywgMy4yODI0NzMwODczMTA3OTFdLCBbMTY2MzgxMjc0OC43NDA4NjM2LCA3OTIsIDMuMjE4MDgxMjM1ODg1NjJdLCBbMTY2MzgxMjc0OC45MTE4NzY3LCA4MTAsIDMuMTU3OTU1NDA4MDk2MzEzNV0sIFsxNjYzODEyNzQ5LjAxOTM2NTgsIDgxOSwgMy4xODI1MzgyNzA5NTAzMTc0XSwgWzE2NjM4MTI3NDkuNTY4Mzc5OSwgODY0LCAyLjk5NTk3NTAxNzU0NzYwNzRdLCBbMTY2MzgxMjc0OS42NjAzODksIDg3MywgMy4wODg3Njk0MzU4ODI1Njg0XSwgWzE2NjM4MTI3NDkuOTYwMzE5MywgOTAwLCAzLjAwNTI4NTczOTg5ODY4MTZdLCBbMTY2MzgxMjc1MC4wNjE4OTY2LCA5MDksIDIuOTE3NjM4MDYzNDMwNzg2XSwgWzE2NjM4MTI3NTAuNDk5MzM2NSwgOTM2LCAyLjg1MTEzNzYzODA5MjA0MV0sIFsxNjYzODEyNzUwLjYxNjU3NzQsIDk0NSwgMi44MDAxMzcyODE0MTc4NDY3XSwgWzE2NjM4MTI3NTAuODIyNTI2NSwgOTYzLCAyLjczNTUxMjk3MTg3ODA1MThdLCBbMTY2MzgxMjc1MC45MjUxODUyLCA5NzIsIDIuNzU4NDg4ODkzNTA4OTExXSwgWzE2NjM4MTI3NTEuMDE5NTI0NiwgOTgxLCAyLjc0NDExOTQwNTc0NjQ2XSwgWzE2NjM4MTI3NTEuMTA4NDIxMywgOTkwLCAyLjczMTMzMzQ5NDE4NjQwMTRdLCBbMTY2MzgxMjc1MS4yMjI0Nzc3LCA5OTksIDIuNjcxMDI5NTY3NzE4NTA2XSwgWzE2NjM4MTI3NTEuMzEyMzA4LCAxMDA4LCAyLjYyMjkyNTk5Njc4MDM5NTVdLCBbMTY2MzgxMjc1MS40MDA5NywgMTAxNywgMi42NjI3ODIxOTIyMzAyMjQ2XSwgWzE2NjM4MTI3NTEuNTg1ODc4NiwgMTAzNSwgMi42MDUzOTk4NDcwMzA2Mzk2XSwgWzE2NjM4MTI3NTEuNjc5ODA3NywgMTA0NCwgMi41NTI5Njg5Nzg4ODE4MzZdLCBbMTY2MzgxMjc1MS43OTAxMzMyLCAxMDUzLCAyLjYyNDc4OTIzNzk3NjA3NF0sIFsxNjYzODEyNzUxLjg5MzQ3MDMsIDEwNjIsIDIuNTczMTQxNTc0ODU5NjE5XSwgWzE2NjM4MTI3NTIuMTk0NzYwOCwgMTA4OSwgMi41MTM1NzI2OTI4NzEwOTM4XSwgWzE2NjM4MTI3NTIuMjg0MjU0NiwgMTA5OCwgMi41NTYyMzg0MTI4NTcwNTU3XSwgWzE2NjM4MTI3NTIuNjc3MDUyNSwgMTEzNCwgMi40NDM4NzAwNjc1OTY0MzU1XSwgWzE2NjM4MTI3NTIuNzY2MTA1MiwgMTE0MywgMi40MDAzMzQzNTgyMTUzMzJdLCBbMTY2MzgxMjc1Mi45NzAwODIsIDExNjEsIDIuMzk3NTk3MzEyOTI3MjQ2XSwgWzE2NjM4MTI3NTMuMDYwMTIwNiwgMTE3MCwgMi4zOTc1NTU1ODk2NzU5MDMzXSwgWzE2NjM4MTI3NTMuMTUwODUwMywgMTE3OSwgMi40Mzk1NzExNDIxOTY2NTUzXSwgWzE2NjM4MTI3NTMuMjQxODg4OCwgMTE4OCwgMi4zODkzNTk0NzQxODIxMjldLCBbMTY2MzgxMjc1My4zNDg5MzMyLCAxMTk3LCAyLjI4ODgxODM1OTM3NV0sIFsxNjYzODEyNzUzLjU3Mjk1NywgMTIxNSwgMi4yNzg0NDk3NzM3ODg0NTJdLCBbMTY2MzgxMjc1My43NzkyMzA4LCAxMjMzLCAyLjM1MDk1MjM4Njg1NjA3OV0sIFsxNjYzODEyNzUzLjg3ODQ3NjYsIDEyNDIsIDIuMzQyMDg5ODkxNDMzNzE2XSwgWzE2NjM4MTI3NTMuOTg2NjgxLCAxMjUxLCAyLjI4OTE0NzYxNTQzMjczOTNdLCBbMTY2MzgxMjc1NC4wODI0NDk3LCAxMjYwLCAyLjMyODUwNjIzMTMwNzk4MzRdLCBbMTY2MzgxMjc1NC4xNzE5MTAzLCAxMjY5LCAyLjIxOTQxNzU3MjAyMTQ4NDRdLCBbMTY2MzgxMjc1NC4yNjIxNDgxLCAxMjc4LCAyLjIzODAxMzI2NzUxNzA5XSwgWzE2NjM4MTI3NTQuNDUxNzM5MywgMTI5NiwgMi4xOTUyNTA3NDk1ODgwMTI3XSwgWzE2NjM4MTI3NTQuNTQyMjI1NiwgMTMwNSwgMi4yMjU3MTY4MjkyOTk5MjY4XSwgWzE2NjM4MTI3NTQuNjM1ODMwNiwgMTMxNCwgMi4xMDkwNjE3MTc5ODcwNjA1XSwgWzE2NjM4MTI3NTQuNzI0NTkyLCAxMzIzLCAyLjE1MjE5ODc5MTUwMzkwNjJdLCBbMTY2MzgxMjc1NC44MjE2OTQ2LCAxMzMyLCAyLjEzNjExNjc0MzA4Nzc2ODZdLCBbMTY2MzgxMjc1NS4xMDMyODIsIDEzNTksIDIuMTU4NjcxNjE3NTA3OTM0Nl0sIFsxNjYzODEyNzU1LjQ3NzA5ODUsIDEzOTUsIDIuMDgwODYyNTIyMTI1MjQ0XSwgWzE2NjM4MTI3NTUuNjcwMDEzMiwgMTQxMywgMi4wOTA2NzM0NDY2NTUyNzM0XSwgWzE2NjM4MTI3NTUuNzgxMzQ4NywgMTQyMiwgMi4wODMyMjQyOTY1Njk4MjRdLCBbMTY2MzgxMjc1NS45NzQ0NzkyLCAxNDQwLCAyLjA5MDkyNTkzMTkzMDU0Ml0sIFsxNjYzODEyNzU2LjA2ODY2ODYsIDE0NDksIDIuMDM4ODUxOTc2Mzk0NjUzM10sIFsxNjYzODEyNzU2LjI2NDI3MjUsIDE0NjcsIDIuMDE3NTA2NTk5NDI2MjY5NV0sIFsxNjYzODEyNzU2LjM1Mzk2NzQsIDE0NzYsIDEuOTkzODM0ODUzMTcyMzAyMl0sIFsxNjYzODEyNzU2LjQ0NDUxOTMsIDE0ODUsIDIuMDI1Mjk3NjQxNzU0MTUwNF0sIFsxNjYzODEyNzU2LjY0ODMwMzUsIDE1MDMsIDIuMTE5MDgyMjEyNDQ4MTJdLCBbMTY2MzgxMjc1Ni44NTI5MTcsIDE1MjEsIDEuOTgzMTUxNTU1MDYxMzQwM10sIFsxNjYzODEyNzU3LjAzNzgzNCwgMTUzOSwgMi4wMTI2MjQ1MDIxODIwMDddLCBbMTY2MzgxMjc1Ny4xMzM4NDI1LCAxNTQ4LCAxLjk5NTM0MzU2NTk0MDg1N10sIFsxNjYzODEyNzU3LjIzMjM1MDMsIDE1NTcsIDIuMDA2OTQ1NjEwMDQ2Mzg2N10sIFsxNjYzODEyNzU3LjQxMzU5ODMsIDE1NzUsIDEuOTgzOTEyOTQ0NzkzNzAxMl0sIFsxNjYzODEyNzU3LjUwMjg5NSwgMTU4NCwgMS45NTE1Mzc5NjY3MjgyMTA0XSwgWzE2NjM4MTI3NTcuNTkyMzg3NCwgMTU5MywgMS45NTcxNzY5MjM3NTE4MzFdLCBbMTY2MzgxMjc1Ny42ODg5NTgyLCAxNjAyLCAxLjk1NzM1NjU3MjE1MTE4NF0sIFsxNjYzODEyNzU3Ljc3OTE2OTgsIDE2MTEsIDIuMDIwNDgwMTU1OTQ0ODI0XSwgWzE2NjM4MTI3NTcuOTYyNDgwNSwgMTYyOSwgMS45NTIzOTk0OTIyNjM3OTRdLCBbMTY2MzgxMjc1OC4wNTYwMDQ4LCAxNjM4LCAxLjk1ODYyNzgyMDAxNDk1MzZdLCBbMTY2MzgxMjc1OC4xNzQwMDk2LCAxNjQ3LCAxLjkxOTU5ODEwMjU2OTU4XSwgWzE2NjM4MTI3NTguMjc3MzAyNSwgMTY1NiwgMS45Mzc0NjAwNjQ4ODgwMDA1XSwgWzE2NjM4MTI3NTguMzY4NTM4NCwgMTY2NSwgMS45MDU4NzA5MTQ0NTkyMjg1XSwgWzE2NjM4MTI3NTguNDU4NTA1OSwgMTY3NCwgMS45NTMzOTk2NTgyMDMxMjVdLCBbMTY2MzgxMjc1OC41NTM4NDY4LCAxNjgzLCAxLjk5NDY4MjQzMTIyMTAwODNdLCBbMTY2MzgxMjc1OC44MzYyMjI0LCAxNzEwLCAxLjk1Nzg0NTY4Nzg2NjIxMV0sIFsxNjYzODEyNzU5LjA5MTE5OTYsIDE3MTksIDEuODg2MDg5NDQ0MTYwNDYxNF0sIFsxNjYzODEyNzU5LjE5NjQ3OTYsIDE3MjgsIDEuOTE2ODk1MDMxOTI5MDE2MV0sIFsxNjYzODEyNzU5LjI5NzIzNjQsIDE3MzcsIDEuOTE1MjE4NzEwODk5MzUzXSwgWzE2NjM4MTI3NTkuNjA5MjM3LCAxNzY0LCAxLjg3NzExODU4NzQ5Mzg5NjVdLCBbMTY2MzgxMjc1OS45MTM3NjMzLCAxNzkxLCAxLjkwOTY5NjQ1OTc3MDIwMjZdLCBbMTY2MzgxMjc2MC4wMDE5NzQzLCAxODAwLCAxLjg3MDI3NjY4OTUyOTQxOV0sIFsxNjYzODEyNzYwLjA5MjI2MTgsIDE4MDksIDEuODM4OTQzOTU4MjgyNDcwN10sIFsxNjYzODEyNzYwLjI3OTU4MzUsIDE4MjcsIDEuODU2OTEwNzA1NTY2NDA2Ml0sIFsxNjYzODEyNzYwLjM2ODcxNTMsIDE4MzYsIDEuODc0ODMyNTEwOTQ4MTgxMl0sIFsxNjYzODEyNzYwLjQ1NjEwNzksIDE4NDUsIDEuODg5MTQyODcwOTAzMDE1MV0sIFsxNjYzODEyNzYwLjU0NTU3MTMsIDE4NTQsIDEuOTUyNDcwMTgzMzcyNDk3Nl0sIFsxNjYzODEyNzYwLjc0OTUzMTUsIDE4NzIsIDEuODcwNzE3MTY3ODU0MzA5XSwgWzE2NjM4MTI3NjAuODM5NTkzLCAxODgxLCAxLjg0MTM3MDIyNDk1MjY5NzhdLCBbMTY2MzgxMjc2MC45MzM5Mjg3LCAxODkwLCAxLjg2Mjg1ODc3MjI3NzgzMl0sIFsxNjYzODEyNzYxLjEyMjY2NiwgMTkwOCwgMS44OTA4OTM5MzYxNTcyMjY2XSwgWzE2NjM4MTI3NjEuMzIxMTU3NywgMTkyNiwgMS44NDc0ODMzOTY1MzAxNTE0XSwgWzE2NjM4MTI3NjEuNTA1MzY0NCwgMTk0NCwgMS43OTc4MzQ3NTM5OTAxNzMzXSwgWzE2NjM4MTI3NjEuNjAxMjUxOCwgMTk1MywgMS44NDE0MDA5ODA5NDk0MDE5XSwgWzE2NjM4MTI3NjEuNzgwOTkxOCwgMTk3MSwgMS44MDU5MDkyNzYwMDg2MDZdLCBbMTY2MzgxMjc2MS44NzUxNDYsIDE5ODAsIDEuODA2ODA1OTY4Mjg0NjA3XSwgWzE2NjM4MTI3NjEuOTgzMTU5NSwgMTk4OSwgMS44MTE0OTk4MzQwNjA2NjldLCBbMTY2MzgxMjc2Mi4xMDEzNzM3LCAxOTk4LCAxLjg2NDI4NTIzMDYzNjU5NjddLCBbMTY2MzgxMjc2Mi4xOTQ3MzEsIDIwMDcsIDEuODMxOTE4NDc4MDEyMDg1XSwgWzE2NjM4MTI3NjIuNDA3OTY1NywgMjAyNSwgMS44MzI3MzIzMTk4MzE4NDgxXSwgWzE2NjM4MTI3NjIuNTEwMjU1MywgMjAzNCwgMS43OTI2ODE0NTU2MTIxODI2XSwgWzE2NjM4MTI3NjIuNjE5NzcwMywgMjA0MywgMS43OTYxNjM1NTg5NTk5NjFdLCBbMTY2MzgxMjc2Mi45MjkwNDYyLCAyMDcwLCAxLjgzODE3ODE1NzgwNjM5NjVdLCBbMTY2MzgxMjc2My4xNDMwNTYyLCAyMDg4LCAxLjg3NDE3MTczMzg1NjIwMTJdLCBbMTY2MzgxMjc2My4yMzkxOTYzLCAyMDk3LCAxLjg5NTc1ODUwOTYzNTkyNTNdLCBbMTY2MzgxMjc2My40MzMyNjU3LCAyMTE1LCAxLjgyNzc1NDEzOTkwMDIwNzVdLCBbMTY2MzgxMjc2My41MjIzNzkyLCAyMTI0LCAxLjc5NTY0Nzg1OTU3MzM2NDNdLCBbMTY2MzgxMjc2My42MTI1Mjc0LCAyMTMzLCAxLjc2NzE3OTQ4OTEzNTc0MjJdLCBbMTY2MzgxMjc2My43MDg5OTQ5LCAyMTQyLCAxLjc5MjY0MDgwNTI0NDQ0NThdLCBbMTY2MzgxMjc2My44MTg4NzgsIDIxNTEsIDEuODAwODAwNDQyNjk1NjE3N10sIFsxNjYzODEyNzYzLjkwODcwNzksIDIxNjAsIDEuNzk0NTU2OTc1MzY0Njg1XSwgWzE2NjM4MTI3NjQuMDg5NjA1LCAyMTc4LCAxLjgwNjA3OTc0NTI5MjY2MzZdLCBbMTY2MzgxMjc2NC4xODExNjE5LCAyMTg3LCAxLjc2NzI0Mzk4MTM2MTM4OTJdLCBbMTY2MzgxMjc2NC4zNjcwOTU3LCAyMjA1LCAxLjc5MjMzNTUxMDI1MzkwNjJdLCBbMTY2MzgxMjc2NC40NzM5MjI1LCAyMjE0LCAxLjgxNjE4ODQ1NDYyNzk5MDddLCBbMTY2MzgxMjc2NC41NjYxOTMsIDIyMjMsIDEuNzQwNjI4NzE5MzI5ODM0XSwgWzE2NjM4MTI3NjQuNjU3MzUzNiwgMjIzMiwgMS43NjU0MTg1Mjk1MTA0OThdLCBbMTY2MzgxMjc2NC43NDk3NDkyLCAyMjQxLCAxLjc0MjM3NTQ5MzA0OTYyMTZdLCBbMTY2MzgxMjc2NC44NDA1MzI4LCAyMjUwLCAxLjc0MzMzMzMzOTY5MTE2Ml0sIFsxNjYzODEyNzY1LjE2NDY1NiwgMjI3NywgMS43MTU2OTkzMTUwNzExMDZdLCBbMTY2MzgxMjc2NS4yNzkwMjU2LCAyMjg2LCAxLjcyODU4ODgxOTUwMzc4NDJdLCBbMTY2MzgxMjc2NS4zNjc4Nzk5LCAyMjk1LCAxLjc4MDMyMTI0MDQyNTEwOTldLCBbMTY2MzgxMjc2NS40NzA1MiwgMjMwNCwgMS43NzcyMDY0MjA4OTg0Mzc1XSwgWzE2NjM4MTI3NjUuNjYzMDM4MywgMjMyMiwgMS43NDAwMDE2Nzg0NjY3OTY5XSwgWzE2NjM4MTI3NjUuNzUzNDkwMiwgMjMzMSwgMS43NDM4MTYyNTY1MjMxMzIzXSwgWzE2NjM4MTI3NjUuODQ5OTU0NiwgMjM0MCwgMS43MjA3MDA1MDIzOTU2Mjk5XSwgWzE2NjM4MTI3NjUuOTQxOTY2LCAyMzQ5LCAxLjcyOTczMzgyNDcyOTkxOTRdLCBbMTY2MzgxMjc2Ni4xMjQ5ODk3LCAyMzY3LCAxLjcyODk5OTI1NzA4NzcwNzVdLCBbMTY2MzgxMjc2Ni4yMTg5NjMsIDIzNzYsIDEuNzAwNDMyMDYyMTQ5MDQ3OV0sIFsxNjYzODEyNzY2LjY3NDg0MTYsIDI0MjEsIDEuNzYzMzA2NzM2OTQ2MTA2XSwgWzE2NjM4MTI3NjYuODcyNjEzNCwgMjQzOSwgMS43MDE3ODMxODAyMzY4MTY0XSwgWzE2NjM4MTI3NjYuOTYyNTczOCwgMjQ0OCwgMS43NTQ2MDg3NTAzNDMzMjI4XSwgWzE2NjM4MTI3NjcuMjM2NTE3NCwgMjQ3NSwgMS43MDcwMzA0MTU1MzQ5NzMxXSwgWzE2NjM4MTI3NjcuMzE3NjU0NiwgMjQ4NCwgMS42NzQzMTk4NjMzMTkzOTddLCBbMTY2MzgxMjc2Ny4zOTk5MDM1LCAyNDkzLCAxLjcyMzY4MjUyMjc3Mzc0MjddLCBbMTY2MzgxMjc2Ny43NTQyNDk2LCAyNTExLCAxLjY4NDQxMzc5MDcwMjgxOThdLCBbMTY2MzgxMjc2Ny44NDIzNzAzLCAyNTIwLCAxLjY4OTQ3MDY0ODc2NTU2NF0sIFsxNjYzODEyNzY3LjkzMjcwOTcsIDI1MjksIDEuNjkwNjMyODIwMTI5Mzk0NV0sIFsxNjYzODEyNzY4LjAyMjU2NzcsIDI1MzgsIDEuNzU3OTA0NjQ4NzgwODIyOF0sIFsxNjYzODEyNzY4LjExMzEwODYsIDI1NDcsIDEuNzMwMzgxMTMxMTcyMTgwMl0sIFsxNjYzODEyNzY4LjIwMjE3OTcsIDI1NTYsIDEuNjYwNDI5MzU4NDgyMzYwOF0sIFsxNjYzODEyNzY4LjI4NjIwMzQsIDI1NjUsIDEuNjczNDk5OTQxODI1ODY2N10sIFsxNjYzODEyNzY4LjM3NTcwNDgsIDI1NzQsIDEuNjkyNjU2NzU1NDQ3Mzg3N10sIFsxNjYzODEyNzY4LjU1NTgwNTcsIDI1OTIsIDEuNjU4MzQ0MTQ5NTg5NTM4Nl0sIFsxNjYzODEyNzY4LjY1OTExNDEsIDI2MDEsIDEuNjk3NjkxMzIxMzcyOTg1OF0sIFsxNjYzODEyNzY4LjgzNTE0NzQsIDI2MTksIDEuNjU2NDkwNjgzNTU1NjAzXSwgWzE2NjM4MTI3NjguOTI2ODgxLCAyNjI4LCAxLjY4NDE4NzE3Mzg0MzM4MzhdLCBbMTY2MzgxMjc2OS4yOTkxMzIsIDI2NjQsIDEuNjYyOTQwOTc5MDAzOTA2Ml0sIFsxNjYzODEyNzY5LjQwMDczOSwgMjY3MywgMS42MzA4OTkwNzE2OTM0MjA0XSwgWzE2NjM4MTI3NjkuNTI1NjE4LCAyNjgyLCAxLjY3MTQzNjA3MTM5NTg3NF0sIFsxNjYzODEyNzY5LjYyMjIxMywgMjY5MSwgMS42NzgzMTMwMTY4OTE0Nzk1XSwgWzE2NjM4MTI3NjkuNzM1MzE4NCwgMjcwMCwgMS42ODk3MzQ2OTczNDE5MTldLCBbMTY2MzgxMjc2OS44MzcwMTIsIDI3MDksIDEuNjU1NTM5OTg5NDcxNDM1NV0sIFsxNjYzODEyNzcwLjIyNjM2NjMsIDI3NDUsIDEuNjc5NzAxMzI4Mjc3NTg4XSwgWzE2NjM4MTI3NzAuMzE2MDE1NywgMjc1NCwgMS42OTMzNjA0NDc4ODM2MDZdLCBbMTY2MzgxMjc3MC40MTE1NTI3LCAyNzYzLCAxLjc1MjA5Njc3MjE5MzkwODddLCBbMTY2MzgxMjc3MC41MDY1NzU2LCAyNzcyLCAxLjY0NTMwMDk4NDM4MjYyOTRdLCBbMTY2MzgxMjc3MC41OTYzNDIzLCAyNzgxLCAxLjY2ODkxOTkyMDkyMTMyNTddLCBbMTY2MzgxMjc3MC43MTExMTA4LCAyNzkwLCAxLjY1MTE2Mjc0MzU2ODQyMDRdLCBbMTY2MzgxMjc3MC45MDE4MTMzLCAyODA4LCAxLjYzNzQwMjY1MzY5NDE1MjhdLCBbMTY2MzgxMjc3MC45OTYwODE0LCAyODE3LCAxLjYxODY0OTI0NDMwODQ3MTddLCBbMTY2MzgxMjc3MS4wODc0MTMsIDI4MjYsIDEuNjMxNTg2NTUxNjY2MjU5OF0sIFsxNjYzODEyNzcxLjE4MDE5OTQsIDI4MzUsIDEuNjE0MDA2MDQyNDgwNDY4OF0sIFsxNjYzODEyNzcxLjI3MDA2MTcsIDI4NDQsIDEuNjI3MjU3OTQzMTUzMzgxM10sIFsxNjYzODEyNzcxLjM3NzgxODMsIDI4NTMsIDEuNjYyOTk3MDA3MzY5OTk1MV0sIFsxNjYzODEyNzcxLjU2ODA0NjYsIDI4NzEsIDEuNjI0ODMxNTU3MjczODY0N10sIFsxNjYzODEyNzcxLjY3NzI4MTYsIDI4ODAsIDEuNjMyNDU2MzAyNjQyODIyM10sIFsxNjYzODEyNzcxLjc3MzAyMSwgMjg4OSwgMS42NDMzMzU0NjE2MTY1MTYxXSwgWzE2NjM4MTI3NzEuODYzNTA3NywgMjg5OCwgMS42MzUwNzU5MjY3ODA3MDA3XSwgWzE2NjM4MTI3NzEuOTYzOTI5NCwgMjkwNywgMS42NDY1NzIxMTMwMzcxMDk0XSwgWzE2NjM4MTI3NzIuMTY4MDIzOCwgMjkyNSwgMS42MjgxODY4MjE5Mzc1NjFdLCBbMTY2MzgxMjc3Mi40NDEzMTk3LCAyOTUyLCAxLjYyMDM5Njk3MTcwMjU3NTddLCBbMTY2MzgxMjc3Mi42MjMwNjEsIDI5NzAsIDEuNjAxOTA1OTQxOTYzMTk1OF0sIFsxNjYzODEyNzcyLjcxNjg3MjcsIDI5NzksIDEuNjY0MjUwMTM1NDIxNzUzXSwgWzE2NjM4MTI3NzIuODA4MjQzLCAyOTg4LCAxLjYwMTI3MDc5NDg2ODQ2OTJdLCBbMTY2MzgxMjc3Mi45MDQyNzM1LCAyOTk3LCAxLjU3MzMzMDc2MDAwMjEzNjJdLCBbMTY2MzgxMjc3Mi45OTA5MTEsIDMwMDYsIDEuNjE3MzMzMjkyOTYxMTIwNl0sIFsxNjYzODEyNzczLjM0Njg4NDMsIDMwNDIsIDEuNjUxNjAwNzE4NDk4MjNdLCBbMTY2MzgxMjc3My40MzUyMTk1LCAzMDUxLCAxLjYxMDM4NDQ2NDI2MzkxNl0sIFsxNjYzODEyNzczLjYxODUxODQsIDMwNjksIDEuNjE5NjYyMjg0ODUxMDc0Ml0sIFsxNjYzODEyNzczLjgyODM2MDYsIDMwODcsIDEuNTU3NDk5NTI3OTMxMjEzNF0sIFsxNjYzODEyNzczLjkzMzY1NjIsIDMwOTYsIDEuNTg2MjA5ODkzMjI2NjIzNV0sIFsxNjYzODEyNzc0LjAyNzEwODIsIDMxMDUsIDEuNTc2MDQzOTYzNDMyMzEyXSwgWzE2NjM4MTI3NzQuMTE4NDc4NSwgMzExNCwgMS41NzcyNzIxNzY3NDI1NTM3XSwgWzE2NjM4MTI3NzQuMjA5NTU1NiwgMzEyMywgMS42MzUyNTQzODMwODcxNTgyXSwgWzE2NjM4MTI3NzQuMzAxMzcyLCAzMTMyLCAxLjU4MzM3NTY5MjM2NzU1MzddLCBbMTY2MzgxMjc3NC4zOTE0NTgzLCAzMTQxLCAxLjYxMjk2OTUxNzcwNzgyNDddLCBbMTY2MzgxMjc3NC40ODg2NTgsIDMxNTAsIDEuNTg2NjE4NTQyNjcxMjAzNl0sIFsxNjYzODEyNzc0LjU3OTI3MDQsIDMxNTksIDEuNTQ3MTcxOTUwMzQwMjcxXSwgWzE2NjM4MTI3NzQuNzY3NTg1MywgMzE3NywgMS41NjMyMjQwNzcyMjQ3MzE0XSwgWzE2NjM4MTI3NzQuODU2NDUyLCAzMTg2LCAxLjYwMzgyMDY4MTU3MTk2MDRdLCBbMTY2MzgxMjc3NC45NTYzMDIyLCAzMTk1LCAxLjU2Mzk2NDg0Mzc1XSwgWzE2NjM4MTI3NzUuMDUyMzQzNCwgMzIwNCwgMS41NTAzNzQ3NDYzMjI2MzE4XSwgWzE2NjM4MTI3NzUuMjM2NzQ3NywgMzIyMiwgMS41NjM2NDcwMzE3ODQwNTc2XSwgWzE2NjM4MTI3NzUuMzMzNTkzMSwgMzIzMSwgMS41NDAzNTIzNDQ1MTI5Mzk1XSwgWzE2NjM4MTI3NzUuNTEzMzcxLCAzMjQ5LCAxLjU4MTMzMDc3NjIxNDU5OTZdLCBbMTY2MzgxMjc3NS42MDUzMjQzLCAzMjU4LCAxLjYyNDY4MzczNzc1NDgyMThdLCBbMTY2MzgxMjc3NS42OTU0NDk0LCAzMjY3LCAxLjU1NjE3MjcyODUzODUxMzJdLCBbMTY2MzgxMjc3NS43ODc0MjQ2LCAzMjc2LCAxLjYwNTMxMzY1ODcxNDI5NDRdLCBbMTY2MzgxMjc3NS44OTE2OTEsIDMyODUsIDEuNjExMzgwMTAwMjUwMjQ0MV0sIFsxNjYzODEyNzc1Ljk5NjA4NjgsIDMyOTQsIDEuNjI4NDc4MTY5NDQxMjIzMV0sIFsxNjYzODEyNzc2LjI2MDUzMjYsIDMzMDMsIDEuNTYxNTA2ODY3NDA4NzUyNF0sIFsxNjYzODEyNzc2LjM0NzgxMDMsIDMzMTIsIDEuNjMzODI5MzU1MjM5ODY4Ml0sIFsxNjYzODEyNzc2LjQzNjczOCwgMzMyMSwgMS41Mjc0MDEwODk2NjgyNzRdLCBbMTY2MzgxMjc3Ni41MjU5MzIsIDMzMzAsIDEuNTQzNzIwNjAyOTg5MTk2OF0sIFsxNjYzODEyNzc2Ljg4ODkyODQsIDMzNjYsIDEuNTcxNzMxNTY3MzgyODEyNV0sIFsxNjYzODEyNzc2Ljk3OTg3NiwgMzM3NSwgMS41NDU1Njg0NjYxODY1MjM0XSwgWzE2NjM4MTI3NzcuMDg3MTk0MiwgMzM4NCwgMS41MTE4OTI2NzYzNTM0NTQ2XSwgWzE2NjM4MTI3NzcuMjcwMDAxNiwgMzQwMiwgMS41MTE0OTI5Njc2MDU1OTA4XSwgWzE2NjM4MTI3NzcuMzYwMDc4NiwgMzQxMSwgMS41MzM0NTYwODcxMTI0MjY4XSwgWzE2NjM4MTI3NzcuNzIyNTI4MiwgMzQ0NywgMS41OTMzODgxOTk4MDYyMTM0XSwgWzE2NjM4MTI3NzcuOTA1MTM4NywgMzQ2NSwgMS41MTgxNDgwNjQ2MTMzNDIzXSwgWzE2NjM4MTI3NzcuOTkyOTQ2OSwgMzQ3NCwgMS41MDQ4MDg1NDUxMTI2MDk5XSwgWzE2NjM4MTI3NzguMDkzMDY3MiwgMzQ4MywgMS41MTM0OTg2NjM5MDIyODI3XSwgWzE2NjM4MTI3NzguMzU5NTE0NSwgMzUxMCwgMS41Mjg2MTEzMDIzNzU3OTM1XSwgWzE2NjM4MTI3NzguNDQ0ODQ1NywgMzUxOSwgMS41MDk3MzIzNjU2MDgyMTUzXSwgWzE2NjM4MTI3NzguNTM1NzM3OCwgMzUyOCwgMS41MjIyNzgxODk2NTkxMTg3XSwgWzE2NjM4MTI3NzguNjIzOTYwMywgMzUzNywgMS41MTg0NjQ2ODQ0ODYzODkyXSwgWzE2NjM4MTI3NzguNzE4Mjc0LCAzNTQ2LCAxLjUyNjM1NTUwNDk4OTYyNF0sIFsxNjYzODEyNzc4LjgwNjc3LCAzNTU1LCAxLjUwNjM5NjY1MTI2ODAwNTRdLCBbMTY2MzgxMjc3OC44OTgwNTcyLCAzNTY0LCAxLjU0NTMxODcyMjcyNDkxNDZdLCBbMTY2MzgxMjc3OC45ODk1NzYzLCAzNTczLCAxLjUwMTA2NjQ0NjMwNDMyMTNdLCBbMTY2MzgxMjc3OS4wOTY4MjM1LCAzNTgyLCAxLjUwNDAyMjk1NTg5NDQ3MDJdLCBbMTY2MzgxMjc3OS4yMDY3OTg2LCAzNTkxLCAxLjUwMjUyOTE0NDI4NzEwOTRdLCBbMTY2MzgxMjc3OS4zMTk1ODcyLCAzNjAwLCAxLjUyMjc1MzgzNDcyNDQyNjNdLCBbMTY2MzgxMjc3OS40Mzk0NTQzLCAzNjA5LCAxLjU2NjgyOTIwNDU1OTMyNjJdLCBbMTY2MzgxMjc3OS41NDE2NTQzLCAzNjE4LCAxLjYzMTExMzQwOTk5NjAzMjddLCBbMTY2MzgxMjc3OS42NDczODUsIDM2MjcsIDEuNDg5MDk1MzMwMjM4MzQyM10sIFsxNjYzODEyNzc5LjgyODU2NTYsIDM2NDUsIDEuNDUyMTM0OTY2ODUwMjgwOF0sIFsxNjYzODEyNzgwLjAxNDM4MiwgMzY2MywgMS40Njc1MTUzNDkzODgxMjI2XSwgWzE2NjM4MTI3ODAuMTEyNzE2LCAzNjcyLCAxLjQ5OTcwNDEyMjU0MzMzNV0sIFsxNjYzODEyNzgwLjIwNTM5NCwgMzY4MSwgMS40ODcwMTIwMjg2OTQxNTI4XSwgWzE2NjM4MTI3ODAuMzA3MDA2MSwgMzY5MCwgMS41MDUxMjc3ODc1OTAwMjY5XSwgWzE2NjM4MTI3ODAuNTgxMzIwNSwgMzcxNywgMS40ODI3Nzc5NTMxNDc4ODgyXSwgWzE2NjM4MTI3ODAuNjc2MTQ3NSwgMzcyNiwgMS42MjY2MzE0OTgzMzY3OTJdLCBbMTY2MzgxMjc4MC43NzE5ODI3LCAzNzM1LCAxLjQ5ODczMzYzOTcxNzEwMl0sIFsxNjYzODEyNzgwLjg2MDYzNywgMzc0NCwgMS41MjUwMTI2MTIzNDI4MzQ1XSwgWzE2NjM4MTI3ODEuMTY5Nzc2LCAzNzcxLCAxLjQ5NTY5OTQwNTY3MDE2Nl0sIFsxNjYzODEyNzgxLjI5MTcxMSwgMzc4MCwgMS41MDg0MDYwNDMwNTI2NzMzXSwgWzE2NjM4MTI3ODEuNDc1NDQzMSwgMzc5OCwgMS40NTY3NjQ0NTk2MDk5ODU0XSwgWzE2NjM4MTI3ODEuNTY4NDcwNSwgMzgwNywgMS40NTYwMzI2MzM3ODE0MzNdLCBbMTY2MzgxMjc4MS44NDUxMjIzLCAzODM0LCAxLjQ1ODY0MTA1MjI0NjA5MzhdLCBbMTY2MzgxMjc4MS45Mzg2NDE1LCAzODQzLCAxLjQ2MzI4NTMyNjk1NzcwMjZdLCBbMTY2MzgxMjc4Mi4wMjkwMzIsIDM4NTIsIDEuNDg0NzI5NTI4NDI3MTI0XSwgWzE2NjM4MTI3ODIuMjMxMTM3OCwgMzg3MCwgMS40NjE5Mjk2Nzg5MTY5MzEyXSwgWzE2NjM4MTI3ODIuMzQ3NDk1MywgMzg3OSwgMS40NzY0MTY1ODc4Mjk1ODk4XSwgWzE2NjM4MTI3ODIuNDQ0MjQwOCwgMzg4OCwgMS40NDkwMjM5NjIwMjA4NzRdLCBbMTY2MzgxMjc4Mi43Mjk0ODA1LCAzOTE1LCAxLjQ1NjIwNTg0NDg3OTE1MDRdLCBbMTY2MzgxMjc4Mi44MjI4Njc2LCAzOTI0LCAxLjQyMTI4MTQ1Njk0NzMyNjddLCBbMTY2MzgxMjc4Mi45MTg1OTk2LCAzOTMzLCAxLjQzNDIzNTMzNDM5NjM2MjNdLCBbMTY2MzgxMjc4My4wMTI2MDUyLCAzOTQyLCAxLjQ1OTM5NTUyNzgzOTY2MDZdLCBbMTY2MzgxMjc4My4xMTU5ODA0LCAzOTUxLCAxLjQzOTAwMTY3OTQyMDQ3MTJdLCBbMTY2MzgxMjc4My4yMTA2ODU1LCAzOTYwLCAxLjQzMDMzNTQwMjQ4ODcwODVdLCBbMTY2MzgxMjc4My4zMDg5NDc4LCAzOTY5LCAxLjQ0NzM3MTM2MzYzOTgzMTVdLCBbMTY2MzgxMjc4My40MDE4NTU1LCAzOTc4LCAxLjQwODkzMjIwOTAxNDg5MjZdLCBbMTY2MzgxMjc4My41ODUxOTUzLCAzOTk2LCAxLjQ1NDU3MjQzOTE5MzcyNTZdLCBbMTY2MzgxMjc4My42Nzg4OTUsIDQwMDUsIDEuNDUwOTk0NjEwNzg2NDM4XSwgWzE2NjM4MTI3ODMuNzczNTA4MywgNDAxNCwgMS40MTc1MDA2MTUxMTk5MzRdLCBbMTY2MzgxMjc4My45MTQxNTcsIDQwMjMsIDEuNDE2Mjg4Mzc1ODU0NDkyMl0sIFsxNjYzODEyNzg0LjI5NDY4MzUsIDQwNTksIDEuNDE0NjIyNTQ1MjQyMzA5Nl0sIFsxNjYzODEyNzg0LjM4NjkxNzYsIDQwNjgsIDEuNDIzMTIwMjYwMjM4NjQ3NV0sIFsxNjYzODEyNzg0LjQ4NTg4OSwgNDA3NywgMS41MDg4MzEzODE3OTc3OTA1XSwgWzE2NjM4MTI3ODQuNTc3MTQ1LCA0MDg2LCAxLjQ0NDA2MzY2MzQ4MjY2Nl0sIFsxNjYzODEyNzg0LjgzNDEwODgsIDQwOTUsIDEuNDY5MjIxMzUzNTMwODgzOF0sIFsxNjYzODEyNzg1LjA2NzAxNjQsIDQxMTMsIDEuMzkzMTg2ODA3NjMyNDQ2M10sIFsxNjYzODEyNzg1LjI3NzQxOTYsIDQxMzEsIDEuNDA4ODA5NzgxMDc0NTI0XSwgWzE2NjM4MTI3ODUuNDk1MTY4NCwgNDE0OSwgMS40MjQ2MjQyMDQ2MzU2MjAxXSwgWzE2NjM4MTI3ODUuNjI3ODE0MywgNDE1OCwgMS40Mzc0NjUzMTAwOTY3NDA3XSwgWzE2NjM4MTI3ODUuNzY1MDg1NSwgNDE2NywgMS4zOTkwNTg2OTk2MDc4NDkxXSwgWzE2NjM4MTI3ODUuOTg0NDU2NSwgNDE4NSwgMS40MjQyMDYzNzYwNzU3NDQ2XSwgWzE2NjM4MTI3ODYuMDc3MjQyLCA0MTk0LCAxLjQwNjQwNzk1MjMwODY1NDhdLCBbMTY2MzgxMjc4Ni4xNzAxNjUsIDQyMDMsIDEuNDM2MDIyMDQzMjI4MTQ5NF0sIFsxNjYzODEyNzg2LjM1NTg2MzYsIDQyMjEsIDEuNDM1NDUxNjI2Nzc3NjQ5XSwgWzE2NjM4MTI3ODYuNTUyOTkyLCA0MjM5LCAxLjQyMjYzNzM0MzQwNjY3NzJdLCBbMTY2MzgxMjc4Ni42NDgzNDUyLCA0MjQ4LCAxLjQ1MTY4MDg5ODY2NjM4MThdLCBbMTY2MzgxMjc4Ni44MzU3NDAzLCA0MjY2LCAxLjQzMjUwNzk5MTc5MDc3MTVdLCBbMTY2MzgxMjc4Ni45MjcxMDMzLCA0Mjc1LCAxLjQwNjIzMzE5MTQ5MDE3MzNdLCBbMTY2MzgxMjc4Ny4wMTU2NDM2LCA0Mjg0LCAxLjQzMDMxNjQ0ODIxMTY3XSwgWzE2NjM4MTI3ODcuMjkwNDgwNiwgNDMxMSwgMS40MjU5MDA1Nzg0OTg4NDAzXSwgWzE2NjM4MTI3ODcuNDA3MTc4LCA0MzIwLCAxLjM4MDE4NjkxNTM5NzY0NF0sIFsxNjYzODEyNzg3LjQ5NjI2MzMsIDQzMjksIDEuMzY4Nzk2NzA2MTk5NjQ2XSwgWzE2NjM4MTI3ODcuNjAwNzU4MywgNDMzOCwgMS4zNzk0ODcyNzYwNzcyNzA1XSwgWzE2NjM4MTI3ODcuNjkxNDI4NCwgNDM0NywgMS4zNzkxMDIyMzAwNzIwMjE1XSwgWzE2NjM4MTI3ODcuNzc5NzI1LCA0MzU2LCAxLjQwMTE4MTQ1OTQyNjg3OTldLCBbMTY2MzgxMjc4Ny44Nzk0NjU4LCA0MzY1LCAxLjQ2NzcxOTMxNjQ4MjU0NF0sIFsxNjYzODEyNzg4LjA2MDMxODUsIDQzODMsIDEuMzk0Nzk1Mjk4NTc2MzU1XSwgWzE2NjM4MTI3ODguMTU0MzQyLCA0MzkyLCAxLjQyMDI4ODY4MTk4Mzk0NzhdLCBbMTY2MzgxMjc4OC4yNDYzMzYyLCA0NDAxLCAxLjQ5ODE1MDIyOTQ1NDA0MDVdLCBbMTY2MzgxMjc4OC4zMzc0ODU4LCA0NDEwLCAxLjQ0NjYxMzY2OTM5NTQ0NjhdLCBbMTY2MzgxMjc4OC40Mjg1OTksIDQ0MTksIDEuNDU2MjA5NTQwMzY3MTI2NV0sIFsxNjYzODEyNzg4LjUxOTc4NjgsIDQ0MjgsIDEuNDk1MzUzMzQxMTAyNl0sIFsxNjYzODEyNzg4LjgxNjc2NjUsIDQ0NTUsIDEuMzk3NTE2MTMxNDAxMDYyXSwgWzE2NjM4MTI3ODguOTAzMjAzNywgNDQ2NCwgMS40MDI3NTk3OTA0MjA1MzIyXSwgWzE2NjM4MTI3ODkuMDg4Mjc5LCA0NDgyLCAxLjQzMDUwMjI5NTQ5NDA3OTZdLCBbMTY2MzgxMjc4OS4xNzY1MTcsIDQ0OTEsIDEuMzc5MTg0MzY1MjcyNTIyXSwgWzE2NjM4MTI3ODkuMjY3MDk5OSwgNDUwMCwgMS4zNjA5ODYxMTM1NDgyNzg4XSwgWzE2NjM4MTI3ODkuNTAzOTI5NiwgNDUxOCwgMS4zOTMyMTM2Mjk3MjI1OTUyXSwgWzE2NjM4MTI3ODkuNTk2MDMwMiwgNDUyNywgMS40MTg5Njk1MTE5ODU3Nzg4XSwgWzE2NjM4MTI3ODkuNzEzNjk5MywgNDUzNiwgMS4zNzMyOTk5NTYzMjE3MTYzXSwgWzE2NjM4MTI3ODkuOTgzMjcyNiwgNDU2MywgMS4zNjAxNjg4MTQ2NTkxMTg3XSwgWzE2NjM4MTI3OTAuMDczNDc2LCA0NTcyLCAxLjQwMDEyMDYxNTk1OTE2NzVdLCBbMTY2MzgxMjc5MC4xNjA2NTIsIDQ1ODEsIDEuNDA5OTc5ODIwMjUxNDY0OF0sIFsxNjYzODEyNzkwLjI1NDIyNTMsIDQ1OTAsIDEuNDE2MzI4MzEwOTY2NDkxN10sIFsxNjYzODEyNzkwLjM0NDczOTcsIDQ1OTksIDEuNDIzMDQ1ODczNjQxOTY3OF0sIFsxNjYzODEyNzkwLjQzMzE2MDMsIDQ2MDgsIDEuNDQyNTk0ODg1ODI2MTEwOF0sIFsxNjYzODEyNzkwLjUyMTYzNjIsIDQ2MTcsIDEuMzc3NjAzODg4NTExNjU3N10sIFsxNjYzODEyNzkwLjYxOTU0NywgNDYyNiwgMS4zNzMwMzExMzkzNzM3NzkzXSwgWzE2NjM4MTI3OTAuNzE1MTI0MSwgNDYzNSwgMS4zNzgwNzcwMzAxODE4ODQ4XSwgWzE2NjM4MTI3OTAuOTE4NzU1LCA0NjUzLCAxLjM2NzUwNDgzNTEyODc4NDJdLCBbMTY2MzgxMjc5MS4wMDg5MSwgNDY2MiwgMS4zNDM3NzQ3OTU1MzIyMjY2XSwgWzE2NjM4MTI3OTEuMTA0MzMzNCwgNDY3MSwgMS4zMjE3NDMwMTE0NzQ2MDk0XSwgWzE2NjM4MTI3OTEuMTkzNjQyOSwgNDY4MCwgMS4zNjgyMjIzNTU4NDI1OTAzXSwgWzE2NjM4MTI3OTEuMjk0MjQ5LCA0Njg5LCAxLjM4MDAzOTQ1MzUwNjQ2OTddLCBbMTY2MzgxMjc5MS4zODQ5MDU4LCA0Njk4LCAxLjM0NTQyNDg5MDUxODE4ODVdLCBbMTY2MzgxMjc5MS41Njc1NTA0LCA0NzE2LCAxLjM4NDEyOTc2MjY0OTUzNjFdLCBbMTY2MzgxMjc5MS44NTYyODA2LCA0NzQzLCAxLjMzNDUyODgwMzgyNTM3ODRdLCBbMTY2MzgxMjc5Mi4yMTMyNzI4LCA0Nzc5LCAxLjM3ODEyNjM4MjgyNzc1ODhdLCBbMTY2MzgxMjc5Mi40MTkyMTk1LCA0Nzk3LCAxLjQwMzYxMjM3NTI1OTM5OTRdLCBbMTY2MzgxMjc5Mi41MTAxMjY4LCA0ODA2LCAxLjM0NjE5NDM4NjQ4MjIzODhdLCBbMTY2MzgxMjc5Mi41OTYyNTY3LCA0ODE1LCAxLjM4Mjk2NjM5OTE5MjgxXSwgWzE2NjM4MTI3OTIuNjg5MTE5OCwgNDgyNCwgMS4zOTQ2NDA4MDMzMzcwOTcyXSwgWzE2NjM4MTI3OTIuNzg1NTA4MiwgNDgzMywgMS4zODI5Mzk2OTYzMTE5NTA3XSwgWzE2NjM4MTI3OTIuODkxOTEyMiwgNDg0MiwgMS4zMjYwNjE0ODcxOTc4NzZdLCBbMTY2MzgxMjc5Mi45Nzc1MDUyLCA0ODUxLCAxLjM1MDUxOTc3NjM0NDI5OTNdLCBbMTY2MzgxMjc5My4wNjM4NDc1LCA0ODYwLCAxLjM1NTk2OTQyOTAxNjExMzNdLCBbMTY2MzgxMjc5My4xNjQ3OTE2LCA0ODY5LCAxLjM2MDQ0MzM1MzY1Mjk1NF0sIFsxNjYzODEyNzkzLjI5MjEwMSwgNDg3OCwgMS4zMzAzNzQ5NTYxMzA5ODE0XSwgWzE2NjM4MTI3OTMuNTUyMTkzOSwgNDg4NywgMS4zMTMyMTM1ODY4MDcyNTFdLCBbMTY2MzgxMjc5My42NDE3NTE1LCA0ODk2LCAxLjM1MTI1MTQ4Mjk2MzU2Ml0sIFsxNjYzODEyNzkzLjczMjM3NiwgNDkwNSwgMS4zMTY1MzM4MDM5Mzk4MTkzXSwgWzE2NjM4MTI3OTMuOTQ2NzM4NSwgNDkyMywgMS4zMjUxMTQxMzA5NzM4MTZdLCBbMTY2MzgxMjc5NC4wNTUwOCwgNDkzMiwgMS4zMjAxMDg4OTA1MzM0NDczXSwgWzE2NjM4MTI3OTQuMzU3NzIzNywgNDk1OSwgMS4zMDY5ODMzNTE3MDc0NTg1XSwgWzE2NjM4MTI3OTQuNTM5MzcsIDQ5NzcsIDEuMzM3NjM3MzA1MjU5NzA0Nl0sIFsxNjYzODEyNzk0LjYyODg1OCwgNDk4NiwgMS4zMjQwMzIxODc0NjE4NTNdLCBbMTY2MzgxMjc5NC43MjI3MzA2LCA0OTk1LCAxLjMwODA3NDM1NTEyNTQyNzJdLCBbMTY2MzgxMjc5NC44MTY4OTc2LCA1MDA0LCAxLjMxOTYyMzQ3MDMwNjM5NjVdLCBbMTY2MzgxMjc5NC45MDc4MjksIDUwMTMsIDEuMzMxNTUxOTA5NDQ2NzE2M10sIFsxNjYzODEyNzk1LjA5NzcyNjgsIDUwMzEsIDEuMjk0OTAzNzU1MTg3OTg4M10sIFsxNjYzODEyNzk1LjQ4MTA4MzksIDUwNjcsIDEuMjkxMDU4ODk3OTcyMTA3XSwgWzE2NjM4MTI3OTUuNTcwMjM4LCA1MDc2LCAxLjM3NjQ3NDczODEyMTAzMjddLCBbMTY2MzgxMjc5NS42NjM3MjI4LCA1MDg1LCAxLjMyMDE3NTg4NjE1NDE3NDhdLCBbMTY2MzgxMjc5NS44NDQyNDA3LCA1MTAzLCAxLjI5ODM4MDYxMzMyNzAyNjRdLCBbMTY2MzgxMjc5NS45MzMyNjc0LCA1MTEyLCAxLjMzODgxODU1MDEwOTg2MzNdLCBbMTY2MzgxMjc5Ni4wNDU5MiwgNTEyMSwgMS4yNTYwNTQ5OTc0NDQxNTI4XSwgWzE2NjM4MTI3OTYuMTM2ODgwOSwgNTEzMCwgMS4zMzA3MDExMTI3NDcxOTI0XSwgWzE2NjM4MTI3OTYuMzMzNzM0NSwgNTE0OCwgMS4zNTI3Mjk0Mzk3MzU0MTI2XSwgWzE2NjM4MTI3OTYuNTIyOTA4LCA1MTY2LCAxLjM1MTkzNTM4NjY1NzcxNDhdLCBbMTY2MzgxMjc5Ni44MDY0NzA0LCA1MTkzLCAxLjI5MDUwNjAwNTI4NzE3MDRdLCBbMTY2MzgxMjc5Ny4xODM1NzEsIDUyMjksIDEuMjk0ODM3MTE3MTk1MTI5NF0sIFsxNjYzODEyNzk3LjU1NTg0OTMsIDUyNjUsIDEuMzAzNjQyNzQ5Nzg2Mzc3XSwgWzE2NjM4MTI3OTcuNjQ4OTAzLCA1Mjc0LCAxLjI3MDMzMDQyOTA3NzE0ODRdLCBbMTY2MzgxMjc5Ny43NDU5NDE0LCA1MjgzLCAxLjMwNTEzNzUxNTA2ODA1NDJdLCBbMTY2MzgxMjc5Ny45MzA5ODQzLCA1MzAxLCAxLjI4ODg4NDg3ODE1ODU2OTNdLCBbMTY2MzgxMjc5OC4wMjM3Nzk0LCA1MzEwLCAxLjMxMTQ5MjY4MTUwMzI5Nl0sIFsxNjYzODEyNzk4LjEyOTc0MjYsIDUzMTksIDEuMjkwNjc5MDk3MTc1NTk4MV0sIFsxNjYzODEyNzk4LjIyMDU0MSwgNTMyOCwgMS4yODA1MjU1NjUxNDc0XSwgWzE2NjM4MTI3OTguMzExMjM3OCwgNTMzNywgMS4yOTg2MjU1ODg0MTcwNTMyXSwgWzE2NjM4MTI3OTguNTA1MzQ1NiwgNTM1NSwgMS4zMDUwODE2MDU5MTEyNTQ5XSwgWzE2NjM4MTI3OTguNTk3Njc2NSwgNTM2NCwgMS4zMDQxNTExNzc0MDYzMTFdLCBbMTY2MzgxMjc5OC42OTE4NjM4LCA1MzczLCAxLjI5Nzk0NjkyOTkzMTY0MDZdLCBbMTY2MzgxMjc5OC43ODA0ODY2LCA1MzgyLCAxLjI5MDk1MTI1MTk4MzY0MjZdLCBbMTY2MzgxMjc5OC44Njg2OTQ4LCA1MzkxLCAxLjI1NzQyOTgzODE4MDU0Ml0sIFsxNjYzODEyNzk4Ljk2MTc2MywgNTQwMCwgMS4zMDc2MjQ4MTY4OTQ1MzEyXSwgWzE2NjM4MTI3OTkuMTU1MDUyNywgNTQxOCwgMS4zMDkxNDc4MzQ3Nzc4MzJdLCBbMTY2MzgxMjc5OS4yNTE5MDQ3LCA1NDI3LCAxLjI4MjkzNDc4NDg4OTIyMTJdLCBbMTY2MzgxMjc5OS4zNDc2MzksIDU0MzYsIDEuMjgwNDg0MzE4NzMzMjE1M10sIFsxNjYzODEyNzk5LjU2MTg1MzYsIDU0NTQsIDEuMjUxMzgwMjA1MTU0NDE5XSwgWzE2NjM4MTI3OTkuNzQ5MTQ1MywgNTQ3MiwgMS4yOTU3NjUwNDIzMDQ5OTI3XSwgWzE2NjM4MTI3OTkuODM4OTU4NywgNTQ4MSwgMS4zMzM3ODQ5Mzc4NTg1ODE1XSwgWzE2NjM4MTI3OTkuOTI5MjY3NiwgNTQ5MCwgMS4yOTc5OTk4NTg4NTYyMDEyXSwgWzE2NjM4MTI4MDAuMDE4NDU0OCwgNTQ5OSwgMS4zMjU2ODIxNjMyMzg1MjU0XSwgWzE2NjM4MTI4MDAuMzAzMjUyNSwgNTUyNiwgMS4yODU4NzA0MzI4NTM2OTg3XSwgWzE2NjM4MTI4MDAuMzkwODU1MywgNTUzNSwgMS4yODc5MzkzMTAwNzM4NTI1XSwgWzE2NjM4MTI4MDAuNTY3ODg5NywgNTU1MywgMS4yOTUyNTAwNTgxNzQxMzMzXSwgWzE2NjM4MTI4MDAuNjU2NjQ0NiwgNTU2MiwgMS4zMzg0NDg3NjI4OTM2NzY4XSwgWzE2NjM4MTI4MDAuNzQ1NDYxNywgNTU3MSwgMS4yNjA0NzE5NDAwNDA1ODg0XSwgWzE2NjM4MTI4MDAuOTMwOTEsIDU1ODksIDEuMjQ1NzI5Njg0ODI5NzEyXSwgWzE2NjM4MTI4MDEuMTMxMzI3MiwgNTYwNywgMS4yNDM2NTE1MDkyODQ5NzMxXSwgWzE2NjM4MTI4MDEuMjIxOTA4OCwgNTYxNiwgMS4yNjk4MzExODA1NzI1MDk4XSwgWzE2NjM4MTI4MDEuNDIwMjI1OSwgNTYzNCwgMS4zMDYzOTgxNTMzMDUwNTM3XSwgWzE2NjM4MTI4MDEuNTEwMDgxOCwgNTY0MywgMS4yNjY1NTY5NzgyMjU3MDhdLCBbMTY2MzgxMjgwMS42MDE1MzMsIDU2NTIsIDEuMjg4OTQ4NDE2NzA5OV0sIFsxNjYzODEyODAxLjY5OTcsIDU2NjEsIDEuMzUyODY1ODE1MTYyNjU4N10sIFsxNjYzODEyODAxLjc5MDMyMiwgNTY3MCwgMS4yOTEyMTMwMzU1ODM0OTZdLCBbMTY2MzgxMjgwMi4yMTYzMTU1LCA1Njk3LCAxLjI3NzkyMjk4NzkzNzkyNzJdLCBbMTY2MzgxMjgwMi4zMDQ4ODQsIDU3MDYsIDEuMjk2MzkzMTU2MDUxNjM1N10sIFsxNjYzODEyODAyLjQwODgwNSwgNTcxNSwgMS4yODI2NzAxNDAyNjY0MTg1XSwgWzE2NjM4MTI4MDIuNDk3NTMyMSwgNTcyNCwgMS4zNDE0MzE3MzY5NDYxMDZdLCBbMTY2MzgxMjgwMi42ODAxNTA3LCA1NzQyLCAxLjI0Mzk4NzMyMTg1MzYzNzddLCBbMTY2MzgxMjgwMi45NDQzMTQsIDU3NjksIDEuMjM3NjI2MzE0MTYzMjA4XSwgWzE2NjM4MTI4MDMuMDM1NzU3LCA1Nzc4LCAxLjI4MDMwMzgzNTg2ODgzNTRdLCBbMTY2MzgxMjgwMy4xMjIyMzY1LCA1Nzg3LCAxLjMxOTU1MTk0NDczMjY2Nl0sIFsxNjYzODEyODAzLjIyMzMyNTUsIDU3OTYsIDEuMjk4NDIyNjk0MjA2MjM3OF0sIFsxNjYzODEyODAzLjMxNDY3MTgsIDU4MDUsIDEuMjU3NTIyOTQwNjM1NjgxMl0sIFsxNjYzODEyODAzLjQwNDI2MDYsIDU4MTQsIDEuMjQ1NzgzODA1ODQ3MTY4XSwgWzE2NjM4MTI4MDMuNjg5MjI3LCA1ODQxLCAxLjI1MzU1MDI5MTA2MTQwMTRdLCBbMTY2MzgxMjgwMy43ODE4MzM0LCA1ODUwLCAxLjI3MTg3MTMyODM1Mzg4MThdLCBbMTY2MzgxMjgwMy45NjU1MTEsIDU4NjgsIDEuMjI4MjY2ODM1MjEyNzA3NV0sIFsxNjYzODEyODA0LjA1NzE3MywgNTg3NywgMS4yNTkyNzUzMTcxOTIwNzc2XSwgWzE2NjM4MTI4MDQuMTUxNDc5LCA1ODg2LCAxLjIyNzk4ODgzOTE0OTQ3NV0sIFsxNjYzODEyODA0LjI0NDc2MzEsIDU4OTUsIDEuMjY1NjQ0MzExOTA0OTA3Ml0sIFsxNjYzODEyODA0LjMzNTE3ODksIDU5MDQsIDEuMjg4MjY0NjMyMjI1MDM2Nl0sIFsxNjYzODEyODA0LjYzODgzMTksIDU5MzEsIDEuMjY3MjAzMjExNzg0MzYyOF0sIFsxNjYzODEyODA0LjczNjAxMjIsIDU5NDAsIDEuMjgwMzg2MjA5NDg3OTE1XSwgWzE2NjM4MTI4MDQuODM4NDYwNywgNTk0OSwgMS4zMDQzOTYxNTI0OTYzMzhdLCBbMTY2MzgxMjgwNC45MjkyMTYxLCA1OTU4LCAxLjI0MDgxMzczMjE0NzIxNjhdLCBbMTY2MzgxMjgwNS40NjA3MDUzLCA2MDEyLCAxLjIzNjQzNTE3NDk0MjAxNjZdLCBbMTY2MzgxMjgwNS42NDkyMjc0LCA2MDMwLCAxLjIwODEwNDcyOTY1MjQwNDhdLCBbMTY2MzgxMjgwNS43NDY4MTIsIDYwMzksIDEuMjI1ODY3NzQ4MjYwNDk4XSwgWzE2NjM4MTI4MDYuMDExNDk2NSwgNjA2NiwgMS4yNTU2NTgyNjg5Mjg1Mjc4XSwgWzE2NjM4MTI4MDYuMTk2MzQzNywgNjA4NCwgMS4yODE3MDY2OTA3ODgyNjldLCBbMTY2MzgxMjgwNi4zMjg4MDY5LCA2MDkzLCAxLjIxMTc3OTk1MjA0OTI1NTRdLCBbMTY2MzgxMjgwNi40MjI4NDA2LCA2MTAyLCAxLjI4Mjk4MTUxNDkzMDcyNV0sIFsxNjYzODEyODA2LjUxODU2MDQsIDYxMTEsIDEuMjU2NjA1ODYzNTcxMTY3XSwgWzE2NjM4MTI4MDYuNjEzNDEyMSwgNjEyMCwgMS4yNjEwMDc5MDUwMDY0MDg3XSwgWzE2NjM4MTI4MDYuNzE5NTcsIDYxMjksIDEuMjE3NDc1NDE0Mjc2MTIzXSwgWzE2NjM4MTI4MDYuOTA0MTEzMywgNjE0NywgMS4yNjM4NjM5MjExNjU0NjYzXSwgWzE2NjM4MTI4MDYuOTk4MjQ5OCwgNjE1NiwgMS4yMTQ2MTA2OTU4Mzg5MjgyXSwgWzE2NjM4MTI4MDcuMDkxMTcxLCA2MTY1LCAxLjIzNTE1MDgxNDA1NjM5NjVdLCBbMTY2MzgxMjgwNy4xODI5Njg2LCA2MTc0LCAxLjIyOTk4ODQ1NTc3MjRdLCBbMTY2MzgxMjgwNy4zNjE5NjM1LCA2MTkyLCAxLjI1MDQ3NTA0OTAxODg1OTldLCBbMTY2MzgxMjgwNy40NDk4MTIyLCA2MjAxLCAxLjIzOTA2MTIzNjM4MTUzMDhdLCBbMTY2MzgxMjgwNy41Mzg1MTUsIDYyMTAsIDEuMjMzMTg0MDk5MTk3Mzg3N10sIFsxNjYzODEyODA3LjYzMTYzOSwgNjIxOSwgMS4yNDc0MDI3ODcyMDg1NTcxXSwgWzE2NjM4MTI4MDcuODIxNjc4NCwgNjIzNywgMS4yMDM0NDMwNTAzODQ1MjE1XSwgWzE2NjM4MTI4MDcuOTEwMDU4MywgNjI0NiwgMS4yMTExOTg5MjU5NzE5ODQ5XSwgWzE2NjM4MTI4MDcuOTk1MTY2MywgNjI1NSwgMS4yMTM4ODY3Mzc4MjM0ODYzXSwgWzE2NjM4MTI4MDguMDg1NTUzNiwgNjI2NCwgMS4yMzI2NDMxMjc0NDE0MDYyXSwgWzE2NjM4MTI4MDguMTc3NjU0MywgNjI3MywgMS4yMDc4OTc5MDE1MzUwMzQyXSwgWzE2NjM4MTI4MDguMjczNDY5LCA2MjgyLCAxLjIyNjQzNTA2NTI2OTQ3MDJdLCBbMTY2MzgxMjgwOC40NTg4NTQyLCA2MzAwLCAxLjE4ODM5OTU1MzI5ODk1MDJdLCBbMTY2MzgxMjgwOC43NDM1OTkyLCA2MzI3LCAxLjIwNjQ4OTMyNDU2OTcwMjFdLCBbMTY2MzgxMjgwOC44NDE4NzA4LCA2MzM2LCAxLjMwMzY4MTg1MDQzMzM0OTZdLCBbMTY2MzgxMjgwOS4wMjUwNDY2LCA2MzU0LCAxLjI3MjA2NTE2MjY1ODY5MTRdLCBbMTY2MzgxMjgwOS40MTc2MjM4LCA2MzkwLCAxLjIzMDg4MTU3MTc2OTcxNDRdLCBbMTY2MzgxMjgwOS41MDU5NDgsIDYzOTksIDEuMjI3NjI2NTYyMTE4NTMwM10sIFsxNjYzODEyODA5LjY5MjcxMzUsIDY0MTcsIDEuMTk5ODUxMjc0NDkwMzU2NF0sIFsxNjYzODEyODA5Ljc4NjAwMywgNjQyNiwgMS4yNDY1MjEyMzQ1MTIzMjldLCBbMTY2MzgxMjgwOS45ODY5NzE2LCA2NDQ0LCAxLjE5NzIxMTAyNzE0NTM4NTddLCBbMTY2MzgxMjgxMC4xNzIxOTksIDY0NjIsIDEuMjg3MTA1MzIxODg0MTU1M10sIFsxNjYzODEyODEwLjM2MDMwMzksIDY0ODAsIDEuMjExMjEzNTg4NzE0NTk5Nl0sIFsxNjYzODEyODEwLjYxOTQzNSwgNjQ4OSwgMS4yMDg4MTE0MDIzMjA4NjE4XSwgWzE2NjM4MTI4MTAuNzA0OTI0LCA2NDk4LCAxLjE5NDk5NTQwMzI4OTc5NV0sIFsxNjYzODEyODEwLjg4NjMyMiwgNjUxNiwgMS4yMDY4MjQzMDI2NzMzMzk4XSwgWzE2NjM4MTI4MTAuOTgzNDI5NCwgNjUyNSwgMS4yNDUyMjYyNjM5OTk5MzldLCBbMTY2MzgxMjgxMS4wNzY0MTAzLCA2NTM0LCAxLjE5ODI3Mjk0MzQ5NjcwNF0sIFsxNjYzODEyODExLjE2NjA2MDQsIDY1NDMsIDEuMTk2MDQ5MzMyNjE4NzEzNF0sIFsxNjYzODEyODExLjI1NzYwNzcsIDY1NTIsIDEuMjIwMjg1NDE1NjQ5NDE0XSwgWzE2NjM4MTI4MTEuMzQ4MTkxLCA2NTYxLCAxLjE3Mzk5NDE4MzU0MDM0NDJdLCBbMTY2MzgxMjgxMS40Mzg5NTMsIDY1NzAsIDEuMjAzMzUwMTg2MzQ3OTYxNF0sIFsxNjYzODEyODExLjUyOTg4NCwgNjU3OSwgMS4yMTQxMDUxMjkyNDE5NDM0XSwgWzE2NjM4MTI4MTEuNjIxODYwMywgNjU4OCwgMS4yMDgzODk3NTkwNjM3MjA3XSwgWzE2NjM4MTI4MTEuNzIyOTA5MiwgNjU5NywgMS4yNDE3OTc1NjY0MTM4Nzk0XSwgWzE2NjM4MTI4MTEuODE3MDA0LCA2NjA2LCAxLjIyNDgzNTAzODE4NTExOTZdLCBbMTY2MzgxMjgxMi4wMDM4NywgNjYyNCwgMS4xODc3OTY1OTI3MTI0MDIzXSwgWzE2NjM4MTI4MTIuMjc2NTAyMSwgNjY1MSwgMS4yODc5MDE2Mzk5MzgzNTQ1XSwgWzE2NjM4MTI4MTIuMzY0Nzg2MSwgNjY2MCwgMS4yMTUwMjg0MDUxODk1MTQyXSwgWzE2NjM4MTI4MTIuNDUyNDAzNSwgNjY2OSwgMS4xOTIxMzk3NDQ3NTg2MDZdLCBbMTY2MzgxMjgxMi42NDAwNzU3LCA2Njg3LCAxLjIyMTU0NDc0MjU4NDIyODVdLCBbMTY2MzgxMjgxMi43MzE4MzA0LCA2Njk2LCAxLjIxNjY3NTg3NzU3MTEwNl0sIFsxNjYzODEyODEyLjgyNTAwODIsIDY3MDUsIDEuMjI2OTE4NTc4MTQ3ODg4Ml0sIFsxNjYzODEyODEyLjkxNTAzMzgsIDY3MTQsIDEuMjc1NDQwOTMxMzIwMTkwNF0sIFsxNjYzODEyODEzLjAwNzU3NDYsIDY3MjMsIDEuMjYwNzc0Mzc0MDA4MTc4N10sIFsxNjYzODEyODEzLjQ0NTU0NzYsIDY3NjgsIDEuMjA4NjkyNTUwNjU5MTc5N10sIFsxNjYzODEyODEzLjUzOTA0NTgsIDY3NzcsIDEuMjA1MDY2OTE5MzI2NzgyMl0sIFsxNjYzODEyODEzLjgxODMyOCwgNjgwNCwgMS4yMzAzNzY4Mzk2Mzc3NTYzXSwgWzE2NjM4MTI4MTMuOTA4MzAyMywgNjgxMywgMS4yNDE4NDg3MDcxOTkwOTY3XSwgWzE2NjM4MTI4MTQuMTI0MjAyLCA2ODMxLCAxLjE4ODQ4MzM1NzQyOTUwNDRdLCBbMTY2MzgxMjgxNC4yMTYwNCwgNjg0MCwgMS4xOTg3MDEzODE2ODMzNDk2XSwgWzE2NjM4MTI4MTQuNTgzNjgwOSwgNjg3NiwgMS4yMDU2NzY0MzY0MjQyNTU0XSwgWzE2NjM4MTI4MTQuNjc1MTI5NywgNjg4NSwgMS4xNzA1Mzk2MTc1Mzg0NTIxXSwgWzE2NjM4MTI4MTQuNzY5MjE4NCwgNjg5NCwgMS4yMDY1MzI1OTc1NDE4MDldLCBbMTY2MzgxMjgxNC45NDY2NjA1LCA2OTEyLCAxLjIyMTQ0MTE0OTcxMTYwODldLCBbMTY2MzgxMjgxNS4wNDg0OTEyLCA2OTIxLCAxLjIwMjYxOTQzMzQwMzAxNTFdLCBbMTY2MzgxMjgxNS4xNTI3NDUyLCA2OTMwLCAxLjE3Njk2NTIzNjY2MzgxODRdLCBbMTY2MzgxMjgxNS4yNDYwNTE4LCA2OTM5LCAxLjE5Nzk4NDMzNzgwNjcwMTddLCBbMTY2MzgxMjgxNS4zMzYyNTIyLCA2OTQ4LCAxLjE3OTU2NTA3MjA1OTYzMTNdLCBbMTY2MzgxMjgxNS40MzEyMTE3LCA2OTU3LCAxLjE3OTYwNzUxMDU2NjcxMTRdLCBbMTY2MzgxMjgxNS41MTk3ODk1LCA2OTY2LCAxLjI1MDEwMTMyNzg5NjExODJdLCBbMTY2MzgxMjgxNS43MDgxNDM1LCA2OTg0LCAxLjM5ODA3NTgxOTAxNTUwM10sIFsxNjYzODEyODE1Ljc5Nzk5MjIsIDY5OTMsIDEuMjU5NTcwMjQwOTc0NDI2M10sIFsxNjYzODEyODE1Ljg4Njg1NSwgNzAwMiwgMS4xODI0MzAyNjczMzM5ODQ0XSwgWzE2NjM4MTI4MTUuOTc4MTg5NywgNzAxMSwgMS4xODk2MzExMDQ0NjkyOTkzXSwgWzE2NjM4MTI4MTYuMDY4MzEzNCwgNzAyMCwgMS4yMTQ0OTIyMDE4MDUxMTQ3XSwgWzE2NjM4MTI4MTYuMTY4MDQ2MiwgNzAyOSwgMS4xNjQ4OTY0ODgxODk2OTczXSwgWzE2NjM4MTI4MTYuMjY2OTczMywgNzAzOCwgMS4xNzE3MzI3ODMzMTc1NjZdLCBbMTY2MzgxMjgxNi4zNTY3NTcyLCA3MDQ3LCAxLjE2NzEyNjg5Mzk5NzE5MjRdLCBbMTY2MzgxMjgxNi40NDU0NTksIDcwNTYsIDEuMjA1MzA5MTUyNjAzMTQ5NF0sIFsxNjYzODEyODE2LjcyNDc2MzIsIDcwODMsIDEuMTc0ODQzNDMwNTE5MTA0XSwgWzE2NjM4MTI4MTYuOTA3MTA3LCA3MTAxLCAxLjE2MDk3NzI0NDM3NzEzNjJdLCBbMTY2MzgxMjgxNi45OTkyMjgyLCA3MTEwLCAxLjIxMDkyMjk1NjQ2NjY3NDhdLCBbMTY2MzgxMjgxNy4xODYxMzc0LCA3MTI4LCAxLjIzNTAyMTk0ODgxNDM5Ml0sIFsxNjYzODEyODE3LjM4NDU5MTYsIDcxNDYsIDEuMjUzOTU5NDE3MzQzMTM5Nl0sIFsxNjYzODEyODE3LjQ4MjUzNTQsIDcxNTUsIDEuMTU4MzIxNzM4MjQzMTAzXSwgWzE2NjM4MTI4MTcuNTc2NTA2NCwgNzE2NCwgMS4xNzA5OTY0Mjc1MzYwMTA3XSwgWzE2NjM4MTI4MTcuNjY5MDIsIDcxNzMsIDEuMTYxMDM3NjgzNDg2OTM4NV0sIFsxNjYzODEyODE3Ljc5MDU0MjgsIDcxODIsIDEuMTgyOTA1NzkzMTkwMDAyNF0sIFsxNjYzODEyODE3Ljk3NDU1NTcsIDcyMDAsIDEuMjIxMjg1OTM5MjE2NjEzOF0sIFsxNjYzODEyODE4LjA2OTY3NTcsIDcyMDksIDEuMjEzMjI5MDYwMTczMDM0N10sIFsxNjYzODEyODE4LjQ0MDYyMTEsIDcyNDUsIDEuMTgxNTEwNTY3NjY1MV0sIFsxNjYzODEyODE4LjUzMjE3MywgNzI1NCwgMS4xNzM3NTc3OTE1MTkxNjVdLCBbMTY2MzgxMjgxOC42MjQ4MjYsIDcyNjMsIDEuMjAwODc0MjA5NDAzOTkxN10sIFsxNjYzODEyODE4LjcxODU0NTIsIDcyNzIsIDEuMTYzMjQ2NzUwODMxNjA0XSwgWzE2NjM4MTI4MTguODIwMDQ4MywgNzI4MSwgMS4xODI2MzYzODAxOTU2MTc3XSwgWzE2NjM4MTI4MTkuMjc3NjUsIDcyOTksIDEuMjI3OTQ1Njg1Mzg2NjU3N10sIFsxNjYzODEyODE5LjM4Mzk4MywgNzMwOCwgMS4xODUzNjE2MjM3NjQwMzhdLCBbMTY2MzgxMjgxOS41NjY0Mzk0LCA3MzI2LCAxLjEzODYyMzk1Mjg2NTYwMDZdLCBbMTY2MzgxMjgxOS42NjA2MjM2LCA3MzM1LCAxLjIxMTgxMDU4ODgzNjY3XSwgWzE2NjM4MTI4MTkuOTM3NDI3OCwgNzM2MiwgMS4xOTM2NzY3MTAxMjg3ODQyXSwgWzE2NjM4MTI4MjAuMDI3ODg3OCwgNzM3MSwgMS4yMjU5MjM3NzY2MjY1ODddLCBbMTY2MzgxMjgyMC4xMTU4MzA0LCA3MzgwLCAxLjE4MDU1MTg4NjU1ODUzMjddLCBbMTY2MzgxMjgyMC4yMDIyNzUzLCA3Mzg5LCAxLjE3MTU5NDM4MTMzMjM5NzVdLCBbMTY2MzgxMjgyMC4yOTExOTI4LCA3Mzk4LCAxLjIzMDU0MzYxMzQzMzgzOF0sIFsxNjYzODEyODIwLjM4NjExNDYsIDc0MDcsIDEuMjMzMzQyNDA5MTMzOTExMV0sIFsxNjYzODEyODIwLjQ5MTExNzUsIDc0MTYsIDEuMjI4MjIyMDEyNTE5ODM2NF0sIFsxNjYzODEyODIwLjU5ODc4NDIsIDc0MjUsIDEuMTg1NjU5NjQ2OTg3OTE1XSwgWzE2NjM4MTI4MjAuNjk1OTkwNiwgNzQzNCwgMS4xNjQ2NzMwODk5ODEwNzldLCBbMTY2MzgxMjgyMC43ODc3NTc2LCA3NDQzLCAxLjE1NzcwMjMyNjc3NDU5NzJdLCBbMTY2MzgxMjgyMC44Nzk4NjY0LCA3NDUyLCAxLjE4MDk2ODUyMzAyNTUxMjddLCBbMTY2MzgxMjgyMC45NjkxNjc1LCA3NDYxLCAxLjE4NjU3NTA1NTEyMjM3NTVdLCBbMTY2MzgxMjgyMS4xNDg5NCwgNzQ3OSwgMS4xNjM5MTk4MDY0ODA0MDc3XSwgWzE2NjM4MTI4MjEuMzM5MDIyOSwgNzQ5NywgMS4xNDI4ODI1ODU1MjU1MTI3XSwgWzE2NjM4MTI4MjEuNDMwNTA4NiwgNzUwNiwgMS4xOTc1NzY1MjI4MjcxNDg0XSwgWzE2NjM4MTI4MjEuNjE5MDMsIDc1MjQsIDEuMTc5NTM1NjI3MzY1MTEyM10sIFsxNjYzODEyODIxLjcxMjUyLCA3NTMzLCAxLjE0OTA5MTcyMDU4MTA1NDddLCBbMTY2MzgxMjgyMS44Mzk5NDEzLCA3NTQyLCAxLjEzNzI5MjUwNDMxMDYwOF0sIFsxNjYzODEyODIyLjA1MDk5MTgsIDc1NjAsIDEuMjI1ODE1NzczMDEwMjU0XSwgWzE2NjM4MTI4MjIuMTYzNTcxNiwgNzU2OSwgMS4xOTcyMTg2NTY1Mzk5MTddLCBbMTY2MzgxMjgyMi4zNTA2MTIyLCA3NTg3LCAxLjEzOTkxNjc3NzYxMDc3ODhdLCBbMTY2MzgxMjgyMi40NDQ1NjMsIDc1OTYsIDEuMTY0Mzc3NDUwOTQyOTkzMl0sIFsxNjYzODEyODIyLjYzNTAxMDIsIDc2MTQsIDEuMTY5NTEwMjQ1MzIzMTgxMl0sIFsxNjYzODEyODIyLjg4NjM1NzgsIDc2MzIsIDEuMTk3MDAyODg3NzI1ODNdLCBbMTY2MzgxMjgyMy4xOTA0MzcsIDc2NTksIDEuMTkxMTIzOTYyNDAyMzQzOF0sIFsxNjYzODEyODIzLjI4NTA1OCwgNzY2OCwgMS4xOTA5MTI0ODUxMjI2ODA3XSwgWzE2NjM4MTI4MjMuNTgzMDE4OCwgNzY5NSwgMS4xNjcyOTg5MTMwMDIwMTQyXSwgWzE2NjM4MTI4MjMuNzg5ODUyNCwgNzcxMywgMS4xODYzMTA3NjgxMjc0NDE0XSwgWzE2NjM4MTI4MjMuODkzMzQwOCwgNzcyMiwgMS4yMDE4MzAyNjc5MDYxODldLCBbMTY2MzgxMjgyNC4wMjI2NzUzLCA3NzMxLCAxLjE5NjY4NTU1MjU5NzA0Nl0sIFsxNjYzODEyODI0LjIxMDg4MywgNzc0OSwgMS4xNzY1OTE3NTM5NTk2NTU4XSwgWzE2NjM4MTI4MjQuMzAyMjgwMiwgNzc1OCwgMS4yMjg1MTg2MDUyMzIyMzg4XSwgWzE2NjM4MTI4MjQuMzkxODM4MywgNzc2NywgMS4yODgxMjMxMzA3OTgzMzk4XSwgWzE2NjM4MTI4MjQuNjkyNzI4LCA3Nzk0LCAxLjI3MDk3NTExMjkxNTAzOV0sIFsxNjYzODEyODI0Ljc5MTk3MDcsIDc4MDMsIDEuMjI4ODY5MTk5NzUyODA3Nl0sIFsxNjYzODEyODI0Ljk3MzkwNjgsIDc4MjEsIDEuMTQxMTE0MTE1NzE1MDI2OV0sIFsxNjYzODEyODI1LjE1OTA2NTIsIDc4MzksIDEuMTQ4NzI5MDg1OTIyMjQxMl0sIFsxNjYzODEyODI1LjI1Njg3MjQsIDc4NDgsIDEuMjAzMTk2NzYzOTkyMzA5Nl0sIFsxNjYzODEyODI1LjUyOTYwNywgNzg3NSwgMS4xNjgzODQzMTM1ODMzNzRdLCBbMTY2MzgxMjgyNS43MjI2OTc1LCA3ODkzLCAxLjMwNjY5OTM5NTE3OTc0ODVdLCBbMTY2MzgxMjgyNS44MjQ3OTEsIDc5MDIsIDEuMjQ4NDMyNjM2MjYwOTg2M10sIFsxNjYzODEyODI1LjkxODc4NSwgNzkxMSwgMS4xOTg3OTYyNzIyNzc4MzJdLCBbMTY2MzgxMjgyNi4xNDM3MjU2LCA3OTI5LCAxLjE0NTYzNzk4OTA0NDE4OTVdLCBbMTY2MzgxMjgyNi4yMzY5NjgzLCA3OTM4LCAxLjEzMDUyNzg1Mzk2NTc1OTNdLCBbMTY2MzgxMjgyNi4zMjg3NDcsIDc5NDcsIDEuMjEwMzA0MTQxMDQ0NjE2N10sIFsxNjYzODEyODI2LjQxOTQzODgsIDc5NTYsIDEuMjQ2OTYyNzg1NzIwODI1Ml0sIFsxNjYzODEyODI2LjUxMTk2OSwgNzk2NSwgMS4yNjEzNjAwNDkyNDc3NDE3XSwgWzE2NjM4MTI4MjYuNjA4MTQ1NywgNzk3NCwgMS4xOTg3NDM1ODE3NzE4NTA2XSwgWzE2NjM4MTI4MjYuNjk5NjM1NywgNzk4MywgMS4yMDI4Mjg4ODQxMjQ3NTU5XSwgWzE2NjM4MTI4MjYuNzk3NTc1NSwgNzk5MiwgMS4xODExMzE3MjA1NDI5MDc3XSwgWzE2NjM4MTI4MjYuODk3NzIyNywgODAwMSwgMS4xNzY4NTIxMDcwNDgwMzQ3XSwgWzE2NjM4MTI4MjYuOTg4NTM1NiwgODAxMCwgMS4yMTI2NjE3NDMxNjQwNjI1XSwgWzE2NjM4MTI4MjcuMDc5NTMxNywgODAxOSwgMS4xNTI0NzAxMTE4NDY5MjM4XSwgWzE2NjM4MTI4MjcuMjU5MzU0LCA4MDM3LCAxLjIyMjE1NjA0NzgyMTA0NV0sIFsxNjYzODEyODI3LjM0ODYzMDIsIDgwNDYsIDEuMjA1OTQwMDA4MTYzNDUyMV0sIFsxNjYzODEyODI3LjUyNjg3NzIsIDgwNjQsIDEuMTU0NTU5MTM1NDM3MDExN10sIFsxNjYzODEyODI3Ljg3NTUyNiwgODA4MiwgMS4xNDQ0NzQ4NjQwMDYwNDI1XSwgWzE2NjM4MTI4MjcuOTYzNDEzNywgODA5MSwgMS4yMzgxMDM4NjY1NzcxNDg0XSwgWzE2NjM4MTI4MjguMjMwNjM1MiwgODExOCwgMS4xNTIzNDM4NjkyMDkyODk2XSwgWzE2NjM4MTI4MjguMzE5NzEyNCwgODEyNywgMS4xNzkzOTM4ODc1MTk4MzY0XSwgWzE2NjM4MTI4MjguNTAwMDc1NiwgODE0NSwgMS4xNjUwMjk4ODMzODQ3MDQ2XSwgWzE2NjM4MTI4MjguNTkwMzg3MywgODE1NCwgMS4xODI4NTA5NTY5MTY4MDldLCBbMTY2MzgxMjgyOC42OTI0NTM5LCA4MTYzLCAxLjE0NzY4NjYwMDY4NTExOTZdLCBbMTY2MzgxMjgyOC43ODk3Mjk4LCA4MTcyLCAxLjE1NTQ5MzI1OTQyOTkzMTZdLCBbMTY2MzgxMjgyOC44Nzg5NTMsIDgxODEsIDEuMTI5NzU5NDMwODg1MzE1XSwgWzE2NjM4MTI4MjkuMDk5MjgzLCA4MTk5LCAxLjEzODUwOTg2OTU3NTUwMDVdLCBbMTY2MzgxMjgyOS4xOTQzMDcsIDgyMDgsIDEuMTMxMTY0NjY5OTkwNTM5Nl0sIFsxNjYzODEyODI5LjM3OTk4LCA4MjI2LCAxLjE4MzQ4NDMxNTg3MjE5MjRdLCBbMTY2MzgxMjgyOS40Njg4OCwgODIzNSwgMS4xNzYwMTk5MDY5OTc2ODA3XSwgWzE2NjM4MTI4MjkuNjg2NDY0OCwgODI1MywgMS4xNzAzNTk3MzA3MjA1Ml0sIFsxNjYzODEyODI5Ljc4MDkxOTYsIDgyNjIsIDEuMTI0MzEwMzc0MjU5OTQ4N10sIFsxNjYzODEyODI5Ljg4MDcwNjMsIDgyNzEsIDEuMTM3MDIzNDQ4OTQ0MDkxOF0sIFsxNjYzODEyODI5Ljk4MjY1NzIsIDgyODAsIDEuMTQ3NjQ3MTQyNDEwMjc4M10sIFsxNjYzODEyODMwLjA5MTM2NTMsIDgyODksIDEuMTgzNjg0NTg3NDc4NjM3N10sIFsxNjYzODEyODMwLjE5NTAxNTIsIDgyOTgsIDEuMTg5Mzc5NjkyMDc3NjM2N10sIFsxNjYzODEyODMwLjMwMTY3MDMsIDgzMDcsIDEuMTgxNTEzOTA1NTI1MjA3NV0sIFsxNjYzODEyODMwLjQxMDgzNSwgODMxNiwgMS4xNDQ0NDMwMzUxMjU3MzI0XSwgWzE2NjM4MTI4MzAuODE4NzczLCA4MzUyLCAxLjE1MjQxODczMjY0MzEyNzRdLCBbMTY2MzgxMjgzMC45MTU3MzM2LCA4MzYxLCAxLjE0Mzc0Mjc5OTc1ODkxMTFdLCBbMTY2MzgxMjgzMS4wMjE0NjcsIDgzNzAsIDEuMTYxMDg2MjAxNjY3Nzg1Nl0sIFsxNjYzODEyODMxLjExODgzNiwgODM3OSwgMS4yMTgyODEwMzA2NTQ5MDcyXSwgWzE2NjM4MTI4MzEuMjEzNDk4NiwgODM4OCwgMS4xODQ4MDY4MjM3MzA0Njg4XSwgWzE2NjM4MTI4MzEuMzA4MTI5NSwgODM5NywgMS4xNjgwNzMwNTgxMjgzNTddLCBbMTY2MzgxMjgzMS40MDI0ODAxLCA4NDA2LCAxLjIxMDQ1Njg0ODE0NDUzMTJdLCBbMTY2MzgxMjgzMS40OTc1MjQsIDg0MTUsIDEuMjAxMzE5Njk0NTE5MDQzXSwgWzE2NjM4MTI4MzEuNTk5OTE5OCwgODQyNCwgMS4xODQ0Nzk1OTQyMzA2NTE5XSwgWzE2NjM4MTI4MzIuMDIwOTI2LCA4NDYwLCAxLjIyMTYzNjUzMzczNzE4MjZdLCBbMTY2MzgxMjgzMi4xMjQ4MDE5LCA4NDY5LCAxLjIyMTExMjYwODkwOTYwN10sIFsxNjYzODEyODMyLjIyNzQyMTgsIDg0NzgsIDEuMjA3MTU3NjExODQ2OTIzOF0sIFsxNjYzODEyODMyLjMxODcxNzcsIDg0ODcsIDEuMTY2NjA5Mjg3MjYxOTYzXSwgWzE2NjM4MTI4MzIuNTk5NzA4MywgODUxNCwgMS4xNjY1MjQ1Mjk0NTcwOTIzXSwgWzE2NjM4MTI4MzIuNzAxMTM1NiwgODUyMywgMS4yMTEyMTM4MjcxMzMxNzg3XSwgWzE2NjM4MTI4MzIuNzk3MTU5MiwgODUzMiwgMS4zMTI4ODM4NTM5MTIzNTM1XSwgWzE2NjM4MTI4MzIuOTc5ODgyMiwgODU1MCwgMS4zNDAwNzUzNzM2NDk1OTcyXSwgWzE2NjM4MTI4MzMuMDcxODM2NSwgODU1OSwgMS4yOTM0Njc3NjAwODYwNTk2XSwgWzE2NjM4MTI4MzMuMjYzMTQ4MywgODU3NywgMS4yMzMwODc2NTg4ODIxNDExXSwgWzE2NjM4MTI4MzMuNDQ4NDg2NiwgODU5NSwgMS4xODk0NjY0NzY0NDA0Mjk3XSwgWzE2NjM4MTI4MzMuNTQ0NjQwNSwgODYwNCwgMS4xNTk0OTMyMDc5MzE1MTg2XSwgWzE2NjM4MTI4MzMuNjQwNzI0NCwgODYxMywgMS4xMTk4NzM1MjM3MTIxNTgyXSwgWzE2NjM4MTI4MzMuODkzMDc5MywgODY0MCwgMS4xOTg4MzEyMDA1OTk2NzA0XSwgWzE2NjM4MTI4MzMuOTc4OTYxLCA4NjQ5LCAxLjE5NjM3Mjc0NzQyMTI2NDZdLCBbMTY2MzgxMjgzNC4wNzEwNTUyLCA4NjU4LCAxLjEzOTAwMjkxOTE5NzA4MjVdLCBbMTY2MzgxMjgzNC4xNjU1MDAyLCA4NjY3LCAxLjEzMjU4ODM4NjUzNTY0NDVdLCBbMTY2MzgxMjgzNC4yNzM1OTAzLCA4Njc2LCAxLjE3NjIyMzYzNTY3MzUyM10sIFsxNjYzODEyODM0LjM2MjY0ODIsIDg2ODUsIDEuMjAwNTIxNTg4MzI1NTAwNV0sIFsxNjYzODEyODM0LjQ1Mzk2MzUsIDg2OTQsIDEuMTU4OTk3Mjk3Mjg2OTg3M10sIFsxNjYzODEyODM0LjY0NTYzNiwgODcxMiwgMS4xNDYzMDAxOTY2NDc2NDRdLCBbMTY2MzgxMjgzNC43MzM3NDIsIDg3MjEsIDEuMTMxNjk0OTEyOTEwNDYxNF0sIFsxNjYzODEyODM1LjAxMTQ0LCA4NzQ4LCAxLjEzOTY3NjA5NDA1NTE3NThdLCBbMTY2MzgxMjgzNS4xMDI5MTM0LCA4NzU3LCAxLjE1NzYxNjYxNTI5NTQxMDJdLCBbMTY2MzgxMjgzNS40NzI1MzYsIDg3OTMsIDEuMjIwNzMzODgwOTk2NzA0XSwgWzE2NjM4MTI4MzUuNjU0NzkyOCwgODgxMSwgMS4xMjg2Mjg5NjkxOTI1MDQ5XSwgWzE2NjM4MTI4MzUuNzQ5MjgyNiwgODgyMCwgMS4xNTI4MjkyODk0MzYzNDAzXSwgWzE2NjM4MTI4MzUuODM4MTE3NCwgODgyOSwgMS4xMTgyNTQzMDM5MzIxOV0sIFsxNjYzODEyODM1LjkyODQxMDUsIDg4MzgsIDEuMTU4NjAwNjg3OTgwNjUxOV0sIFsxNjYzODEyODM2LjAyMjUxOTYsIDg4NDcsIDEuMTM4NTUzNjE5Mzg0NzY1Nl0sIFsxNjYzODEyODM2LjExMjE1MiwgODg1NiwgMS4xNjI1MDA1MDA2NzkwMTYxXSwgWzE2NjM4MTI4MzYuNTQ4MDI4NSwgODg4MywgMS4xNzAxODI3MDQ5MjU1MzddLCBbMTY2MzgxMjgzNi42MzkyNjg2LCA4ODkyLCAxLjE3Mjk5MjgyNTUwODExNzddLCBbMTY2MzgxMjgzNi43NDE5MjI5LCA4OTAxLCAxLjE3ODczOTMwOTMxMDkxM10sIFsxNjYzODEyODM2LjgzMDE1MjgsIDg5MTAsIDEuMjE3NTk1ODE1NjU4NTY5M10sIFsxNjYzODEyODM2LjkyMDQ5NjUsIDg5MTksIDEuMTQ4OTgxMDk0MzYwMzUxNl0sIFsxNjYzODEyODM3LjEwNTY3OCwgODkzNywgMS4xMTQyNjQ5NjUwNTczNzNdLCBbMTY2MzgxMjgzNy4yODkyNSwgODk1NSwgMS4xMjA1MjM1NzE5NjgwNzg2XSwgWzE2NjM4MTI4MzcuMzkxNTM2NywgODk2NCwgMS4xNzYwMTQzMDQxNjEwNzE4XSwgWzE2NjM4MTI4MzcuNDg3NTkxNSwgODk3MywgMS4yMDMyMjcwNDMxNTE4NTU1XSwgWzE2NjM4MTI4MzcuNjc0NjU5NywgODk5MSwgMS4xNTQ0MDg1NzQxMDQzMDldLCBbMTY2MzgxMjgzNy43Njk1MTc0LCA5MDAwLCAxLjEzODM1MDcyNTE3Mzk1MDJdLCBbMTY2MzgxMjgzNy44NTk1MzE0LCA5MDA5LCAxLjE1MTI4MjU0ODkwNDQxOV0sIFsxNjYzODEyODM3Ljk0NzY2NzQsIDkwMTgsIDEuMTM1MjQyNDYyMTU4MjAzMV0sIFsxNjYzODEyODM4LjA0MTM2NTEsIDkwMjcsIDEuMTQzMTk5NjgyMjM1NzE3OF0sIFsxNjYzODEyODM4LjEzMDU2NywgOTAzNiwgMS4xMzA1Mzc4Njc1NDYwODE1XSwgWzE2NjM4MTI4MzguMjIzNTAyOSwgOTA0NSwgMS4xMzQ5MjE3ODkxNjkzMTE1XSwgWzE2NjM4MTI4MzguMzE0MDY2MiwgOTA1NCwgMS4xMjU4MjE1OTA0MjM1ODRdLCBbMTY2MzgxMjgzOC40MDMyNjc2LCA5MDYzLCAxLjEzOTUyMTM2MDM5NzMzODldLCBbMTY2MzgxMjgzOC41MDUyMjE4LCA5MDcyLCAxLjEzMjIxMDg1MDcxNTYzNzJdLCBbMTY2MzgxMjgzOC44NzA1NTgsIDkxMDgsIDEuMTQ0NDY1OTIzMzA5MzI2Ml0sIFsxNjYzODEyODM5LjA1NzU4MTQsIDkxMjYsIDEuMTIwMDAxNDM1Mjc5ODQ2Ml0sIFsxNjYzODEyODM5LjE0ODc2NzUsIDkxMzUsIDEuMTA0Mzk1MjcwMzQ3NTk1Ml0sIFsxNjYzODEyODM5LjIzNjEzMSwgOTE0NCwgMS4xMTM2MzE4NDQ1MjA1Njg4XSwgWzE2NjM4MTI4MzkuMzI5OTMzNCwgOTE1MywgMS4xMzAwMTgzNTM0NjIyMTkyXSwgWzE2NjM4MTI4MzkuNDE4MDIxNCwgOTE2MiwgMS4xNDUyNDM4ODMxMzI5MzQ2XSwgWzE2NjM4MTI4MzkuNzExNTg2NywgOTE4OSwgMS4xNDMwODk4OTA0ODAwNDE1XSwgWzE2NjM4MTI4MzkuODk2ODEzNCwgOTIwNywgMS4xMzEyMTYxNjg0MDM2MjU1XSwgWzE2NjM4MTI4NDAuMjU3Mzk1NywgOTI0MywgMS4xMTgwMDc4OTgzMzA2ODg1XSwgWzE2NjM4MTI4NDAuNDQ3NjI3OCwgOTI2MSwgMS4xMjEzODg3OTI5OTE2MzgyXSwgWzE2NjM4MTI4NDAuNTUzNTY2NSwgOTI3MCwgMS4yMTM4ODAwNjIxMDMyNzE1XSwgWzE2NjM4MTI4NDAuNzQ0MzM0LCA5Mjg4LCAxLjEyNzY4ODI4ODY4ODY1OTddLCBbMTY2MzgxMjg0MS4xNjY3ODQ1LCA5MzI0LCAxLjE3MDM4NzI2ODA2NjQwNjJdLCBbMTY2MzgxMjg0MS4yNjU5NTk1LCA5MzMzLCAxLjIyMjUyMjQ5NzE3NzEyNF0sIFsxNjYzODEyODQxLjM2OTQxMSwgOTM0MiwgMS4yOTYwNjgwNzIzMTkwMzA4XSwgWzE2NjM4MTI4NDEuNDY4ODI0MSwgOTM1MSwgMS4xNjI1OTM3MjIzNDM0NDQ4XSwgWzE2NjM4MTI4NDEuNTcxNDkzNCwgOTM2MCwgMS4xNDk2MzcyMjIyOTAwMzldLCBbMTY2MzgxMjg0MS45NTY0NzY3LCA5Mzk2LCAxLjE3NjcxNTg1MDgzMDA3ODFdLCBbMTY2MzgxMjg0Mi4xNDYzODUsIDk0MTQsIDEuMTMzNjQwNDA4NTE1OTMwMl0sIFsxNjYzODEyODQyLjIzODE5MTgsIDk0MjMsIDEuMTM3MTg3MjQyNTA3OTM0Nl0sIFsxNjYzODEyODQyLjQyMTUwNTIsIDk0NDEsIDEuMTMzNDQ0OTA1MjgxMDY3XSwgWzE2NjM4MTI4NDIuNTEwNjQ1LCA5NDUwLCAxLjExODA3MTkxMzcxOTE3NzJdLCBbMTY2MzgxMjg0Mi44MDc0ODQ5LCA5NDc3LCAxLjEzNTg5Mjk4NzI1MTI4MTddLCBbMTY2MzgxMjg0Mi44OTY1OTE0LCA5NDg2LCAxLjE0MjQ2OTA0ODUwMDA2MV0sIFsxNjYzODEyODQyLjk4ODUxMSwgOTQ5NSwgMS4xOTgyNzQ2MTI0MjY3NTc4XSwgWzE2NjM4MTI4NDMuMTg3MTUyOSwgOTUxMywgMS4yNTM2MTQ5MDI0OTYzMzhdLCBbMTY2MzgxMjg0My4zNzk3Mzg2LCA5NTMxLCAxLjIyNDAxNzI2MjQ1ODgwMTNdLCBbMTY2MzgxMjg0My40Njg4ODIsIDk1NDAsIDEuMjA2MDQ3ODkyNTcwNDk1Nl0sIFsxNjYzODEyODQzLjU1ODQ1MTcsIDk1NDksIDEuMjA5MTE4NzIzODY5MzIzN10sIFsxNjYzODEyODQzLjc1MTMzOTQsIDk1NjcsIDEuMTI4NDgxNzQ1NzE5OTA5N10sIFsxNjYzODEyODQzLjg0MDYxODgsIDk1NzYsIDEuMTYyNjI4NzY5ODc0NTcyOF0sIFsxNjYzODEyODQ0LjAyNjY3NDMsIDk1OTQsIDEuMTIwNTc2MTQzMjY0NzcwNV0sIFsxNjYzODEyODQ0LjEyMTM2MzQsIDk2MDMsIDEuMTcyNTIxOTQ4ODE0MzkyXSwgWzE2NjM4MTI4NDQuMjE0NzkyNSwgOTYxMiwgMS4xMjc1MjA3OTk2MzY4NDA4XSwgWzE2NjM4MTI4NDQuNDM4ODYxMSwgOTYzMCwgMS4xMTQ5MTYwODYxOTY4OTk0XSwgWzE2NjM4MTI4NDQuNTMwMjQxNSwgOTYzOSwgMS4xMDg4MDE3MjI1MjY1NTAzXSwgWzE2NjM4MTI4NDQuNjMwODE5LCA5NjQ4LCAxLjA4Njk1ODY0Njc3NDI5Ml0sIFsxNjYzODEyODQ0LjcyNDYxMzIsIDk2NTcsIDEuMTIyNTMwNjk4Nzc2MjQ1MV0sIFsxNjYzODEyODQ0LjgyMjA0MSwgOTY2NiwgMS4xODM0MjM4NzY3NjIzOTAxXSwgWzE2NjM4MTI4NDUuMDc2NDA4OSwgOTY3NSwgMS4yMTc2NTU4OTcxNDA1MDNdLCBbMTY2MzgxMjg0NS4zMzk2MTY1LCA5NzAyLCAxLjE4NzM5MjM1NDAxMTUzNTZdLCBbMTY2MzgxMjg0NS40MjY3MDEzLCA5NzExLCAxLjE1OTg1MjI2NjMxMTY0NTVdLCBbMTY2MzgxMjg0NS42MDQ0NTIxLCA5NzI5LCAxLjIxODk4NDAwNzgzNTM4ODJdLCBbMTY2MzgxMjg0NS43MDQwMTAyLCA5NzM4LCAxLjE2MDAzNTQ5MDk4OTY4NV0sIFsxNjYzODEyODQ1Ljc5ODkxMjgsIDk3NDcsIDEuMTYwMTQxMjI5NjI5NTE2Nl0sIFsxNjYzODEyODQ1LjkwMjk0OTgsIDk3NTYsIDEuMjQzMjU4ODMzODg1MTkyOV0sIFsxNjYzODEyODQ2LjA4NzcxNzUsIDk3NzQsIDEuMTY5MTk4MDM2MTkzODQ3N10sIFsxNjYzODEyODQ2LjE3OTcwMTMsIDk3ODMsIDEuMjE5NTI4OTEzNDk3OTI0OF0sIFsxNjYzODEyODQ2LjI3MzI0OSwgOTc5MiwgMS4xOTEwMTI4NTkzNDQ0ODI0XSwgWzE2NjM4MTI4NDYuMzY0Mzg1OCwgOTgwMSwgMS4yMjY4MTg1NjE1NTM5NTVdLCBbMTY2MzgxMjg0Ni42MzU1ODQ4LCA5ODI4LCAxLjEzNDM5OTA1NjQzNDYzMTNdLCBbMTY2MzgxMjg0Ni43Mjk4MjI0LCA5ODM3LCAxLjE1NzcwNDExNDkxMzk0MDRdLCBbMTY2MzgxMjg0Ni44MTc2OTE2LCA5ODQ2LCAxLjIwOTEzMjU1MjE0NjkxMTZdLCBbMTY2MzgxMjg0Ny4yNjk2ODY1LCA5ODkxLCAxLjEyODQ4MzE3NjIzMTM4NDNdLCBbMTY2MzgxMjg0Ny40NDY4NTYzLCA5OTA5LCAxLjE2OTAxNTc2NTE5MDEyNDVdLCBbMTY2MzgxMjg0Ny42MzE1MDM4LCA5OTI3LCAxLjEyMjY1NTI3MjQ4MzgyNTddLCBbMTY2MzgxMjg0Ny43MjA5ODQ1LCA5OTM2LCAxLjExODg0NDM4OTkxNTQ2NjNdLCBbMTY2MzgxMjg0Ny44MTEzOTA0LCA5OTQ1LCAxLjEyNzUzMTUyODQ3MjkwMDRdLCBbMTY2MzgxMjg0OC4wOTYyNjksIDk5NzIsIDEuMTMyOTE0MDY2MzE0Njk3M10sIFsxNjYzODEyODQ4LjE4ODc4MTMsIDk5ODEsIDEuMTU4MjkwNjI0NjE4NTMwM10sIFsxNjYzODEyODQ4LjI4MDI2NDYsIDk5OTAsIDEuMTM3MzQwMDY4ODE3MTM4N10sIFsxNjYzODEyODQ4LjM3Mzg3NDcsIDk5OTksIDEuMTg1OTE2NDIzNzk3NjA3NF0sIFsxNjYzODEyODQ4LjQ2NDE2OTUsIDEwMDA4LCAxLjE0ODA3MTUyNzQ4MTA3OV0sIFsxNjYzODEyODQ4LjU1MzYyMDYsIDEwMDE3LCAxLjE2OTc4MDAxNTk0NTQzNDZdLCBbMTY2MzgxMjg0OC42NDMwMTU2LCAxMDAyNiwgMS4xOTAwNDAzNDk5NjAzMjcxXSwgWzE2NjM4MTI4NDguNzMxNDUyMiwgMTAwMzUsIDEuMTc0ODU5NzYyMTkxNzcyNV0sIFsxNjYzODEyODQ4LjkxMDE4MjcsIDEwMDUzLCAxLjEyMjgzNzA2NjY1MDM5MDZdLCBbMTY2MzgxMjg0OS4wMDQ3ODQzLCAxMDA2MiwgMS4xMjQ1NDg1NTQ0MjA0NzEyXSwgWzE2NjM4MTI4NDkuMTkwMTM0OCwgMTAwODAsIDEuMTkwMzMxODE2NjczMjc4OF0sIFsxNjYzODEyODQ5LjI4MDcwMzMsIDEwMDg5LCAxLjIwMDI1NzE4MjEyMTI3NjldLCBbMTY2MzgxMjg0OS4zODM3MTksIDEwMDk4LCAxLjE4NTA1OTE4OTc5NjQ0NzhdLCBbMTY2MzgxMjg0OS40Nzk1NDEzLCAxMDEwNywgMS4yMjg3MjEwMjI2MDU4OTZdLCBbMTY2MzgxMjg0OS43NTk1MjcyLCAxMDEzNCwgMS4xNDczNDMzOTcxNDA1MDNdLCBbMTY2MzgxMjg0OS44NDkyNTcyLCAxMDE0MywgMS4xMjQzMTkzMTQ5NTY2NjVdLCBbMTY2MzgxMjg1MC4wNDA2MTI1LCAxMDE2MSwgMS4xNTI4ODk4NDc3NTU0MzIxXSwgWzE2NjM4MTI4NTAuMTM5ODQ0MiwgMTAxNzAsIDEuMTQ0OTc3NTY5NTgwMDc4MV0sIFsxNjYzODEyODUwLjIyODU4MjYsIDEwMTc5LCAxLjEzODYwMzQ0ODg2Nzc5NzldLCBbMTY2MzgxMjg1MC4zMTg0Njg2LCAxMDE4OCwgMS4xNDA3MTExODgzMTYzNDUyXSwgWzE2NjM4MTI4NTAuNDA3Njc3NCwgMTAxOTcsIDEuMTgwNjA5OTQxNDgyNTQ0XSwgWzE2NjM4MTI4NTAuNTAwNDEsIDEwMjA2LCAxLjE2MzQ0MzY4NDU3Nzk0Ml0sIFsxNjYzODEyODUwLjU5NzMxNDYsIDEwMjE1LCAxLjE2OTAxOTEwMzA1MDIzMl0sIFsxNjYzODEyODUwLjY4Nzg5NTgsIDEwMjI0LCAxLjE0NzcwOTI1MDQ1MDEzNDNdLCBbMTY2MzgxMjg1MC43NzQ4NjM3LCAxMDIzMywgMS4xMDAzNTUyNjc1MjQ3MTkyXSwgWzE2NjM4MTI4NTAuODYxNDkxLCAxMDI0MiwgMS4xMjkxNjQ5MzQxNTgzMjUyXSwgWzE2NjM4MTI4NTEuMDQ3NjU3NywgMTAyNjAsIDEuMTc1NTM2OTkwMTY1NzEwNF0sIFsxNjYzODEyODUxLjE1MTM5OTEsIDEwMjY5LCAxLjExMDI3NDU1MzI5ODk1MDJdLCBbMTY2MzgxMjg1MS4zNDQ0NDQ1LCAxMDI4NywgMS4xNjYyNjM0NjExMTI5NzZdLCBbMTY2MzgxMjg1MS40MzY3ODcsIDEwMjk2LCAxLjEzMDk5MDk4MjA1NTY2NF0sIFsxNjYzODEyODUxLjYxNDE3NTMsIDEwMzE0LCAxLjEyNDMwNDg5MDYzMjYyOTRdLCBbMTY2MzgxMjg1MS43MDMxNDg2LCAxMDMyMywgMS4xMDU1ODM5MDYxNzM3MDZdLCBbMTY2MzgxMjg1MS44ODIzNjU1LCAxMDM0MSwgMS4xNDM5MjUwNzA3NjI2MzQzXSwgWzE2NjM4MTI4NTEuOTcwMTI4LCAxMDM1MCwgMS4xMzQ5NzQyNDEyNTY3MTM5XSwgWzE2NjM4MTI4NTIuMDU5OTI0OCwgMTAzNTksIDEuMTI0MDg1NTQ1NTM5ODU2XSwgWzE2NjM4MTI4NTIuMTUxMzYxNywgMTAzNjgsIDEuMTI2NjcxOTEwMjg1OTQ5N10sIFsxNjYzODEyODUyLjI1MDg5MDcsIDEwMzc3LCAxLjE4NzAyNzMzNTE2NjkzMTJdLCBbMTY2MzgxMjg1Mi4zMzk0NTQ3LCAxMDM4NiwgMS4xOTY0NzM4MzY4OTg4MDM3XSwgWzE2NjM4MTI4NTIuNTIyMjcyMywgMTA0MDQsIDEuMjI4MzUzNjE5NTc1NTAwNV0sIFsxNjYzODEyODUyLjYxNDQxMTYsIDEwNDEzLCAxLjI0OTExNjY1OTE2NDQyODddLCBbMTY2MzgxMjg1Mi43MTA1MDksIDEwNDIyLCAxLjIwMDkzMDM1Njk3OTM3MDFdLCBbMTY2MzgxMjg1Mi44ODc1Mzk2LCAxMDQ0MCwgMS4yNjc1NTMwOTEwNDkxOTQzXSwgWzE2NjM4MTI4NTIuOTc1NDA0MywgMTA0NDksIDEuMTI2NDk2OTExMDQ4ODg5Ml0sIFsxNjYzODEyODUzLjE4MTg0ODUsIDEwNDY3LCAxLjEwMDczMTk2ODg3OTY5OTddLCBbMTY2MzgxMjg1My40NDM3MjMyLCAxMDQ3NiwgMS4xMTE4NDUyNTQ4OTgwNzEzXSwgWzE2NjM4MTI4NTMuNTM3OTc5OCwgMTA0ODUsIDEuMjE2NTM3OTUyNDIzMDk1N10sIFsxNjYzODEyODUzLjYzNTE0MTYsIDEwNDk0LCAxLjE0NzIxNzk4ODk2Nzg5NTVdLCBbMTY2MzgxMjg1My43NDcxOTI2LCAxMDUwMywgMS4xMjU3MDExODkwNDExMzc3XSwgWzE2NjM4MTI4NTMuODU2MTYzNSwgMTA1MTIsIDEuMTMxOTEwOTIwMTQzMTI3NF0sIFsxNjYzODEyODUzLjk1NjQ2MSwgMTA1MjEsIDEuMTQ2OTg2NzIyOTQ2MTY3XSwgWzE2NjM4MTI4NTQuMzg5OTUyNCwgMTA1NTcsIDEuMTk5MDg1NzEyNDMyODYxM10sIFsxNjYzODEyODU0LjQ5Mzk1NiwgMTA1NjYsIDEuMTg5ODU4Njc1MDAzMDUxOF0sIFsxNjYzODEyODU0LjU5Njc5MzcsIDEwNTc1LCAxLjE2MTYxNTk2Nzc1MDU0OTNdLCBbMTY2MzgxMjg1NC43OTQxNTgsIDEwNTkzLCAxLjEyNDQ4OTc4NDI0MDcyMjddLCBbMTY2MzgxMjg1NC44OTUyMDYsIDEwNjAyLCAxLjE0MDAyMjAzOTQxMzQ1MjFdLCBbMTY2MzgxMjg1NC45OTQ0ODg3LCAxMDYxMSwgMS4xMzQ3OTAzMDEzMjI5MzddLCBbMTY2MzgxMjg1NS4yMTMzNzMyLCAxMDYyOSwgMS4wOTc0MjM5MTEwOTQ2NjU1XSwgWzE2NjM4MTI4NTUuNDA1NjgwNCwgMTA2NDcsIDEuMTMyNzA1MjExNjM5NDA0M10sIFsxNjYzODEyODU1LjYyNDMzOTMsIDEwNjY1LCAxLjEwOTQ4OTA4MzI5MDFdLCBbMTY2MzgxMjg1NS44NDkxODQ1LCAxMDY4MywgMS4xMzAwMjQxOTQ3MTc0MDcyXSwgWzE2NjM4MTI4NTYuMDgwODYzMiwgMTA3MDEsIDEuMTU0NzYxMzE0MzkyMDg5OF0sIFsxNjYzODEyODU2LjE5MDk2OTIsIDEwNzEwLCAxLjE4MDY2MTMyMDY4NjM0MDNdLCBbMTY2MzgxMjg1Ni4yOTE5ODYyLCAxMDcxOSwgMS4xOTAwNTEwNzg3OTYzODY3XSwgWzE2NjM4MTI4NTYuMzg1Njg4MywgMTA3MjgsIDEuMTUxMjI2NzU4OTU2OTA5Ml0sIFsxNjYzODEyODU2LjU3MzM1NzYsIDEwNzQ2LCAxLjExNjY1OTUyMjA1NjU3OTZdLCBbMTY2MzgxMjg1Ni42NzE0MzE4LCAxMDc1NSwgMS4xNTA4NDY5NTgxNjA0MDA0XSwgWzE2NjM4MTI4NTYuNzY5MjQ1MSwgMTA3NjQsIDEuMTY4NTU2MjEzMzc4OTA2Ml0sIFsxNjYzODEyODU2Ljg1OTY2NTksIDEwNzczLCAxLjEzNTM4NTYzMjUxNDk1MzZdLCBbMTY2MzgxMjg1Ni45NDk0ODM5LCAxMDc4MiwgMS4xMTQxMzUzODQ1NTk2MzEzXSwgWzE2NjM4MTI4NTcuMDU1MDg1NywgMTA3OTEsIDEuMjIzNjk4NDk2ODE4NTQyNV0sIFsxNjYzODEyODU3LjMyMTg1OTYsIDEwODE4LCAxLjI0MjI4MjUwOTgwMzc3Ml0sIFsxNjYzODEyODU3LjQxNTg4MSwgMTA4MjcsIDEuMTU0MTg1NzcxOTQyMTM4N10sIFsxNjYzODEyODU3LjY5NTI3NiwgMTA4NTQsIDEuMTI2MDMzNjYzNzQ5Njk0OF0sIFsxNjYzODEyODU3Ljc4MzQ2NDcsIDEwODYzLCAxLjExOTY4MDg4MTUwMDI0NDFdLCBbMTY2MzgxMjg1Ny44NzEyNDUxLCAxMDg3MiwgMS4xNTkxMjk3Mzg4MDc2NzgyXSwgWzE2NjM4MTI4NTguMDY1MDQ3NywgMTA4OTAsIDEuMTM4NzE3NDEyOTQ4NjA4NF0sIFsxNjYzODEyODU4LjE2OTExMTcsIDEwODk5LCAxLjEyNzU0NzI2NDA5OTEyMV0sIFsxNjYzODEyODU4LjQ2OTc1NjYsIDEwOTI2LCAxLjEwODI2MTk0Mjg2MzQ2NDRdLCBbMTY2MzgxMjg1OC41NTk0MjE1LCAxMDkzNSwgMS4xMzU5NDQzNjY0NTUwNzgxXSwgWzE2NjM4MTI4NTguNjQ2NTExMywgMTA5NDQsIDEuMDk5NzA5MzkxNTkzOTMzXSwgWzE2NjM4MTI4NTguODQ5NDc5NywgMTA5NjIsIDEuMTE3MjY4MzIzODk4MzE1NF0sIFsxNjYzODEyODU4Ljk2MjE5NSwgMTA5NzEsIDEuMTI0NzkzNjQ4NzE5Nzg3Nl0sIFsxNjYzODEyODU5LjMxMTU3MSwgMTA5OTgsIDEuMTMxMDczMTE3MjU2MTY0Nl0sIFsxNjYzODEyODU5LjQyOTQ4MTcsIDExMDA3LCAxLjExNDQ5NTI3NzQwNDc4NTJdLCBbMTY2MzgxMjg1OS41Njc2NDEsIDExMDE2LCAxLjEyMTMxNTQ3OTI3ODU2NDVdLCBbMTY2MzgxMjg1OS43ODM0NTYzLCAxMTAzNCwgMS4xMTYzNzA2Nzc5NDc5OThdLCBbMTY2MzgxMjg2MC4wNjg4NzMyLCAxMTA2MSwgMS4xNTA2MTE1MTk4MTM1Mzc2XSwgWzE2NjM4MTI4NjAuMTYyMzMxMywgMTEwNzAsIDEuMTAzOTMwNDczMzI3NjM2N10sIFsxNjYzODEyODYwLjUzOTQxNTgsIDExMDk3LCAxLjExMjM0MjgzNDQ3MjY1NjJdLCBbMTY2MzgxMjg2MC42NTU3NTYyLCAxMTEwNiwgMS4xMTMxNTU5NjEwMzY2ODIxXSwgWzE2NjM4MTI4NjAuNzU5NzMyNSwgMTExMTUsIDEuMjI3MjE3MTk3NDE4MjEzXSwgWzE2NjM4MTI4NjEuMTMzNzg1LCAxMTE1MSwgMS4xMjc0MTAyOTI2MjU0MjcyXSwgWzE2NjM4MTI4NjEuMzI5MTIxLCAxMTE2OSwgMS4xMjE3OTYyNTAzNDMzMjI4XSwgWzE2NjM4MTI4NjEuNDE5ODMxLCAxMTE3OCwgMS4xMTA3NDU3ODc2MjA1NDQ0XSwgWzE2NjM4MTI4NjEuNTA5MjIzNSwgMTExODcsIDEuMTEzODE1NjY1MjQ1MDU2Ml0sIFsxNjYzODEyODYxLjYxMTYxMSwgMTExOTYsIDEuMTc0MTczMTE2NjgzOTZdLCBbMTY2MzgxMjg2MS43MDQ0OTk3LCAxMTIwNSwgMS4xMzY2MzQzNDk4MjI5OThdLCBbMTY2MzgxMjg2MS43OTkyNjE4LCAxMTIxNCwgMS4xNDA1NDIxNDk1NDM3NjIyXSwgWzE2NjM4MTI4NjEuODk2MDg2NSwgMTEyMjMsIDEuMTAzNjg4ODM2MDk3NzE3M10sIFsxNjYzODEyODYyLjE4NDY5OTMsIDExMjUwLCAxLjEyMTQwODQ2MjUyNDQxNF0sIFsxNjYzODEyODYyLjI3NDgxMzIsIDExMjU5LCAxLjExMzYyOTU3OTU0NDA2NzRdLCBbMTY2MzgxMjg2Mi41MDg2MSwgMTEyNjgsIDEuMTEwOTExODQ2MTYwODg4N10sIFsxNjYzODEyODYyLjU5NjQzOSwgMTEyNzcsIDEuMTM4MzI0Mzc5OTIwOTU5NV0sIFsxNjYzODEyODYyLjgwODIyMjgsIDExMjk1LCAxLjE2NjAyMjE4MTUxMDkyNTNdLCBbMTY2MzgxMjg2Mi45OTIyNTY0LCAxMTMxMywgMS4xMTM1ODQ2Mzc2NDE5MDY3XSwgWzE2NjM4MTI4NjMuMDg3NTQwMSwgMTEzMjIsIDEuMTUxNTQ5Njk2OTIyMzAyMl0sIFsxNjYzODEyODYzLjM2OTAyODgsIDExMzQ5LCAxLjExOTk4ODkxODMwNDQ0MzRdLCBbMTY2MzgxMjg2My40NjMyNzA0LCAxMTM1OCwgMS4xNDQyMTM2NzY0NTI2MzY3XSwgWzE2NjM4MTI4NjMuNjUwNzU1LCAxMTM3NiwgMS4wOTQ4NjA1NTM3NDE0NTVdLCBbMTY2MzgxMjg2My43NTE2NjEzLCAxMTM4NSwgMS4xMTAwMDEwODcxODg3MjA3XSwgWzE2NjM4MTI4NjMuODQxMTkyNywgMTEzOTQsIDEuMTE1NTk0MDI5NDI2NTc0N10sIFsxNjYzODEyODYzLjkzOTMxODIsIDExNDAzLCAxLjEzNzE0NTQwMDA0NzMwMjJdLCBbMTY2MzgxMjg2NC4wMzA4MjQyLCAxMTQxMiwgMS4xMjU0NTU5NzU1MzI1MzE3XSwgWzE2NjM4MTI4NjQuMTE5MzE1OSwgMTE0MjEsIDEuMDkxNTI4NjU0MDk4NTEwN10sIFsxNjYzODEyODY0LjM5NzE0NjcsIDExNDQ4LCAxLjExODA1ODIwNDY1MDg3OV0sIFsxNjYzODEyODY0LjQ4NzYzNTQsIDExNDU3LCAxLjEzNjg5OTcwOTcwMTUzOF0sIFsxNjYzODEyODY0Ljc4NTk5NywgMTE0ODQsIDEuMTI1NzUwMzAzMjY4NDMyNl0sIFsxNjYzODEyODY0Ljg3NzIzNiwgMTE0OTMsIDEuMTEyMjIxODM3MDQzNzYyMl0sIFsxNjYzODEyODY0Ljk2ODUwNDcsIDExNTAyLCAxLjEwOTk1MjU2OTAwNzg3MzVdLCBbMTY2MzgxMjg2NS4wNjE2MDkzLCAxMTUxMSwgMS4xMDQwMzQ3ODE0NTU5OTM3XSwgWzE2NjM4MTI4NjUuMTU0NDM5LCAxMTUyMCwgMS4xMTQyNzg2NzQxMjU2NzE0XSwgWzE2NjM4MTI4NjUuMjQ2NzEsIDExNTI5LCAxLjEwNTQwMTE1ODMzMjgyNDddLCBbMTY2MzgxMjg2NS40MjU5OTU2LCAxMTU0NywgMS4xMTUyMjE4NTgwMjQ1OTcyXSwgWzE2NjM4MTI4NjUuNTE1NTcyOCwgMTE1NTYsIDEuMTU1MjAzOTM4NDg0MTkyXSwgWzE2NjM4MTI4NjUuNjk2MTc0NiwgMTE1NzQsIDEuMTUyOTczMTc1MDQ4ODI4MV0sIFsxNjYzODEyODY1LjgwMDA2NjcsIDExNTgzLCAxLjE1MDY0ODU5MzkwMjU4OF0sIFsxNjYzODEyODY1Ljk4NTkzNjksIDExNjAxLCAxLjE3NzM2NjQ5NTEzMjQ0NjNdLCBbMTY2MzgxMjg2Ni4xNzc0MDU4LCAxMTYxOSwgMS4xMDg0ODQwMjk3Njk4OTc1XSwgWzE2NjM4MTI4NjYuMjcyMjU2LCAxMTYyOCwgMS4xMDkzNTYwNDU3MjI5NjE0XSwgWzE2NjM4MTI4NjYuMzYwNjQyNywgMTE2MzcsIDEuMDc4OTAzNTU1ODcwMDU2Ml0sIFsxNjYzODEyODY2LjQ0OTc2MDcsIDExNjQ2LCAxLjEwNDU5NzIxMDg4NDA5NDJdLCBbMTY2MzgxMjg2Ni42MzI2ODQsIDExNjY0LCAxLjEyNjYwNzI5ODg1MTAxMzJdLCBbMTY2MzgxMjg2Ni43Mjc1NzE1LCAxMTY3MywgMS4xNzY0MzU5NDc0MTgyMTNdLCBbMTY2MzgxMjg2Ni45MDY3MTEzLCAxMTY5MSwgMS4xOTEzNjcxNDkzNTMwMjczXSwgWzE2NjM4MTI4NjYuOTk1ODY4MiwgMTE3MDAsIDEuMDg3MzkyNDQ5Mzc4OTY3M10sIFsxNjYzODEyODY3LjE4MTc3NjMsIDExNzE4LCAxLjEwNDQxNDgyMDY3MTA4MTVdLCBbMTY2MzgxMjg2Ny4yNzQ1MTk0LCAxMTcyNywgMS4xMDIyNDM5MDAyOTkwNzIzXSwgWzE2NjM4MTI4NjcuNDU3Njk0LCAxMTc0NSwgMS4xODg0NjE3ODA1NDgwOTU3XSwgWzE2NjM4MTI4NjcuNTQ4NjY4NiwgMTE3NTQsIDEuMTA2NDU1NDQ1Mjg5NjExOF0sIFsxNjYzODEyODY3LjY0OTM2OCwgMTE3NjMsIDEuMTUzNTA5MjU5MjIzOTM4XSwgWzE2NjM4MTI4NjcuNzM5ODM1NSwgMTE3NzIsIDEuMTc4MjY3MjQwNTI0MjkyXSwgWzE2NjM4MTI4NjguMDE1OTI4NSwgMTE3OTksIDEuMTM3NDc5OTAxMzEzNzgxN10sIFsxNjYzODEyODY4LjEwODAxMDMsIDExODA4LCAxLjE3NDAxOTIxNzQ5MTE1XSwgWzE2NjM4MTI4NjguMTk2MTIyLCAxMTgxNywgMS4wOTczMjE2Mjk1MjQyMzFdLCBbMTY2MzgxMjg2OC4yODM3NzQ0LCAxMTgyNiwgMS4xMTUzMjcwMDA2MTc5ODFdLCBbMTY2MzgxMjg2OC4zNzE2ODcsIDExODM1LCAxLjEzMzA5ODM2Mzg3NjM0MjhdLCBbMTY2MzgxMjg2OC40NjE3MSwgMTE4NDQsIDEuMTI3MTgyNzIyMDkxNjc0OF0sIFsxNjYzODEyODY4LjczNTU4ODYsIDExODcxLCAxLjA5NzMzMDU3MDIyMDk0NzNdLCBbMTY2MzgxMjg2OC44NDIwOTYzLCAxMTg4MCwgMS4xNDA5NTg1NDc1OTIxNjNdLCBbMTY2MzgxMjg2OC45NTA3ODY2LCAxMTg4OSwgMS4wOTI2MDQ4NzU1NjQ1NzUyXSwgWzE2NjM4MTI4NjkuMDY4NDA4NSwgMTE4OTgsIDEuMDc1NDgwNjk5NTM5MTg0Nl0sIFsxNjYzODEyODY5LjE2NjIzODUsIDExOTA3LCAxLjExNTM4MDE2Nzk2MTEyMDZdLCBbMTY2MzgxMjg2OS4yNjAyMTgsIDExOTE2LCAxLjEzMDU1Mzk2MDgwMDE3MV0sIFsxNjYzODEyODY5LjM1MzY1MjIsIDExOTI1LCAxLjE1MTM0NTEzMzc4MTQzM10sIFsxNjYzODEyODY5LjQ0NzM2MywgMTE5MzQsIDEuMTg2ODEwMTM1ODQxMzY5Nl0sIFsxNjYzODEyODY5LjU0MDQwOTgsIDExOTQzLCAxLjEwNzczMDM4ODY0MTM1NzRdLCBbMTY2MzgxMjg2OS43MzEwMDkyLCAxMTk2MSwgMS4xMjMwMzE5NzM4Mzg4MDYyXSwgWzE2NjM4MTI4NzAuMTkyNjk3OCwgMTIwMDYsIDEuMTEzNjgwMzYyNzAxNDE2XSwgWzE2NjM4MTI4NzAuMzgwNzg1NywgMTIwMjQsIDEuMTE0MzY2MjkyOTUzNDkxMl0sIFsxNjYzODEyODcxLjEwMDAxMzcsIDEyMDc4LCAxLjExMDE0MzQyMzA4MDQ0NDNdLCBbMTY2MzgxMjg3MS4xOTY3LCAxMjA4NywgMS4wODUwNzE4MDIxMzkyODIyXSwgWzE2NjM4MTI4NzEuMzc0ODYzNCwgMTIxMDUsIDEuMTE4NTcxMDQzMDE0NTI2NF0sIFsxNjYzODEyODcxLjQ2MzEwNzgsIDEyMTE0LCAxLjA5NDU1MTA4NjQyNTc4MTJdLCBbMTY2MzgxMjg3MS42Mzg4MTIsIDEyMTMyLCAxLjEwNjY2MTIwMDUyMzM3NjVdLCBbMTY2MzgxMjg3MS43MzEzMDI3LCAxMjE0MSwgMS4wOTEwODc0NjA1MTc4ODMzXSwgWzE2NjM4MTI4NzIuMDEyODQ3LCAxMjE2OCwgMS4wODg0OTMxMDg3NDkzODk2XSwgWzE2NjM4MTI4NzIuMTE2NzA2OCwgMTIxNzcsIDEuMTA3OTg3NDAzODY5NjI5XSwgWzE2NjM4MTI4NzIuMzExNTMxMywgMTIxOTUsIDEuMTg5NDc2NjA5MjMwMDQxNV0sIFsxNjYzODEyODcyLjM5OTYyNSwgMTIyMDQsIDEuMTg0MjAwNjQ0NDkzMTAzXSwgWzE2NjM4MTI4NzIuNDg5OTY2LCAxMjIxMywgMS4xMDI3ODAxMDM2ODM0NzE3XSwgWzE2NjM4MTI4NzIuNTc4MjgxOSwgMTIyMjIsIDEuMTMyMzEyMDU5NDAyNDY1OF0sIFsxNjYzODEyODcyLjY3NjgyMzksIDEyMjMxLCAxLjExODk4ODM5NDczNzI0MzddLCBbMTY2MzgxMjg3Mi44NjEwODQsIDEyMjQ5LCAxLjExMTM1MjgwMTMyMjkzN10sIFsxNjYzODEyODczLjA0MzM5NjIsIDEyMjY3LCAxLjExOTI4MTc2ODc5ODgyODFdLCBbMTY2MzgxMjg3My4xMzMwOTQ1LCAxMjI3NiwgMS4xNTExMDYzNTc1NzQ0NjNdLCBbMTY2MzgxMjg3My4yMzY2MTM4LCAxMjI4NSwgMS4xMDIxNjE1MjY2Nzk5OTI3XSwgWzE2NjM4MTI4NzMuMzI4NjA5LCAxMjI5NCwgMS4xMDI5MzQ3MTgxMzIwMTldLCBbMTY2MzgxMjg3My40MzYyNTc2LCAxMjMwMywgMS4xNzIyMjI3MzM0OTc2MTk2XSwgWzE2NjM4MTI4NzMuNTI0OTkxNSwgMTIzMTIsIDEuMTE4OTc5MzM0ODMxMjM3OF0sIFsxNjYzODEyODczLjYxMTM3MDYsIDEyMzIxLCAxLjA5MTcxODkxMjEyNDYzMzhdLCBbMTY2MzgxMjg3My45ODIwMTA2LCAxMjM1NywgMS4xMzkzMzI3NzEzMDEyNjk1XSwgWzE2NjM4MTI4NzQuMDc1MjgxNiwgMTIzNjYsIDEuMTAyNjgxMjc5MTgyNDM0XSwgWzE2NjM4MTI4NzQuMTY2NzU2MiwgMTIzNzUsIDEuMDk5OTk0NTQwMjE0NTM4Nl0sIFsxNjYzODEyODc0LjI2ODg4NjYsIDEyMzg0LCAxLjA4NzkwNTUyNjE2MTE5MzhdLCBbMTY2MzgxMjg3NC4zNTkxMTQ2LCAxMjM5MywgMS4wODk1NjQ2ODEwNTMxNjE2XSwgWzE2NjM4MTI4NzQuNjI4MzY5LCAxMjQyMCwgMS4xMTY2NTI4NDYzMzYzNjQ3XSwgWzE2NjM4MTI4NzQuNzE4MzEzNywgMTI0MjksIDEuMTE5Nzg2MTQzMzAyOTE3NV0sIFsxNjYzODEyODc0LjgwNzA0NiwgMTI0MzgsIDEuMTY2NzQ0MjMyMTc3NzM0NF0sIFsxNjYzODEyODc1LjE4NDUzMzYsIDEyNDc0LCAxLjIwMjk1MjI2NTczOTQ0MV0sIFsxNjYzODEyODc1LjI3OTA4NywgMTI0ODMsIDEuMTM4MzM5NTE5NTAwNzMyNF0sIFsxNjYzODEyODc1LjM4MTYzNywgMTI0OTIsIDEuMTA2MjkyNzI0NjA5Mzc1XSwgWzE2NjM4MTI4NzUuNDczNDUzOCwgMTI1MDEsIDEuMTA2NjM4MzEyMzM5NzgyN10sIFsxNjYzODEyODc1LjY1NjMwNTYsIDEyNTE5LCAxLjEwMjI1MTA1Mjg1NjQ0NTNdLCBbMTY2MzgxMjg3NS43NTE2OTA5LCAxMjUyOCwgMS4xMTI0MDU4OTYxODY4Mjg2XSwgWzE2NjM4MTI4NzUuOTUxODI4MiwgMTI1NDYsIDEuMDc2MDI4MzQ3MDE1MzgwOV0sIFsxNjYzODEyODc2LjAzNzcxMiwgMTI1NTUsIDEuMDg0MzM5MzgwMjY0MjgyMl0sIFsxNjYzODEyODc2LjI3NTU4MzMsIDEyNTczLCAxLjE4NDYzMDYzMjQwMDUxMjddLCBbMTY2MzgxMjg3Ni4zNjY4NzYsIDEyNTgyLCAxLjI4NjYxMzk0MTE5MjYyN10sIFsxNjYzODEyODc2LjU0NzY5MjgsIDEyNjAwLCAxLjEwMTk0ODI2MTI2MDk4NjNdLCBbMTY2MzgxMjg3Ni42NDEzNjMsIDEyNjA5LCAxLjE0OTU3ODgwOTczODE1OTJdLCBbMTY2MzgxMjg3Ni44NDUzNjU1LCAxMjYyNywgMS4xNzgwNjEyNDY4NzE5NDgyXSwgWzE2NjM4MTI4NzYuOTM4MDA0MywgMTI2MzYsIDEuMTMyNDYxMDcxMDE0NDA0M10sIFsxNjYzODEyODc3LjAzOTQ5OSwgMTI2NDUsIDEuMTQ0NzExNjEzNjU1MDkwM10sIFsxNjYzODEyODc3LjEzMzk2NjQsIDEyNjU0LCAxLjE1NTkyMjI5MzY2MzAyNV0sIFsxNjYzODEyODc3LjIyNjMyMSwgMTI2NjMsIDEuMTQ4NDE4MzA3MzA0MzgyM10sIFsxNjYzODEyODc3LjMyMjYyMzcsIDEyNjcyLCAxLjExNDM5MjE2MTM2OTMyMzddLCBbMTY2MzgxMjg3Ny40MTcyNzY0LCAxMjY4MSwgMS4wOTM3NjIyNzg1NTY4MjM3XSwgWzE2NjM4MTI4NzcuODkxMTQwNywgMTI3MjYsIDEuMDgyOTk1MTc2MzE1MzA3Nl0sIFsxNjYzODEyODc4LjE2OTAwMTYsIDEyNzUzLCAxLjEwOTQ0OTM4NjU5NjY3OTddLCBbMTY2MzgxMjg3OC4yNjE0NTg5LCAxMjc2MiwgMS4xMDYwNzcxOTQyMTM4NjcyXSwgWzE2NjM4MTI4NzguNDQzNDI1NCwgMTI3ODAsIDEuMTYwODA4ODAxNjUxMDAxXSwgWzE2NjM4MTI4NzguNjM2NDQ5MywgMTI3OTgsIDEuMjAwMDUxNTQ2MDk2ODAxOF0sIFsxNjYzODEyODc4LjcyOTA4NjksIDEyODA3LCAxLjE3NjYzODI0NTU4MjU4MDZdLCBbMTY2MzgxMjg3OS4wMTMyMjU2LCAxMjgzNCwgMS4xMTY5Mzk2NjM4ODcwMjRdLCBbMTY2MzgxMjg3OS4xMzY1NDE4LCAxMjg0MywgMS4xNDIxMzE1NjcwMDEzNDI4XSwgWzE2NjM4MTI4NzkuNDIzNjk5NiwgMTI4NTIsIDEuMTY5ODI4NjUzMzM1NTcxM10sIFsxNjYzODEyODc5LjUzNDEyNDksIDEyODYxLCAxLjE0MTQzMTgwODQ3MTY3OTddLCBbMTY2MzgxMjg3OS44NDE3NDI4LCAxMjg4OCwgMS4yMjYxODg2NTk2Njc5Njg4XSwgWzE2NjM4MTI4NzkuOTM2NzY2MSwgMTI4OTcsIDEuMTIxNDk2MDgxMzUyMjMzOV0sIFsxNjYzODEyODgwLjAzOTY2NTcsIDEyOTA2LCAxLjEyOTIxOTY1MTIyMjIyOV0sIFsxNjYzODEyODgwLjE0MjgyLCAxMjkxNSwgMS4xMDg4MDU4OTQ4NTE2ODQ2XSwgWzE2NjM4MTI4ODAuMzYxNjE5NSwgMTI5MzMsIDEuMTI5OTA0Mzg5MzgxNDA4N10sIFsxNjYzODEyODgwLjYwMDc4NjIsIDEyOTUxLCAxLjA5MTM3NDYzNTY5NjQxMTFdLCBbMTY2MzgxMjg4MC42OTY1MzczLCAxMjk2MCwgMS4xNDQ2OTc2NjYxNjgyMTNdLCBbMTY2MzgxMjg4MC43ODU1NzksIDEyOTY5LCAxLjEzMzUxNDUyMzUwNjE2NDZdLCBbMTY2MzgxMjg4MC44NzUxMTk0LCAxMjk3OCwgMS4xMjg1NTI3OTQ0NTY0ODJdLCBbMTY2MzgxMjg4MS4xNzU4MDg0LCAxMzAwNSwgMS4xMTMwMDA1MTIxMjMxMDhdLCBbMTY2MzgxMjg4MS4zNzQxMjk4LCAxMzAyMywgMS4xMDgzMTkxNjMzMjI0NDg3XSwgWzE2NjM4MTI4ODEuNDYxMjE3OSwgMTMwMzIsIDEuMTU2NTIzMTA4NDgyMzYwOF0sIFsxNjYzODEyODgxLjU2MDEyMywgMTMwNDEsIDEuMTU5OTIwODExNjUzMTM3Ml0sIFsxNjYzODEyODgxLjY2MDUyMTcsIDEzMDUwLCAxLjEyNTUzNzc1MzEwNTE2MzZdLCBbMTY2MzgxMjg4MS43NTA4OTcyLCAxMzA1OSwgMS4xODAyMjQxODAyMjE1NTc2XSwgWzE2NjM4MTI4ODEuODQxNzg3MywgMTMwNjgsIDEuMjAxMzkwMzg1NjI3NzQ2Nl0sIFsxNjYzODEyODgxLjkzNDQ1OTQsIDEzMDc3LCAxLjE0NjQ5NzAxMTE4NDY5MjRdLCBbMTY2MzgxMjg4Mi4wMzAyMzg5LCAxMzA4NiwgMS4wODY4NDcwNjY4NzkyNzI1XSwgWzE2NjM4MTI4ODIuMTUyOTMxLCAxMzA5NSwgMS4xMDQ2MDQ5NTk0ODc5MTVdLCBbMTY2MzgxMjg4Mi4yNTA5Mjk2LCAxMzEwNCwgMS4xNDUxMjM3MjAxNjkwNjc0XSwgWzE2NjM4MTI4ODIuMzY2NDM1NSwgMTMxMTMsIDEuMDk1MDk0NTYxNTc2ODQzM10sIFsxNjYzODEyODgyLjQ4MTgyMTUsIDEzMTIyLCAxLjEyNjcwMzUwMDc0NzY4MDddLCBbMTY2MzgxMjg4Mi42MDgwNzQyLCAxMzEzMSwgMS4wOTU5Nzc1NDQ3ODQ1NDZdLCBbMTY2MzgxMjg4Mi43Mjg4NDksIDEzMTQwLCAxLjEwMDk3MTY5ODc2MDk4NjNdLCBbMTY2MzgxMjg4Mi44MjkzNDEsIDEzMTQ5LCAxLjEwMjY4ODA3NDExMTkzODVdLCBbMTY2MzgxMjg4Mi45NDk3NDI2LCAxMzE1OCwgMS4xMjQwNzczMjAwOTg4NzddLCBbMTY2MzgxMjg4My4wNTUyNjQ3LCAxMzE2NywgMS4xNjQ2OTE5MjUwNDg4MjgxXSwgWzE2NjM4MTI4ODMuMTYzNDk0LCAxMzE3NiwgMS4xMzc3NDM3MTE0NzE1NTc2XSwgWzE2NjM4MTI4ODMuMjU5NTEzOSwgMTMxODUsIDEuMTIxOTQzMzU0NjA2NjI4NF0sIFsxNjYzODEyODgzLjU2ODA3MjgsIDEzMjEyLCAxLjEyMDk5NTUyMTU0NTQxMDJdLCBbMTY2MzgxMjg4My42NzgwNjg0LCAxMzIyMSwgMS4xNzAyMzQyMDMzMzg2MjNdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=v9&tag=Loss%2Ftrain":{"data":"W1sxNjYzOTE5OTc3LjQ0NDk1OCwgOSwgMTEyLjEwOTQ1MTI5Mzk0NTMxXSwgWzE2NjM5MTk5NzguMTE5ODM1NCwgMjcsIDQwLjUxNzk0ODE1MDYzNDc2Nl0sIFsxNjYzOTE5OTc4LjIzMzY0MjMsIDM2LCAzOS4wODQ0OTE3Mjk3MzYzM10sIFsxNjYzOTE5OTc4LjM1MTIwMDYsIDQ1LCAzNi44MzI1MTk1MzEyNV0sIFsxNjYzOTE5OTc4LjkyNzg3MzEsIDkwLCAyOS4zOTM2NDQzMzI4ODU3NDJdLCBbMTY2MzkxOTk3OS4wNDU2MjU3LCA5OSwgMjguMzc1ODIyMDY3MjYwNzQyXSwgWzE2NjM5MTk5NzkuMTY1NjU4NywgMTA4LCAyNy4xNDI0Nzg5NDI4NzEwOTRdLCBbMTY2MzkxOTk3OS42NzQ0NjIzLCAxMzUsIDIxLjEyNjExOTYxMzY0NzQ2XSwgWzE2NjM5MTk5NzkuNzk3MjQwMywgMTQ0LCAxOC42NzI4MDc2OTM0ODE0NDVdLCBbMTY2MzkxOTk3OS45MjQxMTcsIDE1MywgMTYuNDQxNTYyNjUyNTg3ODldLCBbMTY2MzkxOTk4MC4xNjc2MTA2LCAxNzEsIDExLjk2OTc5MzMxOTcwMjE0OF0sIFsxNjYzOTE5OTgwLjI4MTM1NiwgMTgwLCA5LjkzNDkxNTU0MjYwMjUzOV0sIFsxNjYzOTE5OTgwLjM4NDc3OSwgMTg5LCA4LjMzMzQwMTY3OTk5MjY3Nl0sIFsxNjYzOTE5OTgwLjYzMTkxOTQsIDIwNywgNi42OTIyNTEyMDU0NDQzMzZdLCBbMTY2MzkxOTk4MC43NDc2ODksIDIxNiwgNi4zNTk5NTEwMTkyODcxMDldLCBbMTY2MzkxOTk4MS4wODIwMDE0LCAyNDMsIDYuMDUzODAzOTIwNzQ1ODVdLCBbMTY2MzkxOTk4MS4xOTAxNDI0LCAyNTIsIDYuMDQ5MTA5OTM1NzYwNDk4XSwgWzE2NjM5MTk5ODEuMjk4NTk0NywgMjYxLCA2LjA3NDkxODI3MDExMTA4NF0sIFsxNjYzOTE5OTgxLjQwODY0MzIsIDI3MCwgNS45MTE2ODczNzQxMTQ5OV0sIFsxNjYzOTE5OTgxLjUxMzkzOTQsIDI3OSwgNS44MzUzMjk1MzI2MjMyOTFdLCBbMTY2MzkxOTk4MS44NDM5ODUzLCAzMDYsIDUuNzA0MTk2OTI5OTMxNjQxXSwgWzE2NjM5MTk5ODEuOTY0ODcwMiwgMzE1LCA1LjQ4Mjk5NDU1NjQyNzAwMl0sIFsxNjYzOTE5OTgyLjE5NzM0MDMsIDMzMywgNS40MzczOTIyMzQ4MDIyNDZdLCBbMTY2MzkxOTk4Mi4zMDczODk3LCAzNDIsIDUuNTcyNTA5Mjg4Nzg3ODQyXSwgWzE2NjM5MTk5ODIuNDEyOTk5NCwgMzUxLCA1LjU1MDUxMjc5MDY3OTkzMl0sIFsxNjYzOTE5OTgyLjUyMjM4NTgsIDM2MCwgNS40Mjk3MDQxODkzMDA1MzddLCBbMTY2MzkxOTk4Mi42MzE5NDMsIDM2OSwgNS40OTI0Nzc0MTY5OTIxODc1XSwgWzE2NjM5MTk5ODMuNDUwMjA3NywgNDMyLCA1LjA3ODk5MzMyMDQ2NTA4OF0sIFsxNjYzOTE5OTgzLjU1NzA3MjYsIDQ0MSwgNS4wOTcyMDA4NzA1MTM5MTZdLCBbMTY2MzkxOTk4My42NjUwMTk4LCA0NTAsIDUuMDQ4MjIxNTg4MTM0NzY2XSwgWzE2NjM5MTk5ODMuNzc4OTUxMiwgNDU5LCA0Ljk4MTg1NDkxNTYxODg5NjVdLCBbMTY2MzkxOTk4My44OTAzMjcyLCA0NjgsIDQuOTE4OTE3MTc5MTA3NjY2XSwgWzE2NjM5MTk5ODQuMDE0OTk2MywgNDc3LCA0Ljk1MjM0NTg0ODA4MzQ5Nl0sIFsxNjYzOTE5OTg0LjI0NzY0MDgsIDQ5NSwgNC44MjkyNTY1MzQ1NzY0MTZdLCBbMTY2MzkxOTk4NC4zNTQ3OCwgNTA0LCA0Ljc4NjAwMzExMjc5Mjk2OV0sIFsxNjYzOTE5OTg0LjU4NzE3NDIsIDUyMiwgNC43MDAxNzc2Njk1MjUxNDY1XSwgWzE2NjM5MTk5ODQuOTA2Mzk5NSwgNTQ5LCA0LjY3OTMzMTc3OTQ3OTk4MDVdLCBbMTY2MzkxOTk4NS4wMjgxMDEsIDU1OCwgNC41NjYxMjYzNDY1ODgxMzVdLCBbMTY2MzkxOTk4NS4xNTA1ODk1LCA1NjcsIDQuNDcyMjE5OTQ0MDAwMjQ0XSwgWzE2NjM5MTk5ODUuMjU1Mzk5NywgNTc2LCA0LjUwMzY2NjQwMDkwOTQyNF0sIFsxNjYzOTE5OTg1LjQ5NTkwOTIsIDU5NCwgNC40OTIzMTk1ODM4OTI4MjJdLCBbMTY2MzkxOTk4NS41OTM3Mzg2LCA2MDMsIDQuMzUwMDA2NTgwMzUyNzgzXSwgWzE2NjM5MTk5ODUuNjg2MjA0LCA2MTIsIDQuMzU0MDg5MjYwMTAxMzE4XSwgWzE2NjM5MTk5ODUuNzc0Nzk3MiwgNjIxLCA0LjM1NjMwNTU5OTIxMjY0NjVdLCBbMTY2MzkxOTk4NS45NjkyMTM1LCA2MzksIDQuMzE3OTE1NDM5NjA1NzEzXSwgWzE2NjM5MTk5ODYuMDcxNDgsIDY0OCwgNC4yNjkyNDg0ODU1NjUxODU1XSwgWzE2NjM5MTk5ODYuMjYxMjE5LCA2NjYsIDQuMTk5MDI2NTg0NjI1MjQ0XSwgWzE2NjM5MTk5ODYuNDYxNDMwNSwgNjg0LCA0LjA4NDE0NzkzMDE0NTI2NF0sIFsxNjYzOTE5OTg2LjY2MTU3MDgsIDcwMiwgNC4wMjUxNjY1MTE1MzU2NDQ1XSwgWzE2NjM5MTk5ODYuODY4OTg4MywgNzIwLCA0LjA0MDM5MDk2ODMyMjc1NF0sIFsxNjYzOTE5OTg2Ljk2NTA4MjIsIDcyOSwgMy45NjMwNDk2NTAxOTIyNjA3XSwgWzE2NjM5MTk5ODcuMTY3NjM4LCA3NDcsIDMuODY0ODI4NTg2NTc4MzY5XSwgWzE2NjM5MTk5ODcuMzE5Njg3NCwgNzU2LCAzLjgzNzE0NDYxMzI2NTk5MV0sIFsxNjYzOTE5OTg3LjUzNzY2MzcsIDc3NCwgMy44NDMyNDQ3OTEwMzA4ODRdLCBbMTY2MzkxOTk4Ny42NTUyMDEyLCA3ODMsIDMuNzE1ODkzNTA3MDAzNzg0XSwgWzE2NjM5MTk5ODcuOTkwNTI3NiwgODEwLCAzLjcwMDU0ODg4NzI1MjgwNzZdLCBbMTY2MzkxOTk4OC4xMDk3NTEyLCA4MTksIDMuNjk4NDE3NjYzNTc0MjE4OF0sIFsxNjYzOTE5OTg4LjY3MzM4NSwgODY0LCAzLjQ1MjQ5MTUyMTgzNTMyN10sIFsxNjYzOTE5OTg5LjI5NDkzMiwgOTAwLCAzLjU0MDMxODQ4OTA3NDcwN10sIFsxNjYzOTE5OTg5LjQwOTQ4MSwgOTA5LCAzLjQ3MTQ2MTUzNDUwMDEyMl0sIFsxNjYzOTE5OTg5LjczNDU3NTMsIDkzNiwgMy4zNDM2NzQ0MjEzMTA0MjVdLCBbMTY2MzkxOTk4OS44NTU1MTIxLCA5NDUsIDMuMzAyNjk1OTg5NjA4NzY0Nl0sIFsxNjYzOTE5OTkwLjA4OTAwNzksIDk2MywgMy4yNjMwMjcxOTExNjIxMDk0XSwgWzE2NjM5MTk5OTAuMjA0MjEwNSwgOTcyLCAzLjI4MjIwNDYyNzk5MDcyMjddLCBbMTY2MzkxOTk5MC40MjU5NDY3LCA5OTAsIDMuMTY2ODE1MDQyNDk1NzI3NV0sIFsxNjYzOTE5OTkwLjUzNzM3NjksIDk5OSwgMy4yMDE3MTgwOTE5NjQ3MjE3XSwgWzE2NjM5MTk5OTAuNjQ4MjkzNSwgMTAwOCwgMy4xODI1MjExMDQ4MTI2MjJdLCBbMTY2MzkxOTk5MC43NTM1NDI3LCAxMDE3LCAzLjE5OTU2MjA3Mjc1MzkwNjJdLCBbMTY2MzkxOTk5MC45NjU0OTksIDEwMzUsIDMuMDc5MjU1NTgwOTAyMDk5Nl0sIFsxNjYzOTE5OTkxLjA5Mzg2NjMsIDEwNDQsIDMuMDg5NTQ1NzI2Nzc2MTIzXSwgWzE2NjM5MTk5OTEuMjEyMTA4NiwgMTA1MywgMy4wODQ3MDI3MzAxNzg4MzNdLCBbMTY2MzkxOTk5MS43NDExNDM3LCAxMDk4LCAyLjk0OTQ2ODYxMjY3MDg5ODRdLCBbMTY2MzkxOTk5Mi4xMzI5MTE3LCAxMTM0LCAyLjkwNjE5ODc0MDAwNTQ5M10sIFsxNjYzOTE5OTkyLjIzNjM5NywgMTE0MywgMi44NjY1NDYzOTI0NDA3OTZdLCBbMTY2MzkxOTk5Mi40NDExMTM3LCAxMTYxLCAyLjc5MjA2ODcxOTg2Mzg5MTZdLCBbMTY2MzkxOTk5Mi41Mzc4NywgMTE3MCwgMi44Mjk4NTYxNTczMDI4NTY0XSwgWzE2NjM5MTk5OTIuNjM0ODY2NSwgMTE3OSwgMi44Mjk3MDY5MDcyNzIzMzldLCBbMTY2MzkxOTk5Mi43MjY0MTEsIDExODgsIDIuODE1ODU0MDcyNTcwODAxXSwgWzE2NjM5MTk5OTIuODI0MDA2OCwgMTE5NywgMi43NzIwNzU4OTE0OTQ3NTFdLCBbMTY2MzkxOTk5My4wMjQxNDU4LCAxMjE1LCAyLjY5OTQyOTk4ODg2MTA4NF0sIFsxNjYzOTE5OTkzLjIzMzI3MzUsIDEyMzMsIDIuNjkyMzA2MjgwMTM2MTA4NF0sIFsxNjYzOTE5OTkzLjMyNzMxODIsIDEyNDIsIDIuNjcyMzgxNjM5NDgwNTkxXSwgWzE2NjM5MTk5OTMuNDQwMDQ0LCAxMjUxLCAyLjc2MDg4MzU2OTcxNzQwNzJdLCBbMTY2MzkxOTk5My45NzkxNjgsIDEyOTYsIDIuNTQxMzAwMjk2NzgzNDQ3M10sIFsxNjYzOTE5OTk0LjA3NTg2NCwgMTMwNSwgMi42MTI0NTE3OTE3NjMzMDU3XSwgWzE2NjM5MTk5OTQuMjc5OTY1NiwgMTMyMywgMi41NDc2NTAwOTg4MDA2NTldLCBbMTY2MzkxOTk5NC4zODU4MTk0LCAxMzMyLCAyLjU0ODExMjYzMDg0NDExNl0sIFsxNjYzOTE5OTk0LjcyMzAxODYsIDEzNTksIDIuNDgyMjQ5OTc1MjA0NDY3OF0sIFsxNjYzOTE5OTk1LjE2OTIzOTMsIDEzOTUsIDIuNDM1MDE1Njc4NDA1NzYxN10sIFsxNjYzOTE5OTk1LjQwMjc0MSwgMTQxMywgMi40MzA4MzAyNDAyNDk2MzRdLCBbMTY2MzkxOTk5NS41MjAyMjg5LCAxNDIyLCAyLjQyNDg5OTU3ODA5NDQ4MjRdLCBbMTY2MzkxOTk5NS43MzEwNjM4LCAxNDQwLCAyLjM5MjcyOTUyMDc5NzcyOTVdLCBbMTY2MzkxOTk5NS44NDAxNTgyLCAxNDQ5LCAyLjM3NzkxNjA5NzY0MDk5MV0sIFsxNjYzOTE5OTk2LjA0MDQwNSwgMTQ2NywgMi4zNTQzMDMzNTk5ODUzNTE2XSwgWzE2NjM5MTk5OTYuMTQ3MjgxMiwgMTQ3NiwgMi4zNTY4NzE4NDMzMzgwMTI3XSwgWzE2NjM5MTk5OTYuMjUwOTY4LCAxNDg1LCAyLjM1MjQ0MDgzNDA0NTQxXSwgWzE2NjM5MTk5OTYuNDQ2NzEwOCwgMTUwMywgMi4yNjIwMDAzMjIzNDE5MTldLCBbMTY2MzkxOTk5Ni43MDYxMDgzLCAxNTIxLCAyLjMwMTA5NzYzMTQ1NDQ2NzhdLCBbMTY2MzkxOTk5Ni45NTY1OTQsIDE1MzksIDIuMzE0MjUwOTQ2MDQ0OTIyXSwgWzE2NjM5MTk5OTcuMDg1NDgyOCwgMTU0OCwgMi4yNTU2MDE4ODI5MzQ1NzAzXSwgWzE2NjM5MTk5OTcuMTk0OTY2LCAxNTU3LCAyLjI5NTg0NDA3ODA2Mzk2NV0sIFsxNjYzOTE5OTk3LjQwNDE2NjcsIDE1NzUsIDIuMzQyNTg4MTg2MjY0MDM4XSwgWzE2NjM5MTk5OTcuNTE5NTA1NywgMTU4NCwgMi4yMzc3OTQ4NzYwOTg2MzNdLCBbMTY2MzkxOTk5Ny42MTQyMzU0LCAxNTkzLCAyLjIzNjc1NDQxNzQxOTQzMzZdLCBbMTY2MzkxOTk5Ny43MDk5NDQ1LCAxNjAyLCAyLjI1NjM3ODY1MDY2NTI4M10sIFsxNjYzOTE5OTk3LjgxNDc0NjksIDE2MTEsIDIuMjE1Mzg0NzIxNzU1OTgxNF0sIFsxNjYzOTE5OTk4LjAwOTcyLCAxNjI5LCAyLjIwMDMxMzU2ODExNTIzNDRdLCBbMTY2MzkxOTk5OC4xMDM4NjU0LCAxNjM4LCAyLjE0NzA3NjYwNjc1MDQ4ODNdLCBbMTY2MzkxOTk5OC4xOTc2OTg4LCAxNjQ3LCAyLjE0NTg0Mjc5MDYwMzYzNzddLCBbMTY2MzkxOTk5OC4zMTg3NzY2LCAxNjU2LCAyLjE4OTY5NDg4MTQzOTIwOV0sIFsxNjYzOTE5OTk4LjY1MzUzMjcsIDE2NjUsIDIuMTU0Mzk0Mzg4MTk4ODUyNV0sIFsxNjYzOTE5OTk4Ljc2NzIxLCAxNjc0LCAyLjIwMzMwMDQ3NjA3NDIxODhdLCBbMTY2MzkxOTk5OC44NjExMTIsIDE2ODMsIDIuMTY5MjkyMjExNTMyNTkyOF0sIFsxNjYzOTE5OTk5LjE1MTYsIDE3MTAsIDIuMTg5OTEzMDM0NDM5MDg3XSwgWzE2NjM5MTk5OTkuMjUzOTA2LCAxNzE5LCAyLjIyMjY4OTYyODYwMTA3NF0sIFsxNjYzOTE5OTk5LjM2NDEyMDcsIDE3MjgsIDIuMTk3Mzc3NDQzMzEzNTk4Nl0sIFsxNjYzOTE5OTk5LjQ3Mjc4MDUsIDE3MzcsIDIuMTU5Njk2NTc4OTc5NDkyXSwgWzE2NjM5MTk5OTkuNzg3NTQ0NywgMTc2NCwgMi4xMDkyNDI0MzkyNzAwMTk1XSwgWzE2NjM5MjAwMDAuMTEzMDU5LCAxNzkxLCAyLjA5ODU3NDE2MTUyOTU0MV0sIFsxNjYzOTIwMDAwLjIyNDY4MTEsIDE4MDAsIDIuMDk5MjEwNTAwNzE3MTYzXSwgWzE2NjM5MjAwMDAuMzE1ODM0MywgMTgwOSwgMi4wNDkyNjQ0MzA5OTk3NTZdLCBbMTY2MzkyMDAwMC41MDYzOTcsIDE4MjcsIDIuMTA2NTk4ODU0MDY0OTQxNF0sIFsxNjYzOTIwMDAwLjYwNDgyODEsIDE4MzYsIDIuMTc1MDE2MTY0Nzc5NjYzXSwgWzE2NjM5MjAwMDAuNzE0OTY1NiwgMTg0NSwgMi4xNDcxMzA5NjYxODY1MjM0XSwgWzE2NjM5MjAwMDAuODE3MjEzNSwgMTg1NCwgMi4xNDA2MzAyNDUyMDg3NDAyXSwgWzE2NjM5MjAwMDEuMDU0NjYzLCAxODcyLCAyLjA2NTExNzgzNTk5ODUzNV0sIFsxNjYzOTIwMDAxLjI1MDgyMTgsIDE4OTAsIDIuMDUwNDIwOTk5NTI2OTc3NV0sIFsxNjYzOTIwMDAxLjQ0NDgyMzUsIDE5MDgsIDIuMDM3NDcyOTYzMzMzMTNdLCBbMTY2MzkyMDAwMS42NDA2NDEsIDE5MjYsIDIuMDI2MzkyMjIxNDUwODA1N10sIFsxNjYzOTIwMDAxLjgzNzQwOTcsIDE5NDQsIDIuMDA2MzQ2MjI1NzM4NTI1NF0sIFsxNjYzOTIwMDAxLjkyOTQ4NjMsIDE5NTMsIDIuMDI1NjUyNjQ3MDE4NDMyNl0sIFsxNjYzOTIwMDAyLjEyNTMwNjgsIDE5NzEsIDIuMDc2OTc1MTA3MTkyOTkzXSwgWzE2NjM5MjAwMDIuMjM5Mjk3LCAxOTgwLCAyLjAwMDA1NTU1MTUyODkzMDddLCBbMTY2MzkyMDAwMi4zNjAyNjkzLCAxOTg5LCAxLjk1NjM4OTE4ODc2NjQ3OTVdLCBbMTY2MzkyMDAwMi40NjI5MjgsIDE5OTgsIDEuOTc2NjQzNTYyMzE2ODk0NV0sIFsxNjYzOTIwMDAyLjU1NDUzNzgsIDIwMDcsIDIuMDI2ODUwNDYxOTU5ODM5XSwgWzE2NjM5MjAwMDIuNzQ1NDE4LCAyMDI1LCAxLjk4OTM5ODI0MTA0MzA5MDhdLCBbMTY2MzkyMDAwMi44NDM0MjMsIDIwMzQsIDIuMDU3MjQ4MTE1NTM5NTUxXSwgWzE2NjM5MjAwMDIuOTM0ODg0OCwgMjA0MywgMi4wOTg1NTY3NTY5NzMyNjY2XSwgWzE2NjM5MjAwMDMuMjY1NTAzNCwgMjA3MCwgMS45NjI5OTA3NjA4MDMyMjI3XSwgWzE2NjM5MjAwMDMuNTgxMDk1LCAyMDk3LCAyLjAxNzMyOTQ1NDQyMTk5N10sIFsxNjYzOTIwMDAzLjc4Mzk3NywgMjExNSwgMS45NzQ0NzEzMzA2NDI3MDAyXSwgWzE2NjM5MjAwMDMuODk1NjE2LCAyMTI0LCAxLjk2OTIyNTA0OTAxODg1OTldLCBbMTY2MzkyMDAwMy45OTM2NzQzLCAyMTMzLCAxLjk0ODA1MDM3OTc1MzExMjhdLCBbMTY2MzkyMDAwNC4wODgwNTIzLCAyMTQyLCAxLjk4NzgxOTA3NTU4NDQxMTZdLCBbMTY2MzkyMDAwNC4xODY1MTgsIDIxNTEsIDEuOTM0ODEzNzM3ODY5MjYyN10sIFsxNjYzOTIwMDA0LjI5MTkxMzMsIDIxNjAsIDEuODk2NzkxNjk2NTQ4NDYyXSwgWzE2NjM5MjAwMDQuNDgyMjE5LCAyMTc4LCAxLjkyNDEwMTgyOTUyODgwODZdLCBbMTY2MzkyMDAwNC41NzY3MDU1LCAyMTg3LCAxLjkzOTY2OTYwOTA2OTgyNDJdLCBbMTY2MzkyMDAwNC43NjcyODYsIDIyMDUsIDEuOTYxNjcyMTg2ODUxNTAxNV0sIFsxNjYzOTIwMDA0Ljg1OTIzNjcsIDIyMTQsIDEuOTQ3NzI5ODI1OTczNTEwN10sIFsxNjYzOTIwMDA0Ljk3NDYyODcsIDIyMjMsIDEuOTcyNjMyMjg4OTMyODAwM10sIFsxNjYzOTIwMDA1LjA3ODU4NjYsIDIyMzIsIDEuOTIyNjA5Njg2ODUxNTAxNV0sIFsxNjYzOTIwMDA1LjMwNzM5NjQsIDIyNTAsIDEuOTg0Mzk3NjQ5NzY1MDE0Nl0sIFsxNjYzOTIwMDA1LjYzMTQxNjMsIDIyNzcsIDEuOTEyMTc2NzI4MjQ4NTk2Ml0sIFsxNjYzOTIwMDA1Ljc0MDkzMDYsIDIyODYsIDEuOTMxNzgwOTM0MzMzODAxM10sIFsxNjYzOTIwMDA1Ljg0MTExOTgsIDIyOTUsIDEuOTA5MTk2NDk2MDA5ODI2N10sIFsxNjYzOTIwMDA2LjE4MTE5MDcsIDIzMjIsIDEuODY4NjE3ODkyMjY1MzE5OF0sIFsxNjYzOTIwMDA2LjI3MDYzNDQsIDIzMzEsIDEuODY0NTk5MjI3OTA1MjczNF0sIFsxNjYzOTIwMDA2LjM2NTI1MTUsIDIzNDAsIDEuOTA4MDA5NjQ4MzIzMDU5XSwgWzE2NjM5MjAwMDYuNTA2MjMyNSwgMjM0OSwgMS44NzY5MDQ2MDY4MTkxNTI4XSwgWzE2NjM5MjAwMDYuNzE5NDkzNiwgMjM2NywgMS44OTkzMzE4MDgwOTAyMV0sIFsxNjYzOTIwMDA2LjgxNjQwMzksIDIzNzYsIDEuODY3Mzc1NjEyMjU4OTExMV0sIFsxNjYzOTIwMDA3LjMxMzE4NzEsIDI0MjEsIDEuODI3OTQzNjgyNjcwNTkzM10sIFsxNjYzOTIwMDA3LjgwMTY0MzgsIDI0MzksIDEuODQ1MjcyNTQxMDQ2MTQyNl0sIFsxNjYzOTIwMDA3LjkwMjgwMzIsIDI0NDgsIDEuODM5Njg4MTgxODc3MTM2Ml0sIFsxNjYzOTIwMDA4LjE4NTk3MjcsIDI0NzUsIDEuOTU0Mjc2NjgwOTQ2MzVdLCBbMTY2MzkyMDAwOC4yODE3ODE3LCAyNDg0LCAxLjg5MTAyOTU5NjMyODczNTRdLCBbMTY2MzkyMDAwOC4zNzQwMTUsIDI0OTMsIDEuODc2MjQ5MzEzMzU0NDkyMl0sIFsxNjYzOTIwMDA4LjU2Mjg3NSwgMjUxMSwgMS44NDg3NDQ4NjkyMzIxNzc3XSwgWzE2NjM5MjAwMDguNzUwMjI2NSwgMjUyOSwgMS44NTEwMTY4NzkwODE3MjZdLCBbMTY2MzkyMDAwOC45ODQ0NzgyLCAyNTQ3LCAxLjg2NzAwMjYwNjM5MTkwNjddLCBbMTY2MzkyMDAwOS4wODExNjg0LCAyNTU2LCAxLjgzODc0NzAyNDUzNjEzMjhdLCBbMTY2MzkyMDAwOS4xOTA2MzM1LCAyNTY1LCAxLjg4MTI3MDQwODYzMDM3MV0sIFsxNjYzOTIwMDA5LjI4NzIxNzYsIDI1NzQsIDEuODA2MDQ4NTEyNDU4ODAxM10sIFsxNjYzOTIwMDA5LjU1NDQyNDUsIDI1OTIsIDEuODMxMjYzMzAzNzU2NzEzOV0sIFsxNjYzOTIwMDA5LjY0OTMyNSwgMjYwMSwgMS43OTg2NzM2Mjk3NjA3NDIyXSwgWzE2NjM5MjAwMDkuODM0NDI4OCwgMjYxOSwgMS44NzU1ODM3Njc4OTA5MzAyXSwgWzE2NjM5MjAwMDkuOTI4NTk2NywgMjYyOCwgMS44MTIyODQ4MjcyMzIzNjA4XSwgWzE2NjM5MjAwMTAuMzEzMzAyMywgMjY2NCwgMS44MTM1NzY2OTgzMDMyMjI3XSwgWzE2NjM5MjAwMTAuNDEyMTA2MywgMjY3MywgMS43ODAyNjIyMzE4MjY3ODIyXSwgWzE2NjM5MjAwMTAuNTA2ODM0NSwgMjY4MiwgMS43NzgyMjk5NTE4NTg1MjA1XSwgWzE2NjM5MjAwMTAuNTk2NzAxLCAyNjkxLCAxLjc3MTYxMjA0ODE0OTEwODldLCBbMTY2MzkyMDAxMC42ODgzNjMsIDI3MDAsIDEuNzcyNDg0NTQwOTM5MzMxXSwgWzE2NjM5MjAwMTEuMTc1MDU3LCAyNzQ1LCAxLjg0MDI2NzY1ODIzMzY0MjZdLCBbMTY2MzkyMDAxMS4zMTc0MTc2LCAyNzU0LCAxLjgzMDU3ODIwNzk2OTY2NTVdLCBbMTY2MzkyMDAxMS40Mjg4MjMyLCAyNzYzLCAxLjgwNDc5NjIxODg3MjA3MDNdLCBbMTY2MzkyMDAxMS41MzE4MjM5LCAyNzcyLCAxLjg1OTgxNTgzNTk1Mjc1ODhdLCBbMTY2MzkyMDAxMS42MzEzNDMsIDI3ODEsIDEuODU3NjkwODExMTU3MjI2Nl0sIFsxNjYzOTIwMDExLjc1NTczMjMsIDI3OTAsIDEuNzc3MzU1OTA5MzQ3NTM0Ml0sIFsxNjYzOTIwMDEyLjA0NjcyNSwgMjgxNywgMS43NjE5MDc4MTU5MzMyMjc1XSwgWzE2NjM5MjAwMTIuMTQ0NjQxMiwgMjgyNiwgMS43OTI2ODYyMjM5ODM3NjQ2XSwgWzE2NjM5MjAwMTIuMjUwOTcwNiwgMjgzNSwgMS43ODEyNDI4NDc0NDI2MjddLCBbMTY2MzkyMDAxMi4zNDQxMjMxLCAyODQ0LCAxLjc3NTI3OTg3OTU3MDAwNzNdLCBbMTY2MzkyMDAxMi40NDExOTQ1LCAyODUzLCAxLjc5MjI0ODAxMDYzNTM3Nl0sIFsxNjYzOTIwMDEyLjY0NzkwNTMsIDI4NzEsIDEuODE2MDE2MTk3MjA0NTg5OF0sIFsxNjYzOTIwMDEyLjczOTM5NzMsIDI4ODAsIDEuNzc4NTE4MzE5MTI5OTQzOF0sIFsxNjYzOTIwMDEzLjA0MDM5NTMsIDI5MDcsIDEuNzQ1MTkzNDgxNDQ1MzEyNV0sIFsxNjYzOTIwMDEzLjIzNDEzMTYsIDI5MjUsIDEuNzIyOTE0NDU3MzIxMTY3XSwgWzE2NjM5MjAwMTMuNzMxOTk4NywgMjk3MCwgMS43ODg4MTc2NDQxMTkyNjI3XSwgWzE2NjM5MjAwMTMuODIyMzgxLCAyOTc5LCAxLjcwNjQ5NDY4ODk4NzczMl0sIFsxNjYzOTIwMDEzLjkxMTMwNTQsIDI5ODgsIDEuNzAwOTU1MTUyNTExNTk2N10sIFsxNjYzOTIwMDE0LjAxOTUwNDUsIDI5OTcsIDEuNzA4MTU0NTU5MTM1NDM3XSwgWzE2NjM5MjAwMTQuMTE4MzE5NSwgMzAwNiwgMS43NjAxNjEyODA2MzIwMTldLCBbMTY2MzkyMDAxNC41MDY0NzM4LCAzMDQyLCAxLjcyNzQyNTkzMjg4NDIxNjNdLCBbMTY2MzkyMDAxNC41OTg2Mzg4LCAzMDUxLCAxLjcyNTE1Mjk2OTM2MDM1MTZdLCBbMTY2MzkyMDAxNC44MDgzMjcyLCAzMDY5LCAxLjczNDQxNzY3NjkyNTY1OTJdLCBbMTY2MzkyMDAxNS4wODcyMTU0LCAzMDk2LCAxLjcyNjc4NTc3ODk5OTMyODZdLCBbMTY2MzkyMDAxNS4xOTg2NCwgMzEwNSwgMS42ODIwODkwOTAzNDcyOV0sIFsxNjYzOTIwMDE1LjI5MTIyNCwgMzExNCwgMS43MTA1NTA2NjU4NTU0MDc3XSwgWzE2NjM5MjAwMTUuMzkyMjAwNSwgMzEyMywgMS43MDU0NjIzMzY1NDAyMjIyXSwgWzE2NjM5MjAwMTUuNjE4ODIxNiwgMzE0MSwgMS42NjY1OTM2NzA4NDUwMzE3XSwgWzE2NjM5MjAwMTUuNzE5NzI1MSwgMzE1MCwgMS43MTMyNTQ5Mjg1ODg4NjcyXSwgWzE2NjM5MjAwMTUuODE3MDAwNiwgMzE1OSwgMS43MzUxNDAwODUyMjAzMzddLCBbMTY2MzkyMDAxNi4wMTQ5NjQzLCAzMTc3LCAxLjcyNDM0NTY4NDA1MTUxMzddLCBbMTY2MzkyMDAxNi4xMTM2NDgsIDMxODYsIDEuNzAxNDk0MzM2MTI4MjM0OV0sIFsxNjYzOTIwMDE2LjQxNTU2OTgsIDMxOTUsIDEuNjc4ODY5MjQ3NDM2NTIzNF0sIFsxNjYzOTIwMDE2LjUxMDY5NTIsIDMyMDQsIDEuNzAzNDQzMTY5NTkzODExXSwgWzE2NjM5MjAwMTYuNzI1ODMxMywgMzIyMiwgMS43MDIwODk0Mjg5MDE2NzI0XSwgWzE2NjM5MjAwMTYuODUxNjk0OCwgMzIzMSwgMS43MDA1NjMxOTIzNjc1NTM3XSwgWzE2NjM5MjAwMTcuMTIxOTM3NSwgMzI0OSwgMS42NjIwNTY1NjUyODQ3MjldLCBbMTY2MzkyMDAxNy4yNDAwNzI1LCAzMjU4LCAxLjcwMDIzMTc5MDU0MjYwMjVdLCBbMTY2MzkyMDAxNy4zNDQzODU2LCAzMjY3LCAxLjc1MjE0Mjc4Njk3OTY3NTNdLCBbMTY2MzkyMDAxNy40NzkyMjY2LCAzMjc2LCAxLjc5NTUzMjk0MTgxODIzNzNdLCBbMTY2MzkyMDAxNy42MjgwNjk5LCAzMjg1LCAxLjY3NjM2NjkyNTIzOTU2M10sIFsxNjYzOTIwMDE3Ljc3NzAxNSwgMzI5NCwgMS42NzM4OTU1OTc0NTc4ODU3XSwgWzE2NjM5MjAwMTcuOTM4MDc2LCAzMzAzLCAxLjY4MTIwNzg5NTI3ODkzMDddLCBbMTY2MzkyMDAxOC4xMDExMDcxLCAzMzEyLCAxLjcwNDMwMjQzMDE1Mjg5M10sIFsxNjYzOTIwMDE4LjI0MDc0NzcsIDMzMjEsIDEuNjQ4MDY1Njg2MjI1ODkxMV0sIFsxNjYzOTIwMDE4LjMzNTYwNjYsIDMzMzAsIDEuNjkwMDExOTc4MTQ5NDE0XSwgWzE2NjM5MjAwMTguOTUxNzE2LCAzMzc1LCAxLjcyOTIwMzQ2MjYwMDcwOF0sIFsxNjYzOTIwMDE5LjExMzc1MDIsIDMzODQsIDEuNjk3NjUzODg5NjU2MDY3XSwgWzE2NjM5MjAwMTkuMzQ1Mjc0NCwgMzQwMiwgMS42NDE5NTA2MDcyOTk4MDQ3XSwgWzE2NjM5MjAwMTkuNDg1NTE5NiwgMzQxMSwgMS42MTk4NzA1NDM0Nzk5MTk0XSwgWzE2NjM5MjAwMTkuOTc4MDUwMiwgMzQ0NywgMS42MzQ5MDg1NTY5MzgxNzE0XSwgWzE2NjM5MjAwMjAuMjMyODAzMywgMzQ2NSwgMS43MDczMDkyNDYwNjMyMzI0XSwgWzE2NjM5MjAwMjAuMzY5NjcxNiwgMzQ3NCwgMS43MzU1MzcyOTA1NzMxMjAxXSwgWzE2NjM5MjAwMjAuNDY5ODQ5NiwgMzQ4MywgMS43MzY1NDAwNzkxMTY4MjEzXSwgWzE2NjM5MjAwMjAuNzU1MTA3OSwgMzUxMCwgMS42MzIwNTAwMzczODQwMzMyXSwgWzE2NjM5MjAwMjAuODUyNDc2MSwgMzUxOSwgMS42MjUxMzkzNTU2NTk0ODQ5XSwgWzE2NjM5MjAwMjAuOTY1MTQ4NywgMzUyOCwgMS42MTg0NjE4NDczMDUyOTc5XSwgWzE2NjM5MjAwMjEuMDcxNjgzNiwgMzUzNywgMS42NTI5MTQwNDcyNDEyMTFdLCBbMTY2MzkyMDAyMS4xODg3MzY0LCAzNTQ2LCAxLjYyMTY3NjMyNTc5ODAzNDddLCBbMTY2MzkyMDAyMS4yODg0MDIsIDM1NTUsIDEuNjAwMDMzMjgzMjMzNjQyNl0sIFsxNjYzOTIwMDIxLjQwNjcwMTYsIDM1NjQsIDEuNjYyOTc0NDc2ODE0MjddLCBbMTY2MzkyMDAyMS41MjI4ODM0LCAzNTczLCAxLjYzOTg3MTAwMTI0MzU5MTNdLCBbMTY2MzkyMDAyMS42MzE3MDg5LCAzNTgyLCAxLjYxMTM2OTYwOTgzMjc2MzddLCBbMTY2MzkyMDAyMS43NDM3NTE1LCAzNTkxLCAxLjY0NTk3MDcwMjE3MTMyNTddLCBbMTY2MzkyMDAyMS44NTg3NTQ2LCAzNjAwLCAxLjYyMDk1OTE2MjcxMjA5NzJdLCBbMTY2MzkyMDAyMS45NzE2MDE3LCAzNjA5LCAxLjYzMDE1MTc0ODY1NzIyNjZdLCBbMTY2MzkyMDAyMi4wNzk4NDU3LCAzNjE4LCAxLjYyODc4NzM5ODMzODMxNzldLCBbMTY2MzkyMDAyMi4xOTQ1MzA1LCAzNjI3LCAxLjU5MzA2NTUwMDI1OTM5OTRdLCBbMTY2MzkyMDAyMi40MTU3NDkzLCAzNjQ1LCAxLjYyNjk3NTUzNjM0NjQzNTVdLCBbMTY2MzkyMDAyMi42NDE3ODk0LCAzNjYzLCAxLjYwNTgwNTI3NzgyNDQwMTldLCBbMTY2MzkyMDAyMi43NTM1NTc0LCAzNjcyLCAxLjY0NTg4NjQyMTIwMzYxMzNdLCBbMTY2MzkyMDAyMi44NTM5NjU4LCAzNjgxLCAxLjYxNTMxNzQ2Mzg3NDgxN10sIFsxNjYzOTIwMDIyLjk1MzE1MDcsIDM2OTAsIDEuNjE0NDUwMzM1NTAyNjI0NV0sIFsxNjYzOTIwMDIzLjI5MTA2OTcsIDM3MTcsIDEuNTc5MzkwNjQ1MDI3MTYwNl0sIFsxNjYzOTIwMDIzLjM5NTgyMTYsIDM3MjYsIDEuNjI4OTc1MDMzNzYwMDcwOF0sIFsxNjYzOTIwMDIzLjUwNDQ2NzIsIDM3MzUsIDEuNjAzMjU4MTMyOTM0NTcwM10sIFsxNjYzOTIwMDIzLjYxMjMwMDQsIDM3NDQsIDEuNjQxNzIyNjc5MTM4MTgzNl0sIFsxNjYzOTIwMDIzLjkzNTg4MzgsIDM3NzEsIDEuNTc5Mjg0NTQ4NzU5NDYwNF0sIFsxNjYzOTIwMDI0LjA0OTY3NSwgMzc4MCwgMS42MTEzMjQ2Njc5MzA2MDNdLCBbMTY2MzkyMDAyNC4yNjkzMjY0LCAzNzk4LCAxLjYzOTY2NjE5OTY4NDE0M10sIFsxNjYzOTIwMDI0LjM3NDAzNzcsIDM4MDcsIDEuNjM5OTIxNjY1MTkxNjUwNF0sIFsxNjYzOTIwMDI0LjcyOTY1MzYsIDM4MzQsIDEuNjg4OTE0ODk1MDU3Njc4Ml0sIFsxNjYzOTIwMDI0Ljg2MjE5MTcsIDM4NDMsIDEuNTk4MTQzNjk2Nzg0OTczMV0sIFsxNjYzOTIwMDI1LjIwMDYzOCwgMzg3MCwgMS41NjgxMDUyMjA3OTQ2Nzc3XSwgWzE2NjM5MjAwMjUuMzA2NjYzNSwgMzg3OSwgMS41NzQ3NTExMzg2ODcxMzM4XSwgWzE2NjM5MjAwMjUuNDEyNDE0MywgMzg4OCwgMS41NzE3MzU5NzgxMjY1MjU5XSwgWzE2NjM5MjAwMjUuNzI2MTIzLCAzOTE1LCAxLjU4NDEyMDg2OTYzNjUzNTZdLCBbMTY2MzkyMDAyNS44NDEwNzYsIDM5MjQsIDEuNTcwOTg2NzQ3NzQxNjk5Ml0sIFsxNjYzOTIwMDI1Ljk1NDY1MDksIDM5MzMsIDEuNjI5NDM0NDY2MzYxOTk5NV0sIFsxNjYzOTIwMDI2LjA2NjMwMjgsIDM5NDIsIDEuNTc0ODEwMzg1NzA0MDQwNV0sIFsxNjYzOTIwMDI2LjE4NzEzMTQsIDM5NTEsIDEuNTQ1OTA0Mjc4NzU1MTg4XSwgWzE2NjM5MjAwMjYuMjgxNjYyMiwgMzk2MCwgMS41NDIzNzU2ODM3ODQ0ODQ5XSwgWzE2NjM5MjAwMjYuMzg2MTEyNSwgMzk2OSwgMS41MzQ0Mzk4MDIxNjk3OTk4XSwgWzE2NjM5MjAwMjYuNjkwMTcyMiwgMzk3OCwgMS41NDIxNzI1NTExNTUwOTAzXSwgWzE2NjM5MjAwMjYuOTEzMjQwNCwgMzk5NiwgMS41ODMwNDg1ODIwNzcwMjY0XSwgWzE2NjM5MjAwMjcuMDE5MDUyMywgNDAwNSwgMS41NzM5MjA3MjY3NzYxMjNdLCBbMTY2MzkyMDAyNy4xMTIzNzE3LCA0MDE0LCAxLjUzMTU4NDUwMTI2NjQ3OTVdLCBbMTY2MzkyMDAyNy4yMTE1OTIsIDQwMjMsIDEuNTQyMTA2NzQ3NjI3MjU4M10sIFsxNjYzOTIwMDI3LjYxMTE5MjUsIDQwNTksIDEuNTQxNjA5NzY0MDk5MTIxXSwgWzE2NjM5MjAwMjcuNzEwMjcsIDQwNjgsIDEuNTM0MjYwMjcyOTc5NzM2M10sIFsxNjYzOTIwMDI3LjgwMTgwNDMsIDQwNzcsIDEuNTU5OTI5MTMyNDYxNTQ3OV0sIFsxNjYzOTIwMDI3Ljg5NjM2NzMsIDQwODYsIDEuNTQzNDUzNTc0MTgwNjAzXSwgWzE2NjM5MjAwMjcuOTk0MzgyNiwgNDA5NSwgMS41MTczNjU5MzI0NjQ1OTk2XSwgWzE2NjM5MjAwMjguMTkxOTA2MiwgNDExMywgMS41NTY2MjA4MzYyNTc5MzQ2XSwgWzE2NjM5MjAwMjguMzgzMTMyNywgNDEzMSwgMS41MjY4ODI3Njc2NzczMDcxXSwgWzE2NjM5MjAwMjguNTc3Mjk0OCwgNDE0OSwgMS41NDkwNTc0ODM2NzMwOTU3XSwgWzE2NjM5MjAwMjguNjcxMzYzNiwgNDE1OCwgMS41MzY4ODYzMzQ0MTkyNTA1XSwgWzE2NjM5MjAwMjguNzY2NzUxLCA0MTY3LCAxLjU1MzkzNDU3NDEyNzE5NzNdLCBbMTY2MzkyMDAyOC45NTIzMTIyLCA0MTg1LCAxLjUzMzY5NzI0NzUwNTE4OF0sIFsxNjYzOTIwMDI5LjA1MjE1NzIsIDQxOTQsIDEuNDkyMTQ3OTIyNTE1ODY5MV0sIFsxNjYzOTIwMDI5LjE1MDk2NTIsIDQyMDMsIDEuNTA0MDk0ODM5MDk2MDY5M10sIFsxNjYzOTIwMDI5LjMzNTg5MTcsIDQyMjEsIDEuNDgzMzQxNjkzODc4MTczOF0sIFsxNjYzOTIwMDI5LjUzNDc2OSwgNDIzOSwgMS41MjY1NjkzNjY0NTUwNzgxXSwgWzE2NjM5MjAwMjkuNjIxODYsIDQyNDgsIDEuNTI1NzMzOTQ3NzUzOTA2Ml0sIFsxNjYzOTIwMDI5LjgwNjU3MSwgNDI2NiwgMS41MzQ2OTkwODIzNzQ1NzI4XSwgWzE2NjM5MjAwMjkuOTAyNDQ1LCA0Mjc1LCAxLjUyNjgwODg1NzkxNzc4NTZdLCBbMTY2MzkyMDAzMC4wMzkwNjU4LCA0Mjg0LCAxLjUwODYyNTYyNjU2NDAyNTldLCBbMTY2MzkyMDAzMC4zMzI3OTk3LCA0MzExLCAxLjUwMzcxNTUxNTEzNjcxODhdLCBbMTY2MzkyMDAzMC40MzEzOTQzLCA0MzIwLCAxLjUyMDY4MDA2OTkyMzQwMDldLCBbMTY2MzkyMDAzMC41Mjc4Mjk2LCA0MzI5LCAxLjUwMjM1MTg4MDA3MzU0NzRdLCBbMTY2MzkyMDAzMC42MjQ4MzEyLCA0MzM4LCAxLjQ3NjU4MTIxNTg1ODQ1OTVdLCBbMTY2MzkyMDAzMC43Mjc0ODk1LCA0MzQ3LCAxLjUzMTgxNDgxMzYxMzg5MTZdLCBbMTY2MzkyMDAzMC44MjM2OTk1LCA0MzU2LCAxLjQ3Nzg1MTM5MDgzODYyM10sIFsxNjYzOTIwMDMwLjkyNTg4NDcsIDQzNjUsIDEuNTExNjQ3NDYyODQ0ODQ4Nl0sIFsxNjYzOTIwMDMxLjExNjcxMTksIDQzODMsIDEuNDg5NDAzMDA5NDE0NjcyOV0sIFsxNjYzOTIwMDMxLjIyMzM3ODcsIDQzOTIsIDEuNDgwMDg5NzgzNjY4NTE4XSwgWzE2NjM5MjAwMzEuMzE4MTIxNCwgNDQwMSwgMS40OTQ5OTIwMTc3NDU5NzE3XSwgWzE2NjM5MjAwMzEuNDE3MTExMiwgNDQxMCwgMS40NzkzMzE2MTI1ODY5NzVdLCBbMTY2MzkyMDAzMS42MTQzMDcyLCA0NDI4LCAxLjQ3MTA0NDY1OTYxNDU2M10sIFsxNjYzOTIwMDMxLjkxNTM1ODMsIDQ0NTUsIDEuNDgyOTY0MDM4ODQ4ODc3XSwgWzE2NjM5MjAwMzIuMDE1OTI1LCA0NDY0LCAxLjQ1MjQ5MzQyOTE4Mzk2XSwgWzE2NjM5MjAwMzIuMjEyNjQ3LCA0NDgyLCAxLjQ3ODAzNjA0NjAyODEzNzJdLCBbMTY2MzkyMDAzMi4zMDY0NTcsIDQ0OTEsIDEuNDcwODY0NjUzNTg3MzQxM10sIFsxNjYzOTIwMDMyLjYwMTEzMjYsIDQ1MTgsIDEuNDY0MTMzOTc3ODkwMDE0Nl0sIFsxNjYzOTIwMDMyLjcwNjg3MDgsIDQ1MjcsIDEuNDgzOTM5MjkwMDQ2NjkyXSwgWzE2NjM5MjAwMzIuNzk3MjA5NSwgNDUzNiwgMS40NDMyMzk0NTA0NTQ3MTJdLCBbMTY2MzkyMDAzMy4wODkwODg3LCA0NTYzLCAxLjQ5MzExMTM3MTk5NDAxODZdLCBbMTY2MzkyMDAzMy4yNzMwNDM5LCA0NTgxLCAxLjQ2NDQzNjQxMTg1NzYwNV0sIFsxNjYzOTIwMDMzLjM2NTEwNDQsIDQ1OTAsIDEuNDQ4Mzg2Nzg4MzY4MjI1XSwgWzE2NjM5MjAwMzMuNDU4ODk0NywgNDU5OSwgMS40OTk1NDYxNzAyMzQ2ODAyXSwgWzE2NjM5MjAwMzMuNTUwNDg1OCwgNDYwOCwgMS40OTU4MzQzNTA1ODU5Mzc1XSwgWzE2NjM5MjAwMzMuNjQ5NDQ5NiwgNDYxNywgMS40NDY3Njg4Nzk4OTA0NDJdLCBbMTY2MzkyMDAzMy43NDEwNDk1LCA0NjI2LCAxLjQ5ODU0MDk5NzUwNTE4OF0sIFsxNjYzOTIwMDMzLjgzODg3MSwgNDYzNSwgMS40NjM4NDIyNzI3NTg0ODM5XSwgWzE2NjM5MjAwMzQuMDI4OTU2NCwgNDY1MywgMS40ODM2NTg2NzEzNzkwODk0XSwgWzE2NjM5MjAwMzQuMTE4OTQ4LCA0NjYyLCAxLjQ1NjcwMzU0MzY2MzAyNV0sIFsxNjYzOTIwMDM0LjIxNDU5NiwgNDY3MSwgMS40NTM2Mjc3MDU1NzQwMzU2XSwgWzE2NjM5MjAwMzQuMzA2NzA1LCA0NjgwLCAxLjQ2MDM3NzMzNTU0ODQwMDldLCBbMTY2MzkyMDAzNC40MTAwODUyLCA0Njg5LCAxLjQxODUxMTI3MTQ3Njc0NTZdLCBbMTY2MzkyMDAzNC41NTUwMjc1LCA0Njk4LCAxLjQyMDI5MjYxNTg5MDUwM10sIFsxNjYzOTIwMDM0Ljc2MDg4NzYsIDQ3MTYsIDEuNDU2MzA2NTc2NzI4ODIwOF0sIFsxNjYzOTIwMDM1LjI5ODYwMTIsIDQ3NDMsIDEuNDYzNDEwMTM5MDgzODYyM10sIFsxNjYzOTIwMDM1Ljc1NDIzNjUsIDQ3NzksIDEuNDM4NDAwNTA2OTczMjY2Nl0sIFsxNjYzOTIwMDM2LjA3OTM1NzksIDQ4MDYsIDEuNDUzMzIzMDA2NjI5OTQzOF0sIFsxNjYzOTIwMDM2LjE2OTc0MjYsIDQ4MTUsIDEuNDQ3Mjk3OTMwNzE3NDY4M10sIFsxNjYzOTIwMDM2LjI3NDMzODcsIDQ4MjQsIDEuNDYzOTU2NDc1MjU3ODczNV0sIFsxNjYzOTIwMDM2LjM3NTU0NywgNDgzMywgMS40MzI5NDQ4OTM4MzY5NzVdLCBbMTY2MzkyMDAzNi40NjgwMDgsIDQ4NDIsIDEuNDM0NTI0MTc4NTA0OTQzOF0sIFsxNjYzOTIwMDM2LjU3NjU0MjEsIDQ4NTEsIDEuNDM4MjI4MTMwMzQwNTc2Ml0sIFsxNjYzOTIwMDM2LjY3MzE0ODYsIDQ4NjAsIDEuNDAwMTk4MTAxOTk3Mzc1NV0sIFsxNjYzOTIwMDM2Ljc3NjMxNywgNDg2OSwgMS40MTQxNDYwNjU3MTE5NzVdLCBbMTY2MzkyMDAzNi44NzQ1MzA4LCA0ODc4LCAxLjQ0NjA3NjUxMjMzNjczMV0sIFsxNjYzOTIwMDM2Ljk3NTcwMiwgNDg4NywgMS40NTQ1MzEwNzM1NzAyNTE1XSwgWzE2NjM5MjAwMzcuMDY4NzA1NiwgNDg5NiwgMS40OTgyODk4MjM1MzIxMDQ1XSwgWzE2NjM5MjAwMzcuMTc2NTQ1OSwgNDkwNSwgMS40NzYzNDYzNzM1NTgwNDQ0XSwgWzE2NjM5MjAwMzcuMzY5Nzk0MSwgNDkyMywgMS40MzI4MTgwNTUxNTI4OTNdLCBbMTY2MzkyMDAzNy40NzI4NDIsIDQ5MzIsIDEuNDAzNTc0NzA1MTIzOTAxNF0sIFsxNjYzOTIwMDM3Ljc1Mjk4MjQsIDQ5NTksIDEuNDY4Mjk4MzE2MDAxODkyXSwgWzE2NjM5MjAwMzcuOTY0MzgyNCwgNDk3NywgMS40MTg4OTcwMzI3Mzc3MzJdLCBbMTY2MzkyMDAzOC4yMTM3MzMyLCA0OTk1LCAxLjQzNDAwMTU2NDk3OTU1MzJdLCBbMTY2MzkyMDAzOC4zMTAzNTE0LCA1MDA0LCAxLjQ5MTQyNDY3OTc1NjE2NDZdLCBbMTY2MzkyMDAzOC40MDQ3NTY1LCA1MDEzLCAxLjQyMjIwOTYyMDQ3NTc2OV0sIFsxNjYzOTIwMDM5LjEyNzg4OTksIDUwNjcsIDEuMzczNjM4ODY4MzMxOTA5Ml0sIFsxNjYzOTIwMDM5LjIyNDgyMTMsIDUwNzYsIDEuMzkwMDAzMDg1MTM2NDEzNl0sIFsxNjYzOTIwMDM5LjMyMDQxNjUsIDUwODUsIDEuMzk5NTQ2Mzg0ODExNDAxNF0sIFsxNjYzOTIwMDM5LjUxMTI2NzIsIDUxMDMsIDEuMzc2ODAxMTMzMTU1ODIyOF0sIFsxNjYzOTIwMDM5LjYxMDY4ODIsIDUxMTIsIDEuMzg3MzU0MjU0NzIyNTk1Ml0sIFsxNjYzOTIwMDM5Ljc0MDk5ODcsIDUxMjEsIDEuNDA1ODY1NjY5MjUwNDg4M10sIFsxNjYzOTIwMDM5Ljg1Mzc2MzYsIDUxMzAsIDEuNDIyNjE4Mzg5MTI5NjM4N10sIFsxNjYzOTIwMDQwLjA2MzQxNjUsIDUxNDgsIDEuNDA0NzQzNTUyMjA3OTQ2OF0sIFsxNjYzOTIwMDQwLjI4NzUxMSwgNTE2NiwgMS4zOTUwOTU0Njc1Njc0NDM4XSwgWzE2NjM5MjAwNDAuNjIyNTM4NiwgNTE5MywgMS40MTQzMjEzMDMzNjc2MTQ3XSwgWzE2NjM5MjAwNDEuMDE4ODk3OCwgNTIyOSwgMS4zOTI2OTM5OTY0Mjk0NDM0XSwgWzE2NjM5MjAwNDEuNDM1MTE3NSwgNTI2NSwgMS40MDA5NDMwNDA4NDc3NzgzXSwgWzE2NjM5MjAwNDEuNTI2ODExNCwgNTI3NCwgMS4zNjUyODg4NTM2NDUzMjQ3XSwgWzE2NjM5MjAwNDEuNjIzMjA0NywgNTI4MywgMS40MDc1OTcxODQxODEyMTM0XSwgWzE2NjM5MjAwNDEuODE0Njg5NCwgNTMwMSwgMS40MjkxMjQ1OTM3MzQ3NDEyXSwgWzE2NjM5MjAwNDEuOTExODk2LCA1MzEwLCAxLjM5OTMxNjQzMDA5MTg1OF0sIFsxNjYzOTIwMDQyLjAzMjI1MTYsIDUzMTksIDEuMzY1NjA3OTc2OTEzNDUyMV0sIFsxNjYzOTIwMDQyLjEzMjg3MywgNTMyOCwgMS4zOTI0NTY0MTIzMTUzNjg3XSwgWzE2NjM5MjAwNDIuMjM0OTQ4NCwgNTMzNywgMS40Mjc0ODAzNDAwMDM5NjczXSwgWzE2NjM5MjAwNDIuNDIzNTAwOCwgNTM1NSwgMS40MTE3NzkwNDYwNTg2NTQ4XSwgWzE2NjM5MjAwNDIuNTE5ODc2MiwgNTM2NCwgMS4zNzQwODc4MTA1MTYzNTc0XSwgWzE2NjM5MjAwNDIuNjA5OTM4NCwgNTM3MywgMS4zODc0MjE3MjcxODA0ODFdLCBbMTY2MzkyMDA0Mi43MDM0MTksIDUzODIsIDEuMzU0NDgwOTgxODI2NzgyMl0sIFsxNjYzOTIwMDQyLjc5NTE1MDMsIDUzOTEsIDEuMzQ3MTYxMTczODIwNDk1Nl0sIFsxNjYzOTIwMDQyLjkwMDEyNDgsIDU0MDAsIDEuMzcwODQ2NzQ4MzUyMDUwOF0sIFsxNjYzOTIwMDQzLjExMTkwMzQsIDU0MTgsIDEuMzU5Njc4OTgzNjg4MzU0NV0sIFsxNjYzOTIwMDQzLjIwODE1MiwgNTQyNywgMS4zOTExODEyMzA1NDUwNDRdLCBbMTY2MzkyMDA0My4zMTUzMDYsIDU0MzYsIDEuMzY4MTIzNTMxMzQxNTUyN10sIFsxNjYzOTIwMDQzLjUwOTc1NzUsIDU0NTQsIDEuMzY3NDgzMDE5ODI4Nzk2NF0sIFsxNjYzOTIwMDQzLjc4NzA5OTYsIDU0ODEsIDEuMzQ0NzM2NTc2MDgwMzIyM10sIFsxNjYzOTIwMDQ0LjI1MjI1MjgsIDU0OTksIDEuMzYzNzgxMDk0NTUxMDg2NF0sIFsxNjYzOTIwMDQ0LjU4NDgxMSwgNTUyNiwgMS4zNDU0MzAxMzU3MjY5Mjg3XSwgWzE2NjM5MjAwNDQuNzEwMjY1NCwgNTUzNSwgMS4zNTUxNjY5MTIwNzg4NTc0XSwgWzE2NjM5MjAwNDQuOTQ3NDA0MSwgNTU1MywgMS4zMzkyMzQ0NzEzMjExMDZdLCBbMTY2MzkyMDA0NS4wNTA5MTM4LCA1NTYyLCAxLjMzMTc0NzI5MzQ3MjI5XSwgWzE2NjM5MjAwNDUuMTQzNjI1MywgNTU3MSwgMS4zNjMwMzIzNDEwMDM0MThdLCBbMTY2MzkyMDA0NS4zMjQyMDE4LCA1NTg5LCAxLjMzOTk4MDAwNjIxNzk1NjVdLCBbMTY2MzkyMDA0NS41MTkwNzAxLCA1NjA3LCAxLjM3Mzg3NTg1NjM5OTUzNjFdLCBbMTY2MzkyMDA0NS42MjUyNzgyLCA1NjE2LCAxLjM4MjUyNjc1NTMzMjk0NjhdLCBbMTY2MzkyMDA0NS44OTQzNTksIDU2NDMsIDEuMzYzNjMyNDQwNTY3MDE2Nl0sIFsxNjYzOTIwMDQ1Ljk4NDg5NCwgNTY1MiwgMS4zODgxMjk5NDk1Njk3MDIxXSwgWzE2NjM5MjAwNDYuMDc1MTgzMiwgNTY2MSwgMS4zMTc4NjM4MjE5ODMzMzc0XSwgWzE2NjM5MjAwNDYuMjA2MDgyLCA1NjcwLCAxLjMzMDQzMDk4NDQ5NzA3MDNdLCBbMTY2MzkyMDA0Ni42MDQ1NzEsIDU3MDYsIDEuMzc2NzA3MDc3MDI2MzY3Ml0sIFsxNjYzOTIwMDQ2LjcwMTcxNDgsIDU3MTUsIDEuMzQ1Mjg4Mzk1ODgxNjUyOF0sIFsxNjYzOTIwMDQ2Ljc5MzYwNSwgNTcyNCwgMS4zNTQwODAwODA5ODYwMjNdLCBbMTY2MzkyMDA0Ni45NzAxMzgzLCA1NzQyLCAxLjMyNTEwNDk1MTg1ODUyMDVdLCBbMTY2MzkyMDA0Ny4yNDkyMjk0LCA1NzY5LCAxLjMyMjQzOTkwODk4MTMyMzJdLCBbMTY2MzkyMDA0Ny40MzM0NTc2LCA1Nzc4LCAxLjMwNzQzNjEwODU4OTE3MjRdLCBbMTY2MzkyMDA0Ny41NzkzMjIzLCA1Nzg3LCAxLjM0ODgyODQzNDk0NDE1MjhdLCBbMTY2MzkyMDA0Ny42ODM3MDIsIDU3OTYsIDEuMzMyODExMTE3MTcyMjQxMl0sIFsxNjYzOTIwMDQ3Ljc3Nzg4NDIsIDU4MDUsIDEuMzAzNjIyODQxODM1MDIyXSwgWzE2NjM5MjAwNDcuODcyOTQzNiwgNTgxNCwgMS4yOTk2NTQ2MDMwMDQ0NTU2XSwgWzE2NjM5MjAwNDguMTY5ODkwNiwgNTg0MSwgMS4zMzYyMDc3NDc0NTk0MTE2XSwgWzE2NjM5MjAwNDguMjYxMzI5MiwgNTg1MCwgMS4zMjYxMTgxMTE2MTA0MTI2XSwgWzE2NjM5MjAwNDguNDUzNDU0NywgNTg2OCwgMS4zMjYxNTEwMTMzNzQzMjg2XSwgWzE2NjM5MjAwNDguNTU3NzkxMiwgNTg3NywgMS4zODIyNjg0Mjg4MDI0OTAyXSwgWzE2NjM5MjAwNDguNjU0MTM3OCwgNTg4NiwgMS4zMjUzNTYxMjU4MzE2MDRdLCBbMTY2MzkyMDA0OC43NDkwNjcsIDU4OTUsIDEuMzQ4MTI0NTA0MDg5MzU1NV0sIFsxNjYzOTIwMDQ4Ljg1MTMyLCA1OTA0LCAxLjMxMDA1ODgzMjE2ODU3OV0sIFsxNjYzOTIwMDQ5LjE2Mjg5NjIsIDU5MzEsIDEuMjc2NTYwMTg3MzM5NzgyN10sIFsxNjYzOTIwMDQ5LjI1OTU5NDQsIDU5NDAsIDEuMzA0ODQ0ODU2MjYyMjA3XSwgWzE2NjM5MjAwNDkuMzUzNTEsIDU5NDksIDEuMzEzNjUwMzY5NjQ0MTY1XSwgWzE2NjM5MjAwNTAuMDQ4NDkyLCA2MDEyLCAxLjMwMTU5MTM5NjMzMTc4N10sIFsxNjYzOTIwMDUwLjI5MDcyMjEsIDYwMzAsIDEuMzIxMjM2NzI5NjIxODg3Ml0sIFsxNjYzOTIwMDUwLjQxNTc0LCA2MDM5LCAxLjI5NTI2ODQxNjQwNDcyNDFdLCBbMTY2MzkyMDA1MC43MDY5NjMsIDYwNjYsIDEuMzIwMDQ2MTg2NDQ3MTQzNl0sIFsxNjYzOTIwMDUwLjkxNTM5NywgNjA4NCwgMS4zNTM0NzU0NTE0Njk0MjE0XSwgWzE2NjM5MjAwNTEuMDI5Njc5MywgNjA5MywgMS4zMDUyMTMyMTI5NjY5MTldLCBbMTY2MzkyMDA1MS4xMjgzMTg4LCA2MTAyLCAxLjMxMDYyMjMzNDQ4MDI4NTZdLCBbMTY2MzkyMDA1MS4yMjMzODcyLCA2MTExLCAxLjMyNDQ1NTg1NzI3NjkxNjVdLCBbMTY2MzkyMDA1MS4zMzE4MzI2LCA2MTIwLCAxLjI1ODA3NTIzNzI3NDE3XSwgWzE2NjM5MjAwNTEuNDQwMDg2OCwgNjEyOSwgMS4zMDYwMTcwNDEyMDYzNTk5XSwgWzE2NjM5MjAwNTEuNjM0NjA1NCwgNjE0NywgMS4yODc1MjQ0NjE3NDYyMTU4XSwgWzE2NjM5MjAwNTEuNzM0OTQ1OCwgNjE1NiwgMS4zMzcwMzY0OTA0NDAzNjg3XSwgWzE2NjM5MjAwNTEuODM3MDg4MywgNjE2NSwgMS4zMjM3MjA1NzQzNzg5NjczXSwgWzE2NjM5MjAwNTEuOTMwNzkxOSwgNjE3NCwgMS4yODA4MDIwMTE0ODk4NjgyXSwgWzE2NjM5MjAwNTIuMTIwMTc1MSwgNjE5MiwgMS4yNzA1OTQ0Nzc2NTM1MDM0XSwgWzE2NjM5MjAwNTIuMjE5NjYwNSwgNjIwMSwgMS4zMTM0NDc4MzMwNjEyMTgzXSwgWzE2NjM5MjAwNTIuMzEyMDQzNywgNjIxMCwgMS4zMzY4Njg4ODIxNzkyNjAzXSwgWzE2NjM5MjAwNTIuNjEwODI3MiwgNjIzNywgMS4yODUyMDE2Njg3MzkzMTg4XSwgWzE2NjM5MjAwNTIuNzA3NDkzMywgNjI0NiwgMS4yOTQzMjAxMDY1MDYzNDc3XSwgWzE2NjM5MjAwNTMuMDA4MzMxLCA2MjU1LCAxLjI1OTg5Mzc3NDk4NjI2N10sIFsxNjYzOTIwMDUzLjA5OTMwNywgNjI2NCwgMS4yNzE2NzMzMjE3MjM5MzhdLCBbMTY2MzkyMDA1My4xOTYwNzUsIDYyNzMsIDEuMjc2NDc4MDUyMTM5MjgyMl0sIFsxNjYzOTIwMDUzLjI5MzcxNSwgNjI4MiwgMS4yNTk1NjE1Mzg2OTYyODldLCBbMTY2MzkyMDA1My40OTU5ODUzLCA2MzAwLCAxLjI0NjI4MTk4MTQ2ODIwMDddLCBbMTY2MzkyMDA1My43OTA4MSwgNjMyNywgMS4yODQxNDU1OTM2NDMxODg1XSwgWzE2NjM5MjAwNTMuOTA3NDQzMywgNjMzNiwgMS4yNjA1NjU4NzY5NjA3NTQ0XSwgWzE2NjM5MjAwNTQuMTE4NzQxOCwgNjM1NCwgMS4yNjc0MTA1MTY3Mzg4OTE2XSwgWzE2NjM5MjAwNTQuNTc5NDc5NywgNjM5MCwgMS4yODAxNDE5NDk2NTM2MjU1XSwgWzE2NjM5MjAwNTQuNjc4MTYzNSwgNjM5OSwgMS4yNjQxNzQ4MTg5OTI2MTQ3XSwgWzE2NjM5MjAwNTQuODc5OTI3OSwgNjQxNywgMS4yNzk1Mzc2Nzc3NjQ4OTI2XSwgWzE2NjM5MjAwNTQuOTgyMTg4NywgNjQyNiwgMS4yNjM5NTM5MjQxNzkwNzcxXSwgWzE2NjM5MjAwNTUuMTgxMDgxOCwgNjQ0NCwgMS4yNDg5NTU0ODgyMDQ5NTZdLCBbMTY2MzkyMDA1NS4zNjMxMjkxLCA2NDYyLCAxLjI4ODU4MzI3ODY1NjAwNTldLCBbMTY2MzkyMDA1NS41NTYwODEsIDY0ODAsIDEuMjYxNzE1NzY5NzY3NzYxMl0sIFsxNjYzOTIwMDU1LjY0NzA3MDYsIDY0ODksIDEuMjQ0NzA4Mjk5NjM2ODQwOF0sIFsxNjYzOTIwMDU1Ljc0NTMwNjMsIDY0OTgsIDEuMjg4ODc0Mzg3NzQxMDg4OV0sIFsxNjYzOTIwMDU1LjkzOTI0MTIsIDY1MTYsIDEuMjU3OTM2NTk2ODcwNDIyNF0sIFsxNjYzOTIwMDU2LjA1MzA4MjcsIDY1MjUsIDEuMjQyNzMyNDA1NjYyNTM2Nl0sIFsxNjYzOTIwMDU2LjE0NjkxNjIsIDY1MzQsIDEuMjgyNTgxMDkwOTI3MTI0XSwgWzE2NjM5MjAwNTYuMjQ1NzE0NCwgNjU0MywgMS4zMDM2NDk3ODMxMzQ0NjA0XSwgWzE2NjM5MjAwNTYuMzM5MjYzMiwgNjU1MiwgMS4zNjE5ODY4NzU1MzQwNTc2XSwgWzE2NjM5MjAwNTYuNDQwOTk4LCA2NTYxLCAxLjI5MTQ0MjYzMjY3NTE3MV0sIFsxNjYzOTIwMDU2LjUzNjQwNywgNjU3MCwgMS4yOTc3MTI1NjQ0NjgzODM4XSwgWzE2NjM5MjAwNTYuNjI3NjExOSwgNjU3OSwgMS4zMDA4OTk4NjMyNDMxMDNdLCBbMTY2MzkyMDA1Ni43MjI5NjI2LCA2NTg4LCAxLjI4OTk0OTA1OTQ4NjM4OTJdLCBbMTY2MzkyMDA1Ni44MjE5ODIxLCA2NTk3LCAxLjI0NzU0MDM1NDcyODY5ODddLCBbMTY2MzkyMDA1Ni45MTc4MDk3LCA2NjA2LCAxLjI2MDk1MDMyNjkxOTU1NTddLCBbMTY2MzkyMDA1Ny4zOTcyMzE2LCA2NjUxLCAxLjI0NTIzNjc1NDQxNzQxOTRdLCBbMTY2MzkyMDA1Ny40ODc4OTE0LCA2NjYwLCAxLjIzMjI3Mjc0NDE3ODc3Ml0sIFsxNjYzOTIwMDU3LjU4NDk3ODYsIDY2NjksIDEuMjU4MjA5MzQ3NzI0OTE0Nl0sIFsxNjYzOTIwMDU3Ljc2NTk4NjIsIDY2ODcsIDEuMjQ2ODc2MzU4OTg1OTAwOV0sIFsxNjYzOTIwMDU3Ljg2NDYwOTcsIDY2OTYsIDEuMjM2NzY0NDMwOTk5NzU1OV0sIFsxNjYzOTIwMDU3Ljk1OTgxMDUsIDY3MDUsIDEuMjE4NjEwMjg2NzEyNjQ2NV0sIFsxNjYzOTIwMDU4LjA1OTg0MTYsIDY3MTQsIDEuMjM1MjIwNjcwNzAwMDczMl0sIFsxNjYzOTIwMDU4LjY0OTI5NTMsIDY3NjgsIDEuMjU4MTY4MTAxMzEwNzNdLCBbMTY2MzkyMDA1OC43NTIwMTgsIDY3NzcsIDEuMjU3MjYyNTg3NTQ3MzAyMl0sIFsxNjYzOTIwMDU5LjA0NjE1MjYsIDY4MDQsIDEuMjcxNDg2ODc4Mzk1MDgwNl0sIFsxNjYzOTIwMDU5LjE0MDE5NTQsIDY4MTMsIDEuMjk3NjEwNDAyMTA3MjM4OF0sIFsxNjYzOTIwMDU5LjMzMzAwNTQsIDY4MzEsIDEuMjUzMDEzODQ5MjU4NDIyOV0sIFsxNjYzOTIwMDU5LjQzNDI1MDYsIDY4NDAsIDEuMjgzNDY0MDc0MTM0ODI2N10sIFsxNjYzOTIwMDU5LjgwNTA1MiwgNjg3NiwgMS4yMjM1MTc4OTQ3NDQ4NzNdLCBbMTY2MzkyMDA1OS44OTcyNzM1LCA2ODg1LCAxLjI0NTc2Mzc3ODY4NjUyMzRdLCBbMTY2MzkyMDA1OS45OTI3ODAyLCA2ODk0LCAxLjIzODUyNDkxMzc4Nzg0MThdLCBbMTY2MzkyMDA2MC4xNzcxODEyLCA2OTEyLCAxLjI2OTUzMTcyNjgzNzE1ODJdLCBbMTY2MzkyMDA2MC4yODEzMDc1LCA2OTIxLCAxLjI1MTQ4NzM3NDMwNTcyNV0sIFsxNjYzOTIwMDYwLjM4MDU2MzUsIDY5MzAsIDEuMjQwMTcxNzkwMTIyOTg1OF0sIFsxNjYzOTIwMDYwLjQ3ODY3MjMsIDY5MzksIDEuMjY5NDc5NzUxNTg2OTE0XSwgWzE2NjM5MjAwNjAuNTcyNzg1NiwgNjk0OCwgMS4yNjQzNjU0MzQ2NDY2MDY0XSwgWzE2NjM5MjAwNjAuNjcyMjc5MSwgNjk1NywgMS4yMDk0NDY3ODc4MzQxNjc1XSwgWzE2NjM5MjAwNjAuNzY3NzM4OCwgNjk2NiwgMS4yNTE1OTU5NzM5Njg1MDU5XSwgWzE2NjM5MjAwNjAuOTUxMDQxLCA2OTg0LCAxLjI4MzA5MjM3OTU3MDAwNzNdLCBbMTY2MzkyMDA2MS4wNDgzOTI4LCA2OTkzLCAxLjMyODUyNDU4OTUzODU3NDJdLCBbMTY2MzkyMDA2MS4xNTQ2MjU3LCA3MDAyLCAxLjI4Nzc5MTg0ODE4MjY3ODJdLCBbMTY2MzkyMDA2MS40Mzc0Nzc0LCA3MDExLCAxLjI0OTYwODM5NzQ4MzgyNTddLCBbMTY2MzkyMDA2MS41MjgyNDE2LCA3MDIwLCAxLjIxNDA3NDczMDg3MzEwOF0sIFsxNjYzOTIwMDYxLjYxOTE0NjMsIDcwMjksIDEuMjQyMzY4NTc4OTEwODI3Nl0sIFsxNjYzOTIwMDYxLjcxNDU0NjcsIDcwMzgsIDEuMjYzNTExODk2MTMzNDIyOV0sIFsxNjYzOTIwMDYxLjgwMzQwNDMsIDcwNDcsIDEuMjI0OTA2NjgyOTY4MTM5Nl0sIFsxNjYzOTIwMDYxLjg5OTU1NTQsIDcwNTYsIDEuMjE1NDI2NjgzNDI1OTAzM10sIFsxNjYzOTIwMDYyLjE4NzQxMywgNzA4MywgMS4yMzI5OTY5NDA2MTI3OTNdLCBbMTY2MzkyMDA2Mi4zNjk5NDc3LCA3MTAxLCAxLjIwOTYzMjAzOTA3MDEyOTRdLCBbMTY2MzkyMDA2Mi40NzQ3NTEsIDcxMTAsIDEuMjM2ODM0NjQ1MjcxMzAxM10sIFsxNjYzOTIwMDYyLjY2NjY0ODEsIDcxMjgsIDEuMjIzOTQ1Mzc5MjU3MjAyMV0sIFsxNjYzOTIwMDYyLjg1MzQzNDgsIDcxNDYsIDEuMjM4MDcxMDg0MDIyNTIyXSwgWzE2NjM5MjAwNjMuMDQ5OTE1NiwgNzE2NCwgMS4yNTk0MTQ0MzQ0MzI5ODM0XSwgWzE2NjM5MjAwNjMuMTQ2Nzg4MSwgNzE3MywgMS4yNzc5NTU1MzIwNzM5NzQ2XSwgWzE2NjM5MjAwNjMuMjM0MTcwNywgNzE4MiwgMS4zMTI2MjI0Mjc5NDAzNjg3XSwgWzE2NjM5MjAwNjMuNDIzNTI3NywgNzIwMCwgMS4yMTg3MzgwNzkwNzEwNDVdLCBbMTY2MzkyMDA2My41MjY1Njk4LCA3MjA5LCAxLjIxMjYxNTEzMjMzMTg0ODFdLCBbMTY2MzkyMDA2My44OTA4NzcsIDcyNDUsIDEuMzAzMjg3ODYzNzMxMzg0M10sIFsxNjYzOTIwMDYzLjk4MDUyODQsIDcyNTQsIDEuMjU4MTI3OTI3NzgwMTUxNF0sIFsxNjYzOTIwMDY0LjA3MjkzNjUsIDcyNjMsIDEuMjcyMjE5MTgxMDYwNzkxXSwgWzE2NjM5MjAwNjQuMTY3NTA0MywgNzI3MiwgMS4yOTc5MDEzOTE5ODMwMzIyXSwgWzE2NjM5MjAwNjQuNDQ1ODk0LCA3Mjk5LCAxLjIzMjkxNDU2Njk5MzcxMzRdLCBbMTY2MzkyMDA2NC41Mzk1MDU3LCA3MzA4LCAxLjIyMzM5Njg5NzMxNTk3OV0sIFsxNjYzOTIwMDY0LjcyMjc0MjgsIDczMjYsIDEuMjQxNTY1MTA4Mjk5MjU1NF0sIFsxNjYzOTIwMDY1LjE3Mzk5NTMsIDczNjIsIDEuMjc3MzMxOTQ4MjgwMzM0NV0sIFsxNjYzOTIwMDY1LjI3MjU1NTYsIDczNzEsIDEuMTk2OTExMDk2NTcyODc2XSwgWzE2NjM5MjAwNjUuMzY2MDI5NywgNzM4MCwgMS4yMTg3ODMzNzg2MDEwNzQyXSwgWzE2NjM5MjAwNjUuNTc0ODU5NCwgNzM5OCwgMS4yMzc4NTYyNjg4ODI3NTE1XSwgWzE2NjM5MjAwNjUuNzA5MjI0LCA3NDA3LCAxLjI0NjA1ODgyMTY3ODE2MTZdLCBbMTY2MzkyMDA2NS44MzY0MTEyLCA3NDE2LCAxLjIyODY4NjU3MTEyMTIxNThdLCBbMTY2MzkyMDA2NS45MzU3MzU1LCA3NDI1LCAxLjIxNjcwNjk5MTE5NTY3ODddLCBbMTY2MzkyMDA2Ni4wMjk4NzMxLCA3NDM0LCAxLjIzMzcwODE0MzIzNDI1M10sIFsxNjYzOTIwMDY2LjEyNDI5NTUsIDc0NDMsIDEuMjI5ODY2MTQ3MDQxMzIwOF0sIFsxNjYzOTIwMDY2LjIyNTUxOTIsIDc0NTIsIDEuMjA0ODQxMjU2MTQxNjYyNl0sIFsxNjYzOTIwMDY2LjMxODY1NDMsIDc0NjEsIDEuMjM1MTQ3NDc2MTk2Mjg5XSwgWzE2NjM5MjAwNjYuNTEwNzQ4MSwgNzQ3OSwgMS4yMTgyNTQyMDg1NjQ3NTgzXSwgWzE2NjM5MjAwNjYuNzEwODA0NSwgNzQ5NywgMS4yMTUwNzM1ODU1MTAyNTRdLCBbMTY2MzkyMDA2Ni44MDk0MDEzLCA3NTA2LCAxLjIyMzMwODY4MjQ0MTcxMTRdLCBbMTY2MzkyMDA2Ni45OTg5NDc5LCA3NTI0LCAxLjIxMTc5ODA3MTg2MTI2N10sIFsxNjYzOTIwMDY3LjA5MzI0MTUsIDc1MzMsIDEuMjAxODg1NDYxODA3MjUxXSwgWzE2NjM5MjAwNjcuMTk1MTkzMywgNzU0MiwgMS4xOTg4NzgyODgyNjkwNDNdLCBbMTY2MzkyMDA2Ny4zOTUwNjIyLCA3NTYwLCAxLjE5NjI2MjI0MDQwOTg1MV0sIFsxNjYzOTIwMDY3LjUwMzczMjcsIDc1NjksIDEuMTkyNTkxNjY3MTc1MjkzXSwgWzE2NjM5MjAwNjcuNzExNzcyNywgNzU4NywgMS4yMjA3NzQ2NTA1NzM3MzA1XSwgWzE2NjM5MjAwNjcuODExNTA0NiwgNzU5NiwgMS4yNzM4ODQ1MzQ4MzU4MTU0XSwgWzE2NjM5MjAwNjguMDI3NzI2NCwgNzYxNCwgMS4yMTMyNzYyNjcwNTE2OTY4XSwgWzE2NjM5MjAwNjguNTc0NTE1OCwgNzY1OSwgMS4yMjk0MzY4NzQzODk2NDg0XSwgWzE2NjM5MjAwNjguNjc3MTQ0OCwgNzY2OCwgMS4yMzg3NjU5NTQ5NzEzMTM1XSwgWzE2NjM5MjAwNjkuMDIzMzQyNiwgNzY5NSwgMS4yMjEzMDI2Mjg1MTcxNTA5XSwgWzE2NjM5MjAwNjkuMjQwMjc1NiwgNzcxMywgMS4zMzA2NjQzOTYyODYwMTA3XSwgWzE2NjM5MjAwNjkuMzQxOTE2MywgNzcyMiwgMS4zNTg4OTc1NjY3OTUzNDkxXSwgWzE2NjM5MjAwNjkuNDQxMzEwNiwgNzczMSwgMS4yNDQyMjk5MTI3NTc4NzM1XSwgWzE2NjM5MjAwNjkuNjQwMDAwMywgNzc0OSwgMS4yMDQzODQ0NDYxNDQxMDRdLCBbMTY2MzkyMDA2OS43NDY4NjUsIDc3NTgsIDEuMjAxNzIwMTE4NTIyNjQ0XSwgWzE2NjM5MjAwNjkuODU5ODYyLCA3NzY3LCAxLjE3MzgzNjgyNzI3ODEzNzJdLCBbMTY2MzkyMDA3MC4zNTYxNTc1LCA3Nzk0LCAxLjIzMzE1MDAwNTM0MDU3NjJdLCBbMTY2MzkyMDA3MC40NTU3MDQ3LCA3ODAzLCAxLjIwMDg3MDg3MTU0Mzg4NDNdLCBbMTY2MzkyMDA3MC42NDY1NjcsIDc4MjEsIDEuMTk5MzA5ODI1ODk3MjE2OF0sIFsxNjYzOTIwMDcwLjg0NTE4NCwgNzgzOSwgMS4yMzE1MjU3Nzg3NzA0NDY4XSwgWzE2NjM5MjAwNzAuOTQ2NTUzMiwgNzg0OCwgMS4yMDk1MDA3ODk2NDIzMzRdLCBbMTY2MzkyMDA3MS41NzExNzM3LCA3OTAyLCAxLjIxNzA4MTA2OTk0NjI4OV0sIFsxNjYzOTIwMDcxLjg1OTk3NDQsIDc5MjksIDEuMTg3MjkyNjk1MDQ1NDcxMl0sIFsxNjYzOTIwMDcxLjk2NDc1OCwgNzkzOCwgMS4xOTY2NjkxMDE3MTUwODhdLCBbMTY2MzkyMDA3Mi4wNjcxNDI1LCA3OTQ3LCAxLjIzNjU1MjM1NzY3MzY0NV0sIFsxNjYzOTIwMDcyLjE2Mzg0MzQsIDc5NTYsIDEuMTc5MTM4MDY0Mzg0NDYwNF0sIFsxNjYzOTIwMDcyLjI2MTgxLCA3OTY1LCAxLjE3MzExMTY3NzE2OTc5OThdLCBbMTY2MzkyMDA3Mi4zNTg1OTA2LCA3OTc0LCAxLjE4MjUyMTIyNDAyMTkxMTZdLCBbMTY2MzkyMDA3Mi40NTY5ODA3LCA3OTgzLCAxLjIwNTEyMjM1MTY0NjQyMzNdLCBbMTY2MzkyMDA3Mi41NTg5ODI0LCA3OTkyLCAxLjIwMTIzNzQ0MDEwOTI1M10sIFsxNjYzOTIwMDcyLjY1MTc2MTMsIDgwMDEsIDEuMjA1MDQ1NDYxNjU0NjYzXSwgWzE2NjM5MjAwNzIuODQxNjEzOCwgODAxOSwgMS4yMDYxMDg1NzAwOTg4NzddLCBbMTY2MzkyMDA3My4wMzUxOTMyLCA4MDM3LCAxLjIyODYzMjgwNzczMTYyODRdLCBbMTY2MzkyMDA3My4zMzIxMTg1LCA4MDY0LCAxLjE5OTMxNTkwNTU3MDk4MzldLCBbMTY2MzkyMDA3My41MjMyOTQ3LCA4MDgyLCAxLjE5ODU3MTkyMDM5NDg5NzVdLCBbMTY2MzkyMDA3My42MjA1MDc3LCA4MDkxLCAxLjE4NTc2NjY5NjkyOTkzMTZdLCBbMTY2MzkyMDA3My45MDYyNTMzLCA4MTE4LCAxLjIxMzU0MDMxNTYyODA1MThdLCBbMTY2MzkyMDA3NC4wMDE5NTk2LCA4MTI3LCAxLjIxNTk1MDI1MDYyNTYxMDRdLCBbMTY2MzkyMDA3NC4yMDczODQ2LCA4MTQ1LCAxLjIxNjQwMzk2MTE4MTY0MDZdLCBbMTY2MzkyMDA3NC4zMDE1ODc4LCA4MTU0LCAxLjIyNjcyMjQ3ODg2NjU3NzFdLCBbMTY2MzkyMDA3NC40MDQwMDE3LCA4MTYzLCAxLjE4ODE4NzcxODM5MTQxODVdLCBbMTY2MzkyMDA3NC40OTU4MzA4LCA4MTcyLCAxLjE4NDY3MDA5MDY3NTM1NF0sIFsxNjYzOTIwMDc0LjU5MDY1NTYsIDgxODEsIDEuMTc4Mjk2ODA0NDI4MTAwNl0sIFsxNjYzOTIwMDc0Ljc4NTc2NzMsIDgxOTksIDEuMjM0NTIyOTM4NzI4MzMyNV0sIFsxNjYzOTIwMDc0Ljg5NTU3OTYsIDgyMDgsIDEuMTg0NjUwODk3OTc5NzM2M10sIFsxNjYzOTIwMDc1LjA5NjA2NiwgODIyNiwgMS4yMDk0MjQxMzgwNjkxNTI4XSwgWzE2NjM5MjAwNzUuMTkxMzQ5NywgODIzNSwgMS4yMzEzNDQxMDM4MTMxNzE0XSwgWzE2NjM5MjAwNzUuMzg5MzQ5MiwgODI1MywgMS4xNjg5OTk3OTExNDUzMjQ3XSwgWzE2NjM5MjAwNzUuNDgwODA5NywgODI2MiwgMS4xNzgwMTY3ODE4MDY5NDU4XSwgWzE2NjM5MjAwNzUuNTc1MDE5NiwgODI3MSwgMS4xNTM0NjU4NjcwNDI1NDE1XSwgWzE2NjM5MjAwNzUuNjc0ODkzLCA4MjgwLCAxLjIyODY1MTA0Njc1MjkyOTddLCBbMTY2MzkyMDA3NS43NzIxNTg5LCA4Mjg5LCAxLjIyOTQyNzgxNDQ4MzY0MjZdLCBbMTY2MzkyMDA3NS45MTMxNjk2LCA4Mjk4LCAxLjI5MDQ2NzI2MjI2ODA2NjRdLCBbMTY2MzkyMDA3Ni4xMzY2MDMsIDgzMTYsIDEuMzI2NDc0MDcwNTQ5MDExMl0sIFsxNjYzOTIwMDc2LjU0NjcxOCwgODM1MiwgMS4yMTk3MjE2NzQ5MTkxMjg0XSwgWzE2NjM5MjAwNzYuNjQxNDE5MiwgODM2MSwgMS4xOTQ5ODQ5MTI4NzIzMTQ1XSwgWzE2NjM5MjAwNzYuNzM2NTk4LCA4MzcwLCAxLjI1MTI3NDM0NzMwNTI5NzldLCBbMTY2MzkyMDA3Ni44MzA0ODIyLCA4Mzc5LCAxLjE4NjYyMzMzNDg4NDY0MzZdLCBbMTY2MzkyMDA3Ni45MjAwNTY4LCA4Mzg4LCAxLjE5NDQwOTEzMjAwMzc4NDJdLCBbMTY2MzkyMDA3Ny4wMDY3ODczLCA4Mzk3LCAxLjE3MDIyMDk3MTEwNzQ4M10sIFsxNjYzOTIwMDc3LjEwNzAwMjMsIDg0MDYsIDEuMjEzMTI4ODA1MTYwNTIyNV0sIFsxNjYzOTIwMDc3LjIwOTI0NjYsIDg0MTUsIDEuMTgxMjA5NDQ0OTk5Njk0OF0sIFsxNjYzOTIwMDc3LjMwMTI5MjcsIDg0MjQsIDEuMTgwMTU5NTY4Nzg2NjIxXSwgWzE2NjM5MjAwNzcuNzcwOTEzMSwgODQ2MCwgMS4yNzQ0NjkxMzcxOTE3NzI1XSwgWzE2NjM5MjAwNzcuOTcwODk0NiwgODQ3OCwgMS4xOTk5OTU2MzY5NDAwMDI0XSwgWzE2NjM5MjAwNzguMDkzMzg4LCA4NDg3LCAxLjE0MjA2NzMxMzE5NDI3NV0sIFsxNjYzOTIwMDc4LjQzNjYzNywgODUxNCwgMS4xNjUyMDIzNzkyMjY2ODQ2XSwgWzE2NjM5MjAwNzguNTQzNjY1NCwgODUyMywgMS4xODUzNzY4ODI1NTMxMDA2XSwgWzE2NjM5MjAwNzkuMDYzNDcxNiwgODU1MCwgMS4xNzYzODM5NzIxNjc5Njg4XSwgWzE2NjM5MjAwNzkuMTY0MzM3LCA4NTU5LCAxLjE5MjM4NDEyMzgwMjE4NV0sIFsxNjYzOTIwMDc5LjM2MjIyMzQsIDg1NzcsIDEuMTY3ODgxMDExOTYyODkwNl0sIFsxNjYzOTIwMDc5LjU3MTkwNDIsIDg1OTUsIDEuMjQ2NDY1NjgyOTgzMzk4NF0sIFsxNjYzOTIwMDc5LjY2NjI3MDMsIDg2MDQsIDEuMTgzMTUzODY3NzIxNTU3Nl0sIFsxNjYzOTIwMDc5Ljc5ODQ1MSwgODYxMywgMS4xOTk3MzgxNDQ4NzQ1NzI4XSwgWzE2NjM5MjAwODAuMTY1MjEzNiwgODY0MCwgMS4yMTE5NjkxMzcxOTE3NzI1XSwgWzE2NjM5MjAwODAuMjY2Njc0NSwgODY0OSwgMS4yMDYxNzY1MTkzOTM5MjFdLCBbMTY2MzkyMDA4MC40MDc3NTAxLCA4NjU4LCAxLjE4ODcxNzI0NjA1NTYwM10sIFsxNjYzOTIwMDgwLjUyMjc1MTYsIDg2NjcsIDEuMTg0NDQwNjEyNzkyOTY4OF0sIFsxNjYzOTIwMDgwLjYzMTQxMjUsIDg2NzYsIDEuMjIzNjEwNTIwMzYyODU0XSwgWzE2NjM5MjAwODAuNzI5NjIsIDg2ODUsIDEuMTQ1NTI0MjYzMzgxOTU4XSwgWzE2NjM5MjAwODAuODIzNTQxMiwgODY5NCwgMS4yMDQyNTg0NDE5MjUwNDg4XSwgWzE2NjM5MjAwODEuMDIyNjE0LCA4NzEyLCAxLjIwOTk1MDY4NTUwMTA5ODZdLCBbMTY2MzkyMDA4MS4xMjMzMzgsIDg3MjEsIDEuMTc1ODE1NDYzMDY2MTAxXSwgWzE2NjM5MjAwODEuNDEwNzM5MiwgODc0OCwgMS4xNjU2Nzg4NTg3NTcwMTldLCBbMTY2MzkyMDA4MS45MzA4MzYsIDg3OTMsIDEuMTY5MTY4NTkxNDk5MzI4Nl0sIFsxNjYzOTIwMDgyLjEyMjM1NzEsIDg4MTEsIDEuMTg1MDQ4MTAzMzMyNTE5NV0sIFsxNjYzOTIwMDgyLjIxODE1NjMsIDg4MjAsIDEuMTY0NzUzNzk0NjcwMTA1XSwgWzE2NjM5MjAwODIuNDg4MDkzOSwgODgzOCwgMS4yNzM5OTQwODgxNzI5MTI2XSwgWzE2NjM5MjAwODIuNTkzMjUxLCA4ODQ3LCAxLjIyOTQ4OTQ0NTY4NjM0MDNdLCBbMTY2MzkyMDA4Mi42OTA1MTg2LCA4ODU2LCAxLjIxNTAxMTk1NDMwNzU1NjJdLCBbMTY2MzkyMDA4Mi45NjU2NDUsIDg4ODMsIDEuMTg5MTE5OTM1MDM1NzA1Nl0sIFsxNjYzOTIwMDgzLjA2ODAwMjIsIDg4OTIsIDEuMTU1Njk5OTY4MzM4MDEyN10sIFsxNjYzOTIwMDgzLjE2Nzc0MjcsIDg5MDEsIDEuMTU4NDcxNzAzNTI5MzU4XSwgWzE2NjM5MjAwODMuMjYyNTc5NCwgODkxMCwgMS4xNDU0NTAyMzQ0MTMxNDddLCBbMTY2MzkyMDA4My4zNTMzNTUsIDg5MTksIDEuMTQ3MjU0MjI4NTkxOTE5XSwgWzE2NjM5MjAwODMuNTU0MjY0LCA4OTM3LCAxLjE5OTQ4Mzk5MDY2OTI1MDVdLCBbMTY2MzkyMDA4My43Nzk3NDYsIDg5NTUsIDEuMTUxOTQyNjEwNzQwNjYxNl0sIFsxNjYzOTIwMDgzLjg3NjIxOSwgODk2NCwgMS4xODIzMDk2Mjc1MzI5NTldLCBbMTY2MzkyMDA4NC4wMTAwMjE3LCA4OTczLCAxLjE3ODM5NTk4NjU1NzAwNjhdLCBbMTY2MzkyMDA4NC4yMjMzMTYsIDg5OTEsIDEuMTY5ODc0MTkxMjg0MTc5N10sIFsxNjYzOTIwMDg0LjMxNDQwNTIsIDkwMDAsIDEuMjA0MjA2MTA5MDQ2OTM2XSwgWzE2NjM5MjAwODQuNTAxOTM3NiwgOTAxOCwgMS4xNzU1Njc4NjUzNzE3MDRdLCBbMTY2MzkyMDA4NC41OTk3NTksIDkwMjcsIDEuMTcxNTQxMzMzMTk4NTQ3NF0sIFsxNjYzOTIwMDg0LjY5NjgxODYsIDkwMzYsIDEuMTc3OTk1MzI0MTM0ODI2N10sIFsxNjYzOTIwMDg0Ljc5MTk1OTgsIDkwNDUsIDEuMTc1NzUzMjM1ODE2OTU1Nl0sIFsxNjYzOTIwMDg0Ljg4MzI0NTIsIDkwNTQsIDEuMTk0MTgzMTExMTkwNzk2XSwgWzE2NjM5MjAwODQuOTc2OTk4NiwgOTA2MywgMS4xOTM3Mzg5MzczNzc5Mjk3XSwgWzE2NjM5MjAwODUuNTE1MjIwNiwgOTEwOCwgMS4xNDI2MzM2NzY1Mjg5MzA3XSwgWzE2NjM5MjAwODUuNzEyMjQ2LCA5MTI2LCAxLjE4NDI3NTUwNzkyNjk0MV0sIFsxNjYzOTIwMDg1LjkxMzIzNzYsIDkxNDQsIDEuMTgxMDM3NjY0NDEzNDUyMV0sIFsxNjYzOTIwMDg2LjAwNzc1OCwgOTE1MywgMS4xNjQyNDI3NDQ0NDU4MDA4XSwgWzE2NjM5MjAwODYuMDk0OTgwNywgOTE2MiwgMS4xNTgwNDIwNzMyNDk4MTddLCBbMTY2MzkyMDA4Ni4zODczMjcyLCA5MTg5LCAxLjE2MDQxNTE3MjU3NjkwNDNdLCBbMTY2MzkyMDA4Ni41NzMxODAyLCA5MjA3LCAxLjE3Mzk4MDIzNjA1MzQ2NjhdLCBbMTY2MzkyMDA4Ni45NTc3MzQ4LCA5MjQzLCAxLjE2MjkxMDkzODI2MjkzOTVdLCBbMTY2MzkyMDA4Ny4xNjI2Nzk0LCA5MjYxLCAxLjE4NTM0MjE5MjY0OTg0MTNdLCBbMTY2MzkyMDA4Ny4yODAwOTIsIDkyNzAsIDEuMTk4MTE4MDkwNjI5NTc3Nl0sIFsxNjYzOTIwMDg3LjQ5MDE2ODMsIDkyODgsIDEuMTgwNzE2Mjc2MTY4ODIzMl0sIFsxNjYzOTIwMDg4LjA2NjAzMTcsIDkzMjQsIDEuMTg5MTQwNDM5MDMzNTA4M10sIFsxNjYzOTIwMDg4LjE2MjkwNjIsIDkzMzMsIDEuMjI5NTc5OTI1NTM3MTA5NF0sIFsxNjYzOTIwMDg4LjI5MTY5OSwgOTM0MiwgMS4yMDY5MjA2MjM3NzkyOTY5XSwgWzE2NjM5MjAwODguNDA2NDE5OCwgOTM1MSwgMS4xODMxNDY1OTU5NTQ4OTVdLCBbMTY2MzkyMDA4OC41MDE0NTk2LCA5MzYwLCAxLjE2MjQzOTEwNzg5NDg5NzVdLCBbMTY2MzkyMDA4OC44ODExMDc4LCA5Mzk2LCAxLjE2NDc4NzI5MjQ4MDQ2ODhdLCBbMTY2MzkyMDA4OS4wODA1NjA3LCA5NDE0LCAxLjE4MDI4MzMwODAyOTE3NDhdLCBbMTY2MzkyMDA4OS4xNzk4MTYyLCA5NDIzLCAxLjIyNjA3OTQ2Mzk1ODc0MDJdLCBbMTY2MzkyMDA4OS40ODk0MTMsIDk0NTAsIDEuMTUzMjU4MjA0NDYwMTQ0XSwgWzE2NjM5MjAwODkuNzg2MDc5MiwgOTQ3NywgMS4xOTE3NjExMzYwNTQ5OTI3XSwgWzE2NjM5MjAwODkuODk5OTUyLCA5NDg2LCAxLjE1NTM4MzM0ODQ2NDk2NThdLCBbMTY2MzkyMDA5MC4wMTk0MTc1LCA5NDk1LCAxLjE5NjEzNTQwMTcyNTc2OV0sIFsxNjYzOTIwMDkwLjI1NzU3NjcsIDk1MTMsIDEuMTU5MDQ5MDM0MTE4NjUyM10sIFsxNjYzOTIwMDkwLjQ4Njg2NCwgOTUzMSwgMS4yMjQwNzg1MzYwMzM2MzA0XSwgWzE2NjM5MjAwOTAuNTkxMTQzOCwgOTU0MCwgMS4xNTgyOTgxMzQ4MDM3NzJdLCBbMTY2MzkyMDA5MC43MDIwMDgyLCA5NTQ5LCAxLjE3NTY2NDc4MjUyNDEwODldLCBbMTY2MzkyMDA5MC45NDE5ODQ3LCA5NTY3LCAxLjE1NjA4OTkwMTkyNDEzMzNdLCBbMTY2MzkyMDA5MS4yNjU0OTgyLCA5NTk0LCAxLjE2NTAwNjk5NTIwMTExMDhdLCBbMTY2MzkyMDA5MS4zNjE5MTcsIDk2MDMsIDEuMTg1NjI1MDc2MjkzOTQ1M10sIFsxNjYzOTIwMDkxLjQ2NzMxMywgOTYxMiwgMS4xNjA1ODM3MzQ1MTIzMjldLCBbMTY2MzkyMDA5MS42ODUyODgyLCA5NjMwLCAxLjE5MDcwNjk2ODMwNzQ5NTFdLCBbMTY2MzkyMDA5MS44MTk0ODIzLCA5NjM5LCAxLjE2OTgwNDA5NjIyMTkyMzhdLCBbMTY2MzkyMDA5MS45MzMzMTEsIDk2NDgsIDEuMTU1MjE5NzkzMzE5NzAyMV0sIFsxNjYzOTIwMDkyLjAzNzc0MiwgOTY1NywgMS4xNTA0MTE2MDU4MzQ5NjFdLCBbMTY2MzkyMDA5Mi4xNDU1MjQsIDk2NjYsIDEuMjIzMDczNjAxNzIyNzE3M10sIFsxNjYzOTIwMDkyLjI0MDI4NCwgOTY3NSwgMS4yODUyNjY3NTcwMTE0MTM2XSwgWzE2NjM5MjAwOTIuNTIxMjY2MiwgOTcwMiwgMS4xNjQ1MzIxODQ2MDA4M10sIFsxNjYzOTIwMDkyLjYyMDc4MzgsIDk3MTEsIDEuMTU1ODI2MjEwOTc1NjQ3XSwgWzE2NjM5MjAwOTIuODExMDc4NSwgOTcyOSwgMS4xNjc2ODc0MTYwNzY2NjAyXSwgWzE2NjM5MjAwOTIuOTAzMzM2MywgOTczOCwgMS4xNzI4MzI5NjU4NTA4M10sIFsxNjYzOTIwMDkzLjAxNTcxMTgsIDk3NDcsIDEuMjMxNjg2NTkyMTAyMDUwOF0sIFsxNjYzOTIwMDkzLjExMTgzNjcsIDk3NTYsIDEuMTYxMDcwNTg1MjUwODU0NV0sIFsxNjYzOTIwMDkzLjMwNTMxMiwgOTc3NCwgMS4xODY3ODczNjY4NjcwNjU0XSwgWzE2NjM5MjAwOTMuNDAxMDEyNywgOTc4MywgMS4xNjcwODkzNDMwNzA5ODM5XSwgWzE2NjM5MjAwOTMuNDkzMTEyOCwgOTc5MiwgMS4xNDgzODI5MDIxNDUzODU3XSwgWzE2NjM5MjAwOTMuODU1MDUyMiwgOTgyOCwgMS4xNjYzODUwNTQ1ODgzMTc5XSwgWzE2NjM5MjAwOTMuOTUxMjQ4NCwgOTgzNywgMS4xNjM0Nzc3Nzg0MzQ3NTM0XSwgWzE2NjM5MjAwOTQuMDQ2Mjk4MywgOTg0NiwgMS4xOTE5NDM0MDcwNTg3MTU4XSwgWzE2NjM5MjAwOTQuNTI4NTE0OSwgOTg5MSwgMS4xNTYzNDIzODcxOTk0MDE5XSwgWzE2NjM5MjAwOTQuNzExNzk2LCA5OTA5LCAxLjEzMzI3ODk2NTk1MDAxMjJdLCBbMTY2MzkyMDA5NC44OTM3NDc4LCA5OTI3LCAxLjE3NDMxOTUwNTY5MTUyODNdLCBbMTY2MzkyMDA5NC45ODIzMzg3LCA5OTM2LCAxLjE0MzY0MjA2NzkwOTI0MDddLCBbMTY2MzkyMDA5NS4wNzkwMzUzLCA5OTQ1LCAxLjE2Mzc3MDc5NDg2ODQ2OTJdLCBbMTY2MzkyMDA5NS4zNjg0MTgsIDk5NzIsIDEuMTMyNjk5MDEyNzU2MzQ3N10sIFsxNjYzOTIwMDk1LjQ2NDA5NjUsIDk5ODEsIDEuMTU0MTIyNTkxMDE4Njc2OF0sIFsxNjYzOTIwMDk1LjU2MDkzOTYsIDk5OTAsIDEuMTY1MTI2ODAwNTM3MTA5NF0sIFsxNjYzOTIwMDk1LjY1NjIzMTksIDk5OTksIDEuMTc2NDE5NDk2NTM2MjU0OV0sIFsxNjYzOTIwMDk1Ljc5MzQwNzcsIDEwMDA4LCAxLjIxMDczMDMxNDI1NDc2MDddLCBbMTY2MzkyMDA5NS45MTI4MzA0LCAxMDAxNywgMS4xNzM0NzQ2Njk0NTY0ODJdLCBbMTY2MzkyMDA5Ni4wMTc2MjYzLCAxMDAyNiwgMS4xNjY2OTcxNDQ1MDgzNjE4XSwgWzE2NjM5MjAwOTYuMTIxMjU4MywgMTAwMzUsIDEuMTY5NjI2OTUxMjE3NjUxNF0sIFsxNjYzOTIwMDk2LjMyMTM5MTMsIDEwMDUzLCAxLjE0NTQ5MjkxMTMzODgwNjJdLCBbMTY2MzkyMDA5Ni42MzQ1NDU2LCAxMDA2MiwgMS4xNjk5OTIzMjc2OTAxMjQ1XSwgWzE2NjM5MjAwOTYuODU0MDQwNiwgMTAwODAsIDEuMTg1MjkzNTU1MjU5NzA0Nl0sIFsxNjYzOTIwMDk2Ljk1MjMzMSwgMTAwODksIDEuMTMxMjAyMzQwMTI2MDM3Nl0sIFsxNjYzOTIwMDk3LjA0NjA3MTMsIDEwMDk4LCAxLjE0OTIzMTY3MjI4Njk4NzNdLCBbMTY2MzkyMDA5Ny4xNDE4ODYsIDEwMTA3LCAxLjE2NzIxMjI0Nzg0ODUxMDddLCBbMTY2MzkyMDA5Ny41MTI3MzQ3LCAxMDEzNCwgMS4xNjIxMTM1NDczMjUxMzQzXSwgWzE2NjM5MjAwOTcuNjIwODMxLCAxMDE0MywgMS4xNzgyMzk4MjIzODc2OTUzXSwgWzE2NjM5MjAwOTcuODU5MTY3NiwgMTAxNjEsIDEuMjEwNDg4NTU3ODE1NTUxOF0sIFsxNjYzOTIwMDk3Ljk0ODU3NjIsIDEwMTcwLCAxLjIwNjk4NzE0MjU2Mjg2NjJdLCBbMTY2MzkyMDA5OC4wNDg1NjI4LCAxMDE3OSwgMS4xODYyMjg1MTM3MTc2NTE0XSwgWzE2NjM5MjAwOTguMTU4NTgyNCwgMTAxODgsIDEuMTM5ODMxOTAwNTk2NjE4N10sIFsxNjYzOTIwMDk4LjI1MjA5NzQsIDEwMTk3LCAxLjEyOTA2NDkxNzU2NDM5Ml0sIFsxNjYzOTIwMDk4LjQ0NDM4MDUsIDEwMjE1LCAxLjE3MDExNjMwNTM1MTI1NzNdLCBbMTY2MzkyMDA5OC41MzU1MTg0LCAxMDIyNCwgMS4xMzc5Nzg0MzQ1NjI2ODNdLCBbMTY2MzkyMDA5OC42MzAzMDE3LCAxMDIzMywgMS4xNzAxMTc5NzQyODEzMTFdLCBbMTY2MzkyMDA5OC43MjkxMzYyLCAxMDI0MiwgMS4xNjAxMTU3MTg4NDE1NTI3XSwgWzE2NjM5MjAwOTguOTUzMjk3LCAxMDI2MCwgMS4xMjQyNjMwNDgxNzE5OTddLCBbMTY2MzkyMDA5OS4wNTc1OTM2LCAxMDI2OSwgMS4xNTQyNzQ3MDIwNzIxNDM2XSwgWzE2NjM5MjAwOTkuMjQ0MjA3NiwgMTAyODcsIDEuMTQ5NjA0MDgyMTA3NTQ0XSwgWzE2NjM5MjAwOTkuNjM0MTgsIDEwMzE0LCAxLjEzMzU5Mzc5NzY4MzcxNThdLCBbMTY2MzkyMDA5OS43Mzg2MDYsIDEwMzIzLCAxLjE1NzA2Mjc2ODkzNjE1NzJdLCBbMTY2MzkyMDA5OS45NzA2NjE0LCAxMDM0MSwgMS4xOTE1MDc5MzU1MjM5ODY4XSwgWzE2NjM5MjAxMDAuMDg1MDU4MiwgMTAzNTAsIDEuMTM5NTg4NTk0NDM2NjQ1NV0sIFsxNjYzOTIwMTAwLjE5ODE1NTQsIDEwMzU5LCAxLjE1MDI3Njc4MDEyODQ3OV0sIFsxNjYzOTIwMTAwLjMwOTc3MTMsIDEwMzY4LCAxLjE2NTkzMDg2NzE5NTEyOTRdLCBbMTY2MzkyMDEwMC40MTgxNzg4LCAxMDM3NywgMS4xNjE1ODM3ODEyNDIzNzA2XSwgWzE2NjM5MjAxMDAuNTU1NTY5LCAxMDM4NiwgMS4xNTE0MDgwNzYyODYzMTZdLCBbMTY2MzkyMDEwMC43NjAzMDU2LCAxMDQwNCwgMS4xNjQ0MjY1NjUxNzAyODhdLCBbMTY2MzkyMDEwMS4xNTMzMywgMTA0NDAsIDEuMTcwNzUzNTk4MjEzMTk1OF0sIFsxNjYzOTIwMTAxLjI0NjQwMjUsIDEwNDQ5LCAxLjE1MjkyOTc4Mjg2NzQzMTZdLCBbMTY2MzkyMDEwMS40NzE2ODczLCAxMDQ2NywgMS4xMjY0NjgzMDA4MTkzOTddLCBbMTY2MzkyMDEwMS42OTQ2MjAxLCAxMDQ4NSwgMS4xNjU1ODgwMjEyNzgzODEzXSwgWzE2NjM5MjAxMDEuOTA2MjI5NSwgMTA1MDMsIDEuMjE0Mjg4MzUzOTE5OTgzXSwgWzE2NjM5MjAxMDIuMDMxNDAxMiwgMTA1MTIsIDEuMjEyMDY2MTczNTUzNDY2OF0sIFsxNjYzOTIwMTAyLjU0NjUwMTYsIDEwNTU3LCAxLjIyOTM2MjcyNjIxMTU0NzldLCBbMTY2MzkyMDEwMi42NDIzNjk1LCAxMDU2NiwgMS4xNzU1NzE2ODAwNjg5Njk3XSwgWzE2NjM5MjAxMDIuNzM5ODM2MiwgMTA1NzUsIDEuMTkxMzQ3MzYwNjEwOTYyXSwgWzE2NjM5MjAxMDIuOTMwNjU0NSwgMTA1OTMsIDEuMTQ0MjkwMDg5NjA3MjM4OF0sIFsxNjYzOTIwMTAzLjAyNzI1MDgsIDEwNjAyLCAxLjIxMDU0ODQwMDg3ODkwNjJdLCBbMTY2MzkyMDEwMy4xMjIyNjk5LCAxMDYxMSwgMS4yMTI5NzM4MzMwODQxMDY0XSwgWzE2NjM5MjAxMDMuMzEzODY0LCAxMDYyOSwgMS4zMzIwODE2NzU1Mjk0OF0sIFsxNjYzOTIwMTAzLjUwNjU0NSwgMTA2NDcsIDEuMTc1MjM2NzAxOTY1MzMyXSwgWzE2NjM5MjAxMDMuNzA1NzQ5NSwgMTA2NjUsIDEuMTg3MjkyNTc1ODM2MTgxNl0sIFsxNjYzOTIwMTAzLjkwMTY0NjQsIDEwNjgzLCAxLjIwOTM4OTY4NjU4NDQ3MjddLCBbMTY2MzkyMDEwNC4wOTg2MTY4LCAxMDcwMSwgMS4yOTAwNDk5MTA1NDUzNDkxXSwgWzE2NjM5MjAxMDQuMTkzOTIwNiwgMTA3MTAsIDEuMjMzNTY2MTY0OTcwMzk4XSwgWzE2NjM5MjAxMDQuMjkxNTk5LCAxMDcxOSwgMS4xODk0OTAxOTkwODkwNTAzXSwgWzE2NjM5MjAxMDQuNTc4NTU1LCAxMDc0NiwgMS4yNzU1NTUwMTQ2MTAyOTA1XSwgWzE2NjM5MjAxMDQuNjc2NjExNCwgMTA3NTUsIDEuMTk4ODA0MDIwODgxNjUyOF0sIFsxNjYzOTIwMTA0Ljc3MTcyNTcsIDEwNzY0LCAxLjE4NzMxMDIxODgxMTAzNTJdLCBbMTY2MzkyMDEwNC44NzkzMDQyLCAxMDc3MywgMS4xOTQzOTc5MjYzMzA1NjY0XSwgWzE2NjM5MjAxMDQuOTgyMDgxLCAxMDc4MiwgMS4xNTk5MjM3OTE4ODUzNzZdLCBbMTY2MzkyMDEwNS4wODkzNDk3LCAxMDc5MSwgMS4xODI5MjIxMjQ4NjI2NzFdLCBbMTY2MzkyMDEwNS41ODQ1NjEsIDEwODE4LCAxLjE4NTAwMDY1ODAzNTI3ODNdLCBbMTY2MzkyMDEwNS42ODY3MjQsIDEwODI3LCAxLjIwNzg3ODIzMjAwMjI1ODNdLCBbMTY2MzkyMDEwNS45Nzc0NjgsIDEwODU0LCAxLjIxMzA0NjE5MzEyMjg2MzhdLCBbMTY2MzkyMDEwNi4wOTM4ODA0LCAxMDg2MywgMS4xOTQ4MzY5NzQxNDM5ODJdLCBbMTY2MzkyMDEwNi4yMTE5NTgsIDEwODcyLCAxLjE4NzM3MzM5OTczNDQ5N10sIFsxNjYzOTIwMTA2LjQ1MDE5NjcsIDEwODkwLCAxLjIyMzgyNzcxOTY4ODQxNTVdLCBbMTY2MzkyMDEwNi41NjE4Njk5LCAxMDg5OSwgMS4xNzMyNTA1NTU5OTIxMjY1XSwgWzE2NjM5MjAxMDYuODQ1MDMxLCAxMDkyNiwgMS4xOTA4NDQ0MTY2MTgzNDcyXSwgWzE2NjM5MjAxMDYuOTM5NDQxMiwgMTA5MzUsIDEuMTUzNjk0OTg3Mjk3MDU4XSwgWzE2NjM5MjAxMDcuMDM0OTA5NSwgMTA5NDQsIDEuMTQ5MTAyMjEwOTk4NTM1Ml0sIFsxNjYzOTIwMTA3LjI3MTgwMjcsIDEwOTYyLCAxLjE0ODg4ODIzMDMyMzc5MTVdLCBbMTY2MzkyMDEwNy4zNzEwMzIsIDEwOTcxLCAxLjE1NzU5NTUxNTI1MTE1OTddLCBbMTY2MzkyMDEwNy42ODM0Nzg2LCAxMDk5OCwgMS4xNzMzNDI4MjM5ODIyMzg4XSwgWzE2NjM5MjAxMDcuNzgyMjUyMywgMTEwMDcsIDEuMTY4MDU5NzA2Njg3OTI3Ml0sIFsxNjYzOTIwMTA3LjkxNzgxODgsIDExMDE2LCAxLjE5MTY1Nzc4MTYwMDk1MjFdLCBbMTY2MzkyMDEwOC4xNjc5NTU2LCAxMTAzNCwgMS4xNTM4MDAyNDkwOTk3MzE0XSwgWzE2NjM5MjAxMDguNTQyMTczNiwgMTEwNjEsIDEuMTc1MTE4MzI3MTQwODA4XSwgWzE2NjM5MjAxMDguNjQ2NzU2LCAxMTA3MCwgMS4xNzE1ODE3NDUxNDc3MDVdLCBbMTY2MzkyMDEwOS4wMTgxMjQsIDExMDk3LCAxLjE3ODQyODg4ODMyMDkyMjldLCBbMTY2MzkyMDEwOS4xMjU5MjE3LCAxMTEwNiwgMS4xNTI1MjExMzM0MjI4NTE2XSwgWzE2NjM5MjAxMDkuMjIyMzkyOCwgMTExMTUsIDEuMTU0MTQ3MTQ4MTMyMzI0Ml0sIFsxNjYzOTIwMTA5LjY1NDY3MjEsIDExMTUxLCAxLjEzNTU2ODE0MTkzNzI1NTldLCBbMTY2MzkyMDEwOS44OTY2MTIsIDExMTY5LCAxLjEzMjQ2MDgzMjU5NTgyNTJdLCBbMTY2MzkyMDEwOS45OTYyNzE2LCAxMTE3OCwgMS4xNTc4ODU3ODk4NzEyMTU4XSwgWzE2NjM5MjAxMTAuMTA2Nzg3NywgMTExODcsIDEuMTg1MjczMTcwNDcxMTkxNF0sIFsxNjYzOTIwMTEwLjIwNjAwODQsIDExMTk2LCAxLjEzNDY4MjA1OTI4ODAyNV0sIFsxNjYzOTIwMTEwLjI5NTcxOTYsIDExMjA1LCAxLjEyMzM2MTgyNTk0Mjk5MzJdLCBbMTY2MzkyMDExMC4zOTcyMjc1LCAxMTIxNCwgMS4xNDAxOTA5NTg5NzY3NDU2XSwgWzE2NjM5MjAxMTAuNTA3NzIyOSwgMTEyMjMsIDEuMTU4NzQ4NTA3NDk5Njk0OF0sIFsxNjYzOTIwMTEwLjgxMTQ4OTYsIDExMjUwLCAxLjE1NDQ2NzcwMTkxMTkyNjNdLCBbMTY2MzkyMDExMC45MjAxNjg2LCAxMTI1OSwgMS4xODAxMTE2NDY2NTIyMjE3XSwgWzE2NjM5MjAxMTEuMDEzMTQ0MywgMTEyNjgsIDEuMTIxMzY5NzE5NTA1MzFdLCBbMTY2MzkyMDExMS4xNDgwMSwgMTEyNzcsIDEuMTMxMDEwNjUxNTg4NDRdLCBbMTY2MzkyMDExMS4zNTU1MzQ4LCAxMTI5NSwgMS4xNzQ0MDUyMTcxNzA3MTUzXSwgWzE2NjM5MjAxMTEuNTQwNTg5NiwgMTEzMTMsIDEuMTkwMjYzNTA5NzUwMzY2Ml0sIFsxNjYzOTIwMTExLjYzMzk3ODYsIDExMzIyLCAxLjIxNTA1ODA4ODMwMjYxMjNdLCBbMTY2MzkyMDExMS45MTQ4NDkzLCAxMTM0OSwgMS4xNzkyMDAxNzI0MjQzMTY0XSwgWzE2NjM5MjAxMTIuMDE1NjI0LCAxMTM1OCwgMS4xNDc1MTA3NjY5ODMwMzIyXSwgWzE2NjM5MjAxMTIuMjA1MjE2LCAxMTM3NiwgMS4xMzE3MjUzMTEyNzkyOTY5XSwgWzE2NjM5MjAxMTIuMjk3MDI3OCwgMTEzODUsIDEuMTg0NTEyNDk1OTk0NTY3OV0sIFsxNjYzOTIwMTEyLjQwNjIzNzgsIDExMzk0LCAxLjE2NzQwOTg5Njg1MDU4Nl0sIFsxNjYzOTIwMTEyLjYxMzE3NzMsIDExNDEyLCAxLjE2NzQ2ODE5MDE5MzE3NjNdLCBbMTY2MzkyMDExMi43MDQyOTEsIDExNDIxLCAxLjEzOTEzMTQyNjgxMTIxODNdLCBbMTY2MzkyMDExMi45NzgzNzk3LCAxMTQ0OCwgMS4xMzY2OTU5ODEwMjU2OTU4XSwgWzE2NjM5MjAxMTMuMDY5NDkxOSwgMTE0NTcsIDEuMTM0OTE3Mzc4NDI1NTk4MV0sIFsxNjYzOTIwMTEzLjQ1Nzg1NjIsIDExNDkzLCAxLjEzMjU5NzU2NTY1MDk0XSwgWzE2NjM5MjAxMTMuNTUzNzgwOCwgMTE1MDIsIDEuMTMyMzg1MDE1NDg3NjcxXSwgWzE2NjM5MjAxMTMuNjQ1OTM2LCAxMTUxMSwgMS4xMzQwMTE2MjYyNDM1OTEzXSwgWzE2NjM5MjAxMTMuNzM3NzgzLCAxMTUyMCwgMS4xNzM0ODg0OTc3MzQwNjk4XSwgWzE2NjM5MjAxMTMuODM5NzAzOCwgMTE1MjksIDEuMTcwMzM4NTExNDY2OThdLCBbMTY2MzkyMDExNC4wMjM3NjUsIDExNTQ3LCAxLjE1MDk4MTkwMzA3NjE3MTldLCBbMTY2MzkyMDExNC4xMjA4NiwgMTE1NTYsIDEuMTI3MTg4OTIwOTc0NzMxNF0sIFsxNjYzOTIwMTE0LjMxOTI4NDcsIDExNTc0LCAxLjEyNzk1MDc4NzU0NDI1MDVdLCBbMTY2MzkyMDExNC41OTg5ODQsIDExNTgzLCAxLjEyODYzMjU0NTQ3MTE5MTRdLCBbMTY2MzkyMDExNC43ODk4NTI2LCAxMTYwMSwgMS4xMzQwMTY4NzE0NTIzMzE1XSwgWzE2NjM5MjAxMTQuOTcxMDc1MywgMTE2MTksIDEuMjE2MTc3ODIxMTU5MzYyOF0sIFsxNjYzOTIwMTE1LjA2MTk1NzgsIDExNjI4LCAxLjE4MTMwNTI4OTI2ODQ5MzddLCBbMTY2MzkyMDExNS4xNTEwMjUsIDExNjM3LCAxLjEzMTMyNjQzNjk5NjQ2XSwgWzE2NjM5MjAxMTUuMjQ1OTU3MSwgMTE2NDYsIDEuMTQxNzkwODY2ODUxODA2Nl0sIFsxNjYzOTIwMTE1LjQzOTI0ODMsIDExNjY0LCAxLjEzNTczMDc0MzQwODIwMzFdLCBbMTY2MzkyMDExNS41NDE1MjA4LCAxMTY3MywgMS4xNTE5OTkxMTU5NDM5MDg3XSwgWzE2NjM5MjAxMTUuNzI2MjU1MiwgMTE2OTEsIDEuMTYzNzk2NDI0ODY1NzIyN10sIFsxNjYzOTIwMTE1LjgxODgyNywgMTE3MDAsIDEuMTQ3MzU5NzI4ODEzMTcxNF0sIFsxNjYzOTIwMTE2LjAyNTY0MDUsIDExNzE4LCAxLjEzNDk4NTIwODUxMTM1MjVdLCBbMTY2MzkyMDExNi4xMjg2NSwgMTE3MjcsIDEuMTY3NjYwNTkzOTg2NTExMl0sIFsxNjYzOTIwMTE2LjMyMjkwMiwgMTE3NDUsIDEuMTc1NjQ1ODI4MjQ3MDcwM10sIFsxNjYzOTIwMTE2LjQyNjc2NzgsIDExNzU0LCAxLjE3NzUzNjk2NDQxNjUwNF0sIFsxNjYzOTIwMTE2LjUzMzU5NzcsIDExNzYzLCAxLjE4MDEyOTE3MDQxNzc4NTZdLCBbMTY2MzkyMDExNi45Njc4NTQ1LCAxMTc5OSwgMS4xNzMyMTEyMTY5MjY1NzQ3XSwgWzE2NjM5MjAxMTcuMjY1MDUxNiwgMTE4MjYsIDEuMTMxNTUxODYxNzYzMDAwNV0sIFsxNjYzOTIwMTE3LjM1Nzc5LCAxMTgzNSwgMS4xNTAzMjQxMDYyMTY0MzA3XSwgWzE2NjM5MjAxMTcuNDYxMDA5NSwgMTE4NDQsIDEuMTM3Njg3MDg3MDU5MDIxXSwgWzE2NjM5MjAxMTcuOTUwMjgwNywgMTE4ODksIDEuMTI4ODgzMDA0MTg4NTM3Nl0sIFsxNjYzOTIwMTE4LjE0Njg5OSwgMTE5MDcsIDEuMTMwNTY0MzMyMDA4MzYxOF0sIFsxNjYzOTIwMTE4LjI1MTE1NDcsIDExOTE2LCAxLjE2MzQzNzM2NjQ4NTU5NTddLCBbMTY2MzkyMDExOC4zNTMyNzE3LCAxMTkyNSwgMS4xMjk0MTc1Mzg2NDI4ODMzXSwgWzE2NjM5MjAxMTguNDg1Njg3MywgMTE5MzQsIDEuMTE0OTU0NDcxNTg4MTM0OF0sIFsxNjYzOTIwMTE4LjU5NTczNTMsIDExOTQzLCAxLjEyMjM4MjI4MzIxMDc1NDRdLCBbMTY2MzkyMDExOC44MTEyNCwgMTE5NjEsIDEuMTAwMTYyMTQ4NDc1NjQ3XSwgWzE2NjM5MjAxMTkuNjA3NDYyMiwgMTIwMjQsIDEuMTgxMzkzMzg0OTMzNDcxN10sIFsxNjYzOTIwMTIwLjIxMzIyMywgMTIwNzgsIDEuMTQ2ODEyNDM4OTY0ODQzOF0sIFsxNjYzOTIwMTIwLjMwNTcyODIsIDEyMDg3LCAxLjE0MDQwNjk2NjIwOTQxMTZdLCBbMTY2MzkyMDEyMC41MTIwOTM1LCAxMjEwNSwgMS4xNjc5MjkxNzI1MTU4NjkxXSwgWzE2NjM5MjAxMjAuNjIxNjM2MiwgMTIxMTQsIDEuMTcxMTM0ODI5NTIxMTc5Ml0sIFsxNjYzOTIwMTIwLjgyODcxMDYsIDEyMTMyLCAxLjE1NDkyODY4NDIzNDYxOTFdLCBbMTY2MzkyMDEyMC45Mjc1NjIsIDEyMTQxLCAxLjE0NDczNDM4MjYyOTM5NDVdLCBbMTY2MzkyMDEyMS4yODUzMjIsIDEyMTY4LCAxLjEzMDk3NzI3Mjk4NzM2NTddLCBbMTY2MzkyMDEyMS4zOTQwMTQsIDEyMTc3LCAxLjEyNTkxNDQ1NDQ2MDE0NF0sIFsxNjYzOTIwMTIxLjYyNjM1NDIsIDEyMTk1LCAxLjEzODI4ODk3NDc2MTk2M10sIFsxNjYzOTIwMTIxLjc0MTEwMTUsIDEyMjA0LCAxLjE2MjI2MDA1NTU0MTk5MjJdLCBbMTY2MzkyMDEyMS44NDY4OTk1LCAxMjIxMywgMS4xMjQwNjg3MzcwMzAwMjkzXSwgWzE2NjM5MjAxMjEuOTUzMDUzNywgMTIyMjIsIDEuMTU0NzQ2NjUxNjQ5NDc1XSwgWzE2NjM5MjAxMjIuMDk1ODQzLCAxMjIzMSwgMS4xMzA4NjE2Mzk5NzY1MDE1XSwgWzE2NjM5MjAxMjIuMzI2MDg5LCAxMjI0OSwgMS4xMTkyNTI2ODE3MzIxNzc3XSwgWzE2NjM5MjAxMjIuNzc1NDEyLCAxMjI4NSwgMS4xMTMwNDYwNTAwNzE3MTYzXSwgWzE2NjM5MjAxMjIuODkyMTU1MiwgMTIyOTQsIDEuMTMxODcxOTM4NzA1NDQ0M10sIFsxNjYzOTIwMTIzLjAyNjkzMzcsIDEyMzAzLCAxLjExODYyNDY4NzE5NDgyNDJdLCBbMTY2MzkyMDEyMy4xMzczNiwgMTIzMTIsIDEuMTU5NjI4NTEwNDc1MTU4N10sIFsxNjYzOTIwMTIzLjIzNDEzNiwgMTIzMjEsIDEuMTY1Mjk2MDc3NzI4MjcxNV0sIFsxNjYzOTIwMTIzLjgxNDE4MjgsIDEyMzU3LCAxLjE3MTM4OTQ2MDU2MzY1OTddLCBbMTY2MzkyMDEyMy45MTc4NzIyLCAxMjM2NiwgMS4xMjQ3NjM3MjcxODgxMTA0XSwgWzE2NjM5MjAxMjQuMDExNjU4NCwgMTIzNzUsIDEuMTEyODk2NTYxNjIyNjE5Nl0sIFsxNjYzOTIwMTI0LjEzOTIzMTQsIDEyMzg0LCAxLjEyNjEzNjc3OTc4NTE1NjJdLCBbMTY2MzkyMDEyNC4yMzg1NjIsIDEyMzkzLCAxLjExNTYxOTA2MzM3NzM4MDRdLCBbMTY2MzkyMDEyNC42ODU0MDQzLCAxMjQyOSwgMS4xMzY4ODIwNjY3MjY2ODQ2XSwgWzE2NjM5MjAxMjQuNzk5NDI3MywgMTI0MzgsIDEuMTIwMjIzMTY0NTU4NDEwNl0sIFsxNjYzOTIwMTI1LjIxMDMyNzYsIDEyNDc0LCAxLjE1MjE3MzYzODM0MzgxMV0sIFsxNjYzOTIwMTI1LjMyNjUxNzMsIDEyNDgzLCAxLjEyMDYwODkyNTgxOTM5N10sIFsxNjYzOTIwMTI1LjQyMzc1MDIsIDEyNDkyLCAxLjE1OTM4OTg1MzQ3NzQ3OF0sIFsxNjYzOTIwMTI1Ljc2NzYyNDEsIDEyNTE5LCAxLjE0NjkzNTgyMDU3OTUyODhdLCBbMTY2MzkyMDEyNS44NzgzNTU3LCAxMjUyOCwgMS4yMDQ4OTQ2NjE5MDMzODEzXSwgWzE2NjM5MjAxMjYuMDc5NzgzLCAxMjU0NiwgMS4xNTUyMjk2ODc2OTA3MzQ5XSwgWzE2NjM5MjAxMjYuMTkwODUzNiwgMTI1NTUsIDEuMTY1MTM3MjkwOTU0NTg5OF0sIFsxNjYzOTIwMTI2LjM4OTUyNzYsIDEyNTczLCAxLjE4NDY5NTEyNDYyNjE1OTddLCBbMTY2MzkyMDEyNi40Nzk5OTk4LCAxMjU4MiwgMS4yMzgxODQ1NzEyNjYxNzQzXSwgWzE2NjM5MjAxMjYuNzI3NzQ4NCwgMTI2MDAsIDEuMTMwMjcxMTk2MzY1MzU2NF0sIFsxNjYzOTIwMTI2Ljg0NjQ5MTgsIDEyNjA5LCAxLjEyOTQ0Njg2NDEyODExMjhdLCBbMTY2MzkyMDEyNy4xNDY4NDY4LCAxMjYzNiwgMS4xMzA4NzEwNTc1MTAzNzZdLCBbMTY2MzkyMDEyNy4yNDA4Mzc2LCAxMjY0NSwgMS4xMjYwNjE0Mzk1MTQxNjAyXSwgWzE2NjM5MjAxMjcuMzMyMjE5MSwgMTI2NTQsIDEuMTQxMjAzMDQ1ODQ1MDMxN10sIFsxNjYzOTIwMTI3LjQzOTA3NzEsIDEyNjYzLCAxLjE0NzA3NzA4MzU4NzY0NjVdLCBbMTY2MzkyMDEyOC4xMjIwNDEsIDEyNzI2LCAxLjE4NDg2OTc2NjIzNTM1MTZdLCBbMTY2MzkyMDEyOC40MTM0NjM0LCAxMjc1MywgMS4xMjI0OTY3MjQxMjg3MjMxXSwgWzE2NjM5MjAxMjguNTA4NTM3OCwgMTI3NjIsIDEuMTUyMjE2NzkyMTA2NjI4NF0sIFsxNjYzOTIwMTI4LjcwMTc2NDYsIDEyNzgwLCAxLjEzNTU3NzY3ODY4MDQyXSwgWzE2NjM5MjAxMjguODk4NDc2OCwgMTI3OTgsIDEuMTQyNzc1MDU4NzQ2MzM4XSwgWzE2NjM5MjAxMjkuMDAwMjUzNCwgMTI4MDcsIDEuMTQ2MTg3NTQzODY5MDE4Nl0sIFsxNjYzOTIwMTI5LjMwODI5OTMsIDEyODM0LCAxLjE1NTkwMDU5NzU3MjMyNjddLCBbMTY2MzkyMDEyOS40MTI5MTk4LCAxMjg0MywgMS4xNzc2OTM0ODYyMTM2ODRdLCBbMTY2MzkyMDEyOS42MDI3NTcsIDEyODYxLCAxLjExOTk5NTIzNjM5Njc4OTZdLCBbMTY2MzkyMDEyOS44ODI4OTIsIDEyODg4LCAxLjEzMTExNTY3NDk3MjUzNDJdLCBbMTY2MzkyMDEyOS45NzczODQzLCAxMjg5NywgMS4xMDY4MjQ4NzQ4Nzc5Mjk3XSwgWzE2NjM5MjAxMzAuMDcxOTcyOCwgMTI5MDYsIDEuMTQ0MjEzMDgwNDA2MTg5XSwgWzE2NjM5MjAxMzAuMTcyNjQ2OCwgMTI5MTUsIDEuMjAwODA0MjMzNTUxMDI1NF0sIFsxNjYzOTIwMTMwLjM2NTAwMDUsIDEyOTMzLCAxLjEyNzQ0MzMxMzU5ODYzMjhdLCBbMTY2MzkyMDEzMC41NjIzNzIyLCAxMjk1MSwgMS4xMjQyNTE5NjE3MDgwNjg4XSwgWzE2NjM5MjAxMzAuNjU1NjA1NiwgMTI5NjAsIDEuMTE0NzUyNTMxMDUxNjM1N10sIFsxNjYzOTIwMTMwLjc0Mzg1NCwgMTI5NjksIDEuMTEzNjg1MjUwMjgyMjg3Nl0sIFsxNjYzOTIwMTMwLjg0MDI2ODYsIDEyOTc4LCAxLjE0MDkzNTU0MDE5OTI3OThdLCBbMTY2MzkyMDEzMS4xNTI2MzYsIDEzMDA1LCAxLjE3MDk5MTA2MzExNzk4MV0sIFsxNjYzOTIwMTMxLjM5OTkyNjQsIDEzMDIzLCAxLjEyMDkyMjkyMzA4ODA3MzddLCBbMTY2MzkyMDEzMS41MTk3OTIzLCAxMzAzMiwgMS4xMzQwODI0MzY1NjE1ODQ1XSwgWzE2NjM5MjAxMzEuNjIyODA5NiwgMTMwNDEsIDEuMTQ4MTcyNjE2OTU4NjE4Ml0sIFsxNjYzOTIwMTMxLjczMjM1NTYsIDEzMDUwLCAxLjEwMzA0ODkyMDYzMTQwODddLCBbMTY2MzkyMDEzMS44MzE1OTY0LCAxMzA1OSwgMS4xNDkwMjgxODIwMjk3MjQxXSwgWzE2NjM5MjAxMzEuOTM3MjIyNywgMTMwNjgsIDEuMTE5MTUwODc2OTk4OTAxNF0sIFsxNjYzOTIwMTMyLjAzOTE3NjIsIDEzMDc3LCAxLjEzNDA4MTEyNTI1OTM5OTRdLCBbMTY2MzkyMDEzMi4yNDE3NjQsIDEzMDk1LCAxLjEzOTk3NDIzNjQ4ODM0MjNdLCBbMTY2MzkyMDEzMi4zNDIxNzkzLCAxMzEwNCwgMS4xMTE5MzM1ODg5ODE2Mjg0XSwgWzE2NjM5MjAxMzIuNDM5OTA3LCAxMzExMywgMS4yMTQyMTgyNTg4NTc3MjddLCBbMTY2MzkyMDEzMi43Mzc0OCwgMTMxMjIsIDEuMjEyNzQ4NDA4MzE3NTY2XSwgWzE2NjM5MjAxMzIuODMyNjQzNSwgMTMxMzEsIDEuMjAzNzQxNjY5NjU0ODQ2Ml0sIFsxNjYzOTIwMTMyLjkyOTU2ODgsIDEzMTQwLCAxLjEzNjg0MjYwODQ1MTg0MzNdLCBbMTY2MzkyMDEzMy4wNTM2NzI2LCAxMzE0OSwgMS4xNzA4NjkzNTA0MzMzNDk2XSwgWzE2NjM5MjAxMzMuMTYxODQ1MiwgMTMxNTgsIDEuMTQwMzA2NzExMTk2ODk5NF0sIFsxNjYzOTIwMTMzLjI2MDA3NjUsIDEzMTY3LCAxLjEzMDg0MDE4MjMwNDM4MjNdLCBbMTY2MzkyMDEzMy4zNjk1MTczLCAxMzE3NiwgMS4xMzAyMzgyOTQ2MDE0NDA0XSwgWzE2NjM5MjAxMzMuNDc4MTA4NiwgMTMxODUsIDEuMTE5MzQwMzAwNTU5OTk3Nl0sIFsxNjYzOTIwMTM0LjE1MDY0NTMsIDEzMjM5LCAxLjI0MDY2NTc5MzQxODg4NDNdLCBbMTY2MzkyMDEzNC40Nzc1NTkzLCAxMzI2NiwgMS4xNDY0ODQzNzVdLCBbMTY2MzkyMDEzNC41NzIwMDc0LCAxMzI3NSwgMS4xMzIwNzQ5NTIxMjU1NDkzXSwgWzE2NjM5MjAxMzQuNzY1ODIxNSwgMTMyOTMsIDEuMTU4NjM0OTAxMDQ2NzUzXSwgWzE2NjM5MjAxMzQuODYwNDQxLCAxMzMwMiwgMS4xODQ0MDQwMTU1NDEwNzY3XSwgWzE2NjM5MjAxMzUuMjk3NTcwNSwgMTMzMzgsIDEuMTU0NjUxNzYxMDU0OTkyN10sIFsxNjYzOTIwMTM1LjQwNzY1MzgsIDEzMzQ3LCAxLjE1NjA1MjgyNzgzNTA4M10sIFsxNjYzOTIwMTM1LjUxNDI5OTQsIDEzMzU2LCAxLjEyOTY3NDY3MzA4MDQ0NDNdLCBbMTY2MzkyMDEzNS42MjE0MSwgMTMzNjUsIDEuMTE0MjcwMzI5NDc1NDAyOF0sIFsxNjYzOTIwMTM1Ljk3NTc1ODgsIDEzMzkyLCAxLjE0NTgwMjE0MDIzNTkwMDldLCBbMTY2MzkyMDEzNi4wODA0NjE3LCAxMzQwMSwgMS4xNzgyMDIxNTIyNTIxOTczXSwgWzE2NjM5MjAxMzYuMTc5MzgxMSwgMTM0MTAsIDEuMTI4OTgzMDIwNzgyNDcwN10sIFsxNjYzOTIwMTM2LjI4MDE5NDgsIDEzNDE5LCAxLjEzNzQ4OTU1NzI2NjIzNTRdLCBbMTY2MzkyMDEzNi4zNzcwMTYzLCAxMzQyOCwgMS4xMzQzNDgwMzQ4NTg3MDM2XSwgWzE2NjM5MjAxMzYuNTg1ODk5LCAxMzQ0NiwgMS4xMjI5NzU5NDU0NzI3MTczXSwgWzE2NjM5MjAxMzYuNjc5Mzg1NywgMTM0NTUsIDEuMTI3MjM3MjAwNzM2OTk5NV0sIFsxNjYzOTIwMTM3LjA5NDc0NjgsIDEzNDkxLCAxLjE1Mjg3NzY4ODQwNzg5OF0sIFsxNjYzOTIwMTM3LjE4ODI2OSwgMTM1MDAsIDEuMTUwNzQzNDg0NDk3MDcwM10sIFsxNjYzOTIwMTM3LjI4NTQ3MjksIDEzNTA5LCAxLjEyODczNzY4ODA2NDU3NTJdLCBbMTY2MzkyMDEzNy40NzYwNDMsIDEzNTI3LCAxLjExMzk1NzQwNTA5MDMzMl0sIFsxNjYzOTIwMTM3Ljc4MDM3MTQsIDEzNTU0LCAxLjE1NDk1NDQzMzQ0MTE2Ml0sIFsxNjYzOTIwMTM4LjE5MDk1MDIsIDEzNTkwLCAxLjE1MjM5NDUzMzE1NzM0ODZdLCBbMTY2MzkyMDEzOC4zMDM5MiwgMTM1OTksIDEuMjAyODIwNTM5NDc0NDg3M10sIFsxNjYzOTIwMTM4LjQwMzcwNTYsIDEzNjA4LCAxLjIwNDM2MDYwNDI4NjE5MzhdLCBbMTY2MzkyMDEzOC41MDU2NDI3LCAxMzYxNywgMS4xNzc4MzEyOTIxNTI0MDQ4XSwgWzE2NjM5MjAxMzguNjAyMzQwNywgMTM2MjYsIDEuMTE4MzIyNDkxNjQ1ODEzXSwgWzE2NjM5MjAxMzguODA4MzgzLCAxMzY0NCwgMS4xMDQ3OTExNjQzOTgxOTM0XSwgWzE2NjM5MjAxMzguOTAzMDExNiwgMTM2NTMsIDEuMTA1MzYyNzcyOTQxNTg5NF0sIFsxNjYzOTIwMTM5LjU4NDA4NTUsIDEzNzE2LCAxLjEwODkyMTY0NzA3MTgzODRdLCBbMTY2MzkyMDEzOS44NzYxNjA5LCAxMzc0MywgMS4xMjU4MjY5NTQ4NDE2MTM4XSwgWzE2NjM5MjAxNDAuMTAxNDE3MywgMTM3NjEsIDEuMTU2NDg1MzE5MTM3NTczMl0sIFsxNjYzOTIwMTQwLjI5ODUxMzcsIDEzNzc5LCAxLjE4MTEwMTkxODIyMDUyXSwgWzE2NjM5MjAxNDAuNjAzOTE1NywgMTM4MDYsIDEuMTgyMzQ5NDQzNDM1NjY5XSwgWzE2NjM5MjAxNDAuNjk4ODEsIDEzODE1LCAxLjIyMjA4Njc4NzIyMzgxNl0sIFsxNjYzOTIwMTQxLjAxMjUwNzQsIDEzODQyLCAxLjEyMjU2MzcxOTc0OTQ1MDddLCBbMTY2MzkyMDE0MS4xMDQ1MjE4LCAxMzg1MSwgMS4xMTA4MjYyNTM4OTA5OTEyXSwgWzE2NjM5MjAxNDEuMjA3NTUzNCwgMTM4NjAsIDEuMTE4NTY5MDE2NDU2NjA0XSwgWzE2NjM5MjAxNDEuMzA2MzkwNSwgMTM4NjksIDEuMTI2MjQwMTM0MjM5MTk2OF0sIFsxNjYzOTIwMTQxLjQxNDE0MSwgMTM4NzgsIDEuMTExMDY3ODkxMTIwOTEwNl0sIFsxNjYzOTIwMTQxLjk4ODYzNiwgMTM5MTQsIDEuMTI5MDk4ODkyMjExOTE0XSwgWzE2NjM5MjAxNDIuMTgyMTYwNiwgMTM5MzIsIDEuMTIzMzk4NzgwODIyNzU0XSwgWzE2NjM5MjAxNDIuMjc1ODU4MiwgMTM5NDEsIDEuMTUxNjg3MjY0NDQyNDQzOF0sIFsxNjYzOTIwMTQyLjM2ODY4MDIsIDEzOTUwLCAxLjEwNTE2MDcxMzE5NTgwMDhdLCBbMTY2MzkyMDE0Mi42MjU5MzQsIDEzOTY4LCAxLjE1MTA0MTc0NjEzOTUyNjRdLCBbMTY2MzkyMDE0Mi43NDA2OSwgMTM5NzcsIDEuMTY5MjA4NDA3NDAyMDM4Nl0sIFsxNjYzOTIwMTQyLjgzODIwOSwgMTM5ODYsIDEuMTMwMTU0MTMyODQzMDE3Nl0sIFsxNjYzOTIwMTQzLjAzODUwOTQsIDE0MDA0LCAxLjEyNDc1MDg1MjU4NDgzODldLCBbMTY2MzkyMDE0My4yMzMyNjg1LCAxNDAyMiwgMS4xNTM1OTMzMDE3NzMwNzEzXSwgWzE2NjM5MjAxNDMuNDIxODA5MiwgMTQwNDAsIDEuMTQ1OTU3NzA4MzU4NzY0Nl0sIFsxNjYzOTIwMTQzLjUxODQ4OTQsIDE0MDQ5LCAxLjEzNjI3NDA5OTM0OTk3NTZdLCBbMTY2MzkyMDE0My43MDkwMjc1LCAxNDA2NywgMS4xMzg1OTQyNjk3NTI1MDI0XSwgWzE2NjM5MjAxNDMuODA5NTQ5LCAxNDA3NiwgMS4xMzkwOTY4NTYxMTcyNDg1XSwgWzE2NjM5MjAxNDMuOTA2OTMzLCAxNDA4NSwgMS4xNTc0MDM0NjkwODU2OTM0XSwgWzE2NjM5MjAxNDQuMDA5NTM3NSwgMTQwOTQsIDEuMTAxMTk3MzYxOTQ2MTA2XSwgWzE2NjM5MjAxNDQuMTAyMzA2NCwgMTQxMDMsIDEuMTA3NDkzMTYyMTU1MTUxNF0sIFsxNjYzOTIwMTQ0LjM0OTI5MzUsIDE0MTIxLCAxLjEyNTkwNTE1NjEzNTU1OV0sIFsxNjYzOTIwMTQ0LjU2NDcxODIsIDE0MTM5LCAxLjEyMDA4MDQ3MTAzODgxODRdLCBbMTY2MzkyMDE0NC42NjAxMzAzLCAxNDE0OCwgMS4xMjM4MjUzMTE2NjA3NjY2XSwgWzE2NjM5MjAxNDQuNzU3MDcyLCAxNDE1NywgMS4xMjg5MDgzOTU3NjcyMTJdLCBbMTY2MzkyMDE0NC44NDc1NjU0LCAxNDE2NiwgMS4xMTc3MjcxNjA0NTM3OTY0XSwgWzE2NjM5MjAxNDQuOTM4NjAwNSwgMTQxNzUsIDEuMTAxMDA5ODQ1NzMzNjQyNl0sIFsxNjYzOTIwMTQ1LjEyNzExOSwgMTQxOTMsIDEuMTI1ODAyNjM2MTQ2NTQ1NF0sIFsxNjYzOTIwMTQ1LjMyNzc5OTMsIDE0MjExLCAxLjEyNTc0Nzc5OTg3MzM1Ml0sIFsxNjYzOTIwMTQ1LjQ0OTE5MDQsIDE0MjIwLCAxLjEzNzgyNDc3Mzc4ODQ1MjFdLCBbMTY2MzkyMDE0NS41NzMxMjA2LCAxNDIyOSwgMS4xMzAyMzE3MzgwOTA1MTUxXSwgWzE2NjM5MjAxNDUuNjc5NDcyMiwgMTQyMzgsIDEuMTEzMDYzMjE2MjA5NDExNl0sIFsxNjYzOTIwMTQ1Ljc3NzU2OSwgMTQyNDcsIDEuMTk3OTkyNDQ0MDM4MzkxMV0sIFsxNjYzOTIwMTQ2LjA4NzQyMTcsIDE0Mjc0LCAxLjE3Nzg5MjU2NTcyNzIzMzldLCBbMTY2MzkyMDE0Ni41NTYwOTQ0LCAxNDMxMCwgMS4xMTg0ODY0MDQ0MTg5NDUzXSwgWzE2NjM5MjAxNDYuNjc1NzU3MiwgMTQzMTksIDEuMTE5NjA0NDY4MzQ1NjQyXSwgWzE2NjM5MjAxNDcuMDk4NzMzLCAxNDM1NSwgMS4xMjU3Nzg5MTM0OTc5MjQ4XSwgWzE2NjM5MjAxNDcuMjAyMDc1MiwgMTQzNjQsIDEuMTM5Mzc0NzMyOTcxMTkxNF0sIFsxNjYzOTIwMTQ3LjI5ODk0NDIsIDE0MzczLCAxLjExMTY1NTQ3MzcwOTEwNjRdLCBbMTY2MzkyMDE0Ny4zOTEyMywgMTQzODIsIDEuMTM5MTUwODU3OTI1NDE1XSwgWzE2NjM5MjAxNDcuNjE0NDk4OSwgMTQ0MDAsIDEuMTAyNDM3NDk2MTg1MzAyN10sIFsxNjYzOTIwMTQ3LjcwNDU1MTUsIDE0NDA5LCAxLjEzMzIxNzQ1Mzk1NjYwNF0sIFsxNjYzOTIwMTQ3LjgwMDgyMiwgMTQ0MTgsIDEuMTI2MzU3OTEzMDE3MjczXSwgWzE2NjM5MjAxNDcuODk2OTU1MywgMTQ0MjcsIDEuMTE1MDMxMjQyMzcwNjA1NV0sIFsxNjYzOTIwMTQ3Ljk5MjMxMSwgMTQ0MzYsIDEuMTI2MjI5MDQ3Nzc1MjY4Nl0sIFsxNjYzOTIwMTQ4LjU0NTIyNDcsIDE0NDgxLCAxLjE2NjkyOTQ4MzQxMzY5NjNdLCBbMTY2MzkyMDE0OC43NDUxMDE1LCAxNDQ5OSwgMS4xMzYyNDM1ODE3NzE4NTA2XSwgWzE2NjM5MjAxNDguODQwNzYzNiwgMTQ1MDgsIDEuMTkxNjg1MTk5NzM3NTQ4OF0sIFsxNjYzOTIwMTQ5LjAzNjM2MzEsIDE0NTI2LCAxLjE0NjAzMzg4MzA5NDc4NzZdLCBbMTY2MzkyMDE0OS4xNDEzNTc0LCAxNDUzNSwgMS4xMTU2ODE0MDk4MzU4MTU0XSwgWzE2NjM5MjAxNDkuMjQyODkwNiwgMTQ1NDQsIDEuMTAwMzQwNjA0NzgyMTA0NV0sIFsxNjYzOTIwMTQ5LjMzNDE5NywgMTQ1NTMsIDEuMTI5MDA5NjA0NDU0MDQwNV0sIFsxNjYzOTIwMTQ5LjQyODY5ODgsIDE0NTYyLCAxLjE2NjU1NzU1MDQzMDI5NzldLCBbMTY2MzkyMDE0OS43MTYzOTEsIDE0NTg5LCAxLjExNjQwNjY3OTE1MzQ0MjRdLCBbMTY2MzkyMDE0OS44MTE4Njk0LCAxNDU5OCwgMS4xNTc4NDE5MjA4NTI2NjExXV0=","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_08-24-14_17ae77f8abe2&tag=Loss%2Ftrain":{"data":"W1sxNjYzODM1MDU3LjYxNzkyMDQsIDM2LCAyMy4xNjY3NDQyMzIxNzc3MzRdLCBbMTY2MzgzNTA1Ny43NTkyNTk1LCA0NSwgMTguMDU2NDg2MTI5NzYwNzQyXSwgWzE2NjM4MzUwNTguNjIyNzAyNCwgOTksIDUuNzA3NzYxMjg3Njg5MjA5XSwgWzE2NjM4MzUwNTkuMTcwMDY3OCwgMTM1LCA1LjQ2MjQ3OTU5MTM2OTYyOV0sIFsxNjYzODM1MDU5LjMwMjMsIDE0NCwgNS4zOTgwOTI3NDY3MzQ2MTldLCBbMTY2MzgzNTA1OS42ODIzMjgsIDE3MSwgNS4xNTQ0Njg1MzYzNzY5NTNdLCBbMTY2MzgzNTA1OS43OTM0NDc3LCAxODAsIDUuMTY1OTYzMTcyOTEyNTk4XSwgWzE2NjM4MzUwNTkuOTEyODEzNCwgMTg5LCA1LjE1MjAwNDI0MTk0MzM1OV0sIFsxNjYzODM1MDYwLjE2Njc5NTcsIDIwNywgNC45OTA3ODk4OTAyODkzMDddLCBbMTY2MzgzNTA2MC4yODY3MjY1LCAyMTYsIDQuOTU2OTQzOTg4ODAwMDQ5XSwgWzE2NjM4MzUwNjAuNjY1MDc0OCwgMjQzLCA0Ljg1NjExMDA5NTk3Nzc4M10sIFsxNjYzODM1MDYwLjc4OTI4LCAyNTIsIDQuODM2MTI4MjM0ODYzMjgxXSwgWzE2NjM4MzUwNjIuMTA3MjcyNiwgMzUxLCA0LjIxMDA4ODcyOTg1ODM5OF0sIFsxNjYzODM1MDYyLjMyMzEyMzIsIDM2OSwgNC4yMDEzOTUwMzQ3OTAwMzldLCBbMTY2MzgzNTA2My4xNjAzMDc2LCA0MzIsIDMuOTIwMjA4MjE1NzEzNTAxXSwgWzE2NjM4MzUwNjMuMjY2NDEwNCwgNDQxLCAzLjg2Njc2NDA2ODYwMzUxNTZdLCBbMTY2MzgzNTA2My4zODAxOSwgNDUwLCAzLjc4OTAzNjc1MDc5MzQ1N10sIFsxNjYzODM1MDYzLjYwODM3MDgsIDQ2OCwgMy42ODgwNzk4MzM5ODQzNzVdLCBbMTY2MzgzNTA2My45MjY1ODcsIDQ5NSwgMy42MTcwMjYzMjkwNDA1MjczXSwgWzE2NjM4MzUwNjQuMjI5MzQ4NywgNTIyLCAzLjU1Mzk0NjQ5NTA1NjE1MjNdLCBbMTY2MzgzNTA2NC41MzE1OTU3LCA1NDksIDMuNDY1NjEwOTgwOTg3NTQ5XSwgWzE2NjM4MzUwNjQuNjI5MTIyNSwgNTU4LCAzLjQxNTI1NjczODY2MjcxOTddLCBbMTY2MzgzNTA2NC43Mjk4NDY1LCA1NjcsIDMuMzE2MzU1OTQzNjc5ODA5Nl0sIFsxNjYzODM1MDY0LjgyOTU2NDgsIDU3NiwgMy4zNDM5NDQwNzI3MjMzODg3XSwgWzE2NjM4MzUwNjUuMDIwMjU0LCA1OTQsIDMuMjA3NzQ2NTA1NzM3MzA0N10sIFsxNjYzODM1MDY1LjExNjExNTYsIDYwMywgMy4yNjUyNDI4MTUwMTc3XSwgWzE2NjM4MzUwNjUuMjE4Nzk0MywgNjEyLCAzLjE4OTY0NjQ4MjQ2NzY1MTRdLCBbMTY2MzgzNTA2NS4zMjI2Mjk1LCA2MjEsIDMuMTU2MTU3MDE2NzU0MTUwNF0sIFsxNjYzODM1MDY1LjUwNDg4NzMsIDYzOSwgMy4wOTcyNDk3NDYzMjI2MzJdLCBbMTY2MzgzNTA2NS42MDE4NjgsIDY0OCwgMy4xMTUxMDUxNTIxMzAxMjddLCBbMTY2MzgzNTA2Ni4zNDY3OTkxLCA3MDIsIDIuOTA4NjU3MzEyMzkzMTg4NV0sIFsxNjYzODM1MDY2LjYyNDAyNzcsIDcyMCwgMi44NzU5MTAwNDM3MTY0MzA3XSwgWzE2NjM4MzUwNjYuOTk3MDUwMywgNzQ3LCAyLjc5NTA1ODcyNzI2NDQwNDNdLCBbMTY2MzgzNTA2Ny4zMDkwMDEsIDc3NCwgMi43NDMwODM5NTM4NTc0MjJdLCBbMTY2MzgzNTA2Ny43ODg1NzQ1LCA4MTAsIDIuNzQ5MzkxNTU1Nzg2MTMzXSwgWzE2NjM4MzUwNjkuMTUzNzA2LCA5MDAsIDIuNTI5Njk4NjEwMzA1Nzg2XSwgWzE2NjM4MzUwNjkuMjQ0OTAyMSwgOTA5LCAyLjUxMDE0MjgwMzE5MjEzODddLCBbMTY2MzgzNTA2OS41NjEwNTMzLCA5MzYsIDIuNDMyNTc2NDE3OTIyOTczNl0sIFsxNjYzODM1MDY5Ljg4NjIxMTQsIDk2MywgMi40MzIxMDMzOTU0NjIwMzZdLCBbMTY2MzgzNTA2OS45OTE1NzU1LCA5NzIsIDIuNDU1OTY3MTg3ODgxNDY5N10sIFsxNjYzODM1MDcwLjIyMDE4OCwgOTkwLCAyLjM4Mjk1MzQwNTM4MDI0OV0sIFsxNjYzODM1MDcwLjk2NzMyNiwgMTA1MywgMi4yNzE1ODc4NDg2NjMzM10sIFsxNjYzODM1MDcxLjUxMzg3OCwgMTA5OCwgMi4yMzMyMjE3NjkzMzI4ODU3XSwgWzE2NjM4MzUwNzEuODk2OTkyNywgMTEzNCwgMi4zNjg5NzkyMTU2MjE5NDgyXSwgWzE2NjM4MzUwNzEuOTk1MjI0NSwgMTE0MywgMi40MDUwODkzNzgzNTY5MzM2XSwgWzE2NjM4MzUwNzIuMTkxNDE3NywgMTE2MSwgMi4xNTU1MzIzNjAwNzY5MDQzXSwgWzE2NjM4MzUwNzIuNDAyNzU2NSwgMTE3OSwgMi4xNDgyODgyNDk5Njk0ODI0XSwgWzE2NjM4MzUwNzIuNDk2ODkwOCwgMTE4OCwgMi4xMzQzMTIxNTI4NjI1NDldLCBbMTY2MzgzNTA3Mi45NzQ1MzgsIDEyMzMsIDIuMTY5MDY5MjkwMTYxMTMzXSwgWzE2NjM4MzUwNzMuMDcxNTkxOSwgMTI0MiwgMi4xNDkzNDAzOTExNTkwNTc2XSwgWzE2NjM4MzUwNzMuODg2OTA5MiwgMTMwNSwgMi4wOTIzNzA5ODY5Mzg0NzY2XSwgWzE2NjM4MzUwNzQuMTQwODU3NSwgMTMyMywgMi4xMTAwMzE4NDMxODU0MjVdLCBbMTY2MzgzNTA3NC4yNjY2NzcxLCAxMzMyLCAyLjA5NjI3NDM3NTkxNTUyNzNdLCBbMTY2MzgzNTA3NC42MTY3NTU3LCAxMzU5LCAyLjA4ODAzNjA2MDMzMzI1Ml0sIFsxNjYzODM1MDc1LjQyNzE2NzQsIDE0MjIsIDIuMTQxMjE2Mjc4MDc2MTcyXSwgWzE2NjM4MzUwNzUuNzYyNTkzNywgMTQ0OSwgMi4wMTkwMDY3MjkxMjU5NzY2XSwgWzE2NjM4MzUwNzUuOTYyMjUzNiwgMTQ2NywgMi4wMTMxMDg5Njg3MzQ3NDFdLCBbMTY2MzgzNTA3Ni4xNzE0NzY0LCAxNDg1LCAxLjk5MTk2NTc3MDcyMTQzNTVdLCBbMTY2MzgzNTA3Ni44MjYzNzc5LCAxNTM5LCAxLjk3MzQ4ODU2OTI1OTY0MzZdLCBbMTY2MzgzNTA3Ni45NTQyMjI3LCAxNTQ4LCAxLjk2NzY2MDY2NTUxMjA4NV0sIFsxNjYzODM1MDc3LjExMzA1NSwgMTU1NywgMS45ODE1ODk1NTU3NDAzNTY0XSwgWzE2NjM4MzUwNzcuNTAwMDMyNCwgMTU4NCwgMi4wMTIxNTM2MjU0ODgyODEyXSwgWzE2NjM4MzUwNzcuOTkyNzM4NywgMTYwMiwgMi4wMDIwMTI5NjgwNjMzNTQ1XSwgWzE2NjM4MzUwNzguNTAwMTYxNiwgMTYzOCwgMS45MjIzNTA0MDY2NDY3Mjg1XSwgWzE2NjM4MzUwNzguODY3MjU1MiwgMTY2NSwgMS45NDgyOTM0NDc0OTQ1MDY4XSwgWzE2NjM4MzUwNzkuMDAxMTc1LCAxNjc0LCAxLjkyMzQyNDgzOTk3MzQ0OTddLCBbMTY2MzgzNTA3OS4xMTg0NDU0LCAxNjgzLCAxLjk1NDE3MTUzODM1Mjk2NjNdLCBbMTY2MzgzNTA3OS41NTQ0OTIyLCAxNzE5LCAxLjk5ODA3MzkzNTUwODcyOF0sIFsxNjYzODM1MDc5LjY3MDA4NjYsIDE3MjgsIDIuMDkxMDYwODc2ODQ2MzEzNV0sIFsxNjYzODM1MDc5Ljc3MzkwMiwgMTczNywgMS45OTc1NzI0MjIwMjc1ODhdLCBbMTY2MzgzNTA4MC40MzM3NDA5LCAxODAwLCAxLjg2MTAzNDE1NDg5MTk2NzhdLCBbMTY2MzgzNTA4MC43MzQxNDEsIDE4MjcsIDEuOTE1MTY2OTc0MDY3Njg4XSwgWzE2NjM4MzUwODAuODQwODY4NywgMTgzNiwgMS44OTE5NzkyMTc1MjkyOTY5XSwgWzE2NjM4MzUwODAuOTc1ODg2OCwgMTg0NSwgMS44NjczMTkxMDcwNTU2NjRdLCBbMTY2MzgzNTA4MS4xMjg4ODQ4LCAxODU0LCAxLjg4ODM3ODI2MjUxOTgzNjRdLCBbMTY2MzgzNTA4MS4zODI5ODkyLCAxODcyLCAxLjg3MDMxMjkyOTE1MzQ0MjRdLCBbMTY2MzgzNTA4MS41NjQ5MzY0LCAxODkwLCAxLjg4ODE3MTU1MzYxMTc1NTRdLCBbMTY2MzgzNTA4MS43NTQ3MTIzLCAxOTA4LCAxLjkxNjg2OTQwMTkzMTc2MjddLCBbMTY2MzgzNTA4MS45ODcxODc0LCAxOTI2LCAxLjg2MzgxMDA2MjQwODQ0NzNdLCBbMTY2MzgzNTA4Mi4yNjMyMTU4LCAxOTQ0LCAxLjg0ODMzNzg4ODcxNzY1MTRdLCBbMTY2MzgzNTA4Mi4zODE3MTk4LCAxOTUzLCAxLjg4MTE2MzIzOTQ3OTA2NV0sIFsxNjYzODM1MDgyLjczNTI4MiwgMTk4MCwgMS44NjQxMjQ4OTQxNDIxNTA5XSwgWzE2NjM4MzUwODIuODU3MTM1OCwgMTk4OSwgMS44NDI2NDkyMjE0MjAyODhdLCBbMTY2MzgzNTA4Mi45NzYyODAyLCAxOTk4LCAxLjc5ODQ5NzU1NzY0MDA3NTddLCBbMTY2MzgzNTA4My4zMjQ0ODcsIDIwMjUsIDEuOTI3MzIzNTc5Nzg4MjA4XSwgWzE2NjM4MzUwODMuOTMxNTY2NSwgMjA3MCwgMS44MzkwNzUzMjY5MTk1NTU3XSwgWzE2NjM4MzUwODUuMDc3MTI3NywgMjE2MCwgMS44NjA3NjY3Njg0NTU1MDU0XSwgWzE2NjM4MzUwODUuMjc5MjIyLCAyMTc4LCAxLjgwOTMyODE5ODQzMjkyMjRdLCBbMTY2MzgzNTA4NS41NzczNjYsIDIyMDUsIDEuNzc0Mjc5MjM2NzkzNTE4XSwgWzE2NjM4MzUwODUuNjcyNDMzOSwgMjIxNCwgMS43NjU2NTAwMzM5NTA4MDU3XSwgWzE2NjM4MzUwODUuNzgxNzUxNCwgMjIyMywgMS43Nzk2MzE2MTQ2ODUwNTg2XSwgWzE2NjM4MzUwODYuNjIxODc5NiwgMjI5NSwgMS43OTczMzQ1NTE4MTEyMTgzXSwgWzE2NjM4MzUwODcuMDE0NDk4MiwgMjMzMSwgMS43MzYzNTUxODU1MDg3MjhdLCBbMTY2MzgzNTA4Ny4xNjc3NTIsIDIzNDAsIDEuNzUwOTAxMTAzMDE5NzE0NF0sIFsxNjYzODM1MDg3LjMwMzQ2OTQsIDIzNDksIDEuNzMyNTc3OTE5OTYwMDIyXSwgWzE2NjM4MzUwODcuNzUxMDE5NSwgMjM2NywgMS43NzUyNTU5MTg1MDI4MDc2XSwgWzE2NjM4MzUwODguNTQ1MjI2OCwgMjQzOSwgMS43NDU5MzQ2MDU1OTg0NDk3XSwgWzE2NjM4MzUwODguNjQwMTA2LCAyNDQ4LCAxLjcxOTY4Njk4NTAxNTg2OTFdLCBbMTY2MzgzNTA4OC45NDQyMDI0LCAyNDc1LCAxLjY4NjMxMTk2MDIyMDMzN10sIFsxNjYzODM1MDg5LjE1NTM0NjQsIDI0OTMsIDEuNzA2OTQzOTg4ODAwMDQ4OF0sIFsxNjYzODM1MDg5LjM1MTc0NzgsIDI1MTEsIDEuNzczNjA0NTEyMjE0NjYwNl0sIFsxNjYzODM1MDg5LjU1MTI1LCAyNTI5LCAxLjY5MzYzMzc5NDc4NDU0Nl0sIFsxNjYzODM1MDg5Ljc0NTU0MDQsIDI1NDcsIDEuNzA3Njg1MjMyMTYyNDc1Nl0sIFsxNjYzODM1MDg5Ljg1OTg0MTgsIDI1NTYsIDEuNzMyMjA1OTg2OTc2NjIzNV0sIFsxNjYzODM1MDkwLjA2NTQ5NSwgMjU3NCwgMS43Mjg2ODg5NTUzMDcwMDY4XSwgWzE2NjM4MzUwOTAuMjcyNjAyNiwgMjU5MiwgMS43MTgzODExNjY0NTgxMjk5XSwgWzE2NjM4MzUwOTAuMzY5OTM3NCwgMjYwMSwgMS45Mjk5Mzc0ODE4ODAxODhdLCBbMTY2MzgzNTA5MC41ODAxMzAzLCAyNjE5LCAxLjc1ODUwNDYyOTEzNTEzMThdLCBbMTY2MzgzNTA5MS4xNDE4Nzc3LCAyNjY0LCAxLjc5MjI4NzcwNzMyODc5NjRdLCBbMTY2MzgzNTA5MS4yNTA4OTQ4LCAyNjczLCAxLjY4NjM3MzQ3MjIxMzc0NTFdLCBbMTY2MzgzNTA5MS4zNjUzNjk4LCAyNjgyLCAxLjY5MDI1MjU0MjQ5NTcyNzVdLCBbMTY2MzgzNTA5MS40Njk5MTIsIDI2OTEsIDEuNjc3Mjc4ODc2MzA0NjI2NV0sIFsxNjYzODM1MDkyLjQzMjU2MjQsIDI3NjMsIDEuNjk2NTc0MjExMTIwNjA1NV0sIFsxNjYzODM1MDkyLjY3ODM1MjQsIDI3ODEsIDEuNjUzOTY4NjkxODI1ODY2N10sIFsxNjYzODM1MDkzLjE3NjU1MSwgMjgxNywgMS42MzI4NTY3MjY2NDY0MjMzXSwgWzE2NjM4MzUwOTMuNjAzNDUxNywgMjg1MywgMS42NTc5NTAwNDM2NzgyODM3XSwgWzE2NjM4MzUwOTMuODUwNjc0LCAyODcxLCAxLjYzNTc0ODM4NjM4MzA1NjZdLCBbMTY2MzgzNTA5My45NzU2NzMyLCAyODgwLCAxLjY0MjIxNjMyNDgwNjIxMzRdLCBbMTY2MzgzNTA5NC4zNTA3MzYsIDI5MDcsIDEuNjMyOTQ5MzUyMjY0NDA0M10sIFsxNjYzODM1MDk1LjA2MjYzMDIsIDI5NzAsIDEuNjM0ODE0NzM5MjI3Mjk1XSwgWzE2NjM4MzUwOTUuMjYwOTczLCAyOTg4LCAxLjYxODE1NDE2ODEyODk2NzNdLCBbMTY2MzgzNTA5NS4zNTc4NzA2LCAyOTk3LCAxLjYyNTkwNzU0MDMyMTM1XSwgWzE2NjM4MzUwOTYuMTA3MjQ1NywgMzA0MiwgMS42MjA2NzY5OTQzMjM3MzA1XSwgWzE2NjM4MzUwOTYuMjExMjUzLCAzMDUxLCAxLjYyMDEzMjIwNzg3MDQ4MzRdLCBbMTY2MzgzNTA5Ni40NTc2OTc2LCAzMDY5LCAxLjYwMDk2NDU0NjIwMzYxMzNdLCBbMTY2MzgzNTA5Ni43ODYyODMsIDMwOTYsIDEuNjA5NDAwMjcyMzY5Mzg0OF0sIFsxNjYzODM1MDk2Ljk4MjA3MSwgMzExNCwgMS41Njk1NTc3ODU5ODc4NTRdLCBbMTY2MzgzNTA5Ny4wODEwNzk3LCAzMTIzLCAxLjYwMDU5NDA0MzczMTY4OTVdLCBbMTY2MzgzNTA5Ny40NjU3NDU0LCAzMTU5LCAxLjU3Mjc3OTc3NDY2NTgzMjVdLCBbMTY2MzgzNTA5Ny42NTEzNTI2LCAzMTc3LCAxLjYxMDAzMTg0MzE4NTQyNDhdLCBbMTY2MzgzNTA5Ny44NDUyODczLCAzMTk1LCAxLjU5MTU0Mzc5MzY3ODI4MzddLCBbMTY2MzgzNTA5OC4yMzI2MTEyLCAzMjMxLCAxLjU0NDAzNDM2MTgzOTI5NDRdLCBbMTY2MzgzNTA5OC42MjQwOTQsIDMyNjcsIDEuNTYyNTA0MTcyMzI1MTM0M10sIFsxNjYzODM1MDk4LjcyNTM1MTMsIDMyNzYsIDEuNjExNDAyNzUwMDE1MjU4OF0sIFsxNjYzODM1MDk4LjgyMTQ0MjQsIDMyODUsIDEuNTY2ODQ2MzcwNjk3MDIxNV0sIFsxNjYzODM1MDk4LjkxNjk1ODYsIDMyOTQsIDEuNjA2MzczNzg2OTI2MjY5NV0sIFsxNjYzODM1MDk5LjA1MDQ2ODIsIDMzMDMsIDEuNTY3MzA1Njg0MDg5NjYwNl0sIFsxNjYzODM1MDk5LjE3OTg2OTIsIDMzMTIsIDEuNTYxMjI5NzA1ODEwNTQ2OV0sIFsxNjYzODM1MTAwLjA0MTQyMTQsIDMzNzUsIDEuNTQxNjU5MTE2NzQ0OTk1MV0sIFsxNjYzODM1MTAwLjM5MDMwNTgsIDM0MDIsIDEuNTQ2OTg1NzQ1NDI5OTkyN10sIFsxNjYzODM1MTAwLjUwNTQ5NywgMzQxMSwgMS41MzQzMjA3MTIwODk1Mzg2XSwgWzE2NjM4MzUxMDEuNDE4MDUsIDM0ODMsIDEuNTQ1NDIxMjQyNzEzOTI4Ml0sIFsxNjYzODM1MTAxLjc5MTUzMjgsIDM1MTksIDEuNTQ5MDYyNDkwNDYzMjU2OF0sIFsxNjYzODM1MTAxLjg5MTg0MjgsIDM1MjgsIDEuNTU4NjQ4OTQzOTAxMDYyXSwgWzE2NjM4MzUxMDEuOTg3NTg4NCwgMzUzNywgMS41MzE1MzE4MTA3NjA0OThdLCBbMTY2MzgzNTEwMi4xODUyODc1LCAzNTU1LCAxLjU5MDg4ODUwMDIxMzYyM10sIFsxNjYzODM1MTAyLjQ3OTIwOTcsIDM1ODIsIDEuNTQzNDEyOTIzODEyODY2Ml0sIFsxNjYzODM1MTAyLjk3MDYyMDksIDM2MjcsIDEuNTY5NzQ0MzQ4NTI2MDAxXSwgWzE2NjM4MzUxMDMuMTkxMzcxNywgMzY0NSwgMS40NzkzMTQ0NDY0NDkyNzk4XSwgWzE2NjM4MzUxMDMuODUxNDAwNiwgMzY5MCwgMS40Nzg5NjgxNDM0NjMxMzQ4XSwgWzE2NjM4MzUxMDQuMzMxOTMzLCAzNzI2LCAxLjQ4MzQ0NTY0NDM3ODY2Ml0sIFsxNjYzODM1MTA0LjQ0OTUyMiwgMzczNSwgMS40OTQ5NTk1OTI4MTkyMTM5XSwgWzE2NjM4MzUxMDQuNTYyMjYxMywgMzc0NCwgMS40ODAzMjExNjg4OTk1MzYxXSwgWzE2NjM4MzUxMDUuMTQ2NzEyNSwgMzc3MSwgMS41MzgwNzM2NTg5NDMxNzYzXSwgWzE2NjM4MzUxMDUuNDU3MTY5OCwgMzc5OCwgMS41NjIwMjQxMTY1MTYxMTMzXSwgWzE2NjM4MzUxMDUuNTUzNTUyOSwgMzgwNywgMS42NTIyNDA3NTMxNzM4MjgxXSwgWzE2NjM4MzUxMDUuODc5NjQ5LCAzODM0LCAxLjQ5NjU3NzM4MjA4NzcwNzVdLCBbMTY2MzgzNTEwNS45ODI5NTAyLCAzODQzLCAxLjUxNDQwNzg3MzE1MzY4NjVdLCBbMTY2MzgzNTEwNi4zNzE4NjUsIDM4NzksIDEuNDg0NjkxOTc3NTAwOTE1NV0sIFsxNjYzODM1MTA2LjkwMDI4MzYsIDM5MjQsIDEuNTExMjc5OTQwNjA1MTYzNl0sIFsxNjYzODM1MTA3LjAwODU3MzMsIDM5MzMsIDEuNTA1MzI2MzkwMjY2NDE4NV0sIFsxNjYzODM1MTA3LjE1MzYsIDM5NDIsIDEuNDg0MzQ5MDEyMzc0ODc4XSwgWzE2NjM4MzUxMDcuNDIwOTk0OCwgMzk2MCwgMS41MDY4NDExODI3MDg3NDAyXSwgWzE2NjM4MzUxMDcuNTcyODE3MywgMzk2OSwgMS41Mzc2Njg1ODU3NzcyODI3XSwgWzE2NjM4MzUxMDcuNzA2NTk4OCwgMzk3OCwgMS40MzY4MjA5ODM4ODY3MTg4XSwgWzE2NjM4MzUxMDcuOTMyMjIwNSwgMzk5NiwgMS40NTM1NDU5MjgwMDE0MDM4XSwgWzE2NjM4MzUxMDguMDY0OTMxNiwgNDAwNSwgMS41MDQ2OTU3NzMxMjQ2OTQ4XSwgWzE2NjM4MzUxMDguMjYzMjM2LCA0MDIzLCAxLjQ1NDU4NTE5NDU4NzcwNzVdLCBbMTY2MzgzNTEwOC43MzgyOTEsIDQwNTksIDEuNDk1ODE0MzIzNDI1MjkzXSwgWzE2NjM4MzUxMDguOTg4MjMyMSwgNDA3NywgMS40NDExNDYwMTYxMjA5MTA2XSwgWzE2NjM4MzUxMDkuMTAwMzE1OCwgNDA4NiwgMS40Mzg1ODE0NjY2NzQ4MDQ3XSwgWzE2NjM4MzUxMDkuMjE4MDkyNCwgNDA5NSwgMS40Njg1NDQ0ODMxODQ4MTQ1XSwgWzE2NjM4MzUxMDkuNDQ4MzY3OCwgNDExMywgMS40NDc0OTU0NjA1MTAyNTRdLCBbMTY2MzgzNTEwOS45MzgyNjA4LCA0MTQ5LCAxLjQyNzMzMTA4OTk3MzQ0OTddLCBbMTY2MzgzNTExMC4wNTMyMDI0LCA0MTU4LCAxLjQ0NDEyODUxMzMzNjE4MTZdLCBbMTY2MzgzNTExMC40ODIzNjcsIDQxOTQsIDEuNDY0OTY2ODkzMTk2MTA2XSwgWzE2NjM4MzUxMTAuNjIzNTc3NiwgNDIwMywgMS40MjI3Mjc5NDI0NjY3MzU4XSwgWzE2NjM4MzUxMTAuODUyNjcyOCwgNDIyMSwgMS40NDI2MDY1NjgzMzY0ODY4XSwgWzE2NjM4MzUxMTEuMDk5ODA2LCA0MjM5LCAxLjQzOTAzNjcyNjk1MTU5OTFdLCBbMTY2MzgzNTExMS40ODMwMDM0LCA0Mjc1LCAxLjQzMTc4ODY4MjkzNzYyMl0sIFsxNjYzODM1MTExLjU3Nzk0ODMsIDQyODQsIDEuMzk3MDYzMDE2ODkxNDc5NV0sIFsxNjYzODM1MTExLjk0MzU4MzcsIDQzMTEsIDEuNDExNTg3ODM0MzU4MjE1M10sIFsxNjYzODM1MTEyLjIyNTQwNTIsIDQzMjksIDEuNDI2MTU1NTY3MTY5MTg5NV0sIFsxNjYzODM1MTEyLjMzMDA1NDgsIDQzMzgsIDEuNDkyNjU1MDM4ODMzNjE4Ml0sIFsxNjYzODM1MTEyLjU0NDkyMzMsIDQzNTYsIDEuNDcwNjk3OTk5MDAwNTQ5M10sIFsxNjYzODM1MTEyLjY0NzMyNjIsIDQzNjUsIDEuNDM0MDc4NDU0OTcxMzEzNV0sIFsxNjYzODM1MTEyLjk0OTYyMDIsIDQzOTIsIDEuNDExODMyNDUxODIwMzczNV0sIFsxNjYzODM1MTEzLjA1NjI3NDQsIDQ0MDEsIDEuNDc0MzgxMjA4NDE5Nzk5OF0sIFsxNjYzODM1MTEzLjE1NDExMywgNDQxMCwgMS41MjcxMjU5NTQ2Mjc5OTA3XSwgWzE2NjM4MzUxMTMuMzM3OTA2NCwgNDQyOCwgMS40MDA3Mzc3NjI0NTExNzE5XSwgWzE2NjM4MzUxMTMuNjI3NDcyLCA0NDU1LCAxLjQwNjQwMDA4NDQ5NTU0NDRdLCBbMTY2MzgzNTExNC4wMzI5NjE2LCA0NDkxLCAxLjQ0MTc4ODQzNDk4MjI5OThdLCBbMTY2MzgzNTExNC41MzE5NjI2LCA0NTI3LCAxLjM4Nzg2MDc3NDk5Mzg5NjVdLCBbMTY2MzgzNTExNC44MjE2MDg4LCA0NTM2LCAxLjQ2MDYzMzM5NzEwMjM1Nl0sIFsxNjYzODM1MTE1LjExMTY1MywgNDU2MywgMS4zNTYzMjMyNDIxODc1XSwgWzE2NjM4MzUxMTUuMzg0NjYzOCwgNDU5MCwgMS4zODM0NjI0MjkwNDY2MzA5XSwgWzE2NjM4MzUxMTUuNDc5MzU0MSwgNDU5OSwgMS4zODU0NTI1MDg5MjYzOTE2XSwgWzE2NjM4MzUxMTUuNTY5OTEyLCA0NjA4LCAxLjM4NDI0OTY4NzE5NDgyNDJdLCBbMTY2MzgzNTExNS42Njg1OTkxLCA0NjE3LCAxLjQ1NTQwMjAxNjYzOTcwOTVdLCBbMTY2MzgzNTExNS43NTY1NzEsIDQ2MjYsIDEuNDAwNDcxOTI1NzM1NDczNl0sIFsxNjYzODM1MTE1Ljg0NTMzMDcsIDQ2MzUsIDEuMzkzNDY4MjYwNzY1MDc1N10sIFsxNjYzODM1MTE2LjEzNzIxNCwgNDY2MiwgMS4zNjE1MTE0Njg4ODczMjldLCBbMTY2MzgzNTExNi4yNDE1NTgzLCA0NjcxLCAxLjM3NzgzMzQ4NTYwMzMzMjVdLCBbMTY2MzgzNTExNi4zMzgxNTE3LCA0NjgwLCAxLjQwMzkwMjc2OTA4ODc0NTFdLCBbMTY2MzgzNTExNi40Mjk1OTI2LCA0Njg5LCAxLjQxNjgwNzc3MDcyOTA2NV0sIFsxNjYzODM1MTE2LjcwOTU0MTMsIDQ3MTYsIDEuMzU0NDI4NzY4MTU3OTU5XSwgWzE2NjM4MzUxMTcuMzgwODg5LCA0Nzc5LCAxLjM1OTQ2NDE2ODU0ODU4NF0sIFsxNjYzODM1MTE3LjY3OTE5OTUsIDQ4MDYsIDEuMzcxNTAyNzU3MDcyNDQ4N10sIFsxNjYzODM1MTE3Ljc4MTEyMywgNDgxNSwgMS40Mzg4MzU3NDAwODk0MTY1XSwgWzE2NjM4MzUxMTguMDU2MTE5MiwgNDgzMywgMS4zNzk3Mjc3MjEyMTQyOTQ0XSwgWzE2NjM4MzUxMTguMTQ4NjExLCA0ODQyLCAxLjQyOTI4Nzc5MTI1MjEzNjJdLCBbMTY2MzgzNTExOC4yNDUzMzMsIDQ4NTEsIDEuMzgyMzM2MjU4ODg4MjQ0Nl0sIFsxNjYzODM1MTE4LjQzNjgzMDMsIDQ4NjksIDEuNDQ1ODgxNjA1MTQ4MzE1NF0sIFsxNjYzODM1MTE4LjYxOTk3LCA0ODg3LCAxLjM5OTE2Mzg0MjIwMTIzM10sIFsxNjYzODM1MTE4LjgwNTY0OTUsIDQ5MDUsIDEuMzM5MTAyODY0MjY1NDQyXSwgWzE2NjM4MzUxMTguOTk5NjUyNiwgNDkyMywgMS4zMjg3MDk5NTk5ODM4MjU3XSwgWzE2NjM4MzUxMTkuMDkxOTIxOCwgNDkzMiwgMS4zMzczNTQ1NDA4MjQ4OTAxXSwgWzE2NjM4MzUxMTkuMzk0OTU0MiwgNDk1OSwgMS40MjQwMzUxOTE1MzU5NDk3XSwgWzE2NjM4MzUxMTkuNTg1MTY2LCA0OTc3LCAxLjQxMDE3MjEwNDgzNTUxMDNdLCBbMTY2MzgzNTExOS44NTU3NTc1LCA1MDA0LCAxLjM1MDE1ODA5NTM1OTgwMjJdLCBbMTY2MzgzNTExOS45NTU3MjcsIDUwMTMsIDEuMzI1MTE2Mzk1OTUwMzE3NF0sIFsxNjYzODM1MTIwLjc1OTYzNzQsIDUwNjcsIDEuMzQyMTA3MTc2NzgwNzAwN10sIFsxNjYzODM1MTIwLjg3NjA3NDgsIDUwNzYsIDEuMzI2ODY3NTgwNDEzODE4NF0sIFsxNjYzODM1MTIxLjAwMTI5LCA1MDg1LCAxLjM2NDc4NTkwOTY1MjcxXSwgWzE2NjM4MzUxMjEuNDg0MzMzOCwgNTEyMSwgMS4zMTc5MDM3NTcwOTUzMzddLCBbMTY2MzgzNTEyMS44MjYyMjkzLCA1MTQ4LCAxLjMzMjg0ODkwNjUxNzAyODhdLCBbMTY2MzgzNTEyMi4wNTU0OTE3LCA1MTY2LCAxLjMyOTgzODI3NTkwOTQyMzhdLCBbMTY2MzgzNTEyMi40MDU5ODcsIDUxOTMsIDEuMzM2MzU0ODUxNzIyNzE3M10sIFsxNjYzODM1MTIyLjgyNTAyMSwgNTIyOSwgMS4zMjA3OTk3MDgzNjYzOTRdLCBbMTY2MzgzNTEyMy40MTY1NDE4LCA1MjY1LCAxLjMzMjAzMDE3NzExNjM5NF0sIFsxNjYzODM1MTIzLjUwNTk1ODYsIDUyNzQsIDEuMzY3MzI2NjE3MjQwOTA1OF0sIFsxNjYzODM1MTIzLjYxMzQ4MywgNTI4MywgMS40MTE1NDk2ODczODU1NTldLCBbMTY2MzgzNTEyMy44MDA1OTg0LCA1MzAxLCAxLjM4MDMxNzY4Nzk4ODI4MTJdLCBbMTY2MzgzNTEyMy45OTIyNzgzLCA1MzE5LCAxLjMyOTMyMjMzODEwNDI0OF0sIFsxNjYzODM1MTI0LjA4NDc1MDcsIDUzMjgsIDEuMzUwNzA4NDg0NjQ5NjU4Ml0sIFsxNjYzODM1MTI0LjIwNTM1NDcsIDUzMzcsIDEuMzMwOTU2OTM1ODgyNTY4NF0sIFsxNjYzODM1MTI0LjM5NjQ2MDgsIDUzNTUsIDEuMzIyNTU0MzQ5ODk5MjkyXSwgWzE2NjM4MzUxMjQuNjU2OTYyNCwgNTM3MywgMS4zMDAzMTMyMzQzMjkyMjM2XSwgWzE2NjM4MzUxMjQuOTAzMjA0MiwgNTM5MSwgMS4zMjcwODc1MjE1NTMwMzk2XSwgWzE2NjM4MzUxMjUuMDA3OTI5NiwgNTQwMCwgMS4yOTMyNjUzNDI3MTI0MDIzXSwgWzE2NjM4MzUxMjUuMzA3NDQ1NSwgNTQyNywgMS4zMDI2OTEyMjEyMzcxODI2XSwgWzE2NjM4MzUxMjUuNDA1MjYxMywgNTQzNiwgMS4zMDIxMjYxNjkyMDQ3MTJdLCBbMTY2MzgzNTEyNS45Mjk3OTU1LCA1NDgxLCAxLjMxNDg2OTQwMzgzOTExMTNdLCBbMTY2MzgzNTEyNi4xMjQ1MTksIDU0OTksIDEuMzIzMzMyNDI4OTMyMTldLCBbMTY2MzgzNTEyNi40MzQ2NTYxLCA1NTI2LCAxLjI4ODIyNjg0Mjg4MDI0OV0sIFsxNjYzODM1MTI2LjUyNjgxOTUsIDU1MzUsIDEuMzEzODgxMzk3MjQ3MzE0NV0sIFsxNjYzODM1MTI2Ljc0NzAwNzQsIDU1NTMsIDEuMjU3Nzc0MzUzMDI3MzQzOF0sIFsxNjYzODM1MTI2LjkzOTE1NzIsIDU1NzEsIDEuMzU2MjA3MTMyMzM5NDc3NV0sIFsxNjYzODM1MTI3LjEyOTc1NDgsIDU1ODksIDEuMzE2MzkzOTcxNDQzMTc2M10sIFsxNjYzODM1MTI3LjMzMTM5NTQsIDU2MDcsIDEuMzAyODE5MDEzNTk1NTgxXSwgWzE2NjM4MzUxMjcuNDI0ODI2MSwgNTYxNiwgMS4zMDE4NzE2NTczNzE1MjFdLCBbMTY2MzgzNTEyNy43MTI5MDE2LCA1NjQzLCAxLjMxNzIwMzg3OTM1NjM4NDNdLCBbMTY2MzgzNTEyNy45MTY3MzU2LCA1NjYxLCAxLjI1ODI2MjM5NTg1ODc2NDZdLCBbMTY2MzgzNTEyOC4wMjM1NTcyLCA1NjcwLCAxLjI5MzEyMjY0OTE5MjgxXSwgWzE2NjM4MzUxMjguMzkwNjY4NCwgNTcwNiwgMS4yOTU4MzY5MjU1MDY1OTE4XSwgWzE2NjM4MzUxMjguNzY2MDI2MywgNTc0MiwgMS4zMTIyODEwMTI1MzUwOTUyXSwgWzE2NjM4MzUxMjkuMDc0NjU2LCA1NzY5LCAxLjMzMzEwNTU2NDExNzQzMTZdLCBbMTY2MzgzNTEyOS4xNjYzNTMsIDU3NzgsIDEuMjU3NDE3NTU5NjIzNzE4M10sIFsxNjYzODM1MTI5LjI1NzU3MzgsIDU3ODcsIDEuMjcxMjU0Nzc3OTA4MzI1Ml0sIFsxNjYzODM1MTI5LjM1MTA4NTQsIDU3OTYsIDEuMzM5Njc0ODMwNDM2NzA2NV0sIFsxNjYzODM1MTI5LjQ0MjcyMTQsIDU4MDUsIDEuMzU4NTQ3MjEwNjkzMzU5NF0sIFsxNjYzODM1MTI5LjkzMTcyOTMsIDU4NTAsIDEuMjU0Mzc0ODYxNzE3MjI0MV0sIFsxNjYzODM1MTMwLjEyODUzODQsIDU4NjgsIDEuMzU3OTI1Mjk1ODI5NzczXSwgWzE2NjM4MzUxMzAuMjI4OTg5MSwgNTg3NywgMS4zMDY1NjU1MjMxNDc1ODNdLCBbMTY2MzgzNTEzMC40MDk1MTkyLCA1ODk1LCAxLjI2OTYwMTM0NTA2MjI1NTldLCBbMTY2MzgzNTEzMC40OTkwNTcsIDU5MDQsIDEuMjc5NTU0MjQ3ODU2MTQwMV0sIFsxNjYzODM1MTMxLjAwOTA3NzMsIDU5MzEsIDEuMjQ5NzIyODM4NDAxNzk0NF0sIFsxNjYzODM1MTMxLjIwNTA0NTcsIDU5NDksIDEuMjc5NDU1MzA0MTQ1ODEzXSwgWzE2NjM4MzUxMzIuMDA5MzE3OSwgNjAxMiwgMS4zMjM2MjY2Mzc0NTg4MDEzXSwgWzE2NjM4MzUxMzIuNDI5MDc2NywgNjAzOSwgMS4zNTY4NDMzNTIzMTc4MV0sIFsxNjYzODM1MTMzLjAzNDAxNCwgNjA4NCwgMS4zMDgxNDQwOTI1NTk4MTQ1XSwgWzE2NjM4MzUxMzMuMTMzODYwNiwgNjA5MywgMS4yNDY5OTYyODM1MzExODldLCBbMTY2MzgzNTEzMy4yMjU0LCA2MTAyLCAxLjI3NTkzMTk1NDM4Mzg1XSwgWzE2NjM4MzUxMzMuNTE4MTU2MywgNjEyOSwgMS4yOTQwOTMzNzA0Mzc2MjJdLCBbMTY2MzgzNTEzMy43MTAzMzcyLCA2MTQ3LCAxLjI0NjQ1MzY0Mjg0NTE1MzhdLCBbMTY2MzgzNTEzMy43OTk2OTY0LCA2MTU2LCAxLjI3MjY0MjczMTY2NjU2NV0sIFsxNjYzODM1MTMzLjg5MDY2NjIsIDYxNjUsIDEuMjY3NzU0NDM1NTM5MjQ1Nl0sIFsxNjYzODM1MTM0LjE3NzQ2LCA2MTkyLCAxLjI0NjgzOTA0NjQ3ODI3MTVdLCBbMTY2MzgzNTEzNC42ODE1NjM0LCA2MjM3LCAxLjI5NjM1Mjc0NDEwMjQ3OF0sIFsxNjYzODM1MTM0Ljg3NDE1OCwgNjI1NSwgMS4yNDc4NTE3MjkzOTMwMDU0XSwgWzE2NjM4MzUxMzUuMDcyMjUzNSwgNjI3MywgMS4yNjI0NDM0MjMyNzExNzkyXSwgWzE2NjM4MzUxMzUuMTYxNTExNCwgNjI4MiwgMS4yNjQ5MDM2NjQ1ODg5MjgyXSwgWzE2NjM4MzUxMzUuMzYzMjg0LCA2MzAwLCAxLjI1NTQxMDA3NTE4NzY4M10sIFsxNjYzODM1MTM1LjY1NDkwMDYsIDYzMjcsIDEuMjgyOTI0NzcxMzA4ODk5XSwgWzE2NjM4MzUxMzUuNzUwNzE5MywgNjMzNiwgMS4yNzU2NTg0ODgyNzM2MjA2XSwgWzE2NjM4MzUxMzUuOTM3NDA2OCwgNjM1NCwgMS4yMzg4Mjc0NjY5NjQ3MjE3XSwgWzE2NjM4MzUxMzYuNTAzMjMyNSwgNjM5MCwgMS4yODU1NTU2MDExMTk5OTUxXSwgWzE2NjM4MzUxMzYuNjQ4NzY0NCwgNjM5OSwgMS4yMjEwMzU0ODA0OTkyNjc2XSwgWzE2NjM4MzUxMzYuOTE1MzAxMywgNjQxNywgMS4yNjQ2NjIwMjczNTkwMDg4XSwgWzE2NjM4MzUxMzcuMjcxNzA3NSwgNjQ0NCwgMS4yOTY2ODE0MDQxMTM3Njk1XSwgWzE2NjM4MzUxMzcuNTE2MDk0NCwgNjQ2MiwgMS4yMjQxNDcwODEzNzUxMjJdLCBbMTY2MzgzNTEzNy44NjQ5OTQ4LCA2NDg5LCAxLjI2NTcyNzg3NzYxNjg4MjNdLCBbMTY2MzgzNTEzNy45OTU5NjY0LCA2NDk4LCAxLjIyODU3NTU4NzI3MjY0NF0sIFsxNjYzODM1MTM4LjIzMTIwOSwgNjUxNiwgMS4yNTY2MTczMDc2NjI5NjM5XSwgWzE2NjM4MzUxMzguNDM1Njg1NCwgNjUzNCwgMS4yNTAyMjc1NzA1MzM3NTI0XSwgWzE2NjM4MzUxMzguNTU0NDU5MywgNjU0MywgMS4yNzc1MTIxOTI3MjYxMzUzXSwgWzE2NjM4MzUxMzguNzkzMDUxNywgNjU2MSwgMS4yNzE4NTM4MDQ1ODgzMTc5XSwgWzE2NjM4MzUxMzguODg5NjczNywgNjU3MCwgMS4yNjI0ODA5NzQxOTczODc3XSwgWzE2NjM4MzUxMzkuMTE1OTAwOCwgNjU4OCwgMS4yOTU4MDg2NzI5MDQ5NjgzXSwgWzE2NjM4MzUxMzkuMjA4OTU1OCwgNjU5NywgMS4yODU5NTYzODI3NTE0NjQ4XSwgWzE2NjM4MzUxMzkuMzAyODIxOSwgNjYwNiwgMS4yNDIzODQ0MzM3NDYzMzhdLCBbMTY2MzgzNTEzOS45OTY0OTMsIDY2NTEsIDEuMjk2NDE3NzEzMTY1MjgzMl0sIFsxNjYzODM1MTQwLjQ3OTk0ODgsIDY2ODcsIDEuMjE5OTU5NDk3NDUxNzgyMl0sIFsxNjYzODM1MTQwLjYwODYxNzMsIDY2OTYsIDEuMjM0Mzk4NjAzNDM5MzMxXSwgWzE2NjM4MzUxNDAuNzI5MjY0NywgNjcwNSwgMS4yNjk3MDM2MjY2MzI2OTA0XSwgWzE2NjM4MzUxNDEuOTY2NDQxLCA2ODEzLCAxLjI4MDI0OTExODgwNDkzMTZdLCBbMTY2MzgzNTE0Mi4yMzU3NTk3LCA2ODMxLCAxLjI4Mjg1MzEyNjUyNTg3OV0sIFsxNjYzODM1MTQyLjgzOTQ0MiwgNjg4NSwgMS4yNzUwNDAxNDk2ODg3MjA3XSwgWzE2NjM4MzUxNDIuOTQxMzUwNywgNjg5NCwgMS4yMzkwMzM1Nzk4MjYzNTVdLCBbMTY2MzgzNTE0My4zMjA2MzQsIDY5MjEsIDEuMjYwMjkzNjAyOTQzNDIwNF0sIFsxNjYzODM1MTQzLjQ1MTkyMTcsIDY5MzAsIDEuMjU0OTQwMTUyMTY4Mjc0XSwgWzE2NjM4MzUxNDMuODM2MTAxNSwgNjk1NywgMS4xOTExNjU4MDQ4NjI5NzZdLCBbMTY2MzgzNTE0NC4xODg4MjU4LCA2OTg0LCAxLjIwNTI1Mjg4NTgxODQ4MTRdLCBbMTY2MzgzNTE0NC4yODQ3MzUsIDY5OTMsIDEuMjMzMDg1MTU1NDg3MDYwNV0sIFsxNjYzODM1MTQ0LjQ2Njk5LCA3MDExLCAxLjI0MDI0MzMxNTY5NjcxNjNdLCBbMTY2MzgzNTE0NC41NjgzNzE1LCA3MDIwLCAxLjI1NTQzMDY5ODM5NDc3NTRdLCBbMTY2MzgzNTE0NC42NjQ5NzksIDcwMjksIDEuMjcyODQ3MDU2Mzg4ODU1XSwgWzE2NjM4MzUxNDQuNzU2NDgyMSwgNzAzOCwgMS4yMzE3MTc1ODY1MTczMzRdLCBbMTY2MzgzNTE0NC44NDg3NTczLCA3MDQ3LCAxLjIwNzkzNDg1NjQxNDc5NV0sIFsxNjYzODM1MTQ1LjQxNzcwMiwgNzEwMSwgMS4yMTM5NTc2NjczNTA3NjldLCBbMTY2MzgzNTE0NS42OTI5NDg4LCA3MTI4LCAxLjIwNDE5MzU5MjA3MTUzMzJdLCBbMTY2MzgzNTE0Ny4xODkyOTQsIDcyNDUsIDEuMjA1NjI4Mjc1ODcxMjc2OV0sIFsxNjYzODM1MTQ3LjMzMDkzNywgNzI1NCwgMS4yNDg4MjEzNzc3NTQyMTE0XSwgWzE2NjM4MzUxNDcuNDQwMTUzMSwgNzI2MywgMS4yMDk3MTI2MjQ1NDk4NjU3XSwgWzE2NjM4MzUxNDcuNTMzOTMzNCwgNzI3MiwgMS4yNjA3ODY2NTI1NjUwMDI0XSwgWzE2NjM4MzUxNDcuODM2MDEzLCA3Mjk5LCAxLjI0MjYzOTE4Mzk5ODEwOF0sIFsxNjYzODM1MTQ4Ljc3NDIyMjksIDczNzEsIDEuMjM1NjIwNDk4NjU3MjI2Nl0sIFsxNjYzODM1MTQ4LjkxODY3MDIsIDczODAsIDEuMjI0OTUxOTgyNDk4MTY5XSwgWzE2NjM4MzUxNTAuMDc3NjU3NywgNzQ1MiwgMS4yMzgyMjcxMjg5ODI1NDRdLCBbMTY2MzgzNTE1MC4xODY0NTg4LCA3NDYxLCAxLjIxMjA4MzU3ODEwOTc0MTJdLCBbMTY2MzgzNTE1MC42MTI1MjYyLCA3NDk3LCAxLjIxNzM1NjkyMDI0MjMwOTZdLCBbMTY2MzgzNTE1MC43MzI1OTc0LCA3NTA2LCAxLjI1ODU5MjEyODc1MzY2Ml0sIFsxNjYzODM1MTUxLjAxNTEwMDIsIDc1MjQsIDEuMjUxOTY4MzgzNzg5MDYyNV0sIFsxNjYzODM1MTUxLjEzMjczNywgNzUzMywgMS4yNDAyMDMyNjEzNzU0MjcyXSwgWzE2NjM4MzUxNTEuMjYyNjAwMiwgNzU0MiwgMS4yMjIxNTMwNjc1ODg4MDYyXSwgWzE2NjM4MzUxNTEuNTAwNzYwOCwgNzU2MCwgMS4yMTA0Nzg2NjM0NDQ1MTldLCBbMTY2MzgzNTE1MS42MDE0MTcsIDc1NjksIDEuMjI1MjM3NzI3MTY1MjIyMl0sIFsxNjYzODM1MTUxLjg5MjczNjQsIDc1OTYsIDEuMjgxODMwMDcyNDAyOTU0XSwgWzE2NjM4MzUxNTIuMDg5OTE5LCA3NjE0LCAxLjIzNzQ4ODUwODIyNDQ4NzNdLCBbMTY2MzgzNTE1Mi41ODkyMDU3LCA3NjU5LCAxLjMwNDU2MjA5MTgyNzM5MjZdLCBbMTY2MzgzNTE1Mi42ODQ5MDk4LCA3NjY4LCAxLjM2Mjk0Njk4NzE1MjA5OTZdLCBbMTY2MzgzNTE1Mi45NzA1ODM0LCA3Njk1LCAxLjIzMjcxNDg5MTQzMzcxNThdLCBbMTY2MzgzNTE1My4yNjA0OTkyLCA3NzIyLCAxLjIzNzI5NjgxOTY4Njg4OTZdLCBbMTY2MzgzNTE1My41NTYxOTkzLCA3NzQ5LCAxLjIzMjQxNzcwMjY3NDg2NTddLCBbMTY2MzgzNTE1My44MTg2MTYsIDc3NjcsIDEuMTk3NzIyNjczNDE2MTM3N10sIFsxNjYzODM1MTU0LjIyOTYwNTQsIDc3OTQsIDEuMjQ2MzExOTAyOTk5ODc4XSwgWzE2NjM4MzUxNTQuMzI3MjQ1NSwgNzgwMywgMS4xOTkyMzQ3MjQwNDQ3OTk4XSwgWzE2NjM4MzUxNTQuNzE5NzE5NiwgNzgzOSwgMS4yNzU4MjgwMDM4ODMzNjE4XSwgWzE2NjM4MzUxNTQuODA3NDEwMiwgNzg0OCwgMS4yODU5ODU1ODkwMjc0MDQ4XSwgWzE2NjM4MzUxNTYuMDQ3NTc2LCA3OTY1LCAxLjIwMzA4NzkyNTkxMDk0OTddLCBbMTY2MzgzNTE1Ni4xNDIyMTg0LCA3OTc0LCAxLjIzNzYzNjA4OTMyNDk1MTJdLCBbMTY2MzgzNTE1Ni4yMzQ1NzgsIDc5ODMsIDEuMjI3NDQzMzM3NDQwNDkwN10sIFsxNjYzODM1MTU2LjYwNDk0LCA4MDE5LCAxLjI0NzIyNTY0MjIwNDI4NDddLCBbMTY2MzgzNTE1Ni44MDE0MDE2LCA4MDM3LCAxLjIzMTg3MjQzOTM4NDQ2MDRdLCBbMTY2MzgzNTE1Ny4wOTE3NjUsIDgwNjQsIDEuMjExMTc3MTEwNjcxOTk3XSwgWzE2NjM4MzUxNTcuMjgwMDAzMywgODA4MiwgMS4yMjA2MzA0MDczMzMzNzRdLCBbMTY2MzgzNTE1Ny4zNzI5MjYyLCA4MDkxLCAxLjI0MTc2MzM1MzM0Nzc3ODNdLCBbMTY2MzgzNTE1Ny44NjE1MDk2LCA4MTE4LCAxLjE5MTQ3NDY3NjEzMjIwMjFdLCBbMTY2MzgzNTE1Ny45NTYxMjU3LCA4MTI3LCAxLjE5NzY4NTcxODUzNjM3N10sIFsxNjYzODM1MTU4LjQzOTg2OSwgODE3MiwgMS4yMjM3MTgyODU1NjA2MDhdLCBbMTY2MzgzNTE1OC41MzEwOTYyLCA4MTgxLCAxLjI3NDEwOTk1OTYwMjM1Nl0sIFsxNjYzODM1MTU4LjczMjIwNTIsIDgxOTksIDEuMjQyMzk2OTUwNzIxNzQwN10sIFsxNjYzODM1MTU4LjgzNTgyODMsIDgyMDgsIDEuMjQ0MzkyMTU2NjAwOTUyMV0sIFsxNjYzODM1MTU5LjEyMjIzMzIsIDgyMzUsIDEuMTg3MjA1MTk1NDI2OTQxXSwgWzE2NjM4MzUxNTkuNTAzNjUyOCwgODI3MSwgMS4xNzcyNDg1OTcxNDUwODA2XSwgWzE2NjM4MzUxNTkuNTk3NjMsIDgyODAsIDEuMjEwMjU2OTM0MTY1OTU0Nl0sIFsxNjYzODM1MTU5LjgxMTMyOTQsIDgyOTgsIDEuMjEyODg1NDk5MDAwNTQ5M10sIFsxNjYzODM1MTYwLjAwNzEzNTIsIDgzMTYsIDEuMjA1OTM3Mzg1NTU5MDgyXSwgWzE2NjM4MzUxNjAuNDk3NTExNCwgODM2MSwgMS4yMTYxMDI5NTc3MjU1MjVdLCBbMTY2MzgzNTE2MC43MDk1MTU4LCA4Mzc5LCAxLjIxMzc2ODEyNDU4MDM4MzNdLCBbMTY2MzgzNTE2MC44NDAxMzksIDgzODgsIDEuMTk4MDM1NDc4NTkxOTE5XSwgWzE2NjM4MzUxNjAuOTc1ODAzNiwgODM5NywgMS4xOTY4NTI0NDU2MDI0MTddLCBbMTY2MzgzNTE2MS4zNjEzODQ2LCA4NDI0LCAxLjMyNjc3NDU5NzE2Nzk2ODhdLCBbMTY2MzgzNTE2MS44NjI0OTIzLCA4NDYwLCAxLjE4ODIxNzA0Mzg3NjY0OF0sIFsxNjYzODM1MTYyLjA5ODE1ODEsIDg0NzgsIDEuMTgwOTYzNTE2MjM1MzUxNl0sIFsxNjYzODM1MTYyLjIyMjMwNCwgODQ4NywgMS4xODUxNDUxMzk2OTQyMTM5XSwgWzE2NjM4MzUxNjIuNTcyMzcwNSwgODUxNCwgMS4xODgyNTIwOTE0MDc3NzU5XSwgWzE2NjM4MzUxNjMuMDM4OTYyNCwgODU1MCwgMS4zMTQyNjY0NDMyNTI1NjM1XSwgWzE2NjM4MzUxNjMuMzg3NjY2NywgODU3NywgMS4xNzgxMTQ1MzM0MjQzNzc0XSwgWzE2NjM4MzUxNjMuNjg5MjUyMSwgODYwNCwgMS4yMjI5Mjk4MzUzMTk1MTldLCBbMTY2MzgzNTE2My44MDMzNDg4LCA4NjEzLCAxLjIwMzQwMDg1MDI5NjAyMDVdLCBbMTY2MzgzNTE2NC4yMDQ4NzM2LCA4NjQ5LCAxLjE3MzgxNzUxNTM3MzIzXSwgWzE2NjM4MzUxNjQuMzk0ODAxLCA4NjY3LCAxLjE3NTA3NTA1NDE2ODcwMTJdLCBbMTY2MzgzNTE2NC40OTE0MjAzLCA4Njc2LCAxLjE3NDUyNDA2ODgzMjM5NzVdLCBbMTY2MzgzNTE2NC42OTY3NTc4LCA4Njk0LCAxLjI2Njc5ODM3NzAzNzA0ODNdLCBbMTY2MzgzNTE2NC44OTQ1NjM0LCA4NzEyLCAxLjI2Njg5MTcxNzkxMDc2NjZdLCBbMTY2MzgzNTE2NC45OTA3Mjg5LCA4NzIxLCAxLjI3OTI1NTM5MDE2NzIzNjNdLCBbMTY2MzgzNTE2NS4zMTI1MzkzLCA4NzQ4LCAxLjIzNzMyNDM1NzAzMjc3NTldLCBbMTY2MzgzNTE2Ni4xMDI2MTM0LCA4NzkzLCAxLjE4NjU3NjI0NzIxNTI3MV0sIFsxNjYzODM1MTY2LjMzMDU4NjcsIDg4MTEsIDEuMjAzNDIwMDQyOTkxNjM4Ml0sIFsxNjYzODM1MTY2LjQ2MTE2NywgODgyMCwgMS4xODEyODg1OTk5Njc5NTY1XSwgWzE2NjM4MzUxNjYuNzgyMzQwNSwgODg0NywgMS4yNTE4MjU4MDk0Nzg3NTk4XSwgWzE2NjM4MzUxNjcuMjcwNDUxOCwgODg4MywgMS4yMjM3ODY0NzMyNzQyMzFdLCBbMTY2MzgzNTE2Ny43MDM1MjMsIDg5MTksIDEuMjA1ODUxMDc4MDMzNDQ3M10sIFsxNjYzODM1MTY3Ljk3MTk0MDUsIDg5MzcsIDEuMjMzMjgzOTk2NTgyMDMxMl0sIFsxNjYzODM1MTY4LjE3MjAxMSwgODk1NSwgMS4yMzgwODk1NjE0NjI0MDIzXSwgWzE2NjM4MzUxNjguNDM5NzM1LCA4OTczLCAxLjI0NDI5NTEyMDIzOTI1NzhdLCBbMTY2MzgzNTE2OC42Njk0NDQzLCA4OTkxLCAxLjIwMDM2MTEzMjYyMTc2NTFdLCBbMTY2MzgzNTE2OC44MDAyNzMyLCA5MDAwLCAxLjIzNjcyNDI1NzQ2OTE3NzJdLCBbMTY2MzgzNTE2OS4xNjgyMjE3LCA5MDI3LCAxLjE4MDA1MDczMDcwNTI2MTJdLCBbMTY2MzgzNTE2OS4yNzM1NjQ2LCA5MDM2LCAxLjE3NTg3MzYzNzE5OTQwMTldLCBbMTY2MzgzNTE2OS4zOTMxNTIyLCA5MDQ1LCAxLjI0NjY4NDkwODg2Njg4MjNdLCBbMTY2MzgzNTE2OS41ODg0ODI0LCA5MDYzLCAxLjE5NjU3Nzc4NzM5OTI5Ml0sIFsxNjYzODM1MTcwLjExNTczMDMsIDkxMDgsIDEuMTgzNTg3OTA4NzQ0ODEyXSwgWzE2NjM4MzUxNzAuMzEwODE3MiwgOTEyNiwgMS4yNTAyNzAwMDkwNDA4MzI1XSwgWzE2NjM4MzUxNzAuNTA2NzU5LCA5MTQ0LCAxLjI2MTI1Mjk5OTMwNTcyNV0sIFsxNjYzODM1MTcxLjE5ODY2MzcsIDkyMDcsIDEuMTc1ODI5MDUyOTI1MTA5OV0sIFsxNjYzODM1MTcxLjYwMjgwMDEsIDkyNDMsIDEuMjYxMTM0OTgyMTA5MDY5OF0sIFsxNjYzODM1MTcxLjc5NTU3MDYsIDkyNjEsIDEuMjk4Njg4MjkyNTAzMzU3XSwgWzE2NjM4MzUxNzEuODg5Mzk4OCwgOTI3MCwgMS4yMDExNzMwNjcwOTI4OTU1XSwgWzE2NjM4MzUxNzIuNDY4OTE4MywgOTMyNCwgMS4xNzY1NDU1MDA3NTUzMV0sIFsxNjYzODM1MTcyLjU3NTU0MTcsIDkzMzMsIDEuMTUwMjQyODA1NDgwOTU3XSwgWzE2NjM4MzUxNzIuNjg1NjA3NywgOTM0MiwgMS4yMTU1MDg0NjA5OTg1MzUyXSwgWzE2NjM4MzUxNzIuNzc3NTcxNCwgOTM1MSwgMS4yNjc1MjY2MjY1ODY5MTRdLCBbMTY2MzgzNTE3Mi44NzI3MzE3LCA5MzYwLCAxLjI3OTYyNDcwMDU0NjI2NDZdLCBbMTY2MzgzNTE3My4yNzIyNzk1LCA5Mzk2LCAxLjE5OTIwNjU5MDY1MjQ2NThdLCBbMTY2MzgzNTE3My41NjA4NTgsIDk0MjMsIDEuMTg0MjU3Mzg4MTE0OTI5Ml0sIFsxNjYzODM1MTc0LjgyNDYxNjcsIDk1MTMsIDEuMjUwMzYzNTg4MzMzMTI5OV0sIFsxNjYzODM1MTc1LjA2NzgyNjMsIDk1MzEsIDEuMTc3NzQyNjAwNDQwOTc5XSwgWzE2NjM4MzUxNzUuMTY4MjU2LCA5NTQwLCAxLjE4MDU0NjQwMjkzMTIxMzRdLCBbMTY2MzgzNTE3NS4yODM2MTM0LCA5NTQ5LCAxLjE3MzUyMjk0OTIxODc1XSwgWzE2NjM4MzUxNzUuNDc1NTkyNCwgOTU2NywgMS4yMjM4NDAzNTU4NzMxMDhdLCBbMTY2MzgzNTE3NS43NzE4NzI1LCA5NTk0LCAxLjI1NzEwNjMwNDE2ODcwMTJdLCBbMTY2MzgzNTE3NS45OTQ0MTM0LCA5NjEyLCAxLjE4NzY2MDMzNjQ5NDQ0NThdLCBbMTY2MzgzNTE3Ni4xOTYwOTE0LCA5NjMwLCAxLjI2MDQxNTU1NDA0NjYzMDldLCBbMTY2MzgzNTE3Ni4yOTQxMTg0LCA5NjM5LCAxLjI3MjY5MTI0OTg0NzQxMl0sIFsxNjYzODM1MTc2LjM5MDM5NywgOTY0OCwgMS4xODUzMDA1ODg2MDc3ODhdLCBbMTY2MzgzNTE3Ni41MDk4NDE0LCA5NjU3LCAxLjE4MzA0NDU1MjgwMzAzOTZdLCBbMTY2MzgzNTE3Ni42Mzg4ODkzLCA5NjY2LCAxLjE3MjQxMDQ4ODEyODY2Ml0sIFsxNjYzODM1MTc2Ljc3NjQ2MjYsIDk2NzUsIDEuMTczNDIxMzgyOTA0MDUyN10sIFsxNjYzODM1MTc3LjEzODI3MzcsIDk3MDIsIDEuMTg1NjA5ODE3NTA0ODgyOF0sIFsxNjYzODM1MTc3LjI1NzE1NzgsIDk3MTEsIDEuMTg5MDA5OTA0ODYxNDUwMl0sIFsxNjYzODM1MTc3LjQ5MTE5NzYsIDk3MjksIDEuMTk5MTUyNTg4ODQ0Mjk5M10sIFsxNjYzODM1MTc3LjYwMTYzMywgOTczOCwgMS4yNDI0NzY4MjA5NDU3Mzk3XSwgWzE2NjM4MzUxNzcuNzE4MjMxNCwgOTc0NywgMS4yNTA5MTI1NDcxMTE1MTEyXSwgWzE2NjM4MzUxNzguMDExODYzNywgOTc3NCwgMS4yMjQ2NjM3MzQ0MzYwMzUyXSwgWzE2NjM4MzUxNzguMTA1NzE4OSwgOTc4MywgMS4xNjQ0NTg1MTMyNTk4ODc3XSwgWzE2NjM4MzUxNzguMjA1OTk3NSwgOTc5MiwgMS4xNjU0ODc3NjYyNjU4NjkxXSwgWzE2NjM4MzUxNzguNjI5NDcyMywgOTgyOCwgMS4yMDEzNjU4Mjg1MTQwOTkxXSwgWzE2NjM4MzUxNzkuNDYyOTY0NSwgOTg5MSwgMS4xNzc1MTAwMjMxMTcwNjU0XSwgWzE2NjM4MzUxNzkuNjk0NjQyOCwgOTkwOSwgMS4yOTEwNTk2MTMyMjc4NDQyXSwgWzE2NjM4MzUxNzkuOTM3MzQwMywgOTkyNywgMS4yODUxNTE5NTg0NjU1NzYyXSwgWzE2NjM4MzUxODAuMDczNzYsIDk5MzYsIDEuMTc3NTQzMTYzMjk5NTYwNV0sIFsxNjYzODM1MTgwLjE3MjYwMjIsIDk5NDUsIDEuMjI1ODk4Mzg1MDQ3OTEyNl0sIFsxNjYzODM1MTgwLjQ2MTM5MDcsIDk5NzIsIDEuMzg5MDUwODQxMzMxNDgyXSwgWzE2NjM4MzUxODAuNjU1NTUwMiwgOTk5MCwgMS4xOTIzNjc5MTEzMzg4MDYyXSwgWzE2NjM4MzUxODAuODQ1NzU4MiwgMTAwMDgsIDEuMjY5NzU0NDA5NzkwMDM5XSwgWzE2NjM4MzUxODAuOTQzMTU2LCAxMDAxNywgMS4xNzUwMDMwNTE3NTc4MTI1XSwgWzE2NjM4MzUxODEuMTYyNjMyMiwgMTAwMzUsIDEuMjE2MjMyNjU3NDMyNTU2Ml0sIFsxNjYzODM1MTgxLjY0NTg2MSwgMTAwODAsIDEuMjE2MTEyNjEzNjc3OTc4NV0sIFsxNjYzODM1MTgxLjgzMjQ2MywgMTAwOTgsIDEuMjI1NTAxMjk4OTA0NDE5XSwgWzE2NjM4MzUxODEuOTMxNjI0NywgMTAxMDcsIDEuMjA5OTA3ODg5MzY2MTVdLCBbMTY2MzgzNTE4Mi4yMzE0NDIyLCAxMDEzNCwgMS4xODY4MDE1NTI3NzI1MjJdLCBbMTY2MzgzNTE4Mi4zMjUwNDQyLCAxMDE0MywgMS4xOTY0OTA1MjYxOTkzNDA4XSwgWzE2NjM4MzUxODIuNTE0Mzg2LCAxMDE2MSwgMS4xNDMzODI0MzAwNzY1OTkxXSwgWzE2NjM4MzUxODIuNjA0NjExMiwgMTAxNzAsIDEuMjExNzk3MTE4MTg2OTUwN10sIFsxNjYzODM1MTgyLjg5NTEwMiwgMTAxOTcsIDEuMTgwMTAxMTU2MjM0NzQxMl0sIFsxNjYzODM1MTgzLjMwNjY0MTYsIDEwMjE1LCAxLjE4MTY5ODQ0MTUwNTQzMjFdLCBbMTY2MzgzNTE4My4zOTc4MDQ1LCAxMDIyNCwgMS4xODYzODYxMDgzOTg0Mzc1XSwgWzE2NjM4MzUxODMuNDk0NzA3MywgMTAyMzMsIDEuMTY2NzEzNDc2MTgxMDMwM10sIFsxNjYzODM1MTgzLjg1ODU2NSwgMTAyNjAsIDEuMTQ4OTE0NDU2MzY3NDkyN10sIFsxNjYzODM1MTg0Ljc0MjA5MywgMTAzMjMsIDEuMjUzMzg4MTY2NDI3NjEyM10sIFsxNjYzODM1MTg0LjkzOTI3ODYsIDEwMzQxLCAxLjE4MzIzMTU5MjE3ODM0NDddLCBbMTY2MzgzNTE4NS4xMjI5MDUzLCAxMDM1OSwgMS4xODMwOTk3NDY3MDQxMDE2XSwgWzE2NjM4MzUxODUuMjE3MTg1NSwgMTAzNjgsIDEuMTY3MDIyMjI4MjQwOTY2OF0sIFsxNjYzODM1MTg1LjMwODM3MDYsIDEwMzc3LCAxLjE3MDUxMjE5OTQwMTg1NTVdLCBbMTY2MzgzNTE4NS40MTkwODksIDEwMzg2LCAxLjE5Mzg2MTAwNzY5MDQyOTddLCBbMTY2MzgzNTE4Ni4xMTU5OTQyLCAxMDQ0OSwgMS4yMDM4NjE4MzI2MTg3MTM0XSwgWzE2NjM4MzUxODYuMzE1NzYsIDEwNDY3LCAxLjI0MzY1ODc4MTA1MTYzNTddLCBbMTY2MzgzNTE4Ni41MTI5Mzg3LCAxMDQ4NSwgMS4xODYzMzYwNDA0OTY4MjYyXSwgWzE2NjM4MzUxODYuODA5ODI0NSwgMTA1MTIsIDEuMjA5OTk1NTA4MTkzOTY5N10sIFsxNjYzODM1MTg3LjM5Njg0OTksIDEwNTY2LCAxLjE2MzU2NjExMjUxODMxMDVdLCBbMTY2MzgzNTE4Ny40OTE3MzEsIDEwNTc1LCAxLjE5Mjc0ODU0NjYwMDM0MThdLCBbMTY2MzgzNTE4Ny42ODI4MDM5LCAxMDU5MywgMS4xNTkzODkyNTc0MzEwMzAzXSwgWzE2NjM4MzUxODcuNzc5Nzk0NywgMTA2MDIsIDEuMTc2NDk4NzcwNzEzODA2Ml0sIFsxNjYzODM1MTg3Ljg3MzQwMTQsIDEwNjExLCAxLjE5NjcyMzU4MDM2MDQxMjZdLCBbMTY2MzgzNTE4OC4yNzYyMjE4LCAxMDY0NywgMS4xNzIyMTI3MTk5MTcyOTc0XSwgWzE2NjM4MzUxODguNTAzNjAyLCAxMDY2NSwgMS4xNzA3Mzg2OTcwNTIwMDJdLCBbMTY2MzgzNTE4OC43OTEyNzY1LCAxMDY4MywgMS4xODU3MzU0NjQwOTYwNjkzXSwgWzE2NjM4MzUxODkuMTIzNzc0OCwgMTA3MTAsIDEuMTY2NTIyOTc5NzM2MzI4MV0sIFsxNjYzODM1MTg5LjI0NTA2NTUsIDEwNzE5LCAxLjE5OTgxMTU3Nzc5NjkzNl0sIFsxNjYzODM1MTg5LjU5NTYzNiwgMTA3NDYsIDEuMzAyNTg5MTc4MDg1MzI3MV0sIFsxNjYzODM1MTg5LjczMzg0NzQsIDEwNzU1LCAxLjMyMzM2NDg1Mzg1ODk0NzhdLCBbMTY2MzgzNTE5MC4wNTcwNTUsIDEwNzgyLCAxLjIxNTM4Njk4NjczMjQ4M10sIFsxNjYzODM1MTkwLjE1MjU0NzgsIDEwNzkxLCAxLjIwNDk4ODgzNzI0MjEyNjVdLCBbMTY2MzgzNTE5MC41ODM5MzEyLCAxMDgxOCwgMS4yMjYwNDA3MjA5Mzk2MzYyXSwgWzE2NjM4MzUxOTEuMDcxMjkyOSwgMTA4NTQsIDEuMjE3Nzc4OTIxMTI3MzE5M10sIFsxNjYzODM1MTkxLjE4MjI0OTgsIDEwODYzLCAxLjI1NjQxOTMwMTAzMzAyXSwgWzE2NjM4MzUxOTEuMjk1ODE2NCwgMTA4NzIsIDEuMjUzMzIwODEzMTc5MDE2MV0sIFsxNjYzODM1MTkxLjUyNDI0OTYsIDEwODkwLCAxLjIxODk4NzcwMzMyMzM2NDNdLCBbMTY2MzgzNTE5MS45MjA0MzA0LCAxMDkyNiwgMS4xOTExMzA4NzY1NDExMzc3XSwgWzE2NjM4MzUxOTIuMjE5OTYyMSwgMTA5MzUsIDEuMTYzNTIwMjE2OTQxODMzNV0sIFsxNjYzODM1MTkyLjY4OTI4MjcsIDEwOTcxLCAxLjE5OTQ5OTEzMDI0OTAyMzRdLCBbMTY2MzgzNTE5My4yNTYxODQsIDExMDE2LCAxLjE4NTk2MzYzMDY3NjI2OTVdLCBbMTY2MzgzNTE5My40NTY0NCwgMTEwMzQsIDEuMTg4ODk2NjU2MDM2Mzc3XSwgWzE2NjM4MzUxOTMuOTAwMzA2NSwgMTEwNzAsIDEuMTY3OTc3NTcxNDg3NDI2OF0sIFsxNjYzODM1MTk0LjI2ODQxMTQsIDExMDk3LCAxLjIyNDk1MzQxMzAwOTY0MzZdLCBbMTY2MzgzNTE5NC4zNjkxMDk0LCAxMTEwNiwgMS4yMTcyMDY3MTY1Mzc0NzU2XSwgWzE2NjM4MzUxOTQuODQxNjcxNywgMTExNTEsIDEuMTY5NjQ3ODEyODQzMzIyOF0sIFsxNjYzODM1MTk1LjAzOTM3OSwgMTExNjksIDEuMTYxNTIxNjczMjAyNTE0Nl0sIFsxNjYzODM1MTk1LjMyNjk3NywgMTExOTYsIDEuMTYxOTE4OTk3NzY0NTg3NF0sIFsxNjYzODM1MTk1LjQyMTI2MzcsIDExMjA1LCAxLjE4NTYxNDM0NzQ1Nzg4NTddLCBbMTY2MzgzNTE5NS42NDQ1NTE4LCAxMTIyMywgMS4xNzA5MjgyMzk4MjIzODc3XSwgWzE2NjM4MzUxOTYuMDQxODE4NiwgMTEyNTAsIDEuMTY1ODE0Mzk5NzE5MjM4M10sIFsxNjYzODM1MTk2LjE2NTE4OSwgMTEyNTksIDEuMTUxNDMwMzY4NDIzNDYyXSwgWzE2NjM4MzUxOTYuMjc2NjMzNSwgMTEyNjgsIDEuMTU4NjI1MTI1ODg1MDA5OF0sIFsxNjYzODM1MTk2LjM4NjMyNDQsIDExMjc3LCAxLjE3NDExNzA4ODMxNzg3MV0sIFsxNjYzODM1MTk2LjYxODA0MzIsIDExMjk1LCAxLjIyNTg1NDI3NzYxMDc3ODhdLCBbMTY2MzgzNTE5Ni44NTMyNDE3LCAxMTMxMywgMS4yOTUxNzkzNjcwNjU0Mjk3XSwgWzE2NjM4MzUxOTYuOTY2OTMzMywgMTEzMjIsIDEuMjc5NzIxMjYwMDcwODAwOF0sIFsxNjYzODM1MTk3LjM0MzQ1LCAxMTM0OSwgMS4yMTU5NjMzNjM2NDc0NjFdLCBbMTY2MzgzNTE5Ny40NDM5NzQzLCAxMTM1OCwgMS4xOTEzNDU0NTMyNjIzMjldLCBbMTY2MzgzNTE5OC4wNjU4NTg4LCAxMTQxMiwgMS4xODcxMTQ3MTU1NzYxNzE5XSwgWzE2NjM4MzUxOTguNDY1ODc1OSwgMTE0NDgsIDEuMTUzNTA5MTQwMDE0NjQ4NF0sIFsxNjYzODM1MTk4Ljk3NjgxMzYsIDExNDkzLCAxLjE2NDMwMjcwNjcxODQ0NDhdLCBbMTY2MzgzNTE5OS4wODEwMDQ0LCAxMTUwMiwgMS4yMDYwMDcwMDM3ODQxNzk3XSwgWzE2NjM4MzUxOTkuMTg5NTMyNSwgMTE1MTEsIDEuMzM3ODA3Mjk3NzA2NjA0XSwgWzE2NjM4MzUxOTkuNTg3NjUzLCAxMTU0NywgMS4yNDc5ODY0MzU4OTAxOTc4XSwgWzE2NjM4MzUxOTkuOTAyNTkyLCAxMTU3NCwgMS4yNDU3NTY4NjQ1NDc3Mjk1XSwgWzE2NjM4MzUyMDAuNTAwNDgxMSwgMTE2MTksIDEuMTc2Nzk0ODg2NTg5MDUwM10sIFsxNjYzODM1MjAwLjg0Njg3NCwgMTE2NDYsIDEuMTUwODI4MDAzODgzMzYxOF0sIFsxNjYzODM1MjAxLjY0NzMxMzQsIDExNjkxLCAxLjE1OTE2OTkxMjMzODI1NjhdLCBbMTY2MzgzNTIwMS43NjEyOTQ4LCAxMTcwMCwgMS4xODMyMTc3NjM5MDA3NTY4XSwgWzE2NjM4MzUyMDIuMTQxMzY0NiwgMTE3MjcsIDEuMTkzMDI2MTg1MDM1NzA1Nl0sIFsxNjYzODM1MjAyLjU0ODA5NTcsIDExNzYzLCAxLjE1OTQyMjM5NzYxMzUyNTRdLCBbMTY2MzgzNTIwMy4wNDg1NywgMTE3OTksIDEuMTQ0NTc2MTkxOTAyMTYwNl0sIFsxNjYzODM1MjAzLjU1MDYwODQsIDExODQ0LCAxLjIxNjkyNDU0ODE0OTEwODldLCBbMTY2MzgzNTIwNC4wMzE0MTE0LCAxMTg4OSwgMS4xNjg1MzQwNDA0NTEwNDk4XSwgWzE2NjM4MzUyMDQuMjI4NTQ4MywgMTE5MDcsIDEuMTYxOTMwNTYxMDY1NjczOF0sIFsxNjYzODM1MjA0LjUxNDEyNSwgMTE5MzQsIDEuMTk1MTAyOTMwMDY4OTY5N10sIFsxNjYzODM1MjA0LjYwODcyMjIsIDExOTQzLCAxLjE1NjI2NjgwODUwOTgyNjddLCBbMTY2MzgzNTIwNC44MDg1MTU4LCAxMTk2MSwgMS4xNTUxNzEyNzUxMzg4NTVdLCBbMTY2MzgzNTIwNS41NTYzOTA4LCAxMjAyNCwgMS4xNzE3MzA3NTY3NTk2NDM2XSwgWzE2NjM4MzUyMDYuNzAyMDk5OCwgMTIxMDUsIDEuMTY5NzY0MjgwMzE5MjEzOV0sIFsxNjYzODM1MjA2LjgxMzkxNTcsIDEyMTE0LCAxLjE3MTI3OTkwNzIyNjU2MjVdLCBbMTY2MzgzNTIwNy4xODk1ODU0LCAxMjE0MSwgMS4xODM5ODE2NTcwMjgxOTgyXSwgWzE2NjM4MzUyMDcuNTUxMjEzNSwgMTIxNjgsIDEuMTY5ODIwMDcwMjY2NzIzNl0sIFsxNjYzODM1MjA3LjY2NTM0ODgsIDEyMTc3LCAxLjE5OTUxMjQ4MTY4OTQ1MzFdLCBbMTY2MzgzNTIwNy45MDkxNDk0LCAxMjE5NSwgMS4xODk5NTIwMTU4NzY3N10sIFsxNjYzODM1MjA4LjMzMTA4MjYsIDEyMjMxLCAxLjE5MDEyMzkxNTY3MjMwMjJdLCBbMTY2MzgzNTIwOC41MjE5NTUzLCAxMjI0OSwgMS4xNjgxNjgxODcxNDE0MTg1XSwgWzE2NjM4MzUyMDguOTE5OTA2NCwgMTIyODUsIDEuMjI0MzczNDU5ODE1OTc5XSwgWzE2NjM4MzUyMDkuMDMxNzUwNywgMTIyOTQsIDEuMjI4MjcwNTMwNzAwNjgzNl0sIFsxNjYzODM1MjA5LjEyMTk1MzUsIDEyMzAzLCAxLjI1NzA2NzA4NDMxMjQzOV0sIFsxNjYzODM1MjA5LjIxNjczNzUsIDEyMzEyLCAxLjE4ODg1OTkzOTU3NTE5NTNdLCBbMTY2MzgzNTIwOS4zMDc1MzQsIDEyMzIxLCAxLjIyMjc0ODE2MDM2MjI0MzddLCBbMTY2MzgzNTIwOS45ODQ3MjEyLCAxMjM4NCwgMS4yMzY5MTg2ODc4MjA0MzQ2XSwgWzE2NjM4MzUyMTAuMDgwNzIxOSwgMTIzOTMsIDEuMTg3MTk0MTA4OTYzMDEyN10sIFsxNjYzODM1MjEwLjc4Njk5ODUsIDEyNDI5LCAxLjIxMTUyNDcyNDk2MDMyNzFdLCBbMTY2MzgzNTIxMS4zNjU1MjE0LCAxMjQ3NCwgMS4xNTQ5Njk5MzA2NDg4MDM3XSwgWzE2NjM4MzUyMTEuNTMyNjg2NywgMTI0ODMsIDEuMTY4OTQ2MjY2MTc0MzE2NF0sIFsxNjYzODM1MjExLjk5NjY1MzMsIDEyNTE5LCAxLjE1MzExMjA1Mzg3MTE1NDhdLCBbMTY2MzgzNTIxMi4yOTM2MzYsIDEyNTQ2LCAxLjIxMzkwNzEyMjYxMTk5OTVdLCBbMTY2MzgzNTIxMi43MDU0MDE0LCAxMjU4MiwgMS4xMzQ3NDgzMzk2NTMwMTUxXSwgWzE2NjM4MzUyMTQuODExMDc1MiwgMTI3NjIsIDEuMjAyNjAwMjQwNzA3Mzk3NV0sIFsxNjYzODM1MjE1LjI0Njg2MiwgMTI3OTgsIDEuMTUyOTUxMzU5NzQ4ODQwM10sIFsxNjYzODM1MjE2LjIxNjczNzUsIDEyODg4LCAxLjE5MzczMjg1NzcwNDE2MjZdLCBbMTY2MzgzNTIxNi4zMDg4NTc3LCAxMjg5NywgMS4xNTYwNzYzMTIwNjUxMjQ1XSwgWzE2NjM4MzUyMTYuNzU1MjMzLCAxMjkzMywgMS4yMTc3NzI0ODM4MjU2ODM2XSwgWzE2NjM4MzUyMTcuMDE1MzQ0NiwgMTI5NTEsIDEuMTY3OTI4MjE4ODQxNTUyN10sIFsxNjYzODM1MjE3LjEyNDA2OSwgMTI5NjAsIDEuMTQ3MTg1MzI1NjIyNTU4Nl0sIFsxNjYzODM1MjE3LjIzOTAyNzUsIDEyOTY5LCAxLjE2NTc2NTA0NzA3MzM2NDNdLCBbMTY2MzgzNTIxNy4zNDExMjU1LCAxMjk3OCwgMS4xNjkyOTU1NDkzOTI3MDAyXSwgWzE2NjM4MzUyMTcuNjQwMDUyNiwgMTMwMDUsIDEuMTk2NDIyMzM4NDg1NzE3OF0sIFsxNjYzODM1MjE3Ljk0NDAxOTMsIDEzMDMyLCAxLjE3MzgzMTIyNDQ0MTUyODNdLCBbMTY2MzgzNTIxOC4xNDAzODkyLCAxMzA1MCwgMS4yMDI0NzU3ODYyMDkxMDY0XSwgWzE2NjM4MzUyMTguMzgxMDY4MiwgMTMwNjgsIDEuMTQ4OTM4MDU5ODA2ODIzN10sIFsxNjYzODM1MjE4LjUxNjYxNjMsIDEzMDc3LCAxLjE1NjgwMDYyNzcwODQzNV0sIFsxNjYzODM1MjE4Ljc1OTM2ODcsIDEzMDk1LCAxLjIxODIzMTIwMTE3MTg3NV0sIFsxNjYzODM1MjE4Ljg3OTIwODgsIDEzMTA0LCAxLjEzODM3MDE1NjI4ODE0N10sIFsxNjYzODM1MjE5LjA4MDM2MywgMTMxMjIsIDEuMTQ3NDQyODE3Njg3OTg4M10sIFsxNjYzODM1MjE5LjE4MDc2ODMsIDEzMTMxLCAxLjEzNzI1OTcyMTc1NTk4MTRdLCBbMTY2MzgzNTIxOS40MDkxNzgsIDEzMTQ5LCAxLjEzNjQ0MDI3NzA5OTYwOTRdLCBbMTY2MzgzNTIxOS43MDI3NTcsIDEzMTU4LCAxLjE1OTI0ODk0ODA5NzIyOV0sIFsxNjYzODM1MjE5Ljg4ODExNywgMTMxNzYsIDEuMTkyMDQzMzA0NDQzMzU5NF0sIFsxNjYzODM1MjIwLjcyNzk5MjMsIDEzMjM5LCAxLjE5ODk5MTA2MDI1Njk1OF0sIFsxNjYzODM1MjIxLjExNDM4NzMsIDEzMjY2LCAxLjE5MDk3NDcxMjM3MTgyNjJdLCBbMTY2MzgzNTIyMS4yNDg0MjI5LCAxMzI3NSwgMS4xNjg4ODExNzc5MDIyMjE3XSwgWzE2NjM4MzUyMjEuNTEwMTQ4NSwgMTMyOTMsIDEuMjEwNzI4Mjg3Njk2ODM4NF0sIFsxNjYzODM1MjIyLjQwMTM4MzIsIDEzMzU2LCAxLjE4MDIzMTU3MTE5NzUwOThdLCBbMTY2MzgzNTIyMi44NTM2OTksIDEzMzkyLCAxLjE5NDA2NjQwNTI5NjMyNTddLCBbMTY2MzgzNTIyMy4xNjk5MzUsIDEzNDE5LCAxLjE1Nzk0ODQ5Mzk1NzUxOTVdLCBbMTY2MzgzNTIyMy40OTMxMjYyLCAxMzQ0NiwgMS4xNjM2MDI0NzEzNTE2MjM1XSwgWzE2NjM4MzUyMjMuNjExNTUyNywgMTM0NTUsIDEuMTU0Nzg5NDQ3Nzg0NDIzOF0sIFsxNjYzODM1MjI0LjAzNjg2MjEsIDEzNDkxLCAxLjE4MzIwOTQxOTI1MDQ4ODNdLCBbMTY2MzgzNTIyNC4xMzkyNTg2LCAxMzUwMCwgMS4xNDQzOTc5NzQwMTQyODIyXSwgWzE2NjM4MzUyMjQuNTEyNTg3LCAxMzUyNywgMS4yMTE2Mjg2NzU0NjA4MTU0XSwgWzE2NjM4MzUyMjUuMzY5OTQzNiwgMTM1OTAsIDEuMTc3MDE5MDAwMDUzNDA1OF0sIFsxNjYzODM1MjI1LjQ3NTcxNjgsIDEzNTk5LCAxLjIyNDQzODE5MDQ2MDIwNV0sIFsxNjYzODM1MjI1LjU3ODA0MDEsIDEzNjA4LCAxLjMyNjQwNzMxMzM0Njg2MjhdLCBbMTY2MzgzNTIyNS44MDM2NzMsIDEzNjI2LCAxLjE4NTg2OTIxNjkxODk0NTNdLCBbMTY2MzgzNTIyNi4wMjMwMjIyLCAxMzY0NCwgMS4xNTYwNzQyODU1MDcyMDIxXSwgWzE2NjM4MzUyMjYuMTI0MjM4NSwgMTM2NTMsIDEuMTY4MTI0Njc1NzUwNzMyNF0sIFsxNjYzODM1MjI2Ljg2MzYzMzIsIDEzNzE2LCAxLjE2MTYzODg1NTkzNDE0M10sIFsxNjYzODM1MjI3LjM4NjcwODMsIDEzNzYxLCAxLjE1OTYyMTIzODcwODQ5Nl0sIFsxNjYzODM1MjI4LjAyMjYwNzMsIDEzODE1LCAxLjE0NDQ2NTkyMzMwOTMyNjJdLCBbMTY2MzgzNTIyOC4zMzU0MTI1LCAxMzg0MiwgMS4xODg0MjU2NjAxMzMzNjE4XSwgWzE2NjM4MzUyMjguNDMzNzc0MiwgMTM4NTEsIDEuMTg0NTU4MzkxNTcxMDQ1XSwgWzE2NjM4MzUyMjguNzQxODM4LCAxMzg3OCwgMS4xOTc5NjI2NDE3MTYwMDM0XSwgWzE2NjM4MzUyMjkuNjc5ODczMiwgMTM5NDEsIDEuMTgyMzg5MjU5MzM4Mzc5XSwgWzE2NjM4MzUyMzAuMTAxMTQ3MiwgMTM5NjgsIDEuMTY2MTQ4MDY2NTIwNjkxXSwgWzE2NjM4MzUyMzAuMjU0Njg1NCwgMTM5NzcsIDEuMTU3NDc1MTEzODY4NzEzNF0sIFsxNjYzODM1MjMwLjM3OTA0MTIsIDEzOTg2LCAxLjE3MDI3MDMyMzc1MzM1N10sIFsxNjYzODM1MjMxLjQ1MTQwMDMsIDE0MDY3LCAxLjE1OTE1NzAzNzczNDk4NTRdLCBbMTY2MzgzNTIzMS43NTc2MzUsIDE0MDk0LCAxLjE1NDE5MTEzNjM2MDE2ODVdLCBbMTY2MzgzNTIzMS44NjM3NTM4LCAxNDEwMywgMS4xODI2MzY5NzYyNDIwNjU0XSwgWzE2NjM4MzUyMzIuMDc3NzY0LCAxNDEyMSwgMS4xNDcwNDUzNzM5MTY2MjZdLCBbMTY2MzgzNTIzMi4zMTA0MTM2LCAxNDEzOSwgMS4xMzEwNzUyNjMwMjMzNzY1XSwgWzE2NjM4MzUyMzIuNDE2NTgzNSwgMTQxNDgsIDEuMTcyODU2OTI2OTE4MDI5OF0sIFsxNjYzODM1MjMyLjUyMDYxMzcsIDE0MTU3LCAxLjE1MDQ3NTM4MjgwNDg3MDZdLCBbMTY2MzgzNTIzMi42MjA0NDY0LCAxNDE2NiwgMS4yMzA5MTA0MjA0MTc3ODU2XSwgWzE2NjM4MzUyMzIuOTQ4OTU3NywgMTQxOTMsIDEuMTkwOTg1MjAyNzg5MzA2Nl0sIFsxNjYzODM1MjMzLjQxMDU4MjgsIDE0MjI5LCAxLjE0MDc0OTMzNTI4OTAwMTVdLCBbMTY2MzgzNTIzMy41MTA0MjYzLCAxNDIzOCwgMS4yMTg1NTQyNTgzNDY1NTc2XSwgWzE2NjM4MzUyMzMuNjE2Njk4LCAxNDI0NywgMS4xNjM3Mjc5OTg3MzM1MjA1XSwgWzE2NjM4MzUyMzMuOTMxNDQ0NiwgMTQyNzQsIDEuMTc0NzA3MTc0MzAxMTQ3NV0sIFsxNjYzODM1MjM0LjQ3Mzc3MSwgMTQzMTksIDEuMTYwNDEyNzg4MzkxMTEzM10sIFsxNjYzODM1MjM0Ljk5NTczNzgsIDE0MzY0LCAxLjE3NzA2NjgwMjk3ODUxNTZdLCBbMTY2MzgzNTIzNS4wOTcyNzUsIDE0MzczLCAxLjE4MjAyNTE5NDE2ODA5MDhdLCBbMTY2MzgzNTIzNS4xOTgzNzg4LCAxNDM4MiwgMS4xNDM0MTU4MDg2Nzc2NzMzXSwgWzE2NjM4MzUyMzUuNjM0OTI5MiwgMTQ0MTgsIDEuMjQ4ODE5NDcwNDA1NTc4Nl0sIFsxNjYzODM1MjM1Ljc0MzIwMSwgMTQ0MjcsIDEuMzAzOTYzMTg0MzU2Njg5NV0sIFsxNjYzODM1MjM1Ljg1MzYxMiwgMTQ0MzYsIDEuMzQ2Njk2MTM4MzgxOTU4XSwgWzE2NjM4MzUyMzYuNzIzNzUxOCwgMTQ1MDgsIDEuMTQzMzMxNTI3NzA5OTYxXSwgWzE2NjM4MzUyMzcuMDMyODQ0OCwgMTQ1MzUsIDEuMjcyMzczNDM3ODgxNDY5N10sIFsxNjYzODM1MjM3LjI0NTQyMTYsIDE0NTUzLCAxLjI2MDgwMjg2NTAyODM4MTNdLCBbMTY2MzgzNTIzNy45MjkxNTE4LCAxNDYwNywgMS4yMzAwNDE5ODA3NDM0MDgyXSwgWzE2NjM4MzUyMzguMjMwNjcyLCAxNDYyNSwgMS4yMTMxMDU2Nzg1NTgzNDk2XSwgWzE2NjM4MzUyMzguNjYzNzIzNywgMTQ2NTIsIDEuMjUwMjg2OTM2NzU5OTQ4N10sIFsxNjYzODM1MjM5LjQ1MzY2ODQsIDE0Njg4LCAxLjE3ODE5MzkyNjgxMTIxODNdLCBbMTY2MzgzNTIzOS45NDQ4NzEyLCAxNDcyNCwgMS4yNTUwMDQyODY3NjYwNTIyXSwgWzE2NjM4MzUyNDAuMTk0ODM2MSwgMTQ3NDIsIDEuMTI3MzMxNDk1Mjg1MDM0Ml0sIFsxNjYzODM1MjQwLjU3ODU0MiwgMTQ3NjksIDEuMTU5MzczMDQ0OTY3NjUxNF0sIFsxNjYzODM1MjQwLjY5MzA2NTQsIDE0Nzc4LCAxLjIxMTA5OTg2MzA1MjM2ODJdLCBbMTY2MzgzNTI0MS4zNTA3MiwgMTQ4MjMsIDEuMTU1NDU2NTQyOTY4NzVdLCBbMTY2MzgzNTI0MS40ODE5OTQsIDE0ODMyLCAxLjE2MjAyMTUxNzc1MzYwMV0sIFsxNjYzODM1MjQyLjAxMzA5NDQsIDE0ODY4LCAxLjE2MzMwMjQyMTU2OTgyNDJdLCBbMTY2MzgzNTI0Mi4xNDk2NDQ2LCAxNDg3NywgMS4xNjI0ODgxMDI5MTI5MDI4XSwgWzE2NjM4MzUyNDIuMzAzNjExOCwgMTQ4ODYsIDEuMjY5ODM0Mzk5MjIzMzI3Nl0sIFsxNjYzODM1MjQyLjQyMTIzMzQsIDE0ODk1LCAxLjIxMDU3NzEzMDMxNzY4OF0sIFsxNjYzODM1MjQyLjY4MzExMDcsIDE0OTEzLCAxLjE2NzQzNzA3NjU2ODYwMzVdLCBbMTY2MzgzNTI0Mi45MzM0MTMsIDE0OTMxLCAxLjE4Nzg4MDk5Mjg4OTQwNDNdLCBbMTY2MzgzNTI0My40Mjk5NTgsIDE0OTY3LCAxLjE0MzcxNzc2NTgwODEwNTVdLCBbMTY2MzgzNTI0My42ODEwMzIsIDE0OTg1LCAxLjE0NzY3NjIyOTQ3NjkyODddLCBbMTY2MzgzNTI0My45MjIyNDA1LCAxNTAwMywgMS4xNTA4Mjg0ODA3MjA1Ml0sIFsxNjYzODM1MjQ0LjI3NjQ3MzMsIDE1MDMwLCAxLjIzOTM3MDgyMjkwNjQ5NDFdLCBbMTY2MzgzNTI0NC4zODQxNjIyLCAxNTAzOSwgMS4zMTczNDQ1NDYzMTgwNTQyXSwgWzE2NjM4MzUyNDQuODAzMjIzOCwgMTUwNzUsIDEuMjI2OTYzMDQzMjEyODkwNl0sIFsxNjYzODM1MjQ1LjE5ODA4OTQsIDE1MTAyLCAxLjE1NTIyMjE3NzUwNTQ5MzJdLCBbMTY2MzgzNTI0NS40NDg0OTI4LCAxNTEyMCwgMS4xNzE3NTgyOTQxMDU1Mjk4XSwgWzE2NjM4MzUyNDUuNTY0MjE1LCAxNTEyOSwgMS4xODEyNjczODA3MTQ0MTY1XSwgWzE2NjM4MzUyNDUuODA4MjA1NCwgMTUxNDcsIDEuMTY0NzQyMTEyMTU5NzI5XSwgWzE2NjM4MzUyNDYuMTkyNjM0NiwgMTUxNzQsIDEuMTQ2NDAzMzEyNjgzMTA1NV0sIFsxNjYzODM1MjQ2LjM0MTcyNDIsIDE1MTgzLCAxLjE3OTQ3Njg1NzE4NTM2MzhdLCBbMTY2MzgzNTI0Ni40NjgzOTYyLCAxNTE5MiwgMS4xNDAzODA4NTkzNzVdLCBbMTY2MzgzNTI0Ni42MDI5MzQ2LCAxNTIwMSwgMS4xMzg0MTEyODM0OTMwNDJdLCBbMTY2MzgzNTI0Ny4yNTIzNDUsIDE1MjQ2LCAxLjEzMzY0NzY4MDI4MjU5MjhdLCBbMTY2MzgzNTI0Ny4zNzIyODksIDE1MjU1LCAxLjEzMTQ1MDY1MzA3NjE3MTldLCBbMTY2MzgzNTI0Ny41MDc2OTY2LCAxNTI2NCwgMS4xMzA5OTM0ODU0NTA3NDQ2XSwgWzE2NjM4MzUyNDguMDIwMDkyNSwgMTUzMDAsIDEuMjAxNTI3NDc2MzEwNzNdLCBbMTY2MzgzNTI0OC40MDQ0MjA5LCAxNTMyNywgMS4xNTU4MTcwMzE4NjAzNTE2XSwgWzE2NjM4MzUyNDguNjU3Njc4OCwgMTUzNDUsIDEuMTc3NTIyMDYzMjU1MzFdLCBbMTY2MzgzNTI0OS4wMjk3MDUsIDE1MzcyLCAxLjE0OTE3MDg3NTU0OTMxNjRdLCBbMTY2MzgzNTI0OS4yNzEzMzE1LCAxNTM5MCwgMS4xNjY3NDY5NzM5OTEzOTRdLCBbMTY2MzgzNTI0OS4zOTMwMzk1LCAxNTM5OSwgMS4xNDYzODA5MDEzMzY2N10sIFsxNjYzODM1MjQ5LjUxNDk3MjQsIDE1NDA4LCAxLjE1MjYxNjUwMDg1NDQ5MjJdLCBbMTY2MzgzNTI0OS42MzgyNjg1LCAxNTQxNywgMS4xMzUxNjYwNDkwMDM2MDFdLCBbMTY2MzgzNTI1MC42MjI4NjI4LCAxNTQ3MSwgMS4yMzE2MTI0NDM5MjM5NTAyXSwgWzE2NjM4MzUyNTEuMTM1MTg2LCAxNTUwNywgMS4xNjg4NTM5OTgxODQyMDRdLCBbMTY2MzgzNTI1MS4yNjY5NiwgMTU1MTYsIDEuMTgwOTU2ODQwNTE1MTM2N10sIFsxNjYzODM1MjUxLjM3NTE3ODMsIDE1NTI1LCAxLjE3NDQ2NzIwNjAwMTI4MTddLCBbMTY2MzgzNTI1MS40Nzg5NCwgMTU1MzQsIDEuMTMzOTM5NTA0NjIzNDEzXSwgWzE2NjM4MzUyNTIuMDIxMTAzNCwgMTU1NzksIDEuMjU4NDkzMzA0MjUyNjI0NV0sIFsxNjYzODM1MjUyLjg5OTYwMiwgMTU2NTEsIDEuMzE4Mzg4MjIzNjQ4MDcxM10sIFsxNjYzODM1MjUzLjAwMTUyNzgsIDE1NjYwLCAxLjE2MDA1MTcwMzQ1MzA2NF0sIFsxNjYzODM1MjUzLjQyMzcwOTIsIDE1Njk2LCAxLjE0MDM5MTIzMDU4MzE5MV0sIFsxNjYzODM1MjUzLjYzNDgyNzYsIDE1NzE0LCAxLjE4NzM4MjQ1OTY0MDUwM10sIFsxNjYzODM1MjUzLjk2NzgwODcsIDE1NzQxLCAxLjE1MDI1OTg1MjQwOTM2MjhdLCBbMTY2MzgzNTI1NC4xNzMwNTgsIDE1NzU5LCAxLjI2NjUzOTkzMTI5NzMwMjJdLCBbMTY2MzgzNTI1NC4yNzgwOTAyLCAxNTc2OCwgMS4xNTIxMzE3OTU4ODMxNzg3XSwgWzE2NjM4MzUyNTQuNDgzMjA4LCAxNTc4NiwgMS4yMjExOTIzNTk5MjQzMTY0XSwgWzE2NjM4MzUyNTQuNTg0MDcwNywgMTU3OTUsIDEuMTk1NjMxMjY1NjQwMjU4OF0sIFsxNjYzODM1MjU0Ljg5NTU3MSwgMTU4MjIsIDEuMTU1MDc1Nzg4NDk3OTI0OF0sIFsxNjYzODM1MjU1LjQ4ODEyMzIsIDE1ODY3LCAxLjE2OTkxMjU3NjY3NTQxNV0sIFsxNjYzODM1MjU1LjY2ODIzODQsIDE1ODc2LCAxLjExMjc2MzA0NzIxODMyMjhdLCBbMTY2MzgzNTI1NS45MzAzMDg4LCAxNTg5NCwgMS4xMzY3NjUyNDE2MjI5MjQ4XSwgWzE2NjM4MzUyNTYuMzE0MjIyMywgMTU5MjEsIDEuMjQ2ODk3MzM5ODIwODYxOF0sIFsxNjYzODM1MjU3LjEzMjE5NjQsIDE1OTg0LCAxLjIxMDUxNzUyNTY3MjkxMjZdLCBbMTY2MzgzNTI1Ny4yNjIxMTY3LCAxNTk5MywgMS4xNTk1NTUzMTU5NzEzNzQ1XSwgWzE2NjM4MzUyNTcuMzkxNzY5MiwgMTYwMDIsIDEuMTczMjc0OTkzODk2NDg0NF0sIFsxNjYzODM1MjU3LjcxOTU2NSwgMTYwMjksIDEuMTQzMTA3MTc1ODI3MDI2NF0sIFsxNjYzODM1MjU4LjE3OTkyNDUsIDE2MDY1LCAxLjEzOTk2MzUwNzY1MjI4MjddLCBbMTY2MzgzNTI1OC4yOTczNDY2LCAxNjA3NCwgMS4xNTE1MDIxMzI0MTU3NzE1XSwgWzE2NjM4MzUyNTguNDE4MzAzNSwgMTYwODMsIDEuMTU2NDgxMjY2MDIxNzI4NV0sIFsxNjYzODM1MjU4Ljc3OTA5NzgsIDE2MTEwLCAxLjIyMzE1NjA5NDU1MTA4NjRdLCBbMTY2MzgzNTI1OC44OTk2NDEsIDE2MTE5LCAxLjIzMzUzMTU5NDI3NjQyODJdLCBbMTY2MzgzNTI1OS4xNzQyMDM5LCAxNjEzNywgMS4xNDEzNDE5MjQ2NjczNTg0XSwgWzE2NjM4MzUyNTkuNDE2MjgyMiwgMTYxNTUsIDEuMTUxNTc3MjM0MjY4MTg4NV0sIFsxNjYzODM1MjU5LjY2MDY1LCAxNjE3MywgMS4xNjQ4OTAyODkzMDY2NDA2XSwgWzE2NjM4MzUyNjAuMTQ2ODMxLCAxNjIwOSwgMS4yMDY1NTI2MjQ3MDI0NTM2XSwgWzE2NjM4MzUyNjAuNTYwNTQ0MywgMTYyMjcsIDEuMTQ1MTU1OTA2Njc3MjQ2XSwgWzE2NjM4MzUyNjEuMTMzMjA3LCAxNjI4MSwgMS4xNzkzNzA1MjI0OTkwODQ1XSwgWzE2NjM4MzUyNjEuMzIxMTE2NCwgMTYyOTksIDEuMTI0NTQ1NjkzMzk3NTIyXSwgWzE2NjM4MzUyNjEuNzk2Njg5LCAxNjMzNSwgMS4xMzI0NjU3MjAxNzY2OTY4XSwgWzE2NjM4MzUyNjIuMzA2Nzk2OCwgMTYzODAsIDEuMTE0MjAxNTQ1NzE1MzMyXSwgWzE2NjM4MzUyNjIuNzExMTkyOCwgMTY0MTYsIDEuMTE5MzIwMzkyNjA4NjQyNl0sIFsxNjYzODM1MjYzLjAwMDY3LCAxNjQ0MywgMS4yMjE2NzMwMTE3Nzk3ODUyXSwgWzE2NjM4MzUyNjMuMDk1NzMxMywgMTY0NTIsIDEuMjA4MTE5MjczMTg1NzNdLCBbMTY2MzgzNTI2My4yODc5MDE0LCAxNjQ3MCwgMS4xMTQwOTQ5NzI2MTA0NzM2XSwgWzE2NjM4MzUyNjMuMzg3MTMxMiwgMTY0NzksIDEuMTQ3NzUyMTY1Nzk0MzcyNl0sIFsxNjYzODM1MjYzLjU4MjM4NzIsIDE2NDk3LCAxLjEyNjgzNzg0OTYxNzAwNDRdLCBbMTY2MzgzNTI2My42NzkyMjAyLCAxNjUwNiwgMS4xMjQzMjQ1NjAxNjU0MDUzXSwgWzE2NjM4MzUyNjMuNzgyOTU5NywgMTY1MTUsIDEuMTUyODU1MDM4NjQyODgzM10sIFsxNjYzODM1MjYzLjk2OTU5MjYsIDE2NTMzLCAxLjEyODkyNjAzODc0MjA2NTRdLCBbMTY2MzgzNTI2NC4wNjgwODAyLCAxNjU0MiwgMS4xNDcwODQ0NzQ1NjM1OTg2XSwgWzE2NjM4MzUyNjQuMTY1MzgxLCAxNjU1MSwgMS4xNzA5ODgwODI4ODU3NDIyXSwgWzE2NjM4MzUyNjQuODY4NjgxNywgMTY2MTQsIDEuMTU0NzE0NDY1MTQxMjk2NF0sIFsxNjYzODM1MjY0Ljk2OTE5MDQsIDE2NjIzLCAxLjE2Mjg1MjE2ODA4MzE5MV0sIFsxNjYzODM1MjY1LjEzOTI4LCAxNjYzMiwgMS4xMjIxNTI5MjQ1Mzc2NTg3XSwgWzE2NjM4MzUyNjUuMjg4MzIwOCwgMTY2NDEsIDEuMTM1NTE3MTIwMzYxMzI4MV0sIFsxNjYzODM1MjY1LjY3NzYxMjMsIDE2NjY4LCAxLjE4NjY1ODAyNDc4NzkwMjhdLCBbMTY2MzgzNTI2Ni43NDA4MTk1LCAxNjc0OSwgMS4xNjY2ODEyODk2NzI4NTE2XSwgWzE2NjM4MzUyNjcuMzMzODY2NCwgMTY3OTQsIDEuMTMzMDQyNTczOTI4ODMzXSwgWzE2NjM4MzUyNjcuNDMxMjc4NywgMTY4MDMsIDEuMTM3NDQ4OTA2ODk4NDk4NV0sIFsxNjYzODM1MjY3LjUyNzU0NDUsIDE2ODEyLCAxLjEzNzQ4ODI0NTk2NDA1MDNdLCBbMTY2MzgzNTI2Ny45MjkyMTA3LCAxNjg0OCwgMS4xNjk0NzIwOTgzNTA1MjVdLCBbMTY2MzgzNTI2OC4wMzM1NTg2LCAxNjg1NywgMS4xODY1NDA3MjI4NDY5ODQ5XSwgWzE2NjM4MzUyNjguMjM2MTM0OCwgMTY4NzUsIDEuMTIzMTgzMzY5NjM2NTM1Nl0sIFsxNjYzODM1MjY4LjUzNjgzNzMsIDE2OTAyLCAxLjE0MTg2MDk2MTkxNDA2MjVdLCBbMTY2MzgzNTI2OC44NjAyMDE4LCAxNjkyOSwgMS4xNDgzMjg2NjE5MTg2NDAxXSwgWzE2NjM4MzUyNjkuMTY1MzEzLCAxNjk1NiwgMS4xOTE5NTM2NTkwNTc2MTcyXSwgWzE2NjM4MzUyNjkuMjczMTUwMiwgMTY5NjUsIDEuMjIwMDU3MTI5ODU5OTI0M10sIFsxNjYzODM1MjY5LjY5Nzc3NiwgMTY5ODMsIDEuMTY0OTIyNDc1ODE0ODE5M10sIFsxNjYzODM1MjY5Ljg5MDY5ODcsIDE3MDAxLCAxLjE2MDg3MTAyODkwMDE0NjVdLCBbMTY2MzgzNTI3MC4wOTAzOTc0LCAxNzAxOSwgMS4xMzE2MTA4NzAzNjEzMjgxXSwgWzE2NjM4MzUyNzAuNTc5MTM0NywgMTcwNjQsIDEuMjAzNjg1NjQxMjg4NzU3M10sIFsxNjYzODM1MjcxLjAyMDcxNzEsIDE3MTAwLCAxLjE2NDAzMDA3NTA3MzI0MjJdLCBbMTY2MzgzNTI3MS4zMTA4MDEzLCAxNzEyNywgMS4xMjY1Mjg2MjA3MTk5MDk3XSwgWzE2NjM4MzUyNzEuNzA2OTUzMywgMTcxNjMsIDEuMTU4NDI3NzE1MzAxNTEzN10sIFsxNjYzODM1MjcxLjkxMDg5MzcsIDE3MTgxLCAxLjEzOTQxODI0NDM2MTg3NzRdLCBbMTY2MzgzNTI3Mi4wMjUwODQ3LCAxNzE5MCwgMS4xNjgxNjE4NjkwNDkwNzIzXSwgWzE2NjM4MzUyNzIuMTU5NTMxNCwgMTcxOTksIDEuMTQxODc4NjA0ODg4OTE2XSwgWzE2NjM4MzUyNzIuNTY0MTIzLCAxNzIyNiwgMS4xNDc1NjMzMzgyNzk3MjQxXSwgWzE2NjM4MzUyNzMuMjI0MDY4LCAxNzI3MSwgMS4xMTA0Nzg3NTg4MTE5NTA3XSwgWzE2NjM4MzUyNzMuODk5ODM0MiwgMTczMjUsIDEuMTY1MjQyNDMzNTQ3OTczNl0sIFsxNjYzODM1Mjc0LjAxOTg1NiwgMTczMzQsIDEuMTgwNzg4Mjc4NTc5NzEyXSwgWzE2NjM4MzUyNzQuMTM3MjU1LCAxNzM0MywgMS4xNjIyNjk1OTIyODUxNTYyXSwgWzE2NjM4MzUyNzQuNDM5NTU1MiwgMTczNzAsIDEuMTk1ODIxMTY2MDM4NTEzMl0sIFsxNjYzODM1Mjc0LjgyMzAzODYsIDE3Mzk3LCAxLjE5NDk5MTQ2OTM4MzIzOTddLCBbMTY2MzgzNTI3NS4xODMyMDk0LCAxNzQyNCwgMS4xNDMyNDM3ODk2NzI4NTE2XSwgWzE2NjM4MzUyNzUuMzA3NDQyNywgMTc0MzMsIDEuMTQ5ODE2NjMyMjcwODEzXSwgWzE2NjM4MzUyNzUuNzgyOTgwNywgMTc0NjksIDEuMTgwOTI5NDIyMzc4NTRdLCBbMTY2MzgzNTI3NS45NDE1MDEsIDE3NDc4LCAxLjExNzY5MDIwNTU3NDAzNTZdLCBbMTY2MzgzNTI3Ni4wNjE4MTYyLCAxNzQ4NywgMS4xMTIzOTE3MTAyODEzNzJdLCBbMTY2MzgzNTI3Ni40MjI2MTUzLCAxNzUxNCwgMS4yMDQ2NDI0MTUwNDY2OTJdLCBbMTY2MzgzNTI3Ni42NTEyNjgsIDE3NTMyLCAxLjE2NTU5MTcxNjc2NjM1NzRdLCBbMTY2MzgzNTI3Ni45ODg5MDY5LCAxNzU1OSwgMS4xMTg5NTI3NTExNTk2NjhdLCBbMTY2MzgzNTI3Ny4zNTMxNDE1LCAxNzU4NiwgMS4xNzM4ODUxMDcwNDA0MDUzXSwgWzE2NjM4MzUyNzcuNzAwOTUzMiwgMTc2MTMsIDEuMTM3MDUxOTM5OTY0Mjk0NF0sIFsxNjYzODM1Mjc4LjE4NTIwOSwgMTc2NDksIDEuMTE2MTI0MTUzMTM3MjA3XSwgWzE2NjM4MzUyNzguMzAzNDgyOCwgMTc2NTgsIDEuMTIyNTMyOTYzNzUyNzQ2Nl0sIFsxNjYzODM1Mjc4LjQzMjIxNTUsIDE3NjY3LCAxLjE0Nzc1MTY4ODk1NzIxNDRdLCBbMTY2MzgzNTI3OC41NTEzOTg1LCAxNzY3NiwgMS4xNTE1MTQwNTMzNDQ3MjY2XSwgWzE2NjM4MzUyNzguNjcwNzA3NywgMTc2ODUsIDEuMjE1NzI1MTgzNDg2OTM4NV0sIFsxNjYzODM1Mjc5LjE1NjI4MzksIDE3NzAzLCAxLjMwMzQzMDA4MDQxMzgxODRdLCBbMTY2MzgzNTI3OS4zMDEyMjQyLCAxNzcxMiwgMS4xNjUxOTE1MzExODEzMzU0XSwgWzE2NjM4MzUyNzkuNDE2MTA1LCAxNzcyMSwgMS4xNDYyMzk5OTU5NTY0MjFdLCBbMTY2MzgzNTI3OS41MzQ5Mjg4LCAxNzczMCwgMS4xNDIxNDQ0NDE2MDQ2MTQzXSwgWzE2NjM4MzUyODAuNDk2NjE1NCwgMTc4MDIsIDEuMTE1NjM4MjU2MDcyOTk4XSwgWzE2NjM4MzUyODAuNzIyNjA4LCAxNzgyMCwgMS4xNDE0MzMxMTk3NzM4NjQ3XSwgWzE2NjM4MzUyODAuODM4NTkwNiwgMTc4MjksIDEuMTM1MzY3NzUxMTIxNTIxXSwgWzE2NjM4MzUyODAuOTQ5OTQzMywgMTc4MzgsIDEuMTM4NjYxNjIzMDAxMDk4Nl0sIFsxNjYzODM1MjgxLjA2MjA2NDYsIDE3ODQ3LCAxLjEzNTgxNjIxNjQ2ODgxMV0sIFsxNjYzODM1MjgxLjM1OTM5OCwgMTc4NzQsIDEuMTk0MzcxNTgxMDc3NTc1N10sIFsxNjYzODM1MjgxLjU1OTIwNTMsIDE3ODkyLCAxLjEzMjMzODUyMzg2NDc0Nl0sIFsxNjYzODM1MjgxLjY1NDUzOCwgMTc5MDEsIDEuMTM1NTQ3NTE4NzMwMTYzNl0sIFsxNjYzODM1MjgxLjk0NzU5ODIsIDE3OTI4LCAxLjE2NTg2NjczMjU5NzM1MV0sIFsxNjYzODM1MjgyLjA0OTk4NjQsIDE3OTM3LCAxLjE0MjU5MjQzMDExNDc0Nl0sIFsxNjYzODM1Mjg0Ljg4MTQyMzcsIDE4MTUzLCAxLjE0MjQxNjcxNTYyMTk0ODJdLCBbMTY2MzgzNTI4NS4wMDMyNTgyLCAxODE2MiwgMS4xMzY5MTQ2MTA4NjI3MzJdLCBbMTY2MzgzNTI4NS40ODAyOTIzLCAxODE5OCwgMS4yMjMzMDQ3NDg1MzUxNTYyXSwgWzE2NjM4MzUyODUuNTk2MjUyMiwgMTgyMDcsIDEuMTM5MzY1NzkyMjc0NDc1XSwgWzE2NjM4MzUyODUuNzExNjEzNywgMTgyMTYsIDEuMTQ3MzA0MTc3Mjg0MjQwN10sIFsxNjYzODM1Mjg2LjA2Nzg0MTgsIDE4MjQzLCAxLjEwNjM2MDc5MzExMzcwODVdLCBbMTY2MzgzNTI4Ni4yOTgyNjU1LCAxODI2MSwgMS4yMzI2Mzc0MDUzOTU1MDc4XSwgWzE2NjM4MzUyODYuNjM4OTE4NCwgMTgyODgsIDEuMTg1MzcyNDcxODA5Mzg3Ml0sIFsxNjYzODM1Mjg2Ljc1MTE4OTUsIDE4Mjk3LCAxLjE5NTIxNDE1MjMzNjEyMDZdLCBbMTY2MzgzNTI4Ni45ODMzMzkzLCAxODMxNSwgMS4xNzk3MTQ5MTgxMzY1OTY3XSwgWzE2NjM4MzUyODcuMDk2MzA4MiwgMTgzMjQsIDEuMTk2MDA1MTA1OTcyMjldLCBbMTY2MzgzNTI4Ny4xOTYyNTksIDE4MzMzLCAxLjE1NDI1MDg2MDIxNDIzMzRdLCBbMTY2MzgzNTI4Ny42MTI4ODk1LCAxODM2OSwgMS4xODQ5OTE1OTgxMjkyNzI1XSwgWzE2NjM4MzUyODcuOTE4MjAyMiwgMTgzOTYsIDEuMTcyMTg3MzI4MzM4NjIzXSwgWzE2NjM4MzUyODguMzE1MjY1NCwgMTg0MzIsIDEuMTM2MTgyNDI3NDA2MzExXSwgWzE2NjM4MzUyODguNTEzMjgsIDE4NDUwLCAxLjE1NTQ5MDUxNzYxNjI3Ml0sIFsxNjYzODM1Mjg5LjI1MDU3MTcsIDE4NDk1LCAxLjE1Njg5MjI5OTY1MjA5OTZdLCBbMTY2MzgzNTI4OS4zNjA3NTc0LCAxODUwNCwgMS4xMjM1OTg2OTQ4MDEzMzA2XSwgWzE2NjM4MzUyODkuNDU1ODU5LCAxODUxMywgMS4xNjE3MDMxMDk3NDEyMTFdLCBbMTY2MzgzNTI4OS41NzE1MDQ4LCAxODUyMiwgMS4xMjk0NTE2MzI0OTk2OTQ4XSwgWzE2NjM4MzUyOTAuNzAzMjIxOCwgMTg2MTIsIDEuMTI3NjEzNzgyODgyNjkwNF0sIFsxNjYzODM1MjkwLjgyMjYxMTgsIDE4NjIxLCAxLjEyNzg4ODA4MzQ1Nzk0NjhdLCBbMTY2MzgzNTI5MS4wNzk5NTk5LCAxODYzOSwgMS4xNTI3MjIwMDEwNzU3NDQ2XSwgWzE2NjM4MzUyOTEuNTM2ODYxNCwgMTg2NzUsIDEuMTUxNjYwNTYxNTYxNTg0NV0sIFsxNjYzODM1MjkyLjExODA4ODcsIDE4NzIwLCAxLjE0MDA1NDIyNTkyMTYzMDldLCBbMTY2MzgzNTI5Mi43MjI0MDczLCAxODc2NSwgMS4xMzExNDUzNTgwODU2MzIzXSwgWzE2NjM4MzUyOTMuMDQwMTk4MywgMTg3ODMsIDEuMTcwMTk3NzI1Mjk2MDIwNV0sIFsxNjYzODM1MjkzLjE0NzIzODcsIDE4NzkyLCAxLjIwNDA0NjI0OTM4OTY0ODRdLCBbMTY2MzgzNTI5My4zNTE1MDM4LCAxODgxMCwgMS4yMDg4NTE5MzM0NzkzMDldLCBbMTY2MzgzNTI5My40Njc2NDI4LCAxODgxOSwgMS4zNjk3ODI2ODYyMzM1MjA1XSwgWzE2NjM4MzUyOTMuNTk0NDk1OCwgMTg4MjgsIDEuMjEzODU0MzEyODk2NzI4NV0sIFsxNjYzODM1Mjk0LjA0NjQzNTQsIDE4ODY0LCAxLjEyMzgxMTEyNTc1NTMxXSwgWzE2NjM4MzUyOTQuMzIwMjY5NiwgMTg4ODIsIDEuMTU0MjQwMTMxMzc4MTczOF0sIFsxNjYzODM1Mjk0LjQzODg4OSwgMTg4OTEsIDEuMTUxMjgwMDQ1NTA5MzM4NF0sIFsxNjYzODM1Mjk0LjY3NTA5MjUsIDE4OTA5LCAxLjE5NDIyMzI4NDcyMTM3NDVdLCBbMTY2MzgzNTI5NS4wMjUwNzE5LCAxODkzNiwgMS4xNTgwOTQ2NDQ1NDY1MDg4XSwgWzE2NjM4MzUyOTUuMTQxMDkwNiwgMTg5NDUsIDEuMTMyNjAwNzg0MzAxNzU3OF0sIFsxNjYzODM1Mjk1LjI1ODQzODYsIDE4OTU0LCAxLjExNzQ4MTU4OTMxNzMyMThdLCBbMTY2MzgzNTI5NS43MzgzMTY4LCAxODk5MCwgMS4xNDgxMjU3Njc3MDc4MjQ3XSwgWzE2NjM4MzUyOTUuODUzODg2MSwgMTg5OTksIDEuMTI1Mjc4MzUzNjkxMTAxXSwgWzE2NjM4MzUyOTYuMzM3ODM5LCAxOTAzNSwgMS4xNzQyMDc1NjgxNjg2NDAxXSwgWzE2NjM4MzUyOTYuNDUzMzE3LCAxOTA0NCwgMS4xMTYzMjQ5MDE1ODA4MTA1XSwgWzE2NjM4MzUyOTYuOTM2MzA1OCwgMTkwODAsIDEuMTExMDI0MjYwNTIwOTM1XSwgWzE2NjM4MzUyOTcuMDUzNDQ0NiwgMTkwODksIDEuMTIyMTg3NzMzNjUwMjA3NV0sIFsxNjYzODM1Mjk3LjMxMzY3ODUsIDE5MTA3LCAxLjE2OTc2NTExNDc4NDI0MDddLCBbMTY2MzgzNTI5Ny40MTY1OTIsIDE5MTE2LCAxLjEzMDU1ODQ5MDc1MzE3MzhdLCBbMTY2MzgzNTI5Ny41MTY4MjM4LCAxOTEyNSwgMS4xMTU5NDE3NjI5MjQxOTQzXSwgWzE2NjM4MzUyOTcuODM2MjgyNywgMTkxNTIsIDEuMTMzODQ2MDQ0NTQwNDA1M10sIFsxNjYzODM1Mjk4LjU5MjAwMDUsIDE5MjE1LCAxLjE2MTU2MDY1NDY0MDE5NzhdLCBbMTY2MzgzNTI5OC43MDA2MjE4LCAxOTIyNCwgMS4xNDM3MTk0MzQ3MzgxNTkyXSwgWzE2NjM4MzUyOTkuMDI4NDE4NSwgMTkyMzMsIDEuMTYwNDUyMDA4MjQ3Mzc1NV0sIFsxNjYzODM1Mjk5LjM0ODUxNywgMTkyNjAsIDEuMTQ0NDg0MTYyMzMwNjI3NF0sIFsxNjYzODM1Mjk5Ljc2MzM4MjQsIDE5Mjk2LCAxLjE0NzAzOTQxMzQ1MjE0ODRdLCBbMTY2MzgzNTMwMC40MTI0MTksIDE5MzUwLCAxLjE4MDIwMTc2ODg3NTEyMl0sIFsxNjYzODM1MzAwLjU3MzA1ODEsIDE5MzU5LCAxLjEyMjAxMTE4NDY5MjM4MjhdLCBbMTY2MzgzNTMwMS4wMTk0NzIsIDE5Mzk1LCAxLjExMDEyNDgyNjQzMTI3NDRdLCBbMTY2MzgzNTMwMS4xMjA3NjYyLCAxOTQwNCwgMS4xMDc4OTAwMDk4ODAwNjZdLCBbMTY2MzgzNTMwMS42MjYyMTIsIDE5NDQwLCAxLjE3MTI0MTc2MDI1MzkwNjJdLCBbMTY2MzgzNTMwMS43NDE2NDk5LCAxOTQ0OSwgMS4xMzc5ODg5MjQ5ODAxNjM2XSwgWzE2NjM4MzUzMDEuODYxMTgxNywgMTk0NTgsIDEuMTQ4Njg5NTA4NDM4MTEwNF0sIFsxNjYzODM1MzAxLjk4OTg0ODYsIDE5NDY3LCAxLjE1MjMwNTM2NDYwODc2NDZdLCBbMTY2MzgzNTMwMi43NzEwMDIzLCAxOTUzMCwgMS4xMjY0MDUwMDA2ODY2NDU1XSwgWzE2NjM4MzUzMDMuMjAxMTc5NywgMTk1NjYsIDEuMjIzNzc5MzIwNzE2ODU4XSwgWzE2NjM4MzUzMDMuNDA3Mzg5NCwgMTk1ODQsIDEuMTMzMDQ0MzYyMDY4MTc2M10sIFsxNjYzODM1MzAzLjUwNjU5NjMsIDE5NTkzLCAxLjEwODk3Njg0MDk3MjkwMDRdLCBbMTY2MzgzNTMwNC4yNTMxNjM2LCAxOTY1NiwgMS4xMzc1NjAxMjkxNjU2NDk0XSwgWzE2NjM4MzUzMDQuNDUzNDQ4NSwgMTk2NzQsIDEuMjEzNTc1NzIwNzg3MDQ4M10sIFsxNjYzODM1MzA0LjY3NDUzMiwgMTk2OTIsIDEuMTUwNzU2MTIwNjgxNzYyN10sIFsxNjYzODM1MzA0Ljg4MTMzNywgMTk3MTAsIDEuMTcyNTI1NDA1ODgzNzg5XSwgWzE2NjM4MzUzMDUuNDQzODI3OSwgMTk3NTUsIDEuMTM4MzQ3MTQ4ODk1MjYzN10sIFsxNjYzODM1MzA2LjA1NzgzNTgsIDE5ODAwLCAxLjE0MTExNDcxMTc2MTQ3NDZdLCBbMTY2MzgzNTMwNi4yODI0MjU5LCAxOTgxOCwgMS4xMjI0ODEzNDYxMzAzNzFdLCBbMTY2MzgzNTMwNi40MDQ1NjMsIDE5ODI3LCAxLjE0ODM1MTE5MjQ3NDM2NTJdLCBbMTY2MzgzNTMwNi41MTAwODE4LCAxOTgzNiwgMS4xMTA3MTAxNDQwNDI5Njg4XSwgWzE2NjM4MzUzMDYuODE4MjYzOCwgMTk4NjMsIDEuMTYyMTI5MDQ0NTMyNzc1OV0sIFsxNjYzODM1MzA3LjEyNDA5NTQsIDE5ODkwLCAxLjE4NTE5MDkxNjA2MTQwMTRdLCBbMTY2MzgzNTMwNy4zMzM5MjEsIDE5OTA4LCAxLjIxNDM5MTk0Njc5MjYwMjVdLCBbMTY2MzgzNTMwNy40MzIxMDYzLCAxOTkxNywgMS4xNjE4NjM1NjU0NDQ5NDYzXSwgWzE2NjM4MzUzMDcuNjQ3NzYwNCwgMTk5MzUsIDEuMTU4MTc3NDk1MDAyNzQ2Nl0sIFsxNjYzODM1MzA3Ljc1MTYwMiwgMTk5NDQsIDEuMTA4NDE1OTYxMjY1NTY0XSwgWzE2NjM4MzUzMDguNTg0MTcyLCAxOTk5OCwgMS4xNTg4Mzg1MTA1MTMzMDU3XSwgWzE2NjM4MzUzMDkuMDAzNjgsIDIwMDM0LCAxLjEyMDk0Mjk1MDI0ODcxODNdLCBbMTY2MzgzNTMwOS4yMjY3Mzk0LCAyMDA1MiwgMS4xNjc1NTgzMTI0MTYwNzY3XSwgWzE2NjM4MzUzMTAuMTk0NjY2LCAyMDEzMywgMS4xMTc3NjU1NDU4NDUwMzE3XSwgWzE2NjM4MzUzMTAuNTA4NTk4OCwgMjAxNjAsIDEuMTEzMjMwNDY2ODQyNjUxNF0sIFsxNjYzODM1MzEwLjgxOTc3NjgsIDIwMTg3LCAxLjE1NTEwNTgyOTIzODg5MTZdLCBbMTY2MzgzNTMxMS4wNDUxMzg4LCAyMDIwNSwgMS4xNzAxMzAxMzM2Mjg4NDUyXSwgWzE2NjM4MzUzMTIuMTI5MDk3NywgMjAyOTUsIDEuMTI5MjI4MTE1MDgxNzg3XSwgWzE2NjM4MzUzMTIuNDQwNTUwOCwgMjAzMjIsIDEuMTA1NjkxMTk0NTM0MzAxOF0sIFsxNjYzODM1MzEyLjU0ODc3MTEsIDIwMzMxLCAxLjE0MDIxMDI3MDg4MTY1MjhdLCBbMTY2MzgzNTMxMy4yNzA1NTYsIDIwMzg1LCAxLjEzMzczNDk0MTQ4MjU0NF0sIFsxNjYzODM1MzEzLjY0MTMxNDUsIDIwNDEyLCAxLjE1MjM2MDA4MTY3MjY2ODVdLCBbMTY2MzgzNTMxNC43MDIzOTU3LCAyMDQ5MywgMS4xMzU3MjEwODc0NTU3NDk1XSwgWzE2NjM4MzUzMTUuMTI5NTgxLCAyMDUyOSwgMS4xMjAwMTcyOTAxMTUzNTY0XSwgWzE2NjM4MzUzMTUuMjQ0MjM5MywgMjA1MzgsIDEuMTA0OTg2NDI5MjE0NDc3NV0sIFsxNjYzODM1MzE1LjY4MzI5OSwgMjA1NzQsIDEuMjA2MDU1NDAyNzU1NzM3M10sIFsxNjYzODM1MzE2LjI2OTYwMjUsIDIwNjI4LCAxLjI4MDg5NDM5ODY4OTI3XSwgWzE2NjM4MzUzMTYuMzY0NDQ0MywgMjA2MzcsIDEuMTY4MjEyODkwNjI1XSwgWzE2NjM4MzUzMTYuNDc0ODYyLCAyMDY0NiwgMS4xODA4NjY1OTkwODI5NDY4XSwgWzE2NjM4MzUzMTcuMzgxNzAzLCAyMDcwOSwgMS4xMjQ5NDgyNjMxNjgzMzVdLCBbMTY2MzgzNTMxOC4yNDg4NTM3LCAyMDc1NCwgMS4wOTg1OTgxMjI1OTY3NDA3XSwgWzE2NjM4MzUzMTguMzYzNzYxMiwgMjA3NjMsIDEuMTI0MDE4NjY5MTI4NDE4XSwgWzE2NjM4MzUzMTguNTA0NTU4MywgMjA3NzIsIDEuMTQwNzA1NDY2MjcwNDQ2OF0sIFsxNjYzODM1MzE4Ljc2NDU2MzYsIDIwNzkwLCAxLjEyODA1MjQ3MzA2ODIzNzNdLCBbMTY2MzgzNTMxOS4wMzkzNzY3LCAyMDgwOCwgMS4yNjYwNjE5MDIwNDYyMDM2XSwgWzE2NjM4MzUzMTkuNTgzMzY1NCwgMjA4NDQsIDEuMTIyNjk5NzM3NTQ4ODI4MV0sIFsxNjYzODM1MzE5LjcyMDcwMTcsIDIwODUzLCAxLjEzNDIwNDM4NzY2NDc5NV0sIFsxNjYzODM1MzIwLjEyNDMxMSwgMjA4ODAsIDEuMTIyMzQ5MTQzMDI4MjU5M10sIFsxNjYzODM1MzIwLjc5MDA3MjcsIDIwOTI1LCAxLjEzODQ1MTMzNzgxNDMzMV0sIFsxNjYzODM1MzIxLjU2MjE0OCwgMjA5NzksIDEuMTUxNTg5NjMyMDM0MzAxOF0sIFsxNjYzODM1MzIxLjgyMjEwMjgsIDIwOTk3LCAxLjE4MjAwMTU5MDcyODc1OThdLCBbMTY2MzgzNTMyMi4xODg4NTI1LCAyMTAyNCwgMS4xNDU3NDU3NTQyNDE5NDM0XSwgWzE2NjM4MzUzMjIuNzA5OTUyOCwgMjEwNjksIDEuMTY3NTM0NTg5NzY3NDU2XSwgWzE2NjM4MzUzMjIuOTEyNTgzOCwgMjEwODcsIDEuMTQ1MDQ5NDUyNzgxNjc3Ml0sIFsxNjYzODM1MzIzLjAyMjU5MiwgMjEwOTYsIDEuMTIzMzcxMDA1MDU4Mjg4Nl0sIFsxNjYzODM1MzIzLjEzNjQ4MzcsIDIxMTA1LCAxLjEyNTc1NTc4Njg5NTc1Ml0sIFsxNjYzODM1MzIzLjQwNTM0NTQsIDIxMTIzLCAxLjE0NzAwNDg0Mjc1ODE3ODddLCBbMTY2MzgzNTMyMy41NDg0NzE1LCAyMTEzMiwgMS4xMDQ2NzgyNzMyMDA5ODg4XSwgWzE2NjM4MzUzMjMuNjc4Mjg2MywgMjExNDEsIDEuMTMxMTM0MzkwODMwOTkzN10sIFsxNjYzODM1MzI0LjA4NjI5NTQsIDIxMTY4LCAxLjE1NTIwOTc3OTczOTM3OTldLCBbMTY2MzgzNTMyNC4yMjg3MTE0LCAyMTE3NywgMS4xMDk1MTg1Mjc5ODQ2MTkxXSwgWzE2NjM4MzUzMjQuMzcxMzk0NiwgMjExODYsIDEuMDk1NDU1Mjg4ODg3MDI0XSwgWzE2NjM4MzUzMjQuNzkyMzk1LCAyMTIyMiwgMS4xNTgwMjE5MjY4Nzk4ODI4XSwgWzE2NjM4MzUzMjQuOTk2ODkyLCAyMTI0MCwgMS4xNDg2MTMzMzM3MDIwODc0XSwgWzE2NjM4MzUzMjUuMzA4OTg2MiwgMjEyNjcsIDEuMTIxNDcxNDA1MDI5Mjk2OV0sIFsxNjYzODM1MzI1LjYxOTA1ODEsIDIxMjk0LCAxLjE2MzA4NjUzMzU0NjQ0NzhdLCBbMTY2MzgzNTMyNS45MTg3MjYsIDIxMzIxLCAxLjE4Mjc0NDUwMzAyMTI0MDJdLCBbMTY2MzgzNTMyNi4yMzQyMTI0LCAyMTM0OCwgMS4xMTcwMDkyODIxMTIxMjE2XSwgWzE2NjM4MzUzMjYuNDMxNDAxNywgMjEzNjYsIDEuMTIyNTM1NzA1NTY2NDA2Ml0sIFsxNjYzODM1MzI2LjkzMTk5NjYsIDIxNDExLCAxLjE5NzM3MzI3MDk4ODQ2NDRdLCBbMTY2MzgzNTMyNy41NjA4NjEsIDIxNDY1LCAxLjEzMjk2OTg1NjI2MjIwN10sIFsxNjYzODM1MzI4LjA2Nzk5NzIsIDIxNTEwLCAxLjEzOTE5MTI2OTg3NDU3MjhdLCBbMTY2MzgzNTMyOC40OTIzNjEzLCAyMTUyOCwgMS4xMjc0NDc3MjQzNDIzNDYyXSwgWzE2NjM4MzUzMjguNjk1NDM0LCAyMTU0NiwgMS4wOTYyNjgyOTYyNDE3NjAzXSwgWzE2NjM4MzUzMjguNzkxNjQ3MiwgMjE1NTUsIDEuMTE0OTMwMDMzNjgzNzc2OV0sIFsxNjYzODM1MzI4Ljg4ODQwOTksIDIxNTY0LCAxLjExMzc1NTU4Mzc2MzEyMjZdLCBbMTY2MzgzNTMyOC45OTA5ODEsIDIxNTczLCAxLjEyNzc4MzI5ODQ5MjQzMTZdLCBbMTY2MzgzNTMyOS4wOTQ4NDY1LCAyMTU4MiwgMS4xNTE4NTE2NTQwNTI3MzQ0XSwgWzE2NjM4MzUzMjkuMTk5NjI1MywgMjE1OTEsIDEuMTMwMTE4MzcwMDU2MTUyM10sIFsxNjYzODM1MzMwLjI2MDg3NSwgMjE2ODEsIDEuMjE5MTk0NzY5ODU5MzE0XSwgWzE2NjM4MzUzMzAuNzAwMzg3LCAyMTcxNywgMS4xMjUyMjc4MDg5NTIzMzE1XSwgWzE2NjM4MzUzMzEuMDAzMDM5NiwgMjE3NDQsIDEuMTA2NTQ0MjU2MjEwMzI3MV0sIFsxNjYzODM1MzMxLjQxNDUxMjIsIDIxNzgwLCAxLjE1NTExMjM4NTc0OTgxN10sIFsxNjYzODM1MzMyLjM1MTk1ODgsIDIxODYxLCAxLjE0MDk4NzUxNTQ0OTUyNF0sIFsxNjYzODM1MzMyLjY1NzI3NjksIDIxODg4LCAxLjEyMzAwODAxMjc3MTYwNjRdLCBbMTY2MzgzNTMzMy4wNjU3MjE1LCAyMTkyNCwgMS4xNDkwMTk5NTY1ODg3NDUxXSwgWzE2NjM4MzUzMzMuMTY1MDYzNiwgMjE5MzMsIDEuMTU2MDcwNDcwODA5OTM2NV0sIFsxNjYzODM1MzMzLjM5NjgyNzIsIDIxOTUxLCAxLjE3ODA4NjE2MTYxMzQ2NDRdLCBbMTY2MzgzNTMzMy41MDExMjMyLCAyMTk2MCwgMS4xNDU5OTcxNjY2MzM2MDZdLCBbMTY2MzgzNTMzMy43MTYxMjU1LCAyMTk3OCwgMS4xODUxNTA4NjE3NDAxMTIzXSwgWzE2NjM4MzUzMzMuODE5MDgzNSwgMjE5ODcsIDEuMTUwMTU0NDcxMzk3NF0sIFsxNjYzODM1MzM0LjQzMjQyNDUsIDIyMDQxLCAxLjE1NjkzNTgxMTA0Mjc4NTZdLCBbMTY2MzgzNTMzNS4xMDQyODUsIDIyMDk1LCAxLjEzNDk1NzQzMjc0Njg4NzJdLCBbMTY2MzgzNTMzNS42MTA2OTg3LCAyMjEzMSwgMS4xMDUxODQwNzgyMTY1NTI3XSwgWzE2NjM4MzUzMzYuMDYwNjc1OSwgMjIxNjcsIDEuMTA5NDAwMjcyMzY5Mzg0OF0sIFsxNjYzODM1MzM2LjQ3NTEyMjUsIDIyMTg1LCAxLjEyMzAzNDAwMDM5NjcyODVdLCBbMTY2MzgzNTMzNi41Nzk0NTc1LCAyMjE5NCwgMS4xMTUwMzU0MTQ2OTU3Mzk3XSwgWzE2NjM4MzUzMzYuNzg2NzI4NCwgMjIyMTIsIDEuMTM2OTg0MzQ4Mjk3MTE5MV0sIFsxNjYzODM1MzM2Ljk5NjA1NzMsIDIyMjMwLCAxLjExMzAxNzkxNjY3OTM4MjNdLCBbMTY2MzgzNTMzNy40NDQyODU5LCAyMjI2NiwgMS4xNDE2NjYxNzM5MzQ5MzY1XSwgWzE2NjM4MzUzMzcuNzY3MzkzLCAyMjI4NCwgMS4xMDUyMzk4NjgxNjQwNjI1XSwgWzE2NjM4MzUzMzguMDEwMzMxLCAyMjMwMiwgMS4xMTk0MDkwODQzMjAwNjg0XSwgWzE2NjM4MzUzMzguODM0MjYzLCAyMjM2NSwgMS4xMTAzMTExNTA1NTA4NDIzXSwgWzE2NjM4MzUzMzguOTU5MjUyLCAyMjM3NCwgMS4xMDA5NTI4NjM2OTMyMzczXSwgWzE2NjM4MzUzMzkuNDE1NTEyOCwgMjI0MTAsIDEuMTc2NjA3MjUxMTY3Mjk3NF0sIFsxNjYzODM1MzM5Ljg3NTIwMDMsIDIyNDQ2LCAxLjEyMTAzOTc0ODE5MTgzMzVdLCBbMTY2MzgzNTM0MC4yMzc2Njk3LCAyMjQ3MywgMS4xNjE1MDQxNDk0MzY5NTA3XSwgWzE2NjM4MzUzNDAuNDg0Mzg0MywgMjI0OTEsIDEuMTQ0MzY2MDI1OTI0NjgyNl0sIFsxNjYzODM1MzQwLjU5NDAxLCAyMjUwMCwgMS4xMTk2ODAxNjYyNDQ1MDY4XSwgWzE2NjM4MzUzNDAuNzAzMjQ3MywgMjI1MDksIDEuMTY2OTk2MDAyMTk3MjY1Nl0sIFsxNjYzODM1MzQwLjgwODUxNDYsIDIyNTE4LCAxLjE3NjY3OTI1MzU3ODE4Nl0sIFsxNjYzODM1MzQxLjAyMTYxMjQsIDIyNTM2LCAxLjE0NDE3Mzg2MDU0OTkyNjhdLCBbMTY2MzgzNTM0MS4yMzM4NzUsIDIyNTU0LCAxLjE4MzY5NzQ2MjA4MTkwOTJdLCBbMTY2MzgzNTM0MS4zMzc4MiwgMjI1NjMsIDEuMTQ5NzI5MDEzNDQyOTkzMl0sIFsxNjYzODM1MzQxLjU0NzAyNDUsIDIyNTgxLCAxLjEwNTExMjkxMDI3MDY5MV0sIFsxNjYzODM1MzQxLjc0MjQ1OTMsIDIyNTk5LCAxLjE0MjgwNzg0MTMwMDk2NDRdLCBbMTY2MzgzNTM0Mi4wMzM5OCwgMjI2MjYsIDEuMTA0NzUzMTM2NjM0ODI2N10sIFsxNjYzODM1MzQyLjIyODg5MjYsIDIyNjQ0LCAxLjI1MDAwMjg2MTAyMjk0OTJdLCBbMTY2MzgzNTM0Mi40MzAwNDQ3LCAyMjY2MiwgMS4xNjg5MTk0NDQwODQxNjc1XSwgWzE2NjM4MzUzNDIuNTI2ODk1LCAyMjY3MSwgMS4xMjI2OTY3NTczMTY1ODk0XSwgWzE2NjM4MzUzNDIuNjI4NjczOCwgMjI2ODAsIDEuMTgxODQ2ODU3MDcwOTIyOV0sIFsxNjYzODM1MzQyLjgzMzY0MTUsIDIyNjk4LCAxLjE2Nzc4MjQyNTg4MDQzMjFdLCBbMTY2MzgzNTM0My4wMzE2MzU1LCAyMjcxNiwgMS4xMzA3NTgxNjYzMTMxNzE0XSwgWzE2NjM4MzUzNDMuNTM4MTAzMywgMjI3NjEsIDEuMTE0OTIwMzc3NzMxMzIzMl0sIFsxNjYzODM1MzQzLjc0MTQ2OCwgMjI3NzksIDEuMTI2MDExOTY3NjU4OTk2Nl0sIFsxNjYzODM1MzQzLjgzNjA5NzIsIDIyNzg4LCAxLjEzNTg1OTI1MTAyMjMzODldLCBbMTY2MzgzNTM0NC4wMzY4OTcyLCAyMjgwNiwgMS4xMjA2NDIwNjYwMDE4OTJdLCBbMTY2MzgzNTM0NC41NTQ2MzQsIDIyODUxLCAxLjIwMzg4NTkxMjg5NTIwMjZdLCBbMTY2MzgzNTM0NC43NTM0ODM4LCAyMjg2OSwgMS4xNjI0ODk2NTI2MzM2NjddLCBbMTY2MzgzNTM0NC45NDkxLCAyMjg4NywgMS4xNDk3OTI3OTA0MTI5MDI4XSwgWzE2NjM4MzUzNDUuMDQ0NTY0NSwgMjI4OTYsIDEuMTg2OTI3Nzk1NDEwMTU2Ml0sIFsxNjYzODM1MzQ1LjMzNDk5MzQsIDIyOTIzLCAxLjExNjQ3MzY3NDc3NDE3XSwgWzE2NjM4MzUzNDYuMzQ4NTk1NiwgMjI5OTUsIDEuMTQ5OTgzNDA2MDY2ODk0NV0sIFsxNjYzODM1MzQ2LjQ0MzgyNywgMjMwMDQsIDEuMTI0NTM0MjQ5MzA1NzI1XSwgWzE2NjM4MzUzNDcuMDQ5MTAxOCwgMjMwNDksIDEuMTAxMzM2ODM2ODE0ODgwNF0sIFsxNjYzODM1MzQ3LjcwNDU3MjcsIDIzMDk0LCAxLjEwMTQ2NDAzMzEyNjgzMV0sIFsxNjYzODM1MzQ3LjgyMDM2MDQsIDIzMTAzLCAxLjEyMzAxNzc4NzkzMzM0OTZdLCBbMTY2MzgzNTM0OC4wNzE0MzM4LCAyMzEyMSwgMS4xMzA1MTQ4NjAxNTMxOTgyXSwgWzE2NjM4MzUzNDguNDIwNTMzLCAyMzE0OCwgMS4xMTgwMTM2MjAzNzY1ODddLCBbMTY2MzgzNTM0OC42NTcyNTc4LCAyMzE2NiwgMS4xMTYxNzg2MzE3ODI1MzE3XSwgWzE2NjM4MzUzNDguODg4MTc1LCAyMzE4NCwgMS4xMDc1MjA4MTg3MTAzMjcxXSwgWzE2NjM4MzUzNDkuMTIyMDcxMywgMjMyMDIsIDEuMTEyNjMxNDQwMTYyNjU4N10sIFsxNjYzODM1MzQ5LjIzOTkxNCwgMjMyMTEsIDEuMTIyOTI2NzEyMDM2MTMyOF0sIFsxNjYzODM1MzQ5LjgzMDQzNTgsIDIzMjU2LCAxLjE3MDk3NjUxOTU4NDY1NThdLCBbMTY2MzgzNTM0OS45NDczMjA1LCAyMzI2NSwgMS4yNTgzNjMxMjc3MDg0MzVdLCBbMTY2MzgzNTM1MC4wNjc5MjI4LCAyMzI3NCwgMS4yNjI5MjAxNDEyMjAwOTI4XSwgWzE2NjM4MzUzNTAuNDMzODM0OCwgMjMzMDEsIDEuMTYxMjA4MTUyNzcwOTk2XSwgWzE2NjM4MzUzNTAuNTUyNjMzMywgMjMzMTAsIDEuMTEzMzM0MTc4OTI0NTYwNV0sIFsxNjYzODM1MzUwLjkyMjQ0MywgMjMzMzcsIDEuMTIyODcyMTE0MTgxNTE4Nl0sIFsxNjYzODM1MzUxLjY1NjI1MTIsIDIzMzkxLCAxLjExNDE5MDIyMDgzMjgyNDddLCBbMTY2MzgzNTM1MS43ODI1Nzg1LCAyMzQwMCwgMS4xMDYxMjI0OTM3NDM4OTY1XSwgWzE2NjM4MzUzNTIuMDMxNjQwNSwgMjM0MTgsIDEuMTA0ODYzMTY2ODA5MDgyXSwgWzE2NjM4MzUzNTIuMjcwNDQ4MiwgMjM0MzYsIDEuMTM0NTA0Njc1ODY1MTczM10sIFsxNjYzODM1MzUyLjUzMTA5MzQsIDIzNDU0LCAxLjIyMTU4NDA4MTY0OTc4MDNdLCBbMTY2MzgzNTM1Mi42NDkzNzUyLCAyMzQ2MywgMS4xNzYyMDI1MzU2MjkyNzI1XSwgWzE2NjM4MzUzNTMuOTUxNzM0LCAyMzU2MiwgMS4yMDc0MDI0Njc3Mjc2NjExXSwgWzE2NjM4MzUzNTQuMDc5NjY4OCwgMjM1NzEsIDEuMTQzNTY3NTYyMTAzMjcxNV0sIFsxNjYzODM1MzU0LjIxMjE1MTgsIDIzNTgwLCAxLjEyOTExOTYzNDYyODI5Nl0sIFsxNjYzODM1MzU0LjU5OTE4NywgMjM2MDcsIDEuMTQ2OTA3Njg3MTg3MTk0OF0sIFsxNjYzODM1MzU1LjIzNzIyNjcsIDIzNjUyLCAxLjE2NjkzMDQzNzA4ODAxMjddLCBbMTY2MzgzNTM1NS4zNTgyNDQ0LCAyMzY2MSwgMS4xMTIzODMxMjcyMTI1MjQ0XSwgWzE2NjM4MzUzNTYuMTE3ODI1MywgMjM2OTcsIDEuMTc5ODIzNzU2MjE3OTU2NV1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_09-03-21_54c5144e9b50&tag=Loss%2Ftrain":{"data":"W1sxNjYzOTIzODAxLjU0MzI0NDYsIDM2LCAxNzUuMjI3Mzg2NDc0NjA5MzhdLCBbMTY2MzkyMzgwMS42NTE2MjY4LCA0NSwgMTczLjk3ODc0NDUwNjgzNTk0XSwgWzE2NjM5MjM4MDIuMzAyODg2NywgOTksIDE3Mi4yMDQ5MjU1MzcxMDkzOF0sIFsxNjYzOTIzODAyLjc2NjY0OTUsIDEzNSwgMTY2Ljk2NjE1NjAwNTg1OTM4XSwgWzE2NjM5MjM4MDIuODg2MDQwNywgMTQ0LCAxNjYuMTQ5MjMwOTU3MDMxMjVdLCBbMTY2MzkyMzgwMy4yMzAyNDIzLCAxNzEsIDE2NC4xMzI5NDk4MjkxMDE1Nl0sIFsxNjYzOTIzODAzLjM0Mjg0NSwgMTgwLCAxNjUuMjkzNDU3MDMxMjVdLCBbMTY2MzkyMzgwMy40NjAzNzg0LCAxODksIDE2My4yOTk5NTcyNzUzOTA2Ml0sIFsxNjYzOTIzODAzLjY4NDE5MzQsIDIwNywgMTYyLjA0NDAzNjg2NTIzNDM4XSwgWzE2NjM5MjM4MDMuNzk0NzYwMiwgMjE2LCAxNjIuNzY4OTA1NjM5NjQ4NDRdLCBbMTY2MzkyMzgwNC4xMTgzNDM2LCAyNDMsIDE2My41NTE4MTg4NDc2NTYyNV0sIFsxNjYzOTIzODA0LjIyNjg5OCwgMjUyLCAxNTkuOTQ5NzgzMzI1MTk1M10sIFsxNjYzOTIzODA1LjQ5MDMwMDcsIDM1MSwgMTU1LjYxMjM1MDQ2Mzg2NzJdLCBbMTY2MzkyMzgwNS43MTcwODczLCAzNjksIDE1Mi44NDUwMTY0Nzk0OTIyXSwgWzE2NjM5MjM4MDYuNjc0NTk0OSwgNDMyLCAxNTIuMzM3NTI0NDE0MDYyNV0sIFsxNjYzOTIzODA2Ljc5MzU4NTgsIDQ0MSwgMTQ5LjU4NTEyODc4NDE3OTddLCBbMTY2MzkyMzgwNi45MDUwNTk4LCA0NTAsIDE1MC4wMTU4NTM4ODE4MzU5NF0sIFsxNjYzOTIzODA3LjEzNjE4MjMsIDQ2OCwgMTQ5LjQ0MTgzMzQ5NjA5Mzc1XSwgWzE2NjM5MjM4MDcuNDcyNjI0OCwgNDk1LCAxNDguNjI0ODYyNjcwODk4NDRdLCBbMTY2MzkyMzgwNy44Mjc2NzQ5LCA1MjIsIDE0Ni44NzUwOTE1NTI3MzQzOF0sIFsxNjYzOTIzODA4LjE3MzU5MjYsIDU0OSwgMTQ1LjE3ODgzMzAwNzgxMjVdLCBbMTY2MzkyMzgwOC4yNzkwMjk4LCA1NTgsIDE0Ni4zMDY1MTg1NTQ2ODc1XSwgWzE2NjM5MjM4MDguNDAxMjE4NywgNTY3LCAxNDYuNDE3NjAyNTM5MDYyNV0sIFsxNjYzOTIzODA4LjUxODM3MjMsIDU3NiwgMTQ1Ljc2OTE0OTc4MDI3MzQ0XSwgWzE2NjM5MjM4MDguNzQ5MzIyLCA1OTQsIDE0NS41ODAyNDU5NzE2Nzk3XSwgWzE2NjM5MjM4MDguODcxOTUwNCwgNjAzLCAxNDMuODkwMTgyNDk1MTE3Ml0sIFsxNjYzOTIzODA4Ljk5NDkyMjIsIDYxMiwgMTQyLjk5NzAzOTc5NDkyMTg4XSwgWzE2NjM5MjM4MDkuMTEyNDMyNSwgNjIxLCAxNDIuNzk4MTU2NzM4MjgxMjVdLCBbMTY2MzkyMzgwOS4zNTIxNzMsIDYzOSwgMTQwLjM5Njk1NzM5NzQ2MDk0XSwgWzE2NjM5MjM4MDkuNDc0NTk3MiwgNjQ4LCAxNDIuMjgzMjk0Njc3NzM0MzhdLCBbMTY2MzkyMzgxMC4xNDc5MDk0LCA3MDIsIDE0MC4wODI5NDY3NzczNDM3NV0sIFsxNjYzOTIzODEwLjM2NDQ5ODEsIDcyMCwgMTM5LjY2MTM2MTY5NDMzNTk0XSwgWzE2NjM5MjM4MTAuNzA0MzQ3OCwgNzQ3LCAxMzguMDU4MzM0MzUwNTg1OTRdLCBbMTY2MzkyMzgxMS4wMjY4OTk4LCA3NzQsIDEzNi4yNTg0OTkxNDU1MDc4XSwgWzE2NjM5MjM4MTEuNDcwOTkyOCwgODEwLCAxMzUuMDI4NTc5NzExOTE0MDZdLCBbMTY2MzkyMzgxMi41MTg5ODk4LCA5MDAsIDEyOS42NTcwNTg3MTU4MjAzXSwgWzE2NjM5MjM4MTIuOTc5MjMwOSwgOTM2LCAxMzAuMDQ3OTQzMTE1MjM0MzhdLCBbMTY2MzkyMzgxMy4zMTQyMjg4LCA5NjMsIDEyOC40ODUwNDYzODY3MTg3NV0sIFsxNjYzOTIzODEzLjQxNjI0NywgOTcyLCAxMjguMjA0MjIzNjMyODEyNV0sIFsxNjYzOTIzODEzLjYzNDMxNzksIDk5MCwgMTI2LjA5MTI1NTE4Nzk4ODI4XSwgWzE2NjM5MjM4MTQuNDEyNzM5NSwgMTA1MywgMTI1Ljk5NjI1Mzk2NzI4NTE2XSwgWzE2NjM5MjM4MTQuOTg5ODkzNywgMTA5OCwgMTIzLjA3MDU1NjY0MDYyNV0sIFsxNjYzOTIzODE1LjQyMzkxNjMsIDExMzQsIDEyMi42MTY5NzM4NzY5NTMxMl0sIFsxNjYzOTIzODE1LjU0MDI5MDYsIDExNDMsIDEyMi4wMTE3ODc0MTQ1NTA3OF0sIFsxNjYzOTIzODE1Ljc1Mjk0NywgMTE2MSwgMTE5Ljk0NTI3NDM1MzAyNzM0XSwgWzE2NjM5MjM4MTUuOTU1NDAxMiwgMTE3OSwgMTIwLjg3MTc1NzUwNzMyNDIyXSwgWzE2NjM5MjM4MTYuNzcxNzM2MSwgMTIzMywgMTE3LjcxMjc0NTY2NjUwMzldLCBbMTY2MzkyMzgxNi44NzEyNzM4LCAxMjQyLCAxMTUuOTUwMTE5MDE4NTU0NjldLCBbMTY2MzkyMzgxNy42NTA1MDUsIDEzMDUsIDExNS4yMDc5MzE1MTg1NTQ2OV0sIFsxNjYzOTIzODE3Ljg2MDYyNywgMTMyMywgMTE2LjQyNDYxMzk1MjYzNjcyXSwgWzE2NjM5MjM4MTcuOTgzNjEyOCwgMTMzMiwgMTE0Ljk2NzA2MzkwMzgwODZdLCBbMTY2MzkyMzgxOC4zMDI4ODA4LCAxMzU5LCAxMTMuMDExOTA5NDg0ODYzMjhdLCBbMTY2MzkyMzgxOS4wNjMwMDY2LCAxNDIyLCAxMTAuMjQ1MjMxNjI4NDE3OTddLCBbMTY2MzkyMzgxOS4zODE3OTIsIDE0NDksIDEwOS4xODg1Mjk5NjgyNjE3Ml0sIFsxNjYzOTIzODE5LjU3NjAxNDgsIDE0NjcsIDEwNS45NTUzODMzMDA3ODEyNV0sIFsxNjYzOTIzODE5Ljc4MzIwOTMsIDE0ODUsIDEwOC4wMDA3MTcxNjMwODU5NF0sIFsxNjYzOTIzODIwLjM4MzA2MjYsIDE1MzksIDEwNS4zODkxNjAxNTYyNV0sIFsxNjYzOTIzODIwLjQ4MDMwODMsIDE1NDgsIDEwNS4wNzA2NDgxOTMzNTkzOF0sIFsxNjYzOTIzODIwLjU3MTk0NywgMTU1NywgMTAzLjc4OTE1NDA1MjczNDM4XSwgWzE2NjM5MjM4MjEuMDY4NzQ0NCwgMTYwMiwgMTAyLjcxNDQ2OTkwOTY2Nzk3XSwgWzE2NjM5MjM4MjEuNDY5NzcxMSwgMTYzOCwgOTkuODg4NzkzOTQ1MzEyNV0sIFsxNjYzOTIzODIxLjc2MzAyNywgMTY2NSwgOTkuNzI1MDk3NjU2MjVdLCBbMTY2MzkyMzgyMS44NjI4NTE5LCAxNjc0LCA5OS43MTI5ODk4MDcxMjg5XSwgWzE2NjM5MjM4MjEuOTgwMTc0MywgMTY4MywgOTkuNjM5OTAwMjA3NTE5NTNdLCBbMTY2MzkyMzgyMi4zNzQ2NjUzLCAxNzE5LCA5Ni44NTEzODcwMjM5MjU3OF0sIFsxNjYzOTIzODIyLjQ3Njk0NDQsIDE3MjgsIDk2LjExMzUwMjUwMjQ0MTRdLCBbMTY2MzkyMzgyMi42MDA5Mjg4LCAxNzM3LCA5Ni44NDYwMTU5MzAxNzU3OF0sIFsxNjYzOTIzODIzLjM2NjE5MzMsIDE4MDAsIDkzLjkwNDk4MzUyMDUwNzgxXSwgWzE2NjM5MjM4MjMuNjk0NzU3NSwgMTgyNywgOTIuNzc2ODQwMjA5OTYwOTRdLCBbMTY2MzkyMzgyMy43ODcwOTMsIDE4MzYsIDkxLjg4ODU4MDMyMjI2NTYyXSwgWzE2NjM5MjM4MjMuODc2OTM2LCAxODQ1LCA5MS4xNjAxNjM4NzkzOTQ1M10sIFsxNjYzOTIzODIzLjk4MjgwNywgMTg1NCwgOTEuNTQyOTg0MDA4Nzg5MDZdLCBbMTY2MzkyMzgyNC4xOTUxNTgsIDE4NzIsIDkyLjE3NzA3ODI0NzA3MDMxXSwgWzE2NjM5MjM4MjQuNjAwNjMzOSwgMTkwOCwgODguNDU5Mzg4NzMyOTEwMTZdLCBbMTY2MzkyMzgyNC43OTQyNDcyLCAxOTI2LCA4OC4wMTExOTIzMjE3NzczNF0sIFsxNjYzOTIzODI0Ljk4OTU5NDUsIDE5NDQsIDg5LjU1OTI4MDM5NTUwNzgxXSwgWzE2NjM5MjM4MjUuNDgzMzg3LCAxOTgwLCA4Ny40NDYzNjUzNTY0NDUzMV0sIFsxNjYzOTIzODI1LjgwNTgwNiwgMTk4OSwgODcuNzIzMTgyNjc4MjIyNjZdLCBbMTY2MzkyMzgyNS45MjMwNTc2LCAxOTk4LCA4NS43OTUzNzk2Mzg2NzE4OF0sIFsxNjYzOTIzODI2LjI5NzE0OSwgMjAyNSwgODUuODkzOTUxNDE2MDE1NjJdLCBbMTY2MzkyMzgyNi44Mjg0MzAyLCAyMDcwLCA4NS40MTI5MjU3MjAyMTQ4NF0sIFsxNjYzOTIzODI3Ljg0MjMyNDUsIDIxNjAsIDgxLjEzNjIzMDQ2ODc1XSwgWzE2NjM5MjM4MjguMDQwMzE0NCwgMjE3OCwgODAuOTE0MjkxMzgxODM1OTRdLCBbMTY2MzkyMzgyOC40MTY5NzEyLCAyMjA1LCA4MC4xNDYzMzk0MTY1MDM5XSwgWzE2NjM5MjM4MjguNTU2MjcwMSwgMjIxNCwgNzguOTgxMzQ2MTMwMzcxMV0sIFsxNjYzOTIzODI4LjY2ODEzMzcsIDIyMjMsIDc5LjAxODk0Mzc4NjYyMTFdLCBbMTY2MzkyMzgyOS42NTkzMzA4LCAyMjk1LCA3Ny4xNjcxOTgxODExNTIzNF0sIFsxNjYzOTIzODMwLjE1MDgwNDMsIDIzMzEsIDc2LjU2ODg3MDU0NDQzMzZdLCBbMTY2MzkyMzgzMC4yNTE0MjMsIDIzNDAsIDc1LjQwMDgzMzEyOTg4MjgxXSwgWzE2NjM5MjM4MzAuMzQ5MDkzLCAyMzQ5LCA3NS4wNzE2MTcxMjY0NjQ4NF0sIFsxNjYzOTIzODMxLjQ3MjIyMDQsIDI0NDgsIDcyLjgxMzgxOTg4NTI1MzldLCBbMTY2MzkyMzgzMS43Nzc1NzQ1LCAyNDc1LCA3MC44MTkzNTExOTYyODkwNl0sIFsxNjYzOTIzODMyLjAwNDIyMTIsIDI0OTMsIDcwLjE4NTI1Njk1ODAwNzgxXSwgWzE2NjM5MjM4MzIuMjQwNDcyLCAyNTExLCA3MC4xMDc4Nzk2Mzg2NzE4OF0sIFsxNjYzOTIzODMyLjQ1Mjk5NDMsIDI1MjksIDcwLjQwOTc5NzY2ODQ1NzAzXSwgWzE2NjM5MjM4MzIuNjYyNTM3OCwgMjU0NywgNjguOTY1MDQyMTE0MjU3ODFdLCBbMTY2MzkyMzgzMi45NTc1MDAyLCAyNTc0LCA2Ny44MzM0NzMyMDU1NjY0XSwgWzE2NjM5MjM4MzMuMjg5MTA1LCAyNjAxLCA2Ny4zNTgzOTA4MDgxMDU0N10sIFsxNjYzOTIzODMzLjQ5Nzg2MDcsIDI2MTksIDY2Ljg0OTI3MzY4MTY0MDYyXSwgWzE2NjM5MjM4MzQuMDMwNDg1OSwgMjY2NCwgNjYuMTg2NzgyODM2OTE0MDZdLCBbMTY2MzkyMzgzNC4yMzAyNTQ0LCAyNjgyLCA2NC45MTU3NzE0ODQzNzVdLCBbMTY2MzkyMzgzNC4zMjgzOTI3LCAyNjkxLCA2NC4yMjY2MDgyNzYzNjcxOV0sIFsxNjYzOTIzODM1LjM0OTg2OSwgMjc2MywgNjIuNTQ2MDcwMDk4ODc2OTVdLCBbMTY2MzkyMzgzNS41MzgyNzc0LCAyNzgxLCA2MS4yNTg0OTkxNDU1MDc4MV0sIFsxNjYzOTIzODM1LjkzMzcwOTEsIDI4MTcsIDYxLjE0OTg4MzI3MDI2MzY3XSwgWzE2NjM5MjM4MzYuMzY0MzU0NiwgMjg1MywgNTguMDc3MTk0MjEzODY3MTldLCBbMTY2MzkyMzgzNi41Njg2OTk0LCAyODcxLCA1OC42NDM5MzYxNTcyMjY1Nl0sIFsxNjYzOTIzODM2LjY3NDQ3LCAyODgwLCA1Ny45NjEyOTIyNjY4NDU3XSwgWzE2NjM5MjM4MzYuOTc0NzM4OCwgMjkwNywgNTguMDI4OTY4ODExMDM1MTU2XSwgWzE2NjM5MjM4MzguNDUxNTQyOSwgMzA0MiwgNTEuOTgxMDA2NjIyMzE0NDVdLCBbMTY2MzkyMzgzOC41Nzg0MjY2LCAzMDUxLCA1Mi4wMjE2NDA3Nzc1ODc4OV0sIFsxNjYzOTIzODM5LjEwMTA1NDcsIDMwOTYsIDUxLjQwMzMxMjY4MzEwNTQ3XSwgWzE2NjM5MjM4MzkuMzAyMDcsIDMxMTQsIDUxLjEzOTgwODY1NDc4NTE1Nl0sIFsxNjYzOTIzODM5LjQwNDI4NCwgMzEyMywgNDkuNzQxNDU4ODkyODIyMjY2XSwgWzE2NjM5MjM4NDAuMDMxOTg1NSwgMzE3NywgNDguOTY2MzgxMDcyOTk4MDVdLCBbMTY2MzkyMzg0MC4yNTE3OTYyLCAzMTk1LCA0Ny41NDA4Mjg3MDQ4MzM5ODRdLCBbMTY2MzkyMzg0MC42NjgwMTE3LCAzMjMxLCA0Ni4yODk1MDg4MTk1ODAwOF0sIFsxNjYzOTIzODQxLjA3NjMwOTcsIDMyNjcsIDQ1Ljg1NzcyNzA1MDc4MTI1XSwgWzE2NjM5MjM4NDEuMTg5NjcxMywgMzI3NiwgNDUuNTE5NDA1MzY0OTkwMjM0XSwgWzE2NjM5MjM4NDEuMjg4OTc2NywgMzI4NSwgNDUuMjE3MTIxMTI0MjY3NThdLCBbMTY2MzkyMzg0MS4zODUzNjkzLCAzMjk0LCA0NC45MDEwMjc2Nzk0NDMzNl0sIFsxNjYzOTIzODQxLjQ4ODM0NSwgMzMwMywgNDQuOTYzMjYwNjUwNjM0NzY2XSwgWzE2NjM5MjM4NDEuNTg4NzI0LCAzMzEyLCA0NC4zMzM1NTcxMjg5MDYyNV0sIFsxNjYzOTIzODQyLjc4NzkwMDcsIDM0MTEsIDQxLjA0NzMwOTg3NTQ4ODI4XSwgWzE2NjM5MjM4NDMuNjQ1MTI2OCwgMzQ4MywgMzkuNTc3MTA2NDc1ODMwMDhdLCBbMTY2MzkyMzg0NC4wNjM1MDQ1LCAzNTE5LCAzOC45NTM0OTg4NDAzMzIwM10sIFsxNjYzOTIzODQ0LjMyOTQ0NTYsIDM1MzcsIDM4LjIwNzg4MTkyNzQ5MDIzNF0sIFsxNjYzOTIzODQ0Ljc2ODkxMTYsIDM1NTUsIDM3LjcyMzI1NTE1NzQ3MDddLCBbMTY2MzkyMzg0NS4wOTcwNTA3LCAzNTgyLCAzNi4yODkyMjI3MTcyODUxNTZdLCBbMTY2MzkyMzg0NS43MTE5ODQ2LCAzNjI3LCAzNS44MDk0Nzg3NTk3NjU2MjVdLCBbMTY2MzkyMzg0NS45NDYxNDksIDM2NDUsIDM0LjgzMjk2NTg1MDgzMDA4XSwgWzE2NjM5MjM4NDYuNTc1OTM0NCwgMzY5MCwgMzQuMTY0OTUxMzI0NDYyODldLCBbMTY2MzkyMzg0Ni45OTIyMDUsIDM3MjYsIDMyLjgwOTY1MDQyMTE0MjU4XSwgWzE2NjM5MjM4NDcuMDk2MTc1MiwgMzczNSwgMzIuNTU2MzU0NTIyNzA1MDhdLCBbMTY2MzkyMzg0Ny4xOTY5NzcsIDM3NDQsIDMyLjg0MDE5MDg4NzQ1MTE3XSwgWzE2NjM5MjM4NDcuODgyMzc0OCwgMzc5OCwgMzEuNTM4NjAyODI4OTc5NDkyXSwgWzE2NjM5MjM4NDcuOTk4Nzk1MywgMzgwNywgMzAuNjk0NzA0MDU1Nzg2MTMzXSwgWzE2NjM5MjM4NDguMzQzNTQ2NCwgMzgzNCwgMzAuOTkwNTgzNDE5Nzk5ODA1XSwgWzE2NjM5MjM4NDguNDQxODQ3OCwgMzg0MywgMzAuMDc4NjYyODcyMzE0NDUzXSwgWzE2NjM5MjM4NDguODM5ODY1NCwgMzg3OSwgMjkuMzU3NDkyNDQ2ODk5NDE0XSwgWzE2NjM5MjM4NDkuNTM4NjM5MywgMzkyNCwgMjguNzY5MDUyNTA1NDkzMTY0XSwgWzE2NjM5MjM4NDkuODkxNTY3LCAzOTMzLCAyOC4wMjk5Nzk3MDU4MTA1NDddLCBbMTY2MzkyMzg1MC4xMDIzMjExLCAzOTQyLCAyNy45ODg4MzI0NzM3NTQ4ODNdLCBbMTY2MzkyMzg1MC4zMTg1MTUzLCAzOTYwLCAyNy43ODY3MTgzNjg1MzAyNzNdLCBbMTY2MzkyMzg1MC41NzA3NzU3LCAzOTc4LCAyNy4yNDIyNTgwNzE4OTk0MTRdLCBbMTY2MzkyMzg1MC43NjI4NDIyLCAzOTk2LCAyNy4xNjAxODQ4NjAyMjk0OTJdLCBbMTY2MzkyMzg1MC44NjM4NTQ2LCA0MDA1LCAyNi45OTY5ODA2NjcxMTQyNThdLCBbMTY2MzkyMzg1MS4xMDk5NTI0LCA0MDIzLCAyNi4wNjQ0NzQxMDU4MzQ5Nl0sIFsxNjYzOTIzODUxLjU4MDQyMSwgNDA1OSwgMjUuODAwNTU0Mjc1NTEyNjk1XSwgWzE2NjM5MjM4NTEuNzgxNjE4LCA0MDc3LCAyNC44OTQzNjE0OTU5NzE2OF0sIFsxNjYzOTIzODUyLjE2Mjk4NCwgNDExMywgMjQuNjIyODA2NTQ5MDcyMjY2XSwgWzE2NjM5MjM4NTIuNTU0NDEyLCA0MTQ5LCAyMy45MTAyMDIwMjYzNjcxODhdLCBbMTY2MzkyMzg1Mi42NTI2MzMyLCA0MTU4LCAyMy44NDEwNzc4MDQ1NjU0M10sIFsxNjYzOTIzODUzLjAzMTczMjMsIDQxOTQsIDIzLjE3MjkyMDIyNzA1MDc4XSwgWzE2NjM5MjM4NTMuMTMxMjQyLCA0MjAzLCAyMi45OTA4MzEzNzUxMjIwN10sIFsxNjYzOTIzODUzLjMzMDA2NzIsIDQyMjEsIDIyLjY1NTY2MDYyOTI3MjQ2XSwgWzE2NjM5MjM4NTMuNTYyNzg1NiwgNDIzOSwgMjIuNDk4MjkyOTIyOTczNjMzXSwgWzE2NjM5MjM4NTQuMDUwOTUxNywgNDI3NSwgMjIuMDE1MDQ4OTgwNzEyODldLCBbMTY2MzkyMzg1NC4xNTc2NzMxLCA0Mjg0LCAyMi4wNTkxNzE2NzY2MzU3NDJdLCBbMTY2MzkyMzg1NC45NjcyMTU4LCA0MzI5LCAyMC41NzA5MTkwMzY4NjUyMzRdLCBbMTY2MzkyMzg1NS4wODY5NTMsIDQzMzgsIDIwLjYyMDAzODk4NjIwNjA1NV0sIFsxNjYzOTIzODU1LjQzMTc5ODIsIDQzNjUsIDE5Ljk4OTY1MjYzMzY2Njk5Ml0sIFsxNjYzOTIzODU1LjczODk5NDQsIDQzOTIsIDE5Ljg0NDczOTkxMzk0MDQzXSwgWzE2NjM5MjM4NTUuODQwMDY5OCwgNDQwMSwgMTkuODg2ODg2NTk2Njc5Njg4XSwgWzE2NjM5MjM4NTUuOTQzMjg4NiwgNDQxMCwgMTkuNDc1MDk3NjU2MjVdLCBbMTY2MzkyMzg1Ni4xNTM2NzY3LCA0NDI4LCAxOS4zOTA1NTYzMzU0NDkyMl0sIFsxNjYzOTIzODU2LjQ2ODQwNTcsIDQ0NTUsIDE5LjEzMjU2MDcyOTk4MDQ3XSwgWzE2NjM5MjM4NTYuODc4NjExLCA0NDkxLCAxOC4yMzAyOTMyNzM5MjU3OF0sIFsxNjYzOTIzODU3LjMxMTc3NCwgNDUyNywgMTguMzIyNTY1MDc4NzM1MzVdLCBbMTY2MzkyMzg1Ny40MTM3NDE0LCA0NTM2LCAxNy45MTQ2NDQyNDEzMzMwMDhdLCBbMTY2MzkyMzg1OC4wNzU3MjQ2LCA0NTkwLCAxNy4zODg4NzAyMzkyNTc4MTJdLCBbMTY2MzkyMzg1OC4xOTE0Mjk2LCA0NTk5LCAxNy40NTcyMjc3MDY5MDkxOF0sIFsxNjYzOTIzODU4LjMwOTQxMSwgNDYwOCwgMTcuMzQ4MDYwNjA3OTEwMTU2XSwgWzE2NjM5MjM4NTguNDI4NDI5MSwgNDYxNywgMTYuODI4NzQ4NzAzMDAyOTNdLCBbMTY2MzkyMzg1OC41MjkyMjAzLCA0NjI2LCAxNi42MzQyMDY3NzE4NTA1ODZdLCBbMTY2MzkyMzg1OC42NTQzMzg2LCA0NjM1LCAxNi43MzgxMDAwNTE4Nzk4ODNdLCBbMTY2MzkyMzg1OS41MzMxMjY0LCA0NjYyLCAxNi4zMTM5MjY2OTY3NzczNDRdLCBbMTY2MzkyMzg1OS42MzQwOTQ1LCA0NjcxLCAxNi4yMjYzMTA3Mjk5ODA0N10sIFsxNjYzOTIzODU5Ljc3MjQyMzUsIDQ2ODAsIDE1Ljk1NTc3NDMwNzI1MDk3N10sIFsxNjYzOTIzODYxLjkyMjM2NzMsIDQ4MDYsIDE0Ljk5NDkxMjE0NzUyMTk3M10sIFsxNjYzOTIzODYyLjAyNzY5NjYsIDQ4MTUsIDE1LjA2MDU1NTQ1ODA2ODg0OF0sIFsxNjYzOTIzODYyLjI2NzA0LCA0ODMzLCAxNS4yNjcwMTI1OTYxMzAzNzFdLCBbMTY2MzkyMzg2Mi40MTQ3OTA0LCA0ODQyLCAxNC45NjY4NTYwMDI4MDc2MTddLCBbMTY2MzkyMzg2Mi41MjkyMzMyLCA0ODUxLCAxNC42NjY5NTIxMzMxNzg3MTFdLCBbMTY2MzkyMzg2Mi43NTg0ODksIDQ4NjksIDE0LjQyNTkxODU3OTEwMTU2Ml0sIFsxNjYzOTIzODYyLjk1OTQ5NzIsIDQ4ODcsIDE0LjM1MTE0MDAyMjI3NzgzMl0sIFsxNjYzOTIzODYzLjE2OTYyMiwgNDkwNSwgMTQuNTYzMzE2MzQ1MjE0ODQ0XSwgWzE2NjM5MjM4NjMuMzgyNzE5LCA0OTIzLCAxNC4wNTMwMjQyOTE5OTIxODhdLCBbMTY2MzkyMzg2My41MDg3NywgNDkzMiwgMTMuOTcwNDczMjg5NDg5NzQ2XSwgWzE2NjM5MjM4NjMuODg5MTA3MiwgNDk1OSwgMTMuOTgzMDM0MTMzOTExMTMzXSwgWzE2NjM5MjM4NjQuMDc3OTQwMiwgNDk3NywgMTMuNTk0OTA0ODk5NTk3MTY4XSwgWzE2NjM5MjM4NjQuMzY5NzI5LCA1MDA0LCAxMy41OTMxMTE5OTE4ODIzMjRdLCBbMTY2MzkyMzg2NC40Njc0MjI3LCA1MDEzLCAxMy42NzA2MDc1NjY4MzM0OTZdLCBbMTY2MzkyMzg2NS4xNjUzMzE0LCA1MDY3LCAxMy4zNjA3NTc4Mjc3NTg3ODldLCBbMTY2MzkyMzg2NS4yNzc4MTQ2LCA1MDc2LCAxMy4wNjAwOTEwMTg2NzY3NThdLCBbMTY2MzkyMzg2NS40MDQ4NTg4LCA1MDg1LCAxMy4wMzA5OTI1MDc5MzQ1N10sIFsxNjYzOTIzODY2LjA1NzUyMjgsIDUxMjEsIDEyLjk5ODYwMzgyMDgwMDc4MV0sIFsxNjYzOTIzODY2LjM4MzMxNTgsIDUxNDgsIDEyLjgwNTIzNjgxNjQwNjI1XSwgWzE2NjM5MjM4NjYuNjM3ODYxNywgNTE2NiwgMTIuOTM4NDI4ODc4Nzg0MThdLCBbMTY2MzkyMzg2Ni45Mzg0MjQsIDUxOTMsIDEyLjU5OTI2MTI4Mzg3NDUxMl0sIFsxNjYzOTIzODY3LjM4NTg1MTQsIDUyMjksIDEyLjIyMDIxNjc1MTA5ODYzM10sIFsxNjYzOTIzODY3Ljc3ODU4MDIsIDUyNjUsIDEyLjMxOTUzODExNjQ1NTA3OF0sIFsxNjYzOTIzODY3Ljg5MDY1MjQsIDUyNzQsIDEyLjI3ODk2NjkwMzY4NjUyM10sIFsxNjYzOTIzODY4LjI0NjU4NDIsIDUzMDEsIDEyLjA1MzY4ODA0OTMxNjQwNl0sIFsxNjYzOTIzODY4LjQ4ODIwNjEsIDUzMTksIDEyLjI0MzI2MzI0NDYyODkwNl0sIFsxNjYzOTIzODY4LjYwNjE1ODMsIDUzMjgsIDEyLjE3MjgwNTc4NjEzMjgxMl0sIFsxNjYzOTIzODY4LjkzMTM3MzYsIDUzNTUsIDExLjg5MjM5NTAxOTUzMTI1XSwgWzE2NjM5MjM4NjkuMTIwMTU4NCwgNTM3MywgMTEuODM4OTcyMDkxNjc0ODA1XSwgWzE2NjM5MjM4NjkuMzIwMDYyLCA1MzkxLCAxMS45MTM5MzI4MDAyOTI5NjldLCBbMTY2MzkyMzg2OS40NDY5MzI4LCA1NDAwLCAxMS44ODk3MTEzODAwMDQ4ODNdLCBbMTY2MzkyMzg2OS43MzM3OTgsIDU0MjcsIDExLjY0OTQ3MzE5MDMwNzYxN10sIFsxNjYzOTIzODY5LjgzMDEwNzIsIDU0MzYsIDExLjUzMjk0MTgxODIzNzMwNV0sIFsxNjYzOTIzODcwLjM0MTAwODQsIDU0ODEsIDExLjQyMjk2MTIzNTA0NjM4N10sIFsxNjYzOTIzODcwLjg1MTk5NiwgNTUyNiwgMTEuMjk4NTg4NzUyNzQ2NTgyXSwgWzE2NjM5MjM4NzAuOTU3MzE3NiwgNTUzNSwgMTEuMzg4NTcwNzg1NTIyNDYxXSwgWzE2NjM5MjM4NzEuMTc5MTYxNSwgNTU1MywgMTEuMzY5NjAyMjAzMzY5MTRdLCBbMTY2MzkyMzg3MS41OTA1MjQ3LCA1NTg5LCAxMS4yNDc4NDE4MzUwMjE5NzNdLCBbMTY2MzkyMzg3MS43ODgxNDA1LCA1NjA3LCAxMC45NDI5NTMxMDk3NDEyMTFdLCBbMTY2MzkyMzg3MS45MTIyMDk3LCA1NjE2LCAxMS4yMTU0NjE3MzA5NTcwMzFdLCBbMTY2MzkyMzg3Mi4yMTcyMzYzLCA1NjQzLCAxMS4wMzEyOTI5MTUzNDQyMzhdLCBbMTY2MzkyMzg3Mi40MzAxOTQxLCA1NjYxLCAxMS4xMjk1Mzg1MzYwNzE3NzddLCBbMTY2MzkyMzg3Mi41MjAyODg3LCA1NjcwLCAxMS4yMzI1MjQ4NzE4MjYxNzJdLCBbMTY2MzkyMzg3Mi45MDkxNTE4LCA1NzA2LCAxMC45MzExODI4NjEzMjgxMjVdLCBbMTY2MzkyMzg3My4zNDM1NDEsIDU3NDIsIDExLjAwODcwNTEzOTE2MDE1Nl0sIFsxNjYzOTIzODczLjcwOTgwMjksIDU3NjksIDExLjE0MDQ4MjkwMjUyNjg1NV0sIFsxNjYzOTIzODczLjgxMDI1MSwgNTc3OCwgMTAuODAxNzk3ODY2ODIxMjg5XSwgWzE2NjM5MjM4NzMuOTE0MDI3NywgNTc4NywgMTAuODU5NTc5MDg2MzAzNzExXSwgWzE2NjM5MjM4NzQuMDI1MzMxNywgNTc5NiwgMTAuNzM0NDY2NTUyNzM0Mzc1XSwgWzE2NjM5MjM4NzQuMTIwMTc4NywgNTgwNSwgMTAuNzgwNzMzMTA4NTIwNTA4XSwgWzE2NjM5MjM4NzQuNjMwMjcyMiwgNTg1MCwgMTAuODYyMDA0MjgwMDkwMzMyXSwgWzE2NjM5MjM4NzQuODMzMTMxNiwgNTg2OCwgMTAuNjUwMTUzMTYwMDk1MjE1XSwgWzE2NjM5MjM4NzUuMTE3ODU0OCwgNTg3NywgMTAuNzQyMzcyNTEyODE3MzgzXSwgWzE2NjM5MjM4NzUuMzIxMzc2OCwgNTg5NSwgMTAuNTk5NjcyMzE3NTA0ODgzXSwgWzE2NjM5MjM4NzUuNDIzOTczLCA1OTA0LCAxMC42MzM2MzA3NTI1NjM0NzddLCBbMTY2MzkyMzg3NS43MDg4NzE0LCA1OTMxLCAxMC40MzU2MzQ2MTMwMzcxMV0sIFsxNjYzOTIzODc1LjkwNzg3OTgsIDU5NDksIDEwLjYwNTE1OTc1OTUyMTQ4NF0sIFsxNjYzOTIzODc2LjU5MDExOTYsIDYwMTIsIDEwLjUzNjIyNTMxODkwODY5MV0sIFsxNjYzOTIzODc2Ljg5MDA3MiwgNjAzOSwgMTAuMzU4MTQ5NTI4NTAzNDE4XSwgWzE2NjM5MjM4NzcuMzgzNTM5LCA2MDg0LCAxMC40MDA4NjU1NTQ4MDk1N10sIFsxNjYzOTIzODc3LjQ3OTE4MiwgNjA5MywgMTAuMzYxMjM2NTcyMjY1NjI1XSwgWzE2NjM5MjM4NzcuODUzODc5MiwgNjEyOSwgMTAuNDA0Njk4MzcxODg3MjA3XSwgWzE2NjM5MjM4NzguMjUyNjQzOCwgNjE2NSwgMTAuMzUxMTI1NzE3MTYzMDg2XSwgWzE2NjM5MjM4NzguNTQzNjM2MywgNjE5MiwgMTAuMzI4MTI2OTA3MzQ4NjMzXSwgWzE2NjM5MjM4NzkuMDI3ODMzNSwgNjIzNywgMTAuMzA3MzUwMTU4NjkxNDA2XSwgWzE2NjM5MjM4NzkuMjM5NzIxMywgNjI1NSwgMTAuMjcwNDU4MjIxNDM1NTQ3XSwgWzE2NjM5MjM4NzkuNDMzMTQ4NiwgNjI3MywgMTAuMTc4MDEwOTQwNTUxNzU4XSwgWzE2NjM5MjM4NzkuNTI1MDMyLCA2MjgyLCAxMC4yMjcyNTM5MTM4NzkzOTVdLCBbMTY2MzkyMzg3OS43MTMwODA0LCA2MzAwLCAxMC4wOTQzNDc5NTM3OTYzODddLCBbMTY2MzkyMzg4MC4wMDgyNzYyLCA2MzI3LCAxMC4wMzEyNTI4NjEwMjI5NV0sIFsxNjYzOTIzODgwLjMwMjYyNSwgNjM1NCwgMTAuMTYyMjM0MzA2MzM1NDVdLCBbMTY2MzkyMzg4MC44NzQ5MzQsIDYzOTksIDEwLjEwNTkyNTU1OTk5NzU1OV0sIFsxNjYzOTIzODgxLjQzNDA1NzcsIDY0NDQsIDEwLjE0MTM1OTMyOTIyMzYzM10sIFsxNjYzOTIzODgxLjcwODgxNDksIDY0NjIsIDEwLjE2ODgyNDE5NTg2MTgxNl0sIFsxNjYzOTIzODgyLjA2MzU4MzEsIDY0ODksIDkuOTgyNzE3NTE0MDM4MDg2XSwgWzE2NjM5MjM4ODIuMTg0MzUyOSwgNjQ5OCwgMTAuMDM3OTM5MDcxNjU1MjczXSwgWzE2NjM5MjM4ODIuNDA5ODA1NSwgNjUxNiwgOS44NzI3MDA2OTEyMjMxNDVdLCBbMTY2MzkyMzg4Mi42MDU0OTk1LCA2NTM0LCAxMC4wMjAyNzc5NzY5ODk3NDZdLCBbMTY2MzkyMzg4Mi42OTg1MjkyLCA2NTQzLCA5Ljk1NjIxMzk1MTExMDg0XSwgWzE2NjM5MjM4ODIuODgzNzczOCwgNjU2MSwgOS45NzU2MTM1OTQwNTUxNzZdLCBbMTY2MzkyMzg4Mi45OTE1NzIsIDY1NzAsIDkuODI3NDE5MjgxMDA1ODZdLCBbMTY2MzkyMzg4My4yMDI2NDI0LCA2NTg4LCA5Ljk4NTU3NTY3NTk2NDM1NV0sIFsxNjYzOTIzODgzLjMwNjM4MSwgNjU5NywgOS44NzAwNjM3ODE3MzgyODFdLCBbMTY2MzkyMzg4My40MDU2NjkyLCA2NjA2LCA5Ljg4MzgyMjQ0MTEwMTA3NF0sIFsxNjYzOTIzODg0LjE0MTg1NTcsIDY2NTEsIDkuODU1NTQ1OTk3NjE5NjI5XSwgWzE2NjM5MjM4ODQuNTQ2NzEzLCA2Njg3LCA5LjkxNTQ2ODIxNTk0MjM4M10sIFsxNjYzOTIzODg0Ljc0MjM1OTYsIDY3MDUsIDkuODM0MDUwMTc4NTI3ODMyXSwgWzE2NjM5MjM4ODUuOTQ0ODU3MSwgNjgxMywgOS43ODk5Njg0OTA2MDA1ODZdLCBbMTY2MzkyMzg4Ni4xNTExODg5LCA2ODMxLCA5LjY4Mjc2NTAwNzAxOTA0M10sIFsxNjYzOTIzODg2Ljg3Mzc4NDgsIDY4ODUsIDkuNzUyMDczMjg3OTYzODY3XSwgWzE2NjM5MjM4ODYuOTY2MDQ3LCA2ODk0LCA5LjU4NjIyMzYwMjI5NDkyMl0sIFsxNjYzOTIzODg3LjMyNjA5OTYsIDY5MjEsIDkuNDk0MzI2NTkxNDkxN10sIFsxNjYzOTIzODg3LjQ0Mjg1NzcsIDY5MzAsIDkuNTU1MTUxOTM5MzkyMDldLCBbMTY2MzkyMzg4Ny43ODQzODU0LCA2OTU3LCA5LjY2MzA3NTQ0NzA4MjUyXSwgWzE2NjM5MjM4ODguMTIwMDkyMiwgNjk4NCwgOS43NDc5MDc2Mzg1NDk4MDVdLCBbMTY2MzkyMzg4OC4yMjIxNjMsIDY5OTMsIDkuNzA5MjU2MTcyMTgwMTc2XSwgWzE2NjM5MjM4ODguNDQ3NTM0MywgNzAxMSwgOS42NDI5ODgyMDQ5NTYwNTVdLCBbMTY2MzkyMzg4OC41NjE3ODE0LCA3MDIwLCA5LjQ2OTUzMDEwNTU5MDgyXSwgWzE2NjM5MjM4ODguNjczMjAxLCA3MDI5LCA5LjQ2ODE2MjUzNjYyMTA5NF0sIFsxNjYzOTIzODg4Ljc5OTU0LCA3MDM4LCA5LjQxOTE5MDQwNjc5OTMxNl0sIFsxNjYzOTIzODg4LjkyNDg2NDgsIDcwNDcsIDkuNDY0NDQ0MTYwNDYxNDI2XSwgWzE2NjM5MjM4ODkuNjQ2NDg4NywgNzEwMSwgOS40ODQ1MzUyMTcyODUxNTZdLCBbMTY2MzkyMzg4OS45Nzg5MDczLCA3MTI4LCA5LjU0Njg3ODgxNDY5NzI2Nl0sIFsxNjYzOTIzODkxLjM5MjU3MiwgNzI0NSwgOS40MTEzMzIxMzA0MzIxMjldLCBbMTY2MzkyMzg5MS41MDM1NDI0LCA3MjU0LCA5LjQyMzM5OTkyNTIzMTkzNF0sIFsxNjYzOTIzODkxLjYwNDYxLCA3MjYzLCA5LjM1MDUxMjUwNDU3NzYzN10sIFsxNjYzOTIzODkxLjcwNDg3NjcsIDcyNzIsIDkuMzY4MTcwNzM4MjIwMjE1XSwgWzE2NjM5MjM4OTIuMDIzMTk2LCA3Mjk5LCA5LjI4OTgyOTI1NDE1MDM5XSwgWzE2NjM5MjM4OTIuODc0MTM5MywgNzM3MSwgOS4yODQxNzExMDQ0MzExNTJdLCBbMTY2MzkyMzg5Mi45NjU5Nzk4LCA3MzgwLCA5LjI4NTk0ODc1MzM1NjkzNF0sIFsxNjYzOTIzODk0LjA0NzY3MTgsIDc0NTIsIDkuMjE1ODA4ODY4NDA4MjAzXSwgWzE2NjM5MjM4OTQuMTU3MTg2MywgNzQ2MSwgOS4wNzIxMDYzNjEzODkxNl0sIFsxNjYzOTIzODk0LjYzMTg4NSwgNzQ5NywgOS4yMjQzNjQyODA3MDA2ODRdLCBbMTY2MzkyMzg5NC43NDM1MiwgNzUwNiwgOS4wMzAwNzIyMTIyMTkyMzhdLCBbMTY2MzkyMzg5NC45NjUyODg5LCA3NTI0LCA5LjE0ODY1MDE2OTM3MjU1OV0sIFsxNjYzOTIzODk1LjA4MTA1MywgNzUzMywgOS4yNDAwNTUwODQyMjg1MTZdLCBbMTY2MzkyMzg5NS40MTU1OTQ2LCA3NTYwLCA5LjAzOTAwNzE4Njg4OTY0OF0sIFsxNjYzOTIzODk1LjUyODgwNzQsIDc1NjksIDkuMDE0NTQ4MzAxNjk2Nzc3XSwgWzE2NjM5MjM4OTUuODYxOTQ4MywgNzU5NiwgOS4wNzc3MDgyNDQzMjM3M10sIFsxNjYzOTIzODk2LjA5MTQ4NCwgNzYxNCwgOS4wODczMjc5NTcxNTMzMl0sIFsxNjYzOTIzODk2LjcxMTU2MzMsIDc2NTksIDkuMTI1MTYxMTcwOTU5NDczXSwgWzE2NjM5MjM4OTYuODI5MjM0LCA3NjY4LCA4Ljk1MDk0MTA4NTgxNTQzXSwgWzE2NjM5MjM4OTcuMTQxMDk1NiwgNzY5NSwgOC44OTczODI3MzYyMDYwNTVdLCBbMTY2MzkyMzg5Ny40NzI4MzQsIDc3MjIsIDguOTc4MjYyOTAxMzA2MTUyXSwgWzE2NjM5MjM4OTcuODAzNjU2MywgNzc0OSwgOC44OTc4NTg2MTk2ODk5NDFdLCBbMTY2MzkyMzg5OC4wMTU3OTQ1LCA3NzY3LCA4Ljg3NTg4OTc3ODEzNzIwN10sIFsxNjYzOTIzODk4LjM2MjA3OSwgNzc5NCwgOC44NzgzMTMwNjQ1NzUxOTVdLCBbMTY2MzkyMzg5OC40NzE2MSwgNzgwMywgOC44MjI4OTUwNTAwNDg4MjhdLCBbMTY2MzkyMzg5OC44NzU4NDksIDc4MzksIDguNzg4OTc1NzE1NjM3MjA3XSwgWzE2NjM5MjM4OTguOTc5OTM1NiwgNzg0OCwgOC44NDc2NjI5MjU3MjAyMTVdLCBbMTY2MzkyMzkwMC4zNTQ2NTUsIDc5NjUsIDguNTQzMDczNjU0MTc0ODA1XSwgWzE2NjM5MjM5MDAuNTY0OTg2MiwgNzk4MywgOC43MzY1ODQ2NjMzOTExMTNdLCBbMTY2MzkyMzkwMC45NTg5NTMsIDgwMTksIDguNTkyMDUxNTA2MDQyNDhdLCBbMTY2MzkyMzkwMS4yMDk3NTk3LCA4MDM3LCA4LjUwODg5Mzk2NjY3NDgwNV0sIFsxNjYzOTIzOTAxLjU1OTYyMSwgODA2NCwgOC41NDk4NDQ3NDE4MjEyODldLCBbMTY2MzkyMzkwMS43NzM5MTcyLCA4MDgyLCA4LjU0MDE0ODczNTA0NjM4N10sIFsxNjYzOTIzOTAxLjg3NTc1NTgsIDgwOTEsIDguNDcxNDY3MDE4MTI3NDQxXSwgWzE2NjM5MjM5MDIuMTc4MjczNCwgODExOCwgOC4zNzE4MzY2NjIyOTI0OF0sIFsxNjYzOTIzOTAyLjI4NjcwOCwgODEyNywgOC40MjI5MzczOTMxODg0NzddLCBbMTY2MzkyMzkwMi43OTYzOTUsIDgxNzIsIDguNDM5NTUxMzUzNDU0NTldLCBbMTY2MzkyMzkwMi44OTY4MjcsIDgxODEsIDguMzUxMTY2NzI1MTU4NjkxXSwgWzE2NjM5MjM5MDMuMDk1ODg5MywgODE5OSwgOC4zNTgzNjY5NjYyNDc1NTldLCBbMTY2MzkyMzkwMy4yMDE3MDAyLCA4MjA4LCA4LjMyMjI4NTY1MjE2MDY0NV0sIFsxNjYzOTIzOTAzLjcxMzk2NzYsIDgyMzUsIDguMjk4MTY3MjI4Njk4NzNdLCBbMTY2MzkyMzkwNC4xMjQ3OTU0LCA4MjcxLCA4LjE2ODY3MzUxNTMxOTgyNF0sIFsxNjYzOTIzOTA0LjIzMDg3LCA4MjgwLCA4LjE4NDIyNTA4MjM5NzQ2MV0sIFsxNjYzOTIzOTA0LjQ1MDc4NzMsIDgyOTgsIDguMjE4NjQyMjM0ODAyMjQ2XSwgWzE2NjM5MjM5MDUuMTQwNTg5NywgODM2MSwgOC4xMjM5NDQyODI1MzE3MzhdLCBbMTY2MzkyMzkwNS40MDI1OTkzLCA4Mzc5LCA4LjEzMzk5MzE0ODgwMzcxMV0sIFsxNjYzOTIzOTA1LjUxNjA3NDcsIDgzODgsIDcuOTk2MTMxODk2OTcyNjU2XSwgWzE2NjM5MjM5MDUuNjIwNTA4NCwgODM5NywgOC4wMjI5MjA2MDg1MjA1MDhdLCBbMTY2MzkyMzkwNi4zNTkyOTIzLCA4NDYwLCA4LjAxOTAzMzQzMjAwNjgzNl0sIFsxNjYzOTIzOTA2LjY3NDM1NCwgODQ4NywgNy44OTQ2MjQyMzMyNDU4NV0sIFsxNjYzOTIzOTA3LjAwNTk2MDcsIDg1MTQsIDcuOTg1OTgwNTEwNzExNjddLCBbMTY2MzkyMzkwNy40MTUyMzE3LCA4NTUwLCA3Ljg5NTExNjMyOTE5MzExNV0sIFsxNjYzOTIzOTA3LjczMTI5ODQsIDg1NzcsIDcuODU5NDgxODExNTIzNDM3NV0sIFsxNjYzOTIzOTA4LjAyNzQ4NjMsIDg2MDQsIDcuODQ3MTMwMjk4NjE0NTAyXSwgWzE2NjM5MjM5MDguNTUzMTU1NywgODY0OSwgNy43MDI2Mjc2NTg4NDM5OTRdLCBbMTY2MzkyMzkwOC44NzcwNzgsIDg2NzYsIDcuNzY4Mjg5MDg5MjAyODgxXSwgWzE2NjM5MjM5MDkuMTEwNzE3MywgODY5NCwgNy43MjMxMzMwODcxNTgyMDNdLCBbMTY2MzkyMzkwOS4zMjQ3NTY2LCA4NzEyLCA3LjcxOTM3ODk0ODIxMTY3XSwgWzE2NjM5MjM5MDkuNDI3ODEwNywgODcyMSwgNy43ODA2MzcyNjQyNTE3MDldLCBbMTY2MzkyMzkxMC42NTQ4MzU3LCA4ODExLCA3LjU3NDA0NDIyNzYwMDA5OF0sIFsxNjYzOTIzOTEwLjc1ODU3MzMsIDg4MjAsIDcuNTY2NjYxMzU3ODc5NjM5XSwgWzE2NjM5MjM5MTEuMDcyNTA5MywgODg0NywgNy42NTM3NDc1NTg1OTM3NV0sIFsxNjYzOTIzOTExLjQ5ODcwMTMsIDg4ODMsIDcuNDkzNzU5NjMyMTEwNTk2XSwgWzE2NjM5MjM5MTEuOTE2NjE3NCwgODkxOSwgNy40NjM0NzQ3NTA1MTg3OTldLCBbMTY2MzkyMzkxMi4xMTIwNTgsIDg5MzcsIDcuNTE4NzgzMDkyNDk4Nzc5XSwgWzE2NjM5MjM5MTIuMzA2MDE2NywgODk1NSwgNy40NTcxMTU2NTAxNzcwMDJdLCBbMTY2MzkyMzkxMi40OTQ2OTksIDg5NzMsIDcuNDc4MzMyNTE5NTMxMjVdLCBbMTY2MzkyMzkxMi44NzAwMDk3LCA4OTkxLCA3LjM3OTk5MDEwMDg2MDU5Nl0sIFsxNjYzOTIzOTEyLjk3NDQ2NCwgOTAwMCwgNy40MDQ4Nzk1NzAwMDczMjRdLCBbMTY2MzkyMzkxMy4yNTg3MDgyLCA5MDI3LCA3LjM0OTQxODY0MDEzNjcxOV0sIFsxNjYzOTIzOTEzLjM1MDI4NywgOTAzNiwgNy40MDI1NzQwNjIzNDc0MTJdLCBbMTY2MzkyMzkxMy40NDcyMjkxLCA5MDQ1LCA3LjQwNDY1NTQ1NjU0Mjk2OV0sIFsxNjYzOTIzOTEzLjYzNTIzODQsIDkwNjMsIDcuMzgwODgyMjYzMTgzNTk0XSwgWzE2NjM5MjM5MTQuMTQzMTg2LCA5MTA4LCA3LjI4ODI4NDc3ODU5NDk3MV0sIFsxNjYzOTIzOTE0LjMzNDg2ODIsIDkxMjYsIDcuMjM2MzI1MjYzOTc3MDUxXSwgWzE2NjM5MjM5MTQuNTI3NjkxNCwgOTE0NCwgNy4yMTkwNDg1MDAwNjEwMzVdLCBbMTY2MzkyMzkxNS4yMDc5MzEsIDkyMDcsIDcuMTUwNDExMTI4OTk3ODAzXSwgWzE2NjM5MjM5MTUuNTk3MTAzNCwgOTI0MywgNy4yMTUwOTM2MTI2NzA4OThdLCBbMTY2MzkyMzkxNS43ODE5Nzg0LCA5MjYxLCA3LjIwMjA1Njg4NDc2NTYyNV0sIFsxNjYzOTIzOTE2LjU4NjIyNiwgOTMyNCwgNy4wMjc3NTcxNjc4MTYxNjJdLCBbMTY2MzkyMzkxNi42ODg0NzE4LCA5MzMzLCA3LjE3OTU1MjA3ODI0NzA3XSwgWzE2NjM5MjM5MTYuNzg1MzUzNywgOTM0MiwgNy4xMjIzMjAxNzUxNzA4OThdLCBbMTY2MzkyMzkxNi44ODUwNjEzLCA5MzUxLCA3LjAzNTUzMTA0NDAwNjM0OF0sIFsxNjYzOTIzOTE2Ljk4NTAyOCwgOTM2MCwgNy4wOTY3NjUwNDEzNTEzMThdLCBbMTY2MzkyMzkxNy40MDM1MTA2LCA5Mzk2LCA3LjA0MjMzMzYwMjkwNTI3M10sIFsxNjYzOTIzOTE3LjcwNTA3NywgOTQyMywgNi45ODQzNDExNDQ1NjE3NjhdLCBbMTY2MzkyMzkxOC43MTQ4MjgzLCA5NTEzLCA2Ljk0NTc5ODg3MzkwMTM2N10sIFsxNjYzOTIzOTE4Ljk0MDIwNjMsIDk1MzEsIDYuNzMxNDUwMDgwODcxNTgyXSwgWzE2NjM5MjM5MTkuMTUxODgzOCwgOTU0OSwgNi43NzIwNjUxNjI2NTg2OTFdLCBbMTY2MzkyMzkxOS4zODc3NTg1LCA5NTY3LCA2LjczODY4ODQ2ODkzMzEwNTVdLCBbMTY2MzkyMzkxOS42OTc3MTE3LCA5NTk0LCA2LjgxMzE1OTQ2NTc4OTc5NV0sIFsxNjYzOTIzOTE5LjkzNjYxNjIsIDk2MTIsIDYuNTkxMDk1NDQ3NTQwMjgzXSwgWzE2NjM5MjM5MjAuMTY5NTMzNSwgOTYzMCwgNi43MjE1ODkwODg0Mzk5NDFdLCBbMTY2MzkyMzkyMC4yODE1OTEsIDk2MzksIDYuNzE5NjYyNjY2MzIwODAxXSwgWzE2NjM5MjM5MjAuNDAwMjkxLCA5NjQ4LCA2LjYyNDM0OTExNzI3OTA1M10sIFsxNjYzOTIzOTIwLjUxODI1MzMsIDk2NTcsIDYuNjMxNTk0MTgxMDYwNzkxXSwgWzE2NjM5MjM5MjAuNjIwNDk5NCwgOTY2NiwgNi42MzI2MjEyODgyOTk1NjA1XSwgWzE2NjM5MjM5MjAuNzIyNTI3NSwgOTY3NSwgNi42ODE0ODA0MDc3MTQ4NDRdLCBbMTY2MzkyMzkyMS4wMjgwODc0LCA5NzAyLCA2LjY0NDE3NDU3NTgwNTY2NF0sIFsxNjYzOTIzOTIxLjM1OTQ4NDQsIDk3MjksIDYuNjEwMTE2NDgxNzgxMDA2XSwgWzE2NjM5MjM5MjIuMTM0MDYxOCwgOTc3NCwgNi41MDI2NTY5MzY2NDU1MDhdLCBbMTY2MzkyMzkyMi4yNjkyMDk2LCA5NzgzLCA2LjU5NTAyNjAxNjIzNTM1Ml0sIFsxNjYzOTIzOTIyLjM5NTQwMSwgOTc5MiwgNi42Nzk0NTA1MTE5MzIzNzNdLCBbMTY2MzkyMzkyMi44ODA3OTcsIDk4MjgsIDYuNTE4OTIyMzI4OTQ4OTc1XSwgWzE2NjM5MjM5MjMuNjExOTAxMywgOTg5MSwgNi40NTY2NjgzNzY5MjI2MDddLCBbMTY2MzkyMzkyMy44MDk4MTMsIDk5MDksIDYuMzQwMzA2NzU4ODgwNjE1XSwgWzE2NjM5MjM5MjQuMDExMTg2MSwgOTkyNywgNi4zNDYyMTA5NTY1NzM0ODZdLCBbMTY2MzkyMzkyNC4xMDkwNDgxLCA5OTM2LCA2LjM1NzI0OTI1OTk0ODczMDVdLCBbMTY2MzkyMzkyNC4yMTE3Mzc0LCA5OTQ1LCA2LjQxNTgzMjA0MjY5NDA5Ml0sIFsxNjYzOTIzOTI0LjUwNDg0ODcsIDk5NzIsIDYuMzk0NTE1MDM3NTM2NjIxXSwgWzE2NjM5MjM5MjQuNzEwMDAxNSwgOTk5MCwgNi4zNzI1NzgxNDQwNzM0ODZdLCBbMTY2MzkyMzkyNC45MDU2NDMsIDEwMDA4LCA2LjM0Nzg2Nzk2NTY5ODI0Ml0sIFsxNjYzOTIzOTI1LjAwMTEwMTcsIDEwMDE3LCA2LjQwOTA2ODEwNzYwNDk4MDVdLCBbMTY2MzkyMzkyNS4yMDc1NzI3LCAxMDAzNSwgNi4zMDQwNjIzNjY0ODU1OTZdLCBbMTY2MzkyMzkyNS44MDk0ODQyLCAxMDA4MCwgNi4yODI0MDgyMzc0NTcyNzVdLCBbMTY2MzkyMzkyNi4wNTYxMzk3LCAxMDA5OCwgNi4zMjMwOTI0NjA2MzIzMjRdLCBbMTY2MzkyMzkyNi4xNzY2MDc4LCAxMDEwNywgNi4zMDc5MDg1MzUwMDM2NjJdLCBbMTY2MzkyMzkyNi40OTYxODM2LCAxMDEzNCwgNi4zMDkxNzczOTg2ODE2NDFdLCBbMTY2MzkyMzkyNi42MTMzNDcsIDEwMTQzLCA2LjMxNzUwMjk3NTQ2Mzg2N10sIFsxNjYzOTIzOTI2Ljg0MTMzOSwgMTAxNjEsIDYuMTMzMjk2NDg5NzE1NTc2XSwgWzE2NjM5MjM5MjYuOTQwNzkxLCAxMDE3MCwgNi4xNjQ3NzkxODYyNDg3NzldLCBbMTY2MzkyMzkyNy4yMzk2ODI3LCAxMDE5NywgNi4yODA5ODk2NDY5MTE2MjFdLCBbMTY2MzkyMzkyNy40NDEzMzg1LCAxMDIxNSwgNi4zODcyMTU2MTQzMTg4NDhdLCBbMTY2MzkyMzkyNy42Mzc1ODI4LCAxMDIzMywgNi4yMjkzNDgxODI2NzgyMjNdLCBbMTY2MzkyMzkyNy45NDE4NTY2LCAxMDI2MCwgNi4yMjAyNzYzNTU3NDM0MDhdLCBbMTY2MzkyMzkyOC42MDk5NDEsIDEwMzIzLCA2LjE3MTYxMDM1NTM3NzE5N10sIFsxNjYzOTIzOTI5LjExNDg0MzQsIDEwMzU5LCA2LjEwNzk3NzM5MDI4OTMwN10sIFsxNjYzOTIzOTI5LjIxODIyMzYsIDEwMzY4LCA2LjA4MDczODA2NzYyNjk1M10sIFsxNjYzOTIzOTI5LjMyMDA2NTcsIDEwMzc3LCA2LjA0NDg2MTMxNjY4MDkwOF0sIFsxNjYzOTIzOTMwLjE2NjE4MTMsIDEwNDQ5LCA2LjE3NjE5NzA1MjAwMTk1M10sIFsxNjYzOTIzOTMwLjQwMjM5NTIsIDEwNDY3LCA2LjE0Mzk3MTkyMDAxMzQyOF0sIFsxNjYzOTIzOTMwLjYyNDg1OTgsIDEwNDg1LCA2LjA1MjkzMDM1NTA3MjAyMTVdLCBbMTY2MzkyMzkzMC45NjIzNTMyLCAxMDUxMiwgNi4wMzgwMTQ0MTE5MjYyNjk1XSwgWzE2NjM5MjM5MzEuNzU3MDUzMSwgMTA1NjYsIDUuOTcwODU5NTI3NTg3ODkxXSwgWzE2NjM5MjM5MzEuODYxNDA1LCAxMDU3NSwgNS45NzIyNDE0MDE2NzIzNjNdLCBbMTY2MzkyMzkzMi4wNjYwODkyLCAxMDU5MywgNS45MjY1MTU1NzkyMjM2MzNdLCBbMTY2MzkyMzkzMi4xNzAwNjEzLCAxMDYwMiwgNS45OTkxMzIxNTYzNzIwN10sIFsxNjYzOTIzOTMyLjI2OTE2NTMsIDEwNjExLCA1LjkwNDQ4OTA0MDM3NDc1Nl0sIFsxNjYzOTIzOTMyLjY3NzM3MjUsIDEwNjQ3LCA1LjkwNDQ3MzMwNDc0ODUzNV0sIFsxNjYzOTIzOTMyLjg4MDkyNjEsIDEwNjY1LCA1LjgyNjgxMDgzNjc5MTk5Ml0sIFsxNjYzOTIzOTMzLjA5MjQ3OTIsIDEwNjgzLCA1Ljg4NjUyNTE1NDExMzc2OTVdLCBbMTY2MzkyMzkzMy4zODQ5Mjg3LCAxMDcxMCwgNS44ODE0OTM1Njg0MjA0MV0sIFsxNjYzOTIzOTMzLjQ4MTkzNzQsIDEwNzE5LCA1Ljg3NjU2MTY0MTY5MzExNV0sIFsxNjYzOTIzOTMzLjc3NzczMjgsIDEwNzQ2LCA1Ljc5MjQ5NzYzNDg4NzY5NV0sIFsxNjYzOTIzOTMzLjg3Njk4NSwgMTA3NTUsIDUuODkzNjY2NzQ0MjMyMTc4XSwgWzE2NjM5MjM5MzQuMTg3ODY2LCAxMDc4MiwgNS43NTA5MjEyNDkzODk2NDhdLCBbMTY2MzkyMzkzNC45ODAzNDM4LCAxMDg1NCwgNS44NDAxOTY2MDk0OTcwN10sIFsxNjYzOTIzOTM1LjEwMjY1NDUsIDEwODYzLCA1LjgwNzMwNTgxMjgzNTY5M10sIFsxNjYzOTIzOTM1LjIzMDg5MzEsIDEwODcyLCA1Ljc2MTQyMTIwMzYxMzI4MV0sIFsxNjYzOTIzOTM1Ljk0MTM3NjQsIDEwOTM1LCA1Ljc0MDcyNjk0Nzc4NDQyNF0sIFsxNjYzOTIzOTM2LjM1ODI1MDEsIDEwOTcxLCA1LjcyMjY4NDM4MzM5MjMzNF0sIFsxNjYzOTIzOTM2Ljg2MDg3OCwgMTEwMTYsIDUuNTgyODIyMzIyODQ1NDU5XSwgWzE2NjM5MjM5MzcuMDY3NjMxMiwgMTEwMzQsIDUuNjIzNDAxMTY1MDA4NTQ1XSwgWzE2NjM5MjM5MzcuNDc5MDU2MSwgMTEwNzAsIDUuNjQ0Mzk2NzgxOTIxMzg3XSwgWzE2NjM5MjM5MzcuNzcxMzM5NCwgMTEwOTcsIDUuNjE4NjE4OTY1MTQ4OTI2XSwgWzE2NjM5MjM5MzguMzczMzgzOCwgMTExNTEsIDUuNTc1MjA1MzI2MDgwMzIyXSwgWzE2NjM5MjM5MzguOTc2MDk1NywgMTEyMDUsIDUuNjAyNDgyMzE4ODc4MTc0XSwgWzE2NjM5MjM5MzkuMTgxMzAwNCwgMTEyMjMsIDUuNTAyMjk4MzU1MTAyNTM5XSwgWzE2NjM5MjM5MzkuNDg2Mzg0OSwgMTEyNTAsIDUuNTQ1MjMyMjk1OTg5OTldLCBbMTY2MzkyMzkzOS41ODE3NzQyLCAxMTI1OSwgNS41NjY4MTA2MDc5MTAxNTZdLCBbMTY2MzkyMzkzOS42NzQwOTQ0LCAxMTI2OCwgNS41NjI0NjA4OTkzNTMwMjddLCBbMTY2MzkyMzkzOS43NzY0OTIsIDExMjc3LCA1LjQzNjYwMjExNTYzMTEwMzVdLCBbMTY2MzkyMzkzOS45ODEwMjc2LCAxMTI5NSwgNS42MzM2NjA3OTMzMDQ0NDNdLCBbMTY2MzkyMzk0MC4xODEwNjIyLCAxMTMxMywgNS40MjYzMDQzNDAzNjI1NDldLCBbMTY2MzkyMzk0MC4yNzQ5NjIyLCAxMTMyMiwgNS40Mjc4NDY5MDg1NjkzMzZdLCBbMTY2MzkyMzk0MC43NjI4MDgsIDExMzQ5LCA1LjQ1MjA2ODMyODg1NzQyMl0sIFsxNjYzOTIzOTQwLjg1OTU4MjcsIDExMzU4LCA1LjQ3NzQyMjcxNDIzMzM5OF0sIFsxNjYzOTIzOTQxLjQ3NzUzMSwgMTE0MTIsIDUuNDE0MDQwMDg4NjUzNTY0NV0sIFsxNjYzOTIzOTQxLjg3NzA5LCAxMTQ0OCwgNS40OTgxMDM2MTg2MjE4MjZdLCBbMTY2MzkyMzk0Mi40NTEzNTcxLCAxMTQ5MywgNS4zNjc4MzA3NTMzMjY0MTZdLCBbMTY2MzkyMzk0Mi41NTMxOTIxLCAxMTUwMiwgNS4zMDc5MTcxMTgwNzI1MV0sIFsxNjYzOTIzOTQyLjY1Nzk3ODUsIDExNTExLCA1LjMwMDE2NzU2MDU3NzM5M10sIFsxNjYzOTIzOTQzLjEzNDY0ODgsIDExNTQ3LCA1LjMzOTI5NjgxNzc3OTU0MV0sIFsxNjYzOTIzOTQzLjQ4NDk0NiwgMTE1NzQsIDUuMzE3NTgwMjIzMDgzNDk2XSwgWzE2NjM5MjM5NDQuMDIxODIzLCAxMTYxOSwgNS4yODY5ODQ0NDM2NjQ1NTFdLCBbMTY2MzkyMzk0NC4zNzMzMTg3LCAxMTY0NiwgNS4zMTcwODk1NTc2NDc3MDVdLCBbMTY2MzkyMzk0NC45NTA2MDM3LCAxMTY5MSwgNS4yNDU1NTk2OTIzODI4MTI1XSwgWzE2NjM5MjM5NDUuMDQyNzA1MywgMTE3MDAsIDUuMzM1ODAzNTA4NzU4NTQ1XSwgWzE2NjM5MjM5NDUuMzQ2MDk3MiwgMTE3MjcsIDUuMTgxNDgyMzE1MDYzNDc3XSwgWzE2NjM5MjM5NDUuNzg5MDQ3NywgMTE3NjMsIDUuMjI0NjEyNzEyODYwMTA3XSwgWzE2NjM5MjM5NDYuMjE0ODYzNSwgMTE3OTksIDUuMTk3MzAwNDM0MTEyNTQ5XSwgWzE2NjM5MjM5NDYuODI5NDcwNCwgMTE4NDQsIDUuMTY4MTM5NDU3NzAyNjM3XSwgWzE2NjM5MjM5NDcuNDY5ODA2NywgMTE4ODksIDUuMTU2NDg4NDE4NTc5MTAyXSwgWzE2NjM5MjM5NDcuNjg3OTAzLCAxMTkwNywgNS4xMTE4NzMxNDk4NzE4MjZdLCBbMTY2MzkyMzk0OC4wMjU2NDc5LCAxMTkzNCwgNS4xNzYyNzAwMDgwODcxNThdLCBbMTY2MzkyMzk0OC4xMjY4NTQ0LCAxMTk0MywgNS4wNjcwNTM3OTQ4NjA4NF0sIFsxNjYzOTIzOTQ4LjM3MDAzNCwgMTE5NjEsIDUuMDM1NzExNzY1Mjg5MzA3XSwgWzE2NjM5MjM5NDkuMjIyODQ1LCAxMjAyNCwgNS4xNjYyNTkyODg3ODc4NDJdLCBbMTY2MzkyMzk1MC40Mjg4NTUyLCAxMjExNCwgNS4wOTY4ODk5NzI2ODY3NjhdLCBbMTY2MzkyMzk1MC43MjA4NDA3LCAxMjE0MSwgNS4wMjk3MzE3NTA0ODgyODFdLCBbMTY2MzkyMzk1MS4xNDQwNDEsIDEyMTc3LCA0LjkyNTkwNjY1ODE3MjYwN10sIFsxNjYzOTIzOTUxLjM2OTUzMjMsIDEyMTk1LCA0Ljk3NTAyOTQ2ODUzNjM3N10sIFsxNjYzOTIzOTUxLjk0Mjk5NjcsIDEyMjQ5LCA0Ljk3MDk5NTQyNjE3Nzk3ODVdLCBbMTY2MzkyMzk1Mi4zMzkzMjIsIDEyMjg1LCA0Ljk5MjIzODUyMTU3NTkyOF0sIFsxNjYzOTIzOTUyLjQzNjc2MDQsIDEyMjk0LCA0Ljk0MDY3MTQ0MzkzOTIwOV0sIFsxNjYzOTIzOTUyLjUzMzY5NzEsIDEyMzAzLCA1LjEyMDY2MTczNTUzNDY2OF0sIFsxNjYzOTIzOTUyLjYzMjA5ODcsIDEyMzEyLCA0Ljk4NTA5OTMxNTY0MzMxMDVdLCBbMTY2MzkyMzk1Mi43MzI4NzA2LCAxMjMyMSwgNC45NDIzNTE4MTgwODQ3MTddLCBbMTY2MzkyMzk1My40MjMyMjgzLCAxMjM4NCwgNC45MjA0NzY5MTM0NTIxNDhdLCBbMTY2MzkyMzk1My41MjEzNTk3LCAxMjM5MywgNC44MjYyMDM4MjMwODk2XSwgWzE2NjM5MjM5NTMuOTczNjMzMywgMTI0MjksIDQuOTA0MjgyMDkzMDQ4MDk2XSwgWzE2NjM5MjM5NTQuNTEwOTU1MywgMTI0NzQsIDQuODg1NTQ5MDY4NDUwOTI4XSwgWzE2NjM5MjM5NTQuNjM0OTc4LCAxMjQ4MywgNC44NTQ3MzU4NTEyODc4NDJdLCBbMTY2MzkyMzk1NS4wMzMwMzEsIDEyNTE5LCA0LjgyOTgyMDYzMjkzNDU3XSwgWzE2NjM5MjM5NTUuMzU2Mzc2MiwgMTI1NDYsIDQuOTYyMzY3NTM0NjM3NDUxXSwgWzE2NjM5MjM5NTUuODEzNDg0LCAxMjU4MiwgNC44MzUwMjA1NDIxNDQ3NzVdLCBbMTY2MzkyMzk1OC4wODc4NzQsIDEyNzYyLCA0LjcwNDE4NTk2MjY3NzAwMl0sIFsxNjYzOTIzOTU4LjU3NDUwMjIsIDEyNzk4LCA0LjgwOTg2ODMzNTcyMzg3N10sIFsxNjYzOTIzOTYwLjA0ODkyMjMsIDEyODg4LCA0LjYwODgzNzEyNzY4NTU0N10sIFsxNjYzOTIzOTYwLjE1MzEyMDMsIDEyODk3LCA0LjY4NzA0MDMyODk3OTQ5Ml0sIFsxNjYzOTIzOTYwLjU5MTkyMDksIDEyOTMzLCA0LjY3OTgzMDA3NDMxMDMwM10sIFsxNjYzOTIzOTYwLjc5MjE3MjIsIDEyOTUxLCA0LjYzNjExOTg0MjUyOTI5N10sIFsxNjYzOTIzOTYwLjkxODYzNzgsIDEyOTYwLCA0LjYyMjIyODE0NTU5OTM2NV0sIFsxNjYzOTIzOTYxLjA0NzkwNjQsIDEyOTY5LCA0Ljc0MjE2NjUxOTE2NTAzOV0sIFsxNjYzOTIzOTYxLjE2NDcxNiwgMTI5NzgsIDQuNTczODE5MTYwNDYxNDI2XSwgWzE2NjM5MjM5NjEuNTI5NDEwNCwgMTMwMDUsIDQuNjAyMDI3NDE2MjI5MjQ4XSwgWzE2NjM5MjM5NjIuMDE5OTc2NCwgMTMwNTAsIDQuNjc1OTUxOTU3NzAyNjM3XSwgWzE2NjM5MjM5NjIuMjM0MTY3LCAxMzA2OCwgNC42NDg2NjczMzU1MTAyNTRdLCBbMTY2MzkyMzk2Mi4zMjkzNjI5LCAxMzA3NywgNC42MjAxMTQzMjY0NzcwNTFdLCBbMTY2MzkyMzk2Mi42Mzk2Njk3LCAxMzEwNCwgNC41NzY5MTE5MjYyNjk1MzFdLCBbMTY2MzkyMzk2Mi44MzMxNTIzLCAxMzEyMiwgNC43MTcyMTAyOTI4MTYxNjJdLCBbMTY2MzkyMzk2Mi45Mjk0MjA3LCAxMzEzMSwgNC41MzUzMDY0NTM3MDQ4MzRdLCBbMTY2MzkyMzk2My4xMzgyNDQ5LCAxMzE0OSwgNC42NDY0NTM4NTc0MjE4NzVdLCBbMTY2MzkyMzk2My4yMzc2Mzg3LCAxMzE1OCwgNC41MjAyOTU2MTk5NjQ2XSwgWzE2NjM5MjM5NjQuMTYwMTg0LCAxMzIzOSwgNC41MzAxNTg1MTk3NDQ4NzNdLCBbMTY2MzkyMzk2NC40ODczNjEsIDEzMjY2LCA0LjY0NjAwMTMzODk1ODc0XSwgWzE2NjM5MjM5NjQuNTkxNTI3MiwgMTMyNzUsIDQuNTI4NjI5MzAyOTc4NTE2XSwgWzE2NjM5MjM5NjQuNzkxNTg2NiwgMTMyOTMsIDQuNjE4MTE1NDI1MTA5ODYzXSwgWzE2NjM5MjM5NjUuNTY0MzQ2NiwgMTMzNTYsIDQuNDgzMzc1NTQ5MzE2NDA2XSwgWzE2NjM5MjM5NjUuOTQ3OTcwOSwgMTMzOTIsIDQuNDc1NjY3OTUzNDkxMjExXSwgWzE2NjM5MjM5NjYuMjYyMDQ4LCAxMzQxOSwgNC40NDEyODk5MDE3MzMzOThdLCBbMTY2MzkyMzk2Ni41OTY4OTI0LCAxMzQ0NiwgNC40NzQ5MTQ1NTA3ODEyNV0sIFsxNjYzOTIzOTY2LjcwNTU5MDcsIDEzNDU1LCA0LjQ5NDgxNjc4MDA5MDMzMl0sIFsxNjYzOTIzOTY3LjE3NDMzNDMsIDEzNDkxLCA0LjQzNzgwNjEyOTQ1NTU2Nl0sIFsxNjYzOTIzOTY3LjMwMTczMSwgMTM1MDAsIDQuNTgxNTkxNjA2MTQwMTM3XSwgWzE2NjM5MjM5NjcuNjcwMDcxOCwgMTM1MjcsIDQuNDYzNjU0OTk0OTY0Nl0sIFsxNjYzOTIzOTY4LjM5NDY3MiwgMTM1OTAsIDQuNDg0NTMxODc5NDI1MDQ5XSwgWzE2NjM5MjM5NjguNTAwOTc1LCAxMzU5OSwgNC4zNjA1NjYxMzkyMjExOTFdLCBbMTY2MzkyMzk2OC41OTM5NjMxLCAxMzYwOCwgNC40NTI4Nzk0Mjg4NjM1MjVdLCBbMTY2MzkyMzk2OC43OTAwMDcsIDEzNjI2LCA0LjM1ODM4MTc0ODE5OTQ2M10sIFsxNjYzOTIzOTY4Ljk4ODczOSwgMTM2NDQsIDQuMzE3MzA0MTM0MzY4ODk2NV0sIFsxNjYzOTIzOTY5LjA5OTI3NTgsIDEzNjUzLCA0LjQxMTM1OTMxMDE1MDE0NjVdLCBbMTY2MzkyMzk2OS45OTIyNDczLCAxMzcxNiwgNC4zMTYwOTU4MjkwMTAwMV0sIFsxNjYzOTIzOTcwLjQ4MDU2MiwgMTM3NjEsIDQuMzAxMDM4NzQyMDY1NDNdLCBbMTY2MzkyMzk3MS4wNjQwNzkzLCAxMzgxNSwgNC4yNTQ5ODcyMzk4Mzc2NDY1XSwgWzE2NjM5MjM5NzEuMzU5ODQ3MywgMTM4NDIsIDQuMjI2OTc1NDQwOTc5MDA0XSwgWzE2NjM5MjM5NzEuNDYyMjc5LCAxMzg1MSwgNC4zMDAwODU1NDQ1ODYxODJdLCBbMTY2MzkyMzk3MS44MTk4NzgsIDEzODc4LCA0LjMyOTI3MzIyMzg3Njk1M10sIFsxNjYzOTIzOTcyLjQ4NzIyODYsIDEzOTQxLCA0LjMxMjg3NDc5NDAwNjM0OF0sIFsxNjYzOTIzOTcyLjc2NzU3ODgsIDEzOTY4LCA0LjMzOTU4MjQ0MzIzNzMwNV0sIFsxNjYzOTIzOTcyLjg1OTU5MjcsIDEzOTc3LCA0LjI4NTc3NTE4NDYzMTM0OF0sIFsxNjYzOTIzOTcyLjk1NTQ5MzcsIDEzOTg2LCA0LjI1NzQ4MjUyODY4NjUyM10sIFsxNjYzOTIzOTczLjkwMDA2NzYsIDE0MDY3LCA0LjI1OTk5NDAyOTk5ODc3OV0sIFsxNjYzOTIzOTc0LjIwNzI1OSwgMTQwOTQsIDQuMjQ4MzQyNTE0MDM4MDg2XSwgWzE2NjM5MjM5NzQuMzA5NjIzNywgMTQxMDMsIDQuMjEwNzkwNjM0MTU1MjczXSwgWzE2NjM5MjM5NzQuNTAwMDY1OCwgMTQxMjEsIDQuMTczMTYyOTM3MTY0MzA3XSwgWzE2NjM5MjM5NzQuNzkzMjc1OCwgMTQxNDgsIDQuMjc3NzY2NzA0NTU5MzI2XSwgWzE2NjM5MjM5NzQuOTA1MDIwNywgMTQxNTcsIDQuMTY4ODUxMzc1NTc5ODM0XSwgWzE2NjM5MjM5NzUuMDAzMjI0NiwgMTQxNjYsIDQuMjQzMjk5NDg0MjUyOTNdLCBbMTY2MzkyMzk3NS4zMTY4NTUyLCAxNDE5MywgNC4xODc0MzUxNTAxNDY0ODRdLCBbMTY2MzkyMzk3NS43MzY1NjgsIDE0MjI5LCA0LjEzOTQzMDUyMjkxODcwMV0sIFsxNjYzOTIzOTc2LjIyMjc4MzMsIDE0Mjc0LCA0LjEyNzcxODkyNTQ3NjA3NF0sIFsxNjYzOTIzOTc3LjE4MjE1NTQsIDE0MzY0LCA0LjExNzM5NDQ0NzMyNjY2XSwgWzE2NjM5MjM5NzcuMjc4MTc2LCAxNDM3MywgNC4wODcxNzAxMjQwNTM5NTVdLCBbMTY2MzkyMzk3Ny4zNjg5MzQyLCAxNDM4MiwgNC4xMjA2NzQxMzMzMDA3ODFdLCBbMTY2MzkyMzk3Ny43NzQ0MzUsIDE0NDE4LCAzLjk1Mzk4NjY0NDc0NDg3M10sIFsxNjYzOTIzOTc3Ljg3MDUzOTIsIDE0NDI3LCA0LjA2MDM0MDQwNDUxMDQ5OF0sIFsxNjYzOTIzOTc4LjE2NTE0MiwgMTQ0MzYsIDQuMDkyNDk4MzAyNDU5NzE3XSwgWzE2NjM5MjM5NzguOTcxMDI4MywgMTQ1MDgsIDQuMDU0NTMxNTc0MjQ5MjY4XSwgWzE2NjM5MjM5NzkuMjkzMjQxMywgMTQ1MzUsIDMuOTkxMTY5NjkxMDg1ODE1NF0sIFsxNjYzOTIzOTgwLjQxNjMyMDgsIDE0NjI1LCA0LjA0NzUxMTEwMDc2OTA0M10sIFsxNjYzOTIzOTgwLjcyODY2NzcsIDE0NjUyLCAzLjkzMjM4OTczNjE3NTUzN10sIFsxNjYzOTIzOTgxLjEyOTM2NTQsIDE0Njg4LCAzLjg1NTc2MDMzNTkyMjI0MV0sIFsxNjYzOTIzOTgxLjU0OTI1MTMsIDE0NzI0LCAzLjkyMDkwNTgyODQ3NTk1Ml0sIFsxNjYzOTIzOTgxLjc3NDYzOTYsIDE0NzQyLCAzLjg2MjA2Njc0NTc1ODA1NjZdLCBbMTY2MzkyMzk4Mi4wNzQ4MjI0LCAxNDc2OSwgMy44NTI4MzE2MDIwOTY1NTc2XSwgWzE2NjM5MjM5ODIuMTc0NTI3MiwgMTQ3NzgsIDMuODk0OTQ3NzY3MjU3NjkwNF0sIFsxNjYzOTIzOTgyLjY4MjQ3OTYsIDE0ODIzLCAzLjg5MzkxNDIyMjcxNzI4NV0sIFsxNjYzOTIzOTgyLjc5NDk1MTcsIDE0ODMyLCAzLjkwNzAyMjIzNzc3NzcxXSwgWzE2NjM5MjM5ODMuMjU5MDI1OCwgMTQ4NjgsIDMuODUzMDE0MjMwNzI4MTQ5NF0sIFsxNjYzOTIzOTgzLjM2MjcxMzgsIDE0ODc3LCAzLjc5NjgzOTk1MjQ2ODg3Ml0sIFsxNjYzOTIzOTgzLjQ2NDc1OSwgMTQ4ODYsIDMuODkzMTI2NDg3NzMxOTMzNl0sIFsxNjYzOTIzOTgzLjU2NTEzNzQsIDE0ODk1LCAzLjg1NjM1MzUyMTM0NzA0Nl0sIFsxNjYzOTIzOTgzLjc1OTI2NTQsIDE0OTEzLCAzLjc5NDQxNzE0Mjg2ODA0Ml0sIFsxNjYzOTIzOTg0LjM3NjIzNjQsIDE0OTY3LCAzLjczMjA4NzM3MzczMzUyMDVdLCBbMTY2MzkyMzk4NC44MzQ2NTQ4LCAxNTAwMywgMy43MDY5MzI3ODMxMjY4MzFdLCBbMTY2MzkyMzk4NS4zMDU2NDAyLCAxNTAzOSwgMy43MDY0ODc4OTQwNTgyMjc1XSwgWzE2NjM5MjM5ODUuNzc2OTU2NiwgMTUwNzUsIDMuNzAzNTIxMjUxNjc4NDY3XSwgWzE2NjM5MjM5ODYuMTQwODUsIDE1MTAyLCAzLjcwMzMzMzM3NzgzODEzNDhdLCBbMTY2MzkyMzk4Ni4zNDIwNDI0LCAxNTEyMCwgMy43NzA0MDUwNTQwOTI0MDcyXSwgWzE2NjM5MjM5ODYuOTI4ODA3NywgMTUxNzQsIDMuNjgxMjE0MDk0MTYxOTg3M10sIFsxNjYzOTIzOTg3LjAzMTU1NjYsIDE1MTgzLCAzLjY3MTUyNTk1NTIwMDE5NTNdLCBbMTY2MzkyMzk4Ny4xMjU2NjM1LCAxNTE5MiwgMy42NzU3NzQ4MTI2OTgzNjQzXSwgWzE2NjM5MjM5ODcuMjMwNzY2OCwgMTUyMDEsIDMuNzU0NTM5NDg5NzQ2MDkzOF0sIFsxNjYzOTIzOTg3Ljk2MjY0NSwgMTUyNDYsIDMuNjI4NjY0MDE2NzIzNjMzXSwgWzE2NjM5MjM5ODguMDY3Mjg2NSwgMTUyNTUsIDMuNjYxMDg1ODQ0MDM5OTE3XSwgWzE2NjM5MjM5ODguMTY5MDA1MiwgMTUyNjQsIDMuNzE1MDM1Njc2OTU2MTc2OF0sIFsxNjYzOTIzOTg4LjY0OTY1NiwgMTUzMDAsIDMuNjQyMTUzNzM5OTI5MTk5XSwgWzE2NjM5MjM5ODkuMDAwMTg5NSwgMTUzMjcsIDMuNjU3OTYxNjA2OTc5MzddLCBbMTY2MzkyMzk4OS4yMzQ2NzQyLCAxNTM0NSwgMy41NTYxODgxMDY1MzY4NjUyXSwgWzE2NjM5MjM5ODkuNTYxNDMxNiwgMTUzNzIsIDMuNTM0NzYwNzEzNTc3MjcwNV0sIFsxNjYzOTIzOTg5LjgwNjE1NywgMTUzOTAsIDMuNTgwMDc1OTc5MjMyNzg4XSwgWzE2NjM5MjM5ODkuOTQyNzksIDE1Mzk5LCAzLjYxMTQ1NTY3ODkzOTgxOTNdLCBbMTY2MzkyMzk5MC4wNDI2NTg2LCAxNTQwOCwgMy41NjQ2MDM4MDU1NDE5OTJdLCBbMTY2MzkyMzk5MC4xNTg4MTcsIDE1NDE3LCAzLjU1MjgwMzUxNjM4NzkzOTVdLCBbMTY2MzkyMzk5MC44NDQxMzc0LCAxNTQ3MSwgMy41MTI0NTgzMjQ0MzIzNzNdLCBbMTY2MzkyMzk5MS4zMjA1NzY0LCAxNTUwNywgMy41Nzk4NzUyMzA3ODkxODQ2XSwgWzE2NjM5MjM5OTEuNDM5NDIyNiwgMTU1MTYsIDMuNDgzOTAyMjE1OTU3NjQxNl0sIFsxNjYzOTIzOTkxLjU0NDI0NDgsIDE1NTI1LCAzLjQ1MzAwMTQ5OTE3NjAyNTRdLCBbMTY2MzkyMzk5MS42NTE5NzA0LCAxNTUzNCwgMy40OTA3ODc5ODI5NDA2NzRdLCBbMTY2MzkyMzk5Mi4xNjgxOTU1LCAxNTU3OSwgMy40OTcyMDUwMTg5OTcxOTI0XSwgWzE2NjM5MjM5OTMuMDUyNjQ1MiwgMTU2NTEsIDMuMzYyMDY2OTg0MTc2NjM1N10sIFsxNjYzOTIzOTkzLjE1Nzg0OTYsIDE1NjYwLCAzLjM4NTE0ODUyNTIzODAzN10sIFsxNjYzOTIzOTkzLjYxODQ5NTUsIDE1Njk2LCAzLjI2OTgxNTQ0NDk0NjI4OV0sIFsxNjYzOTIzOTkzLjgzNDAyMzUsIDE1NzE0LCAzLjM1OTk4MzkyMTA1MTAyNTRdLCBbMTY2MzkyMzk5NC4yMDI1MjI1LCAxNTc0MSwgMy4yNjkwMTY1MDQyODc3MTk3XSwgWzE2NjM5MjM5OTQuNDMzMDY1NCwgMTU3NTksIDMuMjQyNTQ3NTEyMDU0NDQzNF0sIFsxNjYzOTIzOTk0Ljc0NjgxODUsIDE1Nzg2LCAzLjI5MDExMTU0MTc0ODA0N10sIFsxNjYzOTIzOTk0Ljg0Njg1MTgsIDE1Nzk1LCAzLjIyMzE4NDM0NzE1MjcxXSwgWzE2NjM5MjM5OTUuNjM1MDY0OCwgMTU4NjcsIDMuMTc2MTA4MTIxODcxOTQ4Ml0sIFsxNjYzOTIzOTk1LjkyMzI4NTIsIDE1ODk0LCAzLjEyNDE2MjQzNTUzMTYxNl0sIFsxNjYzOTIzOTk3LjAxNjY5MDUsIDE1OTg0LCAzLjE1MzAwNTM2MTU1NzAwN10sIFsxNjYzOTIzOTk3LjQyNzAwNzIsIDE2MDAyLCAzLjEzMDExNDc5Mzc3NzQ2Nl0sIFsxNjYzOTIzOTk3Ljc1MTE5NSwgMTYwMjksIDMuMDg0NjgxOTg3NzYyNDUxXSwgWzE2NjM5MjM5OTguMTQ4MDY5NCwgMTYwNjUsIDMuMDM4MzYyOTc5ODg4OTE2XSwgWzE2NjM5MjM5OTguMjUwMjc5MiwgMTYwNzQsIDMuMTAwMTA2MDAwOTAwMjY4Nl0sIFsxNjYzOTIzOTk4LjM0NDgxMywgMTYwODMsIDMuMDMwNzIyNjE4MTAzMDI3M10sIFsxNjYzOTIzOTk4LjY0OTg5NzYsIDE2MTEwLCAzLjA5NzQxNDAxNjcyMzYzM10sIFsxNjYzOTIzOTk4LjkyNDcxOTYsIDE2MTM3LCAzLjA5Nzc2MzUzODM2MDU5NTddLCBbMTY2MzkyMzk5OS4zMjk4NTQ3LCAxNjE3MywgMy4wMjUyMzI3OTE5MDA2MzQ4XSwgWzE2NjM5MjM5OTkuNzM0NjQ2NiwgMTYyMDksIDIuOTYzMDQ1MTIwMjM5MjU4XSwgWzE2NjM5MjM5OTkuOTMxODAyNSwgMTYyMjcsIDMuMDExMTAyMTk5NTU0NDQzNF0sIFsxNjYzOTI0MDAwLjUzOTYxNjgsIDE2MjgxLCAyLjk4NTg5ODQ5NDcyMDQ1OV0sIFsxNjYzOTI0MDAwLjc0ODU4MSwgMTYyOTksIDIuOTczOTE5MTUzMjEzNTAxXSwgWzE2NjM5MjQwMDEuNzg1NTUwOCwgMTYzODAsIDIuOTE1NDAyNDEyNDE0NTUxXSwgWzE2NjM5MjQwMDIuMTkyMDk0MywgMTY0MTYsIDIuOTM1MDcxMjI5OTM0NjkyNF0sIFsxNjYzOTI0MDAyLjU0MTE1ODIsIDE2NDQzLCAyLjkzMTU3OTExMzAwNjU5Ml0sIFsxNjYzOTI0MDAyLjY2NzkwNjgsIDE2NDUyLCAyLjg0NTc0Nzk0NzY5Mjg3MV0sIFsxNjYzOTI0MDAyLjg3ODU0NywgMTY0NzAsIDIuOTIzMjA1MTM3MjUyODA3Nl0sIFsxNjYzOTI0MDAyLjk4MDIxOCwgMTY0NzksIDIuODY1NTU5ODE2MzYwNDczNl0sIFsxNjYzOTI0MDAzLjE2ODM3NDgsIDE2NDk3LCAyLjg4MDI5NDMyMjk2NzUyOTNdLCBbMTY2MzkyNDAwMy42NjAzMzUzLCAxNjUzMywgMi44NjEwNjAzODA5MzU2NjldLCBbMTY2MzkyNDAwMy44NzA5ODM0LCAxNjU1MSwgMi44MTUxOTA3OTIwODM3NDAyXSwgWzE2NjM5MjQwMDQuNTc4MjIxLCAxNjYxNCwgMi44MDA2Mzc3MjIwMTUzODFdLCBbMTY2MzkyNDAwNC42Nzg1NjUsIDE2NjIzLCAyLjgwNDM2MzAxMjMxMzg0MjhdLCBbMTY2MzkyNDAwNC43ODIyODQ3LCAxNjYzMiwgMi44MzQ3Nzc1OTM2MTI2NzFdLCBbMTY2MzkyNDAwNC44ODM5MDQ1LCAxNjY0MSwgMi44NTA2OTM3MDI2OTc3NTRdLCBbMTY2MzkyNDAwNS4xODUxMjU4LCAxNjY2OCwgMi43NTU5MTc3ODc1NTE4OF0sIFsxNjYzOTI0MDA2LjE1Njc3ODMsIDE2NzQ5LCAyLjcyMDcyODM5NzM2OTM4NDhdLCBbMTY2MzkyNDAwNi44NzAxMzgyLCAxNjc5NCwgMi43MzU1NDU4NzM2NDE5Njc4XSwgWzE2NjM5MjQwMDYuOTcwMjYxMywgMTY4MDMsIDIuNjk2NTk0NDc2Njk5ODI5XSwgWzE2NjM5MjQwMDcuMDc0OTk1LCAxNjgxMiwgMi43MDA4NDk1MzMwODEwNTQ3XSwgWzE2NjM5MjQwMDcuNDgxMjA1MiwgMTY4NDgsIDIuNjcyODMyMjUwNTk1MDkyOF0sIFsxNjYzOTI0MDA3LjYwMTIzMiwgMTY4NTcsIDIuNjk0MTYzNzk5Mjg1ODg4N10sIFsxNjYzOTI0MDA3LjgyNzAyMjYsIDE2ODc1LCAyLjcwNDA3Mjk1MjI3MDUwOF0sIFsxNjYzOTI0MDA4LjEzNzMyNzcsIDE2OTAyLCAyLjY3MDM2NjUyNTY1MDAyNDRdLCBbMTY2MzkyNDAwOC40NDQ4MDMsIDE2OTI5LCAyLjY0ODAwOTc3NzA2OTA5Ml0sIFsxNjYzOTI0MDA4Ljc0Nzc1NzIsIDE2OTU2LCAyLjY4NzA1MjcyNjc0NTYwNTVdLCBbMTY2MzkyNDAwOC44NTU1Mjk1LCAxNjk2NSwgMi42MzU1MjkwNDEyOTAyODNdLCBbMTY2MzkyNDAwOS4wNjM2NjY2LCAxNjk4MywgMi42MDIwMDQ3NjY0NjQyMzM0XSwgWzE2NjM5MjQwMDkuMjgwODk2NywgMTcwMDEsIDIuNjE3MzcyMjc0Mzk4ODAzN10sIFsxNjYzOTI0MDA5LjUwMDIxOSwgMTcwMTksIDIuNjI3MTI1MjYzMjE0MTExM10sIFsxNjYzOTI0MDEwLjAzODExLCAxNzA2NCwgMi42MDQyNzE0MTE4OTU3NTJdLCBbMTY2MzkyNDAxMC40NjExNjU0LCAxNzEwMCwgMi41MzU0NjQ1MjUyMjI3NzgzXSwgWzE2NjM5MjQwMTAuNzU5NTUzNCwgMTcxMjcsIDIuNjU1MDA0OTc4MTc5OTMxNl0sIFsxNjYzOTI0MDExLjM0OTEwMzIsIDE3MTgxLCAyLjU0OTk5MzAzODE3NzQ5MDJdLCBbMTY2MzkyNDAxMS40NDg3NTg2LCAxNzE5MCwgMi41MjM1MjczODM4MDQzMjEzXSwgWzE2NjM5MjQwMTEuNTQyNjIzMywgMTcxOTksIDIuNTI4ODQ2MjYzODg1NDk4XSwgWzE2NjM5MjQwMTEuODM3ODU5OSwgMTcyMjYsIDIuNTQ2NjI5OTA1NzAwNjgzNl0sIFsxNjYzOTI0MDEyLjM5NjQxMjQsIDE3MjcxLCAyLjU0Mjc4MDYzNzc0MTA4OV0sIFsxNjYzOTI0MDEzLjAzODUzMTgsIDE3MzI1LCAyLjQ2NjQ0OTk3NTk2NzQwNzJdLCBbMTY2MzkyNDAxMy4xMzM4MzMyLCAxNzMzNCwgMi40ODMzODc5NDcwODI1MTk1XSwgWzE2NjM5MjQwMTMuNTQ4OTE4MiwgMTczNzAsIDIuNDY5MjEzNDg1NzE3NzczNF0sIFsxNjYzOTI0MDE0LjMwNjAzNSwgMTc0MjQsIDIuNDM3OTc5NDU5NzYyNTczMl0sIFsxNjYzOTI0MDE0LjQzNTUzNjEsIDE3NDMzLCAyLjQ1NzgwNDkxODI4OTE4NDZdLCBbMTY2MzkyNDAxNC45MTMzMzA4LCAxNzQ2OSwgMi40MjE0MjYwNTc4MTU1NTE4XSwgWzE2NjM5MjQwMTUuMDI5MDQ2LCAxNzQ3OCwgMi40NjQ1OTU1NTYyNTkxNTUzXSwgWzE2NjM5MjQwMTUuMTQ5NjkwNiwgMTc0ODcsIDIuNDI0Mzc5MTEwMzM2MzAzN10sIFsxNjYzOTI0MDE1LjU0NjMzNCwgMTc1MTQsIDIuNDQ0ODAwMTM4NDczNTEwN10sIFsxNjYzOTI0MDE1Ljc3NzQ3NiwgMTc1MzIsIDIuNDUyNjc5MTU3MjU3MDhdLCBbMTY2MzkyNDAxNi4zMjEyNzI5LCAxNzU1OSwgMi4zOTc2NDU5NTAzMTczODNdLCBbMTY2MzkyNDAxNi42ODQxNDkzLCAxNzU4NiwgMi40MTY2MjUwMjI4ODgxODM2XSwgWzE2NjM5MjQwMTcuMDE0NTYyOCwgMTc2MTMsIDIuMzk0NDM4MDI4MzM1NTcxM10sIFsxNjYzOTI0MDE3LjQzMDE3OTgsIDE3NjQ5LCAyLjM3NDUxNTI5NTAyODY4NjVdLCBbMTY2MzkyNDAxNy41Mjk2MTYsIDE3NjU4LCAyLjM0NTUwNzYyMTc2NTEzNjddLCBbMTY2MzkyNDAxNy42Mjk2NjIzLCAxNzY2NywgMi4zNzY3ODAyNzE1MzAxNTE0XSwgWzE2NjM5MjQwMTcuNzI3OTk0LCAxNzY3NiwgMi4zOTc0NzMwOTY4NDc1MzRdLCBbMTY2MzkyNDAxNy44MjU1MTk2LCAxNzY4NSwgMi4zNzY4NTM3MDQ0NTI1MTQ2XSwgWzE2NjM5MjQwMTguMDg5MDI3MiwgMTc3MDMsIDIuMzQzNzYwMDEzNTgwMzIyM10sIFsxNjYzOTI0MDE4LjIwMjY2OTQsIDE3NzEyLCAyLjM1NDc2MjMxNTc1MDEyMl0sIFsxNjYzOTI0MDE4LjMzMjMyODgsIDE3NzIxLCAyLjM0NzEwOTA3OTM2MDk2Ml0sIFsxNjYzOTI0MDE5LjMxNTI3NSwgMTc4MDIsIDIuMzY2NDI1NzUyNjM5NzcwNV0sIFsxNjYzOTI0MDE5LjU4ODgxMzMsIDE3ODIwLCAyLjM1NzE5ODIzODM3MjgwMjddLCBbMTY2MzkyNDAxOS44MzQzNjczLCAxNzgzOCwgMi4zNDEyNzMzMDc4MDAyOTNdLCBbMTY2MzkyNDAyMC4zMTI3OTIzLCAxNzg3NCwgMi4zMTYxMjMyNDcxNDY2MDY0XSwgWzE2NjM5MjQwMjAuNTcxMTk0LCAxNzg5MiwgMi4zMzU0MzA4NjA1MTk0MDldLCBbMTY2MzkyNDAyMC42NzQxODQ4LCAxNzkwMSwgMi4yOTg4MjI4Nzk3OTEyNTk4XSwgWzE2NjM5MjQwMjAuOTg4MzA3NywgMTc5MjgsIDIuMzMyOTc0MTk1NDgwMzQ2N10sIFsxNjYzOTI0MDIzLjU3MDQ0MTUsIDE4MTYyLCAyLjI3OTQ2NDAwNjQyMzk1XSwgWzE2NjM5MjQwMjMuOTg0NzYzLCAxODE5OCwgMi4yNTUwNjQwMTA2MjAxMTddLCBbMTY2MzkyNDAyNC4wODQ4OTYsIDE4MjA3LCAyLjIxMjE5NjgyNjkzNDgxNDVdLCBbMTY2MzkyNDAyNC40ODE4NzQyLCAxODI0MywgMi4yMDE4OTQ3NjAxMzE4MzZdLCBbMTY2MzkyNDAyNC43MDE2OTkzLCAxODI2MSwgMi4yMTQ5OTk5MTQxNjkzMTE1XSwgWzE2NjM5MjQwMjUuMDEwMzE0NSwgMTgyODgsIDIuMjA5NTI1MzQ2NzU1OTgxNF0sIFsxNjYzOTI0MDI1LjYxMTY1NzYsIDE4MzI0LCAyLjIxODA4OTEwMzY5ODczMDVdLCBbMTY2MzkyNDAyNS43Mjk0ODc0LCAxODMzMywgMi4yMjU0MDQwMjQxMjQxNDU1XSwgWzE2NjM5MjQwMjYuMTI2MjA4MywgMTgzNjksIDIuMTg5MzQwNTkxNDMwNjY0XSwgWzE2NjM5MjQwMjYuNDU5MzE4MiwgMTgzOTYsIDIuMTkxNTg3MjA5NzAxNTM4XSwgWzE2NjM5MjQwMjYuOTMzNzAwNiwgMTg0MzIsIDIuMjE3MzQyODUzNTQ2MTQyNl0sIFsxNjYzOTI0MDI3Ljc3NjE1NzYsIDE4NDk1LCAyLjIwMzc1MzcwOTc5MzA5MV0sIFsxNjYzOTI0MDI3Ljg4NTQyNzcsIDE4NTA0LCAyLjE4ODI1MjQ0OTAzNTY0NDVdLCBbMTY2MzkyNDAyOC4wMDU5NDg4LCAxODUxMywgMi4yMDYzNDM4ODkyMzY0NV0sIFsxNjYzOTI0MDI5LjE3MzY1ODEsIDE4NjEyLCAyLjE1MzM1MTMwNjkxNTI4M10sIFsxNjYzOTI0MDI5LjI5MDEyNywgMTg2MjEsIDIuMTkxNjk4MzEyNzU5Mzk5NF0sIFsxNjYzOTI0MDI5LjQ3NjcxODIsIDE4NjM5LCAyLjE2NjM5Mzk5NTI4NTAzNF0sIFsxNjYzOTI0MDI5Ljg1NDQ2MzgsIDE4Njc1LCAyLjE5MTkyMzM3OTg5ODA3MTNdLCBbMTY2MzkyNDAzMC4zNTA5MzU1LCAxODcyMCwgMi4xMjk4MTQxNDc5NDkyMTg4XSwgWzE2NjM5MjQwMzAuOTUxMDM1LCAxODc2NSwgMi4xNDg0ODkyMzY4MzE2NjVdLCBbMTY2MzkyNDAzMS4xNjM5MDIzLCAxODc4MywgMi4wOTQ1OTM1MjQ5MzI4NjEzXSwgWzE2NjM5MjQwMzEuMjcwMTc1NSwgMTg3OTIsIDIuMTA3NDM3MzcyMjA3NjQxNl0sIFsxNjYzOTI0MDMxLjUwMDM1MjksIDE4ODEwLCAyLjEyMDQyODU2MjE2NDMwNjZdLCBbMTY2MzkyNDAzMS42MDYwNjksIDE4ODE5LCAyLjExMTYzNDAxNjAzNjk4NzNdLCBbMTY2MzkyNDAzMS43MDk2NDM0LCAxODgyOCwgMi4xMzkyMzgxMTkxMjUzNjZdLCBbMTY2MzkyNDAzMi4xMjcwNzE0LCAxODg2NCwgMi4xMjA4MDU5Nzg3NzUwMjQ0XSwgWzE2NjM5MjQwMzIuMzM5OTA0MywgMTg4ODIsIDIuMTE1MjE2NzMyMDI1MTQ2NV0sIFsxNjYzOTI0MDMyLjQ1MTU1NTUsIDE4ODkxLCAyLjA4Mjg1MjEyNTE2Nzg0NjddLCBbMTY2MzkyNDAzMi42NTYyMjIsIDE4OTA5LCAyLjE0NTE5Mjg2MTU1NzAwN10sIFsxNjYzOTI0MDMyLjk2NjE5MDgsIDE4OTM2LCAyLjEyNTk4NTE0NTU2ODg0NzddLCBbMTY2MzkyNDAzMy4xNzc1NjQsIDE4OTU0LCAyLjA3MTc4OTI2NDY3ODk1NV0sIFsxNjYzOTI0MDMzLjU4NzQ4NzUsIDE4OTkwLCAyLjA5MTE5MDgxNDk3MTkyNF0sIFsxNjYzOTI0MDMzLjY4Mzc0NzUsIDE4OTk5LCAyLjEwMzM2NTg5ODEzMjMyNF0sIFsxNjYzOTI0MDM0LjA4NzE4NzgsIDE5MDM1LCAyLjA0NzM4MDY4NTgwNjI3NDRdLCBbMTY2MzkyNDAzNC4xODgwODE1LCAxOTA0NCwgMi4wNDM5MTM2MDI4Mjg5Nzk1XSwgWzE2NjM5MjQwMzQuNjA0ODcyLCAxOTA4MCwgMi4xMDAyNDA0Njg5Nzg4ODJdLCBbMTY2MzkyNDAzNC43MDI2OTc4LCAxOTA4OSwgMi4wODczODExMjQ0OTY0Nl0sIFsxNjYzOTI0MDM1LjE5MDYxODMsIDE5MTE2LCAyLjA4MzU1OTk4OTkyOTE5OV0sIFsxNjYzOTI0MDM1LjI5MTk2MjQsIDE5MTI1LCAyLjAzMTgwNDMyMzE5NjQxMV0sIFsxNjYzOTI0MDM1LjYxNTcwMTQsIDE5MTUyLCAyLjA4MzAyNDc0MDIxOTExNl0sIFsxNjYzOTI0MDM2LjQ3MDkwNjcsIDE5MjI0LCAyLjA0MjI0MDM4MTI0MDg0NDddLCBbMTY2MzkyNDAzNi41NzEzOTE4LCAxOTIzMywgMi4wNjU2MzU2ODExNTIzNDM4XSwgWzE2NjM5MjQwMzYuOTEwMzY0OSwgMTkyNjAsIDIuMDAxNTQxMzc2MTEzODkxNl0sIFsxNjYzOTI0MDM3LjMwMzY2OTUsIDE5Mjk2LCAyLjA2NTAwODE2MzQ1MjE0ODRdLCBbMTY2MzkyNDAzNy45NTc5ODE2LCAxOTM1MCwgMi4wNjgxNDk4MDUwNjg5Njk3XSwgWzE2NjM5MjQwMzguNDYyOTMzNSwgMTkzOTUsIDIuMDI5Mjc4NTE2NzY5NDA5XSwgWzE2NjM5MjQwMzguOTk1MjA1NiwgMTk0NDAsIDIuMDAzNjU5NzI1MTg5MjA5XSwgWzE2NjM5MjQwMzkuMTE4OTM2LCAxOTQ0OSwgMi4wMDQ4NjExMTY0MDkzMDE4XSwgWzE2NjM5MjQwMzkuMzIxNzc0LCAxOTQ2NywgMi4wMjIwOTM1MzQ0Njk2MDQ1XSwgWzE2NjM5MjQwMzkuOTg0NjQwNiwgMTk1MzAsIDIuMDA1MjgyMTYzNjE5OTk1XSwgWzE2NjM5MjQwNDAuNjY1ODc4OCwgMTk1OTMsIDIuMDMwOTk3NTE0NzI0NzMxNF0sIFsxNjYzOTI0MDQxLjcyNzk0OSwgMTk2OTIsIDEuOTkwMzg0NDU5NDk1NTQ0NF0sIFsxNjYzOTI0MDQxLjkzMDU3MzIsIDE5NzEwLCAxLjk2NDQ0NTcxMDE4MjE5XSwgWzE2NjM5MjQwNDIuNDA2ODE0OCwgMTk3NTUsIDEuOTkyMDg4MTk4NjYxODA0Ml0sIFsxNjYzOTI0MDQyLjg5MjA5MzcsIDE5ODAwLCAxLjk4OTU4ODI2MDY1MDYzNDhdLCBbMTY2MzkyNDA0My4wOTgwOTQ3LCAxOTgxOCwgMS45NjM3NTk3Nzk5MzAxMTQ3XSwgWzE2NjM5MjQwNDMuMTk2MDg1NywgMTk4MjcsIDEuOTkyNjA3MjM1OTA4NTA4M10sIFsxNjYzOTI0MDQzLjI5MDgwNTMsIDE5ODM2LCAxLjk1NTA5MzE0NTM3MDQ4MzRdLCBbMTY2MzkyNDA0NC4yMTU3NjI2LCAxOTg5MCwgMS45OTMzNTYxMDg2NjU0NjYzXSwgWzE2NjM5MjQwNDQuNDIxNDIzNCwgMTk5MDgsIDEuOTcyMDIyODkxMDQ0NjE2N10sIFsxNjYzOTI0MDQ0LjUyMzM5MzksIDE5OTE3LCAxLjk1NTkxNzcxNjAyNjMwNjJdLCBbMTY2MzkyNDA0NC43MzQ3MywgMTk5MzUsIDEuOTM0NzUzNzc1NTk2NjE4N10sIFsxNjYzOTI0MDQ0LjgzMzY3MDYsIDE5OTQ0LCAxLjk2OTQwMDQwNTg4Mzc4OV0sIFsxNjYzOTI0MDQ1LjQ1ODA1ODgsIDE5OTk4LCAxLjk0MTEzMjE4Nzg0MzMyMjhdLCBbMTY2MzkyNDA0NS44NTYzMTcsIDIwMDM0LCAxLjk3NTY4MDExMjgzODc0NTFdLCBbMTY2MzkyNDA0Ni4wNTE1NzExLCAyMDA1MiwgMi4wMzA2ODExMzMyNzAyNjM3XSwgWzE2NjM5MjQwNDcuMDY1NTA4MSwgMjAxMzMsIDEuOTI1ODgxOTgxODQ5NjcwNF0sIFsxNjYzOTI0MDQ3LjQ0MTYzMDQsIDIwMTYwLCAxLjk0NDk4NjM0MzM4Mzc4OV0sIFsxNjYzOTI0MDQ3Ljc3MDk5ODIsIDIwMTg3LCAxLjk1OTU4NjI2MjcwMjk0Ml0sIFsxNjYzOTI0MDQ3Ljk3NjIzMDQsIDIwMjA1LCAxLjkwMjQ0NjAzMTU3MDQzNDZdLCBbMTY2MzkyNDA0OS4xNzk4NDYzLCAyMDI5NSwgMS45MTExMTU3NjU1NzE1OTQyXSwgWzE2NjM5MjQwNDkuNTE1MDM5LCAyMDMyMiwgMS45MjI1NzE3NzgyOTc0MjQzXSwgWzE2NjM5MjQwNDkuNjE1NjM3MywgMjAzMzEsIDEuOTMyODU3Mzk0MjE4NDQ0OF0sIFsxNjYzOTI0MDUwLjIwNjI1NjYsIDIwMzg1LCAxLjkzNDU5Nzk2OTA1NTE3NThdLCBbMTY2MzkyNDA1MC41MDg4ODAxLCAyMDQxMiwgMS45MzU4ODI2ODc1Njg2NjQ2XSwgWzE2NjM5MjQwNTEuNTYwMDk2MywgMjA0OTMsIDEuOTAyOTUzNzQzOTM0NjMxM10sIFsxNjYzOTI0MDUyLjAxMTk1MTIsIDIwNTI5LCAxLjkyMTY4MjAwMDE2MDIxNzNdLCBbMTY2MzkyNDA1Mi4xMTc5MDQ0LCAyMDUzOCwgMS44ODg1MDYyOTMyOTY4MTRdLCBbMTY2MzkyNDA1Mi41NTg3ODExLCAyMDU3NCwgMS45MDU0ODY4MjIxMjgyOTZdLCBbMTY2MzkyNDA1My4zMjc2MTcsIDIwNjM3LCAxLjg2NjgyMjEyMzUyNzUyNjldLCBbMTY2MzkyNDA1NC40MDQ3NDI1LCAyMDcwOSwgMS44OTYxMjA1NDgyNDgyOTFdLCBbMTY2MzkyNDA1NC45MzUxMjEzLCAyMDc1NCwgMS44ODA4MTU1MDU5ODE0NDUzXSwgWzE2NjM5MjQwNTUuMDYzNjUxMywgMjA3NjMsIDEuODk4ODI0MDk1NzI2MDEzMl0sIFsxNjYzOTI0MDU1LjM3MDg3NDIsIDIwNzkwLCAxLjg3NTE3MTg5OTc5NTUzMjJdLCBbMTY2MzkyNDA1NS41NzQyMzE0LCAyMDgwOCwgMS44OTQ2NzU3MzE2NTg5MzU1XSwgWzE2NjM5MjQwNTYuMTc0OTEzLCAyMDg1MywgMS45MDI4NjUxNzE0MzI0OTUxXSwgWzE2NjM5MjQwNTYuNTE0MTA0OCwgMjA4ODAsIDEuODU4MDIxODU1MzU0MzA5XSwgWzE2NjM5MjQwNTcuMDY1MjAwOCwgMjA5MjUsIDEuODUwNzE2ODI5Mjk5OTI2OF0sIFsxNjYzOTI0MDU3Ljc1MTQzNjIsIDIwOTc5LCAxLjg4NDU0Mzg5NTcyMTQzNTVdLCBbMTY2MzkyNDA1Ny45Njk2NzA4LCAyMDk5NywgMS44NTM1NDkwMDM2MDEwNzQyXSwgWzE2NjM5MjQwNTguMzA3NzE4NSwgMjEwMjQsIDEuODYyODQ4NDAxMDY5NjQxMV0sIFsxNjYzOTI0MDU4Ljg3NDkzMywgMjEwNjksIDEuODgzODE2MjQyMjE4MDE3Nl0sIFsxNjYzOTI0MDU5LjEwMTE4NzUsIDIxMDg3LCAxLjg4MzU0ODM3ODk0NDM5N10sIFsxNjYzOTI0MDU5LjIxMjcyNzUsIDIxMDk2LCAxLjg1MzI3ODc1NjE0MTY2MjZdLCBbMTY2MzkyNDA1OS4zMzM5MDgzLCAyMTEwNSwgMS44NTMxMTMyOTM2NDc3NjYxXSwgWzE2NjM5MjQwNTkuNTU2ODg0MywgMjExMjMsIDEuODU4NTIyNDE1MTYxMTMyOF0sIFsxNjYzOTI0MDU5LjY2NTE1ODcsIDIxMTMyLCAxLjgyNzc4NTQ5MTk0MzM1OTRdLCBbMTY2MzkyNDA2MC4xMjY0NjgyLCAyMTE2OCwgMS44NDA1MTI4NzE3NDIyNDg1XSwgWzE2NjM5MjQwNjAuMjQ4NjAyNiwgMjExNzcsIDEuODgxMjgwMTgzNzkyMTE0M10sIFsxNjYzOTI0MDYwLjM1OTMxLCAyMTE4NiwgMS44NjYxODcyMTQ4NTEzNzk0XSwgWzE2NjM5MjQwNjAuODA5MjczMiwgMjEyMjIsIDEuODUyNTgyNjkzMDk5OTc1Nl0sIFsxNjYzOTI0MDYxLjAyODMzOTksIDIxMjQwLCAxLjg1OTA4NTkxNzQ3MjgzOTRdLCBbMTY2MzkyNDA2MS43MDczNTQsIDIxMjk0LCAxLjg1MTEwNjI4NjA0ODg4OTJdLCBbMTY2MzkyNDA2Mi4wMTAxMjg3LCAyMTMyMSwgMS44MjQ3ODA0NjQxNzIzNjMzXSwgWzE2NjM5MjQwNjIuMzI0Nzk3MiwgMjEzNDgsIDEuODQ4NzU3MDI4NTc5NzEyXSwgWzE2NjM5MjQwNjIuNTM4NDc5NiwgMjEzNjYsIDEuODUwMjQ3NTAyMzI2OTY1M10sIFsxNjYzOTI0MDYzLjE1NDc0NjgsIDIxNDExLCAxLjgzMzk1ODg2NDIxMjAzNjFdLCBbMTY2MzkyNDA2NC4wNzYyMzgsIDIxNDY1LCAxLjg1MTIyMDEzMDkyMDQxMDJdLCBbMTY2MzkyNDA2NC41OTEzMDQ4LCAyMTUxMCwgMS44Mjk5MzMyODU3MTMxOTU4XSwgWzE2NjM5MjQwNjQuNzkxNjI0NSwgMjE1MjgsIDEuODQ4MTQ1NDg0OTI0MzE2NF0sIFsxNjYzOTI0MDY0Ljk4ODA2OCwgMjE1NDYsIDEuODMzNjM1MzMwMjAwMTk1M10sIFsxNjYzOTI0MDY1LjA4NTAxMzksIDIxNTU1LCAxLjgxNzAxMjU0ODQ0NjY1NTNdLCBbMTY2MzkyNDA2NS4xODM3NjY2LCAyMTU2NCwgMS44NDE2NTMzNDcwMTUzODA5XSwgWzE2NjM5MjQwNjUuMzk0NDY1NywgMjE1ODIsIDEuNzk5ODY0NjQ5NzcyNjQ0XSwgWzE2NjM5MjQwNjUuNDkxNzE2LCAyMTU5MSwgMS44MzUxODUyODkzODI5MzQ2XSwgWzE2NjM5MjQwNjYuNTYwMTk2OSwgMjE2ODEsIDEuODI2ODMwNjI1NTM0MDU3Nl0sIFsxNjYzOTI0MDY2Ljk1NzI5LCAyMTcxNywgMS44Mjc0MDQyNjA2MzUzNzZdLCBbMTY2MzkyNDA2Ny4yNTM5NiwgMjE3NDQsIDEuODUxODM1MjUwODU0NDkyMl0sIFsxNjYzOTI0MDY3LjcwNjUxMjUsIDIxNzgwLCAxLjgwMjc5MzE0NTE3OTc0ODVdLCBbMTY2MzkyNDA2OC42MDMxODYsIDIxODYxLCAxLjgwOTEwMDE1MTA2MjAxMTddLCBbMTY2MzkyNDA2OC44ODY5NjIyLCAyMTg4OCwgMS44NjQyNTQzNTU0MzA2MDNdLCBbMTY2MzkyNDA2OS4yNjQzMzUyLCAyMTkyNCwgMS44MjQ5ODQ0MzEyNjY3ODQ3XSwgWzE2NjM5MjQwNjkuMzU1NTc2MywgMjE5MzMsIDEuODE5OTUzNzk5MjQ3NzQxN10sIFsxNjYzOTI0MDY5LjcxOTgzMTUsIDIxOTYwLCAxLjgyNzAzNzMzNDQ0MjEzODddLCBbMTY2MzkyNDA2OS45Mjg1MTUsIDIxOTc4LCAxLjgyNTU3ODIxMjczODAzN10sIFsxNjYzOTI0MDcwLjAyNTk1NDIsIDIxOTg3LCAxLjgzMTgzMjUyODExNDMxODhdLCBbMTY2MzkyNDA3MC42ODIxOTQyLCAyMjA0MSwgMS44MDExODAwMDUwNzM1NDc0XSwgWzE2NjM5MjQwNzEuMzUyOTI2NywgMjIwOTUsIDEuNzcwNzc2NjI5NDQ3OTM3XSwgWzE2NjM5MjQwNzEuNzk3ODU2MywgMjIxMzEsIDEuNzc0ODQ2OTExNDMwMzU4OV0sIFsxNjYzOTI0MDcyLjI2NDMxNTQsIDIyMTY3LCAxLjgyMDEwOTQ4NjU3OTg5NV0sIFsxNjYzOTI0MDcyLjUwNDk0NzIsIDIyMTg1LCAxLjc3MzE2MDgxNTIzODk1MjZdLCBbMTY2MzkyNDA3Mi42MDc5NjcsIDIyMTk0LCAxLjc4NDA1OTUyNDUzNjEzMjhdLCBbMTY2MzkyNDA3My4xODIwNSwgMjIyMzAsIDEuODIwMzA5MDQyOTMwNjAzXSwgWzE2NjM5MjQwNzMuNjAwMTU0MiwgMjIyNjYsIDEuODA1MzE4NzEzMTg4MTcxNF0sIFsxNjYzOTI0MDczLjc5ODAxNjMsIDIyMjg0LCAxLjc3MDE3MTA0NjI1NzAxOV0sIFsxNjYzOTI0MDc0LjAwMTQ5NjgsIDIyMzAyLCAxLjc5MTY0OTY5OTIxMTEyMDZdLCBbMTY2MzkyNDA3NC43MDYwMDk0LCAyMjM2NSwgMS43NjMwMDE2ODAzNzQxNDU1XSwgWzE2NjM5MjQwNzQuODA4MjQzOCwgMjIzNzQsIDEuNzY1MDQ5MzM4MzQwNzU5M10sIFsxNjYzOTI0MDc1LjE4NDc4MjUsIDIyNDEwLCAxLjc5MjgxNDg1MDgwNzE5XSwgWzE2NjM5MjQwNzUuNTY2ODEyMywgMjI0NDYsIDEuNzc5NjE5NjkzNzU2MTAzNV0sIFsxNjYzOTI0MDc1Ljg3MzkzOTUsIDIyNDczLCAxLjc4NTgwMTE3MjI1NjQ2OTddLCBbMTY2MzkyNDA3Ni4wNjg2ODc0LCAyMjQ5MSwgMS43OTkwMzI0NDk3MjIyOV0sIFsxNjYzOTI0MDc2LjE2ODkyNzIsIDIyNTAwLCAxLjgxNzQ4NDczNjQ0MjU2Nl0sIFsxNjYzOTI0MDc2LjI2NTg2NDQsIDIyNTA5LCAxLjgxODM1NDAxMDU4MTk3MDJdLCBbMTY2MzkyNDA3Ni41NjMwMDEsIDIyNTM2LCAxLjc2MDk2OTUxOTYxNTE3MzNdLCBbMTY2MzkyNDA3Ni43NDQ4NTkyLCAyMjU1NCwgMS43Njg3OTM3MDIxMjU1NDkzXSwgWzE2NjM5MjQwNzYuODM5MTY2OSwgMjI1NjMsIDEuNzYwODAwODM4NDcwNDU5XSwgWzE2NjM5MjQwNzcuMDQzMzgxNywgMjI1ODEsIDEuNzM5NTgwNjMxMjU2MTAzNV0sIFsxNjYzOTI0MDc3LjI1NzUwMSwgMjI1OTksIDEuNzY2ODc3MTc0Mzc3NDQxNF0sIFsxNjYzOTI0MDc3LjU2MjE1NTIsIDIyNjI2LCAxLjc1NDUxNDgxMzQyMzE1NjddLCBbMTY2MzkyNDA3Ny43NjYwNTksIDIyNjQ0LCAxLjc1NTg3NDg3MjIwNzY0MTZdLCBbMTY2MzkyNDA3Ny45NjIyMjM1LCAyMjY2MiwgMS43ODAxMjk0MzI2NzgyMjI3XSwgWzE2NjM5MjQwNzguMDYwOTQ4LCAyMjY3MSwgMS43NDU5NzAyNDkxNzYwMjU0XSwgWzE2NjM5MjQwNzguMTU0OTE2NSwgMjI2ODAsIDEuNzUxMDc5Njc4NTM1NDYxNF0sIFsxNjYzOTI0MDc4LjM0OTE5OTUsIDIyNjk4LCAxLjc2NjcwNTE1NTM3MjYxOTZdLCBbMTY2MzkyNDA3OC41NTQ0MjM2LCAyMjcxNiwgMS43NDY5NjQ1NzM4NjAxNjg1XSwgWzE2NjM5MjQwNzkuMDg0ODE4MSwgMjI3NjEsIDEuNzc4OTgzOTUwNjE0OTI5Ml0sIFsxNjYzOTI0MDc5LjI3ODAzNTksIDIyNzc5LCAxLjc0MTA3OTgwNzI4MTQ5NDFdLCBbMTY2MzkyNDA3OS4zNzI1Mjc2LCAyMjc4OCwgMS43NjQzMjM5NDk4MTM4NDI4XSwgWzE2NjM5MjQwODAuMDkwNjUzNCwgMjI4NTEsIDEuNzg3MDcwNjMxOTgwODk2XSwgWzE2NjM5MjQwODAuMjk0MDQ2NCwgMjI4NjksIDEuNzI1MTQ1MzM5OTY1ODIwM10sIFsxNjYzOTI0MDgwLjQ4ODcyNSwgMjI4ODcsIDEuNzM4ODIzNTMzMDU4MTY2NV0sIFsxNjYzOTI0MDgwLjU5MjYxMTgsIDIyODk2LCAxLjc2NjQwODkyMDI4ODA4Nl0sIFsxNjYzOTI0MDgxLjgwNDU0NTIsIDIyOTk1LCAxLjc2ODgwMjE2NTk4NTEwNzRdLCBbMTY2MzkyNDA4My4yMTQ5MTQzLCAyMzA5NCwgMS43NTgzNTU4NTU5NDE3NzI1XSwgWzE2NjM5MjQwODMuMzUzODU1OCwgMjMxMDMsIDEuNzI1NjUxMDI1NzcyMDk0N10sIFsxNjYzOTI0MDgzLjU4NDAwODcsIDIzMTIxLCAxLjc4ODc4OTI3MjMwODM0OTZdLCBbMTY2MzkyNDA4My44NjEwNzk3LCAyMzE0OCwgMS43NDc4NzE1MTgxMzUwNzA4XSwgWzE2NjM5MjQwODQuMzI2MTU1MiwgMjMxODQsIDEuNzc0MDc5NTYxMjMzNTIwNV0sIFsxNjYzOTI0MDg0LjU2NDAyNTIsIDIzMjAyLCAxLjcyODg3ODYxNzI4NjY4MjFdLCBbMTY2MzkyNDA4NC42NjEyMjY3LCAyMzIxMSwgMS43NDUyODg5NjgwODYyNDI3XSwgWzE2NjM5MjQwODUuMjI3MTY2NywgMjMyNTYsIDEuNzE3OTI3NTc1MTExMzg5Ml0sIFsxNjYzOTI0MDg1LjMzNzY2NjcsIDIzMjY1LCAxLjc2OTgwNzMzODcxNDU5OTZdLCBbMTY2MzkyNDA4NS40NDQ2OTI5LCAyMzI3NCwgMS43Mzg1NTg1MzA4MDc0OTUxXSwgWzE2NjM5MjQwODUuNzU4MDE0LCAyMzMwMSwgMS43NDA2NDA3NTk0NjgwNzg2XSwgWzE2NjM5MjQwODUuODYxNjk0OCwgMjMzMTAsIDEuNzc2NDQyMDUwOTMzODM4XSwgWzE2NjM5MjQwODYuMTc0MzQ3LCAyMzMzNywgMS43NTE3ODg2MTYxODA0Ml0sIFsxNjYzOTI0MDg2Ljc2OTA4NywgMjMzOTEsIDEuNzQwMzQ0MTY2NzU1Njc2M10sIFsxNjYzOTI0MDg2Ljg3MTE2MywgMjM0MDAsIDEuNzQ1NTU1NDAwODQ4Mzg4N10sIFsxNjYzOTI0MDg3LjExNDcxMSwgMjM0MTgsIDEuNzQ5MDY2NzEwNDcyMTA3XSwgWzE2NjM5MjQwODcuMzQ1MjU4MiwgMjM0MzYsIDEuNzM1NjczNDI3NTgxNzg3XSwgWzE2NjM5MjQwODcuNTczNDEzNiwgMjM0NTQsIDEuNzMyODg3MjY4MDY2NDA2Ml0sIFsxNjYzOTI0MDg3LjY3NDg5OCwgMjM0NjMsIDEuNzMzMTAwODkxMTEzMjgxMl0sIFsxNjYzOTI0MDg4Ljg0NjI0ODYsIDIzNTYyLCAxLjc3OTM3NzIyMjA2MTE1NzJdLCBbMTY2MzkyNDA4OC45NDY4MDY3LCAyMzU3MSwgMS43MTczMjUzMjk3ODA1Nzg2XSwgWzE2NjM5MjQwODkuMDYxMzczLCAyMzU4MCwgMS43MzgwMjkyNDE1NjE4ODk2XSwgWzE2NjM5MjQwODkuNDUwOTIxNSwgMjM2MDcsIDEuNzM4MjgwNDE1NTM0OTczMV0sIFsxNjYzOTI0MDg5Ljk5MjA3NDcsIDIzNjUyLCAxLjc0NjEwMjgwOTkwNjAwNTldLCBbMTY2MzkyNDA5MC4wOTUwMjM2LCAyMzY2MSwgMS43MTkyMDcxNjc2MjU0MjcyXSwgWzE2NjM5MjQwOTAuNjUxMTM4MywgMjM3MDYsIDEuNzQ3NTc4MzgyNDkyMDY1NF0sIFsxNjYzOTI0MDkwLjc2MjI2NjQsIDIzNzE1LCAxLjcyMDM3MTcyMzE3NTA0ODhdLCBbMTY2MzkyNDA5MC44NzM2MDY3LCAyMzcyNCwgMS42OTI5NjA5Nzc1NTQzMjEzXSwgWzE2NjM5MjQwOTAuOTc3OTQyLCAyMzczMywgMS43MTc2NDY0Nzk2MDY2Mjg0XSwgWzE2NjM5MjQwOTEuMTg1NzAyNiwgMjM3NTEsIDEuNzQyNzAwNjk1OTkxNTE2MV0sIFsxNjYzOTI0MDkxLjI5MDg5MiwgMjM3NjAsIDEuNjk0NzM1NTI3MDM4NTc0Ml0sIFsxNjYzOTI0MDkxLjM5MzQ5NjMsIDIzNzY5LCAxLjczNzA1MzI3NTEwODMzNzRdLCBbMTY2MzkyNDA5MS45MDY2ODMyLCAyMzc5NiwgMS43NDE0NzA2OTQ1NDE5MzEyXSwgWzE2NjM5MjQwOTMuMTYwNzk5LCAyMzg5NSwgMS43Mjc4MDUxMzc2MzQyNzczXSwgWzE2NjM5MjQwOTMuODk3MTU4MSwgMjM5NDksIDEuNzA0NjYyMzIyOTk4MDQ2OV0sIFsxNjYzOTI0MDk0LjEyMDEyLCAyMzk2NywgMS43MDYwNjQ3MDEwODAzMjIzXSwgWzE2NjM5MjQwOTUuMDEwNjE1LCAyNDAzOSwgMS43MDk5OTM0ODE2MzYwNDc0XSwgWzE2NjM5MjQwOTUuMTI0MDk5NSwgMjQwNDgsIDEuNzA1MDM1MDkwNDQ2NDcyMl0sIFsxNjYzOTI0MDk1LjIzMzQ5NywgMjQwNTcsIDEuNjkwNjg3Nzc1NjExODc3NF0sIFsxNjYzOTI0MDk1LjQ2MTA3OTQsIDI0MDc1LCAxLjcyMTI2NTY3MzYzNzM5MDFdLCBbMTY2MzkyNDA5Ni4yNjk2MzQyLCAyNDEzOCwgMS43MDI2ODAxMTA5MzEzOTY1XSwgWzE2NjM5MjQwOTYuNjYyMzcyNCwgMjQxNjUsIDEuNzA4OTg5MjYyNTgwODcxNl0sIFsxNjYzOTI0MDk2LjkzNTM3MzMsIDI0MTgzLCAxLjcwNTgyNzk1MTQzMTI3NDRdLCBbMTY2MzkyNDA5Ny4yOTQ1NzI4LCAyNDIxMCwgMS43MDAyNjIzMDgxMjA3Mjc1XSwgWzE2NjM5MjQwOTcuNTE1NDE3LCAyNDIyOCwgMS43MDE1OTEwMTQ4NjIwNjA1XSwgWzE2NjM5MjQwOTcuNzQ4NTEzNywgMjQyNDYsIDEuNjk2OTUwMDc4MDEwNTU5XSwgWzE2NjM5MjQwOTguNzgzODY4LCAyNDMyNywgMS42Njk3MTQzMzE2MjY4OTJdLCBbMTY2MzkyNDA5OC44ODY1NTMsIDI0MzM2LCAxLjY5ODQzNzgwOTk0NDE1MjhdLCBbMTY2MzkyNDA5OS4wMDIzNDY1LCAyNDM0NSwgMS42OTMyMTM5Mzk2NjY3NDhdLCBbMTY2MzkyNDA5OS4yMjUxNTc3LCAyNDM2MywgMS42ODI1MjA1MDg3NjYxNzQzXSwgWzE2NjM5MjQwOTkuNDM3MDE2MiwgMjQzODEsIDEuNzE1OTczMTM4ODA5MjA0XSwgWzE2NjM5MjQwOTkuNjY1ODE0OSwgMjQzOTksIDEuNzA0NjM0NjY2NDQyODcxXSwgWzE2NjM5MjQwOTkuOTA3OTkyNCwgMjQ0MTcsIDEuNzA4NzA0NTkwNzk3NDI0M10sIFsxNjYzOTI0MTAwLjAxMjY1OTUsIDI0NDI2LCAxLjY5NTQyMjg4NzgwMjEyNF0sIFsxNjYzOTI0MTAwLjQ5Mjc3NDIsIDI0NDYyLCAxLjcxNzc4NDA0NzEyNjc3XSwgWzE2NjM5MjQxMDAuNTk1MTAyOCwgMjQ0NzEsIDEuNjkzNTk1NzY3MDIxMTc5Ml0sIFsxNjYzOTI0MTAwLjY5MDA4OTUsIDI0NDgwLCAxLjc1MjI4OTc3MjAzMzY5MTRdLCBbMTY2MzkyNDEwMS4xNzc3MTY3LCAyNDUyNSwgMS42ODUwMTY4NzA0OTg2NTcyXSwgWzE2NjM5MjQxMDEuMjc3MDc2NSwgMjQ1MzQsIDEuNjY3MDAzMTU0NzU0NjM4N10sIFsxNjYzOTI0MTAxLjUwMTYwOTYsIDI0NTUyLCAxLjY4NjI2MDU4MTAxNjU0MDVdLCBbMTY2MzkyNDEwMS45Mzk1NDU0LCAyNDU3MCwgMS42ODE4ODE3ODUzOTI3NjEyXSwgWzE2NjM5MjQxMDIuMDM3MDMsIDI0NTc5LCAxLjY3NzMwMjcxODE2MjUzNjZdLCBbMTY2MzkyNDEwMi40NDgzNjEyLCAyNDYxNSwgMS42OTIyOTM4ODIzNjk5OTUxXSwgWzE2NjM5MjQxMDIuNTQ0NTQ0NSwgMjQ2MjQsIDEuNzA2MDk3MDA2Nzk3NzkwNV0sIFsxNjYzOTI0MTAyLjkzNTUxNzgsIDI0NjYwLCAxLjY1MTM5ODA2MjcwNTk5MzddLCBbMTY2MzkyNDEwMy4wMzc4Nzg1LCAyNDY2OSwgMS42ODA1NjY2Njg1MTA0MzddLCBbMTY2MzkyNDEwMy4xMzk4NDQ3LCAyNDY3OCwgMS42Nzg0NTU5NDg4Mjk2NTA5XSwgWzE2NjM5MjQxMDMuMjU5MDIyNSwgMjQ2ODcsIDEuNjU2MzUxMDg5NDc3NTM5XSwgWzE2NjM5MjQxMDMuNDUzODMzNiwgMjQ3MDUsIDEuNjk3MzQyODcyNjE5NjI5XSwgWzE2NjM5MjQxMDMuNTQ5OTY1OSwgMjQ3MTQsIDEuNjU4NjEwNTgyMzUxNjg0Nl0sIFsxNjYzOTI0MTAzLjY0NDExODUsIDI0NzIzLCAxLjY3MTkxODYzMDU5OTk3NTZdLCBbMTY2MzkyNDEwNC4zNDU5NjksIDI0Nzg2LCAxLjY3NDk2OTMxNTUyODg2OTZdLCBbMTY2MzkyNDEwNC40NDc2MjI1LCAyNDc5NSwgMS42NjAzNzQ5OTkwNDYzMjU3XSwgWzE2NjM5MjQxMDQuNTQ1MDMwNiwgMjQ4MDQsIDEuNzA1NTgyOTc2MzQxMjQ3Nl0sIFsxNjYzOTI0MTA1LjEyMzUyNCwgMjQ4NDksIDEuNjkxOTM0MzQ3MTUyNzFdLCBbMTY2MzkyNDEwNS4yMzk5NjIzLCAyNDg1OCwgMS42NjY0ODMxNjM4MzM2MTgyXSwgWzE2NjM5MjQxMDUuNzEyNjU4NiwgMjQ4OTQsIDEuNjY0NjcyNzMyMzUzMjEwNF0sIFsxNjYzOTI0MTA2LjEwMzg3MTMsIDI0OTIxLCAxLjY2MjQ1MTk4MjQ5ODE2OV0sIFsxNjYzOTI0MTA2LjQ4MDQzMjcsIDI0OTQ4LCAxLjY3ODYyNTIyNjAyMDgxM10sIFsxNjYzOTI0MTA2LjcwODkyMTcsIDI0OTY2LCAxLjY3NDA4OTMxMjU1MzQwNThdLCBbMTY2MzkyNDEwNi45MTgxODcsIDI0OTg0LCAxLjY1NDUzNjEyODA0NDEyODRdLCBbMTY2MzkyNDEwNy4xODIzMzQ3LCAyNTAwMiwgMS43MTI4MTQ1Njk0NzMyNjY2XSwgWzE2NjM5MjQxMDcuMzA5NTc5NCwgMjUwMTEsIDEuNjgyMTcxMjI1NTQ3NzkwNV0sIFsxNjYzOTI0MTA3LjQzODcwMSwgMjUwMjAsIDEuNjUxNzU1MzMyOTQ2Nzc3M10sIFsxNjYzOTI0MTA4LjAxMjIwNjMsIDI1MDY1LCAxLjY4MjEwNzkyNTQxNTAzOV0sIFsxNjYzOTI0MTA4LjE0NTQwNzcsIDI1MDc0LCAxLjY1MTY1NjUwODQ0NTczOTddLCBbMTY2MzkyNDEwOS42MTk5MTEyLCAyNTE4MiwgMS42NTcyNDQ4MDE1MjEzMDEzXSwgWzE2NjM5MjQxMDkuODQ2ODMxOCwgMjUyMDAsIDEuNjU2MTk5MjE2ODQyNjUxNF0sIFsxNjYzOTI0MTEwLjY0ODcyNSwgMjUyNjMsIDEuNjE3NzMyNDA1NjYyNTM2Nl0sIFsxNjYzOTI0MTExLjMxMDY1MDMsIDI1MzE3LCAxLjY1OTUzNjEyMzI3NTc1NjhdLCBbMTY2MzkyNDExMS40NDQzNTQsIDI1MzI2LCAxLjY3OTY1MDA2ODI4MzA4MV0sIFsxNjYzOTI0MTEyLjkzODQxMSwgMjU0MjUsIDEuNjU0MjYzMzc3MTg5NjM2Ml0sIFsxNjYzOTI0MTEzLjA1MTg4NjYsIDI1NDM0LCAxLjY1MTgyOTYwMDMzNDE2NzVdLCBbMTY2MzkyNDExNC4wNzE4ODY4LCAyNTUxNSwgMS42OTM5ODg4MDAwNDg4MjgxXSwgWzE2NjM5MjQxMTQuMjk4NjcyNywgMjU1MzMsIDEuNjQ2MDY5ODg0MzAwMjMyXSwgWzE2NjM5MjQxMTQuNTM2MjQ0LCAyNTU1MSwgMS42NTg4MjU4NzQzMjg2MTMzXSwgWzE2NjM5MjQxMTQuNjY2ODM0LCAyNTU2MCwgMS42NDM1MTI4NDUwMzkzNjc3XSwgWzE2NjM5MjQxMTQuOTI5NzQ2OSwgMjU1NzgsIDEuNjQ2MDUyOTU2NTgxMTE1N10sIFsxNjYzOTI0MTE1LjEzNDg4NTMsIDI1NTk2LCAxLjYyNzEzNjIzMDQ2ODc1XSwgWzE2NjM5MjQxMTUuMjM2NTI1LCAyNTYwNSwgMS42MzMyMjYyNzU0NDQwMzA4XSwgWzE2NjM5MjQxMTUuNTMxNzA1LCAyNTYzMiwgMS42NTQ0ODEyOTE3NzA5MzVdLCBbMTY2MzkyNDExNS45NTA2MDMyLCAyNTY2OCwgMS42MzMzNjM0ODUzMzYzMDM3XSwgWzE2NjM5MjQxMTYuMDUyNzE1NSwgMjU2NzcsIDEuNjkwMzg3MTI5NzgzNjMwNF0sIFsxNjYzOTI0MTE2LjYxNzM3NzUsIDI1NzIyLCAxLjY0MDI3NTU5NzU3MjMyNjddLCBbMTY2MzkyNDExNi44MTYyNzk0LCAyNTc0MCwgMS42NTMzOTgyNzUzNzUzNjYyXSwgWzE2NjM5MjQxMTcuMDI3MjQyMiwgMjU3NTgsIDEuNjY5NDM1NjIwMzA3OTIyNF0sIFsxNjYzOTI0MTE3LjE0NzMyNzQsIDI1NzY3LCAxLjYyNjk0OTY2NzkzMDYwM10sIFsxNjYzOTI0MTE3LjU4Njc0MDUsIDI1ODAzLCAxLjYzNjIyNjc3MzI2MjAyNF0sIFsxNjYzOTI0MTE3Ljc4NDEzNDQsIDI1ODIxLCAxLjY0NzYwNjk2ODg3OTY5OTddLCBbMTY2MzkyNDExOC4wODE3MDE1LCAyNTg0OCwgMS42NDk4NDQxNjk2MTY2OTkyXSwgWzE2NjM5MjQxMTkuNTQxOTIzLCAyNTkyMCwgMS42MjgwOTQxOTYzMTk1OF0sIFsxNjYzOTI0MTE5LjgwMTY0MzYsIDI1OTI5LCAxLjYxNjI5MjcxNTA3MjYzMThdLCBbMTY2MzkyNDExOS45NDk3NzIxLCAyNTkzOCwgMS42Mjg0ODEyNjg4ODI3NTE1XSwgWzE2NjM5MjQxMjAuMjA3NDM0NCwgMjU5NDcsIDEuNjMzODI2NzMyNjM1NDk4XSwgWzE2NjM5MjQxMjAuNTk0NTUwMSwgMjU5NjUsIDEuNjYzODg4MDk2ODA5Mzg3Ml0sIFsxNjYzOTI0MTIxLjU5NTY1NjIsIDI2MDEwLCAxLjY1MDQ1MjM3NTQxMTk4NzNdLCBbMTY2MzkyNDEyMS44NDgxMzIsIDI2MDI4LCAxLjYzNjA5NTE2NjIwNjM1OTldLCBbMTY2MzkyNDEyMi4wNjE2MTY3LCAyNjA0NiwgMS42Nzc1NTIyMjMyMDU1NjY0XSwgWzE2NjM5MjQxMjIuMjcwNTY1NywgMjYwNjQsIDEuNjI2NDY4MTgxNjEwMTA3NF0sIFsxNjYzOTI0MTIyLjY3MDE5NTgsIDI2MTAwLCAxLjYyMjkwNjQ0NjQ1NjkwOTJdLCBbMTY2MzkyNDEyMy4yNjQ3Njg2LCAyNjEzNiwgMS42NDMzNjUxNDQ3Mjk2MTQzXSwgWzE2NjM5MjQxMjMuMzYwMDAxOCwgMjYxNDUsIDEuNjM3NzIzMDg4MjY0NDY1M10sIFsxNjYzOTI0MTI0LjA1MzUxNCwgMjYyMDgsIDEuNjY4ODkxMDcyMjczMjU0NF0sIFsxNjYzOTI0MTI0LjE3ODM4OTgsIDI2MjE3LCAxLjY2ODYxNjA1NjQ0MjI2MDddLCBbMTY2MzkyNDEyNC40MDcwNjYzLCAyNjIzNSwgMS42MzgyMjE3NDA3MjI2NTYyXSwgWzE2NjM5MjQxMjQuNTAxOTk2NSwgMjYyNDQsIDEuNjI2NDA2Nzg4ODI1OTg4OF0sIFsxNjYzOTI0MTI0Ljg2NDEzNzQsIDI2MjcxLCAxLjYzOTI0Nzg5NDI4NzEwOTRdLCBbMTY2MzkyNDEyNS4xMTcxNDA1LCAyNjI4OSwgMS41Nzk2NTEyMzY1MzQxMTg3XSwgWzE2NjM5MjQxMjUuMjIxNTU4MywgMjYyOTgsIDEuNjQxOTYxMDk3NzE3Mjg1Ml0sIFsxNjYzOTI0MTI1LjMzNDkxODcsIDI2MzA3LCAxLjYxOTEyMzMzOTY1MzAxNTFdLCBbMTY2MzkyNDEyNS42MDU0NzE4LCAyNjMyNSwgMS42MzIwMjM5MzA1NDk2MjE2XSwgWzE2NjM5MjQxMjUuNzEzNzg0LCAyNjMzNCwgMS42MjI2ODI5MjkwMzkwMDE1XSwgWzE2NjM5MjQxMjYuMzA1NDA0NywgMjYzNzksIDEuNjEwMDkyODc4MzQxNjc0OF0sIFsxNjYzOTI0MTI2Ljc5MzM5ODQsIDI2NDE1LCAxLjYwNzQ5MDY1ODc2MDA3MDhdLCBbMTY2MzkyNDEyNi45MDYwMzk3LCAyNjQyNCwgMS42MDAxNzQzMDc4MjMxODEyXSwgWzE2NjM5MjQxMjguNDk1NTUyLCAyNjU1MCwgMS41OTA0NTM4NjMxNDM5MjFdLCBbMTY2MzkyNDEyOC44MTUwNjg1LCAyNjU3NywgMS42MTc5MTAyNjU5MjI1NDY0XSwgWzE2NjM5MjQxMjkuMTk0MTA3NSwgMjY2MDQsIDEuNTg3MDg4NDY1NjkwNjEyOF0sIFsxNjYzOTI0MTI5LjUzNjA2MTMsIDI2NjMxLCAxLjYyMDIyNjM4MzIwOTIyODVdLCBbMTY2MzkyNDEzMC4wMDcyNDMsIDI2NjY3LCAxLjYyMTI3MzYzNjgxNzkzMjFdLCBbMTY2MzkyNDEzMC4xMTM4NzIsIDI2Njc2LCAxLjYwNTU0NDY4NjMxNzQ0MzhdLCBbMTY2MzkyNDEzMC4zNDc2MDEsIDI2Njk0LCAxLjYwOTUzNDAyNTE5MjI2MDddLCBbMTY2MzkyNDEzMC40NTE3OTM0LCAyNjcwMywgMS41NzM4MDM0MjQ4MzUyMDVdLCBbMTY2MzkyNDEzMC41NjExNzk0LCAyNjcxMiwgMS42MDc1NTM0ODIwNTU2NjRdLCBbMTY2MzkyNDEzMS4xMzg1NDIsIDI2NzY2LCAxLjY0MTEzODA3Njc4MjIyNjZdLCBbMTY2MzkyNDEzMS42ODk4MDA3LCAyNjgxMSwgMS42MDI3NjkyNTU2MzgxMjI2XSwgWzE2NjM5MjQxMzEuODAyNDc2NCwgMjY4MjAsIDEuNjI4MjA4ODc1NjU2MTI4XSwgWzE2NjM5MjQxMzEuOTEyMzczLCAyNjgyOSwgMS42MDQzNDc3MDU4NDEwNjQ1XSwgWzE2NjM5MjQxMzIuMDE0OTA1NSwgMjY4MzgsIDEuNjA4Mzk3NjAzMDM0OTczMV0sIFsxNjYzOTI0MTMyLjM2NDM3MzcsIDI2ODY1LCAxLjYxNjgxODE4OTYyMDk3MTddLCBbMTY2MzkyNDEzMi42MjkzNDQ3LCAyNjg4MywgMS42MTE4MjYxODE0MTE3NDMyXSwgWzE2NjM5MjQxMzIuNzU4MzUwNiwgMjY4OTIsIDEuNTk5ODYzNDA5OTk2MDMyN10sIFsxNjYzOTI0MTMzLjYyMjc5OSwgMjY5NDYsIDEuNjAyMzI1Njc3ODcxNzA0XSwgWzE2NjM5MjQxMzMuOTQwOTk0LCAyNjk3MywgMS42MjUzOTg5OTM0OTIxMjY1XSwgWzE2NjM5MjQxMzQuMTQ5OTQwNywgMjY5OTEsIDEuNTg3MDgyMDI4Mzg4OTc3XSwgWzE2NjM5MjQxMzQuMjQ5NzM2MywgMjcwMDAsIDEuNjIzMTQ2Mjk1NTQ3NDg1NF1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_09-23-28_54c5144e9b50&tag=Loss%2Ftrain":{"data":"W1sxNjYzOTI1MDA4LjI4NDM3NTIsIDksIDEwMi4zMzAwMzIzNDg2MzI4MV0sIFsxNjYzOTI1MDA4LjUwMTE4NzMsIDI3LCA4Ni43Mjk3NDM5NTc1MTk1M10sIFsxNjYzOTI1MDA4LjYxODgwNzgsIDM2LCA3OS41NzExNDQxMDQwMDM5XSwgWzE2NjM5MjUwMDguNzI2MTU1NSwgNDUsIDcwLjMwOTE1ODMyNTE5NTMxXSwgWzE2NjM5MjUwMDkuMDY2MjAxNywgNzIsIDUwLjQ2OTk4MjE0NzIxNjhdLCBbMTY2MzkyNTAwOS4yODk2MDE2LCA5MCwgNDAuMTc2NDQ4ODIyMDIxNDg0XSwgWzE2NjM5MjUwMDkuNDEzNDE2OSwgOTksIDM1LjcxNjgxNTk0ODQ4NjMzXSwgWzE2NjM5MjUwMDkuNTI2NzMzNCwgMTA4LCAzMS43OTc4MDE5NzE0MzU1NDddLCBbMTY2MzkyNTAwOS44NzY0NzgsIDEzNSwgMjMuMzc4MzIwNjkzOTY5NzI3XSwgWzE2NjM5MjUwMDkuOTg2MjEwNiwgMTQ0LCAyMS44MTMzOTI2MzkxNjAxNTZdLCBbMTY2MzkyNTAxMC4wOTg1OTY4LCAxNTMsIDE5LjcyNjg4Njc0OTI2NzU3OF0sIFsxNjYzOTI1MDEwLjI5OTE3OSwgMTcxLCAxNy45Njk3Mzk5MTM5NDA0M10sIFsxNjYzOTI1MDEwLjQxMzU1ODIsIDE4MCwgMTcuMzE5MzEzMDQ5MzE2NDA2XSwgWzE2NjM5MjUwMTAuNTI1NzA0MSwgMTg5LCAxNi43Nzg5NDIxMDgxNTQyOTddLCBbMTY2MzkyNTAxMC43Nzc1OTA1LCAyMDcsIDE1LjkwNjY2Mjk0MDk3OTAwNF0sIFsxNjYzOTI1MDEwLjkwNDk2NzgsIDIxNiwgMTUuNjI2MTU5NjY3OTY4NzVdLCBbMTY2MzkyNTAxMS4yNDQyMzIyLCAyNDMsIDE1LjA1MzU5ODQwMzkzMDY2NF0sIFsxNjYzOTI1MDExLjM0OTM4NjIsIDI1MiwgMTQuNTkzNjM1NTU5MDgyMDMxXSwgWzE2NjM5MjUwMTEuNDY5ODUzLCAyNjEsIDE0LjA1MTA5ODgyMzU0NzM2M10sIFsxNjYzOTI1MDExLjU4NjE0OTcsIDI3MCwgMTQuMjY5NTQ5MzY5ODEyMDEyXSwgWzE2NjM5MjUwMTEuNzA1NTQ5MiwgMjc5LCAxMy42Njg3MjExOTkwMzU2NDVdLCBbMTY2MzkyNTAxMS44MjU2MDYzLCAyODgsIDEzLjQ1NTkzMDcwOTgzODg2N10sIFsxNjYzOTI1MDExLjkzMjg1NTEsIDI5NywgMTMuMjQ4MzAzNDEzMzkxMTEzXSwgWzE2NjM5MjUwMTIuMDQwOTIwNywgMzA2LCAxMi44NjYzNTExMjc2MjQ1MTJdLCBbMTY2MzkyNTAxMi4xNTM2LCAzMTUsIDEyLjcyNDc2Mzg3MDIzOTI1OF0sIFsxNjYzOTI1MDEyLjM4MzIyNzYsIDMzMywgMTIuMzU5NzQ1MDI1NjM0NzY2XSwgWzE2NjM5MjUwMTIuNTA0ODg4LCAzNDIsIDEyLjEwNzc2OTAxMjQ1MTE3Ml0sIFsxNjYzOTI1MDEyLjYwNTcxMjIsIDM1MSwgMTEuODg0NTkzMDA5OTQ4NzNdLCBbMTY2MzkyNTAxMi43MjEyNTEyLCAzNjAsIDExLjY4NzU4Mjk2OTY2NTUyN10sIFsxNjYzOTI1MDEyLjgyMzE5NCwgMzY5LCAxMS40NDQzMDU0MTk5MjE4NzVdLCBbMTY2MzkyNTAxMy4wNDI4MjIsIDM4NywgMTAuODU4Njg0NTM5Nzk0OTIyXSwgWzE2NjM5MjUwMTMuMTUxNzQyNywgMzk2LCAxMC42NjAzNjIyNDM2NTIzNDRdLCBbMTY2MzkyNTAxMy42MDExNjI0LCA0MzIsIDkuODc2NjAzMTI2NTI1ODc5XSwgWzE2NjM5MjUwMTMuNzAwMDEyNCwgNDQxLCA5LjY5MDAwODE2MzQ1MjE0OF0sIFsxNjYzOTI1MDEzLjgxMjUxMDcsIDQ1MCwgOS4zMDkyNzk0NDE4MzM0OTZdLCBbMTY2MzkyNTAxMy45MzAzNjEsIDQ1OSwgOS4xMjQxODU1NjIxMzM3ODldLCBbMTY2MzkyNTAxNC4wMzcxODI4LCA0NjgsIDkuMDg4NjAzMDE5NzE0MzU1XSwgWzE2NjM5MjUwMTQuMTQ2OTA4NSwgNDc3LCA4LjkwMzI5NTUxNjk2Nzc3M10sIFsxNjYzOTI1MDE0LjI2MTYxOTYsIDQ4NiwgOC43Nzk3OTM3MzkzMTg4NDhdLCBbMTY2MzkyNTAxNC4zNjc1MjksIDQ5NSwgOC40NzA4MzM3NzgzODEzNDhdLCBbMTY2MzkyNTAxNC40OTA1NTAzLCA1MDQsIDguMjUyMzY2MDY1OTc5MDA0XSwgWzE2NjM5MjUwMTQuNzEzMjM0MiwgNTIyLCA4LjA5ODAzMTA0NDAwNjM0OF0sIFsxNjYzOTI1MDE1LjA3NjM4NiwgNTQ5LCA3LjU2MDY3OTQzNTcyOTk4MDVdLCBbMTY2MzkyNTAxNS4xOTY1ODUsIDU1OCwgNy4zMDgxNjM2NDI4ODMzMDFdLCBbMTY2MzkyNTAxNS4yOTkxNDY3LCA1NjcsIDcuMjQ5Nzc4NzQ3NTU4NTk0XSwgWzE2NjM5MjUwMTUuNTA2NTM4MiwgNTc2LCA3LjI0NTE3NDg4NDc5NjE0M10sIFsxNjYzOTI1MDE1Ljg1OTU1NywgNTk0LCA2Ljk0MjI5MzE2NzExNDI1OF0sIFsxNjYzOTI1MDE1Ljk3NjQxMjgsIDYwMywgNi44MjgwOTYzODk3NzA1MDhdLCBbMTY2MzkyNTAxNi4wNzUwOTczLCA2MTIsIDYuNjQ0ODcxNzExNzMwOTU3XSwgWzE2NjM5MjUwMTYuMTg3NzY0NCwgNjIxLCA2LjU4ODc2MzcxMzgzNjY3XSwgWzE2NjM5MjUwMTYuNDMyNDIyLCA2MzksIDYuNDAxOTQwMzQ1NzY0MTZdLCBbMTY2MzkyNTAxNi41MzAzMjQsIDY0OCwgNi4zMTU3NjM5NTAzNDc5XSwgWzE2NjM5MjUwMTYuNzI3MzI0NywgNjY2LCA2LjAwNDgzNDY1MTk0NzAyMTVdLCBbMTY2MzkyNTAxNy4wNzM5OTMyLCA2ODQsIDUuOTE4NDg4NTAyNTAyNDQxXSwgWzE2NjM5MjUwMTcuMzAzMDg5MSwgNzAyLCA1LjY0MjgxMDM0NDY5NjA0NV0sIFsxNjYzOTI1MDE3LjQxNTg1NywgNzExLCA1LjU3Nzc0Njg2ODEzMzU0NV0sIFsxNjYzOTI1MDE3LjUxNzQ5MDEsIDcyMCwgNS41ODQ0NTU5NjY5NDk0NjNdLCBbMTY2MzkyNTAxNy42MzgxNzE3LCA3MjksIDUuNTE1OTE2MzQ3NTAzNjYyXSwgWzE2NjM5MjUwMTcuNzYwOTk1MSwgNzM4LCA1LjUyMTA4MzgzMTc4NzEwOV0sIFsxNjYzOTI1MDE3Ljg4MDE1NCwgNzQ3LCA1LjM2OTQ5NDkxNTAwODU0NV0sIFsxNjYzOTI1MDE4LjAwMDQxNSwgNzU2LCA1LjM4NzkwNDE2NzE3NTI5M10sIFsxNjYzOTI1MDE4LjI1ODE5MSwgNzc0LCA1LjIxOTgxNjIwNzg4NTc0Ml0sIFsxNjYzOTI1MDE4LjM3MDQyLCA3ODMsIDUuMjMwNTk1NTg4Njg0MDgyXSwgWzE2NjM5MjUwMTguNDg2MTUxNywgNzkyLCA1LjIxNjE2MzE1ODQxNjc0OF0sIFsxNjYzOTI1MDE4LjcyNDMwOTQsIDgxMCwgNS4wOTc4OTUxNDU0MTYyNl0sIFsxNjYzOTI1MDE4LjgzNzYzODYsIDgxOSwgNS4wNTg4MjEyMDEzMjQ0NjNdLCBbMTY2MzkyNTAxOS4wNzQyODg4LCA4MzcsIDUuMDUzMTA0ODc3NDcxOTI0XSwgWzE2NjM5MjUwMTkuMzAxNDk3LCA4NTUsIDQuOTk5MDY5MjEzODY3MTg3NV0sIFsxNjYzOTI1MDE5LjQxNzYwMDQsIDg2NCwgNS4wMTQ2MTY5NjYyNDc1NTldLCBbMTY2MzkyNTAxOS41MzY2MjQ3LCA4NzMsIDQuOTg3MzE5OTQ2Mjg5MDYyNV0sIFsxNjYzOTI1MDE5Ljg3OTQ4MTYsIDkwMCwgNC44NTMzNTM1MDAzNjYyMTFdLCBbMTY2MzkyNTAxOS45ODcyNDgyLCA5MDksIDQuNzk0NjQxMDE3OTEzODE4XSwgWzE2NjM5MjUwMjAuMzM0ODYxOCwgOTM2LCA0LjgwNTA5NzEwMzExODg5NjVdLCBbMTY2MzkyNTAyMC40MzMyMTUsIDk0NSwgNC42NzYwNjMwNjA3NjA0OThdLCBbMTY2MzkyNTAyMC42NDI1Mzk3LCA5NjMsIDQuNzExNzMzODE4MDU0MTk5XSwgWzE2NjM5MjUwMjAuNzQ1NzU2NCwgOTcyLCA0LjY4NzQ2MDg5OTM1MzAyN10sIFsxNjYzOTI1MDIwLjg2MjU3OTgsIDk4MSwgNC42ODcwODg0ODk1MzI0NzFdLCBbMTY2MzkyNTAyMC45NzgzNjg4LCA5OTAsIDQuNjM1OTkzMDAzODQ1MjE1XSwgWzE2NjM5MjUwMjEuMDkxNzQ3MywgOTk5LCA0LjU5MDc2MjEzODM2NjY5OV0sIFsxNjYzOTI1MDIxLjE5OTI2NywgMTAwOCwgNC41NDE1NzM1MjQ0NzUwOThdLCBbMTY2MzkyNTAyMS4zMDU5ODE2LCAxMDE3LCA0LjU0MTkzNTkyMDcxNTMzMl0sIFsxNjYzOTI1MDIxLjUwMDg1NDMsIDEwMzUsIDQuNTI5MTk2MjYyMzU5NjE5XSwgWzE2NjM5MjUwMjEuNTk2MjAzLCAxMDQ0LCA0LjU3MjQzMjk5NDg0MjUyOV0sIFsxNjYzOTI1MDIxLjY5NDM3ODEsIDEwNTMsIDQuNTQ5MjgzOTgxMzIzMjQyXSwgWzE2NjM5MjUwMjEuNzk4MDQ4MywgMTA2MiwgNC40NDgwNDU3MzA1OTA4Ml0sIFsxNjYzOTI1MDIyLjEyMTk4MDQsIDEwODksIDQuNDI2NjE1NzE1MDI2ODU1NV0sIFsxNjYzOTI1MDIyLjIyMjMwNCwgMTA5OCwgNC4zNzc0NDA5Mjk0MTI4NDJdLCBbMTY2MzkyNTAyMi42NDg3OTczLCAxMTM0LCA0LjI3NTc1NTg4MjI2MzE4NF0sIFsxNjYzOTI1MDIyLjc4NDA0MjYsIDExNDMsIDQuMjgzNTc3OTE5MDA2MzQ4XSwgWzE2NjM5MjUwMjIuOTE3MjQsIDExNTIsIDQuMjU2ODM1NDYwNjYyODQyXSwgWzE2NjM5MjUwMjMuMDQwMjM0NiwgMTE2MSwgNC4yMTk3NTg5ODc0MjY3NThdLCBbMTY2MzkyNTAyMy4xNTY4MjEzLCAxMTcwLCA0LjIxNTQ4MjIzNDk1NDgzNF0sIFsxNjYzOTI1MDIzLjI4MDkyMzYsIDExNzksIDQuMTY0NDM4MjQ3NjgwNjY0XSwgWzE2NjM5MjUwMjMuMzk3MTk1NiwgMTE4OCwgNC4xNTk3MTM3NDUxMTcxODc1XSwgWzE2NjM5MjUwMjMuNTEzMzgwOCwgMTE5NywgNC4xNTkzODI4MjAxMjkzOTQ1XSwgWzE2NjM5MjUwMjMuNzIyMDU2NiwgMTIxNSwgNC4wNTg4NTAyODgzOTExMTNdLCBbMTY2MzkyNTAyMy45MTg2ODk3LCAxMjMzLCA0LjA1Nzc3MTY4MjczOTI1OF0sIFsxNjYzOTI1MDI0LjAyNDE1MjUsIDEyNDIsIDQuMDg1MzkxOTk4MjkxMDE2XSwgWzE2NjM5MjUwMjQuMTE3MTIsIDEyNTEsIDMuOTI0Nzk2MTA0NDMxMTUyM10sIFsxNjYzOTI1MDI0LjIxNTI5NSwgMTI2MCwgMy45NDI0ODgxOTM1MTE5NjNdLCBbMTY2MzkyNTAyNC4zMTI4OTEyLCAxMjY5LCAzLjgzNDAwNTExNzQxNjM4Ml0sIFsxNjYzOTI1MDI0LjQxMjg4ODUsIDEyNzgsIDMuOTU1MDE0NzA1NjU3OTU5XSwgWzE2NjM5MjUwMjQuOTA2MTM3MiwgMTI5NiwgMy44NzUyMjQ1OTAzMDE1MTM3XSwgWzE2NjM5MjUwMjUuMDM3ODM0LCAxMzA1LCAzLjgyMDcyODc3ODgzOTExMTNdLCBbMTY2MzkyNTAyNS4xMzYyMDY2LCAxMzE0LCAzLjc3MzY0MjUzOTk3ODAyNzNdLCBbMTY2MzkyNTAyNS4yMzM2NjQsIDEzMjMsIDMuNzg4OTczNTY5ODY5OTk1XSwgWzE2NjM5MjUwMjUuMzMxMzA5LCAxMzMyLCAzLjgxNTY3MTIwNTUyMDYzXSwgWzE2NjM5MjUwMjUuNDQ2NjI1NywgMTM0MSwgMy43NzE2MDAyNDY0Mjk0NDM0XSwgWzE2NjM5MjUwMjUuNjUwNzE5NiwgMTM1OSwgMy43NTk2NDQ1MDgzNjE4MTY0XSwgWzE2NjM5MjUwMjYuMDc5ODQ4MywgMTM5NSwgMy41Nzk3ODIyNDc1NDMzMzVdLCBbMTY2MzkyNTAyNi4zMDA0MDI2LCAxNDEzLCAzLjU2Nzg0MjQ4MzUyMDUwOF0sIFsxNjYzOTI1MDI2LjQxMDUzODIsIDE0MjIsIDMuNTkwMDQ0NDk4NDQzNjAzNV0sIFsxNjYzOTI1MDI2LjU0Mjc2MzcsIDE0MzEsIDMuNTcyNTYwMzEwMzYzNzY5NV0sIFsxNjYzOTI1MDI2LjY1MTI3NywgMTQ0MCwgMy41NjU3Njc3NjUwNDUxNjZdLCBbMTY2MzkyNTAyNi43NjcxMTkyLCAxNDQ5LCAzLjQzNDI2OTkwNTA5MDMzMl0sIFsxNjYzOTI1MDI2Ljg3OTEwOTksIDE0NTgsIDMuNDc4MDU3Mzg0NDkwOTY3XSwgWzE2NjM5MjUwMjYuOTkzMzIzLCAxNDY3LCAzLjUxNDA1NTAxMzY1NjYxNl0sIFsxNjYzOTI1MDI3LjI1MjU3MzMsIDE0NzYsIDMuNDY3ODUyNTkyNDY4MjYxN10sIFsxNjYzOTI1MDI3LjM1NTgzMTksIDE0ODUsIDMuMzc1OTY0NjQxNTcxMDQ1XSwgWzE2NjM5MjUwMjcuNTUzMDM1MywgMTUwMywgMy4zNzI5NjQ2MjA1OTAyMV0sIFsxNjYzOTI1MDI3Ljc1ODY5NDQsIDE1MjEsIDMuMzE1MTAxODYxOTUzNzM1NF0sIFsxNjYzOTI1MDI3Ljg2MjY5MzgsIDE1MzAsIDMuMjk0Njc5ODgwMTQyMjEyXSwgWzE2NjM5MjUwMjcuOTYzNzEwMywgMTUzOSwgMy4zNjcwNDY4MzMwMzgzM10sIFsxNjYzOTI1MDI4LjA2NjE2MDQsIDE1NDgsIDMuMjk2NDM4MjE3MTYzMDg2XSwgWzE2NjM5MjUwMjguMTc5MTc5NCwgMTU1NywgMy4yNzcxMDU1Njk4Mzk0Nzc1XSwgWzE2NjM5MjUwMjguNDAwNjQ0MywgMTU3NSwgMy4yNzk3MzAwODE1NTgyMjc1XSwgWzE2NjM5MjUwMjguNTE0ODQwMSwgMTU4NCwgMy4xNzk3NzgwOTkwNjAwNTg2XSwgWzE2NjM5MjUwMjguNjE1NDc5MiwgMTU5MywgMy4xNjQ0MjUxMzQ2NTg4MTM1XSwgWzE2NjM5MjUwMjguNzQwOTQyNSwgMTYwMiwgMy4xODA2OTQxMDMyNDA5NjddLCBbMTY2MzkyNTAyOC44NDE5NzI4LCAxNjExLCAzLjE1MjQ0MjQ1NTI5MTc0OF0sIFsxNjYzOTI1MDI5LjA1MjExMTQsIDE2MjksIDMuMTY4MTI3NTM2NzczNjgxNl0sIFsxNjYzOTI1MDI5LjE2NjIxNiwgMTYzOCwgMy4wNjc5MTg1MzkwNDcyNDFdLCBbMTY2MzkyNTAyOS4yNzg5MTc2LCAxNjQ3LCAzLjEwMjkwNzY1NzYyMzI5MV0sIFsxNjYzOTI1MDI5LjQwMTMzMDIsIDE2NTYsIDIuOTk5MzMxNzEyNzIyNzc4M10sIFsxNjYzOTI1MDI5LjU0NTYwMDQsIDE2NjUsIDMuMDI2ODczMTExNzI0ODUzNV0sIFsxNjYzOTI1MDI5LjY0MzM2ODUsIDE2NzQsIDMuMDE2MDMwMDczMTY1ODkzNl0sIFsxNjYzOTI1MDI5Ljc0NDE0NSwgMTY4MywgMi45OTM2MTE4MTI1OTE1NTI3XSwgWzE2NjM5MjUwMzAuMTA5NjEyLCAxNzEwLCAyLjgzODI3NDk1NTc0OTUxMTddLCBbMTY2MzkyNTAzMC4yMTQ5MjQ4LCAxNzE5LCAyLjkwMDY4Njk3OTI5MzgyMzJdLCBbMTY2MzkyNTAzMC4zMzI2NTg4LCAxNzI4LCAyLjc2MTMzODcxMDc4NDkxMl0sIFsxNjYzOTI1MDMwLjQzOTYzMywgMTczNywgMi43NDYwNjQxODYwOTYxOTE0XSwgWzE2NjM5MjUwMzAuNTY1Njg1MywgMTc0NiwgMi43NTk5NTczMTM1Mzc1OTc3XSwgWzE2NjM5MjUwMzAuNzg5NzM0OCwgMTc2NCwgMi43NjQ0MDY0NDI2NDIyMTJdLCBbMTY2MzkyNTAzMS4wMzI2Njc5LCAxNzgyLCAyLjcxMzg3NTc3MDU2ODg0NzddLCBbMTY2MzkyNTAzMS4xNTAxNTE1LCAxNzkxLCAyLjY4ODgzNzUyODIyODc1OThdLCBbMTY2MzkyNTAzMS4yNjEwMzkzLCAxODAwLCAyLjYzMTE4NjI0Njg3MTk0ODJdLCBbMTY2MzkyNTAzMS4zODc2NzAzLCAxODA5LCAyLjYwMDc3MjE0MjQxMDI3ODNdLCBbMTY2MzkyNTAzMS42MTA3MDYzLCAxODI3LCAyLjU3NDU1MzcyODEwMzYzNzddLCBbMTY2MzkyNTAzMS43MTU0MDIsIDE4MzYsIDIuNTcyMzkzNjU1Nzc2OTc3NV0sIFsxNjYzOTI1MDMxLjgyNjI5MjMsIDE4NDUsIDIuNTMwNzIwNDcyMzM1ODE1NF0sIFsxNjYzOTI1MDMxLjk0NjE4NDYsIDE4NTQsIDIuNDkxMzQ5Njk3MTEzMDM3XSwgWzE2NjM5MjUwMzIuMDY3Mjg5OCwgMTg2MywgMi40OTM3MzI5MjkyMjk3MzYzXSwgWzE2NjM5MjUwMzIuMTcxNjQ5LCAxODcyLCAyLjQ5NjU3MjI1NjA4ODI1N10sIFsxNjYzOTI1MDMyLjI3NzcxNzYsIDE4ODEsIDIuNDY3MTc2OTE0MjE1MDg4XSwgWzE2NjM5MjUwMzIuNDM1OTM3LCAxODkwLCAyLjQ3MjA3Mzc5MzQxMTI1NV0sIFsxNjYzOTI1MDMyLjUzNDA0NSwgMTg5OSwgMi40NDQ1NzA1NDEzODE4MzZdLCBbMTY2MzkyNTAzMi42NDEzODMsIDE5MDgsIDIuNDQ3NDI0NjUwMTkyMjYwN10sIFsxNjYzOTI1MDMyLjg2OTg3MTksIDE5MjYsIDIuMzYzNjY3NDg4MDk4MTQ0NV0sIFsxNjYzOTI1MDMzLjA3NzYwMjEsIDE5NDQsIDIuMzgxNjU5MjY5MzMyODg1N10sIFsxNjYzOTI1MDMzLjE4MjM5OTMsIDE5NTMsIDIuMzMwMTg0MjIxMjY3N10sIFsxNjYzOTI1MDMzLjQwMDA4ODUsIDE5NzEsIDIuMjg2OTczOTUzMjQ3MDcwM10sIFsxNjYzOTI1MDMzLjUxMDE4OCwgMTk4MCwgMi4zNjIzMzA5MTM1NDM3MDFdLCBbMTY2MzkyNTAzMy41OTk3OSwgMTk4OSwgMi4yNzQ5NzEyNDY3MTkzNjA0XSwgWzE2NjM5MjUwMzMuNjk0NDk3LCAxOTk4LCAyLjMyMDA5NTc3NzUxMTU5NjddLCBbMTY2MzkyNTAzMy43ODk4NTE0LCAyMDA3LCAyLjI4NjEwNDQ0MDY4OTA4N10sIFsxNjYzOTI1MDM0LjAwNzY4MywgMjAyNSwgMi4yNDMxNzY2OTg2ODQ2OTI0XSwgWzE2NjM5MjUwMzQuMTE1NTM3NCwgMjAzNCwgMi4yMjQ5NzQxNTU0MjYwMjU0XSwgWzE2NjM5MjUwMzQuMjQyMDI2LCAyMDQzLCAyLjIwODg1MzQ4MzIwMDA3MzJdLCBbMTY2MzkyNTAzNC41NjgxMDg2LCAyMDcwLCAyLjIwNzA5MTA5MzA2MzM1NDVdLCBbMTY2MzkyNTAzNC43NjM4MDM3LCAyMDg4LCAyLjE2ODUwMjA5MjM2MTQ1XSwgWzE2NjM5MjUwMzQuODU5MDExNywgMjA5NywgMi4xNzA1MzkzNzkxMTk4NzNdLCBbMTY2MzkyNTAzNC45NzU4OTcsIDIxMDYsIDIuMTgyNzIwNDIyNzQ0NzUxXSwgWzE2NjM5MjUwMzUuMTExNTcyNywgMjExNSwgMi4xNDg4MTM3MjQ1MTc4MjIzXSwgWzE2NjM5MjUwMzUuMjA3OTk0MiwgMjEyNCwgMi4xMzYwMDYzNTUyODU2NDQ1XSwgWzE2NjM5MjUwMzUuMzAzMzAwOSwgMjEzMywgMi4xMzQwNjIwNTE3NzMwNzEzXSwgWzE2NjM5MjUwMzUuMzk4OTg3OCwgMjE0MiwgMi4xNzIwNjMzNTA2Nzc0OTAyXSwgWzE2NjM5MjUwMzUuNTMxMTMyMiwgMjE1MSwgMi4xMjA5NDM1NDYyOTUxNjZdLCBbMTY2MzkyNTAzNS42Mzg5NDcsIDIxNjAsIDIuMTA3NjkxNzY0ODMxNTQzXSwgWzE2NjM5MjUwMzUuODQxMDc2OSwgMjE3OCwgMi4wOTg3Njg5NDk1MDg2NjddLCBbMTY2MzkyNTAzNS45NjgzMDQ2LCAyMTg3LCAyLjExMDI0NzYxMTk5OTUxMTddLCBbMTY2MzkyNTAzNi4yMDk2NDcyLCAyMjA1LCAyLjA1NjQ3NzU0NjY5MTg5NDVdLCBbMTY2MzkyNTAzNi4zMjQ3NTUsIDIyMTQsIDIuMDY1Nzg5Njk5NTU0NDQzNF0sIFsxNjYzOTI1MDM2LjQzMTI1NjgsIDIyMjMsIDIuMDU0NzIwNDAxNzYzOTE2XSwgWzE2NjM5MjUwMzYuNTM3MDQ2LCAyMjMyLCAyLjA1OTk1NjMxMjE3OTU2NTRdLCBbMTY2MzkyNTAzNi42MzE5NjcsIDIyNDEsIDIuMDMyMzU1NTQ2OTUxMjk0XSwgWzE2NjM5MjUwMzYuNzM4MDk4OSwgMjI1MCwgMi4wNTc3MjU0Mjk1MzQ5MTJdLCBbMTY2MzkyNTAzNy4yNjUwOTIsIDIyNzcsIDIuMDU5NjA5MTc0NzI4MzkzNl0sIFsxNjYzOTI1MDM3LjM2MTY4NDgsIDIyODYsIDIuMDA1NjIwOTU2NDIwODk4NF0sIFsxNjYzOTI1MDM3LjQ1ODg5MzUsIDIyOTUsIDIuMDM5OTU2MDkyODM0NDcyN10sIFsxNjYzOTI1MDM3LjU1NDIxMjgsIDIzMDQsIDIuMDE3NzUyNDA4OTgxMzIzMl0sIFsxNjYzOTI1MDM3Ljc0Njk3NDcsIDIzMjIsIDIuMDIyNDk2NDYxODY4Mjg2XSwgWzE2NjM5MjUwMzcuODQ3NzIyLCAyMzMxLCAyLjAwOTE3NDU4NTM0MjQwNzJdLCBbMTY2MzkyNTAzNy45Mzc3NzU0LCAyMzQwLCAxLjk3Nzg3ODkyODE4NDUwOTNdLCBbMTY2MzkyNTAzOC4wMzU0MTg1LCAyMzQ5LCAyLjAyNzk5MjQ4Njk1MzczNTRdLCBbMTY2MzkyNTAzOC4zMDA4MjQsIDIzNjcsIDIuMDA1NDMzNTU5NDE3NzI0Nl0sIFsxNjYzOTI1MDM4LjQxNjA1NiwgMjM3NiwgMS45NTEzNDQ2MDkyNjA1NTldLCBbMTY2MzkyNTAzOC42MjA3OTI5LCAyMzk0LCAxLjk1OTU1MzU5OTM1NzYwNV0sIFsxNjYzOTI1MDM4LjkzMzA4MTQsIDI0MjEsIDEuOTU5NDkyMDg3MzY0MTk2OF0sIFsxNjYzOTI1MDM5LjE3ODgwNCwgMjQzOSwgMS45MzI4NzAzODgwMzEwMDU5XSwgWzE2NjM5MjUwMzkuMjk2Mzg4MSwgMjQ0OCwgMS45NTExNDgxNTIzNTEzNzk0XSwgWzE2NjM5MjUwMzkuNTI0NjIzNiwgMjQ2NiwgMS45NTU2NDkzNzU5MTU1MjczXSwgWzE2NjM5MjUwMzkuNjM4NTUwMywgMjQ3NSwgMS45NTQ1NjM0OTg0OTcwMDkzXSwgWzE2NjM5MjUwMzkuNzUxMTM4NCwgMjQ4NCwgMS45MzU1ODk3OTAzNDQyMzgzXSwgWzE2NjM5MjUwMzkuODYzNjc2LCAyNDkzLCAxLjkyODQ2NjIwMDgyODU1MjJdLCBbMTY2MzkyNTA0MC4wODcxMjk0LCAyNTExLCAxLjk2MzM4ODIwNDU3NDU4NV0sIFsxNjYzOTI1MDQwLjIwMDI0ODUsIDI1MjAsIDEuOTA1NDkzODU1NDc2Mzc5NF0sIFsxNjYzOTI1MDQwLjMxMTEzNiwgMjUyOSwgMS45MDU3MTk3NTcwODAwNzgxXSwgWzE2NjM5MjUwNDAuNDE3Nzg3NiwgMjUzOCwgMS44ODkyNDIwNTMwMzE5MjE0XSwgWzE2NjM5MjUwNDAuNTI1NTk4OCwgMjU0NywgMS44NzI2MDM2NTQ4NjE0NTAyXSwgWzE2NjM5MjUwNDAuNjM1NTgyLCAyNTU2LCAxLjkwMjAxNDQ5Mzk0MjI2MDddLCBbMTY2MzkyNTA0MC43NDc2ODk3LCAyNTY1LCAxLjkwODkwMjI4NzQ4MzIxNTNdLCBbMTY2MzkyNTA0MC44NTcxMTA3LCAyNTc0LCAxLjg5NjkxODA1ODM5NTM4NTddLCBbMTY2MzkyNTA0MC45NzU3MDMsIDI1ODMsIDEuODUxMzYzNDIwNDg2NDUwMl0sIFsxNjYzOTI1MDQxLjA5OTQxLCAyNTkyLCAxLjkxNTQyNDIyNzcxNDUzODZdLCBbMTY2MzkyNTA0MS4yMDYxMjU3LCAyNjAxLCAxLjg5MjQ3MDI0MDU5Mjk1NjVdLCBbMTY2MzkyNTA0MS40MjE1NzkxLCAyNjE5LCAxLjg0Njk0MDUxNzQyNTUzN10sIFsxNjYzOTI1MDQxLjUyNTcxODIsIDI2MjgsIDEuODUzNDczNjYzMzMwMDc4MV0sIFsxNjYzOTI1MDQyLjAwOTU2NzUsIDI2NjQsIDEuODk5NjMwNDI3MzYwNTM0N10sIFsxNjYzOTI1MDQyLjEyMTcyMzQsIDI2NzMsIDEuODcwMDIxNzAwODU5MDY5OF0sIFsxNjYzOTI1MDQyLjIzMTcxNCwgMjY4MiwgMS44NjkxOTM1NTM5MjQ1NjA1XSwgWzE2NjM5MjUwNDIuMzQ1MjE5LCAyNjkxLCAxLjg1MTk4OTM4ODQ2NTg4MTNdLCBbMTY2MzkyNTA0Mi40ODM0MTksIDI3MDAsIDEuODM4Nzg0NDU2MjUzMDUxOF0sIFsxNjYzOTI1MDQyLjU5MDIyNTcsIDI3MDksIDEuOTAyMTc2ODU2OTk0NjI5XSwgWzE2NjM5MjUwNDIuOTI1MjgxMywgMjczNiwgMS44MjE1MTI0NjA3MDg2MTgyXSwgWzE2NjM5MjUwNDMuMDMzNjQ4NSwgMjc0NSwgMS44NzQ1OTc1NDk0Mzg0NzY2XSwgWzE2NjM5MjUwNDMuMTQ3NjcwNywgMjc1NCwgMS44MTI2MTkzMjg0OTg4NDAzXSwgWzE2NjM5MjUwNDMuMjczNDk3OCwgMjc2MywgMS44NjAzODE0ODQwMzE2NzcyXSwgWzE2NjM5MjUwNDMuMzkwNzI3OCwgMjc3MiwgMS44NDA4OTgyNzUzNzUzNjYyXSwgWzE2NjM5MjUwNDMuNDg0NzUwMywgMjc4MSwgMS44Mzk1OTA1NDk0Njg5OTQxXSwgWzE2NjM5MjUwNDMuNTgzMjExNCwgMjc5MCwgMS44MTg3MzU5NTcxNDU2OTFdLCBbMTY2MzkyNTA0My43ODg4NzksIDI4MDgsIDEuODA5NzY4NTU3NTQ4NTIzXSwgWzE2NjM5MjUwNDMuODgyMDQ3MiwgMjgxNywgMS44MTkzNDMzMjg0NzU5NTIxXSwgWzE2NjM5MjUwNDMuOTc2OTk4LCAyODI2LCAxLjc5MjU5MjQwNjI3Mjg4ODJdLCBbMTY2MzkyNTA0NC4wNzAwNDY3LCAyODM1LCAxLjgzMTQxMjkxMTQxNTFdLCBbMTY2MzkyNTA0NC4xODg5NTc1LCAyODQ0LCAxLjgwNDA5MTY5MTk3MDgyNTJdLCBbMTY2MzkyNTA0NC4zMDM0OTUyLCAyODUzLCAxLjgzNjY1ODU5Njk5MjQ5MjddLCBbMTY2MzkyNTA0NC41MDYxOTc1LCAyODcxLCAxLjgwNTU2MjQ5NjE4NTMwMjddLCBbMTY2MzkyNTA0NC42NDg5MDY1LCAyODgwLCAxLjc2NzA4MzQwNjQ0ODM2NDNdLCBbMTY2MzkyNTA0NC43NTgyODgsIDI4ODksIDEuODA0MDcxMTg3OTczMDIyNV0sIFsxNjYzOTI1MDQ0Ljg2NjY5MDksIDI4OTgsIDEuNzk1MDg3NDU2NzAzMTg2XSwgWzE2NjM5MjUwNDQuOTg2MzExNywgMjkwNywgMS43ODI0MTI0MDk3ODI0MDk3XSwgWzE2NjM5MjUwNDUuMjA2MzIxNSwgMjkyNSwgMS43OTk2NTE3NDE5ODE1MDYzXSwgWzE2NjM5MjUwNDUuNTQyNTg4NywgMjk1MiwgMS43Nzc5NDY1OTEzNzcyNTgzXSwgWzE2NjM5MjUwNDUuNzU4NzI5MiwgMjk3MCwgMS43NjI3MjcwMjIxNzEwMjA1XSwgWzE2NjM5MjUwNDUuODg5NzI2NiwgMjk3OSwgMS43NjkxNzE4MzM5OTIwMDQ0XSwgWzE2NjM5MjUwNDYuMDExODcyNSwgMjk4OCwgMS43ODAwMjI3NDAzNjQwNzQ3XSwgWzE2NjM5MjUwNDYuMTA5MDk4LCAyOTk3LCAxLjc2MzE0NDI1NDY4NDQ0ODJdLCBbMTY2MzkyNTA0Ni4yMTE5MzI3LCAzMDA2LCAxLjc2NzcxNzEyMzAzMTYxNjJdLCBbMTY2MzkyNTA0Ni41NDEyMjY5LCAzMDMzLCAxLjc2NjgyMzQxMDk4Nzg1NF0sIFsxNjYzOTI1MDQ2Ljg1NTczNzQsIDMwNDIsIDEuNzgyNDkxODAzMTY5MjUwNV0sIFsxNjYzOTI1MDQ2Ljk2Mzc2NSwgMzA1MSwgMS43NTQ5NDUxNTg5NTg0MzVdLCBbMTY2MzkyNTA0Ny4xNzk2OTk0LCAzMDY5LCAxLjc1NzE5NzI2MDg1NjYyODRdLCBbMTY2MzkyNTA0Ny40MTYwNDk3LCAzMDg3LCAxLjc3MzEwNzQwOTQ3NzIzMzldLCBbMTY2MzkyNTA0Ny41Mzg4OTA2LCAzMDk2LCAxLjcyNzUwMzUzODEzMTcxMzldLCBbMTY2MzkyNTA0Ny42NzAyMTczLCAzMTA1LCAxLjcxNzA4MjM4MTI0ODQ3NDFdLCBbMTY2MzkyNTA0Ny44MDAyOTQ5LCAzMTE0LCAxLjczOTgwOTAzNjI1NDg4MjhdLCBbMTY2MzkyNTA0Ny45MjE2NzE5LCAzMTIzLCAxLjc0OTk3MTUwODk3OTc5NzRdLCBbMTY2MzkyNTA0OC4wMjQ1ODM2LCAzMTMyLCAxLjcyNzMzNTgxMDY2MTMxNl0sIFsxNjYzOTI1MDQ4LjEyMDkwMjMsIDMxNDEsIDEuNzE0MjkwNDk5Njg3MTk0OF0sIFsxNjYzOTI1MDQ4LjIxNjEzNjcsIDMxNTAsIDEuNzM3NTE0OTcyNjg2NzY3Nl0sIFsxNjYzOTI1MDQ4LjMxNTI0NzUsIDMxNTksIDEuNzIzNTg0ODkwMzY1NjAwNl0sIFsxNjYzOTI1MDQ4LjUxODkzNzYsIDMxNzcsIDEuNjk5OTM2OTg1OTY5NTQzNV0sIFsxNjYzOTI1MDQ4LjYyNjE0ODUsIDMxODYsIDEuNzIxNjk2ODUzNjM3Njk1M10sIFsxNjYzOTI1MDQ4Ljc2ODQwMzUsIDMxOTUsIDEuNzMxNDYwNjkwNDk4MzUyXSwgWzE2NjM5MjUwNDguODg5NTkzNCwgMzIwNCwgMS43MzA2NDIwODAzMDcwMDY4XSwgWzE2NjM5MjUwNDkuMTM0NDUxMiwgMzIyMiwgMS43Mjk0Mjk3MjE4MzIyNzU0XSwgWzE2NjM5MjUwNDkuMjQ5MDAwNSwgMzIzMSwgMS43NDIzOTIxODIzNTAxNTg3XSwgWzE2NjM5MjUwNDkuNDQ5OTk3NywgMzI0OSwgMS42ODU2NzYwOTc4Njk4NzNdLCBbMTY2MzkyNTA0OS41NjYzNjY0LCAzMjU4LCAxLjcxOTcwMTg4NjE3NzA2M10sIFsxNjYzOTI1MDQ5LjY2ODk0MywgMzI2NywgMS43MjIyMTQ5MzcyMTAwODNdLCBbMTY2MzkyNTA0OS43NjQzNDY2LCAzMjc2LCAxLjcxMjYwMjYxNTM1NjQ0NTNdLCBbMTY2MzkyNTA0OS44NjE3OTMzLCAzMjg1LCAxLjcwMjE2OTUzNzU0NDI1MDVdLCBbMTY2MzkyNTA0OS45NTkzMjYzLCAzMjk0LCAxLjY3OTkyNDcyNjQ4NjIwNl0sIFsxNjYzOTI1MDUwLjA1NjI0NjgsIDMzMDMsIDEuNzMxNjE4Mjg1MTc5MTM4Ml0sIFsxNjYzOTI1MDUwLjE2Mzg5ODIsIDMzMTIsIDEuNjgyNDA4ODA5NjYxODY1Ml0sIFsxNjYzOTI1MDUwLjI1NzkzMzEsIDMzMjEsIDEuNjYxNTg2Mjg0NjM3NDUxMl0sIFsxNjYzOTI1MDUwLjM1Mzg0MzcsIDMzMzAsIDEuNzM1ODU2NTMzMDUwNTM3XSwgWzE2NjM5MjUwNTAuODE0Njg0NiwgMzM2NiwgMS42ODQ5NzI3NjMwNjE1MjM0XSwgWzE2NjM5MjUwNTAuOTI4MzU2NiwgMzM3NSwgMS42NzAxMjk4OTUyMTAyNjYxXSwgWzE2NjM5MjUwNTEuMDI4MTMwNSwgMzM4NCwgMS42ODU0OTQ0MjI5MTI1OTc3XSwgWzE2NjM5MjUwNTEuNjUxNTEzNiwgMzQwMiwgMS42NTIyMzEwOTcyMjEzNzQ1XSwgWzE2NjM5MjUwNTEuOTA1MzkwNywgMzQxMSwgMS42NTI1ODI4ODM4MzQ4Mzg5XSwgWzE2NjM5MjUwNTIuNDc1NjQ4NCwgMzQ0NywgMS42Mzc4MTMzMjk2OTY2NTUzXSwgWzE2NjM5MjUwNTMuMTg0ODk2NywgMzQ2NSwgMS42NTczOTAyMzY4NTQ1NTMyXSwgWzE2NjM5MjUwNTMuMjk5NjU2LCAzNDc0LCAxLjYzOTUxMDg2OTk3OTg1ODRdLCBbMTY2MzkyNTA1My40MTY0ODM0LCAzNDgzLCAxLjY1NzcxNjUxMjY4MDA1MzddLCBbMTY2MzkyNTA1NC4wMzQ2NTc3LCAzNTEwLCAxLjYzMDA2Mzc3MjIwMTUzOF0sIFsxNjYzOTI1MDU0LjM4MjIzMDUsIDM1MTksIDEuNjM1MTQ2MjYwMjYxNTM1Nl0sIFsxNjYzOTI1MDU0LjUxNTkwMzIsIDM1MjgsIDEuNjE1NTE1NTg5NzE0MDUwM10sIFsxNjYzOTI1MDU0LjYyODAyMzQsIDM1MzcsIDEuNjg4ODMxODA2MTgyODYxM10sIFsxNjYzOTI1MDU0LjczMTg4LCAzNTQ2LCAxLjYxMzc4NjU3ODE3ODQwNThdLCBbMTY2MzkyNTA1NC44MzUwMDU1LCAzNTU1LCAxLjYzMjQwMjQyMDA0Mzk0NTNdLCBbMTY2MzkyNTA1NC45MzQ2NjQsIDM1NjQsIDEuNjQ4MTgwNjAzOTgxMDE4XSwgWzE2NjM5MjUwNTUuMDUwNjUwMSwgMzU3MywgMS42MDMyMjUzNTAzNzk5NDM4XSwgWzE2NjM5MjUwNTUuMTg3OTM2OCwgMzU4MiwgMS42Mjg3NTM3ODEzMTg2NjQ2XSwgWzE2NjM5MjUwNTUuMjg5MzQyOSwgMzU5MSwgMS42Mzk0MjMxMzE5NDI3NDldLCBbMTY2MzkyNTA1NS4zOTA4MzMsIDM2MDAsIDEuNjM3Njg5NTkwNDU0MTAxNl0sIFsxNjYzOTI1MDU1LjQ5OTQ3NzEsIDM2MDksIDEuNjE5MjQ4ODY3MDM0OTEyXSwgWzE2NjM5MjUwNTUuNTk5MTc4LCAzNjE4LCAxLjYyODgxNzc5NjcwNzE1MzNdLCBbMTY2MzkyNTA1NS42OTkyMTg4LCAzNjI3LCAxLjYwMTM5Mjg2NTE4MDk2OTJdLCBbMTY2MzkyNTA1NS44OTY3MjgsIDM2NDUsIDEuNTkyNzMzNzQwODA2NTc5Nl0sIFsxNjYzOTI1MDU2LjAxOTU5NDcsIDM2NTQsIDEuNjI4NTkxMTc5ODQ3NzE3M10sIFsxNjYzOTI1MDU2LjEyMzg0NywgMzY2MywgMS41ODI2ODQ2MzYxMTYwMjc4XSwgWzE2NjM5MjUwNTYuMjI2MTAzOCwgMzY3MiwgMS41OTk3MjY5MTUzNTk0OTddLCBbMTY2MzkyNTA1Ni4zMjcxODMyLCAzNjgxLCAxLjY0MDc1ODM5NTE5NTAwNzNdLCBbMTY2MzkyNTA1Ni40MzYxMDMsIDM2OTAsIDEuNjI3MTM0OTE5MTY2NTY1XSwgWzE2NjM5MjUwNTYuNzQxOTk3MiwgMzcxNywgMS41NzYxMTQ1MzUzMzE3MjZdLCBbMTY2MzkyNTA1Ni44NDY3OTUzLCAzNzI2LCAxLjU4MjgzNDQ4MjE5Mjk5MzJdLCBbMTY2MzkyNTA1Ni45NTc3NzY4LCAzNzM1LCAxLjY0MzIxMjkxNDQ2Njg1OF0sIFsxNjYzOTI1MDU3LjA2ODM1NDEsIDM3NDQsIDEuNjA1MTY5NjUzODkyNTE3XSwgWzE2NjM5MjUwNTcuNDEwNTkxOCwgMzc3MSwgMS41NjI5MDE5NzM3MjQzNjUyXSwgWzE2NjM5MjUwNTcuNTA5MTEwNSwgMzc4MCwgMS41NjE2NTkwOTc2NzE1MDg4XSwgWzE2NjM5MjUwNTcuNzE5NDY2NywgMzc5OCwgMS41NjAzMDc5Nzk1ODM3NDAyXSwgWzE2NjM5MjUwNTcuODIyNjE2MywgMzgwNywgMS41NjY4NDExMjU0ODgyODEyXSwgWzE2NjM5MjUwNTguMDU0MDYyNCwgMzgyNSwgMS41NzIyMzQ2MzA1ODQ3MTY4XSwgWzE2NjM5MjUwNTguMzYzMjE0NSwgMzgzNCwgMS41OTMyMTExNzQwMTEyMzA1XSwgWzE2NjM5MjUwNTguNDY3MTM5NywgMzg0MywgMS41NDY0NTI1MjIyNzc4MzJdLCBbMTY2MzkyNTA1OC41NjYxNDgzLCAzODUyLCAxLjU1MTAxMjI3NzYwMzE0OTRdLCBbMTY2MzkyNTA1OC43NzQyNzc0LCAzODcwLCAxLjU0OTc2NDUxMzk2OTQyMTRdLCBbMTY2MzkyNTA1OC44NzU0MTYsIDM4NzksIDEuNTU5MDY4NTYwNjAwMjgwOF0sIFsxNjYzOTI1MDU4Ljk4MzQ4MSwgMzg4OCwgMS41OTM4MjQ4NjM0MzM4MzhdLCBbMTY2MzkyNTA1OS4zMDUxOTQ0LCAzOTE1LCAxLjU0NjkyOTM1OTQzNjAzNTJdLCBbMTY2MzkyNTA1OS40MTEzMjI4LCAzOTI0LCAxLjUzMTczNDEwODkyNDg2NTddLCBbMTY2MzkyNTA1OS41MTU1ODUsIDM5MzMsIDEuNTM3NDQ1MzA2Nzc3OTU0XSwgWzE2NjM5MjUwNTkuNjE1MDYyNywgMzk0MiwgMS41MzM1MTMzMDc1NzE0MTExXSwgWzE2NjM5MjUwNTkuNzI0MDIzMywgMzk1MSwgMS41NTQxNjg0NjI3NTMyOTZdLCBbMTY2MzkyNTA1OS44MzA2NjgsIDM5NjAsIDEuNDkzODcxNTY5NjMzNDgzOV0sIFsxNjYzOTI1MDU5Ljk1NjcxNjUsIDM5NjksIDEuNTI0NjE0NTcyNTI1MDI0NF0sIFsxNjYzOTI1MDYwLjA2MDE0NywgMzk3OCwgMS41MTg2NzQ2MTIwNDUyODhdLCBbMTY2MzkyNTA2MC4zMTQzNzksIDM5OTYsIDEuNTM5NzM2OTg2MTYwMjc4M10sIFsxNjYzOTI1MDYwLjQxMjMxMTYsIDQwMDUsIDEuNTQ5MTYzOTM3NTY4NjY0Nl0sIFsxNjYzOTI1MDYwLjUwOTcwMSwgNDAxNCwgMS41MzU2MDIwOTI3NDI5Ml0sIFsxNjYzOTI1MDYwLjYwMDgzOTQsIDQwMjMsIDEuNTI2Mjg3NTU1Njk0NThdLCBbMTY2MzkyNTA2MC45OTExODgsIDQwNTksIDEuNTMxNzI4Mzg2ODc4OTY3M10sIFsxNjYzOTI1MDYxLjExNTkyNTgsIDQwNjgsIDEuNTQwOTYyOTM0NDk0MDE4Nl0sIFsxNjYzOTI1MDYxLjI1NDIzMzQsIDQwNzcsIDEuNTI0ODcyNTQxNDI3NjEyM10sIFsxNjYzOTI1MDYxLjM2NjUyNzgsIDQwODYsIDEuNDk3MzEzNzM3ODY5MjYyN10sIFsxNjYzOTI1MDYxLjQ2OTgxNiwgNDA5NSwgMS40OTY3NTY2NzI4NTkxOTJdLCBbMTY2MzkyNTA2MS42ODI4NCwgNDExMywgMS41MTM4MzA0MjMzNTUxMDI1XSwgWzE2NjM5MjUwNjEuOTAxMTMzMywgNDEzMSwgMS41MDYzNjg4NzU1MDM1NF0sIFsxNjYzOTI1MDYyLjEwMjU3OTQsIDQxNDksIDEuNTEwNDIzNTQxMDY5MDMwOF0sIFsxNjYzOTI1MDYyLjIxMTM4NDUsIDQxNTgsIDEuNTAzNzcwOTQ3NDU2MzU5OV0sIFsxNjYzOTI1MDYyLjMwNjc0NTMsIDQxNjcsIDEuNTAzMjA1MTgwMTY4MTUxOV0sIFsxNjYzOTI1MDYyLjUxNDc0MDIsIDQxODUsIDEuNDk0MDA2NTE0NTQ5MjU1NF0sIFsxNjYzOTI1MDYyLjY1NDYyMTgsIDQxOTQsIDEuNDc4OTI5NDAwNDQ0MDMwOF0sIFsxNjYzOTI1MDYyLjc0OTg5NDYsIDQyMDMsIDEuNTAwNzI4OTY0ODA1NjAzXSwgWzE2NjM5MjUwNjIuOTU2MjQzMywgNDIyMSwgMS40NzQ1MjA5MjE3MDcxNTMzXSwgWzE2NjM5MjUwNjMuMDc3OTIxLCA0MjMwLCAxLjQ5NTkxMTcxNzQxNDg1Nl0sIFsxNjYzOTI1MDYzLjIwMjA5NzcsIDQyMzksIDEuNDc2NzU4NzE4NDkwNjAwNl0sIFsxNjYzOTI1MDYzLjMyOTMyMTYsIDQyNDgsIDEuNDg0NjY3ODk3MjI0NDI2M10sIFsxNjYzOTI1MDYzLjUzOTM5MTMsIDQyNjYsIDEuNDc0OTM3NDM4OTY0ODQzOF0sIFsxNjYzOTI1MDYzLjY0ODM1NywgNDI3NSwgMS41MDMxNjgyMjUyODgzOTExXSwgWzE2NjM5MjUwNjMuNzQ2ODI2LCA0Mjg0LCAxLjUwMjI3Njc3ODIyMTEzMDRdLCBbMTY2MzkyNTA2NC4wNDc2NDQ5LCA0MzExLCAxLjQ0NTM1MDg4NTM5MTIzNTRdLCBbMTY2MzkyNTA2NC4xNzQ5MTUzLCA0MzIwLCAxLjQ4MTQ3Nzk3NTg0NTMzN10sIFsxNjYzOTI1MDY0LjMwNDQ2NjUsIDQzMjksIDEuNDUyODY5ODkyMTIwMzYxM10sIFsxNjYzOTI1MDY0LjQyMDExNTIsIDQzMzgsIDEuNDY3OTE5ODI2NTA3NTY4NF0sIFsxNjYzOTI1MDY0LjUyMzM4MDgsIDQzNDcsIDEuNDcwMzY2MTIwMzM4NDRdLCBbMTY2MzkyNTA2NC42MjE5OTQsIDQzNTYsIDEuNDc4MjA0NDg4NzU0MjcyNV0sIFsxNjYzOTI1MDY0LjcyMzk2ODUsIDQzNjUsIDEuNDU0NTgyMjE0MzU1NDY4OF0sIFsxNjYzOTI1MDY0LjkxOTkzMSwgNDM4MywgMS41MjM3NjI0NjQ1MjMzMTU0XSwgWzE2NjM5MjUwNjUuMDIyNjkzLCA0MzkyLCAxLjQxMjMzNjQ2ODY5NjU5NDJdLCBbMTY2MzkyNTA2NS4xMTk4MDA4LCA0NDAxLCAxLjQ3NDc5NzEyOTYzMTA0MjVdLCBbMTY2MzkyNTA2NS4yMTk2MjA3LCA0NDEwLCAxLjQzNDgwMDUwNTYzODEyMjZdLCBbMTY2MzkyNTA2NS4zMTk5ODA2LCA0NDE5LCAxLjQyNTE5MTY0MDg1Mzg4MThdLCBbMTY2MzkyNTA2NS40MzI4MjU4LCA0NDI4LCAxLjQ0MDE2NzQyNzA2Mjk4ODNdLCBbMTY2MzkyNTA2NS43Mjg2MjYzLCA0NDU1LCAxLjQzOTI3NzI5MTI5NzkxMjZdLCBbMTY2MzkyNTA2NS44MjQ4Njg0LCA0NDY0LCAxLjQyMjg3MzEzOTM4MTQwODddLCBbMTY2MzkyNTA2Ni4wMzE4NjgyLCA0NDgyLCAxLjQzMTUzOTg5MzE1MDMyOTZdLCBbMTY2MzkyNTA2Ni4xMjM2ODgyLCA0NDkxLCAxLjQyNTY5Njg0OTgyMjk5OF0sIFsxNjYzOTI1MDY2LjIyNDY0MDQsIDQ1MDAsIDEuNDQ5MzM3MTI0ODI0NTI0XSwgWzE2NjM5MjUwNjYuNDMyNjk3MywgNDUxOCwgMS40Mjc5OTg0MjM1NzYzNTVdLCBbMTY2MzkyNTA2Ni41MzIwNjg1LCA0NTI3LCAxLjQ0NTMxMjczODQxODU3OV0sIFsxNjYzOTI1MDY2LjYyODg4MSwgNDUzNiwgMS40MjA3Mzk3Njk5MzU2MDhdLCBbMTY2MzkyNTA2Ny4wMTczOTEyLCA0NTYzLCAxLjQxNzM0NTE2NjIwNjM1OTldLCBbMTY2MzkyNTA2Ny4xMjIyMzY3LCA0NTcyLCAxLjQyMjY0OTYyMTk2MzUwMV0sIFsxNjYzOTI1MDY3LjI0NDY2OTQsIDQ1ODEsIDEuNDI0Mzc5NTg3MTczNDYyXSwgWzE2NjM5MjUwNjcuMzQ3ODI1NSwgNDU5MCwgMS4zOTcyMTM2OTc0MzM0NzE3XSwgWzE2NjM5MjUwNjcuNDc3NjcyOCwgNDU5OSwgMS4zOTM5MTk0Njc5MjYwMjU0XSwgWzE2NjM5MjUwNjcuNzk5Njc3NCwgNDYwOCwgMS40MjEwMjU2MzM4MTE5NTA3XSwgWzE2NjM5MjUwNjcuOTI2NjkyNywgNDYxNywgMS40MjQ5NTI1MDcwMTkwNDNdLCBbMTY2MzkyNTA2OC4wMzA3ODk5LCA0NjI2LCAxLjQxNTk1ODc2MjE2ODg4NDNdLCBbMTY2MzkyNTA2OC4xMzM3NTcsIDQ2MzUsIDEuNDUzNzgxNjA0NzY2ODQ1N10sIFsxNjYzOTI1MDY4LjM0MjUwOTMsIDQ2NTMsIDEuNDAxNzI2MjQ1ODgwMTI3XSwgWzE2NjM5MjUwNjguNDYxMzg4NiwgNDY2MiwgMS40MTYyOTg5ODU0ODEyNjIyXSwgWzE2NjM5MjUwNjguNTcxODA5OCwgNDY3MSwgMS40MTg2MTQ3NDUxNDAwNzU3XSwgWzE2NjM5MjUwNjguNjY4OTgsIDQ2ODAsIDEuMzg5MzkzNDQ4ODI5NjUwOV0sIFsxNjYzOTI1MDY4Ljc2NzEwOTksIDQ2ODksIDEuMzczMDY3NzM2NjI1NjcxNF0sIFsxNjYzOTI1MDY4Ljg2MDk5NTMsIDQ2OTgsIDEuMzk2MTY3MTU5MDgwNTA1NF0sIFsxNjYzOTI1MDY5LjA1NzE4ODUsIDQ3MTYsIDEuNDEwNzQ3MDUxMjM5MDEzN10sIFsxNjYzOTI1MDY5LjM2MjM1NDgsIDQ3NDMsIDEuMzY4OTU0NjU4NTA4MzAwOF0sIFsxNjYzOTI1MDY5LjQ2MjIyMTEsIDQ3NTIsIDEuMzg5Mjc1Nzg5MjYwODY0M10sIFsxNjYzOTI1MDY5Ljc3NTAzNDcsIDQ3NzksIDEuMzkyNjkwNDIwMTUwNzU2OF0sIFsxNjYzOTI1MDY5Ljk2NjEzMjksIDQ3OTcsIDEuMzkwMTM0OTMwNjEwNjU2N10sIFsxNjYzOTI1MDcwLjA2MDg4NDIsIDQ4MDYsIDEuNDA1NjkwNTUwODA0MTM4Ml0sIFsxNjYzOTI1MDcwLjE5Njk2NzQsIDQ4MTUsIDEuNDE4MDM0MTk1ODk5OTYzNF0sIFsxNjYzOTI1MDcwLjI5MjgxODgsIDQ4MjQsIDEuNDA4ODExMDkyMzc2NzA5XSwgWzE2NjM5MjUwNzAuMzg5NTE3OCwgNDgzMywgMS4zOTA5ODcwMzg2MTIzNjU3XSwgWzE2NjM5MjUwNzAuNDg1NjQ4NiwgNDg0MiwgMS4zNzA4NzMwOTM2MDUwNDE1XSwgWzE2NjM5MjUwNzAuNjE1NTYzMiwgNDg1MSwgMS4zNjY1MTUxNTk2MDY5MzM2XSwgWzE2NjM5MjUwNzAuNzE3OTU5NCwgNDg2MCwgMS4zOTk4MDg3NjQ0NTc3MDI2XSwgWzE2NjM5MjUwNzAuODEyMzEyMSwgNDg2OSwgMS40MDMwODI4NDc1OTUyMTQ4XSwgWzE2NjM5MjUwNzAuOTA4NTE0NywgNDg3OCwgMS40MDI1MTA4ODE0MjM5NTAyXSwgWzE2NjM5MjUwNzEuMDIyNjYsIDQ4ODcsIDEuMzg5MDQ3ODYxMDk5MjQzMl0sIFsxNjYzOTI1MDcxLjEzMTE5NDQsIDQ4OTYsIDEuMzg3NDQ5MjY0NTI2MzY3Ml0sIFsxNjYzOTI1MDcxLjIzMTI4MzQsIDQ5MDUsIDEuMzU4MjQ3NTE4NTM5NDI4N10sIFsxNjYzOTI1MDcxLjQzMTIyMjcsIDQ5MjMsIDEuMzc0MzI4OTcwOTA5MTE4N10sIFsxNjYzOTI1MDcxLjUzMzc3OCwgNDkzMiwgMS40MTcwMjY1MTk3NzUzOTA2XSwgWzE2NjM5MjUwNzEuNjQxNzQzNywgNDk0MSwgMS4zNzUzMjA3OTIxOTgxODEyXSwgWzE2NjM5MjUwNzEuODQ2MzAxLCA0OTU5LCAxLjM0MjQ1ODg0NDE4NDg3NTVdLCBbMTY2MzkyNTA3Mi4wNTEwNDE4LCA0OTc3LCAxLjMyNzc0NTQzNzYyMjA3MDNdLCBbMTY2MzkyNTA3Mi4xNDk3NTEyLCA0OTg2LCAxLjM2NDU1NTU5NzMwNTI5NzldLCBbMTY2MzkyNTA3Mi4yNjI2ODY1LCA0OTk1LCAxLjM0NDAzOTQ0MDE1NTAyOTNdLCBbMTY2MzkyNTA3Mi4zOTY4NDI3LCA1MDA0LCAxLjM2MTc3Mjg5NDg1OTMxNF0sIFsxNjYzOTI1MDcyLjUxMTMyNzcsIDUwMTMsIDEuMzQxMjU3MDk1MzM2OTE0XSwgWzE2NjM5MjUwNzIuNzc4Mzg4NywgNTAzMSwgMS4zNDQ0MzE2Mzg3MTc2NTE0XSwgWzE2NjM5MjUwNzIuODgxMzMxMiwgNTA0MCwgMS4zNDIwNTYxNTUyMDQ3NzNdLCBbMTY2MzkyNTA3My4wODcyMjEsIDUwNTgsIDEuMzYxMTY5MDk5ODA3NzM5M10sIFsxNjYzOTI1MDczLjE5MTc3NCwgNTA2NywgMS4zNjcwMjE2Nzk4NzgyMzQ5XSwgWzE2NjM5MjUwNzMuMjkyMDQ1NiwgNTA3NiwgMS4zNTUwMzkyMzg5Mjk3NDg1XSwgWzE2NjM5MjUwNzMuMzk5NTQxNiwgNTA4NSwgMS4zMjY3MTc3MzQzMzY4NTNdLCBbMTY2MzkyNTA3My42MTUzNzU4LCA1MTAzLCAxLjM2NTU4MjQ2NjEyNTQ4ODNdLCBbMTY2MzkyNTA3My43MTcwNzE4LCA1MTEyLCAxLjM1MzIyNDk5Mjc1MjA3NTJdLCBbMTY2MzkyNTA3My44MjEzNjY1LCA1MTIxLCAxLjM2MDM4NTg5NDc3NTM5MDZdLCBbMTY2MzkyNTA3My45NDc1NjgsIDUxMzAsIDEuMzE5ODU0MjU5NDkwOTY2OF0sIFsxNjYzOTI1MDc0LjIwNDY4NywgNTE0OCwgMS4zMTk1ODM2NTQ0MDM2ODY1XSwgWzE2NjM5MjUwNzQuNDE1NjE2MywgNTE2NiwgMS4zMTM1NjE5MTYzNTEzMTg0XSwgWzE2NjM5MjUwNzQuNjEzODE1OCwgNTE4NCwgMS4zNDY2NjY5MzIxMDYwMThdLCBbMTY2MzkyNTA3NC43MTE3MjIxLCA1MTkzLCAxLjM2ODQ3ODUzNjYwNTgzNV0sIFsxNjYzOTI1MDc0LjgyODgxODgsIDUyMDIsIDEuMzMyNjUzNjQxNzAwNzQ0Nl0sIFsxNjYzOTI1MDc1LjE3NDU1MDUsIDUyMjksIDEuMzI4MzM2MjM4ODYxMDg0XSwgWzE2NjM5MjUwNzUuNjQyNjQ3NSwgNTI2NSwgMS4zMDMxMjQwNzAxNjc1NDE1XSwgWzE2NjM5MjUwNzUuNzY5NjYzMywgNTI3NCwgMS4zMDY3MjY1NzQ4OTc3NjYxXSwgWzE2NjM5MjUwNzUuODg4NjksIDUyODMsIDEuMzEzMjM0ODA2MDYwNzkxXSwgWzE2NjM5MjUwNzYuMTMwOTYxNywgNTMwMSwgMS4zMTY2ODM3NjkyMjYwNzQyXSwgWzE2NjM5MjUwNzYuMjYyODkyMiwgNTMxMCwgMS4zMTg2NTc4NzUwNjEwMzUyXSwgWzE2NjM5MjUwNzYuMzkzMDEyOCwgNTMxOSwgMS4zMzg1MTE0NjY5Nzk5ODA1XSwgWzE2NjM5MjUwNzYuNTAwNjMzLCA1MzI4LCAxLjMyNzM4Mzg3NTg0Njg2MjhdLCBbMTY2MzkyNTA3Ni42MDAwMTU2LCA1MzM3LCAxLjMxNDg0MTg2NjQ5MzIyNV0sIFsxNjYzOTI1MDc2LjcwMDY1NiwgNTM0NiwgMS4yOTM4ODMyMDQ0NjAxNDRdLCBbMTY2MzkyNTA3Ni43OTczNDc1LCA1MzU1LCAxLjMxNjU2ODg1MTQ3MDk0NzNdLCBbMTY2MzkyNTA3Ni44OTk5NDA1LCA1MzY0LCAxLjMyMDQxMDg0NzY2Mzg3OTRdLCBbMTY2MzkyNTA3Ni45OTIwNzYsIDUzNzMsIDEuMzE3Nzg3NzY2NDU2NjA0XSwgWzE2NjM5MjUwNzcuMDkyMjEyNywgNTM4MiwgMS4zMDg0NjEzMDg0NzkzMDldLCBbMTY2MzkyNTA3Ny4zODY1MjUsIDUzOTEsIDEuMzIzMDQwNjA0NTkxMzY5Nl0sIFsxNjYzOTI1MDc3LjQ5OTIyNzMsIDU0MDAsIDEuMzAwNDEyODkzMjk1Mjg4XSwgWzE2NjM5MjUwNzcuNzA5ODU5LCA1NDE4LCAxLjI4NjU5ODIwNTU2NjQwNjJdLCBbMTY2MzkyNTA3Ny44MzI1NzQxLCA1NDI3LCAxLjI5MTgwOTkxNjQ5NjI3NjldLCBbMTY2MzkyNTA3Ny45NDYzNTYzLCA1NDM2LCAxLjMwOTE5MDc1MDEyMjA3MDNdLCBbMTY2MzkyNTA3OC4wNTgzMzE3LCA1NDQ1LCAxLjI5MTUzNzY0MjQ3ODk0MjldLCBbMTY2MzkyNTA3OC4xNzk4MDYyLCA1NDU0LCAxLjI5MTM3Njk0ODM1NjYyODRdLCBbMTY2MzkyNTA3OC40MDEzNDYyLCA1NDcyLCAxLjI4MzI1MzU1MDUyOTQ4XSwgWzE2NjM5MjUwNzguNTAxNzg1OCwgNTQ4MSwgMS4zMzE5ODc3Mzg2MDkzMTRdLCBbMTY2MzkyNTA3OC42MDg2MzY0LCA1NDkwLCAxLjI4MDE0MjU0NTcwMDA3MzJdLCBbMTY2MzkyNTA3OC43MTA5MjEzLCA1NDk5LCAxLjMwNjE0MjgwNzAwNjgzNl0sIFsxNjYzOTI1MDc5LjAzMjMwOTUsIDU1MjYsIDEuMzA5NTM5Njc1NzEyNTg1NF0sIFsxNjYzOTI1MDc5LjE0NjgwNDMsIDU1MzUsIDEuMjkwNjg2OTY0OTg4NzA4NV0sIFsxNjYzOTI1MDc5LjM2MzQxODYsIDU1NTMsIDEuMjkzNzU1NTMxMzExMDM1Ml0sIFsxNjYzOTI1MDc5LjQ3MDc0MTMsIDU1NjIsIDEuMzIxMjQ5MzY1ODA2NTc5Nl0sIFsxNjYzOTI1MDc5LjU2OTc1NDEsIDU1NzEsIDEuMzEzMTEyOTc0MTY2ODcwMV0sIFsxNjYzOTI1MDc5LjY2NDIwMiwgNTU4MCwgMS4yOTUzNzQwMzU4MzUyNjYxXSwgWzE2NjM5MjUwNzkuNzk5NDkwMiwgNTU4OSwgMS4yODE0MTI2MDE0NzA5NDczXSwgWzE2NjM5MjUwNzkuOTM0MTgyNiwgNTU5OCwgMS4yOTI4MzcyNjIxNTM2MjU1XSwgWzE2NjM5MjUwODAuMDYxMDk4MywgNTYwNywgMS4yODYzNDU5NTg3MDk3MTY4XSwgWzE2NjM5MjUwODAuMTcyMjQxNCwgNTYxNiwgMS4yODAzNjIyNDg0MjA3MTUzXSwgWzE2NjM5MjUwODAuMzgxNzA0OCwgNTYzNCwgMS4zMDkxMzAzMTEwMTIyNjhdLCBbMTY2MzkyNTA4MC40ODUwODM2LCA1NjQzLCAxLjMxNTc2MzcxMTkyOTMyMTNdLCBbMTY2MzkyNTA4MC41ODcwNjY0LCA1NjUyLCAxLjI3MzQ1NzI4ODc0MjA2NTRdLCBbMTY2MzkyNTA4MC42OTI3MTYxLCA1NjYxLCAxLjMxMzUwMjY2OTMzNDQxMTZdLCBbMTY2MzkyNTA4MC43OTQ0NzU2LCA1NjcwLCAxLjMwNDU4MTk5OTc3ODc0NzZdLCBbMTY2MzkyNTA4MS4xMDc1MDcsIDU2OTcsIDEuMjcyOTc4NzgyNjUzODA4Nl0sIFsxNjYzOTI1MDgxLjIxMDAzNzIsIDU3MDYsIDEuMjYzMDIwOTkyMjc5MDUyN10sIFsxNjYzOTI1MDgxLjMwMjgxNDcsIDU3MTUsIDEuMzA0NDQ3NjUwOTA5NDIzOF0sIFsxNjYzOTI1MDgxLjQwMzEzNjMsIDU3MjQsIDEuMjUwMTQ1NzkyOTYxMTIwNl0sIFsxNjYzOTI1MDgxLjQ5OTEzMjIsIDU3MzMsIDEuMjUwMzcxMzM2OTM2OTUwN10sIFsxNjYzOTI1MDgxLjU5MjY2MiwgNTc0MiwgMS4yNjg3OTYzMjQ3Mjk5MTk0XSwgWzE2NjM5MjUwODEuODgxMDM4NCwgNTc2OSwgMS4yNjM4NTEyODQ5ODA3NzRdLCBbMTY2MzkyNTA4MS45NzE1ODg5LCA1Nzc4LCAxLjI2NjM1ODQ5NDc1ODYwNl0sIFsxNjYzOTI1MDgyLjA3MDkwNDUsIDU3ODcsIDEuMjUwMzE1MzA4NTcwODYxOF0sIFsxNjYzOTI1MDgyLjE3MTk5NTYsIDU3OTYsIDEuMjYxNDExNTQ3NjYwODI3Nl0sIFsxNjYzOTI1MDgyLjI3MjcxMTUsIDU4MDUsIDEuMjc1MTU2MjU5NTM2NzQzMl0sIFsxNjYzOTI1MDgyLjM4NzE1ODIsIDU4MTQsIDEuMjc4NzMwMDM0ODI4MTg2XSwgWzE2NjM5MjUwODIuNzE4NDAyLCA1ODQxLCAxLjI3NzM5MjM4NzM5MDEzNjddLCBbMTY2MzkyNTA4Mi44MjcwOTA3LCA1ODUwLCAxLjI2OTU3ODA5OTI1MDc5MzVdLCBbMTY2MzkyNTA4My4wMjU0MzE0LCA1ODY4LCAxLjI4MDczNTI1NDI4NzcxOTddLCBbMTY2MzkyNTA4My4xMjcyNjM4LCA1ODc3LCAxLjMyNjA5NjUzNDcyOTAwNF0sIFsxNjYzOTI1MDgzLjIzMzA2OTcsIDU4ODYsIDEuMjU3MjI2NDY3MTMyNTY4NF0sIFsxNjYzOTI1MDgzLjMzNTQyMDQsIDU4OTUsIDEuMjY2NDQ3MDY3MjYwNzQyMl0sIFsxNjYzOTI1MDgzLjQ0NDg2NDcsIDU5MDQsIDEuMjY3NjYxNTcxNTAyNjg1NV0sIFsxNjYzOTI1MDgzLjc1OTg5MTUsIDU5MzEsIDEuMjU4NzU2NzU2NzgyNTMxN10sIFsxNjYzOTI1MDgzLjg1NDk3NjcsIDU5NDAsIDEuMjY0OTc5ODM5MzI0OTUxMl0sIFsxNjYzOTI1MDgzLjk1NzM4MywgNTk0OSwgMS4yMzExNTg0OTQ5NDkzNDA4XSwgWzE2NjM5MjUwODQuMDg4NjI5MiwgNTk1OCwgMS4yNTA5NzA2MDIwMzU1MjI1XSwgWzE2NjM5MjUwODQuMjg4NDk3LCA1OTc2LCAxLjI4OTYyMjY2NDQ1MTU5OTFdLCBbMTY2MzkyNTA4NC41MTYxMDM1LCA1OTk0LCAxLjI2MDE1MTc0Mzg4ODg1NV0sIFsxNjYzOTI1MDg0LjczODU0ODMsIDYwMTIsIDEuMjU0NzUzNTg5NjMwMTI3XSwgWzE2NjM5MjUwODQuOTc5NTY4NywgNjAzMCwgMS4yNzI0NjYwNjM0OTk0NTA3XSwgWzE2NjM5MjUwODUuMDg0NDc2MiwgNjAzOSwgMS4yMzMzMzUxMzczNjcyNDg1XSwgWzE2NjM5MjUwODUuMjE0NzQ2NSwgNjA0OCwgMS4yNjk3MjcyMzAwNzIwMjE1XSwgWzE2NjM5MjUwODUuMzEzMTQ3NSwgNjA1NywgMS4yNDAyNDEyODkxMzg3OTRdLCBbMTY2MzkyNTA4NS40Mjg3MzQsIDYwNjYsIDEuMjk1NzYyMzAwNDkxMzMzXSwgWzE2NjM5MjUwODUuNjY2MTQzLCA2MDg0LCAxLjIyMjQ1MjI4MjkwNTU3ODZdLCBbMTY2MzkyNTA4NS43NzE5NDg4LCA2MDkzLCAxLjIyOTQyMTQ5NjM5MTI5NjRdLCBbMTY2MzkyNTA4NS44ODA0MDI4LCA2MTAyLCAxLjI0NzUzMzU1OTc5OTE5NDNdLCBbMTY2MzkyNTA4Ni4wMDIxMDUyLCA2MTExLCAxLjIyNjE2ODM5NDA4ODc0NTFdLCBbMTY2MzkyNTA4Ni4xMTY4NTc4LCA2MTIwLCAxLjIyOTQ2MTc4OTEzMTE2NDZdLCBbMTY2MzkyNTA4Ni4yMDg5Njc0LCA2MTI5LCAxLjI1MDc3NDE0NTEyNjM0MjhdLCBbMTY2MzkyNTA4Ni40MTE4NDcsIDYxNDcsIDEuMjY4MTk4MTMyNTE0OTUzNl0sIFsxNjYzOTI1MDg2LjUxMjU5NjQsIDYxNTYsIDEuMjU4OTI2MDMzOTczNjkzOF0sIFsxNjYzOTI1MDg2Ljc5NTc5MDQsIDYxNjUsIDEuMjM5NzcxNzIzNzQ3MjUzNF0sIFsxNjYzOTI1MDg2Ljg5MjgwNTgsIDYxNzQsIDEuMjQwMjIyMjE1NjUyNDY1OF0sIFsxNjYzOTI1MDg3LjA5Mjc5ODcsIDYxOTIsIDEuMjU4NjM0MDkwNDIzNTg0XSwgWzE2NjM5MjUwODcuMTk0NDY3OCwgNjIwMSwgMS4yMzAzNTk1NTQyOTA3NzE1XSwgWzE2NjM5MjUwODcuMjk1NTEzNCwgNjIxMCwgMS4yMTk5MzYzNzA4NDk2MDk0XSwgWzE2NjM5MjUwODcuNDA3Nzc5LCA2MjE5LCAxLjIzMTg4NTc5MDgyNDg5MDFdLCBbMTY2MzkyNTA4Ny42MjA1MzkyLCA2MjM3LCAxLjIxOTU3NjIzOTU4NTg3NjVdLCBbMTY2MzkyNTA4Ny43MTU4MDI0LCA2MjQ2LCAxLjI0NjExMDU1ODUwOTgyNjddLCBbMTY2MzkyNTA4Ny44MTU2NDkzLCA2MjU1LCAxLjI1Mjk3NTcwMjI4NTc2NjZdLCBbMTY2MzkyNTA4Ny45MTg5NTk2LCA2MjY0LCAxLjIzMDY2NDQ5MTY1MzQ0MjRdLCBbMTY2MzkyNTA4OC4wMjExNTEzLCA2MjczLCAxLjI3NDkxMDIxMTU2MzExMDRdLCBbMTY2MzkyNTA4OC4xMjI5MDE3LCA2MjgyLCAxLjIyOTUwMTM2NjYxNTI5NTRdLCBbMTY2MzkyNTA4OC4zMjIzNTA3LCA2MzAwLCAxLjI1Nzk4ODkyOTc0ODUzNTJdLCBbMTY2MzkyNTA4OC40MzY3MzAxLCA2MzA5LCAxLjIzODY3OTA1MTM5OTIzMV0sIFsxNjYzOTI1MDg4LjY0MjAwNzgsIDYzMjcsIDEuMjY0MTA0NjA0NzIxMDY5M10sIFsxNjYzOTI1MDg4Ljc0MDU5NzIsIDYzMzYsIDEuMjU1NTg1Nzg5NjgwNDgxXSwgWzE2NjM5MjUwODguOTM4MzgwNSwgNjM1NCwgMS4yNTI2NzEyNDE3NjAyNTRdLCBbMTY2MzkyNTA4OS4yNjkwMjc1LCA2MzgxLCAxLjIyODQwNzc0MDU5Mjk1NjVdLCBbMTY2MzkyNTA4OS4zNzIyMzg2LCA2MzkwLCAxLjIzNDM0NzkzOTQ5MTI3Ml0sIFsxNjYzOTI1MDg5LjQ4NTI2MjIsIDYzOTksIDEuMjQzNzc4NDY3MTc4MzQ0N10sIFsxNjYzOTI1MDg5LjcxODcyNDMsIDY0MTcsIDEuMjE2ODAzNDMxNTEwOTI1M10sIFsxNjYzOTI1MDg5LjgyMDIzNjQsIDY0MjYsIDEuMjYxMjIyMjQzMzA5MDIxXSwgWzE2NjM5MjUwOTAuMDMzODI0MiwgNjQ0NCwgMS4yMTU2NzA0NjY0MjMwMzQ3XSwgWzE2NjM5MjUwOTAuMTM4NDMzLCA2NDUzLCAxLjIxNDk3NTIzNzg0NjM3NDVdLCBbMTY2MzkyNTA5MC4yNDA1NTksIDY0NjIsIDEuMjUyNTI4NTQ4MjQwNjYxNl0sIFsxNjYzOTI1MDkwLjQ0MDc0NzcsIDY0ODAsIDEuMjE2ODA5ODY4ODEyNTYxXSwgWzE2NjM5MjUwOTAuNTM1ODIwNSwgNjQ4OSwgMS4yMzI5MTY3MTI3NjA5MjUzXSwgWzE2NjM5MjUwOTAuNjM5MTU1NiwgNjQ5OCwgMS4yMDc5MjY5ODg2MDE2ODQ2XSwgWzE2NjM5MjUwOTAuNzQyNzY5NywgNjUwNywgMS4yMTM0MDkxODU0MDk1NDZdLCBbMTY2MzkyNTA5MC44NTE5NjEsIDY1MTYsIDEuMjIwNzg1OTc1NDU2MjM3OF0sIFsxNjYzOTI1MDkwLjk1MTMwNDIsIDY1MjUsIDEuMjI5MzQ2MTU2MTIwMzAwM10sIFsxNjYzOTI1MDkxLjA2MDgwNDYsIDY1MzQsIDEuMTk2MTc3MTI0OTc3MTExOF0sIFsxNjYzOTI1MDkxLjE1NDY2NjIsIDY1NDMsIDEuMjE2ODk2NjUzMTc1MzU0XSwgWzE2NjM5MjUwOTEuMjUyNjU3NCwgNjU1MiwgMS4yMjg3MjU0MzMzNDk2MDk0XSwgWzE2NjM5MjUwOTEuMzQ4NDI5NywgNjU2MSwgMS4yNDMzMDcxMTM2NDc0NjFdLCBbMTY2MzkyNTA5MS40NjMxMzYyLCA2NTcwLCAxLjI2MDExMTU3MDM1ODI3NjRdLCBbMTY2MzkyNTA5MS41NjQ1NTcsIDY1NzksIDEuMjcyNzIyMDA1ODQ0MTE2Ml0sIFsxNjYzOTI1MDkxLjY2OTUyMzIsIDY1ODgsIDEuMjI1NzA1MjY1OTk4ODQwM10sIFsxNjYzOTI1MDkxLjc2OTA4NjgsIDY1OTcsIDEuMjI3NjI4NDY5NDY3MTYzXSwgWzE2NjM5MjUwOTEuODY2ODc2MSwgNjYwNiwgMS4yMjQ5OTg0NzQxMjEwOTM4XSwgWzE2NjM5MjUwOTIuMDU0NjY2LCA2NjI0LCAxLjIxNTQ1ODE1NDY3ODM0NDddLCBbMTY2MzkyNTA5Mi4zNDgxNzY3LCA2NjUxLCAxLjIwNzIxMTI1NjAyNzIyMTddLCBbMTY2MzkyNTA5Mi40NTYzNDYsIDY2NjAsIDEuMjI3MzM4NTUyNDc0OTc1Nl0sIFsxNjYzOTI1MDkyLjU2OTY4NjQsIDY2NjksIDEuMjM2NjY3NTEzODQ3MzUxXSwgWzE2NjM5MjUwOTIuNzkyNjQ3NiwgNjY4NywgMS4yNDE5OTQ2MTkzNjk1MDY4XSwgWzE2NjM5MjUwOTIuOTE1Nzc3LCA2Njk2LCAxLjIzOTg0MDk4NDM0NDQ4MjRdLCBbMTY2MzkyNTA5My4wNDc2ODMsIDY3MDUsIDEuMjMwODYzMzMyNzQ4NDEzXSwgWzE2NjM5MjUwOTMuMTU1NzQ5MywgNjcxNCwgMS4yMjY2NzMwMDcwMTE0MTM2XSwgWzE2NjM5MjUwOTMuMjU0NTMwNywgNjcyMywgMS4yMDY5MDUwMDczNjIzNjU3XSwgWzE2NjM5MjUwOTMuODExMjY3NCwgNjc2OCwgMS4yMzY1NTE2NDI0MTc5MDc3XSwgWzE2NjM5MjUwOTMuOTA4MjEyLCA2Nzc3LCAxLjIyMjk2Njc5MDE5OTI3OThdLCBbMTY2MzkyNTA5NC4yNDk3NDk0LCA2ODA0LCAxLjIxNjk5Nzc0MjY1Mjg5M10sIFsxNjYzOTI1MDk0LjM1OTA1MDMsIDY4MTMsIDEuMjAxNDg1OTkxNDc3OTY2M10sIFsxNjYzOTI1MDk0LjQ1Nzk4MzcsIDY4MjIsIDEuMjU5NjIzNzY1OTQ1NDM0Nl0sIFsxNjYzOTI1MDk0LjU1MzAzNjUsIDY4MzEsIDEuMjQyMDMwODU4OTkzNTMwM10sIFsxNjYzOTI1MDk0LjY1MjE2MzMsIDY4NDAsIDEuMjE4NjYzMDk2NDI3OTE3NV0sIFsxNjYzOTI1MDk0Ljk4NjAwNSwgNjg2NywgMS4yMDQwNDEzNjE4MDg3NzY5XSwgWzE2NjM5MjUwOTUuMDgwNTI2LCA2ODc2LCAxLjIxMzU1Mzc4NjI3Nzc3MV0sIFsxNjYzOTI1MDk1LjE4MTMxMjYsIDY4ODUsIDEuMjE3NjI2MjE0MDI3NDA0OF0sIFsxNjYzOTI1MDk1LjI3NTY4NDgsIDY4OTQsIDEuMTkyMTA2MjQ2OTQ4MjQyMl0sIFsxNjYzOTI1MDk1LjM3MzUwNTYsIDY5MDMsIDEuMTk5MTkxOTI3OTA5ODUxXSwgWzE2NjM5MjUwOTUuNDc5MzE0MywgNjkxMiwgMS4yMDI5NDI4NDgyMDU1NjY0XSwgWzE2NjM5MjUwOTUuNTc1NzU4LCA2OTIxLCAxLjIyMDMxNTU3NTU5OTY3MDRdLCBbMTY2MzkyNTA5NS42Nzc1NzU4LCA2OTMwLCAxLjIzNzk2NzQ5MTE0OTkwMjNdLCBbMTY2MzkyNTA5NS43NzUxMDUyLCA2OTM5LCAxLjE4MjM1ODUwMzM0MTY3NDhdLCBbMTY2MzkyNTA5Ni4xMzA0OTIsIDY5NDgsIDEuMjEyMzU4ODMyMzU5MzE0XSwgWzE2NjM5MjUwOTYuMjQzOTg2MSwgNjk1NywgMS4yMDM3NDk0MTgyNTg2NjddLCBbMTY2MzkyNTA5Ni4zMzcwMDE2LCA2OTY2LCAxLjIwMTI0MDMwMTEzMjIwMjFdLCBbMTY2MzkyNTA5Ni41MzM5ODY4LCA2OTg0LCAxLjIwNzUzODQ4NTUyNzAzODZdLCBbMTY2MzkyNTA5Ni42NDk3Nzk2LCA2OTkzLCAxLjE4NzMxODMyNTA0MjcyNDZdLCBbMTY2MzkyNTA5Ni43NTUyNDMsIDcwMDIsIDEuMjAyNzQxMTQ2MDg3NjQ2NV0sIFsxNjYzOTI1MDk2Ljg1MzIxOTUsIDcwMTEsIDEuMTk1NjM2MjcyNDMwNDJdLCBbMTY2MzkyNTA5Ni45ODU3ODEsIDcwMjAsIDEuMTkzOTUxMzY4MzMxOTA5Ml0sIFsxNjYzOTI1MDk3LjA5MzkzMzMsIDcwMjksIDEuMjA5NjUwMTU4ODgyMTQxMV0sIFsxNjYzOTI1MDk3LjIwNDM2MDUsIDcwMzgsIDEuMTk2Mzg1ODYwNDQzMTE1Ml0sIFsxNjYzOTI1MDk3LjMwODkzNzgsIDcwNDcsIDEuMTk2NTU0NTQxNTg3ODI5Nl0sIFsxNjYzOTI1MDk3LjQzMDg5MDMsIDcwNTYsIDEuMjEzODA5NDkwMjAzODU3NF0sIFsxNjYzOTI1MDk3Ljc3MDcyOSwgNzA4MywgMS4xOTA3NTg0NjY3MjA1ODFdLCBbMTY2MzkyNTA5Ny44NzU2MjA4LCA3MDkyLCAxLjIxNTU0MzUwODUyOTY2M10sIFsxNjYzOTI1MDk3Ljk4MzEyMDIsIDcxMDEsIDEuMTk1MTMwOTQ0MjUyMDE0Ml0sIFsxNjYzOTI1MDk4LjA4MzM5NjIsIDcxMTAsIDEuMTk1NzQwMzQyMTQwMTk3OF0sIFsxNjYzOTI1MDk4LjIwNDU2OTYsIDcxMTksIDEuMjA3NTExNzgyNjQ2MTc5Ml0sIFsxNjYzOTI1MDk4LjM0Njg3NDcsIDcxMjgsIDEuMTg1MzgwNDU4ODMxNzg3XSwgWzE2NjM5MjUwOTguNTgzNzg5MywgNzE0NiwgMS4yMTI4OTgzNzM2MDM4MjA4XSwgWzE2NjM5MjUwOTguNjg5NTUwOSwgNzE1NSwgMS4yMTQxOTAyNDQ2NzQ2ODI2XSwgWzE2NjM5MjUwOTguNzgxMzAyMiwgNzE2NCwgMS4xOTczMTc0ODEwNDA5NTQ2XSwgWzE2NjM5MjUwOTguODczMzUzLCA3MTczLCAxLjIzNDczNjU2MTc3NTIwNzVdLCBbMTY2MzkyNTA5OC45NjU1Nzc4LCA3MTgyLCAxLjIwMTMyNTQxNjU2NDk0MTRdLCBbMTY2MzkyNTA5OS4xNzg0OTA2LCA3MjAwLCAxLjIwMTY0OTMwODIwNDY1MDldLCBbMTY2MzkyNTA5OS4yNzUxODY1LCA3MjA5LCAxLjIxNDQ0NTQ3MTc2MzYxMDhdLCBbMTY2MzkyNTA5OS43MDEyMzEsIDcyNDUsIDEuMjI2OTA4MzI2MTQ4OTg2OF0sIFsxNjYzOTI1MDk5LjgwMDA1MTUsIDcyNTQsIDEuMjA2NTU3ODY5OTExMTkzOF0sIFsxNjYzOTI1MDk5LjkxNTg1NzYsIDcyNjMsIDEuMjQwMDU5NzMzMzkwODA4XSwgWzE2NjM5MjUxMDAuMDE0MDE5MywgNzI3MiwgMS4xOTc5ODUxNzIyNzE3Mjg1XSwgWzE2NjM5MjUxMDAuMTE5MDE1LCA3MjgxLCAxLjIwNDMxMjIwNTMxNDYzNjJdLCBbMTY2MzkyNTEwMC4zMTIxMzc4LCA3Mjk5LCAxLjE4NjY5MDMzMDUwNTM3MV0sIFsxNjYzOTI1MTAwLjQzMTM0NywgNzMwOCwgMS4yMjAxMjc3MDE3NTkzMzg0XSwgWzE2NjM5MjUxMDAuNjIzMjMxMiwgNzMyNiwgMS4xOTc3NzIwMjYwNjIwMTE3XSwgWzE2NjM5MjUxMDAuNzU2NjEyNSwgNzMzNSwgMS4yMTM3MzU1ODA0NDQzMzZdLCBbMTY2MzkyNTEwMC44NjU5NTU4LCA3MzQ0LCAxLjE5NjY0ODI0MDA4OTQxNjVdLCBbMTY2MzkyNTEwMS4xMTQwMjg1LCA3MzYyLCAxLjIxMTczOTg5NzcyNzk2NjNdLCBbMTY2MzkyNTEwMS4yMjExMTIzLCA3MzcxLCAxLjIwOTg4MjAyMDk1MDMxNzRdLCBbMTY2MzkyNTEwMS4zNDc1MSwgNzM4MCwgMS4xOTY5NDkxMjQzMzYyNDI3XSwgWzE2NjM5MjUxMDEuNDYzMDI2MywgNzM4OSwgMS4yMTAxNzQ5MTgxNzQ3NDM3XSwgWzE2NjM5MjUxMDEuNTU3MzI0LCA3Mzk4LCAxLjE4NTEzNjkxNDI1MzIzNDldLCBbMTY2MzkyNTEwMS42NTU2MzQ0LCA3NDA3LCAxLjE4ODk0NTUzMTg0NTA5MjhdLCBbMTY2MzkyNTEwMS43NDk1MzksIDc0MTYsIDEuMjAzNDkwNjE0ODkxMDUyMl0sIFsxNjYzOTI1MTAxLjg0NjE4NDcsIDc0MjUsIDEuMTg5NzU5NjEyMDgzNDM1XSwgWzE2NjM5MjUxMDEuOTU3OTEyMiwgNzQzNCwgMS4xODE4NTc0NjY2OTc2OTI5XSwgWzE2NjM5MjUxMDIuMDkwNjg4NSwgNzQ0MywgMS4yMDkwMTY0NDIyOTg4ODkyXSwgWzE2NjM5MjUxMDIuMTkyNzgyLCA3NDUyLCAxLjE3NTkwMzc5NzE0OTY1ODJdLCBbMTY2MzkyNTEwMi4yOTU4NjUsIDc0NjEsIDEuMjAwNDI3MTc0NTY4MTc2M10sIFsxNjYzOTI1MTAyLjM5ODUyNDgsIDc0NzAsIDEuMTg3MTkwMDU1ODQ3MTY4XSwgWzE2NjM5MjUxMDIuNDk2OTMxNiwgNzQ3OSwgMS4xOTA1ODAyNDg4MzI3MDI2XSwgWzE2NjM5MjUxMDIuNjk4MDI2LCA3NDk3LCAxLjE5NjA4NzgzNzIxOTIzODNdLCBbMTY2MzkyNTEwMi44MDIzNjEyLCA3NTA2LCAxLjE5NDE1NTQ1NDYzNTYyMDFdLCBbMTY2MzkyNTEwMi45MTc5NDcsIDc1MTUsIDEuMTk5OTI2NjE0NzYxMzUyNV0sIFsxNjYzOTI1MTAzLjAzMzE1MzMsIDc1MjQsIDEuMTg5OTQwNTcxNzg0OTczMV0sIFsxNjYzOTI1MTAzLjEzODM0MTQsIDc1MzMsIDEuMTY3Mjg4ODk5NDIxNjkyXSwgWzE2NjM5MjUxMDMuMjYxODcyNSwgNzU0MiwgMS4xODMwNDU2MjU2ODY2NDU1XSwgWzE2NjM5MjUxMDMuNTI1Mjc5MywgNzU2MCwgMS4xNjk5ODUxNzUxMzI3NTE1XSwgWzE2NjM5MjUxMDMuNjU3ODUzMSwgNzU2OSwgMS4xODg2OTAwNjYzMzc1ODU0XSwgWzE2NjM5MjUxMDMuODg0NzcwNiwgNzU4NywgMS4xOTczMzc1MDgyMDE1OTkxXSwgWzE2NjM5MjUxMDMuOTg5NjU3NCwgNzU5NiwgMS4xNzYzNDI3MjU3NTM3ODQyXSwgWzE2NjM5MjUxMDQuMjAxNzA3OCwgNzYxNCwgMS4yMDI0MzE2Nzg3NzE5NzI3XSwgWzE2NjM5MjUxMDQuNDI4NTk4OSwgNzYzMiwgMS4xODQwOTgxMjQ1MDQwODk0XSwgWzE2NjM5MjUxMDQuNzg5NDIzNywgNzY1OSwgMS4yMDIzMDAwNzE3MTYzMDg2XSwgWzE2NjM5MjUxMDQuODkwMTIxNywgNzY2OCwgMS4xODU1MDgyNTExOTAxODU1XSwgWzE2NjM5MjUxMDUuMjA3MzQsIDc2OTUsIDEuMTg3NzExMDAwNDQyNTA0OV0sIFsxNjYzOTI1MTA1LjQyMjUzMiwgNzcxMywgMS4yMDE0OTE1OTQzMTQ1NzUyXSwgWzE2NjM5MjUxMDUuNzE2MTUzNCwgNzcyMiwgMS4yMDg5MzQ2NjQ3MjYyNTczXSwgWzE2NjM5MjUxMDUuODMwNDU5LCA3NzMxLCAxLjE5MDIxNTcwNjgyNTI1NjNdLCBbMTY2MzkyNTEwNi4wNzgwMzMsIDc3NDksIDEuMjA3MTQ0ODU2NDUyOTQyXSwgWzE2NjM5MjUxMDYuMjIxMDg5LCA3NzU4LCAxLjE5ODg3MTg1MDk2NzQwNzJdLCBbMTY2MzkyNTEwNi4zMzA1MjY0LCA3NzY3LCAxLjE5NzQwOTYyOTgyMTc3NzNdLCBbMTY2MzkyNTEwNi42ODk2Njg0LCA3Nzk0LCAxLjE4NjE5ODgzMDYwNDU1MzJdLCBbMTY2MzkyNTEwNi44MTI1MzQ2LCA3ODAzLCAxLjIwMzM1NjUwNDQ0MDMwNzZdLCBbMTY2MzkyNTEwNy4wNTAzOTQ1LCA3ODIxLCAxLjE2NTQ4MDYxMzcwODQ5Nl0sIFsxNjYzOTI1MTA3LjE1MDExNTUsIDc4MzAsIDEuMTc2NTU3NDIxNjg0MjY1MV0sIFsxNjYzOTI1MTA3LjI0NzEzOTcsIDc4MzksIDEuMjAzNTUxMDU0MDAwODU0NV0sIFsxNjYzOTI1MTA3LjM0MzQxMTIsIDc4NDgsIDEuMTcwOTE4MjI2MjQyMDY1NF0sIFsxNjYzOTI1MTA3LjY1OTE5OCwgNzg3NSwgMS4xODM5NzIzNTg3MDM2MTMzXSwgWzE2NjM5MjUxMDcuOTE1MjYxNSwgNzg5MywgMS4yMDQ1ODIwOTUxNDYxNzkyXSwgWzE2NjM5MjUxMDguMDIyNTY4NywgNzkwMiwgMS4xNzc0Mjk1NTY4NDY2MTg3XSwgWzE2NjM5MjUxMDguMTU5NjczNSwgNzkxMSwgMS4xOTU2MDUyNzgwMTUxMzY3XSwgWzE2NjM5MjUxMDguNDI5NjgwOCwgNzkyOSwgMS4xODQ1MDc5NjYwNDE1NjVdLCBbMTY2MzkyNTEwOC41NjIyNTY4LCA3OTM4LCAxLjE3NTI2NDk1NDU2Njk1NTZdLCBbMTY2MzkyNTEwOC42Nzc1NTQxLCA3OTQ3LCAxLjE3NzY0Njg3NTM4MTQ2OTddLCBbMTY2MzkyNTEwOC43NzQ5NDIyLCA3OTU2LCAxLjE2NjY0Mjc4NTA3MjMyNjddLCBbMTY2MzkyNTEwOC44NzIzMzMsIDc5NjUsIDEuMTg2MDA4NTcyNTc4NDMwMl0sIFsxNjYzOTI1MTA4Ljk2ODc5MjcsIDc5NzQsIDEuMjA2MzgxMzIwOTUzMzY5MV0sIFsxNjYzOTI1MTA5LjA2OTAxMzYsIDc5ODMsIDEuMTc3MTU5NjY3MDE1MDc1N10sIFsxNjYzOTI1MTA5LjE2ODg0NTcsIDc5OTIsIDEuMTk2NTIyMTE2NjYxMDcxOF0sIFsxNjYzOTI1MTA5LjI2NTc5MzMsIDgwMDEsIDEuMTkzOTY2OTg0NzQ4ODQwM10sIFsxNjYzOTI1MTA5LjM2NDE3LCA4MDEwLCAxLjE3NzExMDkxMDQxNTY0OTRdLCBbMTY2MzkyNTEwOS40NjMyNTc2LCA4MDE5LCAxLjE5NDkzMDQzNDIyNjk4OTddLCBbMTY2MzkyNTEwOS42NjczMDY0LCA4MDM3LCAxLjE3ODgyNTM3ODQxNzk2ODhdLCBbMTY2MzkyNTEwOS43NjM2MzczLCA4MDQ2LCAxLjIwMDYxMzAyMTg1MDU4Nl0sIFsxNjYzOTI1MTA5Ljk2MTg2OSwgODA2NCwgMS4xODk3MzI3ODk5OTMyODYxXSwgWzE2NjM5MjUxMTAuMTYyNDE1LCA4MDgyLCAxLjE5MjkyNDQ5OTUxMTcxODhdLCBbMTY2MzkyNTExMC4yNjMyMTQ2LCA4MDkxLCAxLjE5NTM4MzE5MTEwODcwMzZdLCBbMTY2MzkyNTExMC41NjYxMzIzLCA4MTE4LCAxLjE3MzcwODkxNTcxMDQ0OTJdLCBbMTY2MzkyNTExMC42NjQ3NDYsIDgxMjcsIDEuMTcxMzUzODE2OTg2MDg0XSwgWzE2NjM5MjUxMTAuODc2MzMyNSwgODE0NSwgMS4xNTkwNzM3MTA0NDE1ODk0XSwgWzE2NjM5MjUxMTAuOTg4MjI0NywgODE1NCwgMS4xNzkyNzc1MzkyNTMyMzQ5XSwgWzE2NjM5MjUxMTEuMTA3MzU1NiwgODE2MywgMS4xNTczNzYyODkzNjc2NzU4XSwgWzE2NjM5MjUxMTEuMjMxODcwMiwgODE3MiwgMS4xNzMwNzg2NTYxOTY1OTQyXSwgWzE2NjM5MjUxMTEuMzQ3NjExMiwgODE4MSwgMS4xOTkxMzEyNTAzODE0Njk3XSwgWzE2NjM5MjUxMTEuNTY5NzIxNSwgODE5OSwgMS4xNjkyNjIyOTAwMDA5MTU1XSwgWzE2NjM5MjUxMTEuNjYzODE4LCA4MjA4LCAxLjE2NzgyODkxNzUwMzM1N10sIFsxNjYzOTI1MTExLjg3MzIxNTIsIDgyMjYsIDEuMTg2NzI0MTg1OTQzNjAzNV0sIFsxNjYzOTI1MTExLjk3MjA2OTcsIDgyMzUsIDEuMTc1ODUzNDkwODI5NDY3OF0sIFsxNjYzOTI1MTEyLjE4NzI3NjYsIDgyNTMsIDEuMTc0OTY4NzE5NDgyNDIxOV0sIFsxNjYzOTI1MTEyLjI4ODE0OTQsIDgyNjIsIDEuMTc1MTY0OTM3OTczMDIyNV0sIFsxNjYzOTI1MTEyLjM5Mjk2ODIsIDgyNzEsIDEuMjA1MTI3NDc3NjQ1ODc0XSwgWzE2NjM5MjUxMTIuNDkxMTMzNSwgODI4MCwgMS4xNjQ4NjcxNjI3MDQ0Njc4XSwgWzE2NjM5MjUxMTIuNjEzNzkzNCwgODI4OSwgMS4xNjIwNDM2OTA2ODE0NTc1XSwgWzE2NjM5MjUxMTIuNzIwMTQ0LCA4Mjk4LCAxLjE3MjQzNTUyMjA3OTQ2NzhdLCBbMTY2MzkyNTExMi44NDU1NTM5LCA4MzA3LCAxLjE3ODg3NTQ0NjMxOTU4XSwgWzE2NjM5MjUxMTIuOTc2NjI5MywgODMxNiwgMS4xOTQ2OTUyMzQyOTg3MDZdLCBbMTY2MzkyNTExMy4wODIxMDU2LCA4MzI1LCAxLjE3NDc3OTc3Mjc1ODQ4MzldLCBbMTY2MzkyNTExMy40NzQ4MTUxLCA4MzUyLCAxLjE2MzM2OTE3ODc3MTk3MjddLCBbMTY2MzkyNTExMy42MDc5OTM2LCA4MzYxLCAxLjE3NDUxMjM4NjMyMjAyMTVdLCBbMTY2MzkyNTExMy43MjIzMjkxLCA4MzcwLCAxLjE4MDQ5NDMwODQ3MTY3OTddLCBbMTY2MzkyNTExMy44MjY5NzM3LCA4Mzc5LCAxLjIwOTM3NDQyNzc5NTQxMDJdLCBbMTY2MzkyNTExMy45MjgzMTgzLCA4Mzg4LCAxLjE3NzE2NzI5NjQwOTYwN10sIFsxNjYzOTI1MTE0LjAzMzMyNywgODM5NywgMS4xNjg3OTE2NTE3MjU3NjldLCBbMTY2MzkyNTExNC4xMzQ3Njk3LCA4NDA2LCAxLjE3NjUxNzcyNDk5MDg0NDddLCBbMTY2MzkyNTExNC4yMzcyMjQ4LCA4NDE1LCAxLjE4NDE3ODk0ODQwMjQwNDhdLCBbMTY2MzkyNTExNC4zMzQzODIsIDg0MjQsIDEuMTY5MTk0OTM2NzUyMzE5M10sIFsxNjYzOTI1MTE0Ljc2Njc0NjUsIDg0NjAsIDEuMTY5NjE4NjA2NTY3MzgyOF0sIFsxNjYzOTI1MTE0LjkwNzI2NTIsIDg0NjksIDEuMTgyODExMjYwMjIzMzg4N10sIFsxNjYzOTI1MTE1LjAzNzc1MDcsIDg0NzgsIDEuMTcyNjQ4NjY4Mjg5MTg0Nl0sIFsxNjYzOTI1MTE1LjE1NDk4NSwgODQ4NywgMS4xNjQxNTQyOTExNTI5NTRdLCBbMTY2MzkyNTExNS4yNTQ3MDc2LCA4NDk2LCAxLjE4ODAxNzQ4NzUyNTk0XSwgWzE2NjM5MjUxMTUuNjQ1Mjg2NiwgODUxNCwgMS4xNzQ4Nzk3ODkzNTI0MTddLCBbMTY2MzkyNTExNS43NDEzMTksIDg1MjMsIDEuMjA0NjA3MjQ4MzA2Mjc0NF0sIFsxNjYzOTI1MTE1Ljg0OTUyLCA4NTMyLCAxLjE3OTkyODA2NDM0NjMxMzVdLCBbMTY2MzkyNTExNi4wOTY4NTAyLCA4NTUwLCAxLjE3OTE2OTUzNTYzNjkwMTldLCBbMTY2MzkyNTExNi4yMjY0NjQzLCA4NTU5LCAxLjE3NzQ5Mjg1Njk3OTM3MDFdLCBbMTY2MzkyNTExNi40NTEyNzk0LCA4NTc3LCAxLjE4MDU0NTIxMDgzODMxNzldLCBbMTY2MzkyNTExNi42NzQ5MTc1LCA4NTk1LCAxLjE3NTI0ODk4MDUyMjE1NThdLCBbMTY2MzkyNTExNi43NzcwMzI5LCA4NjA0LCAxLjE3MzQxNDQ2ODc2NTI1ODhdLCBbMTY2MzkyNTExNi44NzU5MzI3LCA4NjEzLCAxLjE3MTQ4MTk2Njk3MjM1MV0sIFsxNjYzOTI1MTE2Ljk5MTE2OCwgODYyMiwgMS4xNzM5MTcyOTM1NDg1ODRdLCBbMTY2MzkyNTExNy4yMTk2MjgsIDg2NDAsIDEuMjE1MzY3Njc0ODI3NTc1N10sIFsxNjYzOTI1MTE3LjMzNTgyNTIsIDg2NDksIDEuMTY2NjEwMjQwOTM2Mjc5M10sIFsxNjYzOTI1MTE3LjQ2MjcyNSwgODY1OCwgMS4xNTg0NTUxMzM0MzgxMTA0XSwgWzE2NjM5MjUxMTcuNTc0MDY0NSwgODY2NywgMS4xODIyMjcxMzQ3MDQ1ODk4XSwgWzE2NjM5MjUxMTcuNjg3MjExNSwgODY3NiwgMS4xNTU1MTc1NzgxMjVdLCBbMTY2MzkyNTExNy44MTA1Mjc4LCA4Njg1LCAxLjE1NjIyOTg1MzYzMDA2Nl0sIFsxNjYzOTI1MTE3Ljk0OTgxNTUsIDg2OTQsIDEuMTYzOTUzMDY1ODcyMTkyNF0sIFsxNjYzOTI1MTE4LjE3MDcyMjUsIDg3MTIsIDEuMTk0NTM3NjM5NjE3OTJdLCBbMTY2MzkyNTExOC4yOTE5OTI0LCA4NzIxLCAxLjE1ODA4NTcwMzg0OTc5MjVdLCBbMTY2MzkyNTExOC42NTMzNjU5LCA4NzQ4LCAxLjE3MTQyNjY1Mzg2MTk5OTVdLCBbMTY2MzkyNTExOC43NjI5MjkyLCA4NzU3LCAxLjE4NTMxNDI5NzY3NjA4NjRdLCBbMTY2MzkyNTExOS4yMTkxMDUsIDg3OTMsIDEuMTY4NjIyOTcwNTgxMDU0N10sIFsxNjYzOTI1MTE5LjMzMjE2NjQsIDg4MDIsIDEuMTk3NDg0NjEyNDY0OTA0OF0sIFsxNjYzOTI1MTE5LjQ0NzY5NTMsIDg4MTEsIDEuMTkwNzk4MDQ0MjA0NzEyXSwgWzE2NjM5MjUxMTkuNTY0MDU0LCA4ODIwLCAxLjE1OTA2ODgyMjg2MDcxNzhdLCBbMTY2MzkyNTExOS42NjM5NzcxLCA4ODI5LCAxLjE3ODYxNjc2MjE2MTI1NDldLCBbMTY2MzkyNTExOS43Nzc2MTkxLCA4ODM4LCAxLjIwMDEyMzc4NjkyNjI2OTVdLCBbMTY2MzkyNTExOS44OTMzMjA2LCA4ODQ3LCAxLjE1MDgwNzk3NjcyMjcxNzNdLCBbMTY2MzkyNTEyMC4wMTE1Mzk1LCA4ODU2LCAxLjE3NDUzMDE0ODUwNjE2NDZdLCBbMTY2MzkyNTEyMC4zMzAyNTEsIDg4ODMsIDEuMTc1MzUxMjYyMDkyNTkwM10sIFsxNjYzOTI1MTIwLjQzODE2NTcsIDg4OTIsIDEuMTc5MjgzNzM4MTM2MjkxNV0sIFsxNjYzOTI1MTIwLjU0NDEyODQsIDg5MDEsIDEuMTYyODIwMjE5OTkzNTkxM10sIFsxNjYzOTI1MTIwLjY2ODgzNzMsIDg5MTAsIDEuMTU0NTI0NjgzOTUyMzMxNV0sIFsxNjYzOTI1MTIwLjc3MDg2NCwgODkxOSwgMS4xNjczMzY5NDA3NjUzODA5XSwgWzE2NjM5MjUxMjEuMDA0ODIyMywgODkzNywgMS4xNzAyOTA1ODkzMzI1ODA2XSwgWzE2NjM5MjUxMjEuMjc0MDMyNCwgODk1NSwgMS4xNDk4ODYyNTA0OTU5MTA2XSwgWzE2NjM5MjUxMjEuMzkwNDI1MiwgODk2NCwgMS4xNzA4NDc0MTU5MjQwNzIzXSwgWzE2NjM5MjUxMjEuNDk2MzU1MywgODk3MywgMS4xNjUwMjA1ODUwNjAxMTk2XSwgWzE2NjM5MjUxMjEuNzMzMjg4MywgODk5MSwgMS4xODIyMTIzNTI3NTI2ODU1XSwgWzE2NjM5MjUxMjEuODMxNDg5LCA5MDAwLCAxLjE0OTUzMDQxMDc2NjYwMTZdLCBbMTY2MzkyNTEyMS45MzIxNjkyLCA5MDA5LCAxLjE2NzE5MzQxMjc4MDc2MTddLCBbMTY2MzkyNTEyMi4wMzk3NDI3LCA5MDE4LCAxLjE3MzkyNjIzNDI0NTMwMDNdLCBbMTY2MzkyNTEyMi4xNTc1NTgsIDkwMjcsIDEuMTUxMTg2ODIzODQ0OTA5N10sIFsxNjYzOTI1MTIyLjI3MjU2MywgOTAzNiwgMS4xNzc3ODE3MDEwODc5NTE3XSwgWzE2NjM5MjUxMjIuMzcyNDI4NywgOTA0NSwgMS4xODk2Njc1ODI1MTE5MDE5XSwgWzE2NjM5MjUxMjIuNDg4MzAzMiwgOTA1NCwgMS4xNzY4OTA4NTAwNjcxMzg3XSwgWzE2NjM5MjUxMjIuNTkwNzIxNCwgOTA2MywgMS4xNDc2NTc1MTM2MTg0NjkyXSwgWzE2NjM5MjUxMjIuNjg3NjMxMSwgOTA3MiwgMS4xNzM1NTE0NDAyMzg5NTI2XSwgWzE2NjM5MjUxMjMuMTU5MzQzMiwgOTEwOCwgMS4xNzA1MzQ4NDkxNjY4NzAxXSwgWzE2NjM5MjUxMjMuNDA1MTg3MSwgOTEyNiwgMS4xNzA3ODE5NzAwMjQxMDg5XSwgWzE2NjM5MjUxMjMuNTIxMDc2LCA5MTM1LCAxLjE2NjU2MTEyNjcwODk4NDRdLCBbMTY2MzkyNTEyMy42NDAwMzE4LCA5MTQ0LCAxLjE2NDU1Mzk5OTkwMDgxNzldLCBbMTY2MzkyNTEyMy43NzA4OTQ1LCA5MTUzLCAxLjE1OTA0Mzc4ODkwOTkxMl0sIFsxNjYzOTI1MTIzLjg3NTQwOSwgOTE2MiwgMS4yMDI1MjA4NDczMjA1NTY2XSwgWzE2NjM5MjUxMjQuMjEzNTM2LCA5MTg5LCAxLjE3MTUxMDY5NjQxMTEzMjhdLCBbMTY2MzkyNTEyNC40MzU1OTUsIDkyMDcsIDEuMTYyNzM0NzQ2OTMyOTgzNF0sIFsxNjYzOTI1MTI0LjU1NzM2NTcsIDkyMTYsIDEuMTQzNTY0OTM5NDk4OTAxNF0sIFsxNjYzOTI1MTI0Ljc3MzAxMDMsIDkyMzQsIDEuMTY0NDM1ODYzNDk0ODczXSwgWzE2NjM5MjUxMjQuODgwNDMyMSwgOTI0MywgMS4xNTM3NTIyMDc3NTYwNDI1XSwgWzE2NjM5MjUxMjUuMDgxOTc0LCA5MjYxLCAxLjE5ODcwNTQzNDc5OTE5NDNdLCBbMTY2MzkyNTEyNS4xODg0MTUzLCA5MjcwLCAxLjE2MzYzMTc5NjgzNjg1M10sIFsxNjYzOTI1MTI1LjYxNzM1OSwgOTI4OCwgMS4xNTk3Mjg2NDYyNzgzODEzXSwgWzE2NjM5MjUxMjYuMDkyNjAzNCwgOTMyNCwgMS4xNDkyNDQxODkyNjIzOTAxXSwgWzE2NjM5MjUxMjYuMjA1OTM0MywgOTMzMywgMS4xNjQzOTU4MDkxNzM1ODRdLCBbMTY2MzkyNTEyNi4zMTExNTc1LCA5MzQyLCAxLjE3NTk5MTE3NzU1ODg5OV0sIFsxNjYzOTI1MTI2LjQxMzk5MiwgOTM1MSwgMS4xNDQ4OTQ0ODA3MDUyNjEyXSwgWzE2NjM5MjUxMjYuNTIzNzkzMiwgOTM2MCwgMS4xNTA1MzQwMzM3NzUzMjk2XSwgWzE2NjM5MjUxMjYuOTczMjQ4LCA5Mzk2LCAxLjE0Njc1NDYyMjQ1OTQxMTZdLCBbMTY2MzkyNTEyNy4xNzkzOCwgOTQxNCwgMS4xODAwNjMyNDc2ODA2NjRdLCBbMTY2MzkyNTEyNy4yNzgwMDgyLCA5NDIzLCAxLjE2OTg1MjQ5NTE5MzQ4MTRdLCBbMTY2MzkyNTEyNy40ODQyMjI3LCA5NDQxLCAxLjE3MDg1MTIzMDYyMTMzOF0sIFsxNjYzOTI1MTI3LjU4MDkxNDMsIDk0NTAsIDEuMTU2OTczMzYxOTY4OTk0MV0sIFsxNjYzOTI1MTI3LjY3MTU0NCwgOTQ1OSwgMS4xNzQ0NjczMjUyMTA1NzEzXSwgWzE2NjM5MjUxMjcuODc1ODQ1NCwgOTQ3NywgMS4xODMyMTUyNjA1MDU2NzYzXSwgWzE2NjM5MjUxMjcuOTg1NDM2MiwgOTQ4NiwgMS4xODE1MzE2Njc3MDkzNTA2XSwgWzE2NjM5MjUxMjguMDg1MTc1NSwgOTQ5NSwgMS4xNTYxNDgwNzYwNTc0MzRdLCBbMTY2MzkyNTEyOC4yNzY4MDM1LCA5NTEzLCAxLjE2MzAzNDc5NjcxNDc4MjddLCBbMTY2MzkyNTEyOC40NzU1MDQ0LCA5NTMxLCAxLjE2MjQxMTY4OTc1ODMwMDhdLCBbMTY2MzkyNTEyOC41NzczNjQsIDk1NDAsIDEuMTY1NjQyOTc2NzYwODY0M10sIFsxNjYzOTI1MTI4LjY4MjE2MjUsIDk1NDksIDEuMTg0MjExNzMwOTU3MDMxMl0sIFsxNjYzOTI1MTI4Ljg4ODE3MjYsIDk1NjcsIDEuMTUwMzU2MTczNTE1MzE5OF0sIFsxNjYzOTI1MTI4Ljk4MjA0MjMsIDk1NzYsIDEuMTcwOTQ2NDc4ODQzNjg5XSwgWzE2NjM5MjUxMjkuMTc1NjkyOCwgOTU5NCwgMS4xODIzMTY4OTkyOTk2MjE2XSwgWzE2NjM5MjUxMjkuMjc4NDg3NCwgOTYwMywgMS4xNzU2Njk2NzAxMDQ5ODA1XSwgWzE2NjM5MjUxMjkuMzc1MDIxLCA5NjEyLCAxLjE2Mzk3ODA5OTgyMjk5OF0sIFsxNjYzOTI1MTI5LjQ3NTM4NDIsIDk2MjEsIDEuMTMwNTc5NzEwMDA2NzEzOV0sIFsxNjYzOTI1MTI5LjU3Mjg0NjQsIDk2MzAsIDEuMTU1ODk5NzYzMTA3Mjk5OF0sIFsxNjYzOTI1MTI5LjY4MTg5NSwgOTYzOSwgMS4xNTQzMDg0MzgzMDEwODY0XSwgWzE2NjM5MjUxMjkuNzc3ODk4LCA5NjQ4LCAxLjE2Njc5MzgyMzI0MjE4NzVdLCBbMTY2MzkyNTEyOS44NzE4MDEsIDk2NTcsIDEuMTgxMjA5NjgzNDE4Mjc0XSwgWzE2NjM5MjUxMjkuOTY3MTk4LCA5NjY2LCAxLjE3NzEyMDgwNDc4NjY4MjFdLCBbMTY2MzkyNTEzMC4wNzU2NjI0LCA5Njc1LCAxLjE1MzQyNDE0Mzc5MTE5ODddLCBbMTY2MzkyNTEzMC4zNzQ2NCwgOTcwMiwgMS4xNjAxODc3MjEyNTI0NDE0XSwgWzE2NjM5MjUxMzAuNDc1MDUsIDk3MTEsIDEuMTU3NDE4NzI3ODc0NzU1OV0sIFsxNjYzOTI1MTMwLjY4MDA0NywgOTcyOSwgMS4xNjYzMDMwMzg1OTcxMDddLCBbMTY2MzkyNTEzMC43ODU4MjIsIDk3MzgsIDEuMTgxODU0MjQ4MDQ2ODc1XSwgWzE2NjM5MjUxMzAuODg4ODU5NywgOTc0NywgMS4xNDc4NDg4NDQ1MjgxOTgyXSwgWzE2NjM5MjUxMzEuMDExMTExNywgOTc1NiwgMS4xNDAwMTc2Mjg2Njk3Mzg4XSwgWzE2NjM5MjUxMzEuMjI3OTksIDk3NzQsIDEuMTM3NzI4MzMzNDczMjA1Nl0sIFsxNjYzOTI1MTMxLjMyNzE1NDQsIDk3ODMsIDEuMTQ5NTU3NTkwNDg0NjE5MV0sIFsxNjYzOTI1MTMxLjQyNTEwNjMsIDk3OTIsIDEuMTU2MDY4MzI1MDQyNzI0Nl0sIFsxNjYzOTI1MTMxLjUxODA4NDgsIDk4MDEsIDEuMTQwMjE3NzgxMDY2ODk0NV0sIFsxNjYzOTI1MTMxLjgwNTY4NywgOTgyOCwgMS4xMzg5OTYwMDUwNTgyODg2XSwgWzE2NjM5MjUxMzEuOTAzOTM1MiwgOTgzNywgMS4xNjk3ODQ3ODQzMTcwMTY2XSwgWzE2NjM5MjUxMzEuOTk3MzIzOCwgOTg0NiwgMS4xNjIzMTI5ODQ0NjY1NTI3XSwgWzE2NjM5MjUxMzIuNTA1Njg2OCwgOTg5MSwgMS4xNzAzMDA5NjA1NDA3NzE1XSwgWzE2NjM5MjUxMzIuNjkzODQ0OCwgOTkwOSwgMS4xNjc3NDU1OTAyMDk5NjFdLCBbMTY2MzkyNTEzMi44OTQ3ODkyLCA5OTI3LCAxLjE0NTMxNjI0MzE3MTY5Ml0sIFsxNjYzOTI1MTMyLjk5MDI3MDEsIDk5MzYsIDEuMTU3ODM3NTEwMTA4OTQ3OF0sIFsxNjYzOTI1MTMzLjA5Mjk0NDksIDk5NDUsIDEuMTI5OTYzNjM2Mzk4MzE1NF0sIFsxNjYzOTI1MTMzLjI4NzE3MDYsIDk5NjMsIDEuMTY5MjM0ODcxODY0MzE4OF0sIFsxNjYzOTI1MTMzLjQwMzM0NywgOTk3MiwgMS4xNDk5MDYyNzc2NTY1NTUyXSwgWzE2NjM5MjUxMzMuNTAxODE5NCwgOTk4MSwgMS4xNTM0NTIzOTYzOTI4MjIzXSwgWzE2NjM5MjUxMzMuNjAwMTg1LCA5OTkwLCAxLjE1MTM4NjczNzgyMzQ4NjNdLCBbMTY2MzkyNTEzMy42OTgyMDA1LCA5OTk5LCAxLjE0OTk5NzM1MzU1Mzc3Ml0sIFsxNjYzOTI1MTMzLjc5MTU4NjYsIDEwMDA4LCAxLjE1Mzk2NDYzODcxMDAyMl0sIFsxNjYzOTI1MTMzLjg4NzU3MzUsIDEwMDE3LCAxLjE2NzcwMTg0MDQwMDY5NThdLCBbMTY2MzkyNTEzMy45OTIwMjUsIDEwMDI2LCAxLjEzOTY5NTc2MzU4Nzk1MTddLCBbMTY2MzkyNTEzNC4wOTAxMDA1LCAxMDAzNSwgMS4xNDU1NzM0OTY4MTg1NDI1XSwgWzE2NjM5MjUxMzQuMjc2MTA3NSwgMTAwNTMsIDEuMTM2MjI0NzQ2NzA0MTAxNl0sIFsxNjYzOTI1MTM0LjU3MzU1OTUsIDEwMDYyLCAxLjE1NDQxMDEyMzgyNTA3MzJdLCBbMTY2MzkyNTEzNC43ODU3OTksIDEwMDgwLCAxLjE0NjgzMDc5NzE5NTQzNDZdLCBbMTY2MzkyNTEzNC45MDYyNTUyLCAxMDA4OSwgMS4xNDc2OTE5NjUxMDMxNDk0XSwgWzE2NjM5MjUxMzUuMDA2NjQ0LCAxMDA5OCwgMS4xNTQwMzU0NDkwMjgwMTUxXSwgWzE2NjM5MjUxMzUuMTAyNjkzMywgMTAxMDcsIDEuMTY3NTMxMTMyNjk4MDU5XSwgWzE2NjM5MjUxMzUuNDA1OTcxLCAxMDEzNCwgMS4xNjQyMDkyNDY2MzU0MzddLCBbMTY2MzkyNTEzNS41MDcxMDg3LCAxMDE0MywgMS4xNTUzMjk3MDQyODQ2NjhdLCBbMTY2MzkyNTEzNS43MTMwNTg3LCAxMDE2MSwgMS4xMzc4MjY2ODExMzcwODVdLCBbMTY2MzkyNTEzNS44MDYxMiwgMTAxNzAsIDEuMTYxMTQ1MDkxMDU2ODIzN10sIFsxNjYzOTI1MTM1LjkwNTk3MywgMTAxNzksIDEuMTU5NTc0NzQ3MDg1NTcxM10sIFsxNjYzOTI1MTM2LjAwNDc0NDMsIDEwMTg4LCAxLjE0NjI0MjYxODU2MDc5MV0sIFsxNjYzOTI1MTM2LjExNDcyNDIsIDEwMTk3LCAxLjEzNjcyNjYxNzgxMzExMDRdLCBbMTY2MzkyNTEzNi4yMjY1MTc3LCAxMDIwNiwgMS4xNDUzOTgwMjA3NDQzMjM3XSwgWzE2NjM5MjUxMzYuMzI2NTQ2NCwgMTAyMTUsIDEuMTQwODIyMDUyOTU1NjI3NF0sIFsxNjYzOTI1MTM2LjQyNzI1LCAxMDIyNCwgMS4xNTcxNDA3MzE4MTE1MjM0XSwgWzE2NjM5MjUxMzYuNTI3MDA1LCAxMDIzMywgMS4xMzg0OTI1ODQyMjg1MTU2XSwgWzE2NjM5MjUxMzYuNjI0OTcyLCAxMDI0MiwgMS4xNDM2MzgyNTMyMTE5NzVdLCBbMTY2MzkyNTEzNi44MTMyMDg4LCAxMDI2MCwgMS4xNDI2MDE2MDkyMzAwNDE1XSwgWzE2NjM5MjUxMzYuOTEwNjA2LCAxMDI2OSwgMS4xMTk3MTkxNDc2ODIxOV0sIFsxNjYzOTI1MTM3LjExOTY3NjgsIDEwMjg3LCAxLjE3OTcxNDY3OTcxODAxNzZdLCBbMTY2MzkyNTEzNy4yMTcyNDk0LCAxMDI5NiwgMS4xMzIyNTI0NTQ3NTc2OTA0XSwgWzE2NjM5MjUxMzcuNDE5NzAxNiwgMTAzMTQsIDEuMTQ4Nzk1NDg1NDk2NTIxXSwgWzE2NjM5MjUxMzcuNTE0NjUzNCwgMTAzMjMsIDEuMTQ4MjQ0ODU3Nzg4MDg2XSwgWzE2NjM5MjUxMzcuNzA3NTE2NywgMTAzNDEsIDEuMTU2MDk1MDI3OTIzNTg0XSwgWzE2NjM5MjUxMzcuODAyMjcwNywgMTAzNTAsIDEuMTYwNjk1NzkxMjQ0NTA2OF0sIFsxNjYzOTI1MTM3LjkwNDc2NzUsIDEwMzU5LCAxLjE1MDM1NzEyNzE4OTYzNjJdLCBbMTY2MzkyNTEzOC4wMDQzMjIzLCAxMDM2OCwgMS4xNzkwNTc1OTgxMTQwMTM3XSwgWzE2NjM5MjUxMzguMDk4MDYsIDEwMzc3LCAxLjE0NTMzNzEwNDc5NzM2MzNdLCBbMTY2MzkyNTEzOC4yMDU2OTk3LCAxMDM4NiwgMS4xMjg4NTIyNDgxOTE4MzM1XSwgWzE2NjM5MjUxMzguNDE0MDQ2OCwgMTA0MDQsIDEuMTU5MTQ4NDU0NjY2MTM3N10sIFsxNjYzOTI1MTM4LjUxMjY3ODksIDEwNDEzLCAxLjE3MDIzNTE1NzAxMjkzOTVdLCBbMTY2MzkyNTEzOC42MTIxMDk3LCAxMDQyMiwgMS4xMzQyOTI4NDA5NTc2NDE2XSwgWzE2NjM5MjUxMzguODU0ODM1LCAxMDQ0MCwgMS4xNDE5MjI0NzM5MDc0NzA3XSwgWzE2NjM5MjUxMzguOTY1MTUyLCAxMDQ0OSwgMS4xNDcxMjkxNzgwNDcxODAyXSwgWzE2NjM5MjUxMzkuMjE0MDgzNCwgMTA0NjcsIDEuMTMzNDYzMDI1MDkzMDc4Nl0sIFsxNjYzOTI1MTM5LjMyMTA4NzEsIDEwNDc2LCAxLjE0MTI0MTY2OTY1NDg0NjJdLCBbMTY2MzkyNTEzOS40NDE2MTE1LCAxMDQ4NSwgMS4xNDk0MTk5MDM3NTUxODhdLCBbMTY2MzkyNTEzOS41NTQ0Nzg2LCAxMDQ5NCwgMS4xNTg3NzQ3MzM1NDMzOTZdLCBbMTY2MzkyNTEzOS42NTgxODYsIDEwNTAzLCAxLjE1NDIxNTA5NzQyNzM2ODJdLCBbMTY2MzkyNTEzOS43NzQ5ODMyLCAxMDUxMiwgMS4xNDg4NzYxOTAxODU1NDY5XSwgWzE2NjM5MjUxMzkuODgwNTczNywgMTA1MjEsIDEuMTYwMDE3MDEzNTQ5ODA0N10sIFsxNjYzOTI1MTQwLjI4MTg5NSwgMTA1NTcsIDEuMTUwMjQ5NjAwNDEwNDYxNF0sIFsxNjYzOTI1MTQwLjM5MjIzNCwgMTA1NjYsIDEuMTIzMjc1NjM3NjI2NjQ4XSwgWzE2NjM5MjUxNDAuNDkyMTc0NCwgMTA1NzUsIDEuMTI5MTgzNjUwMDE2Nzg0N10sIFsxNjYzOTI1MTQwLjY5MjI0OTgsIDEwNTkzLCAxLjE0NDI1MTEwODE2OTU1NTddLCBbMTY2MzkyNTE0MC43ODc0OTQyLCAxMDYwMiwgMS4xNjQwNDE3NTc1ODM2MTgyXSwgWzE2NjM5MjUxNDAuODkwNDAyMywgMTA2MTEsIDEuMTMwMTcxMjk4OTgwNzEzXSwgWzE2NjM5MjUxNDEuMDk1NDMwNiwgMTA2MjksIDEuMTU3MTU1ODcxMzkxMjk2NF0sIFsxNjYzOTI1MTQxLjIxNTI1MjIsIDEwNjM4LCAxLjEzMDYyMDk1NjQyMDg5ODRdLCBbMTY2MzkyNTE0MS4zMTQzOTQ1LCAxMDY0NywgMS4xMzE0MTA5NTYzODI3NTE1XSwgWzE2NjM5MjUxNDEuNTIxMDQxLCAxMDY2NSwgMS4xMzkyOTY0MTI0Njc5NTY1XSwgWzE2NjM5MjUxNDEuNzE5ODcxOCwgMTA2ODMsIDEuMTQ3OTY5OTYxMTY2MzgxOF0sIFsxNjYzOTI1MTQxLjkzMTY2MSwgMTA3MDEsIDEuMTMxNDg4NDQyNDIwOTU5NV0sIFsxNjYzOTI1MTQyLjA2NTIzNCwgMTA3MTAsIDEuMTMyNjI2ODkxMTM2MTY5NF0sIFsxNjYzOTI1MTQyLjE4Njg0NywgMTA3MTksIDEuMTc1Njk1ODk2MTQ4NjgxNl0sIFsxNjYzOTI1MTQyLjI4NDcyNzgsIDEwNzI4LCAxLjE0NzM0MTEzMjE2NDAwMTVdLCBbMTY2MzkyNTE0Mi40ODg2MDg2LCAxMDc0NiwgMS4xNDk3MDk4MjA3NDczNzU1XSwgWzE2NjM5MjUxNDIuNTg4NDE4NSwgMTA3NTUsIDEuMTU5ODQ0ODc1MzM1NjkzNF0sIFsxNjYzOTI1MTQyLjY4NzU1MTMsIDEwNzY0LCAxLjE0ODU1NTE1OTU2ODc4NjZdLCBbMTY2MzkyNTE0Mi43OTI1MTg5LCAxMDc3MywgMS4xNDk3MjE2MjI0NjcwNDFdLCBbMTY2MzkyNTE0Mi44OTM0OTk0LCAxMDc4MiwgMS4xNDkxMzk4ODExMzQwMzMyXSwgWzE2NjM5MjUxNDIuOTg5ODk5MiwgMTA3OTEsIDEuMTYzODMwMzk5NTEzMjQ0Nl0sIFsxNjYzOTI1MTQzLjM0NjUxNDUsIDEwODE4LCAxLjE0ODgwODU5ODUxODM3MTZdLCBbMTY2MzkyNTE0My40NTU5OTc1LCAxMDgyNywgMS4xNjA2NzQyMTQzNjMwOTgxXSwgWzE2NjM5MjUxNDMuOTcwNTQyMiwgMTA4NTQsIDEuMTMwNzM1MDM5NzEwOTk4NV0sIFsxNjYzOTI1MTQ0LjA3NzMxOTksIDEwODYzLCAxLjEyMjEzMDE1NTU2MzM1NDVdLCBbMTY2MzkyNTE0NC4xNzYyMDM3LCAxMDg3MiwgMS4xNTM3OTIzODEyODY2MjFdLCBbMTY2MzkyNTE0NC4zNzU0MTgyLCAxMDg5MCwgMS4xNzE1NDAzNzk1MjQyMzFdLCBbMTY2MzkyNTE0NC40ODAxOTkzLCAxMDg5OSwgMS4xMzA0MDYzNzk2OTk3MDddLCBbMTY2MzkyNTE0NC43NzUxMDM2LCAxMDkyNiwgMS4xMzU4MjQ2ODAzMjgzNjkxXSwgWzE2NjM5MjUxNDQuODY3MzA3NCwgMTA5MzUsIDEuMTM2NDQ1ODc5OTM2MjE4M10sIFsxNjYzOTI1MTQ0Ljk2NDIzMywgMTA5NDQsIDEuMTI5MzIxMDk4MzI3NjM2N10sIFsxNjYzOTI1MTQ1LjE2NDc2LCAxMDk2MiwgMS4xMzQ4NTM5NTkwODM1NTcxXSwgWzE2NjM5MjUxNDUuMjc3MzMzMywgMTA5NzEsIDEuMTMwOTI2MDEyOTkyODU4OV0sIFsxNjYzOTI1MTQ1LjM3NTE1NjQsIDEwOTgwLCAxLjE3MzMyMjQzOTE5MzcyNTZdLCBbMTY2MzkyNTE0NS40NzQyNzQ0LCAxMDk4OSwgMS4xNjQyNjIxNzU1NTk5OTc2XSwgWzE2NjM5MjUxNDUuNTc1OTc0NSwgMTA5OTgsIDEuMTQxNDYwNTM3OTEwNDYxNF0sIFsxNjYzOTI1MTQ1LjY3NzUyNywgMTEwMDcsIDEuMTUxMDY1MjMwMzY5NTY3OV0sIFsxNjYzOTI1MTQ1Ljc5MDY1NSwgMTEwMTYsIDEuMTIwMTY2MzAxNzI3Mjk1XSwgWzE2NjM5MjUxNDYuMDA4ODQ2NSwgMTEwMzQsIDEuMTM1NTcyNDMzNDcxNjc5N10sIFsxNjYzOTI1MTQ2LjMzMDc5MDMsIDExMDYxLCAxLjEzODE0MTc1MTI4OTM2NzddLCBbMTY2MzkyNTE0Ni40MzY0MzQsIDExMDcwLCAxLjEyOTc2MTIxOTAyNDY1ODJdLCBbMTY2MzkyNTE0Ni43NDUyMTIsIDExMDk3LCAxLjE1MzAwNDE2OTQ2NDExMTNdLCBbMTY2MzkyNTE0Ni44NTA2OTU4LCAxMTEwNiwgMS4xMzI1OTU1MzkwOTMwMTc2XSwgWzE2NjM5MjUxNDYuOTU0ODc5LCAxMTExNSwgMS4xNDExNTIyNjI2ODc2ODNdLCBbMTY2MzkyNTE0Ny4wNjIzOTY1LCAxMTEyNCwgMS4xMTU2MTAwMDM0NzEzNzQ1XSwgWzE2NjM5MjUxNDcuMzkzNTUyLCAxMTE1MSwgMS4xNDU3NDgzNzY4NDYzMTM1XSwgWzE2NjM5MjUxNDcuNjA3NzcyLCAxMTE2OSwgMS4xMzk3NjM3MTI4ODI5OTU2XSwgWzE2NjM5MjUxNDcuNzE3MTU2LCAxMTE3OCwgMS4xNDQyOTQ1MDAzNTA5NTIxXSwgWzE2NjM5MjUxNDcuODI0MDIsIDExMTg3LCAxLjE1MDg0NTE3MDAyMTA1NzFdLCBbMTY2MzkyNTE0Ny45NDgxNDcsIDExMTk2LCAxLjE2Mzk3MTQyNDEwMjc4MzJdLCBbMTY2MzkyNTE0OC4wNTM4NDY4LCAxMTIwNSwgMS4xNTUxNDY5NTY0NDM3ODY2XSwgWzE2NjM5MjUxNDguMTUyNDI3NCwgMTEyMTQsIDEuMTQ3MzIzMDEyMzUxOTg5N10sIFsxNjYzOTI1MTQ4LjI0ODA3NDMsIDExMjIzLCAxLjE1MDQ3NDkwNTk2NzcxMjRdLCBbMTY2MzkyNTE0OC4zODY5NDYsIDExMjMyLCAxLjE0NjEzMDgwMDI0NzE5MjRdLCBbMTY2MzkyNTE0OC41MDEzMDksIDExMjQxLCAxLjEyMDUzMTA4MjE1MzMyMDNdLCBbMTY2MzkyNTE0OC42MTM2NTksIDExMjUwLCAxLjE1MTU5ODIxNTEwMzE0OTRdLCBbMTY2MzkyNTE0OC43MjM3MzI1LCAxMTI1OSwgMS4xNDk4NzE5NDUzODExNjQ2XSwgWzE2NjM5MjUxNDguODM0NTY0NCwgMTEyNjgsIDEuMTQwNzg3NDgyMjYxNjU3N10sIFsxNjYzOTI1MTQ4LjkzODM5ODEsIDExMjc3LCAxLjE0NTU3MTQ3MDI2MDYyMDFdLCBbMTY2MzkyNTE0OS4wNDEwMjgsIDExMjg2LCAxLjExOTg2NzMyNDgyOTEwMTZdLCBbMTY2MzkyNTE0OS4xNDE2MTU0LCAxMTI5NSwgMS4xMzMzMDAxODUyMDM1NTIyXSwgWzE2NjM5MjUxNDkuMzUxNzYxOCwgMTEzMTMsIDEuMTMxMDI4NjUyMTkxMTYyXSwgWzE2NjM5MjUxNDkuNDUxNTcwNywgMTEzMjIsIDEuMTQ2NjEyNzYzNDA0ODQ2Ml0sIFsxNjYzOTI1MTQ5Ljc4Nzk2MjcsIDExMzQ5LCAxLjEyNjEzNDg3MjQzNjUyMzRdLCBbMTY2MzkyNTE0OS44OTM2MDUyLCAxMTM1OCwgMS4xMzg5MDkzMzk5MDQ3ODUyXSwgWzE2NjM5MjUxNTAuMTAxNzQ1MSwgMTEzNzYsIDEuMTU3MDUzNDcwNjExNTcyM10sIFsxNjYzOTI1MTUwLjIzNDU5MTcsIDExMzg1LCAxLjEzOTA1Nzg3NDY3OTU2NTRdLCBbMTY2MzkyNTE1MC4zNDM3NTM2LCAxMTM5NCwgMS4xODQzMTA2NzQ2NjczNTg0XSwgWzE2NjM5MjUxNTAuNDYyMzQ5LCAxMTQwMywgMS4xNTY1MDk4NzYyNTEyMjA3XSwgWzE2NjM5MjUxNTAuNTU4OTc3OCwgMTE0MTIsIDEuMTg2OTk3MTc1MjE2Njc0OF0sIFsxNjYzOTI1MTUwLjY2NzM1MiwgMTE0MjEsIDEuMTQ3MTk1MjE5OTkzNTkxM10sIFsxNjYzOTI1MTUxLjAzMzUzNDgsIDExNDQ4LCAxLjE0MDQwOTIzMTE4NTkxM10sIFsxNjYzOTI1MTUxLjEzNjc2NTUsIDExNDU3LCAxLjEyODYwNDY1MDQ5NzQzNjVdLCBbMTY2MzkyNTE1MS40Njg2OTAyLCAxMTQ4NCwgMS4xNjEyMjAxOTI5MDkyNDA3XSwgWzE2NjM5MjUxNTEuNTcwMTU1LCAxMTQ5MywgMS4xNzU5Mzg4NDQ2ODA3ODYxXSwgWzE2NjM5MjUxNTEuNjc4MzQzLCAxMTUwMiwgMS4xNTUzNDkxMzUzOTg4NjQ3XSwgWzE2NjM5MjUxNTEuNzc3OTAyLCAxMTUxMSwgMS4xNDA5MzcyMDkxMjkzMzM1XSwgWzE2NjM5MjUxNTEuODgzMjM1NywgMTE1MjAsIDEuMTQ0ODE5NDk4MDYyMTMzOF0sIFsxNjYzOTI1MTUxLjk3OTYxMDIsIDExNTI5LCAxLjEzNjQ0Njk1MjgxOTgyNDJdLCBbMTY2MzkyNTE1Mi4xODE5LCAxMTU0NywgMS4xNTcxMTI1OTg0MTkxODk1XSwgWzE2NjM5MjUxNTIuMjgzODIwOSwgMTE1NTYsIDEuMTQ2NTU5NTk2MDYxNzA2NV0sIFsxNjYzOTI1MTUyLjQ4MDQzMTMsIDExNTc0LCAxLjE2NDc1MjM2NDE1ODYzMDRdLCBbMTY2MzkyNTE1Mi41NzcwMDYzLCAxMTU4MywgMS4xMjM3MDY0NTk5OTkwODQ1XSwgWzE2NjM5MjUxNTIuNzc4MjA5NCwgMTE2MDEsIDEuMTM3MTcwMTk1NTc5NTI4OF0sIFsxNjYzOTI1MTUzLjE2OTEzMTgsIDExNjE5LCAxLjEzNjcyMTQ5MTgxMzY1OTddLCBbMTY2MzkyNTE1My4yNjkyODkzLCAxMTYyOCwgMS4xMzkwMjA2ODEzODEyMjU2XSwgWzE2NjM5MjUxNTMuMzcyNDM1OCwgMTE2MzcsIDEuMTM4NTc3MzQyMDMzMzg2Ml0sIFsxNjYzOTI1MTUzLjQ3ODAzMywgMTE2NDYsIDEuMTQ0MDk0NDY3MTYzMDg2XSwgWzE2NjM5MjUxNTMuNjY5MzY2OCwgMTE2NjQsIDEuMTYyOTI2NjczODg5MTYwMl0sIFsxNjYzOTI1MTUzLjc2MTk2OTYsIDExNjczLCAxLjEyNjE5NTkwNzU5Mjc3MzRdLCBbMTY2MzkyNTE1My45NTk2MDIsIDExNjkxLCAxLjEyNzAzNTg1NjI0Njk0ODJdLCBbMTY2MzkyNTE1NC4wNjk4NSwgMTE3MDAsIDEuMTE4NDExNjYwMTk0Mzk3XSwgWzE2NjM5MjUxNTQuMTc4MDgyNSwgMTE3MDksIDEuMTUyMzg4MDk1ODU1NzEzXSwgWzE2NjM5MjUxNTQuMjc1Mjc5LCAxMTcxOCwgMS4xMTUyMjUzMTUwOTM5OTQxXSwgWzE2NjM5MjUxNTQuMzc2NDEzMywgMTE3MjcsIDEuMTI5NDI4MTQ4MjY5NjUzM10sIFsxNjYzOTI1MTU0LjU3NTgzOTMsIDExNzQ1LCAxLjEyOTgwMTUxMTc2NDUyNjRdLCBbMTY2MzkyNTE1NC42NzI2MDcyLCAxMTc1NCwgMS4xMzA4NDc1NzMyODAzMzQ1XSwgWzE2NjM5MjUxNTQuNzY2NzM2LCAxMTc2MywgMS4xMjEwNDA1ODI2NTY4NjA0XSwgWzE2NjM5MjUxNTQuODYwOTg1LCAxMTc3MiwgMS4xNzQyMTE3NDA0OTM3NzQ0XSwgWzE2NjM5MjUxNTUuMDY2ODkxLCAxMTc5MCwgMS4xMzcyOTQ2NTAwNzc4MTk4XSwgWzE2NjM5MjUxNTUuMTYyNzcyMiwgMTE3OTksIDEuMTIxNjM2MjcxNDc2NzQ1Nl0sIFsxNjYzOTI1MTU1LjI1OTQxMDksIDExODA4LCAxLjE0NjcxMzEzNzYyNjY0OF0sIFsxNjYzOTI1MTU1LjM1Mzk3MTcsIDExODE3LCAxLjEyNTAwMDU5NjA0NjQ0NzhdLCBbMTY2MzkyNTE1NS40NDkwODM4LCAxMTgyNiwgMS4xMzYxOTQyMjkxMjU5NzY2XSwgWzE2NjM5MjUxNTUuNTQ1OTEwMSwgMTE4MzUsIDEuMTIzMzk1ODAwNTkwNTE1MV0sIFsxNjYzOTI1MTU1LjY0NTY5OTcsIDExODQ0LCAxLjEwMjI0NDk3MzE4MjY3ODJdLCBbMTY2MzkyNTE1NS45MTk1MzE2LCAxMTg3MSwgMS4xMjkxNzExMzMwNDEzODE4XSwgWzE2NjM5MjUxNTYuMDE3MTI5MiwgMTE4ODAsIDEuMTM0MzYwNDMyNjI0ODE3XSwgWzE2NjM5MjUxNTYuMTIzODczNSwgMTE4ODksIDEuMTI5OTc5OTY4MDcwOTgzOV0sIFsxNjYzOTI1MTU2LjIyNzU0ODQsIDExODk4LCAxLjE4NTk2MDUzMTIzNDc0MTJdLCBbMTY2MzkyNTE1Ni4zMjMyNDQzLCAxMTkwNywgMS4xNjE1OTExNzIyMTgzMjI4XSwgWzE2NjM5MjUxNTYuNDIwMDg3MywgMTE5MTYsIDEuMTM5OTc1Nzg2MjA5MTA2NF0sIFsxNjYzOTI1MTU2LjUxNTQ3OSwgMTE5MjUsIDEuMTQ3NjY3MDUwMzYxNjMzM10sIFsxNjYzOTI1MTU2LjYwNDUxNCwgMTE5MzQsIDEuMTM4MTk4NDk0OTExMTkzOF0sIFsxNjYzOTI1MTU2LjcyNDcyNjIsIDExOTQzLCAxLjE1NDI4ODE3MjcyMTg2MjhdLCBbMTY2MzkyNTE1Ni44Mzg3MjQ5LCAxMTk1MiwgMS4xNDg5NDg0MzEwMTUwMTQ2XSwgWzE2NjM5MjUxNTYuOTQzODUzOSwgMTE5NjEsIDEuMTM1NTQ2NTY1MDU1ODQ3Ml0sIFsxNjYzOTI1MTU3LjA1MjY4NzQsIDExOTcwLCAxLjE2Nzk4MTg2MzAyMTg1MDZdLCBbMTY2MzkyNTE1Ny4xNjg1MDMzLCAxMTk3OSwgMS4xMzY2MzM4NzI5ODU4Mzk4XSwgWzE2NjM5MjUxNTcuNTE1NjY1LCAxMjAwNiwgMS4xMjMwOTY0NjYwNjQ0NTMxXSwgWzE2NjM5MjUxNTcuNjE2MTk2OSwgMTIwMTUsIDEuMTI0NTAxNDY2NzUxMDk4Nl0sIFsxNjYzOTI1MTU3LjcxNDAzMTIsIDEyMDI0LCAxLjEzMjcxNjE3ODg5NDA0M10sIFsxNjYzOTI1MTU4LjAxMDg5NzYsIDEyMDUxLCAxLjEyMzc4MTY4MTA2MDc5MV0sIFsxNjYzOTI1MTU4LjMwNDA0NiwgMTIwNzgsIDEuMTUxODcwNjA4MzI5NzczXSwgWzE2NjM5MjUxNTguMzk5ODI5MSwgMTIwODcsIDEuMTUyMzAyOTgwNDIyOTczNl0sIFsxNjYzOTI1MTU4LjU4NDk1MjYsIDEyMTA1LCAxLjE0MTI2MjA1NDQ0MzM1OTRdLCBbMTY2MzkyNTE1OC42ODU2NDQ5LCAxMjExNCwgMS4xMjM2ODMzMzMzOTY5MTE2XSwgWzE2NjM5MjUxNTguOTIwMjI0NCwgMTIxMzIsIDEuMTQwOTgwOTU4OTM4NTk4Nl0sIFsxNjYzOTI1MTU5LjAyNDg1NjgsIDEyMTQxLCAxLjEzODc1MjIyMjA2MTE1NzJdLCBbMTY2MzkyNTE1OS4xMzI2MywgMTIxNTAsIDEuMTQ1Nzc0MjQ1MjYyMTQ2XSwgWzE2NjM5MjUxNTkuMzQ2OTMxNywgMTIxNjgsIDEuMTM4ODAzMzYyODQ2Mzc0NV0sIFsxNjYzOTI1MTU5LjQ1MDUwOTgsIDEyMTc3LCAxLjE0OTg3NDIxMDM1NzY2Nl0sIFsxNjYzOTI1MTU5LjU1MTMxMDUsIDEyMTg2LCAxLjEzNDQ2MzU0ODY2MDI3ODNdLCBbMTY2MzkyNTE1OS42NTg5NTc3LCAxMjE5NSwgMS4xNTU0MDQ5MjUzNDYzNzQ1XSwgWzE2NjM5MjUxNTkuNzY0NjA5NiwgMTIyMDQsIDEuMTEzODgwNjM0MzA3ODYxM11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=v8&tag=Loss%2Ftrain":{"data":"W1sxNjYzODQwMTUxLjQzOTg2NDksIDM2LCAyMy40ODc5NjA4MTU0Mjk2ODhdLCBbMTY2Mzg0MDE1MS41NTk0MDIsIDQ1LCAxOC40MTY2MDY5MDMwNzYxNzJdLCBbMTY2Mzg0MDE1Mi4zMDI2ODkzLCA5OSwgNS43Mjc2OTE2NTAzOTA2MjVdLCBbMTY2Mzg0MDE1Mi43NDg4MDksIDEzNSwgNS40NzU0NDE5MzI2NzgyMjNdLCBbMTY2Mzg0MDE1Mi44NTc4MTI0LCAxNDQsIDUuNDExNzc5NDAzNjg2NTIzXSwgWzE2NjM4NDAxNTMuMjM3MTA2OCwgMTcxLCA1LjE3MTE0OTI1Mzg0NTIxNV0sIFsxNjYzODQwMTUzLjM1NTIwNjMsIDE4MCwgNS4xODUzMzYxMTI5NzYwNzRdLCBbMTY2Mzg0MDE1My40OTU5NTQ1LCAxODksIDUuMTczNzIzMjIwODI1MTk1XSwgWzE2NjM4NDAxNTMuNzc0OTU3NywgMjA3LCA1LjAwODcxMjI5MTcxNzUyOV0sIFsxNjYzODQwMTUzLjg5ODY3MjMsIDIxNiwgNC45Nzc3MDI2MTc2NDUyNjRdLCBbMTY2Mzg0MDE1NC4zMTg4OTk5LCAyNDMsIDQuODc4OTM1ODEzOTAzODA5XSwgWzE2NjM4NDAxNTQuNDM1OTc1OCwgMjUyLCA0Ljg1OTAxMTY1MDA4NTQ0OV0sIFsxNjYzODQwMTU2LjE2MTAzNjUsIDM1MSwgNC4yMzcyNDY5OTAyMDM4NTddLCBbMTY2Mzg0MDE1Ni40MjI0MDMsIDM2OSwgNC4yMzQwNzE3MzE1NjczODNdLCBbMTY2Mzg0MDE1Ny4zMTc1NTY0LCA0MzIsIDMuOTUwNzA4Mzg5MjgyMjI2Nl0sIFsxNjYzODQwMTU3LjQzNTEwNDgsIDQ0MSwgMy44OTUyNzEwNjI4NTA5NTJdLCBbMTY2Mzg0MDE1Ny42MDEwMiwgNDUwLCAzLjgyMDY5OTQ1MzM1Mzg4Ml0sIFsxNjYzODQwMTU3Ljg0OTAyNDMsIDQ2OCwgMy43MTczMTgyOTY0MzI0OTVdLCBbMTY2Mzg0MDE1OC4yODEyOTA1LCA0OTUsIDMuNjUxMjQxNTQwOTA4ODEzNV0sIFsxNjYzODQwMTU4LjY2OTU4MzgsIDUyMiwgMy41ODAxNzQ0NDYxMDU5NTddLCBbMTY2Mzg0MDE1OS4xMDExNjgyLCA1NDksIDMuNDkyNjY1NzY3NjY5Njc3N10sIFsxNjYzODQwMTU5LjIzMDk1MjMsIDU1OCwgMy40NDg2MzQxNDc2NDQwNDNdLCBbMTY2Mzg0MDE1OS4zNjY5MjYyLCA1NjcsIDMuMzQ4MjE2NTMzNjYwODg4N10sIFsxNjYzODQwMTU5LjQ5Mjc3MTYsIDU3NiwgMy4zNzM2MjI4OTQyODcxMDk0XSwgWzE2NjM4NDAxNTkuNzI0OTczLCA1OTQsIDMuMjQwNjY5NDg4OTA2ODYwNF0sIFsxNjYzODQwMTU5Ljg0OTEzNSwgNjAzLCAzLjMwMDQ3OTY1MDQ5NzQzNjVdLCBbMTY2Mzg0MDE1OS45Njc5NTYsIDYxMiwgMy4yMjM1Njc5NjI2NDY0ODQ0XSwgWzE2NjM4NDAxNjAuMDg1MTcxNSwgNjIxLCAzLjE5MTM2NzE0OTM1MzAyNzNdLCBbMTY2Mzg0MDE2MC4zMjkyNTY4LCA2MzksIDMuMTI4MDY2Nzc4MTgyOTgzNF0sIFsxNjYzODQwMTYwLjQ2NTIyMywgNjQ4LCAzLjE0MjMzODAzNzQ5MDg0NDddLCBbMTY2Mzg0MDE2MS4zMzgxODEsIDcwMiwgMi45MzU3MjMzMDQ3NDg1MzVdLCBbMTY2Mzg0MDE2MS42MDU1MjI2LCA3MjAsIDIuOTAzNjM2OTMyMzczMDQ3XSwgWzE2NjM4NDAxNjIuMDU1MTAxMiwgNzQ3LCAyLjgyMDIxOTUxNjc1NDE1MDRdLCBbMTY2Mzg0MDE2Mi40NzE0NTQ5LCA3NzQsIDIuNzcwMTQ5NzA3Nzk0MTg5NV0sIFsxNjYzODQwMTYyLjk2ODA1NTcsIDgxMCwgMi43NzU5NzQyNzM2ODE2NDA2XSwgWzE2NjM4NDAxNjQuMjc3ODcyLCA5MDAsIDIuNTUxNTEyOTU2NjE5MjYyN10sIFsxNjYzODQwMTY0LjQwOTcwMDksIDkwOSwgMi41MTkwODAxNjIwNDgzNF0sIFsxNjYzODQwMTY0LjgxNTg1OTMsIDkzNiwgMi40NTc0NjIwNzIzNzI0MzY1XSwgWzE2NjM4NDAxNjUuMjE5NTcxOCwgOTYzLCAyLjQ1MTgyOTY3MTg1OTc0MV0sIFsxNjYzODQwMTY1LjM0OTc0NjIsIDk3MiwgMi40NzkwMjMyMTgxNTQ5MDcyXSwgWzE2NjM4NDAxNjUuNjEwMDQ5LCA5OTAsIDIuNDA0NjE5NjkzNzU2MTAzNV0sIFsxNjYzODQwMTY2LjU3OTk0NjgsIDEwNTMsIDIuMjg2MDAzMTEyNzkyOTY4OF0sIFsxNjYzODQwMTY3LjI3MTE4NTQsIDEwOTgsIDIuMjQ4MTY3OTkxNjM4MTgzNl0sIFsxNjYzODQwMTY4LjA3NTI3NDUsIDExMzQsIDIuMzk1MDk4NDQ3Nzk5NjgyNl0sIFsxNjYzODQwMTY4LjIwMzg1LCAxMTQzLCAyLjQyNzgyODA3MzUwMTU4N10sIFsxNjYzODQwMTY4LjQ1NTYyMjIsIDExNjEsIDIuMTcyNDMwNzUzNzA3ODg1N10sIFsxNjYzODQwMTY4LjcxMTY1NywgMTE3OSwgMi4xNTg4MjQ0NDM4MTcxMzg3XSwgWzE2NjM4NDAxNjguODM0MDEsIDExODgsIDIuMTQ2NzgyMTU5ODA1Mjk4XSwgWzE2NjM4NDAxNjkuNDYyMTgyMywgMTIzMywgMi4xNzUyNjEwMjA2NjA0MDA0XSwgWzE2NjM4NDAxNjkuNTc5OTY3MywgMTI0MiwgMi4xNjQzMjgzMzY3MTU2OTgyXSwgWzE2NjM4NDAxNzAuNTk0MzU1OCwgMTMwNSwgMi4xMDc1OTY2MzU4MTg0ODE0XSwgWzE2NjM4NDAxNzAuODY5NTczLCAxMzIzLCAyLjEyMTIxMzE5NzcwODEzXSwgWzE2NjM4NDAxNzEuMDI3MjI3NiwgMTMzMiwgMi4xMDQyNjU2ODk4NDk4NTM1XSwgWzE2NjM4NDAxNzEuNDU2ODUzLCAxMzU5LCAyLjA5OTMxODk4MTE3MDY1NDNdLCBbMTY2Mzg0MDE3Mi40NzkwNTEsIDE0MjIsIDIuMTUzMDEwMzY4MzQ3MTY4XSwgWzE2NjM4NDAxNzIuODgzNDY5OCwgMTQ0OSwgMi4wMzExMDg2MTc3ODI1OTI4XSwgWzE2NjM4NDAxNzMuMTU0Njg5NiwgMTQ2NywgMi4wMjE2MjU1MTg3OTg4MjhdLCBbMTY2Mzg0MDE3My4zOTY2ODg1LCAxNDg1LCAxLjk5NzY5NTgwMzY0MjI3M10sIFsxNjYzODQwMTc0LjE0MDk0OTcsIDE1MzksIDEuOTgxMzE1MjU1MTY1MV0sIFsxNjYzODQwMTc0LjI5NDE0MDMsIDE1NDgsIDEuOTc3Mzk1NDE1MzA2MDkxM10sIFsxNjYzODQwMTc0LjQyMjY0NTMsIDE1NTcsIDEuOTkwNDc4MDM4Nzg3ODQxOF0sIFsxNjYzODQwMTc0Ljc5MDYxMjIsIDE1ODQsIDIuMDIyMzUzNjQ5MTM5NDA0M10sIFsxNjYzODQwMTc1LjA0MDMzOTUsIDE2MDIsIDIuMDA3NDMyNDYwNzg0OTEyXSwgWzE2NjM4NDAxNzUuNTU3MzczOCwgMTYzOCwgMS45MzAzNjczNTA1NzgzMDhdLCBbMTY2Mzg0MDE3NS45MTYwNDEsIDE2NjUsIDEuOTUyNjY5NjIwNTEzOTE2XSwgWzE2NjM4NDAxNzYuMDQ2NjA2MywgMTY3NCwgMS45MzA2MDU3NjkxNTc0MDk3XSwgWzE2NjM4NDAxNzYuMTYwMjg4LCAxNjgzLCAxLjk2MjYwNjkwNjg5MDg2OTFdLCBbMTY2Mzg0MDE3Ni42NjkwNDUsIDE3MTksIDEuOTk5MTcwNzgwMTgxODg0OF0sIFsxNjYzODQwMTc2Ljc5NTA5NywgMTcyOCwgMi4wNzk4NDIwOTA2MDY2ODk1XSwgWzE2NjM4NDAxNzYuOTEyNTc4NiwgMTczNywgMS45OTY4NDQ4ODc3MzM0NTk1XSwgWzE2NjM4NDAxNzcuODE4NTE4OSwgMTgwMCwgMS44NzI2NzI2NzcwNDAxXSwgWzE2NjM4NDAxNzguMjYyODQ3NCwgMTgyNywgMS45Mjc1OTIwMzkxMDgyNzY0XSwgWzE2NjM4NDAxNzguMzg4OTQ4MiwgMTgzNiwgMS44OTY4ODE1ODAzNTI3ODMyXSwgWzE2NjM4NDAxNzguNTQ1ODgyNywgMTg0NSwgMS44Nzg2ODQ2Mzk5MzA3MjVdLCBbMTY2Mzg0MDE3OC42ODQzNzc3LCAxODU0LCAxLjg5OTIyNzM4MDc1MjU2MzVdLCBbMTY2Mzg0MDE3OC45NjAwODA2LCAxODcyLCAxLjg3NTU1MjA1ODIxOTkwOTddLCBbMTY2Mzg0MDE3OS4yNjg5OTE3LCAxODkwLCAxLjg5OTYxNDQ1MzMxNTczNDldLCBbMTY2Mzg0MDE3OS44NDIyOTUsIDE5MDgsIDEuOTI2MjU5ODc1Mjk3NTQ2NF0sIFsxNjYzODQwMTgwLjA4MTU2MzcsIDE5MjYsIDEuODc1MjY3MjY3MjI3MTcyOV0sIFsxNjYzODQwMTgwLjMyODQ3MjQsIDE5NDQsIDEuODYyMzU3NDk3MjE1MjcxXSwgWzE2NjM4NDAxODAuNDgwNDQ3LCAxOTUzLCAxLjg4NDc1MzIyNzIzMzg4NjddLCBbMTY2Mzg0MDE4MC44ODgyMTQ2LCAxOTgwLCAxLjg3NDUyMjY4NjAwNDYzODddLCBbMTY2Mzg0MDE4MS4wMzc0NjgsIDE5ODksIDEuODU2NTYxODk5MTg1MTgwN10sIFsxNjYzODQwMTgxLjE3NDYxNjYsIDE5OTgsIDEuODEyMjE5MDIzNzA0NTI4OF0sIFsxNjYzODQwMTgxLjU4MTI1MzMsIDIwMjUsIDEuOTM2MDU1NjYwMjQ3ODAyN10sIFsxNjYzODQwMTgyLjMwOTUyMDUsIDIwNzAsIDEuODUyMDg1OTQ3OTkwNDE3NV0sIFsxNjYzODQwMTgzLjYzMDA2ODgsIDIxNjAsIDEuODUyNjczMTcyOTUwNzQ0Nl0sIFsxNjYzODQwMTgzLjkxOTMwNDEsIDIxNzgsIDEuODE4Mzc5MjgyOTUxMzU1XSwgWzE2NjM4NDAxODQuMzQ4NDk2MiwgMjIwNSwgMS43ODM3NDg3NDU5MTgyNzRdLCBbMTY2Mzg0MDE4NC41MDA2NjYsIDIyMTQsIDEuNzc1ODY3MjIzNzM5NjI0XSwgWzE2NjM4NDAxODQuNjQzMzE4MiwgMjIyMywgMS43ODkxMDQ0NjE2Njk5MjE5XSwgWzE2NjM4NDAxODUuODA2Mjk2MywgMjI5NSwgMS43OTM1NDgxMDcxNDcyMTY4XSwgWzE2NjM4NDAxODYuMzcwMjM1MiwgMjMzMSwgMS43NDg4NTA4MjI0NDg3MzA1XSwgWzE2NjM4NDAxODYuNTA5NDA3NSwgMjM0MCwgMS43NjI4MjU0ODkwNDQxODk1XSwgWzE2NjM4NDAxODYuNjUzMjcxMiwgMjM0OSwgMS43NDI3MzQ5MDkwNTc2MTcyXSwgWzE2NjM4NDAxODYuOTI4NjE0MSwgMjM2NywgMS43ODkyNTcwNDk1NjA1NDY5XSwgWzE2NjM4NDAxODguMDU1MzMxLCAyNDM5LCAxLjc1NTIyMDc3MDgzNTg3NjVdLCBbMTY2Mzg0MDE4OC4xOTE2OTUyLCAyNDQ4LCAxLjcyNjY0MjAxMjU5NjEzMDRdLCBbMTY2Mzg0MDE4OC42MDA1MTIzLCAyNDc1LCAxLjY5NDAyNjcwODYwMjkwNTNdLCBbMTY2Mzg0MDE4OC44ODU0MDAzLCAyNDkzLCAxLjcxOTEzMDE1ODQyNDM3NzRdLCBbMTY2Mzg0MDE4OS4xNTY5NjU3LCAyNTExLCAxLjc4MDU5ODg3ODg2MDQ3MzZdLCBbMTY2Mzg0MDE4OS40MjQ1MSwgMjUyOSwgMS43MDExNDAxNjUzMjg5Nzk1XSwgWzE2NjM4NDAxODkuNjcwMDQyNSwgMjU0NywgMS43MTc5NzYwOTMyOTIyMzYzXSwgWzE2NjM4NDAxODkuNzg0MDkxNSwgMjU1NiwgMS43NDA4MjYzNjgzMzE5MDkyXSwgWzE2NjM4NDAxOTAuMDY4MzA2MiwgMjU3NCwgMS43NDExNTUyNjY3NjE3Nzk4XSwgWzE2NjM4NDAxOTAuMzU5MTAyNSwgMjU5MiwgMS43Mjg5NjExMTAxMTUwNTEzXSwgWzE2NjM4NDAxOTAuNTAxMTA1LCAyNjAxLCAxLjk0MjI2OTQ0NDQ2NTYzNzJdLCBbMTY2Mzg0MDE5MC43OTM4OTI2LCAyNjE5LCAxLjc1MDg2MzA3NTI1NjM0NzddLCBbMTY2Mzg0MDE5MS40ODk2MzAyLCAyNjY0LCAxLjc4NzQ4OTY1MjYzMzY2N10sIFsxNjYzODQwMTkxLjY0MTg1OSwgMjY3MywgMS43MDQ2MzE2ODYyMTA2MzIzXSwgWzE2NjM4NDAxOTEuNzg0MjkxMywgMjY4MiwgMS42OTQwNzAzMzkyMDI4ODA5XSwgWzE2NjM4NDAxOTEuODk5MjIzOCwgMjY5MSwgMS42ODY2NjUyOTY1NTQ1NjU0XSwgWzE2NjM4NDAxOTMuMTIwMTQyNywgMjc2MywgMS43MDU5MDAzMTE0NzAwMzE3XSwgWzE2NjM4NDAxOTMuMzQ3NDEzNSwgMjc4MSwgMS42NjQ0NDcxODgzNzczODA0XSwgWzE2NjM4NDAxOTMuODg2NzY4LCAyODE3LCAxLjY0MjAzNjU1NzE5NzU3MDhdLCBbMTY2Mzg0MDE5NC40NjUyMjA1LCAyODUzLCAxLjY2OTk4NTA1NTkyMzQ2Ml0sIFsxNjYzODQwMTk0Ljc0Mjk1NCwgMjg3MSwgMS42NTM5NjA0NjYzODQ4ODc3XSwgWzE2NjM4NDAxOTQuODc4ODc0LCAyODgwLCAxLjY1MDc1MDYzNzA1NDQ0MzRdLCBbMTY2Mzg0MDE5NS4yODk3MTU4LCAyOTA3LCAxLjY0MjY1NDQxODk0NTMxMjVdLCBbMTY2Mzg0MDE5Ni4yNTUxOTIsIDI5NzAsIDEuNjQ3NDk1NjI3NDAzMjU5M10sIFsxNjYzODQwMTk2LjUzNTU5NDcsIDI5ODgsIDEuNjI5NDM3OTIzNDMxMzk2NV0sIFsxNjYzODQwMTk2LjY3OTA4NiwgMjk5NywgMS42MzY4ODIzMDUxNDUyNjM3XSwgWzE2NjM4NDAxOTcuNDI2NDcwNSwgMzA0MiwgMS42MzI1NTEwNzQwMjgwMTUxXSwgWzE2NjM4NDAxOTcuNTY2NTc0MywgMzA1MSwgMS42MzAwODk2NDA2MTczNzA2XSwgWzE2NjM4NDAxOTcuODQ2MDYwMywgMzA2OSwgMS42MDk2MDk5NjE1MDk3MDQ2XSwgWzE2NjM4NDAxOTguMjQ4Njc3NywgMzA5NiwgMS42MTk4MDQzODIzMjQyMTg4XSwgWzE2NjM4NDAxOTguNTE5NDYxMiwgMzExNCwgMS41NzczNjY1OTA0OTk4NzhdLCBbMTY2Mzg0MDE5OC42NDAyOTE3LCAzMTIzLCAxLjYxMDIxMjY4MzY3NzY3MzNdLCBbMTY2Mzg0MDE5OS4yMDEyMTI0LCAzMTU5LCAxLjU4MTA0NzY1NDE1MTkxNjVdLCBbMTY2Mzg0MDE5OS40NTkyOTUsIDMxNzcsIDEuNjE3NTUzODMwMTQ2Nzg5Nl0sIFsxNjYzODQwMTk5LjcyNjc0NTQsIDMxOTUsIDEuNTk5MjYwODA3MDM3MzUzNV0sIFsxNjYzODQwMjAwLjI1ODcyNjQsIDMyMzEsIDEuNTUzNDM3MzUyMTgwNDgxXSwgWzE2NjM4NDAyMDAuNzc0Nzg5OCwgMzI2NywgMS41NzQzMDc2ODAxMzAwMDQ5XSwgWzE2NjM4NDAyMDAuOTI2NDc2NSwgMzI3NiwgMS42MjAzMDcwODc4OTgyNTQ0XSwgWzE2NjM4NDAyMDEuMDc0MzY2LCAzMjg1LCAxLjU3NTkwMTI2OTkxMjcxOTddLCBbMTY2Mzg0MDIwMS4yMDkzMTcyLCAzMjk0LCAxLjYwODA3NDE4ODIzMjQyMTldLCBbMTY2Mzg0MDIwMS4zNDgwOTAyLCAzMzAzLCAxLjU3MzMzODI3MDE4NzM3OF0sIFsxNjYzODQwMjAxLjQ4MjIzNCwgMzMxMiwgMS41Njk0MDU2NzQ5MzQzODcyXSwgWzE2NjM4NDAyMDIuNDIwNjg3NywgMzM3NSwgMS41NTMxNDIxODk5Nzk1NTMyXSwgWzE2NjM4NDAyMDIuODM0MzQ4NCwgMzQwMiwgMS41NTY0MzY1Mzg2OTYyODldLCBbMTY2Mzg0MDIwMy4wMTU5NjI0LCAzNDExLCAxLjU0MzQ4MDYzNDY4OTMzMV0sIFsxNjYzODQwMjA0LjAyODAwMDgsIDM0ODMsIDEuNTQyMDk0NTg4Mjc5NzI0MV0sIFsxNjYzODQwMjA0Ljg1NTI3MzcsIDM1MTksIDEuNTU0MDY3MzczMjc1NzU2OF0sIFsxNjYzODQwMjA0Ljk5MjEyNzQsIDM1MjgsIDEuNTY1NjY1MTI1ODQ2ODYyOF0sIFsxNjYzODQwMjA1LjEyNzg0NSwgMzUzNywgMS41Mzc5MDEwNDM4OTE5MDY3XSwgWzE2NjM4NDAyMDUuMzg3MzI5LCAzNTU1LCAxLjYwMDkzNDAyODYyNTQ4ODNdLCBbMTY2Mzg0MDIwNS44MzY3MzQ4LCAzNTgyLCAxLjU0NTM0NzU3MTM3Mjk4NThdLCBbMTY2Mzg0MDIwNi41ODQyMDc1LCAzNjI3LCAxLjU3MjIyNDAyMDk1Nzk0NjhdLCBbMTY2Mzg0MDIwNi44MzYwMjEyLCAzNjQ1LCAxLjQ5MDY2MzA1MTYwNTIyNDZdLCBbMTY2Mzg0MDIwNy40MjM0NjI2LCAzNjkwLCAxLjQ5MjIwNDQyNzcxOTExNjJdLCBbMTY2Mzg0MDIwNy44OTkzMTY4LCAzNzI2LCAxLjQ5MzM3ODg3NzYzOTc3MDVdLCBbMTY2Mzg0MDIwOC4wMjU4NDU1LCAzNzM1LCAxLjUwNDAyMzE5NDMxMzA0OTNdLCBbMTY2Mzg0MDIwOC4xMzc0NzA1LCAzNzQ0LCAxLjQ4NTI0Nzk2OTYyNzM4MDRdLCBbMTY2Mzg0MDIwOC41MTg2MzU3LCAzNzcxLCAxLjU0MDAzODU4NTY2Mjg0MThdLCBbMTY2Mzg0MDIwOC45NDUyNDksIDM3OTgsIDEuNTY0NDgzMDQ2NTMxNjc3Ml0sIFsxNjYzODQwMjA5LjA3NjAxMywgMzgwNywgMS42NjEzMzM5MTg1NzE0NzIyXSwgWzE2NjM4NDAyMDkuNDc3MTcyMSwgMzgzNCwgMS41MDUyNzU2MDcxMDkwNjk4XSwgWzE2NjM4NDAyMDkuNjEwODMyLCAzODQzLCAxLjUxOTk4MTg2MTExNDUwMl0sIFsxNjYzODQwMjEwLjEzODQyMjcsIDM4NzksIDEuNDg5MzUyNDY0Njc1OTAzM10sIFsxNjYzODQwMjEwLjc4ODIxMDksIDM5MjQsIDEuNTI1NTI5ODYxNDUwMTk1M10sIFsxNjYzODQwMjEwLjkyMzUxNjgsIDM5MzMsIDEuNTIwNzI1MjUwMjQ0MTQwNl0sIFsxNjYzODQwMjExLjA2ODkxNDIsIDM5NDIsIDEuNDk3NzU3OTExNjgyMTI5XSwgWzE2NjM4NDAyMTEuMzM2MTAzMiwgMzk2MCwgMS41MDIwNjQ0NjY0NzY0NDA0XSwgWzE2NjM4NDAyMTEuNDU0MTE3NSwgMzk2OSwgMS41MjY1NTcwODc4OTgyNTQ0XSwgWzE2NjM4NDAyMTEuNTc4NTg5NCwgMzk3OCwgMS40NDE2NjY4NDE1MDY5NThdLCBbMTY2Mzg0MDIxMS44NjQ3MjAzLCAzOTk2LCAxLjQ2NjI0NzA4MTc1NjU5MThdLCBbMTY2Mzg0MDIxMi4wMjAwNTY3LCA0MDA1LCAxLjUwODE3MjM5Mjg0NTE1MzhdLCBbMTY2Mzg0MDIxMi4yODk0NjQyLCA0MDIzLCAxLjQ2MjA0NTA3MzUwOTIxNjNdLCBbMTY2Mzg0MDIxMi44MzIxMDU0LCA0MDU5LCAxLjQ5OTExNDI3NDk3ODYzNzddLCBbMTY2Mzg0MDIxMy4xMTc4NjM3LCA0MDc3LCAxLjQ1MzY3Nzc3MzQ3NTY0N10sIFsxNjYzODQwMjEzLjI1NDQ2OTYsIDQwODYsIDEuNDQ4NjkwNTMzNjM4MDAwNV0sIFsxNjYzODQwMjEzLjM5MTQ3NiwgNDA5NSwgMS40ODM5NjQ1NjI0MTYwNzY3XSwgWzE2NjM4NDAyMTMuNjM2Mzg0NywgNDExMywgMS40NjI1MzIwNDM0NTcwMzEyXSwgWzE2NjM4NDAyMTQuMTQ0NTI4NCwgNDE0OSwgMS40MzYzNDExNjY0OTYyNzY5XSwgWzE2NjM4NDAyMTQuMjY2NjU2OSwgNDE1OCwgMS40NDk3ODg2ODk2MTMzNDIzXSwgWzE2NjM4NDAyMTQuODQxMTEzLCA0MTk0LCAxLjQ2NjQ1ODkxNjY2NDEyMzVdLCBbMTY2Mzg0MDIxNC45ODcyODk3LCA0MjAzLCAxLjQyNDIzNTIyNDcyMzgxNl0sIFsxNjYzODQwMjE1LjI2MTM2NzYsIDQyMjEsIDEuNDU0Mjc3Mjc2OTkyNzk3OV0sIFsxNjYzODQwMjE1LjU0NDE4MjMsIDQyMzksIDEuNDQ1MzI0Nzc4NTU2ODIzN10sIFsxNjYzODQwMjE2LjA4MTQ4ODgsIDQyNzUsIDEuNDQ0NzgyODUzMTI2NTI1OV0sIFsxNjYzODQwMjE2LjIxNjg2MDUsIDQyODQsIDEuNDA1MjAxMzE1ODc5ODIxOF0sIFsxNjYzODQwMjE2Ljg2MzE1OSwgNDMxMSwgMS40MTcwODUxNzA3NDU4NDk2XSwgWzE2NjM4NDAyMTcuMTU5MTY1NiwgNDMyOSwgMS40MzYzMzIxMDY1OTAyNzFdLCBbMTY2Mzg0MDIxNy4yNzE5Mjg1LCA0MzM4LCAxLjUwMDQxOTg1NTExNzc5NzldLCBbMTY2Mzg0MDIxNy41NDQzMjksIDQzNTYsIDEuNDY0OTgxMTk4MzEwODUyXSwgWzE2NjM4NDAyMTcuNjczNDcxNywgNDM2NSwgMS40Mjk1MTk2NTMzMjAzMTI1XSwgWzE2NjM4NDAyMTguMDk1MzU5MywgNDM5MiwgMS40MTEzOTM2NDI0MjU1MzddLCBbMTY2Mzg0MDIxOC4yMzc2MjMsIDQ0MDEsIDEuNDc1MTg3NTQwMDU0MzIxM10sIFsxNjYzODQwMjE4LjM3MzU1NzMsIDQ0MTAsIDEuNTIxOTA3MDkxMTQwNzQ3XSwgWzE2NjM4NDAyMTguNjUwMDQ0NCwgNDQyOCwgMS40MDc1OTUyNzY4MzI1ODA2XSwgWzE2NjM4NDAyMTkuMTAyMDgyNywgNDQ1NSwgMS40MTQ1MzM5NzI3NDAxNzMzXSwgWzE2NjM4NDAyMTkuNjgwNTkwNCwgNDQ5MSwgMS40NTE5NjU1NzA0NDk4MjldLCBbMTY2Mzg0MDIyMC4yMDYzMDA1LCA0NTI3LCAxLjQwMTIzODQ0MTQ2NzI4NTJdLCBbMTY2Mzg0MDIyMC4zMjU0NTU3LCA0NTM2LCAxLjQ2ODY1NjQyMDcwNzcwMjZdLCBbMTY2Mzg0MDIyMC42OTQ3MTc0LCA0NTYzLCAxLjM2NDQ1MTQwODM4NjIzMDVdLCBbMTY2Mzg0MDIyMS4wNTY1MjM4LCA0NTkwLCAxLjM5MDc3MDQzNTMzMzI1Ml0sIFsxNjYzODQwMjIxLjE3NTk4NjUsIDQ1OTksIDEuMzk3NTUyNDkwMjM0Mzc1XSwgWzE2NjM4NDAyMjEuMjg3MzM5LCA0NjA4LCAxLjM5NzQzMTI1NDM4NjkwMTldLCBbMTY2Mzg0MDIyMS40MDM4Mzg0LCA0NjE3LCAxLjQ2NTIwMTQ5NzA3Nzk0Ml0sIFsxNjYzODQwMjIxLjUyMTI1MjIsIDQ2MjYsIDEuNDExNzIzMDE3NjkyNTY2XSwgWzE2NjM4NDAyMjEuNjQ4Njg4MywgNDYzNSwgMS40MDE2MTU1MDA0NTAxMzQzXSwgWzE2NjM4NDAyMjIuMDE0OTI0OCwgNDY2MiwgMS4zNjk3MTE5OTUxMjQ4MTddLCBbMTY2Mzg0MDIyMi4xMzQxNTIyLCA0NjcxLCAxLjM4NTA4NDE1MjIyMTY3OTddLCBbMTY2Mzg0MDIyMi4yNTE2NTAzLCA0NjgwLCAxLjQwNDM0MzYwNTA0MTUwNF0sIFsxNjYzODQwMjIyLjM3MjE1MjYsIDQ2ODksIDEuNDE4NDI5MjU1NDg1NTM0N10sIFsxNjYzODQwMjIyLjc1NTM2MjUsIDQ3MTYsIDEuMzU4NzUyNzI3NTA4NTQ1XSwgWzE2NjM4NDAyMjMuNjU4NjY5NSwgNDc3OSwgMS4zNjI3Nzc5NDgzNzk1MTY2XSwgWzE2NjM4NDAyMjQuMDY4ODU5MywgNDgwNiwgMS4zODE1NTk4NDg3ODU0MDA0XSwgWzE2NjM4NDAyMjQuMjAxNzIyOSwgNDgxNSwgMS40NDYyNzcwMjIzNjE3NTU0XSwgWzE2NjM4NDAyMjQuNDYzMDE0NiwgNDgzMywgMS4zODMxMDgzNzc0NTY2NjVdLCBbMTY2Mzg0MDIyNC41OTA2OTczLCA0ODQyLCAxLjQyOTA4NjU2NTk3MTM3NDVdLCBbMTY2Mzg0MDIyNC43MzgyNTI0LCA0ODUxLCAxLjM4OTMyMzk0OTgxMzg0MjhdLCBbMTY2Mzg0MDIyNS4wMzM1MjI0LCA0ODY5LCAxLjQ0NjgxNjU2MzYwNjI2MjJdLCBbMTY2Mzg0MDIyNS4zMDQyNzksIDQ4ODcsIDEuMzkyMDAxMTUyMDM4NTc0Ml0sIFsxNjYzODQwMjI1LjU5NjI1MzIsIDQ5MDUsIDEuMzQ5Mjc0OTkyOTQyODFdLCBbMTY2Mzg0MDIyNS44NjcwMTE4LCA0OTIzLCAxLjMzMzc4ODAzNzMwMDEwOTldLCBbMTY2Mzg0MDIyNi4wMDI0NzI0LCA0OTMyLCAxLjM0MzQ4OTc2NjEyMDkxMDZdLCBbMTY2Mzg0MDIyNi40MjY0NTcsIDQ5NTksIDEuNDI0Nzg2Njg2ODk3Mjc3OF0sIFsxNjYzODQwMjI2LjcwNTk3MDgsIDQ5NzcsIDEuNDA4MjkzOTYyNDc4NjM3N10sIFsxNjYzODQwMjI3LjEyMDEwNDYsIDUwMDQsIDEuMzUyMzQwNjk4MjQyMTg3NV0sIFsxNjYzODQwMjI3LjI0NzQyNTgsIDUwMTMsIDEuMzI5MzA1MDUyNzU3MjYzMl0sIFsxNjYzODQwMjI4LjAxMTMyMzcsIDUwNjcsIDEuMzQ4NjAzNjA2MjI0MDZdLCBbMTY2Mzg0MDIyOC4xNTgzNTc5LCA1MDc2LCAxLjMzMTM5MTgxMTM3MDg0OTZdLCBbMTY2Mzg0MDIyOC4yOTEwMjEzLCA1MDg1LCAxLjM3MTUxNTc1MDg4NTAwOThdLCBbMTY2Mzg0MDIyOS4wNjczNzQyLCA1MTIxLCAxLjMyNTk5OTAyMTUzMDE1MTRdLCBbMTY2Mzg0MDIyOS41MDIyMTksIDUxNDgsIDEuMzMzMzkwMTE2NjkxNTg5NF0sIFsxNjYzODQwMjI5LjgwMjg4ODYsIDUxNjYsIDEuMzQyNDQwOTYyNzkxNDQyOV0sIFsxNjYzODQwMjMwLjIzMzgwMzcsIDUxOTMsIDEuMzQyNzMzNjIxNTk3MjldLCBbMTY2Mzg0MDIzMC43NjI4MzkzLCA1MjI5LCAxLjMyNjY0MDcyNTEzNTgwMzJdLCBbMTY2Mzg0MDIzMS4zNDI5NDEzLCA1MjY1LCAxLjMzNjUzODkxMDg2NTc4MzddLCBbMTY2Mzg0MDIzMS40NjkxNDcyLCA1Mjc0LCAxLjM2OTk4NzAxMDk1NTgxMDVdLCBbMTY2Mzg0MDIzMS42MDY5OTQyLCA1MjgzLCAxLjQxMTU1OTM0MzMzODAxMjddLCBbMTY2Mzg0MDIzMS45MDA2MTE0LCA1MzAxLCAxLjM4NjYyMTExNzU5MTg1OF0sIFsxNjYzODQwMjMyLjE1OTA5NzIsIDUzMTksIDEuMzMyODIxODQ2MDA4MzAwOF0sIFsxNjYzODQwMjMyLjMwNDUwMywgNTMyOCwgMS4zNjE5MjM0NTYxOTIwMTY2XSwgWzE2NjM4NDAyMzIuNDYyMTcyNSwgNTMzNywgMS4zMzgwNjY1Nzc5MTEzNzddLCBbMTY2Mzg0MDIzMi43NDQyODUzLCA1MzU1LCAxLjMzMDUxMjc2MjA2OTcwMjFdLCBbMTY2Mzg0MDIzMy4wNDQ1MDcsIDUzNzMsIDEuMzA1NDcwOTQzNDUwOTI3N10sIFsxNjYzODQwMjMzLjMxNDA2ODgsIDUzOTEsIDEuMzI3NjcxMTcwMjM0NjgwMl0sIFsxNjYzODQwMjMzLjQ2NzgwMjgsIDU0MDAsIDEuMjk2ODgwMjQ1MjA4NzQwMl0sIFsxNjYzODQwMjMzLjk0MTE1MDcsIDU0MjcsIDEuMzA0NTk3MTM5MzU4NTIwNV0sIFsxNjYzODQwMjM0LjA5NjY4MzMsIDU0MzYsIDEuMzA1MjM1NTA1MTA0MDY1XSwgWzE2NjM4NDAyMzQuODE2MTY5NSwgNTQ4MSwgMS4zMTgyMzUyNzgxMjk1Nzc2XSwgWzE2NjM4NDAyMzUuMTAzNjkzNywgNTQ5OSwgMS4zMzI3OTY2OTI4NDgyMDU2XSwgWzE2NjM4NDAyMzUuNTM5MDQyLCA1NTI2LCAxLjI5MDUyOTQ4OTUxNzIxMl0sIFsxNjYzODQwMjM1LjY4Mzg4NiwgNTUzNSwgMS4zMTg5ODkzOTYwOTUyNzU5XSwgWzE2NjM4NDAyMzUuOTUzNzAyMiwgNTU1MywgMS4yNjQ5NjE2MDAzMDM2NV0sIFsxNjYzODQwMjM2LjIzOTI1MTYsIDU1NzEsIDEuMzU5MjIxMTAwODA3MTldLCBbMTY2Mzg0MDIzNi41MDIyNjk3LCA1NTg5LCAxLjMyMTY3MDg4OTg1NDQzMTJdLCBbMTY2Mzg0MDIzNi43ODAxNzc4LCA1NjA3LCAxLjMwMDc1OTkxMTUzNzE3MDRdLCBbMTY2Mzg0MDIzNi45MjA3OTcsIDU2MTYsIDEuMzAxODk1OTc2MDY2NTg5NF0sIFsxNjYzODQwMjM3LjM1MTQyMjUsIDU2NDMsIDEuMzE2NjkwNDQ0OTQ2Mjg5XSwgWzE2NjM4NDAyMzcuNTg0ODM1MywgNTY2MSwgMS4yNjEyMzE1NDE2MzM2MDZdLCBbMTY2Mzg0MDIzNy43MDM0MTA0LCA1NjcwLCAxLjI5NjM5NDIyODkzNTI0MTddLCBbMTY2Mzg0MDIzOC4xODIyNTg4LCA1NzA2LCAxLjI5Nzc1MTY2NTExNTM1NjRdLCBbMTY2Mzg0MDIzOC42OTgwODY3LCA1NzQyLCAxLjMxMzQ3MzQ2MzA1ODQ3MTddLCBbMTY2Mzg0MDIzOS4wOTg2MTM1LCA1NzY5LCAxLjM0MDM4Njk4NjczMjQ4M10sIFsxNjYzODQwMjM5LjI0MDY3MSwgNTc3OCwgMS4yNTkxMDE3NDg0NjY0OTE3XSwgWzE2NjM4NDAyMzkuMzY0NDE0LCA1Nzg3LCAxLjI3MzgzNDU4NjE0MzQ5MzddLCBbMTY2Mzg0MDIzOS41MDU4MDIyLCA1Nzk2LCAxLjM0ODc5Njk2MzY5MTcxMTRdLCBbMTY2Mzg0MDIzOS42NDQwOTIsIDU4MDUsIDEuMzYyMDE1MTI4MTM1NjgxMl0sIFsxNjYzODQwMjQwLjMzOTY2NCwgNTg1MCwgMS4yNTk3MDg0MDQ1NDEwMTU2XSwgWzE2NjM4NDAyNDAuNjE2MDMxNCwgNTg2OCwgMS4zNTk2NzI5MDQwMTQ1ODc0XSwgWzE2NjM4NDAyNDAuNzUyMDcxMSwgNTg3NywgMS4zMDY2MTAyMjY2MzExNjQ2XSwgWzE2NjM4NDAyNDEuMDEyNDY2LCA1ODk1LCAxLjI3MzIzOTQ5MzM3MDA1NjJdLCBbMTY2Mzg0MDI0MS4xNTk4MDk4LCA1OTA0LCAxLjI4MzA0OTQ2NDIyNTc2OV0sIFsxNjYzODQwMjQxLjc4MTM2MSwgNTkzMSwgMS4yNTMxMjM2NDEwMTQwOTkxXSwgWzE2NjM4NDAyNDIuMDUwOTc3LCA1OTQ5LCAxLjI4MzU5NTU2MTk4MTIwMTJdLCBbMTY2Mzg0MDI0My4wNDAxNTYsIDYwMTIsIDEuMzI1NDkzNjkzMzUxNzQ1Nl0sIFsxNjYzODQwMjQzLjQ1NjI5MzMsIDYwMzksIDEuMzU4NTIxMjIzMDY4MjM3M10sIFsxNjYzODQwMjQ0LjE4NTg1OTQsIDYwODQsIDEuMzA5NTEyMTM4MzY2Njk5Ml0sIFsxNjYzODQwMjQ0LjMzNjk1MzksIDYwOTMsIDEuMjUyNDY3MTU1NDU2NTQzXSwgWzE2NjM4NDAyNDQuNDc5MTcyLCA2MTAyLCAxLjI4NzQzNDU3Nzk0MTg5NDVdLCBbMTY2Mzg0MDI0NC44NTU1MTA3LCA2MTI5LCAxLjI5NjE4MDcyNTA5NzY1NjJdLCBbMTY2Mzg0MDI0NS4xMjA4NTcsIDYxNDcsIDEuMjUwMzQzNTYxMTcyNDg1NF0sIFsxNjYzODQwMjQ1LjI0OTA2NzUsIDYxNTYsIDEuMjc3NjUzNjk0MTUyODMyXSwgWzE2NjM4NDAyNDUuMzgyMDk4NCwgNjE2NSwgMS4yNzU2MDgzMDExNjI3MTk3XSwgWzE2NjM4NDAyNDUuNzcxMzY3MywgNjE5MiwgMS4yNDk0MjQ2OTU5Njg2MjhdLCBbMTY2Mzg0MDI0Ni40ODg0MDE3LCA2MjM3LCAxLjMwMDkzNjgxODEyMjg2MzhdLCBbMTY2Mzg0MDI0Ni43NTk2MDQyLCA2MjU1LCAxLjI0Njc5NzU2MTY0NTUwNzhdLCBbMTY2Mzg0MDI0Ny4wMzM1MDcsIDYyNzMsIDEuMjY3NjMyODQyMDYzOTAzOF0sIFsxNjYzODQwMjQ3LjE3MTM0MTQsIDYyODIsIDEuMjY2Nzc1MDEyMDE2Mjk2NF0sIFsxNjYzODQwMjQ3LjQ0MzQyMjYsIDYzMDAsIDEuMjYwOTQxNzQzODUwNzA4XSwgWzE2NjM4NDAyNDcuODkwMTk3MywgNjMyNywgMS4yODc4OTMxNzYwNzg3OTY0XSwgWzE2NjM4NDAyNDguMDI2MjU3OCwgNjMzNiwgMS4yNzk4NTU4NDczNTg3MDM2XSwgWzE2NjM4NDAyNDguMjg2MTYxMiwgNjM1NCwgMS4yNDAzNjY0NTg4OTI4MjIzXSwgWzE2NjM4NDAyNDguNzg3NTc4LCA2MzkwLCAxLjI4MTE3MTY3OTQ5Njc2NTFdLCBbMTY2Mzg0MDI0OC45MDUwODg3LCA2Mzk5LCAxLjIyNDI4NDI5MTI2NzM5NV0sIFsxNjYzODQwMjQ5LjEzNTA4NDQsIDY0MTcsIDEuMjY5NjQwODAzMzM3MDk3Ml0sIFsxNjYzODQwMjQ5LjQ3Njk5NSwgNjQ0NCwgMS4yOTg3ODEzOTQ5NTg0OTZdLCBbMTY2Mzg0MDI0OS43MTYwMDIsIDY0NjIsIDEuMjI2MDEyOTQ1MTc1MTcxXSwgWzE2NjM4NDAyNTAuMDYxNDQ2MiwgNjQ4OSwgMS4yNjY0NDU2MzY3NDkyNjc2XSwgWzE2NjM4NDAyNTAuMTc3MzM4NCwgNjQ5OCwgMS4yMzAxOTE0NjkxOTI1MDQ5XSwgWzE2NjM4NDAyNTAuNDA1Nzc1NSwgNjUxNiwgMS4yNjAwMjc2NDcwMTg0MzI2XSwgWzE2NjM4NDAyNTAuNjU1ODYzMywgNjUzNCwgMS4yNTExOTY1MDM2MzkyMjEyXSwgWzE2NjM4NDAyNTAuNzcxMjUwNSwgNjU0MywgMS4yNzgxNjMwNzU0NDcwODI1XSwgWzE2NjM4NDAyNTEuMDQ3NTEsIDY1NjEsIDEuMjczNzg4MDk0NTIwNTY4OF0sIFsxNjYzODQwMjUxLjE4MTYzMTMsIDY1NzAsIDEuMjYzMDQxNzM0Njk1NDM0Nl0sIFsxNjYzODQwMjUxLjQ1NjA0NjMsIDY1ODgsIDEuMjkxMDA4NTkxNjUxOTE2NV0sIFsxNjYzODQwMjUxLjU5MTc5NDcsIDY1OTcsIDEuMjg1NjQyODYyMzE5OTQ2M10sIFsxNjYzODQwMjUxLjc0MDEwMywgNjYwNiwgMS4yNDE1MzMzOTg2MjgyMzQ5XSwgWzE2NjM4NDAyNTIuNDEyNzY4OCwgNjY1MSwgMS4yOTQxMTc0NTA3MTQxMTEzXSwgWzE2NjM4NDAyNTIuOTM2NzI2LCA2Njg3LCAxLjIxOTQ2NTM3NDk0NjU5NDJdLCBbMTY2Mzg0MDI1My4wNjM2OTI2LCA2Njk2LCAxLjIzMzY5ODEyOTY1MzkzMDddLCBbMTY2Mzg0MDI1My4yMDQ0NTUsIDY3MDUsIDEuMjY4MDIwMTUzMDQ1NjU0M10sIFsxNjYzODQwMjU0LjkzOTUyNTEsIDY4MTMsIDEuMjg0NDQxMjMyNjgxMjc0NF0sIFsxNjYzODQwMjU1LjE2NjM2NDcsIDY4MzEsIDEuMjk0NTY5NDkyMzQwMDg4XSwgWzE2NjM4NDAyNTUuODU2MzYyOCwgNjg4NSwgMS4yNzA3OTU4MjIxNDM1NTQ3XSwgWzE2NjM4NDAyNTUuOTg5MjUzLCA2ODk0LCAxLjI0MDg5MDg2MDU1NzU1NjJdLCBbMTY2Mzg0MDI1Ni40MTAyNzM2LCA2OTIxLCAxLjI2MjM0MDE4ODAyNjQyODJdLCBbMTY2Mzg0MDI1Ni41NTI2NTg4LCA2OTMwLCAxLjI1NTMxOTQ3NjEyNzYyNDVdLCBbMTY2Mzg0MDI1Ni45NzIyNjcyLCA2OTU3LCAxLjE5MzY4NDEwMTEwNDczNjNdLCBbMTY2Mzg0MDI1Ny4zODM4NTYzLCA2OTg0LCAxLjIwNzY5MjUwMzkyOTEzODJdLCBbMTY2Mzg0MDI1Ny41MTQ0NDU1LCA2OTkzLCAxLjIzMTg3MTg0MzMzODAxMjddLCBbMTY2Mzg0MDI1Ny43ODg0MDQ1LCA3MDExLCAxLjI0MTA1MDk1ODYzMzQyMjldLCBbMTY2Mzg0MDI1Ny45MjA4MTE0LCA3MDIwLCAxLjI1OTQ3OTQwMzQ5NTc4ODZdLCBbMTY2Mzg0MDI1OC4wNTM4NDcsIDcwMjksIDEuMjc2NjkxOTEzNjA0NzM2M10sIFsxNjYzODQwMjU4LjE4MjQ3NzIsIDcwMzgsIDEuMjM0NjIxNjQ0MDIwMDgwNl0sIFsxNjYzODQwMjU4LjI5Njg2MjEsIDcwNDcsIDEuMjEwOTQzODE4MDkyMzQ2Ml0sIFsxNjYzODQwMjU4Ljk4MTg5OSwgNzEwMSwgMS4yMTUwNDA0NDUzMjc3NTg4XSwgWzE2NjM4NDAyNTkuMzg4MzQ2LCA3MTI4LCAxLjIwNzE0NzU5ODI2NjYwMTZdLCBbMTY2Mzg0MDI2MS4xODM3MjE4LCA3MjQ1LCAxLjIwNzA0NzkzOTMwMDUzN10sIFsxNjYzODQwMjYxLjMwOTUzNTUsIDcyNTQsIDEuMjQ3MjAzNDY5Mjc2NDI4Ml0sIFsxNjYzODQwMjYxLjQ0MjIwOTIsIDcyNjMsIDEuMjExMTQ4MDIzNjA1MzQ2N10sIFsxNjYzODQwMjYxLjYyNjYwNDMsIDcyNzIsIDEuMjY1Mjc5MjkzMDYwMzAyN10sIFsxNjYzODQwMjYyLjA5NTgwNiwgNzI5OSwgMS4yNDQzMzE4MzY3MDA0Mzk1XSwgWzE2NjM4NDAyNjMuMjc0MjEyNiwgNzM3MSwgMS4yMzkwNzI3OTk2ODI2MTcyXSwgWzE2NjM4NDAyNjMuMzkyOTEsIDczODAsIDEuMjIzMDgxOTQ2MzcyOTg1OF0sIFsxNjYzODQwMjY0LjQ4Mjg0ODIsIDc0NTIsIDEuMjQzNjgwMzU3OTMzMDQ0NF0sIFsxNjYzODQwMjY0LjYxNzkxNTYsIDc0NjEsIDEuMjE4NzE1NjY3NzI0NjA5NF0sIFsxNjYzODQwMjY1LjE3NzMwNDcsIDc0OTcsIDEuMjIwMjExMzg2NjgwNjAzXSwgWzE2NjM4NDAyNjUuMzE3MzA5OSwgNzUwNiwgMS4yNTkzMjgwMDc2OTgwNTldLCBbMTY2Mzg0MDI2NS44ODc0MzQyLCA3NTI0LCAxLjI0NjE0MzQ2MDI3Mzc0MjddLCBbMTY2Mzg0MDI2Ni4wMjUzOTcsIDc1MzMsIDEuMjQxMTkxMzg3MTc2NTEzN10sIFsxNjYzODQwMjY2LjE2NTMwNzgsIDc1NDIsIDEuMjI0ODIyNTIxMjA5NzE2OF0sIFsxNjYzODQwMjY2LjQyMDA0MTgsIDc1NjAsIDEuMjEyMDY3MjQ2NDM3MDcyOF0sIFsxNjYzODQwMjY2LjU0NzU3NzksIDc1NjksIDEuMjI2NTcxNzk4MzI0NTg1XSwgWzE2NjM4NDAyNjYuOTI2OTkyNywgNzU5NiwgMS4yNzYyNjkwNzgyNTQ2OTk3XSwgWzE2NjM4NDAyNjcuMTczOTI1LCA3NjE0LCAxLjIzOTE1NTA1NDA5MjQwNzJdLCBbMTY2Mzg0MDI2Ny43ODM0MDYzLCA3NjU5LCAxLjMwOTc1MjEwNjY2NjU2NV0sIFsxNjYzODQwMjY3LjkxNTYxNzUsIDc2NjgsIDEuMzY2Njc4NTk1NTQyOTA3N10sIFsxNjYzODQwMjY4LjI4NDA2OTUsIDc2OTUsIDEuMjM4MTU2MzE4NjY0NTUwOF0sIFsxNjYzODQwMjY4LjY0ODYxOTIsIDc3MjIsIDEuMjM5MzA2Njg4MzA4NzE1OF0sIFsxNjYzODQwMjY5LjAyODkyMSwgNzc0OSwgMS4yMzM5NzA1MjI4ODA1NTQyXSwgWzE2NjM4NDAyNjkuMjkyNjgwNywgNzc2NywgMS4xOTc0NDQzMTk3MjUwMzY2XSwgWzE2NjM4NDAyNjkuNzE3Mjc0NCwgNzc5NCwgMS4yNDU5MzE2MjUzNjYyMTFdLCBbMTY2Mzg0MDI2OS44NTgyMDIyLCA3ODAzLCAxLjIwMTQ5NTI4OTgwMjU1MTNdLCBbMTY2Mzg0MDI3MC40MDQzNDkzLCA3ODM5LCAxLjI4MDY3OTIyNTkyMTYzMDldLCBbMTY2Mzg0MDI3MC41NDI2MzYsIDc4NDgsIDEuMjg0ODkyNzk3NDcwMDkyOF0sIFsxNjYzODQwMjcyLjI1Mzg0MTYsIDc5NjUsIDEuMjA2MTc4OTAzNTc5NzEyXSwgWzE2NjM4NDAyNzIuMzkwMjU3LCA3OTc0LCAxLjI0MzM2MDc1NzgyNzc1ODhdLCBbMTY2Mzg0MDI3Mi41MjMwMTc2LCA3OTgzLCAxLjIzNTg4NDc4NTY1MjE2MDZdLCBbMTY2Mzg0MDI3My4wOTE2NDgsIDgwMTksIDEuMjQ5NzM1NzEzMDA1MDY2XSwgWzE2NjM4NDAyNzMuMzcyMTUzOCwgODAzNywgMS4yMzIwNTY0OTg1Mjc1MjY5XSwgWzE2NjM4NDAyNzMuNzgyMjMyMywgODA2NCwgMS4yMTY5Mzc0MjI3NTIzODA0XSwgWzE2NjM4NDAyNzQuMDU0NjE1LCA4MDgyLCAxLjIyMTY1Nzc1Mjk5MDcyMjddLCBbMTY2Mzg0MDI3NC4xNzUzNjkzLCA4MDkxLCAxLjI0MTcyOTAyMTA3MjM4NzddLCBbMTY2Mzg0MDI3NC41NDQxMTM2LCA4MTE4LCAxLjE5MzQwODI1MDgwODcxNThdLCBbMTY2Mzg0MDI3NC42NjI0Nzk5LCA4MTI3LCAxLjE5NzcyMTAwNDQ4NjA4NF0sIFsxNjYzODQwMjc1LjM4ODI5MTgsIDgxNzIsIDEuMjIwMDkyNzczNDM3NV0sIFsxNjYzODQwMjc1LjUzMjAwMywgODE4MSwgMS4yNjg5OTkwOTk3MzE0NDUzXSwgWzE2NjM4NDAyNzUuNzgxNDM1NywgODE5OSwgMS4yNDM2OTIxNTk2NTI3MV0sIFsxNjYzODQwMjc1LjkwMTAzNDgsIDgyMDgsIDEuMjM4NTExNDQzMTM4MTIyNl0sIFsxNjYzODQwMjc2LjI1NDAzODYsIDgyMzUsIDEuMTg2MjU2MTcwMjcyODI3MV0sIFsxNjYzODQwMjc2Ljc1ODA2NjcsIDgyNzEsIDEuMTc3OTQ5MzA5MzQ5MDZdLCBbMTY2Mzg0MDI3Ni44ODczMDQzLCA4MjgwLCAxLjIxMjMyNTU3Mjk2NzUyOTNdLCBbMTY2Mzg0MDI3Ny40MDQ5NywgODI5OCwgMS4yMTUwMjAyOTg5NTc4MjQ3XSwgWzE2NjM4NDAyNzcuNzAyNDc1NSwgODMxNiwgMS4yMDYwMjExODk2ODk2MzYyXSwgWzE2NjM4NDAyNzguMzYwMDA3NSwgODM2MSwgMS4yMTU2ODgyMjg2MDcxNzc3XSwgWzE2NjM4NDAyNzguNTg1NzM5NCwgODM3OSwgMS4yMTM5MDg2NzIzMzI3NjM3XSwgWzE2NjM4NDAyNzguNzMyMDg1NSwgODM4OCwgMS4xOTkyOTA5OTA4Mjk0Njc4XSwgWzE2NjM4NDAyNzguODQ3MDg5LCA4Mzk3LCAxLjE5OTIyODI4Njc0MzE2NF0sIFsxNjYzODQwMjc5LjE5NjIyMjUsIDg0MjQsIDEuMzE1NTMxMzczMDIzOTg2OF0sIFsxNjYzODQwMjc5LjY3NTgwNDksIDg0NjAsIDEuMTg3MzE1NDY0MDE5Nzc1NF0sIFsxNjYzODQwMjc5LjkwMjUxNDUsIDg0NzgsIDEuMTgwMDA3ODE1MzYxMDIzXSwgWzE2NjM4NDAyODAuMDE5NDY3NCwgODQ4NywgMS4xODUwNTY4MDU2MTA2NTY3XSwgWzE2NjM4NDAyODAuMzYzNjA2MiwgODUxNCwgMS4xOTE5MTc2NTc4NTIxNzI5XSwgWzE2NjM4NDAyODAuODQzNjA1LCA4NTUwLCAxLjMxNjE1NTkxMDQ5MTk0MzRdLCBbMTY2Mzg0MDI4MS4zMDQ2MDYyLCA4NTc3LCAxLjE3ODMyOTgyNTQwMTMwNjJdLCBbMTY2Mzg0MDI4MS42OTQ0NzE4LCA4NjA0LCAxLjIxOTk1NTQ0NDMzNTkzNzVdLCBbMTY2Mzg0MDI4MS44MzczOTIsIDg2MTMsIDEuMjAwMjEwNjkwNDk4MzUyXSwgWzE2NjM4NDAyODIuMzM5OTQ0LCA4NjQ5LCAxLjE3MzA5NDM5MTgyMjgxNV0sIFsxNjYzODQwMjgyLjYwNjExMTMsIDg2NjcsIDEuMTc1NDgwODQyNTkwMzMyXSwgWzE2NjM4NDAyODIuNzM1NDI1NSwgODY3NiwgMS4xNzcyMjY3ODE4NDUwOTI4XSwgWzE2NjM4NDAyODMuMDEwODkzOCwgODY5NCwgMS4yNzEwMjE2MDQ1Mzc5NjM5XSwgWzE2NjM4NDAyODMuMjQ5NTUsIDg3MTIsIDEuMjYzMTk0NDQxNzk1MzQ5MV0sIFsxNjYzODQwMjgzLjM3MTg3NiwgODcyMSwgMS4yNzQwNTQ2NDY0OTIwMDQ0XSwgWzE2NjM4NDAyODMuNzQyMzgxLCA4NzQ4LCAxLjIzMzAxNDQ2NDM3ODM1N10sIFsxNjYzODQwMjg0LjM3MzEzNTgsIDg3OTMsIDEuMTg3ODQxNzczMDMzMTQyXSwgWzE2NjM4NDAyODQuNjQ2MTI1OCwgODgxMSwgMS4yMDM1MTk0NjM1MzkxMjM1XSwgWzE2NjM4NDAyODQuNzY3NDkzNSwgODgyMCwgMS4xODMxMDY3ODAwNTIxODVdLCBbMTY2Mzg0MDI4NS4yMDkyMDI1LCA4ODQ3LCAxLjI1NTgwMzk0MjY4MDM1ODldLCBbMTY2Mzg0MDI4NS43NDA5MjYzLCA4ODgzLCAxLjIxOTMyNjg1Mzc1MjEzNjJdLCBbMTY2Mzg0MDI4Ni4yODE0OTgyLCA4OTE5LCAxLjIwODE2ODYyNTgzMTYwNF0sIFsxNjYzODQwMjg2LjU1MjI1NTIsIDg5MzcsIDEuMjMzOTMyNzMzNTM1NzY2Nl0sIFsxNjYzODQwMjg2LjgxODA2NCwgODk1NSwgMS4yMzk4OTQ4NjY5NDMzNTk0XSwgWzE2NjM4NDAyODcuMDg5MTg1NSwgODk3MywgMS4yNDg5NDkyODkzMjE4OTk0XSwgWzE2NjM4NDAyODcuMzc0NjMzLCA4OTkxLCAxLjIwMTg2NzM0MTk5NTIzOTNdLCBbMTY2Mzg0MDI4Ny41MTM1NTM0LCA5MDAwLCAxLjIzOTUzNjI4NTQwMDM5MDZdLCBbMTY2Mzg0MDI4Ny45Mzk1NTQ1LCA5MDI3LCAxLjE3NzQ3NTIxNDAwNDUxNjZdLCBbMTY2Mzg0MDI4OC4wODE4MzA3LCA5MDM2LCAxLjE3NTI2MjMzMTk2MjU4NTRdLCBbMTY2Mzg0MDI4OC4yMTczODQzLCA5MDQ1LCAxLjI0ODUxMTQzMzYwMTM3OTRdLCBbMTY2Mzg0MDI4OC41MDg0ODM2LCA5MDYzLCAxLjE5NDcwNDA1NTc4NjEzMjhdLCBbMTY2Mzg0MDI4OS40MzcxNzIyLCA5MTA4LCAxLjE4NTcxMDkwNjk4MjQyMTldLCBbMTY2Mzg0MDI4OS43MjAzNzU4LCA5MTI2LCAxLjI1NTA2OTAxNzQxMDI3ODNdLCBbMTY2Mzg0MDI4OS45OTg0MzMsIDkxNDQsIDEuMjYyMjg2NjYzMDU1NDJdLCBbMTY2Mzg0MDI5MC45MTUyNzM0LCA5MjA3LCAxLjE3NDczODI4NzkyNTcyMDJdLCBbMTY2Mzg0MDI5MS40OTI3MDA2LCA5MjQzLCAxLjI2NTM0NzEyMzE0NjA1NzFdLCBbMTY2Mzg0MDI5MS43ODAyNDYsIDkyNjEsIDEuMzAyMzEyNzMxNzQyODU4OV0sIFsxNjYzODQwMjkxLjkxOTc1MTIsIDkyNzAsIDEuMTk5MjkwMjc1NTczNzMwNV0sIFsxNjYzODQwMjkyLjYzNDgzNzksIDkzMjQsIDEuMTc2NTAwMzIwNDM0NTcwM10sIFsxNjYzODQwMjkyLjc1MTEwMDgsIDkzMzMsIDEuMTUwNjk5NDk2MjY5MjI2XSwgWzE2NjM4NDAyOTIuODY4ODc1LCA5MzQyLCAxLjIxODk2MTcxNTY5ODI0MjJdLCBbMTY2Mzg0MDI5Mi45OTYwMDg0LCA5MzUxLCAxLjI3MTM1MDM4Mzc1ODU0NV0sIFsxNjYzODQwMjkzLjExMjgzNjQsIDkzNjAsIDEuMjg0NDA5MTY1MzgyMzg1M10sIFsxNjYzODQwMjkzLjU5NzY0NDMsIDkzOTYsIDEuMTk4NzY2NTg5MTY0NzMzOV0sIFsxNjYzODQwMjkzLjk3OTEwNzEsIDk0MjMsIDEuMTg2MDc1NTY4MTk5MTU3N10sIFsxNjYzODQwMjk1LjIzNDA2OSwgOTUxMywgMS4yNDU0MTIzNDk3MDA5Mjc3XSwgWzE2NjM4NDAyOTUuNDk2MDE5MSwgOTUzMSwgMS4xNzk3MDYyMTU4NTg0NTk1XSwgWzE2NjM4NDAyOTUuNjQzMTUwOCwgOTU0MCwgMS4xODE1Mjc0OTUzODQyMTYzXSwgWzE2NjM4NDAyOTUuNzgwNTIyMywgOTU0OSwgMS4xNzQ1ODkwMzc4OTUyMDI2XSwgWzE2NjM4NDAyOTYuMDUxMzQ1NiwgOTU2NywgMS4yMjE0NDgxODMwNTk2OTI0XSwgWzE2NjM4NDAyOTYuNDczNDM3NSwgOTU5NCwgMS4yNjc2NjEyMTM4NzQ4MTddLCBbMTY2Mzg0MDI5Ni43NTM2NDYsIDk2MTIsIDEuMTk1NzQxNTM0MjMzMDkzM10sIFsxNjYzODQwMjk3LjA0MjU0MjIsIDk2MzAsIDEuMjcxMTk0ODE1NjM1NjgxMl0sIFsxNjYzODQwMjk3LjE3NTQ4NzgsIDk2MzksIDEuMjgyOTU5MjIyNzkzNTc5XSwgWzE2NjM4NDAyOTcuMzEyMDE4OSwgOTY0OCwgMS4xODU5NjExMjcyODExODldLCBbMTY2Mzg0MDI5Ny40NDQ1MTEsIDk2NTcsIDEuMTgyMTUzNDYzMzYzNjQ3NV0sIFsxNjYzODQwMjk3LjU4NTY4NDUsIDk2NjYsIDEuMTc0NzAyNzYzNTU3NDM0XSwgWzE2NjM4NDAyOTcuNzI0NzAyMSwgOTY3NSwgMS4xNzcwODQ0NDU5NTMzNjkxXSwgWzE2NjM4NDAyOTguMTI5ODQyMywgOTcwMiwgMS4xODQ3ODcyNzM0MDY5ODI0XSwgWzE2NjM4NDAyOTguMjYwMjUxOCwgOTcxMSwgMS4xODkzNTEzMjAyNjY3MjM2XSwgWzE2NjM4NDAyOTguNTIxMzAwMywgOTcyOSwgMS4xOTgxNzA3ODExMzU1NTldLCBbMTY2Mzg0MDI5OC42NjY2MTYsIDk3MzgsIDEuMjQxNTgyMTU1MjI3NjYxMV0sIFsxNjYzODQwMjk4Ljc5MTk5MSwgOTc0NywgMS4yNDc3NTMzODE3MjkxMjZdLCBbMTY2Mzg0MDI5OS4xODg0MjYzLCA5Nzc0LCAxLjIyNjI2MTYxNTc1MzE3MzhdLCBbMTY2Mzg0MDI5OS4zMjg0NDg1LCA5NzgzLCAxLjE2Mjk3MjY4ODY3NDkyNjhdLCBbMTY2Mzg0MDI5OS40NjYxNzY3LCA5NzkyLCAxLjE2NzA0NzM4MTQwMTA2Ml0sIFsxNjYzODQwMzAwLjAxNTAwMDMsIDk4MjgsIDEuMTk3NzIxNDgxMzIzMjQyMl0sIFsxNjYzODQwMzAwLjk1MjE5NiwgOTg5MSwgMS4xNzg5Nzc0ODk0NzE0MzU1XSwgWzE2NjM4NDAzMDEuNDk1NTE0OSwgOTkwOSwgMS4yOTgxOTI2MjAyNzc0MDQ4XSwgWzE2NjM4NDAzMDEuNzY5MjQ1OSwgOTkyNywgMS4yODU2MzQzOTg0NjAzODgyXSwgWzE2NjM4NDAzMDEuODk1NjYyNSwgOTkzNiwgMS4xODUxNTYzNDUzNjc0MzE2XSwgWzE2NjM4NDAzMDIuMDQzNDA5NiwgOTk0NSwgMS4yMjcyNzEzMTg0MzU2NjldLCBbMTY2Mzg0MDMwMi40Mzc2MDQ0LCA5OTcyLCAxLjM3NzgwNzYxNzE4NzVdLCBbMTY2Mzg0MDMwMi43MTc3OSwgOTk5MCwgMS4xOTE5MTg4NDk5NDUwNjg0XSwgWzE2NjM4NDAzMDMuMDEwNTg3NSwgMTAwMDgsIDEuMjY4Mjc1MDIyNTA2NzEzOV0sIFsxNjYzODQwMzAzLjE1MzQ3LCAxMDAxNywgMS4xNzQzMTU1NzE3ODQ5NzMxXSwgWzE2NjM4NDAzMDMuNDM1NTU1LCAxMDAzNSwgMS4yMTM1NjE1MzQ4ODE1OTE4XSwgWzE2NjM4NDAzMDQuMTQwMTYxNSwgMTAwODAsIDEuMjEzNjU3MjU5OTQxMTAxXSwgWzE2NjM4NDAzMDQuNDMxNzI2LCAxMDA5OCwgMS4yMzI1MjQyNzU3Nzk3MjQxXSwgWzE2NjM4NDAzMDQuNTY3NTQ2LCAxMDEwNywgMS4yMTQwMTg1ODMyOTc3Mjk1XSwgWzE2NjM4NDAzMDQuOTkzNDU5NywgMTAxMzQsIDEuMTkxNjgyNTc3MTMzMTc4N10sIFsxNjYzODQwMzA1LjEzMzk2MjksIDEwMTQzLCAxLjE5OTA3Njg5MDk0NTQzNDZdLCBbMTY2Mzg0MDMwNS40MDU4NDQ0LCAxMDE2MSwgMS4xNDM2ODQzODcyMDcwMzEyXSwgWzE2NjM4NDAzMDUuNTQ2NzkxLCAxMDE3MCwgMS4yMTM3NjE4MDY0ODgwMzddLCBbMTY2Mzg0MDMwNS45NjI0MzcyLCAxMDE5NywgMS4xNzg4MjQ2NjMxNjIyMzE0XSwgWzE2NjM4NDAzMDYuMjQ5MzcyLCAxMDIxNSwgMS4xODA0ODA5NTcwMzEyNV0sIFsxNjYzODQwMzA2LjM5MTExOTIsIDEwMjI0LCAxLjE4NTM3MjgyOTQzNzI1NTldLCBbMTY2Mzg0MDMwNi41MjIyNzY0LCAxMDIzMywgMS4xNjc0Mjg2MTI3MDkwNDU0XSwgWzE2NjM4NDAzMDYuOTMzMzcwNCwgMTAyNjAsIDEuMTUwMTk5NTMyNTA4ODVdLCBbMTY2Mzg0MDMwNy44NzQ3NTE4LCAxMDMyMywgMS4yNTI3NjM3NDgxNjg5NDUzXSwgWzE2NjM4NDAzMDguMTMzMzcwNCwgMTAzNDEsIDEuMTg1NTk2NTg1MjczNzQyN10sIFsxNjYzODQwMzA4LjQxODcxMjEsIDEwMzU5LCAxLjE4MzAyNzg2MzUwMjUwMjRdLCBbMTY2Mzg0MDMwOC41NTkwODU4LCAxMDM2OCwgMS4xNjU3MjI5NjYxOTQxNTI4XSwgWzE2NjM4NDAzMDguNzAxNDU1OCwgMTAzNzcsIDEuMTY5ODYxNzkzNTE4MDY2NF0sIFsxNjYzODQwMzA4Ljg0NjkxODgsIDEwMzg2LCAxLjE5MTQ0NDg3MzgwOTgxNDVdLCBbMTY2Mzg0MDMwOS43ODY0NjUsIDEwNDQ5LCAxLjIwNzI3NTk4NjY3MTQ0NzhdLCBbMTY2Mzg0MDMxMC4wNDU1NDk0LCAxMDQ2NywgMS4yNDc5NTQ3MjYyMTkxNzcyXSwgWzE2NjM4NDAzMTAuMjczMzkwMywgMTA0ODUsIDEuMTg2ODAzNjk4NTM5NzMzOV0sIFsxNjYzODQwMzEwLjYxMjk0OTYsIDEwNTEyLCAxLjIwODEyNzQ5ODYyNjcwOV0sIFsxNjYzODQwMzExLjMxODA5NjYsIDEwNTY2LCAxLjE2NDY1ODU0NjQ0Nzc1NF0sIFsxNjYzODQwMzExLjQzMjIxODYsIDEwNTc1LCAxLjE5NTEyNDE0OTMyMjUwOThdLCBbMTY2Mzg0MDMxMS42NjMxNDksIDEwNTkzLCAxLjE2MTYxMzM0NTE0NjE3OTJdLCBbMTY2Mzg0MDMxMS43NzY2NjI2LCAxMDYwMiwgMS4xNzY3ODY4OTk1NjY2NTA0XSwgWzE2NjM4NDAzMTEuODkwODk3NSwgMTA2MTEsIDEuMTk3MDI3NDQ0ODM5NDc3NV0sIFsxNjYzODQwMzEyLjM3MDA1MSwgMTA2NDcsIDEuMTY4MjE4OTcwMjk4NzY3XSwgWzE2NjM4NDAzMTIuNjIwMjUzMywgMTA2NjUsIDEuMTcxNzQ1NDE5NTAyMjU4M10sIFsxNjYzODQwMzEyLjg3NjcxOTUsIDEwNjgzLCAxLjE4NjE3NjA2MTYzMDI0OV0sIFsxNjYzODQwMzEzLjQ2NDczMTIsIDEwNzEwLCAxLjE2NzgzMTg5NzczNTU5NTddLCBbMTY2Mzg0MDMxMy41NjIwMDkzLCAxMDcxOSwgMS4yMDAzMTI3MzM2NTAyMDc1XSwgWzE2NjM4NDAzMTMuODY3MzQ5MSwgMTA3NDYsIDEuMzA0ODIyODAyNTQzNjQwMV0sIFsxNjYzODQwMzEzLjk2OTM2LCAxMDc1NSwgMS4zMzAwMjY5ODQyMTQ3ODI3XSwgWzE2NjM4NDAzMTQuMjU3ODIwNCwgMTA3ODIsIDEuMjE4NzM5NjI4NzkxODA5XSwgWzE2NjM4NDAzMTQuMzY2MTQ3OCwgMTA3OTEsIDEuMTk2NjAxODY3Njc1NzgxMl0sIFsxNjYzODQwMzE0LjY3MzU4MTEsIDEwODE4LCAxLjIyMTY3MDUwODM4NDcwNDZdLCBbMTY2Mzg0MDMxNS4wODg5NiwgMTA4NTQsIDEuMjIyMTY3OTY4NzVdLCBbMTY2Mzg0MDMxNS4xODA3MTMyLCAxMDg2MywgMS4yNTkzNzkwMjkyNzM5ODY4XSwgWzE2NjM4NDAzMTUuMjc3NzcxNSwgMTA4NzIsIDEuMjYxMjYyNjU1MjU4MTc4N10sIFsxNjYzODQwMzE1LjQ4Njk4NDUsIDEwODkwLCAxLjIyMzY0Mjk0NTI4OTYxMThdLCBbMTY2Mzg0MDMxNS45ODYzNDA4LCAxMDkyNiwgMS4xOTYxNjM4OTI3NDU5NzE3XSwgWzE2NjM4NDAzMTYuMTM1NDY1NiwgMTA5MzUsIDEuMTY3NTUyOTQ3OTk4MDQ2OV0sIFsxNjYzODQwMzE2LjYxMDEyMywgMTA5NzEsIDEuMjAyNjM0MDk2MTQ1NjI5OV0sIFsxNjYzODQwMzE3LjI0Mzk0OCwgMTEwMTYsIDEuMTg1MDgyNTU0ODE3MTk5N10sIFsxNjYzODQwMzE3LjQ4NzM0OTcsIDExMDM0LCAxLjE5MTQ1NDg4NzM5MDEzNjddLCBbMTY2Mzg0MDMxNy45OTEzMzA5LCAxMTA3MCwgMS4xNjc2NDgxOTYyMjAzOThdLCBbMTY2Mzg0MDMxOC4zNTYyNDU1LCAxMTA5NywgMS4yMjkwOTg2Nzc2MzUxOTI5XSwgWzE2NjM4NDAzMTguNDc5NDgxNSwgMTExMDYsIDEuMjEyNzA2MzI3NDM4MzU0NV0sIFsxNjYzODQwMzE5LjA5Njc1NiwgMTExNTEsIDEuMTY4MzY3MTQ3NDQ1Njc4N10sIFsxNjYzODQwMzE5LjMxNjQxNDgsIDExMTY5LCAxLjE2MDQ0Njg4MjI0NzkyNDhdLCBbMTY2Mzg0MDMxOS42NzA4NDMsIDExMTk2LCAxLjE1Njk1MTY2NTg3ODI5Nl0sIFsxNjYzODQwMzE5Ljc5OTg3OTMsIDExMjA1LCAxLjE3ODEyMzIzNTcwMjUxNDZdLCBbMTY2Mzg0MDMyMC4wMzUyMTA4LCAxMTIyMywgMS4xNzExNTg5MDk3OTc2Njg1XSwgWzE2NjM4NDAzMjAuMzcwOTQxLCAxMTI1MCwgMS4xNjU3Njc1NTA0Njg0NDQ4XSwgWzE2NjM4NDAzMjAuNDg3MDg3NywgMTEyNTksIDEuMTUxMzQ3MDQxMTMwMDY2XSwgWzE2NjM4NDAzMjAuNjA0OTIxLCAxMTI2OCwgMS4xNTc0MjAxNTgzODYyMzA1XSwgWzE2NjM4NDAzMjAuNzIwNjEwMSwgMTEyNzcsIDEuMTcyMzAxNTMwODM4MDEyN10sIFsxNjYzODQwMzIwLjk2MDk5ODgsIDExMjk1LCAxLjIyODI2MDk5Mzk1NzUxOTVdLCBbMTY2Mzg0MDMyMS4yNDQzMDQyLCAxMTMxMywgMS4yOTgxMDcxNDcyMTY3OTY5XSwgWzE2NjM4NDAzMjEuMzczMjMyMSwgMTEzMjIsIDEuMjc1OTU0MjQ2NTIwOTk2XSwgWzE2NjM4NDAzMjEuNzI1NjU3NywgMTEzNDksIDEuMjE2OTIyNjQwODAwNDc2XSwgWzE2NjM4NDAzMjEuODM3MzQzNywgMTEzNTgsIDEuMTkyNTI4MDA5NDE0NjcyOV0sIFsxNjYzODQwMzIyLjQ4MzIzNTEsIDExNDEyLCAxLjE4MzQwODE0MTEzNjE2OTRdLCBbMTY2Mzg0MDMyMi45MDEzNTkzLCAxMTQ0OCwgMS4xNTM4ODYwNzk3ODgyMDhdLCBbMTY2Mzg0MDMyMy40MTg5MTgxLCAxMTQ5MywgMS4xNjIzMTg4MjU3MjE3NDA3XSwgWzE2NjM4NDAzMjMuNzYwNDc5MiwgMTE1MDIsIDEuMjAzNDg0NjU0NDI2NTc0N10sIFsxNjYzODQwMzIzLjkwMTMxNzQsIDExNTExLCAxLjMzMTUwMjMxODM4MjI2MzJdLCBbMTY2Mzg0MDMyNC40MjkyOTA4LCAxMTU0NywgMS4yNDcwNzQ4NDI0NTMwMDNdLCBbMTY2Mzg0MDMyNC44MTY0ODY2LCAxMTU3NCwgMS4yMzY3ODUwNTQyMDY4NDgxXSwgWzE2NjM4NDAzMjUuNDUxMTcxNCwgMTE2MTksIDEuMTcxNTQ2MzM5OTg4NzA4NV0sIFsxNjYzODQwMzI1LjgzNjUwMjMsIDExNjQ2LCAxLjE1NjI1MDcxNTI1NTczNzNdLCBbMTY2Mzg0MDMyNi40NzM3Njk3LCAxMTY5MSwgMS4xNjEwNjYxNzQ1MDcxNDExXSwgWzE2NjM4NDAzMjYuNTgzMzUzLCAxMTcwMCwgMS4xODQ5NTEwNjY5NzA4MjUyXSwgWzE2NjM4NDAzMjYuOTI4MzYyOCwgMTE3MjcsIDEuMTkwMTE1MzMyNjAzNDU0Nl0sIFsxNjYzODQwMzI3LjM4NjUyNDQsIDExNzYzLCAxLjE2MjEyOTA0NDUzMjc3NTldLCBbMTY2Mzg0MDMyNy44NDE2ODYsIDExNzk5LCAxLjE0ODA4ODMzNTk5MDkwNThdLCBbMTY2Mzg0MDMyOC40MDcyNTUsIDExODQ0LCAxLjIxMzEwMTc0NDY1MTc5NDRdLCBbMTY2Mzg0MDMyOS4wMDgzOTMsIDExODg5LCAxLjE2NjM3Mjc3NjAzMTQ5NDFdLCBbMTY2Mzg0MDMyOS4yNDU3MzczLCAxMTkwNywgMS4xNTk4MDY2MDkxNTM3NDc2XSwgWzE2NjM4NDAzMjkuNTk2MTI4MiwgMTE5MzQsIDEuMjAzMDA4NTMyNTI0MTA4OV0sIFsxNjYzODQwMzI5LjcwOTIwMjMsIDExOTQzLCAxLjE1ODcwOTY0NTI3MTMwMTNdLCBbMTY2Mzg0MDMyOS45Mzc3NzM1LCAxMTk2MSwgMS4xNTYyMDc1NjE0OTI5Ml0sIFsxNjYzODQwMzMwLjYwOTQzNzUsIDEyMDI0LCAxLjE3NTA4NTMwNjE2NzYwMjVdLCBbMTY2Mzg0MDMzMS40NzUzNzk3LCAxMjEwNSwgMS4xNjczNTM3NDkyNzUyMDc1XSwgWzE2NjM4NDAzMzEuNTc2Mzg1NSwgMTIxMTQsIDEuMTY4NjU1OTkxNTU0MjYwM10sIFsxNjYzODQwMzMxLjg2MjQ2MjMsIDEyMTQxLCAxLjE4MDg3MzUxMzIyMTc0MDddLCBbMTY2Mzg0MDMzMi4xNTEzNjA1LCAxMjE2OCwgMS4xNjk3Njg4MTAyNzIyMTY4XSwgWzE2NjM4NDAzMzIuMjQ3MjA1LCAxMjE3NywgMS4xOTc3MzY2MjA5MDMwMTUxXSwgWzE2NjM4NDAzMzIuNDMxMDIyNiwgMTIxOTUsIDEuMTg4MjQxNjAwOTkwMjk1NF0sIFsxNjYzODQwMzMyLjgyMjU1MTcsIDEyMjMxLCAxLjE4OTQ3MDc2Nzk3NDg1MzVdLCBbMTY2Mzg0MDMzMy4wMTY5MDksIDEyMjQ5LCAxLjE2NzI2MzAzMTAwNTg1OTRdLCBbMTY2Mzg0MDMzMy4zODQ0ODcsIDEyMjg1LCAxLjIyNzI2MzU2OTgzMTg0ODFdLCBbMTY2Mzg0MDMzMy43MDIxNzg3LCAxMjI5NCwgMS4yMzA2MTA5NjY2ODI0MzRdLCBbMTY2Mzg0MDMzMy44MTA1NTE0LCAxMjMwMywgMS4yNjE2OTQ2Njk3MjM1MTA3XSwgWzE2NjM4NDAzMzMuOTA0NjYyMSwgMTIzMTIsIDEuMTk1NTAzODMwOTA5NzI5XSwgWzE2NjM4NDAzMzQuMDAxNjkzNywgMTIzMjEsIDEuMjI2MzQwNTMyMzAyODU2NF0sIFsxNjYzODQwMzM0LjY4Mjg0NSwgMTIzODQsIDEuMjM2MDU4NDczNTg3MDM2MV0sIFsxNjYzODQwMzM0Ljc4MDkzNzQsIDEyMzkzLCAxLjE4Njk3ODU3ODU2NzUwNDldLCBbMTY2Mzg0MDMzNS4yMTE3OTUsIDEyNDI5LCAxLjIxNjAxNDAyNzU5NTUyXSwgWzE2NjM4NDAzMzUuNzE0MzMxNiwgMTI0NzQsIDEuMTU4MDA1MjM3NTc5MzQ1N10sIFsxNjYzODQwMzM1LjgxOTkzMzcsIDEyNDgzLCAxLjE2ODk0MzQwNTE1MTM2NzJdLCBbMTY2Mzg0MDMzNi4yNTk4NDQzLCAxMjUxOSwgMS4xNTM5NjgwOTU3Nzk0MTldLCBbMTY2Mzg0MDMzNi41NjMzMjYxLCAxMjU0NiwgMS4yMTMwNjU4NjI2NTU2Mzk2XSwgWzE2NjM4NDAzMzYuOTgwNjQ4OCwgMTI1ODIsIDEuMTM1NzQ1NzYzNzc4Njg2NV0sIFsxNjYzODQwMzM5LjAyMjg1NzcsIDEyNzYyLCAxLjE5MjE0MTI5NDQ3OTM3MDFdLCBbMTY2Mzg0MDMzOS40OTA5NTk0LCAxMjc5OCwgMS4xNTQzODk1MDA2MTc5ODFdLCBbMTY2Mzg0MDM0MC43MTUxODQsIDEyODg4LCAxLjE5MzUwNjEyMTYzNTQzN10sIFsxNjYzODQwMzQwLjgyNzkwNjgsIDEyODk3LCAxLjE1NTk4Njc4NTg4ODY3MTldLCBbMTY2Mzg0MDM0MS4yODcyNjgyLCAxMjkzMywgMS4yMTU4MjgyOTk1MjI0XSwgWzE2NjM4NDAzNDEuNTExOTEzNSwgMTI5NTEsIDEuMTY0NjQ0NTk4OTYwODc2NV0sIFsxNjYzODQwMzQxLjYyNTA0MjQsIDEyOTYwLCAxLjE0NzQyMTEyMTU5NzI5XSwgWzE2NjM4NDAzNDEuNzM5MTI4NiwgMTI5NjksIDEuMTcwOTM4MDE0OTg0MTMwOV0sIFsxNjYzODQwMzQxLjg1MjM4MDgsIDEyOTc4LCAxLjE3MTM1MDEyMTQ5ODEwOF0sIFsxNjYzODQwMzQyLjQyMjgxMywgMTMwMDUsIDEuMTk3NDg0NjEyNDY0OTA0OF0sIFsxNjYzODQwMzQyLjcwMzAyNSwgMTMwMzIsIDEuMTc1Njk5MjM0MDA4Nzg5XSwgWzE2NjM4NDAzNDIuODgxMTI0NSwgMTMwNTAsIDEuMjA0NjE5NTI2ODYzMDk4MV0sIFsxNjYzODQwMzQzLjA3MTI4MjksIDEzMDY4LCAxLjE0ODEyMzM4MzUyMjAzMzddLCBbMTY2Mzg0MDM0My4xNTkzMzczLCAxMzA3NywgMS4xNTcyMjkzMDQzMTM2NTk3XSwgWzE2NjM4NDAzNDMuMzUxMiwgMTMwOTUsIDEuMjE5MzQ0NDk2NzI2OTg5N10sIFsxNjYzODQwMzQzLjQ0MTE1NSwgMTMxMDQsIDEuMTM4NzQyOTIzNzM2NTcyM10sIFsxNjYzODQwMzQzLjYyMDYxOSwgMTMxMjIsIDEuMTQ3OTM0OTEzNjM1MjU0XSwgWzE2NjM4NDAzNDMuNzQ1MzE1MywgMTMxMzEsIDEuMTM3Njg1MDYwNTAxMDk4Nl0sIFsxNjYzODQwMzQzLjk2NzM3NTMsIDEzMTQ5LCAxLjEzODIwMTIzNjcyNDg1MzVdLCBbMTY2Mzg0MDM0NC4wODUxNTAyLCAxMzE1OCwgMS4xNjE2MzI2NTcwNTEwODY0XSwgWzE2NjM4NDAzNDQuMzE4MzEzNCwgMTMxNzYsIDEuMTk5MDI0MDgxMjMwMTYzNl0sIFsxNjYzODQwMzQ1LjI1NTg0OCwgMTMyMzksIDEuMTk1Mzg1ODEzNzEzMDczN10sIFsxNjYzODQwMzQ1LjYwMjYyODUsIDEzMjY2LCAxLjE4Nzc0MjM1MjQ4NTY1NjddLCBbMTY2Mzg0MDM0NS43MjAzNjg5LCAxMzI3NSwgMS4xNjc5NzY5NzU0NDA5NzldLCBbMTY2Mzg0MDM0NS45NDYwNCwgMTMyOTMsIDEuMjExNjIyMjM4MTU5MTc5N10sIFsxNjYzODQwMzQ2Ljc4Njg3NTIsIDEzMzU2LCAxLjE3NjU0NTk3NzU5MjQ2ODNdLCBbMTY2Mzg0MDM0Ny4yNzIxMzU3LCAxMzM5MiwgMS4xOTA0MjMyNTAxOTgzNjQzXSwgWzE2NjM4NDAzNDcuNjI4OTc2OCwgMTM0MTksIDEuMTYwOTg4MzMwODQxMDY0NV0sIFsxNjYzODQwMzQ3Ljk4MzU1NTgsIDEzNDQ2LCAxLjE2NjA3MTY1MzM2NjA4ODldLCBbMTY2Mzg0MDM0OC4wOTY5MjQ4LCAxMzQ1NSwgMS4xNTM5NzYwODI4MDE4MTg4XSwgWzE2NjM4NDAzNDguNTQ5MjM5OSwgMTM0OTEsIDEuMTc2OTYxMTgzNTQ3OTczNl0sIFsxNjYzODQwMzQ4LjY3MTEzOTIsIDEzNTAwLCAxLjE0NjM0Nzk5OTU3Mjc1NF0sIFsxNjYzODQwMzQ5LjAxODk4NTcsIDEzNTI3LCAxLjIwNTc1MTE4MDY0ODgwMzddLCBbMTY2Mzg0MDM0OS43MTQ3NjU1LCAxMzU5MCwgMS4xNzg0Mjg2NDk5MDIzNDM4XSwgWzE2NjM4NDAzNDkuODE4NjE0NywgMTM1OTksIDEuMjI5MDc0ODM1Nzc3MjgyN10sIFsxNjYzODQwMzQ5LjkzNTQ0MjcsIDEzNjA4LCAxLjMyODkyNDY1NTkxNDMwNjZdLCBbMTY2Mzg0MDM1MC4xNTg2NzIsIDEzNjI2LCAxLjE4NDcxMjUyOTE4MjQzNF0sIFsxNjYzODQwMzUwLjM2NTYxMDYsIDEzNjQ0LCAxLjE1NjUwNDE1NDIwNTMyMjNdLCBbMTY2Mzg0MDM1MC40Njg0MDgsIDEzNjUzLCAxLjE2NzI5Nzk1OTMyNzY5NzhdLCBbMTY2Mzg0MDM1MS4zMDM2MjQyLCAxMzcxNiwgMS4xNTg5NDAzMTUyNDY1ODJdLCBbMTY2Mzg0MDM1Mi4wMDU1MTU2LCAxMzc2MSwgMS4xNTU1Mzc5NjI5MTM1MTMyXSwgWzE2NjM4NDAzNTIuODY0MDMwOCwgMTM4MTUsIDEuMTQ1MDM1ODYyOTIyNjY4NV0sIFsxNjYzODQwMzUzLjE3MTYxMzUsIDEzODQyLCAxLjE4NTUzMDc4MTc0NTkxMDZdLCBbMTY2Mzg0MDM1My4yNjUxNzM0LCAxMzg1MSwgMS4xNzkyOTIzMjEyMDUxMzkyXSwgWzE2NjM4NDAzNTMuNTU5MDY3NSwgMTM4NzgsIDEuMTk2MDk0NjMyMTQ4NzQyN10sIFsxNjYzODQwMzU0LjIzMjg5NCwgMTM5NDEsIDEuMTg2NzcxMzkyODIyMjY1Nl0sIFsxNjYzODQwMzU0LjUwMjU1OTQsIDEzOTY4LCAxLjE2NTUwODk4NTUxOTQwOTJdLCBbMTY2Mzg0MDM1NC41OTM0ODksIDEzOTc3LCAxLjE1Nzk3Njc0NjU1OTE0M10sIFsxNjYzODQwMzU0LjY5MjI5NTMsIDEzOTg2LCAxLjE2ODQ1OTc3MzA2MzY1OTddLCBbMTY2Mzg0MDM1NS41NTg4MDksIDE0MDY3LCAxLjE1NzcyMzY2NTIzNzQyNjhdLCBbMTY2Mzg0MDM1NS44MzI2ODk1LCAxNDA5NCwgMS4xNTUwNTY1OTU4MDIzMDcxXSwgWzE2NjM4NDAzNTUuOTI2NTQ5MiwgMTQxMDMsIDEuMTgyNTc3NjEwMDE1ODY5MV0sIFsxNjYzODQwMzU2LjE1ODUzNSwgMTQxMjEsIDEuMTQ3NjA1NTM4MzY4MjI1XSwgWzE2NjM4NDAzNTYuNDI4NDk4LCAxNDEzOSwgMS4xMzA3OTMwOTQ2MzUwMDk4XSwgWzE2NjM4NDAzNTYuNTUyNDc0NywgMTQxNDgsIDEuMTcwOTk1ODMxNDg5NTYzXSwgWzE2NjM4NDAzNTYuNjk2NzQ1LCAxNDE1NywgMS4xNDc5MzM0ODMxMjM3NzkzXSwgWzE2NjM4NDAzNTYuODI2MTIwNCwgMTQxNjYsIDEuMjMxNjY5MTg3NTQ1Nzc2NF0sIFsxNjYzODQwMzU3LjIxNjkxNzUsIDE0MTkzLCAxLjE4NjA1MjQ0MTU5Njk4NDldLCBbMTY2Mzg0MDM1Ny43NDAwNTQxLCAxNDIyOSwgMS4xNDEwMjEyNTE2Nzg0NjY4XSwgWzE2NjM4NDAzNTcuODc2MTM4NCwgMTQyMzgsIDEuMjE2NzM3MjcwMzU1MjI0Nl0sIFsxNjYzODQwMzU3Ljk5NTQ2NTUsIDE0MjQ3LCAxLjE2MDM0ODI5NjE2NTQ2NjNdLCBbMTY2Mzg0MDM1OC4zOTE1NjMsIDE0Mjc0LCAxLjE3NTgxMzMxNzI5ODg4OTJdLCBbMTY2Mzg0MDM1OC45Njg5NywgMTQzMTksIDEuMTU5MjU2MjE5ODYzODkxNl0sIFsxNjYzODQwMzU5LjQ5MTM2NjEsIDE0MzY0LCAxLjE3NTAyMTY0ODQwNjk4MjRdLCBbMTY2Mzg0MDM1OS42MDg0MTY2LCAxNDM3MywgMS4xODUzNjI5MzUwNjYyMjMxXSwgWzE2NjM4NDAzNTkuNzE3NjEsIDE0MzgyLCAxLjE0NzQ3NjE5NjI4OTA2MjVdLCBbMTY2Mzg0MDM2MC4yMjY4MDksIDE0NDE4LCAxLjIzNjg0NDE4MjAxNDQ2NTNdLCBbMTY2Mzg0MDM2MC4zNjM5MzA3LCAxNDQyNywgMS4yODUzMTIxNzU3NTA3MzI0XSwgWzE2NjM4NDAzNjAuNDkzMzk5OSwgMTQ0MzYsIDEuMzQ0OTkzODI5NzI3MTcyOV0sIFsxNjYzODQwMzYxLjQ2ODcxMTYsIDE0NTA4LCAxLjE0NTE4NDUxNjkwNjczODNdLCBbMTY2Mzg0MDM2MS44MzQwNjc4LCAxNDUzNSwgMS4yNzA4MTg4Mjk1MzY0MzhdLCBbMTY2Mzg0MDM2Mi4wNzIyMjQ5LCAxNDU1MywgMS4yNDgyNzQyMDcxMTUxNzMzXSwgWzE2NjM4NDAzNjMuMDI2MzA3NiwgMTQ2MDcsIDEuMjIxNTA4ODYwNTg4MDczN10sIFsxNjYzODQwMzYzLjI0MDM2NSwgMTQ2MjUsIDEuMjAwMDExNjEwOTg0ODAyMl0sIFsxNjYzODQwMzYzLjYyNTMyNDUsIDE0NjUyLCAxLjI2MTYxMzEzMDU2OTQ1OF0sIFsxNjYzODQwMzY0LjEwMDAxODMsIDE0Njg4LCAxLjE4MTA4MTc3MTg1MDU4Nl0sIFsxNjYzODQwMzY0LjQ5MTg5OTUsIDE0NzI0LCAxLjI1Nzk4NTM1MzQ2OTg0ODZdLCBbMTY2Mzg0MDM2NC42ODU3NjM2LCAxNDc0MiwgMS4xMjU5MjA1MzQxMzM5MTExXSwgWzE2NjM4NDAzNjQuOTk1MTUxMywgMTQ3NjksIDEuMTU5NTAyMjY3ODM3NTI0NF0sIFsxNjYzODQwMzY1LjA5MzUzODgsIDE0Nzc4LCAxLjE5OTQ4NzIwOTMyMDA2ODRdLCBbMTY2Mzg0MDM2NS41NTIwMjYzLCAxNDgyMywgMS4xNTY4NDExNTg4NjY4ODIzXSwgWzE2NjM4NDAzNjUuNjYwOTI2NiwgMTQ4MzIsIDEuMTYzODM2MzU5OTc3NzIyMl0sIFsxNjYzODQwMzY2LjA0NzgxNjgsIDE0ODY4LCAxLjE2NzM4MTE2NzQxMTgwNDJdLCBbMTY2Mzg0MDM2Ni4xNDUxMTQ0LCAxNDg3NywgMS4xNjI1Njc0OTYyOTk3NDM3XSwgWzE2NjM4NDAzNjYuMjM4NTQxMSwgMTQ4ODYsIDEuMjcxNzA5NjgwNTU3MjUxXSwgWzE2NjM4NDAzNjYuMzM0NzMxOCwgMTQ4OTUsIDEuMjA1NDA1OTUwNTQ2MjY0Nl0sIFsxNjYzODQwMzY2LjUxMTA1MSwgMTQ5MTMsIDEuMTY1NTM4NDMwMjEzOTI4Ml0sIFsxNjYzODQwMzY2LjY5NzAyMTUsIDE0OTMxLCAxLjE5MDE1OTMyMDgzMTI5ODhdLCBbMTY2Mzg0MDM2Ny4wODE1MzI1LCAxNDk2NywgMS4xNDE1NTU3ODYxMzI4MTI1XSwgWzE2NjM4NDAzNjcuMjg4NTQ2NiwgMTQ5ODUsIDEuMTQ1NDM5Mzg2MzY3Nzk3OV0sIFsxNjYzODQwMzY3LjQ3NTgyNDgsIDE1MDAzLCAxLjE0NzE5NDI2NjMxOTI3NV0sIFsxNjYzODQwMzY3Ljc1NTY1NSwgMTUwMzAsIDEuMjQxMzgyNTk4ODc2OTUzMV0sIFsxNjYzODQwMzY3Ljg1NjkxNzEsIDE1MDM5LCAxLjMxNjk5MTkyNTIzOTU2M10sIFsxNjYzODQwMzY4LjM2MzM2MzcsIDE1MDc1LCAxLjIyNDIxMzQ4MDk0OTQwMTldLCBbMTY2Mzg0MDM2OC43MzQ0NDk5LCAxNTEwMiwgMS4xNTY2NDgyNzgyMzYzODkyXSwgWzE2NjM4NDAzNjguOTYyODI0OCwgMTUxMjAsIDEuMTgwMDY3NDIwMDA1Nzk4M10sIFsxNjYzODQwMzY5LjA5MDM1NzgsIDE1MTI5LCAxLjE4NzgzNDE0MzYzODYxMDhdLCBbMTY2Mzg0MDM2OS4zMTQ0OTMsIDE1MTQ3LCAxLjE2Njg2MTI5NTcwMDA3MzJdLCBbMTY2Mzg0MDM2OS42MzkzNjY5LCAxNTE3NCwgMS4xNDgxNjYyOTg4NjYyNzJdLCBbMTY2Mzg0MDM2OS43NDEyMjksIDE1MTgzLCAxLjE4NTIyNjMyMTIyMDM5OF0sIFsxNjYzODQwMzY5Ljg1MTQyMzMsIDE1MTkyLCAxLjE0MDYzODgyODI3NzU4OF0sIFsxNjYzODQwMzY5Ljk3MTM0NTIsIDE1MjAxLCAxLjEzNzI3NTIxODk2MzYyM10sIFsxNjYzODQwMzcwLjU3ODM2NjUsIDE1MjQ2LCAxLjEzMzE1NTgyMjc1MzkwNjJdLCBbMTY2Mzg0MDM3MC43MDgwNDc0LCAxNTI1NSwgMS4xMzE3MDgxNDUxNDE2MDE2XSwgWzE2NjM4NDAzNzAuODI4MjkxNywgMTUyNjQsIDEuMTI5NjY2NTY2ODQ4NzU0OV0sIFsxNjYzODQwMzcxLjI2NjY2MjgsIDE1MzAwLCAxLjE5NTk0NTYyMDUzNjgwNDJdLCBbMTY2Mzg0MDM3MS44NTA0MDcxLCAxNTMyNywgMS4xNTE2MjE4MTg1NDI0ODA1XSwgWzE2NjM4NDAzNzIuMDkwMzgyLCAxNTM0NSwgMS4xNzM2NDkzMTEwNjU2NzM4XSwgWzE2NjM4NDAzNzIuNDA1NDM0OCwgMTUzNzIsIDEuMTQ4OTcyMjcyODcyOTI0OF0sIFsxNjYzODQwMzcyLjYyNzMxMiwgMTUzOTAsIDEuMTY3NTI4NTEwMDkzNjg5XSwgWzE2NjM4NDAzNzIuNzUwNzk1NiwgMTUzOTksIDEuMTQ2Mzg4MTczMTAzMzMyNV0sIFsxNjYzODQwMzcyLjg4NjQwNDMsIDE1NDA4LCAxLjE1MTk0NDI3OTY3MDcxNTNdLCBbMTY2Mzg0MDM3My4wMDcwMTEyLCAxNTQxNywgMS4xMzUxNjIzNTM1MTU2MjVdLCBbMTY2Mzg0MDM3My43MTUxMDI0LCAxNTQ3MSwgMS4yMzA4ODk0Mzk1ODI4MjQ3XSwgWzE2NjM4NDAzNzQuMTcwNjYxNCwgMTU1MDcsIDEuMTYxMjYyMDM1MzY5ODczXSwgWzE2NjM4NDAzNzQuMjgzNDIwNiwgMTU1MTYsIDEuMTczNTcyNzc4NzAxNzgyMl0sIFsxNjYzODQwMzc0LjM5NjMwNjUsIDE1NTI1LCAxLjE3MTczMDI3OTkyMjQ4NTRdLCBbMTY2Mzg0MDM3NC40OTYwNzQsIDE1NTM0LCAxLjEzNTQ5NzQ1MDgyODU1MjJdLCBbMTY2Mzg0MDM3NC45OTM0NzQyLCAxNTU3OSwgMS4yNTg4MzExNDMzNzkyMTE0XSwgWzE2NjM4NDAzNzUuODEzMTQ1OSwgMTU2NTEsIDEuMzI5ODY5NzQ3MTYxODY1Ml0sIFsxNjYzODQwMzc1LjkxMDE2MDgsIDE1NjYwLCAxLjE1OTE2NTYyMDgwMzgzM10sIFsxNjYzODQwMzc2LjMzMDcyMTksIDE1Njk2LCAxLjE0MTA2OTUzMTQ0MDczNDldLCBbMTY2Mzg0MDM3Ni41NTAyNzEzLCAxNTcxNCwgMS4xODMxODAwOTM3NjUyNTg4XSwgWzE2NjM4NDAzNzYuODU1MjUwNiwgMTU3NDEsIDEuMTUxOTI1NjgzMDIxNTQ1NF0sIFsxNjYzODQwMzc3LjA0NzA4MDgsIDE1NzU5LCAxLjI2ODAzNjYwMzkyNzYxMjNdLCBbMTY2Mzg0MDM3Ny4xNjI2NDk2LCAxNTc2OCwgMS4xNTcwODAyOTI3MDE3MjEyXSwgWzE2NjM4NDAzNzcuMzY0MjEwOCwgMTU3ODYsIDEuMjE1Nzk5Njg5MjkyOTA3N10sIFsxNjYzODQwMzc3LjQ1NzAzMjQsIDE1Nzk1LCAxLjE5NjEyMDAyMzcyNzQxN10sIFsxNjYzODQwMzc3Ljc4NTM3MDgsIDE1ODIyLCAxLjE1MDIyNDgwNDg3ODIzNDldLCBbMTY2Mzg0MDM3OC4yNjAzMDg3LCAxNTg2NywgMS4xNjgwNTIzMTU3MTE5NzVdLCBbMTY2Mzg0MDM3OC4zNTgzMjM4LCAxNTg3NiwgMS4xMTI0MDU4OTYxODY4Mjg2XSwgWzE2NjM4NDAzNzguNTQ2ODgyMiwgMTU4OTQsIDEuMTM3MjU5MzY0MTI4MTEyOF0sIFsxNjYzODQwMzc4Ljg0Mjk1MDgsIDE1OTIxLCAxLjI0ODAzODUzMDM0OTczMTRdLCBbMTY2Mzg0MDM3OS41MTc4NzczLCAxNTk4NCwgMS4yMDYwNzkzNjM4MjI5MzddLCBbMTY2Mzg0MDM3OS42MTM3NTI2LCAxNTk5MywgMS4xNTgwMjU1MDMxNTg1NjkzXSwgWzE2NjM4NDAzNzkuNzEwMDg4MywgMTYwMDIsIDEuMTczNjcxMTI2MzY1NjYxNl0sIFsxNjYzODQwMzgwLjIwMDM1NCwgMTYwMjksIDEuMTQxOTc5NDU1OTQ3ODc2XSwgWzE2NjM4NDAzODAuNTkwODg5NSwgMTYwNjUsIDEuMTM4ODgzMzUyMjc5NjYzXSwgWzE2NjM4NDAzODAuNjg5MTk5NywgMTYwNzQsIDEuMTUxMDE5NDU0MDAyMzgwNF0sIFsxNjYzODQwMzgwLjc5OTAxNywgMTYwODMsIDEuMTU3MzcyNzEzMDg4OTg5M10sIFsxNjYzODQwMzgxLjE1MzYxNiwgMTYxMTAsIDEuMjIzNTY1MjIwODMyODI0N10sIFsxNjYzODQwMzgxLjI0NzY0MSwgMTYxMTksIDEuMjM1NTIyOTg1NDU4Mzc0XSwgWzE2NjM4NDAzODEuNDQ1NDg4MiwgMTYxMzcsIDEuMTM5ODU2OTM0NTQ3NDI0M10sIFsxNjYzODQwMzgxLjY0OTIwNDcsIDE2MTU1LCAxLjE1MDg5NDc2MTA4NTUxMDNdLCBbMTY2Mzg0MDM4MS44NTI5NjIsIDE2MTczLCAxLjE2Mjc2NTg2MDU1NzU1NjJdLCBbMTY2Mzg0MDM4Mi4yOTc1NDc4LCAxNjIwOSwgMS4xOTkyMjgxNjc1MzM4NzQ1XSwgWzE2NjM4NDAzODIuNTE3MjUwNSwgMTYyMjcsIDEuMTQxNzQwMzIyMTEzMDM3XSwgWzE2NjM4NDAzODMuMjE4OTczOSwgMTYyODEsIDEuMTczMjkzNzA5NzU0OTQzOF0sIFsxNjYzODQwMzgzLjQ3NzkxOTMsIDE2Mjk5LCAxLjEyMzE4OTIxMDg5MTcyMzZdLCBbMTY2Mzg0MDM4My45MzM1ODg1LCAxNjMzNSwgMS4xMzM4MjQ1ODY4NjgyODYxXSwgWzE2NjM4NDAzODQuNDUyNjY4LCAxNjM4MCwgMS4xMTU3OTUyNTQ3MDczMzY0XSwgWzE2NjM4NDAzODQuODU4MTEwNCwgMTY0MTYsIDEuMTE5NTE3ODAzMTkyMTM4N10sIFsxNjYzODQwMzg1LjI2MjkwOTIsIDE2NDQzLCAxLjIxNTAxODE1MzE5MDYxMjhdLCBbMTY2Mzg0MDM4NS40MjcyNzI2LCAxNjQ1MiwgMS4yMDI4ODgxMzExNDE2NjI2XSwgWzE2NjM4NDAzODUuNjc5NDU4NiwgMTY0NzAsIDEuMTEzNTc1MjIwMTA4MDMyMl0sIFsxNjYzODQwMzg1Ljc5NjE1MzMsIDE2NDc5LCAxLjE0ODc0NDM0NDcxMTMwMzddLCBbMTY2Mzg0MDM4Ni4wMjIwMTk2LCAxNjQ5NywgMS4xMjg2OTk2NjAzMDEyMDg1XSwgWzE2NjM4NDAzODYuMTUzNTY4NSwgMTY1MDYsIDEuMTI0OTY1MTkwODg3NDUxMl0sIFsxNjYzODQwMzg2LjI2ODExNywgMTY1MTUsIDEuMTUxMDI1MDU2ODM4OTg5M10sIFsxNjYzODQwMzg2LjQ5NDU0OTgsIDE2NTMzLCAxLjEzMjY3MjA3MTQ1NjkwOTJdLCBbMTY2Mzg0MDM4Ni42MDU4NTI2LCAxNjU0MiwgMS4xNDc3MTg2Njc5ODQwMDg4XSwgWzE2NjM4NDAzODYuNzEzMTM5NSwgMTY1NTEsIDEuMTczMjk5MzEyNTkxNTUyN10sIFsxNjYzODQwMzg3LjUwMzAxMDcsIDE2NjE0LCAxLjE1NTkxMDczMDM2MTkzODVdLCBbMTY2Mzg0MDM4Ny42MDQ4NzE1LCAxNjYyMywgMS4xNjE5MTk0NzQ2MDE3NDU2XSwgWzE2NjM4NDAzODcuNzEwMjc2OCwgMTY2MzIsIDEuMTIyNTA5NzE3OTQxMjg0Ml0sIFsxNjYzODQwMzg3LjgxMjg4OCwgMTY2NDEsIDEuMTM1ODQ4NTIyMTg2Mjc5M10sIFsxNjYzODQwMzg4LjQwMDAyNDIsIDE2NjY4LCAxLjE4MzkyMzEyNTI2NzAyODhdLCBbMTY2Mzg0MDM4OS41NDI5NTg3LCAxNjc0OSwgMS4xNjQ1NTg0MTA2NDQ1MzEyXSwgWzE2NjM4NDAzOTAuMTAxMzEyLCAxNjc5NCwgMS4xMzIwNzU5MDU3OTk4NjU3XSwgWzE2NjM4NDAzOTAuMjE0NDYxLCAxNjgwMywgMS4xMzUzNjE2NzE0NDc3NTRdLCBbMTY2Mzg0MDM5MC4zMjc5Mzc0LCAxNjgxMiwgMS4xMzg1NDY0NjY4MjczOTI2XSwgWzE2NjM4NDAzOTAuNzQ2NTk0NywgMTY4NDgsIDEuMTcxNDIzNzkyODM5MDUwM10sIFsxNjYzODQwMzkwLjg1MTkxMTgsIDE2ODU3LCAxLjE4NjIyNjI0ODc0MTE1XSwgWzE2NjM4NDAzOTEuMDU4MjIwOSwgMTY4NzUsIDEuMTIzMTUxNjU5OTY1NTE1MV0sIFsxNjYzODQwMzkxLjM2NjI0ODgsIDE2OTAyLCAxLjE0MTgyMDE5MjMzNzAzNjFdLCBbMTY2Mzg0MDM5MS42NDg2MDIsIDE2OTI5LCAxLjE0ODQ3ODAzMTE1ODQ0NzNdLCBbMTY2Mzg0MDM5MS45Mjk5NjgsIDE2OTU2LCAxLjE5ODc2MTU4MjM3NDU3MjhdLCBbMTY2Mzg0MDM5Mi4wMjk4MTg1LCAxNjk2NSwgMS4yMjMzODg2NzE4NzVdLCBbMTY2Mzg0MDM5Mi4yMTI1OTA3LCAxNjk4MywgMS4xNjk4OTI1NDk1MTQ3NzA1XSwgWzE2NjM4NDAzOTIuMzk0Nzc0NCwgMTcwMDEsIDEuMTU4NjQ3Mjk4ODEyODY2Ml0sIFsxNjYzODQwMzkyLjU5OTA5MSwgMTcwMTksIDEuMTMzNjE5NTQ2ODkwMjU4OF0sIFsxNjYzODQwMzkzLjEzNTUxMjgsIDE3MDY0LCAxLjIwMjc1MDgwMjA0MDFdLCBbMTY2Mzg0MDM5My42OTc0NDg3LCAxNzEwMCwgMS4xNjM1MTcyMzY3MDk1OTQ3XSwgWzE2NjM4NDAzOTQuMDQwMzQsIDE3MTI3LCAxLjEyNTYyNjA4NzE4ODcyMDddLCBbMTY2Mzg0MDM5NC40NDc0MTgsIDE3MTYzLCAxLjE1ODgwNTQ4OTU0MDFdLCBbMTY2Mzg0MDM5NC42NDQ2MzcsIDE3MTgxLCAxLjE0MTI1NzY0MzY5OTY0Nl0sIFsxNjYzODQwMzk0Ljc0MzQxNSwgMTcxOTAsIDEuMTY4NTczMzc5NTE2NjAxNl0sIFsxNjYzODQwMzk0LjgzODg0OTgsIDE3MTk5LCAxLjE0MTE1MTY2NjY0MTIzNTRdLCBbMTY2Mzg0MDM5NS4xMTkyMTcsIDE3MjI2LCAxLjE0ODIwODQ5ODk1NDc3M10sIFsxNjYzODQwMzk1LjU5NzU3MywgMTcyNzEsIDEuMTExMzc4NDMxMzIwMTkwNF0sIFsxNjYzODQwMzk2LjE2NzU3NTgsIDE3MzI1LCAxLjE2ODY3MzUxNTMxOTgyNDJdLCBbMTY2Mzg0MDM5Ni4yNjUwNDQ3LCAxNzMzNCwgMS4xODE2MDkwMzQ1MzgyNjldLCBbMTY2Mzg0MDM5Ni4zNTU4NjgsIDE3MzQzLCAxLjE1OTIxNTQ1MDI4Njg2NTJdLCBbMTY2Mzg0MDM5Ni42Mzg1NDIyLCAxNzM3MCwgMS4xOTc0MTQ2MzY2MTE5Mzg1XSwgWzE2NjM4NDAzOTYuOTIyMTU2MywgMTczOTcsIDEuMTkyMDMyODE0MDI1ODc5XSwgWzE2NjM4NDAzOTcuNDE0MDQ0LCAxNzQyNCwgMS4xNDQ5OTAwODY1NTU0ODFdLCBbMTY2Mzg0MDM5Ny41MDcyOTA2LCAxNzQzMywgMS4xNDg4MDMxMTQ4OTEwNTIyXSwgWzE2NjM4NDAzOTcuODg5NzE5LCAxNzQ2OSwgMS4xNzM2MzExOTEyNTM2NjJdLCBbMTY2Mzg0MDM5Ny45ODIzODMzLCAxNzQ3OCwgMS4xMTc3MDcyNTI1MDI0NDE0XSwgWzE2NjM4NDAzOTguMDczODgzMywgMTc0ODcsIDEuMTE0OTYwNzg5NjgwNDgxXSwgWzE2NjM4NDAzOTguNDEzNjQyLCAxNzUxNCwgMS4yMDExNTg3NjE5NzgxNDk0XSwgWzE2NjM4NDAzOTguNjcxNTkzNywgMTc1MzIsIDEuMTU5NjgzNzA0Mzc2MjIwN10sIFsxNjYzODQwMzk4Ljk5OTUxMzEsIDE3NTU5LCAxLjExOTg5MzA3NDAzNTY0NDVdLCBbMTY2Mzg0MDM5OS4yOTM0ODQ0LCAxNzU4NiwgMS4xNzk4OTU1MjAyMTAyNjYxXSwgWzE2NjM4NDAzOTkuNTg4OTE1LCAxNzYxMywgMS4xNDEyMzg5Mjc4NDExODY1XSwgWzE2NjM4NDAzOTkuOTgzMjkxNiwgMTc2NDksIDEuMTE1NDE3NTk5Njc4MDM5Nl0sIFsxNjYzODQwNDAwLjA4MjU5NDIsIDE3NjU4LCAxLjEyMTk4OTcyNzAyMDI2MzddLCBbMTY2Mzg0MDQwMC4xODQ4NjE0LCAxNzY2NywgMS4xNDMyNTgwOTQ3ODc1OTc3XSwgWzE2NjM4NDA0MDAuMjgwMjUzNCwgMTc2NzYsIDEuMTQ5MDg3OTA1ODgzNzg5XSwgWzE2NjM4NDA0MDAuMzg0ODM3NCwgMTc2ODUsIDEuMjEyMzMwMjIyMTI5ODIxOF0sIFsxNjYzODQwNDAwLjU5MzA0NCwgMTc3MDMsIDEuMjkxNDA5MzczMjgzMzg2Ml0sIFsxNjYzODQwNDAwLjY4Mzg0NDYsIDE3NzEyLCAxLjE1ODIyNzY4MjExMzY0NzVdLCBbMTY2Mzg0MDQwMC43ODA3NTA1LCAxNzcyMSwgMS4xNDMwMjE0NjQzNDc4Mzk0XSwgWzE2NjM4NDA0MDAuODcwODM3NywgMTc3MzAsIDEuMTQ0MjkwMzI4MDI1ODE3OV0sIFsxNjYzODQwNDAxLjY0MzU0MiwgMTc4MDIsIDEuMTE2MjA1MDk2MjQ0ODEyXSwgWzE2NjM4NDA0MDEuODU0NDE4OCwgMTc4MjAsIDEuMTQwMDI5MTkxOTcwODI1Ml0sIFsxNjYzODQwNDAxLjk1MzQ0NDcsIDE3ODI5LCAxLjEzNjk1MDYxMjA2ODE3NjNdLCBbMTY2Mzg0MDQwMi4wNTg2NDUsIDE3ODM4LCAxLjEzOTc0MzMyODA5NDQ4MjRdLCBbMTY2Mzg0MDQwMi4xNTIyNywgMTc4NDcsIDEuMTM2MzI4OTM1NjIzMTY5XSwgWzE2NjM4NDA0MDIuNDM2NjczLCAxNzg3NCwgMS4xOTEwNjk2MDI5NjYzMDg2XSwgWzE2NjM4NDA0MDIuNjM4MzI4MywgMTc4OTIsIDEuMTMwMTY5NjMwMDUwNjU5Ml0sIFsxNjYzODQwNDAyLjczMDU2ODYsIDE3OTAxLCAxLjEzNDU5NjgyNDY0NTk5Nl0sIFsxNjYzODQwNDAzLjAxMjAwNzcsIDE3OTI4LCAxLjE2MzM0MjM1NjY4MTgyMzddLCBbMTY2Mzg0MDQwMy4xMTMyNTIsIDE3OTM3LCAxLjE0MjE0NTYzMzY5NzUwOThdLCBbMTY2Mzg0MDQwNS42NTk3Mzg4LCAxODE1MywgMS4xNDM0ODExMzUzNjgzNDcyXSwgWzE2NjM4NDA0MDUuNzUwODQ2MSwgMTgxNjIsIDEuMTM2ODE2MTQzOTg5NTYzXSwgWzE2NjM4NDA0MDYuMTMwNjI5NSwgMTgxOTgsIDEuMjI0Nzc2MTQ4Nzk2MDgxNV0sIFsxNjYzODQwNDA2LjIyODY1NTgsIDE4MjA3LCAxLjEzOTA2NTYyMzI4MzM4NjJdLCBbMTY2Mzg0MDQwNi4zMTk2Njc4LCAxODIxNiwgMS4xNDk1NjAzMzIyOTgyNzg4XSwgWzE2NjM4NDA0MDYuNjAzMzk3LCAxODI0MywgMS4xMDcwMTI2Mjk1MDg5NzIyXSwgWzE2NjM4NDA0MDYuNzg4Mjc1NSwgMTgyNjEsIDEuMjI4Mzc1MTk2NDU2OTA5Ml0sIFsxNjYzODQwNDA3LjA2NjU4OSwgMTgyODgsIDEuMTgzNDgxOTMxNjg2NDAxNF0sIFsxNjYzODQwNDA3LjE1ODI2ODUsIDE4Mjk3LCAxLjIwMDQzNTA0MjM4MTI4NjZdLCBbMTY2Mzg0MDQwNy4zNzk3NTc2LCAxODMxNSwgMS4xODY3OTU5NDk5MzU5MTNdLCBbMTY2Mzg0MDQwNy40OTA4MzQyLCAxODMyNCwgMS4yMDQ1NDIyNzkyNDM0NjkyXSwgWzE2NjM4NDA0MDcuNjA5NTUyNCwgMTgzMzMsIDEuMTY0ODA1NTMxNTAxNzddLCBbMTY2Mzg0MDQwOC4xMTY0NTc1LCAxODM2OSwgMS4xNzkyOTI5MTcyNTE1ODddLCBbMTY2Mzg0MDQwOC41MTA3OTIsIDE4Mzk2LCAxLjE2OTMwNjc1NTA2NTkxOF0sIFsxNjYzODQwNDA5LjAzODQ5NywgMTg0MzIsIDEuMTM3NzkxNjMzNjA1OTU3XSwgWzE2NjM4NDA0MDkuMjQ4ODk3NiwgMTg0NTAsIDEuMTU3MDAxODUyOTg5MTk2OF0sIFsxNjYzODQwNDA5Ljc3MjUyNTUsIDE4NDk1LCAxLjE1ODc3MzY2MDY1OTc5XSwgWzE2NjM4NDA0MDkuODY2Mzc5NSwgMTg1MDQsIDEuMTIzNTc5NzQwNTI0MjkyXSwgWzE2NjM4NDA0MDkuOTYxNDM3NSwgMTg1MTMsIDEuMTYxMjIyMTAwMjU3ODczNV0sIFsxNjYzODQwNDEwLjA1NjczOTMsIDE4NTIyLCAxLjEzMTkwMjY5NDcwMjE0ODRdLCBbMTY2Mzg0MDQxMS4yMjE5MDE3LCAxODYxMiwgMS4xMjc0MzEzOTI2Njk2Nzc3XSwgWzE2NjM4NDA0MTEuMzMwOTUyLCAxODYyMSwgMS4xMjgxMDQ0NDgzMTg0ODE0XSwgWzE2NjM4NDA0MTEuNTExNTkxLCAxODYzOSwgMS4xNTAzNDIyMjYwMjg0NDI0XSwgWzE2NjM4NDA0MTEuODgzOTMzLCAxODY3NSwgMS4xNTMzOTc0NDA5MTAzMzk0XSwgWzE2NjM4NDA0MTIuNDc3Njc3MywgMTg3MjAsIDEuMTQwMzIwMDYyNjM3MzI5XSwgWzE2NjM4NDA0MTIuOTk5MzA3LCAxODc2NSwgMS4xMzMxNjg0NTg5Mzg1OTg2XSwgWzE2NjM4NDA0MTMuMjM5NzI1LCAxODc4MywgMS4xNzY1NTAzODgzMzYxODE2XSwgWzE2NjM4NDA0MTMuMzYyMjI5OCwgMTg3OTIsIDEuMjA2NTczOTYzMTY1MjgzMl0sIFsxNjYzODQwNDEzLjYzMTgyMzgsIDE4ODEwLCAxLjIwMDk0NTQ5NjU1OTE0M10sIFsxNjYzODQwNDEzLjc2OTg0OSwgMTg4MTksIDEuMzUyMjc5NjYzMDg1OTM3NV0sIFsxNjYzODQwNDEzLjg4MTk4OCwgMTg4MjgsIDEuMjA4OTI2Nzk2OTEzMTQ3XSwgWzE2NjM4NDA0MTQuMjg5NTA3NCwgMTg4NjQsIDEuMTI0NzkzNzY3OTI5MDc3MV0sIFsxNjYzODQwNDE0LjQ4NzQwOTQsIDE4ODgyLCAxLjE1NjU4NDM4MjA1NzE5XSwgWzE2NjM4NDA0MTQuNjA1MjcyLCAxODg5MSwgMS4xNDcwMTMzMDY2MTc3MzY4XSwgWzE2NjM4NDA0MTQuNzkzMjAwNywgMTg5MDksIDEuMTkyMTM1NTcyNDMzNDcxN10sIFsxNjYzODQwNDE1LjA4ODM5MTUsIDE4OTM2LCAxLjE1ODQ4MjkwOTIwMjU3NTddLCBbMTY2Mzg0MDQxNS4xOTI2MjE1LCAxODk0NSwgMS4xMzQ2MDUwNTAwODY5NzVdLCBbMTY2Mzg0MDQxNS4yODk4MjcsIDE4OTU0LCAxLjExODQ0ODczNDI4MzQ0NzNdLCBbMTY2Mzg0MDQxNS42NTg0MzI3LCAxODk5MCwgMS4xNDU0ODYxMTY0MDkzMDE4XSwgWzE2NjM4NDA0MTUuNzg1NzI1LCAxODk5OSwgMS4xMjU4NzA0NjYyMzIyOTk4XSwgWzE2NjM4NDA0MTYuMjQ4MTg1MiwgMTkwMzUsIDEuMTc1MTAzNjY0Mzk4MTkzNF0sIFsxNjYzODQwNDE2LjM1MTQzNSwgMTkwNDQsIDEuMTE5NzU0OTEwNDY5MDU1Ml0sIFsxNjYzODQwNDE2Ljg3NDI1NTQsIDE5MDgwLCAxLjExMjUwMzc2NzAxMzU0OThdLCBbMTY2Mzg0MDQxNi45OTUyNjEyLCAxOTA4OSwgMS4xMjMyMzEyOTE3NzA5MzVdLCBbMTY2Mzg0MDQxNy4yMzY4NzUzLCAxOTEwNywgMS4xNzI3MzQ4NTY2MDU1Mjk4XSwgWzE2NjM4NDA0MTcuMzU2MjQxNywgMTkxMTYsIDEuMTMwOTc1MjQ2NDI5NDQzNF0sIFsxNjYzODQwNDE3LjQ1OTA0MDksIDE5MTI1LCAxLjExNjY2NDE3MTIxODg3Ml0sIFsxNjYzODQwNDE3LjgzNTIxMTUsIDE5MTUyLCAxLjEzNTMwODYyMzMxMzkwMzhdLCBbMTY2Mzg0MDQxOC41ODUwOTgsIDE5MjE1LCAxLjE2NDYxOTY4NDIxOTM2MDRdLCBbMTY2Mzg0MDQxOC42ODE2MTc1LCAxOTIyNCwgMS4xNDM5OTI1NDMyMjA1Ml0sIFsxNjYzODQwNDE4LjgyNzQxMzMsIDE5MjMzLCAxLjE2MjgzNTU5Nzk5MTk0MzRdLCBbMTY2Mzg0MDQxOS4xNDY5Mzg2LCAxOTI2MCwgMS4xNDYxNjIxNTIyOTAzNDQyXSwgWzE2NjM4NDA0MTkuNTM0OTQ1LCAxOTI5NiwgMS4xNDU1OTU0MzEzMjc4MTk4XSwgWzE2NjM4NDA0MjAuNDU4NDg1NiwgMTkzNTAsIDEuMTgwOTE0NTIxMjE3MzQ2Ml0sIFsxNjYzODQwNDIwLjU4MDMwNjUsIDE5MzU5LCAxLjEyMTEzMzQ0NjY5MzQyMDRdLCBbMTY2Mzg0MDQyMS4wMDQ5MTg4LCAxOTM5NSwgMS4xMTE0NzE0MTQ1NjYwNF0sIFsxNjYzODQwNDIxLjEwMjEwMDgsIDE5NDA0LCAxLjEwODQxMjM4NDk4Njg3NzRdLCBbMTY2Mzg0MDQyMS41OTY2MzM3LCAxOTQ0MCwgMS4xNzAzOTIzOTQwNjU4NTddLCBbMTY2Mzg0MDQyMS42ODY5OTI2LCAxOTQ0OSwgMS4xNDEyODE5NjIzOTQ3MTQ0XSwgWzE2NjM4NDA0MjEuNzk5OTMxLCAxOTQ1OCwgMS4xNTQzNDMyNDc0MTM2MzUzXSwgWzE2NjM4NDA0MjEuOTA5ODIyNywgMTk0NjcsIDEuMTU0MjMyNTAxOTgzNjQyNl0sIFsxNjYzODQwNDIyLjczOTUyOTEsIDE5NTMwLCAxLjEyNjYxNDQ1MTQwODM4NjJdLCBbMTY2Mzg0MDQyMy4yNDU5NTI4LCAxOTU2NiwgMS4yMjE5MTQ3NjgyMTg5OTQxXSwgWzE2NjM4NDA0MjMuNDg1NzYzOCwgMTk1ODQsIDEuMTMxOTMwMjMyMDQ4MDM0N10sIFsxNjYzODQwNDIzLjYwNjcyNjYsIDE5NTkzLCAxLjEwOTEzNTM4OTMyODAwM10sIFsxNjYzODQwNDI0LjMxNTU2OCwgMTk2NTYsIDEuMTM2MTA5OTQ4MTU4MjY0Ml0sIFsxNjYzODQwNDI0LjUwODE1MzQsIDE5Njc0LCAxLjIxMDIyMjEyNTA1MzQwNThdLCBbMTY2Mzg0MDQyNC42ODY0NjEyLCAxOTY5MiwgMS4xNDkxMTQxMzE5Mjc0OTAyXSwgWzE2NjM4NDA0MjQuOTE0NTkxMywgMTk3MTAsIDEuMTc5MTM0OTY0OTQyOTMyMV0sIFsxNjYzODQwNDI1LjQ5NjY0NSwgMTk3NTUsIDEuMTM4OTg2NTg3NTI0NDE0XSwgWzE2NjM4NDA0MjYuMDc5NzQxNywgMTk4MDAsIDEuMTQ2ODA3Nzg5ODAyNTUxM10sIFsxNjYzODQwNDI2LjMyNTcwOSwgMTk4MTgsIDEuMTIzNTE1NjA1OTI2NTEzN10sIFsxNjYzODQwNDI2LjQ0MjIzMzMsIDE5ODI3LCAxLjE0NjIzOTg3Njc0NzEzMTNdLCBbMTY2Mzg0MDQyNi41NTY0MDgyLCAxOTgzNiwgMS4xMTE3ODQxMDA1MzI1MzE3XSwgWzE2NjM4NDA0MjYuODk3NDc3MSwgMTk4NjMsIDEuMTYyMDkzNzU4NTgzMDY4OF0sIFsxNjYzODQwNDI3LjI0MjU2MTMsIDE5ODkwLCAxLjE4MDA5MDA2OTc3MDgxM10sIFsxNjYzODQwNDI3LjQzODg0MiwgMTk5MDgsIDEuMjEzNDEzMDAwMTA2ODExNV0sIFsxNjYzODQwNDI3LjUzMzAxOTUsIDE5OTE3LCAxLjE2MjA4NjEyOTE4ODUzNzZdLCBbMTY2Mzg0MDQyNy43MzEyMjcsIDE5OTM1LCAxLjE1ODc4MTI5MDA1NDMyMTNdLCBbMTY2Mzg0MDQyNy44Mjk0NzAyLCAxOTk0NCwgMS4xMDc2MDE0MDQxOTAwNjM1XSwgWzE2NjM4NDA0MjguNTE0ODgyLCAxOTk5OCwgMS4xNTU4MDYzMDMwMjQyOTJdLCBbMTY2Mzg0MDQyOC45ODIxNjYzLCAyMDAzNCwgMS4xMjEwMDczMjMyNjUwNzU3XSwgWzE2NjM4NDA0MjkuMTYwNzUxOCwgMjAwNTIsIDEuMTY3MDAxMjQ3NDA2MDA1OV0sIFsxNjYzODQwNDMwLjQyNTAxMzgsIDIwMTMzLCAxLjEyMDAwMzkzODY3NDkyNjhdLCBbMTY2Mzg0MDQzMC43MDY3MDEzLCAyMDE2MCwgMS4xMTMxMzY3NjgzNDEwNjQ1XSwgWzE2NjM4NDA0MzEuMDYxNDgyMiwgMjAxODcsIDEuMTU0MzQwNjI0ODA5MjY1MV0sIFsxNjYzODQwNDMxLjMyNTgxMjgsIDIwMjA1LCAxLjE3MDA2ODk3OTI2MzMwNTddLCBbMTY2Mzg0MDQzMi40MjMyMTYsIDIwMjk1LCAxLjEzMDk2MjYxMDI0NDc1MV0sIFsxNjYzODQwNDMyLjgwMzMyNiwgMjAzMjIsIDEuMTA3NTE0MDIzNzgwODIyOF0sIFsxNjYzODQwNDMyLjkyMjIwNzYsIDIwMzMxLCAxLjE0NDM1MzM4OTczOTk5MDJdLCBbMTY2Mzg0MDQzMy42NTEzMDIsIDIwMzg1LCAxLjEzNDQ4MjAyNjEwMDE1ODddLCBbMTY2Mzg0MDQzMy45MzA5NjM1LCAyMDQxMiwgMS4xNDg1NDMyMzg2Mzk4MzE1XSwgWzE2NjM4NDA0MzQuODc5NDE0NiwgMjA0OTMsIDEuMTMzODAwNTA2NTkxNzk2OV0sIFsxNjYzODQwNDM1LjMwODAyODcsIDIwNTI5LCAxLjExOTE5OTUxNDM4OTAzOF0sIFsxNjYzODQwNDM1LjQzNTk4OCwgMjA1MzgsIDEuMTA1NTg1ODEzNTIyMzM4OV0sIFsxNjYzODQwNDM1Ljg1Njg5MDIsIDIwNTc0LCAxLjIwMjE4NDQzODcwNTQ0NDNdLCBbMTY2Mzg0MDQzNi40MzkzNjk0LCAyMDYyOCwgMS4yODYyMTYzNzgyMTE5NzVdLCBbMTY2Mzg0MDQzNi41MzM1MzgzLCAyMDYzNywgMS4xNzg5OTgxMTI2Nzg1Mjc4XSwgWzE2NjM4NDA0MzYuNjQ4ODI3LCAyMDY0NiwgMS4xODczMzc1MTc3MzgzNDIzXSwgWzE2NjM4NDA0MzcuMzI4ODY1MywgMjA3MDksIDEuMTI1MTIzNzM5MjQyNTUzN10sIFsxNjYzODQwNDM3LjkxNzQ3MjgsIDIwNzU0LCAxLjEwMDA5NjM0NDk0NzgxNV0sIFsxNjYzODQwNDM4LjA1ODAyMzUsIDIwNzYzLCAxLjEyNjA0MTg4OTE5MDY3MzhdLCBbMTY2Mzg0MDQzOC4xOTczODQ0LCAyMDc3MiwgMS4xMzk1NDI2OTg4NjAxNjg1XSwgWzE2NjM4NDA0MzguNDI3NjU4OCwgMjA3OTAsIDEuMTMwNjA2ODg5NzI0NzMxNF0sIFsxNjYzODQwNDM4LjY1NzQ0MiwgMjA4MDgsIDEuMjYxODc0NDM3MzMyMTUzM10sIFsxNjYzODQwNDM5LjA4NTc1MzcsIDIwODQ0LCAxLjEyMTgwODUyODkwMDE0NjVdLCBbMTY2Mzg0MDQzOS4xODE5OTAxLCAyMDg1MywgMS4xMzAwNjY3NTI0MzM3NzY5XSwgWzE2NjM4NDA0MzkuNDYyMDM4NSwgMjA4ODAsIDEuMTI1MDcyNDc5MjQ4MDQ2OV0sIFsxNjYzODQwNDQwLjEzMjI2ODQsIDIwOTI1LCAxLjEzOTg2MTM0NTI5MTEzNzddLCBbMTY2Mzg0MDQ0MC42OTk1NDIzLCAyMDk3OSwgMS4xNTU0MDc2NjcxNjAwMzQyXSwgWzE2NjM4NDA0NDAuOTI0ODM3LCAyMDk5NywgMS4xODM0NjIzODEzNjI5MTVdLCBbMTY2Mzg0MDQ0MS4yNDIzNjQsIDIxMDI0LCAxLjE0NjY3Njg5ODAwMjYyNDVdLCBbMTY2Mzg0MDQ0MS43NTY5NjMzLCAyMTA2OSwgMS4xNjY2MzU3NTE3MjQyNDMyXSwgWzE2NjM4NDA0NDEuOTM4NzA0LCAyMTA4NywgMS4xNDY1Mjg0ODI0MzcxMzM4XSwgWzE2NjM4NDA0NDIuMDU0MTEwNSwgMjEwOTYsIDEuMTI3OTk3Mzk4Mzc2NDY0OF0sIFsxNjYzODQwNDQyLjE0MzYyMSwgMjExMDUsIDEuMTI3NDgyODkxMDgyNzYzN10sIFsxNjYzODQwNDQyLjMzMDQ3ODcsIDIxMTIzLCAxLjE1MTA4NjMzMDQxMzgxODRdLCBbMTY2Mzg0MDQ0Mi40MjA5NzMzLCAyMTEzMiwgMS4xMDU5NzQxOTczODc2OTUzXSwgWzE2NjM4NDA0NDIuNTA5MzE0OCwgMjExNDEsIDEuMTMyMDAwNjg0NzM4MTU5Ml0sIFsxNjYzODQwNDQyLjc5NTI4NDcsIDIxMTY4LCAxLjE0OTE0MTY2OTI3MzM3NjVdLCBbMTY2Mzg0MDQ0Mi45MDU2MDQ0LCAyMTE3NywgMS4xMDY0Njk4Njk2MTM2NDc1XSwgWzE2NjM4NDA0NDMuMDE5MDcyMywgMjExODYsIDEuMDk1MDY3NjIwMjc3NDA0OF0sIFsxNjYzODQwNDQzLjU3NzQyNjIsIDIxMjIyLCAxLjE1OTY5ODEyODcwMDI1NjNdLCBbMTY2Mzg0MDQ0My43OTM3OTgsIDIxMjQwLCAxLjE1MjIxMjk3NzQwOTM2MjhdLCBbMTY2Mzg0MDQ0NC4xNDQxMzU3LCAyMTI2NywgMS4xMjE3MTEyNTQxMTk4NzNdLCBbMTY2Mzg0MDQ0NC41MDYxNzEsIDIxMjk0LCAxLjE2NTI1MTAxNjYxNjgyMTNdLCBbMTY2Mzg0MDQ0NC44NzY4ODcsIDIxMzIxLCAxLjE3NjA4MjQ5MTg3NDY5NDhdLCBbMTY2Mzg0MDQ0NS4yNDAwNywgMjEzNDgsIDEuMTE3MTM0MjEzNDQ3NTcwOF0sIFsxNjYzODQwNDQ1LjQ1ODY3NSwgMjEzNjYsIDEuMTIzMzMzMDk2NTA0MjExNF0sIFsxNjYzODQwNDQ2LjExMDU3MTksIDIxNDExLCAxLjE4OTM3NTk5NjU4OTY2MDZdLCBbMTY2Mzg0MDQ0Ni43ODg1MjU4LCAyMTQ2NSwgMS4xMzM0NjgwMzE4ODMyMzk3XSwgWzE2NjM4NDA0NDcuNDE4MDE0LCAyMTUxMCwgMS4xMzk1OTgxMzExNzk4MDk2XSwgWzE2NjM4NDA0NDcuNjc0MDg4NywgMjE1MjgsIDEuMTI4OTkxODQyMjY5ODk3NV0sIFsxNjYzODQwNDQ3LjkxMDIxMDYsIDIxNTQ2LCAxLjA5OTM4OTA3NjIzMjkxMDJdLCBbMTY2Mzg0MDQ0OC4wMzMzMzgzLCAyMTU1NSwgMS4xMTU2NjczNDMxMzk2NDg0XSwgWzE2NjM4NDA0NDguMTQ3NTI4MiwgMjE1NjQsIDEuMTEzNTk0MjkzNTk0MzYwNF0sIFsxNjYzODQwNDQ4LjI1MTc1NzEsIDIxNTczLCAxLjEyOTM3OTg2ODUwNzM4NTNdLCBbMTY2Mzg0MDQ0OC4zODIyMzI0LCAyMTU4MiwgMS4xNTMwNDYzNjk1NTI2MTIzXSwgWzE2NjM4NDA0NDguNTI1MDIyMywgMjE1OTEsIDEuMTMwMzk2NDg1MzI4Njc0M10sIFsxNjYzODQwNDQ5Ljk0NjY0NjIsIDIxNjgxLCAxLjIxMjY1ODQwNTMwMzk1NV0sIFsxNjYzODQwNDUwLjQwNTI1NzUsIDIxNzE3LCAxLjEyMTQyMTkzMzE3NDEzMzNdLCBbMTY2Mzg0MDQ1MC43OTkyOTYxLCAyMTc0NCwgMS4xMDcwMDA0NzAxNjE0MzhdLCBbMTY2Mzg0MDQ1MS4yODkwNzU2LCAyMTc4MCwgMS4xNTg1MDAxOTQ1NDk1NjA1XSwgWzE2NjM4NDA0NTIuMjMyMzM5MSwgMjE4NjEsIDEuMTQzNDQxNjc3MDkzNTA1OV0sIFsxNjYzODQwNDUyLjUxNzM1NzgsIDIxODg4LCAxLjEyNTExMzg0NDg3MTUyMV0sIFsxNjYzODQwNDUyLjk4NTU5MywgMjE5MjQsIDEuMTQ5MTMzOTIwNjY5NTU1N10sIFsxNjYzODQwNDUzLjEwMTU0NTYsIDIxOTMzLCAxLjE2Mzg3NTEwMjk5NjgyNjJdLCBbMTY2Mzg0MDQ1My4zNDUwMjA4LCAyMTk1MSwgMS4xNzcwNjY1NjQ1NTk5MzY1XSwgWzE2NjM4NDA0NTMuNDQzMjI0LCAyMTk2MCwgMS4xNTA4MDY2NjU0MjA1MzIyXSwgWzE2NjM4NDA0NTMuNjYyNzM3LCAyMTk3OCwgMS4xOTAyNDk4MDA2ODIwNjc5XSwgWzE2NjM4NDA0NTMuNzU3MDQ4MSwgMjE5ODcsIDEuMTU1MTU4NzU4MTYzNDUyMV0sIFsxNjYzODQwNDU0LjM5NzUxMTIsIDIyMDQxLCAxLjE1NzQyMDE1ODM4NjIzMDVdLCBbMTY2Mzg0MDQ1NS4xMDQ1ODc2LCAyMjA5NSwgMS4xMzY2MDk1NTQyOTA3NzE1XSwgWzE2NjM4NDA0NTUuNTU2MzY0MywgMjIxMzEsIDEuMTA5Mjk3Mzk0NzUyNTAyNF0sIFsxNjYzODQwNDU1Ljk5MDU1NjcsIDIyMTY3LCAxLjExMTA0Nzc0NDc1MDk3NjZdLCBbMTY2Mzg0MDQ1Ni4xNzYxOTYsIDIyMTg1LCAxLjEyNzA4NDczMjA1NTY2NF0sIFsxNjYzODQwNDU2LjI4NTkwOCwgMjIxOTQsIDEuMTE1MjA2OTU2ODYzNDAzM10sIFsxNjYzODQwNDU2LjUzMTI5MDUsIDIyMjEyLCAxLjEzODYwMTQyMjMwOTg3NTVdLCBbMTY2Mzg0MDQ1Ni43OTgzNzE2LCAyMjIzMCwgMS4xMTI0OTUxODM5NDQ3MDIxXSwgWzE2NjM4NDA0NTcuMjg5MjQ0NCwgMjIyNjYsIDEuMTQ1MjQyNTcxODMwNzQ5NV0sIFsxNjYzODQwNDU3LjUwNzQ4NzUsIDIyMjg0LCAxLjEwNjQ3MzMyNjY4MzA0NDRdLCBbMTY2Mzg0MDQ1Ny43MTcyNjY4LCAyMjMwMiwgMS4xMTg1Nzc0ODAzMTYxNjJdLCBbMTY2Mzg0MDQ1OC40Mzg0NzIzLCAyMjM2NSwgMS4xMTE2ODIwNTczODA2NzYzXSwgWzE2NjM4NDA0NTguNTMwMjA3MiwgMjIzNzQsIDEuMTAxNDk1NzQyNzk3ODUxNl0sIFsxNjYzODQwNDU4LjkzNzA3OTcsIDIyNDEwLCAxLjE4MTI5NTk5MDk0MzkwODddLCBbMTY2Mzg0MDQ1OS42MTU0NzM3LCAyMjQ0NiwgMS4xMjU1OTUzMzExOTIwMTY2XSwgWzE2NjM4NDA0NTkuOTUxMzQ5NSwgMjI0NzMsIDEuMTYyNzYyMDQ1ODYwMjkwNV0sIFsxNjYzODQwNDYwLjI2MTA4ODQsIDIyNDkxLCAxLjE0MzkzNjM5NTY0NTE0MTZdLCBbMTY2Mzg0MDQ2MC4zNzQ5OTg2LCAyMjUwMCwgMS4xMTkwODU1NTAzMDgyMjc1XSwgWzE2NjM4NDA0NjAuNDg2ODQ0LCAyMjUwOSwgMS4xNjQ3MzQzNjM1NTU5MDgyXSwgWzE2NjM4NDA0NjAuNjE5OTUyNCwgMjI1MTgsIDEuMTcwNDU1NDU1NzgwMDI5M10sIFsxNjYzODQwNDYwLjgyMDU0OTcsIDIyNTM2LCAxLjE0MjE1NTA1MTIzMTM4NDNdLCBbMTY2Mzg0MDQ2MS4wMjk2NjcxLCAyMjU1NCwgMS4xODUwNDczODgwNzY3ODIyXSwgWzE2NjM4NDA0NjEuMTU2OTk2LCAyMjU2MywgMS4xNTA1MzE1MzAzODAyNDldLCBbMTY2Mzg0MDQ2MS40MzAyNTYsIDIyNTgxLCAxLjEwNjAxMjIyNTE1MTA2Ml0sIFsxNjYzODQwNDYxLjY1MzUwMTMsIDIyNTk5LCAxLjE0NDI1NDgwMzY1NzUzMTddLCBbMTY2Mzg0MDQ2MS45OTk5MzA0LCAyMjYyNiwgMS4xMDQ5NjA3OTkyMTcyMjQxXSwgWzE2NjM4NDA0NjIuMjI4MTUxMywgMjI2NDQsIDEuMjQ5MTIwODMxNDg5NTYzXSwgWzE2NjM4NDA0NjIuNDQ5Njg3LCAyMjY2MiwgMS4xNTk5NTM4MzI2MjYzNDI4XSwgWzE2NjM4NDA0NjIuNTU1NDg2MiwgMjI2NzEsIDEuMTIxNzM1NDUzNjA1NjUxOV0sIFsxNjYzODQwNDYyLjY2NzQ4NSwgMjI2ODAsIDEuMTc4NjkxMDI5NTQ4NjQ1XSwgWzE2NjM4NDA0NjIuODkwMjk4MSwgMjI2OTgsIDEuMTY2NjI4NTk5MTY2ODcwMV0sIFsxNjYzODQwNDYzLjEzNzg4MDYsIDIyNzE2LCAxLjEyNzg3Mzc3ODM0MzIwMDddLCBbMTY2Mzg0MDQ2My42MTA4ODg1LCAyMjc2MSwgMS4xMTQ5NzAzMjY0MjM2NDVdLCBbMTY2Mzg0MDQ2My43OTM1ODk2LCAyMjc3OSwgMS4xMjQ5MzYzNDIyMzkzNzk5XSwgWzE2NjM4NDA0NjMuODgzMDkyNCwgMjI3ODgsIDEuMTMyMDA5MDI5Mzg4NDI3N10sIFsxNjYzODQwNDY0LjA4NjgxMiwgMjI4MDYsIDEuMTE5NjQxNzgwODUzMjcxNV0sIFsxNjYzODQwNDY0LjU0ODgyNjUsIDIyODUxLCAxLjIwNDYxMTY1OTA0OTk4NzhdLCBbMTY2Mzg0MDQ2NC43MjgyOTI1LCAyMjg2OSwgMS4xNTQyMTY4ODU1NjY3MTE0XSwgWzE2NjM4NDA0NjQuOTA4ODY0NSwgMjI4ODcsIDEuMTU4MDk3NzQzOTg4MDM3XSwgWzE2NjM4NDA0NjUuMDA3OTM1NSwgMjI4OTYsIDEuMTgyMTMzNzkzODMwODcxNl0sIFsxNjYzODQwNDY1LjMwNTU4MjMsIDIyOTIzLCAxLjEyMjY1NDMxODgwOTUwOTNdLCBbMTY2Mzg0MDQ2Ni4zODM5ODcyLCAyMjk5NSwgMS4xNTI2OTY2MDk0OTcwNzAzXSwgWzE2NjM4NDA0NjYuNDkxMTc4LCAyMzAwNCwgMS4xMjY5MDczNDg2MzI4MTI1XSwgWzE2NjM4NDA0NjcuMDM2NTk2LCAyMzA0OSwgMS4xMDE3MTc3MTA0OTQ5OTUxXSwgWzE2NjM4NDA0NjcuNTkxNDcxNCwgMjMwOTQsIDEuMTAyOTY0MTYyODI2NTM4XSwgWzE2NjM4NDA0NjcuNzE2OTYwMiwgMjMxMDMsIDEuMTI0MTY4MTU3NTc3NTE0Nl0sIFsxNjYzODQwNDY3Ljk2NTA2NjQsIDIzMTIxLCAxLjEyODk0MjAxMjc4Njg2NTJdLCBbMTY2Mzg0MDQ2OC4zMTQ4NzA2LCAyMzE0OCwgMS4xMTYxMDM0MTA3MjA4MjUyXSwgWzE2NjM4NDA0NjguNTQwMTA1LCAyMzE2NiwgMS4xMTc0NDU5NDU3Mzk3NDZdLCBbMTY2Mzg0MDQ2OC43NzE0NzI3LCAyMzE4NCwgMS4xMDc5MTE4MjUxODAwNTM3XSwgWzE2NjM4NDA0NjkuMDAxOTA0LCAyMzIwMiwgMS4xMTMxMzQwMjY1Mjc0MDQ4XSwgWzE2NjM4NDA0NjkuMTI4MzgyLCAyMzIxMSwgMS4xMjM4NTI4NDkwMDY2NTI4XSwgWzE2NjM4NDA0NjkuOTQ1OTYwOCwgMjMyNTYsIDEuMTc0Mzk3NTg3Nzc2MTg0XSwgWzE2NjM4NDA0NzAuMDY4Mjk3LCAyMzI2NSwgMS4yNjAwNjAxOTExNTQ0OF0sIFsxNjYzODQwNDcwLjIwNjQ4ODgsIDIzMjc0LCAxLjI2Nzg3NTkwOTgwNTI5NzldLCBbMTY2Mzg0MDQ3MC41OTQyNTI4LCAyMzMwMSwgMS4xNzU4MTM3OTQxMzYwNDc0XSwgWzE2NjM4NDA0NzAuNzA5MjA1MiwgMjMzMTAsIDEuMTE2ODEwNjc5NDM1NzNdLCBbMTY2Mzg0MDQ3MS4wMTYwOTA0LCAyMzMzNywgMS4xMTYxMTQyNTg3NjYxNzQzXSwgWzE2NjM4NDA0NzEuNjU5ODI1OCwgMjMzOTEsIDEuMTE0ODQyMjk1NjQ2NjY3NV0sIFsxNjYzODQwNDcxLjc1NzI1OTQsIDIzNDAwLCAxLjEwMzAyNTU1NTYxMDY1NjddLCBbMTY2Mzg0MDQ3Mi4wMDQ0ODgsIDIzNDE4LCAxLjEwNDQ5ODAyODc1NTE4OF0sIFsxNjYzODQwNDcyLjIwNTA1MSwgMjM0MzYsIDEuMTM0MTAzNTM2NjA1ODM1XSwgWzE2NjM4NDA0NzIuMzk3NzcxNiwgMjM0NTQsIDEuMjEzNTkwMzgzNTI5NjYzXSwgWzE2NjM4NDA0NzIuNTIxNzYwMiwgMjM0NjMsIDEuMTc1MTcyMzI4OTQ4OTc0Nl0sIFsxNjYzODQwNDczLjY1MjUzODgsIDIzNTYyLCAxLjIwNTgzNDE1MDMxNDMzMV0sIFsxNjYzODQwNDczLjc0OTE1MjQsIDIzNTcxLCAxLjE0MjQ1MDgwOTQ3ODc1OThdLCBbMTY2Mzg0MDQ3My44NDAwMjQyLCAyMzU4MCwgMS4xMjczNjE0MTY4MTY3MTE0XSwgWzE2NjM4NDA0NzQuMTU4OTMyNCwgMjM2MDcsIDEuMTUyMDc1ODg2NzI2Mzc5NF0sIFsxNjYzODQwNDc0LjY3NjQ2NSwgMjM2NTIsIDEuMTY3MTAwNDI5NTM0OTEyXSwgWzE2NjM4NDA0NzQuNzc4ODQ0OCwgMjM2NjEsIDEuMTA5NDAwMDMzOTUwODA1N10sIFsxNjYzODQwNDc1LjE4NTIxMTIsIDIzNjk3LCAxLjE4MTkzNDk1MjczNTkwMDldXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_10-14-52_17ae77f8abe2&tag=Loss%2Ftrain":{"data":"W1sxNjYzODQxNjkyLjYxOTMxMDEsIDksIDEwNC4yMjE1NjUyNDY1ODIwM10sIFsxNjYzODQxNjkyLjk4MTMxOCwgMzYsIDM1LjEyOTE4MDkwODIwMzEyNV0sIFsxNjYzODQxNjkzLjA5ODMwODMsIDQ1LCAzMC44MzY1MjY4NzA3Mjc1NF0sIFsxNjYzODQxNjkzLjgyMDgxODcsIDk5LCAxMy4yNzcxMjA1OTAyMDk5NjFdLCBbMTY2Mzg0MTY5My45MjgyNzM3LCAxMDgsIDEwLjQ3MDA4NTE0NDA0Mjk2OV0sIFsxNjYzODQxNjk0LjI4Njk4NzUsIDEzNSwgNi40NjQwMDgzMzEyOTg4MjhdLCBbMTY2Mzg0MTY5NC40MDcwMzQ0LCAxNDQsIDYuMjEzMDMxNzY4Nzk4ODI4XSwgWzE2NjM4NDE2OTQuNzQ3ODg1NSwgMTcxLCA2LjA0ODQ5NTI5MjY2MzU3NF0sIFsxNjYzODQxNjk0Ljg2NDE3MTMsIDE4MCwgNS44OTkzMDA1NzUyNTYzNDhdLCBbMTY2Mzg0MTY5NC45NzMyMjAzLCAxODksIDUuOTg1NDQ1NDk5NDIwMTY2XSwgWzE2NjM4NDE2OTUuMjExMDc3NywgMjA3LCA1Ljc3NDc0NjQxNzk5OTI2OF0sIFsxNjYzODQxNjk1LjMxNTY0MjYsIDIxNiwgNS42OTAzMDQyNzkzMjczOTNdLCBbMTY2Mzg0MTY5NS42MjE5MjU4LCAyNDMsIDUuNTk0MDg0NzM5Njg1MDU5XSwgWzE2NjM4NDE2OTUuNzE5MzQ3LCAyNTIsIDUuNjA1MTc4MzU2MTcwNjU0XSwgWzE2NjM4NDE2OTYuNDMzNTczLCAzMDYsIDUuMzMzNTQ2MTYxNjUxNjExXSwgWzE2NjM4NDE2OTYuOTc0MDY3LCAzMzMsIDUuMDU2MzI5NzI3MTcyODUyXSwgWzE2NjM4NDE2OTcuMTAyODYyNiwgMzQyLCA1LjA0Njk0NTU3MTg5OTQxNF0sIFsxNjYzODQxNjk3LjI0MDM1NDMsIDM1MSwgNS4wNjMyNzE5OTkzNTkxMzFdLCBbMTY2Mzg0MTY5Ny4zNjE1MTk4LCAzNjAsIDQuOTg4MDUxNDE0NDg5NzQ2XSwgWzE2NjM4NDE2OTcuNDgwNDg4NSwgMzY5LCA0LjkzODcyNzg1NTY4MjM3M10sIFsxNjYzODQxNjk4LjM5NjU2MTYsIDQzMiwgNC42MjY5MDIxMDM0MjQwNzJdLCBbMTY2Mzg0MTY5OC41MzUxNjMsIDQ0MSwgNC42MTUxOTMzNjcwMDQzOTQ1XSwgWzE2NjM4NDE2OTguNjcxOTM1MywgNDUwLCA0LjY2ODgzMTgyNTI1NjM0OF0sIFsxNjYzODQxNjk4LjkxNzAwMzIsIDQ2OCwgNC41MjE3NzUyNDU2NjY1MDRdLCBbMTY2Mzg0MTY5OS4wNTcyNjI0LCA0NzcsIDQuNjA3NTc0NDYyODkwNjI1XSwgWzE2NjM4NDE2OTkuMjk5MjMwNiwgNDk1LCA0LjQyNzk5NDI1MTI1MTIyMV0sIFsxNjYzODQxNjk5LjY1NDI0NTksIDUyMiwgNC40NjgyNTc0MjcyMTU1NzZdLCBbMTY2Mzg0MTY5OS45ODkxNTgsIDU0OSwgNC4yNzgyNTIxMjQ3ODYzNzddLCBbMTY2Mzg0MTcwMC4xMDEwNTc1LCA1NTgsIDQuMzEwOTIyMTQ1ODQzNTA2XSwgWzE2NjM4NDE3MDAuMjM0NDEzOSwgNTY3LCA0LjIzMjc3NTIxMTMzNDIyODVdLCBbMTY2Mzg0MTcwMC4zNTE1OTYsIDU3NiwgNC4wODIzMDU0MzEzNjU5NjddLCBbMTY2Mzg0MTcwMC41ODU1NzM0LCA1OTQsIDQuMDg3OTk0MDk4NjYzMzNdLCBbMTY2Mzg0MTcwMC43MTA4NTc2LCA2MDMsIDQuMDQwMTY1NDI0MzQ2OTI0XSwgWzE2NjM4NDE3MDAuODQyMjMxMywgNjEyLCA0LjAxNjQ2MjMyNjA0OTgwNV0sIFsxNjYzODQxNzAwLjk0OTAxMSwgNjIxLCAzLjk3Mjc2Njg3NjIyMDcwM10sIFsxNjYzODQxNzAxLjE4NjgwMzgsIDYzOSwgMy45MjQ0MjUxMjUxMjIwNzAzXSwgWzE2NjM4NDE3MDEuMzEwNDMzLCA2NDgsIDMuODY4OTI3NzE3MjA4ODYyM10sIFsxNjYzODQxNzAxLjk2Mjk2NjcsIDcwMiwgMy43MTQwMzI4ODg0MTI0NzU2XSwgWzE2NjM4NDE3MDIuMTYyMTg5NSwgNzIwLCAzLjYwNTkwMzYyNTQ4ODI4MTJdLCBbMTY2Mzg0MTcwMi4yNTc1ODMsIDcyOSwgMy41OTc1Njg3NTAzODE0Njk3XSwgWzE2NjM4NDE3MDIuNDQ2MjI4NSwgNzQ3LCAzLjUxMzM3NzY2NjQ3MzM4ODddLCBbMTY2Mzg0MTcwMi44NTIxODQzLCA3NzQsIDMuNDczMjA2OTk2OTE3NzI0Nl0sIFsxNjYzODQxNzAzLjMwNTgxMzYsIDgxMCwgMy4zMzMzODA0NjA3MzkxMzU3XSwgWzE2NjM4NDE3MDMuNDIzNTUwNiwgODE5LCAzLjQxMzg0NjI1NDM0ODc1NV0sIFsxNjYzODQxNzAzLjk4MDkzNzIsIDg2NCwgMy4zMDgzMzE3Mjc5ODE1Njc0XSwgWzE2NjM4NDE3MDQuMzc5MDEsIDkwMCwgMy4xMTMzNzEzNzIyMjI5MDA0XSwgWzE2NjM4NDE3MDQuNDg5OTIyMywgOTA5LCAzLjA3MjI5MDE4MjExMzY0NzVdLCBbMTY2Mzg0MTcwNC43OTE2NDgxLCA5MzYsIDMuMDk0MDE5MTc0NTc1ODA1N10sIFsxNjYzODQxNzA1LjE0NTgzNDcsIDk2MywgMy4wMDg2MzA5OTA5ODIwNTU3XSwgWzE2NjM4NDE3MDUuMjkxNjUxMiwgOTcyLCAzLjAxNDQ1MDU1MDA3OTM0NTddLCBbMTY2Mzg0MTcwNS41NTkxNTg4LCA5OTAsIDIuOTQwODk4MTgwMDA3OTM0Nl0sIFsxNjYzODQxNzA2LjExOTU2NzYsIDEwMzUsIDIuNzY5NTgwODQxMDY0NDUzXSwgWzE2NjM4NDE3MDYuMzA5MDAwNywgMTA1MywgMi43MTc0Mzg2OTc4MTQ5NDE0XSwgWzE2NjM4NDE3MDYuODAzNDU1NiwgMTA5OCwgMi43NTQxNTc3ODE2MDA5NTJdLCBbMTY2Mzg0MTcwNy40NTQxNTIzLCAxMTM0LCAyLjU5NjQ5ODcyNzc5ODQ2Ml0sIFsxNjYzODQxNzA3LjYwNjk0MjQsIDExNDMsIDIuNjEwOTMyODI2OTk1ODQ5Nl0sIFsxNjYzODQxNzA3Ljg2MzU2MzMsIDExNjEsIDIuNTk1MTYxNjc2NDA2ODYwNF0sIFsxNjYzODQxNzA4LjEwNzA3NiwgMTE3OSwgMi40OTg5NTA3MTk4MzMzNzRdLCBbMTY2Mzg0MTcwOC4zMjE5MTE2LCAxMTg4LCAyLjUxODg1MDU2NDk1NjY2NV0sIFsxNjYzODQxNzA4LjQ0MzY5MTUsIDExOTcsIDIuNDkwOTk1NjQ1NTIzMDcxM10sIFsxNjYzODQxNzA4LjkyNDg5ODQsIDEyMzMsIDIuNDM1OTkzNjcxNDE3MjM2M10sIFsxNjYzODQxNzA5LjAyNjQ3NzgsIDEyNDIsIDIuNDY5MjM2MTM1NDgyNzg4XSwgWzE2NjM4NDE3MDkuNjU0MzY5NCwgMTI5NiwgMi4zNDM5MTQ5ODU2NTY3MzgzXSwgWzE2NjM4NDE3MDkuNzY0MzIwNCwgMTMwNSwgMi40MDE0NDQ5MTE5NTY3ODddLCBbMTY2Mzg0MTcwOS45NTQ1MTUyLCAxMzIzLCAyLjM2MzUyNTg2NzQ2MjE1OF0sIFsxNjYzODQxNzEwLjA1MTY5NzcsIDEzMzIsIDIuMjgxMTcwODQ1MDMxNzM4M10sIFsxNjYzODQxNzEwLjM0MDgyOSwgMTM1OSwgMi4yODA0NDUzMzcyOTU1MzIyXSwgWzE2NjM4NDE3MTEuMDIxOTYsIDE0MjIsIDIuMTk4NjU2MDgyMTUzMzIwM10sIFsxNjYzODQxNzExLjIwOTk0MDIsIDE0NDAsIDIuMjM2OTYxNjAzMTY0NjczXSwgWzE2NjM4NDE3MTEuMzA1MDQ5NCwgMTQ0OSwgMi4yMjk4MjQwNjYxNjIxMDk0XSwgWzE2NjM4NDE3MTEuNDkyNzY1LCAxNDY3LCAyLjIzNDc3NTA2NjM3NTczMjRdLCBbMTY2Mzg0MTcxMS42ODc0NDIsIDE0ODUsIDIuMjMzNTcyNDgzMDYyNzQ0XSwgWzE2NjM4NDE3MTIuMjgwOTA1NywgMTUzOSwgMi4xODM5NDQ5NDA1NjcwMTY2XSwgWzE2NjM4NDE3MTIuMzc2MDU2LCAxNTQ4LCAyLjIwMzE3NjAyMTU3NTkyNzddLCBbMTY2Mzg0MTcxMi40ODI4MjkzLCAxNTU3LCAyLjE1NTk3MjQ4MDc3MzkyNl0sIFsxNjYzODQxNzEyLjc5NDY4OTIsIDE1ODQsIDIuMTI1OTgxODA3NzA4NzQwMl0sIFsxNjYzODQxNzEyLjk0NjA3NTcsIDE1OTMsIDIuMTU4NDYzOTU0OTI1NTM3XSwgWzE2NjM4NDE3MTMuMDY1MTAxNiwgMTYwMiwgMi4xNTc1MTcxOTQ3NDc5MjVdLCBbMTY2Mzg0MTcxMy4xNzQ3NTgsIDE2MTEsIDIuMDk1NzQzNjU2MTU4NDQ3M10sIFsxNjYzODQxNzEzLjM2Mjc1OTQsIDE2MjksIDIuMTI3NDczODMxMTc2NzU4XSwgWzE2NjM4NDE3MTMuNDU3NjUxNiwgMTYzOCwgMi4xMzk1MzU2NjU1MTIwODVdLCBbMTY2Mzg0MTcxMy43NjQ1MzIzLCAxNjY1LCAyLjA5NjkyMzExMjg2OTI2MjddLCBbMTY2Mzg0MTcxMy44NjQ3NzMsIDE2NzQsIDIuMDY1MTU3NjUxOTAxMjQ1XSwgWzE2NjM4NDE3MTMuOTU2MDMyMywgMTY4MywgMi4wODgxODkzNjM0Nzk2MTQzXSwgWzE2NjM4NDE3MTQuMjQ3NjEzNCwgMTcxMCwgMi4xMDIzNjY5MjQyODU4ODg3XSwgWzE2NjM4NDE3MTQuMzUzMTE0LCAxNzE5LCAyLjA2MDc4ODg2OTg1Nzc4OF0sIFsxNjYzODQxNzE0LjQ1MDkyMTMsIDE3MjgsIDIuMDY2MTcwNjkyNDQzODQ3N10sIFsxNjYzODQxNzE0LjU0Mzc1NywgMTczNywgMi4wMTQ2NDY3Njg1Njk5NDYzXSwgWzE2NjM4NDE3MTQuOTU5NjQ3LCAxNzY0LCAyLjA2MjEwMjU1NjIyODYzNzddLCBbMTY2Mzg0MTcxNS4zMzk5NjY4LCAxODAwLCAxLjk5NzUxMDU1MjQwNjMxMV0sIFsxNjYzODQxNzE1LjQ0Mjg5NiwgMTgwOSwgMS45ODU0MjIxMzQzOTk0MTRdLCBbMTY2Mzg0MTcxNS42NzYyMjI2LCAxODI3LCAyLjAxMjgwMjM2MjQ0MjAxNjZdLCBbMTY2Mzg0MTcxNi4wMzY4NzM4LCAxODM2LCAxLjk5MDk5ODc0NDk2NDU5OTZdLCBbMTY2Mzg0MTcxNi4xNDM3OTU1LCAxODQ1LCAyLjAwNzc1MDUxMTE2OTQzMzZdLCBbMTY2Mzg0MTcxNi4yNDA0NDA0LCAxODU0LCAxLjk1MzA3NDMzNjA1MTk0MV0sIFsxNjYzODQxNzE2LjQzMDUzNTMsIDE4NzIsIDEuOTc2MjA4MjA5OTkxNDU1XSwgWzE2NjM4NDE3MTYuNjY4MDMwMywgMTg5MCwgMS45Njc2MjAyNTM1NjI5MjcyXSwgWzE2NjM4NDE3MTYuODcxMjQ3LCAxOTA4LCAxLjk1MDU0MjkyNjc4ODMzXSwgWzE2NjM4NDE3MTcuMDc0NDQyMSwgMTkyNiwgMS45Njg5Mzk2NjE5Nzk2NzUzXSwgWzE2NjM4NDE3MTcuMjc2OTg0MiwgMTk0NCwgMS45NzgzNTk1ODAwMzk5NzhdLCBbMTY2Mzg0MTcxNy4zNzQwMDM0LCAxOTUzLCAxLjk3NDkzNDgxNjM2MDQ3MzZdLCBbMTY2Mzg0MTcxNy41OTE0NDE2LCAxOTcxLCAxLjk3NjIzMTkzMjY0MDA3NTddLCBbMTY2Mzg0MTcxNy43Mjk0OTg0LCAxOTgwLCAyLjAzNTMyNzY3Mjk1ODM3NF0sIFsxNjYzODQxNzE3Ljg0NTM1NjUsIDE5ODksIDEuOTY0MjIwMTY2MjA2MzU5OV0sIFsxNjYzODQxNzE3Ljk2ODMwMiwgMTk5OCwgMS45Njk2OTQ0OTUyMDExMTA4XSwgWzE2NjM4NDE3MTguMTE3MTM1NSwgMjAwNywgMS45NzgzMjkxODE2NzExNDI2XSwgWzE2NjM4NDE3MTguMzUyMjA0MywgMjAyNSwgMS45ODEyNjUwNjgwNTQxOTkyXSwgWzE2NjM4NDE3MTguNDY1NDE1NSwgMjAzNCwgMi4wMzg3NTQ5NDAwMzI5NTldLCBbMTY2Mzg0MTcxOC45MDgyNTMsIDIwNzAsIDEuODk0OTY0MDk4OTMwMzU4OV0sIFsxNjYzODQxNzE5LjU4NzcyMSwgMjEyNCwgMS44OTIzMTI3NjUxMjE0Nl0sIFsxNjYzODQxNzE5LjgzNTI2NzgsIDIxNDIsIDEuOTE3NjI1Nzg0ODczOTYyNF0sIFsxNjYzODQxNzE5Ljk1NDE4ODMsIDIxNTEsIDEuOTMwODAyODIyMTEzMDM3XSwgWzE2NjM4NDE3MjAuMDc1MzkxNSwgMjE2MCwgMS44OTQxODQ0NzAxNzY2OTY4XSwgWzE2NjM4NDE3MjAuMzAyODQ2LCAyMTc4LCAxLjkxOTg1OTQwOTMzMjI3NTRdLCBbMTY2Mzg0MTcyMC40MTE0MzY2LCAyMTg3LCAxLjkzMDA1MTU2NTE3MDI4OF0sIFsxNjYzODQxNzIwLjYzMzAxMjMsIDIyMDUsIDEuODg4OTgzNDg4MDgyODg1N10sIFsxNjYzODQxNzIwLjczNTczMSwgMjIxNCwgMS44NjY0MTA2MTMwNTk5OTc2XSwgWzE2NjM4NDE3MjAuODI5Njk4OCwgMjIyMywgMS45MDY3Mzc0NDY3ODQ5NzMxXSwgWzE2NjM4NDE3MjAuOTI1NzUsIDIyMzIsIDEuOTM3NzIzMjc4OTk5MzI4Nl0sIFsxNjYzODQxNzIxLjQwMzI2ODgsIDIyNzcsIDEuOTQxNTM0OTk2MDMyNzE0OF0sIFsxNjYzODQxNzIxLjUwNDA3NjIsIDIyODYsIDEuOTU0MzA1MTcxOTY2NTUyN10sIFsxNjYzODQxNzIxLjU5NjI0MzksIDIyOTUsIDEuODY3NDI0NzI2NDg2MjA2XSwgWzE2NjM4NDE3MjEuODg3MTcyNywgMjMyMiwgMS44NTg1NTcyMjQyNzM2ODE2XSwgWzE2NjM4NDE3MjEuOTg2MTk2MywgMjMzMSwgMS44NzA0MTc1OTQ5MDk2NjhdLCBbMTY2Mzg0MTcyMi4wODA4MTA4LCAyMzQwLCAxLjg1OTA4MjIyMTk4NDg2MzNdLCBbMTY2Mzg0MTcyMi4xNzUyMjIsIDIzNDksIDEuODcyODY5NDkxNTc3MTQ4NF0sIFsxNjYzODQxNzIyLjM2NTk4MSwgMjM2NywgMS44NzAyMTM3NDcwMjQ1MzYxXSwgWzE2NjM4NDE3MjMuMTYzOTQyMywgMjQzOSwgMS44MzUwMzAxOTgwOTcyMjldLCBbMTY2Mzg0MTcyMy4yNjAyOTI4LCAyNDQ4LCAxLjg1NDYxMTM5Njc4OTU1MDhdLCBbMTY2Mzg0MTcyMy41NDY4OTYsIDI0NzUsIDEuODM3MjQ5NjM2NjUwMDg1NF0sIFsxNjYzODQxNzIzLjc0MjIyNDcsIDI0OTMsIDEuOTEzMzQxMTY0NTg4OTI4Ml0sIFsxNjYzODQxNzIzLjkyODY3MSwgMjUxMSwgMS44ODIzMTE4MjA5ODM4ODY3XSwgWzE2NjM4NDE3MjQuMTE3NjU1MywgMjUyOSwgMS44NDQ1Mzc5NzM0MDM5MzA3XSwgWzE2NjM4NDE3MjQuMzM1NDc1MiwgMjU0NywgMS44MzMwOTcyMTk0NjcxNjNdLCBbMTY2Mzg0MTcyNC40NDM5Njc2LCAyNTU2LCAxLjgyMjIxMTYyMzE5MTgzMzVdLCBbMTY2Mzg0MTcyNC44NzA2MDQsIDI1NzQsIDEuODA3MDEwNDEyMjE2MTg2NV0sIFsxNjYzODQxNzI1LjA2MDIzMjksIDI1OTIsIDEuNzgzNDU4NzA5NzE2Nzk2OV0sIFsxNjYzODQxNzI1LjE1Njk5NSwgMjYwMSwgMS44NTM5ODQxMTc1MDc5MzQ2XSwgWzE2NjM4NDE3MjUuMzU1NjI2OCwgMjYxOSwgMS43ODI4NjQyMTI5ODk4MDcxXSwgWzE2NjM4NDE3MjUuODUxODEzOCwgMjY2NCwgMS43ODY2MjQxOTMxOTE1MjgzXSwgWzE2NjM4NDE3MjUuOTQ0NTg0NiwgMjY3MywgMS44MDczNTMxMzg5MjM2NDVdLCBbMTY2Mzg0MTcyNi4wNDQ0MDUyLCAyNjgyLCAxLjg3NjgwMDg5NDczNzI0MzddLCBbMTY2Mzg0MTcyNi4xNDMzNTU2LCAyNjkxLCAxLjg2MjAwMzkyMjQ2MjQ2MzRdLCBbMTY2Mzg0MTcyNi45NTAwOCwgMjc2MywgMS44MjUwNjA2MDYwMDI4MDc2XSwgWzE2NjM4NDE3MjcuMTQ0NDY5LCAyNzgxLCAxLjc0NzQ4NTk5NTI5MjY2MzZdLCBbMTY2Mzg0MTcyNy4yMzg0NDgxLCAyNzkwLCAxLjczOTIyNzg5MDk2ODMyMjhdLCBbMTY2Mzg0MTcyNy41OTMwMDM3LCAyODE3LCAxLjc1ODU5MTg5MDMzNTA4M10sIFsxNjYzODQxNzI3Ljc0Nzk4OTQsIDI4MjYsIDEuNzU4OTM4NDMxNzM5ODA3MV0sIFsxNjYzODQxNzI4LjE4NjkwNCwgMjg1MywgMS43NTA5NDI4MjYyNzEwNTcxXSwgWzE2NjM4NDE3MjguNDc3MzQyNiwgMjg3MSwgMS43MTU3NDU5MjU5MDMzMjAzXSwgWzE2NjM4NDE3MjguNTgwNzM3NiwgMjg4MCwgMS43NzMzNjY0NTEyNjM0Mjc3XSwgWzE2NjM4NDE3MjguOTQyODAyNCwgMjkwNywgMS43MjYwMDczNDIzMzg1NjJdLCBbMTY2Mzg0MTcyOS4xNDYxODU5LCAyOTI1LCAxLjc1NjY5NzY1NDcyNDEyMV0sIFsxNjYzODQxNzI5LjYyMTI5MDcsIDI5NzAsIDEuNzM3MTIyMDU4ODY4NDA4Ml0sIFsxNjYzODQxNzI5LjczMjA1NzYsIDI5NzksIDEuNjk2MzAyNDEzOTQwNDI5N10sIFsxNjYzODQxNzI5LjgyNzIyOTMsIDI5ODgsIDEuNzA2MjY1NDQ5NTIzOTI1OF0sIFsxNjYzODQxNzI5LjkxODg2LCAyOTk3LCAxLjcxMjY0OTk0MTQ0NDM5N10sIFsxNjYzODQxNzMwLjQwNjMzMzIsIDMwNDIsIDEuNzI5NjY1NzU2MjI1NTg2XSwgWzE2NjM4NDE3MzAuNTA0ODcxLCAzMDUxLCAxLjc4MTMwNjAyODM2NjA4ODldLCBbMTY2Mzg0MTczMC43MjI4MDgsIDMwNjksIDEuNzAyNjA5NTM5MDMxOTgyNF0sIFsxNjYzODQxNzMxLjA0NzcyNCwgMzA5NiwgMS43MjE1ODYxMDgyMDc3MDI2XSwgWzE2NjM4NDE3MzEuMTU4OTA4MSwgMzEwNSwgMS43MDUzNjQyMjcyOTQ5MjE5XSwgWzE2NjM4NDE3MzEuMjcwNjk0MywgMzExNCwgMS42OTA2Njc1MTAwMzI2NTM4XSwgWzE2NjM4NDE3MzEuMzY1MTE3OCwgMzEyMywgMS43MDIxNDk3NDg4MDIxODVdLCBbMTY2Mzg0MTczMS42MjQxOTI3LCAzMTQxLCAxLjY2NjU5MzY3MDg0NTAzMTddLCBbMTY2Mzg0MTczMS44NjIzODIsIDMxNTksIDEuNzE5NTY0Nzk1NDk0MDc5Nl0sIFsxNjYzODQxNzMyLjA2MzAyMTcsIDMxNzcsIDEuNjg2ODY2NDAyNjI2MDM3Nl0sIFsxNjYzODQxNzMyLjE3MDU5MTgsIDMxODYsIDEuNjg1NDc3NjE0NDAyNzcxXSwgWzE2NjM4NDE3MzIuMjcxMTAzMSwgMzE5NSwgMS43MTYzNjYxNzE4MzY4NTNdLCBbMTY2Mzg0MTczMi45NTc5ODIsIDMyMzEsIDEuNzE5MzgwMjU5NTEzODU1XSwgWzE2NjM4NDE3MzMuMjI0Mjk1OSwgMzI0OSwgMS42ODQxNjU1OTY5NjE5NzVdLCBbMTY2Mzg0MTczMy40NTkyOTgsIDMyNjcsIDEuNzMwNzQ2NjI2ODUzOTQyOV0sIFsxNjYzODQxNzMzLjU3NDE4NDIsIDMyNzYsIDEuNzQ0NjU0NTM2MjQ3MjUzNF0sIFsxNjYzODQxNzMzLjY5MjQ3MjIsIDMyODUsIDEuNjYzNzE2OTEyMjY5NTkyM10sIFsxNjYzODQxNzMzLjgwOTAyODksIDMyOTQsIDEuNjc1MTE5NzU3NjUyMjgyN10sIFsxNjYzODQxNzMzLjkyODU5NTgsIDMzMDMsIDEuNzIzNzEzNTE3MTg5MDI1OV0sIFsxNjYzODQxNzM0LjA1ODUyOCwgMzMxMiwgMS42NDcyNDY4Mzc2MTU5NjY4XSwgWzE2NjM4NDE3MzQuMTc4MjkxOCwgMzMyMSwgMS42NTg0ODY2MDQ2OTA1NTE4XSwgWzE2NjM4NDE3MzQuODgzODI4OSwgMzM3NSwgMS42NzE4Njc0ODk4MTQ3NTgzXSwgWzE2NjM4NDE3MzUuMjMyMTk5NCwgMzQwMiwgMS42NjM5NjMwNzk0NTI1MTQ2XSwgWzE2NjM4NDE3MzUuMzI2MzUwNSwgMzQxMSwgMS42ODkwODU4NDExNzg4OTRdLCBbMTY2Mzg0MTczNi4xODE0MjIsIDM0ODMsIDEuNjEyNDkxNjA3NjY2MDE1Nl0sIFsxNjYzODQxNzM2LjU5MDA5MTIsIDM1MTksIDEuNjI3NTU1NzI3OTU4Njc5Ml0sIFsxNjYzODQxNzM2LjcwMjU0NSwgMzUyOCwgMS42NjA5MjYyMjI4MDEyMDg1XSwgWzE2NjM4NDE3MzYuODAyMzY2MywgMzUzNywgMS42NTMxNTU5MjI4ODk3MDk1XSwgWzE2NjM4NDE3MzYuOTA3NDYzOCwgMzU0NiwgMS41OTY0MTk1NzI4MzAyMDAyXSwgWzE2NjM4NDE3MzcuMDIxMTY2OCwgMzU1NSwgMS42MDg4MjM3NzYyNDUxMTcyXSwgWzE2NjM4NDE3MzcuMTIyNzQ4NCwgMzU2NCwgMS42MjY3MzQ5NzIwMDAxMjJdLCBbMTY2Mzg0MTczNy4zNDc5OTk2LCAzNTgyLCAxLjYxODMyNzI2MDAxNzM5NV0sIFsxNjYzODQxNzM3LjQ4MDQxMjUsIDM1OTEsIDEuNjE4MDU5NzU0MzcxNjQzXSwgWzE2NjM4NDE3MzcuNjE3MzY2LCAzNjAwLCAxLjYzMzc1NjM5OTE1NDY2M10sIFsxNjYzODQxNzM3LjgyNjM3MDUsIDM2MTgsIDEuNjI2OTI3OTcxODM5OTA0OF0sIFsxNjYzODQxNzM3LjkyOTc1ODgsIDM2MjcsIDEuNjEzOTgxMDA4NTI5NjYzXSwgWzE2NjM4NDE3MzguMTM4ODM5LCAzNjQ1LCAxLjYwNDE2MzE2OTg2MDgzOThdLCBbMTY2Mzg0MTczOC42MDQyMjcsIDM2ODEsIDEuNjEyMjA1Mzg2MTYxODA0Ml0sIFsxNjYzODQxNzM4LjczNTI4OSwgMzY5MCwgMS42NzkxOTM3MzUxMjI2ODA3XSwgWzE2NjM4NDE3MzkuMDQ1OTUzOCwgMzcxNywgMS42NDMwMjM4NDg1MzM2MzA0XSwgWzE2NjM4NDE3MzkuMTM4MjIzLCAzNzI2LCAxLjYxMDE5OTgwOTA3NDQwMTldLCBbMTY2Mzg0MTczOS4yMzE0NjMyLCAzNzM1LCAxLjY0MzM2NDU0ODY4MzE2NjVdLCBbMTY2Mzg0MTczOS4zMjI2OTg2LCAzNzQ0LCAxLjU2OTM2NjQ1NTA3ODEyNV0sIFsxNjYzODQxNzM5LjY3ODA5MDMsIDM3NzEsIDEuNTUxNDExMTUxODg1OTg2M10sIFsxNjYzODQxNzQwLjA2NDMxMzQsIDM3OTgsIDEuNTQ2OTk0MjA5Mjg5NTUwOF0sIFsxNjYzODQxNzQwLjE2NzgxODMsIDM4MDcsIDEuNjEzMDk2NTk0ODEwNDg1OF0sIFsxNjYzODQxNzQwLjQ2NTY2NzUsIDM4MzQsIDEuNTgzMjE5NzY2NjE2ODIxM10sIFsxNjYzODQxNzQwLjU2NTA5NzYsIDM4NDMsIDEuNTk1NjI2MjM1MDA4MjM5N10sIFsxNjYzODQxNzQwLjk4OTkyMjgsIDM4NzksIDEuNTc1Njg5NTU0MjE0NDc3NV0sIFsxNjYzODQxNzQxLjA5NjIxMTQsIDM4ODgsIDEuNjA2MTQ1MDI0Mjk5NjIxNl0sIFsxNjYzODQxNzQxLjM5Nzk3MzMsIDM5MTUsIDEuNTkyMTI3MjAzOTQxMzQ1Ml0sIFsxNjYzODQxNzQxLjQ5NjU5ODUsIDM5MjQsIDEuNTU3NjYxODkwOTgzNTgxNV0sIFsxNjYzODQxNzQxLjU5NTgyNjYsIDM5MzMsIDEuNTQ1OTEyNTA0MTk2MTY3XSwgWzE2NjM4NDE3NDEuNzY1MTMxLCAzOTQyLCAxLjU1MjE0NTYwMDMxODkwODddLCBbMTY2Mzg0MTc0MS45Mzc5Mzg1LCAzOTUxLCAxLjU1OTY2NjM5NTE4NzM3OF0sIFsxNjYzODQxNzQyLjA2MTI2ODYsIDM5NjAsIDEuNTM5NDIzMzQ2NTE5NDcwMl0sIFsxNjYzODQxNzQyLjIzMDAzNTgsIDM5NjksIDEuNjAzNDAzODA2Njg2NDAxNF0sIFsxNjYzODQxNzQyLjU0Mzg0MjYsIDM5NzgsIDEuNTI4MDQyOTEyNDgzMjE1M10sIFsxNjYzODQxNzQyLjc1OTIwNzIsIDM5OTYsIDEuNTUwMjQ1NjQyNjYyMDQ4M10sIFsxNjYzODQxNzQyLjg2MjE5MjQsIDQwMDUsIDEuNTQ3Nzc5OTE3NzE2OThdLCBbMTY2Mzg0MTc0Mi45NjkzMDg5LCA0MDE0LCAxLjU0NTU3NTM4MDMyNTMxNzRdLCBbMTY2Mzg0MTc0My4xMTU0ODA0LCA0MDIzLCAxLjUzMDgwNzYxNDMyNjQ3N10sIFsxNjYzODQxNzQzLjUyNjMzMjQsIDQwNTksIDEuNTQwODIzNDU5NjI1MjQ0MV0sIFsxNjYzODQxNzQzLjY2NzU3NTEsIDQwNjgsIDEuNTA5MzcyNTkxOTcyMzUxXSwgWzE2NjM4NDE3NDMuNzg3MTIzLCA0MDc3LCAxLjU0NTAzMzIxNjQ3NjQ0MDRdLCBbMTY2Mzg0MTc0My44ODI2Mjc3LCA0MDg2LCAxLjU4NjQzNTU1NjQxMTc0MzJdLCBbMTY2Mzg0MTc0NC4wMTI0NTU1LCA0MDk1LCAxLjUxNDcwOTgzMDI4NDExODddLCBbMTY2Mzg0MTc0NC4yNzcwNTUsIDQxMTMsIDEuNTIxMTY3NzU1MTI2OTUzMV0sIFsxNjYzODQxNzQ0LjQ4Mzc1NDYsIDQxMzEsIDEuNTYzMDE4NDQxMjAwMjU2M10sIFsxNjYzODQxNzQ0LjcyOTE5NzUsIDQxNDksIDEuNTU0Mzg2Mzc3MzM0NTk0N10sIFsxNjYzODQxNzQ0Ljg0NTE2MjIsIDQxNTgsIDEuNTgxNDMzMjk2MjAzNjEzM10sIFsxNjYzODQxNzQ1LjE0OTEyOTIsIDQxODUsIDEuNTQwMTQzNDg5ODM3NjQ2NV0sIFsxNjYzODQxNzQ1LjI0NzYwMTMsIDQxOTQsIDEuNTYwOTc4MjkzNDE4ODg0M10sIFsxNjYzODQxNzQ1LjM0MTA5NzQsIDQyMDMsIDEuNTQzMjQ1NzkyMzg4OTE2XSwgWzE2NjM4NDE3NDUuNTM4NjM1MywgNDIyMSwgMS41Njg4NDQ1NTY4MDg0NzE3XSwgWzE2NjM4NDE3NDUuNzM1NjU5MSwgNDIzOSwgMS41MjU1OTk0Nzk2NzUyOTNdLCBbMTY2Mzg0MTc0Ni4xNDE4MTkyLCA0Mjc1LCAxLjUyMDY2NTg4NDAxNzk0NDNdLCBbMTY2Mzg0MTc0Ni4yMzM2Mzk3LCA0Mjg0LCAxLjQ4NTA2Mzc5MTI3NTAyNDRdLCBbMTY2Mzg0MTc0Ni41Mjc2ODUyLCA0MzExLCAxLjUxMDY1OTgxMzg4MDkyMDRdLCBbMTY2Mzg0MTc0Ni42MjQ0ODEsIDQzMjAsIDEuNTExNjY5NzU0OTgxOTk0Nl0sIFsxNjYzODQxNzQ2LjcxOTQsIDQzMjksIDEuNTE3NjU0NDE4OTQ1MzEyNV0sIFsxNjYzODQxNzQ2LjgzMDUxOTQsIDQzMzgsIDEuNTA2NDMxNTc5NTg5ODQzOF0sIFsxNjYzODQxNzQ2LjkzMTkwMjQsIDQzNDcsIDEuNTA5Mzc2MDQ5MDQxNzQ4XSwgWzE2NjM4NDE3NDcuMDU3MjI2NywgNDM1NiwgMS40OTk3Mjc3MjU5ODI2NjZdLCBbMTY2Mzg0MTc0Ny4xOTAyNCwgNDM2NSwgMS40OTgyODc2Nzc3NjQ4OTI2XSwgWzE2NjM4NDE3NDcuNDI5OTQwNSwgNDM4MywgMS40NzcxMjU0MDYyNjUyNTg4XSwgWzE2NjM4NDE3NDcuNTYyNzcwNCwgNDM5MiwgMS41NDM4NzUyMTc0Mzc3NDQxXSwgWzE2NjM4NDE3NDcuNjk4MDA0LCA0NDAxLCAxLjUzNDI4MTczMDY1MTg1NTVdLCBbMTY2Mzg0MTc0Ny44MDIxOSwgNDQxMCwgMS41MTI5NDcyMDE3Mjg4MjA4XSwgWzE2NjM4NDE3NDguMDE5OTc0MiwgNDQyOCwgMS40OTI1MTUwODcxMjc2ODU1XSwgWzE2NjM4NDE3NDguMzI4MjMxMywgNDQ1NSwgMS41MTA2NDk4MDAzMDA1OTgxXSwgWzE2NjM4NDE3NDguODA0NzMzMywgNDQ5MSwgMS40OTI3MjIwMzQ0NTQzNDU3XSwgWzE2NjM4NDE3NDkuMTcyNjY0OSwgNDUxOCwgMS40ODcwNTAyOTQ4NzYwOTg2XSwgWzE2NjM4NDE3NDkuMjc2NTYzMiwgNDUyNywgMS40OTI5NDY3NDM5NjUxNDldLCBbMTY2Mzg0MTc0OS4zNzI4NiwgNDUzNiwgMS40ODQ1Nzk2ODIzNTAxNTg3XSwgWzE2NjM4NDE3NDkuNjY2NTU3OCwgNDU2MywgMS40NjI3MDQ1MzkyOTkwMTEyXSwgWzE2NjM4NDE3NDkuODk3MjgyNiwgNDU4MSwgMS40ODc3MjY5MjY4MDM1ODg5XSwgWzE2NjM4NDE3NTAuMDIzNjIwOCwgNDU5MCwgMS40NjU2OTM4MzE0NDM3ODY2XSwgWzE2NjM4NDE3NTAuMTIyOTA1LCA0NTk5LCAxLjQ1OTI4MTIwNjEzMDk4MTRdLCBbMTY2Mzg0MTc1MC4yMTUxMDcsIDQ2MDgsIDEuNDM4MzQ3ODE2NDY3Mjg1Ml0sIFsxNjYzODQxNzUwLjMwODE0ODQsIDQ2MTcsIDEuNDYyNjg2Nzc3MTE0ODY4Ml0sIFsxNjYzODQxNzUwLjQwNTI5NDIsIDQ2MjYsIDEuNDkwNTkwMjE0NzI5MzA5XSwgWzE2NjM4NDE3NTAuNDk4Mzk0MywgNDYzNSwgMS40NjU2MzgzOTkxMjQxNDU1XSwgWzE2NjM4NDE3NTAuODQ2MTk3NiwgNDY2MiwgMS40MzY1MDA0MzAxMDcxMTY3XSwgWzE2NjM4NDE3NTAuOTcwMDY1OCwgNDY3MSwgMS40NjEyMjUxNTIwMTU2ODZdLCBbMTY2Mzg0MTc1MS4xMDQ0NDc4LCA0NjgwLCAxLjQzMzYyODY3ODMyMTgzODRdLCBbMTY2Mzg0MTc1MS4yMjQwMDU3LCA0Njg5LCAxLjQ2MzU4MTQ0MjgzMjk0NjhdLCBbMTY2Mzg0MTc1MS41MTcyMjgxLCA0NzE2LCAxLjQzODA5NzQ3Njk1OTIyODVdLCBbMTY2Mzg0MTc1Mi40MDU1NzQsIDQ3NzksIDEuNDI2MDYyMjI2Mjk1NDcxMl0sIFsxNjYzODQxNzUyLjcxODg0NTEsIDQ4MDYsIDEuNDIyMDgzNDk3MDQ3NDI0M10sIFsxNjYzODQxNzUyLjgxNTU5MywgNDgxNSwgMS40NjE3NzU1NDEzMDU1NDJdLCBbMTY2Mzg0MTc1My4wNTQ5MDUsIDQ4MzMsIDEuNDM2Njc2MjYzODA5MjA0XSwgWzE2NjM4NDE3NTMuMTk4Mzk3NCwgNDg0MiwgMS40MjIwNTMyMTc4ODc4Nzg0XSwgWzE2NjM4NDE3NTMuMzE4Njc0LCA0ODUxLCAxLjQ0ODAxNTA5MzgwMzQwNThdLCBbMTY2Mzg0MTc1My40MzA3MDU1LCA0ODYwLCAxLjQyMDU5MTU5Mjc4ODY5NjNdLCBbMTY2Mzg0MTc1My41NTQ5NjgsIDQ4NjksIDEuNDQ5Njc0MjQ4Njk1MzczNV0sIFsxNjYzODQxNzUzLjc5NTU1MTMsIDQ4ODcsIDEuNDI2MDUzNzYyNDM1OTEzXSwgWzE2NjM4NDE3NTMuOTA2NTMyNSwgNDg5NiwgMS40MzE3NTczMzA4OTQ0NzAyXSwgWzE2NjM4NDE3NTQuMDE2NzI2NywgNDkwNSwgMS40MTY5Nzg3MTY4NTAyODA4XSwgWzE2NjM4NDE3NTQuMjU1MjI1NywgNDkyMywgMS40MzA3OTQyMzkwNDQxODk1XSwgWzE2NjM4NDE3NTQuMzU1MDA4NiwgNDkzMiwgMS40NjA2MDMyMzcxNTIwOTk2XSwgWzE2NjM4NDE3NTQuNjkxMTIsIDQ5NTksIDEuNDA1MDM1NzM0MTc2NjM1N10sIFsxNjYzODQxNzU0LjkwNTI0NjMsIDQ5NzcsIDEuNDM5MzE3MTA3MjAwNjIyNl0sIFsxNjYzODQxNzU1LjE3NzEzMzYsIDQ5OTUsIDEuNDUwMjQxNjg0OTEzNjM1M10sIFsxNjYzODQxNzU1LjI3OTM5ODcsIDUwMDQsIDEuMzk0MjI0NjQzNzA3Mjc1NF0sIFsxNjYzODQxNzU1LjM4NDQxMDQsIDUwMTMsIDEuNDMzODE2MTk0NTM0MzAxOF0sIFsxNjYzODQxNzU2LjA0NjgxMDksIDUwNjcsIDEuNDgzODcwMzg3MDc3MzMxNV0sIFsxNjYzODQxNzU2LjE0NTQ0MDMsIDUwNzYsIDEuNTAxODc5NTcyODY4MzQ3Ml0sIFsxNjYzODQxNzU2LjI0MDM1NzIsIDUwODUsIDEuNDY1OTg0NzAyMTEwMjkwNV0sIFsxNjYzODQxNzU2LjY3NjMxNjcsIDUxMjEsIDEuNDA5NTM0OTMxMTgyODYxM10sIFsxNjYzODQxNzU3LjA1Mzc3MjcsIDUxNDgsIDEuNDA0NDc2ODgxMDI3MjIxN10sIFsxNjYzODQxNzU3LjI3OTk5NiwgNTE2NiwgMS40Nzk1NTY0NDEzMDcwNjc5XSwgWzE2NjM4NDE3NTcuNTc4NDc2LCA1MTkzLCAxLjQxMjQyNTE2MDQwODAyXSwgWzE2NjM4NDE3NTguMDE2MTk2MywgNTIyOSwgMS4zNjY1NDc5NDIxNjE1Nl0sIFsxNjYzODQxNzU4LjQwMzA0NTIsIDUyNjUsIDEuMzk0ODk3Njk5MzU2MDc5XSwgWzE2NjM4NDE3NTguNTI0NzU5LCA1Mjc0LCAxLjM4MTA1NDg3ODIzNDg2MzNdLCBbMTY2Mzg0MTc1OC42NDg3NDE1LCA1MjgzLCAxLjQxOTM4NTQzMzE5NzAyMTVdLCBbMTY2Mzg0MTc1OC44NzE2MTE2LCA1MzAxLCAxLjQ0MTc0MTM0NzMxMjkyNzJdLCBbMTY2Mzg0MTc1OS4wNzEwMjAxLCA1MzE5LCAxLjQxODkwMzExMjQxMTQ5OV0sIFsxNjYzODQxNzU5LjE2NjU0ODMsIDUzMjgsIDEuNDIyNjYzOTI3MDc4MjQ3XSwgWzE2NjM4NDE3NTkuMjYyNzY3NiwgNTMzNywgMS40MTQ0MDc5Njg1MjExMTgyXSwgWzE2NjM4NDE3NTkuNDcyNjAwNSwgNTM1NSwgMS40MzEzNTI3MzQ1NjU3MzQ5XSwgWzE2NjM4NDE3NTkuNjY0OTE3MiwgNTM3MywgMS4zNTQ4Mzg4NDgxMTQwMTM3XSwgWzE2NjM4NDE3NTkuNzU2NzkxNCwgNTM4MiwgMS4zNzA5NzI2MzMzNjE4MTY0XSwgWzE2NjM4NDE3NTkuODU4NjgyMiwgNTM5MSwgMS4zODMwOTE5MjY1NzQ3MDddLCBbMTY2Mzg0MTc1OS45NTEwMDg2LCA1NDAwLCAxLjM3NjI4ODE3NTU4Mjg4NTddLCBbMTY2Mzg0MTc2MC4xMzY5MjQ3LCA1NDE4LCAxLjM3OTYwNTI5MzI3MzkyNThdLCBbMTY2Mzg0MTc2MC4yMjc3MjYyLCA1NDI3LCAxLjM1MzMxMDgyMzQ0MDU1MThdLCBbMTY2Mzg0MTc2MC4zMjE1NDY2LCA1NDM2LCAxLjM1NjM3NDg1OTgwOTg3NTVdLCBbMTY2Mzg0MTc2MC41MTI3OTQsIDU0NTQsIDEuMzc3MDQzMTI4MDEzNjEwOF0sIFsxNjYzODQxNzYxLjA3MDI2NzcsIDU0ODEsIDEuMzU4MDI2MjY2MDk4MDIyNV0sIFsxNjYzODQxNzYxLjI2ODQ2NDMsIDU0OTksIDEuMzU2NDI4MjY1NTcxNTk0Ml0sIFsxNjYzODQxNzYxLjU0ODE2MSwgNTUyNiwgMS4zNDQzNDkyNjUwOTg1NzE4XSwgWzE2NjM4NDE3NjEuNjQ4ODI2LCA1NTM1LCAxLjM1OTM1MTc1NDE4ODUzNzZdLCBbMTY2Mzg0MTc2MS44NDExMTc0LCA1NTUzLCAxLjM3ODEwMTM0ODg3Njk1MzFdLCBbMTY2Mzg0MTc2Mi4wNDY3MTUsIDU1NzEsIDEuMzQ0NzQ3MTg1NzA3MDkyM10sIFsxNjYzODQxNzYyLjIzOTM4OTIsIDU1ODksIDEuMzk0MzEwMTE2NzY3ODgzM10sIFsxNjYzODQxNzYyLjQyNzg3NiwgNTYwNywgMS4zMTgxMzYyMTUyMDk5NjFdLCBbMTY2Mzg0MTc2Mi41Mjk5MjI3LCA1NjE2LCAxLjM1MzE4ODYzMzkxODc2MjJdLCBbMTY2Mzg0MTc2Mi44MTI3OTksIDU2NDMsIDEuMzc3MjcwMjIxNzEwMjA1XSwgWzE2NjM4NDE3NjMuMDAwNjgxMiwgNTY2MSwgMS4zNTM0MTU4NDY4MjQ2NDZdLCBbMTY2Mzg0MTc2My4wOTM4OTgzLCA1NjcwLCAxLjM0OTc4NTMyNzkxMTM3N10sIFsxNjYzODQxNzYzLjU2NjEzMjMsIDU3MDYsIDEuMzY1NzIzMTMzMDg3MTU4Ml0sIFsxNjYzODQxNzY0LjEwNzMwODksIDU3NDIsIDEuMzQ5NjY4MTQ1MTc5NzQ4NV0sIFsxNjYzODQxNzY0LjQ3MzYzMDcsIDU3NjksIDEuMzUyNjc2MTUzMTgyOTgzNF0sIFsxNjYzODQxNzY0LjU4OTcyNzYsIDU3NzgsIDEuMzI5MDYzMDU3ODk5NDc1XSwgWzE2NjM4NDE3NjQuNzAzMTI2MiwgNTc4NywgMS4zMDgxNDMxMzg4ODU0OThdLCBbMTY2Mzg0MTc2NC44MTYxNzI0LCA1Nzk2LCAxLjM2MjcwMDcwMDc1OTg4NzddLCBbMTY2Mzg0MTc2NC45MzAxODc3LCA1ODA1LCAxLjI5NjY3ODc4MTUwOTM5OTRdLCBbMTY2Mzg0MTc2NS4wNDY2MTY2LCA1ODE0LCAxLjM3OTk3NDg0MjA3MTUzMzJdLCBbMTY2Mzg0MTc2NS40NzU5OTAzLCA1ODUwLCAxLjM3MDAyODM3NjU3OTI4NDddLCBbMTY2Mzg0MTc2NS42ODIwOTE3LCA1ODY4LCAxLjMyODQ5NDA3MTk2MDQ0OTJdLCBbMTY2Mzg0MTc2NS43NzgyMzYyLCA1ODc3LCAxLjMxNzYzOTExMjQ3MjUzNDJdLCBbMTY2Mzg0MTc2NS44ODI2NzQyLCA1ODg2LCAxLjMzNjM1MTAzNzAyNTQ1MTddLCBbMTY2Mzg0MTc2NS45NzY3NDcsIDU4OTUsIDEuMzMyMTY2NzkwOTYyMjE5Ml0sIFsxNjYzODQxNzY2LjA3MzcwOSwgNTkwNCwgMS4zMzM5NDY4MjQwNzM3OTE1XSwgWzE2NjM4NDE3NjYuMzc0NjcsIDU5MzEsIDEuMzMzMjM3NjQ4MDEwMjU0XSwgWzE2NjM4NDE3NjYuNDY3MTM3NiwgNTk0MCwgMS4zNTY1NTc2MDc2NTA3NTY4XSwgWzE2NjM4NDE3NjYuNTY1Mjc5NywgNTk0OSwgMS4zMjQ0MTcxMTQyNTc4MTI1XSwgWzE2NjM4NDE3NjcuMzExOTM2LCA2MDEyLCAxLjMxNTQwNzk5MTQwOTMwMThdLCBbMTY2Mzg0MTc2Ny42MTAyNzA1LCA2MDM5LCAxLjI5MDE0OTA5MjY3NDI1NTRdLCBbMTY2Mzg0MTc2OC4yMDMyNTc2LCA2MDg0LCAxLjMxNDk3Nzg4NDI5MjYwMjVdLCBbMTY2Mzg0MTc2OC4zMDA4OTgsIDYwOTMsIDEuMzM1NjI5NzAxNjE0Mzc5OV0sIFsxNjYzODQxNzY4LjQzMzUxNzUsIDYxMDIsIDEuMjk1Mjc4MzEwNzc1NzU2OF0sIFsxNjYzODQxNzY4Ljc5MTI3MSwgNjEyOSwgMS4zMTEyMDMyNDEzNDgyNjY2XSwgWzE2NjM4NDE3NjkuMDE5MjU4LCA2MTQ3LCAxLjMzMDQ3MTI3NzIzNjkzODVdLCBbMTY2Mzg0MTc2OS4xMzYwNTM2LCA2MTU2LCAxLjMyMjkyNDYxMzk1MjYzNjddLCBbMTY2Mzg0MTc2OS4yNjQ0OTk3LCA2MTY1LCAxLjMwMjQ1ODQwNTQ5NDY5XSwgWzE2NjM4NDE3NjkuNjEyOTA4LCA2MTkyLCAxLjMzODY0NjY1MDMxNDMzMV0sIFsxNjYzODQxNzcwLjQ0NDEyNTQsIDYyMzcsIDEuMzYxMDYyODg0MzMwNzQ5NV0sIFsxNjYzODQxNzcwLjY0ODc3MjIsIDYyNTUsIDEuMzEyMTQxMTgwMDM4NDUyMV0sIFsxNjYzODQxNzcwLjg3OTg3MSwgNjI3MywgMS4yNzc0NTA1NjE1MjM0Mzc1XSwgWzE2NjM4NDE3NzEuMDE5MTcxMiwgNjI4MiwgMS4yNzg0MTgzMDI1MzYwMTA3XSwgWzE2NjM4NDE3NzEuMjU2MjY3OCwgNjMwMCwgMS4zMzI3NjA1NzI0MzM0NzE3XSwgWzE2NjM4NDE3NzEuNTYyMTkzNCwgNjMyNywgMS4zNTg1NzgzMjQzMTc5MzIxXSwgWzE2NjM4NDE3NzEuNjY2OTUwNSwgNjMzNiwgMS4yOTg3MDAwOTQyMjMwMjI1XSwgWzE2NjM4NDE3NzEuODY1MzIzOCwgNjM1NCwgMS4zMDU1NzI2Mjg5NzQ5MTQ2XSwgWzE2NjM4NDE3NzIuMjc2OTU5LCA2MzkwLCAxLjI3OTM0MjE3NDUzMDAyOTNdLCBbMTY2Mzg0MTc3Mi4zNzQyMzc1LCA2Mzk5LCAxLjMyODY1NzI2OTQ3Nzg0NDJdLCBbMTY2Mzg0MTc3Mi41NzE5NTUyLCA2NDE3LCAxLjMzNjE5MzA4NDcxNjc5NjldLCBbMTY2Mzg0MTc3Mi44NjkxNywgNjQ0NCwgMS4yODk2MjY0NzkxNDg4NjQ3XSwgWzE2NjM4NDE3NzMuMDUxNjUsIDY0NjIsIDEuMzA4Mjc1Njk5NjE1NDc4NV0sIFsxNjYzODQxNzczLjIzNDEyMDQsIDY0ODAsIDEuMjc2MTk3NzkxMDk5NTQ4M10sIFsxNjYzODQxNzczLjMyNDAzMTYsIDY0ODksIDEuMzI1Njk2NzA2NzcxODUwNl0sIFsxNjYzODQxNzczLjQxMzc0NjgsIDY0OTgsIDEuMjkwMDA4MDY4MDg0NzE2OF0sIFsxNjYzODQxNzczLjU5NDEzNjUsIDY1MTYsIDEuMjk1MzkzNDY2OTQ5NDYzXSwgWzE2NjM4NDE3NzMuODMwMTkxNCwgNjUzNCwgMS4zNTE3MTc5NDg5MTM1NzQyXSwgWzE2NjM4NDE3NzMuOTY5OTM3MywgNjU0MywgMS4yNTg5MjU0Mzc5MjcyNDZdLCBbMTY2Mzg0MTc3NC4xMDk4NTY2LCA2NTUyLCAxLjI5MzY4OTcyNzc4MzIwMzFdLCBbMTY2Mzg0MTc3NC4yNTE4Njg3LCA2NTYxLCAxLjI3OTIwMjkzODA3OTgzNF0sIFsxNjYzODQxNzc0LjM4NDUwODQsIDY1NzAsIDEuMzI3NTU1MTc5NTk1OTQ3M10sIFsxNjYzODQxNzc0LjY2MDU4NTQsIDY1ODgsIDEuMzA0ODYwOTQ5NTE2Mjk2NF0sIFsxNjYzODQxNzc0LjgwNDE3NzgsIDY1OTcsIDEuMjg5NDQxNTg1NTQwNzcxNV0sIFsxNjYzODQxNzc0LjkxMDEzMzgsIDY2MDYsIDEuMjgzMTMxMTIyNTg5MTExM10sIFsxNjYzODQxNzc1LjM4ODMwNjQsIDY2NTEsIDEuMjcwODg0Mzk0NjQ1NjkxXSwgWzE2NjM4NDE3NzUuNDgxNjg4MywgNjY2MCwgMS4zMDA5ODI4MzI5MDg2MzA0XSwgWzE2NjM4NDE3NzUuNzc0NDA1LCA2Njg3LCAxLjI3NzAwNDQ4MDM2MTkzODVdLCBbMTY2Mzg0MTc3NS44ODQyODgzLCA2Njk2LCAxLjIzMjIxNDA5MzIwODMxM10sIFsxNjYzODQxNzc1Ljk5NTMxNiwgNjcwNSwgMS4yNTY5OTUyMDExMTA4Mzk4XSwgWzE2NjM4NDE3NzYuMTEzMDY1MiwgNjcxNCwgMS4yNjEyODIzMjQ3OTA5NTQ2XSwgWzE2NjM4NDE3NzYuODYwNDAxOSwgNjc3NywgMS4zNTUzNDA3MTkyMjMwMjI1XSwgWzE2NjM4NDE3NzcuMTk1NTQwNCwgNjgwNCwgMS4yNTgxNzM5NDI1NjU5MThdLCBbMTY2Mzg0MTc3Ny4yOTc1OTIyLCA2ODEzLCAxLjMwMzU3NjU4ODYzMDY3NjNdLCBbMTY2Mzg0MTc3Ny41MjI1MjQ0LCA2ODMxLCAxLjI2NTE4MDU4Nzc2ODU1NDddLCBbMTY2Mzg0MTc3OC4wMzM3NTM2LCA2ODc2LCAxLjIyMDU4Njc3NjczMzM5ODRdLCBbMTY2Mzg0MTc3OC4xMzEyOTk1LCA2ODg1LCAxLjI0OTI2NTMxMzE0ODQ5ODVdLCBbMTY2Mzg0MTc3OC4yMzQ4NiwgNjg5NCwgMS4yMzQwNDQxOTQyMjE0OTY2XSwgWzE2NjM4NDE3NzguNTc4OTMzLCA2OTIxLCAxLjI1NzY1Nzg4NTU1MTQ1MjZdLCBbMTY2Mzg0MTc3OC42ODk5MDkyLCA2OTMwLCAxLjI0MjEwODQ2NDI0MTAyNzhdLCBbMTY2Mzg0MTc3OS4yMDgwMzMzLCA2OTU3LCAxLjI5MDc1NjcwMjQyMzA5NTddLCBbMTY2Mzg0MTc3OS41NTE0NjEyLCA2OTg0LCAxLjI0MzYyMzk3MTkzOTA4N10sIFsxNjYzODQxNzc5LjY1NDU5OTIsIDY5OTMsIDEuMjQ4MzU2OTM4MzYyMTIxNl0sIFsxNjYzODQxNzc5LjkyNjIzMDQsIDcwMTEsIDEuMjMyNTAwNDMzOTIxODE0XSwgWzE2NjM4NDE3ODAuMDQ0MDYxMiwgNzAyMCwgMS4zMDg0NjgyMjI2MTgxMDNdLCBbMTY2Mzg0MTc4MC4xNjI2MzAzLCA3MDI5LCAxLjI0MTk1MDE1NDMwNDUwNDRdLCBbMTY2Mzg0MTc4MC4yNzcyNTU4LCA3MDM4LCAxLjIzNzk5NDE5NDAzMDc2MTddLCBbMTY2Mzg0MTc4MC4zODgyNjQ0LCA3MDQ3LCAxLjI2MzA4MTU1MDU5ODE0NDVdLCBbMTY2Mzg0MTc4MS4wNzM2NzUsIDcxMDEsIDEuMjI1MzE5NTA0NzM3ODU0XSwgWzE2NjM4NDE3ODEuMzkyNTQ1NywgNzEyOCwgMS4yMzg2ODI4NjYwOTY0OTY2XSwgWzE2NjM4NDE3ODEuNjIxNzA3LCA3MTQ2LCAxLjIyNTI2MjY0MTkwNjczODNdLCBbMTY2Mzg0MTc4MS44NDMwMzYyLCA3MTY0LCAxLjIzMzA5NzU1MzI1MzE3MzhdLCBbMTY2Mzg0MTc4Mi4zMzQxNjYzLCA3MjAwLCAxLjIzMzg4NzE5NTU4NzE1ODJdLCBbMTY2Mzg0MTc4Mi40MzMzNjY4LCA3MjA5LCAxLjIyNjQxNDkxODg5OTUzNjFdLCBbMTY2Mzg0MTc4Mi45MDYwNDMzLCA3MjQ1LCAxLjI1MDg4MzEwMjQxNjk5MjJdLCBbMTY2Mzg0MTc4My4wMzE1NDIzLCA3MjU0LCAxLjI2MzYzMDAzMjUzOTM2NzddLCBbMTY2Mzg0MTc4My4xMzE4MDU3LCA3MjYzLCAxLjI0MjgwMTQyNzg0MTE4NjVdLCBbMTY2Mzg0MTc4My4yMjYyNzA3LCA3MjcyLCAxLjIzMTk5ODgwMTIzMTM4NDNdLCBbMTY2Mzg0MTc4My41Mjg5NjQzLCA3Mjk5LCAxLjIyNDQwODM4ODEzNzgxNzRdLCBbMTY2Mzg0MTc4NC4zMDI4MTE2LCA3MzcxLCAxLjI0NjA4ODk4MTYyODQxOF0sIFsxNjYzODQxNzg0LjQzODI2NDgsIDczODAsIDEuMjU4NDczODczMTM4NDI3N10sIFsxNjYzODQxNzg0LjcwMzgwMzUsIDczOTgsIDEuMjIyMDg1OTUyNzU4Nzg5XSwgWzE2NjM4NDE3ODQuOTM5MzgyOCwgNzQxNiwgMS4yMTY0MzExNDA4OTk2NTgyXSwgWzE2NjM4NDE3ODUuMTY5NDMwNSwgNzQzNCwgMS4yMTUzMzc4NzI1MDUxODhdLCBbMTY2Mzg0MTc4NS4yODYyNzUsIDc0NDMsIDEuMjIzNjU3ODQ2NDUwODA1N10sIFsxNjYzODQxNzg1LjQxMDI3MjQsIDc0NTIsIDEuMjIyMzQyMDE0MzEyNzQ0MV0sIFsxNjYzODQxNzg1LjUxOTA0MjUsIDc0NjEsIDEuMjQwOTExMTI2MTM2Nzc5OF0sIFsxNjYzODQxNzg1Ljk4ODQ1OTMsIDc0OTcsIDEuMjQ2Njk3MTg3NDIzNzA2XSwgWzE2NjM4NDE3ODYuMDk4ODc2NSwgNzUwNiwgMS4yMzA2MDEzMTA3Mjk5ODA1XSwgWzE2NjM4NDE3ODYuMjkxODQ1LCA3NTI0LCAxLjIzNDg4NjY0NjI3MDc1Ml0sIFsxNjYzODQxNzg2LjM4NTAwMDIsIDc1MzMsIDEuMTkxMzEwODgyNTY4MzU5NF0sIFsxNjYzODQxNzg2LjUyMzQ4NiwgNzU0MiwgMS4yMjA3MzcyMTg4NTY4MTE1XSwgWzE2NjM4NDE3ODYuNzU0ODA0LCA3NTYwLCAxLjI0MDc4MzA5NTM1OTgwMjJdLCBbMTY2Mzg0MTc4Ni44ODIyMjMxLCA3NTY5LCAxLjE4NDQ0ODcxOTAyNDY1ODJdLCBbMTY2Mzg0MTc4Ny4yMzYxNDA3LCA3NTk2LCAxLjI5OTA5OTMyNjEzMzcyOF0sIFsxNjYzODQxNzg3LjQ4MzA1NDQsIDc2MTQsIDEuMjUzNjY5ODU3OTc4ODIwOF0sIFsxNjYzODQxNzg4LjA5NzgxODYsIDc2NTksIDEuMjE0NDQ3MjU5OTAyOTU0XSwgWzE2NjM4NDE3ODguMjM5NTI4NywgNzY2OCwgMS4yMjg4MDg2NDE0MzM3MTU4XSwgWzE2NjM4NDE3ODguNTkxOTg3LCA3Njk1LCAxLjIxMDc4ODQ4ODM4ODA2MTVdLCBbMTY2Mzg0MTc4OS4xNjIxNjQ3LCA3NzIyLCAxLjIyMTg4MDU1NTE1Mjg5M10sIFsxNjYzODQxNzg5LjQ2NDEyMjgsIDc3NDksIDEuMTk1NjExNzE1MzE2NzcyNV0sIFsxNjYzODQxNzg5LjY3MTQxNCwgNzc2NywgMS4yMjUyMjY2NDA3MDEyOTRdLCBbMTY2Mzg0MTc4OS45ODg2MDUsIDc3OTQsIDEuMjU2Mzg4OTAyNjY0MTg0Nl0sIFsxNjYzODQxNzkwLjExNTg3MywgNzgwMywgMS4xODgzODM2OTg0NjM0NF0sIFsxNjYzODQxNzkwLjYyNjI1OSwgNzgzOSwgMS4yMzc5MzY2MTU5NDM5MDg3XSwgWzE2NjM4NDE3OTAuNzU3NDM4NywgNzg0OCwgMS4yNDI1OTU1NTMzOTgxMzIzXSwgWzE2NjM4NDE3OTEuOTM2MTM2MiwgNzkzOCwgMS4xOTUzOTk1MjI3ODEzNzJdLCBbMTY2Mzg0MTc5Mi4xNjQ3MDQ4LCA3OTU2LCAxLjIwMzQ2Njc3MzAzMzE0Ml0sIFsxNjYzODQxNzkyLjI3OTkwNTMsIDc5NjUsIDEuMTg5MTgxMjA4NjEwNTM0N10sIFsxNjYzODQxNzkyLjM4ODQxNjUsIDc5NzQsIDEuMTk3OTIwNzk5MjU1MzcxXSwgWzE2NjM4NDE3OTIuNTEyMjA2LCA3OTgzLCAxLjE5MjM2MDg3Nzk5MDcyMjddLCBbMTY2Mzg0MTc5Mi43NjAyNzUsIDgwMDEsIDEuMTkzNjY2ODE1NzU3NzUxNV0sIFsxNjYzODQxNzkzLjAxMDI2MDgsIDgwMTksIDEuMjAzMDA5NzI0NjE3MDA0NF0sIFsxNjYzODQxNzkzLjIzMjI3LCA4MDM3LCAxLjIyNjA1MTMzMDU2NjQwNjJdLCBbMTY2Mzg0MTc5My41NzYxNjM4LCA4MDY0LCAxLjIxMDI2MzYwOTg4NjE2OTRdLCBbMTY2Mzg0MTc5My44MjAwMzE0LCA4MDgyLCAxLjIxNjA2MDUxOTIxODQ0NDhdLCBbMTY2Mzg0MTc5My45MzgyOTksIDgwOTEsIDEuMjA5NjE3NDk1NTM2ODA0Ml0sIFsxNjYzODQxNzk0LjI5NDc1NzQsIDgxMTgsIDEuMjI0MzgwODUwNzkxOTMxMl0sIFsxNjYzODQxNzk0LjQzMTQzNDksIDgxMjcsIDEuMTg3ODcxOTMyOTgzMzk4NF0sIFsxNjYzODQxNzk0LjY2NzgwODMsIDgxNDUsIDEuMjAzNDUyNDY3OTE4Mzk2XSwgWzE2NjM4NDE3OTQuODc3ODE1NSwgODE2MywgMS4xNzYxMDA2MTE2ODY3MDY1XSwgWzE2NjM4NDE3OTQuOTc5NDAxOCwgODE3MiwgMS4xOTU2NTA0NTgzMzU4NzY1XSwgWzE2NjM4NDE3OTUuMDc5NTM4MywgODE4MSwgMS4yMDczMTU5MjE3ODM0NDczXSwgWzE2NjM4NDE3OTUuMjg2NzE5LCA4MTk5LCAxLjIyNTk4MTM1NDcxMzQ0XSwgWzE2NjM4NDE3OTUuMzk0MTkyLCA4MjA4LCAxLjIyOTQ5NzU1MTkxODAyOThdLCBbMTY2Mzg0MTc5NS43MTQ4MywgODIzNSwgMS4yMTgwMzc3MjQ0OTQ5MzRdLCBbMTY2Mzg0MTc5Ni4xMzE4NjYyLCA4MjcxLCAxLjI2MDcxMTkwODM0MDQ1NF0sIFsxNjYzODQxNzk2LjIzMzUwODMsIDgyODAsIDEuMjE2MTI4ODI2MTQxMzU3NF0sIFsxNjYzODQxNzk2LjQyNzk4NjEsIDgyOTgsIDEuMjM0OTc1MzM3OTgyMTc3N10sIFsxNjYzODQxNzk2LjYyNTAyNDgsIDgzMTYsIDEuMjM2MjE2MzA2Njg2NDAxNF0sIFsxNjYzODQxNzk3LjA4ODMxNjcsIDgzNTIsIDEuMTkwNjY1NDgzNDc0NzMxNF0sIFsxNjYzODQxNzk3LjE4MTYzODUsIDgzNjEsIDEuMjIxNjAxMzY2OTk2NzY1MV0sIFsxNjYzODQxNzk3LjI3MzYzNDcsIDgzNzAsIDEuMjQ5OTY3MjE3NDQ1MzczNV0sIFsxNjYzODQxNzk3LjM2NTU4MzcsIDgzNzksIDEuMjc0NTI1NzYxNjA0MzA5XSwgWzE2NjM4NDE3OTcuNDYyNjA0LCA4Mzg4LCAxLjIxNjE2NjAxOTQzOTY5NzNdLCBbMTY2Mzg0MTc5Ny41NTY0MDE3LCA4Mzk3LCAxLjI4NTAyNDUyMzczNTA0NjRdLCBbMTY2Mzg0MTc5Ny42NjI2NjQyLCA4NDA2LCAxLjIyMzIwNjg3NzcwODQzNV0sIFsxNjYzODQxNzk3Ljg2MDg4OTcsIDg0MjQsIDEuMjIwNDM5NDM0MDUxNTEzN10sIFsxNjYzODQxNzk4LjI3MDQ4NCwgODQ2MCwgMS4xODAwOTI4MTE1ODQ0NzI3XSwgWzE2NjM4NDE3OTguNDY5NjIxNywgODQ3OCwgMS4xODI1MjgwMTg5NTE0MTZdLCBbMTY2Mzg0MTc5OC41ODAxMDUsIDg0ODcsIDEuMTk1Mzk3MTM4NTk1NTgxXSwgWzE2NjM4NDE3OTguOTczNjk5NiwgODUxNCwgMS4yMDUxODk3MDQ4OTUwMTk1XSwgWzE2NjM4NDE3OTkuNzQ3MTE4MiwgODU1MCwgMS4yMDM0Nzg4MTMxNzEzODY3XSwgWzE2NjM4NDE4MDAuMTgxMTgyMSwgODU3NywgMS4yMzg1NTUwNzM3MzgwOTgxXSwgWzE2NjM4NDE4MDAuNDEyOTUwNSwgODU5NSwgMS4yMzc2OTE4NzkyNzI0NjFdLCBbMTY2Mzg0MTgwMC41MjU1MDUsIDg2MDQsIDEuMTgyOTk1MzE5MzY2NDU1XSwgWzE2NjM4NDE4MDAuNjQ0ODg3LCA4NjEzLCAxLjIyMTc5MzUzMjM3MTUyMV0sIFsxNjYzODQxODAxLjEyMTUxNjUsIDg2NDksIDEuMjIxMjExNDMzNDEwNjQ0NV0sIFsxNjYzODQxODAxLjM1MzY0NDQsIDg2NjcsIDEuMTk5NDk3ODE4OTQ2ODM4NF0sIFsxNjYzODQxODAxLjUwMzI3NiwgODY3NiwgMS4yMzQ3MTI0ODE0OTg3MTgzXSwgWzE2NjM4NDE4MDEuNjQwMTIxNSwgODY4NSwgMS4yMTUyMzY0MjUzOTk3ODAzXSwgWzE2NjM4NDE4MDEuNzU0MDM0MywgODY5NCwgMS4yMDAyNTE0NjAwNzUzNzg0XSwgWzE2NjM4NDE4MDEuOTQ4MTU2NiwgODcxMiwgMS4yMDc2NzA0NTAyMTA1NzEzXSwgWzE2NjM4NDE4MDIuMDQ0NDMxMiwgODcyMSwgMS4xNzAxNDUzOTI0MTc5MDc3XSwgWzE2NjM4NDE4MDIuMzY1MjEsIDg3NDgsIDEuMjMwMjgyNTQ1MDg5NzIxN10sIFsxNjYzODQxODAzLjAzMjQzODMsIDg3OTMsIDEuMTk3OTY0NTQ5MDY0NjM2Ml0sIFsxNjYzODQxODAzLjI2MjI5MzYsIDg4MTEsIDEuMTc5NTkwODIxMjY2MTc0M10sIFsxNjYzODQxODAzLjM4ODY5NjQsIDg4MjAsIDEuMjA0NTU3ODk1NjYwNDAwNF0sIFsxNjYzODQxODAzLjYwNjcxMTEsIDg4MzgsIDEuMTc0MzI3NzMxMTMyNTA3M10sIFsxNjYzODQxODAzLjcwODAyMzgsIDg4NDcsIDEuMTc1MDQxMzE3OTM5NzU4M10sIFsxNjYzODQxODA0LjA5NDk3MzgsIDg4ODMsIDEuMjAzMjkzNDQyNzI2MTM1M10sIFsxNjYzODQxODA0LjI4MDY1OTIsIDg5MDEsIDEuMTYzNjA2ODgyMDk1MzM3XSwgWzE2NjM4NDE4MDQuNDY3ODQyNiwgODkxOSwgMS4yNDA3MDUwMTMyNzUxNDY1XSwgWzE2NjM4NDE4MDQuNjU5NDcyNSwgODkzNywgMS4xNzQzMzYxOTQ5OTIwNjU0XSwgWzE2NjM4NDE4MDQuODQ3ODU3NywgODk1NSwgMS4xOTEyNTY2NDIzNDE2MTM4XSwgWzE2NjM4NDE4MDQuOTQ4MzkxMiwgODk2NCwgMS4xNjMwNjIwOTU2NDIwODk4XSwgWzE2NjM4NDE4MDUuMDQ3MTQzNSwgODk3MywgMS4xNjUxNzEzODQ4MTE0MDE0XSwgWzE2NjM4NDE4MDUuMjUwODQ1LCA4OTkxLCAxLjE5MTg4NjU0NDIyNzZdLCBbMTY2Mzg0MTgwNS4zNDY2NTI1LCA5MDAwLCAxLjE3NTI0MzYxNjEwNDEyNl0sIFsxNjYzODQxODA1LjYyNDAxMDMsIDkwMjcsIDEuMTg2NDc2MzQ5ODMwNjI3NF0sIFsxNjYzODQxODA1LjcxNzgzOCwgOTAzNiwgMS4xNzgxMjM1OTMzMzAzODMzXSwgWzE2NjM4NDE4MDUuODEzOTg3LCA5MDQ1LCAxLjE4MDkxMDk0NDkzODY1OTddLCBbMTY2Mzg0MTgwNS45MDY0NzYsIDkwNTQsIDEuMjAzODg1NzkzNjg1OTEzXSwgWzE2NjM4NDE4MDUuOTk3NTk1OCwgOTA2MywgMS4xODgwNzU5MDAwNzc4MTk4XSwgWzE2NjM4NDE4MDYuNjA4ODYzNiwgOTEwOCwgMS4yNDg1NzE3NTM1MDE4OTJdLCBbMTY2Mzg0MTgwNi44NTA2OTQsIDkxMjYsIDEuMTc0ODkwMTYwNTYwNjA4XSwgWzE2NjM4NDE4MDcuMTIxMjE0OSwgOTE0NCwgMS4xNjc2NDc3MTkzODMyMzk3XSwgWzE2NjM4NDE4MDcuMjQwNjIyOCwgOTE1MywgMS4xNjA3NjUyOTAyNjAzMTVdLCBbMTY2Mzg0MTgwNy4zNjI0NzI4LCA5MTYyLCAxLjE2MTY0NzA4MTM3NTEyMl0sIFsxNjYzODQxODA3Ljk1NTIzNjcsIDkyMDcsIDEuMjk1NzczMTQ4NTM2NjgyMV0sIFsxNjYzODQxODA4LjQwMjk0ODEsIDkyNDMsIDEuMTcxMTE0MzI1NTIzMzc2NV0sIFsxNjYzODQxODA4LjY0MzU1OSwgOTI2MSwgMS4xNjMyMzE3MzA0NjExMjA2XSwgWzE2NjM4NDE4MDguNzU2NTk2OCwgOTI3MCwgMS4xOTMxNjc2ODY0NjI0MDIzXSwgWzE2NjM4NDE4MDkuNzI5MTM3NCwgOTMyNCwgMS4yMjE2NzY3MDcyNjc3NjEyXSwgWzE2NjM4NDE4MDkuODI5NDI0LCA5MzMzLCAxLjIwNzA2NzQ4OTYyNDAyMzRdLCBbMTY2Mzg0MTgwOS45MjczOTIyLCA5MzQyLCAxLjIzMTkxNzAyMzY1ODc1MjRdLCBbMTY2Mzg0MTgxMC4wMjIxNTU1LCA5MzUxLCAxLjE5OTMxNjM4MjQwODE0Ml0sIFsxNjYzODQxODEwLjE2OTExNzUsIDkzNjAsIDEuMjExMzg1MDExNjcyOTczNl0sIFsxNjYzODQxODEwLjY3MTg0MywgOTM5NiwgMS4xODg1NDU4MjMwOTcyMjldLCBbMTY2Mzg0MTgxMC45NDAwNDI3LCA5NDE0LCAxLjE4ODgzOTMxNjM2ODEwM10sIFsxNjYzODQxODExLjA1NTI1NDcsIDk0MjMsIDEuMjAxMjQ2MTQyMzg3MzkwMV0sIFsxNjYzODQxODExLjc5MzIxODYsIDk0NzcsIDEuMTUyODk3MTE5NTIyMDk0N10sIFsxNjYzODQxODExLjkwOTY2MTgsIDk0ODYsIDEuMTU1OTQzNzUxMzM1MTQ0XSwgWzE2NjM4NDE4MTIuMjcwNjUwNCwgOTUxMywgMS4xOTY5NzY1NDI0NzI4Mzk0XSwgWzE2NjM4NDE4MTIuNTA1MjM4OCwgOTUzMSwgMS4xODM5NDYxMzI2NTk5MTJdLCBbMTY2Mzg0MTgxMi42MjQ0MTQyLCA5NTQwLCAxLjE2NDUwNTI0MzMwMTM5MTZdLCBbMTY2Mzg0MTgxMi43NTMzNDg0LCA5NTQ5LCAxLjE1OTkzNzM4MTc0NDM4NDhdLCBbMTY2Mzg0MTgxMi45NzYxNTA1LCA5NTY3LCAxLjE0MjIxMjYyOTMxODIzNzNdLCBbMTY2Mzg0MTgxMy4yNjA0NjI1LCA5NTk0LCAxLjE4NTA0OTg5MTQ3MTg2MjhdLCBbMTY2Mzg0MTgxMy4zNTI5MTM5LCA5NjAzLCAxLjE3MTYzMTMzNjIxMjE1ODJdLCBbMTY2Mzg0MTgxMy40NTA1MjgxLCA5NjEyLCAxLjE4Mzk3MTc2MjY1NzE2NTVdLCBbMTY2Mzg0MTgxMy42NjQwMjM2LCA5NjMwLCAxLjE2NDU0NTE3ODQxMzM5MTFdLCBbMTY2Mzg0MTgxMy43NzExNjEzLCA5NjM5LCAxLjE2MTY4MDQ1OTk3NjE5NjNdLCBbMTY2Mzg0MTgxMy44NTk5MjM2LCA5NjQ4LCAxLjIzNTI1NjE5NTA2ODM1OTRdLCBbMTY2Mzg0MTgxMy45NTQ4ODYyLCA5NjU3LCAxLjE3MDczMzU3MTA1MjU1MTNdLCBbMTY2Mzg0MTgxNC4wNDgzNzMsIDk2NjYsIDEuMTUxODIyMDkwMTQ4OTI1OF0sIFsxNjYzODQxODE0LjE0MDA2MzgsIDk2NzUsIDEuMTgwMjcxMDI5NDcyMzUxXSwgWzE2NjM4NDE4MTQuNDIyODQsIDk3MDIsIDEuMTY2Mzg3MzE5NTY0ODE5M10sIFsxNjYzODQxODE0LjUxMzY0OSwgOTcxMSwgMS4xODMzOTM0NzgzOTM1NTQ3XSwgWzE2NjM4NDE4MTQuNzE2NTMwMywgOTcyOSwgMS4xOTQ5NjAzNTU3NTg2NjddLCBbMTY2Mzg0MTgxNC44MjMxODUyLCA5NzM4LCAxLjE1NjczNTE4MTgwODQ3MTddLCBbMTY2Mzg0MTgxNC45MTc0MDg3LCA5NzQ3LCAxLjE2NTQ1ODY3OTE5OTIxODhdLCBbMTY2Mzg0MTgxNS4xOTA4NTcsIDk3NzQsIDEuMTQ2NDgyODI1Mjc5MjM1OF0sIFsxNjYzODQxODE1LjI4MzA3ODcsIDk3ODMsIDEuMTU2NDcyODAyMTYyMTcwNF0sIFsxNjYzODQxODE1LjM3NTgxMTMsIDk3OTIsIDEuMTY1Mzc3Mzc4NDYzNzQ1MV0sIFsxNjYzODQxODE1Ljc1MjgyOCwgOTgyOCwgMS4xNDM4MDA4NTQ2ODI5MjI0XSwgWzE2NjM4NDE4MTUuODQ4NzY5NCwgOTgzNywgMS4yMjU0Njk3MDg0NDI2ODhdLCBbMTY2Mzg0MTgxNi40NDU2Nzk3LCA5ODkxLCAxLjIwMzYyNTIwMjE3ODk1NV0sIFsxNjYzODQxODE2LjY0MDQ5ODksIDk5MDksIDEuMjA0MTk5NDMzMzI2NzIxMl0sIFsxNjYzODQxODE2Ljg2MjU1OCwgOTkyNywgMS4yNTQ1MzUzMTc0MjA5NTk1XSwgWzE2NjM4NDE4MTYuOTY0NjEsIDk5MzYsIDEuMTg1OTM3NzYyMjYwNDM3XSwgWzE2NjM4NDE4MTcuMTMyNTM4OCwgOTk0NSwgMS4xNzg5MTI5OTcyNDU3ODg2XSwgWzE2NjM4NDE4MTcuNDk5NTAwOCwgOTk3MiwgMS4yMzgxMTEwMTkxMzQ1MjE1XSwgWzE2NjM4NDE4MTcuNjM0Mzk4NywgOTk4MSwgMS4yMDIwNDA5MTA3MjA4MjUyXSwgWzE2NjM4NDE4MTcuNzgwMTEzNywgOTk5MCwgMS4xNTcwMjI0NzYxOTYyODldLCBbMTY2Mzg0MTgxNy45ODg0ODEzLCAxMDAwOCwgMS4yMTE0NzA3MjMxNTIxNjA2XSwgWzE2NjM4NDE4MTguMDgyNDM2OCwgMTAwMTcsIDEuMjAzOTE3MjY0OTM4MzU0NV0sIFsxNjYzODQxODE4LjI2ODMzOCwgMTAwMzUsIDEuMTcxNDMxMzAzMDI0MjkyXSwgWzE2NjM4NDE4MTguNDU4NjY4NywgMTAwNTMsIDEuMTkxMTIzMTI3OTM3MzE3XSwgWzE2NjM4NDE4MTguNzQ2NTgwOCwgMTAwODAsIDEuMTg2NDE3MjIyMDIzMDEwM10sIFsxNjYzODQxODE4Ljk1NDU1NSwgMTAwOTgsIDEuMTc5MjkyNDQwNDE0NDI4N10sIFsxNjYzODQxODE5LjI1NzEyMSwgMTAxMDcsIDEuMTc4NjU1Mzg1OTcxMDY5M10sIFsxNjYzODQxODE5LjU2ODg0NjIsIDEwMTM0LCAxLjE2MTIyODA2MDcyMjM1MV0sIFsxNjYzODQxODE5LjY2NTgzMjgsIDEwMTQzLCAxLjE3MzczMjE2MTUyMTkxMTZdLCBbMTY2Mzg0MTgxOS44NTczMDcsIDEwMTYxLCAxLjE1ODg1Mzg4ODUxMTY1NzddLCBbMTY2Mzg0MTgxOS45NjU1OTUyLCAxMDE3MCwgMS4xNjY3MjMyNTEzNDI3NzM0XSwgWzE2NjM4NDE4MjAuMDYxMzk3OCwgMTAxNzksIDEuMTU3NTcxMTk2NTU2MDkxM10sIFsxNjYzODQxODIwLjE2MTY3NzYsIDEwMTg4LCAxLjE2NTY0ODIyMTk2OTYwNDVdLCBbMTY2Mzg0MTgyMC4yNTUyNTE0LCAxMDE5NywgMS4xOTc1NjI0NTYxMzA5ODE0XSwgWzE2NjM4NDE4MjAuNDQ5NjYyNCwgMTAyMTUsIDEuMTM5MjMwNjA4OTQwMTI0NV0sIFsxNjYzODQxODIwLjU0Mzg2NTcsIDEwMjI0LCAxLjE2ODI2ODA4NDUyNjA2Ml0sIFsxNjYzODQxODIwLjYzOTU2MDUsIDEwMjMzLCAxLjE2NzgzNzczODk5MDc4MzddLCBbMTY2Mzg0MTgyMC45Mjk1NDMzLCAxMDI2MCwgMS4xNTgwMTUxMzE5NTAzNzg0XSwgWzE2NjM4NDE4MjEuMjI5NTY1MSwgMTAyODcsIDEuMTY0NDU2MzY3NDkyNjc1OF0sIFsxNjYzODQxODIxLjUzMzI3MTYsIDEwMzE0LCAxLjE5MDUzMzE2MTE2MzMzXSwgWzE2NjM4NDE4MjEuNjMxMzI2MiwgMTAzMjMsIDEuMTM3MzU3ODMxMDAxMjgxN10sIFsxNjYzODQxODIxLjgxMzY5MTEsIDEwMzQxLCAxLjE1MzA5Mjk4MDM4NDgyNjddLCBbMTY2Mzg0MTgyMS45MDQ3NjY2LCAxMDM1MCwgMS4xNjUzNzAxMDY2OTcwODI1XSwgWzE2NjM4NDE4MjEuOTk2NjQ2MiwgMTAzNTksIDEuMTUwMzU5MDM0NTM4MjY5XSwgWzE2NjM4NDE4MjIuMDk2NjA3NywgMTAzNjgsIDEuMTY2Mjk2MzYyODc2ODkyXSwgWzE2NjM4NDE4MjIuMTg3ODI5LCAxMDM3NywgMS4xNjY5MzA0MzcwODgwMTI3XSwgWzE2NjM4NDE4MjIuMjgyNTEwOCwgMTAzODYsIDEuMTk1MDQwNzAyODE5ODI0Ml0sIFsxNjYzODQxODIzLjIxNzQ0OTQsIDEwNDQ5LCAxLjIyMjI3NTYxNDczODQ2NDRdLCBbMTY2Mzg0MTgyMy40ODMzMTg4LCAxMDQ2NywgMS4xMzYwNDI4MzMzMjgyNDddLCBbMTY2Mzg0MTgyMy43MDQ0MjYzLCAxMDQ4NSwgMS4xNjY5MzgxODU2OTE4MzM1XSwgWzE2NjM4NDE4MjMuOTA5OTg4LCAxMDUwMywgMS4xODM1NDQ4NzQxOTEyODQyXSwgWzE2NjM4NDE4MjQuMDIxNjI5MywgMTA1MTIsIDEuMTkxMjE0NTYxNDYyNDAyM10sIFsxNjYzODQxODI0LjY5MjU0NSwgMTA1NjYsIDEuMTY3ODMyNjEyOTkxMzMzXSwgWzE2NjM4NDE4MjQuNzkwMzEzNSwgMTA1NzUsIDEuMTg1OTM4NTk2NzI1NDYzOV0sIFsxNjYzODQxODI0Ljk5NjI5NzEsIDEwNTkzLCAxLjIyOTIzNjM2NDM2NDYyNF0sIFsxNjYzODQxODI1LjEyNTE2MjYsIDEwNjAyLCAxLjE4MTg2MzMwNzk1Mjg4MDldLCBbMTY2Mzg0MTgyNS4yNjYyNCwgMTA2MTEsIDEuMTY2OTU1MzUxODI5NTI4OF0sIFsxNjYzODQxODI1Ljc3ODQ1MTQsIDEwNjQ3LCAxLjEzNjIwMDE4OTU5MDQ1NF0sIFsxNjYzODQxODI2LjA2MTAzMTMsIDEwNjY1LCAxLjEzNzU5NzMyMjQ2Mzk4OTNdLCBbMTY2Mzg0MTgyNi4zMjY0MTQ2LCAxMDY4MywgMS4xNTIwMjEyODg4NzE3NjUxXSwgWzE2NjM4NDE4MjYuNTcxNTgwNCwgMTA3MDEsIDEuMTQ3ODc2MjYyNjY0Nzk1XSwgWzE2NjM4NDE4MjYuNjg3ODYzMywgMTA3MTAsIDEuMTMzNDUxNzAwMjEwNTcxM10sIFsxNjYzODQxODI2LjgwMTI3NzQsIDEwNzE5LCAxLjE0NzM2NzExOTc4OTEyMzVdLCBbMTY2Mzg0MTgyNy40MTAzOTQyLCAxMDc0NiwgMS4xNjYzNjg2MDM3MDYzNTk5XSwgWzE2NjM4NDE4MjcuNTIzODk3NCwgMTA3NTUsIDEuMTQwNzA5NzU3ODA0ODcwNl0sIFsxNjYzODQxODI3LjYzODMzNjQsIDEwNzY0LCAxLjE1MDc0ODAxNDQ1MDA3MzJdLCBbMTY2Mzg0MTgyNy44NjkwMzQ1LCAxMDc4MiwgMS4xODIzMTA3MDA0MTY1NjVdLCBbMTY2Mzg0MTgyNy45NjkzMTg2LCAxMDc5MSwgMS4xNDU0Mjg1MzgzMjI0NDg3XSwgWzE2NjM4NDE4MjguMjU2NTE3MiwgMTA4MTgsIDEuMTU3ODI2NTQyODU0MzA5XSwgWzE2NjM4NDE4MjguMzQ3ODY2LCAxMDgyNywgMS4xNTIzMTUzNzgxODkwODddLCBbMTY2Mzg0MTgyOC42Nzk2MzQ2LCAxMDg1NCwgMS4xMjI3Njg0MDIwOTk2MDk0XSwgWzE2NjM4NDE4MjguODAxMzAwMywgMTA4NjMsIDEuMTYxOTQyNjAxMjAzOTE4NV0sIFsxNjYzODQxODI4Ljk0ODY2MiwgMTA4NzIsIDEuMjA1NTc1MzQ2OTQ2NzE2M10sIFsxNjYzODQxODI5LjIxMjcwODIsIDEwODkwLCAxLjEyODQwNDM3ODg5MDk5MTJdLCBbMTY2Mzg0MTgyOS43MDk3NDk3LCAxMDkyNiwgMS4xOTE2MDYxNjM5Nzg1NzY3XSwgWzE2NjM4NDE4MjkuODA3ODcwMSwgMTA5MzUsIDEuMjAyMDIzMDI5MzI3MzkyNl0sIFsxNjYzODQxODI5LjkwNzcwNDgsIDEwOTQ0LCAxLjE5MDE1MDczNzc2MjQ1MTJdLCBbMTY2Mzg0MTgzMC4xMDc1NzA2LCAxMDk2MiwgMS4xNzQ4NzAzNzE4MTg1NDI1XSwgWzE2NjM4NDE4MzAuMjAyMTU4NSwgMTA5NzEsIDEuMTUwNzcxNjE3ODg5NDA0M10sIFsxNjYzODQxODMwLjY4NzE2NDgsIDExMDE2LCAxLjE3MDc0NTI1MzU2MjkyNzJdLCBbMTY2Mzg0MTgzMC44ODYxNDU0LCAxMTAzNCwgMS4xMzgwMjE0NjkxMTYyMTFdLCBbMTY2Mzg0MTgzMS4xOTIyMzYsIDExMDYxLCAxLjE4NjU1ODYwNDI0MDQxNzVdLCBbMTY2Mzg0MTgzMS4yOTc4NDUsIDExMDcwLCAxLjE5NTgxODkwMTA2MjAxMTddLCBbMTY2Mzg0MTgzMS41ODkxOTc2LCAxMTA5NywgMS4yMTU0NzQ0ODYzNTEwMTMyXSwgWzE2NjM4NDE4MzEuNjk1MzI2NiwgMTExMDYsIDEuMTc5NDcxODUwMzk1MjAyNl0sIFsxNjYzODQxODMyLjE3MDY2MzYsIDExMTUxLCAxLjE0ODA1NzEwMzE1NzA0MzVdLCBbMTY2Mzg0MTgzMi40Mjc1NzA2LCAxMTE2OSwgMS4xNzEwMDk1NDA1NTc4NjEzXSwgWzE2NjM4NDE4MzIuNTM5Mzk5MSwgMTExNzgsIDEuMTYxNjAyOTczOTM3OTg4M10sIFsxNjYzODQxODMyLjY2NjMzMSwgMTExODcsIDEuMTg1MzI4MTI1OTUzNjc0M10sIFsxNjYzODQxODMyLjc5Mzg5NTUsIDExMTk2LCAxLjEzOTQ3NzYxMDU4ODA3MzddLCBbMTY2Mzg0MTgzMi45MTM0NTMzLCAxMTIwNSwgMS4xNTQxOTEzNzQ3Nzg3NDc2XSwgWzE2NjM4NDE4MzMuMDM1MTgxNSwgMTEyMTQsIDEuMTY4NjA1NTY2MDI0NzgwM10sIFsxNjYzODQxODMzLjE0OTYyNywgMTEyMjMsIDEuMTUwNDI0MzYxMjI4OTQyOV0sIFsxNjYzODQxODMzLjQ4NzQ5OSwgMTEyNTAsIDEuMTc0OTI2OTk2MjMxMDc5XSwgWzE2NjM4NDE4MzMuNTk5MDc0NiwgMTEyNTksIDEuMTYyNTE3OTA1MjM1MjkwNV0sIFsxNjYzODQxODMzLjcwOTYwMjQsIDExMjY4LCAxLjE1Nzk1MjMwODY1NDc4NTJdLCBbMTY2Mzg0MTgzMy44MjIzLCAxMTI3NywgMS4xNjQ0NDIzMDA3OTY1MDg4XSwgWzE2NjM4NDE4MzQuMDQ3NDY5OSwgMTEyOTUsIDEuMTU5OTI2NjUyOTA4MzI1Ml0sIFsxNjYzODQxODM0LjI4MTM2MjMsIDExMzEzLCAxLjE5ODc5Mzc2ODg4Mjc1MTVdLCBbMTY2Mzg0MTgzNC4zOTI0MzgsIDExMzIyLCAxLjE1MjE0OTIwMDQzOTQ1MzFdLCBbMTY2Mzg0MTgzNC43MjY2NjM0LCAxMTM0OSwgMS4xNDg4NDE2MTk0OTE1NzcxXSwgWzE2NjM4NDE4MzQuODQwMzE2OCwgMTEzNTgsIDEuMTM1OTY2MDYyNTQ1Nzc2NF0sIFsxNjYzODQxODM1LjE4Njc5NiwgMTEzODUsIDEuMTMxMjIzNDQwMTcwMjg4XSwgWzE2NjM4NDE4MzUuNTI5MjM0LCAxMTQxMiwgMS4xNjMwMzIyOTMzMTk3MDIxXSwgWzE2NjM4NDE4MzYuMDEzMDY3LCAxMTQ0OCwgMS4xMjk2ODAxNTY3MDc3NjM3XSwgWzE2NjM4NDE4MzYuNTkyMTQzNSwgMTE0OTMsIDEuMTU1MjQxNDg5NDEwNDAwNF0sIFsxNjYzODQxODM2LjcwOTM1NzcsIDExNTAyLCAxLjE0MzgyMzM4NTIzODY0NzVdLCBbMTY2Mzg0MTgzNy4wNTA1OTM5LCAxMTUxMSwgMS4xNTc1MDcwNjE5NTgzMTNdLCBbMTY2Mzg0MTgzNy40MTgwMzk2LCAxMTU0NywgMS4xNDc4MDUwOTQ3MTg5MzNdLCBbMTY2Mzg0MTgzNy44MTY4MzAyLCAxMTU3NCwgMS4yMTQ1MDQ3MTg3ODA1MTc2XSwgWzE2NjM4NDE4MzguNDQ3MDkwOSwgMTE2MTksIDEuMTYxODQ2MTYwODg4NjcxOV0sIFsxNjYzODQxODM4Ljc4MjIzMTgsIDExNjQ2LCAxLjE0OTQwNTk1NjI2ODMxMDVdLCBbMTY2Mzg0MTgzOS4xMzc1MTg2LCAxMTY3MywgMS4xNDA3MDQ2MzE4MDU0Ml0sIFsxNjYzODQxODM5LjM3MDkxOTUsIDExNjkxLCAxLjEzNjc2NjA3NjA4Nzk1MTddLCBbMTY2Mzg0MTgzOS40OTAzNjQsIDExNzAwLCAxLjEzMzYxMTMyMTQ0OTI3OThdLCBbMTY2Mzg0MTgzOS44MzAyMjI0LCAxMTcyNywgMS4xMzk5OTUzMzY1MzI1OTI4XSwgWzE2NjM4NDE4NDAuMzAxMjgyLCAxMTc2MywgMS4xMzQ5Mjc3NDk2MzM3ODldLCBbMTY2Mzg0MTg0MC43ODE1NjkyLCAxMTc5OSwgMS4xODEzMDU0MDg0Nzc3ODMyXSwgWzE2NjM4NDE4NDEuMjU4ODE2LCAxMTgzNSwgMS4xMzkwNjA5NzQxMjEwOTM4XSwgWzE2NjM4NDE4NDEuMzczOTk4LCAxMTg0NCwgMS4xMzg0MjMwODUyMTI3MDc1XSwgWzE2NjM4NDE4NDEuOTQxMzI1NywgMTE4ODksIDEuMTkyNjY5NjMwMDUwNjU5Ml0sIFsxNjYzODQxODQyLjEzNzQ1OTUsIDExOTA3LCAxLjE2NTcwMDE5NzIxOTg0ODZdLCBbMTY2Mzg0MTg0Mi4yMzc0MjQxLCAxMTkxNiwgMS4xNDIyMjcyOTIwNjA4NTJdLCBbMTY2Mzg0MTg0Mi40NDM4Njc0LCAxMTkzNCwgMS4xMzc5NzkwMzA2MDkxMzA5XSwgWzE2NjM4NDE4NDIuNTQyNTI3NCwgMTE5NDMsIDEuMTQ4NTY3MTk5NzA3MDMxMl0sIFsxNjYzODQxODQyLjczNDMxNDQsIDExOTYxLCAxLjE0NDMyNjA5MDgxMjY4M10sIFsxNjYzODQxODQzLjYwNzAxMTYsIDEyMDI0LCAxLjE4MjczNzU4ODg4MjQ0NjNdLCBbMTY2Mzg0MTg0NC42MjM0MjIsIDEyMTA1LCAxLjEyNzI1MDE5NDU0OTU2MDVdLCBbMTY2Mzg0MTg0NC43MzcyNzEsIDEyMTE0LCAxLjE3MTgyODE1MDc0OTIwNjVdLCBbMTY2Mzg0MTg0NC45NzAyOSwgMTIxMzIsIDEuMTc4MjEzNTk2MzQzOTk0MV0sIFsxNjYzODQxODQ1LjA4NTU1OTgsIDEyMTQxLCAxLjIwMzQyMjE4ODc1ODg1XSwgWzE2NjM4NDE4NDUuNDMwNjc3LCAxMjE2OCwgMS4xNTA0OTE0NzYwNTg5Nl0sIFsxNjYzODQxODQ1LjU0MjE0MSwgMTIxNzcsIDEuMTk1NzU4MzQyNzQyOTJdLCBbMTY2Mzg0MTg0NS43NjQwMjU3LCAxMjE5NSwgMS4xNTAxNzQyNjAxMzk0NjUzXSwgWzE2NjM4NDE4NDYuMTk3MjE1NiwgMTIyMzEsIDEuMTMwNjk3MTMxMTU2OTIxNF0sIFsxNjYzODQxODQ2LjQzMjI2MywgMTIyNDksIDEuMTM1OTIyNjcwMzY0Mzc5OV0sIFsxNjYzODQxODQ2LjkwMTE2NTcsIDEyMjg1LCAxLjEzNTkwMTIxMjY5MjI2MDddLCBbMTY2Mzg0MTg0Ny4wMDkxMzk1LCAxMjI5NCwgMS4xMzkyMTQ3NTQxMDQ2MTQzXSwgWzE2NjM4NDE4NDcuMTI2NjczNSwgMTIzMDMsIDEuMTI2MjM3OTg4NDcxOTg0OV0sIFsxNjYzODQxODQ3LjQ4OTIyOTcsIDEyMzEyLCAxLjEzMzI3MjE3MTAyMDUwNzhdLCBbMTY2Mzg0MTg0Ny41OTA3NzcsIDEyMzIxLCAxLjEzNjMxNzcyOTk0OTk1MTJdLCBbMTY2Mzg0MTg0Ny45OTgzODgsIDEyMzU3LCAxLjEzMzExOTEwNjI5MjcyNDZdLCBbMTY2Mzg0MTg0OC4wOTk0MzA4LCAxMjM2NiwgMS4xMTU5Nzk2NzE0NzgyNzE1XSwgWzE2NjM4NDE4NDguMzY1MTM1MiwgMTIzODQsIDEuMTc4NDg2MjI3OTg5MTk2OF0sIFsxNjYzODQxODQ4LjQ4MTM0MjMsIDEyMzkzLCAxLjEzNjA5OTQ1Nzc0MDc4MzddLCBbMTY2Mzg0MTg0OC45NDE1OTAzLCAxMjQyOSwgMS4xNjIwNTU0OTI0MDExMjNdLCBbMTY2Mzg0MTg0OS41MTQxODEsIDEyNDc0LCAxLjEyOTAzODgxMDcyOTk4MDVdLCBbMTY2Mzg0MTg0OS42MzY1Mjg1LCAxMjQ4MywgMS4xNDEzMTE2NDU1MDc4MTI1XSwgWzE2NjM4NDE4NTAuMTA3MzAyNywgMTI1MTksIDEuMTYyODIxNTMxMjk1Nzc2NF0sIFsxNjYzODQxODUwLjQ4NjM4NjgsIDEyNTQ2LCAxLjEzMjUwOTIzMTU2NzM4MjhdLCBbMTY2Mzg0MTg1MC45NTgyNDcyLCAxMjU4MiwgMS4xNDAxMTg3MTgxNDcyNzc4XSwgWzE2NjM4NDE4NTEuMzA2NzEyNiwgMTI2MDksIDEuMTY2ODY4Njg2Njc2MDI1NF0sIFsxNjYzODQxODUxLjY2MDkxMSwgMTI2MzYsIDEuMTc1MjkzMjA3MTY4NTc5XSwgWzE2NjM4NDE4NTEuODgzMjg0NiwgMTI2NTQsIDEuMTQ5NDUxNDk0MjE2OTE5XSwgWzE2NjM4NDE4NTIuNzg3MzU2MSwgMTI3MjYsIDEuMTYyODk3MjI5MTk0NjQxMV0sIFsxNjYzODQxODUzLjE1MTE4MjIsIDEyNzUzLCAxLjE2ODIxODYxMjY3MDg5ODRdLCBbMTY2Mzg0MTg1My4yNjM5NDYsIDEyNzYyLCAxLjE3ODE1MDI5NjIxMTI0MjddLCBbMTY2Mzg0MTg1My41MTAzMDMsIDEyNzgwLCAxLjE0NjUzMjA1ODcxNTgyMDNdLCBbMTY2Mzg0MTg1My43NDU2NTc3LCAxMjc5OCwgMS4xNzI4MTIyMjM0MzQ0NDgyXSwgWzE2NjM4NDE4NTMuODQyODE5MiwgMTI4MDcsIDEuMTUxODE0NTc5OTYzNjg0XSwgWzE2NjM4NDE4NTQuNjg2ODEyOSwgMTI4ODgsIDEuMTQxNDkxNjUxNTM1MDM0Ml0sIFsxNjYzODQxODU0Ljc3NzA3MTUsIDEyODk3LCAxLjEzODc1Njk5MDQzMjczOTNdLCBbMTY2Mzg0MTg1NS4xNTg0NTk3LCAxMjkzMywgMS4xNzIzNjY3MzgzMTkzOTddLCBbMTY2Mzg0MTg1NS4zNTQxOTY1LCAxMjk1MSwgMS4xNzU2MDMwMzIxMTIxMjE2XSwgWzE2NjM4NDE4NTUuNDU1NTY1MiwgMTI5NjAsIDEuMTUzNTI3NjE3NDU0NTI4OF0sIFsxNjYzODQxODU1LjU1MTI0NzEsIDEyOTY5LCAxLjE3NTk1Njk2NDQ5Mjc5NzldLCBbMTY2Mzg0MTg1NS42NDM5ODM0LCAxMjk3OCwgMS4xNDA1MTEzOTM1NDcwNThdLCBbMTY2Mzg0MTg1NS45MTg1OTU2LCAxMzAwNSwgMS4xMjg0NTcxODg2MDYyNjIyXSwgWzE2NjM4NDE4NTYuMTAwOTE3LCAxMzAyMywgMS4xNjc3MzQxNDYxMTgxNjRdLCBbMTY2Mzg0MTg1Ni4xODk4NDEzLCAxMzAzMiwgMS4xMjc1NTkwNjU4MTg3ODY2XSwgWzE2NjM4NDE4NTYuMjc4NTUxMywgMTMwNDEsIDEuMTE4NDc4Mjk4MTg3MjU1OV0sIFsxNjYzODQxODU2LjM3Mzc5ODgsIDEzMDUwLCAxLjE0MzY1MTM2NjIzMzgyNTddLCBbMTY2Mzg0MTg1Ni40NzMzMzUsIDEzMDU5LCAxLjE2NTE0NDY4MTkzMDU0Ml0sIFsxNjYzODQxODU2LjU3MTczNjYsIDEzMDY4LCAxLjE1NTkyMTMzOTk4ODcwODVdLCBbMTY2Mzg0MTg1Ni42Njg0ODczLCAxMzA3NywgMS4xNDA4OTI3NDQwNjQzMzFdLCBbMTY2Mzg0MTg1Ni44NTM0NTc3LCAxMzA5NSwgMS4xNDkxNzg2MjQxNTMxMzcyXSwgWzE2NjM4NDE4NTYuOTYxNTEwNywgMTMxMDQsIDEuMTM2NTE1MDIxMzI0MTU3N10sIFsxNjYzODQxODU3LjI3MjE0MzYsIDEzMTEzLCAxLjEzMzU0NDY4MzQ1NjQyMV0sIFsxNjYzODQxODU3LjM2MDQ2OCwgMTMxMjIsIDEuMTE0MDE5OTg5OTY3MzQ2Ml0sIFsxNjYzODQxODU3LjQ3NDM2MzYsIDEzMTMxLCAxLjEzOTk2Njk2NDcyMTY3OTddLCBbMTY2Mzg0MTg1Ny42MDg3MzcyLCAxMzE0MCwgMS4xMDk2MTI4MjI1MzI2NTM4XSwgWzE2NjM4NDE4NTcuNzE1ODQ1MywgMTMxNDksIDEuMTI3MTYxNzQxMjU2NzEzOV0sIFsxNjYzODQxODU3LjgwNTUxOTYsIDEzMTU4LCAxLjEyODM4ODE2NjQyNzYxMjNdLCBbMTY2Mzg0MTg1OC4wNTQ1OTY3LCAxMzE3NiwgMS4xNTk4NjgyNDAzNTY0NDUzXSwgWzE2NjM4NDE4NTguOTg2MDg5LCAxMzIzOSwgMS4xMzU0MjI1ODczOTQ3MTQ0XSwgWzE2NjM4NDE4NTkuMzM5NTIxNiwgMTMyNjYsIDEuMTMxMDY1MzY4NjUyMzQzOF0sIFsxNjYzODQxODU5LjQ0MjY1MDYsIDEzMjc1LCAxLjEzMzA4ODQ2OTUwNTMxXSwgWzE2NjM4NDE4NTkuNjQ1Njc5NSwgMTMyOTMsIDEuMTQ3ODc0OTUxMzYyNjA5OV0sIFsxNjYzODQxODYwLjE4ODg1NjEsIDEzMzM4LCAxLjE1NzA0NzI3MTcyODUxNTZdLCBbMTY2Mzg0MTg2MC4yODUwNzA0LCAxMzM0NywgMS4xMzA3MzQ0NDM2NjQ1NTA4XSwgWzE2NjM4NDE4NjAuMzgzNzM0NSwgMTMzNTYsIDEuMTE4MjgxOTYwNDg3MzY1N10sIFsxNjYzODQxODYwLjgxNTkxMjcsIDEzMzkyLCAxLjIxMjkwOTkzNjkwNDkwNzJdLCBbMTY2Mzg0MTg2MS4wNzI4MjEsIDEzNDEwLCAxLjIyNzYzNzc2Nzc5MTc0OF0sIFsxNjYzODQxODYxLjE3MDYxMzgsIDEzNDE5LCAxLjE1MjQwNjgxMTcxNDE3MjRdLCBbMTY2Mzg0MTg2MS4yNjg3MDM1LCAxMzQyOCwgMS4xNjU1NzMyMzkzMjY0NzddLCBbMTY2Mzg0MTg2MS40NTQ1Nzg5LCAxMzQ0NiwgMS4xNDc3MDE5Nzg2ODM0NzE3XSwgWzE2NjM4NDE4NjEuNTQ0MTEzMiwgMTM0NTUsIDEuMTEyODcwNTczOTk3NDk3Nl0sIFsxNjYzODQxODYxLjk3NDYwMjIsIDEzNDkxLCAxLjE1NDA2MTA3OTAyNTI2ODZdLCBbMTY2Mzg0MTg2Mi4xMTE3MTA4LCAxMzUwMCwgMS4xNDc3MzQ5OTk2NTY2NzcyXSwgWzE2NjM4NDE4NjIuMjUwNjQwNiwgMTM1MDksIDEuMTE2NjQ2NTI4MjQ0MDE4Nl0sIFsxNjYzODQxODYyLjQ5ODkyNjYsIDEzNTI3LCAxLjE0OTI0OTE5NjA1MjU1MTNdLCBbMTY2Mzg0MTg2Mi44MzYxMTEzLCAxMzU1NCwgMS4xNDA4ODI4NDk2OTMyOTgzXSwgWzE2NjM4NDE4NjMuMzMwODA1LCAxMzU5MCwgMS4xMTAzMTAzMTYwODU4MTU0XSwgWzE2NjM4NDE4NjMuNDQ4MjIyMiwgMTM1OTksIDEuMTQwNDI0OTY2ODEyMTMzOF0sIFsxNjYzODQxODYzLjU2MDY3NzMsIDEzNjA4LCAxLjE4OTAwOTc4NTY1MjE2MDZdLCBbMTY2Mzg0MTg2My44MDUyNDg1LCAxMzYyNiwgMS4xODA4OTg0Mjc5NjMyNTY4XSwgWzE2NjM4NDE4NjQuMDQwMzU5MywgMTM2NDQsIDEuMTgzNjg1Nzc5NTcxNTMzMl0sIFsxNjYzODQxODY0LjE1ODYxMDMsIDEzNjUzLCAxLjEzNjA1NDE1ODIxMDc1NDRdLCBbMTY2Mzg0MTg2NC44OTc5NjA3LCAxMzcxNiwgMS4xMzU2MzUxMzc1NTc5ODM0XSwgWzE2NjM4NDE4NjUuMTk4OTU3LCAxMzc0MywgMS4xMjkyMzMxMjE4NzE5NDgyXSwgWzE2NjM4NDE4NjUuNDA2NDU5MywgMTM3NjEsIDEuMTA2ODQwMDE0NDU3NzAyNl0sIFsxNjYzODQxODY2LjE4MDY1NzQsIDEzODE1LCAxLjEyMDgzOTk1MzQyMjU0NjRdLCBbMTY2Mzg0MTg2Ni41MjY1MTMzLCAxMzg0MiwgMS4xMzY3MzAwNzQ4ODI1MDczXSwgWzE2NjM4NDE4NjYuNjUyMjg4NywgMTM4NTEsIDEuMjUyODk4OTMxNTAzMjk2XSwgWzE2NjM4NDE4NjcuMjYwODQ2LCAxMzg3OCwgMS4yMTQwNjEwMjE4MDQ4MDk2XSwgWzE2NjM4NDE4NjcuOTcwMjUwMSwgMTM5MzIsIDEuMTI3MzkwODYxNTExMjMwNV0sIFsxNjYzODQxODY4LjA5ODI4MSwgMTM5NDEsIDEuMTYzNDU3MzkzNjQ2MjQwMl0sIFsxNjYzODQxODY4LjQ0MTYzMzIsIDEzOTY4LCAxLjEzODQ5OTQ5ODM2NzMwOTZdLCBbMTY2Mzg0MTg2OC41NTIyNTk3LCAxMzk3NywgMS4xMjIxNzA0NDgzMDMyMjI3XSwgWzE2NjM4NDE4NjguNjY0MTA0NSwgMTM5ODYsIDEuMTYzNzEyMDI0Njg4NzIwN10sIFsxNjYzODQxODY4Ljg4NDQ2MTksIDE0MDA0LCAxLjEzMjA1OTY5MzMzNjQ4NjhdLCBbMTY2Mzg0MTg2OS4xMDUyNzMyLCAxNDAyMiwgMS4xMzIxNDE1OTAxMTg0MDgyXSwgWzE2NjM4NDE4NjkuNTk5MzY1NywgMTQwNjcsIDEuMTc3MDE1NTQyOTg0MDA4OF0sIFsxNjYzODQxODY5Ljc4ODAzMzIsIDE0MDg1LCAxLjEzNDAxOTAxNzIxOTU0MzVdLCBbMTY2Mzg0MTg2OS44ODU1NzgsIDE0MDk0LCAxLjE1MTAyNjEyOTcyMjU5NTJdLCBbMTY2Mzg0MTg2OS45ODE4Mzk0LCAxNDEwMywgMS4xMTk3OTkwMTc5MDYxODldLCBbMTY2Mzg0MTg3MC4xNzcwNzE2LCAxNDEyMSwgMS4xMTMwNDA1NjY0NDQzOTddLCBbMTY2Mzg0MTg3MC4zNjU1MjQzLCAxNDEzOSwgMS4xODYwMDk1MjYyNTI3NDY2XSwgWzE2NjM4NDE4NzAuNDY2ODU2LCAxNDE0OCwgMS4xMzU4Mjc1NDEzNTEzMTg0XSwgWzE2NjM4NDE4NzAuNTU5MzIzNSwgMTQxNTcsIDEuMTc4MzMwNjU5ODY2MzMzXSwgWzE2NjM4NDE4NzAuNjkzMjE1MSwgMTQxNjYsIDEuMTk2MTMzMTM2NzQ5MjY3Nl0sIFsxNjYzODQxODcxLjA5NDE0NDMsIDE0MTkzLCAxLjE1MTE3MDM3Mjk2Mjk1MTddLCBbMTY2Mzg0MTg3MS4zNzE5OTc0LCAxNDIxMSwgMS4yNzcwNTY2OTQwMzA3NjE3XSwgWzE2NjM4NDE4NzEuNjA0NTI0NCwgMTQyMjksIDEuMTIzMzEyNzExNzE1Njk4Ml0sIFsxNjYzODQxODcxLjczOTIyOTcsIDE0MjM4LCAxLjEzMzI0NzczMzExNjE1XSwgWzE2NjM4NDE4NzEuODYwMzE5OSwgMTQyNDcsIDEuMTQ0OTE4NDQxNzcyNDYxXSwgWzE2NjM4NDE4NzIuMTk4NDY3NywgMTQyNzQsIDEuMTYzMDcwNjc4NzEwOTM3NV0sIFsxNjYzODQxODcyLjc3NDQwNjQsIDE0MzE5LCAxLjE0MzgxOTQ1MTMzMjA5MjNdLCBbMTY2Mzg0MTg3My4zODQyMjAxLCAxNDM2NCwgMS4xNTc3MzI2MDU5MzQxNDNdLCBbMTY2Mzg0MTg3My40OTYwNSwgMTQzNzMsIDEuMTU1NTMyMjQwODY3NjE0N10sIFsxNjYzODQxODczLjYxNTAyMSwgMTQzODIsIDEuMTUwNjk0MDEyNjQxOTA2N10sIFsxNjYzODQxODc0LjA3NDkwOTcsIDE0NDE4LCAxLjE2ODU5NTQzMzIzNTE2ODVdLCBbMTY2Mzg0MTg3NC4xOTE2NDUxLCAxNDQyNywgMS4xMTk3NjMwMTY3MDA3NDQ2XSwgWzE2NjM4NDE4NzQuMzA2NjUxNCwgMTQ0MzYsIDEuMTE2Mjk1Njk1MzA0ODcwNl0sIFsxNjYzODQxODc1LjExNTk5MDksIDE0NDk5LCAxLjEwOTQzOTM3MzAxNjM1NzRdLCBbMTY2Mzg0MTg3NS4yMzA2NzE2LCAxNDUwOCwgMS4xNTE5OTEyNDgxMzA3OTgzXSwgWzE2NjM4NDE4NzUuNDYyNzI2LCAxNDUyNiwgMS4xNjM3MDMzMjI0MTA1ODM1XSwgWzE2NjM4NDE4NzUuNTgwODczLCAxNDUzNSwgMS4xNTI0NDMyODk3NTY3NzVdLCBbMTY2Mzg0MTg3NS44MTI2MzY5LCAxNDU1MywgMS4xNjI5MjQxNzA0OTQwNzk2XSwgWzE2NjM4NDE4NzYuNDkzMDQzMiwgMTQ2MDcsIDEuMTc5Mjc3MDYyNDE2MDc2N10sIFsxNjYzODQxODc2Ljc0Mzg1ODMsIDE0NjI1LCAxLjE0OTk0MDcyOTE0MTIzNTRdLCBbMTY2Mzg0MTg3Ni45Nzk1NjU2LCAxNDY0MywgMS4yNDU5MzU0NDAwNjM0NzY2XSwgWzE2NjM4NDE4NzcuMDg5NzMzOCwgMTQ2NTIsIDEuMTM3NTU2NDMzNjc3NjczM10sIFsxNjYzODQxODc3Ljc0MjA1MjgsIDE0Njg4LCAxLjE3MTc5OTMwMjEwMTEzNTNdLCBbMTY2Mzg0MTg3OC4xMzY4NDYsIDE0NzI0LCAxLjEzMzYwNjU1MzA3NzY5NzhdLCBbMTY2Mzg0MTg3OC4yMzM1NDM0LCAxNDczMywgMS4xNTkxOTM5OTI2MTQ3NDZdLCBbMTY2Mzg0MTg3OC4zMjM4MDMsIDE0NzQyLCAxLjEzNDU2NzczNzU3OTM0NTddLCBbMTY2Mzg0MTg3OC42MzM5MDQsIDE0NzY5LCAxLjExNTM1ODM1MjY2MTEzMjhdLCBbMTY2Mzg0MTg3OC43MjczMjksIDE0Nzc4LCAxLjEyNTg4Mjc0NDc4OTEyMzVdLCBbMTY2Mzg0MTg3OS4yMzE5NTc0LCAxNDgyMywgMS4xNjA2ODM1MTI2ODc2ODNdLCBbMTY2Mzg0MTg3OS4zMjI2MTU2LCAxNDgzMiwgMS4xMTEyMDg0Mzg4NzMyOTFdLCBbMTY2Mzg0MTg3OS41MDc1MzA1LCAxNDg1MCwgMS4xNDEwMTg4Njc0OTI2NzU4XSwgWzE2NjM4NDE4NzkuNjk2MTM5NiwgMTQ4NjgsIDEuMTM0OTAwNTY5OTE1NzcxNV0sIFsxNjYzODQxODc5Ljc5MTczMTYsIDE0ODc3LCAxLjExNjkyNjc4OTI4Mzc1MjRdLCBbMTY2Mzg0MTg3OS44ODY2Nzg1LCAxNDg4NiwgMS4xNjI5MjQ0MDg5MTI2NTg3XSwgWzE2NjM4NDE4NzkuOTc3NTQ3LCAxNDg5NSwgMS4yNjg5MDIwNjMzNjk3NTFdLCBbMTY2Mzg0MTg4MC4xODE3MDQsIDE0OTEzLCAxLjE2ODk2OTg2OTYxMzY0NzVdLCBbMTY2Mzg0MTg4MC4zNjY5NjUsIDE0OTMxLCAxLjE4ODA5NTU2OTYxMDU5NTddLCBbMTY2Mzg0MTg4MC43Mjg5Mzg4LCAxNDk2NywgMS4xNTAyMzE0ODA1OTg0NDk3XSwgWzE2NjM4NDE4ODAuOTE2OTUyNiwgMTQ5ODUsIDEuMTIxNDUxNzM1NDk2NTIxXSwgWzE2NjM4NDE4ODEuMTAyNjEzNywgMTUwMDMsIDEuMTk1NjMwNDMxMTc1MjMyXSwgWzE2NjM4NDE4ODEuMzg4MzIxNiwgMTUwMzAsIDEuMjA0NzI3MDUzNjQyMjczXSwgWzE2NjM4NDE4ODEuNDgyNzY4NSwgMTUwMzksIDEuMTg5MTkyMDU2NjU1ODgzOF0sIFsxNjYzODQxODgxLjg3NjM3NTQsIDE1MDc1LCAxLjE3NTIxMzgxMzc4MTczODNdLCBbMTY2Mzg0MTg4Mi4xNjUyMjMxLCAxNTEwMiwgMS4xODI2ODcyODI1NjIyNTU5XSwgWzE2NjM4NDE4ODIuMzYyMTc0NywgMTUxMjAsIDEuMTE2MTY1Mzk5NTUxMzkxNl0sIFsxNjYzODQxODgyLjQ2MjY4NywgMTUxMjksIDEuMTIzMjEzNDEwMzc3NTAyNF0sIFsxNjYzODQxODgyLjU1ODA2NzYsIDE1MTM4LCAxLjA5MDI4NTA2Mjc4OTkxN10sIFsxNjYzODQxODgyLjY1Mzg1NzIsIDE1MTQ3LCAxLjExMDk0Mjk1OTc4NTQ2MTRdLCBbMTY2Mzg0MTg4Mi45ODY0NDYsIDE1MTc0LCAxLjE0Mjg5OTE1NTYxNjc2MDNdLCBbMTY2Mzg0MTg4My4xMjc4MjEsIDE1MTgzLCAxLjE1NjAwMDI1NjUzODM5MTFdLCBbMTY2Mzg0MTg4My4yMjU1NzgzLCAxNTE5MiwgMS4xMjY4Nzc5MDM5MzgyOTM1XSwgWzE2NjM4NDE4ODMuMzI0NTYwOSwgMTUyMDEsIDEuMDk5ODYyMDk4NjkzODQ3N10sIFsxNjYzODQxODgzLjgxMDk1NTMsIDE1MjQ2LCAxLjExNjg0ODgyNjQwODM4NjJdLCBbMTY2Mzg0MTg4My45MDk1NTQ1LCAxNTI1NSwgMS4xMTEyNjQzNDgwMzAwOTAzXSwgWzE2NjM4NDE4ODQuMDQ3ODU4NSwgMTUyNjQsIDEuMTE4MjY4MjUxNDE5MDY3NF0sIFsxNjYzODQxODg0LjMwMzA0MywgMTUyODIsIDEuMTcxNjU2NDg5MzcyMjUzNF0sIFsxNjYzODQxODg0LjQyNzEwODgsIDE1MjkxLCAxLjIxNTk3MjU0Mjc2Mjc1NjNdLCBbMTY2Mzg0MTg4NC41NTgwMzU2LCAxNTMwMCwgMS4yNDgzNDUzNzUwNjEwMzUyXSwgWzE2NjM4NDE4ODQuNjgxNzY2NywgMTUzMDksIDEuMTYwNTAxMTIyNDc0NjcwNF0sIFsxNjYzODQxODg0LjkyMDQ5ODQsIDE1MzI3LCAxLjEzMjE1NjYxMDQ4ODg5MTZdLCBbMTY2Mzg0MTg4NS4xNzM5MzE0LCAxNTM0NSwgMS4xMjgxNzY0NTA3MjkzNzAxXSwgWzE2NjM4NDE4ODUuNTU5Nzk5MiwgMTUzNzIsIDEuMTE3NDMxNzU5ODM0Mjg5Nl0sIFsxNjYzODQxODg1LjgwNDY2MjUsIDE1MzkwLCAxLjEwNTMyMTI4ODEwODgyNTddLCBbMTY2Mzg0MTg4NS45MjM1NTE2LCAxNTM5OSwgMS4xNDIyMjM3MTU3ODIxNjU1XSwgWzE2NjM4NDE4ODYuMzAzMDEwMiwgMTU0MDgsIDEuMTIxMzM3NDEzNzg3ODQxOF0sIFsxNjYzODQxODg2LjQxNTQzNiwgMTU0MTcsIDEuMTE4NDA1ODE4OTM5MjA5XSwgWzE2NjM4NDE4ODcuMTM3NzczOCwgMTU0NzEsIDEuMTAzNzU1MjM1NjcxOTk3XSwgWzE2NjM4NDE4ODcuMjM3ODM3LCAxNTQ4MCwgMS4xMDg5MzY0MjkwMjM3NDI3XSwgWzE2NjM4NDE4ODcuNTE5ODYxNywgMTU1MDcsIDEuMTM2NDE0MTcwMjY1MTk3OF0sIFsxNjYzODQxODg3LjYxNTk1MjcsIDE1NTE2LCAxLjEzNzUyODE4MTA3NjA0OThdLCBbMTY2Mzg0MTg4Ny43MTMyOTc2LCAxNTUyNSwgMS4xNzUyMDU1ODgzNDA3NTkzXSwgWzE2NjM4NDE4ODcuODEwMjQ1LCAxNTUzNCwgMS4xMzIxMTE0MzAxNjgxNTE5XSwgWzE2NjM4NDE4ODguNDExMjAxLCAxNTU3OSwgMS4xMDI3NjQyNDg4NDc5NjE0XSwgWzE2NjM4NDE4ODkuMzIzMjU5OCwgMTU2NTEsIDEuMTE3MDE5ODkxNzM4ODkxNl0sIFsxNjYzODQxODg5LjQyMjkyMzgsIDE1NjYwLCAxLjEzMjU0MTA2MDQ0NzY5MjldLCBbMTY2Mzg0MTg4OS41NDAxMjc1LCAxNTY2OSwgMS4xODAwOTE1MDAyODIyODc2XSwgWzE2NjM4NDE4ODkuODg4OTQ3NSwgMTU2OTYsIDEuMTI2NjgwMzc0MTQ1NTA3OF0sIFsxNjYzODQxODkwLjE1OTc5OTMsIDE1NzE0LCAxLjE0MjIwMjYxNTczNzkxNV0sIFsxNjYzODQxODkwLjQ5ODE5OTcsIDE1NzQxLCAxLjEzNDc0ODEwMTIzNDQzNl0sIFsxNjYzODQxODkwLjYwOTUwMTEsIDE1NzUwLCAxLjEyNzM0NTgwMDM5OTc4MDNdLCBbMTY2Mzg0MTg5MC43MTU5MTA3LCAxNTc1OSwgMS4xMDkyNDExMjc5Njc4MzQ1XSwgWzE2NjM4NDE4OTAuODI4MTI0OCwgMTU3NjgsIDEuMTM0MzA5MDUzNDIxMDIwNV0sIFsxNjYzODQxODkxLjA1NDM0MjUsIDE1Nzg2LCAxLjE5ODc0NTEzMTQ5MjYxNDddLCBbMTY2Mzg0MTg5MS4xNzU2NTYsIDE1Nzk1LCAxLjI2NTA1MjMxODU3Mjk5OF0sIFsxNjYzODQxODkxLjUyMjIwNCwgMTU4MjIsIDEuMTMwMDk0NzY2NjE2ODIxM10sIFsxNjYzODQxODkyLjEyODY4MTIsIDE1ODY3LCAxLjEyNDY1NTEyNzUyNTMyOTZdLCBbMTY2Mzg0MTg5Mi4yMzQ5NjcyLCAxNTg3NiwgMS4xNTgwNjMwNTQwODQ3Nzc4XSwgWzE2NjM4NDE4OTIuNDk4ODA4LCAxNTg5NCwgMS4xMTAzMTkwMTgzNjM5NTI2XSwgWzE2NjM4NDE4OTIuNjU5MjEsIDE1OTAzLCAxLjEwNzExMTU3MzIxOTI5OTNdLCBbMTY2Mzg0MTg5Mi44OTMyNzk4LCAxNTkyMSwgMS4xMzU3NDAwNDE3MzI3ODhdLCBbMTY2Mzg0MTg5My43MjMyODgsIDE1OTg0LCAxLjEyMjE0NDgxODMwNTk2OTJdLCBbMTY2Mzg0MTg5My44MjQ5NTY0LCAxNTk5MywgMS4xMjI0MzU4MDgxODE3NjI3XSwgWzE2NjM4NDE4OTMuOTQwNDQ0NSwgMTYwMDIsIDEuMTIyMjk4MDAyMjQzMDQyXSwgWzE2NjM4NDE4OTQuMzEwMzIzNSwgMTYwMjksIDEuMTQxMjk0NzE3Nzg4Njk2M10sIFsxNjYzODQxODk0LjgxMTYwMDIsIDE2MDY1LCAxLjExODQ2MjgwMDk3OTYxNDNdLCBbMTY2Mzg0MTg5NC45NDM1MywgMTYwNzQsIDEuMTAyODE2ODIwMTQ0NjUzM10sIFsxNjYzODQxODk1LjA2NTgxNSwgMTYwODMsIDEuMTMzNjA0NDA3MzEwNDg1OF0sIFsxNjYzODQxODk1LjE4NjE3MzcsIDE2MDkyLCAxLjA5NzI1MTc3Mjg4MDU1NDJdLCBbMTY2Mzg0MTg5NS40MjE0MjEsIDE2MTEwLCAxLjE4ODc0OTU1MTc3MzA3MTNdLCBbMTY2Mzg0MTg5NS41NDE3MjY0LCAxNjExOSwgMS4xNTA4MTc4NzEwOTM3NV0sIFsxNjYzODQxODk1Ljc3MDA3OTksIDE2MTM3LCAxLjE0MjI0NTI5MjY2MzU3NDJdLCBbMTY2Mzg0MTg5NS45NjAyNDgyLCAxNjE1NSwgMS4xMDU5Njc2NDA4NzY3N10sIFsxNjYzODQxODk2LjE0OTAzMzgsIDE2MTczLCAxLjE0NDc0NTQ2OTA5MzMyMjhdLCBbMTY2Mzg0MTg5Ni4yNDkxMjQzLCAxNjE4MiwgMS4xMjQzMzc0MzQ3Njg2NzY4XSwgWzE2NjM4NDE4OTYuNzUyODEyNiwgMTYyMDksIDEuMTA2ODg3MzQwNTQ1NjU0M10sIFsxNjYzODQxODk2Ljk4NjQ5NCwgMTYyMjcsIDEuMTQzNzk2MzI0NzI5OTE5NF0sIFsxNjYzODQxODk3LjA4NjA2OTMsIDE2MjM2LCAxLjE2NDM0NjIxODEwOTEzMDldLCBbMTY2Mzg0MTg5Ny4xNzk2MDMsIDE2MjQ1LCAxLjEzNTAwMDIyODg4MTgzNl0sIFsxNjYzODQxODk3LjY2OTY1NTYsIDE2MjgxLCAxLjExNzczOTc5NjYzODQ4ODhdLCBbMTY2Mzg0MTg5Ny45MzUyNjI3LCAxNjI5OSwgMS4xMjY1NzAzNDM5NzEyNTI0XSwgWzE2NjM4NDE4OTguNDU3NDMyMywgMTYzMzUsIDEuMTI5NTgwMjU5MzIzMTIwMV0sIFsxNjYzODQxODk4LjY4Njg2OTksIDE2MzUzLCAxLjEzNTgxNTczOTYzMTY1MjhdLCBbMTY2Mzg0MTg5OC45MjIyMjEsIDE2MzcxLCAxLjE0MDg1NjYyMzY0OTU5NzJdLCBbMTY2Mzg0MTg5OS4wNDIzMTQzLCAxNjM4MCwgMS4xNDM5MDk4MTE5NzM1NzE4XSwgWzE2NjM4NDE4OTkuNTA3NDQ5NiwgMTY0MTYsIDEuMTI0NTY3MjcwMjc4OTMwN10sIFsxNjYzODQxODk5Ljg2NTk0NTYsIDE2NDQzLCAxLjIyMTY0MTU0MDUyNzM0MzhdLCBbMTY2Mzg0MTg5OS45ODM2NjUyLCAxNjQ1MiwgMS4xOTUwOTAwNTU0NjU2OTgyXSwgWzE2NjM4NDE5MDAuMjE3NjU0MiwgMTY0NzAsIDEuMTM5NjQ5MDMzNTQ2NDQ3OF0sIFsxNjYzODQxOTAwLjMzNDMwNjIsIDE2NDc5LCAxLjExNDkyNTUwMzczMDc3NF0sIFsxNjYzODQxOTAwLjU2NTE2MzQsIDE2NDk3LCAxLjE1OTM4OTQ5NTg0OTYwOTRdLCBbMTY2Mzg0MTkwMC42NzY2NzQ0LCAxNjUwNiwgMS4xMTAwMjUyODY2NzQ0OTk1XSwgWzE2NjM4NDE5MDAuNzkwOTgxNSwgMTY1MTUsIDEuMTUwNjIxMTc1NzY1OTkxMl0sIFsxNjYzODQxOTAxLjAxMDMwODMsIDE2NTMzLCAxLjE1NzYwMDY0MTI1MDYxMDRdLCBbMTY2Mzg0MTkwMS4xNDAyNTcsIDE2NTQyLCAxLjA5OTA0MjQxNTYxODg5NjVdLCBbMTY2Mzg0MTkwMS4yNTY4MjgzLCAxNjU1MSwgMS4xMDg3MDMwMTcyMzQ4MDIyXSwgWzE2NjM4NDE5MDEuOTYzMzUyLCAxNjYwNSwgMS4xNzYwNjcyMzMwODU2MzIzXSwgWzE2NjM4NDE5MDIuMDc3Njg3NSwgMTY2MTQsIDEuMTE2NzI4OTAxODYzMDk4MV0sIFsxNjYzODQxOTAyLjE5MzE3NywgMTY2MjMsIDEuMTIxNzkwNTI4Mjk3NDI0M10sIFsxNjYzODQxOTAyLjMxMzMyNjYsIDE2NjMyLCAxLjEwMzU3MTc3MjU3NTM3ODRdLCBbMTY2Mzg0MTkwMi40MzIwOTE1LCAxNjY0MSwgMS4wOTUyNDY0MzQyMTE3MzFdLCBbMTY2Mzg0MTkwMi43ODkzMjg2LCAxNjY2OCwgMS4xMTc3NDM4NDk3NTQzMzM1XSwgWzE2NjM4NDE5MDMuMDMyMTk5MSwgMTY2ODYsIDEuMTA1NTQ0ODA1NTI2NzMzNF0sIFsxNjYzODQxOTAzLjgzOTI5LCAxNjc0OSwgMS4xMTk3MjkxNjEyNjI1MTIyXSwgWzE2NjM4NDE5MDQuMjg5OTk3NiwgMTY3ODUsIDEuMTU1MjE0Nzg2NTI5NTQxXSwgWzE2NjM4NDE5MDQuNDA4MTUsIDE2Nzk0LCAxLjEyODAxNDkyMjE0MjAyODhdLCBbMTY2Mzg0MTkwNC41MTkxMTE0LCAxNjgwMywgMS4xMTYwNTIzODkxNDQ4OTc1XSwgWzE2NjM4NDE5MDQuNjM5NDI1LCAxNjgxMiwgMS4xMTU5MTUxNzkyNTI2MjQ1XSwgWzE2NjM4NDE5MDUuMDg5ODM0LCAxNjg0OCwgMS4xMjc0NTQ1MTkyNzE4NTA2XSwgWzE2NjM4NDE5MDUuMTk4MDU5NiwgMTY4NTcsIDEuMTMzMjM5NjI2ODg0NDYwNF0sIFsxNjYzODQxOTA1LjMwODkyOTcsIDE2ODY2LCAxLjEwOTE0NTUyMjExNzYxNDddLCBbMTY2Mzg0MTkwNS40MTgzMjUsIDE2ODc1LCAxLjEzMTc3MjM5ODk0ODY2OTRdLCBbMTY2Mzg0MTkwNS41NDA2MTcsIDE2ODg0LCAxLjE1ODUwMTUwNTg1MTc0NTZdLCBbMTY2Mzg0MTkwNS43Nzg5MDI1LCAxNjkwMiwgMS4xMjc5MDUzNjg4MDQ5MzE2XSwgWzE2NjM4NDE5MDYuMDg2MTE0NCwgMTY5MjksIDEuMTA5MzEzMzY4Nzk3MzAyMl0sIFsxNjYzODQxOTA2LjM2NTI3NDQsIDE2OTU2LCAxLjEyNDI4OTM5MzQyNDk4NzhdLCBbMTY2Mzg0MTkwNi40NTgyMTEyLCAxNjk2NSwgMS4xMjQ2MDE0ODMzNDUwMzE3XSwgWzE2NjM4NDE5MDYuNjU1MTk1NSwgMTY5ODMsIDEuMTQ2NDE0NTE4MzU2MzIzMl0sIFsxNjYzODQxOTA2Ljg0MDkxMTEsIDE3MDAxLCAxLjA5OTA2NzU2ODc3ODk5MTddLCBbMTY2Mzg0MTkwNy4yNjA5NDI3LCAxNzAxOSwgMS4xMTI1MTk1MDI2Mzk3NzA1XSwgWzE2NjM4NDE5MDcuMzU4MTExLCAxNzAyOCwgMS4xMTI0MzAwOTU2NzI2MDc0XSwgWzE2NjM4NDE5MDcuNzQzNzEsIDE3MDY0LCAxLjEyNTE0MTczOTg0NTI3NTldLCBbMTY2Mzg0MTkwOC4xNDc5NDcsIDE3MTAwLCAxLjExOTQwNTAzMTIwNDIyMzZdLCBbMTY2Mzg0MTkwOC4zNjAzOTc4LCAxNzExOCwgMS4xMDUxODIxNzA4Njc5Ml0sIFsxNjYzODQxOTA4LjQ1MTY0NSwgMTcxMjcsIDEuMTMyMTY2Mzg1NjUwNjM0OF0sIFsxNjYzODQxOTA4LjkzOTA1NzYsIDE3MTYzLCAxLjEyMTEzMjI1NDYwMDUyNV0sIFsxNjYzODQxOTA5LjE3NTIzMDUsIDE3MTgxLCAxLjA5NzUxMzE5ODg1MjUzOV0sIFsxNjYzODQxOTA5LjMxMTgyMTIsIDE3MTkwLCAxLjEwMTg3NjYxNjQ3Nzk2NjNdLCBbMTY2Mzg0MTkwOS40NDM4MDE2LCAxNzE5OSwgMS4xMDE2OTgxNjAxNzE1MDg4XSwgWzE2NjM4NDE5MDkuODQ4MzMzNiwgMTcyMjYsIDEuMTc5NjEyMTU5NzI5MDA0XSwgWzE2NjM4NDE5MTAuMjExNjY0LCAxNzI1MywgMS4xMDA2NTUzMTczMDY1MTg2XSwgWzE2NjM4NDE5MTAuNDQwNDgzOCwgMTcyNzEsIDEuMTE1NzI1MTU5NjQ1MDgwNl0sIFsxNjYzODQxOTExLjEzNDIzODcsIDE3MzI1LCAxLjEyODY2MjgyNDYzMDczNzNdLCBbMTY2Mzg0MTkxMS4yNDMxODU1LCAxNzMzNCwgMS4xMjk2NDQyNzQ3MTE2MDg5XSwgWzE2NjM4NDE5MTEuMzYzMTE2NywgMTczNDMsIDEuMDk5ODQ0MjE3MzAwNDE1XSwgWzE2NjM4NDE5MTEuNTk4MjAxNSwgMTczNjEsIDEuMTQwMjY5MTYwMjcwNjkxXSwgWzE2NjM4NDE5MTEuNzE0NjM2LCAxNzM3MCwgMS4xMjM1NjgyOTY0MzI0OTUxXSwgWzE2NjM4NDE5MTIuMDYzNjgyLCAxNzM5NywgMS4xNTg4MTQxOTE4MTgyMzczXSwgWzE2NjM4NDE5MTIuNDEyNzE0MiwgMTc0MjQsIDEuMTAxMTE2NDE4ODM4NTAxXSwgWzE2NjM4NDE5MTIuNTI1NjUxMiwgMTc0MzMsIDEuMTE2NTExMzQ0OTA5NjY4XSwgWzE2NjM4NDE5MTIuODUxNjcxMiwgMTc0NjAsIDEuMTYzMjIxNTk3NjcxNTA4OF0sIFsxNjYzODQxOTEyLjk2MjAzNSwgMTc0NjksIDEuMTM5MDYyNDA0NjMyNTY4NF0sIFsxNjYzODQxOTEzLjA1NDkzMDIsIDE3NDc4LCAxLjEwNjY3NjEwMTY4NDU3MDNdLCBbMTY2Mzg0MTkxMy4xNTM4NjQ5LCAxNzQ4NywgMS4xMzI5MDc4Njc0MzE2NDA2XSwgWzE2NjM4NDE5MTMuNTE2MjE4NywgMTc1MTQsIDEuMDk5NzM5MTkzOTE2MzIwOF0sIFsxNjYzODQxOTEzLjc3ODY0NzcsIDE3NTMyLCAxLjEwNTQ3MDc3NjU1NzkyMjRdLCBbMTY2Mzg0MTkxNC4wNzEwMzk0LCAxNzU1OSwgMS4xMDY4MDA5MTM4MTA3M10sIFsxNjYzODQxOTE0LjE2NjU1MjUsIDE3NTY4LCAxLjA4NDE5OTQyODU1ODM0OTZdLCBbMTY2Mzg0MTkxNC4zNzA1NDU0LCAxNzU4NiwgMS4xMDAyMTAxODk4MTkzMzZdLCBbMTY2Mzg0MTkxNC42ODc2NDk1LCAxNzYxMywgMS4xNjI0MDMyMjU4OTg3NDI3XSwgWzE2NjM4NDE5MTUuMDkwNDQzNiwgMTc2NDksIDEuMTA2OTgxOTkyNzIxNTU3Nl0sIFsxNjYzODQxOTE1LjE5MzA2MjMsIDE3NjU4LCAxLjEzNDA5MDQyMzU4Mzk4NDRdLCBbMTY2Mzg0MTkxNS4yOTA0OTQ0LCAxNzY2NywgMS4xNjM1MzA5NDU3Nzc4OTNdLCBbMTY2Mzg0MTkxNS4zOTI2NzY2LCAxNzY3NiwgMS4xNDM4ODU2MTI0ODc3OTNdLCBbMTY2Mzg0MTkxNS40OTA3MzM0LCAxNzY4NSwgMS4xMzY4OTM3NDkyMzcwNjA1XSwgWzE2NjM4NDE5MTUuNjg4NjY2LCAxNzcwMywgMS4wOTg5OTI5NDM3NjM3MzNdLCBbMTY2Mzg0MTkxNS43ODU2NDIsIDE3NzEyLCAxLjEyNDgzNDY1NjcxNTM5M10sIFsxNjYzODQxOTE1Ljg4NTM5OTYsIDE3NzIxLCAxLjA5OTk1MjY5Nzc1MzkwNjJdLCBbMTY2Mzg0MTkxNS45ODMyNTA5LCAxNzczMCwgMS4xMDg3ODMyNDUwODY2N10sIFsxNjYzODQxOTE2LjY4NTQ0MzYsIDE3Nzg0LCAxLjExMDg4NTM4MTY5ODYwODRdLCBbMTY2Mzg0MTkxNy4xMjY2MTksIDE3ODAyLCAxLjEwNTY4OTA0ODc2NzA4OThdLCBbMTY2Mzg0MTkxNy4yMjA3MzU4LCAxNzgxMSwgMS4xMTE3OTkzNTkzMjE1OTQyXSwgWzE2NjM4NDE5MTcuMzEwNDY0NiwgMTc4MjAsIDEuMTA4MDQ5MjczNDkwOTA1OF0sIFsxNjYzODQxOTE3LjQwNTMxMjMsIDE3ODI5LCAxLjA5ODcwODc0ODgxNzQ0MzhdLCBbMTY2Mzg0MTkxNy40OTYzODM0LCAxNzgzOCwgMS4xMTgwMDQzMjIwNTIwMDJdLCBbMTY2Mzg0MTkxNy41ODkwMTI0LCAxNzg0NywgMS4xMjE1NzgwOTczNDM0NDQ4XSwgWzE2NjM4NDE5MTcuNjc4ODQwNiwgMTc4NTYsIDEuMTA5MDc4NTI2NDk2ODg3Ml0sIFsxNjYzODQxOTE3Ljg4MzY5NSwgMTc4NzQsIDEuMTI0Mjc3ODMwMTIzOTAxNF0sIFsxNjYzODQxOTE4LjA3NDk1NiwgMTc4OTIsIDEuMTIyMTcwMjA5ODg0NjQzNl0sIFsxNjYzODQxOTE4LjE3OTg1ODcsIDE3OTAxLCAxLjExNDEwMjk1OTYzMjg3MzVdLCBbMTY2Mzg0MTkxOC4yNzE4MDA4LCAxNzkxMCwgMS4xMTA3ODc3NDkyOTA0NjYzXSwgWzE2NjM4NDE5MTguNDY3ODM4OCwgMTc5MjgsIDEuMTA4NjAzMjM5MDU5NDQ4Ml0sIFsxNjYzODQxOTE4LjU2NjEzMjMsIDE3OTM3LCAxLjA4MzM1NzMzNDEzNjk2M10sIFsxNjYzODQxOTE4LjY2MTg4NTUsIDE3OTQ2LCAxLjExMTQ0OTU5OTI2NjA1MjJdLCBbMTY2Mzg0MTkxOC44NjczODQ3LCAxNzk2NCwgMS4xMDI3OTA3MTMzMTAyNDE3XSwgWzE2NjM4NDE5MTkuNTc5MDQ1NSwgMTgwMjcsIDEuMTUwNzQxNTc3MTQ4NDM3NV0sIFsxNjYzODQxOTIwLjE2NDQ2MTksIDE4MDgxLCAxLjEwOTEyOTE5MDQ0NDk0NjNdLCBbMTY2Mzg0MTkyMC45MTA5NDIzLCAxODE1MywgMS4xMzYyOTkzNzE3MTkzNjA0XSwgWzE2NjM4NDE5MjEuMDA3NTE2NCwgMTgxNjIsIDEuMTE5OTIyODc2MzU4MDMyMl0sIFsxNjYzODQxOTIxLjM5MjE5ODMsIDE4MTk4LCAxLjEyOTU0NjE2NTQ2NjMwODZdLCBbMTY2Mzg0MTkyMS40OTQ1MDA5LCAxODIwNywgMS4xMDkyNzE2NDU1NDU5NTk1XSwgWzE2NjM4NDE5MjEuNTgzNzcxLCAxODIxNiwgMS4xMDUzNDc3NTI1NzExMDZdLCBbMTY2Mzg0MTkyMS43NzQyNjM5LCAxODIzNCwgMS4wOTU3NzgzNDYwNjE3MDY1XSwgWzE2NjM4NDE5MjEuODY4ODQyOCwgMTgyNDMsIDEuMTEwNzc5MDQ3MDEyMzI5XSwgWzE2NjM4NDE5MjIuMDY2OTgyNywgMTgyNjEsIDEuMDkxMzk1NDk3MzIyMDgyNV0sIFsxNjYzODQxOTIyLjM0NDk1MzMsIDE4Mjg4LCAxLjEyNTA5MDI0MTQzMjE5XSwgWzE2NjM4NDE5MjIuNDM4MTg4MywgMTgyOTcsIDEuMTE1MzE3NTgzMDg0MTA2NF0sIFsxNjYzODQxOTIyLjYzMDkxMTQsIDE4MzE1LCAxLjEyNDM4NzYyMTg3OTU3NzZdLCBbMTY2Mzg0MTkyMi43MTg4NjI4LCAxODMyNCwgMS4xOTA0MTI1MjEzNjIzMDQ3XSwgWzE2NjM4NDE5MjIuODExNjE4NiwgMTgzMzMsIDEuMTI0MTkyMTE4NjQ0NzE0NF0sIFsxNjYzODQxOTIyLjk5MzY1NjQsIDE4MzUxLCAxLjA5NTI4NDcwMDM5MzY3NjhdLCBbMTY2Mzg0MTkyMy4yNDU0MDksIDE4MzY5LCAxLjEyNTgwNzQwNDUxODEyNzRdLCBbMTY2Mzg0MTkyMy4zNjMzODc2LCAxODM3OCwgMS4xMjQ5MjYwOTAyNDA0Nzg1XSwgWzE2NjM4NDE5MjMuNTY5NDIxOCwgMTgzOTYsIDEuMDkzMjk5NTA4MDk0Nzg3Nl0sIFsxNjYzODQxOTIzLjY4MTE1MSwgMTg0MDUsIDEuMTA2ODM2Nzk1ODA2ODg0OF0sIFsxNjYzODQxOTI0LjA0MTYxLCAxODQzMiwgMS4wNzU2MjcwODg1NDY3NTNdLCBbMTY2Mzg0MTkyNC4xNjQ0MjQ0LCAxODQ0MSwgMS4xMjkzODMwODcxNTgyMDMxXSwgWzE2NjM4NDE5MjQuMjk2ODc4OCwgMTg0NTAsIDEuMTQ2MTg3NDI0NjU5NzI5XSwgWzE2NjM4NDE5MjQuOTI5OTMyOCwgMTg0OTUsIDEuMTA2MTEzMTk1NDE5MzExNV0sIFsxNjYzODQxOTI1LjAyMjY3MzEsIDE4NTA0LCAxLjA5NjIyODM2MTEyOTc2MDddLCBbMTY2Mzg0MTkyNS4xMjE1OTY4LCAxODUxMywgMS4xMTc5Njg2Nzg0NzQ0MjYzXSwgWzE2NjM4NDE5MjUuMjI0OTQ2LCAxODUyMiwgMS4xMjM0Mjc3NDg2ODAxMTQ3XSwgWzE2NjM4NDE5MjYuNDEwODc1MywgMTg2MTIsIDEuMTQ2MjMzMDgxODE3NjI3XSwgWzE2NjM4NDE5MjYuNTAwMTMxOCwgMTg2MjEsIDEuMTM1ODE0Nzg1OTU3MzM2NF0sIFsxNjYzODQxOTI2LjY4NzgyMzMsIDE4NjM5LCAxLjA5NTMxMzMxMDYyMzE2OV0sIFsxNjYzODQxOTI2Ljg3Mjg3ODMsIDE4NjU3LCAxLjA5MTcwOTQ5NDU5MDc1OTNdLCBbMTY2Mzg0MTkyNy4wNTk3MjAzLCAxODY3NSwgMS4xMTkxNzc1Nzk4Nzk3NjA3XSwgWzE2NjM4NDE5MjcuNTE4NDU2LCAxODcxMSwgMS4xMjI3OTU4MjAyMzYyMDZdLCBbMTY2Mzg0MTkyNy42NDg0MTQsIDE4NzIwLCAxLjEzMTIwNTY3Nzk4NjE0NV1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_08-28-19_54c5144e9b50&tag=Loss%2Ftrain":{"data":"W1sxNjYzOTIxNjk5LjU0OTQ4LCA5LCAxMTMuODg4Njg3MTMzNzg5MDZdLCBbMTY2MzkyMTY5OS43Njc1OTIyLCAyNywgMzQuNjM5NTg3NDAyMzQzNzVdLCBbMTY2MzkyMTY5OS44ODc3NDMyLCAzNiwgMjEuNDc1NDIxOTA1NTE3NTc4XSwgWzE2NjM5MjE2OTkuOTk3ODU4NSwgNDUsIDE4LjI4MzAzMTQ2MzYyMzA0N10sIFsxNjYzOTIxNzAwLjQ5OTU2OTcsIDcyLCAxMS43NTMyMzQ4NjMyODEyNV0sIFsxNjYzOTIxNzAwLjcxODIsIDkwLCA5LjM3MDkwOTY5MDg1NjkzNF0sIFsxNjYzOTIxNzAwLjgzMjMzMjgsIDk5LCA4LjQyODU2MzExNzk4MDk1N10sIFsxNjYzOTIxNzAwLjk0OTU3MSwgMTA4LCA3LjU3NjY0Mzk0Mzc4NjYyMV0sIFsxNjYzOTIxNzAxLjMwMzM1NTcsIDEzNSwgNi4xMjgwMjY5NjIyODAyNzNdLCBbMTY2MzkyMTcwMS40MTU2MzI1LCAxNDQsIDUuODc0MDM2MzEyMTAzMjcxNV0sIFsxNjYzOTIxNzAxLjUyMTYzODYsIDE1MywgNS42MzI0MTMzODcyOTg1ODRdLCBbMTY2MzkyMTcwMS42MjM4OTM3LCAxNjIsIDUuNDIzMzg0MTg5NjA1NzEzXSwgWzE2NjM5MjE3MDEuNzQ1MzQ3MywgMTcxLCA1LjQzMjMwNDg1OTE2MTM3N10sIFsxNjYzOTIxNzAxLjg1MTYyNSwgMTgwLCA1LjMyNzU2MjgwODk5MDQ3ODVdLCBbMTY2MzkyMTcwMS45NzY5ODMzLCAxODksIDUuMTYzNTk3MTA2OTMzNTk0XSwgWzE2NjM5MjE3MDIuMjIxMjg1LCAyMDcsIDUuMDEzMTQ4Nzg0NjM3NDUxXSwgWzE2NjM5MjE3MDIuMzMzMDI5MywgMjE2LCA1LjAxOTIxNzQ5MTE0OTkwMl0sIFsxNjYzOTIxNzAyLjU0Mzk4OTIsIDIzNCwgNC45MjYwNjU0NDQ5NDYyODldLCBbMTY2MzkyMTcwMi42NjAzMDYyLCAyNDMsIDQuNzg3NTUxODc5ODgyODEyNV0sIFsxNjYzOTIxNzAyLjc1NjQxMzIsIDI1MiwgNC43Nzc2MDgzOTQ2MjI4MDNdLCBbMTY2MzkyMTcwMi44NzMwMDU0LCAyNjEsIDQuNzAwNTg0ODg4NDU4MjUyXSwgWzE2NjM5MjE3MDIuOTg1MTE2NSwgMjcwLCA0LjU5ODMxNjY2OTQ2NDExMV0sIFsxNjYzOTIxNzAzLjA5NjkyMjIsIDI3OSwgNC41NTAzNjgzMDkwMjA5OTZdLCBbMTY2MzkyMTcwMy4yMTYxNjcsIDI4OCwgNC41MzYzMjMwNzA1MjYxMjNdLCBbMTY2MzkyMTcwMy4zMTcyMTI4LCAyOTcsIDQuNDM5OTkwMDQzNjQwMTM3XSwgWzE2NjM5MjE3MDMuNDI2NDMxNCwgMzA2LCA0LjM2MzUyNjgyMTEzNjQ3NV0sIFsxNjYzOTIxNzAzLjUzNjk4NTksIDMxNSwgNC4zMTMwNjQ1NzUxOTUzMTI1XSwgWzE2NjM5MjE3MDMuNzcyNjkxLCAzMzMsIDQuMjU3Nzc5MTIxMzk4OTI2XSwgWzE2NjM5MjE3MDMuODg4ODM5MiwgMzQyLCA0LjE4NDk0Nzk2NzUyOTI5N10sIFsxNjYzOTIxNzAzLjk5OTE0MTIsIDM1MSwgNC4xMzQzNDgzOTI0ODY1NzJdLCBbMTY2MzkyMTcwNC4xMTI1ODcyLCAzNjAsIDQuMTE3NDc2OTQwMTU1MDI5XSwgWzE2NjM5MjE3MDQuMjIwMjg1MiwgMzY5LCA0LjA3OTc5MDU5MjE5MzYwMzVdLCBbMTY2MzkyMTcwNC40MzUzMDMsIDM4NywgMy45NTcwNDA3ODY3NDMxNjRdLCBbMTY2MzkyMTcwNC41NDc4NTIsIDM5NiwgMy44NDQyNDU5MTA2NDQ1MzEyXSwgWzE2NjM5MjE3MDQuOTYyMjEzMywgNDMyLCAzLjcxNjYwMDY1NjUwOTM5OTRdLCBbMTY2MzkyMTcwNS4wODU2MTU0LCA0NDEsIDMuNTk3MTQ5MTMzNjgyMjUxXSwgWzE2NjM5MjE3MDUuMjA1MDQ1NSwgNDUwLCAzLjU1NTI3OTQ5MzMzMTkwOV0sIFsxNjYzOTIxNzA1LjMyMjA4NTYsIDQ1OSwgMy41NTY0Nzc3ODUxMTA0NzM2XSwgWzE2NjM5MjE3MDUuNDM4MzIxNCwgNDY4LCAzLjUyMzU1MjQxNzc1NTEyN10sIFsxNjYzOTIxNzA1LjU1MDQ4OCwgNDc3LCAzLjUwOTI0OTQ0ODc3NjI0NV0sIFsxNjYzOTIxNzA1LjY1NjIwNTcsIDQ4NiwgMy40MzI2MTY0NzIyNDQyNjI3XSwgWzE2NjM5MjE3MDUuNzU4NzI0NSwgNDk1LCAzLjM3Nzc0NDQzNjI2NDAzOF0sIFsxNjYzOTIxNzA1Ljg3NDY4OSwgNTA0LCAzLjM0NTIxMzg5MDA3NTY4MzZdLCBbMTY2MzkyMTcwNi4xMDIzNTIxLCA1MjIsIDMuMjU1MTc2NTQ0MTg5NDUzXSwgWzE2NjM5MjE3MDYuMjI4MTc2NiwgNTMxLCAzLjIyNzc1ODQwNzU5Mjc3MzRdLCBbMTY2MzkyMTcwNi40NjYyOTA3LCA1NDksIDMuMTgzMjQ3ODA0NjQxNzIzNl0sIFsxNjYzOTIxNzA2LjU2ODY1MDIsIDU1OCwgMy4xMjAxNzk0MTQ3NDkxNDU1XSwgWzE2NjM5MjE3MDYuNjc1ODk4NiwgNTY3LCAzLjA5MjQzNTgzNjc5MTk5Ml0sIFsxNjYzOTIxNzA2Ljc5MTczNTQsIDU3NiwgMy4xMTYwMjMzMDIwNzgyNDddLCBbMTY2MzkyMTcwNy4wMDMxMDc4LCA1OTQsIDIuOTg3Mjg3MjgyOTQzNzI1Nl0sIFsxNjYzOTIxNzA3LjEyNTQ4NjQsIDYwMywgMi45NjcwNjI3MTE3MTU2OTgyXSwgWzE2NjM5MjE3MDcuMjQwNjE5LCA2MTIsIDIuOTE1MDE5MjczNzU3OTM0Nl0sIFsxNjYzOTIxNzA3LjM1MzgxMTMsIDYyMSwgMi45MTMxOTc5OTQyMzIxNzc3XSwgWzE2NjM5MjE3MDcuNTY1NTUwMywgNjM5LCAyLjg0NzA0OTk1MTU1MzM0NDddLCBbMTY2MzkyMTcwNy42NzIyNDQ4LCA2NDgsIDIuODAyOTIxNzcyMDAzMTc0XSwgWzE2NjM5MjE3MDcuNzk1NTY4NSwgNjU3LCAyLjc4Njc0MjkyNTY0MzkyMV0sIFsxNjYzOTIxNzA3Ljg5ODg4MDcsIDY2NiwgMi43Mzk4NTYwMDQ3MTQ5NjZdLCBbMTY2MzkyMTcwOC4xMjA0MDY2LCA2ODQsIDIuNzAzOTYyMDg3NjMxMjI1Nl0sIFsxNjYzOTIxNzA4LjMzNTQwOCwgNzAyLCAyLjY0MjQ4MDYxMTgwMTE0NzVdLCBbMTY2MzkyMTcwOC40NTg4MDgsIDcxMSwgMi42MjQyNzE4Njk2NTk0MjRdLCBbMTY2MzkyMTcwOC41NzQ2NTk4LCA3MjAsIDIuNjE0ODUxMjM2MzQzMzg0XSwgWzE2NjM5MjE3MDguNjg5MDAxOCwgNzI5LCAyLjYwNzMxNjQ5Mzk4ODAzN10sIFsxNjYzOTIxNzA4Ljc5MDA4MDMsIDczOCwgMi41ODc5ODQzMjM1MDE1ODddLCBbMTY2MzkyMTcwOC44ODYxNjg3LCA3NDcsIDIuNDkyNTExNTEwODQ4OTk5XSwgWzE2NjM5MjE3MDguOTg0NzgwMywgNzU2LCAyLjUxODg3OTg5MDQ0MTg5NDVdLCBbMTY2MzkyMTcwOS4xODMyODM4LCA3NzQsIDIuNTA5OTMxMzI1OTEyNDc1Nl0sIFsxNjYzOTIxNzA5LjI3MzQzMTUsIDc4MywgMi40NjA2OTQ3ODk4ODY0NzQ2XSwgWzE2NjM5MjE3MDkuMzY2Mjk4NywgNzkyLCAyLjQ3Njk1NTE3NTM5OTc4MDNdLCBbMTY2MzkyMTcwOS41NjA3MSwgODEwLCAyLjM2OTYxMzQwOTA0MjM1ODRdLCBbMTY2MzkyMTcwOS42NTUyMTUzLCA4MTksIDIuMzgwOTUwNDUwODk3MjE3XSwgWzE2NjM5MjE3MTAuMTM4ODYyNCwgODM3LCAyLjM4MTIwODE4MTM4MTIyNTZdLCBbMTY2MzkyMTcxMC41MzgzNzEsIDg1NSwgMi4zNDQ5ODM1Nzc3MjgyNzE1XSwgWzE2NjM5MjE3MTAuNjU3MTcwOCwgODY0LCAyLjMwNjgzNzMyMDMyNzc1OV0sIFsxNjYzOTIxNzEwLjkzNTc2OCwgODczLCAyLjMwNDUzNDQzNTI3MjIxN10sIFsxNjYzOTIxNzExLjMwMzExNzgsIDkwMCwgMi4yMzk3MTY3NjgyNjQ3NzA1XSwgWzE2NjM5MjE3MTEuMzk3NTEzMiwgOTA5LCAyLjI5NDg4NTE1ODUzODgxODRdLCBbMTY2MzkyMTcxMS40OTU4NDM2LCA5MTgsIDIuMjQ4MDI1MTc4OTA5MzAxOF0sIFsxNjYzOTIxNzExLjcyNzExNTIsIDkzNiwgMi4yMjk3NTQ0NDc5MzcwMTE3XSwgWzE2NjM5MjE3MTEuOTkxMzM5NywgOTQ1LCAyLjE4NTE0MzIzMjM0NTU4MV0sIFsxNjYzOTIxNzEyLjIzMDM4NTMsIDk2MywgMi4yMDM2MTkyNDE3MTQ0Nzc1XSwgWzE2NjM5MjE3MTIuMzMyMTUyOCwgOTcyLCAyLjIwODYxMzM5NTY5MDkxOF0sIFsxNjYzOTIxNzEyLjQ0MjUxNSwgOTgxLCAyLjE0MjE2MTM2OTMyMzczMDVdLCBbMTY2MzkyMTcxMi41MzQ3OTU1LCA5OTAsIDIuMTY1ODU1NDA3NzE0ODQzOF0sIFsxNjYzOTIxNzEyLjYyODE5MDUsIDk5OSwgMi4xNjA2MTYzOTc4NTc2NjZdLCBbMTY2MzkyMTcxMi43NjE1NDk3LCAxMDA4LCAyLjE0MDIxMzk2NjM2OTYyOV0sIFsxNjYzOTIxNzEyLjg2NTk4NzgsIDEwMTcsIDIuMTI4NjY0MjU1MTQyMjEyXSwgWzE2NjM5MjE3MTMuMDc2NTA1NCwgMTAzNSwgMi4xNDc5MDYzMDM0MDU3NjE3XSwgWzE2NjM5MjE3MTMuMTcwOTA4NywgMTA0NCwgMi4wOTM3OTY3MzAwNDE1MDRdLCBbMTY2MzkyMTcxMy4yNzM3NSwgMTA1MywgMi4xMDU4NTU5NDE3NzI0NjFdLCBbMTY2MzkyMTcxMy4zNzEwMTAzLCAxMDYyLCAyLjEzNjcxNTY1MDU1ODQ3MTddLCBbMTY2MzkyMTcxMy41NjIwNjE4LCAxMDgwLCAyLjA3OTMzMDY4Mjc1NDUxNjZdLCBbMTY2MzkyMTcxMy42NTQ3NDQ0LCAxMDg5LCAyLjA1OTc5MjI4MDE5NzE0MzZdLCBbMTY2MzkyMTcxMy43NTgzMzc1LCAxMDk4LCAyLjA4ODM0OTU4MDc2NDc3MDVdLCBbMTY2MzkyMTcxMy45NDUxMTU2LCAxMTE2LCAyLjA4MzQxMDczOTg5ODY4MTZdLCBbMTY2MzkyMTcxNC4xMzgzNjUsIDExMzQsIDIuMDU4NDY5Mjk1NTAxNzA5XSwgWzE2NjM5MjE3MTQuMjM4Mzk2MiwgMTE0MywgMi4wNzg0OTk3OTQwMDYzNDc3XSwgWzE2NjM5MjE3MTQuMzkxMzIwMiwgMTE1MiwgMi4wNTEzMjc5NDM4MDE4OF0sIFsxNjYzOTIxNzE0LjUwMTA1OTUsIDExNjEsIDIuMDUzMjMxOTU0NTc0NTg1XSwgWzE2NjM5MjE3MTQuNjI0MjYxMSwgMTE3MCwgMi4wNTkzODcyMDcwMzEyNV0sIFsxNjYzOTIxNzE0LjczMTI2MTMsIDExNzksIDIuMDM4ODQzMTU0OTA3MjI2Nl0sIFsxNjYzOTIxNzE0LjgzOTkwNzYsIDExODgsIDIuMDQzNjc5NDc1Nzg0MzAxOF0sIFsxNjYzOTIxNzE0Ljk1MDgyODMsIDExOTcsIDEuOTg1MTkxODIyMDUyMDAyXSwgWzE2NjM5MjE3MTUuMTY1NjI5OSwgMTIxNSwgMi4wNjA4NzY2MDc4OTQ4OTc1XSwgWzE2NjM5MjE3MTUuMzcxMDc3NSwgMTIzMywgMS45ODUwNDkwMDkzMjMxMjAxXSwgWzE2NjM5MjE3MTUuNDgyMTYwOCwgMTI0MiwgMi4wMTcwNDU0OTc4OTQyODddLCBbMTY2MzkyMTcxNS41ODU3NTM0LCAxMjUxLCAxLjk4NTg0MjU4NTU2MzY1OTddLCBbMTY2MzkyMTcxNS42ODc0MDc3LCAxMjYwLCAyLjAyMDg3ODA3NjU1MzM0NDddLCBbMTY2MzkyMTcxNS43ODUwMzc1LCAxMjY5LCAxLjk5MjMzOTAxNTAwNzAxOV0sIFsxNjYzOTIxNzE1LjkxNzAzMjUsIDEyNzgsIDIuMDA0MDAxNjE3NDMxNjQwNl0sIFsxNjYzOTIxNzE2LjEzNTkzNDQsIDEyOTYsIDEuOTk5OTUxMzYyNjA5ODYzM10sIFsxNjYzOTIxNzE2LjIzODA0NDcsIDEzMDUsIDEuOTc0NTQwNTkxMjM5OTI5Ml0sIFsxNjYzOTIxNzE2LjM0ODU4MjUsIDEzMTQsIDIuMDA2OTM5MTcyNzQ0NzUxXSwgWzE2NjM5MjE3MTYuNDYwMjczNywgMTMyMywgMS45NTczMjkwMzQ4MDUyOTc5XSwgWzE2NjM5MjE3MTYuNTUxMDMyLCAxMzMyLCAxLjk3MTEyMDk1MzU1OTg3NTVdLCBbMTY2MzkyMTcxNi42NTAxODY4LCAxMzQxLCAxLjk1NzQ4NDAwNjg4MTcxMzldLCBbMTY2MzkyMTcxNi44MzQyNTUyLCAxMzU5LCAxLjkyOTU2NTMxMDQ3ODIxMDRdLCBbMTY2MzkyMTcxNy4xMzY2Njk0LCAxMzg2LCAxLjk1OTQ5NTc4Mjg1MjE3MjldLCBbMTY2MzkyMTcxNy4yNDExNjYsIDEzOTUsIDEuOTQ3MjE0MzY1MDA1NDkzMl0sIFsxNjYzOTIxNzE3LjQ3MTk4OTIsIDE0MTMsIDEuOTIxMzkyMjAyMzc3MzE5M10sIFsxNjYzOTIxNzE3LjU3NTM4NTYsIDE0MjIsIDEuODg5NTk3Mjk2NzE0NzgyN10sIFsxNjYzOTIxNzE3LjY3MTU5MjIsIDE0MzEsIDEuOTAxODk5MjE4NTU5MjY1MV0sIFsxNjYzOTIxNzE3Ljc3MDgzOCwgMTQ0MCwgMS45NjE1MTQ1OTIxNzA3MTUzXSwgWzE2NjM5MjE3MTcuODY4NjM1NywgMTQ0OSwgMS45MTU4MzE1NjU4NTY5MzM2XSwgWzE2NjM5MjE3MTcuOTU4OTIyNCwgMTQ1OCwgMS44OTc5NTcwODY1NjMxMTA0XSwgWzE2NjM5MjE3MTguMDU3MTYwNiwgMTQ2NywgMS44ODM0MzIzODgzMDU2NjRdLCBbMTY2MzkyMTcxOC4xNzU1NTU1LCAxNDc2LCAxLjkzOTI1MDM0OTk5ODQ3NDFdLCBbMTY2MzkyMTcxOC4yODU2NTksIDE0ODUsIDEuODk3NzcyMzEyMTY0MzA2Nl0sIFsxNjYzOTIxNzE4LjUwMjI4NjIsIDE1MDMsIDEuOTAxNjMzOTc3ODkwMDE0Nl0sIFsxNjYzOTIxNzE4LjcwNjIxNjgsIDE1MjEsIDEuODgyODA0Mjc0NTU5MDIxXSwgWzE2NjM5MjE3MTguODAzMTI0NywgMTUzMCwgMS44NzMxNjk4OTg5ODY4MTY0XSwgWzE2NjM5MjE3MTguODk5ODQxNSwgMTUzOSwgMS44NTc3MTYyMDI3MzU5MDA5XSwgWzE2NjM5MjE3MTkuMDAxODAzLCAxNTQ4LCAxLjg4NjU3NTQ2MDQzMzk2XSwgWzE2NjM5MjE3MTkuMDk5NTU1NywgMTU1NywgMS45MDIwNTgzNjI5NjA4MTU0XSwgWzE2NjM5MjE3MTkuMjg2MDA0OCwgMTU3NSwgMS44NzU3NTY4NTk3NzkzNThdLCBbMTY2MzkyMTcxOS4zOTE2NDMzLCAxNTg0LCAxLjg3MDk3NTg1MjAxMjYzNDNdLCBbMTY2MzkyMTcxOS41NDU2OTc1LCAxNTkzLCAxLjg2NjEzNTU5NzIyOTAwNF0sIFsxNjYzOTIxNzE5LjYzNjgzNCwgMTYwMiwgMS44Nzc1OTIyMDYwMDEyODE3XSwgWzE2NjM5MjE3MTkuNzI3NTEsIDE2MTEsIDEuODY2OTE5MTU5ODg5MjIxMl0sIFsxNjYzOTIxNzE5LjkxODEwMTMsIDE2MjksIDEuODY0NzE4Njc1NjEzNDAzM10sIFsxNjYzOTIxNzIwLjIwOTA3NzYsIDE2MzgsIDEuODk0NTMzNjM0MTg1NzkxXSwgWzE2NjM5MjE3MjAuMjk2NzUzNiwgMTY0NywgMS44MzM0MzM2MjgwODIyNzU0XSwgWzE2NjM5MjE3MjAuNDAzNzEzLCAxNjU2LCAxLjgyNTQxNzg3NjI0MzU5MTNdLCBbMTY2MzkyMTcyMC41MDE2MzgsIDE2NjUsIDEuODQzMDE2NzQzNjU5OTczMV0sIFsxNjYzOTIxNzIwLjU5MjE1MywgMTY3NCwgMS44NDI5ODAxNDY0MDgwODFdLCBbMTY2MzkyMTcyMC43MDI1Njk1LCAxNjgzLCAxLjg1NDg5MzkyMjgwNTc4NjFdLCBbMTY2MzkyMTcyMC45ODYzMzM4LCAxNzEwLCAxLjgyMjI3NzE4ODMwMTA4NjRdLCBbMTY2MzkyMTcyMS4wNzc2ODYsIDE3MTksIDEuODEyNDY0MjM3MjEzMTM0OF0sIFsxNjYzOTIxNzIxLjIwMDM5NTMsIDE3MjgsIDEuODI2NDk3NjczOTg4MzQyM10sIFsxNjYzOTIxNzIxLjMwMzM3NzYsIDE3MzcsIDEuODEyMzkxOTk2MzgzNjY3XSwgWzE2NjM5MjE3MjEuNDEyMjM5OCwgMTc0NiwgMS44MjkwOTA4MzM2NjM5NDA0XSwgWzE2NjM5MjE3MjEuNjU4MTE2LCAxNzY0LCAxLjg0NzIwNTQwMDQ2NjkxOV0sIFsxNjYzOTIxNzIxLjg2ODkxOTYsIDE3ODIsIDEuNzgwNjY1Mzk3NjQ0MDQzXSwgWzE2NjM5MjE3MjEuOTYzMDcwOSwgMTc5MSwgMS44MjMzMjMxMzA2MDc2MDVdLCBbMTY2MzkyMTcyMi4wNjY5NTY4LCAxODAwLCAxLjgxOTgxMDUwOTY4MTcwMTddLCBbMTY2MzkyMTcyMi4xNTg5MTMxLCAxODA5LCAxLjgxMjcxOTEwNjY3NDE5NDNdLCBbMTY2MzkyMTcyMi4zNDQ0MSwgMTgyNywgMS44MDQ3ODAxMjU2MTc5ODFdLCBbMTY2MzkyMTcyMi40NDE4ODQ4LCAxODM2LCAxLjc3MDA4ODA3NjU5MTQ5MTddLCBbMTY2MzkyMTcyMi41NDAzMjc4LCAxODQ1LCAxLjgzNTI1NDQzMDc3MDg3NF0sIFsxNjYzOTIxNzIyLjY2MTA1NiwgMTg1NCwgMS44MjU5MDM3NzMzMDc4MDAzXSwgWzE2NjM5MjE3MjIuNzYwMDU4NCwgMTg2MywgMS44MTk2NTc4MDI1ODE3ODddLCBbMTY2MzkyMTcyMi44NTUxNjI0LCAxODcyLCAxLjc1NDQ1NzQ3Mzc1NDg4MjhdLCBbMTY2MzkyMTcyMi45NDg3Mzg4LCAxODgxLCAxLjc3MTQ3MTUwMDM5NjcyODVdLCBbMTY2MzkyMTcyMy4wNDM3NTMsIDE4OTAsIDEuNzc3NTMzMDU0MzUxODA2Nl0sIFsxNjYzOTIxNzIzLjEzNTMxOTIsIDE4OTksIDEuNzM3ODMwNDAwNDY2OTE5XSwgWzE2NjM5MjE3MjMuMjI3NjA2OCwgMTkwOCwgMS43NDg0OTczNjY5MDUyMTI0XSwgWzE2NjM5MjE3MjMuNDE4OTEwMywgMTkyNiwgMS43ODU3Mjc1MDA5MTU1MjczXSwgWzE2NjM5MjE3MjMuNTExNTQ1NywgMTkzNSwgMS43NTMzMDExNDM2NDYyNDAyXSwgWzE2NjM5MjE3MjMuNjE2MDQzOCwgMTk0NCwgMS43Njk2ODgxMjk0MjUwNDg4XSwgWzE2NjM5MjE3MjMuNzA5NzA1OCwgMTk1MywgMS43MzE5NTQ5MzIyMTI4Mjk2XSwgWzE2NjM5MjE3MjMuODk2OTU3LCAxOTcxLCAxLjc4MTk1MDM1NDU3NjExMDhdLCBbMTY2MzkyMTcyMy45ODczNzUzLCAxOTgwLCAxLjc1NTE2MDkyNzc3MjUyMl0sIFsxNjYzOTIxNzI0LjA4MTk2NCwgMTk4OSwgMS43NDgxMTcyMDg0ODA4MzVdLCBbMTY2MzkyMTcyNC4xNzYzNzYsIDE5OTgsIDEuNzc5NzM5MTQxNDY0MjMzNF0sIFsxNjYzOTIxNzI0LjI3MzM1NTcsIDIwMDcsIDEuNzgzMzY2MzIyNTE3Mzk1XSwgWzE2NjM5MjE3MjQuMzYzMzEzMiwgMjAxNiwgMS43MjgyNzQ5NDE0NDQzOTddLCBbMTY2MzkyMTcyNC40NzMwMjEzLCAyMDI1LCAxLjcyOTA5NDYyNDUxOTM0ODFdLCBbMTY2MzkyMTcyNC41NjkwNjc1LCAyMDM0LCAxLjcxMjU1MjE4OTgyNjk2NTNdLCBbMTY2MzkyMTcyNC42Njk3MjU3LCAyMDQzLCAxLjcwNzMxNTQ0NDk0NjI4OV0sIFsxNjYzOTIxNzI0Ljk1NDUyNzksIDIwNzAsIDEuNzMwODIwNTM2NjEzNDY0NF0sIFsxNjYzOTIxNzI1LjEzODIwMTcsIDIwODgsIDEuNzU0NzA3MjE3MjE2NDkxN10sIFsxNjYzOTIxNzI1LjI0Nzc1MzYsIDIwOTcsIDEuNzE4MDIwMjAwNzI5MzcwMV0sIFsxNjYzOTIxNzI1LjM0MTA5OTMsIDIxMDYsIDEuNzM5MDc0MzQ5NDAzMzgxM10sIFsxNjYzOTIxNzI1LjQ0ODc5OTEsIDIxMTUsIDEuNjczMDY3MjEyMTA0Nzk3NF0sIFsxNjYzOTIxNzI1LjU0Mzc4MjIsIDIxMjQsIDEuNjg2MTIxMTA2MTQ3NzY2MV0sIFsxNjYzOTIxNzI1LjYzNzcyODcsIDIxMzMsIDEuNzA0MTY2MTczOTM0OTM2NV0sIFsxNjYzOTIxNzI1LjczOTU5NiwgMjE0MiwgMS42OTc3MzI5MjU0MTUwMzldLCBbMTY2MzkyMTcyNS44MzQxNDY3LCAyMTUxLCAxLjY5MzQ0OTEzOTU5NTAzMTddLCBbMTY2MzkyMTcyNS45Mjg1MjI2LCAyMTYwLCAxLjcyOTI3NTgyMjYzOTQ2NTNdLCBbMTY2MzkyMTcyNi4xMjAzMzUzLCAyMTc4LCAxLjcwMTA5NzAxMTU2NjE2Ml0sIFsxNjYzOTIxNzI2LjIxNjg3MSwgMjE4NywgMS42ODc0OTU3MDg0NjU1NzYyXSwgWzE2NjM5MjE3MjYuNDA5MTUxLCAyMjA1LCAxLjczNDA3NzU3MjgyMjU3MDhdLCBbMTY2MzkyMTcyNi40OTkxNTk2LCAyMjE0LCAxLjY5ODgzMDcyMzc2MjUxMjJdLCBbMTY2MzkyMTcyNi41OTQyMjQyLCAyMjIzLCAxLjY3MDc1NDA3NTA1MDM1NF0sIFsxNjYzOTIxNzI2LjY4MDk4NSwgMjIzMiwgMS42NjE1NDM4NDYxMzAzNzFdLCBbMTY2MzkyMTcyNi43Nzc0NzU0LCAyMjQxLCAxLjcwMzYyNjYzMjY5MDQyOTddLCBbMTY2MzkyMTcyNi45MTYyOTQzLCAyMjUwLCAxLjY1MDI3NDAzODMxNDgxOTNdLCBbMTY2MzkyMTcyNy4yMDMxOTQxLCAyMjc3LCAxLjY3NTEyNzM4NzA0NjgxNF0sIFsxNjYzOTIxNzI3LjMwMDkwMzMsIDIyODYsIDEuNjYzMTc3OTY3MDcxNTMzMl0sIFsxNjYzOTIxNzI3LjM5Mjg2MjgsIDIyOTUsIDEuNjM4ODczMTAwMjgwNzYxN10sIFsxNjYzOTIxNzI3LjQ4MTg0MjgsIDIzMDQsIDEuNjQ3MjI5NTUyMjY4OTgyXSwgWzE2NjM5MjE3MjcuNjU5NDc2MywgMjMyMiwgMS42MzQwNzY0NzYwOTcxMDddLCBbMTY2MzkyMTcyNy43NDgxNjYsIDIzMzEsIDEuNjY3Mzk2NjY0NjE5NDQ1OF0sIFsxNjYzOTIxNzI3Ljg0OTY4NzYsIDIzNDAsIDEuNjM3NzMzMTAxODQ0Nzg3Nl0sIFsxNjYzOTIxNzI3Ljk0NDI3NzgsIDIzNDksIDEuNjc3NTg3NzQ3NTczODUyNV0sIFsxNjYzOTIxNzI4LjE0OTg0NjgsIDIzNjcsIDEuNjQzMzIxNTE0MTI5NjM4N10sIFsxNjYzOTIxNzI4LjI1MjM1MjIsIDIzNzYsIDEuNjEwMjU0MTY4NTEwNDM3XSwgWzE2NjM5MjE3MjguNzI4ODYzNSwgMjM5NCwgMS42NDE2MDIyNzc3NTU3MzczXSwgWzE2NjM5MjE3MjkuMDgwMjUzNCwgMjQyMSwgMS42NDM2OTY1NDY1NTQ1NjU0XSwgWzE2NjM5MjE3MjkuMjg1NTAxLCAyNDM5LCAxLjY3NTU1OTI4MjMwMjg1NjRdLCBbMTY2MzkyMTcyOS4zODgyNzgyLCAyNDQ4LCAxLjYxODc0NjA0MjI1MTU4N10sIFsxNjYzOTIxNzI5LjU5MjQ0MywgMjQ2NiwgMS42MTc1NDI5ODIxMDE0NDA0XSwgWzE2NjM5MjE3MjkuNzE1OTU5NSwgMjQ3NSwgMS42MTY1NDA5MDg4MTM0NzY2XSwgWzE2NjM5MjE3MjkuODU0OTQwMiwgMjQ4NCwgMS42MjM3Mzk5NTc4MDk0NDgyXSwgWzE2NjM5MjE3MjkuOTc2NDIxLCAyNDkzLCAxLjYwNDkwNjY3ODE5OTc2OF0sIFsxNjYzOTIxNzMwLjE5NTcxNiwgMjUxMSwgMS42MTAzOTY2MjM2MTE0NTAyXSwgWzE2NjM5MjE3MzAuMzA4NzU1NiwgMjUyMCwgMS42MDcwNTQ4Mjk1OTc0NzMxXSwgWzE2NjM5MjE3MzAuNDMyODc1MiwgMjUyOSwgMS42MTgwMjE3MjY2MDgyNzY0XSwgWzE2NjM5MjE3MzAuNTMzNTUyLCAyNTM4LCAxLjYzNDMwNDQwNDI1ODcyOF0sIFsxNjYzOTIxNzMwLjY0NTk0MDMsIDI1NDcsIDEuNjIxNTQ0MzYxMTE0NTAyXSwgWzE2NjM5MjE3MzAuNzQzNTQzNCwgMjU1NiwgMS41ODYyMDA3MTQxMTEzMjgxXSwgWzE2NjM5MjE3MzAuODUzMzcwNCwgMjU2NSwgMS42MTQ0NDY5OTc2NDI1MTddLCBbMTY2MzkyMTczMC45NTYxNzQsIDI1NzQsIDEuNjEzODQyMTI5NzA3MzM2NF0sIFsxNjYzOTIxNzMxLjA1NTAyMjIsIDI1ODMsIDEuNjE4MTQyMzY2NDA5MzAxOF0sIFsxNjYzOTIxNzMxLjE1ODc3OTEsIDI1OTIsIDEuNTcxMzc5MzAzOTMyMTldLCBbMTY2MzkyMTczMS4yNjgwNTA3LCAyNjAxLCAxLjU3MTQxNTMwNTEzNzYzNDNdLCBbMTY2MzkyMTczMS41MDQ4Mjc3LCAyNjE5LCAxLjYwNjMxMjYzMjU2MDczXSwgWzE2NjM5MjE3MzEuNTkzODM1OCwgMjYyOCwgMS41ODQzODEzNDE5MzQyMDRdLCBbMTY2MzkyMTczMS45NzUwNjEsIDI2NjQsIDEuNTk0Mjg3OTkxNTIzNzQyN10sIFsxNjYzOTIxNzMyLjA3ODMyMTIsIDI2NzMsIDEuNTY0NDUzNjAxODM3MTU4Ml0sIFsxNjYzOTIxNzMyLjE4NDQyLCAyNjgyLCAxLjU3MzE0NTUwODc2NjE3NDNdLCBbMTY2MzkyMTczMi4yNzEzMjA4LCAyNjkxLCAxLjU4NTk2ODM3NTIwNTk5MzddLCBbMTY2MzkyMTczMi4zNjg3MDU3LCAyNzAwLCAxLjU4NzAzNzU2MzMyMzk3NDZdLCBbMTY2MzkyMTczMi40NjM0MTksIDI3MDksIDEuNTUyNDUxODQ4OTgzNzY0Nl0sIFsxNjYzOTIxNzMyLjU2MzQxMzEsIDI3MTgsIDEuNTg3MjcwNjE3NDg1MDQ2NF0sIFsxNjYzOTIxNzMyLjc1NDA3MSwgMjczNiwgMS41MzU2ODk1OTIzNjE0NTAyXSwgWzE2NjM5MjE3MzIuODQ3NzU3MywgMjc0NSwgMS41NDg4NDQ4MTQzMDA1MzddLCBbMTY2MzkyMTczMi45MzgyMDA1LCAyNzU0LCAxLjU4MDQ4NjUzNjAyNjAwMV0sIFsxNjYzOTIxNzMzLjAzNjA4NCwgMjc2MywgMS41Nzc5NTg0NjQ2MjI0OTc2XSwgWzE2NjM5MjE3MzMuMTYzNjM3OSwgMjc3MiwgMS42MDMxMjIyMzQzNDQ0ODI0XSwgWzE2NjM5MjE3MzMuMjgzMTk4LCAyNzgxLCAxLjU2MTM2NDc2OTkzNTYwOF0sIFsxNjYzOTIxNzMzLjQwODIyNCwgMjc5MCwgMS41MzkwMzQyNDczOTgzNzY1XSwgWzE2NjM5MjE3MzMuNTg4ODQzLCAyODA4LCAxLjU2NjYzMTE5NzkyOTM4MjNdLCBbMTY2MzkyMTczMy42ODI3NTUyLCAyODE3LCAxLjUyODM1Mjg1NjYzNjA0NzRdLCBbMTY2MzkyMTczMy43NzY2NjMzLCAyODI2LCAxLjYwMjM1MzkzMDQ3MzMyNzZdLCBbMTY2MzkyMTczMy44NjQ5NzksIDI4MzUsIDEuNTU4MDg2NTE0NDcyOTYxNF0sIFsxNjYzOTIxNzMzLjk1NjI2OTMsIDI4NDQsIDEuNTY3NzIzNzUxMDY4MTE1Ml0sIFsxNjYzOTIxNzM0LjA0OTk3NDQsIDI4NTMsIDEuNTM0ODEzMjg0ODczOTYyNF0sIFsxNjYzOTIxNzM0LjI1MTQwMTcsIDI4NzEsIDEuNTM3ODA4MDYwNjQ2MDU3MV0sIFsxNjYzOTIxNzM0LjM0Mzc5NDMsIDI4ODAsIDEuNTUzNjAwNTQ5Njk3ODc2XSwgWzE2NjM5MjE3MzQuNDQzNDEzNSwgMjg4OSwgMS41MzA1OTk1OTQxMTYyMTFdLCBbMTY2MzkyMTczNC41Mzk2MTc4LCAyODk4LCAxLjUyMzk0NDYxNjMxNzc0OV0sIFsxNjYzOTIxNzM0LjY0MTQ1ODMsIDI5MDcsIDEuNTIyODc5NjAwNTI0OTAyM10sIFsxNjYzOTIxNzM0LjgzMDgxMzYsIDI5MjUsIDEuNTIzODg2NTYxMzkzNzM3OF0sIFsxNjYzOTIxNzM1LjExMzA0NzEsIDI5NTIsIDEuNTA2MDkwMjgzMzkzODU5OV0sIFsxNjYzOTIxNzM1LjMxMjMwODgsIDI5NzAsIDEuNTE2NzU3NDg4MjUwNzMyNF0sIFsxNjYzOTIxNzM1LjQyNzM4MjUsIDI5NzksIDEuNTMwNDIyMjEwNjkzMzU5NF0sIFsxNjYzOTIxNzM1LjUxODMzMzIsIDI5ODgsIDEuNTMxMzg3OTI1MTQ4MDEwM10sIFsxNjYzOTIxNzM1LjYxMDk2NCwgMjk5NywgMS41MDA5NzQyOTc1MjM0OTg1XSwgWzE2NjM5MjE3MzUuNzA3OTA3NywgMzAwNiwgMS41MDg1NTc1NTgwNTk2OTI0XSwgWzE2NjM5MjE3MzUuODA3MjkxNywgMzAxNSwgMS41MTA4MDE2NzI5MzU0ODU4XSwgWzE2NjM5MjE3MzUuOTk5NDIzNywgMzAzMywgMS41NTMyMTI4ODEwODgyNTY4XSwgWzE2NjM5MjE3MzYuMDkzMjE5MywgMzA0MiwgMS40OTM1ODY2NTk0MzE0NTc1XSwgWzE2NjM5MjE3MzYuMjA5MjQzLCAzMDUxLCAxLjUwNjY5OTgwMDQ5MTMzM10sIFsxNjYzOTIxNzM2LjQ3OTU2MywgMzA2OSwgMS40ODc4OTQ1MzUwNjQ2OTczXSwgWzE2NjM5MjE3MzYuNjAyOTM2NywgMzA3OCwgMS41MDY5NDIwMzM3Njc3MDAyXSwgWzE2NjM5MjE3MzYuNzE5MzIyMiwgMzA4NywgMS41MTEyMzMzMjk3NzI5NDkyXSwgWzE2NjM5MjE3MzYuODI3MzE0LCAzMDk2LCAxLjUwODYxNjQ0NzQ0ODczMDVdLCBbMTY2MzkyMTczNi45NDMyNzg4LCAzMTA1LCAxLjUwMjY3ODYzMjczNjIwNl0sIFsxNjYzOTIxNzM3LjA1MjgzMjYsIDMxMTQsIDEuNTE4OTM5MjU2NjY4MDkwOF0sIFsxNjYzOTIxNzM3LjE2MjQyOTMsIDMxMjMsIDEuNDg0OTUzODgwMzEwMDU4Nl0sIFsxNjYzOTIxNzM3LjI2MTIxNDMsIDMxMzIsIDEuNDk5MjI3NTIzODAzNzExXSwgWzE2NjM5MjE3MzcuMzg1NjU2OCwgMzE0MSwgMS40Nzc1NTI2NTIzNTkwMDg4XSwgWzE2NjM5MjE3MzcuNTEzODYsIDMxNTAsIDEuNTA1MzE3NTY4Nzc4OTkxN10sIFsxNjYzOTIxNzM3LjYwNzUyMjcsIDMxNTksIDEuNDcwMjM4OTI0MDI2NDg5M10sIFsxNjYzOTIxNzM4LjAyOTc4MjMsIDMxNzcsIDEuNTI2NDQzMjQzMDI2NzMzNF0sIFsxNjYzOTIxNzM4LjEzNzMxNjUsIDMxODYsIDEuNTEwMDk3NjIyODcxMzk5XSwgWzE2NjM5MjE3MzguMjMyNjA5LCAzMTk1LCAxLjQ2NDEzOTU4MDcyNjYyMzVdLCBbMTY2MzkyMTczOC4zNDczLCAzMjA0LCAxLjQ2NzIyNjE0NzY1MTY3MjRdLCBbMTY2MzkyMTczOC41NDI4ODUsIDMyMjIsIDEuNDcxMTYyNzk2MDIwNTA3OF0sIFsxNjYzOTIxNzM4LjY1NDExMiwgMzIzMSwgMS41MjUxOTg2OTgwNDM4MjMyXSwgWzE2NjM5MjE3MzguODU0OTkwMiwgMzI0OSwgMS40ODA0NzYyNjAxODUyNDE3XSwgWzE2NjM5MjE3MzguOTc1MzE2OCwgMzI1OCwgMS40Nzk5MjQyMDE5NjUzMzJdLCBbMTY2MzkyMTczOS4wODU4MzM1LCAzMjY3LCAxLjQ1MTU1NjY4MjU4NjY3XSwgWzE2NjM5MjE3MzkuMTg1MzUzLCAzMjc2LCAxLjQ1MTAzMTU2NTY2NjE5ODddLCBbMTY2MzkyMTczOS4zMDY2NTc4LCAzMjg1LCAxLjQ2NTEzMzY2Njk5MjE4NzVdLCBbMTY2MzkyMTczOS40MDUxMjY4LCAzMjk0LCAxLjQ1NDQzMjQ4NzQ4Nzc5M10sIFsxNjYzOTIxNzM5LjUwNzkyMzQsIDMzMDMsIDEuNDUzOTQyMTc5Njc5ODcwNl0sIFsxNjYzOTIxNzM5LjYwNzgyMzQsIDMzMTIsIDEuNTAwNTI3MjYyNjg3NjgzXSwgWzE2NjM5MjE3MzkuNzAyMDU2MiwgMzMyMSwgMS40NjUwMzc0NjUwOTU1Ml0sIFsxNjYzOTIxNzM5Ljc5MzM1NSwgMzMzMCwgMS40ODE1MTU0MDc1NjIyNTU5XSwgWzE2NjM5MjE3NDAuMTc0ODIsIDMzNjYsIDEuNDQ2Nzg2NzYxMjgzODc0NV0sIFsxNjYzOTIxNzQwLjI2NjE1OTgsIDMzNzUsIDEuNDUzODIyNjEyNzYyNDUxMl0sIFsxNjYzOTIxNzQwLjM1NTQ5ODYsIDMzODQsIDEuNDk5NzA0NzE4NTg5NzgyN10sIFsxNjYzOTIxNzQwLjU1NjY0NzUsIDM0MDIsIDEuNDU5MzYyMDMwMDI5Mjk2OV0sIFsxNjYzOTIxNzQwLjY1NTE0MzcsIDM0MTEsIDEuNDQ1MTA5MjQ4MTYxMzE2XSwgWzE2NjM5MjE3NDAuOTMyODQyMywgMzQzOCwgMS40NDczMzIwMjQ1NzQyNzk4XSwgWzE2NjM5MjE3NDEuMDIzNTE1NSwgMzQ0NywgMS40NjQ1MDMyODgyNjkwNDNdLCBbMTY2MzkyMTc0MS4yMDk5NzM4LCAzNDY1LCAxLjQzMTk0MTUwOTI0NjgyNjJdLCBbMTY2MzkyMTc0MS4zMDY5OSwgMzQ3NCwgMS40MTkxMDMxNDU1OTkzNjUyXSwgWzE2NjM5MjE3NDEuNDE3MTcxNSwgMzQ4MywgMS40MTk3ODA0OTI3ODI1OTI4XSwgWzE2NjM5MjE3NDEuNzQxMDA3NiwgMzUxMCwgMS40Mzc3NDU1NzExMzY0NzQ2XSwgWzE2NjM5MjE3NDEuODM3NzU3MywgMzUxOSwgMS40MjU4MTA2OTQ2OTQ1MTldLCBbMTY2MzkyMTc0MS45Mzg5ODg3LCAzNTI4LCAxLjQyODM5NTg2NzM0NzcxNzNdLCBbMTY2MzkyMTc0Mi4wNDIxMzU1LCAzNTM3LCAxLjQxNTgzMjYzODc0MDUzOTZdLCBbMTY2MzkyMTc0Mi4xNDI2ODUyLCAzNTQ2LCAxLjQyNzAwMzUwMjg0NTc2NDJdLCBbMTY2MzkyMTc0Mi4yMzgyNjIyLCAzNTU1LCAxLjQ0NTYxMzYyMjY2NTQwNTNdLCBbMTY2MzkyMTc0Mi4zNDM1NjI4LCAzNTY0LCAxLjQ1MzY1MzgxMjQwODQ0NzNdLCBbMTY2MzkyMTc0Mi40NTA1ODQ3LCAzNTczLCAxLjQzNTgyNDM5NDIyNjA3NDJdLCBbMTY2MzkyMTc0Mi41NDgxNzg3LCAzNTgyLCAxLjM5OTQwMjczNzYxNzQ5MjddLCBbMTY2MzkyMTc0Mi42NDc1NjI3LCAzNTkxLCAxLjQxMDMxOTkyNDM1NDU1MzJdLCBbMTY2MzkyMTc0Mi43NDQ0NjU4LCAzNjAwLCAxLjQzMzc3NzU3MDcyNDQ4NzNdLCBbMTY2MzkyMTc0Mi44NDQ5ODEsIDM2MDksIDEuNDMxMzIwNDI4ODQ4MjY2Nl0sIFsxNjYzOTIxNzQyLjkzNDE1LCAzNjE4LCAxLjQyOTMyMzQzNDgyOTcxMl0sIFsxNjYzOTIxNzQzLjA2MTE1MTMsIDM2MjcsIDEuNDEzNDkyNzk4ODA1MjM2OF0sIFsxNjYzOTIxNzQzLjE3MDk5MSwgMzYzNiwgMS4zODk5NTQzMjg1MzY5ODczXSwgWzE2NjM5MjE3NDMuMzE5MTczMywgMzY0NSwgMS40MTkwMzU2NzMxNDE0Nzk1XSwgWzE2NjM5MjE3NDMuNDMyMTg1NiwgMzY1NCwgMS40MTMzOTAxNTk2MDY5MzM2XSwgWzE2NjM5MjE3NDMuNTI2MTAxNiwgMzY2MywgMS40MDkzMzYyMDkyOTcxODAyXSwgWzE2NjM5MjE3NDMuNjIzNTk1LCAzNjcyLCAxLjM4OTEzMzgxMDk5NzAwOTNdLCBbMTY2MzkyMTc0My43MjgwODE3LCAzNjgxLCAxLjQwNzg5MTM5MjcwNzgyNDddLCBbMTY2MzkyMTc0My44MzQ5NTE0LCAzNjkwLCAxLjM4NTA4NDE1MjIyMTY3OTddLCBbMTY2MzkyMTc0NC4xMjUzMTM1LCAzNzE3LCAxLjM5MjAwNjk5MzI5Mzc2MjJdLCBbMTY2MzkyMTc0NC4yMjM2NjM2LCAzNzI2LCAxLjQxODkzODc1NTk4OTA3NDddLCBbMTY2MzkyMTc0NC4zMjM0MDUsIDM3MzUsIDEuMzg4Mzk2NjIwNzUwNDI3Ml0sIFsxNjYzOTIxNzQ0LjQxODEwMTgsIDM3NDQsIDEuMzk1Njg3MjIyNDgwNzc0XSwgWzE2NjM5MjE3NDQuNzEzNTUzNywgMzc3MSwgMS40MTMzNDE5OTkwNTM5NTVdLCBbMTY2MzkyMTc0NC44MTA5MDQzLCAzNzgwLCAxLjQxOTIzNTU4NzEyMDA1NjJdLCBbMTY2MzkyMTc0NS4wMTg5MDEzLCAzNzk4LCAxLjM3OTk5Mzc5NjM0ODU3MThdLCBbMTY2MzkyMTc0NS4xMTQ0NTcsIDM4MDcsIDEuMzYzNTY4NjYzNTk3MTA3XSwgWzE2NjM5MjE3NDUuMjI2MTcsIDM4MTYsIDEuNDAyMDMwOTQ0ODI0MjE4OF0sIFsxNjYzOTIxNzQ1LjM0NDE0OCwgMzgyNSwgMS4zNzc4ODU5Mzc2OTA3MzQ5XSwgWzE2NjM5MjE3NDUuNDYwODQzMywgMzgzNCwgMS4zODI4MDM5MTY5MzExNTIzXSwgWzE2NjM5MjE3NDUuNTQ3NjI0LCAzODQzLCAxLjM5MTcyOTM1NDg1ODM5ODRdLCBbMTY2MzkyMTc0NS42NDM4MzQ2LCAzODUyLCAxLjQwMDQxOTM1NDQzODc4MTddLCBbMTY2MzkyMTc0NS44MjQ1MjMyLCAzODcwLCAxLjM1NjUyMTg0NDg2Mzg5MTZdLCBbMTY2MzkyMTc0NS45MzM0NzgsIDM4NzksIDEuNDQ3NTM5MDkxMTEwMjI5NV0sIFsxNjYzOTIxNzQ2LjA1MDk0MDMsIDM4ODgsIDEuMzM3NzA4MTE1NTc3Njk3OF0sIFsxNjYzOTIxNzQ2LjM1Mjk3OSwgMzkxNSwgMS4zNTQ5NTY4NjUzMTA2NjldLCBbMTY2MzkyMTc0Ni40ODg3MzE2LCAzOTI0LCAxLjM2Nzg5MDQ3NzE4MDQ4MV0sIFsxNjYzOTIxNzQ2Ljc3NDA5NDMsIDM5MzMsIDEuMzc1NDU4NTk4MTM2OTAxOV0sIFsxNjYzOTIxNzQ2Ljg2NDkwNSwgMzk0MiwgMS4zNjMyMzUzNTQ0MjM1MjNdLCBbMTY2MzkyMTc0Ni45NjY2NjIsIDM5NTEsIDEuMzc0ODY5OTQyNjY1MV0sIFsxNjYzOTIxNzQ3LjA1OTgxNTQsIDM5NjAsIDEuMzQ1MTE4NjQxODUzMzMyNV0sIFsxNjYzOTIxNzQ3LjIxMjU5MywgMzk2OSwgMS4zNTE1MjExMzQzNzY1MjU5XSwgWzE2NjM5MjE3NDcuMzEzNzU2NywgMzk3OCwgMS4zNTk4NjUxODg1OTg2MzI4XSwgWzE2NjM5MjE3NDcuNTAzNzgxLCAzOTk2LCAxLjM3ODIzNDYyNDg2MjY3MV0sIFsxNjYzOTIxNzQ3LjYzNTkxODksIDQwMDUsIDEuMzU0OTYwNDQxNTg5MzU1NV0sIFsxNjYzOTIxNzQ3Ljc2NjMyNjIsIDQwMTQsIDEuMzYwMzY2NDYzNjYxMTkzOF0sIFsxNjYzOTIxNzQ3Ljg4ODI5NzMsIDQwMjMsIDEuMzY4NjQ3MjE3NzUwNTQ5M10sIFsxNjYzOTIxNzQ4LjI4MzMxMywgNDA1OSwgMS4zNTI4MTkwODUxMjExNTQ4XSwgWzE2NjM5MjE3NDguMzg4NTcxNSwgNDA2OCwgMS4zNTMyODUxOTM0NDMyOTgzXSwgWzE2NjM5MjE3NDguNTAyNTM3MywgNDA3NywgMS4zNTYyOTU0NjY0MjMwMzQ3XSwgWzE2NjM5MjE3NDguNjAyMjAzMSwgNDA4NiwgMS4zMzI1NjM1MTk0Nzc4NDQyXSwgWzE2NjM5MjE3NDguNzExODkwNywgNDA5NSwgMS4zMzY2NDk1MzcwODY0ODY4XSwgWzE2NjM5MjE3NDguODA0MjA1LCA0MTA0LCAxLjM2NDY2MzI0MzI5Mzc2MjJdLCBbMTY2MzkyMTc0OC44OTczNzQ0LCA0MTEzLCAxLjM2MDUwMzMxNTkyNTU5ODFdLCBbMTY2MzkyMTc0OS4xMjcwNjA0LCA0MTMxLCAxLjM5NzExMzgwMDA0ODgyODFdLCBbMTY2MzkyMTc0OS4zMTIyOTMsIDQxNDksIDEuMzM5ODY5NDk5MjA2NTQzXSwgWzE2NjM5MjE3NDkuNDExMTU2NywgNDE1OCwgMS4zNDk1NDg2OTc0NzE2MTg3XSwgWzE2NjM5MjE3NDkuNTA3NDM2NSwgNDE2NywgMS4zNzEzMzYxMDI0ODU2NTY3XSwgWzE2NjM5MjE3NDkuNTk5NTM5LCA0MTc2LCAxLjM1MDE1NTcxMTE3NDAxMTJdLCBbMTY2MzkyMTc0OS42OTgyNjk2LCA0MTg1LCAxLjMxNTE2NjIzNDk3MDA5MjhdLCBbMTY2MzkyMTc0OS43OTQ5MzEsIDQxOTQsIDEuMzQwMTIxMDMwODA3NDk1MV0sIFsxNjYzOTIxNzQ5Ljg5MzQ2NiwgNDIwMywgMS4zMzM5MDIyMzk3OTk0OTk1XSwgWzE2NjM5MjE3NTAuMDkyNTQ4NCwgNDIyMSwgMS4zNDc2NjYwMjUxNjE3NDMyXSwgWzE2NjM5MjE3NTAuMjE0MzU1LCA0MjMwLCAxLjMyODY4MjQyMjYzNzkzOTVdLCBbMTY2MzkyMTc1MC4zMTA5MjMzLCA0MjM5LCAxLjMxNjM4MzEyMzM5NzgyNzFdLCBbMTY2MzkyMTc1MC40MTA2NDQ1LCA0MjQ4LCAxLjMzNTQwNzQ5NTQ5ODY1NzJdLCBbMTY2MzkyMTc1MC42MTEyNDk0LCA0MjY2LCAxLjM0MTM0MDg5OTQ2NzQ2ODNdLCBbMTY2MzkyMTc1MC43MTEyMjUsIDQyNzUsIDEuMzQyNTcyODA4MjY1Njg2XSwgWzE2NjM5MjE3NTAuODExNzA0OSwgNDI4NCwgMS4zNDg5NjcwNzUzNDc5MDA0XSwgWzE2NjM5MjE3NTEuMTU1ODA2LCA0MzExLCAxLjM3MTY2OTY1MDA3NzgxOThdLCBbMTY2MzkyMTc1MS4yNjUyNzIxLCA0MzIwLCAxLjM1NDczMzEwOTQ3NDE4MjFdLCBbMTY2MzkyMTc1MS4zOTY5NjM4LCA0MzI5LCAxLjMzNjA0MDQ5NjgyNjE3MTldLCBbMTY2MzkyMTc1MS40OTczNjEyLCA0MzM4LCAxLjMyMjk1NjIwNDQxNDM2NzddLCBbMTY2MzkyMTc1MS41ODg2NTk4LCA0MzQ3LCAxLjMxOTEyODc1MTc1NDc2MDddLCBbMTY2MzkyMTc1MS42Nzc0MzQ0LCA0MzU2LCAxLjM0NDI1MjcwNTU3NDAzNTZdLCBbMTY2MzkyMTc1MS43Njk4MzY0LCA0MzY1LCAxLjM1NTU2NTc4NjM2MTY5NDNdLCBbMTY2MzkyMTc1MS45NzkyOTk4LCA0MzgzLCAxLjM0MzAwNTg5NTYxNDYyNF0sIFsxNjYzOTIxNzUyLjA5MzA3MzEsIDQzOTIsIDEuMzM1Njg0MTgwMjU5NzA0Nl0sIFsxNjYzOTIxNzUyLjE5MDY1MjEsIDQ0MDEsIDEuMzIxODA4Njk1NzkzMTUxOV0sIFsxNjYzOTIxNzUyLjI5MTE0NiwgNDQxMCwgMS4zNTUzNTU5NzgwMTIwODVdLCBbMTY2MzkyMTc1Mi4zODE1NTI1LCA0NDE5LCAxLjMyNDYzMjg4MzA3MTg5OTRdLCBbMTY2MzkyMTc1Mi40NzcxNCwgNDQyOCwgMS4zNzg1NjQ4MzQ1OTQ3MjY2XSwgWzE2NjM5MjE3NTIuNzY0MzEwNiwgNDQ1NSwgMS4yOTYxMzA3NzY0MDUzMzQ1XSwgWzE2NjM5MjE3NTIuODUzNDMwMywgNDQ2NCwgMS4zMjk0Njc2NTQyMjgyMTA0XSwgWzE2NjM5MjE3NTMuMDQ1MjQ5LCA0NDgyLCAxLjMzMzQwMDAxMTA2MjYyMl0sIFsxNjYzOTIxNzUzLjE1MTgyOCwgNDQ5MSwgMS4yOTY3NzA4MTEwODA5MzI2XSwgWzE2NjM5MjE3NTMuMzA5MjM5NiwgNDUwMCwgMS4zMjA3NzgyNTA2OTQyNzVdLCBbMTY2MzkyMTc1My41MTExMDE3LCA0NTE4LCAxLjMyNzYyMzg0NDE0NjcyODVdLCBbMTY2MzkyMTc1My42MDAzMTMsIDQ1MjcsIDEuMzA1OTMyNTIxODIwMDY4NF0sIFsxNjYzOTIxNzUzLjcxMDkxNDQsIDQ1MzYsIDEuMzA2MjA5NDQ0OTk5Njk0OF0sIFsxNjYzOTIxNzUzLjk5NDQyMjcsIDQ1NjMsIDEuMzI4NjA1MDU1ODA5MDIxXSwgWzE2NjM5MjE3NTQuMTE5NTg2NywgNDU3MiwgMS4zMTg1MzgxODg5MzQzMjYyXSwgWzE2NjM5MjE3NTQuMjE5MTgxNSwgNDU4MSwgMS4yODg1NjA3NDgxMDAyODA4XSwgWzE2NjM5MjE3NTQuMzUwNjkwNCwgNDU5MCwgMS4yOTQzMzQxNzMyMDI1MTQ2XSwgWzE2NjM5MjE3NTQuNDc1Mjc2NSwgNDU5OSwgMS4zMzA1Njk4NjMzMTkzOTddLCBbMTY2MzkyMTc1NC41ODIyMzc3LCA0NjA4LCAxLjMyNDA4MTA2MzI3MDU2ODhdLCBbMTY2MzkyMTc1NC42ODA0OTQ1LCA0NjE3LCAxLjMzMDQ5NTQ3NjcyMjcxNzNdLCBbMTY2MzkyMTc1NC43ODQ2MjM5LCA0NjI2LCAxLjI4OTE2Mzk0NzEwNTQwNzddLCBbMTY2MzkyMTc1NC44Nzk1ODg4LCA0NjM1LCAxLjMxMzY5MzQwNDE5NzY5MjldLCBbMTY2MzkyMTc1NS4wODI5MTUsIDQ2NTMsIDEuMzE2MDU2NjA5MTUzNzQ3Nl0sIFsxNjYzOTIxNzU1LjE3NjEwNTMsIDQ2NjIsIDEuMjg0NDA2NjYxOTg3MzA0N10sIFsxNjYzOTIxNzU1LjI3NTUwMzksIDQ2NzEsIDEuMzAzOTY2MTY0NTg4OTI4Ml0sIFsxNjYzOTIxNzU1LjM3MDc3NTIsIDQ2ODAsIDEuMzExMjYzMjAzNjIwOTEwNl0sIFsxNjYzOTIxNzU1LjQ4ODM5NjQsIDQ2ODksIDEuMzM2MTE5Mjk0MTY2NTY1XSwgWzE2NjM5MjE3NTUuNzgxNzcxNCwgNDY5OCwgMS4zMDgzODQ3NzYxMTU0MTc1XSwgWzE2NjM5MjE3NTYuMDIyMzI5NiwgNDcxNiwgMS4zMTM0MTg2MjY3ODUyNzgzXSwgWzE2NjM5MjE3NTYuMzMxMTA4LCA0NzQzLCAxLjI5Nzc1MDM1MzgxMzE3MTRdLCBbMTY2MzkyMTc1Ni40MzE2ODcsIDQ3NTIsIDEuMjcyNTM5NzM0ODQwMzkzXSwgWzE2NjM5MjE3NTYuNzQxNjI2LCA0Nzc5LCAxLjI4Njk3ODM2Mzk5MDc4MzddLCBbMTY2MzkyMTc1Ni44Mzc1NDIsIDQ3ODgsIDEuMzEwMDcyMTgzNjA5MDA4OF0sIFsxNjYzOTIxNzU2LjkyOTE0MTMsIDQ3OTcsIDEuMjkyOTA0MjU3Nzc0MzUzXSwgWzE2NjM5MjE3NTcuMDE5MjM4NSwgNDgwNiwgMS4yOTUxMjE0MzEzNTA3MDhdLCBbMTY2MzkyMTc1Ny4xMDk3NjMxLCA0ODE1LCAxLjMwODk1NDIzODg5MTYwMTZdLCBbMTY2MzkyMTc1Ny4xOTQzNDk1LCA0ODI0LCAxLjMwNDIwMDY0OTI2MTQ3NDZdLCBbMTY2MzkyMTc1Ny4yODg1NjM3LCA0ODMzLCAxLjI5NDkzODgwMjcxOTExNjJdLCBbMTY2MzkyMTc1Ny4zNzcyODMsIDQ4NDIsIDEuMjc1OTAzNDYzMzYzNjQ3NV0sIFsxNjYzOTIxNzU3LjQ4MzEwNjYsIDQ4NTEsIDEuMzA2NzUyODAwOTQxNDY3M10sIFsxNjYzOTIxNzU3LjU4MDY2MjcsIDQ4NjAsIDEuMzA3MjU1OTgzMzUyNjYxMV0sIFsxNjYzOTIxNzU3LjY3NDYwNSwgNDg2OSwgMS4zMDMzMDUxNDkwNzgzNjkxXSwgWzE2NjM5MjE3NTcuNzc4MDkzOCwgNDg3OCwgMS4yODIwNzg2MjM3NzE2Njc1XSwgWzE2NjM5MjE3NTcuODgyNTA5LCA0ODg3LCAxLjMwMTAwNDE3MTM3MTQ2XSwgWzE2NjM5MjE3NTcuOTk0ODgwNywgNDg5NiwgMS4yNzg1NjUxNjgzODA3MzczXSwgWzE2NjM5MjE3NTguMDkzODU0NCwgNDkwNSwgMS4yNzUzOTI0MTMxMzkzNDMzXSwgWzE2NjM5MjE3NTguMjg3MDU2NywgNDkyMywgMS4yNjk4OTczNDE3MjgyMTA0XSwgWzE2NjM5MjE3NTguMzk1ODcyNiwgNDkzMiwgMS4yOTc0NTMwNDU4NDUwMzE3XSwgWzE2NjM5MjE3NTguNTAwNzE2NCwgNDk0MSwgMS4yODI2NjkxODY1OTIxMDJdLCBbMTY2MzkyMTc1OC43MDA3OTE4LCA0OTU5LCAxLjI5MjA1MTU1MzcyNjE5NjNdLCBbMTY2MzkyMTc1OC44ODk1NTUyLCA0OTc3LCAxLjMxMTEyNzQyNDI0MDExMjNdLCBbMTY2MzkyMTc1OC45ODUzMzgyLCA0OTg2LCAxLjI3MjExMDIyMzc3MDE0MTZdLCBbMTY2MzkyMTc1OS4wODQ0MzU3LCA0OTk1LCAxLjI5NjY5MzIwNTgzMzQzNV0sIFsxNjYzOTIxNzU5LjE4MDQ0NTIsIDUwMDQsIDEuMjc5NzE0MzQ1OTMyMDA2OF0sIFsxNjYzOTIxNzU5LjI4MjkyOTIsIDUwMTMsIDEuMjU3OTA5ODkzOTg5NTYzXSwgWzE2NjM5MjE3NTkuNDc5MDUxNiwgNTAzMSwgMS4yNzYzOTgxODE5MTUyODMyXSwgWzE2NjM5MjE3NTkuNTg2NjIsIDUwNDAsIDEuMjcxODc5MzE1Mzc2MjgxN10sIFsxNjYzOTIxNzU5Ljc5NDkyMzMsIDUwNTgsIDEuMzE2NzkxNzcyODQyNDA3Ml0sIFsxNjYzOTIxNzU5Ljg4NTY0NTIsIDUwNjcsIDEuMzA2MTM3MjA0MTcwMjI3XSwgWzE2NjM5MjE3NTkuOTgxNTg2NywgNTA3NiwgMS4yODIyNzc5NDE3MDM3OTY0XSwgWzE2NjM5MjE3NjAuMDc1NTg2OCwgNTA4NSwgMS4yNzQ2ODA0OTUyNjIxNDZdLCBbMTY2MzkyMTc2MC4yNjE5ODY3LCA1MTAzLCAxLjI4MDA0NTI3MDkxOTc5OThdLCBbMTY2MzkyMTc2MC4zNTY3ODg2LCA1MTEyLCAxLjI3OTE0NTM1OTk5Mjk4MV0sIFsxNjYzOTIxNzYwLjQ4MzkyNzcsIDUxMjEsIDEuMzEyMzI4ODE1NDYwMjA1XSwgWzE2NjM5MjE3NjAuNTk1OTI2OCwgNTEzMCwgMS4zMDc5MDE3NDAwNzQxNTc3XSwgWzE2NjM5MjE3NjAuODA0MjE0LCA1MTQ4LCAxLjI2NjAwODI1Nzg2NTkwNThdLCBbMTY2MzkyMTc2MC45NDE1OTkxLCA1MTU3LCAxLjMwMTQzMjEzMjcyMDk0NzNdLCBbMTY2MzkyMTc2MS4wNTA1NzM4LCA1MTY2LCAxLjI5MjE5MDU1MTc1NzgxMjVdLCBbMTY2MzkyMTc2MS4zMTY2NzczLCA1MTg0LCAxLjI4NjQwMTUxMDIzODY0NzVdLCBbMTY2MzkyMTc2MS40MzA4NjQzLCA1MTkzLCAxLjI2ODg4MzcwNTEzOTE2MDJdLCBbMTY2MzkyMTc2MS41Mzc1OTE1LCA1MjAyLCAxLjI2Mjg1MDA0NjE1NzgzN10sIFsxNjYzOTIxNzYxLjgzNDE3NzMsIDUyMjksIDEuMjU3MjM1NTI3MDM4NTc0Ml0sIFsxNjYzOTIxNzYyLjI4MjQ2MzYsIDUyNjUsIDEuMjYwNjA0NzM5MTg5MTQ4XSwgWzE2NjM5MjE3NjIuMzkyNzYzMSwgNTI3NCwgMS4yNjg2Nzc5NDk5MDUzOTU1XSwgWzE2NjM5MjE3NjIuNDg3MTM1NCwgNTI4MywgMS4yNTE4NTMyMjc2MTUzNTY0XSwgWzE2NjM5MjE3NjIuNjczODIyNCwgNTMwMSwgMS4yNzQ4MTA0MzMzODc3NTYzXSwgWzE2NjM5MjE3NjIuNzY1NDIsIDUzMTAsIDEuMjc4NTk4Nzg1NDAwMzkwNl0sIFsxNjYzOTIxNzYyLjg2NjkzODYsIDUzMTksIDEuMjUyOTIwMDMxNTQ3NTQ2NF0sIFsxNjYzOTIxNzYyLjk1NzUxMTQsIDUzMjgsIDEuMjY1ODM5MjE5MDkzMzIyOF0sIFsxNjYzOTIxNzYzLjA5MzY0MzcsIDUzMzcsIDEuMjcwMDYyNTY1ODAzNTI3OF0sIFsxNjYzOTIxNzYzLjIwMzQzNSwgNTM0NiwgMS4yNzYzODI0NDYyODkwNjI1XSwgWzE2NjM5MjE3NjMuMjk5OTEyNSwgNTM1NSwgMS4yNjc2NjU4NjMwMzcxMDk0XSwgWzE2NjM5MjE3NjMuMzk5NDU3NSwgNTM2NCwgMS4yNzk3ODA3NDU1MDYyODY2XSwgWzE2NjM5MjE3NjMuNTAwMjE4OSwgNTM3MywgMS4zMjg1MzM0MTEwMjYwMDFdLCBbMTY2MzkyMTc2My41OTkxMTU4LCA1MzgyLCAxLjI2NjYyMzczNTQyNzg1NjRdLCBbMTY2MzkyMTc2My42OTYwMTA0LCA1MzkxLCAxLjI3NDI5ODY2NzkwNzcxNDhdLCBbMTY2MzkyMTc2My43OTg0ODE3LCA1NDAwLCAxLjI3Mzg2MzQzNDc5MTU2NV0sIFsxNjYzOTIxNzYzLjk5MzAxMjcsIDU0MTgsIDEuMjY0Mjg0NjEwNzQ4MjkxXSwgWzE2NjM5MjE3NjQuMDk0OTUwNywgNTQyNywgMS4yNTIyNjkyNjgwMzU4ODg3XSwgWzE2NjM5MjE3NjQuMTkzMjIxOCwgNTQzNiwgMS4yNTc3NjAwNDc5MTI1OTc3XSwgWzE2NjM5MjE3NjQuMjkyOTIzLCA1NDQ1LCAxLjIzNDAyOTc2OTg5NzQ2MV0sIFsxNjYzOTIxNzY0LjM5OTkwNjIsIDU0NTQsIDEuMjUzMTUzMjA0OTE3OTA3N10sIFsxNjYzOTIxNzY0Ljg0Mjg3MDcsIDU0NzIsIDEuMjkxMDY0MTQzMTgwODQ3Ml0sIFsxNjYzOTIxNzY0Ljk1MDk4LCA1NDgxLCAxLjI1OTM2MzE3NDQzODQ3NjZdLCBbMTY2MzkyMTc2NS4wNjM5MTYyLCA1NDkwLCAxLjI3MjY3ODk3MTI5MDU4ODRdLCBbMTY2MzkyMTc2NS4xNTkzNjUyLCA1NDk5LCAxLjI3NjgyMjkyNDYxMzk1MjZdLCBbMTY2MzkyMTc2NS4zNDA5NzIyLCA1NTE3LCAxLjI1MDUyNjA3MDU5NDc4NzZdLCBbMTY2MzkyMTc2NS40Mzg1NzAzLCA1NTI2LCAxLjI3OTU4NDUyNzAxNTY4Nl0sIFsxNjYzOTIxNzY1LjUzOTk4MTYsIDU1MzUsIDEuMjM1NzQ3OTMzMzg3NzU2M10sIFsxNjYzOTIxNzY1LjYzMDgzOTMsIDU1NDQsIDEuMjcyMjY5MDEwNTQzODIzMl0sIFsxNjYzOTIxNzY1LjczODc5OTgsIDU1NTMsIDEuMjUwMDQwNDExOTQ5MTU3N10sIFsxNjYzOTIxNzY1LjgzMjg5MzEsIDU1NjIsIDEuMzAwNjk2MDE1MzU3OTcxMl0sIFsxNjYzOTIxNzY1LjkzMDk0MjgsIDU1NzEsIDEuMjM2ODUyNTI2NjY0NzMzOV0sIFsxNjYzOTIxNzY2LjAzMzI5NDQsIDU1ODAsIDEuMjI1MzgzODc3NzU0MjExNF0sIFsxNjYzOTIxNzY2LjEyNjYyNTUsIDU1ODksIDEuMjI3OTI1MzAwNTk4MTQ0NV0sIFsxNjYzOTIxNzY2LjIxOTMyMDUsIDU1OTgsIDEuMjU0OTQxMjI1MDUxODc5OV0sIFsxNjYzOTIxNzY2LjMxMTgxMTQsIDU2MDcsIDEuMjMyODMwNjQzNjUzODY5Nl0sIFsxNjYzOTIxNzY2LjQwNTU4ODYsIDU2MTYsIDEuMjQyOTU5NjE4NTY4NDIwNF0sIFsxNjYzOTIxNzY2LjU4OTU4NDYsIDU2MzQsIDEuMjU2MTMzNzk0Nzg0NTQ2XSwgWzE2NjM5MjE3NjYuNjc4MzA5LCA1NjQzLCAxLjI4MTUxOTg4OTgzMTU0M10sIFsxNjYzOTIxNzY2Ljc3MDU1MzQsIDU2NTIsIDEuMjYzNTAwOTI4ODc4Nzg0Ml0sIFsxNjYzOTIxNzY2Ljg2NTU4MTUsIDU2NjEsIDEuMjU3MDc5MTI0NDUwNjgzNl0sIFsxNjYzOTIxNzY2Ljk2MjAyOTUsIDU2NzAsIDEuMjU1MjU4MzIxNzYyMDg1XSwgWzE2NjM5MjE3NjcuMjQ1NjE4LCA1Njk3LCAxLjIzNTY1OTcxODUxMzQ4ODhdLCBbMTY2MzkyMTc2Ny4zNDMzMTkyLCA1NzA2LCAxLjIzMjU0Mjk5MTYzODE4MzZdLCBbMTY2MzkyMTc2Ny40NDE0OTk1LCA1NzE1LCAxLjI0MTAxNDcxOTAwOTM5OTRdLCBbMTY2MzkyMTc2Ny41MzczMzgzLCA1NzI0LCAxLjI0MDg4NzE2NTA2OTU4XSwgWzE2NjM5MjE3NjcuNjI1NTI0OCwgNTczMywgMS4yMjU1NDc0MzI4OTk0NzVdLCBbMTY2MzkyMTc2Ny43MjQ2MjYsIDU3NDIsIDEuMjY2MjM5ODgxNTE1NTAzXSwgWzE2NjM5MjE3NjguMDA4OTI0NSwgNTc2OSwgMS4yOTE2NjM4ODUxMTY1NzcxXSwgWzE2NjM5MjE3NjguMTEwOTI4MywgNTc3OCwgMS4yNDAzMjY1MjM3ODA4MjI4XSwgWzE2NjM5MjE3NjguMjEwMTkwNSwgNTc4NywgMS4yMjU3NjE1MzI3ODM1MDgzXSwgWzE2NjM5MjE3NjguMzI4ODI2NCwgNTc5NiwgMS4yNjk0ODA5NDM2Nzk4MDk2XSwgWzE2NjM5MjE3NjguNDY3NTgyLCA1ODA1LCAxLjI1NDU1MzMxODAyMzY4MTZdLCBbMTY2MzkyMTc2OC41ODcyOTI3LCA1ODE0LCAxLjI0OTM4OTg4Njg1NjA3OV0sIFsxNjYzOTIxNzY4Ljg4MTQ2OTIsIDU4NDEsIDEuMjMyNzYzMDUxOTg2Njk0M10sIFsxNjYzOTIxNzY4Ljk4Njc0ODcsIDU4NTAsIDEuMjY4NjEyMDI3MTY4Mjc0XSwgWzE2NjM5MjE3NjkuMjA1MzY4LCA1ODY4LCAxLjI1NDQ2NTEwMzE0OTQxNF0sIFsxNjYzOTIxNzY5LjMwMTMzNSwgNTg3NywgMS4yMzMzNjQ4MjA0ODAzNDY3XSwgWzE2NjM5MjE3NjkuNDA5MjQ0LCA1ODg2LCAxLjI0OTQxMTM0NDUyODE5ODJdLCBbMTY2MzkyMTc2OS41MDU0Mjc2LCA1ODk1LCAxLjI1MTU4NTcyMTk2OTYwNDVdLCBbMTY2MzkyMTc2OS42MDE3NTY4LCA1OTA0LCAxLjI1ODQ0ODgzOTE4NzYyMl0sIFsxNjYzOTIxNzY5LjkwMTUwNzYsIDU5MzEsIDEuMjQzMzY5OTM2OTQzMDU0Ml0sIFsxNjYzOTIxNzY5Ljk5MjY2MjQsIDU5NDAsIDEuMjMxOTY0ODI2NTgzODYyM10sIFsxNjYzOTIxNzcwLjA4MzYxOTQsIDU5NDksIDEuMjI4NjkyNzcwMDA0MjcyNV0sIFsxNjYzOTIxNzcwLjIwOTkzMzMsIDU5NTgsIDEuMjY0NTA5Njc3ODg2OTYzXSwgWzE2NjM5MjE3NzAuNDU1MTczNywgNTk3NiwgMS4yMjk0OTc2NzExMjczMTkzXSwgWzE2NjM5MjE3NzAuNzE4OTUyLCA1OTk0LCAxLjIyNTM1ODM2Njk2NjI0NzZdLCBbMTY2MzkyMTc3MC45NTU0MjksIDYwMTIsIDEuMjMwNjk4MjI3ODgyMzg1M10sIFsxNjYzOTIxNzcxLjE0NDcwMjcsIDYwMzAsIDEuMjEyNTY5MjM2NzU1MzcxXSwgWzE2NjM5MjE3NzEuMjQyMTU4MiwgNjAzOSwgMS4yMzEwNjU1MTE3MDM0OTEyXSwgWzE2NjM5MjE3NzEuMzU4MjkwNywgNjA0OCwgMS4yNDg3NDc4MjU2MjI1NTg2XSwgWzE2NjM5MjE3NzEuNDYzMzY4MiwgNjA1NywgMS4yNjM2ODkwNDExMzc2OTUzXSwgWzE2NjM5MjE3NzEuNTU1NTM5NiwgNjA2NiwgMS4yNzUyNjAwOTA4Mjc5NDJdLCBbMTY2MzkyMTc3MS43NDQwMTEyLCA2MDg0LCAxLjIzODc2NzUwNDY5MjA3NzZdLCBbMTY2MzkyMTc3MS44Mzg4Nzc3LCA2MDkzLCAxLjI0NDk2NDgzODAyNzk1NF0sIFsxNjYzOTIxNzcxLjkzNTQ5NiwgNjEwMiwgMS4yMzk1MTIyMDUxMjM5MDE0XSwgWzE2NjM5MjE3NzIuMDI4ODg1OCwgNjExMSwgMS4yNTE0NDgxNTQ0NDk0NjNdLCBbMTY2MzkyMTc3Mi4xMjc3MzA2LCA2MTIwLCAxLjIzMDg5NzE4ODE4NjY0NTVdLCBbMTY2MzkyMTc3Mi4yMjcwNTQ2LCA2MTI5LCAxLjI0NDk5MTQyMTY5OTUyNF0sIFsxNjYzOTIxNzcyLjQxODk3NjMsIDYxNDcsIDEuMjI4Mjc4MTYwMDk1MjE0OF0sIFsxNjYzOTIxNzcyLjUxNDQyMjQsIDYxNTYsIDEuMjU1MzU3ODYxNTE4ODU5OV0sIFsxNjYzOTIxNzcyLjYxMjY1OCwgNjE2NSwgMS4yNTQ3NDQ2NDg5MzM0MTA2XSwgWzE2NjM5MjE3NzIuNzAyNzI2LCA2MTc0LCAxLjI1Mjk4Nzc0MjQyNDAxMTJdLCBbMTY2MzkyMTc3Mi45Nzg4NTQsIDYxOTIsIDEuMjQ5MzQ5NzEzMzI1NTAwNV0sIFsxNjYzOTIxNzczLjEwNTEyNjEsIDYyMDEsIDEuMjQ5NzcyMTkxMDQ3NjY4NV0sIFsxNjYzOTIxNzczLjQzMDE4MTMsIDYyMTAsIDEuMjM4ODA5NDY2MzYxOTk5NV0sIFsxNjYzOTIxNzczLjU0MDM5NTUsIDYyMTksIDEuMjIwMjUzNTg2NzY5MTA0XSwgWzE2NjM5MjE3NzMuNzUyMDY2MSwgNjIzNywgMS4yNDI3NDYxMTQ3MzA4MzVdLCBbMTY2MzkyMTc3My44NjY1OTE3LCA2MjQ2LCAxLjIyNjI2NzU3NjIxNzY1MTRdLCBbMTY2MzkyMTc3My45OTQ3OTQsIDYyNTUsIDEuMjQ2MzM0MzE0MzQ2MzEzNV0sIFsxNjYzOTIxNzc0LjA5OTY5MzgsIDYyNjQsIDEuMjQ4NTc2MDQ1MDM2MzE2XSwgWzE2NjM5MjE3NzQuMTg4MjMyLCA2MjczLCAxLjIzODE3NTYzMDU2OTQ1OF0sIFsxNjYzOTIxNzc0LjI5NjAyMzEsIDYyODIsIDEuMjMxNjU0NDA1NTkzODcyXSwgWzE2NjM5MjE3NzQuNDAzODU3NSwgNjI5MSwgMS4yNDY1NTk4NTgzMjIxNDM2XSwgWzE2NjM5MjE3NzQuNTE3MzA1NCwgNjMwMCwgMS4yMzIwNDM2MjM5MjQyNTU0XSwgWzE2NjM5MjE3NzQuNjE4MzU0LCA2MzA5LCAxLjIyNDg2MzQwOTk5NjAzMjddLCBbMTY2MzkyMTc3NC44MDYyOTEsIDYzMjcsIDEuMjU2Mjk1NjgwOTk5NzU1OV0sIFsxNjYzOTIxNzc0Ljg5ODIwNjIsIDYzMzYsIDEuMjM3NDU2OTE3NzYyNzU2M10sIFsxNjYzOTIxNzc1LjA4MjEyMzMsIDYzNTQsIDEuMjQ0NTk0NTczOTc0NjA5NF0sIFsxNjYzOTIxNzc1LjQwNDEwNCwgNjM4MSwgMS4yMjY0Mzk0NzYwMTMxODM2XSwgWzE2NjM5MjE3NzUuNTEwMzcyMiwgNjM5MCwgMS4yMDg5MTQyNzk5Mzc3NDQxXSwgWzE2NjM5MjE3NzUuNjE1MjU3MywgNjM5OSwgMS4yMTU5NzYzNTc0NjAwMjJdLCBbMTY2MzkyMTc3NS44MTI3NDYzLCA2NDE3LCAxLjIzMTYxMDQxNzM2NjAyNzhdLCBbMTY2MzkyMTc3NS45MDk3NDI0LCA2NDI2LCAxLjI2MTM5OTg2NTE1MDQ1MTddLCBbMTY2MzkyMTc3Ni4xMDM3NTQsIDY0NDQsIDEuMjI5MjY0MDIwOTE5Nzk5OF0sIFsxNjYzOTIxNzc2LjE4Nzk5NDcsIDY0NTMsIDEuMjIxNjQ1OTUxMjcxMDU3MV0sIFsxNjYzOTIxNzc2LjI4NjQxOTQsIDY0NjIsIDEuMjE4MDAzOTg4MjY1OTkxMl0sIFsxNjYzOTIxNzc2LjM5NDkyNjMsIDY0NzEsIDEuMjMzMDY1MjQ3NTM1NzA1Nl0sIFsxNjYzOTIxNzc2LjUxMjc5OTMsIDY0ODAsIDEuMjI0MDMzMjM2NTAzNjAxXSwgWzE2NjM5MjE3NzYuNjI0MTYzNCwgNjQ4OSwgMS4yMDMzNTI5MjgxNjE2MjFdLCBbMTY2MzkyMTc3Ni43NDExNzksIDY0OTgsIDEuMjI2MTMzODIzMzk0Nzc1NF0sIFsxNjYzOTIxNzc2Ljg0MzU4LCA2NTA3LCAxLjIxMzQ3ODMyNjc5NzQ4NTRdLCBbMTY2MzkyMTc3Ni45MzU4NSwgNjUxNiwgMS4yMTI0OTExNTQ2NzA3MTUzXSwgWzE2NjM5MjE3NzcuMDM0NDI2NSwgNjUyNSwgMS4yMzA1ODkxNTEzODI0NDYzXSwgWzE2NjM5MjE3NzcuMTM0NDAzMiwgNjUzNCwgMS4yMTMwMDExMzIwMTE0MTM2XSwgWzE2NjM5MjE3NzcuMjIzODIyNCwgNjU0MywgMS4yMTU5NzQ0NTAxMTEzODkyXSwgWzE2NjM5MjE3NzcuMzIwNDgyNywgNjU1MiwgMS4yNDAyOTExMTg2MjE4MjYyXSwgWzE2NjM5MjE3NzcuNDE3ODMxNywgNjU2MSwgMS4yMTQ5Nzc5Nzk2NjAwMzQyXSwgWzE2NjM5MjE3NzcuNTA3OTU4LCA2NTcwLCAxLjIxNDY0MzQ3ODM5MzU1NDddLCBbMTY2MzkyMTc3Ny42MDAxNzU2LCA2NTc5LCAxLjIxMTQ1MTQxMTI0NzI1MzRdLCBbMTY2MzkyMTc3Ny43MDA5MTM0LCA2NTg4LCAxLjIzODEyMzE3ODQ4MjA1NTddLCBbMTY2MzkyMTc3Ny44MDMwMDcsIDY1OTcsIDEuMjEzMzAyODUwNzIzMjY2Nl0sIFsxNjYzOTIxNzc3Ljk0NDQ5MDQsIDY2MDYsIDEuMjE2MDI0NzU2NDMxNTc5Nl0sIFsxNjYzOTIxNzc4LjA1MjcxMDgsIDY2MTUsIDEuMjIyODcxNjYxMTg2MjE4M10sIFsxNjYzOTIxNzc4LjE1OTkyMDcsIDY2MjQsIDEuMjAyMTUyMjUyMTk3MjY1Nl0sIFsxNjYzOTIxNzc4LjI3MDY3MjYsIDY2MzMsIDEuMjIzMjA1NDQ3MTk2OTYwNF0sIFsxNjYzOTIxNzc4LjQ4MjgwODQsIDY2NTEsIDEuMjMyNDY1ODYzMjI3ODQ0Ml0sIFsxNjYzOTIxNzc4LjU4ODI1MjgsIDY2NjAsIDEuMjEzNTA3NjUyMjgyNzE0OF0sIFsxNjYzOTIxNzc4LjY5MDYwNDcsIDY2NjksIDEuMjQ5MzQ1NTQxMDAwMzY2Ml0sIFsxNjYzOTIxNzc4LjkwOTg2NCwgNjY4NywgMS4yMTk0NjkxODk2NDM4NTk5XSwgWzE2NjM5MjE3NzkuMDE1NzE2NiwgNjY5NiwgMS4yMjYwMzU0NzU3MzA4OTZdLCBbMTY2MzkyMTc3OS4xMjkzOTc5LCA2NzA1LCAxLjIzNTUyNDc3MzU5NzcxNzNdLCBbMTY2MzkyMTc3OS4yMzg3MTI1LCA2NzE0LCAxLjIxNjI1NjI2MDg3MTg4NzJdLCBbMTY2MzkyMTc3OS4zNDU2NjkzLCA2NzIzLCAxLjIyMzM2MzA0MTg3Nzc0NjZdLCBbMTY2MzkyMTc3OS44NzM1MzA2LCA2NzY4LCAxLjIxNzg3NTcxOTA3MDQzNDZdLCBbMTY2MzkyMTc3OS45ODE3OTk4LCA2Nzc3LCAxLjIyNTgzNzExMTQ3MzA4MzVdLCBbMTY2MzkyMTc4MC4xMDIzODAzLCA2Nzg2LCAxLjIwNDA0MDI4ODkyNTE3MV0sIFsxNjYzOTIxNzgwLjI5MjI3NjEsIDY4MDQsIDEuMjM4NDU3MjAyOTExMzc3XSwgWzE2NjM5MjE3ODAuMzg0NDcyLCA2ODEzLCAxLjIwODM4Mjg0NDkyNDkyNjhdLCBbMTY2MzkyMTc4MC40NzYzNTU4LCA2ODIyLCAxLjIzMDExOTU4NTk5MDkwNThdLCBbMTY2MzkyMTc4MC41Nzg3MDIsIDY4MzEsIDEuMjMzNTE4NjAwNDYzODY3Ml0sIFsxNjYzOTIxNzgwLjY3ODAwNSwgNjg0MCwgMS4yMjMxMTQwMTM2NzE4NzVdLCBbMTY2MzkyMTc4MS4wNDI1ODY4LCA2ODY3LCAxLjIzMjkwODk2NDE1NzEwNDVdLCBbMTY2MzkyMTc4MS4xNTAwMjg3LCA2ODc2LCAxLjIxNjYyMDA4NzYyMzU5NjJdLCBbMTY2MzkyMTc4MS4yNTI1Mzk0LCA2ODg1LCAxLjIzMDk3MzAwNTI5NDc5OThdLCBbMTY2MzkyMTc4MS4zNjM3ODg4LCA2ODk0LCAxLjIwOTYxNjc4MDI4MTA2N10sIFsxNjYzOTIxNzgxLjQ2NTM2MDksIDY5MDMsIDEuMjE1Njk3ODg0NTU5NjMxM10sIFsxNjYzOTIxNzgxLjU3Mjk3NSwgNjkxMiwgMS4yMjMxNDgyMjY3Mzc5NzZdLCBbMTY2MzkyMTc4MS42NzkwOTM0LCA2OTIxLCAxLjIxMDkwMTYxODAwMzg0NTJdLCBbMTY2MzkyMTc4MS43ODIxMDI2LCA2OTMwLCAxLjIwNzQxMjYwMDUxNzI3M10sIFsxNjYzOTIxNzgxLjg4NzU5LCA2OTM5LCAxLjIzMjE5NTAxOTcyMTk4NDldLCBbMTY2MzkyMTc4MS45OTcyNzYsIDY5NDgsIDEuMjAwNTE0MTk3MzQ5NTQ4M10sIFsxNjYzOTIxNzgyLjEwNDI4MzYsIDY5NTcsIDEuMjI5NDgwOTgxODI2NzgyMl0sIFsxNjYzOTIxNzgyLjIxMzUxMTIsIDY5NjYsIDEuMjA1NjA2NTc5NzgwNTc4Nl0sIFsxNjYzOTIxNzgyLjQzODY2NjMsIDY5ODQsIDEuMjE3NDMyNzM3MzUwNDYzOV0sIFsxNjYzOTIxNzgyLjc2MzQ3NDIsIDY5OTMsIDEuMjE4NTI1NzY3MzI2MzU1XSwgWzE2NjM5MjE3ODIuODYxNzA0LCA3MDAyLCAxLjIxNTg3MDAyMjc3Mzc0MjddLCBbMTY2MzkyMTc4Mi45NjQ4OTg4LCA3MDExLCAxLjIyNjI3MzUzNjY4MjEyOV0sIFsxNjYzOTIxNzgzLjA4NjY5LCA3MDIwLCAxLjIxMDY3MTMwNTY1NjQzM10sIFsxNjYzOTIxNzgzLjE5ODYzNTMsIDcwMjksIDEuMTkyNTY0MTI5ODI5NDA2N10sIFsxNjYzOTIxNzgzLjMwOTk4NSwgNzAzOCwgMS4yMDM4NDU3MzkzNjQ2MjRdLCBbMTY2MzkyMTc4My40Mjk4MzYsIDcwNDcsIDEuMjE2NTQ1MjI0MTg5NzU4M10sIFsxNjYzOTIxNzgzLjUzMTY3OCwgNzA1NiwgMS4xOTE5OTg4MzkzNzgzNTddLCBbMTY2MzkyMTc4My44MzI4MTcsIDcwODMsIDEuMjIwMDAyMDU1MTY4MTUxOV0sIFsxNjYzOTIxNzgzLjk1MzAzODcsIDcwOTIsIDEuMjA0Njg3NzE0NTc2NzIxMl0sIFsxNjYzOTIxNzg0LjA0NDMyLCA3MTAxLCAxLjIwNzczNDEwNzk3MTE5MTRdLCBbMTY2MzkyMTc4NC4xMzk0OTAxLCA3MTEwLCAxLjIyNTA4Mzk0NzE4MTcwMTddLCBbMTY2MzkyMTc4NC4yNTE0OTY2LCA3MTE5LCAxLjIzMzQxNjQzODEwMjcyMjJdLCBbMTY2MzkyMTc4NC4zNTY4MjIsIDcxMjgsIDEuMjA3OTYwMDA5NTc0ODkwMV0sIFsxNjYzOTIxNzg0LjU3MDk2MjQsIDcxNDYsIDEuMTg4NjI5NzQ2NDM3MDcyOF0sIFsxNjYzOTIxNzg0LjY2MjMxNzgsIDcxNTUsIDEuMjMyNjUwNTE4NDE3MzU4NF0sIFsxNjYzOTIxNzg0Ljc1MDMyMiwgNzE2NCwgMS4yMDc3NDUxOTQ0MzUxMTk2XSwgWzE2NjM5MjE3ODQuODQwNzg1NSwgNzE3MywgMS4yMDU0NjcxMDQ5MTE4MDQyXSwgWzE2NjM5MjE3ODQuOTMzOTExOCwgNzE4MiwgMS4xODI2Mjc5MTYzMzYwNTk2XSwgWzE2NjM5MjE3ODUuMDI2OTIxNywgNzE5MSwgMS4yMTE3ODI2OTM4NjI5MTVdLCBbMTY2MzkyMTc4NS4xMTU2MjI4LCA3MjAwLCAxLjI1MDE2OTAzODc3MjU4M10sIFsxNjYzOTIxNzg1LjIxNzU0NjcsIDcyMDksIDEuMjI4MDIwMDcxOTgzMzM3NF0sIFsxNjYzOTIxNzg1LjQwOTcxMTEsIDcyMjcsIDEuMjA4OTk4NTYwOTA1NDU2NV0sIFsxNjYzOTIxNzg1LjYxMDgyNDMsIDcyNDUsIDEuMjI5NjUzODM1Mjk2NjMwOV0sIFsxNjYzOTIxNzg1LjcxNTIxOSwgNzI1NCwgMS4yMjkzMDYzNDAyMTc1OTAzXSwgWzE2NjM5MjE3ODUuODEwMTMyNSwgNzI2MywgMS4yMjA1ODU5NDIyNjgzNzE2XSwgWzE2NjM5MjE3ODUuOTAzNDk3NywgNzI3MiwgMS4yMDIyNjI1MjA3OTAxXSwgWzE2NjM5MjE3ODUuOTk5ODkyNywgNzI4MSwgMS4xODg2MzcxMzc0MTMwMjVdLCBbMTY2MzkyMTc4Ni4yMDU1NzI2LCA3Mjk5LCAxLjIyOTYyOTE1ODk3MzY5MzhdLCBbMTY2MzkyMTc4Ni4yOTg5MTU5LCA3MzA4LCAxLjIwMjgzNzEwOTU2NTczNDldLCBbMTY2MzkyMTc4Ni41MTU1NDMyLCA3MzI2LCAxLjIwNDcxMTMxODAxNjA1MjJdLCBbMTY2MzkyMTc4Ni42MjA1OTI2LCA3MzM1LCAxLjIzMDI0NDA0MDQ4OTE5NjhdLCBbMTY2MzkyMTc4Ni43Mjc3LCA3MzQ0LCAxLjIwNDkwMzYwMjYwMDA5NzddLCBbMTY2MzkyMTc4Ni45NTk3MDE4LCA3MzYyLCAxLjIwMzIxMTU0NTk0NDIxMzldLCBbMTY2MzkyMTc4Ny4wNjQ3MjU5LCA3MzcxLCAxLjIxNTE4MzAxOTYzODA2MTVdLCBbMTY2MzkyMTc4Ny4xNzA2ODI3LCA3MzgwLCAxLjIwNDg1OTI1Njc0NDM4NDhdLCBbMTY2MzkyMTc4Ny4yNzU4Njg3LCA3Mzg5LCAxLjIyNzkyMjY3Nzk5Mzc3NDRdLCBbMTY2MzkyMTc4Ny4zODc0MTc2LCA3Mzk4LCAxLjE5ODczOTc2NzA3NDU4NV0sIFsxNjYzOTIxNzg3LjQ5MjkwNTEsIDc0MDcsIDEuMjE1NzAxOTM3Njc1NDc2XSwgWzE2NjM5MjE3ODcuNTk2Mzk5OCwgNzQxNiwgMS4yMjY5MjU5NjkxMjM4NDAzXSwgWzE2NjM5MjE3ODcuNjk4NzMxMiwgNzQyNSwgMS4yMTQ4MzUyODYxNDA0NDJdLCBbMTY2MzkyMTc4Ny44MDY3NTI3LCA3NDM0LCAxLjIwNDIzMDU0Njk1MTI5NF0sIFsxNjYzOTIxNzg3LjkxNTUyMDIsIDc0NDMsIDEuMjAxNjcxMTIzNTA0NjM4N10sIFsxNjYzOTIxNzg4LjAzMzUzMTIsIDc0NTIsIDEuMTg3MDk2NTk1NzY0MTYwMl0sIFsxNjYzOTIxNzg4LjE0MzkxMTgsIDc0NjEsIDEuMjE1Mjg2MDE2NDY0MjMzNF0sIFsxNjYzOTIxNzg4LjI1NDc5LCA3NDcwLCAxLjIyNTE1NDE2MTQ1MzI0N10sIFsxNjYzOTIxNzg4LjM2Mzc2MywgNzQ3OSwgMS4xOTY5MDk2NjYwNjE0MDE0XSwgWzE2NjM5MjE3ODguNTc4NjgzNiwgNzQ5NywgMS4yMzAxOTM5NzI1ODc1ODU0XSwgWzE2NjM5MjE3ODguNjgzMDM4MiwgNzUwNiwgMS4xOTczMjgwOTA2Njc3MjQ2XSwgWzE2NjM5MjE3ODguNzkyNzE2MywgNzUxNSwgMS4yMjIzNjUzNzkzMzM0OTZdLCBbMTY2MzkyMTc4OC45MDQyODY2LCA3NTI0LCAxLjE5OTE5MDYxNjYwNzY2Nl0sIFsxNjYzOTIxNzg5LjAyNzM5NzYsIDc1MzMsIDEuMTk0NTM5NTQ2OTY2NTUyN10sIFsxNjYzOTIxNzg5LjE0ODEwNzgsIDc1NDIsIDEuMjE5ODgxMDU3NzM5MjU3OF0sIFsxNjYzOTIxNzg5LjM1OTEyNzgsIDc1NjAsIDEuMjEzNjIxOTczOTkxMzk0XSwgWzE2NjM5MjE3ODkuNDgxMjg5NiwgNzU2OSwgMS4yMTQ1NzkxMDUzNzcxOTczXSwgWzE2NjM5MjE3ODkuNjk5MjgyNiwgNzU4NywgMS4yMTc4Mjg1MTIxOTE3NzI1XSwgWzE2NjM5MjE3ODkuODA2MDA0NSwgNzU5NiwgMS4yMDgyNzMwNTMxNjkyNTA1XSwgWzE2NjM5MjE3OTAuMDIzODQ2MSwgNzYxNCwgMS4xOTc4MTU2NTY2NjE5ODczXSwgWzE2NjM5MjE3OTAuMjM5NjEsIDc2MzIsIDEuMTk5Njk0Mjc1ODU2MDE4XSwgWzE2NjM5MjE3OTAuNTg2MTQyOCwgNzY1OSwgMS4xNzkwNjY2NTgwMjAwMTk1XSwgWzE2NjM5MjE3OTAuNjkzMTQ2NSwgNzY2OCwgMS4xOTQ5ODMxMjQ3MzI5NzEyXSwgWzE2NjM5MjE3OTAuOTYzODk4MiwgNzY5NSwgMS4xOTU3MjMxNzYwMDI1MDI0XSwgWzE2NjM5MjE3OTEuMTQ1MzM3LCA3NzEzLCAxLjIxMTI4NzE0MDg0NjI1MjRdLCBbMTY2MzkyMTc5MS4yMzg3MzM1LCA3NzIyLCAxLjIxMzExNjg4NDIzMTU2NzRdLCBbMTY2MzkyMTc5MS4zMjg1MzMsIDc3MzEsIDEuMjA2Mzc5MDU1OTc2ODY3N10sIFsxNjYzOTIxNzkxLjUyMTU1OSwgNzc0OSwgMS4xOTk4MzQ3MDQzOTkxMDg5XSwgWzE2NjM5MjE3OTEuNjM3NzY3OCwgNzc1OCwgMS4yMDA0MzgzODAyNDEzOTRdLCBbMTY2MzkyMTc5MS45MzU1MTIsIDc3NjcsIDEuMjI4NzI5ODQ0MDkzMzIyOF0sIFsxNjYzOTIxNzkyLjIxMzI2OCwgNzc5NCwgMS4yMDI2MzY3MTg3NV0sIFsxNjYzOTIxNzkyLjMxMzM0NiwgNzgwMywgMS4yMDEyMTY4MTY5MDIxNjA2XSwgWzE2NjM5MjE3OTIuNTI1MDc1NCwgNzgyMSwgMS4yMDM3MjUzMzc5ODIxNzc3XSwgWzE2NjM5MjE3OTIuNjI0ODUxMiwgNzgzMCwgMS4xODI1MjI4OTI5NTE5NjUzXSwgWzE2NjM5MjE3OTIuNzMwMDMzOSwgNzgzOSwgMS4xODIyMzYzMTM4MTk4ODUzXSwgWzE2NjM5MjE3OTIuODQ4NjcyNiwgNzg0OCwgMS4xODkxNjEwNjIyNDA2MDA2XSwgWzE2NjM5MjE3OTIuOTU1NzQ5MywgNzg1NywgMS4xODg0ODI0MDM3NTUxODhdLCBbMTY2MzkyMTc5My4wNTk2NzY0LCA3ODY2LCAxLjIwNjU3NjEwODkzMjQ5NTFdLCBbMTY2MzkyMTc5My4xNjc1NjUzLCA3ODc1LCAxLjIzNjM1MjMyNDQ4NTc3ODhdLCBbMTY2MzkyMTc5My4zODA2MzEyLCA3ODkzLCAxLjE5MjE1NDQwNzUwMTIyMDddLCBbMTY2MzkyMTc5My40ODk2NTksIDc5MDIsIDEuMTk5OTg1MDI3MzEzMjMyNF0sIFsxNjYzOTIxNzkzLjU5NjU4MjcsIDc5MTEsIDEuMjIzMTMxNjU2NjQ2NzI4NV0sIFsxNjYzOTIxNzkzLjgwNTU2NjgsIDc5MjksIDEuMTkzMTU3NzkyMDkxMzY5Nl0sIFsxNjYzOTIxNzkzLjkwMzg5MTYsIDc5MzgsIDEuMjA1MTU3MTYwNzU4OTcyMl0sIFsxNjYzOTIxNzk0LjAwMjc3NSwgNzk0NywgMS4xOTY5MzExMjM3MzM1MjA1XSwgWzE2NjM5MjE3OTQuMDk1ODYzNiwgNzk1NiwgMS4xOTg2NDM5MjI4MDU3ODYxXSwgWzE2NjM5MjE3OTQuMjA4NjYzMiwgNzk2NSwgMS4yMTA3OTA2MzQxNTUyNzM0XSwgWzE2NjM5MjE3OTQuMzEyNDY0NSwgNzk3NCwgMS4yMDAxNTc0MDM5NDU5MjI5XSwgWzE2NjM5MjE3OTQuNDIyODI3LCA3OTgzLCAxLjE5MjQyNTQ4OTQyNTY1OTJdLCBbMTY2MzkyMTc5NC41MjQ1OTAzLCA3OTkyLCAxLjIxNTIyMDkyODE5MjEzODddLCBbMTY2MzkyMTc5NC42MzY2MjUzLCA4MDAxLCAxLjE5MzM1MTk4NDAyNDA0NzldLCBbMTY2MzkyMTc5NC43Mzk5MjE2LCA4MDEwLCAxLjE5OTI5MTM0ODQ1NzMzNjRdLCBbMTY2MzkyMTc5NC44NDE1NjgyLCA4MDE5LCAxLjIzNjU5Mzk2MTcxNTY5ODJdLCBbMTY2MzkyMTc5NS4wNTA0NTYzLCA4MDM3LCAxLjIwNzQ2MzAyNjA0Njc1M10sIFsxNjYzOTIxNzk1LjE0NDczNDQsIDgwNDYsIDEuMjExNDk4MjYwNDk4MDQ2OV0sIFsxNjYzOTIxNzk1LjM0ODU1NTgsIDgwNjQsIDEuMjA0OTAzOTYwMjI3OTY2M10sIFsxNjYzOTIxNzk1LjU0NDM4NSwgODA4MiwgMS4yMDgxNzUzMDE1NTE4MTg4XSwgWzE2NjM5MjE3OTUuNjM2NTI0LCA4MDkxLCAxLjE5ODc2MDk4NjMyODEyNV0sIFsxNjYzOTIxNzk1LjkxMzI2MzMsIDgxMTgsIDEuMjAxODMzOTYzMzk0MTY1XSwgWzE2NjM5MjE3OTYuMDM3NjQ4NCwgODEyNywgMS4xOTc4MzUzMjYxOTQ3NjMyXSwgWzE2NjM5MjE3OTYuMjc2MzY1NSwgODE0NSwgMS4xODcxNDA0NjQ3ODI3MTQ4XSwgWzE2NjM5MjE3OTYuMzkzNTI5NCwgODE1NCwgMS4xNzgwMTQ3NTUyNDkwMjM0XSwgWzE2NjM5MjE3OTYuNTAyMjY1NSwgODE2MywgMS4yMDQ1Nzk5NDkzNzg5NjczXSwgWzE2NjM5MjE3OTYuNjExMjk5OCwgODE3MiwgMS4xODU0NDk4Mzg2MzgzMDU3XSwgWzE2NjM5MjE3OTYuNzIwMjg2LCA4MTgxLCAxLjE4NDgwMzk2MjcwNzUxOTVdLCBbMTY2MzkyMTc5Ni45Mzc2MSwgODE5OSwgMS4xOTMzNDkzNjE0MTk2Nzc3XSwgWzE2NjM5MjE3OTcuMDQ3NTc2LCA4MjA4LCAxLjIxOTQ1NzUwNzEzMzQ4MzldLCBbMTY2MzkyMTc5Ny4yNzQ0MzA4LCA4MjI2LCAxLjE5NDIxNjEzMjE2NDAwMTVdLCBbMTY2MzkyMTc5Ny4zODE2OTIyLCA4MjM1LCAxLjIxNjQ2MTUzOTI2ODQ5MzddLCBbMTY2MzkyMTc5Ny41NzE2ODYsIDgyNTMsIDEuMjA4MDU5NjY4NTQwOTU0Nl0sIFsxNjYzOTIxNzk3LjY2Mzc3NywgODI2MiwgMS4yMDYxNTA2NTA5NzgwODg0XSwgWzE2NjM5MjE3OTcuNzUxODY3MywgODI3MSwgMS4yMTEzMzY4NTExMTk5OTUxXSwgWzE2NjM5MjE3OTcuODQwMDY1NSwgODI4MCwgMS4xODk5ODExMDI5NDM0MjA0XSwgWzE2NjM5MjE3OTcuOTM5MjA5LCA4Mjg5LCAxLjE5NjUyNzI0MjY2MDUyMjVdLCBbMTY2MzkyMTc5OC4wMjc2MzI1LCA4Mjk4LCAxLjIxNjczNDI5MDEyMjk4NThdLCBbMTY2MzkyMTc5OC4xMzE3MTY1LCA4MzA3LCAxLjIxODU2ODkyMTA4OTE3MjRdLCBbMTY2MzkyMTc5OC4yMjM2MjM1LCA4MzE2LCAxLjE3ODg4MTQwNjc4NDA1NzZdLCBbMTY2MzkyMTc5OC4zMTU0MDg1LCA4MzI1LCAxLjE5MTI2MzE5ODg1MjUzOV0sIFsxNjYzOTIxNzk4LjQ5OTE3MywgODM0MywgMS4xNjUwMzAyNDEwMTI1NzMyXSwgWzE2NjM5MjE3OTguNjAxMzkwOCwgODM1MiwgMS4yMDM1NzE3OTY0MTcyMzYzXSwgWzE2NjM5MjE3OTguNzAwOTg2NCwgODM2MSwgMS4yMDY4MzA4NTkxODQyNjUxXSwgWzE2NjM5MjE3OTguNzg4OTExOCwgODM3MCwgMS4xODE4OTkzMDkxNTgzMjUyXSwgWzE2NjM5MjE3OTguODgyNjE1OCwgODM3OSwgMS4yMDg2NTI4NTM5NjU3NTkzXSwgWzE2NjM5MjE3OTguOTcwNDU4NSwgODM4OCwgMS4yMDk2NTI3ODE0ODY1MTEyXSwgWzE2NjM5MjE3OTkuMDYxNzAyMywgODM5NywgMS4xOTE3MDMyMDAzNDAyNzFdLCBbMTY2MzkyMTc5OS4xNjA2ODEyLCA4NDA2LCAxLjE4MDk4NTQ1MDc0NDYyOV0sIFsxNjYzOTIxNzk5LjI1OTgwNDIsIDg0MTUsIDEuMTg1MTExOTk5NTExNzE4OF0sIFsxNjYzOTIxNzk5LjM1MzgyODIsIDg0MjQsIDEuMTkyODgwNTExMjgzODc0NV0sIFsxNjYzOTIxNzk5LjU0ODczNzMsIDg0NDIsIDEuMjAzODQxODA1NDU4MDY4OF0sIFsxNjYzOTIxNzk5LjczNTcxMTMsIDg0NjAsIDEuMTkxODIyMDUyMDAxOTUzMV0sIFsxNjYzOTIxNzk5LjgyODAxMDMsIDg0NjksIDEuMTg4NzYyMzA3MTY3MDUzMl0sIFsxNjYzOTIxNzk5Ljk0NzU1NTMsIDg0NzgsIDEuMTc3OTc4MDM4Nzg3ODQxOF0sIFsxNjYzOTIxODAwLjA0NzE2MDEsIDg0ODcsIDEuMjEwMDc0MzA1NTM0MzYyOF0sIFsxNjYzOTIxODAwLjE1MTIwMTcsIDg0OTYsIDEuMTcyMTQ5NTM4OTkzODM1NF0sIFsxNjYzOTIxODAwLjI1ODE0NjMsIDg1MDUsIDEuMTk1MjU0MzI1ODY2Njk5Ml0sIFsxNjYzOTIxODAwLjM0NzgzODQsIDg1MTQsIDEuMTk4NzMxNjYwODQyODk1NV0sIFsxNjYzOTIxODAwLjQ2OTMyNCwgODUyMywgMS4xNzk4MTA2NDMxOTYxMDZdLCBbMTY2MzkyMTgwMC43OTk5MzA2LCA4NTMyLCAxLjE5ODA5NjI3NTMyOTU4OThdLCBbMTY2MzkyMTgwMS4wMjI1OTkyLCA4NTUwLCAxLjE5NzEwMTM1NDU5ODk5OV0sIFsxNjYzOTIxODAxLjEyODU2NjMsIDg1NTksIDEuMTY5NTM4MjU5NTA2MjI1Nl0sIFsxNjYzOTIxODAxLjMxNjcyNTcsIDg1NzcsIDEuMjEwNzI5NzE4MjA4MzEzXSwgWzE2NjM5MjE4MDEuNTE0OTE5MywgODU5NSwgMS4xOTQzODExMTc4MjA3Mzk3XSwgWzE2NjM5MjE4MDEuNjA2NzMxNCwgODYwNCwgMS4xOTQ5MzYwMzcwNjM1OTg2XSwgWzE2NjM5MjE4MDEuNjk4ODY3LCA4NjEzLCAxLjE5MTQxMTI1Njc5MDE2MTFdLCBbMTY2MzkyMTgwMS43ODgzNDkyLCA4NjIyLCAxLjE5NDA4NTgzNjQxMDUyMjVdLCBbMTY2MzkyMTgwMS45NzQ0MTg0LCA4NjQwLCAxLjE4ODIxMzQ2NzU5Nzk2MTRdLCBbMTY2MzkyMTgwMi4xMDg1NTksIDg2NDksIDEuMTgxNzI5MzE2NzExNDI1OF0sIFsxNjYzOTIxODAyLjIwODE4NzgsIDg2NTgsIDEuMjI4MDU2NjY5MjM1MjI5NV0sIFsxNjYzOTIxODAyLjMxODYwNDIsIDg2NjcsIDEuMTkyODIwNzg3NDI5ODA5Nl0sIFsxNjYzOTIxODAyLjQxMjIyMDIsIDg2NzYsIDEuMTg2Njc2NTAyMjI3NzgzMl0sIFsxNjYzOTIxODAyLjUyNzU5NTgsIDg2ODUsIDEuMTk5ODIxNzEwNTg2NTQ3OV0sIFsxNjYzOTIxODAyLjYyMjE1MzUsIDg2OTQsIDEuMTgyMTUwMTI1NTAzNTRdLCBbMTY2MzkyMTgwMi44MTA3ODgyLCA4NzEyLCAxLjE2NTc2OTQ1NzgxNzA3NzZdLCBbMTY2MzkyMTgwMi45MDU4LCA4NzIxLCAxLjIwMjgyMTYxMjM1ODA5MzNdLCBbMTY2MzkyMTgwMy4xODUxMzA4LCA4NzQ4LCAxLjE4OTIwMTgzMTgxNzYyN10sIFsxNjYzOTIxODAzLjI5NjQ3NTYsIDg3NTcsIDEuMjI2NTAwMjcyNzUwODU0NV0sIFsxNjYzOTIxODAzLjY4NTc5NDQsIDg3OTMsIDEuMTc2MzI3MzQ3NzU1NDMyMV0sIFsxNjYzOTIxODAzLjc3NTc5NDcsIDg4MDIsIDEuMTk1MjQ2NTc3MjYyODc4NF0sIFsxNjYzOTIxODAzLjg2MTg2MiwgODgxMSwgMS4yMDEwNTc5MTA5MTkxODk1XSwgWzE2NjM5MjE4MDMuOTUzMzU2LCA4ODIwLCAxLjE3MzIwOTQyODc4NzIzMTRdLCBbMTY2MzkyMTgwNC4wNDQ3NDQ3LCA4ODI5LCAxLjIwMDE0ODcwMTY2Nzc4NTZdLCBbMTY2MzkyMTgwNC4xNDA1NDg1LCA4ODM4LCAxLjE5OTI4ODg0NTA2MjI1NTldLCBbMTY2MzkyMTgwNC4yMjg1MDUxLCA4ODQ3LCAxLjE3MTI3NzI4NDYyMjE5MjRdLCBbMTY2MzkyMTgwNC4zMjEyMjU0LCA4ODU2LCAxLjE3OTkzMjIzNjY3MTQ0NzhdLCBbMTY2MzkyMTgwNC42MDIwNDM2LCA4ODgzLCAxLjE4NDQzMDU5OTIxMjY0NjVdLCBbMTY2MzkyMTgwNC42ODg5ODczLCA4ODkyLCAxLjE2OTI2MTkzMjM3MzA0NjldLCBbMTY2MzkyMTgwNC43Nzk0MjUsIDg5MDEsIDEuMTg4NTI4ODk1Mzc4MTEyOF0sIFsxNjYzOTIxODA0Ljg2NzkxNjYsIDg5MTAsIDEuMjAyOTA4NjM1MTM5NDY1M10sIFsxNjYzOTIxODA0Ljk1NDc4NTMsIDg5MTksIDEuMTk1ODE4NzgxODUyNzIyMl0sIFsxNjYzOTIxODA1LjI3MTM2NjYsIDg5MzcsIDEuMTk5NDIyMzU5NDY2NTUyN10sIFsxNjYzOTIxODA1LjQwMjM0NSwgODk0NiwgMS4xODkwMjgyNjMwOTIwNDFdLCBbMTY2MzkyMTgwNS41MTEyMDc4LCA4OTU1LCAxLjIwMDUzNDU4MjEzODA2MTVdLCBbMTY2MzkyMTgwNS42NDE4Mjk1LCA4OTY0LCAxLjE4NzA1NjY2MDY1MjE2MDZdLCBbMTY2MzkyMTgwNS43NDY2MjI2LCA4OTczLCAxLjIwOTYxNzk3MjM3Mzk2MjRdLCBbMTY2MzkyMTgwNS45NDg5MjM2LCA4OTkxLCAxLjE4NDEyMDY1NTA1OTgxNDVdLCBbMTY2MzkyMTgwNi4wNDM0MTMyLCA5MDAwLCAxLjE1MzIzNjAzMTUzMjI4NzZdLCBbMTY2MzkyMTgwNi4xMzI2OTEsIDkwMDksIDEuMTgwNTY0OTk5NTgwMzgzM10sIFsxNjYzOTIxODA2LjIyNjQ5MDMsIDkwMTgsIDEuMTY2MzQ1NzE1NTIyNzY2MV0sIFsxNjYzOTIxODA2LjM2ODIxMTcsIDkwMjcsIDEuMTg4OTE3Mjc5MjQzNDY5Ml0sIFsxNjYzOTIxODA2LjQ3MTAyMDUsIDkwMzYsIDEuMTkzNzg3NjkzOTc3MzU2XSwgWzE2NjM5MjE4MDYuNTc5OTI4MiwgOTA0NSwgMS4yMTUyODA4OTA0NjQ3ODI3XSwgWzE2NjM5MjE4MDYuNjczOTkzNiwgOTA1NCwgMS4yMTY2MDY3MzYxODMxNjY1XSwgWzE2NjM5MjE4MDYuNzYzNTU2MiwgOTA2MywgMS4xNjk0MTk4ODQ2ODE3MDE3XSwgWzE2NjM5MjE4MDYuODUxMzkzLCA5MDcyLCAxLjE4OTc3NjA2Mjk2NTM5M10sIFsxNjYzOTIxODA3LjIzOTQ3OSwgOTEwOCwgMS4yMTA3MjY4NTcxODUzNjM4XSwgWzE2NjM5MjE4MDcuNDIzNTAyNywgOTEyNiwgMS4xNzc3OTA4ODAyMDMyNDddLCBbMTY2MzkyMTgwNy41MTI1MjMyLCA5MTM1LCAxLjE2OTI4MzI3MDgzNTg3NjVdLCBbMTY2MzkyMTgwNy42MTcwOSwgOTE0NCwgMS4xODcyMDg4OTA5MTQ5MTddLCBbMTY2MzkyMTgwNy43MDczNDUsIDkxNTMsIDEuMjA1OTczNjI1MTgzMTA1NV0sIFsxNjYzOTIxODA3LjgwMzA1MzksIDkxNjIsIDEuMjA1NTM0MzM4OTUxMTEwOF0sIFsxNjYzOTIxODA4LjE1NDcwODQsIDkxODksIDEuMTc4MDg4NDI2NTg5OTY1OF0sIFsxNjYzOTIxODA4LjM0ODEwNjQsIDkyMDcsIDEuMTgzNTQ5Mjg0OTM0OTk3Nl0sIFsxNjYzOTIxODA4LjQ1MTY0MDgsIDkyMTYsIDEuMTU5NTgxNzgwNDMzNjU0OF0sIFsxNjYzOTIxODA4LjY4Mzc5NzgsIDkyMzQsIDEuMjA3MTE4MjcyNzgxMzcyXSwgWzE2NjM5MjE4MDguODA4MDM4LCA5MjQzLCAxLjE3MTQ2NjgyNzM5MjU3ODFdLCBbMTY2MzkyMTgwOS4wNDg5MzkyLCA5MjYxLCAxLjE2NzYyMDY1ODg3NDUxMTddLCBbMTY2MzkyMTgwOS4xNDg4MTUyLCA5MjcwLCAxLjE2NDE1NDQxMDM2MjI0MzddLCBbMTY2MzkyMTgwOS4zNDI1NDkzLCA5Mjg4LCAxLjE4MjAyMDkwMjYzMzY2N10sIFsxNjYzOTIxODA5Ljk3NjU3MTMsIDkzMjQsIDEuMTYyNzE2NTA3OTExNjgyMV0sIFsxNjYzOTIxODEwLjA3NTY4LCA5MzMzLCAxLjIwMDUxMDk3ODY5ODczMDVdLCBbMTY2MzkyMTgxMC4xNzM1ODE2LCA5MzQyLCAxLjE4NjQ5MTEzMTc4MjUzMTddLCBbMTY2MzkyMTgxMC4yNjkwNjY4LCA5MzUxLCAxLjE1OTk2MzI1MDE2MDIxNzNdLCBbMTY2MzkyMTgxMC4zNjUwOTksIDkzNjAsIDEuMTkzMjI1NzQxMzg2NDEzNl0sIFsxNjYzOTIxODEwLjc4MDcxNjIsIDkzOTYsIDEuMjAzMjEyMDIyNzgxMzcyXSwgWzE2NjM5MjE4MTAuODc3ODczNCwgOTQwNSwgMS4yMDUwNDg3OTk1MTQ3NzA1XSwgWzE2NjM5MjE4MTAuOTY3MDIzNCwgOTQxNCwgMS4xNjQxMDYxMzA1OTk5NzU2XSwgWzE2NjM5MjE4MTEuMDY5MDYwOCwgOTQyMywgMS4xNzM2OTc4MjkyNDY1MjFdLCBbMTY2MzkyMTgxMS4yODg4NTkxLCA5NDQxLCAxLjE1NjMyMTI4NzE1NTE1MTRdLCBbMTY2MzkyMTgxMS40Mzk0NTQzLCA5NDUwLCAxLjE3MTIwOTU3Mzc0NTcyNzVdLCBbMTY2MzkyMTgxMS41NDIzNywgOTQ1OSwgMS4xOTQ1NzQ4MzI5MTYyNTk4XSwgWzE2NjM5MjE4MTEuNzY4Mzk4NSwgOTQ3NywgMS4xNzI5MDgxODY5MTI1MzY2XSwgWzE2NjM5MjE4MTEuODY1NTg1OCwgOTQ4NiwgMS4xNzY2NDMyNTIzNzI3NDE3XSwgWzE2NjM5MjE4MTEuOTc3MjYxOCwgOTQ5NSwgMS4xNzY1NzU3Nzk5MTQ4NTZdLCBbMTY2MzkyMTgxMi4xNzUxMzgsIDk1MTMsIDEuMTk4NjExMjU5NDYwNDQ5Ml0sIFsxNjYzOTIxODEyLjM2NTMyMTYsIDk1MzEsIDEuMTc1OTc3MTEwODYyNzMyXSwgWzE2NjM5MjE4MTIuNDY0NDI5NCwgOTU0MCwgMS4xODQ5MjQwMDY0NjIwOTcyXSwgWzE2NjM5MjE4MTIuNTUzMzA4NSwgOTU0OSwgMS4xNjE2ODU0NjY3NjYzNTc0XSwgWzE2NjM5MjE4MTIuNzQ0NjQ3MywgOTU2NywgMS4xNzU0MTY0Njk1NzM5NzQ2XSwgWzE2NjM5MjE4MTIuODQwNTE4NywgOTU3NiwgMS4xODI3NTA1ODI2OTUwMDczXSwgWzE2NjM5MjE4MTIuOTMzMTUwOCwgOTU4NSwgMS4xNzM1OTIwOTA2MDY2ODk1XSwgWzE2NjM5MjE4MTMuMDI1MzMwNSwgOTU5NCwgMS4xODYxNjk4NjI3NDcxOTI0XSwgWzE2NjM5MjE4MTMuMTUxODcxNywgOTYwMywgMS4xOTU0MDc1MDk4MDM3NzJdLCBbMTY2MzkyMTgxMy4yNDU4NjMyLCA5NjEyLCAxLjE2ODAzOTY3OTUyNzI4MjddLCBbMTY2MzkyMTgxMy4zMzkxODE0LCA5NjIxLCAxLjE3Nzc5MzAyNTk3MDQ1OV0sIFsxNjYzOTIxODEzLjQzNjc1NjgsIDk2MzAsIDEuMTg3OTQzNTc3NzY2NDE4NV0sIFsxNjYzOTIxODEzLjUyOTUxNCwgOTYzOSwgMS4xODI3NzAwMTM4MDkyMDRdLCBbMTY2MzkyMTgxMy42MjQ1ODY2LCA5NjQ4LCAxLjE1NjU5ODgwNjM4MTIyNTZdLCBbMTY2MzkyMTgxMy43MjE4NzU3LCA5NjU3LCAxLjE2MjYzMjgyMjk5MDQxNzVdLCBbMTY2MzkyMTgxMy44MTI2OTI5LCA5NjY2LCAxLjE4ODgxMzY4NjM3MDg0OTZdLCBbMTY2MzkyMTgxMy45MDU1OTcyLCA5Njc1LCAxLjE4MzE0NjgzNDM3MzQ3NDFdLCBbMTY2MzkyMTgxNC4xMDMzOTEsIDk2OTMsIDEuMTU2OTk0ODE5NjQxMTEzM10sIFsxNjYzOTIxODE0LjE5NzEzMTksIDk3MDIsIDEuMTcwODMxMjAzNDYwNjkzNF0sIFsxNjYzOTIxODE0LjI5MzgzMjMsIDk3MTEsIDEuMTY4NjM0ODkxNTEwMDA5OF0sIFsxNjYzOTIxODE0LjQ4NDg0NDcsIDk3MjksIDEuMTYyNTU1NDU2MTYxNDk5XSwgWzE2NjM5MjE4MTQuNTc2NzIzMywgOTczOCwgMS4xNzQwMDAxNDQwMDQ4MjE4XSwgWzE2NjM5MjE4MTQuNjgwODAxOSwgOTc0NywgMS4xODI0NDgyNjc5MzY3MDY1XSwgWzE2NjM5MjE4MTQuNzc3NDgxOCwgOTc1NiwgMS4xNjkzMzA3MTYxMzMxMTc3XSwgWzE2NjM5MjE4MTQuOTg3OTQxMywgOTc3NCwgMS4xNTkzMzI2MzMwMTg0OTM3XSwgWzE2NjM5MjE4MTUuMDgzNTU3MSwgOTc4MywgMS4yMTMyNjYwMTUwNTI3OTU0XSwgWzE2NjM5MjE4MTUuMTc0ODg3LCA5NzkyLCAxLjE2MDY1NjMzMjk2OTY2NTVdLCBbMTY2MzkyMTgxNS4yNzEyNzEsIDk4MDEsIDEuMjA5NzU0MTA5MzgyNjI5NF0sIFsxNjYzOTIxODE1LjU0ODAyLCA5ODI4LCAxLjE5NzY0NzY5MDc3MzAxMDNdLCBbMTY2MzkyMTgxNS42NDQ1OTMsIDk4MzcsIDEuMTg4ODcxNTAyODc2MjgxN10sIFsxNjYzOTIxODE1LjczODY3MzIsIDk4NDYsIDEuMTk3NzcyNzQxMzE3NzQ5XSwgWzE2NjM5MjE4MTYuMjMwMDU0NiwgOTg5MSwgMS4xOTM3OTg4OTk2NTA1NzM3XSwgWzE2NjM5MjE4MTYuNDE4MTM5NywgOTkwOSwgMS4xOTM3MTc1OTg5MTUxXSwgWzE2NjM5MjE4MTYuNTEwMDUyNCwgOTkxOCwgMS4xNjcwMjc4MzEwNzc1NzU3XSwgWzE2NjM5MjE4MTYuNjAwMTA4OSwgOTkyNywgMS4xNjk1NzM1NDU0NTU5MzI2XSwgWzE2NjM5MjE4MTYuNjk5MDE3LCA5OTM2LCAxLjE2OTI5NTkwNzAyMDU2ODhdLCBbMTY2MzkyMTgxNi43OTI5ODYyLCA5OTQ1LCAxLjE2OTI5ODY0ODgzNDIyODVdLCBbMTY2MzkyMTgxNi45Nzc1NjM2LCA5OTYzLCAxLjE1NDcxMjMxOTM3NDA4NDVdLCBbMTY2MzkyMTgxNy4wNzEzMTQsIDk5NzIsIDEuMTY4MTYyMzQ1ODg2MjMwNV0sIFsxNjYzOTIxODE3LjE3MzI0OTcsIDk5ODEsIDEuMTc0ODg0Nzk2MTQyNTc4MV0sIFsxNjYzOTIxODE3LjI2Nzk2NywgOTk5MCwgMS4yMDk3NjgwNTY4Njk1MDY4XSwgWzE2NjM5MjE4MTcuMzYxNzg3MywgOTk5OSwgMS4xOTI0NjMyNzg3NzA0NDY4XSwgWzE2NjM5MjE4MTcuNDU1MjM5LCAxMDAwOCwgMS4xODUzNzY4ODI1NTMxMDA2XSwgWzE2NjM5MjE4MTcuNTQ1MDExMywgMTAwMTcsIDEuMTc2NDIwNDUwMjEwNTcxM10sIFsxNjYzOTIxODE3LjYzNjU0MTYsIDEwMDI2LCAxLjE3NDg5Mzg1NjA0ODU4NF0sIFsxNjYzOTIxODE3LjczMjUyMDMsIDEwMDM1LCAxLjE2NjIyNjc0NDY1MTc5NDRdLCBbMTY2MzkyMTgxNy45MzMzNDAzLCAxMDA1MywgMS4xODA3NjIwNTI1MzYwMTA3XSwgWzE2NjM5MjE4MTguMDI5MDc1NiwgMTAwNjIsIDEuMTUwMjgxNjY3NzA5MzUwNl0sIFsxNjYzOTIxODE4LjMyMzI5MiwgMTAwNzEsIDEuMTU2ODg0Nzg5NDY2ODU4XSwgWzE2NjM5MjE4MTguNDIwMzQzNiwgMTAwODAsIDEuMTkwODQ0NjU1MDM2OTI2M10sIFsxNjYzOTIxODE4LjUxMzMwMTgsIDEwMDg5LCAxLjE2NDUwMjM4MjI3ODQ0MjRdLCBbMTY2MzkyMTgxOC42MDY2MjE3LCAxMDA5OCwgMS4xODg5NDU1MzE4NDUwOTI4XSwgWzE2NjM5MjE4MTguNjk5MTM5LCAxMDEwNywgMS4xNTU2OTM0MTE4MjcwODc0XSwgWzE2NjM5MjE4MTguOTk1MTgwNCwgMTAxMzQsIDEuMTYxNTUwMDQ1MDEzNDI3N10sIFsxNjYzOTIxODE5LjA5NDcwMTMsIDEwMTQzLCAxLjE1NDY5OTkyMTYwNzk3MTJdLCBbMTY2MzkyMTgxOS4zMjk4MDMyLCAxMDE2MSwgMS4xNjczNDIzMDUxODM0MTA2XSwgWzE2NjM5MjE4MTkuNDc1NzcyMSwgMTAxNzAsIDEuMTczNzUxNDczNDI2ODE4OF0sIFsxNjYzOTIxODE5LjU4NjM5LCAxMDE3OSwgMS4xODIwMzQ0OTI0OTI2NzU4XSwgWzE2NjM5MjE4MTkuNzIyNjg5NiwgMTAxODgsIDEuMTU3Mjg4NDMyMTIxMjc2OV0sIFsxNjYzOTIxODE5LjgzNDIzMzUsIDEwMTk3LCAxLjE1OTIxNjE2NTU0MjYwMjVdLCBbMTY2MzkyMTgxOS45NjA4MjkzLCAxMDIwNiwgMS4xNjI4Mzk3NzAzMTcwNzc2XSwgWzE2NjM5MjE4MjAuMDg5MDU4MiwgMTAyMTUsIDEuMjEwMTUyNjI2MDM3NTk3N10sIFsxNjYzOTIxODIwLjIwODcxMzUsIDEwMjI0LCAxLjE3MjE0MDI0MDY2OTI1MDVdLCBbMTY2MzkyMTgyMC4zMjE5ODYyLCAxMDIzMywgMS4xNzEwNTg3NzM5OTQ0NDU4XSwgWzE2NjM5MjE4MjAuNDM5NDgwOCwgMTAyNDIsIDEuMTczOTU4MTgyMzM0OV0sIFsxNjYzOTIxODIwLjY2NTc0MSwgMTAyNjAsIDEuMTcwMTAxMDQ2NTYyMTk0OF0sIFsxNjYzOTIxODIwLjc3NTk3NjcsIDEwMjY5LCAxLjE3OTQxNjY1NjQ5NDE0MDZdLCBbMTY2MzkyMTgyMS4wMDM4ODgxLCAxMDI4NywgMS4xODUyMzA0OTM1NDU1MzIyXSwgWzE2NjM5MjE4MjEuMTE0MjY0NSwgMTAyOTYsIDEuMTgxODAyNzQ5NjMzNzg5XSwgWzE2NjM5MjE4MjEuMzYyMzM4MywgMTAzMTQsIDEuMTY5NjU0NDg4NTYzNTM3Nl0sIFsxNjYzOTIxODIxLjQ4MjkxMjUsIDEwMzIzLCAxLjE4OTMxMjIxOTYxOTc1MV0sIFsxNjYzOTIxODIxLjU4NDk3MzMsIDEwMzMyLCAxLjE2NzIyMDM1NDA4MDIwMDJdLCBbMTY2MzkyMTgyMS42NzQ0NjY4LCAxMDM0MSwgMS4xNjg1MjEyODUwNTcwNjc5XSwgWzE2NjM5MjE4MjEuNzY3MjYwMywgMTAzNTAsIDEuMTU3Nzc2NDc0OTUyNjk3OF0sIFsxNjYzOTIxODIxLjg1Nzk5NzcsIDEwMzU5LCAxLjE1MDg1ODY0MDY3MDc3NjRdLCBbMTY2MzkyMTgyMS45NDkwNzg2LCAxMDM2OCwgMS4xODU5MjEwNzI5NTk5XSwgWzE2NjM5MjE4MjIuMDM1ODcxNSwgMTAzNzcsIDEuMTY2ODAyNDA2MzExMDM1Ml0sIFsxNjYzOTIxODIyLjEyNjA2MzMsIDEwMzg2LCAxLjE5NzI0NDUyNDk1NTc0OTVdLCBbMTY2MzkyMTgyMi4zMDY4NDMsIDEwNDA0LCAxLjE1NDQ3MTM5NzM5OTkwMjNdLCBbMTY2MzkyMTgyMi40MTcyODU3LCAxMDQxMywgMS4xNDkwMTQ3MTEzODAwMDQ5XSwgWzE2NjM5MjE4MjIuNTA2MTI1LCAxMDQyMiwgMS4xNTg5MTAwMzYwODcwMzYxXSwgWzE2NjM5MjE4MjIuNjk0OTE0LCAxMDQ0MCwgMS4xNTMyMTA4NzgzNzIxOTI0XSwgWzE2NjM5MjE4MjIuODE1NDk0LCAxMDQ0OSwgMS4xNzQzOTgzMDMwMzE5MjE0XSwgWzE2NjM5MjE4MjMuMDY4NTgyOCwgMTA0NjcsIDEuMTU4NjAwMjExMTQzNDkzN10sIFsxNjYzOTIxODIzLjE3OTM5MzUsIDEwNDc2LCAxLjE5NjAxMDU4OTU5OTYwOTRdLCBbMTY2MzkyMTgyMy4yNzQ1Mjg3LCAxMDQ4NSwgMS4yMDEyOTg1OTQ0NzQ3OTI1XSwgWzE2NjM5MjE4MjMuMzY3MTY5OSwgMTA0OTQsIDEuMTc0NDQ2NTgyNzk0MTg5NV0sIFsxNjYzOTIxODIzLjQ3ODE2MDEsIDEwNTAzLCAxLjE3NzA0MjQ4NDI4MzQ0NzNdLCBbMTY2MzkyMTgyMy41Njk3Mjc3LCAxMDUxMiwgMS4xNTA1ODQxMDE2NzY5NDFdLCBbMTY2MzkyMTgyMy42NTkxNTEzLCAxMDUyMSwgMS4xNjY3ODA3MTAyMjAzMzddLCBbMTY2MzkyMTgyNC4wMzUzMDEsIDEwNTU3LCAxLjE1ODM3MzgzMjcwMjYzNjddLCBbMTY2MzkyMTgyNC4xMzM2MTE3LCAxMDU2NiwgMS4xNTQyMDMyOTU3MDc3MDI2XSwgWzE2NjM5MjE4MjQuMjI0MzA1OSwgMTA1NzUsIDEuMTkzNzg4NjQ3NjUxNjcyNF0sIFsxNjYzOTIxODI0LjQyNjE1MDgsIDEwNTkzLCAxLjE3OTU4NDYyMjM4MzExNzddLCBbMTY2MzkyMTgyNC41MzI5OTE0LCAxMDYwMiwgMS4xNTg2OTI4MzY3NjE0NzQ2XSwgWzE2NjM5MjE4MjQuNjg0MzMxMiwgMTA2MTEsIDEuMTY1NzcwMDUzODYzNTI1NF0sIFsxNjYzOTIxODI0LjkyOTY0NjUsIDEwNjI5LCAxLjE0NTEwMjczOTMzNDEwNjRdLCBbMTY2MzkyMTgyNS4wNDM5OTMsIDEwNjM4LCAxLjE2NjE2Njc4MjM3OTE1MDRdLCBbMTY2MzkyMTgyNS4xNTE5NjAxLCAxMDY0NywgMS4xNjk5OTI2ODUzMTc5OTMyXSwgWzE2NjM5MjE4MjUuMzQ2NjgxNCwgMTA2NjUsIDEuMTU4NjI2MzE3OTc3OTA1M10sIFsxNjYzOTIxODI1LjU0MjI2LCAxMDY4MywgMS4xNzU3ODM1MTQ5NzY1MDE1XSwgWzE2NjM5MjE4MjUuNzM5ODUxMiwgMTA3MDEsIDEuMTg0NTcyOTM1MTA0MzcwMV0sIFsxNjYzOTIxODI1LjgzNTE2NjcsIDEwNzEwLCAxLjE3ODEyMjA0MzYwOTYxOTFdLCBbMTY2MzkyMTgyNS45NDU3OCwgMTA3MTksIDEuMTc3MzkxODg2NzExMTIwNl0sIFsxNjYzOTIxODI2LjA1ODE4NywgMTA3MjgsIDEuMTY4MzIwMjk4MTk0ODg1M10sIFsxNjYzOTIxODI2LjI2MTk5NDEsIDEwNzQ2LCAxLjE3MjU0ODI5NDA2NzM4MjhdLCBbMTY2MzkyMTgyNi4zODE1OTg1LCAxMDc1NSwgMS4xNzY3MDMyMTQ2NDUzODU3XSwgWzE2NjM5MjE4MjYuNDg5OTI0NywgMTA3NjQsIDEuMTY5OTExNjIzMDAxMDk4Nl0sIFsxNjYzOTIxODI2LjU5NjE0MzcsIDEwNzczLCAxLjE2NDIzNTU5MTg4ODQyNzddLCBbMTY2MzkyMTgyNi43MTE1ODg2LCAxMDc4MiwgMS4xNDY0NDIwNTU3MDIyMDk1XSwgWzE2NjM5MjE4MjYuODI1MTQ1MiwgMTA3OTEsIDEuMTU3NTM2Mzg3NDQzNTQyNV0sIFsxNjYzOTIxODI3LjE2NTc3NSwgMTA4MTgsIDEuMTY4NzMyNzYyMzM2NzMxXSwgWzE2NjM5MjE4MjcuMjc2ODc0NSwgMTA4MjcsIDEuMTc5NDI1MjM5NTYyOTg4M10sIFsxNjYzOTIxODI3Ljc4NjI0OTYsIDEwODU0LCAxLjE2NDY1Mjk0MzYxMTE0NV0sIFsxNjYzOTIxODI3Ljg4NDMxMjIsIDEwODYzLCAxLjEzOTE4ODE3MDQzMzA0NDRdLCBbMTY2MzkyMTgyNy45NzU1OTYsIDEwODcyLCAxLjE3OTc1MjM0OTg1MzUxNTZdLCBbMTY2MzkyMTgyOC4xNTM5MjY0LCAxMDg5MCwgMS4yMDYxNzk0OTk2MjYxNTk3XSwgWzE2NjM5MjE4MjguMjQ4NjM0NiwgMTA4OTksIDEuMTc4Njk2NjMyMzg1MjU0XSwgWzE2NjM5MjE4MjguNTg2MjQzNCwgMTA5MjYsIDEuMTcyMDcxMjE4NDkwNjAwNl0sIFsxNjYzOTIxODI4LjY4MDk4NywgMTA5MzUsIDEuMTU3MzMwMDM2MTYzMzNdLCBbMTY2MzkyMTgyOC43NzczOTE0LCAxMDk0NCwgMS4xNTgyMTk5MzM1MDk4MjY3XSwgWzE2NjM5MjE4MjguOTU4Nzg2NywgMTA5NjIsIDEuMjExNjU1MTM5OTIzMDk1N10sIFsxNjYzOTIxODI5LjA0OTk0NywgMTA5NzEsIDEuMjA4MTI4NDUyMzAxMDI1NF0sIFsxNjYzOTIxODI5LjE0MzgwNDMsIDEwOTgwLCAxLjE4ODUyNzgyMjQ5NDUwNjhdLCBbMTY2MzkyMTgyOS4yNDQ2MzEsIDEwOTg5LCAxLjIwNDM1OTc2OTgyMTE2N10sIFsxNjYzOTIxODI5LjMzNjc0MzYsIDEwOTk4LCAxLjE3Mjg3NjAwMDQwNDM1OF0sIFsxNjYzOTIxODI5LjQzNjE0MTcsIDExMDA3LCAxLjE3NTUxNjQ4NjE2NzkwNzddLCBbMTY2MzkyMTgyOS41MzI4MTksIDExMDE2LCAxLjE4MTQ0MjYxODM3MDA1NjJdLCBbMTY2MzkyMTgyOS43MjY3NzgzLCAxMTAzNCwgMS4xODQxODkwODExOTIwMTY2XSwgWzE2NjM5MjE4MzAuMDI5MzIwNywgMTEwNjEsIDEuMTcwMTcyNDUyOTI2NjM1N10sIFsxNjYzOTIxODMwLjEyOTcyNjQsIDExMDcwLCAxLjIwMTE2NDcyMjQ0MjYyN10sIFsxNjYzOTIxODMwLjQyMzkzNjYsIDExMDk3LCAxLjE2OTM0NzE2NzAxNTA3NTddLCBbMTY2MzkyMTgzMC41MTQ3NTE3LCAxMTEwNiwgMS4xNjM5ODY4MDIxMDExMzUzXSwgWzE2NjM5MjE4MzAuNjE2NDAyLCAxMTExNSwgMS4xNTUxNTQxMDkwMDExNTk3XSwgWzE2NjM5MjE4MzAuNzEzOTA4NCwgMTExMjQsIDEuMTU0OTkyNTgwNDEzODE4NF0sIFsxNjYzOTIxODMwLjgwODYxMjMsIDExMTMzLCAxLjE1OTYxNjIzMTkxODMzNV0sIFsxNjYzOTIxODMxLjAwNzgyMzUsIDExMTUxLCAxLjE2MzExNDQyODUyMDIwMjZdLCBbMTY2MzkyMTgzMS4xMDMyNjc0LCAxMTE2MCwgMS4xOTM2MTA2NjgxODIzNzNdLCBbMTY2MzkyMTgzMS4xOTM4NDQzLCAxMTE2OSwgMS4xNTcxMTkyNzQxMzk0MDQzXSwgWzE2NjM5MjE4MzEuMjg1OTU4OCwgMTExNzgsIDEuMTcwNDUyMTE3OTE5OTIxOV0sIFsxNjYzOTIxODMxLjM3NTkwMTUsIDExMTg3LCAxLjE2MDI2OTczNzI0MzY1MjNdLCBbMTY2MzkyMTgzMS40NzE3MDgzLCAxMTE5NiwgMS4xNDY5Njk2NzYwMTc3NjEyXSwgWzE2NjM5MjE4MzEuNTY1MjYzNSwgMTEyMDUsIDEuMTc0NzAwMDIxNzQzNzc0NF0sIFsxNjYzOTIxODMxLjY2MjEzODUsIDExMjE0LCAxLjEzODc2NDg1ODI0NTg0OTZdLCBbMTY2MzkyMTgzMS43NTM4NzE3LCAxMTIyMywgMS4xNTM2MTcwMjQ0MjE2OTJdLCBbMTY2MzkyMTgzMS44NDg2MDE2LCAxMTIzMiwgMS4xODA5NzQ0ODM0ODk5OTAyXSwgWzE2NjM5MjE4MzEuOTUyODI3LCAxMTI0MSwgMS4xNTY1MzA3Mzc4NzY4OTJdLCBbMTY2MzkyMTgzMi4wNDg2MzI5LCAxMTI1MCwgMS4xNTM4ODQ2NDkyNzY3MzM0XSwgWzE2NjM5MjE4MzIuMTQxNTc5MiwgMTEyNTksIDEuMTQ1MzA4MTM2OTQwMDAyNF0sIFsxNjYzOTIxODMyLjIzOTM1OTEsIDExMjY4LCAxLjE5NTAzNTIxOTE5MjUwNDldLCBbMTY2MzkyMTgzMi4zMzM2MTE1LCAxMTI3NywgMS4xNDg3NDEzNjQ0NzkwNjVdLCBbMTY2MzkyMTgzMi40MjcwNzk3LCAxMTI4NiwgMS4xNjE2Mjk2NzY4MTg4NDc3XSwgWzE2NjM5MjE4MzIuNTE1NjM2MiwgMTEyOTUsIDEuMTQ0NjI0MTE0MDM2NTZdLCBbMTY2MzkyMTgzMi43MDQ3Njc3LCAxMTMxMywgMS4xNTA3MDkyNzE0MzA5NjkyXSwgWzE2NjM5MjE4MzIuNzk2NTg3MiwgMTEzMjIsIDEuMTYxODQ5MjYwMzMwMjAwMl0sIFsxNjYzOTIxODMzLjA5MDIxNTcsIDExMzQ5LCAxLjE0OTcwNjM2MzY3Nzk3ODVdLCBbMTY2MzkyMTgzMy4xODQ2ODIxLCAxMTM1OCwgMS4xNzU0MTE4MjA0MTE2ODIxXSwgWzE2NjM5MjE4MzMuMzk1MjM1LCAxMTM3NiwgMS4xNjQyNzgzODgwMjMzNzY1XSwgWzE2NjM5MjE4MzMuNDg4MjE5NSwgMTEzODUsIDEuMTU0NTcyNDg2ODc3NDQxNF0sIFsxNjYzOTIxODMzLjU4MjUzNjcsIDExMzk0LCAxLjIwODYxODY0MDg5OTY1ODJdLCBbMTY2MzkyMTgzMy42NzQ4OTg5LCAxMTQwMywgMS4xODU0NTgzMDI0OTc4NjM4XSwgWzE2NjM5MjE4MzMuNzcyNzE2NSwgMTE0MTIsIDEuMTcxNzU2MDI5MTI5MDI4M10sIFsxNjYzOTIxODMzLjg2NzQxNDcsIDExNDIxLCAxLjE3ODkwNzAzNjc4MTMxMV0sIFsxNjYzOTIxODM0LjE1Mzc4OTUsIDExNDQ4LCAxLjE3NzczODU0NzMyNTEzNDNdLCBbMTY2MzkyMTgzNC4yNDcyNjkyLCAxMTQ1NywgMS4xNTM1MTQxNDY4MDQ4MDk2XSwgWzE2NjM5MjE4MzQuNTIyMTM5LCAxMTQ4NCwgMS4xNzE2MzEwOTc3OTM1NzldLCBbMTY2MzkyMTgzNC42MTczMDM4LCAxMTQ5MywgMS4xNTM1NjIzMDczNTc3ODhdLCBbMTY2MzkyMTgzNC43MTI5MjgsIDExNTAyLCAxLjEzNjQ0MjE4NDQ0ODI0MjJdLCBbMTY2MzkyMTgzNC44MDA5Nzk5LCAxMTUxMSwgMS4xNDM5MzY1MTQ4NTQ0MzEyXSwgWzE2NjM5MjE4MzQuODk4MjY1MSwgMTE1MjAsIDEuMTU0NDI2OTMyMzM0OV0sIFsxNjYzOTIxODM0Ljk5MjAyOTQsIDExNTI5LCAxLjE2MTA0OTM2NTk5NzMxNDVdLCBbMTY2MzkyMTgzNS4xOTM5MiwgMTE1NDcsIDEuMTQ4MjY1NjAwMjA0NDY3OF0sIFsxNjYzOTIxODM1LjI5MDkyODQsIDExNTU2LCAxLjEzODQ2MzAyMDMyNDcwN10sIFsxNjYzOTIxODM1LjQ3OTU2NTksIDExNTc0LCAxLjE2NjU5MDQ1MjE5NDIxMzldLCBbMTY2MzkyMTgzNS41NzU0NjkzLCAxMTU4MywgMS4xNzcwNDA0NTc3MjU1MjVdLCBbMTY2MzkyMTgzNS43NjUxMDk4LCAxMTYwMSwgMS4xNjY3MzIzMTEyNDg3NzkzXSwgWzE2NjM5MjE4MzYuMTUxNzM5MSwgMTE2MTksIDEuMTU3ODA1MDg1MTgyMTldLCBbMTY2MzkyMTgzNi4yNTQ4NDM1LCAxMTYyOCwgMS4xNjI3NzEyMjQ5NzU1ODZdLCBbMTY2MzkyMTgzNi4zNDEzMDc5LCAxMTYzNywgMS4xNTg2NjgzOTg4NTcxMTY3XSwgWzE2NjM5MjE4MzYuNDM1MDE2MiwgMTE2NDYsIDEuMTY4NDc5OTE5NDMzNTkzOF0sIFsxNjYzOTIxODM2LjYxMTEzNDgsIDExNjY0LCAxLjE2NDc5ODczNjU3MjI2NTZdLCBbMTY2MzkyMTgzNi43MDYxNzMsIDExNjczLCAxLjE3MTA0MjY4MDc0MDM1NjRdLCBbMTY2MzkyMTgzNi45Mjk4OCwgMTE2OTEsIDEuMTczMjAzNTg3NTMyMDQzNV0sIFsxNjYzOTIxODM3LjA2MjM4NjUsIDExNzAwLCAxLjEzMjc0NTk4MTIxNjQzMDddXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_02-12-17_b5cca277837b&tag=Loss%2Fvalid":{"data":"W1sxNjYzODEyNzM5LjUwMjc1NjgsIDksIDk3LjI2NTY3ODQwNTc2MTcyXSwgWzE2NjM4MTI3NDAuMTcyMzczLCAyNywgNDAuODQxNzUxMDk4NjMyODFdLCBbMTY2MzgxMjc0MC4yNjQyNjQzLCAzNiwgMzkuMDk1MTQyMzY0NTAxOTVdLCBbMTY2MzgxMjc0MC4zNTU2MjgzLCA0NSwgMzYuMzk4MTk3MTc0MDcyMjY2XSwgWzE2NjM4MTI3NDAuODM4MzIzNCwgOTAsIDIwLjA5MzQ2OTYxOTc1MDk3N10sIFsxNjYzODEyNzQwLjk1MTU0MjksIDk5LCAxNi4xNjQ3NTg2ODIyNTA5NzddLCBbMTY2MzgxMjc0MS4wNDIxNDU1LCAxMDgsIDE0LjUxNDQwOTA2NTI0NjU4Ml0sIFsxNjYzODEyNzQxLjQ5NTYzNSwgMTM1LCA3Ljk2NjEyMzEwNDA5NTQ1OV0sIFsxNjYzODEyNzQxLjYwMjk5ODMsIDE0NCwgNi45NjYxNTIxOTExNjIxMDldLCBbMTY2MzgxMjc0MS43MDM5NjcsIDE1MywgNi41MzAwODY5OTQxNzExNDNdLCBbMTY2MzgxMjc0MS45MTg4NDMsIDE3MSwgNi4xMjgyODczMTUzNjg2NTJdLCBbMTY2MzgxMjc0Mi4wMjEwMDA0LCAxODAsIDQuODI5NzMyNDE4MDYwMzAzXSwgWzE2NjM4MTI3NDIuMTI3ODg1LCAxODksIDUuMzQ1MTgzMzcyNDk3NTU5XSwgWzE2NjM4MTI3NDIuMzM2OTIwMywgMjA3LCA2Ljg2OTI2NDYwMjY2MTEzM10sIFsxNjYzODEyNzQyLjQ0MTkxNzQsIDIxNiwgNC44MjQzODIzMDUxNDUyNjRdLCBbMTY2MzgxMjc0Mi44MDg2ODk0LCAyNDMsIDYuMDUwMjI2MjExNTQ3ODUyXSwgWzE2NjM4MTI3NDIuOTAxODE5MiwgMjUyLCA1LjYzOTE5NzM0OTU0ODM0XSwgWzE2NjM4MTI3NDMuMDA4MjAzLCAyNjEsIDUuNjE4ODUyMTM4NTE5Mjg3XSwgWzE2NjM4MTI3NDMuMDk3MTExMiwgMjcwLCA1LjQwMjA2Mjg5MjkxMzgxOF0sIFsxNjYzODEyNzQzLjIwNTY0MDgsIDI3OSwgNS44MjUzNDQ1NjI1MzA1MThdLCBbMTY2MzgxMjc0My41MjAyMjQzLCAzMDYsIDQuNzk4ODE4NTg4MjU2ODM2XSwgWzE2NjM4MTI3NDMuNjEyODk3OSwgMzE1LCA1LjU3NDM5NDcwMjkxMTM3N10sIFsxNjYzODEyNzQzLjc5MjY5NjcsIDMzMywgNC4yNjE2OTY4MTU0OTA3MjNdLCBbMTY2MzgxMjc0My44ODIxNDMzLCAzNDIsIDUuMzc5MTE3OTY1Njk4MjQyXSwgWzE2NjM4MTI3NDMuOTczNTI3NywgMzUxLCA0LjU0ODA2MTM3MDg0OTYwOV0sIFsxNjYzODEyNzQ0LjA1OTAyNDYsIDM2MCwgNS41MjI3NDk0MjM5ODA3MTNdLCBbMTY2MzgxMjc0NC4xNDg3MzA1LCAzNjksIDQuOTM1Mzg1MjI3MjAzMzY5XSwgWzE2NjM4MTI3NDQuODIwNTc3OSwgNDMyLCAzLjk5Njk0ODI0MjE4NzVdLCBbMTY2MzgxMjc0NC45MjE2NTU3LCA0NDEsIDQuMTg4MjQ3MjAzODI2OTA0XSwgWzE2NjM4MTI3NDUuMDE3Nzc1MywgNDUwLCA0Ljc4NTQyODUyNDAxNzMzNF0sIFsxNjYzODEyNzQ1LjExMzU0NDcsIDQ1OSwgNC44MjIxNjU0ODkxOTY3NzddLCBbMTY2MzgxMjc0NS4yMjgxODQsIDQ2OCwgNC4wNjYxNDE2MDUzNzcxOTddLCBbMTY2MzgxMjc0NS4zNDM3NywgNDc3LCA0LjIxOTY0NTAyMzM0NTk0N10sIFsxNjYzODEyNzQ1LjQ0OTUzODcsIDQ4NiwgNC42MjIyMDMzNTAwNjcxMzldLCBbMTY2MzgxMjc0NS41NDM2NTUsIDQ5NSwgNC40NDY3MDAwOTYxMzAzNzFdLCBbMTY2MzgxMjc0NS42NDcwMDgsIDUwNCwgMy45OTkyMjM5NDc1MjUwMjQ0XSwgWzE2NjM4MTI3NDUuODM3MjcxMiwgNTIyLCA0LjQ4NDczMDcyMDUyMDAxOTVdLCBbMTY2MzgxMjc0Ni4xMjQ4NTQ2LCA1NDksIDQuMDUwODI1NTk1ODU1NzEzXSwgWzE2NjM4MTI3NDYuMjQyNjI4MywgNTU4LCAzLjc3Njk3ODQ5MjczNjgxNjRdLCBbMTY2MzgxMjc0Ni4zNDAzNTUyLCA1NjcsIDQuNzgxNDA3MzU2MjYyMjA3XSwgWzE2NjM4MTI3NDYuNDYxMTQyMywgNTc2LCA0Ljc3NTMzODE3MjkxMjU5OF0sIFsxNjYzODEyNzQ2LjY2MDgzMTUsIDU5NCwgMy42Nzg3NTUwNDQ5MzcxMzRdLCBbMTY2MzgxMjc0Ni43NTY5NjEsIDYwMywgMy42OTIwMDE4MTk2MTA1OTU3XSwgWzE2NjM4MTI3NDYuODUxOTQwMiwgNjEyLCAzLjk4ODM0Mjc2MTk5MzQwOF0sIFsxNjYzODEyNzQ2Ljk0NTM0NjgsIDYyMSwgMy42MjE5NDA4NTEyMTE1NDhdLCBbMTY2MzgxMjc0Ny4xNDEyMjc3LCA2MzksIDMuNzYyOTkxNjY2NzkzODIzMl0sIFsxNjYzODEyNzQ3LjIzODI4MywgNjQ4LCAzLjYwMjY4MDY4MzEzNTk4NjNdLCBbMTY2MzgxMjc0Ny40MjA4OTYzLCA2NjYsIDMuNjEzNDU2NzI2MDc0MjE4OF0sIFsxNjYzODEyNzQ3LjYxOTQ2MzcsIDY4NCwgMy43MzM5NjA2Mjg1MDk1MjE1XSwgWzE2NjM4MTI3NDcuODIyNTU3LCA3MDIsIDMuMzY3NjU3NjYxNDM3OTg4M10sIFsxNjYzODEyNzQ3LjkxNDQ5MzMsIDcxMSwgMy4wNzcwOTMxMjQzODk2NDg0XSwgWzE2NjM4MTI3NDguMDA5NDY2NiwgNzIwLCAzLjQ5ODUxOTE4MjIwNTJdLCBbMTY2MzgxMjc0OC4xMDQxNDA4LCA3MjksIDMuMzc4MjQ5NjQ1MjMzMTU0M10sIFsxNjYzODEyNzQ4LjI4NDg2MDYsIDc0NywgMy4xMjkyOTA1ODA3NDk1MTE3XSwgWzE2NjM4MTI3NDguMzc3MTM4MSwgNzU2LCAzLjQ5ODMwNzcwNDkyNTUzN10sIFsxNjYzODEyNzQ4LjU2NTYzMjYsIDc3NCwgMy4zOTg3MTE0NDI5NDczODc3XSwgWzE2NjM4MTI3NDguNjY0NzE2MiwgNzgzLCAzLjU1Mzg1NzU2NDkyNjE0NzVdLCBbMTY2MzgxMjc0OC43NTAwMDg4LCA3OTIsIDMuMjE2NjY4MzY3Mzg1ODY0M10sIFsxNjYzODEyNzQ4LjkyMDY1ODYsIDgxMCwgMi45NTkwOTA3MDk2ODYyNzkzXSwgWzE2NjM4MTI3NDkuMDI4NDIzMywgODE5LCAzLjAzNTE4NDYyMTgxMDkxM10sIFsxNjYzODEyNzQ5LjU3NjIwMTIsIDg2NCwgMy4zMDM2NTgwMDg1NzU0Mzk1XSwgWzE2NjM4MTI3NDkuNjY5NDYzOSwgODczLCAyLjg0MDY5NDQyNzQ5MDIzNDRdLCBbMTY2MzgxMjc0OS45Njk1MDYsIDkwMCwgMi44MTQzMjgxOTM2NjQ1NTFdLCBbMTY2MzgxMjc1MC4wNzA3MDI4LCA5MDksIDIuNzQ3NTI1NjkxOTg2MDg0XSwgWzE2NjM4MTI3NTAuNTA1NzUzNSwgOTM2LCAyLjQ4NjEzMjM4MzM0NjU1NzZdLCBbMTY2MzgxMjc1MC42MjkwOTU4LCA5NDUsIDIuNDkyNTIyNzE2NTIyMjE3XSwgWzE2NjM4MTI3NTAuODMxODIyOSwgOTYzLCAyLjQ2Mjk1NTQ3NDg1MzUxNTZdLCBbMTY2MzgxMjc1MC45MzQwMDY3LCA5NzIsIDIuNTYzODE1MTE2ODgyMzI0XSwgWzE2NjM4MTI3NTEuMDI5MzQ5MywgOTgxLCAyLjczMjAwNzk4MDM0NjY3OTddLCBbMTY2MzgxMjc1MS4xMTc1NTM3LCA5OTAsIDIuNDI4NjMzMjEzMDQzMjEzXSwgWzE2NjM4MTI3NTEuMjMxMzM3OCwgOTk5LCAyLjQ3MTg4MDY3NDM2MjE4MjZdLCBbMTY2MzgxMjc1MS4zMjA0NTgsIDEwMDgsIDIuNTI5MDgxMzQ0NjA0NDkyXSwgWzE2NjM4MTI3NTEuNDA5NzIxMSwgMTAxNywgMy4xMDQ5MzYzNjEzMTI4NjZdLCBbMTY2MzgxMjc1MS41OTQ5MTMsIDEwMzUsIDIuOTA1NTY2NjkyMzUyMjk1XSwgWzE2NjM4MTI3NTEuNjg5NTgxNiwgMTA0NCwgMi43ODQxNjYwOTc2NDA5OTFdLCBbMTY2MzgxMjc1MS44MDMxODEyLCAxMDUzLCAyLjg3NTQ5MzA0OTYyMTU4Ml0sIFsxNjYzODEyNzUxLjkwMjAzMywgMTA2MiwgMi42NjY5NDI4MzQ4NTQxMjZdLCBbMTY2MzgxMjc1Mi4yMDI1OTA1LCAxMDg5LCAzLjI3MDUyODA3ODA3OTIyMzZdLCBbMTY2MzgxMjc1Mi4yOTMwMjI2LCAxMDk4LCAyLjI2MjgwNzg0NjA2OTMzNl0sIFsxNjYzODEyNzUyLjY4NjIzLCAxMTM0LCAyLjU3MDk0MzM1NTU2MDMwMjddLCBbMTY2MzgxMjc1Mi43NzUxODU2LCAxMTQzLCAyLjkyNjM2NTYxMzkzNzM3OF0sIFsxNjYzODEyNzUyLjk3OTM0LCAxMTYxLCAyLjI5MzA4ODY3NDU0NTI4OF0sIFsxNjYzODEyNzUzLjA2OTA4MzcsIDExNzAsIDIuNTE4Nzk5MDY2NTQzNTc5XSwgWzE2NjM4MTI3NTMuMTU5NjYxNSwgMTE3OSwgMi4zMzYzNjA0NTQ1NTkzMjZdLCBbMTY2MzgxMjc1My4yNTExNDU4LCAxMTg4LCAyLjI0MTM2MjU3MTcxNjMwODZdLCBbMTY2MzgxMjc1My4zNjA1NzksIDExOTcsIDIuNjcxMjM1MzIyOTUyMjcwNV0sIFsxNjYzODEyNzUzLjU4MzI1MDUsIDEyMTUsIDIuNDY4ODg2Mzc1NDI3MjQ2XSwgWzE2NjM4MTI3NTMuNzg4NzIsIDEyMzMsIDIuOTMzMjkzMTA0MTcxNzUzXSwgWzE2NjM4MTI3NTMuODg5ODc5LCAxMjQyLCAyLjI3OTAwMzYyMDE0NzcwNV0sIFsxNjYzODEyNzUzLjk5NTg4NzMsIDEyNTEsIDIuNTc1MDMwODAzNjgwNDJdLCBbMTY2MzgxMjc1NC4wOTA2ODAxLCAxMjYwLCAyLjM0NTQ3NjYyNzM0OTg1MzVdLCBbMTY2MzgxMjc1NC4xODEwNzc1LCAxMjY5LCAyLjcyODc5MDI4MzIwMzEyNV0sIFsxNjYzODEyNzU0LjI3MDY2MTgsIDEyNzgsIDIuMjI4NzE4NzU3NjI5Mzk0NV0sIFsxNjYzODEyNzU0LjQ2MTM0ODUsIDEyOTYsIDIuMzI5NzczNDI2MDU1OTA4XSwgWzE2NjM4MTI3NTQuNTUxMTA4OCwgMTMwNSwgMi4yMjA2NDQ5NTA4NjY2OTldLCBbMTY2MzgxMjc1NC42NDQ4OTQxLCAxMzE0LCAyLjE4MTM3MjE2NTY3OTkzMTZdLCBbMTY2MzgxMjc1NC43MzgwMzMzLCAxMzIzLCAyLjE2MDMxNjk0NDEyMjMxNDVdLCBbMTY2MzgxMjc1NC44MjgwNjgzLCAxMzMyLCAyLjMwNDYxMTkyMTMxMDQyNV0sIFsxNjYzODEyNzU1LjExMjQ0OTIsIDEzNTksIDIuMDc5NDEyNDYwMzI3MTQ4NF0sIFsxNjYzODEyNzU1LjQ4NjA2OTcsIDEzOTUsIDIuMzE4MzMyMTk1MjgxOTgyNF0sIFsxNjYzODEyNzU1LjY4NzgyOTMsIDE0MTMsIDIuNjcyMzA5NjM3MDY5NzAyXSwgWzE2NjM4MTI3NTUuNzkwMjEwNSwgMTQyMiwgMi4xMTgzMzY2Nzc1NTEyNjk1XSwgWzE2NjM4MTI3NTUuOTg1MjEzOCwgMTQ0MCwgMi41OTY4MjQ4ODQ0MTQ2NzNdLCBbMTY2MzgxMjc1Ni4wNzkxNjEyLCAxNDQ5LCAyLjEwMzI0OTc4ODI4NDMwMThdLCBbMTY2MzgxMjc1Ni4yNzMyMzcsIDE0NjcsIDIuMDQ1OTQyMzA2NTE4NTU0N10sIFsxNjYzODEyNzU2LjM2MzIzOTUsIDE0NzYsIDIuMTA3MTQyNDQ4NDI1MjkzXSwgWzE2NjM4MTI3NTYuNDUzODYyLCAxNDg1LCAyLjEyODMxMDQ0MTk3MDgyNV0sIFsxNjYzODEyNzU2LjY1NjcwOCwgMTUwMywgMi4xOTkyMzkyNTM5OTc4MDI3XSwgWzE2NjM4MTI3NTYuODYwODcwNiwgMTUyMSwgMi4yMjExNDQxOTkzNzEzMzhdLCBbMTY2MzgxMjc1Ny4wNDcwMjMzLCAxNTM5LCAyLjA2ODEwMzc5MDI4MzIwM10sIFsxNjYzODEyNzU3LjE0Mzc2OCwgMTU0OCwgMS43NTk4OTQ5NjcwNzkxNjI2XSwgWzE2NjM4MTI3NTcuMjQxNzMzOCwgMTU1NywgMi4wNDQ5MTYxNTI5NTQxMDE2XSwgWzE2NjM4MTI3NTcuNDIyNjU2NSwgMTU3NSwgMi44OTU2MjcyNjAyMDgxM10sIFsxNjYzODEyNzU3LjUxMjM0NDQsIDE1ODQsIDIuMDE4NzI0OTE4MzY1NDc4NV0sIFsxNjYzODEyNzU3LjYwMTE3ODIsIDE1OTMsIDIuNDc3OTA3NDE5MjA0NzEyXSwgWzE2NjM4MTI3NTcuNjk3OTg0MiwgMTYwMiwgMi4zMzUyNzkyMjYzMDMxMDA2XSwgWzE2NjM4MTI3NTcuNzg4MjUyNCwgMTYxMSwgMi41MzU1NTY3OTMyMTI4OTA2XSwgWzE2NjM4MTI3NTcuOTcxODAyNSwgMTYyOSwgMS45OTI0MzY0MDg5OTY1ODJdLCBbMTY2MzgxMjc1OC4wNzAwODEsIDE2MzgsIDIuMjc4MTkzNzEyMjM0NDk3XSwgWzE2NjM4MTI3NTguMTg5MTAwNSwgMTY0NywgMi45NTY3MDE1MTcxMDUxMDI1XSwgWzE2NjM4MTI3NTguMjg3MTE1LCAxNjU2LCAyLjAxMzYwMzY4NzI4NjM3N10sIFsxNjYzODEyNzU4LjM3NzE3MjcsIDE2NjUsIDIuNjg2Njk5MzkwNDExMzc3XSwgWzE2NjM4MTI3NTguNDY3ODY1MiwgMTY3NCwgMi4yNDc1OTI5MjYwMjUzOTA2XSwgWzE2NjM4MTI3NTguNTYwMDgwMywgMTY4MywgMS45NzI1MjI2MTYzODY0MTM2XSwgWzE2NjM4MTI3NTguODQ1OTkyLCAxNzEwLCAxLjg4NzE3MTUwNjg4MTcxMzldLCBbMTY2MzgxMjc1OS4xMDAxMTk0LCAxNzE5LCAxLjk4Njg5NzgyNjE5NDc2MzJdLCBbMTY2MzgxMjc1OS4yMDMwMTM3LCAxNzI4LCAxLjgwMzMzNDk1MTQwMDc1NjhdLCBbMTY2MzgxMjc1OS4zMDk1NTU4LCAxNzM3LCAxLjgwNTM4NTExMjc2MjQ1MTJdLCBbMTY2MzgxMjc1OS42MjE0OTM2LCAxNzY0LCAyLjE1MjYyMzE3NjU3NDcwN10sIFsxNjYzODEyNzU5LjkyMjY2NTQsIDE3OTEsIDIuMTU3ODg3NDU4ODAxMjY5NV0sIFsxNjYzODEyNzYwLjAxMTAyNywgMTgwMCwgMi4zMTA1MzE2MTYyMTA5Mzc1XSwgWzE2NjM4MTI3NjAuMTAwNTI3LCAxODA5LCAxLjg3NDgwOTUwMzU1NTI5NzldLCBbMTY2MzgxMjc2MC4yODYwOTM3LCAxODI3LCAxLjg1OTMxNDMyMjQ3MTYxODddLCBbMTY2MzgxMjc2MC4zNzczNzU2LCAxODM2LCAyLjIyMTM5OTc4NDA4ODEzNDhdLCBbMTY2MzgxMjc2MC40NjU0NzIyLCAxODQ1LCAyLjM4NTQwMjY3OTQ0MzM1OTRdLCBbMTY2MzgxMjc2MC41NTQzNDYsIDE4NTQsIDIuMTg2NjgxMjcwNTk5MzY1Ml0sIFsxNjYzODEyNzYwLjc1ODQ5OCwgMTg3MiwgMi4xMzY4NzEwOTk0NzIwNDZdLCBbMTY2MzgxMjc2MC44NTA2MTY3LCAxODgxLCAyLjE4MDQ2NDk4Mjk4NjQ1XSwgWzE2NjM4MTI3NjAuOTQyOTg0MywgMTg5MCwgMi4xMDUyMDc0NDMyMzczMDQ3XSwgWzE2NjM4MTI3NjEuMTMyODUwNCwgMTkwOCwgMS44ODQzODA1Nzg5OTQ3NTFdLCBbMTY2MzgxMjc2MS4zMzAzNTU0LCAxOTI2LCAyLjAzNjY4MTg5MDQ4NzY3MV0sIFsxNjYzODEyNzYxLjUxNDU2MzMsIDE5NDQsIDIuMjY2MzU0NTYwODUyMDUxXSwgWzE2NjM4MTI3NjEuNjEwMjAxMSwgMTk1MywgMi4xMTE1NzU2MDM0ODUxMDc0XSwgWzE2NjM4MTI3NjEuNzkwMjc0NiwgMTk3MSwgMS45MzI1MTUzODI3NjY3MjM2XSwgWzE2NjM4MTI3NjEuODg4MzU3LCAxOTgwLCAxLjgyNDk0OTI2NDUyNjM2NzJdLCBbMTY2MzgxMjc2MS45OTY1MTA1LCAxOTg5LCAxLjgwNzU0OTM1NzQxNDI0NTZdLCBbMTY2MzgxMjc2Mi4xMTA4NjY1LCAxOTk4LCAyLjE3MzUxMDMxMzAzNDA1NzZdLCBbMTY2MzgxMjc2Mi4yMDM4NTg0LCAyMDA3LCAxLjk3MTIwNzczNzkyMjY2ODVdLCBbMTY2MzgxMjc2Mi40MTkzNjgzLCAyMDI1LCAxLjgzNzc2Nzk1ODY0MTA1MjJdLCBbMTY2MzgxMjc2Mi41MTk5NjA5LCAyMDM0LCAyLjEyMTczNDM4MDcyMjA0Nl0sIFsxNjYzODEyNzYyLjYyOTA2NDgsIDIwNDMsIDIuMzA2NDE5ODQ5Mzk1NzUyXSwgWzE2NjM4MTI3NjIuOTM4OTkzMiwgMjA3MCwgMi4xMDY1NzU0ODkwNDQxODk1XSwgWzE2NjM4MTI3NjMuMTU0MjgzLCAyMDg4LCAyLjQyMDc2OTkyOTg4NTg2NDNdLCBbMTY2MzgxMjc2My4yNDgxODg3LCAyMDk3LCAyLjIxMzc2MTgwNjQ4ODAzN10sIFsxNjYzODEyNzYzLjQ0MjY0NDYsIDIxMTUsIDIuODgwMTQxMjU4MjM5NzQ2XSwgWzE2NjM4MTI3NjMuNTMxNDk4MiwgMjEyNCwgMi40MjIyOTYwNDcyMTA2OTM0XSwgWzE2NjM4MTI3NjMuNjIxODAwNywgMjEzMywgMi4wNjY3MTIzNzk0NTU1NjY0XSwgWzE2NjM4MTI3NjMuNzI1MzU0NCwgMjE0MiwgMi4yMzY2OTQzMzU5Mzc1XSwgWzE2NjM4MTI3NjMuODI3NTQ4NywgMjE1MSwgMS44MjI2NTgzMDAzOTk3ODAzXSwgWzE2NjM4MTI3NjMuOTE2NjY2LCAyMTYwLCAxLjgyNjYxNDk3NTkyOTI2MDNdLCBbMTY2MzgxMjc2NC4wOTg4MzU3LCAyMTc4LCAyLjExNzQzMDY4Njk1MDY4MzZdLCBbMTY2MzgxMjc2NC4xOTAxNjQzLCAyMTg3LCAyLjAzOTQ1MTgzNzUzOTY3M10sIFsxNjYzODEyNzY0LjM3ODIzMTUsIDIyMDUsIDEuNzM3NzUyNjc2MDEwMTMxOF0sIFsxNjYzODEyNzY0LjQ4MzA1MDgsIDIyMTQsIDEuOTI2MzYzOTQ1MDA3MzI0Ml0sIFsxNjYzODEyNzY0LjU3Njc1MTUsIDIyMjMsIDIuMDA4MzIwNTY5OTkyMDY1NF0sIFsxNjYzODEyNzY0LjY2NjQ1MzYsIDIyMzIsIDIuMDUwMTMwMzY3Mjc5MDUyN10sIFsxNjYzODEyNzY0Ljc1ODc4MSwgMjI0MSwgMi4wNDcxOTQyNDI0Nzc0MTddLCBbMTY2MzgxMjc2NC44NDk2MDQ0LCAyMjUwLCAxLjk0NTIzNDY1NjMzMzkyMzNdLCBbMTY2MzgxMjc2NS4xNzc4MzcsIDIyNzcsIDEuNjk3MTMyMTEwNTk1NzAzMV0sIFsxNjYzODEyNzY1LjI4NzYxMzIsIDIyODYsIDIuMDIyNDgxOTE4MzM0OTYxXSwgWzE2NjM4MTI3NjUuMzc2ODQ2NiwgMjI5NSwgMS42OTg0MjY0ODUwNjE2NDU1XSwgWzE2NjM4MTI3NjUuNDgwOTg0MiwgMjMwNCwgMS45NTQ0NDI2MjAyNzc0MDQ4XSwgWzE2NjM4MTI3NjUuNjcxMDI3NCwgMjMyMiwgMS45Mjg1MDgxNjI0OTg0NzQxXSwgWzE2NjM4MTI3NjUuNzYyNTcxLCAyMzMxLCAyLjAzMzA1Njk3NDQxMTAxMDddLCBbMTY2MzgxMjc2NS44NTg5NjksIDIzNDAsIDIuMTUwNjkzNjU1MDE0MDM4XSwgWzE2NjM4MTI3NjUuOTUwOTkzOCwgMjM0OSwgMS44OTgxNDU2NzU2NTkxNzk3XSwgWzE2NjM4MTI3NjYuMTM0MTU3NywgMjM2NywgMi4wMjA3MTA5NDUxMjkzOTQ1XSwgWzE2NjM4MTI3NjYuMjI4MDc4NiwgMjM3NiwgMi4xNzQ5MDgxNjExNjMzM10sIFsxNjYzODEyNzY2LjY4NzE1MDIsIDI0MjEsIDEuOTA0OTgzNzU4OTI2MzkxNl0sIFsxNjYzODEyNzY2Ljg4MDcxMiwgMjQzOSwgMS45NTYwMTgzMjg2NjY2ODddLCBbMTY2MzgxMjc2Ni45NzE1ODQ2LCAyNDQ4LCAyLjIyNTI0NTk1MjYwNjIwMV0sIFsxNjYzODEyNzY3LjI0NDYyMTUsIDI0NzUsIDIuMTY5MjUyMTU3MjExMzAzN10sIFsxNjYzODEyNzY3LjMyNTg3MDMsIDI0ODQsIDIuMTk0MDQwMDYwMDQzMzM1XSwgWzE2NjM4MTI3NjcuNDA4MDUzOSwgMjQ5MywgMi4yNTU5ODM1OTEwNzk3MTJdLCBbMTY2MzgxMjc2Ny43NjE4MDI3LCAyNTExLCAxLjcxMjkwNzMxNDMwMDUzN10sIFsxNjYzODEyNzY3Ljg0OTk0MDgsIDI1MjAsIDIuMjgzMTAzNzA0NDUyNTE0Nl0sIFsxNjYzODEyNzY3Ljk0MTc4MTgsIDI1MjksIDEuODkxMzc2NjE0NTcwNjE3N10sIFsxNjYzODEyNzY4LjAzNDA4MiwgMjUzOCwgMS44NzIwNzI0NTgyNjcyMTJdLCBbMTY2MzgxMjc2OC4xMjIwNDY1LCAyNTQ3LCAyLjE1Nzg5Mjk0MjQyODU4OV0sIFsxNjYzODEyNzY4LjIxMDIyMzIsIDI1NTYsIDIuMDE2MzMyODY0NzYxMzUyNV0sIFsxNjYzODEyNzY4LjI5NDU1OSwgMjU2NSwgMS42ODIzOTU1Nzc0MzA3MjVdLCBbMTY2MzgxMjc2OC4zODQwMjUsIDI1NzQsIDIuNDI1NDMyNDQzNjE4Nzc0NF0sIFsxNjYzODEyNzY4LjU2NDI2OTMsIDI1OTIsIDEuNjk0Nzc4MDg0NzU0OTQzOF0sIFsxNjYzODEyNzY4LjY2NjA4MDcsIDI2MDEsIDIuMzc0MTc3OTMyNzM5MjU4XSwgWzE2NjM4MTI3NjguODQ0MTIsIDI2MTksIDIuMDAxODA4MTY2NTAzOTA2Ml0sIFsxNjYzODEyNzY4Ljk0MDk2MTYsIDI2MjgsIDEuNzE2NDg3MTY5MjY1NzQ3XSwgWzE2NjM4MTI3NjkuMzA4NDA1MiwgMjY2NCwgMi4wODE2MTExNTY0NjM2MjNdLCBbMTY2MzgxMjc2OS40MDk2OTE2LCAyNjczLCAxLjc4NjYwOTA1MzYxMTc1NTRdLCBbMTY2MzgxMjc2OS41MzY4NzgsIDI2ODIsIDEuODY0NTY2NjgzNzY5MjI2XSwgWzE2NjM4MTI3NjkuNjM0NTkxMywgMjY5MSwgMi4xOTgyNjA3ODQxNDkxN10sIFsxNjYzODEyNzY5Ljc0NzU5NywgMjcwMCwgMi4wNzY5Mjk1NjkyNDQzODQ4XSwgWzE2NjM4MTI3NjkuODQ2MjM4NCwgMjcwOSwgMi4wMjgzMzMxODcxMDMyNzE1XSwgWzE2NjM4MTI3NzAuMjM1NjgxLCAyNzQ1LCAxLjkxNTM3OTI4NTgxMjM3OF0sIFsxNjYzODEyNzcwLjMyNTMxODYsIDI3NTQsIDIuMTQ2NzA0NjczNzY3MDldLCBbMTY2MzgxMjc3MC40MjA1NTY1LCAyNzYzLCAxLjY5MjEwMTI0MDE1ODA4MV0sIFsxNjYzODEyNzcwLjUxNTY3ODYsIDI3NzIsIDIuMjc4Mzk3NTYwMTE5NjI5XSwgWzE2NjM4MTI3NzAuNjExMTgwOCwgMjc4MSwgMS44NDA3NDMxODQwODk2NjA2XSwgWzE2NjM4MTI3NzAuNzIyNzE0NywgMjc5MCwgMS43NDg5MDQ5NDM0NjYxODY1XSwgWzE2NjM4MTI3NzAuOTExOTQ4NywgMjgwOCwgMS45MzQ4OTQ5MTkzOTU0NDY4XSwgWzE2NjM4MTI3NzEuMDA0OTk5OSwgMjgxNywgMS43ODg3MzAzODI5MTkzMTE1XSwgWzE2NjM4MTI3NzEuMDk2MzkzOCwgMjgyNiwgMi4wODU1MzI0MjY4MzQxMDY0XSwgWzE2NjM4MTI3NzEuMTg5MjE5NSwgMjgzNSwgMS44MTc3MzczNDA5MjcxMjRdLCBbMTY2MzgxMjc3MS4yNzkwMDM5LCAyODQ0LCAyLjEzODY0OTQ2MzY1MzU2NDVdLCBbMTY2MzgxMjc3MS4zODcyMjIzLCAyODUzLCAyLjA1MDYyOTg1NDIwMjI3MDVdLCBbMTY2MzgxMjc3MS41NzY2MDQ2LCAyODcxLCAxLjc0MTA5NzgwNzg4NDIxNjNdLCBbMTY2MzgxMjc3MS42ODY0MjYyLCAyODgwLCAxLjg1NTIxMTAxOTUxNTk5MTJdLCBbMTY2MzgxMjc3MS43ODE2NDQsIDI4ODksIDEuOTg5MTE4MDk5MjEyNjQ2NV0sIFsxNjYzODEyNzcxLjg3NDQwNzUsIDI4OTgsIDIuMDQ2MjExMjQyNjc1NzgxMl0sIFsxNjYzODEyNzcxLjk3MzIwMSwgMjkwNywgMi40NDAwMzkzOTYyODYwMTA3XSwgWzE2NjM4MTI3NzIuMTc3MjQ5NCwgMjkyNSwgMi4wNDUwNzY4NDcwNzY0MTZdLCBbMTY2MzgxMjc3Mi40NDk5OTI0LCAyOTUyLCAyLjEyNjE0OTE3NzU1MTI2OTVdLCBbMTY2MzgxMjc3Mi42MzM5MjEsIDI5NzAsIDEuODcyODM2OTQ3NDQxMTAxXSwgWzE2NjM4MTI3NzIuNzI1NzE1MiwgMjk3OSwgMS43OTA1OTEyMzk5MjkxOTkyXSwgWzE2NjM4MTI3NzIuODIwODA1MywgMjk4OCwgMS43OTM5NzY1NDUzMzM4NjIzXSwgWzE2NjM4MTI3NzIuOTEwNzI0NCwgMjk5NywgMS44OTMwMjk5MjgyMDczOTc1XSwgWzE2NjM4MTI3NzIuOTk5NTc2NiwgMzAwNiwgMS44ODYxMDU3NzU4MzMxMjk5XSwgWzE2NjM4MTI3NzMuMzU1NzQxNywgMzA0MiwgMi4wNDE4Mzc5MzA2NzkzMjEzXSwgWzE2NjM4MTI3NzMuNDQzOTMzNSwgMzA1MSwgMS45Njk0NzA1MDA5NDYwNDVdLCBbMTY2MzgxMjc3My42MjkyNjM0LCAzMDY5LCAxLjc1MzAzMzc1NzIwOTc3NzhdLCBbMTY2MzgxMjc3My44Mzc3MTQ0LCAzMDg3LCAxLjkyNDEyNDU5ODUwMzExMjhdLCBbMTY2MzgxMjc3My45NDE4MDUsIDMwOTYsIDIuMTY2NzUyMDk5OTkwODQ0N10sIFsxNjYzODEyNzc0LjAzOTY2OTUsIDMxMDUsIDEuODQ2MDE1MDk1NzEwNzU0NF0sIFsxNjYzODEyNzc0LjEyNzQwNDIsIDMxMTQsIDEuNzgxODQzNzgxNDcxMjUyNF0sIFsxNjYzODEyNzc0LjIxODYwNzIsIDMxMjMsIDEuNzAxOTQ3NTY5ODQ3MTA3XSwgWzE2NjM4MTI3NzQuMzEwMDE1MiwgMzEzMiwgMS43MzgzNTM5Njc2NjY2MjZdLCBbMTY2MzgxMjc3NC40MDU4NjkyLCAzMTQxLCAxLjkwNDQzNjExMTQ1MDE5NTNdLCBbMTY2MzgxMjc3NC40OTc2MzgsIDMxNTAsIDEuOTQzODExNjU1MDQ0NTU1N10sIFsxNjYzODEyNzc0LjU5MDE0NTMsIDMxNTksIDEuOTMyMDIwNjY0MjE1MDg4XSwgWzE2NjM4MTI3NzQuNzc2NDAyNSwgMzE3NywgMi4wMDM5MDk4MjYyNzg2ODY1XSwgWzE2NjM4MTI3NzQuODY1NDI0OSwgMzE4NiwgMS42Nzk0NzY5NzYzOTQ2NTMzXSwgWzE2NjM4MTI3NzQuOTY1NjA1LCAzMTk1LCAxLjgxOTA5ODgzMDIyMzA4MzVdLCBbMTY2MzgxMjc3NS4wNTk1MjIyLCAzMjA0LCAxLjcxMDUzMDE2MTg1NzYwNV0sIFsxNjYzODEyNzc1LjI0NjA5MjgsIDMyMjIsIDEuNzkzNjA0MzczOTMxODg0OF0sIFsxNjYzODEyNzc1LjM0MjE5NzQsIDMyMzEsIDEuODAyNzM5MjYyNTgwODcxNl0sIFsxNjYzODEyNzc1LjUyMjUzNzcsIDMyNDksIDEuODU1NDY2NjA0MjMyNzg4XSwgWzE2NjM4MTI3NzUuNjE1OTA4NCwgMzI1OCwgMS42OTY0NzYzNDAyOTM4ODQzXSwgWzE2NjM4MTI3NzUuNzA0MTExLCAzMjY3LCAyLjEzNzAwMzQyMTc4MzQ0NzNdLCBbMTY2MzgxMjc3NS43OTY0MDI3LCAzMjc2LCAxLjgxMTgwOTA2Mjk1Nzc2MzddLCBbMTY2MzgxMjc3NS45MDI1NzI5LCAzMjg1LCAxLjY5NjQzNDk3NDY3MDQxMDJdLCBbMTY2MzgxMjc3Ni4wMDg0Mjk4LCAzMjk0LCAxLjUwMDcwNDUyNjkwMTI0NTFdLCBbMTY2MzgxMjc3Ni4yNjc1MTk1LCAzMzAzLCAxLjkwMDI4OTg5MzE1MDMyOTZdLCBbMTY2MzgxMjc3Ni4zNTU2MjM1LCAzMzEyLCAxLjk4NTQ1OTgwNDUzNDkxMl0sIFsxNjYzODEyNzc2LjQ0NDQ2MSwgMzMyMSwgMS45MjQ1MDk3NjM3MTc2NTE0XSwgWzE2NjM4MTI3NzYuNTMzMTQyNiwgMzMzMCwgMi4wMzM3NjY1MDgxMDI0MTddLCBbMTY2MzgxMjc3Ni44OTgxNTgsIDMzNjYsIDEuNjQ4ODI0ODEwOTgxNzUwNV0sIFsxNjYzODEyNzc2Ljk5MjE5NDcsIDMzNzUsIDIuMjQxNjcxMDg1MzU3NjY2XSwgWzE2NjM4MTI3NzcuMDk2MDMxNCwgMzM4NCwgMS45MDMyOTk2ODkyOTI5MDc3XSwgWzE2NjM4MTI3NzcuMjc5MDE0LCAzNDAyLCAxLjY0NjcxMDYzNDIzMTU2NzRdLCBbMTY2MzgxMjc3Ny4zNjg5MjQsIDM0MTEsIDEuNjQ3OTA2NjYxMDMzNjMwNF0sIFsxNjYzODEyNzc3LjczMTQ4NTYsIDM0NDcsIDEuODYzNjA1NDk5MjY3NTc4MV0sIFsxNjYzODEyNzc3LjkxNDA4ODUsIDM0NjUsIDEuODgxOTk5MjU0MjI2Njg0Nl0sIFsxNjYzODEyNzc4LjAwMTg0MTMsIDM0NzQsIDIuMTYxNjk0NTI2NjcyMzYzM10sIFsxNjYzODEyNzc4LjEwMzg0MTgsIDM0ODMsIDEuNzE0NzQ1NzU5OTYzOTg5M10sIFsxNjYzODEyNzc4LjM2NzQyODMsIDM1MTAsIDEuOTExNjIzNDc3OTM1NzkxXSwgWzE2NjM4MTI3NzguNDU1MTg5LCAzNTE5LCAxLjgwOTM1NTAyMDUyMzA3MTNdLCBbMTY2MzgxMjc3OC41NDQ2NTA4LCAzNTI4LCAxLjcyNDYzNTcyMDI1Mjk5MDddLCBbMTY2MzgxMjc3OC42MzI4MDU4LCAzNTM3LCAxLjgwMzgzMzg0MjI3NzUyNjldLCBbMTY2MzgxMjc3OC43MjcxOTI5LCAzNTQ2LCAxLjg1MTk5Mjk2NDc0NDU2NzldLCBbMTY2MzgxMjc3OC44MTU1ODA4LCAzNTU1LCAxLjgyNDgxNzQxOTA1MjEyNF0sIFsxNjYzODEyNzc4LjkwNDk1OCwgMzU2NCwgMS45NzkxMzI1MzMwNzM0MjUzXSwgWzE2NjM4MTI3NzguOTk4NjI0MywgMzU3MywgMS42NTY5NjY1NjcwMzk0ODk3XSwgWzE2NjM4MTI3NzkuMTA3MzcwNiwgMzU4MiwgMS45NjYxMjQwNTc3Njk3NzU0XSwgWzE2NjM4MTI3NzkuMjE3NDM0LCAzNTkxLCAxLjc1ODE3MTA4MTU0Mjk2ODhdLCBbMTY2MzgxMjc3OS4zMzIwMzY1LCAzNjAwLCAxLjQ4NjQzMzI2NzU5MzM4MzhdLCBbMTY2MzgxMjc3OS40NTI0NTM2LCAzNjA5LCAxLjczODY3MzMyOTM1MzMzMjVdLCBbMTY2MzgxMjc3OS41NTM3NjU1LCAzNjE4LCAxLjYxMDAyNzc5MDA2OTU4XSwgWzE2NjM4MTI3NzkuNjU1NTA3NiwgMzYyNywgMS43ODYyNjY0NDYxMTM1ODY0XSwgWzE2NjM4MTI3NzkuODM3Nzg1LCAzNjQ1LCAxLjc3MTk2MDYxNjExMTc1NTRdLCBbMTY2MzgxMjc4MC4wMjIxMzcyLCAzNjYzLCAxLjU5ODkyMDcwMjkzNDI2NTFdLCBbMTY2MzgxMjc4MC4xMjE2NjYsIDM2NzIsIDEuNjE4Mzk5OTc3Njg0MDIxXSwgWzE2NjM4MTI3ODAuMjE2MTI0LCAzNjgxLCAxLjU3NTYzNzY5ODE3MzUyM10sIFsxNjYzODEyNzgwLjMxNjU3LCAzNjkwLCAxLjU2ODU2NjkxODM3MzEwOF0sIFsxNjYzODEyNzgwLjU5MDQ4LCAzNzE3LCAxLjc3MDU3MDg3NDIxNDE3MjRdLCBbMTY2MzgxMjc4MC42ODI1MTYzLCAzNzI2LCAxLjg4NDQ3NTExMTk2MTM2NDddLCBbMTY2MzgxMjc4MC43NzgxMTcsIDM3MzUsIDEuOTY5MDI4NzExMzE4OTY5N10sIFsxNjYzODEyNzgwLjg3MDE4NTEsIDM3NDQsIDEuNzU1MDI4NDg2MjUxODMxXSwgWzE2NjM4MTI3ODEuMTg1OTE1NSwgMzc3MSwgMS42MDg1OTE2NzU3NTgzNjE4XSwgWzE2NjM4MTI3ODEuMjk5OTQwOCwgMzc4MCwgMS41ODMyNDQ1NjIxNDkwNDc5XSwgWzE2NjM4MTI3ODEuNDg1MTk5MiwgMzc5OCwgMS42NzA2NTcyNzcxMDcyMzg4XSwgWzE2NjM4MTI3ODEuNTc4NjY2NCwgMzgwNywgMS42MTkxMjk1Mzg1MzYwNzE4XSwgWzE2NjM4MTI3ODEuODU0MDAyNywgMzgzNCwgMS41NDQ2NzkwNDU2NzcxODVdLCBbMTY2MzgxMjc4MS45NDQ1MjU1LCAzODQzLCAxLjgxOTA1NTU1NzI1MDk3NjZdLCBbMTY2MzgxMjc4Mi4wMzgzMDg2LCAzODUyLCAxLjkxMDUwMzAyOTgyMzMwMzJdLCBbMTY2MzgxMjc4Mi4yNDE1NDEsIDM4NzAsIDEuNTY1OTM0ODk2NDY5MTE2Ml0sIFsxNjYzODEyNzgyLjM1MzgwMTcsIDM4NzksIDEuOTY3MjYxMTk1MTgyODAwM10sIFsxNjYzODEyNzgyLjQ1Mzk3OTcsIDM4ODgsIDEuNTY1NDU4MTc4NTIwMjAyNl0sIFsxNjYzODEyNzgyLjczODQ2MTcsIDM5MTUsIDIuMDYwMDI1NDUzNTY3NTA1XSwgWzE2NjM4MTI3ODIuODMyMDUsIDM5MjQsIDEuNjA4MDQ2MTc0MDQ5Mzc3NF0sIFsxNjYzODEyNzgyLjkyNzgyNDUsIDM5MzMsIDEuNTMyODMwMTE5MTMyOTk1Nl0sIFsxNjYzODEyNzgzLjAyMTQ5NSwgMzk0MiwgMS44MzA5NTYzMzk4MzYxMjA2XSwgWzE2NjM4MTI3ODMuMTI0ODk1NiwgMzk1MSwgMS41Mjc4MjI0OTQ1MDY4MzZdLCBbMTY2MzgxMjc4My4yMTk2NDcyLCAzOTYwLCAxLjYxODIxMzI5NTkzNjU4NDVdLCBbMTY2MzgxMjc4My4zMTg0NDcsIDM5NjksIDIuMjI2MDM3MDI1NDUxNjZdLCBbMTY2MzgxMjc4My40MTE0NDcsIDM5NzgsIDEuODcxOTYzODU4NjA0NDMxMl0sIFsxNjYzODEyNzgzLjU5MzUxNiwgMzk5NiwgMS45Mjg4ODQ5ODMwNjI3NDQxXSwgWzE2NjM4MTI3ODMuNjg2NzY5NywgNDAwNSwgMS42NTkxODQ0NTU4NzE1ODJdLCBbMTY2MzgxMjc4My43ODk0MDgsIDQwMTQsIDEuNjc5MzcwMTY0ODcxMjE1OF0sIFsxNjYzODEyNzgzLjkyODczMjIsIDQwMjMsIDEuODY2NjQ4MzE2MzgzMzYxOF0sIFsxNjYzODEyNzg0LjMwMTM4MTYsIDQwNTksIDEuNTgyODU5MTU4NTE1OTMwMl0sIFsxNjYzODEyNzg0LjM5Njk5MTcsIDQwNjgsIDEuNzAyNjYzMDY0MDAyOTkwN10sIFsxNjYzODEyNzg0LjQ5NTMxNTYsIDQwNzcsIDEuNDg1Nzk4ODM1NzU0Mzk0NV0sIFsxNjYzODEyNzg0LjU4NjAwOCwgNDA4NiwgMS43OTgxOTE2NjY2MDMwODg0XSwgWzE2NjM4MTI3ODQuODQ1MTk4NCwgNDA5NSwgMS40NTA5NTcwNTk4NjAyMjk1XSwgWzE2NjM4MTI3ODUuMDgyMTA0NywgNDExMywgMS41NTU0NTIyMjc1OTI0NjgzXSwgWzE2NjM4MTI3ODUuMjg5Nzg1MSwgNDEzMSwgMS40NTcyNjQwNjU3NDI0OTI3XSwgWzE2NjM4MTI3ODUuNTEwMTY3MSwgNDE0OSwgMS41Mjk2NDQxMzE2NjA0NjE0XSwgWzE2NjM4MTI3ODUuNjQyNDIwMywgNDE1OCwgMS41NTIxMjU5MzA3ODYxMzI4XSwgWzE2NjM4MTI3ODUuNzc1NTkxNiwgNDE2NywgMS42MDgwNjc3NTA5MzA3ODYxXSwgWzE2NjM4MTI3ODUuOTk0MTIzNywgNDE4NSwgMS42Mzc1NTUxMjIzNzU0ODgzXSwgWzE2NjM4MTI3ODYuMDg1ODg1MywgNDE5NCwgMS41NjE1NjU2Mzc1ODg1MDFdLCBbMTY2MzgxMjc4Ni4xNzk1OTcsIDQyMDMsIDEuNTE1Mzk5OTMyODYxMzI4MV0sIFsxNjYzODEyNzg2LjM2NTIzMSwgNDIyMSwgMS41NDQ3MTY3MTU4MTI2ODNdLCBbMTY2MzgxMjc4Ni41NjIwNDE1LCA0MjM5LCAxLjc3MzQ1Nzc2NTU3OTIyMzZdLCBbMTY2MzgxMjc4Ni42NTcyNDIsIDQyNDgsIDEuNzE4OTUxODIxMzI3MjA5NV0sIFsxNjYzODEyNzg2Ljg0MTc4NiwgNDI2NiwgMS40ODQ5MzMxMzc4OTM2NzY4XSwgWzE2NjM4MTI3ODYuOTM2NDgxLCA0Mjc1LCAxLjY1OTE3NTE1NzU0Njk5N10sIFsxNjYzODEyNzg3LjAyNDU0MTksIDQyODQsIDIuMjM0Mjg1MzU0NjE0MjU4XSwgWzE2NjM4MTI3ODcuMjk5NjIwOSwgNDMxMSwgMS40NDQ1MDY2NDUyMDI2MzY3XSwgWzE2NjM4MTI3ODcuNDE2Mzc0LCA0MzIwLCAxLjYyNTI4MzEyMjA2MjY4M10sIFsxNjYzODEyNzg3LjUwNDIxNTIsIDQzMjksIDEuNjMzODc5MDY1NTEzNjEwOF0sIFsxNjYzODEyNzg3LjYwNzA2LCA0MzM4LCAxLjUxNDU0MzQxNDExNTkwNThdLCBbMTY2MzgxMjc4Ny43MDAwOTExLCA0MzQ3LCAxLjg4MzU1NTA1NDY2NDYxMThdLCBbMTY2MzgxMjc4Ny43ODg1Njg3LCA0MzU2LCAxLjQwNzkzNzA0OTg2NTcyMjddLCBbMTY2MzgxMjc4Ny44ODg1Mjc2LCA0MzY1LCAxLjQ4NjY4MDc0NjA3ODQ5MTJdLCBbMTY2MzgxMjc4OC4wNjkwMDA3LCA0MzgzLCAxLjMzOTQzNDI2NjA5MDM5M10sIFsxNjYzODEyNzg4LjE2MzE0MzIsIDQzOTIsIDEuNjIzMDczNjk3MDkwMTQ5XSwgWzE2NjM4MTI3ODguMjU1NDQ3OSwgNDQwMSwgMS41NDc1NTQwMTYxMTMyODEyXSwgWzE2NjM4MTI3ODguMzQ2MjA1NSwgNDQxMCwgMS43MDM4OTIyMzA5ODc1NDg4XSwgWzE2NjM4MTI3ODguNDM4MDgxMywgNDQxOSwgMS42NDQwNzIyOTQyMzUyMjk1XSwgWzE2NjM4MTI3ODguNTI5MzkzNywgNDQyOCwgMS40MjgwMDg2NzU1NzUyNTYzXSwgWzE2NjM4MTI3ODguODI1OTk4LCA0NDU1LCAxLjQxNjQ0MjAzNjYyODcyMzFdLCBbMTY2MzgxMjc4OC45MTE3NDQsIDQ0NjQsIDEuODQ4NTEzMzY0NzkxODcwMV0sIFsxNjYzODEyNzg5LjA5NzM5NiwgNDQ4MiwgMS40MTAxNTYyNV0sIFsxNjYzODEyNzg5LjE4NjMwNjcsIDQ0OTEsIDEuNDM1OTY3MDg3NzQ1NjY2NV0sIFsxNjYzODEyNzg5LjI3NjMyOSwgNDUwMCwgMS43Mjk5MzQwOTYzMzYzNjQ3XSwgWzE2NjM4MTI3ODkuNTE0Njg3LCA0NTE4LCAxLjQ4MTU2MzA5MTI3ODA3NjJdLCBbMTY2MzgxMjc4OS42MTIwNTIyLCA0NTI3LCAxLjkwODI4MDI1MzQxMDMzOTRdLCBbMTY2MzgxMjc4OS43MjQ1NDYsIDQ1MzYsIDEuODg5OTcyMjA5OTMwNDJdLCBbMTY2MzgxMjc4OS45OTE4ODA3LCA0NTYzLCAxLjUwNDk3NDcyMjg2MjI0MzddLCBbMTY2MzgxMjc5MC4wODI1NTc0LCA0NTcyLCAxLjUyMzgxODM3MzY4MDExNDddLCBbMTY2MzgxMjc5MC4xNjk3Mjc4LCA0NTgxLCAxLjY2NTU1NjU1MDAyNTk0XSwgWzE2NjM4MTI3OTAuMjYzMzkxMywgNDU5MCwgMS40NDg2Njg5NTY3NTY1OTE4XSwgWzE2NjM4MTI3OTAuMzUzNzczOCwgNDU5OSwgMS40ODY5MjAyMzc1NDExOTg3XSwgWzE2NjM4MTI3OTAuNDQyMDEwNiwgNDYwOCwgMS40MDgzNTI5NzEwNzY5NjUzXSwgWzE2NjM4MTI3OTAuNTI4MDYzOCwgNDYxNywgMS41MjQ2Mjc2ODU1NDY4NzVdLCBbMTY2MzgxMjc5MC42Mjg5NDE4LCA0NjI2LCAxLjQ3Mjk3NjY4NDU3MDMxMjVdLCBbMTY2MzgxMjc5MC43MjcxNDg1LCA0NjM1LCAxLjQ0MjcwNTc1MDQ2NTM5M10sIFsxNjYzODEyNzkwLjkyNzUxLCA0NjUzLCAxLjc2NzM4NjE5ODA0MzgyMzJdLCBbMTY2MzgxMjc5MS4wMTc4MDcyLCA0NjYyLCAxLjUwMTY1NDI2NzMxMTA5NjJdLCBbMTY2MzgxMjc5MS4xMTMyMDQ3LCA0NjcxLCAxLjcxMjg5ODQ5MjgxMzExMDRdLCBbMTY2MzgxMjc5MS4yMDY4NTY3LCA0NjgwLCAxLjc2MjA4MjkzNDM3OTU3NzZdLCBbMTY2MzgxMjc5MS4zMDM1MjgzLCA0Njg5LCAxLjc4Njc2Njc2NzUwMTgzMV0sIFsxNjYzODEyNzkxLjM5MTM1MDUsIDQ2OTgsIDEuNDcxNjk5OTUzMDc5MjIzNl0sIFsxNjYzODEyNzkxLjU3NjkzNjcsIDQ3MTYsIDEuNDA2ODk5MDk0NTgxNjA0XSwgWzE2NjM4MTI3OTEuODY1NDU3LCA0NzQzLCAxLjU0MzQwNTQxMzYyNzYyNDVdLCBbMTY2MzgxMjc5Mi4yMjI4OTUxLCA0Nzc5LCAxLjU4NjIxNjkyNjU3NDcwN10sIFsxNjYzODEyNzkyLjQyNzQ0MTQsIDQ3OTcsIDEuNTIxMzA3NTg3NjIzNTk2Ml0sIFsxNjYzODEyNzkyLjUxODcyMDksIDQ4MDYsIDEuNjc4ODMyNjUwMTg0NjMxM10sIFsxNjYzODEyNzkyLjYwNDc4NywgNDgxNSwgMS40Mjc2NTI3MTY2MzY2NTc3XSwgWzE2NjM4MTI3OTIuNjk3ODM3LCA0ODI0LCAxLjU4NzU5MjQ4MjU2NjgzMzVdLCBbMTY2MzgxMjc5Mi43OTQ3NDksIDQ4MzMsIDEuNDEwNzY5ODIwMjEzMzE3OV0sIFsxNjYzODEyNzkyLjg5Nzk2NiwgNDg0MiwgMS4zMzAyNzM5ODU4NjI3MzJdLCBbMTY2MzgxMjc5Mi45ODYyMDg3LCA0ODUxLCAxLjQ1Njc3ODUyNjMwNjE1MjNdLCBbMTY2MzgxMjc5My4wNzIyNzM3LCA0ODYwLCAxLjU5NDQxNzQ1MjgxMjE5NDhdLCBbMTY2MzgxMjc5My4xNzY2Njg2LCA0ODY5LCAxLjU1NDQ3MjIwODAyMzA3MTNdLCBbMTY2MzgxMjc5My4zMDA5NzUzLCA0ODc4LCAxLjY3MTU2ODE1NTI4ODY5NjNdLCBbMTY2MzgxMjc5My41NTk3NzUsIDQ4ODcsIDEuNzAxNzQ3ODk0Mjg3MTA5NF0sIFsxNjYzODEyNzkzLjY0OTMzMSwgNDg5NiwgMS41NTM2ODA4OTY3NTkwMzMyXSwgWzE2NjM4MTI3OTMuNzQ3OTYzNywgNDkwNSwgMS4zNDIxMzUxOTA5NjM3NDUxXSwgWzE2NjM4MTI3OTMuOTYxNjY1OSwgNDkyMywgMS43MDA1Njg1NTY3ODU1ODM1XSwgWzE2NjM4MTI3OTQuMDYzNDM1MywgNDkzMiwgMS41ODExODE2NDUzOTMzNzE2XSwgWzE2NjM4MTI3OTQuMzY2NjU5NiwgNDk1OSwgMS41MDc5MDQ2NDg3ODA4MjI4XSwgWzE2NjM4MTI3OTQuNTQ4MjUyNiwgNDk3NywgMS40MDU5MDY5MTU2NjQ2NzI5XSwgWzE2NjM4MTI3OTQuNjM3Njk2NywgNDk4NiwgMS42OTM2Mzc2MDk0ODE4MTE1XSwgWzE2NjM4MTI3OTQuNzMyMDkzLCA0OTk1LCAxLjg3NDE1MTcwNjY5NTU1NjZdLCBbMTY2MzgxMjc5NC44MjU4NTcyLCA1MDA0LCAxLjUyMTIxMDE5MzYzNDAzMzJdLCBbMTY2MzgxMjc5NC45MTQ4MjM1LCA1MDEzLCAxLjU2Mjg4MTU4ODkzNTg1Ml0sIFsxNjYzODEyNzk1LjEwNjk2MjIsIDUwMzEsIDEuMzU2NjEwNTM2NTc1MzE3NF0sIFsxNjYzODEyNzk1LjQ5MDA1OSwgNTA2NywgMS43NDE2NzE4MDA2MTM0MDMzXSwgWzE2NjM4MTI3OTUuNTc4MzI0OCwgNTA3NiwgMS44NTU3MDA0OTI4NTg4ODY3XSwgWzE2NjM4MTI3OTUuNjcyOTI2NywgNTA4NSwgMS40NDA4MjA1NzQ3NjA0MzddLCBbMTY2MzgxMjc5NS44NTI5Mjg0LCA1MTAzLCAxLjU3NzczMDA1OTYyMzcxODNdLCBbMTY2MzgxMjc5NS45NDIyNzcyLCA1MTEyLCAxLjUwNDk4NTkyODUzNTQ2MTRdLCBbMTY2MzgxMjc5Ni4wNTIyMjc1LCA1MTIxLCAxLjYzNjkwMjgwOTE0MzA2NjRdLCBbMTY2MzgxMjc5Ni4xNDQ5Mzk0LCA1MTMwLCAxLjU2Njc3MjEwMzMwOTYzMTNdLCBbMTY2MzgxMjc5Ni4zNDQyNjg4LCA1MTQ4LCAxLjc4NDIxNDI1ODE5Mzk2OTddLCBbMTY2MzgxMjc5Ni41MzIzMTksIDUxNjYsIDEuMzM0NTM3NTA2MTAzNTE1Nl0sIFsxNjYzODEyNzk2LjgxNTM0MSwgNTE5MywgMS4zOTczODg5MzUwODkxMTEzXSwgWzE2NjM4MTI3OTcuMTkzNzYzNSwgNTIyOSwgMS4yNTc5MTI2MzU4MDMyMjI3XSwgWzE2NjM4MTI3OTcuNTY0ODU4MiwgNTI2NSwgMS40ODQ5MzIzMDM0Mjg2NV0sIFsxNjYzODEyNzk3LjY1ODU4MTUsIDUyNzQsIDEuMjczMDMwMTYxODU3NjA1XSwgWzE2NjM4MTI3OTcuNzU1ODE5MywgNTI4MywgMS41MzEyNjg3MTU4NTg0NTk1XSwgWzE2NjM4MTI3OTcuOTM5ODA5MywgNTMwMSwgMS40NDczOTMwNTk3MzA1Mjk4XSwgWzE2NjM4MTI3OTguMDMzNDI3NywgNTMxMCwgMS40ODQ2NTg0Nzk2OTA1NTE4XSwgWzE2NjM4MTI3OTguMTM2OTU3MiwgNTMxOSwgMS40NjEzOTA0OTUzMDAyOTNdLCBbMTY2MzgxMjc5OC4yMjkxODY4LCA1MzI4LCAxLjI4MzM3NDQyODc0OTA4NDVdLCBbMTY2MzgxMjc5OC4zMjAxMDIyLCA1MzM3LCAxLjgzMzkyMDAwMTk4MzY0MjZdLCBbMTY2MzgxMjc5OC41MTQyMDc4LCA1MzU1LCAxLjQ1OTAxNzYzNDM5MTc4NDddLCBbMTY2MzgxMjc5OC42MDY4LCA1MzY0LCAxLjYyOTA1NTYxOTIzOTgwNzFdLCBbMTY2MzgxMjc5OC43MDEwMTEsIDUzNzMsIDEuMzU1NTI5MzA4MzE5MDkxOF0sIFsxNjYzODEyNzk4Ljc4OTIyNjgsIDUzODIsIDEuMzE4NTUwNTg2NzAwNDM5NV0sIFsxNjYzODEyNzk4Ljg3NzIyMDQsIDUzOTEsIDEuNDQ5MTczNTY5Njc5MjYwM10sIFsxNjYzODEyNzk4Ljk3MDgwMzUsIDU0MDAsIDEuMzkwMTc4OTE4ODM4NTAxXSwgWzE2NjM4MTI3OTkuMTY1MjMzNiwgNTQxOCwgMS40MzI0NjUzMTQ4NjUxMTIzXSwgWzE2NjM4MTI3OTkuMjYwMzk5MywgNTQyNywgMS40NjYxNDMwMTIwNDY4MTRdLCBbMTY2MzgxMjc5OS4zNTk3NDkzLCA1NDM2LCAxLjUyNDY2Nzg1OTA3NzQ1MzZdLCBbMTY2MzgxMjc5OS41NzI2NDM1LCA1NDU0LCAxLjU4NjgwOTc1NDM3MTY0M10sIFsxNjYzODEyNzk5Ljc1NzkyODQsIDU0NzIsIDEuNjQ2NTg2Mjk4OTQyNTY2XSwgWzE2NjM4MTI3OTkuODQ3ODM2NSwgNTQ4MSwgMS42NTU5Nzg5MTgwNzU1NjE1XSwgWzE2NjM4MTI3OTkuOTM3OTA1MywgNTQ5MCwgMS40MDY2ODg1NzA5NzYyNTczXSwgWzE2NjM4MTI4MDAuMDI4MDk1LCA1NDk5LCAxLjY0OTEzNjc4MTY5MjUwNDldLCBbMTY2MzgxMjgwMC4zMDk0OTQzLCA1NTI2LCAxLjQ4NTQ0MDEzNTAwMjEzNjJdLCBbMTY2MzgxMjgwMC4zOTk2NzEzLCA1NTM1LCAxLjU4NTAxMTM2MzAyOTQ4XSwgWzE2NjM4MTI4MDAuNTc0MzY0NywgNTU1MywgMS41NTEwMzg4NjEyNzQ3MTkyXSwgWzE2NjM4MTI4MDAuNjY1MjQ4MiwgNTU2MiwgMS43ODIwMjU5MzMyNjU2ODZdLCBbMTY2MzgxMjgwMC43NTYxOTU1LCA1NTcxLCAxLjQyNzkwMTM4NzIxNDY2MDZdLCBbMTY2MzgxMjgwMC45Mzk4MzU4LCA1NTg5LCAxLjMxMzk4Mjg0NDM1MjcyMjJdLCBbMTY2MzgxMjgwMS4xNDA5NzUsIDU2MDcsIDEuNDY4MTE0MTM3NjQ5NTM2MV0sIFsxNjYzODEyODAxLjIzMDg0MzUsIDU2MTYsIDEuNDMxODA4OTQ4NTE2ODQ1N10sIFsxNjYzODEyODAxLjQyNzA2OCwgNTYzNCwgMS41MTU0OTA4ODk1NDkyNTU0XSwgWzE2NjM4MTI4MDEuNTE4ODI0MywgNTY0MywgMS40NjYzMDM4MjUzNzg0MThdLCBbMTY2MzgxMjgwMS42MTA3ODgsIDU2NTIsIDEuMzQyMjk5OTM4MjAxOTA0M10sIFsxNjYzODEyODAxLjcxMDA2NiwgNTY2MSwgMS41NjE5MjU0MTEyMjQzNjUyXSwgWzE2NjM4MTI4MDEuNzk5MjMxMywgNTY3MCwgMS4zOTU2MTE3NjMwMDA0ODgzXSwgWzE2NjM4MTI4MDIuMjIzODEwMiwgNTY5NywgMS4zMTIyNDg0NjgzOTkwNDc5XSwgWzE2NjM4MTI4MDIuMzEzOTQwMywgNTcwNiwgMS43NzQ5NzAyOTMwNDUwNDRdLCBbMTY2MzgxMjgwMi40MTk3Nzk4LCA1NzE1LCAxLjQ1NDAyMTkzMDY5NDU4XSwgWzE2NjM4MTI4MDIuNTA0NjksIDU3MjQsIDEuNDczNzYwNDg1NjQ5MTA4OV0sIFsxNjYzODEyODAyLjY4OTA2NDcsIDU3NDIsIDEuNTY3MTI1NTU4ODUzMTQ5NF0sIFsxNjYzODEyODAyLjk1MzAyNTYsIDU3NjksIDEuMzQ2MjM4NDkzOTE5MzcyNl0sIFsxNjYzODEyODAzLjA0NDQ2MjQsIDU3NzgsIDEuNDU3NTA3MjUyNjkzMTc2M10sIFsxNjYzODEyODAzLjEzMjIxODEsIDU3ODcsIDEuNjA0MTQxMTE2MTQyMjczXSwgWzE2NjM4MTI4MDMuMjMyMzM1OCwgNTc5NiwgMS41MDI1NDczODMzMDg0MTA2XSwgWzE2NjM4MTI4MDMuMzIxODA0MywgNTgwNSwgMS41MDYxMTIzMzcxMTI0MjY4XSwgWzE2NjM4MTI4MDMuNDEzMTc5MiwgNTgxNCwgMS43MjI2NzQzNjk4MTIwMTE3XSwgWzE2NjM4MTI4MDMuNjk3NzU1LCA1ODQxLCAxLjMyNzEyNTQzMDEwNzExNjddLCBbMTY2MzgxMjgwMy43OTExNTIyLCA1ODUwLCAxLjQ0Njc2ODA0NTQyNTQxNV0sIFsxNjYzODEyODAzLjk3NDQyODIsIDU4NjgsIDEuMzUzMzczNTI3NTI2ODU1NV0sIFsxNjYzODEyODA0LjA2NjYxMTgsIDU4NzcsIDEuMjc2NzMzODc1Mjc0NjU4Ml0sIFsxNjYzODEyODA0LjE2MTAxNjUsIDU4ODYsIDEuNTE1NzMxODExNTIzNDM3NV0sIFsxNjYzODEyODA0LjI1MzQ3NDUsIDU4OTUsIDEuNDIxOTY4MTAyNDU1MTM5Ml0sIFsxNjYzODEyODA0LjM0NDY2LCA1OTA0LCAxLjE2Nzk1ODg1NTYyODk2NzNdLCBbMTY2MzgxMjgwNC42NDY0NTU1LCA1OTMxLCAxLjQ2OTA3NjAzNzQwNjkyMTRdLCBbMTY2MzgxMjgwNC43NDk1MTgsIDU5NDAsIDEuNTAwMjMxMjY2MDIxNzI4NV0sIFsxNjYzODEyODA0Ljg0Njk5NCwgNTk0OSwgMS4zMzAyMzg0NjE0OTQ0NDU4XSwgWzE2NjM4MTI4MDQuOTM3ODc1LCA1OTU4LCAxLjM2NjMyNDc4MjM3MTUyMV0sIFsxNjYzODEyODA1LjQ2OTE5OTcsIDYwMTIsIDEuMjg3MDIxMzk4NTQ0MzExNV0sIFsxNjYzODEyODA1LjY1ODQyNzUsIDYwMzAsIDEuMzczMzQzMjI5MjkzODIzMl0sIFsxNjYzODEyODA1Ljc1MzI1MTMsIDYwMzksIDEuMzMxNDc0MDY1NzgwNjM5Nl0sIFsxNjYzODEyODA2LjAyMDU0MTQsIDYwNjYsIDEuMzE5MDQ0OTQ3NjI0MjA2NV0sIFsxNjYzODEyODA2LjIwNjk2NywgNjA4NCwgMS4xNjc1MjgxNTI0NjU4MjAzXSwgWzE2NjM4MTI4MDYuMzM1MDQ3NywgNjA5MywgMS4zMjQyMDc5MDE5NTQ2NTA5XSwgWzE2NjM4MTI4MDYuNDMzNTgyMywgNjEwMiwgMS40Nzg2ODYyMTM0OTMzNDcyXSwgWzE2NjM4MTI4MDYuNTI4MjEyMywgNjExMSwgMS4zODMyOTk5NDY3ODQ5NzMxXSwgWzE2NjM4MTI4MDYuNjE5NjQ5LCA2MTIwLCAxLjI4NjMxNjc1MjQzMzc3NjldLCBbMTY2MzgxMjgwNi43MjU3MTgsIDYxMjksIDEuNDk1MzE4MTc0MzYyMTgyNl0sIFsxNjYzODEyODA2LjkxMzM3ODUsIDYxNDcsIDEuMjM1OTI4NDE2MjUyMTM2Ml0sIFsxNjYzODEyODA3LjAwNzY1NzgsIDYxNTYsIDEuMjc3NTQ1OTI4OTU1MDc4MV0sIFsxNjYzODEyODA3LjA5OTA2MSwgNjE2NSwgMS40NTEzMTkwOTg0NzI1OTUyXSwgWzE2NjM4MTI4MDcuMTkxOTA0LCA2MTc0LCAxLjUzNTM1MjExMDg2MjczMl0sIFsxNjYzODEyODA3LjM3MDkyMjMsIDYxOTIsIDEuNDY4MTY4MjU4NjY2OTkyMl0sIFsxNjYzODEyODA3LjQ1ODk5NywgNjIwMSwgMS40NDkwMTY2OTAyNTQyMTE0XSwgWzE2NjM4MTI4MDcuNTQ4MjA5MiwgNjIxMCwgMS4zMDc4MDk5NDg5MjEyMDM2XSwgWzE2NjM4MTI4MDcuNjQwNjg5NiwgNjIxOSwgMS4zMDUzNzgzMTc4MzI5NDY4XSwgWzE2NjM4MTI4MDcuODMwMjY4OSwgNjIzNywgMS4xNDU3OTA4MTUzNTMzOTM2XSwgWzE2NjM4MTI4MDcuOTE4NjI1NiwgNjI0NiwgMS4zODE0MTU4NDM5NjM2MjNdLCBbMTY2MzgxMjgwOC4wMDM1OTAzLCA2MjU1LCAxLjM4NTUwMDQzMTA2MDc5MV0sIFsxNjYzODEyODA4LjA5NDc0NzUsIDYyNjQsIDEuNTM3NzQ0OTk4OTMxODg0OF0sIFsxNjYzODEyODA4LjE4NzQ1ODgsIDYyNzMsIDEuMjUzNjQ0NzA0ODE4NzI1Nl0sIFsxNjYzODEyODA4LjI4Mjc0NywgNjI4MiwgMS43NTI4ODIyNDIyMDI3NTg4XSwgWzE2NjM4MTI4MDguNDY4MjE4MywgNjMwMCwgMS41MTg1NzAwNjU0OTgzNTJdLCBbMTY2MzgxMjgwOC43NTU1MSwgNjMyNywgMS42NjcxMTQyNTc4MTI1XSwgWzE2NjM4MTI4MDguODUwNjAzNiwgNjMzNiwgMS4zNDUyODIzMTYyMDc4ODU3XSwgWzE2NjM4MTI4MDkuMDM2NjE4NywgNjM1NCwgMS4xNzMwMTg2OTM5MjM5NTAyXSwgWzE2NjM4MTI4MDkuNDI2MDg4MywgNjM5MCwgMS4yODcxNjgwMjU5NzA0NTldLCBbMTY2MzgxMjgwOS41MTQ4OTQyLCA2Mzk5LCAxLjM4Mjg4OTUwOTIwMTA0OThdLCBbMTY2MzgxMjgwOS43MDIwNjU3LCA2NDE3LCAxLjI0OTQyNjM2NDg5ODY4MTZdLCBbMTY2MzgxMjgwOS43OTc1OTA1LCA2NDI2LCAxLjM2MTIxOTc2Mzc1NTc5ODNdLCBbMTY2MzgxMjgwOS45OTQ2NDQyLCA2NDQ0LCAxLjIxODUzOTgzNDAyMjUyMl0sIFsxNjYzODEyODEwLjE4MTg4ODMsIDY0NjIsIDEuNDI4Njc5OTQzMDg0NzE2OF0sIFsxNjYzODEyODEwLjUzNjk1MjcsIDY0ODAsIDEuMzQzNTA1MjYzMzI4NTUyMl0sIFsxNjYzODEyODEwLjYyNjk3MzQsIDY0ODksIDEuNDE4MzY2Nzg5ODE3ODFdLCBbMTY2MzgxMjgxMC43MTI1MjEzLCA2NDk4LCAxLjIyNTIyNTY4NzAyNjk3NzVdLCBbMTY2MzgxMjgxMC44OTY3NzY3LCA2NTE2LCAxLjUyMDY0MzQ3MjY3MTUwODhdLCBbMTY2MzgxMjgxMC45OTI0OTA1LCA2NTI1LCAxLjI0MTQ2MDgwMDE3MDg5ODRdLCBbMTY2MzgxMjgxMS4wODUzNDIyLCA2NTM0LCAxLjY3MTA2NDczNDQ1ODkyMzNdLCBbMTY2MzgxMjgxMS4xNzUxNzU3LCA2NTQzLCAxLjU2OTQ0NTI1MjQxODUxOF0sIFsxNjYzODEyODExLjI2NzA0NjUsIDY1NTIsIDEuMzI2OTc5NTE3OTM2NzA2NV0sIFsxNjYzODEyODExLjM1NjkyNCwgNjU2MSwgMS41OTY0NTM1NDc0Nzc3MjIyXSwgWzE2NjM4MTI4MTEuNDQ3OTAzLCA2NTcwLCAxLjE2MjU2NDYzNTI3Njc5NDRdLCBbMTY2MzgxMjgxMS41MzkxNDQ1LCA2NTc5LCAxLjIyMjQxNjg3Nzc0NjU4Ml0sIFsxNjYzODEyODExLjYzNTM2MzMsIDY1ODgsIDEuMTkyMTQ3OTcwMTk5NTg1XSwgWzE2NjM4MTI4MTEuNzMyMDUsIDY1OTcsIDEuMjgxMTcwNDg3NDAzODY5Nl0sIFsxNjYzODEyODExLjgyNTk3NDcsIDY2MDYsIDEuMTM5OTkzMTkwNzY1MzgwOV0sIFsxNjYzODEyODEyLjAxMTUxNDcsIDY2MjQsIDEuMzY4MDgzNDc3MDIwMjYzN10sIFsxNjYzODEyODEyLjI4NTM5LCA2NjUxLCAxLjU5MDU1MzE2NDQ4MjExNjddLCBbMTY2MzgxMjgxMi4zNzM0MTgsIDY2NjAsIDEuMjI2NjAzNTA3OTk1NjA1NV0sIFsxNjYzODEyODEyLjQ1OTIxODUsIDY2NjksIDEuMzcxNzg3Nzg2NDgzNzY0Nl0sIFsxNjYzODEyODEyLjY1MDI1MjMsIDY2ODcsIDEuNDYyNjk0MDQ4ODgxNTMwOF0sIFsxNjYzODEyODEyLjc0MTYxMzYsIDY2OTYsIDEuNjQwNjY1MjkyNzM5ODY4Ml0sIFsxNjYzODEyODEyLjgzMjA1MzcsIDY3MDUsIDEuMjU2OTUwMzc4NDE3OTY4OF0sIFsxNjYzODEyODEyLjkyMzk2NywgNjcxNCwgMS40MDYyNDE4OTM3NjgzMTA1XSwgWzE2NjM4MTI4MTMuMDE3NTUyOSwgNjcyMywgMS4yMTU3OTYxMTMwMTQyMjEyXSwgWzE2NjM4MTI4MTMuNDU0ODQyLCA2NzY4LCAxLjM3MDAwNDA1Nzg4NDIxNjNdLCBbMTY2MzgxMjgxMy41NTI3Mjk4LCA2Nzc3LCAxLjUyNjI3OTIxMTA0NDMxMTVdLCBbMTY2MzgxMjgxMy44Mjc1Mzk0LCA2ODA0LCAxLjE5MjA5NTA0MTI3NTAyNDRdLCBbMTY2MzgxMjgxMy45MTcxNTg4LCA2ODEzLCAxLjQ0MzE5MzQzNTY2ODk0NTNdLCBbMTY2MzgxMjgxNC4xMzMzMTUzLCA2ODMxLCAxLjM1OTEwMTQxNDY4MDQ4MV0sIFsxNjYzODEyODE0LjIyNDk4NDYsIDY4NDAsIDEuMjAzNTMzODg3ODYzMTU5Ml0sIFsxNjYzODEyODE0LjU5MzE0MzUsIDY4NzYsIDEuMjQ3ODk3Mzg2NTUwOTAzM10sIFsxNjYzODEyODE0LjY4NDA4MjcsIDY4ODUsIDEuNTI5MjM0ODg2MTY5NDMzNl0sIFsxNjYzODEyODE0Ljc3ODE3NTgsIDY4OTQsIDEuMzQzODY3MTgyNzMxNjI4NF0sIFsxNjYzODEyODE0Ljk1NzgwMSwgNjkxMiwgMS41MDEyNTkzMjY5MzQ4MTQ1XSwgWzE2NjM4MTI4MTUuMDU0ODc1MSwgNjkyMSwgMS4yMjEwMTgzMTQzNjE1NzIzXSwgWzE2NjM4MTI4MTUuMTYwNzMwOCwgNjkzMCwgMS4yNzkwNDY4OTMxMTk4MTJdLCBbMTY2MzgxMjgxNS4yNTQ4NjUsIDY5MzksIDEuMzExNDEwNDI3MDkzNTA1OV0sIFsxNjYzODEyODE1LjM0NTY3NSwgNjk0OCwgMS4zODg5MTQxMDgyNzYzNjcyXSwgWzE2NjM4MTI4MTUuNDQwMTgyNywgNjk1NywgMS4xODgyODQwMzk0OTczNzU1XSwgWzE2NjM4MTI4MTUuNTI4NzExLCA2OTY2LCAxLjQxOTk4NzU1OTMxODU0MjVdLCBbMTY2MzgxMjgxNS43MTcwODEsIDY5ODQsIDEuMzU4NzM4NjYwODEyMzc4XSwgWzE2NjM4MTI4MTUuODA3MDYzLCA2OTkzLCAxLjQ4MjAyODYwMzU1Mzc3Ml0sIFsxNjYzODEyODE1Ljg5NTU0OTgsIDcwMDIsIDEuNTQxMDQ1NDI3MzIyMzg3N10sIFsxNjYzODEyODE1Ljk4NzIxMzYsIDcwMTEsIDEuNDg2MzA2MDcxMjgxNDMzXSwgWzE2NjM4MTI4MTYuMDc3MTQyMiwgNzAyMCwgMS41NTY2MTIzNzIzOTgzNzY1XSwgWzE2NjM4MTI4MTYuMTc3NDAxOCwgNzAyOSwgMS4zOTQxMjE2NDY4ODExMDM1XSwgWzE2NjM4MTI4MTYuMjczOTUsIDcwMzgsIDEuMzU5NDYwODMwNjg4NDc2Nl0sIFsxNjYzODEyODE2LjM2MzU2OTUsIDcwNDcsIDEuMjE1OTY3NDE2NzYzMzA1N10sIFsxNjYzODEyODE2LjQ1NDU0NywgNzA1NiwgMS4yNDYxOTEyNjMxOTg4NTI1XSwgWzE2NjM4MTI4MTYuNzMzOTIzNywgNzA4MywgMS40NTczMjg5MTU1OTYwMDgzXSwgWzE2NjM4MTI4MTYuOTE2MDc1MiwgNzEwMSwgMS40MzMwNDgzNjc1MDAzMDUyXSwgWzE2NjM4MTI4MTcuMDA4NzAwOCwgNzExMCwgMS4zOTMxODU4NTM5NTgxMjk5XSwgWzE2NjM4MTI4MTcuMTk2NDY3NiwgNzEyOCwgMS4yODE1Mjg0NzI5MDAzOTA2XSwgWzE2NjM4MTI4MTcuMzkxMjQwNiwgNzE0NiwgMS40MTA1MzUyMTYzMzE0ODJdLCBbMTY2MzgxMjgxNy40OTE0NDg2LCA3MTU1LCAxLjI4MzAxOTA2NTg1NjkzMzZdLCBbMTY2MzgxMjgxNy41ODU4NjcyLCA3MTY0LCAxLjE4ODMyMzQ5Nzc3MjIxNjhdLCBbMTY2MzgxMjgxNy42NzgwMzYsIDcxNzMsIDEuMDkyMjk4ODY1MzE4Mjk4M10sIFsxNjYzODEyODE3LjgwMDY5MywgNzE4MiwgMS41MzM0MzU5NDA3NDI0OTI3XSwgWzE2NjM4MTI4MTcuOTgzNTczNywgNzIwMCwgMS4zMjcwNDI2OTg4NjAxNjg1XSwgWzE2NjM4MTI4MTguMDc2NDk0NywgNzIwOSwgMS43OTM5NzY1NDUzMzM4NjIzXSwgWzE2NjM4MTI4MTguNDQ5MjEzNSwgNzI0NSwgMS4yMzgxNjY5MjgyOTEzMjA4XSwgWzE2NjM4MTI4MTguNTQxNDMsIDcyNTQsIDEuMzAzNjkxMzg3MTc2NTEzN10sIFsxNjYzODEyODE4LjYzMzcwODUsIDcyNjMsIDEuNjEwMjcyODg0MzY4ODk2NV0sIFsxNjYzODEyODE4LjcyNzQxODIsIDcyNzIsIDEuMzUzMTM1MzQ3MzY2MzMzXSwgWzE2NjM4MTI4MTkuMDE4ODc0LCA3MjgxLCAxLjMzNTExODA1NTM0MzYyOF0sIFsxNjYzODEyODE5LjI4OTg2NiwgNzI5OSwgMS4yMDMwMTUwODkwMzUwMzQyXSwgWzE2NjM4MTI4MTkuMzk0NDYzMywgNzMwOCwgMS41MTYwMjI2ODIxODk5NDE0XSwgWzE2NjM4MTI4MTkuNTc1ODc4NCwgNzMyNiwgMS4yNTAyMTg2Mjk4MzcwMzYxXSwgWzE2NjM4MTI4MTkuNjY3MjIwNiwgNzMzNSwgMS4yNjM0MzY1NTU4NjI0MjY4XSwgWzE2NjM4MTI4MTkuOTQ2MTIxLCA3MzYyLCAxLjI1NDI5MDgxOTE2ODA5MDhdLCBbMTY2MzgxMjgyMC4wMzc5NDQzLCA3MzcxLCAxLjU1MjMzMzIzNTc0MDY2MTZdLCBbMTY2MzgxMjgyMC4xMjQ2NzEyLCA3MzgwLCAxLjI4NjIyMzUzMDc2OTM0ODFdLCBbMTY2MzgxMjgyMC4yMTA2NzIsIDczODksIDEuMzM0NjUyNzgxNDg2NTExMl0sIFsxNjYzODEyODIwLjMwMDg2MDQsIDczOTgsIDEuMTYwNTM5NTA3ODY1OTA1OF0sIFsxNjYzODEyODIwLjM5NDk4MywgNzQwNywgMS4zNTI5NTE4ODQyNjk3MTQ0XSwgWzE2NjM4MTI4MjAuNDk3ODczMywgNzQxNiwgMS4wODQ1Njk5MzEwMzAyNzM0XSwgWzE2NjM4MTI4MjAuNjA5NjkyNiwgNzQyNSwgMS4yMjYzNTkwMDk3NDI3MzY4XSwgWzE2NjM4MTI4MjAuNzA1MzcyLCA3NDM0LCAxLjIyMDc3NDY1MDU3MzczMDVdLCBbMTY2MzgxMjgyMC43OTcxNDA4LCA3NDQzLCAxLjE5MzUwMTIzNDA1NDU2NTRdLCBbMTY2MzgxMjgyMC44ODY4MjQ2LCA3NDUyLCAxLjMzNzQ5NTkyMzA0MjI5NzRdLCBbMTY2MzgxMjgyMC45Nzc4OTkzLCA3NDYxLCAxLjQwNDc5MjQyODAxNjY2MjZdLCBbMTY2MzgxMjgyMS4xNTc4MjksIDc0NzksIDEuNjUzOTU3OTYyOTg5ODA3MV0sIFsxNjYzODEyODIxLjM0ODA3OCwgNzQ5NywgMS41MDQ0MTYzNDY1NDk5ODc4XSwgWzE2NjM4MTI4MjEuNDM3MzM3NCwgNzUwNiwgMS4yMzMxMjAyMDMwMTgxODg1XSwgWzE2NjM4MTI4MjEuNjI5MTgzLCA3NTI0LCAxLjM5MTM3NjAxODUyNDE3XSwgWzE2NjM4MTI4MjEuNzIyNTY0NywgNzUzMywgMS4wNzI4NzI5OTYzMzAyNjEyXSwgWzE2NjM4MTI4MjEuODQ2NjkyNiwgNzU0MiwgMS40NjczOTM4NzUxMjIwNzAzXSwgWzE2NjM4MTI4MjIuMDU5OTIzMiwgNzU2MCwgMS4zMTk3MDgzNDczMjA1NTY2XSwgWzE2NjM4MTI4MjIuMTczMjQyOCwgNzU2OSwgMS4xNjM4NTE0OTk1NTc0OTUxXSwgWzE2NjM4MTI4MjIuMzU5Mzc3LCA3NTg3LCAxLjI2NjkzOTY0MDA0NTE2Nl0sIFsxNjYzODEyODIyLjQ1MTQ3MDEsIDc1OTYsIDEuNDE5ODgwMDMyNTM5MzY3N10sIFsxNjYzODEyODIyLjY0NDA0ODUsIDc2MTQsIDEuMjIzMjkzNzgxMjgwNTE3Nl0sIFsxNjYzODEyODIyLjg5NTk5NzUsIDc2MzIsIDEuNTUxODA4ODM0MDc1OTI3N10sIFsxNjYzODEyODIzLjE5NzY2LCA3NjU5LCAxLjMxMDMyODQ4MzU4MTU0M10sIFsxNjYzODEyODIzLjI5MzYwNDEsIDc2NjgsIDEuMTY2ODA0NTUyMDc4MjQ3XSwgWzE2NjM4MTI4MjMuNTkxOTcxLCA3Njk1LCAxLjMwNjQzMjg0MzIwODMxM10sIFsxNjYzODEyODIzLjc5ODMzNiwgNzcxMywgMS41NzMyMjY2OTAyOTIzNTg0XSwgWzE2NjM4MTI4MjMuOTA0ODM1MiwgNzcyMiwgMS4yOTE3NjM3ODI1MDEyMjA3XSwgWzE2NjM4MTI4MjQuMDM0ODI5NCwgNzczMSwgMS4zMTQ2OTMyMTI1MDkxNTUzXSwgWzE2NjM4MTI4MjQuMjIwMDkwMiwgNzc0OSwgMS4yMTI5NjY3OTk3MzYwMjNdLCBbMTY2MzgxMjgyNC4zMTEwNzY5LCA3NzU4LCAxLjQ5MjY5ODY2OTQzMzU5MzhdLCBbMTY2MzgxMjgyNC40MDI0NjE4LCA3NzY3LCAxLjUyNjQ3ODUyODk3NjQ0MDRdLCBbMTY2MzgxMjgyNC42OTk1NzgsIDc3OTQsIDEuODc5ODg0NjAwNjM5MzQzM10sIFsxNjYzODEyODI0Ljc5ODk4OCwgNzgwMywgMS40MjkzNjE4MjAyMjA5NDczXSwgWzE2NjM4MTI4MjQuOTgyODM5OCwgNzgyMSwgMS40MDEzNjI3NzY3NTYyODY2XSwgWzE2NjM4MTI4MjUuMTY2MDAyMywgNzgzOSwgMS41NTA4MjEzMDQzMjEyODldLCBbMTY2MzgxMjgyNS4yNjM5MzY4LCA3ODQ4LCAxLjI0NTk1NjY1OTMxNzAxNjZdLCBbMTY2MzgxMjgyNS41NDAzMywgNzg3NSwgMS4zNjE4MTYwNDg2MjIxMzEzXSwgWzE2NjM4MTI4MjUuNzI5NzY2LCA3ODkzLCAxLjM3ODA3NDc2NTIwNTM4MzNdLCBbMTY2MzgxMjgyNS44MzM3OTA4LCA3OTAyLCAxLjQwMTgwNTg3NzY4NTU0NjldLCBbMTY2MzgxMjgyNS45MjgxNDY2LCA3OTExLCAxLjUwMDY3MTM4NjcxODc1XSwgWzE2NjM4MTI4MjYuMTUzNTE2NSwgNzkyOSwgMS40Mjk5MjQ5NjQ5MDQ3ODUyXSwgWzE2NjM4MTI4MjYuMjQ2MTgwNSwgNzkzOCwgMS4zMjQzNzUwMzMzNzg2MDFdLCBbMTY2MzgxMjgyNi4zMzc4NTUzLCA3OTQ3LCAxLjI4NTU1MzMzNjE0MzQ5MzddLCBbMTY2MzgxMjgyNi40MjgzNzM2LCA3OTU2LCAxLjQ1MTIzODUxMjk5Mjg1ODldLCBbMTY2MzgxMjgyNi41MjA1MzgsIDc5NjUsIDEuMjQxNDcwMjE3NzA0NzczXSwgWzE2NjM4MTI4MjYuNjE4MzMxMiwgNzk3NCwgMS4xOTgxNjk0Njk4MzMzNzRdLCBbMTY2MzgxMjgyNi43MDg0MDA1LCA3OTgzLCAxLjMzNDU5NDAxMTMwNjc2MjddLCBbMTY2MzgxMjgyNi44MDkwNDk2LCA3OTkyLCAxLjMxNjM1NDYzMjM3NzYyNDVdLCBbMTY2MzgxMjgyNi45MDY1MTIsIDgwMDEsIDEuMjMzMDI5MjQ2MzMwMjYxMl0sIFsxNjYzODEyODI2Ljk5NzIyMiwgODAxMCwgMS4yODU5Njc0NjkyMTUzOTNdLCBbMTY2MzgxMjgyNy4wODg0NDExLCA4MDE5LCAxLjIwMjA3MjI2Mjc2Mzk3N10sIFsxNjYzODEyODI3LjI2ODI0MTYsIDgwMzcsIDEuMjQ0MjMyODkyOTkwMTEyM10sIFsxNjYzODEyODI3LjM1Nzk1OTUsIDgwNDYsIDEuMzA2MjcxMzE0NjIwOTcxN10sIFsxNjYzODEyODI3LjUzNTg1NTUsIDgwNjQsIDEuMzY2NjkyNzgxNDQ4MzY0M10sIFsxNjYzODEyODI3Ljg4NTM0MTIsIDgwODIsIDEuMzg5MjgzMTgwMjM2ODE2NF0sIFsxNjYzODEyODI3Ljk3MTA1LCA4MDkxLCAxLjQzMjMwNjA1MTI1NDI3MjVdLCBbMTY2MzgxMjgyOC4yMzkzMzE1LCA4MTE4LCAxLjIzMjI0MjgyMjY0NzA5NDddLCBbMTY2MzgxMjgyOC4zMjY0MTg2LCA4MTI3LCAxLjMzMjk2MDEyODc4NDE3OTddLCBbMTY2MzgxMjgyOC41MDg4OTgzLCA4MTQ1LCAxLjUzMTIwNjcyNzAyNzg5M10sIFsxNjYzODEyODI4LjU5OTMwMTYsIDgxNTQsIDEuMjc1NzYwNjUwNjM0NzY1Nl0sIFsxNjYzODEyODI4LjcwMzczMjMsIDgxNjMsIDEuMTYxNDI1MjMyODg3MjY4XSwgWzE2NjM4MTI4MjguNzk4MzY0MiwgODE3MiwgMS4yNzQ1NDIwOTMyNzY5Nzc1XSwgWzE2NjM4MTI4MjguODkwOTk4NiwgODE4MSwgMS4xMzIzNTAyMDYzNzUxMjJdLCBbMTY2MzgxMjgyOS4xMDg0NDEsIDgxOTksIDEuMDg2MzQ4ODkxMjU4MjM5N10sIFsxNjYzODEyODI5LjIwMTQ4NTIsIDgyMDgsIDEuMzIyNzM4NTI4MjUxNjQ4XSwgWzE2NjM4MTI4MjkuMzg3NzcxOCwgODIyNiwgMS41MDUzMzIxMTIzMTIzMTddLCBbMTY2MzgxMjgyOS40Nzc1OTU4LCA4MjM1LCAxLjM4ODM3NzU0NzI2NDA5OTFdLCBbMTY2MzgxMjgyOS42OTU3NjEsIDgyNTMsIDEuMTQ2MzgyMDkzNDI5NTY1NF0sIFsxNjYzODEyODI5Ljc4OTc4OSwgODI2MiwgMS4yNDc0NjY0NDQ5NjkxNzcyXSwgWzE2NjM4MTI4MjkuODg3NTI1MywgODI3MSwgMS4yOTEyNzM0NzQ2OTMyOTgzXSwgWzE2NjM4MTI4MjkuOTkxNjE4NiwgODI4MCwgMS4zMzk2NTgzNzk1NTQ3NDg1XSwgWzE2NjM4MTI4MzAuMTAzMDUyNCwgODI4OSwgMS4zMTQ2MTQ1MzQzNzgwNTE4XSwgWzE2NjM4MTI4MzAuMjA3NDQwOSwgODI5OCwgMS40NTA0ODQyNzU4MTc4NzFdLCBbMTY2MzgxMjgzMC4zMTE3MTY2LCA4MzA3LCAxLjIzMzcyNTQyODU4MTIzNzhdLCBbMTY2MzgxMjgzMC40MjE5OTY4LCA4MzE2LCAxLjQwMTY0NTU0MTE5MTEwMV0sIFsxNjYzODEyODMwLjgyNzY4MTMsIDgzNTIsIDEuMTI4NTczNDE3NjYzNTc0Ml0sIFsxNjYzODEyODMwLjkyNDc3OTIsIDgzNjEsIDEuMjI2OTkyODQ1NTM1Mjc4M10sIFsxNjYzODEyODMxLjAzMTQxNDMsIDgzNzAsIDEuODQxNjU4ODMwNjQyNzAwMl0sIFsxNjYzODEyODMxLjEyNTM5NjMsIDgzNzksIDEuMjI2MDY4MjU4Mjg1NTIyNV0sIFsxNjYzODEyODMxLjIyMjk2MjQsIDgzODgsIDEuNDU2MTU2MTM0NjA1NDA3N10sIFsxNjYzODEyODMxLjMxNzAyODMsIDgzOTcsIDEuMTk1NzYyNjM0Mjc3MzQzOF0sIFsxNjYzODEyODMxLjQxMjIzMjQsIDg0MDYsIDEuMzA5NTY1OTAxNzU2Mjg2Nl0sIFsxNjYzODEyODMxLjUwNzExMjcsIDg0MTUsIDEuMTcxNjE4MzQyMzk5NTk3Ml0sIFsxNjYzODEyODMxLjYxMzExMzksIDg0MjQsIDEuMTU4Nzg2NDE2MDUzNzcyXSwgWzE2NjM4MTI4MzIuMDMwMzE2NiwgODQ2MCwgMS40ODc4MDg1ODUxNjY5MzEyXSwgWzE2NjM4MTI4MzIuMTM1NjA3LCA4NDY5LCAxLjI4MTU5MDU4MDk0MDI0NjZdLCBbMTY2MzgxMjgzMi4yMzM1NzksIDg0NzgsIDEuMDc2MDA4NTU4MjczMzE1NF0sIFsxNjYzODEyODMyLjMyNTAzMTUsIDg0ODcsIDEuMzA1OTMzMzU2Mjg1MDk1Ml0sIFsxNjYzODEyODMyLjYwODU2MjIsIDg1MTQsIDEuMjc0ODI5MjY4NDU1NTA1NF0sIFsxNjYzODEyODMyLjcxMDU0MywgODUyMywgMS43MTQ2NDYzMzk0MTY1MDRdLCBbMTY2MzgxMjgzMi44MDU5MjA4LCA4NTMyLCAxLjg0NTExOTcxNDczNjkzODVdLCBbMTY2MzgxMjgzMi45ODkwODI4LCA4NTUwLCAxLjU0NzYwMjQxNTA4NDgzODldLCBbMTY2MzgxMjgzMy4wODA5NzEyLCA4NTU5LCAxLjcyNzc4NDM5NTIxNzg5NTVdLCBbMTY2MzgxMjgzMy4yNzI2NDQzLCA4NTc3LCAxLjE2NjU5NDI2Njg5MTQ3OTVdLCBbMTY2MzgxMjgzMy40NTc1MTU3LCA4NTk1LCAxLjYwODIyODMyNTg0MzgxMV0sIFsxNjYzODEyODMzLjU1NDExMSwgODYwNCwgMS42MjYwNDg1NjQ5MTA4ODg3XSwgWzE2NjM4MTI4MzMuNjQ3MTYwNSwgODYxMywgMS4wOTQxMzI5MDAyMzgwMzddLCBbMTY2MzgxMjgzMy45MDE0NzA0LCA4NjQwLCAxLjYyNDI2NzgxNjU0MzU3OV0sIFsxNjYzODEyODMzLjk4NzYwOTksIDg2NDksIDEuMjM0MDgyNDYwNDAzNDQyNF0sIFsxNjYzODEyODM0LjA3Nzk1OTUsIDg2NTgsIDEuMTM0Nzg2ODQ0MjUzNTRdLCBbMTY2MzgxMjgzNC4xNzg2NTE4LCA4NjY3LCAxLjYxMzc0NDYxNjUwODQ4MzldLCBbMTY2MzgxMjgzNC4yODE1MjEsIDg2NzYsIDEuMzI0MTA0OTA1MTI4NDc5XSwgWzE2NjM4MTI4MzQuMzcxNjg1LCA4Njg1LCAxLjI0NzM2MTU0MDc5NDM3MjZdLCBbMTY2MzgxMjgzNC40NjMxNjg2LCA4Njk0LCAxLjE5ODY2NjA5NTczMzY0MjZdLCBbMTY2MzgxMjgzNC42NTU1Mjk3LCA4NzEyLCAxLjczODU2ODc4MjgwNjM5NjVdLCBbMTY2MzgxMjgzNC43NDI0ODQ4LCA4NzIxLCAxLjMwMzY0NzA0MTMyMDgwMDhdLCBbMTY2MzgxMjgzNS4wMTgzOTkyLCA4NzQ4LCAxLjU2NDYzMzYwNzg2NDM3OTldLCBbMTY2MzgxMjgzNS4xMTE2OTQ2LCA4NzU3LCAxLjM5NzcxODkwNjQwMjU4OF0sIFsxNjYzODEyODM1LjQ4MTE3NjEsIDg3OTMsIDEuMjc3MjUwMDUxNDk4NDEzXSwgWzE2NjM4MTI4MzUuNjYzNzI4NSwgODgxMSwgMS4zNjIxMjMwMTI1NDI3MjQ2XSwgWzE2NjM4MTI4MzUuNzU1OTEwOSwgODgyMCwgMS4xODYzOTAwNDIzMDQ5OTI3XSwgWzE2NjM4MTI4MzUuODQ1MTI5NywgODgyOSwgMS40MjQ3NTcyNDIyMDI3NTg4XSwgWzE2NjM4MTI4MzUuOTM3NjMzOCwgODgzOCwgMS4yODEwMDEwOTEwMDM0MThdLCBbMTY2MzgxMjgzNi4wMzI5NzA3LCA4ODQ3LCAxLjQ5NTc4MzA5MDU5MTQzMDddLCBbMTY2MzgxMjgzNi4xMjExMDksIDg4NTYsIDEuMTI0NDM2ODU1MzE2MTYyXSwgWzE2NjM4MTI4MzYuNTU1NDA1OSwgODg4MywgMS4yOTU2NzM2MDg3Nzk5MDcyXSwgWzE2NjM4MTI4MzYuNjQ4ODQ3LCA4ODkyLCAxLjE4OTM0NjA3NTA1Nzk4MzRdLCBbMTY2MzgxMjgzNi43NTA2Njg1LCA4OTAxLCAxLjU2NjcyOTMwNzE3NDY4MjZdLCBbMTY2MzgxMjgzNi44MzkwNTA1LCA4OTEwLCAxLjQwOTMwNzk1NjY5NTU1NjZdLCBbMTY2MzgxMjgzNi45Mjc0NDczLCA4OTE5LCAxLjQ3Nzk5OTkyNTYxMzQwMzNdLCBbMTY2MzgxMjgzNy4xMTU3NjI3LCA4OTM3LCAxLjUwNTQzMjM2NzMyNDgyOV0sIFsxNjYzODEyODM3LjI5ODU5MzgsIDg5NTUsIDEuMTM0NDg0NTI5NDk1MjM5M10sIFsxNjYzODEyODM3LjQwNDAwODYsIDg5NjQsIDEuOTE1MTIzMTA1MDQ5MTMzM10sIFsxNjYzODEyODM3LjQ5NjQxMjgsIDg5NzMsIDEuMjU5Njk3OTE0MTIzNTM1Ml0sIFsxNjYzODEyODM3LjY4MzY1LCA4OTkxLCAxLjM4NjcyMjQ0NTQ4Nzk3Nl0sIFsxNjYzODEyODM3Ljc3ODg0OTYsIDkwMDAsIDEuMzMzMDkzMjg1NTYwNjA4XSwgWzE2NjM4MTI4MzcuODY4MDIxMiwgOTAwOSwgMS4zMzQ3NjYxNDk1MjA4NzRdLCBbMTY2MzgxMjgzNy45NTQ4NTU3LCA5MDE4LCAxLjE3MzU0NzM4NzEyMzEwOF0sIFsxNjYzODEyODM4LjA0OTg4LCA5MDI3LCAxLjQ3ODA0NzYwOTMyOTIyMzZdLCBbMTY2MzgxMjgzOC4xNDA1NjA5LCA5MDM2LCAxLjE2MDgzNDQzMTY0ODI1NDRdLCBbMTY2MzgxMjgzOC4yMzI0ODYyLCA5MDQ1LCAxLjE4MzY4Njk3MTY2NDQyODddLCBbMTY2MzgxMjgzOC4zMjI5MDg0LCA5MDU0LCAxLjQxMjQxOTE5OTk0MzU0MjVdLCBbMTY2MzgxMjgzOC40MTAxMDksIDkwNjMsIDEuMzgxMjgzODc5MjgwMDkwM10sIFsxNjYzODEyODM4LjUxNTI0MzMsIDkwNzIsIDEuNDMyMjExOTk1MTI0ODE3XSwgWzE2NjM4MTI4MzguODc5NDU1MywgOTEwOCwgMS4yNTc4MTk3NzE3NjY2NjI2XSwgWzE2NjM4MTI4MzkuMDY0NDE2LCA5MTI2LCAxLjI4NTMwMzIzNTA1NDAxNjFdLCBbMTY2MzgxMjgzOS4xNTc1NTY1LCA5MTM1LCAxLjM3OTA1NDY2NTU2NTQ5MDddLCBbMTY2MzgxMjgzOS4yNDYzMTI5LCA5MTQ0LCAxLjI2MzU0NzUzOTcxMDk5ODVdLCBbMTY2MzgxMjgzOS4zMzg1MTcyLCA5MTUzLCAxLjMxMzczOTY1NzQwMjAzODZdLCBbMTY2MzgxMjgzOS40Mjc2NjM2LCA5MTYyLCAxLjI2OTMwNDI3NTUxMjY5NTNdLCBbMTY2MzgxMjgzOS43MjA3MDQzLCA5MTg5LCAxLjM1MzA1OTY0OTQ2NzQ2ODNdLCBbMTY2MzgxMjgzOS45MDU2MzI3LCA5MjA3LCAxLjIzNTM5MDMwNTUxOTEwNF0sIFsxNjYzODEyODQwLjI2NTczNDIsIDkyNDMsIDEuMzgzMzg1NjU4MjY0MTYwMl0sIFsxNjYzODEyODQwLjQ1NDM4NDgsIDkyNjEsIDEuMzAwNzM3NTAwMTkwNzM0OV0sIFsxNjYzODEyODQwLjU2MzIzNiwgOTI3MCwgMS4yMDM5MTAxMTIzODA5ODE0XSwgWzE2NjM4MTI4NDAuNzU4MzI5MiwgOTI4OCwgMS4yMjc1MTk4Njk4MDQzODIzXSwgWzE2NjM4MTI4NDEuMTc3MTg2LCA5MzI0LCAxLjE2MzQ3MDYyNTg3NzM4MDRdLCBbMTY2MzgxMjg0MS4yNzU5NDk3LCA5MzMzLCAxLjYwMDg5ODUwNDI1NzIwMjFdLCBbMTY2MzgxMjg0MS4zNzk2MjYsIDkzNDIsIDEuMzMyNzc2OTA0MTA2MTQwMV0sIFsxNjYzODEyODQxLjQ3ODY2NDQsIDkzNTEsIDEuNTk5NjUzMTI0ODA5MjY1MV0sIFsxNjYzODEyODQxLjU4MTMxNCwgOTM2MCwgMS40MDUzMDA5NzQ4NDU4ODYyXSwgWzE2NjM4MTI4NDEuOTY1OTE2OSwgOTM5NiwgMS4zMzMzNDk4MjM5NTE3MjEyXSwgWzE2NjM4MTI4NDIuMTU1NjY1NCwgOTQxNCwgMS4zNjA3MjU0MDI4MzIwMzEyXSwgWzE2NjM4MTI4NDIuMjQ3Nzc0MSwgOTQyMywgMS4wMzc4OTkzNzQ5NjE4NTNdLCBbMTY2MzgxMjg0Mi40MzA2NjgsIDk0NDEsIDEuMTM2MDQ2NTI4ODE2MjIzMV0sIFsxNjYzODEyODQyLjUxOTE2NTgsIDk0NTAsIDEuMTIyMzEzMTQxODIyODE1XSwgWzE2NjM4MTI4NDIuODE1MDY5NCwgOTQ3NywgMS4xNzc0NDA0MDQ4OTE5Njc4XSwgWzE2NjM4MTI4NDIuOTA2MDY2LCA5NDg2LCAxLjQ1NjgzODEzMDk1MDkyNzddLCBbMTY2MzgxMjg0Mi45OTc3MTk1LCA5NDk1LCAxLjU0MDIxNjIwNzUwNDI3MjVdLCBbMTY2MzgxMjg0My4xOTY2MzgzLCA5NTEzLCAxLjM1MjAxNTczMzcxODg3Ml0sIFsxNjYzODEyODQzLjM4ODA4ODUsIDk1MzEsIDEuMTY0OTQ1NjAyNDE2OTkyMl0sIFsxNjYzODEyODQzLjQ3NTA3NDMsIDk1NDAsIDEuMzAyMjA5Mzc3Mjg4ODE4NF0sIFsxNjYzODEyODQzLjU2NDUxOTIsIDk1NDksIDEuNDE2NTEyNjA4NTI4MTM3Ml0sIFsxNjYzODEyODQzLjc1Nzc4MTcsIDk1NjcsIDEuMTg3NDAyNzI1MjE5NzI2Nl0sIFsxNjYzODEyODQzLjg0OTM1MzgsIDk1NzYsIDEuNzIxMTMzODI4MTYzMTQ3XSwgWzE2NjM4MTI4NDQuMDM2MzI1LCA5NTk0LCAxLjE1MzkwMzQ4NDM0NDQ4MjRdLCBbMTY2MzgxMjg0NC4xMzA4NjE1LCA5NjAzLCAxLjA2MjE4NTY0NTEwMzQ1NDZdLCBbMTY2MzgxMjg0NC4yMjM2NzMzLCA5NjEyLCAxLjE2NjM4ODUxMTY1NzcxNDhdLCBbMTY2MzgxMjg0NC40NDc4MSwgOTYzMCwgMS4zMDEwNzYwNTQ1NzMwNTldLCBbMTY2MzgxMjg0NC41NDQ1Nzc2LCA5NjM5LCAxLjE1NDc4MTM0MTU1MjczNDRdLCBbMTY2MzgxMjg0NC42Mzk5OCwgOTY0OCwgMS40MDI4ODIzMzc1NzAxOTA0XSwgWzE2NjM4MTI4NDQuNzM3NDY4MiwgOTY1NywgMS4xMzkxMTY2NDQ4NTkzMTRdLCBbMTY2MzgxMjg0NC44MzE2OTk2LCA5NjY2LCAxLjQ3NTkxNzgxNjE2MjEwOTRdLCBbMTY2MzgxMjg0NS4wODQzNDg0LCA5Njc1LCAxLjM4NzU0NjA2MjQ2OTQ4MjRdLCBbMTY2MzgxMjg0NS4zNDgwNjEzLCA5NzAyLCAxLjI4NTAxMTUyOTkyMjQ4NTRdLCBbMTY2MzgxMjg0NS40MzUzMzY2LCA5NzExLCAxLjQ1ODM4ODIwOTM0Mjk1NjVdLCBbMTY2MzgxMjg0NS42MTM1OTY3LCA5NzI5LCAxLjM3OTQ2MTA1MDAzMzU2OTNdLCBbMTY2MzgxMjg0NS43MTQxOTMsIDk3MzgsIDEuMTU3NTg5NDM1NTc3MzkyNl0sIFsxNjYzODEyODQ1LjgxMjQ4NCwgOTc0NywgMS4wNzkzMjk5Njc0OTg3NzkzXSwgWzE2NjM4MTI4NDUuOTEyMDE3OCwgOTc1NiwgMS41NzYxNDc1NTYzMDQ5MzE2XSwgWzE2NjM4MTI4NDYuMDk2NjQ3NSwgOTc3NCwgMS4yNzQ2MjM1MTMyMjE3NDA3XSwgWzE2NjM4MTI4NDYuMTg4Nzk0MSwgOTc4MywgMS4xNTEyNTE1NTQ0ODkxMzU3XSwgWzE2NjM4MTI4NDYuMjgyNTE2NSwgOTc5MiwgMS4xNzE3NjQ3MzE0MDcxNjU1XSwgWzE2NjM4MTI4NDYuMzcyOTM1OCwgOTgwMSwgMS4xOTcwNjEwNjE4NTkxMzA5XSwgWzE2NjM4MTI4NDYuNjQ3MDA2MywgOTgyOCwgMS40NDAzOTA3MDYwNjIzMTddLCBbMTY2MzgxMjg0Ni43Mzg1MzE0LCA5ODM3LCAxLjQzMTUzNTI0Mzk4ODAzN10sIFsxNjYzODEyODQ2LjgyNjQxMDgsIDk4NDYsIDEuNDE0NTUzMDQ2MjI2NTAxNV0sIFsxNjYzODEyODQ3LjI3ODMwMywgOTg5MSwgMS4yMTg1OTQxOTM0NTg1NTcxXSwgWzE2NjM4MTI4NDcuNDUzNTUzLCA5OTA5LCAxLjE1OTg2OTQzMjQ0OTM0MDhdLCBbMTY2MzgxMjg0Ny42NDAyNTQzLCA5OTI3LCAxLjQwNTM1Mjk1MDA5NjEzMDRdLCBbMTY2MzgxMjg0Ny43Mjk3MDQsIDk5MzYsIDEuMjkzMDE0MDQ5NTMwMDI5M10sIFsxNjYzODEyODQ3LjgyMDg3OTcsIDk5NDUsIDEuNDY1ODUyNjE4MjE3NDY4M10sIFsxNjYzODEyODQ4LjEwNTM5MzYsIDk5NzIsIDEuMTM2NzA2ODI5MDcxMDQ1XSwgWzE2NjM4MTI4NDguMTk4MDc3NywgOTk4MSwgMS4xMjAyMzExNTE1ODA4MTA1XSwgWzE2NjM4MTI4NDguMjg5MDM3MiwgOTk5MCwgMS41NzI2NjE1MTkwNTA1OTgxXSwgWzE2NjM4MTI4NDguMzgyODUyOCwgOTk5OSwgMS4xODM0NTQzOTQzNDA1MTUxXSwgWzE2NjM4MTI4NDguNDczMTY1OCwgMTAwMDgsIDEuNzUyNzUyNTQyNDk1NzI3NV0sIFsxNjYzODEyODQ4LjU2MjI2NSwgMTAwMTcsIDEuMzE3NzQ3ODMxMzQ0NjA0NV0sIFsxNjYzODEyODQ4LjY1MjE0OCwgMTAwMjYsIDEuNDQ1NjEyNzg4MjAwMzc4NF0sIFsxNjYzODEyODQ4LjczODA4ODEsIDEwMDM1LCAxLjI2Mjc2NjgzODA3MzczMDVdLCBbMTY2MzgxMjg0OC45MTY3MDk0LCAxMDA1MywgMS4zNDUzMTgzMTc0MTMzM10sIFsxNjYzODEyODQ5LjAxNDM5NTIsIDEwMDYyLCAxLjM0ODU1MDU1ODA5MDIxXSwgWzE2NjM4MTI4NDkuMTk4ODg5NywgMTAwODAsIDEuNTAwOTU1OTM5MjkyOTA3N10sIFsxNjYzODEyODQ5LjI4OTQ1MDQsIDEwMDg5LCAxLjM2Nzc4ODU1MzIzNzkxNV0sIFsxNjYzODEyODQ5LjM5NDcxOTEsIDEwMDk4LCAxLjI0MTQ5OTQyMzk4MDcxM10sIFsxNjYzODEyODQ5LjQ4NjY3NzYsIDEwMTA3LCAxLjQ3NjYxMTg1MjY0NTg3NF0sIFsxNjYzODEyODQ5Ljc2ODQ3ODIsIDEwMTM0LCAxLjA4NzcxMjQwNzExMjEyMTZdLCBbMTY2MzgxMjg0OS44NTg0NzAyLCAxMDE0MywgMS4yNDA5NzY4MTA0NTUzMjIzXSwgWzE2NjM4MTI4NTAuMDUxNjcyMiwgMTAxNjEsIDEuMzQ4NzczNzE3ODgwMjQ5XSwgWzE2NjM4MTI4NTAuMTQ3MzYxNSwgMTAxNzAsIDEuMjgxMjU1MjQ1MjA4NzQwMl0sIFsxNjYzODEyODUwLjIzNzc2NTMsIDEwMTc5LCAxLjMyNDgxOTQ0NTYxMDA0NjRdLCBbMTY2MzgxMjg1MC4zMjcxMjI3LCAxMDE4OCwgMS40Nzc5NDczNTQzMTY3MTE0XSwgWzE2NjM4MTI4NTAuNDE0NDg0LCAxMDE5NywgMS43MDk5NDcyMjg0MzE3MDE3XSwgWzE2NjM4MTI4NTAuNTA5ODUxNywgMTAyMDYsIDEuNDMwMzkyNjIyOTQ3NjkyOV0sIFsxNjYzODEyODUwLjYwNjUzMywgMTAyMTUsIDEuMjMwMzk1MTk3ODY4MzQ3Ml0sIFsxNjYzODEyODUwLjY5NjQxNjksIDEwMjI0LCAxLjI0MTk5Mjk1MDQzOTQ1MzFdLCBbMTY2MzgxMjg1MC43ODM1OTIyLCAxMDIzMywgMS4yMjA5Njc0MTE5OTQ5MzRdLCBbMTY2MzgxMjg1MC44NzAwMzk1LCAxMDI0MiwgMS4yMTUxNTcwMzIwMTI5Mzk1XSwgWzE2NjM4MTI4NTEuMDU2MzA0NywgMTAyNjAsIDEuMTY0NTU2NTAzMjk1ODk4NF0sIFsxNjYzODEyODUxLjE2MDI2OCwgMTAyNjksIDEuMjQ1NzgwNzA2NDA1NjM5Nl0sIFsxNjYzODEyODUxLjM1MzQ5MjMsIDEwMjg3LCAxLjIxMjQ4MDU0NTA0Mzk0NTNdLCBbMTY2MzgxMjg1MS40NDU4MDk2LCAxMDI5NiwgMS4xMzU5NTU2OTEzMzc1ODU0XSwgWzE2NjM4MTI4NTEuNjIyODY0NywgMTAzMTQsIDEuMjc3MjE3Mzg4MTUzMDc2Ml0sIFsxNjYzODEyODUxLjcwOTkxMDksIDEwMzIzLCAxLjExMzI5NTU1NTExNDc0Nl0sIFsxNjYzODEyODUxLjg5MDk4NTMsIDEwMzQxLCAxLjY2ODcxNTU5NjE5OTAzNTZdLCBbMTY2MzgxMjg1MS45Nzg5NzIyLCAxMDM1MCwgMS40MDk1MjM3MjU1MDk2NDM2XSwgWzE2NjM4MTI4NTIuMDY4Njk2MywgMTAzNTksIDEuMTc0Nzc2NjczMzE2OTU1Nl0sIFsxNjYzODEyODUyLjE2MTM4MDMsIDEwMzY4LCAxLjQzMDQyMDYzNzEzMDczNzNdLCBbMTY2MzgxMjg1Mi4yNTc1MjI2LCAxMDM3NywgMS4yNTI4OTk3NjU5NjgzMjI4XSwgWzE2NjM4MTI4NTIuMzQ4MjcxLCAxMDM4NiwgMS4yMzY5Mjc2Mjg1MTcxNTA5XSwgWzE2NjM4MTI4NTIuNTMxMjIwMiwgMTA0MDQsIDIuMTM0MTg3Njk4MzY0MjU4XSwgWzE2NjM4MTI4NTIuNjIzOTA0NSwgMTA0MTMsIDEuMzEwMzkwMTE0Nzg0MjQwN10sIFsxNjYzODEyODUyLjcxOTI0MzgsIDEwNDIyLCAxLjMxMTI5NDkxMzI5MTkzMTJdLCBbMTY2MzgxMjg1Mi44OTYxNzIzLCAxMDQ0MCwgMS42OTg3NDU2MDgzMjk3NzNdLCBbMTY2MzgxMjg1Mi45ODQwMTYyLCAxMDQ0OSwgMS4wODAyOTIyMjQ4ODQwMzMyXSwgWzE2NjM4MTI4NTMuMTkxMzU5OCwgMTA0NjcsIDEuMjYyNzc2Mzc0ODE2ODk0NV0sIFsxNjYzODEyODUzLjQ1MTEwNTgsIDEwNDc2LCAxLjIzODUzNzU0OTk3MjUzNDJdLCBbMTY2MzgxMjg1My41NDg2NTY3LCAxMDQ4NSwgMS4zMjg5Mjk1NDM0OTUxNzgyXSwgWzE2NjM4MTI4NTMuNjQyMDEyLCAxMDQ5NCwgMS4yMzI1NTAxNDQxOTU1NTY2XSwgWzE2NjM4MTI4NTMuNzU4NTgyNCwgMTA1MDMsIDEuMjE4NzQ3MDE5NzY3NzYxMl0sIFsxNjYzODEyODUzLjg2NzgxMzYsIDEwNTEyLCAxLjI0NjA5MjQzODY5NzgxNV0sIFsxNjYzODEyODUzLjk2NzcyMzYsIDEwNTIxLCAxLjIxOTMxNTY0ODA3ODkxODVdLCBbMTY2MzgxMjg1NC4zOTk3MTk1LCAxMDU1NywgMS4zNjU5MDQwOTI3ODg2OTYzXSwgWzE2NjM4MTI4NTQuNTAwMzYwNywgMTA1NjYsIDEuMzkwMjA3MTcxNDQwMTI0NV0sIFsxNjYzODEyODU0LjYwMzYyNTUsIDEwNTc1LCAxLjM4Nzc3MDUzMzU2MTcwNjVdLCBbMTY2MzgxMjg1NC44MDM3ODI3LCAxMDU5MywgMS4wMjcxNzk0Nzk1OTg5OTldLCBbMTY2MzgxMjg1NC45MDQ4NTI0LCAxMDYwMiwgMS4zMjIwODY4MTEwNjU2NzM4XSwgWzE2NjM4MTI4NTUuMDA0ODUyMywgMTA2MTEsIDEuMDk5NzM3MDQ4MTQ5MTA4OV0sIFsxNjYzODEyODU1LjIyMjA1NSwgMTA2MjksIDEuMTA0OTEwMzczNjg3NzQ0MV0sIFsxNjYzODEyODU1LjQxNzM5ODIsIDEwNjQ3LCAxLjMwMzM5MTIxODE4NTQyNDhdLCBbMTY2MzgxMjg1NS42MzYzMjEsIDEwNjY1LCAxLjE0Mjc4OTk1OTkwNzUzMTddLCBbMTY2MzgxMjg1NS44NTkzNTY2LCAxMDY4MywgMS4yNDA3MjY4Mjg1NzUxMzQzXSwgWzE2NjM4MTI4NTYuMDk4MzQzOCwgMTA3MDEsIDEuMjY5NTcxMDY1OTAyNzFdLCBbMTY2MzgxMjg1Ni4yMDM5OTMsIDEwNzEwLCAxLjUwMzc4MTkxNDcxMDk5ODVdLCBbMTY2MzgxMjg1Ni4yOTk1Mzg5LCAxMDcxOSwgMS41MDc5MjY5NDA5MTc5Njg4XSwgWzE2NjM4MTI4NTYuMzk0ODI0LCAxMDcyOCwgMS4yODU4NzMwNTU0NTgwNjg4XSwgWzE2NjM4MTI4NTYuNTgyMjM0NCwgMTA3NDYsIDEuNDA2NzQ0OTU2OTcwMjE0OF0sIFsxNjYzODEyODU2LjY4MjQyNzYsIDEwNzU1LCAxLjI1MDY2NTY2NDY3Mjg1MTZdLCBbMTY2MzgxMjg1Ni43NzgxODgsIDEwNzY0LCAxLjMyNTA4NjM1NTIwOTM1MDZdLCBbMTY2MzgxMjg1Ni44NjgxNiwgMTA3NzMsIDEuMzQ2MTcxOTc1MTM1ODAzMl0sIFsxNjYzODEyODU2Ljk1ODE4MTQsIDEwNzgyLCAxLjEwOTQxNjcyMzI1MTM0MjhdLCBbMTY2MzgxMjg1Ny4wNjkwNDIyLCAxMDc5MSwgMS4zODU4Nzk5OTM0Mzg3MjA3XSwgWzE2NjM4MTI4NTcuMzMwNTUsIDEwODE4LCAxLjM3NTE5NTYyMjQ0NDE1MjhdLCBbMTY2MzgxMjg1Ny40MjY2MTk1LCAxMDgyNywgMS4xNDA5OTIwNDU0MDI1MjY5XSwgWzE2NjM4MTI4NTcuNzAyNzEyMywgMTA4NTQsIDEuNTgwNjQ0MTMwNzA2Nzg3XSwgWzE2NjM4MTI4NTcuNzkyMjQ3NSwgMTA4NjMsIDEuMTA0NjQ5NjYyOTcxNDk2Nl0sIFsxNjYzODEyODU3Ljg3Nzg1OSwgMTA4NzIsIDEuMDgzNjk2NDg0NTY1NzM0OV0sIFsxNjYzODEyODU4LjA4MDgwMDUsIDEwODkwLCAxLjE1NTU1ODM0NzcwMjAyNjRdLCBbMTY2MzgxMjg1OC4xNzg5MjUzLCAxMDg5OSwgMS4yNjU2MjEzMDQ1MTIwMjRdLCBbMTY2MzgxMjg1OC40Nzg1NjcsIDEwOTI2LCAxLjI0MjA3NjI3NzczMjg0OTFdLCBbMTY2MzgxMjg1OC41NjgzMjE3LCAxMDkzNSwgMS40MjYwNzU0NTg1MjY2MTEzXSwgWzE2NjM4MTI4NTguNjU1MzUxNiwgMTA5NDQsIDEuMzQyMjg2MTA5OTI0MzE2NF0sIFsxNjYzODEyODU4Ljg2MzI3NCwgMTA5NjIsIDEuMjY1Njk0OTc1ODUyOTY2M10sIFsxNjYzODEyODU4Ljk3MTEyMzUsIDEwOTcxLCAxLjM3NTc5ODM0NDYxMjEyMTZdLCBbMTY2MzgxMjg1OS4zMjY2OTU3LCAxMDk5OCwgMS4wNzc5OTY0OTIzODU4NjQzXSwgWzE2NjM4MTI4NTkuNDQyNDExNywgMTEwMDcsIDEuMDgwMDU0NTIxNTYwNjY5XSwgWzE2NjM4MTI4NTkuNTg0ODQ2NywgMTEwMTYsIDEuMTk1MTQzMTAzNTk5NTQ4M10sIFsxNjYzODEyODU5Ljc5Mjc3NzgsIDExMDM0LCAxLjMwMDEwMzkwMjgxNjc3MjVdLCBbMTY2MzgxMjg2MC4wNzgxNTI0LCAxMTA2MSwgMS4xMDc0NjgwMDg5OTUwNTYyXSwgWzE2NjM4MTI4NjAuMTcxNDU4MiwgMTEwNzAsIDEuMTY1MjI5NTU4OTQ0NzAyMV0sIFsxNjYzODEyODYwLjU1MDA4MTMsIDExMDk3LCAxLjI2NjkwNTMwNzc2OTc3NTRdLCBbMTY2MzgxMjg2MC42NzA3NjEsIDExMTA2LCAxLjI2NTQ1NzAzNDExMTAyM10sIFsxNjYzODEyODYwLjc2ODYyMywgMTExMTUsIDEuMjc1NzczNDA2MDI4NzQ3Nl0sIFsxNjYzODEyODYxLjE0Mjg2OTUsIDExMTUxLCAxLjMwMTAzNTg4MTA0MjQ4MDVdLCBbMTY2MzgxMjg2MS4zMzgxNTcsIDExMTY5LCAxLjE1MjI3MDkxMzEyNDA4NDVdLCBbMTY2MzgxMjg2MS40Mjg2Mzk0LCAxMTE3OCwgMS4wNjkwODc3NDM3NTkxNTUzXSwgWzE2NjM4MTI4NjEuNTE3ODM4LCAxMTE4NywgMS40MjMzODg3MTk1NTg3MTU4XSwgWzE2NjM4MTI4NjEuNjIwODE2MiwgMTExOTYsIDEuMzE1MzQ4OTgyODEwOTc0MV0sIFsxNjYzODEyODYxLjcxMzQ4NjIsIDExMjA1LCAxLjE4NTg4MjMyOTk0MDc5Nl0sIFsxNjYzODEyODYxLjgwODc4NywgMTEyMTQsIDEuMTMwNzk5NzcwMzU1MjI0Nl0sIFsxNjYzODEyODYxLjkwNjU5NjcsIDExMjIzLCAxLjE2ODY0NTI2MjcxODIwMDddLCBbMTY2MzgxMjg2Mi4xOTI3NjU1LCAxMTI1MCwgMS4yMjMzNzQ0ODU5Njk1NDM1XSwgWzE2NjM4MTI4NjIuNDMwNTUyNywgMTEyNTksIDEuNTA3OTc0MTQ3Nzk2NjMwOV0sIFsxNjYzODEyODYyLjUxNjAyMjQsIDExMjY4LCAxLjE1NTk3NDM4ODEyMjU1ODZdLCBbMTY2MzgxMjg2Mi42MDQ0MjM1LCAxMTI3NywgMS41MDQzMzE1ODg3NDUxMTcyXSwgWzE2NjM4MTI4NjIuODE2NDk3NiwgMTEyOTUsIDEuMjkyNDczOTEyMjM5MDc0N10sIFsxNjYzODEyODYzLjAwMTY2MDgsIDExMzEzLCAxLjIyOTM4NjgwNjQ4ODAzN10sIFsxNjYzODEyODYzLjA5NjU4MDMsIDExMzIyLCAxLjI3NTExNTk2Njc5Njg3NV0sIFsxNjYzODEyODYzLjM3ODM5MzcsIDExMzQ5LCAxLjA5ODE2OTU2NTIwMDgwNTddLCBbMTY2MzgxMjg2My40NzI2NjEsIDExMzU4LCAxLjI2ODY5NTk1MDUwODExNzddLCBbMTY2MzgxMjg2My42NTkzNzc2LCAxMTM3NiwgMS40MTU0OTU4NzI0OTc1NTg2XSwgWzE2NjM4MTI4NjMuNzYwMjY4NywgMTEzODUsIDEuMzc2NTUyOTM5NDE0OTc4XSwgWzE2NjM4MTI4NjMuODUwMDM0LCAxMTM5NCwgMS4xMTc1NzYyNDE0OTMyMjVdLCBbMTY2MzgxMjg2My45NDgxNzY5LCAxMTQwMywgMS40MjU1NDA4MDQ4NjI5NzZdLCBbMTY2MzgxMjg2NC4wMzk2NTI4LCAxMTQxMiwgMS40OTYxMDE0OTg2MDM4MjA4XSwgWzE2NjM4MTI4NjQuMTI5MTc1MiwgMTE0MjEsIDEuMDk4NTgyMzg2OTcwNTJdLCBbMTY2MzgxMjg2NC40MDM4ODk3LCAxMTQ0OCwgMS4yNjgwMDI3NDg0ODkzNzk5XSwgWzE2NjM4MTI4NjQuNDk2NTc3NSwgMTE0NTcsIDEuMjgyNTgzOTUxOTUwMDczMl0sIFsxNjYzODEyODY0Ljc5NDk4MDgsIDExNDg0LCAxLjE4MDk3NDYwMjY5OTI3OThdLCBbMTY2MzgxMjg2NC44ODY1MjA5LCAxMTQ5MywgMS40MTkxMTk5NTQxMDkxOTJdLCBbMTY2MzgxMjg2NC45Nzc0OTQ1LCAxMTUwMiwgMS42NjU5MzQzMjQyNjQ1MjY0XSwgWzE2NjM4MTI4NjUuMDcxMTg4MiwgMTE1MTEsIDEuMDc1MjQ4NzE4MjYxNzE4OF0sIFsxNjYzODEyODY1LjE2MzYxMjQsIDExNTIwLCAxLjgxMjMxMTI5MTY5NDY0MTFdLCBbMTY2MzgxMjg2NS4yNTYwNjI1LCAxMTUyOSwgMS4xNDUzOTgwMjA3NDQzMjM3XSwgWzE2NjM4MTI4NjUuNDM0Nzk2NiwgMTE1NDcsIDEuMzcwODQzNzY4MTE5ODEyXSwgWzE2NjM4MTI4NjUuNTI0MjQzNiwgMTE1NTYsIDEuMjE5MzQzNzgxNDcxMjUyNF0sIFsxNjYzODEyODY1LjcwNTE2NjYsIDExNTc0LCAxLjI2NTI4MzgyMzAxMzMwNTddLCBbMTY2MzgxMjg2NS44MDk4NTksIDExNTgzLCAxLjYxMjk1ODc4ODg3MTc2NTFdLCBbMTY2MzgxMjg2NS45OTQ5MzQzLCAxMTYwMSwgMS4xMzQ2ODYzNTA4MjI0NDg3XSwgWzE2NjM4MTI4NjYuMTg3MTc3NCwgMTE2MTksIDEuMzQ5NzIwMDAxMjIwNzAzMV0sIFsxNjYzODEyODY2LjI4MTUxMzcsIDExNjI4LCAxLjEzOTQ2NDAyMDcyOTA2NV0sIFsxNjYzODEyODY2LjM2OTY3NywgMTE2MzcsIDEuNDEyMTc5NDcwMDYyMjU1OV0sIFsxNjYzODEyODY2LjQ1ODQ1NjMsIDExNjQ2LCAxLjI1ODQ0NTUwMTMyNzUxNDZdLCBbMTY2MzgxMjg2Ni42NDE1NTIsIDExNjY0LCAxLjM2NDQyNDU4NjI5NjA4MTVdLCBbMTY2MzgxMjg2Ni43MzYwNTczLCAxMTY3MywgMS4xODI1MzU1MjkxMzY2NTc3XSwgWzE2NjM4MTI4NjYuOTE1NDA5NiwgMTE2OTEsIDEuMTEzNzQ4NjY5NjI0MzI4Nl0sIFsxNjYzODEyODY3LjAwNDcyMDQsIDExNzAwLCAxLjExNzEwNzUxMDU2NjcxMTRdLCBbMTY2MzgxMjg2Ny4xOTA1Nzc3LCAxMTcxOCwgMS4xNzgyMDk1NDMyMjgxNDk0XSwgWzE2NjM4MTI4NjcuMjgyNTk3OCwgMTE3MjcsIDEuMTgxMDU5NDc5NzEzNDRdLCBbMTY2MzgxMjg2Ny40NjY3MTMyLCAxMTc0NSwgMS40MTg5NjAyMTM2NjExOTM4XSwgWzE2NjM4MTI4NjcuNTU4MTQwMywgMTE3NTQsIDEuMjE3NzA3NzUzMTgxNDU3NV0sIFsxNjYzODEyODY3LjY1ODgyNTksIDExNzYzLCAxLjI4MjE4MDkwNTM0MjEwMl0sIFsxNjYzODEyODY3Ljc0ODkxODMsIDExNzcyLCAxLjIyODI2ODAyNzMwNTYwM10sIFsxNjYzODEyODY4LjAyNjQ0NiwgMTE3OTksIDEuNDA5ODU2NDM4NjM2Nzc5OF0sIFsxNjYzODEyODY4LjExNjk2ODYsIDExODA4LCAxLjE2NjYwMDM0NjU2NTI0NjZdLCBbMTY2MzgxMjg2OC4yMDQ2OTY0LCAxMTgxNywgMS4xOTI1NjMxNzYxNTUwOTAzXSwgWzE2NjM4MTI4NjguMjkyNjU3NiwgMTE4MjYsIDEuMjAzOTcwOTA5MTE4NjUyM10sIFsxNjYzODEyODY4LjM4MDE3MTUsIDExODM1LCAxLjIwMjQ2Mzg2NTI4MDE1MTRdLCBbMTY2MzgxMjg2OC40NzAzODQxLCAxMTg0NCwgMS4zNDA2MjAxNjAxMDI4NDQyXSwgWzE2NjM4MTI4NjguNzQ0NjUzLCAxMTg3MSwgMS4xOTkzNzU4Njc4NDM2MjhdLCBbMTY2MzgxMjg2OC44NTI0NTQ0LCAxMTg4MCwgMS4xODA5NjQ0Njk5MDk2NjhdLCBbMTY2MzgxMjg2OC45NjA5NjIzLCAxMTg4OSwgMS4xMTY3MTc2OTYxODk4ODA0XSwgWzE2NjM4MTI4NjkuMDc3NjUxLCAxMTg5OCwgMS40NzcyMTU4ODYxMTYwMjc4XSwgWzE2NjM4MTI4NjkuMTc1Njc2NiwgMTE5MDcsIDEuMjEwODU3MDMzNzI5NTUzMl0sIFsxNjYzODEyODY5LjI2OTg2NzcsIDExOTE2LCAxLjE3NTI0MTU4OTU0NjIwMzZdLCBbMTY2MzgxMjg2OS4zNjI3OTY1LCAxMTkyNSwgMS42NTE4MTQ4MTgzODIyNjMyXSwgWzE2NjM4MTI4NjkuNDU2NjI5LCAxMTkzNCwgMS4xNjc0OTYyMDQzNzYyMjA3XSwgWzE2NjM4MTI4NjkuNTQ5NzE2MiwgMTE5NDMsIDEuMTE1NjM2NDY3OTMzNjU0OF0sIFsxNjYzODEyODY5LjczNzU0MTcsIDExOTYxLCAxLjIyNzA3NTY5NTk5MTUxNjFdLCBbMTY2MzgxMjg3MC4yMDE0NDU4LCAxMjAwNiwgMS4yODkxOTIxOTk3MDcwMzEyXSwgWzE2NjM4MTI4NzAuMzg5NjIyNywgMTIwMjQsIDEuMzg1OTk2MzQxNzA1MzIyM10sIFsxNjYzODEyODcxLjEwOTM0ODMsIDEyMDc4LCAxLjIzOTM2MjgzNTg4NDA5NDJdLCBbMTY2MzgxMjg3MS4yMDU5NzQzLCAxMjA4NywgMS4wODM1MDYxMDczMzAzMjIzXSwgWzE2NjM4MTI4NzEuMzgxNjQ0MiwgMTIxMDUsIDEuNDY5MTkwMzU5MTE1NjAwNl0sIFsxNjYzODEyODcxLjQ3MTk4NDEsIDEyMTE0LCAxLjM2Mzk0OTE3OTY0OTM1M10sIFsxNjYzODEyODcxLjY0NzQ5NzQsIDEyMTMyLCAxLjA0NzIzNzUxNTQ0OTUyNF0sIFsxNjYzODEyODcxLjczOTkxMTMsIDEyMTQxLCAxLjI1ODA3MjQ5NTQ2MDUxMDNdLCBbMTY2MzgxMjg3Mi4wMjE2NzE4LCAxMjE2OCwgMS4zMzI5MTYwMjEzNDcwNDZdLCBbMTY2MzgxMjg3Mi4xMjk1MTMsIDEyMTc3LCAxLjE5MTcwNDYzMDg1MTc0NTZdLCBbMTY2MzgxMjg3Mi4zMTgwNjUyLCAxMjE5NSwgMS4zNDg0NzM5MDY1MTcwMjg4XSwgWzE2NjM4MTI4NzIuNDA4NTc0OCwgMTIyMDQsIDEuMjkwMTM4MTI1NDE5NjE2N10sIFsxNjYzODEyODcyLjQ5ODc5MDUsIDEyMjEzLCAxLjI4OTM5MDA4NzEyNzY4NTVdLCBbMTY2MzgxMjg3Mi41ODcwNDczLCAxMjIyMiwgMS4yMDIzNDU4NDgwODM0OTZdLCBbMTY2MzgxMjg3Mi42ODc4OTYzLCAxMjIzMSwgMS4xNjg0MzM2NjYyMjkyNDhdLCBbMTY2MzgxMjg3Mi44NzA1NjgsIDEyMjQ5LCAxLjEzNzY5MTQ5NzgwMjczNDRdLCBbMTY2MzgxMjg3My4wNTIzNDksIDEyMjY3LCAxLjMwODU1NzAzMzUzODgxODRdLCBbMTY2MzgxMjg3My4xNDE4MzE0LCAxMjI3NiwgMS4zNzc3ODY2MzYzNTI1MzldLCBbMTY2MzgxMjg3My4yNDUzNTgyLCAxMjI4NSwgMS4yNDYzMjQxODE1NTY3MDE3XSwgWzE2NjM4MTI4NzMuMzQxMTk5OSwgMTIyOTQsIDEuMjQwNjU0OTQ1MzczNTM1Ml0sIFsxNjYzODEyODczLjQ0NDkzLCAxMjMwMywgMS4xMjA5NzY5MjQ4OTYyNDAyXSwgWzE2NjM4MTI4NzMuNTMzNjczNSwgMTIzMTIsIDEuMjE2MTk1MjI1NzE1NjM3Ml0sIFsxNjYzODEyODczLjYyMDUwNDQsIDEyMzIxLCAxLjE0NjIzMzA4MTgxNzYyN10sIFsxNjYzODEyODczLjk5MDQxNTYsIDEyMzU3LCAxLjI1NjI2MTcwNjM1MjIzMzldLCBbMTY2MzgxMjg3NC4wODQ1NTA0LCAxMjM2NiwgMS4wODYwMDc5NTI2OTAxMjQ1XSwgWzE2NjM4MTI4NzQuMTczMTc2MywgMTIzNzUsIDEuNjI2NTU0NzI3NTU0MzIxM10sIFsxNjYzODEyODc0LjI3Nzg2OCwgMTIzODQsIDEuMzg5NTAxNDUyNDQ1OTgzOV0sIFsxNjYzODEyODc0LjM2ODAzOCwgMTIzOTMsIDEuMDg3NjcwNTY0NjUxNDg5M10sIFsxNjYzODEyODc0LjYzNzA4OTMsIDEyNDIwLCAxLjM0ODQzODg1ODk4NTkwMDldLCBbMTY2MzgxMjg3NC43MjY5MzU5LCAxMjQyOSwgMS4zNzUzNzIxNzE0MDE5Nzc1XSwgWzE2NjM4MTI4NzQuODE2MzE3NiwgMTI0MzgsIDEuMTQzMTg1Mzc3MTIwOTcxN10sIFsxNjYzODEyODc1LjE5MzQ2NjIsIDEyNDc0LCAxLjU3NDM4OTgxNTMzMDUwNTRdLCBbMTY2MzgxMjg3NS4yOTIwOTIsIDEyNDgzLCAxLjQ2NDQ3NjEwODU1MTAyNTRdLCBbMTY2MzgxMjg3NS4zODg2ODI2LCAxMjQ5MiwgMS4zNTk0MDAyNzIzNjkzODQ4XSwgWzE2NjM4MTI4NzUuNDgyNTYyLCAxMjUwMSwgMS4zNzg3MjQ4MTM0NjEzMDM3XSwgWzE2NjM4MTI4NzUuNjY1MDU2LCAxMjUxOSwgMS4xNTYzOTExNDM3OTg4MjgxXSwgWzE2NjM4MTI4NzUuNzU4ODczLCAxMjUyOCwgMS4xNjYwODQxNzAzNDE0OTE3XSwgWzE2NjM4MTI4NzUuOTU5NTk3MywgMTI1NDYsIDEuMjM3MjQ4NTM5OTI0NjIxNl0sIFsxNjYzODEyODc2LjA0OTA0NjgsIDEyNTU1LCAxLjExNDc0MTY4MzAwNjI4NjZdLCBbMTY2MzgxMjg3Ni4yODU3MjEsIDEyNTczLCAxLjcwNDkzMTEzOTk0NTk4MzldLCBbMTY2MzgxMjg3Ni4zNzY3OTg5LCAxMjU4MiwgMS42NzY0OTQ0NzkxNzkzODIzXSwgWzE2NjM4MTI4NzYuNTU0MDI3LCAxMjYwMCwgMS4xODU0OTI3NTM5ODI1NDRdLCBbMTY2MzgxMjg3Ni42NTY4Mjg5LCAxMjYwOSwgMS40OTA5NDg5MTU0ODE1Njc0XSwgWzE2NjM4MTI4NzYuODUzNDA5OCwgMTI2MjcsIDEuNDQ3Nzk4MTMyODk2NDIzM10sIFsxNjYzODEyODc2Ljk0NzYwOCwgMTI2MzYsIDEuMjcxODg2NDY3OTMzNjU0OF0sIFsxNjYzODEyODc3LjA0OTEwOTIsIDEyNjQ1LCAxLjIxMDIzOTE3MTk4MTgxMTVdLCBbMTY2MzgxMjg3Ny4xNDM0MDYyLCAxMjY1NCwgMS4yNzIzMTA0OTUzNzY1ODddLCBbMTY2MzgxMjg3Ny4yMzQxOTMzLCAxMjY2MywgMS40NTc2ODQ3NTUzMjUzMTc0XSwgWzE2NjM4MTI4NzcuMzMxNjUwNSwgMTI2NzIsIDEuNTg0ODk0NTM3OTI1NzIwMl0sIFsxNjYzODEyODc3LjQyNTY5NjYsIDEyNjgxLCAxLjIwNjUyMDE5OTc3NTY5NThdLCBbMTY2MzgxMjg3Ny45MDA1MjA4LCAxMjcyNiwgMS4xODY1ODQ3MTEwNzQ4MjldLCBbMTY2MzgxMjg3OC4xNzU5MTI2LCAxMjc1MywgMS4xMTY4MjA1NzM4MDY3NjI3XSwgWzE2NjM4MTI4NzguMjcwNDY5LCAxMjc2MiwgMS4xNDA1MzA5NDM4NzA1NDQ0XSwgWzE2NjM4MTI4NzguNDUyMzMxMywgMTI3ODAsIDEuMzMwMzE2NDI0MzY5ODEyXSwgWzE2NjM4MTI4NzguNjQ1NTU1NywgMTI3OTgsIDEuNDc3NTYyOTA0MzU3OTEwMl0sIFsxNjYzODEyODc4LjczODE5NTQsIDEyODA3LCAxLjM0MTc2MDg3Mzc5NDU1NTddLCBbMTY2MzgxMjg3OS4wMjI2MjA0LCAxMjgzNCwgMS4xMzQ2MTM2MzMxNTU4MjI4XSwgWzE2NjM4MTI4NzkuMTQzNTQzMiwgMTI4NDMsIDEuMjkzMjI5NTc5OTI1NTM3XSwgWzE2NjM4MTI4NzkuNDMxMzYxNCwgMTI4NTIsIDEuMzYzNTk3ODY5ODczMDQ2OV0sIFsxNjYzODEyODc5LjU0OTk1NjYsIDEyODYxLCAxLjMzMDY3Njc5NDA1MjEyNF0sIFsxNjYzODEyODc5Ljg0NzkzOTUsIDEyODg4LCAxLjExODc5ODAxNzUwMTgzMV0sIFsxNjYzODEyODc5Ljk0MzU5NCwgMTI4OTcsIDEuODI4MTMzNTgzMDY4ODQ3N10sIFsxNjYzODEyODgwLjA1MjM2MDUsIDEyOTA2LCAxLjQyNDQ3MjkyODA0NzE4MDJdLCBbMTY2MzgxMjg4MC4xNTMyNjMsIDEyOTE1LCAxLjE5Njk0NjM4MjUyMjU4M10sIFsxNjYzODEyODgwLjM3ODk2OTIsIDEyOTMzLCAxLjI2MTE4Mzg1NzkxNzc4NTZdLCBbMTY2MzgxMjg4MC42MTA0NzYsIDEyOTUxLCAxLjQ1NjEwNjE4NTkxMzA4Nl0sIFsxNjYzODEyODgwLjcwNTM5NzYsIDEyOTYwLCAxLjMzMDI4NDgzMzkwODA4MV0sIFsxNjYzODEyODgwLjc5NDI2MTIsIDEyOTY5LCAxLjE3OTU3OTM3NzE3NDM3NzRdLCBbMTY2MzgxMjg4MC44ODE5NTQsIDEyOTc4LCAxLjE3MTU0OTU1ODYzOTUyNjRdLCBbMTY2MzgxMjg4MS4xODQ4MDMsIDEzMDA1LCAxLjI1MjUzOTE1Nzg2NzQzMTZdLCBbMTY2MzgxMjg4MS4zODI3MDEyLCAxMzAyMywgMS4xOTAyNzM1MjMzMzA2ODg1XSwgWzE2NjM4MTI4ODEuNDcxNTgxLCAxMzAzMiwgMS4zNDc0OTg0MTY5MDA2MzQ4XSwgWzE2NjM4MTI4ODEuNTY4NzU3LCAxMzA0MSwgMS4xNzg5MzQ5MzE3NTUwNjZdLCBbMTY2MzgxMjg4MS42Njk3MDI4LCAxMzA1MCwgMS40OTUzNzc0MjEzNzkwODk0XSwgWzE2NjM4MTI4ODEuNzU3NTc2NSwgMTMwNTksIDEuMTMyNzY2MjQ2Nzk1NjU0M10sIFsxNjYzODEyODgxLjg1MDY3MSwgMTMwNjgsIDEuNTg0NzY5NDg3MzgwOTgxNF0sIFsxNjYzODEyODgxLjk0Mzg0OCwgMTMwNzcsIDEuNTc0MTU1MzMwNjU3OTU5XSwgWzE2NjM4MTI4ODIuMDQ2MTk5OCwgMTMwODYsIDEuMzAwODc0MjMzMjQ1ODQ5Nl0sIFsxNjYzODEyODgyLjE2MTY5MjEsIDEzMDk1LCAxLjczMjA3MjQ3MjU3MjMyNjddLCBbMTY2MzgxMjg4Mi4yNTcxLCAxMzEwNCwgMS41NTk3ODIyNjY2MTY4MjEzXSwgWzE2NjM4MTI4ODIuMzc1NDg4OCwgMTMxMTMsIDEuMTg1MTIyNjA5MTM4NDg4OF0sIFsxNjYzODEyODgyLjQ5NTAwOTQsIDEzMTIyLCAxLjA3NDcxNTQ5NTEwOTU1OF0sIFsxNjYzODEyODgyLjYxNDIwOCwgMTMxMzEsIDEuMTQ1ODkwMjM1OTAwODc5XSwgWzE2NjM4MTI4ODIuNzQ0MjQ1OCwgMTMxNDAsIDEuMjc2NzgyODcwMjkyNjYzNl0sIFsxNjYzODEyODgyLjg0MjkzNTMsIDEzMTQ5LCAxLjI0OTc4Njg1Mzc5MDI4MzJdLCBbMTY2MzgxMjg4Mi45NjA2NzUyLCAxMzE1OCwgMS4zNzI1MDU0MjY0MDY4NjA0XSwgWzE2NjM4MTI4ODMuMDY4MjE1OCwgMTMxNjcsIDEuMjA2MTkwMzQ3NjcxNTA4OF0sIFsxNjYzODEyODgzLjE3MTg5NzYsIDEzMTc2LCAxLjM3MjY2MTIzMjk0ODMwMzJdLCBbMTY2MzgxMjg4My4yNzUyNywgMTMxODUsIDEuMjY0OTE4OTIzMzc3OTkwN10sIFsxNjYzODEyODgzLjU4NDEzNTgsIDEzMjEyLCAxLjE5ODAwNzQ2NDQwODg3NDVdLCBbMTY2MzgxMjg4My42OTM2NDEsIDEzMjIxLCAxLjE0Mzc5NTI1MTg0NjMxMzVdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_10-14-52_17ae77f8abe2&tag=Loss%2Fvalid":{"data":"W1sxNjYzODQxNjkyLjYzMzAzNTcsIDksIDUwLjU1MTU0MDM3NDc1NTg2XSwgWzE2NjM4NDE2OTIuOTkwODM3MywgMzYsIDI5LjUyOTgyNzExNzkxOTkyMl0sIFsxNjYzODQxNjkzLjExMDE1MzcsIDQ1LCAyNi4zNDM5NzMxNTk3OTAwNF0sIFsxNjYzODQxNjkzLjgzMjg5OSwgOTksIDEwLjM2MjM0Mzc4ODE0Njk3M10sIFsxNjYzODQxNjkzLjk0MzE3ODIsIDEwOCwgOC42OTU5NzE0ODg5NTI2MzddLCBbMTY2Mzg0MTY5NC4yOTk1NDc3LCAxMzUsIDYuMDI2OTEyNjg5MjA4OTg0XSwgWzE2NjM4NDE2OTQuNDIwMTMzOCwgMTQ0LCA2LjA3NTQyNjU3ODUyMTcyODVdLCBbMTY2Mzg0MTY5NC43NjE0ODkyLCAxNzEsIDYuMzI0MTkzMDAwNzkzNDU3XSwgWzE2NjM4NDE2OTQuODc1Nzk0LCAxODAsIDYuODg1MTk2Njg1NzkxMDE2XSwgWzE2NjM4NDE2OTQuOTgwODg4MSwgMTg5LCA1LjM0OTg2NDAwNjA0MjQ4MDVdLCBbMTY2Mzg0MTY5NS4yMTg1NTE0LCAyMDcsIDYuODUxNTIwMDYxNDkyOTJdLCBbMTY2Mzg0MTY5NS4zMjI0NzQsIDIxNiwgNS41NDE3MDIyNzA1MDc4MTI1XSwgWzE2NjM4NDE2OTUuNjI4ODg3LCAyNDMsIDUuOTg0Mzg0NTM2NzQzMTY0XSwgWzE2NjM4NDE2OTUuNzI2NjMzMywgMjUyLCA1LjUyMDAxMzgwOTIwNDEwMl0sIFsxNjYzODQxNjk2LjQ0ODI3MzcsIDMwNiwgNS42ODEyNTkxNTUyNzM0Mzc1XSwgWzE2NjM4NDE2OTYuOTg5Mzc5MiwgMzMzLCA0LjY5ODA3NjI0ODE2ODk0NV0sIFsxNjYzODQxNjk3LjExODAyNTgsIDM0MiwgNS40Njc5OTM3MzYyNjcwOV0sIFsxNjYzODQxNjk3LjI1MjY2ODksIDM1MSwgNS4wMTcyNDgxNTM2ODY1MjNdLCBbMTY2Mzg0MTY5Ny4zNzE0NjE2LCAzNjAsIDUuNTgzODM4OTM5NjY2NzQ4XSwgWzE2NjM4NDE2OTcuNDg5MDE2OCwgMzY5LCA1LjA3NTIxNTMzOTY2MDY0NDVdLCBbMTY2Mzg0MTY5OC40MTE0MDY4LCA0MzIsIDQuMTgwODE3NjA0MDY0OTQxXSwgWzE2NjM4NDE2OTguNTQ4NzY4OCwgNDQxLCA0Ljg5NzEwNjY0NzQ5MTQ1NV0sIFsxNjYzODQxNjk4LjY4NDkwNzQsIDQ1MCwgNS4xMTE1Njc5NzQwOTA1NzZdLCBbMTY2Mzg0MTY5OC45MjQxMjgsIDQ2OCwgNC4xNzMwMjY1NjE3MzcwNjA1XSwgWzE2NjM4NDE2OTkuMDY4MTgzNywgNDc3LCA0LjczNTA1MzA2MjQzODk2NV0sIFsxNjYzODQxNjk5LjMxMDEwMjUsIDQ5NSwgNC4wNDk5MjI5NDMxMTUyMzRdLCBbMTY2Mzg0MTY5OS42NjM2MTU3LCA1MjIsIDQuNTA5Mzk5NDE0MDYyNV0sIFsxNjYzODQxNzAwLjAwODg5ODcsIDU0OSwgNC40MzQ1MDU5Mzk0ODM2NDNdLCBbMTY2Mzg0MTcwMC4xMTU1OTA2LCA1NTgsIDQuODc4MjAyOTE1MTkxNjVdLCBbMTY2Mzg0MTcwMC4yNDkyOTc5LCA1NjcsIDMuODUzODQ5NjQ5NDI5MzIxM10sIFsxNjYzODQxNzAwLjM2NDg3LCA1NzYsIDQuNDI5MzgwODkzNzA3Mjc1XSwgWzE2NjM4NDE3MDAuNTk0NDA0NSwgNTk0LCAzLjk3MzM2Mzg3NjM0Mjc3MzRdLCBbMTY2Mzg0MTcwMC43MjYwMDIsIDYwMywgMy42MzQzNzI3MTExODE2NDA2XSwgWzE2NjM4NDE3MDAuODUxNzU0NCwgNjEyLCAzLjQ1NjQyOTAwNDY2OTE4OTVdLCBbMTY2Mzg0MTcwMC45NjI0Mjc2LCA2MjEsIDQuNjgxNzgyNzIyNDczMTQ0NV0sIFsxNjYzODQxNzAxLjE5NzQwOSwgNjM5LCA0LjAwOTAwNjk3NzA4MTI5OV0sIFsxNjYzODQxNzAxLjMyNDU1NiwgNjQ4LCA0LjQ1OTcyMjk5NTc1ODA1N10sIFsxNjYzODQxNzAxLjk3MjQwMiwgNzAyLCAzLjU2MDk4MzQxOTQxODMzNV0sIFsxNjYzODQxNzAyLjE2OTI2NiwgNzIwLCAzLjg2NzYyMTE4MzM5NTM4NTddLCBbMTY2Mzg0MTcwMi4yNjQ2OTM1LCA3MjksIDQuMDc2OTc3NzI5Nzk3MzYzXSwgWzE2NjM4NDE3MDIuNDU5NzM1OSwgNzQ3LCAzLjQ4MTY5MjU1MjU2NjUyODNdLCBbMTY2Mzg0MTcwMi44Njg5MzM3LCA3NzQsIDMuNDkwNzIwOTg3MzE5OTQ2M10sIFsxNjYzODQxNzAzLjMxMjU4ODcsIDgxMCwgMy4yNDEwMTk0ODczODA5ODE0XSwgWzE2NjM4NDE3MDMuNDM2MDQ3OCwgODE5LCAzLjIwODA3MDI3ODE2NzcyNDZdLCBbMTY2Mzg0MTcwMy45OTA1MjgsIDg2NCwgMy43NDg3ODM4MjY4MjgwMDNdLCBbMTY2Mzg0MTcwNC4zOTQxMTY2LCA5MDAsIDIuNzk2NDYwNjI4NTA5NTIxNV0sIFsxNjYzODQxNzA0LjQ5Nzg5MTcsIDkwOSwgMy4xNjg3MzA5NzQxOTczODc3XSwgWzE2NjM4NDE3MDQuNzk4ODUxMywgOTM2LCAyLjkwMDQ2NTI1MDAxNTI1OV0sIFsxNjYzODQxNzA1LjE2MzUyOTYsIDk2MywgMy42MDU4MTg3NDg0NzQxMjFdLCBbMTY2Mzg0MTcwNS4zMDYzNTM4LCA5NzIsIDIuNjEyMjMyNjg1MDg5MTExM10sIFsxNjYzODQxNzA1LjU3NzM1MDQsIDk5MCwgMy4xMTA2NTI0NDY3NDY4MjZdLCBbMTY2Mzg0MTcwNi4xMzQwMjgyLCAxMDM1LCAyLjkwMTYzODI2OTQyNDQzODVdLCBbMTY2Mzg0MTcwNi4zMjU5MDEsIDEwNTMsIDIuNzI4NDUxNzI4ODIwODAxXSwgWzE2NjM4NDE3MDYuODEwNDA0LCAxMDk4LCAyLjkzNjY1NzE5MDMyMjg3Nl0sIFsxNjYzODQxNzA3LjQ2MTM1MiwgMTEzNCwgMi43MzEwOTgxNzUwNDg4MjhdLCBbMTY2Mzg0MTcwNy42MTg2NDgsIDExNDMsIDIuNDU3NzkwODUxNTkzMDE3Nl0sIFsxNjYzODQxNzA3Ljg3MDg4NTgsIDExNjEsIDIuNjkxOTI3OTA5ODUxMDc0XSwgWzE2NjM4NDE3MDguMTE1NDc1LCAxMTc5LCAzLjEwMDMzNjMxMzI0NzY4MDddLCBbMTY2Mzg0MTcwOC4zMzU1MzIsIDExODgsIDMuMDc5NDc2ODMzMzQzNTA2XSwgWzE2NjM4NDE3MDguNDYwMTE5MiwgMTE5NywgMi43NzM2ODY4ODU4MzM3NDAyXSwgWzE2NjM4NDE3MDguOTM5MDM4NSwgMTIzMywgMi42MjA2NjM0MDQ0NjQ3MjE3XSwgWzE2NjM4NDE3MDkuMDM1MTU0MywgMTI0MiwgMi41NjAzMjI5OTk5NTQyMjM2XSwgWzE2NjM4NDE3MDkuNjYxNDYwNCwgMTI5NiwgMi4yMTAzOTcwMDUwODExNzY4XSwgWzE2NjM4NDE3MDkuNzcxMzIzNCwgMTMwNSwgMi40MzQ4ODE5MjU1ODI4ODU3XSwgWzE2NjM4NDE3MDkuOTcwNjc4LCAxMzIzLCAyLjU1NDUzNzA1Nzg3NjU4N10sIFsxNjYzODQxNzEwLjA2MTE3NCwgMTMzMiwgMi4yMDM2NjIxNTcwNTg3MTZdLCBbMTY2Mzg0MTcxMC4zNTE1ODg3LCAxMzU5LCAyLjIwNDc5NTM2MDU2NTE4NTVdLCBbMTY2Mzg0MTcxMS4wMjg4Mzg5LCAxNDIyLCAyLjIxNTU2MDQzNjI0ODc3OTNdLCBbMTY2Mzg0MTcxMS4yMTY5MDc1LCAxNDQwLCAyLjMzNTY5MDczNjc3MDYzXSwgWzE2NjM4NDE3MTEuMzE5MjE0NiwgMTQ0OSwgMi40MDgxOTA3MjcyMzM4ODY3XSwgWzE2NjM4NDE3MTEuNDk5NjQ4MywgMTQ2NywgMi43NTk4MzUwMDQ4MDY1MTg2XSwgWzE2NjM4NDE3MTEuNjk0NDU1MSwgMTQ4NSwgMi41MDg3MTY1ODMyNTE5NTNdLCBbMTY2Mzg0MTcxMi4yODc5NDUzLCAxNTM5LCAyLjU1NTU3NzI3ODEzNzIwN10sIFsxNjYzODQxNzEyLjM4ODE1MjQsIDE1NDgsIDEuODg3MDc3MjEyMzMzNjc5Ml0sIFsxNjYzODQxNzEyLjQ5NDkxNDgsIDE1NTcsIDIuMDk4MDY5MTkwOTc5MDA0XSwgWzE2NjM4NDE3MTIuODAxNTgwNCwgMTU4NCwgMS44MjEzNzU2MDg0NDQyMTM5XSwgWzE2NjM4NDE3MTIuOTU1NTIwNiwgMTU5MywgMi4zODc0OTAyNzI1MjE5NzI3XSwgWzE2NjM4NDE3MTMuMDc5MTU5NSwgMTYwMiwgMi4yMTU0MzA3MzY1NDE3NDhdLCBbMTY2Mzg0MTcxMy4xODE2MjU2LCAxNjExLCAyLjE3Mjk0OTA3NTY5ODg1MjVdLCBbMTY2Mzg0MTcxMy4zNjk4NzcsIDE2MjksIDIuMTIwMjM1NDQzMTE1MjM0NF0sIFsxNjYzODQxNzEzLjQ2NDcwMSwgMTYzOCwgMi4zNTgwMjMxNjY2NTY0OTRdLCBbMTY2Mzg0MTcxMy43ODA0NTU2LCAxNjY1LCAyLjE3NDM0MjM5Mzg3NTEyMl0sIFsxNjYzODQxNzEzLjg3MTkxMzcsIDE2NzQsIDEuODY3MTcxNzY0MzczNzc5M10sIFsxNjYzODQxNzEzLjk3MzE4NDgsIDE2ODMsIDIuNDgwNTA0OTg5NjI0MDIzNF0sIFsxNjYzODQxNzE0LjI1NDY0MjIsIDE3MTAsIDEuODE5NzAzNjk4MTU4MjY0Ml0sIFsxNjYzODQxNzE0LjM2MDE0MiwgMTcxOSwgMi41NTU0Mjk5MzU0NTUzMjIzXSwgWzE2NjM4NDE3MTQuNDU3OTUsIDE3MjgsIDIuMDk3MTQ0ODQyMTQ3ODI3XSwgWzE2NjM4NDE3MTQuNTUwODA3NywgMTczNywgMS45NzM5OTMzMDEzOTE2MDE2XSwgWzE2NjM4NDE3MTQuOTc1NDg2OCwgMTc2NCwgMi4yMzMwMzE5ODgxNDM5MjFdLCBbMTY2Mzg0MTcxNS4zNTE4NDEyLCAxODAwLCAxLjg2MjM2NTEyNjYwOTgwMjJdLCBbMTY2Mzg0MTcxNS40NTAzNDM2LCAxODA5LCAyLjM1MDQ1MzM3Njc3MDAxOTVdLCBbMTY2Mzg0MTcxNS42ODk1MzEzLCAxODI3LCAyLjEwMTI4NTQ1NzYxMTA4NF0sIFsxNjYzODQxNzE2LjA1MjM3MDgsIDE4MzYsIDIuMzY0ODYxMDExNTA1MTI3XSwgWzE2NjM4NDE3MTYuMTU3MDI1NiwgMTg0NSwgMi42NjAwNzk3MTc2MzYxMDg0XSwgWzE2NjM4NDE3MTYuMjQ3Mzg1NSwgMTg1NCwgMi4wMjE4MjkxMjgyNjUzODFdLCBbMTY2Mzg0MTcxNi40NTA2MTc4LCAxODcyLCAyLjMyNDQ3MjkwNDIwNTMyMjNdLCBbMTY2Mzg0MTcxNi42ODQyNzYzLCAxODkwLCAxLjgxMzcxNzg0MjEwMjA1MDhdLCBbMTY2Mzg0MTcxNi44ODMwNjYyLCAxOTA4LCAxLjk5ODIwNjAxOTQwMTU1MDNdLCBbMTY2Mzg0MTcxNy4wODE0NzIyLCAxOTI2LCAxLjg5ODQ2Mzg0NTI1Mjk5MDddLCBbMTY2Mzg0MTcxNy4yODk4NTY3LCAxOTQ0LCAyLjA2Mjk1NDE4NzM5MzE4ODVdLCBbMTY2Mzg0MTcxNy4zODUzOTEsIDE5NTMsIDIuMTcwNzM3OTgxNzk2MjY0Nl0sIFsxNjYzODQxNzE3LjYwNDQ3MywgMTk3MSwgMi43NTUwMTMyMjc0NjI3Njg2XSwgWzE2NjM4NDE3MTcuNzQzNzU4LCAxOTgwLCAyLjMxMzI3NTgxNDA1NjM5NjVdLCBbMTY2Mzg0MTcxNy44NjA2NzU4LCAxOTg5LCAyLjA1NzY4OTkwNTE2NjYyNl0sIFsxNjYzODQxNzE3Ljk4MDM5MDUsIDE5OTgsIDEuODkwNDg2NDc4ODA1NTQyXSwgWzE2NjM4NDE3MTguMTQxMjc2NCwgMjAwNywgMi4xNTI0MjA5OTc2MTk2MjldLCBbMTY2Mzg0MTcxOC4zNjU1Nzc3LCAyMDI1LCAxLjk3NzYxMjI1NzAwMzc4NDJdLCBbMTY2Mzg0MTcxOC40Nzk5NTQsIDIwMzQsIDIuMzcwMzkyMDg0MTIxNzA0XSwgWzE2NjM4NDE3MTguOTIxMjUzLCAyMDcwLCAyLjE1MTc1NDM3OTI3MjQ2MV0sIFsxNjYzODQxNzE5LjYwMzAyLCAyMTI0LCAyLjA5MjkzMTAzMjE4MDc4Nl0sIFsxNjYzODQxNzE5Ljg0NzU2NzYsIDIxNDIsIDEuODU3NjcyMDk1Mjk4NzY3XSwgWzE2NjM4NDE3MTkuOTY3OTAxMiwgMjE1MSwgMi4xMDUzMjkyNzUxMzEyMjU2XSwgWzE2NjM4NDE3MjAuMDg4NDk4NCwgMjE2MCwgMi4xNzI0OTU4NDE5Nzk5ODA1XSwgWzE2NjM4NDE3MjAuMzE2MDAxNywgMjE3OCwgMi4wNzgwMDcyMjEyMjE5MjRdLCBbMTY2Mzg0MTcyMC40MjQzMDUyLCAyMTg3LCAxLjg1MTg4NjAzNDAxMTg0MDhdLCBbMTY2Mzg0MTcyMC42NDY0OTk5LCAyMjA1LCAxLjkxMTIzOTUwNDgxNDE0OF0sIFsxNjYzODQxNzIwLjc0MjYzOSwgMjIxNCwgMi4zMTEwNDIzMDg4MDczNzNdLCBbMTY2Mzg0MTcyMC44MzY5MDQsIDIyMjMsIDEuOTk4MDE1NDAzNzQ3NTU4Nl0sIFsxNjYzODQxNzIwLjkzOTk4ODQsIDIyMzIsIDEuOTk2OTc5OTUxODU4NTIwNV0sIFsxNjYzODQxNzIxLjQxNjcxMSwgMjI3NywgMi41MTI5NDQ0NTk5MTUxNjFdLCBbMTY2Mzg0MTcyMS41MTExMzgyLCAyMjg2LCAxLjkyNDg0MjIzODQyNjIwODVdLCBbMTY2Mzg0MTcyMS42MDMzODM4LCAyMjk1LCAyLjM2MDQ4ODg5MTYwMTU2MjVdLCBbMTY2Mzg0MTcyMS44OTYzNjU0LCAyMzIyLCAyLjA4NjczMjE0OTEyNDE0NTVdLCBbMTY2Mzg0MTcyMi4wMDAyNjg1LCAyMzMxLCAyLjAwMzEyODUyODU5NDk3MDddLCBbMTY2Mzg0MTcyMi4wOTcyMTgzLCAyMzQwLCAxLjczNTI5NjAxMDk3MTA2OTNdLCBbMTY2Mzg0MTcyMi4xOTE2MDcsIDIzNDksIDEuODkwODY5NjE3NDYyMTU4Ml0sIFsxNjYzODQxNzIyLjM4MzI0ODYsIDIzNjcsIDEuOTUxNTc5MzMyMzUxNjg0Nl0sIFsxNjYzODQxNzIzLjE3ODA4NTgsIDI0MzksIDEuODM3ODQxMDMzOTM1NTQ2OV0sIFsxNjYzODQxNzIzLjI2NzQ4MzIsIDI0NDgsIDEuOTU3NTIxOTE1NDM1NzkxXSwgWzE2NjM4NDE3MjMuNTUzNjczLCAyNDc1LCAyLjMzNTQ5Nzg1NjE0MDEzNjddLCBbMTY2Mzg0MTcyMy43NTcyOTg1LCAyNDkzLCAxLjg5Mzc1NjM4OTYxNzkyXSwgWzE2NjM4NDE3MjMuOTM1ODY1NiwgMjUxMSwgMi4wMTg3MTQ5MDQ3ODUxNTYyXSwgWzE2NjM4NDE3MjQuMTI2NzI0LCAyNTI5LCAyLjE1Nzk3OTAxMTUzNTY0NDVdLCBbMTY2Mzg0MTcyNC4zNDI5NTU2LCAyNTQ3LCAxLjkxNTc5NDEzNDE0MDAxNDZdLCBbMTY2Mzg0MTcyNC40NjA1ODk0LCAyNTU2LCAyLjAxMjcyNTM1MzI0MDk2N10sIFsxNjYzODQxNzI0Ljg4NTA5NzcsIDI1NzQsIDEuODA4MzI0Njk0NjMzNDgzOV0sIFsxNjYzODQxNzI1LjA3Nzc0MSwgMjU5MiwgMS44OTMyMTE2MDMxNjQ2NzI5XSwgWzE2NjM4NDE3MjUuMTc0MDA4LCAyNjAxLCAxLjg4MzM4NzA4ODc3NTYzNDhdLCBbMTY2Mzg0MTcyNS4zNjU0NjIsIDI2MTksIDIuMDI4ODY2MDUyNjI3NTYzNV0sIFsxNjYzODQxNzI1Ljg2MzUyNTIsIDI2NjQsIDEuODkzNDMyMTQwMzUwMzQxOF0sIFsxNjYzODQxNzI1Ljk1MTQ1NjMsIDI2NzMsIDEuNzQ5MzA3MDM2Mzk5ODQxM10sIFsxNjYzODQxNzI2LjA1MTYzMzgsIDI2ODIsIDEuODY1OTY3NjMxMzQwMDI2OV0sIFsxNjYzODQxNzI2LjE1MDcwMDYsIDI2OTEsIDIuMTIzMjU1NDkxMjU2NzE0XSwgWzE2NjM4NDE3MjYuOTY2MTg3LCAyNzYzLCAyLjAwMjQ0OTk4OTMxODg0NzddLCBbMTY2Mzg0MTcyNy4xNTE2ODUyLCAyNzgxLCAxLjcxOTIxMjY1MTI1Mjc0NjZdLCBbMTY2Mzg0MTcyNy4yNTI0MjQsIDI3OTAsIDEuNjc3OTE5NjI2MjM1OTYyXSwgWzE2NjM4NDE3MjcuNjA5NSwgMjgxNywgMS41NzAyNjg4Njk0MDAwMjQ0XSwgWzE2NjM4NDE3MjcuNzYzNzY4NywgMjgyNiwgMS43MTU5MDk0ODEwNDg1ODRdLCBbMTY2Mzg0MTcyOC4yMDI3MzA3LCAyODUzLCAxLjc4MDM0OTczMTQ0NTMxMjVdLCBbMTY2Mzg0MTcyOC40OTE1MTEzLCAyODcxLCAxLjcxMzMxNzk5MDMwMzAzOTZdLCBbMTY2Mzg0MTcyOC41OTQxMjU1LCAyODgwLCAyLjI4OTk0NTYwMjQxNjk5Ml0sIFsxNjYzODQxNzI4Ljk1MDIzOTIsIDI5MDcsIDIuMzY5MDEyMzU1ODA0NDQzNF0sIFsxNjYzODQxNzI5LjE1MzU1MiwgMjkyNSwgMS41NjA0OTQ2NjEzMzExNzY4XSwgWzE2NjM4NDE3MjkuNjM0MzkxLCAyOTcwLCAxLjczOTI3NTY5Mzg5MzQzMjZdLCBbMTY2Mzg0MTcyOS43NDM5MTgsIDI5NzksIDEuNjQwMTM0MDk2MTQ1NjI5OV0sIFsxNjYzODQxNzI5LjgzNDY1MiwgMjk4OCwgMS42OTMzMTgxMjg1ODU4MTU0XSwgWzE2NjM4NDE3MjkuOTI1NzcxNSwgMjk5NywgMS45MzQ0OTM1NDE3MTc1MjkzXSwgWzE2NjM4NDE3MzAuNDE1Nzc0LCAzMDQyLCAxLjk2ODI1NDgwNDYxMTIwNl0sIFsxNjYzODQxNzMwLjUyMTQ3OTYsIDMwNTEsIDEuODE0NzE1ODYyMjc0MTddLCBbMTY2Mzg0MTczMC43MzAxOTQ4LCAzMDY5LCAxLjcyNjk2MTEzNTg2NDI1NzhdLCBbMTY2Mzg0MTczMS4wNjI2NTQsIDMwOTYsIDEuNjUxMzg5ODM3MjY1MDE0Nl0sIFsxNjYzODQxNzMxLjE2NzcwMzQsIDMxMDUsIDEuNzgxMjgxNzA5NjcxMDIwNV0sIFsxNjYzODQxNzMxLjI4MjM3NDYsIDMxMTQsIDEuNzY4NTI3ODY1NDA5ODUxXSwgWzE2NjM4NDE3MzEuMzcyMjI1LCAzMTIzLCAyLjM1NjU4MzgzMzY5NDQ1OF0sIFsxNjYzODQxNzMxLjY0MDEwNTIsIDMxNDEsIDIuMTU5ODcyMDU1MDUzNzExXSwgWzE2NjM4NDE3MzEuODY5NDUyNSwgMzE1OSwgMS43OTE2NTk5NTEyMTAwMjJdLCBbMTY2Mzg0MTczMi4wNzAyODM0LCAzMTc3LCAxLjUyMjg2Mjc5MjAxNTA3NTddLCBbMTY2Mzg0MTczMi4xNzc3MDg0LCAzMTg2LCAxLjU5MTYzMzY3NzQ4MjYwNV0sIFsxNjYzODQxNzMyLjI4MzYwMDYsIDMxOTUsIDEuODU4Njg3MTYyMzk5MjkyXSwgWzE2NjM4NDE3MzIuOTc0MDIzLCAzMjMxLCAyLjI2MDI4NDY2MjI0NjcwNF0sIFsxNjYzODQxNzMzLjIzNjE4NTgsIDMyNDksIDEuNjYwNzgxMTQ1MDk1ODI1Ml0sIFsxNjYzODQxNzMzLjQ3MjQ5MjUsIDMyNjcsIDIuMjU0MzkzMTAwNzM4NTI1NF0sIFsxNjYzODQxNzMzLjU5MTUzOTksIDMyNzYsIDIuMjExMTQ2ODMxNTEyNDUxXSwgWzE2NjM4NDE3MzMuNzA0NTUxLCAzMjg1LCAxLjg3NzQ4MDM4NzY4NzY4M10sIFsxNjYzODQxNzMzLjgyMzQ2NzMsIDMyOTQsIDIuMTg0Nzg5NjU3NTkyNzczNF0sIFsxNjYzODQxNzMzLjk0MTY5NzQsIDMzMDMsIDEuODcxMDYwMjUyMTg5NjM2Ml0sIFsxNjYzODQxNzM0LjA3MjQxNzUsIDMzMTIsIDEuNTY0NDc5NzA4NjcxNTY5OF0sIFsxNjYzODQxNzM0LjE5MDE0OTMsIDMzMjEsIDEuNjk3MTI1NzkyNTAzMzU3XSwgWzE2NjM4NDE3MzQuODk2NDYxNywgMzM3NSwgMS42NjI1NzU4NDA5NTAwMTIyXSwgWzE2NjM4NDE3MzUuMjM5MjI1NiwgMzQwMiwgMS44NzQzMDI3NDQ4NjU0MTc1XSwgWzE2NjM4NDE3MzUuMzMzNzc2NywgMzQxMSwgMS41OTE4NTM4NTcwNDA0MDUzXSwgWzE2NjM4NDE3MzYuMTg5MTE2LCAzNDgzLCAxLjU1NTkzNTE0NDQyNDQzODVdLCBbMTY2Mzg0MTczNi42MTcxODEzLCAzNTE5LCAxLjc1MDM3NjIyNDUxNzgyMjNdLCBbMTY2Mzg0MTczNi43MDk5MTIzLCAzNTI4LCAxLjgwMTkyNTY1OTE3OTY4NzVdLCBbMTY2Mzg0MTczNi44MTM5NjQ0LCAzNTM3LCAxLjQ1NjM2NzYxMTg4NTA3MDhdLCBbMTY2Mzg0MTczNi45MTQ2MTYzLCAzNTQ2LCAxLjU2MTAyODQ4MDUyOTc4NTJdLCBbMTY2Mzg0MTczNy4wMzUyMDU0LCAzNTU1LCAxLjg5MTEwOTIyODEzNDE1NTNdLCBbMTY2Mzg0MTczNy4xMzkxODEsIDM1NjQsIDEuNTY3Njc3MDIxMDI2NjExM10sIFsxNjYzODQxNzM3LjM2MTksIDM1ODIsIDEuODA1MTU0OTE5NjI0MzI4Nl0sIFsxNjYzODQxNzM3LjQ5MzQyMDYsIDM1OTEsIDEuNjQzNzQ3OTI1NzU4MzYxOF0sIFsxNjYzODQxNzM3LjYzMzg5NzMsIDM2MDAsIDEuNjQ4MDc3MzY4NzM2MjY3XSwgWzE2NjM4NDE3MzcuODM0MTQ4MiwgMzYxOCwgMi4xMjkxMTM0MzU3NDUyMzkzXSwgWzE2NjM4NDE3MzcuOTQ2NDkyLCAzNjI3LCAxLjU4MDgwNTc3ODUwMzQxOF0sIFsxNjYzODQxNzM4LjE1NTg4NDcsIDM2NDUsIDEuNzY5NjA2ODI4Njg5NTc1Ml0sIFsxNjYzODQxNzM4LjYxODQxOSwgMzY4MSwgMS40MjU2OTEwMDg1Njc4MV0sIFsxNjYzODQxNzM4Ljc1NTE3NzMsIDM2OTAsIDEuNDc1ODkxMzUxNjk5ODI5XSwgWzE2NjM4NDE3MzkuMDU1ODU0LCAzNzE3LCAxLjkyMjgxOTg1MjgyODk3OTVdLCBbMTY2Mzg0MTczOS4xNTQyOTY2LCAzNzI2LCAxLjY2OTg1MzQ0ODg2Nzc5NzldLCBbMTY2Mzg0MTczOS4yMzgyNzA4LCAzNzM1LCAxLjkxNTQ4OTc5MjgyMzc5MTVdLCBbMTY2Mzg0MTczOS4zMjk2NzA0LCAzNzQ0LCAxLjUyOTM2NDgyNDI5NTA0NF0sIFsxNjYzODQxNzM5LjY5NjEyMzgsIDM3NzEsIDEuOTIyNjk1Mzk4MzMwNjg4NV0sIFsxNjYzODQxNzQwLjA3MTM5MDIsIDM3OTgsIDEuNDc1NTIzMjMzNDEzNjk2M10sIFsxNjYzODQxNzQwLjE3NTQ1OCwgMzgwNywgMS42Nzc3NDkwMzc3NDI2MTQ3XSwgWzE2NjM4NDE3NDAuNDc4MjMyMSwgMzgzNCwgMS41NDI1NDczNDUxNjE0MzhdLCBbMTY2Mzg0MTc0MC41ODAxMzQyLCAzODQzLCAxLjgwNDk1NDQwOTU5OTMwNDJdLCBbMTY2Mzg0MTc0MS4wMDE2OSwgMzg3OSwgMS42NzU0OTM0Nzg3NzUwMjQ0XSwgWzE2NjM4NDE3NDEuMTA0MTEzLCAzODg4LCAxLjk3MTUwODI2NDU0MTYyNl0sIFsxNjYzODQxNzQxLjQwNDg2NCwgMzkxNSwgMS44NjAyMDMyNjYxNDM3OTg4XSwgWzE2NjM4NDE3NDEuNTAzNjkzLCAzOTI0LCAxLjU5MTM3NjE4NTQxNzE3NTNdLCBbMTY2Mzg0MTc0MS42MDI4MjIzLCAzOTMzLCAxLjU0MjUwNzc2NzY3NzMwNzFdLCBbMTY2Mzg0MTc0MS43ODM4ODQzLCAzOTQyLCAxLjU3OTA2MTk4NTAxNTg2OTFdLCBbMTY2Mzg0MTc0MS45NTE2MDUsIDM5NTEsIDEuNDk1MjEzNzQ3MDI0NTM2MV0sIFsxNjYzODQxNzQyLjA3NDg2NDksIDM5NjAsIDEuNTQxNDM1NTk5MzI3MDg3NF0sIFsxNjYzODQxNzQyLjIzODkyNzEsIDM5NjksIDEuNTIxNzk3ODk1NDMxNTE4Nl0sIFsxNjYzODQxNzQyLjU1MjA0MywgMzk3OCwgMS40NDY4MjEyMTI3Njg1NTQ3XSwgWzE2NjM4NDE3NDIuNzczNzQyNCwgMzk5NiwgMS42NjgzMzg2NTY0MjU0NzZdLCBbMTY2Mzg0MTc0Mi44Njk4NCwgNDAwNSwgMS4zODQ0NzM5MTk4Njg0NjkyXSwgWzE2NjM4NDE3NDIuOTc2NjQwMiwgNDAxNCwgMS41NTk2ODc2MTQ0NDA5MThdLCBbMTY2Mzg0MTc0My4xMjI1OTYsIDQwMjMsIDEuNjM5MDk2MTQwODYxNTExMl0sIFsxNjYzODQxNzQzLjU0MDE0NCwgNDA1OSwgMS41NDQ0NzE4NTk5MzE5NDU4XSwgWzE2NjM4NDE3NDMuNjc1MTYzLCA0MDY4LCAxLjM3MzA0MTUxMDU4MTk3MDJdLCBbMTY2Mzg0MTc0My43OTUwMzI1LCA0MDc3LCAxLjU5MjQ2MDc1MTUzMzUwODNdLCBbMTY2Mzg0MTc0My44OTEzNjA1LCA0MDg2LCAxLjg1NjA2ODczMDM1NDMwOV0sIFsxNjYzODQxNzQ0LjAzMDQ0MzQsIDQwOTUsIDEuNTgyOTkwNTI3MTUzMDE1MV0sIFsxNjYzODQxNzQ0LjI5MDczMDUsIDQxMTMsIDEuNDc4ODU3Mjc4ODIzODUyNV0sIFsxNjYzODQxNzQ0LjQ5NzY4MzUsIDQxMzEsIDIuMTAwNzcxNjY1NTczMTJdLCBbMTY2Mzg0MTc0NC43NDU1NjA2LCA0MTQ5LCAxLjQyNDAwMzYwMTA3NDIxODhdLCBbMTY2Mzg0MTc0NC44NTI1NzA4LCA0MTU4LCAxLjY2ODIwMDg1MDQ4Njc1NTRdLCBbMTY2Mzg0MTc0NS4xNTY4NDM0LCA0MTg1LCAxLjUzMzQ3MDc0OTg1NTA0MTVdLCBbMTY2Mzg0MTc0NS4yNTkwMjQsIDQxOTQsIDEuNjM1MDg2NDE3MTk4MTgxMl0sIFsxNjYzODQxNzQ1LjM1MzU3NTIsIDQyMDMsIDEuNDE3ODgzODcyOTg1ODM5OF0sIFsxNjYzODQxNzQ1LjU1MDAxODgsIDQyMjEsIDEuNzk0NjAzOTQzODI0NzY4XSwgWzE2NjM4NDE3NDUuNzQzMjM1NiwgNDIzOSwgMS40Mzc1MjI2NDk3NjUwMTQ2XSwgWzE2NjM4NDE3NDYuMTQ5MzI5NywgNDI3NSwgMS42MzI4MDMyMDE2NzU0MTVdLCBbMTY2Mzg0MTc0Ni4yNDcyNDg2LCA0Mjg0LCAxLjQ5NTA5MDYwMzgyODQzMDJdLCBbMTY2Mzg0MTc0Ni41MzUxNDAzLCA0MzExLCAxLjU1Mjc2NTYwNzgzMzg2MjNdLCBbMTY2Mzg0MTc0Ni42Mzc5OTYyLCA0MzIwLCAxLjQzMDE0MTQ0ODk3NDYwOTRdLCBbMTY2Mzg0MTc0Ni43NDMxNzY3LCA0MzI5LCAxLjUwODc2OTE1NDU0ODY0NV0sIFsxNjYzODQxNzQ2LjgzNzU4MywgNDMzOCwgMS4zMDk4NzYzMjI3NDYyNzY5XSwgWzE2NjM4NDE3NDYuOTQ3MjQyLCA0MzQ3LCAxLjU0NjM1NDA1NTQwNDY2M10sIFsxNjYzODQxNzQ3LjA3MzQ4NjYsIDQzNTYsIDEuNDcyNzkzNTc5MTAxNTYyNV0sIFsxNjYzODQxNzQ3LjIwNDY2MDcsIDQzNjUsIDEuNDI0NTY5NjA2NzgxMDA1OV0sIFsxNjYzODQxNzQ3LjQ0NDExMzUsIDQzODMsIDEuNjQzMDgxNjY1MDM5MDYyNV0sIFsxNjYzODQxNzQ3LjU3Njg2MjgsIDQzOTIsIDEuODc0MzkwMTI1Mjc0NjU4Ml0sIFsxNjYzODQxNzQ3LjcxNDU0ODYsIDQ0MDEsIDEuNDg1ODM2ODYzNTE3NzYxMl0sIFsxNjYzODQxNzQ3LjgxNDkzOTcsIDQ0MTAsIDEuNjc5Mzg3MjExNzk5NjIxNl0sIFsxNjYzODQxNzQ4LjAzNDYyMDgsIDQ0MjgsIDEuNzAxMDE5Mjg3MTA5Mzc1XSwgWzE2NjM4NDE3NDguMzQ1MDMyNywgNDQ1NSwgMS40MTAyMDYzMTc5MDE2MTEzXSwgWzE2NjM4NDE3NDguODE1MzE4LCA0NDkxLCAxLjU3NjM2MzQ0NDMyODMwOF0sIFsxNjYzODQxNzQ5LjE3OTkyNCwgNDUxOCwgMS42NDMyNjc5ODkxNTg2MzA0XSwgWzE2NjM4NDE3NDkuMjg5MzI1NSwgNDUyNywgMi4wMjI4Njk1ODY5NDQ1OF0sIFsxNjYzODQxNzQ5LjM4MDE2NjMsIDQ1MzYsIDEuNDI4NjgxNzMxMjI0MDZdLCBbMTY2Mzg0MTc0OS42Nzc4MTgsIDQ1NjMsIDEuNDE2ODEzOTY5NjEyMTIxNl0sIFsxNjYzODQxNzQ5LjkxMjM4ODgsIDQ1ODEsIDEuNTY4MzE0NTUyMzA3MTI5XSwgWzE2NjM4NDE3NTAuMDMzODgyNiwgNDU5MCwgMS44NjMzMjUzNTc0MzcxMzM4XSwgWzE2NjM4NDE3NTAuMTM1NzU4LCA0NTk5LCAxLjQ1MzU1ODIwNjU1ODIyNzVdLCBbMTY2Mzg0MTc1MC4yMjcxMTQyLCA0NjA4LCAxLjQ0MTY4MTk4MTA4NjczMV0sIFsxNjYzODQxNzUwLjMxNzk3MDUsIDQ2MTcsIDIuMDA5MjE1MzU0OTE5NDMzNl0sIFsxNjYzODQxNzUwLjQxMjQ4MjcsIDQ2MjYsIDEuNDM0OTIxNzQxNDg1NTk1N10sIFsxNjYzODQxNzUwLjUxMTcwMDIsIDQ2MzUsIDEuNDM1MjA3NzI0NTcxMjI4XSwgWzE2NjM4NDE3NTAuODYyNTc0NiwgNDY2MiwgMS44MzUwMzQxMzIwMDM3ODQyXSwgWzE2NjM4NDE3NTAuOTg3MTAwMSwgNDY3MSwgMS41NDM1OTk4NDM5Nzg4ODE4XSwgWzE2NjM4NDE3NTEuMTE3NjMsIDQ2ODAsIDEuNDk1OTgxMjE2NDMwNjY0XSwgWzE2NjM4NDE3NTEuMjMxMDY4NCwgNDY4OSwgMi4wNjI2MDcyODgzNjA1OTU3XSwgWzE2NjM4NDE3NTEuNTI4MDE0MiwgNDcxNiwgMS42MjAzNzAzODgwMzEwMDU5XSwgWzE2NjM4NDE3NTIuNDI5MDI3NiwgNDc3OSwgMS4zNDM3MzIxMTg2MDY1Njc0XSwgWzE2NjM4NDE3NTIuNzMyMDQ1MiwgNDgwNiwgMS44MDU3NzY0NzY4NjAwNDY0XSwgWzE2NjM4NDE3NTIuODIyNjg1NSwgNDgxNSwgMS41NzYxNTU2NjI1MzY2MjFdLCBbMTY2Mzg0MTc1My4wNjk1NTk4LCA0ODMzLCAxLjQxNjg5ODM2OTc4OTEyMzVdLCBbMTY2Mzg0MTc1My4yMTI0NzEyLCA0ODQyLCAxLjM0ODAwNzY3ODk4NTU5NTddLCBbMTY2Mzg0MTc1My4zMzMzMjU2LCA0ODUxLCAxLjY4MDI4NTMzNDU4NzA5NzJdLCBbMTY2Mzg0MTc1My40NDU0Mjg0LCA0ODYwLCAxLjQyMzYwNzk0NTQ0MjE5OTddLCBbMTY2Mzg0MTc1My41NzA2NDU2LCA0ODY5LCAxLjU5MTQ3ODcwNTQwNjE4OV0sIFsxNjYzODQxNzUzLjgxMDI1OCwgNDg4NywgMS43NTc1MDEwMDYxMjY0MDM4XSwgWzE2NjM4NDE3NTMuOTIwNDk5NiwgNDg5NiwgMS40MzUzODg5MjI2OTEzNDUyXSwgWzE2NjM4NDE3NTQuMDMwNDQ5NiwgNDkwNSwgMS4yNTUwNzI1OTM2ODg5NjQ4XSwgWzE2NjM4NDE3NTQuMjY2MzkzMiwgNDkyMywgMS4yOTk3NjU5NDQ0ODA4OTZdLCBbMTY2Mzg0MTc1NC4zNjc4Nzc3LCA0OTMyLCAxLjQxOTcxOTQ1NzYyNjM0MjhdLCBbMTY2Mzg0MTc1NC42OTg2OTYxLCA0OTU5LCAxLjY0NTM2MDgyNzQ0NTk4MzldLCBbMTY2Mzg0MTc1NC45MTI2OTc4LCA0OTc3LCAxLjY0ODQ5MTk3ODY0NTMyNDddLCBbMTY2Mzg0MTc1NS4xODkwNjk3LCA0OTk1LCAxLjMyMDg0MTQzMTYxNzczNjhdLCBbMTY2Mzg0MTc1NS4yOTIxOTc3LCA1MDA0LCAxLjQ4Mjk1Njc2NzA4MjIxNDRdLCBbMTY2Mzg0MTc1NS4zOTg4OTg4LCA1MDEzLCAxLjQ2MTQ0MTUxNjg3NjIyMDddLCBbMTY2Mzg0MTc1Ni4wNTQzNjc1LCA1MDY3LCAxLjU2NjE2NTQ0NzIzNTEwNzRdLCBbMTY2Mzg0MTc1Ni4xNTI4MjEsIDUwNzYsIDEuNDgyOTI4Mjc2MDYyMDExN10sIFsxNjYzODQxNzU2LjI0NzMyMDIsIDUwODUsIDEuNTExMzExNzY5NDg1NDczNl0sIFsxNjYzODQxNzU2LjY5MTYwMDMsIDUxMjEsIDEuNjAwNTk4MjE2MDU2ODIzN10sIFsxNjYzODQxNzU3LjA2MTYzLCA1MTQ4LCAxLjI3Nzg0MDg1MjczNzQyNjhdLCBbMTY2Mzg0MTc1Ny4yOTg1OCwgNTE2NiwgMS42NTM4MTE1NzM5ODIyMzg4XSwgWzE2NjM4NDE3NTcuNTkzMzU2MSwgNTE5MywgMS41NTAxMDQyNjA0NDQ2NDExXSwgWzE2NjM4NDE3NTguMDIzODUxMiwgNTIyOSwgMS4yNzQ1NjY2NTAzOTA2MjVdLCBbMTY2Mzg0MTc1OC40MjExMDA2LCA1MjY1LCAxLjI2MjA1MjUzNjAxMDc0MjJdLCBbMTY2Mzg0MTc1OC41NDQyMDk3LCA1Mjc0LCAxLjUxNjI0ODk0MTQyMTUwODhdLCBbMTY2Mzg0MTc1OC42NjY1NDAxLCA1MjgzLCAxLjQ5NjU2MTUyNzI1MjE5NzNdLCBbMTY2Mzg0MTc1OC44Nzk1Nzc5LCA1MzAxLCAxLjM3MTIzMDEyNTQyNzI0Nl0sIFsxNjYzODQxNzU5LjA3Nzk5OTYsIDUzMTksIDEuMjk2MjczNDY5OTI0OTI2OF0sIFsxNjYzODQxNzU5LjE3MzU4OTUsIDUzMjgsIDEuNDQ0OTI0MTE2MTM0NjQzNl0sIFsxNjYzODQxNzU5LjI3MjgwMDcsIDUzMzcsIDEuMzM5NjE4NDQ0NDQyNzQ5XSwgWzE2NjM4NDE3NTkuNDgwMjEyMiwgNTM1NSwgMS41MzQ3MDUwNDI4MzkwNTAzXSwgWzE2NjM4NDE3NTkuNjcyMDE5NSwgNTM3MywgMi4yODU1MjQxMjk4Njc1NTM3XSwgWzE2NjM4NDE3NTkuNzYzNDExOCwgNTM4MiwgMS40NTM2OTI5MTMwNTU0Ml0sIFsxNjYzODQxNzU5Ljg2NTg4MzQsIDUzOTEsIDEuMjk2ODczMDkyNjUxMzY3Ml0sIFsxNjYzODQxNzU5Ljk2NzY1NjYsIDU0MDAsIDEuNDg3MjYwMTAzMjI1NzA4XSwgWzE2NjM4NDE3NjAuMTUwMDQ5NCwgNTQxOCwgMS40MzgxNjg1MjU2OTU4MDA4XSwgWzE2NjM4NDE3NjAuMjQzNTAzNiwgNTQyNywgMS43ODc5NjQ5NDAwNzExMDZdLCBbMTY2Mzg0MTc2MC4zMjg1NjI3LCA1NDM2LCAxLjI1MTE5NDU5NjI5MDU4ODRdLCBbMTY2Mzg0MTc2MC41MTk3NTczLCA1NDU0LCAxLjI3ODkxMTgyODk5NDc1MV0sIFsxNjYzODQxNzYxLjA4MTc2NzgsIDU0ODEsIDEuMjMzMTQwMjMwMTc4ODMzXSwgWzE2NjM4NDE3NjEuMjc1NDE2NiwgNTQ5OSwgMS41NTcwNDY3NzEwNDk0OTk1XSwgWzE2NjM4NDE3NjEuNTYyMjA3NywgNTUyNiwgMS42MjI2MTY0MTAyNTU0MzIxXSwgWzE2NjM4NDE3NjEuNjY2MTE1MywgNTUzNSwgMS4zNzA4NzQyODU2OTc5MzddLCBbMTY2Mzg0MTc2MS44NTY5NzU2LCA1NTUzLCAxLjU4NzM0MTY2NjIyMTYxODddLCBbMTY2Mzg0MTc2Mi4wNTQwNjEyLCA1NTcxLCAxLjYxODMwODc4MjU3NzUxNDZdLCBbMTY2Mzg0MTc2Mi4yNDYzMzEyLCA1NTg5LCAxLjU3MDQyMDAyNjc3OTE3NDhdLCBbMTY2Mzg0MTc2Mi40MzQ2OTQ4LCA1NjA3LCAxLjgyMjQzNzE2NzE2NzY2MzZdLCBbMTY2Mzg0MTc2Mi41NDA0NzI1LCA1NjE2LCAxLjUxNjUyNDkxMDkyNjgxODhdLCBbMTY2Mzg0MTc2Mi44MTk1MjQ1LCA1NjQzLCAxLjMxNjIwNjY5MzY0OTI5Ml0sIFsxNjYzODQxNzYzLjAwOTYwNzgsIDU2NjEsIDEuMjI0NTc3Nzg0NTM4MjY5XSwgWzE2NjM4NDE3NjMuMTExMDcyMywgNTY3MCwgMS4zMzk4NDU4OTU3NjcyMTJdLCBbMTY2Mzg0MTc2My41ODExOTc3LCA1NzA2LCAxLjM5ODM3MDk4MTIxNjQzMDddLCBbMTY2Mzg0MTc2NC4xMTg2OTY3LCA1NzQyLCAxLjIwMzA5OTYwODQyMTMyNTddLCBbMTY2Mzg0MTc2NC40ODgzNDI4LCA1NzY5LCAxLjMxMTgzNTI4OTAwMTQ2NDhdLCBbMTY2Mzg0MTc2NC42MDU1MjU1LCA1Nzc4LCAxLjM5NDYyODc2MzE5ODg1MjVdLCBbMTY2Mzg0MTc2NC43MTg4MTM3LCA1Nzg3LCAxLjM1NjQ3MjYxMTQyNzMwNzFdLCBbMTY2Mzg0MTc2NC44MzA4MjQ5LCA1Nzk2LCAxLjYyMTI2OTgyMjEyMDY2NjVdLCBbMTY2Mzg0MTc2NC45NDMzNDMyLCA1ODA1LCAxLjMxODY5MTEzNDQ1MjgxOThdLCBbMTY2Mzg0MTc2NS4wNjE4NzQ0LCA1ODE0LCAxLjUyNTU3MTcwMzkxMDgyNzZdLCBbMTY2Mzg0MTc2NS40ODc3MjUzLCA1ODUwLCAxLjY0OTgxMTYyNTQ4MDY1MTldLCBbMTY2Mzg0MTc2NS42OTUyMzU3LCA1ODY4LCAxLjQ1MjA3NDUyNzc0MDQ3ODVdLCBbMTY2Mzg0MTc2NS43OTIyNTYsIDU4NzcsIDEuMzEwNjk3MzE3MTIzNDEzXSwgWzE2NjM4NDE3NjUuODg5ODY4NSwgNTg4NiwgMS40NDU0MDM2OTUxMDY1MDYzXSwgWzE2NjM4NDE3NjUuOTkzNjU1NCwgNTg5NSwgMS4yODA1MTQzNTk0NzQxODIxXSwgWzE2NjM4NDE3NjYuMDgwNjYzNCwgNTkwNCwgMS4zMTAyMzY5MzA4NDcxNjhdLCBbMTY2Mzg0MTc2Ni4zODE5NTYzLCA1OTMxLCAxLjQ1NTE4NTUzMjU2OTg4NTNdLCBbMTY2Mzg0MTc2Ni40ODA3NDYzLCA1OTQwLCAxLjIwOTU4ODY0Njg4ODczM10sIFsxNjYzODQxNzY2LjU3MjU0NCwgNTk0OSwgMS40MTI1MzE5NzE5MzE0NTc1XSwgWzE2NjM4NDE3NjcuMzI4MzAwNywgNjAxMiwgMS4xMTMwMDI1Mzg2ODEwMzAzXSwgWzE2NjM4NDE3NjcuNjE2NzUxNywgNjAzOSwgMS4yMjQ0OTM4NjExOTg0MjUzXSwgWzE2NjM4NDE3NjguMjE0MDMwNywgNjA4NCwgMS4yNjY0NjcyMTM2MzA2NzYzXSwgWzE2NjM4NDE3NjguMzA4MDY2OCwgNjA5MywgMS40MTY0MTU5Mjk3OTQzMTE1XSwgWzE2NjM4NDE3NjguNDQ2NTQ4NSwgNjEwMiwgMS4yNTcwODQ2MDgwNzgwMDNdLCBbMTY2Mzg0MTc2OC44MDQ5NjE3LCA2MTI5LCAxLjM2MDgyNDU4NDk2MDkzNzVdLCBbMTY2Mzg0MTc2OS4wMzI4ODI1LCA2MTQ3LCAxLjM2NzE2ODkwMzM1MDgzXSwgWzE2NjM4NDE3NjkuMTUxNzcyNywgNjE1NiwgMS4zMTk5MDU0MDAyNzYxODRdLCBbMTY2Mzg0MTc2OS4yNzgzMTM0LCA2MTY1LCAxLjM3MzIxOTYwOTI2MDU1OV0sIFsxNjYzODQxNzY5LjYyMDQzMTQsIDYxOTIsIDEuMTcxNDcwMTY1MjUyNjg1NV0sIFsxNjYzODQxNzcwLjQ1MTcyNTUsIDYyMzcsIDEuMjQwMjgwMjcwNTc2NDc3XSwgWzE2NjM4NDE3NzAuNjU1ODI3NSwgNjI1NSwgMS42NDgyMjM5OTYxNjI0MTQ2XSwgWzE2NjM4NDE3NzAuODkzODEyMiwgNjI3MywgMS4yODkzMzM1ODE5MjQ0Mzg1XSwgWzE2NjM4NDE3NzEuMDMzNzI5OCwgNjI4MiwgMS4zNDA3NzI2Mjg3ODQxNzk3XSwgWzE2NjM4NDE3NzEuMjY5OTUxMywgNjMwMCwgMS43MTg0NjE5OTAzNTY0NDUzXSwgWzE2NjM4NDE3NzEuNTc3NTY0MiwgNjMyNywgMS4zNjIyMTc0MjYzMDAwNDg4XSwgWzE2NjM4NDE3NzEuNjgyODQzNywgNjMzNiwgMS4wODQxNjM2NjU3NzE0ODQ0XSwgWzE2NjM4NDE3NzEuODcyODYxNiwgNjM1NCwgMS40MTc0MjY4MjQ1Njk3MDIxXSwgWzE2NjM4NDE3NzIuMjkxMTgzNSwgNjM5MCwgMS4yODYyNTcwMjg1Nzk3MTJdLCBbMTY2Mzg0MTc3Mi4zODcwMTA2LCA2Mzk5LCAxLjI2MDc4ODIwMjI4NTc2NjZdLCBbMTY2Mzg0MTc3Mi41ODY1MzE2LCA2NDE3LCAxLjIxMDY0MzA1MzA1NDgwOTZdLCBbMTY2Mzg0MTc3Mi44NzYwNTkzLCA2NDQ0LCAxLjI4NDY4OTQyNjQyMjExOTFdLCBbMTY2Mzg0MTc3My4wNTg0Njc5LCA2NDYyLCAxLjIwMjUyMzIzMTUwNjM0NzddLCBbMTY2Mzg0MTc3My4yNDYzNjksIDY0ODAsIDEuMjA3NTYxODUwNTQ3NzkwNV0sIFsxNjYzODQxNzczLjMzMDg3NiwgNjQ4OSwgMS4xMjE3NTExODkyMzE4NzI2XSwgWzE2NjM4NDE3NzMuNDI3NTc0NiwgNjQ5OCwgMS4yMTgxNjU4NzQ0ODEyMDEyXSwgWzE2NjM4NDE3NzMuNjAxMTA1NywgNjUxNiwgMS40MzcyNjk5MjYwNzExNjddLCBbMTY2Mzg0MTc3My44NDU2NDQsIDY1MzQsIDEuMjU2Mjg3NjkzOTc3MzU2XSwgWzE2NjM4NDE3NzMuOTg1ODczNSwgNjU0MywgMS4zMjU0NTA2NTg3OTgyMTc4XSwgWzE2NjM4NDE3NzQuMTI1ODMxOCwgNjU1MiwgMS42NzIzNTE0Nzk1MzAzMzQ1XSwgWzE2NjM4NDE3NzQuMjY4OTI5MiwgNjU2MSwgMS4yNzc3MzEwNjA5ODE3NTA1XSwgWzE2NjM4NDE3NzQuMzk5Nzc3LCA2NTcwLCAxLjU3NDgwOTkwODg2Njg4MjNdLCBbMTY2Mzg0MTc3NC42Nzg5MzU4LCA2NTg4LCAxLjU0MzA0MzczMjY0MzEyNzRdLCBbMTY2Mzg0MTc3NC44MTEzMDIsIDY1OTcsIDEuMjA3OTcyMjg4MTMxNzEzOV0sIFsxNjYzODQxNzc0LjkxNzU5NjgsIDY2MDYsIDEuNDk1MDQzNjM1MzY4MzQ3Ml0sIFsxNjYzODQxNzc1LjM5NTUwMTksIDY2NTEsIDEuMzA2MjAyNTMwODYwOTAwOV0sIFsxNjYzODQxNzc1LjQ5MjIwNzMsIDY2NjAsIDEuNDA5MjA5MjUxNDAzODA4Nl0sIFsxNjYzODQxNzc1Ljc4MTU0MTYsIDY2ODcsIDEuNTEzNDQzNzA4NDE5Nzk5OF0sIFsxNjYzODQxNzc1Ljg5NDMzMTUsIDY2OTYsIDEuMjA0MzcyNDA2MDA1ODU5NF0sIFsxNjYzODQxNzc2LjAwODg2NjMsIDY3MDUsIDEuMzcxNzgzOTcxNzg2NDk5XSwgWzE2NjM4NDE3NzYuMTI1NDY2OCwgNjcxNCwgMS40NDU3MTk3MTg5MzMxMDU1XSwgWzE2NjM4NDE3NzYuODczNDI1LCA2Nzc3LCAxLjI1ODMwMTM3NzI5NjQ0NzhdLCBbMTY2Mzg0MTc3Ny4yMDY3NDIzLCA2ODA0LCAxLjM5Njc3NzM5MTQzMzcxNThdLCBbMTY2Mzg0MTc3Ny4zMTA0Mzg5LCA2ODEzLCAxLjI3MzU5NDYxNzg0MzYyOF0sIFsxNjYzODQxNzc3LjUyOTg3OCwgNjgzMSwgMS4zNjkzNTg4OTcyMDkxNjc1XSwgWzE2NjM4NDE3NzguMDUwMjQyNywgNjg3NiwgMS4zNDg0NDUxNzcwNzgyNDddLCBbMTY2Mzg0MTc3OC4xMzgzNjQsIDY4ODUsIDEuNDM1NTcyMDI4MTYwMDk1Ml0sIFsxNjYzODQxNzc4LjI1NTQxMDIsIDY4OTQsIDEuMjQ4OTE3MTAyODEzNzIwN10sIFsxNjYzODQxNzc4LjU4NzU1NTYsIDY5MjEsIDEuMjQ4NzExODI0NDE3MTE0M10sIFsxNjYzODQxNzc4LjY5OTg0NTgsIDY5MzAsIDEuMTcxNDUzNDc1OTUyMTQ4NF0sIFsxNjYzODQxNzc5LjIyMjAyNSwgNjk1NywgMS4zODgzMzE1MzI0NzgzMzI1XSwgWzE2NjM4NDE3NzkuNTU4NTU3MywgNjk4NCwgMS4zNjA2MTA0ODUwNzY5MDQzXSwgWzE2NjM4NDE3NzkuNjY5ODA1NSwgNjk5MywgMS40Nzg1NzIxMzAyMDMyNDddLCBbMTY2Mzg0MTc3OS45NDA2ODEsIDcwMTEsIDEuMjc0Njc0NjU0MDA2OTU4XSwgWzE2NjM4NDE3ODAuMDU1MzgwNiwgNzAyMCwgMS40NzU2NDYyNTc0MDA1MTI3XSwgWzE2NjM4NDE3ODAuMTc1ODU1MiwgNzAyOSwgMS4yOTI1NTgxOTMyMDY3ODddLCBbMTY2Mzg0MTc4MC4yOTA1MjA3LCA3MDM4LCAxLjI2NDA0OTY0OTIzODU4NjRdLCBbMTY2Mzg0MTc4MC40MDI0Nzk2LCA3MDQ3LCAxLjExNjExNjg4MTM3MDU0NDRdLCBbMTY2Mzg0MTc4MS4wODM3NDM2LCA3MTAxLCAxLjQyMTkzMTAyODM2NjA4ODldLCBbMTY2Mzg0MTc4MS40MTA2NTUzLCA3MTI4LCAxLjI3Njk1NTg0Mjk3MTgwMThdLCBbMTY2Mzg0MTc4MS42MjkwNzg5LCA3MTQ2LCAxLjIxMTcwNTA4ODYxNTQxNzVdLCBbMTY2Mzg0MTc4MS44NTc2ODUzLCA3MTY0LCAxLjI5MDIwNDI4NjU3NTMxNzRdLCBbMTY2Mzg0MTc4Mi4zNDk0MDI3LCA3MjAwLCAxLjU0NzM4MDA4OTc1OTgyNjddLCBbMTY2Mzg0MTc4Mi40NDA2NjMzLCA3MjA5LCAxLjI2ODM3MDE1MTUxOTc3NTRdLCBbMTY2Mzg0MTc4Mi45MjMwNTEsIDcyNDUsIDEuNTg3NjYwNTUxMDcxMTY3XSwgWzE2NjM4NDE3ODMuMDQ4MzY0LCA3MjU0LCAxLjU3OTk4NDkwMzMzNTU3MTNdLCBbMTY2Mzg0MTc4My4xNDY2MDg0LCA3MjYzLCAxLjE1NTkxMjc1NjkxOTg2MDhdLCBbMTY2Mzg0MTc4My4yMzU3MjU5LCA3MjcyLCAxLjY0NTEzOTgxMzQyMzE1NjddLCBbMTY2Mzg0MTc4My41NDQ4MDgxLCA3Mjk5LCAxLjExOTE1NjcxODI1NDA4OTRdLCBbMTY2Mzg0MTc4NC4zMTMyMDgsIDczNzEsIDEuMzk0MTgzNzU0OTIwOTU5NV0sIFsxNjYzODQxNzg0LjQ1NzE4OSwgNzM4MCwgMS4yOTUxNjk3MTExMTI5NzZdLCBbMTY2Mzg0MTc4NC43MTk0OTcyLCA3Mzk4LCAxLjA2MDYzODY2NjE1Mjk1NF0sIFsxNjYzODQxNzg0Ljk1MzMwNzYsIDc0MTYsIDEuNDUyODIzODc3MzM0NTk0N10sIFsxNjYzODQxNzg1LjE4NTgyNzcsIDc0MzQsIDEuMjMzMzQ0MTk3MjczMjU0NF0sIFsxNjYzODQxNzg1LjMwMTc2MDIsIDc0NDMsIDEuMDIyNzQ0NDE3MTkwNTUxOF0sIFsxNjYzODQxNzg1LjQyMzU3MzUsIDc0NTIsIDEuMDU2NDA5NTk3Mzk2ODUwNl0sIFsxNjYzODQxNzg1LjUyNzgyMzQsIDc0NjEsIDEuNTcxNTI3MDA0MjQxOTQzNF0sIFsxNjYzODQxNzg2LjAwNDMxMjUsIDc0OTcsIDEuMjI1MDY4OTI2ODExMjE4M10sIFsxNjYzODQxNzg2LjEwNTk3NDIsIDc1MDYsIDEuMTY4MzkwNzUwODg1MDA5OF0sIFsxNjYzODQxNzg2LjMwNTA5OCwgNzUyNCwgMS4yNzM2NjQ3MTI5MDU4ODM4XSwgWzE2NjM4NDE3ODYuMzk0Mzk3LCA3NTMzLCAxLjI5NTc2ODAyMjUzNzIzMTRdLCBbMTY2Mzg0MTc4Ni41Mzg3Mzg3LCA3NTQyLCAxLjI0OTU1OTUyMTY3NTEwOTldLCBbMTY2Mzg0MTc4Ni43NzI0NzY0LCA3NTYwLCAxLjQyNzE3OTU3NDk2NjQzMDddLCBbMTY2Mzg0MTc4Ni44OTA1OTksIDc1NjksIDEuMjU4NDU2MzQ5MzcyODYzOF0sIFsxNjYzODQxNzg3LjI1MzQ5MzgsIDc1OTYsIDEuNTc3MTYxOTA4MTQ5NzE5Ml0sIFsxNjYzODQxNzg3LjUwMDEwMDEsIDc2MTQsIDEuNzc3MDUwMDE4MzEwNTQ2OV0sIFsxNjYzODQxNzg4LjExMjY4NSwgNzY1OSwgMS4zMzc3MTA4NTczOTEzNTc0XSwgWzE2NjM4NDE3ODguMjYxNDYwOCwgNzY2OCwgMS4xMTcxODcxNDIzNzIxMzEzXSwgWzE2NjM4NDE3ODguNTk5NzM5OCwgNzY5NSwgMS4xNzg1NzQ2ODEyODIwNDM1XSwgWzE2NjM4NDE3ODkuMTc2NDIxOSwgNzcyMiwgMS4wNjI3MTI2NjkzNzI1NTg2XSwgWzE2NjM4NDE3ODkuNDcxMzczMywgNzc0OSwgMS4xNzczOTIwMDU5MjA0MTAyXSwgWzE2NjM4NDE3ODkuNjgxODQ3LCA3NzY3LCAxLjU5NDM5MDc0OTkzMTMzNTRdLCBbMTY2Mzg0MTc5MC4wMDEzNzQsIDc3OTQsIDEuNjY4NTYyMTczODQzMzgzOF0sIFsxNjYzODQxNzkwLjEzMDI1NzQsIDc4MDMsIDEuNDE5OTUyMTU0MTU5NTQ2XSwgWzE2NjM4NDE3OTAuNjM4NjY1LCA3ODM5LCAxLjM3ODgwMTgyMjY2MjM1MzVdLCBbMTY2Mzg0MTc5MC43NzExMjMsIDc4NDgsIDEuMjA3NzIxOTQ4NjIzNjU3Ml0sIFsxNjYzODQxNzkxLjk0OTQzMjYsIDc5MzgsIDEuMDQxNjAxMTgxMDMwMjczNF0sIFsxNjYzODQxNzkyLjE3OTQ0NTcsIDc5NTYsIDEuMTI0Mjc4NDI2MTcwMzQ5MV0sIFsxNjYzODQxNzkyLjI5Mzg1MTYsIDc5NjUsIDEuNDA2MDE4MDE4NzIyNTM0Ml0sIFsxNjYzODQxNzkyLjQwMTUxNywgNzk3NCwgMS4wMzkzNDg0ODMwODU2MzIzXSwgWzE2NjM4NDE3OTIuNTI5MjgyLCA3OTgzLCAxLjAzNjM4MjA3OTEyNDQ1MDddLCBbMTY2Mzg0MTc5Mi43NzQzODUsIDgwMDEsIDEuNDA4MjAyMjkwNTM0OTczMV0sIFsxNjYzODQxNzkzLjAyNTk4ODgsIDgwMTksIDEuMTM0Mjk4MzI0NTg0OTYxXSwgWzE2NjM4NDE3OTMuMjQ0NDI1MywgODAzNywgMS4xMDk1OTQzNDUwOTI3NzM0XSwgWzE2NjM4NDE3OTMuNTg5MjQyNSwgODA2NCwgMS4xNzE2MDU1ODcwMDU2MTUyXSwgWzE2NjM4NDE3OTMuODM2NDU0OSwgODA4MiwgMS4zMjYzODk1NTExNjI3MTk3XSwgWzE2NjM4NDE3OTMuOTUyOTY3NCwgODA5MSwgMS4zMDQwODg0NzMzMjAwMDczXSwgWzE2NjM4NDE3OTQuMzA5OTUwOCwgODExOCwgMS4yOTA4OTUyMjM2MTc1NTM3XSwgWzE2NjM4NDE3OTQuNDQ2OTc4LCA4MTI3LCAxLjA0OTMzNzI2Nzg3NTY3MTRdLCBbMTY2Mzg0MTc5NC42ODU5MzA1LCA4MTQ1LCAxLjI0NjgyNjUyOTUwMjg2ODddLCBbMTY2Mzg0MTc5NC44OTM1NjI2LCA4MTYzLCAxLjAzMDk3NTIyMjU4NzU4NTRdLCBbMTY2Mzg0MTc5NC45ODY1NzA0LCA4MTcyLCAxLjI4ODA5MjczMjQyOTUwNDRdLCBbMTY2Mzg0MTc5NS4wOTA2OTczLCA4MTgxLCAxLjIxOTA0ODk3Njg5ODE5MzRdLCBbMTY2Mzg0MTc5NS4yOTQwMTE4LCA4MTk5LCAxLjM1MzI0NDc4MTQ5NDE0MDZdLCBbMTY2Mzg0MTc5NS40MDEwOTQyLCA4MjA4LCAxLjEwNTMxMTg3MDU3NDk1MTJdLCBbMTY2Mzg0MTc5NS43MjE3NzY1LCA4MjM1LCAxLjE2NDgxNDExNDU3MDYxNzddLCBbMTY2Mzg0MTc5Ni4xNDI0MDQ4LCA4MjcxLCAxLjI3MzE5NTAyODMwNTA1MzddLCBbMTY2Mzg0MTc5Ni4yNDA0MTYsIDgyODAsIDEuMTMwODM5MjI4NjMwMDY2XSwgWzE2NjM4NDE3OTYuNDM1MzY4OCwgODI5OCwgMS4xMzg4NzQ1MzA3OTIyMzYzXSwgWzE2NjM4NDE3OTYuNjMxODE3NiwgODMxNiwgMS4xOTY1MTY4NzE0NTIzMzE1XSwgWzE2NjM4NDE3OTcuMDk1NTA3MSwgODM1MiwgMS4yOTQ1MTgyMzIzNDU1ODFdLCBbMTY2Mzg0MTc5Ny4xODg5MzQzLCA4MzYxLCAxLjA3NDg2NDg2NDM0OTM2NTJdLCBbMTY2Mzg0MTc5Ny4yODU2NjUsIDgzNzAsIDEuMDM3ODM1ODM2NDEwNTIyNV0sIFsxNjYzODQxNzk3LjM3NzkxNjYsIDgzNzksIDEuMDY3MTQyNzI0OTkwODQ0N10sIFsxNjYzODQxNzk3LjQ2OTc2ODMsIDgzODgsIDEuNDc0MDAyMzYxMjk3NjA3NF0sIFsxNjYzODQxNzk3LjU2ODUsIDgzOTcsIDEuMTkyMjE4MTg0NDcxMTMwNF0sIFsxNjYzODQxNzk3LjY2OTg1OTYsIDg0MDYsIDEuMTIxMDkwODg4OTc3MDUwOF0sIFsxNjYzODQxNzk3Ljg3MjcyMTQsIDg0MjQsIDEuMjYxOTYzMDA5ODM0Mjg5Nl0sIFsxNjYzODQxNzk4LjI3NzY2OTQsIDg0NjAsIDEuMjU0NDcxNjU5NjYwMzM5NF0sIFsxNjYzODQxNzk4LjQ4MzczMTUsIDg0NzgsIDEuNDQ3MjI5ODYyMjEzMTM0OF0sIFsxNjYzODQxNzk4LjU5OTM4OSwgODQ4NywgMS4wMDEyNzc4MDQzNzQ2OTQ4XSwgWzE2NjM4NDE3OTkuMjMwODI4MywgODUxNCwgMS4wMjUzOTg2MTIwMjI0XSwgWzE2NjM4NDE3OTkuNzYzODc1NSwgODU1MCwgMS4zMjQ5MjI2ODA4NTQ3OTc0XSwgWzE2NjM4NDE4MDAuMTk3MzA3NiwgODU3NywgMS4xOTAxNjczMDc4NTM2OTg3XSwgWzE2NjM4NDE4MDAuNDI4NDkyNSwgODU5NSwgMS4xMTIzMzYyNzc5NjE3MzFdLCBbMTY2Mzg0MTgwMC41NDI5NjYxLCA4NjA0LCAxLjIzODQ5MDQ2MjMwMzE2MTZdLCBbMTY2Mzg0MTgwMC42NjAyMjI4LCA4NjEzLCAxLjAwMTc3NTk3OTk5NTcyNzVdLCBbMTY2Mzg0MTgwMS4xMzU2MzU0LCA4NjQ5LCAxLjE3MTEwNTk4MDg3MzEwOF0sIFsxNjYzODQxODAxLjM3MDk1NDgsIDg2NjcsIDEuMDQ3MzM4MTI4MDg5OTA0OF0sIFsxNjYzODQxODAxLjUxNTQ1MDcsIDg2NzYsIDEuMTE1ODQ4MDY0NDIyNjA3NF0sIFsxNjYzODQxODAxLjY1MjgyNDksIDg2ODUsIDEuMDQzMjkyNzYwODQ4OTk5XSwgWzE2NjM4NDE4MDEuNzYzOTc0LCA4Njk0LCAxLjAzNzk5MDgwODQ4NjkzODVdLCBbMTY2Mzg0MTgwMS45NTU0OTMsIDg3MTIsIDEuMDE3ODQ5NTY0NTUyMzA3MV0sIFsxNjYzODQxODAyLjA1MTU4MiwgODcyMSwgMS4yNzczMDkwNjAwOTY3NDA3XSwgWzE2NjM4NDE4MDIuMzgwMDU0LCA4NzQ4LCAxLjQwOTIwOTAxMjk4NTIyOTVdLCBbMTY2Mzg0MTgwMy4wNDc2MDYyLCA4NzkzLCAxLjA5ODk3MDc3MDgzNTg3NjVdLCBbMTY2Mzg0MTgwMy4yNzY5OTE4LCA4ODExLCAxLjA5MjkyNDU5NDg3OTE1MDRdLCBbMTY2Mzg0MTgwMy40MDI1ODIsIDg4MjAsIDEuMjA0NjE4ODExNjA3MzYwOF0sIFsxNjYzODQxODAzLjYxNDMxNzcsIDg4MzgsIDEuMjk1NzcxMzYwMzk3MzM4OV0sIFsxNjYzODQxODAzLjcyMzE1MywgODg0NywgMS4zMTU5OTg2NzM0MzkwMjU5XSwgWzE2NjM4NDE4MDQuMTAxOTY1NCwgODg4MywgMS4yMzQzODA3MjIwNDU4OTg0XSwgWzE2NjM4NDE4MDQuMjg3NTUyNCwgODkwMSwgMS4wMTQ1NzM0NTQ4NTY4NzI2XSwgWzE2NjM4NDE4MDQuNDc0NzY1LCA4OTE5LCAxLjE1NzkxMDgyMzgyMjAyMTVdLCBbMTY2Mzg0MTgwNC42NjY1MDU4LCA4OTM3LCAxLjAxODc5ODIzMjA3ODU1MjJdLCBbMTY2Mzg0MTgwNC44NTQ5ODY0LCA4OTU1LCAxLjI5Nzk0MjYzODM5NzIxNjhdLCBbMTY2Mzg0MTgwNC45NTU1NTM1LCA4OTY0LCAxLjAyMDI5NTE0MzEyNzQ0MTRdLCBbMTY2Mzg0MTgwNS4wNTQ3MTEsIDg5NzMsIDEuMjA2OTcwNDUzMjYyMzI5XSwgWzE2NjM4NDE4MDUuMjY0NTI4LCA4OTkxLCAxLjA5NTEwNzkxMzAxNzI3M10sIFsxNjYzODQxODA1LjM1MzY5MTYsIDkwMDAsIDEuMTA0Nzg1NDQyMzUyMjk1XSwgWzE2NjM4NDE4MDUuNjM3NDUxNCwgOTAyNywgMS4wMzE3MDU2MTc5MDQ2NjNdLCBbMTY2Mzg0MTgwNS43MjUwMTksIDkwMzYsIDEuMTgwMjg5MTQ5Mjg0MzYyOF0sIFsxNjYzODQxODA1LjgyMDkzNzIsIDkwNDUsIDEuMjcyNDQ4NDIwNTI0NTk3Ml0sIFsxNjYzODQxODA1LjkxOTM5NDcsIDkwNTQsIDEuMzM0MzQwODEwNzc1NzU2OF0sIFsxNjYzODQxODA2LjAxMDk3NTgsIDkwNjMsIDEuNDcwMDYzNTY3MTYxNTZdLCBbMTY2Mzg0MTgwNi42MjU1ODYzLCA5MTA4LCAxLjMxMTUzNzc0MjYxNDc0Nl0sIFsxNjYzODQxODA2Ljg2NDcyNTQsIDkxMjYsIDEuMTk4NDgwNzI1Mjg4MzkxMV0sIFsxNjYzODQxODA3LjEzODI2NDIsIDkxNDQsIDEuMDgyMjMwNjg3MTQxNDE4NV0sIFsxNjYzODQxODA3LjI1ODI4NjIsIDkxNTMsIDEuMDUyNzU2NjY3MTM3MTQ2XSwgWzE2NjM4NDE4MDcuMzc4MTIwMiwgOTE2MiwgMS4xNjM1MDU3OTI2MTc3OTc5XSwgWzE2NjM4NDE4MDcuOTY4NTY5LCA5MjA3LCAxLjE3OTM4ODUyMzEwMTgwNjZdLCBbMTY2Mzg0MTgwOC40MTY1NDMyLCA5MjQzLCAxLjE2NTQyMjU1ODc4NDQ4NDldLCBbMTY2Mzg0MTgwOC42NTc3NzM1LCA5MjYxLCAxLjA0MTcyNTM5NzEwOTk4NTRdLCBbMTY2Mzg0MTgwOC43NzExOTk1LCA5MjcwLCAxLjI3NTE4NTM0NjYwMzM5MzZdLCBbMTY2Mzg0MTgwOS43MzYzNDEsIDkzMjQsIDEuMTg1NTI4NTE2NzY5NDA5Ml0sIFsxNjYzODQxODA5LjgzNjYwMDMsIDkzMzMsIDEuMjMwNjg2NTQ1MzcyMDA5M10sIFsxNjYzODQxODA5LjkzNDY3MzUsIDkzNDIsIDEuMTAzMzQxNDYwMjI3OTY2M10sIFsxNjYzODQxODEwLjA0NjY1NDIsIDkzNTEsIDEuMTQ0MzU5NDY5NDEzNzU3M10sIFsxNjYzODQxODEwLjE4MTgyMTMsIDkzNjAsIDEuMTg5Mzk3OTMxMDk4OTM4XSwgWzE2NjM4NDE4MTAuNjg4NzA2NiwgOTM5NiwgMS4xNDIxMDcxMjkwOTY5ODQ5XSwgWzE2NjM4NDE4MTAuOTUzNDM2NiwgOTQxNCwgMS4xNjI1NzM4MTQzOTIwODk4XSwgWzE2NjM4NDE4MTEuMDY5NzUwMywgOTQyMywgMC45NTM3NTAwMTQzMDUxMTQ3XSwgWzE2NjM4NDE4MTEuODA5NTAyNiwgOTQ3NywgMS4xMzc1MTU0MjU2ODIwNjc5XSwgWzE2NjM4NDE4MTEuOTI2NTkyNiwgOTQ4NiwgMS4yNzE1MjAwMTg1Nzc1NzU3XSwgWzE2NjM4NDE4MTIuMjgzMzA1NiwgOTUxMywgMS4yMDY5Mjc0MTg3MDg4MDEzXSwgWzE2NjM4NDE4MTIuNTI0MDM3NiwgOTUzMSwgMS4xMDg0MzEzMzkyNjM5MTZdLCBbMTY2Mzg0MTgxMi42NTA2NjU1LCA5NTQwLCAxLjE1MzIzNzgxOTY3MTYzMDldLCBbMTY2Mzg0MTgxMi43NjczMDM1LCA5NTQ5LCAxLjIwODcyOTYyNDc0ODIzXSwgWzE2NjM4NDE4MTIuOTkzMTA1MiwgOTU2NywgMS4wNjA2MzU0NDc1MDIxMzYyXSwgWzE2NjM4NDE4MTMuMjc0OTUxMiwgOTU5NCwgMS4wODg4NzYyNDc0MDYwMDU5XSwgWzE2NjM4NDE4MTMuMzYxOTI5LCA5NjAzLCAxLjAyMjk4MzY3MDIzNDY4MDJdLCBbMTY2Mzg0MTgxMy40NTc2Mzc1LCA5NjEyLCAxLjM2NTA5NjgwNzQ3OTg1ODRdLCBbMTY2Mzg0MTgxMy42NzEwNzYsIDk2MzAsIDEuNjc5MzgyMzI0MjE4NzVdLCBbMTY2Mzg0MTgxMy43NzgwMDY2LCA5NjM5LCAxLjMwODA2Mzk4MzkxNzIzNjNdLCBbMTY2Mzg0MTgxMy44NzY4MjM3LCA5NjQ4LCAxLjExNjAzODc5OTI4NTg4ODddLCBbMTY2Mzg0MTgxMy45NzAyNTY2LCA5NjU3LCAxLjI2MzQ4MDY2MzI5OTU2MDVdLCBbMTY2Mzg0MTgxNC4wNTU1NDI3LCA5NjY2LCAxLjAwMDc4ODQ1MDI0MTA4ODldLCBbMTY2Mzg0MTgxNC4xNDcwNDA0LCA5Njc1LCAxLjA3NDE0NzEwNTIxNjk4XSwgWzE2NjM4NDE4MTQuNDI5OTA0NywgOTcwMiwgMS4xNDI4NDQ1NTc3NjIxNDZdLCBbMTY2Mzg0MTgxNC41Mjg5NDgzLCA5NzExLCAxLjI3MzUyNjY2ODU0ODU4NF0sIFsxNjYzODQxODE0LjczMDYyNDIsIDk3MjksIDEuMDI3MTcwMzAwNDgzNzAzNl0sIFsxNjYzODQxODE0LjgzMDMwMDMsIDk3MzgsIDEuMjMwNzUwMjAzMTMyNjI5NF0sIFsxNjYzODQxODE0LjkyNDU3MSwgOTc0NywgMS4xODQ3NTM0MTc5Njg3NV0sIFsxNjYzODQxODE1LjE5Nzg3NDgsIDk3NzQsIDEuMzM1NjIxNzE0NTkxOThdLCBbMTY2Mzg0MTgxNS4yOTAxMTE1LCA5NzgzLCAxLjEwNjYwODUxMDAxNzM5NV0sIFsxNjYzODQxODE1LjM4Nzg1MjIsIDk3OTIsIDEuMDQyNzkwODg5NzM5OTkwMl0sIFsxNjYzODQxODE1Ljc2MDA3ODIsIDk4MjgsIDEuMzU3OTkwMzg0MTAxODY3N10sIFsxNjYzODQxODE1Ljg2MzU0MjMsIDk4MzcsIDEuMzY2NzQ4MDk0NTU4NzE1OF0sIFsxNjYzODQxODE2LjQ2MTU0MjgsIDk4OTEsIDEuMTE4OTk1NTQ3Mjk0NjE2N10sIFsxNjYzODQxODE2LjY2MzYyMzMsIDk5MDksIDEuMDc0OTYxNTQzMDgzMTkxXSwgWzE2NjM4NDE4MTYuODY5NzU1LCA5OTI3LCAxLjY0OTc1NzUwNDQ2MzE5NThdLCBbMTY2Mzg0MTgxNi45Nzk5MDA2LCA5OTM2LCAxLjI3NjA5NjIyNDc4NDg1MV0sIFsxNjYzODQxODE3LjE0NzcwNDgsIDk5NDUsIDEuMTQyMTMwMjU1Njk5MTU3N10sIFsxNjYzODQxODE3LjUxNDYzNywgOTk3MiwgMS40MzQ4MDM5NjI3MDc1MTk1XSwgWzE2NjM4NDE4MTcuNjY2MywgOTk4MSwgMS4wOTU1MDcxNDQ5Mjc5Nzg1XSwgWzE2NjM4NDE4MTcuNzg5ODQ3OSwgOTk5MCwgMS4wOTM2NTAxMDI2MTUzNTY0XSwgWzE2NjM4NDE4MTcuOTk1NzU0NSwgMTAwMDgsIDEuMzQ0NjEwODEwMjc5ODQ2Ml0sIFsxNjYzODQxODE4LjA5MzIxMjgsIDEwMDE3LCAxLjExOTE5MTE2OTczODc2OTVdLCBbMTY2Mzg0MTgxOC4yNzgzNjA4LCAxMDAzNSwgMS41MzA0MDU1MjEzOTI4MjIzXSwgWzE2NjM4NDE4MTguNDcwMTczMSwgMTAwNTMsIDAuOTkzNjMyNzkzNDI2NTEzN10sIFsxNjYzODQxODE4Ljc1MzU4NDksIDEwMDgwLCAxLjI0NTA5OTc4Mjk0MzcyNTZdLCBbMTY2Mzg0MTgxOC45NjEzNTE5LCAxMDA5OCwgMS4wMzEwMDYzMzYyMTIxNTgyXSwgWzE2NjM4NDE4MTkuMjczMzQxLCAxMDEwNywgMS41NjQyNDEyOTAwOTI0NjgzXSwgWzE2NjM4NDE4MTkuNTc2NTA2LCAxMDEzNCwgMS4xMjgxNzY0NTA3MjkzNzAxXSwgWzE2NjM4NDE4MTkuNjc2MTQ4MiwgMTAxNDMsIDEuMjAxNTMzNTU1OTg0NDk3XSwgWzE2NjM4NDE4MTkuODY0NTExNywgMTAxNjEsIDEuMTk5NzEyODcyNTA1MTg4XSwgWzE2NjM4NDE4MTkuOTcyNzI2NiwgMTAxNzAsIDEuMDg3NTE5NjQ1NjkwOTE4XSwgWzE2NjM4NDE4MjAuMDczNDYzLCAxMDE3OSwgMS4zNjI0OTYzNzYwMzc1OTc3XSwgWzE2NjM4NDE4MjAuMTY4ODQyLCAxMDE4OCwgMS4wNzM0NTg1NTIzNjA1MzQ3XSwgWzE2NjM4NDE4MjAuMjYyNTQxLCAxMDE5NywgMS4zMDAxMTIzNjY2NzYzMzA2XSwgWzE2NjM4NDE4MjAuNDYyODA0NiwgMTAyMTUsIDEuMTY2MjMxMTU1Mzk1NTA3OF0sIFsxNjYzODQxODIwLjU1NDkzMzgsIDEwMjI0LCAxLjA2MTUyNTcwMjQ3NjUwMTVdLCBbMTY2Mzg0MTgyMC42NTM1MTY1LCAxMDIzMywgMS4wODUyMjI0ODI2ODEyNzQ0XSwgWzE2NjM4NDE4MjAuOTQ4NzYyLCAxMDI2MCwgMS4zNTg5MjU4MTkzOTY5NzI3XSwgWzE2NjM4NDE4MjEuMjQ3NzU5OCwgMTAyODcsIDEuNDk5MjU3ODAyOTYzMjU2OF0sIFsxNjYzODQxODIxLjU0NjY3NjIsIDEwMzE0LCAxLjA3MDM1ODk5MTYyMjkyNDhdLCBbMTY2Mzg0MTgyMS42Mzg2NTIsIDEwMzIzLCAxLjAyMjM2OTc0MjM5MzQ5MzddLCBbMTY2Mzg0MTgyMS44MjUyMDQ0LCAxMDM0MSwgMS4xODExMzgzOTYyNjMxMjI2XSwgWzE2NjM4NDE4MjEuOTExODQ5LCAxMDM1MCwgMS4yNjU4Mjc1MzY1ODI5NDY4XSwgWzE2NjM4NDE4MjIuMDA2NzE0LCAxMDM1OSwgMS4wMzcyNzkxMjkwMjgzMjAzXSwgWzE2NjM4NDE4MjIuMTAzNjg1MSwgMTAzNjgsIDEuMTUwMTE1NDg5OTU5NzE2OF0sIFsxNjYzODQxODIyLjE5NDg1NjYsIDEwMzc3LCAxLjExOTQ0Mzc3NDIyMzMyNzZdLCBbMTY2Mzg0MTgyMi4yOTY0NjEsIDEwMzg2LCAxLjI4OTQzOTMyMDU2NDI3XSwgWzE2NjM4NDE4MjMuMjMwMTEyMywgMTA0NDksIDAuOTE5NzkxOTM2ODc0Mzg5Nl0sIFsxNjYzODQxODIzLjQ5ODYxNiwgMTA0NjcsIDEuNTYxNDgxMjM3NDExNDk5XSwgWzE2NjM4NDE4MjMuNzExNTQ5NSwgMTA0ODUsIDEuMzE0Nzc5NzU4NDUzMzY5MV0sIFsxNjYzODQxODIzLjkyODM4MDMsIDEwNTAzLCAxLjA4MjcwMjUxNzUwOTQ2MDRdLCBbMTY2Mzg0MTgyNC4wMjkyNzYsIDEwNTEyLCAxLjExNTA4NzE1MTUyNzQwNDhdLCBbMTY2Mzg0MTgyNC43MDMyMzQ3LCAxMDU2NiwgMS4yMzgwNzYwOTA4MTI2ODNdLCBbMTY2Mzg0MTgyNC44MDU0NjUsIDEwNTc1LCAxLjA2MjA3MzgyNjc4OTg1Nl0sIFsxNjYzODQxODI1LjAwOTcyOTQsIDEwNTkzLCAxLjM1NDA4MzA2MTIxODI2MTddLCBbMTY2Mzg0MTgyNS4xNDA1MjM3LCAxMDYwMiwgMS4xNzgyNjE3NTY4OTY5NzI3XSwgWzE2NjM4NDE4MjUuMjgyNTIzMiwgMTA2MTEsIDEuMDY4NzY1NDAxODQwMjFdLCBbMTY2Mzg0MTgyNS43OTQ0MzIyLCAxMDY0NywgMS4xMzEzNzc4MTYyMDAyNTYzXSwgWzE2NjM4NDE4MjYuMDc3OTM0MywgMTA2NjUsIDEuMTQwNzY0NzEzMjg3MzUzNV0sIFsxNjYzODQxODI2LjMzODc5ODgsIDEwNjgzLCAxLjAxNjc2Nzg1OTQ1ODkyMzNdLCBbMTY2Mzg0MTgyNi41ODg2NTA3LCAxMDcwMSwgMS4wMjgyNTAwOTgyMjg0NTQ2XSwgWzE2NjM4NDE4MjYuNzAwNTg2LCAxMDcxMCwgMS4wMjQ4NjA5NzgxMjY1MjU5XSwgWzE2NjM4NDE4MjYuODE3NTY0LCAxMDcxOSwgMC45ODI2ODU2MjU1NTMxMzExXSwgWzE2NjM4NDE4MjcuNDIzODkxNSwgMTA3NDYsIDEuMDg1MzExNDEyODExMjc5M10sIFsxNjYzODQxODI3LjUzODY5MDMsIDEwNzU1LCAxLjUyMjAxNDYxNzkxOTkyMTldLCBbMTY2Mzg0MTgyNy42NTIyMTAyLCAxMDc2NCwgMS4wMzcxNDQwNjQ5MDMyNTkzXSwgWzE2NjM4NDE4MjcuODc2MjM1NSwgMTA3ODIsIDEuMDgzODExNzU5OTQ4NzMwNV0sIFsxNjYzODQxODI3Ljk3Njc1MiwgMTA3OTEsIDEuNjAzMjk5MjYwMTM5NDY1M10sIFsxNjYzODQxODI4LjI2NzcyNzEsIDEwODE4LCAxLjIyODU4NjU1NDUyNzI4MjddLCBbMTY2Mzg0MTgyOC4zNTUxMzY0LCAxMDgyNywgMS4xMjM1Mjk1NTM0MTMzOTExXSwgWzE2NjM4NDE4MjguNjk0ODEyLCAxMDg1NCwgMS4zNDQzMTg5ODU5MzkwMjU5XSwgWzE2NjM4NDE4MjguODE3MjYyMiwgMTA4NjMsIDEuMTMwNjU2NDgwNzg5MTg0Nl0sIFsxNjYzODQxODI4Ljk2MzI2MDIsIDEwODcyLCAxLjA4NjAyNTIzODAzNzEwOTRdLCBbMTY2Mzg0MTgyOS4yMjY3NTksIDEwODkwLCAxLjExMzg5ODE1ODA3MzQyNTNdLCBbMTY2Mzg0MTgyOS43MjA4MjAyLCAxMDkyNiwgMS40Mjg4NTI5MTU3NjM4NTVdLCBbMTY2Mzg0MTgyOS44MjEyNzQ1LCAxMDkzNSwgMS4xMDc3ODkyNzgwMzAzOTU1XSwgWzE2NjM4NDE4MjkuOTE0NDcxNiwgMTA5NDQsIDEuMjY5ODU1NjE4NDc2ODY3N10sIFsxNjYzODQxODMwLjExNDgzNzYsIDEwOTYyLCAxLjEzNTUyMDMzOTAxMjE0Nl0sIFsxNjYzODQxODMwLjIxNTU4NTIsIDEwOTcxLCAwLjk5NTUyOTgzMDQ1NTc4XSwgWzE2NjM4NDE4MzAuNjk0MzIxLCAxMTAxNiwgMS4yNTU5MzEzNzc0MTA4ODg3XSwgWzE2NjM4NDE4MzAuODkzNzU5LCAxMTAzNCwgMS4wMTQyMjIwMjU4NzEyNzY5XSwgWzE2NjM4NDE4MzEuMjEzODkzMiwgMTEwNjEsIDEuMTkyOTM1MjI4MzQ3Nzc4M10sIFsxNjYzODQxODMxLjMxMDg1MywgMTEwNzAsIDEuMTA4NzM2NTE1MDQ1MTY2XSwgWzE2NjM4NDE4MzEuNTk2NDcyLCAxMTA5NywgMS4xMTQ0MjA1MzMxODAyMzY4XSwgWzE2NjM4NDE4MzEuNzAyMjgwNSwgMTExMDYsIDEuMDUzNzY0MzQzMjYxNzE4OF0sIFsxNjYzODQxODMyLjE4MDkyNywgMTExNTEsIDEuMDExMTM0MDI4NDM0NzUzNF0sIFsxNjYzODQxODMyLjQzOTY5MSwgMTExNjksIDEuMTA4ODcyMDU2MDA3Mzg1M10sIFsxNjYzODQxODMyLjU1NDE4NzMsIDExMTc4LCAxLjAxNDE4MTQ5NDcxMjgyOTZdLCBbMTY2Mzg0MTgzMi42ODA0ODgzLCAxMTE4NywgMS4zNjU1ODI1ODUzMzQ3Nzc4XSwgWzE2NjM4NDE4MzIuODA2NTI5NSwgMTExOTYsIDEuMDU4OTUzMTY2MDA3OTk1Nl0sIFsxNjYzODQxODMyLjkyNjQ4NTUsIDExMjA1LCAxLjEzMjEwMzgwMDc3MzYyMDZdLCBbMTY2Mzg0MTgzMy4wNDc2OTksIDExMjE0LCAxLjM0NTA1NTU4MDEzOTE2MDJdLCBbMTY2Mzg0MTgzMy4xNjI1NDMzLCAxMTIyMywgMC45NzQ1NzYyMzQ4MTc1MDQ5XSwgWzE2NjM4NDE4MzMuNTAxMDQ2NCwgMTEyNTAsIDEuMDAyNTE0MjQzMTI1OTE1NV0sIFsxNjYzODQxODMzLjYxMjA0MTcsIDExMjU5LCAxLjEwNzY0NTYzMDgzNjQ4NjhdLCBbMTY2Mzg0MTgzMy43MjI0MjA1LCAxMTI2OCwgMS4zNjYxNjEzNDY0MzU1NDY5XSwgWzE2NjM4NDE4MzMuODM2NjUyOCwgMTEyNzcsIDEuMDQ4OTg2MTk2NTE3OTQ0M10sIFsxNjYzODQxODM0LjA2MTAzMzUsIDExMjk1LCAxLjA2NDI5MzYyMjk3MDU4MV0sIFsxNjYzODQxODM0LjI5NTQ2OTgsIDExMzEzLCAxLjA1NTE5NDk3Mzk0NTYxNzddLCBbMTY2Mzg0MTgzNC40MDUxNzk1LCAxMTMyMiwgMS43NTM4OTU3NTk1ODI1MTk1XSwgWzE2NjM4NDE4MzQuNzQwNjYyLCAxMTM0OSwgMS4xMDA0ODc4MjgyNTQ2OTk3XSwgWzE2NjM4NDE4MzQuODU0NTA5LCAxMTM1OCwgMS4wNzM1MzExNTA4MTc4NzFdLCBbMTY2Mzg0MTgzNS4xOTkzNDYsIDExMzg1LCAxLjMzMzk5NDM4ODU4MDMyMjNdLCBbMTY2Mzg0MTgzNS41NDM3NjcsIDExNDEyLCAxLjQ3ODAxMTM2OTcwNTIwMDJdLCBbMTY2Mzg0MTgzNi4wMjc4MzUsIDExNDQ4LCAxLjE0NzU1MTI5ODE0MTQ3OTVdLCBbMTY2Mzg0MTgzNi42MDk2MDU4LCAxMTQ5MywgMS4wNzI0MjM5MzQ5MzY1MjM0XSwgWzE2NjM4NDE4MzYuNzIyOTE2MSwgMTE1MDIsIDEuMDc3MTIxNjE1NDA5ODUxXSwgWzE2NjM4NDE4MzcuMDYzMDE0NSwgMTE1MTEsIDAuOTI1NDgyMzkyMzExMDk2Ml0sIFsxNjYzODQxODM3LjQzMDM2MjcsIDExNTQ3LCAwLjk5ODkxMTQ0MDM3MjQ2N10sIFsxNjYzODQxODM3LjgzMjQ0NTYsIDExNTc0LCAxLjU3ODI1OTExMDQ1MDc0NDZdLCBbMTY2Mzg0MTgzOC40NjIzNTA0LCAxMTYxOSwgMS4yOTg4NjMxNzI1MzExMjhdLCBbMTY2Mzg0MTgzOC43OTQ2NTg3LCAxMTY0NiwgMC45NzU3MDgyNDYyMzEwNzkxXSwgWzE2NjM4NDE4MzkuMTUxODY3NCwgMTE2NzMsIDAuOTM0MzgxMzY1Nzc2MDYyXSwgWzE2NjM4NDE4MzkuMzgzMjM2MiwgMTE2OTEsIDEuMDM2NDg5MTI5MDY2NDY3M10sIFsxNjYzODQxODM5LjUwNDA4MzksIDExNzAwLCAxLjU0Njg1MTg3MzM5NzgyNzFdLCBbMTY2Mzg0MTgzOS44NDU0ODMzLCAxMTcyNywgMS4xODkwNTgxODQ2MjM3MTgzXSwgWzE2NjM4NDE4NDAuMzE1MzM1NSwgMTE3NjMsIDEuMTUyNjYwMzY5ODczMDQ2OV0sIFsxNjYzODQxODQwLjc5NjczODQsIDExNzk5LCAxLjA2MzgzNjMzNjEzNTg2NDNdLCBbMTY2Mzg0MTg0MS4yNzQzMzY2LCAxMTgzNSwgMC45ODc4MTkxOTQ3OTM3MDEyXSwgWzE2NjM4NDE4NDEuMzg4MjAyLCAxMTg0NCwgMS40MDMxMzYxMzQxNDc2NDRdLCBbMTY2Mzg0MTg0MS45NTY2NTcyLCAxMTg4OSwgMS4yMDE0NDA1NzI3Mzg2NDc1XSwgWzE2NjM4NDE4NDIuMTUyNjg3NSwgMTE5MDcsIDEuMjQ2NTMwNjUyMDQ2MjAzNl0sIFsxNjYzODQxODQyLjI0NDg2ODUsIDExOTE2LCAxLjIxNzI5MzYyMDEwOTU1OF0sIFsxNjYzODQxODQyLjQ1Mjg2OSwgMTE5MzQsIDEuNDc5NjQ3NzU1NjIyODYzOF0sIFsxNjYzODQxODQyLjU1OTk4NzMsIDExOTQzLCAxLjEwNjQ4NjA4MjA3NzAyNjRdLCBbMTY2Mzg0MTg0Mi43NDkwMTMyLCAxMTk2MSwgMS40MzA0NTYzOTk5MTc2MDI1XSwgWzE2NjM4NDE4NDMuNjIxMjA1NiwgMTIwMjQsIDEuMDAxOTEzMzA5MDk3MjldLCBbMTY2Mzg0MTg0NC42MzcyNDQsIDEyMTA1LCAxLjU2MDAwNDU5MTk0MTgzMzVdLCBbMTY2Mzg0MTg0NC43NTAzODc0LCAxMjExNCwgMS4xOTI3MjIzMjA1NTY2NDA2XSwgWzE2NjM4NDE4NDQuOTg0MzY3OCwgMTIxMzIsIDEuMjQ5NDkzODM3MzU2NTY3NF0sIFsxNjYzODQxODQ1LjA5ODU1ODcsIDEyMTQxLCAxLjI4MTQzNDUzNTk4MDIyNDZdLCBbMTY2Mzg0MTg0NS40NDY0NDA3LCAxMjE2OCwgMS4wNjkyOTc3OTA1MjczNDM4XSwgWzE2NjM4NDE4NDUuNTU1NTY0NiwgMTIxNzcsIDEuNTUwNDIwOTk5NTI2OTc3NV0sIFsxNjYzODQxODQ1Ljc3OTA5NiwgMTIxOTUsIDEuMjE3MzMzNTU1MjIxNTU3Nl0sIFsxNjYzODQxODQ2LjIwODQxMzEsIDEyMjMxLCAxLjA4OTgyNTg2ODYwNjU2NzRdLCBbMTY2Mzg0MTg0Ni40NDY2MTQ3LCAxMjI0OSwgMS4wNTU3MzgzMjk4ODczOTAxXSwgWzE2NjM4NDE4NDYuOTEzMzU5MiwgMTIyODUsIDEuMDg5MzYwMjM3MTIxNTgyXSwgWzE2NjM4NDE4NDcuMDIzNTIzMywgMTIyOTQsIDEuMzAwNDIyOTA2ODc1NjEwNF0sIFsxNjYzODQxODQ3LjE0MDU4NzgsIDEyMzAzLCAxLjExNDczNjc5NTQyNTQxNV0sIFsxNjYzODQxODQ3LjUwMTUzMDIsIDEyMzEyLCAxLjEyMjM1ODA4MzcyNDk3NTZdLCBbMTY2Mzg0MTg0Ny42MDY5NjU1LCAxMjMyMSwgMS4zNjI2Mzk3ODQ4MTI5MjcyXSwgWzE2NjM4NDE4NDguMDEzNDUzLCAxMjM1NywgMS4xODMzODg1OTA4MTI2ODNdLCBbMTY2Mzg0MTg0OC4xMTQzNDcyLCAxMjM2NiwgMS4yODA0Mzk2MTUyNDk2MzM4XSwgWzE2NjM4NDE4NDguMzgwMDM3MywgMTIzODQsIDAuOTM2OTkxMzkzNTY2MTMxNl0sIFsxNjYzODQxODQ4LjQ5NTc3MTQsIDEyMzkzLCAxLjA1NjkwMDAyNDQxNDA2MjVdLCBbMTY2Mzg0MTg0OC45NTgxOTk3LCAxMjQyOSwgMS40NDM3MzIwMjMyMzkxMzU3XSwgWzE2NjM4NDE4NDkuNTI3OTkwOCwgMTI0NzQsIDEuMzE1NzQ0NzU3NjUyMjgyN10sIFsxNjYzODQxODQ5LjY1Mjk4MSwgMTI0ODMsIDEuMDA5Njg4NzM1MDA4MjM5N10sIFsxNjYzODQxODUwLjEyMjY3MSwgMTI1MTksIDEuNDk3OTY0OTc4MjE4MDc4Nl0sIFsxNjYzODQxODUwLjQ5OTY2MTcsIDEyNTQ2LCAwLjk4Mzc5ODE0NjI0Nzg2MzhdLCBbMTY2Mzg0MTg1MC45NzQwNTQ2LCAxMjU4MiwgMS4wNTQ1NzY5OTI5ODg1ODY0XSwgWzE2NjM4NDE4NTEuMzIxNTg4LCAxMjYwOSwgMS4wODc1MjAzNjA5NDY2NTUzXSwgWzE2NjM4NDE4NTEuNjc1NzI2NCwgMTI2MzYsIDEuNDA3NzUwNzI1NzQ2MTU0OF0sIFsxNjYzODQxODUxLjg5NzgzNCwgMTI2NTQsIDEuMDM5NDk0NjMzNjc0NjIxNl0sIFsxNjYzODQxODUyLjgwMTk4NDUsIDEyNzI2LCAxLjE1NDMyOTE4MDcxNzQ2ODNdLCBbMTY2Mzg0MTg1My4xNjQ0NTczLCAxMjc1MywgMS4xNzI0ODEwNjAwMjgwNzYyXSwgWzE2NjM4NDE4NTMuMjc5NjkxMiwgMTI3NjIsIDEuMDk0NDI0OTYyOTk3NDM2NV0sIFsxNjYzODQxODUzLjUyNDY3MTYsIDEyNzgwLCAxLjI2NTc2MjA5MDY4Mjk4MzRdLCBbMTY2Mzg0MTg1My43NTkzOTA0LCAxMjc5OCwgMS40OTgwMzQxMTk2MDYwMThdLCBbMTY2Mzg0MTg1My44NDk5OTIsIDEyODA3LCAxLjMzMDY4OTMxMTAyNzUyNjldLCBbMTY2Mzg0MTg1NC42OTM4NDI2LCAxMjg4OCwgMS4wNTY5MzQzNTY2ODk0NTMxXSwgWzE2NjM4NDE4NTQuNzg0MDk4OSwgMTI4OTcsIDEuMjc3NzA4MDUzNTg4ODY3Ml0sIFsxNjYzODQxODU1LjE2NTk3MiwgMTI5MzMsIDEuMTI4MDc4ODE4MzIxMjI4XSwgWzE2NjM4NDE4NTUuMzYyNjcyNiwgMTI5NTEsIDEuMjgwNzU3NDI3MjE1NTc2Ml0sIFsxNjYzODQxODU1LjQ2MjcsIDEyOTYwLCAxLjI5NDA2OTY0Nzc4OTAwMTVdLCBbMTY2Mzg0MTg1NS41NTg1MjUzLCAxMjk2OSwgMS4wNDgwOTk5OTQ2NTk0MjM4XSwgWzE2NjM4NDE4NTUuNjUxMDM2NSwgMTI5NzgsIDEuMjEyNDUwMjY1ODg0Mzk5NF0sIFsxNjYzODQxODU1LjkyOTcxODcsIDEzMDA1LCAxLjA2ODk0NzE5NjAwNjc3NV0sIFsxNjYzODQxODU2LjEwNzk4NTUsIDEzMDIzLCAxLjA1NTAzMzkyMjE5NTQzNDZdLCBbMTY2Mzg0MTg1Ni4xOTY3NDA0LCAxMzAzMiwgMS4xMDU1OTIyNTA4MjM5NzQ2XSwgWzE2NjM4NDE4NTYuMjg5NjQzOCwgMTMwNDEsIDEuMTIwNDAwOTA1NjA5MTMwOV0sIFsxNjYzODQxODU2LjM4MDc1NzYsIDEzMDUwLCAwLjk5MTE4NjMyMDc4MTcwNzhdLCBbMTY2Mzg0MTg1Ni40ODc5Mjg5LCAxMzA1OSwgMS43MTA2NTA4MDE2NTg2MzA0XSwgWzE2NjM4NDE4NTYuNTc4ODYzOSwgMTMwNjgsIDEuMDI4OTk2OTQ0NDI3NDkwMl0sIFsxNjYzODQxODU2LjY3ODEzNiwgMTMwNzcsIDEuMTkwODg3Njg5NTkwNDU0XSwgWzE2NjM4NDE4NTYuODY5MjAwNSwgMTMwOTUsIDEuMjY5NjAyNzc1NTczNzMwNV0sIFsxNjYzODQxODU2Ljk3OTg0NjUsIDEzMTA0LCAxLjI4MTU1NjAxMDI0NjI3NjldLCBbMTY2Mzg0MTg1Ny4yNzkyMDI1LCAxMzExMywgMS4xMTM1MjAxNDU0MTYyNTk4XSwgWzE2NjM4NDE4NTcuMzgwNzY2NCwgMTMxMjIsIDAuOTc0NDgzNzg4MDEzNDU4M10sIFsxNjYzODQxODU3LjQ4NzUxMzgsIDEzMTMxLCAxLjA1NjQ1NzA0MjY5NDA5MThdLCBbMTY2Mzg0MTg1Ny42MTgxNDU1LCAxMzE0MCwgMS4xMjU2ODY4ODM5MjYzOTE2XSwgWzE2NjM4NDE4NTcuNzIyODIzNCwgMTMxNDksIDEuMTcyMzA5NjM3MDY5NzAyMV0sIFsxNjYzODQxODU3LjgxNzY1NzIsIDEzMTU4LCAxLjI1ODI0OTQwMjA0NjIwMzZdLCBbMTY2Mzg0MTg1OC4wNjk2MDI3LCAxMzE3NiwgMS40MTA5MjUzODgzMzYxODE2XSwgWzE2NjM4NDE4NTkuMDAzMzE4NSwgMTMyMzksIDEuMDg3NDAzNTM1ODQyODk1NV0sIFsxNjYzODQxODU5LjM0ODQwMzUsIDEzMjY2LCAxLjIzMjg5OTU0NjYyMzIzXSwgWzE2NjM4NDE4NTkuNDQ5OTY2MiwgMTMyNzUsIDEuNjQ0OTg5ODQ4MTM2OTAxOV0sIFsxNjYzODQxODU5LjY2MzEzOTgsIDEzMjkzLCAxLjAxMzEwNjcwMzc1ODIzOTddLCBbMTY2Mzg0MTg2MC4yMDM3MzQ5LCAxMzMzOCwgMC45MTk4MzAyNjI2NjA5ODAyXSwgWzE2NjM4NDE4NjAuMjk4MjU1NCwgMTMzNDcsIDEuMjA0MzIzNzY4NjE1NzIyN10sIFsxNjYzODQxODYwLjM5MDk1NSwgMTMzNTYsIDEuMDY4MjQ2MTI2MTc0OTI2OF0sIFsxNjYzODQxODYwLjgzNDQ1NjcsIDEzMzkyLCAxLjE0NDY4OTkxNzU2NDM5Ml0sIFsxNjYzODQxODYxLjA4MDAzMDQsIDEzNDEwLCAxLjM2NjY2NTM2MzMxMTc2NzZdLCBbMTY2Mzg0MTg2MS4xNzkxNTc3LCAxMzQxOSwgMS4wMDEyNzAxNzQ5ODAxNjM2XSwgWzE2NjM4NDE4NjEuMjgxMzIxMywgMTM0MjgsIDEuMjg0OTM1NDc0Mzk1NzUyXSwgWzE2NjM4NDE4NjEuNDYxNjc0NywgMTM0NDYsIDEuMDcyNDIwMDAxMDI5OTY4M10sIFsxNjYzODQxODYxLjU1NzY4OTcsIDEzNDU1LCAxLjAzMTY0NDM0NDMyOTgzNF0sIFsxNjYzODQxODYxLjk5NDQwNywgMTM0OTEsIDEuMTc1NDkwMTQwOTE0OTE3XSwgWzE2NjM4NDE4NjIuMTI5Njk4NSwgMTM1MDAsIDAuOTU4NTYxOTU2ODgyNDc2OF0sIFsxNjYzODQxODYyLjI2ODc2NjIsIDEzNTA5LCAxLjA5NTM4NzIyMDM4MjY5MDRdLCBbMTY2Mzg0MTg2Mi41MTEzNDEsIDEzNTI3LCAxLjEzMTU1NTQzODA0MTY4N10sIFsxNjYzODQxODYyLjg1MzgxOTEsIDEzNTU0LCAxLjIwNDU3ODUxODg2NzQ5MjddLCBbMTY2Mzg0MTg2My4zNTI0ODk3LCAxMzU5MCwgMS4zMDY4MzM3NDQwNDkwNzIzXSwgWzE2NjM4NDE4NjMuNDYzNDE5NCwgMTM1OTksIDEuMTkzNTk1NTI4NjAyNl0sIFsxNjYzODQxODYzLjU3NDMzNzUsIDEzNjA4LCAxLjA4NzExODM4NzIyMjI5XSwgWzE2NjM4NDE4NjMuODIyNTAxMiwgMTM2MjYsIDEuMDA2NzQ0NzQyMzkzNDkzN10sIFsxNjYzODQxODY0LjA1MzkxMSwgMTM2NDQsIDAuOTk0OTk0NDAxOTMxNzYyN10sIFsxNjYzODQxODY0LjE3MjYwMjIsIDEzNjUzLCAxLjE4NzMwMjIzMTc4ODYzNTNdLCBbMTY2Mzg0MTg2NC45MDUyNzU4LCAxMzcxNiwgMS4xMjk3MzUyMzEzOTk1MzYxXSwgWzE2NjM4NDE4NjUuMjA2MDkyNCwgMTM3NDMsIDEuNjE2MjU4MDI1MTY5MzcyNl0sIFsxNjYzODQxODY1LjQyNDEzOTcsIDEzNzYxLCAwLjkxNzcyMjg4MDg0MDMwMTVdLCBbMTY2Mzg0MTg2Ni4xOTU2NTc3LCAxMzgxNSwgMC45NzQwODgwMTMxNzIxNDk3XSwgWzE2NjM4NDE4NjYuNTM4MzM3LCAxMzg0MiwgMS4yNjA0NTA0ODIzNjg0NjkyXSwgWzE2NjM4NDE4NjYuNjY3NDI0NywgMTM4NTEsIDEuMjQ5NjMwMDkzNTc0NTI0XSwgWzE2NjM4NDE4NjcuMjcwNzIyNiwgMTM4NzgsIDEuMTMwNDIyMTE1MzI1OTI3N10sIFsxNjYzODQxODY3Ljk4NTIxNywgMTM5MzIsIDEuMzU2ODc1MTgxMTk4MTIwMV0sIFsxNjYzODQxODY4LjExMzYxMjIsIDEzOTQxLCAxLjA5ODcxODY0MzE4ODQ3NjZdLCBbMTY2Mzg0MTg2OC40NTYyNDM1LCAxMzk2OCwgMS4zNTM5NTk2Nzk2MDM1NzY3XSwgWzE2NjM4NDE4NjguNTY3MDA0NywgMTM5NzcsIDEuMTA0NzIyMjYxNDI4ODMzXSwgWzE2NjM4NDE4NjguNjgzNjU2NywgMTM5ODYsIDEuMDgzNzI2NTI1MzA2NzAxN10sIFsxNjYzODQxODY4Ljg5NzcxMTUsIDE0MDA0LCAxLjA0MDU2NzE1OTY1MjcxXSwgWzE2NjM4NDE4NjkuMTIxMzE2NCwgMTQwMjIsIDAuOTMwODIzMTQ3Mjk2OTA1NV0sIFsxNjYzODQxODY5LjYwNjE4NjIsIDE0MDY3LCAxLjE1MzI3ODk0Njg3NjUyNTldLCBbMTY2Mzg0MTg2OS44MDMzNjgsIDE0MDg1LCAxLjMxMDAyNjg4NDA3ODk3OTVdLCBbMTY2Mzg0MTg2OS44OTI3MTQ3LCAxNDA5NCwgMS4xNzI1NDI0NTI4MTIxOTQ4XSwgWzE2NjM4NDE4NjkuOTk3NjQ2NiwgMTQxMDMsIDEuMDgyMDMwODkyMzcyMTMxM10sIFsxNjYzODQxODcwLjE4NDE2MzgsIDE0MTIxLCAwLjk4MjA0NzM3OTAxNjg3NjJdLCBbMTY2Mzg0MTg3MC4zNzc5MDk0LCAxNDEzOSwgMS40MTA1MDQ1Nzk1NDQwNjc0XSwgWzE2NjM4NDE4NzAuNDgxOTI4LCAxNDE0OCwgMC45ODY0Mjg0OTkyMjE4MDE4XSwgWzE2NjM4NDE4NzAuNTczNTYxMiwgMTQxNTcsIDEuMjg5MjU4ODM3Njk5ODkwMV0sIFsxNjYzODQxODcwLjcwODUyMywgMTQxNjYsIDEuMTUxNDg1ODAwNzQzMTAzXSwgWzE2NjM4NDE4NzEuMTExODYzNiwgMTQxOTMsIDEuMzA4MTIzMzUwMTQzNDMyNl0sIFsxNjYzODQxODcxLjM4NjczMDIsIDE0MjExLCAxLjIxMjAxOTgwMTEzOTgzMTVdLCBbMTY2Mzg0MTg3MS42MTgzMDY2LCAxNDIyOSwgMS4xNTU2MjIwMDU0NjI2NDY1XSwgWzE2NjM4NDE4NzEuNzU1NDk3MiwgMTQyMzgsIDEuMjAyMTA3MDcxODc2NTI1OV0sIFsxNjYzODQxODcxLjg3NDI1NCwgMTQyNDcsIDEuMDg3MzE0MjQ4MDg1MDIyXSwgWzE2NjM4NDE4NzIuMjEyNjIwNSwgMTQyNzQsIDEuMTk5MDc5NzUxOTY4MzgzOF0sIFsxNjYzODQxODcyLjc5MDY4MTEsIDE0MzE5LCAxLjA2NTA4NTE3MjY1MzE5ODJdLCBbMTY2Mzg0MTg3My4zOTk0NDgsIDE0MzY0LCAxLjI3MTU1OTExOTIyNDU0ODNdLCBbMTY2Mzg0MTg3My41MDk3NDcsIDE0MzczLCAxLjExOTAwNTY4MDA4NDIyODVdLCBbMTY2Mzg0MTg3My42MjczODk3LCAxNDM4MiwgMS4xMTQ4OTAzMzY5OTAzNTY0XSwgWzE2NjM4NDE4NzQuMDg5ODg5OCwgMTQ0MTgsIDEuMTMzMTI2MTM5NjQwODA4XSwgWzE2NjM4NDE4NzQuMjA3MzIyMSwgMTQ0MjcsIDEuNDkzMDEwMDQ0MDk3OTAwNF0sIFsxNjYzODQxODc0LjMyMTA4NzYsIDE0NDM2LCAxLjI4MTkyOTI1NDUzMTg2MDRdLCBbMTY2Mzg0MTg3NS4xMjk1NzIyLCAxNDQ5OSwgMS4wODMzMTMyMjY2OTk4MjldLCBbMTY2Mzg0MTg3NS4yNDc0MTgsIDE0NTA4LCAxLjE4ODI5MTQzMDQ3MzMyNzZdLCBbMTY2Mzg0MTg3NS40Nzk2MTA3LCAxNDUyNiwgMS4xNDE3MzYyNjg5OTcxOTI0XSwgWzE2NjM4NDE4NzUuNTk1MjE5LCAxNDUzNSwgMC45Mzg1MjE0NDQ3OTc1MTU5XSwgWzE2NjM4NDE4NzUuODI3OTMyNCwgMTQ1NTMsIDEuMTc1MDc5OTQxNzQ5NTcyOF0sIFsxNjYzODQxODc2LjUwNjY2NTUsIDE0NjA3LCAwLjkzNjc4Njg5MDAyOTkwNzJdLCBbMTY2Mzg0MTg3Ni43NTcwMDc2LCAxNDYyNSwgMC45OTQ4ODM2NTY1MDE3N10sIFsxNjYzODQxODc2Ljk5MzQxNTgsIDE0NjQzLCAxLjMxOTIwNjM1NzAwMjI1ODNdLCBbMTY2Mzg0MTg3Ny4xMDU3MzEyLCAxNDY1MiwgMS4wODEzODg5NTAzNDc5MDA0XSwgWzE2NjM4NDE4NzcuNzQ4OTYyNCwgMTQ2ODgsIDAuOTk3NTA2OTE2NTIyOTc5N10sIFsxNjYzODQxODc4LjE0NDAxMDMsIDE0NzI0LCAxLjI3MDY3NjQ5MzY0NDcxNDRdLCBbMTY2Mzg0MTg3OC4yNDAzMDYsIDE0NzMzLCAxLjIwMjQyNjkxMDQwMDM5MDZdLCBbMTY2Mzg0MTg3OC4zMzA4MzMsIDE0NzQyLCAxLjA0NjI4MjY0OTA0MDIyMjJdLCBbMTY2Mzg0MTg3OC42NDgyNTIyLCAxNDc2OSwgMS4wMjI0ODA5NjQ2NjA2NDQ1XSwgWzE2NjM4NDE4NzguNzQxNDkxOCwgMTQ3NzgsIDEuNTE4ODAzMzU4MDc4MDAzXSwgWzE2NjM4NDE4NzkuMjM5LCAxNDgyMywgMS4yNDIyMDQwNzAwOTEyNDc2XSwgWzE2NjM4NDE4NzkuMzI5ODk2NywgMTQ4MzIsIDEuMDc5MDEzMzQ3NjI1NzMyNF0sIFsxNjYzODQxODc5LjUxNDY1OTQsIDE0ODUwLCAxLjMyODMwNjU1NTc0Nzk4NThdLCBbMTY2Mzg0MTg3OS43MDcyMjE3LCAxNDg2OCwgMS4xMzI5MDk3NzQ3ODAyNzM0XSwgWzE2NjM4NDE4NzkuNzk5MjIyMiwgMTQ4NzcsIDEuMTY2ODY1MTEwMzk3MzM4OV0sIFsxNjYzODQxODc5Ljg5MzY0NywgMTQ4ODYsIDEuMzU3ODc2MzAwODExNzY3Nl0sIFsxNjYzODQxODc5Ljk4NzcwMzYsIDE0ODk1LCAxLjQ2NDIwNTE0NTgzNTg3NjVdLCBbMTY2Mzg0MTg4MC4xODg4NzQ3LCAxNDkxMywgMS4wMDI3NjE2MDI0MDE3MzM0XSwgWzE2NjM4NDE4ODAuMzc0MjIyMywgMTQ5MzEsIDEuMTg1MjgxODcyNzQ5MzI4Nl0sIFsxNjYzODQxODgwLjczNTkxOSwgMTQ5NjcsIDEuMTc1NTYyNTAwOTUzNjc0M10sIFsxNjYzODQxODgwLjkyMzgzNjcsIDE0OTg1LCAxLjEyMTM5NjA2NDc1ODMwMDhdLCBbMTY2Mzg0MTg4MS4xMDk5NDg2LCAxNTAwMywgMS4wOTk1MTEyNjU3NTQ2OTk3XSwgWzE2NjM4NDE4ODEuMzk1MTcwNSwgMTUwMzAsIDEuMTkyNzM4Mjk0NjAxNDQwNF0sIFsxNjYzODQxODgxLjQ4OTkyNTEsIDE1MDM5LCAxLjMwODcyNzM4MzYxMzU4NjRdLCBbMTY2Mzg0MTg4MS44OTI1OTE3LCAxNTA3NSwgMS4wODg3NTY1NjEyNzkyOTY5XSwgWzE2NjM4NDE4ODIuMTc1MTI5MiwgMTUxMDIsIDAuOTE4NjU5OTI1NDYwODE1NF0sIFsxNjYzODQxODgyLjM3NDE2NywgMTUxMjAsIDAuODYxMjQ4MDc1OTYyMDY2N10sIFsxNjYzODQxODgyLjQ2OTczNDQsIDE1MTI5LCAxLjAxNDU2Njg5ODM0NTk0NzNdLCBbMTY2Mzg0MTg4Mi41NjUwMTgsIDE1MTM4LCAxLjA3NTc4MDk4NzczOTU2M10sIFsxNjYzODQxODgyLjY2ODExNTEsIDE1MTQ3LCAwLjg5NzQyMTg5NjQ1NzY3MjFdLCBbMTY2Mzg0MTg4My4wMDQ2NDQyLCAxNTE3NCwgMS4wMzEzNjkyMDkyODk1NTA4XSwgWzE2NjM4NDE4ODMuMTM2NTY0NywgMTUxODMsIDEuMDYwOTA0MDI2MDMxNDk0MV0sIFsxNjYzODQxODgzLjIzNzg2NTQsIDE1MTkyLCAxLjI2NTY2OTQ2NTA2NTAwMjRdLCBbMTY2Mzg0MTg4My4zMzU3MDc3LCAxNTIwMSwgMS4xNzI5ODg3NzIzOTIyNzNdLCBbMTY2Mzg0MTg4My44MjMyMDIxLCAxNTI0NiwgMS4xMzY4MDYwMTExOTk5NTEyXSwgWzE2NjM4NDE4ODMuOTMwNTM5NCwgMTUyNTUsIDEuMDU1MTE2MTc2NjA1MjI0Nl0sIFsxNjYzODQxODg0LjA2MTU1MjUsIDE1MjY0LCAwLjk1NTk2NTI4MDUzMjgzNjldLCBbMTY2Mzg0MTg4NC4zMTYyNzMyLCAxNTI4MiwgMC45NzM5MTk2ODk2NTUzMDRdLCBbMTY2Mzg0MTg4NC40NDM1NiwgMTUyOTEsIDEuMTg3NzI0MjMyNjczNjQ1XSwgWzE2NjM4NDE4ODQuNTcxNzIyLCAxNTMwMCwgMS4yMTQ2NTk4MTAwNjYyMjMxXSwgWzE2NjM4NDE4ODQuNjk1MDQ0OCwgMTUzMDksIDEuMDUyMDUwNDcxMzA1ODQ3Ml0sIFsxNjYzODQxODg0LjkzNDU4NTYsIDE1MzI3LCAxLjA3MDMzMTA5NjY0OTE3XSwgWzE2NjM4NDE4ODUuMTg2MTI3MiwgMTUzNDUsIDEuMDE4MTUxOTk4NTE5ODk3NV0sIFsxNjYzODQxODg1LjU3MDY4NTYsIDE1MzcyLCAxLjE2NzAzOTc1MjAwNjUzMDhdLCBbMTY2Mzg0MTg4NS44MTY3MTQsIDE1MzkwLCAwLjk1ODg5NjA0MDkxNjQ0MjldLCBbMTY2Mzg0MTg4NS45Mzc1NDMyLCAxNTM5OSwgMS4wMzI0NDEwMjAwMTE5MDE5XSwgWzE2NjM4NDE4ODYuMzE2NTA3LCAxNTQwOCwgMS4yNjkzNDQzMjk4MzM5ODQ0XSwgWzE2NjM4NDE4ODYuNDI3ODg2MiwgMTU0MTcsIDEuMTgzNDUyMDEwMTU0NzI0MV0sIFsxNjYzODQxODg3LjE1MjEwNDEsIDE1NDcxLCAxLjAxNjM4NDEyNDc1NTg1OTRdLCBbMTY2Mzg0MTg4Ny4yNDQ4NzgzLCAxNTQ4MCwgMS40MjAwNTcwNTgzMzQzNTA2XSwgWzE2NjM4NDE4ODcuNTI2OTAyNywgMTU1MDcsIDAuOTc1ODY2MjU4MTQ0Mzc4N10sIFsxNjYzODQxODg3LjYyOTQ3NzcsIDE1NTE2LCAxLjExNjIwOTE0OTM2MDY1NjddLCBbMTY2Mzg0MTg4Ny43MjQ4MDI3LCAxNTUyNSwgMS4xMDcxNzQwMzg4ODcwMjRdLCBbMTY2Mzg0MTg4Ny44MTk1OTksIDE1NTM0LCAxLjA2MDcxMjMzNzQ5Mzg5NjVdLCBbMTY2Mzg0MTg4OC40Mjk4MiwgMTU1NzksIDEuMjMzMjQ5MzA2Njc4NzcyXSwgWzE2NjM4NDE4ODkuMzQwMTUxLCAxNTY1MSwgMS4yMjM2MzY5ODQ4MjUxMzQzXSwgWzE2NjM4NDE4ODkuNDM0MTU0NSwgMTU2NjAsIDEuMjg3NzY1NTAyOTI5Njg3NV0sIFsxNjYzODQxODg5LjU1MjI3MzUsIDE1NjY5LCAxLjMzMzIxMzQ0ODUyNDQ3NV0sIFsxNjYzODQxODg5LjkwNjA0OSwgMTU2OTYsIDEuMTY0OTI5MDMyMzI1NzQ0Nl0sIFsxNjYzODQxODkwLjE3MzQ0MzMsIDE1NzE0LCAxLjAzMjc2NzI5NTgzNzQwMjNdLCBbMTY2Mzg0MTg5MC41MTI4NzM2LCAxNTc0MSwgMi4xNDg1OTg5MDkzNzgwNTE4XSwgWzE2NjM4NDE4OTAuNjI0Njk4NCwgMTU3NTAsIDEuNDY3NDk2MTU2NjkyNTA0OV0sIFsxNjYzODQxODkwLjcyOTYwMDcsIDE1NzU5LCAxLjI1Mjk5NzA0MDc0ODU5NjJdLCBbMTY2Mzg0MTg5MC44NDI1NTIsIDE1NzY4LCAxLjIyNzMxMzk5NTM2MTMyODFdLCBbMTY2Mzg0MTg5MS4wNjkzMzc2LCAxNTc4NiwgMS40MzAyNTI3OTA0NTEwNDk4XSwgWzE2NjM4NDE4OTEuMTkwOTk4OCwgMTU3OTUsIDEuMDkxMDc5NTkyNzA0NzczXSwgWzE2NjM4NDE4OTEuNTM2MTQwNCwgMTU4MjIsIDEuMjM4NjM1NjU5MjE3ODM0NV0sIFsxNjYzODQxODkyLjE0Mzc1NjQsIDE1ODY3LCAxLjAzMTczOTk1MDE4MDA1MzddLCBbMTY2Mzg0MTg5Mi4yNDU3MDU4LCAxNTg3NiwgMS41MzU3NTkzMjk3OTU4Mzc0XSwgWzE2NjM4NDE4OTIuNTI2OTE2NSwgMTU4OTQsIDAuOTc3ODA5NjA3OTgyNjM1NV0sIFsxNjYzODQxODkyLjY3NDY0MTgsIDE1OTAzLCAxLjA3MjQyMDEyMDIzOTI1NzhdLCBbMTY2Mzg0MTg5Mi45MDcyNzgsIDE1OTIxLCAxLjE3NTU5ODUwMjE1OTExODddLCBbMTY2Mzg0MTg5My43MzY3MDcsIDE1OTg0LCAxLjMxMTcyNDMwNTE1Mjg5M10sIFsxNjYzODQxODkzLjg0NTg2MSwgMTU5OTMsIDAuOTY3ODk4NDI4NDQwMDk0XSwgWzE2NjM4NDE4OTMuOTUzNDUzMywgMTYwMDIsIDEuMTg3NTI5MzI1NDg1MjI5NV0sIFsxNjYzODQxODk0LjMyMzEzODUsIDE2MDI5LCAxLjM2NzYzMTQzNTM5NDI4N10sIFsxNjYzODQxODk0LjgyODU4MzIsIDE2MDY1LCAxLjA5Mzg4MjY3OTkzOTI3XSwgWzE2NjM4NDE4OTQuOTYxNzIzOCwgMTYwNzQsIDEuMDI1OTc5NTE4ODkwMzgwOV0sIFsxNjYzODQxODk1LjA4MDU1LCAxNjA4MywgMS4wODQwOTUzNTg4NDg1NzE4XSwgWzE2NjM4NDE4OTUuMTk5MjE1NywgMTYwOTIsIDAuOTA3OTA5NjMxNzI5MTI2XSwgWzE2NjM4NDE4OTUuNDMzMDYxOCwgMTYxMTAsIDEuMjEwNTQ4MDQzMjUxMDM3Nl0sIFsxNjYzODQxODk1LjU1NzA0ODYsIDE2MTE5LCAwLjkyNTk4MTA0NDc2OTI4NzFdLCBbMTY2Mzg0MTg5NS43NzczODY0LCAxNjEzNywgMS4xODY1MTQ5NzM2NDA0NDJdLCBbMTY2Mzg0MTg5NS45Njc0ODE5LCAxNjE1NSwgMS4xNTc5NjQzNDg3OTMwMjk4XSwgWzE2NjM4NDE4OTYuMTU2NDc0NiwgMTYxNzMsIDEuMDY2NTQxOTEwMTcxNTA4OF0sIFsxNjYzODQxODk2LjI1NjA2MywgMTYxODIsIDEuMjY2ODc1MDI4NjEwMjI5NV0sIFsxNjYzODQxODk2Ljc2MzUyODYsIDE2MjA5LCAwLjk4MTk0Nzc3OTY1NTQ1NjVdLCBbMTY2Mzg0MTg5Ny4wMDE2MTM0LCAxNjIyNywgMS4zODIwMzEyMDIzMTYyODQyXSwgWzE2NjM4NDE4OTcuMDkzMDgzOSwgMTYyMzYsIDEuMDE4ODcxMTg4MTYzNzU3M10sIFsxNjYzODQxODk3LjE4Njg1MDUsIDE2MjQ1LCAwLjk5NzgwMzkyNjQ2Nzg5NTVdLCBbMTY2Mzg0MTg5Ny42ODM4MjQ1LCAxNjI4MSwgMS4zMzA1MTk1NTY5OTkyMDY1XSwgWzE2NjM4NDE4OTcuOTUyMjI0NywgMTYyOTksIDAuOTY4MjIyMTQxMjY1ODY5MV0sIFsxNjYzODQxODk4LjQ2OTk4MjYsIDE2MzM1LCAxLjI2Njg5NzkxNjc5MzgyMzJdLCBbMTY2Mzg0MTg5OC43MDA5NDM1LCAxNjM1MywgMC45NjI2MDgwMzkzNzkxMTk5XSwgWzE2NjM4NDE4OTguOTM4MjM3NywgMTYzNzEsIDAuOTUzNzE2MTU4ODY2ODgyM10sIFsxNjYzODQxODk5LjA1NjA1MzIsIDE2MzgwLCAxLjE2NDcwNTc1MzMyNjQxNl0sIFsxNjYzODQxODk5LjUxOTYyMiwgMTY0MTYsIDEuMTA4NzkzMTM5NDU3NzAyNl0sIFsxNjYzODQxODk5Ljg3ODk0NSwgMTY0NDMsIDEuMjQyODg0ODc0MzQzODcyXSwgWzE2NjM4NDE4OTkuOTk3OTc4LCAxNjQ1MiwgMS4xNzUzMDQxNzQ0MjMyMTc4XSwgWzE2NjM4NDE5MDAuMjMwNDMyLCAxNjQ3MCwgMS4wNTI4MTE4NjEwMzgyMDhdLCBbMTY2Mzg0MTkwMC4zNDg0MTU5LCAxNjQ3OSwgMS4wMDA3MDc2MjYzNDI3NzM0XSwgWzE2NjM4NDE5MDAuNTgwNjY3LCAxNjQ5NywgMC45NjUzMTU1MjA3NjMzOTcyXSwgWzE2NjM4NDE5MDAuNjkwNDQ4MywgMTY1MDYsIDEuMDc3OTk1NjU3OTIwODM3NF0sIFsxNjYzODQxOTAwLjgwMzY2NDIsIDE2NTE1LCAxLjA5NzYzNTM4ODM3NDMyODZdLCBbMTY2Mzg0MTkwMS4wMjQzNzcsIDE2NTMzLCAwLjkwOTczMzIzNTgzNjAyOV0sIFsxNjYzODQxOTAxLjE1NjE0NywgMTY1NDIsIDEuMjkxNzIzOTY2NTk4NTEwN10sIFsxNjYzODQxOTAxLjI3MDQ0NTgsIDE2NTUxLCAxLjA2MzQyMDI5NTcxNTMzMl0sIFsxNjYzODQxOTAxLjk3NTA2MzgsIDE2NjA1LCAxLjA4NTM0Nzc3MTY0NDU5MjNdLCBbMTY2Mzg0MTkwMi4wOTIzNzIyLCAxNjYxNCwgMS4wNDI2MTY0ODY1NDkzNzc0XSwgWzE2NjM4NDE5MDIuMjA3MzUwNywgMTY2MjMsIDEuNDU3Nzg3NzUyMTUxNDg5M10sIFsxNjYzODQxOTAyLjMyNjYyMiwgMTY2MzIsIDAuODkxMDMwMTkyMzc1MTgzMV0sIFsxNjYzODQxOTAyLjQ0OTE5MjgsIDE2NjQxLCAxLjA4NTY2MTUzMDQ5NDY5XSwgWzE2NjM4NDE5MDIuODAyOTIwOCwgMTY2NjgsIDAuOTMyMDU4Mjc0NzQ1OTQxMl0sIFsxNjYzODQxOTAzLjA0NDg3MzcsIDE2Njg2LCAxLjAzNzgzNzE0NzcxMjcwNzVdLCBbMTY2Mzg0MTkwMy44NTI3NjA4LCAxNjc0OSwgMC45NTI0MTk5OTYyNjE1OTY3XSwgWzE2NjM4NDE5MDQuMzA0ODQ5NiwgMTY3ODUsIDEuMDQzNjQxMDkwMzkzMDY2NF0sIFsxNjYzODQxOTA0LjQyMjUzNiwgMTY3OTQsIDEuMjI2ODY3MTk4OTQ0MDkxOF0sIFsxNjYzODQxOTA0LjUzMzYyNDIsIDE2ODAzLCAxLjA4ODUzMTEzNjUxMjc1NjNdLCBbMTY2Mzg0MTkwNC42NTQyODU0LCAxNjgxMiwgMC45Mzg4MDMzMTUxNjI2NTg3XSwgWzE2NjM4NDE5MDUuMTAyNDQ0NiwgMTY4NDgsIDAuOTc1NDI1NDIyMTkxNjE5OV0sIFsxNjYzODQxOTA1LjIxMTI2ODIsIDE2ODU3LCAxLjExNzgwNjc5MjI1OTIxNjNdLCBbMTY2Mzg0MTkwNS4zMjAxNTY2LCAxNjg2NiwgMC45NzYyNzY0NTczMDk3MjI5XSwgWzE2NjM4NDE5MDUuNDM1NDQxNywgMTY4NzUsIDEuMTU0MTYzOTU2NjQyMTUwOV0sIFsxNjYzODQxOTA1LjU1MjkxNSwgMTY4ODQsIDEuMTUwNjg0NDc1ODk4NzQyN10sIFsxNjYzODQxOTA1Ljc5Mjc1NDIsIDE2OTAyLCAwLjk2NTEyOTQzNTA2MjQwODRdLCBbMTY2Mzg0MTkwNi4wOTgwNTEsIDE2OTI5LCAxLjMzNjc4MTk3ODYwNzE3NzddLCBbMTY2Mzg0MTkwNi4zNzk0NTQxLCAxNjk1NiwgMS40OTQ3MTk4NjI5Mzc5MjcyXSwgWzE2NjM4NDE5MDYuNDY1MzI2LCAxNjk2NSwgMS4xOTU3OTY3MjgxMzQxNTUzXSwgWzE2NjM4NDE5MDYuNjY5Njk1NCwgMTY5ODMsIDEuMDUwOTAyMjQ3NDI4ODk0XSwgWzE2NjM4NDE5MDYuODQ5NDg3LCAxNzAwMSwgMC45OTQ4Nzc3NTU2NDE5MzczXSwgWzE2NjM4NDE5MDcuMjczMjA3LCAxNzAxOSwgMS4wNzM2NDczNzk4NzUxODNdLCBbMTY2Mzg0MTkwNy4zNjUwNzc3LCAxNzAyOCwgMS41NDY5OTE3MDU4OTQ0NzAyXSwgWzE2NjM4NDE5MDcuNzYwOTc0NCwgMTcwNjQsIDEuMDYyMjM0OTk3NzQ5MzI4Nl0sIFsxNjYzODQxOTA4LjE2NTQwNCwgMTcxMDAsIDEuNDAxOTc1NTEyNTA0NTc3Nl0sIFsxNjYzODQxOTA4LjM3MDg1OSwgMTcxMTgsIDEuMDA1NjU3OTExMzAwNjU5Ml0sIFsxNjYzODQxOTA4LjQ2MTA1NTMsIDE3MTI3LCAxLjQ5MDIxOTgzMTQ2NjY3NDhdLCBbMTY2Mzg0MTkwOC45NTUxNTkyLCAxNzE2MywgMS40ODc3NTU0MTc4MjM3OTE1XSwgWzE2NjM4NDE5MDkuMTkxOTUwOCwgMTcxODEsIDEuMTk3MjQ3MTQ3NTYwMTE5Nl0sIFsxNjYzODQxOTA5LjMyNzkyMTksIDE3MTkwLCAxLjA2MDQ1NTc5OTEwMjc4MzJdLCBbMTY2Mzg0MTkwOS40NTc2NzYyLCAxNzE5OSwgMS4wMTk3NjAyNTEwNDUyMjddLCBbMTY2Mzg0MTkwOS44NjI4NTE5LCAxNzIyNiwgMS4yNjg4MDc4ODgwMzEwMDU5XSwgWzE2NjM4NDE5MTAuMjI0OTY5LCAxNzI1MywgMS4yMDIwNjM1NjA0ODU4Mzk4XSwgWzE2NjM4NDE5MTAuNDU2OTc5LCAxNzI3MSwgMS40NTg1MjM3NTAzMDUxNzU4XSwgWzE2NjM4NDE5MTEuMTQ4NDE4NywgMTczMjUsIDEuMTczNTQ3MjY3OTEzODE4NF0sIFsxNjYzODQxOTExLjI1MzAwNzcsIDE3MzM0LCAxLjAyNTAzMzgzMTU5NjM3NDVdLCBbMTY2Mzg0MTkxMS4zNzc1Nzc4LCAxNzM0MywgMS4wMzkxNjU5NzM2NjMzM10sIFsxNjYzODQxOTExLjYxMjIxNzIsIDE3MzYxLCAxLjIyODc2MTU1Mzc2NDM0MzNdLCBbMTY2Mzg0MTkxMS43MzAzNDg4LCAxNzM3MCwgMS4yNDA5Mzg1NDQyNzMzNzY1XSwgWzE2NjM4NDE5MTIuMDc1OTk4MywgMTczOTcsIDEuNDc2ODc0NTg5OTIwMDQ0XSwgWzE2NjM4NDE5MTIuNDI3NTg2LCAxNzQyNCwgMS4yNjU4NTU1NTA3NjU5OTEyXSwgWzE2NjM4NDE5MTIuNTQwNzMzLCAxNzQzMywgMS4yNzkwMDM3MzkzNTY5OTQ2XSwgWzE2NjM4NDE5MTIuODY0NTUyLCAxNzQ2MCwgMS4xMTI4NTgwNTcwMjIwOTQ3XSwgWzE2NjM4NDE5MTIuOTc2NDY0MywgMTc0NjksIDEuMjYyNzY2MzYxMjM2NTcyM10sIFsxNjYzODQxOTEzLjA2ODg1NDgsIDE3NDc4LCAxLjIyMDA0OTk3NzMwMjU1MTNdLCBbMTY2Mzg0MTkxMy4xNzc5MDIyLCAxNzQ4NywgMS4zMTczNTk2ODU4OTc4MjcxXSwgWzE2NjM4NDE5MTMuNTMxMjE3OCwgMTc1MTQsIDEuNDE3NjU5MjgyNjg0MzI2Ml0sIFsxNjYzODQxOTEzLjc4NTgwMzgsIDE3NTMyLCAxLjA4NjQ1Mjg0MTc1ODcyOF0sIFsxNjYzODQxOTE0LjA4MTg2OTYsIDE3NTU5LCAwLjk4MzE0NTIzNjk2ODk5NDFdLCBbMTY2Mzg0MTkxNC4xODEwODgyLCAxNzU2OCwgMC45NzM5MTY1OTAyMTM3NzU2XSwgWzE2NjM4NDE5MTQuMzg1MDU2NywgMTc1ODYsIDEuMDM1NzE1NDYwNzc3MjgyN10sIFsxNjYzODQxOTE0LjY5ODQzNTgsIDE3NjEzLCAxLjE2NzUyMTExOTExNzczNjhdLCBbMTY2Mzg0MTkxNS4wOTc1MjksIDE3NjQ5LCAxLjA3MzI1NzQ0NjI4OTA2MjVdLCBbMTY2Mzg0MTkxNS4yMDA1Njc1LCAxNzY1OCwgMC45ODM5NDMxNjQzNDg2MDIzXSwgWzE2NjM4NDE5MTUuMjk3NjcsIDE3NjY3LCAxLjA4NjgxNDE2NTExNTM1NjRdLCBbMTY2Mzg0MTkxNS40MDAzMDM2LCAxNzY3NiwgMS4yMjY4ODU1NTcxNzQ2ODI2XSwgWzE2NjM4NDE5MTUuNTA2MjM1NCwgMTc2ODUsIDEuMDIyNzI2ODkzNDI0OTg3OF0sIFsxNjYzODQxOTE1LjY5NTk1OTMsIDE3NzAzLCAwLjkwMzkzNjk4MjE1NDg0NjJdLCBbMTY2Mzg0MTkxNS43OTgxMjcyLCAxNzcxMiwgMS40NjQ4NDU0MTg5MzAwNTM3XSwgWzE2NjM4NDE5MTUuODkyNzM4MywgMTc3MjEsIDEuMTI0OTAwMjIxODI0NjQ2XSwgWzE2NjM4NDE5MTUuOTkwNzMxLCAxNzczMCwgMS4wNDc5NTU5ODk4Mzc2NDY1XSwgWzE2NjM4NDE5MTYuNjk4NjY0MiwgMTc3ODQsIDEuMjM4OTQ4ODIyMDIxNDg0NF0sIFsxNjYzODQxOTE3LjEzMzk5NjIsIDE3ODAyLCAxLjEwODMxNTM0ODYyNTE4M10sIFsxNjYzODQxOTE3LjIyNzgyNjgsIDE3ODExLCAwLjkzODQ0MTk5MTgwNjAzMDNdLCBbMTY2Mzg0MTkxNy4zMjI4MzI4LCAxNzgyMCwgMC45NjA2NzUxMjAzNTM2OTg3XSwgWzE2NjM4NDE5MTcuNDE2NjMxNywgMTc4MjksIDEuMzcyMzk2MTExNDg4MzQyM10sIFsxNjYzODQxOTE3LjUwNjg1OTUsIDE3ODM4LCAxLjI1MDAxNjMzMTY3MjY2ODVdLCBbMTY2Mzg0MTkxNy41OTkwMDkzLCAxNzg0NywgMS4xMDA2ODMzMzE0ODk1NjNdLCBbMTY2Mzg0MTkxNy42OTQyNjEsIDE3ODU2LCAwLjk5NTYxODM0MzM1MzI3MTVdLCBbMTY2Mzg0MTkxNy44OTEwOTcsIDE3ODc0LCAxLjE3MDMwMzk0MDc3MzAxMDNdLCBbMTY2Mzg0MTkxOC4wODE4MiwgMTc4OTIsIDAuOTkwNzI2OTQ3Nzg0NDIzOF0sIFsxNjYzODQxOTE4LjE4Njg3NSwgMTc5MDEsIDEuNjY0OTMwODIwNDY1MDg4XSwgWzE2NjM4NDE5MTguMjc4ODA3NCwgMTc5MTAsIDEuMTA4NDA1NTkwMDU3MzczXSwgWzE2NjM4NDE5MTguNDgxMzg3NCwgMTc5MjgsIDEuMTY0OTEwMzE2NDY3Mjg1Ml0sIFsxNjYzODQxOTE4LjU3MzMxMDEsIDE3OTM3LCAwLjkyMDU2ODcwNDYwNTEwMjVdLCBbMTY2Mzg0MTkxOC42NjkxOTM3LCAxNzk0NiwgMS40NjkxMDU2MDEzMTA3M10sIFsxNjYzODQxOTE4Ljg3NTAyOSwgMTc5NjQsIDEuMTUyNzU2ODEwMTg4MjkzNV0sIFsxNjYzODQxOTE5LjU5MjYxOTQsIDE4MDI3LCAxLjEwNTE2Nzk4NDk2MjQ2MzRdLCBbMTY2Mzg0MTkyMC4xODA2MjcsIDE4MDgxLCAxLjAzMDg5NzE0MDUwMjkyOTddLCBbMTY2Mzg0MTkyMC45MjUyODY4LCAxODE1MywgMS4xMDUzNjMxMzA1Njk0NThdLCBbMTY2Mzg0MTkyMS4wMTc0Njc1LCAxODE2MiwgMS4wMDQxNTE3MDE5MjcxODVdLCBbMTY2Mzg0MTkyMS4zOTkzMTM3LCAxODE5OCwgMS4zMjM0OTEwOTY0OTY1ODJdLCBbMTY2Mzg0MTkyMS41MDc2OTUsIDE4MjA3LCAxLjA3Mjg5MTQ3Mzc3MDE0MTZdLCBbMTY2Mzg0MTkyMS41OTEwNTksIDE4MjE2LCAwLjk3NTczNjE0MTIwNDgzNF0sIFsxNjYzODQxOTIxLjc4NzM3OCwgMTgyMzQsIDEuMjAxNzMzOTQ2ODAwMjMyXSwgWzE2NjM4NDE5MjEuODc1NzI5NiwgMTgyNDMsIDAuODY5ODkyOTU0ODI2MzU1XSwgWzE2NjM4NDE5MjIuMDgzMTcwNywgMTgyNjEsIDEuMDU3OTA5MzY5NDY4Njg5XSwgWzE2NjM4NDE5MjIuMzUxODM3NiwgMTgyODgsIDEuMTUwMzMwMTg1ODkwMTk3OF0sIFsxNjYzODQxOTIyLjQ1MjY0NzQsIDE4Mjk3LCAxLjI5Mzc0NTA0MDg5MzU1NDddLCBbMTY2Mzg0MTkyMi42MzgwNDU4LCAxODMxNSwgMS4wNzM1NTI2MDg0ODk5OTAyXSwgWzE2NjM4NDE5MjIuNzMxMzU2MSwgMTgzMjQsIDEuMjA1OTQ2OTIyMzAyMjQ2XSwgWzE2NjM4NDE5MjIuODE4NTE4OSwgMTgzMzMsIDAuOTkwMzM5NTc3MTk4MDI4Nl0sIFsxNjYzODQxOTIzLjAwMDU4NzIsIDE4MzUxLCAwLjkyNTgzMzIyNTI1MDI0NDFdLCBbMTY2Mzg0MTkyMy4yNjA1NjQ2LCAxODM2OSwgMC45ODg2Mjk4Nzc1NjcyOTEzXSwgWzE2NjM4NDE5MjMuMzc1MTk4NCwgMTgzNzgsIDEuMDI0NDY2MDM3NzUwMjQ0MV0sIFsxNjYzODQxOTIzLjU4MDgyNTYsIDE4Mzk2LCAxLjQzMjU2OTg2MTQxMjA0ODNdLCBbMTY2Mzg0MTkyMy42OTQ0ODY2LCAxODQwNSwgMS40ODcxMDA0ODE5ODY5OTk1XSwgWzE2NjM4NDE5MjQuMDU2Njc0NywgMTg0MzIsIDEuMDkxNTA0ODEyMjQwNjAwNl0sIFsxNjYzODQxOTI0LjE4MDE0NzYsIDE4NDQxLCAxLjYwNTUxNzM4NzM5MDEzNjddLCBbMTY2Mzg0MTkyNC4zMTE4NzM0LCAxODQ1MCwgMS4xMzIzNjM3OTYyMzQxMzA5XSwgWzE2NjM4NDE5MjQuOTM3NjUzLCAxODQ5NSwgMS4wNzUzMTQ2NDA5OTg4NDAzXSwgWzE2NjM4NDE5MjUuMDI5NjI0MiwgMTg1MDQsIDEuMTQxNTAyNjE4Nzg5NjcyOV0sIFsxNjYzODQxOTI1LjEyODkwOTMsIDE4NTEzLCAwLjk3ODM0OTgwNDg3ODIzNDldLCBbMTY2Mzg0MTkyNS4yNDE2LCAxODUyMiwgMS4yMDUzNzYyNjc0MzMxNjY1XSwgWzE2NjM4NDE5MjYuNDIxOTI4NiwgMTg2MTIsIDEuMTM4ODk1MjczMjA4NjE4Ml0sIFsxNjYzODQxOTI2LjUxMTQ4NDYsIDE4NjIxLCAxLjIwMDY0NDYxMjMxMjMxN10sIFsxNjYzODQxOTI2LjY5NDc0MDgsIDE4NjM5LCAxLjA0MTgzMjA4OTQyNDEzMzNdLCBbMTY2Mzg0MTkyNi44ODU1MTM1LCAxODY1NywgMS41MjA4MjAyNjAwNDc5MTI2XSwgWzE2NjM4NDE5MjcuMDY2ODMwNiwgMTg2NzUsIDEuMTgyODY0OTA0NDAzNjg2NV0sIFsxNjYzODQxOTI3LjUzNDI1MDMsIDE4NzExLCAwLjkyNjUwMzQxOTg3NjA5ODZdLCBbMTY2Mzg0MTkyNy42NjA4NDQsIDE4NzIwLCAxLjA0MDQxNzMxMzU3NTc0NDZdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_08-28-19_54c5144e9b50&tag=Loss%2Fvalid":{"data":"W1sxNjYzOTIxNjk5LjU1ODI5MjIsIDksIDEwMy4wNDg4MjA0OTU2MDU0N10sIFsxNjYzOTIxNjk5Ljc3ODQyNTUsIDI3LCAxOC4wNDY4NDgyOTcxMTkxNF0sIFsxNjYzOTIxNjk5Ljg5NDk3MzgsIDM2LCAyMi43MjQ5Njk4NjM4OTE2XSwgWzE2NjM5MjE3MDAuMDA1NTI4NywgNDUsIDE0LjI1MDYzMzIzOTc0NjA5NF0sIFsxNjYzOTIxNzAwLjUwOTYxNSwgNzIsIDEwLjg5ODA4NDY0MDUwMjkzXSwgWzE2NjM5MjE3MDAuNzM0NDA2LCA5MCwgNy44ODk4ODQ0NzE4OTMzMTA1XSwgWzE2NjM5MjE3MDAuODQyMTEzLCA5OSwgNy43ODI2OTkxMDgxMjM3NzldLCBbMTY2MzkyMTcwMC45NTk4MTI2LCAxMDgsIDcuMzE2MDcwMDc5ODAzNDY3XSwgWzE2NjM5MjE3MDEuMzEyNDM1OSwgMTM1LCA2LjA2OTUwNjE2ODM2NTQ3ODVdLCBbMTY2MzkyMTcwMS40MjU1MTE2LCAxNDQsIDUuNzAxNjQwNjA1OTI2NTE0XSwgWzE2NjM5MjE3MDEuNTM2MTc1LCAxNTMsIDUuNTgzNzU0NTM5NDg5NzQ2XSwgWzE2NjM5MjE3MDEuNjM3MjYxLCAxNjIsIDUuMDAzMDI2NDg1NDQzMTE1XSwgWzE2NjM5MjE3MDEuNzUzMjIzNCwgMTcxLCA1Ljg0NzA2NzgzMjk0Njc3N10sIFsxNjYzOTIxNzAxLjg2MTk5MTYsIDE4MCwgNC41NDIzNDc5MDgwMjAwMTk1XSwgWzE2NjM5MjE3MDEuOTg2Nzg4MywgMTg5LCA1LjI1MDE0MjA5NzQ3MzE0NDVdLCBbMTY2MzkyMTcwMi4yMzE3ODY3LCAyMDcsIDUuNTA3NTUzMTAwNTg1OTM3NV0sIFsxNjYzOTIxNzAyLjM0NDQ3OTYsIDIxNiwgNS4wMDAxODczOTcwMDMxNzRdLCBbMTY2MzkyMTcwMi41NTE3MjU5LCAyMzQsIDUuNzI4NjEwOTkyNDMxNjQxXSwgWzE2NjM5MjE3MDIuNjY1MzM0LCAyNDMsIDQuNTY4MTk3MjUwMzY2MjExXSwgWzE2NjM5MjE3MDIuNzY1NzQxNiwgMjUyLCAzLjY2NTIxNTk2OTA4NTY5MzRdLCBbMTY2MzkyMTcwMi44ODUwMzU4LCAyNjEsIDMuNjk3NjI0NjgzMzgwMTI3XSwgWzE2NjM5MjE3MDIuOTk2MTcsIDI3MCwgNC4yMDY5NzQwMjk1NDEwMTZdLCBbMTY2MzkyMTcwMy4xMDcxNDYsIDI3OSwgMy44MjAyNTc2NjM3MjY4MDY2XSwgWzE2NjM5MjE3MDMuMjIzODE2MiwgMjg4LCA0LjAyNzcxMDkxNDYxMTgxNl0sIFsxNjYzOTIxNzAzLjMyNjcxMSwgMjk3LCA0Ljk1MDM0MTIyNDY3MDQxXSwgWzE2NjM5MjE3MDMuNDMyMjA0MiwgMzA2LCA0LjQ4MzUzODYyNzYyNDUxMl0sIFsxNjYzOTIxNzAzLjU0NjUzNTcsIDMxNSwgMy42NDM4NDkxMzQ0NDUxOTA0XSwgWzE2NjM5MjE3MDMuNzgxMjc5OCwgMzMzLCA0LjU5MzEzNjMxMDU3NzM5M10sIFsxNjYzOTIxNzAzLjg5NjAxNTIsIDM0MiwgMy45ODA4NDkyNjYwNTIyNDZdLCBbMTY2MzkyMTcwNC4wMDkyNzE5LCAzNTEsIDQuMDA4NDcxMDEyMTE1NDc4NV0sIFsxNjYzOTIxNzA0LjExODkyNjgsIDM2MCwgNC41Mzk1OTcwMzQ0NTQzNDZdLCBbMTY2MzkyMTcwNC4yMjk3OTMzLCAzNjksIDQuNDIxMzA0NzAyNzU4Nzg5XSwgWzE2NjM5MjE3MDQuNDQyNzY2MiwgMzg3LCAzLjIwMjIyMzMwMDkzMzgzOF0sIFsxNjYzOTIxNzA0LjU2MzQ4MTgsIDM5NiwgNC4zNDM3NDgwOTI2NTEzNjddLCBbMTY2MzkyMTcwNC45NzY4MzE0LCA0MzIsIDMuMTI4MDA0MzEyNTE1MjU5XSwgWzE2NjM5MjE3MDUuMDk1ODQ4OCwgNDQxLCAzLjUzNTM5NDkwNjk5NzY4MDddLCBbMTY2MzkyMTcwNS4yMTQyNDQsIDQ1MCwgMy41NTc5MzM1Njg5NTQ0Njc4XSwgWzE2NjM5MjE3MDUuMzMyNDI0OSwgNDU5LCAzLjgwODQxMjA3NTA0MjcyNDZdLCBbMTY2MzkyMTcwNS40NDkyMTg1LCA0NjgsIDQuMDAyMDIzNjk2ODk5NDE0XSwgWzE2NjM5MjE3MDUuNTU2OTUyLCA0NzcsIDMuMzk1NDAyNjY5OTA2NjE2XSwgWzE2NjM5MjE3MDUuNjY3MzUxLCA0ODYsIDMuOTA3NTUzNjcyNzkwNTI3M10sIFsxNjYzOTIxNzA1Ljc2ODkyNSwgNDk1LCAyLjgwMzcyMzMzNTI2NjExMzNdLCBbMTY2MzkyMTcwNS44ODQwODQ3LCA1MDQsIDMuMDY1NjM1NDQyNzMzNzY0Nl0sIFsxNjYzOTIxNzA2LjExNzU1NSwgNTIyLCAyLjgxNjMwMjc3NjMzNjY3XSwgWzE2NjM5MjE3MDYuMjM3MzM4NSwgNTMxLCAzLjI4OTUzNTc2MDg3OTUxNjZdLCBbMTY2MzkyMTcwNi40NzY0NjUyLCA1NDksIDMuNDg2NTEwNzUzNjMxNTkyXSwgWzE2NjM5MjE3MDYuNTc5ODgyNCwgNTU4LCAyLjczNzI4NjA5MDg1MDgzXSwgWzE2NjM5MjE3MDYuNjg3NzQwNiwgNTY3LCAzLjI1MjI1NjM5MzQzMjYxN10sIFsxNjYzOTIxNzA2LjgwMzU5MDgsIDU3NiwgMi41NjIwMTA3NjUwNzU2ODM2XSwgWzE2NjM5MjE3MDcuMDEzNDg1NywgNTk0LCAzLjQ1MjU5ODgxMDE5NTkyM10sIFsxNjYzOTIxNzA3LjEzODQxMSwgNjAzLCAyLjk0NzQzNDkwMjE5MTE2Ml0sIFsxNjYzOTIxNzA3LjI1NTA3NDcsIDYxMiwgMi45MDc1NDYyODE4MTQ1NzVdLCBbMTY2MzkyMTcwNy4zNjM2MzU4LCA2MjEsIDIuNDkzNzE1NTI0NjczNDYyXSwgWzE2NjM5MjE3MDcuNTc4Nzk1NywgNjM5LCAyLjc5OTE0ODc5Nzk4ODg5MTZdLCBbMTY2MzkyMTcwNy42ODU2NjIzLCA2NDgsIDIuNDAxMzY4ODU2NDMwMDUzN10sIFsxNjYzOTIxNzA3LjgwODU5NiwgNjU3LCAyLjUxMTQ5ODkyODA3MDA2ODRdLCBbMTY2MzkyMTcwNy45MDQ3Mjc3LCA2NjYsIDMuMDU3MTA3Njg2OTk2NDZdLCBbMTY2MzkyMTcwOC4xMjcyNzY3LCA2ODQsIDMuMjMwMTM0MjQ4NzMzNTIwNV0sIFsxNjYzOTIxNzA4LjM0Nzc2MDcsIDcwMiwgMi4yNTQ1NTMzMTgwMjM2ODE2XSwgWzE2NjM5MjE3MDguNDY3MDM2MiwgNzExLCAyLjI2NzY2Mzk1NTY4ODQ3NjZdLCBbMTY2MzkyMTcwOC41ODMwNjM2LCA3MjAsIDIuNTEwNzE4NTg0MDYwNjY5XSwgWzE2NjM5MjE3MDguNzAxNTY5OCwgNzI5LCAyLjY3MjkyMzgwMzMyOTQ2NzhdLCBbMTY2MzkyMTcwOC43OTk1NDg2LCA3MzgsIDIuNTUyNjU5NTExNTY2MTYyXSwgWzE2NjM5MjE3MDguODkzNzMzMywgNzQ3LCAyLjcwMTg4MjYwMDc4NDMwMThdLCBbMTY2MzkyMTcwOC45OTU5MjEsIDc1NiwgMi4zNTYyNzI2OTc0NDg3MzA1XSwgWzE2NjM5MjE3MDkuMTk0Njc0NSwgNzc0LCAyLjY1OTM3NjE0NDQwOTE3OTddLCBbMTY2MzkyMTcwOS4yODA0MDM5LCA3ODMsIDIuNDEzODE4NTk3NzkzNTc5XSwgWzE2NjM5MjE3MDkuMzc3MDY2OSwgNzkyLCAyLjc2ODU5ODMxODA5OTk3NTZdLCBbMTY2MzkyMTcwOS41Njc1NzU3LCA4MTAsIDIuMjMwNjQ1MTc5NzQ4NTM1XSwgWzE2NjM5MjE3MDkuNjY2MjgzLCA4MTksIDIuMjA3NzE2NDY0OTk2MzM4XSwgWzE2NjM5MjE3MTAuMTU3MTE3OCwgODM3LCAyLjE4ODM0OTI0Njk3ODc1OThdLCBbMTY2MzkyMTcxMC41NDc2Mjk2LCA4NTUsIDIuMzIzMjY4NjUxOTYyMjgwM10sIFsxNjYzOTIxNzEwLjcwNzkzOTksIDg2NCwgMi4wMTg4NDA3ODk3OTQ5MjJdLCBbMTY2MzkyMTcxMC45NTUwMjI4LCA4NzMsIDIuMDAyMDA1MTAwMjUwMjQ0XSwgWzE2NjM5MjE3MTEuMzA5NzgyLCA5MDAsIDIuNzczNTUwNTEwNDA2NDk0XSwgWzE2NjM5MjE3MTEuNDEzMTQ2LCA5MDksIDIuNTAzMjA5NTkwOTExODY1Ml0sIFsxNjYzOTIxNzExLjUwOTg4MzQsIDkxOCwgMi4wMjUyMDI1MTI3NDEwODldLCBbMTY2MzkyMTcxMS43NjA3MzE3LCA5MzYsIDIuMDcyMjIyOTQ4MDc0MzQxXSwgWzE2NjM5MjE3MTEuOTk4OTAzNSwgOTQ1LCAyLjA0NjE0NTQzOTE0Nzk0OV0sIFsxNjYzOTIxNzEyLjI0MjM4NjYsIDk2MywgMi4xNzgwMDc4NDExMTAyMjk1XSwgWzE2NjM5MjE3MTIuMzQ5MzAzNSwgOTcyLCAyLjA2MzU0NzYxMTIzNjU3MjNdLCBbMTY2MzkyMTcxMi40NDkxMDIsIDk4MSwgMS44MzkzMDIwNjI5ODgyODEyXSwgWzE2NjM5MjE3MTIuNTQyMzk4NywgOTkwLCAyLjI5MDgyMDU5ODYwMjI5NV0sIFsxNjYzOTIxNzEyLjY0NTk1MzIsIDk5OSwgMS44MDk3Mzc2ODIzNDI1MjkzXSwgWzE2NjM5MjE3MTIuNzcxMzU4NSwgMTAwOCwgMi4zMDIzMzE2ODYwMTk4OTc1XSwgWzE2NjM5MjE3MTIuODc5MjYxNywgMTAxNywgMi41NjAyNzQ2MDA5ODI2NjZdLCBbMTY2MzkyMTcxMy4wODc1NzQ1LCAxMDM1LCAyLjM0OTg3OTAyNjQxMjk2NF0sIFsxNjYzOTIxNzEzLjE4NTk1MSwgMTA0NCwgMi4wMTk0NDY2MTE0MDQ0MTldLCBbMTY2MzkyMTcxMy4yODk5NTg1LCAxMDUzLCAyLjE1ODQ3NDIwNjkyNDQzODVdLCBbMTY2MzkyMTcxMy4zODQyMTcsIDEwNjIsIDIuMjI0MzI1MTgwMDUzNzExXSwgWzE2NjM5MjE3MTMuNTY5MDQ5OCwgMTA4MCwgMi4yNDQyNDI5MDY1NzA0MzQ2XSwgWzE2NjM5MjE3MTMuNjYxNDkwNCwgMTA4OSwgMS43Mzg4NDQ4NzE1MjA5OTZdLCBbMTY2MzkyMTcxMy43NjQ5NzY1LCAxMDk4LCAxLjk3MDkwNTU0MjM3MzY1NzJdLCBbMTY2MzkyMTcxMy45NTE2NTA2LCAxMTE2LCAxLjc1NTE3Mjg0ODcwMTQ3N10sIFsxNjYzOTIxNzE0LjE0NTQwNCwgMTEzNCwgMS45ODEwNjA1MDQ5MTMzM10sIFsxNjYzOTIxNzE0LjI0NTMxNjMsIDExNDMsIDEuNjA5ODYyNjg1MjAzNTUyMl0sIFsxNjYzOTIxNzE0LjQwMjMyOTcsIDExNTIsIDEuNjY4OTIxNDcwNjQyMDg5OF0sIFsxNjYzOTIxNzE0LjUxNzA2ODksIDExNjEsIDEuNjU3NDI5MzM3NTAxNTI1OV0sIFsxNjYzOTIxNzE0LjYzMjM3MDIsIDExNzAsIDEuNjUxODg3MTc4NDIxMDIwNV0sIFsxNjYzOTIxNzE0Ljc0MjYyODMsIDExNzksIDEuNzU0MjE5NTMyMDEyOTM5NV0sIFsxNjYzOTIxNzE0Ljg0ODExMDcsIDExODgsIDIuMDI1Njg3OTMyOTY4MTM5Nl0sIFsxNjYzOTIxNzE0Ljk2NTMwOCwgMTE5NywgMS45NjAwNjI3NDIyMzMyNzY0XSwgWzE2NjM5MjE3MTUuMTczMDc2MiwgMTIxNSwgMS41NzQ4OTYwOTcxODMyMjc1XSwgWzE2NjM5MjE3MTUuMzg0NDQxLCAxMjMzLCAxLjcxMzEyNTk0NDEzNzU3MzJdLCBbMTY2MzkyMTcxNS40OTIzNDUzLCAxMjQyLCAxLjcwODI1NTc2NzgyMjI2NTZdLCBbMTY2MzkyMTcxNS41OTk2NTA0LCAxMjUxLCAyLjEzMjE1MTYwMzY5ODczMDVdLCBbMTY2MzkyMTcxNS43MDAzMjIyLCAxMjYwLCAxLjY0MjU5ODE1MjE2MDY0NDVdLCBbMTY2MzkyMTcxNS43OTk4MzE2LCAxMjY5LCAxLjkxNjAyMjg5Njc2NjY2MjZdLCBbMTY2MzkyMTcxNS45MjYxNDQ2LCAxMjc4LCAxLjk4ODkyODY3NTY1MTU1MDNdLCBbMTY2MzkyMTcxNi4xNDcwNjY0LCAxMjk2LCAxLjU5MjQ4Mzk5NzM0NDk3MDddLCBbMTY2MzkyMTcxNi4yNTE5ODMyLCAxMzA1LCAxLjY2MzkzMDA1ODQ3OTMwOV0sIFsxNjYzOTIxNzE2LjM2MTA5NjEsIDEzMTQsIDEuODg1MzQzNDMyNDI2NDUyNl0sIFsxNjYzOTIxNzE2LjQ2Njk5MiwgMTMyMywgMi4yMTg4ODAxNzY1NDQxODk1XSwgWzE2NjM5MjE3MTYuNTU3NTQzOCwgMTMzMiwgMS42Nzk5MDU4OTE0MTg0NTddLCBbMTY2MzkyMTcxNi42NTY5NDY0LCAxMzQxLCAxLjU3OTk2MTg5NTk0MjY4OF0sIFsxNjYzOTIxNzE2Ljg0MDkxMTYsIDEzNTksIDEuNjIxMDU2MTk5MDczNzkxNV0sIFsxNjYzOTIxNzE3LjE0MzI3NTcsIDEzODYsIDEuNjM0NTU4MjAwODM2MTgxNl0sIFsxNjYzOTIxNzE3LjI0ODIzNzEsIDEzOTUsIDEuNTU5MzA0ODMzNDEyMTcwNF0sIFsxNjYzOTIxNzE3LjQ4MzU3NTMsIDE0MTMsIDEuNjA2Nzg4MDM5MjA3NDU4NV0sIFsxNjYzOTIxNzE3LjU4NDAwMjMsIDE0MjIsIDEuNjQ0OTEyMDA0NDcwODI1Ml0sIFsxNjYzOTIxNzE3LjY3ODMyNzMsIDE0MzEsIDEuNjQ2OTUyMzkwNjcwNzc2NF0sIFsxNjYzOTIxNzE3Ljc3NzA2MjcsIDE0NDAsIDEuNzE2MDc2NzMxNjgxODIzN10sIFsxNjYzOTIxNzE3Ljg3NTUyMiwgMTQ0OSwgMi4wMDMxOTgxNDY4MjAwNjg0XSwgWzE2NjM5MjE3MTcuOTY1NTI2LCAxNDU4LCAxLjYzNzM5NjMzNTYwMTgwNjZdLCBbMTY2MzkyMTcxOC4wNjYwNTM0LCAxNDY3LCAxLjczODczNTc5NTAyMTA1NzFdLCBbMTY2MzkyMTcxOC4xODgyMTE0LCAxNDc2LCAxLjY2MTg5MTkzNzI1NTg1OTRdLCBbMTY2MzkyMTcxOC4yOTcyMTg2LCAxNDg1LCAxLjUyNTA2MDQxNTI2Nzk0NDNdLCBbMTY2MzkyMTcxOC41MTc3MTIsIDE1MDMsIDEuOTk3NzgwOTE5MDc1MDEyMl0sIFsxNjYzOTIxNzE4LjcxNTg4NTYsIDE1MjEsIDEuNjIzNTE2OTE3MjI4Njk4N10sIFsxNjYzOTIxNzE4LjgyMDE3NTQsIDE1MzAsIDEuNzk4MDcyOTM0MTUwNjk1OF0sIFsxNjYzOTIxNzE4LjkxNzkxNSwgMTUzOSwgMS44MDg5MjYzNDM5MTc4NDY3XSwgWzE2NjM5MjE3MTkuMDE3MTk3OCwgMTU0OCwgMS44NjI4NTY2MjY1MTA2MjAxXSwgWzE2NjM5MjE3MTkuMTEzNzY4LCAxNTU3LCAxLjQ5MjAwNzAxNzEzNTYyMDFdLCBbMTY2MzkyMTcxOS4yOTI2MDkyLCAxNTc1LCAxLjkyNjc1ODY0Njk2NTAyNjldLCBbMTY2MzkyMTcxOS40MDAzMDM2LCAxNTg0LCAxLjkxMTEzMTAyNDM2MDY1NjddLCBbMTY2MzkyMTcxOS41NTU1MTgyLCAxNTkzLCAxLjUzNTUxMDE4MjM4MDY3NjNdLCBbMTY2MzkyMTcxOS42NDMzNzcsIDE2MDIsIDEuNTAxODc5NDUzNjU5MDU3Nl0sIFsxNjYzOTIxNzE5LjczMzg5NjUsIDE2MTEsIDEuOTk1OTYxNzg1MzE2NDY3M10sIFsxNjYzOTIxNzE5LjkzNDc2MjIsIDE2MjksIDEuODY3MzYwNTkxODg4NDI3N10sIFsxNjYzOTIxNzIwLjIxNTQ4OCwgMTYzOCwgMS40NzQ3MDg1NTcxMjg5MDYyXSwgWzE2NjM5MjE3MjAuMzA3MjQ2NCwgMTY0NywgMS42ODMyMzY4MzczODcwODVdLCBbMTY2MzkyMTcyMC40MTMyMTg1LCAxNjU2LCAxLjU2Mzc4NDM2MDg4NTYyMDFdLCBbMTY2MzkyMTcyMC41MDgxOTU2LCAxNjY1LCAyLjI0MjI2ODgwMDczNTQ3MzZdLCBbMTY2MzkyMTcyMC42MTU1MjksIDE2NzQsIDEuNTA5OTgxNTEzMDIzMzc2NV0sIFsxNjYzOTIxNzIwLjcwOTMwMTIsIDE2ODMsIDIuMDI2NDA2NTI2NTY1NTUxOF0sIFsxNjYzOTIxNzIwLjk5MzE1NywgMTcxMCwgMS43NTEyMDYxNTk1OTE2NzQ4XSwgWzE2NjM5MjE3MjEuMDkyNjc3OCwgMTcxOSwgMS42NTgzMzU5MjQxNDg1NTk2XSwgWzE2NjM5MjE3MjEuMjEzMzM4LCAxNzI4LCAxLjc4NjcwNjMyODM5MjAyODhdLCBbMTY2MzkyMTcyMS4zMTc4OCwgMTczNywgMS43NzUzOTc4OTY3NjY2NjI2XSwgWzE2NjM5MjE3MjEuNDI0OTE4NCwgMTc0NiwgMS42MTI2NzE2MTM2OTMyMzczXSwgWzE2NjM5MjE3MjEuNjY0NzUyNSwgMTc2NCwgMS41MDcxMTA3MTQ5MTI0MTQ2XSwgWzE2NjM5MjE3MjEuODc1NzI5LCAxNzgyLCAxLjcyMDQwODU1ODg0NTUyXSwgWzE2NjM5MjE3MjEuOTc1NDA3MSwgMTc5MSwgMS41NjMyNDQ1ODEyMjI1MzQyXSwgWzE2NjM5MjE3MjIuMDczNzU0MywgMTgwMCwgMS43NjY1MzI4OTc5NDkyMTg4XSwgWzE2NjM5MjE3MjIuMTc1NjI0MSwgMTgwOSwgMS42ODEwMDEzMDU1ODAxMzkyXSwgWzE2NjM5MjE3MjIuMzUxMzM4OSwgMTgyNywgMS43MjE4NzE5NzIwODQwNDU0XSwgWzE2NjM5MjE3MjIuNDQ4NjU2NiwgMTgzNiwgMS41OTE2NDM5Mjk0ODE1MDYzXSwgWzE2NjM5MjE3MjIuNTQ2MzgyNCwgMTg0NSwgMS40MzkxMDUzOTE1MDIzODA0XSwgWzE2NjM5MjE3MjIuNjcwNDgwNywgMTg1NCwgMS4zNDc5NDI4MjkxMzIwOF0sIFsxNjYzOTIxNzIyLjc3Nzg1MjMsIDE4NjMsIDEuNTM0ODgxNzExMDA2MTY0Nl0sIFsxNjYzOTIxNzIyLjg2ODQyLCAxODcyLCAxLjM1NzU5NzExMjY1NTYzOTZdLCBbMTY2MzkyMTcyMi45NjQ1NjMxLCAxODgxLCAxLjcwMzgwNTMyNzQxNTQ2NjNdLCBbMTY2MzkyMTcyMy4wNTAzNDc2LCAxODkwLCAxLjk4NjMyODQ4MjYyNzg2ODddLCBbMTY2MzkyMTcyMy4xNDE5OTkyLCAxODk5LCAxLjgyNTU4NjE5OTc2MDQzN10sIFsxNjYzOTIxNzIzLjIzNDI4MjcsIDE5MDgsIDEuNTI0ODQ2MzE1MzgzOTExMV0sIFsxNjYzOTIxNzIzLjQzMzY5NDEsIDE5MjYsIDEuMzcxOTMyODY0MTg5MTQ4XSwgWzE2NjM5MjE3MjMuNTE4MzQ5NiwgMTkzNSwgMS45MjgzNjc0OTU1MzY4MDQyXSwgWzE2NjM5MjE3MjMuNjI4NzQxNywgMTk0NCwgMS42MzQ5NjI3OTcxNjQ5MTddLCBbMTY2MzkyMTcyMy43MTU5NjE3LCAxOTUzLCAxLjkxNzkwNDEzODU2NTA2MzVdLCBbMTY2MzkyMTcyMy45MDM2ODQ2LCAxOTcxLCAxLjQ5MDU4NDAxNTg0NjI1MjRdLCBbMTY2MzkyMTcyMy45OTM5NzgzLCAxOTgwLCAxLjc1OTQyMDk5MDk0MzkwODddLCBbMTY2MzkyMTcyNC4wOTY3MzgsIDE5ODksIDEuMzY2OTkzMTg4ODU4MDMyMl0sIFsxNjYzOTIxNzI0LjE4MzIxNTYsIDE5OTgsIDEuOTMxMTgzNTc2NTgzODYyM10sIFsxNjYzOTIxNzI0LjI3OTU3MDMsIDIwMDcsIDEuNjE0NzkzNjU4MjU2NTMwOF0sIFsxNjYzOTIxNzI0LjM3MDAzNiwgMjAxNiwgMS41MTY1OTAzNTY4MjY3ODIyXSwgWzE2NjM5MjE3MjQuNDgxODM0MiwgMjAyNSwgMS44NTc1NzY5NjYyODU3MDU2XSwgWzE2NjM5MjE3MjQuNTc1NDI5LCAyMDM0LCAxLjY4NzA3MDEzMTMwMTg3OTldLCBbMTY2MzkyMTcyNC42ODE3MzM0LCAyMDQzLCAxLjUzODEyNDc5OTcyODM5MzZdLCBbMTY2MzkyMTcyNC45NjEwMTc4LCAyMDcwLCAxLjY0OTc0OTE1OTgxMjkyNzJdLCBbMTY2MzkyMTcyNS4xNjIzMTg3LCAyMDg4LCAxLjY3NzYzODE3MzEwMzMzMjVdLCBbMTY2MzkyMTcyNS4yNjEyNjk4LCAyMDk3LCAxLjY4NTAyODY3MjIxODMyMjhdLCBbMTY2MzkyMTcyNS4zNTQ2MTI2LCAyMTA2LCAxLjQ2MDI5OTEzNDI1NDQ1NTZdLCBbMTY2MzkyMTcyNS40NTYzMTYsIDIxMTUsIDEuNDAzMTEyMjkyMjg5NzMzOV0sIFsxNjYzOTIxNzI1LjU1NTI0MjgsIDIxMjQsIDEuOTE2NDU2MjIyNTM0MTc5N10sIFsxNjYzOTIxNzI1LjY0NjM0NjMsIDIxMzMsIDEuNjU2NDE4NDQyNzI2MTM1M10sIFsxNjYzOTIxNzI1Ljc0NjE4NzIsIDIxNDIsIDEuNDU4OTg1Njg2MzAyMTg1XSwgWzE2NjM5MjE3MjUuODQxMDgxLCAyMTUxLCAxLjc1NjM4NTgwMzIyMjY1NjJdLCBbMTY2MzkyMTcyNS45NDQ4NzQ1LCAyMTYwLCAxLjYwMDI1MTY3NDY1MjA5OTZdLCBbMTY2MzkyMTcyNi4xMzA2MDI4LCAyMTc4LCAxLjY1NDQ4MDgxNDkzMzc3NjldLCBbMTY2MzkyMTcyNi4yMzEwNzUzLCAyMTg3LCAxLjM5NTEwOTY1MzQ3MjkwMDRdLCBbMTY2MzkyMTcyNi40MTU4MzMsIDIyMDUsIDEuNzI4Mzc5MTMwMzYzNDY0NF0sIFsxNjYzOTIxNzI2LjUwNTc3NTUsIDIyMTQsIDEuNTI2Njk0Mjk3NzkwNTI3M10sIFsxNjYzOTIxNzI2LjYwMTA1OSwgMjIyMywgMS45MDA5MDUxMzIyOTM3MDEyXSwgWzE2NjM5MjE3MjYuNjk2MDI5NywgMjIzMiwgMS45NDU5MzY0NDE0MjE1MDg4XSwgWzE2NjM5MjE3MjYuNzk0MzY1MiwgMjI0MSwgMS4zNzM2MDMzNDM5NjM2MjNdLCBbMTY2MzkyMTcyNi45MjcxMzcxLCAyMjUwLCAxLjUwNzkzMDI3ODc3ODA3NjJdLCBbMTY2MzkyMTcyNy4yMTY3NjgsIDIyNzcsIDEuNzI3MTcyOTcwNzcxNzg5Nl0sIFsxNjYzOTIxNzI3LjMxMTE1NjcsIDIyODYsIDEuNTg2NDk5MjE0MTcyMzYzM10sIFsxNjYzOTIxNzI3LjQwOTQ5ODUsIDIyOTUsIDEuNjE0MTM4MzY0NzkxODcwMV0sIFsxNjYzOTIxNzI3LjQ5MTY2MjMsIDIzMDQsIDEuNDM1ODg4NTI4ODIzODUyNV0sIFsxNjYzOTIxNzI3LjY2NjQwNTQsIDIzMjIsIDEuMzgzMTc2MDg4MzMzMTI5OV0sIFsxNjYzOTIxNzI3Ljc1ODA0NjQsIDIzMzEsIDEuMzY3MzY2NzkwNzcxNDg0NF0sIFsxNjYzOTIxNzI3Ljg2MTQ4OTgsIDIzNDAsIDEuNTc1NDc5Mzg4MjM2OTk5NV0sIFsxNjYzOTIxNzI3Ljk1MTEwNzMsIDIzNDksIDEuNDgzMzUzMTM3OTY5OTcwN10sIFsxNjYzOTIxNzI4LjE2NjcyNDcsIDIzNjcsIDEuMzk2ODQyMjQxMjg3MjMxNF0sIFsxNjYzOTIxNzI4LjI2MTc5OCwgMjM3NiwgMS41OTAxNjEyMDQzMzgwNzM3XSwgWzE2NjM5MjE3MjguNzQyODc2LCAyMzk0LCAxLjI5NDM4ODY1MTg0NzgzOTRdLCBbMTY2MzkyMTcyOS4wOTI1MDAyLCAyNDIxLCAxLjM1MDQ1OTkzMzI4MDk0NDhdLCBbMTY2MzkyMTcyOS4yOTI2OTg2LCAyNDM5LCAxLjYyNzkwODIyOTgyNzg4MDldLCBbMTY2MzkyMTcyOS40MDE3OTg1LCAyNDQ4LCAxLjQ4MTQ2NzM2NjIxODU2N10sIFsxNjYzOTIxNzI5LjYwODI1NTEsIDI0NjYsIDEuNTYwNTYwNzAzMjc3NTg4XSwgWzE2NjM5MjE3MjkuNzMwMzAxOSwgMjQ3NSwgMS42MDQzNDc4MjUwNTAzNTRdLCBbMTY2MzkyMTcyOS44NjgzOTcsIDI0ODQsIDEuNTc0NTA5MjYzMDM4NjM1M10sIFsxNjYzOTIxNzI5Ljk4NzY4NjksIDI0OTMsIDEuNDk4MzM0NTI3MDE1Njg2XSwgWzE2NjM5MjE3MzAuMjAzMjA3NywgMjUxMSwgMS40MjkzMzQ0MDIwODQzNTA2XSwgWzE2NjM5MjE3MzAuMzIyMjA5LCAyNTIwLCAxLjY4NTM5OTc3MDczNjY5NDNdLCBbMTY2MzkyMTczMC40NDU4NTg1LCAyNTI5LCAxLjY5ODEyODgxOTQ2NTYzNzJdLCBbMTY2MzkyMTczMC41NDM1OSwgMjUzOCwgMS40MzQyMzQ0OTk5MzEzMzU0XSwgWzE2NjM5MjE3MzAuNjYxMzg1OCwgMjU0NywgMS42MzA1NjI0MjQ2NTk3MjldLCBbMTY2MzkyMTczMC43NTQ1NzAyLCAyNTU2LCAxLjUwNjg4MjQyOTEyMjkyNDhdLCBbMTY2MzkyMTczMC44NjI4MTksIDI1NjUsIDEuNTkwMTc4NjA4ODk0MzQ4MV0sIFsxNjYzOTIxNzMwLjk2MTg5MTcsIDI1NzQsIDEuMzU1OTE4NTI2NjQ5NDc1XSwgWzE2NjM5MjE3MzEuMDcyMDc0MiwgMjU4MywgMS41MTUzMDY0NzI3NzgzMjAzXSwgWzE2NjM5MjE3MzEuMTcwMDA3NSwgMjU5MiwgMS42MjUxODMyMjQ2NzgwMzk2XSwgWzE2NjM5MjE3MzEuMjc0MzEwNiwgMjYwMSwgMS4yNDM3MTg5ODE3NDI4NTg5XSwgWzE2NjM5MjE3MzEuNTExMzUzNSwgMjYxOSwgMS4zOTIzNjgzMTY2NTAzOTA2XSwgWzE2NjM5MjE3MzEuNjA2NjYxNiwgMjYyOCwgMS41OTcxMzQ0NzA5Mzk2MzYyXSwgWzE2NjM5MjE3MzEuOTkwOTc1LCAyNjY0LCAxLjY0MTE0NDM5NDg3NDU3MjhdLCBbMTY2MzkyMTczMi4wOTAyODIsIDI2NzMsIDEuMjI0NzQ1MTU0MzgwNzk4M10sIFsxNjYzOTIxNzMyLjE5MDkxOCwgMjY4MiwgMS4zNDg4NTcxNjQzODI5MzQ2XSwgWzE2NjM5MjE3MzIuMjc4MzQ2LCAyNjkxLCAxLjI2OTg4NjYxMjg5MjE1MDldLCBbMTY2MzkyMTczMi4zNzU3MjkzLCAyNzAwLCAxLjM2NzUzODgwOTc3NjMwNjJdLCBbMTY2MzkyMTczMi40NzAyNjA0LCAyNzA5LCAxLjU3MzQxMDc0OTQzNTQyNDhdLCBbMTY2MzkyMTczMi41NzQ3NDk1LCAyNzE4LCAxLjYxNjE0MDcyMzIyODQ1NDZdLCBbMTY2MzkyMTczMi43NjgxNTk0LCAyNzM2LCAxLjY2MzA3ODMwODEwNTQ2ODhdLCBbMTY2MzkyMTczMi44NTQ1NDU4LCAyNzQ1LCAxLjcwODYwMjY2Njg1NDg1ODRdLCBbMTY2MzkyMTczMi45NDUwMTc4LCAyNzU0LCAxLjMzOTk5NDA3MjkxNDEyMzVdLCBbMTY2MzkyMTczMy4wNTM2MzE4LCAyNzYzLCAxLjM3MjkwNDE4MTQ4MDQwNzddLCBbMTY2MzkyMTczMy4xODAwNTk0LCAyNzcyLCAxLjM2NTM3MjUzODU2NjU4OTRdLCBbMTY2MzkyMTczMy4yOTMzMzYsIDI3ODEsIDEuNjQ4NTY0Njk2MzExOTUwN10sIFsxNjYzOTIxNzMzLjQxNDc4NzgsIDI3OTAsIDEuMTY1MDEyMDAxOTkxMjcyXSwgWzE2NjM5MjE3MzMuNTk5Mzk4MSwgMjgwOCwgMS4zMDkxNjE5MDE0NzM5OTldLCBbMTY2MzkyMTczMy42OTQwNzA2LCAyODE3LCAxLjU3NjY5MTYyNzUwMjQ0MTRdLCBbMTY2MzkyMTczMy43ODc3NzM0LCAyODI2LCAxLjQ2MDU1MDE4OTAxODI0OTVdLCBbMTY2MzkyMTczMy44NzU0NDczLCAyODM1LCAxLjE5MjE5OTcwNzAzMTI1XSwgWzE2NjM5MjE3MzMuOTY3NTA5NSwgMjg0NCwgMS4zNzY2MTc1NTA4NDk5MTQ2XSwgWzE2NjM5MjE3MzQuMDYyMTA5NywgMjg1MywgMS4xNTQ4MDY3MzMxMzE0MDg3XSwgWzE2NjM5MjE3MzQuMjYyMDU5MiwgMjg3MSwgMS41NjU5MDgwNzQzNzg5NjczXSwgWzE2NjM5MjE3MzQuMzUwNzA1NiwgMjg4MCwgMS4zMTU4NjYzNTExMjc2MjQ1XSwgWzE2NjM5MjE3MzQuNDU1NjkyNSwgMjg4OSwgMS42MTE4OTM1MzQ2NjAzMzk0XSwgWzE2NjM5MjE3MzQuNTQ2MDk4NSwgMjg5OCwgMS4xNDY3NDc1ODkxMTEzMjgxXSwgWzE2NjM5MjE3MzQuNjU0NzY3LCAyOTA3LCAxLjM5Njc0NzcwODMyMDYxNzddLCBbMTY2MzkyMTczNC44Mzc1MjEzLCAyOTI1LCAxLjQxMzAyOTc4OTkyNDYyMTZdLCBbMTY2MzkyMTczNS4xMTk5MDIsIDI5NTIsIDEuMzkzNTYxNDgyNDI5NTA0NF0sIFsxNjYzOTIxNzM1LjMxOTA3NiwgMjk3MCwgMS4yNjYzODUxOTc2Mzk0NjUzXSwgWzE2NjM5MjE3MzUuNDM4NTI3MywgMjk3OSwgMS4yODMwNDY4NDE2MjEzOTldLCBbMTY2MzkyMTczNS41MzE0ODU4LCAyOTg4LCAxLjUwNDg1NDMyMTQ3OTc5NzRdLCBbMTY2MzkyMTczNS42MjYyMTQsIDI5OTcsIDEuNzc3NjIxOTg0NDgxODExNV0sIFsxNjYzOTIxNzM1LjcyMjAxMjgsIDMwMDYsIDEuMzY2MjAzNjY1NzMzMzM3NF0sIFsxNjYzOTIxNzM1LjgxNDgzMzYsIDMwMTUsIDEuMzI5Mzg3Nzg0MDA0MjExNF0sIFsxNjYzOTIxNzM2LjAwNTkwMzcsIDMwMzMsIDEuNDIyMDM0MDI1MTkyMjYwN10sIFsxNjYzOTIxNzM2LjEwNDUzMzQsIDMwNDIsIDEuNTU3Mzg4NjYzMjkxOTMxMl0sIFsxNjYzOTIxNzM2LjIxOTgzNDYsIDMwNTEsIDEuMzc1NDIwNjg5NTgyODI0N10sIFsxNjYzOTIxNzM2LjQ5NDU5NDMsIDMwNjksIDEuNDcxNTI3MzM4MDI3OTU0XSwgWzE2NjM5MjE3MzYuNjEyNTQxNywgMzA3OCwgMS4zMjQ0NDE1NTIxNjIxNzA0XSwgWzE2NjM5MjE3MzYuNzI3MjY5NCwgMzA4NywgMS40MDMxODIxNDg5MzM0MTA2XSwgWzE2NjM5MjE3MzYuODQwMzM5NywgMzA5NiwgMS4yMjU4MDkwOTcyOTAwMzldLCBbMTY2MzkyMTczNi45NTAwMzc3LCAzMTA1LCAxLjY5OTM0OTI4NDE3MjA1OF0sIFsxNjYzOTIxNzM3LjA2NTI2NDUsIDMxMTQsIDEuMzUyMjY2MDczMjI2OTI4N10sIFsxNjYzOTIxNzM3LjE2OTAwMDEsIDMxMjMsIDEuNDEwODA3NDkwMzQ4ODE2XSwgWzE2NjM5MjE3MzcuMjY4NTg0NSwgMzEzMiwgMS4yMDIzNzMyNjYyMjAwOTI4XSwgWzE2NjM5MjE3MzcuNDAwODY2NywgMzE0MSwgMS41NjcyMDc5MzI0NzIyMjldLCBbMTY2MzkyMTczNy41MjAyODMyLCAzMTUwLCAxLjIzNjUwMjUyODE5MDYxMjhdLCBbMTY2MzkyMTczNy42MTY4MjI1LCAzMTU5LCAxLjM2NTg2MjEzMTExODc3NDRdLCBbMTY2MzkyMTczOC4wNDE0MTI4LCAzMTc3LCAxLjI2OTU0MzQwOTM0NzUzNDJdLCBbMTY2MzkyMTczOC4xNDcwMjEsIDMxODYsIDEuNTIxOTY1ODYxMzIwNDk1Nl0sIFsxNjYzOTIxNzM4LjIzOTIxMzIsIDMxOTUsIDEuNTk3NDg4NTIyNTI5NjAyXSwgWzE2NjM5MjE3MzguMzU5MzU2LCAzMjA0LCAxLjIyMjkxNTQxMDk5NTQ4MzRdLCBbMTY2MzkyMTczOC41NTQ2NDMyLCAzMjIyLCAxLjQ1OTIxMTcwNzExNTE3MzNdLCBbMTY2MzkyMTczOC42NjQ2ODQsIDMyMzEsIDEuMjc4NTA2MTU5NzgyNDA5N10sIFsxNjYzOTIxNzM4Ljg2NjM5NSwgMzI0OSwgMS4zMzg5OTU0NTY2OTU1NTY2XSwgWzE2NjM5MjE3MzguOTg2NTY1OCwgMzI1OCwgMS4yNzY3MjM3NDI0ODUwNDY0XSwgWzE2NjM5MjE3MzkuMDkyOTUwNiwgMzI2NywgMS4zNDYzNTI1NzcyMDk0NzI3XSwgWzE2NjM5MjE3MzkuMTkxNTA4NSwgMzI3NiwgMS4xMTc1ODQ3MDUzNTI3ODMyXSwgWzE2NjM5MjE3MzkuMzEzODY2MSwgMzI4NSwgMS4xNzY5NzI1MDg0MzA0ODFdLCBbMTY2MzkyMTczOS40MTE3Mzk2LCAzMjk0LCAxLjQ0MjAzMjU3NTYwNzI5OThdLCBbMTY2MzkyMTczOS41MjMwOTA0LCAzMzAzLCAxLjQzNzc1MTg4OTIyODgyMDhdLCBbMTY2MzkyMTczOS42MTQyNDY4LCAzMzEyLCAxLjQwOTg0MDEwNjk2NDExMTNdLCBbMTY2MzkyMTczOS43MDg5NDc3LCAzMzIxLCAxLjIwNzU5MDEwMzE0OTQxNF0sIFsxNjYzOTIxNzM5LjgwMDA3NDYsIDMzMzAsIDEuMjMxNjkxMzYwNDczNjMyOF0sIFsxNjYzOTIxNzQwLjE4NjU2OTcsIDMzNjYsIDEuMjc5NDIzNzEzNjg0MDgyXSwgWzE2NjM5MjE3NDAuMjczMzM0NywgMzM3NSwgMS4zNzA0MzM5MjY1ODIzMzY0XSwgWzE2NjM5MjE3NDAuMzYyMDIwMywgMzM4NCwgMS4yNjc4OTc4NDQzMTQ1NzUyXSwgWzE2NjM5MjE3NDAuNTcyMDI4OSwgMzQwMiwgMS41NzU4ODMwMzA4OTE0MTg1XSwgWzE2NjM5MjE3NDAuNjY2MDgwNSwgMzQxMSwgMS4zNjM0NDM2MTMwNTIzNjgyXSwgWzE2NjM5MjE3NDAuOTM5NDI4OCwgMzQzOCwgMS4xNjI3OTk3MTU5OTU3ODg2XSwgWzE2NjM5MjE3NDEuMDMwMzAwNiwgMzQ0NywgMS4zNDQ0NjgzNTUxNzg4MzNdLCBbMTY2MzkyMTc0MS4yMTY4MTkzLCAzNDY1LCAxLjU3NTk2MDc1NTM0ODIwNTZdLCBbMTY2MzkyMTc0MS4zMjAxNzcsIDM0NzQsIDEuMTQ3MzEyMTY0MzA2NjQwNl0sIFsxNjYzOTIxNzQxLjQzNzc0OTEsIDM0ODMsIDEuNDQ1NDQyMDgwNDk3NzQxN10sIFsxNjYzOTIxNzQxLjc1MTMwOTYsIDM1MTAsIDEuMjk5NTc1NTY3MjQ1NDgzNF0sIFsxNjYzOTIxNzQxLjg0NDMwMjcsIDM1MTksIDEuNTE1MDExMzEwNTc3MzkyNl0sIFsxNjYzOTIxNzQxLjk1NDEzMjMsIDM1MjgsIDEuNTgzMDMzMDg0ODY5Mzg0OF0sIFsxNjYzOTIxNzQyLjA1NzI5NTYsIDM1MzcsIDEuMTM5MDAxMzY5NDc2MzE4NF0sIFsxNjYzOTIxNzQyLjE0OTE1NCwgMzU0NiwgMS4zMDIxOTcyMTc5NDEyODQyXSwgWzE2NjM5MjE3NDIuMjU2OTcyNiwgMzU1NSwgMS42MDgyNDU2MTExOTA3OTZdLCBbMTY2MzkyMTc0Mi4zNTY4NTA0LCAzNTY0LCAxLjExNjkwNDEzOTUxODczNzhdLCBbMTY2MzkyMTc0Mi40NTYzNTEsIDM1NzMsIDEuMzE2NDI1NTYxOTA0OTA3Ml0sIFsxNjYzOTIxNzQyLjU1Njc1NiwgMzU4MiwgMS4xMTg1OTAzNTQ5MTk0MzM2XSwgWzE2NjM5MjE3NDIuNjU3MjEwNiwgMzU5MSwgMS4yNjg4MjMzODUyMzg2NDc1XSwgWzE2NjM5MjE3NDIuNzUxMTc1OSwgMzYwMCwgMS4xMDI3NjkxMzY0Mjg4MzNdLCBbMTY2MzkyMTc0Mi44NTE1NzU5LCAzNjA5LCAxLjE1OTEzNTM0MTY0NDI4N10sIFsxNjYzOTIxNzQyLjk0NzE2MzgsIDM2MTgsIDEuMDM0ODM2MTczMDU3NTU2Ml0sIFsxNjYzOTIxNzQzLjA2ODcyNzUsIDM2MjcsIDEuMTUwNTY0NjcwNTYyNzQ0MV0sIFsxNjYzOTIxNzQzLjE5NTUyMzcsIDM2MzYsIDEuNDIzMTQ1MTc0OTgwMTYzNl0sIFsxNjYzOTIxNzQzLjMyNjA5NTgsIDM2NDUsIDEuMTE2NTkyMTY4ODA3OTgzNF0sIFsxNjYzOTIxNzQzLjQ0MzA2MDIsIDM2NTQsIDEuMjQ5MDI4OTIxMTI3MzE5M10sIFsxNjYzOTIxNzQzLjUzMjkzNDIsIDM2NjMsIDEuMjU0MzMyMDY1NTgyMjc1NF0sIFsxNjYzOTIxNzQzLjYzMDE3NzcsIDM2NzIsIDEuNDE2NDUzODM4MzQ4Mzg4N10sIFsxNjYzOTIxNzQzLjc0MjEyOTMsIDM2ODEsIDEuNzAzNTA4NDk2Mjg0NDg0OV0sIFsxNjYzOTIxNzQzLjg0MjYxMTMsIDM2OTAsIDEuNjE3OTk2NDU0MjM4ODkxNl0sIFsxNjYzOTIxNzQ0LjEzOTEyMSwgMzcxNywgMS4wMzg5MjA2NDA5NDU0MzQ2XSwgWzE2NjM5MjE3NDQuMjM2NTg4MiwgMzcyNiwgMS4yNDc1NDcwMzA0NDg5MTM2XSwgWzE2NjM5MjE3NDQuMzI5ODEyLCAzNzM1LCAxLjI0MTE3MDI4NzEzMjI2MzJdLCBbMTY2MzkyMTc0NC40MzE2MDE4LCAzNzQ0LCAxLjA5OTM1MTY0NDUxNTk5MTJdLCBbMTY2MzkyMTc0NC43MjAzODQ0LCAzNzcxLCAxLjI1OTk1MzYxODA0OTYyMTZdLCBbMTY2MzkyMTc0NC44MTkwNTM0LCAzNzgwLCAxLjQxNjkwNzE5MTI3NjU1MDNdLCBbMTY2MzkyMTc0NS4wMjU2OTE3LCAzNzk4LCAxLjE5ODc5NzU4MzU4MDAxN10sIFsxNjYzOTIxNzQ1LjEyMjA3LCAzODA3LCAxLjI3MDkyODE0NDQ1NDk1Nl0sIFsxNjYzOTIxNzQ1LjIzNTk4MjIsIDM4MTYsIDEuMjAxNDE3NTY1MzQ1NzY0Ml0sIFsxNjYzOTIxNzQ1LjM1MjM5MjQsIDM4MjUsIDEuMjQyMTU1MzEzNDkxODIxM10sIFsxNjYzOTIxNzQ1LjQ2NzY0NzMsIDM4MzQsIDEuNDgxNjk2MzY3MjYzNzk0XSwgWzE2NjM5MjE3NDUuNTU0MTczLCAzODQzLCAxLjI2MzcyMzAxNTc4NTIxNzNdLCBbMTY2MzkyMTc0NS42NTQyNDM1LCAzODUyLCAxLjIyNDMyOTU5MDc5NzQyNDNdLCBbMTY2MzkyMTc0NS44MzcxMTc0LCAzODcwLCAxLjU2NjEwMDIzOTc1MzcyMzFdLCBbMTY2MzkyMTc0NS45NDc5MDk0LCAzODc5LCAxLjU1NzQ5NTQ3NDgxNTM2ODddLCBbMTY2MzkyMTc0Ni4wNTc5OTcyLCAzODg4LCAxLjM1NDAzNTQ5NjcxMTczMV0sIFsxNjYzOTIxNzQ2LjM1OTg3NDcsIDM5MTUsIDEuMzE3NjA3OTk4ODQ3OTYxNF0sIFsxNjYzOTIxNzQ2LjY5NTcwNjEsIDM5MjQsIDEuMjczMzQ4Njg5MDc5Mjg0N10sIFsxNjYzOTIxNzQ2Ljc4MDUxNDIsIDM5MzMsIDEuMTkxMzg0NTUzOTA5MzAxOF0sIFsxNjYzOTIxNzQ2Ljg3MjA2OTYsIDM5NDIsIDEuMTY5ODQ1OTM4NjgyNTU2Ml0sIFsxNjYzOTIxNzQ2Ljk3ODAxMSwgMzk1MSwgMS4wNTU5NzM2NDkwMjQ5NjM0XSwgWzE2NjM5MjE3NDcuMDY2ODY3NCwgMzk2MCwgMS4wNTYxNjExNjUyMzc0MjY4XSwgWzE2NjM5MjE3NDcuMjI0MjI2NSwgMzk2OSwgMS4yMTYyNjQyNDc4OTQyODddLCBbMTY2MzkyMTc0Ny4zMjU1ODM1LCAzOTc4LCAxLjM3NTYyNTEzMzUxNDQwNDNdLCBbMTY2MzkyMTc0Ny41MTEwNzY1LCAzOTk2LCAxLjI1OTcwMTcyODgyMDgwMDhdLCBbMTY2MzkyMTc0Ny42NjE4ODM2LCA0MDA1LCAxLjA4MjU2OTAwMzEwNTE2MzZdLCBbMTY2MzkyMTc0Ny43ODExODc4LCA0MDE0LCAxLjIyODE2NTI2ODg5ODAxMDNdLCBbMTY2MzkyMTc0Ny45MDMwODM4LCA0MDIzLCAxLjE5MDA2MzExODkzNDYzMTNdLCBbMTY2MzkyMTc0OC4yODk5OTY0LCA0MDU5LCAxLjIyNTkwNzMyNTc0NDYyOV0sIFsxNjYzOTIxNzQ4LjM5NTE5NDUsIDQwNjgsIDAuOTkzNjY0MTQ1NDY5NjY1NV0sIFsxNjYzOTIxNzQ4LjUwOTM3MjUsIDQwNzcsIDEuMDYzMDgxMjY0NDk1ODQ5Nl0sIFsxNjYzOTIxNzQ4LjYxNTI4ODcsIDQwODYsIDEuMzc5NjMwNjg0ODUyNl0sIFsxNjYzOTIxNzQ4LjcxODgwNjcsIDQwOTUsIDEuNDU5NzAyMjUzMzQxNjc0OF0sIFsxNjYzOTIxNzQ4LjgxMDkzMDUsIDQxMDQsIDEuMTQ0MDc1NjMyMDk1MzM3XSwgWzE2NjM5MjE3NDguOTA3MTE2NywgNDExMywgMS4yMDUwMjY1MDczNzc2MjQ1XSwgWzE2NjM5MjE3NDkuMTMzOTkyLCA0MTMxLCAxLjQzMDIwNDc0OTEwNzM2MDhdLCBbMTY2MzkyMTc0OS4zMjU5NjA2LCA0MTQ5LCAxLjQ2MzYyOTcyMjU5NTIxNDhdLCBbMTY2MzkyMTc0OS40MTc4ODgyLCA0MTU4LCAxLjI4MTUxNzUwNTY0NTc1Ml0sIFsxNjYzOTIxNzQ5LjUxNDU0MDQsIDQxNjcsIDEuMzg5NTgwNzI2NjIzNTM1Ml0sIFsxNjYzOTIxNzQ5LjYwNjQxMzYsIDQxNzYsIDEuMTA1Mzc5MTA0NjE0MjU3OF0sIFsxNjYzOTIxNzQ5LjcxMTI2ODcsIDQxODUsIDEuMjU3ODA2MzAxMTE2OTQzNF0sIFsxNjYzOTIxNzQ5LjgwMTM1MzUsIDQxOTQsIDEuMDgzNjM2MDQ1NDU1OTMyNl0sIFsxNjYzOTIxNzQ5LjkxMDAwMiwgNDIwMywgMS40NjYxNDkzMzAxMzkxNjAyXSwgWzE2NjM5MjE3NTAuMDk5NjE2NSwgNDIyMSwgMS4wNjQzMDYwMjA3MzY2OTQzXSwgWzE2NjM5MjE3NTAuMjIwODYwNywgNDIzMCwgMS4wOTA0NDI4OTU4ODkyODIyXSwgWzE2NjM5MjE3NTAuMzI0NjQ0LCA0MjM5LCAxLjA3ODMyMjc2ODIxMTM2NDddLCBbMTY2MzkyMTc1MC40MTcyMTk0LCA0MjQ4LCAxLjA2NjUwODA1NDczMzI3NjRdLCBbMTY2MzkyMTc1MC42MjYyMzAyLCA0MjY2LCAxLjAyMDI0NTY3MTI3MjI3NzhdLCBbMTY2MzkyMTc1MC43MjU2OTE2LCA0Mjc1LCAxLjM5NzY1NzAzNjc4MTMxMV0sIFsxNjYzOTIxNzUwLjgyNDc4NSwgNDI4NCwgMS4yNTAzOTQxMDU5MTEyNTQ5XSwgWzE2NjM5MjE3NTEuMTY3MjU5LCA0MzExLCAxLjAyNzAyOTg3MTk0MDYxMjhdLCBbMTY2MzkyMTc1MS4yNzYxNjYsIDQzMjAsIDEuMzA0ODk3MTg5MTQwMzE5OF0sIFsxNjYzOTIxNzUxLjQwNDAwMSwgNDMyOSwgMS4zNDY2NzM4NDYyNDQ4MTJdLCBbMTY2MzkyMTc1MS41MTE5Mjg4LCA0MzM4LCAxLjE0NDM5ODA5MzIyMzU3MThdLCBbMTY2MzkyMTc1MS41OTUyNjgsIDQzNDcsIDEuMTE1NzkyNjMyMTAyOTY2M10sIFsxNjYzOTIxNzUxLjY4NDUyNTUsIDQzNTYsIDEuMzA1MTI1OTUxNzY2OTY3OF0sIFsxNjYzOTIxNzUxLjc3NjMxNiwgNDM2NSwgMS4wMDczMTQ2ODIwMDY4MzZdLCBbMTY2MzkyMTc1MS45OTAyNjEzLCA0MzgzLCAxLjMwNTY5NDIyMjQ1MDI1NjNdLCBbMTY2MzkyMTc1Mi4xMDQ3NDEsIDQzOTIsIDEuMjQ4NjEzMzU3NTQzOTQ1M10sIFsxNjYzOTIxNzUyLjIwMTc0NjcsIDQ0MDEsIDEuMzE4MzU4NTQwNTM0OTczMV0sIFsxNjYzOTIxNzUyLjMwMTM1OSwgNDQxMCwgMS4yMDM5ODE2Mzc5NTQ3MTJdLCBbMTY2MzkyMTc1Mi4zODgzNjE1LCA0NDE5LCAxLjE3Mzg0MDA0NTkyODk1NV0sIFsxNjYzOTIxNzUyLjQ4NDA2MTUsIDQ0MjgsIDEuMjA3MzI4MjAwMzQwMjcxXSwgWzE2NjM5MjE3NTIuNzc1NjAxNCwgNDQ1NSwgMS4xMjkwMTkxNDExOTcyMDQ2XSwgWzE2NjM5MjE3NTIuODYwMDYzNiwgNDQ2NCwgMS4wNjY5MzM4NzAzMTU1NTE4XSwgWzE2NjM5MjE3NTMuMDYwMzAzNCwgNDQ4MiwgMS4xODkyNDcyNTA1NTY5NDU4XSwgWzE2NjM5MjE3NTMuMTY3NTc5LCA0NDkxLCAxLjE2NzU0MjY5NTk5OTE0NTVdLCBbMTY2MzkyMTc1My4zMjE0MDg1LCA0NTAwLCAxLjE0NDYwMTgyMTg5OTQxNF0sIFsxNjYzOTIxNzUzLjUxOTUzNCwgNDUxOCwgMS4zNjQ4Nzg0MTYwNjE0MDE0XSwgWzE2NjM5MjE3NTMuNjEyMjE4MSwgNDUyNywgMS4xNTc2MjQ3MjE1MjcwOTk2XSwgWzE2NjM5MjE3NTMuNzI1MDgzNiwgNDUzNiwgMS4yNDYyMTQxNTEzODI0NDYzXSwgWzE2NjM5MjE3NTQuMDAxNTYyOCwgNDU2MywgMS4xMjIwOTIwMDg1OTA2OTgyXSwgWzE2NjM5MjE3NTQuMTMyMjI1NSwgNDU3MiwgMS4wNDU0NTkxNTEyNjgwMDU0XSwgWzE2NjM5MjE3NTQuMjI1ODkxOCwgNDU4MSwgMS4yMzA0NDMyMzkyMTIwMzYxXSwgWzE2NjM5MjE3NTQuMzYyMjEsIDQ1OTAsIDEuNjAzNjU5NzQ5MDMxMDY3XSwgWzE2NjM5MjE3NTQuNDgyMzY1NCwgNDU5OSwgMS4wNjU5NzkyNDIzMjQ4MjldLCBbMTY2MzkyMTc1NC41ODkxNTMzLCA0NjA4LCAxLjEwMDM3ODI3NDkxNzYwMjVdLCBbMTY2MzkyMTc1NC42ODc1NTMyLCA0NjE3LCAxLjEzNzU2NzUyMDE0MTYwMTZdLCBbMTY2MzkyMTc1NC43OTkwMjQzLCA0NjI2LCAxLjExMzU4NDE2MDgwNDc0ODVdLCBbMTY2MzkyMTc1NC44ODU5NTQ5LCA0NjM1LCAxLjI5NTc1MzcxNzQyMjQ4NTRdLCBbMTY2MzkyMTc1NS4wOTEwNDI1LCA0NjUzLCAxLjA3NTkwMjkzODg0Mjc3MzRdLCBbMTY2MzkyMTc1NS4xOTA0MDU0LCA0NjYyLCAxLjIxNDE4NDc2MTA0NzM2MzNdLCBbMTY2MzkyMTc1NS4yODE4MzAzLCA0NjcxLCAxLjIyMjQ3MjY2NzY5NDA5MThdLCBbMTY2MzkyMTc1NS4zNzc3NDczLCA0NjgwLCAxLjIwNzU3NTY3ODgyNTM3ODRdLCBbMTY2MzkyMTc1NS40OTUzMzkyLCA0Njg5LCAxLjQ4MDkyNjI3NTI1MzI5Nl0sIFsxNjYzOTIxNzU1Ljc5NjU2OSwgNDY5OCwgMS4wNjIzMDk1MDM1NTUyOTc5XSwgWzE2NjM5MjE3NTYuMDI5NTM2NSwgNDcxNiwgMS4xNTIzMDk1MzY5MzM4OTldLCBbMTY2MzkyMTc1Ni4zMzgwMDgyLCA0NzQzLCAxLjEwOTQxOTQ2NTA2NTAwMjRdLCBbMTY2MzkyMTc1Ni40NDcyMDU4LCA0NzUyLCAxLjE1ODc2NjM4ODg5MzEyNzRdLCBbMTY2MzkyMTc1Ni43NDgzMzA2LCA0Nzc5LCAxLjEyMjYxNTY5NDk5OTY5NDhdLCBbMTY2MzkyMTc1Ni44NDY0ODczLCA0Nzg4LCAxLjM2NTkxNzQ0NDIyOTEyNl0sIFsxNjYzOTIxNzU2LjkzNzY0NjIsIDQ3OTcsIDEuMDc0NTA5NjIwNjY2NTA0XSwgWzE2NjM5MjE3NTcuMDI4MDI2NiwgNDgwNiwgMS4xNzc2NzYzMjAwNzU5ODg4XSwgWzE2NjM5MjE3NTcuMTE2MjAxOSwgNDgxNSwgMS4zOTU2NzAyOTQ3NjE2NTc3XSwgWzE2NjM5MjE3NTcuMjAzMTc5OCwgNDgyNCwgMS4wODM1MjY2MTEzMjgxMjVdLCBbMTY2MzkyMTc1Ny4yOTU0NjcsIDQ4MzMsIDEuMjIyMDU4NjUzODMxNDgyXSwgWzE2NjM5MjE3NTcuMzk1NjY2NiwgNDg0MiwgMS4xMzYwNDA4MDY3NzAzMjQ3XSwgWzE2NjM5MjE3NTcuNDkxNTIyNiwgNDg1MSwgMS4xNTE2MzAyODI0MDIwMzg2XSwgWzE2NjM5MjE3NTcuNTg3NzkzOCwgNDg2MCwgMS4wMTI3NTUyNzQ3NzI2NDRdLCBbMTY2MzkyMTc1Ny42ODExNDEsIDQ4NjksIDEuMDU0NDg0NDg2NTc5ODk1XSwgWzE2NjM5MjE3NTcuNzg3OTgyNywgNDg3OCwgMS4zNzk3MzM2ODE2Nzg3NzJdLCBbMTY2MzkyMTc1Ny44OTAzOTE4LCA0ODg3LCAwLjk2NzIwMjA2NzM3NTE4MzFdLCBbMTY2MzkyMTc1OC4wMTAzMjQyLCA0ODk2LCAxLjEyMTM0NTYzOTIyODgyMDhdLCBbMTY2MzkyMTc1OC4xMDg3ODMyLCA0OTA1LCAxLjE1ODMzMTg3MTAzMjcxNDhdLCBbMTY2MzkyMTc1OC4yOTg5MDU0LCA0OTIzLCAxLjI5NTcxNzgzNTQyNjMzMDZdLCBbMTY2MzkyMTc1OC40MTA2MzUsIDQ5MzIsIDEuMDI0NDM3MTg5MTAyMTcyOV0sIFsxNjYzOTIxNzU4LjUwNzQ3NywgNDk0MSwgMS4zMTkwNTMxNzMwNjUxODU1XSwgWzE2NjM5MjE3NTguNzA3NjIxNiwgNDk1OSwgMS4yMTg2MDAzOTIzNDE2MTM4XSwgWzE2NjM5MjE3NTguOTA0NTIyMiwgNDk3NywgMS4yMDUyOTE5ODY0NjU0NTRdLCBbMTY2MzkyMTc1OC45OTIyMzc2LCA0OTg2LCAxLjMzNTE2NTk3NzQ3ODAyNzNdLCBbMTY2MzkyMTc1OS4wOTA4NTg3LCA0OTk1LCAxLjQxNzEzMzY4ODkyNjY5NjhdLCBbMTY2MzkyMTc1OS4xODc1MTksIDUwMDQsIDAuOTQ5Nzg3MzE4NzA2NTEyNV0sIFsxNjYzOTIxNzU5LjI4OTczMywgNTAxMywgMC45NjAyNDc1MTY2MzIwODAxXSwgWzE2NjM5MjE3NTkuNDg2MjI5MiwgNTAzMSwgMS4wMzMxMzczMjE0NzIxNjhdLCBbMTY2MzkyMTc1OS41OTM1NDczLCA1MDQwLCAxLjIyOTYzMzMzMTI5ODgyODFdLCBbMTY2MzkyMTc1OS44MDE4MzMyLCA1MDU4LCAxLjEwNzU1OTIwNDEwMTU2MjVdLCBbMTY2MzkyMTc1OS44OTIwNzIyLCA1MDY3LCAxLjEyMDg4MDEyNjk1MzEyNV0sIFsxNjYzOTIxNzU5Ljk4ODQxNjQsIDUwNzYsIDEuMDI2NjM1MDUwNzczNjIwNl0sIFsxNjYzOTIxNzYwLjA4MjMwMTEsIDUwODUsIDEuMDA4MzE4MDY2NTk2OTg0OV0sIFsxNjYzOTIxNzYwLjI2ODM3NDIsIDUxMDMsIDEuMTM4NTYwNTMzNTIzNTU5Nl0sIFsxNjYzOTIxNzYwLjM2MzU3MzMsIDUxMTIsIDEuMTQzNDk4MDYzMDg3NDYzNF0sIFsxNjYzOTIxNzYwLjQ5Mzc1NSwgNTEyMSwgMS41NDE2NjkyNDk1MzQ2MDddLCBbMTY2MzkyMTc2MC42MDY1MTM3LCA1MTMwLCAxLjE1MDQ1NTgzMjQ4MTM4NDNdLCBbMTY2MzkyMTc2MC44MjQxMDg0LCA1MTQ4LCAxLjA4NjA3MDc3NTk4NTcxNzhdLCBbMTY2MzkyMTc2MC45NTEyNjAzLCA1MTU3LCAxLjA0Nzg4ODc1NTc5ODMzOThdLCBbMTY2MzkyMTc2MS4wNjA0MDcsIDUxNjYsIDEuMjc2ODA1NjM5MjY2OTY3OF0sIFsxNjYzOTIxNzYxLjMyODMwMjQsIDUxODQsIDAuOTgwOTkzODY2OTIwNDcxMl0sIFsxNjYzOTIxNzYxLjQ0NDYwOTIsIDUxOTMsIDEuMzMxNjgzNzU0OTIwOTU5NV0sIFsxNjYzOTIxNzYxLjU1MTgxMzQsIDUyMDIsIDEuMTAxNTgxOTMxMTE0MTk2OF0sIFsxNjYzOTIxNzYxLjg0MDgyNTMsIDUyMjksIDEuMDM1ODM5Njc2ODU2OTk0Nl0sIFsxNjYzOTIxNzYyLjI5NjMyMDIsIDUyNjUsIDEuMDczNDE5MzMyNTA0MjcyNV0sIFsxNjYzOTIxNzYyLjQwMjA4OTQsIDUyNzQsIDEuMTg1NjI0MzYxMDM4MjA4XSwgWzE2NjM5MjE3NjIuNDkzODk1LCA1MjgzLCAwLjk3NDI2OTA5MjA4Mjk3NzNdLCBbMTY2MzkyMTc2Mi42ODUwOTE3LCA1MzAxLCAxLjE2MjAwNjQ5NzM4MzExNzddLCBbMTY2MzkyMTc2Mi43NzIwNzYsIDUzMTAsIDEuMjY5OTg5MTMyODgxMTY0Nl0sIFsxNjYzOTIxNzYyLjg3Mzk4ODQsIDUzMTksIDEuMDI4MDU0NTk0OTkzNTkxM10sIFsxNjYzOTIxNzYyLjk3Nzk5NCwgNTMyOCwgMC45OTY2OTMyNTM1MTcxNTA5XSwgWzE2NjM5MjE3NjMuMTA5MTU5MiwgNTMzNywgMS4wMTg5ODk4MDE0MDY4NjA0XSwgWzE2NjM5MjE3NjMuMjEwMDkzLCA1MzQ2LCAxLjEzMzg0Njc1OTc5NjE0MjZdLCBbMTY2MzkyMTc2My4zMDYxNDg4LCA1MzU1LCAxLjM1OTI5MTMxNTA3ODczNTRdLCBbMTY2MzkyMTc2My40MTI5ODIsIDUzNjQsIDEuMTU0MjgzNjQyNzY4ODU5OV0sIFsxNjYzOTIxNzYzLjUwNzI3MjcsIDUzNzMsIDEuMjg1ODM5Njc2ODU2OTk0Nl0sIFsxNjYzOTIxNzYzLjYxNTAxMSwgNTM4MiwgMS4xNTE3NTEyNzk4MzA5MzI2XSwgWzE2NjM5MjE3NjMuNzAyOTIzOCwgNTM5MSwgMS4wNDAzNjg0Mzc3NjcwMjg4XSwgWzE2NjM5MjE3NjMuODA0ODkxMywgNTQwMCwgMS4xMzcxNjY1MDAwOTE1NTI3XSwgWzE2NjM5MjE3NjQuMDA2NDE1OCwgNTQxOCwgMS4xMTc3MTAxMTM1MjUzOTA2XSwgWzE2NjM5MjE3NjQuMTAyNzU3MiwgNTQyNywgMS4wMTQ0ODAzNTI0MDE3MzM0XSwgWzE2NjM5MjE3NjQuMTk5OTE4NywgNTQzNiwgMS4zNDQ5NDg3Njg2MTU3MjI3XSwgWzE2NjM5MjE3NjQuMjk5NDM1OSwgNTQ0NSwgMS4xODA5OTI2MDMzMDIwMDJdLCBbMTY2MzkyMTc2NC40MDcyNjk3LCA1NDU0LCAxLjEyOTI3MTM4ODA1Mzg5NF0sIFsxNjYzOTIxNzY0Ljg1NjY1MywgNTQ3MiwgMS4xMzI5MDQ4ODcxOTk0MDE5XSwgWzE2NjM5MjE3NjQuOTY2NTg5LCA1NDgxLCAxLjAyODMwNjk2MTA1OTU3MDNdLCBbMTY2MzkyMTc2NS4wNzYxODAyLCA1NDkwLCAxLjE4NDA5NTc0MDMxODI5ODNdLCBbMTY2MzkyMTc2NS4xNjYyMTg1LCA1NDk5LCAxLjE2NzUxOTkyNzAyNDg0MTNdLCBbMTY2MzkyMTc2NS4zNDgwNjksIDU1MTcsIDEuMTA5Njk5MzY4NDc2ODY3N10sIFsxNjYzOTIxNzY1LjQ1MDAzOTEsIDU1MjYsIDEuMDg2NzM1MjQ4NTY1NjczOF0sIFsxNjYzOTIxNzY1LjU0NzE1MzcsIDU1MzUsIDEuMzA0NTkzNTYzMDc5ODM0XSwgWzE2NjM5MjE3NjUuNjM5MDQxMiwgNTU0NCwgMS4yNDE4MDEyNjE5MDE4NTU1XSwgWzE2NjM5MjE3NjUuNzQ1ODc5LCA1NTUzLCAxLjM3NjI3MjIwMTUzODA4Nl0sIFsxNjYzOTIxNzY1Ljg0MDI1MTcsIDU1NjIsIDEuMTAyMjE2ODM5NzkwMzQ0Ml0sIFsxNjYzOTIxNzY1LjkzNzk4NDIsIDU1NzEsIDEuMDQzNTQ4MTA3MTQ3MjE2OF0sIFsxNjYzOTIxNzY2LjA0NTg0NiwgNTU4MCwgMS4wODAyNDY2ODY5MzU0MjQ4XSwgWzE2NjM5MjE3NjYuMTMzMjM0NywgNTU4OSwgMS4yMTE3NjUxNzAwOTczNTFdLCBbMTY2MzkyMTc2Ni4yMjYzOTk0LCA1NTk4LCAxLjQyNjk5OTQ0OTcyOTkxOTRdLCBbMTY2MzkyMTc2Ni4zMTgzNTkxLCA1NjA3LCAxLjAxNjM4OTk2NjAxMTA0NzRdLCBbMTY2MzkyMTc2Ni40MjE0MTk0LCA1NjE2LCAxLjAzOTg4Nzc4NTkxMTU2XSwgWzE2NjM5MjE3NjYuNTk2MjY0NCwgNTYzNCwgMS4xODc3OTM3MzE2ODk0NTMxXSwgWzE2NjM5MjE3NjYuNjg5OTEwNCwgNTY0MywgMS4wMzc3MjU4MDYyMzYyNjddLCBbMTY2MzkyMTc2Ni43ODIyNDA2LCA1NjUyLCAxLjA1MzIzNzA4MDU3NDAzNTZdLCBbMTY2MzkyMTc2Ni44NzY2MTcyLCA1NjYxLCAxLjM2ODIwODQwODM1NTcxM10sIFsxNjYzOTIxNzY2Ljk2ODg3MDYsIDU2NzAsIDEuMzQwNDgwNDQ2ODE1NDkwN10sIFsxNjYzOTIxNzY3LjI1ODA0MjgsIDU2OTcsIDEuMzgyNjQ0NjUzMzIwMzEyNV0sIFsxNjYzOTIxNzY3LjM1NTE0MTksIDU3MDYsIDEuMjg0MjgxMjUzODE0Njk3M10sIFsxNjYzOTIxNzY3LjQ0ODc2ODksIDU3MTUsIDEuMTk4ODY0NDU5OTkxNDU1XSwgWzE2NjM5MjE3NjcuNTQzNzg2OCwgNTcyNCwgMS4yODI2NTgxMDAxMjgxNzM4XSwgWzE2NjM5MjE3NjcuNjMyMjk4NywgNTczMywgMS4wODIzNjE2OTgxNTA2MzQ4XSwgWzE2NjM5MjE3NjcuNzM3OTk1MSwgNTc0MiwgMS4xOTE0MTg0MDkzNDc1MzQyXSwgWzE2NjM5MjE3NjguMDE1NDQ5LCA1NzY5LCAxLjE5MTg1OTk2MDU1NjAzMDNdLCBbMTY2MzkyMTc2OC4xMjY4ODYxLCA1Nzc4LCAxLjE4MjM3OTAwNzMzOTQ3NzVdLCBbMTY2MzkyMTc2OC4yMjIxNTE1LCA1Nzg3LCAwLjk2NTA5NTk5Njg1NjY4OTVdLCBbMTY2MzkyMTc2OC4zMzU3MjIyLCA1Nzk2LCAxLjIzOTQ0MDMyMTkyMjMwMjJdLCBbMTY2MzkyMTc2OC40NzkyMDM3LCA1ODA1LCAxLjI5Nzk0OTkxMDE2Mzg3OTRdLCBbMTY2MzkyMTc2OC42MDEyOTY3LCA1ODE0LCAxLjMzMDAxODI4MTkzNjY0NTVdLCBbMTY2MzkyMTc2OC44OTU0ODk1LCA1ODQxLCAxLjM1MjM1MTkwMzkxNTQwNTNdLCBbMTY2MzkyMTc2OC45OTk0NzIsIDU4NTAsIDEuMzkxNjgwODM2Njc3NTUxM10sIFsxNjYzOTIxNzY5LjIxMjMyMzQsIDU4NjgsIDEuMDk1MDYwMTEwMDkyMTYzXSwgWzE2NjM5MjE3NjkuMzIwODc5NywgNTg3NywgMS4wMzI5ODMwNjQ2NTE0ODkzXSwgWzE2NjM5MjE3NjkuNDE2MzQ2LCA1ODg2LCAxLjM0ODAyMTg2NDg5MTA1MjJdLCBbMTY2MzkyMTc2OS41MTkxNDQzLCA1ODk1LCAwLjk5MDQxMzAxMDEyMDM5MThdLCBbMTY2MzkyMTc2OS42MDg0ODAyLCA1OTA0LCAxLjA0NTY3NjQ2OTgwMjg1NjRdLCBbMTY2MzkyMTc2OS45MDg1NjA4LCA1OTMxLCAxLjA5MDMzNDY1Mzg1NDM3MDFdLCBbMTY2MzkyMTc3MC4wMDY2NTU1LCA1OTQwLCAxLjIxNzY4NDc0NTc4ODU3NDJdLCBbMTY2MzkyMTc3MC4wOTAxNTczLCA1OTQ5LCAxLjUyNjg4NDMxNzM5ODA3MTNdLCBbMTY2MzkyMTc3MC4yMjU4NzY4LCA1OTU4LCAxLjA3OTc3NzcxNzU5MDMzMl0sIFsxNjYzOTIxNzcwLjQ3NDA3NjcsIDU5NzYsIDEuMTA0MDIzMjE4MTU0OTA3Ml0sIFsxNjYzOTIxNzcwLjcyNzU3MTcsIDU5OTQsIDEuMTk3MTQ1MTA0NDA4MjY0Ml0sIFsxNjYzOTIxNzcwLjk2MjAwNzUsIDYwMTIsIDEuMDA3NTk0ODIzODM3MjgwM10sIFsxNjYzOTIxNzcxLjE1Mzg1MiwgNjAzMCwgMS4wOTAyMzQzOTg4NDE4NThdLCBbMTY2MzkyMTc3MS4yNTUyMjg1LCA2MDM5LCAxLjI2NTEwMzY5Nzc3Njc5NDRdLCBbMTY2MzkyMTc3MS4zNjUyOTkyLCA2MDQ4LCAxLjIzMTY4MzczMTA3OTEwMTZdLCBbMTY2MzkyMTc3MS40NzAxNDkzLCA2MDU3LCAxLjA4NTQ1NDIyNTU0MDE2MTFdLCBbMTY2MzkyMTc3MS41NjIzMDQ1LCA2MDY2LCAxLjEzMjc1OTQ1MTg2NjE1XSwgWzE2NjM5MjE3NzEuNzU2LCA2MDg0LCAxLjE1ODg2ODc4OTY3Mjg1MTZdLCBbMTY2MzkyMTc3MS44NTM2NDA2LCA2MDkzLCAxLjI2NTY1NjM1MjA0MzE1MTldLCBbMTY2MzkyMTc3MS45NDIwMDYzLCA2MTAyLCAxLjAyNDUyNzU0OTc0MzY1MjNdLCBbMTY2MzkyMTc3Mi4wNDM3NzMsIDYxMTEsIDEuMDYxNTE4MTkyMjkxMjU5OF0sIFsxNjYzOTIxNzcyLjE0NTI4NTEsIDYxMjAsIDEuMTUzMzYyMjc0MTY5OTIxOV0sIFsxNjYzOTIxNzcyLjIzNTM2NzgsIDYxMjksIDEuMjI4MzIxMTk0NjQ4NzQyN10sIFsxNjYzOTIxNzcyLjQzMDY2NzYsIDYxNDcsIDEuMjYyMzA5MDc0NDAxODU1NV0sIFsxNjYzOTIxNzcyLjUyMTEyNTYsIDYxNTYsIDEuMDU2NTA5Mzc1NTcyMjA0Nl0sIFsxNjYzOTIxNzcyLjYxOTM2NTcsIDYxNjUsIDAuOTk4NjE0NDMwNDI3NTUxM10sIFsxNjYzOTIxNzcyLjcwODg0MzcsIDYxNzQsIDEuMDQzMDUyMzE1NzExOTc1XSwgWzE2NjM5MjE3NzIuOTg4MTM2OCwgNjE5MiwgMS4wMzk4NzM4Mzg0MjQ2ODI2XSwgWzE2NjM5MjE3NzMuMTE3ODY2LCA2MjAxLCAxLjQ5MjE0ODk5NTM5OTQ3NV0sIFsxNjYzOTIxNzczLjQ0NTk5MiwgNjIxMCwgMS4zMzE0OTM5NzM3MzE5OTQ2XSwgWzE2NjM5MjE3NzMuNTUxMTcwOCwgNjIxOSwgMS40NTgxMTY0MTIxNjI3ODA4XSwgWzE2NjM5MjE3NzMuNzYxMjk5NCwgNjIzNywgMC45OTIxNjU0NDYyODE0MzMxXSwgWzE2NjM5MjE3NzMuODc1MDA2NywgNjI0NiwgMS4zOTQ0OTU3MjU2MzE3MTM5XSwgWzE2NjM5MjE3NzQuMDA5MjM5MiwgNjI1NSwgMS4yNjQ1NzU0ODE0MTQ3OTVdLCBbMTY2MzkyMTc3NC4xMDY2MTM0LCA2MjY0LCAwLjk5ODc3NzMyOTkyMTcyMjRdLCBbMTY2MzkyMTc3NC4yMDc1ODQ2LCA2MjczLCAxLjI4MzMzMzg5NzU5MDYzNzJdLCBbMTY2MzkyMTc3NC4zMDQyMzc4LCA2MjgyLCAxLjE2NTE4OTM4NTQxNDEyMzVdLCBbMTY2MzkyMTc3NC40MTQxMDEsIDYyOTEsIDEuMDc0ODI5Njk3NjA4OTQ3OF0sIFsxNjYzOTIxNzc0LjUyNzk5ODIsIDYzMDAsIDEuMDc3MTk1ODgyNzk3MjQxMl0sIFsxNjYzOTIxNzc0LjYyNDg3MjQsIDYzMDksIDEuMzA2NTc2MDEzNTY1MDYzNV0sIFsxNjYzOTIxNzc0LjgxMjk4MDQsIDYzMjcsIDEuNDg5NzMzNTc2Nzc0NTk3Ml0sIFsxNjYzOTIxNzc0LjkwNDgwNjYsIDYzMzYsIDEuNjIxMDk3NDQ1NDg3OTc2XSwgWzE2NjM5MjE3NzUuMDk3ODgsIDYzNTQsIDEuMDI5MDMxMDM4Mjg0MzAxOF0sIFsxNjYzOTIxNzc1LjQxNTM3NSwgNjM4MSwgMS4xODMwNTI4OTc0NTMzMDhdLCBbMTY2MzkyMTc3NS41MjM0MjYzLCA2MzkwLCAxLjQ3OTUxMjU3MjI4ODUxMzJdLCBbMTY2MzkyMTc3NS42MjU1MDEyLCA2Mzk5LCAxLjE0NTEyNDMxNjIxNTUxNTFdLCBbMTY2MzkyMTc3NS44MjQ1LCA2NDE3LCAwLjk2ODUyMzk3OTE4NzAxMTddLCBbMTY2MzkyMTc3NS45MjI4OTgzLCA2NDI2LCAwLjk4Mzk2NzU0MjY0ODMxNTRdLCBbMTY2MzkyMTc3Ni4xMTAxNTc1LCA2NDQ0LCAxLjM4NjQxMzA5NzM4MTU5MThdLCBbMTY2MzkyMTc3Ni4xOTUxNjM1LCA2NDUzLCAxLjMzNzEzNDM2MTI2NzA4OThdLCBbMTY2MzkyMTc3Ni4yOTM1NjU1LCA2NDYyLCAxLjA1MDUxNjg0Mzc5NTc3NjRdLCBbMTY2MzkyMTc3Ni40MDQ1Mzc0LCA2NDcxLCAxLjMwODE5NjE4NzAxOTM0ODFdLCBbMTY2MzkyMTc3Ni41Mjg2ODU4LCA2NDgwLCAxLjA2NTI0MjUyODkxNTQwNTNdLCBbMTY2MzkyMTc3Ni42MzM0MzM4LCA2NDg5LCAxLjE3NjIzNDI0NTMwMDI5M10sIFsxNjYzOTIxNzc2Ljc1MDc4MzIsIDY0OTgsIDEuMTI1NjQ5MzMzMDAwMTgzXSwgWzE2NjM5MjE3NzYuODUwMTc3MywgNjUwNywgMS4xMzEyODIyMTAzNTAwMzY2XSwgWzE2NjM5MjE3NzYuOTQyNjg1LCA2NTE2LCAxLjEyNTIzMDU1MDc2NTk5MTJdLCBbMTY2MzkyMTc3Ny4wNDEwMzk3LCA2NTI1LCAxLjAyOTQ2MDc4Nzc3MzEzMjNdLCBbMTY2MzkyMTc3Ny4xNDA4NzMyLCA2NTM0LCAxLjExOTUxOTIzMzcwMzYxMzNdLCBbMTY2MzkyMTc3Ny4yMzc0MDYzLCA2NTQzLCAxLjQzMzg4ODU1NDU3MzA1OV0sIFsxNjYzOTIxNzc3LjMyOTAzMjIsIDY1NTIsIDEuMTk3OTI1ODA2MDQ1NTMyMl0sIFsxNjYzOTIxNzc3LjQyNDIxNzcsIDY1NjEsIDEuMTUyNzM5MTY3MjEzNDRdLCBbMTY2MzkyMTc3Ny41MTQ0ODA0LCA2NTcwLCAxLjA3MDI0NDU1MDcwNDk1Nl0sIFsxNjYzOTIxNzc3LjYwNjQxOCwgNjU3OSwgMS4wMjU5Njk4NjI5Mzc5MjcyXSwgWzE2NjM5MjE3NzcuNzA5NjA1NywgNjU4OCwgMS4yMTg4NDc5OTAwMzYwMTA3XSwgWzE2NjM5MjE3NzcuODA5NTI4OCwgNjU5NywgMS4xODk5MzczNTMxMzQxNTUzXSwgWzE2NjM5MjE3NzcuOTU3OTQ5NiwgNjYwNiwgMS4xMzk5Nzg1MjgwMjI3NjYxXSwgWzE2NjM5MjE3NzguMDYzNTU2NCwgNjYxNSwgMC45MzUwOTM5MzkzMDQzNTE4XSwgWzE2NjM5MjE3NzguMTcyNDAxLCA2NjI0LCAxLjE0NjYwMTU1NzczMTYyODRdLCBbMTY2MzkyMTc3OC4yODE1NTEsIDY2MzMsIDEuMjYzMDgzMzM4NzM3NDg3OF0sIFsxNjYzOTIxNzc4LjQ5NDk3ODcsIDY2NTEsIDEuMTMwNTgzMTY3MDc2MTEwOF0sIFsxNjYzOTIxNzc4LjYwMDQwMiwgNjY2MCwgMS4wODQ5NzgxMDM2Mzc2OTUzXSwgWzE2NjM5MjE3NzguNzA0Nzk5LCA2NjY5LCAxLjIwMjY2MTAzNzQ0NTA2ODRdLCBbMTY2MzkyMTc3OC45MjEzNzcsIDY2ODcsIDEuMTE1MjYzMzQyODU3MzYwOF0sIFsxNjYzOTIxNzc5LjAyODU1NzUsIDY2OTYsIDAuOTk5MjkwMDQ5MDc2MDgwM10sIFsxNjYzOTIxNzc5LjE0MzIyOTUsIDY3MDUsIDEuMTcxNTYzMTQ4NDk4NTM1Ml0sIFsxNjYzOTIxNzc5LjI1MzkyNjgsIDY3MTQsIDEuMzcxNzg4NjIwOTQ4NzkxNV0sIFsxNjYzOTIxNzc5LjM1ODQwNiwgNjcyMywgMS4yMjYyNDA3NTQxMjc1MDI0XSwgWzE2NjM5MjE3NzkuODkxMDMxMywgNjc2OCwgMC45NzU5MjI1MjQ5MjkwNDY2XSwgWzE2NjM5MjE3NzkuOTkyODY3LCA2Nzc3LCAwLjk5NDUzOTM4MDA3MzU0NzRdLCBbMTY2MzkyMTc4MC4xMTI2ODY2LCA2Nzg2LCAxLjExOTk2NTA3NjQ0NjUzMzJdLCBbMTY2MzkyMTc4MC4yOTkwMDU1LCA2ODA0LCAwLjk1NDQ1MjE1NzAyMDU2ODhdLCBbMTY2MzkyMTc4MC4zOTEsIDY4MTMsIDEuMDk0OTkzNTkxMzA4NTkzOF0sIFsxNjYzOTIxNzgwLjQ4Mzg4MDgsIDY4MjIsIDEuMDEwOTQ0NzI0MDgyOTQ2OF0sIFsxNjYzOTIxNzgwLjU4NTY1MzUsIDY4MzEsIDEuMTQ2MjA1MzA2MDUzMTYxNl0sIFsxNjYzOTIxNzgwLjY5NzQ5LCA2ODQwLCAxLjEwODcyMDY2MDIwOTY1NThdLCBbMTY2MzkyMTc4MS4wNTUzNDE1LCA2ODY3LCAwLjkyMjM5NTA1MDUyNTY2NTNdLCBbMTY2MzkyMTc4MS4xNjIxMTUsIDY4NzYsIDEuMDMxNTI1NDkyNjY4MTUxOV0sIFsxNjYzOTIxNzgxLjI2NTc0ODUsIDY4ODUsIDEuMDk3NTIzMjEyNDMyODYxM10sIFsxNjYzOTIxNzgxLjM3NjIwNDMsIDY4OTQsIDEuMDE5ODc4MDI5ODIzMzAzMl0sIFsxNjYzOTIxNzgxLjQ3NzY3NzgsIDY5MDMsIDEuMDE1NzgxNzYwMjE1NzU5M10sIFsxNjYzOTIxNzgxLjU4NzQyODgsIDY5MTIsIDEuMDc3NjE4OTU2NTY1ODU3XSwgWzE2NjM5MjE3ODEuNjkwNDEwOSwgNjkyMSwgMS4wNDc1NjU2OTg2MjM2NTcyXSwgWzE2NjM5MjE3ODEuNzk0NzQwNCwgNjkzMCwgMC45MzAyMDgzMjUzODYwNDc0XSwgWzE2NjM5MjE3ODEuODk5NzczMSwgNjkzOSwgMS4yOTUzNTUyMDA3Njc1MTddLCBbMTY2MzkyMTc4Mi4wMDg3MzQ3LCA2OTQ4LCAxLjE4MTcwOTE3MDM0MTQ5MTddLCBbMTY2MzkyMTc4Mi4xMTgzMTU3LCA2OTU3LCAxLjM1NDg0NDgwODU3ODQ5MTJdLCBbMTY2MzkyMTc4Mi4yMjQ4Nzg4LCA2OTY2LCAxLjI4NzY2NTcyNDc1NDMzMzVdLCBbMTY2MzkyMTc4Mi42NjM0MTQyLCA2OTg0LCAxLjE3MzQ4MTEwNjc1ODExNzddLCBbMTY2MzkyMTc4Mi43NzIwOTE5LCA2OTkzLCAxLjA4MTQ1MjcyNzMxNzgxXSwgWzE2NjM5MjE3ODIuODcxOTMwOCwgNzAwMiwgMC45MjYzMTEzMTQxMDU5ODc1XSwgWzE2NjM5MjE3ODIuOTcxNTgyLCA3MDExLCAwLjkyODQyMjgwODY0NzE1NThdLCBbMTY2MzkyMTc4My4xMDA2MzQsIDcwMjAsIDEuMDQ0ODEyMjAyNDUzNjEzM10sIFsxNjYzOTIxNzgzLjIxMDUxODQsIDcwMjksIDEuMjA0MDAxNzg0MzI0NjQ2XSwgWzE2NjM5MjE3ODMuMzIxMzc2OCwgNzAzOCwgMC44NTkwMjU4MzU5OTA5MDU4XSwgWzE2NjM5MjE3ODMuNDQyMTEyLCA3MDQ3LCAxLjMwNzU1MTAyNjM0NDI5OTNdLCBbMTY2MzkyMTc4My41MzgzMTE1LCA3MDU2LCAxLjE3NTkyMTU1OTMzMzgwMTNdLCBbMTY2MzkyMTc4My44NDE2NTQ1LCA3MDgzLCAwLjk5MDE3NDExNDcwNDEzMjFdLCBbMTY2MzkyMTc4My45NTk1MjQ5LCA3MDkyLCAxLjM0MDM2MjE5MTIwMDI1NjNdLCBbMTY2MzkyMTc4NC4wNTA5MTYsIDcxMDEsIDEuMzc5NzIyMzU2Nzk2MjY0Nl0sIFsxNjYzOTIxNzg0LjE0ODExNDQsIDcxMTAsIDEuNDMzNDg4MDExMzYwMTY4NV0sIFsxNjYzOTIxNzg0LjI2MDA0MzQsIDcxMTksIDEuMDM3MjA3NjAzNDU0NTg5OF0sIFsxNjYzOTIxNzg0LjM2MzUxMjUsIDcxMjgsIDEuMzU5MTI5Nzg2NDkxMzk0XSwgWzE2NjM5MjE3ODQuNTc3NzUyNiwgNzE0NiwgMS41NjkwMDEzMTcwMjQyMzFdLCBbMTY2MzkyMTc4NC42Njg5OTYzLCA3MTU1LCAxLjA4MjkyMTI2NjU1NTc4NjFdLCBbMTY2MzkyMTc4NC43NTY5MDcsIDcxNjQsIDEuMzgwMjE5MTAxOTA1ODIyOF0sIFsxNjYzOTIxNzg0Ljg1NDIyNSwgNzE3MywgMS4yMjk2Mjc4NDc2NzE1MDg4XSwgWzE2NjM5MjE3ODQuOTQ0NjQ2LCA3MTgyLCAwLjk4MjI4ODgzNzQzMjg2MTNdLCBbMTY2MzkyMTc4NS4wMzM2NzcsIDcxOTEsIDEuMTM0ODgyMjExNjg1MTgwN10sIFsxNjYzOTIxNzg1LjEyOTM1NDUsIDcyMDAsIDAuODQ0MzgwMzc4NzIzMTQ0NV0sIFsxNjYzOTIxNzg1LjIzMDA0MTUsIDcyMDksIDAuOTg0MzQxMTQ0NTYxNzY3Nl0sIFsxNjYzOTIxNzg1LjQxNjMwMzIsIDcyMjcsIDEuMTA1NjQ0ODIyMTIwNjY2NV0sIFsxNjYzOTIxNzg1LjYyNjc1MzgsIDcyNDUsIDEuMTU2NDI2MzEwNTM5MjQ1Nl0sIFsxNjYzOTIxNzg1LjczMTA1MjksIDcyNTQsIDEuMzM3NzE3ODkwNzM5NDQxXSwgWzE2NjM5MjE3ODUuODE2NTQ3MiwgNzI2MywgMS4xNjM0OTYxMzY2NjUzNDQyXSwgWzE2NjM5MjE3ODUuOTA5OTEzLCA3MjcyLCAxLjEwNDYwOTk2NjI3ODA3NjJdLCBbMTY2MzkyMTc4Ni4wMTU5OSwgNzI4MSwgMS42MTAwMTc3NzY0ODkyNTc4XSwgWzE2NjM5MjE3ODYuMjExOTI2NSwgNzI5OSwgMS4wOTEyMzE1ODQ1NDg5NTAyXSwgWzE2NjM5MjE3ODYuMzA1OTcxOSwgNzMwOCwgMC45NTgxODYwMzAzODc4Nzg0XSwgWzE2NjM5MjE3ODYuNTI3NDg1MSwgNzMyNiwgMS4xMTUwODg0NjI4Mjk1ODk4XSwgWzE2NjM5MjE3ODYuNjMzOTA0MiwgNzMzNSwgMS4zNDY2ODcwNzg0NzU5NTIxXSwgWzE2NjM5MjE3ODYuNzQxMTU4NSwgNzM0NCwgMC45NzM4NDc3NDY4NDkwNjAxXSwgWzE2NjM5MjE3ODYuOTczMDk2MSwgNzM2MiwgMC45NTY0NzM3MDgxNTI3NzFdLCBbMTY2MzkyMTc4Ny4wNzg3NzksIDczNzEsIDEuMzEyMzM0Nzc1OTI0NjgyNl0sIFsxNjYzOTIxNzg3LjE4MzA3MjgsIDczODAsIDEuMjI5MzEwODcwMTcwNTkzM10sIFsxNjYzOTIxNzg3LjI4ODE1MDMsIDczODksIDAuOTc5MTIyODc3MTIwOTcxN10sIFsxNjYzOTIxNzg3LjM5ODQyOSwgNzM5OCwgMC44OTkyMDgyNDc2NjE1OTA2XSwgWzE2NjM5MjE3ODcuNTA1NjI3MiwgNzQwNywgMS4wNzg0MDMyMzQ0ODE4MTE1XSwgWzE2NjM5MjE3ODcuNjA3ODcyMiwgNzQxNiwgMS4wMjk0NTc1NjkxMjIzMTQ1XSwgWzE2NjM5MjE3ODcuNzExMDg5OCwgNzQyNSwgMS4wNjc3NDI4MjQ1NTQ0NDM0XSwgWzE2NjM5MjE3ODcuODE5MDgzNSwgNzQzNCwgMS4xODI0OTcwMjQ1MzYxMzI4XSwgWzE2NjM5MjE3ODcuOTI2ODM5OCwgNzQ0MywgMS4xMzgyMjM0MDk2NTI3MV0sIFsxNjYzOTIxNzg4LjA0NzUzOTcsIDc0NTIsIDAuOTY2Mzc2OTAwNjcyOTEyNl0sIFsxNjYzOTIxNzg4LjE1NTc4MTcsIDc0NjEsIDEuMjM2NTY4MDkzMjk5ODY1N10sIFsxNjYzOTIxNzg4LjI2NzI0MzksIDc0NzAsIDEuMDc2NTIzNTQyNDA0MTc0OF0sIFsxNjYzOTIxNzg4LjM3Nzg5MTUsIDc0NzksIDAuOTYzMzQ4NDQ4Mjc2NTE5OF0sIFsxNjYzOTIxNzg4LjU5MDIyMTQsIDc0OTcsIDEuMTkxNDA3MjAzNjc0MzE2NF0sIFsxNjYzOTIxNzg4LjY5NTI0OSwgNzUwNiwgMS4yMTg2MDkzMzMwMzgzM10sIFsxNjYzOTIxNzg4LjgwMzUxMzgsIDc1MTUsIDEuMDY1MDE1NjczNjM3MzkwMV0sIFsxNjYzOTIxNzg4LjkxNzg2NzcsIDc1MjQsIDEuMTI4MjgwOTk3Mjc2MzA2Ml0sIFsxNjYzOTIxNzg5LjA0NzU3MTQsIDc1MzMsIDEuMjU3ODk1MTEyMDM3NjU4N10sIFsxNjYzOTIxNzg5LjE2MDg5NywgNzU0MiwgMC45OTgzNTMwMDQ0NTU1NjY0XSwgWzE2NjM5MjE3ODkuMzcxMTY2NywgNzU2MCwgMS4wNDc0NTE2MTUzMzM1NTcxXSwgWzE2NjM5MjE3ODkuNDk1NzY5MywgNzU2OSwgMS4xODY0NDgwOTcyMjkwMDRdLCBbMTY2MzkyMTc4OS43MTIxMzMyLCA3NTg3LCAxLjEwMzEwNDM1Mjk1MTA0OThdLCBbMTY2MzkyMTc4OS44MTg2OTY1LCA3NTk2LCAxLjA3OTA5ODcwMTQ3NzA1MDhdLCBbMTY2MzkyMTc5MC4wMzY0MzMsIDc2MTQsIDAuOTM5NjEyODY1NDQ3OTk4XSwgWzE2NjM5MjE3OTAuMjU0MTk3LCA3NjMyLCAxLjIzNjQ5Nzk5ODIzNzYwOTldLCBbMTY2MzkyMTc5MC41OTUwMzYzLCA3NjU5LCAxLjEzMjE1MTI0NjA3MDg2MThdLCBbMTY2MzkyMTc5MC42OTk4ODgyLCA3NjY4LCAxLjMzMTgyNjIxMDAyMTk3MjddLCBbMTY2MzkyMTc5MC45NzM0NjA0LCA3Njk1LCAxLjA1MTM3OTY4MDYzMzU0NV0sIFsxNjYzOTIxNzkxLjE2MDkyOTIsIDc3MTMsIDEuMDQyMzgzNTUxNTk3NTk1Ml0sIFsxNjYzOTIxNzkxLjI0NTM3OTIsIDc3MjIsIDEuMDg5ODE5NDMxMzA0OTMxNl0sIFsxNjYzOTIxNzkxLjMzNTEzNDMsIDc3MzEsIDEuMDYyOTgwNjUxODU1NDY4OF0sIFsxNjYzOTIxNzkxLjUyODEyMSwgNzc0OSwgMS4zMzczMDY3Mzc4OTk3ODAzXSwgWzE2NjM5MjE3OTEuNjQ0NTczNSwgNzc1OCwgMS4wNzIzNjMyNTc0MDgxNDJdLCBbMTY2MzkyMTc5MS45NDc2MjIzLCA3NzY3LCAxLjEzNDY3MDQ5NTk4NjkzODVdLCBbMTY2MzkyMTc5Mi4yMjAwNDcsIDc3OTQsIDEuMDY0NDczOTg2NjI1NjcxNF0sIFsxNjYzOTIxNzkyLjMyMDY0NjgsIDc4MDMsIDEuMTQ2MjkwNzc5MTEzNzY5NV0sIFsxNjYzOTIxNzkyLjUzMTg4MiwgNzgyMSwgMS4xNDg5NzEzMTkxOTg2MDg0XSwgWzE2NjM5MjE3OTIuNjM1MjIzOSwgNzgzMCwgMS4wNjI3NzAzNjY2Njg3MDEyXSwgWzE2NjM5MjE3OTIuNzQwMjMyNywgNzgzOSwgMS4wMjg4ODc5ODcxMzY4NDA4XSwgWzE2NjM5MjE3OTIuODYxNDM2LCA3ODQ4LCAxLjA4OTMzODg5ODY1ODc1MjRdLCBbMTY2MzkyMTc5Mi45NjkzNjA2LCA3ODU3LCAxLjEwMDk2OTA3NjE1NjYxNjJdLCBbMTY2MzkyMTc5My4wNzIyNjM3LCA3ODY2LCAxLjA0NDIxNjYzMjg0MzAxNzZdLCBbMTY2MzkyMTc5My4xODIzNzQsIDc4NzUsIDAuOTExMzA4NTg2NTk3NDQyNl0sIFsxNjYzOTIxNzkzLjM5MzY3NTgsIDc4OTMsIDEuMjc4NjQ3NjYxMjA5MTA2NF0sIFsxNjYzOTIxNzkzLjUwMzM2NSwgNzkwMiwgMS4wMzcyOTAyMTU0OTIyNDg1XSwgWzE2NjM5MjE3OTMuNjEyNzgxLCA3OTExLCAwLjk2MDk2NTU3Mzc4NzY4OTJdLCBbMTY2MzkyMTc5My44MTIyMTg0LCA3OTI5LCAxLjA2MDM1MTAxNDEzNzI2OF0sIFsxNjYzOTIxNzkzLjkxMTMxNzgsIDc5MzgsIDEuMTQ4NDM3OTc2ODM3MTU4Ml0sIFsxNjYzOTIxNzk0LjAwOTQwMSwgNzk0NywgMS4xNzcyNDYwOTM3NV0sIFsxNjYzOTIxNzk0LjEwMzE2OTcsIDc5NTYsIDEuMDIwODE4MjMzNDg5OTkwMl0sIFsxNjYzOTIxNzk0LjIyMTExODIsIDc5NjUsIDEuMDU3MTI2MDQ1MjI3MDUwOF0sIFsxNjYzOTIxNzk0LjMyNTI5OSwgNzk3NCwgMS4yMDMzMDQ0MDk5ODA3NzRdLCBbMTY2MzkyMTc5NC40MzQ4OTU4LCA3OTgzLCAxLjAzNTgxNDA0Njg1OTc0MTJdLCBbMTY2MzkyMTc5NC41NDE2MDEyLCA3OTkyLCAxLjA2OTU5MDgwNjk2MTA1OTZdLCBbMTY2MzkyMTc5NC42NTAwNDczLCA4MDAxLCAxLjEyOTM1MjgwNzk5ODY1NzJdLCBbMTY2MzkyMTc5NC43NDY1MDMsIDgwMTAsIDEuMDA0MTQyNTIyODExODg5Nl0sIFsxNjYzOTIxNzk0Ljg0ODc0NCwgODAxOSwgMS4yMTgyMTIyNDY4OTQ4MzY0XSwgWzE2NjM5MjE3OTUuMDU3MjYyNywgODAzNywgMS4yNjk2MTU4ODg1OTU1ODFdLCBbMTY2MzkyMTc5NS4xNTE1NzE4LCA4MDQ2LCAxLjIxNTQ5Mzc5ODI1NTkyMDRdLCBbMTY2MzkyMTc5NS4zNTU3MjY1LCA4MDY0LCAxLjIwOTM4MjI5NTYwODUyMDVdLCBbMTY2MzkyMTc5NS41NTE2NjI0LCA4MDgyLCAxLjU3MDI2MTgzNjA1MTk0MV0sIFsxNjYzOTIxNzk1LjY0MzYwMDUsIDgwOTEsIDAuOTQxMTk1NjA3MTg1MzYzOF0sIFsxNjYzOTIxNzk1LjkyODQ3NTksIDgxMTgsIDEuMjYwNjI2OTEyMTE3MDA0NF0sIFsxNjYzOTIxNzk2LjA1MDY5MTYsIDgxMjcsIDEuNTUzMzMzMjgyNDcwNzAzMV0sIFsxNjYzOTIxNzk2LjI4NzI3NDYsIDgxNDUsIDEuMDgyMzgyMjAyMTQ4NDM3NV0sIFsxNjYzOTIxNzk2LjQwNTI4MywgODE1NCwgMC45MzU3Mzc3ODg2NzcyMTU2XSwgWzE2NjM5MjE3OTYuNTEzNzU0OCwgODE2MywgMS40NjEwODczNDYwNzY5NjUzXSwgWzE2NjM5MjE3OTYuNjIzNzgzMywgODE3MiwgMS4wMjc0NjExNzExNTAyMDc1XSwgWzE2NjM5MjE3OTYuNzM0MTMxNiwgODE4MSwgMS4wNDcxNTUyNjEwMzk3MzM5XSwgWzE2NjM5MjE3OTYuOTUwMTUxNCwgODE5OSwgMS4yNDI3ODczNjExNDUwMTk1XSwgWzE2NjM5MjE3OTcuMDYwMzUwNywgODIwOCwgMC45NjYyMDg0NTc5NDY3NzczXSwgWzE2NjM5MjE3OTcuMjg3NTE1OSwgODIyNiwgMC45ODQ2MTYyMTk5OTc0MDZdLCBbMTY2MzkyMTc5Ny4zODg5NTc1LCA4MjM1LCAxLjEwODc5OTU3Njc1OTMzODRdLCBbMTY2MzkyMTc5Ny41ODE5NzM4LCA4MjUzLCAxLjUyMDk0OTYwMjEyNzA3NTJdLCBbMTY2MzkyMTc5Ny42NzAwODk3LCA4MjYyLCAxLjQ2NzYxNzk4ODU4NjQyNThdLCBbMTY2MzkyMTc5Ny43NTgyMTgzLCA4MjcxLCAxLjA2NzU5NDE3MDU3MDM3MzVdLCBbMTY2MzkyMTc5Ny44NDY4ODg1LCA4MjgwLCAwLjk1MjQwMTUxODgyMTcxNjNdLCBbMTY2MzkyMTc5Ny45NDU4MTc3LCA4Mjg5LCAxLjczMzcyNDU5NDExNjIxMV0sIFsxNjYzOTIxNzk4LjAzNDMzMzIsIDgyOTgsIDEuMjk1MzEzMDAwNjc5MDE2MV0sIFsxNjYzOTIxNzk4LjEzODI5NDIsIDgzMDcsIDEuMTUzMDQxNjAxMTgxMDMwM10sIFsxNjYzOTIxNzk4LjIzMDQzNSwgODMxNiwgMS4yMjM5NjYwMDI0NjQyOTQ0XSwgWzE2NjM5MjE3OTguMzIyMzc3NCwgODMyNSwgMS4wNjgwMDE1MDg3MTI3Njg2XSwgWzE2NjM5MjE3OTguNTA2MTYxNSwgODM0MywgMS42NTUxMDc4NTU3OTY4MTRdLCBbMTY2MzkyMTc5OC42MTgwNjg3LCA4MzUyLCAxLjA3NzU5NTM1MzEyNjUyNTldLCBbMTY2MzkyMTc5OC43MDc1OTIsIDgzNjEsIDEuMDExMjY5MzMwOTc4MzkzNl0sIFsxNjYzOTIxNzk4LjgwNTI1NTIsIDgzNzAsIDEuMTA2OTQ4NzMzMzI5NzczXSwgWzE2NjM5MjE3OTguODg4OTkzMywgODM3OSwgMS4wNzQ0MzM0NDU5MzA0ODFdLCBbMTY2MzkyMTc5OC45NzY5MDMyLCA4Mzg4LCAxLjAyNjQ2NzgwMDE0MDM4MDldLCBbMTY2MzkyMTc5OS4wNjgwNjg1LCA4Mzk3LCAxLjA5NTY1NDYwNjgxOTE1MjhdLCBbMTY2MzkyMTc5OS4xNzYyMzExLCA4NDA2LCAwLjk5MzY3ODE1MjU2MTE4NzddLCBbMTY2MzkyMTc5OS4yNzIyMzc4LCA4NDE1LCAwLjk4NjY5MzQ0MTg2NzgyODRdLCBbMTY2MzkyMTc5OS4zNjExMDMsIDg0MjQsIDAuOTYzNjA3NjY4ODc2NjQ4XSwgWzE2NjM5MjE3OTkuNTU0OTk3NywgODQ0MiwgMS4xNDc1NzIxNTk3NjcxNTA5XSwgWzE2NjM5MjE3OTkuNzQ4MTIwMywgODQ2MCwgMS4wMTgyOTMxNDIzMTg3MjU2XSwgWzE2NjM5MjE3OTkuODM0NzI1NiwgODQ2OSwgMC45OTUzMTU2NzA5NjcxMDJdLCBbMTY2MzkyMTc5OS45NTQzOTM2LCA4NDc4LCAxLjQ1Njk1NDI0MDc5ODk1MDJdLCBbMTY2MzkyMTgwMC4wNTM4MTE2LCA4NDg3LCAxLjA0ODkwMzU4NDQ4MDI4NTZdLCBbMTY2MzkyMTgwMC4xNTc0MTQ3LCA4NDk2LCAwLjk2MjI0MTcwOTIzMjMzMDNdLCBbMTY2MzkyMTgwMC4yNjQ5MzYsIDg1MDUsIDAuOTc0MjcwNTIyNTk0NDUxOV0sIFsxNjYzOTIxODAwLjM1NTAwMjksIDg1MTQsIDAuOTY3MTU5NTA5NjU4ODEzNV0sIFsxNjYzOTIxODAwLjQ4MTk0ODEsIDg1MjMsIDEuMjI0Njc1ODkzNzgzNTY5M10sIFsxNjYzOTIxODAwLjgxMTk4MzMsIDg1MzIsIDEuMTgwNDE1NzQ5NTQ5ODY1N10sIFsxNjYzOTIxODAxLjAzMjUyNSwgODU1MCwgMC45ODg1ODU0NzIxMDY5MzM2XSwgWzE2NjM5MjE4MDEuMTM1MTI4MywgODU1OSwgMC45NjEzODkxMjQzOTM0NjMxXSwgWzE2NjM5MjE4MDEuMzIzMzgxNCwgODU3NywgMS41MTIwOTQ4NTUzMDg1MzI3XSwgWzE2NjM5MjE4MDEuNTIxNjM1LCA4NTk1LCAwLjkyNTkyNjY4NTMzMzI1Ml0sIFsxNjYzOTIxODAxLjYyMTMzLCA4NjA0LCAxLjIzNzE4NTgzNTgzODMxNzldLCBbMTY2MzkyMTgwMS43MDUwMjk1LCA4NjEzLCAxLjAwNjE1MDI0NTY2NjUwNF0sIFsxNjYzOTIxODAxLjc5Njc2MTUsIDg2MjIsIDEuMDY4MjI2MjE4MjIzNTcxOF0sIFsxNjYzOTIxODAxLjk4MTA5NDEsIDg2NDAsIDAuOTMwNDQ5MTg3NzU1NTg0N10sIFsxNjYzOTIxODAyLjEyMTk1MzIsIDg2NDksIDEuMDk4MDM4NDM0OTgyMjk5OF0sIFsxNjYzOTIxODAyLjIzODA5NTgsIDg2NTgsIDAuOTQxNDczMzA1MjI1MzcyM10sIFsxNjYzOTIxODAyLjMyODM2OCwgODY2NywgMS4xMjE0ODU5NDg1NjI2MjJdLCBbMTY2MzkyMTgwMi40MjgzMjUyLCA4Njc2LCAxLjA4NjE4NDc0MDA2NjUyODNdLCBbMTY2MzkyMTgwMi41NDA2NDg3LCA4Njg1LCAxLjM3MDAxMTY4NzI3ODc0NzZdLCBbMTY2MzkyMTgwMi42MjkwMjc2LCA4Njk0LCAxLjAxNjEwMDc2NDI3NDU5NzJdLCBbMTY2MzkyMTgwMi44MTczODI2LCA4NzEyLCAwLjk1OTI2NTQxMDkwMDExNl0sIFsxNjYzOTIxODAyLjkxMjQ4NzUsIDg3MjEsIDAuOTcxMTU3OTY4MDQ0MjgxXSwgWzE2NjM5MjE4MDMuMjAxMzMxOSwgODc0OCwgMS4xMTA4ODE2ODYyMTA2MzIzXSwgWzE2NjM5MjE4MDMuMzE0NzIzLCA4NzU3LCAxLjExNDA5NTA5MTgxOTc2MzJdLCBbMTY2MzkyMTgwMy42OTIxOTM1LCA4NzkzLCAxLjA5ODgzNDM5NTQwODYzMDRdLCBbMTY2MzkyMTgwMy43ODIxMTY3LCA4ODAyLCAxLjI5MjE5NTc5Njk2NjU1MjddLCBbMTY2MzkyMTgwMy44NzM1NTg4LCA4ODExLCAxLjEwNzI5NDQ0MDI2OTQ3MDJdLCBbMTY2MzkyMTgwMy45NTk4NzEzLCA4ODIwLCAxLjE4MTIzNzgxNjgxMDYwOF0sIFsxNjYzOTIxODA0LjA1MTM0MTMsIDg4MjksIDAuOTEwMzQyOTkxMzUyMDgxM10sIFsxNjYzOTIxODA0LjE0NzA3MTYsIDg4MzgsIDAuOTc4MzUyNzg1MTEwNDczNl0sIFsxNjYzOTIxODA0LjIzNDk1NTgsIDg4NDcsIDAuOTYzMzQxMjk1NzE5MTQ2N10sIFsxNjYzOTIxODA0LjMyODA4OTIsIDg4NTYsIDEuMDkzNjczOTQ0NDczMjY2Nl0sIFsxNjYzOTIxODA0LjYxMzgzOTQsIDg4ODMsIDAuODY5OTY1NTUzMjgzNjkxNF0sIFsxNjYzOTIxODA0LjcwMzY3NDYsIDg4OTIsIDEuMDY1MzYxOTc2NjIzNTM1Ml0sIFsxNjYzOTIxODA0Ljc4NTczMjMsIDg5MDEsIDEuMTExNzgzMjY2MDY3NTA0OV0sIFsxNjYzOTIxODA0Ljg3NDQwMjUsIDg5MTAsIDEuMDA0NDk4NDgxNzUwNDg4M10sIFsxNjYzOTIxODA0Ljk3MzA5NjYsIDg5MTksIDEuMTgyMTI3MTE4MTEwNjU2N10sIFsxNjYzOTIxODA1LjI4Mzg0OCwgODkzNywgMS4wMjg3ODkwNDM0MjY1MTM3XSwgWzE2NjM5MjE4MDUuNDExNDk0NywgODk0NiwgMC45OTgxMzcxNzYwMzY4MzQ3XSwgWzE2NjM5MjE4MDUuNTIxOTgzLCA4OTU1LCAwLjk5MzkwODcwMzMyNzE3OV0sIFsxNjYzOTIxODA1LjY2MDA0OSwgODk2NCwgMC45NzMwMjU0NDExNjk3Mzg4XSwgWzE2NjM5MjE4MDUuNzYxOTM2MiwgODk3MywgMS4wODI2MDYwNzcxOTQyMTM5XSwgWzE2NjM5MjE4MDUuOTU1NjUzLCA4OTkxLCAxLjA1OTMwMDA2NTA0MDU4ODRdLCBbMTY2MzkyMTgwNi4wNTAxODQ3LCA5MDAwLCAwLjk1Njg4MjE3ODc4MzQxNjddLCBbMTY2MzkyMTgwNi4xMzkxNTUsIDkwMDksIDEuMjc4NjE2OTA1MjEyNDAyM10sIFsxNjYzOTIxODA2LjIzMjg0NTgsIDkwMTgsIDEuMTc5Mjk0OTQzODA5NTA5M10sIFsxNjYzOTIxODA2LjM3ODk3ODcsIDkwMjcsIDEuMDAxMjcxMjQ3ODYzNzY5NV0sIFsxNjYzOTIxODA2LjQ4MDMwOTIsIDkwMzYsIDAuOTM1OTA2NzA4MjQwNTA5XSwgWzE2NjM5MjE4MDYuNTg2MDI1NywgOTA0NSwgMS4xNTk0NjE5NzUwOTc2NTYyXSwgWzE2NjM5MjE4MDYuNjgxNTM2LCA5MDU0LCAxLjAwNTIwMzEyNzg2MTAyM10sIFsxNjYzOTIxODA2Ljc3MDE4MTcsIDkwNjMsIDEuMjYzMzk1NTQ3ODY2ODIxM10sIFsxNjYzOTIxODA2Ljg2NTg4MTIsIDkwNzIsIDEuMTk3MTI0ODM4ODI5MDQwNV0sIFsxNjYzOTIxODA3LjI0NjAyOTksIDkxMDgsIDAuOTU1NjE1MjgyMDU4NzE1OF0sIFsxNjYzOTIxODA3LjQzMDM0MTcsIDkxMjYsIDEuMDMxMDQ4ODkzOTI4NTI3OF0sIFsxNjYzOTIxODA3LjUxOTEzMiwgOTEzNSwgMC45OTYwOTcyMDcwNjkzOTddLCBbMTY2MzkyMTgwNy42MjQyNTM1LCA5MTQ0LCAxLjA2MzUyMzUzMDk2MDA4M10sIFsxNjYzOTIxODA3LjcxMzkzNDQsIDkxNTMsIDAuOTQ4NTc1MzE3ODU5NjQ5N10sIFsxNjYzOTIxODA3LjgwOTQzNDQsIDkxNjIsIDEuMTgyMjUyMTY4NjU1Mzk1NV0sIFsxNjYzOTIxODA4LjE2MTQzNSwgOTE4OSwgMS41NDU4ODk0OTY4MDMyODM3XSwgWzE2NjM5MjE4MDguMzYzNzg5MywgOTIwNywgMC45Nzc1Nzk3NzI0NzIzODE2XSwgWzE2NjM5MjE4MDguNDYyOTQ5LCA5MjE2LCAxLjE3MDA2MzI1NzIxNzQwNzJdLCBbMTY2MzkyMTgwOC43MDAyMzIsIDkyMzQsIDEuMTgwNjc3Mjk0NzMxMTQwMV0sIFsxNjYzOTIxODA4LjgxOTEzNjYsIDkyNDMsIDAuOTYyNjIzODk0MjE0NjMwMV0sIFsxNjYzOTIxODA5LjA2MzA0NDMsIDkyNjEsIDAuODY5NDUzNjY4NTk0MzYwNF0sIFsxNjYzOTIxODA5LjE2Mzk2NSwgOTI3MCwgMS4xNTU2ODM3NTU4NzQ2MzM4XSwgWzE2NjM5MjE4MDkuMzQ5NjA1OCwgOTI4OCwgMS4wMzc4NzYxMjkxNTAzOTA2XSwgWzE2NjM5MjE4MDkuOTgzMzE2LCA5MzI0LCAwLjg1ODI2ODYxODU4MzY3OTJdLCBbMTY2MzkyMTgxMC4wODIzNTQ1LCA5MzMzLCAwLjk1OTA4MjcyMjY2Mzg3OTRdLCBbMTY2MzkyMTgxMC4xODk2ODA2LCA5MzQyLCAwLjk4NzY5OTE1MTAzOTEyMzVdLCBbMTY2MzkyMTgxMC4yNzYxNywgOTM1MSwgMS4wMDkzNDg1MTE2OTU4NjE4XSwgWzE2NjM5MjE4MTAuMzgyNjUwMSwgOTM2MCwgMS40NDgzNTA5MDYzNzIwNzAzXSwgWzE2NjM5MjE4MTAuNzg3NjI2NSwgOTM5NiwgMS4xMDY4MjU3MDkzNDI5NTY1XSwgWzE2NjM5MjE4MTAuODg0ODU1MywgOTQwNSwgMC44NTk4NDMyNTQwODkzNTU1XSwgWzE2NjM5MjE4MTAuOTgzMzQ5MywgOTQxNCwgMS4xMjAyODY3MDMxMDk3NDEyXSwgWzE2NjM5MjE4MTEuMDgzMjYzMiwgOTQyMywgMS4wMDg4NzYyMDQ0OTA2NjE2XSwgWzE2NjM5MjE4MTEuMjk1NzgwNCwgOTQ0MSwgMS40ODYxMjA5MzkyNTQ3NjA3XSwgWzE2NjM5MjE4MTEuNDUxNTYyNCwgOTQ1MCwgMS40NDEyMDg0ODE3ODg2MzUzXSwgWzE2NjM5MjE4MTEuNTUzODYyMywgOTQ1OSwgMS4wMjkyMjIxMzA3NzU0NTE3XSwgWzE2NjM5MjE4MTEuNzc1MjA3MywgOTQ3NywgMC45NDY1NDAyMzY0NzMwODM1XSwgWzE2NjM5MjE4MTEuODcyNjM3NSwgOTQ4NiwgMS4xMzgxOTc4OTg4NjQ3NDZdLCBbMTY2MzkyMTgxMS45ODkyODI2LCA5NDk1LCAxLjE0OTg2NzY1Mzg0Njc0MDddLCBbMTY2MzkyMTgxMi4xODIzMDY1LCA5NTEzLCAxLjE0MDgyNTg2NzY1Mjg5M10sIFsxNjYzOTIxODEyLjM3MjAyMywgOTUzMSwgMS4xMzM0MjExODI2MzI0NDYzXSwgWzE2NjM5MjE4MTIuNDcwOTM2MywgOTU0MCwgMC44OTIzMTU4NjQ1NjI5ODgzXSwgWzE2NjM5MjE4MTIuNTY1NDIyMywgOTU0OSwgMS4xMDE1ODUyNjg5NzQzMDQyXSwgWzE2NjM5MjE4MTIuNzUxNTEyLCA5NTY3LCAwLjk4MDg5MjE4MTM5NjQ4NDRdLCBbMTY2MzkyMTgxMi44NDczNzk3LCA5NTc2LCAxLjA0NjY1MDI5MDQ4OTE5NjhdLCBbMTY2MzkyMTgxMi45Mzk4MDkzLCA5NTg1LCAwLjg4Mzg1NTEwNDQ0NjQxMTFdLCBbMTY2MzkyMTgxMy4wMzE5NzYsIDk1OTQsIDAuOTgzMzc4ODg3MTc2NTEzN10sIFsxNjYzOTIxODEzLjE1ODU3NiwgOTYwMywgMC45MjUwNTE1MTAzMzQwMTQ5XSwgWzE2NjM5MjE4MTMuMjUyNzIzLCA5NjEyLCAxLjA1MDM5MTkxMjQ2MDMyNzFdLCBbMTY2MzkyMTgxMy4zNDU4OTM0LCA5NjIxLCAwLjg4MjQ2MzIxNjc4MTYxNjJdLCBbMTY2MzkyMTgxMy40NDMzOTU2LCA5NjMwLCAxLjAzODgwMjUwNDUzOTQ4OTddLCBbMTY2MzkyMTgxMy41MzYwNDc3LCA5NjM5LCAxLjE3MDQ3NjA3ODk4NzEyMTZdLCBbMTY2MzkyMTgxMy42MzMxNTI3LCA5NjQ4LCAxLjIyNzQyODkxMzExNjQ1NV0sIFsxNjYzOTIxODEzLjcyODUyNTksIDk2NTcsIDAuOTM1Mjk3Nzg3MTg5NDgzNl0sIFsxNjYzOTIxODEzLjgxOTE1NiwgOTY2NiwgMS4xNjkwMDE0NjAwNzUzNzg0XSwgWzE2NjM5MjE4MTMuOTE5NTgzNiwgOTY3NSwgMS4wODE0MjYwMjQ0MzY5NTA3XSwgWzE2NjM5MjE4MTQuMTE3MTg4LCA5NjkzLCAxLjEwMjg2MTI4NTIwOTY1NThdLCBbMTY2MzkyMTgxNC4yMDcwNDcsIDk3MDIsIDAuOTY1OTgyMTM5MTEwNTY1Ml0sIFsxNjYzOTIxODE0LjMwMTA2MzgsIDk3MTEsIDEuMDkyNTU1MDQ2MDgxNTQzXSwgWzE2NjM5MjE4MTQuNDkxNTc1NSwgOTcyOSwgMS4wMDEzMjczOTU0MzkxNDhdLCBbMTY2MzkyMTgxNC41ODM2NjAxLCA5NzM4LCAxLjE0MDI2MDQ1Nzk5MjU1MzddLCBbMTY2MzkyMTgxNC42ODgxMTk0LCA5NzQ3LCAxLjMyMDMxMDk1MDI3OTIzNThdLCBbMTY2MzkyMTgxNC43ODQ3MjAyLCA5NzU2LCAxLjAyODIwMjI5NTMwMzM0NDddLCBbMTY2MzkyMTgxNC45OTQ4OTcsIDk3NzQsIDEuNDAyODQxNDQ4NzgzODc0NV0sIFsxNjYzOTIxODE1LjA5MDQzNTMsIDk3ODMsIDAuOTQwNjg2NTIzOTE0MzM3Ml0sIFsxNjYzOTIxODE1LjE5MTA3MzQsIDk3OTIsIDEuMTEzMzE3MTMxOTk2MTU0OF0sIFsxNjYzOTIxODE1LjI4NTE5NzcsIDk4MDEsIDEuMDQ1MzI0NjgzMTg5MzkyXSwgWzE2NjM5MjE4MTUuNTU4NDE2MSwgOTgyOCwgMS4wMTAyMjIwNzczNjk2OV0sIFsxNjYzOTIxODE1LjY1OTA0NzEsIDk4MzcsIDEuMTE5MTgxNjMyOTk1NjA1NV0sIFsxNjYzOTIxODE1Ljc0NTE2NzMsIDk4NDYsIDAuOTg2MDUzODI0NDI0NzQzN10sIFsxNjYzOTIxODE2LjIzNzE1OTUsIDk4OTEsIDEuMTQzMDIxNTgzNTU3MTI5XSwgWzE2NjM5MjE4MTYuNDI5NjM4LCA5OTA5LCAxLjAwODIzNjA1MDYwNTc3NF0sIFsxNjYzOTIxODE2LjUxNjYyODUsIDk5MTgsIDAuOTIyNTQ0NzE3Nzg4Njk2M10sIFsxNjYzOTIxODE2LjYxNDQwOTIsIDk5MjcsIDEuMDc4Nzc4Mzg2MTE2MDI3OF0sIFsxNjYzOTIxODE2LjcxMjMwODIsIDk5MzYsIDEuMTAxNzgzNTE0MDIyODI3MV0sIFsxNjYzOTIxODE2LjgwMjU1OSwgOTk0NSwgMS4zMjQ4MDQ5MDIwNzY3MjEyXSwgWzE2NjM5MjE4MTYuOTg0Mzc0MywgOTk2MywgMC45ODUwOTEzODgyMjU1NTU0XSwgWzE2NjM5MjE4MTcuMDgzMTY2OCwgOTk3MiwgMS4xNDU0NjA3MjQ4MzA2Mjc0XSwgWzE2NjM5MjE4MTcuMTgwMzgzNCwgOTk4MSwgMS4yNTM3ODUxMzMzNjE4MTY0XSwgWzE2NjM5MjE4MTcuMjc0NzQzMywgOTk5MCwgMC45MjAzMzI2MTA2MDcxNDcyXSwgWzE2NjM5MjE4MTcuMzY4Mzc5LCA5OTk5LCAxLjMwMzg4MjU5ODg3Njk1MzFdLCBbMTY2MzkyMTgxNy40NjE2NTk3LCAxMDAwOCwgMC45NDkyMTg1MTE1ODE0MjA5XSwgWzE2NjM5MjE4MTcuNTUxNTMyLCAxMDAxNywgMS4yNzc3NDk3NzY4NDAyMV0sIFsxNjYzOTIxODE3LjY0MzU3MDQsIDEwMDI2LCAxLjAwNzQxNDY5ODYwMDc2OV0sIFsxNjYzOTIxODE3LjczOTE3MDMsIDEwMDM1LCAwLjk2NDUyNzYwNjk2NDExMTNdLCBbMTY2MzkyMTgxNy45Mzk5MTQsIDEwMDUzLCAxLjM3NzI5OTMwODc3Njg1NTVdLCBbMTY2MzkyMTgxOC4wMzU3NDg3LCAxMDA2MiwgMS4wMTI1MTI4MDMwNzc2OTc4XSwgWzE2NjM5MjE4MTguMzMwNzE0NywgMTAwNzEsIDEuMjc3MjE0NzY1NTQ4NzA2XSwgWzE2NjM5MjE4MTguNDI3MjE4NywgMTAwODAsIDEuMjkzNTk3NDU5NzkzMDkwOF0sIFsxNjYzOTIxODE4LjUyMDA1MzksIDEwMDg5LCAxLjA5MTAzNDA1NDc1NjE2NDZdLCBbMTY2MzkyMTgxOC42MTM2MTc0LCAxMDA5OCwgMS4wOTE5NzY3NjE4MTc5MzIxXSwgWzE2NjM5MjE4MTguNzA1ODE2NSwgMTAxMDcsIDEuMjI3NDUzMzUxMDIwODEzXSwgWzE2NjM5MjE4MTkuMDA4MTgyOCwgMTAxMzQsIDAuOTc1NjI1Mzk1Nzc0ODQxM10sIFsxNjYzOTIxODE5LjEwMTgzMywgMTAxNDMsIDAuOTEzMjY3OTcwMDg1MTQ0XSwgWzE2NjM5MjE4MTkuMzQ2OTA1LCAxMDE2MSwgMS4zOTMzMDU2NTkyOTQxMjg0XSwgWzE2NjM5MjE4MTkuNDk0MzA0NCwgMTAxNzAsIDEuNDEwNzQyNjQwNDk1MzAwM10sIFsxNjYzOTIxODE5LjYwMzczNTIsIDEwMTc5LCAxLjE3OTUyNTI1NjE1NjkyMTRdLCBbMTY2MzkyMTgxOS43Mzk0ODksIDEwMTg4LCAwLjk2NjYxNDc4MjgxMDIxMTJdLCBbMTY2MzkyMTgxOS44NTAxMjgyLCAxMDE5NywgMS4wMjc4NDM0NzUzNDE3OTY5XSwgWzE2NjM5MjE4MTkuOTcyNzc5LCAxMDIwNiwgMS4wNjUzMjcyODY3MjAyNzU5XSwgWzE2NjM5MjE4MjAuMTAwNTA5NiwgMTAyMTUsIDAuOTU0NzA4OTkzNDM0OTA2XSwgWzE2NjM5MjE4MjAuMjIzNDM4MywgMTAyMjQsIDEuMDg2ODE4OTMzNDg2OTM4NV0sIFsxNjYzOTIxODIwLjMzNDYyOCwgMTAyMzMsIDEuMDQwNzg5NjA0MTg3MDExN10sIFsxNjYzOTIxODIwLjQ0NjQ5MTIsIDEwMjQyLCAxLjE0MjQ1OTAzNDkxOTczODhdLCBbMTY2MzkyMTgyMC42NzIyNjMxLCAxMDI2MCwgMS4yMzgxNjI5OTQzODQ3NjU2XSwgWzE2NjM5MjE4MjAuNzg0MDcyOSwgMTAyNjksIDEuMDg4NzE2NjI2MTY3Mjk3NF0sIFsxNjYzOTIxODIxLjAxMjY4OTYsIDEwMjg3LCAxLjA3NTQyMzAwMjI0MzA0Ml0sIFsxNjYzOTIxODIxLjEzMjI1OTgsIDEwMjk2LCAxLjAwODgzMjIxNjI2MjgxNzRdLCBbMTY2MzkyMTgyMS4zODAyMjYsIDEwMzE0LCAwLjk3OTM0MzQxNDMwNjY0MDZdLCBbMTY2MzkyMTgyMS40OTQ1MTE2LCAxMDMyMywgMC44Nzc0NTg2OTE1OTY5ODQ5XSwgWzE2NjM5MjE4MjEuNTkxOSwgMTAzMzIsIDEuMDM1OTMyNTQwODkzNTU0N10sIFsxNjYzOTIxODIxLjY4MTIyNzQsIDEwMzQxLCAxLjExNjQ5Mjg2NzQ2OTc4NzZdLCBbMTY2MzkyMTgyMS43Nzc3MzcsIDEwMzUwLCAxLjA1MzMxNjIzNTU0MjI5NzRdLCBbMTY2MzkyMTgyMS44NjQyNDU0LCAxMDM1OSwgMC45MzY4NzYxMTgxODMxMzZdLCBbMTY2MzkyMTgyMS45NjE5NSwgMTAzNjgsIDEuMTAwNzg3OTk3MjQ1Nzg4Nl0sIFsxNjYzOTIxODIyLjA0MjMxMjEsIDEwMzc3LCAxLjE4MzAwMzY2NDAxNjcyMzZdLCBbMTY2MzkyMTgyMi4xMzI3OTM3LCAxMDM4NiwgMS4wNDYxMTYzNTIwODEyOTg4XSwgWzE2NjM5MjE4MjIuMzEzMzA0NywgMTA0MDQsIDEuNDk5MDU3NjUwNTY2MTAxXSwgWzE2NjM5MjE4MjIuNDIzOTE5NCwgMTA0MTMsIDEuMjMwMzA2ODYzNzg0NzldLCBbMTY2MzkyMTgyMi41MjE5NjI2LCAxMDQyMiwgMS4xNzQ5MTE4NTY2NTEzMDYyXSwgWzE2NjM5MjE4MjIuNzAwODE3MywgMTA0NDAsIDEuMDUzODUyMDgxMjk4ODI4MV0sIFsxNjYzOTIxODIyLjgyNzM1NjYsIDEwNDQ5LCAxLjQ1OTgyNzMwMzg4NjQxMzZdLCBbMTY2MzkyMTgyMy4wNzc3MDA5LCAxMDQ2NywgMS4xMTIwMjA0OTI1NTM3MTFdLCBbMTY2MzkyMTgyMy4xOTQzMDY2LCAxMDQ3NiwgMC44NzgzNjU3NTUwODExNzY4XSwgWzE2NjM5MjE4MjMuMjgxMTc5MiwgMTA0ODUsIDEuMTI0MzcxMjkwMjA2OTA5Ml0sIFsxNjYzOTIxODIzLjM3NDA5MjYsIDEwNDk0LCAxLjAwNTQzMDIyMTU1NzYxNzJdLCBbMTY2MzkyMTgyMy40ODQ2OTY2LCAxMDUwMywgMS4zNzgyMTk3MjM3MDE0NzddLCBbMTY2MzkyMTgyMy41NzU5NDE2LCAxMDUxMiwgMC45ODQzNTc0NzYyMzQ0MzZdLCBbMTY2MzkyMTgyMy42NjYxNzgsIDEwNTIxLCAxLjA3Njc1ODI2NTQ5NTMwMDNdLCBbMTY2MzkyMTgyNC4wNDIwNTIsIDEwNTU3LCAwLjk1MjQyNTUzOTQ5MzU2MDhdLCBbMTY2MzkyMTgyNC4xNDAxNjUzLCAxMDU2NiwgMS4yNTI3MDY3NjYxMjg1NF0sIFsxNjYzOTIxODI0LjIzMDg1MzgsIDEwNTc1LCAxLjI2NjE3Mzk1ODc3ODM4MTNdLCBbMTY2MzkyMTgyNC40MzI1MTU2LCAxMDU5MywgMC45ODQ1MzQ3NDA0NDc5OThdLCBbMTY2MzkyMTgyNC41NTg2NzU1LCAxMDYwMiwgMS4wMDMxNzE4MDE1NjcwNzc2XSwgWzE2NjM5MjE4MjQuNzAzMTk5NiwgMTA2MTEsIDEuMTY1OTg2Nzc2MzUxOTI4N10sIFsxNjYzOTIxODI0LjkzODg0NSwgMTA2MjksIDEuMTM3ODcxMzg0NjIwNjY2NV0sIFsxNjYzOTIxODI1LjA1NzMwNTgsIDEwNjM4LCAwLjk0OTE1MDA4NTQ0OTIxODhdLCBbMTY2MzkyMTgyNS4xNjc3MTMsIDEwNjQ3LCAxLjI0NzIzNTc3NDk5Mzg5NjVdLCBbMTY2MzkyMTgyNS4zNTM0MSwgMTA2NjUsIDAuOTgwMzAwMzY2ODc4NTA5NV0sIFsxNjYzOTIxODI1LjU0OTA3ODIsIDEwNjgzLCAxLjAxMDk1NDM4MDAzNTQwMDRdLCBbMTY2MzkyMTgyNS43NTA3MDM4LCAxMDcwMSwgMC45NDEwNzg2NjI4NzIzMTQ1XSwgWzE2NjM5MjE4MjUuODUwMDIxMSwgMTA3MTAsIDEuMjEyNjkyNzM3NTc5MzQ1N10sIFsxNjYzOTIxODI1Ljk2MDk0NCwgMTA3MTksIDEuMDUyMzU2MDA0NzE0OTY1OF0sIFsxNjYzOTIxODI2LjA2ODE5ODcsIDEwNzI4LCAwLjk2MzAyMTM5NzU5MDYzNzJdLCBbMTY2MzkyMTgyNi4yNjk0MDA0LCAxMDc0NiwgMS4xMTM2NTM3NzkwMjk4NDYyXSwgWzE2NjM5MjE4MjYuMzk1MTI5NywgMTA3NTUsIDEuMDgzMTQ3MDQ4OTUwMTk1M10sIFsxNjYzOTIxODI2LjUwMTU0NjEsIDEwNzY0LCAxLjA2NjQ2OTc4ODU1MTMzMDZdLCBbMTY2MzkyMTgyNi42MTI2NzQ1LCAxMDc3MywgMS4xNTM0ODU1MzY1NzUzMTc0XSwgWzE2NjM5MjE4MjYuNzE4NjY2MywgMTA3ODIsIDEuMTcwODU5Njk0NDgwODk2XSwgWzE2NjM5MjE4MjYuODQwNjM3MiwgMTA3OTEsIDAuOTU3MTI3MzkyMjkyMDIyN10sIFsxNjYzOTIxODI3LjE3MjAzNDMsIDEwODE4LCAxLjAwMTIyNDE2MDE5NDM5N10sIFsxNjYzOTIxODI3LjI4ODYzMSwgMTA4MjcsIDAuOTE0NDE2OTY4ODIyNDc5Ml0sIFsxNjYzOTIxODI3Ljc5OTkyMjcsIDEwODU0LCAwLjk3MTkyMjM5NzYxMzUyNTRdLCBbMTY2MzkyMTgyNy44OTA3NTM1LCAxMDg2MywgMS41MTI4MTExODM5Mjk0NDM0XSwgWzE2NjM5MjE4MjcuOTgyMTc5NCwgMTA4NzIsIDEuMjM1NTM3NzY3NDEwMjc4M10sIFsxNjYzOTIxODI4LjE2NzIyNTEsIDEwODkwLCAxLjA0MTIwNzc5MDM3NDc1NTldLCBbMTY2MzkyMTgyOC4yNjgwMjgsIDEwODk5LCAxLjE4OTE5MTM0MTQwMDE0NjVdLCBbMTY2MzkyMTgyOC41OTYyNTcyLCAxMDkyNiwgMS4yMDMyMjMxMDkyNDUzMDAzXSwgWzE2NjM5MjE4MjguNjk0OTc4NSwgMTA5MzUsIDEuMDc5NzU3MDk0MzgzMjM5N10sIFsxNjYzOTIxODI4Ljc4NDYwNjIsIDEwOTQ0LCAxLjE5Mjc3Mjg2NTI5NTQxMDJdLCBbMTY2MzkyMTgyOC45NjU2MzYsIDEwOTYyLCAwLjg5Mzc3MDU3NTUyMzM3NjVdLCBbMTY2MzkyMTgyOS4wNTY3NzkxLCAxMDk3MSwgMS4yMTI0NjUwNDc4MzYzMDM3XSwgWzE2NjM5MjE4MjkuMTU3MzE3NCwgMTA5ODAsIDEuMTg3MzAwMjA1MjMwNzEzXSwgWzE2NjM5MjE4MjkuMjUxNDE0NSwgMTA5ODksIDEuMDk0MDM2MzQwNzEzNTAxXSwgWzE2NjM5MjE4MjkuMzQzNzc2MiwgMTA5OTgsIDEuMTE1MTg4NDc5NDIzNTIzXSwgWzE2NjM5MjE4MjkuNDQzNTgyMywgMTEwMDcsIDEuMTUyMDY3MTg0NDQ4MjQyMl0sIFsxNjYzOTIxODI5LjUzOTkyMTUsIDExMDE2LCAwLjg1MjQwMjA5MTAyNjMwNjJdLCBbMTY2MzkyMTgyOS43NDA1MzA3LCAxMTAzNCwgMC45MzQ5MDMzMjM2NTAzNjAxXSwgWzE2NjM5MjE4MzAuMDM1ODM4MSwgMTEwNjEsIDEuMDA4MzgzNjMxNzA2MjM3OF0sIFsxNjYzOTIxODMwLjE0NDQ5NSwgMTEwNzAsIDEuMDQ3ODQ0NjQ4MzYxMjA2XSwgWzE2NjM5MjE4MzAuNDMxMjc0NywgMTEwOTcsIDEuMjAwOTM1MTI1MzUwOTUyMV0sIFsxNjYzOTIxODMwLjUzMTcyMjgsIDExMTA2LCAwLjk2MDk0NzAzNjc0MzE2NDFdLCBbMTY2MzkyMTgzMC42MjY0MTM4LCAxMTExNSwgMS4xMjIxMjA4NTcyMzg3Njk1XSwgWzE2NjM5MjE4MzAuNzIwNDA2NSwgMTExMjQsIDEuMzUxMzAyOTgxMzc2NjQ4XSwgWzE2NjM5MjE4MzAuODE1Mjc0NywgMTExMzMsIDEuMDQ1NDczMDk4NzU0ODgyOF0sIFsxNjYzOTIxODMxLjAxNDg0ODUsIDExMTUxLCAxLjA5NDQyNzk0MzIyOTY3NTNdLCBbMTY2MzkyMTgzMS4xMTAwODY0LCAxMTE2MCwgMS4wMzU4MzQ0MzE2NDgyNTQ0XSwgWzE2NjM5MjE4MzEuMjA0MzIxNCwgMTExNjksIDAuODc5MDA2NTY0NjE3MTU3XSwgWzE2NjM5MjE4MzEuMjkyMzg5LCAxMTE3OCwgMC45OTUyMjY4MDA0NDE3NDE5XSwgWzE2NjM5MjE4MzEuMzg3NjE5NSwgMTExODcsIDAuOTM0MTU1NDY0MTcyMzYzM10sIFsxNjYzOTIxODMxLjQ4MzU3MzcsIDExMTk2LCAwLjkzNjMxMzk4Njc3ODI1OTNdLCBbMTY2MzkyMTgzMS41Nzk1NzE3LCAxMTIwNSwgMS4yODIxNzMxNTY3MzgyODEyXSwgWzE2NjM5MjE4MzEuNjc3MjIwOCwgMTEyMTQsIDAuOTEzMzIwMTI0MTQ5MzIyNV0sIFsxNjYzOTIxODMxLjc2MDQyNDQsIDExMjIzLCAxLjMzNTI5OTYxMTA5MTYxMzhdLCBbMTY2MzkyMTgzMS44NTc1NTE4LCAxMTIzMiwgMC45NDgyNTM4MTA0MDU3MzEyXSwgWzE2NjM5MjE4MzEuOTU5ODU2LCAxMTI0MSwgMS4xNjc2MzkzNzQ3MzI5NzEyXSwgWzE2NjM5MjE4MzIuMDU1NzY1MiwgMTEyNTAsIDAuOTEwNzkwMjA1MDAxODMxXSwgWzE2NjM5MjE4MzIuMTQ4NjIzNywgMTEyNTksIDAuOTMzMzY3NjA5OTc3NzIyMl0sIFsxNjYzOTIxODMyLjI0NjQwNjYsIDExMjY4LCAxLjE2NDYwNjA5NDM2MDM1MTZdLCBbMTY2MzkyMTgzMi4zNDAyNDEsIDExMjc3LCAxLjI1MDkxMzE0MzE1Nzk1OV0sIFsxNjYzOTIxODMyLjQ0MDgyMTQsIDExMjg2LCAxLjAzNDM0MTIxNjA4NzM0MTNdLCBbMTY2MzkyMTgzMi41MjIyMywgMTEyOTUsIDAuOTMxODE3MDU0NzQ4NTM1Ml0sIFsxNjYzOTIxODMyLjcxMTUyNywgMTEzMTMsIDAuOTM3Nzc2NDQ2MzQyNDY4M10sIFsxNjYzOTIxODMyLjgwOTQ3MywgMTEzMjIsIDAuOTc2NDQ2MjExMzM4MDQzMl0sIFsxNjYzOTIxODMzLjA5NzA2NjYsIDExMzQ5LCAxLjEyOTk3MjQ1Nzg4NTc0MjJdLCBbMTY2MzkyMTgzMy4xOTE4NDUyLCAxMTM1OCwgMS4zODYyNzYxMjU5MDc4OThdLCBbMTY2MzkyMTgzMy40MDI3ODI3LCAxMTM3NiwgMC45NzczMjMyOTM2ODU5MTMxXSwgWzE2NjM5MjE4MzMuNDk0OTk1LCAxMTM4NSwgMC45MDc1NDY4MTgyNTYzNzgyXSwgWzE2NjM5MjE4MzMuNTg5NzczNywgMTEzOTQsIDAuOTQxMTg2NDg3Njc0NzEzMV0sIFsxNjYzOTIxODMzLjY4Nzc5MSwgMTE0MDMsIDEuMDYwNzg5ODIzNTMyMTA0NV0sIFsxNjYzOTIxODMzLjc3OTE5MDgsIDExNDEyLCAxLjAwOTE4MTYxODY5MDQ5MDddLCBbMTY2MzkyMTgzMy44NzQ1MDc0LCAxMTQyMSwgMS4wMzg4MTkzMTMwNDkzMTY0XSwgWzE2NjM5MjE4MzQuMTY3MjU4NywgMTE0NDgsIDAuOTgzODAzMDMzODI4NzM1NF0sIFsxNjYzOTIxODM0LjI1Mzg5MzEsIDExNDU3LCAwLjk2Nzc3NDQ1MDc3ODk2MTJdLCBbMTY2MzkyMTgzNC41Mjg3LCAxMTQ4NCwgMC45NzkxNDg1NjY3MjI4Njk5XSwgWzE2NjM5MjE4MzQuNjI5MjE5OCwgMTE0OTMsIDEuMTA3NTc4MTU4Mzc4NjAxXSwgWzE2NjM5MjE4MzQuNzI2ODg4NywgMTE1MDIsIDEuMDY5Mzc0MDg0NDcyNjU2Ml0sIFsxNjYzOTIxODM0LjgwNzczOTUsIDExNTExLCAwLjk4ODk4MDc3MDExMTA4NF0sIFsxNjYzOTIxODM0LjkwNTEwMTgsIDExNTIwLCAxLjU3NjYxNjY0NDg1OTMxNF0sIFsxNjYzOTIxODM0Ljk5ODM0MzIsIDExNTI5LCAxLjQwODM2MDI0Mjg0MzYyOF0sIFsxNjYzOTIxODM1LjIwMTUwOCwgMTE1NDcsIDEuMDI1MTU5MjM5NzY4OTgyXSwgWzE2NjM5MjE4MzUuMjk3NzYwMiwgMTE1NTYsIDEuMTEyMzU4OTI3NzI2NzQ1Nl0sIFsxNjYzOTIxODM1LjQ4NjUwNTMsIDExNTc0LCAxLjExNTg5MDI2NDUxMTEwODRdLCBbMTY2MzkyMTgzNS41ODIyMTkxLCAxMTU4MywgMS4wNDg0OTE1OTcxNzU1OTgxXSwgWzE2NjM5MjE4MzUuNzc3NjQxNSwgMTE2MDEsIDEuMDY4NDQ4MTg1OTIwNzE1M10sIFsxNjYzOTIxODM2LjE1ODM0MywgMTE2MTksIDEuMDI4ODMwNzY2Njc3ODU2NF0sIFsxNjYzOTIxODM2LjI2MTQ1ODQsIDExNjI4LCAxLjA1Mjg1MzQ2NTA4MDI2MTJdLCBbMTY2MzkyMTgzNi4zNDgxMDksIDExNjM3LCAxLjU1NzcxODUxNTM5NjExODJdLCBbMTY2MzkyMTgzNi40NDUyMDcsIDExNjQ2LCAxLjQ2ODE3NzMxODU3Mjk5OF0sIFsxNjYzOTIxODM2LjYxODIxNzcsIDExNjY0LCAxLjA3MDMwMzQ0MDA5Mzk5NDFdLCBbMTY2MzkyMTgzNi43MTU1Mzg1LCAxMTY3MywgMS4xMjcxOTcxNDY0MTU3MTA0XSwgWzE2NjM5MjE4MzYuOTQyMzI0NCwgMTE2OTEsIDEuMTkwMTMzNjkwODM0MDQ1NF0sIFsxNjYzOTIxODM3LjA3ODQ1MTksIDExNzAwLCAxLjEwOTkwNzM4ODY4NzEzMzhdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=v8&tag=Loss%2Fvalid":{"data":"W1sxNjYzODQwMTUxLjQ1MjkwNjYsIDM2LCAxNi4xNTE5MjQxMzMzMDA3OF0sIFsxNjYzODQwMTUxLjU3NDMwNDYsIDQ1LCAxMi4zNzY1NDQ5NTIzOTI1NzhdLCBbMTY2Mzg0MDE1Mi4zMDg5MjQ3LCA5OSwgNS40NjIxNDI5NDQzMzU5Mzc1XSwgWzE2NjM4NDAxNTIuNzY0OTU3NywgMTM1LCA1LjE3NTEzNzA0Mjk5OTI2OF0sIFsxNjYzODQwMTUyLjg2NDM2NiwgMTQ0LCA1LjcyODM2Mzk5MDc4MzY5MV0sIFsxNjYzODQwMTUzLjI1MDkwNTUsIDE3MSwgNS4zNjM5MjAyMTE3OTE5OTJdLCBbMTY2Mzg0MDE1My4zNjgzOTY1LCAxODAsIDQuODY4NzU5NjMyMTEwNTk2XSwgWzE2NjM4NDAxNTMuNTA5MzYsIDE4OSwgNC43MTMzMDMwODkxNDE4NDZdLCBbMTY2Mzg0MDE1My43ODcxNTcsIDIwNywgNS42ODAyNzIxMDIzNTU5NTddLCBbMTY2Mzg0MDE1My45MTEyNjg3LCAyMTYsIDUuNzE0NTUzODMzMDA3ODEyNV0sIFsxNjYzODQwMTU0LjMzNDQxNjQsIDI0MywgNS4zMzg1MDMzNjA3NDgyOTFdLCBbMTY2Mzg0MDE1NC40NDcyMjUsIDI1MiwgNC40MzAwNDUxMjc4Njg2NTJdLCBbMTY2Mzg0MDE1Ni4xNzQ0MzUsIDM1MSwgMy43MDEzNjM1NjM1Mzc1OTc3XSwgWzE2NjM4NDAxNTYuNDM5MjExLCAzNjksIDQuNTY2MDYyOTI3MjQ2MDk0XSwgWzE2NjM4NDAxNTcuMzMzODAwNiwgNDMyLCA0LjIwMzY3NDMxNjQwNjI1XSwgWzE2NjM4NDAxNTcuNDUxMjM5NiwgNDQxLCAzLjY0NzMwNDc3MzMzMDY4ODVdLCBbMTY2Mzg0MDE1Ny42MTQ4OTUzLCA0NTAsIDMuOTY4NTA4NzIwMzk3OTQ5XSwgWzE2NjM4NDAxNTcuODU5OTgzNCwgNDY4LCAzLjg3Mjc3OTg0NjE5MTQwNjJdLCBbMTY2Mzg0MDE1OC4yOTQ2ODE4LCA0OTUsIDMuODQzMTQ3OTkzMDg3NzY4Nl0sIFsxNjYzODQwMTU4LjY4MzkyMTgsIDUyMiwgMy41ODU2OTc4ODkzMjgwMDNdLCBbMTY2Mzg0MDE1OS4xMTk4MDg0LCA1NDksIDMuNDQ4NDE4NjE3MjQ4NTM1XSwgWzE2NjM4NDAxNTkuMjUyMTQ1LCA1NTgsIDMuNjg4NjcxMzUwNDc5MTI2XSwgWzE2NjM4NDAxNTkuMzg3NDk2LCA1NjcsIDMuNTgwMjk3MjMxNjc0MTk0M10sIFsxNjYzODQwMTU5LjUwMTA3NzcsIDU3NiwgMy4yNDg2ODMyMTQxODc2MjJdLCBbMTY2Mzg0MDE1OS43MzkzMTAzLCA1OTQsIDMuNDkwMjA4ODY0MjEyMDM2XSwgWzE2NjM4NDAxNTkuODYzNzkxNSwgNjAzLCAzLjExODE2ODExNTYxNTg0NDddLCBbMTY2Mzg0MDE1OS45ODM3NTM3LCA2MTIsIDMuNjA1NDQ2MzM4NjUzNTY0NV0sIFsxNjYzODQwMTYwLjA5MzY3NDcsIDYyMSwgMi45MzYxNTUzMTkyMTM4NjddLCBbMTY2Mzg0MDE2MC4zNDU4OCwgNjM5LCAzLjIyMDcxNjcxNDg1OTAwOV0sIFsxNjYzODQwMTYwLjQ3Nzg4MiwgNjQ4LCAyLjg1MDc5MzYwMDA4MjM5NzVdLCBbMTY2Mzg0MDE2MS4zNTA5NDYyLCA3MDIsIDIuOTgyNzA2MzA4MzY0ODY4XSwgWzE2NjM4NDAxNjEuNjIxNjA5MiwgNzIwLCAzLjE1NzM4NTU4NzY5MjI2MDddLCBbMTY2Mzg0MDE2Mi4wNjkyODQ0LCA3NDcsIDIuNjkzMjE3MDM5MTA4Mjc2NF0sIFsxNjYzODQwMTYyLjQ4ODIwNjQsIDc3NCwgMy4yMDgzMzQ5MjI3OTA1MjczXSwgWzE2NjM4NDAxNjIuOTgxMDM5MywgODEwLCAyLjYwODMyOTI5NjExMjA2MDVdLCBbMTY2Mzg0MDE2NC4yODk5ODQ1LCA5MDAsIDIuNDgzNTgxNTQyOTY4NzVdLCBbMTY2Mzg0MDE2NC40MjM1OTg1LCA5MDksIDIuODc1OTA0MzIxNjcwNTMyMl0sIFsxNjYzODQwMTY0LjgzMTg1OSwgOTM2LCAyLjI1NjYwNjEwMTk4OTc0Nl0sIFsxNjYzODQwMTY1LjIyODM0MzIsIDk2MywgMi4zNDExNTI5MDY0MTc4NDY3XSwgWzE2NjM4NDAxNjUuMzY2MjUzOSwgOTcyLCAyLjM2NzAyNjA5MDYyMTk0ODJdLCBbMTY2Mzg0MDE2NS42MzAyODE0LCA5OTAsIDIuMDM2NTg4OTA3MjQxODIxM10sIFsxNjYzODQwMTY2LjU5NDE5MiwgMTA1MywgMi40MTQ4NTMwOTYwMDgzMDFdLCBbMTY2Mzg0MDE2Ny4yOTU4NDM0LCAxMDk4LCAyLjU3NDUyMDU4NzkyMTE0MjZdLCBbMTY2Mzg0MDE2OC4wODkxMzM3LCAxMTM0LCAzLjIwNjUyMTk4NzkxNTAzOV0sIFsxNjYzODQwMTY4LjIxOTQzNiwgMTE0MywgMi41MzE0MzE5MTMzNzU4NTQ1XSwgWzE2NjM4NDAxNjguNDY5MjUyOCwgMTE2MSwgMi40ODc5ODAxMjczMzQ1OTQ3XSwgWzE2NjM4NDAxNjguNzI2NjQ4NiwgMTE3OSwgMi4xNjUwODQxMjM2MTE0NV0sIFsxNjYzODQwMTY4Ljg0MjM5NzUsIDExODgsIDIuMDAxMDIzMjkyNTQxNTA0XSwgWzE2NjM4NDAxNjkuNDcwNTEyLCAxMjMzLCAyLjkyMzE2MzQxNDAwMTQ2NV0sIFsxNjYzODQwMTY5LjU5NTMzMDUsIDEyNDIsIDIuMDEyMDQxNTY4NzU2MTAzNV0sIFsxNjYzODQwMTcwLjYxMTc0MjUsIDEzMDUsIDIuNTgwMzIzMjE5Mjk5MzE2NF0sIFsxNjYzODQwMTcwLjg4NTk1NzcsIDEzMjMsIDIuMDYyNzcyNTEyNDM1OTEzXSwgWzE2NjM4NDAxNzEuMDQ0MDcwNSwgMTMzMiwgMi4xMzE4MTAxODgyOTM0NTddLCBbMTY2Mzg0MDE3MS40NzQyNjkyLCAxMzU5LCAyLjU3NTAyNTMyMDA1MzEwMDZdLCBbMTY2Mzg0MDE3Mi40ODgwODA1LCAxNDIyLCAyLjEyMzE3MTU2NzkxNjg3XSwgWzE2NjM4NDAxNzIuOTAwNTM2NSwgMTQ0OSwgMS45ODUzMjgzMTY2ODg1Mzc2XSwgWzE2NjM4NDAxNzMuMTY2MzExNywgMTQ2NywgMi4wNzU3MTE0ODg3MjM3NTVdLCBbMTY2Mzg0MDE3My40MTI0MjUsIDE0ODUsIDEuODY0ODEzODA0NjI2NDY0OF0sIFsxNjYzODQwMTc0LjE0OTczNywgMTUzOSwgMi40OTc0ODA4NjkyOTMyMTNdLCBbMTY2Mzg0MDE3NC4zMTgxNTk4LCAxNTQ4LCAyLjUzNTM2MDU3NDcyMjI5XSwgWzE2NjM4NDAxNzQuNDMwODU0NiwgMTU1NywgMi4xNzc1NTYwMzc5MDI4MzJdLCBbMTY2Mzg0MDE3NC44MDEwODcsIDE1ODQsIDEuOTYyNDE1NDU2NzcxODUwNl0sIFsxNjYzODQwMTc1LjA0OTA3NDIsIDE2MDIsIDEuOTc5ODc4MTg3MTc5NTY1NF0sIFsxNjYzODQwMTc1LjU2NTY1OCwgMTYzOCwgMi40Nzg2MzM4ODA2MTUyMzQ0XSwgWzE2NjM4NDAxNzUuOTMzODAzMywgMTY2NSwgMi42MzAzMTc2ODc5ODgyODEyXSwgWzE2NjM4NDAxNzYuMDU0NTE4MiwgMTY3NCwgMi4wNzQ2MDExNzM0MDA4NzldLCBbMTY2Mzg0MDE3Ni4xNzY4ODc1LCAxNjgzLCAyLjQyODAyNDUzMDQxMDc2NjZdLCBbMTY2Mzg0MDE3Ni42ODg5OTc3LCAxNzE5LCAyLjA5NTUyNTk3OTk5NTcyNzVdLCBbMTY2Mzg0MDE3Ni44MTE0MzM2LCAxNzI4LCAyLjMzNDM4NTM5NTA1MDA0OV0sIFsxNjYzODQwMTc2LjkyMDkwNDQsIDE3MzcsIDEuODEyMDA4NzM4NTE3NzYxMl0sIFsxNjYzODQwMTc3Ljg0NDEyMjIsIDE4MDAsIDEuOTA1MTIzODI5ODQxNjEzOF0sIFsxNjYzODQwMTc4LjI3OTUzNzIsIDE4MjcsIDEuOTYyMDYxMjg1OTcyNTk1Ml0sIFsxNjYzODQwMTc4LjQwMzkxOTUsIDE4MzYsIDEuNzU0OTY5ODM1MjgxMzcyXSwgWzE2NjM4NDAxNzguNTYxNjEzOCwgMTg0NSwgMi4yMzYxMTc2MDEzOTQ2NTMzXSwgWzE2NjM4NDAxNzguNzAxNjc0NSwgMTg1NCwgMi4xMzQ2MzU0NDg0NTU4MTA1XSwgWzE2NjM4NDAxNzguOTgwNjYyLCAxODcyLCAxLjc2MzMxOTYxMTU0OTM3NzRdLCBbMTY2Mzg0MDE3OS4yODIwNjUyLCAxODkwLCAxLjgxOTMxNTQzMzUwMjE5NzNdLCBbMTY2Mzg0MDE3OS44NTUzOTI3LCAxOTA4LCAyLjAxOTUyMDI4Mjc0NTM2MTNdLCBbMTY2Mzg0MDE4MC4wODk5NjE1LCAxOTI2LCAyLjAwNzIxMzU5MjUyOTI5N10sIFsxNjYzODQwMTgwLjM0OTY2NTIsIDE5NDQsIDEuNzk2NDk3NTgzMzg5MjgyMl0sIFsxNjYzODQwMTgwLjQ5NTU3MjgsIDE5NTMsIDEuNzYzNDg1Nzg5Mjk5MDExMl0sIFsxNjYzODQwMTgwLjkwNDM3MzYsIDE5ODAsIDEuNjc1OTQ2MjM1NjU2NzM4M10sIFsxNjYzODQwMTgxLjA1MjMyNzQsIDE5ODksIDIuMTc4MDg0ODUwMzExMjc5M10sIFsxNjYzODQwMTgxLjE5MDE2NywgMTk5OCwgMi4xMzg3MzIxOTQ5MDA1MTI3XSwgWzE2NjM4NDAxODEuNTk4MTQ1MiwgMjAyNSwgMS44MjczNDM0NjM4OTc3MDVdLCBbMTY2Mzg0MDE4Mi4zMjY0NzY4LCAyMDcwLCAxLjgwMzQ1NDg3NTk0NjA0NV0sIFsxNjYzODQwMTgzLjYzODQ3NDcsIDIxNjAsIDIuMTA0NzA2NTI1ODAyNjEyM10sIFsxNjYzODQwMTgzLjkzNjk1NTUsIDIxNzgsIDEuOTM4OTk0MTY5MjM1MjI5NV0sIFsxNjYzODQwMTg0LjM3MDgyMTIsIDIyMDUsIDEuOTM0NDg3MjIzNjI1MTgzXSwgWzE2NjM4NDAxODQuNTE2NTMxLCAyMjE0LCAyLjA3MTExNTAxNjkzNzI1Nl0sIFsxNjYzODQwMTg0LjY2MDY1NiwgMjIyMywgMS42NDkzMDI4NDAyMzI4NDkxXSwgWzE2NjM4NDAxODUuODIyNTM1NSwgMjI5NSwgMS45NzY3ODg1MjA4MTI5ODgzXSwgWzE2NjM4NDAxODYuMzgyMjg5NCwgMjMzMSwgMS44NDUzNDIxNTkyNzEyNDAyXSwgWzE2NjM4NDAxODYuNTI1MTE3NiwgMjM0MCwgMS42MzIxNjU3ODk2MDQxODddLCBbMTY2Mzg0MDE4Ni42NzM3NTY2LCAyMzQ5LCAxLjg4ODU2NzkyNDQ5OTUxMTddLCBbMTY2Mzg0MDE4Ni45NDcwMjYzLCAyMzY3LCAxLjg1NzI2NjkwMjkyMzU4NF0sIFsxNjYzODQwMTg4LjA3NDgyNDMsIDI0MzksIDEuOTE3MjU0OTI0Nzc0MTddLCBbMTY2Mzg0MDE4OC4yMDc5OTE2LCAyNDQ4LCAxLjcyMjUyNTgzNTAzNzIzMTRdLCBbMTY2Mzg0MDE4OC42MTcxMTIsIDI0NzUsIDEuODg5MDQ2NTQ5Nzk3MDU4XSwgWzE2NjM4NDAxODguOTAwNzEyNywgMjQ5MywgMi4wNDU5MTI3NDI2MTQ3NDZdLCBbMTY2Mzg0MDE4OS4xNzEwNjMyLCAyNTExLCAxLjg3MDc5MzU4MTAwODkxMTFdLCBbMTY2Mzg0MDE4OS40MzI4NDQ0LCAyNTI5LCAxLjkxODc2OTAwMTk2MDc1NDRdLCBbMTY2Mzg0MDE4OS42ODg1OTIyLCAyNTQ3LCAxLjc5MDYxMTUwNTUwODQyMjldLCBbMTY2Mzg0MDE4OS43OTc1OTk2LCAyNTU2LCAyLjcxMDE0NzE0MjQxMDI3ODNdLCBbMTY2Mzg0MDE5MC4wODI1ODMyLCAyNTc0LCAxLjc1NjA5ODUwODgzNDgzODldLCBbMTY2Mzg0MDE5MC4zNzM4NzQyLCAyNTkyLCAyLjEyNjQ1Mzg3NjQ5NTM2MTNdLCBbMTY2Mzg0MDE5MC41MTcxNjczLCAyNjAxLCAyLjA0MTUyODcwMTc4MjIyNjZdLCBbMTY2Mzg0MDE5MC44MTE0ODQ2LCAyNjE5LCAxLjY4MzgwNjE4MDk1Mzk3OTVdLCBbMTY2Mzg0MDE5MS41MDc3OTY1LCAyNjY0LCAxLjg2NjQxNzc2NTYxNzM3MDZdLCBbMTY2Mzg0MDE5MS42NTE0NjMzLCAyNjczLCAxLjcwMDM4MTk5NDI0NzQzNjVdLCBbMTY2Mzg0MDE5MS43OTI3MTcsIDI2ODIsIDEuNzMwMjY3MDQ3ODgyMDhdLCBbMTY2Mzg0MDE5MS45MTI4NzY0LCAyNjkxLCAxLjczNzYyODY5ODM0ODk5OV0sIFsxNjYzODQwMTkzLjEyODM2ODQsIDI3NjMsIDEuNjYxNTM0OTA1NDMzNjU0OF0sIFsxNjYzODQwMTkzLjM1NTYyODcsIDI3ODEsIDEuNTIyODA1MDk0NzE4OTMzXSwgWzE2NjM4NDAxOTMuOTAyMTE0MiwgMjgxNywgMS44ODUyNjQ2MzUwODYwNTk2XSwgWzE2NjM4NDAxOTQuNDkxMjA2NiwgMjg1MywgMS42NzA0NDkxMzc2ODc2ODNdLCBbMTY2Mzg0MDE5NC43NTc2NzQ1LCAyODcxLCAxLjgxMTA2NjE1MDY2NTI4MzJdLCBbMTY2Mzg0MDE5NC44ODczOTc1LCAyODgwLCAxLjc5ODMwMjA1NDQwNTIxMjRdLCBbMTY2Mzg0MDE5NS4zMDQ3NjcsIDI5MDcsIDIuMDQyOTkzMzA3MTEzNjQ3NV0sIFsxNjYzODQwMTk2LjI3Njg3NDUsIDI5NzAsIDEuMzc5OTgxNzU2MjEwMzI3MV0sIFsxNjYzODQwMTk2LjU1MTY4NjMsIDI5ODgsIDIuMDU5MDc3MjYyODc4NDE4XSwgWzE2NjM4NDAxOTYuNjk1NjA5OCwgMjk5NywgMS41NTIwMjMxNzIzNzg1NF0sIFsxNjYzODQwMTk3LjQ0MzY0NDUsIDMwNDIsIDEuNjUzMDIwNTAxMTM2Nzc5OF0sIFsxNjYzODQwMTk3LjU4NTAwOTYsIDMwNTEsIDEuODM4MTU0NTU0MzY3MDY1NF0sIFsxNjYzODQwMTk3Ljg2MDYzMTcsIDMwNjksIDEuNjgyMzg1NDQ0NjQxMTEzM10sIFsxNjYzODQwMTk4LjI2NDkzNTUsIDMwOTYsIDEuNTAwNjYyNTY1MjMxMzIzMl0sIFsxNjYzODQwMTk4LjUzMDI5NDIsIDMxMTQsIDEuODE0NDQ3MjgzNzQ0ODEyXSwgWzE2NjM4NDAxOTguNjUwNjY4MSwgMzEyMywgMS41ODQ2MDI0NzUxNjYzMjA4XSwgWzE2NjM4NDAxOTkuMjE2NDg5MywgMzE1OSwgMS40OTk0MTgyNTg2NjY5OTIyXSwgWzE2NjM4NDAxOTkuNDc1MDg4NCwgMzE3NywgMi4xMjQ0NjI2MDQ1MjI3MDVdLCBbMTY2Mzg0MDE5OS43MzkwMjQ0LCAzMTk1LCAxLjY0MTA2MzkyODYwNDEyNl0sIFsxNjYzODQwMjAwLjI2NjczNDEsIDMyMzEsIDIuMjA5NjU5MDk5NTc4ODU3NF0sIFsxNjYzODQwMjAwLjc5MTI3MTcsIDMyNjcsIDEuNTkzNjcwMDEwNTY2NzExNF0sIFsxNjYzODQwMjAwLjk0MDgxNzYsIDMyNzYsIDEuNDY2MzcxMDU5NDE3NzI0Nl0sIFsxNjYzODQwMjAxLjA5MDAxNDIsIDMyODUsIDEuOTU5MDU2OTczNDU3MzM2NF0sIFsxNjYzODQwMjAxLjIyMzAwMDgsIDMyOTQsIDEuNTg3OTg3NDIyOTQzMTE1Ml0sIFsxNjYzODQwMjAxLjM2MzMyNTQsIDMzMDMsIDEuNzU2NTY0MTQwMzE5ODI0Ml0sIFsxNjYzODQwMjAxLjQ5NjA4MTgsIDMzMTIsIDEuOTA1MjMyMzEwMjk1MTA1XSwgWzE2NjM4NDAyMDIuNDM4NTYxMiwgMzM3NSwgMS42MTkyMzg2MTUwMzYwMTA3XSwgWzE2NjM4NDAyMDIuODQ4NTg0NCwgMzQwMiwgMS41MzAyNTM1Mjk1NDg2NDVdLCBbMTY2Mzg0MDIwMy4wMjU0OTUzLCAzNDExLCAxLjYyMjM1MzQzNDU2MjY4M10sIFsxNjYzODQwMjA0LjA1MTE5MTgsIDM0ODMsIDEuNjMyMDg2MDM4NTg5NDc3NV0sIFsxNjYzODQwMjA0Ljg2OTc2OTgsIDM1MTksIDEuODU4MTc3NzgxMTA1MDQxNV0sIFsxNjYzODQwMjA1LjAwNDgzNDcsIDM1MjgsIDEuODY1Mjk2MjQ0NjIxMjc2OV0sIFsxNjYzODQwMjA1LjE0MzQ2NTgsIDM1MzcsIDEuOTI1MDkyNTc3OTM0MjY1MV0sIFsxNjYzODQwMjA1LjQwNTkyNDYsIDM1NTUsIDEuNDA3Nzc1MTYzNjUwNTEyN10sIFsxNjYzODQwMjA1Ljg1NzgwMjQsIDM1ODIsIDEuNDg5NTg0OTIyNzkwNTI3M10sIFsxNjYzODQwMjA2LjYwMzI1NDYsIDM2MjcsIDEuNDkzNTI4NjA0NTA3NDQ2M10sIFsxNjYzODQwMjA2Ljg0NDA1NjQsIDM2NDUsIDEuNzE5ODU4NjQ2MzkyODIyM10sIFsxNjYzODQwMjA3LjQzODYwNDgsIDM2OTAsIDEuNjYwMzg1ODQ3MDkxNjc0OF0sIFsxNjYzODQwMjA3LjkxNjk2NSwgMzcyNiwgMS44NDgwMzU5MzE1ODcyMTkyXSwgWzE2NjM4NDAyMDguMDM2MTA1OSwgMzczNSwgMS40OTMyMDg4ODUxOTI4NzFdLCBbMTY2Mzg0MDIwOC4xNTc0MTQ0LCAzNzQ0LCAxLjMwMTc5ODU4MjA3NzAyNjRdLCBbMTY2Mzg0MDIwOC41MzQyMDksIDM3NzEsIDEuOTc0NjAwNzkxOTMxMTUyM10sIFsxNjYzODQwMjA4Ljk2MTY3MDQsIDM3OTgsIDEuODUwNzEwMTUzNTc5NzEyXSwgWzE2NjM4NDAyMDkuMDkxNzE0OSwgMzgwNywgMS40OTk1OTMwMTk0ODU0NzM2XSwgWzE2NjM4NDAyMDkuNDkyNTI2MywgMzgzNCwgMi4xNTM2NTYyNDQyNzc5NTRdLCBbMTY2Mzg0MDIwOS42MjYwNjY0LCAzODQzLCAxLjYxNzg5MDgzNDgwODM0OTZdLCBbMTY2Mzg0MDIxMC4xNTM3MDMsIDM4NzksIDEuNjc0NTY1OTExMjkzMDI5OF0sIFsxNjYzODQwMjEwLjgwNDAxNzMsIDM5MjQsIDEuNDcyODYwNDU1NTEzMDAwNV0sIFsxNjYzODQwMjEwLjkzNzI2MjMsIDM5MzMsIDEuNjMxMjE5Mzg3MDU0NDQzNF0sIFsxNjYzODQwMjExLjA4MTU0MjMsIDM5NDIsIDEuNzAzNjg3NjY3ODQ2Njc5N10sIFsxNjYzODQwMjExLjM1MDc2MSwgMzk2MCwgMS42MDk0NDkzODY1OTY2Nzk3XSwgWzE2NjM4NDAyMTEuNDYyNTE0NiwgMzk2OSwgMS41MDY2MTc5MDM3MDk0MTE2XSwgWzE2NjM4NDAyMTEuNjA0NjM3LCAzOTc4LCAxLjU3NDc5MzU3NzE5NDIxMzldLCBbMTY2Mzg0MDIxMS44ODk5ODc1LCAzOTk2LCAxLjM0NDk4NDg4OTAzMDQ1NjVdLCBbMTY2Mzg0MDIxMi4wMzY0ODg1LCA0MDA1LCAxLjU2OTMzNDI2ODU2OTk0NjNdLCBbMTY2Mzg0MDIxMi4zMDIzODE1LCA0MDIzLCAxLjM2ODE2NDA2MjVdLCBbMTY2Mzg0MDIxMi44NDc2NTQsIDQwNTksIDEuMzk3MTE2NTQxODYyNDg3OF0sIFsxNjYzODQwMjEzLjEzMzM2LCA0MDc3LCAxLjMyODk1ODc0OTc3MTExODJdLCBbMTY2Mzg0MDIxMy4yNzUyMTEsIDQwODYsIDEuNzY5MDk2OTcwNTU4MTY2NV0sIFsxNjYzODQwMjEzLjQwODcxNDUsIDQwOTUsIDEuNTA4ODQwMDg0MDc1OTI3N10sIFsxNjYzODQwMjEzLjY0NDU5NTQsIDQxMTMsIDEuMzA0NTk2NDI0MTAyNzgzMl0sIFsxNjYzODQwMjE0LjE1MzE3MywgNDE0OSwgMS40MDQ4MTM3NjY0Nzk0OTIyXSwgWzE2NjM4NDAyMTQuMjkzOTU0NiwgNDE1OCwgMS4zMzI4NzM0NjM2MzA2NzYzXSwgWzE2NjM4NDAyMTQuODU2MzIzNSwgNDE5NCwgMS4xOTYyMzExMjY3ODUyNzgzXSwgWzE2NjM4NDAyMTUuMDA4MDgzLCA0MjAzLCAxLjQwMTQ0MTIxNjQ2ODgxMV0sIFsxNjYzODQwMjE1LjI3NjE5ODYsIDQyMjEsIDEuMzIyMDQyODIyODM3ODI5Nl0sIFsxNjYzODQwMjE1LjU1OTkxODksIDQyMzksIDEuODYyNzk0OTk1MzA3OTIyNF0sIFsxNjYzODQwMjE2LjA5OTc5NjUsIDQyNzUsIDEuMzI3NzY4OTIxODUyMTExOF0sIFsxNjYzODQwMjE2LjIzMzUwNSwgNDI4NCwgMS41MDI1MzgyMDQxOTMxMTUyXSwgWzE2NjM4NDAyMTYuODc2MTgyLCA0MzExLCAxLjY4MTA3MzY2NTYxODg5NjVdLCBbMTY2Mzg0MDIxNy4xNzIwMjY5LCA0MzI5LCAxLjc2MDE0OTk1NTc0OTUxMTddLCBbMTY2Mzg0MDIxNy4yODgzNTE4LCA0MzM4LCAxLjM5OTk5NTU2NTQxNDQyODddLCBbMTY2Mzg0MDIxNy41NTkzMTI2LCA0MzU2LCAxLjY5MzY4MjA3NDU0NjgxNF0sIFsxNjYzODQwMjE3LjY5MTU0NSwgNDM2NSwgMS4zMDY2NDkzMjcyNzgxMzcyXSwgWzE2NjM4NDAyMTguMTIzODU4NywgNDM5MiwgMS4zNzc3MzQzMDM0NzQ0MjYzXSwgWzE2NjM4NDAyMTguMjQ2NDE5NCwgNDQwMSwgMS42NjQxNjIwMzk3NTY3NzVdLCBbMTY2Mzg0MDIxOC4zODgxNjYyLCA0NDEwLCAxLjQ4NTY5OTI5NTk5NzYxOTZdLCBbMTY2Mzg0MDIxOC42Njk2MjUzLCA0NDI4LCAxLjIyNDgwMjEzNjQyMTIwMzZdLCBbMTY2Mzg0MDIxOS4xMjExNTEsIDQ0NTUsIDEuMzM4MjMxOTIxMTk1OTgzOV0sIFsxNjYzODQwMjE5LjY5Njg5MSwgNDQ5MSwgMS41ODE2NDE3OTMyNTEwMzc2XSwgWzE2NjM4NDAyMjAuMjIyMTA1NywgNDUyNywgMS43MTY0Mjg1MTgyOTUyODhdLCBbMTY2Mzg0MDIyMC4zMzU4MTg4LCA0NTM2LCAxLjI4Nzk1NTg4MDE2NTFdLCBbMTY2Mzg0MDIyMC43MDM2MzE0LCA0NTYzLCAxLjQ0ODA4MTczMTc5NjI2NDZdLCBbMTY2Mzg0MDIyMS4wNzUwMzE4LCA0NTkwLCAxLjM4NDMyMzk1NDU4MjIxNDRdLCBbMTY2Mzg0MDIyMS4xODQxMzEsIDQ1OTksIDEuNTE0ODUzNzE1ODk2NjA2NF0sIFsxNjYzODQwMjIxLjMwNjY0NzUsIDQ2MDgsIDEuMjczMTQ0MzY0MzU2OTk0Nl0sIFsxNjYzODQwMjIxLjQxOTQ0MTUsIDQ2MTcsIDEuNzYwODA0Mjk1NTM5ODU2XSwgWzE2NjM4NDAyMjEuNTMxNDExNiwgNDYyNiwgMS4zMzU1NjQxMzY1MDUxMjddLCBbMTY2Mzg0MDIyMS42NjQ2OTM4LCA0NjM1LCAxLjMxMDM5MDU5MTYyMTM5OV0sIFsxNjYzODQwMjIyLjAyNDI2MTcsIDQ2NjIsIDEuNDMxMjE5ODE2MjA3ODg1N10sIFsxNjYzODQwMjIyLjE0MjI5NjgsIDQ2NzEsIDEuNTg5OTI1NjQ2NzgxOTIxNF0sIFsxNjYzODQwMjIyLjI2OTMwOTgsIDQ2ODAsIDEuNDU5Mjc3OTg3NDgwMTYzNl0sIFsxNjYzODQwMjIyLjM4MDYzNjIsIDQ2ODksIDEuNDUwMDI3OTQyNjU3NDcwN10sIFsxNjYzODQwMjIyLjc2MzUwODYsIDQ3MTYsIDEuNDUyNTI3OTk5ODc3OTI5N10sIFsxNjYzODQwMjIzLjY3NTQ2ODcsIDQ3NzksIDEuMzczOTA2MTM1NTU5MDgyXSwgWzE2NjM4NDAyMjQuMDgyOTY5LCA0ODA2LCAxLjIyMTY2NjY5MzY4NzQzOV0sIFsxNjYzODQwMjI0LjIxOTYyOSwgNDgxNSwgMS4zNzAyMjE0OTU2MjgzNTddLCBbMTY2Mzg0MDIyNC40Nzg5OTkxLCA0ODMzLCAxLjcwNTc4MjE3NTA2NDA4N10sIFsxNjYzODQwMjI0LjYwODk1MSwgNDg0MiwgMS44MzExODQ3NDQ4MzQ5XSwgWzE2NjM4NDAyMjQuNzU0MDQzOCwgNDg1MSwgMS4xNzY5NTQzODg2MTg0NjkyXSwgWzE2NjM4NDAyMjUuMDYwMzI2NiwgNDg2OSwgMS4zMjMzMTU1MDEyMTMwNzM3XSwgWzE2NjM4NDAyMjUuMzIyMDA4NCwgNDg4NywgMS4yOTUzOTM5NDM3ODY2MjFdLCBbMTY2Mzg0MDIyNS42MTQxMTEyLCA0OTA1LCAxLjM0Nzg3ODMzNjkwNjQzM10sIFsxNjYzODQwMjI1Ljg4MjE4NDMsIDQ5MjMsIDEuNjM1MjI5MzQ5MTM2MzUyNV0sIFsxNjYzODQwMjI2LjAxOTQzMTYsIDQ5MzIsIDEuMzUyMzQ3MDE2MzM0NTMzN10sIFsxNjYzODQwMjI2LjQ0MTYwNCwgNDk1OSwgMS4yMzkzODQ0MTI3NjU1MDNdLCBbMTY2Mzg0MDIyNi43MjMzMzk2LCA0OTc3LCAxLjU2NDc3MjEyOTA1ODgzOF0sIFsxNjYzODQwMjI3LjEzNDYwODMsIDUwMDQsIDEuMzgzNTQ0OTIxODc1XSwgWzE2NjM4NDAyMjcuMjc0NjAzLCA1MDEzLCAxLjIwNjU3MTEwMjE0MjMzNF0sIFsxNjYzODQwMjI4LjAyODc2NTQsIDUwNjcsIDEuNDA1MTM5MDg4NjMwNjc2M10sIFsxNjYzODQwMjI4LjE3NTAwMTksIDUwNzYsIDEuMjI2ODkyNzA5NzMyMDU1N10sIFsxNjYzODQwMjI4LjMwNTM1NDQsIDUwODUsIDEuMjkxODc1MTIzOTc3NjYxMV0sIFsxNjYzODQwMjI5LjA5MjgxNywgNTEyMSwgMS4zMDk1ODU0NTIwNzk3NzNdLCBbMTY2Mzg0MDIyOS41MjIwMTIyLCA1MTQ4LCAxLjI1OTE2OTM0MDEzMzY2N10sIFsxNjYzODQwMjI5LjgyMzYyODQsIDUxNjYsIDEuMjM5MDQ4NjAwMTk2ODM4NF0sIFsxNjYzODQwMjMwLjI0Njc1OTQsIDUxOTMsIDEuODI5NzYyMjIwMzgyNjkwNF0sIFsxNjYzODQwMjMwLjc4NDg0MjcsIDUyMjksIDEuNTE0NjQyMTE5NDA3NjUzOF0sIFsxNjYzODQwMjMxLjM2MjA1OTYsIDUyNjUsIDEuMzY0ODYxNjA3NTUxNTc0N10sIFsxNjYzODQwMjMxLjQ5OTM0ODIsIDUyNzQsIDEuNDE2NjM5OTI0MDQ5Mzc3NF0sIFsxNjYzODQwMjMxLjYyMDE4NzgsIDUyODMsIDEuMzczMTQwMzM1MDgzMDA3OF0sIFsxNjYzODQwMjMxLjkxMzI3NzEsIDUzMDEsIDEuMjMzNTM2MDA1MDIwMTQxNl0sIFsxNjYzODQwMjMyLjE3MTA0MDUsIDUzMTksIDEuMzQ1MDgyNjQwNjQ3ODg4Ml0sIFsxNjYzODQwMjMyLjMyMTE1ODQsIDUzMjgsIDEuMTIzMjM5NTE3MjExOTE0XSwgWzE2NjM4NDAyMzIuNDgwMDc1OCwgNTMzNywgMS4yMzY3OTA0MTg2MjQ4NzhdLCBbMTY2Mzg0MDIzMi43NjQ1NDI2LCA1MzU1LCAxLjI0MTI2MjQzNTkxMzA4Nl0sIFsxNjYzODQwMjMzLjA2MzA4OTYsIDUzNzMsIDEuMzc0NDA0MzExMTgwMTE0N10sIFsxNjYzODQwMjMzLjMyMjU2ODQsIDUzOTEsIDEuMTgxNDc0NDQ3MjUwMzY2Ml0sIFsxNjYzODQwMjMzLjQ4NTc0MDcsIDU0MDAsIDEuMzU1NDA1NTY5MDc2NTM4XSwgWzE2NjM4NDAyMzMuOTU1MDI4MywgNTQyNywgMS42MTAxOTgxNDAxNDQzNDgxXSwgWzE2NjM4NDAyMzQuMTIxNTgwNiwgNTQzNiwgMS4zNDM4NTA2MTI2NDAzODA5XSwgWzE2NjM4NDAyMzQuODM4MjkwNywgNTQ4MSwgMS4xNjk3MzE4NTUzOTI0NTZdLCBbMTY2Mzg0MDIzNS4xMTk0NDUzLCA1NDk5LCAxLjIzNjI4OTczOTYwODc2NDZdLCBbMTY2Mzg0MDIzNS41NTcwMjE5LCA1NTI2LCAxLjMxOTQ0NDUzNzE2Mjc4MDhdLCBbMTY2Mzg0MDIzNS43MDExNjY2LCA1NTM1LCAxLjE5NDgzMzg3NDcwMjQ1MzZdLCBbMTY2Mzg0MDIzNS45NzMxMzUsIDU1NTMsIDEuMTUwMTkxNTQ1NDg2NDUwMl0sIFsxNjYzODQwMjM2LjI1NjYzNTcsIDU1NzEsIDEuNTQyNzc1MjczMzIzMDU5XSwgWzE2NjM4NDAyMzYuNTE4MTMyLCA1NTg5LCAxLjQyNzc5MjkwNjc2MTE2OTRdLCBbMTY2Mzg0MDIzNi43OTU0MTg3LCA1NjA3LCAxLjI1MTY3ODgyNDQyNDc0MzddLCBbMTY2Mzg0MDIzNi45MzY3NiwgNTYxNiwgMS4zMzY2Mzg1Njk4MzE4NDgxXSwgWzE2NjM4NDAyMzcuMzYyMzQ3MSwgNTY0MywgMS4yMTk3OTUzNDYyNjAwNzA4XSwgWzE2NjM4NDAyMzcuNTkyNjM4LCA1NjYxLCAxLjMzNDMwMzczNjY4NjcwNjVdLCBbMTY2Mzg0MDIzNy43MjU2MzA4LCA1NjcwLCAxLjIzNTg3NTYwNjUzNjg2NTJdLCBbMTY2Mzg0MDIzOC4xOTA3MDcyLCA1NzA2LCAxLjIyNDI3MTg5MzUwMTI4MTddLCBbMTY2Mzg0MDIzOC43MTMzNTg2LCA1NzQyLCAxLjMyNjg5NTIzNjk2ODk5NDFdLCBbMTY2Mzg0MDIzOS4xMTM2NiwgNTc2OSwgMS4zNjIyNjQzOTQ3NjAxMzE4XSwgWzE2NjM4NDAyMzkuMjU1NzM5LCA1Nzc4LCAxLjQ0NjY2OTU3ODU1MjI0Nl0sIFsxNjYzODQwMjM5LjM4MjM0MSwgNTc4NywgMS4xNjM5OTg2MDM4MjA4MDA4XSwgWzE2NjM4NDAyMzkuNTIzMTM1NCwgNTc5NiwgMS4zMzE4NjEwMTkxMzQ1MjE1XSwgWzE2NjM4NDAyMzkuNjU4MDg2LCA1ODA1LCAxLjcxMjEwMzYwNTI3MDM4NTddLCBbMTY2Mzg0MDI0MC4zNTkwMjMzLCA1ODUwLCAxLjIxMDEyMDkxNjM2NjU3NzFdLCBbMTY2Mzg0MDI0MC42MzE4MzYyLCA1ODY4LCAxLjE3Njg1NTA4NzI4MDI3MzRdLCBbMTY2Mzg0MDI0MC43NjA1NjM2LCA1ODc3LCAxLjczNjcwMzUxNTA1Mjc5NTRdLCBbMTY2Mzg0MDI0MS4wNDI0MTMsIDU4OTUsIDEuMjIyNzYxODY5NDMwNTQyXSwgWzE2NjM4NDAyNDEuMTc3NzQyLCA1OTA0LCAxLjE2Njc1NDI0NTc1ODA1NjZdLCBbMTY2Mzg0MDI0MS43OTc4NzAyLCA1OTMxLCAxLjE5MzI4MzkxNTUxOTcxNDRdLCBbMTY2Mzg0MDI0Mi4wNjUxMDE5LCA1OTQ5LCAxLjI5Nzc5ODg3MTk5NDAxODZdLCBbMTY2Mzg0MDI0My4wNTA0MzYzLCA2MDEyLCAxLjI2MDk2NzYxMjI2NjU0MDVdLCBbMTY2Mzg0MDI0My40NjUyNTIsIDYwMzksIDEuMjYzNTg2NTIxMTQ4NjgxNl0sIFsxNjYzODQwMjQ0LjIwNzg5MzEsIDYwODQsIDEuNTIzMTY4NTYzODQyNzczNF0sIFsxNjYzODQwMjQ0LjM1NDgyNjcsIDYwOTMsIDEuMjgxMzAyMzMyODc4MTEyOF0sIFsxNjYzODQwMjQ0LjQ4Nzk2NywgNjEwMiwgMS40Mzg0OTA1MDk5ODY4Nzc0XSwgWzE2NjM4NDAyNDQuODczNTY5MywgNjEyOSwgMS4yODA1NDg2OTE3NDk1NzI4XSwgWzE2NjM4NDAyNDUuMTI5MzMzNywgNjE0NywgMS4zNjgwNDg1NDg2OTg0MjUzXSwgWzE2NjM4NDAyNDUuMjY4NjQzNiwgNjE1NiwgMS4zODAwNDI3OTEzNjY1NzcxXSwgWzE2NjM4NDAyNDUuMzkwMzE3NywgNjE2NSwgMS4yMDE1NDU1OTYxMjI3NDE3XSwgWzE2NjM4NDAyNDUuNzg0MzMyNSwgNjE5MiwgMS4zMDMyMjM4NDgzNDI4OTU1XSwgWzE2NjM4NDAyNDYuNTAzMDg5LCA2MjM3LCAxLjQwNDExMTI2NjEzNjE2OTRdLCBbMTY2Mzg0MDI0Ni43NzQzMDM3LCA2MjU1LCAxLjIyMTcxNDg1NDI0MDQxNzVdLCBbMTY2Mzg0MDI0Ny4wNDkxNzA3LCA2MjczLCAxLjExNTA5ODQ3NjQwOTkxMl0sIFsxNjYzODQwMjQ3LjE4NjY3ODIsIDYyODIsIDEuNjc3MTgwMDUxODAzNTg4OV0sIFsxNjYzODQwMjQ3LjQ1ODY5MDQsIDYzMDAsIDEuMTQ2ODk0OTMxNzkzMjEzXSwgWzE2NjM4NDAyNDcuOTA1MDc5OCwgNjMyNywgMi4wMTAzNzAwMTYwOTgwMjI1XSwgWzE2NjM4NDAyNDguMDQxMjYyOSwgNjMzNiwgMS4xOTE2MjE0MjI3Njc2MzkyXSwgWzE2NjM4NDAyNDguMjk0NjUwNiwgNjM1NCwgMS4yNjQ1ODM4MjYwNjUwNjM1XSwgWzE2NjM4NDAyNDguNzk1NTU2MywgNjM5MCwgMS4wOTAwMDA5ODcwNTI5MTc1XSwgWzE2NjM4NDAyNDguOTEzMjE4NywgNjM5OSwgMS4xNDU4NjEzODcyNTI4MDc2XSwgWzE2NjM4NDAyNDkuMTQzNTU1OSwgNjQxNywgMS4yMTA4MTYwMjU3MzM5NDc4XSwgWzE2NjM4NDAyNDkuNDkyODQ0MywgNjQ0NCwgMS4yNDk0NjI3MjM3MzE5OTQ2XSwgWzE2NjM4NDAyNDkuNzIzODE2NiwgNjQ2MiwgMS4yMjc2MzAzNzY4MTU3OTZdLCBbMTY2Mzg0MDI1MC4wNzk4NDM4LCA2NDg5LCAxLjE4MzE3MzA2MDQxNzE3NTNdLCBbMTY2Mzg0MDI1MC4xODU1NDA0LCA2NDk4LCAxLjM2MzI4NjM3NTk5OTQ1MDddLCBbMTY2Mzg0MDI1MC40MjMyMTEsIDY1MTYsIDEuMDkwNjUzMDYxODY2NzYwM10sIFsxNjYzODQwMjUwLjY2NDA4MDEsIDY1MzQsIDEuMTQ5MjQ0NjY2MDk5NTQ4M10sIFsxNjYzODQwMjUwLjc4Njc2NjUsIDY1NDMsIDEuMTE1Njk4OTMzNjAxMzc5NF0sIFsxNjYzODQwMjUxLjA2NDMwOCwgNjU2MSwgMS4yMDE1MzE4ODcwNTQ0NDM0XSwgWzE2NjM4NDAyNTEuMTk3MDM3MiwgNjU3MCwgMS41MjQ5NjQ5Mjg2MjcwMTQyXSwgWzE2NjM4NDAyNTEuNDc1MTUyNywgNjU4OCwgMS4wODIxNzE5MTY5NjE2N10sIFsxNjYzODQwMjUxLjYxMDAyMzcsIDY1OTcsIDEuMjM5MjU0NTkzODQ5MTgyMV0sIFsxNjYzODQwMjUxLjc1NzMwNzUsIDY2MDYsIDEuMzYyOTM0ODI3ODA0NTY1NF0sIFsxNjYzODQwMjUyLjQyOTA3MDcsIDY2NTEsIDEuMjc5NDA4NjkzMzEzNTk4Nl0sIFsxNjYzODQwMjUyLjk1MzI3NzMsIDY2ODcsIDEuMTI1OTUxMDUxNzEyMDM2MV0sIFsxNjYzODQwMjUzLjA4MDkxNTUsIDY2OTYsIDEuMDgzODIzMjA0MDQwNTI3M10sIFsxNjYzODQwMjUzLjIyMjgyNzIsIDY3MDUsIDEuMDUxMTQ4NDE0NjExODE2NF0sIFsxNjYzODQwMjU0Ljk0NzY1MDcsIDY4MTMsIDEuMzE0OTMxNjMxMDg4MjU2OF0sIFsxNjYzODQwMjU1LjE4NDIwNjIsIDY4MzEsIDEuMzY4OTg3MzIxODUzNjM3N10sIFsxNjYzODQwMjU1Ljg2NDI4MzgsIDY4ODUsIDEuMDU4ODA5MjgwMzk1NTA3OF0sIFsxNjYzODQwMjU1Ljk5NzQ2OTQsIDY4OTQsIDEuMTc4NDkyNDI2ODcyMjUzNF0sIFsxNjYzODQwMjU2LjQyNjE1NzUsIDY5MjEsIDEuMzM2NTM0MjYxNzAzNDkxMl0sIFsxNjYzODQwMjU2LjU2ODI5NDMsIDY5MzAsIDEuMjQzNjA2MjA5NzU0OTQzOF0sIFsxNjYzODQwMjU2Ljk5MDQ3NjYsIDY5NTcsIDEuMzUwNDI0NzY2NTQwNTI3M10sIFsxNjYzODQwMjU3LjM5NzAzNDYsIDY5ODQsIDEuODc3NzY0MjI1MDA2MTAzNV0sIFsxNjYzODQwMjU3LjUzMTM3MzMsIDY5OTMsIDEuNDM3OTkyMDk1OTQ3MjY1Nl0sIFsxNjYzODQwMjU3LjgwNDE3ODUsIDcwMTEsIDEuMzMwNDY0NDgyMzA3NDM0XSwgWzE2NjM4NDAyNTcuOTM3NjExMywgNzAyMCwgMS4zODU0MTEwMjQwOTM2MjhdLCBbMTY2Mzg0MDI1OC4wNjIzMDAyLCA3MDI5LCAxLjIxNTI1ODQ3OTExODM0NzJdLCBbMTY2Mzg0MDI1OC4xOTk5OTQ4LCA3MDM4LCAxLjA1OTM4NzMyNjI0MDUzOTZdLCBbMTY2Mzg0MDI1OC4zMDc4NTQ0LCA3MDQ3LCAxLjIwNjI3MDIxNzg5NTUwNzhdLCBbMTY2Mzg0MDI1OC45OTc1MDk3LCA3MTAxLCAxLjI2MDc4MjcxODY1ODQ0NzNdLCBbMTY2Mzg0MDI1OS40MDUzMjcsIDcxMjgsIDEuMTg3MjM1NzEzMDA1MDY2XSwgWzE2NjM4NDAyNjEuMjA2NzMyNywgNzI0NSwgMS4wNTk4NDg0Mjc3NzI1MjJdLCBbMTY2Mzg0MDI2MS4zMjQzMDM2LCA3MjU0LCAxLjA4NjE5Nzk3MjI5NzY2ODVdLCBbMTY2Mzg0MDI2MS40NTc0MjM3LCA3MjYzLCAxLjI4NTM2Nzk2NTY5ODI0MjJdLCBbMTY2Mzg0MDI2MS42NDYyOTgyLCA3MjcyLCAxLjM5NzkxMzkzMjgwMDI5M10sIFsxNjYzODQwMjYyLjExMjUxMzgsIDcyOTksIDEuNDQzMDM2NDM3MDM0NjA3XSwgWzE2NjM4NDAyNjMuMjgyNDMwNCwgNzM3MSwgMS4xNTkwMDI2NjE3MDUwMTddLCBbMTY2Mzg0MDI2My40MDEzNTk2LCA3MzgwLCAxLjAwMjU4NzQzNzYyOTY5OTddLCBbMTY2Mzg0MDI2NC41MDIxMDkzLCA3NDUyLCAxLjE3ODI4ODQ1OTc3NzgzMl0sIFsxNjYzODQwMjY0LjYzMjQ5NiwgNzQ2MSwgMS4xNjQxNDM1NjIzMTY4OTQ1XSwgWzE2NjM4NDAyNjUuMTkyMjYzOCwgNzQ5NywgMS4wNzI1NzY3NjEyNDU3Mjc1XSwgWzE2NjM4NDAyNjUuNjA2NzU1LCA3NTA2LCAxLjAxMDMyMjQ1MTU5MTQ5MTddLCBbMTY2Mzg0MDI2NS45MDM1MzgyLCA3NTI0LCAxLjE3MDc5NzcwNTY1MDMyOTZdLCBbMTY2Mzg0MDI2Ni4wMzU0MzI4LCA3NTMzLCAxLjQyOTQxNDM5MTUxNzYzOTJdLCBbMTY2Mzg0MDI2Ni4xNzY5NzU3LCA3NTQyLCAxLjQxNzI1MTM0ODQ5NTQ4MzRdLCBbMTY2Mzg0MDI2Ni40Mjg5Mzg0LCA3NTYwLCAxLjAwMDA4NTExNTQzMjczOTNdLCBbMTY2Mzg0MDI2Ni41NTc0ODI3LCA3NTY5LCAxLjI4ODI4NTAxNzAxMzU0OThdLCBbMTY2Mzg0MDI2Ni45NDI2NjkyLCA3NTk2LCAxLjUyNzYxNDM1NTA4NzI4MDNdLCBbMTY2Mzg0MDI2Ny4xODI0NzU4LCA3NjE0LCAxLjIyMDQ0MzAxMDMzMDIwMDJdLCBbMTY2Mzg0MDI2Ny43OTE0NTg0LCA3NjU5LCAxLjIzOTAzMjAzMDEwNTU5MDhdLCBbMTY2Mzg0MDI2Ny45MjY2NTg5LCA3NjY4LCAxLjY3MzUyOTE0ODEwMTgwNjZdLCBbMTY2Mzg0MDI2OC4yOTk1NzU2LCA3Njk1LCAxLjQwNzU0Mjk0Mzk1NDQ2NzhdLCBbMTY2Mzg0MDI2OC42NjM3NTUyLCA3NzIyLCAxLjE4NzU5MDI0MTQzMjE5XSwgWzE2NjM4NDAyNjkuMDQ2NDQ4MiwgNzc0OSwgMS4zOTQxNjc5MDAwODU0NDkyXSwgWzE2NjM4NDAyNjkuMzE0NDAzOCwgNzc2NywgMS41MTkwNTQ4ODk2Nzg5NTVdLCBbMTY2Mzg0MDI2OS43MzMxNzk2LCA3Nzk0LCAxLjE5MTU2ODEzNjIxNTIxXSwgWzE2NjM4NDAyNjkuODczOTgxLCA3ODAzLCAxLjI1ODA0NjAzMDk5ODIzXSwgWzE2NjM4NDAyNzAuNDIxMTI3LCA3ODM5LCAxLjMyMTU5ODg4NzQ0MzU0MjVdLCBbMTY2Mzg0MDI3MC41NTczNTMsIDc4NDgsIDEuMDU2OTUxNTIyODI3MTQ4NF0sIFsxNjYzODQwMjcyLjI2MjEyNTcsIDc5NjUsIDEuMTU2MDU2ODgwOTUwOTI3N10sIFsxNjYzODQwMjcyLjQwNzM1MzQsIDc5NzQsIDEuMTU4ODAxMDc4Nzk2Mzg2N10sIFsxNjYzODQwMjcyLjU0MDI0NDYsIDc5ODMsIDEuNDA0OTI4NTY1MDI1MzI5Nl0sIFsxNjYzODQwMjczLjEwNjAyNzgsIDgwMTksIDEuODAxNDQ2OTE0NjcyODUxNl0sIFsxNjYzODQwMjczLjM4ODY0MjgsIDgwMzcsIDEuMjM0MzE1OTkxNDAxNjcyNF0sIFsxNjYzODQwMjczLjc5NjQ2LCA4MDY0LCAxLjk0MDQ4NTU5NjY1Njc5OTNdLCBbMTY2Mzg0MDI3NC4wNjUzMTEyLCA4MDgyLCAxLjYxNTAwODExNTc2ODQzMjZdLCBbMTY2Mzg0MDI3NC4xODk0ODAzLCA4MDkxLCAxLjM3NDA2ODQ5ODYxMTQ1MDJdLCBbMTY2Mzg0MDI3NC41NTkwNzYsIDgxMTgsIDEuMjU0NTI2NzM0MzUyMTExOF0sIFsxNjYzODQwMjc0LjY5NDM1NjcsIDgxMjcsIDEuMTA4NTY3NDc2MjcyNTgzXSwgWzE2NjM4NDAyNzUuNDA1MzgsIDgxNzIsIDEuMDgyNjk1MDA3MzI0MjE4OF0sIFsxNjYzODQwMjc1LjU0NjA5NiwgODE4MSwgMS4xMjYyNDM1OTEzMDg1OTM4XSwgWzE2NjM4NDAyNzUuNzg5NDI1OCwgODE5OSwgMS4yMTkzMzk5NjY3NzM5ODY4XSwgWzE2NjM4NDAyNzUuOTE3OTk3LCA4MjA4LCAxLjE4OTc5OTc4NTYxNDAxMzddLCBbMTY2Mzg0MDI3Ni4yNzI2ODg5LCA4MjM1LCAxLjE4MjY0OTYxMjQyNjc1NzhdLCBbMTY2Mzg0MDI3Ni43NzMsIDgyNzEsIDEuMDg3ODQ4NjYzMzMwMDc4MV0sIFsxNjYzODQwMjc2LjkwMDU3ODMsIDgyODAsIDEuMDc0NzI2MTA0NzM2MzI4MV0sIFsxNjYzODQwMjc3LjQxNjcwOTIsIDgyOTgsIDEuMjA5NTIxNTMyMDU4NzE1OF0sIFsxNjYzODQwMjc3LjcyMTA2MzEsIDgzMTYsIDEuMzg3NTI4ODk2MzMxNzg3XSwgWzE2NjM4NDAyNzguMzY4MTA1NiwgODM2MSwgMS4wMTY0NDk0NTE0NDY1MzMyXSwgWzE2NjM4NDAyNzguNjA3NjE5MywgODM3OSwgMS4xNTYwNjY0MTc2OTQwOTE4XSwgWzE2NjM4NDAyNzguNzQ1NTMxOCwgODM4OCwgMS4xNzA2MDg0MDEyOTg1MjNdLCBbMTY2Mzg0MDI3OC44NTUzNDEsIDgzOTcsIDEuMzQ4NjA1ODcxMjAwNTYxNV0sIFsxNjYzODQwMjc5LjIxMjIwMDYsIDg0MjQsIDEuMTczNDIxMTQ0NDg1NDczNl0sIFsxNjYzODQwMjc5LjY4MzcyNzUsIDg0NjAsIDEuMDY1Njk5MjE5NzAzNjc0M10sIFsxNjYzODQwMjc5LjkxMDM4MSwgODQ3OCwgMS4wNjI3NDYwNDc5NzM2MzI4XSwgWzE2NjM4NDAyODAuMDMzNjcyLCA4NDg3LCAxLjMxOTYxODgyMTE0NDEwNF0sIFsxNjYzODQwMjgwLjM3ODg0OCwgODUxNCwgMS4xMjQ2ODQyMTQ1OTE5OF0sIFsxNjYzODQwMjgwLjg1MTcwNzcsIDg1NTAsIDAuOTkzNTMyNDE5MjA0NzExOV0sIFsxNjYzODQwMjgxLjMyNjQ0MSwgODU3NywgMC45NTc2Njc0Njk5NzgzMzI1XSwgWzE2NjM4NDAyODEuNzA1ODI0LCA4NjA0LCAxLjIwODU1OTc1MTUxMDYyMDFdLCBbMTY2Mzg0MDI4MS44NTEyNzg4LCA4NjEzLCAxLjIxMzgzMjk3NDQzMzg5OV0sIFsxNjYzODQwMjgyLjM1MDg4MzIsIDg2NDksIDEuMTgzMzgxMDgwNjI3NDQxNF0sIFsxNjYzODQwMjgyLjYxNjUyNDIsIDg2NjcsIDEuMTY1OTkwMTE0MjEyMDM2MV0sIFsxNjYzODQwMjgyLjc1MTQ5NTgsIDg2NzYsIDEuMTA2NzUwMTMwNjUzMzgxM10sIFsxNjYzODQwMjgzLjAyNzQxODYsIDg2OTQsIDEuNDEzNjY5MTA5MzQ0NDgyNF0sIFsxNjYzODQwMjgzLjI2MjAwOTYsIDg3MTIsIDEuMjYwODU1NzkzOTUyOTQyXSwgWzE2NjM4NDAyODMuMzc5OTkwMywgODcyMSwgMS4zNjU1MjgzNDUxMDgwMzIyXSwgWzE2NjM4NDAyODMuNzUwMTY5NSwgODc0OCwgMS4xNTYwNTUyMTIwMjA4NzRdLCBbMTY2Mzg0MDI4NC4zODE1NDg0LCA4NzkzLCAxLjM4NzQ3NzE1OTUwMDEyMl0sIFsxNjYzODQwMjg0LjY1ODU1ODQsIDg4MTEsIDEuMTc2MzM0MjYxODk0MjI2XSwgWzE2NjM4NDAyODQuNzg5MzU2NSwgODgyMCwgMS4yNzY3OTEyMTQ5NDI5MzIxXSwgWzE2NjM4NDAyODUuMjI1NjI2NSwgODg0NywgMS40NTA4MjI5NDk0MDk0ODQ5XSwgWzE2NjM4NDAyODUuNzU2NDYxNiwgODg4MywgMS4wOTI3MDAxMjM3ODY5MjYzXSwgWzE2NjM4NDAyODYuMjk1NjgwOCwgODkxOSwgMS42MzA4ODIyNjMxODM1OTM4XSwgWzE2NjM4NDAyODYuNTY3MDc0MywgODkzNywgMS4zMjc2MTc1MjYwNTQzODIzXSwgWzE2NjM4NDAyODYuODM1OTcyOCwgODk1NSwgMS4yMTExODY3NjY2MjQ0NTA3XSwgWzE2NjM4NDAyODcuMTA0MzQ0NiwgODk3MywgMS43NDYxMTkyNjA3ODc5NjM5XSwgWzE2NjM4NDAyODcuMzkzNjk3NywgODk5MSwgMS4xMzc1NzM3MTkwMjQ2NTgyXSwgWzE2NjM4NDAyODcuNTI3OTY4NCwgOTAwMCwgMC45MzA3ODYxOTI0MTcxNDQ4XSwgWzE2NjM4NDAyODcuOTU0MDMxNSwgOTAyNywgMS4xOTQ0NjM0OTE0Mzk4MTkzXSwgWzE2NjM4NDAyODguMDk3MDIyMywgOTAzNiwgMS4wODgzMzc1NDA2MjY1MjU5XSwgWzE2NjM4NDAyODguMjM2MjI1OCwgOTA0NSwgMS41MjMwNzYwNTc0MzQwODJdLCBbMTY2Mzg0MDI4OC41MjI4MTI0LCA5MDYzLCAxLjA2MjcyOTM1ODY3MzA5NTddLCBbMTY2Mzg0MDI4OS40NTUzMTYsIDkxMDgsIDEuMTk2NTQ4NzAwMzMyNjQxNl0sIFsxNjYzODQwMjg5LjczNDk5NTQsIDkxMjYsIDEuMTI4OTg2MDAxMDE0NzA5NV0sIFsxNjYzODQwMjkwLjAxMjk2MTQsIDkxNDQsIDEuMDQyNDM4MDMwMjQyOTJdLCBbMTY2Mzg0MDI5MC45MzA4MzUyLCA5MjA3LCAxLjA1MTk2NDc1OTgyNjY2MDJdLCBbMTY2Mzg0MDI5MS41MTExMTcsIDkyNDMsIDEuMDU1MDY5MjA4MTQ1MTQxNl0sIFsxNjYzODQwMjkxLjc5NjQxMDMsIDkyNjEsIDEuMTEzMzI0NzYxMzkwNjg2XSwgWzE2NjM4NDAyOTEuOTI4NDQzNywgOTI3MCwgMS4wNjY2ODQ5NjEzMTg5Njk3XSwgWzE2NjM4NDAyOTIuNjQyODQzMiwgOTMyNCwgMS4wOTI4Nzg0NjA4ODQwOTQyXSwgWzE2NjM4NDAyOTIuNzU5NDgyNiwgOTMzMywgMS4xNDc4NjYyNDkwODQ0NzI3XSwgWzE2NjM4NDAyOTIuODgzMTE1MywgOTM0MiwgMS40MDM5ODY1NzMyMTkyOTkzXSwgWzE2NjM4NDAyOTMuMDA5MzM4NiwgOTM1MSwgMS4yNzY4Nzk1NDkwMjY0ODkzXSwgWzE2NjM4NDAyOTMuMTI3NDEzNSwgOTM2MCwgMS42MzU3NTg4NzY4MDA1MzddLCBbMTY2Mzg0MDI5My42MTI3Njk0LCA5Mzk2LCAxLjA1NTQ2OTYzMjE0ODc0MjddLCBbMTY2Mzg0MDI5My45ODczOTUsIDk0MjMsIDEuMzA4NDE2NjA0OTk1NzI3NV0sIFsxNjYzODQwMjk1LjI0ODYyNDMsIDk1MTMsIDEuMTg5MTkxOTM3NDQ2NTk0Ml0sIFsxNjYzODQwMjk1LjUwODI4NTUsIDk1MzEsIDEuMjIzMDkyNTU1OTk5NzU1OV0sIFsxNjYzODQwMjk1LjY1NzY0MzgsIDk1NDAsIDEuMDQ3NjIyMzIzMDM2MTkzOF0sIFsxNjYzODQwMjk1Ljc5NjA5OTQsIDk1NDksIDEuMTU4NDMwNjk1NTMzNzUyNF0sIFsxNjYzODQwMjk2LjA3MzM0NDUsIDk1NjcsIDEuMTkzMDY1NjQzMzEwNTQ2OV0sIFsxNjYzODQwMjk2LjQ5MDgsIDk1OTQsIDEuMzUyODM5MTEyMjgxNzk5M10sIFsxNjYzODQwMjk2Ljc2OTYwMzUsIDk2MTIsIDEuMTAzODI3NDc2NTAxNDY0OF0sIFsxNjYzODQwMjk3LjA1ODQxODMsIDk2MzAsIDEuMDc4NTQxNTE3MjU3NjkwNF0sIFsxNjYzODQwMjk3LjE5MTA0ODksIDk2MzksIDEuMTEyMjc1NDgxMjI0MDZdLCBbMTY2Mzg0MDI5Ny4zMjY5MzgyLCA5NjQ4LCAxLjQwNTM1ODU1MjkzMjczOTNdLCBbMTY2Mzg0MDI5Ny40NTkzOTE4LCA5NjU3LCAxLjI4ODE5MDk2MDg4NDA5NDJdLCBbMTY2Mzg0MDI5Ny41OTk1MTIzLCA5NjY2LCAxLjA1MDU3OTc4NjMwMDY1OTJdLCBbMTY2Mzg0MDI5Ny43MzkwNzc4LCA5Njc1LCAxLjMxNDA2NTA5ODc2MjUxMjJdLCBbMTY2Mzg0MDI5OC4xNDQwOTMsIDk3MDIsIDEuMDU3MDM0OTY5MzI5ODM0XSwgWzE2NjM4NDAyOTguMjc2MDEzNCwgOTcxMSwgMS4xNzI0NjM4OTM4OTAzODA5XSwgWzE2NjM4NDAyOTguNTM0NzM1NCwgOTcyOSwgMS4zNDgzODM3ODQyOTQxMjg0XSwgWzE2NjM4NDAyOTguNjg0MTMzNSwgOTczOCwgMS4zNTAwMTk2OTMzNzQ2MzM4XSwgWzE2NjM4NDAyOTguODA2ODg5MywgOTc0NywgMC45ODk1NzYyODAxMTcwMzQ5XSwgWzE2NjM4NDAyOTkuMjAzODM0OCwgOTc3NCwgMC45ODIyMzIyMTMwMjAzMjQ3XSwgWzE2NjM4NDAyOTkuMzQzMTE1MywgOTc4MywgMS4wNjA2OTMyNjQwMDc1Njg0XSwgWzE2NjM4NDAyOTkuNDc4OTI3LCA5NzkyLCAxLjQ5NzY3NDU4NDM4ODczM10sIFsxNjYzODQwMzAwLjAyOTgzODgsIDk4MjgsIDAuOTk3MTAyNTU4NjEyODIzNV0sIFsxNjYzODQwMzAwLjk2OTQ0MjgsIDk4OTEsIDEuMDk0NzU1ODg3OTg1MjI5NV0sIFsxNjYzODQwMzAxLjUxMDc0OSwgOTkwOSwgMS42MDA5MDkxMTM4ODM5NzIyXSwgWzE2NjM4NDAzMDEuNzg1Mjg2LCA5OTI3LCAxLjExODM1MTQ1OTUwMzE3MzhdLCBbMTY2Mzg0MDMwMS45MTI3NTYyLCA5OTM2LCAwLjk0MzE4MDk3ODI5ODE4NzNdLCBbMTY2Mzg0MDMwMi4wNTk1MjcyLCA5OTQ1LCAxLjE0NzY4NzU1NDM1OTQzNl0sIFsxNjYzODQwMzAyLjQ1MTc1NywgOTk3MiwgMS40NDMyNTU0MjQ0OTk1MTE3XSwgWzE2NjM4NDAzMDIuNzMzMTIxNiwgOTk5MCwgMS4yMzg0MDAyMjA4NzA5NzE3XSwgWzE2NjM4NDAzMDMuMDI4MTE4NiwgMTAwMDgsIDEuMDc3MTcyMzk4NTY3MTk5N10sIFsxNjYzODQwMzAzLjE3MjAxMiwgMTAwMTcsIDEuNDYzOTkzNDMwMTM3NjM0M10sIFsxNjYzODQwMzAzLjQ1MTAyNSwgMTAwMzUsIDEuMTUzNDc2ODM0Mjk3MTgwMl0sIFsxNjYzODQwMzA0LjE1NTcxMTIsIDEwMDgwLCAxLjI0OTIyMTU2MzMzOTIzMzRdLCBbMTY2Mzg0MDMwNC40NDYyMTEsIDEwMDk4LCAxLjYxMTE4OTQ4NDU5NjI1MjRdLCBbMTY2Mzg0MDMwNC41ODMxMzA4LCAxMDEwNywgMC45Nzg0NjA0OTA3MDM1ODI4XSwgWzE2NjM4NDAzMDUuMDExNjU2NSwgMTAxMzQsIDEuMDU5NjE5NDI2NzI3Mjk1XSwgWzE2NjM4NDAzMDUuMTQ4OTQyMiwgMTAxNDMsIDEuMTUzNTI0Mzk4ODAzNzExXSwgWzE2NjM4NDAzMDUuNDIxMDMsIDEwMTYxLCAwLjk3MjE3Nzk4MjMzMDMyMjNdLCBbMTY2Mzg0MDMwNS41NjA3NTE0LCAxMDE3MCwgMS4yMzk1MDIxOTE1NDM1NzldLCBbMTY2Mzg0MDMwNS45Nzk4NDY1LCAxMDE5NywgMS4wOTk2NTgwMTIzOTAxMzY3XSwgWzE2NjM4NDAzMDYuMjY0OTY0NiwgMTAyMTUsIDAuOTgyNDU0MTgwNzE3NDY4M10sIFsxNjYzODQwMzA2LjQwNjg4NzgsIDEwMjI0LCAxLjAxMTY0Mzg4NjU2NjE2Ml0sIFsxNjYzODQwMzA2LjUzNzI4NTYsIDEwMjMzLCAxLjA1ODY4NjAxNzk5MDExMjNdLCBbMTY2Mzg0MDMwNi45NDkzOTUsIDEwMjYwLCAxLjE3ODUzNDk4NDU4ODYyM10sIFsxNjYzODQwMzA3Ljg5MTk1NTYsIDEwMzIzLCAxLjA1NDU3NjUxNjE1MTQyODJdLCBbMTY2Mzg0MDMwOC4xNDE5ODA2LCAxMDM0MSwgMS4xNzgwMjA4MzQ5MjI3OTA1XSwgWzE2NjM4NDAzMDguNDMzNjIyMSwgMTAzNTksIDEuMjc5NDA1NzEzMDgxMzU5OV0sIFsxNjYzODQwMzA4LjU3MzY4MzMsIDEwMzY4LCAxLjA2ODY4ODE1NDIyMDU4MV0sIFsxNjYzODQwMzA4LjcxNTg0NTgsIDEwMzc3LCAxLjM0Njk4MzE5NDM1MTE5NjNdLCBbMTY2Mzg0MDMwOC44NjE4OTgsIDEwMzg2LCAxLjU4NDU2MzAxNjg5MTQ3OTVdLCBbMTY2Mzg0MDMwOS43OTk5MjI3LCAxMDQ0OSwgMS4yOTMwNTc3OTkzMzkyOTQ0XSwgWzE2NjM4NDAzMTAuMDYwMDE2OSwgMTA0NjcsIDEuMzc3MDg3MjM1NDUwNzQ0Nl0sIFsxNjYzODQwMzEwLjI4ODUyNDYsIDEwNDg1LCAxLjEyNjExMzE3NjM0NTgyNTJdLCBbMTY2Mzg0MDMxMC42Mjg1ODA2LCAxMDUxMiwgMS4yODY4NTU5MzYwNTA0MTVdLCBbMTY2Mzg0MDMxMS4zMzM0NTQsIDEwNTY2LCAxLjE0MzE5MDAyNjI4MzI2NDJdLCBbMTY2Mzg0MDMxMS40NDU5MjQsIDEwNTc1LCAxLjE3NzQzMTU4MzQwNDU0MV0sIFsxNjYzODQwMzExLjY3NzMxMjYsIDEwNTkzLCAxLjA3NDMwODUxNDU5NTAzMTddLCBbMTY2Mzg0MDMxMS43OTI1NTM3LCAxMDYwMiwgMS4wNTY0MTc0NjUyMDk5NjFdLCBbMTY2Mzg0MDMxMS45MDU5NjM0LCAxMDYxMSwgMS4yMDE3MjQyOTA4NDc3NzgzXSwgWzE2NjM4NDAzMTIuMzgyNjU3MywgMTA2NDcsIDEuMjYxMTc1Mjc0ODQ4OTM4XSwgWzE2NjM4NDAzMTIuNjM1MTU2MiwgMTA2NjUsIDEuNDQxMjkyNTI0MzM3NzY4Nl0sIFsxNjYzODQwMzEyLjg5MDY2MTUsIDEwNjgzLCAwLjk4ODEzNTA5OTQxMTAxMDddLCBbMTY2Mzg0MDMxMy40NzE3NzM5LCAxMDcxMCwgMS4xNzkzMjk1MTQ1MDM0NzldLCBbMTY2Mzg0MDMxMy41NzQwNjU3LCAxMDcxOSwgMS4zMjQwNDM1MTIzNDQzNjA0XSwgWzE2NjM4NDAzMTMuODgxNjIxLCAxMDc0NiwgMS40NTY1MDQ4MjE3NzczNDM4XSwgWzE2NjM4NDAzMTMuOTg1MDE5LCAxMDc1NSwgMS4zMzAxNjU1MDU0MDkyNDA3XSwgWzE2NjM4NDAzMTQuMjY5OTA2OCwgMTA3ODIsIDEuMDUyMzAyNTk4OTUzMjQ3XSwgWzE2NjM4NDAzMTQuMzg0MTc3NywgMTA3OTEsIDEuOTg5Nzk3NDcyOTUzNzk2NF0sIFsxNjYzODQwMzE0LjY4ODIzNjcsIDEwODE4LCAxLjE0MDgyMjY0OTAwMjA3NTJdLCBbMTY2Mzg0MDMxNS4wOTU3NjMyLCAxMDg1NCwgMS4zNDUwNjQxNjMyMDgwMDc4XSwgWzE2NjM4NDAzMTUuMTg3NjU0NSwgMTA4NjMsIDEuNDE2NjE1NDg2MTQ1MDE5NV0sIFsxNjYzODQwMzE1LjI4NTEyODQsIDEwODcyLCAxLjA4NjE0NDgwNDk1NDUyODhdLCBbMTY2Mzg0MDMxNS40OTQxNzYsIDEwODkwLCAxLjE3MjczMzU0NTMwMzM0NDddLCBbMTY2Mzg0MDMxNi4wMDIwMjksIDEwOTI2LCAxLjA0MjgzNzk3NzQwOTM2MjhdLCBbMTY2Mzg0MDMxNi4xNTA5NjI2LCAxMDkzNSwgMS4yNjgyNTIwMTUxMTM4MzA2XSwgWzE2NjM4NDAzMTYuNjIzNTg2NywgMTA5NzEsIDEuMjI3MTg5MzAyNDQ0NDU4XSwgWzE2NjM4NDAzMTcuMjU4NDA4OCwgMTEwMTYsIDEuMDU2MTQxMzc2NDk1MzYxM10sIFsxNjYzODQwMzE3LjUwMzEwNjYsIDExMDM0LCAxLjA0NTAxMDU2NjcxMTQyNThdLCBbMTY2Mzg0MDMxOC4wMDQ5MjMsIDExMDcwLCAwLjkwNjk0ODY4NTY0NjA1NzFdLCBbMTY2Mzg0MDMxOC4zNzE4MTI4LCAxMTA5NywgMS4yMjU0NDk4MDA0OTEzMzNdLCBbMTY2Mzg0MDMxOC40OTQ3NzQsIDExMTA2LCAxLjU0MzQyNDYwNjMyMzI0MjJdLCBbMTY2Mzg0MDMxOS4xMTI0ODYxLCAxMTE1MSwgMS4xMDUxNDMzMDg2Mzk1MjY0XSwgWzE2NjM4NDAzMTkuMzMyMjc0LCAxMTE2OSwgMS4wODk1NDQ0MTU0NzM5MzhdLCBbMTY2Mzg0MDMxOS42OTQwODQ2LCAxMTE5NiwgMC45NzUwMTYyMzYzMDUyMzY4XSwgWzE2NjM4NDAzMTkuODEyNzIyNywgMTEyMDUsIDEuMTQwMjM3MzMxMzkwMzgwOV0sIFsxNjYzODQwMzIwLjA0ODgwNjQsIDExMjIzLCAxLjA2NTYzNjg3MzI0NTIzOTNdLCBbMTY2Mzg0MDMyMC4zODcyMzg3LCAxMTI1MCwgMS4xODUxOTIzNDY1NzI4NzZdLCBbMTY2Mzg0MDMyMC41MDM0OTgsIDExMjU5LCAxLjI4OTcyNzY4NzgzNTY5MzRdLCBbMTY2Mzg0MDMyMC42MjIxMDgsIDExMjY4LCAxLjU2OTMyMzE4MjEwNjAxOF0sIFsxNjYzODQwMzIwLjczNzMwMzUsIDExMjc3LCAxLjAzNDEwNTc3Nzc0MDQ3ODVdLCBbMTY2Mzg0MDMyMC45Nzk1Mjk0LCAxMTI5NSwgMS4wMzQ1OTczOTY4NTA1ODZdLCBbMTY2Mzg0MDMyMS4yNjA0MTc3LCAxMTMxMywgMS4zMzc1NjY5NzE3Nzg4Njk2XSwgWzE2NjM4NDAzMjEuMzg4NzQyLCAxMTMyMiwgMS4wNzg0MzU4OTc4MjcxNDg0XSwgWzE2NjM4NDAzMjEuNzQwNjE0LCAxMTM0OSwgMS4yMjI5OTU0MDA0Mjg3NzJdLCBbMTY2Mzg0MDMyMS44NTAyNjU3LCAxMTM1OCwgMS4yNTM5NDE4OTM1Nzc1NzU3XSwgWzE2NjM4NDAzMjIuNDkyNDc2NSwgMTE0MTIsIDEuMTQyMDMyNTA0MDgxNzI2XSwgWzE2NjM4NDAzMjIuOTA5NDAyOCwgMTE0NDgsIDEuMDYwMzc3MTIwOTcxNjc5N10sIFsxNjYzODQwMzIzLjQzNDU4NzcsIDExNDkzLCAxLjMxOTU0MzgzODUwMDk3NjZdLCBbMTY2Mzg0MDMyMy43NzM0NjMsIDExNTAyLCAxLjQzNDU4OTI2Njc3NzAzODZdLCBbMTY2Mzg0MDMyMy45MTgwODUzLCAxMTUxMSwgMS4zMDAwNDQ4OTQyMTg0NDQ4XSwgWzE2NjM4NDAzMjQuNDQyNjgzNywgMTE1NDcsIDEuNDQ1MzM2Njk5NDg1Nzc4OF0sIFsxNjYzODQwMzI0LjgzMjQ1MDYsIDExNTc0LCAxLjMzMzc0MTMwNzI1ODYwNl0sIFsxNjYzODQwMzI1LjQ2NjY1MjYsIDExNjE5LCAxLjEzMTg4NTg4NjE5MjMyMThdLCBbMTY2Mzg0MDMyNS44NTE1NTkyLCAxMTY0NiwgMS4wNjU4NjM2MDkzMTM5NjQ4XSwgWzE2NjM4NDAzMjYuNDg4ODc2NiwgMTE2OTEsIDEuMTIxMzM0NzkxMTgzNDcxN10sIFsxNjYzODQwMzI2LjU5NjA5MjUsIDExNzAwLCAxLjEwNTU2MjU2NzcxMDg3NjVdLCBbMTY2Mzg0MDMyNi45NDE1ODk0LCAxMTcyNywgMS4wNTY1NTQzMTc0NzQzNjUyXSwgWzE2NjM4NDAzMjcuMzk4NTk0NiwgMTE3NjMsIDEuMDc5ODgyNjIxNzY1MTM2N10sIFsxNjYzODQwMzI3Ljg1NTIwMjIsIDExNzk5LCAxLjM0Nzk5ODE0MjI0MjQzMTZdLCBbMTY2Mzg0MDMyOC40MjIxNjg3LCAxMTg0NCwgMS4yNTA2MjY5MjE2NTM3NDc2XSwgWzE2NjM4NDAzMjkuMDIxNTQ2NiwgMTE4ODksIDAuOTI4NTk4ODIxMTYzMTc3NV0sIFsxNjYzODQwMzI5LjI1ODk3MywgMTE5MDcsIDEuMDcwNDI5NTYzNTIyMzM4OV0sIFsxNjYzODQwMzI5LjYxMDUxMDYsIDExOTM0LCAxLjE2MDk0MTAwNDc1MzExMjhdLCBbMTY2Mzg0MDMyOS43MjMwODg1LCAxMTk0MywgMS4xNTAzOTgwMTU5NzU5NTIxXSwgWzE2NjM4NDAzMjkuOTQ1MDc2LCAxMTk2MSwgMS4zOTA0NzcxODA0ODA5NTddLCBbMTY2Mzg0MDMzMC42MzAwOTQ1LCAxMjAyNCwgMS4xODgxNzE3NDQzNDY2MTg3XSwgWzE2NjM4NDAzMzEuNDkzNjY1NywgMTIxMDUsIDEuMDMzOTkzMzYzMzgwNDMyMV0sIFsxNjYzODQwMzMxLjU5MTc2LCAxMjExNCwgMS4wNzI3NDI3MDA1NzY3ODIyXSwgWzE2NjM4NDAzMzEuODc4OTAxMiwgMTIxNDEsIDEuMTcyOTM1NDg1ODM5ODQzOF0sIFsxNjYzODQwMzMyLjE1ODQ0MjMsIDEyMTY4LCAxLjE5OTY1NjcyNDkyOTgwOTZdLCBbMTY2Mzg0MDMzMi4yNTQxMTM3LCAxMjE3NywgMS4yODA5MDQ1MzE0Nzg4ODE4XSwgWzE2NjM4NDAzMzIuNDQwODU4NCwgMTIxOTUsIDEuMDAzODUwODE3NjgwMzU4OV0sIFsxNjYzODQwMzMyLjgyOTkwMzYsIDEyMjMxLCAwLjk0Mzg5NDQ0NTg5NjE0ODddLCBbMTY2Mzg0MDMzMy4wMjM5MzU4LCAxMjI0OSwgMS4wNzU4NDk0MTM4NzE3NjUxXSwgWzE2NjM4NDAzMzMuNjEwNTcyNiwgMTIyODUsIDEuMDU5ODA4MDE1ODIzMzY0M10sIFsxNjYzODQwMzMzLjcxMDUxNiwgMTIyOTQsIDEuNDI3MTMxNTMzNjIyNzQxN10sIFsxNjYzODQwMzMzLjgxNzkyOSwgMTIzMDMsIDEuMjMxNjc5OTE2MzgxODM2XSwgWzE2NjM4NDAzMzMuOTE2OTkwNSwgMTIzMTIsIDEuMjAwNTc2NTQzODA3OTgzNF0sIFsxNjYzODQwMzM0LjAwODk1MDUsIDEyMzIxLCAxLjA3MzMzNjk1ODg4NTE5MjldLCBbMTY2Mzg0MDMzNC42OTM0MDE4LCAxMjM4NCwgMS4zMjkzMTc5MjczNjA1MzQ3XSwgWzE2NjM4NDAzMzQuNzg4MzUxNSwgMTIzOTMsIDEuMjMxNzczOTcyNTExMjkxNV0sIFsxNjYzODQwMzM1LjIyMjg2ODIsIDEyNDI5LCAxLjA5MDI4MjA4MjU1NzY3ODJdLCBbMTY2Mzg0MDMzNS43MjE0OTY4LCAxMjQ3NCwgMS4xMTIwNzk3Mzk1NzA2MTc3XSwgWzE2NjM4NDAzMzUuODI3Mjc0LCAxMjQ4MywgMS4zMTMwMTIzNjE1MjY0ODkzXSwgWzE2NjM4NDAzMzYuMjczMzgyMiwgMTI1MTksIDEuNDMxMjQyMjI3NTU0MzIxM10sIFsxNjYzODQwMzM2LjU3MDg0MSwgMTI1NDYsIDEuMTM1NDc5MjExODA3MjUxXSwgWzE2NjM4NDAzMzcuMDAyMzE2LCAxMjU4MiwgMS4wNjMyMjQzMTU2NDMzMTA1XSwgWzE2NjM4NDAzMzkuMDM3ODg3OCwgMTI3NjIsIDEuNDEwNTgyNDIzMjEwMTQ0XSwgWzE2NjM4NDAzMzkuNTA0ODcwNywgMTI3OTgsIDEuMTkxODE1NjE0NzAwMzE3NF0sIFsxNjYzODQwMzQwLjcyODgxODcsIDEyODg4LCAxLjAzNTY0OTY1NzI0OTQ1MDddLCBbMTY2Mzg0MDM0MC44NDE2MjgzLCAxMjg5NywgMS4wOTA2MjcxOTM0NTA5Mjc3XSwgWzE2NjM4NDAzNDEuMzAwNzE2LCAxMjkzMywgMC45NTcyMjA3MzMxNjU3NDFdLCBbMTY2Mzg0MDM0MS41Mjc4MTQsIDEyOTUxLCAxLjI4NjI3OTc5NzU1NDAxNjFdLCBbMTY2Mzg0MDM0MS42MzYyODgyLCAxMjk2MCwgMC45MzgwMDU0NDczODc2OTUzXSwgWzE2NjM4NDAzNDEuNzUyNDMyOCwgMTI5NjksIDEuMDEwNjQ3MDU4NDg2OTM4NV0sIFsxNjYzODQwMzQxLjg2NDE5MTMsIDEyOTc4LCAxLjA2OTYwMzA4NTUxNzg4MzNdLCBbMTY2Mzg0MDM0Mi40MzU1NDA3LCAxMzAwNSwgMS4wMjY0NDU4NjU2MzExMDM1XSwgWzE2NjM4NDAzNDIuNzA5ODU3NywgMTMwMzIsIDEuMTA4NTM3MTk3MTEzMDM3XSwgWzE2NjM4NDAzNDIuODk1NDM2NSwgMTMwNTAsIDEuMDU3MDkwMDQ0MDIxNjA2NF0sIFsxNjYzODQwMzQzLjA3ODA1MjUsIDEzMDY4LCAxLjAxNjkwMDQyMDE4ODkwMzhdLCBbMTY2Mzg0MDM0My4xNjYzODE2LCAxMzA3NywgMS4wNjkwMzM2MjI3NDE2OTkyXSwgWzE2NjM4NDAzNDMuMzU4NDQ3NiwgMTMwOTUsIDEuMTE5OTUxNDg2NTg3NTI0NF0sIFsxNjYzODQwMzQzLjQ0ODAwNDcsIDEzMTA0LCAxLjEyNzQzODA2ODM4OTg5MjZdLCBbMTY2Mzg0MDM0My42Mjc1MTgsIDEzMTIyLCAxLjAwOTYzOTI2MzE1MzA3NjJdLCBbMTY2Mzg0MDM0My43NTYzODksIDEzMTMxLCAxLjA3NDQ4MDA1Njc2MjY5NTNdLCBbMTY2Mzg0MDM0My45Nzk5ODI5LCAxMzE0OSwgMS4wNTgyNzM1NTM4NDgyNjY2XSwgWzE2NjM4NDAzNDQuMDk3OTIyOCwgMTMxNTgsIDEuMDk1NjI1ODc3MzgwMzcxXSwgWzE2NjM4NDAzNDQuMzMzNjEsIDEzMTc2LCAxLjI0NDUxNTI5OTc5NzA1OF0sIFsxNjYzODQwMzQ1LjI3MDE4MTcsIDEzMjM5LCAxLjIwNDQ4MzE1MTQzNTg1Ml0sIFsxNjYzODQwMzQ1LjYxNDkyNjMsIDEzMjY2LCAwLjk2NDY0MTY5MDI1NDIxMTRdLCBbMTY2Mzg0MDM0NS43MzIwNTk1LCAxMzI3NSwgMS4xMDY2MjE5ODA2NjcxMTQzXSwgWzE2NjM4NDAzNDUuOTYxOTg5NCwgMTMyOTMsIDEuMjExODg0MjYwMTc3NjEyM10sIFsxNjYzODQwMzQ2LjgwMjI1NDcsIDEzMzU2LCAwLjk1NzA4NTM3MTAxNzQ1Nl0sIFsxNjYzODQwMzQ3LjI4NTYyNDMsIDEzMzkyLCAxLjAxNzMzNjg0NTM5Nzk0OTJdLCBbMTY2Mzg0MDM0Ny42NDU2ODU0LCAxMzQxOSwgMS4xMTI0MzEyODc3NjU1MDNdLCBbMTY2Mzg0MDM0Ny45OTcxOTQsIDEzNDQ2LCAxLjEyOTQ4NDE3NjYzNTc0MjJdLCBbMTY2Mzg0MDM0OC4xMTE2MTgzLCAxMzQ1NSwgMS4wODk1NTc1Mjg0OTU3ODg2XSwgWzE2NjM4NDAzNDguNTY0MDEzMiwgMTM0OTEsIDEuMDc4MDE4MTg4NDc2NTYyNV0sIFsxNjYzODQwMzQ4LjY4NDQzMzIsIDEzNTAwLCAxLjA3MDQ4MzQ0NjEyMTIxNThdLCBbMTY2Mzg0MDM0OS4wMzM1Nzg2LCAxMzUyNywgMC45MzkwMzY0ODg1MzMwMl0sIFsxNjYzODQwMzQ5LjcyNDE3NDMsIDEzNTkwLCAxLjE3NTkzMjY0NTc5NzcyOTVdLCBbMTY2Mzg0MDM0OS44Mzc2OTIzLCAxMzU5OSwgMS42NzE5NzI4NzA4MjY3MjEyXSwgWzE2NjM4NDAzNDkuOTQyODY1OCwgMTM2MDgsIDEuMzE3MjU3NjQyNzQ1OTcxN10sIFsxNjYzODQwMzUwLjE3NjIwNjgsIDEzNjI2LCAxLjAyMzYxMjAyMjM5OTkwMjNdLCBbMTY2Mzg0MDM1MC4zNzU4OTcyLCAxMzY0NCwgMS4wMTQyMDkwMzIwNTg3MTU4XSwgWzE2NjM4NDAzNTAuNDc1OTU2NCwgMTM2NTMsIDAuOTk2NDc2NjUwMjM4MDM3MV0sIFsxNjYzODQwMzUxLjMxNTgyODgsIDEzNzE2LCAxLjA0NjAwNzg3MTYyNzgwNzZdLCBbMTY2Mzg0MDM1Mi4wMTUwNDM3LCAxMzc2MSwgMS4yMTY3MDQ0ODc4MDA1OTgxXSwgWzE2NjM4NDAzNTIuODcxMDU2NiwgMTM4MTUsIDEuMDUxODg2MDgxNjk1NTU2Nl0sIFsxNjYzODQwMzUzLjE3OTEwNjUsIDEzODQyLCAxLjA3NTI5NDk3MTQ2NjA2NDVdLCBbMTY2Mzg0MDM1My4yNzIyMzI1LCAxMzg1MSwgMC45OTQyMTIzODg5OTIzMDk2XSwgWzE2NjM4NDAzNTMuNTcwMTU1OSwgMTM4NzgsIDEuNDQzODc0ODM1OTY4MDE3Nl0sIFsxNjYzODQwMzU0LjIzOTc2NTIsIDEzOTQxLCAxLjA3MjIzNjUzNzkzMzM0OTZdLCBbMTY2Mzg0MDM1NC41MTI3NzExLCAxMzk2OCwgMS4xNzk2NTc5MzYwOTYxOTE0XSwgWzE2NjM4NDAzNTQuNjAzNjk4LCAxMzk3NywgMC45NTkxMjA4Njk2MzY1MzU2XSwgWzE2NjM4NDAzNTQuNzA0MzUwMiwgMTM5ODYsIDEuMDQ5NTA3MTQxMTEzMjgxMl0sIFsxNjYzODQwMzU1LjU2NTc1MzcsIDE0MDY3LCAwLjk0NzE5NjQyNDAwNzQxNThdLCBbMTY2Mzg0MDM1NS44Mzk2ODIsIDE0MDk0LCAxLjIxMTA2NzU1NzMzNDldLCBbMTY2Mzg0MDM1NS45MzM0MiwgMTQxMDMsIDAuOTMwMDg5MDU2NDkxODUxOF0sIFsxNjYzODQwMzU2LjE3NDAyMjcsIDE0MTIxLCAxLjAwNDczNzI1Nzk1NzQ1ODVdLCBbMTY2Mzg0MDM1Ni40NDE0NiwgMTQxMzksIDEuMTM2ODczMDA2ODIwNjc4N10sIFsxNjYzODQwMzU2LjU2NjkxODEsIDE0MTQ4LCAxLjAwNzIxOTMxNDU3NTE5NTNdLCBbMTY2Mzg0MDM1Ni43MTA3OTQ0LCAxNDE1NywgMC45NTg2NjI2ODg3MzIxNDcyXSwgWzE2NjM4NDAzNTYuODQwNTQxLCAxNDE2NiwgMS4yMzkyMjM0ODAyMjQ2MDk0XSwgWzE2NjM4NDAzNTcuMjMwNjczNiwgMTQxOTMsIDAuOTY2NjY1NDQ2NzU4MjcwM10sIFsxNjYzODQwMzU3Ljc1ODQyNywgMTQyMjksIDEuMDQ4OTczMDgzNDk2MDkzOF0sIFsxNjYzODQwMzU3Ljg5Mjc2NTUsIDE0MjM4LCAxLjM2MTUzNDIzNzg2MTYzMzNdLCBbMTY2Mzg0MDM1OC4wMTMxMzY0LCAxNDI0NywgMS4wMTUyMzc0NTA1OTk2NzA0XSwgWzE2NjM4NDAzNTguNDA4NTQ3MiwgMTQyNzQsIDEuMTM2NzE3Njc3MTE2Mzk0XSwgWzE2NjM4NDAzNTguOTg1NTY3MywgMTQzMTksIDAuOTY4NjQ1MTU1NDI5ODQwMV0sIFsxNjYzODQwMzU5LjUwNDM3ODMsIDE0MzY0LCAxLjE1NDM5MzE5NjEwNTk1N10sIFsxNjYzODQwMzU5LjYyMjA0MzgsIDE0MzczLCAxLjEwMzEzNTU4NTc4NDkxMl0sIFsxNjYzODQwMzU5LjczMjQ5NjUsIDE0MzgyLCAxLjI0MzM1MDAyODk5MTY5OTJdLCBbMTY2Mzg0MDM2MC4yNDEyNDUsIDE0NDE4LCAxLjUxMjc0MDEzNTE5Mjg3MV0sIFsxNjYzODQwMzYwLjM3ODkxNDQsIDE0NDI3LCAxLjU3MTE0NDkzODQ2ODkzM10sIFsxNjYzODQwMzYwLjUwODM1MTgsIDE0NDM2LCAxLjE3OTQ4MTAyOTUxMDQ5OF0sIFsxNjYzODQwMzYxLjQ4NDk5MjMsIDE0NTA4LCAxLjA5NDQ0NTEwOTM2NzM3MDZdLCBbMTY2Mzg0MDM2MS44NDI4OTU1LCAxNDUzNSwgMS4zMDYyMTI1NDQ0NDEyMjMxXSwgWzE2NjM4NDAzNjIuMDg0NDg4NiwgMTQ1NTMsIDEuMDQwNjM2MzAxMDQwNjQ5NF0sIFsxNjYzODQwMzYzLjA0MjQyMTYsIDE0NjA3LCAxLjE2MDUwODg3MTA3ODQ5MTJdLCBbMTY2Mzg0MDM2My4yNTAxMTI4LCAxNDYyNSwgMS41NjQ4MDU4NjUyODc3ODA4XSwgWzE2NjM4NDAzNjMuNjQxOTI4MiwgMTQ2NTIsIDEuMTA4NTYyODI3MTEwMjkwNV0sIFsxNjYzODQwMzY0LjEwNzM5ODUsIDE0Njg4LCAwLjk1Mjc2OTIxOTg3NTMzNTddLCBbMTY2Mzg0MDM2NC40OTkxODA2LCAxNDcyNCwgMS4wNjA0NTIzNDIwMzMzODYyXSwgWzE2NjM4NDAzNjQuNjkyNzAxMywgMTQ3NDIsIDEuMDI4NDM4NTY4MTE1MjM0NF0sIFsxNjYzODQwMzY1LjAwOTE0MjksIDE0NzY5LCAxLjU3MDc3NDkxMjgzNDE2NzVdLCBbMTY2Mzg0MDM2NS4xMDU4MjUsIDE0Nzc4LCAwLjk4Nzg1NjMyODQ4NzM5NjJdLCBbMTY2Mzg0MDM2NS41NTkwMjMsIDE0ODIzLCAxLjI1MzUzNTE1MTQ4MTYyODRdLCBbMTY2Mzg0MDM2NS42NzI0MDIsIDE0ODMyLCAxLjA5ODc0MTA1NDUzNDkxMl0sIFsxNjYzODQwMzY2LjA1NDg4NywgMTQ4NjgsIDEuMzU2OTQyODkyMDc0NTg1XSwgWzE2NjM4NDAzNjYuMTUyMTQxNiwgMTQ4NzcsIDEuMTgwOTYyOTIwMTg4OTAzOF0sIFsxNjYzODQwMzY2LjI1NDYyMTcsIDE0ODg2LCAxLjI2NDM4MDU3NDIyNjM3OTRdLCBbMTY2Mzg0MDM2Ni4zNDE0NzQsIDE0ODk1LCAxLjA5MDU1ODg4NjUyODAxNTFdLCBbMTY2Mzg0MDM2Ni41MjI5MzkyLCAxNDkxMywgMS4wNzg1MDI2NTUwMjkyOTY5XSwgWzE2NjM4NDAzNjYuNzAzODA0NSwgMTQ5MzEsIDEuMjIxNjc5NDQ5MDgxNDIxXSwgWzE2NjM4NDAzNjcuMDg5MDA2MiwgMTQ5NjcsIDEuMTkxNjcxNDkwNjY5MjUwNV0sIFsxNjYzODQwMzY3LjI5ODg5NjYsIDE0OTg1LCAxLjE1NjY3MTA0NzIxMDY5MzRdLCBbMTY2Mzg0MDM2Ny40ODI2MDgsIDE1MDAzLCAxLjE1NTc3MDg5Nzg2NTI5NTRdLCBbMTY2Mzg0MDM2Ny43NzQyNDA3LCAxNTAzMCwgMS4zNzIzNDYyODIwMDUzMV0sIFsxNjYzODQwMzY3Ljg2Mzc3MiwgMTUwMzksIDEuMjMwMDIzMDI2NDY2MzY5Nl0sIFsxNjYzODQwMzY4LjM3NDkzMTYsIDE1MDc1LCAxLjIzNzgyOTgwNDQyMDQ3MTJdLCBbMTY2Mzg0MDM2OC43NDgzNDg1LCAxNTEwMiwgMS4wMDE2OTI4OTExMjA5MTA2XSwgWzE2NjM4NDAzNjguOTcyNDc1LCAxNTEyMCwgMS4wNTgzNzk2NTAxMTU5NjY4XSwgWzE2NjM4NDAzNjkuMDk3OTE4MywgMTUxMjksIDEuMjI4ODE0MDA1ODUxNzQ1Nl0sIFsxNjYzODQwMzY5LjMyMjI4MzUsIDE1MTQ3LCAxLjA1Mzk0NTc3OTgwMDQxNV0sIFsxNjYzODQwMzY5LjY0NzkyNCwgMTUxNzQsIDEuMDU4ODMwNDk5NjQ5MDQ3OV0sIFsxNjYzODQwMzY5Ljc1NDA2OCwgMTUxODMsIDAuOTYzNDQ3MjEzMTcyOTEyNl0sIFsxNjYzODQwMzY5Ljg1OTE3MzMsIDE1MTkyLCAxLjEwMjU3NTE4MjkxNDczMzldLCBbMTY2Mzg0MDM2OS45Nzg1MTI1LCAxNTIwMSwgMS4wMTY2Nzk2NDQ1ODQ2NTU4XSwgWzE2NjM4NDAzNzAuNTkyODU4NiwgMTUyNDYsIDEuNDE2MjAwOTk1NDQ1MjUxNV0sIFsxNjYzODQwMzcwLjcyMjQ4NywgMTUyNTUsIDAuOTYyNzAxNjc4Mjc2MDYyXSwgWzE2NjM4NDAzNzAuODQxNzIxLCAxNTI2NCwgMC45OTU4NjkwNDA0ODkxOTY4XSwgWzE2NjM4NDAzNzEuMjgwNjc1LCAxNTMwMCwgMS4wNTI4MTgwNTk5MjEyNjQ2XSwgWzE2NjM4NDAzNzEuODY1MTE2NiwgMTUzMjcsIDEuMDQ1MzQ1MTg3MTg3MTk0OF0sIFsxNjYzODQwMzcyLjExMDA5NjIsIDE1MzQ1LCAxLjA3NzM5NjM5MjgyMjI2NTZdLCBbMTY2Mzg0MDM3Mi40MTczNzAzLCAxNTM3MiwgMS4wNDcxNjQ2Nzg1NzM2MDg0XSwgWzE2NjM4NDAzNzIuNjM0OTQ1OSwgMTUzOTAsIDEuMzQ1MjU1MDE3MjgwNTc4Nl0sIFsxNjYzODQwMzcyLjc1ODYzMTcsIDE1Mzk5LCAxLjE5NDY5NDUxOTA0Mjk2ODhdLCBbMTY2Mzg0MDM3Mi45MDE5NTg3LCAxNTQwOCwgMS4wMzM0OTUwNjg1NTAxMDk5XSwgWzE2NjM4NDAzNzMuMDIwMDcyNywgMTU0MTcsIDEuMTczMzkyNDE1MDQ2NjkyXSwgWzE2NjM4NDAzNzMuNzI5MTM4NiwgMTU0NzEsIDEuNjIzNDQxMTAwMTIwNTQ0NF0sIFsxNjYzODQwMzc0LjE4NDk1MjMsIDE1NTA3LCAxLjAyOTgzNzEzMTUwMDI0NDFdLCBbMTY2Mzg0MDM3NC4yOTk3NTI1LCAxNTUxNiwgMS4zMDc0NTc1NjYyNjEyOTE1XSwgWzE2NjM4NDAzNzQuNDAzNjgxNSwgMTU1MjUsIDEuMTM3NTk2OTY0ODM2MTIwNl0sIFsxNjYzODQwMzc0LjUxMTEwODQsIDE1NTM0LCAxLjgzMTU0MTE4MDYxMDY1NjddLCBbMTY2Mzg0MDM3NS4wMTA0Nzk1LCAxNTU3OSwgMS4wOTY3ODA3NzY5Nzc1MzldLCBbMTY2Mzg0MDM3NS44MjM5MTg4LCAxNTY1MSwgMS4yODA0NjEwNzI5MjE3NTNdLCBbMTY2Mzg0MDM3NS45MTczMTIxLCAxNTY2MCwgMS4xMzM1MTUyMzg3NjE5MDE5XSwgWzE2NjM4NDAzNzYuMzM4ODIwNywgMTU2OTYsIDEuMzM2MTE2NzkwNzcxNDg0NF0sIFsxNjYzODQwMzc2LjU1NzU3NiwgMTU3MTQsIDEuMDMwOTQ1NjU4NjgzNzc2OV0sIFsxNjYzODQwMzc2Ljg2OTE4NzgsIDE1NzQxLCAxLjI5Nzc4NjM1NTAxODYxNTddLCBbMTY2Mzg0MDM3Ny4wNTQxODEsIDE1NzU5LCAxLjM3Njg0MDM1MzAxMjA4NV0sIFsxNjYzODQwMzc3LjE2OTU5MDUsIDE1NzY4LCAxLjAxMDA1MjA4NDkyMjc5MDVdLCBbMTY2Mzg0MDM3Ny4zNzUxOTU1LCAxNTc4NiwgMS4yNjI2NjgwMTM1NzI2OTI5XSwgWzE2NjM4NDAzNzcuNDY0MTA3LCAxNTc5NSwgMC45ODI3NTcyMTA3MzE1MDYzXSwgWzE2NjM4NDAzNzcuNzk0MzI4NywgMTU4MjIsIDEuMTcxNjY5NzIxNjAzMzkzNl0sIFsxNjYzODQwMzc4LjI2NzQ1MiwgMTU4NjcsIDEuMDA0NTczMzQ1MTg0MzI2Ml0sIFsxNjYzODQwMzc4LjM3MTQxOTIsIDE1ODc2LCAxLjIwOTIyNDcwMDkyNzczNDRdLCBbMTY2Mzg0MDM3OC41NjEwNTA0LCAxNTg5NCwgMS4wNTgxNTAwNTMwMjQyOTJdLCBbMTY2Mzg0MDM3OC44NTM0NTI3LCAxNTkyMSwgMS4xMTIyNDMxNzU1MDY1OTE4XSwgWzE2NjM4NDAzNzkuNTI0ODI2NSwgMTU5ODQsIDEuMDA3MTQ0OTI3OTc4NTE1Nl0sIFsxNjYzODQwMzc5LjYyMDgzNDQsIDE1OTkzLCAxLjI1NzE5Nzg1NjkwMzA3NjJdLCBbMTY2Mzg0MDM3OS43MjU2NjYzLCAxNjAwMiwgMS4yNjM2MzM3MjgwMjczNDM4XSwgWzE2NjM4NDAzODAuMjEyMzc1NCwgMTYwMjksIDEuMDMwMTg4NDQxMjc2NTUwM10sIFsxNjYzODQwMzgwLjYwNTIyNTgsIDE2MDY1LCAxLjI0NjE5NDcyMDI2ODI0OTVdLCBbMTY2Mzg0MDM4MC43MDA4MzYsIDE2MDc0LCAxLjE4ODk5MDExNjExOTM4NDhdLCBbMTY2Mzg0MDM4MC44MTE0NzE1LCAxNjA4MywgMC45MjIxMDk2NjM0ODY0ODA3XSwgWzE2NjM4NDAzODEuMTYxNTE4LCAxNjExMCwgMS4xNjI3Njk2NzUyNTQ4MjE4XSwgWzE2NjM4NDAzODEuMjYwNzE3MiwgMTYxMTksIDEuMTEwMzcyMzA0OTE2MzgxOF0sIFsxNjYzODQwMzgxLjQ1MzIxMDYsIDE2MTM3LCAxLjE3MDEyMTc4ODk3ODU3NjddLCBbMTY2Mzg0MDM4MS42NTYzNjIzLCAxNjE1NSwgMS4xNzU0Njk2MzY5MTcxMTQzXSwgWzE2NjM4NDAzODEuODY4ODYwNywgMTYxNzMsIDEuMTY2Njg2NDE1NjcyMzAyMl0sIFsxNjYzODQwMzgyLjMxMjg3NzQsIDE2MjA5LCAxLjcwODczNzAxNTcyNDE4MjFdLCBbMTY2Mzg0MDM4Mi41MzA0ODM1LCAxNjIyNywgMS4yNDg4NTgwOTQyMTUzOTNdLCBbMTY2Mzg0MDM4My4yMzE2NzY2LCAxNjI4MSwgMS4wNDkwMDg2MDc4NjQzNzk5XSwgWzE2NjM4NDAzODMuNDg1NDg1MywgMTYyOTksIDEuMjA2Mzg1MTM1NjUwNjM0OF0sIFsxNjYzODQwMzgzLjk0NDM0MDUsIDE2MzM1LCAxLjAzNjY3NzU5ODk1MzI0N10sIFsxNjYzODQwMzg0LjQ1OTg3NTgsIDE2MzgwLCAxLjEyNzgyNzE2NzUxMDk4NjNdLCBbMTY2Mzg0MDM4NC44NjU2ODgsIDE2NDE2LCAwLjk3OTUxNzE2MTg0NjE2MDldLCBbMTY2Mzg0MDM4NS4yNzk3OTg3LCAxNjQ0MywgMS4xMDYxMzkxODMwNDQ0MzM2XSwgWzE2NjM4NDAzODUuNDQzNTg2OCwgMTY0NTIsIDEuMDYxNTI0NjI5NTkyODk1NV0sIFsxNjYzODQwMzg1LjY5MzgzMjYsIDE2NDcwLCAwLjk0NTM3MjQwMjY2Nzk5OTNdLCBbMTY2Mzg0MDM4NS44MTA0OTMsIDE2NDc5LCAwLjk4MDIzNDg2MTM3MzkwMTRdLCBbMTY2Mzg0MDM4Ni4wMzM5MjAzLCAxNjQ5NywgMS4wNTMxODEwNTIyMDc5NDY4XSwgWzE2NjM4NDAzODYuMTY2Mjk5MywgMTY1MDYsIDAuOTkyMzA1NTc2ODAxM10sIFsxNjYzODQwMzg2LjI3OTcwOCwgMTY1MTUsIDEuMTQ2NjIzNjExNDUwMTk1M10sIFsxNjYzODQwMzg2LjUwODA1MSwgMTY1MzMsIDEuMDc3NTYzMDQ3NDA5MDU3Nl0sIFsxNjYzODQwMzg2LjYxOTcxMTQsIDE2NTQyLCAxLjI1NTE1ODQyNDM3NzQ0MTRdLCBbMTY2Mzg0MDM4Ni43MjU0MDYsIDE2NTUxLCAxLjIzNzI2NDYzMzE3ODcxMV0sIFsxNjYzODQwMzg3LjUxMzU1LCAxNjYxNCwgMS4zMzE0MjEyNTYwNjUzNjg3XSwgWzE2NjM4NDAzODcuNjE1NTc4NywgMTY2MjMsIDAuOTIyMDU4NTIyNzAxMjYzNF0sIFsxNjYzODQwMzg3LjcyMjg4MywgMTY2MzIsIDAuOTgwMjY1Mzc4OTUyMDI2NF0sIFsxNjYzODQwMzg3LjgyNzQ2NzQsIDE2NjQxLCAxLjI0NTE5NzI5NjE0MjU3ODFdLCBbMTY2Mzg0MDM4OC40MDcyMTYsIDE2NjY4LCAxLjMwMDA4NzA5NDMwNjk0NThdLCBbMTY2Mzg0MDM4OS41NTUzOTMyLCAxNjc0OSwgMC45NTI4Njg3NTk2MzIxMTA2XSwgWzE2NjM4NDAzOTAuMTA4NzUxOCwgMTY3OTQsIDAuOTI0MzQ2MjY4MTc3MDMyNV0sIFsxNjYzODQwMzkwLjIyMjE2NjUsIDE2ODAzLCAxLjE0OTIxOTE1NTMxMTU4NDVdLCBbMTY2Mzg0MDM5MC4zNDE3MjY4LCAxNjgxMiwgMC45MzUyODY0MDI3MDIzMzE1XSwgWzE2NjM4NDAzOTAuNzY4MjMzLCAxNjg0OCwgMS4wOTcyMjkzNjE1MzQxMTg3XSwgWzE2NjM4NDAzOTAuODY5ODkxLCAxNjg1NywgMS4wMDAyMTU4ODgwMjMzNzY1XSwgWzE2NjM4NDAzOTEuMDY1NjM5NSwgMTY4NzUsIDEuMTMwNDQ1NTk5NTU1OTY5Ml0sIFsxNjYzODQwMzkxLjM4MDE1OTEsIDE2OTAyLCAwLjk3NzgxMzI0Mzg2NTk2NjhdLCBbMTY2Mzg0MDM5MS42NjY0NTIsIDE2OTI5LCAxLjEyNTMyMjkzNzk2NTM5M10sIFsxNjYzODQwMzkxLjkzOTIxNjksIDE2OTU2LCAxLjAzODYzNjQ0NTk5OTE0NTVdLCBbMTY2Mzg0MDM5Mi4wMzY5MDgxLCAxNjk2NSwgMS40NTM1NjYzMTI3ODk5MTddLCBbMTY2Mzg0MDM5Mi4yMTkzMzYzLCAxNjk4MywgMS4zMjY3MTExNzc4MjU5Mjc3XSwgWzE2NjM4NDAzOTIuNDAxNjA4NSwgMTcwMDEsIDEuNDU4NTM3Njk3NzkyMDUzMl0sIFsxNjYzODQwMzkyLjYwNzYzNTMsIDE3MDE5LCAxLjEzMzQ5NTY4ODQzODQxNTVdLCBbMTY2Mzg0MDM5My4xNDk2Nzg3LCAxNzA2NCwgMS4zNjY1MTQ0NDQzNTExOTYzXSwgWzE2NjM4NDAzOTMuNzA3MTMxMSwgMTcxMDAsIDEuMDAyNDQ1NDU5MzY1ODQ0N10sIFsxNjYzODQwMzk0LjA0NzM5NiwgMTcxMjcsIDAuOTg1NzY2OTQ3MjY5NDM5N10sIFsxNjYzODQwMzk0LjQ1NDg0NDIsIDE3MTYzLCAxLjIzNTMxNjE1NzM0MTAwMzRdLCBbMTY2Mzg0MDM5NC42NTc5MjQ0LCAxNzE4MSwgMS4wMTEzNTk1NzI0MTA1ODM1XSwgWzE2NjM4NDAzOTQuNzUwMjk1NCwgMTcxOTAsIDAuOTMwNTI4ODE5NTYxMDA0Nl0sIFsxNjYzODQwMzk0Ljg0OTU3MzYsIDE3MTk5LCAxLjMwNDEzNjk5MTUwMDg1NDVdLCBbMTY2Mzg0MDM5NS4xMzE0MjY2LCAxNzIyNiwgMS4yMDM0NjY0MTU0MDUyNzM0XSwgWzE2NjM4NDAzOTUuNjA5NDE5NiwgMTcyNzEsIDEuMTgyMTM5NTE1ODc2NzddLCBbMTY2Mzg0MDM5Ni4xNzk0NzkxLCAxNzMyNSwgMS4wNjE2NDUwMzA5NzUzNDE4XSwgWzE2NjM4NDAzOTYuMjcyMjg1LCAxNzMzNCwgMS4wNTI4ODM4NjM0NDkwOTY3XSwgWzE2NjM4NDAzOTYuMzYyNzQ1NSwgMTczNDMsIDEuMDUyNDIzMTE5NTQ0OTgzXSwgWzE2NjM4NDAzOTYuNjUyMDE4LCAxNzM3MCwgMS4wODkxNTU0MzU1NjIxMzM4XSwgWzE2NjM4NDAzOTYuOTMzNDM2LCAxNzM5NywgMS4wNjc2OTcyODY2MDU4MzVdLCBbMTY2Mzg0MDM5Ny40MzExNTk1LCAxNzQyNCwgMS4xMTgxMjM3Njk3NjAxMzE4XSwgWzE2NjM4NDAzOTcuNTE4NjY2MywgMTc0MzMsIDAuOTMyMjMzNTEyNDAxNTgwOF0sIFsxNjYzODQwMzk3Ljg5NjcyNjYsIDE3NDY5LCAxLjExMDI4NDgwNTI5Nzg1MTZdLCBbMTY2Mzg0MDM5Ny45ODkzMDM2LCAxNzQ3OCwgMS4xMDA2MDI1MDc1OTEyNDc2XSwgWzE2NjM4NDAzOTguMDgxMDAzNywgMTc0ODcsIDEuMTE3NjEzNzkyNDE5NDMzNl0sIFsxNjYzODQwMzk4LjQyODQwOTYsIDE3NTE0LCAxLjAzNzc0NDUyMjA5NDcyNjZdLCBbMTY2Mzg0MDM5OC42ODU5MjEsIDE3NTMyLCAxLjAyNzA4MzYzNTMzMDIwMDJdLCBbMTY2Mzg0MDM5OS4wMDY4NTg2LCAxNzU1OSwgMS4zNjc2MDMxODI3OTI2NjM2XSwgWzE2NjM4NDAzOTkuMzA2OTU0LCAxNzU4NiwgMS4yNDMzNzcwODk1MDA0MjcyXSwgWzE2NjM4NDAzOTkuNTk2NzcyNCwgMTc2MTMsIDEuMDkzNjQ2NDA3MTI3MzgwNF0sIFsxNjYzODQwMzk5Ljk5MDc2MSwgMTc2NDksIDEuMTQyMzI3MzA4NjU0Nzg1Ml0sIFsxNjYzODQwNDAwLjA5NjcyMTYsIDE3NjU4LCAxLjExNTIzMjk0NDQ4ODUyNTRdLCBbMTY2Mzg0MDQwMC4xOTY4MTYyLCAxNzY2NywgMS41OTc2NDY3MTMyNTY4MzZdLCBbMTY2Mzg0MDQwMC4yOTE4NTM0LCAxNzY3NiwgMS4wODY1MzQwMjMyODQ5MTJdLCBbMTY2Mzg0MDQwMC4zOTgyNTE4LCAxNzY4NSwgMS4xNjczMjkxOTIxNjE1Nl0sIFsxNjYzODQwNDAwLjYwMDE4NSwgMTc3MDMsIDEuMTM0MTAyNzAyMTQwODA4XSwgWzE2NjM4NDA0MDAuNjkwODIxMiwgMTc3MTIsIDEuMTQ1NDExMTMzNzY2MTc0M10sIFsxNjYzODQwNDAwLjc4NzczMDcsIDE3NzIxLCAxLjA1NDc0MjY5MzkwMTA2Ml0sIFsxNjYzODQwNDAwLjg3NzgyODYsIDE3NzMwLCAwLjk5MTgwNTEzNjIwMzc2NTldLCBbMTY2Mzg0MDQwMS42NjE3MjM5LCAxNzgwMiwgMS4wMzEzMTIyMjcyNDkxNDU1XSwgWzE2NjM4NDA0MDEuODYxNzE0OCwgMTc4MjAsIDEuMTA3MDYzODg5NTAzNDc5XSwgWzE2NjM4NDA0MDEuOTY4OTc3LCAxNzgyOSwgMS4wOTMwNDI5Njk3MDM2NzQzXSwgWzE2NjM4NDA0MDIuMDY1ODUsIDE3ODM4LCAxLjE1NDg0MjYxNTEyNzU2MzVdLCBbMTY2Mzg0MDQwMi4xNjI4MTM3LCAxNzg0NywgMS4wMzk4NDIwMDk1NDQzNzI2XSwgWzE2NjM4NDA0MDIuNDQ3Mjc4NSwgMTc4NzQsIDEuMjY3OTI5NjczMTk0ODg1M10sIFsxNjYzODQwNDAyLjY1MDQ5MTIsIDE3ODkyLCAwLjk4Mjc5NTgzNDU0MTMyMDhdLCBbMTY2Mzg0MDQwMi43Mzc0NDA4LCAxNzkwMSwgMS4wMzAzMDg4NDI2NTg5OTY2XSwgWzE2NjM4NDA0MDMuMDIxMzc4OCwgMTc5MjgsIDEuMDk3MTA1OTc5OTE5NDMzNl0sIFsxNjYzODQwNDAzLjEzMDM5MjMsIDE3OTM3LCAxLjQxODc2NDk0ODg0NDkwOTddLCBbMTY2Mzg0MDQwNS42NzM0OTY1LCAxODE1MywgMC45NDEzMDM0OTE1OTI0MDcyXSwgWzE2NjM4NDA0MDUuNzU3ODMyLCAxODE2MiwgMS40MDc1NjI3MzI2OTY1MzMyXSwgWzE2NjM4NDA0MDYuMTM3NzMxMywgMTgxOTgsIDEuMDIzNzcyMDAxMjY2NDc5NV0sIFsxNjYzODQwNDA2LjIzNTc3MjgsIDE4MjA3LCAxLjA1MTU0MzcxMjYxNTk2NjhdLCBbMTY2Mzg0MDQwNi4zMjY2MjE4LCAxODIxNiwgMS4yMDMwODM4NzI3OTUxMDVdLCBbMTY2Mzg0MDQwNi42MTA0NDM4LCAxODI0MywgMS4wMjkwNTg0NTY0MjA4OTg0XSwgWzE2NjM4NDA0MDYuNzk1MjMxOCwgMTgyNjEsIDEuMDU4MDc4NDA4MjQxMjcyXSwgWzE2NjM4NDA0MDcuMDczMzkzMywgMTgyODgsIDEuMTE3NDYwODQ2OTAwOTRdLCBbMTY2Mzg0MDQwNy4xNzI1NzgzLCAxODI5NywgMS4xNDI4Mzc0MDUyMDQ3NzNdLCBbMTY2Mzg0MDQwNy4zOTE4MDg3LCAxODMxNSwgMS4yNDkzMTc0MDc2MDgwMzIyXSwgWzE2NjM4NDA0MDcuNTA1MTE0LCAxODMyNCwgMS4zMzMxMDQwMTQzOTY2Njc1XSwgWzE2NjM4NDA0MDcuNjIyMDAwNywgMTgzMzMsIDEuODE1NjI2OTc4ODc0MjA2NV0sIFsxNjYzODQwNDA4LjEzMDI2NTcsIDE4MzY5LCAxLjE0NTYzOTg5NjM5MjgyMjNdLCBbMTY2Mzg0MDQwOC41MjY3NTYzLCAxODM5NiwgMS4yODM5MDUxNDg1MDYxNjQ2XSwgWzE2NjM4NDA0MDkuMDQ2NDA0NCwgMTg0MzIsIDEuMDg3OTI1NzkxNzQwNDE3NV0sIFsxNjYzODQwNDA5LjI1NjQ2MzMsIDE4NDUwLCAxLjAzNDMyMzgxMTUzMTA2N10sIFsxNjYzODQwNDA5Ljc3OTY2ODMsIDE4NDk1LCAxLjA0MTA1ODQyMTEzNDk0ODddLCBbMTY2Mzg0MDQwOS44NzM1MjEzLCAxODUwNCwgMS4wMjUzNzY3OTY3MjI0MTJdLCBbMTY2Mzg0MDQwOS45NzIzNTA0LCAxODUxMywgMS4wMDgyMjYyNzU0NDQwMzA4XSwgWzE2NjM4NDA0MTAuMDYzNTM3LCAxODUyMiwgMS4yMjA1MDAzNDk5OTg0NzQxXSwgWzE2NjM4NDA0MTEuMjMyNjIyNiwgMTg2MTIsIDEuMjQ4MzYwMjc2MjIyMjI5XSwgWzE2NjM4NDA0MTEuMzM4MTMxNCwgMTg2MjEsIDEuMTgxMzcyODgwOTM1NjY5XSwgWzE2NjM4NDA0MTEuNTIzNTE2MiwgMTg2MzksIDEuMTQ0MzIyODcyMTYxODY1Ml0sIFsxNjYzODQwNDExLjg5NzEzODgsIDE4Njc1LCAxLjAzNDc3MTQ0MjQxMzMzXSwgWzE2NjM4NDA0MTIuNDkzODU5MywgMTg3MjAsIDEuNDY4MzE5ODkyODgzMzAwOF0sIFsxNjYzODQwNDEzLjAwOTg0MywgMTg3NjUsIDEuMjQwODEwMjc1MDc3ODE5OF0sIFsxNjYzODQwNDEzLjI1Njk2MywgMTg3ODMsIDEuMjY4MjgyMDU1ODU0Nzk3NF0sIFsxNjYzODQwNDEzLjM4MDI1ODYsIDE4NzkyLCAxLjAwNjMzMzIzMTkyNTk2NDRdLCBbMTY2Mzg0MDQxMy42NDY2NjUzLCAxODgxMCwgMS41MTMzODE4Mzg3OTg1MjNdLCBbMTY2Mzg0MDQxMy43ODY4NjI2LCAxODgxOSwgMS42NjcxMjUzNDQyNzY0MjgyXSwgWzE2NjM4NDA0MTMuODk4NjkxNywgMTg4MjgsIDEuMDk0OTg2Njc3MTY5Nzk5OF0sIFsxNjYzODQwNDE0LjI5NjUzNDgsIDE4ODY0LCAxLjA3OTQwMTk2OTkwOTY2OF0sIFsxNjYzODQwNDE0LjUwMTQzMDcsIDE4ODgyLCAxLjIwMjk2NzE2NjkwMDYzNDhdLCBbMTY2Mzg0MDQxNC42MTIyNjc3LCAxODg5MSwgMS4wNTg0MzQwMDk1NTIwMDJdLCBbMTY2Mzg0MDQxNC44MDM1NjY3LCAxODkwOSwgMC45NDA1NzYzNzQ1MzA3OTIyXSwgWzE2NjM4NDA0MTUuMDk1Mzk1OCwgMTg5MzYsIDAuOTk5MDkwOTY5NTYyNTMwNV0sIFsxNjYzODQwNDE1LjE5OTcxMDYsIDE4OTQ1LCAxLjEyMDA4NDE2NjUyNjc5NDRdLCBbMTY2Mzg0MDQxNS4yOTY4OTYsIDE4OTU0LCAxLjE4NjQ1OTA2NDQ4MzY0MjZdLCBbMTY2Mzg0MDQxNS42NjU3Mzc2LCAxODk5MCwgMS4xMTc4NDg3NTM5MjkxMzgyXSwgWzE2NjM4NDA0MTUuNzk3NjQ0OSwgMTg5OTksIDEuMTg1ODQ2MDkwMzE2NzcyNV0sIFsxNjYzODQwNDE2LjI2MjYwMiwgMTkwMzUsIDEuMTU5MTk4MTY0OTM5ODgwNF0sIFsxNjYzODQwNDE2LjM3MzQ3NiwgMTkwNDQsIDEuMDU1NjM2ODgyNzgxOTgyNF0sIFsxNjYzODQwNDE2Ljg4NjQ5NzcsIDE5MDgwLCAxLjI1Mzk1MDcxNTA2NTAwMjRdLCBbMTY2Mzg0MDQxNy4wMDg3NDIsIDE5MDg5LCAxLjQwNzk2OTExNzE2NDYxMThdLCBbMTY2Mzg0MDQxNy4yNTE1NzE0LCAxOTEwNywgMS4xNjUzNzI5Njc3MjAwMzE3XSwgWzE2NjM4NDA0MTcuMzcxODcwOCwgMTkxMTYsIDEuMDczNTc2Njg4NzY2NDc5NV0sIFsxNjYzODQwNDE3LjQ3MDM0NTMsIDE5MTI1LCAxLjAyMjg0MDczODI5NjUwODhdLCBbMTY2Mzg0MDQxNy44NDI2MDgyLCAxOTE1MiwgMS4yOTIyOTU5MzI3Njk3NzU0XSwgWzE2NjM4NDA0MTguNTkyMjE1OCwgMTkyMTUsIDEuMDc0MzMxNzYwNDA2NDk0MV0sIFsxNjYzODQwNDE4LjY5MTg3NzEsIDE5MjI0LCAxLjE2OTgyMDc4NTUyMjQ2MV0sIFsxNjYzODQwNDE4LjgzNTc2NjgsIDE5MjMzLCAxLjA4ODgxNDYxNjIwMzMwOF0sIFsxNjYzODQwNDE5LjE1NDM5NywgMTkyNjAsIDEuMzE1OTMzMjI3NTM5MDYyNV0sIFsxNjYzODQwNDE5LjU0NjQ5NDcsIDE5Mjk2LCAxLjE0NTc5NTk0MTM1Mjg0NDJdLCBbMTY2Mzg0MDQyMC40NzQwNiwgMTkzNTAsIDAuOTI3NjU1MDQxMjE3ODA0XSwgWzE2NjM4NDA0MjAuNTk1MjcwNCwgMTkzNTksIDEuMDMxMDgyODY4NTc2MDQ5OF0sIFsxNjYzODQwNDIxLjAxMTkwNzYsIDE5Mzk1LCAwLjk1NDc4MjY2NDc3NTg0ODRdLCBbMTY2Mzg0MDQyMS4xMDkyMTEyLCAxOTQwNCwgMS4yMDA0NjAzMTQ3NTA2NzE0XSwgWzE2NjM4NDA0MjEuNjA0MDQ3NSwgMTk0NDAsIDEuMTM1ODc3NDkwMDQzNjQwMV0sIFsxNjYzODQwNDIxLjY5NDAzNzcsIDE5NDQ5LCAxLjE4NDgzOTcyNTQ5NDM4NDhdLCBbMTY2Mzg0MDQyMS44MjExMDM4LCAxOTQ1OCwgMS4yNjUwNDI3ODE4Mjk4MzRdLCBbMTY2Mzg0MDQyMS45MTcwMjY4LCAxOTQ2NywgMS4wNjk1Mjk3NzE4MDQ4MDk2XSwgWzE2NjM4NDA0MjIuNzU1MzI4NywgMTk1MzAsIDEuMTAyMDM2OTUyOTcyNDEyXSwgWzE2NjM4NDA0MjMuMjYwNDY0NCwgMTk1NjYsIDEuMDgxNjI2NDE1MjUyNjg1NV0sIFsxNjYzODQwNDIzLjQ5MzcxMSwgMTk1ODQsIDEuMTc5MTg1MDMyODQ0NTQzNV0sIFsxNjYzODQwNDIzLjYyMDQ1MDcsIDE5NTkzLCAwLjk3NjIwNTU4NzM4NzA4NV0sIFsxNjYzODQwNDI0LjMyMjQ2NywgMTk2NTYsIDEuNDI2ODM1NjU2MTY2MDc2N10sIFsxNjYzODQwNDI0LjUxNTIyOTIsIDE5Njc0LCAxLjExMjA5NzM4MjU0NTQ3MTJdLCBbMTY2Mzg0MDQyNC42OTM0NDIzLCAxOTY5MiwgMC45NTIxODUxNTM5NjExODE2XSwgWzE2NjM4NDA0MjQuOTI4NzQ2NSwgMTk3MTAsIDEuMjAzODQ5OTExNjg5NzU4M10sIFsxNjYzODQwNDI1LjUwMzU5NzcsIDE5NzU1LCAxLjA1NjkxNTY0MDgzMDk5MzddLCBbMTY2Mzg0MDQyNi4wOTU0MzU2LCAxOTgwMCwgMS4wNDczNTEzNjAzMjEwNDVdLCBbMTY2Mzg0MDQyNi4zMzg2NDI0LCAxOTgxOCwgMS4wNDU5MDU5NDc2ODUyNDE3XSwgWzE2NjM4NDA0MjYuNDU3NjM5NywgMTk4MjcsIDAuOTg2MzYwNDkwMzIyMTEzXSwgWzE2NjM4NDA0MjYuNTY3ODcxNiwgMTk4MzYsIDEuMDE3ODczNTI1NjE5NTA2OF0sIFsxNjYzODQwNDI2LjkwOTE0NjgsIDE5ODYzLCAxLjI1NjI0Nzg3ODA3NDY0Nl0sIFsxNjYzODQwNDI3LjI1Njc2NCwgMTk4OTAsIDEuMTM0MDE4NDIxMTczMDk1N10sIFsxNjYzODQwNDI3LjQ0NjE3NCwgMTk5MDgsIDAuOTk5MTQxOTkxMTM4NDU4M10sIFsxNjYzODQwNDI3LjU0MDA1OTgsIDE5OTE3LCAxLjI2MzYxMDM2MzAwNjU5MThdLCBbMTY2Mzg0MDQyNy43NDU4MjgsIDE5OTM1LCAxLjExNTQ1MzgzOTMwMjA2M10sIFsxNjYzODQwNDI3LjgzNjcwODUsIDE5OTQ0LCAxLjI3MTI0OTg5MDMyNzQ1MzZdLCBbMTY2Mzg0MDQyOC41MjIwNTkyLCAxOTk5OCwgMS4xMTE5NTM3MzUzNTE1NjI1XSwgWzE2NjM4NDA0MjguOTg5MjAyLCAyMDAzNCwgMC45ODQ0MDMwMTQxODMwNDQ0XSwgWzE2NjM4NDA0MjkuMTY3ODUyNiwgMjAwNTIsIDEuNTA0OTIyMjcwNzc0ODQxM10sIFsxNjYzODQwNDMwLjQzMTk4NiwgMjAxMzMsIDEuMTk0NTkwNDQ5MzMzMTkxXSwgWzE2NjM4NDA0MzAuNzE0MDI4MSwgMjAxNjAsIDAuOTM0MTMxNjIyMzE0NDUzMV0sIFsxNjYzODQwNDMxLjA3ODMwMjEsIDIwMTg3LCAxLjExMzAwNzE4Nzg0MzMyMjhdLCBbMTY2Mzg0MDQzMS4zMzc0MDMsIDIwMjA1LCAxLjA3OTQ0ODkzODM2OTc1MV0sIFsxNjYzODQwNDMyLjQzNzY4MzgsIDIwMjk1LCAxLjIxMjQ0MjUxNzI4MDU3ODZdLCBbMTY2Mzg0MDQzMi44MTc3NywgMjAzMjIsIDEuMjMxMTA3OTUwMjEwNTcxM10sIFsxNjYzODQwNDMyLjkzODYwNTMsIDIwMzMxLCAxLjIyNzA2MzQxNzQzNDY5MjRdLCBbMTY2Mzg0MDQzMy42NTg1MjE3LCAyMDM4NSwgMC45MTEzMzA5OTc5NDM4NzgyXSwgWzE2NjM4NDA0MzMuOTM3ODAxMSwgMjA0MTIsIDEuMTQwNzMzODM4MDgxMzU5OV0sIFsxNjYzODQwNDM0Ljg4Njc0MjQsIDIwNDkzLCAxLjE2NDY1OTE0MjQ5NDIwMTddLCBbMTY2Mzg0MDQzNS4zMjI2MDUxLCAyMDUyOSwgMC45NTYxNDc2MTExNDEyMDQ4XSwgWzE2NjM4NDA0MzUuNDUxMTQ3NiwgMjA1MzgsIDAuOTUxNTI5NjIyMDc3OTQxOV0sIFsxNjYzODQwNDM1Ljg2MzgxMzYsIDIwNTc0LCAxLjEwMjgzNzU2MjU2MTAzNTJdLCBbMTY2Mzg0MDQzNi40NDYxMDYsIDIwNjI4LCAxLjE1ODU5MjkzOTM3NjgzMV0sIFsxNjYzODQwNDM2LjU0NzE1MzcsIDIwNjM3LCAxLjIzMDQyNDI4NDkzNDk5NzZdLCBbMTY2Mzg0MDQzNi42NTYyNjg0LCAyMDY0NiwgMS4xNDAwOTU1OTE1NDUxMDVdLCBbMTY2Mzg0MDQzNy4zMzYwMzM2LCAyMDcwOSwgMS42NDQwNDE4OTU4NjYzOTRdLCBbMTY2Mzg0MDQzNy45MzE0NTUsIDIwNzU0LCAwLjk4NDcwMjE2OTg5NTE3MjFdLCBbMTY2Mzg0MDQzOC4wNzYyNDQ2LCAyMDc2MywgMS4wMDI5NzU3MDIyODU3NjY2XSwgWzE2NjM4NDA0MzguMjE0ODU2MSwgMjA3NzIsIDEuMDc4MTE1OTQwMDkzOTk0MV0sIFsxNjYzODQwNDM4LjQ0MDYwOTIsIDIwNzkwLCAxLjAzMzA3NDM3ODk2NzI4NTJdLCBbMTY2Mzg0MDQzOC42Nzc5NDE2LCAyMDgwOCwgMS4wMzcxMjY1NDExMzc2OTUzXSwgWzE2NjM4NDA0MzkuMDk3NTc5LCAyMDg0NCwgMS4yMTM3NTUxMzA3Njc4MjIzXSwgWzE2NjM4NDA0MzkuMTg5MjY2MiwgMjA4NTMsIDEuMDc5MTEyMDUyOTE3NDgwNV0sIFsxNjYzODQwNDM5LjQ2OTE4NCwgMjA4ODAsIDEuMTkwMDUwMDA1OTEyNzgwOF0sIFsxNjYzODQwNDQwLjEzOTI4ODQsIDIwOTI1LCAxLjA0Nzc1MjQ5OTU4MDM4MzNdLCBbMTY2Mzg0MDQ0MC43MDY2MDQyLCAyMDk3OSwgMS4wODA3MDMwMjAwOTU4MjUyXSwgWzE2NjM4NDA0NDAuOTQwMTE3NiwgMjA5OTcsIDEuMTMwNDI3ODM3MzcxODI2Ml0sIFsxNjYzODQwNDQxLjI1ODY1NDQsIDIxMDI0LCAxLjE2NTY0NjkxMDY2NzQxOTRdLCBbMTY2Mzg0MDQ0MS43NjQxNzczLCAyMTA2OSwgMS4wMjU5NjM1NDQ4NDU1ODFdLCBbMTY2Mzg0MDQ0MS45NDU4ODkyLCAyMTA4NywgMC45NDEzNzM4ODQ2Nzc4ODddLCBbMTY2Mzg0MDQ0Mi4wNjQ2MDEyLCAyMTA5NiwgMS4wMjY0MzI4NzE4MTg1NDI1XSwgWzE2NjM4NDA0NDIuMTUwNzA3NywgMjExMDUsIDAuOTMyMTkxODQ4NzU0ODgyOF0sIFsxNjYzODQwNDQyLjMzNzMyMTgsIDIxMTIzLCAwLjk4MTE2MjA3MTIyODAyNzNdLCBbMTY2Mzg0MDQ0Mi40Mjc3MDkzLCAyMTEzMiwgMC45OTMwODgzNjQ2MDExMzUzXSwgWzE2NjM4NDA0NDIuNTE2NDUyLCAyMTE0MSwgMS4wODc1MjQxNzU2NDM5MjFdLCBbMTY2Mzg0MDQ0Mi44MDMwMjA3LCAyMTE2OCwgMS4xMzU0ODEzNTc1NzQ0NjNdLCBbMTY2Mzg0MDQ0Mi45MTMxOTg3LCAyMTE3NywgMS4xMTIxMzA1MjI3Mjc5NjYzXSwgWzE2NjM4NDA0NDMuMDQxMzk3MywgMjExODYsIDEuMTM0NTE2NzE2MDAzNDE4XSwgWzE2NjM4NDA0NDMuNTg0NjQxLCAyMTIyMiwgMS4wNjQyNTcwMjU3MTg2ODldLCBbMTY2Mzg0MDQ0My44MDE0MzY0LCAyMTI0MCwgMS4yMTI2MTIxNTIwOTk2MDk0XSwgWzE2NjM4NDA0NDQuMTY0MTkzLCAyMTI2NywgMS4xNTg5NzM1NzQ2MzgzNjY3XSwgWzE2NjM4NDA0NDQuNTE4ODYxOCwgMjEyOTQsIDEuMDI1ODIyNTIwMjU2MDQyNV0sIFsxNjYzODQwNDQ0Ljg5Mjg0MzcsIDIxMzIxLCAxLjEyMzA4Mzk0OTA4OTA1MDNdLCBbMTY2Mzg0MDQ0NS4yNTU3OTU3LCAyMTM0OCwgMS4wOTYwNTkzMjIzNTcxNzc3XSwgWzE2NjM4NDA0NDUuNDY4Mzg0LCAyMTM2NiwgMS4xNzUyMjc2NDIwNTkzMjYyXSwgWzE2NjM4NDA0NDYuMTIzOTc3NywgMjE0MTEsIDEuMjQwMDg0MjkwNTA0NDU1Nl0sIFsxNjYzODQwNDQ2LjgwNDYzNiwgMjE0NjUsIDEuMDg0OTE4NDk4OTkyOTJdLCBbMTY2Mzg0MDQ0Ny40MzQ3MzAzLCAyMTUxMCwgMS4xMzcwMjczODI4NTA2NDddLCBbMTY2Mzg0MDQ0Ny42ODY2NTE1LCAyMTUyOCwgMS4yNzk4MjkzODI4OTY0MjMzXSwgWzE2NjM4NDA0NDcuOTIzNzM4NSwgMjE1NDYsIDEuMTU3OTA3NjA1MTcxMjAzNl0sIFsxNjYzODQwNDQ4LjA0NzI4NCwgMjE1NTUsIDEuMTkxODQ2OTY2NzQzNDY5Ml0sIFsxNjYzODQwNDQ4LjE2Mjc2NjIsIDIxNTY0LCAxLjE4NTI4ODU0ODQ2OTU0MzVdLCBbMTY2Mzg0MDQ0OC4yNzAzODIsIDIxNTczLCAxLjE3MTg0MjkzMjcwMTExMDhdLCBbMTY2Mzg0MDQ0OC4zOTgzMTY5LCAyMTU4MiwgMS4wMzgyNTcxMjIwMzk3OTVdLCBbMTY2Mzg0MDQ0OC41MzYyNTc3LCAyMTU5MSwgMS4zNzI2NDAxMzI5MDQwNTI3XSwgWzE2NjM4NDA0NDkuOTU4NDU4NywgMjE2ODEsIDEuMjY4Mjc1NjE4NTUzMTYxNl0sIFsxNjYzODQwNDUwLjQyMDMxNiwgMjE3MTcsIDEuMDM1NzYxNDc1NTYzMDQ5M10sIFsxNjYzODQwNDUwLjgxNDQ4MywgMjE3NDQsIDEuNDk0Nzg2OTc3NzY3OTQ0M10sIFsxNjYzODQwNDUxLjMwODAyODUsIDIxNzgwLCAxLjM0NDgxMTkxNjM1MTMxODRdLCBbMTY2Mzg0MDQ1Mi4yNDcwNjUzLCAyMTg2MSwgMC45MzI1ODE2NjMxMzE3MTM5XSwgWzE2NjM4NDA0NTIuNTI4MzM0OSwgMjE4ODgsIDAuOTAyNDAyMjgxNzYxMTY5NF0sIFsxNjYzODQwNDUzLjAwMjI5OSwgMjE5MjQsIDEuMTUzNDA2MDIzOTc5MTg3XSwgWzE2NjM4NDA0NTMuMTEyMTMxLCAyMTkzMywgMS4xODg5MjcwNTQ0MDUyMTI0XSwgWzE2NjM4NDA0NTMuMzU4MzM2NywgMjE5NTEsIDEuMDUyNzM2NTIwNzY3MjEyXSwgWzE2NjM4NDA0NTMuNDU4NjUzMiwgMjE5NjAsIDEuMDIxNzgzNTkwMzE2NzcyNV0sIFsxNjYzODQwNDUzLjY2OTY1NjMsIDIxOTc4LCAxLjA3MzM2NDczNDY0OTY1ODJdLCBbMTY2Mzg0MDQ1My43NzE0NDQ4LCAyMTk4NywgMS4xNTY1ODc0ODE0OTg3MTgzXSwgWzE2NjM4NDA0NTQuNDEzNDAyOCwgMjIwNDEsIDEuMTQ2MDYxNDIwNDQwNjczOF0sIFsxNjYzODQwNDU1LjExODE4MjIsIDIyMDk1LCAxLjE4NjU0NzA0MDkzOTMzMV0sIFsxNjYzODQwNDU1LjU2OTY1MTEsIDIyMTMxLCAwLjk5MjAzOTk3ODUwNDE4MDldLCBbMTY2Mzg0MDQ1NS45OTczODIyLCAyMjE2NywgMC44Nzk1NzIzOTE1MTAwMDk4XSwgWzE2NjM4NDA0NTYuMTgzMzU2LCAyMjE4NSwgMC45MzAzNjcxMTIxNTk3MjldLCBbMTY2Mzg0MDQ1Ni4yOTI5NjE2LCAyMjE5NCwgMS4zNDg3MDgwMzM1NjE3MDY1XSwgWzE2NjM4NDA0NTYuNTQ2NjMxLCAyMjIxMiwgMC45ODk5NTEyNTI5MzczMTY5XSwgWzE2NjM4NDA0NTYuODE1MjU1NCwgMjIyMzAsIDEuMDgwODA4OTk3MTU0MjM1OF0sIFsxNjYzODQwNDU3LjMwMzcyNDgsIDIyMjY2LCAwLjk2ODMwNTI4OTc0NTMzMDhdLCBbMTY2Mzg0MDQ1Ny41MTQ5OTU4LCAyMjI4NCwgMS4wMDEwOTgzOTQzOTM5MjFdLCBbMTY2Mzg0MDQ1Ny43MzI1MDM0LCAyMjMwMiwgMS4xOTA2MjUxOTA3MzQ4NjMzXSwgWzE2NjM4NDA0NTguNDQ1NjQ4MiwgMjIzNjUsIDEuMDIzMzg1NTI0NzQ5NzU1OV0sIFsxNjYzODQwNDU4LjUzNzUyNDIsIDIyMzc0LCAxLjEwMTU3MDk2Mzg1OTU1OF0sIFsxNjYzODQwNDU4Ljk1MjY1MjUsIDIyNDEwLCAxLjIzNjA3NTk5NzM1MjZdLCBbMTY2Mzg0MDQ1OS42MjI1MzIsIDIyNDQ2LCAxLjA3NjgzMjE3NTI1NDgyMThdLCBbMTY2Mzg0MDQ1OS45NzMwMzI1LCAyMjQ3MywgMS4yMDY0NjYzMTcxNzY4MTg4XSwgWzE2NjM4NDA0NjAuMjc1MTgwOCwgMjI0OTEsIDEuMDY1NTA2Njk2NzAxMDQ5OF0sIFsxNjYzODQwNDYwLjM4MzQ1ODYsIDIyNTAwLCAxLjY2NTk4MzU1NzcwMTExMDhdLCBbMTY2Mzg0MDQ2MC41MDIwMjY4LCAyMjUwOSwgMS4wMzk1NzgzMTg1OTU4ODYyXSwgWzE2NjM4NDA0NjAuNjI3MzMwMywgMjI1MTgsIDAuOTE1ODg2MTA0MTA2OTAzMV0sIFsxNjYzODQwNDYwLjgyNzg5MDQsIDIyNTM2LCAwLjk3Mjg2MjYwMTI4MDIxMjRdLCBbMTY2Mzg0MDQ2MS4wNDQxNjksIDIyNTU0LCAxLjIzNzQzMDU3MjUwOTc2NTZdLCBbMTY2Mzg0MDQ2MS4xNjk5MTk1LCAyMjU2MywgMS4wMDgwMzIwODM1MTEzNTI1XSwgWzE2NjM4NDA0NjEuNDQxOTA0LCAyMjU4MSwgMS4wMTMyNTI5NzM1NTY1MTg2XSwgWzE2NjM4NDA0NjEuNjY0NjY2MiwgMjI1OTksIDEuMzY5MTQyODg5OTc2NTAxNV0sIFsxNjYzODQwNDYyLjAxNTI5ODgsIDIyNjI2LCAxLjExMzcyMjY4MTk5OTIwNjVdLCBbMTY2Mzg0MDQ2Mi4yNDI1NzYsIDIyNjQ0LCAxLjE4OTAyMzAxNzg4MzMwMDhdLCBbMTY2Mzg0MDQ2Mi40NjM0ODUyLCAyMjY2MiwgMS42NjkyNDE0MjgzNzUyNDQxXSwgWzE2NjM4NDA0NjIuNTY5MTEwNiwgMjI2NzEsIDEuMTgxMDAxNTQzOTk4NzE4M10sIFsxNjYzODQwNDYyLjY4MTI4MjgsIDIyNjgwLCAxLjE5NzI4NzA4MjY3MjExOTFdLCBbMTY2Mzg0MDQ2Mi45MDI0NjY4LCAyMjY5OCwgMS4xMzY5MzcyNjA2Mjc3NDY2XSwgWzE2NjM4NDA0NjMuMTQ0ODc1MywgMjI3MTYsIDAuOTM5NDc2NjA5MjMwMDQxNV0sIFsxNjYzODQwNDYzLjYxODI0MDgsIDIyNzYxLCAxLjM4ODcxMzk1NTg3OTIxMTRdLCBbMTY2Mzg0MDQ2My44MDA3NDEyLCAyMjc3OSwgMS4zMTQ1ODU2ODU3Mjk5ODA1XSwgWzE2NjM4NDA0NjMuODk3MTg1NiwgMjI3ODgsIDEuMDIyNDQ5MDE2NTcxMDQ1XSwgWzE2NjM4NDA0NjQuMDk5MTE5NCwgMjI4MDYsIDEuMDYxOTM2NDk3Njg4MjkzNV0sIFsxNjYzODQwNDY0LjU1NTgzNDMsIDIyODUxLCAxLjIxNzYxNjMxOTY1NjM3Ml0sIFsxNjYzODQwNDY0Ljc0MDI0NDIsIDIyODY5LCAxLjE2ODc2NDcxMDQyNjMzMDZdLCBbMTY2Mzg0MDQ2NC45MTU3NjEyLCAyMjg4NywgMS4zNDUxNTA0NzA3MzM2NDI2XSwgWzE2NjM4NDA0NjUuMDE1MDA2MywgMjI4OTYsIDEuNDM5MDc3NzM0OTQ3MjA0Nl0sIFsxNjYzODQwNDY1LjMxNjQ2NiwgMjI5MjMsIDEuMjU1MTQ0NDc2ODkwNTY0XSwgWzE2NjM4NDA0NjYuMzk1ODI3OCwgMjI5OTUsIDEuMDI3OTU4MTU0Njc4MzQ0N10sIFsxNjYzODQwNDY2LjUwMDYwNSwgMjMwMDQsIDEuMDYyMjQ5MTgzNjU0Nzg1Ml0sIFsxNjYzODQwNDY3LjA1MzUwMDcsIDIzMDQ5LCAxLjAyNTA3OTM2OTU0NDk4M10sIFsxNjYzODQwNDY3LjU5ODIwMTMsIDIzMDk0LCAxLjExNzM1NzEzNDgxOTAzMDhdLCBbMTY2Mzg0MDQ2Ny43MzM5NTUxLCAyMzEwMywgMS4yNDU4NTQ3MzUzNzQ0NTA3XSwgWzE2NjM4NDA0NjcuOTc4NzExNCwgMjMxMjEsIDAuODk0MDE0NTk2OTM5MDg2OV0sIFsxNjYzODQwNDY4LjMyODc1OCwgMjMxNDgsIDEuMTIwNjk1OTQ4NjAwNzY5XSwgWzE2NjM4NDA0NjguNTUzODM4NSwgMjMxNjYsIDEuMDI2MjM0NjI2NzcwMDE5NV0sIFsxNjYzODQwNDY4Ljc4Mzk2OTIsIDIzMTg0LCAxLjI0OTEwMDY4NTExOTYyOV0sIFsxNjYzODQwNDY5LjAxNjY2OTMsIDIzMjAyLCAxLjAyNjk2NDY2NDQ1OTIyODVdLCBbMTY2Mzg0MDQ2OS4xNDQ1MTk2LCAyMzIxMSwgMS4wOTMzODM3ODkwNjI1XSwgWzE2NjM4NDA0NjkuOTYxNDIwNSwgMjMyNTYsIDEuMzY4Mjc3OTA3MzcxNTIxXSwgWzE2NjM4NDA0NzAuMDg1MzA0NSwgMjMyNjUsIDEuMTk5MjMwMzEzMzAxMDg2NF0sIFsxNjYzODQwNDcwLjIyMjA3MDcsIDIzMjc0LCAxLjE2OTkyNjY0MzM3MTU4Ml0sIFsxNjYzODQwNDcwLjYwOTM0NzgsIDIzMzAxLCAxLjIxMjY2NDEyNzM0OTg1MzVdLCBbMTY2Mzg0MDQ3MC43MTY3NjA2LCAyMzMxMCwgMS4xMjEwNTU2MDMwMjczNDM4XSwgWzE2NjM4NDA0NzEuMDI5MjAxMywgMjMzMzcsIDAuOTk5MzgxMzAzNzg3MjMxNF0sIFsxNjYzODQwNDcxLjY3MjQxNjQsIDIzMzkxLCAxLjE4NTUwMDc0MTAwNDk0MzhdLCBbMTY2Mzg0MDQ3MS43NjQ0ODkyLCAyMzQwMCwgMS4wNzgzNDMwMzM3OTA1ODg0XSwgWzE2NjM4NDA0NzIuMDEyMzU1LCAyMzQxOCwgMS4wNDc5NzQ0NjcyNzc1MjY5XSwgWzE2NjM4NDA0NzIuMjEyMjc5MywgMjM0MzYsIDEuMTIwNzgyODUyMTcyODUxNl0sIFsxNjYzODQwNDcyLjQwNDk1NjYsIDIzNDU0LCAxLjcxNDY2NjEyODE1ODU2OTNdLCBbMTY2Mzg0MDQ3Mi41MzY3NjUsIDIzNDYzLCAxLjA0MzMyMDQxNzQwNDE3NDhdLCBbMTY2Mzg0MDQ3My42NjYyODAzLCAyMzU2MiwgMS4xMDIxNTgzMDgwMjkxNzQ4XSwgWzE2NjM4NDA0NzMuNzYzMjg2NCwgMjM1NzEsIDEuMTIyNzc1MzE2MjM4NDAzM10sIFsxNjYzODQwNDczLjg0NzIyNSwgMjM1ODAsIDAuOTg2NTkzNDI1MjczODk1M10sIFsxNjYzODQwNDc0LjE3MDgyMTcsIDIzNjA3LCAxLjA5Nzg2MjEyNDQ0MzA1NDJdLCBbMTY2Mzg0MDQ3NC42OTU1Mjc4LCAyMzY1MiwgMC45NTc4NTY4MzM5MzQ3ODM5XSwgWzE2NjM4NDA0NzQuNzg2MzQ0OCwgMjM2NjEsIDAuOTg3ODQwODkwODg0Mzk5NF0sIFsxNjYzODQwNDc1LjE5OTgzMTIsIDIzNjk3LCAxLjIxNTI1NjkyOTM5NzU4M11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_03-40-06_b5cca277837b&tag=Loss%2Fvalid":{"data":"W1sxNjYzODE4MDA3LjI3NjU2NDEsIDM2LCAxNi4xNDkwNjY5MjUwNDg4MjhdLCBbMTY2MzgxODAwNy4zODc5NTczLCA0NSwgMTIuMzY5NjIzMTg0MjA0MTAyXSwgWzE2NjM4MTgwMDcuOTg3NDI1OCwgOTksIDUuNDYyMzc2MTE3NzA2Mjk5XSwgWzE2NjM4MTgwMDguMzMyMTE4MywgMTM1LCA1LjE3NTIwMTQxNjAxNTYyNV0sIFsxNjYzODE4MDA4LjQ0MDA2OSwgMTQ0LCA1LjcyNzQ2MDM4NDM2ODg5NjVdLCBbMTY2MzgxODAwOC43MjkxMjM4LCAxNzEsIDUuMzYzNzc3NjM3NDgxNjg5NV0sIFsxNjYzODE4MDA4LjgzMTUwNTMsIDE4MCwgNC44NzE3ODQ2ODcwNDIyMzZdLCBbMTY2MzgxODAwOC45NDI3MDYsIDE4OSwgNC43MTM4NzYyNDc0MDYwMDZdLCBbMTY2MzgxODAwOS4xNTg3MTksIDIwNywgNS42Nzk2MzI2NjM3MjY4MDddLCBbMTY2MzgxODAwOS4yNTY3NDU4LCAyMTYsIDUuNzE0Njc0OTQ5NjQ1OTk2XSwgWzE2NjM4MTgwMDkuNTMyMDQ4MiwgMjQzLCA1LjMzNjk5OTQxNjM1MTMxOF0sIFsxNjYzODE4MDA5LjYyMjExMzUsIDI1MiwgNC40Mjk5Mzc4Mzk1MDgwNTddLCBbMTY2MzgxODAxMC42NTUwNTY1LCAzNTEsIDMuNzA4MTYwMTYxOTcyMDQ2XSwgWzE2NjM4MTgwMTAuODM1ODk3NywgMzY5LCA0LjU2NDU1NDIxNDQ3NzUzOV0sIFsxNjYzODE4MDExLjY0NjY5OSwgNDMyLCA0LjIwMjI2NDMwODkyOTQ0M10sIFsxNjYzODE4MDExLjcyOTQyMiwgNDQxLCAzLjY0NjYxMDczNjg0NjkyNF0sIFsxNjYzODE4MDExLjgzMzI2NzIsIDQ1MCwgMy45Njc4ODg4MzIwOTIyODVdLCBbMTY2MzgxODAxMi4wMDc2OTYyLCA0NjgsIDMuODcyMTc0MDI0NTgxOTA5XSwgWzE2NjM4MTgwMTIuMjU4Mzg0NSwgNDk1LCAzLjg0MzIzNDMwMDYxMzQwMzNdLCBbMTY2MzgxODAxMi41NDkwMDIsIDUyMiwgMy41ODQ4MzEyMzc3OTI5Njg4XSwgWzE2NjM4MTgwMTIuODUxOTk1LCA1NDksIDMuNDQ3NzgxMzI0Mzg2NTk2N10sIFsxNjYzODE4MDEyLjk3Mzg1MjksIDU1OCwgMy42ODc3MTYyNDU2NTEyNDVdLCBbMTY2MzgxODAxMy4wNjE2NTQsIDU2NywgMy41NzkyODI5OTkwMzg2OTYzXSwgWzE2NjM4MTgwMTMuMTU1OTAxMiwgNTc2LCAzLjI0NzEyMjc2NDU4NzQwMjNdLCBbMTY2MzgxODAxMy4zNDcxMTUsIDU5NCwgMy40ODkwMDI0NjYyMDE3ODIyXSwgWzE2NjM4MTgwMTMuNDQ0ODA2OCwgNjAzLCAzLjExNjc4MTQ3MzE1OTc5XSwgWzE2NjM4MTgwMTMuNTMyMDE1LCA2MTIsIDMuNjA0NTU3Mjc1NzcyMDk0N10sIFsxNjYzODE4MDEzLjY0MTkxNzcsIDYyMSwgMi45MzUwNzkwOTc3NDc4MDI3XSwgWzE2NjM4MTgwMTMuODQ5ODkzLCA2MzksIDMuMjE5NDM4MzE0NDM3ODY2XSwgWzE2NjM4MTgwMTMuOTU2MDk5NywgNjQ4LCAyLjg0OTgxNzUxNDQxOTU1NTddLCBbMTY2MzgxODAxNC41Mzk2MTAxLCA3MDIsIDIuOTgwNjEyMjc3OTg0NjE5XSwgWzE2NjM4MTgwMTQuNzMzNjQyLCA3MjAsIDMuMTU1NzczODc4MDk3NTM0XSwgWzE2NjM4MTgwMTUuMDAxNzM2NiwgNzQ3LCAyLjY5MTM5MTk0NDg4NTI1NF0sIFsxNjYzODE4MDE1LjI3OTQ3OTcsIDc3NCwgMy4yMDY3NTk0NTI4MTk4MjRdLCBbMTY2MzgxODAxNS42MzQ5NzYsIDgxMCwgMi42MDY3OTQxMTg4ODEyMjU2XSwgWzE2NjM4MTgwMTYuNDkxNDYyMiwgOTAwLCAyLjQ4MjYyMDQ3NzY3NjM5MTZdLCBbMTY2MzgxODAxNi41NzQwNTMzLCA5MDksIDIuODc0Mjg4MDgyMTIyODAyN10sIFsxNjYzODE4MDE2Ljg1NDkyMDQsIDkzNiwgMi4yNTUyMzQ3MTgzMjI3NTRdLCBbMTY2MzgxODAxNy4xNDU0NzIsIDk2MywgMi4zNDAyMDMwNDY3OTg3MDZdLCBbMTY2MzgxODAxNy4yMjU4Mzc3LCA5NzIsIDIuMzY2MDk5NTk2MDIzNTU5Nl0sIFsxNjYzODE4MDE3LjM4OTg3NCwgOTkwLCAyLjAzNTY3NzY3MTQzMjQ5NV0sIFsxNjYzODE4MDE3Ljk4NDEyODUsIDEwNTMsIDIuNDEzMjM5MjQwNjQ2MzYyM10sIFsxNjYzODE4MDE4LjQzNDM3MzQsIDEwOTgsIDIuNTcyNjExMDkzNTIxMTE4XSwgWzE2NjM4MTgwMTguNzc5MDAyLCAxMTM0LCAzLjIwMzQ2Mzc5MjgwMDkwMzNdLCBbMTY2MzgxODAxOC44NjA2NjQ2LCAxMTQzLCAyLjUyNzU5MjY1ODk5NjU4Ml0sIFsxNjYzODE4MDE5LjA0MDA1OTYsIDExNjEsIDIuNDg3NDUzNDYwNjkzMzU5NF0sIFsxNjYzODE4MDE5LjUyMTkwMDIsIDExNzksIDIuMTY0MzY3OTE0MTk5ODI5XSwgWzE2NjM4MTgwMTkuNjIzMzczMywgMTE4OCwgMi4wMDAxNzMzMzAzMDcwMDddLCBbMTY2MzgxODAyMC4wNjE3OTksIDEyMzMsIDIuOTIyNzIzNTMxNzIzMDIyNV0sIFsxNjYzODE4MDIwLjE0MzE1NywgMTI0MiwgMi4wMTEyOTk4NDg1NTY1MTg2XSwgWzE2NjM4MTgwMjAuODU1Mjc1NiwgMTMwNSwgMi41NzkzMDIzMTA5NDM2MDM1XSwgWzE2NjM4MTgwMjEuMDU5OTcwMSwgMTMyMywgMi4wNjIxMDI1NTYyMjg2Mzc3XSwgWzE2NjM4MTgwMjEuMTY1OTY0MSwgMTMzMiwgMi4xMzA3OTA5NDg4Njc3OThdLCBbMTY2MzgxODAyMS41MDAwNjcsIDEzNTksIDIuNTc0NTc2ODU0NzA1ODEwNV0sIFsxNjYzODE4MDIyLjExMTAxMTMsIDE0MjIsIDIuMTIyMjY1MzM4ODk3NzA1XSwgWzE2NjM4MTgwMjIuMzgwMjcyMiwgMTQ0OSwgMS45ODM5NjQ2ODE2MjUzNjYyXSwgWzE2NjM4MTgwMjIuNTY1MDM1MywgMTQ2NywgMi4wNzU3NTIyNTgzMDA3ODEyXSwgWzE2NjM4MTgwMjIuNzQzNzM1OCwgMTQ4NSwgMS44NjQyMjcyOTQ5MjE4NzVdLCBbMTY2MzgxODAyMy4yODEzMTk5LCAxNTM5LCAyLjQ5Njc3MDM4MTkyNzQ5MDJdLCBbMTY2MzgxODAyMy4zNjUxNDM1LCAxNTQ4LCAyLjUzNTA0OTQzODQ3NjU2MjVdLCBbMTY2MzgxODAyMy40NDg4NSwgMTU1NywgMi4xNzY0MzQyNzg0ODgxNTldLCBbMTY2MzgxODAyMy44NzcwOTkzLCAxNTg0LCAxLjk2MjY1NTkwMTkwODg3NDVdLCBbMTY2MzgxODAyNC4wOTg0NTAyLCAxNjAyLCAxLjk3ODc2Mjg2NTA2NjUyODNdLCBbMTY2MzgxODAyNC40NDM2NSwgMTYzOCwgMi40Nzg3Mjg3NzEyMDk3MTddLCBbMTY2MzgxODAyNC43MjM5NjQ1LCAxNjY1LCAyLjYzMDY2NDU4NzAyMDg3NF0sIFsxNjYzODE4MDI0LjgxMzQ4ODUsIDE2NzQsIDIuMDczNzY1NTE2MjgxMTI4XSwgWzE2NjM4MTgwMjQuODkxMDQxMywgMTY4MywgMi40Mjc2NDkyNTk1NjcyNjA3XSwgWzE2NjM4MTgwMjUuMjQzMTQ1NywgMTcxOSwgMi4wOTYwMjk5OTY4NzE5NDgyXSwgWzE2NjM4MTgwMjUuMzM1MjI1NiwgMTcyOCwgMi4zMzUxODUwNTA5NjQzNTU1XSwgWzE2NjM4MTgwMjUuNDIxMDQ4NiwgMTczNywgMS44MTE1NDU2MTA0Mjc4NTY0XSwgWzE2NjM4MTgwMjYuMDY4MzczMiwgMTgwMCwgMS45MDUyOTE5MTQ5Mzk4ODA0XSwgWzE2NjM4MTgwMjYuMzE3MTY0MiwgMTgyNywgMS45NjA4NjE4MDIxMDExMzUzXSwgWzE2NjM4MTgwMjYuMzk4MzMwMiwgMTgzNiwgMS43NTM5ODcwNzM4OTgzMTU0XSwgWzE2NjM4MTgwMjYuNDg2MDQ0NiwgMTg0NSwgMi4yMzU0NTY3MDUwOTMzODRdLCBbMTY2MzgxODAyNi41ODcyMzc2LCAxODU0LCAyLjEzNDM3MjcxMTE4MTY0MDZdLCBbMTY2MzgxODAyNi43NjIzODE4LCAxODcyLCAxLjc2MjQwODQ5NDk0OTM0MDhdLCBbMTY2MzgxODAyNi45NDMyMjY2LCAxODkwLCAxLjgxODc2NDY4NjU4NDQ3MjddLCBbMTY2MzgxODAyNy4xMDY4NTk3LCAxOTA4LCAyLjAxODgxMDUxMDYzNTM3Nl0sIFsxNjYzODE4MDI3LjI4NTY0LCAxOTI2LCAyLjAwNjc2NDg4ODc2MzQyNzddLCBbMTY2MzgxODAyNy40NTQ0NDEzLCAxOTQ0LCAxLjc5NTkxMzEwMDI0MjYxNDddLCBbMTY2MzgxODAyNy41NDc1NTEsIDE5NTMsIDEuNzYzNDAxNTA4MzMxMjk4OF0sIFsxNjYzODE4MDI4LjAwMDU4NywgMTk4MCwgMS42NzUxODM0MTU0MTI5MDI4XSwgWzE2NjM4MTgwMjguMTQzNjQwMywgMTk4OSwgMi4xNzY3NjY2MzM5ODc0MjY4XSwgWzE2NjM4MTgwMjguMjUyMzU4NywgMTk5OCwgMi4xMzc1NzcyOTUzMDMzNDQ3XSwgWzE2NjM4MTgwMjguNTY1NDM5LCAyMDI1LCAxLjgzMDAxNTE4MjQ5NTExNzJdLCBbMTY2MzgxODAyOS4wNDEzMDIyLCAyMDcwLCAxLjgwMzAzMzgyODczNTM1MTZdLCBbMTY2MzgxODAyOS45NDQwMzc0LCAyMTYwLCAyLjEwNjAzODMzMTk4NTQ3MzZdLCBbMTY2MzgxODAzMC4xMDg1NDY1LCAyMTc4LCAxLjkzNzE1MDIzOTk0NDQ1OF0sIFsxNjYzODE4MDMwLjM2MTM4MzIsIDIyMDUsIDEuOTM0NDYyMzA4ODgzNjY3XSwgWzE2NjM4MTgwMzAuNDQwMjc1NCwgMjIxNCwgMi4wNjk5Nzc5OTg3MzM1MjA1XSwgWzE2NjM4MTgwMzAuNTI1OTM0MiwgMjIyMywgMS42NDkwMDY2MDUxNDgzMTU0XSwgWzE2NjM4MTgwMzEuMzM5ODUxNiwgMjI5NSwgMS45NzQ2MzEzMDk1MDkyNzczXSwgWzE2NjM4MTgwMzEuNzQ3Njg1NCwgMjMzMSwgMS44NDQ1MDc5MzI2NjI5NjM5XSwgWzE2NjM4MTgwMzEuODQwMTczLCAyMzQwLCAxLjYzMTUwNTg0Njk3NzIzMzldLCBbMTY2MzgxODAzMS45MzU5NzIyLCAyMzQ5LCAxLjg4NzU4ODg1ODYwNDQzMTJdLCBbMTY2MzgxODAzMi4xNTA2NDEyLCAyMzY3LCAxLjg1NTk4NDQ0OTM4NjU5NjddLCBbMTY2MzgxODAzMi45NTk0MTYyLCAyNDM5LCAxLjkxNjI0ODY3OTE2MTA3MThdLCBbMTY2MzgxODAzMy4wNTE1OTgsIDI0NDgsIDEuNzIyMjgwNzQwNzM3OTE1XSwgWzE2NjM4MTgwMzMuMzIzOTkwOCwgMjQ3NSwgMS44ODczMTMyNDY3MjY5ODk3XSwgWzE2NjM4MTgwMzMuNTE3Mjc4NCwgMjQ5MywgMi4wNDYwNTkxMzE2MjIzMTQ1XSwgWzE2NjM4MTgwMzMuNjk3NTYyNSwgMjUxMSwgMS44NzE4OTExNDA5Mzc4MDUyXSwgWzE2NjM4MTgwMzMuODgyMjMxLCAyNTI5LCAxLjkxODM4MjA0ODYwNjg3MjZdLCBbMTY2MzgxODAzNC4wNzM0ODczLCAyNTQ3LCAxLjc4OTg1MTY2NTQ5NjgyNjJdLCBbMTY2MzgxODAzNC4xNzM2OTc3LCAyNTU2LCAyLjcwOTM0NDM4NzA1NDQ0MzRdLCBbMTY2MzgxODAzNC41MDQ0NTgsIDI1NzQsIDEuNzU0NzIwNDQ5NDQ3NjMxOF0sIFsxNjYzODE4MDM1LjAyODM5MSwgMjU5MiwgMi4xMjY4MTEyNjU5NDU0MzQ2XSwgWzE2NjM4MTgwMzUuMTExOTEzNywgMjYwMSwgMi4wNDAzMzEzNjM2Nzc5Nzg1XSwgWzE2NjM4MTgwMzUuMzA4ODU3NywgMjYxOSwgMS42ODI1NTMxNzIxMTE1MTEyXSwgWzE2NjM4MTgwMzYuMTk1MzgzNSwgMjY2NCwgMS44NjQ5NzA2ODQwNTE1MTM3XSwgWzE2NjM4MTgwMzYuMzE5ODk3NywgMjY3MywgMS42OTc4NDM3OTAwNTQzMjEzXSwgWzE2NjM4MTgwMzYuNDMwMDYyMywgMjY4MiwgMS43MjkxNjc2OTk4MTM4NDI4XSwgWzE2NjM4MTgwMzYuNTExMDA5NSwgMjY5MSwgMS43MzgzMTkwMzkzNDQ3ODc2XSwgWzE2NjM4MTgwMzcuMzcyNzYxLCAyNzYzLCAxLjY2MDQ3Nzk5NTg3MjQ5NzZdLCBbMTY2MzgxODAzNy41MzE3NDcsIDI3ODEsIDEuNTIxMzY1Mjg0OTE5NzM4OF0sIFsxNjYzODE4MDM3Ljg4MDQyNzgsIDI4MTcsIDEuODgzODY2NDI5MzI4OTE4NV0sIFsxNjYzODE4MDM4LjIzMTA1NzYsIDI4NTMsIDEuNjY5NTM3NzgyNjY5MDY3NF0sIFsxNjYzODE4MDM4LjQxNTU3MTcsIDI4NzEsIDEuODEwNDc4ODA2NDk1NjY2NV0sIFsxNjYzODE4MDM4LjUwNjM4NjgsIDI4ODAsIDEuNzk2ODQ2ODY2NjA3NjY2XSwgWzE2NjM4MTgwMzguNzc3MjI3OSwgMjkwNywgMi4wNDE1NzkyNDY1MjA5OTZdLCBbMTY2MzgxODAzOS40MjYyNjcsIDI5NzAsIDEuMzc5NDk5NjczODQzMzgzOF0sIFsxNjYzODE4MDM5LjYxMDgyMTcsIDI5ODgsIDIuMDU5NzMyNjc1NTUyMzY4XSwgWzE2NjM4MTgwMzkuNjk2MDE0MiwgMjk5NywgMS41NDk5MjAyMDEzMDE1NzQ3XSwgWzE2NjM4MTgwNDAuMTQ0MTU3MiwgMzA0MiwgMS42NTE5MzMzMTI0MTYwNzY3XSwgWzE2NjM4MTgwNDAuMjM1Nzk1LCAzMDUxLCAxLjgzNzQ3NTE4MDYyNTkxNTVdLCBbMTY2MzgxODA0MC40MTU1MTk1LCAzMDY5LCAxLjY4MTE3NzQ5NjkxMDA5NTJdLCBbMTY2MzgxODA0MC42ODAyMDk2LCAzMDk2LCAxLjQ5ODYyMzcyODc1MjEzNjJdLCBbMTY2MzgxODA0MC44NTI1MjM2LCAzMTE0LCAxLjgxMzMwNTYxNjM3ODc4NDJdLCBbMTY2MzgxODA0MC45Mzg3MjQzLCAzMTIzLCAxLjU4MzU4MjQwMTI3NTYzNDhdLCBbMTY2MzgxODA0MS4yOTU1NjI1LCAzMTU5LCAxLjQ5ODYxNTAyNjQ3Mzk5OV0sIFsxNjYzODE4MDQxLjQ2MDUzNiwgMzE3NywgMi4xMjM5OTU3ODA5NDQ4MjRdLCBbMTY2MzgxODA0MS42NDA3MTA0LCAzMTk1LCAxLjYzOTk3NzA5NzUxMTI5MTVdLCBbMTY2MzgxODA0Mi4wMDkxNjc3LCAzMjMxLCAyLjIwODY4OTQ1MTIxNzY1MTRdLCBbMTY2MzgxODA0Mi4zNTkxODQsIDMyNjcsIDEuNTkyNDg4NTI3Mjk3OTczNl0sIFsxNjYzODE4MDQyLjQ0NjMxNDYsIDMyNzYsIDEuNDY1NjQzNzYzNTQyMTc1M10sIFsxNjYzODE4MDQyLjUzNDk1NCwgMzI4NSwgMS45NjAwMTk3MDc2Nzk3NDg1XSwgWzE2NjM4MTgwNDIuNjI5ODI1NiwgMzI5NCwgMS41ODUxNTk1NDAxNzYzOTE2XSwgWzE2NjM4MTgwNDIuNzIzMjQzNywgMzMwMywgMS43NTQ1NzMzNDUxODQzMjYyXSwgWzE2NjM4MTgwNDIuODAzNzUsIDMzMTIsIDEuOTAzOTkxNjk5MjE4NzVdLCBbMTY2MzgxODA0My4zOTA5MDQsIDMzNzUsIDEuNjE3NDExMzc1MDQ1Nzc2NF0sIFsxNjYzODE4MDQzLjYzOTMwNzUsIDM0MDIsIDEuNTI4NTg5NDg3MDc1ODA1N10sIFsxNjYzODE4MDQzLjcyMDk2NywgMzQxMSwgMS42MjA3ODA4MjU2MTQ5MjkyXSwgWzE2NjM4MTgwNDQuNDE3Mzg5LCAzNDgzLCAxLjYzMDYxNTM1MzU4NDI4OTZdLCBbMTY2MzgxODA0NC45MjQzMTU3LCAzNTE5LCAxLjg1NDYyMjAwNjQxNjMyMDhdLCBbMTY2MzgxODA0NS4wMDE0MTA3LCAzNTI4LCAxLjg2Mjc1OTgyODU2NzUwNDldLCBbMTY2MzgxODA0NS4wODcwMTA5LCAzNTM3LCAxLjkyMjkwOTE0MDU4Njg1M10sIFsxNjYzODE4MDQ1LjI2NDc4OSwgMzU1NSwgMS40MDc0MTMwMDU4Mjg4NTc0XSwgWzE2NjM4MTgwNDUuNTM2ODE5LCAzNTgyLCAxLjQ4NzQ4MTM1NTY2NzExNDNdLCBbMTY2MzgxODA0NS45NTc5NDgyLCAzNjI3LCAxLjQ5MzAwMDI2ODkzNjE1NzJdLCBbMTY2MzgxODA0Ni4xMzE3Mjg0LCAzNjQ1LCAxLjcxNzIxNDk0MTk3ODQ1NDZdLCBbMTY2MzgxODA0Ni41NjAzOTc2LCAzNjkwLCAxLjY1ODg4NDg4MjkyNjk0MV0sIFsxNjYzODE4MDQ2LjkwMzQ5MTMsIDM3MjYsIDEuODQ3NzIwNzQyMjI1NjQ3XSwgWzE2NjM4MTgwNDYuOTk0NjI0NiwgMzczNSwgMS40OTA3MzUyOTI0MzQ2OTI0XSwgWzE2NjM4MTgwNDcuMDg2MDI5OCwgMzc0NCwgMS4zMDAxNzU2NjY4MDkwODJdLCBbMTY2MzgxODA0Ny4zNDU4NjEyLCAzNzcxLCAxLjk3MjkzMTYyMzQ1ODg2MjNdLCBbMTY2MzgxODA0Ny42MjE3NTU2LCAzNzk4LCAxLjg1ODUwNTk2NDI3OTE3NDhdLCBbMTY2MzgxODA0Ny43MTUwMjk1LCAzODA3LCAxLjQ5NjQzMzYxNTY4NDUwOTNdLCBbMTY2MzgxODA0Ny45Njc3MDcyLCAzODM0LCAyLjE0NzY3MjY1MzE5ODI0Ml0sIFsxNjYzODE4MDQ4LjA1MDAzMzgsIDM4NDMsIDEuNjE1MDM3OTE4MDkwODIwM10sIFsxNjYzODE4MDQ4LjQwMzY0MjQsIDM4NzksIDEuNjc2NDg1MTgwODU0Nzk3NF0sIFsxNjYzODE4MDQ4Ljg1MjM1MzMsIDM5MjQsIDEuNDcxNTI1Nzg4MzA3MTldLCBbMTY2MzgxODA0OC45MzIwNzgsIDM5MzMsIDEuNjMyNTI2Mjc4NDk1Nzg4Nl0sIFsxNjYzODE4MDQ5LjAxMzI3MDksIDM5NDIsIDEuNzAxMzA5OTE5MzU3Mjk5OF0sIFsxNjYzODE4MDQ5LjE4MzEzMzgsIDM5NjAsIDEuNjA4NjY2NjU4NDAxNDg5M10sIFsxNjYzODE4MDQ5LjI2ODQ1MiwgMzk2OSwgMS41MDQ5OTczNzI2MjcyNTgzXSwgWzE2NjM4MTgwNDkuMzU4MDY1MSwgMzk3OCwgMS41NzMwMDQ3MjI1OTUyMTQ4XSwgWzE2NjM4MTgwNDkuNTIwOTQxNywgMzk5NiwgMS4zNDMzNzY4NzQ5MjM3MDZdLCBbMTY2MzgxODA0OS42MjEzNjEzLCA0MDA1LCAxLjU2Nzk1ODcxMjU3NzgxOThdLCBbMTY2MzgxODA0OS44NTA1OTQ4LCA0MDIzLCAxLjM2NzM3MTQzOTkzMzc3NjldLCBbMTY2MzgxODA1MC4yODY3MzY1LCA0MDU5LCAxLjM5NjAwNzc3NjI2MDM3Nl0sIFsxNjYzODE4MDUwLjUwMjAxNjgsIDQwNzcsIDEuMzI2OTIxNzAxNDMxMjc0NF0sIFsxNjYzODE4MDUwLjYwMTg4OTYsIDQwODYsIDEuNzY0NTIzNjI1MzczODQwM10sIFsxNjYzODE4MDUwLjcxOTI2NTcsIDQwOTUsIDEuNTA5MDkxNzM0ODg2MTY5NF0sIFsxNjYzODE4MDUwLjkwNTU1LCA0MTEzLCAxLjMwMzMwNTM4NzQ5Njk0ODJdLCBbMTY2MzgxODA1MS4yOTI5Mjc3LCA0MTQ5LCAxLjQwMzg2OTg2NzMyNDgyOV0sIFsxNjYzODE4MDUxLjQwNDc5MywgNDE1OCwgMS4zMzIxNjY1NTI1NDM2NDAxXSwgWzE2NjM4MTgwNTEuODM2NjcxOCwgNDE5NCwgMS4xOTU1MjIwNjk5MzEwMzAzXSwgWzE2NjM4MTgwNTEuOTM4MjY5MSwgNDIwMywgMS4zOTg2MTE1NDU1NjI3NDQxXSwgWzE2NjM4MTgwNTIuMTIxOTQ1NCwgNDIyMSwgMS4zMTcwNzgzNTE5NzQ0ODczXSwgWzE2NjM4MTgwNTIuMzAzMDIzLCA0MjM5LCAxLjg1ODk3MzAyNjI3NTYzNDhdLCBbMTY2MzgxODA1Mi44ODI2NzcsIDQyNzUsIDEuMzI2ODExMzEzNjI5MTUwNF0sIFsxNjYzODE4MDUyLjk4OTEwMzYsIDQyODQsIDEuNTAzMjMyNTk4MzA0NzQ4NV0sIFsxNjYzODE4MDUzLjI2NjE1NDgsIDQzMTEsIDEuNjc4OTY5ODYwMDc2OTA0M10sIFsxNjYzODE4MDUzLjQ0ODMzNDIsIDQzMjksIDEuNzYwODEyOTk3ODE3OTkzMl0sIFsxNjYzODE4MDUzLjUyOTY2OCwgNDMzOCwgMS4zOTg3MDE2Njc3ODU2NDQ1XSwgWzE2NjM4MTgwNTMuNzA1MzI3NSwgNDM1NiwgMS42OTEzMDk4MDk2ODQ3NTM0XSwgWzE2NjM4MTgwNTMuNzkwMTE5NiwgNDM2NSwgMS4zMDUyNzE4NjM5MzczNzhdLCBbMTY2MzgxODA1NC4wNjA1OTAzLCA0MzkyLCAxLjM3ODQxNjQxOTAyOTIzNThdLCBbMTY2MzgxODA1NC4xNDgyMTM0LCA0NDAxLCAxLjY2MzQyODY2NDIwNzQ1ODVdLCBbMTY2MzgxODA1NC4yMzU3MTksIDQ0MTAsIDEuNDg0OTE0NjYwNDUzNzk2NF0sIFsxNjYzODE4MDU0LjQwNTY2OTcsIDQ0MjgsIDEuMjIzMjM1NjA3MTQ3MjE2OF0sIFsxNjYzODE4MDU0LjY2MjQ5MzUsIDQ0NTUsIDEuMzM1ODg4MjY2NTYzNDE1NV0sIFsxNjYzODE4MDU1LjA2NzIxMjYsIDQ0OTEsIDEuNTc4Njk3NDQzMDA4NDIyOV0sIFsxNjYzODE4MDU1LjQ2MjYwNzYsIDQ1MjcsIDEuNzExMTQzMzc0NDQzMDU0Ml0sIFsxNjYzODE4MDU1LjU1MjY5MTUsIDQ1MzYsIDEuMjg2MjMzNDI1MTQwMzgwOV0sIFsxNjYzODE4MDU1LjgzMDExNiwgNDU2MywgMS40NDYxODk4ODAzNzEwOTM4XSwgWzE2NjM4MTgwNTYuMTAzNzAwMiwgNDU5MCwgMS4zODE4NzA4NjU4MjE4Mzg0XSwgWzE2NjM4MTgwNTYuMTk1MTU0NywgNDU5OSwgMS41MTMwNjQxNDYwNDE4NzAxXSwgWzE2NjM4MTgwNTYuMjgyNzk2NCwgNDYwOCwgMS4yNjkxMTk3Mzk1MzI0NzA3XSwgWzE2NjM4MTgwNTYuMzY5Nzc2NywgNDYxNywgMS43NTYzMDExNjQ2MjcwNzUyXSwgWzE2NjM4MTgwNTYuNDU1OTU4MSwgNDYyNiwgMS4zMzQ3OTExODM0NzE2Nzk3XSwgWzE2NjM4MTgwNTYuNTQ0NzQ1LCA0NjM1LCAxLjMwOTIxNDQ3Mjc3MDY5MV0sIFsxNjYzODE4MDU2LjgyMTcwOTksIDQ2NjIsIDEuNDI3OTgwNDIyOTczNjMyOF0sIFsxNjYzODE4MDU2LjkwODk3MiwgNDY3MSwgMS41ODYxMTQ3NjQyMTM1NjJdLCBbMTY2MzgxODA1Ny4wMDcwODQ0LCA0NjgwLCAxLjQ1ODM1MTM3MzY3MjQ4NTRdLCBbMTY2MzgxODA1Ny4xMjM0NTk2LCA0Njg5LCAxLjQ0OTIyNzA5NDY1MDI2ODZdLCBbMTY2MzgxODA1Ny40MDYzODA3LCA0NzE2LCAxLjQ1MTk1MjA5OTgwMDEwOTldLCBbMTY2MzgxODA1OC4wMzQ3MzUyLCA0Nzc5LCAxLjM3MjQ1NDA0NzIwMzA2NF0sIFsxNjYzODE4MDU4LjM2NjQ1MywgNDgwNiwgMS4yMjEyMzg2MTMxMjg2NjJdLCBbMTY2MzgxODA1OC40ODY2MjA0LCA0ODE1LCAxLjM3MDQxNTkyNTk3OTYxNDNdLCBbMTY2MzgxODA1OC42OTE3MTA3LCA0ODMzLCAxLjcwNTg1Mjk4NTM4MjA4XSwgWzE2NjM4MTgwNTguNzgxMzE0MSwgNDg0MiwgMS44MzA1NzA0NTkzNjU4NDQ3XSwgWzE2NjM4MTgwNTguODcxMzYxMywgNDg1MSwgMS4xNzcwODMyNTM4NjA0NzM2XSwgWzE2NjM4MTgwNTkuMDk4NTI0LCA0ODY5LCAxLjMyMjIxOTQ5MTAwNDk0MzhdLCBbMTY2MzgxODA1OS4zMjcxMjcyLCA0ODg3LCAxLjI5MjY4MTU3NDgyMTQ3MjJdLCBbMTY2MzgxODA1OS41MDgwOTQ1LCA0OTA1LCAxLjM0NjM2OTE0NzMwMDcyMDJdLCBbMTY2MzgxODA1OS43MDk1ODQyLCA0OTIzLCAxLjYzMzc0ODI5MjkyMjk3MzZdLCBbMTY2MzgxODA1OS44MTgzNTQ0LCA0OTMyLCAxLjM1MDI5NTY2Mjg3OTk0MzhdLCBbMTY2MzgxODA2MC4xMDkyNDI3LCA0OTU5LCAxLjIzNzEyMDUwOTE0NzY0NF0sIFsxNjYzODE4MDYwLjI5Mjg4NiwgNDk3NywgMS41NjE5MDU3NDE2OTE1ODk0XSwgWzE2NjM4MTgwNjAuNjA4MDI4NCwgNTAwNCwgMS4zODE5MjY0MTczNTA3NjldLCBbMTY2MzgxODA2MC43MTE4NTY4LCA1MDEzLCAxLjIwNDY2NDgyNjM5MzEyNzRdLCBbMTY2MzgxODA2MS40NjAxOTA1LCA1MDY3LCAxLjQwMjk2NjYxODUzNzkwMjhdLCBbMTY2MzgxODA2MS41NTc3MDgsIDUwNzYsIDEuMjI0MTMzODQ5MTQzOTgyXSwgWzE2NjM4MTgwNjEuNjU2MDQ2MiwgNTA4NSwgMS4yOTA1MzIyMzEzMzA4NzE2XSwgWzE2NjM4MTgwNjIuMDQ0ODc2OCwgNTEyMSwgMS4zMDQ3NjQ3NDc2MTk2MjldLCBbMTY2MzgxODA2Mi4zNDY1NjQ1LCA1MTQ4LCAxLjI1NjkxMTAzOTM1MjQxN10sIFsxNjYzODE4MDYyLjUzOTgwNzMsIDUxNjYsIDEuMjM5NDI1NDIwNzYxMTA4NF0sIFsxNjYzODE4MDYyLjgzNTIwOTgsIDUxOTMsIDEuODI4ODM3MDM3MDg2NDg2OF0sIFsxNjYzODE4MDYzLjI0MDY3MywgNTIyOSwgMS41MTE2MTgyNTY1Njg5MDg3XSwgWzE2NjM4MTgwNjMuNjEzNDk2OCwgNTI2NSwgMS4zNjM4ODQ1NjgyMTQ0MTY1XSwgWzE2NjM4MTgwNjMuNjg5NTM2LCA1Mjc0LCAxLjQxMjQ3MzQ0MDE3MDI4OF0sIFsxNjYzODE4MDYzLjc4MzI2MjUsIDUyODMsIDEuMzcxMDA4OTkyMTk1MTI5NF0sIFsxNjYzODE4MDYzLjk1NTAwNSwgNTMwMSwgMS4yMzE3NDE5MDUyMTI0MDIzXSwgWzE2NjM4MTgwNjQuMTMyODA3MywgNTMxOSwgMS4zNDIxNzU0ODM3MDM2MTMzXSwgWzE2NjM4MTgwNjQuMjU5MzA3MSwgNTMyOCwgMS4xMjIwNzg2NTcxNTAyNjg2XSwgWzE2NjM4MTgwNjQuMzY2MjYwOCwgNTMzNywgMS4yMzQ1NjkwNzI3MjMzODg3XSwgWzE2NjM4MTgwNjQuNTM3MTIzLCA1MzU1LCAxLjIzOTg5NDI3MDg5NjkxMTZdLCBbMTY2MzgxODA2NC43MjY5NDUyLCA1MzczLCAxLjM3MjE2NzExMDQ0MzExNTJdLCBbMTY2MzgxODA2NC44OTI4OTcxLCA1MzkxLCAxLjE3OTcyMTcxMzA2NjEwMV0sIFsxNjYzODE4MDY0Ljk3ODgxNjcsIDU0MDAsIDEuMzUzMjgxNDk3OTU1MzIyM10sIFsxNjYzODE4MDY1LjI0MTYsIDU0MjcsIDEuNjA4NDQ3NDMyNTE4MDA1NF0sIFsxNjYzODE4MDY1LjM1OTgyMTgsIDU0MzYsIDEuMzQyNTE2MDY0NjQzODU5OV0sIFsxNjYzODE4MDY1Ljg4MDEyMzQsIDU0ODEsIDEuMTY4NjI0NTIwMzAxODE4OF0sIFsxNjYzODE4MDY2LjA2NDAxOTcsIDU0OTksIDEuMjM1MzIwNjg3Mjk0MDA2M10sIFsxNjYzODE4MDY2LjM0Mzk0MzgsIDU1MjYsIDEuMzE4MDA3NDY5MTc3MjQ2XSwgWzE2NjM4MTgwNjYuNDM1MjYwNSwgNTUzNSwgMS4xOTM0Nzc5ODgyNDMxMDNdLCBbMTY2MzgxODA2Ni42NDA3MjEsIDU1NTMsIDEuMTQ4MDUyMjE1NTc2MTcxOV0sIFsxNjYzODE4MDY2LjgxNjQ5MTEsIDU1NzEsIDEuNTQyMjQ5Nzk4Nzc0NzE5Ml0sIFsxNjYzODE4MDY2Ljk4OTIwNCwgNTU4OSwgMS40MjUwNzk1ODQxMjE3MDRdLCBbMTY2MzgxODA2Ny4xNjAzNzMyLCA1NjA3LCAxLjI1MDQzNDA0MTAyMzI1NDRdLCBbMTY2MzgxODA2Ny4yNDU4MTg5LCA1NjE2LCAxLjM0MDY3Nzg1NzM5ODk4NjhdLCBbMTY2MzgxODA2Ny41MDYyMDQxLCA1NjQzLCAxLjIxOTAzMzI0MTI3MTk3MjddLCBbMTY2MzgxODA2Ny42ODcxOTg0LCA1NjYxLCAxLjMzMDU4MzgxMDgwNjI3NDRdLCBbMTY2MzgxODA2Ny43Nzc4MTk2LCA1NjcwLCAxLjIzNTU5MTQxMTU5MDU3NjJdLCBbMTY2MzgxODA2OC4xMjk1MDEzLCA1NzA2LCAxLjIyMTgwODkxMDM2OTg3M10sIFsxNjYzODE4MDY4LjQ3NDk4LCA1NzQyLCAxLjMyNTI5Njg3ODgxNDY5NzNdLCBbMTY2MzgxODA2OC43NTQ3MTM4LCA1NzY5LCAxLjM1NzM5MjMxMTA5NjE5MTRdLCBbMTY2MzgxODA2OC44NDI5NzI4LCA1Nzc4LCAxLjQ0Njg2ODg5NjQ4NDM3NV0sIFsxNjYzODE4MDY4LjkyMjc0MzgsIDU3ODcsIDEuMTY1NDU3ODQ0NzM0MTkyXSwgWzE2NjM4MTgwNjkuMDA1MzYyNywgNTc5NiwgMS4zMzUzODkwMTgwNTg3NzY5XSwgWzE2NjM4MTgwNjkuMDk2MTU5NSwgNTgwNSwgMS43MTAwMzc1ODkwNzMxODEyXSwgWzE2NjM4MTgwNjkuNjg0NzY3NSwgNTg1MCwgMS4yMDQxNTcxMTQwMjg5MzA3XSwgWzE2NjM4MTgwNjkuODc5MzEwMSwgNTg2OCwgMS4xNzQ4Njc2MzAwMDQ4ODI4XSwgWzE2NjM4MTgwNjkuOTYyMTk1LCA1ODc3LCAxLjczNDM3NjkwNzM0ODYzMjhdLCBbMTY2MzgxODA3MC4xMzE5NjE2LCA1ODk1LCAxLjIyMTE0OTIwNjE2MTQ5OV0sIFsxNjYzODE4MDcwLjIxODAzMywgNTkwNCwgMS4xNjQyMTA2NzcxNDY5MTE2XSwgWzE2NjM4MTgwNzAuNDc2MTQ5NiwgNTkzMSwgMS4xODk4NDkxMzgyNTk4ODc3XSwgWzE2NjM4MTgwNzAuNjQ3NTcyOCwgNTk0OSwgMS4yOTc5MDgwNjc3MDMyNDddLCBbMTY2MzgxODA3MS4yODU0MzY5LCA2MDEyLCAxLjI1NTk1Mzc4ODc1NzMyNDJdLCBbMTY2MzgxODA3MS41Mzk0Njc2LCA2MDM5LCAxLjI2MDk3ODEwMjY4NDAyMV0sIFsxNjYzODE4MDcxLjk4MTg2MywgNjA4NCwgMS41MTU2NzAyOTk1MzAwMjkzXSwgWzE2NjM4MTgwNzIuMDY5MTIzNSwgNjA5MywgMS4yNzg0NzEyMzE0NjA1NzEzXSwgWzE2NjM4MTgwNzIuMTU2MzY2NiwgNjEwMiwgMS40Mzg2MDU0Mjc3NDIwMDQ0XSwgWzE2NjM4MTgwNzIuNDE2NDQ1LCA2MTI5LCAxLjI4MTg3NTM3MTkzMjk4MzRdLCBbMTY2MzgxODA3Mi41ODkzMjkyLCA2MTQ3LCAxLjM2NTg1OTI3MDA5NTgyNTJdLCBbMTY2MzgxODA3Mi42NzMzMzQ2LCA2MTU2LCAxLjM3OTY1ODEwMjk4OTE5NjhdLCBbMTY2MzgxODA3Mi43NTc5OTYsIDYxNjUsIDEuMjAwNjI1ODk2NDUzODU3NF0sIFsxNjYzODE4MDczLjAyMTE5NCwgNjE5MiwgMS4zMDA2NDE2NTU5MjE5MzZdLCBbMTY2MzgxODA3My40NDk2OTkyLCA2MjM3LCAxLjQwNjk0Nzg1MTE4MTAzMDNdLCBbMTY2MzgxODA3My42MTM2NTkxLCA2MjU1LCAxLjIxODU1NDg1NDM5MzAwNTRdLCBbMTY2MzgxODA3My43OTM1MjYyLCA2MjczLCAxLjExMzE0NzAyMDMzOTk2NThdLCBbMTY2MzgxODA3My44ODU4NTAyLCA2MjgyLCAxLjY3NTM3NDg2NTUzMTkyMTRdLCBbMTY2MzgxODA3NC4xMzc4MTY0LCA2MzAwLCAxLjE0NzM3OTI3OTEzNjY1NzddLCBbMTY2MzgxODA3NC40MDY0NDE1LCA2MzI3LCAyLjAwNzQ5OTIxNzk4NzA2MDVdLCBbMTY2MzgxODA3NC40OTc5MDQzLCA2MzM2LCAxLjE4ODgyNjU2MDk3NDEyMV0sIFsxNjYzODE4MDc0LjY2NjQ5LCA2MzU0LCAxLjI2MTk0Mjg2MzQ2NDM1NTVdLCBbMTY2MzgxODA3NS4wMDI1ODY0LCA2MzkwLCAxLjA4ODQ3NzczMDc1MTAzNzZdLCBbMTY2MzgxODA3NS4wODgyNjc2LCA2Mzk5LCAxLjE0NDg2MzQ4NjI4OTk3OF0sIFsxNjYzODE4MDc1LjI0OTE0ODQsIDY0MTcsIDEuMjA4NTQ3MzUzNzQ0NTA2OF0sIFsxNjYzODE4MDc1LjQ5MjgxMDIsIDY0NDQsIDEuMjQ3MTUyOTI0NTM3NjU4N10sIFsxNjYzODE4MDc1LjY2MTk4NDcsIDY0NjIsIDEuMjI2MTg4MTgyODMwODEwNV0sIFsxNjYzODE4MDc1LjkyNTA3MDgsIDY0ODksIDEuMTgxODk2OTI0OTcyNTM0Ml0sIFsxNjYzODE4MDc2LjAyMDUxMjMsIDY0OTgsIDEuMzYwNTE4ODEzMTMzMjM5N10sIFsxNjYzODE4MDc2LjE5MzY5OTYsIDY1MTYsIDEuMDg4MzMzMTI5ODgyODEyNV0sIFsxNjYzODE4MDc2LjM2Njc5MiwgNjUzNCwgMS4xNDc2NTU4NDQ2ODg0MTU1XSwgWzE2NjM4MTgwNzYuNDQ1OTI3NCwgNjU0MywgMS4xMTQ1Nzg4NDMxMTY3NjAzXSwgWzE2NjM4MTgwNzYuNjE4NDcwMiwgNjU2MSwgMS4yMDI2NzExNzAyMzQ2ODAyXSwgWzE2NjM4MTgwNzYuNzA0MTA0LCA2NTcwLCAxLjUyNTY3MjU1NDk2OTc4NzZdLCBbMTY2MzgxODA3Ni44ODE3Njk0LCA2NTg4LCAxLjA4MDM5NzI0ODI2ODEyNzRdLCBbMTY2MzgxODA3Ni45NzU2ODA0LCA2NTk3LCAxLjIzODAxNTI5NDA3NTAxMjJdLCBbMTY2MzgxODA3Ny4yMzQ4OSwgNjYwNiwgMS4zNTk1NDc5NzI2NzkxMzgyXSwgWzE2NjM4MTgwNzcuNzQwMzkzMiwgNjY1MSwgMS4yNzY5MTE5NzM5NTMyNDddLCBbMTY2MzgxODA3OC4yNDExMzc1LCA2Njg3LCAxLjEyNDQ3MTQyNjAxMDEzMThdLCBbMTY2MzgxODA3OC4zMjkwMDAyLCA2Njk2LCAxLjA4MTYxMjgyNTM5MzY3NjhdLCBbMTY2MzgxODA3OC40MTk3MTY2LCA2NzA1LCAxLjA1MjQ0NzMxOTAzMDc2MTddLCBbMTY2MzgxODA3OS41MjQzODI0LCA2ODEzLCAxLjMxMzUzODc4OTc0OTE0NTVdLCBbMTY2MzgxODA3OS42OTUyMjI2LCA2ODMxLCAxLjM2NDU5MDUyNTYyNzEzNjJdLCBbMTY2MzgxODA4MC4yMTg1ODY0LCA2ODg1LCAxLjA1NzQ5NjMwOTI4MDM5NTVdLCBbMTY2MzgxODA4MC4zMDI3MywgNjg5NCwgMS4xNzU3NDg5NDQyODI1MzE3XSwgWzE2NjM4MTgwODAuNjQ2NjYyNywgNjkyMSwgMS4zMzYwNDUxNDU5ODg0NjQ0XSwgWzE2NjM4MTgwODAuNzM3MTM2NCwgNjkzMCwgMS4yNDIyODcwMzk3NTY3NzVdLCBbMTY2MzgxODA4MS4wMzI4Mzc0LCA2OTU3LCAxLjM0Nzc3NTIyMDg3MDk3MTddLCBbMTY2MzgxODA4MS4zMjY3MjIxLCA2OTg0LCAxLjg3NDkzODEzMDM3ODcyMzFdLCBbMTY2MzgxODA4MS40MTg3MDgsIDY5OTMsIDEuNDM1MjE4NTcyNjE2NTc3MV0sIFsxNjYzODE4MDgxLjU5NDM3MjMsIDcwMTEsIDEuMzI4OTE2NjY4ODkxOTA2N10sIFsxNjYzODE4MDgxLjY4NTk1LCA3MDIwLCAxLjM4NTQxMDY2NjQ2NTc1OTNdLCBbMTY2MzgxODA4MS43Njg3MzksIDcwMjksIDEuMjE1ODU5NjUxNTY1NTUxOF0sIFsxNjYzODE4MDgxLjg1ODg3MDMsIDcwMzgsIDEuMDU4MzcyOTc0Mzk1NzUyXSwgWzE2NjM4MTgwODEuOTUxNjA0OCwgNzA0NywgMS4yMDQ4NjQyNjM1MzQ1NDZdLCBbMTY2MzgxODA4Mi41MDUxOTY4LCA3MTAxLCAxLjI1OTA3MzEzODIzNjk5OTVdLCBbMTY2MzgxODA4Mi44MTM0MjcyLCA3MTI4LCAxLjE4NjUyOTA0MDMzNjYwODldLCBbMTY2MzgxODA4NC4wMTk4Mjg4LCA3MjQ1LCAxLjA1ODYyNjUzMjU1NDYyNjVdLCBbMTY2MzgxODA4NC4xMTYyODMyLCA3MjU0LCAxLjA4NDIyNDEwNDg4MTI4NjZdLCBbMTY2MzgxODA4NC4xOTg2Mzk0LCA3MjYzLCAxLjI3NDg1MjUxNDI2Njk2NzhdLCBbMTY2MzgxODA4NC4yODEzODM1LCA3MjcyLCAxLjM4NjE5ODg3ODI4ODI2OV0sIFsxNjYzODE4MDg0LjU4NzIwMzMsIDcyOTksIDEuNDQxNDQ5OTk5ODA5MjY1MV0sIFsxNjYzODE4MDg1LjI5NjgwOTQsIDczNzEsIDEuMTU5MDA5NDU2NjM0NTIxNV0sIFsxNjYzODE4MDg1LjUzNzQxNTMsIDczODAsIDEuMDAxNTQxOTcyMTYwMzM5NF0sIFsxNjYzODE4MDg2LjI1NTIxODcsIDc0NTIsIDEuMTc3MzE3MTQyNDg2NTcyM10sIFsxNjYzODE4MDg2LjM1ODQ4NzgsIDc0NjEsIDEuMTYzMDk2NDI3OTE3NDgwNV0sIFsxNjYzODE4MDg2Ljc4NzcxNjIsIDc0OTcsIDEuMDc1MzM0NTQ4OTUwMTk1M10sIFsxNjYzODE4MDg2Ljg5MDY5MzIsIDc1MDYsIDEuMDA5MTQxODAyNzg3NzgwOF0sIFsxNjYzODE4MDg3LjEwNDY5MjUsIDc1MjQsIDEuMTY3Mzc3OTQ4NzYwOTg2M10sIFsxNjYzODE4MDg3LjE5NzI4MzcsIDc1MzMsIDEuNDIxNDg1NzgxNjY5NjE2N10sIFsxNjYzODE4MDg3LjI4NDA5NTUsIDc1NDIsIDEuNDExMjA4MTUyNzcwOTk2XSwgWzE2NjM4MTgwODcuNDU0MDc3NSwgNzU2MCwgMC45OTcyOTY4MTAxNTAxNDY1XSwgWzE2NjM4MTgwODcuNTQyNDg4OCwgNzU2OSwgMS4yODAyOTUzNzIwMDkyNzczXSwgWzE2NjM4MTgwODcuODAxMDYxLCA3NTk2LCAxLjUyNTIyODczODc4NDc5XSwgWzE2NjM4MTgwODcuOTkzMzg5NiwgNzYxNCwgMS4yMTU4MDExMTk4MDQzODIzXSwgWzE2NjM4MTgwODguNDU0MjgxMywgNzY1OSwgMS4yNDYwMzg0MzY4ODk2NDg0XSwgWzE2NjM4MTgwODguNTUzMTk5OCwgNzY2OCwgMS42NzUxOTAyMTAzNDI0MDcyXSwgWzE2NjM4MTgwODguODM2MzQyMywgNzY5NSwgMS40MDE3NzM1NzE5NjgwNzg2XSwgWzE2NjM4MTgwODkuMTMwNTgwNywgNzcyMiwgMS4xODYyMDA3Mzc5NTMxODZdLCBbMTY2MzgxODA4OS40MDEzMDY5LCA3NzQ5LCAxLjM5Mjk1MDA1Nzk4MzM5ODRdLCBbMTY2MzgxODA4OS41ODkyNTcyLCA3NzY3LCAxLjUxNzgxODU3MDEzNzAyNF0sIFsxNjYzODE4MDg5Ljg5NzEwODMsIDc3OTQsIDEuMTkzOTk5NjQ4MDk0MTc3Ml0sIFsxNjYzODE4MDkwLjAwNTk3MDcsIDc4MDMsIDEuMjU1MjEwNjM4MDQ2MjY0Nl0sIFsxNjYzODE4MDkwLjQwNDYxMzcsIDc4MzksIDEuMzI1NzczMTE5OTI2NDUyNl0sIFsxNjYzODE4MDkwLjUwMjYwNDUsIDc4NDgsIDEuMDU3Mjc3Njc5NDQzMzU5NF0sIFsxNjYzODE4MDkxLjgzMDgwOTYsIDc5NjUsIDEuMTU0MDUxMDY1NDQ0OTQ2M10sIFsxNjYzODE4MDkxLjkyMDY1NzIsIDc5NzQsIDEuMTU5MjMyMTM5NTg3NDAyM10sIFsxNjYzODE4MDkyLjAxODAwMzIsIDc5ODMsIDEuNDA0MTgwNDA3NTI0MTA4OV0sIFsxNjYzODE4MDkyLjM4MDA1MzgsIDgwMTksIDEuNzk5MTUxMDYyOTY1MzkzXSwgWzE2NjM4MTgwOTIuNTUyNjUyNiwgODAzNywgMS4yMzE1NTY4OTIzOTUwMTk1XSwgWzE2NjM4MTgwOTIuODk1OTAyNCwgODA2NCwgMS45NDIxOTIzMTYwNTUyOTc5XSwgWzE2NjM4MTgwOTMuMTA4NTkyMywgODA4MiwgMS42MTkzODUxMjMyNTI4Njg3XSwgWzE2NjM4MTgwOTMuMjExNTM5MywgODA5MSwgMS4zNzI4NTcwOTM4MTEwMzUyXSwgWzE2NjM4MTgwOTMuNTIyNTc4NywgODExOCwgMS4yNTE2NDQ5Njg5ODY1MTEyXSwgWzE2NjM4MTgwOTMuNjM2MjU5OCwgODEyNywgMS4xMDkzNDE5NzkwMjY3OTQ0XSwgWzE2NjM4MTgwOTQuMzIzOTgzNCwgODE3MiwgMS4wODI3NjQ1MDYzNDAwMjY5XSwgWzE2NjM4MTgwOTQuNDQzODE1MiwgODE4MSwgMS4xMjM0MjE0MzA1ODc3Njg2XSwgWzE2NjM4MTgwOTQuNjUyMjYzMiwgODE5OSwgMS4yMjE5NDMyNTkyMzkxOTY4XSwgWzE2NjM4MTgwOTQuNzYwNjExOCwgODIwOCwgMS4xOTA4MDAxODk5NzE5MjM4XSwgWzE2NjM4MTgwOTUuMDc5MDgyNywgODIzNSwgMS4xNzk3MDIyODE5NTE5MDQzXSwgWzE2NjM4MTgwOTUuNDk0NjMxLCA4MjcxLCAxLjA4NTgyOTYxNTU5Mjk1NjVdLCBbMTY2MzgxODA5NS41NzUxNzU4LCA4MjgwLCAxLjA3MTU3Mzg1MzQ5MjczNjhdLCBbMTY2MzgxODA5NS43NTc4ODI0LCA4Mjk4LCAxLjIxMDA5MzYxNzQzOTI3XSwgWzE2NjM4MTgwOTUuOTgyNjM2NywgODMxNiwgMS4zODYzMTAxMDA1NTU0Ml0sIFsxNjYzODE4MDk2LjUxNjM4OSwgODM2MSwgMS4wMTUyMjg3NDgzMjE1MzMyXSwgWzE2NjM4MTgwOTYuNzExOTEwNSwgODM3OSwgMS4xNTQyMzQwNTE3MDQ0MDY3XSwgWzE2NjM4MTgwOTYuODA2NjUxNiwgODM4OCwgMS4xNjgyNDYxNTAwMTY3ODQ3XSwgWzE2NjM4MTgwOTYuODg0NDU3LCA4Mzk3LCAxLjM0NTEyNzk0MDE3NzkxNzVdLCBbMTY2MzgxODA5Ny4xNDcxNTcyLCA4NDI0LCAxLjE2ODg2NjAzODMyMjQ0ODddLCBbMTY2MzgxODA5Ny40ODg0MzQsIDg0NjAsIDEuMDY0NDU4NzI3ODM2NjA4OV0sIFsxNjYzODE4MDk3LjY2ODMzODUsIDg0NzgsIDEuMDYwMjA0NzQ0MzM4OTg5M10sIFsxNjYzODE4MDk3Ljc3NTM2NjUsIDg0ODcsIDEuMzE3MzM5Nzc3OTQ2NDcyMl0sIFsxNjYzODE4MDk4LjA2OTU2ODksIDg1MTQsIDEuMTIyODQ0OTM0NDYzNTAxXSwgWzE2NjM4MTgwOTguNDQ2MTE1MywgODU1MCwgMC45OTIwMDg5MjQ0ODQyNTI5XSwgWzE2NjM4MTgwOTguNzIyNzY0LCA4NTc3LCAwLjk1NTAyMTg1ODIxNTMzMl0sIFsxNjYzODE4MDk5LjAyMDA4NzIsIDg2MDQsIDEuMjE2NzUyMjkwNzI1NzA4XSwgWzE2NjM4MTgwOTkuMTI2NDI4OCwgODYxMywgMS4yMTM0NDY0OTc5MTcxNzUzXSwgWzE2NjM4MTgwOTkuNTAxNTM3NiwgODY0OSwgMS4xODI3MTI0MzU3MjIzNTFdLCBbMTY2MzgxODA5OS43MTQ0NTQsIDg2NjcsIDEuMTY0Mjk4MDU3NTU2MTUyM10sIFsxNjYzODE4MDk5LjgxNzY5MzIsIDg2NzYsIDEuMTA0NTkyNTYxNzIxODAxOF0sIFsxNjYzODE4MTAwLjAxMDQzOCwgODY5NCwgMS40MTc3NjQ1NDQ0ODY5OTk1XSwgWzE2NjM4MTgxMDAuMjM0OTM2MiwgODcxMiwgMS4yNTIzMDEyMTYxMjU0ODgzXSwgWzE2NjM4MTgxMDAuMzI5NDI3NywgODcyMSwgMS4zNTg0NjYwMjkxNjcxNzUzXSwgWzE2NjM4MTgxMDAuNjM4MTY2MiwgODc0OCwgMS4xNTc0NDAwNjYzMzc1ODU0XSwgWzE2NjM4MTgxMDEuMTc1MTA3MiwgODc5MywgMS4zODcxNzIxMDI5MjgxNjE2XSwgWzE2NjM4MTgxMDEuMzQyOTgxOCwgODgxMSwgMS4xNzU3MjU4MTc2ODAzNTg5XSwgWzE2NjM4MTgxMDEuNDI4NTYyOSwgODgyMCwgMS4yNzE5MjU0NDkzNzEzMzhdLCBbMTY2MzgxODEwMS42ODQyMTkxLCA4ODQ3LCAxLjQ0NjQzNzIzOTY0NjkxMTZdLCBbMTY2MzgxODEwMi4xNDcxMzUsIDg4ODMsIDEuMDkwNjY0MDI5MTIxMzk5XSwgWzE2NjM4MTgxMDIuNTY2OTg2MywgODkxOSwgMS42Mjk4OTgwNzEyODkwNjI1XSwgWzE2NjM4MTgxMDIuOTU0NTQ1NywgODkzNywgMS4zMjk3OTI5NzYzNzkzOTQ1XSwgWzE2NjM4MTgxMDMuMTU1MjUxNSwgODk1NSwgMS4yMDY0MTE5NTc3NDA3ODM3XSwgWzE2NjM4MTgxMDMuMzkxNTE5MywgODk3MywgMS43MjIyOTk0NTY1OTYzNzQ1XSwgWzE2NjM4MTgxMDMuNTc1MjYzNSwgODk5MSwgMS4xMjg5NTMyMTg0NjAwODNdLCBbMTY2MzgxODEwMy42NjAyNjA0LCA5MDAwLCAwLjkzMDE4MTIwNTI3MjY3NDZdLCBbMTY2MzgxODEwMy45NjM5NTUyLCA5MDI3LCAxLjE5MDAxNDk1ODM4MTY1MjhdLCBbMTY2MzgxODEwNC4wNTcyNzk2LCA5MDM2LCAxLjA4MzE0MjI4MDU3ODYxMzNdLCBbMTY2MzgxODEwNC4xNDg0MjE1LCA5MDQ1LCAxLjUyOTQyNjY5MzkxNjMyMDhdLCBbMTY2MzgxODEwNC4zMzU1NDc3LCA5MDYzLCAxLjA2MTIxOTY5MjIzMDIyNDZdLCBbMTY2MzgxODEwNC44NTMzNTY0LCA5MTA4LCAxLjE5NDM5ODk5OTIxNDE3MjRdLCBbMTY2MzgxODEwNS4wNDAxNTE0LCA5MTI2LCAxLjEyODA0MTI2NzM5NTAxOTVdLCBbMTY2MzgxODEwNS4yNDI0OTIsIDkxNDQsIDEuMDM5NDU3Nzk4MDA0MTUwNF0sIFsxNjYzODE4MTA1Ljg5MTQ5NjcsIDkyMDcsIDEuMDUwNzYxNDYxMjU3OTM0Nl0sIFsxNjYzODE4MTA2LjIzMjM0NTMsIDkyNDMsIDEuMDUxNzk4MzQzNjU4NDQ3M10sIFsxNjYzODE4MTA2LjQyNDg1ODYsIDkyNjEsIDEuMTA2Mjg5MDI5MTIxMzk5XSwgWzE2NjM4MTgxMDYuNTE2Mjc1MiwgOTI3MCwgMS4wNjI3ODI1MjYwMTYyMzU0XSwgWzE2NjM4MTgxMDcuMDYxNTU2OCwgOTMyNCwgMS4wODk3Mjg5NTE0NTQxNjI2XSwgWzE2NjM4MTgxMDcuMTQ0ODcwOCwgOTMzMywgMS4xNDU1MDc1NzQwODE0MjFdLCBbMTY2MzgxODEwNy4yMjY4ODkxLCA5MzQyLCAxLjQwNDYyMzc0Njg3MTk0ODJdLCBbMTY2MzgxODEwNy4zMTQ2ODk2LCA5MzUxLCAxLjI3NDQ4Mzc5OTkzNDM4NzJdLCBbMTY2MzgxODEwNy4zODY4ODIzLCA5MzYwLCAxLjYyOTA1MzgzMTEwMDQ2MzldLCBbMTY2MzgxODEwNy43NzIxMzY3LCA5Mzk2LCAxLjA1MzUxNDgzODIxODY4OV0sIFsxNjYzODE4MTA4LjAxODkwNCwgOTQyMywgMS4zMDc1OTI4Njg4MDQ5MzE2XSwgWzE2NjM4MTgxMDguODk4MzI3NiwgOTUxMywgMS4xODY4NDI1NjA3NjgxMjc0XSwgWzE2NjM4MTgxMDkuMDc3NDE1LCA5NTMxLCAxLjIyMjAwODM0NzUxMTI5MTVdLCBbMTY2MzgxODEwOS4xNzAxNTY3LCA5NTQwLCAxLjA0NjE3Nzg2NDA3NDcwN10sIFsxNjYzODE4MTA5LjI1NjM1MTIsIDk1NDksIDEuMTU2NzI4ODYzNzE2MTI1NV0sIFsxNjYzODE4MTA5LjQ0NjkzNTcsIDk1NjcsIDEuMTk0NDk4ODk2NTk4ODE2XSwgWzE2NjM4MTgxMDkuNzE2MzMwOCwgOTU5NCwgMS4zNDg3NDEwNTQ1MzQ5MTJdLCBbMTY2MzgxODEwOS45NTU2ODgsIDk2MTIsIDEuMDk2MDI3NjEyNjg2MTU3Ml0sIFsxNjYzODE4MTEwLjE4NzUyMzYsIDk2MzAsIDEuMDc0OTIxODQ2Mzg5NzcwNV0sIFsxNjYzODE4MTEwLjMwNzMwNDEsIDk2MzksIDEuMTEwMDU0OTY5Nzg3NTk3N10sIFsxNjYzODE4MTEwLjQyNzQxNjYsIDk2NDgsIDEuNDEzMTAxNDM0NzA3NjQxNl0sIFsxNjYzODE4MTEwLjU1NDczODgsIDk2NTcsIDEuMjg2MDgwMjQxMjAzMzA4XSwgWzE2NjM4MTgxMTAuNjUxNTQ2NSwgOTY2NiwgMS4wNDc0MzQ1Njg0MDUxNTE0XSwgWzE2NjM4MTgxMTAuNzU3MTk4NiwgOTY3NSwgMS4zMTIwODc0MTY2NDg4NjQ3XSwgWzE2NjM4MTgxMTEuMDg5MTkyNCwgOTcwMiwgMS4wNTY5NzY2NzU5ODcyNDM3XSwgWzE2NjM4MTgxMTEuMzMyMzYzOCwgOTcxMSwgMS4xNzEzMDk3MDk1NDg5NTAyXSwgWzE2NjM4MTgxMTEuNTMwOTYzMiwgOTcyOSwgMS4zNDM1MDk2NzQwNzIyNjU2XSwgWzE2NjM4MTgxMTEuNjIyODk3MSwgOTczOCwgMS4zNTIyNDYwNDYwNjYyODQyXSwgWzE2NjM4MTgxMTEuNzI4MDAxNiwgOTc0NywgMC45OTE0NTQ2NjA4OTI0ODY2XSwgWzE2NjM4MTgxMTIuMDExNjUzNCwgOTc3NCwgMC45NzkwMjYxMzg3ODI1MDEyXSwgWzE2NjM4MTgxMTIuMTA1MzU4NCwgOTc4MywgMS4wNTkwMDg4MzY3NDYyMTU4XSwgWzE2NjM4MTgxMTIuMTk2NDM3LCA5NzkyLCAxLjQ5NDI0MDQwMzE3NTM1NF0sIFsxNjYzODE4MTEyLjU2MzYzNjUsIDk4MjgsIDAuOTk0OTQ2MTgxNzc0MTM5NF0sIFsxNjYzODE4MTEzLjMxOTE1MjYsIDk4OTEsIDEuMDkzMTY3NTQzNDExMjU0OV0sIFsxNjYzODE4MTEzLjU0MzAzMzQsIDk5MDksIDEuNjE4NzY5NTI2NDgxNjI4NF0sIFsxNjYzODE4MTEzLjc0MjkwOCwgOTkyNywgMS4xMDc3NjQyNDQwNzk1ODk4XSwgWzE2NjM4MTgxMTMuODc1MTQzLCA5OTM2LCAwLjk0NDc4NjAxMjE3MjY5OV0sIFsxNjYzODE4MTEzLjk4NTI0OTUsIDk5NDUsIDEuMTQ4MzUyMjY1MzU3OTcxMl0sIFsxNjYzODE4MTE0LjI3ODc0MiwgOTk3MiwgMS40NDQxOTM4NDAwMjY4NTU1XSwgWzE2NjM4MTgxMTQuNDYxMDA4LCA5OTkwLCAxLjIzNjI0MjQxMzUyMDgxM10sIFsxNjYzODE4MTE0LjY2MTEzMTksIDEwMDA4LCAxLjA3NjEzNTAzOTMyOTUyODhdLCBbMTY2MzgxODExNC43NTU1MzQsIDEwMDE3LCAxLjQ2MzQyMzcyODk0Mjg3MV0sIFsxNjYzODE4MTE0LjkzMTEyNCwgMTAwMzUsIDEuMTU2MDAxMDkxMDAzNDE4XSwgWzE2NjM4MTgxMTUuMzgzMDExLCAxMDA4MCwgMS4yNDk0Njc0OTIxMDM1NzY3XSwgWzE2NjM4MTgxMTUuNTQ2MzU5OCwgMTAwOTgsIDEuNjA1MTI4NzY1MTA2MjAxMl0sIFsxNjYzODE4MTE1LjYzMzgyMywgMTAxMDcsIDAuOTc3NjI4NDA5ODYyNTE4M10sIFsxNjYzODE4MTE1LjkxNjAyOTUsIDEwMTM0LCAxLjA2MjE3NDkxNjI2NzM5NV0sIFsxNjYzODE4MTE2LjAwMzM3NTMsIDEwMTQzLCAxLjE2MTAxNTYyOTc2ODM3MTZdLCBbMTY2MzgxODExNi4yMTAyNjcsIDEwMTYxLCAwLjk3MTMxMTM5MDM5OTkzMjldLCBbMTY2MzgxODExNi4zMTM5MTcsIDEwMTcwLCAxLjI0MTI4MzE3ODMyOTQ2NzhdLCBbMTY2MzgxODExNi42MTM2NTA4LCAxMDE5NywgMS4wOTg4Mjg2NzMzNjI3MzJdLCBbMTY2MzgxODExNi43OTMxMjU5LCAxMDIxNSwgMC45ODIyODgwMDI5Njc4MzQ1XSwgWzE2NjM4MTgxMTYuODg4NDM0LCAxMDIyNCwgMS4wMTAwNjc1ODIxMzA0MzIxXSwgWzE2NjM4MTgxMTYuOTg2MTgyMiwgMTAyMzMsIDEuMDU3MTg5ODIyMTk2OTYwNF0sIFsxNjYzODE4MTE3LjMzMzE1NDcsIDEwMjYwLCAxLjE3NDMzNTI0MTMxNzc0OV0sIFsxNjYzODE4MTE3Ljk4Mjg5OCwgMTAzMjMsIDEuMDUzNjQ2NjgzNjkyOTMyMV0sIFsxNjYzODE4MTE4LjE2MDY2MDUsIDEwMzQxLCAxLjE3ODM1NDc0MDE0MjgyMjNdLCBbMTY2MzgxODExOC4zMjcyNjIsIDEwMzU5LCAxLjI3NzcwMjU2OTk2MTU0NzldLCBbMTY2MzgxODExOC40MjU2OTc2LCAxMDM2OCwgMS4wNjg2ODQ5MzU1Njk3NjMyXSwgWzE2NjM4MTgxMTguNTI2MjUxNiwgMTAzNzcsIDEuMzQzNzYyMDQwMTM4MjQ0Nl0sIFsxNjYzODE4MTE4LjY1MDIxODcsIDEwMzg2LCAxLjU4NTA3NjA5MzY3MzcwNl0sIFsxNjYzODE4MTE5LjQwMDM0OTYsIDEwNDQ5LCAxLjI4OTY4NTAxMDkxMDAzNDJdLCBbMTY2MzgxODExOS42MDE4MjYsIDEwNDY3LCAxLjM3NDM1MTI2MzA0NjI2NDZdLCBbMTY2MzgxODExOS44MTgzNTk0LCAxMDQ4NSwgMS4xMjUyNzAxMjgyNTAxMjJdLCBbMTY2MzgxODEyMC4zMTUxMzg2LCAxMDUxMiwgMS4yODU2NDU5NjE3NjE0NzQ2XSwgWzE2NjM4MTgxMjAuOTM4OTY3LCAxMDU2NiwgMS4xNDQ5NDAyNTcwNzI0NDg3XSwgWzE2NjM4MTgxMjEuMDMzMzQzLCAxMDU3NSwgMS4xNzc5MDM4OTA2MDk3NDEyXSwgWzE2NjM4MTgxMjEuMjU4Njg4NCwgMTA1OTMsIDEuMDcxNjI0Mjc5MDIyMjE2OF0sIFsxNjYzODE4MTIxLjM5MzkyMjMsIDEwNjAyLCAxLjA1NDg1ODY4NDUzOTc5NV0sIFsxNjYzODE4MTIxLjQ4MjEyNzQsIDEwNjExLCAxLjIwMDg1MzU4NjE5Njg5OTRdLCBbMTY2MzgxODEyMS44Njk2OTY5LCAxMDY0NywgMS4yNTk2Mjg3NzI3MzU1OTU3XSwgWzE2NjM4MTgxMjIuMDgwNzY0LCAxMDY2NSwgMS40Mzk2ODY1MzY3ODg5NDA0XSwgWzE2NjM4MTgxMjIuMjQwOTk5MiwgMTA2ODMsIDAuOTg3MjU5MjA5MTU2MDM2NF0sIFsxNjYzODE4MTIyLjUwMzYwMTYsIDEwNzEwLCAxLjE3NzE2OTc5OTgwNDY4NzVdLCBbMTY2MzgxODEyMi41OTE4NTM0LCAxMDcxOSwgMS4zMTkzNTc2MzM1OTA2OTgyXSwgWzE2NjM4MTgxMjIuOTAzODM4LCAxMDc0NiwgMS40NTk4MDQ4OTI1Mzk5NzhdLCBbMTY2MzgxODEyMi45OTUyMzI4LCAxMDc1NSwgMS4zMjUwMDgxNTM5MTU0MDUzXSwgWzE2NjM4MTgxMjMuMjY0ODU0NCwgMTA3ODIsIDEuMDU0NzgxNTU2MTI5NDU1Nl0sIFsxNjYzODE4MTIzLjM1MDQwMzUsIDEwNzkxLCAyLjAwNjQ3MjExMDc0ODI5MV0sIFsxNjYzODE4MTIzLjYwODE3NSwgMTA4MTgsIDEuMTI2NTY1MzM3MTgxMDkxM10sIFsxNjYzODE4MTIzLjk3ODQ2OCwgMTA4NTQsIDEuMzQ3MjM1MzIxOTk4NTk2Ml0sIFsxNjYzODE4MTI0LjA3ODUyNjMsIDEwODYzLCAxLjQxMTY4MTc3MTI3ODM4MTNdLCBbMTY2MzgxODEyNC4xNjk3NzksIDEwODcyLCAxLjA4MjEyNzgwOTUyNDUzNjFdLCBbMTY2MzgxODEyNC4zMzI5NDc3LCAxMDg5MCwgMS4xNzE3OTYyMDI2NTk2MDddLCBbMTY2MzgxODEyNC43MzExMiwgMTA5MjYsIDEuMDQwMzk4NTk3NzE3Mjg1Ml0sIFsxNjYzODE4MTI0LjgwOTA5LCAxMDkzNSwgMS4yNjI5NDMyNjc4MjIyNjU2XSwgWzE2NjM4MTgxMjUuMTE1NjEwOCwgMTA5NzEsIDEuMjI3Mzg0MzI4ODQyMTYzXSwgWzE2NjM4MTgxMjUuNTA1OTMyOCwgMTEwMTYsIDEuMDU1MjQ3OTAyODcwMTc4Ml0sIFsxNjYzODE4MTI1LjY1ODU5NzIsIDExMDM0LCAxLjA0NDM2ODk4MjMxNTA2MzVdLCBbMTY2MzgxODEyNS45Nzg4NTM1LCAxMTA3MCwgMC45MDU1NTU1NDYyODM3MjE5XSwgWzE2NjM4MTgxMjYuMjM5MTUwNSwgMTEwOTcsIDEuMjI2MzI4MTM0NTM2NzQzMl0sIFsxNjYzODE4MTI2LjMzMDc1OCwgMTExMDYsIDEuNTQyOTc4MTY3NTMzODc0NV0sIFsxNjYzODE4MTI2Ljc1NTU2NTQsIDExMTUxLCAxLjEwMzc5ODI3MDIyNTUyNV0sIFsxNjYzODE4MTI2LjkyODAzMjIsIDExMTY5LCAxLjA4OTAyMDAxMzgwOTIwNF0sIFsxNjYzODE4MTI3LjE5NDk1OTQsIDExMTk2LCAwLjk3NDUyMzk2MTU0NDAzNjldLCBbMTY2MzgxODEyNy4yODY1Njg0LCAxMTIwNSwgMS4xMzcyMTcwNDQ4MzAzMjIzXSwgWzE2NjM4MTgxMjcuNDY5MzMzNCwgMTEyMjMsIDEuMDY1MjQyMjkwNDk2ODI2Ml0sIFsxNjYzODE4MTI3Ljc0NjQzNTksIDExMjUwLCAxLjE4MjUwOTU0MTUxMTUzNTZdLCBbMTY2MzgxODEyNy44MzM5OTE4LCAxMTI1OSwgMS4yODY3MjE4MjU1OTk2NzA0XSwgWzE2NjM4MTgxMjguMDc5OTUzLCAxMTI2OCwgMS41NjU2NDYxNzE1Njk4MjQyXSwgWzE2NjM4MTgxMjguMTczNjA3MywgMTEyNzcsIDEuMDMyNTMzNjQ1NjI5ODgyOF0sIFsxNjYzODE4MTI4LjMzODI0NSwgMTEyOTUsIDEuMDMzNDI2ODgwODM2NDg2OF0sIFsxNjYzODE4MTI4LjUwNTk3NSwgMTEzMTMsIDEuMzQ5MzMzODgyMzMxODQ4MV0sIFsxNjYzODE4MTI4LjU5ODQ4MjEsIDExMzIyLCAxLjA3Nzk5MjU1ODQ3OTMwOV0sIFsxNjYzODE4MTI4Ljg4MTIyNjUsIDExMzQ5LCAxLjIyMTU5Njk1NjI1MzA1MThdLCBbMTY2MzgxODEyOC45NzM4MjcsIDExMzU4LCAxLjI0ODg2NzM5MjUzOTk3OF0sIFsxNjYzODE4MTI5LjUxMDc2MjIsIDExNDEyLCAxLjE0NDUxOTIwOTg2MTc1NTRdLCBbMTY2MzgxODEyOS44NjgxNzIsIDExNDQ4LCAxLjA2MDgyNjc3ODQxMTg2NTJdLCBbMTY2MzgxODEzMC4yOTU4NzM5LCAxMTQ5MywgMS4zMjEzOTA3NDgwMjM5ODY4XSwgWzE2NjM4MTgxMzAuMzg2OTYyLCAxMTUwMiwgMS40NDEyMDA3MzMxODQ4MTQ1XSwgWzE2NjM4MTgxMzAuNDk3MjY3LCAxMTUxMSwgMS4yOTg1ODM3NDU5NTY0MjFdLCBbMTY2MzgxODEzMC45MTUwMzIxLCAxMTU0NywgMS40NDUwNjc1MjQ5MDk5NzMxXSwgWzE2NjM4MTgxMzEuMjA1OTU2LCAxMTU3NCwgMS4zNDc5ODM5NTYzMzY5NzVdLCBbMTY2MzgxODEzMS43NDkyMTY2LCAxMTYxOSwgMS4xMzI5ODM0NDYxMjEyMTU4XSwgWzE2NjM4MTgxMzIuMDU4MDY3NiwgMTE2NDYsIDEuMDY0ODY0Mzk3MDQ4OTUwMl0sIFsxNjYzODE4MTMyLjYzMjEzMzcsIDExNjkxLCAxLjExNzYyMzA5MDc0NDAxODZdLCBbMTY2MzgxODEzMi43MzUzNzAyLCAxMTcwMCwgMS4xMDMxOTkwMDUxMjY5NTMxXSwgWzE2NjM4MTgxMzMuMDU3MjEzOCwgMTE3MjcsIDEuMDU2Nzc5Mzg0NjEzMDM3XSwgWzE2NjM4MTgxMzMuNDc2Nzk1NCwgMTE3NjMsIDEuMDc4MzU3MTAwNDg2NzU1NF0sIFsxNjYzODE4MTMzLjk0MDkyNzcsIDExNzk5LCAxLjM0NTc4NTYxNzgyODM2OTFdLCBbMTY2MzgxODEzNC40MDMwNjk3LCAxMTg0NCwgMS4yMzg2MDgzNjAyOTA1MjczXSwgWzE2NjM4MTgxMzQuODk5MTA1LCAxMTg4OSwgMC45Mjg0OTY2NTg4MDIwMzI1XSwgWzE2NjM4MTgxMzUuMDgwMTI0OSwgMTE5MDcsIDEuMDY5MDI2NzA4NjAyOTA1M10sIFsxNjYzODE4MTM1LjM2MjY5MTQsIDExOTM0LCAxLjE1NjM5MTczOTg0NTI3NTldLCBbMTY2MzgxODEzNS40NDc4NjQzLCAxMTk0MywgMS4xNDg1MTU4MjA1MDMyMzQ5XSwgWzE2NjM4MTgxMzUuNjQ1MzI2LCAxMTk2MSwgMS4zODg0MjI5NjYwMDM0MThdLCBbMTY2MzgxODEzNi4yODU1Mjk0LCAxMjAyNCwgMS4xODk5MTA4ODg2NzE4NzVdLCBbMTY2MzgxODEzNy40MTQ4MTc4LCAxMjEwNSwgMS4wMzMyNjU3MDk4NzcwMTQyXSwgWzE2NjM4MTgxMzcuNTM1NDY1MiwgMTIxMTQsIDEuMDcyMjcwNTEyNTgwODcxNl0sIFsxNjYzODE4MTM3Ljg0NjExOSwgMTIxNDEsIDEuMTY5MjMxMDU3MTY3MDUzMl0sIFsxNjYzODE4MTM4LjE1Mjg3NDUsIDEyMTY4LCAxLjE5NjIzODUxNzc2MTIzMDVdLCBbMTY2MzgxODEzOC4yNzA4MywgMTIxNzcsIDEuMjc3MTc2ODU2OTk0NjI5XSwgWzE2NjM4MTgxMzguNTAxODk3NiwgMTIxOTUsIDEuMDAzMDM5NTk4NDY0OTY1OF0sIFsxNjYzODE4MTM4Ljg3NTQyODcsIDEyMjMxLCAwLjk0MjQ4NjEwNzM0OTM5NThdLCBbMTY2MzgxODEzOS4wMzc4ODgzLCAxMjI0OSwgMS4wNzI5Mjg0Mjg2NDk5MDIzXSwgWzE2NjM4MTgxMzkuMzg2MTc1LCAxMjI4NSwgMS4wNTY1NTM2MDIyMTg2MjhdLCBbMTY2MzgxODEzOS40NzQ5MTg0LCAxMjI5NCwgMS40MzY0MDY0OTMxODY5NTA3XSwgWzE2NjM4MTgxMzkuNTY5MDY3NywgMTIzMDMsIDEuMjI4MzY1NDIxMjk1MTY2XSwgWzE2NjM4MTgxMzkuNjY5NTIxNiwgMTIzMTIsIDEuMTg3NjIxNTkzNDc1MzQxOF0sIFsxNjYzODE4MTM5Ljc1ODc1NjYsIDEyMzIxLCAxLjA2MTE1MTk4MTM1Mzc1OThdLCBbMTY2MzgxODE0MC40MDg0MDM2LCAxMjM4NCwgMS4zMzY3OTYwNDUzMDMzNDQ3XSwgWzE2NjM4MTgxNDAuNDk0Mjc1LCAxMjM5MywgMS4yMjk0NDYwNTM1MDQ5NDM4XSwgWzE2NjM4MTgxNDAuODUyODUxMiwgMTI0MjksIDEuMDgxNTc0MzIwNzkzMTUxOV0sIFsxNjYzODE4MTQxLjMxNzExMDMsIDEyNDc0LCAxLjExMDY0NzU1OTE2NTk1NDZdLCBbMTY2MzgxODE0MS40MDExMjk3LCAxMjQ4MywgMS4zMTQxOTAyNjg1MTY1NDA1XSwgWzE2NjM4MTgxNDEuNzU1OTMzOCwgMTI1MTksIDEuNDI2Nzk4MTA1MjM5ODY4Ml0sIFsxNjYzODE4MTQyLjAyNzA4MzYsIDEyNTQ2LCAxLjEyOTgxNDg2MzIwNDk1Nl0sIFsxNjYzODE4MTQyLjM3NzU0NDksIDEyNTgyLCAxLjA2MjYxMzI0ODgyNTA3MzJdLCBbMTY2MzgxODE0NC4yOTAwOTQ0LCAxMjc2MiwgMS40MDkyOTk2MTIwNDUyODhdLCBbMTY2MzgxODE0NC42ODMyNDExLCAxMjc5OCwgMS4xOTIxNTUwMDM1NDc2Njg1XSwgWzE2NjM4MTgxNDUuODY0NTM2LCAxMjg4OCwgMS4wMzUyNDU2NTY5NjcxNjNdLCBbMTY2MzgxODE0NS45OTg5MDE4LCAxMjg5NywgMS4wODkxOTc4NzQwNjkyMTM5XSwgWzE2NjM4MTgxNDYuMzkxNjU5NSwgMTI5MzMsIDAuOTU2MTI4NjU2ODY0MTY2M10sIFsxNjYzODE4MTQ2LjU3MTQ5OTYsIDEyOTUxLCAxLjI4NTMwOTU1MzE0NjM2MjNdLCBbMTY2MzgxODE0Ni42NTk2MzI0LCAxMjk2MCwgMC45MzU0OTk4NDY5MzUyNzIyXSwgWzE2NjM4MTgxNDYuNzQ4MzI4LCAxMjk2OSwgMS4wMDc3OTc0Nzk2Mjk1MTY2XSwgWzE2NjM4MTgxNDYuODU4NzgyOCwgMTI5NzgsIDEuMDY2NTI2MTc0NTQ1Mjg4XSwgWzE2NjM4MTgxNDcuMjA3NjU4OCwgMTMwMDUsIDEuMDI0ODU5OTA1MjQyOTJdLCBbMTY2MzgxODE0Ny41MTQ2OTQsIDEzMDMyLCAxLjEwNzgxMDczNTcwMjUxNDZdLCBbMTY2MzgxODE0Ny43NTc4NjU0LCAxMzA1MCwgMS4wNTYxMjcwNzEzODA2MTUyXSwgWzE2NjM4MTgxNDcuOTUxOTQ5OCwgMTMwNjgsIDEuMDE2MTA2MDA5NDgzMzM3NF0sIFsxNjYzODE4MTQ4LjA1MTY2NzcsIDEzMDc3LCAxLjA2NzI5OTAwODM2OTQ0NThdLCBbMTY2MzgxODE0OC4yNDAzNzksIDEzMDk1LCAxLjEyMDU3OTI0MjcwNjI5ODhdLCBbMTY2MzgxODE0OC4zNDI4NzY0LCAxMzEwNCwgMS4xMjY1MTA4NTg1MzU3NjY2XSwgWzE2NjM4MTgxNDguNTMyODg3MiwgMTMxMjIsIDEuMDA4Nzk4NzE4NDUyNDUzNl0sIFsxNjYzODE4MTQ4LjYzMDAxOTcsIDEzMTMxLCAxLjA3MTU4ODAzOTM5ODE5MzRdLCBbMTY2MzgxODE0OC44NDk4MzMsIDEzMTQ5LCAxLjA1NzE3NzMwNTIyMTU1NzZdLCBbMTY2MzgxODE0OC45NDUxMDUzLCAxMzE1OCwgMS4wOTc4NzI5NzI0ODg0MDMzXSwgWzE2NjM4MTgxNDkuMTQwODM3MiwgMTMxNzYsIDEuMjQxOTQ4NzIzNzkzMDI5OF0sIFsxNjYzODE4MTQ5LjkxODY2MzcsIDEzMjM5LCAxLjIwOTI1MDkyNjk3MTQzNTVdLCBbMTY2MzgxODE1MC4xNzk4NzEzLCAxMzI2NiwgMC45NjUwODAzODA0Mzk3NTgzXSwgWzE2NjM4MTgxNTAuMjYwODgyMSwgMTMyNzUsIDEuMTA5NzMxNzkzNDAzNjI1NV0sIFsxNjYzODE4MTUwLjQzOTA1MiwgMTMyOTMsIDEuMjA5MzIwMTg3NTY4NjY0Nl0sIFsxNjYzODE4MTUxLjA4Mjk2NjgsIDEzMzU2LCAwLjk1NDk5NjE2ODYxMzQzMzhdLCBbMTY2MzgxODE1MS41MDIxNjY1LCAxMzM5MiwgMS4wMTY3NDA2Nzk3NDA5MDU4XSwgWzE2NjM4MTgxNTEuODE1MTExOSwgMTM0MTksIDEuMTEwMzUwMDEyNzc5MjM1OF0sIFsxNjYzODE4MTUyLjA5Nzk4OCwgMTM0NDYsIDEuMTI3NjkzMjk1NDc4ODIwOF0sIFsxNjYzODE4MTUyLjE5NTkwMDIsIDEzNDU1LCAxLjA4NjA0NjU3NjQ5OTkzOV0sIFsxNjYzODE4MTUyLjU1MzIzNjcsIDEzNDkxLCAxLjA3ODY2OTE5MDQwNjc5OTNdLCBbMTY2MzgxODE1Mi42Mzc5MjM1LCAxMzUwMCwgMS4wNjc2ODc4NjkwNzE5NjA0XSwgWzE2NjM4MTgxNTIuOTIxODYwNywgMTM1MjcsIDAuOTM1MDcyMDA0Nzk1MDc0NV0sIFsxNjYzODE4MTUzLjY0MTUzOSwgMTM1OTAsIDEuMTc1MzI2NzA0OTc4OTQyOV0sIFsxNjYzODE4MTUzLjk0MDUyNDgsIDEzNTk5LCAxLjY4MTAzNzA2ODM2NzAwNDRdLCBbMTY2MzgxODE1NC4wNDEzMjgsIDEzNjA4LCAxLjMxNzExMDMwMDA2NDA4N10sIFsxNjYzODE4MTU0LjI0MTM5NjIsIDEzNjI2LCAxLjAyNDY2MDcwNjUyMDA4MDZdLCBbMTY2MzgxODE1NC40MDk4MjUsIDEzNjQ0LCAxLjAxMjY3NjcxNTg1MDgzXSwgWzE2NjM4MTgxNTQuNDkzMTk1LCAxMzY1MywgMC45OTYxOTU3MzM1NDcyMTA3XSwgWzE2NjM4MTgxNTUuMTc4NzA2LCAxMzcxNiwgMS4wNDcyOTY4ODE2NzU3MjAyXSwgWzE2NjM4MTgxNTUuNjIxMDA2NSwgMTM3NjEsIDEuMjE0MTI4OTcxMDk5ODUzNV0sIFsxNjYzODE4MTU2LjExMDIyNiwgMTM4MTUsIDEuMDQ3MDQ0NzU0MDI4MzIwM10sIFsxNjYzODE4MTU2LjQzMTM2MTIsIDEzODQyLCAxLjA3MzY0NTk0OTM2MzcwODVdLCBbMTY2MzgxODE1Ni41NDM4NTQsIDEzODUxLCAwLjk4OTQzNzQ2MDg5OTM1M10sIFsxNjYzODE4MTU2Ljg0Mjc4NTQsIDEzODc4LCAxLjQ0NTQ1ODE3Mzc1MTgzMV0sIFsxNjYzODE4MTU3LjQ3NzYzODIsIDEzOTQxLCAxLjA3MzM0ODA0NTM0OTEyMV0sIFsxNjYzODE4MTU3Ljc5OTQ5NSwgMTM5NjgsIDEuMTczNzk3MjQ5Nzk0MDA2M10sIFsxNjYzODE4MTU3LjkxMTU1NDgsIDEzOTc3LCAwLjk1ODg0MTYyMTg3NTc2MjldLCBbMTY2MzgxODE1OC4wMDc3NDksIDEzOTg2LCAxLjA0Nzk5ODQyODM0NDcyNjZdLCBbMTY2MzgxODE1OC45OTkwODAyLCAxNDA2NywgMC45NDc5MDg1ODAzMDMxOTIxXSwgWzE2NjM4MTgxNTkuMzA2MDQ1OCwgMTQwOTQsIDEuMjA4MjgzOTAxMjE0NTk5Nl0sIFsxNjYzODE4MTU5LjQyMzc2MSwgMTQxMDMsIDAuOTI4OTA5NDIwOTY3MTAyXSwgWzE2NjM4MTgxNTkuNjQ2OTU0LCAxNDEyMSwgMS4wMDQ2NTgzNDE0MDc3NzU5XSwgWzE2NjM4MTgxNTkuODgwMjA4NSwgMTQxMzksIDEuMTM1ODMyNTQ4MTQxNDc5NV0sIFsxNjYzODE4MTYwLjAwNDM4MjQsIDE0MTQ4LCAxLjAwNTczOTY4ODg3MzI5MV0sIFsxNjYzODE4MTYwLjExNzQyMywgMTQxNTcsIDAuOTU2NzIwNzY5NDA1MzY1XSwgWzE2NjM4MTgxNjAuMjI5OTU0LCAxNDE2NiwgMS4yMzcwODkyNzYzMTM3ODE3XSwgWzE2NjM4MTgxNjAuNTEwNzQ4NiwgMTQxOTMsIDAuOTY1MTI0MjQ5NDU4MzEzXSwgWzE2NjM4MTgxNjAuOTU0NzA0LCAxNDIyOSwgMS4wNDc0MjQ2NzQwMzQxMTg3XSwgWzE2NjM4MTgxNjEuMDQxNjY2NywgMTQyMzgsIDEuMzYxODAyOTM1NjAwMjgwOF0sIFsxNjYzODE4MTYxLjEyMTg3MzYsIDE0MjQ3LCAxLjAxNTQzOTk4NzE4MjYxNzJdLCBbMTY2MzgxODE2MS4zNjc5NDUyLCAxNDI3NCwgMS4xMzYyMjk4NzI3MDM1NTIyXSwgWzE2NjM4MTgxNjEuODA1MDM0NCwgMTQzMTksIDAuOTY3MjU0MTYxODM0NzE2OF0sIFsxNjYzODE4MTYyLjI3OTA5MywgMTQzNjQsIDEuMTUyOTc5ODUwNzY5MDQzXSwgWzE2NjM4MTgxNjIuNTI1MjIwNCwgMTQzNzMsIDEuMTAwMTU4MjE0NTY5MDkxOF0sIFsxNjYzODE4MTYyLjYyNDQwNTYsIDE0MzgyLCAxLjI0MDYzMjE3NjM5OTIzMV0sIFsxNjYzODE4MTYyLjk2NDU3OTgsIDE0NDE4LCAxLjUxMTk0MTY3MTM3MTQ2XSwgWzE2NjM4MTgxNjMuMDUzODc5NSwgMTQ0MjcsIDEuNTU2NjgxOTkwNjIzNDc0MV0sIFsxNjYzODE4MTYzLjE2Mzg4NDYsIDE0NDM2LCAxLjE2MzIyMzk4MTg1NzI5OThdLCBbMTY2MzgxODE2My44NTE5MzYzLCAxNDUwOCwgMS4wOTIyNzg3MTg5NDgzNjQzXSwgWzE2NjM4MTgxNjQuMDg0NzEyNywgMTQ1MzUsIDEuMzA2Mjk1MDM3MjY5NTkyM10sIFsxNjYzODE4MTY0LjM0NDA2NDcsIDE0NTUzLCAxLjA0NjE3OTUzMzAwNDc2MDddLCBbMTY2MzgxODE2NC45MTMzODU5LCAxNDYwNywgMS4xNjI5ODA3OTQ5MDY2MTYyXSwgWzE2NjM4MTgxNjUuMDc4NDg1MywgMTQ2MjUsIDEuNTYxNzQzMTQwMjIwNjQyXSwgWzE2NjM4MTgxNjUuMzM4ODY0OCwgMTQ2NTIsIDEuMTE5NTgxMjIyNTM0MTc5N10sIFsxNjYzODE4MTY1LjcwMzQ3MjYsIDE0Njg4LCAwLjk0OTI1OTYzODc4NjMxNTldLCBbMTY2MzgxODE2Ni4wMzQxNzMsIDE0NzI0LCAxLjA1OTAwNTg1NjUxMzk3N10sIFsxNjYzODE4MTY2LjIwNzQ5NywgMTQ3NDIsIDEuMDMwMjY3MDAwMTk4MzY0M10sIFsxNjYzODE4MTY2LjQ1MTYxNTgsIDE0NzY5LCAxLjU2NzYzODg3NDA1Mzk1NV0sIFsxNjYzODE4MTY2LjU0MDA1ODEsIDE0Nzc4LCAwLjk4NTIzODAxNTY1MTcwMjldLCBbMTY2MzgxODE2Ni45ODU5NzAzLCAxNDgyMywgMS4yNTE0NzgwNzU5ODExNDAxXSwgWzE2NjM4MTgxNjcuMDY4NTY3OCwgMTQ4MzIsIDEuMDk2ODEyNjA1ODU3ODQ5MV0sIFsxNjYzODE4MTY3LjQyODMzNTcsIDE0ODY4LCAxLjM1MTY1MjI2NDU5NTAzMTddLCBbMTY2MzgxODE2Ny41MjI5OTY3LCAxNDg3NywgMS4xNzQyNDYzMTExODc3NDQxXSwgWzE2NjM4MTgxNjcuNjA1NzkxMywgMTQ4ODYsIDEuMjU2MDY5NjYwMTg2NzY3Nl0sIFsxNjYzODE4MTY3LjY5MTY2MTQsIDE0ODk1LCAxLjA5MzcyNTMyMzY3NzA2M10sIFsxNjYzODE4MTY3Ljg2ODIxNTYsIDE0OTEzLCAxLjA3NjE5MjI1OTc4ODUxMzJdLCBbMTY2MzgxODE2OC4wMzYyMTc1LCAxNDkzMSwgMS4yMTk2MTc5NjI4MzcyMTkyXSwgWzE2NjM4MTgxNjguMzgxOTU1NiwgMTQ5NjcsIDEuMTg5MzU0NTM4OTE3NTQxNV0sIFsxNjYzODE4MTY4LjU1MzUxMTYsIDE0OTg1LCAxLjE2MTY1NTU0NTIzNDY4MDJdLCBbMTY2MzgxODE2OC43MjI3OTc5LCAxNTAwMywgMS4xNTU0NTcwMTk4MDU5MDgyXSwgWzE2NjM4MTgxNjguOTgyNzk3NCwgMTUwMzAsIDEuMzY5NjM1NzAxMTc5NTA0NF0sIFsxNjYzODE4MTY5LjA2Nzg3MzcsIDE1MDM5LCAxLjIyMzQzMTU4NzIxOTIzODNdLCBbMTY2MzgxODE2OS40MzQ0NzQsIDE1MDc1LCAxLjI0MDgyNjk2NDM3ODM1N10sIFsxNjYzODE4MTY5LjY3OTAwOTIsIDE1MTAyLCAwLjk5Nzk4NzMyOTk1OTg2OTRdLCBbMTY2MzgxODE2OS44NTQxNDE3LCAxNTEyMCwgMS4wNTMxNTkzNTYxMTcyNDg1XSwgWzE2NjM4MTgxNjkuOTMzNDA3OCwgMTUxMjksIDEuMjIyMjA1MDQyODM5MDUwM10sIFsxNjYzODE4MTcwLjI1MzY2MzUsIDE1MTQ3LCAxLjA1MDkyMDQ4NjQ1MDE5NTNdLCBbMTY2MzgxODE3MC41MTE5ODYzLCAxNTE3NCwgMS4wNTczMzcwNDU2Njk1NTU3XSwgWzE2NjM4MTgxNzAuNTk2ODM1LCAxNTE4MywgMC45NjM4NzA1MjUzNjAxMDc0XSwgWzE2NjM4MTgxNzAuNjg2NTg2NiwgMTUxOTIsIDEuMTAwNDMxMzIzMDUxNDUyNl0sIFsxNjYzODE4MTcwLjgwNTM4OTQsIDE1MjAxLCAxLjAxNDk2MDQwODIxMDc1NDRdLCBbMTY2MzgxODE3MS4yMzY1MzEsIDE1MjQ2LCAxLjQxNzYyNDcxMTk5MDM1NjRdLCBbMTY2MzgxODE3MS4zMzEwNzQsIDE1MjU1LCAwLjk2MzA4Njg0MzQ5MDYwMDZdLCBbMTY2MzgxODE3MS40MjEzNjg0LCAxNTI2NCwgMC45OTM4NTQ4MjA3MjgzMDJdLCBbMTY2MzgxODE3MS44MTA5MjQ4LCAxNTMwMCwgMS4wNTI2NDc4MjkwNTU3ODYxXSwgWzE2NjM4MTgxNzIuMTM2MjAxNCwgMTUzMjcsIDEuMDQ0OTE1NTU2OTA3NjUzOF0sIFsxNjYzODE4MTcyLjM1OTM2NDcsIDE1MzQ1LCAxLjA3NDQ0ODIyNzg4MjM4NTNdLCBbMTY2MzgxODE3Mi42MzIyNTk0LCAxNTM3MiwgMS4wNDUxOTU1Nzk1Mjg4MDg2XSwgWzE2NjM4MTgxNzIuODQ2MzUzMywgMTUzOTAsIDEuMzM4NDUyMTAwNzUzNzg0Ml0sIFsxNjYzODE4MTcyLjk0NDIwMDMsIDE1Mzk5LCAxLjE5MTgwNTQ4MTkxMDcwNTZdLCBbMTY2MzgxODE3My4wNDYxNzgsIDE1NDA4LCAxLjAzMjYyNDEyNTQ4MDY1MTldLCBbMTY2MzgxODE3My4xMjc4MDM4LCAxNTQxNywgMS4xNzA5MDc4NTUwMzM4NzQ1XSwgWzE2NjM4MTgxNzMuNjcxMjQ0NCwgMTU0NzEsIDEuNjI1NjI1NDkxMTQyMjczXSwgWzE2NjM4MTgxNzQuMDY4OTI4NywgMTU1MDcsIDEuMDMyMDM5NTIzMTI0Njk0OF0sIFsxNjYzODE4MTc0LjE4MTY0NiwgMTU1MTYsIDEuMzA2OTc1ODQxNTIyMjE2OF0sIFsxNjYzODE4MTc0LjI2NDYwOSwgMTU1MjUsIDEuMTM1ODEzODMyMjgzMDJdLCBbMTY2MzgxODE3NC4zNTk4NTExLCAxNTUzNCwgMS44MTkzNTMxMDM2Mzc2OTUzXSwgWzE2NjM4MTgxNzQuOTIwMTYxNywgMTU1NzksIDEuMDk1ODk0MjE3NDkxMTVdLCBbMTY2MzgxODE3NS43NjcyMTI0LCAxNTY1MSwgMS4yNzYyNDkyODk1MTI2MzQzXSwgWzE2NjM4MTgxNzUuODU4ODE0NywgMTU2NjAsIDEuMTMyMzk2MzQwMzcwMTc4Ml0sIFsxNjYzODE4MTc2LjMxMzI3NDEsIDE1Njk2LCAxLjMzNzcyNTQwMDkyNDY4MjZdLCBbMTY2MzgxODE3Ni40OTg0MDI2LCAxNTcxNCwgMS4wMzA3ODgwNjQwMDI5OTA3XSwgWzE2NjM4MTgxNzYuODQzNTI1NiwgMTU3NDEsIDEuMzAyMDkwMTY3OTk5MjY3Nl0sIFsxNjYzODE4MTc3LjAyMzQ3NzYsIDE1NzU5LCAxLjM3NTg4NDUzMjkyODQ2NjhdLCBbMTY2MzgxODE3Ny4xMTMyNiwgMTU3NjgsIDEuMDA3NDU3MjU2MzE3MTM4N10sIFsxNjYzODE4MTc3LjI3ODg5MjgsIDE1Nzg2LCAxLjI1ODk2NjgwMzU1MDcyMDJdLCBbMTY2MzgxODE3Ny4zNzcxMzE1LCAxNTc5NSwgMC45ODAzNDM5Mzc4NzM4NDAzXSwgWzE2NjM4MTgxNzcuNjQ4MDk5NywgMTU4MjIsIDEuMTcwODg4MTg1NTAxMDk4Nl0sIFsxNjYzODE4MTc4LjA4MjEyNTcsIDE1ODY3LCAxLjAwMzMwODQxNTQxMjkwMjhdLCBbMTY2MzgxODE3OC4xNjI3MTMzLCAxNTg3NiwgMS4yMDc0MTU0NjE1NDAyMjIyXSwgWzE2NjM4MTgxNzguMzI1NDAwNiwgMTU4OTQsIDEuMDU0OTcyODg3MDM5MTg0Nl0sIFsxNjYzODE4MTc4LjczOTkzNiwgMTU5MjEsIDEuMTIwMDA0NzczMTM5OTUzNl0sIFsxNjYzODE4MTc5LjMzNTkyMDgsIDE1OTg0LCAxLjAwNjMyOTY1NTY0NzI3NzhdLCBbMTY2MzgxODE3OS40MjUzMjUsIDE1OTkzLCAxLjI1NTU2Mzg1NTE3MTIwMzZdLCBbMTY2MzgxODE3OS40OTg2MzY1LCAxNjAwMiwgMS4yNjM3MDczOTkzNjgyODYxXSwgWzE2NjM4MTgxNzkuNzYxNDAxNCwgMTYwMjksIDEuMDI4NTg3ODE4MTQ1NzUyXSwgWzE2NjM4MTgxODAuMTAwODk4MywgMTYwNjUsIDEuMjQzOTk0OTUxMjQ4MTY5XSwgWzE2NjM4MTgxODAuMTg4MDg0NCwgMTYwNzQsIDEuMTg2ODE5NTUzMzc1MjQ0MV0sIFsxNjYzODE4MTgwLjI3Nzc2NzIsIDE2MDgzLCAwLjkyMDQwNjc1ODc4NTI0NzhdLCBbMTY2MzgxODE4MC41Njg4Mzg4LCAxNjExMCwgMS4xNjIxNjgzODM1OTgzMjc2XSwgWzE2NjM4MTgxODAuNjY0ODM0NSwgMTYxMTksIDEuMTA5MzUzMDY1NDkwNzIyN10sIFsxNjYzODE4MTgwLjg0NTM5NDQsIDE2MTM3LCAxLjE2OTc1MzMxMzA2NDU3NTJdLCBbMTY2MzgxODE4MS4wMTQ3MjA0LCAxNjE1NSwgMS4xNzQ1NzYyODI1MDEyMjA3XSwgWzE2NjM4MTgxODEuMTgwNTE0LCAxNjE3MywgMS4xNjQ1NTE5NzMzNDI4OTU1XSwgWzE2NjM4MTgxODEuNTEyMDE2MywgMTYyMDksIDEuNzE2MDk2MDQzNTg2NzMxXSwgWzE2NjM4MTgxODEuNjkyODk0NSwgMTYyMjcsIDEuMjQ4NDIxNTQ5Nzk3MDU4XSwgWzE2NjM4MTgxODIuMjE5ODQwOCwgMTYyODEsIDEuMDQ4MjQ2MzgzNjY2OTkyMl0sIFsxNjYzODE4MTgyLjM4ODM4NjIsIDE2Mjk5LCAxLjIwNTU0MTAxNDY3MTMyNTddLCBbMTY2MzgxODE4Mi43NDEwNjcsIDE2MzM1LCAxLjAzMzk2Nzg1MjU5MjQ2ODNdLCBbMTY2MzgxODE4My4xODQ3NDgyLCAxNjM4MCwgMS4xMjYzMzU1MDE2NzA4Mzc0XSwgWzE2NjM4MTgxODMuNTMzMzQ4MywgMTY0MTYsIDAuOTc3ODk4OTU1MzQ1MTUzOF0sIFsxNjYzODE4MTgzLjc3OTM1LCAxNjQ0MywgMS4xMDU5MjEyNjg0NjMxMzQ4XSwgWzE2NjM4MTgxODMuODY0MTA0LCAxNjQ1MiwgMS4wNjE0Nzk5MjYxMDkzMTRdLCBbMTY2MzgxODE4NC4wNDYyMTk4LCAxNjQ3MCwgMC45NDQ1NDg5NjQ1MDA0MjcyXSwgWzE2NjM4MTgxODQuMjMyMjY1NywgMTY0NzksIDAuOTc3NDQ3OTI2OTk4MTM4NF0sIFsxNjYzODE4MTg0LjQyMzg0MywgMTY0OTcsIDEuMDUzNjE2NzYyMTYxMjU0OV0sIFsxNjYzODE4MTg0LjUxOTg1NDUsIDE2NTA2LCAwLjk5MTMyMDkwODA2OTYxMDZdLCBbMTY2MzgxODE4NC42MTM5NDYyLCAxNjUxNSwgMS4xNDQ0NTY1MDU3NzU0NTE3XSwgWzE2NjM4MTgxODQuODA0NDM0NSwgMTY1MzMsIDEuMDc1OTcxOTYxMDIxNDIzM10sIFsxNjYzODE4MTg0Ljg5ODE2NzgsIDE2NTQyLCAxLjI1NDkxMDIzMDYzNjU5NjddLCBbMTY2MzgxODE4NC45OTgxNjc1LCAxNjU1MSwgMS4yMzY2Nzg4Mzg3Mjk4NTg0XSwgWzE2NjM4MTgxODUuNzgzMDA2NCwgMTY2MTQsIDEuMzI0OTg5NTU3MjY2MjM1NF0sIFsxNjYzODE4MTg1Ljg2Njk4OSwgMTY2MjMsIDAuOTE4Mzg2MjIwOTMyMDA2OF0sIFsxNjYzODE4MTg1Ljk0OTQ1NSwgMTY2MzIsIDAuOTc2NzcyMzA4MzQ5NjA5NF0sIFsxNjYzODE4MTg2LjA0NjMwNzMsIDE2NjQxLCAxLjI0NDA3NjI1MTk4MzY0MjZdLCBbMTY2MzgxODE4Ni4yOTA4Mjg1LCAxNjY2OCwgMS4yOTYyNTQ5OTI0ODUwNDY0XSwgWzE2NjM4MTgxODcuMjk3NzU0MywgMTY3NDksIDAuOTUxNTY2NjM2NTYyMzQ3NF0sIFsxNjYzODE4MTg3LjcxODgzMTgsIDE2Nzk0LCAwLjkyMzYyOTY0MTUzMjg5OF0sIFsxNjYzODE4MTg3LjgxODA2NjEsIDE2ODAzLCAxLjE0NTI4MDAwMzU0NzY2ODVdLCBbMTY2MzgxODE4Ny45MDQ3NDk0LCAxNjgxMiwgMC45MzY5ODI1MTI0NzQwNjAxXSwgWzE2NjM4MTgxODguMjU5Mzc2LCAxNjg0OCwgMS4wOTcxNTMxODY3OTgwOTU3XSwgWzE2NjM4MTgxODguMzQyMDI4NCwgMTY4NTcsIDAuOTk5MDMzOTI3OTE3NDgwNV0sIFsxNjYzODE4MTg4LjUxNTM1MTUsIDE2ODc1LCAxLjEyODQxMDEwMDkzNjg4OTZdLCBbMTY2MzgxODE4OC43OTI4NjM0LCAxNjkwMiwgMC45NzYwMTczNTU5MTg4ODQzXSwgWzE2NjM4MTgxODkuMDg2MzYzLCAxNjkyOSwgMS4xMjI5ODg5MzkyODUyNzgzXSwgWzE2NjM4MTgxODkuMzQ3MTQ1MywgMTY5NTYsIDEuMDM4MzQ1NTc1MzMyNjQxNl0sIFsxNjYzODE4MTg5LjQ0NzkzOTYsIDE2OTY1LCAxLjQ1MjUxNDQxMDAxODkyMV0sIFsxNjYzODE4MTg5LjY2Nzk0NDcsIDE2OTgzLCAxLjMyMTc4NDczNDcyNTk1MjFdLCBbMTY2MzgxODE4OS44ODc1ODczLCAxNzAwMSwgMS40NTMzMTIxNTg1ODQ1OTQ3XSwgWzE2NjM4MTgxOTAuMDgyNDU5NywgMTcwMTksIDEuMTMwMjU3MzY4MDg3NzY4Nl0sIFsxNjYzODE4MTkwLjU0MTE3NSwgMTcwNjQsIDEuMzU5OTkwMjM5MTQzMzcxNl0sIFsxNjYzODE4MTkwLjkxMjczMDcsIDE3MTAwLCAxLjAwMTk0NTg1MzIzMzMzNzRdLCBbMTY2MzgxODE5MS4xODA0NzEsIDE3MTI3LCAwLjk4MDIxNjYyMjM1MjYwMDFdLCBbMTY2MzgxODE5MS41MzU0OTQzLCAxNzE2MywgMS4yMjU1MzE0NTg4NTQ2NzUzXSwgWzE2NjM4MTgxOTEuNzEyMjcxNywgMTcxODEsIDEuMDEwODY0MDE5MzkzOTIxXSwgWzE2NjM4MTgxOTEuNzk5NzE4NiwgMTcxOTAsIDAuOTI5NzA4NDIxMjMwMzE2Ml0sIFsxNjYzODE4MTkxLjg3ODE4NjUsIDE3MTk5LCAxLjMwMDgwNDI1NzM5Mjg4MzNdLCBbMTY2MzgxODE5Mi4xMzk5ODksIDE3MjI2LCAxLjIwMTIyNzc4NDE1Njc5OTNdLCBbMTY2MzgxODE5Mi41NzQ4Mjk4LCAxNzI3MSwgMS4xNzc2MDk2ODIwODMxMjk5XSwgWzE2NjM4MTgxOTMuMDkxNzgzNSwgMTczMjUsIDEuMDU5MzM3NDk2NzU3NTA3M10sIFsxNjYzODE4MTkzLjE3MzgwMTIsIDE3MzM0LCAxLjA1MjA2MzQ2NTExODQwODJdLCBbMTY2MzgxODE5My4yNTg0NjgyLCAxNzM0MywgMS4wNDkzMTMzMDY4MDg0NzE3XSwgWzE2NjM4MTgxOTMuNTMxMDI2OCwgMTczNzAsIDEuMDg3MjQ4NTYzNzY2NDc5NV0sIFsxNjYzODE4MTkzLjc4Mjc2OSwgMTczOTcsIDEuMDY4MjkwODI5NjU4NTA4M10sIFsxNjYzODE4MTk0LjA1OTQzODcsIDE3NDI0LCAxLjExODI2MjI5MDk1NDU4OThdLCBbMTY2MzgxODE5NC4yMDgzMzEsIDE3NDMzLCAwLjkzMTY0NDU1ODkwNjU1NTJdLCBbMTY2MzgxODE5NC44MDExMDI0LCAxNzQ2OSwgMS4xMDkwMjQ3NjMxMDcyOTk4XSwgWzE2NjM4MTgxOTQuODk1OTk4NSwgMTc0NzgsIDEuMDk5NjI2NDIxOTI4NDA1OF0sIFsxNjYzODE4MTk0Ljk4NTA0MzMsIDE3NDg3LCAxLjExODY3MTg5NDA3MzQ4NjNdLCBbMTY2MzgxODE5NS4yNTU2MTMsIDE3NTE0LCAxLjAzNzY1OTY0NTA4MDU2NjRdLCBbMTY2MzgxODE5NS40MzE0MjcsIDE3NTMyLCAxLjAyNTQxMjMyMTA5MDY5ODJdLCBbMTY2MzgxODE5NS42OTgwMjUsIDE3NTU5LCAxLjM2MzkxMzg5MzY5OTY0Nl0sIFsxNjYzODE4MTk2LjAwNDgwMDMsIDE3NTg2LCAxLjIzNzE2OTYyMzM3NDkzOV0sIFsxNjYzODE4MTk2LjI3NzA5ODcsIDE3NjEzLCAxLjA5MzE2NDA4NjM0MTg1OF0sIFsxNjYzODE4MTk2LjcwNjk0MDQsIDE3NjQ5LCAxLjEzODg5Nzc3NjYwMzY5ODddLCBbMTY2MzgxODE5Ni44MTc4ODU5LCAxNzY1OCwgMS4xMTQ1MzA0NDQxNDUyMDI2XSwgWzE2NjM4MTgxOTYuOTIxNzA2LCAxNzY2NywgMS41OTY1NzYyMTM4MzY2N10sIFsxNjYzODE4MTk3LjAwNjcyNTMsIDE3Njc2LCAxLjA4NDYzMjI3NzQ4ODcwODVdLCBbMTY2MzgxODE5Ny4xMDU5NzE2LCAxNzY4NSwgMS4xNjA5NzA1Njg2NTY5MjE0XSwgWzE2NjM4MTgxOTcuMzAwNDIzNiwgMTc3MDMsIDEuMTMxODc3ODk5MTY5OTIxOV0sIFsxNjYzODE4MTk3LjM5NTg5OCwgMTc3MTIsIDEuMTM5MjcxMzc4NTE3MTUwOV0sIFsxNjYzODE4MTk3LjQ5MTIyMjYsIDE3NzIxLCAxLjA1NDc1OTAyNTU3MzczMDVdLCBbMTY2MzgxODE5Ny41OTQ4MjcyLCAxNzczMCwgMC45OTIxMTA1NTA0MDM1OTVdLCBbMTY2MzgxODE5OC4zMjE2ODE1LCAxNzgwMiwgMS4wMjgyMDkyMDk0NDIxMzg3XSwgWzE2NjM4MTgxOTguNDk1NTQ4MiwgMTc4MjAsIDEuMTA1MjU0MDU0MDY5NTE5XSwgWzE2NjM4MTgxOTguNTgxMjEyNSwgMTc4MjksIDEuMDkwNzk5ODA4NTAyMTk3M10sIFsxNjYzODE4MTk4LjcwNzQ4MywgMTc4MzgsIDEuMTUzMTk1NjE5NTgzMTI5OV0sIFsxNjYzODE4MTk4LjgxMjkyNDksIDE3ODQ3LCAxLjAzOTUwMTY2NzAyMjcwNV0sIFsxNjYzODE4MTk5LjExNzQ3ODQsIDE3ODc0LCAxLjI2MzE5MDAzMTA1MTYzNTddLCBbMTY2MzgxODE5OS4zMTM4OTc2LCAxNzg5MiwgMC45ODM0MTM4NzUxMDI5OTY4XSwgWzE2NjM4MTgxOTkuNDAyNjI0NiwgMTc5MDEsIDEuMDI3OTEzMzMxOTg1NDczNl0sIFsxNjYzODE4MTk5LjczMjk4NDUsIDE3OTI4LCAxLjA5NTgxMzc1MTIyMDcwMzFdLCBbMTY2MzgxODE5OS44NjA1MSwgMTc5MzcsIDEuNDE2MzI2ODgwNDU1MDE3XSwgWzE2NjM4MTgyMDIuMzYyMTMzLCAxODE1MywgMC45NDE0MzU1NzU0ODUyMjk1XSwgWzE2NjM4MTgyMDIuNDc4NzM2NCwgMTgxNjIsIDEuNDA1MTY5OTYzODM2NjddLCBbMTY2MzgxODIwMi44Nzk4MSwgMTgxOTgsIDEuMDIyNDM1NjY1MTMwNjE1Ml0sIFsxNjYzODE4MjAzLjAwNTMwOSwgMTgyMDcsIDEuMDQ3OTQ5NjcxNzQ1MzAwM10sIFsxNjYzODE4MjAzLjExMTEwODgsIDE4MjE2LCAxLjIwMDUxMjA1MTU4MjMzNjRdLCBbMTY2MzgxODIwMy41ODk2OTMsIDE4MjQzLCAxLjAyODI0MzMwMzI5ODk1MDJdLCBbMTY2MzgxODIwMy44MDM4NjUyLCAxODI2MSwgMS4wNTU1MDk4MDU2NzkzMjEzXSwgWzE2NjM4MTgyMDQuMDg1NjExLCAxODI4OCwgMS4xMTAxODQ3ODg3MDM5MTg1XSwgWzE2NjM4MTgyMDQuMTc5ODkwOSwgMTgyOTcsIDEuMTM1OTUwODAzNzU2NzEzOV0sIFsxNjYzODE4MjA0LjM4ODM3NSwgMTgzMTUsIDEuMjQyNzI4NzEwMTc0NTYwNV0sIFsxNjYzODE4MjA0LjQ5NDE0OTQsIDE4MzI0LCAxLjMxOTQ5NDg0MzQ4Mjk3MTJdLCBbMTY2MzgxODIwNC42MDM1MzksIDE4MzMzLCAxLjgxNDQ1MDI2Mzk3NzA1MDhdLCBbMTY2MzgxODIwNS4wMTM0OTYsIDE4MzY5LCAxLjE0NDIyNzc0MzE0ODgwMzddLCBbMTY2MzgxODIwNS4yNzgyMTEsIDE4Mzk2LCAxLjI4Mjk5NzcyNzM5NDEwNF0sIFsxNjYzODE4MjA1LjYxNjY3OCwgMTg0MzIsIDEuMDg3NDU4ODQ4OTUzMjQ3XSwgWzE2NjM4MTgyMDUuNzkwMDA1NywgMTg0NTAsIDEuMDMxNjMzMjU3ODY1OTA1OF0sIFsxNjYzODE4MjA2LjIzOTY5OTQsIDE4NDk1LCAxLjAzOTc3NzI3ODkwMDE0NjVdLCBbMTY2MzgxODIwNi4zMjgwMzMyLCAxODUwNCwgMS4wMjM3MTgxMTg2Njc2MDI1XSwgWzE2NjM4MTgyMDYuNDE0Nzk4NSwgMTg1MTMsIDEuMDA2NzU0ODc1MTgzMTA1NV0sIFsxNjYzODE4MjA2LjUwNTg4MywgMTg1MjIsIDEuMjE5NjIyMzczNTgwOTMyNl0sIFsxNjYzODE4MjA3LjM5MDM5OCwgMTg2MTIsIDEuMjQ4MDUxNjQzMzcxNTgyXSwgWzE2NjM4MTgyMDcuNDc2Njc2NSwgMTg2MjEsIDEuMTgyMTUyMjcxMjcwNzUyXSwgWzE2NjM4MTgyMDcuNjQ5MzU0MiwgMTg2MzksIDEuMTQ5MTc2NDc4Mzg1OTI1M10sIFsxNjYzODE4MjA3Ljk4MjczMSwgMTg2NzUsIDEuMDMzMzU4MjE2Mjg1NzA1Nl0sIFsxNjYzODE4MjA4LjUyOTMwMTIsIDE4NzIwLCAxLjQ2ODYwMzM3MjU3Mzg1MjVdLCBbMTY2MzgxODIwOS4wMDA2Njk3LCAxODc2NSwgMS4yMzk5MjYzMzgxOTU4MDA4XSwgWzE2NjM4MTgyMDkuMTc4Njg0LCAxODc4MywgMS4yNjczMTgwMTAzMzAyMDAyXSwgWzE2NjM4MTgyMDkuMjY2ODEsIDE4NzkyLCAxLjAwODkzODMxMjUzMDUxNzZdLCBbMTY2MzgxODIwOS40NDE1NTQsIDE4ODEwLCAxLjUwOTAzMDgxODkzOTIwOV0sIFsxNjYzODE4MjA5LjUyNTA4NiwgMTg4MTksIDEuNjY5NDAwMDk1OTM5NjM2Ml0sIFsxNjYzODE4MjA5LjYxMDIyNDIsIDE4ODI4LCAxLjA5NTI5ODE3MTA0MzM5Nl0sIFsxNjYzODE4MjA5Ljk1MDA2MDYsIDE4ODY0LCAxLjA3NjgzNTM5MzkwNTYzOTZdLCBbMTY2MzgxODIxMC4xMDkxOTc2LCAxODg4MiwgMS4yMDEwMDY2NTA5MjQ2ODI2XSwgWzE2NjM4MTgyMTAuMTk1MjMxMiwgMTg4OTEsIDEuMDU3ODIyMjI3NDc4MDI3M10sIFsxNjYzODE4MjEwLjM1NzQ4MiwgMTg5MDksIDAuOTQxNjYwNzYxODMzMTkwOV0sIFsxNjYzODE4MjEwLjYwMzIwMTYsIDE4OTM2LCAwLjk5NzcxMjMxNDEyODg3NTddLCBbMTY2MzgxODIxMC42ODk0ODg2LCAxODk0NSwgMS4xMTg4NTY2Njg0NzIyOV0sIFsxNjYzODE4MjEwLjc3OTMzNDUsIDE4OTU0LCAxLjE4NDM5ODc3MDMzMjMzNjRdLCBbMTY2MzgxODIxMS4xMTcxODQyLCAxODk5MCwgMS4xMTcxMzAwNDExMjI0MzY1XSwgWzE2NjM4MTgyMTEuMjE2MjI2MywgMTg5OTksIDEuMTg0NDQ2MjE1NjI5NTc3Nl0sIFsxNjYzODE4MjExLjc1NjAwNDMsIDE5MDM1LCAxLjE1NzczMTQxMzg0MTI0NzZdLCBbMTY2MzgxODIxMS44NTAyMzE0LCAxOTA0NCwgMS4wNTQ3ODEzMTc3MTA4NzY1XSwgWzE2NjM4MTgyMTIuMTkzNzEzNCwgMTkwODAsIDEuMjUxNTIwNjMzNjk3NTA5OF0sIFsxNjYzODE4MjEyLjI4NjE4NTMsIDE5MDg5LCAxLjQwNzc0NDI4ODQ0NDUxOV0sIFsxNjYzODE4MjEyLjQ4MjMyNzcsIDE5MTA3LCAxLjE2NDkyODA3ODY1MTQyODJdLCBbMTY2MzgxODIxMi41NjM3ODEzLCAxOTExNiwgMS4wNzMyMTc2MzAzODYzNTI1XSwgWzE2NjM4MTgyMTIuNjQ4ODI5NSwgMTkxMjUsIDEuMDIxNDAwMDk0MDMyMjg3Nl0sIFsxNjYzODE4MjEyLjkyODg5MTQsIDE5MTUyLCAxLjI5MDYxNzM0Njc2MzYxMDhdLCBbMTY2MzgxODIxMy41NDY2ODc2LCAxOTIxNSwgMS4wNzI0MzI2MzcyMTQ2NjA2XSwgWzE2NjM4MTgyMTMuNjM3ODQxMiwgMTkyMjQsIDEuMTYzMzc5NjY5MTg5NDUzMV0sIFsxNjYzODE4MjEzLjgwODU1NTgsIDE5MjMzLCAxLjA4Njc0Nzc2NTU0MTA3NjddLCBbMTY2MzgxODIxNC4xMjMyMDk1LCAxOTI2MCwgMS4zMTM1OTI0MzM5Mjk0NDM0XSwgWzE2NjM4MTgyMTQuNTA1MTQxMywgMTkyOTYsIDEuMTQzMTk4ODQ3NzcwNjkxXSwgWzE2NjM4MTgyMTUuMTUzMzc1LCAxOTM1MCwgMC45MjU4NDA4NTQ2NDQ3NzU0XSwgWzE2NjM4MTgyMTUuMjQ1MDE0NCwgMTkzNTksIDEuMDMwNjc5OTQxMTc3MzY4Ml0sIFsxNjYzODE4MjE1LjYzODc0MjQsIDE5Mzk1LCAwLjk1Mjg0OTA5MDA5OTMzNDddLCBbMTY2MzgxODIxNS43MzA1MjMzLCAxOTQwNCwgMS4xOTc0NjY0OTI2NTI4OTNdLCBbMTY2MzgxODIxNi4wOTM1MzgsIDE5NDQwLCAxLjEzMzI5NTA1OTIwNDEwMTZdLCBbMTY2MzgxODIxNi4xNzMyMTk3LCAxOTQ0OSwgMS4xODI0NDAxNjE3MDUwMTddLCBbMTY2MzgxODIxNi4yNjQxNzY2LCAxOTQ1OCwgMS4yNjAwMjQ2NjY3ODYxOTM4XSwgWzE2NjM4MTgyMTYuMzQ0MzQ5MSwgMTk0NjcsIDEuMDY4MzczOTE4NTMzMzI1Ml0sIFsxNjYzODE4MjE2Ljk4OTg4NjMsIDE5NTMwLCAxLjEwMjE5NDMwOTIzNDYxOTFdLCBbMTY2MzgxODIxNy4zNDI2NDEsIDE5NTY2LCAxLjA4MjU4ODc5MTg0NzIyOV0sIFsxNjYzODE4MjE3LjUxMzI0NywgMTk1ODQsIDEuMTc4MjQ0NDcxNTQ5OTg3OF0sIFsxNjYzODE4MjE3LjYwNDU3OTIsIDE5NTkzLCAwLjk3NTY1MzExMTkzNDY2MTldLCBbMTY2MzgxODIxOC4yNzgxODY2LCAxOTY1NiwgMS40MjY0NTgwMDExMzY3Nzk4XSwgWzE2NjM4MTgyMTguNDQ2ODExLCAxOTY3NCwgMS4xMDg0NjY3NDQ0MjI5MTI2XSwgWzE2NjM4MTgyMTguNjMyNzExNiwgMTk2OTIsIDAuOTUyMDMyMzg3MjU2NjIyM10sIFsxNjYzODE4MjE4LjgxNDE1NTMsIDE5NzEwLCAxLjIwMjQ2NjEzMDI1NjY1MjhdLCBbMTY2MzgxODIxOS4yNzA5MDk4LCAxOTc1NSwgMS4wNTMyOTU0OTMxMjU5MTU1XSwgWzE2NjM4MTgyMTkuODgwNDk5LCAxOTgwMCwgMS4wNDY1MDI1OTAxNzk0NDM0XSwgWzE2NjM4MTgyMjAuMDUzOTk0LCAxOTgxOCwgMS4wNDM4MjQ3OTE5MDgyNjQyXSwgWzE2NjM4MTgyMjAuMTMyMTExLCAxOTgyNywgMC45ODYzOTU2NTcwNjI1MzA1XSwgWzE2NjM4MTgyMjAuMjI3NTMxLCAxOTgzNiwgMS4wMTM4NzA0Nzc2NzYzOTE2XSwgWzE2NjM4MTgyMjAuNDc3NDY3MywgMTk4NjMsIDEuMjUzNzY1MTA2MjAxMTcxOV0sIFsxNjYzODE4MjIwLjc0OTA2MTYsIDE5ODkwLCAxLjEzMDY2MDc3MjMyMzYwODRdLCBbMTY2MzgxODIyMC45MzAwMTkxLCAxOTkwOCwgMC45OTc3MTQ0MDAyOTE0NDI5XSwgWzE2NjM4MTgyMjEuMDEzOTY5LCAxOTkxNywgMS4yNjYwNDE2MzY0NjY5OF0sIFsxNjYzODE4MjIxLjE5Mjc0NCwgMTk5MzUsIDEuMTEzMTA4OTkyNTc2NTk5MV0sIFsxNjYzODE4MjIxLjI4MzQxMTcsIDE5OTQ0LCAxLjI2OTM5Mjk2NzIyNDEyMV0sIFsxNjYzODE4MjIxLjgxNjAxNDMsIDE5OTk4LCAxLjEwODU1NDg0MDA4Nzg5MDZdLCBbMTY2MzgxODIyMi4yODgyNjU3LCAyMDAzNCwgMC45ODM3NTQzOTY0Mzg1OTg2XSwgWzE2NjM4MTgyMjIuNDcxMDUwNSwgMjAwNTIsIDEuNTAxNTc1NDY5OTcwNzAzMV0sIFsxNjYzODE4MjIzLjI4NzM3NjksIDIwMTMzLCAxLjE5MzcxOTE0ODYzNTg2NDNdLCBbMTY2MzgxODIyMy41NDgzNDIsIDIwMTYwLCAwLjkzMTA0MjU1MTk5NDMyMzddLCBbMTY2MzgxODIyMy44MTA4MjE4LCAyMDE4NywgMS4xMTIxMDA0ODE5ODY5OTk1XSwgWzE2NjM4MTgyMjMuOTk2MDMyNSwgMjAyMDUsIDEuMDc3NjA4NDY2MTQ4Mzc2NV0sIFsxNjYzODE4MjI0Ljg3MTgwMjgsIDIwMjk1LCAxLjIxMjM5OTk1OTU2NDIwOV0sIFsxNjYzODE4MjI1LjE1MDMzMjIsIDIwMzIyLCAxLjIzMTY5MTM2MDQ3MzYzMjhdLCBbMTY2MzgxODIyNS4yMzc2MDI3LCAyMDMzMSwgMS4yMjg0NDc3OTQ5MTQyNDU2XSwgWzE2NjM4MTgyMjUuNzY3Mzc5MywgMjAzODUsIDAuOTA5OTA5MDA5OTMzNDcxN10sIFsxNjYzODE4MjI2LjAyNDMxMzQsIDIwNDEyLCAxLjEzODAxOTIwNDEzOTcwOTVdLCBbMTY2MzgxODIyNi45NjAxMDY2LCAyMDQ5MywgMS4xNjIzNjMxNzE1Nzc0NTM2XSwgWzE2NjM4MTgyMjcuMzA0OTQ5OCwgMjA1MjksIDAuOTUzNjgzNjc0MzM1NDc5N10sIFsxNjYzODE4MjI3LjM4NzQzMjgsIDIwNTM4LCAwLjk1MDMyMTI1NzExNDQxMDRdLCBbMTY2MzgxODIyNy44ODU2OTEyLCAyMDU3NCwgMS4xMDIzNTU4Mzc4MjE5NjA0XSwgWzE2NjM4MTgyMjguMzk5MDA0NywgMjA2MjgsIDEuMTUxNjY4MzEwMTY1NDA1M10sIFsxNjYzODE4MjI4LjQ4Nzc3MzQsIDIwNjM3LCAxLjIyMjUxMjAwNjc1OTY0MzZdLCBbMTY2MzgxODIyOC41NjY2MTczLCAyMDY0NiwgMS4xMzQwNzYzNTY4ODc4MTc0XSwgWzE2NjM4MTgyMjkuMTYzMDEwMSwgMjA3MDksIDEuNjQwNjU2OTQ4MDg5NTk5Nl0sIFsxNjYzODE4MjI5LjU5ODAwODYsIDIwNzU0LCAwLjk4MzA3NTM4MDMyNTMxNzRdLCBbMTY2MzgxODIyOS42ODk5ODAzLCAyMDc2MywgMS4wMDA3ODM5MjAyODgwODZdLCBbMTY2MzgxODIyOS43ODMwODczLCAyMDc3MiwgMS4wNzUyNzg0MDEzNzQ4MTddLCBbMTY2MzgxODIyOS45NDU3MjczLCAyMDc5MCwgMS4wMzM1NjUyODI4MjE2NTUzXSwgWzE2NjM4MTgyMzAuMTIwNDIxNiwgMjA4MDgsIDEuMDQyMDEyMzMzODY5OTM0XSwgWzE2NjM4MTgyMzAuNDY4MjAxMiwgMjA4NDQsIDEuMjEyMDU0MzcxODMzODAxM10sIFsxNjYzODE4MjMwLjU0OTc5NTIsIDIwODUzLCAxLjA3NzE5NzkwOTM1NTE2MzZdLCBbMTY2MzgxODIzMC44MDI1OTQyLCAyMDg4MCwgMS4xODY4MTQ1NDY1ODUwODNdLCBbMTY2MzgxODIzMS4yMzk5MjA0LCAyMDkyNSwgMS4wNDY1NzE2MTIzNTgwOTMzXSwgWzE2NjM4MTgyMzEuNzY5NTIzLCAyMDk3OSwgMS4wNzk3NTEyNTMxMjgwNTE4XSwgWzE2NjM4MTgyMzEuOTMyNzE5NSwgMjA5OTcsIDEuMTM1NjQzMjQzNzg5NjcyOV0sIFsxNjYzODE4MjMyLjE4ODYwMywgMjEwMjQsIDEuMTY0NzE5ODIwMDIyNTgzXSwgWzE2NjM4MTgyMzIuNjE0ODQwNSwgMjEwNjksIDEuMDI2NTkxMzAwOTY0MzU1NV0sIFsxNjYzODE4MjMyLjc5MDY1MzIsIDIxMDg3LCAwLjkzODc4MTk3NjY5OTgyOTFdLCBbMTY2MzgxODIzMi44ODE1MTg2LCAyMTA5NiwgMS4wMjIyNDExMTU1NzAwNjg0XSwgWzE2NjM4MTgyMzMuMDEyNjM3OSwgMjExMDUsIDAuOTMxMDk4MDQzOTE4NjA5Nl0sIFsxNjYzODE4MjMzLjI0MjQ1NiwgMjExMjMsIDAuOTgwNDE0OTg2NjEwNDEyNl0sIFsxNjYzODE4MjMzLjM0NjI0NjIsIDIxMTMyLCAwLjk5MjI2Mjk1OTQ4MDI4NTZdLCBbMTY2MzgxODIzMy40NTY3ODUsIDIxMTQxLCAxLjA4NTA5NTUyNDc4NzkwMjhdLCBbMTY2MzgxODIzMy43NTMyNDY4LCAyMTE2OCwgMS4xMzUwODY3NzQ4MjYwNDk4XSwgWzE2NjM4MTgyMzMuODQzMjIsIDIxMTc3LCAxLjExMDc2MzU0OTgwNDY4NzVdLCBbMTY2MzgxODIzMy45MzM1NzYsIDIxMTg2LCAxLjEzMzMyMzkwNzg1MjE3MjldLCBbMTY2MzgxODIzNC4yNzE0NDUzLCAyMTIyMiwgMS4wNjMzNTg3ODM3MjE5MjM4XSwgWzE2NjM4MTgyMzQuNDQ5MzUyMywgMjEyNDAsIDEuMjE1NjAwOTY3NDA3MjI2Nl0sIFsxNjYzODE4MjM0LjcxNTk4MzksIDIxMjY3LCAxLjE1NzY1MzU3MDE3NTE3MV0sIFsxNjYzODE4MjM0Ljk3MzUyMzEsIDIxMjk0LCAxLjAyNjQyMzY5MjcwMzI0N10sIFsxNjYzODE4MjM1LjIzMzIxMTgsIDIxMzIxLCAxLjEyMTk4NDI0MzM5Mjk0NDNdLCBbMTY2MzgxODIzNS42NTE5NTA2LCAyMTM0OCwgMS4wOTM5NDA3MzQ4NjMyODEyXSwgWzE2NjM4MTgyMzUuODE5MTA2NiwgMjEzNjYsIDEuMTc0NjQxMDEzMTQ1NDQ2OF0sIFsxNjYzODE4MjM2LjI1Njk4ODgsIDIxNDExLCAxLjIzNTg3NTM2ODExODI4NjFdLCBbMTY2MzgxODIzNi43NTE4MTE1LCAyMTQ2NSwgMS4wODI0NzM5OTMzMDEzOTE2XSwgWzE2NjM4MTgyMzcuMTk5MTMwNSwgMjE1MTAsIDEuMTMyNTEzMDQ2MjY0NjQ4NF0sIFsxNjYzODE4MjM3LjM1OTQ3NzMsIDIxNTI4LCAxLjI3NTYxNDI2MTYyNzE5NzNdLCBbMTY2MzgxODIzNy41MjA0Mzc3LCAyMTU0NiwgMS4xNTcxNTk1NjY4NzkyNzI1XSwgWzE2NjM4MTgyMzcuNjA0OTU4MywgMjE1NTUsIDEuMTkwOTkyMjM2MTM3MzkwMV0sIFsxNjYzODE4MjM3LjcwNDA0NTMsIDIxNTY0LCAxLjE4MjAxNTQxOTAwNjM0NzddLCBbMTY2MzgxODIzNy44MDE1NjUyLCAyMTU3MywgMS4xNzE0ODczMzEzOTAzODA5XSwgWzE2NjM4MTgyMzcuODgzNjkyLCAyMTU4MiwgMS4wMzQ5NDYzMjI0NDExMDFdLCBbMTY2MzgxODIzNy45NzM2NTM2LCAyMTU5MSwgMS4zNzIyMDIyNzcxODM1MzI3XSwgWzE2NjM4MTgyMzguODc2MDc3NywgMjE2ODEsIDEuMjY2MDI3NTY5NzcwODEzXSwgWzE2NjM4MTgyMzkuMTk5MDM3NiwgMjE3MTcsIDEuMDM0NDIxMzI0NzI5OTE5NF0sIFsxNjYzODE4MjM5LjQ1MTc1MzQsIDIxNzQ0LCAxLjQ5MTgwMzc2NTI5NjkzNl0sIFsxNjYzODE4MjM5LjgwMTUzNSwgMjE3ODAsIDEuMzQyNjcxOTkwMzk0NTkyM10sIFsxNjYzODE4MjQwLjU4NTY3LCAyMTg2MSwgMC45MzE5Mjc1NjE3NTk5NDg3XSwgWzE2NjM4MTgyNDAuODU2MjQ0OCwgMjE4ODgsIDAuODk4Mjk5MzM2NDMzNDEwNl0sIFsxNjYzODE4MjQxLjE4NDk2MSwgMjE5MjQsIDEuMTQ5MDc0OTEyMDcxMjI4XSwgWzE2NjM4MTgyNDEuMjc1MzQwNiwgMjE5MzMsIDEuMTgzODM4MDA5ODM0Mjg5Nl0sIFsxNjYzODE4MjQxLjQ0NTA4ODksIDIxOTUxLCAxLjA0NzI1NTYzNTI2MTUzNTZdLCBbMTY2MzgxODI0MS41MzE4NzEsIDIxOTYwLCAxLjAxOTE0NjMyMzIwNDA0MDVdLCBbMTY2MzgxODI0MS43MDI0MjcxLCAyMTk3OCwgMS4wNzQ2Mzk0Mzk1ODI4MjQ3XSwgWzE2NjM4MTgyNDEuNzk1NjMxMiwgMjE5ODcsIDEuMTU1MjcxMjkxNzMyNzg4XSwgWzE2NjM4MTgyNDIuMzExOTQxNCwgMjIwNDEsIDEuMTQzNzcwOTMzMTUxMjQ1MV0sIFsxNjYzODE4MjQyLjk0ODk2MiwgMjIwOTUsIDEuMTg2NTI5MDQwMzM2NjA4OV0sIFsxNjYzODE4MjQzLjQ0MjQwMDcsIDIyMTMxLCAwLjk5MjM3OTk2MzM5Nzk3OTddLCBbMTY2MzgxODI0My43ODgxODMyLCAyMjE2NywgMC44Nzk3NzM4NTUyMDkzNTA2XSwgWzE2NjM4MTgyNDMuOTk2MzM3NCwgMjIxODUsIDAuOTI4MjQ5NjU3MTU0MDgzM10sIFsxNjYzODE4MjQ0LjA5MzI1MjIsIDIyMTk0LCAxLjM0MTQ3Nzk5MDE1MDQ1MTddLCBbMTY2MzgxODI0NC4yNjAyMzI0LCAyMjIxMiwgMC45ODkxNTAyODU3MjA4MjUyXSwgWzE2NjM4MTgyNDQuNDI4ODIxOCwgMjIyMzAsIDEuMDc5NTI5ODgxNDc3MzU2XSwgWzE2NjM4MTgyNDQuNzg2OTA3LCAyMjI2NiwgMC45NjY5NTY1NTU4NDMzNTMzXSwgWzE2NjM4MTgyNDQuOTc5MzU1NiwgMjIyODQsIDEuMDAxNDI5OTE1NDI4MTYxNl0sIFsxNjYzODE4MjQ1LjE0ODExNzUsIDIyMzAyLCAxLjE5ODQxMjUzNzU3NDc2OF0sIFsxNjYzODE4MjQ1Ljg0ODcxMTMsIDIyMzY1LCAxLjAyMzIxNDU3ODYyODU0XSwgWzE2NjM4MTgyNDUuOTQ2NTkyOCwgMjIzNzQsIDEuMDk5NDM2OTk4MzY3MzA5Nl0sIFsxNjYzODE4MjQ2LjM3NDYzODYsIDIyNDEwLCAxLjIzODE5NjM3Mjk4NTgzOThdLCBbMTY2MzgxODI0Ni43MzU3OTE0LCAyMjQ0NiwgMS4wNzUyMzE3OTA1NDI2MDI1XSwgWzE2NjM4MTgyNDcuMDY5NTExNywgMjI0NzMsIDEuMjA1MTAzNTE2NTc4Njc0M10sIFsxNjYzODE4MjQ3LjI1NjkxMzIsIDIyNDkxLCAxLjA2NDk1NzE0MTg3NjIyMDddLCBbMTY2MzgxODI0Ny4zMzk5MDA1LCAyMjUwMCwgMS42NjA4NzI4MTcwMzk0ODk3XSwgWzE2NjM4MTgyNDcuNDI5NTA3NywgMjI1MDksIDEuMDQxOTMxMjcxNTUzMDM5Nl0sIFsxNjYzODE4MjQ3LjUxNTk1NjksIDIyNTE4LCAwLjkxNDA0NjgyMzk3ODQyNDFdLCBbMTY2MzgxODI0Ny42ODMyNzY3LCAyMjUzNiwgMC45NzAyMTQ3ODQxNDUzNTUyXSwgWzE2NjM4MTgyNDcuODUyODg2MiwgMjI1NTQsIDEuMjM2OTY3OTIxMjU3MDE5XSwgWzE2NjM4MTgyNDcuOTMyNzM4NSwgMjI1NjMsIDEuMDA2OTk2MzkzMjAzNzM1NF0sIFsxNjYzODE4MjQ4LjEwNjc1MDUsIDIyNTgxLCAxLjAxMjMyNTE2NzY1NTk0NDhdLCBbMTY2MzgxODI0OC4zMzQ5MDU0LCAyMjU5OSwgMS4zNjY3ODA0MDAyNzYxODRdLCBbMTY2MzgxODI0OC42NTMyMjU0LCAyMjYyNiwgMS4xMTM1NDY5Njc1MDY0MDg3XSwgWzE2NjM4MTgyNDguODg4NDA5NiwgMjI2NDQsIDEuMTkzMzIwOTg5NjA4NzY0Nl0sIFsxNjYzODE4MjQ5LjA4MTA4LCAyMjY2MiwgMS42NjQ1MjAwMjUyNTMyOTZdLCBbMTY2MzgxODI0OS4xNzA3MjY1LCAyMjY3MSwgMS4xODYwMTc3NTE2OTM3MjU2XSwgWzE2NjM4MTgyNDkuMjU1NTYsIDIyNjgwLCAxLjIwNTU2MTE2MTA0MTI1OThdLCBbMTY2MzgxODI0OS40MjMzMzA1LCAyMjY5OCwgMS4xMzQ4ODI1NjkzMTMwNDkzXSwgWzE2NjM4MTgyNDkuNjA1NDE0MiwgMjI3MTYsIDAuOTM3OTI5MDM0MjMzMDkzM10sIFsxNjYzODE4MjUwLjAzMjcwOTgsIDIyNzYxLCAxLjM4NTI0NDk2NTU1MzI4MzddLCBbMTY2MzgxODI1MC4yNjQ4ODA0LCAyMjc3OSwgMS4zMTQzMDU0MjQ2OTAyNDY2XSwgWzE2NjM4MTgyNTAuMzY3MzM5NiwgMjI3ODgsIDEuMDI4NjQyMTc3NTgxNzg3XSwgWzE2NjM4MTgyNTAuNTY3MTI3NSwgMjI4MDYsIDEuMDU3NDM0OTE2NDk2Mjc2OV0sIFsxNjYzODE4MjUxLjAxNjk2MDEsIDIyODUxLCAxLjIyNzUyOTE2ODEyODk2NzNdLCBbMTY2MzgxODI1MS4zNjcwNzE0LCAyMjg2OSwgMS4xNjMxMTI4Nzg3OTk0Mzg1XSwgWzE2NjM4MTgyNTEuNTQwODgzOCwgMjI4ODcsIDEuMzUxMTc3MDk2MzY2ODgyM10sIFsxNjYzODE4MjUxLjY0Nzk2MDQsIDIyODk2LCAxLjQ0Mzg4MjcwMzc4MTEyOF0sIFsxNjYzODE4MjUxLjkzOTg2NDIsIDIyOTIzLCAxLjI0OTczNDA0NDA3NTAxMjJdLCBbMTY2MzgxODI1Mi42ODE3NDg0LCAyMjk5NSwgMS4wMjQ0NjQwMTExOTIzMjE4XSwgWzE2NjM4MTgyNTIuNzYxNzE0NywgMjMwMDQsIDEuMDU4ODA2NTM4NTgxODQ4MV0sIFsxNjYzODE4MjUzLjE3MzgwNjcsIDIzMDQ5LCAxLjAyNTY1NTYyNzI1MDY3MTRdLCBbMTY2MzgxODI1My42Mzg0MDUzLCAyMzA5NCwgMS4xMTU0MzI5Nzc2NzYzOTE2XSwgWzE2NjM4MTgyNTMuNzI3OTgyMywgMjMxMDMsIDEuMjQ0MjY0MjQ1MDMzMjY0Ml0sIFsxNjYzODE4MjUzLjg5NDA4ODMsIDIzMTIxLCAwLjg5MTU0OTgyNTY2ODMzNV0sIFsxNjYzODE4MjU0LjE0OTExODcsIDIzMTQ4LCAxLjEyMjUzNDc1MTg5MjA4OThdLCBbMTY2MzgxODI1NC4zMjk4Mzc2LCAyMzE2NiwgMS4wMjY3NzI5NzU5MjE2MzA5XSwgWzE2NjM4MTgyNTQuNTA4MjExNiwgMjMxODQsIDEuMjQ3MTQ5MTA5ODQwMzkzXSwgWzE2NjM4MTgyNTQuNjgzMTU2NywgMjMyMDIsIDEuMDI0OTMxNzg4NDQ0NTE5XSwgWzE2NjM4MTgyNTQuNzc5NTIzOCwgMjMyMTEsIDEuMDg5NzEyMTQyOTQ0MzM2XSwgWzE2NjM4MTgyNTUuMjk0NzkwNywgMjMyNTYsIDEuMzY2MTQ1MzcyMzkwNzQ3XSwgWzE2NjM4MTgyNTUuMzgxMDM0MSwgMjMyNjUsIDEuMjAyMDkwMjYzMzY2Njk5Ml0sIFsxNjYzODE4MjU1LjQ2ODc3NjcsIDIzMjc0LCAxLjE2ODY5MzE4NDg1MjZdLCBbMTY2MzgxODI1NS43MjY1ODgyLCAyMzMwMSwgMS4yMTExMjA2MDU0Njg3NV0sIFsxNjYzODE4MjU1LjgxMjg0MTcsIDIzMzEwLCAxLjExNjExNDYxNjM5NDA0M10sIFsxNjYzODE4MjU2LjA2NTcyNzcsIDIzMzM3LCAwLjk5NjM0NTEwMjc4NzAxNzhdLCBbMTY2MzgxODI1Ni41ODk0MTAzLCAyMzM5MSwgMS4xODM1NjIzOTc5NTY4NDgxXSwgWzE2NjM4MTgyNTYuNjc5Mzk3LCAyMzQwMCwgMS4wNzY1MDQ4MjY1NDU3MTUzXSwgWzE2NjM4MTgyNTYuODYzOTUsIDIzNDE4LCAxLjA0NjMzMDY5MDM4MzkxMTFdLCBbMTY2MzgxODI1Ny4wNTM2MzIsIDIzNDM2LCAxLjExNTcyODczNTkyMzc2N10sIFsxNjYzODE4MjU3LjIzNzUwMTYsIDIzNDU0LCAxLjcxMDI1NDQzMDc3MDg3NF0sIFsxNjYzODE4MjU3LjMyNTc3MzIsIDIzNDYzLCAxLjA0MTMzODgwMTM4Mzk3MjJdLCBbMTY2MzgxODI1OC4yODExMTkzLCAyMzU2MiwgMS4xMDM0Njg2NTY1Mzk5MTddLCBbMTY2MzgxODI1OC4zNzQxMDUsIDIzNTcxLCAxLjExOTkzNzg5NjcyODUxNTZdLCBbMTY2MzgxODI1OC40NTg2NDYzLCAyMzU4MCwgMC45ODYyNjg0MDExNDU5MzUxXSwgWzE2NjM4MTgyNTguNzMwNTU3NCwgMjM2MDcsIDEuMDkzNTI3MzE3MDQ3MTE5MV0sIFsxNjYzODE4MjU5LjM0MTcwOSwgMjM2NTIsIDAuOTU1NTAwMTg1NDg5NjU0NV0sIFsxNjYzODE4MjU5LjQzMTUzODMsIDIzNjYxLCAwLjk4NjY3NjAzNzMxMTU1NF0sIFsxNjYzODE4MjU5LjgwNDM0MiwgMjM2OTcsIDEuMjEwMzE2NjU4MDIwMDE5NV1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_09-23-28_54c5144e9b50&tag=Loss%2Fvalid":{"data":"W1sxNjYzOTI1MDA4LjI5MTY0NTUsIDksIDkwLjc1MDIyMTI1MjQ0MTRdLCBbMTY2MzkyNTAwOC41MTI5OTY3LCAyNywgODUuOTg4NDI2MjA4NDk2MV0sIFsxNjYzOTI1MDA4LjYyNzg1ODQsIDM2LCA4Ni41MjEzMjQxNTc3MTQ4NF0sIFsxNjYzOTI1MDA4LjczNTQwNTIsIDQ1LCA1OS40NDg5MDIxMzAxMjY5NV0sIFsxNjYzOTI1MDA5LjA3NzI4NzIsIDcyLCA0My45NjI3NDU2NjY1MDM5MDZdLCBbMTY2MzkyNTAwOS4yOTcxMDA4LCA5MCwgMzEuMDc2MzQ1NDQzNzI1NTg2XSwgWzE2NjM5MjUwMDkuNDI0ODUwMiwgOTksIDI3LjE2NDcxODYyNzkyOTY4OF0sIFsxNjYzOTI1MDA5LjUzNjEzODgsIDEwOCwgMzAuNDM1MTg4MjkzNDU3MDNdLCBbMTY2MzkyNTAwOS44ODYxMTIsIDEzNSwgMjEuNzE1MDU1NDY1Njk4MjQyXSwgWzE2NjM5MjUwMDkuOTkxODksIDE0NCwgMTguNzc0ODYyMjg5NDI4NzFdLCBbMTY2MzkyNTAxMC4xMDY5Njg2LCAxNTMsIDE5LjQ4MTcxOTk3MDcwMzEyNV0sIFsxNjYzOTI1MDEwLjMwOTg2MiwgMTcxLCAxNi42MDQwNTczMTIwMTE3Ml0sIFsxNjYzOTI1MDEwLjQyMzE5NDQsIDE4MCwgMTYuMzA2MTYxODgwNDkzMTY0XSwgWzE2NjM5MjUwMTAuNTM1MDg4LCAxODksIDE1Ljc3Nzc0OTA2MTU4NDQ3M10sIFsxNjYzOTI1MDEwLjc4ODA0NjYsIDIwNywgMTMuNjQyMDI3ODU0OTE5NDM0XSwgWzE2NjM5MjUwMTAuOTEzMTcyLCAyMTYsIDE2LjgzNzYwNjQzMDA1MzcxXSwgWzE2NjM5MjUwMTEuMjU1MDIxMywgMjQzLCAxNC4zNzIxODk1MjE3ODk1NV0sIFsxNjYzOTI1MDExLjM1OTI2MSwgMjUyLCAxMi44NTE1NDM0MjY1MTM2NzJdLCBbMTY2MzkyNTAxMS40Nzk2NDUzLCAyNjEsIDEyLjU0MDIyNzg5MDAxNDY0OF0sIFsxNjYzOTI1MDExLjU5NjYzNjgsIDI3MCwgMTEuOTg0OTk4NzAzMDAyOTNdLCBbMTY2MzkyNTAxMS43MTUwMDk1LCAyNzksIDExLjExNzM1NTM0NjY3OTY4OF0sIFsxNjYzOTI1MDExLjgzNTI2MzcsIDI4OCwgMTEuNDgyNjQ3ODk1ODEyOTg4XSwgWzE2NjM5MjUwMTEuOTQwMTQ2LCAyOTcsIDEyLjI2MTczMzA1NTExNDc0Nl0sIFsxNjYzOTI1MDEyLjA0OTk5NTIsIDMwNiwgMTEuMzM0NzQ1NDA3MTA0NDkyXSwgWzE2NjM5MjUwMTIuMTYzOTYzLCAzMTUsIDExLjYyNjgxMDA3Mzg1MjUzOV0sIFsxNjYzOTI1MDEyLjM5MzU2NiwgMzMzLCAxMC4xNDY2OTEzMjIzMjY2Nl0sIFsxNjYzOTI1MDEyLjUwOTY3ODgsIDM0MiwgMTAuNzM0MzE4NzMzMjE1MzMyXSwgWzE2NjM5MjUwMTIuNjE2MjIyMSwgMzUxLCAxMS40Mjk1NTk3MDc2NDE2MDJdLCBbMTY2MzkyNTAxMi43MjkwOTEsIDM2MCwgMTEuOTczODEwMTk1OTIyODUyXSwgWzE2NjM5MjUwMTIuODI4NTA2LCAzNjksIDExLjA5MzMwMjcyNjc0NTYwNV0sIFsxNjYzOTI1MDEzLjA1MDQzMjcsIDM4NywgMTEuMDgxNDI2NjIwNDgzMzk4XSwgWzE2NjM5MjUwMTMuMTYzMTU2NSwgMzk2LCAxMS4yMTE1NjMxMTAzNTE1NjJdLCBbMTY2MzkyNTAxMy42MDkxOTg4LCA0MzIsIDEwLjU4MzA5MTczNTgzOTg0NF0sIFsxNjYzOTI1MDEzLjcwODYyMDUsIDQ0MSwgOC41NzQ2Nzc0NjczNDYxOTFdLCBbMTY2MzkyNTAxMy44MjM5MTg4LCA0NTAsIDcuODU0MTA0OTk1NzI3NTM5XSwgWzE2NjM5MjUwMTMuOTQyODcsIDQ1OSwgOS41MjI4OTAwOTA5NDIzODNdLCBbMTY2MzkyNTAxNC4wNDc3MDIsIDQ2OCwgOC42MjExNDIzODczOTAxMzddLCBbMTY2MzkyNTAxNC4xNTYwNjc4LCA0NzcsIDcuNTE1MTQ3MjA5MTY3NDgwNV0sIFsxNjYzOTI1MDE0LjI3MjM1NjUsIDQ4NiwgNy41MjMzNjQwNjcwNzc2MzddLCBbMTY2MzkyNTAxNC4zNzkzMTg3LCA0OTUsIDYuOTg1MDA4NzE2NTgzMjUyXSwgWzE2NjM5MjUwMTQuNTAyNDE1MiwgNTA0LCA3LjEzODY3MTg3NV0sIFsxNjYzOTI1MDE0LjcyMjI4MDMsIDUyMiwgNy4zMDkyNDk0MDEwOTI1MjldLCBbMTY2MzkyNTAxNS4wODU0MTUxLCA1NDksIDYuNjg1NTAxMDk4NjMyODEyNV0sIFsxNjYzOTI1MDE1LjIwNTUyMDQsIDU1OCwgNS45MjU1MDAzOTI5MTM4MThdLCBbMTY2MzkyNTAxNS4zMDU1MTA4LCA1NjcsIDYuNTMwNjM2Nzg3NDE0NTUxXSwgWzE2NjM5MjUwMTUuNTE1MDU3LCA1NzYsIDcuMDMwMjU4MTc4NzEwOTM3NV0sIFsxNjYzOTI1MDE1Ljg3MTA4NTQsIDU5NCwgNi4yNjE4ODQyMTI0OTM4OTY1XSwgWzE2NjM5MjUwMTUuOTg0MjQ5NiwgNjAzLCA2LjU0MTM2MzIzOTI4ODMzXSwgWzE2NjM5MjUwMTYuMDgwMzYxLCA2MTIsIDYuODUyNjU5NzAyMzAxMDI1XSwgWzE2NjM5MjUwMTYuMTk1ODQ3MywgNjIxLCA1Ljk2ODY2NjU1MzQ5NzMxNDVdLCBbMTY2MzkyNTAxNi40NDE3OTU4LCA2MzksIDYuMzg5NTc4ODE5Mjc0OTAyXSwgWzE2NjM5MjUwMTYuNTM2NDk2OSwgNjQ4LCA2LjA3NzU4NjY1MDg0ODM4OV0sIFsxNjYzOTI1MDE2LjczNzgxNywgNjY2LCA1LjQxNTQwMDUwNTA2NTkxOF0sIFsxNjYzOTI1MDE3LjA4MTYzMzYsIDY4NCwgNC45OTE0NDUwNjQ1NDQ2NzhdLCBbMTY2MzkyNTAxNy4zMTEyNTU3LCA3MDIsIDQuNjY4MjQxNTAwODU0NDkyXSwgWzE2NjM5MjUwMTcuNDI3MTgxMiwgNzExLCA1LjY4MzEyNTAxOTA3MzQ4Nl0sIFsxNjYzOTI1MDE3LjUyOTYwNjMsIDcyMCwgNS4xMTQwMjQxNjIyOTI0ODA1XSwgWzE2NjM5MjUwMTcuNjQ0ODQxLCA3MjksIDUuMzc3MTQ1NzY3MjExOTE0XSwgWzE2NjM5MjUwMTcuNzc1MTQwOCwgNzM4LCA2LjIyMDY4Nzg2NjIxMDkzNzVdLCBbMTY2MzkyNTAxNy44OTA5Njc4LCA3NDcsIDQuOTM5OTA2NTk3MTM3NDUxXSwgWzE2NjM5MjUwMTguMDA3NTM1MiwgNzU2LCA0LjA5MTAzODIyNzA4MTI5OV0sIFsxNjYzOTI1MDE4LjI3MTE1MzIsIDc3NCwgNC44NDIzNjUyNjQ4OTI1NzhdLCBbMTY2MzkyNTAxOC4zODI4MDIsIDc4MywgNC4zNjcxOTYwODMwNjg4NDhdLCBbMTY2MzkyNTAxOC40OTcxOTk1LCA3OTIsIDQuNjUxODc5MzEwNjA3OTFdLCBbMTY2MzkyNTAxOC43MzgzNDM1LCA4MTAsIDUuMDkxMDkyMTA5NjgwMTc2XSwgWzE2NjM5MjUwMTguODQ1ODMzOCwgODE5LCA0LjIyODU4NzE1MDU3MzczMDVdLCBbMTY2MzkyNTAxOS4wODY3NTQ4LCA4MzcsIDUuNDQ2NTg4MDM5Mzk4MTkzXSwgWzE2NjM5MjUwMTkuMzA4MjM4MywgODU1LCA0LjcyNDUwMzA0MDMxMzcyMV0sIFsxNjYzOTI1MDE5LjQzMTI5NjMsIDg2NCwgNS40MTQ1Mjg4NDY3NDA3MjNdLCBbMTY2MzkyNTAxOS41NDc5MjA1LCA4NzMsIDUuMzc1NjQwMzkyMzAzNDY3XSwgWzE2NjM5MjUwMTkuODkwNjk5OSwgOTAwLCA1LjMxNTc2NjgxMTM3MDg1XSwgWzE2NjM5MjUwMjAuMDAwNzQ1MywgOTA5LCA0Ljc1MTgzOTYzNzc1NjM0OF0sIFsxNjYzOTI1MDIwLjM0NTA2MSwgOTM2LCAzLjk2MDcwODM3OTc0NTQ4MzRdLCBbMTY2MzkyNTAyMC40NDMxMjc0LCA5NDUsIDQuNzEwMDYzNDU3NDg5MDE0XSwgWzE2NjM5MjUwMjAuNjUyODQxOCwgOTYzLCA0Ljk5OTc0MzQ2MTYwODg4N10sIFsxNjYzOTI1MDIwLjc1NDQzNDMsIDk3MiwgNS4yNDk4MzgzNTIyMDMzNjldLCBbMTY2MzkyNTAyMC44Njk4MTY4LCA5ODEsIDQuMzk1MzU0NzQ3NzcyMjE3XSwgWzE2NjM5MjUwMjAuOTg3Njg5LCA5OTAsIDQuOTYxNzg1NzkzMzA0NDQzXSwgWzE2NjM5MjUwMjEuMTAxNzQ4MiwgOTk5LCAzLjc3NDcwODk4NjI4MjM0ODZdLCBbMTY2MzkyNTAyMS4yMDk0OTY3LCAxMDA4LCA0LjA4MjM4MDc3MTYzNjk2M10sIFsxNjYzOTI1MDIxLjMxNjMyNSwgMTAxNywgNi4yOTQwODc4ODY4MTAzMDNdLCBbMTY2MzkyNTAyMS41MDY4ODcyLCAxMDM1LCA0LjQ0Nzc2NTM1MDM0MTc5N10sIFsxNjYzOTI1MDIxLjYwMjU0MSwgMTA0NCwgNC4xNjE3NjA4MDcwMzczNTM1XSwgWzE2NjM5MjUwMjEuNzAxMTEwNCwgMTA1MywgNS4wMTc4MzY1NzA3Mzk3NDZdLCBbMTY2MzkyNTAyMS44MDQ5NTU3LCAxMDYyLCAzLjkxNzU2NTEwNzM0NTU4MV0sIFsxNjYzOTI1MDIyLjEzNDA1MTMsIDEwODksIDQuMjU2NTI4Mzc3NTMyOTU5XSwgWzE2NjM5MjUwMjIuMjI5MTQ5NiwgMTA5OCwgNC41NDU4MTg4MDU2OTQ1OF0sIFsxNjYzOTI1MDIyLjY2MDA0NTQsIDExMzQsIDMuNzM0NjgzNTEzNjQxMzU3NF0sIFsxNjYzOTI1MDIyLjc5Nzc4NSwgMTE0MywgNC4wNzg1MTUwNTI3OTU0MV0sIFsxNjYzOTI1MDIyLjkzMjA2MjEsIDExNTIsIDMuNDE0ODE0OTQ5MDM1NjQ0NV0sIFsxNjYzOTI1MDIzLjA1MTIzMDcsIDExNjEsIDMuODQ2ODM1Mzc0ODMyMTUzM10sIFsxNjYzOTI1MDIzLjE3MDU3ODUsIDExNzAsIDQuODI5NzAxNDIzNjQ1MDE5NV0sIFsxNjYzOTI1MDIzLjI4ODc4MjEsIDExNzksIDMuNzI2ODMwNDgyNDgyOTFdLCBbMTY2MzkyNTAyMy40MDk0ODM0LCAxMTg4LCA0Ljg0NjE3ODA1NDgwOTU3XSwgWzE2NjM5MjUwMjMuNTIyNzAzNCwgMTE5NywgNC4wMTQzNTM3NTIxMzYyMzA1XSwgWzE2NjM5MjUwMjMuNzI4NjQ5MSwgMTIxNSwgMy42MDU5NDQ4NzE5MDI0NjZdLCBbMTY2MzkyNTAyMy45MjUzNDE0LCAxMjMzLCAzLjk4MjU5MzI5Nzk1ODM3NF0sIFsxNjYzOTI1MDI0LjAzNjY0OTUsIDEyNDIsIDQuMjYzOTgxODE5MTUyODMyXSwgWzE2NjM5MjUwMjQuMTI0MDM2NiwgMTI1MSwgNC4zMjU5NDE1NjI2NTI1ODhdLCBbMTY2MzkyNTAyNC4yMjY4OTU2LCAxMjYwLCAzLjY4MzM0NzIyNTE4OTIwOV0sIFsxNjYzOTI1MDI0LjMxOTQxODcsIDEyNjksIDMuNjcxNzE5NTUxMDg2NDI2XSwgWzE2NjM5MjUwMjQuNDE5MDYzNiwgMTI3OCwgNC4yMDUxNTU4NDk0NTY3ODddLCBbMTY2MzkyNTAyNC45MTc0OTI2LCAxMjk2LCA0LjE2NzYyMDY1ODg3NDUxMl0sIFsxNjYzOTI1MDI1LjA0OTk0NTgsIDEzMDUsIDQuNjUzNDE2NjMzNjA1OTU3XSwgWzE2NjM5MjUwMjUuMTQyNjQ5NywgMTMxNCwgMy40NDQ2MDIwMTI2MzQyNzczXSwgWzE2NjM5MjUwMjUuMjQwMjE5OCwgMTMyMywgMy43MDUzMTcyNTg4MzQ4MzldLCBbMTY2MzkyNTAyNS4zMzc4NTQ5LCAxMzMyLCAzLjI4ODc2NzgxNDYzNjIzMDVdLCBbMTY2MzkyNTAyNS40NTMyMTQ2LCAxMzQxLCAzLjQ3NDM4NjQ1MzYyODU0XSwgWzE2NjM5MjUwMjUuNjYxNjY3OCwgMTM1OSwgMy43OTAwMDM1MzgxMzE3MTRdLCBbMTY2MzkyNTAyNi4wODg0MDM3LCAxMzk1LCA0LjM3NTkzNzQ2MTg1MzAyN10sIFsxNjYzOTI1MDI2LjMwNzc3MjQsIDE0MTMsIDMuNzQ5OTI5MTg5NjgyMDA3XSwgWzE2NjM5MjUwMjYuNDIzMDIyLCAxNDIyLCAyLjkwODk4MzIzMDU5MDgyMDNdLCBbMTY2MzkyNTAyNi41NTY2NjE2LCAxNDMxLCAyLjk0MjU5NzM4OTIyMTE5MTRdLCBbMTY2MzkyNTAyNi42NTg5ODE2LCAxNDQwLCAzLjE5OTAxOTE5MzY0OTI5Ml0sIFsxNjYzOTI1MDI2Ljc3ODU2NjEsIDE0NDksIDMuMDc4MjcxMTUwNTg4OTg5M10sIFsxNjYzOTI1MDI2Ljg5MTIwMTMsIDE0NTgsIDMuMjIwMDYyMDE3NDQwNzk2XSwgWzE2NjM5MjUwMjcuMDAwMzQ2NywgMTQ2NywgMy42MDg0NjkwMDkzOTk0MTRdLCBbMTY2MzkyNTAyNy4yNjE0NjQ4LCAxNDc2LCAzLjEzMDM3NTE0Njg2NTg0NDddLCBbMTY2MzkyNTAyNy4zNjQ3NjAyLCAxNDg1LCAzLjA0OTA3MzY5NjEzNjQ3NDZdLCBbMTY2MzkyNTAyNy41NjQ5MDQyLCAxNTAzLCAzLjAzMDQ3Mzk0NzUyNTAyNDRdLCBbMTY2MzkyNTAyNy43NzAxNzU3LCAxNTIxLCAzLjg3MDc0MTEyODkyMTUwOV0sIFsxNjYzOTI1MDI3Ljg2OTY0NiwgMTUzMCwgMy4xNzUyMjg1OTU3MzM2NDI2XSwgWzE2NjM5MjUwMjcuOTcwODM2NiwgMTUzOSwgMy4zNzEwNTg0NjQwNTAyOTNdLCBbMTY2MzkyNTAyOC4wNzI2NDM4LCAxNTQ4LCAzLjQ3NTc2MTY1MTk5Mjc5OF0sIFsxNjYzOTI1MDI4LjE4NjI3NywgMTU1NywgMy45MDMwNTAxODQyNDk4NzhdLCBbMTY2MzkyNTAyOC40MDcyODQ1LCAxNTc1LCAyLjgwNDQ0MDk3NTE4OTIwOV0sIFsxNjYzOTI1MDI4LjUyMTI2OTMsIDE1ODQsIDMuNjIyMTI4NzI1MDUxODhdLCBbMTY2MzkyNTAyOC42MjI1NDcsIDE1OTMsIDIuNTg4MDE0MTI1ODIzOTc0Nl0sIFsxNjYzOTI1MDI4Ljc0NzQwNiwgMTYwMiwgMi45NTYwNzEzNzY4MDA1MzddLCBbMTY2MzkyNTAyOC44NDg3NDE1LCAxNjExLCAyLjg5MjQ3NjA4MTg0ODE0NDVdLCBbMTY2MzkyNTAyOS4wNjUxODYsIDE2MjksIDMuMTg4MTI1MTMzNTE0NDA0M10sIFsxNjYzOTI1MDI5LjE3NzA4NDIsIDE2MzgsIDIuOTI4OTE4MzYxNjYzODE4NF0sIFsxNjYzOTI1MDI5LjI5MTM4MzUsIDE2NDcsIDIuNTEzODg3NDA1Mzk1NTA4XSwgWzE2NjM5MjUwMjkuNDA4MzM5MywgMTY1NiwgMi40NzM3MjQ4NDIwNzE1MzNdLCBbMTY2MzkyNTAyOS41NTE5MzEsIDE2NjUsIDIuNjI1NzU1Nzg2ODk1NzUyXSwgWzE2NjM5MjUwMjkuNjUwMzk5NCwgMTY3NCwgMi42MTkwMzMzMzY2Mzk0MDQzXSwgWzE2NjM5MjUwMjkuNzUwOTkyLCAxNjgzLCAyLjM4NTc4MzkxMDc1MTM0MjhdLCBbMTY2MzkyNTAzMC4xMjE4MTY5LCAxNzEwLCAzLjQ2NzA5OTkwNTAxNDAzOF0sIFsxNjYzOTI1MDMwLjIyNDUxNDUsIDE3MTksIDIuMzA2ODY3NTk5NDg3MzA0N10sIFsxNjYzOTI1MDMwLjM0NDc1NSwgMTcyOCwgMi41MzQ3MTU0MTQwNDcyNDFdLCBbMTY2MzkyNTAzMC40NDgwNjg2LCAxNzM3LCAyLjQ0MTMxMTEyMDk4NjkzODVdLCBbMTY2MzkyNTAzMC41NzY1MTQsIDE3NDYsIDIuNTgzMDM2NjYxMTQ4MDcxM10sIFsxNjYzOTI1MDMwLjgwMDkwOTgsIDE3NjQsIDIuNDE5OTkwMzAxMTMyMjAyXSwgWzE2NjM5MjUwMzEuMDQzNjI4LCAxNzgyLCAyLjYxMDY1MzE2MjAwMjU2MzVdLCBbMTY2MzkyNTAzMS4xNjIyNTYyLCAxNzkxLCAyLjY1OTIwOTk2NjY1OTU0Nl0sIFsxNjYzOTI1MDMxLjI3NzM5MTQsIDE4MDAsIDIuMjY4ODk5Njc5MTgzOTZdLCBbMTY2MzkyNTAzMS40MDA5ODMzLCAxODA5LCAyLjI2OTAyNjI3OTQ0OTQ2M10sIFsxNjYzOTI1MDMxLjYyMTYyMjYsIDE4MjcsIDIuODQ0MDg0MDI0NDI5MzIxM10sIFsxNjYzOTI1MDMxLjcyNzQ2MTMsIDE4MzYsIDIuMjcyNjc4MTM2ODI1NTYxNV0sIFsxNjYzOTI1MDMxLjgzODQ1NjQsIDE4NDUsIDIuMjM2ODY5MzM1MTc0NTYwNV0sIFsxNjYzOTI1MDMxLjk1NzM3NiwgMTg1NCwgMi4wODY5NDEyNDIyMTgwMTc2XSwgWzE2NjM5MjUwMzIuMDc4NTEyNywgMTg2MywgMi4yNDc2ODg1MzE4NzU2MTA0XSwgWzE2NjM5MjUwMzIuMTgyNDg3MiwgMTg3MiwgMi40MzE0MzE3NzAzMjQ3MDddLCBbMTY2MzkyNTAzMi4yODc5MDE5LCAxODgxLCAyLjAwMjA5MzA3NjcwNTkzMjZdLCBbMTY2MzkyNTAzMi40NDIxNDMyLCAxODkwLCAyLjE5ODEyMzY5MzQ2NjE4NjVdLCBbMTY2MzkyNTAzMi41NDA2ODM1LCAxODk5LCAyLjAzODMxOTU4NzcwNzUxOTVdLCBbMTY2MzkyNTAzMi42NTI5MTAyLCAxOTA4LCAxLjkzODM3OTQwNjkyOTAxNjFdLCBbMTY2MzkyNTAzMi44NzY1MzEsIDE5MjYsIDIuMzY3MTIwNzQyNzk3ODUxNl0sIFsxNjYzOTI1MDMzLjA4NDIxMzMsIDE5NDQsIDIuMjc1NjMyMTQzMDIwNjNdLCBbMTY2MzkyNTAzMy4xOTQ5MTU4LCAxOTUzLCAyLjQ3NjUxODg2OTQwMDAyNDRdLCBbMTY2MzkyNTAzMy40MDY4NTM3LCAxOTcxLCAyLjI3NDI3MTcyNjYwODI3NjRdLCBbMTY2MzkyNTAzMy41MTYzNzUsIDE5ODAsIDIuMjU5NDAyMjc1MDg1NDQ5XSwgWzE2NjM5MjUwMzMuNjA1OTkwNiwgMTk4OSwgMi4wMDQxNDI1MjI4MTE4ODk2XSwgWzE2NjM5MjUwMzMuNzAwNzE3MiwgMTk5OCwgMi4xMTQ1NjI5ODgyODEyNV0sIFsxNjYzOTI1MDMzLjc5NjM1MTIsIDIwMDcsIDIuNDA4NDg4NTEyMDM5MTg0Nl0sIFsxNjYzOTI1MDM0LjAyMDA1OTgsIDIwMjUsIDIuMDMyODA5OTcyNzYzMDYxNV0sIFsxNjYzOTI1MDM0LjEzNjM0MTMsIDIwMzQsIDIuMTkxMzA0NjgzNjg1MzAyN10sIFsxNjYzOTI1MDM0LjI0ODU4ODMsIDIwNDMsIDIuMTU3NzUwODQ0OTU1NDQ0M10sIFsxNjYzOTI1MDM0LjU4MDE4MTQsIDIwNzAsIDEuOTc2NjQ4NDQ5ODk3NzY2MV0sIFsxNjYzOTI1MDM0Ljc3MDU1OCwgMjA4OCwgMi4xOTUwMDExMjUzMzU2OTM0XSwgWzE2NjM5MjUwMzQuODY1Mzg0LCAyMDk3LCAxLjgxMTg3NDE1MTIyOTg1ODRdLCBbMTY2MzkyNTAzNC45ODIyMzY5LCAyMTA2LCAxLjc1NDU1NjI5ODI1NTkyMDRdLCBbMTY2MzkyNTAzNS4xMjQ2MjUyLCAyMTE1LCAyLjI1OTExMDIxMjMyNjA1XSwgWzE2NjM5MjUwMzUuMjE0MzgxLCAyMTI0LCAyLjcwNzQ3NDcwODU1NzEyOV0sIFsxNjYzOTI1MDM1LjMwOTcwODQsIDIxMzMsIDIuMTM0NDE3NzcyMjkzMDkxXSwgWzE2NjM5MjUwMzUuNDA1MjkxMywgMjE0MiwgMS43MDI0Mjk3NzE0MjMzMzk4XSwgWzE2NjM5MjUwMzUuNTM3NTksIDIxNTEsIDIuMDI0MTIwMDkyMzkxOTY3OF0sIFsxNjYzOTI1MDM1LjY0Nzc3MiwgMjE2MCwgMS43MzY4NzMxNDk4NzE4MjYyXSwgWzE2NjM5MjUwMzUuODUzMzkxNCwgMjE3OCwgMS43MDk4MjI1MzU1MTQ4MzE1XSwgWzE2NjM5MjUwMzUuOTc0OTg3LCAyMTg3LCAyLjM5NTA2MTczMTMzODUwMV0sIFsxNjYzOTI1MDM2LjIyMTU0MjYsIDIyMDUsIDEuODA1NTk0MDg2NjQ3MDMzN10sIFsxNjYzOTI1MDM2LjMzNzgzMDMsIDIyMTQsIDIuMDIzODU5NTAwODg1MDA5OF0sIFsxNjYzOTI1MDM2LjQ0MDgxMTksIDIyMjMsIDEuODcxOTU1NjMzMTYzNDUyMV0sIFsxNjYzOTI1MDM2LjU0MzMwMTYsIDIyMzIsIDIuMTMzMTI2MDIwNDMxNTE4Nl0sIFsxNjYzOTI1MDM2LjYzODM4MjQsIDIyNDEsIDIuMDM0MDI4MDUzMjgzNjkxNF0sIFsxNjYzOTI1MDM2Ljc0NDYxNzUsIDIyNTAsIDEuODcxNDY5Mzc4NDcxMzc0NV0sIFsxNjYzOTI1MDM3LjI3MzU0MzYsIDIyNzcsIDIuMDg2MDU2MjMyNDUyMzkyNl0sIFsxNjYzOTI1MDM3LjM3MDUxMzIsIDIyODYsIDIuMDI1NDQ5NTE0Mzg5MDM4XSwgWzE2NjM5MjUwMzcuNDY4MjM1LCAyMjk1LCAxLjgyNjc2MTEyNjUxODI0OTVdLCBbMTY2MzkyNTAzNy41NjA1NjA3LCAyMzA0LCAyLjAwODMyMjIzODkyMjExOV0sIFsxNjYzOTI1MDM3Ljc1NDMwOSwgMjMyMiwgMS43NjE4Nzg3Mjg4NjY1NzcxXSwgWzE2NjM5MjUwMzcuODU0MTAyOCwgMjMzMSwgMS45MDUzMDQzMTI3MDU5OTM3XSwgWzE2NjM5MjUwMzcuOTQ0MzgsIDIzNDAsIDEuNzUyNDA4NjIzNjk1MzczNV0sIFsxNjYzOTI1MDM4LjA0MTcyMiwgMjM0OSwgMS42Nzc2MTI1NDMxMDYwNzldLCBbMTY2MzkyNTAzOC4zMTUwMjIyLCAyMzY3LCAxLjg3OTc1NTI1ODU2MDE4MDddLCBbMTY2MzkyNTAzOC40MjIyOTU2LCAyMzc2LCAxLjUzNjkxNzkyNDg4MDk4MTRdLCBbMTY2MzkyNTAzOC42MzAwNzY2LCAyMzk0LCAyLjE1NDA4OTIxMjQxNzYwMjVdLCBbMTY2MzkyNTAzOC45NDQxNDMsIDI0MjEsIDEuNzEyMTE4OTgzMjY4NzM3OF0sIFsxNjYzOTI1MDM5LjE5MjExMzQsIDI0MzksIDIuMTc5MDc1OTU2MzQ0NjA0NV0sIFsxNjYzOTI1MDM5LjMwODE3NzcsIDI0NDgsIDEuODU1NTUxNDgxMjQ2OTQ4Ml0sIFsxNjYzOTI1MDM5LjUzNTU1NjMsIDI0NjYsIDEuOTc5MjAxNTU1MjUyMDc1Ml0sIFsxNjYzOTI1MDM5LjY1MDI5LCAyNDc1LCAxLjY5MzM4MTA3MTA5MDY5ODJdLCBbMTY2MzkyNTAzOS43NjI0Njg2LCAyNDg0LCAyLjA0MzI5NTE0NTAzNDc5XSwgWzE2NjM5MjUwMzkuODc3MDIzNywgMjQ5MywgMS41MTk5NDIyODM2MzAzNzFdLCBbMTY2MzkyNTA0MC4wOTgzMDU3LCAyNTExLCAxLjc1OTI3OTQ4OTUxNzIxMl0sIFsxNjYzOTI1MDQwLjIxMDY2NDcsIDI1MjAsIDEuNjM4MzUwMzY3NTQ2MDgxNV0sIFsxNjYzOTI1MDQwLjMyMjc1MjUsIDI1MjksIDIuMTI0NTAxNDY2NzUxMDk4Nl0sIFsxNjYzOTI1MDQwLjQyODE1OTcsIDI1MzgsIDEuOTU1NTc1MTA4NTI4MTM3Ml0sIFsxNjYzOTI1MDQwLjUzNzIxMDUsIDI1NDcsIDEuNjkwNzQxMzAwNTgyODg1N10sIFsxNjYzOTI1MDQwLjY0OTc5MiwgMjU1NiwgMS45MDYwMDIyODMwOTYzMTM1XSwgWzE2NjM5MjUwNDAuNzU4OTM4NiwgMjU2NSwgMS43MDYzOTI4ODQyNTQ0NTU2XSwgWzE2NjM5MjUwNDAuODY4NDkyNiwgMjU3NCwgMS44MDUxOTU5Mjc2MTk5MzRdLCBbMTY2MzkyNTA0MC45ODkxOTgsIDI1ODMsIDEuODU5MDE5Mjc5NDc5OTgwNV0sIFsxNjYzOTI1MDQxLjExMTkxMjcsIDI1OTIsIDEuODEwMDM2ODk3NjU5MzAxOF0sIFsxNjYzOTI1MDQxLjIxODY0NzcsIDI2MDEsIDEuOTI4NDk1Mjg3ODk1MjAyNl0sIFsxNjYzOTI1MDQxLjQzNjE1NSwgMjYxOSwgMS41MTMzMzQ5ODk1NDc3Mjk1XSwgWzE2NjM5MjUwNDEuNTM4MjYzNiwgMjYyOCwgMi4wNzI0MjQxNzMzNTUxMDI1XSwgWzE2NjM5MjUwNDIuMDE2OTU1NiwgMjY2NCwgMS44MzQyMDI1Mjc5OTk4NzhdLCBbMTY2MzkyNTA0Mi4xMjg3MDksIDI2NzMsIDEuNjI3NzMxNDQyNDUxNDc3XSwgWzE2NjM5MjUwNDIuMjQwMTE0NSwgMjY4MiwgMS44ODU4ODk0MTA5NzI1OTUyXSwgWzE2NjM5MjUwNDIuMzU4ODQ2NCwgMjY5MSwgMS42MTMxMTY2MjE5NzExMzA0XSwgWzE2NjM5MjUwNDIuNDk1MzU0LCAyNzAwLCAxLjYwMTkzMzEyMTY4MTIxMzRdLCBbMTY2MzkyNTA0Mi42MDA3NjIxLCAyNzA5LCAxLjc4OTg5MjU1NDI4MzE0Ml0sIFsxNjYzOTI1MDQyLjkzNjQxNiwgMjczNiwgMS45MjY2Njk3MTY4MzUwMjJdLCBbMTY2MzkyNTA0My4wNDU1MTMsIDI3NDUsIDEuNTIwNDE5MTIwNzg4NTc0Ml0sIFsxNjYzOTI1MDQzLjE1OTM0MjgsIDI3NTQsIDEuNjYyMjU5NDU5NDk1NTQ0NF0sIFsxNjYzOTI1MDQzLjI5MDA3NzQsIDI3NjMsIDEuODI1MjQ0Nzg0MzU1MTYzNl0sIFsxNjYzOTI1MDQzLjM5NzMzNTUsIDI3NzIsIDEuNTQ2NTQ3NTMyMDgxNjA0XSwgWzE2NjM5MjUwNDMuNDk4NDE3NCwgMjc4MSwgMS45MTE1NzU2NzUwMTA2ODEyXSwgWzE2NjM5MjUwNDMuNjAwMzE0MSwgMjc5MCwgMS42NDg4Mzk3MTIxNDI5NDQzXSwgWzE2NjM5MjUwNDMuNzk1NTU1NiwgMjgwOCwgMS42NDc2MjkwMjI1OTgyNjY2XSwgWzE2NjM5MjUwNDMuODkzNDYzLCAyODE3LCAxLjUzMjk1ODYyNjc0NzEzMTNdLCBbMTY2MzkyNTA0My45ODc3OTA4LCAyODI2LCAxLjUwODkxMzUxNjk5ODI5MV0sIFsxNjYzOTI1MDQ0LjA3NjQ4OTcsIDI4MzUsIDEuNDYyNDUyNjUwMDcwMTkwNF0sIFsxNjYzOTI1MDQ0LjIwMjQxMTIsIDI4NDQsIDEuNzI5NjgyODAzMTUzOTkxN10sIFsxNjYzOTI1MDQ0LjMxMzMxMywgMjg1MywgMS42MjA0NDQ4OTM4MzY5NzVdLCBbMTY2MzkyNTA0NC41Mjc4NzEsIDI4NzEsIDEuNDkzMzYwODc3MDM3MDQ4M10sIFsxNjYzOTI1MDQ0LjY2MTQ1NDcsIDI4ODAsIDEuNjkzNjEwOTA2NjAwOTUyMV0sIFsxNjYzOTI1MDQ0Ljc2OTMyMDIsIDI4ODksIDEuNTU3NDEzODE2NDUyMDI2NF0sIFsxNjYzOTI1MDQ0Ljg3ODkyNDgsIDI4OTgsIDEuMzczMzUxNDU0NzM0ODAyMl0sIFsxNjYzOTI1MDQ1LjAwMTYyMzIsIDI5MDcsIDEuNDAwOTAzMzQ0MTU0MzU4XSwgWzE2NjM5MjUwNDUuMjE4NjIxLCAyOTI1LCAxLjQxNTg1ODYyNjM2NTY2MTZdLCBbMTY2MzkyNTA0NS41NTM1OTg0LCAyOTUyLCAxLjU2MjI4MTAxMjUzNTA5NTJdLCBbMTY2MzkyNTA0NS43NzUyNTM1LCAyOTcwLCAxLjczODMxNjA1OTExMjU0ODhdLCBbMTY2MzkyNTA0NS45MDE1NjMsIDI5NzksIDEuNzE4MjA2NjQ0MDU4MjI3NV0sIFsxNjYzOTI1MDQ2LjAxODU4MzUsIDI5ODgsIDEuNzE0ODM3OTA4NzQ0ODEyXSwgWzE2NjM5MjUwNDYuMTIxNTE2NSwgMjk5NywgMS42NTE2ODY2NjgzOTU5OTZdLCBbMTY2MzkyNTA0Ni4yMTg2OTEsIDMwMDYsIDEuNTI3MDk5NDkwMTY1NzEwNF0sIFsxNjYzOTI1MDQ2LjU0Nzk0NjcsIDMwMzMsIDEuODQ1NTc1NTcxMDYwMTgwN10sIFsxNjYzOTI1MDQ2Ljg2NzcyNzMsIDMwNDIsIDEuNTc5MjAyNTMyNzY4MjQ5NV0sIFsxNjYzOTI1MDQ2Ljk2OTczMDYsIDMwNTEsIDEuODMyMzk2NjI2NDcyNDczMV0sIFsxNjYzOTI1MDQ3LjE4NjI2ODMsIDMwNjksIDEuNzkyMjY4Mzk1NDIzODg5Ml0sIFsxNjYzOTI1MDQ3LjQyNjc0ODUsIDMwODcsIDEuNjQ1OTM3MzIzNTcwMjUxNV0sIFsxNjYzOTI1MDQ3LjU0Njc2OTksIDMwOTYsIDEuNzkyNjc0MTgzODQ1NTJdLCBbMTY2MzkyNTA0Ny42NzU5OTU2LCAzMTA1LCAxLjQwMDMzMTg1NDgyMDI1MTVdLCBbMTY2MzkyNTA0Ny44MTY1NTAzLCAzMTE0LCAxLjQzMjE2NjA5OTU0ODMzOThdLCBbMTY2MzkyNTA0Ny45MjgzODI0LCAzMTIzLCAxLjU1NDgxMDUyMzk4NjgxNjRdLCBbMTY2MzkyNTA0OC4wMzEzMjQxLCAzMTMyLCAxLjY2NjY1NDQ2NzU4MjcwMjZdLCBbMTY2MzkyNTA0OC4xMzM2NDcyLCAzMTQxLCAxLjY5ODY3ODAxNjY2MjU5NzddLCBbMTY2MzkyNTA0OC4yMjI1NjksIDMxNTAsIDEuNjgzNzM1OTY2NjgyNDM0XSwgWzE2NjM5MjUwNDguMzI2NzcyNywgMzE1OSwgMS40MzEwMDE3ODI0MTcyOTc0XSwgWzE2NjM5MjUwNDguNTI1ODE4OCwgMzE3NywgMS4zNDczMzY3NjkxMDQwMDRdLCBbMTY2MzkyNTA0OC42NDIwNDc2LCAzMTg2LCAxLjQ4MzczNzcwNzEzODA2MTVdLCBbMTY2MzkyNTA0OC43NzczMjcsIDMxOTUsIDEuMzc2NzIzMDUxMDcxMTY3XSwgWzE2NjM5MjUwNDguOTAyMTY0LCAzMjA0LCAxLjQxNjExMTExMTY0MDkzMDJdLCBbMTY2MzkyNTA0OS4xNDc0OTYsIDMyMjIsIDEuNzI4MTI2NzY0Mjk3NDg1NF0sIFsxNjYzOTI1MDQ5LjI1ODY4NzcsIDMyMzEsIDEuMzk3MTAwMzI5Mzk5MTA4OV0sIFsxNjYzOTI1MDQ5LjQ1OTM3OTIsIDMyNDksIDEuODQ3MDcwODEzMTc5MDE2MV0sIFsxNjYzOTI1MDQ5LjU3NzY2MzcsIDMyNTgsIDEuNDA2ODI3MjExMzgwMDA0OV0sIFsxNjYzOTI1MDQ5LjY3NTM4OTMsIDMyNjcsIDEuNDgzMTY0Nzg3MjkyNDgwNV0sIFsxNjYzOTI1MDQ5Ljc3MDk1MzcsIDMyNzYsIDEuNDU0MTU1NTY0MzA4MTY2NV0sIFsxNjYzOTI1MDQ5Ljg2ODE0MzgsIDMyODUsIDEuNjU1ODg0NTA0MzE4MjM3M10sIFsxNjYzOTI1MDQ5Ljk2NTU3MDQsIDMyOTQsIDEuMzAzMjE4ODQxNTUyNzM0NF0sIFsxNjYzOTI1MDUwLjA2MzIwNTUsIDMzMDMsIDEuNDYxOTA4NTc4ODcyNjgwN10sIFsxNjYzOTI1MDUwLjE3MDI4NiwgMzMxMiwgMS41MDIyMjc2NjM5OTM4MzU0XSwgWzE2NjM5MjUwNTAuMjY0NTI1NCwgMzMyMSwgMS43MDAwNzA1MDAzNzM4NDAzXSwgWzE2NjM5MjUwNTAuMzYwMjI3NiwgMzMzMCwgMS41Mzc3MjA2ODAyMzY4MTY0XSwgWzE2NjM5MjUwNTAuODI1OTAwOCwgMzM2NiwgMS4zNDkxMDIwMjAyNjM2NzE5XSwgWzE2NjM5MjUwNTAuOTQxMDEzMywgMzM3NSwgMS42OTMwODM2NDM5MTMyNjldLCBbMTY2MzkyNTA1MS4wMzQzMDY1LCAzMzg0LCAxLjQ5NTM0MjQ5MzA1NzI1MV0sIFsxNjYzOTI1MDUxLjY1ODMzOTMsIDM0MDIsIDEuMjMzMTgzNTAzMTUwOTRdLCBbMTY2MzkyNTA1MS45MTk1OTYsIDM0MTEsIDEuNjI5MTExODg2MDI0NDc1XSwgWzE2NjM5MjUwNTIuNTAzNjU2OSwgMzQ0NywgMS40NDM5NDE1OTMxNzAxNjZdLCBbMTY2MzkyNTA1My4xOTQ4OTYsIDM0NjUsIDEuNTg3NDU1ODY4NzIxMDA4M10sIFsxNjYzOTI1MDUzLjMxMDM2MTYsIDM0NzQsIDEuMjc5NTY0MzgwNjQ1NzUyXSwgWzE2NjM5MjUwNTMuNDI1MDk1OCwgMzQ4MywgMS4zODIzNTU2OTAwMDI0NDE0XSwgWzE2NjM5MjUwNTQuMDcwMTg0NSwgMzUxMCwgMS41MTEyNzQ0NTY5Nzc4NDQyXSwgWzE2NjM5MjUwNTQuMzkxNTg1NiwgMzUxOSwgMS40NTE0MzgwNjkzNDM1NjddLCBbMTY2MzkyNTA1NC41MjgzMzE4LCAzNTI4LCAxLjMxNTU5NDkxMTU3NTMxNzRdLCBbMTY2MzkyNTA1NC42NDM0NjgxLCAzNTM3LCAxLjQ0MzUyMTczODA1MjM2ODJdLCBbMTY2MzkyNTA1NC43MzgxMzY4LCAzNTQ2LCAxLjY3NjgyMTExMjYzMjc1MTVdLCBbMTY2MzkyNTA1NC44NDc2ODg3LCAzNTU1LCAxLjUxMzkyMTQ5OTI1MjMxOTNdLCBbMTY2MzkyNTA1NC45NDkzNjU2LCAzNTY0LCAxLjI1MDkxNjcxOTQzNjY0NTVdLCBbMTY2MzkyNTA1NS4wNTkxMTQ3LCAzNTczLCAxLjU4NDE0MjA4ODg5MDA3NTddLCBbMTY2MzkyNTA1NS4xOTQ3NTgyLCAzNTgyLCAxLjQ3NTY2MjQ2OTg2Mzg5MTZdLCBbMTY2MzkyNTA1NS4yOTYyNDIyLCAzNTkxLCAxLjUyMTE4NjIzMjU2NjgzMzVdLCBbMTY2MzkyNTA1NS4zOTc1ODU2LCAzNjAwLCAxLjMxODA3NjEzMzcyODAyNzNdLCBbMTY2MzkyNTA1NS41MDk3NTU2LCAzNjA5LCAxLjg1Nzg3MjAwOTI3NzM0MzhdLCBbMTY2MzkyNTA1NS42MTM1MTQyLCAzNjE4LCAxLjQwMzU1MTU3ODUyMTcyODVdLCBbMTY2MzkyNTA1NS43MDUyMjk4LCAzNjI3LCAxLjQ3Nzc2NTIwMjUyMjI3NzhdLCBbMTY2MzkyNTA1NS45MDMzNzY4LCAzNjQ1LCAxLjY2NDQyMDk2MjMzMzY3OTJdLCBbMTY2MzkyNTA1Ni4wMzEwMjg1LCAzNjU0LCAxLjI3NjM3Nzc5NzEyNjc3XSwgWzE2NjM5MjUwNTYuMTMzNDcyNCwgMzY2MywgMS40NDkxMDgwMDQ1NzAwMDczXSwgWzE2NjM5MjUwNTYuMjM3MTI4LCAzNjcyLCAxLjI5ODcyMjc0Mzk4ODAzN10sIFsxNjYzOTI1MDU2LjMzMzY1NCwgMzY4MSwgMS4yOTQ3NTgwODE0MzYxNTcyXSwgWzE2NjM5MjUwNTYuNDQyNjQ2MywgMzY5MCwgMS41Nzg1MzQyNDU0OTEwMjc4XSwgWzE2NjM5MjUwNTYuNzQ4NTQ3LCAzNzE3LCAxLjUyNzI0ODk3ODYxNDgwNzFdLCBbMTY2MzkyNTA1Ni44NTMxNDA2LCAzNzI2LCAxLjU0NjI5NTg4MTI3MTM2MjNdLCBbMTY2MzkyNTA1Ni45NzE3MjgzLCAzNzM1LCAxLjM1ODU2NTgwNzM0MjUyOTNdLCBbMTY2MzkyNTA1Ny4wODA5MzUsIDM3NDQsIDEuNzQyNzAyOTYwOTY4MDE3Nl0sIFsxNjYzOTI1MDU3LjQxNzIyNDYsIDM3NzEsIDEuNDM0NTA5MTU4MTM0NDYwNF0sIFsxNjYzOTI1MDU3LjUyMDY3MDIsIDM3ODAsIDEuMjE4Mzg5OTg3OTQ1NTU2Nl0sIFsxNjYzOTI1MDU3LjczMDM1NSwgMzc5OCwgMS41MDQyNTUwNTYzODEyMjU2XSwgWzE2NjM5MjUwNTcuODI5MDYzNywgMzgwNywgMS40NzE2MzU2OTkyNzIxNTU4XSwgWzE2NjM5MjUwNTguMDYwOTcwOCwgMzgyNSwgMS4yMzQ2NTYzMzM5MjMzMzk4XSwgWzE2NjM5MjUwNTguMzc0ODg4NCwgMzgzNCwgMS4zNTg3MTM3NDYwNzA4NjE4XSwgWzE2NjM5MjUwNTguNDc3MjA4LCAzODQzLCAxLjQ5MDc4NjU1MjQyOTE5OTJdLCBbMTY2MzkyNTA1OC41NzIzNTY1LCAzODUyLCAxLjM3NTM2ODgzMzU0MTg3MDFdLCBbMTY2MzkyNTA1OC43ODU3NDIsIDM4NzAsIDEuNDY3MzUzODIwODAwNzgxMl0sIFsxNjYzOTI1MDU4Ljg4NjIzNCwgMzg3OSwgMS40MzQ0NDc2NDYxNDEwNTIyXSwgWzE2NjM5MjUwNTguOTg5OTc5NSwgMzg4OCwgMS4zNjcxMzg1MDQ5ODE5OTQ2XSwgWzE2NjM5MjUwNTkuMzEyMDQ2OCwgMzkxNSwgMS40MzM3MzQ4OTM3OTg4MjgxXSwgWzE2NjM5MjUwNTkuNDE4MTg5MywgMzkyNCwgMS40MDAwOTY0MTY0NzMzODg3XSwgWzE2NjM5MjUwNTkuNTIyNzI5NCwgMzkzMywgMS4zNDU0NzUxOTY4MzgzNzldLCBbMTY2MzkyNTA1OS42MjIxNzk3LCAzOTQyLCAxLjIzNDc2NDA5OTEyMTA5MzhdLCBbMTY2MzkyNTA1OS43MzE0OTE2LCAzOTUxLCAxLjM4ODcxMDI2MDM5MTIzNTRdLCBbMTY2MzkyNTA1OS44MzcwMTU2LCAzOTYwLCAxLjMyMDA5Mjc5NzI3OTM1OF0sIFsxNjYzOTI1MDU5Ljk3MDQ4OTMsIDM5NjksIDEuNjE2MjYwNzY2OTgzMDMyMl0sIFsxNjYzOTI1MDYwLjA2NzE5NTIsIDM5NzgsIDEuMTk2OTE4NzI1OTY3NDA3Ml0sIFsxNjYzOTI1MDYwLjMyNjE1MzMsIDM5OTYsIDEuNDU4OTIzODE2NjgwOTA4Ml0sIFsxNjYzOTI1MDYwLjQyNDUyMywgNDAwNSwgMS41MDIwMDY3NjkxODAyOTc5XSwgWzE2NjM5MjUwNjAuNTE2MTI1LCA0MDE0LCAxLjM0OTU5MTczMjAyNTE0NjVdLCBbMTY2MzkyNTA2MC42MDcxNTAzLCA0MDIzLCAxLjYwMzczOTE0MjQxNzkwNzddLCBbMTY2MzkyNTA2MC45OTc5MTU3LCA0MDU5LCAxLjYyMDg2MDMzODIxMTA1OTZdLCBbMTY2MzkyNTA2MS4xMzA1MzYsIDQwNjgsIDEuMTQ3NjA0NzAzOTAzMTk4Ml0sIFsxNjYzOTI1MDYxLjI2NDg0OTcsIDQwNzcsIDEuMzk1NDY5MDY5NDgwODk2XSwgWzE2NjM5MjUwNjEuMzc2NDkxOCwgNDA4NiwgMS4xNzkyMDk1ODk5NTgxOTFdLCBbMTY2MzkyNTA2MS40ODAwODE2LCA0MDk1LCAxLjM1MDYwODk0NDg5Mjg4MzNdLCBbMTY2MzkyNTA2MS42OTU3OTYzLCA0MTEzLCAxLjIxMjMzNDE1NjAzNjM3N10sIFsxNjYzOTI1MDYxLjkwNzgxLCA0MTMxLCAxLjIzMzc1ODQ0OTU1NDQ0MzRdLCBbMTY2MzkyNTA2Mi4xMTM1NDczLCA0MTQ5LCAxLjIwODgzMjk3OTIwMjI3MDVdLCBbMTY2MzkyNTA2Mi4yMTc3OCwgNDE1OCwgMS40MjcxNTgxMTcyOTQzMTE1XSwgWzE2NjM5MjUwNjIuMzEzMTkyLCA0MTY3LCAxLjM2NzAxNTk1NzgzMjMzNjRdLCBbMTY2MzkyNTA2Mi41MjY2MTkyLCA0MTg1LCAxLjc4MTc5NDQyODgyNTM3ODRdLCBbMTY2MzkyNTA2Mi42NjM2NzUzLCA0MTk0LCAxLjYwNTEwMjg5NjY5MDM2ODddLCBbMTY2MzkyNTA2Mi43NTYyMzk0LCA0MjAzLCAxLjY1MzI2NTExODU5ODkzOF0sIFsxNjYzOTI1MDYyLjk2MjcwNTQsIDQyMjEsIDEuMTAzODczNjEwNDk2NTIxXSwgWzE2NjM5MjUwNjMuMDkxODA0NywgNDIzMCwgMS4zMzg4OTg4OTcxNzEwMjA1XSwgWzE2NjM5MjUwNjMuMjE5MDgsIDQyMzksIDEuMjk1NzU4ODQzNDIxOTM2XSwgWzE2NjM5MjUwNjMuMzM2NTgxNywgNDI0OCwgMS4xNDY3MTI0MjIzNzA5MTA2XSwgWzE2NjM5MjUwNjMuNTQ5NzE4NCwgNDI2NiwgMS41NDI1ODY0NDU4MDg0MTA2XSwgWzE2NjM5MjUwNjMuNjU1MTk2MiwgNDI3NSwgMS40MDE5NTc1MTE5MDE4NTU1XSwgWzE2NjM5MjUwNjMuNzU1ODI1NSwgNDI4NCwgMS41Mjk3Mzk0OTkwOTIxMDJdLCBbMTY2MzkyNTA2NC4wNTQxNTYzLCA0MzExLCAxLjM2MDgzOTAwOTI4NDk3MzFdLCBbMTY2MzkyNTA2NC4xODIzMTMyLCA0MzIwLCAxLjI3ODc4ODIwODk2MTQ4NjhdLCBbMTY2MzkyNTA2NC4zMTYzMjA0LCA0MzI5LCAxLjM2MjMxMTI0NDAxMDkyNTNdLCBbMTY2MzkyNTA2NC40MzExMTc4LCA0MzM4LCAxLjQ1OTEwNjQ0NTMxMjVdLCBbMTY2MzkyNTA2NC41MzQzNTM3LCA0MzQ3LCAxLjI0MzQyMTkxMjE5MzI5ODNdLCBbMTY2MzkyNTA2NC42MzQ1MjgyLCA0MzU2LCAxLjI2NjI2MDI2NjMwNDAxNjFdLCBbMTY2MzkyNTA2NC43MzAzNTc2LCA0MzY1LCAxLjM2MjI3NjQzNDg5ODM3NjVdLCBbMTY2MzkyNTA2NC45MzMxNjEzLCA0MzgzLCAxLjYwNTU1NTg5MTk5MDY2MTZdLCBbMTY2MzkyNTA2NS4wMzUwNDIsIDQzOTIsIDEuNDM1NzA0NDY5NjgwNzg2MV0sIFsxNjYzOTI1MDY1LjEyNjU2MDIsIDQ0MDEsIDEuMjE3MTE0NTY3NzU2NjUyOF0sIFsxNjYzOTI1MDY1LjIyNjkwNDQsIDQ0MTAsIDEuMjA2NTc4MzczOTA4OTk2Nl0sIFsxNjYzOTI1MDY1LjMyODE1MywgNDQxOSwgMS40NDMwMjc4NTM5NjU3NTkzXSwgWzE2NjM5MjUwNjUuNDM5MzAwMywgNDQyOCwgMS4zMjY4NDIxODg4MzUxNDRdLCBbMTY2MzkyNTA2NS43MzU1NTAyLCA0NDU1LCAxLjE0OTIxNjY1MTkxNjUwNF0sIFsxNjYzOTI1MDY1LjgzMTY3OTgsIDQ0NjQsIDEuMTY1Nzk4MDY4MDQ2NTY5OF0sIFsxNjYzOTI1MDY2LjAzODQ4OTgsIDQ0ODIsIDEuMjk3NzIxMDI4MzI3OTQyXSwgWzE2NjM5MjUwNjYuMTMwMjc3OSwgNDQ5MSwgMS40NDA2NDY0MDk5ODg0MDMzXSwgWzE2NjM5MjUwNjYuMjMxMjk2MywgNDUwMCwgMS4yOTAyOTc1MDgyMzk3NDZdLCBbMTY2MzkyNTA2Ni40NDU3MDgsIDQ1MTgsIDEuMjM3NzAyMzY5Njg5OTQxNF0sIFsxNjYzOTI1MDY2LjUzODUyLCA0NTI3LCAxLjI1ODE5MDc1MTA3NTc0NDZdLCBbMTY2MzkyNTA2Ni42NDMxNzMyLCA0NTM2LCAxLjE5OTE0NTE5Nzg2ODM0NzJdLCBbMTY2MzkyNTA2Ny4wMjQxNjE4LCA0NTYzLCAxLjI3Mjk0MzczNTEyMjY4MDddLCBbMTY2MzkyNTA2Ny4xMzMzNTkyLCA0NTcyLCAxLjA0NjgxODk3MTYzMzkxMTFdLCBbMTY2MzkyNTA2Ny4yNTQ4MjMyLCA0NTgxLCAxLjEwMjIwMDAzMTI4MDUxNzZdLCBbMTY2MzkyNTA2Ny4zNTY5MjcsIDQ1OTAsIDEuMzExMDk5MTcxNjM4NDg4OF0sIFsxNjYzOTI1MDY3LjQ4ODcyMDIsIDQ1OTksIDEuNDQwMjA0NjIwMzYxMzI4MV0sIFsxNjYzOTI1MDY3LjgxMTI5MTIsIDQ2MDgsIDEuMTc4MTEwODM3OTM2NDAxNF0sIFsxNjYzOTI1MDY3LjkzNzk1LCA0NjE3LCAxLjIzNjkzNTAxOTQ5MzEwM10sIFsxNjYzOTI1MDY4LjA0MjAwNjUsIDQ2MjYsIDEuMDkxNzc3OTIwNzIyOTYxNF0sIFsxNjYzOTI1MDY4LjE0MDQyOTcsIDQ2MzUsIDEuNDUwNzM3NTk1NTU4MTY2NV0sIFsxNjYzOTI1MDY4LjM0OTkwNTUsIDQ2NTMsIDEuNDgwNDc3OTI5MTE1Mjk1NF0sIFsxNjYzOTI1MDY4LjQ3MDA0NzUsIDQ2NjIsIDEuMjMxMTAxMDM2MDcxNzc3M10sIFsxNjYzOTI1MDY4LjU3ODE2MjcsIDQ2NzEsIDEuNDE1NTYzMjI1NzQ2MTU0OF0sIFsxNjYzOTI1MDY4LjY4MDUzOSwgNDY4MCwgMS4xNjE4NDQ3MzAzNzcxOTczXSwgWzE2NjM5MjUwNjguNzczMzg3NCwgNDY4OSwgMS4zMDUwMDk2MDM1MDAzNjYyXSwgWzE2NjM5MjUwNjguODY3NTYyOCwgNDY5OCwgMS4xMTU3NTI0NTg1NzIzODc3XSwgWzE2NjM5MjUwNjkuMDczMDE1LCA0NzE2LCAxLjUyNzY4NjcxNTEyNjAzNzZdLCBbMTY2MzkyNTA2OS4zNzM1MjMyLCA0NzQzLCAxLjE0OTk1Mzg0MjE2MzA4Nl0sIFsxNjYzOTI1MDY5LjQ2ODk2MzksIDQ3NTIsIDEuMTAwMjQ4Njk0NDE5ODYwOF0sIFsxNjYzOTI1MDY5Ljc4NjIwMTIsIDQ3NzksIDEuNDc1OTAzNjMwMjU2NjUyOF0sIFsxNjYzOTI1MDY5Ljk3NjA2MjUsIDQ3OTcsIDEuMTY0MDI2OTc1NjMxNzEzOV0sIFsxNjYzOTI1MDcwLjA2NzgxMDUsIDQ4MDYsIDAuOTg1MTQwNDQyODQ4MjA1Nl0sIFsxNjYzOTI1MDcwLjIxMDkxMDMsIDQ4MTUsIDEuMDQ5OTc4MTM3MDE2Mjk2NF0sIFsxNjYzOTI1MDcwLjI5OTM4OTgsIDQ4MjQsIDEuMzI4MjA3OTY5NjY1NTI3M10sIFsxNjYzOTI1MDcwLjM5NjA5MiwgNDgzMywgMS4zNzEzMDkyODAzOTU1MDc4XSwgWzE2NjM5MjUwNzAuNDkyMDc1NywgNDg0MiwgMS4yNDc0NTUyMzkyOTU5NTk1XSwgWzE2NjM5MjUwNzAuNjI1Mjc1MSwgNDg1MSwgMS4xNzI3Mjk2MTEzOTY3ODk2XSwgWzE2NjM5MjUwNzAuNzMxNjIxLCA0ODYwLCAxLjI5NjQ5NzM0NDk3MDcwMzFdLCBbMTY2MzkyNTA3MC44MTg2ODY3LCA0ODY5LCAxLjA0NTYxNjYyNjczOTUwMl0sIFsxNjYzOTI1MDcwLjkxODA0OSwgNDg3OCwgMS4zOTE0NTYxMjcxNjY3NDhdLCBbMTY2MzkyNTA3MS4wMjk0MTUsIDQ4ODcsIDEuMzI0OTI0NTg4MjAzNDMwMl0sIFsxNjYzOTI1MDcxLjEzNzg4OTYsIDQ4OTYsIDEuMzEwMzI0NjY4ODg0Mjc3M10sIFsxNjYzOTI1MDcxLjIzNzU4MywgNDkwNSwgMS40NDM4NjkzNTIzNDA2OTgyXSwgWzE2NjM5MjUwNzEuNDQzODIyNiwgNDkyMywgMS4yMzU3NzM0NDQxNzU3MjAyXSwgWzE2NjM5MjUwNzEuNTQ0NzMyLCA0OTMyLCAxLjI0ODIyNTgwODE0MzYxNTddLCBbMTY2MzkyNTA3MS42NDk4NTczLCA0OTQxLCAxLjA0NzYxNjcyMDE5OTU4NV0sIFsxNjYzOTI1MDcxLjg1MjI4NTEsIDQ5NTksIDEuMjAxMzMyODA3NTQwODkzNl0sIFsxNjYzOTI1MDcyLjA1NzcxNDUsIDQ5NzcsIDEuMDU5OTE0NDY5NzE4OTMzXSwgWzE2NjM5MjUwNzIuMTU2NzU4NSwgNDk4NiwgMS4yMjEyMDgzMzM5NjkxMTYyXSwgWzE2NjM5MjUwNzIuMjY5NDc3LCA0OTk1LCAxLjIwNjQyNTA3MDc2MjYzNDNdLCBbMTY2MzkyNTA3Mi40MDYyNzc3LCA1MDA0LCAxLjE2NjE0MzUzNjU2NzY4OF0sIFsxNjYzOTI1MDcyLjUyOTkxLCA1MDEzLCAxLjQzNTM1ODA0NzQ4NTM1MTZdLCBbMTY2MzkyNTA3Mi43OTA3NDc0LCA1MDMxLCAxLjIzOTg0ODM3NTMyMDQzNDZdLCBbMTY2MzkyNTA3Mi44OTMwNTUyLCA1MDQwLCAxLjI0MjYzNjIwMzc2NTg2OTFdLCBbMTY2MzkyNTA3My4xMDMwNTM4LCA1MDU4LCAxLjMyMjYwODcwOTMzNTMyNzFdLCBbMTY2MzkyNTA3My4yMDI3Mjk3LCA1MDY3LCAxLjE0MTI5ODg5MDExMzgzMDZdLCBbMTY2MzkyNTA3My4zMTEzOTk1LCA1MDc2LCAxLjA0MDAwOTczNzAxNDc3MDVdLCBbMTY2MzkyNTA3My40MDczMjUzLCA1MDg1LCAxLjIyOTM1MzA3MDI1OTA5NDJdLCBbMTY2MzkyNTA3My42MjQ1NjIzLCA1MTAzLCAxLjA4ODI5MzA3NTU2MTUyMzRdLCBbMTY2MzkyNTA3My43MzI1OTE2LCA1MTEyLCAxLjE4NjkwOTE5ODc2MDk4NjNdLCBbMTY2MzkyNTA3My44MzE5OTQsIDUxMjEsIDEuMTQyOTgzNDM2NTg0NDcyN10sIFsxNjYzOTI1MDczLjk2MTQyNjUsIDUxMzAsIDEuMTIxMDkzMjczMTYyODQxOF0sIFsxNjYzOTI1MDc0LjIxNzM2NzQsIDUxNDgsIDEuMDkyMjU5NDA3MDQzNDU3XSwgWzE2NjM5MjUwNzQuNDIyMDE1MiwgNTE2NiwgMS4yNDA3MDIzOTA2NzA3NzY0XSwgWzE2NjM5MjUwNzQuNjI5MjkxLCA1MTg0LCAxLjIyNzk2MzMyODM2MTUxMTJdLCBbMTY2MzkyNTA3NC43MTgzNDgzLCA1MTkzLCAxLjYwODAwODE0NjI4NjAxMDddLCBbMTY2MzkyNTA3NC44Mzk1Njc0LCA1MjAyLCAxLjA4NTgxMDQyMjg5NzMzODldLCBbMTY2MzkyNTA3NS4xODU3MjkzLCA1MjI5LCAxLjY0MzEwNjkzNzQwODQ0NzNdLCBbMTY2MzkyNTA3NS42NTUyODg1LCA1MjY1LCAxLjM0ODg4ODc1NDg0NDY2NTVdLCBbMTY2MzkyNTA3NS43ODEyNjA1LCA1Mjc0LCAxLjIyNTkyMzQxODk5ODcxODNdLCBbMTY2MzkyNTA3NS45MDE4NzE0LCA1MjgzLCAxLjE0NzMxNzI5MDMwNjA5MTNdLCBbMTY2MzkyNTA3Ni4xNDYwMjk1LCA1MzAxLCAxLjEwMTIxODEwNDM2MjQ4NzhdLCBbMTY2MzkyNTA3Ni4yNzY5MDMyLCA1MzEwLCAxLjE4MjAxNjAxNTA1Mjc5NTRdLCBbMTY2MzkyNTA3Ni4zOTk2MjUzLCA1MzE5LCAxLjMyMTQ0Njg5NTU5OTM2NTJdLCBbMTY2MzkyNTA3Ni41MTIxMTcsIDUzMjgsIDEuMDc0MDQ5MTE1MTgwOTY5Ml0sIFsxNjYzOTI1MDc2LjYwNjIwNDcsIDUzMzcsIDEuMTQzMzY4OTU5NDI2ODc5OV0sIFsxNjYzOTI1MDc2LjcxMzQxMDEsIDUzNDYsIDEuMTg0NDYzMjYyNTU3OTgzNF0sIFsxNjYzOTI1MDc2LjgwODk0NjQsIDUzNTUsIDEuMTgzNTc5MzI1Njc1OTY0NF0sIFsxNjYzOTI1MDc2LjkwNjMxMTUsIDUzNjQsIDEuMDAwODMzNTExMzUyNTM5XSwgWzE2NjM5MjUwNzYuOTk4MzI3MywgNTM3MywgMS4wOTUwMDAyNjcwMjg4MDg2XSwgWzE2NjM5MjUwNzcuMDk4NDc0NywgNTM4MiwgMS4zODM3MjI2NjI5MjU3MjAyXSwgWzE2NjM5MjUwNzcuMzk2Mjc3MiwgNTM5MSwgMC45OTIwNjcxNTgyMjIxOTg1XSwgWzE2NjM5MjUwNzcuNTA1NzE5MiwgNTQwMCwgMS4xNzkwOTc2NTI0MzUzMDI3XSwgWzE2NjM5MjUwNzcuNzIxNzI2LCA1NDE4LCAxLjIzMjYxMDEwNjQ2ODIwMDddLCBbMTY2MzkyNTA3Ny44NDIzNDcsIDU0MjcsIDEuMjg2NzY2NjQ4MjkyNTQxNV0sIFsxNjYzOTI1MDc3Ljk1MzI0ODcsIDU0MzYsIDEuMDIxNDg4OTA0OTUzMDAzXSwgWzE2NjM5MjUwNzguMDY0ODMwOCwgNTQ0NSwgMS4yNDYyNDM0NzY4Njc2NzU4XSwgWzE2NjM5MjUwNzguMTg3NjE0MiwgNTQ1NCwgMS4wMDgzMzA0NjQzNjMwOTgxXSwgWzE2NjM5MjUwNzguNDEwMzM1OCwgNTQ3MiwgMS4xOTU2NzYzMjY3NTE3MDldLCBbMTY2MzkyNTA3OC41MDg1NTc2LCA1NDgxLCAxLjE4MjE4NTc2OTA4MTExNTddLCBbMTY2MzkyNTA3OC42MTU2MjQ3LCA1NDkwLCAxLjM2NTYwMTE4MTk4Mzk0NzhdLCBbMTY2MzkyNTA3OC43MTc2NzkzLCA1NDk5LCAxLjM4MTM4MTUxMTY4ODIzMjRdLCBbMTY2MzkyNTA3OS4wNDQwMjE4LCA1NTI2LCAxLjE0MzgxMzk2NzcwNDc3M10sIFsxNjYzOTI1MDc5LjE1MzczNiwgNTUzNSwgMS4wNjAzMjQ2Njg4ODQyNzczXSwgWzE2NjM5MjUwNzkuMzY5ODY1NywgNTU1MywgMS4wNTYwMzAzOTI2NDY3ODk2XSwgWzE2NjM5MjUwNzkuNDgxODM0NywgNTU2MiwgMS4xMjI4ODMzMTk4NTQ3MzYzXSwgWzE2NjM5MjUwNzkuNTc5MTI3NiwgNTU3MSwgMS4xNTMyMTEyMzYwMDAwNjFdLCBbMTY2MzkyNTA3OS42NzY3NzA0LCA1NTgwLCAxLjAwNDQ3MTU0MDQ1MTA0OThdLCBbMTY2MzkyNTA3OS44MTA4NzcsIDU1ODksIDAuOTkxOTgxMjA4MzI0NDMyNF0sIFsxNjYzOTI1MDc5Ljk0ODIyNiwgNTU5OCwgMS4wNzM0MTk2OTAxMzIxNDExXSwgWzE2NjM5MjUwODAuMDc5Mzc3NywgNTYwNywgMS4xMDk3OTEyNzg4MzkxMTEzXSwgWzE2NjM5MjUwODAuMTgyMzQ0LCA1NjE2LCAxLjE1MzM5NDM0MTQ2ODgxMV0sIFsxNjYzOTI1MDgwLjM5MzY5ODUsIDU2MzQsIDEuMTU0NjczOTMzOTgyODQ5MV0sIFsxNjYzOTI1MDgwLjQ5MjA4NiwgNTY0MywgMS4wNjM4ODkwMjY2NDE4NDU3XSwgWzE2NjM5MjUwODAuNTkzNjE1OCwgNTY1MiwgMS4wNDg4OTMyMTMyNzIwOTQ3XSwgWzE2NjM5MjUwODAuNjk5Nzg3NCwgNTY2MSwgMS4wODM1NDg0MjY2MjgxMTI4XSwgWzE2NjM5MjUwODAuODAxMjUyNCwgNTY3MCwgMS4zNDE3MjM0NDIwNzc2MzY3XSwgWzE2NjM5MjUwODEuMTIwMDUzNSwgNTY5NywgMS4yODI1NTE4ODQ2NTExODRdLCBbMTY2MzkyNTA4MS4yMTY2NjgxLCA1NzA2LCAxLjA5OTczMDk2ODQ3NTM0MThdLCBbMTY2MzkyNTA4MS4zMDg5MDQsIDU3MTUsIDEuMzIzMDI3NjEwNzc4ODA4Nl0sIFsxNjYzOTI1MDgxLjQwOTc3MiwgNTcyNCwgMS4wNjQzMTYwMzQzMTcwMTY2XSwgWzE2NjM5MjUwODEuNTA1NTg2NCwgNTczMywgMS4wMjg4OTc2NDMwODkyOTQ0XSwgWzE2NjM5MjUwODEuNjA2MjAzOCwgNTc0MiwgMS4zMDc2MDY2OTcwODI1MTk1XSwgWzE2NjM5MjUwODEuODg3NjA4OCwgNTc2OSwgMS4wNDIyNTMxMzY2MzQ4MjY3XSwgWzE2NjM5MjUwODEuOTc3OTY5NCwgNTc3OCwgMS4yMTEwMjc2MjIyMjI5MDA0XSwgWzE2NjM5MjUwODIuMDc3MzY1NCwgNTc4NywgMC45NzIzMDY4NDc1NzIzMjY3XSwgWzE2NjM5MjUwODIuMTc4ODExMywgNTc5NiwgMS4wMjU1NzY1OTE0OTE2OTkyXSwgWzE2NjM5MjUwODIuMjg0MzkwNCwgNTgwNSwgMS4xMjI5MTgwMDk3NTc5OTU2XSwgWzE2NjM5MjUwODIuMzk3NzUsIDU4MTQsIDEuMjE1NTY2NjM1MTMxODM2XSwgWzE2NjM5MjUwODIuNzI5NTYyNSwgNTg0MSwgMS4wMTM0OTU5MjIwODg2MjNdLCBbMTY2MzkyNTA4Mi44MzMzNDc4LCA1ODUwLCAxLjEwMzk2OTQ1NDc2NTMxOThdLCBbMTY2MzkyNTA4My4wMzc2MzEzLCA1ODY4LCAxLjE1ODU3MjQzNTM3OTAyODNdLCBbMTY2MzkyNTA4My4xNDI0NjYzLCA1ODc3LCAxLjMxMDU1MjQ3NzgzNjYwODldLCBbMTY2MzkyNTA4My4yMzkyNywgNTg4NiwgMS4xMDM1MTQ1NTIxMTYzOTRdLCBbMTY2MzkyNTA4My4zNDcwOTQzLCA1ODk1LCAwLjk4ODc3NDg5NTY2ODAyOThdLCBbMTY2MzkyNTA4My40NTkyNTcsIDU5MDQsIDEuMTI0NTcyNzUzOTA2MjVdLCBbMTY2MzkyNTA4My43NjU5NjQ1LCA1OTMxLCAxLjA1Nzk3NzMxODc2MzczM10sIFsxNjYzOTI1MDgzLjg2MTIyNSwgNTk0MCwgMS4zNzY3NTcxNDQ5Mjc5Nzg1XSwgWzE2NjM5MjUwODMuOTczMDk4LCA1OTQ5LCAxLjE5MDg0NTcyNzkyMDUzMjJdLCBbMTY2MzkyNTA4NC4wOTYzNTM4LCA1OTU4LCAxLjEyNDYxMTczNTM0MzkzM10sIFsxNjYzOTI1MDg0LjI5NjczMjcsIDU5NzYsIDEuMTY2NTQxNTc2Mzg1NDk4XSwgWzE2NjM5MjUwODQuNTIzNTIxLCA1OTk0LCAxLjIxMjk4NjExMTY0MDkzMDJdLCBbMTY2MzkyNTA4NC43NDUyMTUsIDYwMTIsIDEuMjAxNjI2ODk2ODU4MjE1M10sIFsxNjYzOTI1MDg0Ljk4NjU0NDgsIDYwMzAsIDEuMDkzNzc3MDYwNTA4NzI4XSwgWzE2NjM5MjUwODUuMTA1NDQ2OCwgNjAzOSwgMS4yMjQzOTgwMTY5Mjk2MjY1XSwgWzE2NjM5MjUwODUuMjI3Nzk5MiwgNjA0OCwgMS4xOTU4OTczNDA3NzQ1MzYxXSwgWzE2NjM5MjUwODUuMzE5NzUzMiwgNjA1NywgMS4zNTAwNzU5NjAxNTkzMDE4XSwgWzE2NjM5MjUwODUuNDM3MDk5NywgNjA2NiwgMS4wOTYxMzAwMTM0NjU4ODEzXSwgWzE2NjM5MjUwODUuNjczMjQwNywgNjA4NCwgMS4wOTA3MjQ1ODc0NDA0OTA3XSwgWzE2NjM5MjUwODUuNzg0NDA1NSwgNjA5MywgMS4yMTY3MjMzMjI4NjgzNDcyXSwgWzE2NjM5MjUwODUuODk1NjA4LCA2MTAyLCAxLjQyNTc0MDEyMjc5NTEwNV0sIFsxNjYzOTI1MDg2LjAxODIwNjgsIDYxMTEsIDEuMDAxMzcyNDU2NTUwNTk4MV0sIFsxNjYzOTI1MDg2LjEyMzM2NjQsIDYxMjAsIDEuMDEzMjA4MTUwODYzNjQ3NV0sIFsxNjYzOTI1MDg2LjIyMjEwMzYsIDYxMjksIDEuMTg5NzY3NDc5ODk2NTQ1NF0sIFsxNjYzOTI1MDg2LjQyNTM1MzgsIDYxNDcsIDEuMDE5ODUyODc2NjYzMjA4XSwgWzE2NjM5MjUwODYuNTE5MDE3LCA2MTU2LCAxLjA2OTE0MTk4Mzk4NTkwMDldLCBbMTY2MzkyNTA4Ni44MDIyOTA3LCA2MTY1LCAxLjMyNDc1ODI5MTI0NDUwNjhdLCBbMTY2MzkyNTA4Ni45MDIyOTIsIDYxNzQsIDEuMzU3OTQwMzE2MjAwMjU2M10sIFsxNjYzOTI1MDg3LjEwMzk1NDMsIDYxOTIsIDEuMDg4MTIyODQ0Njk2MDQ1XSwgWzE2NjM5MjUwODcuMjAwOTAwNiwgNjIwMSwgMS4zMjMxNjg1MTYxNTkwNTc2XSwgWzE2NjM5MjUwODcuMzAxOTE3OCwgNjIxMCwgMS4yNDExMzk2NTAzNDQ4NDg2XSwgWzE2NjM5MjUwODcuNDIwMTUxNSwgNjIxOSwgMS4yMTg5Mjg2OTQ3MjUwMzY2XSwgWzE2NjM5MjUwODcuNjI2ODIyMiwgNjIzNywgMS4wNzQ3NTc4MTQ0MDczNDg2XSwgWzE2NjM5MjUwODcuNzI4NzI5LCA2MjQ2LCAxLjA5NzI5OTU3NTgwNTY2NF0sIFsxNjYzOTI1MDg3LjgyOTQxOTQsIDYyNTUsIDEuMDAzNzgwOTYxMDM2NjgyMV0sIFsxNjYzOTI1MDg3LjkyNTQ2MzIsIDYyNjQsIDEuMjQzODU2Nzg3NjgxNTc5Nl0sIFsxNjYzOTI1MDg4LjAyNzgyODUsIDYyNzMsIDEuMDk3NjExMDY5Njc5MjYwM10sIFsxNjYzOTI1MDg4LjEyODY5MzgsIDYyODIsIDEuMjAxODU5ODMxODA5OTk3Nl0sIFsxNjYzOTI1MDg4LjMzMDQwNjQsIDYzMDAsIDEuMTk1OTQ3NTI3ODg1NDM3XSwgWzE2NjM5MjUwODguNDQ4NjI2OCwgNjMwOSwgMS4yNzk5NDc1MTkzMDIzNjgyXSwgWzE2NjM5MjUwODguNjQ4NTQ1NywgNjMyNywgMS4yMDQyNzE3OTMzNjU0Nzg1XSwgWzE2NjM5MjUwODguNzQ3MDU3LCA2MzM2LCAxLjEzOTY0MTUyMzM2MTIwNl0sIFsxNjYzOTI1MDg4Ljk0NDU3MiwgNjM1NCwgMS4zNTM5NzY3MjY1MzE5ODI0XSwgWzE2NjM5MjUwODkuMjgxNzI4NywgNjM4MSwgMS4wNDcxNzMyNjE2NDI0NTZdLCBbMTY2MzkyNTA4OS4zODc1MjI1LCA2MzkwLCAxLjI5NDQxMzU2NjU4OTM1NTVdLCBbMTY2MzkyNTA4OS40OTY5MzIzLCA2Mzk5LCAxLjAwNjcyMjkyNzA5MzUwNTldLCBbMTY2MzkyNTA4OS43MzA3MzU4LCA2NDE3LCAxLjIxODkwMDIwMzcwNDgzNF0sIFsxNjYzOTI1MDg5LjgzMTk2NjksIDY0MjYsIDEuMDQzNDAxMzYwNTExNzc5OF0sIFsxNjYzOTI1MDkwLjA0MDEzMjgsIDY0NDQsIDEuMTc5MzUyMDQ1MDU5MjA0XSwgWzE2NjM5MjUwOTAuMTUwMTE0LCA2NDUzLCAxLjM5MDA3MDkxNTIyMjE2OF0sIFsxNjYzOTI1MDkwLjI1NDI5NjgsIDY0NjIsIDEuMDY2NDA5MzQ5NDQxNTI4M10sIFsxNjYzOTI1MDkwLjQ0NzI0MTgsIDY0ODAsIDEuMDY1MzMzOTYyNDQwNDkwN10sIFsxNjYzOTI1MDkwLjU0MjQwMzcsIDY0ODksIDEuMDAwMTczMDkxODg4NDI3N10sIFsxNjYzOTI1MDkwLjY1NTI5LCA2NDk4LCAxLjE3MDI1NDExMTI4OTk3OF0sIFsxNjYzOTI1MDkwLjc0OTEyMSwgNjUwNywgMS4yNTE2OTk1NjY4NDExMjU1XSwgWzE2NjM5MjUwOTAuODU4NDc0NywgNjUxNiwgMS4wMDAyNjI3MzcyNzQxN10sIFsxNjYzOTI1MDkwLjk2NTMzNTQsIDY1MjUsIDEuMTI1MjE4MjcyMjA5MTY3NV0sIFsxNjYzOTI1MDkxLjA2Njk5NCwgNjUzNCwgMS4xMTI1NzA3NjI2MzQyNzczXSwgWzE2NjM5MjUwOTEuMTY3NTkzMiwgNjU0MywgMS4yNjg3MTMyMzU4NTUxMDI1XSwgWzE2NjM5MjUwOTEuMjU5MTk5LCA2NTUyLCAxLjE0Njk3OTgwODgwNzM3M10sIFsxNjYzOTI1MDkxLjM2MzExNjUsIDY1NjEsIDEuMTE2NjEyMTk1OTY4NjI4XSwgWzE2NjM5MjUwOTEuNDY5Njk0LCA2NTcwLCAxLjA4MDAyMTE0Mjk1OTU5NDddLCBbMTY2MzkyNTA5MS41NzY2NzYsIDY1NzksIDEuMTc4MjQ2NDk4MTA3OTEwMl0sIFsxNjYzOTI1MDkxLjY3OTU2NiwgNjU4OCwgMS4xNDcxOTk4NjkxNTU4ODM4XSwgWzE2NjM5MjUwOTEuNzc1NTU1NCwgNjU5NywgMS4yMjI2ODU4MTM5MDM4MDg2XSwgWzE2NjM5MjUwOTEuODczMzAxLCA2NjA2LCAxLjAyMzE1Njg4MTMzMjM5NzVdLCBbMTY2MzkyNTA5Mi4wNjExMjEsIDY2MjQsIDEuMDc4MTcyNjgzNzE1ODIwM10sIFsxNjYzOTI1MDkyLjM2MTEzMDcsIDY2NTEsIDEuMTg3ODY1ODUzMzA5NjMxM10sIFsxNjYzOTI1MDkyLjQ2ODIwMDIsIDY2NjAsIDEuMDQ4NTMzNDM5NjM2MjMwNV0sIFsxNjYzOTI1MDkyLjU4MTAwNjgsIDY2NjksIDAuOTkzOTcyMDYzMDY0NTc1Ml0sIFsxNjYzOTI1MDkyLjgwMTY1ODksIDY2ODcsIDEuMDM2NjM2NTkwOTU3NjQxNl0sIFsxNjYzOTI1MDkyLjkyOTI3NTMsIDY2OTYsIDEuMDE3NjY1NjI0NjE4NTMwM10sIFsxNjYzOTI1MDkzLjA1NTQ5MzQsIDY3MDUsIDEuNDU2NzA4MzEyMDM0NjA3XSwgWzE2NjM5MjUwOTMuMTY2ODU2NSwgNjcxNCwgMS4yMzEwNTUxNDA0OTUzMDAzXSwgWzE2NjM5MjUwOTMuMjY0OTEwNywgNjcyMywgMS40NTYyMjEyMjI4Nzc1MDI0XSwgWzE2NjM5MjUwOTMuODE4MzU3NywgNjc2OCwgMC45ODk0MjE4NDQ0ODI0MjE5XSwgWzE2NjM5MjUwOTMuOTE3NDAyMywgNjc3NywgMS4yMjE4OTk1MDk0Mjk5MzE2XSwgWzE2NjM5MjUwOTQuMjU2NzExNywgNjgwNCwgMS4wNTg2ODYxMzcxOTk0MDE5XSwgWzE2NjM5MjUwOTQuMzY1NzAxLCA2ODEzLCAxLjI0MTIyMzY5Mjg5Mzk4Ml0sIFsxNjYzOTI1MDk0LjQ2NDQwMiwgNjgyMiwgMS4yMDA5MDcyMzAzNzcxOTczXSwgWzE2NjM5MjUwOTQuNTYwMDQ0LCA2ODMxLCAxLjQwMzk5NDQ0MTAzMjQwOTddLCBbMTY2MzkyNTA5NC42Njg2OTYyLCA2ODQwLCAxLjU5OTI4ODk0MDQyOTY4NzVdLCBbMTY2MzkyNTA5NC45OTI5NDk1LCA2ODY3LCAxLjM0MDI4MjIwMTc2Njk2NzhdLCBbMTY2MzkyNTA5NS4wODc1MzU2LCA2ODc2LCAxLjA1NTAwMjkyNzc4MDE1MTRdLCBbMTY2MzkyNTA5NS4xODc1NjA2LCA2ODg1LCAxLjE0MDQ5MjQzOTI3MDAxOTVdLCBbMTY2MzkyNTA5NS4yODI2Njg0LCA2ODk0LCAxLjQyNzE3NjM1NjMxNTYxMjhdLCBbMTY2MzkyNTA5NS4zODQ1NTc3LCA2OTAzLCAxLjA2NTA5NzIxMjc5MTQ0MjldLCBbMTY2MzkyNTA5NS40ODYxMDg4LCA2OTEyLCAxLjE5NzI3OTIxNDg1OTAwODhdLCBbMTY2MzkyNTA5NS41ODI2MzQ3LCA2OTIxLCAwLjk0NjI4OTY1ODU0NjQ0NzhdLCBbMTY2MzkyNTA5NS42ODQ2MTI4LCA2OTMwLCAwLjk2MzQzNDkzNDYxNjA4ODldLCBbMTY2MzkyNTA5NS43ODEzMjUzLCA2OTM5LCAxLjE1MTQ3Njg2MDA0NjM4NjddLCBbMTY2MzkyNTA5Ni4xNDg4OTM0LCA2OTQ4LCAxLjMyOTY1NzMxNjIwNzg4NTddLCBbMTY2MzkyNTA5Ni4yNTA4NjI2LCA2OTU3LCAxLjI5ODk1NzQ2NzA3OTE2MjZdLCBbMTY2MzkyNTA5Ni4zNDc1NDEsIDY5NjYsIDEuMDI4NzAyODU1MTEwMTY4NV0sIFsxNjYzOTI1MDk2LjU0MDU0OTUsIDY5ODQsIDEuMDE0ODQ4MzUxNDc4NTc2N10sIFsxNjYzOTI1MDk2LjY2MzQ3NjUsIDY5OTMsIDEuMTQwMzY5ODkyMTIwMzYxM10sIFsxNjYzOTI1MDk2Ljc2NzM0NSwgNzAwMiwgMS4wOTAzMzYwODQzNjU4NDQ3XSwgWzE2NjM5MjUwOTYuODc1MDYzLCA3MDExLCAxLjExMTMxOTc4MDM0OTczMTRdLCBbMTY2MzkyNTA5Ni45OTc3MDY0LCA3MDIwLCAxLjExNjY5MjkwMDY1NzY1MzhdLCBbMTY2MzkyNTA5Ny4xMDYxOTk3LCA3MDI5LCAxLjAyMzI5NDMyOTY0MzI0OTVdLCBbMTY2MzkyNTA5Ny4yMTczMjQ3LCA3MDM4LCAxLjA1NDc4NTI1MTYxNzQzMTZdLCBbMTY2MzkyNTA5Ny4zMTU3Mjk2LCA3MDQ3LCAxLjM2OTIxNTQ4ODQzMzgzOF0sIFsxNjYzOTI1MDk3LjQ0NjMyODksIDcwNTYsIDEuMTczNTgzMTQ5OTA5OTczMV0sIFsxNjYzOTI1MDk3Ljc3NzQ4MSwgNzA4MywgMC45OTA1OTg2Nzg1ODg4NjcyXSwgWzE2NjM5MjUwOTcuODg3NzUwMSwgNzA5MiwgMS4xNzg4NDU3NjMyMDY0ODJdLCBbMTY2MzkyNTA5Ny45OTU1MDk0LCA3MTAxLCAxLjEyNTU1NzMwMzQyODY1XSwgWzE2NjM5MjUwOTguMDg5ODQzNSwgNzExMCwgMS4xMzU4NTA5MDYzNzIwNzAzXSwgWzE2NjM5MjUwOTguMjE3NjYyNiwgNzExOSwgMC45MTU5MTc5MzI5ODcyMTMxXSwgWzE2NjM5MjUwOTguMzYyMzY2NywgNzEyOCwgMS4xNDI1MDg5ODM2MTIwNjA1XSwgWzE2NjM5MjUwOTguNTkwMDEzNSwgNzE0NiwgMS4xNTgxMzE5NTcwNTQxMzgyXSwgWzE2NjM5MjUwOTguNjk1ODQ1MSwgNzE1NSwgMS4wOTE5NDkyMjQ0NzIwNDZdLCBbMTY2MzkyNTA5OC43ODc2NzE4LCA3MTY0LCAxLjAwMzk2ODk1NDA4NjMwMzddLCBbMTY2MzkyNTA5OC44Nzk2MjY4LCA3MTczLCAxLjA4ODI4MzY1ODAyNzY0OV0sIFsxNjYzOTI1MDk4Ljk3NjM0LCA3MTgyLCAxLjA1MzM1MTY0MDcwMTI5NF0sIFsxNjYzOTI1MDk5LjE4NTMxNSwgNzIwMCwgMS4wMjI1ODQzMTkxMTQ2ODVdLCBbMTY2MzkyNTA5OS4yODE2OTA2LCA3MjA5LCAxLjExOTE4NzcxMjY2OTM3MjZdLCBbMTY2MzkyNTA5OS43MTE2MzMyLCA3MjQ1LCAxLjA5MzAwMzk4ODI2NTk5MTJdLCBbMTY2MzkyNTA5OS44MDcxMDcsIDcyNTQsIDEuNDY4ODkwOTA1MzgwMjQ5XSwgWzE2NjM5MjUwOTkuOTIzNTU2MywgNzI2MywgMS40MDY2MTIyNzcwMzA5NDQ4XSwgWzE2NjM5MjUxMDAuMDIwNzQzNCwgNzI3MiwgMC45NjU2MDE0NDQyNDQzODQ4XSwgWzE2NjM5MjUxMDAuMTI1NDEzMiwgNzI4MSwgMC45OTQ3MTc3MTcxNzA3MTUzXSwgWzE2NjM5MjUxMDAuMzE5MzU3NiwgNzI5OSwgMC45NjI1MzY0NTQyMDA3NDQ2XSwgWzE2NjM5MjUxMDAuNDM3OTUwMSwgNzMwOCwgMC45NDExMTIxMDEwNzgwMzM0XSwgWzE2NjM5MjUxMDAuNjQzMDgzLCA3MzI2LCAxLjAyMTQ4NzgzMjA2OTM5N10sIFsxNjYzOTI1MTAwLjc3MDcwMjEsIDczMzUsIDEuMDc5MjQzMzAyMzQ1Mjc1OV0sIFsxNjYzOTI1MTAwLjg3ODg3MywgNzM0NCwgMS4wODQ2MjQ1Mjg4ODQ4ODc3XSwgWzE2NjM5MjUxMDEuMTIwNjM0NiwgNzM2MiwgMS4xMTgxMTUxODY2OTEyODQyXSwgWzE2NjM5MjUxMDEuMjI3MjU0NiwgNzM3MSwgMC44OTk4ODQxMDQ3Mjg2OTg3XSwgWzE2NjM5MjUxMDEuMzU0NDI4NSwgNzM4MCwgMS4wNDA2Njc2NTMwODM4MDEzXSwgWzE2NjM5MjUxMDEuNDY5NTA5MSwgNzM4OSwgMS4wNDAxODI5NDgxMTI0ODc4XSwgWzE2NjM5MjUxMDEuNTcyMDExMiwgNzM5OCwgMS4wMDIzOTAyNjU0NjQ3ODI3XSwgWzE2NjM5MjUxMDEuNjYxOTE4OSwgNzQwNywgMS4wMTI3MTg5MTU5MzkzMzFdLCBbMTY2MzkyNTEwMS43NTc2OTA0LCA3NDE2LCAxLjA4MzI4NTMzMTcyNjA3NDJdLCBbMTY2MzkyNTEwMS44NTYzMjk3LCA3NDI1LCAxLjA0ODUzMjk2Mjc5OTA3MjNdLCBbMTY2MzkyNTEwMS45NjQwNDMsIDc0MzQsIDAuOTQ2MTgzNDQzMDY5NDU4XSwgWzE2NjM5MjUxMDIuMTAwNTU5LCA3NDQzLCAxLjI5MDQyMDc3MDY0NTE0MTZdLCBbMTY2MzkyNTEwMi4xOTkyMTE0LCA3NDUyLCAxLjE3NzMyNzUxMzY5NDc2MzJdLCBbMTY2MzkyNTEwMi4zMDIyOTY0LCA3NDYxLCAxLjI3NjExNzMyNDgyOTEwMTZdLCBbMTY2MzkyNTEwMi40MDUzMzQyLCA3NDcwLCAxLjI4NDY0NjE1MzQ1MDAxMjJdLCBbMTY2MzkyNTEwMi41MDQ5MDQ3LCA3NDc5LCAxLjAwNjMyNjU1NjIwNTc0OTVdLCBbMTY2MzkyNTEwMi43MDY4MjcsIDc0OTcsIDEuMDUzMDMwNzI5MjkzODIzMl0sIFsxNjYzOTI1MTAyLjgxNTg2NCwgNzUwNiwgMC45MjA5MDE0MTc3MzIyMzg4XSwgWzE2NjM5MjUxMDIuOTI0NDQ1NiwgNzUxNSwgMC44OTkzMDA1NzUyNTYzNDc3XSwgWzE2NjM5MjUxMDMuMDQ0NDY3NCwgNzUyNCwgMS4wNDQ5ODc2Nzg1Mjc4MzJdLCBbMTY2MzkyNTEwMy4xNTA4NDY3LCA3NTMzLCAxLjE0Njk1NjMyNDU3NzMzMTVdLCBbMTY2MzkyNTEwMy4yNzczMDA2LCA3NTQyLCAwLjg1MTk2MDg5NzQ0NTY3ODddLCBbMTY2MzkyNTEwMy41MzE5MzE5LCA3NTYwLCAxLjE2OTEyODE3OTU1MDE3MV0sIFsxNjYzOTI1MTAzLjY3MjM3OTcsIDc1NjksIDEuMTYwMzcyODUzMjc5MTEzOF0sIFsxNjYzOTI1MTAzLjg5Nzg1NzQsIDc1ODcsIDAuOTU3OTc4MTI5Mzg2OTAxOV0sIFsxNjYzOTI1MTAzLjk5NzUwMzMsIDc1OTYsIDEuMjYzMjQyNzIxNTU3NjE3Ml0sIFsxNjYzOTI1MTA0LjIwODExMDgsIDc2MTQsIDEuMzc2OTcyNDM2OTA0OTA3Ml0sIFsxNjYzOTI1MTA0LjQzNTM0NiwgNzYzMiwgMS4zNTAwODcxNjU4MzI1MTk1XSwgWzE2NjM5MjUxMDQuODAwNjU2NiwgNzY1OSwgMS4wNTc2NDY5ODk4MjIzODc3XSwgWzE2NjM5MjUxMDQuOTAyNzY5MywgNzY2OCwgMS4yODk3Mjg2NDE1MTAwMDk4XSwgWzE2NjM5MjUxMDUuMjEzNjAxNCwgNzY5NSwgMS4xNTI3OTgwNTY2MDI0NzhdLCBbMTY2MzkyNTEwNS40Mjg5NDc0LCA3NzEzLCAwLjk1MjcyOTgyMTIwNTEzOTJdLCBbMTY2MzkyNTEwNS43MjMxODA1LCA3NzIyLCAxLjAxNDI3NTE5MzIxNDQxNjVdLCBbMTY2MzkyNTEwNS44NDAzNTc4LCA3NzMxLCAxLjA3NzYyMjc3MTI2MzEyMjZdLCBbMTY2MzkyNTEwNi4wODQzOTc4LCA3NzQ5LCAxLjE1NDI0Nzk5OTE5MTI4NDJdLCBbMTY2MzkyNTEwNi4yMjg3MDk1LCA3NzU4LCAxLjI0OTk1OTExMTIxMzY4NF0sIFsxNjYzOTI1MTA2LjM1MDg5MjMsIDc3NjcsIDEuMjEwNDMzMDA2Mjg2NjIxXSwgWzE2NjM5MjUxMDYuNzAxODA5NCwgNzc5NCwgMS4wNzM5NTU0MTY2NzkzODIzXSwgWzE2NjM5MjUxMDYuODIxODQ2NSwgNzgwMywgMS4wODI1Mjk1NDQ4MzAzMjIzXSwgWzE2NjM5MjUxMDcuMDYyNjUzNSwgNzgyMSwgMS4xNDY1MTYzMjMwODk1OTk2XSwgWzE2NjM5MjUxMDcuMTU2MzU4NywgNzgzMCwgMS4wNTMzOTQzMTc2MjY5NTMxXSwgWzE2NjM5MjUxMDcuMjUzNDIyMywgNzgzOSwgMS4zMzA1MTYwOTk5Mjk4MDk2XSwgWzE2NjM5MjUxMDcuMzU1ODg3LCA3ODQ4LCAxLjAxNDMxMDEyMTUzNjI1NDldLCBbMTY2MzkyNTEwNy42Nzk5NDUyLCA3ODc1LCAxLjI0OTg2MjU1MTY4OTE0OF0sIFsxNjYzOTI1MTA3LjkyNzUyNjIsIDc4OTMsIDAuOTY4OTE4NTYxOTM1NDI0OF0sIFsxNjYzOTI1MTA4LjAzNjA5MiwgNzkwMiwgMC45MjQ0MjYxOTgwMDU2NzYzXSwgWzE2NjM5MjUxMDguMTc1MTE5MiwgNzkxMSwgMS4wODAxMDY5NzM2NDgwNzEzXSwgWzE2NjM5MjUxMDguNDM2MDE5NCwgNzkyOSwgMS4wMjAyODY0NDA4NDkzMDQyXSwgWzE2NjM5MjUxMDguNTcxNDI1NCwgNzkzOCwgMS4xNzAzMjg0OTc4ODY2NTc3XSwgWzE2NjM5MjUxMDguNjg3MTM0NywgNzk0NywgMS4xMjg4Mjc0NTI2NTk2MDddLCBbMTY2MzkyNTEwOC43ODMwMTI0LCA3OTU2LCAwLjk4MTY2MTg1NjE3NDQ2OV0sIFsxNjYzOTI1MTA4Ljg4MDc5MTIsIDc5NjUsIDEuMjA5MjgyMTU5ODA1Mjk3OV0sIFsxNjYzOTI1MTA4Ljk3NTA2NTcsIDc5NzQsIDEuMDk4Mzc4MTgxNDU3NTE5NV0sIFsxNjYzOTI1MTA5LjA3NTUyODksIDc5ODMsIDAuOTUwNTUyNjQyMzQ1NDI4NV0sIFsxNjYzOTI1MTA5LjE3NTQzMSwgNzk5MiwgMC45NjMxNTMwNjQyNTA5NDZdLCBbMTY2MzkyNTEwOS4yNzIxMTQ1LCA4MDAxLCAxLjEyNzI1MDQzMjk2ODEzOTZdLCBbMTY2MzkyNTEwOS4zNzAzMjg3LCA4MDEwLCAxLjE2NDgzMzA2ODg0NzY1NjJdLCBbMTY2MzkyNTEwOS40Njk0ODIsIDgwMTksIDEuMDY0Mjg4MjU4NTUyNTUxM10sIFsxNjYzOTI1MTA5LjY3NzcyMzIsIDgwMzcsIDEuMjM5ODMyODc4MTEyNzkzXSwgWzE2NjM5MjUxMDkuNzY5NzE5MSwgODA0NiwgMC45OTY0MjI1ODg4MjUyMjU4XSwgWzE2NjM5MjUxMDkuOTY4MTkzOCwgODA2NCwgMS4wMDQzNDM5ODY1MTEyMzA1XSwgWzE2NjM5MjUxMTAuMTY4ODcyLCA4MDgyLCAxLjEwMDM4NTA2OTg0NzEwN10sIFsxNjYzOTI1MTEwLjI2OTQwNzMsIDgwOTEsIDEuMDY2NzYxODUxMzEwNzNdLCBbMTY2MzkyNTExMC41NzIxNTQzLCA4MTE4LCAwLjkwOTc5NjgzMzk5MjAwNDRdLCBbMTY2MzkyNTExMC42NzQwNiwgODEyNywgMS41MDA4MjIzMDU2NzkzMjEzXSwgWzE2NjM5MjUxMTAuODg5NTg0MywgODE0NSwgMC45NjU4MjI4MTU4OTUwODA2XSwgWzE2NjM5MjUxMTAuOTk3MjI3MiwgODE1NCwgMS4xMDkyODMyMDg4NDcwNDZdLCBbMTY2MzkyNTExMS4xMTQyMzkyLCA4MTYzLCAxLjEyNTM1MjUwMTg2OTIwMTddLCBbMTY2MzkyNTExMS4yNDM0MDksIDgxNzIsIDEuMzE5MTM3MzM0ODIzNjA4NF0sIFsxNjYzOTI1MTExLjM2MzM0NiwgODE4MSwgMS4wMzI1NzUyNDk2NzE5MzZdLCBbMTY2MzkyNTExMS41ODA1OTIyLCA4MTk5LCAwLjk5MTg5NTk3MzY4MjQwMzZdLCBbMTY2MzkyNTExMS42NzgwNzQxLCA4MjA4LCAxLjAzNzQwMDk2MDkyMjI0MTJdLCBbMTY2MzkyNTExMS44Nzk4ODE2LCA4MjI2LCAxLjA4ODMzMzcyNTkyOTI2MDNdLCBbMTY2MzkyNTExMS45Nzg1OTk4LCA4MjM1LCAxLjAzOTU5MzQ1ODE3NTY1OTJdLCBbMTY2MzkyNTExMi4xOTQ2OTQ1LCA4MjUzLCAxLjI4NDI5ODc3NzU4MDI2MTJdLCBbMTY2MzkyNTExMi4yOTQ2ODA2LCA4MjYyLCAxLjA5MDY1NzU5MTgxOTc2MzJdLCBbMTY2MzkyNTExMi4zOTkzNDQ3LCA4MjcxLCAxLjExNzMxMTM1ODQ1MTg0MzNdLCBbMTY2MzkyNTExMi40OTc1NDgsIDgyODAsIDEuMDY3NTYxNzQ1NjQzNjE1N10sIFsxNjYzOTI1MTEyLjYyNjIwMSwgODI4OSwgMC45OTQxMDk4MDkzOTg2NTExXSwgWzE2NjM5MjUxMTIuNzM2OTI5MiwgODI5OCwgMS4wNzQ0ODk3MTI3MTUxNDldLCBbMTY2MzkyNTExMi44NTg5NjM1LCA4MzA3LCAxLjA1OTcwNzUyMjM5MjI3M10sIFsxNjYzOTI1MTEyLjk4Mzc2ODIsIDgzMTYsIDEuMzgzODIyMjAyNjgyNDk1MV0sIFsxNjYzOTI1MTEzLjA5ODEzMDcsIDgzMjUsIDEuMDkwODk2MzY4MDI2NzMzNF0sIFsxNjYzOTI1MTEzLjQ5MTc3MjIsIDgzNTIsIDEuMDg4NTI5MTA5OTU0ODM0XSwgWzE2NjM5MjUxMTMuNjI2NjA5NiwgODM2MSwgMS4wODk2NzgwNDkwODc1MjQ0XSwgWzE2NjM5MjUxMTMuNzI4ODc0MiwgODM3MCwgMC45OTg0OTQ5MjMxMTQ3NzY2XSwgWzE2NjM5MjUxMTMuODM0MDQyLCA4Mzc5LCAwLjg5NDkxNjcxMzIzNzc2MjVdLCBbMTY2MzkyNTExMy45MzUxNjA5LCA4Mzg4LCAxLjIxMjE3MTE5NjkzNzU2MV0sIFsxNjYzOTI1MTE0LjA0MDQ4MjgsIDgzOTcsIDEuMjc2MDEzMzc0MzI4NjEzM10sIFsxNjYzOTI1MTE0LjE0MDg2OSwgODQwNiwgMS4wMzEyMDIzMTYyODQxNzk3XSwgWzE2NjM5MjUxMTQuMjQzNjgxLCA4NDE1LCAwLjkyMzA1NTA1Mjc1NzI2MzJdLCBbMTY2MzkyNTExNC4zNDg3NzUsIDg0MjQsIDEuMDgzMTE1NTc3Njk3NzU0XSwgWzE2NjM5MjUxMTQuNzc0MjAxNiwgODQ2MCwgMS4wMzMyMDM5NTk0NjUwMjY5XSwgWzE2NjM5MjUxMTQuOTE4NjQwMSwgODQ2OSwgMS4wNDY2MDA0NjEwMDYxNjQ2XSwgWzE2NjM5MjUxMTUuMDUzNTkzNiwgODQ3OCwgMS4xNTgzMjc0NjAyODkwMDE1XSwgWzE2NjM5MjUxMTUuMTYxODcxLCA4NDg3LCAxLjAxNDY2MzkzNDcwNzY0MTZdLCBbMTY2MzkyNTExNS4yNjE1MDc3LCA4NDk2LCAxLjA3MDUyMzYxOTY1MTc5NDRdLCBbMTY2MzkyNTExNS42NTE5MjI1LCA4NTE0LCAwLjk4Mzk2MzI1MTExMzg5MTZdLCBbMTY2MzkyNTExNS43NDc0OTY4LCA4NTIzLCAxLjE0MTY0NDU5NzA1MzUyNzhdLCBbMTY2MzkyNTExNS44NTY1ODU1LCA4NTMyLCAxLjEwNTYwOTA1OTMzMzgwMTNdLCBbMTY2MzkyNTExNi4xMDg4MjM4LCA4NTUwLCAxLjIyOTAwOTAzMjI0OTQ1MDddLCBbMTY2MzkyNTExNi4yMzk3NTg1LCA4NTU5LCAxLjA2OTE1ODU1NDA3NzE0ODRdLCBbMTY2MzkyNTExNi40NjM2OTkzLCA4NTc3LCAwLjkyNjkwNzQ3OTc2MzAzMV0sIFsxNjYzOTI1MTE2LjY4OTgwMTcsIDg1OTUsIDAuOTE1NzYzMDgwMTIwMDg2N10sIFsxNjYzOTI1MTE2Ljc4MzQxOSwgODYwNCwgMS4xNjMzNzkxOTIzNTIyOTVdLCBbMTY2MzkyNTExNi44ODU4MTMyLCA4NjEzLCAxLjAxNDM5Nzc0MDM2NDA3NDddLCBbMTY2MzkyNTExNy4wMDAyMDgxLCA4NjIyLCAxLjIwMjg4NTg2NjE2NTE2MTFdLCBbMTY2MzkyNTExNy4yMzIxOTU0LCA4NjQwLCAwLjk0NTAwMDc2NzcwNzgyNDddLCBbMTY2MzkyNTExNy4zNDg2MjU3LCA4NjQ5LCAxLjA2MjUxMDcyODgzNjA1OTZdLCBbMTY2MzkyNTExNy40NzM1ODA2LCA4NjU4LCAwLjkyMjg5OTYwMzg0MzY4OV0sIFsxNjYzOTI1MTE3LjU4OTgxNjYsIDg2NjcsIDEuNDM1NDU0MTMwMTcyNzI5NV0sIFsxNjYzOTI1MTE3LjY5NDUzODQsIDg2NzYsIDAuOTkxMjA2MzQ3OTQyMzUyM10sIFsxNjYzOTI1MTE3LjgyMTcxNjUsIDg2ODUsIDEuMDI4NjIxMTk2NzQ2ODI2Ml0sIFsxNjYzOTI1MTE3Ljk1NjMwOSwgODY5NCwgMC45NTkxNTAzNzM5MzU2OTk1XSwgWzE2NjM5MjUxMTguMTg2MDI3OCwgODcxMiwgMC45NjYyNjYwMzYwMzM2MzA0XSwgWzE2NjM5MjUxMTguMzAwNjMzNywgODcyMSwgMC45Mzc1NzQwODg1NzM0NTU4XSwgWzE2NjM5MjUxMTguNjczNjM3MiwgODc0OCwgMS4wMzc1NDYwMzg2Mjc2MjQ1XSwgWzE2NjM5MjUxMTguNzc2MjAyNywgODc1NywgMS41MjkxODc0NDA4NzIxOTI0XSwgWzE2NjM5MjUxMTkuMjI5NjYyNCwgODc5MywgMS41NjM5ODk3NTg0OTE1MTYxXSwgWzE2NjM5MjUxMTkuMzQ0MzA5MywgODgwMiwgMS4yMDE4MTUwMDkxMTcxMjY1XSwgWzE2NjM5MjUxMTkuNDU0MzQ3NCwgODgxMSwgMS4wOTY0Mzc1NzM0MzI5MjI0XSwgWzE2NjM5MjUxMTkuNTc3MDU1MiwgODgyMCwgMS4xODQ4MzAxODg3NTEyMjA3XSwgWzE2NjM5MjUxMTkuNjcxMDk3LCA4ODI5LCAxLjA1MzQzNTQ0NDgzMTg0ODFdLCBbMTY2MzkyNTExOS43ODgyNzAyLCA4ODM4LCAxLjI0NTE1NzAwMzQwMjcxXSwgWzE2NjM5MjUxMTkuOTA4Nzk3MywgODg0NywgMS41MzY5Njk2NjE3MTI2NDY1XSwgWzE2NjM5MjUxMjAuMDIyNDIxOCwgODg1NiwgMS4wMzI5NTg4NjUxNjU3MTA0XSwgWzE2NjM5MjUxMjAuMzQwODE4MiwgODg4MywgMS4wMjE3Njc0OTcwNjI2ODNdLCBbMTY2MzkyNTEyMC40NDkxNDAzLCA4ODkyLCAwLjk5MzM2MDc1NzgyNzc1ODhdLCBbMTY2MzkyNTEyMC41NTA1Njc0LCA4OTAxLCAxLjAzMDA3MDU0MzI4OTE4NDZdLCBbMTY2MzkyNTEyMC42ODMwODQ1LCA4OTEwLCAwLjk5NjIyODUxNjEwMTgzNzJdLCBbMTY2MzkyNTEyMC43ODI0MTgzLCA4OTE5LCAwLjk5NDg0MDU2MjM0MzU5NzRdLCBbMTY2MzkyNTEyMS4wMTcwOTIsIDg5MzcsIDEuMDc4NDY4OTE4ODAwMzU0XSwgWzE2NjM5MjUxMjEuMjgyNDI5NywgODk1NSwgMS4xNjE0MDg2NjI3OTYwMjA1XSwgWzE2NjM5MjUxMjEuNDA4NjksIDg5NjQsIDEuMDAxNjc0NzcxMzA4ODk5XSwgWzE2NjM5MjUxMjEuNTA1NDIwNCwgODk3MywgMC45ODc3NjExMzk4Njk2ODk5XSwgWzE2NjM5MjUxMjEuNzQ1OTk1OCwgODk5MSwgMS4wNjE0NDk1Mjc3NDA0Nzg1XSwgWzE2NjM5MjUxMjEuODM3NzMxOCwgOTAwMCwgMC45MTMyNjQ5ODk4NTI5MDUzXSwgWzE2NjM5MjUxMjEuOTM4ODgyNiwgOTAwOSwgMC45NjgzMzQ1NTU2MjU5MTU1XSwgWzE2NjM5MjUxMjIuMDUyMTI2NiwgOTAxOCwgMC45MzUyMDE3MDQ1MDIxMDU3XSwgWzE2NjM5MjUxMjIuMTcwOTYyMywgOTAyNywgMS4xNjg5NzQyODAzNTczNjA4XSwgWzE2NjM5MjUxMjIuMjgzNTA5LCA5MDM2LCAxLjE1MDE2NTA4MTAyNDE3XSwgWzE2NjM5MjUxMjIuMzg5MDUxNCwgOTA0NSwgMC44OTk2MDcyNDExNTM3MTddLCBbMTY2MzkyNTEyMi40OTUzMjI1LCA5MDU0LCAwLjk2OTg0MzYyNjAyMjMzODldLCBbMTY2MzkyNTEyMi42MDMyNDM2LCA5MDYzLCAwLjkzNjMyMDA2NjQ1MjAyNjRdLCBbMTY2MzkyNTEyMi43MDE1MTczLCA5MDcyLCAxLjAwNDkwOTk5MjIxODAxNzZdLCBbMTY2MzkyNTEyMy4xNjU4NjE2LCA5MTA4LCAxLjIwNzkyMjkzNTQ4NTgzOThdLCBbMTY2MzkyNTEyMy40MTgyNTIsIDkxMjYsIDEuMDU4NTQ3MDE5OTU4NDk2XSwgWzE2NjM5MjUxMjMuNTMzOTExNSwgOTEzNSwgMS4xMjkwNTc0MDczNzkxNTA0XSwgWzE2NjM5MjUxMjMuNjU1NTMwNywgOTE0NCwgMC45MjcwMzkzODQ4NDE5MTldLCBbMTY2MzkyNTEyMy43ODIzNjI1LCA5MTUzLCAxLjEwODQxNTYwMzYzNzY5NTNdLCBbMTY2MzkyNTEyMy44ODc3NDU5LCA5MTYyLCAwLjkyNzU5MDk2NjIyNDY3MDRdLCBbMTY2MzkyNTEyNC4yMjU4OTMsIDkxODksIDEuMzc1NDY3NjU4MDQyOTA3N10sIFsxNjYzOTI1MTI0LjQ0NjM3NTYsIDkyMDcsIDAuOTI1NTYzMDM3Mzk1NDc3M10sIFsxNjYzOTI1MTI0LjU2MzQ2ODIsIDkyMTYsIDAuOTYxNDc2MDg3NTcwMTkwNF0sIFsxNjYzOTI1MTI0Ljc3ODkwMzcsIDkyMzQsIDEuMTMyMTY2Mzg1NjUwNjM0OF0sIFsxNjYzOTI1MTI0Ljg4ODUxNSwgOTI0MywgMS4wMjUzODUxNDEzNzI2ODA3XSwgWzE2NjM5MjUxMjUuMDg5MDI4NiwgOTI2MSwgMS4wODgxOTAwNzg3MzUzNTE2XSwgWzE2NjM5MjUxMjUuMTk1MjAzLCA5MjcwLCAxLjEzMDI1MTY0NjA0MTg3MDFdLCBbMTY2MzkyNTEyNS42Mjg1ODQ2LCA5Mjg4LCAxLjE4OTU0NzUzODc1NzMyNDJdLCBbMTY2MzkyNTEyNi4wOTk0NjE4LCA5MzI0LCAxLjE1NjkyMjQ1OTYwMjM1Nl0sIFsxNjYzOTI1MTI2LjIxMzA1MTMsIDkzMzMsIDAuOTIzMTMxMjg3MDk3OTMwOV0sIFsxNjYzOTI1MTI2LjMyNjY3NTQsIDkzNDIsIDAuOTkyNjEwODEyMTg3MTk0OF0sIFsxNjYzOTI1MTI2LjQyNjkwMTMsIDkzNTEsIDAuOTM5Mzk1MzY4MDk5MjEyNl0sIFsxNjYzOTI1MTI2LjUzNjkxMjIsIDkzNjAsIDEuMDgzNTE2ODM2MTY2MzgxOF0sIFsxNjYzOTI1MTI2Ljk4OTgzMjYsIDkzOTYsIDEuMDM1MDYxMDAxNzc3NjQ5XSwgWzE2NjM5MjUxMjcuMTkxMTY2LCA5NDE0LCAwLjk3MzQxMTczODg3MjUyODFdLCBbMTY2MzkyNTEyNy4yODkxODc0LCA5NDIzLCAxLjEzNzA0NjMzNzEyNzY4NTVdLCBbMTY2MzkyNTEyNy40OTAyNTAzLCA5NDQxLCAxLjAxMzg1NjY0OTM5ODgwMzddLCBbMTY2MzkyNTEyNy41ODY5MjQ2LCA5NDUwLCAwLjk5NzAwNTE2NDYyMzI2MDVdLCBbMTY2MzkyNTEyNy42Nzc5MzgsIDk0NTksIDAuOTc3MjQ5OTIwMzY4MTk0Nl0sIFsxNjYzOTI1MTI3Ljg5NTMxOTIsIDk0NzcsIDEuMDYxNTczNTA1NDAxNjExM10sIFsxNjYzOTI1MTI3Ljk5NzUwNzYsIDk0ODYsIDEuMDgxNzg3MzQ3NzkzNTc5XSwgWzE2NjM5MjUxMjguMDkxNTAxMiwgOTQ5NSwgMC45OTU2NjgxNzI4MzYzMDM3XSwgWzE2NjM5MjUxMjguMjg0ODE1MywgOTUxMywgMS4yODMyNjMzMjU2OTEyMjMxXSwgWzE2NjM5MjUxMjguNDg2MjM5LCA5NTMxLCAwLjk3NzA3MTE2NjAzODUxMzJdLCBbMTY2MzkyNTEyOC41ODM3NywgOTU0MCwgMC44OTg1NzQ3MDk4OTIyNzNdLCBbMTY2MzkyNTEyOC42ODg4OTcxLCA5NTQ5LCAxLjE5NDI3NTQ5ODM5MDE5NzhdLCBbMTY2MzkyNTEyOC44OTQ3MzMsIDk1NjcsIDEuMTk3NDkxNDA3Mzk0NDA5Ml0sIFsxNjYzOTI1MTI4Ljk4ODI1MSwgOTU3NiwgMS4xNDg1MjA4MjcyOTMzOTZdLCBbMTY2MzkyNTEyOS4xODc0MzEzLCA5NTk0LCAwLjk0OTY4NzA2MzY5NDAwMDJdLCBbMTY2MzkyNTEyOS4yODUyMjg1LCA5NjAzLCAxLjM0ODc2MDAwODgxMTk1MDddLCBbMTY2MzkyNTEyOS4zODc2MTcsIDk2MTIsIDAuOTAxNzcwMTE0ODk4NjgxNl0sIFsxNjYzOTI1MTI5LjQ4MjA5MDIsIDk2MjEsIDEuMDc3MzY4NzM2MjY3MDg5OF0sIFsxNjYzOTI1MTI5LjU4ODEwOTMsIDk2MzAsIDAuOTkzMDMzODI2MzUxMTY1OF0sIFsxNjYzOTI1MTI5LjY4ODUzNzEsIDk2MzksIDEuMDE1NjkwNDQ1ODk5OTYzNF0sIFsxNjYzOTI1MTI5Ljc4NDIzNTUsIDk2NDgsIDEuMDIzODE5OTIzNDAwODc5XSwgWzE2NjM5MjUxMjkuODg1NTM5MywgOTY1NywgMC45NjQzNTQ1NzQ2ODAzMjg0XSwgWzE2NjM5MjUxMjkuOTczNTUzLCA5NjY2LCAxLjE1NjMyNDE0ODE3ODEwMDZdLCBbMTY2MzkyNTEzMC4wODc5NTU1LCA5Njc1LCAxLjE1MjM4MTUzOTM0NDc4NzZdLCBbMTY2MzkyNTEzMC4zODgyNywgOTcwMiwgMC45MTY2NTcxNDk3OTE3MTc1XSwgWzE2NjM5MjUxMzAuNDgxNjE5MSwgOTcxMSwgMC45ODMyNDk0MjU4ODgwNjE1XSwgWzE2NjM5MjUxMzAuNjg3MTQ2NCwgOTcyOSwgMS4xMDUyMzU2OTU4Mzg5MjgyXSwgWzE2NjM5MjUxMzAuNzkyOTg1MiwgOTczOCwgMS4xMjk4Njk5Mzc4OTY3Mjg1XSwgWzE2NjM5MjUxMzAuODk1Njg5LCA5NzQ3LCAwLjk2MjQ5ODEyODQxNDE1NF0sIFsxNjYzOTI1MTMxLjAxODg1ODIsIDk3NTYsIDEuMDM3MzE4NzA2NTEyNDUxMl0sIFsxNjYzOTI1MTMxLjIzNDc0NDgsIDk3NzQsIDEuMTEyMjkzNjAxMDM2MDcxOF0sIFsxNjYzOTI1MTMxLjMzMzg1MywgOTc4MywgMS4xMzA4Mzg3NTE3OTI5MDc3XSwgWzE2NjM5MjUxMzEuNDMxMTEyMywgOTc5MiwgMS4wMTcxNDQ2ODAwMjMxOTM0XSwgWzE2NjM5MjUxMzEuNTI0NjUyLCA5ODAxLCAwLjkyMTg1ODY2ODMyNzMzMTVdLCBbMTY2MzkyNTEzMS44MTIzMjcxLCA5ODI4LCAwLjg1MzQwOTQ2OTEyNzY1NV0sIFsxNjYzOTI1MTMxLjkxMDI0NTQsIDk4MzcsIDAuOTIyNDU2MDI2MDc3MjcwNV0sIFsxNjYzOTI1MTMyLjAwNDAyNDcsIDk4NDYsIDAuOTY4ODE5NDM5NDExMTYzM10sIFsxNjYzOTI1MTMyLjUxMTkyNiwgOTg5MSwgMS4xNTQzNzA5MDM5Njg4MTFdLCBbMTY2MzkyNTEzMi43MDA0MjUxLCA5OTA5LCAwLjg2MTYyNTAxNTczNTYyNjJdLCBbMTY2MzkyNTEzMi45MDEwNTM3LCA5OTI3LCAxLjAzNDExMjIxNTA0MjExNDNdLCBbMTY2MzkyNTEzMy4wMDA1ODgsIDk5MzYsIDAuOTgwMzA5Nzg0NDEyMzg0XSwgWzE2NjM5MjUxMzMuMDk5MTk4OCwgOTk0NSwgMS40MjEyNDc2MDE1MDkwOTQyXSwgWzE2NjM5MjUxMzMuMjkzNTIxLCA5OTYzLCAxLjAxOTEyNzQ4ODEzNjI5MTVdLCBbMTY2MzkyNTEzMy40MDk5MDMzLCA5OTcyLCAwLjk1OTc4MjcxOTYxMjEyMTZdLCBbMTY2MzkyNTEzMy41MDgxNTYsIDk5ODEsIDAuOTI4Njc4OTg5NDEwNDAwNF0sIFsxNjYzOTI1MTMzLjYwNjQ1OTksIDk5OTAsIDEuMTAxNjU2MDc5MjkyMjk3NF0sIFsxNjYzOTI1MTMzLjcwNDU3NjUsIDk5OTksIDEuMTI3ODk4MzM1NDU2ODQ4MV0sIFsxNjYzOTI1MTMzLjgwMTAxNDIsIDEwMDA4LCAxLjA3NTYyNjEzNDg3MjQzNjVdLCBbMTY2MzkyNTEzMy44OTk1OTc0LCAxMDAxNywgMS4xNzk1NjM1MjIzMzg4NjcyXSwgWzE2NjM5MjUxMzMuOTk4MDU4OCwgMTAwMjYsIDEuMTM2MjgxODQ3OTUzNzk2NF0sIFsxNjYzOTI1MTM0LjA5NjYxNjcsIDEwMDM1LCAxLjEzNTc2ODI5NDMzNDQxMTZdLCBbMTY2MzkyNTEzNC4yODIyNzM1LCAxMDA1MywgMS4wNzQ5NTQ5ODY1NzIyNjU2XSwgWzE2NjM5MjUxMzQuNTgxMDg0LCAxMDA2MiwgMS40MDA3Mjc2Mjk2NjE1Nl0sIFsxNjYzOTI1MTM0Ljc5MjczLCAxMDA4MCwgMS4wNDM5NDQxMjA0MDcxMDQ1XSwgWzE2NjM5MjUxMzQuOTE4NTQwNywgMTAwODksIDAuODg2MzA3NzE2MzY5NjI4OV0sIFsxNjYzOTI1MTM1LjAyMDM1NzYsIDEwMDk4LCAxLjAxNjczOTQ4NzY0ODAxMDNdLCBbMTY2MzkyNTEzNS4xMDg3ODU0LCAxMDEwNywgMC45MzQ5ODQ2ODM5OTA0Nzg1XSwgWzE2NjM5MjUxMzUuNDE5NjgyMywgMTAxMzQsIDEuMDE1ODExMjA0OTEwMjc4M10sIFsxNjYzOTI1MTM1LjUxMzM1NTMsIDEwMTQzLCAxLjA3MjcxNTI4MjQ0MDE4NTVdLCBbMTY2MzkyNTEzNS43MTk0NzI2LCAxMDE2MSwgMC45ODEwNTMwNTQzMzI3MzMyXSwgWzE2NjM5MjUxMzUuODEyNTMyNCwgMTAxNzAsIDEuMTQwMDk0OTk1NDk4NjU3Ml0sIFsxNjYzOTI1MTM1LjkxMjE4MzMsIDEwMTc5LCAxLjA3NTAyMTk4MjE5Mjk5MzJdLCBbMTY2MzkyNTEzNi4wMTcxNTAyLCAxMDE4OCwgMC44OTYyMzk5MzYzNTE3NzYxXSwgWzE2NjM5MjUxMzYuMTI4NTU4NiwgMTAxOTcsIDEuMDY2OTAxMjA2OTcwMjE0OF0sIFsxNjYzOTI1MTM2LjIzNzg0MDIsIDEwMjA2LCAwLjk2NTM2ODgwNzMxNTgyNjRdLCBbMTY2MzkyNTEzNi4zMzY0OTY4LCAxMDIxNSwgMS4wNzg2MzE1MjAyNzEzMDEzXSwgWzE2NjM5MjUxMzYuNDM5NjAzOCwgMTAyMjQsIDAuOTYyMzA3OTI5OTkyNjc1OF0sIFsxNjYzOTI1MTM2LjUzODQ5NTgsIDEwMjMzLCAxLjAwODY1ODc2Njc0NjUyMV0sIFsxNjYzOTI1MTM2LjYzMTE3MjcsIDEwMjQyLCAxLjE2Mjk3MjU2OTQ2NTYzNzJdLCBbMTY2MzkyNTEzNi44MjAwMDk1LCAxMDI2MCwgMS4wMTQ0MjY0Njk4MDI4NTY0XSwgWzE2NjM5MjUxMzYuOTE2OTcsIDEwMjY5LCAwLjg3OTY3ODE4OTc1NDQ4NjFdLCBbMTY2MzkyNTEzNy4xMzM2NDUzLCAxMDI4NywgMC45MTc0NzE0MDg4NDM5OTQxXSwgWzE2NjM5MjUxMzcuMjMwNTI2NCwgMTAyOTYsIDEuMDg5Mjk1NTA2NDc3MzU2XSwgWzE2NjM5MjUxMzcuNDI2Mjc2NCwgMTAzMTQsIDEuMDI3Nzc3MTk0OTc2ODA2Nl0sIFsxNjYzOTI1MTM3LjUyMTA3OTMsIDEwMzIzLCAxLjA4ODI4MDQzOTM3NjgzMV0sIFsxNjYzOTI1MTM3LjcxMzczMTgsIDEwMzQxLCAxLjA3ODAxNzU5MjQzMDExNDddLCBbMTY2MzkyNTEzNy44MTM4MTU0LCAxMDM1MCwgMC45NjMzNDg1Njc0ODU4MDkzXSwgWzE2NjM5MjUxMzcuOTExMzM3LCAxMDM1OSwgMC45MTQ5OTM0NjQ5NDY3NDY4XSwgWzE2NjM5MjUxMzguMDEwNzQ2NSwgMTAzNjgsIDAuOTg2NTg1MjU5NDM3NTYxXSwgWzE2NjM5MjUxMzguMTA0NDc0LCAxMDM3NywgMC45NjUyMjEwNDc0MDE0MjgyXSwgWzE2NjM5MjUxMzguMjE5MjA4MiwgMTAzODYsIDAuOTg0MTcwMTM4ODM1OTA3XSwgWzE2NjM5MjUxMzguNDIwMzEyNiwgMTA0MDQsIDEuMDU0ODQ5ODYzMDUyMzY4Ml0sIFsxNjYzOTI1MTM4LjUyMDM2MywgMTA0MTMsIDEuMDIzOTQzMzA1MDE1NTY0XSwgWzE2NjM5MjUxMzguNjI0NTY2OCwgMTA0MjIsIDAuODkzODM0OTQ4NTM5NzMzOV0sIFsxNjYzOTI1MTM4Ljg2MTc3MSwgMTA0NDAsIDEuMDgzNjUwMzUwNTcwNjc4N10sIFsxNjYzOTI1MTM4Ljk3MTgzNzgsIDEwNDQ5LCAxLjE4Mzk4MTY1NzAyODE5ODJdLCBbMTY2MzkyNTEzOS4yMjc4ODcsIDEwNDY3LCAwLjkzNjMyMzI4NTEwMjg0NDJdLCBbMTY2MzkyNTEzOS4zMzI3NTU4LCAxMDQ3NiwgMS4xMDE2ODUxNjYzNTg5NDc4XSwgWzE2NjM5MjUxMzkuNDU0MjE5OCwgMTA0ODUsIDEuMjQ0OTI1MDIyMTI1MjQ0MV0sIFsxNjYzOTI1MTM5LjU2NzE1NywgMTA0OTQsIDAuOTAyNzg2MzE0NDg3NDU3M10sIFsxNjYzOTI1MTM5LjY2OTQ5MzcsIDEwNTAzLCAxLjIxMjc0ODA1MDY4OTY5NzNdLCBbMTY2MzkyNTEzOS43ODU2NDU1LCAxMDUxMiwgMC44OTUzMzUxOTc0NDg3MzA1XSwgWzE2NjM5MjUxMzkuODkxOTIzNCwgMTA1MjEsIDEuMTgxMjk5Njg2NDMxODg0OF0sIFsxNjYzOTI1MTQwLjI4ODY4MiwgMTA1NTcsIDEuMjM4NDk4OTI2MTYyNzE5N10sIFsxNjYzOTI1MTQwLjQwNTI1MiwgMTA1NjYsIDAuOTczNzA4MDkzMTY2MzUxM10sIFsxNjYzOTI1MTQwLjQ5ODY0NDgsIDEwNTc1LCAxLjI1MTM4Mzc4MTQzMzEwNTVdLCBbMTY2MzkyNTE0MC42OTg1MDczLCAxMDU5MywgMS4wMjg4MzczMjMxODg3ODE3XSwgWzE2NjM5MjUxNDAuNzk0Mzg2OSwgMTA2MDIsIDEuMDIwOTE0NzkzMDE0NTI2NF0sIFsxNjYzOTI1MTQwLjkwMjg1NSwgMTA2MTEsIDEuMTU0NDAzNDQ4MTA0ODU4NF0sIFsxNjYzOTI1MTQxLjEwNzMwOTgsIDEwNjI5LCAwLjk0MDIyNzU2ODE0OTU2NjddLCBbMTY2MzkyNTE0MS4yMjIxNTk5LCAxMDYzOCwgMC45NDM3OTg2MDE2MjczNDk5XSwgWzE2NjM5MjUxNDEuMzMwNzY4MywgMTA2NDcsIDAuOTQzODQ1ODY4MTEwNjU2N10sIFsxNjYzOTI1MTQxLjUyNzMyMDQsIDEwNjY1LCAxLjMzODY2NzI3MzUyMTQyMzNdLCBbMTY2MzkyNTE0MS43MjY0MzY2LCAxMDY4MywgMS4xMzg1ODAzMjIyNjU2MjVdLCBbMTY2MzkyNTE0MS45Mzk4ODYsIDEwNzAxLCAxLjAxMjU5NTc3Mjc0MzIyNV0sIFsxNjYzOTI1MTQyLjA4NTgzNDMsIDEwNzEwLCAxLjAyMzM3NjQ2NDg0Mzc1XSwgWzE2NjM5MjUxNDIuMTkzMjgzNiwgMTA3MTksIDAuOTQ2OTIzMDE3NTAxODMxXSwgWzE2NjM5MjUxNDIuMjkxMTMwNSwgMTA3MjgsIDEuMDI5NjAyNDA4NDA5MTE4N10sIFsxNjYzOTI1MTQyLjQ5NzE0NiwgMTA3NDYsIDEuMTAxMTMzMTA4MTM5MDM4XSwgWzE2NjM5MjUxNDIuNTk5NzM3MiwgMTA3NTUsIDEuMjgyMDkxODU2MDAyODA3Nl0sIFsxNjYzOTI1MTQyLjY5NDI5MDksIDEwNzY0LCAxLjI3MDMzMTg1OTU4ODYyM10sIFsxNjYzOTI1MTQyLjc5OTAzNywgMTA3NzMsIDEuMTAxNTAxODIyNDcxNjE4N10sIFsxNjYzOTI1MTQyLjkwMDE3NTgsIDEwNzgyLCAxLjAyNzc1MjE2MTAyNjAwMV0sIFsxNjYzOTI1MTQzLjAwMzI3NjMsIDEwNzkxLCAxLjA0MDcwMTg2NjE0OTkwMjNdLCBbMTY2MzkyNTE0My4zNTI4Njg2LCAxMDgxOCwgMC45ODU1NDA3NDc2NDI1MTcxXSwgWzE2NjM5MjUxNDMuNDYyMzUwMSwgMTA4MjcsIDAuODk1OTk2NTEwOTgyNTEzNF0sIFsxNjYzOTI1MTQzLjk4MDY3OTMsIDEwODU0LCAwLjk5MTQwODA1MDA2MDI3MjJdLCBbMTY2MzkyNTE0NC4wODM4NzIzLCAxMDg2MywgMC45MjI0Mjc1OTQ2NjE3MTI2XSwgWzE2NjM5MjUxNDQuMTg4MTUxLCAxMDg3MiwgMS4xMDAzMDQ3MjI3ODU5NDk3XSwgWzE2NjM5MjUxNDQuMzg5MzgzOCwgMTA4OTAsIDEuMDY3MTc2Njk5NjM4MzY2N10sIFsxNjYzOTI1MTQ0LjQ4NzU0NzksIDEwODk5LCAxLjIwNzIyNjM5NTYwNjk5NDZdLCBbMTY2MzkyNTE0NC43ODE0MzYsIDEwOTI2LCAxLjE5ODkwMTc3MjQ5OTA4NDVdLCBbMTY2MzkyNTE0NC44NzM1MjA5LCAxMDkzNSwgMS4wNDA4MTA4MjM0NDA1NTE4XSwgWzE2NjM5MjUxNDQuOTc1ODQyNywgMTA5NDQsIDEuMDM4OTkwNzM2MDA3NjkwNF0sIFsxNjYzOTI1MTQ1LjE3NDAzOTYsIDEwOTYyLCAxLjAxNDU4Nzg3OTE4MDkwODJdLCBbMTY2MzkyNTE0NS4yODc1MzIsIDEwOTcxLCAxLjA5MDg0MDkzNTcwNzA5MjNdLCBbMTY2MzkyNTE0NS4zODkyNjk2LCAxMDk4MCwgMC44NTc0MzE3NjkzNzEwMzI3XSwgWzE2NjM5MjUxNDUuNDg1MDgyNiwgMTA5ODksIDEuMDY5OTE0Njk4NjAwNzY5XSwgWzE2NjM5MjUxNDUuNTg2MTgwNCwgMTA5OTgsIDAuOTg0MjA1NDg0MzkwMjU4OF0sIFsxNjYzOTI1MTQ1LjY4NDE3NDUsIDExMDA3LCAxLjI5ODYyOTUyMjMyMzYwODRdLCBbMTY2MzkyNTE0NS44MDIxNjg0LCAxMTAxNiwgMC45ODQ0MTU2NTAzNjc3MzY4XSwgWzE2NjM5MjUxNDYuMDIxMTg3NSwgMTEwMzQsIDEuMDA5NTA1MjcxOTExNjIxXSwgWzE2NjM5MjUxNDYuMzM3NzQxNCwgMTEwNjEsIDAuOTgxMTQ3Mjg5Mjc2MTIzXSwgWzE2NjM5MjUxNDYuNDQzMDYxNiwgMTEwNzAsIDEuMjEwNTQwNzcxNDg0Mzc1XSwgWzE2NjM5MjUxNDYuNzYxNzMwNywgMTEwOTcsIDAuOTcwOTI3Mjk4MDY5MDAwMl0sIFsxNjYzOTI1MTQ2Ljg1NzExMTUsIDExMTA2LCAxLjAwMDc1ODQwOTUwMDEyMl0sIFsxNjYzOTI1MTQ2Ljk2NzMxOTMsIDExMTE1LCAxLjA1MzEyNTI2MjI2MDQzN10sIFsxNjYzOTI1MTQ3LjA3OTIzMjcsIDExMTI0LCAwLjk3MTkzODAxNDAzMDQ1NjVdLCBbMTY2MzkyNTE0Ny40MDY2NDUzLCAxMTE1MSwgMS4xNTI4Mjg4MTI1OTkxODIxXSwgWzE2NjM5MjUxNDcuNjE5NjI5NCwgMTExNjksIDAuOTQ5MDY4NDI3MDg1ODc2NV0sIFsxNjYzOTI1MTQ3LjcyOTA3MTQsIDExMTc4LCAxLjA5MTkzODEzODAwODExNzddLCBbMTY2MzkyNTE0Ny44MzYyODIsIDExMTg3LCAwLjk3NTU5ODI3NTY2MTQ2ODVdLCBbMTY2MzkyNTE0Ny45NjQ3NjMsIDExMTk2LCAxLjQxMDI4MzgwMzkzOTgxOTNdLCBbMTY2MzkyNTE0OC4wNjczNjY4LCAxMTIwNSwgMC45Mzg1ODk5OTAxMzkwMDc2XSwgWzE2NjM5MjUxNDguMTU5MTUwMSwgMTEyMTQsIDEuMTkyMjkzMjg2MzIzNTQ3NF0sIFsxNjYzOTI1MTQ4LjI1NDYxMTMsIDExMjIzLCAxLjAzNzI2OTIzNDY1NzI4NzZdLCBbMTY2MzkyNTE0OC4zOTg1NDg0LCAxMTIzMiwgMC45Nzg4NzA0NTE0NTAzNDc5XSwgWzE2NjM5MjUxNDguNTEyNTgwOSwgMTEyNDEsIDEuMjg0MTU3NTE0NTcyMTQzNl0sIFsxNjYzOTI1MTQ4LjYyNTkzNDYsIDExMjUwLCAxLjEwNzgwNjgwMTc5NTk1OTVdLCBbMTY2MzkyNTE0OC43NDEyNjg5LCAxMTI1OSwgMS4wNTYxNTY3NTQ0OTM3MTM0XSwgWzE2NjM5MjUxNDguODQxMzQ1OCwgMTEyNjgsIDEuMDQ1NjU2NTYxODUxNTAxNV0sIFsxNjYzOTI1MTQ4Ljk0ODQ5MjUsIDExMjc3LCAxLjA4NzY2MjY5NjgzODM3OV0sIFsxNjYzOTI1MTQ5LjA1Mzg1NzMsIDExMjg2LCAxLjE5OTQyMjU5Nzg4NTEzMThdLCBbMTY2MzkyNTE0OS4xNDgwNzQ5LCAxMTI5NSwgMC45NzQ2MDEwMzAzNDk3MzE0XSwgWzE2NjM5MjUxNDkuMzU4MDE5LCAxMTMxMywgMC45NTg1MTMyMDAyODMwNTA1XSwgWzE2NjM5MjUxNDkuNDY0MDE0LCAxMTMyMiwgMC45ODIyMTA3NTUzNDgyMDU2XSwgWzE2NjM5MjUxNDkuNzk0MjU5MywgMTEzNDksIDAuOTYyNDM0NzA5MDcyMTEzXSwgWzE2NjM5MjUxNDkuOTAwNDA0NSwgMTEzNTgsIDAuOTU5MzcyNDAxMjM3NDg3OF0sIFsxNjYzOTI1MTUwLjExMzkzMjEsIDExMzc2LCAxLjE5ODQ3MjYxOTA1NjcwMTddLCBbMTY2MzkyNTE1MC4yNDcwNzIyLCAxMTM4NSwgMS4wMDI1NTMyMjQ1NjM1OTg2XSwgWzE2NjM5MjUxNTAuMzUzOTg4MiwgMTEzOTQsIDEuMDEzNzQ0NzExODc1OTE1NV0sIFsxNjYzOTI1MTUwLjQ2OTEwMDcsIDExNDAzLCAxLjE5NzM2Njk1Mjg5NjExODJdLCBbMTY2MzkyNTE1MC41NjU0MzU2LCAxMTQxMiwgMC45MjU3NzA2OTk5Nzc4NzQ4XSwgWzE2NjM5MjUxNTAuNjc0MjczLCAxMTQyMSwgMS4wNTg5NDcwODYzMzQyMjg1XSwgWzE2NjM5MjUxNTEuMDQ4MTk3LCAxMTQ0OCwgMS4xNDQ0NjYyODA5MzcxOTQ4XSwgWzE2NjM5MjUxNTEuMTUxNzgwOCwgMTE0NTcsIDEuMTQ0MzcxMjcxMTMzNDIyOV0sIFsxNjYzOTI1MTUxLjQ3NzUzNDMsIDExNDg0LCAxLjA5MDUyMjUyNzY5NDcwMjFdLCBbMTY2MzkyNTE1MS41ODM0NzgyLCAxMTQ5MywgMS4wOTUwOTE4MTk3NjMxODM2XSwgWzE2NjM5MjUxNTEuNjg1ODMyLCAxMTUwMiwgMS4wNTkxMDMwMTIwODQ5NjFdLCBbMTY2MzkyNTE1MS43ODQyNDU3LCAxMTUxMSwgMS4wODU2ODA5NjE2MDg4ODY3XSwgWzE2NjM5MjUxNTEuODkwMDM4NywgMTE1MjAsIDAuODc2NDA0OTQxMDgyMDAwN10sIFsxNjYzOTI1MTUxLjk4NTkwMywgMTE1MjksIDEuMjg5NTIzOTU5MTU5ODUxXSwgWzE2NjM5MjUxNTIuMTkzNDg3MiwgMTE1NDcsIDAuOTY5NjQyNTc5NTU1NTExNV0sIFsxNjYzOTI1MTUyLjI5NjYzNSwgMTE1NTYsIDAuOTQ3NTEyMDMwNjAxNTAxNV0sIFsxNjYzOTI1MTUyLjQ4NzA1MTcsIDExNTc0LCAxLjAxNDAwMTcyNzEwNDE4N10sIFsxNjYzOTI1MTUyLjU4ODEwNCwgMTE1ODMsIDEuMDU3NTQxMDEyNzYzOTc3XSwgWzE2NjM5MjUxNTIuNzg3Njk3LCAxMTYwMSwgMS4xNTAzMjEwMDY3NzQ5MDIzXSwgWzE2NjM5MjUxNTMuMTc1NzI4NiwgMTE2MTksIDEuMTI4Mjc4NzMyMjk5ODA0N10sIFsxNjYzOTI1MTUzLjI4MTkyMSwgMTE2MjgsIDEuMzI4NjA0MjIxMzQzOTk0MV0sIFsxNjYzOTI1MTUzLjM4NTA3OTksIDExNjM3LCAxLjAxNTM1MzIwMjgxOTgyNDJdLCBbMTY2MzkyNTE1My40ODc1ODQsIDExNjQ2LCAwLjk1ODU0ODI0NzgxNDE3ODVdLCBbMTY2MzkyNTE1My42NzU1NzkzLCAxMTY2NCwgMS4wNTE5ODI0MDI4MDE1MTM3XSwgWzE2NjM5MjUxNTMuNzY4MTUyNywgMTE2NzMsIDAuODYzODA5MTA4NzM0MTMwOV0sIFsxNjYzOTI1MTUzLjk3NTM1MzIsIDExNjkxLCAwLjkxNjc4Njc4OTg5NDEwNF0sIFsxNjYzOTI1MTU0LjA3NjIzMTcsIDExNzAwLCAwLjk3OTQ3NTE0MDU3MTU5NDJdLCBbMTY2MzkyNTE1NC4xODc4MzY0LCAxMTcwOSwgMS4yMDk5Mjc2NzgxMDgyMTUzXSwgWzE2NjM5MjUxNTQuMjgxNjgsIDExNzE4LCAwLjg2OTU5MjEzMDE4NDE3MzZdLCBbMTY2MzkyNTE1NC4zOTAzNTY4LCAxMTcyNywgMS4yNzAyMTQzMTkyMjkxMjZdLCBbMTY2MzkyNTE1NC41ODIzMjMzLCAxMTc0NSwgMS4xMzcwODEyNjU0NDk1MjRdLCBbMTY2MzkyNTE1NC42ODMwODYsIDExNzU0LCAwLjg3NTk0NDM3NTk5MTgyMTNdLCBbMTY2MzkyNTE1NC43NzMyNzIzLCAxMTc2MywgMC44OTUzMzIyNzY4MjExMzY1XSwgWzE2NjM5MjUxNTQuODY3MzEwNSwgMTE3NzIsIDEuMDY1MDM1NTgxNTg4NzQ1MV0sIFsxNjYzOTI1MTU1LjA3MzA2OTYsIDExNzkwLCAwLjkxMjg4NDcxMjIxOTIzODNdLCBbMTY2MzkyNTE1NS4xNjkwNjU1LCAxMTc5OSwgMC45MTk0OTM0OTY0MTc5OTkzXSwgWzE2NjM5MjUxNTUuMjcyMjY0LCAxMTgwOCwgMS4xODcxNjQwNjgyMjIwNDZdLCBbMTY2MzkyNTE1NS4zNjA3NTk1LCAxMTgxNywgMC45NTUyOTYyNzc5OTk4Nzc5XSwgWzE2NjM5MjUxNTUuNDU1NjQ4NywgMTE4MjYsIDAuOTMzNTU0NDcwNTM5MDkzXSwgWzE2NjM5MjUxNTUuNTUyNTM3NywgMTE4MzUsIDEuMTI2ODE3NzAzMjQ3MDcwM10sIFsxNjYzOTI1MTU1LjY1MjEwNDEsIDExODQ0LCAxLjAwNjI1MjA1MDM5OTc4MDNdLCBbMTY2MzkyNTE1NS45MjU5MzU1LCAxMTg3MSwgMC44NzUzMDcyMDIzMzkxNzI0XSwgWzE2NjM5MjUxNTYuMDI0MDM5NywgMTE4ODAsIDAuOTcxMDk0MTkxMDc0MzcxM10sIFsxNjYzOTI1MTU2LjEzMDI5MywgMTE4ODksIDAuODk0MzQ3MzEwMDY2MjIzMV0sIFsxNjYzOTI1MTU2LjIzMzkxNzIsIDExODk4LCAwLjkzNTcyOTAyNjc5NDQzMzZdLCBbMTY2MzkyNTE1Ni4zMjk0MDI0LCAxMTkwNywgMS4wMzc5MDU1NzM4NDQ5MDk3XSwgWzE2NjM5MjUxNTYuNDI2MjcxNywgMTE5MTYsIDAuOTY3MjU3NTU5Mjk5NDY5XSwgWzE2NjM5MjUxNTYuNTIxODM4NCwgMTE5MjUsIDEuMDE1MjUyNDcwOTcwMTUzOF0sIFsxNjYzOTI1MTU2LjYxMDgwODEsIDExOTM0LCAxLjExNzk5MDM3NDU2NTEyNDVdLCBbMTY2MzkyNTE1Ni43MzczMzE0LCAxMTk0MywgMS4wNDc0Mjg3MjcxNDk5NjM0XSwgWzE2NjM5MjUxNTYuODUwMTI4NywgMTE5NTIsIDAuOTcxNTcwNjExMDAwMDYxXSwgWzE2NjM5MjUxNTYuOTU3MjkxNiwgMTE5NjEsIDAuOTg2MzQ4MzMwOTc0NTc4OV0sIFsxNjYzOTI1MTU3LjA1OTIxMDgsIDExOTcwLCAxLjAyMTk3Nzc4MjI0OTQ1MDddLCBbMTY2MzkyNTE1Ny4xNzUzMTEsIDExOTc5LCAwLjg2MjgxOTE5NDc5MzcwMTJdLCBbMTY2MzkyNTE1Ny41MjE4MDAzLCAxMjAwNiwgMS4wODYyNzkxNTM4MjM4NTI1XSwgWzE2NjM5MjUxNTcuNjIyNzQ4LCAxMjAxNSwgMC45NTQ5MDE1NzYwNDIxNzUzXSwgWzE2NjM5MjUxNTcuNzIwMzgwOCwgMTIwMjQsIDEuNDg2MjIyMzg2MzYwMTY4NV0sIFsxNjYzOTI1MTU4LjAxNzg4NzYsIDEyMDUxLCAwLjk3NDE4MzM4MDYwMzc5MDNdLCBbMTY2MzkyNTE1OC4zMTA2NzA5LCAxMjA3OCwgMS4wNzY2MzAzNTM5Mjc2MTIzXSwgWzE2NjM5MjUxNTguNDExOTk5MiwgMTIwODcsIDEuMDQ3OTgwMDcwMTE0MTM1N10sIFsxNjYzOTI1MTU4LjU5MTMyNjUsIDEyMTA1LCAxLjA1MzA5NzQ4NjQ5NTk3MTddLCBbMTY2MzkyNTE1OC42OTIxNjIzLCAxMjExNCwgMS4wMzQxMjQ5NzA0MzYwOTYyXSwgWzE2NjM5MjUxNTguOTMzNDAzMywgMTIxMzIsIDEuMDU3NDkyNDk0NTgzMTI5OV0sIFsxNjYzOTI1MTU5LjAzODMzMTUsIDEyMTQxLCAxLjM5NTQ0Mjk2MjY0NjQ4NDRdLCBbMTY2MzkyNTE1OS4xNDYxNzUxLCAxMjE1MCwgMS4zODMxNjczODYwNTQ5OTI3XSwgWzE2NjM5MjUxNTkuMzUzMzg2LCAxMjE2OCwgMS4wNTY1NDI1MTU3NTQ2OTk3XSwgWzE2NjM5MjUxNTkuNDU3MDQ0LCAxMjE3NywgMS4wNzgwMjA0NTM0NTMwNjRdLCBbMTY2MzkyNTE1OS41NTczNzYxLCAxMjE4NiwgMS4zNTE3NDM2OTgxMjAxMTcyXSwgWzE2NjM5MjUxNTkuNjcxODQxOSwgMTIxOTUsIDEuMTk1NjI4NzYyMjQ1MTc4Ml0sIFsxNjYzOTI1MTU5Ljc4MDM5MjQsIDEyMjA0LCAxLjEyOTcyODY3NDg4ODYxMDhdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_08-40-24_54c5144e9b50&tag=Loss%2Fvalid":{"data":"W1sxNjYzOTIyNDI0LjUxNDc1MTIsIDM2LCAzMS43NzAyMDY0NTE0MTYwMTZdLCBbMTY2MzkyMjQyNC42MzI5NzAzLCA0NSwgMjIuOTQ0MzY4MzYyNDI2NzU4XSwgWzE2NjM5MjI0MjUuMzUxMTE2LCA5OSwgNS45MTYyNjY0NDEzNDUyMTVdLCBbMTY2MzkyMjQyNS44MzAwNDY3LCAxMzUsIDUuOTE0NDEwNTkxMTI1NDg4XSwgWzE2NjM5MjI0MjUuOTM5MzY3OCwgMTQ0LCA3LjIyODk5NjI3Njg1NTQ2OV0sIFsxNjYzOTIyNDI2LjMyMTc3NiwgMTcxLCA1LjE4NDQ2NzMxNTY3MzgyOF0sIFsxNjYzOTIyNDI2LjQyMzU0OTIsIDE4MCwgNS4xMDM5OTM0MTU4MzI1MTk1XSwgWzE2NjM5MjI0MjYuNTE1OTk0NSwgMTg5LCA0LjY3MTI2MjI2NDI1MTcwOV0sIFsxNjYzOTIyNDI2LjY5NzcyMDUsIDIwNywgNC41OTA2MjY3MTY2MTM3Njk1XSwgWzE2NjM5MjI0MjYuNzgyNzI4LCAyMTYsIDUuMzU3MzkyNzg3OTMzMzVdLCBbMTY2MzkyMjQyNy4wNjM4Mzg1LCAyNDMsIDQuOTU5NjUwNTE2NTEwMDFdLCBbMTY2MzkyMjQyNy4xNTQ3MDM2LCAyNTIsIDQuODQ2MTc3MTAxMTM1MjU0XSwgWzE2NjM5MjI0MjguMjYzOTE0OCwgMzUxLCA0LjE0NTY2OTkzNzEzMzc4OV0sIFsxNjYzOTIyNDI4LjQ2OTkwODcsIDM2OSwgMy4yODk1NDE3MjEzNDM5OTRdLCBbMTY2MzkyMjQyOS4yODMwMjIsIDQzMiwgMy4yMjI1OTUyMTQ4NDM3NV0sIFsxNjYzOTIyNDI5LjM5ODIwNCwgNDQxLCAzLjg2MTg1NDc5MTY0MTIzNTRdLCBbMTY2MzkyMjQyOS41MTU3NjE5LCA0NTAsIDMuMzc5OTUyNDMwNzI1MDk3N10sIFsxNjYzOTIyNDI5Ljc1NzYwOSwgNDY4LCAzLjYxMzIwMzI4NzEyNDYzNF0sIFsxNjYzOTIyNDMwLjA4MDExMzYsIDQ5NSwgMi45OTM2Mjg5Nzg3MjkyNDhdLCBbMTY2MzkyMjQzMC40MjAzMzcsIDUyMiwgMi44NTcxOTg3MTUyMDk5NjFdLCBbMTY2MzkyMjQzMC43NTE5MTQ1LCA1NDksIDMuMjc0MTU2NTcwNDM0NTcwM10sIFsxNjYzOTIyNDMwLjg1NjI3MTUsIDU1OCwgMy4zNjI3NTUwNjAxOTU5MjNdLCBbMTY2MzkyMjQzMC45NjMwMjA2LCA1NjcsIDMuMjUyNTkzOTk0MTQwNjI1XSwgWzE2NjM5MjI0MzEuMDc3NjU0NiwgNTc2LCAzLjU4MDY5NDY3NTQ0NTU1NjZdLCBbMTY2MzkyMjQzMS4yOTM1MTQ1LCA1OTQsIDMuNDc1ODAyMTgzMTUxMjQ1XSwgWzE2NjM5MjI0MzEuNDEzMzAzMSwgNjAzLCAyLjU4ODc2MzcxMzgzNjY3XSwgWzE2NjM5MjI0MzEuNTI3MTk3NiwgNjEyLCAzLjE1MTEyMjA5MzIwMDY4MzZdLCBbMTY2MzkyMjQzMS42MTQxNTg0LCA2MjEsIDQuMDkzMTg1NDI0ODA0Njg3NV0sIFsxNjYzOTIyNDMxLjgxNjM5OSwgNjM5LCAzLjA1NTE1MjY1NDY0NzgyN10sIFsxNjYzOTIyNDMxLjkyMTk2OSwgNjQ4LCAyLjkxMjY5OTkzNzgyMDQzNDZdLCBbMTY2MzkyMjQzMi43MTM1NjIsIDcwMiwgMy4xNzcxMTc4MjQ1NTQ0NDM0XSwgWzE2NjM5MjI0MzIuOTQxOTgyLCA3MjAsIDIuNjk0MjUwMzQ1MjMwMTAyNV0sIFsxNjYzOTIyNDMzLjI4MTQwNjksIDc0NywgMi43MjA2NTMyOTU1MTY5Njc4XSwgWzE2NjM5MjI0MzMuNTk1MjY5NCwgNzc0LCAyLjg2Njc5ODYzOTI5NzQ4NTRdLCBbMTY2MzkyMjQzNC4wMTU4ODE4LCA4MTAsIDIuMTY0NDg3ODM4NzQ1MTE3XSwgWzE2NjM5MjI0MzQuOTg4NTQ2LCA5MDAsIDIuNjc4Mjc3NDkyNTIzMTkzNF0sIFsxNjYzOTIyNDM1LjQxODI0NSwgOTM2LCAyLjA1NTkwNTgxODkzOTIwOV0sIFsxNjYzOTIyNDM1Ljc3MzYzNjgsIDk2MywgMi4yOTU4NTk4MTM2OTAxODU1XSwgWzE2NjM5MjI0MzUuOTM5NTg5MywgOTcyLCAxLjk1NTY2NDg3MzEyMzE2OV0sIFsxNjYzOTIyNDM2LjIyNDk4ODcsIDk5MCwgMi4xMTE0NzU3MDYxMDA0NjRdLCBbMTY2MzkyMjQzNy41NjY2NjAyLCAxMDUzLCAyLjIxNzE4MDk2NzMzMDkzMjZdLCBbMTY2MzkyMjQzOC42Njc0MTE4LCAxMDk4LCAyLjI5OTA2NTgyODMyMzM2NDNdLCBbMTY2MzkyMjQzOS40OTQzMTMyLCAxMTM0LCAyLjAxNTEyMjY1MjA1MzgzM10sIFsxNjYzOTIyNDM5LjY5MzI2MSwgMTE0MywgMi4yOTYwMDYyMDI2OTc3NTRdLCBbMTY2MzkyMjQ0MC4xMDAwNjgsIDExNjEsIDIuMzU2MjY2OTc1NDAyODMyXSwgWzE2NjM5MjI0NDAuNTEwMzIzMywgMTE3OSwgMS45OTkyMjIyNzg1OTQ5NzA3XSwgWzE2NjM5MjI0NDAuNzIxNjA0MywgMTE4OCwgMi4yMDQzMDgwMzI5ODk1MDJdLCBbMTY2MzkyMjQ0MS43NDIyMTQsIDEyMzMsIDIuMTQyMTg3NTk1MzY3NDMxNl0sIFsxNjYzOTIyNDQxLjg0ODM2OTgsIDEyNDIsIDIuMDc1NTg3MDM0MjI1NDY0XSwgWzE2NjM5MjI0NDIuNTEyMjIyMywgMTMwNSwgMi4wNTQ5NDQwMzgzOTExMTMzXSwgWzE2NjM5MjI0NDIuNjk4OTQxNSwgMTMyMywgMS42NzI1NDIyMTQzOTM2MTU3XSwgWzE2NjM5MjI0NDIuNzkzMTQ5NywgMTMzMiwgMS43Njg2ODYxNzUzNDYzNzQ1XSwgWzE2NjM5MjI0NDMuMDk5MjEzNCwgMTM1OSwgMi4yMTAxNDAyMjgyNzE0ODQ0XSwgWzE2NjM5MjI0NDMuNzg2MzIzMywgMTQyMiwgMS45MzA3Njc2NTUzNzI2MTk2XSwgWzE2NjM5MjI0NDQuMDg2ODYzOCwgMTQ0OSwgMS41OTEwODAwNjk1NDE5MzEyXSwgWzE2NjM5MjI0NDQuNDc3MDE3OSwgMTQ2NywgMS42NDQ4MDY3NDI2NjgxNTE5XSwgWzE2NjM5MjI0NDQuNjYwODIxMiwgMTQ4NSwgMS41NTExMDYwOTUzMTQwMjU5XSwgWzE2NjM5MjI0NDUuMjY5NDA0MiwgMTUzOSwgMS43MTE3ODI0NTU0NDQzMzZdLCBbMTY2MzkyMjQ0NS4zNzU0MjY4LCAxNTQ4LCAxLjc3MTMxODE5NzI1MDM2NjJdLCBbMTY2MzkyMjQ0NS40NzI4OTMsIDE1NTcsIDIuMDY1MTY4NjE5MTU1ODg0XSwgWzE2NjM5MjI0NDUuNzc4MDk0LCAxNTg0LCAxLjc5NTA4NzY5NTEyMTc2NTFdLCBbMTY2MzkyMjQ0NS45NzcyMDYsIDE2MDIsIDEuODk0ODI0MDI4MDE1MTM2N10sIFsxNjYzOTIyNDQ2LjM2OTU0NjQsIDE2MzgsIDEuODc2MTA0NTkzMjc2OTc3NV0sIFsxNjYzOTIyNDQ2LjcyOTAwMTMsIDE2NjUsIDEuNTQ0MDUzNzkyOTUzNDkxMl0sIFsxNjYzOTIyNDQ2Ljg0NjYwNTUsIDE2NzQsIDEuNTkzNDA1MDA4MzE2MDRdLCBbMTY2MzkyMjQ0Ni45NDQ4NjA1LCAxNjgzLCAxLjk2Njg0MzAwODk5NTA1NjJdLCBbMTY2MzkyMjQ0Ny4zNzI5MDk4LCAxNzE5LCAxLjk4ODExMzk5OTM2Njc2MDNdLCBbMTY2MzkyMjQ0Ny40NjkwODU1LCAxNzI4LCAyLjQ2NjY2MTkzMDA4NDIyODVdLCBbMTY2MzkyMjQ0Ny41NjU3MzIsIDE3MzcsIDEuODQ2MjM3NTQwMjQ1MDU2Ml0sIFsxNjYzOTIyNDQ4LjI3NDY0MzQsIDE4MDAsIDEuNTk2OTgzMDc1MTQxOTA2N10sIFsxNjYzOTIyNDQ4LjU2NjgxNDIsIDE4MjcsIDEuNTg1NTQyMzIxMjA1MTM5Ml0sIFsxNjYzOTIyNDQ4LjY1ODQxMTcsIDE4MzYsIDEuOTI2MDQ5OTQ3NzM4NjQ3NV0sIFsxNjYzOTIyNDQ4Ljc2MjAyMzQsIDE4NDUsIDEuNzkwNzc3NjgzMjU4MDU2Nl0sIFsxNjYzOTIyNDQ4Ljg2ODYyNDQsIDE4NTQsIDEuNjUyNzcyMzA3Mzk1OTM1XSwgWzE2NjM5MjI0NDkuMDY0MzA2NywgMTg3MiwgMS41MjU0MzUyMDkyNzQyOTJdLCBbMTY2MzkyMjQ0OS40NzcyNjYsIDE5MDgsIDEuODU3MDY5ODQ5OTY3OTU2NV0sIFsxNjYzOTIyNDQ5LjY2MDIzMywgMTkyNiwgMS42NDA5OTg4NDAzMzIwMzEyXSwgWzE2NjM5MjI0NDkuODYzMTQyNSwgMTk0NCwgMS42Njk0OTA2OTQ5OTk2OTQ4XSwgWzE2NjM5MjI0NTAuMjM3Mjc4LCAxOTgwLCAxLjQxMDg3MDA3NTIyNTgzXSwgWzE2NjM5MjI0NTAuMzQwOTM4MywgMTk4OSwgMS43NDk5Njg3NjcxNjYxMzc3XSwgWzE2NjM5MjI0NTAuNDMyNjg1NiwgMTk5OCwgMS45OTc4NTU2NjMyOTk1NjA1XSwgWzE2NjM5MjI0NTAuNjk4MDQ3NiwgMjAyNSwgMS43NzI3MjU4MjA1NDEzODE4XSwgWzE2NjM5MjI0NTEuMTg0Njg0LCAyMDcwLCAxLjk2NTQyMzk0MTYxMjI0MzddLCBbMTY2MzkyMjQ1Mi4xNjQ3NDEsIDIxNjAsIDEuNjMyMjk0Mjk3MjE4MzIyOF0sIFsxNjYzOTIyNDUyLjM2OTM4NywgMjE3OCwgMS43Nzk3OTY3MTk1NTEwODY0XSwgWzE2NjM5MjI0NTIuNjYxMDg1MSwgMjIwNSwgMS44Mjg1MzIzMzgxNDIzOTVdLCBbMTY2MzkyMjQ1Mi43NjY5ODMzLCAyMjE0LCAxLjU1NjgxODQ4NTI2MDAwOThdLCBbMTY2MzkyMjQ1My4wNTUwOTUsIDIyMjMsIDEuNDg4ODAxMDAyNTAyNDQxNF0sIFsxNjYzOTIyNDUzLjc5MzIxOTgsIDIyOTUsIDEuNTM4NTI4ODAwMDEwNjgxMl0sIFsxNjYzOTIyNDU0LjE1NjMwMzIsIDIzMzEsIDEuOTM4ODM0MTkwMzY4NjUyM10sIFsxNjYzOTIyNDU0LjI0NTk0OCwgMjM0MCwgMi4wNDYyMTk4MjU3NDQ2MjldLCBbMTY2MzkyMjQ1NC4zNDQyMjMsIDIzNDksIDEuNDY0OTYzNjc0NTQ1Mjg4XSwgWzE2NjM5MjI0NTQuNTM5NzI2MywgMjM2NywgMS43NjIxNTYzNjczMDE5NDFdLCBbMTY2MzkyMjQ1NS4zOTY2NDksIDI0NDgsIDEuNjc0ODAxMjMwNDMwNjAzXSwgWzE2NjM5MjI0NTUuNzkxMzU4NSwgMjQ3NSwgMS40MTE4NzUwMDk1MzY3NDMyXSwgWzE2NjM5MjI0NTYuMDE5MzE1NywgMjQ5MywgMS40OTA5NDgwODEwMTY1NDA1XSwgWzE2NjM5MjI0NTYuMjI5OTIxMywgMjUxMSwgMS4zODg3OTQ0MjIxNDk2NTgyXSwgWzE2NjM5MjI0NTYuNDU3MjY2NiwgMjUyOSwgMS40OTg4ODMzNjY1ODQ3Nzc4XSwgWzE2NjM5MjI0NTYuNjQzNjIyNiwgMjU0NywgMS42NjcwMTg2NTE5NjIyODAzXSwgWzE2NjM5MjI0NTYuNzYzNzA3LCAyNTU2LCAxLjYwNzY2NTY1Nzk5NzEzMTNdLCBbMTY2MzkyMjQ1Ni45OTg3MTI4LCAyNTc0LCAxLjY1MDAwNjA1NTgzMTkwOTJdLCBbMTY2MzkyMjQ1Ny4yNzY0ODIzLCAyNjAxLCAxLjYyNTY0NDgwMzA0NzE4MDJdLCBbMTY2MzkyMjQ1Ny40NjE5MzE3LCAyNjE5LCAxLjQ4MDI1MjI2NTkzMDE3NThdLCBbMTY2MzkyMjQ1Ny45NTY0NjUsIDI2NjQsIDEuNzk3MzcyNDYwMzY1Mjk1NF0sIFsxNjYzOTIyNDU4LjA3NDMwMjQsIDI2NzMsIDEuNzg0NjYyMjQ2NzA0MTAxNl0sIFsxNjYzOTIyNDU4LjE3NjQ2NzcsIDI2ODIsIDEuNTE3MTI0NzcyMDcxODM4NF0sIFsxNjYzOTIyNDU4LjI3ODAyNCwgMjY5MSwgMS43MDAyNjM5NzcwNTA3ODEyXSwgWzE2NjM5MjI0NTkuMTA4MTQyOSwgMjc2MywgMS4zODc1NjUzNzQzNzQzODk2XSwgWzE2NjM5MjI0NTkuMjg2MDk1LCAyNzgxLCAxLjM2MzMwNTMzMDI3NjQ4OTNdLCBbMTY2MzkyMjQ1OS43MjkyMTc1LCAyODE3LCAxLjY2MTI5NDQ2MDI5NjYzMDldLCBbMTY2MzkyMjQ2MC4xNTc0ODc0LCAyODUzLCAxLjg4NjIyOTM5NTg2NjM5NF0sIFsxNjYzOTIyNDYwLjM1NzEzMzYsIDI4NzEsIDEuNjQ0Njk1NDAxMTkxNzExNF0sIFsxNjYzOTIyNDYwLjQ2MDgzODYsIDI4ODAsIDEuNTIwNjA2Mzk4NTgyNDU4NV0sIFsxNjYzOTIyNDYwLjc5NDkxNjIsIDI5MDcsIDEuNDAwNzgyNTg1MTQ0MDQzXSwgWzE2NjM5MjI0NjIuNjM4MTM5MiwgMzA0MiwgMS40MTAwNjYzNjYxOTU2Nzg3XSwgWzE2NjM5MjI0NjIuNzMzODExLCAzMDUxLCAxLjQxMzQ2OTkxMDYyMTY0M10sIFsxNjYzOTIyNDYzLjI5ODYwOTUsIDMwOTYsIDEuNjA1MjAxNjAxOTgyMTE2N10sIFsxNjYzOTIyNDYzLjUwNDk4NzUsIDMxMTQsIDEuNDQxNTkwNzg1OTgwMjI0Nl0sIFsxNjYzOTIyNDYzLjU5ODM0LCAzMTIzLCAxLjQ4NDg2MDA2MjU5OTE4MjFdLCBbMTY2MzkyMjQ2NC4wMjIxMTE0LCAzMTU5LCAxLjUzMTQxMTA1MTc1MDE4M10sIFsxNjYzOTIyNDY0LjI2NTA1MTgsIDMxNzcsIDEuNTAwNjYzODc2NTMzNTA4M10sIFsxNjYzOTIyNDY0LjQ5MjcwMDMsIDMxOTUsIDEuNTk1OTc2ODI5NTI4ODA4Nl0sIFsxNjYzOTIyNDY0LjkwMjMxNzgsIDMyMzEsIDEuNTE2Mzg2ODY2NTY5NTE5XSwgWzE2NjM5MjI0NjUuMzAxNjA0MywgMzI2NywgMS40MjE2NTMzODk5MzA3MjVdLCBbMTY2MzkyMjQ2NS40MTE4NjY3LCAzMjc2LCAxLjM1ODU2NjQwMzM4ODk3N10sIFsxNjYzOTIyNDY1LjQ5NjY5NywgMzI4NSwgMS40MDQ4NDQxNjQ4NDgzMjc2XSwgWzE2NjM5MjI0NjUuNTg4NjU4NiwgMzI5NCwgMS41NzM4MDQwMjA4ODE2NTI4XSwgWzE2NjM5MjI0NjUuNjgyMzc2OSwgMzMwMywgMS42ODI5NjMwMTM2NDg5ODY4XSwgWzE2NjM5MjI0NjUuNzg0MTg0MiwgMzMxMiwgMS4zNjcwNDE0Njg2MjAzMDAzXSwgWzE2NjM5MjI0NjYuODM2NDk3MywgMzQwMiwgMS42NzM1ODcyMDMwMjU4MTc5XSwgWzE2NjM5MjI0NjYuOTMxNzUzLCAzNDExLCAxLjU0NDg4OTkyNjkxMDQwMDRdLCBbMTY2MzkyMjQ2Ny43Mzc3MzQsIDM0ODMsIDEuNDg5MDUzMzY4NTY4NDIwNF0sIFsxNjYzOTIyNDY4LjE0ODU1MjcsIDM1MTksIDEuNDI3OTcwNjQ3ODExODg5Nl0sIFsxNjYzOTIyNDY4LjM1NTc4MDYsIDM1MzcsIDEuMzcyOTY0MjYyOTYyMzQxM10sIFsxNjYzOTIyNDY4LjU0NjUyOTMsIDM1NTUsIDEuNDQ0NTIxOTAzOTkxNjk5Ml0sIFsxNjYzOTIyNDY4Ljg5MTI4MTgsIDM1ODIsIDEuMjY2ODM3OTU0NTIxMTc5Ml0sIFsxNjYzOTIyNDY5LjQzNjcwNCwgMzYyNywgMS42MTE1NTk2Mjk0NDAzMDc2XSwgWzE2NjM5MjI0NjkuNjMxNDA0NCwgMzY0NSwgMS4yMzQ3MjAzNDkzMTE4Mjg2XSwgWzE2NjM5MjI0NzAuMTYzNDc1MywgMzY5MCwgMS4yNzMxNjkyNzkwOTg1MTA3XSwgWzE2NjM5MjI0NzAuNjM3MzcxMywgMzcyNiwgMS4xOTU5NTE4MTk0MTk4NjA4XSwgWzE2NjM5MjI0NzAuNzYxNTE1NiwgMzczNSwgMS4zMDA0MjY4NDA3ODIxNjU1XSwgWzE2NjM5MjI0NzAuODc2OTQxNywgMzc0NCwgMS41NjQ1NjYyNTQ2MTU3ODM3XSwgWzE2NjM5MjI0NzEuMTk4Mjg2NSwgMzc3MSwgMS4zNTA0MTMwODQwMzAxNTE0XSwgWzE2NjM5MjI0NzEuNjc5NzMxMSwgMzc5OCwgMS43MDY0MzA5MTIwMTc4MjIzXSwgWzE2NjM5MjI0NzEuNzgxMDEzMywgMzgwNywgMS42NTE0NTE4MjYwOTU1ODFdLCBbMTY2MzkyMjQ3Mi4zMDY4MTcsIDM4MzQsIDEuMzgyMjg1ODMzMzU4NzY0Nl0sIFsxNjYzOTIyNDcyLjU5OTcxNiwgMzg0MywgMS4zMDMzNzIzODMxMTc2NzU4XSwgWzE2NjM5MjI0NzMuMTQzNTkzLCAzODc5LCAxLjM4NzI0OTU4ODk2NjM2OTZdLCBbMTY2MzkyMjQ3NC4zMDQxMDIsIDM5MjQsIDEuMzI0NjI5MDY4Mzc0NjMzOF0sIFsxNjYzOTIyNDc0LjQxOTI1MTcsIDM5MzMsIDEuNDMyNDEyNTA1MTQ5ODQxM10sIFsxNjYzOTIyNDc0LjUxMDU5NTMsIDM5NDIsIDEuNTYxNTMyNDk3NDA2MDA1OV0sIFsxNjYzOTIyNDc1LjA2MjYyNDUsIDM5NjAsIDEuMzYwMjQzMDgyMDQ2NTA4OF0sIFsxNjYzOTIyNDc1LjQzODg1NSwgMzk3OCwgMS41NTM4Mjc1MjQxODUxODA3XSwgWzE2NjM5MjI0NzUuNjMwNjk5LCAzOTk2LCAxLjQ4MTExMjEyMjUzNTcwNTZdLCBbMTY2MzkyMjQ3NS43MTc1ODAzLCA0MDA1LCAxLjI4MDM4MjE1NjM3MjA3MDNdLCBbMTY2MzkyMjQ3NS45MDMyMDgzLCA0MDIzLCAxLjUzNjY2NDI0NzUxMjgxNzRdLCBbMTY2MzkyMjQ3Ni4yODczMzgsIDQwNTksIDEuMTc1OTgyOTUyMTE3OTJdLCBbMTY2MzkyMjQ3Ni40ODc1MjIxLCA0MDc3LCAxLjI0MDk1MzgwMzA2MjQzOV0sIFsxNjYzOTIyNDc2LjU4MzMyNDIsIDQwODYsIDEuMzcyMDMxMzMxMDYyMzE3XSwgWzE2NjM5MjI0NzYuODg4NDA4NywgNDExMywgMS4xNTUyMzQwOTg0MzQ0NDgyXSwgWzE2NjM5MjI0NzcuMjc3NjUxOCwgNDE0OSwgMS4yMDc4NzQ2NTU3MjM1NzE4XSwgWzE2NjM5MjI0NzcuMzY4NDkyOCwgNDE1OCwgMS4zNTcwMjI0MDQ2NzA3MTUzXSwgWzE2NjM5MjI0NzcuNzcxNTczLCA0MTk0LCAxLjQ3Nzc2NTIwMjUyMjI3NzhdLCBbMTY2MzkyMjQ3Ny44NzAyODIyLCA0MjAzLCAxLjQyNDg1NDg3NDYxMDkwMDldLCBbMTY2MzkyMjQ3OC4wNDA5OTg1LCA0MjIxLCAxLjMzMDg5NDM1MTAwNTU1NDJdLCBbMTY2MzkyMjQ3OC4yMzU1MzgsIDQyMzksIDEuNTEwOTY0NTEyODI1MDEyMl0sIFsxNjYzOTIyNDc4LjYwNDYyOCwgNDI3NSwgMS40NTA2NTIwMDMyODgyNjldLCBbMTY2MzkyMjQ3OC42OTI1MjE2LCA0Mjg0LCAxLjI3Njk3MDM4NjUwNTEyN10sIFsxNjYzOTIyNDc4Ljk3MjM2MzIsIDQzMTEsIDEuNTY1Nzc5NTY2NzY0ODMxNV0sIFsxNjYzOTIyNDc5LjE4NTY1NywgNDMyOSwgMS4xMjY5OTIxMDY0Mzc2ODNdLCBbMTY2MzkyMjQ3OS4yOTMzMDA2LCA0MzM4LCAxLjE3MDA5MTg2NzQ0Njg5OTRdLCBbMTY2MzkyMjQ3OS40OTIxNjIyLCA0MzU2LCAxLjE3MjYwMzQ4Nzk2ODQ0NDhdLCBbMTY2MzkyMjQ3OS41ODg0NjE2LCA0MzY1LCAxLjI5MDgwMzA3NDgzNjczMV0sIFsxNjYzOTIyNDc5Ljg4MzA2OTUsIDQzOTIsIDEuMzE5MzY0NTQ3NzI5NDkyMl0sIFsxNjYzOTIyNDc5Ljk4ODIyNTcsIDQ0MDEsIDEuMjY3MzcxNTM1MzAxMjA4NV0sIFsxNjYzOTIyNDgwLjA5NTA5MywgNDQxMCwgMS4wNTI4MTc4MjE1MDI2ODU1XSwgWzE2NjM5MjI0ODAuMzA1NzIxOCwgNDQyOCwgMS40NDgwMTU4MDkwNTkxNDNdLCBbMTY2MzkyMjQ4MC42MTQxOTYsIDQ0NTUsIDEuMjc1MTU1NzgyNjk5NTg1XSwgWzE2NjM5MjI0ODEuMDA1MDY1NywgNDQ5MSwgMS4yODU2Nzg5ODI3MzQ2ODAyXSwgWzE2NjM5MjI0ODEuMzc0OTcwNywgNDUyNywgMS4yNjgzOTgxNjU3MDI4MTk4XSwgWzE2NjM5MjI0ODEuNDcwMjc5NywgNDUzNiwgMS4zMjU3Mjg4OTMyODAwMjkzXSwgWzE2NjM5MjI0ODIuMjQ1NDIwNywgNDU5MCwgMS4yOTE2MDY1NDU0NDgzMDMyXSwgWzE2NjM5MjI0ODIuMzM1OTYyLCA0NTk5LCAxLjI2NjA2NjkwODgzNjM2NDddLCBbMTY2MzkyMjQ4Mi40NTAxODYsIDQ2MDgsIDEuMjQ4MDI3ODAxNTEzNjcxOV0sIFsxNjYzOTIyNDgyLjU1NDQ2MiwgNDYxNywgMS41MDg0ODQ0ODI3NjUxOTc4XSwgWzE2NjM5MjI0ODIuNjQxNzg1NiwgNDYyNiwgMS40MzY1OTM0MTMzNTI5NjYzXSwgWzE2NjM5MjI0ODIuNzQyMTQ2NywgNDYzNSwgMS4yNjYyODg1MTg5MDU2Mzk2XSwgWzE2NjM5MjI0ODMuMDU2MjA3MiwgNDY2MiwgMS40NjIwOTgzNjAwNjE2NDU1XSwgWzE2NjM5MjI0ODMuMTc3MjIzNCwgNDY3MSwgMS4yNzA4MzkwOTUxMTU2NjE2XSwgWzE2NjM5MjI0ODMuMjY1NTg0NSwgNDY4MCwgMS4xNDUyODIxNDkzMTQ4ODA0XSwgWzE2NjM5MjI0ODMuNjQ1OTI1LCA0NzE2LCAxLjMwMDUzNDEyOTE0Mjc2MTJdLCBbMTY2MzkyMjQ4NC42Nzk2MDUyLCA0ODA2LCAxLjIwMDA5NDgxOTA2ODkwODddLCBbMTY2MzkyMjQ4NC43NzIyODkzLCA0ODE1LCAxLjIxNzQ4NDgzMTgwOTk5NzZdLCBbMTY2MzkyMjQ4NC45NTg5NTUsIDQ4MzMsIDEuNzYyNTc5MzIxODYxMjY3XSwgWzE2NjM5MjI0ODUuMDYyNTMsIDQ4NDIsIDEuMzc4MzIzNTU0OTkyNjc1OF0sIFsxNjYzOTIyNDg1LjE3MTkzNDYsIDQ4NTEsIDEuMjcwMjY0ODYzOTY3ODk1NV0sIFsxNjYzOTIyNDg1LjM1ODM3MzksIDQ4NjksIDEuNDQzNjEyOTMzMTU4ODc0NV0sIFsxNjYzOTIyNDg1LjU0OTk1MSwgNDg4NywgMS4yNzA0MjQ3MjM2MjUxODNdLCBbMTY2MzkyMjQ4NS43MzEzMTc1LCA0OTA1LCAxLjExOTM1NTU1OTM0OTA2XSwgWzE2NjM5MjI0ODUuOTA5NTAyNywgNDkyMywgMS40MDMxMzE5NjE4MjI1MDk4XSwgWzE2NjM5MjI0ODYuMDAwMDQ1OCwgNDkzMiwgMS4xOTk5ODkzMTg4NDc2NTYyXSwgWzE2NjM5MjI0ODYuMjkxOTE1NCwgNDk1OSwgMS4yNDg0NTA4NzUyODIyODc2XSwgWzE2NjM5MjI0ODYuNTQzNjQyNSwgNDk3NywgMS4wNzg5Mjg0NzA2MTE1NzIzXSwgWzE2NjM5MjI0ODYuOTE0MTkyLCA1MDA0LCAxLjI0MDUyMzA5OTg5OTI5Ml0sIFsxNjYzOTIyNDg3LjAxMDI5MSwgNTAxMywgMS4yMzc1ODA0MTg1ODY3MzFdLCBbMTY2MzkyMjQ4Ny42MTIxMDczLCA1MDY3LCAxLjI5MTEwMDYyMTIyMzQ0OTddLCBbMTY2MzkyMjQ4Ny42OTkwNjQ3LCA1MDc2LCAxLjI0NDgzMzQ2OTM5MDg2OTFdLCBbMTY2MzkyMjQ4Ny43OTY0NjczLCA1MDg1LCAxLjI4MDg5NzYxNzM0MDA4OF0sIFsxNjYzOTIyNDg4LjE4OTk5MiwgNTEyMSwgMS4wNjEwMzU4NzE1MDU3MzczXSwgWzE2NjM5MjI0ODguNDg2MjIxNiwgNTE0OCwgMS4zNjg3MDMyNDYxMTY2MzgyXSwgWzE2NjM5MjI0ODguNjYzMTYwOCwgNTE2NiwgMS4yNDM2OTgyMzkzMjY0NzddLCBbMTY2MzkyMjQ4OC45NTExNDksIDUxOTMsIDEuMTI4NzI2MDA1NTU0MTk5Ml0sIFsxNjYzOTIyNDg5LjMyNTQ2OCwgNTIyOSwgMS42MTA0NTU2MzIyMDk3Nzc4XSwgWzE2NjM5MjI0ODkuNjk1MjExLCA1MjY1LCAxLjA2NzM2NjI0MjQwODc1MjRdLCBbMTY2MzkyMjQ4OS43OTA3NjYsIDUyNzQsIDEuMzA4ODM5Nzk3OTczNjMyOF0sIFsxNjYzOTIyNDkwLjE3MjUyOTIsIDUzMDEsIDEuMzk4MjkxMTEwOTkyNDMxNl0sIFsxNjYzOTIyNDkwLjM5MjY2NSwgNTMxOSwgMS4zNjE1MTAwMzgzNzU4NTQ1XSwgWzE2NjM5MjI0OTAuNzI1NTYxMSwgNTMyOCwgMS4xOTYwMTU5NTQwMTc2MzkyXSwgWzE2NjM5MjI0OTEuMDI1MTUzLCA1MzU1LCAxLjc1Njc2MTkwODUzMTE4OV0sIFsxNjYzOTIyNDkxLjIxMTA1MzgsIDUzNzMsIDEuMTY4NTg3NDQ2MjEyNzY4Nl0sIFsxNjYzOTIyNDkxLjM5MTczOTgsIDUzOTEsIDEuMDQ1OTAxNTM2OTQxNTI4M10sIFsxNjYzOTIyNDkxLjQ4NDkyOCwgNTQwMCwgMS4wNDQ5NDIyNTk3ODg1MTMyXSwgWzE2NjM5MjI0OTEuODAyMzEzMywgNTQyNywgMS4xODUxMTIzNTcxMzk1ODc0XSwgWzE2NjM5MjI0OTEuOTA1NDM4MiwgNTQzNiwgMS4yNjc1NjU0ODg4MTUzMDc2XSwgWzE2NjM5MjI0OTIuNDQ2MzUxLCA1NDgxLCAxLjU4MDE0NjQzMTkyMjkxMjZdLCBbMTY2MzkyMjQ5Mi45NDQ2MDA2LCA1NTI2LCAxLjI3MDc3NDI0NTI2MjE0Nl0sIFsxNjYzOTIyNDkzLjAzMTM4NzMsIDU1MzUsIDEuMDU0OTU1MTI0ODU1MDQxNV0sIFsxNjYzOTIyNDkzLjIzNjMzMiwgNTU1MywgMS4zMTA1MDE2OTQ2NzkyNjAzXSwgWzE2NjM5MjI0OTMuNjQ4NDI4LCA1NTg5LCAxLjEwMzc3Nzg4NTQzNzAxMTddLCBbMTY2MzkyMjQ5My44MzU4OTU4LCA1NjA3LCAxLjIwODQxMDAyNDY0Mjk0NDNdLCBbMTY2MzkyMjQ5My45MjA1NTkyLCA1NjE2LCAxLjI2NTU2MTQ2MTQ0ODY2OTRdLCBbMTY2MzkyMjQ5NC4yMTI3MDcsIDU2NDMsIDEuMzE0ODEzMDE3ODQ1MTUzOF0sIFsxNjYzOTIyNDk0LjM5OTU2NzYsIDU2NjEsIDEuMzE4MzAyOTg5MDA2MDQyNV0sIFsxNjYzOTIyNDk0LjUyNzQ5MTMsIDU2NzAsIDEuMTY1NDU3MzY3ODk3MDMzN10sIFsxNjYzOTIyNDk0Ljk0NDE0LCA1NzA2LCAxLjU5ODM4OTI2NzkyMTQ0NzhdLCBbMTY2MzkyMjQ5NS4zMTM0MDEsIDU3NDIsIDEuMTc2ODcxNjU3MzcxNTIxXSwgWzE2NjM5MjI0OTUuNTg4OTA0NiwgNTc2OSwgMS4zNjM4MzAyMDg3NzgzODEzXSwgWzE2NjM5MjI0OTUuNjc5Njc2OCwgNTc3OCwgMS40Nzg5NTgyNDkwOTIxMDJdLCBbMTY2MzkyMjQ5NS43NjkzMDUyLCA1Nzg3LCAxLjMxMjM2NjAwODc1ODU0NV0sIFsxNjYzOTIyNDk1Ljg3MzY2NDYsIDU3OTYsIDEuMTk0MDE2NDU2NjA0MDA0XSwgWzE2NjM5MjI0OTUuOTY2MTk2NSwgNTgwNSwgMS4zNjYwMDYzNzQzNTkxMzA5XSwgWzE2NjM5MjI0OTYuNDMzNDA2LCA1ODUwLCAxLjI0NjMxOTUzMjM5NDQwOTJdLCBbMTY2MzkyMjQ5Ni42MTc0MDE2LCA1ODY4LCAxLjMzMzM2MDkxMDQxNTY0OTRdLCBbMTY2MzkyMjQ5Ni43MDI3NjYyLCA1ODc3LCAxLjE5MTA0Njk1MzIwMTI5NF0sIFsxNjYzOTIyNDk2Ljg5NTg3MDIsIDU4OTUsIDEuMDI0NDQ5MjI5MjQwNDE3NV0sIFsxNjYzOTIyNDk2Ljk4NzYyMzIsIDU5MDQsIDEuMzMwMjM4NDYxNDk0NDQ1OF0sIFsxNjYzOTIyNDk3LjI3OTMwOSwgNTkzMSwgMS4yNzQ5MDczNTA1NDAxNjExXSwgWzE2NjM5MjI0OTcuNDk0Mzk3OSwgNTk0OSwgMS4zMjk2NjMxNTc0NjMwNzM3XSwgWzE2NjM5MjI0OTguMTkzNDQ2NiwgNjAxMiwgMS4xMTQ4NDk1Njc0MTMzM10sIFsxNjYzOTIyNDk4LjQ2MDIwODIsIDYwMzksIDEuMTEzODM1MzM0Nzc3ODMyXSwgWzE2NjM5MjI0OTkuMTUzMjcwMiwgNjA4NCwgMS4xODQxMzY4Njc1MjMxOTM0XSwgWzE2NjM5MjI0OTkuMjQxMjE0OCwgNjA5MywgMS4wNTYxMzE3MjA1NDI5MDc3XSwgWzE2NjM5MjI0OTkuNjExNjI5LCA2MTI5LCAxLjM0ODMzNTUwNDUzMTg2MDRdLCBbMTY2MzkyMjQ5OS43ODc1Mzg4LCA2MTQ3LCAxLjM0MDUxOTY2NjY3MTc1M10sIFsxNjYzOTIyNDk5Ljg4NTc4ODcsIDYxNTYsIDEuMjU5ODI0MDM3NTUxODc5OV0sIFsxNjYzOTIyNDk5Ljk3ODA4NjUsIDYxNjUsIDEuMTI3NDkwNjM5Njg2NTg0NV0sIFsxNjYzOTIyNTAwLjI3MzE2MjYsIDYxOTIsIDEuMTg2ODMyNzg1NjA2Mzg0M10sIFsxNjYzOTIyNTAwLjcyOTgwMjYsIDYyMzcsIDEuMzU1NDc0OTQ4ODgzMDU2Nl0sIFsxNjYzOTIyNTAwLjkzMTc0NjUsIDYyNTUsIDEuMjIxNDQ0MTI5OTQzODQ3N10sIFsxNjYzOTIyNTAxLjEyNjU3NjIsIDYyNzMsIDEuMDcyMDg0NDI2ODc5ODgyOF0sIFsxNjYzOTIyNTAxLjIzODU2OTcsIDYyODIsIDEuMTE0Mzk0NDI2MzQ1ODI1Ml0sIFsxNjYzOTIyNTAxLjQzNDI0ODcsIDYzMDAsIDEuMDM2NDU3Nzc3MDIzMzE1NF0sIFsxNjYzOTIyNTAxLjcyODEwOSwgNjMyNywgMS41MjUxMjM1OTYxOTE0MDYyXSwgWzE2NjM5MjI1MDEuODI2MzExOCwgNjMzNiwgMS4wMjYwNzA3MTM5OTY4ODcyXSwgWzE2NjM5MjI1MDIuMDM3NTI1LCA2MzU0LCAxLjQ3NzczNTUxOTQwOTE3OTddLCBbMTY2MzkyMjUwMi41MzU2NDgzLCA2Mzk5LCAxLjEyNzkyMDk4NTIyMTg2MjhdLCBbMTY2MzkyMjUwMi43MTk2MDY5LCA2NDE3LCAxLjM1Mzc4ODczMzQ4MjM2MDhdLCBbMTY2MzkyMjUwMy4wMTkwMTI1LCA2NDQ0LCAxLjY2MjQ2MzMwNzM4MDY3NjNdLCBbMTY2MzkyMjUwMy4yMTAzOTAzLCA2NDYyLCAxLjEwOTkwMjk3Nzk0MzQyMDRdLCBbMTY2MzkyMjUwMy41MjQ1MTE2LCA2NDg5LCAxLjI2MTAyNTY2NzE5MDU1MThdLCBbMTY2MzkyMjUwMy42NTU0NTEsIDY0OTgsIDEuNDk5ODc0MjM0MTk5NTI0XSwgWzE2NjM5MjI1MDMuODY0MDE0LCA2NTE2LCAxLjQxNDMyNzc0MDY2OTI1MDVdLCBbMTY2MzkyMjUwNC4wNjM3MDk1LCA2NTM0LCAxLjAyODc3Njg4NDA3ODk3OTVdLCBbMTY2MzkyMjUwNC4xODY3ODY0LCA2NTQzLCAxLjMwOTU5Nzk2OTA1NTE3NThdLCBbMTY2MzkyMjUwNC4zNzU1OTA4LCA2NTYxLCAxLjQyMzQ3MzM1ODE1NDI5NjldLCBbMTY2MzkyMjUwNC40NjY5NTQsIDY1NzAsIDEuMDY2NzQ3NTQ2MTk1OTgzOV0sIFsxNjYzOTIyNTA0LjY2MzQ3MTcsIDY1ODgsIDEuMTIxMzY1NTQ3MTgwMTc1OF0sIFsxNjYzOTIyNTA0LjgyMDUwMzUsIDY1OTcsIDEuMzExNjM0NTQwNTU3ODYxM10sIFsxNjYzOTIyNTA0LjkxODE0NjYsIDY2MDYsIDEuMTc5ODIyNTY0MTI1MDYxXSwgWzE2NjM5MjI1MDUuNDUwNDY4MywgNjY1MSwgMS40MDQ3NjA1OTkxMzYzNTI1XSwgWzE2NjM5MjI1MDUuODI0Mzg2NiwgNjY4NywgMS4wODA1MjY0NzExMzgwMDA1XSwgWzE2NjM5MjI1MDUuOTk0MTE3MywgNjcwNSwgMS4yMTU4MTE5Njc4NDk3MzE0XSwgWzE2NjM5MjI1MDcuMTQyMjU5NCwgNjgxMywgMS4yOTc5MDE1MTExOTIzMjE4XSwgWzE2NjM5MjI1MDcuMzIzMTI1NiwgNjgzMSwgMS4yNTQyMDIzNjU4NzUyNDQxXSwgWzE2NjM5MjI1MDguMDk1NzgyLCA2ODg1LCAxLjAwMTc1Mjk3MjYwMjg0NDJdLCBbMTY2MzkyMjUwOC4xOTg5Mzk2LCA2ODk0LCAxLjE1NzM0ODg3MTIzMTA3OV0sIFsxNjYzOTIyNTA4LjQ3OTM4NjYsIDY5MjEsIDEuMTAwMTE0MTA3MTMxOTU4XSwgWzE2NjM5MjI1MDguNTY0MTM1OCwgNjkzMCwgMS4wNzYyNTg0MjA5NDQyMTM5XSwgWzE2NjM5MjI1MDguODU5Njk5NywgNjk1NywgMS4yODAxMjY1NzE2NTUyNzM0XSwgWzE2NjM5MjI1MDkuMTU0MjQ5NCwgNjk4NCwgMS4xNzM2MTk4NjYzNzExNTQ4XSwgWzE2NjM5MjI1MDkuMjUwOTgxMywgNjk5MywgMS4wODU1NTkxMjk3MTQ5NjU4XSwgWzE2NjM5MjI1MDkuNDM2NTUyNSwgNzAxMSwgMS4wNTg3MzQ0MTY5NjE2N10sIFsxNjYzOTIyNTA5LjUyNTYyNzQsIDcwMjAsIDEuMTgwNzIzOTA1NTYzMzU0NV0sIFsxNjYzOTIyNTA5LjYxNzc1LCA3MDI5LCAxLjE3MTMzNTMzOTU0NjIwMzZdLCBbMTY2MzkyMjUwOS43NTMzNjQ2LCA3MDM4LCAxLjA2NDE2ODgxMDg0NDQyMTRdLCBbMTY2MzkyMjUwOS44OTI2ODYsIDcwNDcsIDEuMzc2OTEzMTg5ODg4MDAwNV0sIFsxNjYzOTIyNTEwLjQyMjMxNCwgNzEwMSwgMS4yNDI1NDk2NTc4MjE2NTUzXSwgWzE2NjM5MjI1MTAuNjk0Mjg1MiwgNzEyOCwgMS4wOTI5NjIyNjUwMTQ2NDg0XSwgWzE2NjM5MjI1MTEuOTg2NTk2NiwgNzI0NSwgMS4xNzAyMDcwMjM2MjA2MDU1XSwgWzE2NjM5MjI1MTIuMDg0NDEwNCwgNzI1NCwgMS42Mjk0OTQ3ODYyNjI1MTIyXSwgWzE2NjM5MjI1MTIuMjA5NzcxMiwgNzI2MywgMS4wNzkzNzEzMzMxMjIyNTM0XSwgWzE2NjM5MjI1MTIuMzA5NzU0LCA3MjcyLCAxLjM5MzA2OTE0ODA2MzY1OTddLCBbMTY2MzkyMjUxMi41OTIxODIyLCA3Mjk5LCAxLjIwNTI2NzA3MTcyMzkzOF0sIFsxNjYzOTIyNTEzLjM2OTI2NCwgNzM3MSwgMS4yODE4NjYwNzM2MDgzOTg0XSwgWzE2NjM5MjI1MTMuNDY3MjMzMiwgNzM4MCwgMS4xNjkyMDc2OTIxNDYzMDEzXSwgWzE2NjM5MjI1MTQuMzY1MzAwNCwgNzQ1MiwgMS4wNDY1NjgzOTM3MDcyNzU0XSwgWzE2NjM5MjI1MTQuNDU1ODEyNSwgNzQ2MSwgMS4zMjQ3NDAwNTIyMjMyMDU2XSwgWzE2NjM5MjI1MTQuODg3NjQ0NSwgNzQ5NywgMC45OTI4NzE0MDM2OTQxNTI4XSwgWzE2NjM5MjI1MTUuMDAyNDM4NSwgNzUwNiwgMC45ODE3NDY0MzUxNjU0MDUzXSwgWzE2NjM5MjI1MTUuMjEzNjA2NCwgNzUyNCwgMS4wNDY5MjExMzM5OTUwNTYyXSwgWzE2NjM5MjI1MTUuMzA4ODI0MywgNzUzMywgMS4wODM3MDY0OTgxNDYwNTcxXSwgWzE2NjM5MjI1MTUuNjA2MDExLCA3NTYwLCAxLjA0NDUzMjc3NTg3ODkwNjJdLCBbMTY2MzkyMjUxNS43Mzc5Nzc3LCA3NTY5LCAxLjMwNzk0Nzk5MzI3ODUwMzRdLCBbMTY2MzkyMjUxNi4wNjkyMDMsIDc1OTYsIDEuMDczMDgyMjA4NjMzNDIyOV0sIFsxNjYzOTIyNTE2LjI1MDI2OSwgNzYxNCwgMS4yMzA5MDU3NzEyNTU0OTMyXSwgWzE2NjM5MjI1MTYuOTI5NjMyLCA3NjU5LCAxLjI0Mjk4ODgyNDg0NDM2MDRdLCBbMTY2MzkyMjUxNy4wMjM0NjgsIDc2NjgsIDEuMDc3MzcxMDAxMjQzNTkxM10sIFsxNjYzOTIyNTE3LjMwODI3OTgsIDc2OTUsIDEuMzM2NTQxNDE0MjYwODY0M10sIFsxNjYzOTIyNTE3LjU4NzA4OCwgNzcyMiwgMS4wNjYxMjE5MzU4NDQ0MjE0XSwgWzE2NjM5MjI1MTcuOTA5NzUzNiwgNzc0OSwgMS4wMjY4NzQ3ODA2NTQ5MDcyXSwgWzE2NjM5MjI1MTguMTM2NDU5OCwgNzc2NywgMS4xOTQ5MDI0MjAwNDM5NDUzXSwgWzE2NjM5MjI1MTguNDQ3MDg1NiwgNzc5NCwgMS4xMjc2OTczNDg1OTQ2NjU1XSwgWzE2NjM5MjI1MTguNTM5Njg4MywgNzgwMywgMS4wOTI3OTMxMDcwMzI3NzU5XSwgWzE2NjM5MjI1MTguOTIzODg4NywgNzgzOSwgMS4zMjI3MzIyMTAxNTkzMDE4XSwgWzE2NjM5MjI1MTkuMDIwNTgwNSwgNzg0OCwgMS4yMzY0NzQ5OTA4NDQ3MjY2XSwgWzE2NjM5MjI1MjAuMzE5MTU0NSwgNzk2NSwgMS4xNTc4NjQzMzIxOTkwOTY3XSwgWzE2NjM5MjI1MjAuNTI2ODE0NywgNzk4MywgMS4wMDA0MzM2ODMzOTUzODU3XSwgWzE2NjM5MjI1MjAuODkxMDQzNywgODAxOSwgMC45NTQ0MzkwNDM5OTg3MTgzXSwgWzE2NjM5MjI1MjEuMDg5NDUzMiwgODAzNywgMS4xODg1NTczODYzOTgzMTU0XSwgWzE2NjM5MjI1MjEuMzg4MjkzLCA4MDY0LCAxLjA2NTM5NDQwMTU1MDI5M10sIFsxNjYzOTIyNTIxLjU2NTMyMjYsIDgwODIsIDEuMjcxMDYxNTM5NjQ5OTYzNF0sIFsxNjYzOTIyNTIxLjY2MDQyNSwgODA5MSwgMS4wNDE5MDIwNjUyNzcwOTk2XSwgWzE2NjM5MjI1MjEuOTQ4NTYyNCwgODExOCwgMS4wMjk2MTc2NjcxOTgxODEyXSwgWzE2NjM5MjI1MjIuMDM4MzYxOCwgODEyNywgMS4zMDE1NzM5OTE3NzU1MTI3XSwgWzE2NjM5MjI1MjIuNTMwOTI3NywgODE3MiwgMS4zOTkwNjY1Njc0MjA5NTk1XSwgWzE2NjM5MjI1MjIuNjI3ODYwNSwgODE4MSwgMS4wMTYxNTI1MDExMDYyNjIyXSwgWzE2NjM5MjI1MjIuODA1NjgzOSwgODE5OSwgMS4xNzg2NzU0MTMxMzE3MTM5XSwgWzE2NjM5MjI1MjIuOTA3MTIyOSwgODIwOCwgMS4zOTUzMTQ0NTUwMzIzNDg2XSwgWzE2NjM5MjI1MjMuMjYzMDgsIDgyMzUsIDEuNTQwMTg2Mjg1OTcyNTk1Ml0sIFsxNjYzOTIyNTIzLjY0MzIyOTUsIDgyNzEsIDEuNDkxNjE0MjIyNTI2NTUwM10sIFsxNjYzOTIyNTIzLjc2MTIwNTIsIDgyODAsIDEuMDU3ODY5MTk1OTM4MTEwNF0sIFsxNjYzOTIyNTIzLjk1Mjk0NiwgODI5OCwgMS4wMDgzODEyNDc1MjA0NDY4XSwgWzE2NjM5MjI1MjQuNjkwMTczLCA4MzYxLCAxLjU5MTU1NjQyOTg2Mjk3Nl0sIFsxNjYzOTIyNTI1LjA5Nzk4NTMsIDgzNzksIDEuMTAwMDk3Nzc1NDU5Mjg5Nl0sIFsxNjYzOTIyNTI1LjE5MzUzODcsIDgzODgsIDEuMDIyOTEwNDc1NzMwODk2XSwgWzE2NjM5MjI1MjUuMjg1MDY2MSwgODM5NywgMS42NDk3NTczODUyNTM5MDYyXSwgWzE2NjM5MjI1MjUuNjA2NjgwNiwgODQyNCwgMS4zOTg2NzU2ODAxNjA1MjI1XSwgWzE2NjM5MjI1MjUuOTg3NDA0OCwgODQ2MCwgMS4wODg1MDg2MDU5NTcwMzEyXSwgWzE2NjM5MjI1MjYuMTkyODQxLCA4NDc4LCAxLjI2ODQ1OTU1ODQ4NjkzODVdLCBbMTY2MzkyMjUyNi4yODA0MjQsIDg0ODcsIDEuMDk4Njc3NzU0NDAyMTYwNl0sIFsxNjYzOTIyNTI2LjU4MzIxMTcsIDg1MTQsIDEuMTM3MDgyNjk1OTYwOTk4NV0sIFsxNjYzOTIyNTI2Ljk2MjY3ODQsIDg1NTAsIDEuMTc1MTI5ODkwNDQxODk0NV0sIFsxNjYzOTIyNTI3LjI0MTA0OTgsIDg1NzcsIDEuMTI0MTI1OTU3NDg5MDEzN10sIFsxNjYzOTIyNTI3LjU5MDU3MDIsIDg2MDQsIDEuMDcxNTIxNTIwNjE0NjI0XSwgWzE2NjM5MjI1MjguMDg3NDAzLCA4NjQ5LCAwLjk2NTY1NjU3ODU0MDgwMl0sIFsxNjYzOTIyNTI4LjQyODM4OTMsIDg2NzYsIDEuMTQwMzY1NDgxMzc2NjQ4XSwgWzE2NjM5MjI1MjguNjI3MDQ3OCwgODY5NCwgMC45NzQ3ODEzMzQ0MDAxNzddLCBbMTY2MzkyMjUyOC44MTM0NjYzLCA4NzEyLCAxLjI5Mzk2MjI0MDIxOTExNjJdLCBbMTY2MzkyMjUyOC45MDAyNjc2LCA4NzIxLCAxLjA4NTg2MTgwMjEwMTEzNTNdLCBbMTY2MzkyMjUyOS44NTc3NTU0LCA4ODExLCAwLjk4NzM2Njk3NDM1Mzc5MDNdLCBbMTY2MzkyMjUyOS45NzAwNTAzLCA4ODIwLCAxLjA1NDk2MTIwNDUyODgwODZdLCBbMTY2MzkyMjUzMC4yNDY1NzczLCA4ODQ3LCAxLjE1MTg5NjIzODMyNzAyNjRdLCBbMTY2MzkyMjUzMC42MDg4NzUzLCA4ODgzLCAxLjA0MDE4MzMwNTc0MDM1NjRdLCBbMTY2MzkyMjUzMS4wMzg4ODkyLCA4OTE5LCAxLjEzMzc0ODI5MjkyMjk3MzZdLCBbMTY2MzkyMjUzMS4yMzkwOTYsIDg5MzcsIDEuMDMwOTQ0MzQ3MzgxNTkxOF0sIFsxNjYzOTIyNTMxLjQxODk3MjcsIDg5NTUsIDEuMDAxMDUyMzc5NjA4MTU0M10sIFsxNjYzOTIyNTMxLjU5MDE5OCwgODk3MywgMS4xOTQ2MjcwNDY1ODUwODNdLCBbMTY2MzkyMjUzMS43NzIwOTA0LCA4OTkxLCAwLjg5Mjk5OTUyOTgzODU2Ml0sIFsxNjYzOTIyNTMxLjg3MzQwOSwgOTAwMCwgMS4yMjYzOTQ2NTMzMjAzMTI1XSwgWzE2NjM5MjI1MzIuMTc1OTEwMiwgOTAyNywgMS4zMTk0MTc4MzQyODE5MjE0XSwgWzE2NjM5MjI1MzIuMjY0NDk1NCwgOTAzNiwgMS4yNzEwMTY1OTc3NDc4MDI3XSwgWzE2NjM5MjI1MzIuMzUzNTQ0MiwgOTA0NSwgMS4wNzIxNjE1NTUyOTAyMjIyXSwgWzE2NjM5MjI1MzIuNTkyMzM5NSwgOTA2MywgMS4wMDk1NzI3NDQzNjk1MDY4XSwgWzE2NjM5MjI1MzMuMTMxNDg4NiwgOTEwOCwgMS4wNjM4Mjk0MjE5OTcwNzAzXSwgWzE2NjM5MjI1MzMuMzI3OTIyLCA5MTI2LCAxLjIzNTc1MDc5NDQxMDcwNTZdLCBbMTY2MzkyMjUzMy43MTUxNywgOTE0NCwgMS4wMTc0OTY0NjY2MzY2NTc3XSwgWzE2NjM5MjI1MzQuNDcwMzkxLCA5MjA3LCAxLjM5Mzc3OTAzOTM4MjkzNDZdLCBbMTY2MzkyMjUzNC44NTE4OTM0LCA5MjQzLCAxLjAxNTI1NzEyMDEzMjQ0NjNdLCBbMTY2MzkyMjUzNS4wNTI4NDE3LCA5MjYxLCAxLjA1NzM2MTM2NDM2NDYyNF0sIFsxNjYzOTIyNTM1LjE1OTA1OTUsIDkyNzAsIDEuMTI5NTk1OTk0OTQ5MzQwOF0sIFsxNjYzOTIyNTM1LjczNDI0NDgsIDkzMjQsIDEuMjk3MzYxMzczOTAxMzY3Ml0sIFsxNjYzOTIyNTM1LjgzNTg5NDgsIDkzMzMsIDEuMTg4MjczMDcyMjQyNzM2OF0sIFsxNjYzOTIyNTM1LjkyMjU4MiwgOTM0MiwgMS4yNTU5MDM3MjA4NTU3MTNdLCBbMTY2MzkyMjUzNi4wMjg1ODExLCA5MzUxLCAxLjA3MzQ2MTg5MDIyMDY0Ml0sIFsxNjYzOTIyNTM2LjEzNTIzNDYsIDkzNjAsIDEuMDMzMTcxODkyMTY2MTM3N10sIFsxNjYzOTIyNTM2LjQ4NzUyMiwgOTM5NiwgMS4xMDk2OTE4NTgyOTE2MjZdLCBbMTY2MzkyMjUzNi43NTM0OTg4LCA5NDIzLCAxLjEzMzczNjI1Mjc4NDcyOV0sIFsxNjYzOTIyNTM4LjI3NjI4NSwgOTUxMywgMC45MjUwMTE3NTQwMzU5NDk3XSwgWzE2NjM5MjI1MzkuMDE3MTMyMywgOTUzMSwgMS4wODEwNzk0ODMwMzIyMjY2XSwgWzE2NjM5MjI1MzkuMzMwNTk1MywgOTU0MCwgMS40MjM1MzcyNTQzMzM0OTZdLCBbMTY2MzkyMjUzOS40NTA1MDE3LCA5NTQ5LCAxLjUyMjk4ODkxNTQ0MzQyMDRdLCBbMTY2MzkyMjUzOS42Mjg3MTYsIDk1NjcsIDEuMDc4ODM2Njc5NDU4NjE4Ml0sIFsxNjYzOTIyNTQwLjQ1NTQyODgsIDk1OTQsIDEuMjI5ODA4MDkyMTE3MzA5Nl0sIFsxNjYzOTIyNTQwLjY4NTI4NiwgOTYxMiwgMS4yMDI0MTczNzM2NTcyMjY2XSwgWzE2NjM5MjI1NDAuODcyMzc3NCwgOTYzMCwgMS4yMjgxOTEwMTgxMDQ1NTMyXSwgWzE2NjM5MjI1NDAuOTczNzksIDk2MzksIDEuMTgyMzQwMTQ1MTExMDg0XSwgWzE2NjM5MjI1NDEuMDU5NzgsIDk2NDgsIDAuOTYzNTcwNzEzOTk2ODg3Ml0sIFsxNjYzOTIyNTQxLjE3MTU4OTQsIDk2NTcsIDEuMTMwNjk3MzY5NTc1NTAwNV0sIFsxNjYzOTIyNTQxLjMwNjE0MTQsIDk2NjYsIDEuNTEyMDE3MDExNjQyNDU2XSwgWzE2NjM5MjI1NDEuNDE3NzM5OSwgOTY3NSwgMS4wMDEwMTQ4Mjg2ODE5NDU4XSwgWzE2NjM5MjI1NDEuNzA2MzYxLCA5NzAyLCAxLjE3Nzk1NjIyMzQ4Nzg1NF0sIFsxNjYzOTIyNTQxLjk4MDgyLCA5NzI5LCAwLjk4NTc0MzM0MzgzMDEwODZdLCBbMTY2MzkyMjU0Mi4xNzMxODEzLCA5NzQ3LCAxLjIyMjI1NDg3MjMyMjA4MjVdLCBbMTY2MzkyMjU0Mi40ODk1MTMsIDk3NzQsIDEuMjE4NzQ5NjQyMzcyMTMxM10sIFsxNjYzOTIyNTQyLjU2ODc5MjgsIDk3ODMsIDEuMDk3NDE1NTY2NDQ0Mzk3XSwgWzE2NjM5MjI1NDIuNjU1ODc5NSwgOTc5MiwgMC45NjcwMDQ1OTcxODcwNDIyXSwgWzE2NjM5MjI1NDMuMDEyNzk5NSwgOTgyOCwgMS4wNjg3Mjk1MTk4NDQwNTUyXSwgWzE2NjM5MjI1NDMuNjU2ODU1MywgOTg5MSwgMC45OTAxNzUzMDY3OTcwMjc2XSwgWzE2NjM5MjI1NDMuODI5NjIyLCA5OTA5LCAxLjE1MjgxNTkzNzk5NTkxMDZdLCBbMTY2MzkyMjU0NC4yMzE3MDg4LCA5OTI3LCAxLjE3NzU3MDIyMzgwODI4ODZdLCBbMTY2MzkyMjU0NC4zMTM0NTEsIDk5MzYsIDEuMDg1ODIxNzQ3Nzc5ODQ2Ml0sIFsxNjYzOTIyNTQ0LjQwMzY3MDMsIDk5NDUsIDEuMzM2NjU4NTk2OTkyNDkyN10sIFsxNjYzOTIyNTQ0LjY4MjQyNzIsIDk5NzIsIDEuMDM3MDk3ODExNjk4OTEzNl0sIFsxNjYzOTIyNTQ0Ljg3MTMyODYsIDk5OTAsIDEuMDk0NDU4MTAzMTc5OTMxNl0sIFsxNjYzOTIyNTQ1LjA2MjkwNTYsIDEwMDA4LCAxLjEwOTIxMzcwOTgzMTIzNzhdLCBbMTY2MzkyMjU0NS4xNTIzMzE0LCAxMDAxNywgMS4wMDA3OTc5ODY5ODQyNTNdLCBbMTY2MzkyMjU0NS4zNDQ5MDg1LCAxMDAzNSwgMS4xNDUxNzAwOTI1ODI3MDI2XSwgWzE2NjM5MjI1NDUuODIwNzgyMiwgMTAwODAsIDEuMTk5ODI5Njk3NjA4OTQ3OF0sIFsxNjYzOTIyNTQ2LjAwNzAyMzgsIDEwMDk4LCAwLjk1MTEyNTUwMjU4NjM2NDddLCBbMTY2MzkyMjU0Ni4wOTc5Mzg4LCAxMDEwNywgMS4yODIwNDY5MTQxMDA2NDddLCBbMTY2MzkyMjU0Ni4zODA0OTM2LCAxMDEzNCwgMS4xNzg2MzQwNDc1MDgyMzk3XSwgWzE2NjM5MjI1NDYuNDc4MjA2MiwgMTAxNDMsIDEuMDcyNjMwODgyMjYzMTgzNl0sIFsxNjYzOTIyNTQ2LjY1Nzc3ODUsIDEwMTYxLCAxLjUwNTM0NzEzMjY4MjgwMDNdLCBbMTY2MzkyMjU0Ni43NzIxNiwgMTAxNzAsIDEuMDMzMDc0NzM2NTk1MTUzOF0sIFsxNjYzOTIyNTQ3LjA2MTE4ODUsIDEwMTk3LCAxLjIxOTcxNDA0NTUyNDU5NzJdLCBbMTY2MzkyMjU0Ny4yNDEzMDYsIDEwMjE1LCAxLjQxNjY2NTA3NzIwOTQ3MjddLCBbMTY2MzkyMjU0Ny4zNTUwNjA2LCAxMDIyNCwgMS4xNDA4NDEyNDU2NTEyNDUxXSwgWzE2NjM5MjI1NDcuNDc2OTc2MiwgMTAyMzMsIDAuOTU4OTU2MzAxMjEyMzEwOF0sIFsxNjYzOTIyNTQ3Ljc1ODk1OSwgMTAyNjAsIDAuOTYxODk3MDE1NTcxNTk0Ml0sIFsxNjYzOTIyNTQ4LjQwNzYyNTIsIDEwMzIzLCAxLjEwNjk3NTU1NTQxOTkyMTldLCBbMTY2MzkyMjU0OC41OTEyNTQ3LCAxMDM0MSwgMS4xNDU0MjIzMzk0MzkzOTJdLCBbMTY2MzkyMjU0OC43NjIxNzI3LCAxMDM1OSwgMS4zNTgyMTQ0OTc1NjYyMjMxXSwgWzE2NjM5MjI1NDguODY3OTE2MywgMTAzNjgsIDEuMzAwMjE3MjcwODUxMTM1M10sIFsxNjYzOTIyNTQ4Ljk3ODQxNiwgMTAzNzcsIDEuMTQ5OTAxOTg2MTIyMTMxM10sIFsxNjYzOTIyNTQ5Ljc0ODA2OTUsIDEwNDQ5LCAxLjMxNTc4NjAwNDA2NjQ2NzNdLCBbMTY2MzkyMjU0OS45NTk4MTYyLCAxMDQ2NywgMC45NTA5OTExNTM3MTcwNDFdLCBbMTY2MzkyMjU1MC4xNzk5MTkyLCAxMDQ4NSwgMS4yNTkzNzg3OTA4NTU0MDc3XSwgWzE2NjM5MjI1NTAuNDkwNTcyNywgMTA1MTIsIDEuNTMxNzQ2ODY0MzE4ODQ3N10sIFsxNjYzOTIyNTUxLjAzODI2MzMsIDEwNTY2LCAxLjE0NDU3NDQwMzc2MjgxNzRdLCBbMTY2MzkyMjU1MS4xMjM3LCAxMDU3NSwgMS4xNDcwOTExNTAyODM4MTM1XSwgWzE2NjM5MjI1NTEuMzIwNzM3MSwgMTA1OTMsIDEuMjQxMDMxNDA4MzA5OTM2NV0sIFsxNjYzOTIyNTUxLjQxNjczMzMsIDEwNjAyLCAwLjk3MTcyNzcyODg0MzY4OV0sIFsxNjYzOTIyNTUxLjUwNDU4NywgMTA2MTEsIDEuMzczNzUwMDkwNTk5MDZdLCBbMTY2MzkyMjU1MS44ODU2Nzc2LCAxMDY0NywgMS4yMTM3MzczNjg1ODM2NzkyXSwgWzE2NjM5MjI1NTIuMDYzMjE3OSwgMTA2NjUsIDEuMTQxNzQxODcxODMzODAxM10sIFsxNjYzOTIyNTUyLjIzOTY4OTgsIDEwNjgzLCAxLjMyNTg4Mjc5MjQ3MjgzOTRdLCBbMTY2MzkyMjU1Mi42OTMwMzEsIDEwNzEwLCAwLjk5NDM1MTIwODIwOTk5MTVdLCBbMTY2MzkyMjU1Mi43Nzk2MjMzLCAxMDcxOSwgMS4yOTc1Mzg4NzY1MzM1MDgzXSwgWzE2NjM5MjI1NTMuMDkyNTQxLCAxMDc0NiwgMC45ODM1NjgwMTI3MTQzODZdLCBbMTY2MzkyMjU1My4xODYwNDEsIDEwNzU1LCAxLjM4MDA4MTA1NzU0ODUyM10sIFsxNjYzOTIyNTUzLjQ4NDIyOTMsIDEwNzgyLCAxLjE3MTc4MDM0NzgyNDA5NjddLCBbMTY2MzkyMjU1NC4zMDY1NTQzLCAxMDg1NCwgMS4xNzc1NTU2ODAyNzQ5NjM0XSwgWzE2NjM5MjI1NTQuMzk1NzY2NSwgMTA4NjMsIDEuMTcwMDg2MjY0NjEwMjkwNV0sIFsxNjYzOTIyNTU0LjQ4NjQxMjgsIDEwODcyLCAxLjA4NjkwMTkwMzE1MjQ2NThdLCBbMTY2MzkyMjU1NS4xMTYwMDE4LCAxMDkyNiwgMS4xNzcwMDcwNzkxMjQ0NTA3XSwgWzE2NjM5MjI1NTUuMjM1MjE3MywgMTA5MzUsIDAuOTc0MTcyNzcwOTc3MDIwM10sIFsxNjYzOTIyNTU1LjU4Njk5NzMsIDEwOTcxLCAxLjU0NjQ4Njg1NDU1MzIyMjddLCBbMTY2MzkyMjU1Ni4wODMyODYsIDExMDE2LCAxLjAzMzgxNDkwNzA3Mzk3NDZdLCBbMTY2MzkyMjU1Ni4yNzk2NTIsIDExMDM0LCAxLjI5NTQxNDA5MDE1NjU1NTJdLCBbMTY2MzkyMjU1Ni42Mzk4Nzg3LCAxMTA3MCwgMC45NDI1MzMxMzU0MTQxMjM1XSwgWzE2NjM5MjI1NTYuOTU3Mzk4NCwgMTEwOTcsIDEuMTYyNzEwNjY2NjU2NDk0MV0sIFsxNjYzOTIyNTU3LjUxODQsIDExMTUxLCAxLjAyMTkzODgwMDgxMTc2NzZdLCBbMTY2MzkyMjU1Ny43NjIzOTEzLCAxMTE2OSwgMS4xMDM3NDY1MzMzOTM4NTk5XSwgWzE2NjM5MjI1NTguMTM3NzksIDExMjA1LCAxLjIyOTMyODI3NDcyNjg2NzddLCBbMTY2MzkyMjU1OC4zMzc2NzIyLCAxMTIyMywgMS4xODQ1MjU3MjgyMjU3MDhdLCBbMTY2MzkyMjU1OC42Mzk1NjMzLCAxMTI1MCwgMS4wMDU0MzM3OTc4MzYzMDM3XSwgWzE2NjM5MjI1NTguNzI2NjQ4OCwgMTEyNTksIDEuMjMzMjcyNDMzMjgwOTQ0OF0sIFsxNjYzOTIyNTU4LjgxNTgwNjIsIDExMjY4LCAxLjEwMjQ5MDkwMTk0NzAyMTVdLCBbMTY2MzkyMjU1OC45MDg0MDg5LCAxMTI3NywgMS4wNDk0NDg2MDkzNTIxMTE4XSwgWzE2NjM5MjI1NTkuMDk0NTAzNiwgMTEyOTUsIDEuMDI3ODkxMjc4MjY2OTA2N10sIFsxNjYzOTIyNTU5LjI5ODc5NDMsIDExMzEzLCAxLjM0MDQ2OTM2MDM1MTU2MjVdLCBbMTY2MzkyMjU1OS40MDQ1ODY2LCAxMTMyMiwgMC45NzY1NTE4MzA3Njg1ODUyXSwgWzE2NjM5MjI1NTkuNjk2NzM2MywgMTEzNDksIDEuMzM5MTM4OTg0NjgwMTc1OF0sIFsxNjYzOTIyNTU5Ljc5OTAxMDgsIDExMzU4LCAxLjAxMzMxNTU1ODQzMzUzMjddLCBbMTY2MzkyMjU2MC40MzI4NTE4LCAxMTQxMiwgMS4zNjM4NzYzNDI3NzM0Mzc1XSwgWzE2NjM5MjI1NjAuODYxMjg0LCAxMTQ0OCwgMS4wNTI4NDUxMjA0Mjk5OTI3XSwgWzE2NjM5MjI1NjEuNTYwNzA2LCAxMTQ5MywgMC45MjIyMjc4NTk0OTcwNzAzXSwgWzE2NjM5MjI1NjEuNjUwNDAzNywgMTE1MDIsIDEuMDQ2MDI5ODA2MTM3MDg1XSwgWzE2NjM5MjI1NjEuNzUwNjI4LCAxMTUxMSwgMS4wOTY2NzE5Mzg4OTYxNzkyXSwgWzE2NjM5MjI1NjIuMTE3Mzk3LCAxMTU0NywgMS4wNTg1MjEzODk5NjEyNDI3XSwgWzE2NjM5MjI1NjIuNDMyOTI1NSwgMTE1NzQsIDEuMDY3MTQwNTc5MjIzNjMyOF0sIFsxNjYzOTIyNTYyLjk2NzE0MDIsIDExNjE5LCAxLjEyNTY0MjUzODA3MDY3ODddLCBbMTY2MzkyMjU2My4yODE5NDksIDExNjQ2LCAxLjM4MDM4Mjc3NjI2MDM3Nl0sIFsxNjYzOTIyNTYzLjczNDM1MjQsIDExNjkxLCAxLjA3NDg3NDI4MTg4MzIzOTddLCBbMTY2MzkyMjU2My44MjIwNTgsIDExNzAwLCAxLjExOTc4MzA0Mzg2MTM4OTJdLCBbMTY2MzkyMjU2NC4xNTUzNDUsIDExNzI3LCAxLjExMzMzNzE1OTE1Njc5OTNdLCBbMTY2MzkyMjU2NC41NDYxMjEsIDExNzYzLCAxLjEwNTU2MTk3MTY2NDQyODddLCBbMTY2MzkyMjU2NC45MzkwODQ4LCAxMTc5OSwgMS4yMzc2MDI0NzIzMDUyOTc5XSwgWzE2NjM5MjI1NjUuNDM4NDgxNiwgMTE4NDQsIDEuMDM0NjIxMTE5NDk5MjA2NV0sIFsxNjYzOTIyNTY1LjkxMzk5NjUsIDExODg5LCAwLjk2Njc2MDUxNjE2NjY4N10sIFsxNjYzOTIyNTY2LjExNTYzNjYsIDExOTA3LCAxLjA3MjU5OTI5MTgwMTQ1MjZdLCBbMTY2MzkyMjU2Ni40MTI0ODIsIDExOTM0LCAxLjA1OTUxOTc2Nzc2MTIzMDVdLCBbMTY2MzkyMjU2Ni41MTQ1OCwgMTE5NDMsIDEuMDcyNzk1MjcxODczNDc0MV0sIFsxNjYzOTIyNTY2LjcxNTk0NjQsIDExOTYxLCAxLjM0NTUwMTg5OTcxOTIzODNdLCBbMTY2MzkyMjU2Ny40Mjc3NzEsIDEyMDI0LCAxLjA5OTgwNzczOTI1NzgxMjVdLCBbMTY2MzkyMjU2OC40NzE5NjA4LCAxMjExNCwgMS40OTc5OTkzMTA0OTM0NjkyXSwgWzE2NjM5MjI1NjguNzk4NTc5NSwgMTIxNDEsIDAuOTQ2NTQxMjQ5NzUyMDQ0N10sIFsxNjYzOTIyNTY5LjA5MTUxOCwgMTIxNjgsIDEuMTIwODMxODQ3MTkwODU3XSwgWzE2NjM5MjI1NjkuMjExOTQzNCwgMTIxNzcsIDEuMTAwNzkyMjg4NzgwMjEyNF0sIFsxNjYzOTIyNTY5LjQzNTc3MSwgMTIxOTUsIDAuOTc3NDIwMDMyMDI0MzgzNV0sIFsxNjYzOTIyNTcwLjI3MTg4NTYsIDEyMjQ5LCAxLjM2ODE5NjI0OTAwODE3ODddLCBbMTY2MzkyMjU3MC42NDEwNzIsIDEyMjg1LCAxLjAzNjQ1ODg0OTkwNjkyMTRdLCBbMTY2MzkyMjU3MC43MzQ5MTEsIDEyMjk0LCAxLjI4NzQ3ODQ0Njk2MDQ0OTJdLCBbMTY2MzkyMjU3MC44NDE2MTI2LCAxMjMwMywgMC45NzMzMDcyNTE5MzAyMzY4XSwgWzE2NjM5MjI1NzAuOTQxMDg4NywgMTIzMTIsIDEuMDAxMzIxMDc3MzQ2ODAxOF0sIFsxNjYzOTIyNTcxLjA1MTYzODEsIDEyMzIxLCAxLjIxNTgxMTk2Nzg0OTczMTRdLCBbMTY2MzkyMjU3MS43MjE3OTgsIDEyMzg0LCAxLjAyMjc5MDQzMTk3NjMxODRdLCBbMTY2MzkyMjU3MS44MjIzNDIsIDEyMzkzLCAxLjE3MDk0NDgwOTkxMzYzNTNdLCBbMTY2MzkyMjU3Mi4yMTA1NjksIDEyNDI5LCAxLjU5MDQxNDQwNDg2OTA3OTZdLCBbMTY2MzkyMjU3Mi42OTE2NTUsIDEyNDc0LCAxLjE3NTMyMTgxNzM5ODA3MTNdLCBbMTY2MzkyMjU3Mi43OTE3NTc2LCAxMjQ4MywgMC45MzI4NjcyMjg5ODQ4MzI4XSwgWzE2NjM5MjI1NzMuMjU2MTc0LCAxMjUxOSwgMS4yOTc0NDkyMzExNDc3NjYxXSwgWzE2NjM5MjI1NzMuNjAyOTAyLCAxMjU0NiwgMS4wOTQ1NTM3MDkwMzAxNTE0XSwgWzE2NjM5MjI1NzQuMDMyNzQwOCwgMTI1ODIsIDAuOTk3Nzc0NDgxNzczMzc2NV0sIFsxNjYzOTIyNTc2LjA5OTEyMDYsIDEyNzYyLCAxLjE5NzM2NjgzMzY4NjgyODZdLCBbMTY2MzkyMjU3Ni41MzM4MjkyLCAxMjc5OCwgMS4xNzY5MDQ0Mzk5MjYxNDc1XSwgWzE2NjM5MjI1NzcuNDc0NTc4MSwgMTI4ODgsIDEuMjUyNDIzMDQ4MDE5NDA5Ml0sIFsxNjYzOTIyNTc3LjU1ODcyNzUsIDEyODk3LCAxLjQ2MDE0Nzg1NzY2NjAxNTZdLCBbMTY2MzkyMjU3Ny45NDE1NTEyLCAxMjkzMywgMS4xNTY2OTg3MDM3NjU4NjkxXSwgWzE2NjM5MjI1NzguMTY4MTYwMiwgMTI5NTEsIDAuOTg4MjI1NTE5NjU3MTM1XSwgWzE2NjM5MjI1NzguMjc1NjQ5NSwgMTI5NjAsIDEuMzE0NzMxNzE3MTA5NjgwMl0sIFsxNjYzOTIyNTc4LjM4NzA4MywgMTI5NjksIDAuOTgwNDU4MTk5OTc3ODc0OF0sIFsxNjYzOTIyNTc4LjUxODE0NCwgMTI5NzgsIDEuMTM3NjMyNjA4NDEzNjk2M10sIFsxNjYzOTIyNTc5LjAzMTk1NzksIDEzMDA1LCAxLjQ0MjE4MDE1NjcwNzc2MzddLCBbMTY2MzkyMjU3OS4zNDI3MTUsIDEzMDMyLCAxLjAyNzAxMzMwMTg0OTM2NTJdLCBbMTY2MzkyMjU3OS41MzYyODIsIDEzMDUwLCAwLjk1NTIzNzA5MDU4NzYxNl0sIFsxNjYzOTIyNTc5LjcxNzM1OTMsIDEzMDY4LCAxLjExMzY3NDE2MzgxODM1OTRdLCBbMTY2MzkyMjU3OS44MTc3NTc0LCAxMzA3NywgMS4xNDE3MDExMDIyNTY3NzVdLCBbMTY2MzkyMjU4MC4xMDE4ODU4LCAxMzEwNCwgMS4zOTI5NjkyNTA2NzkwMTYxXSwgWzE2NjM5MjI1ODAuMzAxMjI3LCAxMzEyMiwgMS4yMjAzMzk3NzUwODU0NDkyXSwgWzE2NjM5MjI1ODAuNDE5NzY4MywgMTMxMzEsIDEuMDg1MTk0NDY4NDk4MjNdLCBbMTY2MzkyMjU4MC42MjE0LCAxMzE0OSwgMS4xNTkyMjU3MDIyODU3NjY2XSwgWzE2NjM5MjI1ODAuNzIwMzc0LCAxMzE1OCwgMS4yMDQ4ODI2MjE3NjUxMzY3XSwgWzE2NjM5MjI1ODAuOTQwNDE1MSwgMTMxNzYsIDAuOTgxODI5NDY0NDM1NTc3NF0sIFsxNjYzOTIyNTgxLjYwNzk1NzYsIDEzMjM5LCAxLjA0NjIzMzQxNTYwMzYzNzddLCBbMTY2MzkyMjU4MS45MDc5ODcsIDEzMjY2LCAxLjEwOTE0Mzk3MjM5Njg1MDZdLCBbMTY2MzkyMjU4Mi4wMjkzMDU3LCAxMzI3NSwgMS4yMTA2NDAzMTEyNDExNV0sIFsxNjYzOTIyNTgyLjIzMzM1NTMsIDEzMjkzLCAxLjA2ODY5MzUxODYzODYxMDhdLCBbMTY2MzkyMjU4Mi45MTA1ODUyLCAxMzM1NiwgMS4zMTc5MjEyODA4NjA5MDA5XSwgWzE2NjM5MjI1ODMuMjcwNzY2NywgMTMzOTIsIDEuMzAxNTUwMTQ5OTE3NjAyNV0sIFsxNjYzOTIyNTgzLjYwMzMyODcsIDEzNDE5LCAxLjEzNjcxNjk2MTg2MDY1NjddLCBbMTY2MzkyMjU4My44OTMwNDkyLCAxMzQ0NiwgMS41MTAwMDM0NDc1MzI2NTM4XSwgWzE2NjM5MjI1ODMuOTg2Mzk3NywgMTM0NTUsIDEuMTQ1NjcxNDg2ODU0NTUzMl0sIFsxNjYzOTIyNTg0LjQwOTI3ODQsIDEzNDkxLCAxLjA0NjAxODM2MjA0NTI4OF0sIFsxNjYzOTIyNTg0LjU0NTM5MzUsIDEzNTAwLCAxLjIwNzM2NjEwODg5NDM0ODFdLCBbMTY2MzkyMjU4NC44NTU4MjE2LCAxMzUyNywgMS4yNzkwMjYxNTA3MDM0MzAyXSwgWzE2NjM5MjI1ODUuNTY1MjM3LCAxMzU5MCwgMS4xMzg1NjM3NTIxNzQzNzc0XSwgWzE2NjM5MjI1ODUuNjU4NzI5MywgMTM1OTksIDEuMjQ0Mzc0NTEzNjI2MDk4Nl0sIFsxNjYzOTIyNTg1Ljc0ODk4ODksIDEzNjA4LCAxLjU2MzI2MDMxNjg0ODc1NDldLCBbMTY2MzkyMjU4NS45MzAzOTIzLCAxMzYyNiwgMS4zODc4NjA1MzY1NzUzMTc0XSwgWzE2NjM5MjI1ODYuMTMwNTA0LCAxMzY0NCwgMC45NjQzODM0ODI5MzMwNDQ0XSwgWzE2NjM5MjI1ODYuMjI3NTQxNCwgMTM2NTMsIDEuMTg4MTk5MDQzMjczOTI1OF0sIFsxNjYzOTIyNTg2LjkwODUwMzgsIDEzNzE2LCAxLjE4Mzk0OTM1MTMxMDczXSwgWzE2NjM5MjI1ODcuMzkzMDg1NywgMTM3NjEsIDEuMTAxMDk4Nzc1ODYzNjQ3NV0sIFsxNjYzOTIyNTg4LjIwMDg1NzIsIDEzODE1LCAxLjE1OTIzMjg1NDg0MzEzOTZdLCBbMTY2MzkyMjU4OC40ODkwMjA2LCAxMzg0MiwgMS4wNTA3MDg0MTMxMjQwODQ1XSwgWzE2NjM5MjI1ODguNTgyMTc0MywgMTM4NTEsIDEuMTMwNTMzMzM3NTkzMDc4Nl0sIFsxNjYzOTIyNTg4Ljg3NzAwODQsIDEzODc4LCAxLjA1ODY1MjI4MTc2MTE2OTRdLCBbMTY2MzkyMjU4OS41ODI4OTUsIDEzOTQxLCAxLjMyMzM0NDExMTQ0MjU2Nl0sIFsxNjYzOTIyNTg5LjkwODkyLCAxMzk2OCwgMC45ODA4NTY0MTg2MDk2MTkxXSwgWzE2NjM5MjI1OTAuMDIwNTg3NCwgMTM5NzcsIDEuMDQyMDYxMDkwNDY5MzYwNF0sIFsxNjYzOTIyNTkwLjEyNjIzMjEsIDEzOTg2LCAxLjA0MzUzOTY0MzI4NzY1ODddLCBbMTY2MzkyMjU5MS4xMjIxMzU0LCAxNDA2NywgMC45OTA5MjM4MjE5MjYxMTY5XSwgWzE2NjM5MjI1OTEuNDU5MjE3NSwgMTQwOTQsIDEuMDYwMjM0Nzg1MDc5OTU2XSwgWzE2NjM5MjI1OTEuNTc4NTExNywgMTQxMDMsIDEuNTE1MDkxNzc2ODQ3ODM5NF0sIFsxNjYzOTIyNTkxLjgxOTY1NDcsIDE0MTIxLCAxLjM3NzY3MjU1MzA2MjQzOV0sIFsxNjYzOTIyNTkyLjAzNzcwMiwgMTQxMzksIDEuMDM2NzQ0NTk0NTczOTc0Nl0sIFsxNjYzOTIyNTkyLjE0MDIzMiwgMTQxNDgsIDEuMDgxNzk0NTAwMzUwOTUyMV0sIFsxNjYzOTIyNTkyLjI0MjM0OTYsIDE0MTU3LCAxLjAyNjE2ODQ2NTYxNDMxODhdLCBbMTY2MzkyMjU5Mi4zMzkyNTU2LCAxNDE2NiwgMS4xMzY4MjUwODQ2ODYyNzkzXSwgWzE2NjM5MjI1OTIuNjU1NzA5LCAxNDE5MywgMS4wNjE1OTI1Nzg4ODc5Mzk1XSwgWzE2NjM5MjI1OTMuMDcwNTY4OCwgMTQyMjksIDAuOTQ2MDU5NDY1NDA4MzI1Ml0sIFsxNjYzOTIyNTkzLjE3MzEyMzQsIDE0MjM4LCAxLjEwNzA3MTE2MTI3MDE0MTZdLCBbMTY2MzkyMjU5My41ODc3NDk3LCAxNDI3NCwgMS4wNDU3NDM0NjU0MjM1ODRdLCBbMTY2MzkyMjU5NC4xNjAxMjg0LCAxNDMxOSwgMS4xNjUwODkxMzA0MDE2MTEzXSwgWzE2NjM5MjI1OTQuNzA3MjY2NiwgMTQzNjQsIDEuNDM2NzA5Mjg0NzgyNDA5N10sIFsxNjYzOTIyNTk0LjgwOTk3MTgsIDE0MzczLCAwLjkxOTM3NzE0ODE1MTM5NzddLCBbMTY2MzkyMjU5NC45MjIxMTc3LCAxNDM4MiwgMC45MDk5MzMzMjg2Mjg1NF0sIFsxNjYzOTIyNTk1LjQxNTMyMDIsIDE0NDE4LCAxLjIyNTkzMzMxMzM2OTc1MV0sIFsxNjYzOTIyNTk1LjUyOTI3MTQsIDE0NDI3LCAwLjkzODc2MzY3ODA3Mzg4MzFdLCBbMTY2MzkyMjU5NS42Mzg1OTkyLCAxNDQzNiwgMS41Njg1MjY3NDQ4NDI1MjkzXSwgWzE2NjM5MjI1OTYuNDgwNTgyLCAxNDUwOCwgMC45NjI2MTMyMjQ5ODMyMTUzXSwgWzE2NjM5MjI1OTYuODE0MTcwNCwgMTQ1MzUsIDEuMDgxOTEwMjUyNTcxMTA2XSwgWzE2NjM5MjI1OTcuMjYxMDc5NSwgMTQ1NTMsIDEuMjMxOTkwOTMzNDE4Mjc0XSwgWzE2NjM5MjI1OTcuOTA3MTY0LCAxNDYwNywgMC45NjkwNTE2NTkxMDcyMDgzXSwgWzE2NjM5MjI1OTguMTUzMTQ0NiwgMTQ2MjUsIDEuMjk0NDY3MDkxNTYwMzYzOF0sIFsxNjYzOTIyNTk4LjQ5NzI4NCwgMTQ2NTIsIDEuMTQ3NTY2OTE0NTU4NDEwNl0sIFsxNjYzOTIyNTk4LjkwODcxODMsIDE0Njg4LCAxLjAwNzcyMDgyODA1NjMzNTRdLCBbMTY2MzkyMjU5OS4yODY1MDk1LCAxNDcyNCwgMS40MzMxMDExNzcyMTU1NzYyXSwgWzE2NjM5MjI1OTkuNDkxODc4NSwgMTQ3NDIsIDEuMDU1NjExNzI5NjIxODg3Ml0sIFsxNjYzOTIyNTk5Ljc2MDU1MzgsIDE0NzY5LCAxLjA1MTU5MDA4NTAyOTYwMl0sIFsxNjYzOTIyNTk5Ljg0OTc1ODksIDE0Nzc4LCAwLjg5MDgyMDUwMzIzNDg2MzNdLCBbMTY2MzkyMjYwMC4zMjIyOTk1LCAxNDgyMywgMS4wNTYwMjc2NTA4MzMxMjk5XSwgWzE2NjM5MjI2MDAuNDE4NjA3LCAxNDgzMiwgMS4xNjQwMDkyMTM0NDc1NzA4XSwgWzE2NjM5MjI2MDAuNzkwMjAxNywgMTQ4NjgsIDEuMTY4NjMxNjcyODU5MTkyXSwgWzE2NjM5MjI2MDAuODg3MDk5NSwgMTQ4NzcsIDEuMDI4MDIzNjAwNTc4MzA4XSwgWzE2NjM5MjI2MDAuOTkxMjIyNCwgMTQ4ODYsIDEuMTM1NTQ4MTE0Nzc2NjExM10sIFsxNjYzOTIyNjAxLjA4Mzg0OSwgMTQ4OTUsIDEuMTkzNzk1ODAwMjA5MDQ1NF0sIFsxNjYzOTIyNjAxLjI4NjU3OTEsIDE0OTEzLCAxLjA2MzYxMTc0NTgzNDM1MDZdLCBbMTY2MzkyMjYwMS40NzQ3NjI3LCAxNDkzMSwgMC45OTY0ODM4MDI3OTU0MTAyXSwgWzE2NjM5MjI2MDEuODI5MzQwNSwgMTQ5NjcsIDEuMDc1NjQyMjI4MTI2NTI1OV0sIFsxNjYzOTIyNjAxLjk5ODg2MjMsIDE0OTg1LCAxLjE0NjEyNDAwNTMxNzY4OF0sIFsxNjYzOTIyNjAyLjE5ODE2NTIsIDE1MDAzLCAxLjAyNDQyMjY0NTU2ODg0NzddLCBbMTY2MzkyMjYwMi40NzIxNDQ4LCAxNTAzMCwgMS4xNzcwMzEzOTc4MTk1MTldLCBbMTY2MzkyMjYwMi41NjIyNDE2LCAxNTAzOSwgMS4wNjU0NjI5NDY4OTE3ODQ3XSwgWzE2NjM5MjI2MDIuOTA1NjkxLCAxNTA3NSwgMC45NDAzNzY2MzkzNjYxNDk5XSwgWzE2NjM5MjI2MDMuMTk2ODQxNSwgMTUxMDIsIDEuMDkwMDU2NDE5MzcyNTU4Nl0sIFsxNjYzOTIyNjAzLjM4NTExMzIsIDE1MTIwLCAwLjk5NTUzMjA5NTQzMjI4MTVdLCBbMTY2MzkyMjYwMy45MTc0MzAyLCAxNTE3NCwgMS4wNTM2NTE1NzEyNzM4MDM3XSwgWzE2NjM5MjI2MDQuMDA1ODgyNywgMTUxODMsIDEuMjcwNzQ0NjgxMzU4MzM3NF0sIFsxNjYzOTIyNjA0LjA5MTA1MiwgMTUxOTIsIDAuOTgzNTUyOTkyMzQzOTAyNl0sIFsxNjYzOTIyNjA0LjE5ODMzMiwgMTUyMDEsIDEuMTM2NjEwNzQ2MzgzNjY3XSwgWzE2NjM5MjI2MDQuNjYxMzI2LCAxNTI0NiwgMS4zMTM3NTczMDAzNzY4OTJdLCBbMTY2MzkyMjYwNC43NDI3ODY2LCAxNTI1NSwgMS40MDg2MTQxNTg2MzAzNzFdLCBbMTY2MzkyMjYwNC44NDE4NTQ4LCAxNTI2NCwgMC45NDg4NjU3NzEyOTM2NDAxXSwgWzE2NjM5MjI2MDUuMTk2MDg1NywgMTUzMDAsIDAuOTUxMjU2MjE1NTcyMzU3Ml0sIFsxNjYzOTIyNjA1LjY2MTE5NDgsIDE1MzI3LCAxLjE0NzkyMDM3MDEwMTkyODddLCBbMTY2MzkyMjYwNS44NzIzNTQ1LCAxNTM0NSwgMS4wMzIyMzYyMTg0NTI0NTM2XSwgWzE2NjM5MjI2MDYuMTQ1NDM0LCAxNTM3MiwgMS4xOTExNjM0MjA2NzcxODVdLCBbMTY2MzkyMjYwNi4zMjY1MDUyLCAxNTM5MCwgMS4wMDM1NjYzODQzMTU0OTA3XSwgWzE2NjM5MjI2MDYuNDE4NTQzNiwgMTUzOTksIDEuMTM3NjkxMzc4NTkzNDQ0OF0sIFsxNjYzOTIyNjA2LjUwOTQ4NSwgMTU0MDgsIDAuOTk0MDc1NTk2MzMyNTVdLCBbMTY2MzkyMjYwNi42MDQ4NjU4LCAxNTQxNywgMS4yNjc5MjM4MzE5Mzk2OTczXSwgWzE2NjM5MjI2MDcuMTM5NjU0OSwgMTU0NzEsIDEuMjk1Nzg2MzgwNzY3ODIyM10sIFsxNjYzOTIyNjA3LjYwNTIwNjMsIDE1NTA3LCAxLjE3OTk3ODEzMjI0NzkyNDhdLCBbMTY2MzkyMjYwNy43MTU5NDI5LCAxNTUxNiwgMS4wNzIxNjA3MjA4MjUxOTUzXSwgWzE2NjM5MjI2MDcuODI3NTc4NSwgMTU1MjUsIDEuMjUwMTM5NDc0ODY4Nzc0NF0sIFsxNjYzOTIyNjA3LjkwOTkwOSwgMTU1MzQsIDEuMTc4OTg4MzM3NTE2Nzg0N10sIFsxNjYzOTIyNjA4LjQzODc2OTYsIDE1NTc5LCAwLjkwODk0MjkzNzg1MDk1MjFdLCBbMTY2MzkyMjYwOS4yODM3MDU3LCAxNTY1MSwgMS4zOTU4MDU3MTY1MTQ1ODc0XSwgWzE2NjM5MjI2MDkuMzc4MjI0NiwgMTU2NjAsIDEuMDEwNTY2MTE1Mzc5MzMzNV0sIFsxNjYzOTIyNjA5Ljc0MTA3NiwgMTU2OTYsIDEuMTg2NTc4OTg5MDI4OTMwN10sIFsxNjYzOTIyNjA5LjkxNzI1MiwgMTU3MTQsIDEuMDg3NDQ4OTU0NTgyMjE0NF0sIFsxNjYzOTIyNjEwLjE4MzU4OTcsIDE1NzQxLCAwLjk1MDg0OTI5NDY2MjQ3NTZdLCBbMTY2MzkyMjYxMC4zNTYxMTk2LCAxNTc1OSwgMS4wMjQzNDA3NDg3ODY5MjYzXSwgWzE2NjM5MjI2MTAuNjIzNzE4NywgMTU3ODYsIDEuMjYwMzMzNjU3MjY0NzA5NV0sIFsxNjYzOTIyNjEwLjcxMTQwNjcsIDE1Nzk1LCAxLjIxNTYxMjQxMTQ5OTAyMzRdLCBbMTY2MzkyMjYxMS40MjMxMjI2LCAxNTg2NywgMS4wODM0MzYyNTA2ODY2NDU1XSwgWzE2NjM5MjI2MTEuNTE2ODczOCwgMTU4NzYsIDEuMDYxMzk5NTc5MDQ4MTU2N10sIFsxNjYzOTIyNjExLjY5NDk1NTMsIDE1ODk0LCAxLjA0OTEzNDk2OTcxMTMwMzddLCBbMTY2MzkyMjYxMi43OTE1OTE2LCAxNTk4NCwgMS4wMDMzMzk2NDgyNDY3NjUxXSwgWzE2NjM5MjI2MTMuMDgwMTUwNiwgMTYwMDIsIDEuMjAyMTYzMzM4NjYxMTkzOF0sIFsxNjYzOTIyNjEzLjM4NzIzOCwgMTYwMjksIDEuMzY4NzExOTQ4Mzk0Nzc1NF0sIFsxNjYzOTIyNjEzLjgwMzE3OTcsIDE2MDY1LCAxLjQ0NjI5NjgxMTEwMzgyMDhdLCBbMTY2MzkyMjYxMy44ODczMDg4LCAxNjA3NCwgMS4wNzMyNDM5NzU2MzkzNDMzXSwgWzE2NjM5MjI2MTMuOTg4Mzc4NSwgMTYwODMsIDEuMjIxNDMxNDkzNzU5MTU1M10sIFsxNjYzOTIyNjE0LjQ3NTM1OTQsIDE2MTEwLCAwLjkyOTk4NzQzMDU3MjUwOThdLCBbMTY2MzkyMjYxNC43NTkzODc1LCAxNjEzNywgMS40MzM3NzIyMDYzMDY0NTc1XSwgWzE2NjM5MjI2MTQuOTQ5NjIxMiwgMTYxNTUsIDAuOTQ4NjI3MTczOTAwNjA0Ml0sIFsxNjYzOTIyNjE1LjE0NDQxNTksIDE2MTczLCAwLjk5ODk1MDU0MTAxOTQzOTddLCBbMTY2MzkyMjYxNS41MjAzMDkyLCAxNjIwOSwgMC45MzMyNDgyMjE4NzQyMzcxXSwgWzE2NjM5MjI2MTUuNzA0MzY3MiwgMTYyMjcsIDEuMDE0NTkwOTc4NjIyNDM2NV0sIFsxNjYzOTIyNjE2LjI3MjE5NiwgMTYyODEsIDEuMzc4Mjk1NDIxNjAwMzQxOF0sIFsxNjYzOTIyNjE2LjQ1OTI1NDcsIDE2Mjk5LCAxLjIyOTQyOTcyMTgzMjI3NTRdLCBbMTY2MzkyMjYxNy4yODg3ODUsIDE2MzgwLCAxLjAzMDAwNTY5MzQzNTY2OV0sIFsxNjYzOTIyNjE3LjY3MDI0ODUsIDE2NDE2LCAxLjMwNjgzNjM2NjY1MzQ0MjRdLCBbMTY2MzkyMjYxNy45Mjc5OTcsIDE2NDQzLCAwLjkzMjM5NTc1NjI0NDY1OTRdLCBbMTY2MzkyMjYxOC4wMTgxNTI3LCAxNjQ1MiwgMS4yNzY0MTQzOTQzNzg2NjJdLCBbMTY2MzkyMjYxOC4yMTAwOTk3LCAxNjQ3MCwgMS4xMDYyMzMzNTgzODMxNzg3XSwgWzE2NjM5MjI2MTguMzAwNzAxNCwgMTY0NzksIDEuMDk1ODc2NDU1MzA3MDA2OF0sIFsxNjYzOTIyNjE4LjQ4NjM4NTgsIDE2NDk3LCAxLjE5NTU2OTYzNDQzNzU2MV0sIFsxNjYzOTIyNjE4LjU4MzIzNzYsIDE2NTA2LCAxLjE0MzcxMjk5NzQzNjUyMzRdLCBbMTY2MzkyMjYxOC44NTM4MTE3LCAxNjUzMywgMS4yMDE4ODgzMjI4MzAyMDAyXSwgWzE2NjM5MjI2MTkuMDQ1MTYxNywgMTY1NTEsIDEuMTkzNjg2MjQ2ODcxOTQ4Ml0sIFsxNjYzOTIyNjE5LjY3ODI4MDQsIDE2NjE0LCAwLjk3OTU1MTE5NjA5ODMyNzZdLCBbMTY2MzkyMjYxOS43Njk1MDIsIDE2NjIzLCAxLjAwMDYxOTg4ODMwNTY2NF0sIFsxNjYzOTIyNjE5Ljg2MDIwNDcsIDE2NjMyLCAxLjE5NzM4MDQyMzU0NTgzNzRdLCBbMTY2MzkyMjYxOS45NTQ2NDA5LCAxNjY0MSwgMS4wNjg5Njc1ODA3OTUyODhdLCBbMTY2MzkyMjYyMC4yMzkwODQyLCAxNjY2OCwgMS4xNTY4MTI0Mjk0MjgxMDA2XSwgWzE2NjM5MjI2MjEuMDcwOTk0MSwgMTY3NDksIDEuMTY5NDA1MzQxMTQ4Mzc2NV0sIFsxNjYzOTIyNjIxLjU1NDI0NTUsIDE2Nzk0LCAxLjExODc2OTc2NDkwMDIwNzVdLCBbMTY2MzkyMjYyMS42NTQ4NDc0LCAxNjgwMywgMS4xNDA4NTk0ODQ2NzI1NDY0XSwgWzE2NjM5MjI2MjEuNzQ1NDg5NiwgMTY4MTIsIDEuMTUwODE4MzQ3OTMwOTA4Ml0sIFsxNjYzOTIyNjIyLjMxNjEzODUsIDE2ODQ4LCAxLjAzNjIyMzc2OTE4NzkyNzJdLCBbMTY2MzkyMjYyMi40MDU5Nzg0LCAxNjg1NywgMS4xMDAwMDMzNjE3MDE5NjUzXSwgWzE2NjM5MjI2MjIuNTc0NzYxOSwgMTY4NzUsIDEuMDIwODM3NTQ1Mzk0ODk3NV0sIFsxNjYzOTIyNjIyLjg4MzQwNDMsIDE2OTAyLCAxLjEwNDgyMzk0Njk1MjgxOThdLCBbMTY2MzkyMjYyMy4xOTE0NzQ0LCAxNjkyOSwgMS4wMDg1MDA0NTY4MDk5OTc2XSwgWzE2NjM5MjI2MjMuNDcwMTU1NywgMTY5NTYsIDEuMjg4ODgzNTY2ODU2Mzg0M10sIFsxNjYzOTIyNjIzLjU1NDQ0MTIsIDE2OTY1LCAxLjE4Mzg5NTU4NzkyMTE0MjZdLCBbMTY2MzkyMjYyMy43NDEzMDg3LCAxNjk4MywgMS4wMTgyNzc2NDUxMTEwODRdLCBbMTY2MzkyMjYyMy45MzkwOTUsIDE3MDAxLCAxLjEwNTA5MzcxNzU3NTA3MzJdLCBbMTY2MzkyMjYyNC4xMDkzMjgsIDE3MDE5LCAxLjI3MzY0OTU3MzMyNjExMDhdLCBbMTY2MzkyMjYyNC41Njg1MDksIDE3MDY0LCAwLjk3MzM3OTE5NDczNjQ4MDddLCBbMTY2MzkyMjYyNC45ODk1MDU1LCAxNzEwMCwgMC45NDI1MTIwOTQ5NzQ1MTc4XSwgWzE2NjM5MjI2MjUuMzI0MDM1NCwgMTcxMjcsIDAuOTczMDc3NDE2NDE5OTgyOV0sIFsxNjYzOTIyNjI1Ljk0MDY3ODYsIDE3MTgxLCAxLjA0MTE4ODgzNjA5NzcxNzNdLCBbMTY2MzkyMjYyNi4wNjE5NzM4LCAxNzE5MCwgMC45NTUyNzQzNDM0OTA2MDA2XSwgWzE2NjM5MjI2MjYuMTY0MzkzMiwgMTcxOTksIDEuMDI1NjM3ODY1MDY2NTI4M10sIFsxNjYzOTIyNjI2LjQ3MDgyMywgMTcyMjYsIDAuOTAzNDAzMDQzNzQ2OTQ4Ml0sIFsxNjYzOTIyNjI2Ljk2MDU4NCwgMTcyNzEsIDEuMzczMTI5OTYzODc0ODE3XSwgWzE2NjM5MjI2MjcuNTAxNzA2OCwgMTczMjUsIDAuOTk5MTIxNjY1OTU0NTg5OF0sIFsxNjYzOTIyNjI3LjU4NjQ4MSwgMTczMzQsIDEuMDA5Mjk3NjA5MzI5MjIzNl0sIFsxNjYzOTIyNjI3LjY4OTA5NiwgMTczNDMsIDAuOTkxNzAzODA4MzA3NjQ3N10sIFsxNjYzOTIyNjI4LjAyNDY0NDQsIDE3MzcwLCAwLjg5NTkwNDM2MjIwMTY5MDddLCBbMTY2MzkyMjYyOC4zMDY4MTE2LCAxNzM5NywgMS4yNDcxMzI1Mzk3NDkxNDU1XSwgWzE2NjM5MjI2MjguNTg5MjA4NiwgMTc0MjQsIDAuOTMzNTA0OTk4NjgzOTI5NF0sIFsxNjYzOTIyNjI4LjY3MjE3MjUsIDE3NDMzLCAxLjE2NDU0NjAxMjg3ODQxOF0sIFsxNjYzOTIyNjI5LjAzOTA0OSwgMTc0NjksIDEuMjQwMTUxMjg2MTI1MTgzXSwgWzE2NjM5MjI2MjkuMTI3NTksIDE3NDc4LCAxLjIwOTUwNjI3MzI2OTY1MzNdLCBbMTY2MzkyMjYyOS4yMjUyNzc3LCAxNzQ4NywgMC45MTQ2MDYzOTIzODM1NzU0XSwgWzE2NjM5MjI2MjkuNTU2NzMyNywgMTc1MTQsIDEuMDczNDM4NDA1OTkwNjAwNl0sIFsxNjYzOTIyNjI5Ljc1MDkyNTMsIDE3NTMyLCAxLjA2NzUzMDk4OTY0NjkxMTZdLCBbMTY2MzkyMjYzMC4wNTY4NjI0LCAxNzU1OSwgMC45NzUxNjI0NDY0OTg4NzA4XSwgWzE2NjM5MjI2MzAuMzQyNDA2LCAxNzU4NiwgMC45Njg3MDgzOTU5NTc5NDY4XSwgWzE2NjM5MjI2MzAuODE4MDM5MiwgMTc2MTMsIDEuMDQ5MTg2MjI5NzA1ODEwNV0sIFsxNjYzOTIyNjMxLjI3NzY0NDYsIDE3NjQ5LCAwLjk5MTgyOTgxMjUyNjcwMjldLCBbMTY2MzkyMjYzMS4zODY1MTI4LCAxNzY1OCwgMS4wNzQ2MTYxOTM3NzEzNjIzXSwgWzE2NjM5MjI2MzEuNDk3ODk3MSwgMTc2NjcsIDAuOTk5NzE5NTYwMTQ2MzMxOF0sIFsxNjYzOTIyNjMxLjYwNTYyMzUsIDE3Njc2LCAxLjMxMjYwOTY3MjU0NjM4NjddLCBbMTY2MzkyMjYzMS43MTczNjcsIDE3Njg1LCAxLjQzMDEwODc4NTYyOTI3MjVdLCBbMTY2MzkyMjYzMS45MDA5NDQ3LCAxNzcwMywgMS4yNTQ3MzI4NDcyMTM3NDUxXSwgWzE2NjM5MjI2MzEuOTk3MDQxNywgMTc3MTIsIDAuOTMzMjM5MDQyNzU4OTQxN10sIFsxNjYzOTIyNjMyLjA4MTI4MzYsIDE3NzIxLCAwLjk2ODkwNDY3NDA1MzE5MjFdLCBbMTY2MzkyMjYzMy4wMDA4MDQ0LCAxNzgwMiwgMS4yMDc0MjIyNTY0Njk3MjY2XSwgWzE2NjM5MjI2MzMuMjI3MzIxMSwgMTc4MjAsIDEuMjA2NjA5MTI5OTA1NzAwN10sIFsxNjYzOTIyNjMzLjM1MDQ3NiwgMTc4MjksIDEuMTcxODYzMzE3NDg5NjI0XSwgWzE2NjM5MjI2MzMuNDY5MDUyMywgMTc4MzgsIDEuMTQ4MTYxMTcyODY2ODIxM10sIFsxNjYzOTIyNjMzLjgzMDU0MTEsIDE3ODc0LCAwLjk0OTMyNzU4ODA4MTM1OTldLCBbMTY2MzkyMjYzNC4wMTMyODE4LCAxNzg5MiwgMC45MzY4OTkxODUxODA2NjQxXSwgWzE2NjM5MjI2MzQuMDk5NzQ5OCwgMTc5MDEsIDAuOTQ3MzU2MzQzMjY5MzQ4MV0sIFsxNjYzOTIyNjM0LjM1ODQzMDYsIDE3OTI4LCAwLjk0ODIyMzUzMTI0NjE4NTNdLCBbMTY2MzkyMjYzNC40NDg5NTg0LCAxNzkzNywgMS4xNzQ4NTM4MDE3MjcyOTVdLCBbMTY2MzkyMjYzNi44NTExNTc3LCAxODE1MywgMS4wMDIwOTA2OTI1MjAxNDE2XSwgWzE2NjM5MjI2MzYuOTQ5NzM4MywgMTgxNjIsIDEuMTQ0MTc4OTg2NTQ5Mzc3NF0sIFsxNjYzOTIyNjM3LjMxOTg3MDIsIDE4MTk4LCAxLjE4NjgxODI0MjA3MzA1OV0sIFsxNjYzOTIyNjM3LjQxNzg4OTgsIDE4MjA3LCAxLjA0NTgyNDc2NjE1OTA1NzZdLCBbMTY2MzkyMjYzNy44OTc3MzQ0LCAxODI0MywgMS4wNzg0Nzk3NjY4NDU3MDMxXSwgWzE2NjM5MjI2MzguMTI0NzcxOCwgMTgyNjEsIDEuMTAzOTQ0MzAxNjA1MjI0Nl0sIFsxNjYzOTIyNjM4LjQyOTcxODMsIDE4Mjg4LCAwLjk2NDU2NjY0ODAwNjQzOTJdLCBbMTY2MzkyMjYzOC43ODQ4MjkxLCAxODMyNCwgMS40NTU4NjM0NzU3OTk1NjA1XSwgWzE2NjM5MjI2MzguODY5MzI2NCwgMTgzMzMsIDAuOTc4Nzk3NzkzMzg4MzY2N10sIFsxNjYzOTIyNjM5LjIzMjI4NCwgMTgzNjksIDEuMDQ5NDIyOTc5MzU0ODU4NF0sIFsxNjYzOTIyNjM5LjY5MzY5MTUsIDE4Mzk2LCAxLjEwOTYzMjQ5MjA2NTQyOTddLCBbMTY2MzkyMjY0MC4wNDc0OTg1LCAxODQzMiwgMC45OTI3Nzc4MjQ0MDE4NTU1XSwgWzE2NjM5MjI2NDAuNjc3MTQ1LCAxODQ5NSwgMS40MzExMTI3NjYyNjU4NjkxXSwgWzE2NjM5MjI2NDAuNzY0NzI5NSwgMTg1MDQsIDEuMTM1MjU4NzkzODMwODcxNl0sIFsxNjYzOTIyNjQwLjg1NDI1OTUsIDE4NTEzLCAxLjU4MzYwMTM1NTU1MjY3MzNdLCBbMTY2MzkyMjY0MC45NDEzNzU1LCAxODUyMiwgMS4zODc5Nzk3NDU4NjQ4NjgyXSwgWzE2NjM5MjI2NDEuOTE1NjY4LCAxODYxMiwgMC45NjYyODM3Mzg2MTMxMjg3XSwgWzE2NjM5MjI2NDIuMDA0MzI3LCAxODYyMSwgMS42NDM2OTQxNjIzNjg3NzQ0XSwgWzE2NjM5MjI2NDIuMTkxMTk5LCAxODYzOSwgMS4xOTk2MTQ1MjQ4NDEzMDg2XSwgWzE2NjM5MjI2NDIuNTY5MTE1NiwgMTg2NzUsIDEuMDA1OTcwNTk3MjY3MTUwOV0sIFsxNjYzOTIyNjQzLjAzNjU1NSwgMTg3MjAsIDEuMTQ1NzI0NzczNDA2OTgyNF0sIFsxNjYzOTIyNjQzLjU1MDQyODYsIDE4NzY1LCAxLjA0MDQ0NjUxOTg1MTY4NDZdLCBbMTY2MzkyMjY0My43MzU4MDY3LCAxODc4MywgMS4wODA3MDU4ODExMTg3NzQ0XSwgWzE2NjM5MjI2NDMuODI5MzQ3NCwgMTg3OTIsIDEuMDA0NTEzMDI1MjgzODEzNV0sIFsxNjYzOTIyNjQ0LjAzODYyNTUsIDE4ODEwLCAxLjM1Njk5MTI5MTA0NjE0MjZdLCBbMTY2MzkyMjY0NC4xMjAzODI4LCAxODgxOSwgMS4wODU3MDEzNDYzOTc0XSwgWzE2NjM5MjI2NDQuMjA2MjUzMywgMTg4MjgsIDEuMTA4NjcyODU3Mjg0NTQ2XSwgWzE2NjM5MjI2NDQuNTk1MTM4NSwgMTg4NjQsIDEuMDE5MDQ5MDQ4NDIzNzY3XSwgWzE2NjM5MjI2NDQuNzg4MjUsIDE4ODgyLCAxLjE4MzAzNzg3NzA4MjgyNDddLCBbMTY2MzkyMjY0NC45MzY4NzQ0LCAxODg5MSwgMS4xMTIzNDkwMzMzNTU3MTNdLCBbMTY2MzkyMjY0NS4xNTc4MzEsIDE4OTA5LCAxLjA4NzQ5ODkwMzI3NDUzNjFdLCBbMTY2MzkyMjY0NS40NzY1MjMyLCAxODkzNiwgMC45NzU0NzM4ODA3Njc4MjIzXSwgWzE2NjM5MjI2NDUuNzM2NjY0LCAxODk1NCwgMS4xOTQ4NjQ3NDk5MDg0NDczXSwgWzE2NjM5MjI2NDYuMTM5ODIwNiwgMTg5OTAsIDEuMjU4NTM3MDU0MDYxODg5Nl0sIFsxNjYzOTIyNjQ2LjI0MzY3NDMsIDE4OTk5LCAwLjk0NDYzMjIzMjE4OTE3ODVdLCBbMTY2MzkyMjY0Ni43MDQ3NjEzLCAxOTAzNSwgMS4xMzY2ODQ3NzUzNTI0NzhdLCBbMTY2MzkyMjY0Ni44MDkyMDE1LCAxOTA0NCwgMS4xMzkxNjU3NTkwODY2MDg5XSwgWzE2NjM5MjI2NDcuMTg1MDMxLCAxOTA4MCwgMS4wMzM1Nzg4NzI2ODA2NjRdLCBbMTY2MzkyMjY0Ny4yNzM5Mjg5LCAxOTA4OSwgMS4wNjcxNTAzNTQzODUzNzZdLCBbMTY2MzkyMjY0Ny40NjI2MzksIDE5MTA3LCAxLjE4MDgzNTYwNDY2NzY2MzZdLCBbMTY2MzkyMjY0Ny41NzUzMDMzLCAxOTExNiwgMS4yNDUwMTU5Nzg4MTMxNzE0XSwgWzE2NjM5MjI2NDcuODc0MzY5OSwgMTkxMjUsIDEuMDIyNDY3NjEzMjIwMjE0OF0sIFsxNjYzOTIyNjQ4LjIwOTI2NTUsIDE5MTUyLCAxLjA0MTE3NDE3MzM1NTEwMjVdLCBbMTY2MzkyMjY0OC45ODI0NTc2LCAxOTIxNSwgMS4wNzAyNjA1MjQ3NDk3NTU5XSwgWzE2NjM5MjI2NDkuMDc2NjE4MiwgMTkyMjQsIDAuOTU3MzUxODYzMzg0MjQ2OF0sIFsxNjYzOTIyNjQ5LjE3Njc5MjEsIDE5MjMzLCAxLjE5NTcxNjg1NzkxMDE1NjJdLCBbMTY2MzkyMjY0OS40ODIxMTMxLCAxOTI2MCwgMC45NzE1MTY3ODgwMDU4Mjg5XSwgWzE2NjM5MjI2NDkuOTA2NTgyOCwgMTkyOTYsIDEuMDUyNTI1OTk3MTYxODY1Ml0sIFsxNjYzOTIyNjUwLjUzOTM4OTYsIDE5MzUwLCAxLjE1NDg4ODM5MTQ5NDc1MV0sIFsxNjYzOTIyNjUxLjA4MjMyNywgMTkzOTUsIDAuOTQ1NTgyNzQ3NDU5NDExNl0sIFsxNjYzOTIyNjUxLjYyMjYzMzIsIDE5NDQwLCAxLjA3MjI3MDAzNTc0MzcxMzRdLCBbMTY2MzkyMjY1MS43MjgwMjA0LCAxOTQ0OSwgMS4yODY5NDI5NTg4MzE3ODddLCBbMTY2MzkyMjY1MS45MDU2NTQ3LCAxOTQ2NywgMS4wMTY1NjE3NDY1OTcyOV0sIFsxNjYzOTIyNjUyLjU1NDgxNTUsIDE5NTMwLCAxLjE0ODY1MjE5NTkzMDQ4MV0sIFsxNjYzOTIyNjUzLjE0MjM0MTYsIDE5NTg0LCAxLjMwNDUxMDM1NDk5NTcyNzVdLCBbMTY2MzkyMjY1My4yMjkyMTksIDE5NTkzLCAxLjExNzgzMjU0MTQ2NTc1OTNdLCBbMTY2MzkyMjY1My45ODI3NTAyLCAxOTY1NiwgMS4xODExNjU1NzU5ODExNDAxXSwgWzE2NjM5MjI2NTQuMTY4NzQ2NywgMTk2NzQsIDEuMDI2ODkzOTczMzUwNTI1XSwgWzE2NjM5MjI2NTQuMzQ2Mzk2LCAxOTY5MiwgMS4wNjkxMjk1ODYyMTk3ODc2XSwgWzE2NjM5MjI2NTQuNTI1ODU1NSwgMTk3MTAsIDEuMjAwNDA3OTgxODcyNTU4Nl0sIFsxNjYzOTIyNjU0Ljk4MTYzNjMsIDE5NzU1LCAxLjE3MzU4NTE3NjQ2Nzg5NTVdLCBbMTY2MzkyMjY1NS41MjE4ODc4LCAxOTgwMCwgMS41MTM5NzI0MDE2MTg5NTc1XSwgWzE2NjM5MjI2NTUuNzAxNzgyMiwgMTk4MTgsIDEuMDE4NDcxNDc5NDE1ODkzNl0sIFsxNjYzOTIyNjU1LjgwODE0MSwgMTk4MjcsIDEuMTU0MDIzNDA4ODg5NzcwNV0sIFsxNjYzOTIyNjU1Ljg5MjQyMzIsIDE5ODM2LCAxLjA4MTcxMTI5MjI2Njg0NTddLCBbMTY2MzkyMjY1Ni40OTAzNDQzLCAxOTg5MCwgMS4wMTQ4MjQ3NDgwMzkyNDU2XSwgWzE2NjM5MjI2NTYuOTA2MjU5LCAxOTkwOCwgMS4yODA0NjE5MDczODY3Nzk4XSwgWzE2NjM5MjI2NTcuMDA4NTcsIDE5OTE3LCAxLjM2Njc3MDI2NzQ4NjU3MjNdLCBbMTY2MzkyMjY1Ny4yMDMwNDksIDE5OTM1LCAxLjM4MDg2MTE2MzEzOTM0MzNdLCBbMTY2MzkyMjY1Ny4yOTA4ODM4LCAxOTk0NCwgMS40MTQ1MTY5MjU4MTE3Njc2XSwgWzE2NjM5MjI2NTcuODE0MzU5LCAxOTk5OCwgMS4xNzExODI5OTAwNzQxNTc3XSwgWzE2NjM5MjI2NTguMTgzMzYxOCwgMjAwMzQsIDEuMjAyNzc2MTkzNjE4Nzc0NF0sIFsxNjYzOTIyNjU4LjM1OTAyMywgMjAwNTIsIDEuMDY3MDcwODQxNzg5MjQ1Nl0sIFsxNjYzOTIyNjU5LjE4MjA5NTgsIDIwMTMzLCAxLjQwMDg5NDQwMzQ1NzY0MTZdLCBbMTY2MzkyMjY1OS40NzYwMzcsIDIwMTYwLCAxLjMyMzU2MzA5ODkwNzQ3MDddLCBbMTY2MzkyMjY1OS43MzgwNjA1LCAyMDE4NywgMS4wNDQ2NDc4MTI4NDMzMjI4XSwgWzE2NjM5MjI2NTkuOTIwMjMzNSwgMjAyMDUsIDAuOTYyMDUxODA4ODM0MDc1OV0sIFsxNjYzOTIyNjYwLjgyMDA4OCwgMjAyOTUsIDEuMTc1MjQ2NDc3MTI3MDc1Ml0sIFsxNjYzOTIyNjYxLjA5NTkzOTksIDIwMzIyLCAxLjUyNTE4NDI3MzcxOTc4NzZdLCBbMTY2MzkyMjY2MS4xODI2NjI1LCAyMDMzMSwgMS4yMDIyMTgwNTU3MjUwOTc3XSwgWzE2NjM5MjI2NjEuNzM3MzY5NSwgMjAzODUsIDAuOTQ2NjQwNjEwNjk0ODg1M10sIFsxNjYzOTIyNjYyLjAyOTAyNSwgMjA0MTIsIDAuOTcwOTMxNTg5NjAzNDI0MV0sIFsxNjYzOTIyNjYyLjg1NjcwNTIsIDIwNDkzLCAwLjg3NDc1NTYyMDk1NjQyMDldLCBbMTY2MzkyMjY2My4yMDUxOTAyLCAyMDUyOSwgMS4yMDYxMTg4MjIwOTc3NzgzXSwgWzE2NjM5MjI2NjMuMzAxNzk2NywgMjA1MzgsIDEuMDU0NzIyNjY2NzQwNDE3NV0sIFsxNjYzOTIyNjYzLjg1NTIxOTEsIDIwNTc0LCAwLjk3ODA3NTUwNDMwMjk3ODVdLCBbMTY2MzkyMjY2NC41NDUxODI1LCAyMDYzNywgMS4xOTUyNDEzMzIwNTQxMzgyXSwgWzE2NjM5MjI2NjQuNjY2Mzg1LCAyMDY0NiwgMS4xNjcxOTMyOTM1NzE0NzIyXSwgWzE2NjM5MjI2NjUuNjE2MTU0MiwgMjA3MDksIDEuMTU4MjQ4NTQzNzM5MzE4OF0sIFsxNjYzOTIyNjY2LjA1NjMwNjYsIDIwNzU0LCAxLjE2MzM5NDU3MDM1MDY0N10sIFsxNjYzOTIyNjY2LjE0MzEyNTgsIDIwNzYzLCAxLjE5NDg2NzQ5MTcyMjEwN10sIFsxNjYzOTIyNjY2LjIzNDc0MiwgMjA3NzIsIDAuOTk3ODA1Mjk3Mzc0NzI1M10sIFsxNjYzOTIyNjY2LjQzMDM4OCwgMjA3OTAsIDEuMDAxMjg1MDc2MTQxMzU3NF0sIFsxNjYzOTIyNjY2LjYxMzkxMywgMjA4MDgsIDEuMDYxNTUwNjE3MjE4MDE3Nl0sIFsxNjYzOTIyNjY2Ljk1NzEyOTUsIDIwODQ0LCAxLjI5NDM1ODk2ODczNDc0MTJdLCBbMTY2MzkyMjY2Ny4wNTk5NjYzLCAyMDg1MywgMS4wNTU0OTI1MjAzMzIzMzY0XSwgWzE2NjM5MjI2NjcuMzI1NDg4NiwgMjA4ODAsIDAuOTU3NTY2Njc4NTI0MDE3M10sIFsxNjYzOTIyNjY3LjgxNTAxMDMsIDIwOTI1LCAxLjE4NTAyMzMwNzgwMDI5M10sIFsxNjYzOTIyNjY4LjMzMzQyNzIsIDIwOTc5LCAwLjg5NTc0MTIyNDI4ODk0MDRdLCBbMTY2MzkyMjY2OC41MTMxMDE2LCAyMDk5NywgMC45NzM1NDQwMDE1NzkyODQ3XSwgWzE2NjM5MjI2NjguNzkyODU5OCwgMjEwMjQsIDAuODUzMjgzNTI0NTEzMjQ0Nl0sIFsxNjYzOTIyNjY5LjI1MTExNDYsIDIxMDY5LCAxLjE5NzQ2NTA2MjE0MTQxODVdLCBbMTY2MzkyMjY2OS41MjExMDMxLCAyMTA4NywgMS4wMTI0OTQ5MjE2ODQyNjUxXSwgWzE2NjM5MjI2NjkuNjQ4MjYzMiwgMjEwOTYsIDAuOTY2ODE1OTQ4NDg2MzI4MV0sIFsxNjYzOTIyNjY5Ljc1MDg4NzksIDIxMTA1LCAxLjEzNTM5NTY0NjA5NTI3NTldLCBbMTY2MzkyMjY2OS45MzM5NzgsIDIxMTIzLCAxLjAyNDUxNjU4MjQ4OTAxMzddLCBbMTY2MzkyMjY3MC4wMjgyNTQ1LCAyMTEzMiwgMS4wMTY5MjUyMTU3MjExMzA0XSwgWzE2NjM5MjI2NzAuMzc5ODA5NCwgMjExNjgsIDEuMDA2NjcwODMyNjMzOTcyMl0sIFsxNjYzOTIyNjcwLjQ2NjQwNDcsIDIxMTc3LCAxLjI1MDAzODk4MTQzNzY4M10sIFsxNjYzOTIyNjcwLjU2MDc5NzIsIDIxMTg2LCAxLjAwMTYyOTExNDE1MTAwMV0sIFsxNjYzOTIyNjcxLjA2NTQxOSwgMjEyMjIsIDEuNjU1MDY1MDU5NjYxODY1Ml0sIFsxNjYzOTIyNjcxLjMxMjAzNTgsIDIxMjQwLCAwLjk1NjY4NTA2NjIyMzE0NDVdLCBbMTY2MzkyMjY3MS44NTIwMTEsIDIxMjk0LCAxLjA3MzI2NzkzNjcwNjU0M10sIFsxNjYzOTIyNjcyLjIxMzA2MzUsIDIxMzIxLCAwLjk5MTc0NTE3MzkzMTEyMThdLCBbMTY2MzkyMjY3Mi41MTQzMDcsIDIxMzQ4LCAwLjk2NzQ2MTEwOTE2MTM3N10sIFsxNjYzOTIyNjcyLjcwNzUzODEsIDIxMzY2LCAxLjA4MDk2MTQ2NTgzNTU3MTNdLCBbMTY2MzkyMjY3My4yNzU5ODYyLCAyMTQxMSwgMS4zMzkxNzYyOTcxODc4MDUyXSwgWzE2NjM5MjI2NzQuMDQxNjMyNywgMjE0NjUsIDEuMzE3NDUyOTA3NTYyMjU1OV0sIFsxNjYzOTIyNjc0LjQ5MzMxMSwgMjE1MTAsIDEuMDM3NzU4MjMxMTYzMDI1XSwgWzE2NjM5MjI2NzQuNjY5MTAxNywgMjE1MjgsIDEuMDA4OTAxNzE1Mjc4NjI1NV0sIFsxNjYzOTIyNjc0Ljg0Mzg3NDUsIDIxNTQ2LCAxLjU0MjY4NzI5Njg2NzM3MDZdLCBbMTY2MzkyMjY3NC45MzI4MTg0LCAyMTU1NSwgMC45NDk5MjIxNDQ0MTI5OTQ0XSwgWzE2NjM5MjI2NzUuMDE2MDgwNCwgMjE1NjQsIDEuMTYyMDY3NTMyNTM5MzY3N10sIFsxNjYzOTIyNjc1LjIwNzc4NDIsIDIxNTgyLCAxLjE1Njk0NjY1OTA4ODEzNDhdLCBbMTY2MzkyMjY3NS4yOTgwNDgzLCAyMTU5MSwgMS41MTAxNDcwOTQ3MjY1NjI1XSwgWzE2NjM5MjI2NzYuMjk0NDIwNywgMjE2ODEsIDEuMDk1NzAwMzgzMTg2MzQwM10sIFsxNjYzOTIyNjc2LjcwMDI3NjEsIDIxNzE3LCAxLjIzMTMxNzQwMDkzMjMxMl0sIFsxNjYzOTIyNjc2Ljk2ODA0MSwgMjE3NDQsIDEuMDU1MTM2NjgwNjAzMDI3M10sIFsxNjYzOTIyNjc3LjQzNjA0NjQsIDIxNzgwLCAxLjA4MDk2MzEzNDc2NTYyNV0sIFsxNjYzOTIyNjc4LjQxMDc3MywgMjE4NjEsIDEuMDc1MDc0MDc2NjUyNTI2OV0sIFsxNjYzOTIyNjc4LjY4NTk4NCwgMjE4ODgsIDAuOTY4MzQwNTE2MDkwMzkzMV0sIFsxNjYzOTIyNjc5LjE1NjU1NTIsIDIxOTI0LCAxLjIwMTYzNjkxMDQzODUzNzZdLCBbMTY2MzkyMjY3OS4yNTExMTIyLCAyMTkzMywgMS4yNTM5NDM4MDA5MjYyMDg1XSwgWzE2NjM5MjI2NzkuNTQzMzY0NSwgMjE5NjAsIDEuMDU3OTI2MTc3OTc4NTE1Nl0sIFsxNjYzOTIyNjc5LjcyODcwMTYsIDIxOTc4LCAxLjA3MDQwNjU1NjEyOTQ1NTZdLCBbMTY2MzkyMjY3OS44MTA4NTUyLCAyMTk4NywgMS4wMzY3MTk1NjA2MjMxNjldLCBbMTY2MzkyMjY4MC40ODQyOTI3LCAyMjA0MSwgMS4xNTUwOTQwMjc1MTkyMjZdLCBbMTY2MzkyMjY4MS4xNDE0Mjc1LCAyMjA5NSwgMC45NjMwNTYwMjc4ODkyNTE3XSwgWzE2NjM5MjI2ODEuNTk1NDMwNCwgMjIxMzEsIDEuMTMzOTQxNTMxMTgxMzM1NF0sIFsxNjYzOTIyNjgxLjk5NjAzNTgsIDIyMTY3LCAxLjM0NjUxMTAwNjM1NTI4NTZdLCBbMTY2MzkyMjY4Mi4xODQwNTQsIDIyMTg1LCAxLjA1MzUxNzEwMzE5NTE5MDRdLCBbMTY2MzkyMjY4Mi40NzM4MzgzLCAyMjE5NCwgMC45NTk2NzY4NjE3NjMwMDA1XSwgWzE2NjM5MjI2ODIuODE2Mjc3NywgMjIyMzAsIDEuMjQ0MDIyODQ2MjIxOTIzOF0sIFsxNjYzOTIyNjgzLjE0OTI0LCAyMjI2NiwgMS4wNjcwNjAxMTI5NTMxODZdLCBbMTY2MzkyMjY4My4zMjE3NjkyLCAyMjI4NCwgMS4zMTcyMTQyNTA1NjQ1NzUyXSwgWzE2NjM5MjI2ODMuNTE4MDIxLCAyMjMwMiwgMS41MzA4MzQ2NzQ4MzUyMDVdLCBbMTY2MzkyMjY4NC4xMjAxMjM0LCAyMjM2NSwgMS4wMDE2MjU0MTg2NjMwMjVdLCBbMTY2MzkyMjY4NC4yMDcyNzIzLCAyMjM3NCwgMS4yMTQ0NTE1NTE0MzczNzhdLCBbMTY2MzkyMjY4NC41ODQwODYsIDIyNDEwLCAxLjI3NDY4NjU3NDkzNTkxM10sIFsxNjYzOTIyNjg0LjkyMjczNCwgMjI0NDYsIDAuOTMxNDU3NDAwMzIxOTYwNF0sIFsxNjYzOTIyNjg1LjE3NzQ2MzgsIDIyNDczLCAxLjEwNDM5MjUyODUzMzkzNTVdLCBbMTY2MzkyMjY4NS4zNTQwMTIsIDIyNDkxLCAxLjE4NDczNDk0MDUyODg2OTZdLCBbMTY2MzkyMjY4NS40NTEzNzI2LCAyMjUwMCwgMC45NDk5NTAzOTcwMTQ2MTc5XSwgWzE2NjM5MjI2ODUuNTg1NjA4NywgMjI1MDksIDEuMDQ3NzEwODk1NTM4MzNdLCBbMTY2MzkyMjY4Ni4wMzA4MTYzLCAyMjUzNiwgMS4wNDI5MTI0ODMyMTUzMzJdLCBbMTY2MzkyMjY4Ni4zMDMwODUzLCAyMjU1NCwgMC45NDU0Mjk2ODI3MzE2Mjg0XSwgWzE2NjM5MjI2ODYuNDA4NzAyMSwgMjI1NjMsIDAuOTEyMTA1NDQxMDkzNDQ0OF0sIFsxNjYzOTIyNjg2LjU5MzcyMTIsIDIyNTgxLCAxLjA3NjY1MDI2MTg3ODk2NzNdLCBbMTY2MzkyMjY4Ni43Nzg0OTIyLCAyMjU5OSwgMS4wMDE5OTYxNTk1NTM1Mjc4XSwgWzE2NjM5MjI2ODcuMDcwNjQ3NywgMjI2MjYsIDEuMjE5MjU2OTk3MTA4NDU5NV0sIFsxNjYzOTIyNjg3LjIzODMyNjgsIDIyNjQ0LCAxLjEzMTYyMDI4Nzg5NTIwMjZdLCBbMTY2MzkyMjY4Ny40MTYzMTM2LCAyMjY2MiwgMS4xMzc3NTQyMDE4ODkwMzhdLCBbMTY2MzkyMjY4Ny41MDM3MjQsIDIyNjcxLCAxLjAxNjE3Mjg4NTg5NDc3NTRdLCBbMTY2MzkyMjY4Ny42MDA4NDIsIDIyNjgwLCAwLjk2ODIyMTkwMjg0NzI5XSwgWzE2NjM5MjI2ODcuNzkzMTYxLCAyMjY5OCwgMS4wNjY3MzI2NDUwMzQ3OV0sIFsxNjYzOTIyNjg3Ljk3MDkyMiwgMjI3MTYsIDEuMzg5OTQyNTI2ODE3MzIxOF0sIFsxNjYzOTIyNjg4LjQ0Nzg2MjksIDIyNzYxLCAxLjA1MzE4NzcyNzkyODE2MTZdLCBbMTY2MzkyMjY4OC42MTQ4MDM4LCAyMjc3OSwgMS4zMDQ5MTQyMzYwNjg3MjU2XSwgWzE2NjM5MjI2ODguNzE2OTU5LCAyMjc4OCwgMC45NzUyNTExOTc4MTQ5NDE0XSwgWzE2NjM5MjI2ODguOTA0NDg0NSwgMjI4MDYsIDEuMjk5NTEwMzU5NzY0MDk5MV0sIFsxNjYzOTIyNjg5LjM2NDMxODYsIDIyODUxLCAxLjEwNDExMzM0MDM3NzgwNzZdLCBbMTY2MzkyMjY4OS41NDQwNzYyLCAyMjg2OSwgMC45NDAzMjUwODEzNDg0MTkyXSwgWzE2NjM5MjI2ODkuNzEyMjYyMiwgMjI4ODcsIDEuMDE2ODUyODU1NjgyMzczXSwgWzE2NjM5MjI2ODkuODA2NjEzMiwgMjI4OTYsIDEuMDAyNzcxMzc3NTYzNDc2Nl0sIFsxNjYzOTIyNjkxLjAzMzE5ODgsIDIyOTk1LCAxLjIyOTkyODM3NDI5MDQ2NjNdLCBbMTY2MzkyMjY5MS41Nzk4OTk1LCAyMzA0OSwgMS4wNzc1MTc4NjcwODgzMTc5XSwgWzE2NjM5MjI2OTIuMDQ2MDYxMywgMjMwOTQsIDEuMTYwNDcwMTI4MDU5Mzg3Ml0sIFsxNjYzOTIyNjkyLjE0MjQzNTgsIDIzMTAzLCAxLjAxNzc2NTE2NDM3NTMwNTJdLCBbMTY2MzkyMjY5Mi4zMjYyOTMsIDIzMTIxLCAxLjI1NDIxOTI5MzU5NDM2MDRdLCBbMTY2MzkyMjY5Mi41OTY4MDYsIDIzMTQ4LCAxLjA2NTkyMDM1MjkzNTc5MV0sIFsxNjYzOTIyNjkyLjk3NTk1NDMsIDIzMTg0LCAwLjk1MTYyNTg4MzU3OTI1NDJdLCBbMTY2MzkyMjY5My4xNTc2NzgsIDIzMjAyLCAxLjI2MjM3NTQ3Mzk3NjEzNTNdLCBbMTY2MzkyMjY5My4yNTAyMjQsIDIzMjExLCAwLjkyNTU2OTcxMzExNTY5MjFdLCBbMTY2MzkyMjY5My42OTY5NzcsIDIzMjU2LCAxLjA3MDQ2MzQxODk2MDU3MTNdLCBbMTY2MzkyMjY5My43ODExMzQ4LCAyMzI2NSwgMS4wMTg5MzEyNjk2NDU2OTFdLCBbMTY2MzkyMjY5My44NjE5MTUsIDIzMjc0LCAxLjIxNjQ2MDgyNDAxMjc1NjNdLCBbMTY2MzkyMjY5NC4xNDMwMjMsIDIzMzAxLCAxLjI2MjY4NjAxNDE3NTQxNV0sIFsxNjYzOTIyNjk0LjIyNDg4MDIsIDIzMzEwLCAxLjI0NzA3NzM0NTg0ODA4MzVdLCBbMTY2MzkyMjY5NC40ODcyNjk2LCAyMzMzNywgMS41OTk5OTA2MDYzMDc5ODM0XSwgWzE2NjM5MjI2OTUuMDA1NjU5MywgMjMzOTEsIDEuMTcwNDk4NjA5NTQyODQ2N10sIFsxNjYzOTIyNjk1LjA5NDU2MzIsIDIzNDAwLCAxLjA1NjcyMTQ0ODg5ODMxNTRdLCBbMTY2MzkyMjY5NS4yNzU0MTUsIDIzNDE4LCAxLjAzMTY0ODc1NTA3MzU0NzRdLCBbMTY2MzkyMjY5NS40NTE0NTkyLCAyMzQzNiwgMC45OTYwOTA1OTA5NTM4MjY5XSwgWzE2NjM5MjI2OTUuNjIxODc5OCwgMjM0NTQsIDEuMDYxNDcwMTUwOTQ3NTcwOF0sIFsxNjYzOTIyNjk1LjcxNDg5NjIsIDIzNDYzLCAxLjExMjgxNzUyNTg2MzY0NzVdLCBbMTY2MzkyMjY5Ni43ODEyMDEsIDIzNTYyLCAwLjk5MDY1NDk0NTM3MzUzNTJdLCBbMTY2MzkyMjY5Ni45MTMzOTkyLCAyMzU3MSwgMC45ODU4MDI1MzEyNDIzNzA2XSwgWzE2NjM5MjI2OTcuMDUzODUxLCAyMzU4MCwgMS4xNTE3NjA2OTczNjQ4MDcxXSwgWzE2NjM5MjI2OTcuMzg4NDgxNiwgMjM2MDcsIDAuOTc4ODg3NDk4Mzc4NzUzN10sIFsxNjYzOTIyNjk3LjkyNzA2MzIsIDIzNjUyLCAxLjExOTIyNzc2Njk5MDY2MTZdLCBbMTY2MzkyMjY5OC4wMjEwMDMsIDIzNjYxLCAwLjk0MDIxNjc3OTcwODg2MjNdLCBbMTY2MzkyMjY5OC42ODE1MzI2LCAyMzcwNiwgMS4wMDA3MzY4MzI2MTg3MTM0XSwgWzE2NjM5MjI2OTguNzY4OTgyMiwgMjM3MTUsIDEuMDAxMzgzMDY2MTc3MzY4Ml0sIFsxNjYzOTIyNjk4Ljg1Mzg2NCwgMjM3MjQsIDEuMTM0OTU2MzU5ODYzMjgxMl0sIFsxNjYzOTIyNjk4LjkzNzk0MTMsIDIzNzMzLCAxLjEwMjMxNjQ5ODc1NjQwODddLCBbMTY2MzkyMjY5OS4xMTEzODI1LCAyMzc1MSwgMS40NDg1MTYzNjg4NjU5NjY4XSwgWzE2NjM5MjI2OTkuMjAwMDIzLCAyMzc2MCwgMS4xMjA0MDA5MDU2MDkxMzA5XSwgWzE2NjM5MjI2OTkuMjk0NjUwMywgMjM3NjksIDAuOTQ3NjYzMTg3OTgwNjUxOV0sIFsxNjYzOTIyNjk5LjU3NzM1NjMsIDIzNzk2LCAxLjE4Nzc0ODMxMjk1MDEzNDNdLCBbMTY2MzkyMjcwMC41NzA2NDMsIDIzODk1LCAwLjk0MTc4NzYwMDUxNzI3M10sIFsxNjYzOTIyNzAxLjEwNDQ1NDgsIDIzOTQ5LCAxLjA1MDA3MjMxMjM1NTA0MTVdLCBbMTY2MzkyMjcwMS4zMzA3MzUyLCAyMzk2NywgMS4zNDM1OTQ5MDg3MTQyOTQ0XSwgWzE2NjM5MjI3MDEuODEwMzE5NywgMjQwMTIsIDEuMDA0OTE3MjYzOTg0NjgwMl0sIFsxNjYzOTIyNzAyLjA3NzQzMzgsIDI0MDM5LCAwLjk0MjYxNTAzMjE5NjA0NDldLCBbMTY2MzkyMjcwMi4xNzY5NzA3LCAyNDA0OCwgMS4yOTA4NTQ1NzMyNDk4MTddLCBbMTY2MzkyMjcwMi4yNjQzNzI2LCAyNDA1NywgMC45MzExNDg3Njc0NzEzMTM1XSwgWzE2NjM5MjI3MDIuNDQ0NjA5MiwgMjQwNzUsIDAuOTUwMTgzNTcwMzg0OTc5Ml0sIFsxNjYzOTIyNzAzLjEwOTE5NiwgMjQxMzgsIDAuOTMzMjQxOTAzNzgxODkwOV0sIFsxNjYzOTIyNzAzLjM3NTY5MjEsIDI0MTY1LCAxLjA3NTAxMTczMDE5NDA5MThdLCBbMTY2MzkyMjcwMy41OTE5MzA0LCAyNDE4MywgMS4zMTI2Mzg3NTk2MTMwMzddLCBbMTY2MzkyMjcwMy44ODg1NTk4LCAyNDIxMCwgMC45ODY0Mjg2MTg0MzEwOTEzXSwgWzE2NjM5MjI3MDQuMjA4MzczLCAyNDIyOCwgMS4wODgxNTc1MzQ1OTkzMDQyXSwgWzE2NjM5MjI3MDQuNDQ5MjkzLCAyNDI0NiwgMS4xNTA4MDI4NTA3MjMyNjY2XSwgWzE2NjM5MjI3MDUuMjA0MjYzNCwgMjQzMTgsIDAuOTUwOTg1MDE0NDM4NjI5Ml0sIFsxNjYzOTIyNzA1LjI4NDc3NjIsIDI0MzI3LCAwLjkwMjUwMTg4MTEyMjU4OTFdLCBbMTY2MzkyMjcwNS4zODE2NjE0LCAyNDMzNiwgMC45NjQ5OTAxMzkwMDc1Njg0XSwgWzE2NjM5MjI3MDUuNDgwODAyNSwgMjQzNDUsIDEuMDg1NTUyMjE1NTc2MTcxOV0sIFsxNjYzOTIyNzA1LjY1NzY2MzgsIDI0MzYzLCAxLjAxMzE1ODU1OTc5OTE5NDNdLCBbMTY2MzkyMjcwNS44NDU4MDMzLCAyNDM4MSwgMS4xNjY1NjQ4MjIxOTY5NjA0XSwgWzE2NjM5MjI3MDUuOTQ0OTA2NSwgMjQzOTAsIDEuMDQwNzgwNDI1MDcxNzE2M10sIFsxNjYzOTIyNzA2LjA0NjcyMywgMjQzOTksIDAuOTU4OTI0MTE0NzA0MTMyMV0sIFsxNjYzOTIyNzA2LjI1MTIzNjcsIDI0NDE3LCAwLjkzOTA5MzA1MzM0MDkxMTldLCBbMTY2MzkyMjcwNi4zNDI3Njk5LCAyNDQyNiwgMC45ODE5NDA0NDgyODQxNDkyXSwgWzE2NjM5MjI3MDYuNDQ2NjYwMywgMjQ0MzUsIDEuMTM5NTY4OTI0OTAzODY5Nl0sIFsxNjYzOTIyNzA2LjkwMjY5NjQsIDI0NDYyLCAwLjk5ODg5MDQ1OTUzNzUwNjFdLCBbMTY2MzkyMjcwNi45OTUzNDk0LCAyNDQ3MSwgMC45NzIyOTExNzE1NTA3NTA3XSwgWzE2NjM5MjI3MDcuMDk2NTU1NywgMjQ0ODAsIDEuMDIxNzMzNDAzMjA1ODcxNl0sIFsxNjYzOTIyNzA3LjU0ODk1OTcsIDI0NTI1LCAxLjM4MDE1Njk5Mzg2NTk2NjhdLCBbMTY2MzkyMjcwNy42NDk1OTksIDI0NTM0LCAxLjA0Mjg3MTIzNjgwMTE0NzVdLCBbMTY2MzkyMjcwNy44MzY2MjIyLCAyNDU1MiwgMS4xMTA5MzAwODUxODIxOV0sIFsxNjYzOTIyNzA4LjAxMzgxNzUsIDI0NTcwLCAxLjIxMTY0NTQ4Mzk3MDY0Ml0sIFsxNjYzOTIyNzA4LjExNzU4MywgMjQ1NzksIDAuOTQ2MzQzODM5MTY4NTQ4Nl0sIFsxNjYzOTIyNzA4LjQ3NTMyMjUsIDI0NjE1LCAwLjk3MDQ0MDM4NzcyNTgzMDFdLCBbMTY2MzkyMjcwOC41NzEwNjc4LCAyNDYyNCwgMS4wMzk0MDUxMDc0OTgxNjldLCBbMTY2MzkyMjcwOC45MzIyNzYsIDI0NjYwLCAxLjAxMDMyMjkyODQyODY1XSwgWzE2NjM5MjI3MDkuMDI1MDQxNiwgMjQ2NjksIDEuMDUwODE5MTU4NTU0MDc3MV0sIFsxNjYzOTIyNzA5LjExNzUzNTgsIDI0Njc4LCAxLjQxNTE0MDYyODgxNDY5NzNdLCBbMTY2MzkyMjcwOS4yMTA3NzYzLCAyNDY4NywgMS4zMzYwMTQyNzA3ODI0NzA3XSwgWzE2NjM5MjI3MDkuMzkxNjMyOCwgMjQ3MDUsIDAuOTE5ODgwMjExMzUzMzAyXSwgWzE2NjM5MjI3MDkuNDcyMTM3LCAyNDcxNCwgMS4wMTEzMTU4MjI2MDEzMTg0XSwgWzE2NjM5MjI3MDkuNTYwMzE1OCwgMjQ3MjMsIDAuOTcyMTgwMDA4ODg4MjQ0Nl0sIFsxNjYzOTIyNzEwLjI0MDE3NzIsIDI0Nzg2LCAxLjI0MTMyMDAxMzk5OTkzOV0sIFsxNjYzOTIyNzEwLjMyOTg1NjksIDI0Nzk1LCAwLjk5NTYzOTU2MjYwNjgxMTVdLCBbMTY2MzkyMjcxMC40MjAyMTk0LCAyNDgwNCwgMS4yMDU3Mzc1OTA3ODk3OTVdLCBbMTY2MzkyMjcxMC42ODg3MTgzLCAyNDgzMSwgMC45NTkwMTA2MDEwNDM3MDEyXSwgWzE2NjM5MjI3MTAuODY2NTY4LCAyNDg0OSwgMS4wODc2ODY4OTYzMjQxNTc3XSwgWzE2NjM5MjI3MTAuOTk1NDI1LCAyNDg1OCwgMC45OTQ1MjM2NDQ0NDczMjY3XSwgWzE2NjM5MjI3MTEuNDcxNDc3MywgMjQ4OTQsIDAuOTExNDIyNTUwNjc4MjUzMl0sIFsxNjYzOTIyNzExLjczNTY0MDMsIDI0OTIxLCAxLjQyNTAyNTkzOTk0MTQwNjJdLCBbMTY2MzkyMjcxMS45OTI0NzU1LCAyNDk0OCwgMS4xNDI2Njg3MjQwNjAwNTg2XSwgWzE2NjM5MjI3MTIuMTg4MDA2NiwgMjQ5NjYsIDAuOTQyNjU2Njk1ODQyNzQyOV0sIFsxNjYzOTIyNzEyLjM3MTkzMzcsIDI0OTg0LCAxLjE5NzA2NzYxODM3MDA1NjJdLCBbMTY2MzkyMjcxMi41NDkyNTg1LCAyNTAwMiwgMS4wNzE4MTczOTgwNzEyODldLCBbMTY2MzkyMjcxMi42MzE5ODAyLCAyNTAxMSwgMS4xODcyMDUwNzYyMTc2NTE0XSwgWzE2NjM5MjI3MTIuNzIwODY5OCwgMjUwMjAsIDEuMTYxMDgzMzQwNjQ0ODM2NF0sIFsxNjYzOTIyNzEzLjE1ODU1NiwgMjUwNjUsIDAuOTQ2NDMxODE1NjI0MjM3MV0sIFsxNjYzOTIyNzEzLjI0Nzg2OTMsIDI1MDc0LCAxLjA1NzQxMDAwMTc1NDc2MDddLCBbMTY2MzkyMjcxNC41MDkwNjQsIDI1MTgyLCAxLjAyMzkwNTYzNDg4MDA2Nl0sIFsxNjYzOTIyNzE0LjY4MDY4NzcsIDI1MjAwLCAxLjI1MDE1NjQwMjU4Nzg5MDZdLCBbMTY2MzkyMjcxNS4yOTI4OTUsIDI1MjYzLCAxLjEwODQ1NTUzODc0OTY5NDhdLCBbMTY2MzkyMjcxNS44MTcwMjUsIDI1MzE3LCAwLjk1OTg3NTM0NTIzMDEwMjVdLCBbMTY2MzkyMjcxNS44OTYwNjg2LCAyNTMyNiwgMS4yOTM5MDgxMTkyMDE2NjAyXSwgWzE2NjM5MjI3MTYuODgyMzkzNCwgMjU0MjUsIDEuNjkxNzk0NTE0NjU2MDY3XSwgWzE2NjM5MjI3MTYuOTcxNzU1NSwgMjU0MzQsIDEuMzQxMTg4MzExNTc2ODQzM10sIFsxNjYzOTIyNzE3LjQzOTczMiwgMjU0NzksIDAuOTI4MTA5NTI2NjM0MjE2M10sIFsxNjYzOTIyNzE3Ljc5NzUzOSwgMjU1MTUsIDEuMTQyNzQ4MTE3NDQ2ODk5NF0sIFsxNjYzOTIyNzE3Ljg4NTM4OSwgMjU1MjQsIDEuMzIxNjMxNTUwNzg4ODc5NF1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_09-03-21_54c5144e9b50&tag=Loss%2Fvalid":{"data":"W1sxNjYzOTIzODAxLjU1Mzc1NzQsIDM2LCAxODcuOTI5NDU4NjE4MTY0MDZdLCBbMTY2MzkyMzgwMS42NTk1MzQsIDQ1LCAxNjkuMDA5OTQ4NzMwNDY4NzVdLCBbMTY2MzkyMzgwMi4zMTEwNTI4LCA5OSwgMTgzLjYwMzQwODgxMzQ3NjU2XSwgWzE2NjM5MjM4MDIuNzc3MDc0MywgMTM1LCAxNjMuMzMxNjk1NTU2NjQwNjJdLCBbMTY2MzkyMzgwMi44OTY5NjM4LCAxNDQsIDE3NS42OTg3NjA5ODYzMjgxMl0sIFsxNjYzOTIzODAzLjIzNTg2MTgsIDE3MSwgMTY2Ljk2NDU1MzgzMzAwNzhdLCBbMTY2MzkyMzgwMy4zNTIwNzA2LCAxODAsIDE3MC44NDI1MTQwMzgwODU5NF0sIFsxNjYzOTIzODAzLjQ3MDE0ODYsIDE4OSwgMTc2LjQyNDA1NzAwNjgzNTk0XSwgWzE2NjM5MjM4MDMuNjk0MTE0NCwgMjA3LCAxNjguOTc0NTQ4MzM5ODQzNzVdLCBbMTY2MzkyMzgwMy44MDA5NDU1LCAyMTYsIDE2MS4wNTQ5MDExMjMwNDY4OF0sIFsxNjYzOTIzODA0LjEyNzcyMiwgMjQzLCAxNzMuNjU0NDc5OTgwNDY4NzVdLCBbMTY2MzkyMzgwNC4yMzY5NzM4LCAyNTIsIDE1OC4xNzUyOTI5Njg3NV0sIFsxNjYzOTIzODA1LjQ5OTQ3ODYsIDM1MSwgMTU1LjA2NjcxMTQyNTc4MTI1XSwgWzE2NjM5MjM4MDUuNzI5NDM1MiwgMzY5LCAxNDUuNDgzNjg4MzU0NDkyMl0sIFsxNjYzOTIzODA2LjY4MTY4MzgsIDQzMiwgMTUxLjg0MjM3NjcwODk4NDM4XSwgWzE2NjM5MjM4MDYuODAxMjE3NiwgNDQxLCAxNjYuMDQ0OTUyMzkyNTc4MTJdLCBbMTY2MzkyMzgwNi45MTYwMDk3LCA0NTAsIDE1OS4xNjEwMTA3NDIxODc1XSwgWzE2NjM5MjM4MDcuMTQyNjYyLCA0NjgsIDEzNS44MTQzNzY4MzEwNTQ3XSwgWzE2NjM5MjM4MDcuNDgzMTczOCwgNDk1LCAxMzcuODAyMTg1MDU4NTkzNzVdLCBbMTY2MzkyMzgwNy44MzIyNDc1LCA1MjIsIDEzNy44MzYzMDM3MTA5Mzc1XSwgWzE2NjM5MjM4MDguMTgzOTY2NCwgNTQ5LCAxNDMuMzUzNzEzOTg5MjU3OF0sIFsxNjYzOTIzODA4LjI5NTU0NDYsIDU1OCwgMTMzLjgzMTE3Njc1NzgxMjVdLCBbMTY2MzkyMzgwOC40MTIyMDg4LCA1NjcsIDE0NC4zMzAwMTcwODk4NDM3NV0sIFsxNjYzOTIzODA4LjUyODQ4MjcsIDU3NiwgMTM5LjM5MTUyNTI2ODU1NDddLCBbMTY2MzkyMzgwOC43NjA5NDc3LCA1OTQsIDE1NC42MTIyMTMxMzQ3NjU2Ml0sIFsxNjYzOTIzODA4Ljg4NDU1OSwgNjAzLCAxMzguMDM1MjE3Mjg1MTU2MjVdLCBbMTY2MzkyMzgwOS4wMDQwNjQsIDYxMiwgMTQwLjc1MzcwNzg4NTc0MjJdLCBbMTY2MzkyMzgwOS4xMjA3MTM3LCA2MjEsIDEzMS45OTQzODQ3NjU2MjVdLCBbMTY2MzkyMzgwOS4zNjI5NzEzLCA2MzksIDE0My40MjAwMjg2ODY1MjM0NF0sIFsxNjYzOTIzODA5LjQ4NDkxMywgNjQ4LCAxMzUuNTkwODM1NTcxMjg5MDZdLCBbMTY2MzkyMzgxMC4xNTk0NzEzLCA3MDIsIDEzMy4yMjg3OTAyODMyMDMxMl0sIFsxNjYzOTIzODEwLjM3NTQ4MDcsIDcyMCwgMTM2LjI2MjQyMDY1NDI5Njg4XSwgWzE2NjM5MjM4MTAuNzEwMzM0NSwgNzQ3LCAxMzIuNjg2ODU5MTMwODU5MzhdLCBbMTY2MzkyMzgxMS4wMzYxNTYsIDc3NCwgMTE2LjM2MDc1NTkyMDQxMDE2XSwgWzE2NjM5MjM4MTEuNDc2OTIyNSwgODEwLCAxMzYuMDM5MjQ1NjA1NDY4NzVdLCBbMTY2MzkyMzgxMi41MjcwNzU4LCA5MDAsIDEzMy42MDM5NTgxMjk4ODI4XSwgWzE2NjM5MjM4MTIuOTkwMTYyNCwgOTM2LCAxMTQuMzAwMzA4MjI3NTM5MDZdLCBbMTY2MzkyMzgxMy4zMjE5NDQ3LCA5NjMsIDExOC4xMjMzMDYyNzQ0MTQwNl0sIFsxNjYzOTIzODEzLjQyMjU5MSwgOTcyLCAxMjguODE1NzM0ODYzMjgxMjVdLCBbMTY2MzkyMzgxMy42NDE1OTk3LCA5OTAsIDEzOC40NDQxOTg2MDgzOTg0NF0sIFsxNjYzOTIzODE0LjQyNDIwMSwgMTA1MywgMTM3LjgyMjU1NTU0MTk5MjJdLCBbMTY2MzkyMzgxNS4wMDA2NzYyLCAxMDk4LCAxMjAuNDY4MzIyNzUzOTA2MjVdLCBbMTY2MzkyMzgxNS40MzU2NTQ2LCAxMTM0LCAxMzAuNzM5ODA3MTI4OTA2MjVdLCBbMTY2MzkyMzgxNS41NTIyNywgMTE0MywgMTExLjA4MzE0NTE0MTYwMTU2XSwgWzE2NjM5MjM4MTUuNzY0MzM3OCwgMTE2MSwgMTMyLjg4NTMxNDk0MTQwNjI1XSwgWzE2NjM5MjM4MTUuOTYxNjkyNiwgMTE3OSwgMTEzLjg0ODcwMTQ3NzA1MDc4XSwgWzE2NjM5MjM4MTYuNzgxODYxLCAxMjMzLCAxMjguNjY3MjgyMTA0NDkyMl0sIFsxNjYzOTIzODE2Ljg3NzYzMywgMTI0MiwgMTE5LjQzNjczNzA2MDU0Njg4XSwgWzE2NjM5MjM4MTcuNjU3MDc4MywgMTMwNSwgMTMyLjkwMzM4MTM0NzY1NjI1XSwgWzE2NjM5MjM4MTcuODY3NDMsIDEzMjMsIDEwMy42OTA1MjEyNDAyMzQzOF0sIFsxNjYzOTIzODE3Ljk5NjI4OTMsIDEzMzIsIDEyMi4xNTM3ODU3MDU1NjY0XSwgWzE2NjM5MjM4MTguMzEyODc5OCwgMTM1OSwgMTAzLjAxMDYxMjQ4Nzc5Mjk3XSwgWzE2NjM5MjM4MTkuMDY5NzYwOCwgMTQyMiwgMTAyLjI5MzA4MzE5MDkxNzk3XSwgWzE2NjM5MjM4MTkuMzk1Njg1NCwgMTQ0OSwgMTA2LjE3NzQ5MDIzNDM3NV0sIFsxNjYzOTIzODE5LjU4NTk5MywgMTQ2NywgMTE2LjEzNDM3NjUyNTg3ODldLCBbMTY2MzkyMzgxOS43OTEyMTcsIDE0ODUsIDExMS42MDk3NzkzNTc5MTAxNl0sIFsxNjYzOTIzODIwLjM5MDI4NzIsIDE1MzksIDExMS4xMDU4OTU5OTYwOTM3NV0sIFsxNjYzOTIzODIwLjQ5MTExMTgsIDE1NDgsIDEwMS41MzU3MDU1NjY0MDYyNV0sIFsxNjYzOTIzODIwLjU4MTk4MjEsIDE1NTcsIDEwMi41NzM2Mzg5MTYwMTU2Ml0sIFsxNjYzOTIzODIxLjA3NDk0MjgsIDE2MDIsIDk3LjUxNzI4ODIwODAwNzgxXSwgWzE2NjM5MjM4MjEuNDc4Nzc5LCAxNjM4LCAxMDguNjUwMzM3MjE5MjM4MjhdLCBbMTY2MzkyMzgyMS43NzE3NTI0LCAxNjY1LCAxMDEuNTY0MTg2MDk2MTkxNF0sIFsxNjYzOTIzODIxLjg2OTAyNDgsIDE2NzQsIDEwNC40MjQ0OTk1MTE3MTg3NV0sIFsxNjYzOTIzODIxLjk4NzA4MTgsIDE2ODMsIDEwMi4wNDQxODk0NTMxMjVdLCBbMTY2MzkyMzgyMi4zOTAzMzQsIDE3MTksIDkyLjczOTU1NTM1ODg4NjcyXSwgWzE2NjM5MjM4MjIuNDgzNTQ4LCAxNzI4LCA4Ni4zMTQyMTY2MTM3Njk1M10sIFsxNjYzOTIzODIyLjYwNzIyNCwgMTczNywgMTA0LjQ1Mzg4NzkzOTQ1MzEyXSwgWzE2NjM5MjM4MjMuMzgwMTU5OSwgMTgwMCwgOTcuODc3NDU2NjY1MDM5MDZdLCBbMTY2MzkyMzgyMy43MDExMzIzLCAxODI3LCA5OS4yOTM0MjY1MTM2NzE4OF0sIFsxNjYzOTIzODIzLjc5MzQwMywgMTgzNiwgODAuNjY5MjUwNDg4MjgxMjVdLCBbMTY2MzkyMzgyMy44ODY2Nzc3LCAxODQ1LCA3NC40MTI0Njc5NTY1NDI5N10sIFsxNjYzOTIzODIzLjk4OTMyOCwgMTg1NCwgMTAwLjg4OTA5OTEyMTA5Mzc1XSwgWzE2NjM5MjM4MjQuMjAyMjc1OCwgMTg3MiwgODYuNjM1NzcyNzA1MDc4MTJdLCBbMTY2MzkyMzgyNC42MTQwODM1LCAxOTA4LCA4My41MTk2MzA0MzIxMjg5XSwgWzE2NjM5MjM4MjQuODA0NTY1LCAxOTI2LCA4OC4xOTA1NzQ2NDU5OTYxXSwgWzE2NjM5MjM4MjQuOTk1MTk3MywgMTk0NCwgNzguMzA1MzgxNzc0OTAyMzRdLCBbMTY2MzkyMzgyNS40OTUzMDg0LCAxOTgwLCA3OS40OTcyMzA1Mjk3ODUxNl0sIFsxNjYzOTIzODI1LjgxNjY1MTYsIDE5ODksIDg1LjAxOTQyNDQzODQ3NjU2XSwgWzE2NjM5MjM4MjUuOTMxMDIyMiwgMTk5OCwgODEuOTI3MTc3NDI5MTk5MjJdLCBbMTY2MzkyMzgyNi4zMDc5ODc3LCAyMDI1LCA4Ni45OTQwMTA5MjUyOTI5N10sIFsxNjYzOTIzODI2Ljg0MDIzNDgsIDIwNzAsIDgxLjA2NjMwNzA2Nzg3MTFdLCBbMTY2MzkyMzgyNy44NTUyMTE1LCAyMTYwLCA4Ni45MzM1NzA4NjE4MTY0XSwgWzE2NjM5MjM4MjguMDQ2NjY3NiwgMjE3OCwgODUuODgzMDk0Nzg3NTk3NjZdLCBbMTY2MzkyMzgyOC40MjcwNDIsIDIyMDUsIDc0LjYxNTk1OTE2NzQ4MDQ3XSwgWzE2NjM5MjM4MjguNTY5MjI3LCAyMjE0LCA3OC44ODE5NjU2MzcyMDcwM10sIFsxNjYzOTIzODI4LjY3NTE3MywgMjIyMywgODEuODgzMTI1MzA1MTc1NzhdLCBbMTY2MzkyMzgyOS42NzA4NTMsIDIyOTUsIDcyLjQ2MzgzNjY2OTkyMTg4XSwgWzE2NjM5MjM4MzAuMTU3NjM4NSwgMjMzMSwgNzMuODgyNDIzNDAwODc4OV0sIFsxNjYzOTIzODMwLjI2NDE1MjUsIDIzNDAsIDcxLjI5MTcxNzUyOTI5Njg4XSwgWzE2NjM5MjM4MzAuMzU1ODMyOCwgMjM0OSwgNzQuODg1NTA1Njc2MjY5NTNdLCBbMTY2MzkyMzgzMS40ODQ1NjIsIDI0NDgsIDc1Ljg4NDQ2MDQ0OTIxODc1XSwgWzE2NjM5MjM4MzEuNzg5Njk0MywgMjQ3NSwgNjIuNTg5NzU2MDExOTYyODldLCBbMTY2MzkyMzgzMi4wMjE2NDk2LCAyNDkzLCA2MS4xNjI2MjgxNzM4MjgxMjVdLCBbMTY2MzkyMzgzMi4yNTQ2MDU4LCAyNTExLCA2MC4zOTg2MTY3OTA3NzE0ODRdLCBbMTY2MzkyMzgzMi40NTkxNDI3LCAyNTI5LCA4MC45OTQwMTg1NTQ2ODc1XSwgWzE2NjM5MjM4MzIuNjc2NDM1LCAyNTQ3LCA3MS43NTM3NDYwMzI3MTQ4NF0sIFsxNjYzOTIzODMyLjk3MTM4MTQsIDI1NzQsIDcxLjc0NTg3MjQ5NzU1ODZdLCBbMTY2MzkyMzgzMy4yOTY1NTI3LCAyNjAxLCA2MS4wNzc0OTE3NjAyNTM5MDZdLCBbMTY2MzkyMzgzMy41MTE5MzIsIDI2MTksIDcxLjcxMjYzODg1NDk4MDQ3XSwgWzE2NjM5MjM4MzQuMDQyMDA1LCAyNjY0LCA2MS4yNzM3NTAzMDUxNzU3OF0sIFsxNjYzOTIzODM0LjIzNjgyNjcsIDI2ODIsIDY4LjM1MjUyMzgwMzcxMDk0XSwgWzE2NjM5MjM4MzQuMzM2NzM3OSwgMjY5MSwgNTQuMjg2MTkzODQ3NjU2MjVdLCBbMTY2MzkyMzgzNS4zNTYzOTIsIDI3NjMsIDU3LjQ4MDAxODYxNTcyMjY1Nl0sIFsxNjYzOTIzODM1LjU0NDM5NCwgMjc4MSwgNjkuNDg5MDc0NzA3MDMxMjVdLCBbMTY2MzkyMzgzNS45Mzk2NjA4LCAyODE3LCA2MC4yNzcwNzY3MjExOTE0MDZdLCBbMTY2MzkyMzgzNi4zNzEwMDQ2LCAyODUzLCA2MC4xOTcyMDA3NzUxNDY0ODRdLCBbMTY2MzkyMzgzNi41ODA2NjQsIDI4NzEsIDU0LjgzNzA2NjY1MDM5MDYyNV0sIFsxNjYzOTIzODM2LjY4MDk4NzgsIDI4ODAsIDYxLjU2MTUwNDM2NDAxMzY3XSwgWzE2NjM5MjM4MzYuOTgwNzI1LCAyOTA3LCA1OS4wMzIyNzYxNTM1NjQ0NV0sIFsxNjYzOTIzODM4LjQ1OTI5NTMsIDMwNDIsIDUzLjExMDQzNTQ4NTgzOTg0NF0sIFsxNjYzOTIzODM4LjU5MjU1MDUsIDMwNTEsIDU1LjY2ODg4MDQ2MjY0NjQ4NF0sIFsxNjYzOTIzODM5LjExNTAyMTIsIDMwOTYsIDQ4LjY5MTA5MzQ0NDgyNDIyXSwgWzE2NjM5MjM4MzkuMzExNDYzNCwgMzExNCwgNTIuNzgwNzk2MDUxMDI1MzldLCBbMTY2MzkyMzgzOS40MTY3MjMsIDMxMjMsIDUyLjY5MTcwMzc5NjM4NjcyXSwgWzE2NjM5MjM4NDAuMDQ1MzYwOCwgMzE3NywgNDIuNjY0NzY0NDA0Mjk2ODc1XSwgWzE2NjM5MjM4NDAuMjY0MzA3NSwgMzE5NSwgNDUuMzI0NDY2NzA1MzIyMjY2XSwgWzE2NjM5MjM4NDAuNjc4MjY1MywgMzIzMSwgNDguMTc0MDIyNjc0NTYwNTVdLCBbMTY2MzkyMzg0MS4wODc4NTA4LCAzMjY3LCA0My4zNDQzNjAzNTE1NjI1XSwgWzE2NjM5MjM4NDEuMjAwMzU5OCwgMzI3NiwgNDQuNTA2OTE5ODYwODM5ODQ0XSwgWzE2NjM5MjM4NDEuMzAxMzg3OCwgMzI4NSwgNDIuNjY2MjQ0NTA2ODM1OTRdLCBbMTY2MzkyMzg0MS4zOTE3NTYsIDMyOTQsIDQxLjQxNDk3NDIxMjY0NjQ4NF0sIFsxNjYzOTIzODQxLjQ5NTUzMTYsIDMzMDMsIDQwLjc5OTM3NzQ0MTQwNjI1XSwgWzE2NjM5MjM4NDEuNTk1Mjg0NywgMzMxMiwgNDEuMTYyMTMyMjYzMTgzNTk0XSwgWzE2NjM5MjM4NDIuNzk5NjI0NywgMzQxMSwgNDEuMzk0Mjk0NzM4NzY5NTNdLCBbMTY2MzkyMzg0My42NTE4NjQ4LCAzNDgzLCAzMy4zODY4NDQ2MzUwMDk3NjZdLCBbMTY2MzkyMzg0NC4wNjk5MjUsIDM1MTksIDM4LjU1MzUzOTI3NjEyMzA1XSwgWzE2NjM5MjM4NDQuMzQ0ODg4LCAzNTM3LCAzNS4zNTYzOTE5MDY3MzgyOF0sIFsxNjYzOTIzODQ0Ljc4MTMzOTQsIDM1NTUsIDMyLjE4NjgxMzM1NDQ5MjE5XSwgWzE2NjM5MjM4NDUuMTA1OTE0LCAzNTgyLCAzOS45MjUxMTc0OTI2NzU3OF0sIFsxNjYzOTIzODQ1LjcxOTAzOCwgMzYyNywgMzIuNTA5NzEyMjE5MjM4MjhdLCBbMTY2MzkyMzg0NS45NjIwMDkyLCAzNjQ1LCAzMC41NjAxNDA2MDk3NDEyMV0sIFsxNjYzOTIzODQ2LjU4NzYxNywgMzY5MCwgMzQuMTczNjQ4ODM0MjI4NTE2XSwgWzE2NjM5MjM4NDcuMDAwNzg0LCAzNzI2LCAzNC45NjAyMjQxNTE2MTEzM10sIFsxNjYzOTIzODQ3LjEwMzE2OTIsIDM3MzUsIDI5LjU4NDY2MTQ4Mzc2NDY1XSwgWzE2NjM5MjM4NDcuMjA1MTkxLCAzNzQ0LCAzMC42OTg1MzAxOTcxNDM1NTVdLCBbMTY2MzkyMzg0Ny44OTQ0MDU2LCAzNzk4LCAyNy43NjQ5ODIyMjM1MTA3NDJdLCBbMTY2MzkyMzg0OC4wMTY1MTIyLCAzODA3LCAzNC4xODkxMzI2OTA0Mjk2OV0sIFsxNjYzOTIzODQ4LjM1NjE3NSwgMzgzNCwgMjguNTUxMjA4NDk2MDkzNzVdLCBbMTY2MzkyMzg0OC40NDg0MTEyLCAzODQzLCAyOS4xNjkxNzgwMDkwMzMyMDNdLCBbMTY2MzkyMzg0OC44NDYzMTgsIDM4NzksIDI4LjY1MDkxODk2MDU3MTI5XSwgWzE2NjM5MjM4NDkuNTY1ODk2LCAzOTI0LCAyOS4zODI4MTgyMjIwNDU5XSwgWzE2NjM5MjM4NDkuOTAzMzI5NCwgMzkzMywgMjYuNDE4NjU1Mzk1NTA3ODEyXSwgWzE2NjM5MjM4NTAuMTE1MTU1MiwgMzk0MiwgMjUuNjAwMjE3ODE5MjEzODY3XSwgWzE2NjM5MjM4NTAuMzMxNTg0NywgMzk2MCwgMjIuNTM4NjM3MTYxMjU0ODgzXSwgWzE2NjM5MjM4NTAuNTc2NjYxOCwgMzk3OCwgMjUuMjkwNTEzOTkyMzA5NTddLCBbMTY2MzkyMzg1MC43Nzg2Njg0LCAzOTk2LCAyNi40NjM1ODg3MTQ1OTk2MV0sIFsxNjYzOTIzODUwLjg3ODIzMDgsIDQwMDUsIDI3LjI3NjQ1MTExMDgzOTg0NF0sIFsxNjYzOTIzODUxLjEyMjc1MzQsIDQwMjMsIDI0LjU1NTA1MzcxMDkzNzVdLCBbMTY2MzkyMzg1MS41ODcwNzcxLCA0MDU5LCAyMS45MTk5MDg1MjM1NTk1N10sIFsxNjYzOTIzODUxLjc5MjQyOCwgNDA3NywgMjQuNjg5MTk1NjMyOTM0NTddLCBbMTY2MzkyMzg1Mi4xNjk2OTEzLCA0MTEzLCAyNC45Njc1MDgzMTYwNDAwNF0sIFsxNjYzOTIzODUyLjU2MTg2MDYsIDQxNDksIDIwLjM3MDIyOTcyMTA2OTMzNl0sIFsxNjYzOTIzODUyLjY2MzEzMzYsIDQxNTgsIDIyLjQwMjM2MDkxNjEzNzY5NV0sIFsxNjYzOTIzODUzLjAzNzkxMjQsIDQxOTQsIDI1LjU4NzgyMzg2Nzc5Nzg1XSwgWzE2NjM5MjM4NTMuMTM3NTIxMywgNDIwMywgMTkuMDU1MDgwNDEzODE4MzZdLCBbMTY2MzkyMzg1My4zMzYzOTg2LCA0MjIxLCAyMy4zNjYxNjEzNDY0MzU1NDddLCBbMTY2MzkyMzg1My41NzYwMjYsIDQyMzksIDIxLjA1OTk0NDE1MjgzMjAzXSwgWzE2NjM5MjM4NTQuMDYzMTYxNiwgNDI3NSwgMjEuNTQxNTE5MTY1MDM5MDYyXSwgWzE2NjM5MjM4NTQuMTY0MjU1MSwgNDI4NCwgMjIuMTQzOTQ1NjkzOTY5NzI3XSwgWzE2NjM5MjM4NTQuOTc0MzYxLCA0MzI5LCAxNy42MzY1NTA5MDMzMjAzMTJdLCBbMTY2MzkyMzg1NS4wOTQxODUsIDQzMzgsIDIyLjQyNzE4Njk2NTk0MjM4M10sIFsxNjYzOTIzODU1LjQzOTk4NjUsIDQzNjUsIDE5LjMwOTAyODYyNTQ4ODI4XSwgWzE2NjM5MjM4NTUuNzQ3NDQ1NiwgNDM5MiwgMjAuNTg0OTk3MTc3MTI0MDIzXSwgWzE2NjM5MjM4NTUuODU2ODgzNSwgNDQwMSwgMTcuNDU2MzY3NDkyNjc1NzhdLCBbMTY2MzkyMzg1NS45NTAwNTgyLCA0NDEwLCAxNy4zNDQ2MTc4NDM2Mjc5M10sIFsxNjYzOTIzODU2LjE2NTk5NzMsIDQ0MjgsIDIxLjE5NjYwNTY4MjM3MzA0N10sIFsxNjYzOTIzODU2LjQ3NTc0NywgNDQ1NSwgMTkuMjAyNjk5NjYxMjU0ODgzXSwgWzE2NjM5MjM4NTYuODg1NTE4MywgNDQ5MSwgMTYuNjY0NDU3MzIxMTY2OTkyXSwgWzE2NjM5MjM4NTcuMzI1MzA0NywgNDUyNywgMTYuMTcyOTIwMjI3MDUwNzhdLCBbMTY2MzkyMzg1Ny40MjQyNjg1LCA0NTM2LCAxNy40NTgzNDU0MTMyMDgwMDhdLCBbMTY2MzkyMzg1OC4wODQyNjUsIDQ1OTAsIDE2LjU2Njk0NDEyMjMxNDQ1M10sIFsxNjYzOTIzODU4LjE5ODM2NzgsIDQ1OTksIDE4LjA3MzU1MzA4NTMyNzE1XSwgWzE2NjM5MjM4NTguMzE5MjQyNSwgNDYwOCwgMTMuOTcyNjE4MTAzMDI3MzQ0XSwgWzE2NjM5MjM4NTguNDM0NTc1MywgNDYxNywgMTQuNzE5MTAxOTA1ODIyNzU0XSwgWzE2NjM5MjM4NTguNTM2NTU5OCwgNDYyNiwgMTYuODY5MTk0MDMwNzYxNzJdLCBbMTY2MzkyMzg1OC42NjU5NTg2LCA0NjM1LCAxMy42MjY3ODYyMzE5OTQ2MjldLCBbMTY2MzkyMzg1OS41NTAwMDAyLCA0NjYyLCAxNC45MDc1Mzc0NjAzMjcxNDhdLCBbMTY2MzkyMzg1OS42NDAzNjYsIDQ2NzEsIDEzLjUwNzY1ODk1ODQzNTA1OV0sIFsxNjYzOTIzODU5Ljc4NzAyNzEsIDQ2ODAsIDEzLjEzMjg2ODc2Njc4NDY2OF0sIFsxNjYzOTIzODYxLjkzMTIwMjcsIDQ4MDYsIDEyLjcxMzM2MjY5Mzc4NjYyMV0sIFsxNjYzOTIzODYyLjAzNDQ2NTMsIDQ4MTUsIDE0LjEzMTk5NTIwMTExMDg0XSwgWzE2NjM5MjM4NjIuMjgxNzg2NywgNDgzMywgMTQuNzU4NDMzMzQxOTc5OThdLCBbMTY2MzkyMzg2Mi40MjYxNTc3LCA0ODQyLCAxMy43NjE4MjM2NTQxNzQ4MDVdLCBbMTY2MzkyMzg2Mi41NDEwOTMzLCA0ODUxLCAxNi45NjIwMjg1MDM0MTc5N10sIFsxNjYzOTIzODYyLjc3MDE0MTEsIDQ4NjksIDEzLjQ4NzkwNTUwMjMxOTMzNl0sIFsxNjYzOTIzODYyLjk3NDk3MTUsIDQ4ODcsIDEyLjk1MjM3NDQ1ODMxMjk4OF0sIFsxNjYzOTIzODYzLjE3NTg1NTksIDQ5MDUsIDE0LjA5Mjk0Nzk1OTg5OTkwMl0sIFsxNjYzOTIzODYzLjM5MjA5MTMsIDQ5MjMsIDEzLjA1NTMzOTgxMzIzMjQyMl0sIFsxNjYzOTIzODYzLjUxNzAyNTIsIDQ5MzIsIDE0LjcxNjIwMzY4OTU3NTE5NV0sIFsxNjYzOTIzODYzLjkwMjE5MzUsIDQ5NTksIDE0LjA3OTU4ODg5MDA3NTY4NF0sIFsxNjYzOTIzODY0LjA4NDcxMjcsIDQ5NzcsIDEyLjcyMjg1NzQ3NTI4MDc2Ml0sIFsxNjYzOTIzODY0LjM3NTkxMDMsIDUwMDQsIDEyLjQ5NjkyNjMwNzY3ODIyM10sIFsxNjYzOTIzODY0LjQ3Mzg3MjQsIDUwMTMsIDEyLjgwMjAwOTU4MjUxOTUzMV0sIFsxNjYzOTIzODY1LjE3ODE2OTUsIDUwNjcsIDEyLjUxNjMzOTMwMjA2Mjk4OF0sIFsxNjYzOTIzODY1LjI5MDIzNiwgNTA3NiwgMTEuNTYyMTczODQzMzgzNzg5XSwgWzE2NjM5MjM4NjUuNDE3ODAyLCA1MDg1LCAxMC40NjAyNTU2MjI4NjM3N10sIFsxNjYzOTIzODY2LjA2NDU2NzMsIDUxMjEsIDExLjY3MTg2MTY0ODU1OTU3XSwgWzE2NjM5MjM4NjYuMzkzNTA5NCwgNTE0OCwgMTEuMjAzMzc4Njc3MzY4MTY0XSwgWzE2NjM5MjM4NjYuNjQ0NjQ1LCA1MTY2LCAxMS4yNzM0Mzc1XSwgWzE2NjM5MjM4NjYuOTQ0ODIxNCwgNTE5MywgMTEuMTEzMDkxNDY4ODExMDM1XSwgWzE2NjM5MjM4NjcuMzkxOTMzMiwgNTIyOSwgMTAuNzg0Njc5NDEyODQxNzk3XSwgWzE2NjM5MjM4NjcuNzg1MjkzNiwgNTI2NSwgMTIuNzExNzI0MjgxMzExMDM1XSwgWzE2NjM5MjM4NjcuODk5NjM3MiwgNTI3NCwgMTAuODg4OTQyNzE4NTA1ODZdLCBbMTY2MzkyMzg2OC4yNjAwNjI3LCA1MzAxLCA5LjgzMTg0ODE0NDUzMTI1XSwgWzE2NjM5MjM4NjguNTAxMTk3OCwgNTMxOSwgMTIuOTM4ODU4OTg1OTAwODc5XSwgWzE2NjM5MjM4NjguNjE5MDEyNCwgNTMyOCwgMTMuMjM0MTI3MDQ0Njc3NzM0XSwgWzE2NjM5MjM4NjguOTQwMzM0LCA1MzU1LCAxMC41ODY3MzM4MTgwNTQyXSwgWzE2NjM5MjM4NjkuMTI2NjUyNSwgNTM3MywgMTAuMzYzNjIyNjY1NDA1MjczXSwgWzE2NjM5MjM4NjkuMzMxMzQ0LCA1MzkxLCA5LjcyMTEwNDYyMTg4NzIwN10sIFsxNjYzOTIzODY5LjQ2MTM2MjEsIDU0MDAsIDkuOTkyMDcyMTA1NDA3NzE1XSwgWzE2NjM5MjM4NjkuNzQwNDY4LCA1NDI3LCAxMC4wMzc4MjA4MTYwNDAwMzldLCBbMTY2MzkyMzg2OS44MzY3NzgsIDU0MzYsIDEyLjk0Njg1MDc3NjY3MjM2M10sIFsxNjYzOTIzODcwLjM1NzA2NjksIDU0ODEsIDExLjcxNTY4ODcwNTQ0NDMzNl0sIFsxNjYzOTIzODcwLjg1ODU1OTEsIDU1MjYsIDkuMzcyODMxMzQ0NjA0NDkyXSwgWzE2NjM5MjM4NzAuOTY1OTI5MywgNTUzNSwgOS42MDkxNDIzMDM0NjY3OTddLCBbMTY2MzkyMzg3MS4xODU2MzcyLCA1NTUzLCAxMi43MDAxNTIzOTcxNTU3NjJdLCBbMTY2MzkyMzg3MS41OTcwMjM1LCA1NTg5LCA5LjcyMjk3NDc3NzIyMTY4XSwgWzE2NjM5MjM4NzEuNzk5MDQyLCA1NjA3LCA4Ljg4MzMzODkyODIyMjY1Nl0sIFsxNjYzOTIzODcxLjkxODY0ODIsIDU2MTYsIDEwLjcwMTUxMTM4MzA1NjY0XSwgWzE2NjM5MjM4NzIuMjI4MDI5LCA1NjQzLCA5LjEzNjUxNDY2MzY5NjI4OV0sIFsxNjYzOTIzODcyLjQzNjYxMiwgNTY2MSwgMTAuMzY2OTM4NTkxMDAzNDE4XSwgWzE2NjM5MjM4NzIuNTI2MzQ4NiwgNTY3MCwgMTAuODYzMjExNjMxNzc0OTAyXSwgWzE2NjM5MjM4NzIuOTE2MzE2NywgNTcwNiwgOS44NDA4MjIyMTk4NDg2MzNdLCBbMTY2MzkyMzg3My4zNTIzMDA0LCA1NzQyLCAxMC4zMTM4Njg1MjI2NDQwNDNdLCBbMTY2MzkyMzg3My43MjMxNDMsIDU3NjksIDEwLjA1NzU0MTg0NzIyOTAwNF0sIFsxNjYzOTIzODczLjgyMzE3LCA1Nzc4LCA5LjYzMjEzNDQzNzU2MTAzNV0sIFsxNjYzOTIzODczLjkyNjI4NDgsIDU3ODcsIDkuNDU4MDgwMjkxNzQ4MDQ3XSwgWzE2NjM5MjM4NzQuMDMxNjc0LCA1Nzk2LCA5LjI0NTMyNDEzNDgyNjY2XSwgWzE2NjM5MjM4NzQuMTI2MzYxOCwgNTgwNSwgMTAuMjA2NzgyMzQxMDAzNDE4XSwgWzE2NjM5MjM4NzQuNjM2NDE5NSwgNTg1MCwgMTAuMjYxNjkxMDkzNDQ0ODI0XSwgWzE2NjM5MjM4NzQuODM5NzU5OCwgNTg2OCwgOS4zMjEzNDA1NjA5MTMwODZdLCBbMTY2MzkyMzg3NS4xMjQ4NzIsIDU4NzcsIDEwLjIzNjEyODgwNzA2Nzg3MV0sIFsxNjYzOTIzODc1LjMzNDM4MTYsIDU4OTUsIDkuOTMwOTQ5MjExMTIwNjA1XSwgWzE2NjM5MjM4NzUuNDM0NTM4NiwgNTkwNCwgOC45NDYwMTM0NTA2MjI1NTldLCBbMTY2MzkyMzg3NS43MTUzNDYsIDU5MzEsIDEwLjE1MDc0MTU3NzE0ODQzOF0sIFsxNjYzOTIzODc1LjkxNDI0LCA1OTQ5LCA5LjU3Mjk1MDM2MzE1OTE4XSwgWzE2NjM5MjM4NzYuNjAxOTk0NSwgNjAxMiwgOC41NzAxNTk5MTIxMDkzNzVdLCBbMTY2MzkyMzg3Ni44OTk1MDk3LCA2MDM5LCA5LjY0NTk3MzIwNTU2NjQwNl0sIFsxNjYzOTIzODc3LjM5NDg0NjcsIDYwODQsIDkuNjY3MjEwNTc4OTE4NDU3XSwgWzE2NjM5MjM4NzcuNDg5OTksIDYwOTMsIDExLjAyNjU0OTMzOTI5NDQzNF0sIFsxNjYzOTIzODc3Ljg2MDA3MzYsIDYxMjksIDEwLjI1MzA0NDEyODQxNzk2OV0sIFsxNjYzOTIzODc4LjI1OTE4NDYsIDYxNjUsIDEwLjQwMjc2MjQxMzAyNDkwMl0sIFsxNjYzOTIzODc4LjU1MDMxMzcsIDYxOTIsIDEwLjU3NDA1OTQ4NjM4OTE2XSwgWzE2NjM5MjM4NzkuMDM1MjcyNCwgNjIzNywgMTAuMDc3NDYyMTk2MzUwMDk4XSwgWzE2NjM5MjM4NzkuMjQ2MDExLCA2MjU1LCA4Ljg3Njk5MDMxODI5ODM0XSwgWzE2NjM5MjM4NzkuNDQ1NzY3NiwgNjI3MywgOC45NTkxNjkzODc4MTczODNdLCBbMTY2MzkyMzg3OS41MzEzOTk3LCA2MjgyLCAxMC42NTE2NTcxMDQ0OTIxODhdLCBbMTY2MzkyMzg3OS43MTkyOTg0LCA2MzAwLCA4LjY3NjcxNTg1MDgzMDA3OF0sIFsxNjYzOTIzODgwLjAxNjEzMjYsIDYzMjcsIDkuNzc5NTU3MjI4MDg4Mzc5XSwgWzE2NjM5MjM4ODAuMzA5MTU3NiwgNjM1NCwgOC45MTA0ODMzNjAyOTA1MjddLCBbMTY2MzkyMzg4MC44OTE5MDgsIDYzOTksIDkuMzIwMjMwNDg0MDA4Nzg5XSwgWzE2NjM5MjM4ODEuNDQ3OTA5NCwgNjQ0NCwgNy45OTQ2MzUxMDUxMzMwNTddLCBbMTY2MzkyMzg4MS43MTQ4OTcyLCA2NDYyLCA5LjQ0MjQ5NzI1MzQxNzk2OV0sIFsxNjYzOTIzODgyLjA2OTY2MTQsIDY0ODksIDguMzE0NzU3MzQ3MTA2OTM0XSwgWzE2NjM5MjM4ODIuMTk0Nzk5LCA2NDk4LCA5LjA3OTM0NTcwMzEyNV0sIFsxNjYzOTIzODgyLjQyMzc5MywgNjUxNiwgOS42OTQ5MDI0MjAwNDM5NDVdLCBbMTY2MzkyMzg4Mi42MjAzNDgsIDY1MzQsIDEwLjI2ODUwNzk1NzQ1ODQ5Nl0sIFsxNjYzOTIzODgyLjcwNDc3MywgNjU0MywgOS4yMDgwOTA3ODIxNjU1MjddLCBbMTY2MzkyMzg4Mi44ODk4ODI2LCA2NTYxLCA4LjkzNzU2Njc1NzIwMjE0OF0sIFsxNjYzOTIzODgyLjk5ODE4MSwgNjU3MCwgOS4xOTUyNTI0MTg1MTgwNjZdLCBbMTY2MzkyMzg4My4yMTgzNTE0LCA2NTg4LCAxMS4yODczMTA2MDAyODA3NjJdLCBbMTY2MzkyMzg4My4zMTI5Mjk2LCA2NTk3LCA4LjY4MjQyMzU5MTYxMzc3XSwgWzE2NjM5MjM4ODMuNDEyMDg4NCwgNjYwNiwgOC4zODc1MTMxNjA3MDU1NjZdLCBbMTY2MzkyMzg4NC4xNTI4OTc2LCA2NjUxLCA5Ljk0MzcxODkxMDIxNzI4NV0sIFsxNjYzOTIzODg0LjU1MzI5OTIsIDY2ODcsIDkuMjgzMDA4NTc1NDM5NDUzXSwgWzE2NjM5MjM4ODQuNzQ4NTQxNiwgNjcwNSwgOC44NjcwMjA2MDY5OTQ2MjldLCBbMTY2MzkyMzg4NS45NTE1MjMsIDY4MTMsIDEwLjYxMDU0MDM5MDAxNDY0OF0sIFsxNjYzOTIzODg2LjE2MjgxNjMsIDY4MzEsIDEwLjA5NzcwNzc0ODQxMzA4Nl0sIFsxNjYzOTIzODg2Ljg3OTYyODcsIDY4ODUsIDkuMjQwMDY0NjIwOTcxNjhdLCBbMTY2MzkyMzg4Ni45NzIzMjU2LCA2ODk0LCA4LjQxOTc2NzM3OTc2MDc0Ml0sIFsxNjYzOTIzODg3LjM0MDU0ODgsIDY5MjEsIDcuNDc3ODgyODYyMDkxMDY0NV0sIFsxNjYzOTIzODg3LjQ1NTIyODMsIDY5MzAsIDkuNDY0NzYwNzgwMzM0NDczXSwgWzE2NjM5MjM4ODcuNzk3NTkyOSwgNjk1NywgOC43NzE0NTk1Nzk0Njc3NzNdLCBbMTY2MzkyMzg4OC4xMzIxOTY0LCA2OTg0LCA4LjQ4OTkwMzQ1MDAxMjIwN10sIFsxNjYzOTIzODg4LjIzNTU3MDQsIDY5OTMsIDguODM1OTg4MDQ0NzM4NzddLCBbMTY2MzkyMzg4OC40NjA3NjcsIDcwMTEsIDEwLjc0NzE3NTIxNjY3NDgwNV0sIFsxNjYzOTIzODg4LjU3NDU0MSwgNzAyMCwgOC41NDM2OTI1ODg4MDYxNTJdLCBbMTY2MzkyMzg4OC42ODc5NDI3LCA3MDI5LCA3LjkyNTI0MzM3NzY4NTU0N10sIFsxNjYzOTIzODg4LjgxMTE3OTIsIDcwMzgsIDguODI1NjY5Mjg4NjM1MjU0XSwgWzE2NjM5MjM4ODguOTM3NDEyMywgNzA0NywgOS42NzQ2MTc3NjczMzM5ODRdLCBbMTY2MzkyMzg4OS42NTY5OTM5LCA3MTAxLCA5LjQ3NTY4NjA3MzMwMzIyM10sIFsxNjYzOTIzODg5Ljk4OTAyNCwgNzEyOCwgOS4wNTQzMjYwNTc0MzQwODJdLCBbMTY2MzkyMzg5MS4zOTk0ODQ5LCA3MjQ1LCA3Ljk5NTkxOTcwNDQzNzI1Nl0sIFsxNjYzOTIzODkxLjUxMDU0NzQsIDcyNTQsIDguNzQzMjkwOTAxMTg0MDgyXSwgWzE2NjM5MjM4OTEuNjEyMDg2NSwgNzI2MywgOS40Mjg5NTk4NDY0OTY1ODJdLCBbMTY2MzkyMzg5MS43MTEyMDA1LCA3MjcyLCA4LjUyNTgzNjk0NDU4MDA3OF0sIFsxNjYzOTIzODkyLjAzODc5NzEsIDcyOTksIDguMDIyNjUxNjcyMzYzMjgxXSwgWzE2NjM5MjM4OTIuODgwMzU2LCA3MzcxLCA4LjU4NDcyMjUxODkyMDg5OF0sIFsxNjYzOTIzODkyLjk3MjE3ODUsIDczODAsIDcuNzk1NDU1OTMyNjE3MTg3NV0sIFsxNjYzOTIzODk0LjA1ODI2MSwgNzQ1MiwgOC43Mzk1NzA2MTc2NzU3ODFdLCBbMTY2MzkyMzg5NC4xNjc0ODM4LCA3NDYxLCA3LjgwMjE3NTUyMTg1MDU4Nl0sIFsxNjYzOTIzODk0LjY0MzAxMzcsIDc0OTcsIDcuOTcwNDUxODMxODE3NjI3XSwgWzE2NjM5MjM4OTQuNzU1MTI5LCA3NTA2LCA4Ljk5ODg2MjI2NjU0MDUyN10sIFsxNjYzOTIzODk0Ljk3NjYzMDIsIDc1MjQsIDguMjU3Njc3MDc4MjQ3MDddLCBbMTY2MzkyMzg5NS4wOTIyOTI4LCA3NTMzLCA4LjE0NzcxOTM4MzIzOTc0Nl0sIFsxNjYzOTIzODk1LjQyNjY4NzcsIDc1NjAsIDkuNjk4NjE3OTM1MTgwNjY0XSwgWzE2NjM5MjM4OTUuNTQwMDMxNCwgNzU2OSwgOC4yMDQyODY1NzUzMTczODNdLCBbMTY2MzkyMzg5NS44NzM2NzksIDc1OTYsIDguNTkwMzk3ODM0Nzc3ODMyXSwgWzE2NjM5MjM4OTYuMTAyNDg2OCwgNzYxNCwgOC4yMTg0NjQ4NTEzNzkzOTVdLCBbMTY2MzkyMzg5Ni43MjMzNzQ2LCA3NjU5LCA4LjIxOTIyOTY5ODE4MTE1Ml0sIFsxNjYzOTIzODk2LjgzNTMwMDQsIDc2NjgsIDguODMwMzI3OTg3NjcwODk4XSwgWzE2NjM5MjM4OTcuMTU1NzIwNywgNzY5NSwgOC4zNzkzMjk2ODEzOTY0ODRdLCBbMTY2MzkyMzg5Ny40ODQ3NTEsIDc3MjIsIDcuNTE0NTkzMTI0Mzg5NjQ4XSwgWzE2NjM5MjM4OTcuODE0ODg4LCA3NzQ5LCA5LjE4OTg3NzUxMDA3MDhdLCBbMTY2MzkyMzg5OC4wMjI3OTc4LCA3NzY3LCA4LjEwMjg4NDI5MjYwMjUzOV0sIFsxNjYzOTIzODk4LjM3MDk5MDgsIDc3OTQsIDkuOTM3MTUzODE2MjIzMTQ1XSwgWzE2NjM5MjM4OTguNDg1NDA0MywgNzgwMywgNy40NDkyMTIwNzQyNzk3ODVdLCBbMTY2MzkyMzg5OC44ODg5NDUzLCA3ODM5LCA4LjYxOTM3ODA4OTkwNDc4NV0sIFsxNjYzOTIzODk4Ljk5MzE0OCwgNzg0OCwgNy4zNDIxNTExNjUwMDg1NDVdLCBbMTY2MzkyMzkwMC4zNjczNjgsIDc5NjUsIDcuNzA0MDk4NzAxNDc3MDUxXSwgWzE2NjM5MjM5MDAuNTcxNDc1NywgNzk4MywgOC41Mzk1MjAyNjM2NzE4NzVdLCBbMTY2MzkyMzkwMC45NzM2NDQ1LCA4MDE5LCA3LjU1NjU4MTk3NDAyOTU0MV0sIFsxNjYzOTIzOTAxLjIyNTM0MjgsIDgwMzcsIDguODA0Nzk5MDc5ODk1MDJdLCBbMTY2MzkyMzkwMS41Njg3NjQyLCA4MDY0LCA3LjY0ODc3MjIzOTY4NTA1OV0sIFsxNjYzOTIzOTAxLjc4NjE1LCA4MDgyLCA5LjA5ODA1Mjk3ODUxNTYyNV0sIFsxNjYzOTIzOTAxLjg4Njg3NTQsIDgwOTEsIDguMDU3Mjk4NjYwMjc4MzJdLCBbMTY2MzkyMzkwMi4xODUxMTc3LCA4MTE4LCA3LjA2MjczMzY1MDIwNzUxOTVdLCBbMTY2MzkyMzkwMi4yOTc3MjE2LCA4MTI3LCA3LjQ4NzMyMTg1MzYzNzY5NV0sIFsxNjYzOTIzOTAyLjgwMjQ5NDUsIDgxNzIsIDguMDI1MzMyNDUwODY2N10sIFsxNjYzOTIzOTAyLjkwMzIxOTcsIDgxODEsIDcuNzczMTM1MTg1MjQxNjk5XSwgWzE2NjM5MjM5MDMuMTAyMzc4MSwgODE5OSwgNy40OTk0MzgyODU4Mjc2MzddLCBbMTY2MzkyMzkwMy4yMDg3NjU1LCA4MjA4LCA3Ljg1MTUzMTAyODc0NzU1OV0sIFsxNjYzOTIzOTAzLjcyMDg4NjUsIDgyMzUsIDcuNjkxMDUwNTI5NDc5OTgwNV0sIFsxNjYzOTIzOTA0LjEzMTc2OSwgODI3MSwgNy4zNjA0MzY0Mzk1MTQxNl0sIFsxNjYzOTIzOTA0LjIzNzkwMywgODI4MCwgOC4xMDQyMDUxMzE1MzA3NjJdLCBbMTY2MzkyMzkwNC40NjgwMjMsIDgyOTgsIDcuNzcxNDc0MzYxNDE5Njc4XSwgWzE2NjM5MjM5MDUuMTQ3MzM1OCwgODM2MSwgNi41NjQ1MTE3NzU5NzA0NTldLCBbMTY2MzkyMzkwNS40MTQ1OTQ3LCA4Mzc5LCA3LjAyNDc3MTIxMzUzMTQ5NF0sIFsxNjYzOTIzOTA1LjUyODkyNiwgODM4OCwgNi44OTU1NDExOTExMDEwNzRdLCBbMTY2MzkyMzkwNS42Mjk2ODI1LCA4Mzk3LCA2Ljk0NTA2MjE2MDQ5MTk0M10sIFsxNjYzOTIzOTA2LjM3MjExOCwgODQ2MCwgNy41NDA1MTc4MDcwMDY4MzZdLCBbMTY2MzkyMzkwNi42ODQxMDA2LCA4NDg3LCA5Ljc2NzE2MjMyMjk5ODA0N10sIFsxNjYzOTIzOTA3LjAxMjc3NiwgODUxNCwgNy4wNzkzMzM3ODIxOTYwNDVdLCBbMTY2MzkyMzkwNy40MjY3ODIsIDg1NTAsIDYuNjcyNDYxNTA5NzA0NTldLCBbMTY2MzkyMzkwNy43Mzc5ODEsIDg1NzcsIDYuOTU5Mjc2MTk5MzQwODJdLCBbMTY2MzkyMzkwOC4wMzQxNDIsIDg2MDQsIDYuMjE0MzQxMTYzNjM1MjU0XSwgWzE2NjM5MjM5MDguNTU5OTMxOCwgODY0OSwgNi44NDUwNDkzODEyNTYxMDM1XSwgWzE2NjM5MjM5MDguODg1NzY2NSwgODY3NiwgNy41MDE4ODAxNjg5MTQ3OTVdLCBbMTY2MzkyMzkwOS4xMjQ1OTI1LCA4Njk0LCA3LjM0NDEzNDgwNzU4NjY3XSwgWzE2NjM5MjM5MDkuMzMxMjEzLCA4NzEyLCA3Ljc3MTc4NTczNjA4Mzk4NF0sIFsxNjYzOTIzOTA5LjQzNDg3MywgODcyMSwgOC4xMTExMjQwMzg2OTYyODldLCBbMTY2MzkyMzkxMC42NjkyOTk2LCA4ODExLCA3Ljc4NzM2MTE0NTAxOTUzMV0sIFsxNjYzOTIzOTEwLjc2NTM2NjgsIDg4MjAsIDcuNDM3MzY0NTc4MjQ3MDddLCBbMTY2MzkyMzkxMS4wODc0Nzc0LCA4ODQ3LCA2Ljk2OTcyOTQyMzUyMjk0OV0sIFsxNjYzOTIzOTExLjUxNTUxNzUsIDg4ODMsIDYuNDgxMzA1NTk5MjEyNjQ2NV0sIFsxNjYzOTIzOTExLjkyNjQyMDIsIDg5MTksIDcuMTExMTUzNjAyNjAwMDk4XSwgWzE2NjM5MjM5MTIuMTI0NjU1MiwgODkzNywgNi43MTcxOTc4OTUwNTAwNDldLCBbMTY2MzkyMzkxMi4zMTIzMzc0LCA4OTU1LCA2LjIwODQ5ODAwMTA5ODYzM10sIFsxNjYzOTIzOTEyLjUwMTAyMiwgODk3MywgNy4xNzk5NDkyODM1OTk4NTM1XSwgWzE2NjM5MjM5MTIuODgyODQ5NSwgODk5MSwgNy41NjI1NTk2MDQ2NDQ3NzVdLCBbMTY2MzkyMzkxMi45ODA3OTMsIDkwMDAsIDcuNjAwMzcyNzkxMjkwMjgzXSwgWzE2NjM5MjM5MTMuMjY0NzMzNiwgOTAyNywgNi42MzY4NjYwOTI2ODE4ODVdLCBbMTY2MzkyMzkxMy4zNjIxOTk1LCA5MDM2LCA1Ljk3MjM4NDQ1MjgxOTgyNF0sIFsxNjYzOTIzOTEzLjQ1MzYzNzYsIDkwNDUsIDcuODM1OTE2OTk2MDAyMTk3XSwgWzE2NjM5MjM5MTMuNjQxNjcyMSwgOTA2MywgOC4wNzQzNDQ2MzUwMDk3NjZdLCBbMTY2MzkyMzkxNC4xNDk5MDk1LCA5MTA4LCA2LjQ2MjUzMzQ3Mzk2ODUwNl0sIFsxNjYzOTIzOTE0LjM0MTMyNTUsIDkxMjYsIDYuOTc1MTIxMDIxMjcwNzUyXSwgWzE2NjM5MjM5MTQuNTM0MTI0NCwgOTE0NCwgNS45NTc2MTM5NDUwMDczMjRdLCBbMTY2MzkyMzkxNS4yMTQ0ODM3LCA5MjA3LCA2Ljg3OTEwODkwNTc5MjIzNl0sIFsxNjYzOTIzOTE1LjYwMzM2MzgsIDkyNDMsIDYuMzg2MTQzMjA3NTUwMDQ5XSwgWzE2NjM5MjM5MTUuNzg4MDU5NywgOTI2MSwgNi40OTYyNDEwOTI2ODE4ODVdLCBbMTY2MzkyMzkxNi41OTg1NjYsIDkzMjQsIDYuMDExOTIyODM2MzAzNzExXSwgWzE2NjM5MjM5MTYuNjk5NDY4NiwgOTMzMywgNi43NDYxMjkwMzU5NDk3MDddLCBbMTY2MzkyMzkxNi43OTY0NzI4LCA5MzQyLCA2LjQxMzE3MDMzNzY3NzAwMl0sIFsxNjYzOTIzOTE2Ljg5NTc2OTYsIDkzNTEsIDYuMjU0NDg1MTMwMzEwMDU5XSwgWzE2NjM5MjM5MTYuOTkxNTU4MywgOTM2MCwgNi42NzAxNDk4MDMxNjE2MjFdLCBbMTY2MzkyMzkxNy40MTY2Nzk0LCA5Mzk2LCA2LjA4NjA1NzE4NjEyNjcwOV0sIFsxNjYzOTIzOTE3LjcxMTkxMSwgOTQyMywgNi45NzY0NTg1NDk0OTk1MTJdLCBbMTY2MzkyMzkxOC43MjE0ODcsIDk1MTMsIDYuNzg2MTQ4NTQ4MTI2MjIxXSwgWzE2NjM5MjM5MTguOTQ3MDcxOCwgOTUzMSwgNS41OTUyMDUzMDcwMDY4MzZdLCBbMTY2MzkyMzkxOS4xNTg2MjYsIDk1NDksIDYuNDI3NjQ4MDY3NDc0MzY1XSwgWzE2NjM5MjM5MTkuMzk0MDIwNiwgOTU2NywgNi4yNTM2MTEwODc3OTkwNzJdLCBbMTY2MzkyMzkxOS43MDQyMjg5LCA5NTk0LCA3LjM1MDQ5MjAwMDU3OTgzNF0sIFsxNjYzOTIzOTE5Ljk0NzQ4NjYsIDk2MTIsIDUuODU3MjM2Mzg1MzQ1NDU5XSwgWzE2NjM5MjM5MjAuMTgxMTIxOCwgOTYzMCwgNS44ODI5ODEzMDAzNTQwMDRdLCBbMTY2MzkyMzkyMC4yODgzNTM0LCA5NjM5LCA1LjYxMzAxNTE3NDg2NTcyM10sIFsxNjYzOTIzOTIwLjQxMzEwMTIsIDk2NDgsIDUuNzMxOTAzMDc2MTcxODc1XSwgWzE2NjM5MjM5MjAuNTI2NDk2MiwgOTY1NywgNy4xODMzOTQ5MDg5MDUwMjldLCBbMTY2MzkyMzkyMC42MjcxMDY3LCA5NjY2LCA2LjUzMTA0NzgyMTA0NDkyMl0sIFsxNjYzOTIzOTIwLjcyODc2NywgOTY3NSwgNy4wMTg4NzUxMjIwNzAzMTI1XSwgWzE2NjM5MjM5MjEuMDM0ODQ2OCwgOTcwMiwgNS42ODg3NTQ1NTg1NjMyMzJdLCBbMTY2MzkyMzkyMS4zNzI5Njk2LCA5NzI5LCA3LjQ2NDEwOTg5NzYxMzUyNV0sIFsxNjYzOTIzOTIyLjE0Mjg3ODgsIDk3NzQsIDUuMzM1ODc1NTExMTY5NDM0XSwgWzE2NjM5MjM5MjIuMjgyMDAwMywgOTc4MywgNS43Nzk5MTgxOTM4MTcxMzldLCBbMTY2MzkyMzkyMi40MTA3NjksIDk3OTIsIDcuMjcyOTE0NDA5NjM3NDUxXSwgWzE2NjM5MjM5MjIuODg4MjEyLCA5ODI4LCA1LjY3MTk1MzY3ODEzMTEwMzVdLCBbMTY2MzkyMzkyMy42MjM3ODg4LCA5ODkxLCA1LjcxOTg1NTMwODUzMjcxNV0sIFsxNjYzOTIzOTIzLjgxNjM1MzMsIDk5MDksIDUuMzc2ODI4MTkzNjY0NTUxXSwgWzE2NjM5MjM5MjQuMDE4MjQ1NywgOTkyNywgNS41OTE1ODIyOTgyNzg4MDldLCBbMTY2MzkyMzkyNC4xMTgzMzkzLCA5OTM2LCA1LjgyNzY0ODE2Mjg0MTc5N10sIFsxNjYzOTIzOTI0LjIxNzk3NTksIDk5NDUsIDUuNzk0MzE2MjkxODA5MDgyXSwgWzE2NjM5MjM5MjQuNTExNDI4NCwgOTk3MiwgNi4yNDExMzE3ODI1MzE3MzhdLCBbMTY2MzkyMzkyNC43MTYzMTM0LCA5OTkwLCA2LjI1NTg1MTI2ODc2ODMxMDVdLCBbMTY2MzkyMzkyNC45MTE5NTYzLCAxMDAwOCwgNi41ODIzOTUwNzY3NTE3MDldLCBbMTY2MzkyMzkyNS4wMTUxNjQxLCAxMDAxNywgNS41MjkwNTk4ODY5MzIzNzNdLCBbMTY2MzkyMzkyNS4yMTk4NTIsIDEwMDM1LCA1LjU3MTk3NjE4NDg0NDk3MV0sIFsxNjYzOTIzOTI1LjgyMTI5MTcsIDEwMDgwLCA0Ljk5NzI2MDU3MDUyNjEyM10sIFsxNjYzOTIzOTI2LjA3NDc3NzQsIDEwMDk4LCA2Ljg0NjM0NTQyNDY1MjFdLCBbMTY2MzkyMzkyNi4xODkwMjg1LCAxMDEwNywgNS43OTMyMDI4NzcwNDQ2NzhdLCBbMTY2MzkyMzkyNi41MTEwNTg2LCAxMDEzNCwgNS43ODMxOTI2MzQ1ODI1MTk1XSwgWzE2NjM5MjM5MjYuNjMwODExNywgMTAxNDMsIDYuNjg1NDEwNDk5NTcyNzU0XSwgWzE2NjM5MjM5MjYuODQ3NTg2MiwgMTAxNjEsIDYuNjY4Mjc3MjYzNjQxMzU3XSwgWzE2NjM5MjM5MjYuOTQ3MDEyNywgMTAxNzAsIDUuMzU4NzQ3MDA1NDYyNjQ2NV0sIFsxNjYzOTIzOTI3LjI0NTgxNDYsIDEwMTk3LCA2LjI2NjIxNTgwMTIzOTAxNF0sIFsxNjYzOTIzOTI3LjQ0NzYxMDYsIDEwMjE1LCA2LjY3MTk1NDYzMTgwNTQyXSwgWzE2NjM5MjM5MjcuNjQ0MjQ4NSwgMTAyMzMsIDYuMDQ4NjgyMjEyODI5NTldLCBbMTY2MzkyMzkyNy45NDc5NDQ2LCAxMDI2MCwgNS4zMjA1NDk0ODgwNjc2MjddLCBbMTY2MzkyMzkyOC42MTYyNjM0LCAxMDMyMywgNS43OTYzMDg1MTc0NTYwNTVdLCBbMTY2MzkyMzkyOS4xMjY2MywgMTAzNTksIDUuODI4ODQ5NzkyNDgwNDY5XSwgWzE2NjM5MjM5MjkuMjI0OTk2MywgMTAzNjgsIDUuNDI1MDk0NjA0NDkyMTg3NV0sIFsxNjYzOTIzOTI5LjMzMDUwNSwgMTAzNzcsIDUuNDUzMDk4Mjk3MTE5MTQxXSwgWzE2NjM5MjM5MzAuMTc4OTM2NywgMTA0NDksIDUuNjE3ODQzMTUxMDkyNTI5XSwgWzE2NjM5MjM5MzAuNDE1MTgzOCwgMTA0NjcsIDYuNjg3MDE5MzQ4MTQ0NTMxXSwgWzE2NjM5MjM5MzAuNjM3NjY0MywgMTA0ODUsIDcuMDk5OTY3OTU2NTQyOTY5XSwgWzE2NjM5MjM5MzAuOTY4OTkxOCwgMTA1MTIsIDYuMDg5NTc1NzY3NTE3MDldLCBbMTY2MzkyMzkzMS43NjgwNDMzLCAxMDU2NiwgNi4zMzA1MDM0NjM3NDUxMTddLCBbMTY2MzkyMzkzMS44NzA1NTIsIDEwNTc1LCA1LjA2NTU2MjcyNTA2NzEzOV0sIFsxNjYzOTIzOTMyLjA3NTAyNiwgMTA1OTMsIDUuMzk1NjA4OTAxOTc3NTM5XSwgWzE2NjM5MjM5MzIuMTc4OTYwMywgMTA2MDIsIDQuNzgzNzIxNDQ2OTkwOTY3XSwgWzE2NjM5MjM5MzIuMjc3MzU5LCAxMDYxMSwgNi41MDc4NjYzODI1OTg4NzddLCBbMTY2MzkyMzkzMi42ODgyNjQ2LCAxMDY0NywgNS4zOTQxNDIxNTA4Nzg5MDZdLCBbMTY2MzkyMzkzMi44OTIxMDQ5LCAxMDY2NSwgNC45Mjg0ODY4MjQwMzU2NDQ1XSwgWzE2NjM5MjM5MzMuMDk4NjY5MywgMTA2ODMsIDYuMjA1NTcyMTI4Mjk1ODk4XSwgWzE2NjM5MjM5MzMuMzkxMTA0MiwgMTA3MTAsIDQuODc3Nzc0MjM4NTg2NDI2XSwgWzE2NjM5MjM5MzMuNDk0OTQ3NywgMTA3MTksIDUuNTcxNzYzNTE1NDcyNDEyXSwgWzE2NjM5MjM5MzMuNzgzOSwgMTA3NDYsIDUuMTY0MzQwOTcyOTAwMzkxXSwgWzE2NjM5MjM5MzMuODgzNDI2MiwgMTA3NTUsIDUuOTc3MzE2ODU2Mzg0Mjc3XSwgWzE2NjM5MjM5MzQuMTk0NDEyMiwgMTA3ODIsIDYuNjUxODk1MDQ2MjM0MTMxXSwgWzE2NjM5MjM5MzQuOTg3MTA2LCAxMDg1NCwgNS40NjgzNjg1MzAyNzM0Mzc1XSwgWzE2NjM5MjM5MzUuMTE1NDc0MiwgMTA4NjMsIDYuMjA3NTI3NjM3NDgxNjg5NV0sIFsxNjYzOTIzOTM1LjI0MzI5MTEsIDEwODcyLCA1LjQzNjcwNzAxOTgwNTkwOF0sIFsxNjYzOTIzOTM1Ljk1MTM4NywgMTA5MzUsIDQuNjc2NDAzOTk5MzI4NjEzXSwgWzE2NjM5MjM5MzYuMzY0OTg5MywgMTA5NzEsIDQuODUwNjc2MDU5NzIyOV0sIFsxNjYzOTIzOTM2Ljg3MzM2ODMsIDExMDE2LCA1LjMzMzExMjcxNjY3NDgwNV0sIFsxNjYzOTIzOTM3LjA3ODA1MTMsIDExMDM0LCA1LjU0ODEzMzM3MzI2MDQ5OF0sIFsxNjYzOTIzOTM3LjQ4NTYxMDIsIDExMDcwLCA0LjQ0NjY3MzM5MzI0OTUxMl0sIFsxNjYzOTIzOTM3Ljc4NDAxMjYsIDExMDk3LCA0LjgxNDcyMjA2MTE1NzIyN10sIFsxNjYzOTIzOTM4LjM4OTg1NSwgMTExNTEsIDUuNTI2ODg3ODkzNjc2NzU4XSwgWzE2NjM5MjM5MzguOTgyNTk5NSwgMTEyMDUsIDUuODQ4MzE0Mjg1Mjc4MzJdLCBbMTY2MzkyMzkzOS4xODc4OTcyLCAxMTIyMywgNS44MzM1OTMzNjg1MzAyNzNdLCBbMTY2MzkyMzkzOS40OTI3OTcsIDExMjUwLCA1LjI0ODAwNTM5MDE2NzIzNl0sIFsxNjYzOTIzOTM5LjU4ODA5MzgsIDExMjU5LCA0Ljc5MTg2MTUzNDExODY1Ml0sIFsxNjYzOTIzOTM5LjY4NzYxMzIsIDExMjY4LCA1LjkzODMxMDE0NjMzMTc4N10sIFsxNjYzOTIzOTM5Ljc4MzA3OTEsIDExMjc3LCA1LjMzMzc0Nzg2Mzc2OTUzMV0sIFsxNjYzOTIzOTM5Ljk5NTg5NjgsIDExMjk1LCA1LjMzNjQ4OTY3NzQyOTE5OV0sIFsxNjYzOTIzOTQwLjE4NzY0NjYsIDExMzEzLCA2LjQ3OTU3NzA2NDUxNDE2XSwgWzE2NjM5MjM5NDAuMjg0NjEwNywgMTEzMjIsIDUuMDM2MjUzOTI5MTM4MTg0XSwgWzE2NjM5MjM5NDAuNzY5Mjg4MywgMTEzNDksIDQuNTMyMDg4Mjc5NzI0MTIxXSwgWzE2NjM5MjM5NDAuODY2NjQ0NiwgMTEzNTgsIDYuNjc2NTYxMzU1NTkwODJdLCBbMTY2MzkyMzk0MS40ODUxOTY4LCAxMTQxMiwgNC42MjEyMTU4MjAzMTI1XSwgWzE2NjM5MjM5NDEuODgzOTUzNiwgMTE0NDgsIDQuODg1NjU4MjY0MTYwMTU2XSwgWzE2NjM5MjM5NDIuNDYzOTc4MywgMTE0OTMsIDQuNjYwMTkxMDU5MTEyNTQ5XSwgWzE2NjM5MjM5NDIuNTY0ODQyNSwgMTE1MDIsIDUuODgxOTI5ODc0NDIwMTY2XSwgWzE2NjM5MjM5NDIuNjY0NjE3LCAxMTUxMSwgNS41NTQ4NjM0NTI5MTEzNzddLCBbMTY2MzkyMzk0My4xNDkwNzU1LCAxMTU0NywgNC41NTY1MTk5ODUxOTg5NzVdLCBbMTY2MzkyMzk0My40OTE5NDYyLCAxMTU3NCwgNC40OTgwNDMwNjAzMDI3MzRdLCBbMTY2MzkyMzk0NC4wMzUyODc2LCAxMTYxOSwgNC45NDc1MTM1ODAzMjIyNjZdLCBbMTY2MzkyMzk0NC4zODUxOTE0LCAxMTY0NiwgNC45MTM4MTU0OTgzNTIwNTFdLCBbMTY2MzkyMzk0NC45NTYzNzEzLCAxMTY5MSwgNC41ODU4MjU5MjAxMDQ5ODA1XSwgWzE2NjM5MjM5NDUuMDQ4Njc3LCAxMTcwMCwgNS40OTI1NjQyMDEzNTQ5ODA1XSwgWzE2NjM5MjM5NDUuMzU1NDEzNCwgMTE3MjcsIDQuNDA1NDQ0MTQ1MjAyNjM3XSwgWzE2NjM5MjM5NDUuNzk1NzgyOCwgMTE3NjMsIDUuODQwODYyNzUxMDA3MDhdLCBbMTY2MzkyMzk0Ni4yMzE0NjY4LCAxMTc5OSwgNS4wNTAwMDQwMDU0MzIxMjldLCBbMTY2MzkyMzk0Ni44NDIzMzIsIDExODQ0LCA0Ljc5ODM1MDgxMTAwNDYzOV0sIFsxNjYzOTIzOTQ3LjQ3NzAxLCAxMTg4OSwgNS4xNDc0NzgxMDM2Mzc2OTVdLCBbMTY2MzkyMzk0Ny42OTg2NiwgMTE5MDcsIDYuMjg1Mjk5Nzc3OTg0NjE5XSwgWzE2NjM5MjM5NDguMDMyNDM2OCwgMTE5MzQsIDQuNTQzNzgyMjM0MTkxODk0NV0sIFsxNjYzOTIzOTQ4LjEzOTI0MTcsIDExOTQzLCA1LjI4OTE2MTIwNTI5MTc0OF0sIFsxNjYzOTIzOTQ4LjM5MTM5OTEsIDExOTYxLCA0LjMzNjgwMTUyODkzMDY2NF0sIFsxNjYzOTIzOTQ5LjIzNDAzMywgMTIwMjQsIDQuNTAwNzcwMDkyMDEwNDk4XSwgWzE2NjM5MjM5NTAuNDM1MzA0NCwgMTIxMTQsIDYuMjMwMjQxNzc1NTEyNjk1XSwgWzE2NjM5MjM5NTAuNzMxMjgwOCwgMTIxNDEsIDYuMTQ1MDA0MjcyNDYwOTM3NV0sIFsxNjYzOTIzOTUxLjE1NDc5NCwgMTIxNzcsIDQuOTIwMDUwNjIxMDMyNzE1XSwgWzE2NjM5MjM5NTEuMzg0NzQ0NiwgMTIxOTUsIDQuNjU4NjQ4NDkwOTA1NzYyXSwgWzE2NjM5MjM5NTEuOTQ5MjY0NSwgMTIyNDksIDQuMzQ0OTQ1OTA3NTkyNzczXSwgWzE2NjM5MjM5NTIuMzQ1NzM0LCAxMjI4NSwgNS4xMzAxNDc5MzM5NTk5NjFdLCBbMTY2MzkyMzk1Mi40NTE0OTQ3LCAxMjI5NCwgNS43NDUwNzk1MTczNjQ1MDJdLCBbMTY2MzkyMzk1Mi41NDQ1ODQ1LCAxMjMwMywgNC43MzA4Mzg3NzU2MzQ3NjZdLCBbMTY2MzkyMzk1Mi42Mzg2NDAyLCAxMjMxMiwgNi4wMjcxNzA2NTgxMTE1NzJdLCBbMTY2MzkyMzk1Mi43NDMzMDgzLCAxMjMyMSwgNC41MDgwODAwMDU2NDU3NTJdLCBbMTY2MzkyMzk1My40MzQzMDg4LCAxMjM4NCwgNS4zNzc0MDk0NTgxNjA0XSwgWzE2NjM5MjM5NTMuNTI3NzYyNywgMTIzOTMsIDMuOTY5NTU0MTg1ODY3MzA5Nl0sIFsxNjYzOTIzOTUzLjk5MzMxNjIsIDEyNDI5LCA0LjU4NzY1MjY4MzI1ODA1N10sIFsxNjYzOTIzOTU0LjUxODEwNTUsIDEyNDc0LCA0LjM4Njg1MjI2NDQwNDI5N10sIFsxNjYzOTIzOTU0LjY0NjYwOSwgMTI0ODMsIDQuMjExNzc3Njg3MDcyNzU0XSwgWzE2NjM5MjM5NTUuMDM5MjQzMiwgMTI1MTksIDUuNDk5MjEyMjY1MDE0NjQ4XSwgWzE2NjM5MjM5NTUuMzYyOTA1NSwgMTI1NDYsIDQuMjgxODg0MTkzNDIwNDFdLCBbMTY2MzkyMzk1NS44MzEyNzEyLCAxMjU4MiwgNy4wNTc4Mjk4NTY4NzI1NTldLCBbMTY2MzkyMzk1OC4wOTgwMTE3LCAxMjc2MiwgNC4wODEyMTM0NzQyNzM2ODJdLCBbMTY2MzkyMzk1OC41ODIyODQ3LCAxMjc5OCwgNC42MTUyNzEwOTE0NjExODJdLCBbMTY2MzkyMzk2MC4wNTc2MTEsIDEyODg4LCA1LjU0MTg0MjkzNzQ2OTQ4Ml0sIFsxNjYzOTIzOTYwLjE1ODk1NzIsIDEyODk3LCA0LjgxNjI0MTI2NDM0MzI2Ml0sIFsxNjYzOTIzOTYwLjU5ODY5MjIsIDEyOTMzLCA1LjY3NDY0NTQyMzg4OTE2XSwgWzE2NjM5MjM5NjAuNzk4ODAyLCAxMjk1MSwgMy43Mjc0NjM5NjA2NDc1ODNdLCBbMTY2MzkyMzk2MC45MzEwNjE1LCAxMjk2MCwgNC4zNDg0Nzg3OTQwOTc5XSwgWzE2NjM5MjM5NjEuMDU3Mzc2MSwgMTI5NjksIDQuMTI1ODIzOTc0NjA5Mzc1XSwgWzE2NjM5MjM5NjEuMTg2MjU2LCAxMjk3OCwgNC4xNzE2NjUxOTE2NTAzOTFdLCBbMTY2MzkyMzk2MS41NDEwODM2LCAxMzAwNSwgMy44MzQ0NDAyMzEzMjMyNDJdLCBbMTY2MzkyMzk2Mi4wMjY4NTY3LCAxMzA1MCwgMy43MDU1NzQ1MTI0ODE2ODk1XSwgWzE2NjM5MjM5NjIuMjQwNDU1NCwgMTMwNjgsIDQuNTY1NTY1MTA5MjUyOTNdLCBbMTY2MzkyMzk2Mi4zMzYwNjkzLCAxMzA3NywgNC45Mjc2ODE5MjI5MTI1OThdLCBbMTY2MzkyMzk2Mi42NDY0MTk1LCAxMzEwNCwgNS4wMjYyMjg5MDQ3MjQxMjFdLCBbMTY2MzkyMzk2Mi44NDg1MzM0LCAxMzEyMiwgMy44NTQ0NTkwNDczMTc1MDVdLCBbMTY2MzkyMzk2Mi45MzYwMTMyLCAxMzEzMSwgMy42NzA1MjA3ODI0NzA3MDNdLCBbMTY2MzkyMzk2My4xNDQ2NDAyLCAxMzE0OSwgNC4yMDE0MTAyOTM1NzkxMDJdLCBbMTY2MzkyMzk2My4yNDQxODEsIDEzMTU4LCA0LjE0NjA4MTkyNDQzODQ3N10sIFsxNjYzOTIzOTY0LjE3NTY0NTYsIDEzMjM5LCA0LjY1MzU0NzI4Njk4NzMwNV0sIFsxNjYzOTIzOTY0LjQ5NDM5NzQsIDEzMjY2LCA0LjQzOTk3NTI2MTY4ODIzMl0sIFsxNjYzOTIzOTY0LjU5ODM5NTgsIDEzMjc1LCAzLjc2NTE4OTQwOTI1NTk4MTRdLCBbMTY2MzkyMzk2NC44MDI3NDQ2LCAxMzI5MywgNC44NjQyNzQ5Nzg2Mzc2OTVdLCBbMTY2MzkyMzk2NS41NzA1MTcsIDEzMzU2LCAzLjcyMjI2ODM0Mjk3MTgwMThdLCBbMTY2MzkyMzk2NS45NTQxNCwgMTMzOTIsIDUuMTI3OTQ4Mjg0MTQ5MTddLCBbMTY2MzkyMzk2Ni4yNzM2NjYxLCAxMzQxOSwgNC41NDU3OTYzOTQzNDgxNDQ1XSwgWzE2NjM5MjM5NjYuNjA2NzY4MSwgMTM0NDYsIDQuNTQxNjU5MzU1MTYzNTc0XSwgWzE2NjM5MjM5NjYuNzE3MDI3MiwgMTM0NTUsIDQuODQ5NDQ3MjUwMzY2MjExXSwgWzE2NjM5MjM5NjcuMTg3MzYzMSwgMTM0OTEsIDQuNTc3MTA0NTY4NDgxNDQ1XSwgWzE2NjM5MjM5NjcuMzE2MDYyNSwgMTM1MDAsIDQuMzEyNTc1ODE3MTA4MTU0XSwgWzE2NjM5MjM5NjcuNjgyNDM0MywgMTM1MjcsIDQuNDEzMjIyMzEyOTI3MjQ2XSwgWzE2NjM5MjM5NjguNDAwOTI0MiwgMTM1OTAsIDMuMjQ4OTIyODI0ODU5NjE5XSwgWzE2NjM5MjM5NjguNTA3MDQzLCAxMzU5OSwgNC4xNDUyMzIyMDA2MjI1NTldLCBbMTY2MzkyMzk2OC42MDAzNjU2LCAxMzYwOCwgNC4wOTMxNjU4NzQ0ODEyMDFdLCBbMTY2MzkyMzk2OC43OTY2MDczLCAxMzYyNiwgNC4xODAyNDY4Mjk5ODY1NzJdLCBbMTY2MzkyMzk2OC45OTUyNjkzLCAxMzY0NCwgNC41Mjg1NzA2NTIwMDgwNTddLCBbMTY2MzkyMzk2OS4xMTM3NDkzLCAxMzY1MywgMy44ODMyODI0MjMwMTk0MDldLCBbMTY2MzkyMzk2OS45OTg4MjM2LCAxMzcxNiwgMy43NzIxNjAyOTE2NzE3NTNdLCBbMTY2MzkyMzk3MC40OTI1MDA4LCAxMzc2MSwgNC43MTM0MTQxOTIxOTk3MDddLCBbMTY2MzkyMzk3MS4wNzA4NzUyLCAxMzgxNSwgMy44MDY4NTkyNTQ4MzcwMzZdLCBbMTY2MzkyMzk3MS4zNjYzNTQ1LCAxMzg0MiwgMy41ODYxNDAzOTQyMTA4MTU0XSwgWzE2NjM5MjM5NzEuNDY5OTg5LCAxMzg1MSwgNC4yNzA0NzM0ODAyMjQ2MDldLCBbMTY2MzkyMzk3MS44MjU5ODgzLCAxMzg3OCwgNC42MjIzNTE2NDY0MjMzNF0sIFsxNjYzOTIzOTcyLjQ5OTcyOCwgMTM5NDEsIDQuMjY5NTY2NTM1OTQ5NzA3XSwgWzE2NjM5MjM5NzIuNzc0MTcwOSwgMTM5NjgsIDQuNjcxNjg1Njk1NjQ4MTkzXSwgWzE2NjM5MjM5NzIuODY2MzAwOCwgMTM5NzcsIDMuNjgxNTM1NDgyNDA2NjE2XSwgWzE2NjM5MjM5NzIuOTYyMTk1LCAxMzk4NiwgNC42MDI5NDg2NjU2MTg4OTY1XSwgWzE2NjM5MjM5NzMuOTA2NzEwNiwgMTQwNjcsIDQuMTI0MDcyMDc0ODkwMTM3XSwgWzE2NjM5MjM5NzQuMjIxODY5MiwgMTQwOTQsIDQuMTUyOTQ0NTY0ODE5MzM2XSwgWzE2NjM5MjM5NzQuMzE2MDksIDE0MTAzLCA0LjAyMjI5NDk5ODE2ODk0NV0sIFsxNjYzOTIzOTc0LjUwNjMwMDIsIDE0MTIxLCA1Ljc0OTMzMDUyMDYyOTg4M10sIFsxNjYzOTIzOTc0LjgwMzk4NzMsIDE0MTQ4LCAzLjUxOTUyOTU4MTA2OTk0NjNdLCBbMTY2MzkyMzk3NC45MTE4MjExLCAxNDE1NywgMy43NjQ3MTU0MzMxMjA3Mjc1XSwgWzE2NjM5MjM5NzUuMDEyMzA2NSwgMTQxNjYsIDQuMDAzMDY0MTU1NTc4NjEzXSwgWzE2NjM5MjM5NzUuMzIzMjAzNiwgMTQxOTMsIDMuNjY5Mzk2MTYyMDMzMDgxXSwgWzE2NjM5MjM5NzUuNzQzMDAzNiwgMTQyMjksIDMuOTI5NjIxNjk2NDcyMTY4XSwgWzE2NjM5MjM5NzYuMjI5NTg4LCAxNDI3NCwgMy4zNzQzNTg4OTI0NDA3OTZdLCBbMTY2MzkyMzk3Ny4xODg2NTM3LCAxNDM2NCwgMy44NDE4NDY3MDQ0ODMwMzIyXSwgWzE2NjM5MjM5NzcuMjg0NzQyNiwgMTQzNzMsIDQuMDk5NDM3NzEzNjIzMDQ3XSwgWzE2NjM5MjM5NzcuMzc1MjExNSwgMTQzODIsIDQuMTUyMjQ2NDc1MjE5NzI3XSwgWzE2NjM5MjM5NzcuNzgzNTg0NCwgMTQ0MTgsIDQuMTA0OTcxODg1NjgxMTUyXSwgWzE2NjM5MjM5NzcuODc3ODI2LCAxNDQyNywgNS4xNjgzOTU1MTkyNTY1OTJdLCBbMTY2MzkyMzk3OC4xNzE5NDc3LCAxNDQzNiwgMy41NzIzMjc2MTM4MzA1NjY0XSwgWzE2NjM5MjM5NzguOTc3OTAzLCAxNDUwOCwgMy41MTg2NDE3MTAyODEzNzJdLCBbMTY2MzkyMzk3OS4zMDcwMTQ1LCAxNDUzNSwgMy44NzEzMjE5MTY1ODAyXSwgWzE2NjM5MjM5ODAuNDIzNDI1NywgMTQ2MjUsIDMuNjgyNjgyNTE0MTkwNjc0XSwgWzE2NjM5MjM5ODAuNzM1MzIxLCAxNDY1MiwgMy4zNjYyODA3OTQxNDM2NzY4XSwgWzE2NjM5MjM5ODEuMTQyODc2MSwgMTQ2ODgsIDMuNDUwNzI2MjcwNjc1NjU5XSwgWzE2NjM5MjM5ODEuNTYyMzEwMiwgMTQ3MjQsIDMuODM2NTgxMjMwMTYzNTc0XSwgWzE2NjM5MjM5ODEuNzg2MjU1NiwgMTQ3NDIsIDQuMzY3MDg5NzQ4MzgyNTY4XSwgWzE2NjM5MjM5ODIuMDg0OTY3NiwgMTQ3NjksIDMuMDY3OTU0MzAxODM0MTA2NF0sIFsxNjYzOTIzOTgyLjE4NjkwNzMsIDE0Nzc4LCAzLjI5NjQ5ODA2MDIyNjQ0MDRdLCBbMTY2MzkyMzk4Mi42ODg4MzIzLCAxNDgyMywgNC4yNDQyNjA3ODc5NjM4NjddLCBbMTY2MzkyMzk4Mi44MDIzMzI5LCAxNDgzMiwgMy43ODY2MjIyODU4NDI4OTU1XSwgWzE2NjM5MjM5ODMuMjY1NTY0NywgMTQ4NjgsIDMuNzg3Mzc3NTk1OTAxNDg5M10sIFsxNjYzOTIzOTgzLjM3ODA5MiwgMTQ4NzcsIDMuODA1MTAyNTg2NzQ2MjE2XSwgWzE2NjM5MjM5ODMuNDc2NjQ2NCwgMTQ4ODYsIDMuMzYxODAyODE2MzkwOTkxXSwgWzE2NjM5MjM5ODMuNTcxODEwMiwgMTQ4OTUsIDMuNzk2OTkwNjMzMDEwODY0M10sIFsxNjYzOTIzOTgzLjc3Mjk2OCwgMTQ5MTMsIDMuODQzNjg0NjczMzA5MzI2XSwgWzE2NjM5MjM5ODQuMzg5MzI0LCAxNDk2NywgMy4wNzQ3NTc4MTQ0MDczNDg2XSwgWzE2NjM5MjM5ODQuODQ4MDU0NCwgMTUwMDMsIDMuMzkwNzQ1ODc4MjE5NjA0NV0sIFsxNjYzOTIzOTg1LjMxOTE5ODEsIDE1MDM5LCAzLjY2Mjg3MTgzNzYxNTk2N10sIFsxNjYzOTIzOTg1Ljc4OTU4ODUsIDE1MDc1LCAzLjc3MDYzMDEyMTIzMTA3OV0sIFsxNjYzOTIzOTg2LjE0NzMzMDMsIDE1MTAyLCAzLjcwODA3ODE0NTk4MDgzNV0sIFsxNjYzOTIzOTg2LjM0ODMxOSwgMTUxMjAsIDMuNzI3NjAyMDA1MDA0ODgzXSwgWzE2NjM5MjM5ODYuOTM5Njk5MiwgMTUxNzQsIDMuOTQxNTQ2MjAxNzA1OTMyNl0sIFsxNjYzOTIzOTg3LjA0NDY4NywgMTUxODMsIDMuNzE2OTM2MzQ5ODY4Nzc0NF0sIFsxNjYzOTIzOTg3LjE0MjM2OTUsIDE1MTkyLCA0LjQwMTYzNTE2OTk4MjkxXSwgWzE2NjM5MjM5ODcuMjM3NTY4OSwgMTUyMDEsIDMuMDg4NDI0OTIxMDM1NzY2Nl0sIFsxNjYzOTIzOTg3Ljk2OTI5NjIsIDE1MjQ2LCAzLjU4MTg3MDA3OTA0MDUyNzNdLCBbMTY2MzkyMzk4OC4wNzQyODcsIDE1MjU1LCAzLjk0ODgwOTg2MjEzNjg0MV0sIFsxNjYzOTIzOTg4LjE3NjU1MDEsIDE1MjY0LCA0Ljc0NTI3NjkyNzk0Nzk5OF0sIFsxNjYzOTIzOTg4LjY1NjgyOCwgMTUzMDAsIDMuMjkzMjI4NjI2MjUxMjIwN10sIFsxNjYzOTIzOTg5LjAwNjgwNTQsIDE1MzI3LCAzLjIxOTEyMDc0MDg5MDUwM10sIFsxNjYzOTIzOTg5LjI0NDk4NzcsIDE1MzQ1LCAzLjIzMzg4OTgxODE5MTUyODNdLCBbMTY2MzkyMzk4OS41Njg1MDMxLCAxNTM3MiwgMy43NTM1NzUzMjUwMTIyMDddLCBbMTY2MzkyMzk4OS44MTQxMTQ2LCAxNTM5MCwgMi45OTE4Mjc3MjYzNjQxMzU3XSwgWzE2NjM5MjM5ODkuOTQ5NTM1NCwgMTUzOTksIDMuMzAwNDU1ODA4NjM5NTI2NF0sIFsxNjYzOTIzOTkwLjA0OTA4NjYsIDE1NDA4LCAzLjc1MDg4NDUzMjkyODQ2N10sIFsxNjYzOTIzOTkwLjE3NzgwNjksIDE1NDE3LCAzLjM5NTMyNDcwNzAzMTI1XSwgWzE2NjM5MjM5OTAuODUwMjUyLCAxNTQ3MSwgMy41MTIwNzMyNzg0MjcxMjRdLCBbMTY2MzkyMzk5MS4zMzQzMzA2LCAxNTUwNywgMy4zNjI3NDkzMzgxNTAwMjQ0XSwgWzE2NjM5MjM5OTEuNDUxMDE1LCAxNTUxNiwgMy40MDMyMjE4NDU2MjY4MzFdLCBbMTY2MzkyMzk5MS41NTUyNTIzLCAxNTUyNSwgMy4yMjUwNDcxMTE1MTEyMzA1XSwgWzE2NjM5MjM5OTEuNjYzNDU5OCwgMTU1MzQsIDQuMTY4NjA2NzU4MTE3Njc2XSwgWzE2NjM5MjM5OTIuMTgwMDg2OSwgMTU1NzksIDQuMDAzOTk3MzI1ODk3MjE3XSwgWzE2NjM5MjM5OTMuMDYzMzYyOCwgMTU2NTEsIDMuNTU0OTc2NDYzMzE3ODcxXSwgWzE2NjM5MjM5OTMuMTczODE2NywgMTU2NjAsIDMuNDAyNTAwNjI5NDI1MDQ5XSwgWzE2NjM5MjM5OTMuNjMwMDM3OCwgMTU2OTYsIDMuMTU4MjkyMjkzNTQ4NTg0XSwgWzE2NjM5MjM5OTMuODQ0NzkwNywgMTU3MTQsIDMuOTMwODMxOTA5MTc5Njg3NV0sIFsxNjYzOTIzOTk0LjIwODExODQsIDE1NzQxLCAyLjc2Mjk2MjM0MTMwODU5MzhdLCBbMTY2MzkyMzk5NC40NDEyNDc1LCAxNTc1OSwgMi44Nzc1MzU1ODE1ODg3NDVdLCBbMTY2MzkyMzk5NC43NTc3Njc0LCAxNTc4NiwgMy42OTE3MjIxNTQ2MTczMDk2XSwgWzE2NjM5MjM5OTQuODU3NzY2OSwgMTU3OTUsIDMuMDk5ODE0MTc2NTU5NDQ4Ml0sIFsxNjYzOTIzOTk1LjY0NjM5LCAxNTg2NywgMi42MzIzMDA2MTUzMTA2NjldLCBbMTY2MzkyMzk5NS45MzM3OTQ1LCAxNTg5NCwgMy4wMzY3ODQxNzIwNTgxMDU1XSwgWzE2NjM5MjM5OTcuMDMwNzQzLCAxNTk4NCwgMi45NjYxNjUwNjU3NjUzODFdLCBbMTY2MzkyMzk5Ny40MzQzNDgsIDE2MDAyLCAyLjY5MjIyMTY0MTU0MDUyNzNdLCBbMTY2MzkyMzk5Ny43NTczOTQzLCAxNjAyOSwgMy42OTA2NTQyNzc4MDE1MTM3XSwgWzE2NjM5MjM5OTguMTU1MjU5NCwgMTYwNjUsIDIuNzU4ODEyNjY1OTM5MzMxXSwgWzE2NjM5MjM5OTguMjU2NzczMiwgMTYwNzQsIDMuMDEwODcwOTMzNTMyNzE1XSwgWzE2NjM5MjM5OTguMzUxMzkyNywgMTYwODMsIDMuMDkzNzU5Mjk4MzI0NTg1XSwgWzE2NjM5MjM5OTguNjU2NDY5NiwgMTYxMTAsIDMuMTQyNjgyNTUyMzM3NjQ2NV0sIFsxNjYzOTIzOTk4LjkzMDg4NzcsIDE2MTM3LCAzLjA3MjYyNDQ0NDk2MTU0OF0sIFsxNjYzOTIzOTk5LjMzNjEwMzcsIDE2MTczLCAzLjI5NjgyMzAyNDc0OTc1Nl0sIFsxNjYzOTIzOTk5Ljc0MTA1ODgsIDE2MjA5LCAzLjEwNDgzNDA3OTc0MjQzMTZdLCBbMTY2MzkyMzk5OS45Mzc4ODYyLCAxNjIyNywgMi45NTAzMzA3MzQyNTI5Mjk3XSwgWzE2NjM5MjQwMDAuNTQ2NjUzMywgMTYyODEsIDIuNjU1MDU5MzM3NjE1OTY3XSwgWzE2NjM5MjQwMDAuNzU1OTQ1LCAxNjI5OSwgMi45MTgyNzQ0MDI2MTg0MDhdLCBbMTY2MzkyNDAwMS43OTE5MDU5LCAxNjM4MCwgMi43OTg4MjI2NDEzNzI2ODA3XSwgWzE2NjM5MjQwMDIuMTk4NDM2MywgMTY0MTYsIDMuMDA0OTY3OTI3OTMyNzM5M10sIFsxNjYzOTI0MDAyLjU0OTg0OSwgMTY0NDMsIDIuNzg3NTczMDk5MTM2MzUyNV0sIFsxNjYzOTI0MDAyLjY3NDE4NTMsIDE2NDUyLCAzLjkzNjc1ODI3OTgwMDQxNV0sIFsxNjYzOTI0MDAyLjg4NTEzMjYsIDE2NDcwLCAyLjYxMTY1MDcwNTMzNzUyNDRdLCBbMTY2MzkyNDAwMi45OTAyMTUsIDE2NDc5LCAzLjMxNDEwMDc0MjM0MDA4OF0sIFsxNjYzOTI0MDAzLjE4MDIwOSwgMTY0OTcsIDIuNzg2MzExNjI2NDM0MzI2XSwgWzE2NjM5MjQwMDMuNjY2NjA0OCwgMTY1MzMsIDIuMzY1MzAyMDg1ODc2NDY1XSwgWzE2NjM5MjQwMDMuODg3MDQzMiwgMTY1NTEsIDIuNTU3NTA2Nzk5Njk3ODc2XSwgWzE2NjM5MjQwMDQuNTk0MzA0OCwgMTY2MTQsIDIuMzkwMDgzMzEyOTg4MjgxMl0sIFsxNjYzOTI0MDA0LjY4NzQxMiwgMTY2MjMsIDIuNjYxMTM0MDA0NTkyODk1NV0sIFsxNjYzOTI0MDA0Ljc5NDkyMDQsIDE2NjMyLCAyLjgzODk4Mzc3NDE4NTE4MDddLCBbMTY2MzkyNDAwNC44OTAzNzQ0LCAxNjY0MSwgMi41MDY3MzI3MDIyNTUyNDldLCBbMTY2MzkyNDAwNS4xOTE3MTQ1LCAxNjY2OCwgMi42NjYxMjA3Njc1OTMzODRdLCBbMTY2MzkyNDAwNi4xNjg4NTgzLCAxNjc0OSwgMi45MDY4MDM2MDc5NDA2NzRdLCBbMTY2MzkyNDAwNi44NzkyMjg2LCAxNjc5NCwgMi40NTM0NzI4NTI3MDY5MDldLCBbMTY2MzkyNDAwNi45ODA0MTEzLCAxNjgwMywgMi45MDY2NjQxMzMwNzE4OTk0XSwgWzE2NjM5MjQwMDcuMDg2MTU1NCwgMTY4MTIsIDIuODczNTcwNDQyMTk5NzA3XSwgWzE2NjM5MjQwMDcuNTAzODAwMiwgMTY4NDgsIDIuNjM3ODk2MDYwOTQzNjAzNV0sIFsxNjYzOTI0MDA3LjYwNzE1MzcsIDE2ODU3LCAyLjE1OTcwMDE1NTI1ODE3ODddLCBbMTY2MzkyNDAwNy44NDAyODU1LCAxNjg3NSwgMi41ODE4Nzk4NTQyMDIyNzA1XSwgWzE2NjM5MjQwMDguMTQzOTA1MiwgMTY5MDIsIDIuNDQ3MTcwMDE5MTQ5NzgwM10sIFsxNjYzOTI0MDA4LjQ1MTEwNzMsIDE2OTI5LCAyLjUxMDI5MDg2MTEyOTc2MDddLCBbMTY2MzkyNDAwOC43NjE1MDE4LCAxNjk1NiwgMi4zODc4NjI2ODIzNDI1MjkzXSwgWzE2NjM5MjQwMDguODYyMzcsIDE2OTY1LCAyLjQwNTAyMTY2NzQ4MDQ2ODhdLCBbMTY2MzkyNDAwOS4wNzA5MDQzLCAxNjk4MywgMi44NzY4MzYyOTk4OTYyNDAyXSwgWzE2NjM5MjQwMDkuMjkwODIwMSwgMTcwMDEsIDIuMzk1NjkxODcxNjQzMDY2NF0sIFsxNjYzOTI0MDA5LjUwNjkwMjUsIDE3MDE5LCAyLjYyMjMwNDIwMTEyNjA5ODZdLCBbMTY2MzkyNDAxMC4wNDQ5OTQ4LCAxNzA2NCwgMi41MTUwODM1NTE0MDY4NjA0XSwgWzE2NjM5MjQwMTAuNDY3NTkzLCAxNzEwMCwgMi41MTcxMjUxMjk2OTk3MDddLCBbMTY2MzkyNDAxMC43NjYyMjcyLCAxNzEyNywgMi4zOTEyNjQyMDAyMTA1NzEzXSwgWzE2NjM5MjQwMTEuMzU1MzgzNiwgMTcxODEsIDIuNzY2NzY3MjYzNDEyNDc1Nl0sIFsxNjYzOTI0MDExLjQ1NTE3NDcsIDE3MTkwLCAyLjI3MTg3MTgwNTE5MTA0XSwgWzE2NjM5MjQwMTEuNTU3MTkxMSwgMTcxOTksIDIuNjkwMzIzODI5NjUwODc5XSwgWzE2NjM5MjQwMTEuODUwMjM4NiwgMTcyMjYsIDIuOTI3ODU2MjA2ODkzOTIxXSwgWzE2NjM5MjQwMTIuNDA3MzA4LCAxNzI3MSwgMi41MTQ1NjE2NTMxMzcyMDddLCBbMTY2MzkyNDAxMy4wNDUwNzE4LCAxNzMyNSwgMy4wMDI4MzQzMjAwNjgzNTk0XSwgWzE2NjM5MjQwMTMuMTQwMzU1MywgMTczMzQsIDMuMDQwMjAzMzMyOTAxMDAxXSwgWzE2NjM5MjQwMTMuNTU1NDE3MywgMTczNzAsIDIuODkyNjIwNTYzNTA3MDhdLCBbMTY2MzkyNDAxNC4zMTg5MTEsIDE3NDI0LCAyLjIwODAyMzMwOTcwNzY0MTZdLCBbMTY2MzkyNDAxNC40NDcwMSwgMTc0MzMsIDIuNTU1MjYyNTY1NjEyNzkzXSwgWzE2NjM5MjQwMTQuOTI1Mjc3NywgMTc0NjksIDIuMTM2MTcyNTMzMDM1Mjc4M10sIFsxNjYzOTI0MDE1LjA0NDQwOSwgMTc0NzgsIDMuNDUyNjE5NzkxMDMwODg0XSwgWzE2NjM5MjQwMTUuMTYyNzMxNCwgMTc0ODcsIDIuMDcwNzE3MzM0NzQ3MzE0NV0sIFsxNjYzOTI0MDE1LjU1Mjc5ODUsIDE3NTE0LCAzLjMyNDAyMDM4NTc0MjE4NzVdLCBbMTY2MzkyNDAxNS43ODc1NzE0LCAxNzUzMiwgMi40NTI5MjA0MzY4NTkxMzFdLCBbMTY2MzkyNDAxNi4zMzY2NTAxLCAxNzU1OSwgMi45NjU2MTc0MTgyODkxODQ2XSwgWzE2NjM5MjQwMTYuNjk1MzExLCAxNzU4NiwgMi4zNjcxMTQ3ODIzMzMzNzRdLCBbMTY2MzkyNDAxNy4wMjQ2NTQyLCAxNzYxMywgMi40NDY1NTc3NjAyMzg2NDc1XSwgWzE2NjM5MjQwMTcuNDM2NDM1MiwgMTc2NDksIDIuNTUxMzQyMjQ4OTE2NjI2XSwgWzE2NjM5MjQwMTcuNTQxMTc4MiwgMTc2NTgsIDIuNTg2OTg5ODc5NjA4MTU0M10sIFsxNjYzOTI0MDE3LjY0MTk2ODcsIDE3NjY3LCAyLjMxMzA2ODM4OTg5MjU3OF0sIFsxNjYzOTI0MDE3Ljc0MDQwNTYsIDE3Njc2LCAyLjQxMjQyNzQyNTM4NDUyMTVdLCBbMTY2MzkyNDAxNy44MzE3OTI2LCAxNzY4NSwgMi4yNjQyMTA3MDA5ODg3Njk1XSwgWzE2NjM5MjQwMTguMDk5MzExNCwgMTc3MDMsIDIuNTc0NDQ5MDYyMzQ3NDEyXSwgWzE2NjM5MjQwMTguMjExMjgzMiwgMTc3MTIsIDIuNjcxODIyNzg2MzMxMTc2OF0sIFsxNjYzOTI0MDE4LjMzOTQyNzUsIDE3NzIxLCAxLjg0OTc3MTk3NjQ3MDk0NzNdLCBbMTY2MzkyNDAxOS4zMjUyODc2LCAxNzgwMiwgMi4wMjMxNDM3NjgzMTA1NDddLCBbMTY2MzkyNDAxOS41OTYyMTk1LCAxNzgyMCwgMi40NzI1NDY1Nzc0NTM2MTMzXSwgWzE2NjM5MjQwMTkuODUxNzM0MiwgMTc4MzgsIDIuNzg3NDI2NzEwMTI4Nzg0XSwgWzE2NjM5MjQwMjAuMzIxNjYzOSwgMTc4NzQsIDIuMTI2NjQyNDY1NTkxNDMwN10sIFsxNjYzOTI0MDIwLjU3OTk4NTQsIDE3ODkyLCAyLjE4ODAxOTk5MDkyMTAyMDVdLCBbMTY2MzkyNDAyMC42ODYwMTcsIDE3OTAxLCAyLjQxNDI0MTA3NTUxNTc0N10sIFsxNjYzOTI0MDIxLjAwMTEzNDIsIDE3OTI4LCAyLjAxODU4MTYyODc5OTQzODVdLCBbMTY2MzkyNDAyMy41ODQ1NzI2LCAxODE2MiwgMi40NDk0OTI5MzEzNjU5NjddLCBbMTY2MzkyNDAyNC4wMDAxMDI4LCAxODE5OCwgMi4wNDg1NDkxNzUyNjI0NTFdLCBbMTY2MzkyNDAyNC4wOTE0NTUyLCAxODIwNywgMi4xNjgyODI1MDg4NTAwOTc3XSwgWzE2NjM5MjQwMjQuNDg4MzQ2OCwgMTgyNDMsIDIuMDI3MTk5MDI5OTIyNDg1NF0sIFsxNjYzOTI0MDI0LjcwNzcwNTUsIDE4MjYxLCAyLjI4Nzk1Mzg1MzYwNzE3NzddLCBbMTY2MzkyNDAyNS4wMjE3MTE4LCAxODI4OCwgMi4wNjIxMjEzOTEyOTYzODY3XSwgWzE2NjM5MjQwMjUuNjIyOTM1LCAxODMyNCwgMS44MDU5MDI2MDAyODgzOTExXSwgWzE2NjM5MjQwMjUuNzM4NTk3NCwgMTgzMzMsIDIuNTI1NTI3MjM4ODQ1ODI1XSwgWzE2NjM5MjQwMjYuMTMyNywgMTgzNjksIDIuMDkyOTA1NTIxMzkyODIyM10sIFsxNjYzOTI0MDI2LjQ3NDc2NzIsIDE4Mzk2LCAyLjA3OTQ0NjMxNTc2NTM4MV0sIFsxNjYzOTI0MDI2Ljk0MTkzNTgsIDE4NDMyLCAxLjkwNDk1OTIwMTgxMjc0NDFdLCBbMTY2MzkyNDAyNy43OTM0MzM3LCAxODQ5NSwgMS45NTcwMTg3MzMwMjQ1OTcyXSwgWzE2NjM5MjQwMjcuOTAxMzExNCwgMTg1MDQsIDIuNDcwOTIyOTQ2OTI5OTMxNl0sIFsxNjYzOTI0MDI4LjAyNDkzMjksIDE4NTEzLCAyLjM5ODU4ODQxODk2MDU3MTNdLCBbMTY2MzkyNDAyOS4xODQ2NDg4LCAxODYxMiwgMi4wNTMwMTIzNzEwNjMyMzI0XSwgWzE2NjM5MjQwMjkuMjk2NjUxNCwgMTg2MjEsIDIuMzc5Njc3NzcyNTIxOTcyN10sIFsxNjYzOTI0MDI5LjQ4MzI2MDIsIDE4NjM5LCAyLjIzMTE3MzAzODQ4MjY2Nl0sIFsxNjYzOTI0MDI5Ljg2MTM4MTMsIDE4Njc1LCAyLjExMzcwNzU0MjQxOTQzMzZdLCBbMTY2MzkyNDAzMC4zNTc5MTQ3LCAxODcyMCwgMS43OTgzNDIzNDcxNDUwODA2XSwgWzE2NjM5MjQwMzAuOTY0MzcyNiwgMTg3NjUsIDEuOTgzMzMwODQ1ODMyODI0N10sIFsxNjYzOTI0MDMxLjE3ODUyOTUsIDE4NzgzLCAyLjE5Nzk0OTQwOTQ4NDg2MzNdLCBbMTY2MzkyNDAzMS4yODIyMDY1LCAxODc5MiwgMS45ODI4MzAyODYwMjYwMDFdLCBbMTY2MzkyNDAzMS41MDc2OTUyLCAxODgxMCwgMi4zMTQ5OTYwMDQxMDQ2MTQzXSwgWzE2NjM5MjQwMzEuNjEzMjY0NiwgMTg4MTksIDIuNTA4NTkzMDgyNDI3OTc4NV0sIFsxNjYzOTI0MDMxLjcxNTk4NDYsIDE4ODI4LCAyLjAzNzI2NzY4NDkzNjUyMzRdLCBbMTY2MzkyNDAzMi4xMzM1MzUsIDE4ODY0LCAyLjI5NzI4MTc0MjA5NTk0NzNdLCBbMTY2MzkyNDAzMi4zNDYyMTc0LCAxODg4MiwgMS45OTY0NzYxNzM0MDA4NzldLCBbMTY2MzkyNDAzMi40NTgwMjYsIDE4ODkxLCAyLjE1Nzk0NDkxNzY3ODgzM10sIFsxNjYzOTI0MDMyLjY2MzA3OTUsIDE4OTA5LCAyLjE2NTY2NjU4MDIwMDE5NTNdLCBbMTY2MzkyNDAzMi45NzMxMTU3LCAxODkzNiwgMS45ODQ4OTMwODM1NzIzODc3XSwgWzE2NjM5MjQwMzMuMTg0MDcsIDE4OTU0LCAxLjg4MjM4MjYzMTMwMTg3OTldLCBbMTY2MzkyNDAzMy41OTc2NDQ2LCAxODk5MCwgMS45MDU4NTQ0NjM1NzcyNzA1XSwgWzE2NjM5MjQwMzMuNjkwMTU4NCwgMTg5OTksIDEuOTUzMDEyOTQzMjY3ODIyM10sIFsxNjYzOTI0MDM0LjA5OTk5NzMsIDE5MDM1LCAxLjg3MDM2NjgxMTc1MjMxOTNdLCBbMTY2MzkyNDAzNC4xOTQ0NzEsIDE5MDQ0LCAyLjIwNDM5ODE1NTIxMjQwMjNdLCBbMTY2MzkyNDAzNC42MTEyMjUxLCAxOTA4MCwgMS44ODg5NDU5MzcxNTY2NzcyXSwgWzE2NjM5MjQwMzQuNzE2MzUwMywgMTkwODksIDEuOTYxMDI3MTQ1Mzg1NzQyMl0sIFsxNjYzOTI0MDM1LjIwMTQzMywgMTkxMTYsIDEuODE4NTUzMDkwMDk1NTJdLCBbMTY2MzkyNDAzNS4yOTgxNTM5LCAxOTEyNSwgMi4yMTI0OTEwMzU0NjE0MjZdLCBbMTY2MzkyNDAzNS42MjQ0MjQ1LCAxOTE1MiwgMi40NjgwNzQ3OTg1ODM5ODQ0XSwgWzE2NjM5MjQwMzYuNDgzMzQ0LCAxOTIyNCwgMS43MTI1NjUxODM2Mzk1MjY0XSwgWzE2NjM5MjQwMzYuNTc3OTc1LCAxOTIzMywgMS45OTI3MzQ1NTE0Mjk3NDg1XSwgWzE2NjM5MjQwMzYuOTI0NTg5MiwgMTkyNjAsIDEuODIwNjI0OTQ3NTQ3OTEyNl0sIFsxNjYzOTI0MDM3LjMxMjkwMzYsIDE5Mjk2LCAyLjI0MTE4OTI0MTQwOTMwMThdLCBbMTY2MzkyNDAzNy45NzEyMDQ1LCAxOTM1MCwgMS44MzEyOTAxMjU4NDY4NjI4XSwgWzE2NjM5MjQwMzguNDczODc3LCAxOTM5NSwgMi4xODk5MjczMzk1NTM4MzNdLCBbMTY2MzkyNDAzOS4wMTAyNjc1LCAxOTQ0MCwgMS43OTQwOTMzNzA0Mzc2MjJdLCBbMTY2MzkyNDAzOS4xMjU0MDEzLCAxOTQ0OSwgMi4wMzI2OTkxMDgxMjM3NzkzXSwgWzE2NjM5MjQwMzkuMzMwODQ3MywgMTk0NjcsIDEuNzE3OTk5ODE1OTQwODU3XSwgWzE2NjM5MjQwMzkuOTkwNjk5NSwgMTk1MzAsIDEuOTIwMDI4Njg2NTIzNDM3NV0sIFsxNjYzOTI0MDQwLjY3MjE3MDYsIDE5NTkzLCAyLjA1NjQ3NTg3Nzc2MTg0MV0sIFsxNjYzOTI0MDQxLjczNTMzMiwgMTk2OTIsIDIuMTQ1OTIyMTgzOTkwNDc4NV0sIFsxNjYzOTI0MDQxLjk1MTE0ODMsIDE5NzEwLCAxLjk0MTcyNjMyNjk0MjQ0MzhdLCBbMTY2MzkyNDA0Mi40MTMyMDA2LCAxOTc1NSwgMS44MTg0NDYzOTc3ODEzNzJdLCBbMTY2MzkyNDA0Mi44OTgzNTMsIDE5ODAwLCAxLjkxMzg1MTI2MTEzODkxNl0sIFsxNjYzOTI0MDQzLjEwODI2MzMsIDE5ODE4LCAxLjU0MTMyMDA4NTUyNTUxMjddLCBbMTY2MzkyNDA0My4yMDI4MTcyLCAxOTgyNywgMi4yMTk1MDE5NzIxOTg0ODYzXSwgWzE2NjM5MjQwNDMuMjk3MzE5NywgMTk4MzYsIDEuNjY3MjcyNDQ4NTM5NzMzOV0sIFsxNjYzOTI0MDQ0LjIyMjE2NTgsIDE5ODkwLCAxLjYxODcxODc0MzMyNDI3OThdLCBbMTY2MzkyNDA0NC40MzM1MzU2LCAxOTkwOCwgMS43NTgxNjg4MTY1NjY0NjczXSwgWzE2NjM5MjQwNDQuNTMwMTA4NSwgMTk5MTcsIDEuNjMxMzA5ODY2OTA1MjEyNF0sIFsxNjYzOTI0MDQ0Ljc0MTM4NTcsIDE5OTM1LCAxLjc3NTg4ODY4MTQxMTc0MzJdLCBbMTY2MzkyNDA0NC44Mzk5MDU1LCAxOTk0NCwgMS43NTk1NTI3MTcyMDg4NjIzXSwgWzE2NjM5MjQwNDUuNDY0OTE2LCAxOTk5OCwgMS44NjgyNTE4MDA1MzcxMDk0XSwgWzE2NjM5MjQwNDUuODYzMzIwOCwgMjAwMzQsIDEuODc2MzQyMTc3MzkxMDUyMl0sIFsxNjYzOTI0MDQ2LjA1ODQ3MTcsIDIwMDUyLCAyLjM3MTIxMDU3NTEwMzc1OThdLCBbMTY2MzkyNDA0Ny4wNzkyMDA3LCAyMDEzMywgMS43ODQzOTc3MjEyOTA1ODg0XSwgWzE2NjM5MjQwNDcuNDU2MywgMjAxNjAsIDEuNjQ5NDUxMTM2NTg5MDUwM10sIFsxNjYzOTI0MDQ3Ljc4MzQxMSwgMjAxODcsIDEuODY4MDMxMTQ0MTQyMTUwOV0sIFsxNjYzOTI0MDQ3Ljk5NTI4LCAyMDIwNSwgMS42NDMxMDMxMjI3MTExODE2XSwgWzE2NjM5MjQwNDkuMTkzNzcyLCAyMDI5NSwgMS44NDY5MTkwNTk3NTM0MThdLCBbMTY2MzkyNDA0OS41MjU0OTEyLCAyMDMyMiwgMS42MjEzODcxMjQwNjE1ODQ1XSwgWzE2NjM5MjQwNDkuNjI3MTE3OSwgMjAzMzEsIDIuMTI0NTM0MzY4NTE1MDE0Nl0sIFsxNjYzOTI0MDUwLjIxOTAwOSwgMjAzODUsIDEuNjg2OTc3MTQ4MDU2MDMwM10sIFsxNjYzOTI0MDUwLjUxNTEyNjcsIDIwNDEyLCAxLjc3NzUzODg5NTYwNjk5NDZdLCBbMTY2MzkyNDA1MS41NzM0MjEsIDIwNDkzLCAxLjU5NDU0MDU5NjAwODMwMDhdLCBbMTY2MzkyNDA1Mi4wMjQyMzkzLCAyMDUyOSwgMS45MzA3MjY0MDg5NTg0MzVdLCBbMTY2MzkyNDA1Mi4xMjg1MjY0LCAyMDUzOCwgMS44OTMzMDE5NjM4MDYxNTIzXSwgWzE2NjM5MjQwNTIuNTY5NzA3NiwgMjA1NzQsIDEuNjU5ODQ1MzUyMTcyODUxNl0sIFsxNjYzOTI0MDUzLjM0MDUzNzUsIDIwNjM3LCAxLjgwMDUzMTM4NzMyOTEwMTZdLCBbMTY2MzkyNDA1NC40MjIxMzkyLCAyMDcwOSwgMS43OTQ2MzE5NTgwMDc4MTI1XSwgWzE2NjM5MjQwNTQuOTQ4MDAxNiwgMjA3NTQsIDEuOTQyOTgzMzg4OTAwNzU2OF0sIFsxNjYzOTI0MDU1LjA3MjA4NTEsIDIwNzYzLCAyLjA4MjQxMDgxMjM3NzkyOTddLCBbMTY2MzkyNDA1NS4zNzczODU2LCAyMDc5MCwgMS43MDc3Nzg1NzMwMzYxOTM4XSwgWzE2NjM5MjQwNTUuNTk2NjgxLCAyMDgwOCwgMS42NjY4OTkwODUwNDQ4NjA4XSwgWzE2NjM5MjQwNTYuMTg2NzE2MywgMjA4NTMsIDEuNjQ4MzA2NjA4MjAwMDczMl0sIFsxNjYzOTI0MDU2LjUyODEwMzYsIDIwODgwLCAxLjY2NjMwMDc3MzYyMDYwNTVdLCBbMTY2MzkyNDA1Ny4wODAwMjU3LCAyMDkyNSwgMS42MjU5NTY2NTQ1NDg2NDVdLCBbMTY2MzkyNDA1Ny43NjUyMjg1LCAyMDk3OSwgMS43NjYzMjg0NTQwMTc2MzkyXSwgWzE2NjM5MjQwNTcuOTgyOTgxMiwgMjA5OTcsIDEuNjI2NTg4MzQ0NTczOTc0Nl0sIFsxNjYzOTI0MDU4LjMyMjc2OTYsIDIxMDI0LCAxLjcwMTU4ODI3MzA0ODQwMDldLCBbMTY2MzkyNDA1OC44ODgxODc2LCAyMTA2OSwgMS42NTkyNTQ2NzAxNDMxMjc0XSwgWzE2NjM5MjQwNTkuMTEzMTM0NCwgMjEwODcsIDEuNjU4ODYyODI5MjA4Mzc0XSwgWzE2NjM5MjQwNTkuMjIzMzgyLCAyMTA5NiwgMi4xODczMDA0NDM2NDkyOTJdLCBbMTY2MzkyNDA1OS4zNDc4MzUzLCAyMTEwNSwgMS45MjExODI3NTE2NTU1Nzg2XSwgWzE2NjM5MjQwNTkuNTY4MTI4NiwgMjExMjMsIDIuMDY3MTI1NTU4ODUzMTQ5NF0sIFsxNjYzOTI0MDU5LjY3NTkwMDUsIDIxMTMyLCAxLjUyMzk3ODExNDEyODExMjhdLCBbMTY2MzkyNDA2MC4xMzUyOTcsIDIxMTY4LCAxLjg5NjI5MzI4MjUwODg1XSwgWzE2NjM5MjQwNjAuMjYxNTYyOCwgMjExNzcsIDIuMzc5NTU0OTg2OTUzNzM1NF0sIFsxNjYzOTI0MDYwLjM3MDgxMTcsIDIxMTg2LCAyLjIwMjcwMDM3NjUxMDYyXSwgWzE2NjM5MjQwNjAuODIxNTAxNywgMjEyMjIsIDEuODA2MzMxOTkyMTQ5MzUzXSwgWzE2NjM5MjQwNjEuMDQwMzEwNCwgMjEyNDAsIDIuMDEyMDY2ODQxMTI1NDg4M10sIFsxNjYzOTI0MDYxLjcxOTYwNjksIDIxMjk0LCAxLjk0MDk3ODg4NDY5Njk2MDRdLCBbMTY2MzkyNDA2Mi4wMjYxMTY2LCAyMTMyMSwgMS41MzQ4NjA5Njg1ODk3ODI3XSwgWzE2NjM5MjQwNjIuMzM5NDU2NiwgMjEzNDgsIDEuNzEyMjEyNTYyNTYxMDM1Ml0sIFsxNjYzOTI0MDYyLjU0OTI5NDcsIDIxMzY2LCAyLjE0ODkxNTc2NzY2OTY3NzddLCBbMTY2MzkyNDA2My4xNjgwNTM0LCAyMTQxMSwgMS41NzM4MTg2ODM2MjQyNjc2XSwgWzE2NjM5MjQwNjQuMDgyNDUyNSwgMjE0NjUsIDEuNTY2NjQwNDk2MjUzOTY3M10sIFsxNjYzOTI0MDY0LjU5NzcyODUsIDIxNTEwLCAxLjY4OTYwNzAyNDE5MjgxXSwgWzE2NjM5MjQwNjQuNzk3ODgyLCAyMTUyOCwgMi4xOTcwMDk4MDE4NjQ2MjRdLCBbMTY2MzkyNDA2NC45OTQzMjM3LCAyMTU0NiwgMS44MTc4NTYzMTE3OTgwOTU3XSwgWzE2NjM5MjQwNjUuMDkxMTg0OSwgMjE1NTUsIDIuNTAyNDY4NTg1OTY4MDE3Nl0sIFsxNjYzOTI0MDY1LjE5MTgwNjMsIDIxNTY0LCAxLjg2Nzk3NjE4ODY1OTY2OF0sIFsxNjYzOTI0MDY1LjQwNzkwOSwgMjE1ODIsIDEuNzAzNjYyODcyMzE0NDUzMV0sIFsxNjYzOTI0MDY1LjQ5ODAwNSwgMjE1OTEsIDEuNTU3NTE4MTI0NTgwMzgzM10sIFsxNjYzOTI0MDY2LjU3MTM4NDcsIDIxNjgxLCAxLjY2NjQwNDYwNDkxMTgwNDJdLCBbMTY2MzkyNDA2Ni45NjM2NTI0LCAyMTcxNywgMS43ODE3ODUxMzA1MDA3OTM1XSwgWzE2NjM5MjQwNjcuMjYyNjg4LCAyMTc0NCwgMS42NDY5NTI1MDk4ODAwNjZdLCBbMTY2MzkyNDA2Ny43MTk0NjQzLCAyMTc4MCwgMS42MTA5NjU2MDk1NTA0NzZdLCBbMTY2MzkyNDA2OC42MDk0ODEzLCAyMTg2MSwgMS41Njc1NzM2NjY1NzI1NzA4XSwgWzE2NjM5MjQwNjguODk0OTI5LCAyMTg4OCwgMS42MzgwOTE5MjE4MDYzMzU0XSwgWzE2NjM5MjQwNjkuMjcwNzIyNiwgMjE5MjQsIDEuNTQ5MTA1Mjg2NTk4MjA1Nl0sIFsxNjYzOTI0MDY5LjM2NzI5ODQsIDIxOTMzLCAxLjc5MDUzMDMyMzk4MjIzODhdLCBbMTY2MzkyNDA2OS43MzAzOTg3LCAyMTk2MCwgMS41Nzc4ODI1MjgzMDUwNTM3XSwgWzE2NjM5MjQwNjkuOTQxMTcxNCwgMjE5NzgsIDEuNzk1OTcwNDM5OTEwODg4N10sIFsxNjYzOTI0MDcwLjAzMjMyNjcsIDIxOTg3LCAxLjc1MzE0ODMxNzMzNzAzNjFdLCBbMTY2MzkyNDA3MC42OTcxODU1LCAyMjA0MSwgMS45MzM5NDkzNTEzMTA3M10sIFsxNjYzOTI0MDcxLjM2NTIwMywgMjIwOTUsIDEuNDkxMzg2NjUxOTkyNzk3OV0sIFsxNjYzOTI0MDcxLjgwNDIzOTUsIDIyMTMxLCAxLjc0NzI0NzY5NTkyMjg1MTZdLCBbMTY2MzkyNDA3Mi4yODEwNDI2LCAyMjE2NywgMS45MjM1MTE4NjI3NTQ4MjE4XSwgWzE2NjM5MjQwNzIuNTExMzI1MSwgMjIxODUsIDEuMzk5NDc0NjIwODE5MDkxOF0sIFsxNjYzOTI0MDcyLjYxNDMxODQsIDIyMTk0LCAyLjE0ODkwMDAzMjA0MzQ1N10sIFsxNjYzOTI0MDczLjE4ODUzMzgsIDIyMjMwLCAxLjcxMDUzNDQ1MzM5MjAyODhdLCBbMTY2MzkyNDA3My42MDY0NzY4LCAyMjI2NiwgMS43ODAyMTk0MzU2OTE4MzM1XSwgWzE2NjM5MjQwNzMuODA0MzY5NCwgMjIyODQsIDEuODAwMDI4MjA0OTE3OTA3N10sIFsxNjYzOTI0MDc0LjAxMjExNzQsIDIyMzAyLCAxLjU0MDM1OTEzOTQ0MjQ0MzhdLCBbMTY2MzkyNDA3NC43MTIzNjA0LCAyMjM2NSwgMS42NzM1NTI1MTMxMjI1NTg2XSwgWzE2NjM5MjQwNzQuODE0OTU1MiwgMjIzNzQsIDEuNzcyNjY3ODg0ODI2NjYwMl0sIFsxNjYzOTI0MDc1LjE5MDk2NjgsIDIyNDEwLCAxLjc2MTgyOTk3MjI2NzE1MDldLCBbMTY2MzkyNDA3NS41NzMyMTIsIDIyNDQ2LCAxLjM5MDI2MDIxOTU3Mzk3NDZdLCBbMTY2MzkyNDA3NS44ODUzMTIsIDIyNDczLCAxLjQwNDg2Mzk1MzU5MDM5M10sIFsxNjYzOTI0MDc2LjA3NTUzNzcsIDIyNDkxLCAxLjQzNjE2NzgzNjE4OTI3XSwgWzE2NjM5MjQwNzYuMTc1NDc1LCAyMjUwMCwgMS41Mzc2NDA1NzE1OTQyMzgzXSwgWzE2NjM5MjQwNzYuMjcxODcwNCwgMjI1MDksIDEuNjU1NTYzMzU0NDkyMTg3NV0sIFsxNjYzOTI0MDc2LjU2OTIwMSwgMjI1MzYsIDEuNzYwNjU4NjIxNzg4MDI1XSwgWzE2NjM5MjQwNzYuNzUwODY1LCAyMjU1NCwgMS41NDQ3MDEzMzc4MTQzMzFdLCBbMTY2MzkyNDA3Ni44NDU2MjI4LCAyMjU2MywgMS41ODYyNDA2NDkyMjMzMjc2XSwgWzE2NjM5MjQwNzcuMDQ5NzQ4LCAyMjU4MSwgMS41NzM3ODkxMTk3MjA0NTldLCBbMTY2MzkyNDA3Ny4yNjM5OTI4LCAyMjU5OSwgMS42MjU0MzkyODYyMzE5OTQ2XSwgWzE2NjM5MjQwNzcuNTY4NDEwOSwgMjI2MjYsIDEuNTMwNzk0ODU4OTMyNDk1MV0sIFsxNjYzOTI0MDc3Ljc3MjMxOTMsIDIyNjQ0LCAxLjc3MTk0OTc2ODA2NjQwNjJdLCBbMTY2MzkyNDA3Ny45NjgzNzE2LCAyMjY2MiwgMS43NDM5MDE5NjgwMDIzMTkzXSwgWzE2NjM5MjQwNzguMDY3Mjc1MywgMjI2NzEsIDEuNTIxNTkyODU1NDUzNDkxMl0sIFsxNjYzOTI0MDc4LjE2MTAzNTgsIDIyNjgwLCAxLjQ5MjAxMTQyNzg3OTMzMzVdLCBbMTY2MzkyNDA3OC4zNjE4NTQ2LCAyMjY5OCwgMS45NTMwOTQ2MDE2MzExNjQ2XSwgWzE2NjM5MjQwNzguNTY0NDI3NCwgMjI3MTYsIDEuNjcwMDA2Mzk0Mzg2MjkxNV0sIFsxNjYzOTI0MDc5LjA5MTI2NzYsIDIyNzYxLCAxLjQyNDgxNTA1ODcwODE5MV0sIFsxNjYzOTI0MDc5LjI5MDk3OTksIDIyNzc5LCAyLjExMDk4Mjg5NDg5NzQ2MV0sIFsxNjYzOTI0MDc5LjM4MzgwMzEsIDIyNzg4LCAxLjU3NTM5ODgwMjc1NzI2MzJdLCBbMTY2MzkyNDA4MC4xMDQ4NTAzLCAyMjg1MSwgMS44NjI3MDU1ODgzNDA3NTkzXSwgWzE2NjM5MjQwODAuMzAxOTMxLCAyMjg2OSwgMS42MDUyMzE2NDI3MjMwODM1XSwgWzE2NjM5MjQwODAuNDk1MDI0NCwgMjI4ODcsIDIuMDI5Nzk1ODg1MDg2MDU5Nl0sIFsxNjYzOTI0MDgwLjYwNTYwMjMsIDIyODk2LCAxLjU4NjcyODIxNTIxNzU5MDNdLCBbMTY2MzkyNDA4MS44MTExMTAzLCAyMjk5NSwgMS43NDM0NDIwNTg1NjMyMzI0XSwgWzE2NjM5MjQwODMuMjIzODk5LCAyMzA5NCwgMS41MTQ4OTM2NTEwMDg2MDZdLCBbMTY2MzkyNDA4My4zNjg3NTU4LCAyMzEwMywgMS41Mzc4OTQ0ODczODA5ODE0XSwgWzE2NjM5MjQwODMuNTkwMDUyOCwgMjMxMjEsIDEuODQ5MTc4MDc1NzkwNDA1M10sIFsxNjYzOTI0MDgzLjg2NzMwMzQsIDIzMTQ4LCAxLjQ4Njk5MzU1MTI1NDI3MjVdLCBbMTY2MzkyNDA4NC4zMzg0OTMsIDIzMTg0LCAxLjk0MjA3NjY4MzA0NDQzMzZdLCBbMTY2MzkyNDA4NC41NzA0Nzk2LCAyMzIwMiwgMS40NTgxMTUxMDA4NjA1OTU3XSwgWzE2NjM5MjQwODQuNjY3OTQxNiwgMjMyMTEsIDEuODYyODYxNzUyNTEwMDcwOF0sIFsxNjYzOTI0MDg1LjIzOTM0NjUsIDIzMjU2LCAxLjcwNzE4NjY5ODkxMzU3NDJdLCBbMTY2MzkyNDA4NS4zNDg5OTEyLCAyMzI2NSwgMS44OTQzMDk0MDE1MTIxNDZdLCBbMTY2MzkyNDA4NS40NTExNzI4LCAyMzI3NCwgMS42MzA4ODU0ODE4MzQ0MTE2XSwgWzE2NjM5MjQwODUuNzY0NzUyNiwgMjMzMDEsIDEuMjQ2MzE3NTA1ODM2NDg2OF0sIFsxNjYzOTI0MDg1Ljg2ODQ4NCwgMjMzMTAsIDEuNjI1NTk4NjY5MDUyMTI0XSwgWzE2NjM5MjQwODYuMTgxMTQ5NywgMjMzMzcsIDEuNTg4NjEyMDc5NjIwMzYxM10sIFsxNjYzOTI0MDg2Ljc3NzE1MDksIDIzMzkxLCAxLjgyMTI1ODY2NDEzMTE2NDZdLCBbMTY2MzkyNDA4Ni44Nzk0MjU1LCAyMzQwMCwgMS45OTA2Mjc3NjU2NTU1MTc2XSwgWzE2NjM5MjQwODcuMTI2ODU0NywgMjM0MTgsIDEuNTM2MzYyNTI4ODAwOTY0NF0sIFsxNjYzOTI0MDg3LjM1ODY5MSwgMjM0MzYsIDEuNzM2NDgwMzU1MjYyNzU2M10sIFsxNjYzOTI0MDg3LjU4NDcxNzgsIDIzNDU0LCAxLjQ4MTc5OTM2NDA4OTk2NThdLCBbMTY2MzkyNDA4Ny42ODY5MjQ1LCAyMzQ2MywgMS43OTQwMDc1Mzk3NDkxNDU1XSwgWzE2NjM5MjQwODguODUzMTMxLCAyMzU2MiwgMi4xODgyODA4MjA4NDY1NTc2XSwgWzE2NjM5MjQwODguOTYwMjA0OCwgMjM1NzEsIDEuNjE5Mjc0ODU0NjYwMDM0Ml0sIFsxNjYzOTI0MDg5LjA2ODA4NDUsIDIzNTgwLCAxLjYwMTQ4NjY4Mjg5MTg0NTddLCBbMTY2MzkyNDA4OS40NjMzNzMsIDIzNjA3LCAxLjU4NDU4MTQ5NDMzMTM1OTldLCBbMTY2MzkyNDA4OS45OTg5ODM5LCAyMzY1MiwgMS43NzU5MDExOTgzODcxNDZdLCBbMTY2MzkyNDA5MC4xMDcyMzEsIDIzNjYxLCAxLjM4NTE5OTkwNDQ0MTgzMzVdLCBbMTY2MzkyNDA5MC42NjYxMzg0LCAyMzcwNiwgMS41NTkyMTI1NjU0MjIwNThdLCBbMTY2MzkyNDA5MC43NzQyNDQ4LCAyMzcxNSwgMS41NTgzMzUzMDQyNjAyNTRdLCBbMTY2MzkyNDA5MC44ODQ1MzQ0LCAyMzcyNCwgMS41MTc0NjU3MTA2Mzk5NTM2XSwgWzE2NjM5MjQwOTAuOTkwMDYxOCwgMjM3MzMsIDEuNTI2NDAwNDQ2ODkxNzg0N10sIFsxNjYzOTI0MDkxLjE5OTQwMTYsIDIzNzUxLCAxLjc0MzUzNjk0OTE1NzcxNDhdLCBbMTY2MzkyNDA5MS4yOTc0MDY3LCAyMzc2MCwgMS4zODk0Mjg2MTU1NzAwNjg0XSwgWzE2NjM5MjQwOTEuNDA2ODMyNywgMjM3NjksIDEuNDY2MTgzNTQzMjA1MjYxMl0sIFsxNjYzOTI0MDkxLjkxODg3OTUsIDIzNzk2LCAxLjY2MTE5MTgyMTA5ODMyNzZdLCBbMTY2MzkyNDA5My4xNzU3MDQsIDIzODk1LCAxLjU5NjU3MDg0OTQxODY0MDFdLCBbMTY2MzkyNDA5My45MDY4Mjk0LCAyMzk0OSwgMS43NDIyOTY4MTQ5MTg1MThdLCBbMTY2MzkyNDA5NC4xMjc4ODQxLCAyMzk2NywgMS40OTAxMzQwMDA3NzgxOTgyXSwgWzE2NjM5MjQwOTUuMDE3MDQyMiwgMjQwMzksIDEuOTExMjkzOTgzNDU5NDcyN10sIFsxNjYzOTI0MDk1LjEzNDA1MSwgMjQwNDgsIDEuNDEwNDkzMTM1NDUyMjcwNV0sIFsxNjYzOTI0MDk1LjI0NTA2MSwgMjQwNTcsIDEuODYzNjA4MjQxMDgxMjM3OF0sIFsxNjYzOTI0MDk1LjQ3NDUwNTQsIDI0MDc1LCAxLjQ2NTEwMjU1MzM2NzYxNDddLCBbMTY2MzkyNDA5Ni4yNzc1NTgsIDI0MTM4LCAxLjM1ODY1OTI2NzQyNTUzN10sIFsxNjYzOTI0MDk2LjY3NTUzMjMsIDI0MTY1LCAxLjQ3NTYyMDk4NTAzMTEyOF0sIFsxNjYzOTI0MDk2Ljk0MTczMzgsIDI0MTgzLCAxLjY5MzMzMDE2ODcyNDA2XSwgWzE2NjM5MjQwOTcuMzA2MTQ1LCAyNDIxMCwgMS42Mjg2NzQ5ODM5NzgyNzE1XSwgWzE2NjM5MjQwOTcuNTIxOTg4MiwgMjQyMjgsIDEuMzIxNzk1MjI1MTQzNDMyNl0sIFsxNjYzOTI0MDk3Ljc2MzI0NywgMjQyNDYsIDEuNzAzOTIwMTI1OTYxMzAzN10sIFsxNjYzOTI0MDk4Ljc5NTk0NDUsIDI0MzI3LCAxLjY2MTcwNDE4MjYyNDgxN10sIFsxNjYzOTI0MDk4Ljg5ODI3ODIsIDI0MzM2LCAxLjQxNTcwMTc0Njk0MDYxMjhdLCBbMTY2MzkyNDA5OS4wMTMzODIsIDI0MzQ1LCAxLjQxODI3ODgxMzM2MjEyMTZdLCBbMTY2MzkyNDA5OS4yMzE4MzQ0LCAyNDM2MywgMS41MDc3MjE3ODE3MzA2NTE5XSwgWzE2NjM5MjQwOTkuNDQ4MDE1NSwgMjQzODEsIDEuNjU5MzUyMTgzMzQxOThdLCBbMTY2MzkyNDA5OS42ODUwNDk4LCAyNDM5OSwgMS41Mjc3MzE4OTU0NDY3NzczXSwgWzE2NjM5MjQwOTkuOTE0NDYsIDI0NDE3LCAxLjMxMzE2NzA5NTE4NDMyNjJdLCBbMTY2MzkyNDEwMC4wMjAzNTIsIDI0NDI2LCAxLjQ4MDY3OTE1NDM5NjA1NzFdLCBbMTY2MzkyNDEwMC40OTkwMjQ0LCAyNDQ2MiwgMS41NTkyNzA5Nzc5NzM5MzhdLCBbMTY2MzkyNDEwMC42MDU2NjA0LCAyNDQ3MSwgMS45OTA0NjEyMzAyNzgwMTUxXSwgWzE2NjM5MjQxMDAuNzAyMjg4OSwgMjQ0ODAsIDEuNjc1MTY3NTYwNTc3MzkyNl0sIFsxNjYzOTI0MTAxLjE4NDgwNzgsIDI0NTI1LCAxLjQ3MTMyMjUzNjQ2ODUwNTldLCBbMTY2MzkyNDEwMS4yODM1NjAzLCAyNDUzNCwgMS44NTY2NzA4NTY0NzU4M10sIFsxNjYzOTI0MTAxLjUxNDIxOTgsIDI0NTUyLCAxLjY0MzE3NTM2MzU0MDY0OTRdLCBbMTY2MzkyNDEwMS45NDY3NDksIDI0NTcwLCAxLjgxMTY3NTkwNjE4MTMzNTRdLCBbMTY2MzkyNDEwMi4wNDM2MDQxLCAyNDU3OSwgMS41MjU4MDg1NzI3NjkxNjVdLCBbMTY2MzkyNDEwMi40NTUxMjA4LCAyNDYxNSwgMS43Mzc0NjA5NzA4Nzg2MDFdLCBbMTY2MzkyNDEwMi41NTY1NzU4LCAyNDYyNCwgMS41NzgwMTgzMDc2ODU4NTJdLCBbMTY2MzkyNDEwMi45NDE3NjI0LCAyNDY2MCwgMS40MjkyNTE3OTAwNDY2OTJdLCBbMTY2MzkyNDEwMy4wNTIwMjYsIDI0NjY5LCAxLjY4MTgwNjA4NzQ5Mzg5NjVdLCBbMTY2MzkyNDEwMy4xNDY1Nzk3LCAyNDY3OCwgMS4yNTMwNDcyMjc4NTk0OTddLCBbMTY2MzkyNDEwMy4yNjUzNTY4LCAyNDY4NywgMS40NDc0OTA5MzA1NTcyNTFdLCBbMTY2MzkyNDEwMy40NTk5Nzg4LCAyNDcwNSwgMS41MTg1OTg0MzczMDkyNjUxXSwgWzE2NjM5MjQxMDMuNTU2NzkwNCwgMjQ3MTQsIDIuMTQ1MzM2NjI3OTYwMjA1XSwgWzE2NjM5MjQxMDMuNjUwODA3NCwgMjQ3MjMsIDEuNDYyNzYxMTYzNzExNTQ3OV0sIFsxNjYzOTI0MTA0LjM1NjgzOTIsIDI0Nzg2LCAxLjUzMzY1OTkzNDk5NzU1ODZdLCBbMTY2MzkyNDEwNC40NTQwMjAzLCAyNDc5NSwgMS44NjQyNzIyMzY4MjQwMzU2XSwgWzE2NjM5MjQxMDQuNTU3MjQ0LCAyNDgwNCwgMS4zOTU2NTEyMjEyNzUzMjk2XSwgWzE2NjM5MjQxMDUuMTM0MjM4MiwgMjQ4NDksIDEuMzg1NzU4Mzk5OTYzMzc5XSwgWzE2NjM5MjQxMDUuMjQ5OTEyMywgMjQ4NTgsIDEuMzI5NzIyMjg1MjcwNjkxXSwgWzE2NjM5MjQxMDUuNzI4ODI2MywgMjQ4OTQsIDEuMzIwNjI1MzA1MTc1NzgxMl0sIFsxNjYzOTI0MTA2LjExODkxOTYsIDI0OTIxLCAxLjU0MzQzOTc0NTkwMzAxNTFdLCBbMTY2MzkyNDEwNi40OTM0MTMsIDI0OTQ4LCAxLjQyMTQ2MTkzOTgxMTcwNjVdLCBbMTY2MzkyNDEwNi43MjE3NTk4LCAyNDk2NiwgMS40Nzk2NDI1MTA0MTQxMjM1XSwgWzE2NjM5MjQxMDYuOTI5MTA5MywgMjQ5ODQsIDEuNzcyNjU1MzY3ODUxMjU3M10sIFsxNjYzOTI0MTA3LjE5ODYwNDYsIDI1MDAyLCAxLjM3NzQ5NTUyNzI2NzQ1Nl0sIFsxNjYzOTI0MTA3LjMxOTIwNTUsIDI1MDExLCAxLjM3OTM2MTk4NzExMzk1MjZdLCBbMTY2MzkyNDEwNy40NTI2MzY1LCAyNTAyMCwgMS41OTE0ODg1OTk3NzcyMjE3XSwgWzE2NjM5MjQxMDguMDIyNDY3NiwgMjUwNjUsIDEuNDAyMDk5NzI4NTg0Mjg5Nl0sIFsxNjYzOTI0MTA4LjE2MDc3NTcsIDI1MDc0LCAxLjg4NTA5NzM4NDQ1MjgxOThdLCBbMTY2MzkyNDEwOS42MzI0NjY4LCAyNTE4MiwgMS40MTQwMzgzMDA1MTQyMjEyXSwgWzE2NjM5MjQxMDkuODUzNzIyLCAyNTIwMCwgMS43NjU4OTUxMjgyNTAxMjJdLCBbMTY2MzkyNDExMC42NTkxNDYsIDI1MjYzLCAxLjM1OTQyMDQxODczOTMxODhdLCBbMTY2MzkyNDExMS4zMjY5Mjk4LCAyNTMxNywgMS40MjM5MDEwODEwODUyMDVdLCBbMTY2MzkyNDExMS40NjIwMzk1LCAyNTMyNiwgMS40NDA2NTQ1MTYyMjAwOTI4XSwgWzE2NjM5MjQxMTIuOTUzMzY5NiwgMjU0MjUsIDEuNDY1NTc5MTUyMTA3MjM4OF0sIFsxNjYzOTI0MTEzLjA2MjM2OTYsIDI1NDM0LCAxLjYxODQ5NTk0MTE2MjEwOTRdLCBbMTY2MzkyNDExNC4wODU0MTA4LCAyNTUxNSwgMS40NDIwNDE2MzU1MTMzMDU3XSwgWzE2NjM5MjQxMTQuMzE0MzYwNiwgMjU1MzMsIDEuNDc3NDI0OTc5MjA5OV0sIFsxNjYzOTI0MTE0LjU0NzU1NzQsIDI1NTUxLCAxLjI5ODEyMzM1OTY4MDE3NThdLCBbMTY2MzkyNDExNC42ODMwODE2LCAyNTU2MCwgMS4yNzA1NDA3MTQyNjM5MTZdLCBbMTY2MzkyNDExNC45MzYzNzA0LCAyNTU3OCwgMS40ODY3MTU1NTUxOTEwNF0sIFsxNjYzOTI0MTE1LjE0NTY4NywgMjU1OTYsIDEuNDQyODM2NTIzMDU2MDMwM10sIFsxNjYzOTI0MTE1LjI0OTA3OCwgMjU2MDUsIDEuMzg4NTIwMTIxNTc0NDAxOV0sIFsxNjYzOTI0MTE1LjU0NDIxNzYsIDI1NjMyLCAxLjM0MTEwMjYwMDA5NzY1NjJdLCBbMTY2MzkyNDExNS45NTcwMDQ1LCAyNTY2OCwgMS40NTU2NjQxNTc4Njc0MzE2XSwgWzE2NjM5MjQxMTYuMDY4MzkxNiwgMjU2NzcsIDEuNzg5NDMzMjQwODkwNTAzXSwgWzE2NjM5MjQxMTYuNjI4MjE2MywgMjU3MjIsIDEuMzI4Njg2MzU2NTQ0NDk0Nl0sIFsxNjYzOTI0MTE2LjgyMjkxNDgsIDI1NzQwLCAxLjI3NzY4MTgyNzU0NTE2Nl0sIFsxNjYzOTI0MTE3LjAzNDAwMTYsIDI1NzU4LCAxLjYyOTc4NDM0NTYyNjgzMV0sIFsxNjYzOTI0MTE3LjE1ODQ4NywgMjU3NjcsIDEuMzgwNjYyOTE4MDkwODIwM10sIFsxNjYzOTI0MTE3LjYwMTc3ODMsIDI1ODAzLCAxLjc5MTY2NDQ4MTE2MzAyNV0sIFsxNjYzOTI0MTE3Ljc5MDgzMTgsIDI1ODIxLCAxLjUyMDc1NTQxMDE5NDM5N10sIFsxNjYzOTI0MTE4LjA4ODA1NTEsIDI1ODQ4LCAxLjUwOTMzNTUxNzg4MzMwMDhdLCBbMTY2MzkyNDExOS41NjA0MjIsIDI1OTIwLCAxLjkzMTkzNzMzNjkyMTY5Ml0sIFsxNjYzOTI0MTE5LjgwODMzNTgsIDI1OTI5LCAxLjM5MjQ0NTgwMjY4ODU5ODZdLCBbMTY2MzkyNDExOS45NTYwODY2LCAyNTkzOCwgMS4zMjQyNjMyMTUwNjUwMDI0XSwgWzE2NjM5MjQxMjAuMjEzNTQzNywgMjU5NDcsIDEuNDkwOTQ5NTExNTI4MDE1MV0sIFsxNjYzOTI0MTIwLjYxMzAzNDIsIDI1OTY1LCAxLjUwNjgyODY2NTczMzMzNzRdLCBbMTY2MzkyNDEyMS42MTEwOTg1LCAyNjAxMCwgMS40MDI0MTQ3OTg3MzY1NzIzXSwgWzE2NjM5MjQxMjEuODU1MDIzOSwgMjYwMjgsIDEuNTg2NjYzOTYxNDEwNTIyNV0sIFsxNjYzOTI0MTIyLjA2OTAxNDUsIDI2MDQ2LCAxLjQyNTAzMjg1NDA4MDIwMDJdLCBbMTY2MzkyNDEyMi4yNzcwNjc3LCAyNjA2NCwgMS41OTQxMzY0NzY1MTY3MjM2XSwgWzE2NjM5MjQxMjIuNjc2NjA4LCAyNjEwMCwgMS45MjM3OTc0ODgyMTI1ODU0XSwgWzE2NjM5MjQxMjMuMjcwODk3NCwgMjYxMzYsIDEuMzM5ODA1ODQxNDQ1OTIyOV0sIFsxNjYzOTI0MTIzLjM2OTkzNDgsIDI2MTQ1LCAxLjQ2NjcyMjYwNzYxMjYwOTldLCBbMTY2MzkyNDEyNC4wNjMzMTM3LCAyNjIwOCwgMS42MjE2NTc3MjkxNDg4NjQ3XSwgWzE2NjM5MjQxMjQuMTg2MTE3NiwgMjYyMTcsIDEuNzMzNzA4MjYyNDQzNTQyNV0sIFsxNjYzOTI0MTI0LjQxMzY5NzcsIDI2MjM1LCAxLjYxMDc4NjkxNDgyNTQzOTVdLCBbMTY2MzkyNDEyNC41MDgwNjAyLCAyNjI0NCwgMS42MzQ5MTE1MzcxNzA0MTAyXSwgWzE2NjM5MjQxMjQuODc3NjU4LCAyNjI3MSwgMS40MjQxNjkxODI3Nzc0MDQ4XSwgWzE2NjM5MjQxMjUuMTIzNzY0OCwgMjYyODksIDEuNDY0MjUwNDQ1MzY1OTA1OF0sIFsxNjYzOTI0MTI1LjIzNzQwNTUsIDI2Mjk4LCAxLjMwNDk4NDA5MjcxMjQwMjNdLCBbMTY2MzkyNDEyNS4zNDcxMTQsIDI2MzA3LCAxLjMxOTQ1NDY2OTk1MjM5MjZdLCBbMTY2MzkyNDEyNS42MTI0Mjk5LCAyNjMyNSwgMS44MjM0Mjk5NDIxMzEwNDI1XSwgWzE2NjM5MjQxMjUuNzIwMjIsIDI2MzM0LCAxLjM5Nzk4NjI5MjgzOTA1MDNdLCBbMTY2MzkyNDEyNi4zMjE3MzcsIDI2Mzc5LCAxLjY2MzQwOTM1MjMwMjU1MTNdLCBbMTY2MzkyNDEyNi44MDUxNTg0LCAyNjQxNSwgMS43MDc1MjcwNDE0MzUyNDE3XSwgWzE2NjM5MjQxMjYuOTE2OTE1NCwgMjY0MjQsIDEuNTk4OTMwODM1NzIzODc3XSwgWzE2NjM5MjQxMjguNTA2NDIyOCwgMjY1NTAsIDEuNDA3NDg5NjU3NDAyMDM4Nl0sIFsxNjYzOTI0MTI4LjgyODI4NTIsIDI2NTc3LCAxLjE4NzM2MzUwNTM2MzQ2NDRdLCBbMTY2MzkyNDEyOS4yMDExNjMsIDI2NjA0LCAxLjI5MjY4MDg1OTU2NTczNDldLCBbMTY2MzkyNDEyOS41NDI2NzI2LCAyNjYzMSwgMS4yNzY0MDg2NzIzMzI3NjM3XSwgWzE2NjM5MjQxMzAuMDIxMDEwNCwgMjY2NjcsIDEuMzI3NzQ1MTk5MjAzNDkxMl0sIFsxNjYzOTI0MTMwLjEyNjg1OCwgMjY2NzYsIDEuNTcyODkxMjM1MzUxNTYyNV0sIFsxNjYzOTI0MTMwLjM1OTc3MjIsIDI2Njk0LCAxLjU3OTc3MzE4NzYzNzMyOV0sIFsxNjYzOTI0MTMwLjQ2NTg2NTEsIDI2NzAzLCAxLjM5MzE5OTMyNDYwNzg0OTFdLCBbMTY2MzkyNDEzMC41NzQzNTM1LCAyNjcxMiwgMS40MzgwNzU5MDAwNzc4MTk4XSwgWzE2NjM5MjQxMzEuMTQ1MDA1MiwgMjY3NjYsIDEuMzM2MTM5MDgyOTA4NjMwNF0sIFsxNjYzOTI0MTMxLjcwMTczMTcsIDI2ODExLCAxLjQ0NTMzMzI0MjQxNjM4MThdLCBbMTY2MzkyNDEzMS44MTI2MTU0LCAyNjgyMCwgMS41NTk3NDQ1OTY0ODEzMjMyXSwgWzE2NjM5MjQxMzEuOTI0MjYzNywgMjY4MjksIDEuNzE3ODE3MzA2NTE4NTU0N10sIFsxNjYzOTI0MTMyLjAyNDQ1NjcsIDI2ODM4LCAxLjYxMDk0MDY5NDgwODk2XSwgWzE2NjM5MjQxMzIuMzc1OTU0LCAyNjg2NSwgMS40NjExOTc3MzM4NzkwODk0XSwgWzE2NjM5MjQxMzIuNjM4MzA2OSwgMjY4ODMsIDEuMjk0ODc4ODQwNDQ2NDcyMl0sIFsxNjYzOTI0MTMyLjc2NTk0MTksIDI2ODkyLCAxLjI5ODEzMzYxMTY3OTA3NzFdLCBbMTY2MzkyNDEzMy42Mzk4NjczLCAyNjk0NiwgMS4yNTk5NTk0NTkzMDQ4MDk2XSwgWzE2NjM5MjQxMzMuOTQ3ODY0OCwgMjY5NzMsIDEuNDc1MjMzNzkzMjU4NjY3XSwgWzE2NjM5MjQxMzQuMTU4Mzg1OCwgMjY5OTEsIDEuMjg2ODM4NDEyMjg0ODUxXSwgWzE2NjM5MjQxMzQuMjU2OTMwOCwgMjcwMDAsIDEuNTIzODQ1MDc2NTYwOTc0MV1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_08-40-24_54c5144e9b50&tag=Loss%2Ftrain":{"data":"W1sxNjYzOTIyNDI0LjUwNzg3MjgsIDM2LCAzMi4wNDE5MzQ5NjcwNDEwMTZdLCBbMTY2MzkyMjQyNC42MTgwNTMyLCA0NSwgMjguODUxMTQwOTc1OTUyMTVdLCBbMTY2MzkyMjQyNS4zMzI3NzgyLCA5OSwgNy43NjgyMzM3NzYwOTI1MjldLCBbMTY2MzkyMjQyNS44MjI2MTIzLCAxMzUsIDUuNDE2ODA4MTI4MzU2OTM0XSwgWzE2NjM5MjI0MjUuOTMxNDU3MywgMTQ0LCA1LjQ1MDU4MjAyNzQzNTMwM10sIFsxNjYzOTIyNDI2LjMxMjA3OSwgMTcxLCA1LjExNDE4NTgxMDA4OTExMV0sIFsxNjYzOTIyNDI2LjQxNzAzNTgsIDE4MCwgNS4xOTYwODczNjAzODIwOF0sIFsxNjYzOTIyNDI2LjUwMjEwODMsIDE4OSwgNS4xMTUwMDQwNjI2NTI1ODhdLCBbMTY2MzkyMjQyNi42ODQ1OTIyLCAyMDcsIDQuOTQ1NTc3NjIxNDU5OTYxXSwgWzE2NjM5MjI0MjYuNzc2MTI4NSwgMjE2LCA0Ljg3OTk4NjI4NjE2MzMzXSwgWzE2NjM5MjI0MjcuMDQ2ODY3LCAyNDMsIDQuNjg2NDEzMjg4MTE2NDU1XSwgWzE2NjM5MjI0MjcuMTQwMDY5NywgMjUyLCA0LjY4NzQ3MzI5NzExOTE0MV0sIFsxNjYzOTIyNDI4LjI1MDUyODYsIDM1MSwgNC4xNzQ0MTg0NDk0MDE4NTU1XSwgWzE2NjM5MjI0MjguNDUzMTcwOCwgMzY5LCA0LjE2OTAyMzAzNjk1Njc4N10sIFsxNjYzOTIyNDI5LjI3MTI1ODQsIDQzMiwgMy43NjIzNTE5ODk3NDYwOTM4XSwgWzE2NjM5MjI0MjkuMzg3NjUsIDQ0MSwgMy43NDMzODE3Mzg2NjI3MTk3XSwgWzE2NjM5MjI0MjkuNTAxODA1OCwgNDUwLCAzLjY0NzA2Nzc4NTI2MzA2MTVdLCBbMTY2MzkyMjQyOS43NDgyMzc0LCA0NjgsIDMuNTk3ODUxMjc2Mzk3NzA1XSwgWzE2NjM5MjI0MzAuMDY5NDc5MiwgNDk1LCAzLjQ5ODQ5NDg2MzUxMDEzMl0sIFsxNjYzOTIyNDMwLjQxMDAyMDgsIDUyMiwgMy4yODQ4Mzk4Njg1NDU1MzIyXSwgWzE2NjM5MjI0MzAuNzQxNzAyMywgNTQ5LCAzLjIzODA3MDQ4Nzk3NjA3NF0sIFsxNjYzOTIyNDMwLjg0NDg4NzcsIDU1OCwgMy4xOTYzNTQxNTA3NzIwOTQ3XSwgWzE2NjM5MjI0MzAuOTU2MTE1NSwgNTY3LCAzLjIwMzIyODcxMjA4MTkwOV0sIFsxNjYzOTIyNDMxLjA2NDczOCwgNTc2LCAzLjIwMDgwNzMzMjk5MjU1MzddLCBbMTY2MzkyMjQzMS4yODM2MjQ0LCA1OTQsIDMuMTMwNTA1MzIzNDEwMDM0XSwgWzE2NjM5MjI0MzEuNDA0NjE0NCwgNjAzLCAzLjExMzMyOTE3MjEzNDM5OTRdLCBbMTY2MzkyMjQzMS41MTM5NDg0LCA2MTIsIDMuMDQ4MDQzMjUxMDM3NTk3N10sIFsxNjYzOTIyNDMxLjYwNDgxODMsIDYyMSwgMy4wNTk4NTg1NjA1NjIxMzRdLCBbMTY2MzkyMjQzMS44MDY5MDAzLCA2MzksIDIuOTg3NjkyNTk0NTI4MTk4Ml0sIFsxNjYzOTIyNDMxLjkxMjQ3MDgsIDY0OCwgMi45ODU3MTcwNTgxODE3NjI3XSwgWzE2NjM5MjI0MzIuNzAzODEwMiwgNzAyLCAyLjc5MzA3MDc5MzE1MTg1NTVdLCBbMTY2MzkyMjQzMi45MzI0MTQsIDcyMCwgMi43NzY1MzE2OTYzMTk1OF0sIFsxNjYzOTIyNDMzLjI3MTI5LCA3NDcsIDIuNjk4NzY0MzI0MTg4MjMyNF0sIFsxNjYzOTIyNDMzLjU4ODA2NjYsIDc3NCwgMi42NzY5NzUwMTE4MjU1NjE1XSwgWzE2NjM5MjI0MzQuMDA5MjY2MSwgODEwLCAyLjU3NjcyODU4MjM4MjIwMl0sIFsxNjYzOTIyNDM0Ljk4MTI5ODQsIDkwMCwgMi40MzgyOTYzMTgwNTQxOTldLCBbMTY2MzkyMjQzNS40MDgwMTQzLCA5MzYsIDIuNDAxMzYwMjczMzYxMjA2XSwgWzE2NjM5MjI0MzUuNzUyNjg4LCA5NjMsIDIuMzcxNTk4OTU4OTY5MTE2XSwgWzE2NjM5MjI0MzUuOTIyNjg2LCA5NzIsIDIuMzQxMTUwMDQ1Mzk0ODk3NV0sIFsxNjYzOTIyNDM2LjIxNDUxMTQsIDk5MCwgMi4zMjU1NjgxOTkxNTc3MTVdLCBbMTY2MzkyMjQzNy41NTkxNywgMTA1MywgMi4yNDcyNjY3Njk0MDkxNzk3XSwgWzE2NjM5MjI0MzguNjM4MTY4OCwgMTA5OCwgMi4xODkwMTMwMDQzMDI5Nzg1XSwgWzE2NjM5MjI0MzkuNDY2MTY4NCwgMTEzNCwgMi4yNTkxMzAwMDEwNjgxMTUyXSwgWzE2NjM5MjI0MzkuNjYyMDU4NiwgMTE0MywgMi4xODU2NjM0NjE2ODUxODA3XSwgWzE2NjM5MjI0NDAuMDY4ODY3NywgMTE2MSwgMi4xMzE4NzgzNzYwMDcwOF0sIFsxNjYzOTIyNDQwLjQ4NzEwNTYsIDExNzksIDIuMTUxNDYzNTA4NjA1OTU3XSwgWzE2NjM5MjI0NDAuNzAxMTQ1LCAxMTg4LCAyLjEwNDk1NzU4MDU2NjQwNjJdLCBbMTY2MzkyMjQ0MS43MjkwNDQyLCAxMjMzLCAyLjE4NDQyNjMwNzY3ODIyMjddLCBbMTY2MzkyMjQ0MS44MzUxMTgsIDEyNDIsIDIuMDg0NTk4MzAyODQxMTg2NV0sIFsxNjYzOTIyNDQyLjUwNTY1ODYsIDEzMDUsIDIuMDcxMzQzNDIxOTM2MDM1XSwgWzE2NjM5MjI0NDIuNjkyMDczLCAxMzIzLCAyLjA3ODI5MDIyNDA3NTMxNzRdLCBbMTY2MzkyMjQ0Mi43ODYwNTUzLCAxMzMyLCAyLjA0NTEwMDY4ODkzNDMyNl0sIFsxNjYzOTIyNDQzLjA4NDgzNzQsIDEzNTksIDIuMDQxMjQzMzE0NzQzMDQyXSwgWzE2NjM5MjI0NDMuNzc5MDU2OCwgMTQyMiwgMi4wMjI1NTU1ODk2NzU5MDMzXSwgWzE2NjM5MjI0NDQuMDcwNDAwNywgMTQ0OSwgMS45ODUxNjE2NjIxMDE3NDU2XSwgWzE2NjM5MjI0NDQuNDcwNDcxLCAxNDY3LCAxLjk3NTcyNDY5NzExMzAzN10sIFsxNjYzOTIyNDQ0LjY0Njc4NTUsIDE0ODUsIDEuOTkxNDkzMjI1MDk3NjU2Ml0sIFsxNjYzOTIyNDQ1LjI2MjY1MDcsIDE1MzksIDEuOTMxODM5NzA0NTEzNTQ5OF0sIFsxNjYzOTIyNDQ1LjM2MDM5MDIsIDE1NDgsIDEuOTgxMDE5MTM5Mjg5ODU2XSwgWzE2NjM5MjI0NDUuNDY1OTA2OSwgMTU1NywgMS45MzgwNDI5OTgzMTM5MDM4XSwgWzE2NjM5MjI0NDUuNzY5NzI5MSwgMTU4NCwgMi4wMDUyNjU0NzQzMTk0NThdLCBbMTY2MzkyMjQ0NS45NjI4MjY3LCAxNjAyLCAxLjk2NzY0NTUyNTkzMjMxMl0sIFsxNjYzOTIyNDQ2LjM1NzQ0NzksIDE2MzgsIDEuOTAxOTA2NDkwMzI1OTI3N10sIFsxNjYzOTIyNDQ2LjcxNjI5MjQsIDE2NjUsIDEuOTEyMTE2NTI3NTU3MzczXSwgWzE2NjM5MjI0NDYuODMyNzA0MywgMTY3NCwgMS45MTE1NDQ0NDIxNzY4MTg4XSwgWzE2NjM5MjI0NDYuOTM4MjAzMywgMTY4MywgMS45MjkxNDk5ODUzMTM0MTU1XSwgWzE2NjM5MjI0NDcuMzU4OTE1OCwgMTcxOSwgMS45NzgwNTA5NDcxODkzMzFdLCBbMTY2MzkyMjQ0Ny40NjA5NTEzLCAxNzI4LCAxLjg5MDg4MjEzNDQzNzU2MV0sIFsxNjYzOTIyNDQ3LjU1ODY4NDgsIDE3MzcsIDEuODgwMTMwNjQ4NjEyOTc2XSwgWzE2NjM5MjI0NDguMjYzMDg1MSwgMTgwMCwgMS45MzI2NDU1NTkzMTA5MTNdLCBbMTY2MzkyMjQ0OC41NDkwMzYzLCAxODI3LCAxLjg2MTM4NTM0NTQ1ODk4NDRdLCBbMTY2MzkyMjQ0OC42NDQ0NjkzLCAxODM2LCAxLjg5MjE4NjE2NDg1NTk1N10sIFsxNjYzOTIyNDQ4Ljc0NTc0MDIsIDE4NDUsIDEuODg1NDcyNDE2ODc3NzQ2Nl0sIFsxNjYzOTIyNDQ4Ljg1MDAzNCwgMTg1NCwgMS44NjE5NTc1NTAwNDg4MjgxXSwgWzE2NjM5MjI0NDkuMDU3MzUxLCAxODcyLCAxLjg4OTY1OTUyMzk2MzkyODJdLCBbMTY2MzkyMjQ0OS40NjM5NjI2LCAxOTA4LCAxLjg0NzI0NjE3MDA0Mzk0NTNdLCBbMTY2MzkyMjQ0OS42NTM1ODg4LCAxOTI2LCAxLjg2OTkyODI0MDc3NjA2Ml0sIFsxNjYzOTIyNDQ5Ljg1NTU0MTUsIDE5NDQsIDEuODQ4ODA0NDczODc2OTUzMV0sIFsxNjYzOTIyNDUwLjIzMDczMDUsIDE5ODAsIDEuODUxMjE3NTA4MzE2MDRdLCBbMTY2MzkyMjQ1MC4zMzQ1ODA0LCAxOTg5LCAxLjgyMzAzMDExNDE3Mzg4OTJdLCBbMTY2MzkyMjQ1MC40MjYwNTU3LCAxOTk4LCAxLjgxNjYyNDUyMjIwOTE2NzVdLCBbMTY2MzkyMjQ1MC42OTEzMDEzLCAyMDI1LCAxLjg2NzEwMTkwNzczMDEwMjVdLCBbMTY2MzkyMjQ1MS4xNjczNDYsIDIwNzAsIDEuODU1ODc4NDcyMzI4MTg2XSwgWzE2NjM5MjI0NTIuMTU3NTc0LCAyMTYwLCAxLjgxMDQ0NTQyNzg5NDU5MjNdLCBbMTY2MzkyMjQ1Mi4zNTk4NzI4LCAyMTc4LCAxLjc3ODcyNzE3MzgwNTIzNjhdLCBbMTY2MzkyMjQ1Mi42NTQwMzA4LCAyMjA1LCAxLjc3MDczNDkwNjE5NjU5NDJdLCBbMTY2MzkyMjQ1Mi43NjAxMTI1LCAyMjE0LCAxLjc4OTc0Mjk0NjYyNDc1NTldLCBbMTY2MzkyMjQ1Mi44NDkzOTQzLCAyMjIzLCAxLjcyMzg4Mjc5NDM4MDE4OF0sIFsxNjYzOTIyNDUzLjc4NjA5NjMsIDIyOTUsIDEuNzQxNTE1NzU1NjUzMzgxM10sIFsxNjYzOTIyNDU0LjE0OTY5MzMsIDIzMzEsIDEuNzMzNTc1MTA1NjY3MTE0M10sIFsxNjYzOTIyNDU0LjIzOTExNCwgMjM0MCwgMS43MjU0MDI5NTEyNDA1Mzk2XSwgWzE2NjM5MjI0NTQuMzMxODc4LCAyMzQ5LCAxLjc4MzEyMTU4NTg0NTk0NzNdLCBbMTY2MzkyMjQ1NC41Mjc3MjMzLCAyMzY3LCAxLjc2NzkwOTc2NTI0MzUzMDNdLCBbMTY2MzkyMjQ1NS4zODczNzksIDI0NDgsIDEuNzEzMzk1MTE4NzEzMzc5XSwgWzE2NjM5MjI0NTUuNzcyNTA2NywgMjQ3NSwgMS42OTg5NDE0NjkxOTI1MDQ5XSwgWzE2NjM5MjI0NTYuMDEyMDUyNSwgMjQ5MywgMS43MzA1NDkzMzU0Nzk3MzYzXSwgWzE2NjM5MjI0NTYuMjIzMjQ2NiwgMjUxMSwgMS43MTI1NzYwMzE2ODQ4NzU1XSwgWzE2NjM5MjI0NTYuNDQ0MDQ2MywgMjUyOSwgMS43NDIyMDA4NTE0NDA0Mjk3XSwgWzE2NjM5MjI0NTYuNjM2MTQ3NywgMjU0NywgMS43MzY5NTAzOTc0OTE0NTVdLCBbMTY2MzkyMjQ1Ni43NTcwNDEsIDI1NTYsIDEuNzE2OTA3MzgyMDExNDEzNl0sIFsxNjYzOTIyNDU2Ljk4ODQyNDMsIDI1NzQsIDEuNzAzNDM4NjM5NjQwODA4XSwgWzE2NjM5MjI0NTcuMjY2MTE2OSwgMjYwMSwgMS43MDA1ODQ1MzA4MzAzODMzXSwgWzE2NjM5MjI0NTcuNDU1Mzc2LCAyNjE5LCAxLjY2NjE0NTIwNTQ5Nzc0MTddLCBbMTY2MzkyMjQ1Ny45NDkwOTI5LCAyNjY0LCAxLjY2Njg5NzUzNTMyNDA5NjddLCBbMTY2MzkyMjQ1OC4wNTAxODczLCAyNjczLCAxLjczMTU5NjgyNzUwNzAxOV0sIFsxNjYzOTIyNDU4LjE2OTA5ODQsIDI2ODIsIDEuNzEwNzc1Mzc1MzY2MjExXSwgWzE2NjM5MjI0NTguMjYyODEyMSwgMjY5MSwgMS43MTM2NjQxNzQwNzk4OTVdLCBbMTY2MzkyMjQ1OS4xMDEzMDgsIDI3NjMsIDEuNjU2OTQ3NjEyNzYyNDUxMl0sIFsxNjYzOTIyNDU5LjI3OTQxODUsIDI3ODEsIDEuNjU2OTc5MjAzMjI0MTgyMV0sIFsxNjYzOTIyNDU5LjcxNDMxMTgsIDI4MTcsIDEuNjQwMjQ1MzE4NDEyNzgwOF0sIFsxNjYzOTIyNDYwLjE0ODIwNzIsIDI4NTMsIDEuNjIyMTEyMTU0OTYwNjMyM10sIFsxNjYzOTIyNDYwLjM1MDA0MTksIDI4NzEsIDEuNjI0NTk2MTE4OTI3MDAyXSwgWzE2NjM5MjI0NjAuNDQ5NTQ0NCwgMjg4MCwgMS42ODgyMDY1NTM0NTkxNjc1XSwgWzE2NjM5MjI0NjAuNzg2MjAxNywgMjkwNywgMS43MTUxODgxNDU2Mzc1MTIyXSwgWzE2NjM5MjI0NjIuNjI3MjExMywgMzA0MiwgMS42Mzc3MzYyMDEyODYzMTZdLCBbMTY2MzkyMjQ2Mi43MjIwODM2LCAzMDUxLCAxLjU3OTc5NzAyOTQ5NTIzOTNdLCBbMTY2MzkyMjQ2My4yODY0OTQ1LCAzMDk2LCAxLjYxMTg2MjU0MDI0NTA1NjJdLCBbMTY2MzkyMjQ2My40OTIyNTM4LCAzMTE0LCAxLjU5NTY4Mjc0MDIxMTQ4NjhdLCBbMTY2MzkyMjQ2My41ODQ5MTYsIDMxMjMsIDEuNTk1MzQ3NTIzNjg5MjddLCBbMTY2MzkyMjQ2NC4wMTExNDQ2LCAzMTU5LCAxLjU5MDU3MDQ0OTgyOTEwMTZdLCBbMTY2MzkyMjQ2NC4yNTkyMzYsIDMxNzcsIDEuNTc2MDM4OTU2NjQyMTUwOV0sIFsxNjYzOTIyNDY0LjQ3ODgyMzcsIDMxOTUsIDEuNjE0Nzc5MjMzOTMyNDk1MV0sIFsxNjYzOTIyNDY0Ljg5NTIxMDcsIDMyMzEsIDEuNTU0NjM1NTI0NzQ5NzU1OV0sIFsxNjYzOTIyNDY1LjI5NDcwNTYsIDMyNjcsIDEuNTQ0MTEzMDM5OTcwMzk4XSwgWzE2NjM5MjI0NjUuMzkyMDE5NywgMzI3NiwgMS41NjQxNjEzMDA2NTkxNzk3XSwgWzE2NjM5MjI0NjUuNDg5OTA3LCAzMjg1LCAxLjYzMTA4NTUxNTAyMjI3NzhdLCBbMTY2MzkyMjQ2NS41ODE4MzQzLCAzMjk0LCAxLjYwMTQxNzE4Mzg3NjAzNzZdLCBbMTY2MzkyMjQ2NS42NzUzODM2LCAzMzAzLCAxLjU1MDI4ODkxNTYzNDE1NTNdLCBbMTY2MzkyMjQ2NS43Njg4MTksIDMzMTIsIDEuNTM5NDQ3NTQ2MDA1MjQ5XSwgWzE2NjM5MjI0NjYuODIwNzM2MiwgMzQwMiwgMS41NjU1OTQ3OTIzNjYwMjc4XSwgWzE2NjM5MjI0NjYuOTE3NTQzLCAzNDExLCAxLjYyMzA4MjE2MDk0OTcwN10sIFsxNjYzOTIyNDY3LjczMDU0NSwgMzQ4MywgMS41NDAxNjI1NjMzMjM5NzQ2XSwgWzE2NjM5MjI0NjguMTQxNDE5MiwgMzUxOSwgMS41NTU3NzYzNTc2NTA3NTY4XSwgWzE2NjM5MjI0NjguMzQwNzUyLCAzNTM3LCAxLjY4Nzg2ODU5NTEyMzI5MV0sIFsxNjYzOTIyNDY4LjUzMjQxODMsIDM1NTUsIDEuNTk5MjEwNzM5MTM1NzQyMl0sIFsxNjYzOTIyNDY4Ljg3NzQ4MTcsIDM1ODIsIDEuNTE0MDE3MTA1MTAyNTM5XSwgWzE2NjM5MjI0NjkuNDIyNTk4NCwgMzYyNywgMS41MTAwMTM5Mzc5NTAxMzQzXSwgWzE2NjM5MjI0NjkuNjIyNjkwMiwgMzY0NSwgMS41NTIyNTM2MDM5MzUyNDE3XSwgWzE2NjM5MjI0NzAuMTQ4NjMyMywgMzY5MCwgMS41MjQ5MTE1MjI4NjUyOTU0XSwgWzE2NjM5MjI0NzAuNjI3NjcxMiwgMzcyNiwgMS41MDcwNDI0MDc5ODk1MDJdLCBbMTY2MzkyMjQ3MC43NTAyMDc0LCAzNzM1LCAxLjQ5Mzk0MzkyOTY3MjI0MTJdLCBbMTY2MzkyMjQ3MC44NjA5NDA1LCAzNzQ0LCAxLjQ4NTc0ODQxMDIyNDkxNDZdLCBbMTY2MzkyMjQ3MS4xODMyNjU0LCAzNzcxLCAxLjUxMzkyODA1NTc2MzI0NDZdLCBbMTY2MzkyMjQ3MS42NzI0ODY1LCAzNzk4LCAxLjQ2NTYzMjA4MTAzMTc5OTNdLCBbMTY2MzkyMjQ3MS43NjY1OTMsIDM4MDcsIDEuNDkwMjkwNzYwOTkzOTU3NV0sIFsxNjYzOTIyNDcyLjI2Nzg2MjMsIDM4MzQsIDEuNTE5MjY0Njk4MDI4NTY0NV0sIFsxNjYzOTIyNDcyLjU4NTc3ODcsIDM4NDMsIDEuNDg0MzcxNTQyOTMwNjAzXSwgWzE2NjM5MjI0NzMuMTMxMjgxMSwgMzg3OSwgMS40OTYzNDQ5MjM5NzMwODM1XSwgWzE2NjM5MjI0NzQuMjkwNzgzNCwgMzkyNCwgMS40ODY1Mjc1NjIxNDE0MTg1XSwgWzE2NjM5MjI0NzQuNDAyNzk2NywgMzkzMywgMS40NzI5MTQ1NzY1MzA0NTY1XSwgWzE2NjM5MjI0NzQuNTAwOTUyNywgMzk0MiwgMS40NjA0MTkyOTcyMTgzMjI4XSwgWzE2NjM5MjI0NzUuMDMwNzQ1NSwgMzk2MCwgMS40NzE0NTEwNDQwODI2NDE2XSwgWzE2NjM5MjI0NzUuNDI2MDM1NCwgMzk3OCwgMS40NDI0MjkzMDQxMjI5MjQ4XSwgWzE2NjM5MjI0NzUuNjE3NTA2NSwgMzk5NiwgMS40MzEwMDA5NDc5NTIyNzA1XSwgWzE2NjM5MjI0NzUuNzA0OTAyLCA0MDA1LCAxLjQ4NDcwMjM0ODcwOTEwNjRdLCBbMTY2MzkyMjQ3NS44OTYyMzc0LCA0MDIzLCAxLjQ3ODcyNTMxNDE0MDMxOThdLCBbMTY2MzkyMjQ3Ni4yODAxODY0LCA0MDU5LCAxLjQ1MDgyMzE4NzgyODA2NF0sIFsxNjYzOTIyNDc2LjQ3NDE1MzUsIDQwNzcsIDEuNDQ1NTMzOTkwODU5OTg1NF0sIFsxNjYzOTIyNDc2LjU3NDc1MDIsIDQwODYsIDEuNDQ3OTAzMjc1NDg5ODA3MV0sIFsxNjYzOTIyNDc2Ljg4MTUyODksIDQxMTMsIDEuNDI4MjYxMDQxNjQxMjM1NF0sIFsxNjYzOTIyNDc3LjI3MDY1NSwgNDE0OSwgMS40NTcyNjU0OTYyNTM5NjczXSwgWzE2NjM5MjI0NzcuMzYxNDU2NiwgNDE1OCwgMS40ODMyMTg1NTA2ODIwNjc5XSwgWzE2NjM5MjI0NzcuNzY0MTE4LCA0MTk0LCAxLjQyNTc4MTEzMDc5MDcxMDRdLCBbMTY2MzkyMjQ3Ny44NTY2NDM3LCA0MjAzLCAxLjQyNjA3ODY3NzE3NzQyOTJdLCBbMTY2MzkyMjQ3OC4wMzQ4NDY4LCA0MjIxLCAxLjQ2MzIwMjExODg3MzU5NjJdLCBbMTY2MzkyMjQ3OC4yMjg3NSwgNDIzOSwgMS40NTE4Njg3NzI1MDY3MTM5XSwgWzE2NjM5MjI0NzguNTkxNzUyOCwgNDI3NSwgMS40MjYwMTE5MTk5NzUyODA4XSwgWzE2NjM5MjI0NzguNjgwMzczNywgNDI4NCwgMS40MzE1MDI4MTkwNjEyNzkzXSwgWzE2NjM5MjI0NzguOTY1MzY5NSwgNDMxMSwgMS40MTMxODk2NDk1ODE5MDkyXSwgWzE2NjM5MjI0NzkuMTc3NTQzOSwgNDMyOSwgMS40MDc5Mzk1NTMyNjA4MDMyXSwgWzE2NjM5MjI0NzkuMjgzNzY1MywgNDMzOCwgMS4zOTY5NDczODM4ODA2MTUyXSwgWzE2NjM5MjI0NzkuNDc2NjYxNywgNDM1NiwgMS40Mzk2NDEyMzcyNTg5MTExXSwgWzE2NjM5MjI0NzkuNTc2MTUxMSwgNDM2NSwgMS40MTM1MzIwMTg2NjE0OTldLCBbMTY2MzkyMjQ3OS44NzE5MDg3LCA0MzkyLCAxLjQwODI0OTI1ODk5NTA1NjJdLCBbMTY2MzkyMjQ3OS45NzI4NDY1LCA0NDAxLCAxLjM5MTg0NDc0OTQ1MDY4MzZdLCBbMTY2MzkyMjQ4MC4wODcxMTk2LCA0NDEwLCAxLjQyODAzMTIwNjEzMDk4MTRdLCBbMTY2MzkyMjQ4MC4yOTM1Nzc3LCA0NDI4LCAxLjQyNTg4MDMxMjkxOTYxNjddLCBbMTY2MzkyMjQ4MC42MDA3MzYsIDQ0NTUsIDEuNDAyNzc2MzYwNTExNzc5OF0sIFsxNjYzOTIyNDgwLjk5MTA3NzIsIDQ0OTEsIDEuNDAzNzQ5NTg1MTUxNjcyNF0sIFsxNjYzOTIyNDgxLjM2MjQwOTgsIDQ1MjcsIDEuMzk0Nzk0MzQ0OTAyMDM4Nl0sIFsxNjYzOTIyNDgxLjQ1NzY3ODMsIDQ1MzYsIDEuNDQyMTMxMDQyNDgwNDY4OF0sIFsxNjYzOTIyNDgyLjIzNzcxNTcsIDQ1OTAsIDEuNDEyNTgwNDkwMTEyMzA0N10sIFsxNjYzOTIyNDgyLjMyOTEyOSwgNDU5OSwgMS40MDc1MDk4MDM3NzE5NzI3XSwgWzE2NjM5MjI0ODIuNDM4Mjg0OSwgNDYwOCwgMS40MDgzMTQ4MjQxMDQzMDldLCBbMTY2MzkyMjQ4Mi41MzkxMzAyLCA0NjE3LCAxLjM2OTk3NDQ5Mzk4MDQwNzddLCBbMTY2MzkyMjQ4Mi42MzUzMDgzLCA0NjI2LCAxLjQxODkyODUwMzk5MDE3MzNdLCBbMTY2MzkyMjQ4Mi43MzAyMjQxLCA0NjM1LCAxLjM3ODE4NTc0OTA1Mzk1NV0sIFsxNjYzOTIyNDgzLjA0ODkyMzUsIDQ2NjIsIDEuMzg2MTY3Mjg3ODI2NTM4XSwgWzE2NjM5MjI0ODMuMTY1NjY1OSwgNDY3MSwgMS4zOTk0NjQwMTExOTIzMjE4XSwgWzE2NjM5MjI0ODMuMjU4MzI0NiwgNDY4MCwgMS4zOTE2MDIzOTY5NjUwMjY5XSwgWzE2NjM5MjI0ODMuNjM4Njg3OCwgNDcxNiwgMS40MjMzNTEyODc4NDE3OTY5XSwgWzE2NjM5MjI0ODQuNjY4MDQ3MiwgNDgwNiwgMS40MzAzOTk1MzcwODY0ODY4XSwgWzE2NjM5MjI0ODQuNzY1MjQ0NywgNDgxNSwgMS4zOTY2Njc3MTg4ODczMjldLCBbMTY2MzkyMjQ4NC45NTE5OTEsIDQ4MzMsIDEuMzgwNzU2ODU1MDEwOTg2M10sIFsxNjYzOTIyNDg1LjA1NDcxMDQsIDQ4NDIsIDEuMzkzNDYwMTU0NTMzMzg2Ml0sIFsxNjYzOTIyNDg1LjE1NTMyNjYsIDQ4NTEsIDEuMzYzNDgzNDI4OTU1MDc4MV0sIFsxNjYzOTIyNDg1LjM1MjIyNTUsIDQ4NjksIDEuMzkwNDg2NTk4MDE0ODMxNV0sIFsxNjYzOTIyNDg1LjUzODI1NDcsIDQ4ODcsIDEuMzc2OTc1NTM2MzQ2NDM1NV0sIFsxNjYzOTIyNDg1LjcyNDQ5MywgNDkwNSwgMS4zNDgyMDI0NjY5NjQ3MjE3XSwgWzE2NjM5MjI0ODUuOTAyNzY5NiwgNDkyMywgMS4zNjQ1NjQ4OTU2Mjk4ODI4XSwgWzE2NjM5MjI0ODUuOTkyOTQ3OCwgNDkzMiwgMS4zNTIxNDQyNDEzMzMwMDc4XSwgWzE2NjM5MjI0ODYuMjgwMzcxNCwgNDk1OSwgMS4zODYxMDAxNzI5OTY1MjFdLCBbMTY2MzkyMjQ4Ni41MjA2MTEzLCA0OTc3LCAxLjMzNTc0MzkwNDExMzc2OTVdLCBbMTY2MzkyMjQ4Ni45MDM3MTEsIDUwMDQsIDEuMzM1MTczNDg3NjYzMjY5XSwgWzE2NjM5MjI0ODcuMDAzNzY0LCA1MDEzLCAxLjM1OTY4NzA4OTkyMDA0NF0sIFsxNjYzOTIyNDg3LjU5OTE0ODUsIDUwNjcsIDEuMzQ2OTMxNTc2NzI4ODIwOF0sIFsxNjYzOTIyNDg3LjY5MTkyMjQsIDUwNzYsIDEuMzE4OTk5ODg2NTEyNzU2M10sIFsxNjYzOTIyNDg3Ljc4Mjc0NzUsIDUwODUsIDEuMzY1Nzc3MTM0ODk1MzI0N10sIFsxNjYzOTIyNDg4LjE3OTQxNCwgNTEyMSwgMS4zNDc0MTc5NTA2MzAxODhdLCBbMTY2MzkyMjQ4OC40NjgxNjU2LCA1MTQ4LCAxLjMwNjc0ODc0NzgyNTYyMjZdLCBbMTY2MzkyMjQ4OC42NTMzNzU0LCA1MTY2LCAxLjMzNzgzMTYxNjQwMTY3MjRdLCBbMTY2MzkyMjQ4OC45MzYwOTcsIDUxOTMsIDEuMzE5MDg1MDAxOTQ1NDk1Nl0sIFsxNjYzOTIyNDg5LjMxOTEwNTYsIDUyMjksIDEuMzMxNzUyNDE5NDcxNzQwN10sIFsxNjYzOTIyNDg5LjY4ODI3NiwgNTI2NSwgMS4zNjY0MjU3NTI2Mzk3NzA1XSwgWzE2NjM5MjI0ODkuNzgyODEwNywgNTI3NCwgMS4zMzA5NDQ1MzgxMTY0NTVdLCBbMTY2MzkyMjQ5MC4xNjM4NjQ5LCA1MzAxLCAxLjM1MjY5Nzg0OTI3MzY4MTZdLCBbMTY2MzkyMjQ5MC4zODQ5NTIsIDUzMTksIDEuMzg5Mzg5OTkxNzYwMjU0XSwgWzE2NjM5MjI0OTAuNzE4MzIyOCwgNTMyOCwgMS4zMDY1MzcwMzIxMjczODA0XSwgWzE2NjM5MjI0OTEuMDA5NTMxLCA1MzU1LCAxLjMwNjk1ODkxMzgwMzEwMDZdLCBbMTY2MzkyMjQ5MS4yMDQyNjY4LCA1MzczLCAxLjMxODIyOTkxMzcxMTU0NzldLCBbMTY2MzkyMjQ5MS4zODQ2NTQsIDUzOTEsIDEuMjc5MzM0MzA2NzE2OTE5XSwgWzE2NjM5MjI0OTEuNDc3ODk2MiwgNTQwMCwgMS4yOTU4OTc3MjIyNDQyNjI3XSwgWzE2NjM5MjI0OTEuNzk0OTY0MywgNTQyNywgMS4zMjE4NDcwODExODQzODcyXSwgWzE2NjM5MjI0OTEuODk3OTM3LCA1NDM2LCAxLjM1MTM4NTU5MzQxNDMwNjZdLCBbMTY2MzkyMjQ5Mi40MzkzNDMyLCA1NDgxLCAxLjM1MjE0Mzc2NDQ5NTg0OTZdLCBbMTY2MzkyMjQ5Mi45MzE2Nzk1LCA1NTI2LCAxLjI5MjkwMDQ0MzA3NzA4NzRdLCBbMTY2MzkyMjQ5My4wMjQ5ODI3LCA1NTM1LCAxLjMwNjUyOTA0NTEwNDk4MDVdLCBbMTY2MzkyMjQ5My4yMjMwOTI2LCA1NTUzLCAxLjMwNDUzNzY1MzkyMzAzNDddLCBbMTY2MzkyMjQ5My42NDA5OTE0LCA1NTg5LCAxLjI5MzE3NTgxNjUzNTk0OTddLCBbMTY2MzkyMjQ5My44Mjg5ODMsIDU2MDcsIDEuMjk4MTg5NDAxNjI2NTg3XSwgWzE2NjM5MjI0OTMuOTEzOTY5NSwgNTYxNiwgMS4yODA3ODc5NDQ3OTM3MDEyXSwgWzE2NjM5MjI0OTQuMjA1OTExNCwgNTY0MywgMS4yNTY1MTIyODQyNzg4Njk2XSwgWzE2NjM5MjI0OTQuMzg0MjU2LCA1NjYxLCAxLjI3MTI5OTk1ODIyOTA2NV0sIFsxNjYzOTIyNDk0LjUyMDUyMTQsIDU2NzAsIDEuMzI0OTAwNzQ2MzQ1NTJdLCBbMTY2MzkyMjQ5NC45MjQwNjQ0LCA1NzA2LCAxLjI4NTIzNTA0NzM0MDM5M10sIFsxNjYzOTIyNDk1LjMwMjkxOTQsIDU3NDIsIDEuMjc2NjQxNDg4MDc1MjU2M10sIFsxNjYzOTIyNDk1LjU4MjI3MDEsIDU3NjksIDEuMjg5ODg4NjIwMzc2NTg3XSwgWzE2NjM5MjI0OTUuNjcyODUzNSwgNTc3OCwgMS4yNzc4Nzg5OTk3MTAwODNdLCBbMTY2MzkyMjQ5NS43NjI0MjIzLCA1Nzg3LCAxLjI3MzM4MDI3OTU0MTAxNTZdLCBbMTY2MzkyMjQ5NS44NjI3NzA4LCA1Nzk2LCAxLjMwNjI1ODIwMTU5OTEyMV0sIFsxNjYzOTIyNDk1Ljk1OTQ5NzcsIDU4MDUsIDEuMzMyMjg3NTQ5OTcyNTM0Ml0sIFsxNjYzOTIyNDk2LjQxOTQzMjIsIDU4NTAsIDEuMjgwODUzNjI5MTEyMjQzN10sIFsxNjYzOTIyNDk2LjYwMzQsIDU4NjgsIDEuMjUxNzg5MDkzMDE3NTc4MV0sIFsxNjYzOTIyNDk2LjY5NjEwMjYsIDU4NzcsIDEuMjk2MTMzMDQxMzgxODM2XSwgWzE2NjM5MjI0OTYuODgyMjQ0OCwgNTg5NSwgMS4yNDk5ODcxMjUzOTY3Mjg1XSwgWzE2NjM5MjI0OTYuOTgwODEsIDU5MDQsIDEuMjc3MDI0MTQ5ODk0NzE0NF0sIFsxNjYzOTIyNDk3LjI3MjI0NTQsIDU5MzEsIDEuMzY1Njg4MDg1NTU2MDMwM10sIFsxNjYzOTIyNDk3LjQ4MTAwMjgsIDU5NDksIDEuMjYzMTcyMTQ5NjU4MjAzMV0sIFsxNjYzOTIyNDk4LjE4MTcxMjYsIDYwMTIsIDEuMjg0OTA4MDU2MjU5MTU1M10sIFsxNjYzOTIyNDk4LjQ1MzYzMzUsIDYwMzksIDEuMjQ1ODUwNDQzODQwMDI2OV0sIFsxNjYzOTIyNDk5LjEzOTU1MzgsIDYwODQsIDEuMjU0ODUwMTQ5MTU0NjYzXSwgWzE2NjM5MjI0OTkuMjM0NzEzLCA2MDkzLCAxLjI2OTEwNDEyMzExNTUzOTZdLCBbMTY2MzkyMjQ5OS41OTc4MDksIDYxMjksIDEuMjY4NDkxNTA2NTc2NTM4XSwgWzE2NjM5MjI0OTkuNzc1NzAxOCwgNjE0NywgMS4yMzk2NDEwNzAzNjU5MDU4XSwgWzE2NjM5MjI0OTkuODc4NjAxLCA2MTU2LCAxLjI0OTE0MDg1ODY1MDIwNzVdLCBbMTY2MzkyMjQ5OS45NzE1ODgsIDYxNjUsIDEuMjc3MTEzNjc2MDcxMTY3XSwgWzE2NjM5MjI1MDAuMjU3OTkyNywgNjE5MiwgMS4yNTg0NTI3NzMwOTQxNzcyXSwgWzE2NjM5MjI1MDAuNzIyODU4NywgNjIzNywgMS4yNzQ3MjkyNTE4NjE1NzIzXSwgWzE2NjM5MjI1MDAuOTE4MTMzNywgNjI1NSwgMS4yNDgyMjUyMTIwOTcxNjhdLCBbMTY2MzkyMjUwMS4xMTI4MjA0LCA2MjczLCAxLjI3MzQ4NzIxMDI3Mzc0MjddLCBbMTY2MzkyMjUwMS4yMjE3ODIsIDYyODIsIDEuMjUyOTAyMjY5MzYzNDAzM10sIFsxNjYzOTIyNTAxLjQyNTcyMiwgNjMwMCwgMS4yOTIxMDAwNzE5MDcwNDM1XSwgWzE2NjM5MjI1MDEuNzEyNzIzLCA2MzI3LCAxLjI0MTE2MDk4ODgwNzY3ODJdLCBbMTY2MzkyMjUwMS44MTgwMTIsIDYzMzYsIDEuMjU0ODYxNTkzMjQ2NDZdLCBbMTY2MzkyMjUwMi4wMTMxNzY3LCA2MzU0LCAxLjI5MjcxODg4NzMyOTEwMTZdLCBbMTY2MzkyMjUwMi41MjA4OTU1LCA2Mzk5LCAxLjMwODkyMTY5NDc1NTU1NDJdLCBbMTY2MzkyMjUwMi43MDc4ODM4LCA2NDE3LCAxLjI1NDU1NzI1MTkzMDIzNjhdLCBbMTY2MzkyMjUwMy4wMTIwNjQ3LCA2NDQ0LCAxLjI0Mzc5MDI2ODg5ODAxMDNdLCBbMTY2MzkyMjUwMy4yMDQwODI1LCA2NDYyLCAxLjI0ODAxMTExMjIxMzEzNDhdLCBbMTY2MzkyMjUwMy41MTMxNzI0LCA2NDg5LCAxLjIyODk3NjEzMDQ4NTUzNDddLCBbMTY2MzkyMjUwMy42NDQxMzM2LCA2NDk4LCAxLjIzNTQ0MjUxOTE4NzkyNzJdLCBbMTY2MzkyMjUwMy44NTcwNzA0LCA2NTE2LCAxLjI1MzgxODE1NDMzNTAyMl0sIFsxNjYzOTIyNTA0LjA1NjMwMSwgNjUzNCwgMS4yNTY4ODg3NDcyMTUyNzFdLCBbMTY2MzkyMjUwNC4xNzY5NDEyLCA2NTQzLCAxLjIwNDA0ODE1NjczODI4MTJdLCBbMTY2MzkyMjUwNC4zNjQ5ODk4LCA2NTYxLCAxLjIzNzA0NzY3MjI3MTcyODVdLCBbMTY2MzkyMjUwNC40NTY5OTMsIDY1NzAsIDEuMjMwNjMxMzUxNDcwOTQ3M10sIFsxNjYzOTIyNTA0LjY0ODc5MjUsIDY1ODgsIDEuMjQ5MDk5MTM1Mzk4ODY0N10sIFsxNjYzOTIyNTA0LjgwNjI5MiwgNjU5NywgMS4yNTI2NDc1MTkxMTE2MzMzXSwgWzE2NjM5MjI1MDQuOTExMDEzNiwgNjYwNiwgMS4yNjU4MjA3NDE2NTM0NDI0XSwgWzE2NjM5MjI1MDUuNDM2MjQ1NywgNjY1MSwgMS4yMjY2NDQxNTgzNjMzNDIzXSwgWzE2NjM5MjI1MDUuODExMDk2NCwgNjY4NywgMS4yMTI5MzQxMzYzOTA2ODZdLCBbMTY2MzkyMjUwNS45ODQxMTY4LCA2NzA1LCAxLjIxMjY1MTk2ODAwMjMxOTNdLCBbMTY2MzkyMjUwNy4xMzU4Mjg3LCA2ODEzLCAxLjI3NDU2MTQwNTE4MTg4NDhdLCBbMTY2MzkyMjUwNy4zMDg0ODkzLCA2ODMxLCAxLjI0MDM3MDE1NDM4MDc5ODNdLCBbMTY2MzkyMjUwOC4wODg5NzE0LCA2ODg1LCAxLjIzMDcwMDM3MzY0OTU5NzJdLCBbMTY2MzkyMjUwOC4xOTE2OTI4LCA2ODk0LCAxLjIwMjE5NTQwNTk2MDA4M10sIFsxNjYzOTIyNTA4LjQ2ODM5MSwgNjkyMSwgMS4yMjA3Njk2NDM3ODM1NjkzXSwgWzE2NjM5MjI1MDguNTUyODQ4NiwgNjkzMCwgMS4yMTQzNTc2MTQ1MTcyMTJdLCBbMTY2MzkyMjUwOC44NDg2NTMsIDY5NTcsIDEuMjQ5MDI3OTY3NDUzMDAzXSwgWzE2NjM5MjI1MDkuMTQ3MjkyNiwgNjk4NCwgMS4yMjI0MTExNTU3MDA2ODM2XSwgWzE2NjM5MjI1MDkuMjQ0MDgwNSwgNjk5MywgMS4yMzA5Mjg3Nzg2NDgzNzY1XSwgWzE2NjM5MjI1MDkuNDI1OTk4NCwgNzAxMSwgMS4yMDc3NTM4OTY3MTMyNTY4XSwgWzE2NjM5MjI1MDkuNTE4ODY4LCA3MDIwLCAxLjIyNTY1MzI5MDc0ODU5NjJdLCBbMTY2MzkyMjUwOS42MDYzMzkyLCA3MDI5LCAxLjI1MTYwMjA1MzY0MjI3M10sIFsxNjYzOTIyNTA5LjczMzYxMDksIDcwMzgsIDEuMjM4Nzc1NjEwOTIzNzY3XSwgWzE2NjM5MjI1MDkuODczOTQ3LCA3MDQ3LCAxLjMwNTc1NDU0MjM1MDc2OV0sIFsxNjYzOTIyNTEwLjQxMDg1OSwgNzEwMSwgMS4yNTk5MDIwMDA0MjcyNDZdLCBbMTY2MzkyMjUxMC42ODMxMDQzLCA3MTI4LCAxLjIwOTkzMzQwMDE1NDExMzhdLCBbMTY2MzkyMjUxMS45NzIzODkyLCA3MjQ1LCAxLjE4MDQwNTk3NDM4ODEyMjZdLCBbMTY2MzkyMjUxMi4wNzUyMTc1LCA3MjU0LCAxLjIyNDEzNTA0MTIzNjg3NzRdLCBbMTY2MzkyMjUxMi4yMDM2MjQ3LCA3MjYzLCAxLjIxNDgyNjgyMjI4MDg4MzhdLCBbMTY2MzkyMjUxMi4yOTc4MjE4LCA3MjcyLCAxLjIwMzI4MzQyOTE0NTgxM10sIFsxNjYzOTIyNTEyLjU4MTA1MzcsIDcyOTksIDEuMjE5NjQ4MTIyNzg3NDc1Nl0sIFsxNjYzOTIyNTEzLjM1NzM0MDYsIDczNzEsIDEuMjAyODk0ODA2ODYxODc3NF0sIFsxNjYzOTIyNTEzLjQ1MDI0NTEsIDczODAsIDEuMjAwNzM3MzU3MTM5NTg3NF0sIFsxNjYzOTIyNTE0LjM1ODUzMzEsIDc0NTIsIDEuMjkyMDAwNjUxMzU5NTU4XSwgWzE2NjM5MjI1MTQuNDQ5MzM4LCA3NDYxLCAxLjI3OTEzNzI1Mzc2MTI5MTVdLCBbMTY2MzkyMjUxNC44NzM2MjA1LCA3NDk3LCAxLjIyMDI3MjQyMTgzNjg1M10sIFsxNjYzOTIyNTE0Ljk4NzE5NCwgNzUwNiwgMS4yMjMxOTI5MzAyMjE1NTc2XSwgWzE2NjM5MjI1MTUuMjAzMjYxNCwgNzUyNCwgMS4yMzMyMDcyMjU3OTk1NjA1XSwgWzE2NjM5MjI1MTUuMzAxMDMwMiwgNzUzMywgMS4yMTAzMDYyODY4MTE4Mjg2XSwgWzE2NjM5MjI1MTUuNTk4Njg0MywgNzU2MCwgMS4yMDY2NTgwMDU3MTQ0MTY1XSwgWzE2NjM5MjI1MTUuNzI0NzU3MiwgNzU2OSwgMS4yMzI0NDM4MDk1MDkyNzczXSwgWzE2NjM5MjI1MTYuMDYyMTQ0NSwgNzU5NiwgMS4zMDczOTYwNTQyNjc4ODMzXSwgWzE2NjM5MjI1MTYuMjQyMDQ1NCwgNzYxNCwgMS4yMDk3MjcwNDg4NzM5MDE0XSwgWzE2NjM5MjI1MTYuOTIyODI5MiwgNzY1OSwgMS4yMTU4NDkzOTk1NjY2NTA0XSwgWzE2NjM5MjI1MTcuMDEzNDI0LCA3NjY4LCAxLjIwNTQ5MjQ5NjQ5MDQ3ODVdLCBbMTY2MzkyMjUxNy4zMDE2NTg5LCA3Njk1LCAxLjIwMzA5ODI5NzExOTE0MDZdLCBbMTY2MzkyMjUxNy41ODAwNzg2LCA3NzIyLCAxLjMwNjA4MjQ4NzEwNjMyMzJdLCBbMTY2MzkyMjUxNy44OTQyNzI4LCA3NzQ5LCAxLjE4OTM1MTMyMDI2NjcyMzZdLCBbMTY2MzkyMjUxOC4xMjIxOTUsIDc3NjcsIDEuMTc4NzI2NjczMTI2MjIwN10sIFsxNjYzOTIyNTE4LjQzOTQzNDgsIDc3OTQsIDEuMjQyMjA0NTQ2OTI4NDA1OF0sIFsxNjYzOTIyNTE4LjUzMzA5ODcsIDc4MDMsIDEuMjIzNzI5MTMzNjA1OTU3XSwgWzE2NjM5MjI1MTguOTEyMjgyMiwgNzgzOSwgMS4xODYxNzQ1MTE5MDk0ODQ5XSwgWzE2NjM5MjI1MTkuMDEzMDgwNiwgNzg0OCwgMS4yMjU4NzI1MTY2MzIwOF0sIFsxNjYzOTIyNTIwLjMwNzA4NSwgNzk2NSwgMS4xOTI3MjEwMDkyNTQ0NTU2XSwgWzE2NjM5MjI1MjAuNTE2MjI5NCwgNzk4MywgMS4yMjgwOTQ1Nzc3ODkzMDY2XSwgWzE2NjM5MjI1MjAuODg0NDY0LCA4MDE5LCAxLjIxMTQ2MTc4MjQ1NTQ0NDNdLCBbMTY2MzkyMjUyMS4wNzkyNTIyLCA4MDM3LCAxLjIyNTI4NTI5MTY3MTc1M10sIFsxNjYzOTIyNTIxLjM4MDA2NDcsIDgwNjQsIDEuMTkzODU3MzEyMjAyNDUzNl0sIFsxNjYzOTIyNTIxLjU1NTcwODYsIDgwODIsIDEuMTk1MDQzNjgzMDUyMDYzXSwgWzE2NjM5MjI1MjEuNjUzNTY4NSwgODA5MSwgMS4xNzg0MjQ0Nzc1NzcyMDk1XSwgWzE2NjM5MjI1MjEuOTQxMzM3MywgODExOCwgMS4yMDAwMjY4Njk3NzM4NjQ3XSwgWzE2NjM5MjI1MjIuMDMwNzI4LCA4MTI3LCAxLjIxNTI2OTIwNzk1NDQwNjddLCBbMTY2MzkyMjUyMi41MjQyNzg5LCA4MTcyLCAxLjIzMzk3OTk0MDQxNDQyODddLCBbMTY2MzkyMjUyMi42MTQwODQyLCA4MTgxLCAxLjI2MDQ1MDAwNTUzMTMxMV0sIFsxNjYzOTIyNTIyLjc5ODQyMjMsIDgxOTksIDEuMjg1NjYzMTI3ODk5MTddLCBbMTY2MzkyMjUyMi44OTY2ODQyLCA4MjA4LCAxLjI5ODU2MDUwMDE0NDk1ODVdLCBbMTY2MzkyMjUyMy4yNTM0MDA4LCA4MjM1LCAxLjIwOTc2NjM4NzkzOTQ1MzFdLCBbMTY2MzkyMjUyMy42MzYyNDQzLCA4MjcxLCAxLjE4NzcxNjk2MDkwNjk4MjRdLCBbMTY2MzkyMjUyMy43NTEwNjA3LCA4MjgwLCAxLjE3MDE3MDU0NTU3ODAwM10sIFsxNjYzOTIyNTIzLjkzOTQyODYsIDgyOTgsIDEuMTk0MTg0NjYwOTExNTZdLCBbMTY2MzkyMjUyNC42NzMxNjksIDgzNjEsIDEuMTk1MzA0NjMyMTg2ODg5Nl0sIFsxNjYzOTIyNTI1LjA4ODUxOTYsIDgzNzksIDEuMTcyODk1NTUwNzI3ODQ0Ml0sIFsxNjYzOTIyNTI1LjE4MzI4MjEsIDgzODgsIDEuMTk5NTk5ODYyMDk4NjkzOF0sIFsxNjYzOTIyNTI1LjI3NjE1ODgsIDgzOTcsIDEuMTk5OTg3MTczMDgwNDQ0M10sIFsxNjYzOTIyNTI1LjU4ODcxLCA4NDI0LCAxLjI5MzIwMjE2MTc4ODk0MDRdLCBbMTY2MzkyMjUyNS45ODAzNTUsIDg0NjAsIDEuMjA3MjQyNzI3Mjc5NjYzXSwgWzE2NjM5MjI1MjYuMTc2NjgyNywgODQ3OCwgMS4xNzA1NTM0NDU4MTYwNF0sIFsxNjYzOTIyNTI2LjI3MzQzNTgsIDg0ODcsIDEuMjEyNjg1OTQyNjQ5ODQxM10sIFsxNjYzOTIyNTI2LjU3NjU2NjUsIDg1MTQsIDEuMTcyNTM3MjA3NjAzNDU0Nl0sIFsxNjYzOTIyNTI2Ljk0NjcxMDYsIDg1NTAsIDEuMjI0NTY5NTU5MDk3MjldLCBbMTY2MzkyMjUyNy4yMzQyNTY3LCA4NTc3LCAxLjE5ODY2MjYzODY2NDI0NTZdLCBbMTY2MzkyMjUyNy41ODE3OTIsIDg2MDQsIDEuMTk0NTMzNDY3MjkyNzg1Nl0sIFsxNjYzOTIyNTI4LjA3NTEyMSwgODY0OSwgMS4xOTg3MjY4OTI0NzEzMTM1XSwgWzE2NjM5MjI1MjguNDIxMDAzMywgODY3NiwgMS4yMjcyODMxMjAxNTUzMzQ1XSwgWzE2NjM5MjI1MjguNjIwMTEwMywgODY5NCwgMS4xODE0OTA0MjEyOTUxNjZdLCBbMTY2MzkyMjUyOC44MDE4Njg0LCA4NzEyLCAxLjE5MTEzNTQwNjQ5NDE0MDZdLCBbMTY2MzkyMjUyOC44OTM3OCwgODcyMSwgMS4xOTM2ODk3MDM5NDEzNDUyXSwgWzE2NjM5MjI1MjkuODUxMDcyNSwgODgxMSwgMS4yMjIwMDg4MjQzNDg0NDk3XSwgWzE2NjM5MjI1MjkuOTYzMjczMywgODgyMCwgMS4xODcwMjk2MDAxNDM0MzI2XSwgWzE2NjM5MjI1MzAuMjM3MDM4NiwgODg0NywgMS4xNzA2NDc3NDAzNjQwNzQ3XSwgWzE2NjM5MjI1MzAuNjAyMTQ3MywgODg4MywgMS4xNzI5NTAyNjc3OTE3NDhdLCBbMTY2MzkyMjUzMS4wMjYzNjk4LCA4OTE5LCAxLjI0NjA2MjI3ODc0NzU1ODZdLCBbMTY2MzkyMjUzMS4yMzI1MjM0LCA4OTM3LCAxLjE3OTQ5ODA3NjQzODkwMzhdLCBbMTY2MzkyMjUzMS40MTI0OTI1LCA4OTU1LCAxLjE2MDM3ODQ1NjExNTcyMjddLCBbMTY2MzkyMjUzMS41ODM5MzI2LCA4OTczLCAxLjE2ODM5MTEwODUxMjg3ODRdLCBbMTY2MzkyMjUzMS43NjUxNDQ2LCA4OTkxLCAxLjIyOTQwMTM1MDAyMTM2MjNdLCBbMTY2MzkyMjUzMS44NjYzMDA4LCA5MDAwLCAxLjE2NzA4MjMwOTcyMjkwMDRdLCBbMTY2MzkyMjUzMi4xNjkyMTQ1LCA5MDI3LCAxLjIxNjI5NTU5OTkzNzQzOV0sIFsxNjYzOTIyNTMyLjI1Nzg3NzMsIDkwMzYsIDEuMTc5OTE4MDUwNzY1OTkxMl0sIFsxNjYzOTIyNTMyLjM0NjY4NCwgOTA0NSwgMS4xNzYzNTAxMTY3Mjk3MzYzXSwgWzE2NjM5MjI1MzIuNTg1MjU0LCA5MDYzLCAxLjE5MTE5MzgxOTA0NjAyMDVdLCBbMTY2MzkyMjUzMy4xMTAwNTM4LCA5MTA4LCAxLjE0MDgxNzA0NjE2NTQ2NjNdLCBbMTY2MzkyMjUzMy4zMTA2MDE1LCA5MTI2LCAxLjE4MzU1NzYyOTU4NTI2NjFdLCBbMTY2MzkyMjUzMy43MDMwMTEzLCA5MTQ0LCAxLjE2MjM3NzgzNDMyMDA2ODRdLCBbMTY2MzkyMjUzNC40NjMzNzM0LCA5MjA3LCAxLjE2OTYzNTA1NzQ0OTM0MDhdLCBbMTY2MzkyMjUzNC44MzcwMTk0LCA5MjQzLCAxLjE2MDYxODU0MzYyNDg3OF0sIFsxNjYzOTIyNTM1LjAzOTQzNjYsIDkyNjEsIDEuMjEwNDg5OTg4MzI3MDI2NF0sIFsxNjYzOTIyNTM1LjE1MTc0NTgsIDkyNzAsIDEuMjI3NDcxOTQ3NjY5OTgzXSwgWzE2NjM5MjI1MzUuNzI3NTY4OSwgOTMyNCwgMS4yMTE1NjM5NDQ4MTY1ODk0XSwgWzE2NjM5MjI1MzUuODIwMDk0MywgOTMzMywgMS4yMTA1MTk0MzMwMjE1NDU0XSwgWzE2NjM5MjI1MzUuOTE1OTQ4OSwgOTM0MiwgMS4yMTgyMjA0NzIzMzU4MTU0XSwgWzE2NjM5MjI1MzYuMDE1OTYyOCwgOTM1MSwgMS4xNjI0OTUwMTcwNTE2OTY4XSwgWzE2NjM5MjI1MzYuMTI4MzMyMSwgOTM2MCwgMS4xNTEyMjI0Njc0MjI0ODU0XSwgWzE2NjM5MjI1MzYuNDgwODgzNiwgOTM5NiwgMS4xODE5NTg1NTYxNzUyMzJdLCBbMTY2MzkyMjUzNi43NDY4ODM0LCA5NDIzLCAxLjE5MTc1NzIwMjE0ODQzNzVdLCBbMTY2MzkyMjUzOC4yNjkzMTIxLCA5NTEzLCAxLjE4OTc0OTI0MDg3NTI0NDFdLCBbMTY2MzkyMjUzOS4wMDg5MjI4LCA5NTMxLCAxLjE4MDMyODcyNjc2ODQ5MzddLCBbMTY2MzkyMjUzOS4zMTc2ODMsIDk1NDAsIDEuMjU1NzQ2MzY0NTkzNTA1OV0sIFsxNjYzOTIyNTM5LjQzODcyODgsIDk1NDksIDEuMjg5NDY3MzM0NzQ3MzE0NV0sIFsxNjYzOTIyNTM5LjYyMTM1MjIsIDk1NjcsIDEuMjAwMDY5OTA0MzI3MzkyNl0sIFsxNjYzOTIyNTQwLjQzMTY1MzMsIDk1OTQsIDEuMTU5MTEwNTQ2MTEyMDYwNV0sIFsxNjYzOTIyNTQwLjY3ODYzOTQsIDk2MTIsIDEuMjA3MTAzOTY3NjY2NjI2XSwgWzE2NjM5MjI1NDAuODY1NTM4OCwgOTYzMCwgMS4xNTExNTczNzkxNTAzOTA2XSwgWzE2NjM5MjI1NDAuOTY3MDE1NywgOTYzOSwgMS4xOTE5MDI4NzU5MDAyNjg2XSwgWzE2NjM5MjI1NDEuMDUzMTUwMiwgOTY0OCwgMS4xOTAzMjE5MjIzMDIyNDZdLCBbMTY2MzkyMjU0MS4xNDcwMzcsIDk2NTcsIDEuMTczNDc3MjkyMDYwODUyXSwgWzE2NjM5MjI1NDEuMjkwNTEsIDk2NjYsIDEuMjcyMjI4MjQwOTY2Nzk2OV0sIFsxNjYzOTIyNTQxLjQwMjU4MzQsIDk2NzUsIDEuMjYyNDIzOTkyMTU2OTgyNF0sIFsxNjYzOTIyNTQxLjY4NDQ2LCA5NzAyLCAxLjE4NDQxOTUxMjc0ODcxODNdLCBbMTY2MzkyMjU0MS45NjkyODEsIDk3MjksIDEuMjAzMTgwMzEzMTEwMzUxNl0sIFsxNjYzOTIyNTQyLjE2Njg5NywgOTc0NywgMS4xODkwNDczMzY1NzgzNjkxXSwgWzE2NjM5MjI1NDIuNDc2MjczOCwgOTc3NCwgMS4xODU0NDE4NTE2MTU5MDU4XSwgWzE2NjM5MjI1NDIuNTYyMjE0NiwgOTc4MywgMS4xODk0NzY4NDc2NDg2MjA2XSwgWzE2NjM5MjI1NDIuNjQ5MTMxMywgOTc5MiwgMS4yMjc1ODI2OTMwOTk5NzU2XSwgWzE2NjM5MjI1NDMuMDA2NTk1NiwgOTgyOCwgMS4xNjI4MTk4NjIzNjU3MjI3XSwgWzE2NjM5MjI1NDMuNjUwMDI2NiwgOTg5MSwgMS4yMTc4MDg5NjE4NjgyODYxXSwgWzE2NjM5MjI1NDMuODIyODI1MiwgOTkwOSwgMS4xNzAwNzMxNTE1ODg0NF0sIFsxNjYzOTIyNTQ0LjIyMDQ5MTIsIDk5MjcsIDEuMTczNzE2NTQ1MTA0OTgwNV0sIFsxNjYzOTIyNTQ0LjMwNzAwNTIsIDk5MzYsIDEuMjA2OTUyODEwMjg3NDc1Nl0sIFsxNjYzOTIyNTQ0LjM5Mzk4NzIsIDk5NDUsIDEuMjkwMzUxMTUyNDIwMDQ0XSwgWzE2NjM5MjI1NDQuNjc1NjAyMiwgOTk3MiwgMS4yMDA1MzQ1ODIxMzgwNjE1XSwgWzE2NjM5MjI1NDQuODY0MzMyMiwgOTk5MCwgMS4xNzY3NDU0MTQ3MzM4ODY3XSwgWzE2NjM5MjI1NDUuMDU2MTQ2NiwgMTAwMDgsIDEuMTY0MTk3MjA2NDk3MTkyNF0sIFsxNjYzOTIyNTQ1LjE0NjE2OSwgMTAwMTcsIDEuMTkzNjU5NTQzOTkxMDg4OV0sIFsxNjYzOTIyNTQ1LjMzNzU2NzYsIDEwMDM1LCAxLjE1Mjc3NDkzMDAwMDMwNTJdLCBbMTY2MzkyMjU0NS44MDY5MTQ2LCAxMDA4MCwgMS4xNjIxMjgzMjkyNzcwMzg2XSwgWzE2NjM5MjI1NDYuMDAwMjQ2NSwgMTAwOTgsIDEuMjA3Mjc5NTYyOTUwMTM0M10sIFsxNjYzOTIyNTQ2LjA5MDcyNzMsIDEwMTA3LCAxLjE2OTQzMjUyMDg2NjM5NF0sIFsxNjYzOTIyNTQ2LjM3MjU1MSwgMTAxMzQsIDEuMTk2NzU0ODEzMTk0Mjc1XSwgWzE2NjM5MjI1NDYuNDY2OTU3MywgMTAxNDMsIDEuMTkzMjYxMDI3MzM2MTIwNl0sIFsxNjYzOTIyNTQ2LjY1MDc2NzMsIDEwMTYxLCAxLjIwNDM0MjYwMzY4MzQ3MTddLCBbMTY2MzkyMjU0Ni43NTkyMjI3LCAxMDE3MCwgMS4xNzc1OTAyNTA5Njg5MzNdLCBbMTY2MzkyMjU0Ny4wNDIyOTgzLCAxMDE5NywgMS4yMDgwNDUwMDU3OTgzMzk4XSwgWzE2NjM5MjI1NDcuMjM0MTc1MiwgMTAyMTUsIDEuMTYwODk5NjM5MTI5NjM4N10sIFsxNjYzOTIyNTQ3LjM0Mjg0MSwgMTAyMjQsIDEuMjM4MzA2OTk5MjA2NTQzXSwgWzE2NjM5MjI1NDcuNDYwNjksIDEwMjMzLCAxLjE3NTcxNzk0OTg2NzI0ODVdLCBbMTY2MzkyMjU0Ny43NDM0OCwgMTAyNjAsIDEuMTM2MDIxNDk0ODY1NDE3NV0sIFsxNjYzOTIyNTQ4LjQwMDg1OSwgMTAzMjMsIDEuMTc2NTUxMTAzNTkxOTE5XSwgWzE2NjM5MjI1NDguNTc4OTc3NiwgMTAzNDEsIDEuMTU0NzI1MDc0NzY4MDY2NF0sIFsxNjYzOTIyNTQ4Ljc1NTY0NSwgMTAzNTksIDEuMTczMTQzOTgyODg3MjY4XSwgWzE2NjM5MjI1NDguODU5NjY5LCAxMDM2OCwgMS4xNzQzNTAxNDI0Nzg5NDI5XSwgWzE2NjM5MjI1NDguOTcxMzM0MiwgMTAzNzcsIDEuMTc1NTA2ODMwMjE1NDU0XSwgWzE2NjM5MjI1NDkuNzM5MTE0OCwgMTA0NDksIDEuMTc4NzIxNjY2MzM2MDU5Nl0sIFsxNjYzOTIyNTQ5Ljk0NzkxNCwgMTA0NjcsIDEuMTU3ODE3OTU5Nzg1NDYxNF0sIFsxNjYzOTIyNTUwLjE2MTg4MDcsIDEwNDg1LCAxLjIxMDU2MzQyMTI0OTM4OTZdLCBbMTY2MzkyMjU1MC40ODQyOTMyLCAxMDUxMiwgMS4xNTk4MDY5NjY3ODE2MTYyXSwgWzE2NjM5MjI1NTEuMDMxOTQ1LCAxMDU2NiwgMS4xODE1MjUyMzA0MDc3MTQ4XSwgWzE2NjM5MjI1NTEuMTE2NDU3NSwgMTA1NzUsIDEuMTgwNTE1NjQ2OTM0NTA5M10sIFsxNjYzOTIyNTUxLjMxMzE2NiwgMTA1OTMsIDEuMjAyMjMyOTU2ODg2MjkxNV0sIFsxNjYzOTIyNTUxLjQwOTY3OTQsIDEwNjAyLCAxLjE2ODM1Njc3NjIzNzQ4NzhdLCBbMTY2MzkyMjU1MS40OTc2ODA0LCAxMDYxMSwgMS4xNTg1MjY0MjA1OTMyNjE3XSwgWzE2NjM5MjI1NTEuODcyMjczNCwgMTA2NDcsIDEuMjQ5ODM4NTkwNjIxOTQ4Ml0sIFsxNjYzOTIyNTUyLjA1NjA1OSwgMTA2NjUsIDEuMTc3ODkxMTM1MjE1NzU5M10sIFsxNjYzOTIyNTUyLjIzMzIyNDQsIDEwNjgzLCAxLjE3NTk0NjExNjQ0NzQ0ODddLCBbMTY2MzkyMjU1Mi42ODYyNDEsIDEwNzEwLCAxLjE2NDQwMjM2NTY4NDUwOTNdLCBbMTY2MzkyMjU1Mi43Njk4NjQ2LCAxMDcxOSwgMS4xNDc5Njk2MDM1Mzg1MTMyXSwgWzE2NjM5MjI1NTMuMDcyMTk5OCwgMTA3NDYsIDEuMTk0NjQ2MTIwMDcxNDExMV0sIFsxNjYzOTIyNTUzLjE3OTAwOTIsIDEwNzU1LCAxLjE3NjEzNjYxMjg5MjE1MDldLCBbMTY2MzkyMjU1My40NzY5MTg1LCAxMDc4MiwgMS4yMDY1NzQzMjA3OTMxNTE5XSwgWzE2NjM5MjI1NTQuMjk2OTE1OCwgMTA4NTQsIDEuMjU1NjM0NjY1NDg5MTk2OF0sIFsxNjYzOTIyNTU0LjM4OTE0MjgsIDEwODYzLCAxLjE2NTE3MjIxOTI3NjQyODJdLCBbMTY2MzkyMjU1NC40NzkyNjcsIDEwODcyLCAxLjE2MTYzMDUxMTI4Mzg3NDVdLCBbMTY2MzkyMjU1NS4xMDgxOTQ0LCAxMDkyNiwgMS4xOTYxMTQ3Nzg1MTg2NzY4XSwgWzE2NjM5MjI1NTUuMjIzOTExNSwgMTA5MzUsIDEuMjAzODEzMTk1MjI4NTc2N10sIFsxNjYzOTIyNTU1LjU4MDA1MDIsIDEwOTcxLCAxLjE1NDQwNTcxMzA4MTM1OTldLCBbMTY2MzkyMjU1Ni4wNzM1NDkzLCAxMTAxNiwgMS4yNDc1OTA2NjEwNDg4ODkyXSwgWzE2NjM5MjI1NTYuMjcyODA4LCAxMTAzNCwgMS4yMTA5NTg4Mzg0NjI4Mjk2XSwgWzE2NjM5MjI1NTYuNjMzNjE4NCwgMTEwNzAsIDEuMTk2MzkxNzAxNjk4MzAzMl0sIFsxNjYzOTIyNTU2Ljk0MzEyNjQsIDExMDk3LCAxLjE3NzgwMTk2NjY2NzE3NTNdLCBbMTY2MzkyMjU1Ny41MTE1NTQ1LCAxMTE1MSwgMS4yMjE1MzkzNzgxNjYxOTg3XSwgWzE2NjM5MjI1NTcuNzQ2NTYyNSwgMTExNjksIDEuMjUyODM1NTEyMTYxMjU0OV0sIFsxNjYzOTIyNTU4LjEzMDk3MjYsIDExMjA1LCAxLjE0MTYwNjkyNjkxODAyOThdLCBbMTY2MzkyMjU1OC4zMzA2MTc0LCAxMTIyMywgMS4xNTAwOTYwNTg4NDU1Ml0sIFsxNjYzOTIyNTU4LjYyNjg2OTIsIDExMjUwLCAxLjE1OTMwMTYzODYwMzIxMDRdLCBbMTY2MzkyMjU1OC43MTk1NDc1LCAxMTI1OSwgMS4xODgyODcwMTk3Mjk2MTQzXSwgWzE2NjM5MjI1NTguODA5MjQ5LCAxMTI2OCwgMS4xOTcwNDQ4NDkzOTU3NTJdLCBbMTY2MzkyMjU1OC44OTU2NzYxLCAxMTI3NywgMS4xNDcxNjAyOTE2NzE3NTNdLCBbMTY2MzkyMjU1OS4wODIwMTQ4LCAxMTI5NSwgMS4yMzUxMTMxNDM5MjA4OTg0XSwgWzE2NjM5MjI1NTkuMjg2MzgzNiwgMTEzMTMsIDEuMTkzMDIzMDg1NTk0MTc3Ml0sIFsxNjYzOTIyNTU5LjM5Nzc3NDcsIDExMzIyLCAxLjE0MDg0MDg4ODAyMzM3NjVdLCBbMTY2MzkyMjU1OS42ODEzMjExLCAxMTM0OSwgMS4yMDAwMjg1Mzg3MDM5MTg1XSwgWzE2NjM5MjI1NTkuNzgwMzQxOSwgMTEzNTgsIDEuMTg2OTcyMDIyMDU2NTc5Nl0sIFsxNjYzOTIyNTYwLjQxOTY4MjcsIDExNDEyLCAxLjIyODkzMjk3NjcyMjcxNzNdLCBbMTY2MzkyMjU2MC44NTQzODIsIDExNDQ4LCAxLjEzODUxMzA4ODIyNjMxODRdLCBbMTY2MzkyMjU2MS41NTMzMjM1LCAxMTQ5MywgMS4xNjA4MDUzNDQ1ODE2MDRdLCBbMTY2MzkyMjU2MS42NDM1NjI4LCAxMTUwMiwgMS4xOTA3MjQ4NDk3MDA5Mjc3XSwgWzE2NjM5MjI1NjEuNzQ0MDE4OCwgMTE1MTEsIDEuMTg0NDM0MTc1NDkxMzMzXSwgWzE2NjM5MjI1NjIuMTEwNjgwMywgMTE1NDcsIDEuMjI2OTA1NzAzNTQ0NjE2N10sIFsxNjYzOTIyNTYyLjQyMDk1LCAxMTU3NCwgMS4yMjE0MzcyMTU4MDUwNTM3XSwgWzE2NjM5MjI1NjIuOTYwMDEyMiwgMTE2MTksIDEuMTQ0Mzc3OTQ2ODUzNjM3N10sIFsxNjYzOTIyNTYzLjI3MDY3MjYsIDExNjQ2LCAxLjE4Njk3MzY5MDk4NjYzMzNdLCBbMTY2MzkyMjU2My43Mjc1OTQ5LCAxMTY5MSwgMS4xNDk1NTUwODcwODk1Mzg2XSwgWzE2NjM5MjI1NjMuODE0OTM5NSwgMTE3MDAsIDEuMTkzODYzMjcyNjY2OTMxMl0sIFsxNjYzOTIyNTY0LjE0Nzg0OTYsIDExNzI3LCAxLjE2MTA2NDAyODczOTkyOTJdLCBbMTY2MzkyMjU2NC41MzYyODQ3LCAxMTc2MywgMS4yMjAwNjk2NDY4MzUzMjcxXSwgWzE2NjM5MjI1NjQuOTI5MzQ5NCwgMTE3OTksIDEuMjE3ODczMzM0ODg0NjQzNl0sIFsxNjYzOTIyNTY1LjQzMTUyNiwgMTE4NDQsIDEuMTgwMTcxNDg5NzE1NTc2Ml0sIFsxNjYzOTIyNTY1LjkwMDgyMzQsIDExODg5LCAxLjE1NzU3NjY4MDE4MzQxMDZdLCBbMTY2MzkyMjU2Ni4xMDMyNzIsIDExOTA3LCAxLjE2MzI3Nzk4MzY2NTQ2NjNdLCBbMTY2MzkyMjU2Ni40MDUwMDEsIDExOTM0LCAxLjEyNTQ2OTY4NDYwMDgzXSwgWzE2NjM5MjI1NjYuNTA3MTM4MywgMTE5NDMsIDEuMTQ5MDk1NTM1Mjc4MzIwM10sIFsxNjYzOTIyNTY2LjY5ODk3NSwgMTE5NjEsIDEuMTYzMDY1MDc1ODc0MzI4Nl0sIFsxNjYzOTIyNTY3LjQyMDY5MzIsIDEyMDI0LCAxLjE4NTk0Mzk2MTE0MzQ5MzddLCBbMTY2MzkyMjU2OC40NTgyNzI3LCAxMjExNCwgMS4xNjgyNDYxNTAwMTY3ODQ3XSwgWzE2NjM5MjI1NjguNzg0NDU2LCAxMjE0MSwgMS4xODE3OTM0NTEzMDkyMDRdLCBbMTY2MzkyMjU2OS4wODQzNzA5LCAxMjE2OCwgMS4xNjU3MzEwNzI0MjU4NDIzXSwgWzE2NjM5MjI1NjkuMjAwMzQ1MywgMTIxNzcsIDEuMTg5MjE1MzAyNDY3MzQ2Ml0sIFsxNjYzOTIyNTY5LjQyNzk0NTEsIDEyMTk1LCAxLjI0MDgzNTc4NTg2NTc4MzddLCBbMTY2MzkyMjU3MC4yNTk1MTMsIDEyMjQ5LCAxLjE4MTI0MjgyMzYwMDc2OV0sIFsxNjYzOTIyNTcwLjYzNDM0MDUsIDEyMjg1LCAxLjEyODc4NTYxMDE5ODk3NDZdLCBbMTY2MzkyMjU3MC43Mjg1NTUyLCAxMjI5NCwgMS4xNDYzMzA0NzU4MDcxOV0sIFsxNjYzOTIyNTcwLjgzNDAxOCwgMTIzMDMsIDEuMTcyODQ4MTA1NDMwNjAzXSwgWzE2NjM5MjI1NzAuOTMzNzIzLCAxMjMxMiwgMS4xNTUxNTgwNDI5MDc3MTQ4XSwgWzE2NjM5MjI1NzEuMDMyNjQ3MSwgMTIzMjEsIDEuMTEyNTcxOTU0NzI3MTcyOV0sIFsxNjYzOTIyNTcxLjcxNDgzNzMsIDEyMzg0LCAxLjE5MzA1MTY5NTgyMzY2OTRdLCBbMTY2MzkyMjU3MS44MTUxMzEyLCAxMjM5MywgMS4yMDYzNDg1MzgzOTg3NDI3XSwgWzE2NjM5MjI1NzIuMjAzODM3LCAxMjQyOSwgMS4xNDY0MTc3MzcwMDcxNDExXSwgWzE2NjM5MjI1NzIuNjc2NzIyMywgMTI0NzQsIDEuMTY5MDA3MTgyMTIxMjc2OV0sIFsxNjYzOTIyNTcyLjc4MzQ3NSwgMTI0ODMsIDEuMTc3Mjc5ODI5OTc4OTQyOV0sIFsxNjYzOTIyNTczLjI0Mzk1NzMsIDEyNTE5LCAxLjE2NTM5NDMwNjE4Mjg2MTNdLCBbMTY2MzkyMjU3My41OTIxOTY1LCAxMjU0NiwgMS4xOTk0MjM3ODk5NzgwMjczXSwgWzE2NjM5MjI1NzQuMDIyMjE5MiwgMTI1ODIsIDEuMTY3NTcyMTQwNjkzNjY0Nl0sIFsxNjYzOTIyNTc2LjA5MTg5LCAxMjc2MiwgMS4xNTAzMDMzNjM4MDAwNDg4XSwgWzE2NjM5MjI1NzYuNTE3ODEyNSwgMTI3OTgsIDEuMTQ0Mjc0MTE1NTYyNDM5XSwgWzE2NjM5MjI1NzcuNDYyNzI1OSwgMTI4ODgsIDEuMTQyMDc4NjM4MDc2NzgyMl0sIFsxNjYzOTIyNTc3LjU1MTk1OTUsIDEyODk3LCAxLjE1MDY2Mzk3MTkwMDk0XSwgWzE2NjM5MjI1NzcuOTI5OTQsIDEyOTMzLCAxLjE2ODcxNDI4NDg5Njg1MDZdLCBbMTY2MzkyMjU3OC4xNjEwNjcsIDEyOTUxLCAxLjEzMDIzMzg4Mzg1NzcyN10sIFsxNjYzOTIyNTc4LjI2ODQ2NywgMTI5NjAsIDEuMTM1NjAwMDkwMDI2ODU1NV0sIFsxNjYzOTIyNTc4LjM3OTMxNjMsIDEyOTY5LCAxLjE1MzY0ODAxODgzNjk3NV0sIFsxNjYzOTIyNTc4LjUwOTI3NzMsIDEyOTc4LCAxLjE3MTQxNDczMjkzMzA0NDRdLCBbMTY2MzkyMjU3OS4wMTc0Mjk0LCAxMzAwNSwgMS4xODYyNjY3Nzk4OTk1OTcyXSwgWzE2NjM5MjI1NzkuMzI5NzQ2LCAxMzAzMiwgMS4xMjkyNDExMDg4OTQzNDgxXSwgWzE2NjM5MjI1NzkuNTIwMzA2OCwgMTMwNTAsIDEuMTMwMzg5MzMyNzcxMzAxM10sIFsxNjYzOTIyNTc5LjcxMDU5OTQsIDEzMDY4LCAxLjE2NDU2MDY3NTYyMTAzMjddLCBbMTY2MzkyMjU3OS44MDI2NTc0LCAxMzA3NywgMS4xNTc1MjA2NTE4MTczMjE4XSwgWzE2NjM5MjI1ODAuMDg2NDg1MSwgMTMxMDQsIDEuMTc2MTE5ODA0MzgyMzI0Ml0sIFsxNjYzOTIyNTgwLjI4OTE2MTIsIDEzMTIyLCAxLjE2MDk0Njg0NjAwODMwMDhdLCBbMTY2MzkyMjU4MC40MDY5Mjk1LCAxMzEzMSwgMS4xMzQ5MTIzNzE2MzU0MzddLCBbMTY2MzkyMjU4MC42MTM2MjQzLCAxMzE0OSwgMS4xNDYzMDIxMDM5OTYyNzY5XSwgWzE2NjM5MjI1ODAuNzEyODY2LCAxMzE1OCwgMS4xNDc2NDk0MDczODY3Nzk4XSwgWzE2NjM5MjI1ODAuOTIzMDE3MywgMTMxNzYsIDEuMTk0OTE0MzQwOTcyOTAwNF0sIFsxNjYzOTIyNTgxLjYwMDU0NjEsIDEzMjM5LCAxLjE0NDc0OTQwMjk5OTg3OF0sIFsxNjYzOTIyNTgxLjg5OTg2NzMsIDEzMjY2LCAxLjE1ODA0MDE2NTkwMTE4NF0sIFsxNjYzOTIyNTgyLjAyMTA2NDgsIDEzMjc1LCAxLjE2MTYwNTIzODkxNDQ4OTddLCBbMTY2MzkyMjU4Mi4yMjY1NTgyLCAxMzI5MywgMS4xMzM2ODAzNDM2Mjc5Mjk3XSwgWzE2NjM5MjI1ODIuODkxNzgxOCwgMTMzNTYsIDEuMjI5NjQzNDY0MDg4NDRdLCBbMTY2MzkyMjU4My4yNjQzMDU0LCAxMzM5MiwgMS4yMjY5NzQzNjgwOTUzOThdLCBbMTY2MzkyMjU4My41ODY1NDE0LCAxMzQxOSwgMS4yMzQ2NzEzNTQyOTM4MjMyXSwgWzE2NjM5MjI1ODMuODg2MDk1MywgMTM0NDYsIDEuMjg2MTMxOTc4MDM0OTczMV0sIFsxNjYzOTIyNTgzLjk3OTUzNywgMTM0NTUsIDEuMjA4MDUxNTYyMzA5MjY1MV0sIFsxNjYzOTIyNTg0LjM5ODg1MTIsIDEzNDkxLCAxLjE3MzAwNTcwMDExMTM4OTJdLCBbMTY2MzkyMjU4NC41MzM1OTcyLCAxMzUwMCwgMS4xMjE1MTI0MTMwMjQ5MDIzXSwgWzE2NjM5MjI1ODQuODQzNzE4LCAxMzUyNywgMS4yMjk4NTE0ODQyOTg3MDZdLCBbMTY2MzkyMjU4NS41NTI1MDQsIDEzNTkwLCAxLjIxODcwMTAwNDk4MTk5NDZdLCBbMTY2MzkyMjU4NS42NDMwMDUsIDEzNTk5LCAxLjE1Njg4MDczNjM1MTAxMzJdLCBbMTY2MzkyMjU4NS43MzUyNjcyLCAxMzYwOCwgMS4yMTUzNjg1MDkyOTI2MDI1XSwgWzE2NjM5MjI1ODUuOTIyMDAwMiwgMTM2MjYsIDEuMjAyMzU3MDUzNzU2NzEzOV0sIFsxNjYzOTIyNTg2LjExNjc4NjUsIDEzNjQ0LCAxLjE1MDAzOTMxNTIyMzY5MzhdLCBbMTY2MzkyMjU4Ni4yMTAwNjY4LCAxMzY1MywgMS4xNDk5NjM5NzQ5NTI2OTc4XSwgWzE2NjM5MjI1ODYuODk3NTQsIDEzNzE2LCAxLjIxODc2NjIxMjQ2MzM3OV0sIFsxNjYzOTIyNTg3LjM3NjU4ODgsIDEzNzYxLCAxLjE4OTI0OTI3NzExNDg2ODJdLCBbMTY2MzkyMjU4OC4xODgyMzE3LCAxMzgxNSwgMS4xNTkzNDMwMDQyMjY2ODQ2XSwgWzE2NjM5MjI1ODguNDc1MjE4NSwgMTM4NDIsIDEuMTQ0OTg5MDEzNjcxODc1XSwgWzE2NjM5MjI1ODguNTcyMjU4LCAxMzg1MSwgMS4xMzY5MTM4OTU2MDY5OTQ2XSwgWzE2NjM5MjI1ODguODY0NDA3NSwgMTM4NzgsIDEuMTQ0Mjk0ODU3OTc4ODIwOF0sIFsxNjYzOTIyNTg5LjU2NzM0ODIsIDEzOTQxLCAxLjEzMzI1Njc5MzAyMjE1NThdLCBbMTY2MzkyMjU4OS44OTkxNjU5LCAxMzk2OCwgMS4xMjg4NDY4ODM3NzM4MDM3XSwgWzE2NjM5MjI1OTAuMDA1NTU1OSwgMTM5NzcsIDEuMTM1MjQ2NjM0NDgzMzM3NF0sIFsxNjYzOTIyNTkwLjExMjE4NzEsIDEzOTg2LCAxLjE1OTMzNzg3ODIyNzIzMzldLCBbMTY2MzkyMjU5MS4xMTQ0MzQsIDE0MDY3LCAxLjExOTk5MTE4MzI4MDk0NDhdLCBbMTY2MzkyMjU5MS40MzcxNjA1LCAxNDA5NCwgMS4xNjAzMDgzNjEwNTM0NjY4XSwgWzE2NjM5MjI1OTEuNTY2NDU3LCAxNDEwMywgMS4xMjg5OTMxNTM1NzIwODI1XSwgWzE2NjM5MjI1OTEuODA2OTUyMiwgMTQxMjEsIDEuMTM1Mjg0MTg1NDA5NTQ2XSwgWzE2NjM5MjI1OTIuMDI0NzA2MSwgMTQxMzksIDEuMTY1MDUzNzI1MjQyNjE0N10sIFsxNjYzOTIyNTkyLjEyNjM0NzUsIDE0MTQ4LCAxLjE0NTE3MjM1NzU1OTIwNF0sIFsxNjYzOTIyNTkyLjIyODY1MywgMTQxNTcsIDEuMTMwOTkwNjI0NDI3Nzk1NF0sIFsxNjYzOTIyNTkyLjMyODIyNjgsIDE0MTY2LCAxLjEyNzEyOTMxNjMyOTk1Nl0sIFsxNjYzOTIyNTkyLjY0NDc5OTUsIDE0MTkzLCAxLjEyODE1MTUzNTk4Nzg1NF0sIFsxNjYzOTIyNTkzLjA1Nzg5MjYsIDE0MjI5LCAxLjE2MjgzNjA3NDgyOTEwMTZdLCBbMTY2MzkyMjU5My4xNTk1MjY4LCAxNDIzOCwgMS4xMjY4NTY2ODQ2ODQ3NTM0XSwgWzE2NjM5MjI1OTMuNTc1MjgzMywgMTQyNzQsIDEuMTM1MTg3NTA2Njc1NzIwMl0sIFsxNjYzOTIyNTk0LjE0MzQ0MjQsIDE0MzE5LCAxLjE5MjQ1MzYyMjgxNzk5MzJdLCBbMTY2MzkyMjU5NC42OTExNjg1LCAxNDM2NCwgMS4xNDk0MzM3MzIwMzI3NzU5XSwgWzE2NjM5MjI1OTQuNzk1MjQ2OCwgMTQzNzMsIDEuMTY4MjEyNTMyOTk3MTMxM10sIFsxNjYzOTIyNTk0LjkwNTkxMSwgMTQzODIsIDEuMTM4NzA3MDQxNzQwNDE3NV0sIFsxNjYzOTIyNTk1LjQwMzI0NSwgMTQ0MTgsIDEuMTMwMjc0ODkxODUzMzMyNV0sIFsxNjYzOTIyNTk1LjUxNzY4NTQsIDE0NDI3LCAxLjE3NDc2MjM2ODIwMjIwOTVdLCBbMTY2MzkyMjU5NS42MjI2ODY0LCAxNDQzNiwgMS4xMjg2NTI2OTE4NDExMjU1XSwgWzE2NjM5MjI1OTYuNDY5NTkzNSwgMTQ1MDgsIDEuMTM1MTYwNjg0NTg1NTcxM10sIFsxNjYzOTIyNTk2Ljc4ODA4OSwgMTQ1MzUsIDEuMTQ4MzY3NDA0OTM3NzQ0MV0sIFsxNjYzOTIyNTk3LjI0NzU3OTMsIDE0NTUzLCAxLjEzMzUyMTE5OTIyNjM3OTRdLCBbMTY2MzkyMjU5Ny44OTU1NTA1LCAxNDYwNywgMS4xMzAzNzUxNDY4NjU4NDQ3XSwgWzE2NjM5MjI1OTguMTQ0NzExNywgMTQ2MjUsIDEuMTI4NDM4MzUzNTM4NTEzMl0sIFsxNjYzOTIyNTk4LjQ4MDQ5MDcsIDE0NjUyLCAxLjE1Nzc2NTc0NjExNjYzODJdLCBbMTY2MzkyMjU5OC44OTk3NDMzLCAxNDY4OCwgMS4xNjYxODQ2NjM3NzI1ODNdLCBbMTY2MzkyMjU5OS4yNzkwMzcsIDE0NzI0LCAxLjE4MDQ5ODEyMzE2ODk0NTNdLCBbMTY2MzkyMjU5OS40ODQ3ODk4LCAxNDc0MiwgMS4xODc1MjU5ODc2MjUxMjJdLCBbMTY2MzkyMjU5OS43NTM5NDM0LCAxNDc2OSwgMS4yNjM2NTAwNTk3MDAwMTIyXSwgWzE2NjM5MjI1OTkuODM5OTE2NywgMTQ3NzgsIDEuMTYyMzc0MDE5NjIyODAyN10sIFsxNjYzOTIyNjAwLjMwOTk4MTMsIDE0ODIzLCAxLjE2OTQ2Mzg3MjkwOTU0Nl0sIFsxNjYzOTIyNjAwLjQxMTMxMjgsIDE0ODMyLCAxLjE1MzQ1NzY0MTYwMTU2MjVdLCBbMTY2MzkyMjYwMC43ODMzMTA3LCAxNDg2OCwgMS4xMjY1MTIxNjk4Mzc5NTE3XSwgWzE2NjM5MjI2MDAuODc2MTM2MywgMTQ4NzcsIDEuMTI4Nzc4MTAwMDEzNzMzXSwgWzE2NjM5MjI2MDAuOTc4NjU2OCwgMTQ4ODYsIDEuMTI1NjM4NDg0OTU0ODM0XSwgWzE2NjM5MjI2MDEuMDc0NzA1NiwgMTQ4OTUsIDEuMTI1Nzk4MjI1NDAyODMyXSwgWzE2NjM5MjI2MDEuMjc4OTA0NCwgMTQ5MTMsIDEuMTI3MDI2OTE1NTUwMjMyXSwgWzE2NjM5MjI2MDEuNDY4MDYwNywgMTQ5MzEsIDEuMTM2ODAyOTExNzU4NDIyOV0sIFsxNjYzOTIyNjAxLjgxMTU2MywgMTQ5NjcsIDEuMTUwMjg5Mjk3MTAzODgxOF0sIFsxNjYzOTIyNjAxLjk5MjAxOCwgMTQ5ODUsIDEuMTEyMTkyMzkyMzQ5MjQzMl0sIFsxNjYzOTIyNjAyLjE5MTI5NzMsIDE1MDAzLCAxLjExNTI5OTM0NDA2MjgwNTJdLCBbMTY2MzkyMjYwMi40NjU3MzUyLCAxNTAzMCwgMS4xNDA3MzA5NzcwNTg0MTA2XSwgWzE2NjM5MjI2MDIuNTU1NzA5NiwgMTUwMzksIDEuMTc3MDk0MjIxMTE1MTEyM10sIFsxNjYzOTIyNjAyLjg5OTMyNDQsIDE1MDc1LCAxLjExNzQyMzg5MjAyMTE3OTJdLCBbMTY2MzkyMjYwMy4xODMwMDE4LCAxNTEwMiwgMS4xMzU4MzExMTc2MzAwMDQ5XSwgWzE2NjM5MjI2MDMuMzcwNTkwMiwgMTUxMjAsIDEuMTI5MzgyOTY3OTQ4OTEzNl0sIFsxNjYzOTIyNjAzLjkwNzg4NCwgMTUxNzQsIDEuMTQ2MTU2MTkxODI1ODY2N10sIFsxNjYzOTIyNjAzLjk5OTEyOTgsIDE1MTgzLCAxLjEyMDQzOTg4NzA0NjgxNF0sIFsxNjYzOTIyNjA0LjA4Mjg5NjcsIDE1MTkyLCAxLjE0ODgzODc1ODQ2ODYyOF0sIFsxNjYzOTIyNjA0LjE4NzQ4NjIsIDE1MjAxLCAxLjEzNDM1NTQyNTgzNDY1NThdLCBbMTY2MzkyMjYwNC42NTAzODk0LCAxNTI0NiwgMS4xNDUwMDY2NTY2NDY3Mjg1XSwgWzE2NjM5MjI2MDQuNzM2MzQzMSwgMTUyNTUsIDEuMTQ5MTg1NTM4MjkxOTMxMl0sIFsxNjYzOTIyNjA0LjgyNjkwMTIsIDE1MjY0LCAxLjIwOTcyMDczMDc4MTU1NTJdLCBbMTY2MzkyMjYwNS4xODg1NzM2LCAxNTMwMCwgMS4xMzY5MTU0NDUzMjc3NTg4XSwgWzE2NjM5MjI2MDUuNjU0NTk5NywgMTUzMjcsIDEuMTI4MDIwMjg2NTYwMDU4Nl0sIFsxNjYzOTIyNjA1Ljg2MjgxNywgMTUzNDUsIDEuMTI3NDcyODc3NTAyNDQxNF0sIFsxNjYzOTIyNjA2LjEzODc3NDIsIDE1MzcyLCAxLjE3NTM3ODkxODY0Nzc2NjFdLCBbMTY2MzkyMjYwNi4zMjAwNzQzLCAxNTM5MCwgMS4xNDgyOTYxMTc3ODI1OTI4XSwgWzE2NjM5MjI2MDYuNDExMzU2NCwgMTUzOTksIDEuMTY4NjQyOTk3NzQxNjk5Ml0sIFsxNjYzOTIyNjA2LjUwMjY5NiwgMTU0MDgsIDEuMTkxMjI0OTMyNjcwNTkzM10sIFsxNjYzOTIyNjA2LjU5MjE3NCwgMTU0MTcsIDEuMTQ4MTIyMDcyMjE5ODQ4Nl0sIFsxNjYzOTIyNjA3LjEzMTAzMzcsIDE1NDcxLCAxLjE2MzgwODM0NTc5NDY3NzddLCBbMTY2MzkyMjYwNy41OTM4ODg1LCAxNTUwNywgMS4xNTgzNjUyNDk2MzM3ODldLCBbMTY2MzkyMjYwNy43MDUxMzQsIDE1NTE2LCAxLjE0MzMzMjAwNDU0NzExOTFdLCBbMTY2MzkyMjYwNy44MTI5MjA4LCAxNTUyNSwgMS4xMTk2NTgzNTA5NDQ1MTldLCBbMTY2MzkyMjYwNy45MDMzMTYsIDE1NTM0LCAxLjE2NzM0MjU0MzYwMTk4OTddLCBbMTY2MzkyMjYwOC40MjUyODQ0LCAxNTU3OSwgMS4xODg1MTM2MzY1ODkwNTAzXSwgWzE2NjM5MjI2MDkuMjc3MDUwNywgMTU2NTEsIDEuMTM0MTMxNjY5OTk4MTY5XSwgWzE2NjM5MjI2MDkuMzYzMDU3NiwgMTU2NjAsIDEuMTMxOTIxNjQ4OTc5MTg3XSwgWzE2NjM5MjI2MDkuNzM0MTc5NywgMTU2OTYsIDEuMjQ0NzgzNjM5OTA3ODM3XSwgWzE2NjM5MjI2MDkuOTEwNjEzMywgMTU3MTQsIDEuMTg3ODEwNTQwMTk5Mjc5OF0sIFsxNjYzOTIyNjEwLjE3MDAyODIsIDE1NzQxLCAxLjE2NDQyOTA2ODU2NTM2ODddLCBbMTY2MzkyMjYxMC4zNDY4OTQ1LCAxNTc1OSwgMS4xNjc0MjM2MDU5MTg4ODQzXSwgWzE2NjM5MjI2MTAuNjEyMDYzLCAxNTc4NiwgMS4xMDQ0ODcwNjE1MDA1NDkzXSwgWzE2NjM5MjI2MTAuNzA0OTMxLCAxNTc5NSwgMS4xNDI1OTMwMjYxNjExOTM4XSwgWzE2NjM5MjI2MTEuNDE2MDQ0NywgMTU4NjcsIDEuMTE5NTE4NzU2ODY2NDU1XSwgWzE2NjM5MjI2MTEuNTA1ODU0NiwgMTU4NzYsIDEuMTI0Nzg3ODA3NDY0NTk5Nl0sIFsxNjYzOTIyNjExLjY4ODQ5OTUsIDE1ODk0LCAxLjE4ODE0NDIwNzAwMDczMjRdLCBbMTY2MzkyMjYxMi43NzU0OTgyLCAxNTk4NCwgMS4xNjE3MTg3MjYxNTgxNDJdLCBbMTY2MzkyMjYxMy4wNjg5MDM0LCAxNjAwMiwgMS4yMTUyNDMxMDExMTk5OTUxXSwgWzE2NjM5MjI2MTMuMzc3MzE4OSwgMTYwMjksIDEuMTA2ODk2OTk2NDk4MTA4XSwgWzE2NjM5MjI2MTMuNzg4ODg4NywgMTYwNjUsIDEuMTI5ODM3Mjc0NTUxMzkxNl0sIFsxNjYzOTIyNjEzLjg4MDcxMDEsIDE2MDc0LCAxLjIzNTM5MjkyODEyMzQ3NDFdLCBbMTY2MzkyMjYxMy45NzE0MDkzLCAxNjA4MywgMS4xNzc3NjY3OTk5MjY3NTc4XSwgWzE2NjM5MjI2MTQuNDY3NzgxLCAxNjExMCwgMS4xMjYwNTUyNDA2MzExMDM1XSwgWzE2NjM5MjI2MTQuNzQ5ODI3MSwgMTYxMzcsIDEuMTUxMDA2MzQwOTgwNTI5OF0sIFsxNjYzOTIyNjE0Ljk0MTg3MzYsIDE2MTU1LCAxLjEzODY3NTQ1MTI3ODY4NjVdLCBbMTY2MzkyMjYxNS4xMzc5MTYzLCAxNjE3MywgMS4xNDQ5ODU0MzczOTMxODg1XSwgWzE2NjM5MjI2MTUuNTA3MDE3NiwgMTYyMDksIDEuMTMwOTIxNDgzMDM5ODU2XSwgWzE2NjM5MjI2MTUuNjkxNTkyMiwgMTYyMjcsIDEuMTIyMDE0NDAzMzQzMjAwN10sIFsxNjYzOTIyNjE2LjI2MTY3NTYsIDE2MjgxLCAxLjEzODM1MDYwNTk2NDY2MDZdLCBbMTY2MzkyMjYxNi40NDYzMDQzLCAxNjI5OSwgMS4yMTMwNDYwNzM5MTM1NzQyXSwgWzE2NjM5MjI2MTcuMjc0MTEyNSwgMTYzODAsIDEuMTIzMDEwOTkzMDAzODQ1Ml0sIFsxNjYzOTIyNjE3LjY1MjY3NywgMTY0MTYsIDEuMTE4MzMxNTUxNTUxODE4OF0sIFsxNjYzOTIyNjE3LjkyMTIyNiwgMTY0NDMsIDEuMTMwOTg5MTkzOTE2MzIwOF0sIFsxNjYzOTIyNjE4LjAxMTI1MzQsIDE2NDUyLCAxLjE0NDYxNzY3NjczNDkyNDNdLCBbMTY2MzkyMjYxOC4xOTc3NzgyLCAxNjQ3MCwgMS4xNzI5Nzg1MjAzOTMzNzE2XSwgWzE2NjM5MjI2MTguMjkxOTU0OCwgMTY0NzksIDEuMjAxOTEwNzM0MTc2NjM1N10sIFsxNjYzOTIyNjE4LjQ3OTY5MiwgMTY0OTcsIDEuMjc3NTc1OTY5Njk2MDQ1XSwgWzE2NjM5MjI2MTguNTY5MDY4NCwgMTY1MDYsIDEuMTc3MzI4MTA5NzQxMjExXSwgWzE2NjM5MjI2MTguODQxMzY1MywgMTY1MzMsIDEuMjAxNjk2Mzk1ODc0MDIzNF0sIFsxNjYzOTIyNjE5LjAzODgxODgsIDE2NTUxLCAxLjEyNTE3NDg4MDAyNzc3MV0sIFsxNjYzOTIyNjE5LjY2NzQyNywgMTY2MTQsIDEuMTM5MTMyNjE4OTA0MTEzOF0sIFsxNjYzOTIyNjE5Ljc2MjMzMjQsIDE2NjIzLCAxLjEwNjQyODc0MjQwODc1MjRdLCBbMTY2MzkyMjYxOS44NTM0NjcyLCAxNjYzMiwgMS4xMzMyMTU2NjU4MTcyNjA3XSwgWzE2NjM5MjI2MTkuOTQ3OTQ0NiwgMTY2NDEsIDEuMTUzMDYxMjcwNzEzODA2Ml0sIFsxNjYzOTIyNjIwLjIyNzE2LCAxNjY2OCwgMS4xNDY4NDQ1MDYyNjM3MzNdLCBbMTY2MzkyMjYyMS4wNjM2NjQ3LCAxNjc0OSwgMS4xMzkyMzY2ODg2MTM4OTE2XSwgWzE2NjM5MjI2MjEuNTQ3Njc2LCAxNjc5NCwgMS4wOTk4MTU4NDU0ODk1MDJdLCBbMTY2MzkyMjYyMS42NDc3NjQ0LCAxNjgwMywgMS4xMDkxNDMzNzYzNTA0MDI4XSwgWzE2NjM5MjI2MjEuNzMzNjY0NSwgMTY4MTIsIDEuMTY0Mzk2MTY2ODAxNDUyNl0sIFsxNjYzOTIyNjIyLjMwOTc1MDMsIDE2ODQ4LCAxLjEzNTc1NzIwNzg3MDQ4MzRdLCBbMTY2MzkyMjYyMi4zOTg4NzA1LCAxNjg1NywgMS4xNDAyMjk0NjM1NzcyNzA1XSwgWzE2NjM5MjI2MjIuNTY4MDcxNCwgMTY4NzUsIDEuMTA4ODk4MTYyODQxNzk2OV0sIFsxNjYzOTIyNjIyLjg3MjAyMiwgMTY5MDIsIDEuMTQ0MjU3MzA3MDUyNjEyM10sIFsxNjYzOTIyNjIzLjE4NDYwNTYsIDE2OTI5LCAxLjE0NTM3OTc4MTcyMzAyMjVdLCBbMTY2MzkyMjYyMy40NjM4MzgsIDE2OTU2LCAxLjE0OTM2MjgwMjUwNTQ5MzJdLCBbMTY2MzkyMjYyMy41NDc5MDgzLCAxNjk2NSwgMS4yMjQxNjEyNjcyODA1Nzg2XSwgWzE2NjM5MjI2MjMuNzMxNzc4NCwgMTY5ODMsIDEuMjM5ODAwMjE0NzY3NDU2XSwgWzE2NjM5MjI2MjMuOTIyNTY4OCwgMTcwMDEsIDEuMTI3NTMxODg2MTAwNzY5XSwgWzE2NjM5MjI2MjQuMTAyODQ5NSwgMTcwMTksIDEuMTIwOTAxMzQ2MjA2NjY1XSwgWzE2NjM5MjI2MjQuNTYxNTEzNCwgMTcwNjQsIDEuMTMwNDA0MzUzMTQxNzg0N10sIFsxNjYzOTIyNjI0Ljk3Mzk4OTUsIDE3MTAwLCAxLjExNjQ5NDc3NDgxODQyMDRdLCBbMTY2MzkyMjYyNS4zMTIxMDYsIDE3MTI3LCAxLjExNTcyNjk0Nzc4NDQyMzhdLCBbMTY2MzkyMjYyNS45MjgwOTMyLCAxNzE4MSwgMS4xNzc4NzE1ODQ4OTIyNzNdLCBbMTY2MzkyMjYyNi4wNDg2NjEsIDE3MTkwLCAxLjE3MTg2MjAwNjE4NzQzOV0sIFsxNjYzOTIyNjI2LjE1MjA4ODYsIDE3MTk5LCAxLjEzNzA0MDEzODI0NDYyOV0sIFsxNjYzOTIyNjI2LjQ2NDA1ODYsIDE3MjI2LCAxLjE0MDQwODUxNTkzMDE3NThdLCBbMTY2MzkyMjYyNi45MzkwMTM3LCAxNzI3MSwgMS4xNTQ4OTMxNTk4NjYzMzNdLCBbMTY2MzkyMjYyNy40ODkyODcsIDE3MzI1LCAxLjEyNzY5NTA4MzYxODE2NF0sIFsxNjYzOTIyNjI3LjU3Nzc2OTMsIDE3MzM0LCAxLjEyODk4ODk4MTI0Njk0ODJdLCBbMTY2MzkyMjYyNy42NzA0Njc5LCAxNzM0MywgMS4xNDk3NzE5Mjg3ODcyMzE0XSwgWzE2NjM5MjI2MjguMDE4MDEwNCwgMTczNzAsIDEuMTEzNzA3NTQyNDE5NDMzNl0sIFsxNjYzOTIyNjI4LjI5OTk3MjUsIDE3Mzk3LCAxLjIzMDQ2OTQ2NTI1NTczNzNdLCBbMTY2MzkyMjYyOC41NzQxNTkxLCAxNzQyNCwgMS4xMzc2MTg0MjI1MDgyMzk3XSwgWzE2NjM5MjI2MjguNjY1MjI5LCAxNzQzMywgMS4xNDUwMDI2MDM1MzA4ODM4XSwgWzE2NjM5MjI2MjkuMDI2ODAzNSwgMTc0NjksIDEuMTQyMjM0MzI1NDA4OTM1NV0sIFsxNjYzOTIyNjI5LjEyMDc4NTUsIDE3NDc4LCAxLjEyMTIxNDg2NjYzODE4MzZdLCBbMTY2MzkyMjYyOS4yMTIyNzQsIDE3NDg3LCAxLjE0MjE3OTk2NTk3MjkwMDRdLCBbMTY2MzkyMjYyOS41NDg5MDg3LCAxNzUxNCwgMS4xNDE0Mjk3ODE5MTM3NTczXSwgWzE2NjM5MjI2MjkuNzQ0MTMyLCAxNzUzMiwgMS4yMDU1MjUzOTgyNTQzOTQ1XSwgWzE2NjM5MjI2MzAuMDQ5ODY5NSwgMTc1NTksIDEuMTMxNTM4ODY3OTUwNDM5NV0sIFsxNjYzOTIyNjMwLjMyNzEyMjcsIDE3NTg2LCAxLjEwNzYzMTQ0NDkzMTAzMDNdLCBbMTY2MzkyMjYzMC44MDU2MjY0LCAxNzYxMywgMS4xNDk0Njk5NzE2NTY3OTkzXSwgWzE2NjM5MjI2MzEuMjY0NjA5NiwgMTc2NDksIDEuMTMxMjIwODE3NTY1OTE4XSwgWzE2NjM5MjI2MzEuMzczMjYzOCwgMTc2NTgsIDEuMTc1NzI4MjAxODY2MTVdLCBbMTY2MzkyMjYzMS40ODY0NjEsIDE3NjY3LCAxLjE2NTg4ODQyODY4ODA0OTNdLCBbMTY2MzkyMjYzMS41OTY2ODksIDE3Njc2LCAxLjE0NDU3MDExMjIyODM5MzZdLCBbMTY2MzkyMjYzMS43MTA2ODc2LCAxNzY4NSwgMS4xNjQ2OTAyNTYxMTg3NzQ0XSwgWzE2NjM5MjI2MzEuODg3MDM0MiwgMTc3MDMsIDEuMTI1Njg0NzM4MTU5MTc5N10sIFsxNjYzOTIyNjMxLjk5MDM0ODgsIDE3NzEyLCAxLjEyNTk5NTI3ODM1ODQ1OTVdLCBbMTY2MzkyMjYzMi4wNzQ1NzczLCAxNzcyMSwgMS4xMTQ4MDE2NDUyNzg5MzA3XSwgWzE2NjM5MjI2MzIuOTkwMTEzLCAxNzgwMiwgMS4xMjIzMjExMjg4NDUyMTQ4XSwgWzE2NjM5MjI2MzMuMjE3OTQxLCAxNzgyMCwgMS4xNDM1MjUzNjIwMTQ3NzA1XSwgWzE2NjM5MjI2MzMuMzM5OTQzNiwgMTc4MjksIDEuMTE1MjMyOTQ0NDg4NTI1NF0sIFsxNjYzOTIyNjMzLjQ2MDQxMTgsIDE3ODM4LCAxLjEzMzk0ODgwMjk0Nzk5OF0sIFsxNjYzOTIyNjMzLjgxNDIyOTcsIDE3ODc0LCAxLjEzMzc2NzEyNzk5MDcyMjddLCBbMTY2MzkyMjYzNC4wMDY1Mzc0LCAxNzg5MiwgMS4xMzM1MzcxNzMyNzExNzkyXSwgWzE2NjM5MjI2MzQuMDkzMTYxLCAxNzkwMSwgMS4xMDE3MTI0NjUyODYyNTQ5XSwgWzE2NjM5MjI2MzQuMzUxNzUyLCAxNzkyOCwgMS4xOTIxODg3Mzk3NzY2MTEzXSwgWzE2NjM5MjI2MzQuNDM3MTA0MiwgMTc5MzcsIDEuMTI3OTgzMjEyNDcxMDA4M10sIFsxNjYzOTIyNjM2LjgzODk1ODUsIDE4MTUzLCAxLjE0NTE5MzY5NjAyMjAzMzddLCBbMTY2MzkyMjYzNi45NDI3Mzk1LCAxODE2MiwgMS4xMTYxNTA5NzUyMjczNTZdLCBbMTY2MzkyMjYzNy4zMTMxODU3LCAxODE5OCwgMS4xMTI0OTk1OTQ2ODg0MTU1XSwgWzE2NjM5MjI2MzcuNDEwNjE5NywgMTgyMDcsIDEuMTg1NTA4ODQ3MjM2NjMzM10sIFsxNjYzOTIyNjM3Ljg4MzAxNjYsIDE4MjQzLCAxLjE2MDk3MTE2NDcwMzM2OTFdLCBbMTY2MzkyMjYzOC4xMDg4ODY1LCAxODI2MSwgMS4xMTMyODU1NDE1MzQ0MjM4XSwgWzE2NjM5MjI2MzguNDEzNDg5LCAxODI4OCwgMS4xMDY4MzYwODA1NTExNDc1XSwgWzE2NjM5MjI2MzguNzczNTkwNiwgMTgzMjQsIDEuMTU0MDE2MTM3MTIzMTA4XSwgWzE2NjM5MjI2MzguODYyNzU2NSwgMTgzMzMsIDEuMTQ1ODUzNzU3ODU4Mjc2NF0sIFsxNjYzOTIyNjM5LjIyMzQxNjgsIDE4MzY5LCAxLjEwNDY1ODg0MjA4Njc5Ml0sIFsxNjYzOTIyNjM5LjY4MDM0NTUsIDE4Mzk2LCAxLjEzOTIzMzcwODM4MTY1MjhdLCBbMTY2MzkyMjY0MC4wNDA1MTY5LCAxODQzMiwgMS4xNjY5MzczNTEyMjY4MDY2XSwgWzE2NjM5MjI2NDAuNjY3MzM4OCwgMTg0OTUsIDEuMTQ5ODAwMTgxMzg4ODU1XSwgWzE2NjM5MjI2NDAuNzU3OTUsIDE4NTA0LCAxLjE4NDA3ODA5NzM0MzQ0NDhdLCBbMTY2MzkyMjY0MC44NDI5Mzg0LCAxODUxMywgMS4xNTI0NDgwNTgxMjgzNTddLCBbMTY2MzkyMjY0MC45MzQ5MywgMTg1MjIsIDEuMjA3NzMwNzcwMTExMDg0XSwgWzE2NjM5MjI2NDEuOTAwMjA4MiwgMTg2MTIsIDEuMTUyMzIxMjE5NDQ0Mjc1XSwgWzE2NjM5MjI2NDEuOTk3NDMyMiwgMTg2MjEsIDEuMTM5Mzk4Njk0MDM4MzkxMV0sIFsxNjYzOTIyNjQyLjE4NDU2NCwgMTg2MzksIDEuMjY2ODczODM2NTE3MzM0XSwgWzE2NjM5MjI2NDIuNTUyNzE3NywgMTg2NzUsIDEuMTU3MDAwMTg0MDU5MTQzXSwgWzE2NjM5MjI2NDMuMDMwMDc3NywgMTg3MjAsIDEuMTUzMTQzODgyNzUxNDY0OF0sIFsxNjYzOTIyNjQzLjUzODY5MjIsIDE4NzY1LCAxLjEwMDIxMzc2NjA5ODAyMjVdLCBbMTY2MzkyMjY0My43MjkwOTUyLCAxODc4MywgMS4xMjE4OTE2MTc3NzQ5NjM0XSwgWzE2NjM5MjI2NDMuODIyNzE3MiwgMTg3OTIsIDEuMTgyNjQ2NzUxNDAzODA4Nl0sIFsxNjYzOTIyNjQ0LjAyNTQxNTcsIDE4ODEwLCAxLjEyNDIzMDM4NDgyNjY2MDJdLCBbMTY2MzkyMjY0NC4xMTM3NTY3LCAxODgxOSwgMS4xNzQ2OTkxODcyNzg3NDc2XSwgWzE2NjM5MjI2NDQuMTk5NjU1NSwgMTg4MjgsIDEuMTEyMDkzNDQ4NjM4OTE2XSwgWzE2NjM5MjI2NDQuNTg4MDk2LCAxODg2NCwgMS4xNTAyMjk2OTI0NTkxMDY0XSwgWzE2NjM5MjI2NDQuNzcwMjE4MSwgMTg4ODIsIDEuMTQyOTY5NzI3NTE2MTc0M10sIFsxNjYzOTIyNjQ0LjkyMTY1NTIsIDE4ODkxLCAxLjEzNDgxODkxMTU1MjQyOTJdLCBbMTY2MzkyMjY0NS4xNTE1NjA4LCAxODkwOSwgMS4xNTQ3ODAwMzAyNTA1NDkzXSwgWzE2NjM5MjI2NDUuNDcwMDQyNywgMTg5MzYsIDEuMTYyMTE4NzkyNTMzODc0NV0sIFsxNjYzOTIyNjQ1LjcyOTY0ODgsIDE4OTU0LCAxLjE0MTgyMTM4NDQyOTkzMTZdLCBbMTY2MzkyMjY0Ni4xMjkwMjk4LCAxODk5MCwgMS4xMjk3OTQyMzk5OTc4NjM4XSwgWzE2NjM5MjI2NDYuMjIzMjI0OSwgMTg5OTksIDEuMTMzMTc2MjA3NTQyNDE5NF0sIFsxNjYzOTIyNjQ2LjY5MTUzMjksIDE5MDM1LCAxLjIxOTMyMjgwMDYzNjI5MTVdLCBbMTY2MzkyMjY0Ni43OTYxNTYsIDE5MDQ0LCAxLjIyMjUwOTI2NDk0NTk4MzldLCBbMTY2MzkyMjY0Ny4xNzgzNzk1LCAxOTA4MCwgMS4yNDk1MTQxMDI5MzU3OTFdLCBbMTY2MzkyMjY0Ny4yNjcwODg0LCAxOTA4OSwgMS4xMzU5NDU1NTg1NDc5NzM2XSwgWzE2NjM5MjI2NDcuNDU1OTI5MywgMTkxMDcsIDEuMTY0NjUzMzAxMjM5MDEzN10sIFsxNjYzOTIyNjQ3LjU2MDUwMzcsIDE5MTE2LCAxLjEyMjc2MjQ0MTYzNTEzMThdLCBbMTY2MzkyMjY0Ny44NjQ4MjUsIDE5MTI1LCAxLjExMTI1OTY5ODg2Nzc5NzldLCBbMTY2MzkyMjY0OC4yMDI3NzgsIDE5MTUyLCAxLjE0OTI4OTYwODAwMTcwOV0sIFsxNjYzOTIyNjQ4Ljk3MjMzNSwgMTkyMTUsIDEuMTQxODY4NDcyMDk5MzA0Ml0sIFsxNjYzOTIyNjQ5LjA2NTg3MiwgMTkyMjQsIDEuMTY0MTY1MjU4NDA3NTkyOF0sIFsxNjYzOTIyNjQ5LjE2NzAyMDMsIDE5MjMzLCAxLjEwMjg4Mjg2MjA5MTA2NDVdLCBbMTY2MzkyMjY0OS40NzI1NTI4LCAxOTI2MCwgMS4xMDc3MzQ1NjA5NjY0OTE3XSwgWzE2NjM5MjI2NDkuODg4OTUyMywgMTkyOTYsIDEuMTQ2MzUwNzQxMzg2NDEzNl0sIFsxNjYzOTIyNjUwLjUyOTA2NywgMTkzNTAsIDEuMDk5OTAwMjQ1NjY2NTA0XSwgWzE2NjM5MjI2NTEuMDY5NjY3NiwgMTkzOTUsIDEuMTgzMDk3NjAwOTM2ODg5Nl0sIFsxNjYzOTIyNjUxLjYxNjIxNzYsIDE5NDQwLCAxLjExMjA0MzYxOTE1NTg4MzhdLCBbMTY2MzkyMjY1MS43MTcxOTQsIDE5NDQ5LCAxLjE2NzU5MjI4NzA2MzU5ODZdLCBbMTY2MzkyMjY1MS44OTk0MjUzLCAxOTQ2NywgMS4xNjA5NTYxNDQzMzI4ODU3XSwgWzE2NjM5MjI2NTIuNTQ4MTMyMiwgMTk1MzAsIDEuMTM4NzgyMDI0MzgzNTQ1XSwgWzE2NjM5MjI2NTMuMTMwNDQsIDE5NTg0LCAxLjExMzE0NzQ5NzE3NzEyNF0sIFsxNjYzOTIyNjUzLjIxNjk3NzgsIDE5NTkzLCAxLjEyNTcwNzI2ODcxNDkwNDhdLCBbMTY2MzkyMjY1My45NjkxNDYsIDE5NjU2LCAxLjE4Mzg2ODc2NTgzMDk5MzddLCBbMTY2MzkyMjY1NC4xNjIxMzU4LCAxOTY3NCwgMS4xMjQ4MDY0MDQxMTM3Njk1XSwgWzE2NjM5MjI2NTQuMzM5ODQyOCwgMTk2OTIsIDEuMTI1Njg1MDk1Nzg3MDQ4M10sIFsxNjYzOTIyNjU0LjUxOTU2NDYsIDE5NzEwLCAxLjEzMzQ1NzE4MzgzNzg5MDZdLCBbMTY2MzkyMjY1NC45NzE0MzEsIDE5NzU1LCAxLjEzMTU5NTI1Mzk0NDM5N10sIFsxNjYzOTIyNjU1LjUxNTA5MTIsIDE5ODAwLCAxLjEyMDk1MTI5NDg5ODk4NjhdLCBbMTY2MzkyMjY1NS42OTUwOTQ4LCAxOTgxOCwgMS4xMjg4NDc5NTY2NTc0MDk3XSwgWzE2NjM5MjI2NTUuNzk2ODU3LCAxOTgyNywgMS4xMDIzNTY5MTA3MDU1NjY0XSwgWzE2NjM5MjI2NTUuODg1NTc3NCwgMTk4MzYsIDEuMTQ0ODM2MTg3MzYyNjcxXSwgWzE2NjM5MjI2NTYuNDc1ODg0LCAxOTg5MCwgMS4xMzg5ODY3MDY3MzM3MDM2XSwgWzE2NjM5MjI2NTYuODk1NzczNiwgMTk5MDgsIDEuMTMzNTAyNDgzMzY3OTJdLCBbMTY2MzkyMjY1Ni45OTczNDM1LCAxOTkxNywgMS4xMTY1MTU4NzQ4NjI2NzFdLCBbMTY2MzkyMjY1Ny4xOTY4MDMzLCAxOTkzNSwgMS4xMDM2OTAxNDczOTk5MDIzXSwgWzE2NjM5MjI2NTcuMjg0NDExLCAxOTk0NCwgMS4xNTQ4NTI5ODYzMzU3NTQ0XSwgWzE2NjM5MjI2NTcuODA3OTEyLCAxOTk5OCwgMS4yMDg1MzcyMjA5NTQ4OTVdLCBbMTY2MzkyMjY1OC4xNzA4MTU1LCAyMDAzNCwgMS4xNjM3NDQ4MDcyNDMzNDcyXSwgWzE2NjM5MjI2NTguMzUyMTI4LCAyMDA1MiwgMS4xMDk2MTEzOTIwMjExNzkyXSwgWzE2NjM5MjI2NTkuMTc1MzczNiwgMjAxMzMsIDEuMTQ4MDY0MTM2NTA1MTI3XSwgWzE2NjM5MjI2NTkuNDYwMzc2NSwgMjAxNjAsIDEuMTEzNDExMzA3MzM0OV0sIFsxNjYzOTIyNjU5LjczMTQ0MzYsIDIwMTg3LCAxLjEyMjA2MjgwMjMxNDc1ODNdLCBbMTY2MzkyMjY1OS45MTE4MDQsIDIwMjA1LCAxLjEwNjc4MjkxMzIwODAwNzhdLCBbMTY2MzkyMjY2MC44MTM3MDEsIDIwMjk1LCAxLjE2NTg2NzQ0Nzg1MzA4ODRdLCBbMTY2MzkyMjY2MS4wODMxNywgMjAzMjIsIDEuMTgzNTEwNjYxMTI1MTgzXSwgWzE2NjM5MjI2NjEuMTcxNzY5OSwgMjAzMzEsIDEuMTk5ODQ2ODYzNzQ2NjQzXSwgWzE2NjM5MjI2NjEuNzI1MjIxMiwgMjAzODUsIDEuMTczNjUzMzY0MTgxNTE4Nl0sIFsxNjYzOTIyNjYyLjAyMjYwMjgsIDIwNDEyLCAxLjE1OTU0MzE1NjYyMzg0MDNdLCBbMTY2MzkyMjY2Mi44NDEyMDU4LCAyMDQ5MywgMS4xMjIyNzU5NDg1MjQ0NzVdLCBbMTY2MzkyMjY2My4xOTg4MDYsIDIwNTI5LCAxLjE0MDEzNjcxODc1XSwgWzE2NjM5MjI2NjMuMjg1MzY0NiwgMjA1MzgsIDEuMTIxMjY0ODE1MzMwNTA1NF0sIFsxNjYzOTIyNjYzLjgzNzY1OSwgMjA1NzQsIDEuMTU4NDA1NzgwNzkyMjM2M10sIFsxNjYzOTIyNjY0LjUyOTkyOCwgMjA2MzcsIDEuMTE2MzcwNDM5NTI5NDE5XSwgWzE2NjM5MjI2NjQuNjUxODYwNSwgMjA2NDYsIDEuMTM0MjA4NDQwNzgwNjM5Nl0sIFsxNjYzOTIyNjY1LjYwOTQ2NSwgMjA3MDksIDEuMTE5MzEzNDc4NDY5ODQ4Nl0sIFsxNjYzOTIyNjY2LjA0OTA2MTgsIDIwNzU0LCAxLjEzMDMwNTg4NjI2ODYxNTddLCBbMTY2MzkyMjY2Ni4xMzY1ODkzLCAyMDc2MywgMS4xNTUyMzczMTcwODUyNjYxXSwgWzE2NjM5MjI2NjYuMjI2MzE0OCwgMjA3NzIsIDEuMTU2Nzg1NzI2NTQ3MjQxMl0sIFsxNjYzOTIyNjY2LjQxODM0NjYsIDIwNzkwLCAxLjExMzI5NDk1OTA2ODI5ODNdLCBbMTY2MzkyMjY2Ni41OTY3OTU4LCAyMDgwOCwgMS4xMTM4NzMyNDMzMzE5MDkyXSwgWzE2NjM5MjI2NjYuOTUwMTc3MiwgMjA4NDQsIDEuMDkzODg0ODI1NzA2NDgyXSwgWzE2NjM5MjI2NjcuMDUzMjMzNCwgMjA4NTMsIDEuMTI3Mjk5MDcwMzU4Mjc2NF0sIFsxNjYzOTIyNjY3LjMxODkzNTQsIDIwODgwLCAxLjEyMzYyODYxNjMzMzAwNzhdLCBbMTY2MzkyMjY2Ny44MDg3OTU1LCAyMDkyNSwgMS4xMDUxNDYwNTA0NTMxODZdLCBbMTY2MzkyMjY2OC4zMjY5ODk0LCAyMDk3OSwgMS4xNTIwNDc4NzI1NDMzMzVdLCBbMTY2MzkyMjY2OC41MDY1NTE3LCAyMDk5NywgMS4xMzUwNjg0MTY1OTU0NTldLCBbMTY2MzkyMjY2OC43ODYwNTAzLCAyMTAyNCwgMS4xMjMxODEyMjM4NjkzMjM3XSwgWzE2NjM5MjI2NjkuMjQ0NTI1NywgMjEwNjksIDEuMjc0NDUxNjEzNDI2MjA4NV0sIFsxNjYzOTIyNjY5LjQ5ODkxMTEsIDIxMDg3LCAxLjEyNzgxMTY3MDMwMzM0NDddLCBbMTY2MzkyMjY2OS42NDA1NjczLCAyMTA5NiwgMS4xNjA1MTIyMDg5Mzg1OTg2XSwgWzE2NjM5MjI2NjkuNzM1MjU3NiwgMjExMDUsIDEuMDgyMDk4MjQ1NjIwNzI3NV0sIFsxNjYzOTIyNjY5LjkyNzMyOSwgMjExMjMsIDEuMTAwMzQ2MDg4NDA5NDIzOF0sIFsxNjYzOTIyNjcwLjAxMzUyOTgsIDIxMTMyLCAxLjA5NTI0NTgzODE2NTI4MzJdLCBbMTY2MzkyMjY3MC4zNzEyOTc0LCAyMTE2OCwgMS4xNjIxNTY3MDEwODc5NTE3XSwgWzE2NjM5MjI2NzAuNDU5ODA0LCAyMTE3NywgMS4xNjQ3NTg2ODIyNTA5NzY2XSwgWzE2NjM5MjI2NzAuNTQ3ODk4OCwgMjExODYsIDEuMTcxMTQ4ODk2MjE3MzQ2Ml0sIFsxNjYzOTIyNjcxLjA0ODU4OSwgMjEyMjIsIDEuMTMwMTYyOTU0MzMwNDQ0M10sIFsxNjYzOTIyNjcxLjI5OTkxNTMsIDIxMjQwLCAxLjE0MjMxNzA1NjY1NTg4MzhdLCBbMTY2MzkyMjY3MS44MzkwMzQ2LCAyMTI5NCwgMS4wOTQ0NTg1ODAwMTcwODk4XSwgWzE2NjM5MjI2NzIuMjA2MjM3OCwgMjEzMjEsIDEuMTc3MzI1MTI5NTA4OTcyMl0sIFsxNjYzOTIyNjcyLjUwNTg3NjMsIDIxMzQ4LCAxLjEwODcxODYzMzY1MTczMzRdLCBbMTY2MzkyMjY3Mi42OTE3NTMxLCAyMTM2NiwgMS4wOTA0MDM0Mzc2MTQ0NDFdLCBbMTY2MzkyMjY3My4yNjQ0MjEyLCAyMTQxMSwgMS4xNTgxNjk3NDYzOTg5MjU4XSwgWzE2NjM5MjI2NzQuMDI4OTg3NiwgMjE0NjUsIDEuMDk5NTE0MjQ1OTg2OTM4NV0sIFsxNjYzOTIyNjc0LjQ4Njc4NDIsIDIxNTEwLCAxLjExNDU4MTcwNDEzOTcwOTVdLCBbMTY2MzkyMjY3NC42NjI2OCwgMjE1MjgsIDEuMTAzNjQ4NDI0MTQ4NTU5Nl0sIFsxNjYzOTIyNjc0LjgzMDk0NiwgMjE1NDYsIDEuMDgxMjM2MTI0MDM4Njk2M10sIFsxNjYzOTIyNjc0LjkxODk4MywgMjE1NTUsIDEuMDk1NTk1ODM2NjM5NDA0M10sIFsxNjYzOTIyNjc1LjAwOTA5MTEsIDIxNTY0LCAxLjA3OTU0MTkyMTYxNTYwMDZdLCBbMTY2MzkyMjY3NS4yMDExNzM1LCAyMTU4MiwgMS4xMzUyOTk4MDE4MjY0NzddLCBbMTY2MzkyMjY3NS4yODY1MjcsIDIxNTkxLCAxLjE3OTAxNDgwMTk3OTA2NV0sIFsxNjYzOTIyNjc2LjI4MzUzNTIsIDIxNjgxLCAxLjE2MDU4ODg2MDUxMTc3OThdLCBbMTY2MzkyMjY3Ni42ODc3MjUsIDIxNzE3LCAxLjEzMjI3Njg5MjY2MjA0ODNdLCBbMTY2MzkyMjY3Ni45NjE0NzkyLCAyMTc0NCwgMS4xMzMzODgwNDI0NDk5NTEyXSwgWzE2NjM5MjI2NzcuNDIzMjE2NiwgMjE3ODAsIDEuMTMzNjA4NTc5NjM1NjIwMV0sIFsxNjYzOTIyNjc4LjM5OTkyMDIsIDIxODYxLCAxLjEwNjI0MDAzNDEwMzM5MzZdLCBbMTY2MzkyMjY3OC42Nzg5NDQ4LCAyMTg4OCwgMS4xMjUzMDI5MTA4MDQ3NDg1XSwgWzE2NjM5MjI2NzkuMTQ0ODAxNiwgMjE5MjQsIDEuMTA5MDU4MDIyNDk5MDg0NV0sIFsxNjYzOTIyNjc5LjIzODI4MDUsIDIxOTMzLCAxLjE3OTUxNjA3NzA0MTYyNl0sIFsxNjYzOTIyNjc5LjUzNzAzOSwgMjE5NjAsIDEuMTE2Nzg5ODE3ODEwMDU4Nl0sIFsxNjYzOTIyNjc5LjcyMjI4NzQsIDIxOTc4LCAxLjEwNzA1ODY0NDI5NDczODhdLCBbMTY2MzkyMjY3OS44MDQzNDM3LCAyMTk4NywgMS4xMTQ1Njg5NDg3NDU3Mjc1XSwgWzE2NjM5MjI2ODAuNDcyOTU0NSwgMjIwNDEsIDEuMTMyMDc1Nzg2NTkwNTc2Ml0sIFsxNjYzOTIyNjgxLjEyMTAxMzYsIDIyMDk1LCAxLjEyMjE0MjY3MjUzODc1NzNdLCBbMTY2MzkyMjY4MS41ODMwNDA1LCAyMjEzMSwgMS4xMjgyNDQyODA4MTUxMjQ1XSwgWzE2NjM5MjI2ODEuOTg1MTk0NywgMjIxNjcsIDEuMTA0MzQ3NDY3NDIyNDg1NF0sIFsxNjYzOTIyNjgyLjE2ODI2MTUsIDIyMTg1LCAxLjIyMDcxNDgwNzUxMDM3Nl0sIFsxNjYzOTIyNjgyLjI3MzI4MTYsIDIyMTk0LCAxLjE2ODg5NTAwNjE3OTgwOTZdLCBbMTY2MzkyMjY4Mi44MDk4OTUzLCAyMjIzMCwgMS4yMTcxMzI5MjU5ODcyNDM3XSwgWzE2NjM5MjI2ODMuMTQyNzI0OCwgMjIyNjYsIDEuMTM3NDkxNDY0NjE0ODY4Ml0sIFsxNjYzOTIyNjgzLjMxNDc3MTcsIDIyMjg0LCAxLjI1OTcyNzgzNTY1NTIxMjRdLCBbMTY2MzkyMjY4My41MDYyODQyLCAyMjMwMiwgMS4xMjgwMjI0MzIzMjcyNzA1XSwgWzE2NjM5MjI2ODQuMTEzODExMywgMjIzNjUsIDEuMTE2MDQwOTQ1MDUzMTAwNl0sIFsxNjYzOTIyNjg0LjIwMDc2NDIsIDIyMzc0LCAxLjExMTA4Njg0NTM5Nzk0OTJdLCBbMTY2MzkyMjY4NC41NzQxNDU4LCAyMjQxMCwgMS4xNDYxNTI5NzMxNzUwNDg4XSwgWzE2NjM5MjI2ODQuOTE2Mzg2MSwgMjI0NDYsIDEuMDk2MTk4Nzk3MjI1OTUyMV0sIFsxNjYzOTIyNjg1LjE2NjMzNDQsIDIyNDczLCAxLjE1ODUwMTUwNTg1MTc0NTZdLCBbMTY2MzkyMjY4NS4zNDcyNTc0LCAyMjQ5MSwgMS4xMzYzNTU1MTkyOTQ3Mzg4XSwgWzE2NjM5MjI2ODUuNDQ0Njk5MywgMjI1MDAsIDEuMTAwNTQ0NjkxMDg1ODE1NF0sIFsxNjYzOTIyNjg1LjU2ODEzNDUsIDIyNTA5LCAxLjEwMzY4NzQwNTU4NjI0MjddLCBbMTY2MzkyMjY4Ni4wMTU2NDAzLCAyMjUzNiwgMS4xMzUzMTgyNzkyNjYzNTc0XSwgWzE2NjM5MjI2ODYuMjkxMjMxLCAyMjU1NCwgMS4xMDkzNzU0NzY4MzcxNTgyXSwgWzE2NjM5MjI2ODYuMzk1Njk4NSwgMjI1NjMsIDEuMTE4NjQ3ODEzNzk2OTk3XSwgWzE2NjM5MjI2ODYuNTg3MDE2LCAyMjU4MSwgMS4xMzcyMjc3NzM2NjYzODE4XSwgWzE2NjM5MjI2ODYuNzcxMjg1NSwgMjI1OTksIDEuMDk5OTc5MTYyMjE2MTg2NV0sIFsxNjYzOTIyNjg3LjA2MzY5NjEsIDIyNjI2LCAxLjExNTkzNzM1MjE4MDQ4MV0sIFsxNjYzOTIyNjg3LjIzMTUzNzgsIDIyNjQ0LCAxLjE1MTMyOTk5NDIwMTY2MDJdLCBbMTY2MzkyMjY4Ny40MDkzNjIzLCAyMjY2MiwgMS4yNzk1MTIwNDc3Njc2MzkyXSwgWzE2NjM5MjI2ODcuNDk2NzU3NSwgMjI2NzEsIDEuMTM2NTA5MDYwODU5NjgwMl0sIFsxNjYzOTIyNjg3LjU4NjIzMzQsIDIyNjgwLCAxLjEzMjI3NDAzMTYzOTA5OTFdLCBbMTY2MzkyMjY4Ny43ODY2NDc2LCAyMjY5OCwgMS4wOTU2MjUyODEzMzM5MjMzXSwgWzE2NjM5MjI2ODcuOTU3MjUxMywgMjI3MTYsIDEuMTA0MTEzMTAxOTU5MjI4NV0sIFsxNjYzOTIyNjg4LjQzNzA1OTIsIDIyNzYxLCAxLjE0NjAxOTU3Nzk4MDA0MTVdLCBbMTY2MzkyMjY4OC42MDgzODMsIDIyNzc5LCAxLjEwODg5ODQwMTI2MDM3Nl0sIFsxNjYzOTIyNjg4LjcwNDgxOSwgMjI3ODgsIDEuMTc4MjI5MDkzNTUxNjM1N10sIFsxNjYzOTIyNjg4Ljg5NzM2MTgsIDIyODA2LCAxLjEyMzk5NTE4NDg5ODM3NjVdLCBbMTY2MzkyMjY4OS4zNTM3NjE3LCAyMjg1MSwgMS4xNTA3ODc4MzAzNTI3ODMyXSwgWzE2NjM5MjI2ODkuNTMwODMzNSwgMjI4NjksIDEuMTE4NjUzMjk3NDI0MzE2NF0sIFsxNjYzOTIyNjg5LjcwMzc4MjgsIDIyODg3LCAxLjEyMTA1MTQzMDcwMjIwOTVdLCBbMTY2MzkyMjY4OS43OTM3ODY4LCAyMjg5NiwgMS4wOTg1ODU3MjQ4MzA2Mjc0XSwgWzE2NjM5MjI2OTEuMDI2NzYsIDIyOTk1LCAxLjE2NjcxNDA3MjIyNzQ3OF0sIFsxNjYzOTIyNjkxLjU2OTk2NTgsIDIzMDQ5LCAxLjEyMTM4NTIxNjcxMjk1MTddLCBbMTY2MzkyMjY5Mi4wMzgzODg1LCAyMzA5NCwgMS4xMjM0MDM0Mjk5ODUwNDY0XSwgWzE2NjM5MjI2OTIuMTM1NzkxMywgMjMxMDMsIDEuMTIyMTUyNjg2MTE5MDc5Nl0sIFsxNjYzOTIyNjkyLjMxNDQyNTcsIDIzMTIxLCAxLjE2NTM2ODkxNDYwNDE4N10sIFsxNjYzOTIyNjkyLjU5MDA3MzYsIDIzMTQ4LCAxLjE1MjU0MzE4NzE0MTQxODVdLCBbMTY2MzkyMjY5Mi45NjUxMzg0LCAyMzE4NCwgMS4xMTE1OTM0ODQ4Nzg1NF0sIFsxNjYzOTIyNjkzLjE1MDg5MjUsIDIzMjAyLCAxLjExMjU3NTQxMTc5NjU2OThdLCBbMTY2MzkyMjY5My4yNDMyODAyLCAyMzIxMSwgMS4xNTU1NDYxODgzNTQ0OTIyXSwgWzE2NjM5MjI2OTMuNjg5OTI5NSwgMjMyNTYsIDEuMTMzNzQ1Nzg5NTI3ODkzXSwgWzE2NjM5MjI2OTMuNzc0NDk3NywgMjMyNjUsIDEuMTQxODQ1NDY0NzA2NDIxXSwgWzE2NjM5MjI2OTMuODU1Njg0OCwgMjMyNzQsIDEuMTU0Mjc4Mzk3NTYwMTE5Nl0sIFsxNjYzOTIyNjk0LjEzNjgzNCwgMjMzMDEsIDEuMTE5MjA5MDUxMTMyMjAyMV0sIFsxNjYzOTIyNjk0LjIxODQyOTMsIDIzMzEwLCAxLjEzMTk4OTAwMjIyNzc4MzJdLCBbMTY2MzkyMjY5NC40ODA0NTA5LCAyMzMzNywgMS4xNTUyMzEyMzc0MTE0OTldLCBbMTY2MzkyMjY5NC45OTg5MTMzLCAyMzM5MSwgMS4xNzA4OTkzOTExNzQzMTY0XSwgWzE2NjM5MjI2OTUuMDg3OTExNiwgMjM0MDAsIDEuMDc5MTYzNzg5NzQ5MTQ1NV0sIFsxNjYzOTIyNjk1LjI2ODk0MTIsIDIzNDE4LCAxLjE0MjQ4ODQ3OTYxNDI1NzhdLCBbMTY2MzkyMjY5NS40NDQ5Nzg3LCAyMzQzNiwgMS4xODEwMTkwNjc3NjQyODIyXSwgWzE2NjM5MjI2OTUuNjE1MjQxMywgMjM0NTQsIDEuMDk0MDgwNjg2NTY5MjEzOV0sIFsxNjYzOTIyNjk1LjcwNzk5ODUsIDIzNDYzLCAxLjEyODY3ODMyMTgzODM3OV0sIFsxNjYzOTIyNjk2Ljc3Mzk0OCwgMjM1NjIsIDEuMTA1NDYyMDc0Mjc5Nzg1Ml0sIFsxNjYzOTIyNjk2LjkwMTc3MTgsIDIzNTcxLCAxLjEyNzE0NjEyNDgzOTc4MjddLCBbMTY2MzkyMjY5Ny4wNDY3NjgyLCAyMzU4MCwgMS4wOTg1ODczOTM3NjA2ODEyXSwgWzE2NjM5MjI2OTcuMzgwNTI0LCAyMzYwNywgMS4xMTE5MjY3OTQwNTIxMjRdLCBbMTY2MzkyMjY5Ny45MjAzNCwgMjM2NTIsIDEuMTczMDA5NzUzMjI3MjMzOV0sIFsxNjYzOTIyNjk4LjAwOTg2NTMsIDIzNjYxLCAxLjExNTk5OTkzNzA1NzQ5NTFdLCBbMTY2MzkyMjY5OC42NzUxMDgsIDIzNzA2LCAxLjA5MzM2MjMzMTM5MDM4MDldLCBbMTY2MzkyMjY5OC43NjI2NjkzLCAyMzcxNSwgMS4xMDM3OTEyMzY4Nzc0NDE0XSwgWzE2NjM5MjI2OTguODQ3MjYyOSwgMjM3MjQsIDEuMTA1MzM3MDIzNzM1MDQ2NF0sIFsxNjYzOTIyNjk4LjkzMTAwNTUsIDIzNzMzLCAxLjEyNDk5MzU2MjY5ODM2NDNdLCBbMTY2MzkyMjY5OS4xMDQ1MzgsIDIzNzUxLCAxLjA5MjEzNDcxNDEyNjU4N10sIFsxNjYzOTIyNjk5LjE5MzI1NDcsIDIzNzYwLCAxLjExNjMxOTE3OTUzNDkxMl0sIFsxNjYzOTIyNjk5LjI4NzkxOCwgMjM3NjksIDEuMTIxMzM4OTYzNTA4NjA2XSwgWzE2NjM5MjI2OTkuNTY2OTk1LCAyMzc5NiwgMS4xNjE0ODk2MDU5MDM2MjU1XSwgWzE2NjM5MjI3MDAuNTYzMDAxNiwgMjM4OTUsIDEuMjAzMTEzNTU1OTA4MjAzMV0sIFsxNjYzOTIyNzAxLjA5Njg3NSwgMjM5NDksIDEuMTE1NjkwMzUwNTMyNTMxN10sIFsxNjYzOTIyNzAxLjMxMDY5NDcsIDIzOTY3LCAxLjE2NjI4NjcwNjkyNDQzODVdLCBbMTY2MzkyMjcwMS44MDM3NiwgMjQwMTIsIDEuMTAxMzY2NzU4MzQ2NTU3Nl0sIFsxNjYzOTIyNzAyLjA3MTE2MDMsIDI0MDM5LCAxLjE5MDc0ODA5NTUxMjM5MDFdLCBbMTY2MzkyMjcwMi4xNjM1MjQ5LCAyNDA0OCwgMS4xMDEzMzQ4MTAyNTY5NThdLCBbMTY2MzkyMjcwMi4yNTc5NDAzLCAyNDA1NywgMS4xMDYxMDExNTUyODEwNjddLCBbMTY2MzkyMjcwMi40Mzc2OTE3LCAyNDA3NSwgMS4wOTIwMTI2NDM4MTQwODddLCBbMTY2MzkyMjcwMy4wOTc1NTU0LCAyNDEzOCwgMS4xMjI2MzM1NzYzOTMxMjc0XSwgWzE2NjM5MjI3MDMuMzY0MDU3MywgMjQxNjUsIDEuMTM3MDI4NTc0OTQzNTQyNV0sIFsxNjYzOTIyNzAzLjU2Nzg4NDQsIDI0MTgzLCAxLjE5ODcwNDcxOTU0MzQ1N10sIFsxNjYzOTIyNzAzLjg3MDAzMDIsIDI0MjEwLCAxLjEwODE1OTU0MjA4Mzc0MDJdLCBbMTY2MzkyMjcwNC4xOTM4NDk4LCAyNDIyOCwgMS4xMDgxMzExNzAyNzI4MjcxXSwgWzE2NjM5MjI3MDQuNDQxOTA0LCAyNDI0NiwgMS4xMzkwMjMxODQ3NzYzMDYyXSwgWzE2NjM5MjI3MDUuMTkyNTUyLCAyNDMxOCwgMS4xMjQwMDEzODM3ODE0MzNdLCBbMTY2MzkyMjcwNS4yNzc5NjQ4LCAyNDMyNywgMS4xMzE1MDIzODk5MDc4MzddLCBbMTY2MzkyMjcwNS4zNjg5Mjk0LCAyNDMzNiwgMS4xMTYzNDA3NTY0MTYzMjA4XSwgWzE2NjM5MjI3MDUuNDc0NDEzLCAyNDM0NSwgMS4xMTcwMzE4MTI2Njc4NDY3XSwgWzE2NjM5MjI3MDUuNjQ4MTYyNiwgMjQzNjMsIDEuMTAyMjIzNjM0NzE5ODQ4Nl0sIFsxNjYzOTIyNzA1LjgzODY3MTcsIDI0MzgxLCAxLjExNjY4NTM5MDQ3MjQxMl0sIFsxNjYzOTIyNzA1LjkzMjMwNzUsIDI0MzkwLCAxLjEyMTg2MzM2NTE3MzMzOThdLCBbMTY2MzkyMjcwNi4wMzEyMDY2LCAyNDM5OSwgMS4wODM2MDEyMzYzNDMzODM4XSwgWzE2NjM5MjI3MDYuMjQ0NzI3MSwgMjQ0MTcsIDEuMDgwNDYwMzA5OTgyMjk5OF0sIFsxNjYzOTIyNzA2LjMzMzI2MDMsIDI0NDI2LCAxLjEwOTE4NDg2MTE4MzE2NjVdLCBbMTY2MzkyMjcwNi40MzQ0ODg1LCAyNDQzNSwgMS4xMDkwNTUzOTk4OTQ3MTQ0XSwgWzE2NjM5MjI3MDYuODk1OTgyNywgMjQ0NjIsIDEuMTAyNjkwOTM1MTM0ODg3N10sIFsxNjYzOTIyNzA2Ljk4ODg3NCwgMjQ0NzEsIDEuMTE3OTAzMjMyNTc0NDYzXSwgWzE2NjM5MjI3MDcuMDg0OTQ5NywgMjQ0ODAsIDEuMTE0MTU2MTI2OTc2MDEzMl0sIFsxNjYzOTIyNzA3LjU0MjM5MywgMjQ1MjUsIDEuMTYzMjc3NjI2MDM3NTk3N10sIFsxNjYzOTIyNzA3LjYzNTE0MjMsIDI0NTM0LCAxLjEyMzg0NTIxOTYxMjEyMTZdLCBbMTY2MzkyMjcwNy44MjIxOTkzLCAyNDU1MiwgMS4wODA5NTQwNzQ4NTk2MTkxXSwgWzE2NjM5MjI3MDguMDA2MTI0LCAyNDU3MCwgMS4xMDk1MDI1NTM5Mzk4MTkzXSwgWzE2NjM5MjI3MDguMTAxNzMwMywgMjQ1NzksIDEuMDk0Mjk2MjE2OTY0NzIxN10sIFsxNjYzOTIyNzA4LjQ2NTkxMDQsIDI0NjE1LCAxLjA5OTU5NjE0Mjc2ODg1OTldLCBbMTY2MzkyMjcwOC41NTUzODA2LCAyNDYyNCwgMS4xMDIzODkwOTcyMTM3NDUxXSwgWzE2NjM5MjI3MDguOTI1NzQyNiwgMjQ2NjAsIDEuMTA5ODI0Mjk5ODEyMzE3XSwgWzE2NjM5MjI3MDkuMDE0MTA0NiwgMjQ2NjksIDEuMjI3OTMzNjQ1MjQ4NDEzXSwgWzE2NjM5MjI3MDkuMTA2MzMzNSwgMjQ2NzgsIDEuMzA5MTAzMTMxMjk0MjUwNV0sIFsxNjYzOTIyNzA5LjIwMzg4OTYsIDI0Njg3LCAxLjE2MDQwOTIxMjExMjQyNjhdLCBbMTY2MzkyMjcwOS4zNzg5ODE4LCAyNDcwNSwgMS4xNTUyNzIxMjYxOTc4MTVdLCBbMTY2MzkyMjcwOS40NjU0ODkxLCAyNDcxNCwgMS4xMTM5NDQ3Njg5MDU2Mzk2XSwgWzE2NjM5MjI3MDkuNTQ5ODkzLCAyNDcyMywgMS4xMzEyNDk5MDQ2MzI1Njg0XSwgWzE2NjM5MjI3MTAuMjI1NDc2NSwgMjQ3ODYsIDEuMTIwMjE2NjA4MDQ3NDg1NF0sIFsxNjYzOTIyNzEwLjMxNDIzMywgMjQ3OTUsIDEuMTkwMzU3MDg5MDQyNjYzNl0sIFsxNjYzOTIyNzEwLjQxMzY3MTcsIDI0ODA0LCAxLjE0OTUxMjA1MjUzNjAxMDddLCBbMTY2MzkyMjcxMC42NzY3NjI4LCAyNDgzMSwgMS4xMzg2ODEwNTQxMTUyOTU0XSwgWzE2NjM5MjI3MTAuODUzMjA0NSwgMjQ4NDksIDEuMTEzMTQxMjk4Mjk0MDY3NF0sIFsxNjYzOTIyNzEwLjk4MTE4MDcsIDI0ODU4LCAxLjIxMDE1Nzk5MDQ1NTYyNzRdLCBbMTY2MzkyMjcxMS40NjI2NTUzLCAyNDg5NCwgMS4xMzA3MTYzMjM4NTI1MzldLCBbMTY2MzkyMjcxMS43MjIyMTQsIDI0OTIxLCAxLjI0Mzc4NjgxMTgyODYxMzNdLCBbMTY2MzkyMjcxMS45ODU5NTA3LCAyNDk0OCwgMS4xNTc2NTYzMTE5ODg4MzA2XSwgWzE2NjM5MjI3MTIuMTc2MTEyLCAyNDk2NiwgMS4xMjQxMjc4NjQ4Mzc2NDY1XSwgWzE2NjM5MjI3MTIuMzY1MDkzNywgMjQ5ODQsIDEuMTkzOTk5MjkwNDY2MzA4Nl0sIFsxNjYzOTIyNzEyLjU0Mjc1NzMsIDI1MDAyLCAxLjE1MTUzMDc0MjY0NTI2MzddLCBbMTY2MzkyMjcxMi42MjUwMzY3LCAyNTAxMSwgMS4xNTE5Nzg2MTE5NDYxMDZdLCBbMTY2MzkyMjcxMi43MTQwNjI3LCAyNTAyMCwgMS4xOTQ3ODMyMTA3NTQzOTQ1XSwgWzE2NjM5MjI3MTMuMTUxODQ5NywgMjUwNjUsIDEuMTMyODc2NjM0NTk3Nzc4M10sIFsxNjYzOTIyNzEzLjI0MTYzMjUsIDI1MDc0LCAxLjExNTY1NjczMzUxMjg3ODRdLCBbMTY2MzkyMjcxNC40OTczNzE3LCAyNTE4MiwgMS4xMjM3MTAwMzYyNzc3NzFdLCBbMTY2MzkyMjcxNC42NjU5MTc0LCAyNTIwMCwgMS4wOTAxNjgyMzc2ODYxNTcyXSwgWzE2NjM5MjI3MTUuMjc3OTI3NiwgMjUyNjMsIDEuMTIxMTQwNTk5MjUwNzkzNV0sIFsxNjYzOTIyNzE1LjgwMzI1NjUsIDI1MzE3LCAxLjEzNDYzNDM3NTU3MjIwNDZdLCBbMTY2MzkyMjcxNS44ODkwNTgsIDI1MzI2LCAxLjA4ODk4Njg3MzYyNjcwOV0sIFsxNjYzOTIyNzE2Ljg3NTgyOTIsIDI1NDI1LCAxLjI1MjYwNTA4MDYwNDU1MzJdLCBbMTY2MzkyMjcxNi45NjUzNzE2LCAyNTQzNCwgMS4yNjU2NTg0OTc4MTAzNjM4XSwgWzE2NjM5MjI3MTcuNDMzMTkzNCwgMjU0NzksIDEuMjAxNjE3NDc5MzI0MzQwOF0sIFsxNjYzOTIyNzE3Ljc5MDIyOSwgMjU1MTUsIDEuMTg3MjQ1NjA3Mzc2MDk4Nl0sIFsxNjYzOTIyNzE3Ljg3ODYzNzgsIDI1NTI0LCAxLjI4NDE4MzE0NDU2OTM5N11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_08-24-14_17ae77f8abe2&tag=Loss%2Fvalid":{"data":"W1sxNjYzODM1MDU3LjYzMTQxMTgsIDM2LCAxNS45NTc0NDAzNzYyODE3MzhdLCBbMTY2MzgzNTA1Ny43NzMyNTAzLCA0NSwgMTEuOTg5NTQyMDA3NDQ2Mjg5XSwgWzE2NjM4MzUwNTguNjM1MTg4MywgOTksIDUuNDQ1NTUxMzk1NDE2MjZdLCBbMTY2MzgzNTA1OS4xODA0MjA0LCAxMzUsIDUuMTY2MDk4MTE3ODI4MzY5XSwgWzE2NjM4MzUwNTkuMzE3MDY4MywgMTQ0LCA1LjY5NzE3Nzg4Njk2Mjg5MV0sIFsxNjYzODM1MDU5LjY5NTc1MTQsIDE3MSwgNS4zNDY4MzE3OTg1NTM0NjddLCBbMTY2MzgzNTA1OS44MDU3NjE4LCAxODAsIDQuODQxNjQ0NzYzOTQ2NTMzXSwgWzE2NjM4MzUwNTkuOTI1NjI1NiwgMTg5LCA0LjcxMzkzMjUxNDE5MDY3NF0sIFsxNjYzODM1MDYwLjE4MDY2NTUsIDIwNywgNS42NTQ0MTM3MDAxMDM3Nl0sIFsxNjYzODM1MDYwLjI5Mjg2NjIsIDIxNiwgNS42ODM4MjEyMDEzMjQ0NjNdLCBbMTY2MzgzNTA2MC42NzIzOTkzLCAyNDMsIDUuMjk2MDIzODQ1NjcyNjA3XSwgWzE2NjM4MzUwNjAuNzk5MjU2MywgMjUyLCA0LjQxNDkwMjIxMDIzNTU5Nl0sIFsxNjYzODM1MDYyLjEyMDU3NTIsIDM1MSwgMy42NzkyNTg4MjMzOTQ3NzU0XSwgWzE2NjM4MzUwNjIuMzM0OTM4OCwgMzY5LCA0LjUyNzg2NTg4NjY4ODIzMl0sIFsxNjYzODM1MDYzLjE2OTA5NywgNDMyLCA0LjE2NzY2NTQ4MTU2NzM4M10sIFsxNjYzODM1MDYzLjI3NDgzMSwgNDQxLCAzLjYxMzI4MzYzNDE4NTc5MV0sIFsxNjYzODM1MDYzLjM5NDgyMzMsIDQ1MCwgMy45MDk2NDkxMzM2ODIyNTFdLCBbMTY2MzgzNTA2My42MTk4MjUsIDQ2OCwgMy44NjEzODcwMTQzODkwMzhdLCBbMTY2MzgzNTA2My45Mzk3MjE4LCA0OTUsIDMuNzkyNTM0MzUxMzQ4ODc3XSwgWzE2NjM4MzUwNjQuMjQwNjE2NiwgNTIyLCAzLjU2NDk1MjM3MzUwNDYzODddLCBbMTY2MzgzNTA2NC41Mzg4MzY3LCA1NDksIDMuNDEwODEzMDkzMTg1NDI1XSwgWzE2NjM4MzUwNjQuNjM2MjYxNSwgNTU4LCAzLjY1NDg2ODYwMjc1MjY4NTVdLCBbMTY2MzgzNTA2NC43Mzc1NDQzLCA1NjcsIDMuNTM3NTY1NzA4MTYwNDAwNF0sIFsxNjYzODM1MDY0Ljg0MjYxMTYsIDU3NiwgMy4xOTg4OTA0NDc2MTY1NzddLCBbMTY2MzgzNTA2NS4wMjc5ODM0LCA1OTQsIDMuNDUzMTc2NzM2ODMxNjY1XSwgWzE2NjM4MzUwNjUuMTIzMTM1LCA2MDMsIDMuMDgxMDAzNjY1OTI0MDcyM10sIFsxNjYzODM1MDY1LjIyNzg1MDcsIDYxMiwgMy41NzEyNTc1OTEyNDc1NTg2XSwgWzE2NjM4MzUwNjUuMzI5ODk4NiwgNjIxLCAyLjg5NjcxMDg3MjY1MDE0NjVdLCBbMTY2MzgzNTA2NS41MTUxMzgxLCA2MzksIDMuMTg1NDAzMTA4NTk2ODAxOF0sIFsxNjYzODM1MDY1LjYwODg0LCA2NDgsIDIuODE1NTYyMDA5ODExNDAxNF0sIFsxNjYzODM1MDY2LjM2MjY5MTksIDcwMiwgMi45MTcwOTAxNzc1MzYwMTA3XSwgWzE2NjM4MzUwNjYuNjM2MDc4NCwgNzIwLCAzLjExMjgzMDE2MjA0ODM0XSwgWzE2NjM4MzUwNjcuMDEyNzcxMSwgNzQ3LCAyLjY0MTQxMzY4ODY1OTY2OF0sIFsxNjYzODM1MDY3LjMyNDQ1MDMsIDc3NCwgMy4xNzMyNzAyMjU1MjQ5MDIzXSwgWzE2NjM4MzUwNjcuODA0NTM2MywgODEwLCAyLjU3ODQ2MjM2MjI4OTQyODddLCBbMTY2MzgzNTA2OS4xNjA4MTk1LCA5MDAsIDIuNDgyNTEwNTY2NzExNDI2XSwgWzE2NjM4MzUwNjkuMjU2OTcwNiwgOTA5LCAyLjg2MzAyNTQyNjg2NDYyNF0sIFsxNjYzODM1MDY5LjU2ODEyOTUsIDkzNiwgMi4yMzM5MDEwMjM4NjQ3NDZdLCBbMTY2MzgzNTA2OS44OTc1NjI3LCA5NjMsIDIuMzM5OTA3NDA3NzYwNjJdLCBbMTY2MzgzNTA3MC4wMDYyMDEsIDk3MiwgMi4zNjg0NDk5MjYzNzYzNDI4XSwgWzE2NjM4MzUwNzAuMjMyMjM5MiwgOTkwLCAyLjAyMDExOTE5MDIxNjA2NDVdLCBbMTY2MzgzNTA3MC45ODUwNzc5LCAxMDUzLCAyLjM4MjE5ODgxMDU3NzM5MjZdLCBbMTY2MzgzNTA3MS41MjA5ODU2LCAxMDk4LCAyLjU1NjQzNzk2OTIwNzc2MzddLCBbMTY2MzgzNTA3MS45MDgwODgsIDExMzQsIDMuMTMxNjgwNDg4NTg2NDI2XSwgWzE2NjM4MzUwNzIuMDA3MzQxNCwgMTE0MywgMi40MzMxNDE3MDgzNzQwMjM0XSwgWzE2NjM4MzUwNzIuMjA4OTE0MywgMTE2MSwgMi40NjQwMTI2MjI4MzMyNTJdLCBbMTY2MzgzNTA3Mi40MTM4MDMsIDExNzksIDIuMTUwMjAxNzk3NDg1MzUxNl0sIFsxNjYzODM1MDcyLjUwMzk5NTQsIDExODgsIDEuOTg3NTU4NDg0MDc3NDUzNl0sIFsxNjYzODM1MDcyLjk4OTEzMDcsIDEyMzMsIDIuOTAwMTU0ODI5MDI1MjY4Nl0sIFsxNjYzODM1MDczLjA4MzYxNTgsIDEyNDIsIDEuOTk1Nzc0OTg0MzU5NzQxMl0sIFsxNjYzODM1MDczLjkwMDg2MjcsIDEzMDUsIDIuNTY4MDMwMzU3MzYwODRdLCBbMTY2MzgzNTA3NC4xNTYwMTQ0LCAxMzIzLCAyLjA0ODY5OTM3ODk2NzI4NV0sIFsxNjYzODM1MDc0LjI4MjA2MjMsIDEzMzIsIDIuMTI1Mjk4MjYxNjQyNDU2XSwgWzE2NjM4MzUwNzQuNjI5NjYzNywgMTM1OSwgMi41NTgxMjA3Mjc1MzkwNjI1XSwgWzE2NjM4MzUwNzUuNDM5NjY4NCwgMTQyMiwgMi4xMTExODcyMTk2MTk3NTFdLCBbMTY2MzgzNTA3NS43Njk0MjI1LCAxNDQ5LCAxLjk1NjA4MjU4MjQ3Mzc1NDldLCBbMTY2MzgzNTA3NS45NzA3MjcyLCAxNDY3LCAyLjA2Mjk0MzQ1ODU1NzEyOV0sIFsxNjYzODM1MDc2LjE4NjgwMiwgMTQ4NSwgMS44NTM5ODM4NzkwODkzNTU1XSwgWzE2NjM4MzUwNzYuODM0MzY1NiwgMTUzOSwgMi40OTEyOTAwOTI0NjgyNjE3XSwgWzE2NjM4MzUwNzYuOTcyODQ4MiwgMTU0OCwgMi41MzkyMjYyOTM1NjM4NDI4XSwgWzE2NjM4MzUwNzcuMTMxMzU4OSwgMTU1NywgMi4xNTA2ODI2ODc3NTkzOTk0XSwgWzE2NjM4MzUwNzcuNTExOTM5OCwgMTU4NCwgMS45ODIzNDQ1MDgxNzEwODE1XSwgWzE2NjM4MzUwNzguMDA2NzcyNSwgMTYwMiwgMS45NjA2MTgzNzY3MzE4NzI2XSwgWzE2NjM4MzUwNzguNTE0Mzc1MiwgMTYzOCwgMi40ODA5OTU0MTY2NDEyMzU0XSwgWzE2NjM4MzUwNzguODg2OTI1NSwgMTY2NSwgMi42Mjc2Nzc5MTc0ODA0Njg4XSwgWzE2NjM4MzUwNzkuMDE2NTEzOCwgMTY3NCwgMi4wNjUwMzI5NTg5ODQzNzVdLCBbMTY2MzgzNTA3OS4xMzIyMzU4LCAxNjgzLCAyLjQwNzk1OTkzODA0OTMxNjRdLCBbMTY2MzgzNTA3OS41NjkzMjMsIDE3MTksIDIuMDkwNDg4OTEwNjc1MDQ5XSwgWzE2NjM4MzUwNzkuNjg2ODc3NSwgMTcyOCwgMi4zNTY2NjE3OTY1Njk4MjRdLCBbMTY2MzgzNTA3OS43ODEwOTI2LCAxNzM3LCAxLjc5MDE0ODAxOTc5MDY0OTRdLCBbMTY2MzgzNTA4MC40NTAzNjkxLCAxODAwLCAxLjkwMzQ0OTg5Mjk5Nzc0MTddLCBbMTY2MzgzNTA4MC43NDgwODg4LCAxODI3LCAxLjk0MTI5MDI1OTM2MTI2N10sIFsxNjYzODM1MDgwLjg0ODQ5NzIsIDE4MzYsIDEuNzM2NjM3MjM0Njg3ODA1Ml0sIFsxNjYzODM1MDgxLjAwMDcwMDUsIDE4NDUsIDIuMjE3MjM2NTE4ODU5ODYzM10sIFsxNjYzODM1MDgxLjE0NTQ4MjMsIDE4NTQsIDIuMTI1NzQxNzIwMTk5NTg1XSwgWzE2NjM4MzUwODEuMzkzMTQ2LCAxODcyLCAxLjc2MTM2MzUwNjMxNzEzODddLCBbMTY2MzgzNTA4MS41NzE3NjcsIDE4OTAsIDEuODA2MDQwNjQ0NjQ1NjkxXSwgWzE2NjM4MzUwODEuNzYyMTM4NCwgMTkwOCwgMS45OTgzODk2MDE3MDc0NTg1XSwgWzE2NjM4MzUwODIuMDA3NjQ2NiwgMTkyNiwgMS45OTkyNTIwODA5MTczNTg0XSwgWzE2NjM4MzUwODIuMjczODU1MiwgMTk0NCwgMS43OTQyNzI3ODA0MTgzOTZdLCBbMTY2MzgzNTA4Mi4zOTY0Mzc0LCAxOTUzLCAxLjc2NzE2NzY4NzQxNjA3NjddLCBbMTY2MzgzNTA4Mi43NDkyNDY4LCAxOTgwLCAxLjY2Njc1NDAwNzMzOTQ3NzVdLCBbMTY2MzgzNTA4Mi44NzE2NTMzLCAxOTg5LCAyLjE1MzU4ODUzMzQwMTQ4OTNdLCBbMTY2MzgzNTA4Mi45ODk4Njk0LCAxOTk4LCAyLjEyMzkzNzEyOTk3NDM2NTJdLCBbMTY2MzgzNTA4My4zMzY2NDUsIDIwMjUsIDEuODY1NjQxOTUxNTYwOTc0MV0sIFsxNjYzODM1MDgzLjk0Mzc0MjMsIDIwNzAsIDEuNzk2NDkyMjE4OTcxMjUyNF0sIFsxNjYzODM1MDg1LjA5NTIyNTMsIDIxNjAsIDIuMTM2MzM4OTQ5MjAzNDkxXSwgWzE2NjM4MzUwODUuMjg2NDAwOCwgMjE3OCwgMS45MDg5MDgzNjcxNTY5ODI0XSwgWzE2NjM4MzUwODUuNTkzNTU4NSwgMjIwNSwgMS45MjgzMDUwMjk4NjkwNzk2XSwgWzE2NjM4MzUwODUuNjkzOTkzNiwgMjIxNCwgMi4wNjMzMzcwODc2MzEyMjU2XSwgWzE2NjM4MzUwODUuNzk1OTU4LCAyMjIzLCAxLjY0MjU4ODYxNTQxNzQ4MDVdLCBbMTY2MzgzNTA4Ni42Mzk1MjkyLCAyMjk1LCAxLjk3MTc1MTU3MDcwMTU5OTFdLCBbMTY2MzgzNTA4Ny4wMjk5MzA2LCAyMzMxLCAxLjgzNTU3MTg4NTEwODk0NzhdLCBbMTY2MzgzNTA4Ny4xODA5OTc4LCAyMzQwLCAxLjYxNjA0MTc3OTUxODEyNzRdLCBbMTY2MzgzNTA4Ny4zMTczNjI1LCAyMzQ5LCAxLjg3MzAzMTI1ODU4MzA2ODhdLCBbMTY2MzgzNTA4Ny43NjUwOTc2LCAyMzY3LCAxLjg1MTAwMTE0MzQ1NTUwNTRdLCBbMTY2MzgzNTA4OC41NjE1OTgsIDI0MzksIDEuOTAwNTU4MjMzMjYxMTA4NF0sIFsxNjYzODM1MDg4LjY1MjA2OTYsIDI0NDgsIDEuNzM2NzE2Mzg5NjU2MDY3XSwgWzE2NjM4MzUwODguOTUxNDc0MiwgMjQ3NSwgMS44NzM0NzI4MDk3OTE1NjVdLCBbMTY2MzgzNTA4OS4xNzM5NDg4LCAyNDkzLCAyLjA1MDUwMjc3NzA5OTYwOTRdLCBbMTY2MzgzNTA4OS4zNjU2ODUsIDI1MTEsIDEuODkzNzQ0MTExMDYxMDk2Ml0sIFsxNjYzODM1MDg5LjU2NDM0MTUsIDI1MjksIDEuOTA1NjkyODE1NzgwNjM5Nl0sIFsxNjYzODM1MDg5Ljc2NDY3MTYsIDI1NDcsIDEuNzg4OTUxNjM1MzYwNzE3OF0sIFsxNjYzODM1MDg5Ljg3Mjg3NywgMjU1NiwgMi42ODEzMDI3ODU4NzM0MTNdLCBbMTY2MzgzNTA5MC4wODA2MTg0LCAyNTc0LCAxLjc0NjEzNTk1MDA4ODUwMV0sIFsxNjYzODM1MDkwLjI4MzM1NDUsIDI1OTIsIDIuMTM3NTI0MTI3OTYwMjA1XSwgWzE2NjM4MzUwOTAuMzgyNDUyLCAyNjAxLCAyLjAzMDY4MTM3MTY4ODg0MjhdLCBbMTY2MzgzNTA5MC41ODc0NTU3LCAyNjE5LCAxLjY3NDI5NDExNDExMjg1NF0sIFsxNjYzODM1MDkxLjE1NzU1MSwgMjY2NCwgMS44NDQwOTA1ODA5NDAyNDY2XSwgWzE2NjM4MzUwOTEuMjYyNTkwMiwgMjY3MywgMS42NjY0NTM4MzgzNDgzODg3XSwgWzE2NjM4MzUwOTEuMzgyNzI0LCAyNjgyLCAxLjcyMjYwMjg0NDIzODI4MTJdLCBbMTY2MzgzNTA5MS40ODMyODc2LCAyNjkxLCAxLjc2MTc4MDAyMzU3NDgyOV0sIFsxNjYzODM1MDkyLjQ0NTQ1NywgMjc2MywgMS42NTg0NDcwMjcyMDY0MjFdLCBbMTY2MzgzNTA5Mi42OTE0MTcsIDI3ODEsIDEuNTA4MDEwNjI1ODM5MjMzNF0sIFsxNjYzODM1MDkzLjE4OTg5MiwgMjgxNywgMS44ODI2MjMwNzY0Mzg5MDM4XSwgWzE2NjM4MzUwOTMuNjExMDEyLCAyODUzLCAxLjY1ODY5MTI4NzA0MDcxMDRdLCBbMTY2MzgzNTA5My44NjM4NTI1LCAyODcxLCAxLjgwNjM5MzYyMzM1MjA1MDhdLCBbMTY2MzgzNTA5My45ODk5Mzg3LCAyODgwLCAxLjc5NDg3OTY3NDkxMTQ5OV0sIFsxNjYzODM1MDk0LjM1Nzg5OSwgMjkwNywgMi4wMzQ3Mjg3NjU0ODc2NzFdLCBbMTY2MzgzNTA5NS4wNzI5OTI4LCAyOTcwLCAxLjM4MDQ4MTM2MjM0MjgzNDVdLCBbMTY2MzgzNTA5NS4yNzgyMTEsIDI5ODgsIDIuMDYzNTg4NjE5MjMyMTc3N10sIFsxNjYzODM1MDk1LjM2NTA4MiwgMjk5NywgMS41MzQ3MTg5OTAzMjU5Mjc3XSwgWzE2NjM4MzUwOTYuMTE3MDIyMywgMzA0MiwgMS42NDYzNDA2MDg1OTY4MDE4XSwgWzE2NjM4MzUwOTYuMjE4Mjc4LCAzMDUxLCAxLjgyNzI0MzA4OTY3NTkwMzNdLCBbMTY2MzgzNTA5Ni40NzQ1OTQ4LCAzMDY5LCAxLjY3MDkzMDg2MjQyNjc1NzhdLCBbMTY2MzgzNTA5Ni43OTc4MDQ4LCAzMDk2LCAxLjQ4NTMzNzQ5NTgwMzgzM10sIFsxNjYzODM1MDk2Ljk5NTkwMiwgMzExNCwgMS44MTU1OTc2NTMzODg5NzddLCBbMTY2MzgzNTA5Ny4wODg4NTEyLCAzMTIzLCAxLjU4NjQ4ODM2NjEyNzAxNDJdLCBbMTY2MzgzNTA5Ny40NzIzOTY5LCAzMTU5LCAxLjQ5NDUxOTIzMzcwMzYxMzNdLCBbMTY2MzgzNTA5Ny42NjI2ODI4LCAzMTc3LCAyLjExODExOTk1NTA2Mjg2Nl0sIFsxNjYzODM1MDk3Ljg1MjMyOSwgMzE5NSwgMS42MzU3NDI5MDI3NTU3MzczXSwgWzE2NjM4MzUwOTguMjQ4MDk3LCAzMjMxLCAyLjIwMjEzMDc5NDUyNTE0NjVdLCBbMTY2MzgzNTA5OC42NDE2MzczLCAzMjY3LCAxLjU5MDM4MDY2ODY0MDEzNjddLCBbMTY2MzgzNTA5OC43Mzc3NDkzLCAzMjc2LCAxLjQ3NDI5NjkyNzQ1MjA4NzRdLCBbMTY2MzgzNTA5OC44Mjg2MDg1LCAzMjg1LCAxLjk1MTk4MjAyMTMzMTc4N10sIFsxNjYzODM1MDk4LjkyOTcxMjUsIDMyOTQsIDEuNTY0OTM5MDIyMDY0MjA5XSwgWzE2NjM4MzUwOTkuMDYzODIyMywgMzMwMywgMS43NTcxODI0Nzg5MDQ3MjQxXSwgWzE2NjM4MzUwOTkuMTkyNjI3LCAzMzEyLCAxLjkwNDU2MjU5MjUwNjQwODddLCBbMTY2MzgzNTEwMC4wNTM2ODgzLCAzMzc1LCAxLjYwNzgyOTgwOTE4ODg0MjhdLCBbMTY2MzgzNTEwMC40MDU4NzQ3LCAzNDAyLCAxLjUyMTM4NDgzNTI0MzIyNV0sIFsxNjYzODM1MTAwLjUxOTQwNTYsIDM0MTEsIDEuNjE0NDE3NjcyMTU3Mjg3Nl0sIFsxNjYzODM1MTAxLjQzMjMxMTgsIDM0ODMsIDEuNjM4NTA0NzQzNTc2MDQ5OF0sIFsxNjYzODM1MTAxLjc5ODYwMSwgMzUxOSwgMS44MjIyNTAzNjYyMTA5Mzc1XSwgWzE2NjM4MzUxMDEuOTA3MTAxNiwgMzUyOCwgMS44NTUxNjgzNDI1OTAzMzJdLCBbMTY2MzgzNTEwMS45OTQ4ODYyLCAzNTM3LCAxLjg5NzUxNjM2OTgxOTY0MTFdLCBbMTY2MzgzNTEwMi4yMDA0OTYyLCAzNTU1LCAxLjQyODAyMDQ3NzI5NDkyMTldLCBbMTY2MzgzNTEwMi40ODY2NDIxLCAzNTgyLCAxLjQ5ODE3MzM1NjA1NjIxMzRdLCBbMTY2MzgzNTEwMi45Nzc4NDY2LCAzNjI3LCAxLjQ4MjQ0MDgyOTI3NzAzODZdLCBbMTY2MzgzNTEwMy4yMDQ2NjYsIDM2NDUsIDEuNjk4MDkxOTgzNzk1MTY2XSwgWzE2NjM4MzUxMDMuODY1ODQ3NiwgMzY5MCwgMS42NTgwMzY0NzA0MTMyMDhdLCBbMTY2MzgzNTEwNC4zNDQ4NDYsIDM3MjYsIDEuODUyNjY2MjU4ODExOTUwN10sIFsxNjYzODM1MTA0LjQ2MzkzMjUsIDM3MzUsIDEuNDg0MzMzOTkyMDA0Mzk0NV0sIFsxNjYzODM1MTA0LjU3NTA1OTIsIDM3NDQsIDEuMjkzMjg1MzY5ODczMDQ2OV0sIFsxNjYzODM1MTA1LjE1NTg5NiwgMzc3MSwgMS45NzgzMzQzMDc2NzA1OTMzXSwgWzE2NjM4MzUxMDUuNDY0MjYyNSwgMzc5OCwgMS45MTEyMzE4NzU0MTk2MTY3XSwgWzE2NjM4MzUxMDUuNTY2NzQyMiwgMzgwNywgMS40NzQ1OTk5NTc0NjYxMjU1XSwgWzE2NjM4MzUxMDUuODkzNjg2MywgMzgzNCwgMi4xMDU0NjA0MDUzNDk3MzE0XSwgWzE2NjM4MzUxMDUuOTkwMDc5MiwgMzg0MywgMS42MTczMTgzOTE3OTk5MjY4XSwgWzE2NjM4MzUxMDYuMzg3NDE3LCAzODc5LCAxLjY5MTMxNDMzOTYzNzc1NjNdLCBbMTY2MzgzNTEwNi45MTAwMDUsIDM5MjQsIDEuNDQ3NDc0NTk4ODg0NTgyNV0sIFsxNjYzODM1MTA3LjAxOTk3NTIsIDM5MzMsIDEuNjU2NjQ0NDYzNTM5MTIzNV0sIFsxNjYzODM1MTA3LjE2ODY5MTYsIDM5NDIsIDEuNzA3Nzk1NzM5MTczODg5Ml0sIFsxNjYzODM1MTA3LjQyOTI1MzYsIDM5NjAsIDEuNjA2MTcxMzY5NTUyNjEyM10sIFsxNjYzODM1MTA3LjU4OTA5NjgsIDM5NjksIDEuNTAwMzY3OTk5MDc2ODQzM10sIFsxNjYzODM1MTA3LjcxNzk5NDcsIDM5NzgsIDEuNTg0ODc2NTM3MzIyOTk4XSwgWzE2NjM4MzUxMDcuOTQyMzQ1NCwgMzk5NiwgMS4zNTcwNTM1MTgyOTUyODhdLCBbMTY2MzgzNTEwOC4wNzk1OTcyLCA0MDA1LCAxLjU2Njg1NjYyMjY5NTkyMjldLCBbMTY2MzgzNTEwOC4yNzA0ODM1LCA0MDIzLCAxLjM2NDI0NTE3NjMxNTMwNzZdLCBbMTY2MzgzNTEwOC43NDkyNTI2LCA0MDU5LCAxLjQwNTA5NTU3NzIzOTk5MDJdLCBbMTY2MzgzNTEwOS4wMDEyMTQsIDQwNzcsIDEuMzI2NzU5OTM0NDI1MzU0XSwgWzE2NjM4MzUxMDkuMTE0MzQsIDQwODYsIDEuNzQzOTMyODQzMjA4MzEzXSwgWzE2NjM4MzUxMDkuMjMyNTk2MiwgNDA5NSwgMS41MTc5OTk4ODc0NjY0MzA3XSwgWzE2NjM4MzUxMDkuNDY2MTIzOCwgNDExMywgMS4zMDI4Nzg3Mzc0NDk2NDZdLCBbMTY2MzgzNTEwOS45NTA3NjY4LCA0MTQ5LCAxLjQwODc2ODQxNTQ1MTA0OThdLCBbMTY2MzgzNTExMC4wNjYxNjk1LCA0MTU4LCAxLjMzMzA1MDEzMTc5Nzc5MDVdLCBbMTY2MzgzNTExMC40OTUyNTMsIDQxOTQsIDEuMTkxNjE5NzUzODM3NTg1NF0sIFsxNjYzODM1MTEwLjYzOTQ4NCwgNDIwMywgMS4zOTMzMjY3NTkzMzgzNzldLCBbMTY2MzgzNTExMC44NjYwODE3LCA0MjIxLCAxLjMwMDc5MzI5MDEzODI0NDZdLCBbMTY2MzgzNTExMS4xMTg1MTQsIDQyMzksIDEuODY3Nzc4Nzc4MDc2MTcxOV0sIFsxNjYzODM1MTExLjQ5OTk1NCwgNDI3NSwgMS4zMzYyMTYyMTEzMTg5Njk3XSwgWzE2NjM4MzUxMTEuNTkyMDA0NSwgNDI4NCwgMS41MjExNjIyNzE0OTk2MzM4XSwgWzE2NjM4MzUxMTEuOTU4ODcxLCA0MzExLCAxLjY3NzQzNTE1OTY4MzIyNzVdLCBbMTY2MzgzNTExMi4yMzMxMzMsIDQzMjksIDEuNzUxMTkxMjU4NDMwNDgxXSwgWzE2NjM4MzUxMTIuMzM3NTcxNiwgNDMzOCwgMS40MDkyNzExMjEwMjUwODU0XSwgWzE2NjM4MzUxMTIuNTU0NDk1OCwgNDM1NiwgMS42ODU0NzIyNDk5ODQ3NDEyXSwgWzE2NjM4MzUxMTIuNjU0OTc5MiwgNDM2NSwgMS4zMDU1NDUwOTE2MjkwMjgzXSwgWzE2NjM4MzUxMTIuOTY4MTUyMywgNDM5MiwgMS4zOTA0NTgzNDU0MTMyMDhdLCBbMTY2MzgzNTExMy4wNjM1MzMzLCA0NDAxLCAxLjY2Njk4NjgyMzA4MTk3MDJdLCBbMTY2MzgzNTExMy4xNjE0MjEsIDQ0MTAsIDEuNDkzNzMyOTI5MjI5NzM2M10sIFsxNjYzODM1MTEzLjM0NTA1NzUsIDQ0MjgsIDEuMjIzOTg3MzQwOTI3MTI0XSwgWzE2NjM4MzUxMTMuNjM0NTUxOCwgNDQ1NSwgMS4zMjU3MDY2MDExNDI4ODMzXSwgWzE2NjM4MzUxMTQuMDQ3Mjg2MywgNDQ5MSwgMS41NjgyODQ1MTE1NjYxNjJdLCBbMTY2MzgzNTExNC41MzkwOTIsIDQ1MjcsIDEuNjkxMzc3NjM5NzcwNTA3OF0sIFsxNjYzODM1MTE0LjgyODYzNjQsIDQ1MzYsIDEuMjc2OTc2ODIzODA2NzYyN10sIFsxNjYzODM1MTE1LjEyMzkxMTQsIDQ1NjMsIDEuNDQ1MTkwMTkxMjY4OTIxXSwgWzE2NjM4MzUxMTUuMzk3NjA3MywgNDU5MCwgMS4zODAzNTIxMzk0NzI5NjE0XSwgWzE2NjM4MzUxMTUuNDg2MTU3NCwgNDU5OSwgMS41MDMwMzg3NjM5OTk5MzldLCBbMTY2MzgzNTExNS41NzcwNCwgNDYwOCwgMS4yNjI5NzIzNTQ4ODg5MTZdLCBbMTY2MzgzNTExNS42NzU2MTgsIDQ2MTcsIDEuNzUxMzIxMzE1NzY1MzgwOV0sIFsxNjYzODM1MTE1Ljc2ODU1NCwgNDYyNiwgMS4zMzM5Njg5OTcwMDE2NDhdLCBbMTY2MzgzNTExNS44NTc1NDYsIDQ2MzUsIDEuMzE5Njg4MDgxNzQxMzMzXSwgWzE2NjM4MzUxMTYuMTQ0NjM2OSwgNDY2MiwgMS40MjkxMzQ4NDU3MzM2NDI2XSwgWzE2NjM4MzUxMTYuMjUyMzA0OCwgNDY3MSwgMS41ODk0NzQ0Mzk2MjA5NzE3XSwgWzE2NjM4MzUxMTYuMzQ1MjA1OCwgNDY4MCwgMS40NjQzNTQ4NzI3MDM1NTIyXSwgWzE2NjM4MzUxMTYuNDM2NjUzOSwgNDY4OSwgMS40NTE5OTg5NDkwNTA5MDMzXSwgWzE2NjM4MzUxMTYuNzE2MjQ3MywgNDcxNiwgMS40NjUyNzgzODcwNjk3MDIxXSwgWzE2NjM4MzUxMTcuMzg3ODQ1LCA0Nzc5LCAxLjM2ODUzODQ5ODg3ODQ3OV0sIFsxNjYzODM1MTE3LjY4OTEyMTcsIDQ4MDYsIDEuMjMwODEzNjIyNDc0NjcwNF0sIFsxNjYzODM1MTE3Ljc5NDA2NDUsIDQ4MTUsIDEuMzc4MzE3MjM2OTAwMzI5Nl0sIFsxNjYzODM1MTE4LjA2MzE3MzUsIDQ4MzMsIDEuNzE2MDc2NjEyNDcyNTM0Ml0sIFsxNjYzODM1MTE4LjE1NTU3MSwgNDg0MiwgMS44MzA2MTA3NTIxMDU3MTNdLCBbMTY2MzgzNTExOC4yNTI0NTUyLCA0ODUxLCAxLjE3NTYyODA2NjA2MjkyNzJdLCBbMTY2MzgzNTExOC40NDM4NTc0LCA0ODY5LCAxLjMxODU0NzYwNjQ2ODIwMDddLCBbMTY2MzgzNTExOC42MjcwNDU5LCA0ODg3LCAxLjI4NDYzMzYzNjQ3NDYwOTRdLCBbMTY2MzgzNTExOC44MTI2OTgsIDQ5MDUsIDEuMzUwNjgyNzM1NDQzMTE1Ml0sIFsxNjYzODM1MTE5LjAwNzE4NDMsIDQ5MjMsIDEuNjI0MjQwMjc5MTk3NjkyOV0sIFsxNjYzODM1MTE5LjA5ODg2NDgsIDQ5MzIsIDEuMzQ1MDA5MDg4NTE2MjM1NF0sIFsxNjYzODM1MTE5LjQwNzQyNTYsIDQ5NTksIDEuMjM3MTgxNDI1MDk0NjA0NV0sIFsxNjYzODM1MTE5LjU5MjE2NzksIDQ5NzcsIDEuNTU3NjIzOTgyNDI5NTA0NF0sIFsxNjYzODM1MTE5Ljg2MjY0NzMsIDUwMDQsIDEuMzg1NTQ0NDE5Mjg4NjM1M10sIFsxNjYzODM1MTE5Ljk2ODY0NzcsIDUwMTMsIDEuMjAzNjQxNjUzMDYwOTEzXSwgWzE2NjM4MzUxMjAuNzczNzAzNiwgNTA2NywgMS40MDYxODcyOTU5MTM2OTYzXSwgWzE2NjM4MzUxMjAuODkwMDIzNywgNTA3NiwgMS4yMjEwMjY2NTkwMTE4NDA4XSwgWzE2NjM4MzUxMjEuMDE0MjcxNywgNTA4NSwgMS4yODI0NDMxNjU3NzkxMTM4XSwgWzE2NjM4MzUxMjEuNDk3MDU3NywgNTEyMSwgMS4zMDQzNzE0NzYxNzM0MDA5XSwgWzE2NjM4MzUxMjEuODM4NTM0NiwgNTE0OCwgMS4yNDU0ODAwNjA1NzczOTI2XSwgWzE2NjM4MzUxMjIuMDY5MDk0NCwgNTE2NiwgMS4yMzU1Mzg4NDAyOTM4ODQzXSwgWzE2NjM4MzUxMjIuNDE4MzY5OCwgNTE5MywgMS44MjU4NzAzOTQ3MDY3MjZdLCBbMTY2MzgzNTEyMi44MzIzNDM4LCA1MjI5LCAxLjQ5ODk5MzYzNTE3NzYxMjNdLCBbMTY2MzgzNTEyMy40MjUzNzQsIDUyNjUsIDEuMzYzMjc2MzYyNDE5MTI4NF0sIFsxNjYzODM1MTIzLjUxMzMxNSwgNTI3NCwgMS40MDg2MzI1MTY4NjA5NjJdLCBbMTY2MzgzNTEyMy42MjU3MTAyLCA1MjgzLCAxLjM4MDA5NDg4NTgyNjExMDhdLCBbMTY2MzgzNTEyMy44MDc2ODQyLCA1MzAxLCAxLjI0MDE4MjI4MDU0MDQ2NjNdLCBbMTY2MzgzNTEyMy45OTk2MDUsIDUzMTksIDEuMzI4ODc3MjEwNjE3MDY1NF0sIFsxNjYzODM1MTI0LjA5MTU5MiwgNTMyOCwgMS4xMjE3NDc0OTM3NDM4OTY1XSwgWzE2NjM4MzUxMjQuMjE3MzgzLCA1MzM3LCAxLjIyMzU0MTYxNzM5MzQ5MzddLCBbMTY2MzgzNTEyNC40MDk1OTQ1LCA1MzU1LCAxLjIzOTEzODg0MTYyOTAyODNdLCBbMTY2MzgzNTEyNC42NzA2NjU1LCA1MzczLCAxLjM3MDc0MzYzMjMxNjU4OTRdLCBbMTY2MzgzNTEyNC45MTY1ODY2LCA1MzkxLCAxLjE3OTY3NDI2Nzc2ODg1OTldLCBbMTY2MzgzNTEyNS4wMjEyOTk0LCA1NDAwLCAxLjM1NjAxMDkxMzg0ODg3N10sIFsxNjYzODM1MTI1LjMxNTE5NzcsIDU0MjcsIDEuNjAwMzgyMjA4ODI0MTU3N10sIFsxNjYzODM1MTI1LjQxNzk3NzMsIDU0MzYsIDEuMzQ2MTIyNTAzMjgwNjM5Nl0sIFsxNjYzODM1MTI1Ljk0MDgyNjIsIDU0ODEsIDEuMTc1MTU5NTczNTU0OTkyN10sIFsxNjYzODM1MTI2LjEzNTU3NzIsIDU0OTksIDEuMjI1OTIyNzAzNzQyOTgxXSwgWzE2NjM4MzUxMjYuNDQzODk5NCwgNTUyNiwgMS4zMTI1NDY2MTA4MzIyMTQ0XSwgWzE2NjM4MzUxMjYuNTM0MTk0NywgNTUzNSwgMS4xOTIwMDIyOTY0NDc3NTRdLCBbMTY2MzgzNTEyNi43NTkzMDU3LCA1NTUzLCAxLjE1MDM0MjcwMjg2NTYwMDZdLCBbMTY2MzgzNTEyNi45NDYzMDE1LCA1NTcxLCAxLjU1NDM5MjkzMzg0NTUyXSwgWzE2NjM4MzUxMjcuMTM2ODYyNSwgNTU4OSwgMS40MjYwMDQ1Mjg5OTkzMjg2XSwgWzE2NjM4MzUxMjcuMzM4NTY3NSwgNTYwNywgMS4yNTkyMjkzMDI0MDYzMTFdLCBbMTY2MzgzNTEyNy40MzcxOTU4LCA1NjE2LCAxLjM2MzE3NzY1NzEyNzM4MDRdLCBbMTY2MzgzNTEyNy43MjQ4NTg4LCA1NjQzLCAxLjIzMzQ5MjM3NDQyMDE2Nl0sIFsxNjYzODM1MTI3LjkzNTA2OTgsIDU2NjEsIDEuMzMxMTQ4Mzg2MDAxNTg3XSwgWzE2NjM4MzUxMjguMDMxMDg1NSwgNTY3MCwgMS4yMzU1OTE1MzA3OTk4NjU3XSwgWzE2NjM4MzUxMjguMzk3ODEsIDU3MDYsIDEuMjExODQyMjk4NTA3NjkwNF0sIFsxNjYzODM1MTI4Ljc4MTgzMzYsIDU3NDIsIDEuMzM0NDYzMzU3OTI1NDE1XSwgWzE2NjM4MzUxMjkuMDgxNzM1NiwgNTc2OSwgMS4zNDQzMzIwOTg5NjA4NzY1XSwgWzE2NjM4MzUxMjkuMTc4NjQ0NywgNTc3OCwgMS40NjA5MzExODE5MDc2NTM4XSwgWzE2NjM4MzUxMjkuMjY0NzM5LCA1Nzg3LCAxLjE1MjMwMzkzNDA5NzI5XSwgWzE2NjM4MzUxMjkuMzU3OTYxNywgNTc5NiwgMS4zNDU4MjQ3MTg0NzUzNDE4XSwgWzE2NjM4MzUxMjkuNDU2MDM2NiwgNTgwNSwgMS43MTEzMTg3MzEzMDc5ODM0XSwgWzE2NjM4MzUxMjkuOTM4NzY1MywgNTg1MCwgMS4yMDM2MjgwNjMyMDE5MDQzXSwgWzE2NjM4MzUxMzAuMTM1NDE2NywgNTg2OCwgMS4xNzcyNDgwMDEwOTg2MzI4XSwgWzE2NjM4MzUxMzAuMjM5MTc1OCwgNTg3NywgMS43MzQ5MDI2MjAzMTU1NTE4XSwgWzE2NjM4MzUxMzAuNDIwNzMzNSwgNTg5NSwgMS4yMjUzMzIxNDA5MjI1NDY0XSwgWzE2NjM4MzUxMzAuNTA1OTg5NiwgNTkwNCwgMS4xNTcxOTY3NjAxNzc2MTIzXSwgWzE2NjM4MzUxMzEuMDE2NTQ3NCwgNTkzMSwgMS4xODQ1OTI3MjM4NDY0MzU1XSwgWzE2NjM4MzUxMzEuMjEyMDM3OCwgNTk0OSwgMS4zMDIxMDY3MzgwOTA1MTUxXSwgWzE2NjM4MzUxMzIuMDI0MTEzNywgNjAxMiwgMS4yNTM0NjUyOTQ4Mzc5NTE3XSwgWzE2NjM4MzUxMzIuNDQ0NjIyNSwgNjAzOSwgMS4yNjM2NzA2ODI5MDcxMDQ1XSwgWzE2NjM4MzUxMzMuMDQ3ODI1OCwgNjA4NCwgMS41MjIzODg2OTY2NzA1MzIyXSwgWzE2NjM4MzUxMzMuMTQ3MDUyNSwgNjA5MywgMS4yNzgyODM1OTYwMzg4MTg0XSwgWzE2NjM4MzUxMzMuMjM5NTQzNCwgNjEwMiwgMS40NDE0ODQyMTI4NzUzNjYyXSwgWzE2NjM4MzUxMzMuNTMyMTk5MSwgNjEyOSwgMS4yODU1NzU4NjY2OTkyMTg4XSwgWzE2NjM4MzUxMzMuNzE3MzUyLCA2MTQ3LCAxLjM2MDg3NzE1NjI1NzYyOTRdLCBbMTY2MzgzNTEzMy44MDY1MzI2LCA2MTU2LCAxLjM3MDIyMjU2ODUxMTk2M10sIFsxNjYzODM1MTMzLjkwNDMzODgsIDYxNjUsIDEuMjAwMzQ2NzA4Mjk3NzI5NV0sIFsxNjYzODM1MTM0LjE4NDYzNjYsIDYxOTIsIDEuMzA0NzM5MTE3NjIyMzc1NV0sIFsxNjYzODM1MTM0LjY5Mzk0MiwgNjIzNywgMS40MTI1NjA1ODIxNjA5NDk3XSwgWzE2NjM4MzUxMzQuODgxMzQ5MywgNjI1NSwgMS4yMjExMjkwNTk3OTE1NjVdLCBbMTY2MzgzNTEzNS4wNzkyMTEyLCA2MjczLCAxLjExMDg4OTQzNDgxNDQ1MzFdLCBbMTY2MzgzNTEzNS4xNzQ2NDc4LCA2MjgyLCAxLjY3OTUxNTQ4MDk5NTE3ODJdLCBbMTY2MzgzNTEzNS4zNzk2NDY4LCA2MzAwLCAxLjE0ODk3ODExNDEyODExMjhdLCBbMTY2MzgzNTEzNS42NjUxNzk1LCA2MzI3LCAyLjAwMjM3NDQxMDYyOTI3MjVdLCBbMTY2MzgzNTEzNS43NTc4ODgsIDYzMzYsIDEuMTk0OTg4NjA4MzYwMjkwNV0sIFsxNjYzODM1MTM1Ljk1MTUyMjQsIDYzNTQsIDEuMjU3NzM1MzcxNTg5NjYwNl0sIFsxNjYzODM1MTM2LjUxNjMwODUsIDYzOTAsIDEuMDkwMzM3Mzk1NjY4MDI5OF0sIFsxNjYzODM1MTM2LjY2OTEwNSwgNjM5OSwgMS4xNDY2OTIwMzc1ODIzOTc1XSwgWzE2NjM4MzUxMzYuOTMwMjY0NSwgNjQxNywgMS4yMDY0NjE5MDY0MzMxMDU1XSwgWzE2NjM4MzUxMzcuMjkxMTc4MiwgNjQ0NCwgMS4yNDEyOTEwNDYxNDI1NzgxXSwgWzE2NjM4MzUxMzcuNTMwMTc0NywgNjQ2MiwgMS4yMjMwNzQxOTc3NjkxNjVdLCBbMTY2MzgzNTEzNy44ODEwNDcyLCA2NDg5LCAxLjE4MjcwNjQ3NTI1Nzg3MzVdLCBbMTY2MzgzNTEzOC4wMTA2NjA0LCA2NDk4LCAxLjM2Njc0MzU2NDYwNTcxM10sIFsxNjYzODM1MTM4LjI0NDk1MTIsIDY1MTYsIDEuMDgzOTU3MDc2MDcyNjkyOV0sIFsxNjYzODM1MTM4LjQ0NTMxNTQsIDY1MzQsIDEuMTQzMTgxMzI0MDA1MTI3XSwgWzE2NjM4MzUxMzguNTY4MzY5OSwgNjU0MywgMS4xMTcwNjM3NjA3NTc0NDYzXSwgWzE2NjM4MzUxMzguODAyMjg2MSwgNjU2MSwgMS4yMDMxNTkzMzIyNzUzOTA2XSwgWzE2NjM4MzUxMzguOTAyOTA1NywgNjU3MCwgMS41Mjg2MjAxMjM4NjMyMjAyXSwgWzE2NjM4MzUxMzkuMTI0NDk4NCwgNjU4OCwgMS4wODcwNDM0MDQ1NzkxNjI2XSwgWzE2NjM4MzUxMzkuMjIyMDYyLCA2NTk3LCAxLjI0ODUxNDUzMzA0MjkwNzddLCBbMTY2MzgzNTEzOS4zMDk4MzExLCA2NjA2LCAxLjM2MTUzMjMzMDUxMzAwMDVdLCBbMTY2MzgzNTE0MC4wMTQzNzgzLCA2NjUxLCAxLjI4MTA0ODg5MzkyODUyNzhdLCBbMTY2MzgzNTE0MC40OTMwNDQsIDY2ODcsIDEuMTM4NTYyNjc5MjkwNzcxNV0sIFsxNjYzODM1MTQwLjYyMTYzOTUsIDY2OTYsIDEuMDkzNTk3MDU0NDgxNTA2M10sIFsxNjYzODM1MTQwLjczNjcwNDgsIDY3MDUsIDEuMDQ0MTEyMzI0NzE0NjYwNl0sIFsxNjYzODM1MTQxLjk4NjQ4NSwgNjgxMywgMS4zMDcwOTcxOTY1Nzg5Nzk1XSwgWzE2NjM4MzUxNDIuMjQzMDUxLCA2ODMxLCAxLjM1Nzk5Njk0MDYxMjc5M10sIFsxNjYzODM1MTQyLjg0NzA4MjksIDY4ODUsIDEuMDU5MjI0MzY3MTQxNzIzNl0sIFsxNjYzODM1MTQyLjk1NTI2NzcsIDY4OTQsIDEuMTc1NDg5MDY4MDMxMzExXSwgWzE2NjM4MzUxNDMuMzI3MTY3LCA2OTIxLCAxLjMzNTA3MzU5MDI3ODYyNTVdLCBbMTY2MzgzNTE0My40NjY2ODE3LCA2OTMwLCAxLjI0MTA2NDA3MTY1NTI3MzRdLCBbMTY2MzgzNTE0My44NTIzNjM2LCA2OTU3LCAxLjM0NzA1ODQxNTQxMjkwMjhdLCBbMTY2MzgzNTE0NC4yMDA2MjU0LCA2OTg0LCAxLjg3NzE5NjA3MzUzMjEwNDVdLCBbMTY2MzgzNTE0NC4yOTE2MDI4LCA2OTkzLCAxLjQzMzAyMzY5MTE3NzM2ODJdLCBbMTY2MzgzNTE0NC40NzM4Nzg5LCA3MDExLCAxLjM0MDY5MDczMjAwMjI1ODNdLCBbMTY2MzgzNTE0NC41NzUzNzIsIDcwMjAsIDEuNDAwNzY5OTQ4OTU5MzUwNl0sIFsxNjYzODM1MTQ0LjY3MjA5NjcsIDcwMjksIDEuMjEwOTQyMjY4MzcxNTgyXSwgWzE2NjM4MzUxNDQuNzYzMzg4MiwgNzAzOCwgMS4wNjQ3MTY0NTgzMjA2MTc3XSwgWzE2NjM4MzUxNDQuODU3NjIxMiwgNzA0NywgMS4xODk4NTUwOTg3MjQzNjUyXSwgWzE2NjM4MzUxNDUuNDI0NTU3LCA3MTAxLCAxLjI2MzM3MDM5NDcwNjcyNl0sIFsxNjYzODM1MTQ1LjcwOTA3MjYsIDcxMjgsIDEuMTgwNjI0ODQyNjQzNzM3OF0sIFsxNjYzODM1MTQ3LjIwMjgxNzcsIDcyNDUsIDEuMDU3NDc5MDIzOTMzNDEwNl0sIFsxNjYzODM1MTQ3LjM1MzMyMzUsIDcyNTQsIDEuMDgzMzIzNzE3MTE3MzA5Nl0sIFsxNjYzODM1MTQ3LjQ0Njg3NywgNzI2MywgMS4yNzQ5NTIxNzMyMzMwMzIyXSwgWzE2NjM4MzUxNDcuNTQ1NTUxMywgNzI3MiwgMS4zNzI4MTIzOTAzMjc0NTM2XSwgWzE2NjM4MzUxNDcuODUyODA0NywgNzI5OSwgMS40MzUxMjU3MDg1ODAwMTddLCBbMTY2MzgzNTE0OC43OTkzOTcyLCA3MzcxLCAxLjE2MTY2MzUzMjI1NzA4XSwgWzE2NjM4MzUxNDguOTM3OTI4MiwgNzM4MCwgMS4wMDM0NTY1OTI1NTk4MTQ1XSwgWzE2NjM4MzUxNTAuMDg4NDg1NywgNzQ1MiwgMS4xNzExOTQ1NTMzNzUyNDQxXSwgWzE2NjM4MzUxNTAuMTkzNDcxMiwgNzQ2MSwgMS4xNjE0ODI1NzI1NTU1NDJdLCBbMTY2MzgzNTE1MC42MjU3Njc3LCA3NDk3LCAxLjA4MDkwMjY5NTY1NTgyMjhdLCBbMTY2MzgzNTE1MC43NDQ5NDg0LCA3NTA2LCAxLjAwNzE3NjM5OTIzMDk1N10sIFsxNjYzODM1MTUxLjAyODU1MSwgNzUyNCwgMS4xODE1NjgwMjY1NDI2NjM2XSwgWzE2NjM4MzUxNTEuMTQ4NzA3OSwgNzUzMywgMS40MTg4NzQyNjM3NjM0Mjc3XSwgWzE2NjM4MzUxNTEuMjcxODkyMywgNzU0MiwgMS40MjQ4ODk1NjQ1MTQxNjAyXSwgWzE2NjM4MzUxNTEuNTEwMjI0MywgNzU2MCwgMC45OTQ2MjAwODQ3NjI1NzMyXSwgWzE2NjM4MzUxNTEuNjA4ODAwNiwgNzU2OSwgMS4yNzc5NzkxMzU1MTMzMDU3XSwgWzE2NjM4MzUxNTEuOTAyNjY4NSwgNzU5NiwgMS41MjgwMzUwNDQ2NzAxMDVdLCBbMTY2MzgzNTE1Mi4xMDUwMTM2LCA3NjE0LCAxLjIxMjE4NzY0NzgxOTUxOV0sIFsxNjYzODM1MTUyLjU5NjIxMjYsIDc2NTksIDEuMjYxNzYxMDY5Mjk3NzkwNV0sIFsxNjYzODM1MTUyLjY5MTk0MTcsIDc2NjgsIDEuNjg2MTgzMDk0OTc4MzMyNV0sIFsxNjYzODM1MTUyLjk4MjQ0MDUsIDc2OTUsIDEuMzk3NzMxNjYxNzk2NTY5OF0sIFsxNjYzODM1MTUzLjI3MDQyMjIsIDc3MjIsIDEuMTkyNzA3MDYxNzY3NTc4MV0sIFsxNjYzODM1MTUzLjU2NzMxNDQsIDc3NDksIDEuNDAwMjA2NDQ2NjQ3NjQ0XSwgWzE2NjM4MzUxNTMuODMxNTg2LCA3NzY3LCAxLjUxNDgxMzU0MjM2NjAyNzhdLCBbMTY2MzgzNTE1NC4yNDI1NDIsIDc3OTQsIDEuMTk3MDYyMTM0NzQyNzM2OF0sIFsxNjYzODM1MTU0LjMzODUyOTgsIDc4MDMsIDEuMjcwOTU1MjA0OTYzNjg0XSwgWzE2NjM4MzUxNTQuNzMxNDY3NSwgNzgzOSwgMS4zMzIxNDcwMDIyMjAxNTM4XSwgWzE2NjM4MzUxNTQuODE4NTYwNiwgNzg0OCwgMS4wNjY4ODE0MTgyMjgxNDk0XSwgWzE2NjM4MzUxNTYuMDU0NzMxNCwgNzk2NSwgMS4xNjUzMTcwNTg1NjMyMzI0XSwgWzE2NjM4MzUxNTYuMTQ5MTc2MSwgNzk3NCwgMS4xNjk3MzEwMjA5Mjc0MjkyXSwgWzE2NjM4MzUxNTYuMjQ1Nzk0NSwgNzk4MywgMS40MDE4NjUyNDM5MTE3NDMyXSwgWzE2NjM4MzUxNTYuNjEzMDcwMiwgODAxOSwgMS43ODAwMTY3Nzk4OTk1OTcyXSwgWzE2NjM4MzUxNTYuODE2NTYxLCA4MDM3LCAxLjIzNDgwOTYzNzA2OTcwMjFdLCBbMTY2MzgzNTE1Ny4xMDE4ODg3LCA4MDY0LCAxLjk0MDQ2ODU0OTcyODM5MzZdLCBbMTY2MzgzNTE1Ny4yOTAzNjM4LCA4MDgyLCAxLjYzMDg4NDc2NjU3ODY3NDNdLCBbMTY2MzgzNTE1Ny4zNzk3OTQxLCA4MDkxLCAxLjM3MzYwMjE1MTg3MDcyNzVdLCBbMTY2MzgzNTE1Ny44Njg2MzI4LCA4MTE4LCAxLjI0NTIxMTM2MjgzODc0NTFdLCBbMTY2MzgzNTE1Ny45NzM1NjEzLCA4MTI3LCAxLjEwOTIxODk1NTAzOTk3OF0sIFsxNjYzODM1MTU4LjQ0Njg2ODQsIDgxNzIsIDEuMDk2NTk2MTIxNzg4MDI1XSwgWzE2NjM4MzUxNTguNTQ1OTQ5MiwgODE4MSwgMS4xMjAyOTAwNDA5Njk4NDg2XSwgWzE2NjM4MzUxNTguNzQ5MjUwNywgODE5OSwgMS4yMzYyMDA5Mjg2ODgwNDkzXSwgWzE2NjM4MzUxNTguODQ1OTYxNiwgODIwOCwgMS4xOTQxODI2MzQzNTM2Mzc3XSwgWzE2NjM4MzUxNTkuMTM0NTkwNCwgODIzNSwgMS4xOTEzMDgyNTk5NjM5ODkzXSwgWzE2NjM4MzUxNTkuNTE3NDgyMywgODI3MSwgMS4wODQ2OTU4MTYwNDAwMzldLCBbMTY2MzgzNTE1OS42MTA3MTUsIDgyODAsIDEuMDczOTczNTM2NDkxMzk0XSwgWzE2NjM4MzUxNTkuODE4NTA4NiwgODI5OCwgMS4yMDc0NTY0Njk1MzU4Mjc2XSwgWzE2NjM4MzUxNjAuMDE5NDAwNiwgODMxNiwgMS4zOTY1ODcwMTQxOTgzMDMyXSwgWzE2NjM4MzUxNjAuNTA0NTE2OCwgODM2MSwgMS4wMjQwNTg5MzgwMjY0MjgyXSwgWzE2NjM4MzUxNjAuNzI1MzI1LCA4Mzc5LCAxLjE2MTY0NDY5NzE4OTMzMV0sIFsxNjYzODM1MTYwLjg2MDEyMDgsIDgzODgsIDEuMTY5MTI2NzQ5MDM4Njk2M10sIFsxNjYzODM1MTYwLjk5MDM3MjIsIDgzOTcsIDEuMzUyOTcxMDc2OTY1MzMyXSwgWzE2NjM4MzUxNjEuMzc2NzQyNCwgODQyNCwgMS4xNzcxNDUxMjM0ODE3NTA1XSwgWzE2NjM4MzUxNjEuODc1NzM3NywgODQ2MCwgMS4wNjA0NzQ3NTMzNzk4MjE4XSwgWzE2NjM4MzUxNjIuMTEyNTk4MiwgODQ3OCwgMS4wNjExMzQ4MTUyMTYwNjQ1XSwgWzE2NjM4MzUxNjIuMjM1OTE2OSwgODQ4NywgMS4zMjU5OTg5MDIzMjA4NjE4XSwgWzE2NjM4MzUxNjIuNTg1OTQ2NiwgODUxNCwgMS4xMjI4NzcwMDE3NjIzOTAxXSwgWzE2NjM4MzUxNjMuMDUzODQ1MiwgODU1MCwgMC45OTI1MTMxNzk3NzkwNTI3XSwgWzE2NjM4MzUxNjMuNDAyNjc0LCA4NTc3LCAwLjk1NDQwOTcxODUxMzQ4ODhdLCBbMTY2MzgzNTE2My43MDQ4Mzg4LCA4NjA0LCAxLjIzNDIyMTkzNTI3MjIxNjhdLCBbMTY2MzgzNTE2My44MTI5OTQsIDg2MTMsIDEuMjExMDEyOTU5NDgwMjg1Nl0sIFsxNjYzODM1MTY0LjIyMDczMjUsIDg2NDksIDEuMTg4Mjk2MTk4ODQ0OTA5N10sIFsxNjYzODM1MTY0LjQwMTc2MjIsIDg2NjcsIDEuMTcwMzYxODc2NDg3NzMyXSwgWzE2NjM4MzUxNjQuNDk4NDA1MiwgODY3NiwgMS4xMDgxNjM1OTUxOTk1ODVdLCBbMTY2MzgzNTE2NC43MDk0MzcsIDg2OTQsIDEuNDIwODE1MjI5NDE1ODkzNl0sIFsxNjYzODM1MTY0LjkwMTY2NjYsIDg3MTIsIDEuMjY1MTA3NTEyNDc0MDZdLCBbMTY2MzgzNTE2NS4wMDkxNTEsIDg3MjEsIDEuMzY5Nzc1NTMzNjc2MTQ3NV0sIFsxNjYzODM1MTY1LjMyNjU1MTIsIDg3NDgsIDEuMTU4MDc5NTA0OTY2NzM1OF0sIFsxNjYzODM1MTY2LjEwOTg4MTQsIDg3OTMsIDEuMzg2MTA2ODQ4NzE2NzM1OF0sIFsxNjYzODM1MTY2LjMzNzQ3NiwgODgxMSwgMS4xNzU0Mjk3MDE4MDUxMTQ3XSwgWzE2NjM4MzUxNjYuNDc0ODg3NCwgODgyMCwgMS4yNjQyNDMzNjQzMzQxMDY0XSwgWzE2NjM4MzUxNjYuNzkwMDM3MiwgODg0NywgMS40NTQ3MTY4MDE2NDMzNzE2XSwgWzE2NjM4MzUxNjcuMjg2MzQ3NiwgODg4MywgMS4wOTY3MjIyNDUyMTYzNjk2XSwgWzE2NjM4MzUxNjcuNzE5MzU5NCwgODkxOSwgMS42MzM1NTMyNjY1MjUyNjg2XSwgWzE2NjM4MzUxNjcuOTgzMTE5NywgODkzNywgMS4zMzA5ODg3NjQ3NjI4Nzg0XSwgWzE2NjM4MzUxNjguMTg1MjQzLCA4OTU1LCAxLjIwODQzMzk4NTcxMDE0NF0sIFsxNjYzODM1MTY4LjQ1NDg0MDQsIDg5NzMsIDEuNzMzODc1Mjc0NjU4MjAzMV0sIFsxNjYzODM1MTY4LjY3NjgyNDYsIDg5OTEsIDEuMTM4MjE2OTcyMzUxMDc0Ml0sIFsxNjYzODM1MTY4LjgxNDMwMiwgOTAwMCwgMC45MjY3MzQ1MDcwODM4OTI4XSwgWzE2NjM4MzUxNjkuMTgxNDYzLCA5MDI3LCAxLjE5MjU0NTY1MjM4OTUyNjRdLCBbMTY2MzgzNTE2OS4yODExNTgyLCA5MDM2LCAxLjA4NTU2MjQ2NzU3NTA3MzJdLCBbMTY2MzgzNTE2OS40MDQ2Mjk3LCA5MDQ1LCAxLjU0NzgyNjY0Nzc1ODQ4MzldLCBbMTY2MzgzNTE2OS41OTY0NzYzLCA5MDYzLCAxLjA2Njc3NTQ0MTE2OTczODhdLCBbMTY2MzgzNTE3MC4xMjI4MzgsIDkxMDgsIDEuMTk4NjQ4ODEwMzg2NjU3N10sIFsxNjYzODM1MTcwLjMxODM4NjMsIDkxMjYsIDEuMTMzNzcxNjU3OTQzNzI1Nl0sIFsxNjYzODM1MTcwLjUxNDA3MSwgOTE0NCwgMS4wNDA5NTMzOTc3NTA4NTQ1XSwgWzE2NjM4MzUxNzEuMjExNzQyNiwgOTIwNywgMS4wNTA1NDE5OTY5NTU4NzE2XSwgWzE2NjM4MzUxNzEuNjE4NTc3LCA5MjQzLCAxLjA1NjIxMjU0NDQ0MTIyMzFdLCBbMTY2MzgzNTE3MS44MDI4MzYsIDkyNjEsIDEuMTA1MDYxMjkyNjQ4MzE1NF0sIFsxNjYzODM1MTcxLjg5NjY2NjUsIDkyNzAsIDEuMDY0ODkyMjkyMDIyNzA1XSwgWzE2NjM4MzUxNzIuNDgwMzU2NSwgOTMyNCwgMS4wODkwODQ5ODI4NzIwMDkzXSwgWzE2NjM4MzUxNzIuNTg2MTYxMSwgOTMzMywgMS4xNTM5Mzg4ODk1MDM0NzldLCBbMTY2MzgzNTE3Mi42OTMwMTkyLCA5MzQyLCAxLjQxMTc1MjgyMDAxNDk1MzZdLCBbMTY2MzgzNTE3Mi43ODQ1ODQ1LCA5MzUxLCAxLjI3MjI4OTM5NTMzMjMzNjRdLCBbMTY2MzgzNTE3Mi44Nzk2OTIzLCA5MzYwLCAxLjYyNzI2NzI0MTQ3Nzk2NjNdLCBbMTY2MzgzNTE3My4yODcyMzgsIDkzOTYsIDEuMDU5MzQ5NDE3Njg2NDYyNF0sIFsxNjYzODM1MTczLjU3MjQ5NzQsIDk0MjMsIDEuMzA5MTg0OTA4ODY2ODgyM10sIFsxNjYzODM1MTc0LjgzOTg0NjgsIDk1MTMsIDEuMTk1MzYwODk4OTcxNTU3Nl0sIFsxNjYzODM1MTc1LjA4MzQ0MjQsIDk1MzEsIDEuMjIxNDQ3NTg3MDEzMjQ0Nl0sIFsxNjYzODM1MTc1LjE5MjM2MDQsIDk1NDAsIDEuMDU1NzA1NTQ3MzMyNzYzN10sIFsxNjYzODM1MTc1LjI5MDY5MjYsIDk1NDksIDEuMTcxNDc5NzAxOTk1ODQ5Nl0sIFsxNjYzODM1MTc1LjQ4NjkwNTgsIDk1NjcsIDEuMjA2Mjg0OTk5ODQ3NDEyXSwgWzE2NjM4MzUxNzUuNzc5MDk5LCA5NTk0LCAxLjM0NDkzNzY4MjE1MTc5NDRdLCBbMTY2MzgzNTE3Ni4wMTAwNzMsIDk2MTIsIDEuMDY5MjEyOTEzNTEzMTgzNl0sIFsxNjYzODM1MTc2LjIwNjIwOCwgOTYzMCwgMS4wNjY1MzQwNDIzNTgzOTg0XSwgWzE2NjM4MzUxNzYuMzA4MjA2OCwgOTYzOSwgMS4xMTQ4NTY2MDA3NjE0MTM2XSwgWzE2NjM4MzUxNzYuMzk3NDczLCA5NjQ4LCAxLjQzNzQ1NzIwMzg2NTA1MTNdLCBbMTY2MzgzNTE3Ni41MjQxMDUzLCA5NjU3LCAxLjI4NDMyMTMwODEzNTk4NjNdLCBbMTY2MzgzNTE3Ni42NTUxNTI4LCA5NjY2LCAxLjA1NDE0MDkyNTQwNzQwOTddLCBbMTY2MzgzNTE3Ni43ODkzMjQzLCA5Njc1LCAxLjMxMzcwMTE1MjgwMTUxMzddLCBbMTY2MzgzNTE3Ny4xNTE1NDc0LCA5NzAyLCAxLjA1ODAxMjAwODY2Njk5MjJdLCBbMTY2MzgzNTE3Ny4yNzE5MDUsIDk3MTEsIDEuMTcxNDUxMzMwMTg0OTM2NV0sIFsxNjYzODM1MTc3LjUwMzUyLCA5NzI5LCAxLjM0NzI0MTUyMDg4MTY1MjhdLCBbMTY2MzgzNTE3Ny42MTQ4Nzg3LCA5NzM4LCAxLjM2MTEyMzQ0MjY0OTg0MTNdLCBbMTY2MzgzNTE3Ny43MjUyMzksIDk3NDcsIDAuOTg3NTg4ODgyNDQ2Mjg5MV0sIFsxNjYzODM1MTc4LjAxOTE5OTQsIDk3NzQsIDAuOTg2NTg0NTQ0MTgxODIzN10sIFsxNjYzODM1MTc4LjEyNDEyMiwgOTc4MywgMS4wNjE1NTE5Mjg1MjAyMDI2XSwgWzE2NjM4MzUxNzguMjEzMDg2NCwgOTc5MiwgMS41MDMyMDE0ODQ2ODAxNzU4XSwgWzE2NjM4MzUxNzguNjQzNTI1OCwgOTgyOCwgMC45OTg4MjY5MjA5ODYxNzU1XSwgWzE2NjM4MzUxNzkuNDc3MTg0OCwgOTg5MSwgMS4wOTQxMDIzODI2NTk5MTJdLCBbMTY2MzgzNTE3OS43MDgyOTA4LCA5OTA5LCAxLjYxODA1MTA1MjA5MzUwNTldLCBbMTY2MzgzNTE3OS45NTI0MiwgOTkyNywgMS4wOTY1OTkxMDIwMjAyNjM3XSwgWzE2NjM4MzUxODAuMDg0MjE1NCwgOTkzNiwgMC45NDkzOTcwODcwOTcxNjhdLCBbMTY2MzgzNTE4MC4xNzk3Mjk1LCA5OTQ1LCAxLjE1MDI4NDc2NzE1MDg3OV0sIFsxNjYzODM1MTgwLjQ2ODY4MywgOTk3MiwgMS40MzgwMzcxNTcwNTg3MTU4XSwgWzE2NjM4MzUxODAuNjYyNzI4NSwgOTk5MCwgMS4yMjI3ODEwNjIxMjYxNTk3XSwgWzE2NjM4MzUxODAuODUyOTU3LCAxMDAwOCwgMS4wNzc1NzIxMDczMTUwNjM1XSwgWzE2NjM4MzUxODAuOTU3MTUyNCwgMTAwMTcsIDEuNDYyMjk0NTc4NTUyMjQ2XSwgWzE2NjM4MzUxODEuMTcwMDY2LCAxMDAzNSwgMS4xNTg3MDYzMDc0MTExOTM4XSwgWzE2NjM4MzUxODEuNjYwOTU3OCwgMTAwODAsIDEuMjQxMTQ2MzI2MDY1MDYzNV0sIFsxNjYzODM1MTgxLjg0NTUyMDUsIDEwMDk4LCAxLjYxMTE1NDU1NjI3NDQxNF0sIFsxNjYzODM1MTgxLjkzODU1LCAxMDEwNywgMC45NzU3MTYzNTI0NjI3Njg2XSwgWzE2NjM4MzUxODIuMjM4NjI1NSwgMTAxMzQsIDEuMDU4NDM5MDE2MzQyMTYzXSwgWzE2NjM4MzUxODIuMzM1MTgwOCwgMTAxNDMsIDEuMTU5NjU3MzU5MTIzMjNdLCBbMTY2MzgzNTE4Mi41MjQ1Njk1LCAxMDE2MSwgMC45NjQ2NjQ1MTg4MzMxNjA0XSwgWzE2NjM4MzUxODIuNjE4NTMxLCAxMDE3MCwgMS4yMzkwMzQ0MTQyOTEzODE4XSwgWzE2NjM4MzUxODIuOTExMjg4LCAxMDE5NywgMS4xMDQ1MjEzOTM3NzU5NF0sIFsxNjYzODM1MTgzLjMxNDAxMTgsIDEwMjE1LCAwLjk4MjA1ODA0ODI0ODI5MV0sIFsxNjYzODM1MTgzLjQxMDA3MzMsIDEwMjI0LCAxLjAxMDU0MDI0Njk2MzUwMV0sIFsxNjYzODM1MTgzLjUwMTcyMTQsIDEwMjMzLCAxLjA1MzU3ODk3MjgxNjQ2NzNdLCBbMTY2MzgzNTE4My44NzM2NjIsIDEwMjYwLCAxLjE4NTc5ODUyNTgxMDI0MTddLCBbMTY2MzgzNTE4NC43NTYyOTksIDEwMzIzLCAxLjA1NzM5NzEyNzE1MTQ4OTNdLCBbMTY2MzgzNTE4NC45NDY0OTg0LCAxMDM0MSwgMS4xNzc0MTIwMzMwODEwNTQ3XSwgWzE2NjM4MzUxODUuMTMwMzk4NSwgMTAzNTksIDEuMjg3NTM2ODU5NTEyMzI5XSwgWzE2NjM4MzUxODUuMjI1MDM1NCwgMTAzNjgsIDEuMDY5OTQzMzA4ODMwMjYxMl0sIFsxNjYzODM1MTg1LjMxNTg0MzMsIDEwMzc3LCAxLjM1MDIyODc4NjQ2ODUwNTldLCBbMTY2MzgzNTE4NS40MjYwNjksIDEwMzg2LCAxLjU5NDI2MzMxNTIwMDgwNTddLCBbMTY2MzgzNTE4Ni4xMjMyMjU1LCAxMDQ0OSwgMS4yNzc2ODczMTExNzI0ODU0XSwgWzE2NjM4MzUxODYuMzI0MDMwOSwgMTA0NjcsIDEuMzc4NzczMDkzMjIzNTcxOF0sIFsxNjYzODM1MTg2LjUyNDA1OTUsIDEwNDg1LCAxLjEzMDQyODE5NDk5OTY5NDhdLCBbMTY2MzgzNTE4Ni44MTY5NzE4LCAxMDUxMiwgMS4yODk5NDA5NTMyNTQ2OTk3XSwgWzE2NjM4MzUxODcuNDA5MjE3NiwgMTA1NjYsIDEuMTM0ODQ2MjEwNDc5NzM2M10sIFsxNjYzODM1MTg3LjQ5ODk3MTIsIDEwNTc1LCAxLjE4NTU3NDg4OTE4MzA0NDRdLCBbMTY2MzgzNTE4Ny42ODk4NTgsIDEwNTkzLCAxLjA3MDA5NDgyMzgzNzI4MDNdLCBbMTY2MzgzNTE4Ny43ODY3MDEyLCAxMDYwMiwgMS4wNTM0NjcxNTQ1MDI4Njg3XSwgWzE2NjM4MzUxODcuODgwNTYxNCwgMTA2MTEsIDEuMjA4MDc4NjIyODE3OTkzMl0sIFsxNjYzODM1MTg4LjI4NzgyNDksIDEwNjQ3LCAxLjI3MjMwMzU4MTIzNzc5M10sIFsxNjYzODM1MTg4LjUxNTg1MDMsIDEwNjY1LCAxLjQzOTI1MjEzODEzNzgxNzRdLCBbMTY2MzgzNTE4OC44MDU1OTY0LCAxMDY4MywgMC45OTY5OTM4OTkzNDUzOThdLCBbMTY2MzgzNTE4OS4xMzEwOTMzLCAxMDcxMCwgMS4xNzc5MDAzMTQzMzEwNTQ3XSwgWzE2NjM4MzUxODkuMjU4OTg0OCwgMTA3MTksIDEuMzIwNDUzNTI0NTg5NTM4Nl0sIFsxNjYzODM1MTg5LjYwNTU5NSwgMTA3NDYsIDEuNDQ3NTExNjcyOTczNjMyOF0sIFsxNjYzODM1MTg5Ljc0MjcwOTIsIDEwNzU1LCAxLjI5MjY5NjgzMzYxMDUzNDddLCBbMTY2MzgzNTE5MC4wNjkzMDM4LCAxMDc4MiwgMS4wNzgxMDY2NDE3Njk0MDkyXSwgWzE2NjM4MzUxOTAuMTY1NjY0MiwgMTA3OTEsIDIuMDgwMzc5MDA5MjQ2ODI2XSwgWzE2NjM4MzUxOTAuNTkzMzUzNSwgMTA4MTgsIDEuMTIwMzI4NjY0Nzc5NjYzXSwgWzE2NjM4MzUxOTEuMDg0OTIyLCAxMDg1NCwgMS4zNTA0NDQ2NzQ0OTE4ODIzXSwgWzE2NjM4MzUxOTEuMTk2MTYxMywgMTA4NjMsIDEuNDAwMzc0MDU0OTA4NzUyNF0sIFsxNjYzODM1MTkxLjMwOTUwODMsIDEwODcyLCAxLjA4MjEyMzM5ODc4MDgyMjhdLCBbMTY2MzgzNTE5MS41MzYyODU5LCAxMDg5MCwgMS4xNzk1NTc4MDAyOTI5Njg4XSwgWzE2NjM4MzUxOTEuOTI3NzM1LCAxMDkyNiwgMS4wNDAxMTYxOTA5MTAzMzk0XSwgWzE2NjM4MzUxOTIuMjMzNDI1NiwgMTA5MzUsIDEuMjY4Mjg2MzQ3Mzg5MjIxMl0sIFsxNjYzODM1MTkyLjcwODMwMzUsIDEwOTcxLCAxLjIzMjA4NDE1NTA4MjcwMjZdLCBbMTY2MzgzNTE5My4yNjM3MTQ4LCAxMTAxNiwgMS4wNTk3NjYyOTI1NzIwMjE1XSwgWzE2NjM4MzUxOTMuNDYzNTY0NCwgMTEwMzQsIDEuMDM2MDI4MjY1OTUzMDY0XSwgWzE2NjM4MzUxOTMuOTE0NDQwNiwgMTEwNzAsIDAuOTAxNDA5NzQ1MjE2MzY5Nl0sIFsxNjYzODM1MTk0LjI4MDk5OTIsIDExMDk3LCAxLjIyNTQwNzk1ODAzMDcwMDddLCBbMTY2MzgzNTE5NC4zODEzMjM4LCAxMTEwNiwgMS41NDMwNDMzNzUwMTUyNTg4XSwgWzE2NjM4MzUxOTQuODQ4NzI1OCwgMTExNTEsIDEuMTAxMDAyMzM1NTQ4NDAwOV0sIFsxNjYzODM1MTk1LjA0NjU5MjcsIDExMTY5LCAxLjA4ODY1NDg3NTc1NTMxXSwgWzE2NjM4MzUxOTUuMzQwNzYyOSwgMTExOTYsIDAuOTkyNDI5NzkyODgxMDEyXSwgWzE2NjM4MzUxOTUuNDI4ODQ4MywgMTEyMDUsIDEuMTQ4Nzg3ODU2MTAxOTg5N10sIFsxNjYzODM1MTk1LjY1ODQxNywgMTEyMjMsIDEuMDcxODYzMTc0NDM4NDc2Nl0sIFsxNjYzODM1MTk2LjA1NTUwMywgMTEyNTAsIDEuMTc5MDE3NTQzNzkyNzI0Nl0sIFsxNjYzODM1MTk2LjE4MDE3NDgsIDExMjU5LCAxLjI4ODU4MzUxNzA3NDU4NV0sIFsxNjYzODM1MTk2LjI5MTAzMSwgMTEyNjgsIDEuNTYxODA2NDQwMzUzMzkzNl0sIFsxNjYzODM1MTk2LjM5ODc1NzcsIDExMjc3LCAxLjAzMzQ1NTM3MTg1NjY4OTVdLCBbMTY2MzgzNTE5Ni42MzMxODM3LCAxMTI5NSwgMS4wMjk1NTIzNDA1MDc1MDczXSwgWzE2NjM4MzUxOTYuODY2NjQ4NCwgMTEzMTMsIDEuMzU1MTc2NTY4MDMxMzExXSwgWzE2NjM4MzUxOTYuOTc2Mjg3MSwgMTEzMjIsIDEuMDgyMTQzNzgzNTY5MzM2XSwgWzE2NjM4MzUxOTcuMzU2ODIwNiwgMTEzNDksIDEuMjIyOTQ1MzMyNTI3MTYwNl0sIFsxNjYzODM1MTk3LjQ1MDc2MjcsIDExMzU4LCAxLjI0NTY5NDg3NTcxNzE2M10sIFsxNjYzODM1MTk4LjA3MzkxNzYsIDExNDEyLCAxLjE1MjIyNTk3MTIyMTkyMzhdLCBbMTY2MzgzNTE5OC40NzMxMDI2LCAxMTQ0OCwgMS4wNzIxMTQ4MjUyNDg3MTgzXSwgWzE2NjM4MzUxOTguOTkxMDg2LCAxMTQ5MywgMS4zMTc3MDA4NjI4ODQ1MjE1XSwgWzE2NjM4MzUxOTkuMDg4OTc5NSwgMTE1MDIsIDEuNDY0MjM5MzU4OTAxOTc3NV0sIFsxNjYzODM1MTk5LjIwMzY5MSwgMTE1MTEsIDEuMzA4ODY4NTI3NDEyNDE0Nl0sIFsxNjYzODM1MTk5LjYwNDkwOTQsIDExNTQ3LCAxLjQ0NjU1Nzc2MDIzODY0NzVdLCBbMTY2MzgzNTE5OS45MTY1NDU0LCAxMTU3NCwgMS4zNzM2NTg2NTcwNzM5NzQ2XSwgWzE2NjM4MzUyMDAuNTE3ODQzNywgMTE2MTksIDEuMTM0MjcwNTQ4ODIwNDk1Nl0sIFsxNjYzODM1MjAwLjg2OTI0OTYsIDExNjQ2LCAxLjA0ODI0NTMxMDc4MzM4NjJdLCBbMTY2MzgzNTIwMS42NTQ0MjgyLCAxMTY5MSwgMS4xMDMyNDMzNTA5ODI2NjZdLCBbMTY2MzgzNTIwMS43ODAyNzQ5LCAxMTcwMCwgMS4xMDEyNDMyNTc1MjI1ODNdLCBbMTY2MzgzNTIwMi4xNTgxOTEyLCAxMTcyNywgMS4wNjAyNzIyMTY3OTY4NzVdLCBbMTY2MzgzNTIwMi41NjY1ODQ2LCAxMTc2MywgMS4wNzYwMTg4MTAyNzIyMTY4XSwgWzE2NjM4MzUyMDMuMDU1NzQ1MSwgMTE3OTksIDEuMzQ2Mjc0NjE0MzM0MTA2NF0sIFsxNjYzODM1MjAzLjU2NDE0LCAxMTg0NCwgMS4yNTI3MjM5MzIyNjYyMzU0XSwgWzE2NjM4MzUyMDQuMDQ4NzM4MiwgMTE4ODksIDAuOTI5NjQxNDg1MjE0MjMzNF0sIFsxNjYzODM1MjA0LjIzNTcwOTIsIDExOTA3LCAxLjA2Nzk0NjU1MzIzMDI4NTZdLCBbMTY2MzgzNTIwNC41MjExMTQ4LCAxMTkzNCwgMS4xNDY5NDc2MjIyOTkxOTQzXSwgWzE2NjM4MzUyMDQuNjE2MzY0NSwgMTE5NDMsIDEuMTUyMDI1MzQxOTg3NjA5OV0sIFsxNjYzODM1MjA0LjgxNTY1NDgsIDExOTYxLCAxLjM4NjEyMDU1Nzc4NTAzNDJdLCBbMTY2MzgzNTIwNS41NzUyNjM3LCAxMjAyNCwgMS4xODA5MDYxNzY1NjcwNzc2XSwgWzE2NjM4MzUyMDYuNzE3MjU3MywgMTIxMDUsIDEuMDQ1NTkwMDQzMDY3OTMyMV0sIFsxNjYzODM1MjA2LjgzMjM5MTMsIDEyMTE0LCAxLjA3NTkyMTQxNjI4MjY1MzhdLCBbMTY2MzgzNTIwNy4yMDk5MzU0LCAxMjE0MSwgMS4xNzI4NTkzMTExMDM4MjA4XSwgWzE2NjM4MzUyMDcuNTY4NDc0MywgMTIxNjgsIDEuMTk1Njg4MjQ3NjgwNjY0XSwgWzE2NjM4MzUyMDcuNjczNDg3NywgMTIxNzcsIDEuMjcyMzEwMDE4NTM5NDI4N10sIFsxNjYzODM1MjA3LjkxNjM3NTksIDEyMTk1LCAxLjAwNzcyMjQ5Njk4NjM4OTJdLCBbMTY2MzgzNTIwOC4zMzgzMTIsIDEyMjMxLCAwLjk0MjMzNDQxMzUyODQ0MjRdLCBbMTY2MzgzNTIwOC41MjkxNzMsIDEyMjQ5LCAxLjA3NTY3OTA2Mzc5Njk5N10sIFsxNjYzODM1MjA4LjkzMTk5NiwgMTIyODUsIDEuMDU5MDI3MzE0MTg2MDk2Ml0sIFsxNjYzODM1MjA5LjAzODk0MiwgMTIyOTQsIDEuNDM3NjE0MDgzMjkwMV0sIFsxNjYzODM1MjA5LjEzMjA0MzQsIDEyMzAzLCAxLjIxMjMxMTM4NzA2MjA3MjhdLCBbMTY2MzgzNTIwOS4yMjM3NTg3LCAxMjMxMiwgMS4xOTM2MzU1ODI5MjM4ODkyXSwgWzE2NjM4MzUyMDkuMzIwNzA3MywgMTIzMjEsIDEuMDY0NDY2OTUzMjc3NTg4XSwgWzE2NjM4MzUyMDkuOTkxODQ4NywgMTIzODQsIDEuMzQ3Nzg4MzMzODkyODIyM10sIFsxNjYzODM1MjEwLjA4ODA1NiwgMTIzOTMsIDEuMjI2MDY1Mzk3MjYyNTczMl0sIFsxNjYzODM1MjEwLjgwNDI3OCwgMTI0MjksIDEuMDg1NTAyNTA1MzAyNDI5Ml0sIFsxNjYzODM1MjExLjM4OTUwNjgsIDEyNDc0LCAxLjExMTU2NzczNTY3MTk5N10sIFsxNjYzODM1MjExLjU0OTcwNzIsIDEyNDgzLCAxLjMxODcyNTM0NzUxODkyMV0sIFsxNjYzODM1MjEyLjAwMzcwNDMsIDEyNTE5LCAxLjQzNDg5NTYzNDY1MTE4NF0sIFsxNjYzODM1MjEyLjMwOTI5MTQsIDEyNTQ2LCAxLjEzNTg1MjA5ODQ2NDk2NThdLCBbMTY2MzgzNTIxMi43MTQ3NDgxLCAxMjU4MiwgMS4wNjcxMDc0MzkwNDExMzc3XSwgWzE2NjM4MzUyMTQuODI1MzIzLCAxMjc2MiwgMS40MTE4NDM3NzY3MDI4ODA5XSwgWzE2NjM4MzUyMTUuMjU0MDk1LCAxMjc5OCwgMS4yMDYwMDc1OTk4MzA2Mjc0XSwgWzE2NjM4MzUyMTYuMjIzNzQzMiwgMTI4ODgsIDEuMDM2MTAxODE4MDg0NzE2OF0sIFsxNjYzODM1MjE2LjMxNTk0NzMsIDEyODk3LCAxLjA5NjUzMjQ2NDAyNzQwNDhdLCBbMTY2MzgzNTIxNi43NzI3Njk3LCAxMjkzMywgMC45NTI5ODQ1MTE4NTIyNjQ0XSwgWzE2NjM4MzUyMTcuMDI4ODMyNCwgMTI5NTEsIDEuMjc4NTk3NzEyNTE2Nzg0N10sIFsxNjYzODM1MjE3LjEzNzUwMjQsIDEyOTYwLCAwLjkzMjg4ODgwNTg2NjI0MTVdLCBbMTY2MzgzNTIxNy4yNTI5MzYxLCAxMjk2OSwgMS4wMDY1MzkxMDYzNjkwMTg2XSwgWzE2NjM4MzUyMTcuMzU1NDEyMiwgMTI5NzgsIDEuMDYwNjE1MDYyNzEzNjIzXSwgWzE2NjM4MzUyMTcuNjQ3NTUsIDEzMDA1LCAxLjAyODAwMTkwNDQ4NzYwOTldLCBbMTY2MzgzNTIxNy45NTExODQsIDEzMDMyLCAxLjExMzkwODg4NjkwOTQ4NDldLCBbMTY2MzgzNTIxOC4xNTMxMzMsIDEzMDUwLCAxLjA1NjE3MjYwOTMyOTIyMzZdLCBbMTY2MzgzNTIxOC40MDEwMjgsIDEzMDY4LCAxLjAxMjUzOTUwNTk1ODU1NzFdLCBbMTY2MzgzNTIxOC41MzE0ODcyLCAxMzA3NywgMS4wNzY2MjM0Mzk3ODg4MTg0XSwgWzE2NjM4MzUyMTguNzY5MzcxLCAxMzA5NSwgMS4xMTQ4MTA4MjQzOTQyMjZdLCBbMTY2MzgzNTIxOC44OTE5NDMyLCAxMzEwNCwgMS4xMjY5NDM3MDc0NjYxMjU1XSwgWzE2NjM4MzUyMTkuMDg3NzA2OCwgMTMxMjIsIDEuMDA4NDA2NDAwNjgwNTQyXSwgWzE2NjM4MzUyMTkuMTg4NDIzNiwgMTMxMzEsIDEuMDc0NDg2NjEzMjczNjIwNl0sIFsxNjYzODM1MjE5LjYxMzQ0NDYsIDEzMTQ5LCAxLjA1ODA4Nzk0NDk4NDQzNl0sIFsxNjYzODM1MjE5LjcxMzk1MDQsIDEzMTU4LCAxLjExMTg4Mzg3ODcwNzg4NTddLCBbMTY2MzgzNTIxOS45MDA0MDQ1LCAxMzE3NiwgMS4yMzgwNjk1MzQzMDE3NTc4XSwgWzE2NjM4MzUyMjAuNzM1ODcwMSwgMTMyMzksIDEuMjE2MDQxNTY0OTQxNDA2Ml0sIFsxNjYzODM1MjIxLjEyOTY5MTEsIDEzMjY2LCAwLjk2NzYyNTY3NzU4NTYwMThdLCBbMTY2MzgzNTIyMS4yNjI4NDMsIDEzMjc1LCAxLjExODA0NDAxODc0NTQyMjRdLCBbMTY2MzgzNTIyMS41MjQ1OTI0LCAxMzI5MywgMS4yMTk0NTg1ODAwMTcwODk4XSwgWzE2NjM4MzUyMjIuNDE0NTMzNiwgMTMzNTYsIDAuOTU0MTIzNzk1MDMyNTAxMl0sIFsxNjYzODM1MjIyLjg2NjQ2NjgsIDEzMzkyLCAxLjAyMDYxMzY3MDM0OTEyMV0sIFsxNjYzODM1MjIzLjE4MjYwMzEsIDEzNDE5LCAxLjExMDQ0OTQzMzMyNjcyMTJdLCBbMTY2MzgzNTIyMy41MDc0MTk2LCAxMzQ0NiwgMS4xMjc4MzM4NDMyMzEyMDEyXSwgWzE2NjM4MzUyMjMuNjI2NTM2NCwgMTM0NTUsIDEuMDgzMDYxODE0MzA4MTY2NV0sIFsxNjYzODM1MjI0LjA0NDI2OTgsIDEzNDkxLCAxLjA3OTA5ODIyNDYzOTg5MjZdLCBbMTY2MzgzNTIyNC4xNTc4NjI0LCAxMzUwMCwgMS4wNjQ3Mzg3NTA0NTc3NjM3XSwgWzE2NjM4MzUyMjQuNTI2MzcyLCAxMzUyNywgMC45Mzk1NjQzNDcyNjcxNTA5XSwgWzE2NjM4MzUyMjUuMzgzMzM1NiwgMTM1OTAsIDEuMTc0MDE5MzM2NzAwNDM5NV0sIFsxNjYzODM1MjI1LjQ5MzUyODEsIDEzNTk5LCAxLjY5MTI1MTUxNjM0MjE2M10sIFsxNjYzODM1MjI1LjU5MDgxNzUsIDEzNjA4LCAxLjMwMzkxNTAyMzgwMzcxMV0sIFsxNjYzODM1MjI1LjgyMDc3NywgMTM2MjYsIDEuMDM1MDA5Mzg0MTU1MjczNF0sIFsxNjYzODM1MjI2LjAzODQ2NzIsIDEzNjQ0LCAxLjAwNDQxNzUzODY0Mjg4MzNdLCBbMTY2MzgzNTIyNi4xMzE5MzIzLCAxMzY1MywgMS4wMDA4NDUwNzQ2NTM2MjU1XSwgWzE2NjM4MzUyMjYuODgwMDQ3MywgMTM3MTYsIDEuMDUzNTI0OTcxMDA4MzAwOF0sIFsxNjYzODM1MjI3LjM5OTU4NjIsIDEzNzYxLCAxLjIyMTMyODI1ODUxNDQwNDNdLCBbMTY2MzgzNTIyOC4wMzYzODUzLCAxMzgxNSwgMS4wNDU5NTU1Mzg3NDk2OTQ4XSwgWzE2NjM4MzUyMjguMzQ1MzkxNSwgMTM4NDIsIDEuMDc5MTU1ODAyNzI2NzQ1Nl0sIFsxNjYzODM1MjI4LjQ1MDkzNTEsIDEzODUxLCAwLjk5MTQ1Mjk5MTk2MjQzMjldLCBbMTY2MzgzNTIyOC43NTU0ODQ4LCAxMzg3OCwgMS40NDEwMDQ1MTQ2OTQyMTM5XSwgWzE2NjM4MzUyMjkuNjg5NjYxNywgMTM5NDEsIDEuMDc0NjY0MTE1OTA1NzYxN10sIFsxNjYzODM1MjMwLjExODkwMSwgMTM5NjgsIDEuMTgwNDQ0MTIxMzYwNzc4OF0sIFsxNjYzODM1MjMwLjI2OTU5NTksIDEzOTc3LCAwLjk1NjIzNTcwNjgwNjE4MjldLCBbMTY2MzgzNTIzMC4zOTQzNDMxLCAxMzk4NiwgMS4wNTM0NTk4ODI3MzYyMDZdLCBbMTY2MzgzNTIzMS40NTkxODQyLCAxNDA2NywgMC45NDY4MTg0MTEzNTAyNTAyXSwgWzE2NjM4MzUyMzEuNzc1MzQwNiwgMTQwOTQsIDEuMjA2MDQ1NjI3NTkzOTk0MV0sIFsxNjYzODM1MjMxLjg3NjcxNzYsIDE0MTAzLCAwLjkzMDQwMzc2OTAxNjI2NTldLCBbMTY2MzgzNTIzMi4wODUxODc3LCAxNDEyMSwgMS4wMDI0ODAwMzAwNTk4MTQ1XSwgWzE2NjM4MzUyMzIuMzI4OTQ3NSwgMTQxMzksIDEuMTM5NTM2MTQyMzQ5MjQzMl0sIFsxNjYzODM1MjMyLjQzMTI5NDcsIDE0MTQ4LCAxLjAwOTc2NTg2MzQxODU3OV0sIFsxNjYzODM1MjMyLjUyODMwNzQsIDE0MTU3LCAwLjk1NTk0Mzc2MzI1NjA3M10sIFsxNjYzODM1MjMyLjYzNDk0MTMsIDE0MTY2LCAxLjI0NTY2MTk3Mzk1MzI0N10sIFsxNjYzODM1MjMyLjk1NjkwMTgsIDE0MTkzLCAwLjk3MDk5MzUxODgyOTM0NTddLCBbMTY2MzgzNTIzMy40MjU0MjM5LCAxNDIyOSwgMS4wNDgyMzU2NTQ4MzA5MzI2XSwgWzE2NjM4MzUyMzMuNTE3Nzk0OCwgMTQyMzgsIDEuMzUwODYxNDMwMTY4MTUxOV0sIFsxNjYzODM1MjMzLjYyNTcxODQsIDE0MjQ3LCAxLjAxNjY0NTc4OTE0NjQyMzNdLCBbMTY2MzgzNTIzMy45Mzg4MDQsIDE0Mjc0LCAxLjEzMDM3MzAwMTA5ODYzMjhdLCBbMTY2MzgzNTIzNC40ODE0NSwgMTQzMTksIDAuOTY3MDg3MjA5MjI0NzAwOV0sIFsxNjYzODM1MjM1LjAwNzQzMDMsIDE0MzY0LCAxLjE2MDE5NjU0MjczOTg2ODJdLCBbMTY2MzgzNTIzNS4xMDQ5NTcsIDE0MzczLCAxLjA5ODk1MzAwODY1MTczMzRdLCBbMTY2MzgzNTIzNS4yMTMwMzU2LCAxNDM4MiwgMS4yMzg2OTg3MjA5MzIwMDY4XSwgWzE2NjM4MzUyMzUuNjQyNjc1NCwgMTQ0MTgsIDEuNTYyNjg1OTY2NDkxNjk5Ml0sIFsxNjYzODM1MjM1Ljc1MDg4NCwgMTQ0MjcsIDEuNTU1OTg3MTE5Njc0NjgyNl0sIFsxNjYzODM1MjM1Ljg2MTM0MiwgMTQ0MzYsIDEuMTUyMDUwODUyNzc1NTczN10sIFsxNjYzODM1MjM2LjczMTIxMjEsIDE0NTA4LCAxLjA5Njc2Mzg0OTI1ODQyMjldLCBbMTY2MzgzNTIzNy4wNDc3NDg4LCAxNDUzNSwgMS4zMTI1NDYzNzI0MTM2MzUzXSwgWzE2NjM4MzUyMzcuMjUzMjIwMywgMTQ1NTMsIDEuMDUzOTcwNDU2MTIzMzUyXSwgWzE2NjM4MzUyMzcuOTQ2MTUxNywgMTQ2MDcsIDEuMTg1NTU3OTYxNDYzOTI4Ml0sIFsxNjYzODM1MjM4LjI0OTI4OSwgMTQ2MjUsIDEuNTUxMjQ2ODgxNDg0OTg1NF0sIFsxNjYzODM1MjM4LjY4MDE2MzksIDE0NjUyLCAxLjExMDg4NDU0NzIzMzU4MTVdLCBbMTY2MzgzNTIzOS40NjEzNTQ3LCAxNDY4OCwgMC45NTY1MjM4OTUyNjM2NzE5XSwgWzE2NjM4MzUyMzkuOTUyNjA4OCwgMTQ3MjQsIDEuMDYzNjUwMTMxMjI1NTg2XSwgWzE2NjM4MzUyNDAuMjE5MDU1MiwgMTQ3NDIsIDEuMDMzNTQ2MjA5MzM1MzI3MV0sIFsxNjYzODM1MjQwLjU5MjM0NywgMTQ3NjksIDEuNTcyMzEwMDkwMDY1MDAyNF0sIFsxNjYzODM1MjQwLjcxODMzNTQsIDE0Nzc4LCAwLjk5Nzg2NTY3Njg3OTg4MjhdLCBbMTY2MzgzNTI0MS4zNjg2NTEsIDE0ODIzLCAxLjI1NjI0NTk3MDcyNjAxMzJdLCBbMTY2MzgzNTI0MS40OTg5OTQsIDE0ODMyLCAxLjA5ODM0NDQ0NTIyODU3NjddLCBbMTY2MzgzNTI0Mi4wMjcyMjU1LCAxNDg2OCwgMS4zNjM0NTAxNjk1NjMyOTM1XSwgWzE2NjM4MzUyNDIuMTYyNjI3NywgMTQ4NzcsIDEuMTczNjMyMzgzMzQ2NTU3Nl0sIFsxNjYzODM1MjQyLjMxNzE0OSwgMTQ4ODYsIDEuMjY5OTM0ODkyNjU0NDE5XSwgWzE2NjM4MzUyNDIuNDM2MDY4LCAxNDg5NSwgMS4xMDUxMTc3OTc4NTE1NjI1XSwgWzE2NjM4MzUyNDIuNjk4NTE1MiwgMTQ5MTMsIDEuMDgxNDE3OTE4MjA1MjYxMl0sIFsxNjYzODM1MjQyLjk0ODczMjQsIDE0OTMxLCAxLjIxOTI3MjAxNzQ3ODk0MjldLCBbMTY2MzgzNTI0My40NDI2NiwgMTQ5NjcsIDEuMTg4Njk4NjQ5NDA2NDMzXSwgWzE2NjM4MzUyNDMuNjk2MDEwOCwgMTQ5ODUsIDEuMTYzMTQyNTYxOTEyNTM2Nl0sIFsxNjYzODM1MjQzLjkzNjE1MjUsIDE1MDAzLCAxLjE2NTcyMjM3MDE0NzcwNV0sIFsxNjYzODM1MjQ0LjI5MDk1ODIsIDE1MDMwLCAxLjM3NTM2NTEzODA1Mzg5NF0sIFsxNjYzODM1MjQ0LjM5MjQxMywgMTUwMzksIDEuMjUxODQzNDUyNDUzNjEzM10sIFsxNjYzODM1MjQ0LjgyMjI3ODMsIDE1MDc1LCAxLjI1OTY0NzI1MDE3NTQ3Nl0sIFsxNjYzODM1MjQ1LjIxNTMxNzUsIDE1MTAyLCAxLjAwMTI1MDg2MzA3NTI1NjNdLCBbMTY2MzgzNTI0NS40NjI3NjI4LCAxNTEyMCwgMS4wNDc4ODM4NjgyMTc0NjgzXSwgWzE2NjM4MzUyNDUuNTc5NDY4MywgMTUxMjksIDEuMjE3OTE1NzczMzkxNzIzNl0sIFsxNjYzODM1MjQ1LjgyMzkxMTQsIDE1MTQ3LCAxLjA2MDkzNTQ5NzI4MzkzNTVdLCBbMTY2MzgzNTI0Ni4yMDM5NjQ1LCAxNTE3NCwgMS4wNTQxNDA1Njc3Nzk1NDFdLCBbMTY2MzgzNTI0Ni4zNTUzMTgsIDE1MTgzLCAwLjk2NDcxMjc5ODU5NTQyODVdLCBbMTY2MzgzNTI0Ni40ODE4NjU0LCAxNTE5MiwgMS4wOTk4NDg1MDg4MzQ4Mzg5XSwgWzE2NjM4MzUyNDYuNjE3ODQ3MiwgMTUyMDEsIDEuMDI0Mzg1MjEzODUxOTI4N10sIFsxNjYzODM1MjQ3LjI2NzIwNDUsIDE1MjQ2LCAxLjQxNDc4MzM1ODU3MzkxMzZdLCBbMTY2MzgzNTI0Ny4zODgzODEyLCAxNTI1NSwgMC45NjYyODk5OTcxMDA4MzAxXSwgWzE2NjM4MzUyNDcuNTIzMTYzMywgMTUyNjQsIDAuOTkzOTA5NzE2NjA2MTQwMV0sIFsxNjYzODM1MjQ4LjAzNTUxOTgsIDE1MzAwLCAxLjA2MDcyMDIwNTMwNzAwNjhdLCBbMTY2MzgzNTI0OC40MTg2MjI3LCAxNTMyNywgMS4wNDg4MTMzNDMwNDgwOTU3XSwgWzE2NjM4MzUyNDguNjcxMzEzOCwgMTUzNDUsIDEuMDcyMTc5Nzk0MzExNTIzNF0sIFsxNjYzODM1MjQ5LjA0NjA2NDksIDE1MzcyLCAxLjA0NjEzNzMzMjkxNjI1OThdLCBbMTY2MzgzNTI0OS4yODkwMTM5LCAxNTM5MCwgMS4zNDQ2MDEyNzM1MzY2ODIxXSwgWzE2NjM4MzUyNDkuNDA3NDE2LCAxNTM5OSwgMS4xOTUyOTI1OTIwNDg2NDVdLCBbMTY2MzgzNTI0OS41MzE2MDg2LCAxNTQwOCwgMS4wMzU1MDUyOTQ3OTk4MDQ3XSwgWzE2NjM4MzUyNDkuNjUyNTUxNywgMTU0MTcsIDEuMTY0NzQ2NTIyOTAzNDQyNF0sIFsxNjYzODM1MjUwLjYzODUyNzIsIDE1NDcxLCAxLjYyMjI5MTkyMjU2OTI3NV0sIFsxNjYzODM1MjUxLjE0ODQ3ODcsIDE1NTA3LCAxLjA0MTk4NjU4NDY2MzM5MTFdLCBbMTY2MzgzNTI1MS4yNzQ0MjAzLCAxNTUxNiwgMS4zMDk1NDIyOTgzMTY5NTU2XSwgWzE2NjM4MzUyNTEuMzgyNzQ3NCwgMTU1MjUsIDEuMTQwMTY3ODMyMzc0NTcyOF0sIFsxNjYzODM1MjUxLjQ4NjYzOCwgMTU1MzQsIDEuODQ1MDI0MTA4ODg2NzE4OF0sIFsxNjYzODM1MjUyLjAyODQsIDE1NTc5LCAxLjEwMTY5NDU4Mzg5MjgyMjNdLCBbMTY2MzgzNTI1Mi45MDcxOTc3LCAxNTY1MSwgMS4yNzYxNDc5NjE2MTY1MTYxXSwgWzE2NjM4MzUyNTMuMDA5MDgyOCwgMTU2NjAsIDEuMTMzOTA0MzM3ODgyOTk1Nl0sIFsxNjYzODM1MjUzLjQzMTYwMzQsIDE1Njk2LCAxLjM0Mjc1MzE3MTkyMDc3NjRdLCBbMTY2MzgzNTI1My42NDI1MDYsIDE1NzE0LCAxLjAyNDk3NDgyMjk5ODA0NjldLCBbMTY2MzgzNTI1My45ODI1MywgMTU3NDEsIDEuMzAzMTkyMTM4NjcxODc1XSwgWzE2NjM4MzUyNTQuMTg3NzM1LCAxNTc1OSwgMS4zNzk2NjcxNjI4OTUyMDI2XSwgWzE2NjM4MzUyNTQuMjg1NDM5MywgMTU3NjgsIDEuMDAwNjAwMjE4NzcyODg4Ml0sIFsxNjYzODM1MjU0LjQ5MDYzNiwgMTU3ODYsIDEuMjQ4ODMxNTEwNTQzODIzMl0sIFsxNjYzODM1MjU0LjU5MTI4NywgMTU3OTUsIDAuOTgxMDgwNDEyODY0Njg1MV0sIFsxNjYzODM1MjU0LjkwOTgzODQsIDE1ODIyLCAxLjE3NzAxMDg5MzgyMTcxNjNdLCBbMTY2MzgzNTI1NS41MDE2MjEyLCAxNTg2NywgMS4wMTA0OTM4NzQ1NDk4NjU3XSwgWzE2NjM4MzUyNTUuNjgxMjM3NywgMTU4NzYsIDEuMjIzMTYxMTAxMzQxMjQ3Nl0sIFsxNjYzODM1MjU1Ljk0MDczMTMsIDE1ODk0LCAxLjA1MzExODQ2NzMzMDkzMjZdLCBbMTY2MzgzNTI1Ni4zMjU5NjQ3LCAxNTkyMSwgMS4xNDc0NDY2MzIzODUyNTRdLCBbMTY2MzgzNTI1Ny4xNDk2ODgyLCAxNTk4NCwgMS4wMDQ1NTA2OTU0MTkzMTE1XSwgWzE2NjM4MzUyNTcuMjg0NTcyNCwgMTU5OTMsIDEuMjU1NTY3NDMxNDQ5ODkwMV0sIFsxNjYzODM1MjU3LjM5OTQ3NzcsIDE2MDAyLCAxLjI1NzI5MTc5MzgyMzI0MjJdLCBbMTY2MzgzNTI1Ny43Mjc0NzI1LCAxNjAyOSwgMS4wMzQwNjQ1MzEzMjYyOTRdLCBbMTY2MzgzNTI1OC4xODk2Nzg0LCAxNjA2NSwgMS4yNTMzNzIxOTIzODI4MTI1XSwgWzE2NjM4MzUyNTguMzA0NzQ2LCAxNjA3NCwgMS4xOTI4MDEzNTYzMTU2MTI4XSwgWzE2NjM4MzUyNTguNDI2MTUzMiwgMTYwODMsIDAuOTE4NTc3NjExNDQ2MzgwNl0sIFsxNjYzODM1MjU4Ljc5NTg2MSwgMTYxMTAsIDEuMTYwMTA2Nzc4MTQ0ODM2NF0sIFsxNjYzODM1MjU4LjkwNzU2MDMsIDE2MTE5LCAxLjExNzYwNjE2MzAyNDkwMjNdLCBbMTY2MzgzNTI1OS4xOTAyMTc1LCAxNjEzNywgMS4xNjI3Mjc5NTIwMDM0NzldLCBbMTY2MzgzNTI1OS40MzI1NCwgMTYxNTUsIDEuMTg0ODM1MzE0NzUwNjcxNF0sIFsxNjYzODM1MjU5LjY3MzUyODQsIDE2MTczLCAxLjE3MTUwNjY0MzI5NTI4OF0sIFsxNjYzODM1MjYwLjE1NDM5MzIsIDE2MjA5LCAxLjcyMzUwOTc4ODUxMzE4MzZdLCBbMTY2MzgzNTI2MC41NjgxODk0LCAxNjIyNywgMS4yNTI0MTIwODA3NjQ3NzA1XSwgWzE2NjM4MzUyNjEuMTQ1MzUxLCAxNjI4MSwgMS4wNTgwNDU1MDY0NzczNTZdLCBbMTY2MzgzNTI2MS4zMzczMjY1LCAxNjI5OSwgMS4xOTkzODAwNDAxNjg3NjIyXSwgWzE2NjM4MzUyNjEuODA4ODExNywgMTYzMzUsIDEuMDM5MjUxMzI3NTE0NjQ4NF0sIFsxNjYzODM1MjYyLjMxMzg4MzMsIDE2MzgwLCAxLjEyNzA3OTM2NzYzNzYzNDNdLCBbMTY2MzgzNTI2Mi43MjU4NTY4LCAxNjQxNiwgMC45ODA2MzU1ODM0MDA3MjYzXSwgWzE2NjM4MzUyNjMuMDExMDg0NiwgMTY0NDMsIDEuMTAyMDUwNTQyODMxNDIxXSwgWzE2NjM4MzUyNjMuMTAyODUzNSwgMTY0NTIsIDEuMDU4MTA4MzI5NzcyOTQ5Ml0sIFsxNjYzODM1MjYzLjI5OTY5NTcsIDE2NDcwLCAwLjk0ODk2NDgzNDIxMzI1NjhdLCBbMTY2MzgzNTI2My4zOTQ3NTcsIDE2NDc5LCAwLjk4NTQwMDMxOTA5OTQyNjNdLCBbMTY2MzgzNTI2My41OTI2MzIzLCAxNjQ5NywgMS4wNTI1Nzc5NzI0MTIxMDk0XSwgWzE2NjM4MzUyNjMuNjg2MjE4NSwgMTY1MDYsIDAuOTkxMTg0NzcxMDYwOTQzNl0sIFsxNjYzODM1MjYzLjc5NDI3MzYsIDE2NTE1LCAxLjE0NjY1ODY1ODk4MTMyMzJdLCBbMTY2MzgzNTI2My45ODYxNDQ4LCAxNjUzMywgMS4wNjk2NzU5MjIzOTM3OTg4XSwgWzE2NjM4MzUyNjQuMDc1NjA4LCAxNjU0MiwgMS4yNTUxODE3ODkzOTgxOTM0XSwgWzE2NjM4MzUyNjQuMTc2Mzc1NCwgMTY1NTEsIDEuMjM4Nzc0NDE4ODMwODcxNl0sIFsxNjYzODM1MjY0Ljg4NDYwMDYsIDE2NjE0LCAxLjMyMjM1NDc5MzU0ODU4NF0sIFsxNjYzODM1MjY0Ljk4Nzk0OTYsIDE2NjIzLCAwLjkyMDE3Mzc2NDIyODgyMDhdLCBbMTY2MzgzNTI2NS4xNjE0OTk1LCAxNjYzMiwgMC45NzMxODg0MDAyNjg1NTQ3XSwgWzE2NjM4MzUyNjUuMzA0ODQwOCwgMTY2NDEsIDEuMjUzNzcwMjMyMjAwNjIyNl0sIFsxNjYzODM1MjY1LjY5MTg3NTIsIDE2NjY4LCAxLjMwMzI0MjIwNjU3MzQ4NjNdLCBbMTY2MzgzNTI2Ni43NTQwOTc3LCAxNjc0OSwgMC45NTkwODM2MTY3MzM1NTFdLCBbMTY2MzgzNTI2Ny4zNDA5MTYsIDE2Nzk0LCAwLjkyNjE2MTQwODQyNDM3NzRdLCBbMTY2MzgzNTI2Ny40Mzg0NzU4LCAxNjgwMywgMS4xNDg2OTA1ODEzMjE3MTYzXSwgWzE2NjM4MzUyNjcuNTQyOTk2MiwgMTY4MTIsIDAuOTM2MDYxMzgyMjkzNzAxMl0sIFsxNjYzODM1MjY3LjkzNjIxNzgsIDE2ODQ4LCAxLjA5NTY4NDc2Njc2OTQwOTJdLCBbMTY2MzgzNTI2OC4wNDM1MTA0LCAxNjg1NywgMS4wMDExMzQ4NzI0MzY1MjM0XSwgWzE2NjM4MzUyNjguMjUxNjkzNSwgMTY4NzUsIDEuMTI5ODczNTE0MTc1NDE1XSwgWzE2NjM4MzUyNjguNTQ5MjkyMywgMTY5MDIsIDAuOTc2MTU3NTQ2MDQzMzk2XSwgWzE2NjM4MzUyNjguODcxMTg5NiwgMTY5MjksIDEuMTI5NzIxOTk5MTY4Mzk2XSwgWzE2NjM4MzUyNjkuMTc1MTUzNSwgMTY5NTYsIDEuMDUyNTAxOTE2ODg1Mzc2XSwgWzE2NjM4MzUyNjkuNTA0Mzk0LCAxNjk2NSwgMS40NjUwNjk1MzIzOTQ0MDkyXSwgWzE2NjM4MzUyNjkuNzA0NzA5MywgMTY5ODMsIDEuMzMyMzcyNjY1NDA1MjczNF0sIFsxNjYzODM1MjY5LjkwNDY3OTgsIDE3MDAxLCAxLjQ0OTczMTU4ODM2MzY0NzVdLCBbMTY2MzgzNTI3MC4xMDcwODU1LCAxNzAxOSwgMS4xMjAyNjM2OTU3MTY4NThdLCBbMTY2MzgzNTI3MC41OTA3NTc0LCAxNzA2NCwgMS4zNTczNDUyMjM0MjY4MTg4XSwgWzE2NjM4MzUyNzEuMDI3OTM3LCAxNzEwMCwgMS4wMDE0OTExODkwMDI5OTA3XSwgWzE2NjM4MzUyNzEuMzIyMTgzNCwgMTcxMjcsIDAuOTgyNDc0NDQ2Mjk2NjkxOV0sIFsxNjYzODM1MjcxLjcyMzg2NjcsIDE3MTYzLCAxLjIzNjM2MjA5OTY0NzUyMl0sIFsxNjYzODM1MjcxLjkyNDI3NTksIDE3MTgxLCAxLjAxMTMwMzY2MzI1Mzc4NDJdLCBbMTY2MzgzNTI3Mi4wNDAyODgsIDE3MTkwLCAwLjkzMjYxMTc2MzQ3NzMyNTRdLCBbMTY2MzgzNTI3Mi4xNzI4MjksIDE3MTk5LCAxLjMwNDA5OTMyMTM2NTM1NjRdLCBbMTY2MzgzNTI3Mi41Nzg2NTgsIDE3MjI2LCAxLjIwMTY4NzkzMjAxNDQ2NTNdLCBbMTY2MzgzNTI3My4yMzc0NTU2LCAxNzI3MSwgMS4xNzYzMjc4MjQ1OTI1OTAzXSwgWzE2NjM4MzUyNzMuOTEzMjcwNywgMTczMjUsIDEuMDU1NjY0NTM5MzM3MTU4Ml0sIFsxNjYzODM1Mjc0LjAzMjg1MjYsIDE3MzM0LCAxLjA2MjIyNDE0OTcwMzk3OTVdLCBbMTY2MzgzNTI3NC4xNDk3OTkzLCAxNzM0MywgMS4wNTQ2ODA0NjY2NTE5MTY1XSwgWzE2NjM4MzUyNzQuNDU4NjAyLCAxNzM3MCwgMS4wODU5NjEzNDE4NTc5MTAyXSwgWzE2NjM4MzUyNzQuODM5NTI5MywgMTczOTcsIDEuMDU5MzcxMTEzNzc3MTYwNl0sIFsxNjYzODM1Mjc1LjE5NjM1NjgsIDE3NDI0LCAxLjEyMjc3NDEyNDE0NTUwNzhdLCBbMTY2MzgzNTI3NS4zMjA5MjQsIDE3NDMzLCAwLjkyODY1Mjg4MjU3NTk4ODhdLCBbMTY2MzgzNTI3NS43OTYzMjM1LCAxNzQ2OSwgMS4xMDcxOTYyMTE4MTQ4ODA0XSwgWzE2NjM4MzUyNzUuOTUzMjE3NywgMTc0NzgsIDEuMDk5ODAyNDk0MDQ5MDcyM10sIFsxNjYzODM1Mjc2LjA2ODgwOSwgMTc0ODcsIDEuMTIzMzc5NTg4MTI3MTM2Ml0sIFsxNjYzODM1Mjc2LjQzODA1MzQsIDE3NTE0LCAxLjA0OTg1ODIxMjQ3MTAwODNdLCBbMTY2MzgzNTI3Ni42NjY3MzksIDE3NTMyLCAxLjAzMzU2ODYyMDY4MTc2MjddLCBbMTY2MzgzNTI3Ny4wMDY0NTI4LCAxNzU1OSwgMS4zNjU2MDA5NDM1NjUzNjg3XSwgWzE2NjM4MzUyNzcuMzcwMTY0NCwgMTc1ODYsIDEuMjE3MDg5ODkxNDMzNzE1OF0sIFsxNjYzODM1Mjc3LjcxNjU0NjMsIDE3NjEzLCAxLjA5ODUyOTkzNDg4MzExNzddLCBbMTY2MzgzNTI3OC4yMDEyNDI0LCAxNzY0OSwgMS4xNDA3MDUyMjc4NTE4Njc3XSwgWzE2NjM4MzUyNzguMzE3MDkzMSwgMTc2NTgsIDEuMTIxMTAxMTQwOTc1OTUyMV0sIFsxNjYzODM1Mjc4LjQ0NzAxMTIsIDE3NjY3LCAxLjYxMTEyMTI5Njg4MjYyOTRdLCBbMTY2MzgzNTI3OC41NjU4OTQ4LCAxNzY3NiwgMS4wODg3ODI1NDg5MDQ0MTldLCBbMTY2MzgzNTI3OC42ODY0MzgsIDE3Njg1LCAxLjE2OTg5OTcwMjA3MjE0MzZdLCBbMTY2MzgzNTI3OS4xNzE5OTQsIDE3NzAzLCAxLjE0MTEyODc3ODQ1NzY0MTZdLCBbMTY2MzgzNTI3OS4zMTkwMTI0LCAxNzcxMiwgMS4xNDc0MDEwOTQ0MzY2NDU1XSwgWzE2NjM4MzUyNzkuNDMzMjg3OSwgMTc3MjEsIDEuMDU4ODU4NjMzMDQxMzgxOF0sIFsxNjYzODM1Mjc5LjU1Mzk4MjUsIDE3NzMwLCAwLjk5Mzc0NDI1NDExMjI0MzddLCBbMTY2MzgzNTI4MC41MDkwNjI4LCAxNzgwMiwgMS4wMzQ3NzM3MDczODk4MzE1XSwgWzE2NjM4MzUyODAuNzM3NTI1NSwgMTc4MjAsIDEuMTA2MTg0MjQ0MTU1ODgzOF0sIFsxNjYzODM1MjgwLjg1MzU1NDUsIDE3ODI5LCAxLjA4NjE5NzM3NjI1MTIyMDddLCBbMTY2MzgzNTI4MC45NjczNDkzLCAxNzgzOCwgMS4xNTc4OTIzNDYzODIxNDExXSwgWzE2NjM4MzUyODEuMDY5NTMyLCAxNzg0NywgMS4wMzgzNDMzMTAzNTYxNDAxXSwgWzE2NjM4MzUyODEuMzY2Nzc3LCAxNzg3NCwgMS4yNTgxMzY5ODc2ODYxNTcyXSwgWzE2NjM4MzUyODEuNTY2NywgMTc4OTIsIDAuOTgwNDg4NTM4NzQyMDY1NF0sIFsxNjYzODM1MjgxLjY2ODAwOTMsIDE3OTAxLCAxLjAyNDIxNDYyNTM1ODU4MTVdLCBbMTY2MzgzNTI4MS45NTQ2OTcsIDE3OTI4LCAxLjA5Nzc5OTg5NzE5MzkwODddLCBbMTY2MzgzNTI4Mi4wNTcxNzQyLCAxNzkzNywgMS40MjU1MTM4NjM1NjM1Mzc2XSwgWzE2NjM4MzUyODQuODk1OTgyMywgMTgxNTMsIDAuOTQxMDIxNjIxMjI3MjY0NF0sIFsxNjYzODM1Mjg1LjAxNTg4OTIsIDE4MTYyLCAxLjQwNDI3MjE5ODY3NzA2M10sIFsxNjYzODM1Mjg1LjQ5MzI0OTcsIDE4MTk4LCAxLjAyODExNzE3OTg3MDYwNTVdLCBbMTY2MzgzNTI4NS42MTI4ODM2LCAxODIwNywgMS4wNDgwOTU5NDE1NDM1NzldLCBbMTY2MzgzNTI4NS43MjQ4MzMsIDE4MjE2LCAxLjE5MTc4ODA3NzM1NDQzMTJdLCBbMTY2MzgzNTI4Ni4wODA0ODM0LCAxODI0MywgMS4wMjc4MzgzNDkzNDIzNDYyXSwgWzE2NjM4MzUyODYuMzEwOTExMiwgMTgyNjEsIDEuMDcwOTI3MzgxNTE1NTAzXSwgWzE2NjM4MzUyODYuNjUyNTE0NSwgMTgyODgsIDEuMTEyMzEzODY2NjE1Mjk1NF0sIFsxNjYzODM1Mjg2Ljc2NDE4MDcsIDE4Mjk3LCAxLjEyODMwMjU3NDE1NzcxNDhdLCBbMTY2MzgzNTI4Ni45OTY1MDg0LCAxODMxNSwgMS4yMzM4NDE0MTkyMTk5NzA3XSwgWzE2NjM4MzUyODcuMTEwNjA5MywgMTgzMjQsIDEuMjgwNzQ4MzY3MzA5NTcwM10sIFsxNjYzODM1Mjg3LjIxNjA5NywgMTgzMzMsIDEuODEyMDk5OTMzNjI0MjY3Nl0sIFsxNjYzODM1Mjg3LjYxOTkwMjEsIDE4MzY5LCAxLjE0MTQ2MTczMDAwMzM1N10sIFsxNjYzODM1Mjg3LjkyNzg4MjcsIDE4Mzk2LCAxLjI3NjM5MTk4MzAzMjIyNjZdLCBbMTY2MzgzNTI4OC4zMjcxOTIsIDE4NDMyLCAxLjEwNDM1ODE5NjI1ODU0NV0sIFsxNjYzODM1Mjg4LjUyNTU4MiwgMTg0NTAsIDEuMDI1ODM3MDYzNzg5MzY3N10sIFsxNjYzODM1Mjg5LjI2NDI3MzIsIDE4NDk1LCAxLjAzOTI0OTQyMDE2NjAxNTZdLCBbMTY2MzgzNTI4OS4zNzMwNDA0LCAxODUwNCwgMS4wMzIxMTgyMDEyNTU3OTgzXSwgWzE2NjM4MzUyODkuNDY4Njk3OCwgMTg1MTMsIDEuMDA3NDA5NDUzMzkyMDI4OF0sIFsxNjYzODM1Mjg5LjU4NTIxOTYsIDE4NTIyLCAxLjIyMDQzNDQyNzI2MTM1MjVdLCBbMTY2MzgzNTI5MC43MTc2NTUyLCAxODYxMiwgMS4yNTA0NTA2MTExMTQ1MDJdLCBbMTY2MzgzNTI5MC44MzczMDUsIDE4NjIxLCAxLjE4NzUwMzkzMzkwNjU1NTJdLCBbMTY2MzgzNTI5MS4wOTQxOTUsIDE4NjM5LCAxLjEzODk3MTMyODczNTM1MTZdLCBbMTY2MzgzNTI5MS41NTAyMDA1LCAxODY3NSwgMS4wMjkyMzg0NjI0NDgxMjAxXSwgWzE2NjM4MzUyOTIuMTMyMDUzNiwgMTg3MjAsIDEuNDY3MjAyNjYzNDIxNjMwOV0sIFsxNjYzODM1MjkyLjc0MDE2MzgsIDE4NzY1LCAxLjIzNjIxMTA2MTQ3NzY2MTFdLCBbMTY2MzgzNTI5My4wNDgwNDMsIDE4NzgzLCAxLjI3Mjg5NDM4MjQ3NjgwNjZdLCBbMTY2MzgzNTI5My4xNjE5NzM1LCAxODc5MiwgMS4wMTc1OTM4NjA2MjYyMjA3XSwgWzE2NjM4MzUyOTMuMzU4NzEyLCAxODgxMCwgMS41Mzk3ODAyNTkxMzIzODUzXSwgWzE2NjM4MzUyOTMuNDgxNzExNCwgMTg4MTksIDEuNjg3MzkwNDQ2NjYyOTAyOF0sIFsxNjYzODM1MjkzLjYwNzg4MTgsIDE4ODI4LCAxLjA5MTM3MDM0NDE2MTk4NzNdLCBbMTY2MzgzNTI5NC4wNjAyNTUzLCAxODg2NCwgMS4wODA4ODY5NjAwMjk2MDJdLCBbMTY2MzgzNTI5NC4zMzMzMTQ3LCAxODg4MiwgMS4yMDIxMDQ2ODc2OTA3MzQ5XSwgWzE2NjM4MzUyOTQuNDUyODgxNiwgMTg4OTEsIDEuMDUzODkyMzc0MDM4Njk2M10sIFsxNjYzODM1Mjk0LjY4ODc1NDMsIDE4OTA5LCAwLjk0MTg0NDIyNDkyOTgwOTZdLCBbMTY2MzgzNTI5NS4wMzg0ODYsIDE4OTM2LCAxLjAwMzEwMjA2NDEzMjY5MDRdLCBbMTY2MzgzNTI5NS4xNTI5OTQ5LCAxODk0NSwgMS4xMjM0MTI0ODk4OTEwNTIyXSwgWzE2NjM4MzUyOTUuMjcyNjE5LCAxODk1NCwgMS4xODMzNzQ2NDMzMjU4MDU3XSwgWzE2NjM4MzUyOTUuNzUyNDg4NCwgMTg5OTAsIDEuMTIzODM4NTQzODkxOTA2N10sIFsxNjYzODM1Mjk1Ljg2NTYxNzUsIDE4OTk5LCAxLjE3NzM2MDA1NzgzMDgxMDVdLCBbMTY2MzgzNTI5Ni4zNTA0NTEyLCAxOTAzNSwgMS4xNDE1NDMzODgzNjY2OTkyXSwgWzE2NjM4MzUyOTYuNDY3NTg2LCAxOTA0NCwgMS4wNDk2MTQ2Njc4OTI0NTZdLCBbMTY2MzgzNTI5Ni45NTE0OTQsIDE5MDgwLCAxLjI1NjIxMzA2ODk2MjA5NzJdLCBbMTY2MzgzNTI5Ny4wNjYwNTc3LCAxOTA4OSwgMS4zOTk4NzA5OTE3MDY4NDgxXSwgWzE2NjM4MzUyOTcuMzI4MDMzLCAxOTEwNywgMS4xNjA5MTY2ODYwNTgwNDQ0XSwgWzE2NjM4MzUyOTcuNDMxMTMyMywgMTkxMTYsIDEuMDY2ODI2MTA1MTE3Nzk3OV0sIFsxNjYzODM1Mjk3LjUzMjM4NjgsIDE5MTI1LCAxLjAyOTk2NzQyNzI1MzcyMzFdLCBbMTY2MzgzNTI5Ny44NDQwMDYsIDE5MTUyLCAxLjI5NTU4NDkxNzA2ODQ4MTRdLCBbMTY2MzgzNTI5OC42MDgzNTQzLCAxOTIxNSwgMS4wNjcxMzg5MTAyOTM1NzldLCBbMTY2MzgzNTI5OC43MTU5NTE3LCAxOTIyNCwgMS4xNzAxMjU2MDM2NzU4NDIzXSwgWzE2NjM4MzUyOTkuMDQ4MDg2MiwgMTkyMzMsIDEuMDkyNjk5MTcwMTEyNjA5OV0sIFsxNjYzODM1Mjk5LjM3MjA2MTcsIDE5MjYwLCAxLjMxODU4Mzg0NjA5MjIyNDFdLCBbMTY2MzgzNTI5OS43NzA1NTcyLCAxOTI5NiwgMS4xNDU2MjAzNDYwNjkzMzZdLCBbMTY2MzgzNTMwMC40MzUxMDIyLCAxOTM1MCwgMC45MTY2MjYyMTQ5ODEwNzkxXSwgWzE2NjM4MzUzMDAuNTg5MTYxLCAxOTM1OSwgMS4wNDA0NDk5NzY5MjEwODE1XSwgWzE2NjM4MzUzMDEuMDM1MzY5NCwgMTkzOTUsIDAuOTUwNjE3ODQ5ODI2ODEyN10sIFsxNjYzODM1MzAxLjEyODA3MTMsIDE5NDA0LCAxLjIwMDQ1MDg5NzIxNjc5NjldLCBbMTY2MzgzNTMwMS42NDA2MDA3LCAxOTQ0MCwgMS4xNDIwMzQwNTM4MDI0OTAyXSwgWzE2NjM4MzUzMDEuNzU3NDQ3MiwgMTk0NDksIDEuMTcxODcxMTg1MzAyNzM0NF0sIFsxNjYzODM1MzAxLjg3NDA4MiwgMTk0NTgsIDEuMjU2NTUyNjk2MjI4MDI3M10sIFsxNjYzODM1MzAyLjAwNzI3NSwgMTk0NjcsIDEuMDY0ODQ0MzY5ODg4MzA1N10sIFsxNjYzODM1MzAyLjc4Njk5MzUsIDE5NTMwLCAxLjA4MzkxNzQ5ODU4ODU2Ml0sIFsxNjYzODM1MzAzLjIxNTE4NjYsIDE5NTY2LCAxLjA4MTQ3Nzk5OTY4NzE5NDhdLCBbMTY2MzgzNTMwMy40MTY4NzYzLCAxOTU4NCwgMS4xODM4Mzc1MzI5OTcxMzEzXSwgWzE2NjM4MzUzMDMuNTE4MzU0NCwgMTk1OTMsIDAuOTc0MTY0MTg3OTA4MTcyNl0sIFsxNjYzODM1MzA0LjI2NDE3NjEsIDE5NjU2LCAxLjQxODk2MzQzMjMxMjAxMTddLCBbMTY2MzgzNTMwNC40NjEwODQ2LCAxOTY3NCwgMS4xMTEzNDUwNTI3MTkxMTYyXSwgWzE2NjM4MzUzMDQuNjg3MzU5MywgMTk2OTIsIDAuOTM4NDkxMzQ0NDUxOTA0M10sIFsxNjYzODM1MzA0Ljg5NDcxNzcsIDE5NzEwLCAxLjE5NDk5MjU0MjI2Njg0NTddLCBbMTY2MzgzNTMwNS40NTg5MjgzLCAxOTc1NSwgMS4wNTYyOTA3NDU3MzUxNjg1XSwgWzE2NjM4MzUzMDYuMDcyMzYxLCAxOTgwMCwgMS4wMzEwMTI0MTU4ODU5MjUzXSwgWzE2NjM4MzUzMDYuMjg5ODcwMywgMTk4MTgsIDEuMDQ1OTY5NDg2MjM2NTcyM10sIFsxNjYzODM1MzA2LjQxNjYzNDYsIDE5ODI3LCAwLjk4Nzc1OTk0Nzc3Njc5NDRdLCBbMTY2MzgzNTMwNi41MjU3MDU4LCAxOTgzNiwgMS4wMTYwNjQ1MjQ2NTA1NzM3XSwgWzE2NjM4MzUzMDYuODI4NTY0NCwgMTk4NjMsIDEuMjQ3MTg2MTgzOTI5NDQzNF0sIFsxNjYzODM1MzA3LjEzMTg1MSwgMTk4OTAsIDEuMTU2MjQxMDU5MzAzMjgzN10sIFsxNjYzODM1MzA3LjM0MTE4NzIsIDE5OTA4LCAxLjAwMTIxMDQ1MTEyNjA5ODZdLCBbMTY2MzgzNTMwNy40NDAwMTA1LCAxOTkxNywgMS4yNzc5MzEzMzI1ODgxOTU4XSwgWzE2NjM4MzUzMDcuNjY0MTYwMywgMTk5MzUsIDEuMTEwMDI0NDUyMjA5NDcyN10sIFsxNjYzODM1MzA3Ljc1ODk3ODEsIDE5OTQ0LCAxLjI2NTkxNDU1OTM2NDMxODhdLCBbMTY2MzgzNTMwOC41OTg3MTE1LCAxOTk5OCwgMS4xMDg4ODQ2OTIxOTIwNzc2XSwgWzE2NjM4MzUzMDkuMDE5NzU0NCwgMjAwMzQsIDAuOTgzNDc2MTYxOTU2Nzg3MV0sIFsxNjYzODM1MzA5LjIzNDY4NywgMjAwNTIsIDEuNTA1NDI5MTQ4Njc0MDExMl0sIFsxNjYzODM1MzEwLjIwODg5MjMsIDIwMTMzLCAxLjE4NTk0MjY0OTg0MTMwODZdLCBbMTY2MzgzNTMxMC41MTY3MTMsIDIwMTYwLCAwLjkzMjY5Nzg5MjE4OTAyNTldLCBbMTY2MzgzNTMxMC44MzQ4MzI3LCAyMDE4NywgMS4xMTI0NTA3MTg4Nzk2OTk3XSwgWzE2NjM4MzUzMTEuMDU1MzE2MiwgMjAyMDUsIDEuMDc3ODc4NDc1MTg5MjA5XSwgWzE2NjM4MzUzMTIuMTM5NTQ4MywgMjAyOTUsIDEuMjA4NDM4ODczMjkxMDE1Nl0sIFsxNjYzODM1MzEyLjQ1NjE5MSwgMjAzMjIsIDEuMjE3Mzc0MjA1NTg5Mjk0NF0sIFsxNjYzODM1MzEyLjU1ODk5OTMsIDIwMzMxLCAxLjIyNTc5MjE2OTU3MDkyMjldLCBbMTY2MzgzNTMxMy4yODYzNzM5LCAyMDM4NSwgMC45MDk1MzcwMTczNDU0Mjg1XSwgWzE2NjM4MzUzMTMuNjU1NjQ3MywgMjA0MTIsIDEuMTQzNjgyMTIyMjMwNTI5OF0sIFsxNjYzODM1MzE0LjcxMDAxMzYsIDIwNDkzLCAxLjE2MTQzODU4NDMyNzY5NzhdLCBbMTY2MzgzNTMxNS4xNDM4ODc4LCAyMDUyOSwgMC45NTQyNjE2MDA5NzEyMjE5XSwgWzE2NjM4MzUzMTUuMjYwODk4NiwgMjA1MzgsIDAuOTUxMDM2MjE0ODI4NDkxMl0sIFsxNjYzODM1MzE1LjcwMDU5MzUsIDIwNTc0LCAxLjEyNDE0Mjg4NTIwODEyOTldLCBbMTY2MzgzNTMxNi4yNzY2MDMsIDIwNjI4LCAxLjE1NzMwMDM1MzA1MDIzMl0sIFsxNjYzODM1MzE2LjM3NDgxMjgsIDIwNjM3LCAxLjIyNjE0MjUyNTY3MjkxMjZdLCBbMTY2MzgzNTMxNi40ODQ2MDI1LCAyMDY0NiwgMS4xMzAyMjA3NzA4MzU4NzY1XSwgWzE2NjM4MzUzMTcuMzk2OTI1MiwgMjA3MDksIDEuNjQwMzI0MzU0MTcxNzUzXSwgWzE2NjM4MzUzMTguMjYxNzA2NCwgMjA3NTQsIDAuOTgxNjY5MDA4NzMxODQyXSwgWzE2NjM4MzUzMTguMzc4NTI1NSwgMjA3NjMsIDEuMDA1MDQ5NzA1NTA1MzcxXSwgWzE2NjM4MzUzMTguNTIwNDQ1MywgMjA3NzIsIDEuMDc4MzI2MjI1MjgwNzYxN10sIFsxNjYzODM1MzE4Ljc3OTU5MzUsIDIwNzkwLCAxLjAzMTgwOTMyOTk4NjU3MjNdLCBbMTY2MzgzNTMxOS4wNTY0NzU0LCAyMDgwOCwgMS4wNTU0OTM5NTA4NDM4MTFdLCBbMTY2MzgzNTMxOS41OTk3MTE3LCAyMDg0NCwgMS4yMjY3NTAyNTQ2MzEwNDI1XSwgWzE2NjM4MzUzMTkuNzM1NDA5MywgMjA4NTMsIDEuMDc3ODI4NjQ1NzA2MTc2OF0sIFsxNjYzODM1MzIwLjE0MDQ0NjcsIDIwODgwLCAxLjE4MzgzMTgxMDk1MTIzM10sIFsxNjYzODM1MzIwLjgwNzU5OTUsIDIwOTI1LCAxLjA0NTMxMDQ5NzI4MzkzNTVdLCBbMTY2MzgzNTMyMS41NzU4NDIsIDIwOTc5LCAxLjA4NzY2OTQ5MTc2Nzg4MzNdLCBbMTY2MzgzNTMyMS44MzYyOTcsIDIwOTk3LCAxLjE0NzQwMjY0NDE1NzQwOTddLCBbMTY2MzgzNTMyMi4xOTYxOTQsIDIxMDI0LCAxLjE0OTE2MzEyNjk0NTQ5NTZdLCBbMTY2MzgzNTMyMi43MTcxNzksIDIxMDY5LCAxLjAxMTk4MDg5MTIyNzcyMjJdLCBbMTY2MzgzNTMyMi45MjQ1OSwgMjEwODcsIDAuOTMyNDU3MzI3ODQyNzEyNF0sIFsxNjYzODM1MzIzLjAzODA2MzMsIDIxMDk2LCAxLjAxODM3MzQ4OTM3OTg4MjhdLCBbMTY2MzgzNTMyMy4xNjU0MTg5LCAyMTEwNSwgMC45MzY1OTU2NzgzMjk0Njc4XSwgWzE2NjM4MzUzMjMuNDIxMTM4NSwgMjExMjMsIDAuOTgwMjQ5NzYyNTM1MDk1Ml0sIFsxNjYzODM1MzIzLjU2NTE0NTUsIDIxMTMyLCAwLjk5MDI5MjU0OTEzMzMwMDhdLCBbMTY2MzgzNTMyMy42OTI5MDMzLCAyMTE0MSwgMS4wODQ1NjY4MzE1ODg3NDUxXSwgWzE2NjM4MzUzMjQuMTAyOTUsIDIxMTY4LCAxLjEzODIzMDU2MjIxMDA4M10sIFsxNjYzODM1MzI0LjI1MTI4NDQsIDIxMTc3LCAxLjEwNzE4MzMzNzIxMTYwODldLCBbMTY2MzgzNTMyNC4zODY2MDQzLCAyMTE4NiwgMS4xMzAzOTkyMjcxNDIzMzRdLCBbMTY2MzgzNTMyNC44MDAyNDU4LCAyMTIyMiwgMS4wNjY3MzI4ODM0NTMzNjkxXSwgWzE2NjM4MzUzMjUuMDEwMTM2NiwgMjEyNDAsIDEuMjEzMDQ1NDc3ODY3MTI2NV0sIFsxNjYzODM1MzI1LjMxNjQ2OTQsIDIxMjY3LCAxLjE1NjcwNDkwMjY0ODkyNThdLCBbMTY2MzgzNTMyNS42MzM1MjUxLCAyMTI5NCwgMS4wMzIyODAyMDY2ODAyOTc5XSwgWzE2NjM4MzUzMjUuOTI2NTY5NywgMjEzMjEsIDEuMTE4NTMzMjUzNjY5NzM4OF0sIFsxNjYzODM1MzI2LjI0Nzg4NzgsIDIxMzQ4LCAxLjA5NTAwODk2OTMwNjk0NThdLCBbMTY2MzgzNTMyNi40NDg5NTM2LCAyMTM2NiwgMS4xNzM4OTA3MDk4NzcwMTQyXSwgWzE2NjM4MzUzMjYuOTM4OTgwOCwgMjE0MTEsIDEuMjQ2Mzk1NDY4NzExODUzXSwgWzE2NjM4MzUzMjcuNTY4MzU3MiwgMjE0NjUsIDEuMDg0OTQ2NjMyMzg1MjU0XSwgWzE2NjM4MzUzMjguMDc4MTQ1MywgMjE1MTAsIDEuMTMxODg4NTA4Nzk2NjkyXSwgWzE2NjM4MzUzMjguNTA2NzkzMywgMjE1MjgsIDEuMjYxNTEzNzEwMDIxOTcyN10sIFsxNjYzODM1MzI4LjcwMjczNSwgMjE1NDYsIDEuMTU4MDg3ODQ5NjE3MDA0NF0sIFsxNjYzODM1MzI4Ljc5ODgzMzYsIDIxNTU1LCAxLjE5MzMyMjE4MTcwMTY2MDJdLCBbMTY2MzgzNTMyOC44OTU3NTYsIDIxNTY0LCAxLjE3OTQzMDQ4NDc3MTcyODVdLCBbMTY2MzgzNTMyOC45OTg1MDcsIDIxNTczLCAxLjE3ODYxMjM1MTQxNzU0MTVdLCBbMTY2MzgzNTMyOS4xMTIxMDQsIDIxNTgyLCAxLjAzNTU5MTk1OTk1MzMwOF0sIFsxNjYzODM1MzI5LjIwNzA5LCAyMTU5MSwgMS4zNjgwMjI5MTg3MDExNzE5XSwgWzE2NjM4MzUzMzAuMjY4MjM5LCAyMTY4MSwgMS4yODY1NDQzMjI5Njc1MjkzXSwgWzE2NjM4MzUzMzAuNzEyNjg5NCwgMjE3MTcsIDEuMDQ2MjM1OTE4OTk4NzE4M10sIFsxNjYzODM1MzMxLjAxMDQxMDgsIDIxNzQ0LCAxLjQ4NzY1OTMzNTEzNjQxMzZdLCBbMTY2MzgzNTMzMS40MjE3MTQ4LCAyMTc4MCwgMS4zNDAwNjM5Mjk1NTc4MDAzXSwgWzE2NjM4MzUzMzIuMzY1MTIzNywgMjE4NjEsIDAuOTM2MzQ0NjgzMTcwMzE4Nl0sIFsxNjYzODM1MzMyLjY3MzQ2MzYsIDIxODg4LCAwLjkwNDk4OTU0MDU3NjkzNDhdLCBbMTY2MzgzNTMzMy4wODM2NzksIDIxOTI0LCAxLjE0NTcxNzAyNDgwMzE2MTZdLCBbMTY2MzgzNTMzMy4xNzY0NjQzLCAyMTkzMywgMS4xNzYwNTA0MjQ1NzU4MDU3XSwgWzE2NjM4MzUzMzMuNDEwNzA3LCAyMTk1MSwgMS4wNDIzNDI2NjI4MTEyNzkzXSwgWzE2NjM4MzUzMzMuNTE0NzA2LCAyMTk2MCwgMS4wMjgwMjA4NTg3NjQ2NDg0XSwgWzE2NjM4MzUzMzMuNzIzNjkwMywgMjE5NzgsIDEuMDcyNjE1MjY1ODQ2MjUyNF0sIFsxNjYzODM1MzMzLjgzMDkxMDcsIDIxOTg3LCAxLjE1MzQ4NzMyNDcxNDY2MDZdLCBbMTY2MzgzNTMzNC40Mzk5NzUzLCAyMjA0MSwgMS4xNDUzODY5MzQyODAzOTU1XSwgWzE2NjM4MzUzMzUuMTIwMDYzNSwgMjIwOTUsIDEuMTg1OTU2NzE2NTM3NDc1Nl0sIFsxNjYzODM1MzM1LjYyNDAyNTMsIDIyMTMxLCAwLjk4ODQwMTcxMDk4NzA5MTFdLCBbMTY2MzgzNTMzNi4wNjgwMzEsIDIyMTY3LCAwLjg4MjUwNzQ0MzQyODAzOTZdLCBbMTY2MzgzNTMzNi40ODg3NDg4LCAyMjE4NSwgMC45MjYxODIzMjk2NTQ2OTM2XSwgWzE2NjM4MzUzMzYuNTg4MTE1LCAyMjE5NCwgMS4zNTA1NDI1NDUzMTg2MDM1XSwgWzE2NjM4MzUzMzYuNzk0MDQ5NSwgMjIyMTIsIDAuOTkyNTQ4MjI3MzEwMTgwN10sIFsxNjYzODM1MzM3LjAxMTI2MzEsIDIyMjMwLCAxLjA3NzgwNjQ3Mjc3ODMyMDNdLCBbMTY2MzgzNTMzNy40NjY4MDIsIDIyMjY2LCAwLjk3MTk3OTkxNjA5NTczMzZdLCBbMTY2MzgzNTMzNy43ODIxMzAyLCAyMjI4NCwgMS4wMTczODkyOTc0ODUzNTE2XSwgWzE2NjM4MzUzMzguMDI0ODI2OCwgMjIzMDIsIDEuMTk2MjkxMzI3NDc2NTAxNV0sIFsxNjYzODM1MzM4Ljg0ODAzOTQsIDIyMzY1LCAxLjAyODQxNjUxNDM5NjY2NzVdLCBbMTY2MzgzNTMzOC45NzQ4MzYsIDIyMzc0LCAxLjA5OTg3MjU4OTExMTMyODFdLCBbMTY2MzgzNTMzOS40MzA2NjYyLCAyMjQxMCwgMS4yNjc2NDA1OTA2Njc3MjQ2XSwgWzE2NjM4MzUzMzkuODg5MjEyLCAyMjQ0NiwgMS4wNzIzOTk3MzU0NTA3NDQ2XSwgWzE2NjM4MzUzNDAuMjQ5NTkwNiwgMjI0NzMsIDEuMjEwNTk0ODkyNTAxODMxXSwgWzE2NjM4MzUzNDAuNDkyMzAxMiwgMjI0OTEsIDEuMDY2MjA5OTEyMzAwMTA5OV0sIFsxNjYzODM1MzQwLjYwMjIwMzEsIDIyNTAwLCAxLjY2MTg3NTQ4NjM3MzkwMTRdLCBbMTY2MzgzNTM0MC43MTkyNDU3LCAyMjUwOSwgMS4wNTU1MTE5NTE0NDY1MzMyXSwgWzE2NjM4MzUzNDAuODIxNzM0NCwgMjI1MTgsIDAuOTE3ODQxNjcyODk3MzM4OV0sIFsxNjYzODM1MzQxLjAyOTU5OCwgMjI1MzYsIDAuOTY5NjMwMTIyMTg0NzUzNF0sIFsxNjYzODM1MzQxLjI0NjIxMSwgMjI1NTQsIDEuMjQ4MzEwNjg1MTU3Nzc1OV0sIFsxNjYzODM1MzQxLjM0NTI5NDUsIDIyNTYzLCAxLjAwNjMyNjMxNzc4NzE3MDRdLCBbMTY2MzgzNTM0MS41NTQyNDk1LCAyMjU4MSwgMS4wMTgzMTk0ODc1NzE3MTYzXSwgWzE2NjM4MzUzNDEuNzUwMjYxLCAyMjU5OSwgMS4zNjI0OTYwMTg0MDk3MjldLCBbMTY2MzgzNTM0Mi4wNDEzNzk3LCAyMjYyNiwgMS4xMDg2OTkwODMzMjgyNDddLCBbMTY2MzgzNTM0Mi4yMzc0Mjc1LCAyMjY0NCwgMS4xOTQxMzM5OTY5NjM1MDFdLCBbMTY2MzgzNTM0Mi40NDE0MTY1LCAyMjY2MiwgMS42NTk3MDgzODA2OTkxNTc3XSwgWzE2NjM4MzUzNDIuNTQzMjkzNSwgMjI2NzEsIDEuMTg4MjU2OTc4OTg4NjQ3NV0sIFsxNjYzODM1MzQyLjY0NjcyOSwgMjI2ODAsIDEuMjA3Mzk2NjI2NDcyNDczMV0sIFsxNjYzODM1MzQyLjg0MTAxNTYsIDIyNjk4LCAxLjE0OTI4NDEyNDM3NDM4OTZdLCBbMTY2MzgzNTM0My4wMzg4NTY1LCAyMjcxNiwgMC45Mzk0MzU2NjA4MzkwODA4XSwgWzE2NjM4MzUzNDMuNTQ1NTk0NSwgMjI3NjEsIDEuMzk1NTExMzg4Nzc4Njg2NV0sIFsxNjYzODM1MzQzLjc0OTM0ODIsIDIyNzc5LCAxLjMxNzY4MTc4OTM5ODE5MzRdLCBbMTY2MzgzNTM0My44NDMzODk1LCAyMjc4OCwgMS4wNDU0NjkxNjQ4NDgzMjc2XSwgWzE2NjM4MzUzNDQuMDUyMzYyLCAyMjgwNiwgMS4wNTcyOTAzMTU2MjgwNTE4XSwgWzE2NjM4MzUzNDQuNTYyMzU1NSwgMjI4NTEsIDEuMjI0ODgwMjE4NTA1ODU5NF0sIFsxNjYzODM1MzQ0Ljc2ODM1OTcsIDIyODY5LCAxLjE2NDMxODY4MDc2MzI0NDZdLCBbMTY2MzgzNTM0NC45NjA3MjUsIDIyODg3LCAxLjM3NTI5ODI2MTY0MjQ1Nl0sIFsxNjYzODM1MzQ1LjA1MTk4NDgsIDIyODk2LCAxLjQ3MjI5ODE0NTI5NDE4OTVdLCBbMTY2MzgzNTM0NS41NjM5OCwgMjI5MjMsIDEuMjUxMzM5NzkzMjA1MjYxMl0sIFsxNjYzODM1MzQ2LjM1NTgxNDIsIDIyOTk1LCAxLjAyMDIyNjEyMDk0ODc5MTVdLCBbMTY2MzgzNTM0Ni40NTUwNjUsIDIzMDA0LCAxLjA1Mjc2MDgzOTQ2MjI4MDNdLCBbMTY2MzgzNTM0Ny4wNjQ1NjU3LCAyMzA0OSwgMS4wMzMyMzAzMDQ3MTgwMTc2XSwgWzE2NjM4MzUzNDcuNzE4MjQzOCwgMjMwOTQsIDEuMTEwOTQ5Mzk3MDg3MDk3Ml0sIFsxNjYzODM1MzQ3LjgzNDU5OCwgMjMxMDMsIDEuMjM5MTUzNjIzNTgwOTMyNl0sIFsxNjYzODM1MzQ4LjA4NjQ0ODcsIDIzMTIxLCAwLjg5NDc2NDkwMDIwNzUxOTVdLCBbMTY2MzgzNTM0OC40MzQ2MTUsIDIzMTQ4LCAxLjE0MjY0Mjk3NDg1MzUxNTZdLCBbMTY2MzgzNTM0OC42NzA4MTU1LCAyMzE2NiwgMS4wMzExNDQyNjEzNjAxNjg1XSwgWzE2NjM4MzUzNDguOTAyNTExNCwgMjMxODQsIDEuMjQ2NTY4MzIyMTgxNzAxN10sIFsxNjYzODM1MzQ5LjEzODM5MDUsIDIzMjAyLCAxLjAzMjI5ODU2NDkxMDg4ODddLCBbMTY2MzgzNTM0OS4yNTE3MzM1LCAyMzIxMSwgMS4wOTIwMzc2Nzc3NjQ4OTI2XSwgWzE2NjM4MzUzNDkuODQzNzczOCwgMjMyNTYsIDEuMzcyMDYxNDkxMDEyNTczMl0sIFsxNjYzODM1MzQ5Ljk2MTc1NDgsIDIzMjY1LCAxLjIxOTcxMjEzODE3NTk2NDRdLCBbMTY2MzgzNTM1MC4wODMyMzM2LCAyMzI3NCwgMS4xNzgzNDYzOTU0OTI1NTM3XSwgWzE2NjM4MzUzNTAuNDQ5MjA4NywgMjMzMDEsIDEuMjExOTgwODE5NzAyMTQ4NF0sIFsxNjYzODM1MzUwLjU2Njk5OTIsIDIzMzEwLCAxLjExMzI0MzgxODI4MzA4MV0sIFsxNjYzODM1MzUwLjkzODU4MzQsIDIzMzM3LCAwLjk4OTEzMDMxODE2NDgyNTRdLCBbMTY2MzgzNTM1MS42Njk5NzcyLCAyMzM5MSwgMS4xODExNDg3Njc0NzEzMTM1XSwgWzE2NjM4MzUzNTEuNzk3NjAxLCAyMzQwMCwgMS4wODA4NjQxOTEwNTUyOTc5XSwgWzE2NjM4MzUzNTIuMDQ2NzEyLCAyMzQxOCwgMS4wNDY0MTI0Njc5NTY1NDNdLCBbMTY2MzgzNTM1Mi4yODQ4NDQ5LCAyMzQzNiwgMS4xMzA5MjA0MTAxNTYyNV0sIFsxNjYzODM1MzUyLjU0NjMyNDUsIDIzNDU0LCAxLjcyNzAyNzA1ODYwMTM3OTRdLCBbMTY2MzgzNTM1Mi42NjUzMjc4LCAyMzQ2MywgMS4wNDIxNTgxMjY4MzEwNTQ3XSwgWzE2NjM4MzUzNTMuOTY4MTc1NCwgMjM1NjIsIDEuMTA1ODEwNTIzMDMzMTQyXSwgWzE2NjM4MzUzNTQuMDk2MTc1MiwgMjM1NzEsIDEuMTE1NjU4MDQ0ODE1MDYzNV0sIFsxNjYzODM1MzU0LjIyODE3OTcsIDIzNTgwLCAwLjk5MzQ3NjAzMzIxMDc1NDRdLCBbMTY2MzgzNTM1NC42MTQ5MjE2LCAyMzYwNywgMS4wOTc2NjE5NzIwNDU4OTg0XSwgWzE2NjM4MzUzNTUuMjUyMTczNCwgMjM2NTIsIDAuOTQ5MjE5NzYzMjc4OTYxMl0sIFsxNjYzODM1MzU1LjM3NTgxOTIsIDIzNjYxLCAwLjk4ODA2NDg4NTEzOTQ2NTNdLCBbMTY2MzgzNTM1Ni4xMzAxMjQsIDIzNjk3LCAxLjE5NzEyNDcxOTYxOTc1MV1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=v9&tag=Loss%2Fvalid":{"data":"W1sxNjYzOTE5OTc3LjQ1NTA5NDYsIDksIDg3LjY3MzYwNjg3MjU1ODZdLCBbMTY2MzkxOTk3OC4xMzA2MDIsIDI3LCA0MS44Njg2NDQ3MTQzNTU0N10sIFsxNjYzOTE5OTc4LjIzODc2MzgsIDM2LCAzMS43MjkxODUxMDQzNzAxMTddLCBbMTY2MzkxOTk3OC4zNjA0OTU4LCA0NSwgMzIuODcyNzk4OTE5Njc3NzM0XSwgWzE2NjM5MTk5NzguOTM5NDAzNSwgOTAsIDI4LjA3NzQ2Njk2NDcyMTY4XSwgWzE2NjM5MTk5NzkuMDU1NDk0MywgOTksIDI0LjQxMTU2MDA1ODU5Mzc1XSwgWzE2NjM5MTk5NzkuMTc3ODU0MywgMTA4LCAyMy4xNTIxMDUzMzE0MjA5XSwgWzE2NjM5MTk5NzkuNjg0MTE1NCwgMTM1LCAxNy42MjM4MDk4MTQ0NTMxMjVdLCBbMTY2MzkxOTk3OS44MDg1OTksIDE0NCwgMTUuNzQwMjI3Njk5Mjc5Nzg1XSwgWzE2NjM5MTk5NzkuOTM1MjYzNCwgMTUzLCAxNS4wOTkxNzQ0OTk1MTE3MTldLCBbMTY2MzkxOTk4MC4xNzc5NjY0LCAxNzEsIDkuMDI0MDU0NTI3MjgyNzE1XSwgWzE2NjM5MTk5ODAuMjkwOTU2MywgMTgwLCA5LjA2MjM0NTUwNDc2MDc0Ml0sIFsxNjYzOTE5OTgwLjM5NTc2NzIsIDE4OSwgNi41MTY4OTgxNTUyMTI0MDJdLCBbMTY2MzkxOTk4MC42NDAzMjEzLCAyMDcsIDUuMTY1MTU1ODg3NjAzNzZdLCBbMTY2MzkxOTk4MC43NjIzMTEyLCAyMTYsIDUuMjc1MjA5NDI2ODc5ODgzXSwgWzE2NjM5MTk5ODEuMDkyMjAwNSwgMjQzLCA1LjI4MzEzNjg0NDYzNTAxXSwgWzE2NjM5MTk5ODEuMTk5NTY3NiwgMjUyLCA1LjI3NTIxNjEwMjYwMDA5OF0sIFsxNjYzOTE5OTgxLjMwODcwNiwgMjYxLCA2Ljk2ODUwOTE5NzIzNTEwN10sIFsxNjYzOTE5OTgxLjQxODc1OSwgMjcwLCA2LjE5Njc0NDkxODgyMzI0Ml0sIFsxNjYzOTE5OTgxLjUyMTM0NTQsIDI3OSwgNS4xNTA1ODM3NDQwNDkwNzJdLCBbMTY2MzkxOTk4MS44NTMxNDk3LCAzMDYsIDQuNzc1ODY2OTg1MzIxMDQ1XSwgWzE2NjM5MTk5ODEuOTc1NDc5MSwgMzE1LCA1Ljg3NzE3MzQyMzc2NzA5XSwgWzE2NjM5MTk5ODIuMjA4NjE5NiwgMzMzLCA0LjkyOTg2ODIyMTI4Mjk1OV0sIFsxNjYzOTE5OTgyLjMxODQ0OTUsIDM0MiwgNC44MTYxOTczOTUzMjQ3MDddLCBbMTY2MzkxOTk4Mi40MjMxMTU1LCAzNTEsIDUuMDE3ODcxODU2Njg5NDUzXSwgWzE2NjM5MTk5ODIuNTI4NjI4LCAzNjAsIDUuMTk2Nzc0MDA1ODg5ODkzXSwgWzE2NjM5MTk5ODIuNjQ0MDUzMiwgMzY5LCA1LjUwMDUyNTQ3NDU0ODM0XSwgWzE2NjM5MTk5ODMuNDU4NzksIDQzMiwgNC4zNjY5NzAwNjIyNTU4NTldLCBbMTY2MzkxOTk4My41Njc4NjUsIDQ0MSwgNC42ODI4MzI3MTc4OTU1MDhdLCBbMTY2MzkxOTk4My42NzM4MDMzLCA0NTAsIDQuOTE3MDY2MDk3MjU5NTIxNV0sIFsxNjYzOTE5OTgzLjc5MTE5NjgsIDQ1OSwgNS40NTY2NDI2Mjc3MTYwNjQ1XSwgWzE2NjM5MTk5ODMuOTAwOTQwMiwgNDY4LCA0LjA5NjY1NDQxNTEzMDYxNV0sIFsxNjYzOTE5OTg0LjAyNDE4NjQsIDQ3NywgNC4zMjQxMjM4NTk0MDU1MThdLCBbMTY2MzkxOTk4NC4yNTY4MTEsIDQ5NSwgNC42OTI0MTcxNDQ3NzUzOTFdLCBbMTY2MzkxOTk4NC4zNjcyOTY1LCA1MDQsIDQuMDc0NDg1Nzc4ODA4NTk0XSwgWzE2NjM5MTk5ODQuNTk1MDA2LCA1MjIsIDQuNTI4MzE0NTkwNDU0MTAyXSwgWzE2NjM5MTk5ODQuOTEzNzU1MiwgNTQ5LCA1LjM0NjIwMjg1MDM0MTc5N10sIFsxNjYzOTE5OTg1LjAzOTMyMjQsIDU1OCwgMy43ODI4MDI1ODE3ODcxMDk0XSwgWzE2NjM5MTk5ODUuMTU3NTg1LCA1NjcsIDQuMTAwOTE3ODE2MTYyMTA5XSwgWzE2NjM5MTk5ODUuMjY2MDc2LCA1NzYsIDMuNjQ4NTI3ODYwNjQxNDc5NV0sIFsxNjYzOTE5OTg1LjUwMzY5NzIsIDU5NCwgNC4xMTQ4MDI4MzczNzE4MjZdLCBbMTY2MzkxOTk4NS42MDU4MSwgNjAzLCA0LjIxMTk4MTc3MzM3NjQ2NV0sIFsxNjYzOTE5OTg1LjY5MzA0MDQsIDYxMiwgNC40MTEyODExMDg4NTYyMDFdLCBbMTY2MzkxOTk4NS43ODMwMTY3LCA2MjEsIDQuMTAyMjc1ODQ4Mzg4NjcyXSwgWzE2NjM5MTk5ODUuOTc2NjgsIDYzOSwgMy43OTk1Mjg4MzcyMDM5Nzk1XSwgWzE2NjM5MTk5ODYuMDc4NDcyOSwgNjQ4LCA0LjU1MzQwODE0NTkwNDU0MV0sIFsxNjYzOTE5OTg2LjI2ODkxMzUsIDY2NiwgNC4xMDA5NTM1Nzg5NDg5NzVdLCBbMTY2MzkxOTk4Ni40NzEzNywgNjg0LCAzLjI4MDEyNzI4NjkxMTAxMDddLCBbMTY2MzkxOTk4Ni42NzM5OTAyLCA3MDIsIDMuOTY2NjA0MjMyNzg4MDg2XSwgWzE2NjM5MTk5ODYuODc2NzYxNCwgNzIwLCA0LjQzOTQ0MzU4ODI1NjgzNl0sIFsxNjYzOTE5OTg2Ljk3NDIwMiwgNzI5LCAzLjU0NDIzODMyODkzMzcxNl0sIFsxNjYzOTE5OTg3LjE3NDc0MDgsIDc0NywgMy41MTIxMDI4NDIzMzA5MzI2XSwgWzE2NjM5MTk5ODcuMzMxNzMyLCA3NTYsIDMuNzQ2NzQ4NDQ3NDE4MjEzXSwgWzE2NjM5MTk5ODcuNTQ5ODEwMiwgNzc0LCAzLjU1MDY2MTMyNTQ1NDcxMl0sIFsxNjYzOTE5OTg3LjY2NDE2ODQsIDc4MywgMy43MTY2MjkwMjgzMjAzMTI1XSwgWzE2NjM5MTk5ODguMDA1NjA1NSwgODEwLCA0LjI3MzE2MDkzNDQ0ODI0Ml0sIFsxNjYzOTE5OTg4LjEyMjE1MywgODE5LCAzLjQxNTE2OTAwMDYyNTYxMDRdLCBbMTY2MzkxOTk4OC42ODQwOTQ3LCA4NjQsIDIuOTA4NzcwNzk5NjM2ODQxXSwgWzE2NjM5MTk5ODkuMzA0NjI0LCA5MDAsIDMuNDU2NzEyNzIyNzc4MzIwM10sIFsxNjYzOTE5OTg5LjQyMjkyMTcsIDkwOSwgMi45OTg4NjAxMjA3NzMzMTU0XSwgWzE2NjM5MTk5ODkuNzQ4MTc0NCwgOTM2LCAzLjc0MTE2MDg2OTU5ODM4ODddLCBbMTY2MzkxOTk4OS44Njc1MDYzLCA5NDUsIDMuMTkzNDIzMjcxMTc5MTk5XSwgWzE2NjM5MTk5OTAuMDk3OTQxNCwgOTYzLCAzLjM5MTc5NDkxOTk2NzY1MTRdLCBbMTY2MzkxOTk5MC4yMTgxNDA0LCA5NzIsIDMuMDI5MjA1Nzk5MTAyNzgzXSwgWzE2NjM5MTk5OTAuNDM1ODA0NiwgOTkwLCAzLjEwMjMzMzU0NTY4NDgxNDVdLCBbMTY2MzkxOTk5MC41NDgyMDksIDk5OSwgMi43NTk2MDc1NTM0ODIwNTU3XSwgWzE2NjM5MTk5OTAuNjYwMDIxLCAxMDA4LCAzLjA4MjgxMjA3MDg0NjU1NzZdLCBbMTY2MzkxOTk5MC43NjQ3NzcyLCAxMDE3LCAzLjA4NzgyNjI1MTk4MzY0MjZdLCBbMTY2MzkxOTk5MC45ODA1ODYsIDEwMzUsIDIuNjk3MDExMjMyMzc2MDk4Nl0sIFsxNjYzOTE5OTkxLjEwNDA0NjgsIDEwNDQsIDIuODkwMzU4MjA5NjA5OTg1NF0sIFsxNjYzOTE5OTkxLjIyNjg4NTYsIDEwNTMsIDIuNzg1MjgwNDY2MDc5NzEyXSwgWzE2NjM5MTk5OTEuNzQ4MTk5NywgMTA5OCwgMy4xNTA5ODA5NDk0MDE4NTU1XSwgWzE2NjM5MTk5OTIuMTQwMTA2LCAxMTM0LCAyLjY2ODI5NzUyOTIyMDU4MV0sIFsxNjYzOTE5OTkyLjI0OTM5NTYsIDExNDMsIDIuMzgyMTg0MDI4NjI1NDg4M10sIFsxNjYzOTE5OTkyLjQ0ODI0NywgMTE2MSwgMi45NzQ5MTY0NTgxMjk4ODNdLCBbMTY2MzkxOTk5Mi41NDUwNDc1LCAxMTcwLCAyLjczODY4NDE3NzM5ODY4MTZdLCBbMTY2MzkxOTk5Mi42NDQ5OTE0LCAxMTc5LCAyLjQwOTM0Mjc2NTgwODEwNTVdLCBbMTY2MzkxOTk5Mi43MzMxNzIsIDExODgsIDIuNzczNzExMjA0NTI4ODA4Nl0sIFsxNjYzOTE5OTkyLjgzNjAxNzQsIDExOTcsIDIuNDM4OTY1Nzk3NDI0MzE2NF0sIFsxNjYzOTE5OTkzLjAzMTM5NzgsIDEyMTUsIDIuNzA1OTI5NTE3NzQ1OTcxN10sIFsxNjYzOTE5OTkzLjI0NjMyMDUsIDEyMzMsIDIuNjcyODg4NzU1Nzk4MzRdLCBbMTY2MzkxOTk5My4zMzQwNjc4LCAxMjQyLCAyLjY2MTI4NDY4NTEzNDg4NzddLCBbMTY2MzkxOTk5My40NTE1MjYyLCAxMjUxLCAyLjU1NTA4MjA4Mjc0ODQxM10sIFsxNjYzOTE5OTkzLjk5MDQyNTgsIDEyOTYsIDIuNzEwMTY5MDc2OTE5NTU1N10sIFsxNjYzOTE5OTk0LjA4NDc4LCAxMzA1LCAyLjQwNzgxNTkzMzIyNzUzOV0sIFsxNjYzOTE5OTk0LjI5MDMzNiwgMTMyMywgMi41MzkxNDc2MTU0MzI3MzkzXSwgWzE2NjM5MTk5OTQuMzk5MDk4NiwgMTMzMiwgMi41NzA1ODE2NzQ1NzU4MDU3XSwgWzE2NjM5MTk5OTQuNzMwNDg3OCwgMTM1OSwgMi4zNzI0NTM2ODk1NzUxOTUzXSwgWzE2NjM5MTk5OTUuMTg3NTI1NywgMTM5NSwgMi42MDYxMzEzMTUyMzEzMjMyXSwgWzE2NjM5MTk5OTUuNDE0Nzc3MywgMTQxMywgMi4wODYwNjA1MjM5ODY4MTY0XSwgWzE2NjM5MTk5OTUuNTMzNzcyNSwgMTQyMiwgMi4yNDQxMjY1NTgzMDM4MzNdLCBbMTY2MzkxOTk5NS43NDQ1NDksIDE0NDAsIDIuMjcwNzI5MDY0OTQxNDA2Ml0sIFsxNjYzOTE5OTk1Ljg1MzMyNDcsIDE0NDksIDIuMDQwOTMyNDE2OTE1ODkzNl0sIFsxNjYzOTE5OTk2LjA0ODE4MzIsIDE0NjcsIDIuMjAzMDQ4MjI5MjE3NTI5M10sIFsxNjYzOTE5OTk2LjE1NTc3MTcsIDE0NzYsIDEuOTY5NzI5NzgxMTUwODE3OV0sIFsxNjYzOTE5OTk2LjI1ODAzNjQsIDE0ODUsIDIuMTcyNTA1NjE3MTQxNzIzNl0sIFsxNjYzOTE5OTk2LjQ1NDk5MiwgMTUwMywgMi4wMjc0NDM4ODU4MDMyMjI3XSwgWzE2NjM5MTk5OTYuNzE1MTM3NywgMTUyMSwgMS45NjE3NDQ5MDQ1MTgxMjc0XSwgWzE2NjM5MTk5OTYuOTY3MzM1NSwgMTUzOSwgMi4xODk1NzIwOTU4NzA5NzE3XSwgWzE2NjM5MTk5OTcuMTAwMzQxLCAxNTQ4LCAyLjg4NTE3NTcwNDk1NjA1NDddLCBbMTY2MzkxOTk5Ny4yMDcwODU2LCAxNTU3LCAyLjc0MDAxMzU5OTM5NTc1Ml0sIFsxNjYzOTE5OTk3LjQxNTA2NywgMTU3NSwgMi40MjcwMTc2ODg3NTEyMjA3XSwgWzE2NjM5MTk5OTcuNTI2ODc3LCAxNTg0LCAyLjIwMjEwNjk1MjY2NzIzNjNdLCBbMTY2MzkxOTk5Ny42MjEyMjUsIDE1OTMsIDIuMTI4NjI4MjUzOTM2NzY3Nl0sIFsxNjYzOTE5OTk3LjcyNTg4ODcsIDE2MDIsIDEuNzY5Mjc2ODU3Mzc2MDk4Nl0sIFsxNjYzOTE5OTk3LjgyNjcwNywgMTYxMSwgMi4yODYwODMyMjE0MzU1NDddLCBbMTY2MzkxOTk5OC4wMjI1NTYsIDE2MjksIDEuODQ3OTExOTUzOTI2MDg2NF0sIFsxNjYzOTE5OTk4LjExNjgzMzcsIDE2MzgsIDEuNzg1OTIyMDUwNDc2MDc0Ml0sIFsxNjYzOTE5OTk4LjIwOTkwMzcsIDE2NDcsIDIuMTMyNzM0Nzc1NTQzMjEzXSwgWzE2NjM5MTk5OTguNTQyMzc2MywgMTY1NiwgMS44NTE2MTM4NzkyMDM3OTY0XSwgWzE2NjM5MTk5OTguNjY0MDczNSwgMTY2NSwgMS44MDM2NjA2MzExNzk4MDk2XSwgWzE2NjM5MTk5OTguNzc0NTYwNSwgMTY3NCwgMS43ODY5MTMxNTY1MDkzOTk0XSwgWzE2NjM5MTk5OTguODY4MzUxMiwgMTY4MywgMi42OTMwMTYyOTA2NjQ2NzNdLCBbMTY2MzkxOTk5OS4xNjM3NzMzLCAxNzEwLCAxLjcwNzUzNTYyNDUwNDA4OTRdLCBbMTY2MzkxOTk5OS4yNjA5MDg0LCAxNzE5LCAxLjc0MjQyMDc5MjU3OTY1MDldLCBbMTY2MzkxOTk5OS4zNzYzMDE1LCAxNzI4LCAyLjIxNjMyNzY2NzIzNjMyOF0sIFsxNjYzOTE5OTk5LjQ4NzMyNzYsIDE3MzcsIDIuNzM2MzE3NjM0NTgyNTE5NV0sIFsxNjYzOTE5OTk5Ljc5OTEyMzgsIDE3NjQsIDIuMTY4NDk4OTkyOTE5OTIyXSwgWzE2NjM5MjAwMDAuMTIzOTMxMiwgMTc5MSwgMS44ODE1OTk1NDU0Nzg4MjA4XSwgWzE2NjM5MjAwMDAuMjM3MDI4LCAxODAwLCAxLjkwODA3MjIzMzIwMDA3MzJdLCBbMTY2MzkyMDAwMC4zMjIwNDAzLCAxODA5LCAyLjQzNDQzNTEyOTE2NTY0OTRdLCBbMTY2MzkyMDAwMC41MTU1MjYsIDE4MjcsIDEuOTA1NDc5NDMxMTUyMzQzOF0sIFsxNjYzOTIwMDAwLjYxNjM4OSwgMTgzNiwgMi4xMjE3NjQ2NTk4ODE1OTJdLCBbMTY2MzkyMDAwMC43MjM1NzMsIDE4NDUsIDEuODAxMDIzMjQ0ODU3Nzg4XSwgWzE2NjM5MjAwMDAuODMxOTI0NCwgMTg1NCwgMS43NDc4ODYzMDAwODY5NzVdLCBbMTY2MzkyMDAwMS4wNjE5MTkyLCAxODcyLCAxLjcyNzIwMTM0MjU4MjcwMjZdLCBbMTY2MzkyMDAwMS4yNjIzNDI3LCAxODkwLCAxLjc2NDg2MTQ2NDUwMDQyNzJdLCBbMTY2MzkyMDAwMS40NTIxNjA4LCAxOTA4LCAxLjc3ODg0NjYyMTUxMzM2NjddLCBbMTY2MzkyMDAwMS42NTIwMDQyLCAxOTI2LCAyLjE3Njc4Njg5OTU2NjY1MDRdLCBbMTY2MzkyMDAwMS44NDkxMzE4LCAxOTQ0LCAxLjgyNDQ4OTk1MTEzMzcyOF0sIFsxNjYzOTIwMDAxLjkzNTk5NjUsIDE5NTMsIDEuOTg0MjY5MzgwNTY5NDU4XSwgWzE2NjM5MjAwMDIuMTM3MDY2LCAxOTcxLCAxLjY2NTMwNzY0MTAyOTM1OF0sIFsxNjYzOTIwMDAyLjI0OTU4MDEsIDE5ODAsIDEuNjYxNzkwMTMyNTIyNTgzXSwgWzE2NjM5MjAwMDIuMzY3MTEzOCwgMTk4OSwgMS44MjE2MTU1NzY3NDQwNzk2XSwgWzE2NjM5MjAwMDIuNDc0MzYyNiwgMTk5OCwgMi4yNDIyNTg1NDg3MzY1NzIzXSwgWzE2NjM5MjAwMDIuNTYxMTE2NSwgMjAwNywgMS43NTYwMjE4NTcyNjE2NTc3XSwgWzE2NjM5MjAwMDIuNzU2NDc0MywgMjAyNSwgMS44NDE4MDk4Njg4MTI1NjFdLCBbMTY2MzkyMDAwMi44NTA0MDcsIDIwMzQsIDEuOTY2ODYwNDEzNTUxMzMwNl0sIFsxNjYzOTIwMDAyLjk0NzAyOTQsIDIwNDMsIDEuOTMzOTcyNzE2MzMxNDgyXSwgWzE2NjM5MjAwMDMuMjc3NDA3MiwgMjA3MCwgMS43NzI5Mzk1NjI3OTc1NDY0XSwgWzE2NjM5MjAwMDMuNTg4MTU1NywgMjA5NywgMi40Mzc5OTEzODA2OTE1MjgzXSwgWzE2NjM5MjAwMDMuNzk0NzYzNiwgMjExNSwgMS42NjEwNDY1MDQ5NzQzNjUyXSwgWzE2NjM5MjAwMDMuOTAyNTAyMywgMjEyNCwgMS45NjE0MDE1ODE3NjQyMjEyXSwgWzE2NjM5MjAwMDQuMDA5MzIxNywgMjEzMywgMi4zODI0NDg5MTE2NjY4N10sIFsxNjYzOTIwMDA0LjEwMTk0ODUsIDIxNDIsIDIuMDA5NTA5NTYzNDQ2MDQ1XSwgWzE2NjM5MjAwMDQuMTkzMTMzNiwgMjE1MSwgMS41NjMxMjIxNTMyODIxNjU1XSwgWzE2NjM5MjAwMDQuMjk4NjQ2NSwgMjE2MCwgMi4xMjk4MDU4MDMyOTg5NV0sIFsxNjYzOTIwMDA0LjQ5NDM2MzMsIDIxNzgsIDEuOTg5MTAwNTc1NDQ3MDgyNV0sIFsxNjYzOTIwMDA0LjU4MzczODMsIDIxODcsIDEuOTA0MzMyNTE4NTc3NTc1N10sIFsxNjYzOTIwMDA0Ljc3NDM1MTEsIDIyMDUsIDEuNjYzNTEyNTg3NTQ3MzAyMl0sIFsxNjYzOTIwMDA0Ljg2NTk3NDIsIDIyMTQsIDEuODcxNDg0Mzk4ODQxODU4XSwgWzE2NjM5MjAwMDQuOTg2OTA0NCwgMjIyMywgMS45NDM4MDgwNzg3NjU4NjkxXSwgWzE2NjM5MjAwMDUuMDg3ODAyNCwgMjIzMiwgMS43MTUxNzQ5MTM0MDYzNzJdLCBbMTY2MzkyMDAwNS4zMTk0ODU0LCAyMjUwLCAxLjY5MzY3NjIzMzI5MTYyNl0sIFsxNjYzOTIwMDA1LjY0MTk0NTYsIDIyNzcsIDEuNDg1MTczNTgzMDMwNzAwN10sIFsxNjYzOTIwMDA1Ljc0Nzk5NzMsIDIyODYsIDEuOTc1ODQwMDkxNzA1MzIyM10sIFsxNjYzOTIwMDA1Ljg0ODQ5OTgsIDIyOTUsIDEuNDE0NTY2OTkzNzEzMzc5XSwgWzE2NjM5MjAwMDYuMTg4MjgxMywgMjMyMiwgMS42ODM0MDg3MzcxODI2MTcyXSwgWzE2NjM5MjAwMDYuMjc3ODkzLCAyMzMxLCAxLjgyNzI1NTk2NDI3OTE3NDhdLCBbMTY2MzkyMDAwNi4zNzQ0MjUsIDIzNDAsIDEuNTIzNjU0Njk5MzI1NTYxNV0sIFsxNjYzOTIwMDA2LjUxNzg0MjMsIDIzNDksIDEuNzcwNDE2MjU5NzY1NjI1XSwgWzE2NjM5MjAwMDYuNzI2NjgyLCAyMzY3LCAxLjc5MDk2NzIyNjAyODQ0MjRdLCBbMTY2MzkyMDAwNi44Mjk5NjIzLCAyMzc2LCAxLjc2NjAzOTcyOTExODM0NzJdLCBbMTY2MzkyMDAwNy4zMzIxMjQsIDI0MjEsIDEuNTA5NzE2OTg3NjA5ODYzM10sIFsxNjYzOTIwMDA3LjgwODQ3OSwgMjQzOSwgMS40MTIxMjQzOTUzNzA0ODM0XSwgWzE2NjM5MjAwMDcuOTEwNzM2OCwgMjQ0OCwgMi4wNjA4MDAwNzU1MzEwMDZdLCBbMTY2MzkyMDAwOC4xOTI5MTMsIDI0NzUsIDEuNzY5MTEwNTYwNDE3MTc1M10sIFsxNjYzOTIwMDA4LjI4ODc5MjEsIDI0ODQsIDEuNzMzNzIwNzc5NDE4OTQ1M10sIFsxNjYzOTIwMDA4LjM4ODY4OSwgMjQ5MywgMS43MDY3MDc3MTU5ODgxNTkyXSwgWzE2NjM5MjAwMDguNTY5NDU1MSwgMjUxMSwgMS41OTA4MDU2NDk3NTczODUzXSwgWzE2NjM5MjAwMDguNzY1MzgwNCwgMjUyOSwgMi4xMDY2MjA3ODg1NzQyMTg4XSwgWzE2NjM5MjAwMDguOTkxMzQ0NSwgMjU0NywgMS40Njg5NDQ5MDcxODg0MTU1XSwgWzE2NjM5MjAwMDkuMDk0MjQ4OCwgMjU1NiwgMS40NDYwNTc1NTgwNTk2OTI0XSwgWzE2NjM5MjAwMDkuMjA0MzU3NiwgMjU2NSwgMS40MjI2NTIyNDQ1Njc4NzFdLCBbMTY2MzkyMDAwOS4zMDcyMzU1LCAyNTc0LCAxLjc2MjkwNDY0NDAxMjQ1MTJdLCBbMTY2MzkyMDAwOS41NjQ5NTU3LCAyNTkyLCAxLjQ0NTYyNjg1NDg5NjU0NTRdLCBbMTY2MzkyMDAwOS42NjE4OSwgMjYwMSwgMS45NzQ1Mjk5ODE2MTMxNTkyXSwgWzE2NjM5MjAwMDkuODQ0NTcwNCwgMjYxOSwgMS43MzY0OTA3MjY0NzA5NDczXSwgWzE2NjM5MjAwMDkuOTM1NTE0MiwgMjYyOCwgMS41NDMwNzM2NTQxNzQ4MDQ3XSwgWzE2NjM5MjAwMTAuMzIwMDQ5OCwgMjY2NCwgMS40NzUwNTkzOTAwNjgwNTQyXSwgWzE2NjM5MjAwMTAuNDI3MTMyOCwgMjY3MywgMS41NjYyNzM2ODkyNzAwMTk1XSwgWzE2NjM5MjAwMTAuNTE5OTUxNiwgMjY4MiwgMS42MzMxOTg3MzgwOTgxNDQ1XSwgWzE2NjM5MjAwMTAuNjEwNDA2MiwgMjY5MSwgMS40NjM2MDcxOTIwMzk0ODk3XSwgWzE2NjM5MjAwMTAuNjk1MTY5NywgMjcwMCwgMS40MDk4NjY1NzE0MjYzOTE2XSwgWzE2NjM5MjAwMTEuMTg0NDYyNSwgMjc0NSwgMS40MDM3NjU1NTkxOTY0NzIyXSwgWzE2NjM5MjAwMTEuMzI5ODc1NSwgMjc1NCwgMS41MTc2ODI1NTIzMzc2NDY1XSwgWzE2NjM5MjAwMTEuNDQzMjIxNiwgMjc2MywgMi4wMDkyODk5Nzk5MzQ2OTI0XSwgWzE2NjM5MjAwMTEuNTQ3MTI4NCwgMjc3MiwgMS43NzI4MDMxODczNzAzMDAzXSwgWzE2NjM5MjAwMTEuNjQ0MjczLCAyNzgxLCAyLjAxMDc1MDUzMjE1MDI2ODZdLCBbMTY2MzkyMDAxMS43NzMzNTM4LCAyNzkwLCAxLjU3NjM1MjQ3NzA3MzY2OTRdLCBbMTY2MzkyMDAxMi4wNTM0ODczLCAyODE3LCAxLjkyODY1MjA0ODExMDk2Ml0sIFsxNjYzOTIwMDEyLjE2MzI0MywgMjgyNiwgMS42OTEwMzcwNTg4MzAyNjEyXSwgWzE2NjM5MjAwMTIuMjU3NTQ5MywgMjgzNSwgMS40OTgyMjA5MjA1NjI3NDQxXSwgWzE2NjM5MjAwMTIuMzU1NTcwOCwgMjg0NCwgMS44NTc3ODk3NTQ4Njc1NTM3XSwgWzE2NjM5MjAwMTIuNDU1OTgwMywgMjg1MywgMS43NjAzNjY3OTc0NDcyMDQ2XSwgWzE2NjM5MjAwMTIuNjYwMTY1MywgMjg3MSwgMS43OTE4Mjc3OTc4ODk3MDk1XSwgWzE2NjM5MjAwMTIuNzUxMjYxLCAyODgwLCAxLjYyMjE0ODc1MjIxMjUyNDRdLCBbMTY2MzkyMDAxMy4wNTA1MzU3LCAyOTA3LCAxLjU1NDQyNTcxNjQwMDE0NjVdLCBbMTY2MzkyMDAxMy4yNDEyNzkxLCAyOTI1LCAxLjU0ODgyNjA5ODQ0MjA3NzZdLCBbMTY2MzkyMDAxMy43Mzg3MjUyLCAyOTcwLCAxLjQ4NjU0NzQ3MDA5Mjc3MzRdLCBbMTY2MzkyMDAxMy44MjkwNTkxLCAyOTc5LCAxLjY2Nzc0NjE4NjI1NjQwODddLCBbMTY2MzkyMDAxMy45MTgyNTM0LCAyOTg4LCAxLjQ5Njk3NzMyOTI1NDE1MDRdLCBbMTY2MzkyMDAxNC4wMjY3Mjc3LCAyOTk3LCAxLjgyMDI3NTU0NTEyMDIzOTNdLCBbMTY2MzkyMDAxNC4xMzA1MzM1LCAzMDA2LCAyLjA5Nzk1NDc1MDA2MTAzNV0sIFsxNjYzOTIwMDE0LjUxMzA3NDYsIDMwNDIsIDEuNDU5NDA3ODA2Mzk2NDg0NF0sIFsxNjYzOTIwMDE0LjYxMDYzODEsIDMwNTEsIDEuNDI5OTQ1MjMwNDg0MDA4OF0sIFsxNjYzOTIwMDE0LjgyNTgxNDUsIDMwNjksIDEuNjMwODE5Nzk3NTE1ODY5MV0sIFsxNjYzOTIwMDE1LjA5OTE0MSwgMzA5NiwgMS42MjY5NTEwOTg0NDIwNzc2XSwgWzE2NjM5MjAwMTUuMjA1NjMwNSwgMzEwNSwgMS41NTk1MTc3NDEyMDMzMDhdLCBbMTY2MzkyMDAxNS4yOTgyNjQ1LCAzMTE0LCAxLjY5Mzk2MDU0NzQ0NzIwNDZdLCBbMTY2MzkyMDAxNS4zOTk3MTgsIDMxMjMsIDEuNTY3MTU2NDM0MDU5MTQzXSwgWzE2NjM5MjAwMTUuNjI5NzgyNywgMzE0MSwgMS40MTkzMjk0MDQ4MzA5MzI2XSwgWzE2NjM5MjAwMTUuNzI2NDEwNCwgMzE1MCwgMS42MjA0MTMwNjQ5NTY2NjVdLCBbMTY2MzkyMDAxNS44MjY4MDM3LCAzMTU5LCAxLjUwMDg3NDA0MjUxMDk4NjNdLCBbMTY2MzkyMDAxNi4wMjY3ODA4LCAzMTc3LCAxLjQ5NjYxMzI2NDA4Mzg2MjNdLCBbMTY2MzkyMDAxNi4xMjQ1NDcsIDMxODYsIDEuNjExNDgwMzU1MjYyNzU2M10sIFsxNjYzOTIwMDE2LjQyMjI0NzIsIDMxOTUsIDEuNDEyODcyMzE0NDUzMTI1XSwgWzE2NjM5MjAwMTYuNTI0MzI5LCAzMjA0LCAxLjg3NTA3NjI5Mzk0NTMxMjVdLCBbMTY2MzkyMDAxNi43MzYwMTA2LCAzMjIyLCAxLjkxMDI2ODE4NzUyMjg4ODJdLCBbMTY2MzkyMDAxNi44NjIzMSwgMzIzMSwgMS40MDcxNDgwMDM1NzgxODZdLCBbMTY2MzkyMDAxNy4xMzg1MzIyLCAzMjQ5LCAxLjYyMzE0OTg3MTgyNjE3MTldLCBbMTY2MzkyMDAxNy4yNTAwNDksIDMyNTgsIDIuMDA5MzAxNjYyNDQ1MDY4NF0sIFsxNjYzOTIwMDE3LjM1NDk2NCwgMzI2NywgMS41MTcwNjkzMzk3NTIxOTczXSwgWzE2NjM5MjAwMTcuNDk0MzYzLCAzMjc2LCAxLjgzOTIxNDkyMDk5NzYxOTZdLCBbMTY2MzkyMDAxNy42Mzk2OTM3LCAzMjg1LCAxLjQ4NDQ1Mjg0MzY2NjA3NjddLCBbMTY2MzkyMDAxNy44MDE5NTEsIDMyOTQsIDEuOTkwMjAwNjM4NzcxMDU3MV0sIFsxNjYzOTIwMDE3Ljk1Njc1NDQsIDMzMDMsIDEuMjkwMzExMjE3MzA4MDQ0NF0sIFsxNjYzOTIwMDE4LjExNTAwODYsIDMzMTIsIDEuNDIyMDc5NTYzMTQwODY5MV0sIFsxNjYzOTIwMDE4LjI0ODI2ODgsIDMzMjEsIDEuNTgxNTM5OTg4NTE3NzYxMl0sIFsxNjYzOTIwMDE4LjM0Mjc0NDgsIDMzMzAsIDEuNDcxNTE0MjI1MDA2MTAzNV0sIFsxNjYzOTIwMDE4Ljk2Nzg3MSwgMzM3NSwgMS41MzE4MTk0NjI3NzYxODRdLCBbMTY2MzkyMDAxOS4xMjQyNTQ3LCAzMzg0LCAxLjU1MDg3ODY0Mzk4OTU2M10sIFsxNjYzOTIwMDE5LjM2MjI5MTgsIDM0MDIsIDEuNTI0NzcwMjU5ODU3MTc3N10sIFsxNjYzOTIwMDE5LjUwMjk1ODMsIDM0MTEsIDEuNjYzOTg2OTIxMzEwNDI0OF0sIFsxNjYzOTIwMDE5Ljk4Nzk4OTQsIDM0NDcsIDEuNTkzNTMzMTU4MzAyMzA3MV0sIFsxNjYzOTIwMDIwLjI0MTkwMjgsIDM0NjUsIDEuNDg3NDM1OTM2OTI3Nzk1NF0sIFsxNjYzOTIwMDIwLjM3ODQ4MzgsIDM0NzQsIDEuNDIyNzE4NjQ0MTQyMTUwOV0sIFsxNjYzOTIwMDIwLjQ3NjczNzUsIDM0ODMsIDEuNTg4Mjg0OTY5MzI5ODM0XSwgWzE2NjM5MjAwMjAuNzYxMzYxLCAzNTEwLCAxLjI2Mjc4NDcxOTQ2NzE2M10sIFsxNjYzOTIwMDIwLjg3MjQzMjIsIDM1MTksIDEuMjk3NjIxMTMwOTQzMjk4M10sIFsxNjYzOTIwMDIwLjk3ODI4MywgMzUyOCwgMS40NDkwMzAzOTkzMjI1MDk4XSwgWzE2NjM5MjAwMjEuMDgxMzEsIDM1MzcsIDEuNzg0MzQ4MTMwMjI2MTM1M10sIFsxNjYzOTIwMDIxLjE5NjE3MTUsIDM1NDYsIDEuMzY4NjY0MjY0Njc4OTU1XSwgWzE2NjM5MjAwMjEuMzA0OTkyNywgMzU1NSwgMS41MjEzMzI1MDIzNjUxMTIzXSwgWzE2NjM5MjAwMjEuNDIyNjM5NCwgMzU2NCwgMS40ODY5NzM3NjI1MTIyMDddLCBbMTY2MzkyMDAyMS41MzUyOTc5LCAzNTczLCAxLjQwMDkwNjkyMDQzMzA0NDRdLCBbMTY2MzkyMDAyMS42NDQ5MjQ2LCAzNTgyLCAxLjMzMDc5MTgzMTAxNjU0MDVdLCBbMTY2MzkyMDAyMS43NTU1NzMzLCAzNTkxLCAxLjQyMzE2NDYwNjA5NDM2MDRdLCBbMTY2MzkyMDAyMS44NzE0MjgzLCAzNjAwLCAxLjE5NTk0OTA3NzYwNjIwMTJdLCBbMTY2MzkyMDAyMS45ODM4MTY2LCAzNjA5LCAxLjY3NTk5MzQ0MjUzNTQwMDRdLCBbMTY2MzkyMDAyMi4wOTE4NDc0LCAzNjE4LCAxLjY0ODQwMjQ1MjQ2ODg3Ml0sIFsxNjYzOTIwMDIyLjIwODk4MjcsIDM2MjcsIDEuNzg0NTAxNDMzMzcyNDk3Nl0sIFsxNjYzOTIwMDIyLjQyODE2MjMsIDM2NDUsIDEuMzEzNzM2MjAwMzMyNjQxNl0sIFsxNjYzOTIwMDIyLjY1MTIyMjcsIDM2NjMsIDEuNjgyODY2NDU0MTI0NDUwN10sIFsxNjYzOTIwMDIyLjc2MTI1NzIsIDM2NzIsIDEuMzQ3NzcyODM2Njg1MTgwN10sIFsxNjYzOTIwMDIyLjg2NjU0NTcsIDM2ODEsIDEuNTMyMTE4MzIwNDY1MDg4XSwgWzE2NjM5MjAwMjIuOTYwMjY1LCAzNjkwLCAxLjQzMzI1NTU1MzI0NTU0NDRdLCBbMTY2MzkyMDAyMy4zMDQ3MTczLCAzNzE3LCAxLjY3Mjk5NzExNzA0MjU0MTVdLCBbMTY2MzkyMDAyMy40MTA0ODc3LCAzNzI2LCAxLjQzNjkzOTAwMTA4MzM3NF0sIFsxNjYzOTIwMDIzLjUxNzQ2MTMsIDM3MzUsIDEuNDc4NTk4NDc1NDU2MjM3OF0sIFsxNjYzOTIwMDIzLjYyNjk2NDgsIDM3NDQsIDIuMTYwNzM0ODkxODkxNDc5NV0sIFsxNjYzOTIwMDIzLjk1MDYyLCAzNzcxLCAxLjU4ODU4MzU4ODYwMDE1ODddLCBbMTY2MzkyMDAyNC4wNjQ5NTcsIDM3ODAsIDEuMzU5NDgzNzE4ODcyMDcwM10sIFsxNjYzOTIwMDI0LjI4MjY4NTUsIDM3OTgsIDEuODc3NDEyNzk2MDIwNTA3OF0sIFsxNjYzOTIwMDI0LjM5MTg1NjIsIDM4MDcsIDEuMzcxNzAzMzg2MzA2NzYyN10sIFsxNjYzOTIwMDI0Ljc0NzczNiwgMzgzNCwgMS4zMDQ5MTg4ODUyMzEwMThdLCBbMTY2MzkyMDAyNC44NzcwNjczLCAzODQzLCAxLjYzNzk2MDY3MjM3ODU0XSwgWzE2NjM5MjAwMjUuMjE0NjA2NSwgMzg3MCwgMS4zODAwOTkyOTY1Njk4MjQyXSwgWzE2NjM5MjAwMjUuMzE4NDY1NSwgMzg3OSwgMS41NDI0ODM2ODc0MDA4MTc5XSwgWzE2NjM5MjAwMjUuNDI3NDAzNywgMzg4OCwgMS4yODQ3MjIzMjgxODYwMzUyXSwgWzE2NjM5MjAwMjUuNzM4NjIzLCAzOTE1LCAxLjQ4OTk1ODE2NzA3NjExMDhdLCBbMTY2MzkyMDAyNS44NTY3Njg2LCAzOTI0LCAxLjQ1MzA4Njg1MzAyNzM0MzhdLCBbMTY2MzkyMDAyNS45Njc1MzY0LCAzOTMzLCAxLjI5NDQ3NzM0MzU1OTI2NTFdLCBbMTY2MzkyMDAyNi4wODc4OTQ3LCAzOTQyLCAxLjMxNDM5MDMwMTcwNDQwNjddLCBbMTY2MzkyMDAyNi4xOTQyODc1LCAzOTUxLCAxLjUzNTE5NDE1ODU1NDA3NzFdLCBbMTY2MzkyMDAyNi4yODg4MjIyLCAzOTYwLCAxLjU0NDMzNjkxNTAxNjE3NDNdLCBbMTY2MzkyMDAyNi42MDMwNDcsIDM5NjksIDEuMzg2ODg0MDkzMjg0NjA3XSwgWzE2NjM5MjAwMjYuNjk2NzY5NywgMzk3OCwgMS4yNTc0MDMxMzUyOTk2ODI2XSwgWzE2NjM5MjAwMjYuOTIwNzE3LCAzOTk2LCAxLjM4NTY0NDE5NzQ2Mzk4OTNdLCBbMTY2MzkyMDAyNy4wMjY2MzUyLCA0MDA1LCAxLjQ1Mzk5NzQ5Mjc5MDIyMjJdLCBbMTY2MzkyMDAyNy4xMTk0MDEsIDQwMTQsIDEuMzk1MzU1OTM5ODY1MTEyM10sIFsxNjYzOTIwMDI3LjIxODg1NDcsIDQwMjMsIDEuMTk4ODQ0NTUyMDQwMV0sIFsxNjYzOTIwMDI3LjYyMzczNDcsIDQwNTksIDEuNDE5Njk3MDQ2Mjc5OTA3Ml0sIFsxNjYzOTIwMDI3LjcyMzM2MywgNDA2OCwgMS4yNDkxMjk1MzM3Njc3MDAyXSwgWzE2NjM5MjAwMjcuODA4NTY0MiwgNDA3NywgMS4zMDU2NDI3MjQwMzcxNzA0XSwgWzE2NjM5MjAwMjcuOTA5Njc5LCA0MDg2LCAxLjI3NDk1NTk4NzkzMDI5NzldLCBbMTY2MzkyMDAyOC4wMDQ1Njg4LCA0MDk1LCAxLjM2NzI3OTI5MTE1Mjk1NF0sIFsxNjYzOTIwMDI4LjE5ODczNzksIDQxMTMsIDEuNDgxOTY2MTM3ODg2MDQ3NF0sIFsxNjYzOTIwMDI4LjM5MDMxMTcsIDQxMzEsIDEuNTYwMzA5MTcxNjc2NjM1N10sIFsxNjYzOTIwMDI4LjU4NDUwNTgsIDQxNDksIDEuNjAxNTQ0ODU3MDI1MTQ2NV0sIFsxNjYzOTIwMDI4LjY3ODQyOTgsIDQxNTgsIDEuNTcwNjY1OTU1NTQzNTE4XSwgWzE2NjM5MjAwMjguNzc2NjkxNCwgNDE2NywgMS42MzU0ODM3NDE3NjAyNTRdLCBbMTY2MzkyMDAyOC45NjcyNjczLCA0MTg1LCAxLjIwODU2MzA4OTM3MDcyNzVdLCBbMTY2MzkyMDAyOS4wNjI5ODQyLCA0MTk0LCAxLjI3OTc3Nzc2NTI3NDA0NzldLCBbMTY2MzkyMDAyOS4xNTc0MTIsIDQyMDMsIDEuNDMyNTIyNjU0NTMzMzg2Ml0sIFsxNjYzOTIwMDI5LjM0NjEwNTYsIDQyMjEsIDEuMzAwNjU2MzE4NjY0NTUwOF0sIFsxNjYzOTIwMDI5LjU0MTM5MTYsIDQyMzksIDEuMzIyNzk2NzAyMzg0OTQ4N10sIFsxNjYzOTIwMDI5LjYyODQyMzUsIDQyNDgsIDEuNDU0MTIyNDI0MTI1NjcxNF0sIFsxNjYzOTIwMDI5LjgyMjM4MiwgNDI2NiwgMS4zNDk3MDU5MzQ1MjQ1MzYxXSwgWzE2NjM5MjAwMjkuOTA5Mzk1MiwgNDI3NSwgMS4yMzgxNjM0NzEyMjE5MjM4XSwgWzE2NjM5MjAwMzAuMDUxNDMzNiwgNDI4NCwgMS4zOTY0Mzk3OTA3MjU3MDhdLCBbMTY2MzkyMDAzMC4zMzk4MzY4LCA0MzExLCAxLjI3ODEwODU5NjgwMTc1NzhdLCBbMTY2MzkyMDAzMC40Mzg1OTEsIDQzMjAsIDEuNDk4ODUwMTA3MTkyOTkzMl0sIFsxNjYzOTIwMDMwLjU0NDczNjEsIDQzMjksIDEuNDQ1Njk5NDUzMzUzODgxOF0sIFsxNjYzOTIwMDMwLjYzNzA3NSwgNDMzOCwgMS4yNTgyODgwMjU4NTYwMThdLCBbMTY2MzkyMDAzMC43NDA1MTk1LCA0MzQ3LCAxLjU4NzU1MDI4MjQ3ODMzMjVdLCBbMTY2MzkyMDAzMC44Mzc4MTYyLCA0MzU2LCAxLjU2NDE5ODczMjM3NjA5ODZdLCBbMTY2MzkyMDAzMC45MzMyNywgNDM2NSwgMS42MzkyMzUzNzczMTE3MDY1XSwgWzE2NjM5MjAwMzEuMTI4NTY4MiwgNDM4MywgMS4xMDUwNTM5MDE2NzIzNjMzXSwgWzE2NjM5MjAwMzEuMjM5MzQ1LCA0MzkyLCAxLjQ3MTA1Mjg4NTA1NTU0Ml0sIFsxNjYzOTIwMDMxLjMyNTAxOSwgNDQwMSwgMS40NzA0OTc5NjU4MTI2ODNdLCBbMTY2MzkyMDAzMS40MjQxNTIsIDQ0MTAsIDEuMjAxMzU1NDU3MzA1OTA4Ml0sIFsxNjYzOTIwMDMxLjYyNzMwNjcsIDQ0MjgsIDEuMjgyODE3NjAyMTU3NTkyOF0sIFsxNjYzOTIwMDMxLjkzMDAzMzcsIDQ0NTUsIDEuNTUzNjM4MzM5MDQyNjYzNl0sIFsxNjYzOTIwMDMyLjAyMzAxMzQsIDQ0NjQsIDEuMjYyMjQ0NzAxMzg1NDk4XSwgWzE2NjM5MjAwMzIuMjIwNTYyLCA0NDgyLCAxLjI2NzM3MDIyMzk5OTAyMzRdLCBbMTY2MzkyMDAzMi4zMTMwNzE3LCA0NDkxLCAxLjEwNDgzNTAzMzQxNjc0OF0sIFsxNjYzOTIwMDMyLjYwODYyNTIsIDQ1MTgsIDEuNjg4Mjk4NTgzMDMwNzAwN10sIFsxNjYzOTIwMDMyLjcxODY2NjMsIDQ1MjcsIDEuMjY4NDA4NDE3NzAxNzIxMl0sIFsxNjYzOTIwMDMyLjgxMTA0NTQsIDQ1MzYsIDEuNTE1OTcxNTQxNDA0NzI0MV0sIFsxNjYzOTIwMDMzLjEwMTI5MDUsIDQ1NjMsIDEuMjUxNjA4ODQ4NTcxNzc3M10sIFsxNjYzOTIwMDMzLjI3OTgzMzgsIDQ1ODEsIDEuMzc5ODc4NDAxNzU2Mjg2Nl0sIFsxNjYzOTIwMDMzLjM4MTE0NCwgNDU5MCwgMS4xNzYyNjU0NzgxMzQxNTUzXSwgWzE2NjM5MjAwMzMuNDY4MjcyNywgNDU5OSwgMS4zMjA2NDU0NTE1NDU3MTUzXSwgWzE2NjM5MjAwMzMuNTYxNjIxLCA0NjA4LCAxLjA0ODc2MDE3NTcwNDk1Nl0sIFsxNjYzOTIwMDMzLjY1NjEwMDUsIDQ2MTcsIDEuMjU4NjM1NjQwMTQ0MzQ4MV0sIFsxNjYzOTIwMDMzLjc1MjQxMzUsIDQ2MjYsIDEuMjE3OTkwNjM2ODI1NTYxNV0sIFsxNjYzOTIwMDMzLjg1MjA2NDQsIDQ2MzUsIDEuNDM2MjA0MTk1MDIyNTgzXSwgWzE2NjM5MjAwMzQuMDM1ODIwNSwgNDY1MywgMS40MDE1MjE1NjM1Mjk5NjgzXSwgWzE2NjM5MjAwMzQuMTMxMDY0NCwgNDY2MiwgMS40NTMwMTQ5Njk4MjU3NDQ2XSwgWzE2NjM5MjAwMzQuMjI2MzY5OSwgNDY3MSwgMS4zODg0MDUzMjMwMjg1NjQ1XSwgWzE2NjM5MjAwMzQuMzE3MTg5NSwgNDY4MCwgMS4zNzA2MzU3NDc5MDk1NDZdLCBbMTY2MzkyMDAzNC40MjA5MTA4LCA0Njg5LCAxLjY3OTcyNzY3MzUzMDU3ODZdLCBbMTY2MzkyMDAzNC41Njg5ODY0LCA0Njk4LCAxLjM3NjM2MzUxNTg1Mzg4MThdLCBbMTY2MzkyMDAzNC45ODIyODA1LCA0NzE2LCAxLjEzMjg2NzgxMzExMDM1MTZdLCBbMTY2MzkyMDAzNS4zMTMzNDQ1LCA0NzQzLCAxLjQ1NjU3OTkyMzYyOTc2MDddLCBbMTY2MzkyMDAzNS43NzAyMDEyLCA0Nzc5LCAxLjQ2MDI0Mjc0ODI2MDQ5OF0sIFsxNjYzOTIwMDM2LjA4NjI3OTQsIDQ4MDYsIDEuMTU5MjE5MDI2NTY1NTUxOF0sIFsxNjYzOTIwMDM2LjE4NTE5ODUsIDQ4MTUsIDEuMzAxNDUzNTkwMzkzMDY2NF0sIFsxNjYzOTIwMDM2LjI4MjkwNDYsIDQ4MjQsIDEuMjExNDkxNzAzOTg3MTIxNl0sIFsxNjYzOTIwMDM2LjM4NzA3NTQsIDQ4MzMsIDEuMjEwNDQ4MjY1MDc1NjgzNl0sIFsxNjYzOTIwMDM2LjQ3NDU4NywgNDg0MiwgMS40NzUwNTQwMjU2NTAwMjQ0XSwgWzE2NjM5MjAwMzYuNTgzMjk3MywgNDg1MSwgMS4yODg1MjQ1MDg0NzYyNTczXSwgWzE2NjM5MjAwMzYuNjkzNDAwNiwgNDg2MCwgMS4xMjM5NDk2NDY5NDk3NjhdLCBbMTY2MzkyMDAzNi43ODMxNDQsIDQ4NjksIDEuMzk1MTU1Nzg3NDY3OTU2NV0sIFsxNjYzOTIwMDM2Ljg5MDEyMDUsIDQ4NzgsIDEuMjI4NjA1NTA4ODA0MzIxM10sIFsxNjYzOTIwMDM2Ljk4NDU5NTgsIDQ4ODcsIDEuMTI4NDc2MTQyODgzMzAwOF0sIFsxNjYzOTIwMDM3LjA4MTAxOTksIDQ4OTYsIDEuMzM0NzM0MzIwNjQwNTY0XSwgWzE2NjM5MjAwMzcuMTkwNTQ3LCA0OTA1LCAxLjQ5NzQ3MDczNjUwMzYwMV0sIFsxNjYzOTIwMDM3LjM4NDY4OTYsIDQ5MjMsIDEuMTc5Mjg3MTk1MjA1Njg4NV0sIFsxNjYzOTIwMDM3LjQ4OTE2NDQsIDQ5MzIsIDEuMzAwNzY4MjU2MTg3NDM5XSwgWzE2NjM5MjAwMzcuNzY3Nzk4LCA0OTU5LCAxLjE1ODk1NTU3NDAzNTY0NDVdLCBbMTY2MzkyMDAzNy45ODE5MjYsIDQ5NzcsIDEuMjkzODMyNTQwNTEyMDg1XSwgWzE2NjM5MjAwMzguMjMwMzIxMiwgNDk5NSwgMS41Nzk2NDg0OTQ3MjA0NTldLCBbMTY2MzkyMDAzOC4zMTk1NTA4LCA1MDA0LCAxLjQ1NDM4MzQ5MjQ2OTc4NzZdLCBbMTY2MzkyMDAzOC40MTk3MDk3LCA1MDEzLCAxLjMyNDc2NDg0Nzc1NTQzMjFdLCBbMTY2MzkyMDAzOS4xMzUxNzgzLCA1MDY3LCAxLjIyMTQ3OTY1NDMxMjEzMzhdLCBbMTY2MzkyMDAzOS4yMzk3MzE4LCA1MDc2LCAxLjUzMDk3MzA3NjgyMDM3MzVdLCBbMTY2MzkyMDAzOS4zMzQ0MjgsIDUwODUsIDEuNDM3ODYxNDQyNTY1OTE4XSwgWzE2NjM5MjAwMzkuNTI2OTQxNSwgNTEwMywgMS4xNjk3Mzg0MTE5MDMzODEzXSwgWzE2NjM5MjAwMzkuNjI0MTcxNywgNTExMiwgMS40NTUyMDg0MjA3NTM0NzldLCBbMTY2MzkyMDAzOS43NTEwNjA3LCA1MTIxLCAxLjE2ODUzMjAxMzg5MzEyNzRdLCBbMTY2MzkyMDAzOS44NjAzOTYxLCA1MTMwLCAxLjMyMDE1MTIwOTgzMTIzNzhdLCBbMTY2MzkyMDA0MC4wNzEyMDk0LCA1MTQ4LCAxLjEwMjU0MDM3MzgwMjE4NV0sIFsxNjYzOTIwMDQwLjMwMDM1OTUsIDUxNjYsIDEuMjgzMzc1ODU5MjYwNTU5XSwgWzE2NjM5MjAwNDAuNjI5MzA5LCA1MTkzLCAxLjI4OTQ4NzcxOTUzNTgyNzZdLCBbMTY2MzkyMDA0MS4wMjg3OTcsIDUyMjksIDEuNDYzNTY2MTg0MDQzODg0M10sIFsxNjYzOTIwMDQxLjQ0Njc0MjUsIDUyNjUsIDEuMjY0NjY5MDYwNzA3MDkyM10sIFsxNjYzOTIwMDQxLjUzMzUzODMsIDUyNzQsIDEuMTgzNDU5MjgxOTIxMzg2N10sIFsxNjYzOTIwMDQxLjYzNjM4NDIsIDUyODMsIDEuMDQ5MTQzNDMzNTcwODYxOF0sIFsxNjYzOTIwMDQxLjgyNjk3LCA1MzAxLCAxLjQ4MTAxNDQ5MDEyNzU2MzVdLCBbMTY2MzkyMDA0MS45MTkzMDY1LCA1MzEwLCAxLjEyOTQ2NzYwNjU0NDQ5NDZdLCBbMTY2MzkyMDA0Mi4wNDA1MTgsIDUzMTksIDEuMDM2MjAyMTkyMzA2NTE4Nl0sIFsxNjYzOTIwMDQyLjEzOTYxNTMsIDUzMjgsIDEuNDMyNDk4MzM1ODM4MzE3OV0sIFsxNjYzOTIwMDQyLjI0MTU5MjQsIDUzMzcsIDEuNDA1MDE2MTgzODUzMTQ5NF0sIFsxNjYzOTIwMDQyLjQzMzA4MzMsIDUzNTUsIDEuMzQ3NjU5MzQ5NDQxNTI4M10sIFsxNjYzOTIwMDQyLjUzMDc2ODksIDUzNjQsIDEuMTI4NTA2MTgzNjI0MjY3Nl0sIFsxNjYzOTIwMDQyLjYyNjgyNCwgNTM3MywgMS4yNTI3MzQ2NjExMDIyOTVdLCBbMTY2MzkyMDA0Mi43MTAxMzIsIDUzODIsIDEuMzUzOTQ3MTYyNjI4MTczOF0sIFsxNjYzOTIwMDQyLjgwNTk4MTYsIDUzOTEsIDEuMTg3ODIzODkxNjM5NzA5NV0sIFsxNjYzOTIwMDQyLjkwNjkxMTgsIDU0MDAsIDEuMzIxMDMyNzYyNTI3NDY1OF0sIFsxNjYzOTIwMDQzLjExODk4LCA1NDE4LCAxLjExODE3NTk4MzQyODk1NV0sIFsxNjYzOTIwMDQzLjIxODg4MjMsIDU0MjcsIDEuNDg1MDAwMzcxOTMyOTgzNF0sIFsxNjYzOTIwMDQzLjMyMjg4NjIsIDU0MzYsIDEuMzk0NjkzMDE3MDA1OTIwNF0sIFsxNjYzOTIwMDQzLjUxNjQ2OTIsIDU0NTQsIDEuNDQyMTEyMjA3NDEyNzE5N10sIFsxNjYzOTIwMDQzLjc5NDA1NiwgNTQ4MSwgMS4wODU1NzQ2MjY5MjI2MDc0XSwgWzE2NjM5MjAwNDQuMjYxODY5LCA1NDk5LCAxLjA1MjcyODY1Mjk1NDEwMTZdLCBbMTY2MzkyMDA0NC41OTE5NCwgNTUyNiwgMS4zODYwNDYwNTE5NzkwNjVdLCBbMTY2MzkyMDA0NC43MTgzNTcsIDU1MzUsIDEuNjUwODU4MDQ0NjI0MzI4Nl0sIFsxNjYzOTIwMDQ0Ljk2MDkwMSwgNTU1MywgMS4xNzYwODM2ODM5Njc1OTAzXSwgWzE2NjM5MjAwNDUuMDYwOTgyNywgNTU2MiwgMS4wNjUzMDQ5OTQ1ODMxMjk5XSwgWzE2NjM5MjAwNDUuMTU2MzExOCwgNTU3MSwgMS41MDQwODk3MTMwOTY2MTg3XSwgWzE2NjM5MjAwNDUuMzM5MTE5LCA1NTg5LCAxLjI0NzQ3NDkwODgyODczNTRdLCBbMTY2MzkyMDA0NS41MzI2OTA1LCA1NjA3LCAxLjM1NDA3OTg0MjU2NzQ0MzhdLCBbMTY2MzkyMDA0NS42MzIzODc0LCA1NjE2LCAxLjE2NTUwMDc2MDA3ODQzMDJdLCBbMTY2MzkyMDA0NS45MDA5MDEzLCA1NjQzLCAxLjI5MTYwMzU2NTIxNjA2NDVdLCBbMTY2MzkyMDA0NS45OTE0OTAxLCA1NjUyLCAxLjE3NjIwMTEwNTExNzc5NzldLCBbMTY2MzkyMDA0Ni4wODU2MTQ3LCA1NjYxLCAxLjYyMDk4MDUwMTE3NDkyNjhdLCBbMTY2MzkyMDA0Ni4yMTQ1MDIsIDU2NzAsIDEuMzQ4NTQ2ODYyNjAyMjMzOV0sIFsxNjYzOTIwMDQ2LjYxNjIxNywgNTcwNiwgMS4yNzY0Nzc0NTYwOTI4MzQ1XSwgWzE2NjM5MjAwNDYuNzA4MzUwMiwgNTcxNSwgMS40MDk1MDIxNDg2MjgyMzQ5XSwgWzE2NjM5MjAwNDYuODAyNDMzNSwgNTcyNCwgMS40MTQwNDc4MzcyNTczODUzXSwgWzE2NjM5MjAwNDYuOTc3MzMxNCwgNTc0MiwgMS41OTE1OTE1OTY2MDMzOTM2XSwgWzE2NjM5MjAwNDcuMjY3NTE0NSwgNTc2OSwgMS4wNjUyMDYwNTA4NzI4MDI3XSwgWzE2NjM5MjAwNDcuNDQ0NjE2LCA1Nzc4LCAxLjM0NDQ2Mjc1MjM0MjIyNDFdLCBbMTY2MzkyMDA0Ny41ODY3NTcyLCA1Nzg3LCAxLjEzMTA2NDc3MjYwNTg5Nl0sIFsxNjYzOTIwMDQ3LjY5MTIyODksIDU3OTYsIDEuMjQyMjE4MDE3NTc4MTI1XSwgWzE2NjM5MjAwNDcuNzg5NzQzMiwgNTgwNSwgMS4xNzM5NDgwNDk1NDUyODhdLCBbMTY2MzkyMDA0Ny44Nzk4ODMzLCA1ODE0LCAxLjE0MTI5NTE5NDYyNTg1NDVdLCBbMTY2MzkyMDA0OC4xNzY5NTcsIDU4NDEsIDEuMTU2NTgzNzg2MDEwNzQyMl0sIFsxNjYzOTIwMDQ4LjI3MjY0NjIsIDU4NTAsIDEuMjAxMDgwMjAzMDU2MzM1NF0sIFsxNjYzOTIwMDQ4LjQ2NjIzNDcsIDU4NjgsIDEuMDg4ODM4Njk2NDc5Nzk3NF0sIFsxNjYzOTIwMDQ4LjU2NDkyMiwgNTg3NywgMS4wOTI4NDkxMzUzOTg4NjQ3XSwgWzE2NjM5MjAwNDguNjY5Nzc0MywgNTg4NiwgMS40NTgzNjEwMjk2MjQ5MzldLCBbMTY2MzkyMDA0OC43NTU3NzU1LCA1ODk1LCAxLjE5NTU3MTMwMzM2NzYxNDddLCBbMTY2MzkyMDA0OC44NjU1NDQ4LCA1OTA0LCAxLjAzNjI4ODQ5OTgzMjE1MzNdLCBbMTY2MzkyMDA0OS4xNjk0NzQxLCA1OTMxLCAxLjIxODUzOTcxNDgxMzIzMjRdLCBbMTY2MzkyMDA0OS4yNjk4MDYxLCA1OTQwLCAxLjI0OTc1NjkzMjI1ODYwNl0sIFsxNjYzOTIwMDQ5LjM2MDQ4MzQsIDU5NDksIDEuMDE3NDYxNTM4MzE0ODE5M10sIFsxNjYzOTIwMDUwLjA2Mzc3MDMsIDYwMTIsIDEuMzc0MDk3MjI4MDUwMjMyXSwgWzE2NjM5MjAwNTAuMjk5MjE3MiwgNjAzMCwgMS4xMTUzNzQzMjY3MDU5MzI2XSwgWzE2NjM5MjAwNTAuNDI3NDE2OCwgNjAzOSwgMS4xNjk3MDY0NjM4MTM3ODE3XSwgWzE2NjM5MjAwNTAuNzE0MjIwOCwgNjA2NiwgMS4xMjQ4ODMwNTU2ODY5NTA3XSwgWzE2NjM5MjAwNTAuOTMwMjA0NiwgNjA4NCwgMS4xNjAyOTMxMDIyNjQ0MDQzXSwgWzE2NjM5MjAwNTEuMDQwOTAzNiwgNjA5MywgMS40NjYzOTUyNTg5MDM1MDM0XSwgWzE2NjM5MjAwNTEuMTM0OTU2MSwgNjEwMiwgMS4xNDg4ODAxMjQwOTIxMDJdLCBbMTY2MzkyMDA1MS4yMzMwNTEzLCA2MTExLCAxLjA2MTk4MTc5NzIxODMyMjhdLCBbMTY2MzkyMDA1MS4zNDA1MjUyLCA2MTIwLCAxLjAyMjM4NDA0NzUwODIzOTddLCBbMTY2MzkyMDA1MS40NTE0MjI3LCA2MTI5LCAxLjEwOTYxOTk3NTA5MDAyNjldLCBbMTY2MzkyMDA1MS42NDE2MjI1LCA2MTQ3LCAxLjI4ODgzMDUxODcyMjUzNDJdLCBbMTY2MzkyMDA1MS43NDMzMTYsIDYxNTYsIDEuMjI1MjM4ODAwMDQ4ODI4MV0sIFsxNjYzOTIwMDUxLjg0Mzc5OTYsIDYxNjUsIDEuMjE3OTU0NTE2NDEwODI3Nl0sIFsxNjYzOTIwMDUxLjkzNzY2MTQsIDYxNzQsIDEuMjkwNTE0MTExNTE4ODU5OV0sIFsxNjYzOTIwMDUyLjEyNzMxMzEsIDYxOTIsIDEuMjczOTc4MTE0MTI4MTEyOF0sIFsxNjYzOTIwMDUyLjIyNzI1NTgsIDYyMDEsIDEuMzY4NzQ3MjM0MzQ0NDgyNF0sIFsxNjYzOTIwMDUyLjMyMDQ5NDQsIDYyMTAsIDEuMzAwNTQyOTUwNjMwMTg4XSwgWzE2NjM5MjAwNTIuNjIxNDc4MywgNjIzNywgMS4wMjE0MDI5NTUwNTUyMzY4XSwgWzE2NjM5MjAwNTIuNzE5OTQxLCA2MjQ2LCAxLjExNzAwMTA1NjY3MTE0MjZdLCBbMTY2MzkyMDA1My4wMTU0ODgsIDYyNTUsIDEuMDM4MTE0OTA1MzU3MzYwOF0sIFsxNjYzOTIwMDUzLjEwNzExNDYsIDYyNjQsIDEuMjM2MDM2ODk2NzA1NjI3NF0sIFsxNjYzOTIwMDUzLjIwOTAwNDYsIDYyNzMsIDEuMTkxNTk5NDg4MjU4MzYxOF0sIFsxNjYzOTIwMDUzLjMwNzM2MDYsIDYyODIsIDEuMTczMTU4NDA3MjExMzAzN10sIFsxNjYzOTIwMDUzLjUwMjgxNTUsIDYzMDAsIDEuMTU1ODE3NzQ3MTE2MDg4OV0sIFsxNjYzOTIwMDUzLjgwNzQzNTgsIDYzMjcsIDEuMjkwNjM5MjgxMjcyODg4Ml0sIFsxNjYzOTIwMDUzLjkyMzIxMTgsIDYzMzYsIDEuMjUwNjk3NzMxOTcxNzQwN10sIFsxNjYzOTIwMDU0LjEyNjA2NywgNjM1NCwgMS4xNDE3ODYwOTg0ODAyMjQ2XSwgWzE2NjM5MjAwNTQuNTg2NDA0OCwgNjM5MCwgMS4yMzU5OTIwNzQwMTI3NTYzXSwgWzE2NjM5MjAwNTQuNjkwMDM3NywgNjM5OSwgMS4xMzE1MjcxODU0NDAwNjM1XSwgWzE2NjM5MjAwNTQuODk0OTIzLCA2NDE3LCAxLjMwMDc3NTQwODc0NDgxMl0sIFsxNjYzOTIwMDU0Ljk4OTI1MTksIDY0MjYsIDEuMjIxNDYzNDQxODQ4NzU0OV0sIFsxNjYzOTIwMDU1LjE4ODIxNSwgNjQ0NCwgMS4xMzU2NjY2MDg4MTA0MjQ4XSwgWzE2NjM5MjAwNTUuMzcwMzgwNCwgNjQ2MiwgMC45OTA5NzMxMTQ5NjczNDYyXSwgWzE2NjM5MjAwNTUuNTY5ODIzNywgNjQ4MCwgMS4yNzYzNDk1NDQ1MjUxNDY1XSwgWzE2NjM5MjAwNTUuNjYxMjkwNiwgNjQ4OSwgMS4zNTgzNDk5MTkzMTkxNTI4XSwgWzE2NjM5MjAwNTUuNzU2NzgzLCA2NDk4LCAxLjAxMDIwNDc5MjAyMjcwNV0sIFsxNjYzOTIwMDU1Ljk0ODE4NTQsIDY1MTYsIDAuOTczODg4NTc2MDMwNzMxMl0sIFsxNjYzOTIwMDU2LjA1OTY0NTQsIDY1MjUsIDEuMTQ4NjI2ODA0MzUxODA2Nl0sIFsxNjYzOTIwMDU2LjE1MzkzMTksIDY1MzQsIDEuMDcwODIzMzExODA1NzI1XSwgWzE2NjM5MjAwNTYuMjU2NzQ1OCwgNjU0MywgMS4wODc4Mjg2MzYxNjk0MzM2XSwgWzE2NjM5MjAwNTYuMzQ2NTA0MiwgNjU1MiwgMS4yMzYzMzE5Mzk2OTcyNjU2XSwgWzE2NjM5MjAwNTYuNDQ4NjAzOSwgNjU2MSwgMC45ODE5NjcyNzAzNzQyOTgxXSwgWzE2NjM5MjAwNTYuNTQzMzA1NCwgNjU3MCwgMS4yMDAyNDQ1NDU5MzY1ODQ1XSwgWzE2NjM5MjAwNTYuNjM0NDExMywgNjU3OSwgMS40NjE5OTEzMTAxMTk2MjldLCBbMTY2MzkyMDA1Ni43Mjk5NjQ3LCA2NTg4LCAxLjI5OTUxNzM5MzExMjE4MjZdLCBbMTY2MzkyMDA1Ni44MjkyMzAzLCA2NTk3LCAxLjQ4MTAzNTcwOTM4MTEwMzVdLCBbMTY2MzkyMDA1Ni45MzE5MzU4LCA2NjA2LCAwLjk3MzEyNjcwOTQ2MTIxMjJdLCBbMTY2MzkyMDA1Ny40MDgxNTg1LCA2NjUxLCAxLjExNDA0Nzg4NDk0MTEwMV0sIFsxNjYzOTIwMDU3LjUwMDM5ODYsIDY2NjAsIDEuMDQ1NjYxNDQ5NDMyMzczXSwgWzE2NjM5MjAwNTcuNTkyMjQ2OCwgNjY2OSwgMS4wNzE2MTIzNTgwOTMyNjE3XSwgWzE2NjM5MjAwNTcuNzc3MjczLCA2Njg3LCAxLjIxMzc2OTY3NDMwMTE0NzVdLCBbMTY2MzkyMDA1Ny44NzE2MzA3LCA2Njk2LCAxLjAzODMzNzExMTQ3MzA4MzVdLCBbMTY2MzkyMDA1Ny45NzUzODQ1LCA2NzA1LCAxLjA2NDMwNjczNTk5MjQzMTZdLCBbMTY2MzkyMDA1OC4wNjY4NTE0LCA2NzE0LCAxLjAzMjE2NzA3NzA2NDUxNDJdLCBbMTY2MzkyMDA1OC42NTYyMjE2LCA2NzY4LCAxLjc4MTU5NTQ2ODUyMTExODJdLCBbMTY2MzkyMDA1OC43NTkyNzIsIDY3NzcsIDEuMDc2NDE2NzMwODgwNzM3M10sIFsxNjYzOTIwMDU5LjA1MzUwMDcsIDY4MDQsIDEuMjI3NDUxMjA1MjUzNjAxXSwgWzE2NjM5MjAwNTkuMTQ3Mzk4MiwgNjgxMywgMC45MzM3ODQ2MDQwNzI1NzA4XSwgWzE2NjM5MjAwNTkuMzQ2NDMyLCA2ODMxLCAxLjA5MTI0MDc2MzY2NDI0NTZdLCBbMTY2MzkyMDA1OS40NDYzNTczLCA2ODQwLCAxLjEzMDExMDM4MzAzMzc1MjRdLCBbMTY2MzkyMDA1OS44MTE1NTUxLCA2ODc2LCAxLjAxNjU3Mjk1MjI3MDUwNzhdLCBbMTY2MzkyMDA1OS45MTE2MDEzLCA2ODg1LCAxLjA3MDE4MTYwODIwMDA3MzJdLCBbMTY2MzkyMDA1OS45OTkzMjI0LCA2ODk0LCAxLjI2MTkyODQzOTE0MDMxOThdLCBbMTY2MzkyMDA2MC4xODM5OTk4LCA2OTEyLCAxLjIwNDUwODQyMzgwNTIzNjhdLCBbMTY2MzkyMDA2MC4yODgxMzcsIDY5MjEsIDEuMjIzMjQzNDc0OTYwMzI3MV0sIFsxNjYzOTIwMDYwLjM4NzYzMDIsIDY5MzAsIDEuMjY2MzM1ODQ0OTkzNTkxM10sIFsxNjYzOTIwMDYwLjQ4NTc2MjgsIDY5MzksIDEuMjg4NjkzMTg5NjIwOTcxN10sIFsxNjYzOTIwMDYwLjU3OTM2NjcsIDY5NDgsIDAuOTg3OTk2Mzk5NDAyNjE4NF0sIFsxNjYzOTIwMDYwLjY3ODk3OTYsIDY5NTcsIDEuMTU1NTExMzc5MjQxOTQzNF0sIFsxNjYzOTIwMDYwLjc3NDU2ODYsIDY5NjYsIDEuNDU3MDkwMjU4NTk4MzI3Nl0sIFsxNjYzOTIwMDYwLjk2NTE3ODcsIDY5ODQsIDEuMTYxMjg2MzU0MDY0OTQxNF0sIFsxNjYzOTIwMDYxLjA1NDQ2NDgsIDY5OTMsIDAuOTI2ODczNDQ1NTEwODY0M10sIFsxNjYzOTIwMDYxLjE2MTcwMDIsIDcwMDIsIDEuMDY0NzU4Nzc3NjE4NDA4Ml0sIFsxNjYzOTIwMDYxLjQ0NDA3NjMsIDcwMTEsIDEuMDM2ODM3OTM1NDQ3NjkyOV0sIFsxNjYzOTIwMDYxLjU0MDMyMDksIDcwMjAsIDEuMTI1OTM3NzAwMjcxNjA2NF0sIFsxNjYzOTIwMDYxLjYyNjExOTksIDcwMjksIDEuMDU5MTg4ODQyNzczNDM3NV0sIFsxNjYzOTIwMDYxLjcyMTI4MjUsIDcwMzgsIDEuMDUwOTkzOTE5MzcyNTU4Nl0sIFsxNjYzOTIwMDYxLjgwOTc1NjMsIDcwNDcsIDEuMjE3MDY0OTc2NjkyMTk5N10sIFsxNjYzOTIwMDYxLjkwNjQxNzYsIDcwNTYsIDEuMjI0MzYyNDkyNTYxMzQwM10sIFsxNjYzOTIwMDYyLjE5MzY4MjQsIDcwODMsIDEuMjYyOTg2NDIxNTg1MDgzXSwgWzE2NjM5MjAwNjIuMzg4NTk5OSwgNzEwMSwgMS4zMzUxOTY0OTUwNTYxNTIzXSwgWzE2NjM5MjAwNjIuNDg4NTY0NywgNzExMCwgMS4xMDI3NzA4MDUzNTg4ODY3XSwgWzE2NjM5MjAwNjIuNjczMzAwNSwgNzEyOCwgMS4xMzcyNTA1NDI2NDA2ODZdLCBbMTY2MzkyMDA2Mi44NjAxNiwgNzE0NiwgMS40MjM5NzA2OTkzMTAzMDI3XSwgWzE2NjM5MjAwNjMuMDU2OTY0OSwgNzE2NCwgMS4yMTEyMDYwNzg1MjkzNThdLCBbMTY2MzkyMDA2My4xNTMwNTc2LCA3MTczLCAxLjA4OTUwMDE4ODgyNzUxNDZdLCBbMTY2MzkyMDA2My4yNDA4MTY0LCA3MTgyLCAxLjQ2NzcyMzg0NjQzNTU0NjldLCBbMTY2MzkyMDA2My40MzgxNDk3LCA3MjAwLCAxLjEyNDEyMjM4MTIxMDMyNzFdLCBbMTY2MzkyMDA2My41Mzc2NzEsIDcyMDksIDEuMTM4ODU3MzY0NjU0NTQxXSwgWzE2NjM5MjAwNjMuOTAxNjU2LCA3MjQ1LCAxLjE3NTU3MjAzNzY5NjgzODRdLCBbMTY2MzkyMDA2My45ODcyNDI3LCA3MjU0LCAxLjAwNTQyMTc1NzY5ODA1OV0sIFsxNjYzOTIwMDY0LjA4MzMxNTQsIDcyNjMsIDEuMjE3ODUyODMwODg2ODQwOF0sIFsxNjYzOTIwMDY0LjE3NDIwMjIsIDcyNzIsIDEuMDI5OTg2MTQzMTEyMTgyNl0sIFsxNjYzOTIwMDY0LjQ1MjcyMjgsIDcyOTksIDEuMTM0NjkxMzU3NjEyNjA5OV0sIFsxNjYzOTIwMDY0LjU0NjE5MDcsIDczMDgsIDEuMDY0MDg2MTk4ODA2NzYyN10sIFsxNjYzOTIwMDY0LjczNjc3MDIsIDczMjYsIDEuMDQ5NzE0Njg0NDg2Mzg5Ml0sIFsxNjYzOTIwMDY1LjE4ODg3NzMsIDczNjIsIDEuMTQyMTg0NzM0MzQ0NDgyNF0sIFsxNjYzOTIwMDY1LjI4MDU3ODYsIDczNzEsIDEuMDMxMDM1NzgwOTA2Njc3Ml0sIFsxNjYzOTIwMDY1LjM3ODEyNDIsIDczODAsIDEuMTg5MjUxNzgwNTA5OTQ4N10sIFsxNjYzOTIwMDY1LjU4NTE2MjQsIDczOTgsIDEuMTQ5NDMwOTkwMjE5MTE2Ml0sIFsxNjYzOTIwMDY1LjcyMTQwMiwgNzQwNywgMS4zMjM1NDQxNDQ2MzA0MzIxXSwgWzE2NjM5MjAwNjUuODQzNDcsIDc0MTYsIDEuMDI0MzcwNjcwMzE4NjAzNV0sIFsxNjYzOTIwMDY1Ljk0MjM0NTEsIDc0MjUsIDEuMzE2MDUyOTEzNjY1NzcxNV0sIFsxNjYzOTIwMDY2LjAzNjg1MzMsIDc0MzQsIDEuMTA2ODM1MDA3NjY3NTQxNV0sIFsxNjYzOTIwMDY2LjEzMTE5MjIsIDc0NDMsIDEuMDcxOTE5MDgzNTk1Mjc1OV0sIFsxNjYzOTIwMDY2LjI0MDY1NCwgNzQ1MiwgMC45OTgxMjQzNjEwMzgyMDhdLCBbMTY2MzkyMDA2Ni4zMzM5MDAyLCA3NDYxLCAxLjQzNjk5MjY0NTI2MzY3MTldLCBbMTY2MzkyMDA2Ni41MjYxODQ2LCA3NDc5LCAxLjI4NDUzMjkwNDYyNDkzOV0sIFsxNjYzOTIwMDY2LjcxNzY4ODYsIDc0OTcsIDEuMDcwNTQ0OTU4MTE0NjI0XSwgWzE2NjM5MjAwNjYuODE2NDM2LCA3NTA2LCAxLjA4OTAyNjY4OTUyOTQxOV0sIFsxNjYzOTIwMDY3LjAxNDAyNjYsIDc1MjQsIDEuMTkxMTM5Njk4MDI4NTY0NV0sIFsxNjYzOTIwMDY3LjEwMDQzMTQsIDc1MzMsIDAuOTYxODI4MzUxMDIwODEzXSwgWzE2NjM5MjAwNjcuMjAxOTkyLCA3NTQyLCAxLjE1MjQ1MTYzNDQwNzA0MzVdLCBbMTY2MzkyMDA2Ny40MDYxMzk0LCA3NTYwLCAwLjk0MDIwNTE1NjgwMzEzMTFdLCBbMTY2MzkyMDA2Ny41MTA5NzgyLCA3NTY5LCAxLjI5Nzg3NDY4OTEwMjE3MjldLCBbMTY2MzkyMDA2Ny43MjQ0NTIzLCA3NTg3LCAxLjI1NzA3MjkyNTU2NzYyN10sIFsxNjYzOTIwMDY3LjgyMTk4NTUsIDc1OTYsIDEuMDgzNTY1NTkyNzY1ODA4XSwgWzE2NjM5MjAwNjguMDU1NjY4LCA3NjE0LCAxLjExNDE2MDE4MDA5MTg1OF0sIFsxNjYzOTIwMDY4LjU4MjMzMiwgNzY1OSwgMS4zMzAyODI5MjY1NTk0NDgyXSwgWzE2NjM5MjAwNjguNjkxMzk4NiwgNzY2OCwgMS4yODk4NTUyNDE3NzU1MTI3XSwgWzE2NjM5MjAwNjkuMDMxMzcwNCwgNzY5NSwgMS4xODY5Mzc5MjgxOTk3NjhdLCBbMTY2MzkyMDA2OS4yNTIwMDA4LCA3NzEzLCAxLjcyMDcxNTc2MTE4NDY5MjRdLCBbMTY2MzkyMDA2OS4zNDkzMTc2LCA3NzIyLCAxLjE3MDc5MjIyMjAyMzAxMDNdLCBbMTY2MzkyMDA2OS40NTMzMzY3LCA3NzMxLCAwLjg5MDQ3NzgzNjEzMjA0OTZdLCBbMTY2MzkyMDA2OS42NDY4MTQsIDc3NDksIDEuMjQ0NjQ5MDUyNjE5OTM0XSwgWzE2NjM5MjAwNjkuNzU2MDAxNSwgNzc1OCwgMS4wNjU5MjU1OTgxNDQ1MzEyXSwgWzE2NjM5MjAwNjkuODY2OTMxNywgNzc2NywgMC45NTc2Nzk1Njk3MjEyMjE5XSwgWzE2NjM5MjAwNzAuMzYyNjU5LCA3Nzk0LCAxLjEzNDEyOTg4MTg1ODgyNTddLCBbMTY2MzkyMDA3MC40NjI1MDQxLCA3ODAzLCAxLjQwMTY5MTU1NTk3Njg2NzddLCBbMTY2MzkyMDA3MC42NTcwNDI1LCA3ODIxLCAxLjI3MTA2NzUwMDExNDQ0MV0sIFsxNjYzOTIwMDcwLjg2MDk1MDIsIDc4MzksIDEuMDg0MjM5MjQ0NDYxMDU5Nl0sIFsxNjYzOTIwMDcwLjk1Njk2OTcsIDc4NDgsIDEuMjc3NzA1NDMwOTg0NDk3XSwgWzE2NjM5MjAwNzEuNTc3ODMzLCA3OTAyLCAxLjAxOTE3MjQzMDAzODQ1MjFdLCBbMTY2MzkyMDA3MS44NzQwNTM1LCA3OTI5LCAxLjIzMDg3NzE2MTAyNjAwMV0sIFsxNjYzOTIwMDcxLjk3OTUzNjMsIDc5MzgsIDEuMjQwNTU1NzYzMjQ0NjI5XSwgWzE2NjM5MjAwNzIuMDgwODMwNiwgNzk0NywgMS4xNTY0NDU2MjI0NDQxNTI4XSwgWzE2NjM5MjAwNzIuMTcwNTAyMiwgNzk1NiwgMS4yODU2MjA1NzAxODI4MDAzXSwgWzE2NjM5MjAwNzIuMjcyNjU4NiwgNzk2NSwgMS4wNzk3NjI4MTY0MjkxMzgyXSwgWzE2NjM5MjAwNzIuMzY1MDkxLCA3OTc0LCAxLjMzMTY3MzM4MzcxMjc2ODZdLCBbMTY2MzkyMDA3Mi40NzMyMTksIDc5ODMsIDEuMzA3ODU1ODQ0NDk3NjgwN10sIFsxNjYzOTIwMDcyLjU2NTk3NCwgNzk5MiwgMS4xMTk4OTU1Nzc0MzA3MjVdLCBbMTY2MzkyMDA3Mi42NjY2OTc3LCA4MDAxLCAxLjAzNTQzNDYwMzY5MTEwMV0sIFsxNjYzOTIwMDcyLjg1NjkxNywgODAxOSwgMS4xNjgxNTkwMDgwMjYxMjNdLCBbMTY2MzkyMDA3My4wNDIwODkyLCA4MDM3LCAxLjMzMjc4MzIyMjE5ODQ4NjNdLCBbMTY2MzkyMDA3My4zNDcwMzk3LCA4MDY0LCAxLjA2MjQ4Nzg0MDY1MjQ2NThdLCBbMTY2MzkyMDA3My41MzAzMDc1LCA4MDgyLCAxLjEzOTM3NzExNzE1Njk4MjRdLCBbMTY2MzkyMDA3My42MjcxNzQ2LCA4MDkxLCAxLjA1MzkzMzM4MjAzNDMwMThdLCBbMTY2MzkyMDA3My45MTI5NDY3LCA4MTE4LCAxLjIxNzcyNzg5OTU1MTM5MTZdLCBbMTY2MzkyMDA3NC4wMjA4MjY4LCA4MTI3LCAxLjE2ODIzNzU2Njk0NzkzN10sIFsxNjYzOTIwMDc0LjIxNDUxNSwgODE0NSwgMS4zMzg2ODQyMDEyNDA1Mzk2XSwgWzE2NjM5MjAwNzQuMzE3NTQyLCA4MTU0LCAxLjEyNzY1NzQxMzQ4MjY2Nl0sIFsxNjYzOTIwMDc0LjQxNDcxMDUsIDgxNjMsIDEuMTc2NTY2NDgxNTkwMjcxXSwgWzE2NjM5MjAwNzQuNTA4NTc3NiwgODE3MiwgMS4wNzk0MDIwODkxMTg5NTc1XSwgWzE2NjM5MjAwNzQuNTk3NDkxLCA4MTgxLCAxLjE5NzM0NzUyMTc4MTkyMTRdLCBbMTY2MzkyMDA3NC44MDE2NTM5LCA4MTk5LCAxLjA0MzQxOTgzNzk1MTY2MDJdLCBbMTY2MzkyMDA3NC45MDIyODQ5LCA4MjA4LCAxLjI4NzkzOTkwNjEyMDMwMDNdLCBbMTY2MzkyMDA3NS4xMTEwNTcsIDgyMjYsIDEuMDgzMTA5NDk4MDIzOTg2OF0sIFsxNjYzOTIwMDc1LjE5ODA3NiwgODIzNSwgMC45OTQxOTQ2ODY0MTI4MTEzXSwgWzE2NjM5MjAwNzUuMzk2MjI4OCwgODI1MywgMS4wMjU5MjkzMzE3Nzk0OF0sIFsxNjYzOTIwMDc1LjQ5Njk4MSwgODI2MiwgMS4wMTYzMTAzMzQyMDU2Mjc0XSwgWzE2NjM5MjAwNzUuNTgyMjQsIDgyNzEsIDEuNTgyODYyMDE5NTM4ODc5NF0sIFsxNjYzOTIwMDc1LjY4MTk3NDQsIDgyODAsIDEuMjY5MDk2NDkzNzIxMDA4M10sIFsxNjYzOTIwMDc1Ljc4NTA5NjQsIDgyODksIDEuMTU0MTY4MjQ4MTc2NTc0N10sIFsxNjYzOTIwMDc1LjkzMDUwMzgsIDgyOTgsIDEuNDAzMzUwNTkxNjU5NTQ2XSwgWzE2NjM5MjAwNzYuMTQ5MjQ4OCwgODMxNiwgMC45Njk4NzQ0NDE2MjM2ODc3XSwgWzE2NjM5MjAwNzYuNTU5MTE5NSwgODM1MiwgMS4yOTEyMzI1ODU5MDY5ODI0XSwgWzE2NjM5MjAwNzYuNjUyNDU5OSwgODM2MSwgMS4yMTcwODczODgwMzg2MzUzXSwgWzE2NjM5MjAwNzYuNzQ3ODE5MiwgODM3MCwgMC45NTQ5NzU2MDUwMTA5ODYzXSwgWzE2NjM5MjAwNzYuODM3MTk3MywgODM3OSwgMS4xOTA0MjAwMzE1NDc1NDY0XSwgWzE2NjM5MjAwNzYuOTI2NTgwNCwgODM4OCwgMS4xNzA2NTM5MzkyNDcxMzEzXSwgWzE2NjM5MjAwNzcuMDE3MzcwMiwgODM5NywgMS4xNTIyMTI2MTk3ODE0OTQxXSwgWzE2NjM5MjAwNzcuMTE4MzM4NiwgODQwNiwgMS4zODQzNzc0Nzk1NTMyMjI3XSwgWzE2NjM5MjAwNzcuMjE2MzM0MywgODQxNSwgMS4wOTAxMDgyNzU0MTM1MTMyXSwgWzE2NjM5MjAwNzcuMzA3OTU5LCA4NDI0LCAwLjkxODQwNDY5ODM3MTg4NzJdLCBbMTY2MzkyMDA3Ny43ODMzNTgsIDg0NjAsIDAuOTU4NTk3NTQwODU1NDA3N10sIFsxNjYzOTIwMDc3Ljk3NzU3OCwgODQ3OCwgMS4xMDY0ODk0MTk5MzcxMzM4XSwgWzE2NjM5MjAwNzguMTA1MzkwNSwgODQ4NywgMS4wODk3MjA0ODc1OTQ2MDQ1XSwgWzE2NjM5MjAwNzguNDQ4NTczNCwgODUxNCwgMS4wMTI5NjU1NTk5NTk0MTE2XSwgWzE2NjM5MjAwNzguNTU3MDIzMywgODUyMywgMS4xODU0Mzg2MzI5NjUwODhdLCBbMTY2MzkyMDA3OS4wNzQ3ODMzLCA4NTUwLCAxLjAwMzcwMDM3NTU1Njk0NThdLCBbMTY2MzkyMDA3OS4xNzExMDc4LCA4NTU5LCAxLjE3OTgwOTgwODczMTA3OV0sIFsxNjYzOTIwMDc5LjM3NDU4ODcsIDg1NzcsIDEuMDQ2NDQ4OTQ1OTk5MTQ1NV0sIFsxNjYzOTIwMDc5LjU4Mzc4LCA4NTk1LCAxLjA0NjY0MTU4ODIxMTA1OTZdLCBbMTY2MzkyMDA3OS42NzMyNTQ3LCA4NjA0LCAxLjAyOTk5NjE1NjY5MjUwNDldLCBbMTY2MzkyMDA3OS44MTAzMzM1LCA4NjEzLCAxLjM0NTk3MzQ5MTY2ODcwMTJdLCBbMTY2MzkyMDA4MC4xNzkyNTA3LCA4NjQwLCAxLjA0MDU2MDg0MTU2MDM2MzhdLCBbMTY2MzkyMDA4MC4yNzQwNywgODY0OSwgMS4xOTUxOTc5Mzk4NzI3NDE3XSwgWzE2NjM5MjAwODAuNDE4NDI5MSwgODY1OCwgMC45MTgyNTg2MDczODc1NDI3XSwgWzE2NjM5MjAwODAuNTI5Njg5OCwgODY2NywgMC45Njc2MjgwMDIxNjY3NDhdLCBbMTY2MzkyMDA4MC42NDU4Njc4LCA4Njc2LCAxLjE5MDc2MzgzMTEzODYxMDhdLCBbMTY2MzkyMDA4MC43NDMyNTYzLCA4Njg1LCAxLjM1OTEzMTIxNzAwMjg2ODddLCBbMTY2MzkyMDA4MC44MzU5MzMsIDg2OTQsIDEuMDU0OTU2Njc0NTc1ODA1N10sIFsxNjYzOTIwMDgxLjAyOTYxNzMsIDg3MTIsIDEuMzE5Mzk0MzUwMDUxODc5OV0sIFsxNjYzOTIwMDgxLjEzMDM1NTQsIDg3MjEsIDEuMTQ3ODYxMzYxNTAzNjAxXSwgWzE2NjM5MjAwODEuNDIwNjM4MywgODc0OCwgMS4wMjEyNzQyMDkwMjI1MjJdLCBbMTY2MzkyMDA4MS45Mzc4NjA1LCA4NzkzLCAwLjkzNzc2NzAyODgwODU5MzhdLCBbMTY2MzkyMDA4Mi4xMjk2MTc3LCA4ODExLCAxLjAxOTg5MTg1ODEwMDg5MTFdLCBbMTY2MzkyMDA4Mi4yMzM2MjIzLCA4ODIwLCAxLjAwNzE2NTkwODgxMzQ3NjZdLCBbMTY2MzkyMDA4Mi40OTU2MTk4LCA4ODM4LCAxLjIwNTk1MzgzNjQ0MTA0XSwgWzE2NjM5MjAwODIuNjAwMjgxLCA4ODQ3LCAxLjExMDM3ODE0NjE3MTU2OThdLCBbMTY2MzkyMDA4Mi43MDM4MzU3LCA4ODU2LCAxLjEyMzk4NzY3NDcxMzEzNDhdLCBbMTY2MzkyMDA4Mi45NzI3NzY0LCA4ODgzLCAwLjg4NTU0NzMzOTkxNjIyOTJdLCBbMTY2MzkyMDA4My4wNzkyNjQsIDg4OTIsIDAuOTU0MTE4NzI4NjM3Njk1M10sIFsxNjYzOTIwMDgzLjE3NDg2MDcsIDg5MDEsIDEuMTY2MzI4OTA3MDEyOTM5NV0sIFsxNjYzOTIwMDgzLjI2OTI3OTcsIDg5MTAsIDEuMDk1NDAxNzYzOTE2MDE1Nl0sIFsxNjYzOTIwMDgzLjM2MDUwMTgsIDg5MTksIDEuMDY3OTE5NDkyNzIxNTU3Nl0sIFsxNjYzOTIwMDgzLjU2NzEwMSwgODkzNywgMS4zNzg4MjYzNzk3NzYwMDFdLCBbMTY2MzkyMDA4My43ODcxNTQ3LCA4OTU1LCAxLjEwNDc2OTcwNjcyNjA3NDJdLCBbMTY2MzkyMDA4My44OTgxNjg2LCA4OTY0LCAxLjE1MzAyMDI2MjcxODIwMDddLCBbMTY2MzkyMDA4NC4wMzA0NDU2LCA4OTczLCAxLjE0ODQzOTE2ODkzMDA1MzddLCBbMTY2MzkyMDA4NC4yMzA0MDUzLCA4OTkxLCAxLjA5Nzk0MTg3NTQ1Nzc2MzddLCBbMTY2MzkyMDA4NC4zMjgyMiwgOTAwMCwgMS4xMDc3Njg4OTMyNDE4ODIzXSwgWzE2NjM5MjAwODQuNTE1NjA2LCA5MDE4LCAxLjE4NjEyNjExMjkzNzkyNzJdLCBbMTY2MzkyMDA4NC42MDY2MDMsIDkwMjcsIDEuMDk2NTUwOTQxNDY3Mjg1Ml0sIFsxNjYzOTIwMDg0LjcwMzg5MzcsIDkwMzYsIDEuMTYxMjExNDkwNjMxMTAzNV0sIFsxNjYzOTIwMDg0Ljc5ODkxNTQsIDkwNDUsIDEuNTI1ODA5NTI2NDQzNDgxNF0sIFsxNjYzOTIwMDg0Ljg4OTg3MDIsIDkwNTQsIDEuNTQzMzE0ODE0NTY3NTY2XSwgWzE2NjM5MjAwODQuOTg1Nzg4MywgOTA2MywgMS4wNDkzNjMxMzYyOTE1MDRdLCBbMTY2MzkyMDA4NS41MjgwMjU5LCA5MTA4LCAxLjE3NTA4NjYxNzQ2OTc4NzZdLCBbMTY2MzkyMDA4NS43MjEyNiwgOTEyNiwgMS4wNTM0MTA3Njg1MDg5MTExXSwgWzE2NjM5MjAwODUuOTE5ODE5LCA5MTQ0LCAwLjk4Nzg5MTczMzY0NjM5MjhdLCBbMTY2MzkyMDA4Ni4wMTQ1MDI4LCA5MTUzLCAxLjEwODU0MzI3Njc4NjgwNDJdLCBbMTY2MzkyMDA4Ni4xMDE4MzQ4LCA5MTYyLCAxLjEwMTkzMTgxMDM3OTAyODNdLCBbMTY2MzkyMDA4Ni4zOTkxMjAzLCA5MTg5LCAwLjkyNTg3MTAxNDU5NTAzMTddLCBbMTY2MzkyMDA4Ni41ODY2ODcsIDkyMDcsIDEuMDIxNDUzNzM4MjEyNTg1NF0sIFsxNjYzOTIwMDg2Ljk2NDM5NzQsIDkyNDMsIDEuMDA5ODcwNDA5OTY1NTE1MV0sIFsxNjYzOTIwMDg3LjE3MDEwOTUsIDkyNjEsIDEuMjU2Mzg0MjUzNTAxODkyXSwgWzE2NjM5MjAwODcuMjk0NDI3OSwgOTI3MCwgMC45OTkzODg2MzUxNTg1Mzg4XSwgWzE2NjM5MjAwODcuNDk3NTk3NywgOTI4OCwgMS4xNzQ4NzAxMzMzOTk5NjM0XSwgWzE2NjM5MjAwODguMDczMjg1MywgOTMyNCwgMS4wNjYwMDU5NDUyMDU2ODg1XSwgWzE2NjM5MjAwODguMTY5NTU3MywgOTMzMywgMS4wMTIxMDg0NDUxNjc1NDE1XSwgWzE2NjM5MjAwODguMzAyNzg5NywgOTM0MiwgMS4wOTQ2NzM3NTI3ODQ3MjldLCBbMTY2MzkyMDA4OC40MTkxNDYzLCA5MzUxLCAxLjEzNTQ1NTYwODM2NzkyXSwgWzE2NjM5MjAwODguNTA4NTM5MiwgOTM2MCwgMS4wOTQ1NzI1NDQwOTc5MDA0XSwgWzE2NjM5MjAwODguODkyMzE4MiwgOTM5NiwgMS4wNTcyNzMyNjg2OTk2NDZdLCBbMTY2MzkyMDA4OS4wODc4MDA3LCA5NDE0LCAxLjQ4MzYxNTM5ODQwNjk4MjRdLCBbMTY2MzkyMDA4OS4xODY1NTYsIDk0MjMsIDAuOTI1MzU5MTI5OTA1NzAwN10sIFsxNjYzOTIwMDg5LjUwNDg3MDQsIDk0NTAsIDAuOTMxMjc1OTA0MTc4NjE5NF0sIFsxNjYzOTIwMDg5LjgwMDE0MiwgOTQ3NywgMS4wNzI5NzY0Njk5OTM1OTEzXSwgWzE2NjM5MjAwODkuOTIxMzc1OCwgOTQ4NiwgMS40NTEzMDgyNTA0MjcyNDZdLCBbMTY2MzkyMDA5MC4wMzQ4NjcsIDk0OTUsIDAuOTEzMTI1NDU1Mzc5NDg2MV0sIFsxNjYzOTIwMDkwLjI2OTI2NzgsIDk1MTMsIDEuMDQ4NDc2NDU3NTk1ODI1Ml0sIFsxNjYzOTIwMDkwLjQ5OTE2NzQsIDk1MzEsIDEuMjA1MTgyNzkwNzU2MjI1Nl0sIFsxNjYzOTIwMDkwLjYwMzM4MzUsIDk1NDAsIDEuMjcyMjU4MDQzMjg5MTg0Nl0sIFsxNjYzOTIwMDkwLjcxNzc4MTUsIDk1NDksIDEuMjcyNzQ4ODI3OTM0MjY1MV0sIFsxNjYzOTIwMDkwLjk0ODc1NDUsIDk1NjcsIDEuMzQ4MjQ2ODEyODIwNDM0Nl0sIFsxNjYzOTIwMDkxLjI4MjExODMsIDk1OTQsIDEuMjU5MDg4ODczODYzMjIwMl0sIFsxNjYzOTIwMDkxLjM2ODc4NTksIDk2MDMsIDAuOTQ0ODA3ODg3MDc3MzMxNV0sIFsxNjYzOTIwMDkxLjQ3NDA0NzIsIDk2MTIsIDAuOTg1MzkzMTY2NTQyMDUzMl0sIFsxNjYzOTIwMDkxLjY5MjY3MywgOTYzMCwgMS4wODMyODAyMDU3MjY2MjM1XSwgWzE2NjM5MjAwOTEuODMyOTQxLCA5NjM5LCAwLjk3MTE4OTY3NzcxNTMwMTVdLCBbMTY2MzkyMDA5MS45NDA0NzYyLCA5NjQ4LCAxLjA1MjkzOTE3NjU1OTQ0ODJdLCBbMTY2MzkyMDA5Mi4wNTU3LCA5NjU3LCAxLjA2ODU0MTY0NjAwMzcyMzFdLCBbMTY2MzkyMDA5Mi4xNTc4ODEsIDk2NjYsIDEuMjYxNzQxMDQyMTM3MTQ2XSwgWzE2NjM5MjAwOTIuMjQ2ODQzLCA5Njc1LCAxLjAyODk4NTk3NzE3Mjg1MTZdLCBbMTY2MzkyMDA5Mi41MzY5OTUsIDk3MDIsIDAuOTAzNDYwNjgxNDM4NDQ2XSwgWzE2NjM5MjAwOTIuNjI4MzY4MSwgOTcxMSwgMS4wMDg5NjA5NjIyOTU1MzIyXSwgWzE2NjM5MjAwOTIuODE3NzQzNSwgOTcyOSwgMS41MzM1NjAwMzc2MTI5MTVdLCBbMTY2MzkyMDA5Mi45MTY4NzA2LCA5NzM4LCAxLjEzNzEzOTY3ODAwMTQwMzhdLCBbMTY2MzkyMDA5My4wMjI0MDU2LCA5NzQ3LCAxLjExMDY0NDM0MDUxNTEzNjddLCBbMTY2MzkyMDA5My4xMTg5NTY2LCA5NzU2LCAxLjAzMTI2MTU2MzMwMTA4NjRdLCBbMTY2MzkyMDA5My4zMTE4ODI1LCA5Nzc0LCAxLjEyNjE2MjUyODk5MTY5OTJdLCBbMTY2MzkyMDA5My40MDgwMjc2LCA5NzgzLCAwLjkzMzE0NjE3ODcyMjM4MTZdLCBbMTY2MzkyMDA5My41MDM0NTI4LCA5NzkyLCAwLjkyNTY0MTQ3NzEwODAwMTddLCBbMTY2MzkyMDA5My44NjE3OTEsIDk4MjgsIDEuMDA4Mzg0OTQzMDA4NDIyOV0sIFsxNjYzOTIwMDkzLjk2MzQ5OTMsIDk4MzcsIDEuMTE0OTYxOTgxNzczMzc2NV0sIFsxNjYzOTIwMDk0LjA2MjMxNCwgOTg0NiwgMS4wNjcwNjgzMzgzOTQxNjVdLCBbMTY2MzkyMDA5NC41MzU0NTk1LCA5ODkxLCAxLjAxMzI3MTMzMTc4NzEwOTRdLCBbMTY2MzkyMDA5NC43MTgzNzEsIDk5MDksIDAuODg4NTIyNzQ0MTc4NzcyXSwgWzE2NjM5MjAwOTQuOTAwMzUzLCA5OTI3LCAxLjA2MzI0ODUxNTEyOTA4OTRdLCBbMTY2MzkyMDA5NC45ODg5OTk2LCA5OTM2LCAxLjY0NTE2OTI1ODExNzY3NThdLCBbMTY2MzkyMDA5NS4wODYyNjk2LCA5OTQ1LCAxLjI0MDEzMzc2MjM1OTYxOTFdLCBbMTY2MzkyMDA5NS4zNzUxMzQyLCA5OTcyLCAwLjk5NTgyMTY1NDc5NjYwMDNdLCBbMTY2MzkyMDA5NS40NzA4MjMsIDk5ODEsIDEuMDkwODYzMTA4NjM0OTQ4N10sIFsxNjYzOTIwMDk1LjU3NTczMiwgOTk5MCwgMS4wMTQ5MzU2MTI2Nzg1Mjc4XSwgWzE2NjM5MjAwOTUuNjYzMTY0OSwgOTk5OSwgMS43NjQyMDE0MDI2NjQxODQ2XSwgWzE2NjM5MjAwOTUuODA5NjU5MiwgMTAwMDgsIDEuMDM1Mzc2NTQ4NzY3MDg5OF0sIFsxNjYzOTIwMDk1LjkxOTg4NDIsIDEwMDE3LCAxLjM2OTU4NDkxODAyMjE1NThdLCBbMTY2MzkyMDA5Ni4wMjc5ODk5LCAxMDAyNiwgMC44NzEwMjg0MjMzMDkzMjYyXSwgWzE2NjM5MjAwOTYuMTI4MDMxLCAxMDAzNSwgMS4yODI1MDMwMDg4NDI0NjgzXSwgWzE2NjM5MjAwOTYuMzI4MjksIDEwMDUzLCAxLjA0MTA0MzA0MzEzNjU5NjddLCBbMTY2MzkyMDA5Ni42NDExNCwgMTAwNjIsIDEuMjMwMjU3MDM0MzAxNzU3OF0sIFsxNjYzOTIwMDk2Ljg2MTM4MywgMTAwODAsIDEuMTUwMjM4NzUyMzY1MTEyM10sIFsxNjYzOTIwMDk2Ljk2NjkyNzUsIDEwMDg5LCAwLjk1NjI0ODkzOTAzNzMyM10sIFsxNjYzOTIwMDk3LjA2MDQ0MjIsIDEwMDk4LCAxLjA4MzI2ODQwNDAwNjk1OF0sIFsxNjYzOTIwMDk3LjE1NDg5NDQsIDEwMTA3LCAxLjAxNDE2MzI1NTY5MTUyODNdLCBbMTY2MzkyMDA5Ny41MTk5NDIsIDEwMTM0LCAwLjk0OTU2NDM5NzMzNTA1MjVdLCBbMTY2MzkyMDA5Ny42MzE2MzkyLCAxMDE0MywgMS4wNzgxNzkwMDE4MDgxNjY1XSwgWzE2NjM5MjAwOTcuODY2MjYyNCwgMTAxNjEsIDEuMTU1MDQ4MjUxMTUyMDM4Nl0sIFsxNjYzOTIwMDk3Ljk1NTQyNTUsIDEwMTcwLCAxLjAwMjQ2OTE4MjAxNDQ2NTNdLCBbMTY2MzkyMDA5OC4wNTU4NDUsIDEwMTc5LCAxLjA5ODQ2MTM4OTU0MTYyNl0sIFsxNjYzOTIwMDk4LjE2ODM0MDcsIDEwMTg4LCAxLjIzMjQ5MDc3Nzk2OTM2MDRdLCBbMTY2MzkyMDA5OC4yNTg4NTQ2LCAxMDE5NywgMS4zODE2MjIzMTQ0NTMxMjVdLCBbMTY2MzkyMDA5OC40NTI5Njk2LCAxMDIxNSwgMC44NzI3NTk1MjEwMDc1Mzc4XSwgWzE2NjM5MjAwOTguNTQ0MzE5NiwgMTAyMjQsIDEuMjkwMDAzMjk5NzEzMTM0OF0sIFsxNjYzOTIwMDk4LjYzNzQxMDIsIDEwMjMzLCAxLjEyNDQ4NjA4ODc1Mjc0NjZdLCBbMTY2MzkyMDA5OC43MzY1NDAzLCAxMDI0MiwgMS4wMjcxOTI1OTI2MjA4NDk2XSwgWzE2NjM5MjAwOTguOTYwMDI5MSwgMTAyNjAsIDEuMjY1ODAyNTAyNjMyMTQxMV0sIFsxNjYzOTIwMDk5LjA2OTgxNjQsIDEwMjY5LCAwLjk2OTQyODE4MTY0ODI1NDRdLCBbMTY2MzkyMDA5OS4yNjEwNTk1LCAxMDI4NywgMS4wMDAxNjA5MzI1NDA4OTM2XSwgWzE2NjM5MjAwOTkuNjQ1ODc0LCAxMDMxNCwgMS4xMjgwNzUyNDIwNDI1NDE1XSwgWzE2NjM5MjAwOTkuNzUxMzk2LCAxMDMyMywgMC45NTY0ODYzNDQzMzc0NjM0XSwgWzE2NjM5MjAwOTkuOTgxMjI5MywgMTAzNDEsIDEuMDcwODQwMzU4NzM0MTMwOV0sIFsxNjYzOTIwMTAwLjA5NjQyMzEsIDEwMzUwLCAwLjkzODQwNTk5MDYwMDU4NTldLCBbMTY2MzkyMDEwMC4yMTA4MjIzLCAxMDM1OSwgMS4xMzY3MDk0NTE2NzU0MTVdLCBbMTY2MzkyMDEwMC4zMjI2NDg1LCAxMDM2OCwgMS4wNzAzNzA5MTI1NTE4Nzk5XSwgWzE2NjM5MjAxMDAuNDMwODU5OCwgMTAzNzcsIDEuMDkzMzg0NzQyNzM2ODE2NF0sIFsxNjYzOTIwMTAwLjU3MjAxNCwgMTAzODYsIDEuMTI5NzA2NTAxOTYwNzU0NF0sIFsxNjYzOTIwMTAwLjc2NzUxNywgMTA0MDQsIDEuMzQ4MTM0Mzk4NDYwMzg4Ml0sIFsxNjYzOTIwMTAxLjE1OTk2NTUsIDEwNDQwLCAwLjk3ODQ4MzMxOTI4MjUzMTddLCBbMTY2MzkyMDEwMS4yNTMzODQ0LCAxMDQ0OSwgMS4xMjM3MTgyNjE3MTg3NV0sIFsxNjYzOTIwMTAxLjQ4NDg0NDcsIDEwNDY3LCAxLjQzMzE5NDc1NjUwNzg3MzVdLCBbMTY2MzkyMDEwMS43MDg2MDk4LCAxMDQ4NSwgMS40MjY2MzUzODQ1NTk2MzEzXSwgWzE2NjM5MjAxMDEuOTE2NjEyLCAxMDUwMywgMS4yNzI0NDI1NzkyNjk0MDkyXSwgWzE2NjM5MjAxMDIuMDQ5MzM3NiwgMTA1MTIsIDAuOTA5ODY4MzU5NTY1NzM0OV0sIFsxNjYzOTIwMTAyLjU1MzEwMSwgMTA1NTcsIDEuMjA1NTExODA4Mzk1Mzg1N10sIFsxNjYzOTIwMTAyLjY1Mjk2ODYsIDEwNTY2LCAxLjE4Njk0MjkzNDk4OTkyOTJdLCBbMTY2MzkyMDEwMi43NDY2MTU0LCAxMDU3NSwgMS4yMzM0NTU2NTc5NTg5ODQ0XSwgWzE2NjM5MjAxMDIuOTQzMzE4MSwgMTA1OTMsIDEuMDc2NjY0ODA1NDEyMjkyNV0sIFsxNjYzOTIwMTAzLjAzNDA0MzMsIDEwNjAyLCAxLjI1MTQ3MzY2NTIzNzQyNjhdLCBbMTY2MzkyMDEwMy4xMzQzMTUzLCAxMDYxMSwgMC44OTg1MDc3NzM4NzYxOTAyXSwgWzE2NjM5MjAxMDMuMzIyNjA0MiwgMTA2MjksIDEuMzgwOTAxMjE3NDYwNjMyM10sIFsxNjYzOTIwMTAzLjUxMzUzNzYsIDEwNjQ3LCAxLjA2ODQ4NTYxNzYzNzYzNDNdLCBbMTY2MzkyMDEwMy43MjA1NjMsIDEwNjY1LCAwLjk0NDEzMTEzNTk0MDU1MThdLCBbMTY2MzkyMDEwMy45MTQ2MzA3LCAxMDY4MywgMS4yOTA0NTk1MTM2NjQyNDU2XSwgWzE2NjM5MjAxMDQuMTA1Nzk4NywgMTA3MDEsIDEuNTAwNTIzMjA5NTcxODM4NF0sIFsxNjYzOTIwMTA0LjIwNjkwOSwgMTA3MTAsIDEuMDM2Mjc5Nzk3NTU0MDE2MV0sIFsxNjYzOTIwMTA0LjI5ODk4MTQsIDEwNzE5LCAxLjA3NDg2ODA4MzAwMDE4M10sIFsxNjYzOTIwMTA0LjU4NTIwMDUsIDEwNzQ2LCAxLjQ0OTg0MjU3MjIxMjIxOTJdLCBbMTY2MzkyMDEwNC42ODQxNjk1LCAxMDc1NSwgMS4xMjMzMDQ5NjMxMTE4Nzc0XSwgWzE2NjM5MjAxMDQuNzgwMDU1OCwgMTA3NjQsIDEuMDg5MjA2Njk1NTU2NjQwNl0sIFsxNjYzOTIwMTA0Ljg5MDIxMzcsIDEwNzczLCAwLjk3MjQ5NjE1MTkyNDEzMzNdLCBbMTY2MzkyMDEwNC45ODg3OCwgMTA3ODIsIDAuOTg5MjA2NDMzMjk2MjAzNl0sIFsxNjYzOTIwMTA1LjEwMDIwMDIsIDEwNzkxLCAxLjAzOTA1ODIwODQ2NTU3NjJdLCBbMTY2MzkyMDEwNS41OTkxNTIzLCAxMDgxOCwgMS4wNDcwNjQwNjU5MzMyMjc1XSwgWzE2NjM5MjAxMDUuNjkzNzQyMywgMTA4MjcsIDEuMTk0Mjk5NTc4NjY2Njg3XSwgWzE2NjM5MjAxMDUuOTkxODE1LCAxMDg1NCwgMS4wMTk5MTU4MTkxNjgwOTA4XSwgWzE2NjM5MjAxMDYuMTA2NTA2MywgMTA4NjMsIDEuMTc4Nzg4NTQyNzQ3NDk3Nl0sIFsxNjYzOTIwMTA2LjIxOTAyMjgsIDEwODcyLCAxLjE0OTQ0Mzc0NTYxMzA5ODFdLCBbMTY2MzkyMDEwNi40NTY5Mzc2LCAxMDg5MCwgMS4wNjc0MTU5NTI2ODI0OTUxXSwgWzE2NjM5MjAxMDYuNTY4Njc4OSwgMTA4OTksIDEuMjAxNjc3Nzk5MjI0ODUzNV0sIFsxNjYzOTIwMTA2Ljg1NDI2NzgsIDEwOTI2LCAxLjM4Nzc3NDM0ODI1ODk3MjJdLCBbMTY2MzkyMDEwNi45NDYzNTg3LCAxMDkzNSwgMS4wNTY2OTIxMjM0MTMwODZdLCBbMTY2MzkyMDEwNy4wNDY5NjczLCAxMDk0NCwgMC45ODM3OTkxNTk1MjY4MjVdLCBbMTY2MzkyMDEwNy4yODU3NTMsIDEwOTYyLCAwLjkwMjc1Mzc3MDM1MTQwOTldLCBbMTY2MzkyMDEwNy4zOTIxNTM3LCAxMDk3MSwgMS4yNTA5Njg4MTM4OTYxNzkyXSwgWzE2NjM5MjAxMDcuNjkwNzUyMywgMTA5OTgsIDAuODI0MDA3MjcyNzIwMzM2OV0sIFsxNjYzOTIwMTA3LjgwMDAzOTUsIDExMDA3LCAxLjI4MTE2NTgzODI0MTU3NzFdLCBbMTY2MzkyMDEwNy45MjgxMDY1LCAxMTAxNiwgMS4xMzEyODk5NTg5NTM4NTc0XSwgWzE2NjM5MjAxMDguMTg0MjA0OCwgMTEwMzQsIDAuOTM0ODMzNDY3MDA2NjgzM10sIFsxNjYzOTIwMTA4LjU1MDQ5NSwgMTEwNjEsIDAuOTg0MDMxMDIxNTk1MDAxMl0sIFsxNjYzOTIwMTA4LjY1NTQyODQsIDExMDcwLCAxLjAwMTc2MDAwNTk1MDkyNzddLCBbMTY2MzkyMDEwOS4wMjY2NjYyLCAxMTA5NywgMS4yMzUzNDA3MTQ0NTQ2NTA5XSwgWzE2NjM5MjAxMDkuMTQwMjU5NSwgMTExMDYsIDEuNDc0Nzc5NDg2NjU2MTg5XSwgWzE2NjM5MjAxMDkuMjI5MjYxNiwgMTExMTUsIDEuMTQ2NDM2MjE0NDQ3MDIxNV0sIFsxNjYzOTIwMTA5LjY2MjE3MDIsIDExMTUxLCAxLjExNTcwNzAzOTgzMzA2ODhdLCBbMTY2MzkyMDEwOS45MTA5NjU0LCAxMTE2OSwgMS4wNzE2NDg0Nzg1MDc5OTU2XSwgWzE2NjM5MjAxMTAuMDEzMjI3MiwgMTExNzgsIDEuMDAzMTA5NTc0MzE3OTMyMV0sIFsxNjYzOTIwMTEwLjExNDQzNDcsIDExMTg3LCAxLjE2NjA0NjAyMzM2ODgzNTRdLCBbMTY2MzkyMDExMC4yMTMxOTY1LCAxMTE5NiwgMS4wNDExOTU3NTAyMzY1MTEyXSwgWzE2NjM5MjAxMTAuMzAyMzgxLCAxMTIwNSwgMS4yMDg1MDM5NjE1NjMxMTA0XSwgWzE2NjM5MjAxMTAuNDA3ODg4NCwgMTEyMTQsIDEuNDg2MDA3NjkwNDI5Njg3NV0sIFsxNjYzOTIwMTEwLjUxNDI2ODQsIDExMjIzLCAxLjAwMjExODM0OTA3NTMxNzRdLCBbMTY2MzkyMDExMC44MTk1ODcyLCAxMTI1MCwgMC45NjUzOTE5OTM1MjI2NDRdLCBbMTY2MzkyMDExMC45MzE1OTcyLCAxMTI1OSwgMS4wMDYxMjgxOTE5NDc5MzddLCBbMTY2MzkyMDExMS4wMjAxMzEsIDExMjY4LCAwLjk1OTU4NTY2NjY1NjQ5NDFdLCBbMTY2MzkyMDExMS4xNjI2ODU0LCAxMTI3NywgMS4wMzc5MTgwOTA4MjAzMTI1XSwgWzE2NjM5MjAxMTEuMzYyMzE2NCwgMTEyOTUsIDEuMjIzMjg5MDEyOTA4OTM1NV0sIFsxNjYzOTIwMTExLjU0NzE1MTMsIDExMzEzLCAxLjA1NDY0MTAwODM3NzA3NTJdLCBbMTY2MzkyMDExMS42NDc3NjI1LCAxMTMyMiwgMS4zNTEyNzE1MTAxMjQyMDY1XSwgWzE2NjM5MjAxMTEuOTIxNzg2MywgMTEzNDksIDEuMjE3Njg5Mjc1NzQxNTc3MV0sIFsxNjYzOTIwMTEyLjAyMjY4MzQsIDExMzU4LCAxLjEwNTg5MDM5MzI1NzE0MTFdLCBbMTY2MzkyMDExMi4yMTY4MTkzLCAxMTM3NiwgMC45MTkwMTgwODk3NzEyNzA4XSwgWzE2NjM5MjAxMTIuMzAzNzg0NiwgMTEzODUsIDEuMDU5ODQzMDYzMzU0NDkyMl0sIFsxNjYzOTIwMTEyLjQxOTA2MTIsIDExMzk0LCAxLjAyNjg2MDQ3NTU0MDE2MTFdLCBbMTY2MzkyMDExMi42MjM3NTc2LCAxMTQxMiwgMS4xMTkxNTc1NTI3MTkxMTYyXSwgWzE2NjM5MjAxMTIuNzEwMzA4MywgMTE0MjEsIDEuMzQzNTYxNjQ5MzIyNTA5OF0sIFsxNjYzOTIwMTEyLjk4NTAwOSwgMTE0NDgsIDEuMDY0MDg2NDM3MjI1MzQxOF0sIFsxNjYzOTIwMTEzLjA3Njc3MjIsIDExNDU3LCAwLjk5NTU3NjQ0MTI4Nzk5NDRdLCBbMTY2MzkyMDExMy40NjUwNTksIDExNDkzLCAxLjAwNjgyMzA2Mjg5NjcyODVdLCBbMTY2MzkyMDExMy41NjU1OTU0LCAxMTUwMiwgMS4yOTk1MTgxMDgzNjc5Ml0sIFsxNjYzOTIwMTEzLjY1NzQ2NiwgMTE1MTEsIDAuOTgzMjQyNTExNzQ5MjY3Nl0sIFsxNjYzOTIwMTEzLjc0NDU2NCwgMTE1MjAsIDEuMDUyMTAyNDQ2NTU2MDkxM10sIFsxNjYzOTIwMTEzLjg1MTU1NTgsIDExNTI5LCAwLjkyNzUwMTYxODg2MjE1MjFdLCBbMTY2MzkyMDExNC4wMzAzMzQ1LCAxMTU0NywgMS4yNjE5NTYyMTQ5MDQ3ODUyXSwgWzE2NjM5MjAxMTQuMTM0MjEwNiwgMTE1NTYsIDEuMTU0NTc0Mzk0MjI2MDc0Ml0sIFsxNjYzOTIwMTE0LjMyNzM3NjQsIDExNTc0LCAxLjA2NDczMTM1OTQ4MTgxMTVdLCBbMTY2MzkyMDExNC42MDY3NDQ4LCAxMTU4MywgMS4zNjI0NjU5Nzc2Njg3NjIyXSwgWzE2NjM5MjAxMTQuNzk2NTYxNSwgMTE2MDEsIDEuMjQzNzI4ODc2MTEzODkxNl0sIFsxNjYzOTIwMTE0Ljk3NzQ2OSwgMTE2MTksIDEuMTg1Njg5ODA2OTM4MTcxNF0sIFsxNjYzOTIwMTE1LjA3MTYxNjIsIDExNjI4LCAxLjEyMjU0OTUzMzg0Mzk5NDFdLCBbMTY2MzkyMDExNS4xNjI3MDcsIDExNjM3LCAxLjMzNTk5MTk3ODY0NTMyNDddLCBbMTY2MzkyMDExNS4yNTI2MjAyLCAxMTY0NiwgMS4wNTMzMzg3NjYwOTgwMjI1XSwgWzE2NjM5MjAxMTUuNDUxMTUwNCwgMTE2NjQsIDEuNDE2MTU2MDUzNTQzMDkwOF0sIFsxNjYzOTIwMTE1LjU0ODQwNjYsIDExNjczLCAwLjg3MDk1OTU3OTk0NDYxMDZdLCBbMTY2MzkyMDExNS43MzI4NjcsIDExNjkxLCAxLjAyNDY4NzY0NzgxOTUxOV0sIFsxNjYzOTIwMTE1LjgyNTc1NiwgMTE3MDAsIDEuMjk3NTIzNDk4NTM1MTU2Ml0sIFsxNjYzOTIwMTE2LjAzODYyMDIsIDExNzE4LCAxLjIyNzk3NDc3MjQ1MzMwOF0sIFsxNjYzOTIwMTE2LjEzNjk5ODQsIDExNzI3LCAwLjkzNjA0NDIxNjE1NjAwNTldLCBbMTY2MzkyMDExNi4zMjk4MjA2LCAxMTc0NSwgMS4xMjQ1ODc0MTY2NDg4NjQ3XSwgWzE2NjM5MjAxMTYuNDM5NjcsIDExNzU0LCAxLjE0NjU0NTI5MDk0Njk2MDRdLCBbMTY2MzkyMDExNi41NDAzMjU2LCAxMTc2MywgMS4yNTU1ODIyMTM0MDE3OTQ0XSwgWzE2NjM5MjAxMTYuOTgwMDkwNCwgMTE3OTksIDAuODY1OTQzMzEyNjQ0OTU4NV0sIFsxNjYzOTIwMTE3LjI3MTg0MiwgMTE4MjYsIDEuMTI1MjU1ODIzMTM1Mzc2XSwgWzE2NjM5MjAxMTcuMzcxNzMxLCAxMTgzNSwgMS4wNTgxMzYxMDU1Mzc0MTQ2XSwgWzE2NjM5MjAxMTcuNDczMTE1MiwgMTE4NDQsIDEuMDE3MDQzMTEzNzA4NDk2XSwgWzE2NjM5MjAxMTcuOTU3NDE3NSwgMTE4ODksIDEuMDQ5NDIwMjM3NTQxMTk4N10sIFsxNjYzOTIwMTE4LjE1MzI4ODYsIDExOTA3LCAwLjk1MTk5NDI0MDI4Mzk2NjFdLCBbMTY2MzkyMDExOC4yNjM4NDc4LCAxMTkxNiwgMC45OTc1MjU3NTE1OTA3Mjg4XSwgWzE2NjM5MjAxMTguMzYwNTQ2OCwgMTE5MjUsIDEuMjA5MzM4MTg4MTcxMzg2N10sIFsxNjYzOTIwMTE4LjQ5ODg1MjMsIDExOTM0LCAwLjg0OTMxNDU3MDQyNjk0MDldLCBbMTY2MzkyMDExOC42MDkxNzQ1LCAxMTk0MywgMS4xMDM0NzM2NjMzMzAwNzgxXSwgWzE2NjM5MjAxMTguODIxMTAwNywgMTE5NjEsIDEuMDQzNzczNDEyNzA0NDY3OF0sIFsxNjYzOTIwMTE5LjYxNDQ4NjIsIDEyMDI0LCAxLjQwNzgzMzIxODU3NDUyNF0sIFsxNjYzOTIwMTIwLjIxOTkxOTcsIDEyMDc4LCAwLjg4MzI0MTM1NTQxOTE1ODldLCBbMTY2MzkyMDEyMC4zMTczMzA2LCAxMjA4NywgMS4xMjkwMDIyMTM0NzgwODg0XSwgWzE2NjM5MjAxMjAuNTIzNjEwNCwgMTIxMDUsIDEuMTEzNTMyNjYyMzkxNjYyNl0sIFsxNjYzOTIwMTIwLjYzMzAzNywgMTIxMTQsIDAuODY4NTQwNzA0MjUwMzM1N10sIFsxNjYzOTIwMTIwLjgzNzMxOCwgMTIxMzIsIDEuMDk1OTkwMDYxNzU5OTQ4N10sIFsxNjYzOTIwMTIwLjkzNDQyNCwgMTIxNDEsIDAuOTk1MDA1Nzg2NDE4OTE0OF0sIFsxNjYzOTIwMTIxLjI5ODAzOTQsIDEyMTY4LCAxLjE2NzcwNjg0NzE5MDg1N10sIFsxNjYzOTIwMTIxLjQwMDkwNDIsIDEyMTc3LCAxLjAxOTI4MjY5ODYzMTI4NjZdLCBbMTY2MzkyMDEyMS42MzMwNTcsIDEyMTk1LCAxLjE2NzcwNjcyNzk4MTU2NzRdLCBbMTY2MzkyMDEyMS43NTMyODgsIDEyMjA0LCAxLjQ1NTI0NzI4Mjk4MTg3MjZdLCBbMTY2MzkyMDEyMS44NTk2MDgyLCAxMjIxMywgMS4wNjYxMzMxNDE1MTc2MzkyXSwgWzE2NjM5MjAxMjEuOTY0MjY0MiwgMTIyMjIsIDAuOTgyNTU4NDI5MjQxMTgwNF0sIFsxNjYzOTIwMTIyLjEwNTM1NCwgMTIyMzEsIDAuOTU1NTM1MTczNDE2MTM3N10sIFsxNjYzOTIwMTIyLjMzNjk2MjcsIDEyMjQ5LCAxLjIxODAwNTA2MTE0OTU5NzJdLCBbMTY2MzkyMDEyMi43OTUzNzQsIDEyMjg1LCAxLjEzNjMwNzU5NzE2MDMzOTRdLCBbMTY2MzkyMDEyMi45MDM2MDUyLCAxMjI5NCwgMS4xNTU0NzIzOTc4MDQyNjAzXSwgWzE2NjM5MjAxMjMuMDM5ODUzLCAxMjMwMywgMC45ODc1ODQ0MTIwOTc5MzA5XSwgWzE2NjM5MjAxMjMuMTQzOTg4MSwgMTIzMTIsIDEuMTIxNDQ1ODk0MjQxMzMzXSwgWzE2NjM5MjAxMjMuMjQxMDA0MiwgMTIzMjEsIDEuMDMwNzM3NzU3NjgyODAwM10sIFsxNjYzOTIwMTIzLjgyNjIxNzcsIDEyMzU3LCAxLjE2MDU3Nzc3NDA0Nzg1MTZdLCBbMTY2MzkyMDEyMy45MjgyMzgyLCAxMjM2NiwgMC45ODIzODA4MDczOTk3NDk4XSwgWzE2NjM5MjAxMjQuMDE4MzQxOCwgMTIzNzUsIDAuOTMxNjUzODU3MjMxMTQwMV0sIFsxNjYzOTIwMTI0LjE1MTA3ODcsIDEyMzg0LCAxLjI1MDUyNDg3ODUwMTg5Ml0sIFsxNjYzOTIwMTI0LjI0NTIzMywgMTIzOTMsIDEuNDY1ODU1MDAyNDAzMjU5M10sIFsxNjYzOTIwMTI0LjY5ODY3MzIsIDEyNDI5LCAxLjAzNDUyMDM4NzY0OTUzNjFdLCBbMTY2MzkyMDEyNC44MTIzNTEsIDEyNDM4LCAwLjk1NDUxMTgyMTI2OTk4OV0sIFsxNjYzOTIwMTI1LjIxNzU2MDgsIDEyNDc0LCAxLjAxNDQyMTU4MjIyMTk4NDldLCBbMTY2MzkyMDEyNS4zMzMwMjkzLCAxMjQ4MywgMS4yNDIxNzEyODc1MzY2MjFdLCBbMTY2MzkyMDEyNS40MzkzNjUxLCAxMjQ5MiwgMC45MTMzMzAxMzc3Mjk2NDQ4XSwgWzE2NjM5MjAxMjUuNzgwNDEyNywgMTI1MTksIDEuMjc5MzEzNDQ1MDkxMjQ3Nl0sIFsxNjYzOTIwMTI1Ljg5MTUzNDYsIDEyNTI4LCAwLjk4NTQzNTM2NjYzMDU1NDJdLCBbMTY2MzkyMDEyNi4wODY3MDUyLCAxMjU0NiwgMS4zMjUyNjM3Mzg2MzIyMDIxXSwgWzE2NjM5MjAxMjYuMjA5MjcwNSwgMTI1NTUsIDEuNDcwNDYzNjMzNTM3MjkyNV0sIFsxNjYzOTIwMTI2LjM5NjIzOCwgMTI1NzMsIDEuNzU4NjA0Mjg4MTAxMTk2M10sIFsxNjYzOTIwMTI2LjQ4NjgxNDUsIDEyNTgyLCAxLjIwNTAyNTE5NjA3NTQzOTVdLCBbMTY2MzkyMDEyNi43NDExNzksIDEyNjAwLCAwLjkyNDQ3NTMxMjIzMjk3MTJdLCBbMTY2MzkyMDEyNi44NTc0MTYyLCAxMjYwOSwgMC45MTU3NzQ4MjIyMzUxMDc0XSwgWzE2NjM5MjAxMjcuMTYwMjU4OCwgMTI2MzYsIDEuMDgxODc1NjgxODc3MTM2Ml0sIFsxNjYzOTIwMTI3LjI0NzM1NjQsIDEyNjQ1LCAxLjAzNzk1MzYxNTE4ODU5ODZdLCBbMTY2MzkyMDEyNy4zNTM3OTgsIDEyNjU0LCAwLjk1NzY3OTg2Nzc0NDQ0NThdLCBbMTY2MzkyMDEyNy40NTExNywgMTI2NjMsIDAuOTExMzkwODQxMDA3MjMyN10sIFsxNjYzOTIwMTI4LjEzNjAwNDcsIDEyNzI2LCAxLjAyNTUwNDM1MDY2MjIzMTRdLCBbMTY2MzkyMDEyOC40MjA1MDc3LCAxMjc1MywgMC44NzE4Mjc0MjM1NzI1NDAzXSwgWzE2NjM5MjAxMjguNTE1NDc5MywgMTI3NjIsIDEuMDQ2OTQxODc2NDExNDM4XSwgWzE2NjM5MjAxMjguNzA4ODIyNSwgMTI3ODAsIDEuMDQ3NDE3NTIxNDc2NzQ1Nl0sIFsxNjYzOTIwMTI4LjkwNTYzNjMsIDEyNzk4LCAxLjA3NzA2MjM2ODM5Mjk0NDNdLCBbMTY2MzkyMDEyOS4wMDczMjA2LCAxMjgwNywgMS4xMzA0MDY0OTg5MDg5OTY2XSwgWzE2NjM5MjAxMjkuMzIxMDIxNiwgMTI4MzQsIDEuMTUwNjQwODQ1Mjk4NzY3XSwgWzE2NjM5MjAxMjkuNDI3OTg5MiwgMTI4NDMsIDEuMjA1NjE1MDQzNjQwMTM2N10sIFsxNjYzOTIwMTI5LjYwOTM3NjQsIDEyODYxLCAwLjkzMTI2ODQ1MzU5ODAyMjVdLCBbMTY2MzkyMDEyOS44OTg0MDcyLCAxMjg4OCwgMC45MzU1Mzg4MjgzNzI5NTUzXSwgWzE2NjM5MjAxMjkuOTg0MTE1MSwgMTI4OTcsIDEuMDA3MTIzNzA4NzI0OTc1Nl0sIFsxNjYzOTIwMTMwLjA3ODkxNDksIDEyOTA2LCAxLjMxNTE4MTM3NDU0OTg2NTddLCBbMTY2MzkyMDEzMC4xODYzOTMzLCAxMjkxNSwgMS4zMzU1Nzk4NzIxMzEzNDc3XSwgWzE2NjM5MjAxMzAuMzcxODE0NywgMTI5MzMsIDAuOTI3OTE0NTU5ODQxMTU2XSwgWzE2NjM5MjAxMzAuNTc1MjM5NCwgMTI5NTEsIDEuMzcyNTA3MjE0NTQ2MjAzNl0sIFsxNjYzOTIwMTMwLjY2MjA4NSwgMTI5NjAsIDAuOTY1ODE0MTczMjIxNTg4MV0sIFsxNjYzOTIwMTMwLjc1ODgwOTYsIDEyOTY5LCAxLjI4Nzg2OTA5NTgwMjMwNzFdLCBbMTY2MzkyMDEzMC44NDY2NjAxLCAxMjk3OCwgMS4wODM0NDk2MDIxMjcwNzUyXSwgWzE2NjM5MjAxMzEuMTU5ODUzMiwgMTMwMDUsIDEuNDk0OTAwMzQ1ODAyMzA3MV0sIFsxNjYzOTIwMTMxLjQxMDU1MTUsIDEzMDIzLCAxLjExOTQyMTM2Mjg3Njg5Ml0sIFsxNjYzOTIwMTMxLjUzMzA4NDQsIDEzMDMyLCAwLjk2ODg1OTU1MzMzNzA5NzJdLCBbMTY2MzkyMDEzMS42MzM2NDcsIDEzMDQxLCAwLjkzMDIyODIzMzMzNzQwMjNdLCBbMTY2MzkyMDEzMS43NDQ1NjgzLCAxMzA1MCwgMS4xMTcwNzgzMDQyOTA3NzE1XSwgWzE2NjM5MjAxMzEuODM4OTgzLCAxMzA1OSwgMS4wMTk4NzkxMDI3MDY5MDkyXSwgWzE2NjM5MjAxMzEuOTU1Mjc2LCAxMzA2OCwgMC45OTcyNDUwMTM3MTM4MzY3XSwgWzE2NjM5MjAxMzIuMDU1NjgsIDEzMDc3LCAxLjA0MTE5Njk0MjMyOTQwNjddLCBbMTY2MzkyMDEzMi4yNDg5MDA0LCAxMzA5NSwgMS4xODg0MjcwOTA2NDQ4MzY0XSwgWzE2NjM5MjAxMzIuMzUwNzk1MywgMTMxMDQsIDAuOTkzODM1Mzg5NjE0MTA1Ml0sIFsxNjYzOTIwMTMyLjQ1NDY2NSwgMTMxMTMsIDEuMjQ5OTkxMDU5MzAzMjgzN10sIFsxNjYzOTIwMTMyLjc0MzgzOTcsIDEzMTIyLCAxLjIxMjQ3MzM5MjQ4NjU3MjNdLCBbMTY2MzkyMDEzMi44MzkyMzg2LCAxMzEzMSwgMS4wOTc2MTM5MzA3MDIyMDk1XSwgWzE2NjM5MjAxMzIuOTM4MTc2LCAxMzE0MCwgMS4wMDY5ODI4MDMzNDQ3MjY2XSwgWzE2NjM5MjAxMzMuMDcwNDc1LCAxMzE0OSwgMS4xNTcxNDE1NjYyNzY1NTAzXSwgWzE2NjM5MjAxMzMuMTY5NDE1LCAxMzE1OCwgMC45ODgyMDAwNjg0NzM4MTU5XSwgWzE2NjM5MjAxMzMuMjc0MzIwNCwgMTMxNjcsIDEuMDQ2MzY4MjQxMzEwMTE5Nl0sIFsxNjYzOTIwMTMzLjM4NDMxMywgMTMxNzYsIDEuMDc3NDQwMTQyNjMxNTMwOF0sIFsxNjYzOTIwMTMzLjQ4OTU2MTYsIDEzMTg1LCAwLjk2MzM4NjU5NTI0OTE3Nl0sIFsxNjYzOTIwMTM0LjE1OTc5OCwgMTMyMzksIDEuMDcyNTQ3NDM1NzYwNDk4XSwgWzE2NjM5MjAxMzQuNDg0NDAxLCAxMzI2NiwgMC45NjQxMjA1MDcyNDAyOTU0XSwgWzE2NjM5MjAxMzQuNTgwNDk5NiwgMTMyNzUsIDAuOTU1NjQ5NjE0MzM0MTA2NF0sIFsxNjYzOTIwMTM0Ljc3MjY3MiwgMTMyOTMsIDEuMzUwNzk4NjA2ODcyNTU4Nl0sIFsxNjYzOTIwMTM0Ljg3NTU5MzQsIDEzMzAyLCAxLjE1NzU4MDAxODA0MzUxOF0sIFsxNjYzOTIwMTM1LjMwOTAxNDYsIDEzMzM4LCAwLjk5NjE4MDgzMjM4NjAxNjhdLCBbMTY2MzkyMDEzNS40MTk4MTcsIDEzMzQ3LCAxLjIxMjM3ODE0NDI2NDIyMTJdLCBbMTY2MzkyMDEzNS41Mjc1ODAzLCAxMzM1NiwgMS4xNTc1OTA5ODUyOTgxNTY3XSwgWzE2NjM5MjAxMzUuNjM0MTgyMiwgMTMzNjUsIDEuMzY3MDIxNDQxNDU5NjU1OF0sIFsxNjYzOTIwMTM1Ljk4OTY3OTgsIDEzMzkyLCAxLjAyMzUyNzc0MTQzMjE5XSwgWzE2NjM5MjAxMzYuMDg4MzYyNSwgMTM0MDEsIDEuMTIxMDA3MDg0ODQ2NDk2Nl0sIFsxNjYzOTIwMTM2LjE4NjM4NTYsIDEzNDEwLCAwLjg5ODE3NDU4MzkxMTg5NThdLCBbMTY2MzkyMDEzNi4yODkxODksIDEzNDE5LCAxLjE1Nzc5NjUwMjExMzM0MjNdLCBbMTY2MzkyMDEzNi4zOTY1OTI2LCAxMzQyOCwgMS4wMDc4NDI2NTk5NTAyNTYzXSwgWzE2NjM5MjAxMzYuNTkyNjg4NiwgMTM0NDYsIDEuMDcyMDUwMzMzMDIzMDcxM10sIFsxNjYzOTIwMTM2LjY4NzEwNCwgMTM0NTUsIDAuOTA3MDg2MDE0NzQ3NjE5Nl0sIFsxNjYzOTIwMTM3LjEwNzc5NjQsIDEzNDkxLCAxLjMxMzM1MzQxOTMwMzg5NF0sIFsxNjYzOTIwMTM3LjE5NTMxOTQsIDEzNTAwLCAxLjExNDUzNTU3MDE0NDY1MzNdLCBbMTY2MzkyMDEzNy4yOTIzNzIyLCAxMzUwOSwgMC45MTIyOTQwMzAxODk1MTQyXSwgWzE2NjM5MjAxMzcuNDgzMTA0LCAxMzUyNywgMS4wMjE1Mjc1Mjg3NjI4MTc0XSwgWzE2NjM5MjAxMzcuNzg3NTU3NCwgMTM1NTQsIDAuOTY2NTQxMzQ5ODg3ODQ3OV0sIFsxNjYzOTIwMTM4LjIwNTE5MjgsIDEzNTkwLCAxLjI2NTgyNjU4MjkwODYzMDRdLCBbMTY2MzkyMDEzOC4zMTA4NjE2LCAxMzU5OSwgMS4xNTc4MzIwMjY0ODE2Mjg0XSwgWzE2NjM5MjAxMzguNDE2ODMyNCwgMTM2MDgsIDEuMzQ0OTgxNjcwMzc5NjM4N10sIFsxNjYzOTIwMTM4LjUxNDM0OTIsIDEzNjE3LCAxLjE2MjI5NzM2ODA0OTYyMTZdLCBbMTY2MzkyMDEzOC42MDk1MjQ3LCAxMzYyNiwgMS4wOTM0OTEwNzc0MjMwOTU3XSwgWzE2NjM5MjAxMzguODE1MTIxLCAxMzY0NCwgMC45NjY4NDk1NjU1MDU5ODE0XSwgWzE2NjM5MjAxMzguOTA5OTk5NiwgMTM2NTMsIDEuMTE5MDQ4ODMzODQ3MDQ2XSwgWzE2NjM5MjAxMzkuNTkwNTk4MywgMTM3MTYsIDEuMjc5ODM1MzQzMzYwOTAwOV0sIFsxNjYzOTIwMTM5Ljg4Mjg3NCwgMTM3NDMsIDAuOTM0NTIzNTgyNDU4NDk2MV0sIFsxNjYzOTIwMTQwLjExMTc1NCwgMTM3NjEsIDAuOTU5NDE5NDg4OTA2ODYwNF0sIFsxNjYzOTIwMTQwLjMwNTQ5ODQsIDEzNzc5LCAxLjA4NDUzNTgzNzE3MzQ2Ml0sIFsxNjYzOTIwMTQwLjYxMDQ5NSwgMTM4MDYsIDEuMDk3NzYyMTA3ODQ5MTIxXSwgWzE2NjM5MjAxNDAuNzA2MDU0MiwgMTM4MTUsIDEuMDIwNjY2MjQxNjQ1ODEzXSwgWzE2NjM5MjAxNDEuMDE5MzcyMiwgMTM4NDIsIDEuMDU2MzgyMjk4NDY5NTQzNV0sIFsxNjYzOTIwMTQxLjExMTUzNzUsIDEzODUxLCAxLjEwMDU2NzM0MDg1MDgzXSwgWzE2NjM5MjAxNDEuMjE0NDU2NiwgMTM4NjAsIDAuOTM2ODAzNTE5NzI1Nzk5Nl0sIFsxNjYzOTIwMTQxLjMyMjU5NjMsIDEzODY5LCAwLjk0NjQ3NTgwMzg1MjA4MTNdLCBbMTY2MzkyMDE0MS40MjEwNjcyLCAxMzg3OCwgMS4wMDI5NTU1NTU5MTU4MzI1XSwgWzE2NjM5MjAxNDIuMDAyMzgxOCwgMTM5MTQsIDEuMDA0MDgxMTMwMDI3NzcxXSwgWzE2NjM5MjAxNDIuMTk2MTM2LCAxMzkzMiwgMS4xNzEzNzM3MjQ5Mzc0MzldLCBbMTY2MzkyMDE0Mi4yODc0MDksIDEzOTQxLCAwLjk3ODYwODI1MDYxNzk4MV0sIFsxNjYzOTIwMTQyLjM4OTYyOCwgMTM5NTAsIDEuMzkyNTQ4NjgwMzA1NDgxXSwgWzE2NjM5MjAxNDIuNjQwNzcyNiwgMTM5NjgsIDEuMTQ4ODk3NzY3MDY2OTU1Nl0sIFsxNjYzOTIwMTQyLjc1NTYwNDUsIDEzOTc3LCAxLjI0NTM5OTIzNjY3OTA3NzFdLCBbMTY2MzkyMDE0Mi44NDYyODg0LCAxMzk4NiwgMS4xMjU3NzI3MTQ2MTQ4NjgyXSwgWzE2NjM5MjAxNDMuMDQ1MzQyNCwgMTQwMDQsIDAuOTMwMjgxMzQxMDc1ODk3Ml0sIFsxNjYzOTIwMTQzLjI0NDU5NSwgMTQwMjIsIDEuMDc2Nzk0Mzg1OTEwMDM0Ml0sIFsxNjYzOTIwMTQzLjQzODIzODYsIDE0MDQwLCAxLjA3MDI4NjE1NDc0NzAwOTNdLCBbMTY2MzkyMDE0My41MzA1NTQsIDE0MDQ5LCAxLjE1MDAzODU5OTk2Nzk1NjVdLCBbMTY2MzkyMDE0My43MjY4MzY0LCAxNDA2NywgMS4xMjU1ODAwNzI0MDI5NTRdLCBbMTY2MzkyMDE0My44MTY4NzksIDE0MDc2LCAwLjk3Mjg0MTkxODQ2ODQ3NTNdLCBbMTY2MzkyMDE0My45MTYwODI2LCAxNDA4NSwgMS4wNzk3ODAzNDAxOTQ3MDIxXSwgWzE2NjM5MjAxNDQuMDE2NjQ4LCAxNDA5NCwgMS4wNTc1MTY1NzQ4NTk2MTkxXSwgWzE2NjM5MjAxNDQuMTA5MDc2NSwgMTQxMDMsIDEuMTI2OTE4NDM1MDk2NzQwN10sIFsxNjYzOTIwMTQ0LjM2NDA4MjMsIDE0MTIxLCAxLjE1NDEwODUyNDMyMjUwOThdLCBbMTY2MzkyMDE0NC41NzE0OTc0LCAxNDEzOSwgMS4wMjU5ODU5NTYxOTIwMTY2XSwgWzE2NjM5MjAxNDQuNjY5MDg2NywgMTQxNDgsIDAuOTc3Mzg3NjY2NzAyMjcwNV0sIFsxNjYzOTIwMTQ0Ljc2NDM1NiwgMTQxNTcsIDEuMDYxOTIzMDI3MDM4NTc0Ml0sIFsxNjYzOTIwMTQ0Ljg1NDEzMjIsIDE0MTY2LCAwLjkxMzM5Nzc4OTAwMTQ2NDhdLCBbMTY2MzkyMDE0NC45NDU3OTEyLCAxNDE3NSwgMS4wMTQ4MDEwMjUzOTA2MjVdLCBbMTY2MzkyMDE0NS4xMzQzOTIsIDE0MTkzLCAxLjEwMjQ4NjYxMDQxMjU5NzddLCBbMTY2MzkyMDE0NS4zMzg1ODEzLCAxNDIxMSwgMS4wMzMwNDk4MjE4NTM2Mzc3XSwgWzE2NjM5MjAxNDUuNDYyNDIzMywgMTQyMjAsIDAuOTkyMzcxOTc2Mzc1NTc5OF0sIFsxNjYzOTIwMTQ1LjU5MDY3NzcsIDE0MjI5LCAwLjk5NDU3NzEwOTgxMzY5MDJdLCBbMTY2MzkyMDE0NS42OTI1NzQ1LCAxNDIzOCwgMS4xNzQ3NDk5NzA0MzYwOTYyXSwgWzE2NjM5MjAxNDUuNzg0MTMzNCwgMTQyNDcsIDEuMDY1NjY1MDA2NjM3NTczMl0sIFsxNjYzOTIwMTQ2LjA5NDE1MzIsIDE0Mjc0LCAxLjE1NTI2ODE5MjI5MTI1OThdLCBbMTY2MzkyMDE0Ni41NjM5OTIzLCAxNDMxMCwgMC45OTY2OTY5NDkwMDUxMjddLCBbMTY2MzkyMDE0Ni42ODQwMjE1LCAxNDMxOSwgMS4yMjcyMjg4Nzk5Mjg1ODg5XSwgWzE2NjM5MjAxNDcuMTA4OTYzNywgMTQzNTUsIDAuOTU0MTI3MTMyODkyNjA4Nl0sIFsxNjYzOTIwMTQ3LjIxNzI4NDcsIDE0MzY0LCAwLjkyMjI0MDA3ODQ0OTI0OTNdLCBbMTY2MzkyMDE0Ny4zMDU4OTM0LCAxNDM3MywgMS4zMTM0OTIyOTgxMjYyMjA3XSwgWzE2NjM5MjAxNDcuNDA1Nzc4NiwgMTQzODIsIDAuOTg4NjcwNzY2MzUzNjA3Ml0sIFsxNjYzOTIwMTQ3LjYyMTM1MSwgMTQ0MDAsIDAuOTQyNjEyNDY5MTk2MzE5Nl0sIFsxNjYzOTIwMTQ3LjcxMTQ3NDIsIDE0NDA5LCAxLjIzNTg3NDg5MTI4MTEyOF0sIFsxNjYzOTIwMTQ3LjgxNTEyLCAxNDQxOCwgMC45MzU1MzkxMjYzOTYxNzkyXSwgWzE2NjM5MjAxNDcuOTAzODgsIDE0NDI3LCAwLjk2NTc0MTIxNzEzNjM4MzFdLCBbMTY2MzkyMDE0Ny45OTkwNDQsIDE0NDM2LCAxLjEyNzc3NjYyMjc3MjIxNjhdLCBbMTY2MzkyMDE0OC41NTgwMTI3LCAxNDQ4MSwgMC45NzEwNjExMTA0OTY1MjFdLCBbMTY2MzkyMDE0OC43NTIxNTM0LCAxNDQ5OSwgMC45ODE3NzU1ODE4MzY3MDA0XSwgWzE2NjM5MjAxNDguODQ3NzQ0MiwgMTQ1MDgsIDAuOTIxODcxNzgxMzQ5MTgyMV0sIFsxNjYzOTIwMTQ5LjA0MzI0OTYsIDE0NTI2LCAwLjg3NzI0ODE2Nzk5MTYzODJdLCBbMTY2MzkyMDE0OS4xNDgxNjg4LCAxNDUzNSwgMS4wOTEwMjQ5OTQ4NTAxNTg3XSwgWzE2NjM5MjAxNDkuMjQ5ODE1MiwgMTQ1NDQsIDEuMDg1ODI1NTYyNDc3MTExOF0sIFsxNjYzOTIwMTQ5LjM0MDUyMzcsIDE0NTUzLCAxLjEyNDYyMDQzNzYyMjA3MDNdLCBbMTY2MzkyMDE0OS40NDM5MDg3LCAxNDU2MiwgMC45MzQzMTcxMTE5Njg5OTQxXSwgWzE2NjM5MjAxNDkuNzIzMDkzMywgMTQ1ODksIDAuOTIyOTY5Njk4OTA1OTQ0OF0sIFsxNjYzOTIwMTQ5LjgxODc1NzMsIDE0NTk4LCAxLjAzNzYxNjM3MjEwODQ1OTVdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_10-18-18_d10e5d58bf4e&tag=Loss%2Fvalid":{"data":"W1sxNjYzNzU1NTA2LjgwMDc1NSwgODgsIDYuNDYyOTAwNjM4NTgwMzIyXSwgWzE2NjM3NTU1MDYuOTYxMzcxLCAxMTAsIDUuMjgxMTM5MzczNzc5Mjk3XSwgWzE2NjM3NTU1MDguMjg1MTY3MiwgMjQyLCA0LjY1NDYwODI0OTY2NDMwN10sIFsxNjYzNzU1NTA5LjA3MzE2ODMsIDMzMCwgNC4zNzg0MjI3MzcxMjE1ODJdLCBbMTY2Mzc1NTUwOS4yNzQwMDY2LCAzNTIsIDQuNzE4NjI2OTc2MDEzMTg0XSwgWzE2NjM3NTU1MDkuNzcyMjkyNCwgNDE4LCAzLjcxNjE1NjcyMTExNTExMjNdLCBbMTY2Mzc1NTUwOS45Mzg0MjEsIDQ0MCwgMy44NjIyOTY4MTk2ODY4ODk2XSwgWzE2NjM3NTU1MTAuMDk2Mjg5OSwgNDYyLCAzLjQyMDg5MTA0NjUyNDA0OF0sIFsxNjYzNzU1NTEwLjcyNzIwOCwgNTA2LCAzLjM4MTI5MzI5NjgxMzk2NV0sIFsxNjYzNzU1NTEwLjk1MzM0NDYsIDUyOCwgMy4yMzg3NTU5NDEzOTA5OTFdLCBbMTY2Mzc1NTUxMS40NzU2NDE1LCA1OTQsIDMuMjgxMDgyNjMwMTU3NDcwN10sIFsxNjYzNzU1NTExLjYzMzA5NzYsIDYxNiwgMy4wNTQwMTg5NzQzMDQxOTldLCBbMTY2Mzc1NTUxMi42NDAwODc0LCA3NDgsIDIuNzc1NDY3Mzk1NzgyNDcwN10sIFsxNjYzNzU1NTEzLjEwMzE5MDQsIDgxNCwgMi41NzA4NzYzNTk5Mzk1NzVdLCBbMTY2Mzc1NTUxMy42NTA3MTY4LCA4NTgsIDIuNTUyNDc2NDA2MDk3NDEyXSwgWzE2NjM3NTU1MTQuMjg4NDU4OCwgOTAyLCAyLjM3MTMyOTA2OTEzNzU3MzJdLCBbMTY2Mzc1NTUxNS44NTI1MzIxLCAxMDU2LCAyLjEzODc4Nzc0NjQyOTQ0MzRdLCBbMTY2Mzc1NTUxNi4wNDk5MjY4LCAxMDc4LCAyLjI0OTM4ODY5NDc2MzE4MzZdLCBbMTY2Mzc1NTUxNi4yMTU4NDYsIDExMDAsIDIuNTUxNTU4NzMyOTg2NDVdLCBbMTY2Mzc1NTUxNi41NTM5MDEyLCAxMTQ0LCAyLjE3NDYwNjMyMzI0MjE4NzVdLCBbMTY2Mzc1NTUxNy4wNDg4OTkyLCAxMjEwLCAyLjA4ODA2NTM4NTgxODQ4MTRdLCBbMTY2Mzc1NTUxNy42Mzk0MDk4LCAxMjc2LCAyLjE5MTYyMTU0MTk3NjkyODddLCBbMTY2Mzc1NTUxOC4xODYyODc5LCAxMzQyLCAyLjAxOTc1NTYwMTg4MjkzNDZdLCBbMTY2Mzc1NTUxOC4zMzg2NjY3LCAxMzY0LCAyLjA5ODI3ODk5OTMyODYxMzNdLCBbMTY2Mzc1NTUxOC40OTAyMTY1LCAxMzg2LCAyLjA3MjkzNzI1MDEzNzMyOV0sIFsxNjYzNzU1NTE4Ljc5MDk5LCAxNDA4LCAyLjA0MDQzMDA2ODk2OTcyNjZdLCBbMTY2Mzc1NTUxOS4wOTA3NzQ1LCAxNDUyLCAyLjA1MTg3NjMwNjUzMzgxMzVdLCBbMTY2Mzc1NTUxOS4yOTcxNjcsIDE0NzQsIDIuMDQwMTg5MjY2MjA0ODM0XSwgWzE2NjM3NTU1MTkuNDY3MTY2MiwgMTQ5NiwgMi4wNjc1ODkwNDQ1NzA5MjNdLCBbMTY2Mzc1NTUxOS45OTAwNjUsIDE1MTgsIDIuMjE5MTg3MjU5Njc0MDcyM10sIFsxNjYzNzU1NTIwLjQ1MzQwMjMsIDE1NjIsIDIuMDMxOTc5NTYwODUyMDUxXSwgWzE2NjM3NTU1MjAuNjgxNzAyOSwgMTU4NCwgMi4xNjQyNzM3Mzg4NjEwODRdLCBbMTY2Mzc1NTUyMS42ODQ4MjM4LCAxNzE2LCAyLjAzMTM4MTYwNzA1NTY2NF0sIFsxNjYzNzU1NTIyLjAyMTM5NiwgMTc2MCwgMi4wMzIxMDMwNjE2NzYwMjU0XSwgWzE2NjM3NTU1MjIuMTkyNjc5LCAxNzgyLCAyLjAzMzY2ODc1NjQ4NDk4NTRdLCBbMTY2Mzc1NTUyMi41MTA2MzksIDE4MjYsIDIuMDAwMDU4MTc0MTMzMzAxXSwgWzE2NjM3NTU1MjMuMDUzNjMwOCwgMTg5MiwgMS44NTI4MjIzMDM3NzE5NzI3XSwgWzE2NjM3NTU1MjMuODkxNzUzMiwgMTk4MCwgMS44MzMyOTI0ODQyODM0NDczXSwgWzE2NjM3NTU1MjQuMDQ4NTc1NCwgMjAwMiwgMS44NjE0OTMxMTA2NTY3MzgzXSwgWzE2NjM3NTU1MjUuOTI5MTMxNywgMjIwMCwgMi4wNzA1Mjc1NTM1NTgzNDk2XSwgWzE2NjM3NTU1MjYuMTc4NjE2LCAyMjIyLCAyLjMwOTQ0NTE0Mjc0NTk3MTddLCBbMTY2Mzc1NTUyNi43NzkxNTQ1LCAyMjg4LCAxLjg1MTIzNzY1NDY4NTk3NDFdLCBbMTY2Mzc1NTUyNy41MjUyMjUyLCAyMzU0LCAxLjkzNjMyMzI4NTEwMjg0NDJdLCBbMTY2Mzc1NTUyNy43NzMwMzg0LCAyMzc2LCAxLjcyOTk0NzgwNTQwNDY2M10sIFsxNjYzNzU1NTI4LjI2MDcwNjcsIDI0MjAsIDEuNzYzNzc0OTkxMDM1NDYxNF0sIFsxNjYzNzU1NTI5LjI2OTU0OTEsIDI1NzQsIDEuODUzNjQ0MTMyNjE0MTM1N10sIFsxNjYzNzU1NTMwLjA0MTczMjUsIDI2ODQsIDEuNzgxOTEzMTYxMjc3NzcxXSwgWzE2NjM3NTU1MzAuODI3ODQyMiwgMjc3MiwgMS43ODk2Nzc1MDA3MjQ3OTI1XSwgWzE2NjM3NTU1MzAuOTcwNzY4NywgMjc5NCwgMS45ODcxODI2MTcxODc1XSwgWzE2NjM3NTU1MzEuMjU1ODY1MywgMjgzOCwgMS42NzA5MTU4NDIwNTYyNzQ0XSwgWzE2NjM3NTU1MzEuNjk3MDUsIDI4ODIsIDEuNzEzNzYwMzc1OTc2NTYyNV0sIFsxNjYzNzU1NTMxLjg1NTUzNCwgMjkwNCwgMS44MDc0MDU4Mjk0Mjk2MjY1XSwgWzE2NjM3NTU1MzIuNzM3NzAwNywgMzAxNCwgMi4wODM5NjQ4MjQ2NzY1MTM3XSwgWzE2NjM3NTU1MzIuODc1MDI0NiwgMzAzNiwgMS45MzI5MDU5MTIzOTkyOTJdLCBbMTY2Mzc1NTUzNC42MDYzNDM1LCAzMTkwLCAxLjczMjgxOTQzNzk4MDY1MTldLCBbMTY2Mzc1NTUzNS4wOTY4MDQxLCAzMjM0LCAyLjE5NjU5NjYyMjQ2NzA0MV0sIFsxNjYzNzU1NTM1LjMxMTg2MTgsIDMyNTYsIDEuNzkwMTI1NzI3NjUzNTAzNF0sIFsxNjYzNzU1NTM1LjgzODI4OCwgMzMyMiwgMS44NTU4NDgxOTMxNjg2NDAxXSwgWzE2NjM3NTU1MzcuNDIyNzIwMiwgMzQ3NiwgMS42MDYzNjc0Njg4MzM5MjMzXSwgWzE2NjM3NTU1MzcuODgyMDY5MywgMzUyMCwgMS42OTkyNDg5MDk5NTAyNTYzXSwgWzE2NjM3NTU1MzguMDU1NTE0OCwgMzU0MiwgMS43NzYzODQ1OTIwNTYyNzQ0XSwgWzE2NjM3NTU1MzguMzYyNzU2LCAzNTg2LCAxLjYwNzMyNTU1Mzg5NDA0M10sIFsxNjYzNzU1NTM4LjY2MjMyMDQsIDM2MzAsIDEuNjk5MjQ1OTI5NzE4MDE3Nl0sIFsxNjYzNzU1NTM5LjU5NzEwODQsIDM3NjIsIDEuNjAxOTU3MjAxOTU3NzAyNl0sIFsxNjYzNzU1NTM5Ljc0MTkzMzYsIDM3ODQsIDEuNjA1MDEzMTMyMDk1MzM3XSwgWzE2NjM3NTU1MzkuODkyNzQzOCwgMzgwNiwgMS42MTE2MDA2Mzc0MzU5MTNdLCBbMTY2Mzc1NTU0MC40Nzg3MDI1LCAzODcyLCAxLjU2NzI5NzIyMDIzMDEwMjVdLCBbMTY2Mzc1NTU0MC42MzUzNjYsIDM4OTQsIDEuNTI1MzcwMDAxNzkyOTA3N10sIFsxNjYzNzU1NTQwLjc3MDU4NDMsIDM5MTYsIDEuNzAzMjA0MDM1NzU4OTcyMl0sIFsxNjYzNzU1NTQwLjkwNzk1MjMsIDM5MzgsIDEuNTk2NjQxNTQwNTI3MzQzOF0sIFsxNjYzNzU1NTQxLjM4NDY5NzIsIDM5ODIsIDEuNTUxNzQxMzYxNjE4MDQyXSwgWzE2NjM3NTU1NDEuNTM0NDE1LCA0MDA0LCAxLjYxMDE1NDUwOTU0NDM3MjZdLCBbMTY2Mzc1NTU0Mi4xMTA5MjU3LCA0MDcwLCAxLjU5MzYxMTgzNjQzMzQxMDZdLCBbMTY2Mzc1NTU0Mi4zNDQ3MTQsIDQwOTIsIDEuNTc2ODg1NDYxODA3MjUxXSwgWzE2NjM3NTU1NDIuNTYyMDYxLCA0MTE0LCAxLjU3MDA0MTUzNzI4NDg1MV0sIFsxNjYzNzU1NTQzLjUwMjQ0NzEsIDQyMDIsIDEuNTI0NDQwNzY1MzgwODU5NF0sIFsxNjYzNzU1NTQzLjcyNzY3MzUsIDQyMjQsIDEuNjQ3Mjc5NzM5Mzc5ODgyOF0sIFsxNjYzNzU1NTQzLjkzMTY5MDcsIDQyNDYsIDEuNTM3NzIwNTYxMDI3NTI2OV0sIFsxNjYzNzU1NTQ0LjY1MjQ2NTYsIDQzMTIsIDEuNjE1NzQzNjM3MDg0OTYxXSwgWzE2NjM3NTU1NDUuNDk4MjA0MiwgNDQwMCwgMS41MjM2Mzk0NDA1MzY0OTldLCBbMTY2Mzc1NTU0NS43MDEzMTQsIDQ0MjIsIDEuNTIxNjE5NDM5MTI1MDYxXSwgWzE2NjM3NTU1NDYuMTM5MzA1OCwgNDQ2NiwgMS41OTQ1NzY1OTcyMTM3NDUxXSwgWzE2NjM3NTU1NDYuMzI0MTIzLCA0NDg4LCAxLjY0NTc4OTM4NDg0MTkxOV0sIFsxNjYzNzU1NTQ2LjQ2MzYwODUsIDQ1MTAsIDEuNjE1NDE4MDc2NTE1MTk3OF0sIFsxNjYzNzU1NTQ2LjYzMTU5MjgsIDQ1MzIsIDEuNzU2MDQzMDc2NTE1MTk3OF0sIFsxNjYzNzU1NTQ2LjkzODEwNjgsIDQ1NzYsIDEuNDY5NDIzNTMyNDg1OTYyXSwgWzE2NjM3NTU1NDcuMjA4MTU2NiwgNDYyMCwgMS41MTk3MjQ2MDc0Njc2NTE0XSwgWzE2NjM3NTU1NDcuNjA3ODY4NywgNDY2NCwgMS41MDM4MDI0MTg3MDg4MDEzXSwgWzE2NjM3NTU1NDguMDYyMzkzLCA0NzA4LCAxLjQ3NDkyMzAxNDY0MDgwOF0sIFsxNjYzNzU1NTQ4LjU0ODY0NzQsIDQ3NTIsIDEuNTE4NjEwNDc3NDQ3NTA5OF0sIFsxNjYzNzU1NTQ4Ljc5MDA4MzQsIDQ3NzQsIDEuODExMDcyNDY4NzU3NjI5NF0sIFsxNjYzNzU1NTQ5LjQxODY5MjYsIDQ4NDAsIDEuNDk1MzMwNjkxMzM3NTg1NF0sIFsxNjYzNzU1NTQ5LjYwMDc3NjIsIDQ4NjIsIDEuNDIwMDE0MDIzNzgwODIyOF0sIFsxNjYzNzU1NTQ5Ljg0OTc4NCwgNDg4NCwgMS40MTE5MDE0NzM5OTkwMjM0XSwgWzE2NjM3NTU1NTAuMDYwMjk5MiwgNDkwNiwgMS40NDkyMzE1MDUzOTM5ODJdLCBbMTY2Mzc1NTU1MC41NDMxMDE1LCA0OTUwLCAxLjQzNjUyMjM2NDYxNjM5NF0sIFsxNjYzNzU1NTUxLjU3MDI1NzIsIDUwNjAsIDEuNDc3NDY3Mjk4NTA3NjkwNF0sIFsxNjYzNzU1NTUyLjcyNzI5NCwgNTIzNiwgMS4zODgzNjc0MTQ0NzQ0ODczXSwgWzE2NjM3NTU1NTIuODcxNzM3MiwgNTI1OCwgMS41MTc4MzYzMzIzMjExNjddLCBbMTY2Mzc1NTU1My4xNDA5NTAyLCA1MjgwLCAxLjU0OTE4MjI5NTc5OTI1NTRdLCBbMTY2Mzc1NTU1My40NTMzMDQ4LCA1MzI0LCAxLjQ0MzI1MTEzMjk2NTA4OF0sIFsxNjYzNzU1NTUzLjU5NzIzOTMsIDUzNDYsIDEuNDg1ODM2NjI1MDk5MTgyMV0sIFsxNjYzNzU1NTU0LjA4NTk1LCA1MzkwLCAxLjQxMjkyNTk1ODYzMzQyMjldLCBbMTY2Mzc1NTU1NC4yNDM5MzA4LCA1NDEyLCAxLjM4NzYwNDU5NDIzMDY1MTldLCBbMTY2Mzc1NTU1NC40MzA5MDUzLCA1NDM0LCAxLjQzMTc1MTk2NjQ3NjQ0MDRdLCBbMTY2Mzc1NTU1NC42NTE3OTIzLCA1NDU2LCAxLjQwMzIxNDMzNTQ0MTU4OTRdLCBbMTY2Mzc1NTU1NS45MjE0MTQxLCA1NTY2LCAxLjQ3MDM5MTI3MzQ5ODUzNTJdLCBbMTY2Mzc1NTU1Ni4wNzgyNDM3LCA1NTg4LCAxLjUwNzM4NTI1MzkwNjI1XSwgWzE2NjM3NTU1NTYuMjQ1NjAzMywgNTYxMCwgMS42NDcxNDAyNjQ1MTExMDg0XSwgWzE2NjM3NTU1NTYuOTEzMjI2NiwgNTY5OCwgMS40MjIwOTAwNTM1NTgzNDk2XSwgWzE2NjM3NTU1NTcuMTQyMTg2LCA1NzIwLCAxLjM4MjM0MTk4MDkzNDE0M10sIFsxNjYzNzU1NTU3LjI5NTM2NzIsIDU3NDIsIDEuNDA0Mzg1MDg5ODc0MjY3Nl0sIFsxNjYzNzU1NTU3LjYzNjEwMjIsIDU3ODYsIDEuNzg1MDM0Mjk4ODk2Nzg5Nl0sIFsxNjYzNzU1NTU5LjQ2MzczMTgsIDU5NjIsIDEuNDU3OTU3OTgzMDE2OTY3OF0sIFsxNjYzNzU1NTU5LjcxOTM0OTEsIDU5ODQsIDEuMzQ3MjQ5MDMxMDY2ODk0NV0sIFsxNjYzNzU1NTYwLjM3NTQyOSwgNjA1MCwgMS4zMTA4Mjc5NzA1MDQ3NjA3XSwgWzE2NjM3NTU1NjAuNzI0NDA0NiwgNjA5NCwgMS4zNzg2MzE1OTE3OTY4NzVdLCBbMTY2Mzc1NTU2MS4wMDU4ODcsIDYxMzgsIDEuOTg3NTQ5NzgxNzk5MzE2NF0sIFsxNjYzNzU1NTYxLjQxMjI5MywgNjE4MiwgMS4zNzIzOTUwMzg2MDQ3MzYzXSwgWzE2NjM3NTU1NjEuOTMzMzM1MywgNjIyNiwgMS41MTQyMDI3MTM5NjYzNjk2XSwgWzE2NjM3NTU1NjIuMTU4NDg2NCwgNjI0OCwgMS41NDMxOTYyMDEzMjQ0NjNdLCBbMTY2Mzc1NTU2Mi41MTcwMzYyLCA2MjkyLCAxLjM3MDYyODU5NTM1MjE3MjldLCBbMTY2Mzc1NTU2Mi44OTYzMzYzLCA2MzM2LCAxLjQ0NjEzNTc1OTM1MzYzNzddLCBbMTY2Mzc1NTU2My4xMTI0NzczLCA2MzU4LCAxLjUwMjQzNzExNDcxNTU3NjJdLCBbMTY2Mzc1NTU2My40MjU0NzEsIDY0MDIsIDEuMzk5NzU2Nzg5MjA3NDU4NV0sIFsxNjYzNzU1NTY0LjU2NTM5NSwgNjUxMiwgMS4zODE5NjM4NDkwNjc2ODhdLCBbMTY2Mzc1NTU2NC43MDg5OTE1LCA2NTM0LCAxLjM4NTc0NzA3NTA4MDg3MTZdLCBbMTY2Mzc1NTU2NC44NDU0NDEsIDY1NTYsIDEuNDk0MjgwNTc2NzA1OTMyNl0sIFsxNjYzNzU1NTY1LjAwMTMyNSwgNjU3OCwgMS4zNjc2NDc0MDk0MzkwODddLCBbMTY2Mzc1NTU2Ni4yMTU2NTQ0LCA2NzU0LCAxLjMxNzc5MTcwMDM2MzE1OTJdLCBbMTY2Mzc1NTU2Ni40OTc0MTAzLCA2Nzk4LCAxLjcxODQxMDk2ODc4MDUxNzZdLCBbMTY2Mzc1NTU2Ni43NjcwOTQ0LCA2ODIwLCAxLjM5NDczNzI0MzY1MjM0MzhdLCBbMTY2Mzc1NTU2Ny4yMDgwMDYsIDY4ODYsIDEuNDc1NDU3NjY4MzA0NDQzNF0sIFsxNjYzNzU1NTY3Ljk4MTQxNTcsIDY5NzQsIDEuMzc0OTE1MjQyMTk1MTI5NF0sIFsxNjYzNzU1NTY4LjI3NTk0NTcsIDcwMTgsIDEuMzQ1NDAwNTcxODIzMTIwMV0sIFsxNjYzNzU1NTY4LjQzMDU5MDQsIDcwNDAsIDEuMjkyOTAxOTkyNzk3ODUxNl0sIFsxNjYzNzU1NTY5LjA2MDcyNjIsIDcxMDYsIDEuNTc4MzY5OTc1MDkwMDI2OV0sIFsxNjYzNzU1NTY5LjM5MTQ2MjMsIDcxNTAsIDEuNDk2NDA2MzE2NzU3MjAyMV0sIFsxNjYzNzU1NTcwLjI2MTEzMjUsIDcyNjAsIDEuNDg2NDM4Mjc0MzgzNTQ1XSwgWzE2NjM3NTU1NzAuNjg1NjkxLCA3MzA0LCAxLjMxNjYwNTkyNTU1OTk5NzZdLCBbMTY2Mzc1NTU3MC44Mzc4MDYsIDczMjYsIDEuMjg2Nzc3NjE1NTQ3MTgwMl0sIFsxNjYzNzU1NTcxLjkxMjQzMTUsIDc0MzYsIDEuMzM1MTc0NTYwNTQ2ODc1XSwgWzE2NjM3NTU1NzIuMTMzMzM2NSwgNzQ1OCwgMS4zMzc5Njc3NTM0MTAzMzk0XSwgWzE2NjM3NTU1NzIuNjczNjUyLCA3NTAyLCAxLjI5ODc5MDA5NzIzNjYzMzNdLCBbMTY2Mzc1NTU3My40MTA0MjU0LCA3NTY4LCAxLjkzNzMwMTg3NDE2MDc2NjZdLCBbMTY2Mzc1NTU3My43MDUzNjIzLCA3NjEyLCAxLjM2NTQ2MjMwMzE2MTYyMV0sIFsxNjYzNzU1NTczLjg0ODE2ODgsIDc2MzQsIDEuNTA0MDI2NDEyOTYzODY3Ml0sIFsxNjYzNzU1NTc0LjUzMTMzMzcsIDc3MjIsIDEuMzc0MjUxMzY1NjYxNjIxXSwgWzE2NjM3NTU1NzQuOTcwNzU3NSwgNzc2NiwgMS40NjY5MDQ3NTk0MDcwNDM1XSwgWzE2NjM3NTU1NzUuMjA4MjA5LCA3Nzg4LCAxLjU1MjE4MjY3NDQwNzk1OV0sIFsxNjYzNzU1NTc1LjQ3NzM3MiwgNzgxMCwgMS40MzUzMTQ3NzQ1MTMyNDQ2XSwgWzE2NjM3NTU1NzYuNDA2NzYyMSwgNzg5OCwgMS4zNjg2NzM5MjA2MzE0MDg3XSwgWzE2NjM3NTU1NzcuMjY5ODExMiwgNzk4NiwgMS40NzI5MTI2NjkxODE4MjM3XSwgWzE2NjM3NTU1NzcuNDkyMzA0MywgODAwOCwgMS4zNjI4OTI2Mjc3MTYwNjQ1XSwgWzE2NjM3NTU1NzcuNjM0MzUsIDgwMzAsIDEuNDkyNjk0ODU0NzM2MzI4MV0sIFsxNjYzNzU1NTc3Ljc3OTMwNzYsIDgwNTIsIDEuNDYwNDc5Mzc4NzAwMjU2M10sIFsxNjYzNzU1NTc3LjkyMDEwNSwgODA3NCwgMS4zMTQxOTIxNzU4NjUxNzMzXSwgWzE2NjM3NTU1NzguMDU4MTYwMywgODA5NiwgMS4zMjg2MjI1Nzk1NzQ1ODVdLCBbMTY2Mzc1NTU3OS4zNjMzNzksIDgyNTAsIDEuMjkzMjIxMTE2MDY1OTc5XSwgWzE2NjM3NTU1ODAuMDg5NDMyMiwgODMxNiwgMS40NzUyODI2NjkwNjczODI4XSwgWzE2NjM3NTU1ODAuMzM4Nzk3NiwgODMzOCwgMS4zNDU3NjIyNTI4MDc2MTcyXSwgWzE2NjM3NTU1ODEuODU3NTQ2LCA4NTE0LCAxLjI2Mjc0NTczODAyOTQ4XSwgWzE2NjM3NTU1ODIuNDM2MTQzLCA4NjAyLCAxLjI5MzYyNjkwNDQ4NzYwOTldLCBbMTY2Mzc1NTU4Mi41Njk4MzQ1LCA4NjI0LCAxLjI4MjI2NzgwODkxNDE4NDZdLCBbMTY2Mzc1NTU4Mi43MzM1ODU4LCA4NjQ2LCAxLjM2OTM2MjM1NDI3ODU2NDVdLCBbMTY2Mzc1NTU4Mi44NjM0MTQzLCA4NjY4LCAxLjQ5NTE0MTM4Njk4NTc3ODhdLCBbMTY2Mzc1NTU4My4wMDYwOTI1LCA4NjkwLCAxLjMyNjYxMDkyMjgxMzQxNTVdLCBbMTY2Mzc1NTU4My42NzYzOTczLCA4NzU2LCAxLjQ0MjQ3NTY3NjUzNjU2XSwgWzE2NjM3NTU1ODQuOTA2NDY3NCwgODg2NiwgMS43NTc4ODczNjM0MzM4MzhdLCBbMTY2Mzc1NTU4NS4yODc0MzEsIDg5MTAsIDEuNjI0NzU2MjE3MDAyODY4N10sIFsxNjYzNzU1NTg1Ljg4NjM0NSwgODk5OCwgMS4yODg3MTA3MTMzODY1MzU2XSwgWzE2NjM3NTU1ODYuMDMxNTQ2NiwgOTAyMCwgMS4yNTQ5Mjk3ODA5NjAwODNdLCBbMTY2Mzc1NTU4Ni42NzA0OTQzLCA5MTA4LCAxLjI4Nzc2MjUyMjY5NzQ0ODddLCBbMTY2Mzc1NTU4Ni44MjExNTk2LCA5MTMwLCAxLjI4NTk4Njc4MTEyMDMwMDNdLCBbMTY2Mzc1NTU4Ny4wNDg1NzEzLCA5MTUyLCAxLjQ2ODM2MzQwNDI3Mzk4NjhdLCBbMTY2Mzc1NTU4Ny40OTE1OTUsIDkyMTgsIDEuMzI4MTEzMDc5MDcxMDQ1XSwgWzE2NjM3NTU1ODguMDc3ODMzNCwgOTI4NCwgMS4yODUwODQ5NjI4NDQ4NDg2XSwgWzE2NjM3NTU1ODguMjI4Njk4LCA5MzA2LCAxLjM3MzAxMDM5Njk1NzM5NzVdLCBbMTY2Mzc1NTU4OC44MjE1NjkyLCA5MzcyLCAxLjM1NjM0MDA1MDY5NzMyNjddLCBbMTY2Mzc1NTU4OC45NTMyNTQyLCA5Mzk0LCAxLjMzOTc3ODkwMDE0NjQ4NDRdLCBbMTY2Mzc1NTU4OS43NTkxNTMsIDk0ODIsIDEuMzAwNzc1NTI3OTU0MTAxNl0sIFsxNjYzNzU1NTkwLjAwOTcxOSwgOTUwNCwgMS4yNzQ2MTgzODcyMjIyOV0sIFsxNjYzNzU1NTkwLjY0MzQ2OTgsIDk1OTIsIDEuMzU1NTA0Mjc0MzY4Mjg2MV0sIFsxNjYzNzU1NTkwLjc4ODcwNCwgOTYxNCwgMS40MDU3ODA5MTE0NDU2MTc3XSwgWzE2NjM3NTU1OTAuOTI5ODM5NCwgOTYzNiwgMS4yNTU0MDQ0NzIzNTEwNzQyXSwgWzE2NjM3NTU1OTEuMjI4MjI1MiwgOTY4MCwgMS4zMjE5Mzc1NjEwMzUxNTYyXSwgWzE2NjM3NTU1OTEuNTI0MDk2NSwgOTcwMiwgMS41MTExNzM0ODY3MDk1OTQ3XSwgWzE2NjM3NTU1OTEuNzc1Mzg5NywgOTcyNCwgMS4yNTg1NjI0NDU2NDA1NjRdLCBbMTY2Mzc1NTU5Mi4xMTE0MjksIDk3NjgsIDEuNTM3NTE4MDI0NDQ0NThdLCBbMTY2Mzc1NTU5Mi4yNTY4MjEsIDk3OTAsIDEuNDAwNzI0ODg3ODQ3OTAwNF0sIFsxNjYzNzU1NTkyLjQ1NzQ2OSwgOTgxMiwgMS40MTc2MjM1MTk4OTc0NjFdLCBbMTY2Mzc1NTU5Mi43MDU2NzYsIDk4MzQsIDEuMjcwNzIwMjQzNDUzOTc5NV0sIFsxNjYzNzU1NTkzLjMzOTc0MDMsIDk5MjIsIDEuMjc2NTA4MzMxMjk4ODI4MV0sIFsxNjYzNzU1NTkzLjQ3NzUxOCwgOTk0NCwgMS4zNzQxMDg2NzIxNDIwMjg4XSwgWzE2NjM3NTU1OTMuNjIzMjQzOCwgOTk2NiwgMS4yNTE2MzEyNTk5MTgyMTNdLCBbMTY2Mzc1NTU5My43NjUyNDY0LCA5OTg4LCAxLjQ3MjM4OTIyMTE5MTQwNjJdLCBbMTY2Mzc1NTU5My45MDIxOTU1LCAxMDAxMCwgMS40NTEzMjk3MDgwOTkzNjUyXSwgWzE2NjM3NTU1OTQuMzEyMTI0NywgMTAwNTQsIDEuMzc4MDkxODEyMTMzNzg5XSwgWzE2NjM3NTU1OTQuNjA4MTYyMiwgMTAwOTgsIDEuMjg2NDUzNjA0Njk4MTgxMl0sIFsxNjYzNzU1NTk1LjAwMzQxNSwgMTAxNDIsIDEuMjUxMjg5MDEwMDQ3OTEyNl0sIFsxNjYzNzU1NTk1LjE1MjMzMjMsIDEwMTY0LCAxLjM0MTUwNDgxMjI0MDYwMDZdLCBbMTY2Mzc1NTU5NS43NDQ5NTQ2LCAxMDI1MiwgMS42Mjk0OTMyMzY1NDE3NDhdLCBbMTY2Mzc1NTU5NS45ODc1NDcyLCAxMDI3NCwgMS4yOTMzNTIxMjcwNzUxOTUzXSwgWzE2NjM3NTU1OTYuMjY4NDczLCAxMDMxOCwgMS4yNzA1NDg0NjI4Njc3MzY4XSwgWzE2NjM3NTU1OTYuNTU4MTcyLCAxMDM2MiwgMS4zNzE3NTcwMzA0ODcwNjA1XSwgWzE2NjM3NTU1OTcuMjU4OTMzNSwgMTA0NTAsIDEuMzA2Nzk2NDMxNTQxNDQyOV0sIFsxNjYzNzU1NTk3LjM5NDIwOSwgMTA0NzIsIDEuMzI0ODQ3NTc5MDAyMzgwNF0sIFsxNjYzNzU1NTk3LjkyNDM2MDgsIDEwNTM4LCAxLjM0NDIzODg3NzI5NjQ0NzhdLCBbMTY2Mzc1NTU5OC4wNTY0NTA4LCAxMDU2MCwgMS4yOTQ4MTY0OTM5ODgwMzddLCBbMTY2Mzc1NTU5OC4yMDgzOTQzLCAxMDU4MiwgMS4yNDk1MjM1MjA0Njk2NjU1XSwgWzE2NjM3NTU1OTguNDgwNjk5MywgMTA2MDQsIDEuMzQ0NDAwNjQ0MzAyMzY4Ml0sIFsxNjYzNzU1NTk4Ljc1MzExNjgsIDEwNjQ4LCAxLjI1OTY1MzgwNjY4NjQwMTRdLCBbMTY2Mzc1NTU5OC44OTk3MTE4LCAxMDY3MCwgMS4zNTU0MTYyOTc5MTI1OTc3XSwgWzE2NjM3NTU1OTkuNjcyMDc4NCwgMTA3MzYsIDEuMzI4OTg1MzMzNDQyNjg4XSwgWzE2NjM3NTU1OTkuOTQyNDkzNCwgMTA3NTgsIDEuODA2MDA4NDU4MTM3NTEyMl0sIFsxNjYzNzU1NjAwLjA5Mjk2MjcsIDEwNzgwLCAxLjQ3MDYwMzQ2NjAzMzkzNTVdLCBbMTY2Mzc1NTYwMC4zODUyODksIDEwODI0LCAxLjM1OTM2NDE1MTk1NDY1MDldLCBbMTY2Mzc1NTYwMC44MDE5MjYxLCAxMDg5MCwgMS4zMzA5MTAyMDU4NDEwNjQ1XSwgWzE2NjM3NTU2MDEuNDQyNjg3MywgMTA5NzgsIDEuMzE1OTMwNDg1NzI1NDAyOF0sIFsxNjYzNzU1NjAyLjEzNTY0LCAxMTA2NiwgMS41NDY4MTYzNDkwMjk1NDFdLCBbMTY2Mzc1NTYwMi4yNzI4MDkzLCAxMTA4OCwgMS4zNDkwODQ2MTU3MDczOTc1XSwgWzE2NjM3NTU2MDIuOTE3MzczNCwgMTExNTQsIDEuNjk3MzU2MTA0ODUwNzY5XSwgWzE2NjM3NTU2MDMuMzQwMjE4OCwgMTEyMjAsIDEuMjU5NTExMjMyMzc2MDk4Nl0sIFsxNjYzNzU1NjAzLjUyNjQ4MSwgMTEyNDIsIDEuMzE1MTU4OTYzMjAzNDMwMl0sIFsxNjYzNzU1NjAzLjgyNTE0NjIsIDExMjY0LCAxLjI1ODA5Mjg4MDI0OTAyMzRdLCBbMTY2Mzc1NTYwNC4wNjkzMzY0LCAxMTI4NiwgMS40MjUzNDE0ODY5MzA4NDcyXSwgWzE2NjM3NTU2MDQuMzIyNTc4NCwgMTEzMDgsIDEuMjY2NDE1NTk2MDA4MzAwOF0sIFsxNjYzNzU1NjA0LjU1MTY1NjUsIDExMzMwLCAxLjMwNzMxOTY0MTExMzI4MTJdLCBbMTY2Mzc1NTYwNS4xMTY5MjUsIDExMzk2LCAxLjM5NDIyNTgzNTgwMDE3MV0sIFsxNjYzNzU1NjA1LjI1MzAwMDUsIDExNDE4LCAxLjMxMTAxNTI0ODI5ODY0NV0sIFsxNjYzNzU1NjA1LjQxNTU4MDcsIDExNDQwLCAxLjQ5NTU3NDIzNTkxNjEzNzddLCBbMTY2Mzc1NTYwNS41NTY3MTYyLCAxMTQ2MiwgMS4yNjkxNDE5MTI0NjAzMjcxXSwgWzE2NjM3NTU2MDUuOTgyOSwgMTE1MjgsIDEuMzEzNTc0MzE0MTE3NDMxNl0sIFsxNjYzNzU1NjA3LjI5NjA1MTcsIDExNjgyLCAxLjcxNjcwNDEzMDE3MjcyOTVdLCBbMTY2Mzc1NTYwNy43NTUzNTUxLCAxMTc0OCwgMS42NzAwOTc3MDg3MDIwODc0XSwgWzE2NjM3NTU2MDcuOTA1OTY3NSwgMTE3NzAsIDEuMzUyNjI2MDg1MjgxMzcyXSwgWzE2NjM3NTU2MDguMzEzNDUyMiwgMTE4MTQsIDEuMjYxODU1MjQ0NjM2NTM1Nl0sIFsxNjYzNzU1NjA4LjUzNjg0MzMsIDExODM2LCAxLjI2MTg2MzgyNzcwNTM4MzNdLCBbMTY2Mzc1NTYwOC43NjQ5NTEsIDExODU4LCAxLjI2NTk2Nzk2NTEyNjAzNzZdLCBbMTY2Mzc1NTYwOC45ODM4MTUyLCAxMTg4MCwgMS4yMjMzMTI3MzU1NTc1NTYyXSwgWzE2NjM3NTU2MDkuMTM0NTMzNiwgMTE5MDIsIDEuNDEyMDQ1ODM2NDQ4NjY5NF0sIFsxNjYzNzU1NjA5LjQxNzE5MTUsIDExOTQ2LCAxLjMyMjI3MTcwNDY3Mzc2N10sIFsxNjYzNzU1NjA5LjkwODczNzQsIDExOTkwLCAxLjIyMTEwMTk5OTI4MjgzN10sIFsxNjYzNzU1NjEwLjIzMTc2OTgsIDEyMDM0LCAxLjIxOTMxNjAwNTcwNjc4N10sIFsxNjYzNzU1NjEwLjQwMDM5MzIsIDEyMDU2LCAxLjYxNDg4NDg1MzM2MzAzN10sIFsxNjYzNzU1NjEwLjg0NjM5NTcsIDEyMTIyLCAxLjI3NDE3NTQwNTUwMjMxOTNdLCBbMTY2Mzc1NTYxMS4yNjM0MDIsIDEyMTY2LCAxLjMwMzM5NTE1MjA5MTk4XSwgWzE2NjM3NTU2MTEuNjg1ODY3OCwgMTIyMzIsIDEuMzI5NDY5NTYxNTc2ODQzM10sIFsxNjYzNzU1NjExLjk0MzU4NDQsIDEyMjU0LCAxLjI0NjA5OTQ3MjA0NTg5ODRdLCBbMTY2Mzc1NTYxMi45MjE1NjMxLCAxMjM4NiwgMS4yMzkxMDQwMzI1MTY0Nzk1XSwgWzE2NjM3NTU2MTMuMDY4NjkyMiwgMTI0MDgsIDEuMzA4NjA4MDU1MTE0NzQ2XSwgWzE2NjM3NTU2MTMuMjExNDQ3LCAxMjQzMCwgMS4zMjI1NjUzMTcxNTM5MzA3XSwgWzE2NjM3NTU2MTMuODkyNzU4NCwgMTI1MTgsIDEuMzA3NjE1OTk1NDA3MTA0NV0sIFsxNjYzNzU1NjE0LjQ0MjM4NzMsIDEyNTg0LCAxLjMzNjk5MDQ3NTY1NDYwMl0sIFsxNjYzNzU1NjE0LjczMTE0MTYsIDEyNjI4LCAxLjI4MjQyMTIzMTI2OTgzNjRdLCBbMTY2Mzc1NTYxNS40MTQ2MDAxLCAxMjY5NCwgMS4zODA0ODc2ODA0MzUxODA3XSwgWzE2NjM3NTU2MTYuMTc2NjM0LCAxMjc4MiwgMS4yNTY1ODExODcyNDgyM10sIFsxNjYzNzU1NjE2Ljc2NjUwMTQsIDEyODcwLCAxLjMzNDMzMzc3NzQyNzY3MzNdLCBbMTY2Mzc1NTYxNi45MTQ5NjUsIDEyODkyLCAxLjM0MzAxOTg0MzEwMTUwMTVdLCBbMTY2Mzc1NTYxNy4xOTMxMTU1LCAxMjkxNCwgMS4yODA1NDc0OTk2NTY2NzcyXSwgWzE2NjM3NTU2MTcuNDkwMTcyNCwgMTI5NTgsIDEuMzA4NTUzMjE4ODQxNTUyN10sIFsxNjYzNzU1NjE3Ljg1MDk4NTUsIDEzMDAyLCAxLjMxODQ3NzUxMTQwNTk0NDhdLCBbMTY2Mzc1NTYxOC4xNTI4MTAzLCAxMzAyNCwgMS4yNDQ1ODkyMDk1NTY1Nzk2XSwgWzE2NjM3NTU2MTguMjgzNzc5OSwgMTMwNDYsIDEuNDEzNjQxODEwNDE3MTc1M10sIFsxNjYzNzU1NjE4LjU4OTkxOTMsIDEzMDkwLCAxLjI3NjQwMjgzMTA3NzU3NTddLCBbMTY2Mzc1NTYxOC45MDI2NTY2LCAxMzEzNCwgMS4yMzU5MDg5ODUxMzc5Mzk1XSwgWzE2NjM3NTU2MTkuMTE4NDU5MiwgMTMxNTYsIDEuMzg1MzE3NDQ0ODAxMzMwNl0sIFsxNjYzNzU1NjE5LjI2MTg2MjgsIDEzMTc4LCAxLjMwMzQ2MDcxNzIwMTIzM10sIFsxNjYzNzU1NjE5LjQwMTk0MSwgMTMyMDAsIDEuMjczOTE0MDk4NzM5NjI0XSwgWzE2NjM3NTU2MTkuNzA0NjYwNCwgMTMyNDQsIDEuMjY1MDE2MDc4OTQ4OTc0Nl0sIFsxNjYzNzU1NjE5Ljk2OTIxOSwgMTMyNjYsIDEuMjQyOTgxMTk1NDQ5ODI5XSwgWzE2NjM3NTU2MjAuMTIxMzA2MiwgMTMyODgsIDEuMzMwNzI4MjkyNDY1MjFdLCBbMTY2Mzc1NTYyMC4zOTQ5MjA2LCAxMzMzMiwgMS4zNjkyNjIzMzc2ODQ2MzEzXSwgWzE2NjM3NTU2MjAuOTc3ODQ5NSwgMTMzOTgsIDEuMjY4NDEwNDQ0MjU5NjQzNl0sIFsxNjYzNzU1NjIxLjI1NTc1NzMsIDEzNDQyLCAxLjMwNDY2Mzc3NzM1MTM3OTRdLCBbMTY2Mzc1NTYyMS44MjU0NTQsIDEzNTA4LCAxLjM4NjA1NjY2MTYwNTgzNV0sIFsxNjYzNzU1NjIxLjk1OTkxOTcsIDEzNTMwLCAxLjI0NDU1NTExNTY5OTc2OF0sIFsxNjYzNzU1NjIyLjIzMzQwMTUsIDEzNTc0LCAxLjIzMzgzNTIyMDMzNjkxNF0sIFsxNjYzNzU1NjIyLjY1MzMxNjUsIDEzNjE4LCAxLjI3ODUzNTM2NjA1ODM0OTZdLCBbMTY2Mzc1NTYyMi45NDQ5NDUzLCAxMzY2MiwgMS4yNjg1NDQ0MzU1MDEwOTg2XSwgWzE2NjM3NTU2MjMuMzkwNzYyLCAxMzcwNiwgMS4zMTQ4MTMwMTc4NDUxNTM4XSwgWzE2NjM3NTU2MjMuNjEyNjIzMiwgMTM3MjgsIDEuMzI4NTc3NTE4NDYzMTM0OF0sIFsxNjYzNzU1NjI0LjE2NDA3OSwgMTM3OTQsIDEuNDAyOTM4MjQ2NzI2OTg5N10sIFsxNjYzNzU1NjI0LjQ1Mzg0MjQsIDEzODM4LCAxLjIxMjg3MTA3NDY3NjUxMzddLCBbMTY2Mzc1NTYyNC41OTE0NDE0LCAxMzg2MCwgMS4zOTc1MDk2OTQwOTk0MjYzXSwgWzE2NjM3NTU2MjUuMzg3NjI4MywgMTM5NDgsIDEuMjQ1MjM0MzcwMjMxNjI4NF0sIFsxNjYzNzU1NjI2LjMwNjM4NjIsIDE0MDM2LCAxLjIyOTc2NTQxNTE5MTY1MDRdLCBbMTY2Mzc1NTYyNy4wMjM4NzA1LCAxNDEwMiwgMS4yOTU0NTk2MjgxMDUxNjM2XSwgWzE2NjM3NTU2MjcuMTU0ODI2NiwgMTQxMjQsIDEuMjM3NTA0ODM5ODk3MTU1OF0sIFsxNjYzNzU1NjI3LjI4ODMxNTUsIDE0MTQ2LCAxLjI2ODMwMzYzMjczNjIwNl0sIFsxNjYzNzU1NjI3LjQzMjk1NjUsIDE0MTY4LCAxLjMxMjAyOTgzODU2MjAxMTddLCBbMTY2Mzc1NTYyNy41NjI2MTIsIDE0MTkwLCAxLjc5Mjc2NTYxNzM3MDYwNTVdLCBbMTY2Mzc1NTYyOC4yNzU5NDQsIDE0MzAwLCAxLjIyMzgxMTYyNjQzNDMyNjJdLCBbMTY2Mzc1NTYyOC41NzM2MjUsIDE0MzQ0LCAxLjUwOTUyMTk2MTIxMjE1ODJdLCBbMTY2Mzc1NTYyOC44MTI3MTc3LCAxNDM2NiwgMS4yMDUwMDcwNzYyNjM0Mjc3XSwgWzE2NjM3NTU2MjguOTY3OTQ2MywgMTQzODgsIDEuMjYxMjUxODA3MjEyODI5Nl0sIFsxNjYzNzU1NjI5LjEwNDM3ODUsIDE0NDEwLCAxLjI0Mjk0NDQ3ODk4ODY0NzVdLCBbMTY2Mzc1NTYyOS4yNDU4MTQsIDE0NDMyLCAxLjQzNTI0MzQ4NzM1ODA5MzNdLCBbMTY2Mzc1NTYyOS45NTcxMTM1LCAxNDQ5OCwgMS4yNTg0NDQ1NDc2NTMxOTgyXSwgWzE2NjM3NTU2MzAuMzYyODM1LCAxNDU0MiwgMS4yNTI2NzkzNDc5OTE5NDM0XSwgWzE2NjM3NTU2MzEuNjY1ODU3LCAxNDY5NiwgMS40NTg3MjI3MTA2MDk0MzZdLCBbMTY2Mzc1NTYzMi4zNzQ3ODUsIDE0NzYyLCAxLjQyNjMxMDg5Njg3MzQ3NDFdLCBbMTY2Mzc1NTYzMy40Mjc3MjIyLCAxNDg3MiwgMS4yODg5NjkwMzk5MTY5OTIyXSwgWzE2NjM3NTU2MzMuNTY4OTY3MywgMTQ4OTQsIDEuMjUxNzU4NTc1NDM5NDUzMV0sIFsxNjYzNzU1NjMzLjcxMzY4MDcsIDE0OTE2LCAxLjM4ODE0NDI1NDY4NDQ0ODJdLCBbMTY2Mzc1NTYzNC4xMjQzODk0LCAxNDk4MiwgMS4yNjE1NDQ5NDI4NTU4MzVdLCBbMTY2Mzc1NTYzNC40NTU3NDM4LCAxNTAyNiwgMS4yNDIyNTk4NjAwMzg3NTczXSwgWzE2NjM3NTU2MzQuNTkwMzc4OCwgMTUwNDgsIDEuNDQ3OTgzOTgwMTc4ODMzXSwgWzE2NjM3NTU2MzQuODM0MTgwOCwgMTUwNzAsIDEuMjY0NDIxNzAxNDMxMjc0NF0sIFsxNjYzNzU1NjM1LjYwOTIxODgsIDE1MTM2LCAxLjI3MzUzNzI3ODE3NTM1NF0sIFsxNjYzNzU1NjM2Ljc5MDI5ODcsIDE1MjQ2LCAxLjkxODg1MDg5ODc0MjY3NThdLCBbMTY2Mzc1NTYzNy4xMTMxMTksIDE1MjkwLCAxLjI4MDQ4NzA2MDU0Njg3NV0sIFsxNjYzNzU1NjM3LjU1NTc5OTIsIDE1MzM0LCAxLjM1MDA2NzM3NzA5MDQ1NF0sIFsxNjYzNzU1NjM3Ljc3MTcwODUsIDE1MzU2LCAxLjI4ODYwMDA4NzE2NTgzMjVdLCBbMTY2Mzc1NTYzOC4xMTc1OTYxLCAxNTQwMCwgMS4yNDc2NTI0MTE0NjA4NzY1XSwgWzE2NjM3NTU2MzguNTYzMTYwMiwgMTU0NjYsIDEuMTc3MTM5OTk3NDgyMjk5OF0sIFsxNjYzNzU1NjM4LjcwOTkwMTgsIDE1NDg4LCAxLjMwMjM2ODg3OTMxODIzNzNdLCBbMTY2Mzc1NTYzOC45OTU2MDk4LCAxNTUzMiwgMS4yMDY2NTc2NDgwODY1NDc5XSwgWzE2NjM3NTU2MzkuNTc2MDU3NywgMTU2MjAsIDEuMjM0NDk1NjM5ODAxMDI1NF0sIFsxNjYzNzU1NjM5LjcyMjMyLCAxNTY0MiwgMS41ODY2MDA0MjI4NTkxOTJdLCBbMTY2Mzc1NTY0MC4xMTUyNDAzLCAxNTY4NiwgMS40NjEyODQyNzk4MjMzMDMyXSwgWzE2NjM3NTU2NDAuNTM5MzUwNSwgMTU3NTIsIDEuMjM2MTI0OTkyMzcwNjA1NV0sIFsxNjYzNzU1NjQwLjk2MDg5ODQsIDE1Nzk2LCAxLjQ2NTEyMDA3NzEzMzE3ODddLCBbMTY2Mzc1NTY0MS4zODk5NjQ4LCAxNTg2MiwgMS4yNDA5Mzc1OTA1OTkwNl0sIFsxNjYzNzU1NjQxLjUyNjY5OTgsIDE1ODg0LCAxLjM4NDI5NTM0NDM1MjcyMjJdLCBbMTY2Mzc1NTY0MS45NjgxOTI2LCAxNTkyOCwgMS4zNzgwOTI1MjczODk1MjY0XSwgWzE2NjM3NTU2NDIuMjU1NjI3NiwgMTU5NzIsIDEuMzI5MzUyMjU5NjM1OTI1M10sIFsxNjYzNzU1NjQyLjM5NTIzNjMsIDE1OTk0LCAxLjI0NTY5ODIxMzU3NzI3MDVdLCBbMTY2Mzc1NTY0Mi44MjEwODU3LCAxNjAzOCwgMS41MDkzMjQxOTMwMDA3OTM1XSwgWzE2NjM3NTU2NDIuOTQ3NTkyNSwgMTYwNjAsIDEuMjI5NDM5NDk2OTk0MDE4Nl0sIFsxNjYzNzU1NjQzLjIyMTM1MTksIDE2MTA0LCAxLjE2OTcxMDM5NzcyMDMzN10sIFsxNjYzNzU1NjQzLjUwNjI5NzYsIDE2MTI2LCAxLjI1OTQwMDEyOTMxODIzNzNdLCBbMTY2Mzc1NTY0My42NTU0NzE4LCAxNjE0OCwgMS4yMTg2ODUyNjkzNTU3NzRdLCBbMTY2Mzc1NTY0NC43NDkwMTkxLCAxNjI1OCwgMS41MjY2OTA5NTk5MzA0Ml0sIFsxNjYzNzU1NjQ1LjcyNDQxNzIsIDE2MzQ2LCAxLjIwOTcxMzY5NzQzMzQ3MTddLCBbMTY2Mzc1NTY0NS45NDM2NjQ4LCAxNjM2OCwgMS4yNzIzNTI0NTcwNDY1MDg4XSwgWzE2NjM3NTU2NDYuMTYyMDEwNCwgMTYzOTAsIDEuMzM4NjY4NzA0MDMyODk4XSwgWzE2NjM3NTU2NDcuODU1MzIyNiwgMTY2MzIsIDEuNDQ2NTc3Nzg3Mzk5MjkyXSwgWzE2NjM3NTU2NDcuOTk4NjI0MywgMTY2NTQsIDEuMzUyMDk4MTA3MzM3OTUxN10sIFsxNjYzNzU1NjQ4LjUzNjU5NDYsIDE2Njk4LCAxLjI0ODgxODI3ODMxMjY4M10sIFsxNjYzNzU1NjQ5LjcyNTcxLCAxNjgwOCwgMS4zMTQ3OTI2MzMwNTY2NDA2XSwgWzE2NjM3NTU2NDkuOTc5NDc0OCwgMTY4MzAsIDEuMzY1NTEwODIxMzQyNDY4M10sIFsxNjYzNzU1NjUwLjE4MjE2NTYsIDE2ODUyLCAxLjI2ODEzMDA2NDAxMDYyMDFdLCBbMTY2Mzc1NTY1MC43MjkxMzcyLCAxNjkxOCwgMS4yMjgzNTcwNzY2NDQ4OTc1XSwgWzE2NjM3NTU2NTAuODcyOTA1NSwgMTY5NDAsIDEuNDE2MTMzOTk5ODI0NTI0XSwgWzE2NjM3NTU2NTEuMzIzOTczNywgMTcwMDYsIDEuMjQ3NzI5NTM5ODcxMjE1OF0sIFsxNjYzNzU1NjUxLjc0NjUyOCwgMTcwNzIsIDEuMzQ4ODQxNzg2Mzg0NTgyNV0sIFsxNjYzNzU1NjUxLjkwODkyNjUsIDE3MDk0LCAxLjI0MzIyNzAwNTAwNDg4MjhdLCBbMTY2Mzc1NTY1Mi4yODUyMDM3LCAxNzEzOCwgMS4yMDY0OTA5OTM0OTk3NTU5XSwgWzE2NjM3NTU2NTIuNDgxNDQwMywgMTcxNjAsIDEuMjc4NjcyNTc1OTUwNjIyNl0sIFsxNjYzNzU1NjUyLjY4MDE5OCwgMTcxODIsIDEuMjA1NjgyOTkyOTM1MTgwN10sIFsxNjYzNzU1NjUyLjgxNjE3MSwgMTcyMDQsIDEuMjA2NzA1Njg5NDMwMjM2OF0sIFsxNjYzNzU1NjUyLjk2NzcwOTUsIDE3MjI2LCAxLjMwOTI3Mjc2NjExMzI4MTJdLCBbMTY2Mzc1NTY1NC4yMTk2MDM1LCAxNzM1OCwgMS40NTU3MTQ5NDEwMjQ3ODAzXSwgWzE2NjM3NTU2NTQuOTQxMjc1LCAxNzQyNCwgMS4yMDgxNjkxMDI2Njg3NjIyXSwgWzE2NjM3NTU2NTUuMjM4NTQzLCAxNzQ2OCwgMS4yNTQ3MjY2NDgzMzA2ODg1XSwgWzE2NjM3NTU2NTUuNTQwOTQzMSwgMTc1MTIsIDEuMjcyNjM5MzkzODA2NDU3NV0sIFsxNjYzNzU1NjU2LjEzNzA5NzQsIDE3NjAwLCAxLjI0Nzg5NzUwNTc2MDE5MjldLCBbMTY2Mzc1NTY1Ni44ODY5NTUsIDE3NzEwLCAxLjI3NzQwNzA1MDEzMjc1MTVdLCBbMTY2Mzc1NTY1Ny4wMjUzMzgsIDE3NzMyLCAxLjI2NTAzMjA1Mjk5Mzc3NDRdLCBbMTY2Mzc1NTY1Ny4xNjc0OTQsIDE3NzU0LCAxLjIxMTQxNzE5ODE4MTE1MjNdLCBbMTY2Mzc1NTY1Ny40MTQ1MzMsIDE3Nzc2LCAxLjE4ODM3MzkyMzMwMTY5NjhdLCBbMTY2Mzc1NTY1OC4xOTM2NjU1LCAxNzg0MiwgMS4xNzk3MTE5Mzc5MDQzNThdLCBbMTY2Mzc1NTY1OS40MzYwMTYsIDE4MDE4LCAxLjI5MzY2ODc0Njk0ODI0MjJdLCBbMTY2Mzc1NTY1OS41ODQwMzk3LCAxODA0MCwgMS40NTYxNTQ5NDI1MTI1MTIyXSwgWzE2NjM3NTU2NTkuODkyMTgxNCwgMTgwODQsIDEuNjk1NDM4NTA0MjE5MDU1Ml0sIFsxNjYzNzU1NjYwLjMxODM2MiwgMTgxMjgsIDEuMjUwOTAwNjI2MTgyNTU2Ml0sIFsxNjYzNzU1NjYwLjc2NzM5OCwgMTgxOTQsIDEuNTg4NTQzNDE1MDY5NThdLCBbMTY2Mzc1NTY2MC45MzM3MTk2LCAxODIxNiwgMS4zNzUxODkzMDQzNTE4MDY2XSwgWzE2NjM3NTU2NjEuMjE1Mzc4NSwgMTgyMzgsIDEuMjc0MTYyNzY5MzE3NjI3XSwgWzE2NjM3NTU2NjIuMDQ4NjQxNywgMTgzMjYsIDEuMjIyNDQ2NDQxNjUwMzkwNl0sIFsxNjYzNzU1NjYyLjE5NzUxODMsIDE4MzQ4LCAxLjIzMjc4ODA4NTkzNzVdLCBbMTY2Mzc1NTY2Mi40OTkwMzcsIDE4MzkyLCAxLjIwMTIxMzcxNzQ2MDYzMjNdLCBbMTY2Mzc1NTY2Mi42NTM5NDQzLCAxODQxNCwgMS4zMzA0OTY0MzAzOTcwMzM3XSwgWzE2NjM3NTU2NjIuODAwOTA2NCwgMTg0MzYsIDEuMzg0NzkyMjA4NjcxNTY5OF0sIFsxNjYzNzU1NjYzLjE4ODU3MzgsIDE4NDgwLCAxLjI1ODI4MTk0NjE4MjI1MV0sIFsxNjYzNzU1NjYzLjM2NzU5MjMsIDE4NTAyLCAxLjI3NjI5NTE4NTA4OTExMTNdLCBbMTY2Mzc1NTY2My45MjkyMjMsIDE4NTY4LCAxLjI3MTI2ODM2Nzc2NzMzNF0sIFsxNjYzNzU1NjY0LjIxNjI0MTgsIDE4NjEyLCAxLjM3MTkzOTQyMDcwMDA3MzJdLCBbMTY2Mzc1NTY2NS4wNjg3NDU0LCAxODcyMiwgMS4zMDI0NzY4ODI5MzQ1NzAzXSwgWzE2NjM3NTU2NjUuMjI0MDA0MywgMTg3NDQsIDEuMjIwNzI2MDEzMTgzNTkzOF0sIFsxNjYzNzU1NjY1Ljc5NjgzOCwgMTg4MTAsIDEuMzU2NjYzODIzMTI3NzQ2Nl0sIFsxNjYzNzU1NjY2LjIzNjQ1OCwgMTg4NzYsIDEuMjU4Njg5NjQxOTUyNTE0Nl0sIFsxNjYzNzU1NjY2LjgzMTM4NTksIDE4OTQyLCAxLjIxMzgxMDMyNDY2ODg4NDNdLCBbMTY2Mzc1NTY2Ny4xMjM5ODQ2LCAxODk4NiwgMS4yNjYyOTA1NDU0NjM1NjJdLCBbMTY2Mzc1NTY2Ny44OTA3NDg1LCAxOTA1MiwgMS4yMTgxNDM5Mzk5NzE5MjM4XSwgWzE2NjM3NTU2NjguMDMyNTA1NSwgMTkwNzQsIDEuMjI4MjY5NDU3ODE3MDc3Nl0sIFsxNjYzNzU1NjY4Ljc0NjY0MzMsIDE5MTYyLCAxLjE5NTA5NDU4NTQxODcwMTJdLCBbMTY2Mzc1NTY2OC44ODQ0MjI1LCAxOTE4NCwgMS4yMTAxMDYxMzQ0MTQ2NzI5XSwgWzE2NjM3NTU2NzEuMTE3MzUyNSwgMTk0NzAsIDEuMzE2NzExOTAyNjE4NDA4Ml0sIFsxNjYzNzU1NjcxLjI2MTEzMiwgMTk0OTIsIDEuMjUyNDIyMzMyNzYzNjcxOV0sIFsxNjYzNzU1NjcxLjQwMDMxNTgsIDE5NTE0LCAxLjQ3MTY5MzM5NjU2ODI5ODNdLCBbMTY2Mzc1NTY3MS42OTM0OTAzLCAxOTU1OCwgMS4yMTI3NjA1Njc2NjUxXSwgWzE2NjM3NTU2NzIuMDk0MTcwOCwgMTk2MDIsIDEuMTkzNjk3MDk0OTE3Mjk3NF0sIFsxNjYzNzU1NjcyLjU2MTUyNywgMTk2NDYsIDEuMjkyNTQ0MDA3MzAxMzMwNl0sIFsxNjYzNzU1NjczLjE1MTExMTgsIDE5NzEyLCAxLjIyNzU5NjUyMTM3NzU2MzVdLCBbMTY2Mzc1NTY3My40MjUyODcsIDE5NzU2LCAxLjIyNzgyODUwMjY1NTAyOTNdLCBbMTY2Mzc1NTY3My41NjM0ODEzLCAxOTc3OCwgMS4yODY5MDMyNjIxMzgzNjY3XSwgWzE2NjM3NTU2NzQuMjA3OTk2OCwgMTk4NDQsIDEuMjE0NzQwODcyMzgzMTE3N10sIFsxNjYzNzU1Njc0LjQxODg4MSwgMTk4NjYsIDEuMTk0NTQ3Mjk1NTcwMzczNV0sIFsxNjYzNzU1Njc0Ljg5OTYzOTEsIDE5OTEwLCAxLjI1NDcxNzM1MDAwNjEwMzVdLCBbMTY2Mzc1NTY3NS41MDc0MTI3LCAxOTk3NiwgMS4yMzg0NzE4NjU2NTM5OTE3XSwgWzE2NjM3NTU2NzUuNjQ5NjE1MywgMTk5OTgsIDEuMzIyODU1MjM0MTQ2MTE4Ml0sIFsxNjYzNzU1Njc1Ljk0NjA5NzksIDIwMDQyLCAxLjI5MDE1Njg0MTI3ODA3NjJdLCBbMTY2Mzc1NTY3Ni4xMDc0MTE5LCAyMDA2NCwgMS4yMTk5NDc4MTQ5NDE0MDYyXSwgWzE2NjM3NTU2NzYuNjgzMjIwNCwgMjAxMzAsIDEuMjc3MDc1NzY3NTE3MDg5OF0sIFsxNjYzNzU1Njc3LjM5NjIzODMsIDIwMjE4LCAxLjI2MzU2MTM2Nzk4ODU4NjRdLCBbMTY2Mzc1NTY3Ny41NTk2MTEsIDIwMjQwLCAxLjMxMDc0MDQ3MDg4NjIzMDVdLCBbMTY2Mzc1NTY3Ny45Njc2MTM1LCAyMDI4NCwgMS4xOTAyMTM0NDE4NDg3NTQ5XSwgWzE2NjM3NTU2NzguMzQ0MjQzMywgMjAzMjgsIDEuMjMwMjgyNDI1ODgwNDMyMV0sIFsxNjYzNzU1Njc4Ljk4OTI4MzMsIDIwNDE2LCAxLjIxNjA0MzcxMDcwODYxODJdLCBbMTY2Mzc1NTY3OS4xNDY2OTIzLCAyMDQzOCwgMS4xOTkwNzYyOTQ4OTg5ODY4XSwgWzE2NjM3NTU2NzkuNzY3MzUxOSwgMjA0ODIsIDEuNDAyMjMwOTc4MDEyMDg1XSwgWzE2NjM3NTU2ODAuMDA5MDYyMywgMjA1MDQsIDEuMjI3NzQxMDAzMDM2NDk5XSwgWzE2NjM3NTU2ODAuMjU0Mjk2LCAyMDUyNiwgMS4yMTM0OTU0OTI5MzUxODA3XSwgWzE2NjM3NTU2ODAuNTE5NDk3NCwgMjA1NDgsIDEuMjUyNDgzNjA2MzM4NTAxXSwgWzE2NjM3NTU2ODAuOTc4NTA0LCAyMDU5MiwgMS4zNTE5NTQ0NjAxNDQwNDNdLCBbMTY2Mzc1NTY4MS41ODA0NTYzLCAyMDY4MCwgMS40OTE1NTYxNjc2MDI1MzldLCBbMTY2Mzc1NTY4MS44NTkwMzI5LCAyMDcyNCwgMS4yMTE1MTY4NTcxNDcyMTY4XSwgWzE2NjM3NTU2ODEuOTk3MTI1OSwgMjA3NDYsIDEuMjM5MDA0NzMxMTc4MjgzN10sIFsxNjYzNzU1NjgyLjQzNzI1MjUsIDIwODEyLCAxLjI5MDA1NzQyMDczMDU5MDhdLCBbMTY2Mzc1NTY4My4xOTYzODEsIDIwOTAwLCAxLjIyMzkzNTI0NjQ2NzU5MDNdLCBbMTY2Mzc1NTY4My42MzM3NDY2LCAyMDk2NiwgMS4xODU2Mjk5NjM4NzQ4MTddLCBbMTY2Mzc1NTY4NC40NjAwMDgxLCAyMTAzMiwgMS40MjY1NzYxMzc1NDI3MjQ2XSwgWzE2NjM3NTU2ODQuNjcyMDkzNCwgMjEwNTQsIDEuNDU5MzY1OTYzOTM1ODUyXSwgWzE2NjM3NTU2ODUuMzg5OTA3NCwgMjExNDIsIDEuMjE5NTM5NjQyMzMzOTg0NF0sIFsxNjYzNzU1Njg1LjY4OTEzMDUsIDIxMTg2LCAxLjIyODA0MjEyNTcwMTkwNDNdLCBbMTY2Mzc1NTY4NS44MjI5MjA4LCAyMTIwOCwgMS4zNTU2NjQwMTQ4MTYyODQyXSwgWzE2NjM3NTU2ODYuMTE0OTAzNSwgMjEyNTIsIDEuMzE3OTA4MDQ4NjI5NzYwN10sIFsxNjYzNzU1Njg2LjQ2MDk3MTQsIDIxMjk2LCAxLjI3OTA3NDY2ODg4NDI3NzNdLCBbMTY2Mzc1NTY4Ni43MTc2ODQ3LCAyMTMxOCwgMS4yNDA0NjU2NDEwMjE3Mjg1XSwgWzE2NjM3NTU2ODcuNDQ2MTQxLCAyMTM4NCwgMS4zMzk2MDM5MDA5MDk0MjM4XSwgWzE2NjM3NTU2ODguMTc4NTMzNiwgMjE0OTQsIDEuMTU5NDgzMTk0MzUxMTk2M10sIFsxNjYzNzU1Njg4LjQ5NTM3OTIsIDIxNTM4LCAxLjIzMzcwNzY2NjM5NzA5NDddLCBbMTY2Mzc1NTY4OC43OTU4MTIsIDIxNTYwLCAxLjE3NjQxNzExMjM1MDQ2MzldLCBbMTY2Mzc1NTY4OS4wNzUyOTEsIDIxNjA0LCAxLjQ3MzQyNzI5NTY4NDgxNDVdLCBbMTY2Mzc1NTY4OS4yOTg1MDcyLCAyMTYyNiwgMS4yMDk1ODk5NTgxOTA5MThdLCBbMTY2Mzc1NTY5MC4yMDY4MjksIDIxNzE0LCAxLjIwMTg0ODE0OTI5OTYyMTZdLCBbMTY2Mzc1NTY5MC44NzUzMzAyLCAyMTgwMiwgMS4yODUzNzYzMTAzNDg1MTA3XSwgWzE2NjM3NTU2OTEuMTU5OTI2NCwgMjE4NDYsIDEuMTQzMzQ3NTAxNzU0NzYwN10sIFsxNjYzNzU1NjkxLjUzOTAzLCAyMTg5MCwgMS4yMzcxNjU2ODk0NjgzODM4XSwgWzE2NjM3NTU2OTEuODM0MTU2LCAyMTkzNCwgMS4xNjk2NTkzNzYxNDQ0MDkyXSwgWzE2NjM3NTU2OTIuMTE2NjkyLCAyMTk3OCwgMS4yNDYyNzY5NzQ2NzgwMzk2XSwgWzE2NjM3NTU2OTIuNDcwMDgzLCAyMjAwMCwgMS4yMjEzMDAzNjM1NDA2NDk0XSwgWzE2NjM3NTU2OTIuOTAwMzkyMywgMjIwNjYsIDEuMzQ2NjA5NTkyNDM3NzQ0MV0sIFsxNjYzNzU1NjkzLjAzMzA5NDIsIDIyMDg4LCAxLjI4MTM5ODc3MzE5MzM1OTRdLCBbMTY2Mzc1NTY5My4zMzA1OTcyLCAyMjExMCwgMS4zNDA5ODg2MzYwMTY4NDU3XSwgWzE2NjM3NTU2OTMuNjEwOTY1NSwgMjIxNTQsIDEuMjM0MzE3Nzc5NTQxMDE1Nl0sIFsxNjYzNzU1Njk0LjQ1OTE3OTksIDIyMjY0LCAxLjIyNzQ5MTYxNzIwMjc1ODhdLCBbMTY2Mzc1NTY5NC43NDQwNjA1LCAyMjMwOCwgMS4xOTEwNzM4OTQ1MDA3MzI0XSwgWzE2NjM3NTU2OTUuMjIzODg3MiwgMjIzNTIsIDEuNTMzODkzOTQyODMyOTQ2OF0sIFsxNjYzNzU1Njk1LjQzMDE1ODksIDIyMzc0LCAxLjQwOTk1MDk3MTYwMzM5MzZdLCBbMTY2Mzc1NTY5NS42MjA0MDU3LCAyMjM5NiwgMS4zMTEyOTMyNDQzNjE4Nzc0XSwgWzE2NjM3NTU2OTYuNjQwNjQyMiwgMjI1MDYsIDEuNDUzNDA3NDA2ODA2OTQ1OF0sIFsxNjYzNzU1Njk3LjI0MTUxNSwgMjI1OTQsIDEuMjY1NDMyMjM4NTc4Nzk2NF0sIFsxNjYzNzU1Njk3LjUyMTE0OTQsIDIyNjM4LCAxLjI1ODI2NTk3MjEzNzQ1MTJdLCBbMTY2Mzc1NTY5Ny42NzE0Mzk2LCAyMjY2MCwgMS4xNTkzODA3OTM1NzE0NzIyXSwgWzE2NjM3NTU2OTguNzk4NDQ0NywgMjI3OTIsIDEuNjAxMDcxOTUzNzczNDk4NV0sIFsxNjYzNzU1Njk4LjkzMzA3NzYsIDIyODE0LCAxLjYwMTIzMDE0NDUwMDczMjRdLCBbMTY2Mzc1NTY5OS4wNzQ0MjksIDIyODM2LCAxLjIyMzYyMDQxNDczMzg4NjddLCBbMTY2Mzc1NTY5OS4yMjcwNjMsIDIyODU4LCAxLjI1NTM3NDQzMTYxMDEwNzRdLCBbMTY2Mzc1NTY5OS4zNzM5ODksIDIyODgwLCAxLjE2NjY2NjE1MDA5MzA3ODZdLCBbMTY2Mzc1NTcwMC4yNjc5NDE3LCAyMjk2OCwgMS4yMTg2NTMyMDIwNTY4ODQ4XSwgWzE2NjM3NTU3MDAuNTcyNjkyNiwgMjMwMTIsIDEuMzE3NDgyNDcxNDY2MDY0NV0sIFsxNjYzNzU1NzAwLjcxNDQ3MjgsIDIzMDM0LCAxLjIyMjUyNTU5NjYxODY1MjNdLCBbMTY2Mzc1NTcwMS42ODI1MTY2LCAyMzE2NiwgMS4yNDYwNzQxOTk2NzY1MTM3XSwgWzE2NjM3NTU3MDEuODIxMTkyLCAyMzE4OCwgMS4xODk5MDcxOTMxODM4OTldLCBbMTY2Mzc1NTcwMi40MjA3NTg3LCAyMzI1NCwgMS4zNTA4MTAyODkzODI5MzQ2XSwgWzE2NjM3NTU3MDIuNzgxMDUxNiwgMjMyOTgsIDEuNDg3Mjc2OTExNzM1NTM0N10sIFsxNjYzNzU1NzAyLjk5MzQyMzcsIDIzMzIwLCAxLjI1NzkzODM4NTAwOTc2NTZdLCBbMTY2Mzc1NTcwMy4yMDA5NzgzLCAyMzM0MiwgMS4xODAwOTEwMjM0NDUxMjk0XSwgWzE2NjM3NTU3MDMuNTAyMjAyMywgMjMzODYsIDEuMTk3Mjc4MTQxOTc1NDAyOF0sIFsxNjYzNzU1NzA0LjA1MDU0MDcsIDIzNDUyLCAxLjI2MzM4NTg5MTkxNDM2NzddLCBbMTY2Mzc1NTcwNC4zMzI5MzIyLCAyMzQ5NiwgMS4yMDQzNTk2NTA2MTE4Nzc0XSwgWzE2NjM3NTU3MDQuNjQ0NzgzLCAyMzU0MCwgMS4yMzk4NjMzOTU2OTA5MThdLCBbMTY2Mzc1NTcwNC45MzgwODQ4LCAyMzU2MiwgMS4zMzg0MDIxNTIwNjE0NjI0XSwgWzE2NjM3NTU3MDUuMDgwNTMzNSwgMjM1ODQsIDEuMzMyNDMzNDYyMTQyOTQ0M10sIFsxNjYzNzU1NzA1LjI0MjM0NDEsIDIzNjA2LCAxLjE3ODAzNjA5MzcxMTg1M10sIFsxNjYzNzU1NzA1LjM5NzExMjEsIDIzNjI4LCAxLjQwMTA4NjU2ODgzMjM5NzVdLCBbMTY2Mzc1NTcwNS41NTE4MDY0LCAyMzY1MCwgMS4xODgyMzY1OTQyMDAxMzQzXSwgWzE2NjM3NTU3MDYuMTE0OTU0NSwgMjM3MTYsIDEuMjUyNjg4MDUwMjcwMDgwNl0sIFsxNjYzNzU1NzA2LjI1OTYzNCwgMjM3MzgsIDEuMzQ3NDM0NzU5MTQwMDE0Nl0sIFsxNjYzNzU1NzA2LjY1MTc2MywgMjM3ODIsIDEuNjg2MTIyNjU1ODY4NTMwM10sIFsxNjYzNzU1NzA2LjgzOTgwMzUsIDIzODA0LCAxLjIyMzAxMjQ0NzM1NzE3NzddLCBbMTY2Mzc1NTcwNy4wNzM0NTQ0LCAyMzgyNiwgMS4xOTk5NDUzMzA2MTk4MTJdLCBbMTY2Mzc1NTcwNy42MTI5NTQ5LCAyMzg5MiwgMS4xNTY5NjA3MjU3ODQzMDE4XSwgWzE2NjM3NTU3MDcuNzY0Mjk1NiwgMjM5MTQsIDEuMzA4NTUxNTQ5OTExNDk5XSwgWzE2NjM3NTU3MDcuOTMyNTk2MiwgMjM5MzYsIDEuMTg0NDY4NjI2OTc2MDEzMl0sIFsxNjYzNzU1NzA4LjY2NjE4NzMsIDI0MDI0LCAxLjE2NDg2NzQwMTEyMzA0NjldLCBbMTY2Mzc1NTcwOS45Njg3MDI2LCAyNDE3OCwgMS4xOTU0NzUxMDE0NzA5NDczXSwgWzE2NjM3NTU3MTAuMzU1MjA4OSwgMjQyMjIsIDEuNjI4ODc4ODMxODYzNDAzM10sIFsxNjYzNzU1NzEwLjY4MjM2ODgsIDI0MjY2LCAxLjIxNDg0OTIzMzYyNzMxOTNdLCBbMTY2Mzc1NTcxMC44MzQ1MTg0LCAyNDI4OCwgMS4yOTAxNzQyNDU4MzQzNTA2XSwgWzE2NjM3NTU3MTEuMDA5NjAxLCAyNDMxMCwgMS4zMTU0NTIwOTg4NDY0MzU1XSwgWzE2NjM3NTU3MTEuNjU1Mzk4LCAyNDM3NiwgMS4xODMyODc4NTg5NjMwMTI3XSwgWzE2NjM3NTU3MTIuMTI5Mzk1LCAyNDQyMCwgMS4yMDM4NTkwOTA4MDUwNTM3XSwgWzE2NjM3NTU3MTIuNTQ1NTg2MywgMjQ0NjQsIDEuNDA1MDU1MDQ2MDgxNTQzXSwgWzE2NjM3NTU3MTIuNzc4NDEwMiwgMjQ0ODYsIDEuMjI4MTg3MzIyNjE2NTc3MV0sIFsxNjYzNzU1NzEzLjI1MDUyODMsIDI0NTMwLCAxLjIzMDI3MTEwMDk5NzkyNDhdLCBbMTY2Mzc1NTcxNC4xMzU5Mjg2LCAyNDY0MCwgMS4yNzk5Mjc0OTIxNDE3MjM2XSwgWzE2NjM3NTU3MTQuNTMzNzY3MiwgMjQ2ODQsIDEuMjMwOTMwMjA5MTU5ODUxXSwgWzE2NjM3NTU3MTQuNzU1NTEyNywgMjQ3MDYsIDEuNDM2Mjg0NzgwNTAyMzE5M10sIFsxNjYzNzU1NzE1LjM5MTcwMjIsIDI0NzcyLCAxLjMwNDU2ODA1MjI5MTg3MDFdLCBbMTY2Mzc1NTcxNS42MzgyOTM3LCAyNDc5NCwgMS4yMTQwNzQ3MzA4NzMxMDhdLCBbMTY2Mzc1NTcxNi4xMDM1MjUyLCAyNDgzOCwgMS4yMDM3Mzg2ODk0MjI2MDc0XSwgWzE2NjM3NTU3MTYuMzI3OTUzMywgMjQ4NjAsIDEuMjI4OTU0NjcyODEzNDE1NV0sIFsxNjYzNzU1NzE2LjQ3OTQ4NTUsIDI0ODgyLCAxLjI3Mjk4MzkwODY1MzI1OTNdLCBbMTY2Mzc1NTcxNi42MzI2MTIsIDI0OTA0LCAxLjI4NzExODkxMTc0MzE2NF0sIFsxNjYzNzU1NzE2Ljc4ODg2MSwgMjQ5MjYsIDEuMjQyNzYxMjU0MzEwNjA4XSwgWzE2NjM3NTU3MTcuMDY5NDc2LCAyNDk3MCwgMS4zMTIwNzI2MzQ2OTY5NjA0XSwgWzE2NjM3NTU3MTcuMjA0NTM4OCwgMjQ5OTIsIDEuMTk2MzIzNjMzMTkzOTY5N10sIFsxNjYzNzU1NzE3LjM4NjExMDUsIDI1MDE0LCAxLjE4OTc5Mzk0NDM1ODgyNTddLCBbMTY2Mzc1NTcxOC4wNjEzMzY4LCAyNTA4MCwgMS42MTIwNzE2MzMzMzg5MjgyXSwgWzE2NjM3NTU3MTguNTIzNDk4OCwgMjUxNDYsIDEuMjc1MzYwNDY1MDQ5NzQzN10sIFsxNjYzNzU1NzE4Ljk2OTg5NSwgMjUyMTIsIDEuMjI2OTAyNjA0MTAzMDg4NF0sIFsxNjYzNzU1NzE5LjIyODA2OTMsIDI1MjM0LCAxLjIxNzg2NjMwMTUzNjU2XSwgWzE2NjM3NTU3MTkuNTA1MTcwNiwgMjUyNzgsIDEuMjA3ODc0MDU5Njc3MTI0XSwgWzE2NjM3NTU3MTkuNzk0NTA3MywgMjUzMjIsIDEuMjcwNjY4Mzg3NDEzMDI1XSwgWzE2NjM3NTU3MjAuMDU4MzM5OCwgMjUzNDQsIDEuMjAwOTA1MzIzMDI4NTY0NV0sIFsxNjYzNzU1NzIwLjE4OTIwNzYsIDI1MzY2LCAxLjI3MDMwODAxNzczMDcxM10sIFsxNjYzNzU1NzIwLjMyODQxNiwgMjUzODgsIDEuMTU3NDc4NDUxNzI4ODIwOF0sIFsxNjYzNzU1NzIxLjUyOTQ2OTcsIDI1NTQyLCAxLjIwNzMxMzc3NjAxNjIzNTRdLCBbMTY2Mzc1NTcyMS44OTQzODI1LCAyNTU4NiwgMS4yMjEwMTcxMjIyNjg2NzY4XSwgWzE2NjM3NTU3MjIuMTk3NDE2NSwgMjU2MzAsIDEuMjQ5ODQ2MjIwMDE2NDc5NV0sIFsxNjYzNzU1NzIyLjczODcxMzUsIDI1Njc0LCAxLjYyMzg3NzQwNjEyMDMwMDNdLCBbMTY2Mzc1NTcyMi45ODg0MjU1LCAyNTY5NiwgMS4zMDMyMzg5ODc5MjI2Njg1XSwgWzE2NjM3NTU3MjQuMzYzNTMzMywgMjU4MjgsIDEuMjE2MDc0MjI4Mjg2NzQzMl0sIFsxNjYzNzU1NzI0LjU3Njk2NDksIDI1ODUwLCAxLjE3Mjc2MjUxMzE2MDcwNTZdLCBbMTY2Mzc1NTcyNS4wNTYzNDcxLCAyNTg5NCwgMS4yMDgzMTY5MjIxODc4MDUyXSwgWzE2NjM3NTU3MjUuMjYxNDEzMywgMjU5MTYsIDEuMjE4MTMxMDY1MzY4NjUyM10sIFsxNjYzNzU1NzI1LjQ3NDY3MzUsIDI1OTM4LCAxLjI1MzgyMzA0MTkxNTg5MzZdLCBbMTY2Mzc1NTcyNi4zNTA0ODIsIDI2MDI2LCAxLjQwMDI0MTczMjU5NzM1MV0sIFsxNjYzNzU1NzI2Ljc0MTM0MDQsIDI2MDcwLCAxLjI1Mjg5NTM1NTIyNDYwOTRdLCBbMTY2Mzc1NTcyNy4wMzYwMDQzLCAyNjExNCwgMS4yMzA0MjQ3NjE3NzIxNTU4XSwgWzE2NjM3NTU3MjcuMzQyNTE1NywgMjYxNTgsIDEuMjQyNDg5NTc2MzM5NzIxN10sIFsxNjYzNzU1NzI3LjU3NTk5ODUsIDI2MTgwLCAxLjE1MTQ2OTcwNzQ4OTAxMzddLCBbMTY2Mzc1NTcyNy44MDU1MzkxLCAyNjIwMiwgMS4yNDU1MDgzMTMxNzkwMTYxXSwgWzE2NjM3NTU3MjguNTAwNDE3NywgMjYyNjgsIDEuMTg2NDE5NDg2OTk5NTExN10sIFsxNjYzNzU1NzI4LjcyMzk2MTYsIDI2MjkwLCAxLjIwNTY1MjU5NDU2NjM0NTJdLCBbMTY2Mzc1NTcyOC45MzA2MDg3LCAyNjMxMiwgMS4yOTg2MTU4MTMyNTUzMV0sIFsxNjYzNzU1NzI5LjMzODQyMjUsIDI2MzU2LCAxLjI3NzQwMTY4NTcxNDcyMTddLCBbMTY2Mzc1NTcyOS41NDY0ODQ1LCAyNjM3OCwgMS40NTAyMjUxMTQ4MjIzODc3XSwgWzE2NjM3NTU3MzAuMTc2ODc3NSwgMjY0NDQsIDEuMTc1MzI0MDgyMzc0NTcyOF0sIFsxNjYzNzU1NzMxLjAxNDMwMDMsIDI2NTMyLCAxLjM2MDM3NTA0NjczMDA0MTVdLCBbMTY2Mzc1NTczMS4yMTIxNDg3LCAyNjU1NCwgMS4yNDAyNTcyNjMxODM1OTM4XSwgWzE2NjM3NTU3MzEuNDMwNDk2LCAyNjU3NiwgMS4yMzMyNjUxNjE1MTQyODIyXSwgWzE2NjM3NTU3MzEuNzQwMTc5NSwgMjY2MjAsIDEuMTY3MjM3MTYyNTkwMDI2OV0sIFsxNjYzNzU1NzMyLjMyNDA5NzksIDI2NzA4LCAxLjIzMDI3MDYyNDE2MDc2NjZdLCBbMTY2Mzc1NTczMi40NjMwNjIsIDI2NzMwLCAxLjMxODQ2NjE4NjUyMzQzNzVdLCBbMTY2Mzc1NTczMi42MTYwMDUyLCAyNjc1MiwgMS4zMDg1Nzk5MjE3MjI0MTJdLCBbMTY2Mzc1NTczMy4wNzU4MTcsIDI2ODE4LCAxLjMwNjI1MzY3MTY0NjExODJdLCBbMTY2Mzc1NTczNC4wODAxNjU0LCAyNjkyOCwgMS4zMTQ4Mjg1MTUwNTI3OTU0XSwgWzE2NjM3NTU3MzQuMzg0MjU1NiwgMjY5NzIsIDEuMTc5ODQyOTQ4OTEzNTc0Ml0sIFsxNjYzNzU1NzM1LjA4MTcwMTMsIDI3MDYwLCAxLjM0MTkyNDkwNTc3Njk3NzVdLCBbMTY2Mzc1NTczNS43ODk0NDY0LCAyNzEyNiwgMS4yMTM0MzkyMjYxNTA1MTI3XSwgWzE2NjM3NTU3MzYuMDgyNTExLCAyNzE0OCwgMS4yODg2NjM1MDY1MDc4NzM1XSwgWzE2NjM3NTU3MzYuOTM2MDc1LCAyNzI1OCwgMS4yMTA5MTYzOTk5NTU3NDk1XSwgWzE2NjM3NTU3MzcuMjQ1NTIyLCAyNzMwMiwgMS4xNjUxMTM4MDY3MjQ1NDgzXSwgWzE2NjM3NTU3MzcuNDkwMjI4MiwgMjczMjQsIDEuMTcxMjMxNjI3NDY0Mjk0NF0sIFsxNjYzNzU1NzM3LjY0MjM5NiwgMjczNDYsIDEuMjU0MDY4Mzc0NjMzNzg5XSwgWzE2NjM3NTU3MzcuODU1MTEwMiwgMjczNjgsIDEuMjc4OTI5OTQ4ODA2NzYyN10sIFsxNjYzNzU1NzM3Ljk4MDI3NiwgMjczOTAsIDEuMjE0MDYyNTcxNTI1NTczN10sIFsxNjYzNzU1NzM4LjM4NzAxOCwgMjc0MzQsIDEuNzY3MjM5NDUxNDA4Mzg2Ml0sIFsxNjYzNzU1NzM4Ljg0NTE4MjIsIDI3NTAwLCAxLjIxMDcxNzQzOTY1MTQ4OTNdLCBbMTY2Mzc1NTczOS4wMDg1NDM1LCAyNzUyMiwgMS4yMjUyNjU3NDEzNDgyNjY2XSwgWzE2NjM3NTU3MzkuMjg2MTc3OSwgMjc1NDQsIDEuNDc2OTk3ODUyMzI1NDM5NV0sIFsxNjYzNzU1NzM5LjQzNDQyNDIsIDI3NTY2LCAxLjE2NTI0OTcwNTMxNDYzNjJdLCBbMTY2Mzc1NTczOS43MjU1NDgzLCAyNzYxMCwgMS4yNjAxMDY1NjM1NjgxMTUyXSwgWzE2NjM3NTU3NDAuMjQ2NDkwNSwgMjc2NTQsIDEuMzAwODkyNDcyMjY3MTUwOV0sIFsxNjYzNzU1NzQwLjQwNjI3MzYsIDI3Njc2LCAxLjE5MjY3ODU3MDc0NzM3NTVdLCBbMTY2Mzc1NTc0MC44NjA5NDUyLCAyNzc0MiwgMS4yOTY1Njg5ODk3NTM3MjMxXSwgWzE2NjM3NTU3NDEuMTEwMjM2NiwgMjc3NjQsIDEuMjYzNDM3OTg2MzczOTAxNF0sIFsxNjYzNzU1NzQyLjA4NDE1MTcsIDI3ODk2LCAxLjI2NjMyODA5NjM4OTc3MDVdLCBbMTY2Mzc1NTc0Mi44MzM1MTc2LCAyNzk4NCwgMS4zMDAwODkzNTkyODM0NDczXSwgWzE2NjM3NTU3NDQuMTA1ODMwNCwgMjgwOTQsIDEuMTkwMDg2NzIyMzczOTYyNF0sIFsxNjYzNzU1NzQ0LjI4MjkyOTIsIDI4MTE2LCAxLjQ5MTM4NjE3NTE1NTYzOTZdLCBbMTY2Mzc1NTc0NC40MzYwNTUsIDI4MTM4LCAxLjIxMTkzNDkyNDEyNTY3MTRdLCBbMTY2Mzc1NTc0NS4wMTEzOTI0LCAyODIyNiwgMS4zOTgwNzAwOTY5Njk2MDQ1XSwgWzE2NjM3NTU3NDUuNDI4NjY3NSwgMjgyOTIsIDEuMjMyMTg0MDUyNDY3MzQ2Ml0sIFsxNjYzNzU1NzQ2LjIxNDcwNSwgMjg0MDIsIDEuMzc5MjY1Nzg1MjE3Mjg1Ml0sIFsxNjYzNzU1NzQ2Ljc2NDAzNzQsIDI4NDY4LCAxLjIwNjE0Nzc4OTk1NTEzOTJdLCBbMTY2Mzc1NTc0Ny44ODUyODc1LCAyODU3OCwgMS4yMTIzNzczMDk3OTkxOTQzXSwgWzE2NjM3NTU3NDguMTE1NzUxLCAyODYwMCwgMS4yMzQ0OTM5NzA4NzA5NzE3XSwgWzE2NjM3NTU3NDguODA5MjkzNywgMjg2NjYsIDEuMjA4Nzg2OTY0NDE2NTA0XSwgWzE2NjM3NTU3NDkuNTgzNDk3OCwgMjg3NTQsIDEuNjk4MDg5NDgwNDAwMDg1NF0sIFsxNjYzNzU1NzUwLjQzNDU5MSwgMjg4NDIsIDEuMzM1OTYyODkxNTc4Njc0M10sIFsxNjYzNzU1NzUxLjE0ODM2NCwgMjg5NTIsIDEuMzg4NTM0NTQ1ODk4NDM3NV0sIFsxNjYzNzU1NzUxLjg3NTEwNDQsIDI5MDYyLCAxLjI5NzA0ODgwNzE0NDE2NV0sIFsxNjYzNzU1NzUyLjM2NDczODIsIDI5MTA2LCAxLjE2NzEyMzA3OTI5OTkyNjhdLCBbMTY2Mzc1NTc1Mi43NzkzMzYsIDI5MTcyLCAxLjE3OTE2MjUwMjI4ODgxODRdLCBbMTY2Mzc1NTc1Mi45MTUzMDM3LCAyOTE5NCwgMS4yMDU5NzYzNjY5OTY3NjUxXSwgWzE2NjM3NTU3NTMuNDIxMTY1NSwgMjkyMzgsIDEuMjQwMTMxNzM1ODAxNjk2OF0sIFsxNjYzNzU1NzU0LjczMDMzNzYsIDI5MzkyLCAxLjE4NTQ4MzgxMzI4NTgyNzZdLCBbMTY2Mzc1NTc1Ni4zODMxNDY1LCAyOTU5MCwgMS4yNDg4NjA0Nzg0MDExODRdLCBbMTY2Mzc1NTc1Ni41MjcwMjc0LCAyOTYxMiwgMS4yMzcxOTg3MTA0NDE1ODk0XSwgWzE2NjM3NTU3NTcuMDE3NTMyLCAyOTY1NiwgMS4xODM5NTY1MDM4NjgxMDNdLCBbMTY2Mzc1NTc1Ny4xNjU0MzU4LCAyOTY3OCwgMS4xNzU5OTMwODQ5MDc1MzE3XSwgWzE2NjM3NTU3NTcuNTcyMDkwOSwgMjk3NDQsIDEuMjIyMzYyMjc5ODkxOTY3OF0sIFsxNjYzNzU1NzU3LjkyMzQwNDcsIDI5NzY2LCAxLjI4NzAwMTcyOTAxMTUzNTZdLCBbMTY2Mzc1NTc1OC4yMDAxOTgyLCAyOTgxMCwgMS4zOTk0NjY3NTMwMDU5ODE0XSwgWzE2NjM3NTU3NTguOTc0NDk2OCwgMjk4OTgsIDEuNDMxNjYxMTI4OTk3ODAyN10sIFsxNjYzNzU1NzU5LjI1MDUxNjIsIDI5OTQyLCAxLjI5ODU5MDg5ODUxMzc5NF0sIFsxNjYzNzU1NzYwLjAxMDU5MSwgMzAwMzAsIDEuMTY3NTAwOTcyNzQ3ODAyN10sIFsxNjYzNzU1NzYwLjE1MzU4OSwgMzAwNTIsIDEuMTg3MzQ2Njk2ODUzNjM3N10sIFsxNjYzNzU1NzYwLjI5ODI0NzMsIDMwMDc0LCAxLjE2NzI3OTAwNTA1MDY1OTJdLCBbMTY2Mzc1NTc2MC42Mjg4MjI4LCAzMDA5NiwgMS4yMTIwMTM0ODMwNDc0ODU0XSwgWzE2NjM3NTU3NjAuNzY3NjE2NSwgMzAxMTgsIDEuMjI4MDY1MDEzODg1NDk4XSwgWzE2NjM3NTU3NjEuNTUwMDI4NiwgMzAyMDYsIDEuMTgzNzIwMTExODQ2OTIzOF0sIFsxNjYzNzU1NzYxLjY5NzMxMTYsIDMwMjI4LCAxLjI0ODQyNDA1MzE5MjEzODddLCBbMTY2Mzc1NTc2MS45OTQzNDgsIDMwMjcyLCAxLjE3ODYxOTYyMzE4NDIwNF0sIFsxNjYzNzU1NzYyLjEzNTQ4MzcsIDMwMjk0LCAxLjE0NTUyNTMzNjI2NTU2NF0sIFsxNjYzNzU1NzYyLjkwMjYyNzUsIDMwMzgyLCAxLjI1NDYwMTI0MDE1ODA4MV0sIFsxNjYzNzU1NzYzLjgxMTM0OSwgMzA0OTIsIDEuMzY2MDAxMzY3NTY4OTY5N10sIFsxNjYzNzU1NzYzLjk1NzQ3NzYsIDMwNTE0LCAxLjE4NDIwNTc3MDQ5MjU1MzddLCBbMTY2Mzc1NTc2NC45OTE4MjEzLCAzMDYwMiwgMS4xODAyNzc3MDUxOTI1NjZdLCBbMTY2Mzc1NTc2NS41MTI2MDg4LCAzMDY2OCwgMS4yNTQ4MzQ3NzExNTYzMTFdLCBbMTY2Mzc1NTc2Ni4xNjAzNjQyLCAzMDc1NiwgMS4zNTQ0Njc5ODgwMTQyMjEyXSwgWzE2NjM3NTU3NjcuNDM0MzQwNywgMzA4ODgsIDEuMjM5NDcyNzQ2ODQ5MDZdLCBbMTY2Mzc1NTc2OS45MzcxNDMzLCAzMTE3NCwgMS4yNTU5MjY2MDkwMzkzMDY2XSwgWzE2NjM3NTU3NzAuMDcxOTgzLCAzMTE5NiwgMS4xODYzNTc2MTczNzgyMzQ5XSwgWzE2NjM3NTU3NzAuNjgwODgxNSwgMzEyODQsIDEuMTY4NzM5Njc2NDc1NTI1XSwgWzE2NjM3NTU3NzIuODIzMzkzOCwgMzE1MDQsIDEuMTg0ODkwMDMxODE0NTc1Ml0sIFsxNjYzNzU1NzczLjA3NTQwMjMsIDMxNTI2LCAxLjI4MjY2NzM5ODQ1Mjc1ODhdLCBbMTY2Mzc1NTc3NC4wMTA2NTc4LCAzMTYxNCwgMS4yMjQ3MDQwMjcxNzU5MDMzXSwgWzE2NjM3NTU3NzQuNDMwNzc4LCAzMTY1OCwgMS4yMTU2MTY5NDE0NTIwMjY0XSwgWzE2NjM3NTU3NzQuNjMxMzU4LCAzMTY4MCwgMS4yMjc2Njk1OTY2NzIwNThdLCBbMTY2Mzc1NTc3NC43OTU0NjMsIDMxNzAyLCAxLjE1NTEyMDYxMTE5MDc5Nl0sIFsxNjYzNzU1Nzc0LjkzNTUzOTUsIDMxNzI0LCAxLjIzNTE4NzI5MjA5ODk5OV0sIFsxNjYzNzU1Nzc1LjM3NDQ3ODYsIDMxNzkwLCAxLjE2MTM4MTQ4MzA3ODAwM10sIFsxNjYzNzU1Nzc1LjY1NTIzNTMsIDMxODM0LCAxLjI0MjMxODUxMTAwOTIxNjNdLCBbMTY2Mzc1NTc3NS44MDA4OTk3LCAzMTg1NiwgMS4yMzM3MzE2Mjc0NjQyOTQ0XSwgWzE2NjM3NTU3NzYuMTA2MzI3OCwgMzE5MDAsIDEuMjQ1MTI4NjMxNTkxNzk2OV0sIFsxNjYzNzU1Nzc2LjQwMDUyODcsIDMxOTQ0LCAxLjIxMjYzMjY1NjA5NzQxMl0sIFsxNjYzNzU1Nzc2LjU0NzAyMDIsIDMxOTY2LCAxLjE3OTYzOTIyMDIzNzczMl0sIFsxNjYzNzU1Nzc3LjA3NjE3NzYsIDMyMDEwLCAxLjIwMjUyNTAxOTY0NTY5MV0sIFsxNjYzNzU1Nzc3LjIxNDU0MjksIDMyMDMyLCAxLjI0OTY1NTAwODMxNjA0XSwgWzE2NjM3NTU3NzcuMzQ2NDY1LCAzMjA1NCwgMS4zMDczNzg2NDk3MTE2MDg5XSwgWzE2NjM3NTU3NzcuNTEwMzEzNSwgMzIwNzYsIDEuMTcwNzcxMzYwMzk3MzM4OV0sIFsxNjYzNzU1Nzc3Ljg2NDQ0OTMsIDMyMDk4LCAxLjIwOTkzMDY1ODM0MDQ1NF0sIFsxNjYzNzU1Nzc4LjAxMDc3NDQsIDMyMTIwLCAxLjI1OTg0MzcwNzA4NDY1NThdLCBbMTY2Mzc1NTc3OC4xNjA5OTUyLCAzMjE0MiwgMS4xODM1ODM3MzY0MTk2Nzc3XSwgWzE2NjM3NTU3NzguMzA1ODEzNiwgMzIxNjQsIDEuMjc0MDYzNDY3OTc5NDMxMl0sIFsxNjYzNzU1Nzc4Ljc5NjYwMzQsIDMyMjA4LCAxLjI0OTUxODI3NTI2MDkyNTNdLCBbMTY2Mzc1NTc3OS45OTg3MTY0LCAzMjM2MiwgMS4xNzk5NDk3NjA0MzcwMTE3XSwgWzE2NjM3NTU3ODAuNjA4NDcxOSwgMzI0MjgsIDEuMjYzMTI4NTE5MDU4MjI3NV0sIFsxNjYzNzU1NzgwLjc0MzU4OTIsIDMyNDUwLCAxLjE3NjA1MTQ5NzQ1OTQxMTZdLCBbMTY2Mzc1NTc4MS4wMzE4NTMyLCAzMjQ5NCwgMS4xMjY5MTQ5NzgwMjczNDM4XSwgWzE2NjM3NTU3ODIuNDY0NzQ1LCAzMjY0OCwgMS4yMzM2NjQ2MzE4NDM1NjddLCBbMTY2Mzc1NTc4My4wMTUyMjYsIDMyNzM2LCAxLjE3OTg0MTc1NjgyMDY3ODddLCBbMTY2Mzc1NTc4My41MTEzNTk3LCAzMjc4MCwgMS41NjA5MDU4MTQxNzA4Mzc0XSwgWzE2NjM3NTU3ODMuNjUyNDc0MiwgMzI4MDIsIDEuMzY3NDA0MzQxNjk3NjkyOV0sIFsxNjYzNzU1Nzg0LjI2NDY3OCwgMzI4NjgsIDEuMjU3MjA4ODI0MTU3NzE0OF0sIFsxNjYzNzU1Nzg0LjU0OTQ0MywgMzI4OTAsIDEuMjMzNjU1NTcxOTM3NTYxXSwgWzE2NjM3NTU3ODUuNDgxNzIzMywgMzI5NzgsIDEuMjcyNjIxNzUwODMxNjA0XSwgWzE2NjM3NTU3ODUuNjI1NTAxNiwgMzMwMDAsIDEuMjExMjA5Mjk3MTgwMTc1OF0sIFsxNjYzNzU1Nzg1Ljc2ODc4NjQsIDMzMDIyLCAxLjE3Mzg1MTAxMzE4MzU5MzhdLCBbMTY2Mzc1NTc4Ni4wNDk0MzMyLCAzMzA2NiwgMS4xOTQ2NjY4NjI0ODc3OTNdLCBbMTY2Mzc1NTc4Ny4xOTg0OTc1LCAzMzIyMCwgMS4yMzU0NDQ3ODQxNjQ0Mjg3XSwgWzE2NjM3NTU3ODcuMzQwMjY0OCwgMzMyNDIsIDEuMzE4MTU4OTg0MTg0MjY1MV0sIFsxNjYzNzU1Nzg3LjQ4NDM4OSwgMzMyNjQsIDEuNDcxMDUwODU4NDk3NjE5Nl0sIFsxNjYzNzU1Nzg3LjkwNTQ5OSwgMzMzMDgsIDEuMzYyODE2NjkxMzk4NjIwNl0sIFsxNjYzNzU1Nzg4LjE4MjQ3NiwgMzMzNTIsIDEuMTgxMjY0MTYyMDYzNTk4Nl0sIFsxNjYzNzU1Nzg4LjMyNTI5OCwgMzMzNzQsIDEuMTg5NTIyOTgxNjQzNjc2OF0sIFsxNjYzNzU1Nzg5LjQ1MjUxMTgsIDMzNTI4LCAxLjE4MjM1MTgyNzYyMTQ2XSwgWzE2NjM3NTU3OTAuMjkxODY3LCAzMzYzOCwgMS4xNTc4MDQ5NjU5NzI5MDA0XSwgWzE2NjM3NTU3OTEuNDIzODYyNSwgMzM3NzAsIDEuNDQ0NzcyMzYyNzA5MDQ1NF0sIFsxNjYzNzU1NzkxLjg1MDI2NywgMzM4MzYsIDEuMTMxOTE5OTgwMDQ5MTMzM10sIFsxNjYzNzU1NzkxLjk4ODg3NSwgMzM4NTgsIDEuMzQyMjY1NDg2NzE3MjI0MV0sIFsxNjYzNzU1NzkyLjU0MTMzNTgsIDMzOTI0LCAxLjE4NDAwMzM1MzExODg5NjVdLCBbMTY2Mzc1NTc5My42NTQxNDc5LCAzNDA3OCwgMS4xNzkyMjA5MTQ4NDA2OTgyXSwgWzE2NjM3NTU3OTQuMjI5NDQ1MiwgMzQxNDQsIDEuMjM1NDgyMjE1ODgxMzQ3N10sIFsxNjYzNzU1Nzk0LjM4MTQwMTMsIDM0MTY2LCAxLjM4ODcyNzE4ODExMDM1MTZdLCBbMTY2Mzc1NTc5NC41MTM0MjA4LCAzNDE4OCwgMS4yNjM0ODM3NjI3NDEwODg5XSwgWzE2NjM3NTU3OTYuMDM1MjQyMywgMzQzODYsIDEuMTcxMDg3MTQ1ODA1MzU4OV0sIFsxNjYzNzU1Nzk2Ljc4NzAxNSwgMzQ0NTIsIDEuMTY2OTU0ODc0OTkyMzcwNl0sIFsxNjYzNzU1Nzk3LjAxMjczMzcsIDM0NDc0LCAxLjUxODM3MDk4NTk4NDgwMjJdLCBbMTY2Mzc1NTc5Ny40OTE5NTQzLCAzNDUxOCwgMS4yMzMwNTQzOTk0OTAzNTY0XSwgWzE2NjM3NTU3OTcuOTU2NjM2MiwgMzQ1NjIsIDEuMjQwMzk4NzY0NjEwMjkwNV0sIFsxNjYzNzU1Nzk4LjIyNjY1NywgMzQ1ODQsIDEuMjI0Nzc1NjcxOTU4OTIzM10sIFsxNjYzNzU1Nzk4LjQyOTE4MjgsIDM0NjA2LCAxLjQwODEyNzE4ODY4MjU1NjJdLCBbMTY2Mzc1NTc5OC41OTM3NTQ1LCAzNDYyOCwgMS4yMTE2MTM4OTM1MDg5MTExXSwgWzE2NjM3NTU3OTkuMDQ4NDYwNSwgMzQ2OTQsIDEuMzQ5NTkzNTIwMTY0NDg5N10sIFsxNjYzNzU1Nzk5LjM1MTk5NTcsIDM0NzM4LCAxLjI0MTM1MTYwNDQ2MTY3XSwgWzE2NjM3NTU3OTkuNjU1NjkwNywgMzQ3ODIsIDEuMTk1NTM0MzQ4NDg3ODU0XSwgWzE2NjM3NTU3OTkuODA1MTA5NSwgMzQ4MDQsIDEuMTc1MDAyNTc0OTIwNjU0M10sIFsxNjYzNzU1Nzk5Ljk1MDc0ODQsIDM0ODI2LCAxLjI3Nzc4MDY1MjA0NjIwMzZdLCBbMTY2Mzc1NTgwMC4zOTcyNjIzLCAzNDg5MiwgMS4xODcwNTE2NTM4NjE5OTk1XSwgWzE2NjM3NTU4MDEuMjM5NzQ0MiwgMzUwMDIsIDEuMTg4NzI5NTI0NjEyNDI2OF0sIFsxNjYzNzU1ODAyLjA4MjIzODcsIDM1MTEyLCAxLjM0NzAzNTA1MDM5MjE1MDldLCBbMTY2Mzc1NTgwMi4yMTc1Njc0LCAzNTEzNCwgMS4yNjU2MjU1OTYwNDY0NDc4XSwgWzE2NjM3NTU4MDIuMzcxNDk3OSwgMzUxNTYsIDEuMTQ2Njk2ODA1OTUzOTc5NV0sIFsxNjYzNzU1ODAzLjA3MTQ4MjcsIDM1MjQ0LCAxLjMwMDY5NzU2NTA3ODczNTRdLCBbMTY2Mzc1NTgwMy4yMDM3MTY1LCAzNTI2NiwgMS4yMTIxNTcyNDk0NTA2ODM2XSwgWzE2NjM3NTU4MDMuMzQ4NjA4MywgMzUyODgsIDEuNDA5NzEzNTA2Njk4NjA4NF0sIFsxNjYzNzU1ODA0Ljc0OTQ1NDMsIDM1NDY0LCAxLjIyNjI5ODkyODI2MDgwMzJdLCBbMTY2Mzc1NTgwNS4wMzQzNzYsIDM1NTA4LCAxLjE3NDcwOTU1ODQ4NjkzODVdLCBbMTY2Mzc1NTgwNS4zMDA3OTE3LCAzNTUzMCwgMS4xOTAwNjg5NjAxODk4MTkzXSwgWzE2NjM3NTU4MDUuNjA0MzM4NiwgMzU1NzQsIDEuMTkxOTY2ODkxMjg4NzU3M10sIFsxNjYzNzU1ODA2LjU2Mjk1NDIsIDM1NzA2LCAxLjMxOTAwMTE5NzgxNDk0MTRdLCBbMTY2Mzc1NTgwNi45ODQyMDM4LCAzNTc1MCwgMS4yNDg0MjYwNzk3NTAwNjFdLCBbMTY2Mzc1NTgwNy4yODUwNzExLCAzNTc5NCwgMS4xNzI0NTY1MDI5MTQ0Mjg3XSwgWzE2NjM3NTU4MDcuNDI5MTE4NiwgMzU4MTYsIDEuMjQxMzAyMDEzMzk3MjE2OF0sIFsxNjYzNzU1ODA4LjQzNzU5MDgsIDM1OTA0LCAxLjE1MTA0MjM0MjE4NTk3NDFdLCBbMTY2Mzc1NTgwOC45OTk4MjQ1LCAzNTk5MiwgMS4yMDkwMDQ4Nzg5OTc4MDI3XSwgWzE2NjM3NTU4MDkuMTQwMTUyLCAzNjAxNCwgMS4zMDYwMjIyODY0MTUxXSwgWzE2NjM3NTU4MDkuMjgyMTU0MywgMzYwMzYsIDEuMTc4OTUwNjY3MzgxMjg2Nl0sIFsxNjYzNzU1ODA5LjkwMTcwNjUsIDM2MTAyLCAxLjE0NjU1ODQwMzk2ODgxMV0sIFsxNjYzNzU1ODEwLjA0NjYwNiwgMzYxMjQsIDEuMjA4MDI2NzY2Nzc3MDM4Nl0sIFsxNjYzNzU1ODExLjAwMjY4LCAzNjIzNCwgMS4xODkyMjg2NTM5MDc3NzU5XSwgWzE2NjM3NTU4MTEuMTc0MTQ1MiwgMzYyNTYsIDEuMTYxMDM3NTY0Mjc3NjQ5XSwgWzE2NjM3NTU4MTEuNDgwODMyLCAzNjMwMCwgMS4zNTcwOTMyMTQ5ODg3MDg1XSwgWzE2NjM3NTU4MTEuODczNzcyNCwgMzYzNDQsIDEuMjEwMDYzMzM4Mjc5NzI0MV0sIFsxNjYzNzU1ODEyLjAxNjI2OTcsIDM2MzY2LCAxLjQ0MDU5NTI2OTIwMzE4Nl0sIFsxNjYzNzU1ODEyLjE2MTYyMSwgMzYzODgsIDEuMjg1ODI3ODc1MTM3MzI5XSwgWzE2NjM3NTU4MTIuMzA4MjQwNywgMzY0MTAsIDEuMjc5Mzk4MjAyODk2MTE4Ml0sIFsxNjYzNzU1ODEyLjcyOTczOTIsIDM2NDU0LCAxLjIyNDU1MzEwODIxNTMzMl0sIFsxNjYzNzU1ODEzLjAzMTk4NjUsIDM2NDk4LCAxLjMwODcxMjQ4MjQ1MjM5MjZdLCBbMTY2Mzc1NTgxNC4wOTgzODEsIDM2NTg2LCAxLjIwODk4OTk3NzgzNjYwODldLCBbMTY2Mzc1NTgxNC40ODk0MTUsIDM2NjMwLCAxLjMxOTA2MjQ3MTM4OTc3MDVdLCBbMTY2Mzc1NTgxNC45MjMwMSwgMzY2NzQsIDEuMjkxNzM0NDU3MDE1OTkxMl0sIFsxNjYzNzU1ODE1LjU0MjQ2MzMsIDM2NzQwLCAxLjM5OTU5OTU1MjE1NDU0MV0sIFsxNjYzNzU1ODE1LjY4MDM0NTUsIDM2NzYyLCAxLjE3Mzg3MDgwMTkyNTY1OTJdLCBbMTY2Mzc1NTgxNi4yNTY0NTQyLCAzNjg1MCwgMS4yOTgyNDA1NDI0MTE4MDQyXSwgWzE2NjM3NTU4MTYuNzE2NzE5OSwgMzY5MTYsIDEuMjg1NTg4OTc5NzIxMDY5M10sIFsxNjYzNzU1ODE2Ljk4NjQyODcsIDM2OTYwLCAxLjM2NjQ2MzY2MTE5Mzg0NzddLCBbMTY2Mzc1NTgxNy4zMzYyMjc0LCAzNjk4MiwgMS4xNzM0MDIwNzA5OTkxNDU1XSwgWzE2NjM3NTU4MTcuNjI5MTE1MywgMzcwMjYsIDEuMTMzMTM3ODIyMTUxMTg0XSwgWzE2NjM3NTU4MTguMjUzMjg3MywgMzcwOTIsIDEuMjgzNTE0MDIyODI3MTQ4NF0sIFsxNjYzNzU1ODE4LjQxMDQ5NywgMzcxMTQsIDEuMjUzMzk5MzcyMTAwODNdLCBbMTY2Mzc1NTgxOC41NDkyNjUxLCAzNzEzNiwgMS4yMDUwOTgzOTA1NzkyMjM2XSwgWzE2NjM3NTU4MTguNzAxMzkyLCAzNzE1OCwgMS4zMDA2Mjk5NzM0MTE1Nl0sIFsxNjYzNzU1ODE5LjY0MDY4OTEsIDM3MjY4LCAxLjE5NzQ5NDE0OTIwODA2ODhdLCBbMTY2Mzc1NTgxOS43ODM0OTY0LCAzNzI5MCwgMS4yNTA0NDIzODU2NzM1MjNdLCBbMTY2Mzc1NTgyMC4xMTQ2NjcsIDM3MzEyLCAxLjIyMjI5Njk1MzIwMTI5NF0sIFsxNjYzNzU1ODIwLjQ1Mjk3NTUsIDM3MzU2LCAxLjMxMzI3Nzk1OTgyMzYwODRdLCBbMTY2Mzc1NTgyMC45MTg4MjMyLCAzNzQwMCwgMS4xNjc2NjUxMjM5Mzk1MTQyXSwgWzE2NjM3NTU4MjEuMTYwODE0NSwgMzc0MjIsIDEuMjMxNDA1NzM1MDE1ODY5MV0sIFsxNjYzNzU1ODIxLjYwOTcwMDcsIDM3NDY2LCAxLjIxMzU1NTIxNjc4OTI0NTZdLCBbMTY2Mzc1NTgyMS44NzY2MzM0LCAzNzUxMCwgMS4yNjkzODIxMTkxNzg3NzJdLCBbMTY2Mzc1NTgyMi4zNjI0NTA0LCAzNzU3NiwgMS4yNTM3MTkzMjk4MzM5ODQ0XSwgWzE2NjM3NTU4MjIuNjcyMzQ0MiwgMzc2MjAsIDEuMzU4MDU3ODU2NTU5NzUzNF0sIFsxNjYzNzU1ODIyLjk1NTAxMzUsIDM3NjQyLCAxLjE5NDM2NjIxNjY1OTU0Nl0sIFsxNjYzNzU1ODIzLjIyMTI1OSwgMzc2NjQsIDEuMjYyODM0NjY4MTU5NDg0OV0sIFsxNjYzNzU1ODIzLjM4NjYxMjIsIDM3Njg2LCAxLjE5MTg4OTA0NzYyMjY4MDddLCBbMTY2Mzc1NTgyNC40Njk1MTI1LCAzNzgxOCwgMS4xODI0Mjk3OTA0OTY4MjYyXSwgWzE2NjM3NTU4MjQuNjk0NzYwNiwgMzc4NDAsIDEuMjExMTM4NDg2ODYyMTgyNl0sIFsxNjYzNzU1ODI1LjM5NzY2OTgsIDM3OTA2LCAxLjE4NzYyNDU3MzcwNzU4MDZdLCBbMTY2Mzc1NTgyNS42NTQ3NjI1LCAzNzkyOCwgMS4yNDA5OTUwNDk0NzY2MjM1XSwgWzE2NjM3NTU4MjUuODMzNDk1OSwgMzc5NTAsIDEuMzExNDY3NDA5MTMzOTExMV0sIFsxNjYzNzU1ODI1Ljk3NzI3MTMsIDM3OTcyLCAxLjE2NjkzOTQ5Njk5NDAxODZdLCBbMTY2Mzc1NTgyNi42ODQ0NTYzLCAzODA4MiwgMS4yOTI0NzAzMzU5NjAzODgyXSwgWzE2NjM3NTU4MjcuOTc0MTQ4NSwgMzgyNTgsIDEuMjI3ODc1MjMyNjk2NTMzMl0sIFsxNjYzNzU1ODI4LjIyODE1MzcsIDM4MjgwLCAxLjIxNDU1MDI1NjcyOTEyNl0sIFsxNjYzNzU1ODI4LjkxMTY1ODUsIDM4MzY4LCAxLjMxNjQ5MDY1MDE3NzAwMl0sIFsxNjYzNzU1ODI5LjMzMDI4NjcsIDM4NDEyLCAxLjE2ODcxMzIxMjAxMzI0NDZdLCBbMTY2Mzc1NTgyOS43MzY2MjUyLCAzODQ3OCwgMS4yNjk0OTg1ODY2NTQ2NjNdLCBbMTY2Mzc1NTgyOS44NzI2Njk1LCAzODUwMCwgMS4zMjMxNDU2Mjc5NzU0NjM5XSwgWzE2NjM3NTU4MzAuMTY3MDQyNywgMzg1MjIsIDEuMjMwMDYyOTYxNTc4MzY5MV0sIFsxNjYzNzU1ODMwLjI5ODM5MjgsIDM4NTQ0LCAxLjMwODI5NTQ4ODM1NzU0NF0sIFsxNjYzNzU1ODMwLjU2ODg4ODcsIDM4NTg4LCAxLjE3NzE0NzAzMDgzMDM4MzNdLCBbMTY2Mzc1NTgzMC43MTE5NTgyLCAzODYxMCwgMS4yNDkzNjE1MTUwNDUxNjZdLCBbMTY2Mzc1NTgzMS41MjA1MDA0LCAzODY3NiwgMS4yNDkyOTYzMDc1NjM3ODE3XSwgWzE2NjM3NTU4MzIuNjgwNDIxOCwgMzg3ODYsIDEuMTc2NzE0Nzc3OTQ2NDcyMl0sIFsxNjYzNzU1ODMyLjkwNDQzODMsIDM4ODA4LCAxLjIxNTQ0NzA2ODIxNDQxNjVdLCBbMTY2Mzc1NTgzMy4zMjgzMTM4LCAzODg1MiwgMS4zNTIzNDU1ODU4MjMwNTldLCBbMTY2Mzc1NTgzNC4wMTEzNzAyLCAzODkxOCwgMS4xNDUwODMxODkwMTA2MjAxXSwgWzE2NjM3NTU4MzUuMjA3NzI3MiwgMzkwNzIsIDEuMTk1MTY4NDk1MTc4MjIyN10sIFsxNjYzNzU1ODM1LjM3NDQ3ODgsIDM5MDk0LCAxLjE5NzU4MjcyMTcxMDIwNV0sIFsxNjYzNzU1ODM1LjUzNDcyMTYsIDM5MTE2LCAxLjI0NTkwOTkyOTI3NTUxMjddLCBbMTY2Mzc1NTgzNi4wMDE1MTA0LCAzOTE4MiwgMS4xNzIzNjU5MDM4NTQzNzAxXSwgWzE2NjM3NTU4MzYuNTk2Mzk4OCwgMzkyNzAsIDEuMjIyOTY0MDQ4Mzg1NjIwMV0sIFsxNjYzNzU1ODM2LjczMDI4MiwgMzkyOTIsIDEuMjE3ODgzNzA2MDkyODM0NV0sIFsxNjYzNzU1ODM3LjAyMjQ0NjksIDM5MzE0LCAxLjIyODk3MTI0MjkwNDY2M10sIFsxNjYzNzU1ODM3LjcxMDU0NiwgMzkzODAsIDEuMjg0MTAwNjUxNzQxMDI3OF0sIFsxNjYzNzU1ODM3Ljk2MDkxMSwgMzk0MDIsIDEuMTY0OTAzNjQwNzQ3MDcwM10sIFsxNjYzNzU1ODM4LjM5Njk0MDIsIDM5NDQ2LCAxLjE1NjUxNTEyMTQ1OTk2MV0sIFsxNjYzNzU1ODM4LjY4Mjg3MzIsIDM5NDkwLCAxLjE2NTcxNDM4MzEyNTMwNTJdLCBbMTY2Mzc1NTgzOC45Njc3Nzk2LCAzOTUzNCwgMS4zMTQ2NjgwNTkzNDkwNl0sIFsxNjYzNzU1ODM5Ljc0OTI1MTQsIDM5NjIyLCAxLjIxNDQyMjU4MzU4MDAxN10sIFsxNjYzNzU1ODQwLjIwOTM3OSwgMzk2NjYsIDEuMTY1MzQ1MTkxOTU1NTY2NF0sIFsxNjYzNzU1ODQwLjQ0MzcwNSwgMzk2ODgsIDEuNDE1ODQ3ODk3NTI5NjAyXSwgWzE2NjM3NTU4NDEuMjMzMTI1NywgMzk3OTgsIDEuMzAzMTIyOTk3MjgzOTM1NV0sIFsxNjYzNzU1ODQxLjU1MzAzMDcsIDM5ODQyLCAxLjE3MDExMDEwNjQ2ODIwMDddLCBbMTY2Mzc1NTg0Mi4xMzEyNjczLCAzOTkzMCwgMS4xODkwMjY0NzQ5NTI2OTc4XSwgWzE2NjM3NTU4NDIuODUxNDk2NSwgNDAwMTgsIDEuMTQ4MTkxNjkwNDQ0OTQ2M10sIFsxNjYzNzU1ODQyLjk5ODMxNDksIDQwMDQwLCAxLjI1MzgxMzUwNTE3MjcyOTVdLCBbMTY2Mzc1NTg0NC4wNDE1ODcsIDQwMTI4LCAxLjI5OTY2MDkyMTA5NjgwMThdLCBbMTY2Mzc1NTg0NC44MDQ5NDc0LCA0MDE5NCwgMS4xNzk5MjUyMDMzMjMzNjQzXSwgWzE2NjM3NTU4NDUuMDIxOTU2NCwgNDAyMTYsIDEuMjQwNjIyMDQzNjA5NjE5MV0sIFsxNjYzNzU1ODQ1LjQzMDc3MjgsIDQwMjYwLCAxLjMyNDY2MTQ5MzMwMTM5MTZdLCBbMTY2Mzc1NTg0NS41NzQyNTA3LCA0MDI4MiwgMS4xOTk4MDU4NTU3NTEwMzc2XSwgWzE2NjM3NTU4NDUuODUyNTQ0OCwgNDAzMjYsIDEuMTgxNjExNjU3MTQyNjM5Ml0sIFsxNjYzNzU1ODQ1Ljk4ODU0MDQsIDQwMzQ4LCAxLjE4MjU3MTE3MjcxNDIzMzRdLCBbMTY2Mzc1NTg0Ni4xNDE5NjM1LCA0MDM3MCwgMS4yMDczMzgwOTQ3MTEzMDM3XSwgWzE2NjM3NTU4NDYuNDUzOTUxNiwgNDA0MTQsIDEuMTc3ODIxMTU5MzYyNzkzXSwgWzE2NjM3NTU4NDYuNjAzMTQ5NCwgNDA0MzYsIDEuMjA1ODY1MDI1NTIwMzI0N10sIFsxNjYzNzU1ODQ2Ljc0MTI4NiwgNDA0NTgsIDEuMTk2ODc3ODM3MTgxMDkxM10sIFsxNjYzNzU1ODQ3LjcxMTQ2MTUsIDQwNTkwLCAxLjIwMTIyMzg1MDI1MDI0NDFdLCBbMTY2Mzc1NTg0Ny44NTYyNjU4LCA0MDYxMiwgMS4yNjE3NTg0NDY2OTM0MjA0XSwgWzE2NjM3NTU4NDguMTM2MTIxLCA0MDYzNCwgMS4xNTg5OTMyNDQxNzExNDI2XSwgWzE2NjM3NTU4NDguMzkxNDEwOCwgNDA2NTYsIDEuMzg4Mjk3NDM4NjIxNTIxXSwgWzE2NjM3NTU4NDguNTU5MjcyNSwgNDA2NzgsIDEuMjIzNzE2NDk3NDIxMjY0Nl0sIFsxNjYzNzU1ODQ5LjIzMzMyNTcsIDQwNzQ0LCAxLjI1OTY5Njk2MDQ0OTIxODhdLCBbMTY2Mzc1NTg0OS43MDIwNjI2LCA0MDc4OCwgMS4xNzU4MTU0NjMwNjYxMDFdLCBbMTY2Mzc1NTg1MS4wMTc0NTgyLCA0MDk0MiwgMS4zNjM0OTI0ODg4NjEwODRdLCBbMTY2Mzc1NTg1MS45MTQzNTM0LCA0MTAzMCwgMS4yOTEzMzA4MTQzNjE1NzIzXSwgWzE2NjM3NTU4NTIuMTIxNDMzMywgNDEwNTIsIDEuNTA1OTM0MzU3NjQzMTI3NF0sIFsxNjYzNzU1ODUyLjM1NzcwMDYsIDQxMDc0LCAxLjI3NjE1NjE4NzA1NzQ5NTFdLCBbMTY2Mzc1NTg1Mi41NjEzMjI3LCA0MTA5NiwgMS4yMDY3ODQxMjkxNDI3NjEyXSwgWzE2NjM3NTU4NTMuMTgyMzk2NywgNDExODQsIDEuMzM3NDM2MDc5OTc4OTQyOV0sIFsxNjYzNzU1ODUzLjMyMTg2MjcsIDQxMjA2LCAxLjIxNDg2ODMwNzExMzY0NzVdLCBbMTY2Mzc1NTg1My42MjkyMjE3LCA0MTI1MCwgMS4yMTMxNjU5OTg0NTg4NjIzXSwgWzE2NjM3NTU4NTMuNzgwMTIxLCA0MTI3MiwgMS40MTQzMzY0NDI5NDczODc3XSwgWzE2NjM3NTU4NTQuMDQ3NDc3NSwgNDEzMTYsIDEuMTcyNjg3MjkyMDk4OTk5XSwgWzE2NjM3NTU4NTQuNDY3Mzc2NywgNDEzODIsIDEuMzg4NjIyMTY0NzI2MjU3M10sIFsxNjYzNzU1ODU1LjAyNTUyMjcsIDQxNDQ4LCAxLjIyOTU0MjczMjIzODc2OTVdLCBbMTY2Mzc1NTg1NS4xOTg5MzM0LCA0MTQ3MCwgMS4zNDE3ODY4NjE0MTk2Nzc3XSwgWzE2NjM3NTU4NTUuNzA4MTUyOCwgNDE1MTQsIDEuMjMwNTU3NjgwMTMwMDA0OV0sIFsxNjYzNzU1ODU1Ljk5NTE1MDMsIDQxNTU4LCAxLjE2OTExODUyMzU5NzcxNzNdLCBbMTY2Mzc1NTg1Ni4yNzkzNzEsIDQxNjAyLCAxLjIwMzEzMjc0ODYwMzgyMDhdLCBbMTY2Mzc1NTg1Ny4xNzE2MjEzLCA0MTcxMiwgMS4yNjYyNDkyOTkwNDkzNzc0XSwgWzE2NjM3NTU4NTcuOTQ5MjY2LCA0MTgwMCwgMS4yMDcwODAzNjQyMjcyOTVdLCBbMTY2Mzc1NTg1OC42MDAyNjQ1LCA0MTg2NiwgMS4xOTI0Mzg2MDI0NDc1MDk4XSwgWzE2NjM3NTU4NTkuNDEyNzczMSwgNDE5NTQsIDEuMjEwOTY3NTQwNzQwOTY2OF0sIFsxNjYzNzU1ODU5LjcxOTA2MTYsIDQxOTk4LCAxLjE2MDQ0ODE5MzU1MDEwOTldLCBbMTY2Mzc1NTg1OS44NzE3OTU0LCA0MjAyMCwgMS4yNDY1MTExMDE3MjI3MTczXSwgWzE2NjM3NTU4NjAuMDEwNzkwMywgNDIwNDIsIDEuMjcwNzg0Mzc4MDUxNzU3OF0sIFsxNjYzNzU1ODYwLjU0ODEzNjcsIDQyMTA4LCAxLjE3ODIzMzk4MTEzMjUwNzNdLCBbMTY2Mzc1NTg2MS40NDc2NzUyLCA0MjIxOCwgMS4yMjgwNzg4NDIxNjMwODZdLCBbMTY2Mzc1NTg2Mi43NDAzOTI0LCA0MjM1MCwgMS4zMDI0NDE0Nzc3NzU1NzM3XSwgWzE2NjM3NTU4NjIuOTgwMjMzMiwgNDIzNzIsIDEuMTU2OTY2Njg2MjQ4Nzc5M10sIFsxNjYzNzU1ODYzLjIxNTMyNjUsIDQyMzk0LCAxLjMwNTE1ODM3NjY5MzcyNTZdLCBbMTY2Mzc1NTg2My44NjMzMjgyLCA0MjQ2MCwgMS4xNzg2NDU5Njg0MzcxOTQ4XSwgWzE2NjM3NTU4NjQuMzExMTYxMywgNDI1MjYsIDEuMTY0Mzg3NTgzNzMyNjA1XSwgWzE2NjM3NTU4NjQuNzczNDExMywgNDI1OTIsIDEuMjI4Mzk4Nzk5ODk2MjQwMl0sIFsxNjYzNzU1ODY0LjkxMzY3ODYsIDQyNjE0LCAxLjU5ODg5Mzg4MDg0NDExNjJdLCBbMTY2Mzc1NTg2NS40ODA5MjE1LCA0MjcwMiwgMS4xNjUyNDg4NzA4NDk2MDk0XSwgWzE2NjM3NTU4NjUuNjIwODY1OCwgNDI3MjQsIDEuMjg0Njg4NzExMTY2MzgxOF0sIFsxNjYzNzU1ODY1LjkzNTQ5OTIsIDQyNzQ2LCAxLjE4NjkwNjkzMzc4NDQ4NDldLCBbMTY2Mzc1NTg2Ni4zNzk2MjYsIDQyODEyLCAxLjIwNzkzODE5NDI3NDkwMjNdLCBbMTY2Mzc1NTg2Ni44MTgxMDYsIDQyODU2LCAxLjE1ODkwMjc2NDMyMDM3MzVdLCBbMTY2Mzc1NTg2Ny4yMjIxODEsIDQyOTIyLCAxLjIzOTY1MDYwNzEwOTA2OThdLCBbMTY2Mzc1NTg2Ny4zODI1Nzg2LCA0Mjk0NCwgMS4xNDc4MDQ3MzcwOTEwNjQ1XSwgWzE2NjM3NTU4NjcuODE4MzgwOCwgNDI5ODgsIDEuMTk1Nzk0MTA1NTI5Nzg1Ml0sIFsxNjYzNzU1ODY4LjIyODMwMTgsIDQzMDU0LCAxLjIwNTcwODYyMjkzMjQzNF0sIFsxNjYzNzU1ODY4LjkzOTYzNjUsIDQzMTQyLCAxLjE4Mzk4NjkwMjIzNjkzODVdLCBbMTY2Mzc1NTg2OS4wNzk4ODIxLCA0MzE2NCwgMS42MzA1MDc0NjkxNzcyNDZdLCBbMTY2Mzc1NTg2OS4zNzcyMDUsIDQzMTg2LCAxLjMyNjEyMTQ0OTQ3MDUyXSwgWzE2NjM3NTU4NjkuNTIwNjYxNCwgNDMyMDgsIDEuMjA2MTU3OTIyNzQ0NzUxXSwgWzE2NjM3NTU4NjkuNjcxODYxMiwgNDMyMzAsIDEuMTU2NzkxNjg3MDExNzE4OF0sIFsxNjYzNzU1ODY5Ljk0NjU5OTcsIDQzMjc0LCAxLjE4MjUzNTI5MDcxODA3ODZdLCBbMTY2Mzc1NTg3MC4yMzU4MzYzLCA0MzI5NiwgMS4xOTY0ODg4NTcyNjkyODddLCBbMTY2Mzc1NTg3MC4zNzc3MDYzLCA0MzMxOCwgMS4xODMxOTI2MTA3NDA2NjE2XSwgWzE2NjM3NTU4NzAuNTE1ODEyLCA0MzM0MCwgMS4zMjIxOTA4ODA3NzU0NTE3XSwgWzE2NjM3NTU4NzEuNzExNjA0LCA0MzQ3MiwgMS4yNzU2Nzc0NDI1NTA2NTkyXSwgWzE2NjM3NTU4NzIuMDY3MDE5NywgNDM1MTYsIDEuMTc5ODA3NjYyOTYzODY3Ml0sIFsxNjYzNzU1ODcyLjM2MzQ1MDMsIDQzNTYwLCAxLjIwMTE1ODI4NTE0MDk5MTJdLCBbMTY2Mzc1NTg3Mi41MTI4ODk0LCA0MzU4MiwgMS4xNjI0NDAwNjE1NjkyMTM5XSwgWzE2NjM3NTU4NzIuNjc1NzQ2MiwgNDM2MDQsIDEuMTcxNTQwOTc1NTcwNjc4N10sIFsxNjYzNzU1ODczLjA3NzI2NjcsIDQzNjI2LCAxLjIxODkyNDI4Mzk4MTMyMzJdLCBbMTY2Mzc1NTg3My4zNDExNTU4LCA0MzY0OCwgMS4xNjA0MDcwNjYzNDUyMTQ4XSwgWzE2NjM3NTU4NzMuNjgyNjk1LCA0MzY5MiwgMS4yNTI3OTM5MDgxMTkyMDE3XSwgWzE2NjM3NTU4NzMuOTcwODkzNCwgNDM3MzYsIDEuMTY5NTMwMzkxNjkzMTE1Ml0sIFsxNjYzNzU1ODc0LjExNTMyMSwgNDM3NTgsIDEuMTkwNjM0MTMxNDMxNTc5Nl0sIFsxNjYzNzU1ODc0LjcwNjkxNSwgNDM4MjQsIDEuMTU0MDE0OTQ1MDMwMjEyNF0sIFsxNjYzNzU1ODc0Ljk5OTMzMzksIDQzODQ2LCAxLjE1ODMyMDE4ODUyMjMzODldLCBbMTY2Mzc1NTg3NS40NTYzMDY1LCA0MzkxMiwgMS4yNDIwMTg0NjEyMjc0MTddLCBbMTY2Mzc1NTg3Ni45OTgwNjYyLCA0NDA2NiwgMS4yODY1ODE1MTYyNjU4NjkxXSwgWzE2NjM3NTU4NzkuMTcwNDA3NSwgNDQzNzQsIDEuMjg3OTY0MzQ0MDI0NjU4Ml0sIFsxNjYzNzU1ODc5LjQzNTA2MDMsIDQ0Mzk2LCAxLjM2NTU2NzkyMjU5MjE2M10sIFsxNjYzNzU1ODgwLjAwOTM4OTksIDQ0NDg0LCAxLjI1MTk2ODUwMjk5ODM1Ml0sIFsxNjYzNzU1ODgwLjI3ODA4NywgNDQ1MDYsIDEuMjE1NzY1MzU3MDE3NTE3XSwgWzE2NjM3NTU4ODAuNDIwOTQ2OCwgNDQ1MjgsIDEuMTcwODI4MzQyNDM3NzQ0MV0sIFsxNjYzNzU1ODgwLjY5OTQxMjgsIDQ0NTcyLCAxLjI3ODE3MDU4NTYzMjMyNDJdLCBbMTY2Mzc1NTg4MC44NDI5MjU4LCA0NDU5NCwgMS4yMDAzNTMyNjQ4MDg2NTQ4XSwgWzE2NjM3NTU4ODEuMzU3NTc2NiwgNDQ2MzgsIDEuNzk2NzE1MTQwMzQyNzEyNF0sIFsxNjYzNzU1ODgxLjc5NTMwMTIsIDQ0NzA0LCAxLjMxMzEwNTIyNTU2MzA0OTNdLCBbMTY2Mzc1NTg4Mi4wOTM5NSwgNDQ3MjYsIDEuMjczMTgwNzIzMTkwMzA3Nl0sIFsxNjYzNzU1ODgyLjU2NjQzNDEsIDQ0NzcwLCAxLjM3NzEzODg1MzA3MzEyMDFdLCBbMTY2Mzc1NTg4Mi44MTA4MDIyLCA0NDc5MiwgMS4xNTM2Nzc0NjM1MzE0OTQxXSwgWzE2NjM3NTU4ODMuMDI4MjY4NiwgNDQ4MTQsIDEuMzczMzAwNTUyMzY4MTY0XSwgWzE2NjM3NTU4ODMuOTc1OTY3MiwgNDQ5MDIsIDEuMjEwMzA5MDI4NjI1NDg4M10sIFsxNjYzNzU1ODg0LjIwMDk1MjUsIDQ0OTI0LCAxLjMwOTQwNzk0OTQ0NzYzMThdLCBbMTY2Mzc1NTg4NC42MjU4NTcsIDQ0OTY4LCAxLjE1NjAyODg2Njc2Nzg4MzNdLCBbMTY2Mzc1NTg4NC44MjQwOTA1LCA0NDk5MCwgMS4yMDA2NTU1Nzk1NjY5NTU2XSwgWzE2NjM3NTU4ODUuMjc3MzgzLCA0NTA1NiwgMS4xNjA5NjExNTExMjMwNDY5XSwgWzE2NjM3NTU4ODUuNDM4MTgyLCA0NTA3OCwgMS4xNzU1ODMwMDQ5NTE0NzddLCBbMTY2Mzc1NTg4NS41ODAwOTA1LCA0NTEwMCwgMS4xNTI2MTQ3MTI3MTUxNDldLCBbMTY2Mzc1NTg4Ni42MjIxMzI4LCA0NTIxMCwgMS4yMzc2MTkwNDIzOTY1NDU0XSwgWzE2NjM3NTU4ODYuNzY4NjUxLCA0NTIzMiwgMS4yMDY5NzIxMjIxOTIzODI4XSwgWzE2NjM3NTU4ODcuMDE2MDksIDQ1MjU0LCAxLjI0Mjc3MDE5NTAwNzMyNDJdLCBbMTY2Mzc1NTg4Ny4yODY5NTQ2LCA0NTI3NiwgMS4xNjgzNjcyNjY2NTQ5NjgzXSwgWzE2NjM3NTU4ODkuMjA5MzczNSwgNDU0OTYsIDEuMjQwODk2NDYzMzk0MTY1XSwgWzE2NjM3NTU4ODkuMzg1NDEwMywgNDU1MTgsIDEuMjczMDI4MjU0NTA4OTcyMl0sIFsxNjYzNzU1ODg5LjgyMTI5MDMsIDQ1NTYyLCAxLjI5MjMyMDcyODMwMjAwMl0sIFsxNjYzNzU1ODkwLjcyOTcwODQsIDQ1NjUwLCAxLjE0MDQ0MzA4NjYyNDE0NTVdLCBbMTY2Mzc1NTg5MS41NTY0OTE0LCA0NTczOCwgMS4xMzkyNTcwNzM0MDI0MDQ4XSwgWzE2NjM3NTU4OTEuNzY3MzIwMiwgNDU3NjAsIDEuMzI2NDIzMDQ4OTczMDgzNV0sIFsxNjYzNzU1ODkyLjcxMTU0NCwgNDU4NzAsIDEuMTQ3MjYwMzA4MjY1Njg2XSwgWzE2NjM3NTU4OTMuMDcyMjI5LCA0NTkxNCwgMS4xNTk5Mjc0ODczNzMzNTJdLCBbMTY2Mzc1NTg5My4yOTMyOTk3LCA0NTkzNiwgMS4yNTY4NDI3MzI0Mjk1MDQ0XSwgWzE2NjM3NTU4OTMuNjQ4NjI5MiwgNDU5ODAsIDEuMTg3NTQ5MTE0MjI3Mjk1XSwgWzE2NjM3NTU4OTMuOTAwNTM0OSwgNDYwMDIsIDEuMTYyNzIyOTQ1MjEzMzE3OV0sIFsxNjYzNzU1ODk0LjEyNzEyOSwgNDYwMjQsIDEuMTQwODM4MDI3MDAwNDI3Ml0sIFsxNjYzNzU1ODk0LjkwOTUwNTEsIDQ2MTEyLCAxLjMxMTA3NDYxNDUyNDg0MTNdLCBbMTY2Mzc1NTg5NS4xMjMwMzM1LCA0NjEzNCwgMS4yMTE0NTQ2Mjk4OTgwNzEzXSwgWzE2NjM3NTU4OTUuMzI1NDEwNCwgNDYxNTYsIDEuMTQ0MjE3MzcxOTQwNjEyOF0sIFsxNjYzNzU1ODk1LjU1MDg4NzMsIDQ2MTc4LCAxLjE1NjI0ODA5MjY1MTM2NzJdLCBbMTY2Mzc1NTg5Ni4wMTIwMDQ2LCA0NjIyMiwgMS4zMTAxNTM5NjExODE2NDA2XSwgWzE2NjM3NTU4OTYuNjM1MjUxLCA0NjI4OCwgMS4xNTcyNjM4NzUwMDc2Mjk0XSwgWzE2NjM3NTU4OTYuODQ1NTg1LCA0NjMxMCwgMS4yNjk4NzMwMjMwMzMxNDJdLCBbMTY2Mzc1NTg5Ny4wMzM2MTMyLCA0NjMzMiwgMS4yMzgyOTI0NTU2NzMyMTc4XSwgWzE2NjM3NTU4OTcuMjIyMTAxNCwgNDYzNTQsIDEuMjQyNDMwMzI5MzIyODE1XSwgWzE2NjM3NTU4OTcuODg3OTAwNCwgNDY0MjAsIDEuMjIwMDkyNjU0MjI4MjEwNF0sIFsxNjYzNzU1ODk4LjEwNjUyODgsIDQ2NDQyLCAxLjM2NTc4NDY0NTA4MDU2NjRdLCBbMTY2Mzc1NTg5OC45NDk0MzU1LCA0NjUzMCwgMS4yODE1NTc5MTc1OTQ5MDk3XSwgWzE2NjM3NTU4OTkuMTYwNzcwNywgNDY1NTIsIDEuMTU3NDYwNDUxMTI2MDk4Nl0sIFsxNjYzNzU1ODk5Ljg0OTIyMTIsIDQ2NjQwLCAxLjI4MjI4OTYyNDIxNDE3MjRdLCBbMTY2Mzc1NTg5OS45OTI0MzMsIDQ2NjYyLCAxLjIzNjQ1MTg2NDI0MjU1MzddLCBbMTY2Mzc1NTkwMC4zMDExODI3LCA0NjcwNiwgMS4xODkyNjkzMDQyNzU1MTI3XSwgWzE2NjM3NTU5MDAuNDM5NjcxLCA0NjcyOCwgMS4zODUyNTAyMTA3NjIwMjRdLCBbMTY2Mzc1NTkwMC41ODU1NDU1LCA0Njc1MCwgMS4zNDQzMjI1NjIyMTc3MTI0XSwgWzE2NjM3NTU5MDAuODY1MTkzMSwgNDY3OTQsIDEuMTY2ODM3NDUzODQyMTYzXSwgWzE2NjM3NTU5MDEuMDEzMDk3NSwgNDY4MTYsIDEuMzQ4MDU3MDMxNjMxNDY5N10sIFsxNjYzNzU1OTAyLjMzOTEzNjgsIDQ2OTcwLCAxLjI1ODU4MDQ0NjI0MzI4NjFdLCBbMTY2Mzc1NTkwMi40OTIyOTUsIDQ2OTkyLCAxLjMyNjE0NTY0ODk1NjI5ODhdLCBbMTY2Mzc1NTkwMi42MzM4Mzk4LCA0NzAxNCwgMS4yMjc1NjYxMjMwMDg3MjhdLCBbMTY2Mzc1NTkwMy4yNDQ2NjEzLCA0NzA4MCwgMS4yMTQ2NjE5NTU4MzM0MzVdLCBbMTY2Mzc1NTkwNC4xMjAyMTAyLCA0NzE2OCwgMS4yNDY1MzI5MTcwMjI3MDVdLCBbMTY2Mzc1NTkwNS4xMTM4NDczLCA0NzMwMCwgMS4yMTcwNzM0NDA1NTE3NTc4XSwgWzE2NjM3NTU5MDUuMjU5NjE2NCwgNDczMjIsIDEuMTk5NzEzMTEwOTIzNzY3XSwgWzE2NjM3NTU5MDYuMDAxOTQ3LCA0NzQxMCwgMS4xODc3OTU1MTk4Mjg3OTY0XSwgWzE2NjM3NTU5MDYuMTM5NjYzMiwgNDc0MzIsIDEuMTgyNjI2MDA4OTg3NDI2OF0sIFsxNjYzNzU1OTA2Ljg1OTQxODIsIDQ3NTIwLCAxLjI5NjAwNTk2NDI3OTE3NDhdLCBbMTY2Mzc1NTkwNi45OTkwNzY2LCA0NzU0MiwgMS4xNzEzMzEyODY0MzAzNTg5XSwgWzE2NjM3NTU5MDcuMTMwMDM1NCwgNDc1NjQsIDEuMTk0ODI2NjAyOTM1NzkxXSwgWzE2NjM3NTU5MDcuMjc3Nzk4MiwgNDc1ODYsIDEuMTY3MjQ2MjIyNDk2MDMyN10sIFsxNjYzNzU1OTA4LjUzNTI3MTQsIDQ3NzQwLCAxLjI2MDA1MjQ0MjU1MDY1OTJdLCBbMTY2Mzc1NTkwOS4yNzczNzIxLCA0NzgyOCwgMS4yNTYxNjg0ODQ2ODc4MDUyXSwgWzE2NjM3NTU5MDkuNzgyNDQyLCA0Nzg3MiwgMS4yMTgzMDQ2MzQwOTQyMzgzXSwgWzE2NjM3NTU5MTAuMDA0ODY5NywgNDc4OTQsIDEuMjMyNDAyMDg2MjU3OTM0Nl0sIFsxNjYzNzU1OTExLjYxMjYzMjgsIDQ4MDQ4LCAxLjI1MTQ1MDg5NjI2MzEyMjZdLCBbMTY2Mzc1NTkxMS45OTQzNTgzLCA0ODA5MiwgMS4yMzM0NzMwNjI1MTUyNTg4XSwgWzE2NjM3NTU5MTIuMjY5ODcxNywgNDgxMzYsIDEuMjUzOTkxMDA3ODA0ODcwNl0sIFsxNjYzNzU1OTEyLjYxOTI2MjcsIDQ4MTgwLCAxLjM0MTQzNzU3ODIwMTI5NF0sIFsxNjYzNzU1OTEzLjM1MzQzMzYsIDQ4MjkwLCAxLjIzNjQzNzkxNjc1NTY3NjNdLCBbMTY2Mzc1NTkxNC40NTU3NDcxLCA0ODQwMCwgMS4yMzU1NjE2MDkyNjgxODg1XSwgWzE2NjM3NTU5MTQuOTUxNDY0NywgNDg0NDQsIDEuMjAzNjA4NzUxMjk2OTk3XSwgWzE2NjM3NTU5MTUuMTk1ODM0LCA0ODQ2NiwgMS4xOTkwNjIxMDg5OTM1MzAzXSwgWzE2NjM3NTU5MTUuMzkzODEzMSwgNDg0ODgsIDEuMjcxNjQzNzU3ODIwMTI5NF0sIFsxNjYzNzU1OTE2LjAzNTYzNSwgNDg1NTQsIDEuMjA0NDQxNzg1ODEyMzc4XSwgWzE2NjM3NTU5MTYuNzAzMDcyMywgNDg2MjAsIDEuMjI5NzU5NDU0NzI3MTcyOV0sIFsxNjYzNzU1OTE3LjAzMDc0LCA0ODY2NCwgMS4xNTExNjk3NzY5MTY1MDRdLCBbMTY2Mzc1NTkxNy4yMDA1OCwgNDg2ODYsIDEuMTYyMDEyODE1NDc1NDYzOV0sIFsxNjYzNzU1OTE3LjUyNjQwNSwgNDg3MzAsIDEuMjQyOTY5MzkzNzMwMTYzNl0sIFsxNjYzNzU1OTE3LjY2MDE0MywgNDg3NTIsIDEuMjI4MTEzNjUxMjc1NjM0OF0sIFsxNjYzNzU1OTE3Ljc4NTg5NjUsIDQ4Nzc0LCAxLjEzODQ0MTA4NTgxNTQyOTddLCBbMTY2Mzc1NTkxOC41MDQzODMzLCA0ODg4NCwgMS4xODk3NzU1ODYxMjgyMzQ5XSwgWzE2NjM3NTU5MTguNjQzODY3MywgNDg5MDYsIDEuMTkzOTI1ODU3NTQzOTQ1M10sIFsxNjYzNzU1OTE4Ljc3NjYwNDQsIDQ4OTI4LCAxLjI2MzcwMTQzODkwMzgwODZdLCBbMTY2Mzc1NTkxOS4zMjQyODY1LCA0ODk3MiwgMS4yMTk5ODM2OTY5Mzc1NjFdLCBbMTY2Mzc1NTkxOS44MTQ2MDUyLCA0OTAxNiwgMS4xNzE4MzMxNTc1MzkzNjc3XSwgWzE2NjM3NTU5MjEuMTUzNDMzMywgNDkxNDgsIDEuMTU4MTU2NzUyNTg2MzY0N10sIFsxNjYzNzU1OTIxLjY2Mzk1LCA0OTIxNCwgMS4xNjYwOTM3MDcwODQ2NTU4XSwgWzE2NjM3NTU5MjIuMDg3MTQwMywgNDkyODAsIDEuMjU1NjU1NjQ2MzI0MTU3N10sIFsxNjYzNzU1OTIyLjU5NjY4MTgsIDQ5MzQ2LCAxLjE5MjgwOTU4MTc1NjU5MThdLCBbMTY2Mzc1NTkyMi45Mzk4OTMyLCA0OTM5MCwgMS4xOTI1MjQzMTM5MjY2OTY4XSwgWzE2NjM3NTU5MjMuMzc0NjYyNiwgNDk0NTYsIDEuMjU0MzgyMzcxOTAyNDY1OF0sIFsxNjYzNzU1OTI0Ljc2MjY4MDUsIDQ5NjEwLCAxLjE0NzA2Nzc4NTI2MzA2MTVdLCBbMTY2Mzc1NTkyNS4yNTI3ODYsIDQ5Njc2LCAxLjIzNjE1MzM2NDE4MTUxODZdLCBbMTY2Mzc1NTkyNS40MTM0ODc3LCA0OTY5OCwgMS4yNjIzMjgwMjg2Nzg4OTRdLCBbMTY2Mzc1NTkyNi42MTAzMTMyLCA0OTgzMCwgMS4yMDYwMDk2MjYzODg1NDk4XSwgWzE2NjM3NTU5MjYuOTEzODQ2NywgNDk4NzQsIDEuMTk5OTQwNTYyMjQ4MjNdLCBbMTY2Mzc1NTkyNy4wNTA2NzYsIDQ5ODk2LCAxLjE4OTE3MDgzNzQwMjM0MzhdLCBbMTY2Mzc1NTkyOC4zNTkyNTc1LCA1MDA1MCwgMS4yNjMxODkzMTU3OTU4OTg0XSwgWzE2NjM3NTU5MjguNjQ1NTg2LCA1MDA5NCwgMS4yNjI2ODgzOTgzNjEyMDZdLCBbMTY2Mzc1NTkyOS40ODEyNjQ2LCA1MDE4MiwgMS4zNDY0MTM2MTIzNjU3MjI3XSwgWzE2NjM3NTU5MjkuNjM2MzMwOCwgNTAyMDQsIDEuMjczMDc0MTUwMDg1NDQ5Ml0sIFsxNjYzNzU1OTMwLjE4MDU4OTcsIDUwMjcwLCAxLjE5MTUxNzQ3MjI2NzE1MDldLCBbMTY2Mzc1NTkzMC4zMTczNDMsIDUwMjkyLCAxLjE2MjE5NzM1MTQ1NTY4ODVdLCBbMTY2Mzc1NTkzMS42MTcwMjcsIDUwNDI0LCAxLjE5NDEzMzQwMDkxNzA1MzJdLCBbMTY2Mzc1NTkzMS44NDQzMjU1LCA1MDQ0NiwgMS4yMzYwOTg0MDg2OTkwMzU2XSwgWzE2NjM3NTU5MzIuMDY3MjA2MSwgNTA0NjgsIDEuMjM0MTExNzg1ODg4NjcxOV0sIFsxNjYzNzU1OTMzLjE4ODI2NTYsIDUwNjIyLCAxLjM5Mzk1NDUxNTQ1NzE1MzNdLCBbMTY2Mzc1NTkzNC4xMDMxOTExLCA1MDczMiwgMS4yMTc5NTE2NTUzODc4Nzg0XSwgWzE2NjM3NTU5MzQuMjY5OTkxMiwgNTA3NTQsIDEuMTQ5NzE0MzUwNzAwMzc4NF0sIFsxNjYzNzU1OTM0LjQ5NDYyOTksIDUwNzc2LCAxLjI1NTEwODgzMzMxMjk4ODNdLCBbMTY2Mzc1NTkzNC43OTIwOTc2LCA1MDgyMCwgMS4xNTg4ODY5MDk0ODQ4NjMzXSwgWzE2NjM3NTU5MzUuMTUzNTM2OCwgNTA4NjQsIDEuMTcyNTcyNDkzNTUzMTYxNl0sIFsxNjYzNzU1OTM1Ljg3Mzk5OSwgNTA5NTIsIDEuMTg0OTYzODIyMzY0ODA3MV0sIFsxNjYzNzU1OTM2LjAzNTE1NDYsIDUwOTc0LCAxLjIyOTA5NzI0NzEyMzcxODNdLCBbMTY2Mzc1NTkzNi44MTQ2MjIyLCA1MTA0MCwgMS4xNzg3MDA5MjM5MTk2Nzc3XSwgWzE2NjM3NTU5MzcuODQzNDg2LCA1MTE1MCwgMS4yMjk2NDkxODYxMzQzMzg0XSwgWzE2NjM3NTU5MzguNzEyODMxNSwgNTEyODIsIDEuMjIwMDc0NjUzNjI1NDg4M10sIFsxNjYzNzU1OTM4Ljk5MTM5OTgsIDUxMzI2LCAxLjEzNDcyMTM5ODM1MzU3NjddLCBbMTY2Mzc1NTkzOS42MzU4OTcyLCA1MTM5MiwgMS4yMjM0NzQ1MDI1NjM0NzY2XSwgWzE2NjM3NTU5NDAuNTczOTExNywgNTE1MDIsIDEuMTQ5MjMyNjI1OTYxMzAzN10sIFsxNjYzNzU1OTQwLjg3MjUyMzUsIDUxNTQ2LCAxLjE0MDQzMDMzMTIzMDE2MzZdLCBbMTY2Mzc1NTk0MS4wMTIwODM1LCA1MTU2OCwgMS4yNDAyNzU4NTk4MzI3NjM3XSwgWzE2NjM3NTU5NDEuMTUwMTM0OCwgNTE1OTAsIDEuMjg0MTE2OTgzNDEzNjk2M11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/font-roboto/d-6IYplOFocCacKzxwXSOJBw1xU1rKptJj_0jans920.woff2":{"data":"d09GMgABAAAAACoMAA4AAAAAUsQAACm2AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmQbmXocg0oGYACGTBEMCu5A1nULg14AATYCJAOHNgQgBYJ+ByAbIkSzoqzwsjiKkj2aj6JicZf9lwnmGDrzUL5ooaWgICnvqxcvLU1UUm052dq0PPEbkDL7t7A4c3dKponrEu8IjX2Sy0PoX9DLJNk9AHsAO6uC0MkqVZH48wM/t95fEVEDtBGpESMixmDAqNgYMLpGpmSIhFWEFSiIoIiFRIli3p2nHuksZyTDeXbXshPuAKlMlW53Zbg7HZue7/8N06wSlnxFE+rSAhYVkmR44D5FCo4yXQlcOX/hZsHaQuZYMcQ8fkufGldr+uACwqKNzkSGPbR7G1BVUZ3KOl0lGRYOQuDT2zTbfVpvBF5fojuuchvk6YE73cxV6dJS//W/1qu/X2vQGiTZDshHKx3JCpgmIwjIGl8FXKUCLIGkY12AuaMOqUzRXNWnLQmqS1HWqdIFnu/vG79/2raDcUAPMPAMtn38TkB/ouZjIAEmGGgThZmsWZkYwdIwtsYh6+N7ZqYra0NPaN1poDFKzhjB6Ep9/G4ZTnWidqQaNBB6+Y1RoPACsDkUTvsZQJjzgUiWDJEtGyJXLgQLC6JIEUSJMohOPVAu+QiBQAHTADNAgAKRDAGmosIAZt317VxBcvfkGAZI7h0THA6SB/jHRYIkDOBDaNj+e8ZEAjtwbBhGLXC2MFFLe6nWKwp1sS6WQ4VY39XdhkP/X4wChWLH4FC8KPFQDqMIiLjGjWJFabOIvvgn/jQ7N9ClKlWDRqlUq8XUxVp68cWGQ7/D+N36//YNN54bY0H9DUgUJtSPLQYOF25C9jvokMOOOE6FOg0EmrQR6dJnwJA1G3YcOXNB4obCkxdvvmrUqtfgksuuuOqa68ZNmDTlhpvue+ChRx6bteiVJa8t+2DFqjXrdnyE0M5bMIiE6TpAn6hZohBCyQ4q+IddgvVd259GlFOFNmHm+YZlbrMiWMMWJJCru+Uaj9zimRu8ySnLbXUJGnkTtMtp5Aqu4hquY1x71htzeI55LOCF9rJti3iFJbzGB6xgFWtY1zbasoktbGs7bfiYRnjlVP+hPoJCwSt7WIClnW8Rc4Vu7tDP12bBMR5M8483PCX8SrDD5C1uOcErZ0QkQ1pGyk5TrDylKDth8BBmTIBbLvMnBPCBG9uCt+WBq3CUc5cOYxpP8BQzexSGw49L58kUZJkbrABr2IJMeXnZ7NTgV8uoR4P2sg2LeIUlvK6OqM1GXCxzhxXBGrYgowwvsYhXWMLrdWPYEEahxosAu8OGlMtrXNyHhK8kWMUa1veMxZ95BFGHRjTRCLGDHexgBzsEexZimY2sYA1bh5RM5GSge4rzwqVs5y8Zi3iFJbzWPsS0glWsYV0g5P5oijmKkp9O3nw7kCfXGOc3/jcHxSZ3fc4WRHYgzYszl8Xt4s0nAnMbv+OWL1BmKuw9jcgRaflYdnZg5ZSinHQinwkpJtdyISq/Exs8UN0JBvTnxrwgTdysfiY754dWTK8Zted21jPU8/6ErTbDLJtDyepp3/I79jzdpwqjW9NkvFDxcrFn8ct7uyI/Nw20ef7NquSYG/mY2X3qX1lrwCxM5fcKo/9ELfnuZQg72j1T/muh/JezBlNxFtf0x58eYNG3oste6z3I1ae4pvIFyU8FzkQfejHes5fRm2qnDgIE807LfcaTOpsEUuLOw/wOZH8rylWi04VRGvkSdfjzXLcqGTZ0Ft8w4B8+d+iZ6+vzC6o0sWYSH/HEcH5jFetUsY0j935Npssg79F/4F6kHQmLa1Ms9Va9TLCHGVYlSVrgX3FCh77jG/+4Jd/AaEir86/WBqxJDUpC15D5baQ+bKJ1eAepuz3VUvN2vN56JxY2PSZ7AvMVJjZbZ/Wx571F+emsX0bLt4pUr261+xXWRibmZHFmW+n8uPjvZqdsHgYZaJrhAxFfgsQCHC4IflcVRfA32n6HYSjRwEGbwf3enCUJ1lCaXS7DmStZbirwzBVR+dinOD+oRqNDmr4ru+S145atI/8AunlBIbSLGGJIJak5i3JACQcVcEjEYbGU5XRcLiqKUhehoTBteejIiagkXcXpyU9fbgbyMRfHQjaWR5G4utgTpnSBQYJorrJxU4inHKgK8paDj7yKT2w/DkNMHU5SPxJDTCOU0qSUSznisnEoE/8JmHQT1n2PIabN4DRLObdnXsB5mYtY9Bq75SrGB+vQ4jU5EEAghAngKCphl/AJZwLlKIuirBh1UQiiaB15BevihAMRhOCDC/6lVKU1hC2fEJFAgwk0MkS4y81DLM9ndsFgDx65EKVUlLIqoko1UQkRQBgBhEPYRZxEAe6EEg8UHHAltutriGyg55hs2Ia9sP/pma3UcvNIgV4p7wPbWtuZ49ms4+I6jtZ3MR7rbeZo5+bGbm7taB/butgGVl5gXjGwzjQ6od7j9jgoKgIO/FOeB1A6gBbqD5oWvarVQfERMeBEXNJTXfov3YSsODZL10PI5bawcHipoWJqco0AdmG0Fahzlbqh2bDXCVXlnj+0tNzjd9JFoCEQNgJSIKK4OEEIjqMBwZ4QEBpHObSmwc1GiBZw3z09nPr16TVg0ElDThk+b/Qg+WyPShErzpjTzjjrnPNQEMJkgNr64xos6Fd0dVDm386rLwuJ+xGaHfI4sBiwjhfOBls4WgIeLDgTDv4A7DVuCsBDrgW0NfsYPDw0GIp54gptJc57XPaBKXbA6vAwxIFpZegI/5mdcMcTaz75i6gWUtyJxViaCOMl8bJ4BfwBPBFvhj8Cf9eCM/39C7yAR2e1EZPuemrdZ1JcdhbCi+OlD61TG8kfuUI0b+DMKZD/KL48Ms+I/9/7//zvc+8ypk6ZOG5Aj0fefn1zjikFLImVsdORlv+39+LZLrn3l/f7z5Fr2hNPzZiVJ98zc56bt+AFloK/wve6UJENm7Zs21HsI25A+fEeyGIo1rRLVExwDJpyHe7F9bgLuyt34z7cgwdxMB7C43hAeQLH40m8iAeVl3A/XsYbeApv4i2cgLfxPl7AB/gQJ+EjfI5XlS9wCr7Ej3hb+Qmn4mf8gU/wJ/7Cafgb/+MrZcAZSkrfq2UFjzO9ZWtpG4+z1HjC4xw13vE4V433PM7zTmY+8CwAzgeTOQ48F4ALwWQeaT6PS9TJgh6Xq5NFPa7wTtaQ1vS4Up2s63G1OjnC4xp1cpfHteqCM9mu+6jLZofKv/gMfuhW3pPiAU17HJjlQVDfAHEIQIeI+YlHYKEhpagtUCaan7BRoLDQThEoqCOLAJWzHoFQz5cnRaEgTFRYKkwRY+WMAUjjWkaXIJEwAoNOLUHcfDGMY644+bMo8P1hJLwSUN+asKZZ45uRjo1YMxyWKxyRtHwY9rOgmds0CKCF/jl3i3nj6npwDKJXOkiXSZbceUDhogx++TB31vdN6ZQnaxvAQgPbYXpfy/I6Gby5BrrAfAo57tf9GfB1tVXWWnuVU4GpY37ByDQpciH9rs9Fkp9P443DfcLcV8x96yyufmrJu5efcMIUsxvuc0q7GNZjpZHyRPs5yF+Nft3+yuA/6LcH2dFJjHAgZXAZJRIrN6goNldD9qlBbULVGSsaoh5oEK2LNnEsNozxNUMUkOcgY6GEwOWgXGdoIAytWzkWqXKsImVogtwlQ6QN8eIy43KaUgRlyCHLph1r2AI9X9Vp3ZzH4o1zI21kn+12int3NZc1cRD+pVws+BcrisPZ0GTWgzeWRs/8GTt0dqHtPLTxTW/D3C0Nb4WbLdHYNhtN3WpYVp50ki+pRNOGEQ3TGe1XMQgbZqEtbIgFv2GLob7lvxkOXHOrQVt7Ed5GWJeVDTwqrq9hZ66xSVL3jemdwJRJq1wbKtXMS5RsB3cd4wyxAPKkX7WsRqr4UBTVodqIhaMvIjaz6kPjla6hfx8DZaTPbfjoYxyuhqsJPQaOci4eSa7i9dxYeCq5d1aMAgpd2LR+JNLCmbR5fPmVlgbeuLah8bWrk7zjSbyg6uCwN0H2uIb1gvYbHvHHMPI78fT26Z1plmlY57237cR6slAinFkaTXsr8XAewr3w+momYZWzR5msF3pxUIdK5nei6fZM+2y4iu7NclQfbX/3oD9FtSFZjeVptS5YHdzJpO576objZkvUXNJktpdTQegVeg9Gzh5ZHQS/LZxulgBukUUnpQKlD+SqF0CN6zCTvb0ge2b2lOwzluW4B5tBiBIDlsULM1QhKCo1EytKj8N4somh9ur6hh11ciy3r59QPI4gw49GNFn7I8lyUorpYmXFzjZFpH0JWquDrEFBcpBGa8utTlysjL+82uit732iQ1pvhaCa2QM5MSLq0N1X7EzVecMmY510zPNyN+SKrEi8nktuL5OjLasS13VMy/usRnKieE17mxmz4I7q9uTejhz0H6VBrCCLktoO4Do0xSxgGguASIz1eDdRMHGDBqJH4xrWmfZU8FnFQKiplhMeNcfLAY7wkEeRkvNbHPtl1GhoqSMIr8zRc08vrfOrukNlnsFPH3XFAWJRHPJeKKpxULH9tiq5HwhfRkoogqAEVPNr/U1Gk4S0wo9pUSYUzhMD/Z2cKSKASmK6Q7XiprYN2yaK7MTN1lDiefZgXJDF/FFdp5SsqD0xumuYK3gTM/jD5bS40vIY0TEdlLp2etK4TCObfadRkLW26S3ICt+EabwQUb0NORjj9tOjnxs9HEXZAQfv8IxenpliLP26MSoQ+VEge76lti+2vQJFXjSImMBJx3JeyRNABXcr0jrwoOmkSCj8ow+n2qIquDBOM1bkfmRHQZxO66uEndYiMWz7Wg36SDwGTvrpVJ8M7WmLNRxIrMPxKynGGUzRXKIms/m16TyC3OwSC+PaSZzFqBVyXQfkAhKw2ODi0Q8bbOFZraQiMZYMOa193XxYXDO9SYRoLxcBkkPjzs36WsU8toTC1kPSKODcxrQN0RLjyLRGYOq4RmBPnDyqCNoi6dBIdQVIUEBK9wQVShR91SyrUlkWFbtzj5w13eK2As0rWE45U5zMAT982YojPiwMPrBKstKUGlMj0jMV1NsIworbxO3YX6FkvXjDXT7YnZ3giY5LPcMPCo4JoQPHhjEHWyI9+H5kBI7Jr2I9+t5IFpk+4lFZEfygX9jxrUCfWGTElirbElcxYKGs4GLzWiohxwyNi6K+CBbpYRU7/8WdHX+A4hbFFXkIf6XuFwodK7Yp3qX/QYZY7RAXjpn9tdnMGVqD4r83BTShxhFk7Dv29m2sUZsWbUA4pKLGbZGPPGjI6EQSrONDR103OGFBrMZiGP51aOrYVpprLdmIMnevqUA2g4lab3f2wt2O2dnVeztEQE1HIkZidCiJdDJyMNBV7+HYdDObwZ7Io2AGeZJ3vZI0s6ySFSg6wXlk+wuh4bCgL9DfL3KcmAxvo1uxtLlzSB2goNAWmSKvqtfOGRGdWHg5LkLOzkKGmFn7ZBPmULKaYlwt8nV4/YmGVWnhwAKUXjXS6hV2Zg4G3yG1GZvVT1HEQKvDK9Aw2sW1jP4ifj2x2E0Xs0YplhtsVEaRClGNl8uQ0ajYNQNZTdgRXNBE6H5tp+sv+fGrxNvsO8tz2cRj/q1d2Wwww4mV7VyCv4jm9lg6286I6NMyFpQcNGkvq4V2YYfaLZ7JhmUUSmamR0s+GYRiflL54FlmOlIgQaViIWKS5x0zaZlBvRgnzfLxqi/GMpaVV4zXW5ZliWVFPcc4jOTBaAJPjASuIvbLZ1nM4fZNaLjU2PHUB7gvgIBQ2o7YEXhLu61A6t80krAiF4C/rBsYkkz3cjJLN5ImOOVew3WXBhKDoQQaQKkbtzRiE4uO+8PY360dkcjskaGdYYSpzm3aQL6oE0RWUkwm4xF5qQuD65N63/eKXzz4u6tQLNff6J3+Pzu8epPi2nvxmg/2jtrxzyjFPQ2OngprCtnURD3WVrXyKG7A35twsKlr/wOzogN5v/vQdGLK8sTFvtKHU4iq1MYIm1X7BZJuSBdjr0b+u8bfnfoTinmaT5k/1TdA1T/TxdPvpXOrEzPMoCxgcGHhjMB8x8sx8bvfbsonBSSQXDyoLnbuXru+J1xpdK1Cr5PPnl0WvNt+55HIux+P5ROZGXRKMBWw3xpZw31lFcM9ZVYFw91l5SM9pRNYPTMrprG1gY2esTVRy9TKWC73eMFoT2n5SFeFFWuop6JyuLdoAq1laa+ZUmCnZ2rFNLUyRL6V2irFxZTagkVBMHOoPszIzbqRdHJ+7kL306mqkdG8KKf/FImxpT+kc0Zf/m9lQ+6gzbxAL29iwqg6srYOFNtQ90gGIhRv6x5tp9arZBlkbU00sHEEAUKEdM3Fg3OQ6ria3PrRoFhfq7kqvPumstzxzts1UVqNBXpbGqk16Ffgp72c3fnVsFhXq7GM3n0dJU842nW3Krre5kz8TMhrRi2BCOmGDoV4TjNNiHpLKFA5hXjBkDLD0cY8r3hWoi0cjgYep2FpjUKNdCy9QAguM+odFI1MkpGkd9/gLkRGvIeO/9Q31SG9zJxKtrCkks3NvFytLL1c4X7agjzr2AKYxngq/2u4t/tLB7WPW/V/3aVf2qh9eInzAT20EL8WVF/AGb9T4XTvXuQkyMt7UujbngtyYL12Z/67H43aaunvH+kVwGRFKuRnvFpPq3n/z8JtRtTbglobagyI11CaImkRXpQwfyopytNaPibl3FJw/jp26UZQcn+AUsrRpNGkG5Kbm4vCq9flXVJCPUPjGJ6Ln0+Abte+3s1eXXldMvf5/V8n9h1QLzVB4aHsIemDyp6ponaIZtzTbWSjLOHN65SGvPf0nCl0qiy7JyOIEkArzU5LzmWGfr8MWoSJXembqN3bYqOx8afH3/K9KU9ZfZdZviZpyBX28Qzd4c4SbL6wiLYaolRFd4V6x1THJ8ZWgZkIryKBV1XR7M7cFgaM847Rad1UFZpa6pnkG2zv7nC8n0pOPRumSlUJ66Zf+bn0fO6fRX51c9+IaG9qBNPPOzzaz4ceIfOK7BHi4uwRSHH3oPVQaKASY8GMbJhaZ39fkbb7Nq+08m1FKg8MhzNo7bY8FrD3ecTfOW4RZFmdWBPV6eMe1ZaUyGgECk3nnjhhJmJHDywORgFbGTsZrRXgGsPsgahmdMQ2vQyRYuA5Xmrae65DN0h7sMWG4ok4KiDjXxZm5zYfXSXb1vt4OdnZWnH660mrmXq6lXu6uXO4Wv4GQYSLOOffo9JNtzRrObPAks7q9u9C9wV6cuBuUVxFkPGWmjGHgyZJj5o6jx3mpxITCFPHbg6HcW7w+evm6JLO7zOW3X/i7rQKjT127kIblxyX0Ifzhbs/f/Xmz1YYZsdy5poW2qm6k6WdDr9gHI7NuAm62Uq8gUcN5VfHRBVExgzlZRkX8JAD2LE/HAIPboVHdPnvj5LKGkyd5Vr4iXAkFyH0hCCPe9MowWdvltGnA2Pc0mbBsWqVf0ubB8SNkqw9ZmsMBU9e+F+dR+yrEmcpK6O4vnYeeR+5U/6yqaQwgyOP81M9Oal8atDgoenDPt3jw+PAEXf9UdXY5VXkuf2biyunwWA50YjVs/cUsGPTX7u8jC5nkIxISmbyua+FSS+jE/6Sk99B+rnr0j1NOsizwMVqA+GBK2jFH5Lb+4TSCmOTTrSvwrL36vDmwKCl5S+B1/rgogJKTGsme7aSg7WDEkztY6D0fHgEn0tS5t7Glq0jWwvK4R7B/m7B8RFgbdnc3/H4HtTmnot5E41hyZseDobhz+l7g0xV8L1jYkF4MTN8cbmFY+UyI+K1+tPieXoyw+XjoeCCB6V9uePj7A9uX83k5FFwWb640GAqOXrxvNRwswnMWC00WUiOMHoyPYz547Da/bGxoXsLli3fdn9vaujcgWUYBoR16412zz+J+Utl8/t+oHFfuBPTosLC03MjESFwuXHxUa5SnOfe9fEBwj9WOlyTLcKfRFo/YjIosdXZuqw7OUSiC68JHs3+JTo1Jjg0Lj55D7ScM8iJnlpBnio/8z8k5F36J7S55SuT9ThXKSg9MiYymWpnWe5bfPiv3eaHk9dl5r8MCKVUPi87tocPT3QDu57r49eVrl/62gX22LGJT0dE0H+rCrX9QGmqojAn+Tea4z40hwn3WDrInR/TkasbswdHpIfbjPuoMGFMmffZdM+Vtzt5lNuVkw/D+QcOnb3C/92jf+bMa2+x3y7sPZO9hgcczMUrV1jJfOjgV+WvnklrmPj8Zo88dgzD8+Sr2SlQyJ8oB5x6+dsxYNsbA+hjBw/gjh0CeKPtovVtRYBof2lM1/C9tSPzs7LQKujAcoX8MwSKrg8+ChF0YVmzKCxuoP3pxdJTfy5+hnwDWzsPkrWLub68T2z7M8+8e1v3LjyHE4cdBATvGYVrt19hvOSpA01bczBdFsK8Vrg7FsbijsEADuQPBsZ133mnwI7H9ITWhxarM4c0oktKjxYJG4PKnFOgO2LFBxHxFx4FpW1wHcAI/cdxeOPhtzVkgg8hBYa5BIdU98r2B1eB8b7fy0dvt4XEH1IAHGB5YsJZJyfWlPA/GmmdwSxN5hCBmT8DfkK7RxS/Snenw1px7Zs/YkjCaR5aaSaj3zuprM3I63UIZ26SGz2WN7xaDPENDIPxkM65TuqFp/eu6bkJod5qa3SfcF+YWwgBs33/7hy/fyYgmSsYJ1qeNbMZ0Zr43kfHJnM0PKkpNjMlmhjI7L75WeV/PHtNfF9onnbAXZ2A7LCEQRCvuRVTNOKHaTwvP+ztSPHO1PZH5AEH8tChQFRQEzN2I9nauJOMTSikagoJJIWJ8Wev3zlra8q/qn0wtyRR9GFnvdtX+ufp0FCbb2+zIGlZCpt5sW4MJNhBhwLgQAHEVojsSTGlt2bse6J7no0NPZo+q3CGaunqlaOaCmvyp32sSR6pmsG/5YkgVktkT4utvHmq/z5y76r8Oaqji3eKXugveSIYH+hM/bVR1PRKmItvFbH+V0RpTvQoCs/WFNvFoMV3nG6I7w2nx/aA6azQf8tKUz1B0X/kAbvIzUELSx+89/ogBo9toHeHFKqFXtWgFz4B4wN/lw/eGQnJE2T+Aeyiwu9AZtfU6lH8v82MzsB8TdoEITgvKKITlL4e7T/WoxZ5S54owJblVtuk0gKXjhDC9GLFsp1+Vu5OTk3/mGqWN3B0Ils7GqureBIXjlhLrpCe1P6+cL9w1i9xIEAQbUdz9iC5GoB0nRnn5bnL0nrPjFUsXrlKeKpg1Szb5to44UcEPfv6yIW7yORt+auDTTWawX8UiPyA9rv3Qll0jiism1EG46misjExATPil0cDhu8td1KsdPT26Axw/jhvQlAXMDqoOUmaIGnJL7SagCagGu92aEppLCf5PXtraCT4aszFSZUmTxE7p68FVzYENnPG/m/f3QocAuvQ0CDG3Wdnnoyg78xdPvvhrJpWh62UfTGSMrt8xvOM14c5zGa9OnjxjAJufBTkbzcQ0NtzyxfcL7ivz6A3GrS1Os6onl2GiwvoOyNPzsy8ZPP2DQA7ksSVy+s1NhnavW0WRMtAh3nkyrn39Q6Zul1Npro2NDsYzNhDCX1WFzq/39SLXOpFZpFsxNnb3n78SOXkbJP01r3NKzLP5JZFF2fkr8m9u/e+S/rSa6SLHyEHhjiHBNdCu/xASCWoG2KLU/WtyvYU96iWAp2Y5q6dJtzygx+bT+b23k3Kkd08nE3c/P3Ylwk7YMof3pbx4GFrelZuaQWrMLD59iNGR0X1XqGssilm6kZTXEWNqVBTT297MOXfXFyKCtoxqQnhD8bjoiKVzP0SEsPvXY+NYoLg5w0UAtPequsY318cxcfiR/CiSqJqI2qxaqPfTO7rQiaPFEbqHuYHBqyn3l/opLCCr4wK3vmCyD5/iAePTJ9MZqyNoXGWMyPoUoRnHf1cJ7Ug5PKQ+Mynn3zv78u7p9DDIxPtzawjraP9b0R4N87E2BwONHexST342sRZ2dvA0yH+IIgRyAR7K30DW+swW5s0O5sZdU0nK6KugzVB4/TfCmA+69o40ml0be5c9Mj4XFv3qZ66Fj8vFwo1iAXM1PhgFtXDwymgN6+vTlrgZHc7f3eznGuTHH+fkeBgg5wzf/+DKx42d7Js7lzxePDouqfV7Ykpq7tXPcBrsinMzjktISeFFtmfNByinhlnbKWmcoonbCSrsKC5Il/PX8LJN/sQad9AId0WyLqqFNATSLiHSR0yBfILgat35n+Yh/9bLno6N7hINAwXZjCZ+tMqkT0403r+5qkOO2MT+9b8QhsfQw0LCyIVyoDQy3am/wywrYzFdHZGRrR1rLW1RDC6W/jYCWYWBA0zW7qlbZiVJRwhjVjtWTF+Mxz3HN1/C97G+G37wbkmRrEsMFVIYq6+asPHp+NOthbUdmQlWljGhrvVxPiCgHC0SyJFsUj1yIjM45CBlNyqkwnhiSzVukMVtAsZteVDeTHTCqYqGnpmitRkoIJgH+gKE7ZB8hYxKsMpIbBOK+yXPJEHa0qhFIZYKl2SB+wiFLM7rbH/nn/O8WftCGDHoOSSuRe5nEou9na1sPJ0AwpusE6yOvJCZh+uj+l8xETWBiNbDnxNj/ZdO9QWnyQEbEH+HeM3NCem+qzar95obbt+s3sEE0CNcHLwDAc/J39qhKMDlRECJ3Ly9bvbarQtpa2VWpvsPT0QJ3lkYm9+9vn2g2vtjY1+VOkD/ghFUdUVn4y4SsjmsRvvsyOp7h/7Z8eNN+DHzg5fEd0e8dAS0wGjODVtt9Bg/3FNFc0xdDirCuE4AUguzal19uSYu1ZeK9+7dSNMJ/W5pxdGi52tU6/mL5+5TSJm6Z5SYY5/s9ILbwT9ty4J07A/7OK6ubJ3Q9cOLINk8BjXWifsRmY+Yj0Q/voJ80VOHrBj+K/n3sZnx9/KSIxCYEDefunnx+WJtTtDDPqw/X49B3f7+vza06u3Fpxb5RIJK/7qyY4kK0NlMzdn47rEer+Ic44WFBezdswc2L8T/llcbWj2yD79yvPTna0/h77AgI6dE9nexcdCAy9Yh7n29FlsRHrUXWRuD7fR2sIZW5wcb58j56Zkd81Ka95QgzmnGqsUcL3HByJJ+tpOJqpqPZ6MGG5GhrSPWzAQRCT+YKHA5lSewMf6msrVjKx3hevfOacLw21VGuKY48n20Q1+sZY1Bzzffjx+Ovckwy56aNHUpSY6pjabmVgeEJp8rg3M1HQxa5huOTNPkpUl1cXc1MPFxtadtHVq0OOrEuwqbV7eGTJ7t9biXxGlLV8nCcuazpBn01V4nZxD9mgh/aP02J7xhph9zn/t5SFafAeYfiHM/oHM3wrA1qGguPTtuvN2Pxse199jHiF4ghDG+tPUL0+Uh3gjSOgTSh4Rqm7kRA3oD9fzC9eNpfYJxX3t9DLcNmR1W/vJ+IRy70TxUOq7L8EpwljfVXA50Jn833px03pJbX79PDL/HdlpK+dj5qSFkvPxzkoOV6x0XholbpbUFtXOCh9B49mamV0MenTHmROx3XRadDdxrMfeP5qPHiXpT/UHrbgN7rUTlScql/kPCg0AW/wxt+wEb2pOHIWcGevrnx4f46LUFtSmpDwSMAKawd+icxt9D3SEai1JKSLK/RxROc2+sg6JOq8kFPHKILCmUOBALkCV9K/W+4TNAbfi3rkiC1UxuNbsGTgD91Vks/bpqJrzu9ALlIDH8NSs3E7OR7W9WPgO+Hkv/rXiqeQaVNXCk/EA8Q16CazfYbnpYYysVCToaGhOGp2WlxoO9lyfyq+I5Qv16SvAf7Z5F756nf+pAk4y/ld5ObWWMY6Y6uqaZpqrrOJeqnQem5ok26/BxsG0wcYh/l96ojhajqziF285LylJvH2jY5ojGCq4+u74wvkE8elRQx7+WHpfMEk8vOsvHc5v8OCs0vO55yEFCkQF0DDHkzlsbvVbp42mwosfvCtydf3BXIOLHGC/KzQwI0Hc6lk33AzyayooxOkp8Cz+nWHOML714Fmlx2QeFk/msJVKmZYGzgfYZv6gtpXuNKGpo6+mrr0XqR5u7h6squ4eOvGQvZ4eiGbddtU0UgtGFQH/czz+71GoOaWf0v643ZOLFbQ7HTndNfcc3NIIDT+7nIRZW+Z5RbkpqYONJdln85CgabR5cFi0+il9tSP3QbF7/0B1FpnXw8woPCGvPDnuVEvhiaEuVK3+069bG82XHVUOpMYdM9ZXDYTTnTadL2wjB/oyod0wJlIrSzeL0ZVUVdmXxMjOITJ1mGGtiZxt8ZevOtNDnQ+VqhwvFQy3didb27uTYUnZRN0ptSQnN+l0X25lTx806r5YerEp0E33liEYkVoMsfbxNCWiuVY4dOScu3gu8ef6WkyzX1VVnbm8tWj21b827xXAoiD4lz9i7Pyt6nDQYjeJA37Ral/z+2QzEgCOrwXrb0HKMxeDvr9vUI3stCJywO4bN4ga0VrhO7BrfX8fo9rG96L565FJbRBtB7ClAVBGNYMFdGyA3WMjyFI5EBJi1Iqvhj1Zg/iC46vlHVeL0BKCbBBiF/IOQrbRY1ttECCa0Y9GZVA5qQwp6XBKGXaNTAkcCHQtaj/PArPCh2g6gfHlVmC567tXujMaK9K9qNYqim+pkw9qyeVW/pUPLzAzPzoIjC8lgeXyxtG1y8cCzZIVGI8YWJ4a4+jpaKmFKG9Y6rHJMoq6PKuoyw8VdXlOUZfXLJ3wrX9tCKUjCCzXP47uhqVPkksscwZ/DlDMm7VMeISS5dNJlWvkePomQAWebJZvA0vZGNbSyD4SEEptFVmItWQJ66Ova5VI2xPXng2PYC1uWWopVIYg9J2IS1iurSxSLHKzQpKd6kjYSEXC1iqSaw/Lw1duUDxkuzqPkvWOPvouljdBFpe94/SldWOqtTZ8YPcFIf8fW1L7P+Do/F5uNSqdoQY5O7809tJrR21BllZP12bBoB/UT3IF/fE+xgeMpsFe1RiuracaiQjXPktPJbOJVyxOgVXdi+URwMn5vceXwwjRHJN9jGWUxZl+CSEaz/5h5vw0YOHc7Nep+3CmkeKYRmmM8JclsvyKzljBBvoOY81EUVc4vzwV3AbV9qvfkgPa1mOdJJPn7xVQHmapzhPXtuYocCeGE7ePeeyHpi84VueWO095rAlFfQdOiGu9pyiOYEhDgfYjzNYAhwM0YP9Yc6jmwWRQrT+aAytaA9kRYLN9LgdAub3vYYE4m7zZisvRXP3SfhsNtOmxf5jEroHpCEAtg39O2HTw4SAIDT1scgjDmwI7BwFioZlex7GL+PR+Z5eYAgCPfYFlAXh9XN74T+X/51MWTBELwQEFUMD4gIEbYMozKs9AWAXEbF/fb6kgbWUYVollpEUVo3aLajeg9g2+3YhlsWUYT/wPZdah2kGq+dAp3yhWSZFBkhG/82ss92X0wwJG0AINQdCH71PtFibSQ4JOE6TZahU2BUn1l2Pjw2x7ALYuJafrcevqcloW8YDz1Fg+vb9KkNW1JIe6cCKRvWMU72POihWHt6arb0bbZt6+xryXzMR1XWyjv6DYRYi2L1DtJevQkVT9QKyBp2ZSqtWQ6KXRbJi1bFFNiUnLYdJIrOINmVbFvKUICzkRIZydZyEq5GSMPopqqWiNxcRHym+Nbe4rQzvO4aTXbFzA09+TboJEGgbQ84FtoodK4GD45VHoKuhhIqs1CWxTAnsx52aDMzCQ1dmAWq/xGVlwq2WK6l+wbzQZbs2GgoEqJaPZ8YhftPSXXCX6BbePSuo226ApjX0C4peCOiCh/gVyHxc8EuM6SuRTfzEf50M1I8Y9l3d7I79zQ8Foiklr4toqGbY8Jq1YdKhijSf4jbWQ6k+pcVJifSm+80LjSEpEeSuszCOW/5lUQ8xqzqrqMIl3Cvq2/MjACDqnWkU2fiG0Bh4tRk17Q7itkxlHJFPiP1oogCVUQIA5LKAOS800frEEAeawsNSLpqmGqSaT3Tl3tFR0SbXFdGUYimhesYS9Odo0rKnCmMZMHNUT1UxxE1HSTx4mh2oOeLC82drUrJ3CmDZF2GuFATQ0BPhBBVEOsBCA6UBArQgHAaYQAg1pHAB2AsddEdx8dkVhR98VTVTMoTG7Yh1QyHE+ZeSh8nJ1i6koTMli0IQKEwdPjQpVp+FZiiLwMwTv2VqkQMrc+AZGs4uHiHXiwWI1HiPBxoMo3+JRAhhxMFmZIShrxveFm088Fg0isn0oL1CnRTeYkVp+7mO07cw4TETHnZxYTZk/Jn+BwhKuzE6MUMdtNk2gYJFB3pNYx9mxZsqcAxJzx1ptUvlZcFlJF2QG","ok":true,"headers":[["content-type","font/woff2"]],"status":200,"status_text":""}},"base_uri":"https://localhost:8080/","height":838,"output_embedded_package_id":"1QrEchpT9Mq9lCIttty4XhgAlovLJJ2Fo"},"outputId":"7ea902ca-c767-4982-eca8-ceb23215459c","executionInfo":{"status":"ok","timestamp":1663925439689,"user_tz":-480,"elapsed":410,"user":{"displayName":"jon","userId":"02515558245111120108"}}},"outputs":[{"output_type":"display_data","data":{"text/plain":"Output hidden; open in https://colab.research.google.com to view."},"metadata":{}}],"source":["%reload_ext tensorboard\n","%tensorboard --logdir=./runs/"]},{"cell_type":"markdown","metadata":{"id":"yhAHGqC9-woK"},"source":["# Testing\n","The predictions of your model on testing set will be stored at `pred.csv`."]},{"cell_type":"code","execution_count":null,"metadata":{"id":"Q5eVdpbvAlAe","colab":{"base_uri":"https://localhost:8080/"},"outputId":"53d0a7b8-20ed-4f83-8a9b-d860f16aed31"},"outputs":[{"output_type":"stream","name":"stderr","text":["100%|██████████| 5/5 [00:00<00:00, 414.89it/s]\n"]}],"source":["def save_pred(preds, file):\n"," ''' Save predictions to specified file '''\n"," with open(file, 'w') as fp:\n"," writer = csv.writer(fp)\n"," writer.writerow(['id', 'tested_positive'])\n"," for i, p in enumerate(preds):\n"," writer.writerow([i, p])\n","\n","model = My_Model(input_dim=x_train.shape[1]).to(device)\n","model.load_state_dict(torch.load(config['save_path']))\n","preds = predict(test_loader, model, device) \n","save_pred(preds, 'pred.csv') "]},{"cell_type":"markdown","source":["# Reference\n","This notebook uses code written by Heng-Jui Chang @ NTUEE (https://github.com/ga642381/ML2021-Spring/blob/main/HW01/HW01.ipynb)"],"metadata":{"id":"IJ_k5rY0GvSV"}}],"metadata":{"colab":{"collapsed_sections":[],"provenance":[{"file_id":"https://github.com/TATOAO/ML2022-Spring/blob/main/HW01/HW01.ipynb","timestamp":1663580441911}],"toc_visible":true},"kernelspec":{"display_name":"Python 3","name":"python3"},"language_info":{"name":"python"},"accelerator":"GPU"},"nbformat":4,"nbformat_minor":0} \ No newline at end of file diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" new file mode 100644 index 00000000..a5f428f1 --- /dev/null +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" @@ -0,0 +1,12 @@ +config = { + 'seed': 220418, # Your seed number, you can pick your lucky number. :) + 'select_all': False, # Whether to use all features. + 'valid_ratio': 0.2, # validation_size = train_size * valid_ratio + 'n_epochs': 3000, # Number of epochs. + 'batch_size': 256, + 'learning_rate': 1e-5, + 'weight_decay': 1e-4, + 'early_stop': 500, # If model has not improved for this many consecutive epochs, stop training. + 'save_path': './models/model-v10.ckpt', # Your model will be saved here. + 'pred_path': 'pred-v11.csv' # Your model will be saved here. +} \ No newline at end of file diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/covid.test.csv" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/covid.test.csv" new file mode 100644 index 00000000..4635dd43 --- /dev/null +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/covid.test.csv" @@ -0,0 +1,1079 @@ +id,AL,AK,AZ,AR,CA,CO,CT,FL,GA,ID,IL,IN,IA,KS,KY,LA,MD,MA,MI,MN,MS,MO,NE,NV,NJ,NM,NY,NC,OH,OK,OR,RI,SC,TX,UT,VA,WA,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7102743,0.7240316,14.5616417,11.1175833,52.9058154,17.842008,31.7333285,66.9642023,31.8637288,41.5639747,18.7579293,4.1010579,11.7455548,9.2002811,31.2324546,7.465515,0.6557869,0.6700901,14.3128492,10.8830534,53.6328023,18.3920395,32.0097957,66.6768566,31.9128609,42.1337758,18.8001219,3.8787749,11.8581916,9.1275922,30.7006016,7.5618364,0.7798426,0.8020755,15.2175422,11.6238472,55.0071919,18.4977082,33.0006874,66.2156248,31.7826106,42.3976095,18.7605596,3.7457525,12.9024374,9.5381241,31.3370242,8.4235115,0.7655268,0.7884725,15.8402616,12.1423361,56.4132617,19.1534658,32.6866733,65.9456588,31.6992483,42.2746916,18.4655022,3.6237835,13.0087374,9.8571052,31.347696,8.3570209,0.6928459,0.7124773,15.936616,12.2412296,57.5097008,18.4634149,32.4706223,65.2369538,31.7300284,42.0311827,18.1884522,3.4721051,12.4525703,9.4000244,30.5508734 +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3474496,0.3467138,9.7278416,6.3004187,49.6860008,22.6809902,31.5992755,61.3082709,29.8260952,40.8331474,17.4808087,6.6744932,10.6285949,6.7298623,32.249644,6.8075117,0.4622796,0.4535092,10.2165773,6.9682333,51.0246649,23.0564883,31.6789394,61.1809163,28.7531065,40.6653696,17.0150202,6.4611836,10.8980603,7.0447033,32.9835223,6.4903877,0.5156285,0.5069056,10.4979298,7.1553114,52.2081788,24.3603871,32.10206,60.1631673,28.4946849,40.704227,16.5626532,6.3649175,11.2064945,7.223559,33.9637047,6.8720412,0.6870327,0.6977337,11.1637124,7.8689315,54.3159088,23.5727584,32.4197806,60.1083872,28.1948966,40.1362679,16.567779,6.1627289,11.3768422,7.1558665,34.6033684,9.3181861,0.6687388,0.6794639,10.9954367,8.0303793,54.8085646,24.2017017,31.4990356,60.3600298,28.3194167,39.919723,16.6142917,5.9923323,11.7475281,7.4386058,35.3648714 +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6555507,0.66084,11.5194382,7.9192528,50.658992,13.2766382,28.9233774,64.4299549,30.3773343,40.047315,16.2416311,13.8645297,12.9052814,9.569775,37.4177677,6.0622305,0.6351283,0.6351283,11.5145691,8.0359141,51.2453702,13.4524315,28.578727,64.8711537,30.5880311,40.1464443,16.352592,14.048134,13.0610246,10.0059394,37.6062512,5.1810855,0.5632093,0.5750105,11.5006,8.2959613,51.6441137,13.5374706,29.1170637,65.7793173,31.0791449,40.0738576,16.5399015,13.7951957,13.0430166,10.3348991,36.7760594,5.0329252,0.6052973,0.6089202,11.1355338,8.1331724,52.4866432,13.8049781,28.9844911,66.1264272,31.2998068,40.3995273,16.7833274,14.0587989,13.1290314,10.4928964,36.6702818,5.0401427,0.5888664,0.5920418,11.4147733,8.3899353,53.3221757,13.7426565,28.6969958,66.1144282,31.2113813,40.4485385,16.9987219,13.9516313,12.8980889,10.2147107,37.0287053 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8776239,0.9248742,18.0570304,14.794566,61.1536804,13.9033887,27.5363332,65.4103808,29.1074295,41.1248303,13.881023,5.055974,14.3558033,10.4899104,31.2903441,9.0693229,0.9042173,0.9438384,18.3144485,15.1165275,61.705658,14.4539989,27.8838115,65.9552056,29.3068581,41.0932713,13.9712572,5.248605,14.3077643,10.6299464,32.0764733,9.2248865,0.9624227,1.0112969,18.647339,15.3504282,62.7913485,14.0942543,28.0873835,66.2903011,29.4229288,41.3438045,14.2540044,5.3174058,14.6642041,10.9632613,32.1537174,9.365114,0.8328044,0.8861369,18.8132645,15.6253444,63.8306636,13.8273721,28.3561057,66.6695635,29.4268509,41.3029557,13.9599057,5.3945254,14.4851948,10.9636631,31.7076385,8.98772,0.8496475,0.9031113,18.9517762,15.8025246,64.63926,13.7634419,27.9079348,66.5815255,29.112434,41.1235709,13.9499037,5.3374266,14.9449722,11.5562925,32.1463465 +4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6324511,1.6424314,26.8215492,22.1071066,69.7956235,14.1411345,36.0528659,67.5835462,29.0688171,40.5501318,18.3512262,2.7064356,15.5222176,9.6302768,41.9817406,18.9820158,1.4686237,1.478914,26.0093253,20.9961763,69.3573171,13.3931389,35.9270233,67.4641235,29.3238796,40.3837351,18.9930184,2.7841387,15.1449603,9.8696465,40.6620572,19.3492879,1.4750788,1.4873947,26.0596581,21.0723723,69.7365998,13.3848314,35.5093361,66.4642206,28.6682569,40.2880607,19.2018648,2.7788296,15.1544589,9.6406634,40.9012313,18.0399321,1.4588643,1.4964178,25.1810462,20.1594936,68.6891612,13.9403433,37.3610579,66.8033006,29.3555383,41.2674195,19.2755944,2.9164375,14.9226341,9.5444899,39.4010197,17.3214011,1.3177121,1.3450972,24.2829154,19.0621904,68.5173729,14.4276364,37.6231966,66.5026572,29.7166126,41.7902565,18.8555237,3.0152187,15.225684,10.1267518,39.1636944 +5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1714999,1.1639628,23.8169308,19.7073499,44.616522,18.3159003,39.5005407,66.1317889,37.5026554,47.0881944,22.6248719,3.3687567,14.9322051,11.2106522,33.6047345,11.047798,1.1961154,1.1638425,24.4027615,20.1068797,45.160201,18.5002054,39.4286407,66.3492532,37.4384718,47.0896567,22.5872038,3.1564282,14.6475671,11.4317074,33.0444207,12.3059505,1.2350341,1.2127288,25.6477242,21.239042,46.172997,17.9710395,39.6224432,66.0942832,36.87073,46.6616741,22.4082751,3.2103225,13.8398503,10.4390774,32.7608445,12.9629222,1.4174469,1.4014165,26.3555906,21.6163633,47.3440316,17.5031159,39.2092784,65.8150963,37.0468269,46.7776371,21.9524987,2.7241874,14.658436,11.0993082,33.1549102,13.437482,1.5237033,1.5039693,26.8893459,21.9873898,47.4407743,17.131927,38.7813498,65.280957,36.5501807,46.0640128,21.0376526,2.6415499,14.709516,10.8966253,33.4518325 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.8249406,0.843179,11.8992129,8.2214513,40.1642829,15.7702137,30.8067696,67.9183277,37.6195076,46.4840535,21.3047744,3.615539,9.8381801,8.1704161,34.561257,9.7269833,0.9092151,0.9362347,12.8397276,9.0312606,40.2106781,15.9347819,31.2629588,67.8133854,36.7860475,45.9849208,20.9519265,3.496699,10.1926261,8.0910815,33.9100704,9.5161198,0.856117,0.8730154,13.0855162,9.2721748,40.6250191,15.2988224,30.7439593,67.4982283,36.0706671,45.800783,20.6942326,3.4002095,10.1014408,7.9178426,33.3569549,9.2532702,0.8985756,0.9206935,13.7226361,9.548058,40.7674225,15.1480015,31.1609433,66.7282321,35.417764,45.0043981,20.0615542,3.2981497,10.5128915,7.8826364,33.5535191,10.3279209,0.8631159,0.9008257,13.7176637,9.6134353,40.5968394,14.7898242,30.76856,66.7158333,35.0537904,44.8386584,19.8906951,3.3049988,10.3144279,7.7883658,33.6541037 +7,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0725516,1.0892451,16.0393156,12.0159396,46.4280563,17.9339396,33.7203696,64.5100779,34.0963795,43.8068064,20.9577824,4.4791118,10.3697767,8.8950058,36.5738169,13.1211462,1.1688389,1.1784011,16.2605739,12.5232069,46.0681072,17.9809799,33.6404011,64.2842801,33.8945167,44.2292701,21.039867,4.5002267,10.3287769,8.7003353,36.3345147,15.2892795,1.2576409,1.2666941,17.0934435,13.1645788,46.8299808,17.8002826,33.8719378,63.6994334,33.0891448,44.0086036,20.8050076,4.3656823,10.1664438,8.5134116,36.4318689,14.8101735,1.2570566,1.2524036,18.1589335,14.034207,47.793051,17.8078177,33.9745299,63.8243911,33.7070859,43.4377262,21.2817134,4.4126354,10.708,8.5702407,36.6030289,13.9162986,1.2714499,1.2954932,19.200421,15.0259553,48.5778092,17.5118944,34.4501331,63.6355441,33.6843002,43.3419075,21.474203,4.371366,10.7432993,8.1192342,36.0174834 +8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.9965754,1.0125267,14.7532138,10.5289745,46.2850307,11.8775826,30.7921457,64.9647224,39.897939,42.4346135,22.3971658,4.4931297,10.1195329,8.882586,40.012577,10.3932681,0.9736286,0.9939667,15.0005459,10.9592699,46.3564836,11.851655,31.0040155,64.4639888,39.7233896,42.314371,22.4694162,4.4799618,10.1177141,8.8813684,40.0471092,10.4820735,0.9671638,1.007116,15.7731311,11.7111859,46.8505119,11.604015,31.920069,63.6890605,38.867116,42.1645539,22.0534446,4.3857263,10.4180907,8.8683953,40.1463836,12.0143116,1.0045728,1.0487466,16.7132687,12.3354799,46.7807535,11.4585833,32.1517071,63.1202626,38.000665,41.8861954,21.5922039,4.2270821,10.5758633,8.84363,40.6542816,12.9441581,1.0555008,1.104391,17.3605101,12.9487862,47.138159,11.5455497,32.8440485,62.5167685,37.5878294,41.8523649,21.4475395,4.3002747,10.9414722,8.8936579,41.2125395 +9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1669668,1.2637247,20.3226677,16.3122431,82.8123787,13.102513,33.3525093,66.1834949,37.9554382,39.3708896,20.0571091,5.0593533,13.2208086,10.5352143,36.3546298,12.5121499,0.9096312,1.0419079,20.0755138,16.1010303,81.4108751,13.68152,33.6596543,66.2236861,37.8138497,41.0349615,20.067369,5.8314911,13.8571708,10.7609204,36.3359494,10.0360557,1.1297048,1.198219,20.6448702,16.2450896,82.0148983,13.5255997,33.8104601,65.3418918,37.527423,39.9308866,19.2525861,5.3507225,12.7226702,9.5874354,36.8115606,10.3365638,1.0587989,1.1395153,20.2991024,15.8281579,81.4819937,13.5282167,33.8038541,66.3745382,38.4931756,41.2905285,19.2252675,5.3262406,13.1578646,9.6181139,37.7441952,11.0694227,1.1178605,1.2731727,19.77811,14.9087007,81.9071383,13.8243316,33.172732,65.6040323,38.6746617,41.8953423,19.1165877,5.9282329,13.1512259,9.8981674,37.7281834 +10,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8312468,0.8500403,12.7484533,8.6966526,25.9147032,13.9861975,30.4994024,67.2391995,40.2341446,46.6625919,20.8730406,8.2206365,10.6715182,9.7012128,33.9189163,10.8938171,0.8371631,0.8546972,13.1276545,8.8945835,26.3786772,13.8982216,31.6557215,65.8835424,38.5155794,46.149027,20.7545628,8.1044985,10.8412545,9.3031272,33.7463916,9.7499695,0.7769544,0.8032662,13.684103,9.3697717,26.8092903,13.6982958,32.1047762,65.9204749,37.96288,46.3769018,20.8854433,7.6297624,11.0703675,8.9454312,33.6386307,9.1584294,0.8355664,0.8619769,13.8903113,9.5379232,26.850639,13.2064236,31.8020561,64.9183341,37.0598219,46.2110833,20.6098751,6.9421349,11.2874324,9.1537259,33.2622482,6.783923,0.917249,0.9509107,13.8517008,9.4415182,27.217011,12.9786489,31.0289802,64.5481607,37.3999564,46.3656791,20.1460569,6.5710611,11.2303775,8.9100065,33.1889561 +11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.193632,1.3475182,18.9309615,14.3866257,81.7070715,13.7618655,33.7175776,66.0081787,37.6671269,41.3084154,18.1534804,5.3809484,12.0551169,9.1879521,36.6967678,9.7935018,1.0106111,1.1655724,17.442469,13.6806685,82.4084757,13.9460044,33.2495872,66.457558,36.4297002,41.5685038,18.3886366,5.5564451,11.7282118,9.0874224,35.5465884,9.123212,1.0694618,1.1891389,18.199891,13.6014292,83.6392886,14.151015,32.3642892,66.6249733,35.8440762,41.0434476,18.4829756,5.6156331,12.6002888,9.3929425,36.4867512,9.668955,1.0254021,1.1115461,17.3816121,12.9241386,83.7500237,13.4652198,32.4797584,67.1972857,35.4939897,40.5647966,18.9139562,5.0212673,12.384081,9.1881891,35.836368,9.7851259,0.9242309,1.0089697,17.053844,13.0407031,83.4190286,13.8196192,32.844277,68.4399149,36.6757992,41.5613158,20.1208692,5.2368826,12.3465839,10.3019267,35.9469955 +12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.856898,0.9106611,12.9527747,8.4499568,24.4588248,16.4018896,35.3921467,64.3580942,34.9955707,47.7452882,21.2911352,3.7676287,11.7465138,10.3396342,33.7981484,8.83233,0.8435173,0.8950856,13.2728509,8.7462168,25.348308,16.1033495,35.3775566,64.3023519,34.7083004,47.6284189,21.409864,3.7028964,11.9449781,9.982809,33.7745201,8.5507147,0.7817873,0.8500594,13.6791167,9.117073,26.0906104,15.7008412,35.4041231,63.922342,34.3006787,46.8974146,21.1307043,3.6471774,12.0813186,9.9566785,33.4921709,9.3390697,0.7373015,0.7957448,14.0577127,9.4577665,26.9335072,16.1933152,35.1487224,63.7747966,34.4263616,46.8484627,21.5793329,3.6756355,12.2572951,9.9671171,33.2878148,9.3575314,0.7384572,0.8073455,14.1537523,9.8303147,27.4260027,16.2083329,35.5389961,64.5168037,35.0369476,47.2947006,21.2732041,3.6047575,12.5280225,10.3963296,33.2302879 +13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1645911,1.2259466,17.0247391,12.8301706,44.8556699,10.4408241,28.8665031,67.448014,39.5794649,41.3897184,20.5764972,4.9990709,10.1327194,8.1839941,37.1244607,14.4859798,1.2664749,1.296593,18.5383923,14.1492124,45.0040319,10.3345164,29.6481319,67.3197229,39.3614243,41.6116451,20.3605571,4.8523017,10.0828518,8.0467491,37.1997576,15.4030614,1.3312598,1.3671187,19.3541734,15.0596443,45.2742821,10.5507211,30.1324507,66.6625798,38.529148,41.4806672,19.9370477,4.9096552,10.3931114,7.8703108,36.913415,16.207805,1.3879515,1.4027738,20.2483607,15.7842173,45.6514492,10.3866455,30.3257832,66.1382619,37.9221316,40.893922,19.296783,4.7794989,10.6901664,7.9342461,37.2823804,16.709612,1.481688,1.4895405,21.1839057,16.6823741,46.3993752,10.4737441,30.1889012,65.8925948,36.878467,40.6954972,19.0734526,4.8513001,10.5995377,7.7760791,36.9913505 +14,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7001876,1.6761154,25.2546172,20.2898138,53.9846197,16.6679138,41.5800722,65.1908894,35.9648633,45.1462322,22.8470414,4.1725143,12.2128582,10.1428421,34.6006864,17.1487875,1.7590737,1.7284651,24.657776,19.883662,54.4357775,16.3742794,41.6094511,65.5218004,35.1089468,45.2814958,22.8898109,3.9604582,12.9830094,10.7850412,34.8742477,15.4618813,1.7486129,1.7004254,24.3156713,19.4683394,53.0600873,16.4001928,42.2724563,66.0244054,35.2770074,45.8530984,24.3229075,3.716229,12.900963,11.2954883,34.8226542,14.0756664,1.6466416,1.6356321,24.0346406,19.3619811,52.6723705,16.3242234,42.5483099,66.3656731,35.3425933,46.5653264,24.9465649,3.9345083,13.0906794,11.5912949,35.6083028,12.1795299,1.4895585,1.5038972,23.4853464,19.5489568,52.5467539,17.010765,41.9237749,66.9511626,36.0639881,47.3470669,25.0563253,3.643447,12.6600004,10.9225012,35.0848178 +15,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.746611,0.771184,11.3437002,7.6355662,46.8527067,22.8145425,30.6908946,65.1158147,29.293131,42.3921725,16.6333866,3.9337061,10.7124682,8.0976864,35.4961832,6.8527919,0.7966989,0.8389694,11.7406542,8.0412773,48.4656301,23.4318817,31.0176125,64.9902153,29.334638,43.3855186,17.0841487,4.3639922,10.7232546,7.6825558,34.7640562,6.712963,0.6033505,0.627177,11.3058552,7.9545455,49.98,22.4326435,30.3036126,65.5457341,29.8039969,42.7555726,16.7371253,4.3620292,11.4657814,8.114374,35.2022529,7.5342466,0.5478651,0.6007193,11.354127,7.8927349,51.4740566,23.5147566,30.0756144,65.3875236,30.2646503,42.3251418,16.2003781,3.9886578,11.3732768,8.0395299,34.3168527,6.5400844,0.4819515,0.5338008,11.4365672,8.1156716,52.3782125,23.704955,30.4307464,66.0415893,30.3564798,42.2762718,15.8373561,4.1032306,11.0901241,7.7403585,34.3902439 +16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8405834,0.8298432,13.2052917,10.3907923,40.1280051,10.7140028,30.2031317,66.7635674,34.6352464,46.4469195,18.763089,2.9775749,11.9764812,9.6560368,29.3832846,9.1121524,0.7793939,0.7629632,13.9227507,10.8479062,40.8343076,10.7311984,30.1476675,66.8269602,34.1479502,46.1371143,18.5085328,3.0191178,12.5408366,10.0553341,30.0074309,8.4234996,0.782203,0.7656823,14.0297236,10.9243754,41.4182019,10.687252,30.1630906,67.1535301,34.1879458,45.8244531,18.5516478,3.12851,12.3730017,10.0913148,29.5590874,8.9116761,0.8299673,0.8250775,14.4248987,11.1891045,41.7412312,10.9930133,30.4510712,67.4771769,33.9753328,45.8375353,18.4372598,3.0886657,12.6211437,10.0969392,29.6688018,9.5125846,0.7922528,0.7942073,14.0742747,10.8049307,41.7204823,11.0484303,30.386292,67.4616751,33.721278,46.2181011,18.3299288,3.1147661,12.9274697,9.9387213,29.496921 +17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6617733,0.6478638,11.8712171,8.8760153,53.9944819,13.6851305,29.1906937,66.0499056,30.9833367,40.6279478,16.988156,13.8746219,12.6862518,10.0062978,37.0288014,5.1271191,0.5900604,0.5848776,11.8313173,8.9106344,54.5563684,13.7593738,28.8241375,65.832909,31.2377581,40.170191,16.9210937,13.9195483,12.7108045,9.7126781,36.8702773,5.273917,0.6430808,0.6286893,12.0232094,9.106961,55.2302324,13.688874,29.072953,66.0638362,30.8763978,39.8024314,17.0871331,13.9665677,12.484786,9.3629527,37.0116619,5.3149615,0.6512667,0.6446401,11.9748752,9.1507524,55.9006542,13.6034516,29.0691846,66.5943963,30.9146859,39.6984661,17.1288835,13.9723696,12.6642382,9.3933275,36.6442539,5.3515633,0.6799561,0.6736683,12.1404621,9.3454606,56.8058007,13.7004789,28.9208718,66.8073678,30.7211158,39.8240427,17.0921496,14.0103759,12.9751351,9.2767622,36.917826 +18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7121988,0.7228044,10.9620331,8.0690365,55.9676132,24.8766401,31.1445121,61.3410619,28.4902361,39.8656466,16.2875221,5.8773025,11.9750798,7.8271303,34.4274967,9.188042,0.7703043,0.780883,11.1630574,8.0824037,57.2068886,24.9301736,30.9818785,60.9853845,28.819146,40.2163563,16.1517635,6.0933936,11.8502601,8.1726424,34.7691333,8.9958234,0.9685748,1.0006056,11.6898997,8.3797965,58.1265835,24.5869848,30.7172496,60.4123329,27.9798952,39.6569464,15.5405289,5.9771345,12.4312131,8.13482,34.7376396,9.1093191,0.9084661,0.9402122,11.3542421,7.839426,58.8080204,25.1812229,30.448928,60.1953366,28.6326246,39.8731898,15.3015716,6.2200173,13.1186758,8.6569567,34.8444267,8.2692339,0.9431303,0.9947299,11.9095537,8.157458,59.840248,24.8582919,30.1536837,61.2261917,29.0177092,39.7093116,15.6197739,5.9639188,12.8359057,8.3333309,34.3623855 +19,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9797999,0.9978858,18.213374,14.8092666,77.0585084,8.0685856,28.4540546,63.707739,28.086473,37.1357374,14.2255976,5.7301134,14.6405538,9.9226458,36.9817583,9.9164657,0.9961764,1.0150422,18.2071173,14.7024224,77.4151929,7.9152977,28.157223,63.4373856,28.1055283,36.949006,13.9656487,5.5438349,14.7382346,9.7307661,36.8833954,9.5727572,1.0539836,1.0684388,18.6349036,15.033556,77.7818187,7.8229659,27.9809317,63.5828237,28.0479648,36.7841253,13.8688237,5.4649213,14.8989885,9.8703113,36.9294971,9.639956,1.0141947,1.0383756,18.7359669,15.0839764,78.1466887,7.7184995,27.7576089,63.2895589,28.3409566,36.7588231,13.6311186,5.4152961,14.7255312,9.9302304,36.9109151,9.6707495,1.0217507,1.0431342,19.0972467,15.4157168,78.1500655,7.6853565,28.0764208,63.3577526,28.5165214,37.3721508,13.9332309,5.3120868,14.7987601,10.0625597,36.67824 +20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8449033,1.9067627,24.9397098,20.1442606,45.1616156,15.4346003,41.7106921,65.9182605,40.4088396,51.8997015,30.4328992,4.3512807,11.9539362,8.2395958,31.8772668,18.096341,1.9005907,1.9652301,25.6432754,20.5399924,44.7606314,14.8880567,41.1780714,66.1478614,42.2883011,51.5354686,31.0961818,4.3594371,10.7271174,6.5527571,30.1790694,18.3979793,1.6303891,1.6407106,26.203067,21.3736414,45.6055219,14.1761503,42.0105293,66.0005796,41.2963979,50.8059293,28.9380485,4.667235,9.8394744,6.7268894,30.198196,19.7493167,1.9523187,2.002437,27.2262689,22.2128866,46.039426,14.0214927,41.6339982,66.5385617,41.6311542,51.5954713,29.1712341,4.7686025,10.3318628,7.5468174,31.5371531,19.1514391,2.0339804,2.0739201,28.7933881,23.2792124,46.2011465,14.2602839,41.0480644,66.3329701,42.6688943,52.1015138,29.1152725,4.6746624,10.7577427,8.1506867,32.5473683 +21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6360699,0.6511333,12.7099664,9.8595126,57.7247918,13.8465396,29.3179044,66.9708428,30.3680664,39.4830759,16.50184,14.0752456,12.9134341,9.32394,36.3552192,5.7633583,0.6339566,0.6451471,12.7137505,9.9109571,58.1586723,13.725199,29.3798791,67.2357884,30.4742087,39.6646082,16.4707698,14.099707,12.8623558,9.3997183,35.5843939,5.3652964,0.5829572,0.5989191,12.7056573,9.9367964,58.7730847,13.8638865,29.2529674,67.3788457,30.4494211,39.7194867,16.8057515,14.0106573,13.2194282,9.5880882,35.3373669,5.4419276,0.6188145,0.6310932,12.7592094,10.0312048,59.2172262,14.0625024,29.0743368,67.2794124,30.4341201,40.0332393,16.8664405,13.7842469,13.2717918,9.8271113,35.3194501,5.8972491,0.5936429,0.6366879,12.8687529,10.099337,59.4697376,14.24973,28.9780174,66.8758167,30.534081,40.4326903,16.7101742,13.668306,13.4136637,10.0598253,35.6683426 +22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4071126,1.4012576,21.3599367,17.0558296,75.1516447,11.3988495,32.2276567,61.2031587,29.5952968,37.8839906,16.2721164,3.297237,14.4633451,11.6383378,39.2043519,10.1882025,1.2680963,1.2622575,22.3940729,18.0422366,77.4050493,11.537342,32.9269159,61.795854,29.8069457,38.912088,16.2679442,3.4379036,14.2379189,11.1871936,40.2697673,10.1923006,1.1720551,1.16233,21.8429382,17.9019305,78.4685133,11.7682889,33.0472518,61.6739417,30.4255374,39.1084988,16.2220651,3.2501401,13.9924628,11.5458799,39.6113337,8.8014936,1.012701,1.0470232,22.2783904,18.3266412,80.1735968,11.5308658,32.5574778,61.3873563,29.723322,38.2594605,15.3710151,3.3609247,14.1940142,11.8862826,39.0739549,9.3406535,0.9970621,1.0472873,21.9203197,17.8519299,81.3843708,11.5927304,32.3072232,62.2076258,29.3968228,38.0186292,15.245943,3.1575934,14.5028742,11.7856984,37.3382752 +23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9956423,1.0696772,16.3445778,12.5687938,83.5665639,13.6186847,31.998426,69.5163258,36.6005808,40.4212602,21.1055072,5.0444153,11.6543064,11.1912214,36.0004182,8.5843638,0.9061211,0.9061211,16.8578439,13.1622817,83.234124,13.6528951,32.7814401,69.544247,37.4128486,41.4433206,21.8657381,4.6018974,11.8083145,11.1908863,36.9444843,9.3308302,0.9107271,0.9107271,16.9433824,12.9785321,84.1206062,14.2004799,31.93887,68.2252334,37.0421378,41.2039256,22.8209367,4.991523,12.1199357,11.2991525,37.4626785,10.2280243,0.974674,0.974674,17.127801,12.7937617,83.7424929,13.9059751,32.8902539,68.7323604,37.2576519,42.1103227,22.8593068,4.5710765,12.1785861,11.836881,38.7837622,10.3578605,0.9806153,0.9806153,15.7163089,12.1709047,82.9443424,13.7183149,33.020953,69.6687729,38.0541191,42.5605893,23.1209487,4.4890979,11.6906048,12.0114369,37.7181279 +24,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7287773,1.7217866,29.2072829,23.8680968,64.3915156,13.8903073,33.9215999,62.4599982,30.3733889,40.5740563,18.6205966,2.4402406,15.8588578,11.0498993,40.7809105,13.8596599,1.6972137,1.7506822,28.3395833,23.089998,64.4061665,14.2814708,34.4654664,62.8958795,31.2748495,41.0566747,19.4688649,2.3807619,16.6661842,11.8948151,41.4909165,14.0071482,1.5627028,1.617447,27.9200691,22.2618791,64.8006363,13.9349579,34.0690398,62.7685372,30.8415112,41.2849691,19.829244,2.395942,16.6176795,12.5569687,41.5952281,14.982,1.4770888,1.566401,27.5714928,21.8742538,63.9699563,14.5354342,34.3460999,63.4562703,30.829009,41.8289079,20.5977136,2.391852,16.9408963,12.8882747,42.4524509,13.6182563,1.3317841,1.4106184,26.9064405,21.306628,63.6204641,14.235148,34.9520795,63.175454,31.1994975,42.3383613,20.1359951,2.5310974,16.5720138,13.440031,42.131651 +25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.5221876,1.5134898,26.9534936,21.1741025,47.5437626,13.3314163,37.7640748,67.4019049,34.7747883,48.2241865,24.5635845,5.3858662,14.3468472,12.1639291,33.9240011,20.452008,1.4928467,1.4126088,26.741526,20.9720527,46.9307973,13.4181069,38.9076262,65.9812925,35.4748504,48.4793308,25.2099053,5.4844472,14.8541009,12.1993797,33.5211892,18.7463017,1.7405061,1.7248456,27.5126639,21.6198015,48.1631717,13.1736427,38.7100357,65.4909754,35.0718717,48.4064147,25.5049352,5.4750446,15.612498,12.7049638,34.1957375,18.9116819,1.6134522,1.5780904,26.6648253,20.8780642,46.5453958,12.4603311,38.474031,66.0076712,35.3149948,48.7418235,25.429565,5.1979699,16.2831834,13.3289135,36.031666,18.9116819,1.8879343,1.7935834,26.1346398,19.7956326,46.9363239,12.2949602,38.7569008,65.8137179,35.2628773,49.7802473,24.5607085,5.2276052,16.6231785,13.5011115,35.8975838 +26,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6361009,1.7514714,27.3969919,23.4283117,44.0227184,17.3817291,39.833366,65.7853514,35.9556386,48.0211588,24.8548714,3.557537,11.979023,9.5746519,30.9487679,29.815664,1.7397315,1.8194445,27.068009,23.3913166,44.1182905,17.7301686,39.7722111,66.1183706,36.0755154,48.1286568,25.0222938,3.8003391,12.1191263,10.1538861,30.3539613,28.9214895,1.6170708,1.7039089,26.661641,22.8182944,43.4829529,18.1564074,39.5209006,66.2734704,36.3240778,48.1823334,25.3191981,3.6053755,12.3340307,10.6045591,29.9126661,25.3225084,1.5972206,1.6569772,25.9305924,22.1177779,42.8860561,17.6745693,39.5655067,67.1762044,36.9394301,48.6898746,27.4575185,3.5690086,12.2506711,10.8740879,30.2608752,23.2727216,1.8305351,1.8780004,25.6786115,21.4841592,42.3633102,17.4691227,39.5866475,67.3149682,37.7077894,48.8579703,27.8902951,3.860882,12.0416386,11.5682971,31.1595008 +27,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9652315,0.9886599,14.2156875,10.6912401,48.9158655,19.6200922,32.2011395,64.9525585,34.2251823,43.6875467,19.614167,6.2555349,11.3919922,8.9125218,33.1902187,8.2481752,0.9526125,0.978372,14.0810324,10.6803501,49.993418,20.2508043,31.8132143,65.6623133,34.6347184,43.6572178,19.3996471,6.00863,10.8922706,8.7728834,33.3694989,8.698538,1.0101614,1.030556,14.5272927,11.0761552,50.6071343,20.6781173,31.8088416,65.9930976,35.0938542,43.6065372,19.4735158,5.9904386,11.0827269,8.7550541,33.353829,8.6352636,1.0280993,1.0399204,14.997221,11.5158916,52.219085,20.5061403,32.1394974,65.710502,34.9659936,43.1203572,19.2376378,5.9736322,11.1788895,8.4170559,33.0642989,8.6931145,0.9388343,0.9476965,14.7440655,11.2865768,53.2582328,20.6538429,32.4349245,65.8473404,34.9702039,43.7381867,19.7570107,6.0011535,11.8335631,8.9627288,33.027364 +28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7758143,0.7878247,11.2945111,7.7640785,44.6629324,25.0505551,29.6644178,66.6329574,31.5736127,41.6401095,14.8828307,7.4486398,12.0779521,9.1927176,33.2549287,6.3749761,0.7353211,0.6906754,11.1561093,7.7771571,44.3217923,24.3572609,29.9320522,67.3790343,32.451167,41.4236796,15.1004654,7.345018,12.7677631,9.6674019,33.5702099,6.3095013,0.6858407,0.654356,11.2548612,7.8603075,45.6447645,24.2940941,29.2145669,67.3632804,32.66477,41.500656,15.4978636,7.6156923,13.7980543,10.0114572,34.3840641,5.5282352,0.7968108,0.7744624,11.8859047,8.1741088,46.7733043,24.3906637,29.1723726,66.7717454,32.9816397,41.8333443,15.9358609,7.4129716,13.6464715,9.9722028,34.8179149,6.9086408,0.8201958,0.7854011,12.0320021,8.5593966,48.2639138,24.4334302,29.3098748,66.434816,32.8559795,41.6666383,16.0256311,7.8150392,13.6060076,9.9276754,34.276885 +29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4685948,1.4559183,23.9848311,18.7729495,67.1450442,14.960364,37.6905403,66.19051,29.7016652,42.4873582,19.0574394,2.9235819,15.6718293,10.8678205,39.0101925,16.5173904,1.4766856,1.4510699,23.7505205,18.5588081,66.940909,15.2997527,37.6727918,66.20834,30.6859819,43.0214674,19.0416234,2.961771,15.121097,10.3508219,38.0409202,15.885488,1.4905065,1.4696823,23.9795022,19.0276642,67.1284426,15.1592395,37.171953,65.6905457,31.5251291,42.9057036,19.3309905,2.599705,14.7652275,10.4126567,38.3195839,16.7578381,1.44756,1.4920379,24.0515833,19.2312631,66.4780417,15.8783041,36.9797618,66.1234336,31.4857166,43.1085402,19.3270811,2.4978377,15.0150799,10.6517275,38.8196883,15.5848102,1.2992597,1.3438259,23.7904663,18.443172,67.0793665,16.3347651,36.7352482,67.0088956,31.70678,42.5840097,20.2869785,2.4693961,14.8554305,10.4654894,38.2972127 +30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8038456,0.88081,15.8394979,12.1943125,27.4156481,20.0301455,34.0327074,65.455358,36.7654949,44.5404546,21.0494737,2.9830023,14.3380817,11.7953844,36.30713,8.4795173,0.8099415,0.8844855,16.7075028,12.8366791,27.5627085,20.3371202,33.5873607,65.2879792,36.042013,44.5886659,21.5850976,3.4392895,14.2338445,11.0550786,36.4044442,9.7058595,0.8557831,0.8875209,17.3645389,13.2766247,27.8282899,20.461285,33.1313023,64.7928908,35.2594123,44.9118235,21.2631004,3.4583917,13.9310285,10.873573,36.9103534,12.9517838,0.9792551,0.976399,18.1470779,13.9609034,27.750494,21.1719965,33.3078632,64.7520906,34.626954,44.6904565,21.2036768,3.3062654,13.983171,10.7927188,37.5115584,13.6871203,0.9467451,0.962218,18.6269772,14.3757119,28.4012014,21.2988748,33.735106,64.3924342,34.0219281,44.9421275,21.0836304,3.5661391,14.2136708,11.4246124,38.0319916 +31,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.502011,0.5541487,11.3950019,8.000746,53.882938,23.8780853,30.2156936,66.214206,30.3272592,42.1160283,15.3774637,4.4068427,11.1013986,8.2356389,35.0058685,4.8523207,0.4902198,0.4958638,10.8514493,7.5905797,55.3894426,24.1048825,29.647785,67.0842411,30.1924473,41.7392883,15.4502542,4.3391431,11.21875,8.6888331,34.5403023,4.6992481,0.6023087,0.6217726,10.5385164,7.5784593,56.6197691,24.0149095,29.8996775,68.0938732,30.652096,41.7233966,15.1379434,4.7474024,12.2641509,9.5521344,35.3667137,4.7038328,0.5799684,0.6329937,10.762894,7.6110315,57.8385228,23.5325507,29.9820144,68.5791367,30.8453237,41.0251799,14.8381295,4.6223022,12.3715125,10.1028655,35.8203415,3.5472973,0.5963429,0.6571097,11.4047535,7.9283434,59.1006808,24.2857143,30.4665242,67.6460114,30.5377493,41.3283476,14.9394587,4.6830484,11.3033873,9.17465,35.6983655 +32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.0108522,1.0374704,13.8785764,9.9205197,40.5189502,14.8299786,30.9092435,66.7615728,34.6187089,44.2978051,19.0734894,3.2694951,10.6260795,7.8298419,34.3765555,11.6864324,0.9627063,0.9975853,14.1467117,10.125477,40.5523264,14.8249498,31.1382669,66.106302,34.0577441,44.0462663,19.017544,3.2064951,10.7045802,7.9446724,34.6005673,10.9418685,0.9209249,0.9541388,14.2212481,10.3044792,41.0024475,14.6482246,31.4519922,66.0031441,33.7002458,44.3169539,18.4153007,3.0835282,10.7880741,7.9428224,34.689317,11.8037509,0.9520747,0.9464597,14.3739316,10.5440085,41.4169313,14.4136214,31.1119986,65.3680235,33.7040033,43.9760061,18.4559988,3.0320009,10.6455921,7.7034621,34.5114259,11.7876242,1.0641215,1.0938516,15.0122001,10.9764007,42.0500034,14.3157479,31.8166702,64.6731162,33.2307476,43.5451751,18.4079228,3.2523716,11.0848601,7.8750063,35.0891119 +33,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9208808,0.9431081,15.2595785,11.7280202,54.3068945,20.5660825,33.1055883,65.329078,34.4956805,43.877822,19.6926238,6.2448553,12.0760971,8.9835516,33.172676,8.405639,0.9298115,0.9537112,15.3366462,12.0178768,54.9027103,20.666025,33.0335179,65.1905718,34.8326519,44.2245445,19.9499819,6.2978547,12.2774912,8.5770218,33.4395809,8.5912487,0.9096496,0.9333997,15.6496908,12.2925332,55.207429,20.3379962,33.0742199,65.5462539,34.7343831,44.8959579,20.1296941,5.9810259,12.1150319,8.4683157,32.6196785,8.8760504,0.8524082,0.8817147,15.9835116,12.5696718,56.0606084,19.8619791,33.2804423,65.3561398,34.5263273,44.9518117,19.9988263,6.2000464,12.3484692,8.7158145,32.898516,9.0766098,0.8387591,0.8702771,15.9465408,12.600436,56.3161439,19.9127374,33.508305,65.2546326,34.6749268,45.4220128,20.0744492,6.2752869,12.5147362,8.7991008,33.0277672 +34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7112484,0.758396,14.1600475,9.8786159,28.035816,16.133302,35.9121928,64.5588045,34.9425059,47.2295706,21.0902009,3.5530863,12.5460889,10.5401827,33.037987,8.2677209,0.7454267,0.7774287,14.3524461,10.0717643,28.9424129,16.5159648,35.8208174,65.2284907,35.3375606,47.266359,20.8546399,3.5413111,12.6372486,10.4634628,32.6366342,8.8010227,0.8043818,0.8276533,14.5763042,10.5881191,29.7114891,16.7716946,35.7182065,65.9144142,36.0749153,47.6128586,21.2032109,3.5738408,12.4535302,10.3444592,32.1216862,8.2733872,0.8083062,0.8227433,14.5639024,10.5638987,30.2978517,16.6201555,35.8222138,66.1296819,36.3168184,47.6671027,21.2901439,3.6162778,12.2916226,10.7126212,31.9041149,8.7301607,0.8575322,0.8573885,14.7975193,10.8123317,31.0264897,16.6644282,36.0723357,66.9821114,37.077375,48.0550696,21.4919949,3.5569432,12.4423468,10.8339856,31.6366388 +35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5767668,0.6166911,13.1531434,10.2848257,59.9097274,14.002374,28.9196007,66.5075424,30.5276388,40.5376932,16.6281444,13.5326622,13.1447426,9.7919608,35.5154342,5.8422927,0.5540042,0.596359,13.209705,10.2664825,60.1821119,14.2008639,28.6804349,66.1829294,30.2762807,40.2902503,16.3624596,13.6694584,13.2457542,9.93476,36.165339,5.7935381,0.5964494,0.63206,13.1727931,10.312814,60.6505331,13.9634309,28.5621581,65.3727068,30.0409671,40.352723,16.5317731,13.5541551,13.1873641,9.8378735,36.7110268,5.788351,0.6400555,0.6795994,13.3589698,10.3625666,61.2764517,14.1217587,28.8740895,64.5146792,29.7956562,39.7525862,16.4329353,13.4378426,13.2367843,9.7163126,37.4846692,6.2895283,0.6667918,0.7011736,13.3444091,10.3342421,61.368738,14.3529964,28.9391504,64.5123961,30.0372816,39.9405658,16.366109,13.3739662,12.967144,9.5849581,37.5569734 +36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.0767341,1.0747249,13.6922111,9.7478248,36.2192515,19.0042801,30.7807503,68.5880538,39.6511536,45.4651256,22.2093104,3.3056437,9.5596629,7.7117257,34.1100634,12.6343684,1.0991725,1.1189334,14.0538139,10.1577066,36.0711837,19.0664423,30.478179,67.7802534,39.3445193,44.5693646,21.2634662,3.3723911,9.7935786,8.0718619,35.6313279,12.6942619,1.1465771,1.1661289,14.4539728,10.4466283,36.2556787,18.4011221,30.8357222,67.1536401,39.0983387,44.2193092,20.5623738,3.1888185,10.0435886,8.1955237,36.0436982,12.8787944,1.0862793,1.1128321,14.2531257,10.7544922,36.4627148,18.2922836,31.2871271,67.2446131,38.5973109,44.6579322,20.5404642,3.1396468,9.7125796,8.1389864,36.3192267,13.5467914,1.2188606,1.2123574,15.1519738,11.18892,36.6634585,18.287023,31.6230441,66.9153421,37.7740549,44.7168135,20.2649263,3.2125517,9.7320014,8.12666,36.0362492 +37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.0979957,1.1509651,17.9835258,13.4251013,47.7866956,11.4038421,32.4039137,61.8500094,36.9184785,41.3291415,21.2733097,4.1421864,10.9132845,8.7503629,41.139281,13.5716753,1.1146434,1.1629792,18.7796066,14.0544886,48.1245357,11.3930902,32.7144805,61.3611892,36.6007155,41.4427941,21.1498583,4.1243795,11.0299285,8.7764707,41.1311777,14.2755638,1.1268205,1.1626315,19.2948711,14.5185082,48.4305715,11.1713015,33.002348,61.0911466,36.1686954,41.2828818,21.0941259,3.9980166,11.1854507,8.907491,41.6136115,15.0970017,1.2332766,1.2705008,19.8811878,14.9277093,48.9334556,11.0953312,33.2145663,61.061571,35.7454016,41.2474547,20.6923936,3.909161,11.3761203,8.8480881,41.6442159,16.7345135,1.2709635,1.2984409,20.2613909,15.2825702,49.2484324,11.1798873,33.2625988,61.1821951,36.1832216,40.9983992,20.9099855,3.7943265,11.4256218,8.7228293,41.3938074 +38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.932398,0.932398,16.4703868,13.2626638,47.0915399,16.3673519,34.9832239,65.2128517,34.8440519,46.7562496,20.8704159,4.8995878,13.9055606,11.8406693,27.7936657,11.0366488,0.8859989,0.9083033,16.5362495,13.125043,47.1616225,15.9986952,34.9076733,65.3492076,34.5666635,46.6247249,21.0091238,5.0971817,13.6960261,11.2972374,26.4639606,10.2489457,0.8049486,0.8274952,16.3108284,13.0115346,46.8541828,15.8190671,34.7739447,65.5434771,34.4601088,47.0185616,21.1436871,4.8188529,13.4969846,11.1843232,27.0938075,9.5596625,0.8691302,0.8847695,16.4035023,12.9395425,46.4183364,15.3967547,35.7610097,65.469395,34.7348939,47.4217191,21.8422331,4.6832297,13.1245319,10.8202843,27.6712838,9.6495547,0.8786761,0.8853231,16.6715285,13.0940053,46.4326618,15.7099036,36.0522227,65.7337198,35.3188518,47.3013616,22.1955229,5.0408478,13.1829869,11.0817649,28.0939801 +39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8432418,0.8380558,17.0609328,13.2234161,81.4602779,15.4290265,34.2157666,65.7502872,37.2799358,39.2939216,22.2320543,5.8715339,12.0929317,8.1641171,38.2499937,13.0492779,1.0452863,0.9965209,17.7039179,13.2593659,81.4787838,15.912662,34.0091202,65.580698,36.8075392,40.0353675,22.6954741,5.3538371,11.2206377,7.9249301,36.659522,14.6371322,0.8160451,0.7686219,17.3451823,12.2842538,80.6376817,15.415484,34.399717,65.937223,37.4515254,40.8477291,23.2455123,5.0890465,11.3432664,8.4351547,37.6399871,14.0909091,1.0497041,0.9957757,16.3605956,11.6669429,79.6350535,15.7685588,34.9313116,66.3673282,38.169646,41.8213306,24.1047035,5.8633063,10.6111841,9.0226617,38.439933,14.2241379,1.1191368,1.0666931,16.3684141,11.70932,79.9571512,15.2307797,34.9765716,65.9655131,37.9568337,42.3333258,24.023912,5.2777146,11.4516035,9.9188432,37.5807986 +40,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3982247,1.4690182,25.430593,20.2945941,63.5837927,14.7662461,35.3843454,63.6353165,30.9081471,43.4897519,20.1894866,2.8699316,16.2418913,13.8884597,43.1909334,12.6883216,1.4980971,1.5661683,24.6017845,19.8383643,62.5662079,15.1137219,35.9742942,64.3325299,31.4164582,43.8563055,20.7649441,2.7856646,16.102384,14.3959695,41.8033806,13.5282255,1.340312,1.4566114,24.7152058,19.8343662,61.7306654,15.1768472,35.4953717,65.2319927,31.6399394,44.0524094,20.2391489,2.9118593,16.2271729,15.9311696,41.4723694,14.1987337,1.2264328,1.2744655,24.5102063,19.8081702,61.7509385,15.2073374,35.8142279,65.2048296,32.2561293,44.0366917,19.658167,3.0123709,15.5601712,15.3679278,40.7975126,14.6794206,1.395065,1.4932021,24.4738108,20.2520909,61.2926012,15.477102,35.8175586,65.7025301,32.2009973,42.7685038,19.7169379,3.0087025,15.3764218,14.6018309,41.3907117 +41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4856141,2.5637916,38.8383704,33.5230889,66.2587261,13.1650145,34.3525673,62.3533659,28.3876836,38.8697608,15.8348834,1.734478,18.4332739,13.4058088,40.9791597,26.1694444,2.5187758,2.5916753,39.0475915,34.1255699,66.6711113,13.4149772,34.9111533,62.7039274,29.1362936,39.8571165,16.5830319,1.9457855,17.6213851,13.0286976,40.2453054,26.7873991,2.6273872,2.6755901,39.441909,34.4918684,67.8462055,13.1449255,35.4351734,62.0080408,28.0897264,38.8445454,16.1318837,2.2687709,16.9619769,12.5323472,40.5001029,25.3086655,2.5942801,2.650486,39.9633982,34.9695211,67.7964978,12.9779891,35.6043348,62.6516126,27.6920767,38.7136682,16.1399529,2.3129257,17.2585568,12.6172818,40.1526002,24.9995733,2.6740728,2.7772541,39.5497893,34.4987806,67.7339253,12.6382225,36.8294664,63.0685949,28.321235,39.2824789,16.5174513,2.2866404,17.7831329,12.6394191,40.423673 +42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6026025,0.6409893,10.690791,7.0217613,49.6307081,21.069588,30.5272317,61.7881047,30.5769706,39.1817962,17.3712927,7.5478717,10.2624963,7.829585,35.1141362,5.4089474,0.6598208,0.7059125,10.8029367,6.9022262,50.3168829,20.8075302,30.1922098,61.6450265,30.1672497,39.2036982,17.1367883,7.6510211,10.2784109,7.7796078,34.8312811,5.8423689,0.7634891,0.8015394,10.8988752,6.978774,50.7938641,20.8301561,29.7433996,61.8924181,30.1875152,39.2918853,17.0120854,7.9570665,10.4655099,8.1434917,34.9395608,5.528235,0.6669827,0.6944613,10.5036842,6.7444692,51.9597906,20.5545871,29.3325238,62.0995075,30.1577668,38.7985487,16.5169882,8.0218448,10.9781516,8.2805933,35.4608749,5.5687006,0.6949414,0.7266247,10.5269538,7.0058258,53.3056848,19.9041077,29.0823725,62.4879546,30.2384375,38.7885415,16.6787099,7.9841043,11.7551473,8.4823052,35.484461 +43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9195879,0.9262106,16.9963737,13.5498342,47.1329829,16.0747351,36.0670952,65.3980805,35.8719532,47.4553382,21.8564584,5.2413453,13.2233864,10.4958655,28.1509648,11.0709721,0.8843517,0.890929,17.1474883,13.798639,46.6492699,16.9511251,36.1413937,66.1270629,36.1710892,48.3717083,21.5566832,5.3152813,13.0105133,9.8068953,27.6706249,11.014505,0.9406655,0.947164,17.1327154,13.8241775,46.5461289,17.4824566,36.0937434,66.1790953,36.0395443,48.4725712,21.6348056,5.4257286,12.5681865,9.6145517,27.5632033,11.4179213,0.9660483,0.9726189,17.0868704,14.0207199,47.0095539,17.8811876,36.6636501,66.1570042,36.0497175,48.5177112,21.5961314,5.5210995,13.490987,10.7663958,28.9378342,10.8075085,1.0727736,1.0793736,17.9073626,14.5233102,47.1695408,17.8824174,36.9887276,65.8805443,36.1721258,48.365515,21.5561787,5.8713636,13.1805394,10.4274416,28.5602695 +44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2138244,2.1731618,29.1064015,23.3437915,45.3804841,13.9887509,41.5174058,66.8471221,42.9877941,51.0940851,29.4876891,4.5741892,11.0687739,10.1246667,34.3286253,22.7690294,1.9330769,1.8938468,29.365443,23.730071,45.3132442,14.5968691,41.4662561,67.5483041,42.0452124,50.6362626,29.0782997,4.6727371,10.5308782,10.8717075,35.2216564,22.3680875,1.8363212,1.7973407,28.1909623,22.6941684,45.0826955,13.9954673,40.2195277,67.7442928,40.2034742,49.0846037,28.5737578,4.4788905,11.0622135,11.760553,35.7054796,26.3751491,1.8958389,1.8568903,27.968224,22.6313524,46.3859265,14.732387,40.3387757,67.2443456,38.7232061,48.4902047,26.9516685,4.2492697,10.8192778,11.8671099,36.4083875,24.2726888,1.9099181,1.8903661,28.2023786,22.9041369,45.1359397,15.1291908,39.8661378,68.0090651,40.4406301,48.7374655,27.7640329,3.9325456,12.3658722,12.3213873,37.1640367 +45,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7362131,1.7845836,25.1464856,20.8601753,42.6759015,17.4419711,39.4972428,67.6492779,37.356565,49.0023024,27.7598044,3.5489028,12.3461396,11.7685087,31.6061215,24.3155617,2.0255482,2.0532535,26.2239248,21.4733922,42.260199,17.8847316,40.1311565,67.7653358,37.819235,50.0474817,27.9457209,3.6835457,12.5978321,12.0202107,32.8558995,23.5379391,1.9978124,1.9391564,26.4496891,21.8394817,42.0140534,17.052453,39.9304206,68.3247958,37.7903035,49.6848345,27.6911189,3.6654437,12.6991558,11.987632,34.1836982,22.4812394,1.8964282,1.9195857,26.8897787,21.6692449,41.723394,16.7273712,39.0588064,67.9032897,37.6263397,49.102204,27.9925238,3.2952684,12.4062915,11.4569934,34.1011327,22.70088,1.918616,1.9559165,26.6084602,21.3846153,42.4621595,16.6119133,39.0598214,68.6543353,38.3385764,49.9297751,27.6559019,3.5204597,12.499715,11.7311675,34.50329 +46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4922839,1.5109111,23.9694158,18.5638192,67.5927779,16.3014787,35.7916661,66.2073699,31.4618489,42.0305374,20.5215532,2.4615833,15.0906611,11.2999985,39.4476721,16.8361417,1.6201505,1.6321676,23.3532194,17.8297692,67.7199201,16.7017511,36.1354797,66.0512039,31.2091403,41.1271782,21.1659963,2.6150683,15.0861534,11.743799,39.503065,17.4521006,1.5567925,1.6128686,23.5885424,17.6320323,67.8019271,16.295272,34.8332322,65.6700515,30.9631469,40.1750499,21.3084194,2.516739,15.1172888,11.9578883,40.060404,17.0021946,1.4929302,1.5499795,23.802773,17.5028003,67.700259,15.9068305,34.6662726,65.1274849,30.1932818,39.6903143,21.1251137,2.6566752,15.0986844,11.9277898,40.2402066,17.923912,1.4721345,1.5123836,22.7921784,16.6487777,66.7612853,16.0833512,35.0778951,65.3697517,29.8816315,40.5828073,21.9090636,2.8422151,14.481132,11.6847654,41.1083153 +47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8834533,0.9037476,11.3509113,7.9242211,59.7383318,25.6664551,30.1381,61.6409031,29.6119669,40.5623107,16.0637923,6.067086,13.5469523,9.1979596,34.7479307,6.2724037,0.9062494,0.9264637,11.4430342,7.9823734,60.9760148,25.0161563,30.1704248,62.1599458,29.6787957,39.7738472,16.1750277,5.9160954,13.5019681,9.129864,33.7401144,5.7093465,0.8461547,0.8659547,11.6305082,8.3439723,62.3622873,24.6425221,30.148235,61.1504954,29.5359338,39.7840844,16.1295545,6.3970374,13.7919868,9.2173374,34.4458936,5.7189561,0.7508559,0.7703662,12.0901963,8.6538693,63.0028148,24.7477789,30.2010838,61.5027769,29.5946048,40.0926295,16.225312,6.014694,14.3822987,9.6972072,34.6354165,5.5032727,0.5686013,0.5876435,11.8783105,8.6345577,63.977914,25.0535969,29.8538238,61.4964795,29.6358052,40.0903232,16.1014686,5.9583204,14.155745,9.8242735,35.2331602 +48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.802977,0.8484432,19.3435845,16.2947793,65.7273214,13.5069999,28.3691007,66.1291746,29.2370121,41.3542125,13.8939584,5.2317257,15.1439171,12.20674,31.9448596,9.1759286,0.7836533,0.8249805,19.2014998,16.1047009,66.9581603,13.484677,28.2801272,65.8887453,28.4931001,41.3349678,13.570897,5.1023946,15.7165906,12.3585471,31.4547907,9.674784,0.8462622,0.8969063,19.6620614,16.3163302,68.2675913,13.4364523,28.3101055,65.8163543,28.5069994,41.2879167,13.5767327,5.0943583,15.7797551,12.4085985,31.1351441,10.6219967,0.8732364,0.9235631,19.6516332,16.2011386,69.4854386,13.4145272,28.2061417,65.5040884,28.2225427,41.1615148,13.3066727,4.9256812,15.7765068,12.5531776,30.5729357,10.883438,0.8406398,0.8733048,19.4714474,16.1663202,70.5121855,13.2623013,28.2090927,64.7731468,27.7876882,40.8832131,13.0713059,4.8055218,15.4776652,11.851047,30.2042968 +49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4565768,0.4747797,8.056648,5.0185977,41.8800103,12.7887074,25.2897984,68.5224436,31.8123076,44.8965239,15.134718,4.9407327,12.1036285,11.7079644,31.5360851,4.7444736,0.4887805,0.5010901,8.3778773,5.2533106,40.7326742,12.5972906,25.5620506,68.3925383,32.6216993,44.3615432,15.0119652,4.6998593,11.8400404,11.9860979,31.1380662,4.0145546,0.4855065,0.5070525,8.3865324,5.4446321,40.2906966,12.6186175,25.2769369,68.2570519,32.807762,44.5869099,14.6177635,5.0784873,11.908322,11.7405015,31.588979,3.9285097,0.5299748,0.5513293,8.7415135,6.0110657,39.2776498,12.5202232,25.3659528,67.9902831,32.0096631,43.6077981,14.5359801,5.3572889,12.0549198,11.8889959,31.8149936,5.86198,0.4998085,0.4943061,9.3199775,6.5599769,38.8125377,12.4966133,24.8293034,68.2621954,32.0814823,43.2270312,14.4090575,5.7444377,12.5000191,11.6084717,32.1794743 +50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.822756,0.7850313,12.1061129,8.7664895,48.486138,25.9780957,29.2607018,66.5806245,32.8757781,42.307651,16.1864627,7.7602409,13.2664082,9.8427092,33.2512044,5.4932612,0.857467,0.8287682,12.4572465,9.1423237,48.8038001,25.451507,29.7243884,66.5385815,31.7386558,42.4197845,16.0217328,7.3018634,13.6772389,10.1322483,33.4849746,4.906044,0.7893678,0.7900317,12.369916,9.352232,49.8009758,25.0712495,29.8321916,66.3126243,32.1138151,42.341946,16.2995047,7.3826219,14.0592187,10.4209735,32.9910224,4.4978985,0.7929017,0.8410444,12.2982663,9.7475175,50.9501362,25.8634643,29.8147317,66.0099008,31.5631614,42.1059053,16.1925856,7.6330829,14.2967572,10.6256189,32.9401915,4.0999836,0.8153336,0.8632557,12.280458,9.6978197,50.9540226,26.0686399,30.8919045,66.9820966,31.7215626,43.1033958,16.1654214,7.661387,13.9792957,10.9302071,32.8345681 +51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5211088,0.5537246,12.2279603,9.1142886,64.4549809,24.7065955,29.1172617,62.1764664,29.4823311,39.710893,16.270964,5.7990955,13.6852698,9.3177907,34.6326046,6.108083,0.4545579,0.4685283,11.9184569,9.1994167,64.8876626,24.3919017,29.1249448,61.9719475,29.1854858,39.9727341,15.8158911,6.0316112,14.4712504,10.2848552,34.9556337,5.8425088,0.4349776,0.4488434,12.1516612,9.1549499,65.9194186,24.4049442,29.2745972,62.8987691,29.5452902,39.5696178,15.8790176,6.2161449,13.9815426,9.9630276,34.8110673,7.066808,0.5473894,0.5890446,12.4925124,9.5159564,65.8062836,24.4565087,29.7407946,62.6016637,29.4089397,40.2925133,16.3853183,6.1350717,14.3168333,10.3288279,34.947066,8.035866,0.5477794,0.589539,12.9641089,9.8551361,66.7529041,25.0816007,29.6960299,63.1997941,29.1840598,40.4425846,16.6315793,5.915121,13.982853,10.5474012,35.2633078 +52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.0527858,1.0884713,15.5449941,11.664786,43.1849508,14.3487867,32.2858528,64.2353407,32.975066,43.5756633,18.3377156,3.3065307,11.2737877,8.0634771,34.6993454,10.4271901,1.1139079,1.1267741,16.6322198,12.643035,44.0901419,14.8639871,32.5024264,63.4963211,32.6799012,43.2962465,18.7883224,3.1219698,11.5493319,8.1276776,34.3661712,11.4734747,1.108247,1.1244736,17.1916678,13.0965432,44.707973,14.8127023,32.5140176,63.4027513,32.5140208,43.2266096,19.0632527,3.1144878,11.3876555,7.8288513,33.723059,14.2032665,1.1821874,1.1985753,17.5015565,13.5128695,45.9371361,14.8475497,32.2629463,63.8964463,32.7091705,43.0996298,18.8605607,3.051786,11.3751694,7.7062468,33.2380954,13.9254647,1.202083,1.2122844,18.1214793,13.9834435,46.9085842,15.0328246,31.7132844,64.0193073,32.7880581,42.6821856,18.5474945,3.1215346,11.3972248,8.0284726,32.6328361 +53,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4183817,1.4421688,20.1336122,15.673176,48.6897423,17.6617573,35.371809,63.5509379,33.7030825,43.8424581,21.7469668,4.2141425,11.2738945,8.4242922,36.6400797,15.9574629,1.4530709,1.4953169,21.1452211,16.7717371,49.8781311,17.4656401,35.6919133,63.0158727,32.7116294,43.2159457,21.5402378,3.9703882,12.0049086,8.7257017,37.4967514,16.071085,1.5504668,1.5815096,21.9079778,17.5689533,50.515239,17.5042704,35.8426531,62.7117189,32.6829041,42.5960816,20.9520728,3.8930154,12.4068426,9.1925432,37.5436202,16.8549748,1.6293178,1.6751394,22.9595416,18.3097564,51.7003122,17.2723752,36.5393036,62.9348721,33.0806043,42.0408952,20.9850457,3.9138312,12.7281341,9.3896883,37.2161104,16.2295909,1.4856179,1.5394012,23.272309,18.8144668,52.6893451,17.0655627,36.093042,63.5707012,33.5412129,41.6122714,20.7616298,3.5905503,13.0332542,9.4550007,37.0657178 +54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1754686,1.1538637,15.0198271,11.1693155,36.697922,17.6047951,32.0457371,66.5364564,37.2829815,44.7772016,20.6163297,3.1394756,9.4782065,7.9283338,36.3729687,15.5702056,1.2631519,1.2426687,15.8467905,11.4919471,37.2196532,17.3543229,32.0456587,66.3871323,36.9122788,44.8583924,20.1402276,2.873255,9.5851162,8.0782608,36.1089772,14.8077194,1.3716919,1.3652915,16.1091401,11.8864843,38.0485571,17.457369,32.0106547,65.7459332,36.1889933,43.7324655,20.0644918,2.9585044,10.1603306,8.0396839,36.5338225,15.4902231,1.3819704,1.3754035,17.0179927,12.71782,38.8855092,17.2713694,32.739122,65.4637599,35.7246164,43.7536071,20.536223,2.9420335,9.9071889,7.4051362,35.2881467,17.1154033,1.3621606,1.3686006,17.6511157,13.5660989,39.9132063,17.5593333,33.0167084,65.3955179,35.0864468,44.4144958,20.2579999,2.7927464,9.8948649,7.4800189,35.1907923 +55,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.547049,1.5577419,22.0647573,17.6619009,46.9451379,10.3746946,29.979158,65.6283798,36.3710097,40.238539,18.8165841,4.658793,10.8787326,7.7747844,36.8236498,16.8580736,1.4749772,1.4775341,22.73129,18.3228872,47.2097826,10.3110073,30.2576681,65.0721047,35.6599128,40.008053,18.6186974,4.578728,11.0337355,8.0616495,37.167823,17.5349885,1.5455913,1.5490059,23.5078768,19.1430753,48.099368,10.3327925,30.5071273,64.4562078,34.8727038,39.9024489,18.2959739,4.5143216,11.2926557,8.2608693,37.3080289,18.4326678,1.6506122,1.6547468,24.2395165,19.9822327,48.9585624,10.384615,30.3491914,63.9676274,34.1521223,39.291017,18.0285596,4.4426375,11.4335487,8.3291348,37.6646072,19.0424018,1.6661535,1.6720207,25.1737764,20.8055916,50.4000266,10.1768592,30.384784,63.6791789,33.5974039,39.1172625,17.9066897,4.4648067,11.6603354,8.5814089,38.5412494 +56,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4280576,2.4280576,33.5538752,29.2060491,66.2324649,8.07393,36.4257812,64.3554687,29.1992188,44.8242188,19.6289062,7.3242187,16.4092664,12.9343629,36.627907,16.9291339,3.1269398,3.1269398,32.5831703,28.2778865,67.7385892,7.3293173,35.5983773,63.1845842,28.7018256,43.9148073,18.7626775,7.8093306,16.9201521,15.0190114,38.740458,16.4,3.0616943,3.0616943,33.8178295,30.1356589,69.2386831,7.6693227,36.3179074,63.6820926,29.2756539,45.3722334,17.806841,7.7464789,13.8257576,13.8257576,39.7338403,17.0833333,3.2019736,3.2019736,35.177453,32.2546973,68.1015453,7.9281184,37.7419355,62.688172,30.2150538,45.483871,18.8172043,8.4946237,14.375,12.7083333,39.7058824,15.9836066,3.2980732,3.2980732,35.1086957,31.6304348,68.8657407,8.2781457,38.0898876,62.5842697,30.8988764,45.2808989,18.5393258,8.4269663,13.4955752,13.0530973,37.5555556 +57,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1002983,1.1947341,17.8071478,13.8149183,54.5770151,12.3999589,30.8094222,66.4254012,35.8088273,40.3636142,18.4063678,4.2811023,13.1290512,11.3855476,34.2295184,13.7588059,1.1531021,1.2429776,18.0163168,13.8938448,55.8837076,12.0791427,31.573215,66.2408594,35.1273576,40.3520241,18.0104311,4.3056942,13.4406817,11.1802983,34.4927061,13.3831076,1.1919549,1.2818408,17.80445,13.6897426,56.3545717,11.9701172,32.0478148,66.3274565,35.3008988,39.8872795,18.2679412,4.3648356,13.6180859,11.568318,34.9019253,12.3963342,1.1934957,1.3118415,18.1987806,14.0083441,56.5514696,12.000489,32.4426578,66.3323349,34.3205055,39.8483992,17.7789777,4.2954969,13.2304183,11.1042916,34.5293069,10.5623412,1.3343806,1.4546771,19.0862488,15.1157912,56.7329355,12.0341993,32.8913679,66.6653105,34.046373,39.8709016,17.5994737,4.2363408,13.2154412,10.5672968,34.246423 +58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4251937,2.4464119,37.5761701,32.3970941,54.7891404,14.2148596,36.6638258,61.7536599,28.5176232,41.4091412,19.8466761,3.1433409,15.0273751,10.2564135,44.9543055,24.8958281,2.5041393,2.5262977,37.8217492,32.804446,56.7337663,14.2123307,36.2081884,62.1740475,28.5624554,41.8452993,18.9391976,3.3264368,14.7015983,10.31629,44.4726544,24.5951364,2.5459352,2.5905474,38.3842088,33.5945992,58.5671998,14.45348,35.3610408,62.0761099,29.0280011,41.7336439,18.6590519,3.1614642,14.715095,9.9868625,43.9103721,25.7281415,2.6607714,2.6905373,38.4319073,33.549121,60.696609,14.080126,35.2966407,62.7706036,28.8832246,41.311758,18.3255702,3.2426924,14.8446794,10.0392072,43.3761948,25.1872613,2.4294982,2.4680265,38.7191776,33.8409704,62.6343077,13.764723,35.2276118,63.2542737,28.2859016,41.5265072,18.4120213,2.7972055,14.556269,9.3928019,42.9685193 +59,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9777068,1.0018273,14.3004822,9.7915259,27.2613494,12.542566,31.0231991,64.2634899,37.4419495,46.0614344,20.2330766,5.9691681,11.0100886,8.6170713,33.9534539,7.345975,1.0478964,1.0985702,14.7062833,10.0987938,27.8424314,12.5518014,31.0436962,63.6970391,37.1303615,45.2274438,20.4347158,5.7181949,10.7382577,8.669304,33.5925271,9.2274718,0.9920108,1.051885,14.8872923,10.3581972,27.4493851,12.5716406,31.2686161,63.9466311,36.7664475,45.3991565,20.7839836,5.484475,10.9776653,8.5947873,32.8383025,8.0246947,1.0108825,1.0722249,15.040332,10.6040763,28.1102878,12.4965302,30.7348961,64.1760586,37.5810858,45.5976187,20.5240312,5.5150215,11.5892763,8.9686321,34.2240491,8.1589958,1.0169756,1.0709523,14.6845796,10.4341678,28.2377733,12.7111498,30.3520032,63.6247727,37.0724131,45.4901458,20.4213609,5.5254353,11.4400977,8.743968,33.8973987 +60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.3142261,1.3472283,20.8381292,15.9367686,50.2805736,11.3999865,33.6490474,61.0322265,36.1246413,40.9257404,21.2036804,3.9946727,11.441086,8.6797485,41.7493246,16.5034652,1.3461774,1.3731118,21.8997099,16.7771569,50.9574558,11.2760893,33.4909806,60.789506,35.6965839,40.67592,21.0725321,3.8840398,11.5085619,8.765304,41.6938025,17.466785,1.3948833,1.4115441,22.7079841,17.5697318,52.0086784,11.0229404,33.9358359,60.4753634,35.6805182,40.8627326,20.9470113,4.0622433,11.8846631,8.7872051,42.1560714,18.2004811,1.417435,1.4283552,23.3405582,18.3129913,53.0309148,10.5868697,33.8152114,61.0424579,35.8677447,40.8997356,20.7717261,3.8218182,12.1940698,8.9222221,42.2198056,18.043635,1.3998584,1.4291467,23.5842069,18.5870621,54.1835188,10.6710466,33.834456,61.1970481,35.9456064,41.0874155,20.6216678,3.7530173,12.6035196,9.1799779,41.8658498 +61,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6365382,1.6894115,23.564737,19.3114238,53.2210068,16.6765128,36.5751813,64.0867901,33.1290458,42.1826805,20.4731641,3.7286287,12.9360266,9.4903006,36.7521126,19.7629497,1.6573866,1.712933,24.1368954,19.6528508,54.2615549,16.5286471,35.9597423,64.8271848,33.1766997,42.0058131,20.1248404,3.5413111,13.689142,9.6124499,37.095819,19.2434558,1.6782948,1.7119482,24.6405966,20.3109757,55.0668602,15.5101881,35.6785761,64.9332135,33.1943578,41.2959124,19.4012558,3.4761229,13.6230812,9.6591087,36.6080264,19.1636386,1.6175917,1.6576969,25.1941306,20.9200379,55.9165134,15.3797869,35.5288857,65.39009,33.4384699,41.3317713,19.057572,3.3249634,13.5082311,9.8049294,35.7492683,19.468336,1.5934857,1.6320225,25.2156403,21.054745,57.2859165,15.0139319,34.9406013,65.8555336,33.0118776,41.1165765,18.8197356,3.1941594,12.7183297,9.3816838,35.6960712 +62,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5376031,1.6536663,19.4732241,15.1220249,57.8352469,11.4835328,32.4133643,66.4914382,33.4639418,39.4273611,17.7188188,4.2492178,13.2960442,10.3930427,34.4767248,12.2823985,1.4865794,1.5915866,19.6260004,15.3918825,58.4612699,11.7513934,32.3890838,66.4096599,33.8813975,39.8484293,17.9462559,4.0213045,12.9295144,9.535318,33.5253503,11.5819209,1.4691542,1.5531208,19.7995514,15.7260107,58.5877704,11.4412798,31.7383048,66.2125353,33.3854572,39.7230863,17.9044989,3.956236,13.1135482,9.6924636,33.4041826,11.6604478,1.4534335,1.5363955,20.0207655,16.1215902,58.4362613,12.0138255,31.5643811,65.4462498,33.8063669,39.7617147,18.2621342,4.0663089,13.608668,9.8757143,32.5246248,11.6922788,1.5687832,1.6709588,20.591506,16.5689792,58.4834916,12.0687626,31.6446659,65.5171128,33.6747975,39.8659252,17.9787843,3.9603716,13.9219101,10.3358073,32.4227427 +63,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2313285,1.9724289,36.8041237,32.2680412,68.2389937,10.3483607,39.4032922,65.7407407,30.9670782,46.1934156,19.0329218,7.9218107,13.2882883,11.036036,36.2612613,18.4684685,2.4396007,2.3421348,37.6826722,33.7160752,70.8768267,9.1002045,39.4032922,65.9465021,29.7325103,47.4279835,20.2674897,8.127572,14.573991,12.7802691,38.3408072,16.6666667,1.8880689,1.6113161,36.8577075,32.5098814,71.6699801,8.6744639,38.0626223,64.8727984,28.4735812,46.4774951,18.4931507,6.555773,14.9159664,14.0756303,34.6638655,17.6724138,2.1461988,1.8830409,35.6203008,31.2969925,71.5500945,8.2560297,38.3395522,63.8992537,27.891791,46.1753731,18.5634328,6.4365672,13.4980989,12.7376426,31.870229,16.9421488,2.0108562,1.7517888,34.8345588,30.9742647,73.0769231,7.9816514,37.7306273,64.8523985,27.0295203,45.8487085,18.1734317,5.8118081,14.0977444,12.1722846,30.6390977 +64,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6625958,1.678359,26.1536771,21.8567191,51.6090774,10.1461562,30.8745932,63.3501998,33.194797,39.0206054,18.0448152,4.4054926,11.8514644,8.4999021,38.6743202,19.884045,1.677765,1.7116703,27.2724042,23.0319976,52.5901629,10.0123646,31.1981561,62.9741222,33.1407295,39.1953247,17.9191786,4.299892,12.3362728,8.4576408,39.1608675,20.400799,1.7798603,1.8153133,28.0561593,23.7208791,53.9584692,9.8179584,31.2280332,62.579082,32.8729081,39.0306515,17.7245898,4.3336137,12.7193384,8.7418954,39.499774,21.2654448,1.7985612,1.8432563,28.317746,23.9847852,55.3132546,9.9424131,31.201985,62.7427031,32.8083517,38.7309734,17.9599112,4.2429108,12.9886462,8.6154851,38.9541939,20.3079664,1.8490678,1.9035855,28.7570996,24.2652101,56.8846628,9.9287017,30.8171493,63.1064277,33.1001582,38.2160564,17.9056189,4.1518758,13.1861236,8.5679355,39.0644694 +65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9451513,0.9673616,19.1059738,14.6958605,28.7625672,20.833889,34.2254906,63.9512487,33.5533543,44.9373233,21.2179297,3.5460551,13.892109,11.4698679,38.2262391,13.9705403,1.0873501,1.1178594,19.5361459,15.2818966,29.556307,21.096615,34.2096117,64.3755724,33.2490662,44.6957833,20.6254811,3.3789134,14.6334891,11.8794024,38.8062189,13.3494692,1.0582424,1.0894401,20.3098754,15.7203368,30.1706917,21.0413282,35.065099,64.4940694,32.923971,46.0061175,21.0353849,3.5628778,14.0410625,11.8071191,40.4401113,14.1148196,1.0622335,1.0977548,20.982639,16.1523302,31.2422429,20.6613407,36.452616,63.9669401,32.7643326,45.9873583,20.8851113,3.2535938,14.2163709,12.0066816,41.2282713,12.7232248,1.1004136,1.1169309,21.6956058,17.0046098,32.5198971,20.4213604,36.6779808,63.7870433,32.3144323,45.6424222,21.036859,3.4230643,13.9528721,11.4115274,40.9462283 +66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.0442047,1.0959061,22.0358841,17.7936916,82.9884882,11.303176,32.4576175,62.3854583,29.0550836,38.0464395,15.2689273,3.5089016,15.0554855,12.2363592,38.2900708,9.2727111,1.100006,1.1530904,22.2917015,17.9563295,83.7661231,11.0536637,31.890735,62.7881699,29.099947,37.6515717,14.8863812,3.3118178,16.1268789,12.1624159,38.0973402,9.5864538,1.0041675,1.056778,22.1686234,17.5532584,84.1034187,10.7359985,31.9013895,62.6548295,29.1261396,37.1585252,14.7427357,3.2395591,15.163458,11.6640738,36.8674074,9.2727475,1.0772141,1.1296487,22.1312397,17.4433655,84.7335561,10.580181,32.0419373,62.2112503,28.5986414,36.2001768,14.3493444,2.9223386,15.5273611,11.7754704,36.4934746,9.9271401,1.1779271,1.2251837,23.3827653,18.1542698,85.6779545,10.1846049,32.0972644,61.4701323,28.4104096,35.903481,14.2053027,3.0163995,15.1381311,11.2075231,35.9995568 +67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7809348,0.8214012,12.2601649,9.7371755,51.2334651,25.669377,30.7601243,66.8726805,31.3387524,42.911552,15.7153979,7.3513878,14.5658691,11.2708969,32.4919607,4.5794179,0.9376309,0.9958606,12.7752496,10.0955012,51.4312765,26.246088,30.5312204,66.8393045,30.9827066,43.0942282,15.2589502,7.3439513,15.0659537,11.4248014,33.0562473,5.6249799,1.0091486,1.0700004,12.5953884,9.7262194,52.2806035,25.598042,30.0946435,66.8813826,30.9886724,42.3743935,15.2116653,7.2968668,15.3103749,11.7693126,33.3597442,6.3392631,0.9277368,0.9806397,12.7707006,9.786028,52.5412988,25.717639,30.0449022,66.9175861,31.8937879,42.960848,15.7818125,7.3824554,14.7244125,11.5808904,33.0584845,5.93969,0.9596653,0.991651,12.8311219,9.7537966,52.461502,24.9867618,29.8257525,67.1447796,31.4074769,42.3725905,15.160838,7.1447635,14.5135052,11.6549473,33.3424507 +68,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9116817,0.972036,15.2305483,10.891527,28.7568199,13.2047213,31.0502936,63.2541513,37.1964579,45.44346,21.1249841,5.8322455,11.5873368,8.4764778,33.9251247,9.51417,0.7789428,0.824946,15.6879859,11.1517008,29.4012662,12.957574,31.5865274,62.7415173,35.5357867,45.0705607,21.0725283,6.0143673,11.6872463,8.8710759,32.826956,10,0.8113329,0.8293759,15.8057899,11.2653663,30.7345615,13.2876881,31.7293447,63.5015628,34.7827095,44.3571018,20.87563,6.2993261,12.0070648,8.6870662,32.9434288,9.5330739,0.7181966,0.709262,15.8623806,11.4271224,31.4426965,13.8094056,32.2377436,64.6333815,35.2234147,45.1154695,20.8963997,6.4823644,12.2138896,8.6935593,32.7242836,6.7575343,0.6991122,0.6845651,15.6152154,11.249068,32.7530167,14.2433485,32.0657754,64.4579184,35.4289285,44.5841545,20.0598943,6.3162195,12.3870232,8.7818013,32.850235 +69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.407274,1.4355556,23.7983776,18.8423038,54.9739455,10.9231567,33.628111,61.5045236,36.240047,41.16359,20.6938473,3.696219,12.6548736,9.2977723,41.6491168,17.3182302,1.4363347,1.4707572,24.5878774,19.5913403,56.2716396,10.7108584,33.6659757,61.5293013,35.8969175,41.0515668,20.4749384,3.7485494,13.031526,9.5340525,41.6180221,17.0179825,1.4526475,1.4745704,24.8705073,19.8127743,57.1215615,10.4166497,33.5030415,61.697767,35.7816034,40.6982825,20.1425505,3.6007375,13.3091848,9.6783434,41.3714174,16.3901447,1.4530463,1.4718534,24.7599492,19.8771105,57.6870085,10.3559563,33.5506098,62.1919198,35.9945131,40.4476889,20.1849436,3.5970913,13.761731,9.5548072,41.4332087,15.9528787,1.474028,1.4953027,24.970574,20.2981901,58.1125161,10.256103,33.4857655,62.7464473,36.1189588,40.295256,19.9744516,3.5264645,14.3588071,10.0596695,40.8207126 +70,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6789041,2.7930449,39.0630818,34.1881582,68.549644,12.8663301,37.1280751,63.3385864,28.5289965,39.6403534,16.614605,2.214425,17.7177711,12.0650273,40.8891939,21.9242771,2.5511466,2.6333248,39.2503781,34.6252541,68.7985107,12.4686381,36.8991968,63.283186,28.1130561,38.9526018,16.7268713,2.0925173,18.0684435,11.837668,40.3882089,22.7270674,2.3643254,2.4168997,39.0789391,34.4875327,69.1979539,12.6402909,36.7622105,62.8673307,27.7337626,38.6947664,16.7721101,2.1312968,18.1741276,11.9364678,40.4142559,21.9912134,2.3278528,2.3879501,39.1397158,34.2617416,69.1540252,12.1652734,35.908149,62.7763196,27.5396569,37.881675,16.276022,2.0394473,18.8121851,12.3411499,39.6228803,21.7984305,2.1713249,2.2565114,39.5181671,34.5703812,68.6528633,12.3037644,35.5925648,63.3387902,28.1610643,38.5861955,16.8267396,1.7508035,18.6586733,12.3850426,38.8013394 +71,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0447399,2.0842505,27.454701,22.2245791,43.4358336,16.8130405,39.0150638,68.3983243,37.6360973,49.5667281,26.061466,3.6807183,12.4756157,11.2497115,34.0609584,23.9601358,1.9932508,2.0996822,27.4858851,21.8691341,43.9307265,17.2517197,38.8473705,68.1126129,37.8869584,49.8097618,26.4946399,3.8245933,12.9833364,10.8851075,33.2824626,22.0173284,2.0331774,2.1682574,28.1312888,22.2850609,43.7062112,17.9199717,38.5788465,67.9619377,38.8415688,49.8584924,26.8460491,4.1174717,12.165931,10.5568646,33.6395236,21.4899998,1.7792073,1.9427676,26.9399516,21.4465067,43.6632367,17.5110937,38.4735639,67.5789178,39.0752875,49.4675039,26.6864461,4.1396954,12.1260164,10.4647629,33.5382294,19.1180588,1.930698,2.1371663,27.2259525,21.8868734,43.9680948,18.1011165,39.0305437,67.6972931,39.1387347,49.8790789,26.719595,4.4407148,11.4364818,10.6454043,32.2405342 +72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4552725,0.4674648,9.7322164,6.9038161,38.0099481,12.6349106,24.7827868,68.1474425,32.5708751,43.8374561,15.0284054,5.9923756,12.1630993,11.0993303,31.7828106,6.4188712,0.5858408,0.5978928,9.6571283,6.8314241,37.120574,12.5638967,24.9107281,67.9096555,33.3252076,43.9909133,15.6616064,6.1934571,12.9110762,11.7214964,31.1712847,5.5555062,0.73403,0.7458116,10.1087221,7.1708985,36.8312214,12.7610841,24.1630105,67.2840231,33.0815974,43.8712025,15.7453538,5.7970374,12.6945263,11.3404938,31.0122562,5.3570969,0.6359577,0.6541262,9.8483097,7.0519641,36.6015182,12.795215,24.1179861,67.0953004,32.5675724,43.3012113,15.9289203,6.1469976,12.5437934,10.9352436,31.5324307,5.9858649,0.6597328,0.6781582,10.383471,7.5949954,35.7909309,12.5874099,24.8542338,67.1000859,32.1519951,43.1385011,16.7572074,5.7708402,12.6088776,10.8805796,31.4691592 +73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.1745617,1.2206383,18.3158312,14.2559417,48.5623845,14.8723033,31.4924351,64.3636273,32.4115977,42.4754923,18.2037639,3.2793177,11.7693343,8.163489,33.3671392,12.9191213,1.1554292,1.1559017,18.4058876,14.5836557,49.8097378,14.9045711,30.5636384,65.0865636,32.3709654,42.0508789,17.7439074,3.147488,11.9190268,8.4135764,33.6899082,12.86494,1.1197967,1.1110385,18.9693371,15.2388765,50.7086741,14.7309221,30.2755701,65.9053607,32.6119575,42.5116293,17.8148848,3.0777238,12.0627106,8.2510386,33.7457803,12.7926186,1.099184,1.0973692,18.8549612,15.1780653,51.6621564,14.6994305,30.1490033,66.5904476,32.6571411,42.6748502,17.5051661,3.1498941,12.7552415,8.7075356,34.6699592,11.3312077,1.0700227,1.0798283,19.1557594,15.667719,52.8833422,14.7805399,30.6189156,67.0710499,33.2631252,43.0263122,17.7611593,3.1309008,12.8117554,8.7195466,34.2443335 +74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.5684468,1.5301045,18.8661212,14.3032732,40.5989389,17.7395876,32.8691826,65.1617438,34.8100959,43.952159,20.520384,3.1082995,10.2403273,7.5873427,35.5158824,20.2422421,1.5000544,1.4874325,19.8565258,15.5793139,41.6300944,17.7547264,33.208314,64.6250041,34.263866,43.7638708,20.5138724,3.1527729,10.6250138,8.2397731,35.8602239,19.3811274,1.55367,1.5557334,20.6536105,16.2873718,42.7444906,18.1022226,33.2377688,65.31532,34.5208636,43.939374,20.3248548,3.262348,11.2714796,8.2594291,35.243509,18.9969678,1.4167779,1.424951,20.6864902,16.5883443,43.5438546,18.2103544,33.6701623,66.1142571,34.9636078,43.9908225,20.9242709,3.4087793,11.6248788,8.4659191,35.3658686,18.1137753,1.4107233,1.4188367,21.4081845,17.1550709,44.9096049,18.5968065,33.6142329,66.7602933,35.1926024,44.0743398,20.6928812,3.6516799,11.8680286,8.7490362,33.9977047 +75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9719576,0.998732,17.8514975,14.5831611,46.9329588,18.4531766,36.9180919,66.099027,36.7202372,48.4888915,21.3293675,5.8845366,13.5782292,10.3144367,28.1977691,12.3500162,1.0619652,1.0888776,17.796449,14.5169371,46.7946986,18.3950073,36.7294853,66.0134216,36.5039968,49.3435399,21.80385,5.6189765,14.4284556,10.2974086,27.8433281,13.5594266,1.0966073,1.1234091,17.9202325,14.5541742,47.0100678,17.9748649,37.1486736,66.8266851,35.752987,49.9016193,21.7359828,5.4946127,14.7170378,10.5023159,27.589465,14.0533795,1.1294842,1.2058331,18.247008,14.5622257,47.6703002,17.5945903,36.8763239,66.6655231,34.9553318,49.3699378,21.8515772,5.2149027,14.3593962,10.182943,28.9953605,14.3429155,1.1214148,1.199234,18.50503,14.8024501,48.0178885,17.2560826,37.158122,67.1166323,34.7776175,49.1035513,21.9127789,5.0774786,14.4047032,10.3333474,28.9213986 +76,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3812112,1.4798298,23.4853316,19.7075373,62.7188523,15.1733222,35.6731471,65.9170209,32.411325,42.5057225,18.7542168,2.7554942,15.7993611,14.6831061,40.5391181,15.919768,1.4212435,1.5229625,22.8794881,18.9728391,63.2551168,14.9156654,35.1153491,65.8019498,32.2506596,42.2104604,18.8725286,2.8000287,16.504288,13.9647409,40.3138358,14.8785423,1.4344971,1.5524596,23.6732921,19.2921019,62.8291425,14.8821626,35.7008863,65.3868295,33.0858709,42.5088038,19.5460817,2.7751913,17.0069812,13.5328093,39.8445755,17.6622803,1.3226682,1.3900566,23.4081906,18.8636807,63.3964964,14.8375647,35.5172469,64.778311,33.0505455,42.8231922,19.2843686,2.8351075,17.4774334,13.5990484,41.0272229,16.8347292,1.3536564,1.3706067,22.7269697,18.3634658,63.8315051,15.1240987,35.2032851,64.6427908,33.462558,43.7073246,20.6781965,2.7852174,17.319677,12.3493834,40.3790943 +77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1737434,1.1612665,15.827411,11.4657741,79.4331111,15.2463232,35.3915788,66.0799656,37.2421224,42.1545196,24.4007548,5.6681043,11.6501665,10.4943599,36.693217,13.75,1.4653016,1.4301349,16.8399585,12.1145807,79.1392064,15.2363731,34.7174934,66.6693161,37.8251025,42.5304016,24.5110847,5.6447981,11.516016,11.0570544,37.7049525,12.1323529,1.5060476,1.4715776,17.6259171,12.5618137,78.8200162,14.9555906,35.0007243,67.0353074,38.1893466,43.5887687,24.4306125,5.6321453,11.0763407,12.3526378,38.5394527,13.8117938,1.3704101,1.3704101,17.6343663,13.1435335,78.3610228,14.9218733,35.5051909,67.1258488,38.1287561,44.0178601,24.3186899,5.8989533,11.5365348,12.6200555,39.9013444,12.7789928,1.3784269,1.3784269,17.9621889,13.9735699,78.1286462,14.5348641,34.459553,67.7772563,37.3680844,43.7529893,24.3981176,5.4848975,11.9317636,12.7214883,39.0690879 +78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.9035726,0.9133772,14.9538987,10.8761248,31.9170434,16.4270194,36.2912917,67.2815764,37.2880124,48.0712046,21.3009965,3.7475415,13.1240374,11.4597215,32.3506564,9.3237929,0.9024337,0.8875527,15.1840077,11.1448471,32.5271367,16.5398449,36.1096947,67.2346699,37.2878019,48.0554859,21.5290366,3.8953684,12.9534515,11.4267462,32.4391105,9.824897,0.9414879,0.9450582,15.5940783,11.5974525,33.2849347,16.8639676,35.9198488,67.3924391,37.1231745,47.6429715,21.5916352,3.8642882,13.4262933,11.6118652,32.5702204,10.073926,0.9698759,0.9880235,15.9993153,11.9715116,34.3485209,16.6448127,36.2050053,67.1517153,37.1226683,47.4341934,21.55882,3.9060653,13.3065663,11.5665445,32.7899139,9.9659217,0.9544149,0.9778625,16.0658415,12.0537363,34.7786912,16.545182,36.3511855,66.9746427,37.4835844,47.6159447,21.4745602,3.6297574,13.3826921,11.4760181,32.4169302 +79,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0562771,1.8127706,33.3044983,29.6712803,72.7353464,9.6354167,36.6724739,65.4181185,25.5226481,44.3379791,17.5087108,6.358885,15.0176678,11.7957746,31.9787986,16.4233577,1.9200627,1.7633229,33.4731544,29.9496644,72.9522184,9.4166667,36.5833333,64.75,24.25,43.75,17.0833333,6.5833333,14.8464164,13.4353741,31.9112628,18.2835821,1.5675241,1.4067524,31.2392427,28.141136,72.0950704,9.2082616,35.1979346,64.4578313,23.6660929,43.4595525,19.1910499,5.7659208,16.3230241,14.5547945,30.4123711,15.8536585,1.1426363,0.9880768,30.9405941,27.8052805,70.5831904,9.2809365,34.6989967,63.1270903,24.4983278,42.5585284,19.1471572,5.1003344,15.9539474,12.9508197,29.1118421,16.25,1.1100139,1.1484164,31.7656766,29.1254125,70.5631399,10.3820598,34.4166667,62.9166667,24.4166667,43.4166667,19.9166667,5.5833333,15.2960526,10.9836066,30.0986842 +80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.0572643,1.9622485,25.8013431,19.9083524,47.4285462,12.5307664,38.3802909,66.1498227,35.6964681,50.478526,25.2584517,5.5725499,15.5480856,13.2086002,36.3210489,22.0165844,2.0500459,1.975964,25.4607415,19.2357842,46.113577,10.8302622,38.4738125,66.107056,35.4164613,51.3262859,27.1408409,5.4665013,14.8118381,13.7027765,34.917969,20.47477,2.011702,1.9519992,26.3679921,20.1347174,46.906408,9.9481312,39.0284918,65.978689,34.7889561,51.5022906,27.5626786,5.7287908,14.8101738,14.1269103,33.7499582,22.1882062,2.1927831,2.1422049,27.5510546,21.1754028,46.7596087,9.5443848,37.9022822,66.8620104,34.8368508,51.7628723,27.9716374,6.0838383,14.8007801,14.2357348,34.7344802,23.6369495,2.019155,2.0543224,26.5290963,19.9236841,46.7351445,9.5485233,37.8786076,67.0631116,34.7248028,52.3914364,28.5022634,5.9008556,15.2901783,14.3958612,34.4104398 +81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6440615,0.6739284,13.283301,10.2810857,61.8782055,14.1840775,28.800283,64.3167617,29.5987518,39.4431009,16.1259349,13.447543,12.7683743,9.601074,37.2293849,5.6745182,0.6665774,0.6654985,13.243275,10.2802387,62.4248362,14.0200356,28.8451856,64.364754,29.7605905,39.3270315,16.331356,13.575092,12.5820375,9.5751224,36.8100011,5.626327,0.6341919,0.6238982,13.2536799,10.3539708,62.4987423,14.2300872,29.1404319,63.963021,30.0399832,39.4552749,16.4367803,13.6181904,12.7404866,9.4960045,36.9838919,5.6779078,0.6984987,0.6881544,13.2211094,10.2964873,62.7559953,14.0569219,29.3476089,63.917373,30.4634131,39.5908729,16.5912738,13.6258546,12.9927809,9.8863688,36.7680729,5.9004097,0.6731584,0.6605169,13.2854879,10.3342745,62.8447911,14.1306524,29.6171629,64.8161211,31.2047874,40.0773704,16.7554272,13.6203781,13.1724863,9.8746426,36.8731904 +82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4719139,2.509707,38.2597351,33.4985318,64.5663821,14.0037854,35.2037403,64.1954303,29.1706354,41.1952181,18.9981134,2.6903624,14.8821224,9.8924666,42.1367884,24.4243128,2.4317577,2.445228,37.6475497,32.9142794,67.2800383,14.0444635,34.7048134,64.9626115,28.6167848,40.9986398,18.5045154,2.751904,15.6235958,9.9663223,42.6706776,23.8058273,2.3633629,2.380174,37.93143,33.2769619,70.3673909,13.9507441,34.0917137,64.3077869,28.2918967,40.4870542,17.8266991,2.9646426,16.3507416,10.4672105,41.9513779,23.9446678,2.2519134,2.2830764,38.4782127,33.6731811,72.9230413,13.5848042,33.7615272,63.9764898,27.785512,40.4330327,17.9409302,2.6660263,16.4940308,10.2311649,41.7304305,22.8385821,2.354319,2.3783711,38.8898542,33.9309979,76.2121883,13.4383639,33.7202108,63.4506154,27.015054,40.324145,17.0918141,2.9983437,17.3837992,10.9356041,41.7832851 +83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.5051407,1.5210088,25.249431,20.5064901,58.7374293,10.3162661,33.8010835,62.7082579,35.8906926,40.438221,20.0942429,3.5712378,14.4762745,9.7999148,40.4730369,15.7380536,1.6796446,1.695372,26.3911383,21.5445989,59.5627892,10.2565397,33.8446706,62.7764096,35.8454832,40.1963236,20.1823346,3.7061901,14.5238683,9.623125,40.7652125,15.5879143,1.6867368,1.7016285,27.246351,22.3681467,60.546352,9.9206843,34.1295054,62.4774141,35.3065309,39.8892445,20.155929,3.7594859,15.2680006,10.2752841,41.4088686,16.195999,1.7081722,1.7248601,27.686836,22.7633388,61.2929625,9.8650797,33.7197357,62.2033367,34.9006164,39.704839,19.9534248,3.8750811,15.5159296,10.4350505,42.2861854,16.807747,1.7413629,1.7628419,27.9820079,23.1588803,61.8601694,9.6742631,33.8325449,62.4005189,34.8957976,39.7320506,19.9981769,3.9036387,16.082836,10.6567427,42.3482139 +84,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4458578,1.4458578,33.9489748,29.2383929,49.0854068,19.0102416,39.222007,68.1858207,36.1116527,49.3703606,22.3331154,4.0375439,10.7823699,12.0152097,31.8130417,24.7372916,1.3182535,1.3532987,34.0765465,29.5079547,49.6832026,18.1475266,38.9245006,69.2570262,36.0044664,49.6166243,21.531563,3.782622,11.2818154,11.6506314,31.4155587,25.2580476,1.6662571,1.7751781,33.840293,29.0029911,48.998996,18.072249,38.7361267,69.1273712,35.6309332,49.9240668,21.2429162,3.6898103,11.5628991,10.306276,31.4149271,24.2990983,1.5670995,1.6744657,32.7446593,27.7918038,47.9476628,18.1082006,37.7999773,70.0430809,35.6534248,49.387662,21.825468,3.7972665,11.5275942,10.5632266,30.8706309,23.8221589,1.59794,1.6357573,32.117161,27.2721181,48.037876,17.6942318,37.8787345,69.7848929,36.0089227,49.9189926,22.97617,3.9444418,11.2449466,9.4454535,31.7692735 +85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.2848167,1.2848167,22.9371519,17.2937619,85.6750136,10.6874273,31.8131651,62.266904,28.4756489,35.7226447,14.3855759,2.783492,15.5118359,10.8225782,35.8612349,10.4026231,1.2598151,1.2598151,23.0829167,17.7960867,85.4301118,10.8507503,31.6299001,61.6690244,28.5235984,36.3337225,14.4859303,2.6596508,15.8473885,10.8819576,37.1092449,9.443153,1.1230768,1.1230768,23.3801043,17.9317254,84.5142475,11.0091432,31.4760654,62.2266321,28.3075998,36.0835807,14.4040176,2.5601819,15.1620876,10.8047954,36.6364482,9.7566042,1.1580551,1.1580551,23.1881187,18.1057251,84.329329,11.4276315,31.8531536,61.9735789,28.8084892,36.8105032,14.9485938,2.8536284,14.3648203,10.701832,36.5733712,9.0756473,1.1820945,1.1902493,22.9029273,18.0879982,84.6563106,11.6088184,30.7498879,61.1797156,28.764697,36.2393117,14.7242012,2.8059047,15.7061356,11.2538796,37.4222411 +86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.7360606,0.7715759,11.2170716,8.2267969,35.6119983,13.0681802,26.1270639,66.7528847,32.1095164,44.1508755,16.8998391,5.5824474,12.9520031,10.7118514,32.8022038,6.6440701,0.8099005,0.8440338,11.0013497,8.1525435,35.1635861,12.4303468,27.0728542,65.7194931,31.9673016,44.4797697,17.3150491,5.0601807,12.4333497,11.0681026,32.6692433,7.000626,0.7906863,0.8075554,11.4518236,8.5982749,35.2462349,11.4761821,27.1276206,64.9265727,31.2947539,43.9408486,17.1213617,4.6925046,12.7010117,11.2181762,32.6606408,7.8236966,0.750396,0.7673339,11.8496049,8.6324846,35.4283037,11.7794505,26.4372568,64.6197297,30.470897,42.9544387,16.6390502,4.6269811,12.1717001,10.106505,32.1762461,9.6283667,0.6838214,0.7338538,11.8109991,8.8186002,35.5892701,11.4247864,27.7482721,64.8938153,30.6051306,42.9017144,17.091008,4.7583357,12.1955234,10.1421763,31.9294114 +87,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8967314,2.009628,26.0915127,21.1019422,43.5890525,18.7130705,39.9690497,67.9887829,40.0823591,50.72402,26.6486678,4.5296979,10.8423397,10.4980231,32.403935,19.3975072,1.9739685,2.0503098,25.9248031,20.7550512,43.351489,18.6552246,40.5740298,67.2692838,39.3292953,51.1993618,27.1550643,4.358005,10.5292237,9.9102893,31.8917982,16.6702999,1.7890951,1.9118797,24.783858,19.6513499,42.9034681,19.0581234,40.7094736,67.2861229,39.9153411,51.4006253,28.246703,4.2461365,10.7321905,10.3747136,32.1536332,17.3376941,1.518839,1.5829547,24.0252337,19.5129465,42.1872203,18.8644482,41.0382974,68.1253223,40.0875114,51.4567616,27.5856042,4.2543328,10.939093,9.7283634,32.8974165,16.0900329,1.6243191,1.6330927,23.3201017,18.7155897,40.6832472,17.8258237,41.2053112,68.4553295,40.0698414,51.8439837,28.3503723,4.1774212,11.0767669,9.5326444,32.9954552 +88,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3534636,2.4322249,38.9411238,34.2614615,69.0039232,12.2156255,35.9923324,63.3604584,28.4345962,38.7991882,16.8553425,1.7408229,18.1838992,12.361382,39.0928947,23.219528,2.1797799,2.2385388,39.182911,34.461822,69.4655582,12.2278657,35.296931,63.7419626,28.3254495,38.3681687,16.0121288,1.7494059,17.9683176,12.0612788,38.8436735,25.1097849,2.1341907,2.1348623,39.5141095,34.4985821,69.2826597,12.1178202,34.5455001,63.8984349,27.73014,38.3822058,16.1924814,1.8110958,16.8922544,12.1397492,38.2109875,25.9455725,2.294198,2.2587767,39.1009825,34.256928,69.447718,12.7730738,33.8364833,64.1881953,27.6161665,38.321124,16.2439666,2.148933,15.7390967,11.872075,38.0914931,26.7230368,2.3266806,2.3111507,38.4509644,33.517826,68.9947777,12.9738207,33.373386,65.0091254,28.0961284,39.6846023,16.8522076,2.1347358,15.6963371,12.1531996,37.2471454 +89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9368551,0.9627776,12.9959363,9.5411567,53.0282764,25.4388284,29.426856,67.3439429,31.3912334,43.258835,15.029607,7.1178457,13.6907939,10.7084479,33.0858367,6.941973,0.9000783,0.9133775,12.9123076,9.6674803,54.0954979,25.5897278,28.5657124,66.4745449,30.7104106,41.9168357,14.812325,6.9838917,13.7291678,10.7795678,33.2700833,6.4831031,0.9037438,0.9170698,12.6672046,9.4301889,54.7573863,25.6774952,28.619512,66.4289835,30.3955692,41.509648,14.8681436,6.9294717,13.2702849,10.4110291,32.833798,5.9608276,0.7856436,0.8191688,12.2710338,9.1999079,55.6149105,25.1536263,28.9288834,66.1482479,30.7411447,41.317256,15.0257059,7.1003305,13.3206638,10.7763008,33.1236512,5.3248809,0.6934766,0.7277503,12.4311831,9.2648798,55.3981871,24.5012451,29.4694933,66.634471,30.4642123,41.4340433,14.4929472,7.0323061,13.4249026,10.3419244,32.9661123 +90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.128951,1.1989697,18.4246361,14.7210662,47.8838491,16.9046942,37.2622487,67.5568698,35.2163381,49.2297536,21.9659373,4.7973744,13.7136837,9.4627169,28.0903213,15.9950149,1.0287603,1.0989316,18.5126014,14.7098995,47.8001243,16.5425143,37.5334551,68.0334393,35.574678,48.9466788,21.9852527,4.8015945,14.4868667,10.3837229,28.5829182,15.0389122,1.1266299,1.1555562,19.6790904,15.7831249,48.3636038,15.9744693,37.6952677,68.0428599,35.5849685,48.974497,22.1890891,5.1741699,14.1500172,10.5229121,28.938662,15.5931492,1.1603539,1.1904893,20.6620069,16.4800607,49.1927604,15.7241894,38.254169,67.9326106,35.1644422,48.5760137,22.4285228,4.9963516,13.4105765,10.1502871,28.3351346,15.4521333,1.1674978,1.2139525,21.0526274,16.6864282,49.1030436,15.6304019,38.242065,67.9790734,35.6885431,48.847168,22.7824666,4.9950915,13.8894446,10.1522004,28.927088 +91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.2613397,2.3199501,26.888684,20.2660142,47.376433,10.1573699,37.2347386,66.7999574,35.540629,52.4861409,28.9386873,6.3455516,14.4379857,13.843466,33.5103979,21.7980293,2.1560004,2.2835319,27.3606727,21.038936,47.4796441,9.7502889,36.8991766,67.1713505,35.3382124,52.2120167,28.603634,6.1798859,14.7559057,14.5876665,34.5449673,17.9965138,2.1138988,2.2884617,27.8165323,21.0800555,46.9763342,10.0289469,38.120724,66.8322684,34.4763637,52.74021,28.749681,6.2300737,15.3646041,14.717719,34.0470772,16.4739884,1.8955873,2.0730585,27.6766174,21.3986988,48.401144,10.9657053,38.3019287,66.4404172,34.5007566,51.8105091,27.5453159,5.8887923,15.5481546,14.2497168,34.8096103,15.0887574,2.2902759,2.5507932,27.0360195,20.5751087,47.4085688,12.5359117,38.0432257,67.362829,36.3701288,52.4639179,28.4826725,6.2545776,15.0479803,13.43425,35.383363 +92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.7833134,1.8014571,28.5547058,23.7470768,62.6800072,9.4725593,33.9943172,62.3475975,34.7488782,39.6565235,19.8448623,3.8482426,16.2851819,11.1376387,41.8322076,17.8391648,1.7466782,1.7757357,28.9086315,24.0740779,63.4358031,9.3741057,33.9384684,62.6234535,34.606798,39.4538896,19.8548894,3.6879797,15.937527,10.8809166,42.2912415,18.5299628,1.706961,1.7415972,29.2356293,24.4282244,64.0977158,9.2717254,33.8503983,62.4534835,34.5584148,38.9806138,19.6778214,3.6751605,16.1059601,11.1131053,42.71455,18.7724064,1.6365387,1.6571181,29.3244138,24.563083,64.8762248,9.0105651,33.8655386,62.1962856,34.0048782,38.6822841,19.585006,3.6261872,16.565922,11.2527104,42.8928166,19.0296105,1.5983552,1.6170629,29.6031462,24.873174,65.5535089,8.9707654,33.7172193,62.2682026,34.0148264,38.4606801,19.146819,3.6167979,16.0879395,10.8478374,42.8282558 +93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1359569,2.15072,38.3683511,33.7362082,77.9295325,13.5551572,33.0405909,63.0142318,26.6158993,39.7902751,17.2617041,3.0123624,17.6009949,11.4074284,42.3035899,22.6604119,2.393998,2.3894491,38.2528937,33.749691,78.8214568,12.9100983,33.1016495,63.2213703,27.1221862,39.5011557,16.7894476,3.1009226,17.9674281,11.8044343,42.3455222,23.1432341,2.1883729,2.1912671,38.1643032,33.605556,79.3632523,12.4695252,33.188804,63.3672072,26.6724447,39.3334931,15.9687785,3.1838474,18.1935044,12.0813958,42.3935607,20.1228023,2.2270695,2.2519098,37.8925853,33.4332279,80.072094,12.0780438,33.4998831,62.9173875,27.3336572,38.5937077,15.8298825,3.1806014,17.5771296,11.9565136,42.787959,21.0906896,2.2004372,2.1999853,37.6141252,33.1931763,80.6962754,11.6337766,34.0230252,63.5528966,27.0935308,38.4549399,15.4138061,2.9505403,17.3376897,11.6120805,43.085103 +94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.1667294,2.4200677,25.7103996,19.4048276,47.8553387,12.971816,38.1220719,66.8776772,36.4260527,52.3842369,28.2543236,6.1291668,13.8329731,12.4227475,34.9068614,14.0718563,2.2390512,2.3972121,27.0899277,20.962121,47.9316659,13.7850827,39.6846393,66.5963847,36.2732016,51.0554918,28.0861877,6.1027214,13.4201466,11.7330425,35.1535866,15.0566129,1.9653553,2.0997153,27.2888937,21.2579456,47.4024522,13.9094854,41.1812347,66.5763827,36.3584082,51.4295377,28.7478513,6.1415187,12.5576883,11.0172375,33.9286912,18.097893,1.8680301,2.0234588,27.6398504,21.4180781,47.8897328,14.6457049,41.3736683,66.2058034,36.6897188,51.4104991,29.1809943,6.3567249,12.461728,10.7801439,32.8464018,20.9087868,1.8951337,2.0040118,26.2676817,20.2476596,46.6166048,15.2699569,40.5530824,65.8334534,36.831037,51.297219,28.8962424,6.425382,11.9737918,10.958182,34.0880531 +95,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4696858,1.548674,20.5782949,16.5504766,58.5534298,11.8424153,31.6022833,64.9951405,34.4969611,40.4397462,18.4195455,4.1686933,14.0275727,10.3005799,32.9561341,12.6879321,1.4307234,1.5080081,20.3467779,16.2408776,58.4282332,11.5952674,30.9254885,64.6915874,34.8627044,40.546481,18.2847086,4.2049753,14.4093663,10.374449,33.127885,11.2110511,1.2891816,1.3502742,20.7266025,16.6527904,58.6909809,11.6180713,31.0345299,64.4330216,34.7674561,40.5908416,18.4525661,4.1998625,14.2811251,10.5641513,33.3998878,10.9010389,1.2656012,1.3076548,20.8801044,16.7918421,58.6692844,11.6925444,30.9456891,64.2637583,35.2053946,40.6849614,18.8281637,4.3105893,14.7390147,11.0891513,33.5783576,10.5962247,1.3519944,1.3908207,21.2394209,17.0065773,59.7450826,11.6255716,31.2252094,64.4048198,36.1806016,40.8305718,18.4861003,4.235231,14.6530658,11.0133608,33.6933599 +96,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6868399,1.7258082,32.3571394,27.6125636,47.369385,17.965498,36.4623361,69.27324,36.7993718,50.0002816,22.6558833,4.1611426,12.6664737,9.8520403,32.4810769,28.229489,1.8598678,1.9004494,32.0281978,27.2644675,48.4258424,18.6438324,35.1674278,68.8015475,36.658413,49.3855965,23.386848,4.8702636,12.6520603,9.6853703,33.1322305,26.8937095,2.0512327,2.0926185,33.5338334,28.7531986,49.723527,18.3633376,35.8340795,68.6684486,35.7444309,49.0158955,22.2771126,4.7060819,15.1262663,10.0722315,33.3038426,31.7161375,1.996058,2.0810828,34.1640204,29.2841819,49.8338269,18.0852907,36.5003363,68.0543633,34.5335691,49.168302,22.6068578,4.5765004,14.9725583,10.4148254,33.9867411,32.1023371,1.6561864,1.6561864,34.0329535,29.5702901,49.2882221,18.2195965,36.80179,68.3978335,34.9279922,50.2612537,24.1001339,4.4557195,14.5748978,11.4247861,33.7472031 +97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4922633,1.4670544,21.9993117,15.8175144,66.1376468,15.8650826,36.2481223,65.2877783,31.622167,41.4089437,22.8140223,2.9342327,14.3586696,11.6946889,41.1626908,13.8416659,1.5667189,1.5397842,21.928792,16.4176292,64.9067642,15.7395874,37.4590991,64.6336904,31.7384393,42.0447134,21.7888725,2.7699634,14.3077697,11.8877754,41.2212671,12.0916309,1.5167941,1.4900199,21.1263148,15.7662364,64.5800043,15.3527886,37.2818517,63.6339613,31.8235465,42.4482945,22.3499029,2.4650356,13.2198946,11.0169025,40.7479094,9.502329,1.4392075,1.4329513,21.2083818,16.167355,64.5316743,14.5763668,37.1736227,65.0716028,31.9349295,42.6483956,21.9502695,2.4950741,14.117826,10.5575107,41.2466648,8.3226229,1.3349161,1.3285321,20.0786338,15.2350724,64.8793472,14.511594,38.6858156,66.1688927,32.1504073,43.4873727,23.0942829,2.8279125,14.0004145,9.9681124,40.7288443 +98,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6663052,1.6747799,23.7141218,18.9536622,39.9572244,18.271218,41.237246,68.2011501,40.3554169,52.1768195,28.3648047,3.8916707,11.4138329,8.6327887,32.4215419,19.1259102,1.5164568,1.5247338,23.2000142,17.904179,39.9025932,18.0509486,40.4420472,68.4320265,40.8209768,52.1749886,28.4396621,3.5758682,12.5711092,9.9658269,32.9338661,19.1683275,1.6182015,1.6701672,23.861418,18.8014415,39.9667845,17.7110902,40.3123999,68.0928662,39.8990805,51.3714053,28.5261444,3.6572955,13.379446,10.8323665,32.2030863,19.7494406,1.7817334,1.8392931,23.6426535,18.8906546,40.0580082,17.9463011,39.8426175,68.0760047,39.844584,50.1942762,28.3018477,3.7860992,13.1107394,10.5289815,31.3722299,20.4291074,1.9992832,2.017207,24.0498322,19.0730427,39.8094924,17.4484306,39.6670084,67.6804499,39.8074151,51.1598411,27.7551846,3.8362665,12.7100783,10.9500164,32.8207401 +99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.1056372,2.1097168,35.5411837,30.2030806,57.016586,9.9419737,38.8099048,62.1723746,34.368253,43.5326829,19.6392684,2.5159997,18.5156894,14.2964424,39.3236544,18.9245635,2.0073545,1.9811462,35.6375956,30.5200864,57.0483552,9.7940003,38.7839743,61.8706449,34.1445262,42.5695456,19.2884874,2.3498151,18.1820439,14.1827879,39.7424026,19.7934791,1.9752713,1.9719622,35.8808669,30.8612659,57.0795697,9.7869237,37.8380227,62.0458658,33.6278577,42.1900002,18.7400813,2.1639596,19.0649342,14.9660877,40.6841826,20.240426,1.9290523,1.9259316,35.364422,30.3545441,56.8861008,9.6398622,37.8602321,62.4353005,33.3295777,42.6797455,18.398518,2.0908443,19.4429537,15.676377,41.0942877,18.3375336,2.0552006,2.0574603,34.9604872,29.9435836,56.8655334,10.2178375,36.4263769,62.4568436,33.2116357,42.5855313,18.3843609,2.2567226,19.6574374,15.3843053,41.1759247 +100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.8286893,1.9982477,26.9849273,20.6891262,46.2524857,14.9997544,39.745555,66.3342161,36.4644651,51.9120417,29.2879626,6.2541163,11.5707496,11.0255436,34.9580681,22.4864869,1.4879164,1.5720032,27.2813331,21.2577375,46.5267916,14.9074622,40.6817985,65.6654855,35.5498898,51.4854587,29.5406962,5.7731948,12.0764874,12.5182318,34.6379383,20.9593419,1.5798164,1.5850322,27.7351456,21.74364,45.9133641,14.7140269,41.0797287,66.2980615,35.0431354,51.4085062,29.7447718,5.8013728,12.7084972,13.1437466,34.7133615,21.6664191,1.3994299,1.4044422,27.4491646,21.7626975,45.0660416,14.099433,39.9028828,67.1522011,36.0838493,53.3012405,31.3589889,5.9869806,12.1152928,13.740413,32.5008757,18.75,1.6059316,1.6661429,27.9305473,21.6903173,46.0520872,13.6144958,39.2763201,67.5866923,34.7804132,52.4616137,30.1652084,5.8017739,13.0184968,13.9164585,32.3001169 +101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8655289,1.9351469,34.9693834,30.1283563,56.2992724,10.6998266,36.5245363,63.5959917,33.4467492,43.1145341,18.5935115,2.1256507,19.3747455,15.0735952,41.0200451,16.8288336,1.754039,1.8292089,34.243847,29.4369037,56.3165605,11.4676239,35.8897238,64.5564536,34.0577214,44.035884,19.0904804,2.2305297,18.4558467,14.3046085,41.2218812,18.3416143,1.9296864,1.9986672,33.2501125,28.7275019,56.5742738,11.9064286,35.3304608,64.1356739,33.6871014,43.4773177,19.1211729,2.0761497,18.3755627,14.0414942,41.4222926,18.7081049,1.7718327,1.8776183,31.5651304,27.2033081,56.8452816,12.4479444,35.1913449,64.1045022,33.961937,44.1839626,19.6289792,2.1330558,18.5694576,14.1734255,40.8479552,17.6381862,1.8647341,1.9410989,31.6096405,27.327136,57.7440616,12.9339156,35.8296388,64.3551136,34.0908729,44.6472724,19.8451191,2.364121,18.1083479,13.4950301,41.3118202 +102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5487287,0.6176562,12.754186,9.9730843,67.8517947,24.6918947,29.1084668,63.0163412,28.6329748,39.7473925,16.3595789,5.8989564,13.3313053,9.8045247,35.7846123,7.5870666,0.5573264,0.627042,12.6206243,9.8160451,68.450586,24.3166871,29.2532351,63.6705768,28.8015547,39.9427793,16.5763279,6.0975607,13.0043508,9.9006809,35.2443638,7.9746856,0.5741041,0.6302839,12.5531239,9.669097,69.3213149,24.2827141,29.5516511,63.6625229,28.5519475,39.8212626,16.2223531,5.7709815,13.2092804,9.9327616,34.1651308,8.9460806,0.5574623,0.6133283,13.2175196,9.9546843,70.1032518,23.9007623,29.2393277,64.1761865,28.5177399,39.882742,16.3108823,5.667471,12.5000052,9.7130883,33.6238002,8.9024434,0.5751271,0.6318165,12.7175539,9.7557266,69.8057977,23.7987204,29.1017396,64.1154831,29.1934017,40.0397159,16.1472637,5.2703965,12.2093076,9.1717769,32.7065369 +103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.4558767,1.4638257,22.3168737,18.0696702,46.5438466,18.6019118,33.250905,67.2436209,35.1769808,43.9484359,20.3669887,3.5007751,12.5406758,9.4211933,34.0343252,17.7989112,1.4459248,1.4420071,22.6738367,18.1715826,47.4738284,18.3447619,33.1157316,68.1387552,35.2662595,43.4075549,20.3149014,3.6738316,12.5387273,9.3597229,33.8595254,16.7929249,1.480569,1.4938507,22.9490292,18.4830092,48.3014599,18.3491725,33.3044406,68.5533754,35.3851967,43.6338664,20.2254187,3.5546165,12.9498411,9.4639557,33.1026668,16.9354718,1.4896184,1.4933691,22.9141743,18.3241657,48.8293994,18.415336,33.1492457,69.1580624,35.3829138,43.7775988,20.1890141,3.6450638,13.1988599,9.1638388,32.6866766,16.7040283,1.5134348,1.5141685,23.9891926,19.2877334,49.8540514,18.3887678,32.5227629,69.1063544,35.1102121,43.3037645,20.0886454,3.5098228,12.733847,9.0494545,32.5485795 +104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.9277046,2.0320497,32.2226804,27.6429505,57.9254218,13.4665815,35.3078072,63.8970249,33.8092688,43.8115693,20.4983172,2.4313288,17.2186756,12.6805833,41.4557654,18.3113856,1.7126724,1.8178109,32.4534504,27.8582669,58.5984457,13.38842,36.7138821,63.8398258,34.0376303,43.7907827,20.9257381,2.5070602,16.8638195,12.933574,41.3437089,17.8815116,1.7816458,1.8074347,32.2096694,27.3065257,58.3503686,13.3379484,37.5061367,63.690047,33.917633,43.5832015,21.1928432,2.8802432,17.117123,13.5040706,42.3745073,18.7767892,1.9004233,1.9183816,32.5050159,27.3982046,58.4745148,12.9549054,38.0708159,63.6589711,33.61828,43.7424259,21.7584083,3.0591208,17.0388026,14.1921467,42.3582447,18.829774,1.7319761,1.7970642,33.4698487,28.3693801,58.4057053,12.744751,38.9205837,64.1523252,34.6264211,44.7447008,22.35156,3.1860877,17.3012406,14.1173704,41.6771609 +105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7331168,0.7457198,16.4438723,12.7113707,57.9914749,18.773484,32.3417707,65.4458435,32.4523186,42.9729034,18.3208354,3.4196314,12.8642001,9.1030663,30.9001506,9.2713519,0.7206394,0.7332588,16.4830663,12.9010282,58.9382728,18.6608185,32.2772431,65.4683679,32.846241,43.4001107,18.0654952,3.4654891,13.0471541,9.6946156,31.6698918,10.8374166,0.7296858,0.7311284,16.3809466,12.9277754,59.6754131,18.9700679,32.6254646,65.4106906,33.0381705,42.9203563,17.5899631,3.4570371,13.1437287,9.8739223,31.7605457,12.0384966,0.7835213,0.7601614,16.2067178,12.8253781,60.1839189,18.2109932,32.3262234,65.9378651,32.9357284,42.9408346,17.6868573,3.4759893,13.1726232,9.9492287,32.5208456,12.6800225,0.7478358,0.7120224,15.9971268,12.6574028,60.5678703,17.688467,32.1873186,66.1058971,33.1226451,42.5563059,17.4229819,3.5799874,12.8605806,9.9711775,31.9407066 +106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.6567533,1.6822697,29.8411073,24.9894844,66.213281,8.8069872,34.3062565,62.4884088,34.0583106,38.4006562,19.0113191,3.4079565,15.9709302,10.756547,42.4103133,18.6848556,1.6442308,1.6660693,30.0723032,25.2612096,66.9393232,8.8336615,34.1702145,62.3016936,33.9454179,37.9313238,18.6884053,3.3631106,15.8120954,10.8091218,42.1497601,18.4721988,1.6488189,1.6720468,30.1725737,25.3435041,67.3224876,8.6616983,34.4326287,62.33169,33.7712202,38.0533174,18.4604971,3.3451963,15.9251129,10.9223395,42.2623018,18.052553,1.7563991,1.795912,30.2784979,25.3478227,67.7733463,8.612356,34.4978521,61.9167312,33.4394808,37.8739773,18.2529142,3.4938934,16.0147197,11.1560049,42.1453636,18.1131257,1.8209891,1.8733217,30.4680958,25.5343229,68.2901866,8.5765785,34.4427217,61.6401867,33.2600368,37.7137752,18.1011024,3.377041,16.0218456,11.1993746,41.853262 +107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.7926052,1.8330439,27.828586,21.5841376,45.9428534,13.6997007,39.780687,68.0140293,34.5236206,52.3046061,29.9774779,5.7588352,13.3935631,13.4098166,32.5389288,19.3227092,1.8498215,1.8627169,28.9464084,22.3488017,46.6395895,12.531868,39.0449086,68.1169506,34.0124981,51.1834208,30.5804378,5.7131047,13.993778,13.3938384,31.566101,21.3414634,2.0327313,1.9797501,28.5093029,22.4258187,45.296677,12.2778838,39.9922563,67.7521834,34.5347018,50.5569819,31.0154974,5.780164,15.1333937,13.9080415,32.9795163,18.8492063,2.1176625,2.06436,28.6095408,22.7393647,44.9077586,11.9548957,39.3322766,68.3262586,34.2648202,51.2370457,30.4952631,5.6272335,15.4528691,13.2712875,34.5742296,18.6746988,2.0156752,2.022025,29.0390258,23.3853937,44.2363075,11.8378733,39.645454,68.6193229,34.2354671,51.2822465,30.2813685,5.3810399,16.508011,13.0514599,35.036622 +108,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6088292,0.6411708,12.266436,8.7024221,59.660483,24.0006892,30.3235908,67.9366736,30.2887961,40.6228253,15.2574809,4.9234516,11.9758351,9.4950213,36.5564342,5.5873926,0.620861,0.6530464,12.628866,9.0206186,60.7442348,24.476125,30.6608696,67.0782609,30.2434783,41.2695652,15.7043478,5.5130435,11.1781405,9.5457771,36.2106017,5.3424658,0.5412856,0.5727519,12.979798,9.4781145,61.8290598,24.7056845,29.6491826,67.1151226,30.5347411,41.7404632,15.8208447,5.2282016,11.1072664,9.2387543,36.4874302,5.6728232,0.4990668,0.5463407,13.0968393,9.667115,62.4786325,24.3374706,29.3947637,66.8650119,30.7548453,41.567494,15.6919415,5.4233254,11.6896552,9.3448276,37.1080139,7.0855615,0.3680547,0.3918642,12.9517055,9.4393786,62.5085793,24.5705625,29.2236662,66.4329685,30.8994528,42.1169631,15.5437756,5.2838577,12.1180556,9.2772759,36.6409537 +109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.1154845,2.1220186,28.7543123,23.1739665,44.2539254,11.1757242,39.4419227,68.3315243,33.5213355,49.9753572,29.2170898,5.4123852,16.810842,12.8112365,37.1128973,20.625,2.272447,2.2366472,28.5117036,23.271742,42.8970756,10.8256937,40.5884238,67.8851182,33.7413784,50.7548924,30.0031094,5.5135058,17.5348252,13.2326004,39.2578673,21.1297071,2.3341009,2.2403017,28.3534525,22.81209,41.8197655,10.5551676,40.6020088,67.4504867,34.2414718,51.4740917,29.8720413,5.5238298,16.6656863,13.2671934,38.6492613,20.625,2.0977034,2.0909225,28.3431031,23.0771714,42.3728181,10.6471466,41.4329072,67.7229103,34.7895332,52.2969712,28.5793244,5.6142797,16.2836455,13.6016333,38.8155664,20.9051724,2.0641986,2.0690842,28.659434,22.7598756,41.88214,10.3917971,41.3111012,68.2500865,35.2161657,52.3994551,29.1732723,5.442682,15.3995996,13.3377286,38.3394194 +110,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1864047,2.2038759,24.4503264,19.292551,40.0864237,17.0795917,38.9512618,67.2923313,38.7743667,50.8107069,26.9592687,3.6428075,12.557242,11.4440773,33.2278407,24.7740539,2.0791916,2.0964097,24.0334036,19.336904,40.5463359,17.6519056,38.7721435,66.9442965,38.1943291,51.0917015,26.230503,3.6832141,12.6716656,11.8471656,32.6738663,22.202525,2.2174494,2.2345417,23.5368068,18.8784284,40.1590324,17.1766894,38.7132977,67.5570741,38.6677793,51.1693304,26.4366172,3.9536971,12.3441418,11.9972824,32.8998916,22.691663,2.2023615,2.219144,23.6625318,19.2644964,40.1054739,16.9505457,38.7554094,67.4274076,38.3618768,51.3482232,26.4281029,3.8567062,11.6901219,10.7352669,32.7609359,23.5207503,2.1776155,2.1576209,23.0808867,18.5787031,40.682912,16.8248902,38.174701,67.9349875,38.0446633,51.9561891,26.3785475,3.5104544,11.1751279,10.1129783,34.1167677 +111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6450265,1.6707403,29.8213404,25.2823572,47.3011291,15.9833299,36.2296325,62.0023042,32.660913,45.0686972,19.3178437,3.1403981,14.4768105,10.9276026,35.856789,20.2478352,1.6631371,1.6890126,29.3705457,25.0015976,49.0387766,16.4777609,36.1916809,61.5116311,32.079392,44.8269278,19.3667426,3.2377828,14.7067195,11.3750645,35.9739766,19.4623617,1.6115726,1.6112123,29.5231634,25.326582,50.857844,16.1460953,35.756289,61.8528529,32.1216016,44.4320497,19.2564923,3.058142,14.31871,10.9116734,35.4076008,18.8734489,1.4886874,1.4811877,28.774845,24.7816248,51.9439793,16.2625464,35.2321743,62.8077309,32.1392669,44.2461542,19.2301952,3.1296606,13.9967868,11.1184323,35.3627074,18.8282198,1.5600001,1.5437956,28.7976619,24.8376636,52.6825603,16.3426664,34.1971981,63.1323565,33.0325138,43.6285407,19.3519871,3.2998221,14.6317455,11.5191669,36.1353233 +112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.191971,2.169156,37.09441,32.7030956,81.3655932,11.2292229,35.2275628,63.5787237,27.0703795,38.0875366,15.2573976,3.0713766,18.4010117,12.7221853,44.1462318,22.7152498,2.0973887,2.0821819,36.5795985,32.1019895,81.6075555,10.6465275,35.457317,64.7960553,27.0711974,37.5601733,15.3407667,3.1036243,18.1272807,12.8198325,44.9264077,22.5741362,2.1430748,2.1278131,37.2798587,32.2626232,81.4596681,10.625758,35.7162523,64.6105726,27.2239083,37.8329506,15.2122406,3.1240577,18.8765245,13.3689449,45.1868583,22.3771523,2.1039525,2.0655962,37.9012689,32.8277761,81.8967579,10.8927058,36.1343557,64.5797264,27.2515883,37.8800942,15.3137805,3.1192377,18.9407462,13.5431,45.0678576,22.992217,2.0044859,1.97956,38.1925114,33.1367072,82.6906081,10.9429255,36.3373542,64.2495824,27.3848592,37.7779808,15.499652,3.0484824,19.2410956,14.1670462,45.1663124 +113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.6305376,1.6150416,24.8726951,20.1273217,51.1368959,18.2861763,32.4422939,67.981613,34.6561451,42.8049657,19.3005192,3.5209604,12.3442193,8.984191,33.0668929,19.4791799,1.5223923,1.5089879,25.4296678,20.4997735,51.1499603,17.8790552,32.4539017,67.5691099,34.2281029,42.7764737,19.1128943,3.1682024,12.3945631,8.7863047,33.8931184,20.5708772,1.5879953,1.5817707,25.2383023,20.5830162,51.4916746,17.5963143,32.6472425,67.6028938,34.3302162,42.2901745,19.2744949,3.2408439,12.0138887,8.5456116,33.7768842,20.8719952,1.7054093,1.7197648,25.806792,21.3501493,52.1115401,17.5094133,33.3671151,67.0159881,34.2235537,41.9765403,19.6867101,3.0538613,12.7987136,8.8965456,33.5416959,21.9141368,1.5829837,1.5982187,26.3756409,22.1295389,52.6880535,16.6265767,33.1298381,66.5815672,34.7724497,41.7424877,19.9000946,2.830187,12.8616786,9.0683044,33.5834741 +114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4951281,1.4885449,19.2725798,14.4156976,64.7217534,14.4916167,38.9336437,66.5520329,33.3967443,44.5000018,24.6762088,2.943776,14.8567199,10.7187598,41.4801646,8.5025143,1.4312647,1.438466,19.3617453,14.245856,64.5054427,14.7893618,37.8043342,66.9919133,33.6064186,43.9965137,24.5136407,3.0004854,15.0142436,10.8174274,40.6902908,8.9478977,1.4958685,1.4958685,19.2350221,14.0530538,64.5564499,14.8896619,37.0250486,67.7049871,32.335119,44.1381661,23.948438,3.0856586,15.0238609,10.8235488,40.5700162,9.1037344,1.5936695,1.5936695,19.3211367,13.920072,64.5452365,15.5294276,36.9205223,68.6853019,32.7360004,45.18755,24.5317972,3.6408597,15.8095521,11.2620699,40.9195079,11.2957537,1.5445408,1.5445408,19.1964699,13.8973858,64.9475774,16.2183942,37.1878335,70.3206539,33.3150339,44.6293001,24.2515783,3.8806644,16.2003898,12.0759822,40.3111136 +115,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3667841,0.4062163,12.6677852,9.2114094,62.1533721,24.8491957,29.298604,65.9686755,31.545795,42.57746,16.0537964,4.9880831,12.8571429,9.4556874,36.4371047,7.8947368,0.3328121,0.3728378,12.8113272,9.5018765,62.6738526,25.2293578,28.9391845,66.2577747,32.0145128,42.6572218,16.1886662,5.2004147,13.4819533,10.3264727,35.3928571,6.9602273,0.3389085,0.3790241,12.0225102,8.9529332,63.628442,26.0462742,29.3294158,65.7967508,32.5440719,43.3632907,15.9868648,5.2367784,14.3212509,9.7153025,34.2724679,5.6521739,0.4191882,0.4512806,12.0471634,9.0738209,64.2857143,25.9328358,29.7934596,66.1101549,32.8227194,43.1497418,15.5077453,4.595525,15.4584222,10.0142552,35.2248394,7.1646341,0.4763427,0.508312,11.7897244,8.6934331,64.7007655,26.3488293,30.6646006,65.5819559,32.1108815,43.1301653,15.6508264,4.9070248,16.1047346,10.3956835,34.2826244 +116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.1617757,2.1666391,28.1801291,21.7176519,42.2762603,10.4164119,41.6202055,67.3992535,35.7688822,51.9677809,28.886551,5.7652416,15.7016505,13.3505901,36.4975598,20.7983193,2.4136262,2.4581739,28.8231053,22.0225049,43.2569667,10.373255,41.4717585,66.8313733,35.8182829,51.008903,29.1763166,5.6942555,14.2406299,12.9028507,34.911351,19.7095436,2.4595868,2.5036642,29.6810324,22.5977385,44.1280987,10.7342861,41.5717115,66.7061423,35.9190423,51.312516,29.6071892,5.9474195,13.8386086,12.783965,34.5694214,19.3234806,2.2446926,2.2748011,29.3966528,22.5214061,44.5417958,10.6922197,40.1816868,66.5713366,35.8335551,51.0136597,29.5994553,5.9334089,12.7937547,12.7687387,33.79559,19.704006,1.9462548,2.0075817,29.7052974,23.4688592,44.1994507,11.0839606,40.1322742,67.3400489,36.5623156,50.372033,30.0147849,6.0431429,12.0409487,12.0156035,34.3757356 +117,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4651852,1.5201542,23.6420838,20.1644795,51.1974154,17.237029,41.6775978,66.6208491,36.3779074,47.7838125,25.6056521,3.71556,13.1197009,11.4406565,35.6707404,12.0283547,1.4498108,1.4690398,24.0629317,20.7477142,50.984346,17.4299344,41.0115652,67.0398696,36.673563,48.2036167,25.4859806,3.3391452,12.8787721,10.9101347,35.3113956,11.2440245,1.4670636,1.5392234,23.6133793,20.1726526,51.1946275,17.3758291,41.2906948,67.8818721,37.1645183,48.5689011,25.8747524,3.1233067,13.8235091,12.1907803,35.8412289,11.6666722,1.3126887,1.3919722,23.1870885,19.4481395,50.234868,17.528961,40.9495567,67.7895717,37.9609865,48.3636355,26.2364605,3.2472282,12.6900498,12.0023213,37.1310359,10.6965227,1.2964385,1.3776097,22.554748,19.1985631,50.7189815,17.2648579,40.8146428,67.3223176,37.4207727,47.8365865,26.1857565,3.1890945,12.2921615,11.3420428,36.9331623 +118,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3673954,2.3415528,38.2968759,33.4074447,69.386802,14.0108771,33.3648907,64.7209205,27.8106899,39.7549374,16.4327768,2.1704223,15.7530388,11.7043984,38.300967,26.1452955,2.3811373,2.3584744,37.1089575,32.2417911,69.4288115,14.1151754,33.619929,64.5507623,27.8323308,40.0629411,16.5572267,2.1703855,15.8084563,11.5320382,38.4038086,26.2616207,2.3319154,2.3074791,36.6545565,31.8823887,69.4626075,14.7012847,33.6525138,64.7376304,28.0461275,40.2860148,16.833008,2.3175534,15.8085549,11.3725776,38.3139265,24.2094217,2.310905,2.2808178,36.1131314,31.4153508,68.9969172,15.4502123,33.9144433,64.9234181,28.6423292,41.1708838,18.0127887,2.4235035,15.6024278,11.4502405,37.7109156,23.1236109,2.344322,2.3269475,35.2725019,30.7684956,69.405983,15.3600732,34.0986311,63.8762563,29.363862,40.8017315,17.9548023,2.3531022,16.0483602,12.1204491,37.4862623 +119,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0380592,1.075938,33.3603896,30.4383117,70.5733558,10.0654664,33.7993421,63.2401316,24.9177632,43.5032895,19.6546053,5.8388158,15.4723127,11.525974,31.3311688,16.4122137,1.376205,1.4142567,32.9228243,29.3103448,69.7457627,9.5744681,33.5808581,61.7986799,25.8250825,44.1419142,18.7293729,6.3531353,15.4458599,11.9426752,31.3694268,19.2913386,1.2539809,1.2937898,33.3617747,29.9488055,68.8049209,8.2482993,33.7628866,60.5670103,26.7182131,44.0721649,18.2989691,6.6151203,14.3092105,10.3618421,28.7828947,19.9115044,1.1570131,1.1996025,32.7586207,29.491833,68.5255198,8.4699454,34.2883549,60.1663586,27.818854,45.194085,18.207024,6.7467652,14.516129,8.781362,28.4946237,16.8103448,1.3499437,1.3921734,33.9090909,30.0909091,70.6603774,7.6992754,33.6697248,59.9082569,27.2477064,43.9449541,16.4220183,6.146789,12.8975265,7.5971731,28.7985866 +120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0213127,1.9899452,38.6806489,33.3206353,82.7706844,10.6258339,36.5101888,64.3574288,26.7775798,38.7975235,15.0828636,3.0103454,19.721857,14.0792014,43.9591016,22.8174327,1.9004698,1.8689259,38.7569908,33.54059,82.542695,10.7077475,36.8349344,64.246369,26.8346464,39.0815343,15.2929812,2.9933523,19.3825682,14.1713437,44.8084178,21.7999791,1.8711035,1.8397965,38.4658257,33.2769304,82.3141276,10.6726888,36.1002036,63.9260381,26.6221257,39.3327787,15.7678056,3.0833941,18.0583353,13.2852081,43.5393036,20.9868109,1.9305391,1.9462065,37.9962887,33.0810711,82.2638435,10.7100509,36.6731029,62.7238305,26.4950102,39.4358744,16.2528077,2.7923998,17.5063033,12.9530917,43.6997288,21.8547268,2.0075822,2.0234292,37.0721906,32.6706704,82.9138957,10.2529146,36.9587734,63.4163054,27.0113751,39.2426409,16.3118017,2.7368364,17.5898412,13.2455196,43.5470789 +121,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6648083,0.6567928,15.6627374,11.259778,33.1781321,14.3379165,33.0809312,64.855089,34.6292641,44.6478525,19.7038664,6.0709904,12.4130441,8.8473818,32.1882119,7.7660281,0.6706843,0.667119,15.6284281,11.0789068,34.4743595,14.0345604,33.4444163,65.7247392,35.0820539,44.4529509,20.1344483,6.1946441,12.9379658,9.2205526,31.61132,7.0083669,0.6815927,0.6715624,15.183622,11.0613667,34.8559739,14.1091212,33.3579769,67.3784357,35.8093802,44.4061839,19.5739071,6.0733779,12.676501,9.1025056,31.6678185,7.6216622,0.693845,0.6839006,15.0841328,11.2892066,35.763702,14.005759,33.2739682,68.3493177,37.741439,44.723038,20.1475377,5.9894799,13.0832476,8.6950758,32.9432496,7.2190674,0.6582763,0.6742777,14.6517835,11.0401408,36.239801,14.2527832,33.5718203,67.8573662,38.3579293,45.4381325,20.3890777,5.8068645,13.3432857,9.5771895,32.8243096 +122,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8826551,0.9087081,16.3133307,12.8409522,56.4065223,20.1601828,33.7360623,65.2788732,34.5651804,45.5961527,20.2417407,6.2307227,12.4726064,9.0300894,33.3377775,9.9468213,0.8756721,0.9078172,16.6528399,13.0633531,56.9424123,20.24907,33.7950121,65.0952398,34.4049055,45.1635985,20.1453709,6.3005692,12.4353567,9.0203767,33.8166128,10.3540924,0.8941066,0.9236754,16.5615523,13.0973594,57.7022472,20.1934203,33.8331473,64.7731037,34.5239856,44.8866504,19.8805552,6.4090894,12.6570423,9.0645694,34.2062454,11.7740481,0.9215459,0.972114,16.936453,13.3728634,58.5128616,20.1426724,33.8764556,64.5752699,33.7897316,44.5803318,19.5554249,6.3493484,12.7255379,9.4132814,34.0870785,11.7616363,0.9597517,0.9905279,17.0761704,13.5746696,59.2779795,19.9693817,34.1402403,64.8571962,33.7688173,44.2184527,19.6423642,6.3330368,12.7223465,9.4062064,34.4990437 +123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.0023311,1.0111907,16.3326439,12.3945204,35.5991961,16.5457947,36.9300302,67.1954685,37.9794863,47.6538411,21.4053116,3.6127894,13.9073749,11.4380737,32.7094705,11.1952581,0.9411921,0.9542185,16.2596525,12.4269729,36.4409093,16.625247,36.9294283,67.4194929,37.684199,47.8196109,21.3789455,3.6120804,14.0874605,11.7235517,32.9090387,11.6639095,0.9909429,0.995103,16.5730081,12.8380761,37.0640142,16.5500558,36.7615094,67.2730915,37.5660267,47.7005394,21.4877513,3.3441447,13.9226735,11.4150249,32.6607811,11.6071115,0.970734,0.9930022,16.7699316,13.1478606,38.1496687,16.2398837,37.0875108,67.263511,37.4663886,47.3906095,21.8345077,3.2327091,14.3832372,11.30273,32.9383781,11.7021143,0.9462804,0.9889869,16.7987977,13.2912864,38.7996871,15.8345428,37.2449039,67.1318061,37.8718989,47.4858645,21.9633598,3.3747264,14.18432,11.0931239,32.5776526 +124,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.617168,1.6388966,25.5351215,21.4919642,57.9996937,14.7369249,34.2626806,65.6843191,32.4683939,40.7195293,18.4465629,2.9820853,13.1164871,9.5127187,36.3748253,19.2201556,1.7522807,1.7866407,26.9637066,22.7829822,59.0536311,14.3935625,34.3129215,65.6179294,31.7789537,40.5705681,18.4882324,3.0253693,13.1677192,9.8921351,36.5847702,18.6861497,1.7373404,1.7753991,27.6282716,23.343489,60.3737987,13.8732672,34.0092282,65.182616,31.2994117,39.648192,18.3555272,2.7857557,13.6071862,9.8990854,37.4532348,18.3914418,1.7722819,1.8040007,28.3905924,24.0252183,61.5019344,13.3371846,34.1700061,64.3809285,30.7457898,39.0599031,18.1017343,2.7082934,13.6718614,10.2224246,37.937082,19.0447523,1.7750492,1.8330752,29.312104,24.999778,62.5979956,13.044621,34.3891097,64.2517871,30.7220043,39.1863603,18.1810606,2.8569441,14.2176438,10.44946,38.0136752 +125,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3140765,1.3688753,21.443835,17.1529225,60.7977015,11.2578237,30.4558996,65.1951202,35.7338382,40.4605552,18.1198266,4.0505815,14.171536,10.8304753,34.3348468,9.4760006,1.3730805,1.4079633,21.6393945,17.3909066,61.2991256,10.7925512,30.0467322,65.0516608,35.7697261,40.9040702,18.1991204,4.1187637,13.966444,10.2757171,34.0210842,8.5382634,1.4788488,1.510381,21.8063006,17.4128936,61.6879373,10.917105,29.9968159,65.0772107,35.272666,40.2775852,17.6826688,4.1408726,13.1850589,9.8435589,33.8275802,9.1145409,1.3633076,1.3901623,22.1425207,17.7161863,62.5566135,11.0237118,30.2464337,65.0028418,34.9153015,40.5646124,17.9920909,4.0990996,13.0648526,9.7218807,33.4895284,8.6989958,1.4614583,1.4783293,22.1485881,17.7515219,62.4677843,11.0044863,30.2662797,64.6897287,34.6715022,40.7953258,17.799824,4.1860208,13.0322776,9.9921223,33.6499096 +126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.9258616,0.9586285,16.9995147,13.3805334,39.3267544,15.7936557,37.2876185,66.9043862,37.6844843,47.7055722,22.2435788,3.1936026,14.5121122,11.2677752,32.827398,13.1451605,0.8772302,0.8949069,17.3727749,13.7721983,40.3331128,15.6189093,37.8343332,67.0343948,37.3166507,47.8429538,22.3160284,3.3341546,14.2700311,11.3919407,33.4437882,12.9006746,0.9051974,0.9445356,17.6200642,14.0328873,41.0305735,15.6163424,37.7221762,66.5753596,36.7238873,47.8146939,22.0659778,3.2079358,14.2633298,11.463351,32.8200643,13.0673409,0.9395212,0.9806297,18.3151376,14.7347272,41.8437564,15.4417963,37.8121683,65.5178893,36.6368944,47.4473338,21.9576452,3.2872185,14.3080036,11.3151019,33.3454043,11.9531688,0.9807506,1.0153016,18.7876639,15.2276389,42.8562762,15.2476785,38.0708322,65.5922567,36.4080225,47.3611066,21.8761368,3.3678751,14.3682309,11.521228,33.8203896 +127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.0969941,1.1056461,20.1283545,16.4711611,54.064354,14.7361799,30.7263736,66.7912532,33.3921104,43.0959207,17.8349824,3.053598,12.9065085,9.0790201,34.1274663,12.7083192,1.1103798,1.1241771,20.3420772,16.8266667,55.2812991,14.7006593,30.8017208,66.5258928,33.2941129,42.5851752,17.8551731,3.0531752,13.104145,8.3597134,34.3506165,13.2138142,1.178625,1.1952858,20.96496,17.3944827,56.4033305,14.8957695,31.1188394,66.2919038,33.0267193,42.4298351,17.9681187,2.855006,12.8909635,8.4743401,33.8673322,14.078283,1.1633091,1.1857219,21.5447669,17.9138488,57.0118325,14.8819804,31.4864301,66.2010343,33.0370391,42.5411179,18.1593443,2.8806328,13.2920166,8.5103425,33.6703735,15.0059389,1.2311462,1.2525063,21.3922198,17.7909711,57.8252233,14.9150646,31.8303258,66.299258,33.4068184,42.5985402,18.3233153,2.9458927,13.3397638,8.8867424,34.1682859 +128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5099372,1.5099372,19.2291136,13.5688936,63.0854006,17.3149387,36.1349467,69.3814156,33.7382249,46.1178323,26.0266774,3.713056,14.4341839,11.9528908,40.5239392,14.1355277,1.7629118,1.7492044,19.4892558,13.6863235,62.8146634,17.631565,35.9343421,68.6704484,33.4222277,45.2072813,25.6084563,3.5844583,14.2776858,11.8961821,41.0227262,16.8603486,1.5814598,1.5673706,19.0937746,13.360987,61.7745391,18.0947672,36.2033866,69.1649423,33.4825811,44.9204257,25.4137397,3.4102461,12.8137151,11.5488537,40.6301084,14.3167736,1.7415438,1.7270717,18.6979311,12.8872133,61.7059857,17.7158148,37.1627189,68.2025124,33.410298,44.9902456,25.4397869,3.7686824,13.1703988,12.1885091,41.0297172,15.7151767,1.7007415,1.7864143,18.4557237,12.7662167,62.1292642,17.8153524,37.2277083,68.0109211,33.6458287,43.656157,25.0271401,3.776254,11.879647,11.2647036,40.7792711 +129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6947132,0.742077,12.8362513,9.6980958,36.1622545,11.4723745,27.5617982,64.0521214,30.4987704,42.8530676,16.9962076,4.5401471,12.2186332,10.0311888,32.0376788,8.8580659,0.7513749,0.7964306,13.050698,9.5217352,37.1409237,11.4000191,27.4298433,63.6220212,30.6116195,42.4702597,16.5028725,4.4832479,12.1262383,9.6819061,32.3003706,9.8411927,0.6732321,0.7034439,12.7455485,9.4275892,37.9535625,10.8137243,26.998807,64.100731,30.1334381,41.798794,16.0764219,4.4755687,11.3470319,9.5358534,31.5266017,9.7767958,0.6489619,0.6798923,13.6818657,10.200411,38.6848451,11.307068,26.891302,64.4549701,29.3315942,42.0598469,15.6137168,4.6659933,11.4984876,9.2457734,32.1286692,9.4289091,0.7312612,0.7620754,14.0130897,10.643501,40.9409479,11.7778562,27.1193216,63.6455264,28.6342332,41.642209,15.7248378,4.5610261,11.9320569,9.2042534,31.8921378 +130,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3386448,1.3555856,22.7863723,18.3333608,63.1697065,14.4799585,35.2164999,64.9101838,32.2425188,43.476381,20.6804786,2.9457413,17.903437,12.8064808,40.3244029,14.8653952,1.2630061,1.228929,23.5853539,18.5694732,63.5029592,14.0275035,35.8761566,65.4427477,32.6537669,43.8482998,21.0615859,3.1374083,18.775535,13.9353284,39.7436821,13.7842755,1.2830911,1.24943,22.9944676,17.8445953,62.7711181,14.055328,34.9207576,65.4821018,32.1508814,43.7000238,21.5876817,3.2500307,19.2830881,15.0880411,40.5372328,13.5638226,1.5564893,1.522369,23.5243279,18.1088073,62.0897225,14.0431355,35.048814,66.0753966,32.2980096,43.9831761,21.7267635,3.3456976,18.8793656,14.7353147,40.8338479,16.3316501,1.5116151,1.4596636,23.3402873,18.3472731,61.8884454,14.4642588,34.3740436,66.6562682,32.9470824,43.9768645,21.8385785,3.2352203,18.0697779,14.7051459,39.9144302 +131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6623418,0.696695,12.2170236,9.4008951,55.9971568,24.685477,29.8282189,67.3178698,30.4932486,41.5488782,14.283743,6.9963746,13.8873255,10.7323802,33.7400759,5.3370537,0.6365852,0.6623504,12.0923209,9.2730785,56.8514199,24.6034374,30.0165942,67.1879815,29.9889718,41.7796484,14.7938084,7.2100518,14.3374283,11.0027797,32.9309202,5.1305731,0.6394942,0.6659209,11.7455337,9.1102192,57.3067771,24.0344544,30.7834593,67.6780978,30.2422358,41.6950949,15.1424497,7.1367318,14.8892879,11.4060602,33.0298992,5.722305,0.6772969,0.7039984,11.7015007,9.0088555,58.3991706,23.8711052,31.6205912,68.1779413,30.9010337,43.3649587,15.0402993,7.0955466,15.0591818,11.3515042,32.4477144,6.2851547,0.5755155,0.6021817,11.7033263,9.2168941,59.509984,24.1608379,32.1653302,67.9205105,31.3358416,43.6355651,15.2888887,7.5943873,15.7445433,11.1667647,32.4910546 +132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4984175,0.5267945,12.6754375,9.8688465,70.5091968,24.3427475,29.4864562,64.1242536,29.3641752,40.2169263,15.9737375,5.4876307,12.4233136,8.8868376,32.8086479,7.0694124,0.4720361,0.5011059,12.4765474,9.6587623,70.3238507,23.5943258,29.6197987,63.623642,29.2741095,40.3047036,15.6034199,5.4839849,12.5639378,8.7387939,31.8181962,7.7427882,0.4770979,0.4770979,13.0044379,10.1040577,70.764962,24.3570119,30.3305399,63.6957185,29.6950217,40.7529631,15.9993922,5.6403057,12.8608084,8.7724917,30.9061519,8.0474998,0.490782,0.5279735,13.4915857,10.4651357,70.9692541,24.1582449,30.4607607,62.8061917,29.5587123,40.8342666,15.7055702,5.4929249,13.0392151,8.4918072,30.3559665,8.9095816,0.6144449,0.6345132,13.6437137,10.6475714,71.449733,23.7858377,30.6726053,62.8306931,29.2034727,40.9237872,16.0790374,5.6970422,13.2195435,8.4284789,31.6801613 +133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6433989,0.6798967,10.1352977,6.7528368,54.0697713,19.8138297,29.1337656,62.7063844,30.9523808,38.9686581,16.9298868,7.9325204,11.947597,8.8884512,35.5438287,5.3287791,0.6452033,0.663534,10.3436102,7.0722508,54.7927156,20.0070145,28.456143,64.1286539,31.6374285,39.1695931,17.2982459,8.0116946,11.8739584,8.4628305,35.7232495,5.6503234,0.6373287,0.6519459,10.595183,7.5382108,55.5829202,20.2903513,28.7482651,65.6524753,32.3114341,39.7616801,16.6936604,7.9245706,12.5879015,8.8497651,36.1215833,5.1456331,0.6023867,0.6150824,10.7412495,7.7671003,56.4158736,20.5650624,28.6482163,66.3197643,32.5594736,40.0617525,16.6857274,7.8110691,12.8516901,8.8936575,36.7097655,5.952382,0.56116,0.5905282,11.1746256,8.0363142,57.45425,20.3503774,29.1358879,66.6554735,33.0535056,40.4186243,17.1367799,7.5106326,12.6032995,9.0679485,36.3405571 +134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1838847,1.2189056,18.8167957,14.3393365,78.3664845,14.5860544,33.9400976,68.267261,37.2398327,42.5986429,23.8445755,5.7427043,13.4815235,12.6533489,37.6948714,12.5949643,1.1491548,1.2545654,18.8517802,14.7295222,77.07298,14.6600299,34.8531512,69.3313257,38.4729668,43.4847635,24.9426931,6.0735161,12.6537492,11.6546016,38.5923628,11.5219434,1.0772223,1.1472793,19.1134856,14.5486006,76.6527555,14.6979624,35.4577439,69.4892307,39.4885563,44.0300607,25.374639,5.8558573,12.9139489,11.1266421,37.3537475,11.3103484,0.8840785,0.9564159,18.0169728,13.6535097,76.8335358,15.029987,35.2308123,68.5213532,39.7732349,44.6046717,25.7991453,6.5779922,13.2932998,12.0037853,36.2435731,13.0710069,1.0362938,1.1085126,17.2131788,12.9229534,76.0669836,15.5772441,34.9812188,68.2874592,39.3660839,44.0733829,26.6923406,6.7810668,14.8616261,12.4248229,34.8007833 +135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.2287153,2.2907691,30.140727,23.1928463,43.7421878,11.1575414,40.269498,67.0389521,36.1829408,50.3788068,31.1537304,6.0573219,12.2341823,11.6736027,33.5404091,17.6353238,2.021877,2.0835241,29.6770279,23.3769443,44.3035241,11.4955166,40.2724117,67.2430522,36.5414639,50.5332288,31.112525,6.2635715,11.9667685,11.1387751,33.4505872,16.8808481,1.8402489,1.9032044,30.0831599,23.8708008,43.6838932,11.5395506,39.6375334,67.7410616,36.1039334,51.1112922,31.1229185,6.2503324,11.4595607,11.3103714,34.9282714,18.0439569,1.7528858,1.7851143,29.4805154,23.2344573,42.4173802,11.3367207,39.9747931,68.3438191,37.0476787,52.4185573,32.3612573,6.6093565,11.3969771,11.7999966,36.1340848,18.7504861,1.7009888,1.7336623,29.1373985,22.8563548,41.3662083,11.1703279,39.5244344,67.9914997,37.1894289,51.783499,32.650838,6.6975934,11.784524,11.7677147,36.7168313 +136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.8788298,1.9590994,30.6619434,25.7725389,68.6815071,8.4309894,34.6327302,61.3473232,33.2283797,37.4927071,17.7332273,3.3687499,15.7114676,11.1731147,41.7375573,17.9755789,1.9901375,2.0722473,30.9940461,25.9228825,68.9921155,8.1255777,34.7200654,61.2612286,32.9873691,37.7265955,17.8172602,3.3476468,16.2428198,11.476517,41.3979388,18.264113,2.0164104,2.077871,31.336411,26.3489513,69.0672681,7.8525558,34.4402064,61.1835358,32.8738951,37.7300142,17.7748664,3.4258847,16.4527565,11.603801,41.8491354,17.6707506,2.0403405,2.111789,31.7225041,26.6217293,68.9995665,7.8081646,34.7718888,61.2910474,33.051666,37.9518179,17.8439339,3.4494791,16.3708506,11.6278626,41.6963373,17.637925,2.05477,2.1300042,32.1932147,27.0111716,69.3696592,7.9772308,34.6645951,61.0599226,32.8307143,37.8594182,17.7712329,3.4722493,15.9833875,11.1042489,41.400241 +137,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7882456,1.8498851,29.7768593,25.4111039,63.3208456,12.9588336,34.4633931,63.8048046,30.5308629,39.318683,18.3605072,2.8240864,14.4421676,10.3499131,38.3661917,19.0010168,1.8384123,1.90993,30.453329,25.9967001,63.9788179,13.2748193,34.9943166,63.3311691,30.4701113,38.9873551,18.5396907,2.9222422,15.208789,11.1165211,38.2141341,20.0108597,1.9214743,2.0222937,31.7589109,26.8446998,65.0500867,13.059958,35.3186555,63.0245985,29.7175419,39.0423056,18.2312927,2.8952479,15.0173968,11.3557617,37.9591289,20.2889683,2.103827,2.1960747,32.5716142,27.5288967,65.3369989,12.9824707,35.3399709,62.4664939,29.5960616,38.7644525,17.4924842,2.9272694,15.2511365,11.4907835,38.5169533,20.8507196,2.1799045,2.2863333,33.5575596,28.3390502,65.8282569,13.2815982,35.0390189,62.4141044,29.8828288,39.4609824,17.6015183,3.0859446,15.270506,11.5017607,38.3493174 +138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5365891,0.5365891,11.477005,8.9962611,60.2285958,23.7419778,32.2824572,68.0599382,30.9415346,43.4379112,15.1925728,7.2325287,15.2930692,11.0238708,32.5029338,5.9632863,0.5670566,0.5670566,11.3950665,8.9099002,61.2125786,23.9728374,32.1247118,67.3956055,30.5163924,43.0445738,15.7308106,7.0682927,14.3142448,10.9106503,31.9549105,6.3167147,0.5334843,0.5334843,11.5450047,8.6765112,61.4244818,23.4279175,32.3805585,67.5909859,30.1336657,43.0744955,15.8845066,7.2099035,14.7395357,10.5852219,31.5286778,6.052621,0.5611495,0.5611495,11.8891907,8.9062468,61.8205318,23.6014137,32.2374265,67.3925064,30.7287067,42.8550974,15.3572227,7.2729907,14.3547508,10.233799,32.2311619,5.6350576,0.5575928,0.5575928,12.2785185,9.1500539,62.0084354,23.6286758,32.4478468,67.2739621,30.4728456,42.2114066,15.4519855,7.2461819,14.8825877,10.6889509,31.9613393 +139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8151485,0.8170989,14.2353495,10.8727666,42.6231693,11.0733436,30.3409029,66.9665987,33.5869863,45.942262,18.5266278,3.1139837,12.8911834,9.6612445,29.4807625,10.6635172,0.7869332,0.7918829,14.3440836,10.9395756,43.2431895,11.0313188,30.0958788,67.1007436,33.4848524,45.9941596,18.4960943,3.1460198,13.3206126,10.1520565,29.5864994,10.6132159,0.7796708,0.7946358,14.128015,10.6789192,43.8253096,11.0484439,30.3957771,67.2855335,33.4791345,46.1209128,18.7159947,3.2868631,13.5391229,10.5273132,29.3712471,11.2042701,0.7963752,0.8222757,14.012116,10.6835648,44.3668676,11.1065835,30.1110148,67.2998382,33.4817797,46.4152885,18.9239446,3.2058962,13.5154943,10.2026557,29.1451025,13.0075175,0.7878645,0.8080318,14.223685,10.8594505,44.9216085,11.1264054,30.1946727,67.6507364,33.1649304,46.4211376,18.9348037,3.365782,13.9056162,10.2728345,29.8420056 +140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.1901748,1.1884978,21.7327587,16.9182973,84.9803876,11.7901442,29.7288959,60.9429153,28.6775633,36.46781,15.1842926,3.1027825,16.3934848,11.514555,37.3096556,10.8697467,0.9924964,0.9907413,20.7955505,16.5177852,84.6489135,12.1958146,28.8110863,62.2494638,28.3028821,36.9171332,15.4130954,3.0826444,16.7295219,11.0427311,38.1659007,10.9789285,0.8365451,0.8347614,20.4330423,16.5488412,85.1385054,12.2381434,29.528015,62.0856834,28.5871686,37.3390093,15.7884395,3.4857878,16.3620586,11.2486773,38.133716,10.7230174,0.9480362,1.0012142,20.2924926,15.8339663,85.3952468,12.0253077,29.676425,61.7542075,28.9295303,36.9360377,15.5161573,3.3313503,15.0633824,10.9966164,38.358511,11.5919631,1.0231344,1.0757957,19.8341544,15.7174535,85.4573058,12.4565495,29.9245145,62.0033476,30.142795,38.66134,16.0831297,3.2404351,15.4170791,10.8549578,37.0663094 +141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8677027,0.9201928,19.2110724,15.1880553,85.8480056,12.5489357,30.1587873,62.7334409,29.6457609,38.1721994,15.7502847,3.2799823,15.0825586,11.0221513,37.3830821,11.7774071,0.8465961,0.8905853,19.2244582,14.7948228,85.4480325,12.4402047,29.9750496,62.8236799,29.63469,38.8759309,15.7293543,3.1454095,13.7633302,10.3992802,37.2610743,10.1298343,0.9369909,0.9925555,19.7543181,15.4302469,85.2082994,12.0202533,29.9058856,62.344843,29.9201072,38.5916857,15.1548767,2.9942132,12.2364292,9.6930612,36.8703365,10.0451855,1.0330926,1.0887957,18.8619724,14.7760503,85.2725673,11.5818748,30.0531397,61.9901371,30.6687102,38.6967295,15.1959664,3.0630399,11.946398,9.872603,36.6094218,9.4131468,1.0383506,1.0750808,18.6039006,14.3133209,85.0763217,11.2164046,29.8586177,61.819258,30.4626873,38.5023759,14.9189742,2.9594699,12.158613,10.2105567,36.2301461 +142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.7803328,0.7953608,14.9444481,11.7883056,42.5006609,11.3274331,27.2020216,63.5081845,28.0044601,41.9023187,15.6791928,4.5095733,12.155768,9.3372598,31.8487888,8.4698482,0.8199592,0.8149647,15.730361,12.2032736,43.781621,11.3261765,26.9402408,63.3774982,28.316847,42.1472134,14.838683,4.3379534,12.248091,9.6341477,32.5851031,10.0004216,0.9005602,0.9030174,15.9962585,12.5718444,44.3011753,11.728562,26.9024432,64.4788949,28.5098398,42.5049135,14.6095114,4.4600681,12.7329226,9.8050645,32.048724,11.8425533,0.8881745,0.8906075,16.2320698,12.9948616,45.5858457,11.5904679,26.370573,65.3720306,28.3377671,42.389675,14.7231356,4.7931718,13.0231195,10.3766933,31.393573,10.7899958,0.9297172,0.9558264,17.2174609,13.9010669,47.1617764,11.715945,26.1280918,65.0590172,28.7550521,42.0487067,14.5436968,4.5102781,13.6523144,10.5710799,30.9291842 +143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6595572,1.7475171,17.084284,11.6511772,61.4299546,17.3078374,38.025055,67.1961749,33.5821825,42.0076222,24.5777067,3.1699651,11.2600197,11.1873412,40.1098194,12.5620489,1.5269162,1.6468126,17.3466925,11.7409999,60.4372571,17.2257888,38.1666505,67.9450523,33.5822742,43.6426684,25.6562141,3.1036135,11.4360473,10.4214099,40.5423643,12.0657776,1.5425425,1.6613884,16.0985882,11.0002457,60.9451456,17.0078275,39.2290212,68.4917128,33.9698562,43.7697218,25.8723742,3.4381787,12.4952114,11.3073762,41.8456095,12.6867614,1.1483719,1.2820237,15.641812,10.6113219,60.0518151,17.8159543,39.3720774,68.5226812,34.8679134,45.3796997,26.3332414,3.3307907,12.2499267,11.6262819,41.8834859,9.3604161,1.3563219,1.4864391,15.632299,10.8936865,60.2876455,18.6131623,38.3470872,68.1979306,34.6557572,45.3623664,25.5276509,3.6446508,13.0548859,11.7178944,42.6342726 +144,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0082236,1.9880763,23.2631343,18.4201006,40.371991,17.1128867,38.3824251,68.3108261,38.120579,52.9975859,26.685981,3.3714986,11.7835521,10.7609382,34.9946912,23.66484,1.9058055,1.9301779,23.4288701,18.6342682,40.2960979,18.0704243,39.1996296,68.8269565,37.0029296,52.1772791,26.7292818,3.4792461,11.4495248,10.111571,35.3882092,21.517434,1.9111854,1.9647848,23.7894489,18.7371826,39.7677989,17.937579,39.0197253,68.6674139,37.624795,51.9823681,27.0574135,3.4422948,11.6394399,10.5148853,35.3897388,22.0215498,2.0621348,2.1371818,24.8110869,19.5086976,39.6055885,17.8536268,39.1436269,68.7650058,37.7359442,51.5284071,26.9566241,3.2539633,12.0330674,10.821558,36.2974366,23.9973655,1.8684604,1.9435728,25.6027494,20.2567359,39.847123,17.9743712,38.9933301,68.6472516,37.3585668,51.3721672,27.1753355,3.1600774,11.2685835,10.4260251,35.9508402 +145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8699198,0.851377,18.4720587,14.3821911,85.1112382,11.4224877,29.9724523,62.3876911,30.2430442,38.3520914,15.7713436,3.3468358,12.541247,10.1791597,36.3975859,8.4416425,0.9541767,0.9345693,18.3653369,14.1606465,85.3244804,11.152318,30.1324622,61.7959264,29.656079,37.713764,15.7536185,3.5813011,12.6081978,10.2672511,38.0666367,7.9545181,1.1433158,1.1083367,19.0847525,14.5660321,85.2652707,11.3034422,30.385704,60.9344165,29.8558204,38.1508536,15.6811604,3.4735048,12.3931865,9.6842903,37.7225512,9.0277524,1.0896947,1.0996782,19.1537977,14.713554,85.0076063,11.7232547,32.1370295,61.4968064,30.8227963,39.0858747,16.9805397,3.6829807,12.8915093,10.1148709,38.066138,8.8636111,1.0900716,1.1001045,18.6323796,14.2924038,84.8063172,11.5768261,33.4815172,62.8676804,31.1191631,40.6642347,18.2512402,3.9648734,13.710358,10.6927614,37.4431989 +146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.8061206,0.788042,16.5927927,13.2403666,60.4807251,17.1093871,32.2170235,66.0067577,33.4096935,42.157788,17.1077842,3.7228971,12.8985469,9.3921733,31.9010444,11.6239343,0.8541134,0.8385569,16.9565574,13.5122029,61.1106716,17.172344,32.2201327,66.0567954,33.359432,42.1319256,17.1270317,3.863048,13.1432899,9.516554,32.3788461,11.5985456,0.9454685,0.9361249,17.392794,13.8474906,62.2004421,16.4869759,32.3692933,65.3447101,32.5473848,41.2351976,16.9258843,4.0199516,13.1226069,9.7969205,32.6284368,11.6834363,0.9926283,0.9906628,17.8387762,14.0929714,62.6647403,16.5617888,32.0980453,65.5311554,31.9021473,40.6689009,16.8259004,4.0139024,13.3127651,9.3923125,31.9041117,11.6579595,0.970479,0.9685256,18.0806619,14.3619564,63.1662829,16.3905287,32.1906123,65.1842637,31.9044374,41.3037369,16.6203544,4.0129577,13.569177,9.5048678,31.7868481 +147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8640281,1.9292331,33.7666905,28.7230986,57.7292648,12.4504672,39.1547347,63.9162315,34.6693274,44.9410293,22.2082173,3.0871097,16.8962832,13.4509148,42.267948,17.4892527,1.8271777,1.9071927,33.0771258,27.7643023,56.8621974,12.0373785,39.6467314,64.0344602,34.8560717,44.9055404,22.942032,2.9416514,16.2518776,13.3698928,41.0487591,16.8552036,1.8107422,1.8622871,32.6184317,27.6229674,57.5455504,11.496147,40.2205647,63.7501672,34.9120304,45.1671376,22.4532922,2.9107419,16.7681762,13.2364486,40.3429765,17.0702179,1.7816723,1.8348789,31.1147938,26.2992126,57.0911198,11.3871104,39.6997863,64.0852749,35.3676092,45.290546,22.5108363,2.9690092,16.5105686,12.7151124,40.0380379,16.5384615,1.7923512,1.8572633,30.4815389,25.8981064,56.2798458,11.8810141,40.0829071,64.1428121,36.4292019,45.9284771,23.180037,3.010826,16.5412747,12.5021205,39.4892724 +148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9431682,2.0169271,35.43818,31.0237967,83.1406386,10.2493809,36.253845,63.9142669,26.7618803,39.1181364,16.5782301,2.8406474,17.6788747,13.0048207,43.5972803,21.8000058,2.1047964,2.1587407,34.3349389,29.9240813,82.4565615,10.1575861,36.1341274,64.4706594,26.4792625,39.42783,16.6689449,2.8406315,17.649951,12.7087114,43.1556031,21.9972299,2.0565366,2.1271801,33.4522499,29.3938692,82.3194062,10.7618899,35.7859259,64.1837839,26.464947,38.9141998,16.9377169,3.0111623,18.233576,13.3255565,43.8041239,23.0825103,2.2532395,2.3598675,32.2277841,28.1973138,82.064691,11.3387,34.9978409,63.8800785,25.9555007,38.9640891,16.3851331,3.0856184,18.5250674,14.0242934,43.6402567,24.4565449,2.2184322,2.3503828,31.697204,27.6151205,82.1099101,12.4111686,33.7571848,63.6502207,25.9795347,38.6248758,15.8973842,3.114663,19.5448146,14.1511117,45.1853375 +149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2400502,1.2571539,22.1570361,18.7145406,58.6524499,14.6855486,32.0643488,66.3996269,33.6533338,42.7767518,18.1077842,2.8270661,13.2252859,8.8443753,33.5661515,15.6032516,1.2222964,1.2468421,22.6253349,19.1068397,59.9099356,14.5534133,31.5653444,65.7462625,32.8896734,42.4380851,17.9909858,2.9466288,13.4290282,9.3213514,34.4804241,16.1832972,1.1815054,1.205116,22.7719558,19.1889812,61.0908607,14.3259917,31.5953681,65.6283212,32.2994056,41.9832619,17.7935619,2.8626443,13.8665446,9.4453307,35.1522257,15.4693002,1.1600378,1.192769,23.1610959,19.4832947,62.2214998,13.9768712,32.3760576,65.318499,32.0562299,42.27744,17.9437548,2.9251002,13.8769377,10.1128075,35.1931688,15.8756901,1.1989137,1.2368894,23.5581311,19.9257926,63.3652166,13.8980558,32.6745196,65.4361528,32.2859351,42.2953126,17.8547435,2.9679702,13.9070082,10.0108636,34.5774943 +150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3196777,1.4419578,16.8563979,11.9884213,60.1624202,18.184142,38.6495572,69.2671389,34.2889695,45.3277165,26.213623,3.4324867,11.8762437,11.1527868,43.2791059,8.8106244,1.2224512,1.2485925,16.5182125,12.0869399,60.2739916,17.6720608,38.6270802,69.0209617,33.87102,46.7792929,28.257212,3.4689996,13.62987,12.5409223,43.378507,11.3445378,1.0534495,1.0787495,17.4658389,12.5319842,60.6055649,18.0940851,36.8540138,69.1666683,34.0542911,47.8455484,28.1289459,3.9306489,13.8888666,12.6686244,44.4735842,11.1570248,1.0036579,1.0036579,17.0959128,11.6119885,59.4438275,18.4808386,37.1769328,68.841288,35.1958507,48.9230038,28.1022122,3.9875585,13.1450313,11.9476741,42.7939328,11.5079365,0.9219851,0.9447059,18.1161006,12.6451247,59.171627,18.5182207,36.0204762,67.6024203,34.1028349,46.7952169,27.5835877,4.1645244,12.0328083,11.4322271,41.7499271 +151,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5482491,1.5482491,22.9063539,18.011173,61.4992458,14.7981669,35.1454631,68.1088736,33.6151044,44.2158803,22.1314264,3.1626088,18.9530658,15.4316352,40.0824602,18.2080925,1.5981397,1.5981397,22.6239916,18.0457309,60.0442354,14.8050956,36.6804393,68.1431205,33.0673024,43.8984221,21.7310585,2.9847978,18.9160599,15.48043,41.3500663,17.2131053,1.6869831,1.6869831,22.7222373,18.0765022,59.5977952,15.1105774,37.1077289,68.2947456,34.5064395,44.9764445,21.9974762,3.1868268,18.006563,15.7714031,42.0907603,16.6666138,1.5692204,1.5692204,21.8239931,17.3579876,57.7424536,15.5935899,37.6850628,67.0188254,34.8009058,46.0082884,22.4178136,2.992344,16.7924198,14.9919123,40.9537531,17.567504,1.5483014,1.5483014,22.4291451,18.2158438,56.7656087,14.9623869,38.9133005,66.526435,35.7909288,46.296684,23.3854859,2.9795304,15.8255208,13.9365354,41.0298258 +152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9681108,0.9893742,18.1697731,12.4335378,59.6029616,17.3478945,34.4702294,67.0408245,32.8542503,45.0805525,26.8519806,4.2979521,12.2263801,11.059875,41.1643865,10,0.9000416,0.9204835,18.2856817,12.3862586,58.5911217,16.8015737,36.2679065,67.5349733,33.2477853,46.2526071,27.8476593,4.0994445,11.9602613,10.8975747,40.8247939,11.4906832,0.706679,0.7271456,16.9961735,11.4826024,58.0604037,17.5814055,35.0689263,67.3127209,33.6776373,46.7717138,27.3656572,3.8545986,12.0735725,11.0162978,41.0516938,10.5769299,0.8646231,0.8845668,16.6096217,11.0470657,58.0737632,17.6542094,35.3668835,66.8152127,33.7494211,45.6269802,26.2151809,3.6168407,11.6946765,10.1264139,41.8768121,10.8025309,0.9542617,0.9542598,15.9700585,10.3682894,58.2326367,16.810343,36.5372001,65.7625998,33.1888407,45.9370597,26.7850732,3.555693,11.1185594,9.8263055,42.6724329 +153,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0086534,1.0262517,19.1369364,15.5373824,78.2940041,7.5846426,28.0795595,63.3174858,28.2346066,37.2851391,13.8034472,5.424654,14.4363342,9.8331345,36.3869534,9.3116653,1.0379165,1.0621027,19.4569119,15.6540174,78.7084424,7.5318144,28.1591156,63.3150578,28.2217196,37.1032851,14.0035206,5.2983513,14.3500757,9.789457,36.2212593,9.838265,1.0398772,1.0526842,19.4788516,15.6173744,79.0298772,7.5288944,28.2088303,63.4396079,28.5784861,37.3469203,14.2909276,5.2976988,14.0989979,9.7871202,36.1134387,9.3200394,1.0257594,1.0280826,19.4978405,15.688451,79.461156,7.4333365,28.574344,63.412567,28.3174167,37.1728146,14.4069516,5.3577117,14.2245131,9.9338986,36.4153382,9.2221193,1.0134931,1.0108894,19.3241061,15.5409348,79.6982005,7.3570436,28.8142169,63.1411009,28.1467613,37.2303004,14.4411723,5.3805514,14.0000645,9.8286137,36.4512448 +154,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.147013,2.2451101,33.9259647,28.7496998,65.7132535,13.4420544,34.9164763,62.3381841,29.8160177,39.5492916,17.3685309,3.2210083,15.2882264,11.7283801,38.1413918,21.5736455,2.1977609,2.2594631,34.2516716,28.9369249,66.0370756,13.605624,34.6104827,62.2209918,29.3039211,38.8559646,16.7706636,2.9576768,15.4290698,12.1634172,38.3972198,21.5639149,2.2815825,2.3384677,35.0712618,29.668786,66.5423742,13.5884915,34.8512545,62.2372659,29.3711289,38.8992845,16.7756671,3.1216025,15.3856086,12.3366367,38.8259708,21.3934827,2.3764821,2.4341536,35.8563721,30.2859257,67.177193,13.2076985,34.753424,62.6425391,28.9446687,38.8520035,16.4791806,3.0277453,15.6858793,12.1441641,38.273316,21.0251563,2.3322447,2.3925076,35.6582916,30.4022508,67.9379664,12.8374663,34.8010038,62.6851144,29.0794575,38.3328028,16.3864767,3.0305463,16.2568882,12.0491426,38.4888387 +155,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0006982,1.0169741,22.068868,17.3480559,34.2231315,19.8031147,36.6824407,63.8663699,31.8758802,45.3945644,20.3575437,3.5779871,14.176084,11.4065987,40.9982792,11.9246344,1.1399536,1.141733,22.582185,17.9590387,36.4482995,19.1609828,36.8403711,63.9014076,31.0572507,44.7630925,19.5582551,3.3969923,14.4888022,11.4942771,40.4791811,12.0078205,1.1342879,1.1533622,23.0647863,18.5892695,37.7855238,19.3150168,37.3556739,64.2465622,31.1924583,44.5695607,19.1578798,3.6130575,14.6842784,11.5308421,40.7553433,12.6334209,1.1666899,1.1858484,23.2617798,18.5806604,38.9408826,19.2497562,37.4147102,64.7136428,31.6555571,44.5153936,19.2734236,3.606432,14.601133,11.4822889,40.5760148,13.6042146,1.2030608,1.2121941,23.2993783,18.5665315,39.8997194,19.7061585,36.9748324,64.9824593,31.9144165,43.5250748,19.6391963,3.50795,15.0197161,11.8734058,39.3424253 +156,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2903977,1.2903977,21.9135417,18.0482882,55.8717563,15.5410172,38.76329,66.8725183,37.1085666,46.5668714,24.3640285,2.725502,16.3447334,14.5874193,40.8115816,16.2856478,1.2406373,1.2991582,21.3010005,17.3598548,55.9566825,14.990307,38.4015421,66.4651225,35.7358094,46.2987541,23.584823,2.6033144,16.866467,14.7064681,41.6216655,15.804513,1.2148269,1.2713308,21.6629339,17.625622,55.2885118,15.4656968,37.1720384,65.6519232,35.413757,45.9849853,23.3797045,2.7454654,15.2500063,13.1680691,39.3890478,13.1015158,1.2865695,1.3652419,20.7925114,16.325738,54.961489,15.5178817,36.5000943,66.2509644,35.9513361,46.3926681,23.4715606,2.7976006,15.449784,13.6704293,38.2598496,13.8233405,1.3271511,1.47104,20.420337,15.8970463,55.295699,16.0573041,36.3248153,66.7004667,36.013161,45.8414404,23.2386784,2.2647067,15.3724061,13.3234888,37.6627448 +157,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7854994,1.7854994,34.7367188,30.5840391,50.1270011,18.5716766,38.1837929,68.2108542,36.367478,50.5631096,23.9347239,4.4539255,14.2911138,11.3383031,33.5494143,31.7531577,1.9038854,1.9038854,35.9406878,31.0534758,51.3200884,18.1143866,36.8341484,67.6147244,36.0769639,49.0233055,22.8295669,4.2646591,15.0942422,12.4393686,32.9986598,29.9538785,1.9109294,1.9109294,35.2978533,30.3549517,50.8255111,18.0847237,37.4210057,68.4013315,35.8143316,48.7351615,23.9269874,3.9790291,12.4383758,11.5877615,32.634278,30.616834,1.9193245,1.9193245,34.0564902,29.4358934,50.618659,18.4298792,38.13962,69.5430643,36.0929722,50.0279867,23.5197461,3.8237372,13.617669,11.6875224,31.1879576,27.2636725,1.6263124,1.6263124,32.5526702,28.0400924,48.6589894,18.7028458,38.1468323,69.6737752,36.994949,49.3767613,24.4124462,4.1435989,12.5948342,12.415329,31.5641843 +158,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2994305,2.3730635,35.8183745,30.4918603,68.918527,12.5513277,35.0037856,63.0811232,28.9190502,38.4169427,16.5791622,2.9420878,16.8853258,12.2815698,38.4696589,21.7414655,2.2758035,2.3304042,35.9892521,30.656946,69.7274687,12.0718812,35.2762579,63.4508007,28.7101578,37.7754791,16.2760364,2.8950471,17.050833,12.3367188,37.8362255,21.5479743,2.3350542,2.3862257,36.5133957,31.2724501,70.5300369,12.2326273,35.3694221,63.8078697,28.7877053,37.9151245,16.1053425,2.8485066,17.3934147,12.2414787,37.3224761,20.8976163,2.3568159,2.4601975,37.0956616,32.0122112,71.0728735,12.6082896,35.3036374,64.1091308,28.5968862,38.2705618,16.5276903,2.8666481,17.9102916,11.9514752,37.73064,21.5556739,2.4109852,2.4831461,37.2338886,32.1939056,71.7116985,12.1666279,35.1523925,64.0734665,27.9222502,37.8926775,16.3261658,2.8564885,18.3387146,12.0019695,37.9063127 +159,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6208798,1.5975364,27.8044004,23.0225766,47.629448,16.6666683,39.1032618,64.4058822,35.635111,46.1009937,20.859816,2.760107,14.6544544,11.4477368,33.9138765,14.5507841,1.6069793,1.5751977,28.1641784,23.4353874,48.3570143,16.447903,38.8113614,63.8575038,35.8345103,45.545096,20.7041474,2.720177,14.2008186,11.1270551,33.6014423,15.2723765,1.6688624,1.672775,29.0847445,24.4784475,49.2084347,16.4426678,38.7304488,63.9188875,35.7754373,45.8019782,20.5318624,2.7002186,14.5850069,10.9279519,33.5040174,16.7276234,1.7051056,1.7548115,30.0135683,25.4523671,49.2415832,16.4563724,39.2206669,63.8449095,36.3153788,45.9127027,20.2063416,2.6547735,15.0179288,11.5077689,34.1163919,16.6964464,1.8283488,1.8766823,30.1827905,25.6250982,49.5193666,16.4635839,40.0140343,64.0762142,36.183167,45.6006178,20.2812926,2.6835542,15.6551351,11.9574028,34.0816622 +160,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9621366,0.9853059,17.2756697,13.8654925,59.0017034,20.1034827,34.555091,65.2968542,33.9617691,44.4316972,19.9445452,6.4341083,12.9508467,9.2048663,34.4064862,12.3684421,0.980353,1.0034148,17.4721013,14.0200734,60.1381053,19.7755623,34.3026621,65.6481521,33.7492893,43.8208584,19.7306419,6.2530567,12.7735675,9.1032766,33.5963027,12.1101975,0.9532153,0.9681382,17.4886147,14.1091136,61.0144603,19.4530302,34.0806002,65.6156006,33.8253974,43.4866012,19.2793271,6.1671949,13.5464857,9.9802071,33.9501217,12.5512282,0.9664474,0.9756804,17.7605563,14.4669708,61.585766,18.8767101,34.7226317,65.9149258,33.7963658,43.7809747,18.9401649,6.0567601,13.3995876,9.5898296,33.7986249,12.7988122,0.9256422,0.9348101,17.6618227,14.3601063,62.1689634,18.3967842,34.5812008,65.9219809,33.5269173,43.7224462,18.8031112,5.8883246,13.4539906,9.8613274,33.2964393 +161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2.0030842,2.067459,32.4154214,27.1423883,69.4771486,7.9509479,34.9205965,61.1455466,32.8563684,38.1638481,17.8040474,3.3203388,16.0023166,11.0568999,41.2315569,17.2755616,2.1062508,2.1672421,32.7456001,27.4036003,69.5556824,7.6782766,35.1723721,61.3642926,32.6779259,38.0810466,17.6647663,3.3677978,15.8078666,11.1156851,41.1306854,16.7640858,2.0633373,2.1290411,33.1422901,27.7270227,69.6160061,7.7457042,35.0993547,61.5578306,32.8866767,38.2809016,17.783805,3.333494,15.9982816,11.583195,41.5296923,16.9354643,2.0394607,2.1223583,33.0042308,27.5824806,69.922906,7.7586955,34.9916266,61.7540275,32.7701151,37.9410431,17.7307147,3.3569786,15.5351662,11.248276,41.5761321,16.4100294,1.9818255,2.0843075,33.0007131,27.6109091,70.0534735,7.7627228,35.2366607,62.0659934,32.7765014,37.9214828,17.8914984,3.2748509,15.6075081,11.3028692,41.2461802 +162,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6576212,0.6735276,14.510147,11.0495118,36.8279623,14.2960393,33.3847688,67.0885583,37.6845448,45.1449184,20.179519,5.6166154,13.0208757,9.8093378,32.7742966,8.7628866,0.7397338,0.7502747,15.3883457,11.6586488,38.3476178,13.8506485,33.492963,67.6538632,37.5280359,44.7512129,20.1600722,5.765517,12.8499148,9.8800282,32.8805265,9.0490825,0.7122541,0.7118422,15.5854366,11.8562966,39.5788948,13.3504837,32.5293348,67.151907,38.028759,44.888855,20.0881002,5.6721514,13.0382038,10.3443382,32.746412,9.5037576,0.7748765,0.7704395,15.8103728,12.1963971,40.3026788,13.4167113,32.3726468,66.6364496,38.1446145,45.2738806,20.1227523,5.6536606,12.7869987,10.2868798,32.572107,9.691828,0.8265705,0.8221366,16.3782837,12.6610515,42.0008919,13.1792959,33.008582,65.6382603,37.4063562,45.1089394,20.5959121,5.8159956,13.4324562,10.3784347,32.750967 +163,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7664189,1.8292277,29.0012246,24.5584536,58.3785483,9.9150232,30.4268366,63.7601743,33.1988687,38.467113,18.0009672,4.1201227,13.5663584,8.6839955,38.5120891,20.571279,1.8115513,1.8723473,29.3948134,25.0575947,59.1213044,9.8801364,30.2942385,64.155519,33.6257514,38.1451439,17.9990458,4.0585753,13.7795713,8.6911726,37.9751639,20.70451,1.7956866,1.8448139,29.5176644,25.3490497,60.2923767,9.8342589,29.9630402,64.6001397,33.6727171,38.3030936,17.7385793,4.0154585,14.309926,9.0209232,37.4706054,19.8979543,1.7923784,1.8362498,29.6346394,25.4459507,61.5591356,9.8245285,29.6966296,65.0723645,34.0115534,37.987921,17.6812311,3.9863264,14.6849117,9.5636964,37.1277485,19.5514191,1.7062377,1.7565996,29.7861845,25.6211531,62.3899108,9.8743467,29.4959549,65.5096469,34.2732149,38.0963378,17.6515127,3.9843396,14.7672901,9.7938844,37.0779775 +164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6106343,0.6311157,13.6363923,10.7811167,71.7883069,23.6271523,31.2229161,62.8634846,28.7170817,40.1769354,16.421686,5.4627593,13.6300894,8.1371231,30.6001336,8.9285763,0.4993198,0.5274126,14.4560886,11.0911655,72.8604568,22.8389515,31.5518405,62.4210483,27.5558477,39.7434471,16.033998,5.3779683,14.3686007,8.6584573,31.3623734,8.7837885,0.4855349,0.5134225,14.640071,11.138124,73.4302038,22.6430377,30.8366257,62.0866247,27.0998712,39.1369076,15.4927226,5.1091295,14.0190077,9.0136091,31.6930344,9.5549763,0.5536782,0.5915915,14.9534145,11.3877208,73.3012993,22.9489614,31.3282653,62.804863,27.1423898,39.0079132,15.6394178,4.8615713,14.0498661,9.0755784,32.4829837,9.469697,0.6587716,0.6968697,14.7878136,10.9653305,73.1460017,21.9389364,30.7220799,63.0175458,26.9128861,38.8373674,15.3858909,4.985097,13.8963601,8.9225637,33.1636161 +165,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3517826,2.425643,37.0466546,31.9560273,71.728512,11.9013855,34.7861642,63.1852502,28.1587706,37.6818019,16.1119266,2.8104742,18.6812695,11.8823547,38.4750892,22.1325462,2.2285842,2.2980085,37.2079652,32.0098421,71.7781098,12.0488531,34.3269918,62.7613954,27.7914368,37.6256881,15.8975941,2.7954197,18.3774103,11.8173808,37.859699,21.2542043,2.1460646,2.1847896,36.9916949,31.8454037,71.9267389,12.3786887,34.321528,62.3980255,28.2072183,37.4170962,16.0250541,2.9493444,17.9308535,11.5361258,37.0948529,21.111993,2.2681497,2.3015741,36.9524796,31.6334613,71.7232882,12.4061545,34.5913285,62.2801737,27.8831634,37.252736,16.0389918,2.8872016,18.0543673,11.3056287,38.0248961,22.1512276,2.1838586,2.2219292,36.5721791,31.361636,71.5254849,12.3068811,34.3205182,62.1191557,27.6974188,36.7924367,16.1769958,2.9928936,16.9838837,10.9916591,38.0270606 +166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.037612,1.0601106,18.688526,14.8326243,64.0659655,16.5629048,32.4587777,64.6047033,31.329806,40.7883213,15.8894969,3.8733465,13.8791456,10.003969,32.0234197,10.9116889,1.0530266,1.0802302,19.2444952,15.3842849,64.954475,16.6217796,31.952646,64.5929852,30.8217284,40.7271554,15.7558352,3.8959544,13.9471901,10.1227003,32.6119354,11.3424728,1.1296948,1.1433632,19.0640829,15.3321268,65.8552179,16.4257754,32.0854949,64.5172714,30.362689,40.9553301,16.2473208,3.8222761,14.2900511,10.7971359,32.5090762,11.2784746,1.103418,1.1146924,19.101686,15.4861375,66.1831338,16.4546515,32.6424259,64.7844411,30.2932978,41.0840047,16.4038594,3.7901055,14.548276,10.8058971,32.4712269,11.3031107,1.0891034,1.1205024,19.0848763,15.4706627,66.4144153,16.4475416,32.7518369,64.9090535,30.2567646,40.9557582,16.2850835,3.635843,14.6715643,10.8356861,31.9514342 +167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.294942,1.2997453,23.8690094,19.4023829,40.7607961,20.1270672,36.4252979,66.0458034,31.9501106,43.6802022,19.6745093,3.3353258,15.0605785,12.3471478,38.4911741,16.9302532,1.2840373,1.2982144,23.9873876,19.4472973,41.9158301,19.9287934,36.3202429,66.3252763,32.0301053,43.1263948,20.0485004,3.2451028,15.9815056,13.1829514,38.7221024,16.114581,1.3221001,1.3825182,24.2094506,19.6507426,42.7059707,20.6777198,35.4933075,66.0220825,32.4645161,43.2910056,20.3060067,3.2444273,15.6120002,12.6749755,38.4504156,16.89957,1.2515747,1.3181118,24.6760831,19.9201988,43.07361,20.6676343,35.3043221,65.7032432,32.9646326,43.4427355,20.7436385,3.1700327,15.5071978,12.1557665,38.1108439,15.753541,1.2950213,1.3382826,25.478625,20.8649748,45.2489359,20.4286632,34.6787063,65.0853201,32.8142392,43.1442263,20.9948885,2.9502305,15.9123504,12.3828316,37.7710557 +168,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5548638,1.5719812,22.570842,18.0852582,62.8771781,10.6568929,30.799101,64.9269784,34.200415,40.697048,17.1565531,4.2341444,12.8718135,9.8343969,33.5368378,9.6454851,1.5389121,1.5654674,22.6915115,18.086891,62.2274845,10.4922888,30.9237342,64.8689,33.9317098,41.0205501,17.2663992,4.2553617,12.5750775,9.7231361,33.7983887,9.9824037,1.5054698,1.5113365,22.9136331,18.4193263,62.1117972,10.0885263,31.6247089,64.8157175,34.0598617,40.9510338,17.4762889,4.2458745,12.5866018,9.7801375,34.0696334,10.0833333,1.3897336,1.3852155,22.5946101,18.1692609,62.2559467,10.2916073,32.0132629,65.4394688,34.0482375,41.1237411,17.8130255,4.5341558,12.7148843,10.2481519,34.4114878,10.4166667,1.4159543,1.3925445,23.1663667,18.6215108,62.3258028,10.2667387,32.2389613,66.0231579,34.6091517,41.2378769,18.263651,4.2361629,12.8079058,10.4993751,35.0542818 +169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5666306,0.5999071,11.5298605,8.3314693,58.0547368,20.5198542,29.3967085,66.6629623,32.9808599,40.4162932,16.974621,7.5578799,12.0170656,8.7865138,36.8337829,6.6498339,0.5946082,0.6275643,11.6818298,8.2205456,58.5574499,20.7962711,28.7808665,66.4572331,32.6829869,40.2667537,16.5233674,7.3522918,11.3103125,8.6176349,36.3697109,6.4273811,0.6392217,0.647687,11.8292412,8.2663456,58.7701982,21.1338065,28.279667,67.1601493,32.6237343,40.1231909,16.155177,7.4238158,11.2095009,8.3693775,36.4723782,6.5354351,0.5729525,0.5813931,11.8175896,8.3297198,59.3189173,21.5911551,28.5760292,67.1992253,32.9079954,40.1565508,15.9446709,7.7954117,11.2618409,8.4230939,35.6678258,6.09568,0.5356189,0.5455039,11.8475655,8.265996,59.4932573,21.5164451,28.7085019,66.9361795,32.6325978,39.5968157,16.2893509,7.902116,10.8798292,8.4763946,35.5569988 +170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1775159,1.2065188,21.9609644,17.6238089,48.8621638,15.5693863,39.3051105,68.1227896,36.2359387,48.6405733,22.9963447,5.2989503,13.46164,10.3944414,27.9578077,12.5340002,1.2255792,1.2648777,22.5869333,18.040959,48.8766616,15.8975113,38.9369331,66.967666,35.9377283,48.4612415,23.3055761,5.4255239,13.2854481,10.5342986,29.0440928,12.8377511,1.2283148,1.307302,23.1147625,18.3216835,48.7073671,16.0471032,38.5476585,66.6046717,35.5454687,48.1458841,23.3629729,5.3979066,13.3660603,10.7590046,29.4832837,12.1111917,1.3196056,1.4054276,23.2325545,18.7067851,48.5615969,16.2466835,37.8364395,65.9022983,35.1780838,47.9379498,22.6726528,4.7062855,12.3727958,9.2493459,28.3325653,12.6982498,1.3364617,1.4538492,22.5235493,18.0286642,48.8805875,16.4145611,37.3232055,66.0813196,34.8007402,47.9750156,22.5768359,4.3345838,12.6132819,9.3144724,29.2746656 +171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.0710546,1.0809186,19.3466973,14.4883602,84.9846329,12.212888,33.2687578,62.8177898,30.6934424,39.9583406,18.1562036,3.9021331,13.84958,10.6424555,37.1975234,10.335605,1.0695218,1.1000554,20.2866771,15.4227818,84.8699573,12.208597,33.5157098,63.3806994,31.4538773,39.8112771,18.3914876,3.758116,13.7114648,9.7879982,38.2817053,9.4862702,1.0938627,1.1244366,20.0834563,15.4821413,84.1413499,12.4633758,32.5867902,63.4520918,31.921872,40.2132432,18.1267877,3.4923154,13.3995811,9.6792661,36.8791203,12.2387243,0.9776938,1.0078282,18.985287,15.039858,84.82828,11.7903747,32.3796148,63.2804988,31.5253974,39.7429222,17.7831502,3.2542492,13.8624421,10.1449187,36.2467249,14.247934,0.7470623,0.8077234,17.9946591,14.0545559,83.8891988,11.4855526,32.3291587,63.9674727,30.9427012,39.7260753,17.5341234,2.8728506,13.6203707,10.0508205,36.2571015 +172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0037936,1.0762731,16.7836969,12.4834731,75.9794618,15.2325142,35.573043,69.6959339,39.8346819,44.895905,27.6138782,6.8345258,14.5393682,12.0949389,33.5528508,9.3324952,1.0312836,1.1326073,15.7414751,11.1354311,76.2499207,15.3399026,36.0404212,69.1372313,40.9225452,45.8929367,27.4695432,6.8183117,14.991136,12.6063531,34.3525612,5.5994971,1.0795958,1.1440164,16.4303858,12.0468079,76.3786958,14.7587739,36.0839935,69.0282731,41.7420738,46.6257236,27.1693947,6.3952556,13.4320833,12.020555,35.2185338,9.3283582,1.2396647,1.2324849,16.1601037,11.512553,77.4699991,14.4791287,35.5858249,68.5584878,40.0282931,45.4839537,25.9189192,6.3533546,13.3720432,12.6007385,35.7507556,11.6,1.4903598,1.5201055,16.5577166,11.669401,77.486222,14.4067584,35.0705853,68.3294787,39.4193995,45.2155554,25.3257866,6.6440217,12.8286315,12.8286315,37.0489963 +173,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3951674,1.5450762,20.8795193,16.2167635,56.734513,16.7786335,34.3988343,67.2251971,34.9165439,44.5312127,22.3541799,2.5152786,15.2483469,13.1675428,37.8400574,15.40865,1.4246142,1.5819124,20.2611583,15.4558512,57.3964451,17.3319992,34.0527832,67.7215606,33.7057515,44.2580554,20.8164463,2.6251554,15.023631,13.4932356,36.8435744,12.4998649,1.4322716,1.5718985,20.2858493,15.1492397,56.9906233,16.6251553,34.0761766,67.526582,33.4885493,44.7606562,20.1861645,2.7856068,14.0467891,13.5515963,35.7677941,11.9563918,1.4489872,1.5586052,19.6131648,14.9340678,56.3787232,17.1084349,34.7691285,67.2177604,33.7359282,45.0449212,20.3290874,2.9802022,13.5991697,13.1204815,36.4452265,13.3586461,1.3973164,1.5091348,18.6210893,13.8566196,57.086005,16.3673943,34.6656839,67.6102154,32.9587716,44.6061892,20.5475244,2.8854122,14.0197142,14.560823,38.2638553 +174,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.038842,2.163453,25.8247708,20.1381991,39.3676365,18.0431053,40.1337704,68.2490219,38.1936152,51.8815532,28.0481933,3.197729,12.0918856,10.7893515,35.6840706,21.0465919,1.9818012,2.105349,26.2007066,20.4245345,39.7825211,17.452656,40.5558261,67.7437577,38.5801525,51.5875816,27.912891,3.4897198,12.2293955,11.1336862,34.6351231,23.9086085,2.0380503,2.2056093,26.2001577,20.4382332,40.2423482,16.9815568,40.686615,67.5265421,38.3935161,50.6145584,27.5853499,3.7013592,11.7826586,10.7678789,34.5961038,22.246434,1.8725637,2.0066174,25.6576291,19.9959919,39.9830987,15.7666143,39.9281459,67.7342789,38.8529878,49.8919038,27.4798222,3.8291435,11.4049116,10.5709405,32.9478531,23.1236245,1.9112258,2.0367523,25.6692738,20.5719537,40.7922382,15.6775549,39.7606083,67.9478121,38.7792886,50.0239562,28.039395,3.8528662,11.5246725,10.7782149,31.9896879 +175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5229255,0.5229255,12.5273993,9.4058041,61.6121103,23.974507,31.5695531,67.0835292,30.634935,41.3551227,15.489251,7.4354111,14.817798,10.3273004,32.6028162,5.635142,0.6102081,0.6102081,12.784107,9.5102801,60.9994358,23.7665711,31.7375976,68.1532784,31.0010747,41.6120796,15.6710156,7.433163,14.2285144,10.1391568,32.9827323,6.1718136,0.5807224,0.5654816,12.9910854,9.7940996,60.8917461,23.9507637,32.4254193,68.1494495,31.7410243,42.4445337,16.219526,7.5143563,14.0600052,9.737152,32.1891562,5.4271304,0.6585077,0.6173433,13.816343,10.7368612,60.9054929,24.3953113,33.1158063,68.5503936,32.4215286,42.5853619,16.5092779,7.6784045,14.7348422,9.8850222,32.6816831,5.6719846,0.6639641,0.6227557,13.9339778,11.017862,61.4165252,24.7878562,33.5874637,67.3551462,32.64484,42.4590862,16.4263912,7.6933601,13.9299443,9.7915637,32.9563989 +176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5795786,0.5845268,11.9430589,8.4220836,60.1579404,21.4812564,28.2827217,66.6702274,32.5598749,39.8952117,16.1569723,7.8806706,11.2780374,8.7812102,35.9581774,5.7844709,0.5539506,0.549098,11.2949168,8.0740566,60.7508212,21.8935618,27.929769,66.4691907,31.8504921,38.8517893,15.6721255,7.8091369,11.074993,8.0043412,36.1390507,5.4330717,0.6640109,0.6631005,11.2616483,7.8582217,61.647246,21.8684413,27.4386264,65.8164294,31.1099151,38.3671327,15.3575242,7.5880502,11.2127707,8.2765993,35.7142796,5.403351,0.6773895,0.6998612,11.2659286,8.1118983,62.2080559,22.1836253,27.7813368,66.1424859,31.803583,38.4146364,15.7573819,7.7984631,11.3211603,8.4360427,36.6695185,5.6818208,0.6887357,0.7193896,11.1341316,8.1897464,62.5435251,22.0700714,28.5852649,66.0745002,32.0090347,38.5551273,16.1175719,8.128772,10.9180656,8.0042953,36.2397171 +177,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1677128,2.1892056,34.2218025,29.6738607,68.3018652,15.5247304,36.0647576,63.8777524,29.9511992,41.2315387,18.269015,2.2818606,16.3557894,12.6413256,36.6196737,21.4908368,2.2244243,2.2304223,33.7162842,29.2377581,68.1534933,15.8310459,36.8981083,64.2397635,30.1283961,41.0420124,18.0768731,2.3781717,16.5808183,12.5498702,36.9043919,21.7966648,2.1068794,2.1107562,32.6063863,28.185639,68.1846686,15.6469447,37.1874144,64.5384761,30.4612676,41.4434026,18.8242136,2.39583,16.2072082,12.7713641,36.2702207,22.0894806,2.0598799,2.0368654,31.9637225,27.4907917,67.8079457,15.6009725,36.7922889,65.2137441,30.6227806,41.3145648,18.7329331,2.3809368,16.0774216,13.5951076,36.793305,22.2752364,2.1114001,2.0975596,31.847417,27.3163197,67.6822419,15.0850244,36.3513876,64.3345011,29.758202,40.6768866,18.5707935,2.2523709,15.8412856,13.4517438,37.0005256 +178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4327539,1.5567777,22.1059596,17.6879722,48.6254011,16.8124347,37.0573532,66.2404093,35.5774933,48.3299049,22.5979441,4.7826403,12.9764648,10.0385814,29.1040022,12.0411488,1.4529526,1.5606124,22.0861706,17.6284422,49.1294585,16.7157263,36.5715496,65.4412254,34.6345402,47.1157449,22.4718005,5.0334188,12.2748957,9.9874042,28.5706415,14.4956478,1.5524123,1.6242059,21.4907247,17.2539303,49.0302581,16.7271524,35.4704459,64.8641513,34.7574942,47.0400853,23.3511335,5.0063975,12.5051168,9.8845856,27.760359,14.1090748,1.647156,1.740184,21.333545,17.2394801,48.5211606,16.2791172,35.5271314,65.4670765,34.6757225,47.4172184,23.1445573,4.9949938,12.6950656,9.8675959,27.648068,12.8364797,1.7294539,1.7922425,21.5673694,17.453191,48.369683,15.9325565,35.8554429,65.1080235,35.3845825,47.5598747,23.5910313,5.4081742,12.8203098,10.1792411,28.5794701 +179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8143402,0.8298815,18.3934816,14.4840653,84.1802132,11.2127031,32.0902324,63.7472082,30.6822589,38.595346,16.6645889,2.7159854,14.3752418,10.1477984,36.2657072,14.5313145,0.6034105,0.6191255,18.2245445,14.2148152,84.4775849,11.806675,32.0378554,62.0677258,29.5954342,36.6299869,15.4562169,2.4013214,15.2195753,9.844923,38.146909,13.7674273,0.790957,0.8069527,18.4005554,14.6076786,83.8439098,10.7399537,32.4751143,61.8260933,30.4148398,37.3256481,16.3271571,2.7028114,15.3220666,10.3762414,37.4300312,13.0543673,0.9084019,0.9462566,18.3211904,14.8860827,84.0862297,11.0991533,31.8586225,60.9436415,30.8743783,38.4777167,16.4428139,2.7626308,14.9949885,11.0797,37.2403003,12.6237629,1.1198912,1.1587029,18.5613867,15.1120359,84.7823713,10.8865965,32.1785086,61.1540367,30.4530656,39.0396382,16.5801282,2.905345,14.0579295,10.6485401,36.9519536 +180,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7562396,1.8056787,30.2447619,26.0193195,63.3258191,9.6974939,29.4718085,65.6156891,34.1769317,37.9293608,17.5340281,3.9047317,14.7931753,9.9737387,37.7314828,20.1840659,1.7582978,1.812124,30.8231755,26.8120058,63.933299,9.632539,29.7720916,65.8037587,34.1260242,37.8607031,17.5274548,3.9932342,14.8515543,10.2100388,38.2633085,20.1855579,1.8476107,1.9033383,31.3315008,27.1323375,64.430967,9.4541983,30.1712268,65.9401681,34.1037406,37.8543697,17.4517091,4.0171858,15.0369758,10.2804371,38.8190802,19.7641799,1.8095468,1.853021,31.5267422,27.2523467,64.9634752,9.4447823,30.2037171,66.0665942,33.9211015,37.9646767,17.2051978,3.9174065,15.3030543,10.3727435,38.2765152,19.8795118,1.8984739,1.9506687,31.7576214,27.430787,65.6638177,9.4399469,30.1812286,66.1574746,33.7384477,37.3752561,17.0544323,3.8664061,15.3012648,10.4072679,38.4853049 +181,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.5833283,1.6068602,26.786873,22.576116,53.5241299,16.1377889,33.3590553,66.1557025,34.7044337,41.210832,19.5963651,2.5694733,12.5112035,8.8933771,33.6261513,20.3150974,1.7117195,1.7347707,26.7370903,22.6856796,54.1959744,15.7255329,33.8637811,65.8023531,34.1308386,40.9414461,19.3300516,2.5038911,13.2745368,9.2081492,34.2369224,20.8265823,1.7074361,1.7408027,27.2955845,23.2947037,54.3637409,15.3735823,33.9353897,66.4460281,34.1148489,40.8458528,19.6881119,2.456806,13.7460933,9.4546298,33.851375,19.399348,1.8257417,1.8689361,27.5618826,23.5019521,56.0448464,15.1452169,33.6406248,66.4704525,34.062617,40.7263346,19.3136209,2.4988861,13.7068415,9.5396391,33.7868269,17.9021811,1.8143112,1.8321017,28.1055061,23.8859049,57.2568141,15.0378272,33.8051639,65.8218123,33.4320656,41.1345146,19.3219113,2.4906723,14.1148594,9.7131858,34.0271875 +182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.2656346,1.3045537,18.9256395,15.0369285,83.8126289,11.9773138,32.867184,61.6821379,30.7580628,39.3275128,16.6332158,3.2057958,12.788197,9.8459074,36.8257707,8.7065522,1.3972593,1.4209906,19.1510245,15.3754121,84.8059703,11.7626993,32.5843415,61.3177806,31.4114148,39.0750778,17.2305992,3.3328875,12.8675755,10.374158,37.5012393,8.4689792,1.4014448,1.4250864,17.7302852,14.4332303,83.9670318,12.365067,31.8961491,62.6821183,32.0318041,39.8559775,17.3524519,3.8761316,12.7100212,11.307634,36.8258675,8.8645663,1.5836019,1.6072629,18.8472895,15.3251461,83.4310167,11.9221251,31.4831635,63.4049884,34.2298743,41.2834385,17.7234003,3.8734966,11.593297,12.1117716,35.9657905,8.6526812,1.4544831,1.4780005,18.1784576,14.7583936,83.6318565,13.6614339,31.6537567,64.9415665,34.0347942,41.9729705,17.9438981,3.4758966,11.4084304,11.5819552,37.4880562 +183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8940758,0.9390939,20.0966903,16.5926437,71.3758932,13.5218515,27.8539703,64.9871126,27.8700717,40.6239071,13.4714599,4.7323558,16.0276167,12.3189136,31.1589862,11.0462473,0.8469139,0.9050451,20.1706945,16.7083683,72.7487424,13.5388663,27.89233,64.7092178,27.8124286,40.2443825,13.1910924,4.5461912,15.6319528,12.2400783,31.2258895,10.9099839,0.8784897,0.921619,20.5458726,16.9951088,74.2085564,13.3138754,28.2327669,64.439686,27.290887,40.1260199,13.066686,4.1107814,15.7211545,12.2917549,31.4594152,11.9523248,0.9230035,1.0087974,20.7560358,17.3265699,75.5590593,12.9856565,28.4429218,65.2364697,27.6946652,40.733877,13.1905341,4.2270257,15.371196,12.0044944,31.2779037,10.9800313,0.8534274,0.9299346,21.2556523,18.0118019,77.1330303,12.7933783,28.6540799,64.8303902,27.4017707,40.1790876,13.0706605,4.2882133,15.1366359,11.6836271,31.8833896 +184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0486901,1.0746089,17.5442752,14.3656447,48.5083778,11.3592295,26.0128724,65.3392228,28.8172783,41.548058,14.2904747,4.2698033,14.0292171,11.0574314,30.3256308,12.0257146,1.1365466,1.1620826,18.2831456,14.7327401,49.5124954,11.5938997,25.9196102,66.2802211,29.1769387,41.3999711,14.2549213,4.2656353,14.308959,11.1999707,30.5841717,12.7956432,1.1724682,1.2114433,18.8844275,15.5770748,50.4260069,12.0195424,26.3880056,66.3402869,29.6240442,41.570523,14.3507712,4.0375773,14.5750143,11.7534939,31.0861389,13.0195262,1.2004901,1.2300233,19.0839118,16.1750142,51.3834461,12.4649347,26.5214099,66.4617015,29.6005788,41.1329562,14.7172681,3.9095413,15.1946698,11.8769094,29.5101241,11.9774953,1.1971931,1.2601652,19.6956406,16.6831607,53.1312575,12.0661464,27.5446204,65.8615362,28.4261257,40.5015875,14.2938095,3.9811614,15.4936377,12.2167316,29.6212135 +185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.1679623,1.2286698,20.3637752,17.495995,54.0558102,12.8333493,28.3830143,65.7218442,28.8921763,41.3086844,14.4955223,3.8325261,15.9369776,12.029534,30.257261,11.904941,1.1874874,1.2257267,20.708206,17.8316866,54.7658169,12.407115,28.651096,66.1628,28.8428136,41.8745453,14.770372,3.9287548,16.256378,12.317024,31.1340228,10.3294635,1.2401587,1.2768531,21.2141703,18.1781309,55.7319099,12.4950427,28.1891196,65.7168419,28.9001603,41.6713137,14.6013803,3.8840706,16.9836318,12.4769918,31.4990849,11.7211686,1.1655725,1.2250055,20.9951457,18.189191,56.6228772,12.3328371,28.5211645,66.2722208,28.6998644,42.252141,14.4583203,3.994274,16.9776185,12.15017,31.0082919,12.205933,1.0418399,1.1064536,20.9596043,17.816308,59.3356806,12.4487184,28.1942309,65.6892102,27.6644653,41.4650438,14.2420915,3.8980343,16.6335257,12.249,30.8862052 +186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3086317,1.3445074,26.7485793,22.1541949,46.2090366,20.3270235,34.8632648,64.9438512,32.4701832,43.5984963,21.0186835,2.9914774,16.8917663,12.9872125,38.5098518,14.4182572,1.3719669,1.4154915,27.5050345,23.0472305,48.0074085,20.0569838,34.9410578,64.750334,31.8973286,43.8048428,20.6660171,2.8122441,17.5139276,12.6827902,38.1327812,12.2575037,1.3613615,1.455687,27.8294018,23.5129085,49.4323594,19.7886204,35.3138697,64.2512634,32.0350363,43.1315644,20.0641329,2.8277605,17.4898303,12.622424,38.0788225,12.2914243,1.3182075,1.4066977,28.3652555,24.3988016,50.6114538,19.7285063,35.5627398,64.0801716,32.0606346,42.8131322,19.5946314,2.7417748,18.0219498,12.947605,38.1880083,13.417556,1.4050747,1.4606991,28.5771968,24.4713431,52.0288824,18.6666371,36.4401961,64.1999423,31.604564,42.3784341,19.4542543,2.6323768,18.2285598,13.6584324,38.1829557 +187,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1257935,2.1209678,31.1395763,26.6349875,67.8759019,14.7822934,36.7115594,64.3691029,29.5944061,40.525067,18.5133321,2.2672553,15.8425047,13.9536874,37.7099592,22.8499893,2.164278,2.2010351,31.1262047,26.4789869,66.4696897,15.0718128,37.3135087,65.201699,29.7046734,40.7913491,18.8973217,2.4999814,15.9878493,13.5888856,37.5325303,24.0791938,2.206467,2.2446412,30.9402788,25.7546021,66.9150634,15.0506083,36.4614593,64.4718286,29.7644469,41.3225324,18.8181749,2.3985687,16.1121375,13.5249399,38.239362,22.6609129,2.1296883,2.1753148,30.0194749,24.9768004,66.4394161,15.1402486,36.6471014,64.0316619,30.5038847,41.9165592,19.5439056,2.3439879,16.2973517,14.0633223,37.2133568,21.6144031,2.0725921,2.1334444,29.253563,24.4337589,65.4471015,15.3660834,36.4455297,64.3419497,30.4394207,41.5978042,19.2482944,2.4121972,16.1121328,13.3308588,37.0979861 +188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6645523,0.6645523,14.760811,11.0910842,73.5146928,21.9189283,30.6628808,63.4410328,27.1652237,37.9580287,15.3397765,5.0133276,14.1362983,9.1492297,33.0497026,7.6822937,0.6001608,0.633341,14.9589481,11.3136257,73.0717959,21.5938758,31.2914938,62.8983996,27.8386464,38.1308076,15.3220449,5.1294853,13.8362552,9.3031192,32.7303864,7.0876307,0.6684539,0.7167557,14.9623074,11.2258251,72.8737561,21.4123418,31.9039681,62.6655547,27.8973562,38.2284723,15.0827815,5.4139109,13.7300442,9.3417628,32.9879877,7.5495068,0.7267749,0.7679145,14.5729499,11.1166501,73.0588207,21.9428039,32.2888734,63.1534798,27.5636795,38.4550869,15.3652841,5.6802983,13.1774981,9.65448,32.5051207,7.3141504,0.6678153,0.7092103,14.4217944,11.1463911,73.0560258,21.7961566,32.1681879,63.9142107,28.0479622,39.3279225,15.6534959,5.8257385,12.3217896,9.273106,31.4802394 +189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9955107,0.9955088,16.3618778,11.1131105,57.6943768,16.607369,36.2904305,65.655738,32.553499,44.7708904,26.7312841,3.6649341,11.1538295,10.4064297,42.629762,12.0370519,1.0878605,1.0878605,16.6084844,11.0866527,57.2566241,16.4479978,38.0586302,66.3914903,33.1720246,46.9581277,26.7593188,3.270629,11.4762249,10.0943476,43.4676709,14.1304348,1.1683192,1.2002291,17.2467225,11.8321238,56.5596778,16.5101731,39.7433054,67.4245931,34.813628,49.0229405,27.479404,3.0285252,11.4822899,10.2120628,43.3297975,12.1323886,1.0995995,1.1321836,17.6090605,12.3116973,56.2380056,16.9023734,38.7236827,67.5587879,35.9200009,48.4624345,27.5314485,2.8874689,11.8290311,10.4945713,42.3177912,9.9206664,1.1832119,1.2163329,17.383246,11.934954,56.4630763,16.8010793,39.0823943,67.7753191,35.4422669,47.935402,27.3935968,2.9867797,12.1799734,9.6814939,41.0230627 +190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.780505,0.8142683,11.1049809,8.0613094,63.292961,22.2997717,28.4578414,66.0749268,31.9864903,38.608151,16.2165114,7.9830139,11.1764755,8.1334488,36.9660841,6.1526518,0.7913977,0.8220647,11.1712668,7.9668455,63.6793572,22.347516,27.9786399,65.7264194,31.7686743,38.7606224,16.1729498,7.6998487,11.1135235,7.8776036,36.4692851,6.2307721,0.7622658,0.8209235,11.321377,7.8685204,63.9757779,22.0508997,28.6323708,65.8315131,31.6083151,38.1072303,16.4223241,7.6477034,10.910284,7.6134373,35.9973446,6.0902292,0.8263112,0.9022409,11.8060164,8.1493816,64.1171264,21.7671507,28.7311648,65.6665208,31.9419834,38.4300334,16.5301184,8.0048731,11.1038453,7.8384277,35.5913339,6.5512098,0.7387004,0.8170976,11.9465044,8.5300051,64.0965191,21.7663891,28.9362101,66.2243524,32.3037515,38.6373822,16.7372919,8.2181095,11.4000046,7.6391968,36.0585461 +191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.7461828,0.7800505,12.1860143,8.5200253,64.2953724,21.8432699,28.8126013,65.9101048,31.8090402,38.5621708,16.6033128,8.5084979,11.8973257,7.8006242,36.3122032,6.6318957,0.7597836,0.7731212,12.1964904,8.6218489,64.7421525,21.7214927,28.8594228,65.7941617,31.5103639,39.2849224,16.8968632,8.2535095,12.3663151,8.2255896,36.2753782,6.3411106,0.7177751,0.7449017,12.2348896,8.7001106,64.5495994,21.186063,29.1855619,65.1429184,31.1138883,38.7817632,16.6175174,7.8833944,12.2995922,8.2264008,36.9191355,6.0178324,0.7268538,0.7541665,12.4113458,8.9796354,65.2387451,21.4780878,30.1066623,65.5583223,31.0145315,39.2759874,16.8520223,8.0231535,12.476771,8.7087821,36.6823449,5.3802039,0.7449012,0.7431251,12.3858427,8.9840149,64.698521,21.7888922,29.7538348,65.2100205,30.9733565,39.1937662,16.7682946,8.0510419,12.3728075,8.7147513,36.41253 +192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6814484,1.8313356,29.8547899,25.3377755,56.1979425,11.8836425,39.883244,63.3095366,35.7412884,44.7433386,22.4294318,3.0686066,16.764053,12.0318749,39.4969929,16.3612694,1.7132293,1.8816752,28.4003579,23.7612802,55.0026185,11.8781276,40.1773458,64.0053161,36.3250965,45.2452133,22.596105,3.2854013,16.1672151,12.6822075,39.7894356,17.3854635,1.6206657,1.7930016,28.3067823,23.420009,55.2892139,11.943701,40.8928313,64.4625015,36.7738644,45.9901925,23.024242,3.2407049,16.3568785,13.7707541,40.1144878,17.217609,1.5484619,1.7232822,27.871865,23.0597043,55.2074727,12.7858358,40.0578971,63.8128851,37.181207,45.9314358,22.9762504,3.35237,16.0038886,14.0177239,40.6851134,20.0849519,1.4334845,1.5983343,27.1640567,21.998007,53.5793199,13.6435989,40.0201369,64.596606,38.0794196,46.2320104,23.8694854,3.5620086,15.2217194,14.3015133,40.5650158 +193,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8908098,0.902049,17.653536,14.4206239,62.5629048,18.1134027,34.7488766,65.9026287,34.0381306,43.6330224,18.8995433,5.8813049,13.228597,9.5849312,33.2568775,11.4936835,0.8193647,0.8461075,17.359119,14.1225732,62.8811324,17.9993013,35.0129386,65.7278926,34.0486738,43.4677791,18.7617536,5.9912956,13.6612718,9.7185791,32.9777041,10.1525138,0.8946234,0.9157114,17.5492824,14.1358182,64.2544222,17.1883431,34.8378397,65.4758668,34.164212,43.3892491,18.6071493,6.0357665,13.5968312,9.9787914,32.6994122,9.7866336,0.9633138,0.9895562,17.924268,14.4779431,64.9389245,17.1851439,35.3249926,64.8601064,33.8675834,43.2035216,18.666328,6.067775,14.0426272,10.3103157,32.6685509,9.7082954,1.0253599,1.0549901,18.0019714,14.5842304,65.5446274,17.0148594,35.949087,64.6488187,33.6726931,43.4576562,18.9090184,6.1227847,13.4242333,10.0116319,32.398341 +194,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0377199,1.0749449,18.3519494,14.9134345,66.9782942,17.0099687,35.8508233,64.0680234,33.3122444,43.5719051,19.1110293,6.1152166,13.3621971,10.2277562,32.1258458,8.2730553,1.0597779,1.11159,18.6989062,15.1372116,68.3865791,17.1029689,36.0019875,64.4842842,33.2698192,43.6437714,19.1677407,6.0958507,13.3651099,9.9649869,31.8531694,8.5058514,1.1275736,1.156266,18.8036131,15.1173051,69.8511113,17.0735409,36.0588891,64.5938648,33.0284971,43.4609261,19.0175776,6.102094,13.7117001,10.3222988,32.0041259,8.3554391,1.2112356,1.2352008,19.4239518,15.721963,71.156385,17.1878085,36.3079758,64.6816584,32.9318243,43.6431751,18.6810799,6.0833456,13.0552816,10.0878745,31.9114245,9.1494861,1.2479079,1.2743221,19.4221233,15.7823217,72.9532046,17.4314584,36.4989231,64.5409956,32.1479751,43.2285385,18.4616299,5.8510616,13.0908593,9.8334604,32.2457564 +195,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8133516,1.8682556,30.4125283,25.8617904,49.9075709,16.2554834,40.5435574,63.9290283,35.950683,45.7380862,20.2466674,2.8780555,15.2270973,11.9781232,34.0899543,16.1211288,1.8030124,1.8674268,30.9841972,26.4405032,50.6135873,15.9149347,40.8592806,63.7659699,35.9749054,45.5442779,20.6040551,3.0402674,15.4420738,12.3738496,34.2083548,18.2753251,1.8582729,1.9144331,31.0057457,26.5272534,51.6486623,15.9318071,40.229103,64.048265,35.4044537,44.8104786,19.8763285,3.0103346,15.5285905,12.0682627,34.1821646,17.6145395,1.7949958,1.8758726,31.4002035,26.8511695,52.1472756,15.832045,39.9169336,64.6230312,35.0121919,44.902725,19.8925578,2.9286545,15.814034,12.3479265,34.0769182,18.1747355,1.6746849,1.7294041,30.8745399,26.364,52.6223418,15.8393078,39.4518656,64.3709483,34.8806596,44.2253088,19.7107447,2.9429575,15.5270706,12.7032648,34.4057435 +196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.4511727,1.6509568,27.0682265,21.9814268,53.1617107,14.2186926,40.5100916,65.2759796,37.9863852,46.8270312,24.3235411,3.5400955,15.4163055,14.7164834,40.3177666,22.3914673,1.3623538,1.545477,26.4189963,21.2741901,54.0691688,13.8697747,39.9509599,65.6038476,36.8814839,46.3652761,23.6732846,3.4748412,15.7266536,14.9536755,39.3074568,21.2795481,1.3738194,1.4886213,25.8984202,20.9891849,53.1569386,14.4739096,40.0144193,66.5863599,38.0990872,47.1390297,23.932619,3.4242231,15.4764214,15.3869009,40.586312,20.5417442,1.3492644,1.421463,25.8476245,20.8235937,53.9836492,14.4336853,39.3657915,66.6145796,36.9307879,46.4775331,23.6735899,3.1500433,15.6392697,15.0190034,40.877865,19.3207055,1.3258245,1.3990633,24.9402149,19.9618071,54.2126063,14.6906984,38.3167874,66.0763031,36.3114902,45.9447621,23.650646,3.2831803,15.3815556,14.4161921,40.1835468 +197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2568282,1.3133772,23.9667768,20.2785748,64.4443149,14.0459036,32.7388877,65.7537065,32.4024117,42.3620297,17.8263733,2.8196463,14.1307245,10.2166758,34.0104744,15.8100394,1.26746,1.3332601,24.4248253,20.7516262,65.4015277,14.1480459,32.7200426,65.7164091,31.8573898,42.0474328,17.4484388,2.6486041,13.9416386,9.9120139,33.5134134,16.323196,1.2529168,1.3190087,24.6783004,20.9624452,67.1088968,14.0733201,32.6868477,65.8264669,31.2677335,41.4312664,17.563181,2.6692788,14.2009382,9.7712274,33.7638642,16.1949425,1.2863739,1.3316849,24.8782627,21.0093398,67.5629586,13.8829825,32.4740931,65.9644712,31.2491572,41.048588,17.1557404,2.4565888,14.1337478,9.5941581,33.6717539,16.2638251,1.2796612,1.3132085,25.0264108,21.2483471,68.2390941,13.7676215,32.8310894,65.5202803,31.4121629,41.3040526,17.1013546,2.4662157,13.9172592,9.3577906,33.7086419 +198,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6101674,0.642656,11.4558059,8.5095321,64.8672566,27.0041465,30.3959355,66.4505957,32.2880168,43.7105816,15.7848633,4.712684,16.0714286,9.9780702,32.9304029,6.3920455,0.6795016,0.7123316,11.5995763,8.9865819,66.7324247,27.3888694,30.481757,66.3301452,31.2964931,42.9507616,16.0998937,4.8352816,15.3483309,9.6363636,32.0306793,6.456044,0.7099041,0.7099041,12.0659107,9.4082211,68.0694842,27.3951049,30.4463337,66.3301452,30.1629472,41.7463691,15.3914276,5.224938,15.1196519,9.6223675,32.9072316,5.4959786,0.7712878,0.7630776,11.7845716,9.2250267,68.9266547,26.9432773,30.7324841,65.7997169,29.6355272,40.9589526,14.7381458,5.1840057,14.9502841,9.2039801,33.5596855,6.2834225,0.9882135,0.9799354,12.4010079,9.5212383,69.7150072,25.6914894,31.2253673,65.5858115,28.824794,40.3977069,14.8871372,5.1056969,13.9426523,9.5255212,34.3569364 +199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6131513,1.5869288,27.3909637,23.9264661,53.4118402,16.8428988,34.367876,64.0291775,33.4664145,43.4940718,19.6609053,3.4223192,15.4769664,11.9920656,36.8677409,19.161837,1.4803387,1.4768664,26.9016115,23.4629783,54.5212943,16.7728173,34.1654204,63.6602021,33.6313412,43.4298516,19.4521489,3.4874006,15.1116498,11.5886768,35.944181,19.5665863,1.4361501,1.4438727,26.8172412,23.2192578,55.6268618,17.0787372,34.6692414,64.1764458,33.7624383,43.2236099,19.3153904,3.5215698,15.1599596,12.1085602,35.7748481,20.4036764,1.4367213,1.43644,27.3433955,23.6213408,55.9254174,17.0151254,34.9648358,64.4257581,34.1168915,43.7310798,19.2854769,3.5434136,15.048075,11.9630027,36.1593801,20.80224,1.4510253,1.5034714,27.4289607,23.6067919,56.7924248,17.2937037,34.8835597,64.2869715,34.0983745,43.9962821,19.3193212,3.5661108,15.3776701,11.7488077,36.0679034 +200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6382145,0.6691839,14.3504551,11.1278953,73.1719674,21.8088721,31.2835142,63.7566973,27.8652883,39.3934252,15.5998687,5.6802983,12.1140895,8.9105648,30.5273993,8.1707337,0.5558552,0.5872919,14.3709591,11.2683321,73.7865708,21.2055151,31.7052453,63.9040069,27.1783606,39.0231356,15.4356721,5.4629029,12.1511239,9.3792691,30.7191902,7.875,0.5231029,0.5544607,14.3509186,11.1392878,74.20185,21.3974583,31.8336157,64.2954048,27.0118922,39.5415951,15.5008484,5.4838732,12.0202001,9.5479121,30.5423785,7.3317308,0.5613476,0.5772813,14.0920072,11.0367364,74.2662427,21.980848,31.7094318,64.7191346,27.1671343,39.0256591,15.9327326,5.5998638,11.8218274,9.3435945,29.7979736,6.7237164,0.5654448,0.5973937,13.9203642,10.8307642,74.6323571,22.1058101,31.1022276,64.7600825,27.4513252,39.0298987,16.4638403,5.4763589,11.5120185,9.6563476,30.5747842 +201,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3835328,1.4381478,22.3790067,18.9803994,51.0593072,17.3189011,40.1241313,66.8539425,37.581304,47.6345352,25.0443406,3.04553,12.9562197,11.6180199,36.1246788,10.3723459,1.6184877,1.6751129,23.0838029,18.8921958,50.7901458,17.0102872,39.4396044,65.7943387,36.3608408,46.8904081,23.6145299,3.1711775,13.0188964,11.9975156,36.7721359,11.0215113,1.7670812,1.8216383,22.6731492,18.3051985,51.6963393,17.2489483,39.7585589,65.3333566,36.2060805,47.2155112,22.5288849,2.9900316,12.6196367,11.1842292,37.0035963,12.7499936,1.7890567,1.846234,21.9790909,17.4690306,50.7913804,16.5763181,40.1678481,64.5795335,35.9753875,46.8847015,22.4114048,3.4218291,12.5774876,11.3383299,37.3756063,11.7800985,1.8608174,1.8608174,22.0219229,17.5858559,51.4267328,16.2431362,40.6781425,65.4510255,36.678103,47.2571637,22.8068929,3.5161985,12.3540401,10.0255501,36.9466003 +202,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.092542,2.1306435,36.1487121,30.7591188,71.9147843,11.9621386,34.0969559,62.2721433,27.8341461,36.5387009,15.8633947,3.0363554,16.1961655,10.6474398,37.1359611,21.1618622,2.1049254,2.1842259,35.7629823,30.3290299,71.2638896,12.1599476,33.6136523,62.2698877,28.3117311,36.7371447,15.5775465,2.9072761,16.1741834,10.4917506,36.5241321,21.872219,2.1240071,2.1824112,35.6662992,30.3564061,71.0769485,12.6061318,33.3466899,63.5380311,28.5611641,37.2650932,15.6656752,3.1074581,15.5222262,10.2609771,35.9927086,21.4783728,2.0813313,2.131675,35.4439804,30.3278275,70.706278,13.2429111,33.0504255,64.3794386,28.9444119,37.6899587,16.0766954,3.095697,15.05357,9.8831546,36.6119792,22.0104661,2.061513,2.0975694,34.8641484,29.8506547,70.5212174,13.1417735,32.7152596,64.3932002,28.4512717,38.2044946,15.9696838,3.1775764,14.6138456,9.9478962,36.5085532 +203,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9387385,1.9837248,31.8036053,27.4171101,66.1879203,9.2695953,30.1326109,66.1080386,33.466152,36.9943455,16.9079653,3.7684782,15.3602474,10.4213263,38.325189,20.6382116,1.963483,1.9989761,32.0931481,27.7007886,66.642846,9.0455118,30.3932854,65.9283761,32.9929752,36.5561773,16.6979789,3.723793,15.5037305,10.3197303,38.6394974,20.8674595,1.9342006,1.9686252,32.6378843,28.3327308,67.4725326,8.9152388,30.3499008,65.6244371,32.7774123,36.4277526,16.3902201,3.7804971,15.6740353,10.6586722,38.6210754,20.2598785,1.9378503,1.9553914,32.7180983,28.1990076,68.1883229,8.7161194,30.392634,65.5351634,32.1795452,36.4158516,15.9575772,3.6619473,15.8288937,10.7209183,38.1698945,19.9669989,1.8249293,1.8367288,32.5701199,28.1798759,68.6372204,8.5599713,30.1444042,65.2297668,31.9616973,36.0001194,15.8079905,3.6743574,15.6327987,10.7330148,38.1237401 +204,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0773318,2.1880467,29.1425797,24.4176238,65.146663,15.7924956,36.786843,63.8099961,30.5206225,41.5944959,19.6451882,2.6693176,15.3602716,12.3511282,36.7917037,19.3084853,1.8011986,1.8996535,28.4594838,23.6911761,64.6754723,16.5495756,36.8552637,65.0566154,31.6661585,42.1132845,20.3312165,2.748604,14.7016348,12.0502618,35.5736162,18.9038702,1.8495094,1.9390228,27.6723468,22.8877799,64.6157717,16.6217465,35.795984,64.4822161,31.4152695,41.9854604,20.566868,2.8340166,14.7840435,11.7708798,36.2341364,20.1137598,1.8106177,1.847865,27.1154575,22.3536581,65.0685205,16.7019348,35.9085397,65.0816133,31.4181229,42.4150957,20.4916321,2.7053161,14.2384455,11.4818833,36.609346,18.997597,1.7706383,1.8079785,26.1831136,21.7250524,64.938748,16.847392,35.8030855,66.0452256,31.9299024,42.4840272,20.8779734,2.8254445,14.5709601,11.6980676,37.9979298 +205,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0097885,1.0203875,19.7123352,15.7954273,79.7794915,7.2341381,28.9114217,63.2437251,28.2529636,36.9906587,14.5498285,5.3415666,13.6857395,9.683567,35.9860791,8.9505764,1.0058287,1.0228978,19.7283249,15.9023731,80.3833386,7.0015329,28.8690625,63.1505517,27.9465742,36.4882684,14.3811207,5.3377448,13.7360133,9.8505808,36.5080585,8.8089823,0.9662843,0.9856954,19.6004795,15.7673444,80.5077011,7.1475211,28.9201325,62.9328622,27.9269636,36.5664737,14.4640314,5.2874227,13.9397882,10.0134092,36.241963,8.8138196,0.9380911,0.9550519,19.460083,15.6521785,80.3389286,7.2367574,28.907004,62.8662726,27.8610823,36.4845382,14.1967509,5.4094759,14.1218031,10.0995675,36.2977893,8.7534519,0.9577653,0.979714,19.8345631,15.9513902,80.4619303,7.1391472,28.8517226,62.7388195,27.463594,36.1271223,13.9662631,5.366912,14.2929936,10.1036644,36.6251496 +206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8877687,0.969425,21.8050369,18.757754,78.3182817,12.6628702,29.0022771,64.5210297,27.7292171,40.0938618,13.184236,4.1613702,15.2181392,11.8956367,31.7422499,10.4467844,0.9656856,1.0639,22.3753428,19.1510233,80.1998086,12.7600272,28.7526431,64.7551539,27.5403418,39.9664927,13.1519776,4.2351337,15.4851081,12.2544589,31.5372349,10.2394717,0.9498356,1.0412935,22.1166896,18.8842807,81.8161316,12.6660878,28.7280008,64.2480164,27.1440268,39.9120026,13.0319489,4.2799942,15.240505,12.2158082,30.4383178,9.9404742,0.9529389,1.031608,22.4475098,19.1555038,82.8195474,12.533878,29.0106665,64.2753438,26.9609997,40.2921918,13.2423971,4.462551,15.1099997,12.0639337,30.3507733,9.6987772,0.9731116,1.0286675,22.6335145,19.5154915,83.7787519,12.8499458,29.1017248,64.6279974,27.1524491,40.1478746,13.2797289,4.5240542,15.3102313,12.1474675,30.6361338 +207,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7941663,0.7897367,16.8892264,12.9217592,42.548421,13.1786123,32.7755178,64.7562019,36.2570782,44.4933357,20.0954979,5.46921,13.7597636,10.6231925,32.2716198,7.9752893,0.8337546,0.8353834,16.9997644,12.9941078,43.7722527,12.891746,32.8740659,65.2856885,36.2916556,44.5990899,20.0177548,5.6127788,13.0977752,10.2116892,32.4087398,7.6430811,0.9455234,0.9593215,17.2739722,13.107916,44.1490887,12.6515413,33.3731134,65.9989259,36.7484103,44.6772876,20.1857557,5.6909623,13.4635789,10.0004599,33.0503983,8.1459759,0.9515091,0.9859678,17.3230197,13.3810555,44.2596977,12.6075721,33.3209086,65.5422721,37.6861611,46.1529603,20.6747759,5.7542427,14.1188903,10.7240169,33.4287315,7.2157379,1.0995438,1.1387849,18.4478099,14.1679966,44.3466102,13.0104078,34.1827511,65.978097,38.0238661,46.2137761,21.138831,6.0684803,13.6091067,10.0683128,32.3399856 +208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4021667,1.4021667,18.0074668,14.2363568,82.7065046,14.2414454,32.3070927,66.5274011,32.9777334,41.5471284,18.3522747,3.900395,11.836801,11.4019368,38.4481933,9.9301311,1.2968203,1.3038381,17.9198424,14.0777202,82.6211667,14.4362062,31.9478061,66.425818,33.5358163,41.3130163,18.2973723,4.3017761,13.5363196,12.1754247,41.0975453,12.5644454,1.3507214,1.3580215,19.3142658,15.0312224,82.2485802,14.210276,30.9538911,66.3148897,33.9611364,40.7451487,19.1564822,4.5401618,14.3826294,13.1461105,41.5505148,11.9514755,1.374835,1.4504403,19.1820029,14.9358142,82.1690075,14.7584585,30.6701638,66.3089157,33.3561319,40.7141949,18.8769013,4.6520056,14.3555015,13.216521,41.2738288,11.002461,1.3881152,1.4304584,20.089822,15.7084304,82.745463,14.5479418,30.9522841,66.0220333,32.9374808,39.5851892,18.6885555,4.5478109,13.9985871,12.5544145,41.1240655 +209,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.906321,1.9450597,32.8571445,28.4404517,69.0966797,8.3787226,30.2002095,65.2736029,31.7724002,35.8932613,15.6819982,3.6326243,15.8218385,10.8603741,38.766933,19.9533082,1.9339757,1.9680386,33.2408192,28.6232753,69.352814,8.2662891,30.2347719,65.1312189,31.5807262,36.1102574,15.4354356,3.666033,15.6137747,10.9107797,38.5735694,19.38848,1.9351265,1.9725871,33.5392074,29.0837002,69.7902869,8.2983651,30.7019157,65.2350061,31.6171916,36.2739643,15.3401338,3.7013001,15.8862658,11.0210992,38.6833052,19.7983043,1.895342,1.9494799,33.4075934,28.9031973,70.34658,8.3479253,30.778445,64.8961682,31.7369133,36.3080626,15.3446774,3.6833371,15.8022089,11.0331555,38.4697285,19.9754465,1.972471,2.0299838,33.2491785,28.6500772,70.539616,8.2169927,31.0016508,65.1472504,31.5281928,36.3711499,15.3768399,3.7072183,15.7291556,10.7067592,38.4167674 +210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.2931858,1.3375647,19.8293562,15.4666253,83.5502081,14.9437349,30.1013151,65.9072927,31.9504895,38.7098878,19.1984566,4.4674388,14.588353,12.5777211,41.8302974,12.4976757,1.2568361,1.3034062,20.0285897,15.5420684,83.6115892,13.6065549,29.5446496,64.8866254,31.5499408,37.5761823,18.6382208,4.5426266,14.3415037,12.5381035,40.4733334,12.4255547,1.2263776,1.2748728,20.2324183,15.5667887,83.9443265,13.5112531,29.4019736,64.6673576,32.60615,37.5080757,19.2038524,4.5389187,14.6191061,12.3860728,39.8537325,10.7768888,1.1133814,1.155428,20.3841727,15.2550521,83.065373,13.2414631,30.2532753,64.9106243,32.3714518,37.3250801,18.9452807,3.7637928,14.2435497,13.0507716,37.9600751,10.1053176,1.0289971,1.0704513,18.617399,14.1702429,83.1151227,13.8971426,31.0168112,64.4926885,32.4762907,37.9748645,18.1948257,3.4356191,14.1945184,12.6486702,38.4137559 +211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7551282,1.8230156,22.0930945,17.9292759,48.7616775,15.8441366,36.6096271,65.3026845,35.8935875,48.2919045,24.4895973,5.9584415,13.0436885,10.6742794,29.0038828,12.9192564,1.7140585,1.7658748,22.6821946,18.7309653,49.0412381,15.9593457,36.7234032,65.1772916,35.4443829,47.8350475,24.3426626,6.2232887,13.2071859,10.9848085,28.8191273,13.6479971,1.7336094,1.8242361,22.9120654,19.1077113,48.5450232,15.2723351,37.1270475,65.480017,35.0582328,47.6556332,24.0245518,6.1562307,12.9176964,10.6629835,30.0349095,13.795657,1.7388203,1.8348268,23.1138092,19.4486489,48.2698196,15.4317355,37.7196355,65.8191281,35.6661483,48.2188525,24.0449081,6.1435512,12.813515,10.6324918,30.372701,13.177386,1.6663623,1.7619103,23.8478243,19.9474409,47.7262357,15.2799225,39.2916262,67.1512689,36.3490335,49.2441693,23.7987169,5.8093668,13.3147685,11.0555413,31.3649481 +212,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4490764,1.4913124,27.3500321,23.5960152,56.9827325,17.1046662,35.0200574,64.3023207,34.5151997,44.6609831,19.6492719,3.6257289,16.1276518,11.7312571,36.5162389,21.74661,1.3948259,1.4422174,26.8728752,23.1193726,57.6348947,17.1048816,35.4800114,64.1761995,34.2284314,44.7356416,19.6439792,3.5279553,15.9586796,11.5747423,35.7389062,21.202323,1.3341966,1.3783342,27.2637129,23.4430601,57.8918519,16.6996226,35.6225037,64.0134155,34.5150698,44.9891126,19.4431203,3.409414,16.1783682,12.032959,36.2076492,20.2175735,1.2449646,1.2749022,27.1260815,23.244396,58.4948126,17.1971206,35.7565787,64.3512814,34.7773145,45.2895973,19.0959515,3.609029,16.1882479,12.3379622,36.8634327,19.6901887,1.328431,1.3477307,26.8877865,23.0122208,58.8862569,17.2759208,35.5666692,63.989331,34.5061737,44.8010506,19.3404279,3.4864874,15.7751604,11.471424,37.0544175 +213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6420968,0.6334785,12.1062315,8.9560808,64.8448221,21.6050789,29.7600115,65.3950625,31.0731317,39.5404137,16.6289378,7.9805328,12.7387099,8.8262725,36.4642181,4.9467298,0.5797837,0.5808241,12.2413798,8.9540221,65.4751069,21.4190279,30.0317618,64.6358081,30.894038,39.7208989,16.7347448,8.021333,12.9491416,9.0676024,36.3529407,5.0622929,0.5589296,0.5883122,12.1799399,8.9382189,66.2977685,21.2840933,30.0324276,64.2691704,30.264077,39.5992586,16.4813581,7.655783,12.7216155,9.0191426,36.8840595,4.9999873,0.5795482,0.6353263,12.1252774,8.6887659,66.6060598,21.3558941,30.0651223,63.8808542,30.1374885,38.6275961,16.1963388,7.5373889,12.6163695,8.7861023,37.0416283,5.2250677,0.6558654,0.6902011,12.2864872,8.7969784,66.6464605,21.2497072,30.498077,64.5933645,29.87248,39.1121329,16.4461071,7.5433143,12.173287,8.8733114,37.2496384 +214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.0535122,1.0913868,19.1310663,15.5546119,43.7469662,15.2355708,38.5666418,65.2524424,36.5616724,47.6846774,21.7746853,3.3357199,14.5566721,11.3683984,32.9154026,13.0848385,1.0244158,1.037802,19.5029388,15.9759908,44.2036137,14.694903,38.6291029,65.1375806,35.7716635,47.5793901,21.7085968,3.2530397,14.5699274,11.3730528,32.4264945,14.00866,1.0357503,1.0441975,19.8493678,16.5693362,44.9569977,14.5308424,38.8309408,65.3618488,35.5501589,47.015242,21.2543092,3.227526,14.8368559,11.3429913,31.756314,14.5746638,1.1855546,1.1917464,20.3413935,16.9964841,45.3578214,14.454106,38.4420893,64.8333072,35.2136686,46.2608338,21.0789149,3.2930286,15.1624349,11.2387081,31.0864794,15.657235,1.1873897,1.1806288,20.9246588,17.3975639,45.5354245,14.0366025,38.4846308,65.1356277,34.9469384,45.7723765,20.9375189,3.2959931,15.1046772,11.2029027,31.0494653 +215,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7292426,1.7755629,30.433478,25.9375085,52.537918,15.8211057,38.7740265,64.140989,34.3704789,43.942511,19.6712669,2.9046888,15.3604455,12.5366403,34.2682484,17.4218777,1.632544,1.7053136,30.0642483,25.4065514,53.0653023,15.8980025,38.1193167,63.800576,34.1143683,44.0854418,19.5809021,2.838559,14.546599,12.3428284,33.1854626,18.4129641,1.5342363,1.6022371,29.8798877,25.5755869,53.2642771,16.2279747,37.5256655,63.6858475,33.6447693,43.8090129,19.3120955,2.8439356,14.4089158,11.9067557,33.2275776,18.3282362,1.5234401,1.5856854,29.7874427,25.6781341,53.6582463,16.8271039,36.3418917,64.0320341,33.4337134,44.2147444,19.2666981,2.7316059,14.0999412,11.898787,33.125761,16.9003271,1.4076263,1.4707681,29.5399207,25.2026746,53.3311827,17.2727176,36.0650434,64.1836303,34.2623034,44.7057202,19.8818675,2.7040944,13.7310104,11.7585795,33.4116801 +216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4631573,1.4932614,16.9776895,11.8256118,78.0659927,14.3281605,34.7686668,68.5169619,38.364287,44.6551187,24.636111,6.3331947,12.4173759,11.3844792,36.9926647,13.6729112,1.3358531,1.3358531,17.3657052,12.274611,79.7052207,13.3862317,34.3946425,68.0896237,37.3606354,43.373255,22.7783972,6.3027349,11.6509579,11.1217579,38.6158405,14.1143374,1.3192599,1.3192599,17.6605343,12.3994928,80.6600023,12.3577836,32.6907587,66.4011089,36.872128,41.3960625,21.6352948,6.1535664,12.2096191,11.3364057,39.9174765,15.5836192,1.4627983,1.4318671,17.6861208,13.2480621,81.4137308,11.9228318,32.2471432,66.1070557,35.690223,40.1501354,21.0585363,6.4331482,11.9087508,9.493498,40.9886375,16.5655179,1.6081921,1.5764256,16.9562864,12.5491328,81.9472395,11.6438183,31.506251,64.7738236,34.5603614,39.3705142,20.3136818,5.7247909,12.3339312,10.3912287,41.4709485 +217,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0563699,1.0960642,18.4368173,14.2079855,44.4252748,12.5590593,34.4079795,66.2403994,37.8340699,46.5215762,20.5685853,5.6509498,13.5941706,10.1804244,31.7985952,8.5241752,1.1302647,1.1500266,18.5680777,14.2151283,44.5837087,12.180596,33.4832203,66.8442611,37.7450433,46.6759271,20.2625101,5.7947681,13.3158302,9.9440084,31.0405449,10.206721,1.1936028,1.2130606,18.5493603,14.4760592,45.3930828,12.3418417,33.9600413,68.0425822,38.2853386,47.5724976,20.5901876,5.830868,12.9945535,9.9449064,31.5798456,10.024755,1.1821374,1.2073113,18.6683963,14.644632,44.9717767,12.2313285,34.2901617,67.9138787,38.0684901,47.194887,20.6796372,5.9922094,13.7561428,10.2433007,31.6304625,10.4316597,1.1662609,1.179276,19.2154569,15.2871594,46.0435197,12.2085994,34.1686409,67.1705081,37.8451393,46.7710841,20.5438192,5.9459888,13.8245686,10.5119873,31.2902796 +218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1327537,2.2272731,30.3733184,26.1500928,81.7015357,13.4769377,32.4160743,64.8906967,26.639339,39.09055,15.632309,3.1811098,20.2170563,14.2109627,45.2361792,23.6111286,2.0605554,2.2106126,29.7782358,25.3024366,80.3510914,14.6962904,31.5844422,64.7366189,26.1496627,39.1931562,15.4473193,3.1981612,19.9062216,13.6092367,45.8656403,23.6165997,1.8836749,1.9869413,30.0997304,25.6128284,79.5904939,15.7505316,30.5940969,63.9852548,25.8673041,39.2237837,14.6790951,2.6669568,20.3070247,13.915738,45.3860055,21.5625061,1.6597274,1.7642711,29.6599596,25.2099287,79.8975966,17.1581277,29.1064372,63.4910193,24.9014465,39.0495204,14.3451655,2.5624189,20.2033706,13.8618497,45.0761299,20.9890121,1.7952583,1.8509241,28.675568,24.2607515,79.11336,17.9806169,28.963298,64.2116704,24.6004404,40.1512174,14.6652387,2.2246189,19.291345,13.4531307,44.880883 +219,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.968256,0.992765,20.0743708,16.2030633,80.70484,7.2230058,28.5670049,62.6107675,27.3772336,36.3101692,13.9157278,5.3997371,14.0060796,10.0381197,36.0670339,9.2462009,0.9437905,0.9650479,20.2277858,16.3547754,80.7240544,7.0519557,28.6264486,62.6377358,27.5842269,36.4571222,13.9046815,5.3846417,14.0913459,10.0635695,36.2540549,9.3843005,0.9460582,0.9590179,19.7455421,16.0249172,80.514273,6.9901963,28.6128572,62.9377393,27.5074284,36.5671753,13.9915328,5.3873836,14.4195191,10.4044955,36.816485,9.0474245,0.9423609,0.9546011,19.5475117,15.8004941,80.643633,7.0087336,28.4457301,62.8372194,27.5266083,36.8094035,13.8873771,5.5462712,14.3174571,10.2327378,36.4229593,8.9569163,1.0351798,1.0484592,19.6616957,15.7472677,80.9101286,6.7916975,28.5051718,63.1079161,27.8190992,36.6240148,13.5363954,5.5945417,14.2647094,10.1929547,36.5957267 +220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0091598,1.0424202,18.1261061,12.5036983,56.0464828,17.6047005,39.2552956,69.1211864,36.7141634,48.7994799,28.3554275,3.2876866,12.9293317,11.4639349,41.6601076,7.4221332,0.9647503,1.0202605,17.7848006,12.4428004,55.4364404,17.983514,38.709161,70.8714466,37.5043351,49.0700708,28.0253114,2.9734203,13.0846965,11.4859375,40.5774459,6.6931298,0.9461731,1.001679,17.1684466,11.4617916,54.9433837,18.1049118,38.2559729,70.5839107,37.1431315,48.8900736,28.4042023,2.8937508,14.9605077,12.9695981,42.7917643,6.8348028,0.9673348,1.0007943,17.0412231,10.7010517,54.3835418,18.1360408,38.2623271,70.9676233,37.3311383,47.3572367,27.8675338,2.8391499,16.1349214,14.1597563,42.1335918,6.4116062,0.9184585,0.9184585,16.1984071,10.1067586,53.8640601,18.4103954,36.7172776,71.3608536,36.2112502,46.224481,27.5845489,2.6545582,15.4891825,13.0694322,43.409164 +221,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1803563,1.1730673,19.0248324,15.0890491,46.5953842,12.0729834,34.0708206,66.9249128,37.2418118,45.9656499,19.845755,5.8549205,13.052957,9.867214,29.7625845,10.2534609,1.1041033,1.0889001,18.5529953,14.9705899,47.2304955,11.4659314,34.1638704,67.1538211,36.4380838,45.4794035,19.6205627,5.9799144,12.6933649,9.9877569,30.953088,10.4260136,1.1686875,1.149639,18.9106484,15.2558882,47.9030172,11.5003555,34.2410462,66.9862142,36.2628702,44.7550511,19.4817324,6.2039522,12.888998,10.1270227,32.4018734,9.7374222,1.3424956,1.3484103,18.8517097,15.1182588,48.1046152,11.569919,34.8042854,66.238536,36.0004185,44.5941414,19.3680621,6.0151492,13.0614133,10.7182532,33.3241278,9.3952524,1.4168508,1.4228233,19.2822501,15.3526007,48.3775399,11.4809531,34.9905862,65.3697465,35.8372875,44.2586328,18.914588,6.3305333,13.3352467,10.8513999,32.5850508 +222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.1114947,1.1747957,21.7599822,18.2437729,62.7054005,12.2970671,27.4793689,65.2034748,26.4391515,40.4574043,13.8819524,3.8760933,16.885659,12.1104949,31.7202712,12.1175828,1.2716311,1.2926309,22.835584,19.3353875,65.4685119,12.3284724,26.3192282,65.3030136,26.5405946,40.1493091,13.5962477,3.9004863,17.5270398,12.1618775,33.2211679,12.43861,1.3465177,1.3712769,23.3972849,19.8032845,68.5680883,11.4763111,26.1268083,64.9672816,25.0121588,39.154272,12.9169696,3.6923221,17.4484527,12.7310783,33.2024933,13.6475272,1.3693822,1.3942537,24.0156644,20.2155493,71.9014153,12.0582971,25.8309549,64.4230037,24.6113017,38.9076257,12.2254114,3.6392559,17.6938194,12.5281447,33.4652539,13.7236521,1.3083303,1.3331398,24.5696556,20.7048218,74.8264944,11.99106,26.1150558,64.8518581,23.8708047,38.7316649,11.9414995,3.645049,17.7179657,12.5871097,34.0372191 +223,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6084298,1.6495804,25.9266806,21.6203661,64.6995359,17.2957966,35.5990961,67.1862488,31.9349874,42.4515164,20.7587608,3.0599646,13.8520206,11.1881852,38.4295879,20.4964395,1.6116409,1.6366331,24.9823301,20.5181268,64.6327321,16.6671571,36.4523834,67.8865396,32.3346625,42.9228628,21.0479675,2.9597895,13.7888105,12.106357,39.2933094,19.1463327,1.5102047,1.4977804,24.2519656,19.6535038,64.8531869,16.1811116,36.3553606,68.4874564,32.2632064,43.3369601,20.8521738,2.796524,14.7324756,12.1044378,39.8248404,21.3091813,1.5587939,1.5605073,23.8475422,19.052225,64.1688526,15.7966395,36.6974591,68.3200608,32.4397121,43.5764746,20.8475374,2.6415605,14.7126212,12.1319701,39.5025051,21.3043366,1.5094132,1.5111687,23.8574045,18.7572471,63.489086,15.2919355,37.6270663,69.3491164,32.8718774,43.93986,21.2977455,2.3967911,14.7872629,12.263983,39.7052378 +224,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4517979,1.4604722,22.8973749,18.0375055,63.2990505,16.0570882,37.7453617,68.7472775,33.3649472,43.5458517,21.7632373,2.7085375,14.6560238,12.2493887,39.4148163,18.876155,1.3081069,1.3662995,22.6862024,17.5832827,62.9250333,15.8749987,38.4102963,68.8283175,33.7734323,43.7372203,21.7362515,2.7044144,14.2919146,12.72417,39.2223292,18.4907873,1.4066717,1.4885431,22.4847582,17.2195148,62.771641,15.4047992,37.6862943,68.1486724,33.3800143,43.4406724,21.2271416,2.4749729,14.6193148,13.2767893,41.2090731,16.3292532,1.3810603,1.4533652,22.5062611,17.1282038,62.5461163,15.5729837,37.2522561,68.210948,33.4478741,43.4034778,21.1451433,2.5699402,13.6917223,11.8859294,39.6368156,16.5229315,1.3071366,1.4000208,22.3699515,17.0692625,61.5174656,16.0556081,37.2998014,68.5365936,33.970351,43.7527488,21.4343457,2.6100856,13.523464,11.9322373,38.9268172 +225,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0425197,1.0656075,19.5082536,15.672635,80.9630277,6.6888593,28.2462144,63.2371239,27.9441026,36.9231927,13.7311042,5.4985898,14.1991838,10.1756435,36.7974933,8.9709824,1.0348159,1.0597701,19.2154666,15.4087273,81.1307888,6.809329,27.8605402,63.4150844,28.3984165,37.4724405,13.7774386,5.5266247,14.1488122,10.3599628,36.729039,9.1216851,1.0439688,1.0721004,19.0185922,15.1420027,80.8280677,6.807046,27.9011249,63.6150412,28.4224887,37.3361885,14.1151791,5.671004,13.9913059,10.2167198,36.5725118,9.3056896,1.0750599,1.1208903,18.8038434,14.9323217,80.9669456,6.9968141,27.9272135,64.0292142,28.6259023,37.3971009,14.239186,5.8027938,13.9756316,10.1168042,36.4490326,9.2927246,1.0668007,1.1132159,18.8008607,14.8500093,81.3380774,7.2528631,28.1159168,63.7783098,28.4185361,37.3032261,14.1758279,5.7561169,13.7270279,9.9692609,36.2418583 +226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6580797,0.6957563,12.1359265,8.6507366,66.9682723,20.9417153,29.7426543,64.2769702,29.399512,38.2965751,15.9436304,7.5122586,12.6585428,8.7963006,37.8690965,5.5937895,0.606232,0.6397503,11.9071537,8.6198268,68.2148265,20.7085482,29.4314004,64.7589697,29.1594571,38.6526613,15.51298,7.57726,12.2862786,9.0131944,37.9199625,5.1694763,0.686694,0.708848,12.0064978,8.6331852,67.9026249,20.4247604,29.2067082,64.4370581,28.8125173,38.6917978,15.9768421,7.3786683,11.7349448,8.9397629,37.9756099,5.6492262,0.7272026,0.7440494,11.5669717,8.4483632,68.1367565,20.0074274,29.0861188,64.6121029,29.2869675,38.3504922,15.9804126,7.3939256,11.707926,8.9400684,37.819549,4.9166675,0.7271907,0.7440221,11.4442436,8.484306,67.3990352,19.7898694,29.7314256,64.9221912,29.6812247,38.5667714,16.9051164,7.2665674,11.9047667,8.9061702,36.7393487 +227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.3347417,1.3711363,25.9059024,21.9037203,77.7474466,12.2900502,25.3923361,64.5582691,23.8792767,37.9785695,11.6132639,3.460577,17.9084592,13.2543639,34.2604211,14.3347976,1.3223754,1.3530348,26.7884364,22.9253339,79.0670247,11.9608185,26.1610164,65.3096806,24.2991854,38.3785117,11.6127683,3.8133202,18.8955001,13.4501051,34.4131944,15.7271226,1.3933025,1.4348309,26.7232245,23.1966804,80.1704614,12.5554023,26.6466628,65.2744699,24.231328,38.792824,11.6966529,4.1174906,19.0460544,14.069938,35.0888426,15.4585169,1.324945,1.3741034,26.226059,22.6687825,81.0947406,12.7664884,27.1309563,65.1168059,24.2734374,39.0792867,11.7413277,4.1246501,18.5724996,14.416274,35.1529965,14.6477501,1.4196846,1.4691501,26.3446044,22.6926645,81.6117921,13.015484,26.83136,65.0318967,24.4960453,39.0734522,11.7380232,4.2158225,18.7379353,14.1092325,34.9271025 +228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3726928,1.4356626,29.4012672,25.60638,53.4567023,18.3234209,36.5278918,64.4856332,31.4017473,42.360689,19.1441927,2.5049033,18.4428731,13.8470137,38.5729935,13.3410378,1.3832929,1.4579673,30.4087731,26.5152897,53.6504577,18.4286519,36.8292979,65.0454815,31.5339233,42.8219702,18.9383163,2.4975421,18.3430335,14.2789427,39.1067459,13.5821482,1.4985771,1.5654286,30.9347278,27.1830329,54.7243401,18.6265144,37.0254095,65.0715566,31.215824,42.9310687,18.9806305,2.5353512,17.1961002,13.1017998,38.8302156,14.7754681,1.4756574,1.5508302,32.072126,28.3336771,55.81719,17.6100155,36.9683123,64.0290398,30.2494107,41.6155507,17.7829138,2.4194289,16.9091189,12.9217146,39.2640536,15.2889518,1.5570524,1.5838897,32.2419575,28.3964911,56.8133729,16.7805836,36.4028985,63.6234164,29.8082974,41.31776,17.6702514,2.4482444,16.9497431,13.3232672,40.3675948 +229,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.907888,0.9250562,16.0143468,9.0772853,54.1903403,17.7579021,36.0989126,71.1491612,34.8360606,45.9775932,26.7349249,2.8247932,14.4129671,12.6725678,45.1863291,7.0449242,0.9843142,0.9900644,16.5757612,9.590386,52.9493032,17.3846859,35.7302501,70.8435853,35.1452091,46.9225196,27.0550488,2.8264864,15.2309471,13.5192224,46.0270183,8.2562221,1.2609479,1.2667861,16.6092528,9.2416936,52.2712994,17.3902684,36.5270867,70.5884994,34.7832692,46.8195323,26.7118774,2.7202451,13.5887865,12.1396062,45.6578879,10.2100479,1.3142807,1.3851013,17.1654151,9.5076773,51.6584667,16.8550304,36.9564283,70.8379379,34.0547282,46.3754742,26.6980989,2.9560763,14.2715023,13.3995656,46.5066053,11.5128468,1.4687894,1.5398256,17.5420703,10.04643,52.5732412,16.9758128,37.0460863,71.2609378,35.6046021,47.2978638,27.0391573,3.1535081,13.3810241,12.118315,46.327844 +230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.0919866,1.1157559,19.8763499,15.9895715,66.7486941,16.0331126,33.1452545,64.6799414,30.1173136,40.7703041,16.2535391,3.5159987,14.8606528,10.97999,32.4736947,12.3388751,1.1563062,1.1802371,20.4550528,16.4601112,66.8365777,15.6905318,32.6524198,64.5897141,29.5263835,40.4129545,16.6836338,3.6236761,14.8500911,11.1675534,32.6857456,12.6924878,1.1186512,1.1485757,20.6368627,16.6889038,66.8675308,15.3875346,32.601761,64.8153497,29.8205102,40.5954678,16.9326502,4.0620239,14.8914219,10.7022986,32.65783,13.3441475,1.1520798,1.1668972,20.9703506,16.7384091,66.8448503,15.407752,33.2314412,64.7338521,29.9894024,40.8108139,17.308395,4.0843406,14.5027424,10.3327668,31.9152902,14.8258096,1.1155504,1.1306099,21.4926735,17.2054958,66.9328763,15.4553986,33.3195332,64.6952283,30.0332882,40.9000649,17.2345401,4.1889861,14.0841283,10.1319517,31.3866615 +231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7408927,0.6908278,14.0940568,11.0234948,61.7000258,24.8485548,34.5274443,67.3125303,31.9068744,43.0024789,17.1313067,7.5968649,14.5348676,9.9500998,32.2661389,5.7789685,0.7112714,0.6610779,14.4703797,11.4122674,61.8665394,25.0137748,34.4822659,67.3039433,32.0541378,43.859892,17.3737031,7.6611628,14.4548495,9.740602,32.4541658,5.9640425,0.7815258,0.7310827,14.5507569,11.4536639,62.3554005,24.6062421,35.9300605,67.6783385,31.6223761,43.930074,17.4685277,7.6223638,14.5152276,10.3730775,32.8311358,5.6890934,0.7225292,0.6707354,14.6855906,11.6135315,62.9720829,24.1413372,36.3309196,67.1223108,31.352498,43.9568467,17.4532166,7.5251647,14.6262543,10.4129609,32.8884646,5.7350473,0.684477,0.6537792,14.885242,11.8065383,62.6251967,23.5691687,36.510922,67.7226301,30.671505,43.5766573,17.3868353,6.9926844,15.032878,10.3954277,32.76064 +232,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3834003,1.3774234,20.2349641,16.2206423,49.1375967,10.9103126,34.3309012,64.797128,35.0231562,43.4658468,18.2118263,5.8909187,13.0289177,10.615703,32.9753336,9.6473049,1.2734406,1.2754348,20.1239724,15.9244689,49.0061235,10.3425,34.4722147,65.1161636,34.575278,43.1558173,17.7970803,5.9409438,13.3076937,10.7126003,32.7027856,10.4989605,1.2734184,1.2754198,20.8756858,16.4085073,49.671451,10.106204,35.0850615,65.044081,34.1560087,42.7025965,17.962998,5.6174689,13.7549732,10.7739521,33.4806988,10.7740586,1.229052,1.2391218,20.589334,16.0958553,50.8019512,10.0913538,34.8343062,64.6726826,33.9527993,42.4096936,17.8395895,5.3843114,14.6829954,10.8618595,33.6426033,10.9631148,1.1470373,1.1612828,20.7196499,16.0977269,51.0355322,9.7918606,34.5877254,64.5742095,33.8545295,42.5295648,18.2575803,5.4130616,14.3968268,10.7470096,32.4833677 +233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.742807,1.7372353,28.9535627,24.6909816,57.8451084,14.7661628,33.2647222,65.6297331,33.4597752,41.4805955,19.0656692,2.5688261,13.9939991,9.6434783,34.770379,18.0786605,1.7279344,1.7457139,29.3762119,24.920443,58.6942171,14.9436163,33.6466154,66.0293687,32.8040472,41.4236287,18.8269502,2.6247558,13.9091362,9.6145565,35.0259427,17.394558,1.739884,1.7573665,30.1522878,25.5632121,59.5196777,14.6517302,33.1527931,66.1886455,32.6428591,41.905664,19.0673346,2.6237508,14.2766289,9.8982574,35.3382025,18.8040093,1.8130507,1.827205,31.1942966,26.425475,60.0885707,14.5820133,33.4708516,66.2330677,33.1112409,41.9099022,18.919198,2.6120969,13.8025309,9.8068073,35.1380246,19.1503959,1.9319749,1.958667,31.4826358,26.6769048,61.3167395,14.4836659,33.6977075,65.9275374,32.4484578,41.8384248,18.4780272,2.6754095,13.8819146,9.9916284,35.4272479 +234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2934802,1.3329872,25.4381204,21.8671683,68.822977,13.446533,32.7237459,65.6015591,31.2098008,41.3250291,16.914523,2.2843018,13.5847774,9.1191702,33.6465065,14.6378211,1.2384287,1.2626011,25.9480966,22.1951412,69.4045121,13.0081796,32.6037479,65.5890362,30.9705465,41.3453846,16.7938405,2.2958525,13.4558893,9.2165432,34.1308498,14.3223716,1.2150312,1.2292458,26.2228822,22.4153817,70.079009,12.5778226,33.0983076,65.1289426,30.6137524,41.5726637,16.7405322,2.3301141,13.4760571,9.3320848,34.657099,14.5833215,1.1709445,1.1728191,26.8130259,22.8837051,70.8560238,12.3416854,33.2864775,64.5716297,30.2744266,41.1847524,16.5528794,2.4163342,14.100182,9.8283773,34.7398283,14.7236104,1.1970659,1.2054395,26.847959,22.824373,71.5105316,11.9698977,33.4817937,64.7500736,30.7564473,41.4982891,16.0396168,2.5059861,14.2570503,9.9651291,34.586366 +235,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6492372,0.622861,13.2131716,10.3857468,63.314554,14.0607835,29.6320717,65.1581253,31.2031257,40.2240008,16.4757773,13.3640787,13.0849768,9.997947,36.3947036,5.4771502,0.6415158,0.627522,13.1148397,10.3979437,63.7664143,13.8488507,29.9004199,65.2525222,30.6930192,39.8892395,16.3652088,13.3878673,12.9728089,9.9385898,36.3439404,5.9735966,0.7020174,0.6849574,13.3549339,10.5882995,63.7712144,13.8764536,30.2781272,65.3484345,30.5572773,40.1416445,16.6408221,13.3116217,13.1683321,9.8119139,36.585117,6.0676451,0.6925571,0.6800907,13.3447537,10.6249378,63.8771478,13.8616438,30.8011392,65.6499427,30.4966391,40.5449388,16.8889141,13.0879896,13.3795248,9.8058059,36.2648079,6.5798321,0.7284853,0.7243885,13.4916481,10.8820462,64.2118207,13.835989,31.0806555,66.5273127,30.307999,40.3207027,16.6437399,13.1509325,13.4668879,9.8499469,36.2348721 +236,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1845248,1.2166222,18.9722608,15.5346126,74.0599284,17.2721884,36.0934362,65.3716845,32.5507366,43.6471736,18.5480992,5.8424379,12.7345829,9.6880393,32.4559322,9.6369922,1.1609728,1.1951456,18.9513186,15.6227575,75.5038466,17.3780843,35.0980194,65.6280236,32.8956914,43.7137002,18.5321915,5.9232789,12.7918382,9.550153,32.6215792,10.077187,1.1737778,1.209753,19.1592597,15.6572207,75.6197831,17.6163598,34.9586134,65.7840272,33.0472376,43.3223768,18.4989074,5.8619408,12.7306242,9.6063981,32.7773726,10.6536503,1.1782501,1.2049016,19.2818742,15.8680726,76.0631001,17.9010817,35.0500878,65.6300235,33.1210622,43.5328317,18.8759763,6.1147484,12.7129202,9.8671008,33.2871927,9.9397582,1.1568291,1.1913079,19.0671626,15.6962397,76.2576825,17.8991885,34.9290359,65.3946705,32.8373988,43.7064259,19.3538362,6.0196673,12.5564391,9.6332547,32.7568813 +237,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0108014,2.0108014,22.8452319,18.7337497,51.9008562,15.8369478,41.2347772,66.0479564,36.8517072,47.5041268,22.5561103,3.4053306,12.9699514,10.9539144,36.3192678,14.3248554,1.8877277,1.8877277,22.2114776,18.1365851,51.4286017,15.3050627,41.3273314,65.5435954,37.4497201,47.5160615,21.3950198,3.2313677,14.1401932,11.855933,36.7013338,15.1757371,1.9077988,1.9077988,21.6284643,17.1324657,50.2840969,15.456103,41.3717345,65.5178017,37.683423,47.9809522,22.1647271,3.5143346,12.5674685,11.4961738,37.6687485,17.9844089,2.0582575,2.0582575,21.0108464,16.6205229,49.4942687,15.2693387,43.0044038,66.1124365,38.4813377,49.0096409,23.5694271,3.7103218,12.2934748,10.9349221,36.8442148,17.3432896,1.8767105,1.8935674,21.03157,16.4053388,49.0458838,15.9038865,43.3686652,66.9210019,39.165848,49.2402443,25.2531414,3.8767298,12.3408351,11.3535695,35.4800865 +238,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9192324,0.8771093,19.0327954,14.5755637,83.7054185,13.4029482,30.5445032,64.3284478,31.9422547,38.6463838,18.1960402,3.4135811,14.4748352,12.8565107,37.7822602,10.4838684,0.8352564,0.8352564,19.5389779,14.7322151,83.4153111,13.4029051,32.547189,63.8731627,31.9421936,40.193892,18.2870488,3.2316881,14.2174678,12.5874375,38.7170597,10.7768822,0.8551711,0.8551711,19.9320589,14.8935738,82.1603297,13.1834181,32.7915024,64.06324,32.2618788,41.239782,17.642567,3.5398687,14.3473886,12.3144169,38.0839539,10.5086028,0.8036745,0.8125609,21.38577,16.1384614,82.2649168,14.2354489,32.8682185,63.2583106,32.8000779,42.8086042,17.8290504,3.9892589,14.1958378,12.2098112,38.4384611,10.5455926,0.8483088,0.8567693,21.1236868,15.9788057,82.5449403,13.3884017,32.7848861,63.7299434,32.7751601,42.7482382,17.1759582,3.6227504,13.9750879,12.2390348,38.5867166 +239,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.5107251,1.5602894,27.0349237,23.1401997,81.545835,12.7180607,27.1214253,64.94716,24.5536251,38.7608446,11.89717,4.2849307,18.9429847,14.1302547,34.6507765,15.828026,1.5678696,1.6411648,26.8266824,23.1315074,82.1943996,12.7879138,27.0003846,64.6898839,24.8777343,38.8077505,11.869326,4.353311,19.5404345,14.7551743,34.4338948,18.0411715,1.4967385,1.5120842,26.7983493,23.3896735,82.614271,12.2588958,27.2844823,64.3089192,24.1548731,38.6582235,11.4108512,4.4134705,18.9806666,14.2679767,34.2169711,17.2445313,1.5951382,1.6046695,26.3704152,23.1114899,83.3021666,12.0567923,26.8065276,64.4187748,24.4538998,38.6007783,11.6134692,4.4855715,18.8188889,13.9871714,34.2908483,16.2907732,1.4991761,1.4961971,27.1796883,23.6215964,83.4827883,11.0591812,27.0470675,64.6165717,24.735643,38.2407694,11.0369865,4.1557735,18.9879674,13.8255239,33.7399165 +240,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9182449,1.9584539,34.522668,29.7753015,70.9810969,13.4598969,32.5380239,64.4403961,28.8062138,38.7962267,15.9925019,3.2942425,14.1289604,9.9639988,36.1605933,20.709239,1.9344769,1.9685852,34.0358699,29.3631244,70.7417955,13.7972532,32.9062034,64.7991091,29.4891196,39.7236303,16.5578509,3.4254457,15.278151,10.9649665,36.6676372,20.6443051,1.8820086,1.890402,33.7384908,29.0690986,70.5193173,13.9165739,33.0117349,64.438005,29.5889426,39.8741083,16.9380093,3.2634092,15.6280465,11.3248038,36.9299784,20.2262853,1.7138513,1.7130757,33.1188494,28.4956988,70.8233543,14.0977798,33.2471973,64.819151,29.6299422,39.7315165,17.24458,3.5422734,15.3630566,11.314173,36.7796225,20.0805233,1.5474879,1.5479691,32.5150811,28.0166175,71.1656017,14.2090667,34.1145931,64.6589727,29.2926259,39.625263,17.397608,3.5534408,15.132998,11.7988958,37.1306505 +241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.4964302,1.4934622,27.2975084,23.8239859,84.3699389,10.6124834,27.3917861,64.4395526,24.7493865,38.157032,10.8547858,3.8880674,18.6036536,13.4491738,33.4052994,15.9388823,1.3876295,1.3923355,27.597914,24.2913094,84.7518236,10.6798174,27.5446691,64.1005482,24.692726,38.3602416,10.9055588,3.9062716,18.9630978,14.0284805,34.0310605,15.860841,1.3438579,1.3714241,27.5659922,24.5439412,85.7342769,10.3967485,27.5453385,64.1175117,24.5833736,38.2014973,10.7208967,3.9973822,19.1153674,14.6976373,33.5213497,16.3711788,1.3682393,1.3844005,27.6429094,24.5670503,85.7914411,10.3491557,28.3129682,64.6494175,25.0970811,38.4856002,11.0221713,4.1317474,18.3310193,14.1962334,33.2560526,14.863213,1.5208445,1.5877325,27.8442926,24.5484563,86.269252,10.5318603,28.9673804,65.1037586,25.6289112,38.9683668,11.5731628,4.1129584,19.6057471,14.9566255,33.9743535 +242,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.981731,2.1065494,25.7584138,20.4755782,40.2087065,15.1966935,39.3300425,67.5125577,39.0066778,49.5665399,28.1660569,3.8545858,11.1974149,10.5536005,30.8129665,25.4344598,1.9685778,2.0934838,25.7502479,20.1190397,40.1065559,14.6277215,39.4120617,67.1501705,39.0476282,49.4296184,28.2001509,4.1788732,11.9579231,11.1257636,32.060378,25.5217142,1.8412002,1.916784,25.2196718,19.9297621,40.2065861,14.3088843,38.6784448,67.4897945,39.0666152,49.0851457,27.9438331,4.2678809,11.0666583,10.4393983,32.3236628,26.4476014,1.9207522,2.0050711,25.1543864,19.9989343,39.1919078,14.7058247,39.1569507,67.3898082,39.4168441,49.0636769,28.3931925,4.3264883,11.3233283,10.4057204,32.2048457,23.6710566,1.9058168,1.945328,26.0717163,20.6166436,38.7578842,14.4943154,39.3192129,67.2023977,40.0636984,49.4523914,28.740843,4.2079089,10.8295441,10.4791857,32.7114196 +243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6712171,1.7027192,33.2057041,29.1294581,57.5246859,16.8223858,36.8904599,63.9275409,29.6187509,41.3783334,17.8084578,2.6258221,17.2406549,13.5739643,39.8322446,16.5198627,1.7093822,1.7367543,33.999598,29.9628303,57.2789225,17.1304328,37.4405548,64.305503,30.0621937,41.7826871,17.8890417,2.632273,17.5274458,13.6850952,40.1998351,15.1540639,1.8376375,1.8811423,34.668044,30.5936521,57.5096435,16.9961036,37.4435895,63.9018651,29.8273453,41.2498315,17.5348986,2.7302531,17.3551934,14.0418744,40.8108672,16.159059,1.8893778,1.9404533,34.8480837,30.7673906,58.7555038,16.5784548,37.1168828,63.8665169,29.2655946,40.6910346,17.6688762,2.6791908,17.6361191,13.6360362,40.696695,15.9497756,1.9164404,2.0084232,35.5064083,31.1124092,59.7067332,15.7466517,37.1508889,63.3093388,29.4523266,39.9369014,17.6317423,2.7208325,17.8016468,14.0107775,40.6630104 +244,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.9971413,1.0155953,22.9365896,19.8294961,84.3417022,13.0151876,29.1208356,64.4996952,26.9673735,39.8721128,12.9614673,4.3312944,15.370885,12.6509624,30.1115543,8.8447501,1.102254,1.1207981,22.8229811,19.7381271,84.5219089,13.1862949,29.4611703,64.9707547,27.4260004,40.1905638,13.0658047,3.9808016,16.0929881,13.2023133,29.7222325,9.6436927,1.0921859,1.1207517,22.5416753,19.3545939,84.5719713,13.2384862,29.5568561,65.3162057,26.7589093,40.004863,13.1732264,4.1646411,16.3051086,12.9695618,30.6802985,8.9728587,1.0033533,1.0063855,22.2623269,19.2363702,84.5516258,13.2255185,29.4151056,65.3354381,26.7741938,39.9789474,13.3425235,3.9776162,16.2342445,13.2543846,31.1991232,9.0636863,1.1224915,1.1242509,22.1966345,19.1861033,84.5882697,13.0778402,29.0361681,65.1356676,27.0342841,40.1759884,13.4404552,3.9150718,16.3592208,12.8750945,32.1818128 +245,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9086905,0.9086905,12.1480144,9.2599278,70.4570185,25.1961484,30.8897695,65.7240634,28.6563401,39.6433718,14.5713256,5.1332853,13.1785714,9.1851322,33.225342,5.7397959,0.8954225,0.8954225,11.8449782,9.2612809,70.6625183,24.2723679,31.1115147,67.0359608,29.4769343,39.5386851,14.366146,4.4860153,13.2689557,9.341446,33.9221341,5.4707379,0.8946236,0.8946236,12.0683453,9.2266187,71.3275299,23.4341637,31.741168,66.4563807,29.7224225,39.9603461,14.6899784,4.5241528,13.1373938,9.6739901,34.2255532,5.375,0.9388463,0.9388463,12.3255814,9.4275492,70.9437387,23.3297797,32.2226225,66.5525937,29.9891931,40.0756484,14.7154179,4.3768012,13.3782825,9.8366477,34.7748392,6.3432836,0.8727706,0.8727706,11.780772,8.8310269,72.0404412,23.4752797,32.1324067,67.2457937,30.8522312,40.5815655,15.4169715,4.3708851,13.5574837,10.2387844,33.2969432 +246,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9223142,1.9902794,33.5153248,28.9907092,70.399134,8.2145618,30.9529565,65.0713253,31.8634289,36.610017,15.553867,3.8755689,15.8097209,10.7505199,38.4297486,19.8199694,1.9986123,2.0740122,33.9031284,29.2869145,70.9348823,8.2982251,30.9482115,64.8811014,31.5336787,36.5191974,15.2492747,3.7753497,15.9769399,10.615441,38.0984427,20.1032598,1.9526056,2.0052727,33.9412575,29.416155,71.0971849,8.2438639,30.9503806,64.7537089,31.7243645,36.6622688,15.326693,3.7529244,15.8944791,10.6185567,37.9970611,19.2793059,1.9092668,1.9514156,33.8555467,29.4533341,71.4492188,8.1107584,30.9908127,64.7291752,31.7222804,36.6612262,15.2913784,3.7812828,15.9943713,10.7112283,37.8883116,19.1429477,1.8958587,1.9481009,33.7443229,29.2426572,71.4688891,7.9524329,30.757762,64.5982964,31.445524,36.4120506,15.1278128,3.8131455,15.7872151,10.6342589,38.0802454 +247,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6552858,1.6721996,21.1520147,15.9266403,48.4225043,17.0140191,43.4662259,67.8473886,40.1816239,49.3076862,26.6782893,3.7590299,12.0248102,12.0248384,35.0974134,14.1272384,1.4710131,1.5014169,20.933931,15.9411727,47.9709018,16.9066245,42.3067723,67.2878991,40.7683503,49.6326487,26.629488,3.6262833,11.1659547,12.1616747,34.7842732,12.8675284,1.4801522,1.510352,21.3324214,15.7613219,47.747698,17.6946586,42.2622984,66.1952328,40.310047,50.0712675,26.5721273,3.5067814,10.8352176,11.1185345,34.3025545,10.3570936,1.5636339,1.6056229,21.3421202,15.5360175,48.1307164,18.5226614,41.8945992,66.9085442,40.2872719,51.3287474,27.7084426,3.8784762,10.2680243,10.4022875,34.6607986,9.3102951,1.4921476,1.5316842,21.2103914,15.6081481,48.9028814,18.3501461,42.5867461,65.9077169,39.8913899,49.9688888,27.3028961,3.4586254,10.8356451,10.5688349,33.6500955 +248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.9542107,1.974641,31.9741341,27.2494006,61.4882216,14.2340955,33.8814575,65.9928744,32.3523133,41.7364914,18.5693325,2.6497676,14.5366071,10.1820524,35.8793269,20.6000129,1.8941171,1.9417726,32.5603076,27.6953323,61.7533673,14.044704,33.7360928,66.5160777,32.24415,41.3006896,18.1655776,2.4479917,14.6755502,10.2966508,36.6739188,20.8945472,1.9752907,2.0573956,32.6301782,27.6703097,62.4705234,13.680608,33.6801188,66.6771781,31.9356709,40.3005441,17.5809163,2.4905402,14.6021534,10.1808109,35.7796266,20.4171906,2.2071254,2.2628792,32.7904156,28.0168049,63.4075759,13.9273089,33.2669225,66.2088527,31.6103879,40.2075922,17.3097073,2.4428582,14.7761185,10.0555145,35.6126085,21.2622515,2.2559443,2.3198408,33.4467216,28.6435918,64.0073106,13.9107807,33.4071058,65.8338689,31.0668253,39.1840585,16.8564202,2.4351655,14.8444273,9.5887548,35.2208265 +249,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9353325,2.0607129,35.3262953,30.9079252,59.8686,16.3073116,37.422447,63.8941619,30.3812551,41.0625118,17.9231223,2.9607417,18.1531038,14.3731991,40.3456483,15.3413007,1.8970741,2.0454505,36.639377,31.903411,60.4455912,16.6409485,36.9732701,63.8314773,30.0788263,40.694043,17.787539,2.8867958,18.6762984,14.6070584,39.9874651,14.9187518,1.9888899,2.1500212,36.4278933,31.6956451,61.863533,15.928471,36.1923227,63.2203939,29.4364465,40.4296853,17.5529248,2.8152079,18.6915413,14.6256111,40.5406919,15.7160614,2.1302407,2.2862538,36.9239913,32.2986205,63.390021,15.5309474,36.0223907,62.856506,29.1272518,40.1037317,17.5256706,2.8852984,18.2903212,14.3540927,40.5175715,17.6607715,2.1166995,2.305125,37.0133811,32.1701305,63.6791724,15.2691697,36.3998738,62.3165241,29.1167706,40.7175879,18.0569765,2.8400148,18.5813492,14.0721509,39.9892721 +250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1598138,2.3345416,36.7423691,31.9453023,63.8013117,15.3375595,36.4766153,62.3715554,29.2396878,40.5258723,18.1085688,2.8576362,18.9314188,14.2786238,39.6615422,15.9455704,2.1483073,2.2954068,36.585529,31.9063613,63.6608841,15.7025543,36.1188822,62.5800834,29.0340933,40.299548,18.0109841,2.7537605,19.7136544,14.7187502,39.6464464,16.9857287,2.2580295,2.364098,37.231383,32.5519842,63.5262587,15.8725912,35.9787925,62.5944308,28.7035547,40.5670001,18.3473229,2.7446251,19.9796945,14.4500868,39.7902694,18.4377826,2.3536911,2.456469,37.0214957,32.6474948,63.050931,15.9672013,36.6753405,62.7354609,28.6516597,40.8455182,18.2263262,2.6789328,19.2013044,13.8540572,39.3409101,17.8800667,2.3148027,2.4101078,37.3097221,32.9650106,62.7577303,16.9139302,36.4316907,63.2890775,29.2621411,41.0093774,17.9252922,2.6048965,18.5522385,13.6281626,39.5226961 +251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.3148129,1.3341461,24.6961437,19.806968,54.0084125,14.5028357,38.3537289,66.6978161,35.5391258,46.9164211,23.8843595,3.3893981,15.9217748,14.1321586,39.0624909,16.9254611,1.4086075,1.4391589,24.4118385,19.8673968,54.0035888,14.3136079,38.7351045,67.2598537,36.2476954,46.9996564,23.1688424,3.3098335,16.3585232,13.7640444,38.7499954,15.0793747,1.4902229,1.4837845,24.319197,19.8603419,53.6940664,14.0656666,39.0689007,66.5033626,36.207625,47.1898505,22.4062307,3.5976228,15.6921803,13.3591094,39.5761156,14.4950956,1.4838983,1.4774059,24.0299693,19.6983921,52.1276399,14.5768543,39.0861096,66.5164225,37.4725505,47.2387861,23.4177056,3.8003404,15.1082235,13.030309,40.5841278,13.942289,1.4134144,1.3873738,24.2136623,20.0781149,52.2164082,14.2582995,40.2419015,66.8709624,37.5576733,47.8684688,24.1366264,4.1115447,15.7917357,12.9518101,40.0432849 +252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2.0160094,2.1113632,33.2818002,27.8339326,69.9485847,7.6397772,35.1891428,61.9474203,32.6819947,38.0087822,17.9837618,3.1416082,15.3880602,11.1740204,41.1880065,16.7763613,2.0227408,2.1181797,33.0476259,27.619739,69.7091144,7.4960364,35.2394269,62.3282835,32.9647225,38.1379837,18.1821013,3.1726498,15.3456916,11.3793417,41.1253215,16.6899744,2.0263783,2.1175814,33.1491442,27.8628521,69.8599818,7.3616621,35.1055614,62.326403,33.0575105,38.111069,18.2011351,3.1608603,15.3396458,11.4158933,40.8133166,16.6140966,1.9197085,1.9985997,32.8116204,27.5986258,69.8150483,7.6177328,34.3029735,62.189784,33.3217353,38.5002277,18.2482933,3.1052116,15.4048231,11.3443607,40.7740382,16.7838814,1.8857582,1.932122,32.2590009,26.9353211,69.6071824,7.6113485,34.031214,62.6536227,33.6119695,38.8651162,18.4178239,3.2808393,15.0057537,10.9390946,39.9340994 +253,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6938227,1.6852986,32.0691777,27.4316816,71.9912522,13.6721556,34.7181573,64.4253222,29.1159379,39.5321712,17.5176363,3.7947759,15.6589447,12.0614849,37.1928446,18.6589328,1.6848389,1.6996626,31.6629099,27.1674278,71.7914247,13.4519731,35.3742791,64.8515944,29.2078734,38.8135472,17.5699835,3.7432822,16.364741,12.2697075,37.2974924,18.1180058,1.7083411,1.7083216,30.7958895,26.2643882,71.2949343,13.6745204,35.4592814,64.8732724,29.5975368,38.6088888,17.9440696,3.8582904,16.0907614,12.4137793,36.8903499,18.0809939,1.7686812,1.765157,30.1549635,25.4004262,71.3734673,13.5454411,35.3866094,64.877076,29.1124475,38.1810259,17.8822958,3.6643401,15.2153813,11.5719821,36.5845915,18.2767413,1.6537718,1.682177,29.0262983,24.5727201,71.4325268,13.5520718,35.3689188,64.6134508,28.8622037,38.4978623,18.124471,3.848908,15.1140867,11.5413205,36.8539135 +254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.1868268,1.1787521,21.0420098,17.3574939,45.8574026,13.8296374,38.7332823,65.5202706,34.6789173,45.9397544,20.8050295,3.2868517,15.1406085,11.0762444,30.3345991,15.6559642,1.102793,1.0929466,21.4972945,17.8542633,45.8313504,13.7108581,38.6193414,65.3670787,34.7381165,45.6102238,20.686242,3.1973334,15.0105619,11.0239071,30.1226397,16.16587,1.126206,1.1262955,22.3639226,18.6224227,45.4691198,13.7019784,38.5806891,65.8755877,34.6350029,45.4740337,20.7438865,3.2435872,14.8488506,11.2700734,31.1462352,15.0709432,1.1996845,1.2164751,22.732422,19.0679143,46.1213279,13.6923619,39.2815236,66.2675223,35.0291781,45.4497329,20.8820149,3.3352815,15.0901559,11.5780905,32.3010236,14.0951575,1.2135116,1.2371541,23.324354,19.5969467,46.0096453,13.4715819,38.9695017,66.3039811,35.1007433,45.8203674,20.9729421,3.3793885,14.9221281,11.7586442,32.4694906 +255,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9470936,0.9512008,20.6125016,16.0230803,50.9674313,9.5034726,34.4521472,65.1233104,33.7630479,42.5985054,18.1617366,5.2667791,14.1736721,10.0921553,31.797281,11.3778706,0.9307689,0.9348934,20.9552276,16.190713,51.1346928,9.4557537,34.1571239,65.2817959,33.4365152,42.5738049,18.2344581,5.1430609,13.8484678,9.7621971,31.854189,10.6625259,1.0445461,1.043729,20.4697653,15.8746025,50.8426643,10.0359647,34.0161449,65.3505212,33.964056,43.1321279,18.3493095,5.2181348,13.8592215,9.9625772,31.3603369,11.4502991,1.0873323,1.0824205,20.621954,16.250195,51.0768476,10.0727578,33.4797205,65.3807182,34.6738452,43.557001,18.8153681,5.1579915,13.5528659,9.669879,32.3796176,10.6229992,1.0785236,1.0736311,20.3920073,16.0304918,50.9879363,10.0229942,33.9097808,65.8263705,34.9393558,44.6725451,19.2173077,5.4209512,13.4272528,9.9090276,32.2809953 +256,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2.2110588,2.2840095,33.6092457,28.8882188,64.3484659,13.9369565,33.322833,65.7127988,30.6603739,39.3396144,16.7610076,2.4213817,14.9141644,9.6476204,35.145096,20.1055075,2.2120151,2.2771488,34.1624435,29.4111772,64.7203108,13.8513443,33.2603593,65.7807045,30.9464209,39.2641222,16.8334409,2.1784434,15.6129989,9.5981282,34.8641974,19.6067127,2.1325772,2.1914046,34.769208,30.0935222,65.4741824,13.8571038,33.3913441,66.0352239,30.7495394,39.4531979,16.7622346,2.3039102,15.3188916,9.6619456,34.6154116,19.7661204,2.2833227,2.3234905,34.9673311,30.2337216,65.7289192,13.9327774,33.5070351,65.9615714,31.0954487,39.2295043,16.3601037,2.4218255,15.3325196,10.3370482,33.9056884,20.6270336,2.2800025,2.2900213,34.968175,30.1930092,66.0160334,14.4139522,33.4669874,65.7310329,31.1844596,39.3892577,16.2348317,2.3750755,15.5953911,10.4123819,33.5892307 +257,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2459932,1.2535104,21.0499545,16.6938971,51.0382126,10.0600904,33.6530456,65.5626627,34.73636,44.5520798,19.1056794,5.2868589,13.0529955,9.5462676,31.2185173,10.4870356,1.3500101,1.3575842,21.1613803,16.7388214,51.2579768,10.3895909,34.0112028,66.0980099,35.6240233,44.6624022,19.3481522,5.3661408,12.7842846,8.9925013,31.4239636,11.0753096,1.3893726,1.4011458,21.2997041,16.9085863,51.5605133,10.4501304,34.2186087,65.5079876,35.7201921,44.3053291,19.366057,5.2742172,12.77862,9.368476,31.146218,11.4401442,1.32327,1.3351998,21.1037109,16.8746683,51.4929438,10.3595008,34.9617057,65.9453928,36.0383752,44.7960425,19.6781703,5.3560775,13.1448536,9.7679117,30.9970923,12.1402856,1.191741,1.2090265,21.0867386,16.9266958,51.2864021,10.5919356,35.6389967,65.8964576,36.3686608,45.428754,20.59593,5.5502793,13.3783891,9.8841408,31.2632313 +258,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.1052387,1.1132554,21.2346571,16.6825728,82.9307785,13.3426565,31.7635772,63.2425425,32.8034444,41.6799851,17.2288548,3.7524067,13.8585196,11.2886593,38.5899576,10.3051383,1.0698876,1.0778612,22.2720836,17.5598662,83.3419214,12.5645957,31.1802585,62.8890873,32.856049,41.2002843,17.6114667,3.5704213,13.5468884,10.3320821,38.3641049,9.8200945,1.2605855,1.244239,22.4979815,17.6431915,83.0386173,12.418433,31.7124352,62.6147974,32.7148074,40.8838309,18.7107638,3.5398936,14.5473554,10.1422662,39.0061184,12.9001955,1.4259468,1.3867591,22.3360895,17.5520657,82.3843207,12.1132357,30.13783,63.2511768,32.4586151,41.1845514,19.0688275,3.7987794,13.8875333,9.7921983,37.0899134,13.8773566,1.5320001,1.4955279,21.7716763,17.0984979,82.8340292,11.9720955,30.1615729,62.0801947,31.7216375,40.2567779,19.465343,3.5296705,12.9706278,9.8175326,36.9910612 +259,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9247906,1.9557772,33.7488583,29.3599542,71.6131641,7.8184433,30.5468723,64.6894713,31.3806599,36.4140747,14.9868155,3.8593581,15.9681948,10.8242956,37.9423807,17.8466044,1.8480665,1.8794532,33.8295793,29.4892287,72.0528268,7.7577834,30.5297787,64.8669384,31.8142676,36.491302,14.9437631,3.7336358,15.9651899,10.6785909,37.9149554,17.8079915,1.8216999,1.8426981,33.4499406,29.2334846,72.540779,7.657766,30.3708543,64.8309748,31.5719396,36.2153266,15.0167137,3.4825401,15.981761,10.724981,38.5249002,17.1906005,1.7569607,1.7799663,33.1019943,29.032155,72.593569,7.4595886,30.3928992,64.8245727,31.8113339,36.2612166,15.1729079,3.5053022,16.1186267,10.9418445,38.8308038,16.9151734,1.7222232,1.7512767,33.1062051,28.9091486,72.7901664,7.4367877,30.1019133,64.8025885,31.7042695,35.9152669,15.10383,3.4322511,16.1446855,10.9277953,39.0325123 +260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.1704842,1.1831916,21.5356962,17.1401799,66.5989247,15.43208,33.1834511,64.6447667,29.8894291,40.7457841,17.1018687,4.164123,13.9900942,10.4130924,31.3980515,15.7038432,1.1628038,1.1653063,21.8364106,17.5361568,66.7849728,15.1744179,33.5207501,64.668899,29.7844392,40.6924328,17.1272765,4.3825877,14.2269012,10.3065823,31.7179741,16.4782052,1.1904659,1.1967786,21.656557,17.6136925,67.3205968,14.8511991,33.730192,64.6078282,29.9615045,40.6483502,17.0377572,4.3848733,13.5380466,10.3831441,31.6949318,15.8672632,1.212004,1.2032374,21.9157082,17.8583634,67.978851,14.9413391,33.5097743,65.0987726,30.0769298,40.632385,16.7802067,4.2181029,13.4027554,9.9254855,31.1500883,16.2980647,1.2418814,1.2230751,22.1373591,18.0830896,68.0009622,15.271545,33.2063144,65.2043173,30.1394352,40.4633689,16.9532856,3.9448882,13.8379963,10.1942884,31.2538734 +261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2.185264,2.1908146,35.2546275,30.5834189,66.0046697,14.1828801,33.6608044,66.0910055,31.1582245,38.6039188,15.9152,2.3474652,15.5754852,10.6174518,33.9143325,22.366912,2.2277768,2.24904,35.2164518,30.2919053,66.3050392,14.3273072,33.3230917,65.6121996,31.6031951,38.7489712,15.6326818,2.4058156,15.5072562,10.8695783,34.1448212,22.2405862,2.2129778,2.2356787,35.265661,30.1303624,66.5867515,14.4038997,32.9510847,65.0192756,31.7332997,38.5122732,15.7803895,2.3848191,16.2300616,10.954151,34.0946553,22.1677548,2.1193278,2.0995977,34.7900096,29.6100051,66.173092,14.505734,32.4017278,65.2436458,31.8079401,38.3394609,15.796466,2.4262931,15.1321261,10.5534955,34.5307264,22.3788149,2.2395295,2.245994,33.6782881,28.534839,65.6913295,14.4611846,32.3880289,64.6609364,31.8647893,38.2482063,16.0422659,2.4173325,15.1673728,10.6067003,34.6607624 +262,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49649,1.501983,23.0969152,18.5173037,62.1671906,10.1695907,32.6144394,65.9460699,34.2951993,41.1190694,18.2966901,4.1283721,12.9924815,10.6056478,35.9213079,11.3643352,1.4750826,1.4908262,22.9023529,18.3952376,62.445246,10.3925471,32.4050088,66.3202795,35.5977255,41.3929204,18.3713322,4.0713638,12.8586699,9.9841561,35.7047715,11.1733805,1.339568,1.3830409,22.3662592,17.6034188,62.6514993,10.8117752,31.8885788,66.4470201,35.665256,40.8658694,18.4423851,4.1195102,12.9926241,10.2842326,36.2373608,11.5823323,1.33951,1.3733474,21.6196681,17.0701338,62.9463301,11.0705239,30.9438678,66.7768447,36.0569635,40.640494,18.7055519,4.1481857,13.1937737,10.4115909,34.9678517,11.5585815,1.4188595,1.4581389,21.1231469,16.6723683,62.8139513,11.5434302,30.3142377,66.6508329,36.4747841,41.3649854,19.0429268,4.2057313,13.4801409,10.8422361,33.7857054 +263,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3929056,1.3609375,16.782752,12.2894319,82.2299337,12.5045836,31.5044557,64.6785586,36.3939701,39.543824,20.9248061,5.6370682,12.2215202,9.566848,41.2601332,13.0565458,1.2849228,1.2525682,17.2410461,12.4721024,82.3820968,12.6676015,32.0462363,65.950005,37.4183163,40.3324064,21.4617476,5.5983227,12.246766,9.4491436,41.3107585,12.3179492,1.3104232,1.2786275,17.7241549,13.0771636,81.5763014,12.1544276,32.1938843,65.1109273,36.8206322,40.3651377,21.6899698,5.0000752,12.7208246,9.7214474,40.9101723,11.1825228,1.2989471,1.2989471,18.3616502,13.7921956,81.1129976,12.104847,32.206955,65.9414348,37.1635005,41.6400865,22.7894938,4.4532966,12.8209726,9.3783338,40.4242507,10.9111188,1.4070107,1.4707455,18.1318564,13.3552202,80.6284692,12.8567106,32.5421967,65.9435861,37.0202403,41.8059531,22.7644376,4.4105489,12.0382434,9.8684147,38.5960993 +264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.6252829,1.690588,28.3762659,24.7600689,86.5540966,10.633457,28.6597744,64.4497446,25.1513746,38.8314114,10.8657284,3.7985835,19.9948302,15.4177018,34.1233826,16.372289,1.6526137,1.7187013,27.8373784,24.3285797,87.3087962,10.6306908,27.513404,63.9318435,25.2236832,38.8357798,10.982713,3.9125353,20.4013066,15.6917393,34.2629791,17.3527404,1.5982952,1.6645618,27.9943878,24.5273713,86.8892775,10.9043424,27.1529008,63.8087411,25.5831141,39.1026694,11.3041776,4.038115,20.3504588,15.5311639,34.1768937,17.7124179,1.5632814,1.6225523,27.4385102,24.0318586,86.8761425,10.7438206,27.5559591,64.0868403,25.797775,38.9424601,11.19816,3.9365507,20.1077089,15.0821084,34.1625161,16.3949517,1.7255452,1.7616556,27.0613041,23.5647089,86.7769948,11.0481634,28.1688763,64.4624991,25.8677136,38.8441374,12.0095689,3.8135877,19.9547355,14.6642493,34.5477374 +265,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2050855,1.218053,21.003259,16.7395753,52.0605206,11.0054992,36.2392417,65.7685443,35.9905858,45.3129219,20.8060624,5.4557014,13.6720898,9.9986084,30.3349849,13.9021529,1.2003206,1.2134791,20.7942304,16.5328034,51.7881022,11.5452545,35.9499498,65.9450429,36.4610238,44.8938385,20.9245905,5.5595981,13.6349419,9.6876988,30.6482544,13.2211831,1.073408,1.073408,20.5426688,16.237845,51.352242,11.7568108,36.4132276,66.2019184,37.1455134,45.2752734,20.9414641,5.5829715,13.5433979,10.0042345,32.1553108,13.2238701,1.0362493,1.0362493,20.5575402,16.3769076,51.1050542,11.8433641,36.5864466,65.5409203,36.7553717,45.2407999,20.9878265,5.6140124,13.9685987,10.6530283,32.9657256,13.3895029,1.0264632,1.0317446,21.1345055,16.9490897,51.766381,11.9969131,37.1638034,66.7182856,37.3905699,45.6084565,21.5489834,5.9357758,13.9804313,10.8483335,33.6451827 +266,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2066587,1.2734633,21.4405882,16.207377,60.9336466,16.2967545,37.3267238,68.5060477,33.9698131,44.2089584,21.8420547,2.7907493,14.135717,12.1121936,39.840306,14.1719204,1.0356174,1.1044465,20.7852758,16.217217,60.9126344,16.7581947,36.6247244,68.042323,33.5996317,43.5392265,21.542574,2.9170926,13.4699759,12.2281439,39.2550517,13.9259455,1.0654847,1.1373113,20.6216703,15.8412583,60.2969932,16.2105159,36.3000267,68.9276088,33.6862608,44.096409,21.924197,2.5912699,13.9398022,12.5572885,39.0888993,14.36337,1.1471006,1.1643572,20.2250877,15.6836065,60.6284577,16.8606592,36.2211763,68.5848237,33.7079279,44.0255746,22.0237835,2.6234658,14.0326584,11.9330619,38.3245181,15.5106489,1.1609655,1.1374604,19.8437536,15.1563406,60.7647994,17.1497112,36.6434994,69.3285733,33.7727572,44.0045551,22.8471945,2.893464,14.1014249,11.1272044,36.6924306 +267,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0579516,1.0955238,18.8847719,15.3850811,76.6523437,18.0034648,34.962974,65.0495766,32.7915154,43.8621858,19.7125658,6.2194026,12.7624485,10.0379694,33.2272928,9.7171542,0.9501802,0.9876097,18.936966,15.405827,76.3843417,18.3830798,35.3570121,65.3807658,33.3812713,44.4604279,20.2638542,6.4086529,12.913473,10.2723928,32.5441549,9.2456319,0.9702314,0.9869499,19.1825288,15.433302,76.9992397,18.2788422,35.6990979,64.7886423,33.0102585,44.3784374,20.1288204,6.659581,13.3341768,10.5621001,33.0622231,8.8369896,0.9884808,1.0169626,19.3125201,15.3716984,77.045947,18.0012466,36.59937,64.8012622,33.0536286,44.0820175,20.372244,6.5678248,12.904469,10.4425293,32.9814968,8.3641336,0.9487903,0.9808002,18.646868,14.6988558,77.5904733,17.8110039,36.647081,64.597991,33.1532542,44.397028,20.3594964,6.6763903,12.863555,10.3252078,32.8674095 +268,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1767306,1.1745292,19.9478202,15.5939081,60.5997237,17.6706806,36.3435018,68.6706284,33.7141826,44.0360933,23.0524539,2.7019906,15.1223052,11.6482131,38.3231913,13.6732144,1.1898582,1.1783067,19.2648639,14.7755517,60.4311066,17.3267,36.4953485,68.7942712,33.9517092,44.1759551,23.6265648,2.9246646,14.5658796,12.0235731,39.6901461,13.9998204,1.2037081,1.2177313,18.9181146,14.8304591,60.4038496,17.4846457,36.1324549,68.3356546,34.4373059,43.8879114,23.3949031,2.8504834,14.49696,11.9806111,39.8117999,13.9998329,1.196587,1.2107438,18.2025084,13.7975099,59.9417856,18.0632688,36.3375187,68.1296274,34.4154944,44.4415735,23.4545196,3.1947592,14.0302836,11.4301031,39.6815746,11.3846955,1.1324215,1.1467812,17.8589178,13.5666973,59.8011184,18.3213343,36.365969,68.2224221,34.7838392,44.5940387,23.2333112,3.4018399,13.4971235,11.0806965,41.0749944 +269,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.8843523,1.8419734,20.5501959,15.8462691,82.2073386,12.1557353,30.7795587,62.922813,32.765023,40.2216842,19.4007392,3.352004,13.6165167,9.5110343,37.2025755,15.3781698,1.7356803,1.6941463,20.406273,16.110494,82.5083717,12.4007314,31.3974166,62.3359326,32.2843415,39.749615,19.5427908,3.2294363,13.6583337,9.2967769,35.8138351,16.6449679,1.6535209,1.5695786,20.0030386,15.3654018,82.7836754,12.2884289,31.7474355,61.5415149,31.769013,39.8058499,19.4652859,3.4747981,14.077551,9.0082706,36.0989384,17.8789141,1.7470781,1.6647509,20.094615,15.5551226,82.7156433,12.3811719,31.5139299,61.9050847,31.672915,40.2696755,19.2855617,3.9346197,15.1678042,9.9985077,36.5210872,17.959478,1.6669943,1.6057524,20.3650831,15.8525701,82.9642043,12.266412,31.0894,61.1881739,31.700702,40.1197255,18.9849178,4.1108576,14.849959,10.6839071,36.8881728 +270,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3823093,1.4233454,21.5332669,16.7592657,63.2266663,11.4682528,29.407872,66.6564961,36.5788314,41.0321716,18.8198293,3.9437374,12.8958719,10.3348043,33.0285824,12.9342885,1.3471863,1.4013152,20.9992609,16.6120959,63.0117444,11.4399586,28.8095535,66.313673,36.6818405,41.4802209,19.1333668,3.8816346,13.2967788,9.8743036,31.948456,12.4983276,1.3079793,1.3326052,20.5487323,16.1874566,63.1993973,11.4157698,28.8998607,66.6924474,37.0017731,41.8409022,19.1237447,4.1432857,13.1543671,10.2775743,31.3953083,11.9292621,1.2364129,1.2610803,20.3353394,16.0134708,63.109368,11.1353922,29.0532685,67.0617653,36.3323843,41.5639138,19.07758,4.4202741,12.9273164,10.5551311,31.3510009,11.3752799,1.3734666,1.3856132,20.48366,16.5082468,63.6133069,10.9050766,29.0142444,66.8363616,36.0386323,41.7172599,19.0890424,4.475972,13.273693,10.6617289,31.5210657 +271,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0682644,1.0736365,20.8211437,16.727802,52.0365614,11.6942301,36.9260189,66.4593504,37.2731817,44.7364957,21.7092905,5.8578331,13.5145388,10.6415841,34.5108413,13.4989317,1.1440438,1.1495309,20.9795882,16.5305018,52.754965,11.553588,37.293869,67.1745661,37.3530718,44.6905465,21.0499836,5.7250048,13.690366,10.5560692,33.7176879,11.9419749,1.1427845,1.1553792,21.4386295,16.9578347,52.1790383,11.3570569,37.956099,67.1629131,37.2033296,45.7250131,21.5150016,5.7062167,13.5808802,11.1215259,33.4243621,10.5700813,1.0949391,1.1074986,21.2398394,17.0656947,52.1232421,10.9841141,38.2962911,67.0129799,36.8483361,45.5362774,21.3427784,5.6562157,13.5146098,10.6988824,33.4052858,12.4396286,1.0457217,1.0583873,21.4429452,17.3059637,52.5877377,10.7701181,38.4086506,66.7015837,36.8266703,45.3452293,21.3724697,5.886939,13.9135786,10.6404938,32.9444039 +272,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.132344,2.2285167,37.5799771,33.1404797,62.5606705,17.2698855,35.0017621,63.6430261,29.0787407,40.8719259,17.6881512,2.4870972,18.6101924,13.706824,39.5899038,15.2068328,2.126446,2.1746931,37.7135576,33.4543741,63.2887075,17.7871012,34.2185281,64.7326216,29.5506083,41.0367854,17.2708305,2.5390251,18.7146573,14.6034242,39.56681,16.6664546,2.0631841,2.1138316,38.5824123,34.079605,63.6814722,17.5890398,34.0556741,64.6309235,29.0981444,41.173519,16.4934413,2.5240008,18.052363,14.0516392,39.8466947,17.4416885,2.0546256,2.1007681,38.9581514,34.414606,63.5398152,17.5650938,33.7639272,65.1289696,29.1752802,41.2305658,16.2897375,2.5154048,18.2843605,14.4556794,40.0696429,17.2598545,2.112545,2.1509039,38.8269301,34.2369458,63.8748925,17.3660206,33.5172918,64.7685495,28.7599031,40.0960804,16.0356406,2.5206018,18.6503149,15.3903543,41.035789 +273,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9970861,1.0171437,21.2431551,17.2757812,52.0021851,10.7514259,38.4043329,67.1356021,36.6396277,45.4633334,21.68669,5.8969052,14.3268305,11.0230747,31.9148291,10.7142936,0.960156,1.0032603,20.9290315,16.9580498,51.800427,10.8962806,37.339724,66.350585,36.6881809,46.1205759,21.764819,6.0338233,14.6151759,11.0727571,31.3500588,9.4827656,1.1598965,1.2022227,21.261674,16.9822068,51.9512719,11.5999136,37.354543,66.5997972,37.0806823,46.3323207,21.5303134,6.1616541,14.6829542,11.5577494,31.6754959,9.1016613,1.1383554,1.1906643,21.456098,17.2453365,52.5556045,11.3562699,37.1434119,66.4160284,36.7752165,46.1651358,21.7399808,6.1821898,14.2366147,10.9921258,31.8395917,9.2465817,1.1365378,1.2141621,21.3757752,16.8522911,52.6438996,11.4453108,36.2687714,66.4743934,36.767591,45.6521485,21.3374464,6.2804781,13.5736882,10.4406099,32.7024678 +274,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6629793,1.7140346,32.4869987,28.3462789,72.7760229,7.5881532,30.196876,64.8877325,31.8053171,35.8585874,15.2769717,3.4581477,16.11322,10.9520124,39.0940287,16.351255,1.5969898,1.6361223,31.890371,27.7713194,72.8805124,7.7215512,30.391205,65.0869383,32.2985626,36.126251,15.1972225,3.5389898,16.0615274,10.866987,38.545966,16.5534765,1.5532569,1.6157062,31.4008259,27.1615691,72.8331115,7.8690719,30.3119563,65.3776515,32.350658,36.2339024,15.3873522,3.5499307,15.7613019,10.8606596,38.4712795,16.8945953,1.5910676,1.6580465,30.6097977,26.4644846,72.4463229,7.9620083,29.8679683,65.2101499,32.5805626,36.2866884,15.657886,3.6767089,15.3296868,10.8834959,38.3719398,16.7333984,1.6175511,1.6903104,30.1508403,26.0011894,72.1781269,8.0475198,29.9421726,65.3383487,32.8735731,36.4962824,15.5444032,3.8586791,15.081194,10.9554778,38.0506176 +275,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6496023,0.6686575,11.6481505,8.644618,67.4760967,19.6205687,30.0545728,64.6861786,29.3103427,38.9109406,16.8568532,7.3554963,11.781034,9.3134768,37.226463,5.016449,0.569565,0.5697548,11.3405858,8.4515854,68.0912742,19.7471839,30.0124326,64.2661661,29.5149224,38.7189027,16.8781017,7.7238825,12.7783408,10.0506274,36.5660046,5.3191498,0.5138766,0.5112425,11.1069263,8.4021945,67.3598991,19.3168049,30.9429693,65.033321,29.9555658,38.9163155,17.6622991,7.7635164,11.6633357,9.8749935,36.1265698,5.118111,0.5911161,0.5854561,10.8919486,8.1783798,66.7459299,18.9516164,32.1277615,64.8645265,30.2883424,38.2923179,18.0586579,7.9418353,11.9520889,9.8623786,36.7320422,5.6891035,0.6150721,0.6094185,11.0623773,8.2059492,67.4824259,19.0190846,32.5254715,65.3368094,30.462341,38.0934607,17.9592305,8.314692,12.340963,9.6437606,36.7215423 +276,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2753672,1.3529529,21.6747874,16.2155541,49.7738937,18.3454877,40.4403775,65.7138446,39.7402755,49.5527422,26.8414191,3.2393715,10.1994596,10.1867612,33.8562579,9.8785063,1.473774,1.5343096,21.8463849,16.5104853,48.907574,18.1906563,39.3274749,64.6665626,40.1937902,49.1098923,26.3503835,3.290403,9.9992442,10.2321083,34.9974681,13.3500502,1.639968,1.6990288,21.8106238,17.1959977,49.5723585,17.8513668,39.2106343,64.6321164,39.6965582,49.1903121,25.4481237,3.3354618,10.1468259,10.257215,35.3753546,13.7403438,1.4414394,1.4866261,21.1876731,16.4595954,50.3744063,18.4894149,38.8624188,63.8494589,39.0368421,48.8717262,24.672887,3.307124,10.2937052,10.5290148,35.1291045,15.40302,1.3649463,1.4084964,20.987129,16.4222486,49.5814267,18.2045358,38.8289959,64.7918726,39.2179156,49.0958586,25.4915724,3.3755262,10.3539716,10.1251655,36.848712 +277,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0980548,1.1512525,18.4469257,14.5535757,81.1590997,7.3118361,28.5999431,63.8013951,28.5421333,37.4454911,14.3860787,5.8380612,13.5530484,9.9833252,36.1095747,9.2432702,1.0054489,1.0654739,18.2526327,14.5394515,80.8834606,7.5277237,28.7566474,63.5850884,28.4436335,37.629329,14.7691058,5.7924103,13.3491005,9.9099121,35.861453,8.745428,1.0144712,1.0540074,18.0794036,14.3887542,81.0334972,7.5884576,29.214191,63.2819483,28.4730678,37.4604813,14.6555695,5.8549598,13.1651692,9.868217,35.6732555,8.9057152,0.9841657,1.0166099,17.7692209,14.2219465,81.0099396,7.6117098,29.6609655,63.2140244,28.1945569,37.2373223,14.811301,5.9405333,13.0612533,9.6779707,35.303513,8.4318498,0.9935879,1.0274228,17.522992,13.9802928,81.1596429,7.6316973,30.0203617,62.8398027,28.6465891,37.3222903,14.7388303,5.840908,13.0900284,9.7901468,35.3730856 +278,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.4437333,1.3700493,23.7408997,19.6880935,51.4125353,14.3070735,39.9507585,66.935553,37.6690844,48.4191471,24.9006628,4.2342206,16.1333222,13.1111232,39.6150344,15.3480745,1.4529162,1.3783632,24.100761,19.9865244,49.9320402,14.0189665,40.7504431,67.7839491,39.1497443,48.8426941,25.9886807,4.1128468,15.6332864,13.4189626,39.0819848,16.1764379,1.4141842,1.3383012,23.4630762,19.5267666,49.5389462,13.3140232,40.8536681,68.0894138,39.9503161,48.3513923,25.7226868,3.9973017,14.7829971,13.4389184,40.1183753,14.4097222,1.3303029,1.2530123,23.2531748,18.8067196,49.6930876,13.2165798,40.0415021,66.6436023,38.4278448,47.9253119,26.2563553,4.2185464,14.4131403,13.5808317,41.0511051,15.5109489,1.3824076,1.3480022,23.8816435,19.277955,49.5867679,13.4028772,40.1751058,67.4127424,38.3684576,47.2687298,26.4898416,4.0875255,15.0742055,14.1596975,41.9309361 +279,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.1753748,1.1620152,22.4729232,19.4276233,84.8292104,13.2243554,29.0136181,65.1040331,27.2912168,40.2908666,13.1865556,3.973019,16.8821171,12.9765167,31.8968573,8.9988573,1.1333714,1.1436279,22.100576,18.9699822,84.6160219,13.0722226,29.2499295,65.1330284,27.1518359,40.2197149,13.0926735,4.1219128,16.9234053,12.7514217,31.5320251,9.2638437,1.0802798,1.0906431,21.9113969,18.7120339,84.6668972,13.0782591,29.9163821,65.1044017,27.1595249,40.6766879,13.5922947,4.218872,17.2302714,12.4958119,32.297483,8.660981,1.0463755,1.0568249,21.5309436,18.2679065,84.7830189,12.62463,29.9864227,65.014277,26.6032038,40.5570972,13.7097832,4.4184366,16.7190426,11.9546683,32.486951,8.7641087,1.0107155,1.0211961,21.4309103,18.27856,85.3188172,12.4271388,30.5451846,64.6944418,27.1859462,41.0111395,13.6815936,4.3129674,16.5386883,12.3994722,32.0387515 +280,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7005086,1.6102655,30.8570706,26.6636766,48.9881505,19.7182884,38.7861351,71.2601698,38.9298097,49.2403625,25.3792837,4.2707606,14.0635148,12.8922146,32.399256,20.6329568,1.7319788,1.6661784,30.8157441,26.4598449,49.6761777,19.2951238,38.0055366,71.1747794,38.8381371,49.3232827,24.3501655,4.3363026,14.6036789,12.4427225,32.4694881,21.5314424,1.6387674,1.575103,29.45753,24.8600609,50.3981189,18.6839707,35.5565383,69.5774988,36.8160628,48.5545663,24.2530943,4.0803744,15.0204149,11.830792,34.0937564,19.5192661,1.4060467,1.4261431,28.4211033,24.3704776,49.2833547,19.472566,36.8775817,69.7048256,36.7665115,48.9810886,25.07394,3.9408006,13.4718457,11.4057291,33.9751617,17.278263,1.4445538,1.4633463,27.9422197,24.0886434,50.1976823,18.9372754,38.4854269,69.3435839,37.2746186,49.3626594,24.9825042,3.8341416,14.2673683,12.473593,34.3834697 +281,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2853757,1.3184765,20.9223987,16.4813139,49.6996599,17.7338407,39.51605,65.0744492,39.1965635,49.1895495,25.685687,3.2685066,10.4159556,10.4159669,36.5207885,15.7433718,1.1938822,1.2282457,20.9507406,16.8313816,50.1684443,16.667164,38.4334017,65.4423331,37.8157661,49.4945821,25.5754739,2.9477795,9.633235,10.5913475,37.156858,14.6385857,1.0909599,1.0909599,20.5777847,16.5432436,50.2236355,16.4204439,39.5937132,66.0839219,38.0912161,50.0555843,26.1824794,3.0884779,10.6592304,11.3927569,36.7878181,13.2000892,0.8664722,0.8664722,21.4204134,17.402697,50.8244372,15.8853755,40.2259683,67.2168814,37.8182365,51.0888704,27.3472832,3.2756656,11.3659026,11.6288825,36.5623192,11.9862573,0.7840019,0.7840019,21.222263,16.6246335,50.4601388,15.705054,39.8453509,66.5241946,38.2095962,51.4087459,27.7743351,3.1305716,12.0204885,11.3500357,36.0151858 +282,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3284057,1.3299361,20.700446,16.7270565,63.5314163,11.1589727,30.1122244,66.7717868,35.8093901,42.2790969,19.6937185,4.6468325,13.6556594,10.8652488,32.4319885,13.2705849,1.3095097,1.3056404,21.1724358,17.1715277,63.3907981,11.1884322,31.1172937,66.6700078,35.5908063,42.4041961,19.7610613,4.9196194,12.8015643,10.2321831,33.9775626,13.2236921,1.246361,1.2736833,20.7549625,17.1342319,62.6974223,11.6591463,32.181842,65.914628,35.7964987,42.5071223,20.0976012,4.8725068,13.149651,10.6241052,34.6227519,12.6901543,1.2403867,1.2680571,20.8600611,16.9879049,62.538293,11.8270104,32.3776915,66.7094962,35.9211423,42.4047275,20.1400721,5.1044041,13.155803,11.1535843,34.7898997,13.1858407,1.1123414,1.1566685,20.4938487,16.789146,62.2286915,11.801867,31.7666743,66.7905591,36.1096691,42.0140213,20.415062,4.9860559,13.1148811,11.015556,34.4706834 +283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8712457,0.908169,14.5084279,11.2355783,45.2695061,11.098445,30.0752333,67.1547592,32.9425301,46.1243757,19.0194908,3.4807322,13.7457647,10.3016938,30.0915152,12.6770504,0.9495196,0.9834907,14.6316592,11.3788638,45.5654133,11.0958375,30.1791092,67.1571408,32.9761474,46.0043351,18.870257,3.4568233,13.4102689,10.3781869,29.8980729,13.537426,0.8774203,0.9136662,14.629392,11.2105927,45.7958661,11.080151,30.7261325,67.4462975,33.0227189,46.0442247,19.1474593,3.4567637,13.2225969,10.382028,30.1354508,12.6506009,0.9070641,0.9404912,15.0390889,11.51147,46.0656199,10.8326121,31.254399,67.511486,32.955902,46.2197203,19.4523611,3.4567345,13.1399913,10.282863,29.8195643,13.2333776,0.9073263,0.9410196,15.3414335,11.9506049,45.9280982,10.3384468,31.8951665,67.4997377,33.0207594,46.2242041,19.6478013,3.4309564,13.0629484,10.3151499,30.229436 +284,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5972709,0.5936268,14.6266129,11.3762545,63.608052,22.7996544,36.3756346,67.4749883,30.4673446,43.7830834,17.6219603,6.9811711,14.9213016,10.5885665,33.7911263,6.4381109,0.677047,0.6733727,14.726703,11.4179954,63.4804534,22.1622444,35.4881261,68.1508594,30.1922954,43.4467463,17.8549873,6.7307533,15.2937453,10.8919572,33.6079865,6.727558,0.550862,0.5563792,14.9052275,11.8264913,63.1083569,21.5889427,35.8772796,67.7385663,30.6905581,43.4647497,18.0349199,6.9502017,14.5515331,10.9107179,34.3287525,7.0247702,0.5322328,0.5379815,14.8814562,11.8343742,63.0828913,20.834632,35.9670724,67.16859,30.3477325,42.5799206,17.7118357,6.6283712,14.1974801,10.897814,34.3463471,6.8527687,0.4556278,0.4715103,15.3171356,12.1293863,62.6542799,20.5864007,35.7533678,67.3052191,30.1835361,42.4500794,18.1744454,6.6162225,14.4134711,10.7829768,34.699951 +285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.5183214,1.4819805,24.3890148,19.4595709,49.5638791,13.3439291,40.0797819,67.1036389,38.3671773,48.1222333,26.6167698,4.257737,14.6258548,14.2371178,40.7533765,17.4180328,1.5722966,1.5348788,24.1198009,18.7705576,48.721369,13.3152539,38.4096749,66.577934,38.4096749,47.7031706,26.0872746,3.8385255,13.9360709,14.5209553,39.708775,17.4778838,1.4108463,1.4419393,23.047372,17.94242,48.8042334,13.5084007,38.8059761,66.7776161,38.9075062,47.3873257,25.6591525,3.8323782,13.6172507,14.4281068,41.2974014,15.4377951,1.6228869,1.6548904,22.4928936,17.5573136,49.2500898,14.4875017,38.6623842,66.3816602,38.7144056,48.0774767,25.402266,4.4980541,15.038012,15.4387749,42.538067,15.0717703,1.6013977,1.6594379,22.7797283,17.6762167,48.7773892,15.4477729,38.9026853,66.0107685,38.6867198,48.0847687,25.2961938,4.5625032,15.4152551,16.0612822,42.5883188 +286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6573196,0.6890657,14.0534116,10.7326324,74.7733681,21.7339312,30.6747402,63.581312,27.4221432,38.6678138,16.1764692,5.4498265,12.3018452,9.8208035,31.076381,6.7948718,0.7901126,0.8219598,14.1752616,10.60138,74.7465981,21.5703072,31.7111158,62.400416,26.3422218,37.6688531,16.1932806,5.4901272,12.8493363,10.3271883,32.0178353,7.9145729,0.9088628,0.9472751,13.7865795,10.413087,75.0616095,21.0099971,32.0481466,62.9972067,26.7445883,37.5959443,16.3817148,5.7048146,12.7696444,10.396375,32.3652783,5.9493671,0.9539613,0.9708123,13.9538878,10.6646386,75.0000104,20.9693856,32.0089375,62.7623015,27.9497746,37.8568905,16.7010653,6.0027518,12.6967635,10.6361009,31.095033,6.7602041,1.0143121,1.0312918,13.5631055,10.2366322,74.9561961,20.4218089,32.4497523,62.5259932,28.0145522,37.6472571,16.8918914,5.8038808,12.8178507,10.3294306,31.6862348 +287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.5417615,1.6015874,22.0373558,17.4722818,49.1731235,16.2357605,40.1156234,67.5678303,40.0599736,48.6931585,25.6394902,4.1479841,14.7435884,15.2906851,42.0653153,15.0510358,1.4374622,1.4460224,21.042571,16.4574243,49.5415726,16.5932957,39.8494008,67.4567642,40.9091008,49.3865108,26.1851588,3.9319674,14.8252541,14.6794266,39.6941991,15.0246453,1.3469477,1.3554338,20.7409396,16.1438664,50.454827,16.4484604,38.3360802,67.3023721,40.3814222,48.2863499,25.621905,3.2891188,14.0340923,14.0022689,40.0797971,13.6138749,1.399727,1.3824915,21.083017,16.4101207,51.0620159,17.2004579,38.1711101,66.8064841,40.0727115,47.7908173,25.6991184,3.66332,14.5591666,13.5150821,41.0630874,17.7184466,1.4585384,1.4330282,21.4595725,16.8475341,50.1128286,16.9376822,38.6574981,66.2739686,40.5205352,48.0273848,25.8904144,3.9178222,15.1877385,13.6105022,40.1489371 +288,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9931875,1.0268524,18.6030112,14.4827571,77.396193,17.4959132,36.4891125,64.5831703,33.1839612,44.0329269,20.4805842,6.351696,12.51974,10.0131432,32.4801098,10.065545,0.9719202,1.0067716,18.6713407,14.7116958,77.070829,17.6333784,36.486558,65.0255126,33.7038469,44.237481,20.2477243,6.6899464,12.4166425,10.3011631,32.8996835,9.7866503,1.0465648,1.0790873,18.8699044,14.8404258,76.8551961,17.2538797,36.3358653,65.2183356,34.0434215,44.2622715,20.1722067,6.6895325,12.554408,10.2093461,32.8633982,9.7438317,1.1165267,1.1550414,18.5162617,14.4878366,77.0557958,16.9851871,36.1147222,64.554442,33.6923513,43.4487421,19.8272976,6.5644906,12.4165775,10.1612382,33.1139765,10.4541219,1.0659545,1.1273906,18.3522272,14.4123504,77.0550582,16.6621013,36.6514422,64.7088175,33.7110774,43.2054178,19.8474223,6.5608497,11.9494193,9.852143,32.8604262 +289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1381618,1.1450863,26.893102,22.9412903,59.8858318,17.3587763,35.6826459,64.2470644,34.3362186,44.9006729,19.5682902,3.3599017,16.084832,11.0737601,36.8802713,17.3203355,1.0620552,1.0443461,26.72732,22.8672498,59.2800718,17.4709589,35.901251,64.2338291,34.0217448,44.7590493,19.6095111,3.2693927,16.7586887,11.7999726,37.5402235,16.9406063,1.139057,1.1247569,26.7840038,22.7487663,59.8053625,17.1551309,36.569736,64.3570139,33.7205774,44.2426294,19.508682,3.1405526,16.6968074,11.9496629,36.6862054,15.7919143,1.2034251,1.1820418,26.6414342,22.7404215,60.2227024,17.1436039,36.7769298,64.6579487,34.2001725,44.8776052,19.6895929,3.1827778,16.7328675,12.0697202,36.5051191,14.4791162,1.2495734,1.2173074,26.2519073,22.1991446,60.3672038,16.8558904,37.0229342,64.9097584,34.1510659,44.6835437,19.6225032,3.155467,16.9182521,11.9581064,35.8842794 +290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.8195766,1.8502164,32.2602226,27.1436784,69.4259457,7.7598888,33.8547985,62.5451632,33.8419947,39.0991068,18.5822414,3.2841073,15.2137429,11.1805649,39.9207649,16.3842781,1.8679048,1.8839044,32.0073158,26.8959595,69.6310484,8.0945833,33.4605968,62.6771047,33.923099,39.3168994,18.6471208,3.3646218,15.1072874,11.152587,39.2861783,17.1027995,1.8150874,1.8362799,31.5548307,26.5629984,69.9060167,8.3925627,33.2463851,62.8075247,33.8423638,39.2923522,18.6578359,3.4666793,15.573217,11.5400081,39.4137422,17.032959,1.8493844,1.8635842,31.1482485,26.0429518,70.0736827,8.4651751,33.2394431,62.6150446,33.9238253,39.4387878,18.6679024,3.385402,15.5012032,11.5254941,39.9361172,17.039412,1.8008874,1.8047557,30.5618756,25.4610949,70.2317583,8.5624357,33.4533343,62.9712209,34.0162398,39.2016098,18.8524212,3.4602287,15.6769319,11.3757843,40.4252225 +291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9329488,0.9462507,15.4060961,12.0882258,46.3843653,10.0623185,32.573515,67.4751174,33.1814407,45.9458524,19.9549966,3.3126674,13.0610684,10.4596884,30.4923297,11.1186029,0.960188,0.9735457,15.738197,12.3789639,46.602597,9.8628023,32.6357556,67.1812083,33.6241551,45.814534,19.8962733,3.1299615,12.6396249,10.2848127,30.337491,11.2648266,0.8849618,0.8813413,15.7117275,12.3265615,47.1710962,9.6601226,33.0825654,67.3822679,33.6452569,45.5229472,19.6880681,3.2232423,12.5273372,10.2117839,30.4087138,10.9580344,0.8954841,0.8918672,16.1115058,12.6253599,47.5643124,9.7148725,33.2213863,67.193805,33.2580209,45.4084816,19.4834487,3.1200398,12.7989237,10.5423929,30.7550445,10.2979444,0.9393777,0.9369975,16.5701832,13.1705568,47.6923141,9.5501324,33.2119145,67.6269639,33.1380905,45.2306633,19.2065199,3.1527571,12.9811234,10.3486437,30.4664453 +292,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.222722,1.302583,23.5856487,19.7612498,46.2807496,13.0288009,39.2542412,66.5216992,35.2180434,46.0971829,20.8362338,3.4040804,15.1435193,11.8396911,32.74429,13.7010779,1.3244974,1.3929724,24.0674346,20.2811655,46.8021552,12.8924312,39.2067779,66.4920644,35.2809104,46.0568674,20.84389,3.4711004,15.6214265,12.1167122,33.4985026,14.0996797,1.3443913,1.4148291,24.5896987,20.8319145,47.2133656,12.9244203,38.6263425,66.5641006,35.1079882,45.6281868,20.6630274,3.3267508,15.7864232,12.2237836,33.961609,14.6136777,1.451528,1.5408644,25.1017053,21.1130012,47.4731581,13.0079806,37.5680822,66.4291339,35.0886501,45.6320276,20.6754762,3.4932202,16.0170163,12.237555,33.6387083,16.0152265,1.5252937,1.6105633,25.2879543,21.1890371,48.0726147,12.9394901,36.6318983,66.0579497,34.8579896,45.3739206,20.2492815,3.4144911,16.6666166,12.3939022,33.1834962 +293,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5365421,1.589161,29.2730161,25.0051067,53.2288675,17.707037,36.3095094,63.6278653,34.4715724,44.9143454,19.9770088,2.8508685,13.7218514,11.8012229,33.7703848,16.1215109,1.5872415,1.6408397,29.2039903,25.0989794,52.9200724,18.0721566,36.6687728,64.0345746,34.7079907,45.5775477,20.407063,2.9518252,13.6305623,11.0218504,33.3259836,16.0947823,1.3676959,1.4299521,29.1277213,25.0363515,53.1134664,18.1675626,36.9140826,64.2948597,34.4538438,45.9490749,20.2014814,3.0010526,13.4435175,10.8277255,33.0951953,14.8178949,1.3696997,1.4167081,29.8050226,25.7363718,52.1388359,18.5717162,37.2054901,64.5883621,34.3958974,45.9368523,20.218278,3.0365125,13.7337325,10.773707,33.986698,14.7863292,1.3667508,1.4469701,30.0403104,25.6685011,52.2319542,19.003402,37.0646387,64.1683552,34.3175094,45.6088728,20.6683908,3.1689262,13.4952949,10.534492,33.826696 +294,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8867916,0.8867916,21.7421396,17.044007,49.9159374,15.1702646,40.1548163,66.7155065,38.4225542,51.7613882,28.4328141,3.2625357,13.0109426,11.3839171,34.923452,13.6339426,0.9381452,0.9381452,21.3030072,16.838667,50.2673187,15.2372094,39.9133911,66.4081777,38.4189594,51.9266111,27.7277556,3.3050693,12.9208987,11.6395847,33.5435544,13.6339343,1.235343,1.3005615,22.3733542,17.3477635,50.0355729,15.7073002,39.3017242,66.9053822,38.1514587,51.0346788,27.4537581,3.3070738,11.9340629,11.2288464,32.3645775,14.3234689,1.5829989,1.646412,23.5283311,17.7090217,48.6187136,16.4373351,40.4506928,68.0553974,39.5547302,51.5386636,27.4587524,3.7799843,12.7544542,10.5005679,31.4893927,15.193345,1.6961456,1.7589166,23.605366,17.8329902,48.2923547,16.7662428,39.8274675,67.6102447,39.220988,50.413795,26.5946077,3.8871535,12.5434406,10.6568995,32.7135172 +295,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4684912,1.4277899,20.4535916,16.1977646,83.6022458,11.9813746,30.8552916,60.708388,31.131925,39.802145,19.2217718,4.2365911,16.1033872,11.2521576,39.374355,15.704586,1.3341235,1.2930615,21.7942264,17.6980498,82.8744257,11.8049833,31.274454,62.162887,31.7966359,41.1283056,19.5886666,4.703012,17.3435493,11.5393428,40.7451228,15.3706572,1.0451884,1.0657504,22.6890052,18.2615827,83.1706233,11.8171432,30.9144144,61.8528548,30.8123725,40.8997487,19.9106003,4.8479863,17.4192463,12.242452,41.4184097,18.172328,1.1186822,1.139178,22.924441,18.7770177,82.9798759,11.3349347,30.3708124,61.5293963,30.4975255,41.118595,19.4399537,4.6467651,17.2539744,13.2349731,43.1695479,16.9499837,1.1730689,1.2343994,23.9162122,19.6668485,83.2414445,11.3565629,30.2893773,63.0477459,30.7522112,41.0796062,19.7180936,4.2623722,16.9567961,13.8054099,42.6984045 +296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2591853,1.2662797,27.3192494,23.4581505,72.6327779,11.9623126,33.8596739,65.2153815,30.41094,41.9595805,16.1271179,2.6493162,14.8025634,10.3132401,34.4400038,14.3491222,1.2882253,1.3054102,27.8186139,23.7422525,73.1973168,11.7035047,33.3880912,66.0862174,29.9185145,41.5363431,15.6853742,2.845318,14.7986374,10.413892,33.7553326,15.6948581,1.3321725,1.3391364,28.1052015,23.9046119,73.7595775,11.6878894,33.1106164,66.0161443,29.7499295,40.9036825,15.5265941,2.8909785,15.0708834,10.4015949,34.0909134,16.9417538,1.3183548,1.3283521,27.6221947,23.5122555,74.0288594,11.7198714,32.950935,65.7758622,29.4628622,40.3249383,15.2984105,2.831571,15.3320849,10.3591368,34.2261119,17.5934877,1.3170115,1.3217326,27.6693325,23.675024,74.4024282,11.6111024,32.5351633,65.9525078,29.377814,39.6458028,15.2361383,2.7792561,15.0266738,9.8318914,33.9362227 +297,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2185884,1.1760967,25.8326757,21.9717227,60.5267222,16.1782736,37.1324735,64.7545842,34.0648598,44.7703847,19.7792796,2.8420446,17.1917189,11.8653852,35.5920893,13.4730167,1.1198673,1.0844816,25.5101272,21.7812929,61.2547908,15.1766133,37.1377375,64.974516,33.2048362,45.1464524,19.5265351,2.8354176,17.6103482,12.5653528,35.3638606,13.0218316,1.2385107,1.2314542,25.0317389,21.4382375,61.2892945,14.7547276,37.012618,64.61143,33.3303165,44.8418057,19.2083453,2.7909746,17.8346855,12.8252082,35.2859654,13.9648074,1.2282703,1.2176301,24.8540642,21.3083098,61.1173551,14.3846783,37.1293121,64.8726508,33.9351003,45.2689322,19.3860416,2.8495284,17.0180595,12.838783,34.9253813,12.8485831,1.1389569,1.1460235,24.5877586,20.9909024,61.3539326,14.3904096,36.7390611,64.7020714,33.4894281,44.918027,19.2683362,2.9079516,17.3647891,13.2862738,35.8673397 +298,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0417203,1.0866627,20.2291825,16.6355905,61.6215617,11.8940192,31.4011919,66.9764877,36.6269481,42.3426537,20.693675,4.6625016,13.9168413,11.2561318,33.9876757,11.900369,0.9193295,0.9483534,19.5647078,16.0204916,60.8276644,11.8463096,31.5449455,66.6214137,36.2279296,42.3591816,20.7121883,4.6321591,13.6658487,10.8443279,33.720508,9.9420849,0.8550791,0.8970442,19.4716213,15.6817021,60.7678597,11.2538362,30.956828,66.5102396,36.038062,41.8243593,20.4775607,4.569373,13.4157406,10.3598749,33.2502734,9.5849802,0.861901,0.8963323,18.8749854,15.1591589,59.8808736,11.0328937,30.8843468,66.721706,36.2972687,41.2230859,20.301719,4.3757103,13.5577625,10.5793338,32.5267985,9.5286885,0.9766119,0.9868291,19.1697631,15.1446074,59.328103,10.9334607,30.3471762,67.310626,36.5544733,41.3202914,20.4518763,4.7911274,13.8029725,10.4359157,33.0634874 +299,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.5558586,1.5804295,26.7784595,23.2740482,86.8889512,11.2744347,28.0129756,64.3509151,25.5199545,38.9527935,12.1892255,3.6869388,20.5629657,14.8378582,34.8038867,14.0080224,1.4745889,1.4911112,26.0497351,22.7460218,86.4866121,11.6247094,27.8962216,63.8842957,25.7202978,38.3693817,12.2087524,3.7472333,19.6157495,13.802233,33.7797076,13.5271255,1.2821433,1.3204014,25.3875545,22.3992604,86.0420967,11.5951938,28.3912681,64.8164864,26.2166313,38.7782708,12.5512416,3.7452143,19.483254,14.0334527,33.2346727,12.5001118,1.0606573,1.1206159,24.7977136,22.1118693,85.089762,11.6254067,29.4903826,65.5198904,26.3272646,39.1128544,12.9386648,3.9401717,18.8837692,13.4811195,32.8142757,12.1245565,1.065155,1.1260935,24.5739894,21.9232081,85.3705223,11.8798579,29.7153982,66.1249545,25.916003,38.8362943,13.1868031,4.0350327,19.2296172,13.7757585,32.5254901 +300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7099986,1.7625853,28.3432115,24.003971,78.6340837,18.3759041,28.7556518,64.4494612,26.0540417,41.6087205,15.4932543,2.2308608,19.2245005,12.8068947,43.9655441,19.0425562,1.8128764,1.8555001,27.7393479,23.4333225,78.1428582,19.3416422,29.9880423,65.2234845,26.2769358,42.278565,15.7422237,2.5738197,18.9613614,13.3575663,42.585119,19.9797322,1.8365941,1.8571703,27.634094,23.3358912,77.4200155,19.8335912,29.4759882,65.680845,25.6649458,42.7749362,16.0976714,2.7193307,19.6847305,14.2335975,42.6769951,19.1023084,1.7505445,1.7594027,27.2968326,22.8713548,78.1262716,20.5301907,29.6670699,66.0919642,26.218784,42.6674785,16.3892296,2.9528318,19.0873232,13.2775295,41.7332568,18.0942262,1.8289033,1.8642113,26.3812063,22.2990806,77.8383857,21.0069505,30.1107189,66.6073652,26.2751965,42.7639496,16.5875906,3.1830744,19.1141493,13.6618779,42.2891826 +301,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6915663,1.7288193,22.2306091,16.7871887,48.2122402,16.3050405,39.9305401,67.4250173,38.3386976,49.2072515,25.3842542,3.5405028,12.4479889,10.8898597,33.4120134,16.5788947,1.8315102,1.868723,22.5889855,17.4794998,47.6623791,16.1976286,40.7945873,67.4801004,37.8354619,48.7968371,25.3960968,3.4249208,12.3124975,10.7580354,33.4482494,13.7499863,1.9758589,2.0131098,22.1861464,17.0180876,47.1363869,15.9385236,40.7709586,67.8243974,37.3754261,47.8375514,25.1623256,3.0943354,12.258535,10.7171397,34.5402965,14.3216008,1.9442509,1.9823892,22.9584071,17.8494721,46.6311599,15.6432921,41.3713098,68.8220777,37.3375524,47.4237022,25.2360898,3.2214381,12.5291745,10.9532387,35.0530486,14.4669977,1.6915655,1.7177295,22.2912875,17.6183163,46.6907369,15.3655714,40.8763385,67.8243897,37.5430078,47.0928174,25.2828775,3.2486401,13.110954,11.1494073,35.8740995 +302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2.1457856,2.1907403,33.6875849,28.466777,65.5831638,14.4087086,31.9222687,64.4642724,31.3550336,38.2457834,16.5651205,2.4264761,14.603645,9.6863031,35.1472414,21.2444163,2.1041579,2.1740604,33.6788169,28.4024256,65.6577946,14.113068,31.844348,64.6375081,30.8635274,38.1129835,17.0682227,2.3347604,14.251625,9.739695,35.9798712,19.9214771,2.0563368,2.1526276,33.036281,27.647303,65.3837844,14.1299714,31.7012988,64.3989609,31.0156383,38.4293788,17.366603,2.3034118,14.0184923,9.4011491,35.72063,19.3034692,2.0068342,2.0835569,31.8817574,26.9018846,65.1377189,14.3853182,32.3171945,64.7754347,31.145581,38.5658282,18.2143413,2.3106994,13.6545309,9.4360607,35.8613186,19.3057739,1.8993131,1.9754863,30.677433,25.9462441,64.9796237,14.4497871,32.8131699,65.681716,31.3080934,38.7228583,18.3598727,2.4015079,12.8936538,9.2381444,36.1775673 +303,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.677825,1.6953937,28.42603,23.9298171,71.2805497,13.418243,35.6545045,64.3455512,28.6073045,38.5181422,17.9713726,3.7281664,15.5997337,11.750711,37.3877053,16.0690755,1.7168228,1.7219755,27.7273924,22.9911307,70.7967879,13.1722652,35.4583531,64.0080085,29.2263466,38.6221957,18.5153601,3.4972443,15.898064,11.0965476,37.3232463,16.5881757,1.651094,1.6505218,26.7265242,22.0664099,69.9231779,13.5578317,35.7705067,64.4791791,29.8905481,39.1718797,18.8028332,3.5069238,15.2265644,11.2370244,36.5241547,17.0044122,1.6024384,1.6207069,26.3220458,21.4071847,69.9823103,14.2107916,35.335534,64.39448,30.1485354,39.8284553,19.3115977,3.4226862,14.3771616,10.7073349,37.0536818,16.1386988,1.4913348,1.5294187,25.7414334,20.9426894,69.3402398,14.1583564,35.4985995,64.6949768,30.1548899,40.3388667,19.2739622,3.1655082,14.4726118,10.7701143,37.5098205 +304,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6135512,1.6806947,29.389981,25.1852141,72.035814,8.4474889,29.9926064,65.5291894,33.018425,36.797342,15.9460745,3.9436507,14.5944134,10.7664008,38.0581607,16.6085814,1.5614416,1.6183981,28.0781141,24.0789164,72.0445952,8.6952201,29.9872235,65.6409785,33.067661,37.1569839,16.1992206,4.2339241,14.2555255,10.6271313,37.6808583,16.2969668,1.568359,1.6145119,27.6445143,23.6464102,71.8687181,8.6943422,29.6938669,65.7989466,32.9995907,37.2488489,16.1790664,4.2662226,14.0093011,10.2941179,37.4567833,16.2008167,1.5750082,1.6186748,27.0664749,23.0457916,71.8786911,8.6543625,29.2425298,65.5468799,32.6256788,37.1501394,16.2669855,4.1338309,13.7399939,10.147977,37.7297652,16.0596115,1.5727995,1.6094042,26.4622967,22.50551,71.5085173,8.6027727,29.2153763,65.5515114,32.9287577,37.4260799,16.424842,4.0262688,13.4179851,9.9574535,37.8102894 +305,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.5847659,1.6588597,26.0011487,21.5215099,48.0751136,13.2082936,36.0529759,65.6354554,34.7577433,45.1081425,19.7351725,3.3248492,16.4187135,11.875818,32.815734,17.1649588,1.6327829,1.7142061,26.230177,21.6976971,48.7313079,13.1909189,36.0516821,65.3162446,34.3914721,44.6451651,19.6480831,3.338008,16.3119195,11.7887594,33.0552141,17.6321288,1.6033912,1.6445324,26.9867687,22.3852638,48.8996642,13.4940633,35.917981,65.4843687,34.1299764,44.5308044,19.4402271,3.1494662,16.4148634,11.7584006,33.739918,17.8466347,1.4824322,1.5399345,27.1941098,22.4392977,49.005896,13.9584471,36.011973,65.5214355,34.0571645,44.4165085,19.6359759,3.0609878,16.1324438,11.7597717,33.567521,17.9474833,1.6057596,1.6664167,27.652815,22.9516729,48.8840931,14.0520616,36.4717755,65.768575,34.3463159,44.6519134,19.9965673,3.3260605,16.1890105,11.9300734,33.785355 +306,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.1463241,1.2071102,24.3952235,19.9179365,83.7586282,10.8672605,30.5982883,62.979401,30.2517614,40.8673063,20.2743194,3.7729052,15.0915887,13.6289665,41.7401537,17.4095763,1.3562261,1.4172029,25.2648774,20.7831375,83.5622817,10.5658881,31.1480692,63.5285781,30.5031981,40.0000148,19.9148087,3.523519,15.1027007,13.0910511,42.0849701,19.5323147,1.4799607,1.5418697,25.9292751,21.1288983,83.6215166,10.6265392,31.4550573,64.5808633,32.3726246,41.2388005,19.6159679,3.0912297,14.4918134,12.4529011,40.1259666,18.6031881,1.4946256,1.5571481,24.9151919,20.1837756,84.5491706,10.7660402,31.4177077,63.4243394,32.1353057,40.5711549,19.5851378,2.5614527,13.5030715,12.1805462,39.2559743,17.6267347,1.5013903,1.5013903,25.5041168,21.2912056,84.9679823,10.529624,32.0716621,63.2864354,32.4052035,39.988788,19.1153205,2.2983858,13.2694497,11.9188589,39.5477447 +307,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.2774801,1.2527044,21.1146496,16.3704655,49.6471699,15.8704569,38.7521078,66.446636,39.8131005,47.4521279,25.4899405,3.4216607,13.7500213,11.9281246,39.0659641,15.9910126,1.277123,1.2527946,20.8380037,16.0763881,48.7628536,15.425455,39.2751399,66.1524729,40.0550051,47.5180301,26.4366858,3.3662,13.8059867,11.686259,38.1337921,17.6087186,1.4590051,1.4352658,21.0558583,15.6219491,47.8841372,15.1727622,39.1918765,66.0977488,40.1044742,47.6828746,26.5781699,3.4840422,14.0560372,11.694416,38.4575414,15.6903831,1.4962224,1.5193898,21.5180829,16.2082159,47.386107,15.3137983,39.6772101,66.6906073,39.9230919,47.9823369,27.2401108,4.1042576,13.9403495,12.3196068,38.9523208,14.6586345,1.6325511,1.6549404,20.9651048,15.9462641,46.6419848,14.7513477,40.5364981,66.6094189,39.7129118,48.9832857,27.6448873,4.4179245,14.5193432,12.6613966,39.3500297 +308,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2554408,1.3459723,29.8790879,25.4242805,51.9782775,18.9544567,38.5457151,64.0767707,34.6445546,45.6761903,20.903773,3.3051489,13.7923357,10.7268636,33.6520931,14.7266433,1.2984618,1.3897989,29.8716589,25.5294195,51.4492144,18.7351341,39.4534401,64.5193652,34.8002576,45.8625832,20.9503916,3.4130646,13.664726,10.6919549,33.2355071,14.3233919,1.1250966,1.1842715,30.0659942,25.6172948,51.341987,18.6139256,39.696216,65.0459389,35.0852214,46.1647492,21.2958937,3.3981542,13.0772451,10.3333169,32.5314219,13.5965072,1.2700862,1.3285069,29.7521606,25.2993162,51.2715793,18.5488984,39.5963532,65.4328099,35.4090137,46.3522394,21.5734966,3.3131805,12.6855735,10.8609996,32.7965952,14.1047445,1.3731988,1.4329598,29.2990053,24.9364507,51.6188543,18.5157271,39.9283929,65.4113989,35.8258869,46.3750321,21.7169355,3.3318771,12.7001644,10.836659,32.8615847 +309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9980928,2.0156447,38.4128993,33.8026091,64.5234241,17.7170468,33.5483451,64.868074,29.0741847,40.1172318,16.1813007,2.8050472,18.887245,15.3851502,41.4811005,16.3754725,1.9697753,1.9921484,38.436222,33.7146546,64.2583049,17.7574035,33.7057339,64.0420233,29.0520807,40.2372018,16.4786022,2.8167425,18.8402214,14.7936648,39.9053015,16.7866732,2.1062785,2.0468236,38.5893476,33.659262,64.1781354,17.0591663,34.9234192,63.9112405,29.1188408,40.1284612,16.4736901,2.8750917,18.6688369,14.791338,39.1408008,17.0570183,2.1601231,2.0966912,38.6167104,33.5115034,63.9640622,16.7425171,35.679975,63.4309017,28.6227109,39.371387,16.1909743,2.8364784,18.0498654,13.6000143,38.9612673,17.7097645,2.146975,2.0746799,38.172716,33.2373559,63.7824725,16.6396356,35.7539796,63.4864311,28.9945167,38.9831204,16.4059974,2.7229431,18.5029846,13.8340591,39.1915798 +310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1259363,1.1543456,24.8802109,20.938152,61.0726622,14.2245664,36.5785256,64.7554275,33.4557703,44.9909417,19.5407951,3.0171257,16.8954902,13.0398958,35.3246689,14.5223672,0.9702323,1.0309613,24.4419364,20.6761781,61.2766802,14.4196884,36.7161444,64.1610504,33.5033978,45.4352835,19.9641674,3.0361406,16.3732995,12.1700166,35.1626669,16.32438,1.1055927,1.1711149,24.4083817,20.6547804,61.4549521,14.1164666,37.1254976,64.1362758,33.1527007,45.5312781,19.7852807,3.0191123,15.8644031,12.2668966,35.0285697,17.8718647,1.1583658,1.2170693,25.0332067,21.287792,61.7395402,14.1583,36.9597279,63.2944736,33.4662,44.7937611,19.5019547,3.0519884,15.8147893,12.3001859,34.3485744,18.5584823,1.0536461,1.1110941,25.0853085,21.3707463,61.7219783,13.7324217,37.2315689,64.0112864,33.3517252,44.5285039,19.7332335,3.1476253,15.0802682,11.8975373,33.4193615 +311,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5382285,1.556184,28.5297055,24.4764921,49.9551005,19.1689533,38.3241113,68.9891483,37.0152709,48.8534924,24.9061534,3.7339929,14.4255485,12.2376408,33.9674919,16.4419056,1.7287298,1.7701427,27.4310897,23.191468,49.3872968,19.3238282,38.3824278,68.9931587,36.7303436,48.8569419,25.1304045,3.3836657,14.1140236,11.3200207,35.7626935,14.2375339,1.7251639,1.766824,27.5441671,22.9703653,48.2625242,18.6793782,37.8249255,68.5549786,36.8638383,49.0839848,24.8686356,3.6628191,13.0272256,10.9990372,34.0928773,17.7083044,1.707311,1.7305678,27.6245909,22.9503739,47.8840848,18.3385629,38.0322484,67.729464,36.0452268,48.469822,25.9420546,3.4914752,13.1784027,11.0698607,33.5116986,18.0920758,1.8814931,1.9047833,28.3252893,23.4321118,46.1053215,18.8385331,38.1673929,68.5565624,36.5509369,49.464849,26.4720945,3.35137,12.2512735,11.3493264,31.9783836 +312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8069992,1.8423821,25.3995878,21.1949896,77.4304171,21.3206832,30.6764237,66.871055,27.1954049,43.3346595,17.108389,3.5403464,19.0230462,13.3786028,43.4452556,16.6299633,1.6746077,1.7453735,24.4626947,20.254881,77.303961,21.4563057,30.7402999,66.8052297,27.9691153,42.8147302,17.5574053,4.0973886,18.7348877,13.6437199,42.8861858,17.8651766,1.7386051,1.7853135,24.7358827,20.2667116,77.7436527,20.9563112,31.829117,67.2081831,27.7376554,41.7368663,17.1079083,4.3521877,18.6517747,13.5797293,42.5647523,17.5000083,1.6957476,1.7393992,24.3671781,19.823816,77.0528456,19.8238739,31.8941496,67.5089619,28.4321459,42.0015969,17.329891,3.9196203,18.7297649,13.1087634,43.3415011,15.9033119,1.6539259,1.7059825,23.4503352,18.5108602,76.3760518,19.7297833,32.7302723,66.7945148,29.3641805,42.1626553,17.4046704,3.7819031,17.0550645,12.0741224,41.987576 +313,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9089646,0.897971,16.696809,13.3949444,47.6892565,9.5759202,33.5989676,67.3527293,33.2159006,44.9121982,19.1828396,2.9735237,13.1081152,10.5684162,30.8576441,10.9150427,0.9354771,0.9337555,16.7370917,13.4247344,47.7981365,9.8721026,33.0672187,67.464304,32.9066443,45.1762314,19.0786424,2.8633105,13.2017717,10.3706551,30.7512355,11.3368402,0.9248155,0.9269517,17.0267996,13.6619673,47.9113337,9.8590489,32.6865625,67.3758804,32.6491176,44.7645718,18.6881137,2.818566,13.2059235,10.5503558,30.7930663,11.7007807,0.984173,1.0060947,17.2596222,13.8969629,47.5256942,9.8825815,32.229704,67.2800156,32.5691283,45.3705784,18.7124142,2.9459639,13.2892431,10.4993831,30.741205,11.7609262,0.9496583,0.9676561,17.5462212,13.9991944,47.2265723,9.9348684,31.2482497,66.6644518,32.4731665,45.707293,18.6017048,2.7930388,13.7695523,10.6734664,30.3972944 +314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0035404,1.056056,24.9186373,22.1242663,85.8851415,11.7271393,29.2464694,65.5167824,25.6996712,38.9443102,13.2030876,4.0038526,19.7019353,14.9467235,32.6835477,12.7729819,0.76039,0.8140209,24.4527796,21.8481685,85.8189618,11.6412424,29.202047,65.1861977,25.817845,39.1286,12.9018583,3.9903785,19.4696258,14.8833194,33.4192976,12.1247189,0.8979493,0.9647553,24.0926054,21.432583,85.4853057,11.4170593,29.5745511,64.9787859,26.1134446,38.652495,12.8369314,4.0992539,18.7851985,14.4105849,32.6234388,13.9285415,0.8142083,0.8590745,24.1999717,21.472442,85.9826341,11.275787,29.994475,65.3187363,26.3646097,39.1398379,12.6466126,4.186902,18.8458715,15.1248239,33.1713937,14.2673993,0.8058452,0.8524801,24.4217413,21.6166497,86.2158414,11.0380092,30.772812,65.0237782,26.4504722,39.2096816,13.0403935,4.4552839,18.2436175,14.4837874,33.4620336 +315,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0931966,1.0586691,17.7140859,13.5430975,58.4249565,17.8310785,36.2625667,68.3341481,34.64059,44.9705444,23.2291609,3.3260501,13.5328694,11.9851431,40.582947,11.4086118,1.2808303,1.2709033,17.5958364,13.3494494,58.0095422,17.8003628,36.7860144,67.8901868,34.5027276,45.5956789,23.7360758,3.3441574,12.940775,12.2261733,39.9657088,11.4085632,1.2055382,1.1829166,17.1593762,12.7016078,57.9868566,17.8695711,36.9072844,68.2195357,35.0335617,45.6174855,24.3389516,3.6658707,12.7603192,12.595819,39.4788336,11.4493643,1.1611433,1.115145,17.1187306,12.7932883,58.4720474,17.7477242,36.7620767,67.5436189,35.5930398,45.2685215,24.6414428,3.5884483,12.4341256,12.1711891,38.4648488,9.4312711,1.1677649,1.143915,17.7456989,13.1228606,58.3371333,18.0203874,37.0143752,68.3890458,35.6505337,45.933787,25.6823182,4.013552,11.7317475,11.6960033,38.8880599 +316,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2038547,1.1809152,17.9282852,13.1802152,56.889853,17.1145559,37.474822,69.5532331,36.9226628,47.1637873,26.4309899,3.63949,12.4881664,12.2580881,39.4399926,11.1795299,1.2900263,1.2674192,17.8472623,12.9153375,56.654496,17.1399047,37.5616844,68.9663774,36.2759071,47.7498194,25.9893432,3.7338591,12.8319448,12.8198055,38.899606,10.2006547,1.2665243,1.2886287,18.0717674,12.928561,57.2309488,17.5897393,37.4215207,69.9806741,36.1149488,47.7745735,26.1973668,3.7009426,12.6875035,11.9273053,38.9471913,10.8176414,0.9776017,0.9883224,17.7816039,13.1227518,55.8977027,17.7929159,37.4354289,69.9251194,36.5916423,47.8435355,26.8402824,3.3991307,13.0299755,11.9803723,38.8383989,11.3108043,1.1646896,1.1748943,18.0001469,12.9451181,55.0023057,17.64338,38.0088615,69.9107635,37.0245849,47.8525578,27.4946008,3.2440104,12.4676193,11.2722726,38.1442036 +317,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0128965,1.9491661,37.3964809,32.6288478,64.5749027,16.6577835,36.1157885,63.2096439,28.9499599,39.2218441,16.5525485,2.8746423,18.0151377,13.682494,38.7362177,18.9289922,2.0473618,1.9940308,37.1913346,32.5321285,64.9971908,16.7793423,36.1618181,62.909929,29.6311113,39.4585081,16.3806396,2.8934441,17.5739013,13.1084732,37.995395,19.8352253,2.0861721,2.0452805,37.2329338,32.5542977,64.9120986,15.8917839,36.3902798,62.2273828,29.1817021,39.7314719,16.609793,2.7559462,17.9098166,13.0189692,37.5504523,19.83025,2.0870003,2.0345284,36.7934929,32.1163421,64.9892753,14.9868786,36.6040352,63.019423,28.708056,39.7460555,16.5378853,2.6497965,17.5565463,12.9742013,38.9268905,20.4938182,1.9430675,1.9844684,36.2015703,31.8871779,64.971437,15.7309389,36.617673,62.7110633,28.3854264,39.9110581,16.9387366,2.8771214,17.8680734,12.9701355,39.4223636 +318,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6295224,1.7281748,19.8825535,14.930085,46.1920149,14.2817601,40.2433195,66.9940799,40.3322934,48.9438499,27.8298479,4.3744966,13.9719759,12.9681872,38.9726783,12.2000049,1.5570544,1.6518974,19.723197,14.7126371,46.5957237,14.3442647,39.6419842,67.174878,40.3034032,48.7580589,27.6018456,4.3601189,13.0336082,12.1584813,38.9449704,11.9433295,1.5113004,1.6456436,19.937245,14.9267755,46.8992412,14.4746988,38.9984806,66.9227526,40.1448069,48.3196127,27.553764,4.0873896,14.069666,12.9017586,39.5101717,12.0553455,1.6737194,1.785744,19.7176672,14.5520142,47.6298744,14.275894,38.4489291,67.5840914,39.7949368,48.1316971,27.5069253,4.1032406,14.2921249,12.3429173,40.1713365,13.319683,1.5687593,1.6802988,19.7611581,14.7530368,47.4803162,13.9908457,38.4023654,67.2635917,39.3542768,47.5756552,27.1520764,4.3486584,14.5982234,12.9133325,40.0450613 +319,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.5580336,1.5580336,26.3603496,21.5545972,85.180178,11.0946865,32.3761055,63.7239161,33.0270592,40.7177019,19.763361,2.7926613,12.8662273,11.2520033,39.3551727,16.986219,1.6000358,1.6000358,26.6811055,21.8050768,85.3208332,11.2155577,32.9259476,62.9373984,32.5419802,40.5176984,19.2291199,3.1527136,13.1890691,11.4697245,40.5001991,18.5778381,1.5319259,1.5319259,26.5414768,21.5999073,84.7136178,11.339946,32.6703147,63.3784608,33.3024881,39.6648517,18.1154395,3.0800018,13.5956044,11.5682112,40.6223452,17.8785987,1.2948763,1.3572777,25.9835127,21.3797052,84.7114011,11.8089023,32.0888609,63.9409156,33.3513639,40.2061683,17.9635047,2.8434083,13.4004212,11.5992696,40.5150187,17.5737229,1.249134,1.3103052,25.7506978,21.0459924,84.2181528,12.4924198,32.6457741,62.8178271,32.8917651,39.0741238,18.2282754,3.2399109,13.4861113,11.8797828,42.1379702 +320,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.4181045,1.4308126,27.7312459,23.7632001,74.5881725,11.4057892,32.0519648,66.1281892,28.8737965,39.2259042,15.0006592,2.7363872,14.4736904,9.6281387,33.9967885,18.1860575,1.5175696,1.5176707,28.053857,23.9950588,74.8235021,11.7635564,31.6206893,65.5404576,28.1820581,38.8711206,14.9473529,2.7122506,14.1575143,9.5639209,33.5173702,18.9075681,1.5533617,1.565991,28.2249668,24.0767252,74.8642301,11.7550425,30.7615383,65.1307088,28.3075442,38.5236105,14.8906337,2.6873893,13.7972941,9.4871662,33.3560107,19.0764938,1.5855458,1.5896039,28.0540365,24.0341991,74.7136495,12.0140259,30.4624794,65.0603338,28.8940968,38.746661,15.1407472,2.5536252,14.3653154,9.5606106,34.2313874,18.9797751,1.6138468,1.6171004,28.0870293,23.9317969,74.6962373,12.2353216,30.51496,65.3681275,29.1873355,39.3254745,15.5357349,2.7155748,14.6136866,10.0850589,34.3264851 +321,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9239363,0.9480033,17.3622305,13.8138343,80.9490097,7.5691096,30.0288437,62.7329707,28.6175795,37.3634586,14.9074817,5.7632828,12.9223609,9.8700659,35.2211707,7.8461806,0.9628451,0.9701599,17.0738454,13.579038,80.6454316,7.303422,30.2043565,62.9860586,28.7866386,37.6163064,15.1555477,5.8266573,12.7686021,9.6999351,35.1909427,7.924838,0.9559076,0.9610303,16.828757,13.392166,80.6030702,7.2339694,30.0072293,62.8563714,28.9283635,37.1312886,15.1830467,5.6801801,13.0590638,9.8140806,35.5286587,8.3452823,0.9792964,0.9802354,16.4974296,13.1334072,80.8216701,7.0778408,30.1039792,63.0970755,28.9248706,36.9724492,15.0852794,5.7059562,13.1364997,9.8623081,35.9894862,8.2049629,0.9953114,0.9977628,16.5178137,13.1744771,80.7643122,7.0011566,30.3781552,63.2158006,28.9571777,36.914083,15.3762992,5.737978,13.0550985,9.8594014,36.2812078 +322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.9610704,1.005496,24.4707263,21.3093772,86.9343849,10.9121065,31.204386,64.7104675,26.4785479,39.5580034,13.003191,4.2225506,17.804396,14.7727206,33.3643002,14.2659206,1.0516391,1.1115137,24.4523965,21.2874514,86.6868732,10.640597,31.232598,63.9746145,26.6572313,39.3558346,13.0565207,4.1549881,18.178945,15.2504469,33.9593541,13.8265183,1.168407,1.2380778,23.8311655,20.7139907,86.4922557,10.7267248,31.7560534,65.0893655,26.9757216,39.0855489,13.2730049,4.3498934,17.3241463,14.1869434,33.2121601,14.9997171,1.186112,1.255969,23.6958406,20.6968088,86.2869081,10.814677,31.4374536,65.2804969,27.4537289,39.340557,13.7509767,4.509229,17.1342753,14.4815701,32.8513563,15.5460269,1.0546739,1.109957,24.1113964,21.2488879,86.4806961,10.8351806,30.7019177,65.0239508,27.7670717,40.2394472,14.3382046,4.4178558,16.4717872,14.3595105,33.9682159 +323,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.255646,1.2656664,17.8711509,12.967912,54.9373375,17.9640543,38.2908526,70.6288052,36.8851975,47.6497762,27.2190822,3.3613194,12.6913086,11.5322683,38.081388,12.0557949,1.2217924,1.2119953,17.0102154,12.1322282,54.8096299,17.8153336,38.6550809,70.5849431,37.3233552,47.8519777,26.923302,3.24468,13.0935139,11.7475887,37.2867074,11.9437633,1.2452949,1.2158346,17.1013199,12.3054062,55.1004235,17.6959666,38.6452643,69.9140081,36.7100229,46.6885135,26.6451608,3.0324002,12.5850043,10.9936672,37.4036666,10.7599808,1.1060022,1.0770435,16.4605822,11.8046737,54.89045,16.9790196,37.9813129,69.7628403,36.8389178,46.4031141,26.9783783,2.8566816,11.9950816,10.320624,37.1176403,10.8055727,1.1206784,1.0921243,16.1936126,11.4105853,54.6010492,16.4823961,38.4021189,68.8567962,37.1510325,46.0785161,26.8462079,2.9413273,11.7329927,10.0917012,37.2807272 +324,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0192277,1.0389036,21.2514085,18.077315,85.7817258,12.1729233,31.3712771,64.3556282,27.4361474,41.5554755,13.7560818,4.3996179,16.2934031,12.0399848,31.9078632,9.0277016,0.9432079,0.9675312,21.6749705,18.4416214,85.9229494,11.819501,32.0466152,63.9144191,26.9682582,41.6070024,13.454296,4.3711861,16.544956,12.3781101,31.8357628,9.7636261,0.9210412,0.9455982,21.4008371,18.0630118,85.8894463,11.4973862,32.4326069,63.79309,26.685529,41.6109086,13.510041,4.3832767,16.0809125,12.1878047,32.1618023,9.6874436,0.8815084,0.9059832,21.5674402,18.1810194,86.2435471,11.3272042,32.1916175,63.1960538,26.913221,41.5186173,13.8281525,4.3474792,16.0371499,12.4737385,31.6409303,9.2474148,0.8774937,0.901484,21.5713897,18.1979349,86.3350229,11.3144273,31.7231059,62.746237,26.7283387,41.2461046,13.8350864,4.5541234,15.8923389,12.5924529,31.4159447 +325,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.6186825,1.6671515,27.8271172,23.0551727,49.3183624,14.0456347,37.475813,65.794853,33.8632702,44.8262376,20.1994441,3.2535662,16.1451367,11.9318364,33.7865877,17.6886992,1.6521069,1.7034553,28.3159799,23.5172347,49.5366285,14.1327649,38.2430786,65.8996858,33.5953763,44.7039464,20.4096965,3.2992932,15.4522318,11.7709224,34.1839016,17.2170059,1.6611539,1.7200393,28.4537081,23.7217053,49.352733,14.2848993,38.8388452,65.875202,33.5470964,44.9047011,20.8954484,3.4026614,15.4911435,11.9910172,34.1616977,17.5233965,1.7060918,1.7536044,28.9189989,24.0083359,49.5940417,14.567915,39.1091153,65.882813,33.7474149,45.1063389,21.3023035,3.4839432,15.8556823,12.4500488,34.1252866,17.373316,1.6490111,1.6990898,28.8992624,24.1528535,49.6475509,14.3661883,39.4147601,65.6181306,33.4353245,45.186464,21.3263518,3.5957595,15.5845803,12.5353254,33.7796232 +326,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6246861,0.6121548,11.1180773,8.1281264,67.0503383,18.8286105,33.0952355,65.8270648,30.1378482,38.6842104,18.2080207,8.3834624,12.2193838,9.4642854,36.300287,6.1698728,0.5748642,0.5549289,11.4232058,8.3770123,67.7277266,18.4398076,33.9116337,66.1882116,29.9425853,38.4048909,17.710932,8.5746421,12.400197,9.6556894,36.9762516,6.3380282,0.5826839,0.5570544,11.3750523,8.4841512,68.0135907,18.3595728,33.6125018,66.6125008,30.9125006,38.862499,18.4124978,8.4625036,12.5061838,9.043608,36.7269754,6.4019459,0.5514953,0.537062,11.4050553,8.5949275,67.7907844,18.0811405,33.717689,66.9412064,30.9807415,39.3436317,18.4870713,8.0207842,11.7572937,8.287144,36.5561059,6.3559344,0.6706752,0.6558534,11.6844213,8.7730606,68.0591887,18.2596557,33.4331858,66.045845,30.8543906,39.4764186,18.1687921,8.2443383,12.0282937,8.4163503,37.008488 +327,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.8884184,1.9970121,30.7218597,25.9671514,65.1701944,14.3976175,33.4860081,65.4413446,31.5195536,38.8715016,18.8938461,2.4469279,13.157897,9.5881107,35.6451577,19.6565192,1.9854971,2.0724238,30.8961908,26.0000055,65.2108319,14.4372461,33.1105401,66.255106,31.8871766,38.4571791,18.6565442,2.3448104,12.8752477,9.3530446,35.2594357,20.5045484,1.9813317,2.0487912,30.0066945,25.2892828,65.1061124,14.6704498,33.4832686,66.7704728,32.3760052,38.5121167,18.858122,2.3875395,13.312645,9.470449,34.8965915,19.8287353,2.0078459,2.0560378,29.3925125,24.7402903,65.2926992,14.8928782,33.5944744,66.6393772,33.1033662,38.5523951,18.6739867,2.4906418,12.9854718,9.4189137,34.121954,19.0762925,1.930645,1.9592869,29.4001064,24.5915063,65.5278626,14.3991409,34.0274472,66.67067,32.7274838,39.1309695,18.7650457,2.6119369,13.183868,9.9508801,34.6458488 +328,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0032364,1.0240741,16.2881406,12.927742,80.5390539,6.8906717,30.4913062,63.1145739,29.3349539,37.1854286,15.6520856,5.6919344,13.1876792,10.1675317,36.5943799,8.5502928,0.982239,1.0029449,16.1154284,12.7930734,80.3905396,6.9975382,30.6328313,63.5457858,29.3855715,37.3004842,15.8200192,5.7786413,13.1965451,10.3024213,36.9777544,9.0961196,0.9931053,1.0144186,15.817914,12.5260553,80.5607643,6.9377224,30.8791058,63.6637561,29.5724452,37.2912297,15.7724839,5.818895,13.3704495,10.2916834,37.2862255,8.7673179,0.9716721,0.997707,15.8791078,12.5337459,80.8062228,7.0173367,30.7362566,63.8129233,29.947251,37.3162883,15.8236339,5.8624057,13.5838587,10.300585,37.3705387,8.5694466,0.9657422,0.9874967,15.9844253,12.4332301,80.8555431,6.9614259,31.0151126,64.0902928,29.9175226,37.7106987,15.860943,5.9481547,13.1729855,9.9173234,37.4795235 +329,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.2045531,1.2007527,21.9116407,18.0945651,68.4963363,15.2902245,32.7020859,65.3393536,30.0513607,40.0910174,16.6873097,3.9561908,14.2943961,10.5037766,31.9862498,15.2894227,1.2078131,1.2040022,21.9257974,18.1569568,68.4782773,15.4367478,32.8445951,65.5649352,30.2276029,40.0354734,16.4666772,3.8343802,14.5139528,10.2034887,32.6869999,14.85302,1.1962663,1.1950028,21.9130425,18.3808477,69.0408481,15.3826924,33.0416483,65.6484507,30.385144,40.0420088,16.6813864,3.7094231,14.3236668,10.1750724,32.9482337,14.3045906,1.2379132,1.2265515,21.9274089,18.5010037,69.3122583,15.8986087,32.680859,65.9041172,30.3021181,39.7760111,16.3348357,3.6546806,14.03152,10.4518088,32.7266973,12.7056986,1.3174306,1.2947861,22.1358008,18.639671,69.3160607,16.0994604,32.4532598,65.7802329,29.9833341,39.6570109,16.5552903,3.9562586,14.4204063,10.0721708,32.2289491 +330,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.6417761,1.6430117,28.2772823,24.0532366,74.8274395,12.6625588,30.7102237,65.5825803,29.1213898,39.78138,15.745518,2.7906057,14.7771556,10.213998,34.4619127,17.8923731,1.6202495,1.6319002,28.3698908,24.0505523,74.8021177,13.1106648,31.0116258,65.420379,29.3574709,40.0888671,15.5502373,2.8503106,14.4509454,10.2503402,34.5482535,17.2922362,1.5443357,1.5539442,28.0550022,23.7491677,74.8392172,13.5346048,30.8724476,65.4534207,29.8541154,40.5325464,15.7905614,2.8278551,14.8477142,10.3996553,34.3170657,16.9251868,1.4754904,1.4920815,27.7050664,23.4552037,74.5168169,13.3292487,31.13339,65.2453299,30.1796665,40.3386273,16.2612351,2.7436103,14.8268045,10.6128636,34.8178456,15.6025205,1.3574039,1.3904259,27.1265724,22.7445369,74.6215428,13.0934539,32.5107279,65.2771931,30.1741849,40.3083029,16.4316329,2.6614106,14.978904,10.5507042,34.5880446 +331,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3564987,1.3988959,28.8090033,24.5600752,51.7804948,18.1847712,40.2393961,65.7554247,36.3087272,46.7830222,22.1453597,3.3487015,13.0796913,11.2286194,32.9013095,13.9669448,1.5159052,1.5620744,28.6970852,24.4654584,51.2366698,17.8120641,41.1637309,66.4037983,36.8426779,47.6565803,22.4165312,3.3036092,13.4191988,11.6338943,32.9320097,14.1247933,1.5856751,1.6221221,28.5436919,24.0469995,51.4559272,17.430864,41.206131,66.0539144,36.6158968,47.2482145,22.1428364,3.2903964,13.6537424,12.0697776,33.3413577,14.4691903,1.5365891,1.585036,27.7713644,23.516535,52.1494658,17.1080043,40.6905981,65.4843751,36.4718149,47.1010862,22.0009295,3.1227953,14.2197312,12.5546321,33.7487878,15.2288882,1.5937667,1.689672,27.0285761,22.9121845,52.269342,17.3814533,41.0545942,65.1273191,37.3939155,47.6727035,22.7757343,3.2121214,14.6421298,13.2678731,34.2198682 +332,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2851042,1.374112,20.6469776,16.1038348,58.0596731,17.1257505,33.4659752,67.5585979,33.7158613,44.5435464,21.3307648,2.9567887,13.6521998,13.3316429,37.7855746,15.4166667,1.2400862,1.252968,19.8162798,15.5316823,56.8472768,16.3797982,33.803197,67.3980484,34.0556011,44.4876148,22.0504746,3.4913566,14.0438868,12.859826,37.1135381,12.9166667,1.2151319,1.2276461,18.0162389,13.9416164,56.1375146,15.348498,34.5272025,66.8871636,35.6732183,45.1685745,22.1096668,3.2333243,13.0613232,12.4324869,36.4001636,11.2612613,1.354378,1.3663795,18.4282926,13.6972237,55.6674013,15.4832903,34.4566939,67.8424083,35.777075,45.906755,23.7864672,3.1017087,13.1178207,11.3924937,36.8322766,13.2478519,1.1606418,1.1954434,17.8376479,13.5713288,55.8100217,16.1243686,33.736669,66.5885943,34.9388995,45.2012644,23.5591547,3.0786973,13.194354,10.7654414,37.1350523 +333,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3705768,1.409286,25.3417162,20.7714616,69.4428845,14.072467,35.6587437,64.640629,30.3492825,40.2893846,19.1317823,3.2634453,14.7212783,10.6103206,37.0363697,15.9626547,1.481136,1.48725,25.4976706,20.5696703,68.5950221,14.3667707,36.0448668,65.0666343,31.5581405,40.4707394,19.2906138,3.5468643,14.3467377,10.8916917,37.1564834,16.5017647,1.3825584,1.394693,24.8678937,20.1311244,68.8374316,14.4536417,35.5794035,64.982871,32.1650064,40.3995824,19.4516939,3.5850399,14.1278361,10.9569596,37.2419613,16.3924416,1.4027654,1.450245,24.1942113,19.8042299,68.6935313,14.6710019,35.6345431,65.1154693,31.9240438,40.9265201,19.5964648,3.7813803,13.9445099,11.1406322,37.3766671,15.4094242,1.2678422,1.3253355,24.287688,19.8936111,68.5677987,14.549088,35.4396984,64.9094546,31.761111,41.1117089,19.5540062,3.5244345,14.0825666,11.2098716,37.9003583 +334,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2385115,1.2771518,23.3950842,19.0807717,68.242043,14.2602495,35.6654688,65.1862476,31.9381691,41.4375748,19.2651404,3.5676065,14.4355278,11.4513432,37.4568999,14.5515199,1.1333669,1.193114,23.0809708,18.6369861,68.8137864,14.5618993,35.2894567,64.9280653,31.9794683,41.0168517,19.1310175,3.9961021,14.314189,11.2755162,36.826886,13.7659867,1.2090225,1.2694025,22.9046457,18.3216333,68.0518075,14.9423486,35.0345669,65.4004447,32.4227344,41.7826249,19.5144528,4.1249693,14.0079059,11.5603833,38.3207497,13.6362974,1.0978218,1.1408971,22.2471038,17.8900116,68.2082232,14.8723658,34.8047526,65.8303574,31.6279231,42.2326171,19.6427077,4.0205724,14.138542,11.2111051,37.450078,12.6478367,1.1348459,1.1783712,21.724376,17.1691275,67.6556719,15.3337291,35.6618367,66.6186937,31.4991417,42.5264574,20.0286854,3.9968273,14.2065861,11.113639,37.3991966 +335,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4377729,1.4592683,21.8576408,17.165934,52.9417314,11.6227374,36.3333538,66.2434041,36.4621814,46.604565,21.6842359,6.1648305,13.2335017,10.3553846,32.3921572,9.1442382,1.4901241,1.5468714,21.350702,16.7973673,52.5446325,11.8899021,35.9875035,67.1789229,36.3104165,46.7082107,22.0699515,6.2149767,12.9255439,10.3551892,31.71237,10.4075451,1.5149456,1.5718811,21.8850697,16.9689242,53.3483426,11.8487343,36.0904241,67.2449856,36.187485,46.3788738,21.8871792,6.1310088,12.2944354,10.3029861,33.2186723,9.7598357,1.5124728,1.5397363,21.4709255,16.540367,52.901521,12.0540992,36.9475959,67.3243755,36.2195636,45.7170733,21.6920054,6.0062637,11.9511087,10.6203151,34.42488,10.1724163,1.3769096,1.4047756,20.880002,16.2516227,53.1059612,12.0401879,36.8748151,66.5837114,36.1634057,45.8860404,21.6980089,6.1147589,11.9965209,10.0929899,33.0132536 +336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8181362,0.8420109,21.6057681,18.2623003,86.3960078,11.6773713,31.7758588,63.3023012,27.1640415,41.9978926,14.0680658,4.7582285,15.4605355,12.5519316,31.2608739,10.2740737,0.9620164,0.9657299,21.8416836,18.2173525,86.3056365,11.4778366,31.3454662,63.6241847,27.2041121,42.3124436,14.4951277,4.9146977,15.982129,12.5133565,31.7610611,10.7005038,0.9901576,0.993975,21.8048903,18.2379381,86.1167196,11.4004829,32.0003296,64.1196406,27.0040985,42.3590554,14.284327,4.822489,17.1486671,12.6527956,31.054308,12.0193734,0.9965406,0.9782001,21.7457328,18.2503731,86.7671397,11.6059911,32.5997828,64.9302937,27.4745215,42.9804773,15.10667,5.2089277,16.7231929,12.6837449,31.5439324,11.3604499,0.9492687,0.9309346,21.7600052,18.2834621,87.0311073,11.6758166,32.3200644,65.0398935,27.7654265,43.0284085,15.4395476,5.1589644,16.8370869,12.5094522,31.7541967 +337,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5167646,1.6170642,26.8272248,22.4898219,52.5273107,17.3550497,41.2653716,64.8035064,36.9410586,47.2358026,22.8623668,3.2800934,14.8289847,13.3792008,33.8726295,16.0340924,1.5356861,1.6110059,27.2694341,22.8401338,51.955754,17.2205715,41.0124601,64.4375377,37.1375584,47.11246,23.2874702,3.3874996,14.9018438,13.1320902,33.238044,17.3785691,1.526088,1.6001372,26.6872802,22.3609628,52.557017,17.6388997,40.0739335,64.3658988,36.9610627,46.7083402,22.901207,3.4830285,15.086854,13.0789226,33.5897026,16.1256959,1.3848861,1.408274,26.3408175,22.0258656,52.7357702,17.6288249,39.9722673,64.4564572,36.4998673,46.9929503,23.062378,3.5103164,14.727246,12.6815071,32.975466,15.4080815,1.3260541,1.3842584,25.5985532,21.6324282,52.360909,17.6187965,40.5468963,65.3721082,36.5260907,47.5149826,23.4140527,3.4340657,14.6876371,12.0876089,32.9777119 +338,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8721279,0.878547,17.4624655,14.0374907,47.4279007,9.8365241,31.1555017,66.6686255,32.5264398,45.5293905,19.1588039,2.8860519,13.481602,10.1815036,30.1775867,12.6243705,0.9101304,0.9225961,17.5008788,14.0268514,47.073578,10.1725458,31.4723916,66.5369435,33.1694653,45.9423827,19.2868595,3.0432489,13.5487839,10.5069722,30.4364487,11.2720293,0.9272452,0.9437016,17.3600347,13.8742821,47.4774526,10.3022779,31.0213566,66.6044981,32.9076583,45.9064724,19.2929039,3.2400827,13.2915545,9.7420426,30.2261529,10.5493239,0.9681243,0.9569065,17.5651711,13.9086196,47.1659919,10.2230729,31.7305694,66.4461286,33.168499,46.0327591,19.4055202,3.2930995,13.0317102,9.8232176,30.2555579,10.6837711,1.0010303,0.9889206,17.7660116,13.9788987,46.9554671,10.3857293,32.1768113,66.664471,33.3991774,46.5499775,19.5863681,3.4563821,13.1324,10.1270178,30.8528368 +339,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7298857,0.7209537,13.5640231,10.9883781,64.6551739,13.7558721,31.3462218,66.7533751,29.8917047,40.274978,16.5675815,13.1383381,13.2523573,9.5570808,36.7570602,6.8930738,0.7543283,0.7574611,13.6648206,10.930814,64.4153776,13.4403591,30.75257,66.256213,29.3996372,40.4027077,16.7371367,13.0271648,13.2736607,9.6506322,36.4991371,6.9205312,0.7214079,0.7390749,13.7387387,11.025561,63.8219236,13.3829996,30.5096475,66.6189885,29.7785531,40.7978407,17.0640022,12.9953392,12.9786693,9.3389848,36.8969386,6.8151596,0.7077571,0.7182408,14.0207173,11.1880365,63.951347,13.4065606,30.6463739,66.2980788,30.4861132,41.276711,17.4626132,13.1143162,13.0545051,9.5810342,37.1666679,6.5321477,0.6654731,0.6788551,13.869807,11.01659,64.0006436,13.5190424,30.6924915,66.5332925,30.8098634,41.6186568,17.4829316,13.1508734,12.6330922,9.5612646,36.7850741 +340,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.7943027,1.8062818,30.3408623,25.1043068,70.1931237,8.4671643,34.1236453,62.9480596,33.9301418,39.2009777,18.9532626,3.6996008,15.4573452,11.2330744,40.4690204,16.6857164,1.7735728,1.7993246,30.0662829,24.9523533,70.4704386,8.5439961,34.7123725,62.7915465,33.6464626,38.8342645,18.7930641,3.5923418,15.6607256,11.1994546,40.779448,16.9917879,1.7453173,1.7714288,29.4824441,24.3052761,70.1108552,8.6232477,35.5159465,63.075898,34.1421373,39.1427554,19.1008036,3.5409607,15.5499393,11.1145767,40.620607,16.9653049,1.6426346,1.6621667,28.9159934,23.8380668,69.6533727,8.5353399,35.924727,62.5944008,34.1048319,39.1551034,19.1066214,3.5575496,15.3617371,11.1495667,41.0469,16.159451,1.5614881,1.5881935,28.3929755,23.2021544,69.4705899,8.3827274,36.0555245,62.8726769,34.5162192,39.2145594,19.2045964,3.5034725,15.1565349,10.8987744,40.7555656 +341,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4811067,1.5041761,26.1938002,22.1226943,71.6001389,8.5202287,29.6305333,65.6012603,32.6071798,37.5357306,16.3227625,4.0606491,13.5714295,10.0666019,37.8785743,15.4406016,1.4342955,1.4589266,25.4830527,21.2506225,71.5818735,8.5084862,29.4901707,65.7509603,32.580256,37.4169166,16.4651414,4.1330791,13.3319232,9.7614345,37.5124576,15.6962556,1.4069357,1.4328041,25.2443483,20.9995033,71.1979857,8.3321611,29.6168094,65.8662811,32.7065775,37.2092219,16.2302004,4.063794,13.4571279,10.186649,37.7228569,15.5541786,1.3727055,1.4039748,25.1721665,20.8082672,70.8774896,8.313635,29.7453178,65.9084364,32.8943542,37.0084197,16.3873182,3.9435496,13.6818472,10.361606,37.8796766,15.5606852,1.362991,1.3796297,24.7951127,20.4778301,70.6462237,8.3291054,30.055826,66.1316418,33.199881,37.1960641,16.767062,3.9190473,14.0055823,10.7835939,38.5147167 +342,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3042753,1.2966682,22.5035717,18.8688008,69.0579861,15.9184772,33.2163267,65.3105758,30.1315179,40.362883,16.8080352,3.9738161,14.5281362,10.5888697,32.86033,13.2422416,1.2916124,1.2916124,22.449552,18.9342405,68.8248702,15.7438422,33.7865579,64.6082509,30.0669885,40.4236574,16.8881116,3.8190157,13.9362747,10.3236491,32.5312871,13.8343617,1.3549119,1.3543939,22.8646292,19.0264884,68.2619162,15.2503377,34.3042116,64.3338362,30.0179268,40.6355448,17.2172003,3.7466114,13.993062,10.5861246,32.5369579,15.2013357,1.3779831,1.3800368,23.0281779,19.0777575,68.4782044,14.9063896,34.5600341,64.2624197,30.421087,40.9103685,17.7409121,3.7464059,14.0388034,10.9063147,32.7484139,16.0006925,1.41372,1.4416958,23.6476774,19.5651415,68.6711925,15.0536157,34.6886109,64.4575616,30.0508972,41.1690084,17.8153683,3.7643611,13.8185125,10.2900704,32.5883155 +343,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0987337,1.1397234,23.9185732,20.9708259,85.825475,11.1022605,30.3762625,64.8557438,28.0408283,40.3666538,14.969168,4.4274649,16.4815439,13.9930095,32.9959399,14.1811456,1.1966581,1.1921953,23.5675558,20.5286473,85.4582834,12.0415594,29.5432949,64.5384155,27.5811974,40.3507332,15.0369633,4.2939792,16.3815155,14.1340206,32.9780236,14.3476389,1.2730508,1.2276536,23.6618366,20.5132558,85.3199283,12.4167861,29.6705337,64.6992974,27.8150421,40.8030258,15.530947,4.5905513,16.4014925,13.4946249,33.3891011,13.5614766,1.1730479,1.1130808,23.3933972,19.9289068,85.2312288,12.118845,30.4823649,65.4553466,28.0703625,41.209183,15.6933028,4.7127972,15.457413,13.3746675,33.0376758,13.6487025,1.1010446,1.0216528,22.8672391,19.3035525,85.1198265,12.2715716,30.4201565,65.2498469,27.8731989,41.6587083,15.7114151,4.8551473,15.4219746,13.4826923,34.1059576 +344,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6358406,0.6917807,15.6991208,12.1712285,63.1758571,20.7484278,35.9682975,67.8790731,30.2780933,42.9194585,18.8651276,6.9026807,14.3374657,10.7920472,34.1180348,6.9872705,0.6959571,0.7503934,15.6080874,11.8926322,63.7399224,21.2449418,35.7324265,68.0806868,30.9342825,43.422285,19.4311518,7.5150893,14.0012598,11.7243249,34.3955178,6.6844681,0.7964605,0.8508322,15.4931393,11.8141134,63.5529774,21.7002406,35.49363,68.2643375,30.9077348,43.2006315,19.2833873,7.786619,13.3440171,11.5433787,33.3009817,5.8983452,0.7431267,0.7983841,15.5049616,11.8909019,63.5813716,21.7385091,36.4620544,67.7059962,30.7432323,43.473361,19.4022277,7.8675241,14.0183572,11.9172451,32.2207557,6.0296622,0.7855525,0.8416254,15.2572816,11.5207921,64.2667317,22.1484699,35.9456814,68.0791805,30.6447256,42.6865233,19.1590133,8.0333625,14.110207,11.3953337,31.4715632 +345,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6741641,1.763457,24.2872616,20.1367632,48.0300029,15.4725491,39.9214587,67.1588556,36.2079237,48.9813749,23.9966155,5.8413968,13.2317325,10.8017227,30.7346694,15.7389596,1.6197205,1.7387765,24.6072954,20.2239252,48.4779188,15.6918952,39.0309106,67.4397057,35.0097051,48.3184165,23.7845124,5.4292171,12.6120015,10.1658725,30.102684,16.3415721,1.6640669,1.7820897,24.82726,20.4808579,48.0582396,15.941237,39.1499631,67.5251387,34.9602372,48.6096469,23.6840692,5.3964156,13.153461,10.7529724,30.5460343,16.9021292,1.7433294,1.8656618,25.1403412,20.4321431,47.2496386,15.8173022,39.4227447,67.4587445,35.5193017,48.8606198,24.2667084,5.7032323,13.5075611,11.1594862,29.9254094,17.5870214,1.558727,1.6258216,25.0180446,20.4178592,48.3429624,15.9250862,39.0171477,67.0997242,34.9567492,48.395373,23.6876032,5.634333,13.214191,10.7066694,28.9499557 +346,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3064728,1.3341214,24.8070526,20.4941007,70.2247192,8.2551972,30.4841859,66.2853451,33.3117939,37.4087862,16.9238367,4.0095767,13.9828556,11.057474,38.4573626,14.1747953,1.2766063,1.2995997,24.6570576,20.4719858,70.0071195,8.4661978,30.9590408,66.4684829,33.7491241,37.6738939,17.0241704,4.1307214,14.1015621,10.9590127,38.3209341,13.4520087,1.2214331,1.2340502,23.872671,19.7883088,69.4743198,8.6545938,31.0658563,66.6574728,34.2405853,37.9588775,17.2246743,4.1239949,13.9952169,11.1049052,38.2063255,13.3756493,1.2186374,1.2269496,23.4437893,19.4516797,68.7203225,8.861104,31.4537129,66.5811651,34.6342031,38.0830248,17.508485,4.1393726,14.5091436,11.4508124,38.070111,12.3565996,1.1828807,1.1827939,22.9266573,18.9237819,68.6616293,8.7876146,31.491384,66.7451282,35.0742095,38.2660383,17.9739879,4.2571002,14.3626424,10.876209,37.7497898 +347,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.5826261,1.6154707,19.5778687,14.3654306,47.1498704,13.6008852,38.1284214,66.3394971,38.9964259,47.2427742,26.4099338,3.9278576,13.8440895,11.7726247,40.5320203,15.3017571,1.4752737,1.5078345,20.2454175,14.8145014,46.5980604,13.3140384,38.2423266,66.3279399,39.0187903,46.6111842,26.292926,3.8609004,13.8888935,11.1454029,40.3283216,16.025689,1.4856423,1.4656136,20.8461066,15.4043386,45.8980858,13.0147985,39.1245924,67.158645,39.6559655,47.1842028,26.7694393,3.6976821,14.3696972,10.8880897,40.0858009,16.2222355,1.5828003,1.6034023,20.8883942,15.5058599,45.4978498,13.4078446,39.4274736,67.0816568,39.5185555,47.0806254,27.2643817,3.6215894,14.6640399,11.5646169,39.9376568,17.2489174,1.6968704,1.6775087,21.1115359,15.3270267,44.281017,13.4601558,39.5328769,67.1998611,40.2109088,47.6694586,27.5991746,3.8196816,14.0508025,11.6785284,39.7908806 +348,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0266893,2.0363957,35.748318,31.4211135,65.0762468,16.305173,36.2545508,62.7905238,28.6247627,39.7257748,17.8997793,2.9552013,18.2191726,13.0522328,38.9356688,19.6452256,2.1974793,2.1936745,35.3984296,30.9842252,64.4154509,17.0621754,36.7572022,62.557813,29.2171787,40.3716272,18.1759108,3.146588,18.3561466,13.8251354,38.7235816,18.0970197,2.2556432,2.2610194,35.0310736,30.5092932,63.9565419,17.1013532,36.4842091,62.7020224,29.7114981,40.705788,18.3223593,3.2092724,17.9837453,13.347166,37.8753551,19.2238239,2.2327785,2.2498879,34.6055742,29.7932746,63.0911792,17.2116624,36.38023,63.6914095,30.4264078,42.0281182,19.6157104,3.3110635,17.8135422,13.3980011,37.7403226,21.1273503,2.2736589,2.276848,34.7077906,29.7666637,63.1481003,17.309795,35.8651174,64.8901689,30.9483915,41.9261232,19.6027317,3.2242826,17.7588814,13.6188728,37.6701271 +349,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8743537,0.8856188,11.6787004,8.7184116,72.3447262,22.7158273,32.0827233,68.136896,30.0695461,40.6112738,15.3916545,4.0812592,13.8399413,10.4625551,32.8286558,7.7020202,0.6654042,0.656383,11.0729769,8.3995665,72.675487,22.5152494,32.2279223,68.1018688,30.7988274,41.2788567,15.5551484,3.9391719,14.2062315,9.9703484,33.3208955,7.0291777,0.6871613,0.6780257,11.1416026,8.5437248,73.4118087,21.7906637,32.0350354,67.6295192,30.2459933,40.980246,15.4863958,3.7458069,14.1189759,10.6711916,33.2448825,7.9301075,0.6705161,0.6352886,11.3762486,8.6015538,74.0037594,21.7575534,31.9962335,66.6101695,29.5856874,40.8851224,15.386064,4.0489642,13.5918675,9.9170437,32.1076573,7.5284091,0.5321141,0.5257106,11.4953271,9.0280374,74.581749,22.0588235,32.4524715,66.5209125,28.8022814,40.095057,14.6577947,4.0494297,13.5471698,9.7054381,32.2053232 +350,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.083963,1.0981509,21.5889278,16.8882433,67.6548159,15.3908489,35.4923735,66.8587669,31.6365351,42.0760577,19.8800405,4.4321321,14.5267885,11.5312017,37.8175246,12.4599493,1.1898354,1.193349,20.7307296,16.2225994,67.4236536,15.120806,35.4174391,66.9257712,32.0069509,42.0067931,20.3363476,4.582301,14.2890563,11.4918134,37.5232774,13.5469151,1.1350329,1.1394929,20.5920032,16.390955,66.9192618,14.872778,35.2040729,66.632254,32.1050941,41.8846575,20.9939478,4.5798195,13.377677,11.1187061,37.5808431,13.6816351,1.1128462,1.0956647,20.2219039,16.2740182,66.4747998,14.7252513,34.9408384,66.6088404,32.00322,42.1349901,21.1079593,4.3140635,13.1494857,11.1439935,36.8166267,12.8775246,1.0105707,1.0002035,19.8013219,15.8752783,66.6387628,14.5154077,35.4318284,66.5215446,31.9957489,42.2334241,21.3579727,4.1538422,12.7684832,10.6726171,35.8352763 +351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.1611922,1.0646362,22.3632659,18.5268607,84.8520883,12.0187592,30.5590249,65.4511979,27.6486956,41.6774835,15.4511652,4.8234301,14.9602986,13.1856621,34.0746028,12.6388855,1.2115585,1.1139037,22.2571251,18.4158152,85.4257893,11.8022131,31.0645544,65.8371218,26.9774789,40.9195055,14.7165391,4.7627033,15.3467855,13.5231849,33.6294056,12.7746835,1.173264,1.0903933,21.7886004,18.0895903,85.6784284,11.1531167,30.6557968,65.6011874,27.1114601,40.8908922,14.0609356,4.8526107,15.3565763,13.7804828,35.0233583,12.2252142,1.1018122,1.0965558,21.4765624,17.7458388,86.4070829,10.569251,31.2562233,66.1237219,27.6282938,40.7288233,13.6210606,4.8538565,15.3102008,13.9185587,34.5949734,11.6758152,0.9979622,1.0091791,21.733118,18.1490153,86.1777235,10.3014728,31.8017797,66.4462512,27.4041739,40.454015,12.9602927,4.5226453,15.8259692,14.7294868,35.4945638 +352,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.5392729,1.5403399,21.2359356,15.6589574,43.4758157,13.3422176,39.9319232,66.4189512,39.7967848,47.5439362,27.4553825,3.8960965,14.1966025,11.9984822,39.7501141,15.6652402,1.6148878,1.5809057,21.3558607,15.8469342,42.8519273,13.2560714,39.470998,67.0206808,40.2373897,48.5773699,27.794996,3.809346,14.2901004,11.7543541,38.8206429,14.978905,1.5166797,1.5236159,21.1651117,15.6489491,42.2559218,12.8017817,39.4887991,67.5921158,40.2555274,48.7345901,28.4389522,3.7659577,14.7870868,12.5885578,39.2424982,14.5652119,1.5177504,1.5247532,20.6072662,15.0105226,42.8197306,13.219681,39.4217024,68.6759128,40.4225534,49.3390682,28.0941041,3.7986062,14.7253179,12.9817328,38.7329693,12.8820749,1.6688552,1.6758701,20.9924682,15.4519821,42.7742581,13.007298,38.9955584,68.0553269,39.3593643,49.4088638,27.7637547,3.7515088,14.2254578,13.2243633,40.0340131 +353,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9072388,0.9475372,15.0372134,11.2495717,65.1910573,21.9477709,35.8663817,68.0380632,30.7035335,42.7073644,19.2158842,8.3091146,14.6731738,11.2744877,32.1570274,5.7765042,0.9971821,1.0268667,14.8307619,11.1909073,66.4044415,21.3009877,35.698381,67.5714213,30.7461063,43.0635234,19.2222271,8.4920446,14.2996417,11.3532598,31.1761438,6.4079307,0.8042871,0.8042871,14.5369284,11.0841939,66.4132984,21.1399371,35.771409,66.5012808,30.5858421,42.6536748,18.9340615,8.4346789,14.6444497,11.548441,31.1718402,6.1922194,0.7954201,0.7902325,15.0691679,11.5254537,66.6722918,21.0013359,35.5968816,65.5768078,30.5667626,42.4044444,18.5613749,8.4674516,14.4655933,10.488777,31.4866177,5.6405192,0.7855952,0.780299,15.1948701,11.4694406,66.4300676,20.4553376,36.1101304,65.6004363,30.6363171,42.5761065,18.3544315,8.1936142,15.5343045,10.6840244,31.6298369 +354,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4446356,1.4679702,25.95542,21.8643039,52.2627029,17.6316253,40.3874756,65.9954173,36.4616103,47.1251172,23.6448495,3.6854072,14.1197444,11.578114,33.151127,14.5359866,1.4695463,1.4813754,25.9500128,21.659754,51.81505,17.3451334,40.2660939,66.2737412,35.6781873,46.8060735,23.2319103,3.4854191,13.8717772,11.3589608,33.1522484,15.4563321,1.5182627,1.5407628,26.4162487,21.9740306,51.8396281,16.9424574,40.4367792,66.2315408,35.939587,46.9243058,23.1713519,3.4763452,13.9989384,11.0328501,33.7639054,14.8822238,1.5580537,1.5906772,26.068871,21.5668708,52.1801301,16.8377047,40.7585535,67.0098204,35.7273546,47.4061525,23.4749522,3.6626584,13.8699115,11.1023249,34.3137363,12.979681,1.5523332,1.5845724,26.2366128,21.7872031,51.2267806,16.443443,41.4756393,67.228917,35.7326669,47.4246351,23.834652,3.6440789,13.7229441,10.7989518,33.7238778 +355,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0780742,1.1353452,25.3318755,21.5985433,62.1794011,13.6463184,37.6609521,64.0795978,33.3620514,44.7300591,19.5498291,2.9981731,15.1085193,11.2583429,33.1824932,17.8183787,1.0462325,1.0969192,25.570946,22.0166882,62.0995163,14.0894962,37.800522,64.1624999,33.4582922,45.0020417,19.8246579,2.971272,14.8299155,11.336557,33.0998361,17.285594,1.0492317,1.0965109,25.3609422,21.8406707,62.073712,13.9911769,38.0432035,64.2221863,33.0939403,44.3289595,19.2916588,2.8644956,15.0640633,11.3571462,34.0088432,17.9906639,1.1828875,1.2135704,25.6140291,22.0449824,62.560253,14.1842156,37.8122531,64.6601741,32.7902459,44.2044846,18.5306597,2.9029635,14.7854425,11.9136302,34.1938857,17.147975,1.1963121,1.2338562,25.8097257,22.2167471,62.1541946,14.0940612,37.1255254,65.2044713,33.2227721,44.4141239,18.5670238,2.9332076,15.0645594,11.7174941,34.4832577 +356,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1091258,1.1225262,18.4849354,14.014497,56.2996579,16.5123051,33.1899809,67.3447295,35.8210062,45.1284626,24.6548603,2.9751843,13.90621,11.4399571,36.9928125,12.4999798,0.9253483,0.9385015,17.8707571,13.4117837,55.2536343,15.9913078,34.9724223,68.1479963,36.6145679,45.800852,24.876867,3.1310498,13.4045509,10.3962997,37.5925943,10.4166406,1.0025786,0.9642724,16.6545153,12.1952965,54.7929294,14.8481323,35.512938,66.9346378,35.7094631,45.829496,24.7412876,3.3866769,13.5405823,12.1181749,38.6125105,11.7423976,1.0410591,1.0057287,16.9459235,12.3440924,55.6340861,15.1190851,34.7650735,66.0772973,34.5598108,45.9593186,24.3750693,2.9315877,13.4231285,11.8361516,39.1947318,11.870478,1.1447693,1.0960134,17.2598324,12.8466325,54.9164503,15.583466,35.5593716,66.6380705,34.612527,46.8249985,24.771681,3.1639028,14.0170488,11.4185401,40.1330561 +357,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1090535,1.1351975,25.1605996,21.6259367,61.6927256,14.5514322,36.5974868,65.8884835,33.5975098,45.1081526,18.9858954,2.841439,14.4101547,11.2853773,34.3077294,15.2572418,1.275162,1.2955629,24.9862808,21.3709867,61.9434689,14.7878214,36.0834882,65.3459553,33.4187318,45.5538948,19.366214,2.6041959,14.65438,11.5614986,34.7267825,16.1733404,1.2709416,1.297498,24.872529,21.2727103,61.9688411,15.3042735,35.4119897,65.4594506,33.5945687,45.2453155,19.9028095,2.8503693,14.7486793,11.9848726,34.9088498,17.3117924,1.3581878,1.3806034,24.8152378,21.1327397,61.2551411,15.0664906,36.0798025,66.2201726,33.8777677,45.6312119,19.8701147,2.9994969,15.0148764,11.7741958,34.5402562,17.2450946,1.3340345,1.3264775,24.4044316,20.8682508,61.4580854,15.2408962,36.010404,65.353336,33.5543303,45.9925233,19.9725825,2.8177627,14.8119288,12.1151355,34.3118243 +358,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.8989526,0.9524867,21.2008942,17.6585673,86.1284594,10.4391589,31.2994026,66.3968221,27.2317558,40.7667653,12.7249862,4.301647,16.6420051,14.7340753,34.2825317,9.9997662,1.0844168,1.1722547,21.8803603,18.1798619,86.1021711,10.157625,31.3672506,66.2798133,27.6024312,40.3812263,13.0140094,4.1086978,16.8031892,14.5677416,33.6695059,10.4302771,1.0090847,1.1134586,22.4445772,18.7624249,86.1654371,10.452346,31.3061754,65.8692232,27.4675713,40.7217488,12.9825351,4.0739685,16.949667,14.3647617,33.7164251,8.6037453,1.0730089,1.199679,22.101127,18.2200446,85.4658308,10.5280119,30.7390745,65.4828153,28.2204896,41.4626831,13.4138659,4.6366403,17.0302936,14.5361659,33.6333432,7.5970577,1.1193007,1.247889,21.8277308,17.8824748,85.4445829,10.8426929,31.2011124,65.9288908,28.0985535,41.5176344,14.0202555,4.5570399,16.6666023,14.3927874,34.0853428 +359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6729662,0.6658114,11.8883835,9.1113392,68.2461228,18.3177408,33.4084275,65.955471,30.8375305,40.0609536,18.4071008,8.2030252,12.321136,8.5145779,36.4343057,6.4487667,0.6997076,0.7039716,12.036038,9.1850416,67.5818217,18.6362521,33.6427219,65.3887574,30.4412165,40.1802497,18.6037104,8.2189976,11.862102,8.7228145,36.4961477,6.0632721,0.6785458,0.6779689,12.3045771,9.4474356,66.7615939,18.8935875,33.7772355,65.4963746,30.7371532,40.0995416,18.9265526,8.3535152,11.6539214,8.7656857,37.5276521,5.3228658,0.7275918,0.7351301,11.9105641,9.0650369,66.7255888,19.4415053,33.1759182,64.6923969,31.044255,40.110625,19.2525625,8.3243405,10.7995451,8.3610935,35.9111338,4.4815497,0.7281805,0.7543286,12.1191252,8.98984,66.2962952,18.8954292,33.5284401,64.5113029,29.9891133,40.0898405,18.8538006,8.4263566,11.2577174,8.7261287,35.6331495 +360,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0741935,1.0358153,16.08078,11.2586596,54.8996925,16.1447649,38.427867,69.1193007,37.4215864,45.7231501,26.3521472,3.1236862,11.9847742,10.3784252,38.0936816,11.0357378,0.9118675,0.8728773,15.9277697,11.453979,54.9563947,16.0127617,37.9511239,69.3039936,36.9749399,45.6725372,25.7316904,3.1607856,11.5773033,10.0424306,38.3661982,9.5791752,0.8131427,0.8262678,15.8103938,11.215691,54.4559314,15.7132407,37.6770654,68.9130384,37.3341228,46.2346772,26.6367314,2.8455998,11.3873002,9.9739513,37.7418188,9.0276775,0.7805497,0.793858,15.9400734,11.3677934,54.1462631,14.6657772,37.3596044,69.2757049,36.9684445,46.6827746,26.4311971,2.4502179,11.3695327,9.8685405,38.042333,11.1373457,0.7849703,0.8284673,16.4827041,11.4210732,54.1684211,14.8821552,37.1727097,68.597161,36.7349233,46.9189638,26.5081784,2.6006176,10.7047974,9.9825432,37.0453354 +361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9743108,0.9638744,17.7123168,13.9426914,47.1148214,10.2762897,32.7427535,66.5385049,33.1967696,45.8400704,19.6332546,3.4854168,13.2990082,10.2303585,30.7797854,11.8961603,1.0665896,1.0570582,18.1395712,14.320062,47.5809717,10.1659069,34.0186208,66.7833878,33.4840116,45.7976942,20.2662083,3.597327,12.9867877,9.9115748,30.8582651,11.4702398,1.1505327,1.1551378,18.3971662,14.399667,47.6928039,9.9847974,34.2418892,66.5751433,33.7951699,45.530497,20.2209876,3.6202033,13.0694211,10.0761994,30.6280832,10.4139823,1.0852376,1.0964346,18.893414,14.8531623,48.0719793,9.884604,34.385894,66.630648,33.5981153,45.8374804,20.6724134,3.5142113,12.6172386,9.9948961,30.6285532,11.8718616,1.0949469,1.1141019,19.3269359,15.2744181,48.351681,9.6997576,34.4787817,66.5196698,33.3397256,45.7052341,20.5389867,3.5522032,12.5732433,10.3742413,30.497824 +362,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3807485,1.3900789,24.5428725,21.0045385,61.1508021,15.6854088,36.5627713,65.4930423,34.0658598,46.0943712,20.3698082,2.7314916,15.2940396,12.1760407,34.3523439,15.7709764,1.3666829,1.3909196,24.6563758,20.9586512,61.1685781,16.3511697,37.1296338,64.7547932,33.4170538,45.5942973,20.5864309,2.8185814,14.9327404,11.9712901,34.2123265,14.5389736,1.4819663,1.5184362,25.4241313,21.3389006,61.0606627,16.1709592,38.0824281,64.8230924,33.360302,45.526028,20.7331577,2.9615591,14.9701837,11.8126343,35.68543,15.5681576,1.4068077,1.4528707,25.2427789,21.1132774,61.0493039,16.4832095,38.1191787,65.1983788,33.4846478,45.1594053,20.4982906,3.2480005,14.7331062,12.037976,36.3997191,14.8782656,1.3696382,1.4187343,24.662475,20.3719903,60.633469,16.408253,38.6966647,65.1985462,33.597819,45.6325963,20.7092305,3.3096676,14.7416248,11.5231593,35.6021603 +363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6574693,1.6747869,20.7847406,15.1847868,43.0510985,12.4476887,38.7466339,68.7283403,40.1636831,49.1781218,27.5098651,3.8777788,14.5679537,13.1117913,39.6370048,12.3949684,1.6298157,1.6464419,20.6200333,15.4798436,43.5065619,12.4098951,38.8809255,68.7792616,39.9151344,48.9701708,27.175761,3.7892648,14.6378181,12.5305494,39.5351183,13.4615557,1.7277015,1.787356,21.2791351,15.7357306,43.783775,12.9252906,38.3244249,69.6950156,40.2255844,49.1426146,27.0926277,3.5666817,14.1074626,12.7186627,39.5858247,12.5550386,1.7890088,1.8748911,21.1241265,15.8005151,43.758159,13.213135,38.591491,69.6639402,40.7410844,48.9965156,27.4853876,3.397068,14.7740292,13.4481262,40.9098831,13.3771609,1.9459916,2.0035927,21.5215693,16.419895,43.8070306,13.4219414,38.8285321,69.4981187,40.7570611,48.9878453,27.1474023,3.7138982,15.2318869,13.2736131,41.0240396 +364,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1823929,1.1962652,22.719584,18.67446,68.4415795,8.5897624,31.7143118,66.9048711,35.2753526,38.9090767,18.2130191,4.3079756,14.0237956,10.7043879,37.1769498,11.2042734,1.0759957,1.1048498,22.077338,18.0543023,68.3105671,8.7209277,31.9095519,66.7147154,35.7236972,38.8458695,18.4570409,4.378448,13.779004,10.3140176,36.9774018,11.2303717,1.1106218,1.1517839,21.3197367,17.3547978,68.2393596,8.9993505,31.8565645,67.0614708,36.323767,39.2663949,18.9795093,4.528687,13.6574504,10.0397971,36.7491989,11.7254339,1.0839917,1.1198037,20.6946757,16.767887,68.192191,8.9210914,31.6277407,67.4162413,36.200012,38.9350765,19.1994353,4.551499,13.9061223,9.9429463,36.8968962,11.7895362,1.0891898,1.1521983,20.2767887,16.4508194,67.9215296,9.1451678,31.8908696,67.6776642,36.4678462,39.2428108,19.6150594,4.7081204,13.9172635,9.5688486,36.945678 +365,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4676136,1.5513014,25.3529303,20.6655743,48.5850513,15.8636069,39.2319202,67.3829124,34.9018297,48.4424833,24.5571978,5.5716328,13.3445779,11.1160196,27.9252334,16.1778678,1.324635,1.4110669,24.8848316,20.4472994,49.6784301,15.9255768,38.3334552,66.3073761,33.972128,47.4655106,24.1386043,5.6444403,12.7170878,10.9846037,28.1930792,14.6942825,1.2300279,1.2890024,24.1055514,19.8036538,49.492485,16.1779094,37.816804,66.0696323,34.5141447,47.706521,24.2997327,5.6445365,12.4467375,10.8035395,27.9148098,14.875776,1.2016807,1.2298694,24.1709929,20.2234833,49.8435702,15.8993375,38.3766246,66.2605764,35.6768976,48.7775759,24.5091749,5.9916474,13.0661577,11.096518,27.9051321,14.3667853,1.0169405,1.0353733,23.4977954,19.7691355,50.3456121,15.5283917,37.9144143,66.4486361,35.3322507,47.8648256,24.1826748,5.6393553,12.8643549,10.7233505,28.5439865 +366,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.1825808,1.2824457,21.8485732,17.9343445,84.7602289,10.8053625,31.009721,65.6209352,28.5806337,42.8416043,14.5940698,4.4075688,17.3338809,14.543221,34.4977561,9.0105529,1.1639958,1.2667091,20.7920231,16.8399262,84.7825908,10.7811624,29.7593889,65.2205965,29.37899,42.3857228,14.9654006,4.6207791,16.7054596,14.1582311,33.8392845,10.3389305,1.2119476,1.2728745,20.5707845,16.5714331,84.7765285,10.9548709,29.5288827,65.2962535,29.8051752,42.011891,14.8731736,4.4440963,15.6807567,14.0599278,34.0536207,10.3146709,1.0790622,1.1366458,19.8498867,16.2002331,84.8567824,11.095187,29.2170367,65.3269244,30.6329536,42.753003,15.1395913,4.4356211,15.8185843,14.8006767,34.3161908,9.6610038,1.0626426,1.1227349,19.4784967,15.917653,84.8026579,11.2937691,28.4446756,64.9696706,30.784095,42.0926686,15.1863453,4.354379,15.720773,15.00005,34.0746543 +367,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4613182,1.5791528,21.3833089,17.1231518,47.583101,15.4791761,39.7523713,67.2916576,37.0387476,46.9712932,25.3756946,3.1467023,13.5003148,11.3814324,37.1001502,15.526324,1.3708069,1.4906929,21.7663431,17.453134,46.8239474,15.7816277,39.9700917,68.0415088,38.2742493,48.8020701,27.221759,3.070129,13.1118872,10.7558343,36.1111646,15.4450624,1.4612195,1.629078,22.5791655,17.9656328,46.4273376,15.6394092,39.372442,67.9110251,39.2530769,49.5829864,28.3875648,2.8954779,12.5744994,10.2976359,34.801018,15.8602518,1.2359542,1.4055964,22.2768599,17.9088493,47.4053409,16.2138274,38.6718589,68.5396701,39.7536261,50.1502525,28.8161222,3.094953,12.2023882,10.2853926,34.5553212,17.7966001,1.2926432,1.4653767,22.5159814,18.589815,46.6357523,16.5767366,39.9451468,69.3174819,41.1030082,51.1578248,29.6465764,3.3820849,12.4083343,10.9279934,34.2980549 +368,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4708135,0.4817595,11.2486147,8.625785,74.8405253,21.2260677,32.3761261,67.4737237,29.3355856,40.9722222,14.6584084,3.8851351,13.1309437,9.3338214,31.4528024,6.6761364,0.4719555,0.487878,11.7701404,9.1093865,75.0568182,20.3531599,32.6202196,67.0390004,28.4551306,41.4047709,14.4452859,3.6160545,13.3604737,9.2962963,32.3507463,5.7352941,0.4466399,0.4510476,11.5312966,8.9232489,74.9426606,20.9131905,32.1933512,66.4310279,29.9388613,42.3194498,15.2273596,3.8020634,13.2561613,9.1486184,33.3709556,5.5722892,0.4454226,0.4714417,12.1575342,9.5319635,75.2850963,21.0617761,32.1106316,67.4970577,29.560612,42.4676344,15.6728129,3.7857984,13.0385488,10.0830816,31.9740854,5.6402439,0.4039468,0.4679537,12.5048022,9.738763,74.6129416,21.4842228,32.6138614,68.1782178,29.7623762,43.1089109,16.1782178,4.0594059,13.5042081,8.8999236,32.1373457 +369,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8384648,0.8609133,18.6673269,14.7065522,59.7653038,10.5596982,30.3318494,66.8332633,36.7750913,41.4949865,20.5004229,4.7979713,14.5594467,10.7367536,33.1547402,10.2910603,0.9945573,1.0576511,18.6220169,14.4791133,60.2436196,11.3018407,30.6139914,66.5856925,36.6492613,41.2278213,20.1482249,4.8457756,14.3154067,10.3501431,33.4218011,10.5208333,1.2030663,1.2725232,19.0904334,14.6360624,59.8190606,11.149284,31.5780603,66.4081428,36.4822565,41.3792969,20.3921642,4.8683378,14.205556,10.2683507,34.257375,12.0212766,1.2351628,1.3089663,19.989949,15.3265826,59.9733085,11.2408824,31.9147987,66.9762885,37.4061009,42.1226163,20.7270143,5.1039088,14.276064,10.3196395,34.3749027,12.6774848,1.3870258,1.4607179,20.3429632,15.6845852,60.1502784,11.6032556,32.4658227,66.9671003,37.4670408,42.5057448,20.3098693,5.1011464,13.6183121,10.422386,34.2998525 +370,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3132541,2.3359641,34.2393024,29.3698822,62.7875365,17.2213123,35.8698939,64.8853425,31.7281031,41.6899785,19.695149,3.2975432,17.6772053,13.9051434,37.4370432,20.7980037,2.343458,2.3640029,33.653455,28.722555,63.0549681,16.7221667,35.5546733,65.0808852,31.8760922,42.2236849,19.398955,3.1138876,17.6204945,14.0560177,37.5309477,20.7895168,2.2290859,2.2768468,32.7302185,27.8686559,62.8836405,16.510976,35.0934187,65.2355749,31.6064276,42.8129176,18.689893,2.9440717,17.5959719,14.7200528,38.4207202,21.1450836,2.2321842,2.283614,31.5203199,26.8733222,63.571279,15.6726501,34.5461279,65.0322605,31.2901612,42.6746298,18.5106472,2.9733099,17.22052,14.3772323,38.2856785,20.5129414,2.2150627,2.2584277,30.930059,26.2060035,63.2368851,15.6766276,35.6794419,65.1041272,30.9968268,42.9149447,19.3073367,2.8117564,17.1576265,14.5294709,39.9315752 +371,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0827109,1.123291,19.8237243,16.1296038,84.6545932,11.4574279,29.0414953,64.6840379,30.7405802,42.3746343,15.2287839,3.8561693,16.0862093,14.894629,34.7647495,10.8541041,1.1272622,1.1685971,20.0567798,16.1198141,84.1238004,11.1962602,28.4413837,64.6756936,30.750173,42.9616438,14.9422537,3.7521796,15.7129721,14.6008505,34.3278726,10.3636062,1.1699651,1.2129534,19.8588677,15.8097247,84.4282243,11.1084996,28.6607272,64.9442237,29.8653801,42.6086622,14.7126299,3.8229416,15.365432,14.5750104,34.6809473,12.1153147,1.1506322,1.1952112,20.0704953,16.0704855,84.7752751,10.9719978,29.246626,65.4267637,29.4383993,42.7300981,14.6591931,3.6707843,15.2193908,14.720478,33.754132,10.9052825,1.0191901,1.0638697,20.0422233,16.2828074,85.1571047,10.3959144,29.1627082,65.1910631,29.0668527,42.6074257,14.7128384,3.995174,16.1175334,14.321317,34.3910361 +372,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4300906,1.4999699,24.5905496,20.199279,60.9413342,16.8400578,38.2497508,64.922704,33.9662455,45.2285174,20.7900417,3.2010237,14.3848631,11.2563341,34.8085983,14.06367,1.4825546,1.5606716,24.8253422,20.5010501,60.7854295,16.3826664,38.6131463,65.6880249,34.4431632,45.5425212,20.9132687,3.3902293,14.7379057,11.4454008,35.155541,14.7992473,1.4160267,1.4818505,24.7585122,20.1816575,60.5970675,15.7303125,37.9862297,65.9760103,34.5626648,45.406253,21.109877,3.3246219,14.6203197,11.2755347,35.5475869,14.0172107,1.3315678,1.4065643,24.0589063,19.6920784,60.1187182,15.6477596,37.9807876,66.9126862,35.8363983,45.439168,21.6707507,3.2588983,14.6651656,11.6611279,34.5734171,14.0520798,1.2829573,1.3582497,23.4419955,19.3030362,60.1152154,15.7319131,37.9142592,66.9909392,35.8938906,45.7371028,21.8408361,3.3493507,15.3751436,12.2946139,33.9714723 +373,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.4506045,1.4787144,24.3049454,20.0645426,68.6178605,14.8010505,35.2310436,64.4962228,30.3351097,41.6137897,18.4027064,3.5835677,13.4651915,10.0670495,33.2686772,17.8920907,1.3634217,1.4039719,24.6277731,20.503349,68.3921312,14.4539613,35.6189013,64.394001,30.5334527,41.7001904,18.3338503,3.4854077,13.5869516,10.274134,33.880427,18.293254,1.4615822,1.5057405,24.0796508,20.1973073,68.1286685,14.860221,36.0858158,65.158173,31.1386816,41.3861928,18.6589606,3.6377005,13.5060418,9.9470284,33.3406725,18.9341667,1.4779247,1.5055594,24.377871,20.3436846,68.5724299,14.9783142,36.1556775,65.461987,31.0029794,41.3817024,18.79238,3.7586144,13.6743263,10.327653,33.5342554,19.0641982,1.3567006,1.3947994,24.0963492,20.4244443,68.9643295,15.0425689,35.803107,65.233833,31.0352159,41.3927468,18.7020081,4.0465341,13.8232066,10.0262228,33.5022457 +374,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3860575,1.4548361,20.7140738,16.3410651,51.9629319,12.2781437,37.0198568,66.6850754,36.0130043,45.6130181,21.881059,6.0591129,11.9368758,10.5209847,33.8398789,12.7642966,1.560872,1.592693,20.6032179,16.4656059,51.7818955,11.9329681,38.2174481,66.9476501,36.4969407,45.714238,22.0057358,6.5820113,12.1655735,10.6065409,33.912792,13.4282742,1.364588,1.4601558,20.9017933,16.7868988,51.2295072,12.2489811,37.2624641,67.8664407,37.3690689,44.571241,21.9084103,6.9748583,12.3173627,11.316655,33.7898518,14.7355238,1.4445028,1.5032881,21.0323082,16.9498524,51.0821895,12.2061872,36.8312783,67.3583227,37.5189361,44.4904949,21.9116157,6.8101314,12.2090197,11.4634113,33.4674225,15.5696281,1.5627577,1.6309727,20.6227491,16.9416356,51.1775138,12.1870469,36.5047772,67.4325575,37.7222407,45.4164322,22.2577504,6.8669595,12.6407006,11.1325671,32.8420771 +375,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.9217028,1.933589,29.3434029,24.3350057,65.5974805,14.2805143,34.312778,67.4575802,33.3784091,40.0418116,19.1664656,2.5940461,13.4654309,10.080051,34.7201121,19.5558802,1.9346634,1.9430309,29.7598631,24.589556,65.6771955,14.4073992,34.2237502,67.3062367,33.1703069,40.2433142,19.0494215,2.6711779,13.9755114,10.5303503,34.8328962,18.9249142,1.9801968,1.9949908,28.7383811,23.6365915,65.3004794,14.5332502,33.7831112,66.8594096,33.2690791,40.6450837,18.9283059,2.7884821,13.8757611,10.1628219,34.4909911,18.0513899,1.7554193,1.7939049,27.7339738,22.7492341,65.3345865,14.4152046,34.3580002,66.3683392,33.4500656,40.8171164,19.3644642,2.9182834,14.0683618,10.7884848,34.8655904,16.8721414,1.7556337,1.7707888,26.8566113,21.9571803,65.1560188,14.0872373,34.5586453,66.4690349,34.0843243,41.8577032,19.8550779,2.9907746,13.6437142,10.725793,34.623706 +376,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0324113,1.0208386,21.3902221,17.974394,87.0158526,11.6852791,31.8111907,64.9744384,27.6139579,43.0042727,15.2674306,5.4169179,16.6092956,12.5095412,32.6487813,12.5718934,1.0887845,1.0805439,21.0141669,17.5964479,86.9328422,11.597316,32.0698711,64.7353338,27.6843557,42.9772346,15.3213082,5.1512385,16.6538724,12.4281584,32.7884308,11.6783509,1.1579912,1.1481867,21.1779129,17.6118838,86.8887006,11.7224444,32.0190059,64.4545169,27.640026,42.5207874,15.4524351,4.9506187,17.2788439,12.9739375,33.3926579,11.6836297,1.0641331,1.0650287,20.9501788,17.4815246,87.1328655,11.5891577,32.0199395,64.5194756,27.4308976,42.5145217,15.0366801,4.8993861,16.7114948,12.370584,33.1858325,11.3324723,0.9823095,1.038813,21.2039689,17.5975096,87.5215992,11.5198052,31.6072438,64.5066863,28.1362399,42.3410368,15.4216565,5.0839367,15.6404868,12.4191979,34.1783211 +377,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9267868,0.9459983,22.2071435,18.8798651,50.5178857,15.8463127,38.2154439,66.8437647,36.1212556,48.4809486,24.47769,5.1721954,12.4769758,10.4239401,28.5037108,12.4246965,1.068921,1.0992969,22.5176126,18.6077906,49.8063401,15.6544231,38.8013898,67.5617988,36.2544274,49.0738602,25.3836091,5.3645781,12.4314187,10.4121333,29.1800359,13.7720867,1.0637202,1.0726115,22.4669573,18.6008481,49.5333471,15.3357573,38.3594766,67.2681576,36.0306117,48.62021,24.4402409,5.3171192,13.0011221,10.2043251,30.325041,15.1136324,1.1937908,1.2027661,22.1885079,18.3753217,48.0310488,15.7196228,37.9520537,67.7216086,36.5176128,48.1524726,24.1112726,5.3125256,13.7267056,10.5083403,30.2253064,16.3833016,1.3965274,1.4055236,23.4866601,19.5284982,48.5478608,15.2946421,38.414999,68.307799,36.5853456,48.7696996,24.6870059,5.4401919,13.3182021,10.0848939,30.6636201 +378,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0645012,2.1011282,30.357968,25.864098,63.2090667,15.5324302,36.2478585,65.2666025,30.7733349,42.3181498,19.0419657,2.8008517,16.7679856,14.0964841,40.2722556,15.8914323,1.8933913,1.9307063,29.0773334,24.7185553,62.9852205,16.3513956,36.5364208,64.3622124,30.9836713,42.4456196,19.4032015,3.0391064,16.5214856,13.7207225,40.098353,15.7944346,1.707824,1.723144,28.1083354,23.8389025,62.5362029,16.7107865,36.4100436,64.4979455,30.7484354,42.2727742,18.6143139,3.06956,17.0166589,14.0935612,40.0979964,15.77168,1.569801,1.5774643,27.852337,23.5075333,61.9622569,17.2151184,36.7757204,64.5502227,30.4465746,41.2723625,18.3452724,3.0350794,17.6303452,14.1582491,39.8477579,15.3870079,1.5038508,1.5117825,27.7393112,23.2385563,61.2956959,17.1764505,36.2202996,64.4072392,30.6574256,40.6033699,18.5784744,3.2402708,17.3732007,13.5243853,40.1856821 +379,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.7932991,0.8451372,12.6086901,9.2706858,65.6643352,19.1972796,34.2134277,64.2936216,30.2322398,40.2681804,19.2562933,8.9162303,11.3404985,8.6255592,35.4939951,4.3133818,0.7688578,0.8203588,12.8587286,9.5430454,65.5858645,18.9991841,34.9601256,64.4899675,30.7533648,40.3216933,19.9752582,9.1421529,11.5149855,8.125341,35.7621345,4.411767,0.7646283,0.8163102,13.31559,9.7031597,65.0557186,19.2789084,34.7245088,64.5867745,31.0330462,40.3443473,20.0413196,9.1873286,11.2742365,7.8859888,35.5549266,4.2832198,0.7520199,0.7972707,13.9603857,10.3394554,65.3943682,18.6177489,35.0473721,64.7853898,31.7028825,40.2591958,20.1365614,8.7932004,11.2387862,8.1421268,36.1408321,4.5863342,0.7946378,0.8402941,14.406046,10.7509922,65.7041293,18.7829235,35.2751164,64.6967898,31.7939181,40.8337923,20.2835398,8.6047166,11.2204738,8.4503028,35.5850645 +380,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.083087,2.1065908,28.4836707,23.6997277,46.4352998,18.6804185,38.1241034,68.1900798,36.4973188,49.8021086,26.5012769,3.1467906,12.9409622,11.8560782,31.6222098,20.999902,2.0773361,2.1754586,29.4340091,23.9023721,45.6487283,19.3549099,37.4579801,67.6456227,36.3673918,49.5261139,26.7172149,3.613212,12.7153426,11.5957395,32.6407187,21.6310983,2.1779918,2.3527936,29.0421274,23.3249603,45.4631,18.6484299,37.3959636,67.343431,36.6854192,49.0258084,26.5557835,3.5387085,11.2623664,11.2623499,33.890552,23.2126774,2.2047896,2.3585664,29.6447749,23.9355662,46.6965938,18.0275165,36.4682301,68.3355116,36.5513251,49.7197651,26.5472806,3.6493946,10.6360835,11.3474676,32.5871154,24.4167497,2.1636715,2.3359719,30.0590867,24.5789063,47.5227287,17.7653053,36.7015388,67.3136924,35.317437,49.3212649,26.4207111,3.0539538,10.9848922,11.4687654,32.8328535 +381,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9810376,0.9979742,14.4155008,11.0558862,74.6943877,19.9351944,32.2218308,62.4568085,27.3496859,38.1997157,16.672424,5.4422938,12.9667992,10.2076119,31.8371598,8.6787565,0.9995886,0.9846409,14.4020793,10.9705422,74.6645523,19.7905911,32.3621722,61.6364263,27.1981821,38.189111,16.2072533,5.181436,12.6472567,10.0277509,30.9756083,8.7131367,0.9550267,0.9724559,14.7514992,11.6848821,74.4408395,20.0175432,32.8637623,61.822395,27.6569204,38.9621987,16.2446486,5.1176907,11.6090327,9.7173058,29.8226978,8.3333333,0.9357402,0.9536613,14.9581983,11.7593641,74.3518544,19.960331,32.3367532,62.6742467,28.1181237,38.829789,15.9757866,4.8606032,11.7147076,9.3634252,30.5659006,6.7919075,0.9270712,0.894034,15.6087574,12.1566443,74.1346875,19.9085908,32.5074464,62.1274216,27.4031304,38.4314459,15.9277171,4.8248859,11.8450098,10.0147724,30.5431558 +382,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2774997,1.3106073,28.3257197,23.3112502,61.1360935,17.8664217,35.8789054,65.1034907,30.4468312,40.5661521,19.0221761,3.2615445,17.7133292,13.9491005,40.1336171,17.2374547,1.2943387,1.3149108,28.4783436,23.6503775,60.8602673,18.0088614,34.5567046,65.1160253,30.1845507,40.4688521,18.2091039,3.0507004,17.8822681,14.0481235,39.8342663,17.4575346,1.250094,1.2621571,28.1639321,23.3048016,60.3062723,18.4091036,33.314785,64.5921846,30.0440501,40.2997479,18.1407497,3.1607745,17.9128706,14.4197233,39.782665,17.4495551,1.2334115,1.2456293,27.8399384,22.9941869,59.4654258,19.0020074,32.5764235,65.3013094,30.8915719,41.0575863,18.472166,3.4380683,17.2997141,14.2425818,40.3826678,16.8319718,1.2440707,1.2567213,28.211903,23.1106961,59.4917031,19.6934083,32.1975466,64.8973214,30.4585189,41.3499561,19.1630309,3.6145187,17.2223071,14.674105,41.29 +383,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3453674,1.3217918,27.5016958,22.1554955,59.6755099,19.9979546,31.9008199,64.7892781,30.8379144,41.8266912,19.4289534,3.7914764,16.2446319,14.3831827,41.7341599,16.6228942,1.4699167,1.4540694,27.0866551,21.9683489,59.3676264,20.4722032,32.4124997,65.0672733,31.8852015,42.5422158,19.9367551,3.804387,16.4850137,14.29409,41.5305181,15.5993058,1.5172135,1.4864882,26.0416102,21.0809238,58.5518124,20.9140594,32.8699691,65.2979872,32.8840078,43.19434,20.1535547,3.6793527,15.5172215,13.4524252,41.2166905,14.7501661,1.4238842,1.3916543,25.6658124,20.6538947,58.0096674,21.4313035,32.3301302,65.7470903,33.9889283,43.5394718,20.8654739,4.0017392,15.3957165,13.5017079,40.6257281,14.1325737,1.5125499,1.4354784,25.6611146,20.5399731,58.5205066,20.5404966,32.8875515,66.6820144,34.0590237,43.5993925,21.1612652,3.8637596,16.3789693,13.6413139,40.6950737 +384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2931971,1.36016,23.6637023,19.3612536,59.4613053,15.4298754,38.1419445,66.9046496,36.2894915,45.7964419,21.7705653,3.2487399,15.8195966,12.2566253,33.2666058,14.8195619,1.3634168,1.420496,24.0733578,19.4853402,59.7749456,15.3635856,37.3037008,66.5931738,35.976762,45.2380115,21.4223628,3.2250044,15.9252414,12.6544459,34.0893801,15.2605249,1.4057965,1.4581824,23.5899693,19.2146431,60.4973516,14.8376722,37.0580378,66.127606,36.1118964,45.1968567,21.2824802,3.2893863,15.1206081,12.7369175,35.3765797,15.4519877,1.3374727,1.3911836,23.1094892,18.5928417,60.382673,15.4576023,35.9801077,65.3589417,36.1743691,44.361373,21.5071622,3.2902849,15.112529,12.6276763,34.9368893,15.31619,1.3416722,1.392012,23.0382011,18.4826979,60.7361079,15.6152995,36.2090772,65.1914966,35.5958911,44.5511936,21.4565438,3.5169335,14.2931653,12.855202,34.1443133 +385,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2682849,2.4425415,29.5682282,24.1701218,46.4568793,17.4868242,38.0475904,68.1769007,36.6458143,49.5557819,25.7763782,2.9388246,10.9279665,11.7425533,33.2363772,20.7732142,2.2829106,2.4534373,30.2606891,24.8229873,47.8842768,17.8121275,38.987529,67.5395491,36.8152018,49.7980693,25.762006,3.4281359,11.1744554,11.4912198,32.3056216,21.2823745,2.2773825,2.4488033,30.0324245,24.6075235,47.7968725,17.2487076,38.3096289,68.2812421,36.8497229,50.1214132,25.0371487,3.4616111,11.2500878,11.3999762,32.639227,20.5022401,2.2121795,2.3102932,29.9464866,24.4804437,48.744378,16.7136032,38.6371976,68.9040998,36.8955186,50.3964297,25.0560904,3.1373715,11.1370399,11.3045141,31.3041828,19.0959889,1.9925036,2.0169122,28.8008345,23.7853425,48.6099623,16.6743531,38.375773,68.8976565,36.9729823,51.1338746,25.2313135,2.7777497,11.5931829,11.9220675,32.5483763 +386,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6380888,1.5669755,25.3707086,19.984968,59.0367031,19.8215363,33.1201339,66.2313781,32.93528,43.4146508,21.5193001,3.5694241,17.7176679,14.4724484,41.5902259,15.180629,1.7200124,1.6306665,25.062947,19.7991112,58.8920549,20.1398899,34.3873808,66.8271205,33.9718877,44.8826465,22.5582216,3.231071,17.9427081,13.9166387,40.5733063,15.1181839,1.5766803,1.5340636,24.8215433,19.7567556,59.0689495,19.5363748,34.8162093,66.8444921,34.4490086,45.8767837,22.8120994,2.8927924,18.7046301,14.0560177,41.4319728,14.5317039,1.3558893,1.3006785,24.8588295,19.7548724,59.3207204,20.1388433,34.7794753,67.1112212,34.1434092,45.5393777,22.2179431,2.7129737,18.5669348,14.2782457,41.0193503,13.6031175,1.3653413,1.3109335,25.2031818,20.2692603,59.5637766,19.7871944,34.5321135,66.9375458,33.639218,44.8265255,21.9797169,2.5470363,18.8980538,14.2489741,42.1572892 +387,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4103955,1.4929227,20.1956571,15.2607078,60.1772729,11.347796,32.3250932,66.904809,37.2497794,42.8858092,20.3690494,4.9110065,14.2369284,10.5250078,34.5871347,12.8336756,1.4934278,1.5943682,19.4058849,14.4614362,60.1911615,11.0769369,32.124871,66.4904838,36.6523414,42.6477263,19.831956,4.7324682,14.1188505,10.9629602,34.3012826,12.2129436,1.5636623,1.6778154,19.3822499,14.7516775,60.2772983,11.5703893,31.6734813,66.491721,36.1401404,42.6400653,19.8731884,5.0074529,13.3405128,10.6390512,34.6177016,12.3417722,1.4703802,1.5242463,19.9238485,15.1813007,59.5266656,11.2282929,31.4562111,66.3202826,36.3992357,42.9197658,20.6451158,5.0950462,13.1741621,10.5729296,34.9032064,12.6059322,1.5453219,1.5937354,19.3593147,14.7920389,59.2843745,11.3042635,31.3880023,65.9593163,35.9816258,42.3914214,20.583718,5.3601566,12.4261344,10.072615,33.9670158 +388,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3237616,1.3596489,23.9984486,20.258046,68.6212652,15.108742,35.7520237,65.0435053,30.8016564,41.0650208,18.4399478,4.2085775,13.8390869,10.0141364,33.7202194,17.8749505,1.2379355,1.2515083,23.5997869,20.003166,68.3432593,14.8516498,35.6701721,65.0873317,31.1597249,41.0375308,18.4945493,4.4275819,13.7588111,10.2768268,33.229236,17.4160684,1.2000904,1.2137844,22.5894856,19.0328018,67.9268227,14.8464245,35.5001001,65.1628762,31.2834622,41.248007,18.6095621,4.3766035,14.0209398,10.273576,33.2130037,16.330103,1.247353,1.2749368,22.1825979,18.5311325,68.4254653,14.9913875,35.2276413,65.053397,31.5812531,41.3594463,18.3586195,4.422992,14.1032208,10.5926865,32.6807043,16.1332777,1.1651401,1.1811691,22.1731195,18.217241,69.2108248,14.6894274,35.032195,64.2532527,30.5940762,41.5110221,17.6220158,4.2372864,14.0788593,10.5643151,32.9231803 +389,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.739175,1.7636192,28.6597412,23.8827328,48.0984107,17.1340745,37.6613545,68.0337533,36.4180269,50.6238183,24.859932,2.8492517,12.1751454,12.3364056,31.9691391,18.6274266,1.5983844,1.6396526,27.5612269,23.0194013,48.3397673,17.493319,37.053962,69.1212567,37.3809746,50.0665428,25.4114296,3.1717614,12.6156559,12.6156559,32.463149,20.3065672,1.4869913,1.6048714,27.0118935,22.5729678,49.1104656,17.1715096,35.8080766,68.7727418,37.50438,49.3721255,26.1201819,3.1084094,12.704366,12.3470497,34.0095647,22.0577813,1.3859958,1.5057891,25.352903,21.3257319,48.3701378,17.2905293,35.0089817,69.5051376,37.6488011,48.6989263,26.1029788,2.8451839,13.7140026,13.0409228,36.4307373,18.3832909,1.246785,1.3419893,25.2567916,20.9895143,47.7804897,16.8873152,35.4236383,69.2375204,37.8485188,48.4709532,26.2222325,3.2209512,13.2314551,12.7257944,36.1541136 +390,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.4885659,1.5217351,28.2121845,23.2258483,69.1565218,8.3855792,36.3338491,63.1826545,34.6480165,38.9561767,19.5216398,3.706081,15.3010718,11.0574696,40.0935419,15.5795359,1.4785392,1.5122423,27.843762,22.8313704,68.8480357,8.3229184,36.5840414,62.8554776,34.7247315,39.267358,19.6438841,3.8149045,14.8318874,11.0869676,40.1308529,15.8043752,1.4773405,1.5176783,27.2683805,22.5036927,68.4663459,8.5215302,36.9385371,63.1824163,35.0735504,39.7335033,20.1612801,3.8061664,14.8544981,11.2733625,40.0791665,15.9745307,1.4642402,1.5023494,26.6133969,21.830855,67.9425616,8.600765,36.9810051,63.3948106,35.3753616,40.1044941,20.3506618,3.9254769,14.7302276,11.5700636,39.8109005,15.7388218,1.4205159,1.4482888,26.0086862,21.279835,68.1387971,8.6758961,36.9690479,63.2465636,35.1480937,40.0448355,20.4570722,3.958445,14.8588218,11.8450202,39.7591378 +391,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8102337,1.826775,22.9052536,18.1049757,75.3954571,18.668176,32.9678761,66.596512,28.8889732,42.202261,17.0878644,3.6630995,16.7331169,12.3663471,42.5210001,18.0052073,1.7926709,1.8121246,23.3928884,18.0630275,75.141612,17.5151547,34.1987748,66.8191707,29.3048476,42.349527,17.5202733,3.6998119,16.2976904,11.8860947,42.8371219,19.6103947,1.7130351,1.6971353,23.148988,18.1858988,75.0518699,17.3338864,34.3541752,66.5061424,29.8179345,42.3389522,17.8516638,3.617257,15.7995074,12.4400735,42.4907253,20.3846258,1.8548807,1.8566804,23.0359729,17.8881421,75.0324233,16.6260911,35.668818,67.2086574,30.4733547,43.269597,17.4847243,3.2571519,15.502453,12.0969179,42.9727692,17.454082,1.7701136,1.7973247,22.0598668,17.0720165,74.4258324,16.3598875,36.8148738,67.6328278,30.8306826,43.8578221,18.7005854,3.2549108,15.466902,11.8860984,43.5888684 +392,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0352787,1.0858545,19.5792056,15.3850014,48.9950931,9.6549303,34.4951555,66.1211697,33.2883858,45.3709889,20.6151213,3.5503108,13.2728603,10.7124653,30.7207213,12.1997499,0.9960145,1.0530996,19.4108543,15.291265,49.2232146,9.6115589,34.6806767,65.4644124,33.0715961,44.7439147,20.5287878,3.6995374,12.7332385,10.0210197,29.7007457,11.7992201,1.0539849,1.098009,19.9248733,15.6698467,49.6559403,9.705378,35.5294592,65.4320976,33.6063632,44.7114246,20.781373,3.6497786,12.8940912,9.9299439,30.1546327,11.8300531,1.0656047,1.1005721,20.2282223,15.9331936,50.1457343,9.643516,35.4870319,65.9049161,33.1944411,44.780084,20.4761695,3.4866152,13.0893538,10.5183796,30.9530321,12.9908233,1.1273118,1.1534087,20.8095495,16.4756642,50.4836821,9.8994906,35.7258828,66.2473162,33.2901622,45.2235699,20.8395768,3.6399322,12.8594783,10.4606537,31.8910707 +393,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5624522,1.5884067,19.285011,14.6258955,59.1056235,11.3930953,31.1314283,65.8502738,35.8468693,42.3214229,20.6737671,5.1988898,12.0818736,10.0012608,33.9868899,13.0387931,1.4976634,1.528001,18.9144476,14.3444904,58.7376923,11.5947656,31.0913403,66.3463888,35.9784951,42.2934152,20.8823702,5.2230174,12.6187864,10.464475,34.5996911,12.1923937,1.4954759,1.5258162,19.2256345,14.6592966,58.9621219,12.0067783,30.835306,66.9076955,36.5766017,42.4516226,21.2291676,5.3863375,12.156664,10.6385687,34.1462316,11.9985934,1.4096553,1.4217087,19.3409872,14.9926622,59.4298982,12.6395711,31.726538,67.7160349,37.3335119,42.8967475,22.2321812,5.217865,11.833256,9.9398611,33.2723935,10.9982829,1.5092232,1.501672,19.8539186,14.9486502,58.7967111,12.8080196,31.7643407,67.9741544,37.8823649,43.1817053,22.2157517,4.9764106,12.0502078,10.1847495,34.252695 +394,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4936005,1.4858844,19.8148748,15.0872265,58.8718051,13.0373803,31.3788604,68.4386838,37.8069709,42.9370572,21.4333146,4.8640745,11.927191,10.5901629,34.1008232,10.484818,1.2611885,1.2531987,19.6777328,15.024547,60.0714646,13.5407519,30.0382244,68.9392415,38.443493,43.0686359,21.2811481,4.9822162,12.4925045,11.025279,34.6155297,10.2044519,1.1716595,1.1845752,18.6806283,14.3866196,60.0187644,13.6167351,30.4928593,69.0140975,37.8603418,43.0456917,20.8515302,4.8949224,12.7706757,11.2474141,35.0474171,8.8651169,1.1413927,1.1910527,19.0742972,14.6713002,59.4374493,13.6078758,30.7513091,69.4261871,38.0117441,43.5125827,21.0669428,4.8982642,12.2297481,11.1236299,34.3535398,10.002897,1.0802857,1.14661,19.1017186,14.5780619,58.8044814,13.9691185,30.7751819,68.9760181,37.7615855,43.3749715,20.9666652,4.9618323,12.0838089,10.7976816,33.7286871 +395,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5070385,1.5694335,21.277006,17.6477566,50.8394461,11.9677037,36.2992069,67.4830447,37.313703,46.0086352,22.3588789,6.2410039,12.9078016,10.7042347,32.4002158,17.1863047,1.5124808,1.576314,21.9229023,18.2965143,50.4495464,11.6630475,36.4788944,68.6116361,36.9793123,46.0172728,22.3491317,6.109146,13.3161903,10.9783034,34.3900126,15.1095375,1.4490258,1.4535954,21.9759609,18.3096835,51.3192939,11.7461177,36.6930205,68.2261112,37.3986628,46.0604956,22.52194,6.1255239,13.105161,10.8309579,34.0558617,16.0601249,1.335308,1.3636281,21.3762378,17.8475403,51.6559296,11.7764962,35.5648692,67.7727335,37.3319971,45.4717323,22.4005695,5.7009162,13.3941872,10.7147945,33.4492331,15.5432375,1.3860764,1.4158954,21.362172,17.6070426,52.5172203,11.1618237,35.5997043,67.07874,36.7789427,45.9601611,22.4018979,5.504002,14.2922643,11.1799151,33.3438242 +396,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3763026,1.4075056,21.3089172,17.4228118,52.2606057,11.3963957,36.167384,67.3092561,37.6113061,46.6500145,22.721045,5.5794899,14.3767765,11.2474121,34.7885367,15.194609,1.2930588,1.3051611,21.1904397,17.092915,52.3575205,11.4718232,36.2726021,67.1400757,37.9802349,46.0819115,22.3513339,5.3637553,13.999003,10.8217739,33.6629424,13.7488861,1.5443395,1.5754868,21.2466948,16.7111307,53.0359862,10.9795935,35.1697493,66.4491241,37.5550714,45.2074938,22.1642691,5.6932967,13.3666039,10.2489956,34.2402185,14.4001058,1.7568357,1.746124,21.7861276,16.6519646,53.2966714,11.1534674,35.411505,65.9322434,38.0090027,45.756545,22.0078811,5.5892838,12.5351213,10.1381765,32.5775857,15.148065,1.9313602,1.9276939,21.7666302,16.5278059,52.6969685,11.2739613,35.4345923,66.2774796,38.4807915,46.6199025,22.6785831,6.0210265,12.7010186,9.7552295,32.6219926 +397,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6624412,0.6840091,14.0135819,11.0633546,64.1812815,13.6057636,30.4410534,66.3231572,30.7507543,41.5260643,17.6153392,13.3650125,12.9470161,9.7773345,37.1387243,5.8035638,0.6687635,0.6916236,14.0538535,11.0525771,64.0754012,13.2626136,30.8686354,65.7426286,30.4933047,41.6568432,17.7640775,13.5495959,13.2646255,10.1261609,37.0622339,6.2983726,0.7284442,0.7676637,14.4766291,11.3779171,63.8590209,12.8008865,31.1588751,65.3033897,30.5799816,41.5791219,17.7369243,13.5237968,13.181115,9.9074274,36.7222213,6.2455866,0.7301555,0.7539721,14.4349255,11.4568853,64.4089087,12.5531231,32.3815151,65.5996996,30.3735352,41.3634961,17.7318386,13.9209743,13.1350272,9.608106,37.1521539,6.5497467,0.82794,0.8563069,14.6166143,11.7092663,64.7087627,12.0636748,33.4318223,65.2465887,29.6067521,41.0604991,17.884388,14.0593082,13.3869565,9.8149392,37.6416929 +398,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3081007,1.3339827,20.890107,16.5545991,50.5982393,9.8757907,35.2365304,65.8577087,32.9389268,44.6044934,20.5620935,3.5489426,13.0860388,10.3091375,31.5577095,12.4532491,1.3389134,1.3436684,20.7684441,16.4134891,50.5732177,9.8539722,35.3560076,65.8284807,33.1823905,44.5936762,20.8513809,3.5460413,13.0939038,10.3945177,31.9565828,11.7165203,1.4068976,1.4051593,21.0698199,16.8572794,50.7840879,9.8309105,35.194794,65.8843813,33.0507245,44.5696261,20.9291441,3.5103613,12.4894399,10.3579513,31.8233551,12.5787215,1.4368336,1.4340519,21.2428736,16.9198091,51.2080885,9.6282234,35.5197788,66.3465534,33.3079943,45.1823168,21.1847369,3.4075107,12.8395478,10.8354456,32.4717692,12.6240847,1.4350095,1.4373533,21.2165717,16.9503515,51.3110396,9.5279907,34.9041121,66.3793252,32.8894807,45.1012617,20.9397508,3.4427957,12.4438829,10.7755065,32.0447727 +399,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.7407068,0.7959434,14.3168551,10.4796462,65.0346706,18.0985925,34.6208646,65.4076331,31.7987304,41.205815,20.4247375,8.708669,11.5318928,8.0443375,36.6265658,5.5555587,0.805331,0.8409491,14.1096254,10.5133356,65.1159517,18.8064338,34.8999962,65.4142811,33.1285551,40.9,20.4999929,8.8428598,10.8919381,7.7340165,37.872703,6.4606778,0.7831867,0.8467934,13.718458,10.3354283,64.7889395,18.4973533,34.1845303,65.3922075,33.1969422,40.0818285,20.3865663,8.7330733,10.8361729,7.4673414,37.6285665,6.052146,0.7749491,0.8566102,13.5271945,9.9392297,64.5054655,18.6638586,33.5092659,64.522111,33.1669005,40.5278206,20.0427932,8.2025696,10.3137654,7.8016171,37.6680232,5.9885954,0.852426,0.9241008,13.549843,9.9546752,64.6290147,18.4690042,33.8454587,64.3347313,32.8609803,40.4982186,20.301314,8.189145,10.3860277,7.5442854,38.5018415 +400,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4378375,1.4692914,21.0449898,16.796374,50.5373084,9.5946022,35.0686775,66.1474575,33.6013683,45.1299709,21.3599544,3.6544978,12.2804265,10.5643587,31.6894786,12.4843776,1.4958262,1.5346828,20.9599859,16.797421,49.9925378,9.383593,34.7873994,66.0150233,33.5554852,45.7599852,21.2936725,3.5455713,12.3757816,10.6902421,31.7097575,13.0073512,1.3608688,1.3871713,20.8391578,16.6642504,49.7579413,9.3381903,34.8271091,66.2010777,33.5675172,46.1633753,21.5073328,3.6993811,12.470595,10.8119798,31.9661686,12.5161235,1.3609851,1.3982629,21.2374004,16.844911,49.5251548,9.483795,34.6315159,66.5779157,33.7677133,46.1633942,21.4153434,3.8081731,11.9151765,10.348339,31.7363599,13.4143705,1.3490703,1.3918678,21.469259,17.056886,49.3329821,9.5421685,34.2032922,66.6447667,34.0570941,46.1624178,21.3378537,3.8525639,12.1860827,10.1035287,31.6596217 +401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3731386,1.3709157,23.4341009,18.5567859,60.5126842,15.206199,36.7304036,64.8424162,35.0077701,45.4761884,21.5392387,3.6603307,15.140835,13.5060229,34.7132434,14.9995231,1.3747363,1.3792423,22.8490707,18.0291447,60.0941054,15.6690788,36.8502394,65.3615219,35.3724218,45.3476421,21.5342401,3.6160739,14.5526368,13.1140536,34.6605243,14.2302948,1.3289787,1.3153725,22.3871337,17.5434665,60.0111003,15.8877044,37.1923887,65.5334599,35.5913706,46.140568,22.0133928,3.6618213,14.8079169,13.3139959,35.4439116,12.1979656,1.2170535,1.231044,21.9730919,17.616896,59.8197104,15.7349585,37.7243722,65.6914764,35.7701135,46.1156617,21.96933,3.8018609,14.8604204,13.0606901,34.5301493,11.1589999,1.1369728,1.1035961,21.5910761,17.2754943,58.6911235,16.2130782,38.3802144,65.7732,35.6888543,46.4031561,22.6335211,3.9210096,15.7811847,13.4396618,34.7951482 +402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7430088,0.7163071,15.5489665,11.7268611,66.8127918,20.0102978,35.5952326,65.2030817,30.87468,42.2943116,18.4137288,8.6601634,14.7977421,10.0141507,32.6772872,4.9132806,0.7949364,0.7674414,15.9293188,11.8265827,67.3576284,20.0176373,36.0664093,65.6842113,30.9217464,42.8902924,18.3100974,8.3065158,14.6671685,10.0218622,33.0023315,4.2938808,0.8535543,0.859066,15.8806648,11.6648669,66.7931199,20.7584107,36.6058633,66.3984747,31.849044,43.4370336,18.4370425,8.4227257,14.4068056,10.3967694,32.3094779,4.5539794,0.856955,0.8629768,16.0443359,11.7658373,65.5138899,20.9808089,37.2606517,66.4127074,32.6103705,43.3567676,18.933168,8.2649263,14.928376,10.19842,33.0800541,3.5497828,0.9792048,0.9731827,15.4905029,11.3028236,64.9881882,20.9888744,36.8820736,67.2441145,32.6002221,43.343718,19.0541048,7.6488742,14.7247054,10.5577835,34.4952696 +403,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9559495,0.9457349,15.67946,11.9771101,74.2521918,20.5485351,33.1420762,61.7821962,26.4358576,38.7362358,16.2097893,4.1311797,10.9999909,9.6810065,30.7606275,8.2132589,0.9520873,0.9418588,16.1656381,12.4907878,74.0942691,20.9541237,33.1670233,62.5416757,26.3227407,39.603812,16.7777396,4.2360546,10.3900888,9.579262,31.1035638,6.9209059,0.882519,0.8836668,15.5735451,11.5630311,74.4903161,20.6723845,32.8919614,62.6306547,26.5859625,38.6004084,16.9963589,4.4589771,11.1153752,10.1309685,31.0706065,5.694446,0.7929757,0.7941428,15.9855747,12.1276454,74.5514922,20.8828471,32.4841262,63.2880991,26.7083357,38.7878812,17.1575101,4.6999103,11.5564032,9.6258743,31.4364301,5.6728247,0.7481962,0.714526,15.5882103,11.5531659,74.0805312,20.9193324,31.9560367,63.5565366,26.9073951,38.9861969,18.1938108,4.8055587,11.9374358,9.1291034,32.2964767 +404,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0206765,1.0825321,19.9007746,16.2079351,68.0124206,9.1454556,31.6773193,68.1155044,36.8223339,39.7315259,19.936981,4.5968568,13.391774,9.164352,37.1365989,11.3190778,0.9485311,1.0130418,19.4575017,16.0005171,68.1331783,9.4080688,31.6315003,68.1505079,36.9331992,40.0985342,20.0688847,4.5648772,13.8967724,9.5208522,37.3927765,11.5222672,0.9746898,1.0305421,18.7433432,15.4265632,67.8956329,9.5892194,31.568476,68.3696078,36.85863,40.0698862,20.0150356,4.4453309,13.8462906,9.4623848,37.4273704,11.5857395,0.964046,1.028601,18.4943762,15.2404427,67.7426671,9.5745621,30.9987479,68.5525891,36.8494218,40.4029052,19.8896238,4.329685,13.7070219,9.5555957,37.6380668,11.2284063,0.864389,0.8965737,18.2053791,14.921769,67.3274155,9.5779071,30.9630124,68.6087879,36.2290435,40.1466818,19.765851,4.3139584,13.9753856,9.7763271,37.8355493 +405,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.3922348,1.4377412,25.5658805,20.7124324,68.0386326,8.6681976,36.9828369,63.4219875,35.4715611,40.1689066,20.6161078,4.0079323,14.475038,11.721732,39.5117468,14.9154179,1.4260154,1.4505473,25.1466899,20.4358423,67.879496,8.7694409,37.1085602,62.9465035,35.2674724,40.4444939,20.9323045,4.1109326,14.3677939,11.7919877,39.8398007,14.6465277,1.4155433,1.4349249,24.6003273,19.8900757,67.8742099,8.7756683,36.6527328,63.0039389,35.4141383,40.7971322,20.9165959,4.1007545,14.1090889,11.7651598,40.529049,14.9074386,1.3709508,1.40521,24.1193533,19.3913714,67.4597915,9.0904031,36.5370006,63.0091484,35.6807097,40.992611,21.0928975,4.0394039,14.2136191,11.9043941,39.917675,14.8041359,1.3348789,1.3641862,23.8458218,19.0730814,67.4664718,8.9217285,36.8776907,63.0566237,35.8097707,40.7188435,21.0507406,4.0922027,14.1180946,11.8801611,40.4153309 +406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.9927773,1.0755854,21.0668707,17.5354533,87.3042662,11.6578715,31.091414,64.3484286,27.6569917,41.5664776,15.0448968,4.7605369,15.9746865,12.6346543,34.379704,10.2334582,1.0834005,1.1674461,20.8942463,17.3438101,86.903147,11.8619665,31.3009571,64.6278092,27.8499998,41.4598702,15.1319167,4.7983685,15.8437625,12.8599631,33.8336943,10.5446687,1.0680227,1.1635594,21.0117109,17.3449551,87.4136206,12.0364833,31.6625485,65.2229401,28.0222439,41.9019351,15.466294,4.7011785,16.2115235,12.9832433,33.8095225,10.8321167,1.0426666,1.1383007,21.4256972,17.6685222,87.6977624,11.8384074,31.7408148,65.9956297,28.1951759,41.9972357,15.5348659,4.8377344,15.8619843,12.9992368,33.8469327,10.953798,1.0058801,1.1226419,21.4484572,17.7226043,88.2262381,11.5483899,31.8540467,65.9421741,28.4574411,41.8419734,15.4569517,5.0242598,15.6629611,12.6011779,33.7864102 +407,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.8126638,0.8487544,14.5897782,11.677157,64.5604764,11.4928518,33.9368196,65.2250951,28.8009059,40.8348606,17.787685,14.1882449,13.5215296,9.5410654,37.2533801,6.6831721,0.834972,0.8804912,14.7762176,11.8770537,64.8136284,11.0137441,34.7712762,64.9521259,28.5265976,40.7287262,17.579786,14.4095743,13.7329305,9.65331,38.1748706,6.9378026,0.8885283,0.9356515,15.0576949,12.1890595,64.915023,10.6497974,35.4128933,65.3862522,28.5402262,40.708578,17.2775686,14.6244008,13.7822619,10.0043414,38.4153086,7.3079576,0.8816193,0.9337651,14.9303752,12.0389116,65.084072,10.5016804,35.4933333,65.4346656,28.9013377,40.8159976,17.6373306,14.5120006,13.509721,9.3844548,38.8828448,6.5666707,0.8179198,0.86342,14.8366196,11.976019,65.6452352,10.3701667,35.8003564,65.5814732,28.6922433,40.8301994,17.8145005,14.6086681,13.565978,9.4388385,39.3107398 +408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.7897984,0.896364,12.5523598,9.1412274,64.1557309,18.8687566,33.5358586,65.0118616,32.7652685,41.0047443,20.6727946,8.3728547,10.9241112,7.2954793,38.4544254,6.3976403,0.7383977,0.8469334,11.8858695,8.7122339,64.533297,18.6438194,33.0057432,65.0589702,32.2497798,40.5352321,19.7308786,8.3912945,11.4511028,7.4622136,38.4933229,5.8648135,0.8295763,0.9508919,12.0635399,9.1066342,64.4517785,19.1728201,34.0774235,64.7049676,32.4227305,40.5088962,19.6534504,8.3515483,10.9132109,7.5258367,37.5814774,5.9837752,0.7024516,0.8533392,12.2211257,9.1699437,64.0543219,18.5819484,34.0428959,64.982125,31.9304513,40.8027256,19.3207661,8.6285368,11.1073576,7.6482443,37.1340996,5.0429206,0.7604719,0.8684966,12.4487696,9.1700804,64.6404174,18.7855474,34.131835,65.392453,32.195032,41.1994511,19.2490627,8.9534507,11.5763579,8.1754409,38.2729178 +409,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8908731,0.9142289,16.9442027,11.7863168,53.4437509,15.0422074,37.8590275,69.265797,36.9893421,46.8073518,26.8681782,2.5413561,11.0372704,10.5752668,36.3600709,9.7281062,1.0256696,1.0494355,17.140238,11.9435484,53.0405439,14.8088659,37.7276706,69.6720969,36.7961979,46.9874196,27.6254895,2.9464745,11.859072,11.3803782,37.1420204,7.7827472,1.1394463,1.1635361,17.0882101,11.7688709,53.2458592,14.7874521,37.9135743,69.7824475,37.0071398,47.3746845,27.6825174,2.9198772,11.6313515,11.620582,37.4418712,6.6511473,1.185007,1.2091556,17.3754151,11.8418276,53.2981008,15.0846582,38.9549965,69.8078374,37.6306869,48.1745806,27.7729569,3.1265051,12.3372482,12.1397117,37.9816493,6.7096662,1.2733785,1.2733785,17.6226961,11.9321912,53.3164745,15.5441128,39.3738757,69.9034404,37.9563169,47.7834082,26.7139518,3.5877487,12.1783601,11.708033,38.6366634 +410,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7817411,0.8328882,14.8836444,12.0029394,65.7478518,10.5142539,35.8286047,65.5448346,28.6095387,40.3688965,17.4858063,14.3416587,13.4514304,9.3435557,39.5137206,6.5706306,0.6842792,0.7383997,14.6399017,11.7406841,65.8771922,10.6376911,35.6505141,65.6250019,29.0526453,40.4626582,17.3295422,14.6509754,13.3543306,9.4632494,38.9581457,6.3669056,0.7697018,0.8193292,14.9492303,12.0066963,66.1870081,10.8354357,35.4870691,65.8296473,29.4278741,40.7306022,17.5658347,14.990682,13.5335755,10.0565966,39.2764042,6.7766849,0.776929,0.810939,14.9634201,11.9440261,66.4989352,10.8602825,34.8431443,65.4505956,29.567624,40.518157,17.7593691,14.8572481,13.924209,10.0542261,38.7177144,6.9152788,0.704211,0.7350485,15.0188121,11.9621449,66.8042606,10.7872961,34.6898761,64.7873114,28.9983396,39.9774297,17.7103129,14.3476762,13.3578797,9.5198529,38.4054539 +411,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8508798,0.8810351,17.9852932,14.6000519,67.0494837,9.6185176,31.1315273,68.4893603,36.2253328,40.3761996,19.7773878,4.3598724,13.4922204,9.7986434,37.4924636,10.007019,0.85203,0.8688308,17.7416212,14.2463988,66.6092161,9.41835,30.808377,68.6779146,36.536784,40.1715584,19.6423383,4.2696527,13.0914522,9.588632,37.6624645,9.7725607,0.8832374,0.9056226,17.5593492,14.0851147,66.2783781,9.3615626,30.7219594,68.5618944,36.3931133,40.5545336,19.6990272,4.52434,13.0568203,9.332936,37.776666,9.9083166,0.9525087,0.9721568,17.1884137,13.541056,65.8017405,9.3686659,30.5702275,68.8918265,36.7224207,40.6641251,19.8405759,4.5236693,12.3136556,9.1767734,37.4499166,9.3548342,0.8966264,0.9123993,17.2120664,13.5465783,65.6670922,9.444877,30.7354808,68.8011494,36.9170884,40.6043612,20.2159191,4.6288078,11.983634,8.9702654,37.8343032 +412,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0813833,1.0914144,15.0000067,10.7794641,65.4189577,20.8444134,36.9681929,67.5546808,32.4070479,43.4840868,18.9919529,8.1065387,15.9037445,10.9929169,34.9802985,5.6840876,1.0161281,1.014326,14.61391,10.7915043,65.6990539,20.9056092,36.688833,66.9859455,31.724006,43.6082892,19.0969562,8.6590934,15.5724606,10.7686291,34.8995946,6.3381096,1.1269798,1.149415,14.1494971,10.2958478,64.7583177,21.6054044,36.4976537,67.9834875,32.5274783,44.7916396,19.4771946,8.2743516,14.8342345,11.0347303,34.0520592,6.274975,1.218306,1.2410293,13.8592681,10.142376,63.9090188,21.5605103,36.3254808,67.7928595,32.6468833,44.8819926,19.7720719,8.2966564,14.3852046,10.869534,33.9817724,7.6220141,1.1016711,1.0683202,13.7910357,9.9028313,63.9003215,21.6330367,36.2909838,67.192574,31.6597647,44.6925427,19.9794632,8.3811286,14.1722053,10.5020657,34.1927282 +413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2111274,1.2064127,22.0352193,17.8285642,58.6876939,15.8312908,39.1210871,67.1138981,35.5715428,47.3311117,23.0999921,4.0278141,15.6599589,13.1472003,34.3816833,10.6604213,1.1896618,1.1776097,21.4127979,17.3042178,58.1083261,16.2810979,39.8464869,67.4387639,36.3136031,47.8567859,23.8550978,3.957804,16.6682127,13.1471918,35.1441903,11.4326707,1.1803589,1.1983944,20.9869787,16.9879248,58.1817137,16.1350558,39.8230332,67.4360858,36.9185807,47.4872076,23.6819029,4.0346116,15.8815702,12.0454293,35.6275839,12.1262328,1.2121915,1.2121886,21.0721608,16.9823497,58.165201,15.809111,39.9919141,67.3003792,36.9083865,48.4113151,24.3771149,3.7953144,16.5351617,12.817125,35.5522966,13.2996812,1.2842138,1.3041954,20.8464666,16.889278,58.148522,16.0267488,39.5627597,67.9240906,37.0530076,49.0313152,24.9820087,4.0074025,16.0523221,12.6902352,35.7953512 +414,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0384073,1.0751623,18.0564445,14.2023885,76.9800617,16.4124266,36.799044,64.6235387,33.8562401,43.7585746,20.1742731,6.8549312,12.4605746,10.1750875,33.1069451,10.4065981,1.0656406,1.0795813,17.6368848,13.9864426,77.0402404,16.6712758,37.0211832,64.8870474,33.7940218,43.7280681,20.5486174,6.8963096,12.5499864,10.3088401,33.2230322,8.8438817,1.0517122,1.0375194,17.6342081,14.139774,77.3415002,16.7651557,37.111267,64.9999996,34.0014227,44.4721709,20.5777446,7.039941,12.9328058,10.8828714,33.5238991,8.0059022,1.1182667,1.0788111,17.6987971,13.994564,77.8778567,16.7690747,37.2737739,64.7097136,33.9148617,44.3824989,20.9714755,7.0146205,13.2194167,10.8460233,33.2497847,8.4428699,1.0674071,1.02908,17.2797285,13.6449515,77.8864811,16.8147385,37.599583,64.58395,33.6308645,44.3124703,21.3706105,7.0005871,13.0622787,10.8176731,33.2883033 +415,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4564123,1.4024692,24.8609829,19.7624932,59.6197061,19.7679306,35.3935615,67.0574413,33.7763917,44.6792364,22.2483339,2.6341087,18.6742535,14.0183319,43.1545796,15.4545342,1.3814225,1.3753811,23.7031342,18.7559321,59.2000754,20.738781,36.0762509,66.5585802,34.1368658,45.3256736,22.3520509,2.3120685,16.877591,13.570159,42.9203521,14.311589,1.2700022,1.2553181,22.7715175,18.3610989,58.4240817,20.7178088,36.1941667,66.9968124,34.2598741,44.2215083,22.2196427,2.2966983,15.8072228,13.1328732,43.1386164,13.6362463,1.3106285,1.3106285,22.579849,18.1506021,58.6200217,20.2653077,35.5210979,66.3741276,34.0992783,43.7678197,21.8721468,2.6775245,15.9306254,12.5353207,43.8509865,13.6041314,1.2415181,1.2520266,22.5154202,18.2563034,57.0859158,20.2398859,35.5231936,66.5051,34.0017533,43.6838782,21.9689175,2.8815152,15.0504105,11.6651834,42.1273205 +416,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.7908406,0.8878923,12.6964684,9.4131982,65.3967752,18.3984921,33.8838608,66.1856698,31.9367115,40.4207157,19.0716249,8.8490981,12.8158891,8.4532405,38.3746423,6.0572701,0.6502544,0.761469,12.06837,8.926104,65.7237102,18.4566047,33.6245256,66.6837924,32.3227095,40.0308277,18.4823558,9.0270668,12.8632221,8.9399325,37.6609505,5.3728094,0.7037908,0.8058066,12.2549019,8.8053729,65.811499,18.2317528,33.4112955,66.0849224,32.187837,39.8164792,18.5858211,9.0500209,12.9259307,9.0539575,36.8637788,5.0335593,0.6905482,0.7956409,12.663185,9.0078315,65.9387804,18.8091788,34.4617083,66.5001862,33.2038463,39.6041442,19.4413598,8.8975239,12.5939888,8.7396875,36.6843738,6.8080388,0.6887256,0.7628138,13.1467178,9.1698828,65.7203525,18.768831,33.7600256,66.5074563,33.2632773,39.6064202,19.1631621,9.0752798,13.8080284,9.3160399,37.4602 +417,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0455048,1.0502189,19.2370197,15.2698767,66.3740885,14.6123069,35.455171,66.4922178,32.0473325,42.4416002,21.5068554,3.9800052,12.7454836,10.7317075,36.3342371,14.4069235,0.9697447,0.9745422,19.0150439,15.3246119,66.201199,14.3049884,34.9121609,66.2255321,32.4635971,42.8518882,21.7041763,4.0193015,12.2360544,10.2208466,35.978529,13.7524071,0.885741,0.8867836,18.761735,15.1902674,65.4243043,14.2466274,35.3133278,65.9447873,32.6277732,42.8381637,21.2556999,3.61723,11.6478276,9.5784889,35.8344777,13.2784964,0.755092,0.7678156,18.7531003,14.9452024,64.8770982,15.06218,35.5083903,65.9073816,32.9345684,42.9215546,21.2741268,3.8224366,11.1664979,8.8357706,35.8695057,11.9187031,0.7315402,0.7315402,18.3876557,14.3367841,65.0066874,15.5571677,34.789246,66.0817568,33.1567436,42.8163086,20.8299683,3.9592273,11.2710918,8.7703295,36.1743349 +418,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9729915,0.9985963,15.892681,12.2270073,80.4910014,7.0087837,31.1409312,64.3850013,30.2269766,38.1628103,16.228815,6.13195,13.136728,10.0310681,37.4969145,8.059029,0.9815186,1.0232863,15.6935582,11.9495274,80.5374984,7.0099437,31.1331305,64.6530355,30.1442406,38.3337593,16.1828984,6.1022495,13.0435629,10.1313176,37.4564748,7.8155093,1.0249537,1.0449988,15.8127067,11.9806293,80.5981643,7.1932267,31.0537739,64.6262893,29.8867125,38.1288441,16.0951344,6.1088671,12.8098792,9.8592945,37.4192909,7.2892336,1.0114442,1.0317921,15.740455,11.9474129,80.7019279,7.0022039,30.5786479,64.781493,29.8346426,38.2354231,16.2000524,6.0839235,12.6198566,9.5266369,37.1627181,6.9046659,1.0317502,1.0629406,15.6431443,11.866363,80.4776498,7.0894355,30.418324,64.5124046,29.6946978,38.3250958,16.3312363,6.1482161,12.4588722,9.4252745,37.1266042 +419,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9564021,0.9122345,13.6540948,9.5637272,64.3903388,21.7112611,35.8153183,67.2101559,31.6109274,44.6168103,19.5480875,8.3889783,13.6914046,9.9918851,33.5102036,8.4550883,0.9449135,0.8995613,14.7047275,10.3950827,65.3830308,22.0206883,35.4949371,66.8484305,31.6564825,44.989801,19.3736865,9.0706832,13.9296987,9.7051319,32.7970175,8.0930905,0.8973674,0.8716145,14.6669621,10.4054932,64.5684053,23.1069752,35.8573079,66.896043,32.269416,45.2022345,19.7120867,8.9486616,12.7721622,9.44582,31.6835913,7.3943315,1.015102,0.9625372,15.226627,10.6099499,64.1627255,23.2337821,35.8935832,67.4254736,33.3403546,45.3403291,20.021234,8.9574278,12.8607646,9.8297747,32.6609451,6.801885,0.9119231,0.8580184,14.5987319,9.8698918,65.0530315,23.2944927,35.6986635,67.1397152,33.0348914,44.8252831,19.8034982,8.9737815,12.8508716,9.7185533,33.8509167 +420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.962601,1.079067,21.4270613,17.8032747,88.0162182,11.8118882,32.0655892,66.0378565,29.0559812,41.4038923,15.5329132,5.3082043,15.9203127,12.9781953,33.1063007,10.3787769,1.0289955,1.0877004,21.0293984,17.4188169,87.5958861,11.7678074,31.9996426,66.0919073,28.3345263,40.9781192,15.4088339,5.3459566,16.3545714,13.2622235,32.7141136,10.7376601,1.0262555,1.0837386,20.5894459,16.609868,87.5571074,11.9223032,31.890485,66.6057189,28.8829592,41.5144889,15.4350304,5.6820803,15.8747687,13.0294131,32.3708152,11.0846656,1.06441,1.1431293,20.7263786,16.7600017,87.5993658,12.0562549,32.1599966,66.2923985,29.1739659,42.098887,15.943707,5.8740376,16.0464618,13.375695,33.2674519,11.4078685,1.0022626,1.0614795,20.4827833,16.5937668,87.0753388,11.9775878,31.9109132,66.2047603,29.4502865,42.1968042,15.9498215,5.7747937,15.7067496,13.054122,33.6372722 +421,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0151871,1.0485132,15.172333,11.6091658,80.4244102,7.3289031,30.5947582,64.4522426,29.9471362,38.4023539,16.4096946,6.2954052,12.1796853,9.539644,36.9232208,6.7784158,1.0054706,1.0392802,15.206173,11.7344933,80.13292,7.436007,30.4457072,64.5640989,30.5621684,38.5855476,16.8104788,6.2585323,12.3915774,9.9659459,36.8909327,6.7845163,1.0257599,1.0473969,15.1279164,11.6536788,80.0725191,7.4381765,30.4759414,64.2328885,30.4914551,38.4391697,16.762112,6.0255206,12.3540405,9.8551534,36.6195406,6.7254353,0.9643591,0.9778431,15.129455,11.6890304,79.717067,7.4902609,30.5882899,64.1670439,30.5195719,38.6486181,16.9515754,6.1922631,12.4391757,9.7719669,36.4592987,6.3813808,0.9579013,0.9776188,15.0229614,11.5391955,79.682753,7.4472204,30.8681411,64.4368119,30.9762704,38.8947884,17.0215166,6.2765987,12.5652658,9.919415,36.7061133 +422,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0986926,2.0626795,22.5743315,17.1072932,52.434584,11.6593275,35.4177011,67.418158,38.5805369,46.9992618,22.9989331,5.9303172,12.8575031,10.4514896,32.4545987,14.3578525,2.0785629,1.9989892,22.3712651,16.8866659,52.1674879,11.6463976,35.468798,67.1675283,38.9394583,45.9733438,23.0206891,5.8538548,11.4855609,9.1623182,33.5650942,13.6377366,2.0865484,2.0104115,23.4735933,17.9372756,52.3547227,11.6794461,35.4306367,66.6588137,38.2776463,45.7955474,23.2418665,5.9831781,11.6271904,9.1433543,33.1718203,13.579572,2.0407925,1.9737078,23.9658772,18.3753504,52.1503116,11.3190585,35.4259765,66.3187273,37.255792,45.6388852,23.3407239,5.8936945,12.008858,9.9490192,33.8911884,14.8902821,1.9773823,1.8938374,24.918319,19.304648,52.3125095,11.5030985,35.9621332,66.7273955,38.0811494,45.5792066,23.2480361,5.9699206,11.7915846,10.1398262,33.4851795 +423,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9316359,0.9454315,17.0378169,13.276155,64.9771141,9.6052766,31.1248601,69.2071703,37.3528566,41.1258738,21.0634953,4.7942457,11.7173137,8.7377649,37.4229951,8.4237184,0.9228738,0.9449134,16.9091851,13.2146537,64.6079051,9.4334822,31.3576822,69.2097458,38.0429219,41.5815611,21.4639519,4.8024357,11.4432539,8.6723995,37.6056622,8.0752242,0.9189074,0.9445484,16.5166195,12.9748694,64.1899259,9.7146455,31.5516231,69.526312,38.5433172,42.2122295,21.8305046,4.9495639,11.595509,8.7510031,37.3585337,7.7981673,0.8921699,0.911782,16.1142539,12.6248044,63.7135349,9.9461793,31.5417928,69.5712733,38.7354436,42.6105402,22.420906,4.9829942,11.5239684,9.1242417,36.9294214,7.562079,0.8647272,0.8793865,15.7464515,12.1630367,63.574161,10.2529855,31.7866842,70.0216625,38.8792653,42.301035,22.6691955,4.81321,11.215263,9.282563,36.7371983 +424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3321672,1.3371456,20.774611,16.6102262,57.7269074,16.2068844,39.5727201,68.4325706,36.9104966,49.15028,25.3352957,3.8515572,15.9303666,13.1181042,37.1271626,14.7249286,1.2764824,1.3122048,20.9855187,16.7078794,57.3138119,16.1265505,39.9589195,68.8176458,37.4782482,49.5009218,25.7272752,3.7641047,15.6106851,13.1771152,36.2072863,15.4952225,1.1105646,1.1368703,20.5986341,16.2287174,56.5478677,16.1114197,40.0964363,68.1105102,37.8848559,49.4328136,25.8954574,3.977812,15.2254085,12.7135159,36.3432705,15.5229136,1.2351758,1.2620175,20.5465963,16.2084115,56.1382237,15.6458805,40.0249125,68.0167565,37.5874849,49.0412711,25.8090478,4.0156985,14.8455444,12.4855739,35.4087879,15.2459344,1.2150728,1.2618802,20.3107514,16.0469791,56.8113614,16.1386983,39.472676,67.7834016,36.6997527,48.3891394,25.7848124,3.9634797,14.7867177,12.6471539,35.5611769 +425,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8016849,0.827454,15.655876,12.1010762,63.2483019,10.3608624,31.7143864,69.7057534,38.9286552,42.5414742,22.8300413,4.8568499,10.9131143,9.3101861,36.5724436,6.7364028,0.8389957,0.8484934,15.0230565,11.4993472,63.1808911,10.0958692,31.2729244,69.7444694,39.2464249,42.4878789,22.7197468,4.9627339,11.2284568,9.7107469,36.8608714,6.1141304,0.7746402,0.7816348,14.8758822,11.4078839,63.0039604,10.0602711,31.0687302,69.6380697,39.1603729,42.243484,22.4774543,4.9536875,11.4632969,10.0250984,37.3318202,5.8906692,0.8081241,0.8228945,14.3897881,11.0149426,62.598178,10.4882519,31.2023481,69.8350197,39.1513568,42.263469,22.5284312,4.7931458,11.0727123,9.8232618,36.706408,6.2988275,0.7849554,0.7766241,14.4060199,10.7289811,62.6813979,10.2974954,31.1330461,69.8606291,39.3534689,42.3215936,22.693248,4.7425445,10.7562827,9.3132042,36.9083077 +426,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.9463631,0.9463631,20.126531,15.9558477,85.9267588,10.2207808,29.4440625,65.185063,28.8259327,43.0843143,15.0426739,4.0636415,15.3576284,12.5745368,33.3837945,12.3316948,1.0354313,1.0354313,19.7368533,15.6277757,86.3265257,9.5424869,30.0515239,65.832268,28.4143352,43.942726,15.0840776,4.1393464,15.2680662,12.731565,33.2184525,12.6104353,0.9182349,0.9182349,19.2493863,15.5179286,86.7499186,9.6441737,29.6141633,66.3041042,27.794992,42.6129963,14.4852922,3.9263657,14.6573696,12.739656,33.0110073,14.0088291,0.8818701,0.8818701,20.1162202,16.3295337,86.8490027,9.5906726,29.6564156,66.5140759,27.9155828,41.7535777,15.4263834,3.9382672,14.8063474,12.8930378,32.4090236,15.6906202,0.8410197,0.8143766,19.434036,15.702274,86.1181946,9.9540411,29.6195777,66.1941989,28.3932212,41.7123833,15.8772948,4.0803935,14.3419933,12.9159063,32.6104865 +427,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.309851,1.309851,17.9957279,12.3567921,52.342435,16.3835053,39.8303618,69.42226,37.7685934,46.7933101,27.0040558,3.5959649,11.7674606,11.2077419,38.4013757,6.3978041,1.208363,1.1979183,17.7196409,12.4776171,52.5955278,16.68184,39.7345896,69.901791,37.7322588,46.8573691,26.792168,3.5614433,12.4763776,11.2522798,38.6774885,5.4498418,1.0172118,1.0277757,17.8505947,12.6471112,53.1427562,16.5046755,39.2587467,69.6647147,37.8420182,46.9073833,25.8497285,3.7535317,12.4998241,10.7039148,39.624784,4.6339226,0.9457215,0.9770284,17.6091041,12.4890174,52.2512135,16.9031383,39.6681161,69.5416836,38.2185462,47.1949859,25.2684035,3.5296752,11.7397825,9.9717383,38.3043767,6.1271596,0.8608816,0.8920706,17.8415173,12.3895407,52.2788314,16.7197067,39.0970876,69.3284917,38.0785033,46.9214606,24.9764219,3.5416522,12.0639283,9.7705452,37.8585544 +428,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.8107354,0.8564418,12.8438586,8.9306456,65.5085374,19.5034176,33.5067387,66.3391187,33.005779,39.7109833,20.4431585,8.8053977,13.7450232,9.5863189,36.8357577,7.8587735,0.6756302,0.7218065,12.2013307,8.323539,65.0984195,19.911849,33.6381298,66.4786057,33.3657601,40.1361899,20.6420212,8.3852163,13.2825061,9.4150656,36.1762387,8.086564,0.6419021,0.6806445,11.9454603,8.0789557,64.7810214,20.2489183,34.1145835,66.406258,33.7940706,40.2043326,21.1738753,9.1947137,12.9367648,9.2761988,35.3310927,7.7937687,0.7512611,0.8003615,12.5936714,8.5553689,64.8900867,19.5414009,35.367855,66.1939991,33.4771805,40.6699566,21.2289325,9.0217819,12.5425106,8.89361,35.5184123,7.3566085,0.8965156,0.9155559,12.9543493,9.1081941,64.6504851,19.7346987,35.5486507,65.6107658,33.5610642,40.848859,21.0144856,9.2132487,12.6284193,8.7756786,36.3910344 +429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.8871671,0.869004,19.2528564,15.4144116,85.0272068,10.0002028,29.7983274,65.8358924,28.2330794,43.0188052,16.0831428,4.0568871,14.5118621,12.3715379,32.7437123,15.587187,0.9229571,0.9053765,19.1492265,15.3548421,85.0757821,10.4293816,30.0142771,66.2305216,28.6181853,43.3418708,16.6523697,4.367561,14.3267038,12.438379,33.6227683,14.469013,0.9731396,0.9773427,19.464471,15.6812654,84.38116,10.5722955,29.7966148,66.6525399,28.4115021,42.3440469,16.2159121,4.3666128,14.6878346,13.4140232,34.8358485,13.763272,1.004692,1.0087139,19.4436192,15.4208124,84.0947439,10.618343,29.0191494,66.5424944,28.9451877,42.3440544,16.1790983,4.482945,14.3662944,12.9970283,34.1884376,13.9346178,1.0538952,1.0628206,19.1291006,14.9463075,83.7027879,10.9825707,29.072723,66.1110242,29.4792,43.013737,16.7264711,4.7499463,14.1580826,12.9401414,33.778916 +430,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.1165486,1.1550103,22.1605302,18.1992582,69.4316896,14.4318232,35.2307406,64.1896377,30.2905595,41.5456575,17.2874363,4.2287013,14.1018206,10.5692269,32.717251,15.843458,1.199359,1.2464656,22.0205704,17.8065035,69.0664586,14.3939808,35.483671,64.469636,31.1501848,42.1686068,17.6907073,4.0990601,13.8250353,10.4680598,32.450099,16.9057809,1.2982218,1.3616925,21.8932813,17.7853694,69.5660716,14.5889213,35.0202058,64.1406111,30.7319105,42.1302994,17.7181714,3.9810348,13.9840784,10.4073541,31.9445908,15.9415804,1.3721283,1.4294481,21.7138825,17.4498214,69.9777834,14.8795527,34.5583497,63.8902018,30.5606464,41.8535312,17.4104952,3.8096004,14.3779849,10.3783881,32.3161008,15.6831504,1.4328158,1.4915585,21.999578,17.6715891,70.0633789,14.8610623,34.6815252,63.9981431,30.6576129,41.6175189,17.3243518,4.1720965,14.7446677,10.7397548,32.2158821 +431,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.5825735,1.5905366,26.8766056,21.9665818,64.4292741,13.7997773,34.8162802,66.9422587,33.9763756,42.1915957,20.1968512,2.9002622,14.0318335,10.8960607,35.1574854,18.1890079,1.6197973,1.6397813,26.1053949,21.1182478,64.5771867,14.1577803,34.7258886,67.3563576,34.7522381,41.9478057,20.2029508,2.7543463,13.5898785,10.2474285,34.7696282,18.0158876,1.4742508,1.5083053,26.0583425,21.2829157,64.4184132,14.1199275,34.3716816,67.4045654,34.2391287,41.2910869,19.6314934,2.7969248,13.1380926,9.8170975,34.2802698,18.1170901,1.4216761,1.4542281,25.0393088,20.4271485,64.2290874,13.5990283,34.7155113,67.2168701,34.4739683,41.4251156,20.1154019,2.6972652,12.3013611,9.5224954,33.416089,17.8921393,1.2433478,1.2838221,24.9867832,20.1770627,64.5994468,13.4553501,34.7549395,68.0882963,34.267534,40.901711,19.916051,2.667211,12.3535975,9.860337,33.6797656 +432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7308239,0.7731083,15.3153704,12.0961013,67.1744156,10.670699,34.4314587,64.7012792,28.5413153,39.8277608,17.4235088,14.1833305,13.3775699,9.9879271,38.2402943,7.2885202,0.7536398,0.7885164,15.1923325,12.1809209,66.919678,10.9106861,34.4012736,64.9117585,29.0595753,40.0154023,17.5115464,14.3254776,13.307223,10.1616365,38.6151616,6.6691309,0.8111192,0.8562868,15.4757786,12.3934659,66.5426047,10.9976949,34.6293233,64.7509352,29.6129531,40.7916312,18.048411,14.5755382,13.3167055,10.5732671,38.7347502,6.6980454,0.8815503,0.9280928,15.9443523,12.64062,66.8952839,10.8207235,34.4240034,64.5383808,29.6132526,40.5789458,18.1759239,14.8744255,13.5406587,10.5550203,38.8726581,6.9175627,0.8313043,0.8713537,15.8239337,12.5930896,66.7897844,10.8333326,34.3966937,64.4780909,29.5726577,40.1424438,18.3085946,14.5977952,13.4113295,10.1183167,39.1062106 +433,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7661907,0.7119108,14.6134083,9.8078247,65.6527177,23.2019362,36.0464782,67.4199272,32.5800728,45.217175,19.8990919,9.1926142,14.0434722,10.5836191,35.2192828,5.6390836,0.6918783,0.6779337,14.9594044,10.2662721,66.1737649,22.3977137,36.2837635,67.7252158,32.4098966,45.2477113,19.9324416,9.1216052,13.6809208,10.3925021,34.636103,4.3532176,0.8137439,0.7717377,15.0947764,10.35652,66.0811526,22.7110378,35.9863647,67.8684321,31.2244729,45.3740942,19.9319866,8.866189,14.1391489,11.1953513,35.4129395,3.4883586,0.8350364,0.7920368,14.3553007,9.6707104,65.1535808,22.7521741,35.3499944,68.2196758,32.058418,45.1784325,20.7000583,8.7853256,13.7030122,10.9332013,36.1495973,3.7371038,0.7755526,0.6874722,14.6474299,9.7255308,65.8634804,22.5828833,34.7485646,67.575859,31.3330153,45.4696179,20.7542766,8.2305249,13.8730864,11.1058916,37.4880552 +434,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0425427,1.051329,18.3847812,14.4135244,84.2921526,11.0401773,29.5101349,66.1207744,29.0742141,43.426132,16.4711767,4.5581351,13.7203649,12.6868557,34.0700448,11.1961885,1.0198513,1.0284486,18.7720725,14.8474941,85.0098832,10.9237407,29.1621773,67.0461454,30.2678882,43.5077059,16.6768189,4.5125121,13.8632092,12.5807079,33.7309662,10.4686617,0.9665222,0.9684646,19.2948815,15.5560048,85.4828165,10.8366484,29.5567979,67.651414,30.1200345,43.152191,17.058075,4.7705963,13.5208968,12.8937659,33.6780072,9.298721,1.0303335,1.0323173,19.5543728,15.4579748,85.0109944,10.6511112,29.1606011,67.5839826,30.3521713,43.4249314,17.4962956,4.4959326,13.638336,13.1332658,33.6132236,10.1941286,0.9465435,0.9513681,19.7695036,15.7978973,85.1830864,10.6509701,30.0218172,67.3532944,30.750897,43.838879,18.0276553,4.4658815,13.6296467,12.674475,32.6071628 +435,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.285754,1.3301426,26.8317376,22.4328728,74.717864,13.113093,33.2669383,65.3454993,30.1483643,40.6855287,16.8498447,2.6033789,14.4466051,10.7976489,33.937596,15.3603735,1.2834194,1.3367188,26.664391,22.4029909,74.5771239,13.3738353,33.2940062,64.929189,30.2401307,40.456682,16.8586921,2.4083808,14.021985,10.0394125,33.4139995,15.5362306,1.2531428,1.326725,26.6906027,22.299766,74.4933968,12.9768384,33.1786701,64.9791995,30.297767,40.4639714,16.8905798,2.4445935,14.0011279,10.3443271,32.8815851,14.9399029,1.3393254,1.4287656,26.4060137,21.9880773,74.6438227,12.6657516,32.9513973,65.2708164,30.36804,40.506932,17.3541675,2.5069394,14.140102,10.4214353,32.4594337,15.5985229,1.4132397,1.4952806,26.1469746,21.6826956,74.6711565,12.4394236,33.1622514,65.3613419,30.6594232,40.5160144,17.4845242,2.6504446,13.7075648,10.1304244,32.8508653 +436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0164255,1.0862737,20.0591756,16.0012656,86.8724224,12.0894199,31.177466,65.9405248,29.7699257,41.923583,15.8511788,5.8646244,15.4412259,13.1239237,34.2800558,10.598781,1.0303942,1.0800205,19.8777335,15.8332926,85.9739094,12.3050459,30.9142493,65.7900453,30.1466986,41.9299543,16.0383097,6.0383849,15.4208035,13.0424803,34.4355052,10.790833,1.0595685,1.1035239,19.8640585,15.4421325,86.035174,12.3059895,31.0372773,66.0056542,30.0281417,42.1144718,16.2989052,5.8554439,15.0585379,13.3661441,35.2567929,10.9294734,1.1255017,1.1688339,20.3657041,15.7314473,85.9869394,12.7136945,31.0133372,66.2165156,30.320861,42.5784116,16.5626741,5.7825557,14.8071467,13.0564765,35.1895723,10.3820977,1.1398247,1.1766404,20.3428755,15.8681711,85.6552572,12.6617463,31.1047233,66.003464,30.4869592,42.4492863,16.7695458,5.6228682,15.4884516,13.1747131,35.4815466 +437,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5772066,0.5328568,14.526869,9.8668739,66.0353968,22.6010962,34.6153561,67.5823904,30.8886614,45.5087954,20.5685598,7.7161692,12.8488684,10.4327203,37.2330345,3.7662191,0.7951764,0.7520692,15.2796813,10.7951825,66.2376398,22.6168104,35.2161255,67.9915807,30.4741615,45.0255055,20.3393294,8.0659877,12.8624642,9.9532992,36.9585933,3.9240407,0.9916097,0.9282612,15.2783581,10.9777832,65.8608835,22.7047562,35.1160158,67.523825,30.8374459,45.1296821,20.7327922,8.1702042,12.4191772,10.4801697,35.9200838,4.6482295,1.1521916,1.1040608,14.774686,10.6227563,65.7727687,22.6353041,34.6580619,66.8072523,30.528415,45.3152597,21.292171,8.1926867,12.3881655,10.8871172,35.991,4.8267267,1.1710723,1.1643486,14.8188111,10.5848651,66.160166,22.0525321,35.0934178,67.0360846,31.5297607,45.5671365,21.7513897,9.1916278,11.725643,10.5146663,35.223196 +438,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4093593,1.4535399,21.8618563,17.3040081,48.9636759,9.9002383,33.242721,66.5220845,33.948603,46.0369009,21.2427786,3.9046347,12.2012791,9.7965694,31.5003549,12.7535703,1.4162428,1.4549624,21.7645823,17.1809562,48.5435062,10.015495,33.3773415,66.576236,33.9975912,46.3716748,21.3910479,3.9000629,12.8548618,10.0631739,31.9266471,11.4719168,1.4704782,1.5124306,22.4231506,17.8068412,49.1639837,10.0212226,33.3204818,66.7868734,33.8273219,45.9607538,21.0643162,3.785889,13.1603805,9.8740315,31.7951031,11.8569961,1.5019733,1.5396494,22.683325,18.0649825,49.0959163,10.244707,34.2327087,66.900921,34.3537817,45.5103557,21.4135313,4.0438231,12.8098867,9.669003,31.0859897,12.5459257,1.6409804,1.6590449,22.9184561,18.3689554,48.9216351,10.3191875,34.593628,66.6032877,34.6998642,45.248602,21.2109989,4.1300136,12.7280187,9.5200662,31.5482852 +439,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6887379,0.65561,15.4492096,11.6847451,75.2146115,21.202602,32.4062069,63.5778083,26.5476692,39.7012194,18.1467403,5.3611178,11.8499105,9.0469078,31.6006098,6.2195152,0.6142229,0.6255685,15.0556425,11.3889547,75.6013196,21.7224923,32.9006827,63.7710941,27.1947282,40.069173,18.4163347,5.5779399,11.9629552,8.9524496,32.0283562,7.0071292,0.5239299,0.5357335,14.7784246,11.5414294,75.5679594,21.7023665,32.5789259,64.7204191,27.7481903,40.0722716,18.6953195,6.2571339,13.0115813,9.4113057,32.8527044,6.079406,0.5018192,0.5138442,15.0998866,11.809639,75.3239086,21.321841,31.6187884,64.1110204,28.0085391,39.6933245,17.9153691,6.3858711,13.1640588,9.9921583,32.6361587,6.4393956,0.6553842,0.6553842,14.9560717,11.7212462,75.2698921,21.8298906,31.9043878,64.0260692,28.1904317,40.5966071,17.7597765,6.5389195,13.024542,9.9524147,33.4800054 +440,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.4229434,1.5084192,25.8630496,21.5158463,74.696575,12.32298,33.4519684,66.0249799,30.5171813,40.7307779,17.4705727,2.8548556,13.5179606,10.0119712,33.0262766,16.6993503,1.4627991,1.5384641,25.8460444,21.5032741,74.3941337,12.7271333,33.3506635,65.9060465,30.8235171,41.0509786,17.3703002,2.9656592,13.6559058,9.9539829,33.3591071,16.3610333,1.4433546,1.5053821,25.7022469,21.4296306,74.6182448,13.0398958,33.6189762,65.6226221,30.9797873,40.7022443,17.3138116,3.2079443,13.4717408,9.4607194,33.4850882,15.8284386,1.41418,1.4627826,25.4847834,21.0695152,75.0155309,12.7564822,33.6981372,66.1640856,30.8969486,40.724007,17.2585269,3.2221018,13.5139329,9.8686248,33.8948376,16.1111307,1.4242966,1.4393243,25.1242981,20.8603296,75.3127963,12.5664346,33.757115,65.9038394,30.6133146,40.4145382,17.0673375,3.0898431,13.5804391,9.5680931,34.9460824 +441,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4245009,1.4346757,21.8805095,17.6636168,57.2762059,19.8991947,35.180425,66.1993296,33.7117869,43.947714,22.5859968,3.048523,15.2310598,12.0445489,42.4283059,13.606428,1.3680963,1.3840909,21.1820648,16.9172179,57.1089928,19.7149991,35.0757131,66.1838076,33.7742862,44.4796368,22.6493444,3.1696205,14.9745357,13.130984,42.3209588,11.7186475,1.215266,1.2307167,20.5642065,16.4002976,56.3679886,19.26404,35.7218744,66.1830123,33.9793545,44.7181567,22.7137671,3.01902,14.6595455,12.5935622,41.9880847,10.7370797,1.2030292,1.2281627,20.4007188,16.3245928,55.6932658,18.5090495,34.8693487,66.7336161,34.7049682,44.8839317,23.0339679,3.2259594,15.8537375,13.3417638,41.8434988,11.0575575,1.3095737,1.3131286,21.0300839,16.5337477,55.5247864,18.4532024,35.1284648,67.0539541,35.4258113,45.8195684,23.5029081,3.02837,15.8175209,13.3505549,41.1357594 +442,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8633376,0.8741015,18.5862012,14.2359086,65.0243692,15.1716476,35.1055261,66.3484516,33.2813278,43.2012897,21.1374173,3.9766581,12.062696,8.9590407,38.210637,13.4120679,0.8135808,0.8514548,18.1674216,13.7956345,65.1803051,15.5759609,34.3510545,66.4455502,33.230225,42.8761721,21.1946822,3.9380877,12.5463122,9.1721521,38.8540338,12.0575792,0.8387614,0.8776654,17.8720454,13.4374867,64.6203066,15.6333855,34.9003189,66.550914,34.1445359,42.2460428,21.5991301,4.2170803,12.452723,9.3337674,39.1788916,11.5747569,0.9921528,1.0329864,17.9619414,13.0305602,63.9800737,16.1396465,35.3288279,66.8626416,33.9949743,41.9974292,21.5147621,4.2077201,12.1621896,9.9605824,39.9403146,11.4686188,1.1306235,1.1722737,18.0350891,12.8273768,64.2553926,16.3158231,35.2439479,67.4039953,33.9522336,42.1536043,21.8759879,3.9877656,12.1846281,10.7024877,39.4173018 +443,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.896551,1.9767574,21.5097723,16.415733,43.4288309,13.2650251,39.1579307,68.8428627,41.003877,48.0875497,26.6199279,3.5477154,15.4315399,13.1906577,41.9343204,13.9583091,1.8623992,1.9531064,21.0939091,16.0212072,43.9669243,13.221222,38.311665,68.3247981,40.9730372,47.031388,26.2795878,3.6372333,15.1904141,12.6670794,41.3034597,14.430906,1.917412,1.9541535,21.7743579,16.5014278,43.9950243,13.2458619,38.0593455,67.3394653,39.907605,46.6196459,25.6566163,3.7208187,15.3807669,12.8757644,42.1717252,14.8068797,1.9504955,1.9871239,21.9008155,16.6896856,44.0523027,13.3286024,38.1796168,68.0339585,39.6359426,47.1601834,26.1893209,3.9563122,14.4934835,12.9016181,41.3219144,13.7711864,1.8434631,1.8360329,21.3362476,16.5314293,44.6020034,12.9149033,37.9588835,67.5721702,40.0146745,47.4057532,26.01565,4.038185,14.6184358,12.5496131,40.9091136 +444,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.8424618,0.8992849,15.8929562,12.5980022,66.6480774,10.8769159,34.3145682,64.6205605,29.4553204,39.8714793,18.4516524,14.3757618,13.2822299,9.989949,39.1529631,6.9516718,0.9456283,1.0037538,15.9693782,12.482889,66.21878,10.7963607,34.3356994,64.9171932,30.052292,40.4868616,18.7959145,14.4751543,13.349576,10.0770244,38.8716708,7.3776741,0.9646648,0.9965368,15.9681623,12.5031946,65.7498146,11.1145977,34.2045062,65.1850411,30.2874203,40.1818616,18.9431534,14.5555117,12.9929484,9.8169993,38.8669766,7.4257409,0.9842415,1.0217948,16.0320599,12.416676,65.8639514,11.2130038,33.8357968,65.0865959,29.7305979,40.147533,18.7363709,14.579857,12.9276063,9.6444747,37.9967994,7.360784,1.0106072,1.0307589,16.1138467,12.4556436,66.3449531,11.0607508,33.7385038,65.0940784,29.3022951,39.9464387,18.2323873,14.5515706,12.9821139,9.2370082,37.9005034 +445,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.3016092,1.3049627,24.3207713,20.137386,75.3906185,12.7127862,33.9114542,65.5077696,30.4739956,40.2056032,16.9753519,3.0528963,13.2722028,9.765123,35.5386852,17.3679133,1.2270262,1.2426918,24.3458293,20.0425535,75.6679642,12.6499446,34.4040261,65.6920904,30.4790043,40.4437597,17.2300609,3.0358881,13.5634776,9.6600211,35.6532058,18.2238211,1.2425681,1.2545268,24.61913,20.1272211,75.6297729,12.9548004,34.7586279,65.4971167,30.8903349,40.640972,17.3673286,2.9172023,13.8049875,10.0786649,36.0534372,18.1301635,1.2545849,1.2709871,24.5667909,20.2189679,75.6953557,12.8446962,34.5608293,65.9709846,30.7896727,40.4592948,17.5584231,2.8767147,13.3718999,10.2873153,35.787915,19.1891859,1.2843814,1.3065239,24.3833601,20.0145094,75.2128879,12.8132637,34.31082,65.6563182,30.6636969,40.5864887,17.6359548,2.8667694,13.094431,10.3325435,35.9706204 +446,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9200565,0.9860426,18.950583,14.4105143,58.6036575,13.7724635,29.2053914,68.8438716,37.5281458,42.7236636,20.1538552,4.9408356,11.9557926,10.4713278,33.9574395,10.1282051,0.9321628,1.0603546,18.2926483,14.2083862,58.3000617,13.9315824,29.5002231,68.5023207,37.2473255,42.3668737,20.356299,4.7538662,10.9087637,9.5367346,33.1728321,12.0466321,1.0319321,1.1560889,18.2619592,13.9629717,58.1860472,13.897398,29.7528939,68.2111105,37.4431697,42.4709496,20.702022,4.6091134,11.1088125,9.3587108,33.1939117,13.3018619,1.1195091,1.2509067,18.7024526,14.1911298,56.853534,13.9004967,30.8905019,68.2246496,37.7384241,43.3518681,22.0491766,4.5416243,10.6725239,9.5439405,33.5258999,12.275861,1.1849132,1.3201831,18.5424723,13.9658778,56.2510072,14.1337778,30.3815647,68.409476,37.8894291,43.3462794,22.5580667,4.4623893,10.7159168,9.9941488,33.581321 +447,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4374267,1.4463667,23.4257321,19.1621998,47.6807405,15.5070996,38.7145909,68.3438676,36.2256123,48.322275,24.1732574,5.1129786,13.4568611,10.131694,30.519225,14.9707981,1.6420957,1.6073336,23.9855412,19.4234577,47.4439451,15.678873,38.1345614,68.5708546,37.0216336,49.4445691,24.4996362,5.0487113,13.0189346,10.5966311,29.1775325,15.1598317,1.6936414,1.701843,25.2408386,20.2904103,47.5360651,15.524838,37.0788707,68.3759704,36.3771099,49.2116652,24.1972098,4.9448164,12.8706399,10.3911179,29.8344648,16.450626,1.5869253,1.5869253,25.4456978,20.7134045,47.6658272,16.2420339,36.1929723,67.658676,37.0907298,49.1473912,23.7491153,4.8096354,13.0716168,10.8096455,29.7750566,16.6144468,1.7281887,1.7664369,25.5201639,20.7019562,46.8213905,16.8423614,37.0595331,67.5986695,37.9989372,49.595142,24.4810677,4.7976616,12.5206715,10.4286868,29.321543 +448,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2673874,1.2219243,21.4729077,16.8759388,55.1247971,18.3776671,35.964639,67.8395768,35.7763912,45.8883467,23.9522228,2.9930902,15.4812337,13.2399341,41.1552664,11.4146945,1.4091645,1.3145115,21.0838564,16.4639416,55.3522679,17.9354556,36.2900157,68.7836503,36.4626746,46.3419996,24.87662,2.7832706,15.3728582,13.5468341,41.7049783,11.8332158,1.354072,1.2243862,21.2565608,16.4686516,54.4554922,17.9418303,37.3390909,68.8525334,37.3912413,47.3215487,25.2490073,2.6447084,15.7744122,13.6215214,42.1832984,11.2793717,1.2880074,1.1558758,21.1281354,16.3749377,53.785764,17.8937514,38.0091614,68.960949,38.1459717,47.5414284,25.9024247,2.8304095,16.0069353,12.9544828,42.0456289,11.6320261,1.280233,1.1454612,20.9046995,16.2047634,53.8905868,17.9939597,38.116698,68.9786127,38.0585765,47.6826224,25.8678288,3.0550348,15.8595858,13.0485366,41.8310476 +449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2266451,1.0825338,21.0124717,16.1181772,54.0130095,18.1713587,38.813117,68.933567,37.3662443,48.1273701,25.9614672,3.2195272,15.6153982,12.892046,41.7904371,12.2341799,1.1483491,1.0266474,21.2261683,16.1449847,53.9061924,17.7540582,38.3945655,68.5600567,36.6100166,47.6321301,25.6721599,3.3647632,16.0317185,12.7581096,41.0112559,10.8248447,1.1324037,1.0714853,21.0471076,15.8175573,54.3141704,17.923243,38.5368052,68.0387572,36.5239333,47.9204805,25.6782388,3.4103061,16.254738,13.4086709,40.0393204,11.5121632,1.1416049,1.1225151,22.064664,16.4079228,54.2752024,17.8132464,37.8343735,67.1398335,35.900031,47.3502545,24.6162195,3.6249517,17.6714874,13.8824049,40.1064374,11.953027,1.1784668,1.2369694,22.5968006,17.0736619,53.8647522,17.1366649,38.3453334,67.826306,34.669451,47.5723447,24.3998996,4.0349499,16.3843,13.5446396,39.7054618 +450,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1579265,1.1848787,17.2484758,12.3157993,64.0451434,15.9904573,34.9774972,67.5129193,33.9747846,41.9306955,21.8466993,4.0588811,13.1931097,11.7078631,40.3976484,12.4652943,1.0505824,1.0920254,17.1084907,12.1884772,63.9408122,16.108901,35.7028167,67.6820516,33.9940784,42.3759086,22.3887159,3.9813243,13.1001024,11.6766195,39.8321921,10.7237555,0.9032163,0.9323035,16.4070389,11.5787437,63.2924191,16.9359319,35.6937295,67.5497972,33.9594684,41.9556267,22.7841834,3.9017601,12.8571471,11.5868645,39.3908241,8.7122953,0.9263871,0.9432649,16.1204185,11.405381,62.7788968,16.2743751,35.9622864,67.4155609,34.0719972,42.1599246,22.6990774,3.7961226,12.3970143,11.8261947,39.1373333,8.138702,1.0079583,1.0303441,16.7457729,11.6345308,63.430053,15.900869,35.4591701,66.881681,33.3284293,41.9718171,22.0138266,3.6164535,12.8883678,11.3718118,38.4448922 +451,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0229652,1.0360543,20.1886943,15.836499,85.8123986,12.6889909,30.921377,66.4752543,30.6406968,42.3047491,16.6283485,5.8065615,15.6967407,13.3486548,34.8508023,10.1462727,1.0607359,1.0906811,20.241515,15.9309464,85.7352523,12.7634631,30.8512906,66.5392621,31.0095679,42.3432089,16.9082681,6.1017785,14.9867145,13.441118,34.2159624,9.3572991,1.0816487,1.0999732,19.9973535,15.9465548,85.1620839,13.1167501,31.5623827,66.826035,31.3986285,43.1167026,17.522541,6.3234545,15.4550291,13.734721,33.7714973,8.9595583,1.0409159,1.0666596,19.9634996,15.7207034,85.3288968,12.9562439,32.103193,67.3269737,31.1913908,44.0154995,17.3696571,5.91341,15.0971011,13.9282067,33.2640377,8.5041402,0.9300514,0.9602236,19.3146411,15.4717985,85.4993769,12.9524726,31.9232672,66.5464502,30.1041088,43.9071806,17.4560236,5.7609429,15.3457635,13.3870439,32.7428946 +452,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2096474,1.2270433,24.0468083,19.5630868,74.8134917,12.7027018,34.1903748,65.8428919,30.5624754,40.7971231,17.5320473,2.9372647,13.6083557,10.5128236,36.0117157,17.9245187,1.1813768,1.2062321,23.6811606,19.4011282,74.5825471,13.1850705,33.9170843,66.3367038,31.2098056,40.8544756,17.6226876,3.1556724,13.4320591,10.2854226,35.2416086,16.8838858,1.1871572,1.2201225,23.9086915,19.6437553,74.1938385,13.1831892,33.6794212,66.5779854,31.0365453,41.1961479,17.5819517,3.0461669,13.5596208,10.0632251,35.176679,14.6477087,1.2170068,1.2318878,23.4573273,19.2814942,73.6123479,13.4740172,33.4752318,66.9765243,31.1120537,41.5551535,17.541268,2.9800216,13.5024839,10.3686597,35.2511616,13.4521012,1.1381148,1.1530524,22.8806494,18.7605985,73.5294169,13.7945753,32.7324862,66.7798518,30.9909269,41.9104698,17.4416601,3.0215989,13.1776072,9.8468591,34.8816398 +453,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3959523,1.4357226,21.5907049,17.3068845,69.8420299,15.1318841,34.9648846,64.5037679,30.5191902,41.4893083,17.5190934,4.0670412,13.8365242,9.988847,31.9894844,14.5743978,1.321818,1.3797115,22.1260442,17.881817,69.5293183,15.0446115,34.9558529,64.5842514,30.8036404,41.1508652,17.7144484,4.1579436,13.6431061,10.3148717,32.3639932,13.7146628,1.3034072,1.3637883,21.4572875,17.3710987,69.2395829,15.1648038,34.6776674,65.0357874,31.6789416,41.6703521,18.2092498,4.2701305,13.7437286,10.1415104,32.3145206,13.2944435,1.362879,1.4030843,21.3742609,17.1893485,69.3889342,15.5553517,34.4748386,65.2756014,31.1773558,41.1804644,18.2472347,4.6211754,13.4772875,9.8349891,32.5067376,12.7084915,1.3242757,1.3197319,20.8030578,16.5269801,69.2619487,15.3701547,34.8332608,65.7326513,31.5716694,41.2202299,18.5399076,4.7891091,13.6845083,10.1714135,33.1724103 +454,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9016096,0.9235066,16.6858502,11.8646719,63.4972186,15.3655843,35.7246782,66.9746613,33.7881734,42.1507872,22.3737511,3.8879217,12.8256112,11.3512686,37.4924415,7.7604133,0.8856623,0.9070523,16.4582221,11.6586773,62.9345705,15.5859712,35.9773495,67.0169415,34.3938912,42.1106097,23.1643626,4.1606917,12.188487,10.6953469,37.5657111,7.4814179,0.9046429,0.9255065,16.4735328,11.4557337,62.5500854,15.283806,35.6821568,67.1756255,34.5334529,42.7431414,23.3258149,4.0487872,11.7924394,10.353228,37.6414205,7.5050278,0.9413944,0.9733094,15.9732144,11.211387,61.7807239,14.7803563,36.3961648,67.7259505,34.7739142,43.2048039,23.5238529,4.2154595,12.1424839,10.0527376,37.5535787,8.3326222,1.1540228,1.1842938,16.3277141,11.6166041,61.9970585,14.2375725,36.1096004,67.7323861,35.7303846,43.4403261,23.8497672,4.2846712,11.8996854,9.8834313,37.6149911 +455,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.3199602,1.3458031,23.6322849,18.8427282,67.1744882,8.7008654,36.7967773,63.0518508,36.0371329,41.1362375,21.5075219,4.1253379,13.9003152,11.6538094,40.4968092,14.3879588,1.3548856,1.3872651,23.6100559,18.6946002,66.5684629,8.7193025,36.5215445,63.2992378,36.2245996,41.3954423,21.6605306,4.1440759,13.5731109,11.2890202,40.5627294,14.9177452,1.3371359,1.3574618,23.3091868,18.3853092,66.31874,8.6370299,36.3671647,63.3995138,36.2325102,41.5582329,22.2493503,4.0510718,13.5491142,11.3482446,41.019701,14.8613719,1.2805887,1.3025007,22.843001,17.957325,65.8907146,8.5309641,36.0371414,64.1356643,36.5512548,41.7356664,22.2663057,4.0395119,13.0396067,11.0797133,40.9367738,14.1974411,1.2701022,1.2946905,22.5604019,17.6308704,65.3962133,8.5691773,36.0595428,64.0138535,36.5920823,41.5595911,22.3704318,3.9582728,13.3365139,11.1902444,40.6351394 +456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.0413043,1.0530291,22.1708446,18.1628542,73.5537956,13.7278238,32.8539532,66.7192206,30.9612039,41.983664,17.3965447,2.9226272,13.3295457,9.6780302,35.106805,12.7410583,1.1253398,1.1267371,21.7286004,17.635971,74.0716568,13.1416657,33.0299569,66.9332368,30.8972165,41.7080334,17.7330344,2.7670583,13.7846998,9.9475377,34.7096569,13.5116869,1.1057615,1.1381594,21.4078682,17.3853973,73.7222843,13.2108275,33.0645011,66.7500839,31.3403785,41.7779111,17.9736714,2.7345271,12.9643882,9.5903465,34.8823715,14.4176358,1.1537433,1.2010347,21.5247158,17.2474264,73.9009944,13.1754921,33.2736368,66.3305665,31.3324558,41.7546321,18.0644541,2.5725673,12.9263601,10.0890646,34.9941237,15.8309561,1.2334571,1.2637496,21.3519563,17.1351995,73.6796688,13.396193,33.6456448,66.6193388,32.0745809,42.3717698,18.4459684,2.6973394,13.0257054,10.210022,34.8056498 +457,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6924589,1.7140781,21.4516898,16.6191873,74.4750237,15.7979127,36.6817506,67.3228846,30.4064243,42.9647229,18.5989152,3.1995887,14.5039548,12.1081761,42.6229333,15.3940868,1.6789156,1.6914375,21.92371,17.3708071,74.9361392,14.7759918,37.1041612,67.6874966,30.1458268,42.7708321,18.3541679,3.2708275,15.2029806,12.7897321,44.3286173,13.7804626,1.4832351,1.4958232,21.666658,16.8518561,75.0746483,14.6004945,36.4683716,67.385842,30.1005321,42.5429305,19.0406318,3.4981093,14.6147346,12.7615075,44.2145269,12.3096158,1.4016415,1.3821938,20.8262648,16.250004,75.352444,14.2035775,36.6133208,67.3659202,30.6012067,43.1877059,19.3122773,3.4818272,14.6777055,12.750222,43.2017695,11.5885307,1.5091645,1.4893861,20.512268,15.8200664,75.1565497,13.3434276,37.1422312,67.1730591,30.6252799,42.9546292,19.2206073,3.4566242,14.6818222,12.1253439,42.7331013 +458,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.6866213,1.7346039,29.2172614,24.6228243,50.0238664,14.4530397,39.3036797,65.646581,33.6746669,45.3189194,21.5038143,3.85606,15.310943,12.502959,33.9247284,16.8339674,1.6639922,1.7131179,29.3460429,24.55655,50.3044401,14.2917264,39.4701508,65.1218076,33.3191311,45.3288893,21.4190172,3.7088956,15.0358308,12.3763642,33.7440806,16.3124169,1.6808207,1.7311889,29.7806362,25.0274415,50.4929651,14.2618286,40.1646527,65.3783341,34.3200233,45.3305873,21.6503401,3.6890413,15.2312001,12.4777496,34.4902696,16.1918567,1.5098541,1.5480873,29.8727898,25.0308992,50.8770844,14.0281512,40.2308324,65.2148986,34.5555607,45.753111,21.7383161,3.6028561,15.8961732,12.965368,35.0286274,16.6021588,1.4395347,1.4709549,29.8023045,25.0469556,51.671723,13.5999496,39.7668602,65.4237414,34.1125803,45.8075812,21.7091847,3.522667,15.6901149,12.9137529,34.9908375 +459,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8199124,0.8106367,14.4048134,10.7599875,63.0371936,10.1602542,31.1625157,69.9650088,38.9385765,42.308194,22.3626227,4.8146678,10.9258268,9.1575577,37.1763754,6.2434306,0.8178926,0.8097693,14.1067298,10.484293,62.5644104,9.9896926,30.5580877,69.5071072,39.3206468,42.1110991,22.1345676,4.8832935,11.068296,9.4106711,37.1715808,6.5832311,0.8222786,0.8023197,13.6840107,9.9961214,62.3365493,9.890884,30.834849,69.8424094,39.3917737,42.5566563,22.5774959,5.0729329,11.4919887,9.5356771,37.576153,6.7805836,0.7300933,0.7506338,13.6637822,9.9447207,61.848861,10.2230242,31.2333772,69.9316235,39.5656631,43.0353277,22.7744709,5.2108372,11.3659645,9.2037872,37.2576845,6.7823232,0.7903765,0.8101364,13.5212152,9.7151532,61.736827,10.2169227,31.3261105,69.8307393,39.5701488,43.0406701,22.8141764,5.181442,11.5327543,9.2738925,37.450143 +460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.3694793,1.4052376,30.0164486,25.2340594,51.6200306,13.528662,39.7952439,65.3299184,34.1353464,45.8855157,21.6288652,3.5406855,15.5962288,12.6053984,35.3261278,15.5277212,1.5741604,1.6218549,30.0478179,24.9805975,51.9354031,13.9992105,39.0745787,65.3728286,34.2676124,45.6391525,21.8974856,3.6018579,15.5089676,12.7270474,35.1732788,16.6499849,1.6370542,1.6786544,29.9779682,24.7925832,52.6283789,13.498429,38.8756089,64.6773282,33.8988133,45.7684557,21.5768637,3.3865552,15.5006981,12.5901462,34.9932765,17.0842827,1.5860678,1.6132636,29.4736235,24.3516928,52.6362328,13.5218154,38.9955296,65.0145662,34.1648423,46.3009543,21.6715349,3.3417119,14.9960427,12.261423,35.2681877,17.602141,1.6416237,1.6792161,28.9028235,23.836905,53.2877251,13.6072736,38.4182089,64.9761383,33.7641867,46.4266764,21.7117579,3.3876951,15.1535416,12.3180947,34.793581 +461,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1559085,1.1948467,16.4954218,11.7509716,61.3227264,14.5647735,36.4441803,68.1283198,35.6944101,43.6655554,24.3752548,4.4603101,12.3866408,9.5821679,38.0651174,8.3875279,1.1103963,1.1443179,15.5470829,11.2236726,61.0746376,14.6978418,36.6758179,68.9935053,36.2261279,44.4429606,25.0873985,4.6828818,11.680635,9.4889006,38.5492025,8.0749452,1.1099173,1.1432362,14.9963584,10.6808328,61.0213433,15.1121357,36.3425285,68.4476809,36.0230556,44.5222173,25.5097157,4.556682,11.6616106,9.5552273,38.5707523,7.7327824,1.0853594,1.1339943,14.8286712,10.4367322,60.8046307,14.5587315,36.6461409,68.5520985,35.4578729,45.0866072,25.0619238,4.467874,12.3440709,9.8648629,39.0064072,8.0994518,1.0392963,1.0823485,14.7562916,10.6298,60.6488569,14.3325398,36.8179694,68.7873245,35.4290735,44.9777144,25.0620784,4.1046731,12.4689907,9.9103466,38.841325 +462,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7048961,0.7048961,14.8111305,11.550692,75.0700841,21.8028978,32.7067654,64.2065577,28.4724863,40.5421458,17.3921622,6.9054236,13.6291011,10.368298,33.4276503,6.4560457,0.8229019,0.8476207,14.9759374,11.6479527,74.9494551,21.7159827,33.1667359,64.0743624,28.288681,40.043984,16.4934059,7.2171163,14.1990349,10.7287493,33.6475466,7.2237981,0.8741383,0.9010634,15.2479093,11.6937217,74.0211204,21.7139226,33.5577803,64.313635,29.2137212,39.9435256,16.9200718,6.5812363,14.0913131,11.1159969,32.9626363,7.0977918,0.8996953,0.9077565,16.2428685,12.2533932,73.1616078,21.8427867,32.8918815,64.3291338,28.4628701,40.1867122,17.2166791,6.5349564,13.9257331,10.4774564,33.1395348,5.7632399,0.9670147,0.9749449,16.9896592,12.7260956,73.3030754,21.4919753,33.0269316,63.8093219,28.2385627,40.038478,17.2509693,6.3488698,13.1853756,9.6170538,32.6737083 +463,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.981334,0.9917095,14.8512601,11.450476,79.3525917,7.5876146,30.9685985,64.0500914,30.9159492,38.7274054,17.0587457,6.2935309,12.7937796,10.2364984,36.9035227,6.5812867,0.9861853,0.9864678,14.9237434,11.4345844,79.4133501,7.6248116,31.122057,64.3048728,31.1695161,38.9081345,17.0349012,6.3600201,12.8188139,10.3137633,36.8639762,5.9753367,0.9742295,0.9745171,14.9022675,11.2959372,79.1796976,7.5359768,30.7147375,64.195106,30.8178518,38.9923327,17.2703428,6.2687366,12.7112111,10.3167398,37.2091833,6.5370701,0.9854924,0.99691,14.7010598,11.150815,79.0758135,7.5912005,30.902237,64.5307898,30.4242772,39.1591481,17.1146215,6.2920417,12.6103954,10.1602912,37.3581506,6.307425,0.9508329,0.9690376,14.5426354,11.1133093,78.8858577,7.8061332,31.1722846,64.6339889,30.4695297,39.4858239,17.0716425,6.4862408,12.4521784,10.3010768,37.6291465 +464,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0311911,1.0391719,16.5943564,12.4728834,73.2421984,21.3891325,33.9707796,63.6226913,28.0833719,39.9871044,18.1564304,6.553506,12.8989353,9.0142063,33.1395467,6.4954683,1.0076505,1.0222879,17.0567832,12.8521908,73.1087045,21.4407198,34.2592583,63.4151635,28.3591823,40.1162722,18.6692552,6.4384182,12.2026408,8.7014092,32.4577199,7.4923547,1.031729,1.0467133,16.7774868,12.6994748,72.5914451,21.7892965,34.267435,62.7758248,28.1774144,40.4898475,19.70433,6.3768786,12.133332,9.564054,32.9301282,7.9710145,1.0011854,0.9885325,17.0548023,13.173522,73.4174364,21.3390144,34.0353309,63.0661353,28.1476519,40.0135897,20.5389531,6.1820677,10.9608177,9.6728933,33.1297085,7.1637427,0.911503,0.9392587,16.2446429,12.6824094,73.5649628,20.8456083,33.7382795,63.1500525,28.5805663,40.2600172,20.5669227,6.5856806,10.6954194,9.7442644,32.7280865 +465,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3678244,0.4592206,12.3163186,9.4934261,74.5023885,21.4925955,32.6930693,68.1782178,29.9207921,42.9108911,16.5346535,3.980198,13.3410673,9.0733591,33.0607477,4.4797688,0.3736251,0.4343445,12.1461362,9.2004591,74.4978338,20.998843,33.3007048,68.1088489,30.5990603,43.128426,17.2083007,4.1307753,13.0822981,9.038014,34.5191556,5.3191489,0.3891122,0.4326948,12.0804059,9.3091335,75.1808682,20.805501,33.1135092,66.6067146,29.756195,41.7066347,17.206235,4.2565947,13.006483,9.3522267,35.1428571,5.221519,0.4089422,0.4471101,11.592233,9.0291262,74.5407348,21.0331384,33.7361331,67.0562599,30.4477021,41.818542,17.4524564,4.3779715,12.4206349,8.8421887,33.96,5.873494,0.4327335,0.4712939,12.2348782,9.6818539,74.5275432,21.4313725,35.2858856,67.2331068,30.1279488,42.4030388,18.3326669,4.3782487,12.28,8.84,33.8852989 +466,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1539171,1.24708,18.3768823,13.6368881,56.5384097,13.941275,30.0369755,67.4212892,37.6234065,42.5253302,22.4617037,4.3728337,11.3297205,10.0316277,33.8018669,12.7100253,1.1647602,1.2407773,18.3685149,13.799984,56.2526158,13.8809138,30.0601656,67.46313,37.2978593,42.8745821,21.7977867,4.5080657,11.3909677,9.6994665,35.2268139,13.164477,1.2168458,1.2819237,18.6246957,14.1413186,56.3568278,14.0936674,30.9731813,67.2899394,37.5056754,43.1859888,22.1024826,4.8111207,10.9903756,10.2272981,35.8928477,12.742417,1.1183123,1.1154001,18.9229349,13.9913902,56.4761165,13.6412647,30.4647764,67.3774659,37.9826672,43.5463294,21.8262376,4.9229591,11.2003058,10.1222307,35.8019954,11.2771203,1.064812,1.0723926,18.8660217,13.9825426,55.8305452,12.9567545,31.047279,67.5313538,38.3191801,44.1333753,22.0757723,5.1419289,11.3669591,10.2629657,34.9596478 +467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1688558,1.178729,24.8788981,20.3310003,64.623829,13.6363474,34.5261076,67.9331527,34.3603161,41.599907,19.9088185,2.6664887,11.942405,9.1911826,33.7791612,18.2050909,1.1190443,1.1417575,24.8639141,20.2095899,64.6664745,13.7154555,33.7300538,67.7261561,33.7300454,40.3388471,19.6163604,2.4222971,12.2126532,9.5334266,34.3097441,18.0580515,1.1476281,1.1761995,23.3677599,19.0150844,64.7464249,14.3527539,33.5017387,67.7685086,34.021363,40.9786442,19.8181318,2.5548509,12.0298674,9.5452008,34.7865455,18.3494793,1.1619564,1.1777071,22.9687608,18.6505851,63.9791489,14.5357033,33.3382364,67.4838856,34.3658251,41.5590192,20.0968913,2.5689996,12.5822026,9.7963081,35.3666151,17.1784804,1.2757268,1.3209142,22.223909,17.8485381,63.3535618,14.9891777,33.1193383,67.381795,34.4973327,42.1703764,20.4353313,2.6777333,12.9641642,9.9038706,35.2316845 +468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.0037825,1.0424822,12.8387066,8.8817156,64.6769413,19.3366773,35.1734298,65.5033809,33.4813734,41.5186097,21.1294361,9.6658197,11.9661875,8.5040012,36.571159,6.5683646,0.9623331,1.0126097,12.2231486,8.6293315,64.7984865,19.5127025,34.9730199,65.4836054,33.478615,41.7808227,21.8970494,10.1079286,10.8072886,8.0295094,37.4781697,7.3453627,0.9356205,0.9908082,12.8577215,9.0555935,65.2754901,19.1800084,34.355956,65.1564452,33.5839037,41.8732247,20.9061329,10.016254,11.0780956,7.9506758,38.9316097,7.7608162,0.96389,1.0183365,13.1249964,9.6169296,65.6579943,18.5177968,33.7685847,64.2225833,32.7239839,41.2414655,21.1530734,9.6625165,10.8840606,7.8815566,39.0519977,7.6441122,0.8878902,0.9410817,12.8311598,9.114273,65.121364,18.8274103,34.4168683,65.3073357,33.3136328,42.7699031,21.5327038,9.5941704,11.1964422,8.6165023,39.8780422 +469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1291398,1.1932942,20.3095813,15.7728929,56.1348559,16.1471232,39.5495962,68.066443,36.791977,48.3835534,25.5159801,4.2715063,14.098444,11.9729637,35.6967914,13.2550469,0.9702789,1.0559968,20.0584761,15.5886245,55.9463009,15.667438,39.8115717,67.498404,36.5289137,47.3443995,25.0543787,3.9726395,13.6131983,11.831821,34.6763641,12.8116432,0.9883822,1.0590755,19.3639365,15.0694401,55.9459294,15.3795335,39.7642248,66.9879529,37.0718788,48.0164057,25.5591396,3.8875896,12.8353877,11.4348386,33.9668692,12.6907666,0.9917988,1.0639375,19.0962419,14.4951388,56.2633475,15.1282389,38.9309589,66.2519971,36.4118741,47.9635991,24.925062,3.9882151,12.032208,10.1081326,34.1735867,11.3126034,1.0226312,1.0614803,18.5537794,13.8107507,56.7535772,16.1560039,38.4254025,66.4218005,36.4695843,48.9522084,24.9648133,3.7907507,12.0398672,10.3116452,36.1591307 +470,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5583911,0.6088225,12.0790916,9.3382929,74.6003197,21.6770915,35.0198413,66.25,29.781746,42.0436508,18.0753968,4.6230159,11.9573796,8.6492891,33.8773885,7.6811594,0.5768996,0.5768996,11.505292,8.8004704,74.4515357,20.9115806,35.2137767,66.290578,29.8297704,42.418844,18.4283452,4.5328583,11.9010212,9.3160377,33.9540412,8.4821429,0.7438942,0.792986,11.9913078,9.2256025,74.8793242,20.635861,35.2694611,66.5269461,28.9221557,42.5748503,18.5429142,4.9700599,11.7905675,9.24,33.9112903,9.2705167,0.8687107,0.9190252,12.4038851,9.4496155,74.7622985,20.8096013,34.2851274,65.9202958,28.4511093,42.4609696,18.5086278,4.9096138,12.3553719,9.3801653,32.4875208,10,0.8744642,0.9343482,12.6814516,9.6572581,73.8095238,21.5274949,34.8784508,66.1516275,29.7280593,42.9954677,19.9217141,5.0473836,12.7897351,9.9751656,31.9617623 +471,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.2648819,1.2633039,20.6699599,16.4183284,68.6021638,15.1404065,35.0977729,66.2663795,32.0007579,41.3390927,18.9414163,4.8442831,13.3911649,10.4076578,34.0643675,13.5918695,1.1565059,1.1713504,20.080599,15.7885867,68.6118313,15.3295278,34.8997741,65.8438007,31.8547502,41.5643156,19.0322251,4.7765801,12.822131,10.1349086,33.5842523,13.6963433,1.1686556,1.1988851,20.4079117,15.9744887,68.8874271,15.1837782,35.4516519,65.7448403,31.6645317,41.6580688,19.43534,4.8250907,13.7422941,10.338866,35.3159511,13.0650141,1.2822984,1.298782,19.7200601,15.6114716,68.7670161,15.8455518,34.9135786,66.2686332,31.8936019,41.5441598,19.4999056,5.0104713,13.6838224,10.4287751,34.6865646,13.6138701,1.2981622,1.3096164,19.5266115,15.2633471,68.9358299,15.9214596,34.9018888,66.0480574,31.7129222,41.5906698,19.4565292,5.1008233,13.5497088,10.3224953,34.7176909 +472,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.8068252,0.8117445,19.5839694,15.8226913,85.5979899,10.7196089,30.5585451,67.0949775,30.930978,43.705778,18.4543544,4.1899121,13.809924,12.6776901,32.417247,9.4999905,0.8959835,0.8959835,20.0003778,16.2446108,85.7680018,10.426555,31.0210334,67.5824889,31.1330332,43.6683789,19.0081296,4.3089876,13.9622605,12.590502,33.5126615,10.445159,0.9960621,0.9960621,20.4297974,16.5730757,85.1390917,10.4480827,31.4688541,67.3960231,32.0658061,44.1906583,19.1947136,4.7566752,13.8907917,12.9075003,32.6063327,11.0506285,0.970938,0.959318,20.5238629,16.4331544,84.2876548,10.2167553,31.9234271,66.3025506,31.5860092,43.9953779,19.0640754,4.5551022,13.8562725,13.3174827,32.7214658,11.3717426,1.1089609,1.0973253,20.4349809,16.1359309,84.5716619,10.6099221,31.1428528,65.4997553,31.96985,43.5473061,18.4000303,4.7550324,14.1690547,13.0059063,34.3418171 +473,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9716278,0.9943256,12.992126,9.7181931,74.1269165,21.0845896,35.0932994,65.5852417,29.4105174,42.8117048,20.1229856,4.9830365,12.6382979,10.1702128,32.3202055,9.1900312,0.9775578,1.039625,12.6722338,9.1649269,73.7920621,20.080748,35.2978997,65.4307758,28.6112302,41.8988427,18.9669953,4.9507072,12.7758913,10.3140917,31.3247863,6.8791946,0.9682868,1.0502755,12.5,9.2028381,72.745013,19.8595147,35.7634409,65.827957,28.7956989,42.6451613,18.7741935,4.8387097,13.1465517,9.9654875,32.3043478,6.3934426,1.0805482,1.1731043,13.2346811,9.8165902,73.4361425,21.2616822,35.6620808,64.8968186,28.9122958,42.7128117,18.9810834,4.9226139,13.5702055,10.077187,32.0811744,8.5483871,1.019777,1.0638618,13.1677796,9.8288815,73.634775,20.9594883,35.3411054,64.1407599,29.5984456,42.2495682,18.8471503,4.6416235,13.6441403,9.8971722,31.8221071 +474,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0274973,0.9804977,16.8582649,12.7093407,54.2484867,15.7543992,34.7400749,65.4467616,35.6557619,46.5917117,23.6173677,3.251714,14.7164673,12.4810813,40.92192,10.2836661,1.1501526,1.0857235,17.5869447,13.0818112,54.9015066,15.6903416,34.9161059,66.4644444,36.355985,46.3478988,24.0311123,3.3804815,15.6577419,13.3081146,41.6490998,8.8652294,1.0870333,1.0115788,16.8393271,12.2598467,54.8112796,14.8825619,35.4075525,66.6984767,35.5204893,46.2822388,23.1602985,3.213038,14.9224964,13.0641692,42.1394454,8.5616321,1.2311922,1.1745645,17.9120478,13.1967252,54.7943803,15.1572465,35.8578819,66.5184329,35.9102284,47.3340892,23.8048596,3.1788139,15.5517564,14.2408824,40.1260301,11.0759353,1.3400253,1.3263955,18.6630008,13.6137041,54.071636,15.9765894,36.0578779,67.556155,36.8896881,48.5923256,23.8937154,2.9216549,14.9916358,12.9608995,39.257947 +475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2415282,1.2636247,21.0122988,16.8684918,73.7084141,13.3632174,33.3880891,66.1287262,31.8419135,42.3946851,18.5833171,2.8507995,12.1530673,9.9207878,34.2462941,17.5798953,1.1710381,1.2161889,20.8921955,16.5569893,73.7509983,12.7897845,33.6198325,66.3208927,31.8415471,41.8198174,18.8599303,2.7366188,12.3792372,10.1166447,34.2479722,16.6927821,1.1576899,1.1837677,20.6062222,16.3236869,73.2341722,13.0838338,33.6975004,66.3214963,32.2154727,42.7228054,19.0290871,3.0875913,12.0609789,9.6183354,34.0785282,16.2808567,1.1135856,1.15445,20.2449789,15.9818618,72.9624536,13.5227385,33.2970185,66.4851579,32.3861422,42.960409,18.6633835,3.4554441,11.7705793,9.8043025,35.1106635,16.0542709,1.0960584,1.12701,20.2025244,16.0116294,73.0578083,13.9023862,33.789058,66.5810075,32.8844638,43.4724625,19.3153904,3.6081383,12.0400633,9.6978194,34.3286633 +476,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7841613,0.8049131,13.6545949,9.7263168,61.7281735,10.098953,31.2426108,70.0815842,39.8143838,43.5741275,22.930956,5.3263187,11.3967937,9.2180736,37.8648915,7.5879296,0.7977218,0.8436652,13.493413,9.7468187,61.4229812,10.0527009,31.000913,70.0239129,39.3247581,42.979952,22.7453918,5.2778404,11.1711909,9.2822601,38.1233981,7.9787315,0.7769121,0.8359713,13.4770986,9.7738085,60.8786078,10.125121,31.0166122,69.9643321,39.7112959,42.9662199,22.9796055,5.1109123,11.0973117,9.1083482,38.3591196,7.142866,0.7930341,0.8453321,13.6061093,9.904334,60.6209062,10.1966213,31.3023028,70.088916,40.057536,43.2060625,23.1328489,5.1830529,11.3475929,8.8449166,38.1737781,6.4192233,0.829825,0.8793682,13.6193416,10.0531933,60.2279419,9.9348358,31.1061741,70.3950655,40.0148184,42.7111079,22.9382745,5.1209869,10.9554507,8.6154738,37.5736069 +477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2369088,1.2304081,14.9243894,10.8102117,66.9292085,22.0998271,36.1661522,66.9970818,31.2315189,45.5293046,21.235745,8.8780843,11.8265794,10.8622386,34.7659834,5.9684617,1.1848117,1.1787129,14.9783648,11.0129262,66.4742279,20.0351245,36.0497228,67.2652246,30.6432461,45.0473302,20.6984827,9.1357285,12.1632185,10.6205124,33.7470371,5.9395184,1.3131009,1.3159737,14.8017373,10.6150131,66.5107459,19.9305456,35.9769867,67.1434175,30.5534867,45.7837963,20.9695406,9.49106,12.5275395,10.5747857,33.64247,5.9356137,1.25667,1.2595241,14.6309585,10.4612276,65.7688542,20.1564009,36.1572776,67.2019429,31.3584519,45.7179782,20.985627,9.3207602,12.2902811,10.7090487,33.3948954,5.5,1.0659742,1.099401,14.236093,10.1790858,65.654822,19.844771,35.2218816,66.9784065,31.6648494,45.5262024,21.3238032,9.075886,12.5090992,10.0364817,33.0747479 +478,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.89473,0.9430192,15.5679371,12.4498953,73.5267774,20.6011464,34.0231408,62.817098,29.1277268,39.9421424,20.8500191,6.386296,10.8933423,10.1919526,32.5528095,7.994186,0.9083663,0.9591131,15.0093441,11.7413687,73.1042754,20.7987113,34.2302344,62.5409482,29.7379489,40.4071111,21.0341549,6.3406672,10.9478725,10.4087502,31.8225247,8.7155963,0.7980071,0.8575043,15.0499337,11.6738032,73.4549924,20.7623118,34.1410751,62.9318655,29.1986504,40.2351267,20.80134,6.0700593,10.9099836,10.4309531,31.1143978,8.4664537,0.7221968,0.7760347,14.6611052,11.4685698,73.8023245,20.5839069,33.9374381,63.08342,29.2204506,40.5412137,20.6305821,6.0327724,10.4423901,9.8352245,31.0362687,7.9124579,0.7361414,0.7914861,14.9265116,11.6320354,73.9772202,20.0554995,34.0897486,63.3605312,29.0413027,40.1580827,20.2192708,5.9918424,9.5314184,8.9114213,30.8476354 +479,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.811015,0.8451364,18.6206298,15.0335826,86.0052837,12.866356,31.9158833,66.3774562,30.7682322,43.687632,16.9365244,5.6945678,16.6567519,14.0060735,33.2218883,7.854024,0.7159628,0.7429544,19.049711,15.2657765,86.170775,13.1230805,31.6948729,66.1174515,30.4697506,43.4803135,16.7882671,6.0531342,15.9493999,14.2562395,32.7092925,7.8271266,0.7909307,0.8235895,18.5027632,14.4008639,86.2064114,13.0581114,31.2887311,66.1397021,30.0769388,43.4970919,16.568201,5.7789383,15.7380706,13.790037,32.9855471,7.5582011,0.7729066,0.7870906,18.3735602,14.0966434,86.1563984,12.9055483,31.5487888,66.2512704,30.3168477,44.1333049,16.3538393,5.6761849,16.2493025,13.8044534,32.9443937,9.0376308,0.7424463,0.7560099,18.2284046,13.9867157,86.5014527,12.9197232,31.3991767,66.3249523,30.4158713,44.0433565,16.1703151,5.6336095,16.469621,13.8154224,32.6247613 +480,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6676845,1.712609,26.3485752,21.7684239,51.5632724,16.3738048,41.4868045,66.9341778,36.0394539,46.3815425,23.6973564,3.6184101,14.1092714,11.2368279,33.9256435,15.959792,1.7277404,1.7449801,26.4850552,21.8039734,51.5111557,16.2781727,41.0092882,66.4263192,36.4008818,46.4941653,23.7913385,3.6047405,13.7746184,11.2083498,34.120558,17.1116096,1.6199394,1.6715782,25.973113,21.0663174,50.9777887,16.1956941,41.4313592,65.9937566,36.6600546,47.3319708,24.4917962,3.5996543,14.5070296,11.3148822,33.6269786,18.2782697,1.6178669,1.6330052,25.9945556,21.3855116,50.4331322,16.3371061,41.3807841,66.1325964,37.6098906,48.0720144,24.4258107,3.7567228,15.0113189,12.1805431,34.3946407,18.0232349,1.562151,1.5882811,25.5192845,20.9776153,50.5224851,16.8629708,41.1453903,65.8525153,37.9748915,48.3147637,24.2073175,3.7846249,15.3072767,12.0402022,34.501664 +481,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7279727,1.7650287,25.5429278,20.4446515,47.4784502,17.4088341,37.1324695,67.465163,37.924809,50.003584,25.0118589,5.2868798,12.3995838,10.7771422,29.8304302,15.0469007,1.6275852,1.6275852,24.4714131,19.4973332,47.3455456,17.3430115,36.4587291,67.5390964,37.4754208,49.4573189,24.0598315,5.2559562,12.6863573,10.5580267,30.5284651,16.3360302,1.7463981,1.7192033,24.4257257,19.5492692,47.4285774,18.0389923,36.8095656,67.5736587,37.8522747,49.0408576,24.2707656,5.3140524,11.6376359,10.243436,30.4306068,17.12572,1.6651984,1.6706557,24.1147776,19.4436291,47.3881355,18.2657002,36.8663745,67.0816887,36.862675,48.1696707,24.3312232,5.5527443,11.6089748,10.1857402,31.9178909,16.0738202,1.720108,1.6930941,24.0141531,19.5127019,47.5018832,17.8625143,37.2744928,66.9519219,36.6122363,48.098672,24.6061538,5.7129997,11.8040529,10.7724629,32.5714519 +482,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.029051,0.9769723,17.3872583,13.6220475,77.7425985,16.8582112,37.6726226,65.0167169,33.8493961,45.5080609,21.5511022,7.1449311,13.1834398,10.5534368,34.0491813,8.1262923,0.9771019,0.9026799,17.3134968,13.4181418,77.5864632,17.1859206,37.6277312,64.9562083,34.1240956,45.7445216,21.7591327,7.2919673,13.3401986,10.8318696,34.1957498,7.9192522,0.9157461,0.8707092,17.1514159,13.2928987,77.6717264,17.4229029,37.5594156,64.7430258,33.6972761,45.6550835,21.2641227,6.8701691,13.1798067,10.4879538,34.1072586,9.115432,0.8970518,0.8602949,17.7582749,13.810333,78.0952367,16.9778039,37.2519327,64.8994251,33.5900693,44.972387,20.8955729,7.1025056,12.7486205,10.1868204,34.0696172,9.0760929,0.8156625,0.803439,16.9640926,13.0967879,77.8536041,17.0236084,36.9246995,64.6394575,33.5230563,44.7151167,20.8123892,7.1449997,12.6384685,9.9721876,34.3540937 +483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.9755735,0.9980103,19.4415321,15.5929688,72.2856663,14.2389699,34.0582836,66.9059365,33.6940265,44.5146898,20.2807068,3.5890255,11.6802371,9.1823497,34.0879595,14.3477937,0.98785,1.0113662,19.1253734,15.0043771,72.3373173,14.0286985,33.8149575,66.8570823,33.2101264,44.522875,20.3517011,3.5730237,11.2281452,8.9341593,34.4539533,13.0149593,0.9454866,0.9803788,19.0997201,15.0157932,72.4390352,14.2257079,33.6673526,66.7472931,33.9437931,44.079728,20.6749536,3.4669355,11.543769,9.2353547,34.2080558,13.1322778,0.9684106,0.9842488,18.8720808,15.1744119,72.6455991,14.5248257,33.9781539,66.92381,34.1917923,44.3745793,20.8995917,3.596009,11.3517264,9.1579227,33.4368784,13.1422863,1.0440694,1.0605848,18.4729618,14.5275208,73.0490412,14.572693,33.6669092,67.1485061,34.0622806,43.8225898,21.1638211,3.4717056,11.6502513,9.5812678,34.0525688 +484,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1068345,1.1412829,18.741386,13.9724951,56.6451901,12.688008,30.5814689,67.647561,37.9712678,43.5194195,21.5035053,4.9650657,11.6246995,9.9579866,35.5399037,10.1140084,1.1138895,1.1632793,18.7868842,13.9323027,56.6941906,12.4208667,31.3102717,67.6828868,38.3344247,43.6600913,21.527451,5.239211,11.3622926,9.4152788,35.6279167,8.8651169,1.2382863,1.306416,18.6380695,14.1457816,56.2470375,12.3618053,31.4812694,67.9142436,39.0601953,44.1992557,21.9077473,5.2224866,10.68224,8.7774097,35.6202367,9.5205308,1.4505296,1.5212588,18.9452878,14.4391347,56.4297872,12.5017491,31.1502821,68.2490395,39.5767847,43.8876201,22.3334432,5.0569415,10.8697696,9.154459,34.9355293,10.2751868,1.3680254,1.4319571,18.9532476,14.2547148,56.3132464,11.8055311,30.5319858,67.9212751,39.4787792,44.018639,22.5405003,4.8818954,11.3396583,9.4688341,34.120657 +485,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4566712,1.5041629,24.8518813,20.5052866,50.1776056,17.3076798,41.2525775,65.6349271,38.2302211,47.9657405,24.5422477,3.5600076,15.2161346,11.8213626,34.73778,19.3045286,1.5382409,1.5935565,24.8327664,20.0902629,50.2434177,17.6479129,41.1211102,65.4259346,38.8191876,48.654734,24.8280645,3.4828092,14.8070151,12.3267104,34.9028123,19.4915213,1.4958694,1.5450089,24.4781644,19.7736716,49.2613522,17.886786,40.8308562,65.3322527,39.2598857,48.7462586,24.4863693,3.3987927,14.3510359,12.2181666,35.2056755,18.1012728,1.4518601,1.4989586,24.2241091,19.540141,49.1912098,18.609612,40.7445431,65.8602926,39.8465199,48.4502061,24.4350753,3.6355722,14.4490353,12.2144201,35.1917616,18.1481594,1.4326496,1.4726188,24.0899144,19.5684837,49.2796161,18.818481,40.4367911,66.1294454,39.8946381,48.4789596,24.1716591,3.5993965,13.8238933,12.0997552,35.7009908 +486,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.266758,1.27166,22.3663358,17.3811993,65.3877845,8.6356088,36.194674,64.3382974,36.5086912,41.6044897,22.6207308,4.0855931,13.0767771,11.0328056,40.4825565,13.4023293,1.2350345,1.2253086,22.0715277,16.9747754,65.1374687,8.8364463,36.1082399,64.6096592,36.494191,41.9841039,22.359204,4.0465108,13.020125,10.8789516,39.96035,12.8516209,1.2021302,1.2029196,21.4342361,16.2708604,65.0463248,8.8486133,36.3669656,64.6075084,36.1641445,41.7948517,22.3335678,4.0216378,12.9678428,10.6387056,40.1144925,12.0963361,1.1553546,1.164336,20.6870111,15.6734411,64.6771742,8.8600345,36.4650806,64.9631828,36.5720558,41.7640921,22.386171,4.1264015,13.0357611,10.7689993,40.5911231,12.025412,1.1166454,1.1415269,20.4749734,15.4431134,64.4603292,9.273923,36.3625463,65.2667956,36.8437949,41.7838863,22.1412227,4.2467145,13.1659078,10.7774159,40.4451044 +487,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.094638,1.0566633,20.3939316,16.248487,84.5243287,10.7449663,31.3499666,65.8481053,32.1040115,44.1688396,18.5686716,4.9955877,13.5010512,12.955534,33.5598466,10.5171217,1.2135912,1.1750627,20.1391946,16.0734465,83.7306708,10.70242,30.6994149,66.4612259,32.2276758,45.0269387,19.0080179,4.8331525,13.5408969,12.9944204,33.2772827,10.4809808,1.3070414,1.2679294,20.1034442,15.9760137,83.3618203,11.4684769,30.9725842,67.1943391,32.2121572,45.3449083,19.0017916,5.2104661,14.1638265,12.9011623,33.1442231,10.2786275,1.2122374,1.1724852,19.654698,15.4310429,83.4799246,11.2912033,30.253648,66.9519959,32.6579362,45.5083004,18.5067964,5.1834526,15.1613307,14.0411574,33.3411243,10.2786669,1.1592772,1.1561772,18.8295288,14.8131599,83.4679335,11.1971865,29.865431,67.142281,32.7818196,45.4872044,18.198802,4.8942844,14.7506365,13.6001761,33.727603 +488,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3667063,1.3670082,19.7454614,15.5025991,68.812293,15.9693128,35.1653383,66.5569133,32.541648,41.7975716,19.3293287,4.875157,13.5332163,10.8467734,34.9918365,12.2116028,1.2819225,1.3145894,19.9820814,15.808558,68.2520224,16.1787794,35.1387144,66.7563766,33.3078957,42.1657301,19.6565054,4.768013,12.9642032,10.7574966,34.6412254,12.3051275,1.3825683,1.4252087,20.0034625,15.7873534,68.412683,16.7954092,35.5850768,66.2671605,33.7728765,42.3321808,19.755884,4.9472953,13.2144367,10.8447715,34.486145,13.7895249,1.5765723,1.6071847,20.0172673,15.750149,68.4692499,16.5491268,34.9249423,66.6302857,33.5128596,42.4096608,20.1078449,4.8759929,13.6658158,10.8952386,34.804931,14.3864508,1.515713,1.5296044,19.4413067,15.1926315,67.3767083,16.8743733,34.8145442,66.7125205,34.028956,43.119582,20.6102359,4.906968,13.691584,11.5000735,33.7341533 +489,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5926892,1.6115038,22.8616342,18.6076014,48.6710307,10.1110382,35.0383252,66.4229415,35.2692335,45.7768911,21.7154401,3.9769045,13.3761885,10.0817232,31.7803388,13.5479995,1.7119598,1.7184682,23.082129,18.7728512,48.6532157,10.1434074,35.6015741,66.6276445,35.3525267,46.2034561,22.2248207,4.0925835,13.3063424,9.9902496,32.1111687,14.2070329,1.6309384,1.6473811,23.2535771,19.0214559,48.2113266,9.9089247,36.212579,66.3887963,35.419721,46.493442,22.409905,3.9266652,13.319162,10.3808838,32.1418021,14.6323075,1.6782933,1.7110875,23.8761277,19.4848171,48.1532535,9.9062348,35.7850491,66.5567386,35.5864226,46.6393334,22.7571325,3.8196224,13.0480417,10.1459264,32.2495593,15.5645722,1.6443432,1.6560897,23.6566755,19.4595807,48.2064679,9.9436223,35.7286012,66.0813744,35.7448923,47.1485436,23.0700679,3.8833678,12.9385254,10.085882,32.2326204 +490,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1584241,1.1913932,15.2168751,10.9296881,60.0387249,14.7806154,36.4674224,68.9970905,36.0313992,44.8819776,25.3849291,3.9892326,12.3788351,10.3015037,39.0753559,8.8711283,0.990837,1.0363964,14.6382277,10.3170372,59.7165706,14.8905086,36.8482767,69.2561209,35.5385805,45.0222551,25.5044209,4.0476333,12.0010003,9.9113922,38.3585537,8.8029114,0.9816291,1.0036012,14.9251326,10.2553143,60.743793,14.53995,36.3839853,68.7815604,35.1658321,44.8608294,25.0993792,4.1721392,11.2059698,9.8959679,37.2512039,8.3924924,0.8804106,0.9023564,15.7182057,10.8005759,60.0398474,14.2764294,36.2135238,68.5620619,35.1057819,44.7096848,24.7361168,4.023697,10.9932266,9.418639,37.088084,9.418698,0.9103024,0.9322956,15.9839411,10.9865023,59.3824645,13.9141525,36.2133705,68.9578414,35.0001818,44.3138357,24.6041874,4.0500848,10.5221074,8.7168745,37.9298455 +491,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.0154446,1.0261379,16.0116168,12.4459785,66.1071981,10.902863,33.7725336,65.3126631,29.3214092,40.1215183,18.3301463,14.0974858,12.7224739,9.2741983,37.7202766,6.9144604,1.0819293,1.094852,16.5584794,12.7450951,65.934295,10.832102,33.6873193,65.3398184,29.4395739,40.6481268,18.1625092,13.9010669,12.6239007,9.5952665,38.0166414,7.3448413,1.1168276,1.1455373,17.0321336,13.1094996,65.7172708,10.809163,33.9834656,66.0165358,29.5175763,41.0130982,18.0634039,14.1350763,12.3351122,9.8735966,38.2319676,6.9366364,1.1734597,1.2071197,17.301532,13.4505686,65.9346108,11.0796254,33.4856637,65.8253614,29.5064709,40.8113073,17.9907177,14.3771071,12.6726137,10.2560426,39.3540051,7.0168289,1.1827355,1.2303612,17.6664216,13.6019536,66.2228319,10.9769715,33.9138518,65.5459165,29.7483671,41.0079616,18.3181655,14.5081017,12.8847857,10.4777266,39.6128936 +492,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3355953,1.3214487,19.2392911,14.1219148,52.8970518,15.8969496,37.2605378,68.4514825,37.2485166,49.1294699,23.7059498,3.044536,14.5419116,12.5447443,38.8754817,10.7842926,1.3707701,1.3707701,19.7270592,14.0655365,53.4218591,15.6410957,37.2406077,68.0556678,36.7132047,48.6045089,23.6479002,2.9674129,15.8713246,14.3107842,39.6439534,9.7484215,1.4051703,1.4644036,20.4803344,14.5122074,53.0309369,15.1644992,38.9247611,68.4587185,37.0125386,48.9296897,25.0036061,3.1044735,15.0108907,13.7695958,39.8972657,10.1851726,1.410093,1.5033883,20.2498407,14.286108,51.6914887,14.7434336,39.3392222,68.3513342,36.4136137,49.4238655,25.3717144,2.8765773,13.8915166,12.8177927,39.0657074,11.5624783,1.3474481,1.4392192,20.9621517,14.5850768,51.3392881,14.6787662,39.0363566,68.3968444,37.2675819,49.3062063,25.4225975,3.1187542,14.6279977,12.9376803,40.4536944 +493,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0087645,1.0530591,13.250735,9.9328013,73.6807676,20.9416276,35.625,65.0215517,30.1508621,43.125,19.0301724,4.8922414,13.5373009,10.0420168,32.0491109,9.7133758,1.0426615,1.0725313,13.4780739,9.9957008,73.7694013,20.1343736,36.1986002,65.463692,29.4181977,43.2852143,17.519685,4.6587927,13.1002527,9.4172297,32.4658703,10.5863192,0.9048863,0.9748608,13.1771281,9.7807395,73.3729112,20.9267241,36.3735307,65.3678711,29.8432738,43.2520679,18.0452764,5.1153679,12.712585,9.3270869,33.290378,9.775641,0.8155287,0.8653149,13.5778636,10.1458601,74.0393013,20.8511548,35.5569948,65.9110535,30.2029361,43.5017271,17.8972366,5.0734024,12.2003425,9.2116538,34.0968021,11.196319,0.7838699,0.8007851,13.8321492,10.4573712,75.0337079,21.2301587,35.7461024,66.0356347,30.7126949,42.8730512,18.0178174,5.545657,11.8983957,9.1273375,34.0664273 +494,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7792931,1.7722745,24.4082034,19.1509028,52.2535174,11.5553602,35.6137427,66.4371156,37.5452484,45.5863916,23.1184068,5.7746784,12.2103573,10.4405036,33.8546518,15.7898276,1.8299863,1.8350237,24.9143152,19.6079539,53.0655796,11.7463714,34.9667191,66.0933929,37.6521495,44.876178,22.9770636,5.4653296,11.9310612,10.6872289,33.5003977,17.4512341,1.7612902,1.7691966,25.208812,19.9057449,52.9791105,11.0971555,34.881575,65.644961,37.8538795,45.5637742,22.5468318,5.5473893,11.9871251,10.6608215,34.1338626,18.1621494,1.7138742,1.7536355,24.8864994,20.1188778,53.4211007,10.9174169,35.5060452,65.4427283,37.2640338,46.3296536,22.5762673,5.5694008,12.8458315,11.1942167,33.6989701,17.0953816,1.6441774,1.6928996,24.6481165,20.195213,53.778823,10.7516347,35.8377598,66.2229304,37.3918682,46.3714972,22.467728,5.4188638,12.7735543,10.8512509,33.3664312 +495,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0034127,1.0186316,14.5734759,10.3629626,65.7836582,20.0395083,35.2629668,67.4397838,32.5602162,45.8181078,21.6398826,9.3316051,13.0324675,10.0794616,33.0045084,4.7268808,0.9244888,0.9396612,14.7874547,10.680821,65.5380395,20.2615938,35.1257762,67.2804153,32.2092142,46.1721024,21.3817172,8.7677501,12.7957027,9.5767694,33.3940648,3.8541586,0.8171328,0.8651601,14.8807242,10.5871413,65.0298403,18.9076174,35.2297881,66.8829373,32.1163243,46.2009193,21.70127,8.728662,13.2472254,9.5642592,33.6446218,3.5331792,0.8223133,0.8713312,14.4870263,10.5035553,64.7114635,19.6141339,35.1879732,67.2807233,33.3649258,46.1261431,22.3130077,8.7162634,13.3055068,10.5083321,34.1136441,3.6104914,0.6988271,0.7398538,14.3048264,10.5233063,64.2325583,19.3134354,35.7281653,66.9977208,33.2359427,45.2687471,21.982127,8.0023084,13.2941283,10.4003394,33.1349878 +496,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3908646,1.4143092,19.211462,14.9610889,66.9623642,16.7452698,35.2962652,66.4605035,34.1205791,43.5342614,21.079068,4.9706106,13.5663368,11.1517737,33.9180557,16.8032877,1.4733868,1.4937181,19.1975832,14.9098188,66.3486562,17.0148577,35.2395376,67.5890339,34.8535116,43.6609578,21.9743564,4.8265724,12.8189461,10.8008722,34.2078665,17.5212775,1.3149514,1.3485374,18.5365875,14.4861647,66.352086,17.3100212,35.100209,67.1685315,34.6415895,43.376006,21.721786,4.8071488,12.4449214,10.7329022,32.8126898,18.6340924,1.3304129,1.3631575,18.3282277,14.4388788,66.5413036,17.3485206,34.8198439,67.8021566,34.2153546,43.0556831,21.1869077,4.7886617,12.3714088,10.2461488,32.6007002,18.4612018,1.2633115,1.2990706,18.0014166,14.0987311,66.780595,16.9366473,34.6765565,67.6748315,33.5748754,43.0014051,21.2610458,4.6467246,11.6348884,10.0636846,32.522469 +497,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9203547,1.8616486,23.8401629,19.5251796,47.2301038,17.6488432,37.3501041,66.9598265,36.4222259,48.5512685,25.1168407,5.7090839,11.5986579,10.5910818,31.9959664,14.9759747,1.9098044,1.8461906,23.8522191,19.3911963,47.3286828,17.0448632,36.8022695,67.2912953,36.5601496,48.7937058,25.1829979,5.556741,11.9588845,11.322611,32.1510843,14.6420245,1.9343339,1.8719973,24.5300734,19.6851483,47.2652511,16.1884854,37.1375953,66.7336812,36.7567038,49.0467082,25.1230659,5.5128026,11.9732847,11.2663188,31.4672392,16.4326583,1.9198921,1.8997029,24.8220871,20.0296082,47.0171074,16.1327828,37.4955452,66.8742476,37.45778,49.6403327,26.0103406,5.4125411,11.3926711,11.3025579,31.2312147,15.6159384,1.8521118,1.8640972,24.7877013,20.0989841,47.0886772,14.5738457,37.0514834,66.0633846,36.9062173,50.0838457,25.4531364,5.3807711,12.2193361,11.5680809,31.5769733 +498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.7945454,0.837888,12.1323518,8.610678,65.0019411,19.2787104,33.7245148,65.5444499,33.8014675,42.4201674,22.4124698,9.5613745,10.498792,8.098305,39.5226469,8.9712962,0.6086534,0.6418319,11.9162363,8.2097853,64.8573488,19.01231,34.2211662,65.8523239,34.00074,41.899344,22.6120571,9.3497473,10.1986235,8.441556,39.3322958,9.294122,0.5107494,0.5107494,12.0605619,8.4406509,64.6925951,18.7139506,34.479785,65.4165337,34.0995567,42.0497809,23.0383738,9.4538577,11.1149569,8.7603851,39.2286223,9.1611319,0.5274766,0.5174274,12.2342199,8.5217649,65.1890248,18.2130056,34.758737,65.6738821,34.2928467,42.1131488,22.8119876,9.2013342,11.3911277,9.9865414,38.6455506,8.4801579,0.5514614,0.5502461,11.8114045,8.2793227,64.7429652,17.9248299,35.3403978,66.8432927,34.2164443,42.1483675,23.5549184,9.2003886,11.2985354,9.9107571,37.8991062 +499,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.1379964,1.1669587,20.1446805,15.0524588,64.5247898,9.308726,36.4336787,65.0186833,36.9445037,41.782249,22.3109271,4.4421508,13.3875023,10.7780047,40.8054573,11.9596593,1.1276513,1.1540833,19.9910647,14.7460138,64.9032808,9.2992914,36.4470505,64.879273,36.8551119,41.9663457,22.4293378,4.5042295,13.5497969,10.8642051,41.3832698,11.5659715,1.1172916,1.1571797,19.8909141,14.6309318,64.2282411,8.9826006,36.4751483,64.6396618,37.2728394,42.120485,22.3412103,4.433468,13.4891261,10.662365,42.0970543,12.0641957,1.1698376,1.2038999,19.8945747,14.5544809,64.1643192,9.0861496,35.91468,64.4910351,37.5770452,42.1981151,22.7342549,4.5171634,13.4393623,10.4821041,42.0102764,12.4660318,1.1535726,1.1775796,19.6940225,14.5668331,64.0726657,9.3553145,35.6775442,64.7174142,38.1720784,41.9763067,23.298244,4.6617449,13.4415747,10.4220035,42.1565235 +500,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8204797,0.8618848,13.7856034,10.260739,59.6829171,10.0981679,30.9689585,70.5009235,40.2910763,42.5345692,23.2327657,4.9656697,10.8870966,8.8362452,37.6758483,7.0652263,0.7951054,0.8311634,13.5527364,10.1322171,59.0622506,10.1090025,30.8310064,70.9483549,40.6992403,42.8248515,23.8097552,4.9100692,10.4311674,8.5490684,36.8774324,6.3265393,0.7508333,0.7935459,13.3336462,10.0610616,58.7316115,10.2078389,30.5667422,70.9484121,40.7700435,42.572881,24.0554287,4.8762934,10.7848831,8.6253606,36.8590386,5.8600427,0.7543271,0.7859826,13.3278988,9.8389724,58.348699,10.2854683,30.6695543,71.0067482,40.7948017,43.0780396,24.3786161,4.7254334,11.1807835,8.6289994,36.8109518,5.2519237,0.7158729,0.7481552,13.0532429,9.6214506,58.1729346,10.2240485,30.4195425,70.7805323,40.8746179,43.1691665,24.6207765,4.737903,11.150802,8.5761128,36.6809296 +501,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7133325,0.7333494,13.4711495,9.8818719,75.1369863,20.8109319,35.2473899,67.1130277,32.024512,43.2364957,18.1343622,5.6513845,11.7021277,8.8099631,34.1860465,10.5177994,0.6276825,0.6437013,13.1301558,9.6012832,74.3418014,21.7302452,35.9641049,67.9015186,32.742752,44.385642,18.8909342,5.545329,11.8384401,9.3055556,35.2803738,9.6721311,0.5331897,0.5495867,13.2943925,9.5560748,74.168251,21.7117537,36.1767486,68.4073724,32.915879,44.0217391,19.0217391,5.2221172,11.2763916,9.138756,35.4448743,8.6440678,0.582416,0.6105621,12.7624825,8.9360709,74.2877493,21.7685488,35.5151229,67.6984877,33.1049149,44.1162571,20.2032136,5.2693762,11.1594203,8.911368,35.4227405,8.1881533,0.625869,0.6551964,12.9243453,9.2870999,74.5657568,21.6682879,35.5451406,68.2042427,32.7331031,44.1292551,19.5609275,5.0567341,11.9215292,9.186747,35.2376138 +502,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6062458,1.6381654,23.5561864,19.1254885,48.325922,9.5480116,34.63117,66.1588266,35.3716903,47.2151306,22.6191884,3.6927517,13.6223624,10.7045049,33.0665498,16.4678658,1.5570846,1.6121404,23.6505117,19.0080355,48.3964187,9.7779864,34.044674,66.2360195,35.5736914,47.8382519,23.1855193,3.6812084,13.7174712,10.9652761,33.0221745,18.0590409,1.5601857,1.6187746,24.054104,19.1956934,48.6472466,9.9110439,33.5044671,66.5853012,35.2012023,47.9601969,22.9288504,4.033521,13.6296455,10.8875815,32.9755625,17.8009886,1.4973184,1.5573584,23.4581092,18.5517746,48.4079278,9.9491496,33.1330957,66.7187183,35.4225972,47.9225033,23.0519094,4.1450894,13.8434623,11.4089148,33.1167379,17.7697759,1.6591511,1.7051047,23.8224196,18.9817627,48.716209,9.9945139,33.7608053,67.1512125,35.5662035,47.8238455,23.4985781,4.2664161,13.459289,10.7700665,32.791494 +503,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8540302,1.8868197,25.0862829,20.8075414,53.6687052,10.4069057,36.2730459,66.5096056,37.8775019,46.4172067,22.3326999,5.5139139,12.896574,10.4488961,33.2981703,18.3639195,1.8608584,1.9007081,24.6173318,20.5608857,53.9633814,10.423619,36.1040835,67.3833164,37.7513504,46.498079,22.8046531,5.7619593,13.2965799,10.172928,32.5398497,17.9099703,1.9268615,1.9365856,24.9436333,21.1371837,54.4109763,10.2268741,35.3516349,66.9448083,37.3044771,46.019823,23.6141593,5.9630484,13.1160779,10.0653315,32.5392049,17.5121704,1.8795101,1.850456,24.4284778,20.7366279,54.8732369,9.7840053,35.6243481,67.0684953,36.9416705,46.3051571,23.8792961,6.2482929,13.0762271,9.7449879,33.0219872,16.7041473,1.7899314,1.7611369,24.58668,21.0781391,54.8176553,9.8781236,36.0192951,67.2596987,36.4223635,45.8245681,24.3878229,6.1399945,12.9027153,9.2405565,32.4608979 +504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3594712,1.3195865,20.5686562,15.9543199,75.1734493,13.2323192,35.9063687,66.6392287,30.4906912,42.7750107,20.2757548,3.5444024,14.8029463,12.4084192,42.5345832,11.5803637,1.3387875,1.3085605,20.2751499,15.6621757,74.9825003,12.9675714,34.6617777,66.2126083,30.6903401,42.6046265,19.6585812,3.3757138,14.6083082,12.4654956,40.4364179,12.719302,1.2443079,1.2141781,20.2473746,15.5732291,75.2632958,12.7385256,35.0192608,66.6980859,30.4178659,42.6734821,19.9762303,3.3404313,15.4859198,11.8206383,40.4479087,13.1419979,1.1096134,1.1197012,19.2024477,14.7660964,75.1181918,12.8166681,34.5405912,66.4755836,30.0420567,42.379555,20.1542368,3.4072924,14.9909307,12.0705107,39.3150701,13.5937542,1.0559201,1.0660933,18.8099167,14.8245783,75.1682836,13.5071025,34.5523954,67.1071433,30.7207478,43.6665037,20.8486323,3.4034006,16.0686954,12.7777779,40.0761789 +505,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.1857595,1.195282,18.3032933,14.6705521,83.6035916,11.4269876,29.8284783,67.5990456,32.9724592,45.5083179,18.1502056,5.1244828,13.9662185,12.9535689,33.347507,10.0706322,1.1039512,1.1137044,17.4508149,13.9319861,83.9399966,11.1729948,30.5625726,67.8125064,33.1457089,45.3958468,18.7291554,4.9791577,13.7026432,13.3704898,32.1057375,9.9221365,1.3364266,1.3678823,17.2831521,13.7073128,84.2161905,11.2476498,30.6900157,67.4589935,32.8354335,44.7413409,18.2372691,4.8170355,14.4386081,12.8962048,33.0303807,10.2822125,1.3668553,1.3980521,16.2464201,12.9117242,84.8620831,11.4341135,31.0885475,66.4512215,32.4228111,44.0576853,17.3686382,4.8582651,13.9915327,12.5735431,33.3192588,10.2508573,1.4051965,1.4493759,16.5860453,13.1197356,84.5911259,10.8137927,31.4670759,66.3430321,32.0455042,43.7811428,17.1281278,4.8554324,13.9982966,13.2812867,34.6472719 +506,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.470438,1.5443769,19.6577821,14.8888939,55.7189587,12.090949,31.5092222,68.5533892,38.9802138,43.8290213,23.0253681,4.9932647,11.8341133,10.2472873,34.6884344,12.406015,1.409336,1.4798373,19.6081858,14.8847806,56.3138056,12.1382458,31.0310015,68.7831094,38.6314997,43.4601951,23.1034886,4.9112679,11.9018571,10.6816958,36.0204233,12.7919376,1.3393806,1.3811879,19.6705698,15.1120238,55.9888152,11.8243275,31.183467,68.3581124,38.301755,43.0300834,23.1076273,4.8738954,11.5508027,10.9213174,34.9061105,13.5880775,1.3645862,1.4069218,20.3205329,15.7447103,56.4395317,11.8400026,30.2308183,68.546026,38.2392534,42.6966673,23.2545069,4.982752,11.4731891,10.8342088,33.9963632,15.3697667,1.3728075,1.3959572,20.3004711,15.6573796,56.0152397,11.7255339,29.364035,68.8045162,37.4841782,42.7648641,23.3706184,4.9405191,11.5729805,11.0022582,33.9132286 +507,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9818252,0.9989428,14.277705,10.7826656,78.777835,7.7648728,31.027817,64.6900603,30.9324274,39.4485808,17.0678997,6.3789644,12.4487823,10.3056229,38.0041558,6.1895055,0.9373245,0.9565951,14.094688,10.6217201,78.8566463,7.7483229,31.1036849,64.7941166,30.8191643,39.4585245,17.316109,6.4500012,11.9932137,10.0511956,37.5272773,5.9371669,0.9112906,0.9361877,13.9581657,10.4808597,78.7676645,7.6499707,31.2956769,65.2321444,31.2870729,40.1383498,17.4343755,6.4998565,12.008025,10.0555862,37.4582028,6.0022331,0.8544225,0.8832817,13.7602561,10.2985502,78.6969323,7.5606633,31.1263895,64.964958,31.4350945,40.1336386,17.6560209,6.430572,12.0521646,10.0758738,37.6422923,6.3034794,0.8503806,0.8940451,13.7083121,10.2312567,78.4708973,7.5217493,31.3350516,65.148286,31.6789629,40.0976479,17.5396965,6.5533221,12.27203,10.1859154,37.6335955 +508,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.0122373,1.0553408,17.9996752,14.1950849,66.6685265,16.9988275,35.72656,67.1584673,33.7841309,42.3823238,21.1080945,4.6712583,10.8786675,9.87364,32.8791821,15.2649296,1.0779985,1.1373774,17.897291,14.0669475,66.7962068,16.4224187,35.7091454,66.8974377,33.9233896,42.8736078,21.0749046,4.5804099,10.0940751,9.7060533,33.3821901,14.0425687,1.1557924,1.1953037,17.7696683,13.4454475,66.463224,16.4342815,36.086283,67.3658029,34.4040875,42.9476709,21.4568151,4.3985333,11.2940249,10.2480273,33.3097195,11.9280456,1.1651037,1.192426,17.5364187,12.9955966,66.8733636,16.0428914,35.9481827,66.7027335,33.9345067,42.7877133,21.0675668,4.4521976,11.4279507,10.0789984,33.3039982,11.1416221,1.159572,1.1699592,17.1909837,12.7617258,67.5463035,15.4275743,36.2194738,66.2881787,32.9110123,42.8817405,21.0354791,4.1700968,11.6377192,9.9693017,34.1572857 +509,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4596288,0.4584343,11.5824544,8.0552843,64.8036705,17.9888477,35.3024539,67.4700738,34.4517983,42.5803456,23.4877177,9.3730341,11.2964178,10.0504014,38.3280737,7.5111917,0.5090461,0.5078721,11.9181422,8.4192375,64.7581825,17.664125,34.8710733,66.8375324,34.2808339,42.0161578,23.3768293,9.3973313,10.498773,9.5194003,38.1114531,6.5701395,0.5854892,0.5999153,12.5389326,8.8006167,65.0233215,17.5959804,34.5879774,66.7441202,33.9993837,42.6115268,23.2496936,9.2162355,10.5407086,9.5078892,38.477997,5.8758132,0.5422966,0.5629283,12.092644,8.5463198,65.186014,17.4206757,34.1786244,67.2248816,34.5295113,42.9824585,23.524726,9.5215344,10.3546594,9.60684,38.178918,4.8009178,0.6105675,0.6468888,11.6567423,8.1183839,64.7595314,17.3439584,33.7124895,67.7711875,34.5367695,43.1091344,24.315861,9.314215,9.7342244,9.4810297,38.1640959 +510,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.1054196,1.1174427,17.1394597,12.55263,67.6142974,15.9263198,36.4064114,65.926318,32.64625,43.2111669,21.0367539,4.0399489,11.7393986,9.9846203,34.5712859,9.0796071,1.1335427,1.1317556,17.3919824,12.9983865,66.8916666,15.9937427,36.3219194,65.8323828,32.7966371,43.1708355,21.3134915,4.1594493,12.228694,10.0235908,34.2744717,9.2195805,1.1519382,1.13846,17.0637596,12.6307001,67.155195,15.7047178,35.7834781,66.0679637,32.9006179,43.6401467,21.3233462,4.2212888,12.5016654,10.1424149,34.3283829,10.0593226,1.0829586,1.0556774,16.8725465,12.4977729,67.3661917,15.7739163,35.7918232,65.9553239,32.6136626,43.7342156,21.6965252,4.2360544,12.76973,9.707561,33.6108268,9.4663088,0.95412,0.9416521,16.1944869,12.148882,67.9942795,15.1155429,35.0899032,65.6630083,31.8144766,43.8020334,21.7912963,4.2439886,12.0158728,9.2731761,33.8204431 +511,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.934764,1.9467043,24.9017074,19.8962674,47.2277892,14.3870515,37.4507362,66.4789968,37.5938127,50.4677959,25.6551761,5.3910156,12.2713692,11.0148808,30.4316703,17.7898789,2.0022183,2.0142351,24.6968395,19.5042317,46.9676841,14.2903303,37.8402878,66.513535,38.2025002,50.8702622,25.8228669,5.3173622,11.86962,10.4151888,29.3898302,18.9153152,1.9925952,2.0296846,25.3448822,19.9245526,47.5552641,13.8168041,38.6649587,66.8644271,38.1223751,49.6552101,25.7925671,5.2237851,12.4300863,10.4964142,30.2938875,20.7216027,1.9584623,1.9341255,25.4406531,20.3272161,48.4352483,13.6377143,38.5451009,66.7917023,37.2827752,49.1148573,24.943776,5.2125215,12.0100159,9.923857,30.4860396,21.4475821,1.9041905,1.8787174,24.9825392,20.2450164,48.8241528,13.4296937,38.1377308,66.4700717,36.4010304,48.7036899,24.4842563,5.0884465,12.0548569,9.3432804,30.2323066 +512,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.9391711,0.9208262,18.0068584,13.8402526,86.1887347,12.8718173,30.8383615,65.8292331,30.5966024,43.6039454,16.5950443,5.925803,16.8356496,13.4810262,33.5035585,8.9137693,1.0545117,1.0365888,18.5934911,14.1806456,85.2418214,13.1536638,31.0094065,66.2231529,31.4839247,44.1091743,16.9873976,6.0753618,16.2616184,13.3660467,33.6544477,9.244395,1.1339308,1.1133213,18.7198246,14.2585626,85.2534497,13.0327929,31.0268071,66.0761624,31.2855803,43.7533077,17.6798055,5.9880847,15.0765163,12.8826238,33.8900381,10.6524925,1.2732468,1.2532387,18.27695,13.8156045,84.893537,12.8372221,31.1559242,66.0106217,32.0085377,44.8220356,18.618391,5.4287648,15.3173282,13.0184623,33.9456525,10.45445,1.2248385,1.2028361,18.4930672,14.1977552,85.1061217,12.575485,31.2558592,65.7046254,31.4679906,43.8148187,18.4613939,5.1719891,15.145074,12.6229282,34.3322579 +513,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.2181654,1.2581665,18.245177,13.9910838,65.7427973,11.0259338,34.2400885,65.3369287,29.8060133,41.1683177,18.6333092,14.0242107,12.7497804,10.5129744,39.762484,8.5150966,1.2370834,1.2673451,18.319383,14.0097583,65.5021506,10.9464149,34.0716171,65.3339943,30.1372852,40.8505485,18.9711234,13.9470689,12.5144716,10.6946464,39.6938839,8.589213,1.2840172,1.3121978,18.5290266,14.0622698,65.4307136,11.355711,33.6409326,65.1040917,30.5699167,40.772179,18.9797673,13.8564879,12.9546814,10.8144395,39.7266488,9.2832478,1.3032475,1.3149989,18.264812,13.9076413,65.5354362,11.5519878,33.8274101,65.0395773,30.5680635,40.1132926,19.0206382,13.5883907,12.976982,10.5620493,40.1493581,9.12008,1.2961499,1.2948787,18.0675696,13.6807557,65.2841661,11.8026781,33.5514623,64.6550363,31.1116512,40.4023174,19.3003693,13.6936523,13.1794425,10.7271562,40.4973755 +514,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8159674,0.8498232,13.742481,10.1666497,78.2834824,7.5996415,31.003457,64.6463483,31.425069,40.0201909,17.3872765,6.539747,12.0041649,10.1327304,37.2580941,6.0034803,0.8038611,0.8386924,13.8537068,10.194264,78.169183,7.549386,30.8144374,64.3770075,31.4339574,39.6057212,17.6962669,6.4852717,12.0234992,9.8615668,36.7336945,6.284153,0.7538766,0.7941568,13.6860684,10.2102668,78.5101571,7.6759208,30.895342,64.2087199,31.157935,39.475984,17.4793007,6.3951095,11.9496211,9.8504983,36.321478,6.145769,0.7864773,0.8304456,13.860571,10.4369884,78.2945493,7.7214782,30.6399166,64.0976856,31.1825433,39.0964891,17.5318782,6.493471,12.1580746,10.2290398,36.6832719,6.1846154,0.8356639,0.8773155,14.2734003,10.5275961,78.2504298,7.6312234,30.538433,64.5405002,31.4708073,38.9680389,17.7673685,6.4604136,12.2098265,10.0491117,37.0915809 +515,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6794447,0.7108567,12.869504,9.4661609,57.5998031,10.219503,30.5930019,71.0287243,40.7141465,43.5277474,24.9071903,4.6844488,10.3925423,8.5016655,36.1111152,5.2792335,0.654844,0.6883093,13.1000661,9.5565659,57.1851818,10.3798546,30.9817722,71.0694018,41.0982779,44.0356474,25.3460117,4.7246841,10.7157194,8.4869733,36.3296297,4.7725262,0.7140052,0.7492297,13.0354998,9.3266558,57.0028183,10.3595599,30.9775506,70.6284286,40.9625948,43.9650858,25.0723192,4.7132173,10.7371156,8.3782701,36.3059263,5.0306229,0.7631173,0.8112554,13.2875214,9.3549377,57.1595418,10.2316576,31.270108,70.2483897,40.7833875,43.5388152,24.723451,5.0130738,10.5804488,8.234935,36.3814066,5.7727294,0.7709569,0.8106067,13.4124384,9.287076,56.8791096,9.8018907,31.6908419,69.9599787,40.8054052,43.6268142,24.9274675,4.9374703,10.1617784,7.9357058,36.0282115 +516,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.7367572,1.7957161,28.5201155,23.4260581,53.1884565,13.694024,38.5662899,64.9879357,33.8719853,46.1574583,22.0292443,3.4804206,14.7693758,11.8797343,34.0347163,19.0257396,1.7747565,1.8490016,28.3984082,23.2759618,53.4846933,14.1834079,38.7498673,64.7599094,34.1925719,46.0141575,21.7725563,3.4757215,15.2884795,12.369586,34.7555541,20.0104844,1.80319,1.8555449,27.5739069,22.6083019,53.8009768,14.2827879,38.1035177,64.8931972,34.1079117,45.983624,21.746678,3.4059434,14.7893436,11.9983219,34.5065915,21.226946,1.7511783,1.7827709,27.2038164,22.5297574,53.8743396,13.8750015,38.5618059,65.0866748,34.561198,46.2811805,22.0383292,3.4864142,15.0043041,11.7705805,34.3354202,20.42096,1.7684177,1.8149852,26.6186841,22.1437771,52.9286441,14.2968379,38.8399514,65.783016,35.2860609,46.5400426,22.2406865,3.6766889,14.971937,11.8766645,34.1139892 +517,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5449426,0.6215354,14.3592839,10.3928383,64.3136306,18.96092,35.2998568,66.7251361,32.6907733,45.3466479,22.0600084,8.0801898,14.0761765,10.2860073,33.2933362,3.1541946,0.6535741,0.7161421,14.5737347,10.5030652,64.6355537,19.1052564,35.8929445,67.6631985,33.313762,45.6624509,21.9812869,8.2649198,13.0349222,10.3736787,32.9473261,3.1177757,0.5857688,0.6547769,14.1961559,10.243274,63.4018378,18.7333849,36.0379542,68.1061283,33.8303498,45.4105856,22.0565823,8.075133,12.6387275,10.1271559,33.4265571,4.3526737,0.7624062,0.83144,14.5216532,10.6112575,63.2341463,18.6360447,36.6821693,68.699175,34.0882932,45.4317003,22.2416161,7.9171485,12.5197768,10.4200063,33.1608154,5.2941114,0.8190017,0.8772818,14.7488826,11.0007644,62.9636676,20.0338152,36.6577693,69.0849795,34.3223812,46.3438268,22.4540937,8.4035188,12.1558626,10.2837737,33.1879994 +518,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4671078,1.5430202,23.4832254,18.8635769,49.5993446,18.7307209,40.1858878,66.2728387,39.1776995,46.9281682,24.0233248,3.7019593,13.3739705,11.1289352,35.424704,16.2049861,1.3446047,1.3653652,22.8929144,18.615348,48.8951105,18.1138894,39.7244817,67.0178228,38.9140927,47.1150746,24.3922294,3.7763435,12.8590532,11.2709045,34.6877078,14.9408328,1.3231682,1.3279563,22.4984096,18.0404242,48.3940919,18.1657268,39.0111788,67.06636,38.7812084,47.3883068,24.0308912,3.8600555,13.0984875,11.7465745,35.2475698,14.5588235,1.2319967,1.2296189,21.8202923,17.3934681,49.13343,17.6028216,38.7190033,67.1593679,37.9714534,46.9758858,23.7003146,3.924566,13.1430435,10.9816235,35.6382599,13.3647799,1.1534405,1.1590594,21.4139771,16.9165316,49.126853,17.51461,39.5344788,67.9209021,38.0993788,47.6898772,24.3087118,4.1127027,13.1578722,10.5776021,36.7368796 +519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0078301,1.9719355,25.1693459,20.4313338,48.8773472,12.8035541,37.7808502,65.6015805,35.6176122,48.3579416,23.89019,5.2879349,12.4652553,9.6637654,29.4931326,21.5013312,2.0061549,1.9784901,26.0102987,21.3182091,49.0162627,13.117387,38.3671836,65.7187814,35.8897494,48.3242257,24.2926443,5.3962426,12.3415606,9.5997823,29.2811478,21.3060814,1.9223743,1.8841999,26.8114445,21.9674295,49.4492489,12.805181,37.7624443,65.4181502,35.0706437,47.2374236,23.6942314,5.5471662,12.9986374,10.1956717,29.9313397,18.5754192,1.802846,1.7650391,27.3944785,22.5515688,50.0305627,12.7340493,37.4657987,64.8965668,34.4264023,46.3956229,22.9655927,5.2830997,13.3019812,10.1455946,29.8088629,18.6603783,1.6290544,1.5992238,27.5379107,22.6597223,49.6654935,12.826781,37.7227502,64.9437958,34.7894813,47.0499546,22.7293967,5.2759888,12.5779137,9.5447397,29.6747485 +520,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9782854,0.9841375,16.7292353,11.2906208,59.6716185,13.7099699,35.9146367,68.9304389,35.2449865,44.213732,24.6004095,3.904588,10.151749,8.6833731,37.5380579,8.5280772,1.0474043,1.0355671,16.7215577,11.1688006,59.7628256,14.4003895,36.7330694,68.5421481,35.512101,44.7112469,24.2332276,4.2489543,10.1609262,8.5971957,36.9836544,7.9310709,0.9864039,0.9746612,16.7002041,11.2300479,60.2464884,14.113959,36.2190798,68.5032544,35.1614238,44.838458,23.8321424,4.1676969,10.0771331,8.5263294,37.1049724,7.7546891,1.0153599,1.0118028,17.0851401,11.529557,59.9294081,14.1746092,36.3030593,68.4053546,35.2108752,44.4196732,23.5040619,4.3574406,10.7123412,8.737,38.3635478,9.1886472,1.1184611,1.1148665,16.6752055,11.3606802,59.26854,14.2398302,36.6079004,68.4549222,35.8473874,44.3729214,23.5440422,4.2890854,10.9729328,8.5223026,38.4307592 +521,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.9567582,1.0045617,18.5281768,14.6066063,72.6105862,14.5555672,33.6627407,67.1378485,34.8636647,44.4208262,21.6287152,3.1398553,11.1973986,8.4503376,32.7690506,11.620482,1.0006447,1.0282059,18.2241875,14.2947096,72.6089383,14.026076,33.0923291,67.4150141,34.20854,44.6093486,21.1440926,3.10756,11.232804,8.5969287,33.7692097,11.0988914,1.0808684,1.1083971,18.0893898,13.9467764,72.0129042,13.6864503,32.9994781,67.5329603,33.6840918,44.2063898,20.8037545,3.2327593,11.3487672,8.5433457,34.051713,11.4444336,0.9635622,1.0086072,17.4410334,13.5652413,71.6356984,13.6276155,33.0452625,67.6606519,34.0189978,43.7804095,20.9712734,3.2254146,11.9298964,8.9620294,34.0974683,11.3636285,0.8291458,0.8834345,16.8370987,12.9560742,71.0413193,13.2660171,33.4000777,68.2021539,33.9656094,44.2860362,21.3831263,3.3105587,12.0993858,8.9028307,35.0979308 +522,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6731368,0.6796688,11.7458675,8.1395325,65.064095,17.7339139,33.7647027,67.8487435,34.7058898,43.0420183,24.252103,8.9243742,9.6526431,7.987965,38.2770249,4.6250046,0.650861,0.6275534,11.7043474,7.947827,65.2196395,17.7040873,33.3161335,66.752666,34.9329282,42.7760558,23.9594138,8.548336,8.7422295,7.4291674,37.3254163,4.8029604,0.762691,0.7706251,11.8570924,7.8184332,64.393677,17.5388261,34.0000014,67.3333325,35.5726517,42.6495677,24.0170944,8.6666705,9.0569915,7.3029921,36.7101662,4.2372922,0.8504757,0.8890489,12.2313164,8.1030338,64.3124597,17.8619069,34.1385105,67.3479666,35.7939202,42.7533696,23.5641876,8.3614907,9.44104,7.474399,36.3291955,5.2325606,0.8234022,0.8522951,11.7676738,7.6936006,63.5616006,19.0374482,34.2052643,67.9273494,35.7047686,43.0356492,23.3755414,8.847056,9.8934084,7.638422,36.0793488 +523,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.808059,0.8668147,14.5526717,10.7021693,63.7639682,20.5760642,36.9523815,68.8508537,33.9930873,45.9070129,22.0791616,8.2436605,11.3939871,8.9946013,33.1887664,5.1724138,0.8017359,0.8605943,14.4448907,10.5929161,64.1266907,20.4622386,36.8834023,69.6557617,34.8948406,46.7877601,21.9694184,8.4321238,11.8664135,9.3750591,34.1455256,6.1936867,0.9361911,0.9597261,14.4068036,10.4519914,64.5093911,20.1459293,36.5663296,70.3696124,35.7278786,47.580007,22.2370532,8.0983253,11.3636574,9.4040489,34.5109713,5.8888823,0.9536733,1.0065852,14.9981267,10.9710225,64.1982535,19.6148741,35.9018313,69.6536883,35.4451737,46.4802048,21.5943787,7.7435267,11.44069,9.2420899,34.2802702,6.8627376,1.1066481,1.1947102,15.5601538,11.4107707,64.8219194,19.6516385,35.9154978,69.3756928,34.7734761,46.1172558,21.0696732,7.1373974,11.3406204,9.1940707,34.3972788 +524,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1571906,1.177747,16.6536814,11.4177503,59.5410704,14.4369053,36.2558464,67.895175,35.777013,44.1057805,23.7493596,4.2974943,11.3101443,9.0496134,38.7123398,8.5678889,1.2086994,1.2540874,16.5261733,11.3378039,59.4185532,14.4733459,36.6125727,68.1915485,36.1807659,44.3318724,23.7922126,4.4129544,11.4544141,9.7101128,37.9626661,8.9097414,1.1251528,1.1715308,16.3388229,11.8937247,59.3558153,15.3066538,36.1095028,68.1579697,36.164608,43.983926,23.9951707,4.2538572,11.418277,9.6315501,38.4117426,8.643776,1.15067,1.2408293,16.3569439,11.914235,58.8606874,15.1790525,35.8524734,68.7620774,35.8800089,43.9485867,24.357708,4.2691422,10.6188203,9.2251684,37.725835,7.9303071,1.0846,1.1751675,16.1128043,11.4396014,58.6608827,15.4087445,36.2792026,68.7707766,36.168064,43.7708272,24.5423231,4.2592035,10.7343681,9.2259713,37.1809546 +525,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8185256,1.7591576,25.3908816,21.5296246,54.9055413,9.827493,35.5724335,66.8409642,36.0828056,45.519687,24.70521,6.021908,12.707902,9.1969338,32.5447903,18.6298741,1.9255342,1.875361,25.5943786,21.1838099,55.8958169,9.8981162,35.2548616,66.3256344,35.6771459,45.4748354,24.2646391,6.0300458,13.0036837,9.9319474,32.3858655,19.2988277,1.7968902,1.755925,25.6883823,21.0537389,56.00045,10.6347768,34.5348675,66.0227697,35.5919517,46.0122204,25.0416849,6.1494039,13.2702157,10.1489555,32.2077278,20.9368151,1.8814079,1.8407549,26.221458,21.4954491,55.9643561,10.8283526,35.1487641,65.6014745,35.8383769,46.6781683,25.196934,6.2380985,13.8186363,10.4343201,32.2604763,21.757457,2.0397199,2.0092118,26.7217136,21.7665148,55.6999397,10.2546387,35.2130258,65.799109,36.7515332,46.5992135,25.0421071,6.0683467,14.0371765,10.2119636,32.6823795 +526,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.8475582,0.872187,16.5539882,12.6324105,69.8838626,13.2120151,33.3753611,68.5736986,34.1320834,44.6571678,21.4744173,3.4281109,12.0026996,9.3523506,36.2789461,10.9437509,0.759114,0.7929137,16.5621057,12.7974874,69.0768827,13.1538727,33.764362,68.4902611,34.7369755,45.0596724,21.6290794,3.348808,12.140351,9.4104778,36.3894712,10.4491922,0.747316,0.7538997,16.0886928,12.4527034,69.4662299,13.1595581,33.861574,68.6826141,34.4221705,45.1379711,21.8736383,3.3311771,12.9094725,10.2414852,36.9001112,10.8901161,0.8837044,0.9038145,16.0295492,12.3054079,69.3984026,13.6027796,33.2691529,68.5549208,34.829753,44.8013609,22.2436002,3.4150771,12.5152069,10.1540342,36.4320444,11.1412741,0.875064,0.9114604,16.2335142,12.3166707,70.1749416,13.8309698,33.2921079,68.6869556,35.1569945,45.0903746,21.9505086,3.4348202,12.1123992,10.4335983,36.0614259 +527,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.6685277,1.7350454,26.7945259,22.411879,52.8417587,14.3539965,39.1345437,66.1713632,35.3943339,46.5279932,22.492036,3.790955,15.3399048,12.0648629,33.6489712,19.1627599,1.563397,1.6196575,26.6201959,22.4047639,51.9455005,14.140686,39.3956044,66.1230665,35.3609709,46.645558,22.1595423,3.8104799,15.017565,11.9305501,33.5641072,17.6433241,1.5226389,1.5713813,26.4824579,22.5342959,52.2291625,13.8662082,39.3010273,66.0523336,35.2019136,46.8568642,22.002156,3.8314463,14.8025405,11.715546,33.9542017,17.8527831,1.5142514,1.5314352,26.0937499,22.0312415,51.8457778,13.8939009,38.9543766,66.4498489,35.5097874,46.8998873,22.3132555,3.8808968,13.9735994,11.2209622,33.3492227,16.6062983,1.528159,1.5713786,25.6435103,21.5429376,51.2986868,13.5247518,39.6358336,66.4797828,36.0709724,47.2111293,22.3801694,3.9874028,14.5434561,11.6421121,33.9173457 +528,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8513306,0.8831524,14.2306874,10.5869451,78.2440082,7.7113409,30.613111,64.9667883,31.6563617,39.4839438,18.0257796,6.4324647,11.7238498,9.923426,36.6640311,6.1317877,0.9031112,0.9221456,14.5251279,10.9192531,78.4876902,7.6402823,30.7416726,65.0711433,31.5966994,39.9236676,18.5138233,6.1424685,11.8913762,10.1522826,36.3038874,6.152461,1.004964,1.0189555,14.4869702,10.8802849,78.6817516,7.5861902,30.4698482,65.1089689,31.8213165,39.9379046,18.7485494,6.0993867,11.9719274,10.1891007,36.4774768,6.7185698,1.0209059,1.0359739,14.3506992,10.7573676,78.811807,7.4998905,30.3913506,65.2656852,31.724952,40.2132477,19.0183261,6.0781324,11.9902054,10.3882613,36.5604265,6.976082,1.0135617,1.0298689,14.811735,11.0350729,78.6026232,7.4985652,30.3513688,65.2438263,31.9715197,39.9671643,19.6221368,6.1612021,11.9677073,10.2342876,36.5997995 +529,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2134013,1.214759,21.4987848,16.9708769,49.2048706,17.7694842,38.2065095,67.8442041,37.554332,47.4456505,24.22101,4.257239,13.7144738,11.0403942,37.8673388,14.5000188,1.2661362,1.2674966,21.6708124,16.9374956,48.6641836,18.1411217,38.0787277,67.2803573,38.2974626,46.9741086,24.152377,4.137798,14.1530397,11.867553,37.9297487,13.3898508,1.209839,1.2139573,21.8120703,16.972792,49.1068616,17.9307488,38.2601109,67.197726,38.2966384,47.1977501,24.5970224,4.1941276,14.4845728,12.3870529,37.8983452,13.5563637,1.2594356,1.3267177,21.6278055,16.3312009,48.0977622,19.410369,39.0069847,67.149065,39.7764158,47.7280478,25.5954143,4.4155242,14.2803534,12.6217238,39.1025671,14.0000211,1.3403607,1.4126346,21.5594478,16.2689971,48.944355,19.5291245,39.6811412,66.9114269,40.1110189,47.5635429,25.8150742,4.4607542,13.9356338,12.7651802,38.7417321 +530,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3985756,1.4469067,23.1472183,17.2065505,54.0160786,16.9991582,38.595927,67.4864049,34.1097491,48.1005115,24.3383207,3.962045,15.9892534,13.396484,39.4761672,12.2123014,1.5528363,1.6139385,23.8750223,17.6080056,53.9466449,16.5423248,37.7519346,67.6525826,34.0540392,47.2861048,23.9306962,3.7895565,16.3892144,13.9666247,39.1472895,12.8896007,1.6355076,1.6582003,23.9585017,17.640061,54.0978675,16.7623229,38.4785806,67.7253392,34.2692948,47.0267589,24.263774,3.5813501,15.7424412,13.4850879,38.9516242,11.6041268,1.560828,1.5839068,23.328112,17.2889526,54.2106952,16.4930506,39.4949338,67.860065,35.250854,47.1659476,24.1098704,3.8636816,15.1839627,14.0903802,38.7120138,11.7887913,1.6107206,1.6240155,23.2700746,17.3294377,53.6524376,16.3786034,38.779555,68.1872377,35.5811515,46.7500875,23.8722063,3.6428988,14.5611455,13.6474864,38.4355993 +531,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.2700115,1.2726487,17.8879732,13.4750045,64.6955547,11.7957468,34.1036229,65.2055975,31.2911226,40.8963718,19.9259885,13.5279633,12.7379036,10.113678,40.0638951,8.570035,1.2708878,1.2705245,17.4788734,13.235537,64.2990802,12.1791685,33.7781168,65.5337395,31.2269268,41.0792145,19.7633468,13.6874807,12.537975,9.847973,39.847202,7.5389166,1.24247,1.2459976,17.0506587,12.9002183,64.5775359,12.104551,33.8111611,65.4334758,31.201719,41.004284,19.5278973,14.0171693,12.4349662,9.6768583,40.177949,7.0932618,1.1586184,1.1830725,17.0240389,12.856648,64.8617558,12.0948286,33.7618078,65.6610673,30.7712479,41.0195804,19.2987058,13.9296969,13.0657713,10.145181,40.0462906,7.0486808,1.1504495,1.1792932,16.7281352,12.5482949,64.4291115,12.0605184,34.5191649,66.7051076,30.8818299,41.7938191,19.7214322,14.0791326,12.3863232,9.8799134,40.267105 +532,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.9173801,0.9545493,12.4136764,8.3031875,63.3518988,19.2332303,35.0554104,67.9758752,34.9250355,43.3018222,23.1584069,8.0019593,9.6265318,7.1290276,36.4137449,5.3775756,0.992817,1.0588769,12.7801167,8.5579678,63.2496703,19.5382125,34.3527556,67.5889928,35.0000018,42.7669921,21.9579316,8.0744371,9.9677458,7.1382392,37.0214031,4.8098434,0.9786901,1.0803457,12.7164786,8.4829967,62.3668045,19.681686,34.0006366,67.6649503,34.545166,42.5848846,21.7328637,8.3119832,10.0961577,7.7342713,37.4033392,5.1136364,0.9990083,1.1167246,12.5122288,8.5318057,62.141458,20.3408699,34.0629013,67.4935066,34.614137,43.1096013,21.9033725,8.8683536,10.7446156,8.2625702,38.3125299,4.2431193,1.0077963,1.105806,12.6342258,8.8087234,62.8585692,20.4471288,33.7698908,67.158485,34.2009288,43.3189705,21.9330281,8.7367384,10.6878001,8.1928495,38.7195035 +533,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2420641,1.262086,20.4197277,15.6059751,55.5026229,11.7991756,30.2105186,69.2856317,37.4368886,43.535625,23.953293,4.8822331,11.9653763,11.3816994,33.8825412,16.7737537,1.4876275,1.5489444,21.1313702,16.2651402,55.8975687,12.2016274,31.134383,69.350327,37.5629972,43.8220931,23.7480001,4.8102821,11.6495728,10.8365625,34.2941629,17.3836353,1.5000475,1.5722677,20.811692,16.0269282,56.2568626,12.1933308,30.5840756,68.9574643,38.1013804,43.6548931,23.1593842,4.7282668,11.0681578,10.3912062,33.32581,16.9192994,1.6764931,1.7495777,21.104317,16.3687124,56.0219098,12.4113492,30.6440613,69.2653782,38.2112223,44.1515846,22.7123609,4.4631943,9.9290682,9.5196221,32.5054623,18.3306409,1.7432033,1.8159477,21.5103495,16.6499923,55.658988,12.4539425,30.8122043,69.6426423,38.1849248,44.2069039,22.3319661,4.7527136,10.2753067,9.0829503,32.9675415 +534,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7292866,0.7346053,16.5819957,12.8937914,77.9182727,17.1468691,36.5204867,64.4531916,33.508194,44.6294036,20.3787639,6.9450537,12.5967575,9.813885,34.527988,8.0110665,0.8260733,0.8475926,16.5622572,13.0158664,78.4710765,17.1796727,36.1601276,64.3552546,33.4468053,45.0277414,20.926044,6.9197645,12.1908147,9.5980099,34.5477737,7.9725723,0.8449547,0.8760658,16.3510537,12.9261238,78.5501484,17.1608531,36.203105,64.1019559,33.6104425,44.1804573,21.0568409,6.8714958,12.3376999,9.8979464,33.7766761,7.9288406,0.8519742,0.8993254,16.3879288,12.8858969,78.7600707,16.9245939,36.1066743,64.2653077,33.3899449,43.8536434,20.7906574,6.5258842,11.945282,9.5400884,33.5059565,7.5548301,0.8715824,0.8999361,16.4195186,12.7935078,78.7302627,16.8451691,36.3726736,64.7921391,33.8519172,43.7605009,21.1342923,6.7096743,11.9147931,9.3018037,33.5063002 +535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.3141306,1.3518937,21.9603691,17.66737,63.5748161,15.7195048,32.6755868,67.9770199,35.0062096,41.9981433,20.6494836,2.9366012,12.680039,9.6178174,36.1093837,16.7359564,1.4516266,1.4899945,21.6357583,17.5089702,63.6292719,15.9580717,33.0503367,67.6597862,34.9027404,42.8681683,20.916962,2.9793093,12.4089829,9.3864081,36.1669671,16.5637928,1.433121,1.4712003,21.3283493,17.0596992,63.1048521,16.0150126,33.4710896,68.9164597,35.3994504,42.7456365,21.0131721,2.9231656,11.6728093,9.1661791,36.316121,16.2863037,1.3960586,1.4346214,20.8560066,16.8027792,62.5471168,16.2765692,33.9059121,68.6629688,35.6700706,43.7480592,21.5567999,3.172384,11.514587,8.6646039,36.4174375,17.18107,1.5142536,1.554939,21.5453176,17.2578506,62.4760312,15.741579,34.2790045,67.8840283,35.3761792,43.0877656,21.4576948,3.2445084,11.3308167,8.6997569,35.9305875 +536,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.916373,0.9290742,16.6165108,12.5239483,67.6575459,14.7248654,35.3463653,66.110305,32.0728527,43.9573339,22.2081272,4.2028009,12.2190482,9.7986214,33.7787646,10.6207246,0.8262602,0.854566,16.6092544,12.466156,66.5891308,14.4455487,35.0268361,66.579129,32.235664,43.9217185,22.5143882,4.2715908,12.5449633,9.6876014,34.2164051,10.6625754,0.8430242,0.8483093,16.5062454,12.2784542,66.4793242,13.5759425,34.6899194,66.2057379,32.3555957,43.8062936,22.7157506,4.2288755,12.4770242,9.5914463,34.4423354,10.4184259,0.8317922,0.8371357,16.2508733,11.9025837,66.7512048,13.2366281,34.8775518,66.3992222,33.1083064,43.9382969,22.6617529,4.3520061,11.9145349,9.1686095,34.1349817,9.9624825,0.8516993,0.8399404,16.0371491,11.6542895,66.6175856,13.0740131,34.8278247,66.4580626,33.1818026,44.0383464,22.8283227,4.3784111,11.4188706,8.5394385,34.0956943 +537,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8205181,0.859909,18.0625869,13.1763236,56.7641544,15.8965142,38.2912843,66.318056,36.3922607,48.5583173,24.7081881,3.8692973,11.5480682,9.8766454,36.8436371,12.2796344,0.7397565,0.7535631,17.6945399,12.7170843,55.9940947,15.9099756,37.9193708,66.8288822,37.6212149,49.9098099,24.702334,3.7336396,11.3707483,9.4620865,36.3917082,10.4659841,0.7633542,0.7892121,17.2433046,12.4487787,56.9251146,15.8343454,37.0060708,66.2019807,37.4018492,49.2409332,24.7226245,3.765007,11.8831792,9.7938377,36.5668739,9.3440966,0.8871309,0.8929981,17.8896307,13.0954892,57.3224036,16.2665343,37.4973028,66.8779788,37.7103276,49.0847009,24.4912765,3.8553617,12.9053204,10.5180241,37.8587884,8.686448,0.8963612,0.9409038,18.0688483,13.3951587,56.7597321,16.7744482,38.1838685,67.5954658,38.2264108,49.3872624,24.7273632,4.2487323,13.4127476,10.7803183,38.6574455 +538,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.8986679,0.8764549,15.8449584,11.4281675,66.2138213,12.6816995,35.1082762,66.8750038,33.7854893,43.9315184,22.4809896,4.2918972,11.5177364,9.0475653,34.3953593,9.5787023,0.9391028,0.917025,16.4010345,11.9686378,65.5197797,12.9916381,35.4995963,66.6360815,34.7464262,43.5087039,22.432968,4.1973922,11.2792914,8.9063322,34.5343813,9.1924712,0.9478077,0.8997865,15.8549672,11.8207096,65.8368156,13.4878794,35.3026217,66.4449407,34.7614261,43.0529226,21.5904338,4.4825632,11.2004211,8.5660494,34.245446,8.3627285,1.0176772,0.9703295,15.8460677,11.7923343,66.178591,13.68167,35.0291753,66.3156915,34.6483422,43.0323229,21.5092144,4.4490069,11.172933,8.8776345,33.9934418,9.2330811,1.0034909,0.9762393,15.8387539,11.9165448,66.283376,13.7870889,35.4524696,66.7612222,34.646411,43.0159749,21.6959497,4.6853566,11.1751283,8.9933169,33.8524925 +539,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6124755,1.5959683,27.2199594,22.3385978,49.2152945,12.9722651,38.297,65.2108091,35.1009436,47.2490961,23.1211892,5.5623055,12.9781152,9.6091126,28.8965918,16.935655,1.6671096,1.6584178,27.6895454,22.7900731,49.4115443,12.9203339,38.1608299,65.7259712,35.7703367,47.6295532,23.5622676,5.3909548,12.6808451,10.30405,28.9415909,16.3590768,1.5905265,1.5982373,28.2606218,23.4070762,49.815419,12.8969938,38.5757908,65.9697216,35.8666214,47.6630416,23.2582447,5.2984089,12.6667205,10.5416021,29.5257542,15.2891616,1.7145123,1.7090192,28.4629209,23.2150573,50.1380208,12.9408936,38.0435926,65.9589814,35.798275,47.7251226,23.1683656,5.628643,12.6572124,10.7450861,29.9275372,15.4461661,1.8093841,1.8149527,28.7065369,23.7297527,50.3061256,13.1543939,38.5527084,65.661523,35.7312967,47.9702099,23.2097286,5.262672,12.0546231,10.7661076,30.7031192 +540,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.1991719,1.171231,17.9051863,13.9459054,85.0205091,12.6218021,30.9758682,65.7635014,31.2682874,43.8835001,18.8329163,5.1157918,15.4309516,12.4888136,33.9728984,9.2470194,1.1738415,1.146052,18.102746,14.1898214,84.95249,12.4118167,31.3630945,65.6648634,30.6927621,44.1452414,18.7597889,4.9720718,14.8988547,12.2921483,34.1723206,9.3344626,1.0470705,1.0400925,17.4099197,13.7667548,85.3872818,12.3810382,31.7590446,65.7729657,30.0763281,43.9645139,18.8579999,4.7678114,14.6324522,12.9419788,33.2493906,10.2410379,0.9466455,0.9395953,16.9194037,13.3503664,85.775114,12.2569572,31.6093242,66.1951104,30.3871123,44.4431605,19.0923685,4.9004367,14.7126715,13.1774092,32.3446169,9.8604216,0.9157555,0.9262356,16.8468032,13.3383991,85.5044659,12.1369633,31.5064136,66.0726525,30.7218746,45.4494226,19.1549281,5.1446132,14.7514425,13.2406556,31.8870368 +541,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.5803497,1.6241267,25.620998,21.4404462,51.092254,13.788634,39.6447184,66.4986374,36.6661075,47.4169863,22.7970971,3.9947276,13.8294455,11.7489686,34.507282,16.6091839,1.5869679,1.6375228,25.6218994,21.1839414,51.3208041,13.5723269,39.8066392,66.5592943,36.207129,47.4614798,23.1924109,3.906008,14.0748816,11.3491991,35.0270914,17.6975904,1.7674112,1.8195086,25.509516,21.1170428,51.312715,13.8021705,39.3186333,66.0867801,36.6159169,46.8441432,23.3452105,3.9893239,14.1314725,11.7713256,35.4342279,18.2912802,1.7920344,1.8461674,25.6337815,20.9730904,51.4845709,13.8931442,38.972846,66.0302683,36.1517729,46.2515534,23.2309957,3.9198929,13.9682867,11.9720382,35.8593778,18.3184744,1.8769011,1.9157415,25.0876914,20.3972044,51.2482964,14.3215263,38.6116219,66.4278909,36.552991,46.25328,22.7849281,3.829057,13.9915581,12.2690375,35.4044347 +542,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.9383509,2.0028996,25.1631568,20.3932874,50.8813673,13.7606029,38.8476024,66.6810527,36.8434609,46.9333186,23.0563288,3.7750542,14.4691691,12.6411186,35.4145052,19.168725,1.931047,1.9762693,25.2307745,20.5974387,50.5248551,14.1221292,38.4691679,66.5913489,36.7702897,47.5601138,23.4682859,3.6056399,14.1233742,12.5225184,35.527734,18.6429702,1.8169618,1.8860859,24.8343025,19.9802848,50.3398034,14.0058218,38.5820062,66.3484667,36.3577501,47.3308879,23.1232645,3.6607963,14.0230246,12.560288,34.6599389,18.3242729,1.7529396,1.8067975,25.0647055,20.441922,49.8533914,14.1685376,38.6654974,66.752831,36.7509172,47.6259064,23.0423095,3.800495,14.0642952,12.705379,34.8537373,16.9852963,1.6651835,1.6844548,24.5008498,19.9182263,49.27725,14.1373858,39.6079404,67.2478391,36.7119809,48.3156138,23.2367969,3.733252,13.7054872,12.2649041,34.8271746 +543,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1790631,1.2088683,18.7414364,14.6011406,74.1497722,13.8023658,34.1068487,67.1555271,31.0660374,44.2360817,21.3990329,3.6534957,15.4636473,13.0803767,40.1882484,11.5635179,1.108392,1.1791113,19.3245654,14.8992762,74.4680657,13.2194658,34.0661439,67.4809048,31.06304,44.5398238,21.9627849,3.3898467,14.555376,13.0516464,41.3348952,11.0197368,1.0257441,1.0969008,18.6217129,14.4508671,74.4063314,12.993647,35.1112606,67.9152445,31.1217657,43.9325381,21.2627257,3.049424,14.9386786,13.3522607,42.3247253,11.2068966,1.1121333,1.1979836,18.9216619,14.339523,73.9247369,13.1357436,35.8704194,68.4144477,30.8551723,44.3120556,22.1393533,3.2379913,14.4484363,13.238902,43.6664325,11.0909091,1.2239692,1.3097078,18.3216787,13.8074025,73.6120641,13.2916479,36.0897215,68.9302161,32.1316842,45.2303135,22.6710325,3.4994709,13.9317498,13.4738276,44.8749474 +544,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.5235309,1.5297533,23.660441,19.4013641,49.0692788,14.456253,40.4049582,67.7554021,37.9426177,49.297937,24.1452998,3.754576,12.8985618,11.5273217,34.3931954,14.3659917,1.4073074,1.4172096,23.581769,19.1412386,48.2662892,14.2842979,40.590968,67.6583405,38.0899679,49.1629869,24.5159368,3.8826123,12.3505145,11.3561375,34.4863247,13.7398492,1.3595709,1.3508904,23.2227172,18.96113,48.6944374,14.6231583,40.6325478,66.8452438,37.8436021,48.4943914,24.1612964,3.7894101,12.3870148,11.3598875,34.2780215,13.9830631,1.3769683,1.3867524,23.0433276,18.7512337,48.6828225,14.494559,40.9795099,66.9283243,37.6614588,47.5164408,24.0711479,4.0234452,12.7860099,11.9525723,34.4848245,15.3781526,1.3837348,1.3729918,22.9218054,18.5855071,48.9481461,14.7476111,40.7950832,67.0004359,37.7624719,48.2212674,24.2710146,4.1310264,13.4412622,11.6809476,35.1430375 +545,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.0208918,0.9933603,15.761115,11.862222,66.233607,13.835762,35.1627125,67.4705691,34.600466,43.2565715,21.6201818,4.4475189,11.1797403,8.9094808,34.2892081,8.5055103,1.0427331,1.0820235,16.1981999,12.2320608,66.1536642,14.0247171,35.243555,67.6705408,35.0171346,43.2242931,21.6518516,4.4827081,11.6642179,9.7058109,33.9662512,9.2508102,1.0058043,1.0637112,16.3958368,12.6041814,66.5998023,14.4834918,34.7407771,67.2323789,34.1423457,42.4939867,21.091699,4.4178832,11.7179162,9.6326442,34.3334772,8.4966125,1.017704,1.0766779,16.4243091,12.6378581,66.7543597,14.3626723,34.8040227,67.6348608,34.0387553,43.2306253,21.2300166,4.5580496,11.8113379,9.6501195,35.2595732,9.22464,0.9824792,1.0472581,15.9040024,12.3234959,66.5643479,14.0679043,35.2868829,67.3485347,34.0158838,43.7704322,22.2158684,4.3029825,11.5667444,9.7813712,35.6564199 +546,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8844654,0.9269188,17.5346477,13.1946397,55.51057,17.2693426,38.8414914,67.6322449,38.8014496,49.9196788,24.8912669,4.1693294,13.6138183,11.0284163,39.1731566,8.7548706,0.9563863,1.042105,17.6153993,13.5546958,54.8943777,16.7776218,39.0898277,67.4837592,38.4666066,49.1819541,24.6220652,4.0718263,13.9556708,11.5086617,37.4987248,9.1440078,0.9764769,1.0724483,17.5991649,13.5279004,54.6704305,17.1642231,39.6323209,68.3575357,39.1372467,50.3121461,25.4970155,4.0195927,13.6575052,12.0773122,38.4141083,8.3657977,1.0368346,1.1304436,17.9322523,13.8871555,54.4528049,16.9912386,40.1444939,67.6178148,37.6637505,50.0824311,25.5576053,3.9436192,14.1263433,13.0369148,39.0935498,9.7222658,0.9933522,1.0997418,17.562655,13.4711034,53.5102874,16.8129692,41.0469477,68.1001918,38.4582812,50.3050361,26.0474828,3.74144,13.2959706,12.257599,37.8385846 +547,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2175923,1.2904231,19.5139976,13.3303174,50.1277091,14.3422109,38.1667936,68.2397356,37.5276754,48.6351899,24.7752323,2.886735,14.4619612,12.3679497,41.6956395,8.8028107,0.9745388,1.0459261,18.4301876,12.8675035,50.4934072,13.964966,38.4183149,68.0403244,36.8653929,47.1810533,25.3119516,2.8883479,14.2219425,13.0740106,43.3805115,7.8358267,1.0260366,1.0965337,17.9374089,12.3111682,50.3964982,14.2786999,37.4471348,67.7571889,37.9982278,46.3919305,25.7506095,3.092519,15.0425517,14.0439135,42.3772157,8.6805556,0.9150967,0.9855193,17.5324421,12.1609345,49.6535258,14.0025839,38.1108826,67.372198,37.6179132,46.1824289,25.7872129,3.2965685,14.2225248,12.8562059,42.5593923,11.151135,1.0018889,1.0163153,17.3051378,12.2461185,49.9966472,14.2352398,36.9361968,66.5909849,36.9361716,45.3747104,25.1594141,3.2433247,13.7331185,12.9737087,41.0045954 +548,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7338668,0.7905837,14.8234729,11.3966806,73.4200765,20.326257,35.2338366,63.7151751,28.8229045,40.4361452,20.4151299,5.9117202,10.0863032,8.5945974,31.3246465,9.7785978,0.8258022,0.8215045,15.6438399,11.5342497,73.1179756,21.0164893,35.1614686,64.05901,28.9253867,40.4509968,20.6291761,5.7628078,10.4931229,8.1034511,32.1593529,9.8837209,0.8760199,0.8717288,15.8690913,11.5236555,72.9797919,21.0021952,35.2304298,64.6585152,29.7890072,40.7828963,20.2387607,5.8023333,10.4069804,7.6340353,32.3770488,7.8,0.8863382,0.88208,15.3909282,10.9622775,72.284122,20.7767563,35.1627105,65.2785362,29.5918322,40.5129543,20.2702692,5.8742429,10.1862667,7.6429432,33.8615025,8.2995951,0.9777593,0.9649585,15.7244829,11.0592786,71.8820218,21.604605,35.3055523,65.3611034,30.6944402,40.2499923,20.5833324,6.0833347,10.9392936,8.0941474,34.6997695 +549,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3121414,1.3545863,18.3653539,13.7234337,72.489376,13.329556,36.7025829,69.3049193,33.0980931,45.3711166,22.669093,3.8207544,13.4690662,12.641971,45.144864,11.9791708,1.3344591,1.3773181,17.9424553,13.1569758,72.2663236,12.6063229,36.7027854,68.459952,32.5050508,44.142125,21.9866304,3.5945946,13.700984,12.4478559,45.0467901,12.8333333,1.2018672,1.2583654,17.2808674,12.576777,72.6874165,13.0457371,36.6593514,68.4625401,32.7454449,43.6746027,22.1634586,3.6964441,13.344546,11.9823531,44.0016593,12.4172185,1.1112188,1.1700825,16.5333512,11.8377806,72.2661755,13.5859929,36.3535266,68.9051884,33.7692594,44.1154823,22.4382904,3.8515322,14.1490303,12.010006,43.3333145,12.4561404,1.2753781,1.3585119,16.7169516,11.9406783,71.9720567,13.8596531,36.4303835,68.53164,33.6455715,44.8354523,22.7594884,4.2278458,13.8124317,11.5462509,41.6753243 +550,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9161186,0.9478976,16.0634994,12.727052,77.9921277,16.8537153,37.2650013,64.8811031,33.8094869,44.5870291,21.6110253,6.5093399,11.8228179,9.1188168,33.6338636,7.8683456,0.9843043,1.020406,16.6692198,13.2413044,78.1315411,16.7754948,37.4997272,65.2726461,33.9701318,44.188911,21.9937204,6.5038177,11.6282071,9.1162273,34.1464163,7.9702161,1.0033142,1.0380304,16.4726658,12.9826233,77.7762933,16.9298728,38.0160476,65.4941224,34.4572478,44.7262038,22.5059596,6.8815786,11.4432859,8.8313199,34.1472395,8.4204742,0.9873167,0.9873167,16.365835,12.7069036,77.4024167,17.0406944,38.0644213,65.7495335,34.5686486,44.2203142,22.1896132,6.8166297,11.7975588,8.7757826,34.5760935,8.5591348,0.9246248,0.9246248,16.3597968,12.8124949,77.2128909,16.9701467,38.1944396,66.572348,34.5078696,44.4015785,22.2136433,6.7472502,11.1405308,8.5890599,34.9022981 +551,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3162679,1.3856239,21.6445026,16.4285612,48.5243539,20.124925,39.982957,67.2866045,41.1432936,47.9009547,26.5357883,4.6928171,14.4490862,12.9847724,38.7108111,14.9671185,1.2593622,1.3119175,21.4516489,16.4080097,48.901338,20.200956,40.0697621,66.5060568,41.0992497,47.8744009,26.7850788,4.7326358,14.9593219,13.4576403,38.0449773,14.3092011,1.2947721,1.34027,21.1744204,16.2310992,48.5766274,19.830163,40.7903374,66.3063756,41.3063917,48.370895,27.4031752,4.5645056,14.2053254,12.4090138,36.5179955,11.525974,1.224011,1.2683382,20.8307589,16.0177683,49.2015753,20.1216626,41.0905343,66.7661166,40.5876342,48.727151,27.1684059,4.5411579,13.8871281,11.6912315,35.5620136,10.9523775,1.2123231,1.2586952,20.6324065,15.8966229,48.3778793,19.8802396,41.0365964,67.0555168,40.5936136,49.0105997,26.949189,4.7105544,13.3752364,11.6327751,36.1913297 +552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.997178,1.0870139,15.4156954,11.2201541,65.1230868,19.3308741,35.8304418,69.1637558,35.4045042,46.0898197,21.273709,7.1428364,11.4722127,8.9945193,34.9527213,6.475577,1.0975683,1.1725447,15.3801621,11.0960934,66.2051298,18.4825038,35.5181891,69.3155391,35.4407917,45.417644,21.0170239,7.0185452,10.6776779,8.6629575,34.0350396,8.0993433,1.4054446,1.488535,16.5828273,11.9775388,65.3377751,18.3827012,35.6560436,69.584607,35.1125279,46.836159,21.0597877,7.0069699,10.7114413,9.6275562,34.3551466,8.4905571,1.5471384,1.6310728,17.1691285,12.5097665,65.0695873,18.378142,35.4084708,68.9905923,34.5050762,45.9347928,21.1508173,7.3644702,10.5326664,10.2905361,35.5691553,9.2427514,1.4752713,1.5527711,17.8372846,13.3134696,65.0483127,18.1479374,36.1419155,68.3782922,33.8025296,45.3806451,20.9952149,7.7517597,11.0978255,11.0182712,35.4800748 +553,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.169214,1.2268952,17.0383037,12.3848836,72.7477619,13.6473428,35.7979527,67.2767092,33.5041452,44.2411083,21.742311,3.8311384,14.2371151,11.5271996,41.5346378,11.9426637,1.2929462,1.3537365,17.4192007,12.4422877,71.8418426,13.813426,35.7476639,67.7829701,34.2419524,44.8857806,21.9885756,3.9200421,14.3370915,11.7130857,41.1180878,9.468426,1.2648798,1.3295535,16.8032887,12.1038339,72.5861306,13.7034854,35.817171,68.1163417,34.819941,46.1218862,23.0747935,3.8504157,15.3217088,11.7614963,40.8287313,9.2105125,1.4636837,1.5311044,16.894587,11.6524256,71.6104348,13.7643522,36.6783056,69.4298975,35.3984916,47.0331643,23.938339,4.1593955,14.1647984,11.054423,39.8052623,9.4298122,1.6067483,1.6342208,17.0753551,11.6925893,71.1132,13.04478,36.7953422,68.9031951,35.5698577,47.4571101,23.4375072,4.1360307,13.9218042,11.130955,41.2860556 +554,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.9108546,0.9804064,11.9104631,8.3219438,62.3299293,20.143285,33.9479029,67.7097469,33.5081192,42.9127291,21.836945,8.9140751,10.9781174,7.9685401,38.5065292,2.7251198,0.939693,1.009721,12.1458243,8.4830711,62.3580029,19.3695242,34.8888842,67.8119688,34.1025623,43.4359017,21.8974364,8.8034211,11.5464689,8.7031942,39.5731195,2.4418616,0.9646149,1.0359755,11.9115066,8.3008879,62.2280682,19.3986326,34.3260126,67.8335118,34.4653439,43.3472731,22.0306535,9.4218077,11.5658429,9.0747383,38.6249035,2.6932097,0.8817645,0.9215861,11.9225347,8.4044122,62.7145382,18.9388785,35.1929,68.004867,33.5940217,43.291626,22.2975322,9.4716743,11.5059858,9.2540497,38.3712654,3.356483,0.835957,0.8683615,12.2644935,8.6775419,62.3978698,18.8151529,35.3594033,68.4813282,34.4432717,44.09796,23.2029623,9.3199454,11.7709849,8.9196898,37.545 +555,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0079995,1.0226974,16.8877823,11.6672217,50.4236363,13.9446795,37.1560241,65.9434479,36.2521432,45.7424661,24.7599115,3.3895532,13.9125321,13.3873283,41.2373001,12.4060902,1.1133118,1.1281861,16.8286818,11.8658476,50.2582304,14.0136642,37.0629292,65.7048661,35.6133726,45.4963613,24.8733389,3.5250835,13.5034794,13.8732244,39.917566,13.7037575,1.2216294,1.2365125,17.5542859,12.7579228,51.8932316,13.6735966,36.2961654,65.6163259,34.5159818,45.3944931,25.1534672,3.5933468,13.5849105,14.3913425,40.0218136,13.3987407,1.3893473,1.3440826,17.4978991,12.5168636,51.6940219,14.0387402,35.8465213,64.9575847,34.5746705,45.418116,23.5964477,3.3804811,13.4665341,13.6203236,38.7190864,14.9682517,1.4698975,1.4241698,18.0703411,13.3647548,51.6816704,13.8847486,35.9845407,64.0838535,33.551779,45.5123848,22.8746676,3.2774548,12.8606035,13.9683266,39.6703894 +556,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.9234206,0.9451938,16.5649162,12.6063479,70.1756064,13.959326,33.4121625,68.8008334,35.1711848,45.1768478,21.7987518,3.395115,11.8890682,10.4844925,35.9961013,11.3126001,1.0072291,1.0324728,16.9004841,12.8391939,69.8511219,14.2470942,33.1476789,68.4384507,35.3568819,45.4965969,21.780586,3.427106,11.8436417,10.3575535,35.9270903,11.120682,0.990342,1.0464725,16.4308176,12.2788892,70.0806342,14.4638021,32.9751021,67.9760442,35.3909189,45.2824779,21.809015,3.3574196,11.5039168,9.7698906,35.2952793,10.8423002,1.0020041,1.052332,16.5546092,12.4276292,70.3281024,14.3030972,32.4121742,68.1956429,35.3181395,44.9857573,21.9848078,3.2763429,11.0957393,9.7353876,35.1874135,11.5798819,1.0314142,1.091012,16.8267277,12.6459393,69.8451308,14.0870311,32.1833747,68.2971534,35.2008485,44.906792,21.5740897,3.1424073,10.6277376,9.587133,34.8096326 +557,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9650801,1.0532347,16.320369,12.3599585,52.7489519,16.9411739,40.9796598,67.9203587,38.0123685,50.5321556,26.1780047,3.734945,13.0997179,12.3164014,36.8505892,8.6087921,1.0509884,1.1205184,16.4142585,12.2988153,52.418655,16.7247887,41.0773522,68.2053099,38.3286766,50.8193687,26.5278826,3.8415181,12.5257031,12.0971047,36.2814305,9.0081249,1.1101618,1.1838129,16.908314,12.8103229,52.8121432,16.1518987,41.0269508,68.7064753,37.9520407,50.4711112,26.7621881,4.059268,13.4792274,12.8537418,36.110898,8.9837608,1.2070412,1.2510611,17.4310292,13.0772435,52.7087198,16.2282993,41.1744168,69.5028931,38.1858432,50.7475516,27.0183231,3.9764796,13.0971026,12.9702542,36.0042784,7.9130547,1.162694,1.2259689,17.3100722,12.9942542,52.2869245,16.24299,40.7466545,68.668435,37.6806727,50.7090714,26.714519,4.1119734,13.176508,12.4700813,34.6649107 +558,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.1574827,1.1723076,19.7506936,14.4579225,64.4668342,9.5449455,35.56473,64.1538995,38.4432028,42.1225101,23.563733,4.8750877,13.1203683,10.3096555,41.4491986,12.2563701,1.2113171,1.2144753,18.998867,13.9190206,64.1689261,9.5637324,35.8064194,64.2048007,38.7691548,42.6105996,23.808981,4.8046318,13.0073009,10.2690271,41.2514745,11.9729368,1.2122097,1.2143384,18.8802052,13.7127338,63.9035273,9.6743004,36.0556173,64.4291299,39.1145888,42.6583998,24.1775171,4.71548,12.9487209,10.5012134,40.8952752,12.4999717,1.1879099,1.2023715,18.5596046,13.6277536,63.1658234,9.9439584,36.3576814,64.2967215,39.2848454,42.9021666,24.5061879,4.7299149,12.1324399,10.1052811,39.9831731,12.2388995,1.1813446,1.1818516,18.1768229,13.3092239,63.1773193,10.2966161,36.4405499,64.3995067,39.0350497,42.5438436,24.493438,4.7628094,12.1387921,10.1408463,40.017511 +559,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.1358007,1.1391751,17.8380864,13.0779286,62.7167268,10.119671,36.4590761,64.2945475,38.8331439,42.614102,24.5509943,4.7167802,12.3383863,10.3374388,39.9869145,11.7250431,1.0511745,1.0687057,17.8005832,13.0545776,62.4433945,10.2044959,36.5981043,64.4006275,38.4457862,42.9901363,24.263483,4.4631839,12.7819289,10.8084568,40.1299347,11.6561604,1.0337494,1.0515556,17.55955,13.0077622,61.6767832,9.869469,36.6280406,64.6005454,38.5148314,42.7949797,24.4714494,4.2864609,12.8668573,10.7319365,40.6925024,10.941816,1.0249813,1.0384017,17.6790485,12.8874612,61.8165539,9.8558338,36.8479243,64.5572675,38.7295042,42.7812254,24.6049958,4.3590268,12.9949288,10.5040248,40.4999581,10.8394702,0.9703854,0.9884743,17.5325559,13.0459565,61.0648927,9.8583254,37.0478828,64.550279,38.9725969,43.2941591,24.870069,4.2912824,13.2843251,10.8626063,40.6926102 +560,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0823265,2.0516032,27.6195895,22.7539595,54.7997722,10.1577868,34.9212227,65.2427249,36.736847,46.5040666,23.9701526,5.8894424,14.6537005,10.6187797,32.4246487,22.4810085,2.122564,2.0982614,27.974098,23.1325696,55.1777561,9.9051919,34.5128124,65.1607877,37.0595949,46.6237901,23.0920909,5.8587018,14.7921147,11.1005098,33.6326255,20.8806261,2.1766688,2.2070933,27.9164923,23.2232412,55.1677314,9.781661,35.0017386,65.0980162,36.8612844,46.6443763,22.6456125,5.7225422,14.6697384,11.2481842,32.9198704,21.7464204,2.1974728,2.2160359,28.8547975,24.275886,54.177237,9.2539927,35.384467,65.576905,37.3024342,46.8876505,22.9885481,5.7990578,14.6862109,10.6556969,32.9306334,19.6134568,2.2437465,2.2423212,29.4081858,24.8322275,54.630754,8.8983144,35.3914767,65.9820948,37.1469069,46.3339502,21.9946717,5.9173491,14.0671896,10.3944375,33.2138902 +561,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.446556,1.4625205,22.6286828,16.9660805,54.3246676,16.5921472,39.3915516,68.0802049,35.2631527,47.358716,24.4779716,3.6113838,13.2906684,13.3024158,38.4382852,10.7992758,1.3334094,1.3092661,21.0213202,15.3756013,54.327359,17.4689729,38.4719769,67.7146455,35.5256957,46.7090159,24.7216135,3.3200401,13.9419505,13.4227278,38.7508978,11.0527943,1.2577212,1.2334618,21.3068738,16.0462436,54.2670285,17.3050492,37.667491,68.7918977,36.12922,46.0472588,25.2804603,3.5248059,14.8271506,13.4993534,39.7880525,10.9758358,1.2161523,1.1886601,21.3286531,16.3722858,54.6421008,17.468023,38.606147,68.7107876,36.1073719,46.9232907,25.5289246,3.4159864,14.2834142,13.1477198,40.6556821,10.6783439,1.102788,1.1236755,21.6945637,16.9520175,54.6544269,16.9521934,37.7136939,67.2275938,35.3011599,46.5675635,25.1106534,3.5072422,14.4846081,13.2401996,40.7306409 +562,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8162926,0.8607486,13.3109736,9.3261935,56.6959753,9.7410902,31.6933048,70.3246745,41.2237786,43.351649,24.810192,5.2097919,10.0387267,8.2637051,35.8173565,6.374323,0.811156,0.8330733,13.3538824,9.3118453,56.1717049,9.6287125,31.9877317,70.6163308,41.0768191,43.3792508,24.447018,5.1126104,10.1578492,8.4546024,36.0915441,6.885398,0.8068147,0.8211485,13.4836624,9.3199652,56.0203709,9.5402303,32.031486,70.8938565,41.1833472,43.3265686,24.5657757,5.0126981,10.555208,8.6474742,36.4273704,6.8011263,0.8196624,0.8231143,13.3459045,9.1673479,56.129391,9.5450467,31.6483425,70.6627994,40.9438047,42.9800544,24.3687705,4.9735309,10.3910935,8.7494806,36.8603102,6.4806055,0.7508488,0.7415179,13.1693449,9.1299873,55.9507526,9.2181636,31.5487302,71.5342449,41.687364,43.2805818,24.7620597,5.0848357,10.2822554,8.7348769,37.0588178 +563,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3104772,1.3289031,20.7083488,16.2361191,48.3082637,18.688581,40.3895217,66.8893934,40.3610969,48.3792753,26.2297296,4.705697,13.904828,12.0699599,36.3085038,13.4180601,1.1947667,1.2043403,20.6270337,16.2405899,47.6623605,18.5291005,40.58628,67.8089748,40.5037092,48.8989585,25.9702619,4.8031777,13.933522,11.8282591,36.1375217,11.5921593,1.1229949,1.126174,20.2869541,16.1035193,47.1958512,18.2940121,40.8440978,67.9543643,40.5691542,48.4602559,25.9142122,4.4404614,13.0985795,11.4084501,37.0738807,10.9011533,1.1841004,1.1931173,20.2785235,15.822281,47.1459971,18.1976891,39.6641093,68.1185285,39.8825828,47.9109633,25.2730795,4.4101432,12.3661775,10.7948115,36.3558949,12.9999926,1.0810431,1.0900261,20.2777835,15.753963,47.2729515,17.4966537,40.3190623,68.3801608,39.0919127,48.2819781,24.9932002,4.1314292,13.0544313,11.8820185,37.2876565 +564,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6846758,0.6709702,13.0811553,9.1791216,55.5759881,9.5182099,31.3266174,71.6237292,41.8398153,43.6474243,24.8545673,4.8774175,11.015506,9.3603918,37.537434,5.2042802,0.726455,0.6997755,13.1991627,9.2890742,55.6387342,9.649577,31.300556,71.7985086,41.9739483,43.8544036,24.5666592,5.0478002,11.346525,9.7610854,37.8352009,4.9590997,0.6521546,0.6145275,13.2272034,9.1336995,55.5034997,9.6373553,31.0974927,71.1614273,41.6568982,44.0436903,24.4485899,4.7575929,11.3394207,9.566827,37.8665105,5.1321133,0.6381757,0.6135001,13.2934178,9.2879085,55.3579155,9.6565171,31.2044963,71.2580274,41.8254787,44.4914349,24.6520345,5.0695934,11.3033092,9.6124554,37.5930749,4.8940459,0.6279561,0.6261366,13.4131927,9.4703476,55.3588936,9.6872012,31.0145705,70.971394,41.8834291,44.4306511,24.4414444,5.2725313,11.2769684,9.5378257,38.1500914 +565,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9932892,1.0042592,14.7062709,10.863124,78.4156691,7.5238976,30.5420231,65.1405756,31.884068,40.3137408,19.6245761,5.9630253,11.8525113,9.7840729,36.7407657,6.8787384,1.0151998,1.0248079,14.7531158,10.9698467,78.5451663,7.5256766,30.8219678,64.9180001,31.6170207,40.2750732,19.4294569,6.0978155,11.9897536,10.2287314,36.2963464,7.113508,0.9830484,1.0022855,14.8791415,11.0802175,78.5032529,7.4969312,30.8029022,64.678723,31.4460498,39.92484,19.3558536,6.2659417,12.0947026,10.2218716,36.3137401,7.3152709,0.939335,0.9522653,14.7121658,10.8240395,78.3666472,7.5732637,30.7482994,64.7576089,31.7238089,39.8209994,19.3092457,6.5029869,11.8688795,9.8514263,36.7135888,7.1706289,0.9236355,0.9370258,14.777909,10.8562191,77.9741382,7.6338044,30.9458566,64.8233159,31.689209,39.7601909,19.5024474,6.7103059,11.6771557,9.8210756,36.695298 +566,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9280894,0.9242854,15.8990686,12.567364,76.8991562,17.4619953,38.0093118,66.5973596,34.8162157,44.7946125,22.4929282,6.6273031,11.173847,8.3902882,35.1635015,8.8124978,0.9585808,0.9657214,15.8704481,12.6402514,76.6970718,17.8772317,37.5585658,66.7447354,34.7301593,45.1761228,22.7225339,6.9495005,11.3899609,8.8152826,34.9735291,8.8730535,0.9821847,0.9937626,15.6996242,12.2501272,76.6301414,18.5287275,36.8330626,67.2002049,36.0372425,45.4964721,22.7437072,6.7733719,11.7636228,9.4266782,35.2516463,8.7225101,0.8820434,0.8948436,15.2343828,11.8157537,76.2465452,18.9069289,37.4522759,67.6085753,36.5390246,46.4514795,23.2209757,7.1061296,11.6238037,9.5337332,34.5981559,9.2011243,0.8583317,0.9075803,15.214384,11.8140899,76.0183531,19.0885342,37.2171461,68.171221,36.1945214,46.6172945,23.6478778,6.7551299,11.1877517,9.8975885,34.7426234 +567,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1361777,1.1451472,20.1399947,15.5176927,46.7906156,16.9023416,40.1710561,68.2459945,39.4922674,48.6152585,25.4004974,4.1677854,13.3838073,12.6123567,38.5116007,16.8055693,1.1264533,1.1228236,20.3483704,15.7304897,46.9731106,17.172954,39.7916751,68.1527899,38.8472256,48.402787,24.7916751,3.7083313,13.5913531,12.5072857,38.0938584,16.0714472,1.1939128,1.134313,20.8127856,15.8593131,47.0378351,17.6235786,40.5182576,68.7535341,38.8936043,48.9776302,24.8880149,3.3753457,13.6925251,12.4631475,37.0119461,16.4788968,1.3354225,1.278133,20.8703923,15.9482618,46.2484995,17.0461655,40.7444891,67.926456,38.5197399,48.8448787,25.399382,3.0376461,13.7096162,12.6419311,37.327432,16.8588136,1.3465913,1.2957014,20.9402689,15.7226389,46.4990899,17.507127,40.7508296,67.9275508,38.3529027,50.1713215,25.8207967,3.297172,14.5857491,13.1142341,36.5339862 +568,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0300606,1.0178536,15.835089,11.1081968,71.607241,21.1877596,35.5561348,64.3911345,30.0737929,39.4043119,19.6362624,5.9831328,11.596553,9.0172825,34.7991356,10,1.0087586,0.9969939,15.16146,10.570136,71.8444191,21.5573396,35.007643,64.7883589,30.2141684,39.5461406,20.0152912,5.7368713,11.2668802,8.9916887,34.1195043,8.2116788,0.9327959,0.9212752,14.8120717,10.0148398,71.6052629,21.88114,34.7229093,63.9290973,31.1283003,40.7139243,19.6954468,5.816277,10.7433841,9.4291568,33.0072193,8.0357143,0.9069614,0.9069614,14.9759659,10.4567338,71.0333132,21.9761909,35.007272,63.5856292,31.07714,40.9752501,19.917506,5.6525972,10.8201613,9.3471838,33.3166933,7.5757576,0.8980223,0.8980223,14.1898194,9.8379662,71.4050118,20.8601631,35.4195897,63.2208084,30.2625322,41.3267646,20.0421819,5.6493221,10.5832579,9.7274464,33.2858594 +569,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.0269492,1.0355461,17.308162,13.0085724,61.0064312,9.7447453,37.3233264,64.8383854,39.0524944,43.2586144,24.8218339,4.2002642,13.2938559,10.9540719,40.9717759,9.2694096,1.0014214,1.0135472,17.0849375,12.92533,60.7221137,9.6587368,37.3813557,65.2158663,39.108839,43.7193208,25.1859179,4.4102585,13.1292582,10.7919357,40.6614744,9.7905293,0.9873192,1.0148731,16.817386,12.8295949,60.5826609,9.709871,37.5110033,65.6183745,39.3575453,43.6697867,25.6025831,4.4062317,12.9406885,11.0570704,41.0374083,9.086843,1.0810678,1.0840515,16.7705387,12.5871513,60.2948047,9.4372864,37.5495333,65.5713296,40.1340167,44.1447296,25.9892646,4.4986529,12.4729651,11.066735,41.1038156,8.9597839,1.0512423,1.0649357,16.668262,12.4777816,60.1158825,9.5752221,37.6867581,65.9860641,40.0751423,44.5708551,26.0159851,4.4706312,12.0308293,10.9449557,40.6594208 +570,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9163486,0.9366079,14.0446982,10.0569667,71.5463624,21.1797984,36.107403,63.3155706,30.337321,42.3213466,19.9955553,5.792279,11.0274609,10.318869,32.9606529,7.2530864,0.8313761,0.8504966,13.5554656,9.9130798,72.0293051,20.9914333,34.9520585,63.547303,29.9499637,41.8716157,19.4872828,5.9399777,10.8659505,10.3663665,32.8151426,6.8181818,0.778839,0.8051252,13.641877,9.7615197,72.0436885,21.2847408,34.3544385,64.5764739,30.6537708,41.9202352,20.2919409,5.9827327,10.8606602,10.5414317,33.0986053,6.8597561,0.8648501,0.9058949,13.4283423,9.6949007,71.9223017,20.8200027,34.3329243,64.5246845,30.8649428,42.0032695,19.8490436,6.1811526,11.3691978,10.399678,34.1413452,7.6086957,0.8367878,0.8769338,13.6399507,9.8894555,71.9126019,20.1919358,33.7664923,65.2738912,30.6077464,42.1231573,20.2518962,6.1375477,11.4433876,10.0239673,34.3349471 +571,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6814075,1.7094974,18.0572489,12.8197375,70.7028897,13.5009237,37.4842386,69.0731472,34.8360661,47.5724959,23.3606646,4.2559915,13.4661901,10.7402965,41.8704117,11.6666135,1.5491241,1.5294352,18.4176816,12.8443355,70.1618328,13.2007727,36.5359073,69.1157032,34.9401689,47.3071735,23.171562,4.2220756,13.630498,10.8441615,42.829201,12.0512308,1.5644109,1.5337172,18.3121991,12.7751778,70.6559661,12.8474502,36.9745069,70.8821618,34.9758842,46.6919279,23.5355126,4.5141307,12.2939645,10.7978066,41.7590178,11.081039,1.3594406,1.3533094,18.2211665,12.6915241,71.147205,12.7609327,36.6326655,70.1700647,35.4081617,45.5442196,23.2313072,4.5918383,12.3087795,10.0974958,42.7871408,11.684741,1.3932031,1.4170126,18.7540187,12.8792642,71.1835929,13.5976322,36.0357324,69.6558516,34.9768372,44.5069402,23.4612866,4.4010606,11.7123578,9.3964485,44.7586544 +572,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1699725,2.1685273,29.2471849,24.5957549,54.9467466,8.5293957,35.3231052,65.4881106,36.8760783,46.0263954,21.4531177,5.6421546,14.1106358,10.6632769,33.8907709,18.6780894,1.883776,1.8974812,29.7351931,25.023726,55.3644914,8.887218,35.5264641,65.7042881,36.8522469,46.4167073,21.3746301,5.735445,13.9727838,11.2551209,34.2185793,16.9593265,1.8715949,1.9299656,29.5756807,24.760357,56.1078407,8.8825729,34.7182719,65.9516042,36.4050924,45.9159078,21.2641371,5.3597721,13.9157221,11.8647999,34.4344269,17.2272411,2.0861328,2.1691917,29.651125,24.5565653,56.4301282,9.0400943,34.3326571,65.732388,35.7755746,45.3565757,21.6774052,5.4954554,13.9265946,11.9564659,35.3162605,18.5577841,1.9430967,2.0019064,29.965419,24.9532364,56.2647818,9.1534389,34.3630206,66.7253056,36.4737945,45.6204706,22.3070052,5.6127311,13.7301702,11.4774062,35.638789 +573,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3056712,1.2528876,21.0871826,16.1961879,46.4005459,17.5219269,42.3494656,68.5841236,39.1236716,50.9706397,26.4773612,2.9831565,15.1203262,13.5428503,37.23475,13.6856836,1.3530983,1.2742351,21.2911122,16.2716035,45.789886,17.7700596,42.6642542,68.5954439,39.6503279,50.398096,26.4856844,3.1703123,14.6234319,12.696991,36.5904626,13.2707972,1.4260887,1.3800972,22.2237519,17.1735401,45.5110994,18.1474008,43.6252588,69.1529344,39.8032546,50.5562188,26.7399248,3.2373014,14.1297609,12.0648681,35.8922238,11.0406317,1.5507713,1.5096911,22.3487605,17.0323209,45.5882276,18.1857525,44.0846223,69.0702239,40.1410832,51.1082104,27.3028397,3.2959007,14.0366156,11.8358683,34.8692934,10.5063518,1.399412,1.4294134,22.4318739,17.2105396,46.3843139,17.67996,43.6005358,68.7317427,39.373169,51.0349321,27.3323275,3.3381839,13.5577993,11.4651505,35.5815044 +574,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.4271646,1.4254464,22.7578113,18.2008068,49.0761347,14.7919378,40.2447964,66.5576939,37.479006,48.0377853,24.3973311,4.1954777,13.0328093,11.6704189,33.9711652,15.6597332,1.5250802,1.5542177,23.026207,18.1730368,49.3715887,14.4856136,39.4441284,66.3498565,37.1447032,47.3746615,24.198827,4.1191403,13.3612789,12.0036252,33.9494468,17.1493645,1.6125252,1.6407101,23.3566217,18.4009061,49.4529485,14.4716058,39.3019445,65.7890532,37.0801571,47.2621105,24.3439671,4.2949622,14.0181981,12.1238474,33.7376486,18.5543649,1.6579531,1.6806288,23.1753094,18.3691925,50.1720984,14.2253788,39.2923006,66.0531619,36.8717646,47.5122225,24.8697453,4.4125059,14.1090763,12.1443011,34.5865615,18.2772727,1.6356822,1.6572922,23.2433722,18.3884078,49.4515188,14.4579241,39.1613429,66.6533557,37.1645355,47.5958581,25.4073461,4.4329053,13.639295,11.7391284,35.0567005 +575,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.9837671,1.0027519,16.5025536,12.423061,59.7687301,9.3445337,37.5384521,66.5911845,39.7480522,44.591719,26.0275288,4.5397362,11.9493091,10.8632021,40.9107948,9.3824169,1.1023092,1.1203786,16.4026505,12.2609953,59.4707079,9.6092573,37.3638374,66.5762115,39.7011955,44.6143485,26.3068799,4.6412619,11.8145862,10.5779167,40.7202908,9.760798,1.0704101,1.0966093,16.3030258,11.8648036,59.172235,9.508107,37.2441943,66.9145374,39.8114879,44.9081137,26.6057377,4.7697931,11.9052204,10.5738247,40.2631073,9.9095569,1.0490865,1.0835657,16.3675725,11.7611578,59.0939095,9.4502643,37.1368112,66.9868582,39.9765839,44.8500381,26.6213927,4.6532285,11.7243342,10.411198,40.6581987,9.4624399,1.0592311,1.0864733,16.351651,11.6917884,58.8976226,9.4818038,37.2460607,67.120749,39.9705649,44.9259453,26.8986369,4.5614174,11.5640478,10.2639652,40.1362606 +576,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.5494597,1.5772218,23.3595585,18.3120588,49.7341557,14.454829,38.8284867,66.7151638,37.3889788,47.6799449,25.153142,4.2955591,13.4822952,11.2257468,35.015512,17.7791619,1.4628715,1.4871455,23.2865858,18.4716686,49.6277638,14.1861115,38.2203988,66.6790826,37.1630709,47.3641156,24.9664929,3.9687298,13.370527,11.4909638,35.0879759,17.5094592,1.4175635,1.4484319,23.2366067,18.3378914,49.7967987,13.9810723,38.6085362,67.0724577,37.4723421,47.2849398,25.3135627,3.784865,13.7659694,11.8807447,35.6822117,17.4388445,1.3700636,1.375695,22.9306157,18.243344,49.8057509,13.8102743,38.517281,67.3375354,37.5366007,47.7678616,25.4757137,3.9007641,13.6818913,11.9593978,36.0872025,16.7312274,1.3124249,1.3180869,22.5891928,17.8893796,49.4968364,13.4975959,38.0569542,67.6527039,37.4225447,47.7353212,25.1032834,3.7695498,13.799823,12.2005933,36.1865869 +577,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7788951,0.7854093,12.7850558,9.0975255,74.6656761,21.8962173,37.5246063,67.9379921,32.8001969,44.6112205,20.4970472,5.2903543,12.029703,9.446093,35.95,6.7028986,0.7018146,0.7194157,12.5478011,8.9627151,74.707887,21.2041885,37.2165943,67.5108538,32.5856247,44.8866377,20.4293295,4.799807,11.6088632,9.0865385,35.5890944,6.0218978,0.7307197,0.7486666,12.3177843,8.8678328,73.9572989,20.5782313,38.1501472,67.5907753,31.5260059,44.0873405,20.0441609,4.4406281,11.3124388,9.6379648,36.1248761,5.8303887,0.8526093,0.8709843,12.5499002,8.9071856,74.490316,19.9751244,37.3805933,67.2951232,31.5987934,43.6651584,19.6329814,4.3489191,11.8635438,9.9186165,36.0596708,5.2919708,0.8331177,0.8517542,12.2329603,8.8758901,74.5365602,20.5689829,37.5191034,67.1166582,31.3041263,43.2755986,19.7401936,4.3555782,12.4869383,10.3970742,36.4836325 +578,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.821314,0.8606278,13.5171596,9.8920135,72.2287852,19.4135728,33.235752,65.007807,30.0741503,42.1350571,19.7697079,5.9914155,11.739476,10.4134222,33.843148,7.9192547,0.7750277,0.8145108,13.8470439,10.3321716,72.4022282,20.0961554,33.1440915,64.8198895,30.5990551,42.0321145,19.9490971,6.4800344,12.0109612,11.3155896,33.661428,7.0491803,0.7625338,0.7846903,14.3396932,10.4813061,72.1974084,20.1144912,32.7371513,64.8914889,31.1294174,42.3432617,20.2773297,6.5715468,12.0980775,11.1334468,34.3422228,7.605178,0.8929934,0.9158158,14.3356585,10.5100788,72.0662277,19.7674442,34.0315281,64.7241867,31.625886,43.1978582,20.5101604,6.5325626,11.825733,10.580919,32.8750025,6.6101695,0.9246766,0.9465304,14.1272888,10.4855928,71.8658711,19.9125512,34.4252999,65.2788537,31.2131156,44.5687395,20.6889899,6.7836217,11.8478152,10.2224831,32.9473067 +579,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.271313,1.2949957,17.9347651,12.9475569,71.2609025,14.0493093,36.3666085,69.283827,35.9067004,44.8423078,23.4888316,4.1064402,11.7768733,9.8893638,44.5291136,8.7499544,1.2485846,1.2713737,17.6940738,13.000353,70.8463398,14.5635333,36.2936936,69.4252905,35.4883251,44.6010259,23.7989342,3.9907372,12.5301087,9.5183077,44.7820231,7.8947368,1.2442225,1.2660658,16.5566246,12.188736,70.9685921,14.3563223,35.7832774,68.9036897,35.1334158,44.4472727,23.2957888,3.9358607,12.5760979,8.9446133,44.709604,7.3113208,1.2378452,1.2762351,16.25822,12.1156283,70.686035,14.4833909,36.2159389,68.9043349,35.6512692,44.3960031,24.7778544,4.4011441,12.7041044,9.191354,45.6343518,7.7830189,1.218955,1.2644044,15.2420194,11.0826088,69.5443525,14.2489627,36.8514647,68.195168,35.9189423,45.0139351,25.7147785,4.1870369,14.547554,9.9866315,46.3054959 +580,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8740719,0.9436708,15.3500259,11.9189623,76.2219248,19.2252909,36.7974791,67.8441951,36.5124519,47.0376451,23.6460644,6.9930476,11.3202689,10.0577359,34.4639839,9.7875402,0.9200697,0.9875099,15.3311974,11.7287298,76.2007998,19.594924,37.1701203,67.8309131,37.0013006,47.657498,24.5725796,7.1217259,11.4230446,10.2233461,34.4299682,9.8755817,1.0443924,1.1341835,15.6557371,12.0766716,76.2022006,19.3613301,37.1317742,67.7100712,37.1317654,47.9932083,24.8090407,7.535409,12.1151907,10.9448425,34.4600818,8.9085058,1.0759217,1.1519981,15.3060544,11.5251937,76.7825929,19.0121713,37.1173942,67.0783896,36.8770042,47.2353368,25.0326605,7.3535526,11.7684723,10.8053429,34.5835975,7.9967851,1.0606725,1.1364139,15.1861497,11.3762364,77.1823974,18.8999928,37.1106477,66.3946671,36.2615206,46.6686044,25.1577278,7.5005097,11.5366654,10.1534055,34.0032856 +581,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7407898,0.7529375,12.3048907,9.0270552,74.8681435,20.7882535,37.5651721,67.1793535,30.5787278,43.3003128,18.5349322,4.6663191,12.7145923,10.4613734,37.2156013,3.5984848,0.7464092,0.7584516,12.131402,8.7687532,74.2924528,20.4661885,37.2159091,66.8130165,31.3274793,43.517562,18.6725207,4.6229339,12.7358491,10.0104822,37.1686108,4.3071161,0.6784587,0.6909151,11.6,8.6133333,73.5086768,21.4816782,35.2704874,67.3540439,32.3245849,42.8227102,19.0948045,4.2046063,12.1621622,9.6756757,36.546841,5.075188,0.7139066,0.7139066,11.1644997,7.9988694,73.2813403,21.4326161,35.8042358,68.3171151,32.6559817,43.1883228,19.3188323,4.6078993,13.1517961,10.8468677,37.0911215,5.8943089,0.6863276,0.7133838,11.8307427,8.2037997,73.6919459,22.0011534,35.4810496,68.483965,33.03207,43.2361516,20.2040816,5.1020408,12.8752887,10.2312139,35.9976663 +582,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9523768,0.9654376,14.7687204,10.8711597,78.0294583,7.6385316,30.9702978,64.7151408,31.4018198,39.7130494,19.2755141,6.6800007,11.6778273,9.7716218,36.9644409,6.6099886,1.0200663,1.0252881,14.7716058,10.8658219,77.6089686,7.5125141,31.0482526,64.926916,31.4310387,40.3572174,19.4159674,6.6818185,11.8013769,9.8859137,36.9932606,6.7327271,1.033777,1.0450323,14.7840445,10.9512895,77.2100662,7.474441,30.9583006,65.0294972,31.5715024,40.6564386,19.6389395,6.7953394,11.8425195,10.0604609,36.675468,6.8919636,0.9917606,1.0178453,14.5828436,10.8025362,76.8053642,7.5033494,30.940703,64.9723002,31.6160741,40.8815255,19.7791622,6.6840205,11.3150119,9.70615,36.9248983,6.6072072,1.1173041,1.1312492,14.6737608,10.6728831,76.5942992,7.5012975,30.9808831,65.0111296,31.8138173,41.1550197,19.7277326,6.5167944,11.1255274,9.5775199,37.1060208 +583,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1953863,1.2159666,14.9860378,10.8820774,76.6893687,7.2875507,30.8524081,64.9524968,31.7233027,40.8658174,19.4142408,6.5278737,11.0898004,9.5851074,36.8743229,6.9435478,1.2086176,1.2350979,15.1818516,10.9304616,76.7555118,7.0050563,30.8898841,64.9685069,31.9904037,40.7824428,19.4016213,6.3329061,10.9859582,9.5344078,36.663597,7.3950332,1.1769892,1.2068834,15.3590856,11.1374249,76.9194949,6.8784816,30.7589056,64.9764462,32.2560823,40.8903965,19.5760043,6.3590109,11.0498596,9.5201642,36.4465794,7.5416719,1.1617591,1.1881931,15.2056151,10.9881548,76.9884358,6.9034519,30.7645158,64.9174811,32.4146741,40.726486,19.3367383,6.2741504,10.8754024,9.4643203,36.607311,7.4811083,1.1518691,1.1725376,15.3845144,11.1066752,77.2619317,6.7404586,31.0649947,65.3118535,32.3609114,40.8918348,19.3641142,6.3518219,10.9129782,9.6461926,37.5082597 +584,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2819213,1.3308875,14.9266876,10.7759456,69.3531056,14.0519552,37.7794045,67.7216767,34.8231077,45.3398383,26.0861189,4.1797349,14.0102642,10.1183054,45.530375,9.6982717,1.2494978,1.2731808,13.9047666,10.1383511,68.1581883,14.2660055,37.6523203,68.376232,34.9074959,45.4054366,26.124567,4.3914696,13.6384643,9.9460021,43.859418,10.1239628,1.1427078,1.1800565,14.4133411,10.3649203,67.7526194,14.850398,37.7551923,67.8600852,34.8581454,45.7438304,26.6323023,4.2606963,13.9658656,9.8399343,43.0559101,8.7209269,1.0950658,1.1320535,13.7524166,9.9951855,67.4321055,14.9543922,37.883213,68.2968521,35.1581417,46.009702,27.0316186,4.6958554,13.3237899,10.09569,42.6158162,8.2692339,0.9712401,1.0080807,13.4606171,9.4973488,67.4160131,13.940694,37.5546962,67.7929238,35.2697998,46.0135959,27.5887176,4.5940611,14.2653988,10.9686461,42.0573941 +585,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2043778,1.1968001,15.1960502,10.9946654,77.2971174,6.7279644,30.9959618,65.2340719,32.1784484,40.587451,19.2484238,6.3490944,11.3506421,9.5486872,37.3930951,7.8485456,1.1722526,1.1737955,15.0830117,11.0850214,77.0828978,6.8194158,31.3389439,65.6566914,32.6982884,40.9943145,19.5320229,6.4743596,11.6265147,9.5931274,37.8304645,7.6275133,1.1722624,1.1709392,14.8037655,11.0227683,76.8700471,6.7731638,31.447457,65.7250649,32.880275,41.2569194,19.780172,6.3335279,11.3798531,9.5461617,37.8112909,7.4892887,1.1348015,1.1324688,14.4407854,10.8117207,76.991709,6.8179682,31.3221036,65.7929757,32.8552626,41.2691044,19.7086429,6.3165141,11.6935765,9.7331286,38.0668421,6.8532873,1.1763508,1.170303,14.3404281,10.631105,76.7289859,6.7754245,31.2004967,65.8378535,33.1292109,41.1700248,19.6233205,6.4128718,11.4572627,9.6466666,38.1867167 +586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2346277,1.3043154,17.1744794,12.8156893,52.565098,15.9909364,40.9150783,69.1589575,39.0697989,51.1424266,27.0542933,4.2106625,13.3028854,12.0810863,34.092813,7.5568144,1.2836748,1.341246,17.918401,13.5490612,52.7330961,16.4972723,40.8822729,69.1375555,38.2906557,50.9311771,27.130675,4.3776517,13.688989,12.6740101,34.3184643,9.1346242,1.2871501,1.3579161,19.1231407,14.4470557,52.9000352,15.7438317,40.2455098,68.221206,38.8134153,50.4284189,27.1933381,4.5356213,13.3911614,12.6899737,35.6946276,9.5611465,1.1892526,1.2622994,19.4496933,14.6859924,52.8759895,15.1216023,39.9907002,68.1216725,38.6953491,49.8526818,26.8814807,4.0074015,13.4102461,12.6876584,35.2914094,8.7423501,1.1125054,1.1813021,19.5319025,14.6362667,53.2583178,15.1018118,39.5258603,67.970785,38.5789316,49.4420716,26.8572453,3.6172679,12.4436277,12.12326,35.1391372 +587,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9745482,1.0108713,13.4256304,9.6712076,67.1132998,13.9189761,37.4966817,67.6654058,35.1156681,46.3391041,27.2203466,4.2300187,13.576152,10.5586952,40.8873742,5.9782609,1.0231073,1.0798533,13.7976496,10.2231314,65.8822723,13.9231293,37.0685659,67.9478856,35.4857305,47.2461449,28.241571,4.751135,12.945142,9.9614937,40.281796,5.7620839,0.8964142,0.9312399,13.5852433,10.6246641,64.9398012,14.2269667,36.616786,68.2526072,36.0953859,47.3197924,28.3725966,4.6042095,13.1904787,10.4285639,39.9325414,4.5275608,0.857541,0.8690726,13.8809466,10.9357718,63.8536562,13.641707,37.6375728,68.2471337,36.5187626,47.5925445,28.2711012,4.3890005,13.3624846,10.6310537,39.4400685,4.1338599,0.7977176,0.8095993,13.4670258,10.7186542,62.6377977,13.3106248,38.16495,68.8475196,37.1653005,48.5070942,27.822831,4.5656593,13.3367066,10.8915828,40.6857709 +588,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8830113,0.8978829,16.7668733,13.3800444,85.8081605,11.8326259,31.8533161,66.0345374,30.28626,44.5037468,18.5896525,5.5076387,14.2365386,12.3855183,31.6481674,11.2816132,0.9627961,0.9635228,16.643758,13.1433991,85.7566045,11.9838588,31.7110776,65.8613313,30.660678,45.0163286,18.5457946,5.8006816,13.8639923,12.4764403,31.3272409,12.5000094,1.0760005,1.0953157,17.1699886,13.4246557,86.2866449,11.7028369,32.1463557,65.7575069,30.7647383,44.2949005,18.5922105,5.8004108,13.3997783,12.6640421,31.4669238,14.0504009,1.0770804,1.1192843,16.963921,13.1122623,86.3748341,11.5974916,32.5551339,65.7028625,31.1759293,43.830139,18.8362048,6.1335676,13.6092548,12.4689933,31.0628354,13.1478316,1.0087966,1.0585144,17.7875576,13.8189085,86.3625414,11.2219897,32.2615836,66.0397369,31.4607784,44.1519154,18.818227,6.5639499,13.2330376,12.0995754,30.9239767 +589,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.1084697,1.1557066,16.2942939,12.1399895,64.4220507,12.2525152,33.8655663,66.5402241,31.3073394,42.2988656,19.8923783,14.5642184,11.9116075,9.2199866,39.541182,6.8586373,1.0957732,1.1225928,16.2564596,12.2117074,64.6090231,12.1147249,34.1427386,66.8146174,31.2184514,41.8885925,20.043513,14.7345486,11.8011296,9.0796467,39.0195999,7.7515377,1.0160644,1.050324,15.915547,12.0263802,64.9376199,12.0096387,34.2511035,66.2233102,30.9810208,41.4859301,20.1202931,14.8170065,12.0170898,9.3472311,38.9330049,8.3169177,1.0451952,1.0787778,15.8088901,12.0062348,65.4881322,11.7680534,34.5504272,66.2112899,30.7418414,41.5383292,20.1937374,14.6464613,11.936024,9.3034996,39.0380639,8.8264192,1.0074054,1.0367867,15.8629068,12.1371006,65.8514537,11.6709384,34.4295756,66.2885556,30.9531534,41.7741093,20.8176912,14.664597,11.8485779,9.5713354,38.6995314 +590,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.597619,0.6096388,13.6328071,10.6088954,61.1731365,12.7836197,38.7618019,68.5722254,37.7900453,49.0914115,27.9673812,4.5191974,13.5744144,11.1518232,39.4179936,5.1229487,0.6254252,0.6653603,14.1095817,10.8631331,58.80753,13.570523,39.2579912,70.0854596,38.8545862,49.9952431,28.1594264,4.9814558,12.5000026,10.2739748,39.1142133,5.6722269,0.6328785,0.6890344,14.0141915,10.1621932,57.427055,13.397004,40.0575531,71.7687091,39.6912683,51.1512458,28.8069112,5.4683429,12.8029559,10.8122408,39.2439038,7.0280779,0.540963,0.5754224,13.6802035,9.9746233,56.0969119,14.0020584,39.932001,72.1495789,39.1997936,50.6537791,27.6412159,5.3085799,12.3294936,10.8718556,40.4131613,8.1348874,0.630993,0.6655299,14.0493212,9.7965587,55.0177791,13.5154895,39.65493,72.6273201,39.0250749,50.2051009,27.6351165,5.4850337,12.2117464,9.9160598,41.0053021 +591,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8084396,1.8646403,22.0157477,16.9237325,54.8422781,12.1464082,31.2297162,69.5796327,38.7795848,44.3314374,22.0963953,4.507138,10.4999603,9.4603603,32.5263726,17.3124501,1.8477933,1.9029849,22.4322365,17.1495689,55.9725954,12.1659083,31.7381405,69.5803239,38.8913482,43.9805262,22.4486252,4.6674382,10.3630364,9.158266,32.7698602,16.1372856,1.809516,1.8644955,22.4180237,16.9652916,56.1536743,11.9857099,31.2249413,68.0329688,38.3461454,42.7953441,21.7400368,4.6816157,10.8774901,9.1334043,33.1588731,14.7972037,1.8412895,1.8767627,22.0304166,16.8695497,55.1188962,11.3360463,30.8386656,68.0149631,38.3964755,42.7296954,22.3387852,4.9419862,11.2711803,9.3890099,32.4385194,15.998091,1.7799061,1.7858036,22.4044981,17.4758922,54.9687715,11.0607565,31.1725101,67.6305549,38.6321474,43.0543372,22.7647431,5.0924224,11.2813109,9.6981032,33.1093335 +592,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8104087,0.8168412,14.6837443,10.7876346,72.3911645,19.4730076,35.2954686,65.2952593,32.0465156,45.2952104,21.1182092,6.6877843,11.6823244,10.3229266,31.9535,6.4912281,0.9066964,0.9164468,14.4748332,10.7773494,73.1002765,19.7289249,35.2331623,64.8092192,32.182308,44.3854414,20.6144777,6.6313759,11.6526214,10.1186121,32.1820183,6.8904594,0.8590512,0.8687637,14.1095741,10.3470272,73.4604553,19.8542298,35.430012,65.1629635,32.6769353,43.6042479,21.0716533,6.9674081,10.9297224,9.3384218,31.691504,5.3264605,0.8034233,0.8131623,14.0789334,10.1343202,73.3349855,19.7377029,35.4477095,65.5281107,32.5626758,43.4236823,21.1922656,6.4276812,9.87295,7.8390375,31.7597878,5.9931507,0.7454194,0.8125209,13.7113759,9.711366,73.9214687,19.225813,35.033406,65.0498499,31.9526331,42.4019919,20.6703363,5.7244127,9.8933359,7.6765718,31.5329884 +593,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.9107729,0.960387,16.4995016,12.4107872,69.717765,13.6708046,32.666154,67.7874266,34.9931027,44.7150463,21.3863085,3.0072872,10.5381194,9.515073,34.6707931,10.1904817,0.8904323,0.9276669,15.7584692,11.8862206,69.3312883,13.1557759,32.7449116,67.7449144,35.3367372,44.8469508,22.2346868,3.0918332,10.6440801,9.3436449,35.0169159,8.9941834,0.8329691,0.8702874,15.3375994,11.5708242,69.4221027,13.0526924,33.1933683,67.1958406,35.5284722,45.5243824,22.3781062,3.2056518,10.2215692,9.0928037,34.7871989,7.7464478,0.8210787,0.8618288,15.2783299,11.4259767,69.5665917,12.6747714,33.7749136,67.2930972,35.6644147,45.2762576,22.2324833,3.0704467,10.1585334,9.2445688,34.29353,7.5638221,0.8223474,0.8767428,15.3454407,11.5714851,69.1131325,12.4121996,33.85884,67.422719,35.9336956,45.2502264,22.6098416,3.1224583,10.8136076,9.7302796,34.3436485 +594,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7648982,0.8797971,13.9300781,9.5267745,73.7074881,19.1317941,34.4307423,64.8239093,31.3251413,42.3393664,20.5176581,5.6935977,10.1867569,8.1575225,33.0476971,8.2491301,0.7808086,0.8907556,14.3184601,9.7749024,73.9579068,19.0662291,34.2039244,64.4170444,31.9473416,41.8512245,20.1629729,5.57877,9.5180799,7.7510102,33.1043032,8.7748071,0.8576083,0.9682854,14.2585503,9.6113192,73.4110277,19.4823997,33.2138309,64.2134051,31.7376513,41.9443123,20.2657049,5.4196529,9.2062253,7.3300621,33.7582377,7.8072809,0.7607869,0.8684191,14.1253626,9.3816112,72.5586434,19.1041619,33.4957543,64.8940582,31.6313379,42.9025188,20.699136,5.2754228,9.9917837,7.7777835,33.6235657,7.0933959,0.8476345,0.9559449,13.8143809,9.1741097,72.0215131,19.18873,33.1697909,64.0998192,31.4632966,42.8114139,20.5844543,5.2261083,10.1156145,8.7190147,35.541685 +595,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.8491237,0.9009323,15.3032359,11.4547587,69.3191299,12.3910779,34.06899,67.0601714,35.9166604,45.401366,22.5928859,3.1307754,11.2896399,10.1168004,34.7011866,6.8798202,0.8896195,0.9224525,15.2601942,11.2216167,69.7978928,12.366233,34.3105322,67.3646673,36.3330083,45.4239166,23.2379997,3.3197169,10.7701734,10.0617172,34.1012984,6.5464607,0.8811584,0.9149443,15.3791738,11.1931274,69.745554,12.6416879,34.3245592,67.7805173,36.3478517,45.7694791,23.3701233,3.3619483,11.2505049,10.6203653,34.8051447,6.7361947,0.8779006,0.9067491,15.5366131,11.364096,69.905801,12.6677209,34.2339658,67.6280216,35.8935572,45.5677017,22.9811791,3.2888064,11.5056719,10.559371,35.5214738,7.103271,1.04155,1.0444277,15.7050647,11.4081141,69.4581774,12.5780341,33.7232996,67.6195329,36.0427392,45.0966401,22.8179097,3.2655136,12.0724721,10.9235212,35.1212485 +596,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7030387,0.730663,12.1256606,8.4850264,73.1670673,22.4616293,35.3309481,68.4257603,32.0512821,43.0232558,20.0655933,5.0387597,13.2593458,10,35.7142857,5.9917355,0.8742938,0.9025424,12.5,8.6031175,72.8421702,22.1316425,35.5045872,67.3088685,31.4678899,42.8440367,19.7247706,4.9847095,12.9127358,9.375,35.136742,7.2052402,0.8981375,0.9269393,12.8510379,9.1269841,73.1715006,21.7996289,35.7634543,67.3654568,31.9461827,43.2102628,20.3692115,4.8498123,13.4892086,10.3717026,35.2905569,8.0434783,1.0874772,1.1168372,13.6081835,9.516429,73.2120051,22.2187304,35.6961221,67.6096631,31.8181818,42.3076923,20.3750795,5.1811825,12.6243781,10.261194,35.6516291,8.1775701,1.0636748,1.0934367,14.8580442,10.3785489,72.7243173,21.3830465,35.7142857,67.0652877,30.9308339,41.5966387,19.6832579,5.3975436,12.9299363,10.3821656,34.7631242 +597,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5866896,0.6472004,14.3466978,9.7270131,54.2725423,13.4236443,38.9706526,71.9740485,38.54562,49.9685206,28.0259462,5.9239667,11.8545863,9.6620929,40.351821,9.1085307,0.6687199,0.7137365,13.6303648,8.974834,52.9861649,12.9313447,37.2548714,71.7034484,37.6840295,49.0026416,27.4919209,5.8202397,11.5904414,9.4270768,40.5789539,9.8393653,0.7229833,0.7704116,13.9407254,9.2334657,53.5780189,12.587269,36.744629,71.9825352,36.7446556,48.5050668,26.4742527,5.3480598,11.6219092,9.3685265,42.014634,9.9190364,0.79695,0.8157021,13.9490675,9.1499502,53.05088,12.5549966,36.9984546,71.3430117,35.9221511,48.4074533,26.7196291,5.1932368,11.7309795,9.5511458,42.5341893,9.0726246,0.7472226,0.7497183,13.9939787,9.6798335,52.9131345,12.2640474,36.4337246,70.3305775,34.9488943,47.3226012,25.8748305,4.4270378,12.1597394,9.1333046,42.3780586 +598,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1357055,1.1333086,14.1208644,10.4624972,76.969105,6.6287063,30.9324713,66.1372513,33.0667507,40.8958868,19.4930772,6.2838189,11.4299606,9.8459236,38.2726804,7.0043808,1.1481815,1.1532881,14.0264513,10.3328977,76.9275275,6.8449021,30.4281386,65.6866624,33.4709637,40.3568926,19.3958365,6.3260381,11.6291311,9.8917359,37.942355,6.5047002,1.0865896,1.1146641,14.0729945,10.2833093,77.115694,6.7987732,30.1650065,65.6296137,33.5398397,40.1632963,19.3860564,6.3870357,11.3911253,9.7986002,38.2034752,6.4166218,1.0342657,1.0515774,14.0170175,10.2329539,77.2190483,6.6103859,29.7125923,65.3541405,33.0690781,39.9568401,19.4440024,6.3133441,11.3337344,9.7264536,37.6318709,6.3244366,0.9879661,1.0041,14.027941,10.0999478,77.6308476,6.7024823,29.723225,65.3334462,32.9517198,39.9396347,19.1780703,6.3586948,11.689957,9.9361545,37.4031983 +599,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0356833,1.0901886,17.8445768,13.9831276,86.6562043,11.0597852,31.9775503,65.5891462,31.6435838,43.8335075,18.9288956,6.1903715,12.8098268,11.6002039,31.8872758,12.2351452,0.9999407,1.0357158,17.7971924,13.9510411,86.7285881,11.1018685,31.8983884,65.7404021,31.3736797,43.1791121,18.7335938,6.1888985,12.2672577,11.0538928,31.6296495,11.8371952,1.0855678,1.1165334,18.2227011,14.349951,86.5453673,11.4408141,31.5794996,65.6896221,31.5795043,43.8206035,19.0559928,6.0381468,12.4694911,11.2056119,31.433482,9.6805112,1.0705073,1.137903,18.0907579,14.3827923,86.1595578,11.0136881,31.629205,65.9384805,31.7945,44.3565305,19.5395151,5.9622294,12.3662376,11.443112,30.9477615,9.1716555,1.0340063,1.0910087,17.8696076,14.1443719,85.9506732,11.1149751,31.6046067,65.6532276,32.415351,45.0286308,19.3968016,5.9012988,12.0763949,11.4845473,31.0370379 +600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0871076,1.1659446,19.2999417,14.4382026,52.6271771,14.6706904,39.5516614,67.5779181,38.4419746,49.6564964,26.9306908,3.7444343,12.6303591,11.9237815,36.1709485,9.2282065,1.2006814,1.2491126,19.6240855,14.7615233,53.0626098,14.7308963,39.8036046,67.6247022,38.9951183,49.8550218,27.0273491,3.4534098,12.7077747,11.8159938,35.6199532,8.3903968,1.1488638,1.1900897,19.3661349,14.616335,52.3879851,15.3493858,39.8870334,68.3838608,38.582009,49.6251232,26.9125336,3.4804953,11.937668,11.1725966,35.6840361,9.1379123,1.1633119,1.1952565,18.9867098,14.2837768,52.4364992,14.9621307,40.0905699,67.7838929,39.1502381,50.3557379,26.8710781,3.4823896,12.5322216,11.3142423,37.3713256,9.9326396,1.2747076,1.2920151,18.8256488,14.3256739,52.0623411,15.2741572,40.8213345,68.4137441,39.1658318,51.2084617,27.1186883,3.2595378,12.2597942,10.9308045,35.6875523 +601,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.404023,1.4557064,21.1837284,17.1215374,62.729361,16.2764844,34.2164458,67.9030234,34.9550421,42.790607,21.7565862,3.4842598,10.6636534,8.3494584,35.2464267,15.631929,1.404724,1.4263441,20.820406,16.733726,62.8356777,15.8016498,34.8256516,67.4364026,34.8884728,42.3028447,21.1592828,3.3458963,10.8901326,8.6805492,36.1181703,15.3276809,1.4748005,1.5281378,20.6170203,16.2748805,62.5084576,15.6545693,34.8802602,67.1157872,34.7139096,42.2654412,21.074512,3.2435121,10.7882231,8.9846359,36.4646667,16.406224,1.3915137,1.4424247,19.8445389,15.8376346,61.5921186,15.8085574,34.6655116,67.4471995,35.4049341,42.0246238,21.4260478,3.3274646,10.901976,8.7588665,35.9442398,15.7316791,1.6335175,1.7044274,20.0108562,15.8457027,61.2836047,15.9422858,34.6168304,66.4248661,34.8028199,42.2060714,21.6703683,3.3668155,11.6935216,9.3475021,36.0844196 +602,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.1024973,1.1548824,15.7154082,12.0204401,65.6310197,11.6825321,34.4182709,66.0114601,30.9963343,41.9146874,21.4308459,14.6028951,11.3295039,9.336099,38.8727397,8.9658341,1.0489627,1.1065384,15.7602913,12.0841562,65.5105479,11.6676716,34.4978521,65.3178789,30.4898625,41.7152947,21.2761102,14.6114869,11.9464999,9.4499042,38.4555539,8.9333252,1.0879886,1.1336476,16.1487539,12.4226714,65.4664119,11.2558767,34.6984595,65.3740253,30.0014429,41.4975332,21.1293117,14.5621907,12.2047302,9.9796008,38.7595657,8.4196819,1.1399576,1.2122285,16.1225845,12.4035765,65.5286499,11.2438584,34.5726157,65.4690772,29.7776165,41.8693506,21.0632375,14.7671988,12.2838926,10.0724489,39.5862601,8.2151814,1.0739053,1.1368824,16.2007753,12.4378392,65.1669173,11.1680908,34.4778517,65.847218,30.2654696,41.588783,20.350807,14.6214264,12.1861463,10.163719,39.3309378 +603,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8054191,0.80794,14.0384721,9.7481772,52.6958607,12.5280242,36.3284642,70.1557946,35.7742706,47.4126782,26.5743822,4.0180236,12.470508,9.6632809,40.8516543,6.1966213,0.842845,0.8454489,13.5583959,9.5722797,51.4181072,12.7939473,37.1821382,69.552312,35.755365,48.368197,26.5097696,3.8523338,12.8914446,10.4262203,40.0694491,5.7692308,1.1237132,1.1263654,14.0834195,9.8383155,52.2539979,12.4772597,36.8855673,69.1021752,35.7229069,48.2797017,25.7821168,3.6914651,13.3500246,10.5271069,41.3043671,5.5066079,1.210932,1.2832357,14.9419428,10.3661493,52.9750351,12.3788472,37.6393495,69.5273178,36.4353599,48.7047041,26.4593511,3.5833365,14.4767246,10.6950553,41.8580731,4.6460156,1.2255369,1.2964503,15.1857122,10.6328835,51.6513432,13.123243,37.8392759,69.1734037,36.4367388,47.7154745,26.7358632,3.7108852,14.0286612,10.7205991,42.050288 +604,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.1154874,1.1301846,15.4521652,11.1122397,69.3621852,12.4240465,32.9338256,67.9266485,35.8840509,45.0215037,23.1407499,3.3702124,12.6500904,11.1869368,35.6396289,8.0188294,1.1229096,1.1092026,15.8392715,11.3631808,69.3531532,12.7085782,33.4946462,68.338131,36.2129493,45.6857459,23.6099702,3.3875628,12.333047,11.0809743,36.7144464,8.0854682,1.0688538,1.051281,15.4450828,11.0555407,68.9868091,12.6508402,33.7443018,68.3899574,36.1272427,45.5553267,23.6531397,3.4086212,12.0624906,11.2661389,36.5109139,8.6337391,1.0714183,1.0791235,15.3409136,10.8367844,68.403739,12.525852,34.0646619,68.2447971,35.7023017,45.7799707,23.3571303,3.4117185,12.760082,11.580959,37.3015623,10.1778257,1.0804353,1.0849878,14.7679794,10.5873816,67.8925666,12.5315099,34.5817339,68.6406432,36.1609294,45.8706918,23.3141333,3.4251019,12.542727,11.2323509,37.0570229 +605,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6932759,1.7139951,22.8176146,17.5652475,54.7414037,10.6367235,31.0230032,66.8416695,38.3609115,42.2411858,23.2570263,5.3228453,12.1917136,9.6522761,32.8624257,14.6764833,1.6264419,1.6472879,22.9417149,17.4713745,55.6400687,10.4336203,30.7725088,66.6718878,38.1731891,42.7637501,22.5531877,5.2716519,12.0436274,9.9883373,32.6551299,14.517473,1.7350338,1.7560742,22.8683208,17.3305393,55.7493629,10.6440013,30.578132,66.5572043,37.2704285,42.7988373,22.4842344,5.576464,12.0647651,10.2617572,33.1524527,15.6634952,1.7358171,1.7724182,23.2243318,17.9188782,54.7383678,10.4787747,30.6450438,66.324505,37.3808603,43.5650079,22.2699882,5.5558932,12.9088038,10.974151,34.0212978,16.8542469,1.7240947,1.7609104,23.7534088,18.7936611,54.7412416,9.7642058,30.6541995,67.5540639,37.6139898,43.8477027,22.4817166,5.4674753,12.3670906,10.892424,34.2521162 +606,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.0188226,1.083909,16.3253139,12.4141093,64.9119248,10.9892303,34.2530673,65.8671852,30.6587345,42.0563813,20.5438268,14.6111685,12.4631171,10.4776034,39.8022665,7.3001713,1.0317903,1.0914927,16.1630022,12.2383558,64.3582221,11.0844796,34.2233614,66.2908791,30.9796895,42.5303212,21.0245244,14.4976237,12.4466432,10.4133411,39.5020113,7.6339009,0.9787677,1.0179763,16.0756352,12.3200743,64.1236167,10.8582937,34.3725255,66.5106776,30.9319777,42.9673014,21.0057982,14.7047169,12.5603287,10.2787555,39.6836112,7.3141635,0.9573786,0.9908013,16.0350067,12.4424291,64.2320643,10.8741043,34.467886,66.6202243,31.1504754,43.6637391,21.3707503,14.5899658,11.9328927,10.0483059,39.9377086,7.6829412,0.9865577,1.0292713,15.9916063,12.3205151,63.9980708,10.996909,34.6878861,66.7326886,31.6281955,43.9079319,21.9027462,14.7042735,11.6781366,10.0577977,39.2034466 +607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0569052,1.0697824,17.9985859,14.2707481,85.9773394,11.2742993,30.5323829,65.9257971,32.5767162,45.5313076,19.5032698,5.5027655,12.0201126,11.6251295,31.1565778,8.8957437,1.1429578,1.13736,17.9853898,14.2773409,85.8062085,11.5447854,30.7166794,65.6639264,32.7781661,45.8413863,19.7627962,4.9496948,11.8886311,11.5496462,31.9154193,8.7002279,1.193676,1.1750205,18.1206312,14.3617675,85.6502625,11.5620448,30.968915,65.9210118,32.2129998,45.4904391,19.7249293,5.0119948,11.9263969,11.8251415,31.7266293,9.5660938,1.277894,1.2588462,18.2574684,14.2806091,85.6240598,11.3536791,31.2438726,65.664523,32.1446476,45.2653082,19.9732433,5.1484992,11.8089746,12.1910371,31.8336391,10.19804,1.1196625,1.100073,17.7863461,13.9440091,85.4645393,11.1013181,31.4689299,65.8783423,32.4700001,44.657098,19.732253,5.4679517,11.7133461,12.6624022,32.5388299 +608,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.0365517,1.0854026,16.4209515,11.7711121,58.7039037,9.5744632,37.1375162,67.1259747,39.5477097,45.0307111,26.7572601,4.585173,11.6100903,10.0271393,39.688913,9.6612734,1.0797135,1.1109004,16.1587418,11.3972865,58.3566748,9.4851007,37.4160077,66.9812,39.7776441,45.2519527,26.9614682,4.7183774,11.8804997,10.0259501,39.7924382,10.064818,1.113103,1.1378619,16.3646745,11.5221171,58.1111631,9.4435742,37.132681,66.4476845,40.0611447,45.0656799,26.9732216,4.7387397,11.4871727,9.7317584,39.4270151,9.8701701,1.0128152,1.0317271,16.2424388,11.2509342,58.2600291,9.0432704,37.116138,67.1719454,39.9950015,45.0026173,26.7664012,4.6477503,11.1212891,9.5852948,39.7068075,9.5545684,1.013871,1.0216749,16.1137572,11.1718696,57.9357046,8.9196773,36.7922469,67.2063524,39.9584704,45.0427153,26.7962821,4.571755,11.3044403,9.7885833,40.0513034 +609,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.7257467,1.7994408,20.1618908,15.7191166,60.8635504,16.4453623,34.4980861,66.4671841,34.9227695,41.833962,21.3320254,3.4169882,11.2159911,9.2522673,36.1450895,13.8522391,1.5107611,1.5830938,19.9421919,15.2408395,60.5710701,17.0050716,33.6454396,67.270923,35.5577664,42.3705077,21.9720925,3.2470121,11.1582874,8.8417079,36.1046661,12.7048872,1.5077419,1.5695848,20.1536603,15.5437252,60.2959408,16.1711432,34.3801571,67.2619115,35.6937611,42.5903156,21.4490884,2.9761899,11.7813727,9.75709,35.3350211,14.9708677,1.3468134,1.4111883,19.8481142,15.2504112,60.4031182,16.6387652,33.8247919,67.8845964,36.0897398,43.4401732,21.1324714,2.9700845,10.974598,9.533912,34.4017746,15.079292,1.23196,1.2576306,20.0041083,15.3672574,60.2115846,17.3213467,33.2837077,68.2049946,36.048475,43.8324114,21.2887942,2.9987188,11.3311063,9.4776784,34.4492198 +610,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3214572,1.3519746,22.4509945,17.2666703,46.2590866,17.793627,43.2956685,69.2524325,40.121572,51.275576,27.6030289,3.5449294,13.6363542,11.9207227,35.5698298,11.4734783,1.4722599,1.5030212,22.8475397,17.9028166,45.7260446,16.764587,43.2136684,69.5515404,39.835507,50.5381096,27.5485126,3.393109,13.1999717,11.6615283,35.0339932,13.3570008,1.5310457,1.5619182,23.4522965,18.3270552,45.5242471,16.0937707,41.9206162,69.0292693,39.1387264,50.6806648,27.596859,3.3885565,12.576855,11.0940354,35.5328341,14.0288077,1.6692674,1.7278322,23.7039758,18.5490509,45.4863973,15.8274246,41.0297711,68.8507133,38.7611266,50.5522291,27.447698,3.3283415,12.4999745,11.327153,35.8695622,15.0349989,1.7541595,1.7695833,23.1576897,18.3633843,45.2070521,15.4158879,39.6608887,68.036012,38.469687,49.9541754,27.0768998,3.2223441,13.1183205,11.6227926,36.8537088 +611,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.9612595,0.9762444,15.9707772,12.2268668,63.8098596,10.8369981,34.5826371,66.4223949,31.8606972,43.976826,22.0616982,14.1610824,11.2666101,9.7171174,38.0348003,8.0016653,1.0538333,1.0607036,16.1516667,12.3671182,64.2213032,10.8805028,34.2806553,66.385546,31.7009261,44.2877394,22.4450738,14.2523043,11.2657842,9.4916691,38.5561394,8.4667313,1.05733,1.06423,16.1398263,12.466184,63.7116556,10.8091037,34.7947025,66.2888533,31.3587131,44.2757358,22.1628152,14.0219571,11.0319713,9.1477577,37.4816839,8.9817949,1.0849224,1.096852,16.3930952,12.5300715,64.0330681,10.8034218,34.9893474,66.3326269,31.2366768,44.072498,21.9118702,14.4633989,11.2259697,9.3440204,38.5982986,8.7770459,1.133124,1.1479684,16.3958556,12.4317163,64.1357167,10.8106245,34.8871721,66.1988773,32.1227109,43.8293413,21.8970395,14.3370959,10.9682001,9.2683609,37.8862938 +612,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.3785607,1.4040307,22.8233679,17.9342178,48.70987,13.232669,37.9957787,67.6443957,37.4377922,47.6775759,25.1922831,3.5967443,13.9624482,12.3655865,35.5724399,15.6585795,1.3909398,1.420541,22.8564809,17.847459,49.1044695,12.6483151,38.0617884,67.5907419,37.2586906,48.1003846,25.057927,3.513515,14.234048,12.5587994,34.7943031,14.8666647,1.4792503,1.5106877,23.1258658,17.9595296,48.9800981,12.0855633,37.9573878,67.5473091,37.216055,48.0677958,25.4021786,3.3201891,14.0751788,12.7099662,34.5001079,14.5664149,1.6580202,1.6928703,23.120628,17.7198465,48.7453391,11.9427306,38.5977327,68.1009497,37.4598962,48.0688831,25.5528517,3.3894214,13.7232599,12.3767431,34.1142719,13.8095416,1.6495373,1.6698685,22.7415635,17.5726628,47.9706602,11.9363166,38.3897896,68.1287314,37.7573816,48.2649279,25.5148054,3.3484643,12.9685706,11.8403635,33.5299371 +613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8630717,0.9742278,13.7712711,9.1008226,71.7738425,18.6554215,32.6391899,63.9412461,31.4116485,42.6786358,20.4953848,5.0635678,10.8974433,9.110357,36.2812934,7.8181511,0.8818757,0.9345295,13.9455832,9.3650812,71.0222159,19.2480742,32.365048,64.43274,31.7245901,43.3439999,21.1573586,5.9240622,10.5525429,8.9301961,35.2106361,6.4202335,0.7058671,0.7058671,13.7314176,9.4098532,70.9379586,19.8566684,32.4647865,65.0469392,32.2300257,43.0281611,21.6666605,5.6103284,10.074286,8.9767492,34.7887426,4.8262567,0.6623477,0.6623477,12.8101195,8.8501928,70.9420424,19.4654612,32.5263703,64.8370071,31.4237615,42.3058467,21.3566579,5.2013468,10.5238155,9.78054,33.9251539,4.1501993,0.5620873,0.5620873,12.8762532,8.910651,70.4556615,19.9857046,32.8275606,65.5828572,30.9489319,41.8352655,20.9296703,5.2264012,10.4385113,10.3530613,35.1104785 +614,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3195317,1.2976102,18.2544849,13.8812866,52.0100653,15.7292349,41.0112746,68.3797267,39.0268725,51.522496,27.0250247,3.3223463,12.3850672,11.2621262,36.4229448,13.498104,1.3735031,1.3306668,18.6234144,14.0348328,51.7406491,15.84421,40.8876299,68.9467677,38.749345,51.6227259,26.8421431,3.5952659,12.8376224,12.0881614,36.3687062,11.8755667,1.3422275,1.2885865,18.6986051,14.2401907,51.7538438,15.9158748,41.0696481,68.604858,38.9486887,50.9442763,26.6795421,3.6568474,13.1676226,12.4066719,35.9073621,13.2202453,1.3149842,1.2840429,19.0719997,14.5003472,51.2640523,15.6635667,40.5768623,68.6545507,38.2971316,50.2244357,26.6457798,3.9592165,13.2695194,12.6256788,36.2443659,14.6595962,1.3808192,1.349201,19.8324417,14.9454138,51.3148246,15.0939273,41.0089413,68.6325626,38.635592,49.4841761,26.5097873,3.8828946,13.6821472,13.2489241,36.6831721 +615,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.0949658,1.0940749,16.1822589,11.294228,57.5680532,9.0841816,36.7414636,67.1868405,39.9829056,45.2641444,26.9060411,4.5289368,11.3843342,9.9797808,39.6879017,8.9159356,1.0196602,1.0260896,16.1683523,11.2408451,57.3293779,9.2756027,37.0974777,67.2470358,40.3783261,45.1239959,26.7031532,4.6804515,11.3746434,10.1553053,40.1606212,8.6008927,1.0520229,1.0477383,15.9080208,11.1250765,57.3072778,9.3208202,37.3443931,67.6370608,40.5943894,45.3529252,26.8756023,4.7433511,11.4387001,10.1518212,40.4027223,8.3788133,1.0896909,1.0958154,16.0707899,11.3480696,57.4629263,9.3298429,37.1763174,67.3452085,40.4858253,45.1473669,26.7937786,4.6968594,11.4052732,10.1931986,40.6040474,7.7027193,1.1075074,1.1145433,16.0232868,11.2658631,57.4686088,9.3348027,37.5338044,67.1378152,40.358512,45.0288522,26.9446372,4.5611165,11.3658507,10.1954488,40.9286143 +616,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1152596,1.1995683,15.3560849,11.5621045,77.1232675,18.4780315,36.6551542,66.4327294,36.0073395,46.5018238,24.5627343,7.0071276,11.5077561,9.5735229,33.9660473,7.4959016,1.1978557,1.2602237,15.5617004,11.6533702,77.1017276,18.2368617,37.5287262,66.523912,36.6095681,46.5322646,24.242746,7.2592435,11.6264021,9.3128825,34.8156182,7.2567977,1.1382194,1.1983044,15.2821656,11.5726138,76.6221987,18.0533586,37.8891333,66.629838,36.3828049,46.6258227,24.3924503,7.2203228,11.5273174,9.390551,34.5481077,7.7464969,1.0780369,1.1362076,15.1442794,11.4752561,76.5380073,18.1687426,37.6804528,66.7089283,36.5684748,46.5762733,23.868515,7.2863785,11.9525924,9.6417077,34.6761216,7.9230935,0.9915167,1.0512362,14.7096943,11.1224168,76.1054345,18.1574599,38.0214235,66.4130027,36.2739585,46.739947,24.0229272,7.3186722,10.9922226,9.0537429,34.5671917 +617,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4629091,1.4234465,20.3072382,15.1694694,51.2628729,14.7712582,40.3894865,68.8301742,38.5627602,49.2850729,26.1555029,3.824911,13.7393639,13.285162,36.263227,15.092651,1.4154879,1.4098172,19.9280094,14.8397007,51.2755918,14.7906871,39.5433256,69.1541631,38.2562459,48.983386,25.8315407,3.8161532,13.7883228,13.2751013,36.4336613,15.4846459,1.444769,1.4819962,21.3046751,15.652341,51.6378688,14.4083699,39.8437754,68.9608423,37.6450303,48.840226,25.8884376,3.8631539,14.3993278,13.2636305,35.063567,11.7289458,1.5652078,1.6604294,21.3934725,15.6640642,51.8834621,14.1982052,40.1152882,68.0889416,38.1954225,49.3022023,26.0721155,3.5578548,14.1699567,12.7010208,35.4086282,14.5348731,1.4513476,1.5479405,21.6832611,15.6052403,52.5476577,14.7277012,39.9795192,68.6644556,37.9607938,50.0367968,26.2276284,3.2951187,14.1248325,12.5575268,36.4647728 +618,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.084811,1.1146796,15.5435474,10.8391608,72.2911227,21.6207559,35.0324675,66.2012987,32.1753247,41.0064935,20.6818182,5.1623377,11.8339529,9.7273854,36.0523039,8.4183673,1.1322436,1.1322436,14.9106003,10.7598978,72.5228162,22.3397436,35.6586632,65.7040883,31.9597664,42.6670993,20.4737184,5.3536665,12.0277078,10.0125945,36.6792929,7.0680628,1.01263,1.01263,14.3860721,10.5375687,72.1774194,22.4421437,36.8761553,65.7116451,34.0418977,43.1608133,21.0412816,5.9457794,11.6209774,9.7139452,35.1497006,9.0673575,0.7987851,0.8264859,13.7249115,9.8878394,71.9314079,22.4689165,36.034689,66.5370813,34.180622,43.2715311,21.9198565,5.8911483,11.1819235,9.7914253,35.8391608,7.5609756,0.8591936,0.8868179,13.6256622,9.682166,70.3003003,22.7299528,35.7653365,67.2126266,35.0506254,42.6742108,21.9475878,5.9261465,10.6395349,8.7790698,35.6140351 +619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6312643,1.6702811,23.423613,18.565384,48.9216316,9.804247,33.8419935,66.9355738,35.8447059,47.8415501,23.2645442,4.3456902,13.0802034,11.104517,32.1835914,19.0088898,1.6463103,1.6859497,23.4623533,18.5380304,49.0378708,9.8546503,33.2646556,66.9707555,35.7759341,47.7241406,23.2980039,4.2279714,12.6949192,11.5307637,32.0826877,19.5684582,1.6326027,1.6630538,23.8761952,19.1714236,49.4519626,9.9230021,33.1284093,66.6569028,35.255641,47.1213823,23.6631395,4.1861807,12.5350973,11.2469871,32.3719424,18.2422533,1.4990902,1.5468194,23.527768,19.134412,49.4308083,9.415888,33.9199926,66.9840298,35.1125053,47.3841042,23.533359,4.0103848,12.6439044,11.5979278,32.2883621,16.7391377,1.4976324,1.5527444,23.3405392,19.0124825,49.1811164,9.4663897,34.1202285,66.8127787,35.0159006,47.1265009,23.7265202,3.704037,12.4951176,11.343482,32.464414 +620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.145817,1.1592259,16.1932016,11.3690084,57.4050054,9.473416,37.6909386,66.4676159,40.4241578,44.7256722,26.622032,4.5612842,11.5958554,10.3731246,40.7437233,6.9521352,1.1062293,1.1182723,16.1619205,11.341481,56.8395892,9.6288687,37.8101312,66.4950641,40.9179301,44.7614936,26.6696691,4.7162693,11.4969115,9.7939439,41.1434279,6.7453018,1.0685968,1.0898968,16.2422193,11.2801334,56.5195758,9.4150801,38.311017,66.6766624,41.2095629,44.9366722,26.635116,4.7152623,11.7662182,9.8782051,41.4483044,7.4478357,1.1477627,1.1374561,16.2937384,11.1532883,56.7788146,8.986108,38.279151,66.8673848,40.995148,44.8680797,26.5662346,4.7395415,11.7842853,9.4503606,41.2485375,7.740386,1.1189708,1.1105722,16.8074802,11.3191646,56.1622281,9.1151152,37.9933165,66.8363539,41.2967717,44.418532,26.4675735,4.6803335,11.6823183,9.5718251,41.2023821 +621,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9927044,1.0509807,14.77636,11.368513,76.2638008,17.9042972,38.1305951,66.6760141,36.417899,46.8970824,23.3796934,7.1546617,11.1723503,9.1618318,35.1146632,7.9792417,0.9401317,0.983074,14.9558823,11.3789143,76.1524359,17.3591163,37.8178679,66.7050899,36.5104653,46.4931456,23.2600268,7.3232887,11.1898748,9.2612081,35.8449871,8.1097533,0.9849892,1.0102608,14.576142,11.0484714,76.0793589,17.3780386,38.1684935,66.6306978,36.7187491,46.6674202,23.5213656,7.3737404,11.597332,9.4823918,35.7948153,8.3660201,0.9806535,0.9859111,14.5217447,10.8334291,76.0396562,17.2788191,37.8489542,66.4463251,36.5424168,46.6848295,24.0652789,7.1941556,11.390453,9.5495596,34.5846107,8.3550114,0.9403522,0.9528778,14.3382457,10.5951101,76.157423,17.4686722,37.8387842,66.3325619,36.6355223,46.7112448,24.5550587,7.0992796,11.2627806,9.8488931,34.0612579 +622,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1994107,1.2252505,19.7151215,14.760536,59.197411,17.3392074,33.611121,68.3974085,35.8760522,43.9957256,21.8589483,2.8418755,11.5580222,10.4660973,35.5319849,12.2610828,0.9274817,0.9337925,19.1295504,14.5141647,59.058274,16.8993702,33.2568003,68.2880675,36.0125069,44.1127248,22.7348465,2.9436272,11.2177045,10.550449,35.7442063,12.3436798,0.8498809,0.8560813,18.8420219,14.26582,59.1942365,16.9693125,33.6558391,68.6496195,36.7434918,45.0596737,23.4046679,3.0671011,11.5448047,10.4765723,35.1563087,13.1920847,0.8784477,0.8784477,18.2684771,14.0661446,58.9585101,17.5954544,34.1604008,69.2139414,37.2965135,45.1964799,23.4815069,3.3941993,11.5323362,10.7342204,34.2777832,12.9807051,0.9289943,0.9649397,17.8211971,13.4481346,58.5630052,18.2954681,34.1105156,69.4161092,37.5979281,45.9443354,24.3925962,3.5462329,11.6379358,10.7758441,35.7031085 +623,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9700202,0.9943225,14.7259251,10.9998081,76.2734797,16.8149992,37.5453634,66.2368851,36.674979,46.9300846,24.8855322,6.8127592,11.0277,9.8179349,34.5694438,7.0184232,0.9915595,0.9983404,15.1951968,11.2285482,76.9062665,16.3368097,37.3617232,66.6957467,36.6986423,46.945249,24.9213261,6.449297,11.1268702,9.8954311,34.4852639,7.5550605,1.0001804,1.0021203,15.5127062,11.3615282,76.5198632,15.8934709,37.7079029,66.664043,36.8366881,47.5289147,25.4474888,6.5499749,11.2393399,10.1043621,34.68511,7.8276549,1.085316,1.0916895,15.6514267,11.5017235,76.5931756,15.8994126,37.9059322,66.8773049,36.6261372,48.3202738,25.4599207,6.3589799,11.2082759,10.0381826,34.6608935,8.4359483,1.1004459,1.1290454,16.0087035,11.7064161,76.8610844,15.685469,38.1381139,66.4546545,36.5025581,48.0670818,25.2354175,6.5669908,11.0873253,10.1748028,35.0099392 +624,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1022743,1.1358051,16.0658715,11.8220605,77.3087382,15.4970195,38.1179822,66.2058036,36.2577476,47.6034925,24.5768343,6.561086,10.8296618,10.08161,35.3253245,7.6292434,1.1675648,1.2074356,16.8842942,12.4380169,77.7636536,14.8704678,38.3016331,67.1015059,36.3995931,48.1316328,24.3982469,6.6066333,11.1130347,9.9001432,36.1033836,8.5171457,1.2133191,1.2596246,16.8032839,12.0960715,77.5760984,15.1827938,38.2918471,67.0551042,36.8000609,47.9804131,24.6814368,6.83035,10.9872424,9.7397475,35.5902986,9.2105263,1.1959407,1.2494097,16.4660294,11.7660988,77.1647125,15.4331495,38.2356401,66.785959,37.3044846,48.0962966,24.7172354,7.0751332,11.5186932,9.8463472,35.4206953,8.8014959,1.2703765,1.3471408,16.5054359,11.7044431,76.7795996,16.2338517,38.0789226,66.8503902,37.7999549,47.8725421,24.966956,7.172147,11.2150283,9.3026515,34.9653439 +625,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7113692,0.7641675,13.0912162,9.3186937,70.9537572,22.4773243,35.0459242,66.2743972,34.0700344,43.2548794,21.0964409,5.5396096,11.0555556,9.1666667,35.1396648,6.7099567,0.849123,0.900484,12.2319956,8.4387026,71.1092247,22.2560976,35.4703247,66.6013438,34.518477,44.7648376,21.3045913,5.7390817,10.6557377,8.579235,35.1098901,6.25,0.9157825,0.9631983,12.3729675,8.5111789,71.2610735,21.8510964,35.043837,66.2970603,33.084064,45.1005673,20.6034038,5.8019598,11.5305067,9.3588418,34.4594595,7.0342205,0.8433391,0.9353777,12.5614553,8.4316618,71.8512898,21.478003,34.2092092,65.8408408,32.8078078,44.6696697,20.3953954,5.5805806,10.85,9.25,34.0886203,6.6308244,0.7870079,0.8792163,12.722332,8.2756917,72.3377282,20.5809335,33.7098394,67.3945783,31.9528112,44.6536145,20.3062249,5.5973896,10.2971311,9.272541,34.2430484 +626,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.69578,1.7456122,22.8121075,17.4796045,48.2744719,12.3944772,38.6359588,68.1436485,38.038703,47.9660599,25.3994737,3.2203404,12.6040851,11.5857836,32.4200961,14.5833619,1.8044697,1.8394899,23.069091,17.8677719,48.8668412,12.2336564,38.8226321,68.0866359,37.7596672,48.2444462,25.6482062,3.1164467,12.3203155,11.5910752,32.9337598,15.1084261,1.8049837,1.8201063,23.0882193,17.9283172,49.3676278,12.7356454,39.2976077,68.2194498,37.8961299,48.3595814,25.5374597,3.2091109,12.3689621,11.6541492,33.5040639,16.3058435,1.8814737,1.8722709,23.4415884,18.2953067,49.2420671,12.8082512,39.6409595,68.2192092,37.932928,48.4500944,25.3439373,3.2816744,12.3743245,11.4475493,34.4290918,16.8027347,1.8522944,1.8364955,23.3815246,18.4145748,49.3095973,12.987918,39.6012076,68.1999011,37.5039806,48.7686871,24.8411174,3.5668946,12.3000666,11.1590077,33.9083849 +627,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.8489845,1.833644,23.8374973,19.0151896,49.6441086,12.9482021,39.3971416,67.6014312,37.6838747,48.6423126,24.8989938,3.6609076,12.389523,11.06571,34.075135,18.6497544,1.925818,1.9090512,24.5219052,19.5906457,50.2753139,12.7072178,39.6138979,67.2776259,37.4959435,48.8351226,24.4460828,3.5760878,12.6026934,11.2733901,34.7083907,19.0629115,1.8659751,1.8793793,24.9243021,19.9027671,50.0756867,12.3962178,39.9357276,67.0211063,37.5948037,49.0356104,24.7362483,3.6350161,13.114484,11.156897,35.7878827,19.4408453,1.9355372,1.9644581,25.5169865,20.1696369,49.4642293,12.7076798,40.3379083,66.4863559,37.6082116,48.5269634,24.9417643,3.9530644,13.4811218,11.3062126,35.718987,20.2702805,1.8768826,1.9141397,25.6429491,20.3511479,49.2014672,12.5355889,39.6289078,66.1498144,37.4258816,48.4239849,25.0720446,3.9230678,13.1825832,11.0794655,35.7022118 +628,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7950148,0.8628574,12.5424551,8.1271228,72.4454365,20.5782313,34.1744243,67.7853993,32.5085742,45.933366,20.0146987,5.4630083,9.9186165,8.3926755,34.202454,6.1837456,0.8572567,0.9244911,11.8852459,7.5940212,72.4384236,20.1496139,34.088694,67.8606238,32.3830409,46.3206628,20.4922027,5.7261209,9.2441267,8.6312564,34.1025641,5.2727273,0.8623105,0.9232768,12.5429553,8.3210604,71.7184369,19.8576338,34.2666006,68.3102081,32.4331021,46.35778,21.0356789,5.7234886,9.8029046,8.8692946,34.7395833,5.8935361,0.7449096,0.8064102,12.1234568,8.1234568,71.5465465,19.6218075,34.2679901,68.5111663,33.1761787,46.4764268,21.662531,5.9801489,9.8746082,9.3619247,34.6113445,5.5102041,0.6350544,0.7459542,11.9868221,8.1348201,71.1746522,19.7315096,34.4994893,69.3309499,33.4780388,46.6036772,22.4974464,5.7967314,9.4187298,8.3512931,33.8203463 +629,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.1575646,1.1769515,17.0178647,12.8593394,64.4446015,10.5835893,34.6894361,66.3645325,32.0896608,43.3178806,21.6765057,14.3830822,11.1159096,9.8240029,37.849239,9.8997502,1.0870537,1.1119632,17.4215298,13.3053413,64.1031086,10.6471967,34.8282609,66.3954939,32.1165363,43.4640547,21.4782379,14.2330713,11.4306047,9.8569365,38.2938746,10.0000008,1.0432893,1.0805236,17.9143984,13.8518994,64.091292,10.553822,35.2791217,66.4438337,32.1364598,43.2046894,21.4266024,14.39697,11.8756994,10.0624422,38.473647,9.8142165,1.0240126,1.0603118,18.0136535,14.0546077,63.9102483,10.324905,35.3441142,66.3833596,32.0273646,43.1384743,21.1235503,14.7111678,12.0558294,10.3861333,38.8414443,10.2245381,1.0575504,1.0857063,18.3683333,14.4307802,64.4045079,10.1986299,35.0612283,66.2747027,32.6816068,43.035069,21.187037,14.688284,12.1536654,10.6622901,39.8529801 +630,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6434043,0.7065954,11.6801211,8.1987891,69.7895277,18.8321537,35.4272635,70.1678535,34.3082401,46.9735504,23.1180061,5.9257375,9.1248666,7.9594017,33.494105,4.7717842,0.7665103,0.8300629,11.7721519,8.3797468,69.8195876,18.899036,35.3527607,69.4018405,34.3302658,46.8558282,22.8783231,5.7515337,9.7163866,8.044164,34.5464135,4.5258621,0.8796393,0.9569128,11.9905956,8.9602926,69.5295983,18.0476437,36.166318,69.0115063,34.7018828,46.2604603,23.0387029,6.0930962,10.0638978,8.901919,34.4218415,5.5555556,0.7458405,0.8221457,13.2139148,9.4755971,70.0731835,17.8205128,36.8598034,69.1412312,34.5835489,46.2752199,22.064149,5.819969,10.6217617,8.3506224,34.21875,6.0669456,0.7312521,0.7906345,12.9040534,9.1585428,69.68361,17.6634567,37.4743852,70.0563525,36.142418,47.1055328,22.3616803,5.8145492,10.3850051,8.1643002,34.5723014 +631,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5069414,1.5433171,23.8714125,19.6880515,49.5677832,9.5437885,34.4594523,66.9459364,34.4415821,47.1624093,23.2883302,3.5765596,12.1801238,11.6653421,32.1576592,17.1936782,1.4847896,1.5185102,23.9673049,19.6158212,49.4559395,9.613814,33.7792449,67.042725,34.7237588,46.8084979,22.9888096,3.5938923,12.3779135,12.0168289,32.8179587,17.4967018,1.3646672,1.3934695,24.435987,20.1698301,49.8694751,9.8943475,34.3472532,67.3739425,34.2451491,46.9071236,23.6792712,3.5531492,12.1184144,11.6260504,33.1132602,16.1431845,1.3150002,1.3503472,24.423549,20.2085309,48.9783925,10.0921972,34.9736645,67.6060347,34.2179701,47.5272727,23.8169568,3.6394819,11.8455842,11.2038811,33.3507585,16.0263803,1.2900239,1.3331486,24.0010323,19.6591146,48.8683041,10.343584,35.1713524,67.9463787,34.2253093,48.138817,23.2743961,3.652841,11.6623147,11.0350111,32.1615218 +632,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1900003,1.26991,16.555473,11.7765773,76.8759475,15.6725008,37.3732117,66.9738642,38.0040682,47.3788455,25.2445506,7.109624,11.2896763,9.2086348,34.4205023,8.3436331,1.1695921,1.2277871,16.8820401,12.0702956,76.8654644,16.0351286,36.6947547,67.2591708,38.2466664,47.5562683,25.5169972,6.8484645,11.1784231,9.1302136,34.4009744,9.0073507,1.1845837,1.2433073,17.0896239,12.3458156,76.7015622,15.9186985,35.9204233,67.3522734,38.3876299,47.566912,25.7171202,6.8551013,11.7717058,9.3619904,34.9421974,9.8894349,1.1282046,1.1657701,16.4231921,11.9208368,76.739929,15.9894593,36.2162241,66.6698743,38.5421643,47.1653829,25.8611971,6.611707,11.6258072,9.0767398,35.3214488,9.586465,1.144994,1.1871738,16.4273849,11.9634366,76.9391377,15.5397335,36.3393698,66.5660599,38.2764619,47.3543322,25.5834146,6.5622872,11.6089788,8.9069419,35.1167433 +633,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3761414,1.3923176,24.0026782,19.4389954,48.9343224,10.5612777,34.7880447,67.9831461,34.4769599,47.9328686,23.3180236,3.7566444,11.6848583,10.8518453,31.7124802,17.3119141,1.4034733,1.4261317,24.1607982,19.5567728,49.1432438,10.5956758,34.7022849,67.7196631,34.1625703,47.3373338,23.1761852,3.7423281,11.919616,11.1527231,31.4694606,17.5986558,1.3379803,1.3604664,24.3808595,19.7087734,49.0776108,10.6429658,35.069314,67.7044655,34.3180704,47.8401635,23.3241545,3.8644825,12.2254489,10.8558035,32.3652787,17.6633268,1.3454522,1.3770567,24.084591,19.4870747,49.0028384,10.6935137,34.8177706,67.1185458,33.856771,48.0563937,24.0317869,3.8080776,12.2410331,10.9895089,32.0452768,17.1536673,1.3361089,1.3679114,23.5560853,19.0425156,48.4901031,10.6442641,34.2570085,66.765161,34.0698423,48.2938008,24.0497311,3.9375005,12.5941737,11.1449098,32.2283286 +634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.0411508,1.0565638,18.7924558,14.7719358,64.6042114,9.9519894,35.2150876,66.1353176,32.9319244,43.1365735,20.7921521,14.3881395,12.1571382,10.3571437,39.7664981,9.8949854,0.9773622,0.9824333,19.2953946,15.2005052,64.5612271,9.958129,35.2187431,66.2961924,32.5853042,43.3031316,20.7489777,14.3069507,12.7243743,10.8198172,40.4233536,8.9241972,1.0532346,1.0612693,19.0567084,15.0403024,64.2692605,9.9243585,34.9893399,66.2615513,32.5159882,43.0916848,20.8457728,14.2359622,13.4885727,10.8326027,40.9010286,8.4959261,1.111727,1.1139173,19.5329248,15.6906129,64.533703,9.4831243,34.8888902,66.3440904,32.121861,43.0322558,20.4372785,14.2007171,13.5179141,10.8328414,40.8995809,8.2309494,1.1565556,1.1587605,19.5408166,15.7118195,64.4468859,9.5512025,34.4069802,66.2991834,32.1443966,42.8952261,20.2262637,14.3608577,13.4666698,10.7767633,42.4020342 +635,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1869256,1.2257592,16.6983788,12.1701136,77.2689227,15.5168196,36.3932835,66.8572549,37.8167157,46.9343108,25.7288874,6.386104,11.2468871,8.7548503,35.3245211,9.5578698,1.0651541,1.089752,16.8504378,12.5702343,77.9577456,15.1549166,36.4785114,66.5803569,37.4085829,46.7803453,25.9075997,6.3226365,11.5232911,9.2585859,35.6988059,9.4230805,1.165939,1.1878218,17.2468337,12.8237756,77.8742919,15.5031904,37.4600243,66.5446543,36.9594935,47.130662,25.6791893,6.569513,11.6636415,9.6966266,36.1202159,10.4487193,1.2183933,1.2428795,17.5068886,13.1149578,77.7064153,15.4299609,38.1282639,66.3241219,36.8588213,46.9781781,25.433471,6.7316047,11.564733,9.6409149,36.2862243,10.8333361,1.2636592,1.305028,18.1182583,13.7281029,77.6347067,15.4168762,38.5305317,66.0717564,36.3924561,46.9378513,24.9954611,6.6769356,11.113146,9.3360104,35.9178367 +636,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1542994,1.1542994,17.5415793,13.1053527,57.8260943,17.6676132,34.0413669,69.1165079,37.7631211,46.2969676,25.2067274,3.5902167,11.9153643,10.5790552,36.1979364,11.5269427,1.234791,1.234791,17.0929351,12.9142627,57.3301239,17.5170341,34.7196943,69.4210119,38.2740613,46.4822087,25.5587769,3.6460159,11.7754948,10.6749746,35.2832879,12.5000037,1.2610214,1.2610214,17.1811366,13.0088188,57.1902174,17.5661611,35.2706458,69.1359972,38.1158633,46.0617416,24.6876866,4.0076251,11.6702297,9.5289032,34.2048611,13.4393102,1.27004,1.2776188,16.7589581,12.6872992,56.8295855,17.9699956,35.2110316,69.6742969,37.7035364,46.0784148,24.077743,3.9049435,11.5490067,8.9444776,34.2413742,12.8698377,1.2521743,1.2596265,16.4907263,12.5239987,56.5411193,17.7123309,35.2585088,69.6171491,37.2872936,46.0569314,23.2166086,3.9757763,11.0254752,8.813667,33.7263991 +637,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3566217,1.3853523,23.5404599,18.9924721,48.5267549,10.4353758,34.0569111,66.4223611,33.810068,48.0978746,24.0523894,3.9857365,12.8666912,11.1681081,32.4123329,18.8646826,1.3028138,1.3159112,24.1419756,19.6785141,48.2448766,10.5245434,33.8999302,66.1298736,33.9593122,47.8102832,24.7251752,4.0899314,12.8501594,11.0155917,33.0958581,19.2992989,1.2753468,1.2851682,24.7890973,20.4271633,48.529448,10.3195392,33.9137579,65.8602239,33.4162535,47.5878289,24.2347103,3.912232,12.9470064,11.1161199,33.9645567,18.4023712,1.3700562,1.3908076,24.9775706,20.5022062,48.2387757,10.1784368,33.937499,65.6076022,33.4976508,47.8613717,23.8963763,3.7994563,12.5809399,10.8620878,34.0544021,18.390124,1.3734102,1.4305671,25.0592362,20.5124658,48.1984007,9.910166,33.5840045,65.2766541,33.2041942,47.2121051,23.4197541,3.5779149,12.3792173,10.8077715,33.1503993 +638,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6874676,0.7466252,13.2330444,9.4084651,69.2846034,18.0689306,37.3015873,70.0716846,35.4582693,47.6446493,22.094214,6.2724014,10.1823708,7.4392713,35.5182927,7.8846154,0.7771304,0.7888509,12.9367089,9.1392405,69.0427174,18.1841046,37.2394509,70.8947636,36.0193188,47.8139298,21.5302491,6.4819522,10.3222558,8.3081571,36.4415323,8.9353612,0.7909512,0.8145473,13.117677,9.1951095,69.0847634,18.8166582,36.1926842,69.8351365,35.3683668,46.9603297,20.324575,6.25966,11.0376399,8.8922764,37.0162933,9.2885375,0.7872159,0.8109126,13.5294118,9.5396419,69.124544,18.7627291,36.1729674,69.2646297,35.3961678,47.2553081,20.6369757,6.24029,11.0940695,8.9285714,37.0654397,8.5657371,0.8808078,0.8925559,13.7487386,9.4096872,69.216805,19.0899847,35.4630109,69.0894982,34.7904811,47.0512157,20.4086912,5.9234351,11.7795753,8.728557,37.4242424 +639,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.429376,1.476341,25.4502396,20.9168889,48.2431714,9.8215057,33.9701665,65.3353035,33.8644799,47.4857907,22.8404156,3.5412105,12.3453844,10.8479422,33.4011362,19.0290194,1.6592295,1.7054132,25.9961092,21.3131713,48.928636,9.5856183,34.430847,65.569269,33.5539251,47.2133336,22.3616858,3.5151487,12.0994104,10.8342934,33.4106377,19.5336805,1.7093903,1.7463749,26.1463441,21.3004066,49.1967845,9.1566615,34.3842664,65.7640987,33.627594,46.7581571,21.8471812,3.4050455,12.1290051,11.1464948,33.4097352,19.4219025,1.7974716,1.8563181,26.7181526,21.719586,49.4707544,8.8209551,34.8926247,65.9245186,33.7395122,46.7886687,21.5515421,3.3352729,12.2019651,11.1127151,33.0473921,18.8834849,1.8532191,1.9271602,26.9274436,21.9252001,49.2147622,8.6414293,34.9062079,66.0591562,33.6917035,46.5245512,21.9709417,3.4020944,12.0693907,11.2183469,32.9383037 +640,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0806535,1.09253,13.3991895,9.5997974,69.0713536,19.1952845,34.9921834,68.4471079,34.5752996,46.925482,20.7139135,5.9145388,12.3069001,9.4039054,38.4654995,9.5703125,1.121996,1.1099303,13.3178774,9.6084493,69.2694547,19.2786715,34.2729189,68.4141201,33.9041096,46.8124341,20.995785,6.2961012,12.3673036,9.5970308,37.8594249,9.0405904,1.186346,1.1742804,13.6996904,10.0361197,69.8198198,18.9252336,34.2894737,68.1315789,34.1315789,45.8157895,20.7105263,5.3421053,13.5548523,10.0738397,36.8504772,7.4898785,1.1622026,1.1498812,13.8991067,10.0630583,70.037961,18.6705508,34.8843464,66.8908015,33.3243679,45.3738569,20.3604088,5.2447552,13.5969664,10.0108225,36.3685932,8.3333333,1.3358852,1.3109972,13.8326226,10.0479744,69.0983607,18.5965848,34.8214286,67.3971861,33.5227273,45.3192641,21.780303,5.275974,13.4467618,9.7359736,36.1878453 +641,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8412073,1.8879365,27.3006775,22.4200801,49.2221158,8.5068729,34.9449953,65.917817,33.7599265,46.9566627,22.3481241,3.2699241,12.1287693,11.366931,33.3780652,20.1060772,1.8821,1.9065295,27.8920611,23.1725315,49.232245,8.7642351,34.8837563,65.9682928,33.9872291,46.7737745,22.6263083,3.4758845,11.7707479,11.029991,33.9991511,20.028946,1.8919122,1.931751,28.5765162,23.7647263,49.4883825,8.6682938,34.5926859,66.2580027,33.5068447,46.4928498,22.4870743,3.5289667,11.3932651,10.7524553,33.5782661,21.003894,1.8034955,1.8496077,29.2939907,24.5012333,49.5602702,8.6441253,33.9695086,65.5584188,33.2030016,45.9387965,22.4129421,3.4861316,11.4070503,10.6542166,33.3677624,21.8408,1.8280356,1.8828363,30.1709694,25.4234382,49.9463877,8.7752014,34.0219529,65.385336,32.9853837,45.9721153,22.5305826,3.6057835,11.2550864,10.369912,33.5185378 +642,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.2725919,1.2800198,16.862309,12.6744982,57.3009466,17.3849957,35.3914059,69.2269956,36.6360856,45.3488373,23.141169,3.8814188,11.3621089,8.8611727,35.0847264,11.4583402,1.238468,1.2166219,16.7496096,12.5816559,56.6450436,16.9136064,35.2629752,69.7402259,36.481714,44.9166065,22.722899,3.9287918,10.8724471,8.6855904,34.6076967,9.7014983,1.1004256,1.1052826,16.770478,12.5973322,56.483257,16.6927826,35.1751496,70.1114808,36.257961,44.7929906,22.8821765,3.9968096,10.4620546,8.5478442,34.2980679,9.6439226,1.0127513,0.9887089,16.4254887,12.2075179,56.1445307,16.4547117,35.2950463,69.9432235,35.8946104,45.0457644,22.5150059,3.928681,11.1653725,8.2953703,34.7012513,8.54037,1.0317453,1.0268484,16.3281242,12.2031338,56.468867,16.2559182,34.9117184,70.3852533,36.2600415,45.0561918,22.7126945,3.8683757,10.8469115,8.4309776,35.0098652 +643,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.0083206,0.9957401,16.6880426,12.1353076,56.6287205,15.9408384,34.4981752,70.6028615,36.4193465,44.8327394,22.4412074,3.8920146,10.9291467,8.6506245,34.0188871,9.0189788,1.0078866,0.9886314,16.698622,12.0965164,57.1261153,15.6452575,34.5962874,70.9629473,36.44937,44.6889567,23.1469248,3.6234254,11.7309072,9.3454814,35.5092448,8.0696126,1.0181635,0.999295,16.3690494,11.6698012,55.7175472,15.3369229,34.869055,70.9505374,37.0352387,45.796973,23.2622076,3.5079223,11.2818937,8.9810688,35.4635999,7.0312434,1.0694552,1.0605676,16.3532714,11.5752199,56.2217007,15.4679573,35.2762758,70.313018,37.7994233,46.3590058,23.8422237,3.4014702,11.5137993,8.8668468,35.8068882,8.1538361,1.0835367,1.077116,16.3156357,11.7063563,56.0610719,16.1406118,35.4331946,70.5331809,38.3528946,46.6677328,24.1034518,3.189465,12.1415074,9.7010281,35.7925552 +644,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.9929692,1.0011152,16.2945811,11.6434215,55.6082243,15.867204,35.0789495,70.818569,38.4949934,47.2607121,24.5085331,3.0454447,11.1787465,9.814587,36.5546529,6.8313914,0.8849193,0.8648119,15.8451873,11.2322352,55.8413352,15.7529731,34.2656185,70.4775955,38.5508444,47.2849109,24.7464787,2.6333063,10.7558319,9.7742052,37.1736505,5.3680982,0.9756788,0.9555173,15.5953214,11.3204661,54.9185572,16.5046983,34.8246558,70.3867645,39.0527464,47.6401075,25.3523392,2.7695924,10.6957247,9.642867,38.0749152,6.02941,1.0572318,1.0435689,15.5117238,11.1485556,54.1150657,16.7374298,34.7245217,70.4223159,39.0464998,47.9214721,25.321671,2.7878678,10.1046619,9.5877082,37.5000082,7.9819229,1.0724031,1.0504193,14.8302409,10.6025461,53.9916543,16.915005,34.37715,70.106103,38.9630141,47.3819226,25.2737721,2.8918606,9.6544899,9.5932319,37.7133165 +645,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.0660898,1.0396682,14.7455523,10.5325408,53.7934601,16.9064741,33.2350902,70.7524255,37.8467145,47.4167729,24.7399308,2.825942,9.1626817,9.6563691,37.0152416,8.8785019,1.0733819,1.0463973,14.8499663,10.1931831,54.002148,16.1646249,33.2092306,70.5851008,37.6063559,46.5070887,24.3794232,2.8900765,8.6363816,9.0496335,36.7957617,8.540378,1.1787506,1.16766,14.9472055,10.1584609,54.0299071,16.0548892,33.7125338,70.548934,37.648935,45.485728,24.2506098,3.0155313,8.9234374,8.857583,35.5790163,9.531779,1.2924299,1.2907576,15.1833528,10.2705619,53.04653,16.3482381,34.1290129,70.6086106,37.7368561,45.5357089,24.0706832,3.2616627,9.7587969,9.3133926,35.2097122,10.0682628,1.2884044,1.2867192,15.2947601,10.190511,53.8704958,15.1124818,34.0249695,70.5288428,37.5504755,45.4829229,23.8523585,3.1399169,9.9115969,9.5290928,34.9999996 +646,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7091245,0.7346921,13.7447313,9.5863811,54.9111175,9.7246604,31.3576239,70.8532372,41.5009406,44.433946,24.4472803,5.2827466,10.3923778,8.5070622,37.5254627,5.5325744,0.7232199,0.7682237,13.485316,9.5550882,54.3332218,9.6254649,31.1490793,71.0517592,41.2464038,44.1882278,24.6571533,5.2477333,10.1983961,8.6137741,36.8474254,5.6948798,0.7755429,0.8240575,13.5663635,9.8659412,54.1175785,9.7188793,31.08392,71.4736499,41.3252868,43.9492872,24.6955251,5.4085466,9.9351819,8.5679185,36.88783,6.0020877,0.8696738,0.9170444,13.6186555,9.7228404,54.1464759,9.8606231,30.5061125,71.6740823,41.106783,43.7875384,24.5884291,5.3337023,10.1613271,8.6376882,37.0592159,5.9286464,0.8764028,0.9188739,13.3284808,9.421182,54.1590787,9.9557275,30.2551654,71.9593087,40.731786,43.9129902,24.2524716,5.232687,9.6932943,8.2779923,36.6289735 +647,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1090321,2.1090321,25.9550562,21.6853933,62.8805621,7.8713969,27.8153153,59.1216216,26.463964,44.481982,19.2567568,6.6441441,13.2211538,12.2009569,30.3827751,14.2156863,1.9637729,1.9637729,29.4816415,24.5140389,63.0434783,8.0818966,26.8052516,58.5339168,26.3676149,43.654267,18.9277899,6.4551422,14.5933014,13.5714286,32.2966507,15,1.5944882,1.5944882,29.5309168,25.0533049,64.527027,8.5805085,28.9247312,58.6021505,26.344086,43.1182796,17.5268817,6.1290323,14.047619,13.0331754,29.2857143,11.7391304,2.5976861,2.5976861,33.4394904,29.1932059,63.6666667,8.3333333,29.0149893,58.3511777,25.8029979,42.2912206,16.1670236,5.6745182,15.8256881,14.3835616,31.4220183,13.1355932,3.0647607,3.0647607,36.9148936,33.0851064,64.8558758,8.0882353,29.4432548,59.6359743,24.9464668,41.2205567,14.2398287,5.4603854,15.7534247,13.4090909,30.8219178 +648,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5157925,1.563022,18.0638653,13.5129589,65.1441298,17.9238358,36.4199726,68.5000156,33.5800194,46.4999884,21.6999879,8.3799799,11.7670446,10.8660568,36.4332197,9.5085368,1.5078756,1.5180865,18.581729,14.1221036,65.3845719,17.5351872,36.8580745,68.2369939,33.7444385,47.4524759,22.0582093,8.8353904,11.7954627,10.5707141,36.1985403,9.4279461,1.5271618,1.5691562,18.863785,14.5090705,65.5443116,17.4076882,35.981691,67.6822345,32.6762469,46.6945559,21.6845897,8.9008044,12.9248654,11.3958676,36.6772574,10.0831391,1.5627073,1.5955179,19.409154,14.9682337,64.4918241,17.5318407,36.0232238,67.581127,32.6191725,46.7961682,22.0064197,8.7104377,14.0649713,12.0553374,36.9825255,9.1919006,1.3258769,1.356752,19.5660287,15.2268731,65.2731699,16.9253736,35.1509119,68.3903824,32.1730762,46.0966045,21.7102792,8.1488823,14.073772,11.4708266,36.352701 +649,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2479668,1.3186088,14.9594991,10.767397,50.9468374,12.5689266,38.2018441,69.4413004,36.7927594,46.8829527,26.4803063,3.5248879,13.7453036,11.3076532,41.6697357,4.7727229,1.1875771,1.2577812,14.4100934,10.1467595,50.2397222,12.5272103,39.1432502,69.3833254,37.9738906,47.4853437,26.9669888,3.6786399,13.4026716,11.1042727,40.9765047,5.3488347,1.0604879,1.1300692,14.3043151,9.5830499,51.1144482,11.9250904,38.426078,69.1124634,36.8638697,46.9309196,25.8305888,3.8214348,13.1768849,10.1807241,42.2749373,5.4762329,1.1118874,1.1940436,14.8391725,9.9207236,50.7389049,12.2291309,37.521082,69.1209353,37.2797466,47.38161,25.6316342,3.9499845,12.8313299,9.6987987,41.7883364,5.693116,1.0145417,1.0978652,14.3774007,10.010295,49.9757118,12.8302353,36.7242204,70.7170264,37.1229429,48.3086841,25.8895356,4.0077604,12.2754415,9.7604825,40.810172 +650,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2993831,1.3202201,21.9877572,17.0509343,54.2864081,17.7116693,36.9542525,67.3581623,34.6799104,46.7085136,25.3083056,3.2339833,14.7338024,13.2799492,41.8224078,12.3399936,1.344094,1.3786424,22.277391,17.2083481,53.9346229,17.7972887,37.2483788,66.7361729,34.2083654,46.9839593,25.0064027,3.311948,14.699072,13.6530293,42.9168846,13.36646,1.5300264,1.570273,22.2439044,17.438577,53.3806411,17.9718537,37.1697598,66.6917428,34.8347868,46.8422219,24.8948733,3.4099584,15.7418455,14.026704,42.999317,14.2141803,1.7038155,1.7441,23.8270447,18.9294135,54.1921113,17.3968291,36.6890062,66.8210792,34.8277663,46.5851147,24.7839161,3.7274929,15.6505324,14.5696571,41.7192821,14.4951985,1.8003015,1.8492025,23.3150023,18.5127032,54.2691232,18.0060749,36.4949971,66.45765,34.4253184,47.112311,24.0329609,3.4867039,14.8705978,14.0785843,41.1010618 +651,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1954773,1.2569399,16.0418242,11.4777944,57.8120512,14.7107998,37.073794,69.6338108,35.620442,43.6696902,25.1119056,3.9547674,9.9999422,9.7619666,36.2205203,6.0103388,1.0546379,1.0911038,16.0948911,11.6491802,57.4147838,14.5886064,36.2366718,69.0993226,35.4179183,43.8595436,24.2661484,3.8820294,9.7943515,9.2641921,36.0101912,6.3970416,1.1278911,1.1643852,15.9982371,11.2467376,57.447112,14.0660626,36.7361889,69.233938,35.3562935,43.1851237,24.1200483,4.210132,9.9423269,9.1821733,35.9337553,6.3688083,1.1153341,1.1329663,15.6063358,10.9341827,57.0779248,13.6067707,35.6236972,69.3314563,35.710235,43.0279886,23.7251497,4.3935954,10.164938,9.0986916,36.1127516,5.8744919,1.1591128,1.177303,15.4950565,10.905992,57.3440549,13.7339353,34.9925414,69.316405,35.230392,42.4815232,23.4621224,4.4725615,10.2258357,9.3538073,36.4391485 +652,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4878829,1.479709,13.7198321,9.9947534,67.9108485,18.4320923,35.6197034,68.0879237,33.6069915,46.2129237,22.5900424,5.6408898,12.9014989,10.5913978,36.0841424,8.4980237,1.5248092,1.5166552,13.6910995,10.1832461,68.24,18.2079415,35.5855856,68.0710122,34.6316905,46.0784314,23.5029147,5.90885,12.2222222,10.5738576,35.0905218,8.6,1.5647777,1.5808265,14.3846154,10.6410256,67.847769,18.412943,36.3612702,67.8552837,34.1228527,45.7834461,23.7116085,5.7522124,11.4124872,10.1129363,35.3395062,9.0361446,1.7194047,1.7356253,14.7043568,11.0217842,68.4029614,18.0713547,36.5616798,68.3727034,33.832021,45.8005249,23.8582677,5.9580052,10.4747162,9.5755694,35.2544133,9.437751,1.8381355,1.8546208,15.4881266,11.8469657,68.5752688,18.1842105,36.6808737,69.2328183,34.3367075,45.8444326,24.054342,6.5796484,10.7032058,9.8029046,35.7142857 +653,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.9879343,2.0149116,30.3720867,23.1350518,43.1801874,11.133781,38.5991823,68.531441,37.1401522,51.44011,32.1057542,6.3932672,13.8820855,13.2733651,38.0914583,20.8572899,2.1160489,2.1439814,31.1090865,23.875355,43.5121437,10.9666813,37.5058869,67.7630655,35.8512566,51.0057617,31.1558875,6.3175677,13.7358446,13.1011417,37.4388436,24.4661539,2.058569,2.086062,31.8849911,24.747409,44.5296032,10.5381578,36.9796531,67.8686502,35.630543,48.8896069,30.8494338,6.0270281,13.9699941,13.2000635,38.0840798,21.5057998,1.9707789,2.0070495,32.4353464,25.19926,45.5422593,10.93339,36.8958477,67.4228499,34.3929807,48.740769,29.443098,5.5399964,14.293412,13.2420177,37.6446205,20.4460087,2.0966556,2.133303,31.9873899,24.6109191,45.9604555,11.1411288,36.9485422,68.7366781,33.5152163,48.9469405,28.3900311,5.0177116,13.8440287,13.8287097,37.2329686 +654,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6386485,1.7871474,28.8787346,24.5612149,57.1649424,9.338002,33.1311823,66.1464921,35.3597135,44.835695,21.9183715,5.1314571,13.1970795,11.7923476,35.9211862,16.048259,1.8213581,1.9223276,28.8670261,24.6151623,57.3250441,9.3078514,33.7587808,66.1408054,34.718929,44.8620676,21.2962926,4.9224088,12.7087648,11.1795699,34.1948754,17.3148333,1.8412825,1.9482935,28.3751124,24.1037258,57.1364997,9.7618522,34.5467631,66.492576,35.1161215,45.5528937,21.9296597,5.0505973,12.8847869,10.6340464,33.9860669,16.9941257,1.5750427,1.6313202,28.4648406,24.3391699,57.7385065,9.6556911,34.410393,66.8063374,35.595135,45.1408968,21.3099686,4.9934403,12.5611914,10.5480312,31.8961465,16.3618089,1.542625,1.599296,27.7346196,23.398118,58.1012524,10.239136,32.747413,67.1483479,35.7817992,44.9186109,20.7124502,4.7564279,13.4483586,11.5661096,32.4012117 +655,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.8170631,0.8295945,14.895204,10.8960617,66.8911288,12.8549787,34.5615586,69.0903423,37.0763231,46.7854997,23.5403432,3.5753386,11.5418365,10.4559379,37.0083919,9.3952268,0.8720124,0.8846611,14.7122171,10.9829665,66.8939987,12.3178777,34.1471526,69.2996377,36.8426888,46.6747771,22.8126355,3.5461826,11.2610638,9.7609595,36.1669196,10.0663496,0.8524713,0.8691602,15.2435023,11.2529396,66.4473538,12.3294911,33.7924205,69.6672937,36.8113684,46.6615318,22.3997246,3.470697,11.5061789,9.2175133,35.5521122,10.3644419,0.9474978,0.9474978,15.1043886,11.3418816,66.2494163,12.6014322,33.0178176,69.8107189,37.5835108,46.4699329,22.2828337,3.4632531,11.7633847,8.86162,35.0202591,9.7700964,0.9833588,1.002101,15.788883,11.778304,66.3971566,12.4141579,32.6028259,70.1393768,37.6376567,46.5160694,22.3982714,3.5625977,11.803651,8.8396639,35.1333004 +656,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6936371,1.7172928,25.0035551,20.1325937,55.3901271,9.7574181,29.3471925,67.64657,34.8626233,41.5937146,21.7301693,4.4962659,12.2779606,10.7499221,35.4962662,14.2834427,1.5612738,1.5691535,25.287355,20.5134849,55.2932715,9.1386766,28.7734957,67.5617673,35.6518362,41.4391707,22.3173067,4.2580411,11.5921376,10.0079758,35.1953851,14.7386052,1.3646948,1.3252464,25.3120446,20.3112489,56.0377339,9.0070238,28.4368306,67.1610632,34.7463735,40.5139822,21.5254634,4.3116969,11.444301,9.6796375,35.1689609,13.3616073,1.4800774,1.4408819,25.6908577,20.4084553,56.519401,9.5103443,27.8391056,66.9639888,34.5238832,40.6390871,21.5314717,4.5300396,10.7477888,9.40632,34.69734,13.9275368,1.5343349,1.4837439,25.5539302,20.5210202,56.9417245,9.9306426,27.9010084,67.872452,34.6535483,40.8731338,21.7600596,4.5073203,10.819573,9.136773,35.1066468 +657,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6943903,2.6943903,40.1483051,35.0635593,65.7488987,7.4267782,31.5845824,61.5631692,25.5888651,41.4346895,14.6680942,5.2462527,17.3611111,14.516129,30.3240741,16.9421488,2.903369,2.903369,43.9873418,38.0801688,67.7312775,7.8616352,32.5757576,62.012987,23.2683983,39.0692641,13.0952381,5.5194805,18.2464455,14.4549763,33.7320574,22.3577236,3.2607695,3.2607695,46.1462451,40.0197628,67.8719008,8.1854043,33.9068826,58.805668,22.9757085,38.9676113,13.8663968,5.1619433,18.4322034,13.7711864,33.6909871,21.0743802,3.6887327,3.6887327,46.1764706,40.2941176,67.7319588,7.8793774,34.9699399,58.2164329,22.745491,38.3767535,13.7274549,6.3126253,19.6356275,13.9676113,34.4897959,23.6434109,3.7267023,3.7267023,47.979798,41.9191919,66.6309013,6.969697,36.0706861,57.9002079,24.012474,39.6049896,15.6964657,5.9251559,20.2083333,13.125,34.6638655 +658,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5268752,1.5838894,27.0882035,22.7941581,57.8682747,10.1998919,32.2298878,67.803482,35.7622454,46.2933365,20.8744469,4.9572831,13.213851,11.8892159,33.0600548,15.6716631,1.4374156,1.450728,26.743502,22.4174023,58.3491928,10.2240042,30.7992819,67.1407489,34.642697,48.2658672,21.9119603,4.4784849,13.3313107,11.8605036,33.1065258,15.8643545,1.701292,1.7038947,26.5891961,22.1001452,59.2412047,10.6672021,28.5495075,66.7835464,34.8278841,49.1944442,22.4744958,4.7500263,13.1232823,12.2922565,32.5557443,15.3444708,1.4828565,1.5080415,24.9130229,20.4725827,60.2415962,11.145488,27.0571738,66.0745585,34.347632,49.4789371,22.6974408,4.9627364,13.3400645,11.987921,33.6597167,14.8484878,1.405903,1.4034049,25.5446335,20.8741573,60.5805919,11.4321904,27.2819035,65.7707701,34.1319149,49.7906139,22.8132635,5.12878,12.5576896,11.5688951,33.3665605 +659,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8428417,1.8617908,24.1368834,19.7321146,44.040104,16.6581066,41.7679276,68.9399996,41.2189351,52.2346413,30.5074339,3.3965113,11.3192003,10.7269052,33.5146854,16.8449018,2.0681501,2.0586863,24.0418977,19.4909921,44.9866649,15.9954757,42.7994776,68.2279273,39.4925276,51.0731883,29.380627,3.0943068,10.8509257,10.7568447,33.5935533,16.944435,1.9413526,1.9320162,23.5089067,19.2509938,45.8271664,15.9148976,42.2862531,68.1417042,38.3079633,49.9414467,28.1796258,3.4659396,11.2348951,10.684412,35.0875763,15.7753926,2.0105187,2.0012963,23.5676476,19.1764674,45.0982181,15.3380908,42.1371816,68.3905202,37.8328686,49.3139272,27.0044121,3.4388716,11.5470765,10.9996378,35.5530572,17.4731183,1.7569541,1.7477266,24.1430312,19.4836577,46.634937,15.9976375,40.3072948,68.8503547,36.7185064,50.3607651,26.4221544,3.4409301,11.2746816,10.7223829,35.1773773 +660,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6969716,1.7574864,23.0947093,18.2439275,54.0784947,18.6555947,35.0796882,66.4218694,34.0207493,47.3678455,24.8160477,3.7049997,15.3855377,14.5856798,40.1969153,15.3196511,1.7782345,1.8401028,23.7101173,18.5806513,53.8857739,19.4101301,33.3913402,66.3189175,33.5724507,49.1511251,26.2148748,3.7470337,16.1939537,14.5558432,40.4264839,14.5970867,1.7169808,1.7776669,23.9982489,19.0093809,54.124478,19.0898244,31.8346262,65.2201815,33.157695,49.7977477,26.8867199,3.5882596,15.8695539,14.6665955,40.6369237,14.5482529,1.7127153,1.7585905,24.3270861,18.9415578,53.6613125,18.7764408,30.930812,65.7589929,32.7027777,50.6464061,27.7076796,3.7238012,16.2388975,14.9863186,41.4829165,14.0321754,1.6087374,1.6857347,24.1300589,18.7233741,54.0981114,19.0257312,30.859945,65.159137,31.7548793,50.5773776,28.2633877,3.5265492,15.1298765,14.8605105,41.0526018 +661,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1731257,1.1800199,15.9041087,11.0358733,53.1830174,14.9852132,33.6761466,71.0733035,37.677613,45.643231,24.3268536,2.9356745,10.6326263,9.5978802,34.9578174,6.3934489,1.1845411,1.2020788,16.0720976,11.1296899,52.4712528,14.7808126,34.6517817,70.1173402,37.9447162,44.7956116,24.9621528,3.3118823,10.5850614,9.6168622,35.1550561,4.8333382,1.2036048,1.2212104,16.3931409,11.8798961,51.9238055,14.9643205,34.1227706,70.1591658,37.7226121,44.6949667,24.9147415,3.2019677,10.6640472,9.3847286,35.8883787,6.6101695,1.2706522,1.2884016,16.610361,12.0683202,51.9913938,15.236445,33.6087622,70.3881668,38.1821587,45.4073818,25.7302193,3.2474986,10.6107826,9.4773639,36.5612834,6.5495208,1.1654552,1.1832425,16.9558704,12.316113,52.6635129,14.9045659,33.5582098,70.8365431,38.068614,45.5088767,26.2336216,3.3731656,10.2674813,9.4509644,37.4503882 +662,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.0692978,3.0692978,47.5738397,41.6666667,68.2628062,7.0526316,36.9047619,59.4155844,25,42.3160173,16.7748918,6.1688312,20.2173913,14.1304348,33.7004405,27.4590164,3.0932633,3.0932633,45.7230143,39.0020367,69.0889371,7.244898,34.9789916,57.0378151,24.4747899,40.8613445,16.9117647,6.8277311,19.6969697,14.9350649,30.9210526,28.4172662,3.7307263,3.7307263,45.5512573,38.9748549,69.2386831,7.3099415,35.7569721,56.2749004,24.8007968,39.7410359,16.2350598,8.0677291,17.7824268,13.5983264,32.8389831,32.3333333,3.8261208,3.8261208,44.2095588,38.1433824,69.0751445,7.8125,35.4089219,55.669145,26.3011152,40.7992565,16.2639405,7.7137546,17.5471698,14.2045455,31.870229,28.4375,4.0028228,4.0715513,44.4751381,37.6611418,69.2528736,7.7413479,35.1576994,57.0500928,26.4378479,40.3525046,16.0482375,8.2560297,17.0411985,12.593985,32.2641509 +663,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.9534905,0.9929429,15.873381,12.1097436,65.9949174,14.069715,35.0486848,66.972406,34.5203584,44.1033202,23.2262964,3.9032716,12.2596208,10.3507115,35.7007944,9.0281832,1.0089261,1.0406633,15.7094804,11.8651875,65.2406185,14.5140182,35.1224444,67.797132,35.0530949,44.9715907,23.7610817,4.2967135,11.3946285,9.634349,35.2610419,9.6395707,1.0175793,1.0551986,15.6795909,11.7464224,65.4355708,14.6472405,34.9985074,67.8785834,34.9277604,44.6879566,23.5667576,4.2421852,10.9356589,9.3111824,34.4923893,8.8873193,0.9295649,0.9621492,16.2556622,12.0297236,65.5915564,14.9441523,33.8774784,69.0066516,34.4743923,44.1942408,22.883878,4.1757843,10.8617808,9.2024542,33.5476356,8.4797051,0.8765508,0.8513661,15.4929897,11.4404673,65.4296336,15.2211778,33.8187175,70.1086449,34.0744812,44.4864242,22.3430702,4.2139517,10.9554039,8.8265987,33.2984295 +664,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.874172,1.8905835,27.3732086,22.4852957,40.5181299,14.9024103,39.4101269,66.6146251,38.4557958,49.3196551,27.4101722,3.3093703,10.5199929,8.9437494,33.1889718,22.2784724,1.9117176,1.9232815,28.731424,23.5857917,40.9707363,14.8135536,39.0695451,65.8330309,36.7360693,48.6065463,26.2858977,3.0925535,11.2117054,10.0212593,33.2489053,22.2767239,1.8644767,1.8240277,29.7952723,24.3833215,41.2201329,14.8271425,38.8611704,65.4624813,35.6491302,48.859524,25.5071451,3.1852296,11.2008193,9.7931274,34.4880469,23.1501405,2.1281216,2.0901068,28.9616679,23.7135742,41.2377689,14.5744037,37.7016626,65.9322774,34.9133313,48.4639425,24.9481128,3.1861395,11.4830617,10.127325,34.0933836,24.3863877,2.1071436,2.0797743,29.3261181,23.6719303,41.0408851,15.3135077,37.8624716,65.6328297,35.0812578,48.3477908,25.6429226,3.6627196,11.6711803,10.8764955,34.1161612 +665,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.8497445,1.8646775,31.2199675,23.5491452,46.4220193,11.2651622,36.8673751,69.8942014,32.9994249,49.2601339,28.5604185,4.6832669,13.5376997,13.5228407,37.4138309,16.4211822,1.6548595,1.7035479,30.2919087,22.9077239,46.6841722,11.7033518,35.0501454,68.9768715,31.1731818,50.4994265,29.6609367,4.6374394,12.3741776,12.8128935,37.422287,17.7244176,1.5363257,1.5827497,30.8011095,23.8123982,46.036776,12.3237103,33.7296049,67.7046518,30.4314856,51.1492075,31.0049818,4.6955,13.2164354,13.1972368,37.5957257,17.5390466,1.655309,1.6993338,30.4016058,22.9315028,45.878726,13.314492,33.6367337,68.3909472,31.663816,52.6824417,32.2822778,5.2715799,14.1391116,13.4441001,36.6668152,14.9698806,1.7265798,1.7701054,28.8515972,21.1913712,44.4912471,13.4967667,34.658918,67.6054159,32.0466686,54.4158092,32.9904653,5.4582598,12.8613896,12.7123958,35.5513895 +666,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.1596329,1.1541461,19.8476049,15.8595641,64.9634583,9.6456414,33.8288175,66.8031083,31.1144577,42.6612031,20.1996251,14.0097653,12.9891202,10.0853984,41.6098389,9.1977295,1.1349969,1.1427119,19.9300246,16.2025132,64.4298786,9.4604211,33.6630171,66.6835162,30.7753393,42.0949964,20.4086014,13.8247173,13.3146651,10.2272765,40.911796,9.6996811,1.17436,1.1820163,19.7493307,15.9963174,64.5687204,9.3330529,33.5890512,66.9701787,30.3484392,41.7048966,20.1104087,13.9733299,12.8838918,10.0234147,39.9793716,10.4688763,1.1340194,1.129634,20.1719497,16.3777155,64.8045162,9.4514371,33.7236072,67.0808835,30.3189243,41.768419,19.8750191,13.8988653,11.9619407,9.5956663,39.2477882,10.3932512,1.154564,1.1612271,20.1423823,16.0002844,65.1261173,9.5214235,33.5833984,67.3343088,30.1748044,41.7698449,19.5702838,13.5979595,12.2711245,9.7694381,39.9791489 +667,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5249662,1.6104745,24.1948317,18.5909579,53.2459104,19.2532678,31.1493999,64.3774391,31.745503,50.1490439,28.2654182,3.0459762,15.3103536,14.7909476,41.2909026,12.3355101,1.4362265,1.5274111,25.2395355,19.38809,52.8201201,19.2323146,31.4829738,63.5990584,31.5255932,50.2992421,28.4596,3.100453,15.6719027,15.2453553,41.4495711,12.7831508,1.6279317,1.6995487,25.9367476,19.9624492,53.0565941,18.741563,31.2465548,62.8561381,31.2891477,49.0236317,27.0288253,3.0127458,16.1171807,15.0366319,40.6542666,13.4069189,1.7189559,1.7810251,26.0298117,19.9706166,52.8496178,18.5228733,32.7680131,63.7541774,31.6946575,46.9365556,25.353331,3.0269599,15.2156529,15.0594963,39.7242099,13.8628886,2.0354365,2.0983618,26.5607734,20.0926692,53.2484674,18.3655265,34.7985382,64.2760451,31.2502951,45.7000931,24.8654251,3.1923503,15.7227133,14.6166603,38.8742262 +668,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.7339218,1.8155045,26.589269,21.0062603,48.6855609,12.6855624,39.3584634,66.5852765,36.310819,47.878415,26.797443,4.2683964,13.2469737,11.4813659,35.6423669,20.0135902,1.7736131,1.8004673,26.902276,21.3922653,48.5397665,12.4979126,38.988579,66.5967713,35.8520497,47.7943414,26.3753803,4.1345176,13.2973092,11.8599985,36.0819324,18.8642623,1.7752751,1.8085702,26.9790745,21.5816168,48.6280209,12.8224247,38.8198634,67.2402067,36.0500011,48.2373496,25.9946238,4.0204793,13.1661909,12.1366239,36.3684351,19.2357882,1.7783531,1.8039151,26.8059106,21.5479146,49.1585056,12.9179759,39.056977,67.5827628,36.1825295,48.3694548,25.7102004,4.0258855,13.1689285,11.8931303,36.2662303,18.7820857,1.8046174,1.8109488,26.4627632,21.3785711,49.4759724,13.5302007,38.7938396,67.9127257,36.1761989,48.5799633,25.6715043,4.0461924,13.2437129,12.0035864,35.9891986 +669,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2659589,1.2975736,20.3960134,15.9860646,65.6275209,17.2436531,34.7978431,68.7500206,32.3638783,47.0091064,22.2566303,7.6526356,14.5267363,11.0426932,35.9387827,8.6337597,1.4026599,1.4422223,20.2179466,15.8987515,64.9872808,18.307415,33.0338637,67.7183695,32.0309418,49.3731947,23.8821809,7.0831564,14.7851588,10.7892539,35.6053681,9.8095051,1.589126,1.6028232,20.2293953,16.0023575,64.7529701,19.6351076,31.8849502,67.5030977,31.476955,50.1631981,23.9698222,6.3443463,14.995802,11.1435678,36.4285024,9.7222042,1.5283598,1.5415931,20.1358831,16.213545,65.5532574,20.4511013,30.7556518,68.4220717,31.108098,50.1761741,23.825385,6.4800331,14.684453,11.5198403,36.4117314,8.7825858,1.6537032,1.6359714,19.9808779,16.0495724,65.5810417,20.9298305,30.2732633,67.6096908,30.6582315,50.2886443,24.1147156,6.0623586,14.6252894,11.24097,35.7258486 +670,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.280297,1.3025352,18.1798088,12.0333635,50.6789341,16.0763903,37.6349738,68.7562099,38.0777325,47.3696618,26.0324046,3.1710103,13.0844948,11.2939603,39.1631593,9.8927625,1.6123728,1.6347097,18.1843608,11.9881505,49.8240676,15.897745,38.0723794,69.418634,38.1222007,48.0283791,26.983364,2.9816754,13.1708257,10.874267,38.2414258,10.4080717,1.6229988,1.6343798,18.2243482,12.0444867,49.1570427,15.8348446,37.9816287,70.53109,38.2322616,48.6479331,27.7162778,2.5787848,12.9756805,10.5608532,38.3096166,11.1403384,1.7609878,1.7725917,18.13039,12.1781628,47.9718413,16.6077839,37.2833457,71.0759935,37.8440743,48.4454102,27.9560926,2.6757665,12.4219175,10.0314357,38.3928074,12.1781006,1.8743941,1.8957176,18.4879687,12.6712236,48.362221,16.281956,36.4647807,71.8172273,37.0859744,47.8000723,27.355001,2.1997362,11.1050407,9.0668014,38.4906397 +671,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26068,1.3231067,18.5569803,14.0131417,77.3388579,15.9156066,38.153818,65.9832344,36.2584237,47.2298127,24.8314052,6.8434472,11.4738743,9.6419113,35.7357904,11.4528796,1.2642026,1.3058201,18.7244326,14.2234569,77.6374075,15.8890934,38.4426197,65.7103791,35.382504,46.639337,24.5810388,6.748632,11.3303289,9.420819,35.676385,12.3717933,1.2315278,1.2691702,18.9772569,14.6426726,77.573464,16.0775361,38.5508008,65.5062101,35.4440747,46.6648337,24.0953826,7.17288,12.0172444,9.5908276,35.973527,11.3899555,1.3191977,1.3512794,19.2017975,14.8789287,77.8897735,16.0241355,37.9879568,66.2987931,35.1057997,46.8350958,23.7778077,6.9226539,11.7021248,9.398343,35.9616056,11.8064425,1.231076,1.2680199,18.9611138,14.7799943,77.9920975,16.147642,37.302461,66.8618633,35.0901604,46.8581422,23.5266682,6.6833957,11.8985013,9.356166,35.3889907 +672,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.9365472,0.9610413,15.8896342,12.0157543,66.52304,13.0015689,32.6931882,70.595689,37.7069766,46.9986156,22.550577,3.3693647,12.0933522,8.4981271,34.7156725,11.0975339,1.0608727,1.0908963,15.8930584,11.7292286,66.639226,13.3447688,31.6577651,70.3622165,37.2532943,49.001624,23.5082266,3.1692583,11.8414748,8.37287,33.9618382,11.975281,1.0401422,1.0701658,16.215908,11.806812,66.0899041,13.636345,29.6283421,69.4657448,35.7374928,49.9303171,23.403015,3.2636506,12.0259226,8.6008668,34.0154314,12.1980376,1.0458819,1.0658987,16.295389,11.5727285,66.2317906,14.4252241,28.3227169,68.4228456,34.5129485,50.2617317,23.611733,3.2203046,12.0405296,8.9604906,32.994324,11.7169033,1.2220421,1.2604307,16.4400373,11.4690139,66.1461706,15.1484344,28.8172322,67.9466678,33.9220338,51.2192423,23.9402836,3.2019182,11.838387,8.9816147,34.0531584 +673,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4513476,1.5479405,21.6832611,15.6052403,52.5476577,14.7277012,39.9795192,68.6644556,37.9607938,50.0367968,26.2276284,3.2951187,14.1248325,12.5575268,36.4647728,13.7596725,1.4749883,1.5469194,21.1166464,15.0780641,52.2271531,15.0401212,40.4233491,68.8829588,37.9360086,49.9972995,26.1385497,3.1094875,14.1596126,12.7736564,37.3489825,14.0243667,1.4764155,1.5477707,21.011631,15.3890606,52.0929274,14.9808265,39.4928825,68.1553764,37.2973777,50.7666873,25.9176354,3.0407479,14.0247132,12.731502,36.4462778,13.9760084,1.4173368,1.4887674,21.1135061,15.4564777,51.6683447,14.8846461,38.9419357,68.7149827,37.5589922,50.1330993,25.96075,2.8713463,13.3104853,12.5367878,35.5037278,12.4012425,1.4910743,1.5455985,21.9235709,15.9420182,51.3593821,15.5042623,39.3205296,69.179925,37.7747612,51.2638116,25.9452945,2.96669,13.7745544,12.6043991,36.6645913 +674,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5946314,1.5946314,19.7779231,16.0518899,66.1758393,21.4179569,30.0037783,66.5974385,29.9282687,50.0566181,23.5083071,6.0611823,14.63892,11.4207558,35.8438255,8.6920314,1.737475,1.7629393,19.4423408,15.7372254,67.3325199,21.7915566,30.605719,65.1805968,30.0414051,50.3197603,24.0594408,6.6027115,14.9385428,11.089827,35.5821296,8.6409251,1.6676971,1.7144752,19.2113744,15.6103411,67.366653,21.6886641,31.6618429,65.2968893,29.5981254,49.4387775,23.8051981,7.0782069,15.0964371,10.9340669,34.6870799,8.5504677,1.6115762,1.6577831,19.4909165,15.7173074,68.2392952,21.5191926,32.8392868,66.6249822,29.5178475,46.9820958,22.0892741,7.4821447,14.7058866,11.0828933,34.9270641,7.9377874,1.3579,1.4261124,19.4503561,15.7623872,69.0458998,20.8289154,34.052048,66.6606914,30.0605719,45.5986795,21.6143809,7.9650799,14.6403027,11.4748714,34.4790983 +675,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4764913,1.5675732,24.9936415,20.372417,45.6541189,15.8344857,35.5993167,68.2425661,36.9660003,49.3857833,26.6651017,3.6236348,12.9372048,12.363235,36.1577291,23.4614615,1.6400815,1.6495844,25.2968589,20.1653589,44.8671243,16.5146587,36.1316984,68.7827437,37.0621428,50.7072897,25.8856074,3.6244983,12.1241754,11.9207706,35.8310037,22.0148343,1.6589033,1.6686361,24.6703186,19.7848167,44.3894468,16.7757005,35.6564713,69.3631527,37.8554363,50.7224154,25.7261902,3.7020785,10.9849371,10.3933306,34.123877,24.2536386,1.6308407,1.6688289,24.2528618,19.5211548,45.3113404,16.8063204,35.6687273,70.0064596,38.1493755,51.9824777,26.5823668,3.6315655,10.1700095,10.3002404,33.4527381,22.1773387,1.6370525,1.6581046,24.4719899,20.0109776,45.767473,16.923634,35.8092488,71.2751395,37.8343017,51.5286312,26.5758395,3.3504881,11.6111544,10.833169,34.743265 +676,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6225941,1.6130721,23.5572944,18.8040649,47.3355993,15.9954862,38.6522897,68.0153406,35.3828757,50.12239,25.2626399,3.1768774,11.3218919,10.0979254,35.7758797,15.4029659,1.4651743,1.487949,23.5749206,18.5299664,47.7571805,16.6657651,35.8623329,67.3330763,35.0034777,51.1952725,26.1660317,3.0366448,11.4583215,9.3865134,35.8641836,17.1026168,1.443613,1.4660671,23.8598371,18.8214902,48.6040849,16.9451601,34.7727877,67.8830985,34.1707894,53.0081941,25.9782644,3.1605222,12.4548841,9.9397674,38.0170107,15.7745039,1.3288495,1.3977735,23.8398335,18.4902329,48.173738,17.0148503,32.9866391,68.2854149,33.7094732,52.9798842,25.2108253,3.1021887,12.6635079,9.3341349,38.9555549,16.8180518,1.5005272,1.55088,24.6317481,18.7600633,48.4850464,18.1630732,32.9042539,68.1244399,33.7488217,54.3918913,25.9176289,3.2206693,12.9127526,9.8351129,38.8228405 +677,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5596864,1.5974517,21.2090188,15.724191,51.3749458,16.2701003,37.9980068,70.066161,37.8836917,52.3224306,25.9405956,3.1296538,14.7470345,13.4174549,37.0324196,16.3131169,1.4658653,1.4682008,21.2276325,16.154416,50.565438,16.3428877,36.2909963,69.3749093,37.51114,54.0844196,27.7396678,3.2127255,15.1282343,13.3713414,37.4229263,16.0710332,1.7683159,1.7705963,21.3917445,16.4171484,50.1151125,15.8554131,34.0320109,68.0853691,36.6717904,54.4889102,28.3168635,3.1376569,14.2703975,12.9717101,36.5031004,16.2105512,1.6969351,1.6969351,21.8671999,17.2384797,49.7890074,15.7795348,32.7033733,67.7754231,36.3832858,55.3113076,28.5152667,3.1434458,14.0972285,12.6186883,37.0255165,16.7920663,1.6810608,1.6810608,21.7881234,17.2006092,49.7209415,16.0729583,32.030756,67.3923845,35.7100035,54.759711,28.8164283,3.0857754,14.2320553,12.6345936,37.0862103 +678,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6313488,1.6481668,15.643511,11.82014,69.1103789,18.9312567,36.9293478,69.8097826,34.7554348,47.6902174,23.9945652,6.8206522,10.5963791,9.8614072,36.358754,7.9150579,1.5021797,1.5138522,15.3907923,11.5364026,69.2915531,19.5258391,34.9648459,68.9291509,33.9372634,50,25.1216874,6.6252028,10.8236536,9.5665962,36.0192102,8.1132075,1.265721,1.2606807,15.3825431,12.0420259,69.1570881,20.2190171,32.601626,67.8861789,32.5474255,50.4336043,25.5555556,6.4227642,9.3582888,9.3683084,35.5904659,9.1439689,0.9875726,0.9826945,15.8783784,12.5,68.3722163,21.7942089,31.9277108,67.5484547,31.1419591,51.2048193,25.0130959,6.1026716,9.9791014,8.8389121,35.0793651,8.4532374,0.842204,0.8849188,15.4683544,12.2278481,69.058642,21.9628514,30.8808554,66.3187373,30.8299389,51.7566191,24.7708758,6.2372709,10.4316547,8.5993821,34.7352025 +679,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3707375,1.3979878,24.9844025,20.1152918,61.2373118,12.4056531,27.3466615,65.3097429,33.6048011,50.4316101,22.7168814,5.2204725,12.3874057,11.0431587,33.8626558,13.9423104,1.5649206,1.5920982,25.604106,20.7092417,62.2131332,12.6621253,28.3237201,64.646918,33.4129329,50.334503,22.7891945,5.5822338,12.3266257,11.0655898,34.5079869,15.5493511,1.5492066,1.5762479,25.661972,20.6125113,63.403175,12.9012084,28.5237205,64.5555107,33.2857678,49.2861951,22.4918176,5.2541325,12.0433698,10.8668966,34.4666941,14.8798576,1.5705012,1.5739985,25.5555675,20.3284425,63.2568747,13.3349284,30.119073,64.8582778,34.2080549,47.4730873,21.8123446,5.5861376,12.1259478,10.9414073,34.6612714,14.2193335,1.370916,1.3436268,25.6709133,20.3396269,64.2836349,13.2365231,32.0785472,64.8378413,34.4658611,45.8055815,21.3688167,5.388039,11.9523324,10.3415051,35.9182802 +680,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.8716476,0.8960537,13.5032522,9.4902451,61.9175624,17.9643857,35.1116589,68.2559362,34.3672557,43.6547374,22.3147848,8.8798317,12.3496081,9.2291405,37.3835044,5.6490385,0.8603271,0.9087767,13.984878,9.8092206,62.5312308,18.0821494,35.2598089,67.7094326,34.4114663,43.7433797,22.8879541,8.9607644,11.9047599,9.4105154,38.5251677,6.2500028,0.8250317,0.8872006,13.8148372,9.7082178,62.6745297,17.8945542,34.1666682,66.755318,33.8829908,42.4645479,22.8546169,8.7765962,11.2193347,8.8192989,37.6816689,7.3363464,0.7518477,0.7974584,13.9679699,9.5907511,62.8068193,17.8274427,34.0429301,66.9071054,33.8318182,42.1710121,22.325832,8.7438422,11.6122138,8.8235332,38.2499807,7.1743961,0.8003691,0.8468477,13.8838468,9.4918375,62.5361691,18.3339182,33.6132965,67.0300204,34.6497588,42.2623356,22.1050782,8.7026452,12.0512818,8.7353852,37.9424634 +681,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7597633,0.8262137,16.2796443,12.5247036,68.3215726,22.5687623,29.4073705,65.4631474,30.2539841,50.8217131,24.37749,6.3496016,10.7638889,8.5984095,34.1841842,9.2532468,0.6737496,0.7393484,16.3898388,12.6770884,68.8960716,22.9186834,29.1584646,64.6899606,29.5029528,50.4183071,24.1879921,5.4872047,10.1888668,7.9104478,33.4834835,8.8333333,0.7957612,0.8655084,17.4084376,13.6995828,69.7580645,22.4654378,29.3442623,64.1920375,28.7822014,48.5480094,23.2552693,4.941452,10.4205607,8.1852198,34.1635338,9.7222222,0.8293755,0.9037412,18.4247212,14.4284387,70.8412548,21.7622572,30.439869,64.9274684,28.9424427,46.0224614,21.6424895,4.6560599,11.1164122,8.834766,34.8513902,8.7692308,1.0084638,1.090431,18.861454,14.6090535,71.0823529,21.5169569,32.8922934,65.6685237,30.0603528,44.7771588,21.1931291,4.9907149,11.8732261,8.0889309,34.8053181 +682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6594811,1.6800458,27.0495493,22.9880158,46.4996306,14.1878246,36.7690755,65.6474699,38.2766138,48.9799846,26.0720964,3.3441482,12.547141,9.6586751,36.5316552,30.5116771,1.8196564,1.8409235,27.7334002,23.7034704,46.2113303,14.1045848,38.5376466,66.0697498,38.8120217,50.8765415,27.1182749,3.3616844,11.8490807,8.8635655,34.6886956,27.1649907,1.7187808,1.7393006,28.6530027,24.3324839,45.3320931,13.5245441,38.928533,67.6277483,38.8407026,51.8637514,27.2375755,3.2336097,12.0126918,9.181579,35.2830996,30,1.5027184,1.5027184,27.2968241,23.2702534,45.7527403,13.5709501,39.0690666,67.3650351,37.8553566,51.5335308,26.8679684,3.3323146,12.2279282,9.642963,35.6051169,29.9242198,1.6062551,1.5798437,26.9278913,22.9873422,44.9432073,13.8061152,40.0522309,68.5340147,37.506907,52.6017712,28.3602578,3.6882523,12.0461568,10.2101037,36.3424198 +683,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.473816,1.4468454,25.6847448,22.0008905,45.1303242,14.092885,40.933699,69.0290262,37.3891047,53.8247782,28.4061757,4.021149,12.7660519,11.4147452,36.3877045,29.7855458,1.451347,1.4244404,25.8316091,22.0780144,43.7841415,14.6686515,39.3033377,68.8127382,36.8650178,54.7216422,28.7773037,3.4396412,12.7879034,11.6062619,36.7819112,28.301958,1.7817716,1.754587,25.6716412,21.4421084,43.8469172,14.7311949,37.9529804,69.1855513,36.4570307,55.2074772,29.6068764,3.211722,12.4851325,11.9833151,36.9745726,30.95938,1.8127955,1.8127955,25.8877534,21.4415659,45.3360164,16.1223995,36.687727,69.5860749,37.4392477,56.5707666,30.3533472,2.7975758,11.680359,11.5266294,37.0438602,30.7652338,2.1128343,2.1128343,25.5377066,21.2735277,46.5719292,16.8718622,35.4769269,68.6762199,36.9406163,56.5257483,30.14003,2.8891726,12.379919,11.8623502,36.7059408 +684,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5620873,0.5620873,12.8762532,8.910651,70.4556615,19.9857046,32.8275606,65.5828572,30.9489319,41.8352655,20.9296703,5.2264012,10.4385113,10.3530613,35.1104785,5.3149648,0.7521625,0.7521625,13.2839082,9.4064437,70.2813287,20.664192,33.1641341,65.8686532,30.9386673,41.0983676,21.1176429,5.732971,9.7973642,10.5797929,34.2534181,6.4960681,0.6772295,0.6466202,13.8861786,9.9257705,71.1547204,20.8272871,33.6396538,66.5593391,31.3556217,41.2861577,21.0278844,5.6355763,9.5358893,10.1515972,32.2690052,7.3221819,0.7516462,0.6754032,13.7820871,9.5907521,71.6732037,21.6593976,33.9852686,67.1537217,31.7575407,42.1536227,21.4109639,5.767353,9.5545222,10.5550897,32.6860744,7.3705267,0.8646749,0.7891573,13.8023724,9.6154068,72.099224,21.3246783,34.0118814,67.9502411,31.5106688,41.5646464,20.7210135,5.2231717,9.950564,10.9623886,33.2169868 +685,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5396881,1.4804884,25.1793926,19.8949331,56.4120315,9.9633082,27.4518045,68.2867231,35.1488161,42.2000038,22.604335,4.7615215,10.7205752,9.2356676,34.5331987,15.7342657,1.5795977,1.4889349,25.4996885,20.3173287,56.7516335,10.0250332,26.7529817,67.6567178,35.5976724,44.642524,23.2905253,5.1594029,10.9316677,9.7427558,34.1125656,17.1456312,1.594153,1.5460953,25.5572823,20.4961683,56.5298477,10.1992876,26.1748657,67.4303955,35.8935357,46.4836951,24.2039466,5.0462325,10.9443226,10.0175405,34.6917303,17.9616215,1.4708192,1.4543792,25.2023758,20.3859037,56.9701237,10.4636732,26.2667103,66.9247578,35.4201406,46.7961741,23.8917526,5.0277053,11.3565134,10.1052224,35.335484,18.168375,1.6606483,1.7403756,25.2226688,20.3341049,57.0160144,10.6910412,25.7684509,66.8217403,34.9893859,46.8857605,24.1575011,4.9057999,10.8242712,9.9786186,35.303881 +686,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8434631,1.8360329,21.3362476,16.5314293,44.6020034,12.9149033,37.9588835,67.5721702,40.0146745,47.4057532,26.01565,4.038185,14.6184358,12.5496131,40.9091136,14.0693385,1.7550867,1.7588285,21.6333499,16.2190219,44.9850339,12.451869,37.8186312,66.9852762,38.6029205,47.034284,25.220576,4.0441229,14.068633,11.9117792,40.4035887,12.4473313,1.5025315,1.5373794,21.2191694,15.8834969,45.8005639,11.8771866,37.321791,67.3845255,38.5869163,47.392335,25.3788162,3.5171099,13.9056253,11.6850675,40.5746453,12.7404624,1.6017729,1.5901784,20.8362755,15.6945352,46.7699294,12.207535,36.5898557,67.5009255,38.2059557,47.8521325,26.034594,3.5605086,13.5122036,12.1582215,40.5790441,12.5000767,1.7572565,1.7334267,21.3485283,16.230897,46.2105534,12.98434,37.6024148,69.3849533,39.0516219,48.9374508,26.2673271,3.4936918,13.8392843,12.1648647,40.7500459 +687,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6687441,1.7031248,28.3396765,20.725878,44.2566179,13.6148705,34.7869729,67.8685339,32.1853302,54.2649007,33.65899,5.6365458,13.4244819,13.0101841,36.0865866,13.2822933,1.5625363,1.5966159,28.3003611,20.6354492,44.2431979,13.9271938,34.2903957,67.1600447,32.0956077,54.4459503,33.5651522,5.7538417,13.6004306,12.6794596,35.8533436,12.1503786,1.7707016,1.8042574,28.1807062,21.0817551,43.8929883,15.1647963,34.6292916,65.8879256,32.2651276,54.02147,33.7839969,6.2563952,13.3946439,12.6117727,36.4318839,12.8637597,1.9028561,1.9059442,27.7099654,20.5644997,43.8946246,14.6583199,36.5365661,66.7624014,34.1505256,53.7279325,32.7081307,6.314288,13.9969518,12.939847,35.4420523,12.6964831,1.9241948,1.9241948,27.1423873,20.302527,44.5286851,13.966984,38.4989965,67.3170948,34.8075566,53.6478921,32.2068579,6.4656664,12.7182328,12.0805912,34.6243636 +688,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8214005,0.8617842,12.9457711,9.1984608,53.764245,10.0257493,29.4529067,71.7754793,40.4060462,44.6599123,24.3573675,5.3173318,9.8317204,8.4083028,36.9160983,5.7855532,0.8004605,0.8288345,12.7443159,8.9147716,53.2034196,10.4340471,28.1941058,71.5538018,39.8934294,46.2071681,25.3065168,5.2652662,10.1140594,8.6748927,36.4734811,5.7650767,0.817335,0.8521076,13.020717,9.0312979,53.2579304,10.895816,27.3848044,70.6627277,39.2558271,47.0545583,25.543903,5.2716711,10.025033,8.7585389,36.1831471,5.848252,0.7882551,0.8099993,13.0152654,8.7949832,52.9965455,11.3194191,26.4514356,69.8068449,38.8355387,47.6103726,25.435982,5.1710803,10.2341821,8.6863416,36.9852114,5.4425138,0.6935588,0.7300369,13.0413694,8.8073695,52.9661026,11.4281091,26.4493964,69.4671942,38.3393365,47.9146169,25.706954,5.1261051,10.1376864,8.7647152,37.0067265 +689,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.8521971,0.90733,13.9759474,9.6392141,63.1761604,18.2417965,33.4597292,66.0707834,33.7847673,41.657639,21.433735,8.8299037,12.010348,8.7518522,37.5931251,6.1422454,0.8308208,0.8857901,14.0137811,9.5177674,62.563445,18.8099412,32.9316509,66.0251796,33.3992842,43.2553964,23.1834561,8.8309355,11.8235726,8.5619028,37.4437631,5.4721077,0.82256,0.8891193,14.2477835,9.575215,62.5088385,19.8784715,32.0512791,65.8061172,32.8591544,44.8366731,24.2536043,8.9041137,11.3718477,8.339355,37.3903435,5.8282268,0.8830538,0.9536708,14.4975502,9.9616095,62.4300668,20.0239795,30.3782049,65.5968143,31.9049265,46.2005571,24.3060372,8.6571861,11.2331727,8.4102236,37.6255399,5.4890263,0.9395557,0.9802697,14.7038585,10.1506211,62.4355895,20.5279074,29.9557139,64.4243894,31.4543623,46.2023145,24.0633511,8.5660798,11.3448323,8.3333368,37.0979107 +690,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5329587,1.5045278,26.4413675,21.0148969,64.0744105,13.099153,33.4545308,65.9965524,35.899487,45.4382181,22.2628751,5.6636892,12.0978747,10.6304598,36.8581611,14.3554744,1.4628088,1.4529108,25.5345194,20.4379388,64.8243961,12.4438387,34.1400886,65.863066,36.1161586,44.5144103,22.4954362,5.5919252,11.9512342,10.8362496,37.105877,14.3299028,1.6100892,1.5624372,25.5290892,20.6664042,64.6351914,11.9598579,34.90909,66.3865982,37.3525542,45.0422543,23.6261014,5.6224748,11.7921211,10.8602203,36.6354745,14.8565665,1.4985149,1.4506536,24.822855,20.2029952,64.9752842,10.8395182,34.9643652,67.2196221,37.8007963,45.946416,24.1641694,5.4353951,11.5723795,10.1913218,36.4475911,13.3684295,1.4649984,1.4173299,24.4154416,19.9181341,65.343776,10.1624405,35.585653,67.2623497,38.325562,46.0003958,24.6303483,6.2513748,12.1783354,10.3539445,36.4214686 +691,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.8752076,0.8592088,15.4048565,11.1395744,65.8656668,15.583663,33.1952018,70.2456785,34.1968639,45.8475139,22.2173731,4.0980224,10.7891858,9.2774314,32.8379129,6.7972766,0.9381285,0.9261796,15.5984327,11.368853,65.2141856,15.9112228,31.9099666,69.8030196,33.6253303,47.9391167,23.2230792,4.0986048,11.2769699,9.2223439,32.7817577,8.0836869,1.0029089,0.9992714,15.9733595,11.9358236,65.1131797,16.8804802,30.4103227,69.5741203,33.0729043,49.2093579,23.538195,4.2586423,10.909486,8.8621842,32.9061635,8.5400778,0.9801608,0.952788,16.5347509,12.3097277,64.7308187,16.8900637,29.1190785,69.0922394,32.9882655,50.1193305,24.1914664,3.8621155,11.5776973,9.8959194,33.2413904,9.1783367,1.0259826,0.9818381,16.9353846,12.5024798,64.4790624,17.4045699,28.7372467,68.3967826,32.0609323,50.5232103,24.2727631,3.8664383,11.7063869,10.0905804,32.7913249 +692,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9253723,1.9920986,30.9292285,26.489524,51.8646888,8.4936266,33.039646,64.5270062,31.3785683,44.5943271,21.4410033,3.067164,12.8245742,11.2327848,34.0357926,20.4653544,1.9583522,2.0098892,31.3348234,27.1568815,52.5593469,8.0367035,33.2531831,64.5859003,31.1506866,44.1452574,21.4702289,2.898227,13.5570435,11.532819,34.6479172,21.1355022,1.9478721,1.9863382,31.5817171,27.3547798,52.4753209,7.8953334,33.3262315,65.0201312,31.0488923,44.002156,21.3010787,2.7052452,13.9530809,11.7672417,34.7766535,21.3403008,1.9392394,1.9591931,31.815619,27.5932419,52.745696,8.0944949,33.1723733,65.3430239,30.6932747,43.7229639,21.4254837,2.6160287,14.0683909,11.7570443,34.2844573,22.1334555,1.9217393,1.9395621,32.5351198,28.1313487,53.5671908,8.2024957,32.7941529,65.9469209,30.7890168,43.6110213,21.0406635,2.7590729,14.250037,11.9970408,33.9995889 +693,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4070107,1.4707455,18.1318564,13.3552202,80.6284692,12.8567106,32.5421967,65.9435861,37.0202403,41.8059531,22.7644376,4.4105489,12.0382434,9.8684147,38.5960993,11.4175836,1.0946652,1.1584922,19.0533714,13.4767864,80.1825388,13.006568,33.2478321,64.9512767,37.8017899,41.2387209,23.2294804,4.5755026,11.2311457,10.4097244,37.2134417,11.3973019,0.8783243,0.9424666,18.4030673,12.8709821,79.4820456,13.2530112,34.0205794,65.7785673,37.7925199,40.6192086,23.7799971,4.7743597,11.1559712,10.3276793,36.6104094,11.1513118,1.0722805,1.0955714,18.5715302,12.8431895,79.2495605,12.1889886,33.0908477,65.7899942,36.4953789,40.8515969,23.0644215,4.7047633,12.0938744,11.6021045,36.9742687,11.3141081,1.0802197,1.1036069,17.9659844,12.5921211,79.7551736,12.2540324,31.1236627,65.6312861,36.5724368,40.3163841,23.595287,5.2904569,11.4075157,11.2601711,36.7374531 +694,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0715793,1.1003032,18.0160399,13.9174736,85.1126927,11.2690784,32.241084,66.5348981,32.7000668,45.1426844,19.2121091,6.3105113,13.9600668,12.3143473,32.7931739,9.3926787,1.0340058,1.0710291,17.8516621,13.7525012,85.4461971,11.5931838,32.5037394,66.258386,32.8131817,45.9643632,19.1206768,6.7431201,14.7965103,12.5977877,32.6953574,8.9214701,0.935468,0.9721809,17.7897119,13.8671859,85.3161942,11.6808792,32.5362894,66.64536,32.3317932,46.2669297,19.1127898,6.3282842,14.8080993,12.8371235,32.9249601,7.3292112,0.884969,0.9216732,17.4540977,13.4832764,86.3294734,11.6093657,32.1253286,67.2343214,31.7925606,46.2100128,18.8348725,5.9283064,14.4455626,12.3826273,32.399237,6.9357337,0.9200334,0.9760751,17.3592968,13.1776022,86.2705483,11.3205209,31.9139539,67.6641558,31.9140699,46.8099608,18.8110268,5.9188312,14.5084592,12.2616314,32.1696048 +695,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.349847,2.3105497,28.7776248,23.2671508,40.7172694,15.8684547,37.9899812,66.6042176,35.25031,49.6803435,25.9998614,3.6922345,11.3631259,10.6515316,34.3914928,26.8087569,2.2334538,2.253338,29.4898858,23.2693525,40.2399006,16.7696543,37.1400508,66.9790399,35.7609571,52.9475891,27.8546735,3.7542005,10.8413031,10.2314956,33.3509611,24.5587855,2.1884896,2.208366,28.328013,22.2634165,39.3769264,17.4576579,36.1504347,66.7498623,36.1464112,54.8321124,29.5889504,3.5720682,11.1425589,11.038967,32.8188371,23.1446649,2.1117085,2.1814906,26.8606441,21.112916,39.058352,17.6156524,35.7705595,66.1177676,37.7145025,55.6672609,30.7088281,3.8185048,10.9869308,10.8937696,32.4543323,22.9588925,2.2376659,2.3284026,26.6266628,20.9785039,39.1817831,17.5908303,35.6319289,65.9816971,37.6336637,55.3455603,31.6193488,3.4607332,10.6769948,10.7900909,31.5592904 +696,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9623296,0.974595,14.0012568,10.2069793,77.7336358,6.6759465,29.7588378,65.3908376,32.8794261,40.0701859,19.3206541,6.5164968,11.348914,9.7663459,37.0070412,6.525413,0.8953163,0.9037904,13.8441199,10.1938957,77.6652511,6.6726541,29.6389064,65.5119266,32.7575688,39.9374041,19.1869976,6.3698529,11.6105393,9.7814334,37.2672793,6.2894783,0.9629239,0.9857817,13.9759196,10.29549,77.6590701,6.8252759,29.7589464,65.4101776,32.5292817,39.9748732,19.3186586,6.4452406,11.643982,9.5309104,36.7311033,6.1347824,0.9188485,0.9428912,13.783676,10.1702083,77.4099208,6.6225744,29.793388,65.8269563,32.4644777,40.1224025,19.2568823,6.3263734,11.3887054,9.4996256,36.4499165,6.5493255,0.9144793,0.946324,13.6165213,10.0609134,77.5829751,6.7235884,29.4512464,66.537561,32.6257991,40.1600785,19.3282727,6.3611797,11.368328,9.5591972,36.353021 +697,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6739579,1.7538274,24.4797519,19.356006,57.7316974,11.1933822,26.064068,66.4376916,34.090681,46.6288813,23.9309311,4.6698611,12.0723164,10.487696,35.8822112,19.9320114,1.8850534,1.9465612,24.0925141,18.6228682,57.2424711,11.3292502,25.3311617,66.6672515,33.7023518,46.3157894,23.8992844,4.6685546,11.9441145,10.7543223,36.7990135,21.5364482,1.8810629,1.9263061,24.6555428,19.2800234,57.1191568,11.32739,26.4886286,66.5747485,32.9430651,46.2484629,23.5685591,4.5214706,11.4783282,10.4529496,36.5371397,21.1045636,1.8705475,1.9158073,24.0501624,18.6301979,56.6678679,11.6348592,27.2717955,66.5079944,33.3663436,44.7715628,22.7308657,4.2624204,11.3520865,10.5669278,36.4414579,19.7391456,1.8444185,1.8797601,24.1879606,18.7410047,56.8054791,11.3922613,28.4011747,66.280073,33.2696016,43.4548141,22.2563943,4.3939755,11.23593,10.3978513,36.3575718 +698,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0065064,2.0165324,26.1443561,20.1841624,54.7683906,17.9782287,35.0223809,63.9715266,31.0409257,43.947463,24.1721247,3.0406515,16.2023103,14.5445164,38.587549,14.7248963,2.2019531,2.1851096,26.7444902,20.4040652,54.3683947,17.2504966,34.7730218,64.6530059,30.7989349,42.9860661,23.2482502,3.2013105,16.2476366,14.2790419,39.0916815,16.0193683,2.2227707,2.1952244,26.8496402,20.6988381,55.0534712,16.8578819,34.527624,65.0648921,30.6333384,42.8142433,22.7995529,3.3282242,16.1658535,13.3088004,40.5356719,16.1129289,2.1488883,2.1244899,26.9135107,20.7507347,54.6090154,16.3493721,33.8689207,64.974744,31.333752,41.8747017,22.660837,3.0911114,15.2924524,12.9563376,39.7586407,15.6040216,2.0966648,2.0722663,27.199215,20.9440103,54.8241513,15.7002649,33.9420155,64.4734743,31.144776,41.7114217,22.6648263,3.0856285,14.4454742,13.4177708,40.6717362 +699,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9685301,1.9968611,32.8725446,28.0368756,54.2516498,8.5483005,32.551031,65.8349635,30.2414234,44.1887046,21.2392411,2.7909354,14.0661951,11.8059471,33.9803315,24.3408775,1.8985754,1.9262444,33.1492734,28.5151335,54.0792124,8.6738955,31.3694732,64.8204499,29.5161249,46.0798047,22.0138027,2.7875798,13.9329212,11.5384397,33.4491951,24.0018771,1.8727647,1.872766,33.4729694,28.6170971,54.3292057,8.8797509,29.9459342,64.1012195,29.2896501,47.8043463,22.8261686,2.9106989,13.88804,11.3026659,33.5362321,23.6468559,1.7319702,1.7496803,33.2051053,28.2247035,54.4534343,9.3179289,29.0171415,63.43612,28.3287438,48.4291218,22.7045298,2.977035,13.6975973,11.0345625,33.2990364,22.8062673,1.7484579,1.7725687,32.7770225,28.0124933,55.0540857,9.695707,29.1026045,62.7772768,27.7376823,49.1255655,22.6465569,3.1640969,13.4703528,11.0295956,33.6088806 +700,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6363602,1.6055781,24.8493974,20.2153652,65.8932895,9.5238957,35.2677536,67.4283311,37.9638491,45.7603546,24.7751454,6.1974704,12.2339232,10.7802248,36.2471126,13.6076035,1.5545823,1.5641515,24.0674565,19.7688747,65.3546298,9.1760887,36.0704869,68.1891603,38.5978323,46.5364592,25.6045003,6.0800222,12.6007172,10.7249817,35.3487627,12.8008837,1.4136513,1.4231055,23.3295009,19.2154489,65.5615591,8.9826317,36.2026713,67.8060451,38.2438757,46.4034104,25.4650285,5.780431,12.3829387,10.6008144,34.0209721,11.5991069,1.3680364,1.3663681,23.1697444,18.9120895,66.1048356,9.0723538,36.2931984,68.6574071,39.2724682,47.0936005,25.779907,6.0101806,12.9553271,11.0517543,34.1566878,10.5321625,1.3209129,1.3440309,22.6872025,18.3407981,66.2890701,8.8432737,36.1650023,68.6229883,38.5783364,46.949222,25.8419987,5.9064755,13.4631991,11.3671107,34.3380996 +701,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9246037,1.8999414,27.2378662,20.9907826,54.9475713,15.4601723,33.5935995,64.4507901,31.2658235,42.3526097,23.298247,3.0661672,14.4764024,14.278193,41.9535469,15.1042171,1.6819874,1.6564585,27.4625747,21.4855348,55.1500833,15.1938295,32.6636243,64.6381823,31.7475362,42.3708809,22.9092738,3.0468666,14.6085052,14.3907661,42.885303,13.8112431,1.6897231,1.7359796,28.4280615,22.2590293,55.0656133,15.6126255,32.8613556,64.5589109,32.0209701,42.5829081,23.5813976,3.1584871,13.9781214,13.6614976,41.5083353,12.6198524,1.7296814,1.7178858,28.9408397,23.0913263,56.0076386,15.9595687,32.9225778,64.8184137,33.1312031,42.4511049,23.8444921,3.1248062,15.2845851,14.6880802,41.7402894,13.2811838,1.7389139,1.7527948,28.906992,22.9630354,55.3079441,15.5522609,32.5872934,65.0844141,33.7032625,42.6274187,24.5246192,3.2799663,14.8371128,15.7702682,40.6587397 +702,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1937415,1.2774788,19.6487119,14.9648712,72.1126083,20.4545455,33.483626,65.899383,30.4461319,43.3080209,21.6658757,5.0071191,11.8485742,8.497053,35.326087,10.1769912,1.5138268,1.5698619,20.939759,15.6385542,73.325,19.5673311,34.1949778,66.6420483,29.7636632,42.2698178,20.7533235,4.8005908,11.5934627,9.2252803,35.303186,10.7988166,1.6564083,1.6885331,21.0769981,16.2524366,74.3195565,19.2667323,34.8854582,67.2061753,30.3037849,42.4551793,21.1404382,4.8057769,11.8239661,10.2116402,36.2326574,11.1594203,1.7317026,1.7634055,21.7862301,16.8271545,73.7929318,18.6040856,34.9975406,67.2651254,30.4722086,43.4579439,21.4707329,4.7958682,11.8998979,10.0510204,35.5087359,11.7231638,1.7701318,1.7949959,21.9542516,16.7826952,73.470948,17.6661669,35.1617796,67.0626896,30.4095046,43.6046512,21.7644085,5.2325581,12.6321353,9.8732841,35.1595745 +703,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.9590611,1.0307569,14.7750416,10.4123946,62.7823414,20.5518391,30.0304807,64.0752078,31.0467515,46.7987808,24.6443096,8.5535268,11.8521127,8.6159205,37.5000088,4.6627021,0.9506226,1.0060243,14.8453168,10.3395984,63.2904979,20.5386678,29.158279,62.9946418,29.8625147,45.9926223,24.4634513,8.4339406,10.8191156,8.2421363,37.1023547,4.5719871,1.0699193,1.1167188,15.1359344,10.5271793,63.6439268,20.7819614,28.4795552,63.6378694,30.1286356,45.7618768,24.9835117,8.3938025,10.2744331,8.4728751,37.4915559,4.8757198,1.0974412,1.1363867,15.4644193,11.1824678,64.0006631,19.9069663,29.4607861,63.9705937,30.8660219,44.3300697,24.1339899,8.6437942,10.173445,8.8392285,37.9368382,4.4339648,1.0927661,1.1653834,15.8569005,11.5973316,65.0833372,19.5173351,30.4125434,64.0429033,30.6105666,42.8547892,23.7788774,8.5643598,10.2931347,8.6218404,37.918346 +704,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5701135,1.6562851,19.7792223,15.6894548,68.7614728,20.5692651,34.6418401,65.8646716,30.1917364,44.9167566,21.1107043,7.7605017,15.5563885,11.3836259,35.6775011,9.815428,1.5668681,1.6620096,20.1341063,16.0021638,68.6990526,20.1190796,35.2500956,66.4658393,30.576825,44.9251324,20.682712,8.0138846,15.8608309,11.4003216,35.3353461,10.5752872,1.7646931,1.8432653,20.3751123,16.2964227,69.3979831,19.5762302,36.2820597,67.124511,30.7508946,44.5237708,20.7875375,8.5897326,15.8840676,11.2049881,35.8093231,10.7201222,1.5729752,1.6213329,20.8865506,16.5815246,68.6708699,19.5100009,36.4120772,67.9213898,30.7565228,43.9772134,20.4737267,8.5750868,15.7206753,11.4981187,36.8123686,10.8837881,1.634046,1.6598147,21.3918486,16.9481909,69.0476021,19.3896428,35.5190581,67.5470986,30.7536061,43.4244383,20.5208562,8.2194174,15.0367536,11.4675432,36.8050506 +705,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7297519,1.7177965,21.7242326,16.5144555,45.2550159,13.9369776,37.7460373,70.3182655,39.3588521,50.8569574,27.3925086,3.3557871,13.4500113,11.8618731,39.9697823,11.1905185,1.6416282,1.6295399,21.5445294,15.9352902,44.556985,13.7935982,36.6603416,69.3143376,38.0753527,51.70179,27.6458925,3.3279953,14.5791598,12.7883664,41.0191868,14.0553456,1.7949418,1.8009367,21.5874156,15.651499,43.7282751,13.9441216,36.0768801,69.4294908,37.7910851,53.0633557,29.3237868,3.4024991,14.2642557,12.7755424,42.5050445,14.3805437,1.8432098,1.8491224,22.0354017,16.2826786,44.2018909,14.9260751,35.4969305,69.1230926,37.9095777,53.3095417,30.4662465,3.4649942,14.2786013,12.8115592,42.9789297,15.9192968,2.134157,2.1398286,22.8167003,16.6266754,43.7468219,15.7344439,34.687372,67.0851899,36.4106674,52.0679585,29.2712913,3.4711995,13.6363541,12.4999904,42.5747059 +706,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3193029,1.3432082,18.5160123,12.9198641,79.7532935,12.430409,31.6314351,67.5286348,37.7174794,40.8076361,23.9382334,5.575756,11.0789202,11.2409271,36.5003943,10.6619921,1.3168046,1.3403864,18.3041685,12.4659827,79.810524,13.9350285,30.2478861,66.1255237,37.5845882,40.7472552,24.9475457,5.622353,10.3916608,11.4930214,35.830358,10.689869,1.5693735,1.5282186,18.9652967,13.0189329,80.1083497,14.007379,29.7873476,67.8596538,38.2844387,42.9887993,25.8085635,5.7412316,10.0716375,10.7975213,38.3493909,9.375,1.7248646,1.6841793,18.6397038,12.8565021,79.9086653,14.2110088,28.3291598,69.0722009,37.2795975,44.7154076,25.3768326,5.5055008,10.2852613,10.8218836,37.3364802,8.9285714,1.6042079,1.5638738,19.1186622,13.5808428,79.2749237,14.3527174,27.74539,69.1766924,38.3658762,47.2240189,25.8000396,5.8863091,10.4977319,11.7327592,37.241253 +707,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2173552,1.2525603,18.4792807,14.3540259,78.0235797,16.1269028,36.0538277,67.2107571,35.0229078,47.4131183,23.9881513,6.4051128,12.1937059,9.5247333,34.5294139,10.7908641,1.0668729,1.0843705,17.6101659,13.7237872,77.9832494,16.4238317,35.3680016,66.7704898,34.9515866,49.9812551,25.8847954,6.1801714,12.3693492,9.5542641,34.4457451,10.4605063,1.1480496,1.1540747,17.82617,13.9425162,78.0408942,16.3494277,33.6144709,66.8116679,34.5046841,51.2891275,26.4742951,6.2592466,12.4670021,10.3285513,34.7966435,10.9937723,1.1481633,1.1540864,18.1266187,14.2352356,78.0320658,16.8073368,31.9463336,66.7604724,34.0949174,52.358155,26.6295363,6.127069,12.6061332,10.9530867,35.4112303,10.6801764,1.182658,1.1884345,18.5377575,14.4359385,78.137993,16.8681459,31.48761,66.6456696,33.9582829,52.8352297,26.8484548,5.6789681,12.2061483,11.0166389,35.1001712 +708,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.406095,1.406095,19.1101196,14.1475829,79.0303175,14.6129243,28.4549922,68.9281752,37.9544808,47.2861809,26.4335934,6.0261602,9.3124189,10.5540747,36.9721887,6.640625,1.2468354,1.2468354,19.2023142,14.3899898,78.7590743,14.7162995,29.7746395,67.4984759,37.4211261,46.7948721,26.4296309,5.8014318,10.4264725,11.4578034,37.870141,6.554278,0.9410881,0.9410881,17.7929738,13.2294708,78.6828468,15.0784035,29.863634,66.5184312,36.8631789,46.5382023,25.8572234,5.7598749,10.4060993,12.6204133,40.2068943,7.3973095,1.0384994,1.0384994,17.3953555,12.9723159,78.8083778,14.6590167,31.014919,66.4329892,37.4222633,46.1936844,24.9088858,6.0034927,10.2694248,11.8024128,40.2408752,6.0738798,0.8870529,0.9135011,17.2712727,12.813537,78.4923498,14.5063052,32.193332,65.5668939,36.6980939,44.7202385,24.195573,6.1673126,11.0929207,12.1148366,38.3289695 +709,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0729058,2.0729058,26.717743,22.4146178,46.289215,16.9141071,36.4000764,69.1452033,36.8416351,57.8546206,31.11463,3.2217675,11.6769502,10.4558425,35.8553829,27.9206578,1.9112136,2.0210427,27.4611368,22.5007421,46.5775681,17.0518241,35.2990708,67.0929825,35.6545802,56.2625436,30.064692,2.9749366,12.016279,9.9019017,34.0120725,23.2713576,2.3183321,2.4273945,27.7276758,22.6082904,46.9854272,17.1775083,35.758128,65.9240958,35.4036395,56.0150665,30.2044961,3.148604,11.8524739,10.0603792,33.962364,24.1022811,2.2589083,2.3803075,27.9470093,22.7265725,47.3755508,16.7980318,37.2812893,66.025054,34.9305081,53.9459199,29.0428018,3.1780962,12.6103427,10.6319464,32.7700955,25.988207,2.0037483,2.1230494,27.6209988,22.996843,48.6085204,17.2183005,38.8260162,65.8718927,34.6467167,51.6484326,28.1943964,3.1132597,12.9862236,10.317746,32.4744245 +710,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6074983,1.7411857,24.9845359,18.9648744,49.2642707,18.4373653,32.7686141,66.5193597,33.2456615,54.7675312,25.9080223,3.0708006,12.558423,10.4191017,38.7647025,16.1745282,1.7834693,1.9727544,25.0574747,18.6983018,48.5889746,18.0457059,33.5838139,64.9869111,33.4047366,54.0568281,25.8792588,3.0147688,11.8771809,9.8729745,40.1514919,17.582635,1.7547355,1.9975508,25.8686169,19.4956109,47.6426297,17.946375,34.1337678,65.2759107,35.0810697,53.8475015,27.4418207,3.345118,12.6152247,10.874562,40.6612834,17.7824984,1.959139,2.1168903,26.0649287,19.9938133,47.8662765,17.4247831,35.9161847,65.6405535,35.9162146,52.9596004,26.345257,3.3791298,13.1119028,11.3372003,40.1054192,18.0498375,2.1761941,2.335267,26.3461788,20.4918521,47.9963437,17.2129995,37.1130049,64.2765538,35.7216677,50.0604879,25.67968,3.3574035,12.5591021,11.6979225,39.5356381 +711,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6305258,1.6647202,21.5331189,17.4350275,69.3644814,18.8387603,35.8299804,66.7464052,31.1188905,43.7430898,20.6293587,8.1523619,15.0109459,10.936349,36.3603041,11.0305869,1.6648984,1.6995052,22.3353399,17.8571468,69.0143393,18.5777865,35.5204664,66.5985255,31.0223529,44.1449655,20.6877458,8.0483107,15.0852316,10.4228371,36.2789303,11.4173138,1.4879138,1.5052643,23.0070636,18.4834927,69.6721168,18.1802008,35.7731185,66.6230002,30.7937606,43.747639,21.0595667,8.0306791,14.9193384,11.0418074,34.9446846,10.5891635,1.3758884,1.3845213,23.3873988,19.0379461,70.5137705,17.6178789,35.9456234,67.3306134,31.6270034,44.2479426,21.3887074,8.1347472,14.3013152,11.3255761,35.693355,10.1097099,1.1125871,1.1607255,23.9862267,19.5329449,70.0633344,17.4347675,35.152506,68.0080691,31.3304298,44.2668122,21.1135726,7.7361037,13.7050424,11.4830925,34.7242713 +712,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9471242,0.9899433,13.7421481,10.0489668,77.5429099,7.1296831,29.0522325,67.0131415,32.719461,40.1957582,19.0968196,6.4457092,11.2191708,9.8107678,36.1760857,5.6575732,0.963231,1.0176744,13.7193425,10.0364145,76.7356623,7.4083384,27.6498597,66.3588084,32.3918483,42.2048003,20.2209961,6.5853702,11.2894176,10.1362437,36.2623752,5.6308866,0.9379862,0.9811306,13.6421747,9.8151191,76.4639224,7.7897263,26.4112867,66.2103408,32.0291479,43.6338757,20.9610174,6.5201574,11.376779,10.204535,36.9044059,5.4367201,0.9134585,0.9594847,13.5666164,9.5828033,76.4539191,8.3389916,25.5545529,66.0411207,31.8324089,44.7487821,21.3951228,6.61779,10.905082,10.0343699,36.8029965,4.7845551,0.8400058,0.875016,13.367953,9.3733238,76.189757,8.3679334,25.3712229,65.629574,31.5290895,45.4338966,21.7339724,6.6947595,10.8558629,10.06086,37.144494 +713,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.205917,1.2170697,19.0104308,14.5971414,77.5933348,17.0564131,31.8124643,65.9719677,33.5529744,52.5406099,26.7491946,5.7928748,12.4375446,11.0496216,35.3649658,11.192341,1.1933922,1.2164582,19.5370888,14.9947828,77.9247731,17.1997304,32.3472099,64.8765756,33.266712,52.1080907,26.8302265,5.8899851,12.1196014,10.8849534,35.607396,11.1412838,1.2735885,1.3076124,20.3041196,15.633259,78.348396,17.2084328,32.9603518,64.4993431,33.2126688,51.8841166,26.8544031,6.1311799,12.1072378,10.5811905,36.1149199,11.0821945,1.319809,1.3535911,21.3437838,16.3808799,78.7599265,16.6886694,33.6876526,64.6551729,33.168734,49.6401121,25.3347832,6.2186142,12.4703799,10.6876599,36.2815089,11.7435807,1.3695213,1.3863172,22.1406303,17.0242692,79.11854,16.2688571,35.0268778,64.5364443,33.1457843,47.8585815,24.6976768,6.0715488,12.1947023,9.8981229,36.2718169 +714,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.9788189,1.9788189,27.127653,20.475937,45.1156957,13.11589,39.7654349,67.0078191,34.6786857,51.7667205,31.7923819,6.3853626,11.732898,12.0772063,35.2738948,12.7155172,2.031218,2.031218,28.084366,21.821647,46.6656159,13.1787668,39.8330465,68.210829,34.0803733,51.4034148,31.8604773,6.5000172,13.4971083,12.8009938,35.8979222,13.6574074,2.1351559,2.1519153,27.7517648,21.6639081,46.5719421,12.3705982,39.1272968,67.4943785,33.9380294,51.1545205,32.1452108,6.6580101,12.3092259,11.9100902,34.5849067,14.8584906,2.0255539,2.1094123,28.4457771,22.341172,47.2584151,11.7546468,39.5642994,67.05745,33.5792162,49.8644235,31.7901602,6.2983525,12.9173161,11.5834917,35.0574937,15.258216,1.8096478,1.8935703,27.5313132,21.7322165,46.3734896,10.9617967,39.6322698,66.6233455,34.1573349,49.7889336,31.7136422,6.0828131,13.2268137,11.0197646,33.6028057 +715,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9523789,0.9660534,14.9629592,10.4179913,48.61868,13.5643988,36.3238879,71.1500787,37.3440897,49.0044951,25.9376245,4.1560901,10.9259217,9.062892,38.7920589,7.5980882,1.0543886,1.0680855,14.8951426,10.0579023,49.2294482,13.5339159,35.3858017,71.5233567,37.2668241,51.501187,27.9272482,4.1814605,10.3808307,8.4049142,36.7866279,7.8283333,1.2095199,1.2228604,15.2459979,10.2116627,49.7562551,14.3485916,33.2636992,69.9582309,35.888988,51.8794498,28.0131277,4.0274499,10.2853712,8.1354106,36.7506424,7.0048792,1.2775565,1.2905487,16.1066571,10.8587249,48.9809019,15.0155787,31.4726497,69.7415901,34.739511,52.1822108,27.7391232,3.9960714,10.4000727,8.2072186,37.68068,6.8720853,1.5348715,1.547857,17.196205,11.4361697,47.991112,16.1688798,31.8386437,69.2615014,34.7623126,53.4152653,28.9734832,4.414737,10.1742434,8.1843148,37.8920689 +716,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4015987,1.4261199,22.3877048,17.3194095,79.0122336,15.934705,36.2208099,64.400941,33.498575,46.6392203,24.5252899,6.2258444,12.320072,9.9245732,36.2301256,12.5891819,1.4226162,1.4474216,22.7212502,17.8233538,79.6130659,15.5721226,36.2485178,64.3124239,33.4608227,45.8864508,24.4518103,6.4677885,12.0629941,9.8545203,36.3207525,12.8983938,1.4885799,1.5232446,22.7825537,17.9611083,80.1212106,15.2825855,36.4982569,64.6702598,33.7369543,45.7985731,24.5043916,6.4966725,12.3351813,9.739584,35.731793,13.323488,1.6303267,1.659824,23.2363384,18.5114226,80.1245036,14.9607705,36.3811882,64.4304803,33.725133,45.5504995,24.6234868,6.3356219,12.2779419,9.9025378,35.598882,13.7168142,1.6342884,1.6570829,23.5742821,18.8413462,79.7811639,14.4188961,36.4601168,64.7110588,33.7153604,45.3805844,24.9120388,6.2342867,12.6777541,10.2666191,35.9587877 +717,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.179705,2.208283,23.8383267,17.4491633,42.8972823,15.9068613,34.7815455,66.4101388,35.7746099,51.9116402,29.1708006,3.4508472,14.1499814,12.0620432,43.6116442,16.1764978,1.8761845,1.904542,23.7626079,17.1311779,43.6331324,15.4871525,34.6342644,65.267547,34.6342889,52.30732,29.5287059,3.3136958,14.3643558,11.7735465,42.8212693,16.5948634,2.1160806,2.1391753,24.0527496,17.338119,43.9646369,15.4681527,35.0538017,64.2123227,34.0264375,51.0518529,29.1829585,3.0577285,14.2219849,12.1407343,43.1479432,18.5416976,2.0812659,2.0593548,24.4680798,17.9432591,44.3978216,15.328298,36.2655708,64.5014388,35.3547691,49.8801461,27.9721908,3.0441072,14.4466169,12.1701011,43.5230499,17.6087263,1.9138462,1.8745586,24.8678531,18.4767029,44.6149809,15.0721232,37.7013003,64.2020549,35.6027521,48.2918403,26.8667629,3.2942939,15.3500007,12.7245698,42.1765091 +718,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.0835296,1.1288605,15.9166614,11.7166635,65.2398419,19.4012982,31.999343,64.3445325,31.8017177,41.7819486,23.9624527,8.7450625,10.387439,8.4999967,37.1054414,5.2875725,1.0513126,1.1053083,16.5414789,12.3420958,65.1443131,18.5643619,32.7794627,65.407858,32.2423662,41.9100395,24.5552239,8.6774111,10.2697062,8.8743056,37.0048634,5.6481513,1.0643889,1.1083302,16.9185825,12.5214703,65.4449354,18.6629126,32.6072315,64.5896706,32.4045972,40.4424216,24.4343176,8.7639341,9.5942206,8.0755984,36.2343935,5.6756787,0.9994715,1.0799743,17.9757766,13.4429068,65.3463599,17.9559913,33.9049272,65.6876092,33.3955892,40.8998359,24.6010228,8.6417683,10.3152825,8.3846652,36.6620564,6.5740777,0.9423649,1.0232711,17.7151721,13.4289656,65.0807218,17.2454171,34.3930584,64.5868766,32.6589638,40.4114255,23.7164301,8.279497,11.4612145,8.8865841,37.6310239 +719,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.307593,1.3542429,24.0597475,19.8418317,70.3469489,16.9542746,34.6469,67.4215328,31.4372432,44.2760307,21.2018729,7.6141037,14.1522544,11.7993181,34.9721026,9.8297138,1.4098523,1.4576182,24.8113372,20.3557266,70.6851925,17.002563,34.5914991,67.0495978,31.8198437,44.6936597,21.3530415,7.7133268,14.3525178,11.6187118,35.0616224,10.0474684,1.3864348,1.4298115,25.9760697,21.1572317,70.3683085,16.8378388,34.248245,67.5816382,31.8801683,43.9002787,21.6900307,7.4811397,14.4230714,11.431627,34.6623286,10.4739901,1.5050357,1.5680952,25.7380153,21.2588969,71.3108711,17.3194891,34.2713546,68.0075759,31.267236,43.6291688,21.3225277,7.54487,14.0859486,11.6382316,34.5147482,9.9550675,1.5470846,1.6246642,25.5153078,20.9940266,71.3032672,17.2638912,33.8939561,68.0767834,30.5300327,43.9177854,20.6761656,7.7981466,14.2126694,11.0921844,35.1545992 +720,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.2905182,1.2624461,17.3432946,12.6949159,64.3608746,18.0612269,29.6253551,67.2887333,31.9992182,50.3701558,24.1668661,4.0259761,11.6108423,9.9639813,33.1250567,8.9928634,1.3679867,1.3437252,17.9959881,13.1503648,64.4985482,18.2955014,29.9319475,66.2918124,31.8052996,50.2126721,24.454399,4.2680168,11.4508964,10.1655849,33.6774406,9.1989877,1.4607001,1.4237103,18.229444,13.379346,63.926246,18.031507,30.1845515,65.8134324,31.1416693,49.0434217,24.1589157,4.2378133,11.652773,9.7523879,33.2839782,9.9920239,1.3586628,1.3180311,18.1902666,13.2153177,64.1336115,18.1610578,31.0865971,65.8662002,31.0544211,46.9718523,22.9232545,4.3708799,11.4228121,9.5992401,33.2354295,8.7842419,1.358855,1.3180798,18.6845526,13.3625579,64.0438839,18.1505685,32.634902,65.8091759,31.715614,46.413674,23.2644133,4.5783552,11.6340726,9.6409415,32.892436 +721,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9624132,1.9586818,28.3532354,22.6024191,56.0431242,15.7035493,32.3593493,65.3602804,33.1080172,42.8601531,25.003567,3.6440455,15.230849,15.6755827,41.2100158,14.0172317,1.9213414,1.9240793,27.4539799,22.0261429,54.6153289,16.1815343,32.8429904,66.2409891,33.8941859,44.1273683,26.2100869,3.7416112,15.3196477,15.3869648,41.3954057,14.4774866,2.1531673,2.1558401,27.1467812,22.2298304,54.3696022,16.0888434,33.6551471,66.9362561,34.1906498,44.1885539,26.0089074,3.6989287,16.5038117,14.6221448,41.793504,15.1196066,2.2249683,2.2061335,26.2417708,21.6362897,53.8029784,16.8858331,34.1013043,66.7573033,34.5038271,44.1412544,25.5379139,3.7591412,16.0395297,14.0147322,40.1412733,15.4177119,2.1593939,2.1268111,25.7091614,21.2103908,53.4092857,17.5406338,34.7844812,67.4024642,34.7214477,44.7813039,25.4443149,3.7372505,16.1184608,14.5701392,41.2291097 +722,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6140418,1.6911646,17.360328,11.0634347,53.5080968,17.9181646,38.8188293,71.4017076,35.63348,46.3673439,27.7652871,3.639391,13.1350375,11.6283199,42.1478244,13.0951105,1.3620948,1.4735402,16.8162292,11.1225638,54.6176453,17.089342,37.2188868,71.3603178,34.7264375,45.8899489,27.1035766,3.6432294,13.9486013,11.6867674,42.3881521,11.563612,1.3284161,1.3930286,16.3243795,11.0253325,55.2480761,17.9710351,36.6179592,71.5039583,35.4727147,45.798883,27.8388354,3.9750377,12.1211875,10.3290697,41.5228243,10.6582065,1.1298925,1.1974172,16.5057443,11.5742957,55.424617,17.7078062,36.0903497,72.459431,35.8924156,45.8286724,26.9417357,3.6414176,11.0618389,10.0031634,40.089166,10.5430888,1.0052196,1.1528307,16.8063536,11.7147815,54.7076255,18.1665226,35.7503653,73.2609236,35.9633628,44.8653752,26.2931177,3.5912151,11.2313095,9.3023478,39.7455459 +723,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7390032,1.9141194,18.7262628,13.5740678,50.8888041,14.7623516,36.0796592,66.4211788,35.4810248,45.8577049,24.0727944,3.3613596,13.6900959,12.3481725,41.0834376,12.7586721,1.6666632,1.9017434,18.2686154,13.2589427,50.4151518,15.0490931,36.9743204,65.8456257,35.605634,46.1601751,23.2421053,3.0736198,13.5607188,11.5064596,40.9730521,11.7449547,1.6197433,1.8624302,18.7830187,13.4262528,50.1031452,15.4970812,37.1706004,65.3174043,35.8978654,46.0999623,22.9675089,3.1790156,13.5583272,11.5496984,41.2062625,12.5899723,1.506697,1.8243788,18.8149833,13.5708802,50.4821474,15.2379614,36.4789898,65.7908992,36.1243234,45.5377107,23.6041926,3.498278,13.8767453,11.6740997,40.9095333,11.9230621,1.3321579,1.6537188,18.5754054,13.0438665,51.0816885,15.8875537,35.9867518,67.2000041,36.0046638,46.2493562,24.4897312,3.5289199,13.5327276,10.4268966,41.7702988 +724,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0538792,2.0494411,25.7396969,20.821721,52.5666248,17.7479625,34.4021162,67.4350183,34.2956982,45.5578013,25.455807,3.561749,15.6508127,14.4093224,40.6084818,17.9600443,1.9630297,1.958637,26.2062928,21.2369226,53.1373758,18.4196078,34.7267605,67.3354451,33.552286,46.1706503,24.9444102,3.7626945,15.8051435,13.6918568,40.7996127,18.1951083,1.8838216,1.8795436,26.8410419,21.5030516,53.0544278,18.9153768,34.6597162,68.6863712,33.8911297,46.5234544,24.1567325,3.7455711,16.3020307,13.9751909,41.3611348,16.6037875,2.1067992,2.1353812,28.1046176,22.7283052,54.0123246,19.3599064,34.0532686,68.4895107,33.6236053,46.0462616,23.9521317,3.6347174,17.2660003,14.6585847,42.0102447,15.6583483,2.1761594,2.2050687,29.0275218,22.9883785,54.0506196,19.432912,33.0026717,68.7991037,33.2007749,46.3700427,23.5347168,3.3848028,16.472162,14.8078545,40.9300663 +725,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0372997,2.0579391,24.0845,18.6639335,57.1056997,11.5364971,29.1061306,66.3721736,32.6568061,43.021783,21.6745918,4.0554582,11.1632294,10.7199919,35.7914752,19.1705291,1.9401058,1.8991776,23.9988596,18.6778503,57.2435643,10.8556939,29.3646742,66.3569119,33.3693566,42.3860751,21.3251231,4.1103366,11.460468,10.8744431,35.5759787,19.194663,1.9615334,1.9204355,24.2211696,19.2900801,57.3023704,10.0647082,29.1288432,66.2323647,34.0388179,42.6544099,21.4587444,4.2659607,10.297316,10.0442502,35.5759787,17.9726773,1.8624153,1.8529505,25.3576354,20.273774,57.8722614,9.8036025,29.3224051,66.013086,34.6406727,42.9570336,22.0203374,4.3714547,10.4157235,9.7550436,34.1388216,16.2181701,1.7941903,1.8112314,24.8428891,19.736251,58.7456297,9.487828,29.2570694,65.9867805,34.7098977,42.2066574,21.5848325,4.2212688,10.0634758,9.3233705,33.6983556 +726,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8590208,1.0111231,15.8954336,11.5807453,54.8136075,18.4410267,34.8406415,72.6754831,35.3329166,45.5090749,26.5076214,2.9914497,10.7579201,8.9837277,40.8353065,13.2427385,0.8637621,1.0396606,15.425108,11.2578326,54.5378058,18.3631253,33.3775008,71.5879322,34.8576511,48.5702263,28.9268977,3.4045687,11.4238926,9.8606742,41.6006469,12.5967544,0.7843802,0.9501792,15.9460827,11.5827086,54.0902581,18.7274689,32.6478629,71.771466,35.8413539,50.924784,30.4783363,3.1699562,11.1059964,10.9166255,43.072329,10.6257362,0.621456,0.7469481,16.0767615,11.3840931,52.0415371,18.9291945,32.5686806,71.4682574,36.6721282,52.9148452,31.6622094,3.1724658,11.3165648,11.1580025,42.6473925,9.3491754,0.918803,0.9445646,16.6414903,11.7186418,51.5028039,18.7537895,31.5219314,70.4245654,36.2372911,53.65178,32.1201642,2.8327078,12.6011588,11.0655523,42.802715 +727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.0600664,1.1196449,25.2693727,20.1216926,84.1681001,11.8315832,30.8101142,63.6767954,32.9134353,37.9167197,17.6199427,2.5899897,14.330104,12.7097616,42.5786187,14.9719266,1.1415898,1.2014338,25.4517092,20.547496,85.5970547,12.3233979,31.202309,64.3338014,31.7708331,38.4159828,17.6246612,2.9744892,14.3296509,12.0625077,41.9521293,16.5886369,1.5009354,1.5009354,26.1534665,20.5947495,85.4249545,12.231545,31.1816034,64.1337197,31.3047999,38.5413412,17.5900833,3.2957683,14.5139391,12.0162141,41.5313246,14.1880133,1.6171299,1.6171299,26.162189,20.8056108,86.4880441,11.4586896,29.6672105,64.1164323,30.0003049,37.7017209,16.7900574,2.9152966,14.4268176,12.2703161,40.6208838,15.367942,1.8097445,1.8072552,25.9450496,20.6646867,86.2915122,11.4696452,29.1255241,65.5359625,30.3436397,38.3365648,16.9144208,3.0842316,13.7107158,11.9047366,41.7123494 +728,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5893506,1.6662771,25.652484,21.1265312,71.6706136,17.5125271,33.6772319,67.1684358,29.7529861,43.2510066,20.2807672,7.2902386,13.6270166,10.3483701,33.5507779,10.8391229,1.7138707,1.7698099,26.2890114,21.6584488,72.7256809,17.8559437,33.4626445,66.5035385,29.8176987,43.1825676,19.9628621,7.1042694,14.0849559,10.308263,34.0783911,11.6978219,1.7125067,1.7526422,26.7938842,22.0971899,72.6917439,18.7582709,34.0214263,67.2540996,29.75826,42.950628,19.5871006,6.898273,13.9558636,10.3722046,33.5294114,11.7236637,1.6309799,1.6764901,27.0703913,22.3692504,73.3862665,19.0393106,33.7029565,68.3863355,29.5885157,42.3175494,18.7881669,6.8948758,15.0788189,11.0125394,33.1683281,11.7753268,1.9001396,1.962947,27.2120799,22.524074,74.2159689,19.6609607,33.3922153,69.1454609,29.1840153,42.2582453,17.9087541,6.8904472,15.8631663,11.6362913,33.2788068 +729,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84163,0.8686476,13.4254598,9.5643225,76.6016454,8.7091847,25.1857718,65.6149705,31.0279953,45.6155627,21.559524,6.6855773,11.0820528,10.1709467,36.9773375,4.1824069,0.9366899,0.9501602,13.9621845,9.9398114,76.4863933,8.8313062,25.7318203,65.1333559,30.7562715,46.0109203,21.5955571,6.672591,11.3242405,10.4576771,37.1998978,4.2758439,0.9192591,0.9268,13.7406031,9.83461,76.763532,8.7482043,26.1227906,64.4898449,30.3340802,45.3521058,21.6433533,6.5031644,11.6562718,10.3969758,37.6328528,4.5595322,0.9373208,0.9370062,13.8012742,9.9290736,77.1255827,8.5923255,27.4785062,64.9664327,30.3614261,43.5357749,20.7575174,6.3604724,11.4817826,10.2954372,37.8770682,4.4368185,0.9513587,0.9701548,14.070361,10.1060182,77.2518677,8.4565615,28.8462566,64.7661252,30.422869,42.5868592,20.1564332,6.2759497,11.8893782,10.479828,37.3292567 +730,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4642757,2.6051085,27.7554984,22.186968,48.4278795,16.7953466,38.1557369,64.1384609,36.4035564,49.8791583,26.8570741,3.7762911,14.0118635,12.8848489,39.6916733,20.528497,2.2705453,2.4696176,28.3888114,23.1352614,47.5435833,16.5045565,38.9147024,63.9002801,36.893966,49.2651792,26.4228199,3.643465,13.7385362,12.7188139,39.9134246,21.2446625,2.2744262,2.3314013,28.5508889,23.5391285,48.2467385,16.2608066,38.7509088,64.320303,37.2143933,48.7093239,26.7661063,3.9027371,14.3122166,12.3257097,40.5272528,22.0454746,2.2246449,2.2246449,29.42068,24.5717239,47.8105254,15.5305526,38.2475169,64.2339194,37.5812835,48.0609969,26.4371114,3.9670687,15.0360394,12.7004562,39.5904721,23.4913692,2.142179,2.0866923,29.9124606,24.7665208,49.7846317,14.8146847,38.4341679,64.2601473,36.8764313,47.4228535,26.3317465,4.044124,14.0860464,11.8030446,38.3010344 +731,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.7751932,0.8444109,17.157627,13.1236858,86.3574524,11.6746161,31.4943558,67.3725531,31.0358795,46.5741242,18.5460046,5.9212678,14.2349816,12.301416,32.3335755,7.66726,0.7264445,0.781131,17.0838612,13.0093253,86.8097722,11.8913424,30.2163765,67.5913358,30.7848647,48.2409086,19.472271,5.8322412,13.6413286,12.137023,32.8839166,6.6738017,0.6545915,0.6831305,16.438841,12.6740146,87.1160255,12.4578406,28.670573,67.1342369,29.7719339,48.9381518,19.9659195,5.6240546,12.5197931,11.8631038,32.6319345,6.1028569,0.530943,0.5593016,16.3209939,12.6343606,86.6710379,12.2944449,27.968178,66.6536173,29.5532186,49.4024589,19.8883079,5.4949709,12.2303209,11.8407461,33.2892822,5.0976747,0.6271285,0.6790374,16.3056633,12.7045597,86.7090295,12.9779385,27.5556515,66.9869403,29.9385899,50.12811,20.0486685,5.7007789,12.5193573,11.8701566,32.4556942 +732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0304486,1.0934105,16.1601579,11.0661614,52.6692736,19.2402491,32.9266533,69.9616486,34.1117546,52.9520658,31.8960647,2.7470828,13.6614009,12.0397008,43.5539998,9.5162618,1.079608,1.067226,15.4437806,10.5861786,53.2484666,18.7976994,32.3785021,69.0246089,33.4559831,52.4673838,32.611969,2.8530943,14.3297978,12.5660824,44.9069804,8.7556741,1.1956055,1.1832856,15.7298556,10.5913872,52.8284549,19.0329464,32.1182707,69.2743957,34.5000597,52.6877663,33.253125,3.0764347,14.334188,13.1647348,44.6030061,6.2337784,1.2937445,1.3320035,16.3338775,10.8573761,54.3445745,18.288212,32.5812916,69.1137635,33.5557166,49.538823,31.205852,3.0620135,13.3372946,12.9789734,45.2182023,6.4221854,1.3509392,1.388851,16.6440704,10.6380576,55.0411965,17.8085858,32.3162862,68.1868303,32.6159988,47.30834,29.4693849,3.6838035,13.0536234,12.1798241,44.8532386 +733,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0016922,2.0295581,30.840526,25.6178755,49.6885892,14.2073951,38.4721895,63.8191624,36.2394092,46.7395438,26.8840332,4.1336892,13.9453993,12.0113489,37.7205921,22.9338559,1.93657,1.9785361,31.7201103,26.3212294,49.4689049,13.481825,38.2357067,64.6143671,36.1739309,47.269355,26.2877237,4.0326208,13.794744,10.937116,37.0604485,22.2457344,1.8700935,1.8747382,31.8587725,26.1731517,49.2847902,13.2828879,38.8825484,64.7426402,36.5865754,47.0375522,25.7694667,3.7763192,12.8497045,10.6703665,36.1031771,22.340397,1.9321991,1.9089755,31.4853946,25.6170532,50.0917819,12.9110515,38.6915669,64.8667614,36.0378985,46.4096494,25.903793,3.6488558,13.1510191,10.8612725,35.5157442,24.703528,1.8609046,1.9207852,31.8505375,25.4516875,49.0449516,13.3186942,39.1580669,65.322025,36.8881654,47.1607937,26.5522299,3.4347825,12.8810851,10.3170874,34.0514381 +734,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8845069,0.8845069,17.2014931,12.7452798,52.8039126,28.8150839,29.1058197,67.244502,32.3904389,46.6241844,24.7262969,6.11312,13.3452315,11.8373116,40.2528927,10.087852,0.5597445,0.5597445,18.627555,13.8148261,54.743939,29.0000318,29.4280282,67.2508988,32.1954968,47.1403255,25.5535352,6.1807937,14.013886,11.5118816,38.6363398,7.5221905,0.9872738,0.9872738,19.7099275,14.59057,55.2065193,27.0620093,30.2264484,65.2438876,29.8780127,47.1255797,24.1289979,6.1846465,14.638162,9.9671238,37.7074778,7.0248805,1.2300478,1.2300478,19.4397542,14.5162536,53.8669482,26.2932484,30.385258,65.0613667,30.2102124,44.2208675,22.854706,6.0420074,12.790659,8.7456456,37.9596417,8.4678444,1.4511204,1.4511204,20.9596081,15.572503,54.0851162,25.4252594,31.0552591,64.9655577,29.6713383,43.5122765,23.2699909,5.7958064,11.9527741,7.859263,38.3442428 +735,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.7482944,1.7783247,25.7464505,20.7501672,86.0844883,11.5918958,28.1798559,65.8387783,30.3689451,39.1656229,17.0635353,3.0605118,14.3138518,12.4093035,40.2816197,15.5502137,1.9360347,1.9664027,26.3639067,21.6714363,86.6184285,11.1457114,27.1456457,65.0881016,29.4329784,40.0789073,17.6660114,2.9595777,14.5808424,12.6137512,40.2754023,13.3708168,1.9769801,2.0071256,26.1803897,21.3126768,86.442352,11.729323,26.2175476,64.0128732,28.9173064,40.9908808,17.9269127,3.3679891,14.4970503,12.254808,39.6662347,13.2527006,2.0033694,2.1294765,26.3661827,21.3196097,85.7134398,11.9667651,25.1318293,61.9517577,29.5134537,41.0026435,18.8850256,3.2996409,15.0001509,12.806253,40.5001754,12.1863929,1.8553884,1.9780908,26.3318189,21.6056851,85.1614194,12.1544524,24.8897758,60.625195,29.6321647,41.6372319,19.6162725,3.4175805,15.0889273,13.4816336,40.5018211 +736,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8565029,1.8165635,24.5472413,18.2329956,44.5552336,14.2193021,39.538874,65.0223116,35.8701089,47.5210406,27.0450905,3.4952894,15.7921735,12.9743696,42.8792511,15.0000071,1.7420152,1.7246696,24.3712478,18.3853236,44.0806956,13.6638153,40.6472487,66.0295658,37.8440283,48.1396149,28.0580806,3.3384251,16.7017756,14.2481733,43.2875465,14.3902509,1.7176993,1.7004027,24.3822861,18.2804123,43.8775816,13.120936,40.2388941,66.2175812,38.0528464,47.7630423,28.4443081,3.4316161,16.4292944,14.0609381,41.9734376,13.8497588,1.8138974,1.7963526,25.3826803,19.0051275,44.1396255,12.9205038,39.8501651,65.8832654,38.5072092,46.7200018,28.331584,3.5898694,16.0512731,14.4831322,43.0412785,14.1826787,1.449814,1.425879,24.7957353,18.6670326,44.5722384,11.980512,39.6730283,66.0871886,39.5692711,46.7825353,28.4120238,3.9698939,15.6445027,13.6694609,42.4163747 +737,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6171976,1.6714902,23.9374414,18.9599095,46.3050082,18.2229979,36.5465979,72.4876199,39.0294472,52.9468725,26.8623328,3.6406631,10.6409787,10.2643068,33.6147546,19.2622793,1.3038916,1.3587076,24.2692984,18.7847083,46.5536012,18.4887157,34.3370463,71.1176218,37.3820861,54.664475,27.2138199,3.1886105,10.4330015,9.8690555,34.0563657,18.5039224,1.18627,1.2187015,23.4833782,18.5061657,46.0630369,19.7739227,32.7394866,71.9331796,37.5012065,56.3642371,27.975221,3.250802,10.1130621,8.6008286,33.3655755,16.2499865,1.0585539,1.0909807,23.7170598,18.9459283,46.5120919,20.0271756,31.2920738,71.6595309,36.9138788,57.6484908,28.6160121,3.2717169,10.8484876,9.7164526,33.3665263,14.229726,0.9861818,1.0474129,24.1611471,18.9412759,46.957285,19.4731849,32.0801647,71.1278794,35.6801083,56.81684,28.1075401,3.0922909,10.7431582,9.8074013,34.522146 +738,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8731915,0.7964216,14.1691764,9.619211,71.7117525,22.032728,34.3079587,68.3910738,31.8591972,42.8037586,20.7147098,5.4722882,10.6351553,11.0495331,32.7755916,9.6456845,0.858218,0.7831426,15.2153277,10.4257623,71.7208106,22.8814438,32.4596794,67.1977028,31.3328005,45.2475934,22.0725841,5.6100193,10.8149641,10.624454,32.9448451,8.9353748,0.9686653,0.888929,15.1998536,10.5376126,72.693902,22.9685372,30.265789,65.1934721,30.8455209,45.724796,22.72954,5.4348055,11.0161819,10.4230415,30.8193293,9.3065464,0.9333828,0.8549042,15.3210528,10.5524002,73.5463746,22.8255758,29.0360721,63.3665776,29.700854,45.9401661,21.7236364,4.8670495,11.7031919,9.7208414,32.6479469,8.3038633,0.9456226,0.89736,15.5673418,10.3551621,73.4162369,23.1175415,28.4490608,63.0787127,29.0046305,46.4583292,21.7824,4.5138912,11.3967067,9.1747608,33.2846036 +739,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2293325,1.2144433,16.0635312,11.044509,57.4485708,14.886469,33.3779331,70.0177946,36.0886553,43.3570774,23.6072569,4.69169,10.9718535,10.3415634,35.6880609,7.2406485,1.159354,1.1521399,15.3544746,10.3761297,57.3090797,15.6405533,31.6498303,69.1794467,36.3001693,46.1047741,24.5704228,4.4875588,10.9845103,10.5343997,35.7454564,7.3613209,1.0335482,1.0241025,14.8440152,10.0834234,56.7401347,16.8422371,30.0707431,68.5414241,36.1823055,48.2875219,25.7010954,4.4729942,10.9785676,10.2322459,35.7321969,6.8822014,1.0584749,1.0492914,14.9014867,9.8733398,57.7984345,17.0838825,29.6779318,68.3385414,35.8578161,49.3387516,26.5160659,4.5846512,11.1209662,10.9959617,36.6828826,6.1514808,1.0613134,1.0521927,14.514689,9.4951176,57.9942848,17.692933,29.3449484,68.0694555,35.5499866,51.0053985,27.0467317,4.6107311,11.0434713,10.8053506,35.9825005 +740,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5105745,1.5105745,17.1857501,11.3749308,48.6851056,16.8882762,32.3478132,69.5864404,34.6359083,53.0550227,29.4305334,4.7191902,10.5454983,8.5645832,39.3693992,7.2093023,1.5054186,1.5054186,17.2572423,11.1414208,48.191879,16.9646342,33.8869255,69.302092,35.7891631,53.3009446,30.4181616,4.7276256,11.3194297,9.814215,40.7898871,7.1428571,1.6262617,1.6262617,17.0516001,10.8933553,48.0916801,16.2540188,33.6566214,68.8661487,35.1373971,51.9195213,29.9272824,4.6891229,11.4848748,10.0423287,41.2764007,5.9808612,1.6159674,1.6159674,17.4696571,11.1918992,48.0089157,16.5147426,34.0658418,68.1487088,34.4979653,50.0000027,28.2863615,4.7802467,12.5798588,11.0416978,42.571566,6.3380252,1.5243866,1.5243866,17.3613937,11.4240621,47.8832903,16.2789142,34.8900122,68.4738865,35.5517638,49.8345704,27.9967768,4.9355644,13.3041156,11.6924425,41.6199168 +741,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3806473,1.3956455,18.7986449,13.545835,64.620453,17.8745826,33.8656521,65.2595912,31.873769,44.6856982,23.1439027,4.8574881,11.8253417,9.2269382,32.6328729,9.3156799,1.5300774,1.5645098,19.0109874,13.6943592,64.7279368,17.3332384,34.5119113,65.7590529,33.2520003,44.1147225,22.991324,5.0463369,12.6355929,10.2576261,33.1787252,10.5776478,1.3967297,1.4209319,19.1336711,13.8909248,64.8479784,16.3101873,34.0969505,65.465137,33.7484101,44.4823818,23.4835942,5.0698713,12.7119736,10.4659576,33.9272262,13.3352253,1.4031807,1.4683844,19.0892842,13.8999565,65.1086679,15.9280185,33.6665895,65.6645917,33.4725323,44.5910894,23.5861183,4.9347289,12.8613634,10.3330964,33.8952432,14.6984184,1.3654174,1.431463,19.5275787,14.4251968,65.8967765,15.2193972,33.570729,66.2995099,34.192848,44.6134938,23.5427442,4.9120292,12.6990677,10.4914318,34.5483092 +742,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.967192,2.0517419,28.8659606,22.9544025,45.8173476,11.2004794,39.2644657,66.3315522,33.3658987,49.0953839,31.1866143,5.8581349,13.3155113,10.8079017,34.4365821,11.5591398,2.0918449,2.1758344,28.7142093,22.7775653,44.4668887,10.9325407,39.0588721,66.4835603,32.7198464,48.345866,31.4278408,5.7232735,14.0713845,11.1183041,34.6353737,10.8331889,1.9271142,2.0096128,28.2851655,22.6598799,44.2243088,10.7660794,38.4608759,66.2532296,31.9127346,49.9313331,31.8461084,5.5240345,14.2611558,11.5040596,35.3896838,10.5404038,1.8001561,1.9172701,28.390288,22.4916953,44.6017726,10.4370683,38.0065976,66.0973365,31.2596019,49.7561538,31.4630632,5.0854642,12.838315,11.2175351,34.8042618,11.7420506,1.608793,1.7086327,27.5129672,21.5123091,44.7852439,10.0424379,37.7719888,66.716188,30.9850833,49.7873894,30.6958106,4.824667,13.2959152,10.9388258,35.788511 +743,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.894139,0.9482743,16.0641676,11.1839128,74.0749243,23.8829353,28.6004483,62.8668218,27.6975134,46.7494345,21.2866804,5.1241553,11.2109776,9.2242221,32.2074307,6.9579032,0.7996827,0.8958904,15.8049891,11.0884344,74.198728,25.0000034,28.8070538,62.0198841,27.5417936,47.2887452,21.6674176,5.3095362,10.9271554,9.3956589,32.1428663,5.4455151,0.8768434,0.9813527,15.7092353,11.246132,75.0000056,24.4973807,28.4166342,60.9685991,26.9128655,46.1079179,21.8266277,5.1083607,10.4553932,8.8590006,31.5126139,5.727525,0.7980459,0.9443958,15.4444448,11.0444434,75.3378425,23.6031715,30.4666731,61.8888976,26.8666629,43.9777801,21.0888919,5.0888907,10.9532579,9.011888,32.8268905,6.0937207,0.6959236,0.8501797,15.5580863,11.1845088,75.1144746,23.3676236,32.104078,62.6470651,26.8552031,43.5520409,21.1990972,5.1809971,11.2616854,9.1970054,33.1296992 +744,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.1648387,1.1976712,16.7993831,11.7341278,65.6142116,15.4197158,29.5362066,67.4773755,32.7714749,52.0927796,24.4683246,3.0656147,11.3873208,8.7110473,34.2130295,11.3305264,1.1829355,1.2176428,16.5568103,11.4590216,65.3810841,15.568117,29.5172649,66.7606503,32.2016608,51.9400103,24.3965713,2.8987178,11.2706022,8.8497728,34.3661371,10.5846582,1.3145347,1.353431,17.1413365,11.7880113,65.5684517,15.3155975,29.9626808,65.7114539,31.1703915,51.1967665,23.6166021,2.7558208,11.279391,9.1463451,33.9025479,10.3024399,1.2976051,1.3315733,17.4114019,12.0623099,65.6263849,15.3304391,31.053106,66.1048605,31.5377785,49.2068942,22.8574659,2.7649284,11.7159567,9.2435141,34.167792,10.6003573,1.3064797,1.3356263,17.985703,12.5867367,66.3322733,15.1770039,32.6641568,66.8256262,31.9321166,47.5488129,22.6375295,2.8504859,11.108614,8.5810902,34.4600714 +745,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.737483,1.8900476,26.0203628,21.3374911,84.5352718,12.4315731,25.8452603,61.024423,29.3337055,42.9530345,20.2249079,3.6511322,15.6869315,14.1031415,42.3247778,12.6454208,1.7920164,1.9180687,26.0969386,20.6659796,84.6350659,12.4165046,26.1272861,59.7160071,28.7000212,42.8764492,20.4055755,3.6544962,15.0642543,14.0726215,41.5659046,13.3645243,1.8361778,1.9311067,25.6097251,20.3725793,84.4032242,12.516899,26.2330862,58.7858827,28.6520761,41.6311302,20.5455484,3.5672201,15.4147621,13.9424601,43.1018585,15.9998062,1.8176537,1.8975734,25.6793778,20.2025893,84.5515789,13.1596205,27.1622304,59.6402824,29.5239211,41.8053642,19.939664,3.578515,15.7832561,14.2117233,43.2221155,18.2446743,1.8348364,1.9168429,25.9891179,20.3897197,84.9940117,13.0277625,28.5596012,59.6837221,30.2464991,40.8578201,20.2488093,3.8176136,16.156103,14.383954,42.7455973 +746,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0934784,1.1207942,17.3937684,12.8786599,78.7154544,14.7898064,32.8696676,64.8210431,37.607355,44.1959334,24.7040353,6.5429433,11.1741945,12.7898394,38.8474577,9.8677383,1.2369259,1.2641011,17.6646148,13.170715,80.2557129,14.8438018,32.8030544,63.8994461,36.9867317,42.3920588,24.2329512,6.6892583,12.1139927,12.2541545,38.3944836,11.2220131,1.1931389,1.2193521,17.8586185,13.0840115,80.8958046,13.9488571,33.4764391,63.4311098,36.65298,41.6891415,23.4285782,6.5290116,12.1989177,12.1567489,38.3691089,13.0620255,1.2241083,1.2504237,18.5162953,13.5331339,80.8927449,14.1407091,33.9303605,64.1701153,37.0290985,41.3859228,23.361923,6.4490676,12.6809291,12.4846823,37.7087824,14.7260274,1.3762906,1.403481,19.3835982,14.036735,81.1890851,14.3417652,33.6123846,64.7210679,37.566943,40.5551743,24.1216992,6.19522,13.016294,11.3805014,36.1089331 +747,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3046534,2.3143714,30.8544043,24.1358497,54.3585984,19.6289124,31.8479384,68.1386635,32.1333739,47.9106639,24.1167247,3.1635932,17.5078069,15.6403001,41.3572125,17.8999439,2.4465618,2.4936074,31.6294746,24.8425315,53.9891213,19.7063363,29.9010729,66.4061511,30.8177508,49.3477609,25.1506791,2.9248094,17.0502931,15.7381434,39.8046877,15.7703704,2.3331489,2.3910619,32.6637753,26.3723157,53.9510396,19.6077222,29.098504,65.8124916,29.8743584,50.157198,25.2190726,2.8662793,16.9918073,15.786593,40.7122235,14.5626329,2.6523928,2.6794399,33.7122993,27.3361322,53.55129,19.6413526,28.549494,64.8672551,29.8722112,50.5025139,25.663518,2.8134179,17.3711607,16.2461953,40.2026215,15.7718649,2.9401691,3.0014794,34.7360994,27.9510869,53.1008743,20.0243161,28.4745952,63.5563171,29.7784379,51.0054637,26.6744938,2.7982779,17.4918808,16.3346403,39.9097936 +748,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0769448,1.0680187,15.3730312,10.0163234,58.426297,18.3647807,29.8371363,67.6354408,34.9759648,50.7581907,27.5343796,4.394818,11.0700054,10.8300432,35.7020758,6.2959045,1.0784088,1.0696427,15.6333662,10.1582656,58.1203873,18.096377,30.3151794,66.892396,34.2961923,51.409924,27.7439593,4.4650062,11.1203433,11.1142129,36.8348314,7.0234349,1.0065382,1.0197724,15.5005891,10.3470025,58.7371303,17.8106081,30.5709478,66.2575226,33.494136,50.5929342,27.0959992,4.2333376,11.400526,10.9401155,38.5157925,6.4854977,1.0402651,1.0550744,15.8541845,10.6280324,59.3918965,17.481519,31.8398076,66.2617722,33.1518284,48.4785126,25.8095478,4.3970032,11.3740636,10.5637656,38.0529333,6.5363358,1.0545699,1.0632033,15.9729111,10.4601892,60.0374946,16.5596202,33.0914685,67.1077527,32.7781818,46.8118029,24.4661834,4.2841055,10.7537228,9.9362598,37.9520574 +749,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.058844,1.0649445,16.6731326,12.0642989,52.6453671,15.6040821,32.8100124,70.7273332,38.0564383,45.727353,25.8942837,3.5174847,10.3688284,9.1986768,37.4586228,7.6324035,1.1148456,1.0843987,16.6344049,11.909379,53.6117573,15.1960723,31.0392768,69.793725,36.8702933,46.8663346,25.8032616,3.4708487,10.1209418,9.3649347,38.6585345,8.8785102,1.1706817,1.1494773,16.6023962,11.8588523,53.9500207,15.3800796,30.130736,69.3145736,35.8359762,47.3256919,26.4064963,3.3478613,9.7290314,9.1468342,37.3338757,8.5760601,1.022506,0.9835932,16.2795167,11.6336642,53.5214073,16.0520031,29.4267673,69.7094644,35.8657284,48.7829007,26.5999111,3.1998437,9.9013707,8.8259355,36.6390039,9.563768,1.033462,0.9943384,15.8227761,11.1047066,53.4232688,16.3468902,29.6112666,69.7937321,35.5612803,50.0000159,26.5569183,3.5501788,10.2722588,9.0272046,36.8003421 +750,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.5098914,1.5098914,21.2412882,15.6469162,54.6530863,25.1755496,32.8290898,64.8577306,30.1602144,43.6834182,22.508928,6.3166707,12.4148593,7.2880032,38.5272527,5.5970358,1.441918,1.441918,22.0562571,15.7294001,54.7880559,24.5167804,33.1249693,65.4465422,29.0179867,44.7322533,22.4108143,6.6963692,12.8423385,6.6551422,37.0687485,5.4348023,1.6588682,1.6588682,23.4344506,16.4137075,55.980341,24.2453717,34.4465087,64.7902228,28.3397885,43.2253841,22.4237185,6.5840134,12.2776238,5.1601607,38.1720006,7.196997,1.8810127,1.8810127,23.7239707,17.2968717,56.0810433,23.0409799,35.1990672,63.8520633,27.9885692,42.9792095,21.157581,5.7875257,13.6364132,6.3636595,38.5036077,7.553984,1.4014723,1.4014723,23.1141277,17.504988,54.9504451,23.8416164,34.2771567,64.5507627,30.3710677,42.6758634,22.5586944,5.5664552,13.2463181,7.2761466,36.8913367 +751,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3378268,1.3444276,22.6130866,18.1700913,66.4574644,8.9739551,36.1529731,67.8022293,37.6729785,46.5029233,25.6971075,5.9167647,13.3359592,11.2546126,34.0916701,8.6056739,1.2336367,1.2336367,22.3098399,17.931779,66.308146,9.0295004,35.3253201,67.1173384,37.4360389,45.8004114,25.2966196,5.1999689,13.6300135,11.4341001,33.666724,9.0401866,1.1109821,1.0939344,22.2047535,18.0469575,66.9685707,8.991183,35.3912625,67.3410038,37.6146429,46.5401688,25.0460648,5.264233,14.2081875,11.5918461,33.3706685,9.1208871,1.1622596,1.1454524,22.537505,18.0191692,67.1369044,9.3319981,35.2784007,67.2722445,37.6110776,46.9124556,25.2252828,5.5836814,14.2711199,11.7112387,33.6174567,9.2391365,1.1465244,1.1295803,22.66718,17.823645,67.5254702,8.9718776,34.9964607,67.2181275,37.4625494,47.0795186,24.5472656,5.4972963,14.4198664,12.2445721,34.548762 +752,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4934129,1.7164479,18.6732058,13.1419831,50.9808382,16.7067639,33.9412364,67.3347325,35.5455384,47.3199412,23.612679,3.3609731,13.1323479,10.375324,39.4504478,10.984841,1.2980466,1.3835945,18.5920246,13.302244,50.594065,17.4985936,32.9866421,67.8312129,35.5572773,50.7143656,25.0474129,3.2657143,12.5345311,10.2942407,40.0367469,11.7424021,0.9402819,1.0131783,18.2133585,13.3968153,49.9123559,17.3780257,30.7423445,65.7357806,34.27439,51.1742811,25.3428073,2.5895477,12.4422503,10.5126227,39.4735088,10.661752,1.0660925,1.0757623,18.116479,13.1672714,49.6203733,17.7922159,28.3365147,65.4936072,34.7511307,52.2989889,27.3096324,2.5420615,12.6828212,10.4376084,38.5679333,11.1538973,1.0438624,1.0533455,18.8274567,13.620536,50.0357368,17.989542,27.5647211,65.2149496,33.8762985,51.8779733,26.0640757,2.4728235,12.0929285,9.3527153,39.3300472 +753,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6827211,0.7045986,13.0833573,8.7490597,53.1520234,11.4314737,26.7263862,69.0499517,38.1270348,47.909878,25.988055,5.0977207,9.9002222,8.6218338,37.0631744,4.3059588,0.6674859,0.6781263,13.1967449,8.8210106,52.8909025,11.7531349,26.8869972,68.605786,38.0687922,47.590033,26.5095937,5.0409757,10.2724682,8.7181165,37.2085285,3.9898901,0.6808625,0.6978626,13.1851267,8.8129662,53.5364972,11.6687631,27.0961912,68.3283748,37.800594,46.6854619,26.4045515,4.8361363,10.1874051,8.5368498,36.3706481,4.1624787,0.681013,0.712844,13.3734535,8.8996582,54.2080882,11.4865559,27.4687093,68.6690974,37.8998596,45.1856188,25.4466658,4.9160181,10.1953459,8.7381812,36.7924518,3.9342542,0.6892848,0.7097383,13.2471632,8.85144,54.6705798,11.2587404,28.2694194,68.6277749,37.9056023,43.9801113,25.0792063,4.7798548,10.2400157,8.5897103,36.6946484 +754,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1378867,1.1979242,24.4174998,19.1876562,45.0374918,20.9600995,32.3115817,70.8468898,36.7647176,55.8481512,28.5820954,3.2262779,12.0211997,9.5587818,34.6666098,13.2043705,1.0292874,1.0895834,24.5063197,19.2764348,44.9344898,21.6890273,31.6611628,70.3313141,35.8761753,55.9418182,29.092939,3.2529113,10.3767574,8.2809681,35.2452571,10.1677419,0.9508002,0.9792885,23.4107502,18.8789297,44.1833109,21.5879709,31.7612147,69.4379069,36.2496787,56.2369209,29.8912125,3.3621867,10.663097,8.9153426,35.4259904,10.5984661,1.1868942,1.2154081,22.9877989,18.9854713,44.2153719,21.3344792,33.9432805,70.7657636,37.7008959,53.7576201,28.4706905,3.7375343,11.3045179,9.7382512,36.0887563,10.9805541,1.1807946,1.2107449,23.2353138,19.1206062,44.7201191,20.9547372,34.8058103,70.0185629,37.2877018,52.3362497,27.5432565,3.5211798,11.5501952,9.5366449,36.8761899 +755,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.765316,1.7819519,24.0876858,19.3539721,79.8962537,14.6177484,36.7973809,64.9133677,34.0126335,45.5710429,25.1718522,6.28248,12.5431224,10.3513637,35.528155,14.2644064,1.8020278,1.8409435,24.4162057,19.7631335,79.5952153,14.4615095,37.0724906,64.8322155,34.0447866,45.798436,25.6420157,6.268047,12.810193,10.5198896,34.6289246,14.6940752,1.9121833,1.9705964,24.8092597,19.985006,79.860323,14.48554,36.8853864,65.223437,34.1808552,46.0705883,25.5569591,6.3190759,13.0321814,10.3144415,34.3837115,14.4499929,1.9785267,2.0412475,25.0792485,20.168623,79.4689105,14.445706,37.4592817,65.154378,34.4181164,46.2581574,26.0292784,6.2275496,13.6300542,10.4526571,35.3607545,14.6849608,1.8717951,1.9191842,25.2337224,20.3923181,79.5824519,14.2507654,37.0360891,64.9307397,34.7785198,46.5452426,26.1587077,6.2852717,13.1042703,10.1791215,35.620005 +756,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.3841511,1.4230187,18.5124254,13.0410963,66.8228547,14.0877796,33.3070821,67.2553381,32.4296881,46.6704157,22.3734472,2.8683889,11.9972933,9.1463492,35.7045396,11.8913702,1.3292988,1.3398113,18.8601487,13.5065865,66.6473682,13.428319,33.3295385,67.7180534,32.9879309,46.0373571,22.3069837,3.0630832,12.0340583,9.4482876,34.7132406,13.0040191,1.3208904,1.3261714,19.2972628,13.976203,66.9651207,12.9312319,33.2990572,67.6833295,33.7103043,45.3849717,22.2869504,3.3013499,11.8632477,9.7018453,35.5129501,12.5742475,1.3482466,1.332553,20.1177609,14.785612,67.7023665,12.5027858,33.2694386,67.4971674,33.9007798,45.0845625,22.6944717,3.4611048,11.7794027,9.2785933,34.7716973,12.9629554,1.3069315,1.3069315,19.9932951,14.8691072,67.8472552,12.1866626,33.5185903,67.7064271,34.5621515,45.1338514,22.924227,3.573047,11.2910719,9.553134,34.7915808 +757,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0138025,1.0298951,14.4925463,10.4267679,77.4949768,8.089171,29.8634679,64.6205865,30.3354914,41.5936552,19.9272172,6.2859591,12.2893959,10.5665494,36.9044608,4.9364948,1.0890782,1.107923,14.9212614,10.8166052,77.7869058,8.0442499,29.9864219,64.6151295,30.8369742,41.2503223,19.9470222,6.4223433,12.3628241,10.4902493,36.9377763,5.0813657,1.0946756,1.1118771,15.1421032,10.8750072,77.9512848,7.6182898,30.063455,64.2396187,31.0233611,41.4056453,20.1179666,6.3348059,12.1027552,10.1914078,37.2145769,5.4928669,1.0162476,1.0238678,14.9452296,10.719755,78.0300444,7.3364484,29.6669107,64.1660179,31.1741251,41.0615809,20.347815,6.1194168,11.9591367,10.046334,36.712656,5.6425486,1.0430546,1.0548344,15.3299617,10.9991829,78.0169548,6.97605,29.3584887,64.0140095,31.1619241,41.0195022,20.3763043,6.3164267,11.886077,10.1776414,36.4885481 +758,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.9339482,1.0221042,17.7126176,13.3916315,65.8490459,17.4383831,34.4193073,64.0952092,32.0898058,40.1586787,23.6158079,8.1195143,11.1302573,8.7870438,36.8219709,7.7132528,0.8929634,0.9424272,17.7252312,13.5139796,66.1794942,17.0287519,34.5020252,63.8380791,32.0630064,40.1592128,23.2892997,7.9776427,11.0294125,9.0813458,37.1013445,7.2878256,0.9875709,1.0376606,17.884619,13.7237774,66.7421464,16.508642,34.3127108,63.0412465,31.4604857,39.3642635,22.7319617,7.7835063,10.990163,9.1068987,36.6832318,7.4311954,1.1801125,1.2464865,18.7001774,14.1247848,67.8361431,16.414148,34.387821,63.0130052,31.5150525,39.4151871,22.4863229,8.2592353,10.8710507,8.888133,37.3439605,9.03285,1.1754238,1.2206233,19.0648725,14.7170475,68.3207336,16.2157707,34.312391,63.3446571,31.8336189,40.5263161,22.6315803,8.2342962,11.3980649,9.607444,37.925048 +759,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.4189859,1.453093,19.5035458,15.1806831,67.9805397,16.9660409,34.8092832,63.3001687,32.0563864,40.7131002,22.7031515,8.1757882,11.3851285,9.9053475,38.0708891,10.3595772,1.2742562,1.3217708,19.9965321,15.5914003,68.2897426,16.845461,34.9625358,63.9134959,32.6805186,41.2636244,22.8031311,8.5660792,10.7794904,9.5924131,37.5265734,10.1709283,1.283949,1.3355375,21.2126384,16.2873679,68.4077894,16.5409874,35.3402264,64.6597802,32.6384276,41.3775869,23.0653754,8.6557737,11.2815232,9.5708473,38.3688887,9.8557564,1.2911761,1.3333082,21.6097613,16.9268359,68.1012223,17.0129054,34.5574068,64.6087346,32.8255365,41.1000677,22.8511876,8.6433639,11.0279737,9.2592623,36.6710429,10.7518679,1.458069,1.5271586,23.1263736,17.9209814,68.8066247,17.8309974,33.8654558,65.2355886,33.0905207,40.685064,22.7681372,8.3540011,12.0799016,9.97467,37.3798879 +760,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6879889,1.6638343,25.5641234,18.6410474,44.7240712,12.007267,39.0837264,66.6230349,40.1308681,46.2041688,29.3978851,3.7958024,15.6120403,14.0706409,42.1466718,12.1428398,1.9071779,1.8831829,25.6123082,18.6063581,44.8288636,11.6246266,38.2198014,66.1339519,39.5713397,46.0170681,28.823772,3.2488368,14.5313491,13.4155012,42.2225426,14.9082295,2.0264767,2.0505901,26.051118,19.1721969,45.1121561,11.6345162,37.3792215,65.2859915,40.2535107,46.5120098,28.2464437,3.0049337,13.8981213,13.5127408,40.1878973,17.1361341,2.0076519,2.0076519,26.5449128,19.5336253,45.207568,11.7144286,36.8564877,65.3168218,39.392056,45.847747,28.2792125,3.1823788,13.1205784,12.5289364,39.9580852,17.3423345,2.1016808,2.1252708,26.907897,19.8485598,44.7104657,11.9896222,37.0233652,65.7408646,40.1971596,46.6858175,29.2037669,2.9945994,12.5689464,13.3192216,41.4469254 +761,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.0277533,1.0314513,17.3820473,11.9130324,55.5862493,8.9543274,36.9466113,68.1368081,40.950993,44.8331069,26.4349168,4.7218996,11.4941729,9.5627614,40.8943771,9.3981614,0.9895632,0.9932886,17.2351063,11.865968,56.0279181,8.9734951,36.4790786,68.1528025,40.4396508,44.2884129,26.6222889,4.6934305,11.3993212,9.5441452,40.4258158,8.6254757,0.9786699,1.0158277,17.2691866,12.0411395,55.3887977,9.1721085,35.9709294,68.0501926,40.2060801,44.4750864,26.6782963,4.7251535,11.0607307,9.8046158,40.2986913,8.3255096,1.0154828,1.0418669,16.8323897,11.8716158,55.4302466,9.2184839,35.9207546,68.0859431,40.072527,44.4475312,26.7019964,4.7600397,10.9353547,9.8729927,40.5819268,8.7346668,1.147274,1.1739576,17.3381729,12.3604965,55.1734163,9.2962243,35.808823,68.4445644,40.4241999,44.9038451,27.3925312,4.7002231,10.8060515,9.9363694,40.7367782 +762,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6104046,0.768587,15.7833602,11.1808487,75.5977568,22.7043221,33.2483827,63.6932383,28.1974036,43.0722965,21.2465305,5.259501,10.8348988,9.8875276,32.8760611,5.4347826,0.6594891,0.8285607,15.8404167,11.543909,75.7020517,22.0121464,34.6008586,63.8403406,28.4600816,42.536615,22.0359082,5.8809659,11.296475,10.1428496,32.5793999,6.1320774,0.7148294,0.8344043,15.6324587,11.2410491,75.4694284,20.8353066,34.4572043,63.2472522,28.7661407,41.1525628,21.8794908,5.4280267,11.6088654,9.7690009,31.6682797,7.275544,0.8076338,0.9264195,16.4613934,12.0558969,75.3585004,19.1135147,34.6098973,63.4871572,29.9000956,41.1275066,22.0028618,5.5423425,11.671472,9.8462939,32.8003843,9.0504478,0.861533,0.9707617,17.0197394,12.5421251,75.4611677,18.1493902,34.4852656,63.1464491,30.1836637,41.7351483,21.6771492,5.5824097,11.3013765,10.2250451,33.9091909 +763,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.3014829,1.3556956,19.7227098,14.7931652,66.2438257,14.8303453,33.4126794,66.2501885,34.6185566,44.7195267,23.661462,5.0087476,12.8035426,11.2613304,34.8096692,14.8424585,1.2197907,1.2746919,19.2558038,14.7162394,66.6618928,14.1135207,33.5936822,66.1011883,34.5375794,44.6504964,23.4439012,4.8630439,12.7284987,11.5996189,35.7287001,14.2299196,1.2442491,1.2838891,19.9220399,14.9444994,67.048059,13.665204,32.8310502,66.4371596,34.3845727,44.2809299,22.8598943,4.691065,13.1457367,11.9104384,36.4738597,15.9054455,1.1603386,1.1982154,19.8587792,15.0149423,67.2133803,13.3253144,32.9677414,66.1614262,33.8162997,44.2972747,23.1924566,4.5200585,13.2173443,11.4610302,36.6523833,15.1075955,1.0562756,1.0892987,19.960571,15.2777981,67.6463729,13.4313597,33.1470842,66.2662589,33.3666326,44.3503641,23.2384021,4.3465595,13.7334455,11.4995372,37.0848986 +764,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6553625,1.6771397,18.2316448,12.9413103,47.5131622,17.4739246,36.5385591,72.41867,37.3816439,48.0245262,28.1611398,2.3972928,11.3761478,8.6016731,36.6029348,11.199895,1.6562362,1.6683642,17.7005705,12.2226692,47.3809583,17.8293901,35.7443777,72.3043027,37.2175653,50.0002446,29.3790736,2.4987132,11.3464026,8.9575709,37.4862079,10.4298976,1.7703219,1.8302827,17.6579946,12.1738092,46.6786666,19.2566986,34.3281719,71.5364886,37.5459946,52.1799639,30.1763835,2.7244372,11.3996232,8.9610044,37.178201,10.9643581,1.6080653,1.6667663,17.8040279,12.3758715,47.0813754,20.541082,32.9497702,70.6351976,36.3293162,51.690326,29.6213492,2.8930007,11.3236079,9.1428686,38.4572687,10.2213452,1.5940673,1.6403168,18.3811538,12.7707837,49.3064708,20.513597,31.7585374,69.5050918,34.5381648,50.0002324,28.7775604,2.9055315,11.6171348,9.5711593,39.471439 +765,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7697465,0.7882068,13.636363,9.0522482,55.131361,10.9230437,29.1095161,69.153767,38.2577431,43.3462399,25.0608391,4.8064171,10.0477883,8.4130195,36.2873534,4.0429806,0.849483,0.8425759,14.0542024,9.2865029,55.3922705,10.5180092,28.8877896,69.0468369,38.3532144,42.8374206,25.309255,4.6774909,10.4526802,8.4547068,36.3104809,4.6239755,0.81284,0.82456,14.3309281,9.5669067,55.2184611,10.4282129,28.9790331,69.2880859,38.5485659,42.6214128,25.3145693,4.6633558,10.5209255,8.4982882,35.7912818,4.5547609,0.9241313,0.9269638,14.4802673,9.6108942,55.6371985,9.7759546,29.0889971,69.7237059,38.9758118,42.8817141,25.626943,4.7769643,10.6225827,8.5340853,35.0332342,4.1968916,0.9736738,0.9671069,14.8200077,9.7510369,55.5010154,9.6136899,29.1117371,69.9944192,39.3463714,43.1452521,25.6145269,4.798883,10.5821891,8.3752232,36.0344848 +766,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6019686,1.6780756,27.5214151,21.4135122,44.3400863,10.282256,37.6753305,67.4995093,31.6883764,51.3523334,31.6081211,5.5920664,12.8222734,11.8937682,35.7174401,12.8203384,1.5831442,1.6809744,28.3213097,21.7542156,45.2715208,9.6371123,37.9432068,68.4876401,30.9670848,51.6884919,32.6477832,5.1803057,12.900395,12.7197578,36.6465231,13.8509722,1.2879091,1.3806285,26.9271688,20.6997547,43.9271439,9.8918943,38.6844778,68.441516,32.3467173,52.03905,33.7251465,5.8711803,11.6954272,12.765597,35.3234413,12.4931819,1.4511724,1.5787775,26.9968914,20.1503821,44.4500491,10.0945137,39.6267509,69.7876671,33.0767336,52.5407913,34.2441298,5.6408774,11.8573473,13.7278322,34.9368755,12.9762419,1.436465,1.5661839,27.1824037,19.7599611,44.5875359,9.9105811,40.5964312,70.4973894,33.6229272,52.1003033,33.9107858,6.2726567,12.7111454,13.8134746,33.7511479 +767,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.874304,1.904334,28.1592419,23.1946867,74.5548551,20.1285819,32.4799331,68.8921516,28.6311315,42.8547213,18.1894091,6.2416165,17.1611472,11.9096507,33.5932309,12.5283234,1.860262,1.8751778,29.7100832,24.5249011,75.6679422,20.6055824,31.0568363,67.4143381,27.633716,43.6523786,18.4280273,5.6995509,16.7109578,11.860504,32.4766264,12.4043512,2.0603609,2.0776339,31.2005807,25.5449904,75.9470583,21.8650237,30.1265603,65.8824864,26.2978227,44.370537,18.5755845,5.7267859,17.5500896,12.4515242,33.1059026,11.2968534,2.2148479,2.2496063,32.8318461,27.0316159,76.1653584,21.9248991,28.8003983,64.6302128,25.7854271,45.080932,18.2957774,5.5379095,17.8301753,12.7518885,33.1328592,11.0009391,2.5619758,2.6292994,34.7832123,28.9632863,77.0417139,21.8179147,26.5441933,63.1716491,24.8764249,44.3329305,17.9586101,5.6361786,17.7703342,12.9866129,33.3434596 +768,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.588475,1.588475,21.8400351,17.4750343,49.9448799,17.1282276,31.9140491,66.6105595,35.0080183,54.9097225,28.743814,3.0779995,14.4527677,12.3884379,38.4211565,14.6551775,1.4144959,1.4062616,22.4019573,18.0223666,49.8680602,16.8767229,32.0773438,65.6565948,34.1695636,53.811703,28.8503894,2.8546292,13.945342,12.3109921,38.825083,14.448066,1.3713386,1.3958248,22.7044684,18.1117754,49.4497509,16.9592229,32.7663646,64.4585091,33.8934396,52.7566384,29.1146389,2.8637624,13.8260552,11.7754742,39.4793447,13.7658402,1.4100519,1.4640809,22.9533779,18.1779586,50.0911771,16.988931,34.2800878,64.804596,33.6462678,50.968259,27.2372793,2.7290078,13.9772816,11.8156277,39.3023497,12.7760373,1.2838036,1.3380279,22.9453715,18.3458417,50.8638807,16.7665655,35.4141968,65.0861372,33.9545474,49.2384094,26.9558679,2.9319148,14.4513323,11.7056679,38.7650597 +769,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0444382,1.0327644,14.8659223,9.9497199,55.2284993,9.4518876,29.4415985,69.9119536,39.684576,42.9948726,25.9195286,4.7090941,10.5734353,8.3106542,36.0579142,4.7830375,1.0487088,1.0369275,14.9887258,10.1521967,54.8933974,9.2334094,29.4279644,70.4484224,40.1944284,43.0152839,26.0564178,4.6920648,10.7110214,8.7051009,35.6732548,4.5812803,0.9908201,0.9630655,14.5864063,10.0476553,54.7080338,9.3641928,29.1412088,70.3156875,40.2523186,43.0583802,26.1427915,4.7012892,10.8896082,8.5467123,36.229699,4.8645928,1.0344462,1.0248315,14.2163042,9.7804964,54.3165043,9.4694846,29.2993246,70.4952697,40.7223561,43.6551372,25.9785462,4.7871736,11.0555705,8.5484989,35.6640873,5.1551557,1.1294853,1.1294853,14.0918454,9.6713242,54.1037846,9.3827863,29.1173415,70.5033928,41.0929769,43.9891924,26.51994,4.7868063,11.3034397,8.7244432,35.7878727 +770,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7934021,1.8300026,32.75911,28.0370934,55.0781986,9.5512336,28.8820935,61.9949096,27.3477912,49.2680522,22.2934787,3.104312,13.7290681,11.1567592,33.8614801,21.5111585,1.8040588,1.8311325,32.4082343,27.6331613,55.2873756,9.6572362,29.121546,61.2400903,27.0288622,49.2383967,22.6154311,2.9968617,13.5076551,10.7721195,34.2503789,21.481186,1.8997219,1.940332,32.8137015,28.0900544,55.1127185,9.6454664,29.311517,60.7333733,27.0121663,48.6329875,22.3430697,3.1758223,13.8182275,10.9982793,34.5766172,21.3879974,1.9239661,1.9676989,33.0577517,28.2210351,55.6430818,9.6271062,30.269213,61.6954679,27.310443,46.6625252,21.4627332,3.0079917,13.9577395,11.0406006,34.9389124,21.8572612,1.9126509,1.9704377,32.9118306,28.3568513,56.0829501,9.7838402,31.6282791,62.1905911,28.0798566,45.6073775,21.4122149,3.0548022,14.3618488,11.208878,35.3325754 +771,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2117139,1.2117139,19.7564679,14.8639772,68.0690374,11.5864339,33.1668724,67.6986108,34.4318582,45.1065269,22.8695027,3.6950729,10.938917,9.6318014,34.7090787,14.5752896,1.2581866,1.2734771,19.7322597,14.7257311,68.103451,11.2521749,32.8813774,67.2729192,34.3584598,45.3813998,23.115079,3.6706346,11.5554728,10.4856629,34.5692977,14.4886391,1.224004,1.2494571,19.7674485,14.5511903,67.9816793,11.6211,33.4766174,67.3170021,34.7773287,45.4475367,23.7544115,3.6044998,10.9641391,10.2822674,33.8215696,13.7236084,1.1966486,1.2218248,19.2762073,14.1645236,68.3241552,11.3363362,33.4966157,67.4831157,34.9118139,45.5149239,24.2434242,3.5379922,11.4342933,10.7190543,34.4280827,13.1340461,1.1613937,1.1965342,18.7018898,13.6548357,68.8930514,11.1813919,32.8869945,67.7443874,34.4545869,45.4278278,23.91683,3.450902,11.9709027,11.3486243,34.3015676 +772,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9047344,1.9442388,25.6838211,20.6904294,79.8813926,14.0012867,36.5162461,64.9021898,34.7600844,46.310196,26.181925,6.1549893,13.9703381,10.2222963,36.3590045,15.1096268,1.9117732,1.9469829,25.5226716,20.547983,80.3518171,14.2115489,36.7340243,64.6505272,34.6052615,46.0105557,25.5537154,6.2045428,13.8055878,9.9758797,35.6447637,15.0232609,1.9608972,2.0143453,25.9176038,20.9628874,80.2120929,14.282122,36.4359902,64.7390832,35.0090947,46.2059718,25.7091499,6.286695,13.8598934,9.9158243,36.2232699,15.5681112,2.0505753,2.096018,25.8870587,21.0916771,80.1553108,14.6373974,36.0539087,64.9006161,35.6170749,46.5052575,25.5054887,6.3662598,13.2434272,9.831004,36.3175025,15.4067701,1.9662218,1.9881903,26.1915093,21.5355901,80.4496735,14.5283035,36.0072447,65.1147131,35.6866737,46.0889554,25.5248318,6.1788541,13.2847927,9.8543664,36.2495821 +773,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.0967633,2.119725,25.7702047,19.076109,44.8146835,11.5960969,37.4089721,66.1094652,39.922174,47.2484309,28.9266539,2.9906753,12.4768967,13.227855,40.2127771,16.5271967,2.3004434,2.3004434,26.4182742,19.8788217,44.0121922,11.7954712,37.1959822,66.4915573,39.8080208,47.2731069,29.1675196,2.688837,13.3042746,14.3903487,41.2362458,16.530619,2.159409,2.2206122,25.5874449,19.5327673,44.2223894,11.7045171,37.565877,66.5955248,38.9697585,48.032452,29.6062197,2.8327667,12.249178,13.1050158,40.0430579,17.499975,2.0461523,2.1057888,25.8354382,20.0335522,44.6982186,12.1028861,38.2037515,67.4025579,38.7435953,48.3500747,29.8612802,3.2633938,13.0777366,13.0777366,40.1379025,16.111086,1.998099,2.0126107,25.8444912,19.8750449,44.0598832,11.9160115,37.1407835,67.7442756,37.619754,48.5392644,29.4779936,3.3285452,13.6224355,13.2142925,41.10084 +774,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4783826,1.5235836,18.4893353,12.6858601,49.2949385,20.900339,32.4356919,69.2937625,35.2525016,50.4695169,29.026935,2.8903356,12.5869579,9.7024885,39.3041439,10.7504361,1.4840445,1.5562416,17.964069,12.2211882,48.956318,21.1650026,32.2855024,68.3969814,34.72274,49.975868,28.6795937,2.9970928,13.2394863,10.1367591,40.128154,8.4621231,1.4669073,1.5380568,17.830557,11.9260545,49.1158278,20.1659325,32.9723205,67.6531097,33.7905263,49.4708542,28.4512631,2.9580832,12.9506498,9.6309879,41.0102424,8.7945297,1.4803814,1.5596622,17.7754294,12.0610489,49.3871574,20.6186446,34.0264453,68.0779977,33.9793016,48.1827689,27.5231306,3.3236857,12.1774786,9.2266436,39.778685,9.1554394,1.3560806,1.3918521,17.792237,12.2600261,49.852124,19.8430735,35.0885922,69.2400926,33.7423327,46.2964975,27.0083949,3.198577,12.3411263,9.5126191,39.5572312 +775,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0536589,1.1395999,17.4026587,12.8442517,74.8199831,17.9409043,33.4367558,62.8400968,31.0978478,41.9809126,21.9809174,5.5608618,11.1933005,10.2955726,33.3499205,9.131742,1.1891137,1.2668866,18.1457203,13.4282999,75.1673185,17.7005611,34.5294653,63.3792835,31.2024622,42.0389803,22.2671193,5.9172993,11.0087369,9.9321773,34.55525,10.7987998,1.2249783,1.3024136,18.1542005,13.8551365,74.3068961,17.7907,34.8477635,63.2968642,31.2797259,42.3644193,23.1922086,5.8277822,11.0177942,9.7236,34.0139646,11.0946581,1.2392306,1.3070975,18.3425112,14.1643722,73.6085109,18.0963336,34.354533,63.7745583,31.9691244,43.8026266,22.988786,5.4957896,11.5722649,9.9024468,34.8917465,11.925247,1.2911095,1.3572585,19.0377497,14.9401498,73.0291684,17.5857313,34.6008433,63.4624476,32.8530858,44.4733166,23.9726114,5.5975432,11.5039745,9.8107558,36.3316674 +776,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.927204,0.9006835,15.9646377,11.4516595,53.2638567,17.003805,29.547221,69.4078999,35.0812677,50.0193692,26.2190275,3.3088243,9.9116975,8.9342921,37.5912387,9.2334559,0.9615221,0.935095,16.2298718,11.4002161,52.56059,17.2945048,29.8959168,69.294535,35.5242925,50.636102,26.3492586,3.0262154,9.6608553,8.7588264,36.8232283,8.8850236,0.9698374,0.9554248,16.6666587,11.7528338,52.4055059,17.4405473,31.2170326,68.9713772,35.3617241,50.2072474,26.6201862,2.8447641,10.0153215,9.0596219,36.9379803,8.9090909,0.9303305,0.950564,16.7217235,11.8391979,51.8994728,18.2174677,32.2794265,69.6895231,36.2552092,49.0912654,26.2211199,2.7451702,10.6048746,9.0457925,35.5150998,7.735852,0.9288392,0.9405556,16.8219,11.7548356,51.4791815,18.2659384,33.7490302,70.472007,36.6270175,47.9086717,25.6907085,2.7820358,11.270314,9.38223,36.5097981 +777,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7411926,1.7229121,23.6748523,18.611194,45.0109008,15.1740015,38.7012665,66.3647578,37.7494575,47.727969,26.4200056,2.932142,14.0224831,12.3360297,38.4688231,17.696011,1.7608034,1.7313804,23.7586385,18.5826024,45.1026714,15.7725559,38.8767887,66.2881258,38.316745,47.1841964,26.462348,3.1269456,13.7554484,12.3206378,38.2704392,20.0231945,1.7802481,1.7745485,24.909782,19.6181465,45.644635,15.7099482,38.9733272,66.2065817,37.4224581,47.6271796,26.5663809,3.1172468,13.3811554,11.7738792,37.704405,20.1542292,1.6959779,1.6997519,25.5353743,20.1814248,45.0265626,15.4859412,39.3515739,66.5181417,37.200381,48.386613,26.8131658,3.0885011,12.4305914,11.1419678,36.6998109,20.6013501,1.4843559,1.4881065,26.3818887,21.061174,44.8130635,15.03005,38.990551,66.803922,36.7337676,48.353168,26.2427787,3.0954479,11.4819285,10.5763326,36.2376841 +778,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1567805,1.1685757,17.5178382,12.4859196,52.716976,18.0355534,34.276358,70.0731343,36.2009176,46.4010672,25.384914,2.6751287,10.8494039,9.0384616,37.9000846,7.7617329,1.165699,1.2115988,18.0586651,12.6020893,53.164827,18.0747477,35.1746208,70.368266,37.2247529,46.4502502,26.1389488,2.6385676,10.8810041,9.0329794,37.2913639,8.4775057,1.1893019,1.2594542,18.1358031,12.4718844,53.0043182,17.0948041,35.6813633,70.1151762,37.1017314,45.08637,26.122848,2.7063331,11.7169278,9.1294285,36.1046314,8.3928541,1.2308259,1.3241142,18.4171454,12.9422866,54.0525306,16.5668165,35.5433023,70.5357232,36.9490731,44.9278093,25.8928683,3.0205158,12.2678028,9.3967602,36.4241265,8.4775057,1.2725134,1.3847182,19.0503304,13.4884719,54.6112149,16.0917244,34.8787975,70.5078947,37.2258375,44.305503,25.9907758,2.904962,12.3731431,9.6258824,36.7113793 +779,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7209095,1.7460076,22.314257,17.0933735,72.6497934,17.3154702,35.6630824,66.7434716,30.4403482,43.8556068,21.8894009,5.2483359,11.687631,9.3717277,33.772392,14.8529412,1.7276188,1.7431588,23.6368184,18.184092,72.8739754,17.7104208,35.2180527,66.2018256,31.1612576,44.5486815,22.0841785,5.0456389,11.1401674,9.4566353,33.5616438,14.4662921,1.5865691,1.6019513,23.3267229,18.1209717,73.8942552,16.8324217,35,66.2060302,30.9296482,45.1507538,21.281407,4.798995,11.4152893,9.2458678,34.2515593,14.3048128,1.453955,1.4772324,23.5574511,18.7907677,73.642418,16.6082164,34.5725847,65.8826505,31.7400101,45.599393,22.1800708,4.5270612,11.6753927,8.6387435,34.0526316,14.5380435,1.3635259,1.386717,23.4142716,18.4093162,73.7071173,16.6000999,35.1767677,65.4292929,31.3383838,46.1868687,21.5909091,4.3686869,12.2291022,8.6171311,34.4917012 +780,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8559242,1.8699884,29.2083509,24.3136777,50.3476011,13.3665652,38.9327322,66.1908434,35.611692,48.8850314,23.9640685,5.3557677,11.7621373,10.8794945,31.4653411,17.0775754,2.0233864,2.0372768,29.4632456,24.6324963,51.3895667,12.8636229,38.1196537,65.4911407,34.6139421,49.1281598,24.5000207,5.2006155,12.2197225,11.353854,31.3928327,18.2709966,2.0904435,2.1261169,30.6465182,25.9243224,52.792089,12.5968691,36.7290319,65.3511656,33.3406934,48.5892808,23.8076505,4.924542,12.0903649,11.5728731,32.4482479,19.6788288,2.1174308,2.1447814,31.7196764,26.885877,53.013424,13.0432023,36.6221616,65.8020998,33.1065892,48.5430412,23.7163584,5.0812531,12.8611406,11.5561795,32.7432061,19.5721111,1.9401612,1.975693,31.7385607,26.8985312,53.1862716,13.4299949,35.4208787,66.472418,32.9681601,47.8659618,23.7125055,4.64516,13.0838264,11.4609229,33.2728232 +781,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.3228508,1.4344976,19.0916052,13.5884063,54.6778306,15.9886888,35.1263637,70.6929607,38.0359723,44.5827084,26.5888203,3.0819286,11.7211646,9.7589316,37.1372825,7.2635111,1.3680865,1.4798126,19.8077747,14.304577,54.8970496,15.5660376,34.845033,69.823958,37.9831522,44.7569909,26.6551752,3.4251876,11.3653847,9.6362092,36.983648,8.2524192,1.3178936,1.4305407,19.6780356,13.9962181,54.0345054,15.3450333,34.6020399,71.0007834,38.8137468,45.4598233,27.4149859,3.3423601,11.9701592,10.6191016,36.1660224,8.576049,1.2444287,1.3239977,19.1204979,13.9287144,53.9160579,14.7647074,33.8568944,70.9940417,37.9920296,45.1093542,27.3757364,3.2008056,11.7719283,11.3431375,36.804988,7.8125,1.1809223,1.2233003,19.4657997,14.43121,53.9431785,14.7607938,33.2743343,71.0153446,37.9574683,45.749719,27.5678715,3.2467593,11.256937,11.1596267,37.309226 +782,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0159907,2.1041136,27.3417084,21.75918,38.6443884,18.4477582,36.192826,65.8797282,37.8548856,55.9435254,32.1663838,3.3534306,11.5357488,10.9869138,32.6827647,23.1834442,2.2393948,2.3275162,27.4107237,21.886452,38.8681606,19.1858501,35.9752928,65.5863418,37.499757,56.1061331,32.1790516,3.1702949,10.8192822,10.6444936,33.7958999,23.7299288,2.1045032,2.1916846,27.3921067,21.9353168,39.2621202,18.6685411,35.4732306,64.3804583,36.3417255,55.0868099,30.8179027,3.0164914,11.0207176,11.1340256,35.7805675,21.6183508,2.1948617,2.2262226,26.8698268,21.649794,39.9459249,18.2628917,35.6888508,64.2124244,36.4108083,52.5504959,29.2676744,3.142666,11.4550852,11.2820084,36.3651932,24.6464306,2.1286406,2.1495126,27.6213127,22.1359696,40.5287448,17.757124,36.7474466,64.7747571,36.1143565,50.760926,27.1458461,3.1732754,11.6557047,11.0104347,37.7574148 +783,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4082078,1.4391914,23.1437331,18.5830952,44.9087933,19.7845934,34.9836102,69.5919594,37.1442429,50.4701031,26.1056801,3.0331159,11.2960635,9.370854,36.635851,11.0610366,1.5047843,1.5047843,23.2310435,19.077634,45.6090895,19.7908652,35.0134856,69.7523544,38.0458264,51.763362,27.3875929,3.4047072,11.8877891,10.5587377,37.1391988,11.739197,1.3206836,1.3206836,22.9027392,18.526598,46.6828715,18.8732722,35.4149935,69.0680366,36.1788762,50.6298647,26.1819465,3.6127447,11.5476406,11.0709987,37.0222832,9.2105898,1.5182966,1.5182966,23.0038281,18.0683222,45.4876716,17.9439344,36.0881566,69.4510952,37.4431445,51.4107217,26.2202783,3.7884006,12.2306119,11.5874818,34.8971378,11.3445932,1.6250158,1.6250158,24.7312577,19.0467805,45.2647757,17.0541783,37.3017935,68.8767259,35.9343774,50.0468825,26.0270817,3.3823636,12.942074,12.1251439,35.1841782 +784,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3758837,1.4031411,19.8294865,14.2151608,81.3330591,14.2307669,34.1998919,65.4508741,36.9283715,40.8908785,24.2522172,6.5583358,14.3766639,12.9070854,37.587554,17.0289855,1.29864,1.3149146,19.6352911,14.2281653,80.5223158,14.2424052,32.3536663,65.6286636,37.0057588,40.4310022,24.9776454,7.1548108,14.7119293,12.726723,38.4938921,18.1481481,1.0262338,1.1228566,19.2703496,14.1787464,79.8164529,13.7437328,32.9410124,66.099085,36.9543041,39.6595714,25.3485494,6.8493675,15.3507843,13.0167469,40.8109161,16.4122137,0.8993158,0.9956506,18.5781021,13.420018,79.2022555,13.1358258,33.0400575,66.8982311,36.667267,39.6045947,26.0415195,6.348245,14.1011975,13.0857135,40.5059994,15.7692308,1.135571,1.2337175,18.5634145,13.3751018,78.8794766,14.5286409,32.1200034,66.1373089,37.3327526,39.1004214,26.2862077,6.4940592,15.5866472,13.6290888,41.9389951 +785,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0493265,2.0753941,26.8480718,22.1548366,80.3839635,14.6387863,35.3725964,65.3618877,35.2788195,45.7648039,25.2460419,6.1337509,13.4572674,10.0286087,35.7462357,15.2840302,2.3389379,2.3560365,27.8345842,23.0112077,80.7389338,14.8089566,34.8742825,65.4283769,34.6472736,45.0891344,24.4324247,6.1062157,14.1065403,10.3004962,35.7499151,15.692436,2.3541133,2.3680528,28.5724604,23.7372295,80.6636803,15.2385746,34.6205016,65.9258658,34.6795565,45.4444801,23.8851203,6.3127616,13.5897488,10.123723,35.4255196,15.7255562,2.4552473,2.4762683,29.905198,25.0274818,80.7951272,15.2981371,33.9005866,66.0288104,34.225391,45.0713211,23.5206937,6.0231635,13.8174997,10.4100523,35.9552108,16.2969902,2.5207598,2.5423965,30.7206031,25.6220279,81.2464304,15.7283815,32.77802,66.4206429,33.4106575,44.4749153,22.9228232,5.982008,14.0353397,10.626272,35.6286385 +786,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6254952,1.7331456,27.8138741,20.6075892,44.601727,10.0271383,39.7320999,70.3144551,34.9591967,51.8009004,34.0934577,6.687057,14.7222167,13.9986063,33.5604775,12.75,1.7865088,1.9457351,28.8586176,21.2818708,44.9489211,11.1543298,38.8076494,70.1473622,35.387551,51.4179987,34.2894564,6.4496057,15.5262544,14.2163121,31.8036202,12.8272251,1.8756961,1.9901672,28.0758353,20.8244275,45.7026823,11.2096431,38.7163818,69.5924972,35.2440342,51.3522993,33.8192538,6.281099,15.7482221,13.4942044,31.5369867,12.9566719,2.063405,2.1469646,27.6147321,20.604098,45.9408884,11.5966072,38.0036242,69.9767748,35.6908932,51.0261698,32.6184268,6.4417867,15.4553761,13.5633295,30.5740002,13.7330792,2.0239582,2.1264076,28.2873722,21.1733161,47.4740914,11.1551018,36.8731028,70.3517905,35.6174175,50.9523635,31.2702607,6.1979582,15.8794099,13.4846303,31.6341848 +787,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.2366346,1.2667502,17.5057374,12.2993176,55.0419313,9.6010497,35.6511098,68.6430779,40.1780439,45.9269124,27.4118438,4.6724047,10.8423722,9.8339118,40.752016,8.9458504,1.3584886,1.3761216,17.4198219,12.0288313,55.4149635,10.0421794,34.6967694,68.241374,39.7968426,47.4904399,28.1252149,4.6327897,10.5951102,10.1197379,40.6857642,9.9434945,1.3912832,1.4008127,17.1753391,11.6645253,55.3611337,10.2598115,32.6605337,67.4077023,38.9058452,48.3621535,28.6543015,4.5455051,10.9061874,10.144337,40.397772,9.8798922,1.4532934,1.4601105,17.1643791,11.5323762,55.4132899,10.4172458,31.5390068,66.5041069,38.4595124,48.983009,28.3956874,4.6908735,10.8742903,10.123512,40.9991227,10.7812124,1.4503124,1.4469932,17.1070932,11.4490126,55.3044673,10.7283225,31.6920109,66.2016766,38.0889916,49.4851332,28.4646269,4.5351866,11.3223032,10.4385999,40.8292207 +788,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3006293,1.3377629,18.179973,12.6161936,49.0853429,19.2303705,35.6889604,69.1221687,33.8046069,45.8087102,27.4554888,3.0505123,12.7536453,10.5293574,39.191033,9.8251859,1.3065222,1.3443075,17.846684,12.4508052,48.4275737,18.9299803,36.8720749,69.4026283,34.7642091,46.7622696,28.3382348,3.137467,12.705419,10.750717,38.3056155,7.3332193,1.3008718,1.3390655,18.2526256,13.0950401,48.340982,18.5172509,36.5128619,68.3957619,34.1853357,45.9769961,28.2640811,2.9604451,11.7614725,10.8005163,38.3921038,7.7100966,1.2844486,1.2844486,18.8038678,13.7055757,48.9724541,18.0538306,36.375042,68.9203139,34.7817063,47.0182769,28.2004307,3.059045,12.0319122,10.6299964,38.4077197,8.6044471,1.1838401,1.1932688,18.4212054,13.4088107,49.3973834,18.2621337,35.7840459,69.5438138,36.1426374,47.4644247,28.6627675,2.8943871,12.3132019,10.8205013,37.9593765 +789,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4725515,1.5117325,16.6406718,10.7936328,55.6682394,17.4052241,33.0383939,68.0853408,32.3288555,45.4495836,28.3315527,3.2736411,11.4179597,11.3768886,43.4224142,7.8931233,1.0924207,1.2108613,16.5374837,10.6677725,55.0172363,16.564627,34.2248845,67.8310914,32.0574348,44.7962548,27.7810389,2.9504004,11.3458046,11.837067,44.1812657,6.0742637,0.9267165,0.9796643,16.938042,10.996557,53.3564692,15.5632381,32.879074,67.6596065,32.1558731,43.9540137,28.082108,2.8166417,11.029502,10.8202568,43.1793264,5.701317,0.8557408,0.9093388,17.0547652,11.2320033,53.6474966,15.2626984,34.0920671,67.4425426,32.914208,44.6568946,28.5930894,2.425375,11.1208308,11.4574763,42.0973384,7.521425,0.9579433,1.0099286,16.8001233,11.0945344,54.5832426,14.5214262,33.5846519,67.222469,31.31969,43.3661696,27.1081808,2.707672,10.7061698,11.4348903,41.7327271 +790,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.3815566,1.3815566,24.3785803,18.2601779,55.3920574,23.6588978,34.011504,65.6007992,30.9108016,43.7015985,21.9961976,5.7170986,14.7940629,7.6779314,37.4059677,5.4744725,1.5427403,1.5427403,25.5177544,19.1148693,55.8026246,25.3318343,32.9826604,66.252322,32.9825648,44.8375652,21.7016623,5.4493881,15.7993446,8.3643589,36.5166846,6.3433073,1.3834506,1.5463189,25.9548068,19.7049099,56.8715156,25.2194445,32.5354215,67.1098755,33.2444729,44.0603873,22.4289131,5.0532542,17.6786661,9.1071916,36.5106287,9.246607,1.3184277,1.4799808,25.9417937,20.4624378,57.9180468,25.5670236,33.7719948,68.1578585,35.5261438,43.5965273,22.7191984,4.4737509,16.4930537,9.8957628,36.1886663,10.0694794,1.2059104,1.3654022,25.3820935,20.7979905,57.9363554,26.1655376,34.0000383,69.130527,36.7825118,43.3912994,23.391282,4.6087598,17.3684284,10.7016916,34.574304 +791,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0284384,1.0438177,16.5916806,11.0001749,59.5406714,16.6667372,34.5553706,67.5889365,32.8165634,46.0011388,24.4421504,3.8684662,11.7456695,9.964516,37.0535345,7.9657507,1.0418664,1.0574304,17.121297,11.5799037,58.8244865,15.62597,34.4471882,67.3036312,33.2214532,44.5141697,23.6212218,3.8955608,12.2749967,10.1619408,37.8843359,8.6035578,1.1432368,1.1588843,16.9526877,11.3732402,58.9503508,14.893373,35.3885603,67.171754,33.3578793,44.305478,23.4402211,3.9582357,12.5225017,10.6479434,39.3546155,9.3831588,1.2139004,1.2297822,17.2037352,11.5707082,58.9221088,14.6431124,35.5307374,67.6082538,34.5440686,44.4992617,23.7518464,3.9910668,12.6920801,10.282465,37.9319668,8.8625317,1.2033603,1.2467753,17.3436161,11.8497042,58.0327483,13.7753729,36.4386047,67.4916046,34.9684535,44.6294733,24.2874366,3.8554231,12.5611659,10.5376833,36.9148712 +792,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.4007769,1.4865612,24.1322595,19.2549417,69.5319563,18.0978938,32.9221065,65.2645695,32.3275908,40.532109,22.6367464,8.0410252,12.4236912,9.7865883,37.2991339,10.5858736,1.6436707,1.7392455,25.6458155,20.3645271,69.8516593,18.2451699,32.464718,65.4333434,31.6009255,39.6919164,21.7535273,7.9326263,13.1113718,10.5650361,37.0977308,11.8817761,1.6546709,1.7327628,26.4148375,20.9785374,71.2026209,18.2490968,31.4354245,65.6258854,30.3616885,38.6691235,20.8957336,7.6716619,13.0144922,10.323885,36.233149,12.0253178,2.0361282,2.1132569,28.3205771,22.5112268,72.3712733,18.2120126,30.8424943,65.5621165,29.3399555,37.7917995,20.5124767,7.3115135,14.0440393,10.7027889,36.6521917,12.9849152,2.4184107,2.4856077,29.6425834,24.0481756,73.0944719,17.8918386,30.005313,65.3416675,28.2770565,36.9981446,19.6091458,6.9795293,14.3959553,10.7712753,36.2096695 +793,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9478332,0.9414775,16.0605591,10.657864,52.5883958,15.0481169,34.9475706,68.3610738,32.9946514,45.1616047,27.7827781,2.4027284,10.5045419,11.2120471,40.8506482,8.5612966,1.2183898,1.2120152,15.7318673,10.9473919,51.5568777,15.0392072,37.5456352,68.6237069,33.8570311,46.3790422,28.9154918,2.1790983,11.0634445,12.3281162,40.9821889,7.5916027,1.3620566,1.3710754,16.5565487,11.3874816,51.3623507,15.9256472,37.2429901,68.9495729,33.8836923,47.0651069,29.3524306,2.1872912,12.4126358,13.8648695,41.8720647,5.9651538,1.5216673,1.5307193,16.4165556,11.4042077,52.9156441,15.8139507,36.9491633,69.4088675,33.7926808,46.5485267,29.3776394,2.3887916,12.2457142,13.3550519,41.2602345,5.5019134,1.8209932,1.8553345,16.9643378,11.7038281,52.8642748,16.1128646,37.8907935,68.8525327,34.4782154,46.5532443,29.8818215,2.8587904,12.2879052,13.4819124,42.2399035 +794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3455011,1.3812512,19.7283562,15.5386756,73.9369594,17.6948074,34.1745226,63.1839615,31.5801765,44.5518879,23.4669872,5.4952819,12.0452209,9.9803323,36.4222056,10.8231263,1.2276444,1.2629253,20.3585958,16.2278716,73.732409,17.9598364,34.6848849,63.5542198,31.4411389,44.0454091,24.2122331,5.5375332,13.049692,10.57414,36.3066424,8.8588148,1.1992984,1.2335075,21.4065193,17.2619051,74.2747118,17.9787748,35.8554016,63.6506466,32.7121625,44.5217732,24.5846417,5.5006718,12.6030947,10.229335,35.753917,9.5040902,1.3024441,1.3982907,21.7568693,17.3754284,74.7356849,17.8709754,35.5958034,63.7057938,33.1514636,44.063725,23.8105647,5.3470124,12.8584007,10.797468,34.85532,9.6560659,1.437231,1.5584086,22.7142796,18.2244857,75.5672324,18.4037793,34.7979918,63.6193128,32.923776,44.3773381,23.8442342,5.5185365,13.0710461,11.1063983,34.5957339 +795,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9968097,1.0070124,15.1881907,10.8880222,78.2016538,6.7747255,29.3458161,63.872686,31.5886878,41.2282871,20.8143101,6.4426126,12.1567413,10.1499357,36.5189835,5.9308511,1.0503161,1.0559685,15.1220157,10.8327992,78.5419355,6.5067034,29.4676873,64.278659,31.5523232,40.9061655,20.7531716,6.5820232,11.8530386,9.8814977,36.5873488,5.9189189,1.0266918,1.0359826,14.9904707,10.8076648,78.6526247,6.3267887,29.4156102,64.337702,31.798723,41.0417082,20.9086021,6.549031,11.7840681,10.0801702,37.1144263,6.116453,1.0261932,1.0400371,14.9105301,10.8060616,78.6901542,6.1318688,29.729038,64.6865082,31.628679,40.9593339,20.7151041,6.5298082,11.7249934,10.0304702,37.2245709,6.5664557,1.0349252,1.0439707,14.6124961,10.5444679,78.3329727,6.4366161,29.6480971,64.5955526,31.7991737,40.4553602,20.5827397,6.7186694,11.9910301,9.9786086,37.3279449 +796,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5441516,1.700538,23.0661276,18.6573086,76.2288315,18.1396306,34.5964677,63.7648427,32.384263,43.1175684,23.4125353,5.7148728,12.7069413,11.198326,33.4028302,9.8062978,1.5699995,1.7429328,23.9494053,19.2801429,77.0167698,18.3079346,33.854983,64.0847786,31.7947644,41.6204371,22.8011087,5.5269431,13.13091,11.2204593,33.5055644,9.8194175,1.712927,1.909929,25.0654052,19.9662999,77.2324159,18.2346312,33.1741709,63.8114164,31.4956992,40.3470252,22.5296305,5.5513343,13.3511834,10.8778515,33.3204607,11.2549846,2.1223981,2.3114883,27.110195,21.627036,78.2064986,17.8595233,31.5564338,63.5373358,31.6673673,40.0404103,21.6341422,5.4408134,14.1952342,10.7434968,32.7948909,14.5569647,2.1690785,2.353342,28.6810138,22.7127074,79.2406836,18.1471334,29.9191907,63.81448,29.3698082,38.823575,20.2089189,5.2583526,15.0406486,10.5904098,32.6005934 +797,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.464373,1.4414687,23.7548828,18.3837891,74.3284339,16.3371231,34.625,65.575,31.425,46.025,21.725,4.675,13.0412371,9.423275,35.1141079,13.4114583,1.6469731,1.5771732,24.2326733,18.7376238,74.8192149,16.9010547,34.2893401,65.8629442,31.5989848,45.8121827,22.0050761,4.7969543,12.513089,9.1431557,34.9683544,13.1510417,1.625395,1.5575217,24.3275696,19.0441883,75.788683,17.768595,33.9645844,65.5435317,31.8494835,45.5238564,22.3069356,4.9434333,14.0881148,9.5603272,36.0020661,11.509901,1.7067648,1.6399199,24.1517436,18.9208294,76.0009886,17.217433,33.6813987,65.0558524,30.6702283,44.1719281,20.7139388,5.026712,14.4789579,10.2602603,37.046371,12.375,1.9344247,1.8779766,25.4117109,19.6935041,75.1679463,18.5262669,33.7812353,64.75719,30.952381,43.8708157,20.9099481,5.2569543,13.8915779,10.0096712,36.5628043 +798,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8404571,1.7656752,26.5775635,20.8369851,74.9884952,18.7917967,34.3044264,65.4245709,30.6910569,43.5636856,20.9349593,5.4878049,13.6070111,9.7145488,35.8867224,13.6046512,1.9649204,1.9100852,28.4716342,22.6714649,74.9666815,18.4969854,33.2969908,65.5691234,30.7239424,43.3711295,20.7370257,5.2115133,13.5707845,9.7747748,35.5323021,14.6995708,2.1463994,2.1317935,29.650437,23.8243862,75.6315331,19.1592733,32.7276614,65.7332193,30.4189825,42.1761437,20.0726806,5.2372809,13.7946429,10.0626118,36.4986499,16.6666667,2.1146527,2.1569371,30.2819698,24.5631454,76.4056643,19.0235008,32.2865353,66.8924466,30.4802956,42.2619048,19.4376026,4.9055829,13.7446809,10.1962457,35.2966466,17.0708955,2.2424651,2.2660247,31.2425329,25.2688172,76.9053601,18.4424563,32.1030928,67.2783505,29.257732,42.0412371,18.7835052,4.8865979,13.1055363,10.0953206,35.3275109 +799,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1446173,1.1630132,19.1767472,14.3776824,53.7347043,15.0514248,32.2678239,69.7024485,37.7764298,45.2955453,27.6839421,2.9553744,11.0252049,11.1606872,37.4180452,9.2982138,1.2301444,1.248885,18.8195536,13.8513475,52.3918546,14.9395165,32.1545602,70.1349035,38.7367003,46.3409701,28.2297455,3.1275664,10.8230126,10.8873954,36.0880514,10.4014309,1.311998,1.3212745,19.4771998,14.3671344,53.0177857,14.6952737,32.148664,69.5572576,38.2006406,46.0804153,27.5995059,3.2290934,10.8568905,11.0049687,35.7563121,10.8996269,1.1168423,1.1331289,19.3295066,14.5402277,53.2862841,15.3620307,32.7976204,70.6150698,39.0674532,46.9642741,28.3928549,2.9960355,10.1351232,10.7624977,35.1688255,9.8958124,1.2262158,1.2423159,19.7916773,14.8295497,53.9121793,15.6843687,33.6149312,70.5500899,39.1944905,47.445959,27.8781932,3.0058975,10.0314595,10.1101376,34.2482255 +800,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2645837,1.2340777,23.6748182,18.23406,68.2463675,9.0992524,33.1841398,66.7811777,36.7645657,46.5082503,24.1590914,5.2831375,14.8338155,12.3658658,35.519123,10.9808149,1.3381182,1.2965838,24.2521939,18.8549041,68.7826482,9.349168,32.7641078,67.2370085,36.9530554,46.5672692,24.0676659,5.1234174,14.6361059,12.2862508,35.6487287,10.9147632,1.443161,1.4644136,24.8551906,19.1912805,69.3053528,10.1244218,31.7371644,68.0183262,37.4203367,46.5447542,23.4922573,5.4914758,14.9020878,12.459441,35.5647145,11.7,1.6479052,1.6434126,25.3088148,19.5543347,69.6202652,10.4562923,31.0151305,68.6827298,37.5831893,46.9512297,23.3329634,5.8795783,14.4626767,12.1268968,35.4442311,10.8775137,1.9934862,2.0251107,26.5763114,20.1402205,69.3054193,11.21633,30.0279858,69.4661773,38.0692664,46.5195033,23.4715281,5.7622768,14.2315121,11.7587157,35.3985685 +801,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.0973959,1.0993513,20.0349738,15.505281,67.6405001,13.5726457,33.5354645,65.9019388,33.8235709,43.9381133,23.4431816,4.4546077,13.626412,11.4390041,36.8634046,13.1235769,1.0517974,1.0716735,19.9552787,15.2541734,66.9879751,13.6284387,34.2514201,66.4677625,33.9891018,44.4816148,23.8658516,4.4106302,14.0267314,11.5196687,37.0442283,13.4623101,1.1727902,1.2281393,20.2564663,15.3951715,66.8938155,13.3921532,33.6940135,66.7264018,33.6117597,44.1103548,23.7339501,3.9353193,13.9931476,11.3189448,36.8435599,14.1600237,1.2632414,1.3188578,20.8624059,15.979809,67.2290954,12.8862114,33.44839,66.8908494,33.6249225,43.496937,23.6696137,4.0350227,13.6708785,11.1913307,35.9275334,15.2860832,1.1898435,1.2485414,20.5423337,16.140535,67.3259877,13.3516172,34.1577875,67.2533267,33.8571999,44.3792494,24.1797143,4.2106093,12.9985082,11.0378176,34.7332773 +802,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3806455,1.3806455,25.0680207,19.2759385,45.5198749,17.3302383,36.5524013,69.139697,36.0668748,51.3708483,27.6218924,2.9931399,13.0731145,12.6525424,34.9307931,9.8290697,1.5326283,1.5781445,24.7575704,19.0591848,44.7030898,17.2927031,36.9127053,69.4104053,36.8205276,50.8247451,27.6714163,3.4532583,12.3871229,12.6029485,34.6741248,8.1196742,1.4094102,1.4531732,23.9241133,18.6418378,44.0694274,17.6768705,36.698114,69.4117927,36.6082099,52.0181334,29.366429,3.8063094,11.760405,11.9886383,34.2187634,9.375014,1.3247608,1.3772973,24.4818468,19.045309,43.1460696,16.6150247,37.3082277,69.8136586,36.2640146,51.2234506,28.2533555,3.3832781,12.1442004,11.806106,33.56944,9.1345451,1.4561909,1.5081297,24.6926871,18.8541916,43.6048003,17.1345412,37.7947184,70.431702,38.0842461,52.4037508,29.2578365,3.3672621,12.0343757,11.077783,33.9834188 +803,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3677564,1.3040955,24.6150199,18.8538258,46.6943468,16.2272881,36.9333746,69.4859257,37.8578345,51.6424078,29.6551606,4.0215213,14.138462,11.5383612,34.1131682,5.948399,1.3633152,1.2920907,23.0925799,17.2401189,46.756271,17.4545217,36.1955216,70.5101971,38.7775468,52.5264008,30.779151,4.380237,14.2209019,10.9799501,32.8220051,5.948399,1.2897328,1.2194133,23.5366739,18.1961038,46.7546114,17.5792703,35.0974286,70.3400559,38.374857,51.8573135,30.1134752,4.2333333,13.8984711,11.1207432,32.5489904,5.4043672,1.307943,1.2792285,23.8088778,18.3310133,47.1049117,17.480998,35.3264144,70.8855151,39.4220222,51.5218069,30.4167672,4.0490669,13.8026388,11.4890555,34.3405656,9.1065738,1.3507648,1.3086703,23.7239015,18.1897437,45.3290078,17.9262591,34.6070619,70.3458215,40.2171205,52.0680312,28.6589752,4.2069197,14.5215733,12.1502273,32.8391091 +804,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.0869693,1.2417699,25.8564943,21.6150103,58.3619113,26.5048868,32.8572773,69.6639288,35.5462165,41.5966238,24.1175947,4.9580415,14.5484737,9.531701,35.9797566,8.2734111,1.1756117,1.4814259,26.8430525,21.8750401,58.6880582,25.9471905,34.0835094,69.5833698,33.7500052,41.0832635,22.5832823,4.4167219,14.2617447,9.8992773,37.4577325,11.2318841,1.5558291,1.8469538,27.7948701,23.3537675,60.1437879,25.8540679,34.3016351,70.8791248,34.4583876,42.1505624,23.6262179,4.0031931,14.130455,11.0248264,36.3208971,9.7316089,1.219147,1.5052733,26.853371,22.9198863,60.5845251,24.7320605,35.0079792,71.1747818,33.6168503,41.0354061,23.4157274,3.4776292,12.2670588,10.0931221,37.4610693,11.073937,1.6176651,1.7647256,27.2938855,23.5614129,61.1201751,24.6045447,33.5727034,70.7337243,33.5727831,41.5469551,23.3653326,3.269574,10.7476585,9.8129101,35.3775447 +805,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.688464,0.7479316,16.5291808,12.9559716,85.8566801,13.1949408,27.9943195,66.2716633,30.2115406,51.1595155,20.6803866,5.77218,12.768616,12.2182821,32.3816211,6.3853459,0.835389,0.9005861,16.6914385,12.9628819,86.1140286,13.1690568,28.3054275,65.1848986,29.3186304,50.7978825,20.7573047,5.76242,12.4999412,12.2569605,32.3498186,5.4487754,0.8074066,0.8636871,17.0739567,13.2118236,86.106913,12.6322499,28.7939073,65.4747064,29.5664264,50.3488733,20.3463864,5.3949726,12.512331,12.165559,31.6508112,5.2469795,0.8581928,0.9381902,16.8668986,13.1132205,86.21084,12.5340527,29.4434416,65.8686586,29.769365,48.7465636,19.5913616,5.4775716,12.2636358,11.9154832,31.7272818,5.925242,1.0252471,1.1136437,17.4082348,13.5650017,86.19013,12.3691507,31.2062476,66.2050158,30.1708001,47.6701998,19.2466945,5.9409853,13.1836861,12.5000425,33.8416692 +806,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5830965,1.5869624,27.1659376,21.8578295,44.5065223,15.5066379,38.5923913,66.619871,36.7197406,49.1417068,25.8271103,3.0118554,10.7409656,10.0062344,35.848457,21.7045553,1.5990469,1.6029127,28.1803907,22.7675614,44.6450745,14.96609,37.1254383,65.2153097,35.1591564,50.9206784,27.3564291,2.8557977,11.2476173,10.0630794,35.9859681,21.5935435,1.6350124,1.6532006,29.2560613,23.4804462,44.7108605,15.0749891,35.7054031,65.0697285,34.0619988,53.31779,28.3255814,2.7441761,11.4687294,10.168936,36.3664089,22.1064557,1.6499071,1.6781385,29.6906774,23.8328213,44.2155558,15.004518,34.8804638,64.8130996,33.1341424,54.0593472,28.416023,2.8032963,12.2910026,10.9974923,36.3324341,21.2940706,1.7270093,1.7384715,29.5506671,23.8115431,44.5005102,15.7050126,35.080604,64.3817175,33.1391371,53.6289452,28.5393882,2.9719106,12.9393788,12.2046984,37.0200427 +807,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.9667774,3.0281372,36.6538822,30.5915002,77.2946868,21.924937,25.3747327,61.555738,24.8651121,44.2596346,17.9706215,5.4706046,17.2689205,13.1297953,34.6725444,12.1100015,3.1884053,3.2545596,38.6486053,32.5035213,78.2512303,22.1985094,24.3786328,60.4479783,24.5231266,44.4364419,17.8179032,5.4479588,17.3131467,12.7641196,34.7388936,13.29016,3.2688833,3.3446588,39.8939176,33.8547499,78.846135,21.9270065,23.4798102,59.4665908,23.9496956,43.0762984,16.8463027,5.6246382,16.9310486,12.4109215,34.368083,13.7552846,3.6808738,3.7614294,40.8441902,34.7662694,79.2216367,22.3626303,22.8090961,59.1872113,24.1329084,41.5011907,16.3489439,5.5467177,17.6393756,13.133125,35.4526022,15.0096643,3.8655277,3.9423274,42.3588545,36.4554571,80.1036388,21.8021359,22.6810858,59.2887171,23.7493481,39.695157,15.3334991,5.7972774,17.4974371,12.7960793,35.341222 +808,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.7303011,1.8011352,28.0262056,21.3911395,48.1837837,10.6811088,34.1494688,69.4665353,34.5734103,51.3124042,30.7589538,6.038751,14.5273604,13.1194672,31.773218,13.7667485,1.7439393,1.8137276,27.8414933,21.4505129,48.4926569,10.8171449,32.3257656,66.1535095,32.465417,52.7603477,30.2331699,5.1957742,14.0530428,13.824211,31.1040658,12.6711627,1.7608572,1.9388422,28.0476244,21.3468808,47.1870407,10.8852711,31.9547189,65.1380927,31.8853442,53.6518786,30.0767608,5.1808455,13.6713938,13.5709588,30.7922108,14.2037943,1.8817509,2.0212702,28.7713085,22.2320994,47.9216647,10.7403856,30.8841955,63.6722178,31.2176084,53.4682249,29.0185546,5.296173,13.9811985,14.2781347,31.1388034,12.7111206,1.9524447,2.111983,29.0559952,22.9787867,46.8761789,10.1895242,29.4446773,63.1149869,30.575667,52.92265,28.4431877,5.0887282,15.2468012,14.4805094,30.1922596 +809,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.9735405,2.0056491,26.7104717,21.7113173,49.022226,13.8214818,38.2126018,68.1371583,36.2655549,49.1580288,25.3551937,3.7274179,13.7873706,12.3340783,37.0225996,19.9367494,2.0123931,2.0444654,27.0982823,21.9123249,49.2087896,13.9331438,36.4123099,67.2368644,35.1666693,50.6052773,25.9912309,3.5701796,13.7023835,12.5226912,36.6703443,21.036595,1.9476499,1.9739366,26.8733468,21.782612,49.2926799,14.3063813,35.3078376,66.968467,35.1181238,51.862397,26.4787015,3.4230074,13.658812,12.7948219,35.3827409,19.9878542,1.9342024,1.9653725,26.5731647,21.4926309,49.0597694,14.916995,33.9599069,66.1081932,34.5212068,52.5514919,26.8838362,3.5635406,13.2745132,12.1112947,34.556556,20.5302096,1.9680449,2.0068106,26.3993132,21.1763937,49.5464358,14.842474,33.5474051,64.9182994,33.3139126,52.5600809,26.7595271,3.2938714,13.1328779,12.0929645,33.7384722 +810,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.9557583,2.9728069,35.935062,28.8789823,53.4417155,20.2268586,28.2578317,62.7428475,29.2259998,50.2366964,25.8222342,2.8492067,17.1634462,15.1636953,38.8993588,17.1140351,3.0698832,3.1240209,37.6545491,30.7004227,53.6498321,20.603873,28.0814713,61.6823627,29.138077,49.1395421,25.0693359,2.7867341,17.0774826,14.3885361,39.5954248,17.0745289,3.0487896,3.1423664,37.8385386,31.4306354,53.0081048,20.9383266,27.126582,61.377738,29.4372642,48.1228562,24.9561785,2.7480907,17.1529845,14.2930862,39.5711624,16.9580003,3.5507663,3.6064375,39.3763208,32.7965643,54.0461179,20.475631,26.9828306,61.1480489,29.6975457,45.4993625,22.7981024,2.8459712,17.3974883,13.9616317,40.5594949,18.7396819,3.7820867,3.8656662,40.2426133,33.4183145,55.3206658,20.4006943,26.5335542,59.7765393,28.8366929,43.1050964,21.1814837,2.6707805,17.8968263,14.3506447,40.8022926 +811,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.2081839,1.2596974,21.0670202,16.6510898,67.377243,14.1796151,33.2765804,67.6732947,34.2433843,44.6568884,24.2788376,4.0310036,12.7676233,10.7159305,33.9849803,12.8475977,1.4770464,1.5272462,21.9677855,17.2328656,67.5471585,13.803783,33.159041,68.476464,34.420807,44.0440847,23.6857139,3.9609104,12.966059,11.1757198,33.5214706,15.2616642,1.4454384,1.5054522,22.98539,18.1281002,68.2103738,14.3167722,32.6134703,68.4869031,33.9797988,44.1557932,23.2364472,3.9914317,13.1800442,11.0624688,33.3390889,15.8267058,1.5330149,1.5912141,23.7372785,18.8669255,69.0062492,14.809018,31.4343552,68.316217,33.2293393,43.3871906,22.1900583,3.7832908,13.0041755,11.0322096,32.6397816,17.2413848,1.7031807,1.7398932,24.7935719,19.9218744,69.3813061,15.7453467,30.9600034,68.8610813,33.3175031,43.8069553,22.0312643,3.8583447,12.9394405,10.8077849,32.3028886 +812,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9584153,2.0186313,31.2037606,24.9575212,49.6578877,13.6108083,40.5505373,66.574897,36.6859203,47.6138651,27.5659384,3.8948821,13.466161,10.3385623,33.9610977,20.6439394,2.0511881,2.1136613,31.0888468,25.1675061,49.7098383,14.3800416,40.2701477,67.1764862,35.7020653,47.9652815,26.7516918,3.47304,13.7608842,10.7855362,34.6491228,22.0648267,1.8670249,1.8996302,29.9660738,24.2251113,49.3493249,14.3153423,40.8414118,67.3222152,37.334842,48.396918,27.2969678,3.4159064,13.2883471,10.8780305,35.149038,21.5164521,1.8009012,1.8191552,29.4619127,23.7821519,49.4839516,14.6503619,40.3867861,67.6860395,38.0129524,48.812187,28.6345118,3.7091396,13.5775937,12.0800117,36.3711823,21.9262975,1.7277077,1.7548363,29.0564119,23.4788217,49.6070696,15.2604275,38.6468421,67.2093479,36.9318986,49.5260372,28.4737729,3.6959793,13.9924658,12.7079085,37.0589398 +813,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8884451,1.9310119,18.2234754,12.1936303,52.1494509,16.404498,37.1310624,68.4810003,34.1572239,45.5922475,28.0629138,3.0130579,12.4029551,13.5331172,43.2983946,11.8585901,1.8301355,1.8741835,19.1681432,13.0737072,51.2883103,16.469888,38.4944296,67.8246102,35.4097782,47.0123095,28.4044393,2.7824206,12.24347,12.7173458,44.8106792,11.8194615,1.8317802,1.8566001,20.0454606,13.956178,52.3375854,15.6594326,36.5013914,67.0665019,34.097166,45.6184765,27.1508677,3.0443653,13.0936335,12.0583354,44.9216854,12.5740888,1.3992377,1.4240164,19.9944889,13.7586536,52.5454256,16.0234576,35.1254645,67.394445,34.782083,45.5882715,26.7689794,2.9355309,12.7350871,11.1775922,42.6751618,13.8126415,1.4271369,1.4738883,19.8027223,13.5979287,54.2338744,15.153511,35.471893,67.6132838,33.7770727,45.3674297,26.6343485,3.0608991,12.6644305,9.8160486,42.7396748 +814,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.1394706,1.1303317,20.6778361,16.5962051,65.4711628,9.7534287,33.5633719,67.772339,29.7491897,42.3938854,19.6868507,12.9934699,12.0090695,9.8700124,38.3596987,11.0318727,1.1648175,1.158389,20.7713526,16.5864606,65.3991544,10.4867011,32.36913,66.6641924,29.2906068,44.3857882,20.7688935,12.6189768,12.1969731,9.8666235,38.2487665,11.7521217,1.2285925,1.2466363,20.8351188,16.5807167,65.035429,11.1404924,31.3863862,66.4169377,29.0587776,45.6139144,21.6831602,12.0090205,12.2746402,9.9639261,37.8447897,11.3046858,1.2400865,1.2382471,21.2847692,16.671323,65.6241016,11.8825045,30.4943943,66.2949348,28.7185723,46.3063038,21.6295035,12.0258571,12.3101617,10.2889618,38.2743261,11.0116437,1.2491408,1.2473405,21.723379,17.1313343,66.0115539,12.4454467,30.1068603,65.2581228,28.4138224,46.495983,22.0302596,11.8998065,12.2358634,10.0313878,39.0395055 +815,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3.0102391,3.07774,32.0233493,26.0051891,73.7578057,17.6634082,29.2202532,65.0723494,26.9158634,37.1784632,20.0294759,6.7390161,15.6010917,11.2295058,37.0237319,15.4182909,3.2411143,3.3750013,35.3098009,28.8090369,74.7811116,16.8953928,28.0225527,62.1426684,24.1673168,38.8539199,20.2596392,6.2286933,15.6629685,10.8557826,37.6066058,17.201838,3.7491911,3.8525025,37.3956805,30.7191932,75.2435911,16.6791256,26.9221011,60.2807244,22.4962017,38.7329297,19.2336892,5.5513424,15.8823492,10.761758,38.0596914,18.2612358,4.1830257,4.3006607,39.7886497,32.8781753,75.6733403,16.7106546,25.8956821,59.5052394,21.7767459,39.3492569,18.9983,5.3010009,15.2955684,10.1774318,37.8599722,18.97375,4.622856,4.7497201,42.5984238,35.2868376,76.5650674,16.9877619,24.7984266,58.2008738,21.3199664,38.9196043,18.5556346,5.2868022,16.3033424,10.2879751,38.2943871 +816,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.9610211,1.997253,25.635673,20.0416061,45.0638532,12.133398,37.1393946,68.0048244,37.4759621,49.0143961,28.8701932,3.4855788,13.8689688,13.3572283,40.5670231,14.9831128,1.8651004,1.8937729,25.8376267,19.9581352,45.2205861,12.1827747,36.9679557,68.4734364,37.4452843,49.5240365,27.851263,3.6037274,14.7416214,13.1205767,39.3367628,14.4443947,1.9017863,1.9303348,26.8135289,20.8346799,45.3458989,12.6280575,36.4292633,68.5351457,36.9966432,49.2921273,27.3987811,3.4278062,15.6465671,13.8696951,40.109356,15.7811974,2.0072756,2.055721,26.8182926,20.4741764,46.3854204,13.210222,35.7824584,69.010051,36.611935,49.0566185,26.7504301,3.6174195,14.7846539,13.0497053,38.6864859,17.7272175,1.9526978,2.0306719,27.7263421,21.1998079,46.6798098,13.9698906,34.4728757,68.9248836,36.5492727,48.9631252,26.167269,3.8460535,15.889175,13.5436791,38.6075823 +817,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.3786194,2.5917942,31.7693655,25.1226307,45.9621405,10.637166,28.0542082,62.4673228,30.442348,52.3841381,27.921376,4.7440011,14.9093757,13.7848724,31.4763118,13.3697332,2.6848504,2.8765135,33.182563,26.2997779,46.8096236,11.1750907,27.1134397,62.0037627,29.6947708,51.0349249,27.2986659,4.5015834,15.4065644,13.7978468,31.5639665,14.1574676,2.9020342,3.0870564,34.117618,27.2294859,47.5248786,11.5775739,26.704639,60.9617704,29.0286541,50.5534122,25.8450226,4.8009197,15.9476372,13.0765041,31.9683328,16.1015694,3.1362673,3.3466965,35.3493793,27.9637805,47.9180738,12.0200846,25.7954026,62.8317023,29.4315428,47.9729246,24.8223958,4.9996927,16.7433867,12.7560773,32.9422867,16.7795245,3.3132701,3.418734,35.3880515,28.2821981,47.7704888,11.8594495,26.7475028,62.7239763,28.6987612,47.1717881,24.6709005,4.8476576,16.0345193,12.5999308,32.8003355 +818,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.1008982,2.1880744,28.4467038,21.8802694,45.8813475,14.4456507,32.9212043,68.4817869,36.1141431,49.8562206,27.4060777,3.8944247,15.6124153,13.7913679,38.4808838,14.9370849,2.1843346,2.3775538,29.5403615,22.7761089,45.3515982,15.4230815,32.9021579,67.974599,35.4836576,51.2190688,27.3981156,3.9209817,15.0049671,13.2968034,38.3117089,15.9163666,2.2288234,2.4256449,30.4994393,22.718253,45.4421964,15.715906,32.2947594,66.7071821,34.7186267,52.4965269,27.8271528,3.8259409,15.7818416,13.2593892,38.3462565,16.2613883,2.2576585,2.4783619,31.4723134,24.242485,45.2190841,15.7390587,31.8747398,65.8307871,33.7923517,51.8487901,27.5249688,3.5780088,15.2706151,12.6563737,38.5332741,17.5675517,2.560908,2.7760854,32.2821484,25.4070405,45.2963933,16.5081822,31.0439097,65.2127177,34.2828562,51.3926883,27.9417847,3.8092057,14.8518694,11.9732195,38.9179175 +819,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1775037,1.2117881,17.305452,11.7758592,57.443928,12.9254702,36.1036273,68.0591737,35.2051498,44.5792694,24.6032385,3.8784409,12.5458316,10.2322476,36.9536782,8.9532934,1.2224247,1.2291688,17.6462608,12.4027616,56.782873,12.9371792,36.0147764,67.749865,35.8089125,44.7794688,25.2501253,4.044156,12.6970428,10.5344583,37.0947461,8.5678502,1.2412451,1.2593711,17.7761684,12.3982032,57.4457116,12.4706974,36.1168515,67.7691746,35.7312198,44.7790053,25.4672656,4.2272757,11.9472176,10.0001329,37.2675207,8.2071449,1.2977252,1.3068129,17.6306877,12.0507762,58.1166049,12.6836635,36.1914586,68.0435023,35.7441167,45.0789575,25.9916152,4.0710312,12.0721434,10.1597539,37.6696297,9.2138365,1.1807165,1.174336,17.8341038,11.9724289,58.4496137,12.270506,35.5085231,68.5418083,36.5886187,44.8394122,25.9675419,3.8254265,12.5624797,10.2380935,36.8302264 +820,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2602354,2.3859493,31.2453852,25.0710337,79.67129,18.6124009,28.1567375,63.8867605,28.5219686,38.9961787,20.2372759,5.1277526,16.0335997,10.9044533,32.5350009,15.539455,2.2480574,2.3768359,33.1896344,26.7482545,79.9096907,18.4264072,26.31841,61.1011038,25.7484618,40.2172287,19.7256357,4.8289523,15.9786463,10.5131898,32.4120504,16.3011744,2.423357,2.5155838,35.7422258,28.7611276,81.0516734,19.1362328,24.8040333,58.7503158,24.2254583,40.4322593,18.8798525,4.5114189,16.2687573,10.2870849,32.7041773,15.8203166,2.8881224,2.9962725,38.6908987,31.2871734,81.1286152,19.7534984,24.1662198,57.4780423,23.0981431,40.4174683,17.6271052,4.2246797,17.1622508,11.1075115,32.6483906,17.2268829,3.3164916,3.4243456,41.2544724,33.9839126,81.3744118,20.1867212,23.185481,56.249994,22.3169944,39.9658796,16.6718378,4.0477679,16.697305,11.0940306,31.7817461 +821,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4350994,1.4350994,17.2239001,11.3108131,48.4030657,16.3899316,36.7162467,67.8895406,36.6600785,49.1855676,28.6280517,5.1393846,13.0814045,11.1689661,42.0163114,5.3795145,1.2031475,1.2031475,16.2597643,10.9223835,48.3346436,15.5558481,36.9000759,67.9202368,37.2403337,48.071867,27.9966814,5.0187964,13.3216025,10.5600749,40.4117602,6.27781,1.1931503,1.1931503,16.3316622,10.8601464,48.7603561,14.1541229,37.0072448,66.8990681,35.8749786,46.2352034,27.0433188,4.6139793,12.1824537,10.4022806,39.4097173,5.0215424,1.0892437,1.0892437,16.4093017,10.9851956,49.751023,13.3374453,35.7779104,66.4843146,34.3922479,44.9787353,26.2445364,4.2955599,11.4819056,9.3220258,38.8068017,4.0719928,0.9316208,0.9571281,16.4067401,11.2052816,50.344382,13.1264021,35.7382973,66.189242,33.9666115,44.8735752,26.2708439,4.1247133,11.1431948,8.6981502,39.0824314 +822,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.078294,2.072703,28.2293877,21.5073071,70.1020336,11.5036564,28.505894,68.3743558,36.15095,46.6071409,22.5750431,5.3652224,15.1207553,12.0668112,35.3397665,13.597973,2.1191776,2.1521557,29.5520515,22.6709525,70.3105339,12.1048693,27.4277847,66.4258885,34.8516371,47.582995,22.7239468,5.4586894,15.6900079,12.1037204,34.6169661,13.0062346,2.2809693,2.3509795,30.8870293,24.4852424,70.2302193,11.8973002,27.1320211,65.3331884,33.5489738,48.718264,22.5898695,5.3145253,15.7213034,11.7747724,34.2173294,13.4294406,2.3676321,2.4371675,32.2231446,25.687607,70.4628701,12.5922533,25.7259833,63.9733896,32.7377087,48.8340186,22.2027296,5.3822197,16.5096999,11.8985083,35.1109196,14.9645411,2.6012245,2.6195405,34.251396,27.4048023,70.6227327,12.6521602,25.1205118,63.1393577,32.1345668,48.2882025,21.5649223,5.0621859,16.3089411,12.4669686,34.6319698 +823,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.118388,2.2150974,28.1063367,23.6342389,47.9453978,16.0916379,39.8587215,65.4146425,34.1416212,49.3570495,26.9375744,3.3498635,14.1921126,10.2771745,30.7642096,23.7928409,2.019086,2.1181836,28.132277,23.4502,47.6352701,16.0439808,39.5975298,64.8686871,33.6997443,48.341261,27.4751774,3.2694066,13.1854788,10.3354726,32.005699,23.5907186,2.6503169,2.7285828,29.251028,23.9936387,50.0742689,16.2068026,37.749592,64.5006325,33.9905608,47.3008863,27.1098564,3.2467217,13.5248798,11.93346,32.0824152,23.9962147,2.593332,2.5896479,28.2158465,23.3027061,51.4118806,16.1423439,38.5964108,64.7692073,34.5084309,48.1858204,28.1847472,3.4040496,12.9861408,11.7286742,33.3613215,23.8351014,2.373273,2.4106711,29.0410186,23.4986296,51.2708765,14.974125,37.4995238,64.751665,34.0913929,47.1031228,27.2697484,2.7211204,12.7434782,11.5131043,32.3657859 +824,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7071434,1.71775,24.3897071,19.3812693,58.9922673,9.5459568,29.1937076,66.9382835,34.3696486,41.2675197,21.881996,4.1923755,9.8339993,8.6766499,33.511088,16.9113823,1.7765844,1.7873455,24.1911955,19.2954189,59.1511355,9.5695663,29.1670224,66.9732142,34.3687804,41.5544116,21.9241519,4.1553309,10.0993352,8.8387402,32.8284388,16.5715325,1.596153,1.6068098,24.306025,19.184144,58.9980015,9.4862049,28.8646295,66.9854317,34.1357037,41.1528184,22.41005,4.3169014,9.8247352,8.5570274,32.7808293,16.4297697,1.6159353,1.6201959,24.7730668,19.5824948,59.31339,9.3214992,29.4426025,67.4139767,34.6948062,41.4307522,22.8570546,4.1970125,10.065767,8.6628726,31.5544642,16.3086022,1.6684,1.736318,25.0617281,19.6492196,58.9824999,9.1091378,29.7343446,67.7076556,35.0904917,40.7403377,22.7725568,3.9876124,9.7268268,8.7628779,30.9871641 +825,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.1751063,1.2659559,17.767005,13.8938328,86.5791553,12.2536727,31.6257657,66.6977366,30.4017561,46.1814641,18.7998836,5.7610491,12.8278935,12.4934887,33.4996002,7.6693885,1.0786989,1.1460224,17.4806609,13.3925302,87.0411936,11.2049964,32.1446627,66.4180832,30.0297987,44.8346059,18.3703798,5.4365549,13.2925409,12.5265833,34.4449831,7.6271632,1.0338817,1.0844121,17.2904604,13.1281642,87.5034092,10.8545953,32.0942483,66.4668105,30.4422844,44.377874,18.1055462,5.2624826,13.1704248,12.4606661,34.3964556,8.552683,0.8180414,0.8551683,17.112533,13.0605515,87.6021303,10.6215698,31.2110013,66.4029801,30.6405679,43.5814827,18.5295692,5.1737819,12.9391179,12.5515557,34.6393588,8.3962771,0.921782,0.9509579,17.5740197,13.5351721,88.0693838,10.4251647,31.1540642,66.6623455,30.5042871,43.2675192,19.2227729,5.445829,13.3211297,12.9192905,35.1715515 +826,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.948856,0.9744547,16.1300601,11.0392713,51.0804139,12.4236464,36.0195894,66.9094021,34.4113285,44.9482354,26.3145499,4.076118,11.0277187,8.4580006,38.4124975,5.1424004,0.9330817,0.9592429,16.8809906,11.3009712,50.437837,12.1004771,36.5683917,66.9901721,33.8491455,44.8961411,26.7110794,4.1638662,10.920905,8.6572489,38.7039396,6.0920662,1.1113984,1.1374265,17.1340402,11.0768418,51.4409401,11.2256262,35.395468,66.6949454,32.6836249,44.9434892,26.4124244,4.2090358,10.3062499,9.0000053,37.395972,7.3991065,1.2964397,1.3226041,17.8794784,11.9670315,51.1554136,11.6311655,35.6899367,66.9222337,33.4185217,45.7978289,27.0016931,4.5712627,10.5047022,10.492386,37.8106659,7.2614168,1.1068379,1.133349,17.4525602,11.7596367,50.7353151,11.7361454,35.1014328,67.6811831,34.5217398,46.0579603,27.3912955,4.4347791,11.6487553,10.5608668,37.8166664 +827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2030523,1.2300614,17.9223742,12.078479,50.2655067,11.7685847,34.935796,67.4530631,35.2814895,45.8739527,27.861676,4.4287669,12.7434039,11.2244338,38.4383894,8.1932911,1.2711036,1.2711036,17.7413474,12.1232774,50.3010812,11.5144148,35.1290719,67.4256269,35.9707763,46.1210076,28.7571702,4.7858147,13.0322285,11.8690876,39.8254691,8.9130551,1.3522192,1.3522192,17.9551238,12.3268531,49.4228491,11.8434998,35.2485485,68.4496671,36.4090482,47.0838227,30.066898,4.9521331,12.861359,12.0857785,40.7714264,8.8235374,1.3133432,1.3401464,17.7647452,12.7252713,49.9284329,11.5808135,35.296103,69.9407313,37.1320462,47.2239108,30.4300021,4.765134,12.8868196,11.5543387,42.1117906,9.3181903,1.2278008,1.2716732,18.8985932,13.672432,48.9158704,11.8434385,35.8132654,70.6244093,37.5734324,46.8625323,31.0499179,4.6632684,13.8458405,12.6470763,42.2517309 +828,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.062672,1.0721814,18.6556492,13.4694846,49.6841057,17.4831597,35.8587776,70.2427353,36.0650284,47.9575457,28.5672456,2.8179164,13.5672912,11.2846896,37.2392188,8.2497649,1.0709505,1.0803566,18.9180669,13.6340416,50.5985255,16.540776,35.4816657,69.3072997,35.633934,47.1978121,28.0434021,3.1328828,14.2019488,12.0741484,37.6083307,7.551926,1.1830085,1.1923833,18.7839998,13.622835,51.2657879,16.5244821,36.3940984,69.9134646,36.3935491,47.3293138,28.8654378,3.4841417,13.4287737,10.9870183,37.0153521,8.4539388,1.1368964,1.1742537,19.006369,13.8655292,50.413267,16.3666996,35.8163307,70.0304369,35.9174464,46.4411248,28.3425198,3.7365496,13.138237,10.7861343,37.4737304,8.3331825,1.2587572,1.3208563,19.0150424,13.712046,50.688325,15.1305031,35.7221151,71.0525936,35.3047678,46.3000351,28.3219613,3.6215849,12.6871387,10.3206146,37.6494266 +829,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8792461,2.9784693,36.5897496,29.7160369,70.7961694,12.6619254,24.90184,61.5236642,31.4912385,47.6113708,20.6714413,5.1029592,16.7258886,12.4074102,34.2616192,17.4475999,2.8381468,2.9268386,37.6990323,31.0290742,71.7732442,12.7761384,24.7735919,60.5867349,30.72775,47.4045727,19.5476015,5.2706467,16.7648176,12.6328669,34.4874933,17.7867985,3.2089222,3.2805299,38.2930504,31.5920457,71.9401482,12.503275,23.4645067,59.6716232,30.4266222,45.6317797,18.8901409,5.2580236,16.0088522,12.2917347,33.495412,18.7639303,3.7183399,3.7687522,39.6687839,32.7541748,72.4000854,12.7830468,22.9801723,58.9973153,29.4348687,43.1735332,17.5234612,5.3272794,15.9305265,12.2963796,34.0372564,20.4569694,3.9431442,3.9730978,40.9009573,33.6523424,72.6694416,13.1279943,22.9894652,58.2013882,29.0227863,40.8078662,16.2461449,5.4534396,16.0780255,12.2748373,34.2079403 +830,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0396692,1.0485958,14.5838049,10.6012717,78.380814,6.4584476,29.8387449,64.4476979,32.0363309,40.5160723,20.2474515,6.8899001,12.0713136,10.2360656,37.9067629,6.5925543,0.9704106,0.9787583,14.4943657,10.4903965,78.3728417,6.6031036,30.1105621,64.4912161,32.2433519,40.5795485,20.2346578,6.7566802,11.8876951,10.1698747,38.247292,6.7927544,0.9767036,0.9901423,14.6310531,10.5479278,78.6026392,6.6976737,29.8530526,64.8251157,32.0906186,40.0387604,19.892127,6.4838451,11.969674,10.1140004,38.3641457,6.9319979,0.9857633,0.9921825,14.6812799,10.806423,79.0957986,6.7931486,29.2837591,64.5890252,32.2413688,39.8684719,19.8686897,6.2923385,12.4912299,10.3172756,38.7732185,6.9080637,0.963997,0.970722,14.7390347,10.880951,79.4434506,6.8846138,29.3533748,64.7165723,32.4570202,39.9052433,20.0176295,6.2278885,12.700604,10.269324,38.6900614 +831,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2301199,1.2737168,19.4367297,14.023321,50.2870657,11.2197735,35.1708785,71.7093296,37.277468,46.8182488,31.1986817,4.049974,13.8127238,12.6319335,42.4422058,8.6046552,1.3988046,1.4665931,19.5694257,14.3426377,51.2236938,10.8990008,35.3939475,70.3350422,36.1889575,47.1439846,31.0780122,4.1251875,13.3580975,12.8984695,43.1640897,9.4298287,1.5268529,1.5679915,20.4930101,14.9355982,51.6720978,11.3791817,35.9793254,70.8028099,35.8117026,47.2215094,29.7207897,3.8939861,12.9013721,13.0310063,41.9746085,11.302648,1.6854827,1.8111236,22.4204487,16.2757781,52.3413252,11.7361567,35.3454256,70.505014,35.1428631,47.0895198,28.2403358,3.7000172,13.3870796,12.4327274,40.9632384,13.0952085,1.8215573,1.9441809,24.1907104,17.9016196,52.5611911,11.3790677,34.3779415,70.0249431,34.9573086,46.5179699,27.7055021,3.6095841,14.2456773,12.262761,40.8009181 +832,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.1148798,4.1701201,42.2457817,35.1234796,73.0871622,12.7787849,23.3429845,57.5720924,28.3907577,38.931818,15.186646,5.3121523,15.5257454,12.1237133,33.6373783,21.61765,4.2849597,4.3580044,43.4805298,36.4006616,73.8908174,12.434032,24.0372239,56.7220647,27.5346925,38.0287738,14.9353073,5.233799,15.6573704,11.6488489,34.2886254,24.3153962,4.1811621,4.2853916,44.5119405,37.4738594,74.3411782,12.332945,25.3216736,56.9492317,27.1001368,38.2078126,14.8971455,5.0207252,16.0515776,12.2542195,34.2734578,26.0643408,4.2384653,4.3705843,45.4339557,38.6831934,74.3683091,11.7746518,26.061303,56.3289302,26.3867154,37.1510792,14.7272111,4.693227,15.4122503,11.7589252,34.1549716,26.9412842,4.1900582,4.367805,46.3614305,39.836728,74.3754073,11.6666141,27.6291508,56.7012312,26.7130055,36.6363353,14.5217245,4.8141523,14.9792779,11.3930503,34.9082895 +833,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.237134,1.2462714,19.7927221,14.1100737,49.7142331,17.6302152,27.8373083,64.5055023,32.2667364,52.676089,25.490642,2.7313593,12.6841547,9.5457619,39.5539588,8.9147149,1.2886896,1.3618109,19.7129467,14.1865789,49.0179689,17.7887799,29.250693,64.5155997,32.644601,53.2899827,25.7875847,2.6666148,13.3217196,10.6673833,38.3460993,7.894725,1.2436611,1.3154955,20.7004608,14.9853987,50.6792853,16.5274977,30.4549177,64.5749095,33.3144582,51.8382595,25.6890644,2.553143,13.5137449,10.7110354,40.2954997,10.0746269,1.4222598,1.4932978,21.4997189,15.968388,50.7824284,15.9450429,32.5080217,64.3292563,33.1158951,48.9927222,24.2681435,2.3976695,14.0700098,11.5995917,41.2997476,10.8391684,1.5125033,1.5536354,22.7387747,16.4750001,51.5502979,16.2486345,34.6069247,66.6204825,34.5440672,48.6445889,23.7565563,2.8143143,13.6477017,11.7179805,42.0540105 +834,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2554857,2.3197236,29.3413172,23.7361154,49.759452,15.3256076,38.6282259,65.3428676,35.4170152,48.2554535,28.7314731,3.0495892,11.354834,10.6429791,31.4072035,23.1639545,2.3575789,2.4227544,30.4520621,24.5064533,49.5764203,15.0020307,38.9598907,66.1159576,35.4425956,49.0676358,28.6691299,3.3533933,10.533174,11.0642433,31.8360888,20.5965278,2.4068383,2.4720159,31.036918,25.009153,50.3820692,14.8596568,37.9818849,64.7171205,34.6492277,48.4142086,28.5948526,3.5200922,9.5978942,11.1828182,33.4263032,20.0764402,2.2841127,2.3459687,31.6268803,25.7938647,49.784406,14.4768925,39.7694429,65.8380916,35.2178299,49.2237704,29.6191609,3.5444473,10.1305914,11.5650114,32.0922873,18.5525228,2.0779436,2.1590043,31.0021223,25.5118264,48.6389647,13.9298553,39.4942802,65.9661913,34.9066888,49.3656784,30.2364195,3.2448109,8.9109543,11.0284088,32.2319664 +835,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.0145219,4.27874,47.1615241,40.8906177,74.9917947,11.2719606,28.6669904,57.6178316,27.0691607,36.5551112,14.6791362,4.8119942,15.4217916,11.360837,34.6144474,30.7724738,4.01032,4.2761258,47.709424,41.556636,75.5370694,10.7716297,29.7204323,58.1398552,27.1466564,37.1477072,14.8948737,4.5906764,14.9577973,11.3945027,34.539974,32.0233746,3.968664,4.2293919,48.4047287,42.0072471,75.7756515,9.8106361,30.8229124,58.8702153,27.3719328,38.2021109,15.3500897,4.6011376,15.9717537,11.8645928,34.1665849,32.5089173,3.8367561,4.1171919,48.1717741,41.8667548,75.0910983,9.2327599,31.4928337,58.2422925,27.5686607,38.1896123,15.278639,4.6270092,16.0926496,11.8159923,33.810089,32.0836202,3.9792983,4.2069649,47.6829282,41.3224124,75.1816722,8.8241645,31.161511,57.9541589,27.3868361,37.8530896,15.2210877,4.5618071,15.3736459,11.6342987,34.5847164 +836,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.4610269,1.4706204,17.3225921,11.4821857,55.1067652,10.8540062,31.7103157,65.4407393,37.3647078,49.4871402,28.2536704,4.3708123,11.2719349,10.4257338,40.9116553,10.6032357,1.379152,1.3880471,17.3732934,11.3824768,55.3634915,10.7934618,31.3518563,64.6448949,36.6248316,48.592494,27.7133924,4.2237964,11.196293,10.3804631,40.5696999,10.8537675,1.3230501,1.3421579,17.5454932,11.5465792,55.6407367,10.7994454,32.0207222,64.3084708,36.3119864,47.5883045,27.5389621,4.2124251,11.2436994,10.4907881,40.4606176,10.8062513,1.3205059,1.3376216,17.8275643,11.8213428,55.4315317,10.4932037,33.2197249,64.7075338,36.8821657,46.0461882,26.8438267,4.2137559,11.5258251,10.8743786,40.7979556,10.4497191,1.3096065,1.3344719,18.1235951,12.3376139,55.6575818,10.3129693,34.8370332,64.9479145,37.4828364,44.9546873,26.2578184,4.2949677,11.4889794,11.3163392,40.6583995 +837,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.567395,3.684885,42.4797924,34.9451507,81.320528,20.6656866,22.8009585,55.6139224,21.1197812,39.1924345,15.7460239,4.1278908,16.1242611,10.5871811,32.7678529,19.4932719,3.9793167,4.1354448,43.7940741,36.4880095,80.7335386,20.923841,21.646614,55.4299915,21.0302328,38.5236285,15.4241288,4.123864,15.7577551,10.6217538,32.6112071,20.8169197,4.1242564,4.3163655,44.3943117,37.2026247,81.4240185,20.3776304,20.8581165,53.5117488,19.8102542,37.3407002,14.146137,4.0073649,15.5191621,10.1501597,32.8969358,22.2479104,4.6061756,4.7747648,45.7738854,38.5060603,82.5385567,20.343415,20.7696586,53.8343987,20.158383,35.1625542,13.3787191,3.9872203,15.834255,10.6985636,33.5261727,23.1838469,4.7676432,4.937159,46.6097043,39.5036667,82.8048499,19.9199425,20.6670397,53.3491475,19.6343906,33.5054517,12.740723,3.8933872,15.8171824,10.7875706,33.7875456 +838,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0255242,2.0648774,33.110023,28.5139557,56.3152346,9.4954635,32.1355212,62.5363913,28.5786278,45.0857829,21.1166276,2.9979615,14.6344291,11.522631,35.3190536,22.3738655,2.0123216,2.0456067,33.3069971,28.4678599,56.956515,9.1076876,32.4483743,63.0714057,29.0182253,44.1743428,21.4183435,2.8611363,14.8418801,11.4202345,35.5842378,22.7498957,2.0624606,2.1081986,33.3261924,28.2934393,58.0230821,8.9282332,32.6988481,62.9667755,29.2022046,43.4691599,21.6503409,2.8283657,14.5014241,11.215765,35.7244964,22.6822144,2.1101792,2.1688484,32.8883336,27.9025059,58.0711534,8.6438148,32.7600518,63.1494772,29.3227992,43.4511228,21.6062551,2.7777505,14.8475645,12.0460162,35.7765525,22.9923943,2.0019006,2.0430039,32.6338909,27.8693319,58.4158116,8.0707006,33.1943396,63.7128159,29.7667157,43.5523411,21.6124226,2.6184942,15.0611707,11.8480376,35.2960216 +839,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.2875889,1.3032411,20.2245101,15.2557887,53.7194877,16.0249114,33.2887688,69.7669982,39.5912996,47.6890743,27.9029834,3.036676,9.969421,9.2889775,32.7559742,10.9872716,1.3314241,1.3638916,20.039747,14.8716887,53.9503773,16.289002,32.660375,70.3207603,39.3773775,47.4150854,26.8113308,3.1886862,10.4070374,9.7232692,32.85604,11.9195157,1.4475902,1.4666742,20.5141601,15.0227205,53.121508,16.7148464,32.6437155,71.3108862,40.6261522,47.7663737,26.7850609,3.2039611,11.6057481,9.8628972,31.0437386,11.2535962,1.4741706,1.4765501,21.1345369,15.6124381,54.2974268,17.1522567,32.1441072,72.0035357,39.6661,47.3637799,26.5905142,3.2864694,11.8235521,9.836669,31.9776051,11.6666953,1.6258398,1.6203332,21.1512925,15.4113993,54.3547206,17.3248479,31.0086891,72.086975,39.4260992,47.0434576,26.6608693,3.2521752,12.626609,10.3910112,31.9141133 +840,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9469086,4.0362933,41.7571301,34.9422802,56.5040803,20.7774308,26.7932963,59.7440576,27.9549852,41.6960313,20.2201417,2.3940853,18.1694241,14.3931788,41.4907511,22.0939044,3.8918343,3.9718954,42.7768726,36.3086717,57.9428232,19.6738926,27.8796576,59.5800974,26.9489078,39.8510214,19.1558643,2.2523992,18.0635352,14.2225454,41.452745,23.2924245,4.0192006,4.0723195,43.4259931,37.0968494,58.3569203,18.7309954,28.7963761,59.6384857,26.0699609,39.412715,18.3461592,2.0127572,17.9585124,14.5974969,41.3194158,26.0075488,3.9718012,4.0202877,43.73509,37.4316922,59.1798485,17.9607953,28.9778585,58.2786924,24.8659028,37.958796,17.4539847,2.1547367,18.150195,15.1848364,40.5898936,27.6444371,4.1652013,4.2092028,45.2967564,38.2484419,60.3114305,16.2975969,30.0643278,58.0340841,23.699332,36.2078441,16.0083228,2.2045953,17.7142518,15.0950119,41.3197236 +841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.8009089,1.8296372,26.036931,20.8172521,69.1020265,16.729808,29.0600181,68.5723773,32.2501675,44.9444252,21.9078943,3.7954434,13.2354427,10.8462834,32.6605506,17.6695651,2.2529224,2.2613058,27.7783656,22.0405375,69.2762045,16.8949142,26.9548104,66.2239439,30.2358724,45.9602151,21.3651391,3.5864368,14.038564,10.9999653,33.0614524,18.9913555,2.5753667,2.5852521,29.6629661,23.4621965,69.8560451,17.1575236,25.7930765,64.682673,28.5969041,46.2280153,20.6673448,3.5133744,13.8655688,11.1811965,32.7311654,20.9214543,2.7401095,2.7280772,31.6986476,25.3975641,69.7779849,18.2132402,24.1311549,62.7124206,27.5690064,46.4141514,20.3283404,3.5577018,13.439485,10.6207464,32.1006087,20.6472749,3.0589574,3.0595665,33.7287536,27.0539983,69.7432178,18.1790107,23.2532217,61.8002796,27.3459473,46.2394468,20.0353105,3.2488968,13.5663083,11.1695999,32.7633275 +842,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3410497,1.4121804,24.9547435,19.4693831,45.7580555,19.075065,34.1146755,70.7544513,40.1758052,52.2036895,28.0518378,4.1779237,13.0781542,10.8421974,31.282837,10.838456,1.6261896,1.6987443,25.4364558,20.3769442,45.5909435,19.7072752,32.4377298,70.9649001,39.1426088,52.7377281,27.1465492,3.8241239,11.8469103,9.3044527,30.2428907,11.3131089,1.7537608,1.7879402,25.7310708,20.5378266,45.1503457,19.9889483,31.7573965,69.7094329,38.2952894,54.0972079,26.9745362,3.853377,11.7019149,8.8692332,29.2796396,13.3084621,1.7490167,1.7826731,27.0162268,21.9016117,45.7297947,19.9503175,30.6174368,68.0353437,36.6956897,54.2431174,25.9880827,3.615907,11.9413163,9.8629229,30.5653154,12.0681915,2.1172498,2.1140833,28.2106026,22.7087134,46.3788236,19.9695155,28.5925262,66.9746808,34.2850817,53.4708316,24.3488692,3.0373616,12.6489138,10.2996169,29.0149806 +843,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.5124488,1.6735925,27.3981782,23.1831521,64.112414,24.851686,30.7750832,69.3742478,31.8184629,41.9523318,21.83318,4.0984065,11.5836966,10.1172593,35.9469699,8.7098179,1.7054431,1.9853769,27.7475875,23.1343759,65.3192301,25.1386094,30.5287395,69.6106221,30.6678229,42.211468,21.2100813,3.6857104,11.0355276,10.2178086,36.8493944,7.9882839,1.7126748,1.9973906,27.7854574,22.7716167,66.3559273,25.1055741,31.1003556,69.1820165,31.2414007,42.2427004,20.3808639,3.3145579,11.7080857,10.0826802,36.4266185,8.959667,1.9643782,2.11113,28.3710451,23.96526,67.9311829,26.1487255,30.9621758,69.4446025,32.4527706,42.208812,20.9349941,3.7263176,12.5323807,11.269244,36.0676827,9.6859907,1.6645657,1.812621,28.9082242,24.1913333,70.1124974,26.7538475,30.0964401,68.2509303,31.0608414,41.6667757,19.9036632,3.9256496,11.7106034,9.8942605,37.4338455 +844,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.9269844,5.1282597,46.9446738,39.5953832,83.7865563,19.9411536,19.787537,51.6288932,18.6260718,31.6855572,11.9121845,3.980172,14.9943974,10.016835,33.5674271,27.640546,4.6729181,4.908926,46.3191848,38.9013785,84.4208391,19.8943261,20.0547855,50.9371343,17.8921661,30.5219132,11.7502887,4.0513285,15.9269696,10.3710008,34.2283894,29.1025594,4.5965071,4.8425785,45.9732465,38.6027364,85.3408851,19.632001,20.6569335,50.4963448,17.2992762,29.7956157,11.4306571,4.0146007,16.1262833,10.7854358,34.1065411,29.6754892,4.4780354,4.672835,45.0500706,37.381981,86.0239937,18.715579,22.6340429,48.9745014,16.6569025,29.6366775,10.7383558,3.999416,16.6193229,11.7262992,34.6395965,30.466101,4.4322141,4.61952,44.5523063,36.9313341,85.9520959,18.5114572,23.8173134,49.4346814,17.182386,28.5777949,10.5474555,4.2100587,16.1967824,11.4277562,34.4076759 +845,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.8207325,1.970499,29.6875637,24.6604573,71.3364521,28.3404736,28.7622083,67.1592648,30.4503426,43.2490802,21.1674674,4.0084839,13.8676984,11.0966694,38.3333419,11.8091342,1.781917,1.8024934,30.9153013,25.555809,72.3974679,28.7348896,27.3888917,66.2856616,28.3312988,45.9623333,21.0633776,3.8358473,13.5235666,10.820741,38.1250836,12.5571636,2.0452915,2.0699831,31.7284529,26.5832663,74.066518,28.3107982,27.1311462,65.8324447,26.8607779,45.9404838,20.2301243,3.4506463,14.6984961,11.7126977,38.3545171,12.2222494,2.0221758,1.9235309,33.9711606,28.6940461,76.0418005,29.5270483,25.9132886,63.6673764,25.7782397,45.1285299,19.8241116,3.1800095,14.2676946,10.5063089,38.5498835,12.394984,2.4080724,2.3392642,35.1831549,29.9391821,76.9781859,30.9103149,25.979642,63.6538618,25.979958,46.5865899,20.0379777,2.9709586,13.8221447,10.2163365,37.1673541 +846,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.2320276,1.2674455,18.3333281,13.3225739,68.4835706,11.5567601,32.8895185,67.7706899,34.3859937,45.741647,24.1307221,3.4000891,12.5784719,11.9399703,34.8169966,13.2540915,1.1621487,1.1725936,18.338135,13.3237099,68.3108259,11.5110386,32.784462,67.8741814,34.8058042,45.7301979,24.9488974,3.4408387,13.1052076,12.0697715,34.8591546,12.1182929,1.2747477,1.2956158,19.368064,14.1130667,67.7171623,11.8007643,32.9741405,68.613882,35.6283916,45.7010204,25.5558082,3.5503664,13.5416569,12.1877946,34.7917501,12.3061899,1.2956715,1.3058279,19.5656706,14.4446659,67.289616,12.0944982,33.0712912,69.1651903,35.3077794,45.7373999,25.6310878,3.6204639,13.8750416,12.2000921,35.5377207,11.3549636,1.2574126,1.2574126,19.7267936,15.0042166,67.1833754,12.1714093,32.7859865,69.1061429,35.2435677,46.1613991,24.9999962,3.534146,14.0424436,12.4005312,36.1744688 +847,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9644585,1.9777411,30.1756872,24.6389618,50.174606,15.5097924,38.3141863,67.7778333,36.980096,50.3173152,28.5662995,3.7411833,13.6354128,12.258014,36.8372723,16.4032275,2.2120306,2.1987827,30.9128824,25.4665142,50.6795946,15.2761539,37.7221877,68.8723103,36.8470193,49.9674504,27.5670571,3.8214783,13.4956513,12.360146,37.3890512,17.4000609,2.1024654,2.0895858,31.4200543,25.6980048,51.1862924,15.3781271,35.4532271,69.0473328,36.4212958,49.341803,27.0785532,3.2175428,12.470664,12.6022637,38.1514796,18.9655318,1.9845585,2.0209818,31.6706881,25.773362,50.8130357,15.5206287,35.9886465,69.2095898,37.1139922,49.3798335,26.446506,3.2421809,12.1613606,12.2859429,36.8490004,16.5551782,2.1580358,2.1948357,32.981737,27.065826,51.8691051,16.103942,34.8821486,70.2194325,36.5650842,49.9154262,25.9228888,3.2844762,11.8759484,11.6717159,36.4603538 +848,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0421526,1.0561171,14.2035096,9.9418881,53.7455353,9.4073325,28.8900272,70.1859492,40.9707965,44.2790296,26.4830023,4.5916041,11.4481647,8.848838,36.0915503,5.5996036,1.0469064,1.0585214,14.2266013,10.0652786,53.1700117,9.3059389,28.9947384,70.3156064,40.9760369,43.9450585,26.6686145,4.552893,11.4323446,9.1530739,35.6934654,5.8731809,1.0802379,1.0748016,14.719334,10.3521237,52.9435606,9.0862885,29.0490927,70.59532,40.4852007,44.4195905,26.9155758,4.6512962,11.4813992,9.0277803,35.5081091,6.2114996,1.1360682,1.1409696,14.9503336,10.579474,52.4307078,9.1072397,28.8265864,70.9964605,40.5164778,44.9181565,27.2671969,4.7611147,11.7972505,9.0857814,35.7534844,6.8446609,1.1527284,1.1863053,15.6458562,11.0925758,52.6180847,8.9095715,29.03522,71.0620109,40.7357398,44.6899259,27.4254546,4.8238965,11.6816327,9.3784214,35.0265559 +849,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2341328,1.2671939,16.3300917,11.8576898,53.0534333,8.9634503,29.0382773,71.3988663,40.6813088,44.551653,27.5242546,5.0378491,11.5797419,9.2636342,35.6165833,6.9859384,1.2216293,1.242837,17.1179015,12.7656347,53.6650014,8.8351969,28.7180266,71.5604326,40.0216574,43.9511085,26.8719046,4.9040829,11.2160234,9.0390219,35.7202724,7.1542749,1.3541907,1.3803388,18.1447968,13.6400217,53.990776,9.0940964,28.3267258,71.5309493,40.0986061,43.0059924,26.6290528,4.9354466,11.223675,9.1228442,36.0813211,8.3771594,1.4733941,1.50629,19.2644233,14.4759636,54.4826543,9.4418328,27.8322969,71.4875583,39.8999213,42.960549,26.2874067,4.8921483,11.2205875,9.0830764,35.6894819,9.1683708,1.5946808,1.6380552,20.3322103,15.5560927,55.0083622,9.8449819,27.0693198,71.7217478,39.7923364,42.3856834,25.3924132,4.9478396,11.1419283,9.1787885,35.3230402 +850,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.9878375,2.0261663,27.0138272,21.4457815,48.977053,14.7135249,33.2428389,64.4197821,32.8971548,52.9959308,27.1358233,3.3168824,13.4803317,12.7813489,33.8813868,20.7514427,1.9591737,2.0058724,27.3524126,21.7793013,49.3430387,14.371312,33.6816042,63.6459524,32.3048544,52.5024725,27.6887157,3.3446805,13.6363918,12.548853,33.3388389,20.5202173,1.8514173,1.8775966,27.568901,21.9823777,49.3406689,14.3739369,34.2719255,63.2535006,32.1780099,51.6894508,27.6570728,3.3550199,13.5296303,13.0623688,33.8474428,19.7383187,1.8841318,1.9283495,27.8921848,22.2077337,49.6446787,13.9851027,35.377974,63.5354154,32.5433263,49.6614489,26.5118262,3.3149657,13.9755685,13.4800853,34.1396106,18.9419731,1.8566648,1.9014043,28.2615684,22.6947711,50.0736858,13.2971277,36.5357111,63.2726231,32.5267706,48.2910328,25.8025997,3.314173,14.2880857,13.6587841,35.6739703 +851,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3150792,1.4141175,18.573814,13.2674957,79.1246844,13.9471348,31.7021338,66.0168993,36.4900164,39.9488988,25.6702333,6.33979,15.0463328,13.4731283,43.1814929,14.6616541,1.5095044,1.6101188,18.5134374,12.9370081,78.9791695,13.2791835,32.4815932,65.5500278,36.1959084,39.9111932,25.1409341,6.5682071,15.3369946,13.57123,43.8639676,14.1221374,1.5132803,1.6647429,18.2020065,12.7573055,79.6501006,12.7614538,31.3400998,66.3514249,36.69215,38.7782793,24.7826138,6.212941,14.9826824,12.0114221,41.8753597,13.7314718,1.5256909,1.6161947,18.6000544,13.2402887,79.4982455,12.7028646,32.8341906,66.0634847,36.9108022,39.303339,24.3009121,5.7161184,14.8626882,13.1902283,42.8197562,13.3355439,1.4416399,1.4498211,19.8538461,14.2117733,80.5963404,12.9878445,33.2468598,66.9754883,36.4868974,40.8688169,24.4629466,6.2649296,14.9257877,12.7768148,42.285648 +852,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.8277733,1.8788626,29.2484403,23.5996976,50.6416728,12.7804473,38.1760544,64.081532,33.222347,47.8236203,25.9948003,3.2239734,14.0767077,13.7449511,35.9911623,21.6111069,1.7602493,1.8313859,30.1972577,24.4711519,50.7220961,12.1992576,38.3766442,64.8602246,33.9463758,47.155458,26.2465183,3.3267969,14.6511088,13.8474596,36.4647594,21.4761447,1.8419646,1.9229831,30.4938315,24.7459707,51.4671528,11.7206353,38.0940575,64.3720294,33.635465,45.9986757,25.69817,3.4215247,14.4515625,13.5567454,36.1488928,22.142083,1.8306192,1.9137906,30.6502467,25.0589166,52.0729358,11.4899419,37.4514472,64.1828446,33.244335,45.5744114,25.1860715,3.2767002,14.4179152,14.1871338,36.8805382,23.4008688,1.8571422,1.9434096,30.6495034,25.0711267,52.6576157,11.088776,37.0361121,64.1845707,33.4554144,45.5810305,25.1383328,3.4423856,14.3840271,13.61194,36.35288 +853,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.3956288,1.4087264,20.6921784,15.9242928,68.3078544,12.5926823,32.0280329,68.5544757,34.5091481,45.8144745,24.3905044,3.3549114,13.4697992,11.5782673,35.6769361,12.1024826,1.551641,1.5768775,21.5414612,16.5948218,68.8101794,13.1524285,31.930885,68.5141994,34.6015123,44.7965399,24.2581614,3.1051331,12.788715,10.7773141,35.0635402,12.5844806,1.5149471,1.5424231,22.1717174,17.2626193,69.056642,13.1159356,31.0498753,68.8669314,34.6257576,44.3139336,23.6486556,3.0041635,12.2652758,10.3145511,35.0143936,13.498425,1.5829116,1.6319121,22.6595716,17.7079193,68.9728503,13.2761822,30.596094,69.42387,34.3968563,44.5589143,23.3146752,3.090625,12.7554753,10.5625634,35.0970938,13.7660667,1.6096651,1.6366281,22.8175767,18.0229178,70.0040243,13.8535472,29.8865188,69.3769753,33.5489468,44.2177438,22.6811393,2.8961012,13.0238673,10.6512482,35.116472 +854,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.44726,1.4841989,16.7007922,13.1848372,84.8892519,11.0399555,32.0311255,66.0468182,30.9027608,43.9826278,17.0288554,5.2027385,13.8820289,12.3462545,33.429977,12.0089255,1.4729131,1.5098819,17.1236283,13.1137552,85.2553408,10.7588559,31.8221992,65.5870863,30.4431506,43.3557371,17.1959701,4.9102235,14.3381565,12.6432389,34.1452257,11.7022671,1.5580559,1.5946794,17.4169692,13.5645201,84.5294221,10.8669833,31.5323382,67.0185974,31.2009497,44.9482787,17.2877132,4.6170003,14.538725,13.2425995,33.0967335,10.8268808,1.4108953,1.4542201,16.9045135,13.3372789,84.5092227,10.6642999,30.9104367,68.0426462,31.3129097,44.1602735,17.1767061,4.5710557,14.337429,13.7169023,32.6686828,12.1513582,1.344249,1.3882424,17.1768305,13.3507599,84.0395288,10.6153078,30.6287772,69.1658918,32.0254167,44.7616703,17.3992452,4.5398127,14.7034735,14.0560809,33.7644077 +855,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9495262,0.9524082,15.1374447,11.1463651,79.9380194,6.9797167,28.8457869,64.4209441,32.422499,40.0684544,19.9827418,6.1456023,12.886138,10.4210607,38.2797764,6.5332599,0.9831116,1.0002336,15.771649,11.6322061,80.6536715,6.8607229,28.6891045,64.6783133,32.3251596,40.2515713,20.2792443,5.8916596,12.8159059,10.5774171,37.8592238,6.8012908,1.0630954,1.1032765,16.4175948,11.9989252,81.4307926,7.090326,28.1729453,64.9025369,32.2147919,40.1598241,20.2761864,5.8758349,12.9275301,10.3275371,37.8494198,6.9543738,1.1349157,1.1780518,17.0569401,12.6293882,82.1701555,7.1357058,27.709776,65.5588217,32.3151174,40.3926508,20.083294,5.8784256,13.2604093,10.1655309,37.5354943,6.9828825,1.2016672,1.2477665,18.1661381,13.5764672,82.7426769,7.2324167,27.0129453,65.6515568,32.0367332,40.3946072,19.8151592,5.903241,13.2765661,10.1722804,37.1664259 +856,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6889079,1.7327394,21.6007384,16.6342704,56.2139881,10.2073588,26.0421797,70.8731608,38.4596399,42.1454583,24.8989817,4.8635054,11.1594216,9.1568357,35.3313781,11.3763153,1.9011856,1.9429755,23.4681148,18.1953524,56.7129613,10.5377491,25.1610689,69.704214,36.9435713,43.3961341,24.7901132,4.6124563,11.5644312,9.3798282,35.7254087,12.7813034,2.1889652,2.2637495,25.3899321,19.7954609,57.2901647,10.6395953,24.3716188,68.0404022,35.5543897,43.7399216,24.2388246,4.2729775,11.4133499,9.236382,35.551145,14.9759736,2.6369618,2.7247921,27.7054888,21.5751848,57.8472976,11.3234466,23.8439309,66.8236018,35.0503371,43.7861271,23.6294913,4.2093975,11.9709246,9.557601,35.7447905,16.6414913,3.1406978,3.2707451,29.651319,23.2763958,58.0981419,11.5309462,23.2740827,65.9350011,34.1547636,43.5182709,22.7982699,4.2059426,12.1953401,9.6584697,35.8953223 +857,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2922171,1.3444768,19.3049032,14.4531182,83.0030842,7.6339512,25.8953181,65.2087952,31.1499605,41.2089888,20.0138747,5.9011174,13.0317801,10.2417643,36.7760997,7.6964904,1.4133114,1.4708946,20.4854583,15.4355146,83.4652995,7.680854,24.5394227,63.5570592,29.3468108,42.2138124,19.9225917,5.728161,13.0101437,10.2563742,36.7879454,7.7858536,1.5668949,1.6238809,21.9078773,16.7050261,83.9670661,7.9183326,23.4297859,62.5393415,28.3936646,42.5292565,19.8372947,5.5674012,13.1626196,9.9725367,36.8183418,8.319019,1.6850439,1.7434654,23.1651341,17.9685276,84.4915869,7.9935804,22.3787182,61.6962771,27.593119,42.8365473,19.0679776,5.4356387,13.3930542,10.0499541,36.7973585,9.1067128,1.8757454,1.9311448,24.7412271,19.4781993,84.9790629,8.0787502,21.5779366,60.8936268,27.0511529,42.5794345,18.7149026,5.2714462,13.2331685,10.0873752,36.8923431 +858,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.2897752,1.2797076,21.6735856,17.1445761,66.9505599,12.9224794,30.2549106,64.2925337,28.0329886,46.8034393,21.7216515,11.8797707,12.5726082,10.1271011,39.5839039,11.467536,1.3036618,1.286805,21.6582823,17.1585473,67.3627276,13.0408823,29.8369735,63.8305071,27.6407986,46.6787975,21.9145834,12.0520074,12.5171309,9.9808261,38.9856197,11.3519316,1.3275507,1.3192051,21.3028849,16.7227326,67.9692718,13.1602806,30.1630117,63.356122,27.4549783,45.7144775,21.8943131,12.5476535,13.2438815,10.4487467,39.2522069,11.1230178,1.3021348,1.2853282,21.2803276,16.7012632,68.6010722,12.7804443,31.4802663,63.5986799,27.7960506,43.9539488,20.9276323,12.5723681,13.1704049,10.4992055,39.5605864,10.41811,1.2396048,1.2227616,21.7043713,17.1281864,69.6714695,12.2995685,32.3432135,63.3434752,28.0299008,42.8089442,20.2103739,13.2640898,13.5067297,10.634083,39.8643272 +859,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9420756,2.0225447,31.8768179,26.6259874,49.2085907,13.3519258,38.7519702,66.7753698,34.5253776,48.4198854,29.1817128,3.0609676,8.6880439,11.1648822,32.6502492,21.6881294,1.8260995,1.9297715,31.25037,26.8033326,49.3596946,13.6959486,38.2663875,66.1822168,34.3528955,48.0566205,29.7322829,3.2449371,8.7416747,11.2650627,33.1702404,20.8845751,1.9622242,2.0257922,30.4433882,26.4430294,50.4638872,13.1096467,37.7823031,67.1415576,34.3163089,48.1863481,29.5780444,2.9629025,9.5396145,12.3355654,35.7075181,18.2426686,1.9557493,2.0182082,30.1654974,25.786671,50.3188448,13.0896721,38.3726481,67.6431407,36.0371597,49.3362977,29.4860873,2.738291,9.0854809,11.6197766,36.665757,20.0351082,1.6287161,1.6896972,29.595186,25.2991472,49.5035833,12.6898768,39.057383,67.7101092,36.6832906,50.0532516,29.9187512,3.03205,9.949123,12.2965719,37.9777964 +860,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.4983571,3.6379666,31.5185904,25.1662707,59.0591268,11.6702528,22.5824702,64.9099117,33.54077,42.8714418,22.0428176,4.2867085,12.9810183,9.8187805,36.1857026,20.3138426,3.7898768,3.9395519,33.2747657,26.8510968,59.6386055,11.7445226,22.4661308,64.3209534,33.1200806,42.4276633,21.5713291,4.0934933,13.1486421,10.0435552,36.3092155,22.1891123,3.9669404,4.109787,34.6923449,28.1675113,59.9081175,11.7644683,22.4231825,64.0017856,33.0068255,41.8427911,21.0412902,4.2391477,13.4186041,10.0977938,36.474728,22.9973645,4.1332616,4.2799311,36.0899065,29.6746089,60.3907136,12.1531583,21.8541742,63.6345579,32.6681996,39.6580465,19.8310064,4.1534429,13.1345852,9.8149279,36.8148435,24.5444954,4.2666084,4.3977448,37.3557544,30.8723051,60.7939577,12.4796824,21.9562839,63.4009681,32.3918832,38.1424336,19.1201826,4.1170476,13.4461028,10.047203,36.958585 +861,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.0675665,4.267639,43.3293878,35.798999,86.1986731,17.9982092,25.3262497,50.3641777,17.0106198,28.3004421,9.7875547,4.3854342,16.1091576,11.2903285,34.1918418,30.2756177,4.0021725,4.2041101,42.5344206,34.9341779,86.5094435,17.3199092,26.2554143,50.7808762,17.100464,27.9700422,9.9357209,4.485621,16.1375678,11.3168778,34.2136602,29.7918429,3.640677,3.8267369,41.0795354,33.9431552,86.8790657,16.2638056,27.4549931,52.5948871,17.9459661,28.6980044,10.4568262,4.5836041,15.965129,11.9362641,34.3143207,29.5982096,3.6069914,3.7513448,40.5781011,33.3918961,87.1746357,15.3486462,27.7505517,53.6183249,18.4185066,29.4859852,10.2979939,4.5677921,15.4569061,11.8847181,34.6705766,28.683968,3.3669722,3.5209985,39.8023024,32.8997674,87.0007118,14.6688049,28.182855,54.1075314,18.7233754,29.8542716,10.2951897,4.2496566,15.3764248,12.0298118,34.7033552 +862,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1175441,2.1970244,32.9800837,27.2971007,51.5460505,17.4018032,34.1073585,70.034988,35.797646,51.1146228,25.9814386,3.0807007,11.1168767,11.2399479,35.476951,17.7469211,2.3260166,2.433963,33.6558702,27.7491399,52.074063,17.8667147,33.3439666,68.3419489,35.3037033,51.3577694,25.9390151,3.1301111,11.0298608,11.3913301,35.0472721,16.3716857,2.3756732,2.4319341,34.0500996,27.5351084,50.0554437,18.1272278,32.5476878,66.963686,35.6964697,52.5228865,26.4673769,3.2844767,11.3454986,11.2442961,34.2709227,17.5900244,2.3922251,2.4478063,34.5343995,27.8473234,50.1341977,18.1278643,31.1144299,64.9827905,34.645749,52.6737247,26.1920417,2.8089922,11.1620517,11.5152679,34.6023217,18.0989653,2.7400106,2.7948462,36.2764376,29.603128,50.2127279,18.246939,31.1197188,63.8398005,34.4810407,52.9651596,25.7627149,2.8623541,12.2854731,11.5196217,34.2820616 +863,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.2862599,3.2854775,37.6627985,30.6121584,50.6910214,18.3297058,29.9445502,61.9838827,33.9300724,52.1983563,25.8038159,2.9244354,12.9551699,12.2091604,35.5402144,21.8292812,3.4104372,3.4211055,38.3527108,31.0546031,50.7242612,19.2734571,28.2248242,61.6412722,33.9963993,51.05302,25.0151327,2.6843605,13.7492325,12.5985969,36.8917362,23.2460705,3.516681,3.5106996,38.6404005,31.0027286,51.1110473,18.7955289,27.3792443,60.3180592,33.6062602,50.0252577,23.998321,2.7206301,13.6173959,11.7925805,36.0874864,22.9017859,3.2410004,3.2566826,39.6508451,32.3611392,51.4471338,18.442669,27.5834273,59.6269626,32.4593555,47.0333032,22.9516785,2.6303071,13.5152753,11.7452566,36.0883455,23.2469649,3.4755886,3.5268642,40.9439721,34.2021398,52.9797898,18.2994999,27.8951005,59.2165638,31.6904572,45.7461078,21.4760602,2.5049628,13.604906,11.7626314,35.9382727 +864,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3.4897521,3.5038645,35.8732039,29.1225918,70.2810284,18.3726571,22.7793989,60.4243625,27.1410446,45.6286358,19.6098389,3.3522698,13.75663,11.4491671,33.1264118,21.7705552,3.7757347,3.8004354,38.1421299,30.9480581,70.6085054,18.1031009,22.4444636,59.1357045,26.3354722,44.3879468,18.8004213,3.1826783,14.3701371,11.584297,34.1677927,22.8594861,4.0998526,4.1989083,39.9988544,32.7531245,70.5039222,17.8085406,22.29706,59.1488706,26.3397921,42.4635691,18.0381361,2.9378857,14.706876,11.7676371,33.721719,22.5072795,4.1262909,4.2126359,41.5213632,34.4979678,71.2948377,17.9051622,22.5542479,59.3223533,26.5355389,40.7212954,17.1586687,2.9890337,14.2092091,11.981825,33.5374944,22.3960744,4.2142646,4.3150408,42.2437759,35.2457864,71.8959539,17.5545422,22.6127985,58.7838203,26.2186229,38.9971842,16.2542489,2.9745978,14.4488685,11.8783944,34.3011607 +865,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.7904433,2.9207213,32.9300623,25.8544219,45.1462943,16.4987214,30.1361347,63.7138254,34.0117224,51.5658297,27.9087689,3.4969459,14.9269811,12.2383423,39.2434667,18.0167726,3.1481394,3.2533132,34.4576657,27.6258623,44.8649553,16.3282717,30.045228,63.3565168,34.0284169,50.6488807,27.261266,3.1908298,14.2620375,12.0086229,39.7205011,19.2010468,3.2674519,3.3496511,35.4489578,27.9221107,45.1800927,16.7553511,29.8953251,63.8085829,34.9221548,49.9232244,26.0128142,2.9629688,14.5434893,11.922401,40.1124449,20.6444103,3.5316446,3.508079,36.2111854,28.512718,46.6534714,16.467082,28.7828136,62.4762841,34.073047,47.085334,24.4330629,2.7626756,15.6483387,12.968783,41.042547,22.9490244,3.6739988,3.6275263,37.3389145,30.1401971,46.2436356,15.8634385,28.3535227,62.4945415,34.0901104,45.2166561,23.2370996,2.5388273,15.6654258,13.3103912,41.8271562 +866,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3429098,2.3399081,28.0644343,22.9690991,45.0860245,19.6828876,27.2325912,66.4696115,33.5314378,52.4202677,23.860695,3.4214664,13.57629,10.2247858,29.961145,15.9863837,2.5501072,2.5471287,29.4815786,24.5931504,45.8845301,19.7151456,25.3576238,65.3862726,32.3957962,50.4921248,23.8985438,3.4269576,12.9176217,10.5057407,30.6070675,16.0958794,2.6996998,2.5877933,31.0283235,25.7960155,46.3365476,19.7679623,25.0077373,65.3874793,32.3095328,49.4357756,23.7498317,3.5600373,14.3433304,11.0544097,31.6754811,14.5270172,2.5979321,2.5169744,30.890673,25.5751019,45.6862719,19.5103533,25.456029,65.1665419,31.9613418,49.1651316,24.0912687,3.6370475,14.6080735,11.6835789,32.5907908,16.2576587,2.4957222,2.5210078,30.3976873,24.903232,45.4623633,19.8531887,26.0994481,66.0179349,31.9556333,47.9579564,22.8865897,3.5050879,14.4303016,11.4766249,33.22568 +867,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.8222002,1.8853748,30.9046802,25.536084,52.8661924,11.1456843,37.2309178,64.3874371,33.9456354,45.5656035,25.8698685,3.5847254,14.3543088,13.6965798,37.0784866,24.5233325,1.8265317,1.8895652,31.354314,25.877643,52.2384636,11.2918609,37.1578098,64.9033688,34.774549,45.9017369,25.9822999,3.6795522,13.5657532,12.6734805,36.541052,24.7849599,1.9583741,2.0177315,31.4534563,25.7907501,52.9881555,10.945871,36.3614729,64.14986,34.2521256,45.3259282,25.8309687,3.6673105,13.995434,12.950906,36.9465543,24.6597097,1.965452,2.0003175,31.2867523,25.7122708,52.7818894,10.7002097,36.7826468,64.30744,34.714615,45.9040863,26.3626449,3.6470077,13.5784137,12.3325512,37.3392822,25.2916327,2.0084919,2.0513026,31.5883434,26.0967449,52.4970918,11.1524611,37.0534571,65.4087346,35.2027362,46.2744932,26.9794375,3.5162616,13.7558089,12.2879866,37.3447505 +868,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2524367,2.2524367,29.0513647,23.5309065,41.0201976,17.8789741,36.7991031,65.310645,35.1786557,49.6401356,26.9599854,3.1171356,11.8676901,10.5337913,38.2957375,26.5676057,2.3692414,2.390026,29.7077458,24.1776863,41.7052004,17.5125122,36.5483533,65.6008404,35.8315226,49.4873545,26.42997,3.375209,12.5008343,10.8650471,39.0775682,27.3335473,2.3231144,2.343839,29.817541,24.3871452,42.6183887,16.2019823,36.8032404,64.8909369,36.0000881,49.2436334,25.9231199,3.3171414,11.3541113,9.8629072,37.3399151,28.2475359,2.2024471,2.2126692,29.9894062,24.3628472,42.7237119,14.649168,36.6568039,64.8350342,35.6920963,48.8840557,26.1822274,3.1288253,12.1560511,10.5445509,36.7041199,27.1680136,2.2986752,2.3293042,30.3490583,24.8933939,42.666267,14.6480721,37.3422482,65.4534022,36.9051897,48.9539105,27.3453774,3.247495,11.6956387,9.7459616,33.8456812 +869,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9612046,2.0010068,32.3022307,27.6101615,58.5856751,7.8050586,33.470361,63.9831226,30.0565474,43.4970013,21.6946168,2.727106,14.7175005,11.8232116,34.5867723,22.794401,1.890738,1.9120037,31.6835181,27.0531555,58.4419855,7.4997944,33.4080112,64.106293,29.9056473,42.9725777,21.5048286,2.6961889,14.4331439,12.0376046,33.9806111,22.6006805,1.8836889,1.9013305,31.3481955,26.802139,58.5815955,7.7106157,33.4463886,63.9621792,30.1753478,43.1312089,22.0978302,2.7865983,14.1343086,11.7824309,34.0751683,22.6746049,1.8873182,1.9106776,31.2097343,26.8296675,57.8373444,7.7568535,33.3986533,64.4031247,30.5313846,43.5007498,22.0452477,2.700134,14.1344508,11.7706142,33.4740235,22.6010234,1.8084089,1.8256084,30.8202349,26.6392735,57.3425665,7.7870093,33.9100438,65.1986666,31.1203811,44.4419212,22.1516951,2.8702713,14.2162547,11.7896934,33.0815936 +870,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.2102904,1.2418204,16.0884144,12.4121953,83.4829366,11.0765349,30.2225218,69.567883,32.2776445,46.1618136,18.1417495,4.1316714,13.5942912,13.4258506,32.3828552,12.650719,1.1879179,1.1800598,16.2557109,12.4332163,82.8078226,11.5687706,29.405826,69.0456034,32.2519357,48.4930259,19.5269906,3.8718765,14.1350339,13.6171273,32.3253396,10.7005964,1.1361727,1.1417897,16.076656,12.2067483,83.0779089,11.7197634,27.3925923,69.0137607,31.6965241,49.9163695,20.4972842,3.5728825,13.8325713,13.4825743,31.3246965,10.147403,1.0534931,1.0590653,15.8673821,12.3549457,82.90569,12.7616693,26.7077941,69.1006325,31.397327,51.5266949,20.6480126,4.1710708,14.255256,13.3874519,31.4446338,9.210367,1.0711582,1.0766682,15.5201985,11.9681479,82.594517,13.5830655,26.355753,68.4927633,30.7652439,50.8360148,20.5858273,4.6363984,13.7459674,12.6555521,32.7325861 +871,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.2006903,3.3571092,40.3407181,33.7021486,87.7248582,14.5989655,28.1510239,55.1644642,19.9892199,30.281774,10.8162068,4.2434214,15.196789,11.5047505,35.6722929,27.3535575,2.926437,3.024842,39.1708971,33.0118419,88.1029194,13.9507385,28.4453563,56.5271485,19.7888353,31.8387318,11.0976777,4.0339453,14.6792171,11.565329,35.3417884,26.8955028,2.6988728,2.7999617,38.3799251,32.3172747,88.1522188,14.0288149,28.1099488,57.4120296,20.1970158,31.0125248,11.5929819,3.9910278,14.5348828,11.2594023,35.7192264,27.5355081,2.5278278,2.6325706,37.2001301,31.3399486,88.4838566,13.8956559,27.4999934,57.7797191,20.5069968,31.2762297,10.8566421,3.9335685,14.6349864,11.5437547,35.6894185,26.9716173,2.3467691,2.4208173,36.2326312,30.3992947,88.0665171,14.2580917,27.3066017,57.7537269,20.6351998,31.4584884,10.7700451,4.0631677,14.330545,10.9287631,35.9055805 +872,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.0430115,4.274141,47.883424,41.2685685,74.7235839,8.6323045,32.016748,57.9917289,27.4921474,38.2320609,15.6585252,4.8240111,17.1327225,12.2001416,35.0870636,31.4632412,4.2512045,4.4707565,48.3769727,41.8073332,74.582224,8.2783093,32.53275,58.8746225,28.0302708,39.1579737,16.0663363,4.8482442,17.636096,12.5087944,35.2068612,31.4589423,4.4615073,4.5895796,48.2744638,41.3474581,74.8866521,7.4748143,32.3177156,59.0079354,28.5871048,39.6986493,16.1528406,4.424028,17.223903,11.8847268,36.3819888,30.5929787,4.5968906,4.7226147,47.7948626,40.8063375,75.0592599,7.3682191,31.6570055,58.9821413,28.8377031,40.3843551,15.9089893,4.6503204,17.5970765,12.1441438,36.0509084,31.0759717,4.9322396,5.0737317,47.6573269,40.5203259,75.2166309,7.3064462,31.7816894,58.4771483,29.0007214,40.1025031,15.6380929,4.6812833,16.607001,11.4229625,36.7126242 +873,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4.0427783,3.9684714,38.6292263,31.1270082,47.2581864,15.6949068,29.1713466,62.2546262,34.3067346,44.6933582,22.6845435,2.5290801,15.8142706,13.6277553,41.1979682,24.6534751,4.4373534,4.3356151,40.2950802,31.9613517,47.0831374,14.7606614,30.1381899,61.1619154,33.1767108,43.6595687,21.4784567,2.4497945,15.8178025,14.0537915,40.0254228,28.0909062,4.6171964,4.5847577,41.8371899,33.7785983,46.7185215,14.2208603,30.9264375,61.1677712,32.5981417,43.8542735,21.1101228,2.5075471,15.5401793,13.3477439,39.7376256,29.1738411,4.6449626,4.6736035,43.151911,34.9174747,47.1603213,13.522415,31.8678146,59.9209159,32.0504347,43.55575,20.0614733,2.6480401,15.576511,13.210067,41.1489468,30.3660551,4.8767088,4.9395315,45.3479981,37.3709211,47.8522486,12.3689918,32.6060208,58.3449411,31.0352917,42.2678147,19.1187903,2.584787,16.2627231,14.0268568,41.108829 +874,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.9113243,0.9508359,17.6595597,13.4363416,87.6596303,10.4202626,31.3522094,66.909483,31.0199508,43.3921339,19.5935488,5.2786528,13.7474461,14.244935,35.882111,8.6338105,0.8509812,0.9084132,17.6730318,13.2768798,87.2686977,10.4948283,31.0852299,66.8415195,31.5971316,43.8572385,19.7721714,4.9270785,13.376643,14.3636613,34.6657474,7.8063581,0.8634032,0.9200713,17.699158,13.152571,86.9391234,10.2759808,31.35296,66.6709146,32.0116896,44.7809048,20.6612338,4.6998002,13.6059696,14.5907929,34.4480133,7.2420951,0.9316559,0.9877379,17.8950718,13.3439691,86.5570888,10.5725563,30.8127158,66.5037202,32.0918513,45.3348694,20.905428,4.9536314,13.4271104,14.5012878,34.4747656,6.9980028,1.0257281,1.0889516,17.9489754,13.5452094,86.0041162,10.6041415,30.4146314,66.7463239,32.0729357,45.6407173,21.3441813,5.1633568,13.1001073,14.5737799,34.7100683 +875,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.3325399,4.4621792,38.4174237,31.9851591,61.0407621,12.4301777,22.6075164,63.2429266,32.022473,37.0205371,18.6400644,4.0565671,13.1513041,9.7810752,36.8666117,26.3454721,4.3023858,4.3984148,40.0171547,33.49866,61.9443593,12.2354989,23.2392188,62.7208178,31.470341,36.530894,18.1400929,3.9227022,13.2273054,9.6341645,37.0129857,27.0645092,4.3064072,4.3805099,41.2353114,34.7203638,61.9285173,11.9679822,24.1226713,62.5250088,30.7949867,36.1897796,17.8428546,3.7132514,12.8318572,9.6106119,37.1726514,28.1654157,4.3480836,4.4301226,41.9804683,35.2630033,62.4256905,11.7111992,24.4851853,61.8655728,30.4026697,35.7077251,17.6184679,3.7012929,12.7409818,9.3303304,37.1817031,28.9062521,4.5325059,4.6367665,42.9618016,36.1313616,62.9008696,11.1988996,25.465019,61.5068886,30.3298461,34.9687481,17.0155952,3.4377573,12.8897353,9.3003837,37.1808705 +876,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0886681,2.1451555,26.4672876,20.9215895,85.1148809,8.2749523,20.7595432,59.5049357,26.319419,41.6955757,18.1952982,5.1056558,13.250326,10.318059,37.0351508,10.5653631,2.2885212,2.3749291,27.9746313,22.1631955,85.4434799,8.5649885,20.2440228,58.651302,26.0680415,41.3022197,17.8261465,5.0972419,13.0671184,9.9334989,36.7814253,12.0906164,2.3573075,2.4675659,29.0626226,23.2724207,85.7271997,8.4457122,19.9083306,58.3626531,26.0849961,40.3081189,17.0742857,5.0201583,13.0560403,9.7768846,36.5540081,12.5397908,2.5060265,2.6190449,30.6590671,24.5679961,85.9674196,8.6259487,19.6470648,58.5240287,26.2867756,38.5855098,16.0453995,5.021432,13.0880093,9.8834647,36.694185,14.3175288,2.733469,2.8714587,32.0242788,25.8326472,86.016582,8.7647205,19.760463,58.2389325,26.205139,37.1041003,15.1798161,4.9503676,13.012739,9.9395779,36.6288271 +877,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4.3956068,4.5327242,43.1065199,36.0912674,72.1555633,17.3354348,22.5738341,57.954915,25.4382892,36.7839913,15.3603435,2.9702687,14.6039516,11.6574233,35.0800341,23.7085497,4.5507891,4.6860215,43.3103591,36.3896993,72.272699,16.8547809,22.8671367,56.837821,24.6023038,35.6496997,14.742289,2.9245844,14.4500405,11.5043483,35.2615487,24.9708766,4.5548358,4.6674443,44.3450262,37.3010537,72.5900084,16.2769965,23.7102812,56.4165469,23.875834,34.7207925,14.2301361,2.8609824,14.3505965,11.2440372,35.5477397,26.5987049,4.4755085,4.6042144,44.5856536,37.8112905,73.1356822,15.9027099,24.4780665,56.1161297,23.3045581,34.2993105,13.7494029,3.0879786,14.4152125,11.3506124,34.6325388,28.1505655,4.3806606,4.4843905,44.4495672,37.5969493,74.3483243,15.2421822,25.9200402,54.943683,22.4484383,33.597418,12.8349745,2.9911779,14.3474067,10.9638083,35.179803 +878,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0658434,1.1278817,18.4555779,12.9872694,50.5801427,15.0253986,35.9743672,71.0389453,35.4024497,45.3763444,28.2855971,3.7141781,12.5132328,10.4611544,37.0393604,7.7829565,1.2384852,1.2929319,19.1393418,13.859525,50.6862164,14.2590401,35.5525231,70.4853297,34.8516818,45.2558026,28.1670349,3.8543496,12.4721332,10.8958395,37.5283818,8.254643,1.4802888,1.5423318,18.9928317,14.0337268,49.8680398,14.7268773,34.5693231,69.8911101,36.0736027,45.409528,28.5528427,3.9677513,12.3409748,10.8578871,39.8616414,9.7284452,1.573469,1.6359354,18.8723754,13.8774091,48.9879686,15.1803358,35.3817179,70.3712618,36.9507856,46.8877507,29.5762705,4.2624672,11.7244497,10.5677133,39.9896548,10.9812314,1.5787676,1.6423229,19.5875197,13.8815916,49.1815215,14.5811016,34.3587304,69.7261192,35.7546517,46.716178,27.9987973,3.593514,12.1689473,11.9652233,41.1616313 +879,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.39456,2.4250289,33.3945328,27.0705834,77.6377616,18.531614,31.0685738,67.2065629,27.9133361,42.8060581,20.0462768,4.606647,13.0340017,9.4759825,34.7001764,17.1304348,2.6232859,2.6551456,35.3923541,29.1146881,77.7613828,17.6699427,28.9659468,65.2616279,25.6436877,44.8297342,20.494186,4.4642857,14.1461342,10.5195911,35.5851979,18.7699681,3.2190568,3.237801,35.8789063,29.5507812,79.3336059,17.8074015,27.0581114,63.4584342,24.0718321,45.0968523,19.4713479,4.0960452,14.5507007,10.8029801,36.4207879,19.0721649,3.7244124,3.7326808,36.8451025,30.4669704,80.7738095,18.0924855,25.977326,62.0602033,23.0062549,44.3510555,19.331509,4.3588741,14.3700787,10.4743083,36.7093675,19.7658402,3.7590276,3.8259191,39.0460646,32.9887559,80.9208033,18.2702901,25.2512095,60.8671381,22.4599926,44.1570525,18.7383699,3.9635281,13.8409602,10.0300526,35.206422 +880,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7953862,1.8067328,29.9970611,24.0062854,45.6764689,16.2284367,35.2967034,64.436199,33.1305166,53.9019915,28.9465493,2.9525151,13.5435276,12.4549618,37.8402286,20.4804847,1.7854148,1.7966,29.8861388,24.1108947,46.3337094,17.2557227,35.5454555,64.6586836,33.0658736,54.5944226,29.3027522,3.2234489,13.8002305,12.6623219,38.6701955,20.6149926,1.8998899,1.9282186,30.4593816,24.7300796,47.0287211,17.5209821,35.5311353,63.4149702,32.1133061,53.218375,29.0372677,3.318137,14.6050923,13.1380302,39.4443871,21.7532232,2.1813125,2.2775478,30.9754933,25.1389249,47.4677093,17.7937313,36.937825,64.5517438,33.1280122,51.5181623,27.7140992,3.4517295,14.6476294,13.1180808,39.4197083,21.7708034,2.2865663,2.383541,31.2762101,25.3988003,47.8753954,18.2424549,38.5380405,64.4031526,33.2900539,49.5241975,27.4942133,3.7629711,14.4418065,13.5478094,39.3876448 +881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2.0502507,2.0876541,31.7416899,25.9619707,52.4371944,10.9696379,37.3691183,65.4986069,35.6613142,46.5683518,27.3643009,3.6329983,13.6665377,11.4565957,37.5628482,24.2533455,2.0350951,2.0854114,32.1095706,26.1882034,52.6170419,10.6701988,37.4264001,65.89494,35.6102302,46.7031674,27.3151481,3.3786029,13.6011959,11.0942645,37.6695962,24.4502783,1.9976207,2.050807,32.158957,26.1237998,52.9077157,10.5292317,37.4536688,65.9167731,35.2926447,46.8069247,26.9553669,3.2172295,13.7810732,11.0355007,37.7424701,23.7002894,2.1765495,2.2416371,32.4274279,26.3216917,54.0239111,10.4302503,37.6062691,65.6235772,34.515477,46.677488,26.8505412,3.0211785,14.1431707,11.0494614,37.4322297,22.8748795,2.1079346,2.1787834,32.716344,26.8365498,53.8786395,10.8193741,37.5998433,66.2724419,34.6767956,47.1824743,26.7816044,2.9004155,14.7483145,11.4439355,36.3762909 +882,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.352435,1.373644,18.2425074,12.6376602,55.0779178,9.9481818,35.8230845,65.3466578,38.1745399,44.510797,26.4757137,4.2945695,11.538765,11.2294421,40.372269,11.0659121,1.3748688,1.4034284,18.3899292,12.8262874,55.8434436,9.4511364,35.6766253,65.0158795,38.0889126,43.6379308,26.1089509,4.2883769,11.4047199,10.6736542,40.6770686,11.4703081,1.3888361,1.4145863,18.6084419,13.1009347,56.2348717,9.2307203,35.5261103,65.3299556,38.6612323,43.4862465,26.5319999,4.463692,11.6946823,10.7547536,40.8530163,10.3807552,1.3153098,1.3363034,18.3867205,13.0520179,56.2087193,9.2466716,35.9802645,65.5246911,38.8794875,43.3500218,26.7403513,4.5424849,11.9435384,10.8263584,40.9629423,9.9299853,1.2462293,1.253873,18.1835681,13.0813625,56.2594536,9.0556448,35.7394169,65.3211094,39.0660855,43.341617,27.0096704,4.6271986,12.0169146,10.858632,41.0525276 +883,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.6734403,1.6678187,21.8209494,15.954545,54.2088192,17.7805062,29.6685573,71.6144103,38.5780582,47.4875056,26.6393367,3.3321498,13.8764757,10.7594841,31.3996972,12.2038123,1.6597244,1.6594618,22.3982532,16.4275969,54.7889359,18.0766466,27.3604709,68.8838357,36.9077037,48.6310805,26.9392638,3.3871539,14.1660463,10.8885549,32.0719923,11.3738764,1.9288791,1.9425023,24.5094778,18.0673554,55.0208647,19.3684489,26.6769726,67.9222604,35.3801248,48.7271887,26.8833708,3.2507684,14.6453878,11.5248153,33.2973458,12.0934959,2.3118432,2.3778175,26.8935622,20.0223618,55.9734787,19.5069487,25.7147564,65.8762154,34.5946924,48.4190813,27.329286,2.9767855,14.7321523,11.5041259,32.8103397,13.5767765,2.5975327,2.6993827,29.188441,22.4254574,57.0751858,19.653638,25.1855371,64.55308,32.4782227,46.8376694,25.9599799,3.0816304,14.2810847,11.3680845,34.8414984 +884,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9669982,4.0473042,45.6592259,38.8342346,60.2514821,15.8421771,31.0172129,58.15141,23.4088918,35.8452584,15.9667766,2.16591,18.2299253,14.8391535,40.9053599,30.1197179,4.1442413,4.208257,46.1804074,39.2337673,59.807022,14.9428778,32.0534323,58.6410751,23.4672746,35.6339988,16.2072303,2.2606127,17.3792656,13.9596263,40.3416457,29.4547973,3.9050719,4.0188009,46.6681581,39.8103099,59.9822686,13.5226887,32.6689351,58.3934071,23.1149585,35.3177444,15.6946059,2.1169954,17.2004306,13.4608161,40.0110292,29.8797422,4.0758476,4.1734725,47.8008092,40.9099958,59.7479125,12.9938886,32.685079,57.771353,22.8856293,35.6283664,15.1776808,2.0037618,17.9651163,13.3255132,39.9981759,31.5674857,4.1766551,4.321917,48.713672,41.6140131,60.5235008,12.8928605,32.3321632,57.0379836,23.2397283,35.2789556,15.6845568,2.2737812,17.72259,12.8022709,39.4128624 +885,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.8701985,1.8849999,23.6094888,18.6349404,70.2275043,14.532082,28.8043422,68.7346048,33.4187742,44.9651205,22.9594095,2.860956,12.797229,10.4318129,33.8277252,14.1839471,2.0095596,2.0337225,24.7983576,19.6242378,70.2475073,14.8843405,27.3711284,67.0412098,31.4948316,45.9484431,23.0618709,2.7525815,12.2652774,10.0368143,32.7636089,14.8310545,2.118934,2.1723244,25.9064824,20.4484638,70.1614678,15.0896935,26.2899921,65.7699773,30.4899861,46.1299896,22.7100053,2.790002,12.1965872,9.9838157,32.686049,15.7683607,2.2242034,2.2475518,27.4752885,21.918697,69.6852831,15.5772626,25.1272419,64.9079619,29.9432043,47.1906744,22.3668777,2.9463565,12.2535099,10.2858405,32.8786842,16.9156951,2.4631761,2.5097608,29.2611075,23.2464728,69.9962208,16.4907416,24.5783397,63.8586693,29.1510268,47.2919666,21.7484932,3.1015702,12.3974953,10.8746627,32.327435 +886,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8835142,3.0403403,33.7433824,27.3568131,86.2367778,8.9039496,20.5363222,57.7091202,25.9313534,35.8178534,14.8299017,5.0055774,13.091301,9.8876913,36.6946084,15.4974527,3.1175779,3.2942608,35.897251,29.4625592,86.4630872,9.0341629,21.5444244,57.1682366,25.2023928,34.8935364,14.209319,5.1229821,13.4008517,9.9166265,36.5017529,16.600026,3.3068259,3.4796345,37.3661149,30.7437402,86.6426907,8.8705054,22.5055541,57.0159195,24.7002645,34.5263647,13.8501853,5.2132051,13.9007301,10.0526039,36.7942322,17.9600592,3.4579769,3.6069556,38.4861922,31.8412006,86.6188301,8.6998795,23.2054672,56.6161605,24.0468227,33.8714797,13.4722094,5.1894333,14.5772225,10.4527426,37.5887677,18.704686,3.6554059,3.7803925,40.1587626,33.344617,86.8477383,8.5238369,24.5721006,56.5440561,23.8514661,33.0150004,12.8196647,5.2122892,14.8796823,10.4965027,38.1945806 +887,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.576226,2.6697839,31.6557926,25.7867883,48.3913841,17.7825367,39.3345093,64.2109972,34.1906421,48.924743,27.4193559,3.7053176,13.3592265,12.8887537,38.7650713,22.5527682,2.6265852,2.7143993,31.6446509,25.8180238,48.7113862,18.0386965,39.469836,64.6016455,35.3104811,48.8429981,27.7826556,3.6467452,13.4270363,12.7093331,38.7417426,22.2328372,2.5988511,2.7032703,31.5360353,25.7580114,49.5375865,17.3220259,39.1171253,63.8257653,34.6007935,47.5670002,26.995907,3.6567542,13.6688456,13.1923657,38.4131838,22.6679545,2.9260241,3.0039585,32.3030448,25.9775813,49.4123011,16.5554198,39.3961785,63.5493413,34.594971,47.0250266,26.9072069,3.4609631,13.6826238,13.5029832,37.695552,24.7698202,2.9543644,3.0129564,32.2131614,25.6608615,49.7189319,15.7887275,40.0895788,64.4178017,35.6110744,47.3417908,27.3475764,3.6839015,13.5079482,13.2725038,37.0776711 +888,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.270183,1.2929288,21.3191637,17.014396,70.3949171,11.5236976,33.420592,63.7065367,28.0775934,42.1331702,20.3181619,13.2970858,13.3558858,10.2060223,39.675836,10.3435855,1.2884037,1.3138658,21.4676831,17.2208874,70.78969,10.9617462,34.0683941,64.0317525,28.4638348,41.8577803,20.2809068,13.3328803,13.671337,10.4676793,39.4445968,10.6938461,1.2175776,1.2558645,21.8011054,17.5179007,70.9392801,10.4855049,33.705023,64.5437086,28.7795886,41.0658085,20.5294845,13.3739227,14.1611355,10.659836,39.524213,10.4493566,1.1057356,1.1403069,21.8775117,17.6159201,71.3507918,10.0494806,33.6837126,64.5666563,28.9637874,40.4245195,20.4190975,13.2307063,13.8425853,10.6840075,39.8981662,11.0304265,1.2042073,1.2223914,22.2650424,18.1271117,71.485189,9.5530673,33.6321349,64.7392884,29.0885413,40.6664798,20.5214156,12.8438478,13.0548732,10.2207018,39.8973178 +889,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.682632,1.7330948,19.7237487,13.9948577,49.4496594,14.5003232,33.4789293,69.3989812,36.4076454,47.3527134,27.7231545,3.4685642,12.3083858,11.7074993,41.0215558,11.868591,1.6027024,1.6291588,20.2217306,14.0146188,49.7690511,15.3018129,32.8535278,69.419286,36.3379763,47.7011212,27.2975379,3.6110109,13.0974835,13.2234433,40.2932671,11.6120294,1.6738829,1.7224509,20.8534859,14.6334315,49.7481422,15.6281582,31.577584,70.3018744,36.3251431,48.3920598,27.3736695,3.4370909,12.8389639,12.5726592,38.8673805,11.8938525,1.6795531,1.7260206,21.7020975,15.2442985,50.0239912,16.265432,31.6001567,70.7266358,35.8733903,48.2663073,26.2819022,3.2050416,12.8529353,12.0281615,39.1661023,12.7913207,1.5448945,1.5831777,22.7212146,16.1626145,50.5641072,16.7225735,31.412659,70.9017305,34.9322431,48.0948893,25.3376271,2.8687602,12.9076347,11.6600829,37.8657546 +890,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.241448,1.2749884,22.3985481,18.5147945,71.362502,9.2654558,33.9918547,64.9762418,29.3618467,40.7264057,21.2287853,13.1093002,13.1109312,10.4504342,39.7705347,10.3300369,1.3081161,1.3356333,22.2514101,18.4518966,70.9849911,9.1416681,34.2259471,65.2562006,29.7424353,40.3720319,21.2932679,12.9258654,13.1506492,10.6415275,39.5481043,10.3322298,1.2870349,1.2952234,22.4809853,18.6651244,70.9408235,9.2409029,34.3122421,64.9037139,29.8280591,40.7083879,21.5199477,12.8541953,13.3692066,10.849191,39.7193704,10.4996731,1.2422306,1.2539961,22.4502208,18.4410118,71.2515718,9.3593064,33.9442605,65.2732038,29.6883557,40.7262471,21.5060396,12.9118618,13.2994805,10.9846456,39.4555064,10.4739065,1.246293,1.2663629,22.677559,18.5457753,71.9382732,9.0816893,34.1475087,65.4419864,29.2898184,40.9072255,21.4901481,12.8147238,13.2093677,11.3329704,39.118959 +891,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7133327,1.7248352,30.5352449,26.3774912,57.3090642,7.8418383,33.6216366,65.7817391,31.4834799,45.0688633,22.7998763,3.0181689,13.5694641,10.8739863,32.4398606,21.244637,1.7630168,1.7713769,30.2166577,25.8675647,57.2652553,8.0887606,33.5053587,65.7013259,31.6044625,45.0455327,23.0728252,3.1507203,13.1922639,10.9840949,32.7864503,21.7410792,1.8725646,1.8944161,29.7401241,25.317417,57.2932111,8.1142412,33.8624524,65.7648396,31.6412323,45.8183099,23.23338,3.2722067,13.8434758,11.5064039,33.431226,21.191769,1.9153604,1.9286093,29.5833357,24.9749811,57.8137776,8.1425275,34.0562804,65.7830187,31.4854474,45.8587744,23.0571857,3.1332101,14.4503622,11.7884315,33.7000719,21.4534608,1.8954919,1.9112628,28.9484212,24.3313102,57.6946985,8.1222064,34.2012631,66.2629433,31.7350058,46.3875245,23.1030835,3.0538176,14.7474915,12.2083754,33.6054291 +892,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2.5880766,2.5225735,37.0650967,31.1485955,78.879627,30.7553586,25.9902748,63.8056228,24.9099477,46.5184693,19.1476833,3.0612668,13.6156487,9.267758,37.5292008,13.9085242,3.110545,3.0471861,37.0476602,31.391525,79.1970153,30.3363448,25.2330305,63.2284698,24.5337787,45.3961796,18.2401629,2.7389644,14.429612,10.8501456,36.9912261,14.9832407,3.2500463,3.1874803,37.9328896,32.3462815,80.0823512,29.9430788,25.4014527,62.6719129,23.7958714,43.6352731,15.6537435,3.1537077,13.4174858,9.9771901,34.6066906,14.8209435,3.7902575,3.8325859,38.8253699,33.1241142,80.7646564,29.0302871,25.2364829,62.3521631,23.3451518,40.1300131,13.6525012,2.8960102,13.7647502,10.0001176,35.7484056,16.3367415,4.2309073,4.2516976,41.1596746,34.7407433,80.2507308,29.3813789,25.9324247,61.0138912,23.3682968,38.869441,14.1608629,2.7389549,13.3568955,9.3380536,36.6350434 +893,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4959502,1.5054876,20.9083923,14.3984134,53.6040702,16.0913325,34.7987559,67.4099754,34.4558408,45.8604422,27.2086781,3.19073,12.9773348,9.8027773,43.3419014,13.7323336,1.5499959,1.5593994,20.7518889,14.3854749,53.4070159,16.8871884,34.7059684,68.8209322,34.8568708,46.7928711,27.3651693,3.2353564,12.8921595,8.790341,42.5658096,13.6363636,1.5956195,1.5956195,20.6909813,14.7741774,53.06072,16.1691288,33.6447066,70.0686364,35.0633948,47.2019869,27.8808901,2.9932359,12.951022,8.3800671,41.5618202,10.8391608,1.6545822,1.6545822,20.8886234,14.9927303,53.7209891,16.3894239,31.9090886,70.5190453,33.9718138,45.7839492,26.836555,2.8475449,13.1377991,8.4517159,39.472505,12.6407205,1.9243733,1.9243733,22.2162085,15.9301148,53.3493038,17.5754954,32.1373514,70.4748357,33.8722172,46.3642341,26.4779037,2.6863626,13.4500083,9.9413228,40.7105206 +894,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4.9555609,5.0334134,47.4320762,39.682164,48.083441,11.6845642,33.6251246,58.6507497,31.1168269,42.3442273,19.6711073,2.4533428,16.6219067,13.8238472,40.8464047,35.2122797,5.4132452,5.5287184,49.6365333,41.8845231,49.3594345,11.3111812,33.8756971,58.3594918,30.4880853,41.5798049,18.9754188,2.4701423,16.8003887,13.8567661,40.2715123,36.3187447,5.8861256,6.0249445,52.1515994,44.2056334,49.8653066,10.4490295,34.3819554,57.4966949,30.0419515,40.6670545,18.8639973,2.5447703,17.6180306,14.3155925,41.1049254,38.0920317,5.9478855,6.1188862,53.4385688,46.0161286,50.5650441,9.9593549,34.4045656,57.8282595,29.8725956,40.7179577,18.6282777,2.3006355,18.4664389,14.5593928,42.0848088,37.6595958,5.9512054,6.1336827,54.7867053,47.5467164,51.5725166,9.3322422,34.2372716,56.6537162,29.4892555,39.097944,18.0839389,2.3537827,19.3137753,15.4272583,43.1338692 +895,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.2074203,1.2154627,17.8532658,12.8026581,56.1525886,8.8068387,35.4338088,65.244739,38.8709562,43.4315465,27.0244464,4.5328083,12.0361836,10.5738364,40.9615161,9.7446358,1.2680818,1.2795886,17.7870799,12.5911279,56.277641,8.5454483,35.5688766,65.5423338,38.9502603,43.4624754,27.1126624,4.5850235,12.2741286,10.4146376,41.1310531,9.3396665,1.2179252,1.2411675,18.2185081,12.8501248,56.7277873,8.511563,35.6538761,65.5857733,38.6065082,43.9622424,27.2327943,4.4007473,12.3665058,10.719451,41.0051169,9.0402697,1.1641657,1.1669266,18.3840183,12.9472325,56.262585,8.4122759,36.1307106,65.7448986,39.192701,44.2346687,27.6312288,4.4573779,12.3768028,10.8735027,41.0061048,8.4364036,1.1607075,1.1597884,18.3099567,12.9389559,55.809267,8.1923488,35.931943,65.9415478,39.2274601,44.6361746,27.7806148,4.3733449,12.1502457,10.5785385,40.6008897 +896,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5117097,2.53411,32.1408946,26.888617,81.539021,15.9293886,31.6781369,65.6276927,31.7067984,44.9054223,22.9650364,5.7394703,14.8285022,10.7216839,35.8166459,17.2578866,2.7389876,2.7620815,34.4923151,28.8347369,81.4970665,16.0080385,30.4546124,63.2313797,29.8653112,46.2256249,23.1022996,5.5914136,15.2299764,11.070923,36.5429504,18.6137169,2.8577488,2.8900951,36.6175968,30.5968254,82.1542915,15.9705274,29.5199665,61.7273016,28.8635224,46.998089,22.5998466,5.3131848,14.7216042,11.0439036,35.9437097,18.7198167,3.0125035,3.0884491,38.427306,32.3764728,81.9543204,16.3837634,28.3156783,60.3124626,28.235225,47.4788804,23.0857015,5.1428198,14.0693298,11.1065665,35.8836451,18.6506236,3.3195525,3.4268603,40.2540325,34.0334614,82.3155537,16.3051702,27.1939936,58.8208944,27.591747,46.8629711,22.6135577,4.8691298,14.5136257,11.2048891,36.3148279 +897,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7283272,3.778709,42.4544785,35.6410779,53.9111015,18.6851351,29.6871416,59.1995891,30.88079,44.6169649,21.199706,2.8375641,14.5947462,11.7236525,36.3292869,25.6523312,3.6545572,3.7191743,42.6507099,35.7803205,54.5025221,18.764455,30.5869454,58.480587,29.8278226,43.0431534,19.7510205,2.9232268,14.3488138,11.9425224,36.798772,26.4227114,3.6148412,3.699443,42.9035912,36.7064557,54.5602291,18.1907517,31.6169263,57.1362297,28.5849547,42.6797758,19.2982134,2.7300214,14.2137741,11.3778197,36.1738104,26.5641174,3.9224972,3.9958387,44.0891101,38.2010031,55.1048394,17.1241427,33.653246,55.400871,26.834472,41.5403021,18.392176,2.7135965,14.0397019,11.3056793,35.4869658,26.4782233,4.2191671,4.2543524,45.8755237,40.1152489,56.3111744,16.3793233,35.6295714,55.6088929,26.5434863,40.0341797,18.105211,2.8050295,15.3137102,12.5931651,36.5043949 +898,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4250091,2.3753997,24.3074554,17.8868325,54.3147728,17.7535982,31.1940678,70.8571072,32.6268626,46.6816365,26.8434628,2.7973943,13.8390042,10.585104,42.1214635,15.818025,2.7495031,2.6382094,27.1615836,19.7212233,53.3120089,18.2324373,30.0299311,68.1781242,32.6279936,49.0397884,27.8695395,3.0261337,13.9763684,11.7715123,42.2894373,19.9301977,3.0683003,3.0060147,28.5662025,20.8479878,53.976212,18.007064,29.103038,66.470617,31.0952041,48.8996059,27.3708033,2.7743606,13.9476711,11.8410991,40.4527542,21.1196311,3.2202829,3.1930056,31.6574352,23.4482343,55.5333607,17.9564478,27.9250327,63.9452997,29.4495108,48.0596507,25.7883681,2.4781283,13.3309239,12.1937988,39.6749814,20.9853606,3.6252996,3.5996711,34.0233744,25.4922597,56.3339196,19.540193,28.1610315,61.4705537,28.6545936,46.8967694,25.9550396,2.6747824,13.5729956,11.1349793,39.6115715 +899,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5602157,4.6776308,49.4092785,42.5392665,60.3227815,12.3791615,33.1861343,58.2998266,24.3146198,35.7135578,15.9892107,2.1627896,18.7528524,13.3494162,40.3599545,31.7493755,4.8074066,4.970343,50.2269855,43.7610071,61.0530538,12.2040107,33.8034212,58.7790776,25.6611537,36.1226919,16.4185109,2.0449791,18.7481683,14.0954443,40.5427332,32.3815668,4.9045381,5.0323744,50.8828219,44.5433275,61.9371586,12.0421895,34.0467788,59.4375639,25.8301533,35.966137,16.8486743,2.0739696,19.0741706,14.3627172,41.0938399,33.4791905,5.1129149,5.2806793,51.5809663,44.8848776,62.7169556,11.8888309,33.3462562,59.1565918,25.7349916,35.7601359,16.8024038,2.0175945,19.984363,14.593629,41.066426,35.2823912,5.3336442,5.4503321,51.1976896,44.3658341,63.0309427,12.0849277,32.494489,57.8573149,26.1223276,35.4431615,16.6510725,2.0022326,20.3444662,14.6770875,41.8015316 +900,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.8787799,4.0037551,41.8250755,34.9545907,87.1937924,8.2625204,25.5076216,56.6237351,23.4420752,32.2634255,12.2916172,5.1768752,15.234248,10.5873218,38.4973973,20.3778829,3.9611579,4.0797841,43.1713933,36.2663989,87.7532182,7.7454896,26.0235143,56.4442281,22.8412351,31.6110223,11.715963,5.0499582,15.6290304,11.0574761,39.3926132,21.8813765,4.1239893,4.2228623,43.9552237,37.1052008,88.0197366,7.2642569,26.2330927,56.3081913,22.3233456,30.9036568,11.3157335,4.9176735,15.8119727,11.2940329,40.4638633,23.2637782,4.0789617,4.172311,43.9499348,36.9726346,87.9739897,6.6859044,25.9513462,56.0696355,21.9729809,30.4766866,11.1725753,4.7181705,15.9264838,11.2609057,41.1890957,23.8729628,4.1476625,4.2464054,44.3410721,37.496091,88.1871897,6.370747,25.8440284,56.0067308,21.8303515,30.077163,11.012982,4.687449,15.7047195,11.3316283,41.5633434 +901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.1474806,1.1995962,18.0847999,13.6169236,86.148513,10.6052599,31.0253322,67.3171468,32.1474754,46.684531,21.4103367,5.1390343,13.1768885,14.5177968,33.8592714,6.4229681,1.1148034,1.1887639,17.5567725,13.0160039,85.7124546,10.6660557,30.9036069,66.6536134,32.6635575,47.3732539,21.1057532,5.0302176,12.7529153,13.8326122,33.2709366,7.0122436,1.1778472,1.2218603,17.3008488,12.831994,85.9879301,11.0009209,30.7721985,66.6971792,32.6768096,47.365016,20.9887079,5.1265491,13.5526309,13.454443,32.0370018,6.081148,1.1267632,1.146534,17.2254353,12.8971849,86.2351393,10.9271504,31.294814,66.8077994,32.4744463,47.1922947,20.9101994,5.5000148,13.6108553,13.2975706,31.6315099,6.6092676,1.2064329,1.2221489,17.1467531,12.9500809,86.1111888,11.0676415,30.944981,66.628365,31.9668342,46.4239836,20.0127046,5.6321916,13.3519862,12.4809341,31.7925503 +902,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.2560916,4.3576974,44.775697,38.0374631,88.4532433,5.8547696,26.2655636,56.0252021,21.4848794,29.9867668,10.9946471,4.5472201,16.000805,11.3313245,41.9135478,24.8777853,4.1721954,4.2827662,45.3017269,38.512647,88.4760111,5.3892834,26.3179519,55.743661,21.0830664,29.8271318,10.9287424,4.5681529,16.2516663,11.6667782,41.852491,25.7236775,4.1838075,4.3000879,45.0997904,38.3213641,88.4664489,5.1094486,26.0903784,55.6353216,20.9230561,29.604171,10.8562068,4.5091027,16.2669846,11.7161021,41.7749435,26.0090336,4.0703152,4.1803568,44.4764772,37.7790324,88.4488308,4.9607813,26.0423992,55.9476709,21.0935825,29.9206729,11.0339152,4.4789081,16.1925671,11.6636012,41.4118074,25.8632074,3.9006962,4.0192192,44.1772754,37.3862959,88.338972,5.0259052,25.6513117,56.2162254,21.3421222,30.2046391,11.1580548,4.5252073,16.1101347,11.3182017,40.7052911 +903,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7743882,1.8511287,29.027836,24.5946322,50.3543764,12.0170664,38.0569862,66.5970063,35.5097051,49.9171424,28.8420826,2.7657265,9.9117452,12.0498345,40.2263146,20.5877912,1.62243,1.7006315,27.2561797,22.9082913,50.1830777,12.9844763,38.7417346,67.0383562,36.2494844,50.4051795,29.2262222,2.9805242,11.3608121,12.071498,39.5431685,19.0318651,1.9974298,2.0747462,26.992054,22.1849453,50.1377055,13.7323244,38.1914416,67.2685127,37.2211292,50.0026653,29.2083691,3.2160805,11.8850324,12.5844368,39.3741481,18.3226172,2.0412984,2.0569249,27.8236755,22.4466854,49.7855128,14.6537708,38.3623571,69.3313499,37.8534488,50.8891914,29.2337954,3.1730473,12.4191605,12.414543,39.1646881,18.3136128,1.8801145,1.8957543,28.9576069,22.9716765,50.4347994,14.8003657,37.5091548,68.9510733,38.0122291,51.1014332,29.0187934,3.4415524,12.0865531,11.9201292,36.9284652 +904,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,3.757785,3.9030742,37.5110009,30.2902452,48.1948543,12.3069684,28.1669479,62.5707264,28.5882086,47.6821715,25.0307219,4.9699702,14.6783476,11.9423101,33.2552482,17.8571429,4.0564639,4.1812865,39.4001878,32.0320123,49.6022978,13.5500249,29.6196684,61.803151,28.4427164,46.8558101,24.3248668,4.7355211,13.9154944,12.1063484,34.382165,19.9127965,4.2319322,4.3112376,40.3963927,33.3999733,50.4432482,13.6191792,31.4296852,61.3264985,27.5406514,46.8687628,24.1742664,4.7883867,14.3086657,12.9738641,34.984711,19.8571485,4.428735,4.4545572,42.042798,34.9308754,50.6655109,13.9147257,33.4771425,60.6947593,26.7871927,46.5730369,24.0092757,4.6770995,14.1415265,12.742615,36.0346938,21.2000057,4.7514131,4.8018023,43.5471675,36.0529677,51.3451352,13.842782,34.765535,60.1300001,26.219581,45.5859381,23.667146,4.4669888,14.7326507,13.3522727,37.1575342 +905,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.2003951,1.216178,17.2058038,13.1003034,86.0353743,11.1068273,31.1055847,66.5341166,32.1575495,46.0877651,20.023034,5.554141,13.3213583,12.1919898,31.2789696,7.7541047,1.1206382,1.160321,17.7847569,13.429286,86.4586123,11.2228219,30.9707309,66.5504572,32.2618103,45.8430395,19.5068165,5.4867078,13.8888749,11.8243083,31.1488087,8.2888543,1.1721875,1.203304,17.9026219,13.7175764,86.614481,10.962057,29.5839246,66.4341308,32.3737796,44.8516583,18.7547323,5.4907493,14.6622367,12.2057311,31.8322405,7.7250166,1.2658875,1.3253586,18.9514382,14.5843212,86.9933684,10.9632906,28.590425,67.0426629,31.9626269,44.5779285,18.6196353,5.4221613,15.0947616,12.6640827,31.3845901,7.9787634,1.3625367,1.4225971,20.096543,15.4579774,86.8590417,10.8111122,27.7056662,67.5685244,31.8437643,44.7723538,18.3766312,5.4236365,14.6025398,12.2562883,31.999022 +906,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5663542,4.5357842,47.1346004,41.0134247,56.7484125,15.8754533,36.2127775,56.8371341,26.728868,40.539617,17.8883215,2.693605,15.8055209,11.9805204,36.2252924,30.1714191,4.5606078,4.5304905,47.6756546,41.3873314,57.3368145,15.1109156,36.6813075,56.9886335,26.162811,39.6856281,17.41911,2.5730189,15.965188,12.7189985,37.8045346,31.33783,4.6288743,4.6398026,48.4111386,42.5849692,57.9631871,14.1096465,36.7732537,56.3754889,25.7036006,39.2220477,16.946687,2.6089277,15.4253632,12.8633075,38.7810158,32.0309276,4.8117597,4.7967498,49.0926339,43.5696946,58.484865,13.2664349,36.7902943,55.7426964,25.3075244,39.4354401,17.2733899,2.4338716,15.2669866,12.334259,38.8297201,32.3835364,5.0967215,5.0495046,50.5135904,44.816057,59.0219779,12.9603015,36.8915607,57.0070226,25.5174316,38.9583037,17.502842,2.6112084,15.4391532,12.5256125,39.7584587 +907,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.863589,3.9176307,41.0854032,34.9948962,81.0738494,18.9910468,24.8430962,59.1178522,21.8096234,43.6018131,17.904463,4.1317992,14.9893692,10.3900709,36.0071942,20.4441913,4.2921675,4.3797915,42.9913985,36.8429436,81.2208916,19.1725692,23.762215,58.4201954,22.1661238,42.8501629,17.47557,3.6644951,15.0626236,10.9313078,36.8050904,22.0207254,4.4621791,4.5503526,43.8939394,37.7121212,81.6323296,19.3661972,23.4336228,57.8008685,22.4100496,41.8889578,16.5477667,3.6445409,15.6369427,11.0082961,36.7656553,22.8419011,4.3663128,4.4853497,44.9489051,38.7883212,82.9614914,20.0383934,23.245745,57.7037922,22.4096745,39.4595402,14.5267244,3.6578083,15.5904059,10.9365373,37.8268991,22.0425139,4.3633317,4.4919542,47.2497874,41.1539552,82.8643365,19.7285714,23.2668977,57.4667822,22.2848065,37.9404968,13.8792605,3.6250722,16.1764706,11.6887019,38.5479951 +908,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.4212217,1.4894504,21.244964,16.5079963,87.4498361,10.9025777,25.8291969,67.1905873,30.853928,45.2599761,18.8243077,4.764883,15.5043665,12.3886771,32.1606839,8.9436884,1.442925,1.5285794,22.3999924,17.4959387,87.8442244,10.9306133,24.2600329,65.6512129,29.0207143,47.2743697,19.1046179,4.5757592,15.9394783,12.8720275,32.408841,8.7162669,1.5223976,1.6059892,23.6811945,18.66037,88.1395491,11.2317277,22.7054254,62.6957597,26.7525369,47.1814853,18.2245435,4.3965595,15.66577,12.772611,32.1707212,8.8961663,1.8029152,1.8626181,24.66852,19.768538,88.457044,11.4182763,21.1870549,59.8298141,24.8250373,45.5574271,17.2924313,4.2560697,15.515597,12.6869056,31.7434542,10.3967021,1.90171,1.9624835,25.9840263,21.0918658,88.5423276,11.5366409,20.4776554,58.1796179,23.3386769,44.7970022,16.7397095,4.1416546,15.542922,12.7152789,31.3183939 +909,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2438473,1.228655,17.9476107,12.1041877,58.8172899,12.0598949,35.3988655,68.8695294,36.7824572,44.5245902,26.1553916,3.7239145,12.6679946,10.1472693,38.4637517,8.753048,1.1764121,1.1328448,18.1180703,11.9743144,59.1104945,12.4357915,34.9511282,69.3355543,37.0637129,44.6265349,26.1328708,3.9345173,13.1362285,10.000101,38.6317509,8.9681141,1.2038627,1.1859166,18.4763154,12.7662465,59.0347322,12.879441,35.2145792,69.4706507,36.7052559,43.9155335,26.1484703,3.7876933,12.9144224,9.949884,39.0464656,9.6814421,1.1869675,1.2371034,19.449257,13.3887011,59.5896205,12.798937,35.7934447,69.1168269,37.2006319,43.3684155,26.1227593,3.6377594,12.9618872,10.2778561,39.1127599,9.9760359,1.4973094,1.4977491,19.9688756,13.7614353,59.2433632,13.1730518,35.8019259,69.3981634,37.5548967,43.6314992,26.0444432,3.7540477,12.8322325,10.0061536,39.9451673 +910,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.6269554,4.7515972,43.7865266,37.0433954,63.5834402,10.4804604,26.3817758,61.5850893,30.282382,35.0338873,17.1498556,3.467619,13.3703243,9.276708,37.1737798,31.4123927,4.5978139,4.7292166,44.2265384,37.5549856,64.0911573,9.8564827,26.8223657,61.6699351,30.3539119,34.7607931,16.952165,3.5051298,13.4939932,9.3417475,37.2026993,31.8996001,4.6150634,4.7706422,44.9200817,38.3047197,64.7070364,9.3522179,26.5993146,61.6507789,30.0915023,34.6664136,16.8166288,3.473121,13.7172226,9.3467289,37.5406247,32.9359845,4.5430836,4.6985357,44.7598745,38.3539878,65.0978976,8.95833,26.5308588,61.8601475,30.0550187,34.3605539,16.8274672,3.4244931,13.8746427,9.5990394,37.7021335,33.1092261,4.5042755,4.6801376,44.5499401,38.1002163,65.559303,8.6233275,26.4076935,61.7357911,30.1500409,34.1079639,16.9483542,3.418987,13.9739155,9.5233959,37.852761 +911,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.4185002,4.5872268,44.2177702,38.0005053,65.8048599,8.3283096,26.9237512,61.9835765,30.3650985,34.3741854,17.0888343,3.3758402,14.3244221,9.9668075,38.25651,33.6184499,4.1895083,4.3574897,43.6034795,37.480867,65.9258955,8.0291653,27.1682854,62.3788418,30.6692876,34.6214922,17.392215,3.5051808,14.1764723,10.0252096,38.045682,32.1174925,3.9690547,4.130866,42.9995241,36.7495251,66.3024066,7.829947,27.1551393,62.8440366,31.1389408,34.6764219,17.1047226,3.5333502,14.0756336,10.0975294,38.0714471,32.4166936,3.9091947,4.0707294,42.7641542,36.4228096,66.2837393,7.6144816,26.7926906,63.1616128,31.6119672,34.8525142,17.1292093,3.5853762,14.0527306,10.1725004,38.251316,32.5349091,3.7307705,3.8633917,42.1427377,35.7539418,66.4593328,7.4020726,26.818791,62.8608421,32.0081781,35.1201422,17.3243803,3.549976,13.647874,10.1959781,37.5616786 +912,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.2399431,4.2454804,36.6679551,27.9137602,56.5912099,18.6214875,28.1838693,60.9131912,27.8681536,46.9595203,25.4271189,2.6946972,14.3720261,12.3007411,42.4333075,27.6204073,4.6084387,4.6607864,38.8042574,29.7386934,58.1685038,18.2124322,27.7767176,59.7503229,27.0588723,45.0858472,24.9153923,2.8519215,14.2293881,11.764728,43.9095978,28.1189313,5.0228755,5.106142,40.0994494,30.9395582,57.8633346,18.3004205,27.3323019,58.9848448,26.6437768,43.8771007,23.4977426,2.7927722,13.8074295,11.140864,43.9146823,32.0130218,4.844989,4.9797803,41.3923823,32.5175141,59.2358938,17.280036,25.7708533,58.3283357,24.9127096,40.9781828,21.284127,2.5495497,14.2791832,11.2422587,44.2755774,34.3873126,4.9178464,5.1110865,43.395868,34.8241248,59.2563314,17.6576749,26.4734302,58.4504583,25.3778735,40.0277507,20.7510467,2.6790561,14.2604962,11.4485488,44.901756 +913,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0199828,1.0256368,15.7813052,12.0997286,82.216393,14.0004153,26.3478699,67.1445663,31.1228022,52.1249783,20.5584739,4.9230274,13.4665351,12.6060321,33.4619691,10.2229533,1.0005267,1.0062009,16.2342365,12.2432863,82.5160001,13.731578,25.5665424,66.6092651,30.303318,51.7460978,20.7027479,5.011778,13.8468775,12.6576039,32.6384726,9.7068708,1.1143377,1.1199583,16.5746698,12.7038757,83.3292654,13.0958547,24.9431298,65.4069913,30.187572,50.4525305,20.1180581,5.3074726,14.7699356,12.8236315,33.9950832,9.3064437,1.2789706,1.3077441,17.1607012,12.8964785,83.6366862,12.9073396,25.4603966,65.7923235,29.686081,48.3217488,18.6568345,5.2610815,14.5216303,12.7325384,34.9445552,10.4777563,1.2934907,1.3171101,17.2508456,13.2617817,83.5770065,13.134524,26.4937634,65.7890162,29.5547902,45.7656219,17.8708025,5.281471,14.2431881,12.3723721,36.6954125 +914,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.4500735,3.5466736,41.8743296,35.446015,82.5846264,16.4612314,26.0464819,58.0094996,27.0461132,45.9015372,21.9105432,4.6170183,14.3995022,10.9268254,36.4367811,19.7363361,3.5079075,3.6028533,42.9841196,36.4273203,82.8319987,16.2023603,25.3454833,57.2031321,26.617347,45.1449147,21.1752561,4.5187719,14.2909692,10.6495148,36.6724326,20.9262834,3.7586241,3.8641897,43.6916798,37.0460022,83.4519137,16.2368165,24.5349936,57.294815,26.5810329,43.6584517,19.6175408,4.4698906,14.0122182,10.6890886,36.7779384,21.0331501,3.8505719,3.9667713,43.8314656,37.4475462,83.7085847,16.4510684,24.1338104,56.9466627,26.2992983,41.252569,18.1844141,4.4164591,13.5858229,10.5842773,36.4284044,21.4066772,3.9253393,4.0483422,44.1147501,37.7961857,83.7497093,16.3054392,23.9684946,56.6481538,25.7027908,39.4865151,17.2920037,4.4150988,13.6384695,10.473205,36.7935556 +915,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.3897668,5.5952769,45.1990122,36.4299386,59.109732,17.5917941,27.1019187,58.6049725,24.9228055,39.1694857,20.5475938,2.6398108,15.0292422,11.7759883,45.7153447,37.6440327,5.4020013,5.6040213,46.8633825,38.0753292,60.0887104,16.4610661,27.7365389,59.2710964,24.5790302,38.9973586,19.4137848,2.3930242,15.3107389,12.5813704,46.1991788,38.3373721,5.2514924,5.4294423,47.4546845,38.9229378,61.3005541,16.5706513,28.8320533,59.5167708,24.5727877,37.9686678,18.9599618,2.3439777,15.3205146,11.7859876,43.1561673,40.3408907,5.1925769,5.3218969,48.2933968,40.3657383,61.0847195,16.402762,30.128866,59.3239159,24.740974,38.3235488,18.8019024,2.3832929,14.8460018,11.8703069,40.2217544,42.3635863,4.9953959,5.1949033,49.4405475,40.9882885,61.3893155,15.783089,31.7640219,59.0913393,24.6465845,38.2909365,18.8678775,2.2135968,15.1670889,12.5920576,41.1673605 +916,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6636753,1.6741659,24.1900044,18.1174725,51.8521086,15.7980377,36.5042293,66.963981,33.8095084,47.0267252,22.5897346,3.565169,12.8464502,12.2799842,42.444888,10.9405708,1.8868806,1.8974314,24.165333,18.3009424,50.7207113,15.6430338,37.33309,66.8739844,34.8182074,47.1334382,23.2627497,3.3950939,13.8462598,13.5706989,41.7918828,14.447478,2.267545,2.2783559,24.7656702,18.6002358,50.4818276,15.6653819,38.0998896,68.0024892,36.2407779,46.776717,24.2601745,3.1910356,13.8725244,14.6047159,42.9190594,15.6860232,2.1427506,2.0889813,24.8847374,19.0496971,49.9969298,14.6037406,36.6860056,66.9779297,35.6910897,45.4021361,23.754878,2.8220004,14.2197604,13.8227485,43.6993496,15.1606072,2.2054556,2.1016758,23.6991165,18.0448387,48.2583666,14.9127452,37.042565,66.893531,36.1805899,45.4144015,24.3939638,3.0718225,14.6047322,14.7472458,43.1861404 +917,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3857735,1.4204514,21.1390432,14.9062576,59.2425449,13.6044246,35.373912,69.021108,37.1148433,43.9643408,25.7563863,3.9812057,12.8946411,10.1609297,40.089759,10.1562999,1.5194818,1.5488692,22.0736217,15.9368099,59.7348272,13.8621222,34.812486,68.5190748,36.4363034,43.7993068,26.1339721,3.9334153,12.9456899,10.2571825,39.5121887,11.2137068,1.4366872,1.4735154,23.2317068,17.0523527,59.6260544,14.0805333,33.8275704,68.3487552,35.5687011,43.0497362,24.7960921,3.9037401,12.2513125,9.7498789,37.764276,11.7473123,1.6909403,1.7454197,24.6105807,18.3040673,59.596626,13.8164477,33.2254057,67.9145245,35.1685558,42.7333382,24.779895,3.665837,11.7504241,9.2652775,37.1870749,13.0014998,1.8008571,1.8692104,26.7362163,19.8405246,59.956026,14.1010005,32.6756586,68.5208225,35.1961451,43.1900554,24.4271327,3.7551324,12.1607584,9.6113358,37.3322028 +918,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,4.4354177,4.4560791,41.7131118,35.4420939,80.2258223,27.1427412,27.2674524,61.685914,22.8487989,39.1279322,13.0814236,3.0814294,14.6488634,11.5012428,36.9514713,19.5522646,5.1423672,5.2502433,43.9551192,37.2649546,81.0324755,26.4318348,26.1585188,60.9144491,21.2803555,35.3048387,11.5243338,3.2317428,15.6789784,13.2099325,38.9306321,20.7936901,5.5822557,5.6965426,45.3690342,38.7356679,82.4037854,24.778166,24.8057462,58.7434463,19.2358086,32.8369123,10.297898,2.9145361,15.8665904,14.5333744,37.9358464,23.6576207,5.5543036,5.6999931,46.2655516,39.3034338,82.8438182,24.1976946,25.294105,58.1045124,19.4117443,31.568758,10.1306487,3.2026542,17.9314804,14.605269,39.3421721,25.1687098,6.1719927,6.3200987,48.126464,41.0204382,83.4705778,23.1628064,25.266553,57.266649,19.2666184,30.6000801,10.733255,3.000034,18.1213673,15.5585343,41.356621 +919,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.826981,1.7520844,26.4332445,21.0575631,84.9053278,12.7992683,29.9814107,61.6105525,30.7911779,41.060526,20.4047623,3.6626106,16.7257796,14.7665302,43.2052572,19.1700084,1.7190232,1.6425688,25.7800359,20.4232965,85.3909878,12.7531336,30.3945524,62.6800788,30.9352487,39.9743947,19.9303212,3.5173733,15.8147171,13.8469201,42.5921726,20.3340427,1.6873097,1.5781255,26.2135664,20.9219265,85.0045571,12.3790587,30.3224844,62.3914988,31.4337893,39.484015,20.2838894,3.3044773,15.3039897,13.1474005,41.4773018,21.8201669,1.8784664,1.7961801,27.1453121,22.2815269,85.0887479,12.4445062,30.1954995,62.5808153,32.182002,39.2202847,20.5098515,3.5443087,17.0203307,13.5339986,41.4812016,23.3822777,1.8398573,1.693389,28.1195614,23.5277001,85.1937096,12.4641504,29.6424761,63.0590669,32.5308957,40.359001,20.0439096,3.5124426,16.9543004,13.4811736,39.3346307 +920,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3028968,1.3569423,24.0386891,19.151224,51.336282,16.0275818,36.8758676,65.3618266,34.922217,48.4403106,26.8009421,3.0330625,14.0758543,11.2660501,39.8192816,11.6176799,1.4918202,1.5133079,25.4133167,20.3903639,51.5360164,15.4350712,37.9451569,64.8564713,35.1437907,48.2788822,27.0369112,3.0320069,15.1368484,11.8712435,41.231138,13.9639724,1.7221551,1.7435439,26.0672423,21.1370181,51.436022,14.7433792,38.7474269,64.8290254,35.7079621,48.1437259,26.9569248,3.2691328,15.3128984,11.8763291,40.5028161,16.172126,2.0523018,2.0708696,26.0084323,21.1090402,51.6410046,13.9510965,38.7563158,64.5819177,36.199583,47.3764559,26.9075732,3.4587836,16.0460838,12.7793597,39.857072,16.9074762,1.9926452,1.9893841,26.4937244,21.6955124,51.8689726,12.8862896,38.5541597,64.9881314,36.4991744,47.3298691,26.9824679,3.2732839,15.3873812,12.7305573,40.4388049 +921,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8615078,1.8748627,28.6238826,23.976923,58.241773,8.2791058,33.9801445,66.2776437,31.4164166,46.3261566,23.1380096,3.2297279,15.0352011,12.470552,33.574656,20.1981275,1.7674504,1.8025898,28.710672,24.1136202,59.0135092,8.2496982,33.0843462,66.5966097,31.2138213,45.8454905,22.6581609,2.9799861,15.4719858,12.721098,33.9317621,18.5299465,1.7681024,1.8103928,29.0325786,24.3140168,59.0820544,8.206253,32.7302649,66.7175515,31.1320169,45.3139411,21.9777266,2.7390289,16.1617771,13.5027843,33.8905458,18.6179813,1.7919702,1.8473711,28.9578031,24.363069,59.2355385,8.4553013,32.0418704,67.2831154,31.338853,45.795321,21.6918485,2.7492597,16.3083562,13.3192039,33.5846507,17.7354026,1.7120276,1.75082,29.4875392,24.689958,59.7322837,8.6959222,30.8548818,67.5118341,31.0680369,45.5687786,21.2967489,2.6345605,15.7259744,13.1376939,33.1760808 +922,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.6354869,1.5055339,28.6683758,24.2342612,85.2163908,12.0162744,29.8090363,63.5020314,32.3974659,39.2603847,20.4820557,3.6313686,16.0399021,13.0564846,40.1212059,20.8111331,1.6477971,1.5525181,29.2318592,24.7627977,85.5911069,11.1013381,30.441904,64.3478821,31.1529839,38.7173535,19.7034238,2.9829489,15.2919648,12.8762578,39.8957839,20.3989641,1.3772809,1.3452883,28.7279146,24.3264313,85.5579765,10.915213,29.9184038,62.7816037,30.7234525,38.0699614,19.1178893,3.054412,13.9779611,11.9616436,39.0115572,19.621604,1.2456331,1.1979888,27.9406194,23.7152286,85.7489997,11.0259146,29.4070901,62.0155326,30.8900474,38.3314783,18.5315647,3.1053196,14.2464888,12.6294626,38.6099529,18.2863261,1.3229084,1.2760495,28.1846401,23.8379983,86.595427,11.186278,29.9194408,61.6092757,30.9123638,37.8137817,17.7630894,2.9995028,13.784442,12.469192,38.5770609 +923,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.4011504,5.5885822,50.2637998,42.0941121,61.8687344,16.2501034,34.286586,60.2011779,25.4663277,37.2278383,19.0256612,2.464377,15.0132409,11.5270189,40.2537382,42.5656429,5.5206612,5.5988862,50.3511866,42.0742843,62.7341306,15.254319,34.8003546,59.2933245,24.7996933,36.2963372,17.9189101,2.3598613,15.4044147,11.6563319,41.4373371,44.8337027,5.5656144,5.6627073,51.186856,42.7909052,63.4155921,14.3315715,35.5011837,58.1126013,24.2451629,35.735167,17.3392865,2.4689509,15.9157341,11.8959572,42.003586,44.7563259,5.8076341,5.9181757,51.4431513,43.0881457,64.6582409,13.7774709,35.4639217,57.6486888,23.6701225,35.3474359,17.1986235,2.6030601,15.8698032,12.3971727,41.5649097,45.7301661,5.9860324,6.130996,51.8676852,43.3664241,64.4849156,13.8712179,35.0783603,56.428616,23.529679,35.2959238,17.4990808,2.6322916,16.1453717,13.3250851,43.8772023 +924,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0847049,2.0524475,27.4856643,22.4138188,52.1749246,12.4831452,38.356287,65.3303261,37.4766255,47.4761523,27.4473258,3.4901077,15.5973419,13.3849435,39.0289096,19.8570855,2.1595047,2.1272689,28.2093676,23.0337753,51.9868144,12.8738917,39.4170495,65.9280524,38.089583,48.3238191,27.2966613,3.6849654,15.6455072,14.1240645,39.3040155,19.4050471,2.2484829,2.2161949,28.245989,23.2336996,52.6304035,12.8695163,39.0853907,65.9704278,37.5407501,48.665402,27.6397156,3.6680582,15.7991148,14.626079,37.0302061,19.1760947,2.0005497,2.0005502,27.9386521,22.8643748,53.3622734,13.4143895,38.570915,67.2150374,38.085765,48.7522314,27.4490812,3.7929713,14.6931431,14.0433088,36.004331,17.9944577,1.9756204,1.9862431,27.9509677,22.9572867,53.2494284,13.2348231,38.4249309,68.1641524,38.0434208,48.9600981,27.9884957,3.9343088,14.1475583,14.0143296,35.7193875 +925,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.4493453,1.4730704,17.6577706,13.1848347,83.753034,12.2414387,27.5879794,66.6655807,30.0938832,44.7842909,17.9525861,5.249674,14.829732,13.3086539,36.2305041,10.8777256,1.2165417,1.2820034,17.530492,12.9799695,84.1959618,11.294572,27.8800188,65.8028795,30.3804329,44.4190012,18.1405,4.8038378,15.2876802,12.8347447,36.0093124,10.8777256,1.1738572,1.2387873,17.1798189,12.6645108,83.9703535,11.1737237,28.4073791,66.2296256,30.413003,44.7582284,18.6837405,4.5564622,15.9127914,13.1529336,35.0996433,9.3154725,1.1898742,1.2928815,16.7993025,12.6476536,84.3544912,10.9004762,28.245296,66.4766222,30.426215,44.1670416,18.4302055,4.6020703,15.1630614,12.9398273,35.4456976,8.9284545,1.1973153,1.3206799,17.4542047,13.352375,83.8221564,11.1307956,29.068468,67.9176964,31.8201178,44.8364226,19.240587,4.6954617,14.8566623,12.7506541,34.7594379 +926,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8730213,2.8894817,31.8346295,25.1809591,49.7495639,15.6948849,40.158046,64.5546121,36.0775718,47.4568764,27.8879253,3.7212586,13.8223304,13.5964896,37.2866407,23.5883639,2.8982095,2.9147612,32.3019393,25.6931528,50.0888971,14.8237635,39.945146,64.0652491,35.9059771,47.1292693,27.0484333,3.4766217,13.9501276,13.7840975,36.5204737,25.7741489,2.8611038,2.8775594,33.0050329,26.4845101,49.9264992,14.9449427,39.9282975,64.1404779,35.5158464,46.6046503,27.206247,3.4240516,15.0839678,14.5049176,36.4991243,25.8684007,2.7566534,2.7820794,33.0494624,26.4591315,48.9288712,13.9663864,39.707938,64.0793007,35.3137821,46.2706796,27.1320781,3.2523711,15.6787078,14.8488263,36.6226695,25.9562976,2.6307643,2.6219695,33.7364733,27.0920548,48.1420972,14.0858926,40.3922645,64.5905677,35.9250958,46.69254,27.8493393,3.2216382,16.2265257,15.7662768,37.3067672 +927,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,4.8737924,5.0138652,44.5063339,37.123197,76.7492101,17.4127729,24.2353134,57.4570199,21.2212489,38.6358566,18.095559,5.3025248,15.587047,9.9234923,37.7379772,20.5592159,5.117614,5.3148224,46.0433927,38.300359,77.2175736,18.0608785,22.9130551,56.8447191,21.4424707,37.8784582,17.3551055,5.1795001,15.4498075,10.0217396,37.8230318,22.2049731,5.2068641,5.4052183,47.372202,39.6530473,78.1766292,17.8688207,21.6476615,56.1139845,20.984453,36.9637291,15.740934,5.1088101,15.2426413,10.0995446,37.9807632,23.2443453,5.4711126,5.6294171,47.7744544,40.3493043,78.356822,17.7528353,20.7929712,56.4265529,20.9543978,34.533898,14.2958039,5.1957241,14.7443794,9.9182012,37.515445,23.7898855,5.5894416,5.7799016,48.7889613,41.3837598,79.0753042,17.8126882,20.6560933,55.7885249,20.816613,33.0357135,13.5734348,5.3671765,14.6903075,10.0979193,37.7106485 +928,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,4.8837548,4.9817699,45.4499319,38.0896804,51.8964109,13.6940974,36.0990817,60.386227,26.8509707,45.1842976,23.4440397,4.5697752,13.5150167,12.6111111,36.8861607,24.0867635,4.9844772,5.1041772,47.6888929,39.9930779,53.8126609,13.5742701,35.6825989,60.5145141,26.9135624,44.8735821,23.3745275,4.5163809,14.9567647,13.4303859,37.892053,26.4258316,4.8806689,4.9820641,48.9142781,41.3889766,55.1991264,12.4486048,35.9947481,61.0209861,26.9372238,43.2721757,22.6440568,4.4764013,16.5954326,14.5521643,39.7970609,27.2448571,5.1084054,5.2140369,50.4499463,42.1863433,56.0551668,11.3362226,35.9045983,61.2329334,26.7293514,42.992059,22.2790764,4.3678571,16.5891938,14.1951465,39.5765396,27.4370391,4.8506587,4.9647036,50.6316729,41.8832771,57.0976327,10.6569906,35.7883174,60.9496019,26.138277,42.5964801,22.1716901,4.8250202,16.7050376,13.8938606,38.7696228 +929,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.0456245,0.9984299,26.8245147,23.0514029,86.7168752,11.0164631,31.0828564,62.1083509,30.4461543,38.4807351,17.3420839,2.6807794,14.1072504,12.3854645,39.337849,16.1316406,1.0257828,1.0418273,25.9503317,21.8194633,86.8991927,11.0706697,31.5644172,61.4105835,29.9493156,37.4336176,17.854292,2.7282704,13.6023614,13.0786348,39.5474512,15.6308368,1.080603,1.1592114,25.6174847,21.4277886,86.8226888,11.1308381,31.2322821,60.8435221,29.644598,38.0881971,18.0264863,3.0893419,14.4156759,12.9125787,38.2790803,15.3274427,0.9334389,0.9812259,25.1828471,21.394113,86.5232852,11.4796799,29.7167641,60.3434079,30.544577,39.6302118,18.5708965,3.0779372,15.3640001,12.6377108,40.7584056,14.558787,1.069882,1.117362,24.7679174,20.8218716,86.2290032,11.434106,29.5551886,61.9535001,30.4461578,41.074597,19.0108286,2.7356899,15.9304148,12.9018863,41.8365873 +930,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7586288,1.8123647,24.2807313,17.3431503,51.276255,16.7888164,29.2484349,69.9164458,33.1775069,48.8453974,25.7613324,2.6276079,13.3895341,11.7099532,38.3037819,13.1585293,1.8438274,1.8953164,24.7321271,18.0187748,51.4931393,17.5802646,28.3381526,67.8603262,32.3830322,49.8782087,26.389097,2.8507961,13.7638669,10.5610053,38.098067,14.0556691,2.1821405,2.2294115,26.4775671,19.0905384,51.4842112,18.3458032,27.5083859,66.6746386,30.9988805,50.1943537,26.2971223,2.5932486,13.6992912,11.0291394,37.475206,16.2451219,2.7208826,2.7758709,27.9261156,21.3757386,51.1303939,19.6766335,26.6711792,65.7675078,30.7747826,50.4152491,27.0866011,2.9275427,13.534887,10.1770577,37.8188847,18.3393931,3.2698579,3.3103932,30.3380418,23.2068933,51.3213831,20.048033,26.2748517,63.8350045,29.6006161,49.0684378,26.4968115,2.638498,14.1525052,11.0375779,37.7585311 +931,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.5133912,6.768061,52.9978558,43.7801127,64.5180186,13.3772053,35.4170456,56.7717429,23.5385086,35.2806668,17.9036503,2.22645,17.3322843,13.6372163,45.7990517,46.483475,6.5709671,6.6674124,52.784251,44.2972977,65.420932,12.4317202,34.1801335,56.7254285,23.6930261,34.7763199,16.8382398,2.1554066,18.0446179,13.0632602,46.8772467,46.114682,6.7338898,6.8865149,52.9900068,44.5288166,64.8560105,11.7063838,33.7754833,56.5441444,24.0385372,36.4030454,16.4876731,1.885417,18.1987625,13.6763091,47.7735838,45.5618572,6.8189619,7.0351378,53.5098757,44.9021577,64.8755204,11.2989374,33.2918924,56.3108798,23.9650308,36.334616,16.1408837,1.7276487,18.3078877,14.2829999,47.9890729,46.952078,6.8436364,7.0776637,52.4981194,44.2251547,65.5368594,11.9498513,32.7374247,56.4819209,24.2084276,36.0388357,15.7671208,1.5204036,18.0308618,14.309491,47.9100177 +932,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9634819,1.0271695,25.1867995,21.1565658,86.3230305,11.0420547,30.8660543,63.144311,29.8083731,41.2787185,19.6912252,2.5623821,15.4849316,12.5758596,43.4361577,13.3003866,1.0170375,1.0808219,24.3954964,20.2916069,86.7033008,10.9603105,29.0864465,64.1737085,30.6210863,41.7494429,19.6271846,2.6939955,16.0696336,12.5822197,45.0684631,14.1949213,0.8923582,0.9555941,24.1709214,19.7714913,86.2794227,11.2639829,28.4057627,65.0204817,30.7009694,42.2032643,20.3858864,2.892402,14.3410346,12.2933886,45.7307991,13.7554645,1.0647672,1.1139957,24.8621361,19.988719,86.0167316,11.5155609,28.2460272,65.8440517,31.4297446,42.9923559,20.1487538,2.8881656,14.4850667,12.0433567,46.6405352,12.337673,1.302698,1.3941012,24.1468928,18.8264015,85.8854766,12.1354469,27.2237923,66.0525908,31.606081,42.6054374,20.0752556,2.6424441,14.6116143,12.0234305,47.414877 +933,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,5.6133522,5.8136242,49.36338,42.2291842,80.1716881,17.7318555,20.9928285,55.0153534,19.8669367,31.3510708,12.8045008,5.1688857,15.3225863,10.2898548,38.2512581,26.433463,5.6221015,5.8415556,49.556158,42.9500452,80.4673945,17.2509829,21.0190378,54.038502,19.1358043,30.6654041,12.3352184,5.1998342,14.9664211,10.3991598,38.893607,28.2654702,5.6490987,5.8566626,49.9896059,43.5004189,81.0652853,16.9620532,21.4466704,54.4139402,18.7645217,30.3590198,12.0908151,5.2059152,15.4584288,10.4397995,38.927199,29.884759,5.3419708,5.5110801,49.8637961,43.5142548,81.1957211,16.3787665,22.5617517,53.8649971,18.2602234,30.0574911,11.7653341,5.2278553,15.5734205,10.2960423,39.3029484,30.8237174,5.4132701,5.578898,49.8197646,43.4584408,81.2756682,16.2083801,24.1187959,53.5139342,18.048306,29.6888526,11.6514387,5.4286358,15.704852,10.5739556,40.0489831 +934,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.4488786,4.5732786,48.319209,42.019774,82.9828199,19.4373036,24.0906467,56.8562356,21.9255196,36.6483834,13.0051963,3.3920323,16.7666467,12.695078,39.1949153,24.679213,4.7472409,4.8260588,48.9219858,42.4539007,83.2885305,18.8616715,24.4538305,56.291873,21.337023,35.8432858,12.3070201,3.4517914,17.7623643,13.013285,39.8114355,25.6618275,4.8796769,4.9815238,49.7664234,43.2554745,83.9466421,17.6461902,25.0896593,55.7830245,20.6066946,34.5038852,11.8499701,3.3622236,17.6810712,13.1482611,39.9446494,26.5034364,4.8881723,4.9842206,50.1925355,43.853673,84.6285359,16.900777,25.5515261,55.5303717,19.356301,33.318223,11.3176186,3.5509217,18.6466626,12.6687117,39.5111386,27.3931624,4.8457628,4.9513643,49.8658318,43.8729875,85.067377,16.4707655,25.9050806,55.3240037,18.6035899,32.4459994,10.4806815,3.605111,18.361754,12.8353659,39.6243842 +935,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2867116,2.2311493,24.400982,18.1501367,49.0090664,14.252678,34.996107,65.3923442,35.9588555,44.0362163,24.0303386,3.1279815,14.4005763,14.650166,42.3417871,15.9477566,2.3740022,2.3404158,24.2906446,18.3524985,48.3689545,13.4261516,34.7066101,64.0652534,34.9284772,43.6196765,23.4209071,3.2826113,15.656566,14.8920888,41.8487259,15.8656958,2.0887362,2.127063,23.487816,17.6979507,49.0164183,12.7679937,33.9121588,64.774001,35.680118,43.4049203,23.3869143,2.5407215,16.8109786,15.6115248,41.9942207,15.2481945,1.8925987,1.9310286,22.3280851,16.8995268,49.5035845,12.8161724,33.9147378,65.6532569,35.764493,43.2276909,23.6386604,2.8478825,17.0571296,14.8175361,42.7622348,12.5806452,1.4283499,1.4828194,21.1931012,16.3444801,49.7008538,12.886622,32.9093878,65.060471,35.7463373,42.3570276,23.242089,2.8001045,17.4501621,14.2553314,43.2568428 +936,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5352654,1.5435259,20.1675548,14.7530816,81.5568397,12.5428695,32.5850858,66.9927033,36.6718791,40.6743192,24.1154713,6.2691381,15.054326,12.2808053,43.1184932,13.0239554,1.338928,1.3469759,20.6794767,15.2556746,81.6421275,12.1138442,32.6611292,68.4022462,37.516316,40.5541623,23.1825033,6.4639458,14.4729831,12.7844541,40.8511858,11.2378238,1.2686228,1.2765746,19.9395612,15.2568925,81.506473,11.5241955,33.0074215,68.4936869,37.43924,40.659004,22.8950978,6.1328671,13.1911088,11.8324981,39.530425,10.4219827,1.2333815,1.2410417,20.3018028,16.065288,81.5555053,12.0146329,31.7654343,68.9281286,37.7874668,41.6389403,23.3731606,6.4043603,12.6693925,12.0187964,39.3065517,10.3305009,1.2318883,1.2693227,20.3923562,16.0986444,80.8338601,12.5179437,32.7972475,68.3487476,37.0666417,41.8254474,22.9450785,6.6106728,11.9736502,12.6458784,40.0824861 +937,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9001561,4.0062588,44.7606334,38.2715532,84.2268169,16.0042015,24.5439983,56.3924965,25.1331162,38.0425246,15.8732512,4.1085697,13.8971275,10.1384436,36.3928861,23.9109231,3.8893418,3.9812624,45.1883068,38.8203698,84.2313501,16.0164204,25.0316774,56.2851706,24.2987416,36.9260671,15.0715173,4.0469273,14.1148825,10.43494,36.0084677,25.8686676,4.0036966,4.1054462,45.505072,39.204317,84.4600522,15.409189,25.9922087,55.4904199,23.3009738,36.3454047,14.4868548,4.0991914,14.850641,11.0002249,35.9979596,26.5752995,4.1612673,4.2522613,46.2984524,40.0121894,84.4579076,15.0507807,26.8047189,54.7366576,22.39655,35.6316402,14.0679538,3.9150041,14.7021917,10.9803463,36.0262785,27.0173839,4.0485498,4.1147889,46.6693604,40.371203,84.5248315,14.5404024,28.0602418,54.0820977,21.9855591,34.8651737,13.878702,3.9906233,14.7512613,10.9170293,35.8196392 +938,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0848805,2.1623215,28.775638,22.8874136,49.8217709,15.22785,35.7441446,67.9883408,36.9804279,50.8403619,29.8892571,3.5084843,13.1109949,12.5903227,37.0785952,18.2079346,2.3888739,2.4678012,29.0297664,22.3504611,49.677953,15.737903,35.0707458,67.6544873,35.4262421,52.6741503,31.0849754,3.4033989,13.8975412,13.0123463,36.5586278,20.8823775,2.3016769,2.3634154,30.4872651,22.7201601,48.7220335,16.343035,33.7629792,67.7532494,35.1823173,53.5621786,31.625813,3.8809714,14.9851611,13.7927052,35.0845389,17.9558209,2.5375851,2.6164065,31.6909487,23.8172276,49.2988063,15.1927617,32.4568928,64.7049263,33.1380184,52.3151725,30.1399273,3.9128344,15.0724997,13.8769388,35.7471216,18.8144427,2.6293275,2.706807,33.6401768,25.6091518,49.2216866,14.5919845,33.1489625,62.7139533,32.1288238,52.7401957,29.4372423,3.4211583,14.9951195,13.3196852,35.5985634 +939,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4712886,2.5016328,30.6373185,25.1091068,42.0591478,14.6193311,38.0803946,66.2135309,37.516808,49.698028,28.0663161,3.3116992,11.3805133,10.1333783,34.2260902,24.9204049,2.6978391,2.748431,30.7744123,25.3228796,42.4362855,14.0478196,38.0456568,66.3013925,37.0911908,49.2003664,28.5838183,3.4503934,11.704875,10.5481848,33.0495525,25.8098416,2.6250555,2.6556439,31.0712043,25.1299689,42.1623488,13.6693274,37.7581286,66.5855214,37.0565367,49.4731775,28.4125906,3.2685913,10.7274434,10.5385537,32.8973147,26.7025161,2.4262169,2.4573009,30.7480375,24.6025444,42.0307796,14.0559065,38.3928163,67.0433059,37.0117508,49.3106483,28.8966637,3.1419702,10.161459,9.8752941,32.9293042,26.2323851,2.5398977,2.6132478,30.8429165,24.4641717,41.9813461,14.121728,38.4202944,67.395152,36.4377663,49.3269639,29.4926466,3.2675093,10.378217,10.16569,33.4725757 +940,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2555419,2.3175369,28.4335679,21.2243477,60.7106223,15.2195899,30.2694952,68.2303116,33.3969843,44.2030001,23.9892562,3.7249347,12.5066259,9.973635,37.5997444,17.4382699,2.4452829,2.5684368,30.6587763,23.2504472,61.2102113,15.6195633,27.9463965,65.3585627,31.3816711,45.0477109,23.7837823,3.4729455,13.85764,10.8461103,37.3833516,20.1501736,2.8915165,3.0107711,33.4457347,25.7963644,61.4427609,15.9860262,27.2980747,64.9889642,30.9846445,46.1435207,23.5870394,3.2622072,13.0983239,10.6860454,35.9671508,22.0641549,3.3330636,3.4630763,36.5698586,28.9497563,61.992999,16.3770173,26.534597,64.0373364,29.9165258,46.0620124,22.7818379,3.3704069,12.928356,10.1786172,36.763443,22.9575322,4.0038998,4.1434412,38.6826018,30.6003531,62.388236,17.1245512,26.0376913,62.4752575,28.9149879,45.8269493,22.4576022,3.6349898,13.3886689,10.7654505,37.9647507 +941,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4.3758507,4.5119081,44.5924637,37.5286602,74.6567278,14.0601401,26.6362107,55.3085668,22.3715608,32.6612008,12.1801498,2.8649915,14.7671704,10.5459102,35.8538387,31.3947057,4.4079704,4.5419266,45.2832157,38.2001294,75.2285388,13.3694003,27.2189945,55.2778602,22.1563154,32.2761892,12.0339905,2.9347143,14.9306457,10.8473453,35.5476604,32.2017977,4.3121216,4.4341598,45.5361845,38.3483034,75.3337683,12.3569157,28.3768261,55.8374236,22.4939206,33.2428259,12.0519236,2.7269475,15.7209546,11.3658688,36.1983024,34.4529108,4.2229064,4.3501952,46.0325456,38.8802646,75.799387,11.8175066,28.6916098,56.4846906,22.2785881,33.1965215,11.7374328,2.7779066,16.7128209,11.3040245,36.258606,35.131199,4.1291957,4.3094398,45.5151892,38.4100147,76.0504864,11.1880472,29.0848553,56.4678842,22.2193495,33.3749757,11.8348792,2.8507506,17.0876079,11.2908815,36.9155212 +942,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.0192239,4.0841168,43.5913814,37.6929282,80.9492628,21.5034065,23.237837,58.8615976,22.6293192,37.9437093,14.5917752,5.666822,17.1664196,12.3811815,35.6567206,17.798109,4.0100812,4.0457651,45.2828436,39.1395024,81.7775777,20.8579599,24.8064986,58.6142753,22.2097628,37.5905148,14.1947621,5.4556681,17.4287139,12.2293222,35.4558498,19.0462552,4.2272918,4.2609886,46.5313976,40.7011522,82.4247748,20.5816992,25.7727964,58.3689526,21.2490426,36.9816217,13.5586827,5.4913191,17.8393312,12.2127847,35.3222261,20.1863577,4.2076396,4.2187248,47.4228591,41.4965798,82.5684441,19.6071181,26.8723013,57.5907725,20.5509025,35.7577711,13.1124715,5.4963056,17.8770423,12.8405702,36.4768656,21.1922851,4.5042247,4.5151673,48.0977214,42.3294475,83.2903098,19.1307523,28.0827221,57.030079,20.0376014,34.7994747,12.6942461,5.3258032,17.6281087,13.208959,36.753609 +943,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,4.9277577,5.0983745,53.1164999,44.8057606,59.3414745,9.3250278,35.4318708,60.9431169,26.2699233,42.9531924,21.5192128,4.6657375,17.6802152,15.2614236,38.0954263,30.158787,5.0019109,5.1462296,54.4081662,46.4030923,61.1999152,8.7615854,35.6579621,60.083654,26.9737012,42.026196,20.4998156,4.8683785,18.9947423,15.4599552,38.1109315,31.70308,5.287625,5.4043206,55.2800625,47.4202539,62.7350114,8.3496898,35.891307,59.1647087,26.6570155,41.2990405,20.5856871,4.5150495,18.3988939,15.6005947,38.9764006,32.5806323,5.4186425,5.5503079,56.1706916,48.2613297,63.6443429,8.3082296,35.1608887,58.2542738,26.4803862,40.3700727,19.4308282,4.264381,17.8522788,15.5916024,38.5643301,33.8682854,5.5213997,5.7308582,57.5482291,49.3364282,64.6896346,8.3330799,34.0838153,57.2491412,25.8299431,40.0023301,18.715298,3.9198832,17.7373273,14.7355433,37.304824 +944,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5406982,1.5952464,21.0347629,16.1546397,50.1949454,12.9440427,32.6315955,66.2669235,36.5120314,44.0048192,24.3938141,3.3193107,17.005943,14.3609381,42.6307978,15.7406693,1.4509084,1.544851,21.501451,16.4796438,50.9440394,13.0663577,31.9698183,65.5898633,35.4574507,44.1581146,24.168658,2.8952855,15.9367559,12.6681108,42.2222387,15.3613855,1.3596472,1.4317496,21.5705792,16.7202278,51.1135169,13.8705835,33.3275591,66.8671146,35.7233701,45.6212665,25.5731241,3.0035732,15.80506,12.3409228,41.8972733,15.8384374,1.4368481,1.5073376,21.3532491,16.3356713,51.1939338,14.2888722,33.0147802,67.4639665,35.4239961,45.0788692,26.3894907,2.7854009,14.9617281,12.1520113,42.5325459,18.0379228,1.5641358,1.596267,21.6053057,16.463385,51.514664,14.9466134,33.5470219,66.294504,34.6290078,45.5206742,26.3056188,2.8574209,14.6867478,11.1346008,41.1832905 +945,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5542763,2.5807096,33.7932221,27.4944554,48.7175215,14.3280446,39.9856407,64.9356958,37.0101378,46.4521705,28.254619,3.2761003,16.8735255,15.887565,38.1736416,25.9795602,2.6781538,2.7054605,33.8668022,27.5807672,48.9990406,14.4705967,39.3666616,64.9338071,36.7453443,46.0531197,28.11484,3.0191369,16.8923118,16.0505279,37.8504626,28.4090887,2.6261661,2.6261661,34.3597986,28.5162054,49.9699686,13.9993999,39.728566,64.5025583,36.5189514,45.5355555,26.8018233,2.9325857,16.2826138,15.2887665,36.801736,27.5083608,2.7521713,2.7521713,33.6521819,27.9117547,50.6089158,14.3434397,39.9065177,65.5577523,36.4808733,46.0221002,27.3075223,2.9020299,16.4139762,14.7488174,37.014089,25.202609,2.5397104,2.5207028,33.5660782,27.5403359,51.0476985,14.4773905,39.6711064,65.7813267,36.7201208,45.882526,26.9113174,2.908934,15.9709967,14.1405205,36.8928729 +946,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5874278,4.6024218,49.6503006,43.9795554,84.1070849,18.1139162,29.5837765,57.5459661,19.4969394,33.8738198,11.5551686,5.1455442,18.0689886,12.9498241,36.6222324,22.9737994,4.4914941,4.5279023,49.874919,43.9955116,84.0217129,17.2339288,30.0537358,57.5358303,19.4600961,33.0475741,10.9647109,5.053723,18.2864772,13.4851325,36.9385508,23.786174,4.5775894,4.6077995,49.6667656,44.0015504,84.2342414,16.7666926,30.3050243,57.546671,19.8659061,32.7767388,11.0307814,5.0091927,19.3253578,13.8932322,36.8740268,25.0593415,4.6972201,4.7436583,49.2827812,43.9586434,84.2251562,16.3689513,30.3204884,57.7031152,19.8622354,32.1197247,11.0064664,5.1869422,20.0616059,14.1857706,37.7395955,24.9208599,4.6057399,4.7049254,49.1737178,43.5246804,84.4519094,15.722973,30.2272008,57.1538269,19.5118158,31.8851332,10.9149546,5.0506469,19.5204081,13.9951348,37.5611436 +947,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.9476154,4.9445617,51.6434924,46.1427064,60.2681406,12.6717353,37.9942065,57.1047519,25.7181862,39.3293793,18.0448121,2.5990477,16.2336222,13.0147,40.0493238,35.2132005,4.9713829,4.9868513,52.7547029,47.070391,60.3431332,12.7110916,37.5976103,57.2117699,26.0220518,38.9756363,16.8350989,2.2278383,15.424019,12.7450982,39.7472021,35.6661129,5.0175125,5.0923929,53.8117429,48.4028841,60.7325883,12.1848726,37.3942193,56.726071,26.8374288,39.3541181,17.5723896,2.4276184,15.3811029,12.942782,40.9423705,35.8712808,5.2635698,5.3371597,54.6265764,49.1994375,60.8284258,12.1221637,36.3546717,55.3903387,26.3152952,38.4382751,17.5797544,2.2816745,15.9919862,12.5667781,39.709206,37.1795131,5.0902265,5.1327228,55.5850273,49.9141303,60.8981129,11.9785511,35.9930227,55.8798809,26.9018987,38.4818526,17.5048098,2.4257602,16.191705,12.9024412,39.4733477 +948,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5124193,2.5378104,30.4768518,24.7284377,44.5704934,19.8205826,27.0516189,65.4656025,31.4290897,46.4675579,22.6761719,3.5935439,13.562754,10.4220897,32.8398065,20.6586826,2.470583,2.5677842,31.1755284,25.6938324,44.3537686,18.8139572,28.4177413,65.9238787,31.515206,46.2535854,23.2317929,3.6417242,13.3865796,10.5015822,33.8232941,22.3214286,2.4725327,2.5702522,31.7492085,26.1961331,45.1863566,18.9778099,30.0198301,65.0922563,30.7713479,45.9687081,21.8365192,3.3819387,12.9362119,10.3832479,32.0452849,24.695122,2.6475301,2.7454194,32.2763288,26.058516,46.4237074,18.8123578,31.719257,65.2402389,30.3785096,46.4681827,21.4117599,3.5615748,12.5393605,9.8253482,33.4130558,26.4534884,2.6349112,2.7305259,33.585498,26.7329987,45.7630189,17.6107866,32.4977069,63.3924169,29.6219324,46.3839247,20.0904967,3.4099726,11.4303016,9.5805105,32.3709647 +949,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.1967997,1.2098262,18.2994247,12.9000357,55.8411069,7.9267626,36.0474384,66.0479877,39.4609157,44.9950948,28.1699212,4.4443216,12.0515328,10.3924632,40.4433293,7.9876523,1.3170899,1.324131,18.3373622,12.8922394,55.601437,7.7755954,35.6548665,66.1592333,39.6643382,45.3751117,28.3379151,4.4658861,12.1537822,10.4367388,40.5533303,8.8208498,1.383515,1.4172338,18.9425019,13.3729637,56.1480093,7.8675617,35.5962758,66.2953644,40.0290666,45.5585424,28.5739302,4.7119852,12.3376991,10.628581,40.3263056,8.74442,1.2642475,1.291185,19.2387679,13.7178268,55.6871302,7.8494861,35.575455,66.6740872,40.5348324,45.8296911,28.8631104,4.6098779,12.2019592,10.5114711,39.975015,8.4488901,1.2925404,1.3158101,19.3129348,13.7930882,55.3125191,8.0185031,35.3138345,66.7487519,40.3529225,44.8735518,28.531872,4.604384,11.953102,10.295087,39.7002437 +950,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,5.0231954,5.1670668,48.8599758,42.6005644,82.0046363,15.7417547,25.4145486,54.3113053,18.4059316,29.7700603,11.3088688,5.4278159,15.8025312,10.8224174,40.3056625,32.1122954,4.7761899,4.8990352,48.0816497,42.0588964,82.0645642,15.0283152,26.2368295,55.4168648,18.4722929,29.3976122,11.234543,5.8062329,16.1087934,10.8705818,40.7485888,32.5471658,4.4657486,4.5565754,47.2253852,41.3577496,81.8906327,14.2015309,26.514619,55.6842197,18.8421139,29.8596479,11.4035154,5.8362607,15.8831937,10.9501192,40.7256063,32.5256477,4.2223245,4.3122952,46.4814386,40.2450901,82.1698396,13.622943,26.7140354,56.3076635,19.1348841,29.8803298,11.3313448,5.8464254,15.9825566,10.9310693,40.4105968,32.1688878,3.9655751,4.0487171,44.724896,38.4748983,82.1704364,12.7668236,26.9673688,55.2920265,19.1253135,29.5174113,11.2832527,5.7718705,15.5409278,11.1589201,41.2122881 +951,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,6.752564,6.8561588,57.1774424,50.3802027,53.9765692,8.9113161,33.8038149,56.9328754,28.0984938,38.7805497,17.8181218,2.0887704,20.5347632,15.9834569,42.5248162,42.0948797,6.937563,7.12495,57.8598624,51.1472636,55.2753665,8.2699731,34.0204215,57.6653094,28.0138233,38.2623798,17.3919918,2.2906557,20.0796556,15.5126859,42.0995309,40.5649211,7.3074134,7.5089571,59.2427144,52.3945909,56.7693297,7.7938817,33.3852259,56.8930879,27.6048174,37.2935946,16.6679952,2.3483016,20.0363423,15.5426035,42.6205658,41.5148347,7.4156739,7.5896827,60.1654632,53.2958232,58.1380363,7.7474712,33.2301723,56.3116631,26.9823329,36.0484271,16.7203125,2.3793696,19.8087323,15.8113889,43.2676118,43.1147871,7.1598142,7.3090047,59.6250539,53.043365,59.0177591,7.9941456,32.607365,56.1723976,26.031098,35.639465,16.198931,2.3049271,20.1104564,15.9248603,43.5669716 +952,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2.6845333,2.7116357,30.9421962,24.7349461,70.3894998,16.7610038,24.0146919,62.4955027,28.3858627,46.9634305,20.8975179,2.911137,12.0901568,10.6743691,32.0850744,18.6685528,2.9432038,2.9804259,32.4398216,25.8174137,69.8965312,16.8638449,23.5299171,61.5177595,28.0745627,46.5654517,20.6331234,2.9748422,11.7424171,10.6563414,32.8051084,19.5557792,2.9754131,3.029591,33.7427557,26.9669047,70.6357378,16.8294586,23.1033186,61.4051045,27.7088967,45.3441364,19.4858363,2.9057031,11.8111621,10.7619505,33.3747051,20.7477641,3.1489306,3.211125,35.1971919,28.3449081,71.2329951,16.9695439,22.6084632,61.792212,28.1416108,43.2408153,18.381981,2.9601491,12.4500001,10.4534969,34.2689085,20.8428528,3.2989285,3.3838049,36.3138217,29.3858766,70.9089488,17.0683291,22.9872904,61.682451,28.4990913,42.447338,17.9736346,2.9808704,12.9752053,10.7638996,34.2823788 +953,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.4151544,1.4538998,19.6081491,14.0642182,55.645284,8.2422307,34.7127424,67.089285,39.8310819,44.5042632,28.301192,4.5072353,12.2049565,10.4289638,38.7100433,10.1824352,1.4446443,1.4953796,20.2698872,14.5369862,56.1280775,8.2936433,34.126761,67.0133276,39.5051084,43.9513044,27.5886258,4.3788848,12.0356242,10.4430998,38.4256952,11.1908571,1.7202305,1.7639226,21.3452504,15.4645842,55.9879513,8.6092085,33.0651089,66.9754913,39.3117715,43.6709527,26.8517506,4.2206637,12.0795112,10.4925763,38.3238331,12.9748943,1.7870939,1.8465842,22.79414,16.5524235,56.4755404,8.701472,32.2852842,67.220623,39.3306079,43.0488422,26.0609392,4.1486277,12.0659341,10.5153161,38.2548426,13.621991,1.9657387,2.035661,24.5379968,18.2275392,56.1756665,9.0492612,31.1811343,67.1465959,38.7921263,43.0285146,25.6074606,3.9672035,12.038954,10.5553656,37.932119 +954,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2.1160758,2.2114165,33.3830951,27.401274,55.0550048,11.0329063,36.5801866,66.074348,34.0288934,46.2690063,25.6967364,2.8535672,14.7611987,11.6108839,35.6821102,21.1436099,2.1435376,2.2414502,33.8817443,27.9814151,55.9896003,10.8382874,36.1328441,65.6756561,33.9482038,45.9997421,24.8914333,2.8284195,15.0995165,11.7316051,35.7288315,20.780852,2.2743499,2.3620844,35.4526212,29.4625113,56.3352664,10.8540162,35.9183683,66.0883709,33.7304933,45.784588,24.1847307,2.7383014,15.5282193,12.1408863,35.4798623,21.3779573,2.4089295,2.4945797,36.434972,30.3507839,56.7194985,11.1962552,35.3101601,66.0313712,33.2779953,45.3380566,23.3563121,2.7692958,15.7623208,12.523149,35.3545116,21.9927491,2.6250315,2.7312708,37.7139812,31.6026581,57.3071751,11.5859714,34.4861917,66.3965894,33.326744,45.7114876,23.0631937,2.8919639,16.3069436,12.8883652,35.2387547 +955,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3.7833942,3.8465101,42.8012976,37.0585125,82.8666337,12.109272,26.7007745,55.9596256,19.0403806,29.7704637,11.5459131,6.0702466,15.3559132,10.8333319,41.1815976,31.4711928,3.3462582,3.4323898,40.6531039,35.1533685,82.9196935,11.9211432,27.6181471,57.5859301,20.3410356,29.9274984,12.0166546,6.3507012,14.9157297,10.7263493,40.7333658,31.3530259,3.1686472,3.2633521,38.5891611,33.3018676,82.7620385,12.0987313,28.1506801,57.5479497,20.6164413,30.2876727,12.3150736,6.6164411,15.1506524,10.7977182,39.8675762,30.2677887,2.9619029,3.0658097,36.4861234,31.3146491,82.7394515,12.3769136,28.3388953,58.1385702,20.854204,30.9543721,12.9521475,6.3578211,14.396997,10.7865786,38.2078139,29.4265123,2.8161589,2.9158569,35.0701198,29.9010225,83.1658979,12.7586194,28.1609186,58.3263347,21.0961641,30.9083264,12.4614567,6.7143282,13.8529436,10.0589988,38.4684157 +956,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7399893,3.7587485,32.6772836,25.318369,52.0045924,20.0626145,25.6577546,62.1171351,29.4352487,48.4929199,26.2522882,2.6527408,13.8061747,10.9936711,36.7898953,25.7778624,4.0803317,4.138336,34.7308649,26.6124291,52.3642516,20.075462,26.2103731,61.8435473,29.1161183,47.0337386,25.6053807,2.6432051,14.1545938,11.2753314,36.4189462,28.2961271,4.1077463,4.151687,36.0760341,28.1916697,53.1942762,20.5570675,26.5260966,62.8858094,29.5016098,45.0732348,23.8601972,2.2990349,13.7648849,10.9962227,36.0140558,30.5561025,4.301988,4.3442628,37.6265279,29.8536546,52.99626,20.6449388,25.9842005,63.4282085,29.6990628,44.4089032,22.9382475,2.1730603,13.4740368,11.5358435,35.9024998,32.0816049,4.2756844,4.2875794,38.4032512,30.9082561,53.83068,20.1512251,26.0828548,62.9962122,29.0546897,42.4448385,22.2160574,2.2735758,14.1466107,11.8349918,37.418454 +957,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2.0631733,2.0776842,26.9289745,21.9812527,88.6307307,12.0496114,19.9209886,56.6479929,22.6749115,43.5779185,15.9029234,4.1647661,14.8107133,12.3731309,31.8907684,11.8563491,2.1701214,2.1908963,27.9328311,23.2614826,88.5570724,12.5297786,18.8239096,54.6979227,21.7586198,41.710457,14.925524,4.3692344,14.82207,12.1903491,31.6950217,13.0502858,2.2979444,2.343043,28.7084169,23.7638859,88.6428819,12.4896019,18.4816612,54.335215,21.4554839,40.0523438,13.9371537,4.4293025,14.4742488,11.7239871,31.2368084,14.3739341,2.5060035,2.5674436,29.6634632,24.4903562,88.4996121,12.1809635,18.4476462,53.9751664,21.9170967,37.2224554,12.8568561,4.3120371,14.2433919,11.8727718,31.0938901,15.9948466,2.7010508,2.8002862,31.0805532,25.7535079,88.9308445,11.8517829,18.5957429,54.9061076,22.4931004,35.9087154,12.1915446,4.357599,14.3106825,12.2477081,32.1192017 +958,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4025567,1.4962595,23.6138058,18.4182163,85.7273209,12.2466325,26.8441469,65.1189407,30.5713409,41.8276488,19.5696763,2.9972067,14.3470626,12.0577417,45.8924214,16.5158521,1.4508694,1.5124191,23.2955249,17.9803319,85.8495469,11.9748382,25.5623972,62.1374008,29.5781807,42.5876584,19.5679125,3.3491586,14.8813332,12.4676751,45.5001967,16.8085321,1.5642501,1.6863683,24.1907927,18.5258587,86.2569383,12.1926458,23.0997749,61.0613459,29.219036,43.2965763,19.3787606,3.1782442,15.2499533,12.0385571,44.2378233,19.1079897,1.8517562,2.0353627,25.4550276,19.5389704,86.0416489,12.7745713,22.8627234,60.2479889,28.2290185,43.5559854,19.7451375,3.113781,15.2050972,11.5147486,41.5855122,20.3999557,2.3130356,2.4949687,26.5835101,20.4978555,86.7436152,13.1567895,22.0898121,58.2830046,27.4698419,42.9131778,19.2746978,3.3533266,16.1074863,11.0865315,39.1495697 +959,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2906487,2.3917211,25.6471918,18.7778547,53.5711464,12.2418712,33.113877,68.6769691,34.1770486,47.0386664,27.4877458,4.0391243,14.7154826,12.6967507,40.8137284,17.3716065,2.4931177,2.5765771,26.6863376,20.0208697,54.518064,12.7812077,30.7168537,66.7774741,32.6695014,47.6107833,27.1467728,4.0748021,14.5166905,12.418281,40.95904,19.4822941,2.8495491,2.9450225,29.3894051,22.5599437,54.4751504,13.0679714,29.5048799,64.5718668,31.1029644,47.6777593,26.4799176,3.8855223,13.8751776,11.7595776,40.9106799,22.5537047,3.2976465,3.3739097,33.7073608,26.6290213,54.201512,13.9163704,29.1888208,64.8968726,30.5517325,47.7781122,26.6901707,4.2022829,13.629828,11.3092357,40.1516959,23.4607156,3.9295355,4.0093099,36.4543555,28.9579301,54.0274797,13.7694918,28.2669898,63.0078505,29.9762655,47.5895978,26.0449509,4.1663346,14.4132759,11.4700226,41.455674 +960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0820354,1.1874358,17.0024889,13.1065186,83.9114014,10.584173,29.1918527,68.3053884,32.2123634,44.8556976,19.9574574,4.8544894,14.9281587,12.3077721,34.8363886,9.2592021,0.9806097,1.1032266,16.4645438,12.5080921,83.7284719,10.0318399,29.2479041,68.546276,33.3201383,45.3246533,19.9582005,4.7721146,15.0118063,13.5356071,34.885568,8.4015911,0.9905753,1.1734294,16.3134536,12.6143553,83.8065361,9.4686746,28.849354,67.7287484,32.8271062,45.4019306,19.9957742,4.7689895,14.8066908,13.1487663,34.5540244,8.6693059,1.1099096,1.2129295,16.4929395,12.614745,84.1348594,9.4709209,28.4161957,67.0708985,32.3753691,45.6576396,20.3278333,4.7892249,14.229092,13.3598162,34.9999261,7.9917574,1.0774495,1.1811175,17.0164053,13.2396505,84.5737521,9.158253,27.9492593,67.4600975,31.896045,45.1951488,20.3132523,4.9119949,13.8413071,12.0487697,34.9184685 +961,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.9654779,5.0783128,49.9234538,44.167177,84.990285,15.2571252,26.5092274,56.0994683,18.4078824,32.1707851,10.7131686,3.518924,18.0486284,12.3830318,38.6923563,30.5995004,4.7791575,4.8804956,49.215749,43.293854,85.506999,14.7804878,27.1785597,56.1821769,18.2012496,31.4534693,10.4077606,3.4692535,18.385214,12.2972096,38.081205,31.0508183,4.5290309,4.6850604,49.5880026,43.7870798,86.0501567,14.3070788,27.3445378,56.4201681,17.6302521,31.0084034,9.7983193,3.6470588,18.3366733,11.7312834,37.4156545,32.0333041,4.2231858,4.4066256,49.0411437,43.2880056,86.2278761,13.9424763,28.0262691,56.6737664,17.6251331,30.4756834,10.0993965,3.6386226,17.4808095,11.1924686,37.6582278,32.0571956,4.2064046,4.4127012,48.2922201,42.5616698,86.5740741,13.6747219,27.7713178,56.6472868,17.6937984,30.6782946,10.1356589,3.5077519,17.2748447,11.2015504,37.724785 +962,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.3655864,4.4914131,40.9744293,32.8707114,63.375722,17.5573957,25.4267078,61.8440308,28.0610758,45.2792663,21.4856228,3.5932706,13.7571608,11.0753518,38.6797273,26.0805585,4.6563836,4.7574305,42.3950632,34.3725354,64.1024708,17.5146921,24.3610595,60.102603,27.802294,44.3650998,20.6378816,3.5520368,13.5251018,10.7960712,38.7377436,26.977447,4.6749972,4.76206,43.6043754,35.7155762,64.5192546,16.9931813,24.7172357,59.779619,27.6032245,42.9114727,19.8420164,3.5004054,13.3713573,10.2859754,38.4325242,27.7080356,4.9284012,5.0018548,44.3677873,36.7209401,64.8090261,16.91465,24.7200229,60.5169454,27.7434412,40.9947982,18.8036582,3.5741207,13.2996186,10.0299507,38.2787023,27.683048,4.9694957,5.0393282,44.7396052,37.204472,65.4314771,16.5391528,24.3904501,60.1126844,26.6622551,39.0562395,17.8149751,3.5371107,13.8092569,10.0854693,38.619061 +963,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4170435,2.4907695,30.5106138,24.3941084,42.1744965,14.4436308,39.1676961,67.8855457,36.8504944,50.0447158,29.9668017,3.1183901,10.5303728,10.0382155,33.3733535,27.0909091,2.2877365,2.3421634,30.7329775,24.2496787,42.4240667,14.7599875,38.7249174,67.3941525,36.8460191,50.5409702,29.2547822,2.9901564,10.575876,10.4501639,34.4314176,28.7594093,2.1127696,2.1236455,30.2546517,24.1336663,41.7885238,14.2502024,39.3086133,67.0959359,36.7687547,50.7061065,28.7029185,3.1328641,10.655188,10.0673203,33.9130906,26.9927634,2.0223672,2.0223672,30.6310352,24.8824289,41.5326069,14.6973585,39.2600875,67.8213412,37.4465146,50.9084177,29.001511,3.0993246,10.8695204,10.0010793,34.2775544,24.4107826,2.2542532,2.2542532,30.7350246,24.9528563,41.6386528,14.7886907,40.5964662,67.8924681,37.9118551,50.860209,29.5456513,3.1344323,11.9113816,10.521982,34.1061737 +964,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9215164,4.1165519,47.25039,41.400156,86.3389121,13.1892106,28.6602487,56.5383073,18.3112716,31.1873245,9.8074609,3.7103891,16.5725806,11.7149758,38.1087662,32.3053589,3.8270474,4.0347308,47.3104221,41.4456481,86.18,12.8414264,30.0115207,57.469278,19.7196621,31.8164363,10.6182796,3.7826421,17.3622047,12.3820755,39.4528152,32.5592885,3.7286788,3.8794282,45.3201048,39.4795957,86.2945178,12.7477134,30.7558812,57.4816815,20.6903201,31.8357115,10.8947165,3.5672966,17.9968077,13.1075697,40.0080257,31.3715455,3.6861107,3.8475388,44.7126013,38.4487841,86.5633582,12.8651685,30.7007576,57.405303,21.3068182,32.2916667,10.7386364,3.3901515,17.0856245,12.9803922,40.370955,32.7860697,3.3787736,3.5206901,43.021978,37.014652,85.8848865,12.686846,30.0415408,57.8738671,22.1487915,32.6850453,11.5747734,3.0777946,16.8754894,13.3984375,40.4330709 +965,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2.3160583,2.4041642,26.0902439,19.5830445,56.4530553,9.6323985,29.4936248,66.112827,37.6157126,43.5937506,25.8258167,4.1101083,12.0805327,10.7099847,38.0249082,18.1061721,2.5827964,2.6916751,27.9692184,21.1149798,57.4649427,10.0688239,27.8998416,64.0787495,36.0087244,45.0510522,25.9552841,4.0495795,11.9901656,10.5904847,38.6500377,19.453459,2.8737065,2.9839524,30.1967967,22.9412096,57.2953901,10.1475414,26.3880929,62.5351798,35.0262514,45.6715426,25.5439949,3.8782528,11.9829865,10.3399545,39.3042287,20.835381,3.2587317,3.3551156,32.8698323,25.37266,57.9802912,10.3517254,25.6300172,61.5617474,34.0845381,45.7095105,25.4584124,3.789173,12.9565996,10.7710898,39.7102588,22.4988585,3.5555177,3.6620583,35.3637827,27.6772632,58.6314976,10.5086108,25.1256218,60.8584524,33.4675977,45.1619765,24.9783732,3.8591416,13.2461657,10.8096211,40.3317414 +966,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.3933645,1.4008466,22.5294559,18.4587554,72.6123002,9.3180617,34.3161204,65.4263318,29.5851944,41.3786122,21.8720356,12.9117546,13.4894558,11.6333226,38.7386146,9.8993403,1.2560671,1.2741173,22.7285012,18.4910992,73.6132464,9.2096389,34.4263427,65.2040037,29.949345,41.7511005,22.1590929,13.2324771,13.8348181,11.6722305,38.8484137,11.0768244,1.1990738,1.2136403,23.0447436,18.6495779,75.2311728,9.0819043,34.1546462,65.5248423,29.5472767,41.1658673,21.708068,13.2411883,14.1322144,11.5332271,38.5996191,11.3448345,1.201812,1.2198148,23.8623224,19.298806,76.9326769,9.1994386,33.6451613,65.3741961,28.9612889,41.1677422,21.4645157,13.2709708,14.1521903,11.5344052,38.7871593,11.5841569,1.2739773,1.2776023,24.0184012,19.4539853,78.461647,9.1885576,32.9841272,64.9578453,28.7812993,40.9310674,20.8591594,13.1477833,14.2477204,11.6223047,38.556836 +967,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8432317,2.913127,35.6571321,28.8843111,46.4997112,17.539779,34.6024902,63.2666524,31.0809401,45.7406111,19.7789833,2.989323,11.2572857,9.1132512,30.8591434,29.7927097,3.3568604,3.3950357,38.923188,32.2461389,48.0229779,16.2231927,34.3802649,61.2960275,32.0966134,43.6777354,20.1875438,2.8139889,11.6685627,10.9310337,30.7146866,29.4810988,3.4601384,3.4733084,41.6011847,34.9449267,48.0402186,15.4298837,34.2381408,61.1412816,31.8072379,42.9890767,19.0841126,2.6336483,12.2147618,11.7967564,31.8312905,30.365265,3.6887411,3.6645093,42.1824366,35.5159206,47.8138203,15.1449865,33.9330564,60.230253,31.7741813,43.6034955,18.8242162,2.9974988,11.7867647,11.6325829,32.4802376,27.8723097,3.826271,3.8002822,44.2747249,37.4065288,48.6041471,14.4363721,34.5526245,60.368375,31.5400162,43.8449911,20.0938256,3.0549559,12.1279504,12.2929565,33.0840456 +968,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.8049712,4.8387294,39.1470788,31.8411324,54.8918953,13.6489049,27.7587975,62.2226477,29.5621541,46.8014569,25.4344919,4.2278278,14.026313,12.194254,41.667221,28.0809782,5.3747566,5.4065894,41.8209178,34.3916195,55.3064165,14.2943102,27.675516,60.8929104,28.9633163,46.3863165,24.5696721,3.9959295,13.9857357,12.807286,42.7827151,29.8751715,5.2776304,5.3394694,43.6787131,36.2093661,56.2140236,14.7790287,26.9999916,60.1107994,28.4834531,44.9479586,23.8312128,3.689069,13.6709822,12.6143208,41.3780131,30.4379346,5.6086395,5.6959292,45.646646,38.1941314,56.8246501,14.5484068,27.0255917,60.5415954,28.1760495,43.9874399,22.2861979,3.4182078,13.5242906,12.1464801,41.6789156,31.1244703,5.6647766,5.7433818,46.6939697,39.173434,57.5200534,14.5696019,27.7357623,60.2810908,28.1043356,42.6900697,21.6634134,3.6634764,13.9332859,12.6216951,41.7547816 +969,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.7061053,4.8044743,48.5812907,43.1452075,84.6871048,14.9849232,30.1155334,57.0234116,19.2611478,31.6661229,10.261471,4.7278708,19.9085062,13.506077,37.3157289,26.2997602,4.5223864,4.6168963,47.5501994,42.0201126,85.0743993,14.5441363,30.3592209,58.63026,19.4071129,31.5858245,10.4702019,5.0087507,19.6608869,12.8562755,37.2754831,26.4333295,4.2756883,4.3433737,46.0251835,40.5633755,84.9408418,14.6668684,29.6474251,57.9400019,19.3910241,31.8035972,10.5332214,5.2884492,18.594273,12.7590063,38.0000513,26.6823306,4.154518,4.2358834,44.8959083,39.4881738,85.3632311,14.1758542,29.5127616,58.5119052,20.0322717,32.447874,10.9920656,5.3859582,18.4411439,12.4706353,38.3136894,26.4504829,3.9420137,4.0347964,43.5418638,38.0973425,85.5419634,13.8396926,29.1898908,58.3064329,19.8561642,32.5652698,11.2268969,5.591413,17.3305176,12.3145108,38.0768111 +970,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2.9325595,3.0335352,39.2307812,32.9864397,57.4282235,11.9758122,32.7354721,65.9344251,32.4264664,46.5874031,23.3575011,2.9222101,16.4742321,13.5240364,35.2408077,23.0994172,3.1635806,3.2672459,40.8782874,34.5499854,58.0564117,12.2410129,31.391179,64.1841585,30.5142346,48.0401526,23.6579972,2.9298432,15.7972313,13.2093166,35.0997893,23.6634313,3.4024804,3.4755478,42.1994937,35.8797975,58.251965,12.5891431,30.1705154,62.5306848,29.1758375,48.9665668,23.4401363,2.9905704,15.8204752,13.2923004,35.6202239,23.8901096,3.5888925,3.6616769,44.2520227,37.7992426,58.6990108,12.6527712,29.781178,61.6683552,28.2001173,49.1209402,23.2924479,2.8143187,16.2165741,13.3255325,35.8077901,25.0260843,3.8723759,3.9468837,45.2731963,38.9827596,59.8527612,12.8048722,28.3831207,60.521046,27.3584694,48.9628865,22.5228171,2.8801694,16.1310963,13.2950267,35.7253013 +971,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5636577,2.5364337,33.741857,27.761256,51.9903833,15.0616226,39.2617722,65.4178182,36.83848,46.281332,27.1171161,3.1337,15.8206281,13.4821839,36.6969391,24.9238264,2.5787074,2.57495,33.8246399,28.0344698,52.8757301,15.3252693,37.868694,65.5500377,36.6280959,45.8643402,26.2890615,3.1017321,15.0335749,12.542086,36.6534632,23.153904,2.42899,2.4195833,33.4763949,27.7517003,53.1588328,15.2220888,37.3951152,65.742497,35.9345669,45.780359,25.4937532,3.1511962,15.0410728,12.2667295,36.431288,22.901378,2.3565922,2.3240822,34.0840668,28.4593795,52.8606257,15.6650354,36.8002502,66.0635264,35.7589377,46.3290786,25.11076,3.0851247,14.7536452,12.3161585,37.2956805,21.1724644,2.3875636,2.3316576,33.7679599,28.2538052,52.7474656,16.5428701,35.2088177,67.0104414,35.4438877,46.6971256,25.5223077,3.0417692,14.7744993,12.2876589,37.5600192 +972,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2.9066021,3.0319492,30.8658396,24.1282577,57.2257241,19.8325773,24.6365638,62.8054452,31.5032468,46.0098911,24.8840025,2.8611148,13.4993968,11.0529625,34.5290158,18.2189349,3.0810399,3.2040201,33.1695687,26.347564,58.3209621,19.6222654,23.8646394,62.2766002,30.77938,44.8725469,23.5716421,2.5930226,13.1916226,10.8746453,34.3860663,20.7646027,3.2946315,3.4275911,34.6061722,27.7408206,59.0534516,18.9721662,23.6834788,61.4425799,30.6302494,44.1036338,22.6750702,2.4229655,13.1032645,11.1516954,35.5965962,23.4087487,3.4950706,3.6267975,36.2231863,29.302863,59.6043811,18.7913197,23.3565898,61.4032722,30.4132032,41.8164687,21.1832584,2.4013914,13.1178733,11.3376865,36.0516211,24.8317397,3.5602326,3.7031636,37.3419402,30.3363774,60.885472,18.0308588,23.2900374,60.6972462,29.8117729,39.8859932,19.8966061,2.4787897,13.6754504,11.1619228,35.9772596 +973,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7847494,1.8267699,30.3053473,25.3504771,59.6840678,8.9965283,29.4672769,67.4293946,30.477786,47.019314,21.7595927,2.8074374,15.076553,13.222481,32.9887849,17.0104815,1.7207424,1.7785373,30.9237279,25.8292788,60.0875327,9.1557065,28.4830284,65.5978733,28.6140431,48.1165956,21.7350788,2.7268645,14.6664155,13.2390927,33.1228255,16.4294139,1.7786114,1.8445716,32.025474,26.6297134,60.1999317,9.2791196,27.0124639,63.9667501,27.8689999,49.4504213,21.8027981,2.7476336,14.4178194,13.258273,33.433762,16.2074192,1.988358,2.0251694,33.1406119,27.4145718,60.1378249,9.6240706,26.1788504,62.4342231,26.9139547,49.8542554,21.9625034,2.8779372,14.0159295,13.0548128,32.8562119,17.9813869,2.324774,2.3582742,34.5523393,28.6409583,60.5249472,9.7958719,25.7513255,60.975223,26.5401343,50.0406854,22.1881663,3.0803638,14.364807,13.1357691,33.2107515 +974,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3016037,2.2448449,34.8781383,29.5026065,52.1651148,17.1455474,33.2406214,66.7328999,34.9880561,47.6701435,25.9598081,3.0844543,14.9783258,12.2897349,37.2886164,19.7055206,2.5649197,2.5668851,35.2816489,29.9476516,52.6562717,17.4132734,32.0371719,64.7159145,32.7179832,49.7119666,26.4859916,2.9457956,15.2002051,12.6912882,37.8385733,20.4762338,2.5842565,2.5861749,36.0968976,30.5454049,53.1494902,17.2348684,30.4320054,64.2254817,31.7356858,50.1150408,25.7796558,2.7223914,14.0826896,12.5000026,36.5885601,19.6038471,2.802891,2.7991279,36.9627138,31.2633605,52.4446011,17.5722568,30.1149135,63.5648402,31.6137966,51.2990293,26.0429757,2.8103942,14.1590838,12.398596,35.939905,19.0945088,3.0608975,3.0623589,38.3122525,32.4569299,52.0538824,17.650594,29.3995841,62.2144329,30.5421257,51.4706345,25.6319885,2.4914954,13.8145052,12.33865,35.4686301 +975,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,6.2517821,6.3964597,49.0528289,41.9820957,83.6640696,24.5892489,26.3727976,56.5133932,19.6040693,30.7153152,11.430343,3.0013136,18.26168,16.0760014,41.7514293,27.1101363,6.1465436,6.4100127,47.652191,41.6877118,84.3124074,22.9540659,25.7087076,56.3788193,19.0076547,29.3170659,10.5024549,2.7706543,17.4072359,15.5474294,39.9254961,28.8849474,6.6554027,7.0239567,47.9918794,41.9677855,85.2653382,23.5648712,24.9327278,54.6370794,19.6908031,27.889816,11.4918574,3.0242261,19.6698427,15.7693452,40.5370671,31.5330179,6.1854367,6.4421792,46.9056197,40.8577892,86.184185,22.1679713,25.1752827,54.2075566,19.4249998,28.962287,11.8513417,3.1557201,19.7511288,15.5028918,39.4149493,32.0651967,5.9447549,6.2172378,45.5967659,40.22363,85.211239,21.7165442,24.999944,54.2536734,19.4776352,29.477762,12.0149285,3.5075072,21.2346252,15.7012825,41.9696632 +976,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0219417,1.0877044,17.4626462,13.6005172,83.79588,9.2253705,28.8216507,67.884013,32.5378781,45.967011,20.8826349,4.8774765,14.2671394,12.1962083,35.1480373,10.1922097,1.0084903,1.069161,17.3958817,13.062834,84.0550235,9.2168281,28.7656681,67.6088001,31.7435816,46.1588343,20.95399,4.6396108,14.7269569,12.3993142,35.8363499,9.5701929,0.9040288,0.9575213,17.0405758,12.5952025,83.6738113,9.424139,28.8875655,67.9766368,32.1519869,47.1434251,21.5851727,4.7465439,15.1152382,13.3422038,35.5743417,8.8233426,1.0204021,1.0663264,17.3524113,13.0714493,83.8881241,9.6929525,29.4279661,68.7208531,31.4050015,47.6861554,21.4767327,4.6907763,15.4417633,12.2922757,35.1983544,9.4228776,0.9665871,0.9536026,17.1128559,12.9118581,83.4948496,10.2876262,28.9847973,68.6432899,31.606275,47.9192933,21.660513,4.3487358,15.191429,12.3829273,35.806311 +977,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.9287786,6.0440805,47.7442461,39.9341794,58.2967005,14.181569,27.918963,59.1133444,27.430571,41.6160707,20.6132391,3.2192857,15.0035602,13.4546777,42.4801433,33.1890852,5.5988683,5.7273838,48.5079414,41.1420963,59.8666407,14.2003556,28.241441,58.9827398,26.9873687,40.8157296,20.2291216,3.1711726,14.4244472,13.1389493,41.8494439,34.1811127,5.2221918,5.3403924,48.9075518,41.5788385,60.1535013,14.312186,29.1268992,58.6558761,26.6329458,40.3846837,19.9880356,2.8960453,13.9678949,12.3722718,41.5618412,34.2235577,5.0460324,5.2055687,48.7884141,41.4047531,60.7077487,13.7167091,29.847636,58.279595,26.5234135,39.2589022,19.2816499,2.9074104,13.4191168,11.2297686,40.4263519,34.1536219,5.1851158,5.3646543,48.6963863,41.3366418,60.8098412,12.6655146,31.4138696,58.5223157,26.3111347,38.8908349,18.4089385,2.8171545,13.8646294,11.1880662,42.1306971 +978,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2.5994442,2.8187498,28.0454169,22.2171232,87.097015,12.9466262,21.023945,56.9526178,27.2084364,42.8031129,19.0348587,3.2068492,16.7896423,11.2078342,39.5110767,21.5522151,2.7016121,2.8473697,29.9873219,24.2486046,87.1514999,12.9496107,20.3632946,57.0516298,27.1647267,43.1955484,18.4889537,3.2546217,16.5661374,11.8137115,38.8136991,20.9082959,2.8310486,2.9726839,30.2581923,24.2674138,87.482399,14.0341812,20.0067183,56.9026933,27.7069533,42.7533143,18.0692194,3.1478179,16.0089308,12.311667,37.7320701,18.8241949,3.0722869,3.2755714,31.0801131,25.2991097,88.0879044,14.1405633,19.4548736,57.4592752,27.4651099,40.479938,16.7911475,3.1119092,15.2584806,11.8158404,37.2010305,19.700478,3.4116491,3.56063,31.956918,26.3843859,87.9618349,14.8641402,20.2049955,57.8783334,27.0853618,39.6370217,16.4439741,3.1379043,15.8808317,12.9336793,37.2993955 +979,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.0987144,5.2601532,48.9853649,41.6999346,61.9689844,12.1792702,32.3298682,58.086914,26.4873531,37.4598993,18.3648067,3.0103314,14.4964031,11.3472809,41.6361219,34.2741557,5.3698735,5.5743817,49.3299014,41.666667,62.3764476,11.7870096,33.2906496,58.5923071,25.7586781,37.6416597,17.8976314,2.7605112,14.9887288,11.1738325,42.0550239,35.2703885,5.2987176,5.4684933,48.9813201,40.9337821,63.2314776,11.1921772,33.2074493,59.241268,26.1596549,37.9899128,18.2128845,3.002516,15.5449931,11.3104109,43.3730554,35.1027101,5.5546755,5.7344307,48.9068038,40.7706035,63.3004187,10.8695743,33.4288673,59.422771,26.4334873,37.404417,18.1766156,3.1536683,15.8287634,11.045614,43.3759005,35.2219365,5.4828863,5.7326575,48.8017038,40.2976469,63.9771517,10.3819617,33.3949569,59.6177515,26.0378089,36.8886006,18.3929337,3.1031626,17.115233,11.9007639,43.9368068 +980,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6530747,1.7420093,24.0171496,19.0431291,59.0803346,8.7365412,29.9949594,66.9975518,34.4403375,40.2061367,21.8256069,3.7316061,9.8020734,8.7905201,31.2258994,14.7848924,1.6585981,1.7386488,23.6841216,18.8421023,58.9627691,8.8682345,29.3786935,66.9551264,35.0229338,40.25835,22.3862727,3.7862227,10.1231507,9.1055264,31.3256078,14.0738311,1.5896625,1.7407708,24.2990386,19.147364,59.5123463,8.6287211,29.6575391,65.9703563,34.8143063,40.0554308,22.2343854,3.6845737,10.7111536,9.3416378,32.5674664,13.7752965,1.7196167,1.884425,23.7190233,18.3483618,59.6693553,8.7335688,29.3416988,66.7552413,35.3482878,40.2408201,22.057597,3.7821888,11.3704566,9.266125,33.0010085,13.3351268,1.8757509,2.0549649,23.9748702,18.1478149,59.5450202,8.836591,29.1230626,67.0535236,35.8708974,40.577721,22.7546123,3.9439932,11.7448272,9.133003,33.6709931 +981,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5902556,1.6219188,22.636909,17.0333036,51.2432616,14.9065524,33.7746245,66.2080079,34.7700731,45.0030088,27.3416987,2.9504809,13.9873743,11.0142204,40.1811879,23.0484109,1.6112927,1.6269492,23.3059858,17.6173257,51.0284851,15.0181801,35.3034635,67.8362485,34.9717523,46.9185418,28.1481173,3.0537571,13.4477883,10.5513494,39.7044753,20.3301358,1.6780126,1.7681805,23.5902143,17.4879145,51.7433561,15.9243596,34.4138141,67.8392558,35.1675214,46.4830769,27.06847,2.8410302,12.6694555,9.623251,40.0581815,20.4025874,1.5289346,1.6262602,24.064481,17.8382186,51.1343896,16.4817043,34.0255748,69.6563722,35.1954695,47.0318144,27.372487,2.9183661,13.5611508,11.1880329,41.5889866,20.7072263,1.5469417,1.6777219,23.6349497,17.5457268,50.6327124,16.6853795,33.5868187,69.7962723,35.5020532,47.3302332,26.2939004,3.1978268,14.5581538,12.302232,41.5544553 +982,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,6.4004423,6.5660069,48.0318284,42.492478,85.101409,22.1325072,25.7374339,54.7934861,19.1004184,29.5724292,12.1681935,3.6136066,20.3365469,15.2308864,40.9509275,32.5542454,5.82687,5.9819584,46.190194,40.8840783,85.2305533,23.1242475,25.6181211,56.6620535,19.9863323,29.73918,12.15665,3.6401474,19.9722065,14.5071444,39.0754837,33.9528237,4.7051756,4.8572456,43.7168109,39.087117,87.3588439,22.1553243,25.9837285,57.5982507,19.7422089,31.1398224,11.465389,4.0027572,18.4427741,12.8100232,38.4929191,32.0600606,4.6979698,4.7292202,44.8157546,39.3586543,87.4456726,23.1354607,26.9230796,58.25166,20.3497239,31.8183058,11.9580975,4.1259174,18.2204934,12.8532163,39.5180412,32.2952886,3.8903028,3.8495026,44.3181203,38.8367453,88.4234315,23.405745,25.9642006,59.4352539,19.6281629,32.024959,11.2258433,3.650188,14.4988022,12.0271571,39.2071225 +983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.992187,3.0688237,34.3778014,25.8734063,49.8309449,13.757526,32.33704,60.7536475,31.8249449,52.0624245,28.7950671,4.1741444,15.2342575,13.6850092,35.9480479,18.5995496,3.4274379,3.5558463,34.2588925,26.0549719,49.5491349,13.9948332,33.2687285,59.9909991,31.5748192,52.1224251,28.1290659,3.6521695,15.0750499,13.4275017,37.1666122,19.8750554,3.3880584,3.4555451,35.9540772,27.9239834,49.547808,14.5745673,32.3289893,60.1568227,32.0235402,51.0744744,27.1168877,3.8326581,14.2976028,12.1149131,35.7343213,21.4985656,3.2516495,3.3173161,37.3483686,29.4668109,50.6440792,14.7108902,31.0237012,59.4716785,31.5968891,48.2886344,24.125413,3.8107308,13.6096706,11.3368728,35.8201215,21.7216999,3.4215795,3.4861467,37.1778223,29.8863407,51.1984223,14.7599669,30.9682058,57.8616214,31.8258445,46.7515095,22.6011115,3.6417018,12.6862919,10.429676,35.989554 +984,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.2623418,5.504716,48.5575098,40.3313913,64.6346828,9.555829,33.3126656,59.9958604,25.5885928,36.5344723,18.8971436,3.0359331,18.1012735,12.8692037,44.2967257,34.6674924,5.385592,5.6390352,48.835109,40.7125242,64.4646446,9.3840032,33.1933304,59.7316939,25.5681036,36.1412304,19.0827275,2.8889381,17.1622147,12.4880232,43.3528735,37.3556682,5.2575511,5.4715233,48.8051159,40.6935777,64.119148,9.2529043,33.6378294,60.1321966,25.6838692,36.9683064,19.218822,2.9190607,16.5818359,12.7245818,44.9499722,38.58133,4.8475578,5.0108926,48.8630788,41.384058,64.4130372,8.9877174,32.4856961,58.4736885,25.7685141,35.9214961,19.0513282,2.7216122,16.3429516,13.3125775,45.4442343,38.1814056,4.7772122,4.9722747,49.0450766,41.8688521,64.4394185,9.5011605,32.4635397,58.7348466,26.2837654,36.2664585,18.4006149,2.7927693,16.1993434,13.5147865,44.3560198 +985,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8973124,2.0593139,22.9877035,17.3918823,59.2141118,9.2072668,28.6522747,67.0952024,35.6167535,41.1028948,22.8507362,4.0450868,11.594973,9.1867663,34.1516076,12.9990813,1.7292486,1.8269041,22.7116979,17.2595766,59.4313385,9.5627138,27.8925039,67.4953555,35.8407287,41.5459793,23.432316,4.2436478,12.1689255,9.3448079,34.2325641,14.3652561,1.671435,1.7639639,23.102412,17.3715811,60.177969,10.0707688,27.4024212,68.5490463,36.3172142,41.5100701,23.3075662,4.5084586,12.6402544,9.5169832,34.8086504,12.8944915,1.794294,1.8533771,23.9967929,18.1022995,59.709396,10.2670514,26.9058815,68.9022607,36.9082617,41.0024563,22.5576946,4.8099799,12.8789258,9.4614719,35.1749036,12.3773462,1.820061,1.82829,23.720347,17.8251659,59.955672,10.544457,25.1470918,69.6633944,36.9513139,41.0183604,22.2853168,4.9788038,12.6537988,9.3422558,34.970416 +986,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.3304092,4.4152166,40.0435795,31.9844482,54.59102,19.2805399,27.500695,62.7443627,28.8179612,41.7405572,20.9503185,1.9758299,14.5089724,11.8186192,37.3811369,34.1071846,4.2353968,4.3306851,41.2374453,33.5425247,54.9183886,19.1342074,28.3894023,62.7870937,28.5331395,41.875984,20.0679723,2.0983296,13.9442275,11.9019318,38.2314691,34.8777961,4.4278238,4.4602944,43.0336425,35.3907739,56.0943501,18.8382416,29.1008585,62.6255103,27.2744539,40.2400439,19.0721387,1.9878469,14.2286589,12.3547515,38.2507572,35.4701392,4.3690911,4.3659057,43.6714314,36.3901296,56.9951733,18.2157075,28.8009717,61.3038367,26.1647457,39.5269795,18.5804437,1.896025,14.0164521,12.6949817,39.2937481,36.5382802,4.8553221,4.9130591,44.3405252,36.9986966,57.6504845,17.1219178,29.2837581,59.9534866,25.46782,39.0748863,18.3402054,1.9978638,14.4795664,13.1797456,39.8597275 +987,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4369995,2.473071,35.7965427,29.7165789,61.0097502,10.0337379,24.9538041,60.438762,26.2446424,49.4006312,22.1220005,2.9570444,13.9695698,12.7327077,32.5896305,20.5880231,2.646146,2.6874449,36.3686437,30.3925988,61.1391708,10.2047233,24.5623916,59.9183747,26.3126892,48.8202273,21.7879675,2.9236267,14.0303566,12.686765,32.7063012,21.1593364,2.7268072,2.8206855,37.1421809,31.1649902,61.3312122,10.4255964,24.4135153,59.3408017,26.3390437,48.1319618,21.0981553,2.8755249,13.9913748,12.3386202,32.681938,22.4146602,2.8302073,2.907694,37.8455085,31.9013003,61.4059324,10.3880493,23.5064947,59.1790486,26.4750667,45.6652475,19.643739,2.9996102,14.3232124,12.0836173,32.4518731,22.8609344,2.9522869,3.0333311,38.8496289,32.7985513,61.9148635,10.6238854,24.0240353,58.7163307,26.5320666,43.7300009,18.6251082,2.958962,14.5600358,11.8149728,32.0526647 +988,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2.6885539,2.7960208,32.526334,27.0440171,88.7905059,11.7697777,19.8689139,56.1828236,22.7841447,35.9518753,12.1404947,4.4120285,14.674018,12.7794249,32.8753321,17.5720917,2.8947499,3.0209982,34.352167,28.5753652,88.9349647,11.8742609,21.2388784,56.1555136,22.3244904,35.4885659,11.622739,4.2942915,14.7840293,12.928663,33.7780136,19.5897496,2.9587745,3.1101249,35.8753571,30.0886999,88.7517102,11.4705929,22.4625615,56.257198,21.5589767,35.2845172,11.5052149,4.3733135,15.5311124,13.337155,33.8541469,19.5016301,3.1843359,3.3296789,37.2804131,31.3458555,89.2792406,10.9016837,23.9397452,56.025669,21.2722415,35.3195378,11.5429078,4.2698066,15.7823879,13.5841963,33.7987295,20.5568927,3.4454449,3.5728462,39.1105261,33.3861119,89.4073312,10.5609484,25.5941916,55.9322834,20.8984772,34.8115811,10.8502433,4.3961324,16.1136145,14.3374884,34.3354478 +989,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.8943086,3.8943086,45.2088903,38.7931456,48.8279367,14.3674766,34.4841744,60.94093,32.5112515,42.8239612,20.2236638,2.9147174,12.4343609,12.7821752,31.7297225,29.7356828,4.2533442,4.2799804,46.1754177,40.3771277,48.4536642,13.8366808,36.1625025,62.3577813,32.3333024,44.2547116,21.6277262,3.1765894,13.5014952,12.3034395,33.4792064,31.144097,4.9778571,5.0024123,47.7961907,41.6911687,49.8308313,13.1498381,35.1460037,60.9891787,30.636666,42.3101743,21.0548046,3.5828059,14.2265127,13.4262529,34.2504421,34.2592836,5.1264193,5.230255,47.9733874,42.2388447,48.1754716,13.3468164,35.385602,62.7066417,29.5074133,42.6927692,20.2145493,3.6138589,14.2033863,12.253094,33.8612505,35.9489387,5.5904804,5.7880167,48.5008668,42.9165266,49.5237912,13.497627,34.4046871,62.653467,29.2957843,42.9184208,20.4723749,3.8311837,14.0648257,11.5006393,32.043853 +990,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.0270402,4.1148919,46.9180124,40.4771234,84.7202788,13.968051,29.0352135,55.1006266,22.0160233,34.8362048,13.4577433,3.9919437,14.9312373,11.0164148,35.4189777,29.5921572,4.0585002,4.1558018,46.8101928,40.4864988,84.698472,13.6238304,29.8607199,54.7880246,21.9581074,34.578639,13.2422604,3.9105034,15.1372959,10.9187823,35.7588537,30.1783508,4.144555,4.2396476,46.7196211,40.3531816,84.4952209,13.1907178,30.1370638,54.7500808,21.7239718,34.3317937,13.2990601,4.0706568,15.6063075,11.3331693,36.1540319,30.6008329,4.045011,4.1290678,46.1739347,39.8177631,84.6450449,12.4502365,30.8141568,54.9774665,21.639754,34.5141237,13.333709,4.0838005,15.3092347,11.0473961,36.4722517,30.0722146,3.8534032,3.9346799,45.5546689,39.1270846,84.6093445,12.4639461,30.750457,55.4038464,21.8853332,34.7737534,13.4502844,4.3770633,14.6188172,10.5594359,36.17772 +991,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3.5911347,3.7279656,33.1538444,27.5220637,88.0122915,15.1835004,20.9182727,57.5958503,26.7213205,37.8922629,15.6321494,3.0493516,16.0472069,13.682713,38.1986478,19.087514,3.7439964,3.857577,34.724057,28.9304025,87.0675612,14.9153753,20.6165888,57.5911523,26.7742105,36.8333611,14.6407996,2.7314599,15.5903463,14.122431,38.2078279,20.1578503,3.7294115,3.8421761,35.7951274,30.0001396,86.0701617,15.1902461,22.1464842,58.0113635,25.9122156,36.2960717,14.4803898,3.1344336,15.6736337,13.6715566,39.1246273,21.2597015,3.5812085,3.7545253,36.6640404,30.9307783,86.5330125,14.622625,23.9920238,56.997663,25.148701,35.2900541,14.0055192,2.763825,15.5015588,13.6176987,40.1385755,20.6794113,3.6946949,3.8919065,37.9659272,32.0701317,86.239595,13.5654335,26.0534833,57.5083531,25.0997533,34.5389184,14.0176227,2.8983262,15.2602909,12.7578657,39.9685006 +992,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,4.2611212,4.3124615,46.7888511,40.6341134,60.2286999,12.8058958,28.0892955,59.5657821,27.1284119,48.668205,22.3485861,2.8764311,16.629527,13.1853219,35.2712911,26.9320119,4.3564185,4.3897344,47.7374366,41.6809844,60.3168091,12.8306257,27.5918057,58.537612,26.8623199,47.8117657,21.3738916,2.7920624,16.5409137,13.0970011,34.9508584,27.4663525,4.3262094,4.3806329,48.3250508,42.2351962,60.6633376,12.8435332,26.9284593,57.8529266,26.9979814,46.1605098,20.0846614,2.7201017,16.729382,13.1616244,35.1245452,28.4244921,4.5088053,4.5710753,48.8457551,42.6641306,61.093317,12.796317,26.5923817,57.570077,27.0840115,43.9050683,18.5191456,2.738709,16.9396058,13.4402654,35.3647361,28.7083353,4.6474322,4.709773,49.4780431,43.3461698,61.6982257,12.3885037,27.1745819,57.3265893,27.0830616,41.8961934,17.8706031,2.6688758,17.5428899,13.7943062,34.7318774 +993,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3.4472981,3.5878738,41.2487738,35.4527662,89.775021,10.2897888,27.0192133,56.8068496,20.629023,34.7787064,10.8057226,4.5147846,17.3869847,14.5471756,35.1067159,22.6264543,3.6139742,3.7296229,42.8037683,36.8436403,89.6220062,9.9665982,27.9645716,57.0134824,20.6824011,35.0079348,10.9331544,4.7055317,18.058817,14.4399971,34.999932,25.1730755,3.9898757,4.0780012,43.9269774,37.7678392,89.4048027,9.6297323,28.139794,56.9433558,20.5130557,34.6572628,10.944961,4.6256174,17.9249704,14.186781,34.4134303,26.7992411,3.9551631,4.0763992,44.4994446,38.4841067,89.1525377,9.1632567,27.8323031,56.8875344,21.1642904,34.7721445,11.5698598,4.5464308,17.9077281,14.3005829,34.3853569,26.6174484,4.1920863,4.2962536,45.0681578,38.8950326,89.5798551,8.8367647,27.6272951,56.3125743,21.5536554,34.360725,11.6811097,4.4017507,17.8732548,14.2310936,35.2076652 +994,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.365352,1.4416524,20.8712086,16.1694836,81.4479423,13.175665,31.9504517,68.2971136,37.1381238,42.9981708,23.318311,6.5763873,11.7445811,11.9284347,40.1533046,10.1891036,1.6061769,1.7773165,20.3356788,15.545556,80.4856112,13.0247989,30.1933219,65.6167711,37.1412591,43.251493,22.9829317,6.0731667,11.1044786,11.8026241,39.5793398,11.0104026,1.5905258,1.7666147,21.9588685,16.2840352,80.449255,14.1648376,29.0461552,64.6612061,35.6521258,43.3846438,22.1892273,6.4072891,12.0732675,12.4017918,40.3922639,13.478631,2.0760935,2.2644242,22.3041513,16.273386,80.7185202,13.9654232,27.8368614,63.3381607,35.1428944,44.6713909,22.982573,5.6801618,12.425469,12.4213852,40.2784353,14.2499109,2.304757,2.5041912,24.0407369,17.4057205,80.7233542,14.5692978,26.5082104,62.3127338,34.1580905,45.2505093,22.5209856,6.236788,12.6773504,12.6733858,41.1970681 +995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,4.6201185,4.6626513,49.6721208,43.5949478,62.07451,12.401812,27.6636076,56.9571059,26.4595258,40.8393637,17.0320146,2.8680139,17.3146448,13.6711042,34.5761888,31.3083259,4.5959669,4.6646908,50.2031397,43.9558832,62.0860677,12.3772183,28.8334242,57.0784282,26.1368514,40.1908216,16.66475,2.6793893,17.3651885,13.7887658,34.4792246,33.0129951,4.5354881,4.6290761,50.3123415,43.9096613,62.7769665,12.2220672,29.317161,56.5265831,25.4964191,39.1185706,16.2756788,2.5490654,17.1817537,14.1858937,34.684686,33.1354058,4.5989939,4.7016185,50.2068872,43.74301,63.1890035,12.0153672,30.2280865,56.1678386,24.8399729,38.5372086,16.4029025,2.6707791,16.8317601,14.0469569,34.6537845,33.9131399,4.5658009,4.6588473,50.3602376,43.9097159,63.6914099,11.5641918,32.2276781,56.5988272,24.6460597,37.9139165,15.9997821,2.6968532,16.7980158,14.1182759,34.2345304 +996,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.883376,4.9729189,46.0895489,38.4392333,59.2088342,16.2833711,30.8841055,59.4146453,25.7095013,37.8188922,17.8760883,1.8864737,14.4064578,12.518777,40.2427841,37.6475391,5.2588025,5.3814998,47.8897336,40.3274074,59.7595404,15.7015042,32.4841685,59.8898159,26.6746935,38.3286674,17.8009652,1.7283822,14.1991887,12.4911026,39.7195053,39.7576504,5.5412291,5.6066382,48.7775262,41.0356697,60.886791,14.9470316,31.8935019,60.3621835,26.2636669,37.6658031,17.2641766,1.5596485,13.8414225,12.4910329,40.021374,40.6332022,5.7604413,5.8826672,49.5418313,41.7574359,61.8784632,14.1370331,32.2506149,59.543485,25.6774367,36.8917673,17.322581,1.5038476,14.2071077,12.5739427,40.9021188,41.1459175,5.7423678,5.9972289,48.5965347,40.7467091,61.7626723,13.6574415,32.6238479,59.6141245,25.7760569,37.3207154,17.9338047,1.6918289,14.1223692,13.0041757,42.2460378 +997,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.8898556,4.9840562,44.6679496,37.2715603,65.5667312,16.3683498,24.9953596,59.7189118,26.2262585,37.8008702,17.2423899,3.297806,14.0983078,10.4356256,38.9837522,30.7772871,4.7606847,4.8683004,46.085377,38.9436918,66.7718576,15.8982807,25.8735412,59.4101538,26.1507124,36.929129,16.5927328,2.8933088,14.2349787,10.4209546,39.1767282,31.6217059,4.7303987,4.8387122,46.2767388,39.0417878,67.8518378,15.4665668,26.288058,58.3840662,25.5862005,36.2787781,15.8171951,2.9824498,14.8112568,10.623286,38.4222172,33.3446854,4.7298792,4.864776,46.6971223,39.2319855,68.1376114,15.3070423,27.5496133,57.9771161,24.6061945,35.7985716,15.3262704,2.9152483,15.1004158,10.8809243,38.0794016,34.5583853,4.7231375,4.8772457,46.887358,39.4420301,68.3173517,14.7375036,28.7367257,57.5395157,24.4069608,35.3068294,14.9755796,2.7578916,14.9284211,10.6835241,38.0015096 +998,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.515442,1.649398,23.9150272,18.0252559,50.0983406,18.1413033,32.5762358,69.7511109,35.4261485,49.2988088,26.0232458,3.0848708,14.1006994,12.5994157,40.1441138,16.9353934,1.4633442,1.6695584,25.3794105,18.6815938,49.1912217,18.5364456,30.7158394,69.3588438,33.8858926,51.7019624,26.6198799,3.2012535,13.0117017,13.1300603,41.5210365,15.8545296,1.5205685,1.7196475,26.4127411,19.627227,49.2541668,18.0396026,29.8373885,67.9054123,32.4900353,54.2336684,26.2933195,3.2150451,13.9006781,13.391283,41.5480282,15.8238579,1.3974929,1.6097893,27.634271,20.7640386,50.9518579,17.9088787,27.3649102,66.3012312,31.5172682,52.6173319,25.3526081,3.0112262,14.1847667,13.7961307,40.9764035,16.7360954,1.5328711,1.6714766,29.2531241,22.4085496,51.6988014,17.9748081,27.8630332,64.7075233,30.310247,51.2477508,25.7322541,3.2829767,15.0445218,15.1693601,41.1972738 +999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4.3791099,4.4579903,46.5524895,40.4050145,89.6201203,8.4913956,28.4218222,56.2500312,21.4701817,34.3371784,11.5609204,4.047949,18.6279363,14.9681947,35.9187412,30.1910204,4.5575263,4.6337775,47.1056093,40.5906908,88.9605334,8.3417673,28.8501009,56.2194288,22.130237,34.630249,11.8975124,4.095203,18.7374767,14.4153718,35.7606616,30.7777804,4.4948602,4.5316889,46.9026313,40.5159767,89.0548411,8.4414374,28.7634648,56.8001409,22.8493798,35.0954637,12.2760124,4.3110344,17.9804834,14.1709844,35.4807364,31.4153262,4.461383,4.4932888,46.7696529,40.6688378,89.086378,8.585573,28.137295,56.9139193,23.4558887,34.9428707,12.3033325,4.1601126,18.0958797,14.5367547,35.2656505,29.8886997,4.2055406,4.2554112,46.9501829,40.9262963,89.3728188,8.5489085,28.1225425,56.885351,24.0641584,35.9238774,12.3818085,3.9893648,18.236252,14.4869559,35.4231809 +1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.8821168,0.9078941,17.2686486,13.3319508,83.2213345,10.061542,29.049221,69.6220674,31.5406659,47.3629274,21.0341316,4.2981751,15.4582778,12.2184701,35.1681154,8.151979,0.9322878,0.9575584,17.3956231,13.3797505,83.5947752,10.0202111,29.3364944,69.8086429,31.8607775,47.5773264,20.5415583,4.1734634,15.2811477,12.6019337,34.9917973,6.9286936,1.0395989,1.0648403,17.3542121,13.3875658,84.2290832,10.0162477,29.170327,70.0123376,31.5822722,47.6082836,19.8896363,4.1905231,14.8769954,13.1664861,34.6980675,6.7271626,1.0514823,1.063607,17.3275059,13.5913171,84.4793936,9.8180031,28.3779559,70.4831501,31.8342841,47.1915627,19.5011066,4.1829949,14.5833458,13.3358909,35.1189579,7.0445912,1.066689,1.0789843,18.7065899,14.7297478,84.7694976,9.9093793,27.631074,70.2481461,31.7927544,45.9982744,18.6273664,3.7814832,14.2800382,12.915004,34.2728768 +1001,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8493931,1.8430753,24.1896066,18.2527101,59.9879334,11.3249196,23.8353302,68.7327414,36.0353115,41.5578422,22.6841565,4.8505995,11.9822388,9.5683693,33.9134096,13.4373493,1.9272079,1.8935046,25.1902927,19.2449734,60.6438438,11.4511644,22.6089915,67.3564971,34.5513319,43.0318284,22.6104431,4.5220886,11.6993163,9.8933484,33.0935636,12.5989678,1.9970785,2.0119756,26.4861429,20.2343906,60.3983618,11.9243219,22.1907297,66.714894,34.0804817,43.7288205,23.0015395,4.3456196,11.691261,10.1731914,33.7946075,12.7846659,2.1310832,2.1459341,27.6987177,21.4427225,60.9279634,12.4320094,22.0296494,65.7384988,33.5920129,44.5319274,22.717898,4.4485016,11.9876785,10.2849492,34.1605103,12.4833284,2.3178316,2.358341,29.0473007,22.802438,60.946289,12.1938629,21.7634341,64.7979729,32.5580205,45.2764134,22.8898306,4.2644723,12.069013,10.7435321,33.6350284 +1002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7035823,3.7519987,39.1502535,31.9573476,50.8284865,15.3618773,31.9001395,58.5842256,32.5461126,46.0292351,22.1679569,3.353271,12.7912102,9.8530866,36.1118337,25.7907868,3.8445776,3.8933702,39.4175272,32.5888852,50.6927676,15.1454211,31.9058728,58.3359447,31.7571412,45.4453951,21.576872,3.4577669,12.4995019,10.2113789,36.1547323,29.0049628,3.9491533,4.0190924,40.3647209,33.8242933,51.7020798,15.3506339,33.1694398,57.3873922,31.5807662,44.9150598,20.5663837,3.278665,13.1035387,10.7452601,35.8672095,28.2883071,3.8483606,3.9021498,41.565818,35.0078106,52.8084703,14.6915306,31.9621575,56.4696928,30.4483489,43.1696378,19.6147541,3.5769021,13.9781651,11.2989296,37.0766464,29.1065537,3.6675084,3.7218239,42.2988637,35.8069258,53.3660539,13.6370508,34.3719462,55.4985377,29.9670713,42.6243135,19.7048237,3.1454189,14.2287675,11.7513831,36.7506405 +1003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3.8325835,3.9512898,38.4299681,31.4630574,61.1600078,17.7506459,24.3162273,60.7059173,28.6663238,38.7210119,18.1687861,2.3052865,13.8976771,11.3312291,36.404671,28.5977772,4.0993459,4.2254339,39.2918889,32.0873459,61.6979207,17.3863424,25.2836518,59.7601863,27.707588,38.3058257,17.7539941,2.1016001,13.7885828,11.1256562,36.3995648,30.7923104,4.1942804,4.3735246,40.7810975,33.5822721,62.4967094,16.856645,25.7454988,59.6786629,26.9794389,37.6992206,17.3136204,2.0951142,14.3487226,11.3907644,36.8655107,31.9161012,4.1668453,4.3541139,42.1433832,34.6796018,62.0382748,16.2758237,27.412682,59.3919804,26.5329959,37.5549773,16.8305242,2.0569191,14.971156,11.3588723,37.7971557,32.1910276,4.4023431,4.5503413,43.2103298,35.5885305,62.8982141,15.9717215,28.5012624,59.4332555,26.0075746,36.6876677,16.108312,2.0528948,14.5768735,10.9762438,37.1168809 +1004,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.1388163,1.1388163,19.0126902,14.6907231,84.2160906,10.6517592,25.9802262,69.5212516,31.3867878,47.0283601,19.1290927,4.1064416,13.794633,12.3134551,33.986639,7.5319958,1.1738467,1.1738467,19.9327245,15.5471096,84.3855858,10.514472,24.9689049,68.0388774,29.1063602,47.7657134,18.2250257,3.9925126,13.6946136,11.4761081,33.7188371,7.0148291,1.3225831,1.3479108,20.2244831,15.5376027,84.690907,10.6241066,24.0915365,65.7100781,28.0553914,48.4515221,17.9396848,4.0668472,14.3409144,11.847821,34.006873,7.5442515,1.3582729,1.3985341,20.8120241,15.9081546,84.5498914,11.0819403,23.0343211,63.1652859,26.0647683,47.8909341,17.7109117,3.8288284,14.2918892,12.3935396,34.2892759,7.8728064,1.3844073,1.4292948,21.5500502,16.602255,84.1186112,11.2820674,21.8206513,60.7789407,24.9697572,46.6086871,17.0973358,3.6536529,15.5677383,12.198254,34.2965009 +1005,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7372669,3.825495,44.484259,38.2020549,84.473853,12.2295294,31.5939161,56.0702553,22.9462755,35.6732568,13.8376164,4.4774913,15.0481233,11.0465034,36.4324507,30.3876876,3.6337099,3.7412293,43.6726645,37.2863515,84.1525608,11.8510658,32.2949583,56.8337259,23.7444988,36.2037457,14.0268318,4.3905979,15.7930855,11.6685006,36.7773172,28.9841748,3.5657078,3.6420806,43.1904467,36.9130351,83.9258288,11.7354884,32.5694013,56.7232188,24.5319915,36.9459368,14.856827,4.3834196,15.7079067,11.3115256,37.3241394,29.059665,3.449415,3.4901003,42.5805564,36.1790749,83.9712004,11.807701,32.2613121,57.8908597,25.4701843,37.3373703,15.0967808,4.626545,15.7443878,11.7688478,37.0218186,28.7796347,3.1831578,3.2183671,41.6305726,35.5070389,83.9962998,11.667087,32.215457,58.3869067,25.9968518,37.9739478,15.3722392,4.5245291,15.3072839,11.6038628,37.2574184 +1006,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3.99457,4.1555384,39.5201574,33.0608835,86.2752937,13.201724,27.3661616,57.4731322,25.112274,34.0341714,14.6443199,2.4852299,16.1770992,13.2004703,40.3088103,26.2905986,3.9213786,4.1557499,40.3043518,33.6471795,86.796155,11.9807377,28.6025778,56.9507641,25.5435729,33.3505959,14.0039195,2.3385178,16.149411,12.097931,40.1607251,26.7002586,3.8555437,4.0096177,40.9232804,34.3471718,86.5999212,11.0376759,28.7980132,56.4307946,25.8075114,33.6116996,14.3346344,2.4938657,16.3326442,11.9899513,40.4428265,26.7666022,3.6108089,3.7944831,41.3834602,34.9219012,87.6939559,10.3220545,30.1114111,56.6702964,24.9139151,34.1121677,14.3956549,2.4664843,16.4782334,11.8039635,40.273476,27.0527543,3.4928098,3.6633174,40.7258976,34.2224,88.7880227,10.0421296,30.2612646,55.9991978,25.0844367,33.8986142,14.3226138,2.0165003,16.2854889,11.5570561,38.4544766 +1007,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4995985,2.5661135,30.0804775,23.5504676,62.9609628,12.5539894,21.4901014,63.5861238,30.9389627,44.6593674,22.4882673,4.0843706,11.831186,10.5553223,33.7485867,14.615076,2.7439613,2.8016893,30.9997262,24.521273,63.1988503,12.7609292,21.6582406,63.1609221,31.0880195,44.5939581,22.5944427,3.9792611,11.5127742,10.2887647,33.4315017,15.1898621,2.6947589,2.750939,31.8959109,25.4382612,63.8648755,12.2853635,21.5377684,62.8222049,31.4091337,43.0805227,21.7404675,3.7751099,11.0308243,9.4965472,33.4300373,16.5002447,2.6559565,2.721548,32.2489165,26.0155935,63.8020263,12.6596738,21.048397,62.3703533,31.850629,41.3230574,20.7735057,3.9903392,11.6362771,9.8152964,33.8954012,16.441934,2.6453684,2.6941146,32.2913385,25.9063063,64.8594281,12.6344879,21.2243995,61.3939953,31.4642197,40.1323695,19.4566611,3.7561982,12.0018749,10.1247293,33.290114 +1008,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.918111,1.9286603,28.0466564,23.0227538,53.3610178,13.5367611,37.9553544,68.2612643,37.5409189,49.4135418,28.3905714,3.7454432,13.8511021,13.4120086,35.9093782,17.3610748,2.0750784,2.0750794,28.5532972,23.2693072,53.4945138,14.0221105,37.4529634,68.0718566,37.3451955,49.1397267,28.3066684,3.8904806,13.9075253,13.6838106,35.1948827,19.2415947,1.9890725,1.9890736,28.3711701,23.2875777,54.159462,14.0989717,37.3221577,68.0277596,36.9657536,48.8756211,27.9039805,4.0455014,13.7943731,13.2766129,36.4955155,17.0833523,2.0433097,2.0433107,28.6316394,23.4498888,54.1249925,13.4346418,36.6564556,67.2817333,36.9380201,48.4693522,28.1443802,3.7424396,14.1128968,12.4816965,36.1458911,18.5526131,1.9955551,2.0113978,28.6336169,23.4152422,53.0728,13.7716522,36.7665771,67.062825,36.870456,48.92688,28.0267696,3.5384101,14.6676065,12.527823,36.2472535 +1009,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2475473,2.4408157,25.7151943,18.857068,80.9199387,15.2089798,26.1319505,61.3480327,33.0266795,43.479341,20.8592642,5.6727928,13.2102054,12.7635971,41.3655035,17.084807,2.531503,2.6547111,27.3580754,20.0994502,81.3604332,14.9602752,25.1730612,59.8516696,32.818638,42.5112833,20.0646299,5.2101165,13.5364954,12.0549222,40.5056706,20.5198068,2.4080684,2.5290428,29.3762353,22.0353916,82.4783017,14.4992519,24.7935391,58.6424071,32.3793213,41.5407066,19.8535077,5.1168972,14.4294285,11.8497069,39.4025349,22.2544644,2.6179636,2.6252143,30.5369764,23.3039607,83.1973981,15.2069726,24.2154808,59.0784711,31.8635155,40.1325618,19.5281757,5.2710185,13.7754244,11.3357233,38.6086831,22.2520046,3.1359047,3.1328036,31.2938653,24.2906938,82.9894879,15.4773964,25.4908699,59.6605955,32.0777866,39.4205633,18.7652147,4.7003235,12.877055,10.8656532,37.1639436 +1010,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7215796,2.7697306,32.573258,26.068549,64.9354952,12.1265189,21.8061223,60.8978251,30.6507667,38.9816966,18.2668827,3.3785042,12.3054217,10.4717763,33.0899575,18.8443918,2.7997046,2.8119072,33.5447213,27.0422871,65.4421352,12.1666225,22.1025374,60.5266257,30.6622996,37.838387,17.5054054,3.3510511,11.675631,10.0097675,32.7754925,20.94123,2.7449663,2.7901169,33.7927409,27.4356699,64.9486914,11.7550518,22.8960041,60.7114938,30.6805457,38.3604556,17.3412828,3.2215031,12.2886209,10.3956045,32.2461206,20.6300896,3.0169728,3.0628042,34.9751609,28.3561865,65.3285553,11.1998095,23.4680297,59.7522961,30.1585541,38.1315766,16.786661,3.3184549,12.4451278,10.8645965,33.1120657,22.7761676,3.1450578,3.2021643,36.432492,29.7549199,65.6412425,11.2341508,24.9095605,59.8772039,29.6183232,37.9868652,16.0676101,3.4517612,13.1323003,11.1551488,33.5364743 +1011,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2.9859824,2.9705918,32.4149945,25.2878524,82.8392359,15.7688995,26.4917305,60.4590096,32.0027351,39.1690978,18.4303243,4.5819103,12.2522076,10.3708789,37.0109483,24.8130844,3.2069282,3.1768839,33.8328091,26.6815182,83.0838104,15.6938158,27.6913249,60.6575601,31.6530073,37.759905,17.8277955,3.7940009,13.583557,11.0643439,37.235615,26.6654897,3.5040703,3.5040703,35.4816704,28.2490742,83.3796944,14.6461664,27.9506231,59.8665025,32.2126827,38.0736161,18.1575651,3.6990449,13.4374647,10.6691646,37.034707,27.1020456,3.6608874,3.6608874,36.6785829,30.0486415,83.8724347,14.1394263,28.818599,59.909865,32.1096843,37.9698145,18.6757433,3.9205159,13.2273426,10.8284858,38.8994408,27.0795172,3.9927939,3.9927939,37.6683836,31.3933443,83.3376616,13.5231088,29.6153141,59.5828169,30.6518172,36.4971466,17.6489341,4.1947364,13.5371273,11.6221421,39.6426242 +1012,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8725768,1.9085701,31.5430267,27.0547427,53.3388127,13.8369267,34.9738723,67.2648409,31.9206234,48.1913327,23.7137714,4.1755449,13.3071492,11.1631989,32.7947415,20.535514,1.9362744,1.972163,31.0243676,26.2889603,53.005126,13.6503781,33.4214789,66.7547638,31.4380098,50.5160267,24.9830257,4.0254387,12.9577851,10.5889312,31.4304586,20.4862388,1.8809501,1.9065432,30.9524405,25.9051515,52.5517045,13.6786127,31.5659645,65.8445338,30.6943658,50.3162777,24.8520775,3.9705248,13.1339873,11.1622393,30.9468785,20.7627668,1.7997545,1.8366356,30.2412985,25.198541,51.6830995,14.3245641,31.0140524,65.6755354,30.7705847,50.5290668,24.6045767,3.8928919,12.6174395,11.0358644,30.7985009,21.209741,1.7406769,1.8243513,29.4539312,24.2877686,51.1414936,15.0103238,31.5260499,64.2735023,31.0330806,51.0625245,24.5685556,3.8333771,12.5911082,10.8693548,30.2982018 +1013,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5797521,4.7431078,47.3971333,39.8652423,68.7952225,13.7619094,29.9805951,57.2656948,24.2801377,34.4830535,14.579738,2.5410491,14.6824693,10.9464468,38.3286834,36.2207615,4.5852047,4.7445983,47.1604854,39.5572295,69.0158894,13.2837008,30.6431408,56.5699232,24.5636448,33.8398763,14.365528,2.5593562,14.9573635,11.0863348,38.9453786,36.2829724,4.5555041,4.7193735,47.4917228,39.7355823,68.9868155,12.6197025,31.0932255,56.6593577,24.504856,34.5492362,13.9752817,2.5768346,14.7264102,11.3711202,38.4889198,37.120807,4.4229235,4.5289246,46.7774841,39.0931499,68.9976211,11.8342259,30.8064805,56.4771481,24.0808854,34.4614985,14.1110927,2.6925123,14.4770229,11.2797209,37.7162925,37.2741726,4.4672531,4.6301764,46.1127127,38.383715,68.4150778,11.2350657,31.0026574,56.7055901,24.0948209,34.2663304,14.2805645,2.6322454,13.9291047,11.2215654,38.2641448 +1014,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3.9593391,4.0571702,41.5460609,34.9667017,87.9389369,9.9958751,30.0301578,56.4397209,25.8557831,33.9754087,14.9923355,2.2246892,17.5137626,11.3640989,38.7014654,29.4899924,4.0661093,4.1471906,42.9763656,36.1912151,88.189437,9.3237929,29.3578251,56.5069003,25.2111349,33.2934561,14.7174607,1.8136823,17.6236222,11.7548176,38.5960324,31.8139911,4.1781781,4.3126598,44.4863455,37.6170646,87.8799753,9.4757071,29.7521509,56.2300169,25.3777515,32.7699098,14.2438778,1.9516319,17.9592753,11.5937259,38.9596851,30.8154206,4.3010208,4.3737939,45.4997745,38.3744585,87.8294852,8.8472461,28.179543,55.3648304,24.4756901,31.757844,14.2461278,2.109486,18.6731575,12.3865321,39.9116536,32.2642362,4.425629,4.5264373,45.1699621,37.8755353,87.8799874,8.7712208,28.218035,55.5756422,24.0747104,31.7311203,13.5260176,1.9566134,18.1791523,11.9090431,39.0656596 +1015,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3.935302,4.0578861,37.8079246,29.8850717,58.8997486,10.7187352,24.7459462,59.8403402,32.5691615,44.6407464,24.4133744,3.7869163,13.5474433,10.8654414,40.6456078,25.2439742,4.1876974,4.3200895,39.326412,31.4099598,60.1280419,10.6528885,24.6020948,59.4199778,31.8720345,43.6877186,23.4197075,3.6949035,13.9414496,10.9998954,40.8579023,26.3094189,4.3407732,4.4728321,40.8811328,32.7199274,60.8648682,10.5497402,24.1794051,59.455764,31.3998469,42.5064771,22.2248061,3.5604127,13.9194859,11.012974,41.0284893,27.0786295,4.4139295,4.5318582,42.6979486,34.3916407,61.234525,10.4540749,23.9911798,59.4365343,31.1985082,40.5487819,21.0844962,3.562896,14.2327808,11.1198606,41.1337485,28.0030302,4.5744591,4.7093989,43.7497485,35.3902185,62.4960218,10.7816017,24.1301452,58.8748395,30.6841239,38.9552182,20.169929,3.591203,14.2245795,11.2438223,41.48222 +1016,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3.5479709,3.646333,37.285919,30.1146621,71.2951079,16.9048359,23.8849831,60.7597796,28.2653551,41.1993897,17.4498158,2.970686,13.3692523,11.0621035,34.2148524,23.1179168,3.7696498,3.8703048,38.4256266,31.2499829,71.7213932,16.3543293,24.7398575,59.8447071,27.6692678,40.0912126,16.832072,2.7933356,13.6864344,11.4624024,35.0799931,23.2693651,3.8741409,3.989638,39.7494848,32.6648074,72.2954234,15.8198765,25.3222571,59.5149632,27.1914122,38.9542136,16.7337946,2.7795633,14.1265904,11.4216659,36.0279922,25.7658335,4.0658691,4.1819148,41.1561945,34.173041,73.1167995,15.1173758,26.3710637,59.3248689,26.884211,38.3819633,16.0278901,2.5096173,14.3018634,11.2169281,36.4536142,27.1731894,4.0380424,4.1728927,41.6215819,34.8737615,73.1421794,14.1895047,28.0091472,59.2285632,26.8733176,37.8371893,15.4519482,2.4530663,14.1393632,10.9621592,36.151657 +1017,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.2270292,3.2446904,39.2541098,33.4277797,52.9245573,17.8706817,28.4532104,60.8513606,29.9401207,50.3957347,25.3597114,2.5779407,14.2891697,12.0781225,35.5378284,23.0061614,3.3585375,3.427149,40.6015315,34.3873556,52.9835594,17.6626035,28.8082164,60.1553464,29.6894231,49.6291102,24.6116861,2.5388349,14.4822705,12.0978997,34.983561,24.1359673,3.5894403,3.680539,41.8397389,35.3715599,53.9214798,17.4295171,28.2794884,59.5732703,29.4537206,48.4195953,23.515522,2.472341,14.0071611,12.068966,34.5598,26.5405679,3.5383212,3.5929425,42.2705222,35.7593,54.0194292,17.5773186,27.9941943,60.095163,30.0753665,46.3250635,22.0611399,2.5570072,14.1313697,11.5976935,34.7141602,27.6276973,3.6538478,3.7211192,43.2626251,36.8163933,54.4708606,17.6591584,28.9703802,59.550898,29.4743531,44.2826577,20.8434076,2.5301208,15.0789853,11.8536135,36.3294363 +1018,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7526745,1.8358114,28.9454988,23.9745229,51.3032708,14.4082044,32.3367384,63.629723,30.431779,50.7508343,24.3011456,3.3520951,12.7697086,10.6160844,31.0442283,20.5213891,1.8504353,1.9218339,29.1586673,23.9274369,50.8301336,14.4274883,32.9450088,63.1746345,30.0698899,51.3595704,24.4508992,3.6879165,13.1012016,10.7963948,30.5349979,21.0481485,1.7434814,1.8146953,29.2642528,23.8451317,50.789533,14.8445745,33.1431794,62.4927516,30.2022385,50.6943881,23.8929186,3.7871076,12.7311802,11.082839,30.8400162,20.0988826,1.7915007,1.76482,29.4823433,24.2546864,50.8076367,14.8841193,35.09796,62.8767301,31.0751923,48.2162892,22.7412775,3.8918285,12.6960746,11.1224712,31.9343295,19.7151046,1.9799501,1.9546634,29.4403718,24.0697899,51.5668507,14.7412089,36.652711,63.6286526,31.6773591,47.143164,22.1751398,3.7865464,13.1074775,10.2754039,31.5517601 +1019,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1634119,2.1634119,30.7702239,25.2490357,41.535172,14.67362,39.784802,67.467193,37.1478684,50.7328855,29.2962438,3.306823,12.189624,10.7287451,33.7964212,24.5996983,2.1600918,2.1179575,31.0575366,25.6115056,41.0582364,15.3884116,39.8425829,68.4849214,37.8253102,50.8055348,29.4828795,3.4310806,12.5082842,11.3974026,34.7570284,24.4607753,2.5392878,2.4973319,32.0916081,26.2666634,41.0979255,16.1300836,39.4068915,68.5771252,38.2264468,50.4133072,28.6815303,4.0403048,12.2754493,11.1617672,33.8456971,22.4435146,2.782317,2.7425623,31.9006215,26.1174902,41.8510365,15.9437059,38.8982308,68.4656437,37.4745507,48.9619323,28.0198382,3.923871,12.8294585,11.9645123,34.104473,22.3054682,2.7253767,2.7253767,32.2489556,26.3714602,42.9191403,16.8396312,37.8317373,68.885666,37.0869296,48.1002398,27.3070893,3.6498033,13.6993261,12.7165719,34.3396259 +1020,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8133472,2.8461958,33.2634718,27.13802,43.3158971,17.1486484,37.4437131,68.1043386,35.5544769,49.73178,28.0096029,3.4997982,13.3355406,12.7893232,34.2378666,22.4325436,2.8972995,2.929932,33.2906524,27.4874868,43.859837,18.0293294,35.0559993,66.0638078,33.22162,51.502421,27.1672003,3.4281182,12.9863886,12.6042177,33.6209673,20.1654562,2.8861741,2.9694497,33.382136,27.4844813,43.9351116,17.9416318,34.1947601,64.6854528,31.9306939,52.775598,26.9511352,3.0892824,13.355605,12.7005432,32.6699734,18.6031569,2.9759886,3.0997682,33.8760233,27.6747305,44.2266845,18.0500961,32.2953047,63.5387329,30.7524323,52.6388593,26.5879378,3.0688853,12.8419683,12.1385607,31.6949715,18.3046482,3.0165898,3.1180096,33.4599724,27.4234846,44.4341827,17.6082226,30.8964796,61.3104872,28.8858793,51.9693539,25.4092905,2.4928,12.1123841,11.5159242,30.8754504 +1021,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,4.0437505,4.1608701,41.9731762,35.2502365,73.0725719,13.489854,29.8294187,59.1454577,26.7809189,37.3637651,15.4398961,2.5193454,14.5654385,11.7675279,36.3388996,29.4653895,4.0486232,4.09948,42.8667544,36.353462,73.7616706,12.8553875,30.4133503,59.2218533,26.3582314,36.879602,15.0696673,2.4189768,14.2210504,11.8281376,36.6907631,29.857669,3.982414,4.041864,43.3033071,37.0865384,74.1162454,11.6972763,30.4613897,59.2274397,25.7392859,36.8091165,14.8862022,2.2836344,14.1116557,11.4008102,36.9801239,29.9759441,4.0591896,4.1262201,44.0595601,37.9339669,74.0079747,11.138338,30.7537644,59.7761375,26.1958516,36.9705465,15.2601067,2.3111604,14.099258,10.94809,36.7713535,31.7019976,4.117627,4.1485723,44.441678,38.1677602,74.1320773,10.8410107,31.1329117,59.5853717,26.4313101,36.8928034,14.8421272,2.3854954,13.9384324,10.8482325,36.378001 +1022,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.4369156,6.6747263,50.8062726,42.8488572,61.5340884,12.5235292,33.8952433,60.9564355,26.4612617,37.5724503,18.4474381,1.8388919,14.7063698,12.8236164,42.2830164,42.0928501,6.2572853,6.4878091,51.9977009,44.1413396,61.9181573,12.644449,34.124485,60.7028495,26.3467983,37.4778954,18.7120184,1.6945641,15.0151768,12.7531074,42.7365381,42.1077908,6.4710491,6.6224391,52.0792887,44.5154864,62.2805266,12.4956925,33.6851891,61.1592612,26.1766191,37.0764485,18.8406876,1.8511597,15.5060948,13.7444233,42.8925487,43.1811027,6.8190229,6.9684761,52.5512396,45.04629,62.6034424,12.661761,32.9226492,59.8924441,25.3212295,37.0188083,17.9275369,2.1693237,15.8552607,14.2409143,42.9440041,42.811115,6.9230168,7.0607927,53.2448853,46.0997269,62.5849605,12.6948077,33.3735659,58.6846492,24.9484899,36.7234656,18.0764093,2.3998019,16.77236,14.4919122,42.8013797 +1023,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.0820481,3.1823618,34.1054173,28.179851,44.1336363,18.1162331,30.4127129,61.3451335,28.6346607,52.7718966,25.5704976,2.6705486,12.0420286,10.941305,31.1617582,21.4039773,3.5196948,3.6174321,34.9924243,28.8224252,44.0947548,18.7460714,29.6841855,60.8820348,28.9206439,52.2143482,25.7369017,2.9219981,11.0179754,9.8011347,30.3589295,23.4981,3.5711862,3.6371688,34.6494955,28.3817464,44.8706946,19.0590987,28.4689584,60.0011056,29.0603274,49.4938703,23.9610846,2.8220427,11.3693546,9.7132381,31.0058707,25.0877515,3.3036981,3.3685792,34.9185536,28.7383427,45.1941333,18.6415376,28.5475905,59.8041007,29.1299194,46.2860221,22.7334571,3.1598271,11.8603094,10.0946982,31.3507229,26.1594986,3.5879311,3.6261336,35.8891534,29.8305086,45.8015054,18.350578,28.5213071,59.7156155,29.0961529,44.9718852,21.3069111,3.1192225,11.1775738,10.0484526,31.5101589 +1024,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4.1280885,4.2051238,39.837762,33.1049389,83.900259,12.2595625,30.9101412,59.2572654,30.1751805,35.5475099,16.4968029,4.0842419,15.196384,12.2830603,40.287907,28.1034461,4.4253384,4.5770796,41.7342977,34.6227369,84.378093,10.8987816,31.1059594,58.1781865,29.7692156,35.219645,16.9296037,4.7580842,15.9150904,12.7098077,41.5640838,31.049412,4.8791989,5.049769,44.0639824,36.384976,85.2981014,9.8973305,30.5618908,56.7406327,28.1220036,34.1699122,16.0178345,4.8367513,16.6970691,12.6059991,42.7566051,33.8859355,4.836569,5.0181899,45.1063301,37.3681201,85.0447052,9.0787589,30.3520359,56.0159385,28.6586944,33.5089235,16.4872392,5.0993203,16.359079,11.6891335,42.1864492,33.6884509,4.9081676,5.0970451,45.4467295,37.4510953,85.908676,8.9663399,30.9067994,55.1113807,27.1216973,32.6418409,16.4509375,5.4092354,17.7691743,13.0728102,43.3019693 +1025,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,4.1948432,4.2538024,45.0050238,38.7968669,74.4334584,10.276442,31.2478416,60.2181725,25.8726099,36.8324798,14.9650995,2.5043639,13.9794304,11.1249085,35.9363502,32.5082444,4.5279881,4.5545983,46.724854,40.3987913,75.2191939,9.9261035,30.6687893,61.1628956,25.3618366,36.5413593,15.0141463,2.4371939,14.1808665,11.4319853,36.3088783,33.0508559,4.6596733,4.6828419,47.159176,40.4300986,76.2540464,9.4638456,30.501082,61.4224719,24.8145642,36.7150247,14.3975536,2.3817315,13.8525815,11.4185055,35.5551455,33.1975048,4.7003519,4.7507039,46.7836585,40.0810012,76.3867566,9.125686,29.7933922,59.7934022,23.8760274,34.9834801,13.4628019,2.4214797,13.8841943,11.0605964,35.4668543,34.1872228,4.8003774,4.8788219,46.8800299,40.1080312,77.072546,9.0392171,29.004499,58.5852727,23.4758498,33.6312034,12.8695396,2.5805851,14.1564053,11.5003429,35.9040425 +1026,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0382281,2.0023028,30.2402741,24.6837254,52.3723044,14.743291,37.5852289,64.5125795,31.5950356,46.4281199,22.5798102,3.8299881,13.9027628,10.3996578,31.0280187,19.1359889,1.9676479,1.8785001,30.8976839,25.5020097,52.9505403,14.3148535,37.8434612,64.6371083,31.630452,46.2373152,22.8483625,3.8820149,13.662946,10.1458571,30.7742316,19.8014039,1.9736347,1.8842992,30.6050582,25.2821251,53.0654248,14.2843572,37.1222916,63.9789393,31.7330315,46.5616851,23.0052076,4.3807677,13.1940745,10.1889895,30.6607239,19.7718315,2.145005,2.0477654,30.9070621,25.7282484,54.0586954,14.2885311,37.4023117,63.2407797,31.4873883,45.7066695,23.2193866,4.365852,12.9975921,10.3306471,30.414078,20.7167898,2.2083354,2.1098497,30.1301509,25.0548699,54.4312308,13.352782,37.7428472,63.7489889,32.2257953,46.2450967,23.9307179,4.3100403,13.2324738,10.1033354,30.5078273 +1027,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1455423,2.1798673,29.1561273,23.7503489,52.3828581,13.7111499,36.8729355,66.6811144,36.9769194,48.8380552,27.9539769,3.5765723,14.7598722,12.5354441,36.972482,18.6716869,2.1022183,2.1252028,29.4881988,23.7838694,52.4277258,13.628308,36.2785781,66.5219692,36.914505,48.7922225,27.2475404,3.259757,15.3675849,12.2872158,36.5628241,18.5679775,1.9579925,1.9853701,30.0602704,24.3547126,53.2162216,14.1509351,35.7103366,67.1242306,37.018695,48.3956661,26.1666117,3.2832768,15.7396588,11.8546478,36.0015296,18.2356729,2.0806281,2.1066314,29.9624437,24.2844894,53.6778067,14.4566355,35.2840071,68.0664668,37.5864902,48.5980447,25.2390619,3.4350218,15.5787307,11.5247844,36.2180261,17.5079289,2.194223,2.2204575,30.4256184,24.7479346,53.1863494,15.1019272,34.2162743,68.914944,38.0094448,48.6829301,25.3378956,3.4989458,15.4576324,11.094215,35.1786978 +1028,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.6469542,3.6670937,36.6555195,30.8218279,46.7429429,17.9692298,29.354949,58.3549181,27.9507251,44.163911,19.8993274,2.9188306,11.7209678,10.8327847,31.4256733,27.457608,3.8294064,3.8721795,38.510689,32.6744269,47.4614426,17.7988787,30.3632774,58.4387916,27.8307887,43.0014179,19.4076131,2.9018574,12.4190267,11.4512347,32.9843463,30.0631003,3.723369,3.8047269,40.5067308,34.1488507,48.0167129,16.9690365,31.5118478,57.1939925,26.896033,42.252106,18.6577855,2.8141456,12.3350289,10.9261993,32.9656029,29.8512016,3.5573828,3.6465255,41.3450723,35.0844584,48.6890609,15.8572845,32.6742846,55.5172624,25.9639869,41.6099965,17.7704624,2.6384832,12.834096,11.6217374,33.5745072,31.5543569,3.6767346,3.8501732,42.9900465,36.4761335,49.1107416,15.1194125,33.9557776,55.1057391,25.3345066,41.1410146,17.2643987,2.818736,12.8408992,11.4090724,33.1949672 +1029,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5832904,4.7055439,45.8840051,38.2385545,68.2177394,10.6078603,31.1373559,57.5331469,24.9172221,34.4016102,14.9124339,2.6608777,14.0786975,11.4307511,39.0461149,38.6058069,4.5872824,4.7160745,46.2432572,38.5378072,68.2305294,10.3080723,31.5723064,58.6665449,25.4299616,35.0122133,15.2221792,2.8032615,14.6200224,12.0446834,39.1972793,38.376045,4.5461367,4.6762646,45.3526178,37.5862347,68.3154056,9.9978676,30.9899268,58.4048575,24.9394734,34.6863788,15.1044568,2.7613136,14.600147,11.4720716,38.7104073,38.6725427,4.5217084,4.6660918,45.7563408,37.9190005,68.4806658,10.0323987,31.0142762,58.5122767,24.8356193,34.5858132,15.2388496,2.7279034,14.5822435,12.0079686,39.2824982,38.2468596,4.5203503,4.6609398,45.0370284,36.9066191,68.8687583,10.0955967,29.8485047,57.7620458,24.6160887,33.4810047,15.145954,2.6270524,14.911012,11.7370908,38.5873939 +1030,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.3224754,1.3335832,24.9879846,20.5200528,80.2631663,9.1658632,32.7395387,64.5002387,28.4837021,40.7161951,20.4705732,13.0532615,14.8545357,11.4938246,38.6844106,11.9590571,1.3674829,1.3926486,25.5325273,21.0860137,81.6426045,9.3341959,32.3690111,64.6013988,28.1038324,40.2696894,19.9774252,13.1816584,14.7072987,10.6970527,38.6082136,11.7044715,1.3362304,1.375089,26.7380551,22.3284803,82.9611639,9.4698311,32.1432697,64.7496734,27.4416671,39.670534,19.3281712,13.2547772,15.0357186,10.5959455,37.9952028,12.2022122,1.4623288,1.5095064,27.165742,22.8563502,83.8722688,9.9243965,31.526558,65.5044877,26.6920676,39.2503691,18.2857426,13.1896244,15.0057426,10.5837704,37.9026714,11.9749894,1.6135227,1.6568858,28.3795666,23.8587315,84.8336029,10.5093388,31.0110673,65.0861534,26.0926588,39.1703746,17.6024146,13.0035358,14.9747971,10.7355618,37.7543931 +1031,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.523907,3.5809764,37.602971,30.8952042,66.268495,10.6815983,26.3796579,61.0151096,30.6696769,38.1124174,16.056108,3.314024,13.2674698,11.4004007,33.6691511,25.147154,3.8372084,3.8875868,39.1423774,32.7119585,66.3608818,10.0636121,26.5218216,61.6920271,30.6981739,37.9791247,16.0126327,3.4763385,13.4444903,10.9584865,33.8272918,25.9062795,4.0443389,4.1077071,40.8929868,34.2959728,66.7674063,9.7791232,26.3959399,61.2695685,30.2992784,37.6754539,16.2542962,3.4974207,13.120857,10.2569667,33.6621293,27.2711502,4.0667793,4.1297465,41.4747528,34.7533634,66.5129082,9.4384566,26.7970863,60.7235131,29.7114733,37.1822257,16.3108453,3.3820388,13.7413495,10.6357531,34.0660215,27.8679027,4.2367991,4.3006118,43.1183307,36.0081578,66.7372095,9.1768036,26.509543,60.2140528,29.5279023,36.2017356,16.0485762,3.2892697,13.6541106,10.6406082,35.0621333 +1032,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.5145579,1.5406965,22.4587704,17.3955381,84.1640971,11.422457,21.1638641,58.9405003,23.4595668,45.4892318,16.1297092,3.846167,15.5455843,12.1622641,33.3196606,8.3747885,1.8052954,1.8305673,22.302548,17.5565874,83.7212253,11.5901562,21.3314628,58.4817965,23.4278269,45.2833632,15.8579427,4.1731438,15.2908503,12.5981217,33.661434,10.1160415,1.7551446,1.8103041,23.5025416,18.6085109,83.9444253,10.7707644,20.9812448,57.636194,23.2340631,43.4325832,15.330314,3.8755372,15.7476981,13.0844627,33.6487646,12.2143609,1.9829473,2.0368984,24.5172189,19.6531782,84.1508443,11.3058723,21.2013015,58.1770461,24.5696428,41.7102418,15.1010451,4.2103377,16.0856571,13.7518062,33.903875,13.4309148,1.9984954,2.0293747,26.2066068,21.2385949,84.1913535,11.645346,21.1238898,58.9945407,24.6477076,40.2633489,14.2618458,4.0244951,15.476175,13.6625068,33.7798357 +1033,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0490874,2.0516379,29.7106171,24.9835905,55.6020981,12.675199,36.6766505,64.2361486,31.8925707,46.4164538,23.7263663,4.407072,13.7466901,10.5778779,29.2832031,21.2710238,1.9942948,1.9968766,29.905042,25.1904288,55.1072791,12.6003965,36.7400045,63.8195218,31.353892,46.0110019,23.7476045,4.5675863,13.1193861,10.5977665,29.4925077,19.7498306,1.8773925,1.9148986,29.1282348,24.5057062,55.9273109,11.8857637,36.3335687,62.9007046,31.199582,45.8490341,23.0124619,4.4835257,12.7522496,10.3510413,30.7830204,19.8195515,1.8371398,1.8777958,28.5654076,23.7758776,55.4868459,11.5624643,36.3813573,63.3353702,31.9774497,45.929404,23.6872416,4.6847499,12.9280274,10.4612102,31.3660383,17.8859375,1.6982818,1.7480374,28.2260643,23.3939375,55.8804638,11.3925996,36.6124073,64.6775755,32.668584,45.3192905,23.9873939,4.3391768,11.8687978,9.6906464,30.8125466 +1034,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.011033,3.1214693,39.4120103,33.4747922,61.8990786,10.5801925,24.6394317,58.5268961,26.6320948,42.5856549,17.9280791,2.8178316,14.8581321,12.15144,32.3823468,24.3015728,2.9016264,3.0047865,40.122904,34.2193409,61.9526349,10.2747755,25.3701775,58.5950396,25.9600496,41.2724225,17.0039097,2.7867853,14.4713789,11.7253432,31.8953735,25.0611598,2.9701953,3.0753567,41.09052,35.2968413,62.4091873,9.650178,26.3604108,57.325701,24.2897606,40.0853123,16.2474464,2.7389601,14.7625833,12.3104055,32.4469009,25.7079155,2.9019993,3.0269132,42.1332116,36.2701388,62.5576704,9.5691749,27.0693618,56.327202,23.2885043,39.247218,15.7265425,2.7850442,15.2857818,12.3228027,32.8522989,26.3618149,2.9349966,3.0233075,42.6757009,36.9605253,63.0487591,9.1657115,28.3785631,56.1157101,22.8571853,37.879493,14.9693367,2.7607466,14.8912036,11.8931859,32.6639074 +1035,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,4.5482474,4.6404356,50.5995871,44.3181835,63.9977975,10.9883979,33.2760585,56.8187344,24.6030634,37.197902,15.7642366,2.5414679,17.077424,14.0525326,34.7491482,35.8487114,4.4283195,4.5319253,50.5333328,44.2260863,64.2164493,10.7065883,34.1570811,57.3111888,24.9727855,37.4441408,15.800618,2.6163153,16.9672481,13.7718925,35.2834097,35.1527069,4.4931702,4.6239185,50.3409706,44.0858239,64.7032745,10.1356721,35.0619639,57.5242494,25.3283123,37.0504787,15.9138493,2.5592255,16.7444243,14.08012,35.6257553,34.3803925,4.425402,4.5271914,49.862662,43.8708977,64.9599163,9.790124,35.1127551,57.039511,25.0879918,36.5337166,16.0539789,2.6528474,16.6885574,14.0436199,35.7653732,33.6565046,4.2440609,4.348393,49.1095392,43.250373,64.7567984,9.5702437,35.3287822,57.3711234,25.3444159,37.1609408,16.0985767,2.7339878,16.3203626,13.6691812,35.9052898 +1036,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.3541926,4.4073039,43.27214,36.8435476,52.5870348,12.5403148,36.0526454,56.2943866,30.6036898,42.5004533,19.8406983,3.0082428,14.9431069,11.8302914,37.7128176,30.8298415,4.474162,4.5613151,44.6030348,37.9173219,53.0800254,12.5923023,37.3532901,57.1431741,30.5938192,41.8675839,19.742139,3.2047186,14.5115186,11.7638286,36.8395453,32.7834635,4.612044,4.6982725,46.5658158,39.7556204,53.5774458,11.3691238,37.6903586,57.7262542,29.5730354,42.0620439,19.5800808,3.0170792,14.8707345,12.3670652,36.9838184,35.6295393,4.7488158,4.8378034,47.5176068,40.3334926,53.6578037,11.2595196,38.7602414,58.0399273,30.2152536,42.672979,20.025189,3.0966523,16.3235148,13.0028486,36.1922285,33.7050919,4.7571966,4.829066,47.8497962,40.6413095,53.1451317,10.5630587,38.4236088,58.4754326,29.5626054,42.2066303,20.3902697,2.6121656,15.8728571,12.5787346,37.475724 +1037,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4594579,1.5034027,27.5503428,22.7616737,55.6158623,11.2807849,36.5416318,65.4284433,33.7222201,46.3496956,24.2027758,4.1935215,11.8379408,9.1904024,31.1407624,14.1796003,1.4424844,1.4873727,27.3450478,22.4802496,55.487305,11.1612138,36.7546825,64.9798595,33.7913204,46.2305424,24.3153835,4.1390789,11.4474963,8.7723976,30.92426,12.8792451,1.4515359,1.5141125,27.248658,22.0295466,55.0115204,11.7803029,37.2944377,64.8570154,34.3403002,47.0096386,25.238868,4.395084,11.0100772,8.3989177,32.1828913,11.6704355,1.4101136,1.4718054,26.4036433,21.6401947,55.9731947,11.5916369,37.425151,64.9975645,35.3087675,48.1697193,25.5094528,4.4815236,11.7259618,9.2277676,31.4304371,12.9914905,1.4361632,1.470804,27.0300653,21.9951792,55.490691,12.2945887,37.5919598,65.465479,35.9144455,48.5661417,25.8382973,4.7570482,11.7482135,9.031034,30.4558866 +1038,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5501301,1.5847846,26.5722029,21.6070776,55.5972332,12.583595,37.3217747,65.7291529,35.4239131,48.3081609,25.8550608,4.5603725,12.1765724,9.8197159,30.5116807,14.3015236,1.5606985,1.5958475,26.1545392,21.3660943,54.953305,12.6425249,37.1502694,65.5774139,35.3508444,48.2465851,26.1296021,4.6823492,13.0599441,10.5455639,30.1047294,14.3628263,1.6055722,1.6400316,26.2454031,21.6273902,55.3041709,12.5291453,36.2174317,65.3364877,34.7792221,47.7615091,25.3237125,4.4393178,13.1011447,10.8130552,29.8029416,15.0319552,1.5948513,1.6342481,26.6956429,22.0471278,55.7543363,12.7755492,35.7056622,66.0241975,33.9506643,47.2030617,24.34754,4.2843403,13.2343221,11.4273248,29.6237611,14.9122583,1.8087089,1.8641855,27.0414434,22.2903764,56.2114403,13.2053345,34.8679042,66.3187776,32.7874732,46.5568559,23.2846191,4.4209855,12.8873021,11.3590034,29.0125196 +1039,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8814443,1.9461114,27.8811101,22.6590228,56.477983,13.5684709,32.989053,65.9230581,31.3601393,48.0044409,24.0604732,4.1255032,12.583477,11.1735786,29.8546727,14.6995495,2.0068871,2.0633757,27.5045213,22.6034076,56.3202078,13.9382664,31.5500647,64.2836431,29.6389284,49.5294729,24.5738266,3.9810142,13.2864233,11.7527199,30.0442567,13.4156871,2.0391391,2.1238991,28.0352229,23.0210765,56.8326145,14.3079945,29.9495309,62.739754,28.9387789,50.7897146,24.4390436,4.2685144,13.0847472,11.4347707,30.6668829,13.0525669,2.3863835,2.4670901,30.0136167,24.4267562,58.163825,14.8130341,28.4396904,60.7944978,27.6201249,51.2629607,23.5518838,4.0143026,13.6223631,12.0526815,31.3241266,13.89211,2.6078409,2.7197389,30.6028618,24.7439601,58.3704814,15.5791965,27.6598301,59.3324076,26.5343457,50.8348693,23.2206975,4.3173726,13.2685738,11.7603709,31.7925413 +1040,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,4.1750688,4.325119,48.9990089,43.0892286,64.6176054,9.3997889,35.9211443,57.412208,25.5985708,37.397878,16.3225848,2.5878143,16.7829323,13.9139459,36.5542922,34.4461485,4.0261936,4.1709824,47.8422744,42.1276117,64.4520055,8.94672,35.8701758,57.5830439,26.056789,37.8053821,16.7238647,2.5597055,16.5177548,13.5335358,37.3098982,34.6410505,3.9896601,4.1356025,47.0402416,41.1594053,64.3282159,8.8677814,36.3802927,58.3265358,26.7711385,38.2125247,17.121341,2.6805135,16.3437598,13.8919754,37.7303156,33.9430036,3.9821263,4.1025714,46.270309,40.0476895,64.4768886,8.9967214,35.3317851,58.2883478,26.6319839,38.3395841,17.2443771,2.4615621,16.2336041,13.9200868,38.1564656,34.8586512,3.870424,3.9816436,45.0754677,38.6482037,64.2322384,9.1073051,34.090882,57.2930512,26.682438,38.1885579,17.3066154,2.3812769,16.8540912,14.3308001,38.4007999 +1041,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.825218,1.8587704,29.5531195,24.9043131,85.3665754,10.8438668,30.2283369,64.3852423,24.9121771,39.7248274,17.7693197,12.7341892,15.008141,10.4718741,37.5264238,14.2047997,2.0746254,2.142701,31.2408601,26.3628118,86.0040194,11.3014926,29.1374944,62.8326329,23.4418779,41.1706392,17.8979933,12.4124631,14.8835645,10.2306818,37.6749037,14.8393981,2.3556084,2.4148926,32.4164251,27.2359951,86.3896005,11.4222483,28.0919026,61.4866416,22.2881163,41.8182933,17.8661907,12.0048341,14.6991056,10.3181938,37.8734852,15.3584307,2.6822382,2.7528173,34.0329273,28.5161344,86.4147301,11.5341782,27.2167705,60.1773387,21.7835748,42.1721503,17.8188188,11.5610508,15.2071159,10.842154,38.2768018,16.8567123,3.054206,3.1227792,35.4975358,29.6536556,86.7467881,11.7579427,26.1147638,58.9625236,21.3666136,42.0271371,17.5080608,11.0808404,15.0033385,10.8351896,39.366972 +1042,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.9543618,5.0016022,49.2119919,42.016271,54.3787385,10.3241194,39.7037427,58.6045474,29.1026763,41.2465107,19.8928749,2.6126282,15.8155316,13.388769,36.121203,39.2292143,5.7345399,5.780383,50.6051909,43.006606,57.0835279,9.7467512,38.7123821,58.1440509,27.9151678,40.3511831,18.8257021,2.8237917,15.8894117,13.1200395,35.9368829,39.582044,5.4035345,5.4843479,50.0730055,42.7644631,58.7505278,10.0197294,38.2519492,57.119731,27.4734149,40.324408,19.0418545,2.5915116,16.2905859,13.2219229,34.6725552,37.9354578,5.3504524,5.4733004,50.996642,44.2101194,61.1636736,9.7148923,36.9904148,56.2493155,27.1322112,39.9676226,18.8170694,2.2635603,17.9442019,14.1797175,36.0032084,35.3540595,5.0530118,5.2379946,51.0695726,43.9725292,62.7707744,9.6610374,36.8306287,55.6714062,27.923901,39.4004772,18.1965701,2.262032,17.2545492,13.806645,36.6884001 +1043,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,5.3893906,5.5728133,47.5790526,38.9204875,86.0833869,8.8392153,30.127148,56.2477266,26.6749814,32.1764483,14.8568766,5.3202745,17.5919648,13.4156257,42.5405224,37.0371398,5.4636209,5.6997242,47.1889594,37.8767724,86.6431375,8.7419315,29.7599349,57.0462035,27.5891347,32.4038659,14.0264718,4.8375729,17.4638626,13.5956526,42.1887072,38.8559015,5.5665876,5.7496871,47.533548,38.6292793,86.6621633,9.0437137,30.0053583,57.7897189,28.6921106,32.7804247,14.4316704,4.7913137,16.7502095,13.357229,42.2704259,39.1946929,5.1909216,5.3273456,47.5745697,38.3892518,86.8639403,9.3156261,29.7141123,57.887247,28.9464014,32.4199107,14.0824616,4.5844285,16.7701981,13.1008445,43.2657447,38.6986968,4.9017811,5.078598,47.5389156,39.329074,86.6169822,9.2168558,29.678587,58.0940432,29.9303712,32.3766601,14.7787504,4.7717759,16.7709817,14.6803004,42.8892874 +1044,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2876444,2.3477538,31.5501143,25.5315337,53.8124862,15.7074085,33.3678917,68.8744688,36.5372624,49.73034,24.8109336,3.3453854,15.3003021,11.9720725,35.3698735,17.0086526,2.5120204,2.52873,32.3773822,26.1021586,54.7853233,16.1605242,31.0872187,67.4311923,34.7302784,51.0073286,25.0279114,3.2204968,15.3087275,12.3640446,35.435039,17.5857946,2.6452599,2.6546603,32.8540564,26.4769384,55.5190765,16.2954547,29.9110871,66.0279636,32.6669148,51.2577097,24.925039,2.9897669,15.0675976,12.1538251,35.0220133,18.0335498,2.7539612,2.7752997,33.8895702,27.290555,56.1825204,17.2554555,29.1924178,64.4935685,32.1004241,51.8692222,25.1179718,2.7738527,14.7830225,12.071036,33.5936164,17.3342305,3.1520572,3.1778051,35.3927337,28.7137495,56.2694666,17.364554,28.8867169,63.5531023,31.979413,52.2602645,25.4882798,2.6869663,13.987739,12.0385434,33.7735807 +1045,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,4.5990454,4.7363989,44.4619532,36.8759197,63.3359459,15.3010437,29.8986044,60.0633683,25.8935455,36.3117906,15.9569072,2.040556,14.9226725,11.1713163,37.0129959,33.6172644,4.7826138,4.8768048,45.3565386,37.7990953,63.8796373,14.6272788,30.5382499,60.2167922,26.1525176,36.2945417,15.8360332,1.8813838,14.0080626,11.052093,37.2075257,33.3825237,4.8287906,4.9203011,46.735271,39.1648935,64.4918315,14.3434604,30.6572029,60.5551358,26.9977581,36.5571216,16.4426149,2.0039792,14.5283937,11.4017208,37.2253445,35.1312137,4.7728401,4.8531567,47.5197429,40.1653513,64.6422965,13.3615128,30.9703366,61.1472374,26.9901109,36.1732331,16.3501481,1.9380812,15.0997906,11.5060548,37.3675895,35.4208699,5.0167865,5.0457145,48.2891315,40.570295,64.8233406,12.813096,31.0610237,60.4563126,27.0576648,35.5402893,16.4193591,1.8896933,15.2817294,11.786526,37.3421399 +1046,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,3.3434083,3.4355411,37.065255,30.9814022,86.8695316,11.8994013,25.3402346,57.1202975,21.1159433,41.5187805,17.4033732,10.7512247,15.4040384,10.8466779,39.4083737,18.7842534,3.6089433,3.7046367,38.0611675,31.91413,86.8286628,11.7866549,24.3247628,56.9392495,21.1006667,41.0003193,17.2253633,10.4889509,15.2792732,10.8536325,39.7193242,19.1050264,3.7180635,3.8026549,38.789738,32.6230854,87.311549,11.8897156,23.5698809,56.6928684,21.1699525,40.1624065,16.1839222,10.2668874,15.6433344,11.5360441,39.5582367,19.5887836,3.7929364,3.8751548,39.8640784,33.517508,87.6072831,11.833699,22.767314,56.5360422,21.4104834,37.8240136,14.9301292,9.9989871,15.3345714,11.5964487,39.1942569,20.444109,3.8933311,3.9816653,40.8742511,34.489618,87.8278358,12.0021769,23.0240031,56.53811,21.2061815,36.0801398,13.9851334,10.0281214,15.156154,11.8697734,39.6402878 +1047,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6628651,2.7667871,31.6706527,25.6905979,59.1970833,15.8981548,26.7497908,58.0962308,26.1778047,50.9926998,23.3447961,4.259553,13.4717866,11.3239345,32.0620392,15.3801342,2.7644627,2.8582411,32.3880818,26.2370429,59.1675343,16.1005011,26.3463064,57.0492816,26.6429015,50.4787637,23.2520634,3.9285572,13.4003256,11.3845734,31.605471,15.9105441,2.9622006,3.0455889,32.848129,26.6669733,58.9572537,16.4343108,26.3395811,56.4018118,26.9789793,48.6452794,21.2903623,4.2971898,13.3491281,11.3833799,31.1999439,17.9391047,3.0742246,3.2144659,34.1232707,27.6834668,58.7734224,16.4659589,25.9021424,56.8981482,26.9317062,46.4357248,19.6716014,4.3455876,13.0764098,11.1726842,30.8665454,18.7298234,3.088401,3.226545,34.9480671,28.4977626,58.3330445,16.0214473,26.7850765,57.0995764,26.7866537,44.5662206,18.5322861,3.9584832,13.520701,10.4676467,30.0369496 +1048,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.504867,4.6455091,45.1298035,37.8440233,66.8649082,8.9762135,27.1522042,60.7279855,29.6700433,35.9791458,16.0840932,3.0366535,14.4484602,10.6414906,35.1753888,29.8481677,4.5626736,4.7240406,45.9154025,38.4646496,67.0458714,8.0266964,27.0867244,61.0003364,29.7843279,35.8514164,16.5134474,3.088339,14.535673,11.2286657,35.7164142,32.142012,4.537277,4.7161752,46.7002991,38.9112395,67.1494486,7.7734206,26.6068537,60.8000793,28.7669709,35.007398,16.3763879,3.0376647,14.1725462,11.0110808,35.0925304,32.1654191,4.5939432,4.8268298,47.5793792,39.531326,67.1957378,7.570323,26.2935326,60.6814571,27.7720777,33.7442498,15.9378426,2.8108301,13.7852338,11.1025199,35.7817299,33.8866697,4.6357541,4.8734765,48.1656479,40.1367299,67.5198405,7.753202,26.1165284,60.7463323,27.9195278,33.5175244,15.8506308,2.9842726,14.1154014,11.5450505,35.7076412 +1049,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7671155,1.8841939,30.0526785,23.4323802,52.8954999,17.5696539,27.6798435,63.4681121,29.5196637,50.5715379,24.3785972,3.1441317,15.7610485,15.0379284,40.0894962,15.9392943,2.180895,2.2324287,32.7068307,26.0365419,53.2735776,17.6668162,26.8978541,62.4006619,29.4967321,50.532737,24.2355572,3.1009599,15.5516232,14.2747569,40.3177251,19.880053,2.5337404,2.5889584,34.8495081,28.0588822,54.0538605,17.4351572,26.7271997,62.6628451,29.7743808,49.1746724,24.3346975,3.4043386,16.2954383,14.2260134,41.3983783,23.9782924,2.6866282,2.7079623,35.000891,28.7896272,54.9562576,17.4529287,26.6463347,62.2649743,29.8018015,46.702955,23.1379818,3.2238424,16.6652619,13.4190022,41.8156871,24.7304989,3.0123809,3.0418204,36.6885931,30.665324,56.0552658,17.8757337,26.5238547,61.8874508,29.4885372,44.5019798,21.9241716,2.9225617,16.3967701,13.0598605,41.4100143 +1050,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.9937744,3.092818,43.3416172,37.430392,64.0735881,8.7711128,29.7439242,56.6297515,22.9077042,37.4408906,14.7276789,2.6579196,14.5758091,11.7695188,32.6431867,27.8101043,3.0812239,3.1807029,43.3642253,37.7091198,64.806649,8.2216775,30.3394149,56.6206565,22.580349,36.8830572,14.7735099,2.6757797,14.6019156,12.0342967,33.2804821,27.8815576,3.1062763,3.1836844,43.2845974,37.8118798,65.3854213,7.9338782,30.4758225,56.2814205,22.5889217,36.4367105,14.6049975,2.7683271,14.7868963,12.0535995,33.6272518,28.9116074,3.1376769,3.2220635,43.329365,37.8193677,65.7723619,8.1884186,30.4046212,55.6231143,22.731274,36.3045289,14.4408623,2.782754,14.8569569,12.440921,34.1839958,29.3607105,3.171939,3.2611229,43.0611587,37.617393,65.6513913,8.4645799,30.1417932,55.9462486,23.694275,36.3945908,14.6426879,2.9452499,15.0623501,12.1344586,34.2441656 +1051,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.8239594,3.9331321,44.23276,37.7992937,55.5517373,17.2649039,29.103448,59.4484364,28.4224142,42.8587934,19.7868911,2.3840897,15.2783461,11.8432251,36.0963064,30.191588,3.9085633,4.0055516,45.2867467,38.7174134,56.1664368,17.0555581,30.0197569,59.6119718,28.3538677,42.2292919,19.4761373,2.3345004,15.6441019,12.0600517,36.977567,30.8012876,4.100547,4.2013069,46.288238,39.6712095,56.3589983,16.5424299,31.3609038,59.4439253,27.747808,41.7460032,18.8555076,2.3041951,15.6655846,12.2788885,36.8938459,31.3217503,4.1622447,4.2655739,46.8258954,40.3536108,57.073844,16.4100705,32.3165812,58.7168979,27.0842802,40.7403086,18.1176573,2.3556243,15.6688023,12.4291046,37.8420555,32.5613543,4.1094693,4.1861519,47.2822852,40.7144503,57.3934037,16.182066,34.8289519,58.6077137,26.9744273,39.9504636,17.4628577,2.3348427,15.9341618,12.8955305,38.098438 +1052,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.9631358,2.022791,27.6321313,22.7757831,84.9427228,11.0969771,21.5558552,59.4688121,25.0836226,39.3055641,13.3122715,3.954697,15.9959164,13.7359165,33.2270314,15.1481074,2.0568977,2.111845,28.9586296,24.2474039,85.3255716,11.1415689,23.1124214,59.9740016,25.3701675,39.2486595,13.4529723,4.1265415,15.6407437,13.0014465,33.4172588,15.604965,1.9077051,1.9790371,30.5947056,26.0908766,85.102057,11.281599,23.8556209,60.2160183,25.7231992,38.7952441,13.6396428,3.9728922,15.9498606,13.3787415,33.3213545,17.9243908,1.9242732,1.9964591,32.6505838,28.1262194,85.8871781,10.4464152,24.7401362,59.9295194,24.7773594,38.4371725,13.047471,3.9903384,17.4945393,14.0088188,33.7858469,17.200679,2.0944821,2.1614485,34.7985481,30.4205514,86.4860788,10.2147129,27.1723347,59.7213295,24.6742223,37.7805653,12.2193912,3.8196808,18.0858728,14.6137229,34.1491168 +1053,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.2432868,3.333134,43.4925139,37.9949748,66.0515417,8.0303406,30.7364267,55.8754271,24.0078477,36.3970045,14.8236877,2.8787229,14.9956525,12.3697278,34.6631949,30.7824846,3.2002614,3.3148681,42.9347614,37.4872197,66.5762516,7.8370608,30.8063036,56.5479703,24.4503951,36.8709178,14.9562588,2.8932682,15.8633322,13.0846408,35.0550614,31.3451296,3.1777174,3.2832415,43.1654994,37.8370726,66.7056083,7.7863767,31.1910553,56.9364883,24.6534211,37.1403097,15.2261595,2.8831016,15.9317676,13.2972134,35.5337819,32.1014658,3.1831678,3.2657621,43.0805986,37.7248243,66.2573429,7.7652729,31.0476534,57.7179377,24.9151014,37.1541082,15.0117,2.8640369,16.0844348,13.1785047,35.8914489,32.8253649,3.1283081,3.2126115,43.2342097,37.6374891,66.2495324,7.65964,30.9391232,58.1124889,24.6866547,37.4422033,15.3211712,2.8558212,16.4184177,13.369558,35.8859773 +1054,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.3235856,4.4098695,47.9473405,41.6027501,58.4665544,15.4596454,35.7918996,58.755171,26.9933004,39.5502366,17.0214833,2.3788843,15.9547045,13.1123013,38.2181701,32.7217622,4.538664,4.6129904,48.473038,42.1545962,59.0804732,14.4273019,36.3325418,58.5228547,26.4849108,39.2249271,16.5930427,2.3956736,15.6771095,13.1639198,37.1033969,32.8702789,4.4647926,4.5040526,48.7214999,42.3076977,59.2759392,14.0391755,37.0482004,58.5564538,26.7626406,38.3198785,16.2761931,2.3761722,15.8749285,13.4994215,37.0634618,33.7973771,4.6316238,4.6740624,49.2613961,42.8068517,59.3134362,13.558771,37.0990337,58.1254134,26.6215185,37.4078882,16.0014091,2.5065362,16.5359964,13.7854933,36.952179,33.9094696,4.6262523,4.672645,49.3431142,42.6747962,59.1471066,13.0107729,37.441635,58.255544,27.047682,37.726741,16.2648829,2.5790591,16.8356187,14.4799822,36.8095889 +1055,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,5.3975159,5.4697643,48.3337806,41.0605668,66.1165455,12.4278897,30.8712546,60.5556796,26.6824779,34.9483029,16.3780924,2.0245699,15.1729885,12.0307015,38.0091777,37.1327561,5.5546542,5.6896196,49.0724561,41.7021849,65.9798193,11.8500001,30.3058424,61.6090165,26.6090256,33.8164518,15.8643516,2.1675491,15.5135656,12.0799916,38.6375928,37.1795005,5.7121639,5.8560235,48.9661293,41.5919366,66.3008195,11.3003767,30.2408659,62.0301558,26.4028511,32.8083337,15.179979,1.9984078,15.1425475,11.7726245,38.9945585,38.1640478,5.7899022,5.9607304,48.6181856,41.3666593,66.1485569,10.9633978,29.2882055,61.3192215,25.6489037,31.9641201,14.4902254,2.1808896,15.3867132,11.5866965,39.851068,39.8415789,5.8932952,6.0546498,47.7712933,40.4355788,66.6342003,10.3690875,28.5039254,59.8298522,24.7502075,31.231425,13.6781029,2.1199009,14.2505447,10.9863021,40.0276964 +1056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.0345205,3.0955343,36.8115699,30.0071795,56.5223968,17.629139,28.6902023,61.9212896,30.5501917,50.903008,25.4906717,2.4735221,13.8193802,12.1933212,33.7913543,19.2177756,3.1648587,3.2292021,38.15541,31.2908216,57.2285112,17.6445408,28.5789348,60.7399966,28.9479505,49.9118879,24.6937928,2.3279769,14.4390993,12.579912,34.6099607,20.3477514,3.102227,3.1352067,38.9443735,32.3943029,56.4088309,18.114744,27.5894411,60.939346,29.2913201,48.8566586,23.982139,2.6004622,14.707366,12.5701587,34.7043896,20.6819324,3.1933545,3.2740455,40.0699295,33.44957,56.8212298,17.7114153,27.6458748,60.3297034,29.6844248,45.4767564,21.9648749,2.7018411,15.1762208,12.4038551,34.7695291,22.2169212,3.274486,3.3670802,41.7281926,35.1002579,56.8384757,17.5511161,27.6027587,60.0700346,29.9199038,43.8324605,20.7348274,2.8360024,15.5053201,12.0840107,34.1861913 +1057,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.5421306,3.6708637,42.6414982,36.3680225,57.2500787,16.6817057,28.5854122,60.2096983,29.0781516,42.8693263,19.8592389,3.1972826,15.5906828,12.4306648,34.9222406,23.1772184,3.7057668,3.8210801,43.7826986,37.4056623,57.1732949,16.2506722,29.1708268,59.8977432,28.8322849,41.9559043,19.268152,3.2849728,16.3483048,12.4583613,35.0530015,26.3149376,3.8558197,3.9390751,44.9607992,38.6127784,57.3391994,15.8054086,30.4171843,59.521336,28.633202,42.3841487,18.9056794,3.3976717,16.4849044,12.3247134,35.5824377,25.0301684,3.8301218,3.9078477,45.8228056,39.4693627,57.3865029,15.2405617,31.6763373,58.8621368,28.5642893,41.8672688,18.3720782,3.34918,15.7489034,12.1419828,35.3533296,25.9259803,3.8846027,3.978691,46.4589701,39.9130881,57.6937111,14.4687832,33.9715134,58.1620119,28.4606104,40.7821706,17.9922929,3.1411639,16.1441306,12.0014288,35.6690228 +1058,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,4.0232184,4.1076658,41.8477219,35.5334632,88.0405733,11.9328286,23.6379175,56.0162817,20.8333278,34.7657796,13.4147538,9.9668278,15.2187368,11.9607882,39.6817175,22.439675,4.0201211,4.1212232,42.422629,36.1073475,88.1841588,11.7824019,24.6547218,56.0198118,20.6815412,34.3825,13.0954734,9.8428753,15.7587539,12.0520206,39.8203609,23.1001707,4.0353372,4.1391178,43.4323448,36.9418421,88.5060435,11.1869234,25.5828981,55.9734955,20.2321606,33.6837352,12.5896764,9.859508,15.6960215,12.1824883,40.4074557,23.8236095,4.0334226,4.1507428,44.1373601,37.6092834,88.7986368,10.7432699,26.3567025,55.2061385,19.6860235,33.4286274,12.2028286,10.1364248,16.3969658,12.3539102,40.9617388,24.9232044,3.9469849,4.1212897,44.501366,37.8854389,88.8604836,9.9691419,27.5292791,54.8414802,19.4921234,32.5474556,11.990104,9.9909148,16.3800239,12.2797967,41.8077351 +1059,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4.7031626,4.8687876,44.7409627,36.3571031,63.1295895,10.9583962,24.8563566,58.6188832,30.4565146,37.9573004,19.4012125,3.6306985,13.8275432,11.0112777,41.5742577,30.7552729,4.8009832,4.9703616,45.7574945,37.4944555,63.6603217,10.8315798,25.4924251,58.054782,29.5498804,37.2619855,18.8450265,3.5359144,13.7345555,11.2685228,41.3563272,31.880343,4.9283822,5.0703726,46.3308327,38.2410951,64.7139967,10.6254985,26.611158,57.5257666,28.8648086,36.6989784,18.2492845,3.5522213,13.9565195,11.2227456,41.2229834,32.4928678,4.9348943,5.0747169,46.7555403,38.5607594,64.9464601,10.5151497,27.4300966,56.7981138,28.5993165,36.2787288,18.0491018,3.4824535,13.8124866,10.8812203,41.9811407,33.5268024,4.9571379,5.1239212,47.2836565,39.1784864,65.6208081,10.277291,29.0110896,56.2397227,28.2292214,35.4093649,17.5934545,3.4394527,14.2655448,11.1050765,42.4402728 +1060,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.804818,4.8783522,50.631854,43.991617,59.1535351,12.423286,37.1757838,57.8708158,27.5803781,37.9278396,16.7660602,2.502591,16.4912935,14.4397503,36.5872329,34.9998799,4.9156253,5.016169,51.4511578,44.8206783,59.9819065,11.8284659,36.1384288,57.4051165,27.7107275,37.4691834,16.5475322,2.3780129,17.5870384,14.7438865,38.4133577,37.3219455,4.8872109,5.0024636,51.2864759,44.3787372,60.0730489,11.2444172,36.1084023,56.6385827,27.5783641,36.9759199,16.6626406,2.2530059,17.7348265,15.1833763,38.7740057,38.6889283,4.9798346,5.1034057,51.2413948,44.2710162,60.4549913,11.4627964,35.1341917,56.6973261,28.0721345,37.2999726,16.960975,2.0597853,17.5816111,14.8296885,38.7642715,39.0416695,4.9877458,5.1396429,51.3061457,44.3320532,60.5423503,11.454838,34.6605816,56.2016127,28.4356192,38.090267,17.5123871,2.1024144,17.6677362,14.0947255,39.3888752 +1061,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,3.9395161,4.1234558,44.7903161,38.2358762,89.0250384,9.5809305,28.9111418,55.0847489,18.8546465,32.0441722,11.7051877,10.3389853,16.9407537,12.5052715,43.0437598,26.2366528,3.8863468,4.0715903,44.28948,37.8689483,89.2598975,8.9772624,29.4458309,55.0667942,18.9365464,31.8148584,11.4328944,10.1909846,17.5574981,12.6010238,42.8065318,26.7144521,3.6537183,3.8327528,43.4588089,37.174737,89.6591396,8.5325136,29.4942291,54.9624406,18.8075321,31.4834345,10.9247692,10.3534031,17.6817535,12.7142282,43.3066655,26.5918137,3.5417429,3.7307406,43.0958917,36.9369844,89.9474292,8.0758123,29.2783125,54.1938813,18.4136461,30.7757229,10.5100222,10.7351955,17.3593912,12.6523739,43.1937234,27.0519057,3.4195505,3.5897096,42.0652076,36.168045,89.9219318,8.0119232,28.9473682,54.3140698,18.5319873,30.8948561,10.7296938,10.6680643,17.5575414,12.6884152,43.137017 +1062,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4.1043552,4.2556457,45.2308343,37.9809489,76.1349199,10.5874094,29.7037501,57.1003042,22.5645116,33.8665631,12.2087927,2.6950306,16.5694552,11.1201098,37.2266504,36.6050398,4.0308746,4.155481,44.9814364,38.0636076,76.5263497,10.3462534,30.2052712,59.0119054,23.7893903,35.0195047,12.8662613,2.7437452,16.6296163,11.4427734,36.858626,37.744356,4.0113807,4.1594337,44.5334254,37.7275682,76.7113534,10.0829131,30.0284883,59.3497373,23.5474454,35.4536617,13.2053917,2.6757886,16.7128732,11.6112501,36.5515852,37.5880413,3.8634718,4.0258451,43.3190394,36.5691546,76.8513427,9.5578439,29.8413679,59.1594376,23.1928042,35.0906105,13.0811136,2.5430793,16.44371,11.2867399,36.9856166,37.7787694,3.7877552,3.9390842,42.4874037,35.8750752,77.3366642,9.1390623,29.4185019,58.9652905,23.0600001,34.2097013,13.1981379,2.7498813,16.2444427,11.6933535,36.4307084 +1063,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9788681,4.0747421,47.2998163,40.5936933,58.2265838,14.2230205,35.3140714,58.7292793,28.1571761,40.7340628,17.676568,3.0547065,15.6837645,11.7295223,35.793054,27.3690412,3.962115,4.0532959,47.939467,41.3589893,58.6594061,14.0192047,36.3656961,59.0306114,28.5178075,40.7379955,17.8928207,3.1000231,16.0304683,12.0345636,36.2951426,29.2343723,4.0763556,4.1642342,49.2076175,42.4251538,58.4940714,13.7060137,36.547133,58.8955903,28.3765195,39.810133,17.5652071,2.8648551,15.7880233,12.3095508,37.5700462,29.2888279,4.1194129,4.2589192,49.8701619,43.3028742,59.3903893,13.5034668,36.9426911,58.3821131,27.5204782,39.3763551,17.3821151,2.8669828,15.2278973,12.3096937,37.451762,28.5442584,4.3338864,4.4978871,50.2666215,43.6834415,59.3249958,13.0326066,36.1294301,58.3476459,27.3407136,38.3135462,17.2494538,2.6291836,15.4567252,12.7632164,37.2773354 +1064,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7085296,3.7373642,38.4297017,32.0803882,55.5519098,17.698303,27.6926469,61.2335353,29.0610884,43.9061671,21.0425537,2.9567312,15.7047527,12.2777487,41.7042767,30.1405786,3.9612086,3.9894328,39.6857804,33.1177015,55.1821776,17.0173189,28.5068036,61.6722561,28.7853184,43.5650144,19.8327502,2.996889,16.5212724,11.9541271,42.0442059,33.1052484,4.4495487,4.4924406,42.1990768,35.4380667,54.5128422,16.7555766,28.6037564,61.0135345,28.4106312,42.6527853,19.999517,3.2804925,15.4862716,10.5290989,42.0235694,33.1281541,4.3355811,4.3968156,43.0092624,35.9411265,54.7312237,16.1661833,29.8408968,60.7779423,27.3852378,41.5420533,19.324437,2.9509099,15.7867658,11.4507872,42.4449232,33.0607934,4.2203325,4.2749756,44.38173,37.3977431,54.8363815,15.4892896,30.6492527,59.5653642,27.1793845,40.5349294,18.5692387,2.7187104,14.9013687,10.8515175,41.2105337 +1065,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2.1371321,2.1700999,36.716433,31.9723486,86.5778921,9.5878899,28.0600211,60.335184,24.5326659,37.3015893,11.6931011,3.6155062,18.5357459,14.853325,34.709448,18.0848632,2.3632766,2.4276325,38.0896269,33.4058398,86.3066344,8.948867,29.1695898,60.5803455,24.756785,38.0993856,12.3523086,3.769967,19.5164247,16.1166434,36.0466265,19.7585631,2.648729,2.6571692,38.6823221,33.9030474,85.5695248,8.755487,29.9244623,60.312788,24.9054228,37.9683885,12.8393822,3.9704029,20.361022,16.8439723,36.4962215,20.8105566,2.8164717,2.8252913,39.8295629,34.8574004,85.9515953,8.5260986,29.7303141,60.2338078,24.4423867,37.3201618,12.5358792,4.0826945,20.9378233,18.0842997,36.40758,21.5947242,3.1117699,3.156842,40.7510406,35.4446703,85.9350863,8.1831554,30.5266812,60.4529145,24.2547285,38.0372569,12.5241224,4.2779354,21.3657148,18.2654109,36.6882409 +1066,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.3297168,4.3763797,46.057681,38.7194449,55.4203555,14.5665831,32.4617271,59.7170992,26.7995025,39.5151592,18.1142626,2.8071079,16.0551746,11.6718553,41.6583831,33.3681659,4.265711,4.3041785,46.7542246,39.3286835,55.5530447,14.3151928,32.9704549,58.7814738,26.6219474,38.4381681,17.7247922,2.8498671,15.4328072,11.9712398,43.2107475,31.9577236,4.1507794,4.2165798,47.5196059,40.5698296,55.7737425,13.8327456,33.6168761,58.0277531,25.9601174,37.8619198,17.7428733,3.0225165,16.6498303,12.7601162,44.7239013,31.3120638,4.3435584,4.4190809,48.8699899,41.9117389,56.7261283,13.3723328,33.1648969,57.0351625,25.916079,37.5831904,17.795719,2.7616466,16.730261,13.5165837,45.5449736,30.8703876,4.0507951,4.1325237,48.9741907,42.1383979,57.9632365,13.1190983,33.2712896,56.3662042,25.8184481,37.0510409,16.8563148,2.7703549,17.7763603,15.0498974,45.7378071 +1067,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.2970373,3.4441372,35.5858655,29.2288115,57.6268508,16.1101162,27.6879748,57.6205679,26.4528277,43.3087351,17.487739,3.9421986,13.8392186,10.1002149,29.5872121,20.3382913,3.5429594,3.6823422,37.1983136,30.6577183,58.2011763,15.7104006,28.6067763,57.6313305,26.7303319,42.8013644,17.3141641,3.5858442,14.3248997,10.3225251,29.3049829,21.0822424,3.9754706,4.1566877,38.687602,32.1989208,58.1612379,15.686762,29.3761624,56.940556,26.5098594,41.3783322,16.4997446,3.8611843,14.2926252,10.3411547,29.3211142,21.7084425,3.7185801,3.8774987,40.0603733,33.6858993,58.3385663,14.9339155,29.8877944,56.2566363,25.5055943,40.897404,16.2548275,3.7343827,15.1821345,10.6666234,29.5976546,22.732322,3.7332046,3.8729597,41.4736299,35.1267649,59.1970628,14.1240313,31.1118829,56.0227126,24.7742476,39.528173,16.3025729,3.4404194,15.3982889,11.2153462,30.0656421 +1068,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,3.2915392,3.475164,40.782496,35.1760288,90.067965,7.7734421,29.2129929,54.6268865,18.4272296,30.806766,10.6560388,10.693107,17.5006238,12.6915518,42.883904,26.716419,3.1668289,3.3140685,39.8785425,34.4303019,90.3461396,7.8176086,29.9124512,55.7849284,18.8631267,31.7816101,10.6648503,11.0789081,17.1161616,12.1810075,42.1285338,26.8574149,3.0162193,3.1637917,38.4942839,33.1058981,90.5582314,7.7397742,29.9999973,56.2105859,19.2444983,32.0701888,10.9637084,11.1659725,16.9477475,12.2446615,41.0967162,26.3416974,2.7525498,2.9057782,37.8114392,32.3839026,90.3467502,7.8615252,29.0840665,56.7052777,19.3396229,32.0814382,11.1714797,11.3864343,16.7220492,12.1287746,41.253297,26.4281162,2.7815008,2.9219092,37.312282,31.612861,90.0150073,8.0474166,28.3636973,56.5282949,19.723664,32.2372369,11.3370288,11.8076515,16.129415,12.0492023,40.8116618 +1069,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,3.4327026,3.4754715,42.3460723,36.922807,86.1714101,8.1899432,31.1770062,59.4258229,24.0318311,37.7696706,12.872155,4.143388,20.3707957,17.642752,35.7270986,23.5902823,3.8150672,3.8714644,42.6089124,36.9561521,86.1834047,7.8531412,30.1832298,59.153403,24.3873789,38.0939207,13.0259923,4.3419881,19.9264301,16.8930863,36.0678839,27.0665705,3.894212,3.9649204,42.4512207,37.3713202,86.4573063,7.8921655,30.6810138,59.430743,24.3670688,38.6098747,13.2759982,4.1748947,19.5315041,16.1882544,34.9697793,29.1000233,4.0893159,4.2027008,42.8631006,37.581021,86.7797904,7.6274876,30.1829553,59.7159588,24.2807484,37.765024,12.8395353,3.9122765,19.3342427,14.9176288,33.8265231,29.6607714,4.2116089,4.3585008,44.4306458,39.0473898,87.2627042,7.6215168,29.5554309,59.8848734,24.4523649,37.7497801,12.5747827,3.7011342,19.2695281,14.4560903,35.1039494 +1070,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.6779329,3.760656,42.858521,36.5782451,60.0158229,13.4505432,32.3510559,56.6657008,25.6100454,38.8858906,16.4529876,3.4161245,15.566207,11.583774,29.6594678,23.4353584,3.8386495,3.955797,44.4382177,38.0633671,61.3493456,13.5056814,32.7807024,56.2953192,25.4408929,38.4804223,16.3973399,3.536495,15.0921615,12.4747193,29.7869445,24.623021,3.620903,3.7397262,44.9769675,38.5044506,62.1431057,12.9447426,33.5093544,56.325001,25.7141277,38.7587276,17.0651722,4.1415593,14.8668561,12.7839899,30.0134845,25.3335991,3.5516914,3.6612106,44.6640015,38.165077,62.2544248,12.5948947,33.4866742,56.1459204,25.4282632,38.4764445,17.2377923,4.5983627,14.4348382,12.5023961,30.3735886,26.1697768,3.343562,3.4142513,44.9023022,38.2493385,62.5237287,11.9479682,33.2480728,56.2286402,26.0009029,39.0409332,17.8194711,4.3648678,14.98819,12.9386868,30.890081 +1071,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.475337,3.545102,44.6851866,38.2183377,63.9142768,11.6894562,33.7210403,56.7715441,26.2896202,38.7438624,17.6644197,4.5651713,14.9575792,12.6856172,32.5921335,27.8849983,3.4105131,3.5260691,44.2778442,38.1942626,63.7976831,11.5345444,33.3355965,56.8863056,26.3705602,38.721247,17.4645615,4.5318011,14.907145,12.0201843,33.3880328,27.4380456,3.5690559,3.7432598,44.309534,38.3362613,64.9059054,11.2792499,33.1322405,56.0946718,25.8133095,39.3528928,17.4909456,4.562531,14.8789394,12.101947,34.8866147,29.8189091,3.6264548,3.746816,43.1021245,37.1690365,65.2852765,11.1840004,32.8295514,57.0518501,26.2800805,39.0843384,17.7499411,4.5875709,15.3535071,11.7681254,35.628814,29.8351097,3.6399304,3.773389,42.5467904,36.6685694,65.7490756,11.3442436,32.4949941,56.9334361,26.7289004,38.6728179,17.4383331,4.0194333,15.1377312,11.5867595,36.521845 +1072,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.9313676,4.9997809,50.5635305,43.6607981,59.6598366,12.5114575,32.9986882,55.8522069,25.3492218,35.5649699,16.1526927,2.6962025,17.8615629,13.8462079,44.6017283,31.1621415,5.3961463,5.5208475,51.1505559,44.3418108,62.0589801,11.9364285,32.5419608,56.1502899,24.6078599,34.7050487,15.1766995,2.3809623,19.2491339,14.2794942,44.9994729,32.6246107,5.5653718,5.6986462,52.0770523,45.5523222,63.2943906,11.6368533,31.4977292,54.9151761,24.2115755,34.0995946,14.2225954,2.1533458,19.4650075,13.9695365,45.3824297,34.6168715,6.0407571,6.2523512,53.6713171,46.7173441,63.7987529,11.340711,30.8864243,54.4060866,23.461214,33.3295908,13.8260791,2.0845319,20.4039488,14.5331147,44.7964558,38.0569087,6.1071873,6.2782513,54.8150895,47.387389,64.3079567,10.8237666,29.7425878,54.4729025,23.2182831,32.3993699,12.7332863,1.7636647,21.0621926,14.8919998,43.7190709 +1073,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.6583271,4.7979583,51.5226679,44.6478227,59.7050365,12.8639145,36.0991789,58.168802,26.7253088,37.9688138,16.9096434,2.4539082,16.4032098,13.4180232,38.1332463,31.7255646,4.9011133,5.0118235,52.3780051,45.6339932,61.4601105,12.1410961,35.2161481,58.3229176,25.4379428,37.4437478,16.0875913,2.3587609,15.6840225,12.3303585,37.7047189,32.3703841,4.8100235,4.930284,52.742005,46.2230976,61.9213868,11.6185603,34.7601976,57.6122519,24.9663199,37.0195383,16.130528,2.3316069,16.0038564,12.6638676,38.3935133,33.5490615,5.0561596,5.1645261,52.6353988,45.6331818,62.6437916,11.00912,34.1735339,56.6823694,23.6907775,36.4249613,15.2190286,2.3215211,15.8402183,12.520879,38.8006629,34.8688782,5.1359598,5.1843589,52.6677075,45.7737118,63.7960137,10.8276521,33.0400893,56.016759,23.4527357,36.3533947,14.8972492,2.2135119,16.4552158,12.1610992,38.8740548 +1074,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5.163763,5.3603926,47.6904685,39.6679115,66.061328,9.8875614,30.312262,56.6459116,28.8351897,34.9895936,17.4549271,3.4066581,14.7628277,11.1604965,42.6648897,34.2993128,5.2242192,5.4145813,48.7162601,40.7230684,66.0780801,9.1393187,31.1670039,56.9821494,28.7591272,34.8190758,17.5119524,3.3337179,14.9232911,11.3055252,42.5867696,34.6388179,5.171595,5.3614005,49.4454069,41.666937,66.7138705,8.5204417,31.2751708,56.7648097,28.1915174,34.5210602,17.1572115,3.2348673,15.293444,11.7046116,42.9255556,34.4638841,5.2079759,5.3883579,49.5232588,41.6094762,67.5070055,8.0452883,31.7232157,56.3282202,28.0557532,34.142154,17.0319134,3.1875708,15.7119446,11.7185935,43.4108297,34.440193,5.1872552,5.3891452,49.7135748,41.7997396,67.5983649,7.7525988,31.6491303,56.1879534,27.9977538,33.8044293,17.1958275,3.0470232,15.6496497,11.7434372,43.9810944 +1075,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9546671,4.1342561,44.485391,37.7332527,49.1352372,14.8567843,34.7460124,56.1114937,26.4864721,41.8713459,18.2624622,2.588073,12.3971861,10.6416193,33.7871545,33.9596974,4.0755592,4.2742883,45.8528266,38.772743,49.9618538,14.7202667,35.1684604,56.034345,26.6444764,41.3057312,18.1128542,2.7881891,13.2103647,11.3035839,34.0718382,35.45248,4.2690116,4.5214014,47.7799263,40.4742524,50.1373901,14.4430801,35.8126436,56.0730111,27.456946,40.7203833,17.8086804,2.9284271,13.6008187,10.8258201,33.9201191,36.8846423,4.2101771,4.5048116,48.0894707,40.5944585,50.1251089,14.353867,36.0699676,56.0189756,27.9017078,40.9592286,18.5701845,3.1571261,13.5148972,10.7076469,33.3250658,36.5302278,4.3172902,4.6077106,47.8725823,40.6200232,50.2726532,14.4795961,35.35666,56.2593503,28.4788452,40.7619048,19.3913232,3.207936,13.6469982,10.9437572,32.5646431 +1076,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5.411316,5.6055976,50.7456254,42.7893824,67.6821182,7.2883562,32.0238307,56.2844927,27.7994279,33.7187495,17.1560797,2.9678578,16.0111194,12.2736468,43.9987466,34.7946347,5.5262173,5.6924844,51.3330836,43.5223383,68.0812001,6.7732428,31.8573957,56.0089442,27.5532006,33.2767347,16.901465,2.9046624,15.8702971,11.7986893,43.6958951,35.6377794,5.4370805,5.5837096,51.424241,43.5866185,68.2196553,6.5978274,31.571868,55.861811,27.1609015,33.2444086,16.8043283,2.8423015,15.6259349,11.9177865,43.8691262,35.8315356,5.5193449,5.653417,51.2815939,43.5697937,68.5247573,6.5028451,31.4184169,55.7514667,27.4545505,33.255736,16.4391208,2.8243687,15.7972911,11.7277634,44.0920409,35.9445793,5.5659919,5.6958967,50.7211713,42.8703918,68.6330358,6.2814388,31.6794963,55.7487001,28.0475808,33.1263791,16.4736466,2.9658171,15.7997773,11.4043682,43.8621766 +1077,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5821836,4.8738189,48.7640009,41.5654117,51.1259492,13.7913141,35.3875051,57.0279471,28.0267728,40.8997323,19.5898388,3.1243551,13.9693944,10.9399669,32.3393776,37.0201676,4.6069084,4.7999007,48.9472608,41.8605343,51.545324,13.5867207,35.4013472,57.445555,28.2628333,40.0525139,19.720488,3.1025496,14.4853647,11.3538247,33.1180879,37.7961036,4.7775738,4.98253,50.0176904,42.755661,53.1327975,12.7424966,35.6093453,56.0967725,26.62516,38.0918018,18.1844042,2.9635051,14.1726947,11.1171078,32.8368952,39.5999017,4.8371857,5.0303149,50.3910405,43.481522,53.4779961,12.7666083,35.0699183,56.3936265,26.8388351,37.2537947,18.0697529,2.7489909,14.3815647,10.6883891,32.6526286,39.7246892,4.8373179,4.9539813,49.0821282,42.3121896,54.3391089,12.7573458,34.9549717,56.8634643,26.7639873,37.3707193,18.5371889,2.6319415,14.1463771,10.8294526,33.4778761 diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/covid.train.csv" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/covid.train.csv" new file mode 100644 index 00000000..05999d03 --- /dev/null +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/covid.train.csv" @@ -0,0 +1,2700 @@ +id,AL,AK,AZ,AR,CA,CO,CT,FL,GA,ID,IL,IN,IA,KS,KY,LA,MD,MA,MI,MN,MS,MO,NE,NV,NJ,NM,NY,NC,OH,OK,OR,RI,SC,TX,UT,VA,WA,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive,cli,ili,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask,travel_outside_state,work_outside_home,shop,restaurant,spent_time,large_event,public_transit,anxious,depressed,worried_finances,tested_positive +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6584658,0.7246057,12.9392837,8.5562295,76.5216933,7.8636211,33.0690665,64.1293782,33.4387143,40.5398784,17.4464992,3.9931905,10.1228372,7.8410225,37.9923648,7.3748464,0.6531572,0.7132492,12.4889332,8.21938,75.1795579,8.0834341,32.564654,65.2129033,34.2855715,40.6972105,17.7549408,3.9974431,10.1616207,8.0672755,37.8822782,7.2199885,0.6777835,0.7379647,12.487637,8.1355097,74.1896954,8.0010157,32.1453314,66.258549,34.931095,40.8892576,18.0380675,3.9704567,10.0430141,7.9833578,37.7050244,7.0779378,0.6667507,0.7235061,12.3677183,8.0061313,73.2119023,7.8733425,31.3302358,66.7539022,35.5866063,40.7416504,17.8007108,3.9847914,10.148898,8.2622884,37.3849632,7.452243,0.6856278,0.7409429,12.3643066,8.151578,71.8202309,7.944531,31.1132091,67.3945506,36.6742912,40.7431321,17.8422207,4.0937125,10.4400706,8.6271174,37.3295118,7.4561538 +1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6932873,0.6759619,15.0084667,11.0918179,82.3754687,11.0825873,36.373964,60.4718253,30.5169778,43.1621228,16.0387611,4.5197623,12.1332867,10.1557207,33.9775492,9.850027,0.7380288,0.7205108,15.0700489,10.990937,80.9432989,10.5967879,36.4358281,61.6531411,31.4492904,43.7513565,16.7525179,4.3856944,11.9117235,9.798448,32.7868022,10.0505469,0.8315858,0.8275232,14.5685036,10.5789237,79.0963913,10.4181708,35.8518041,62.8357196,32.8026369,43.7535248,17.1959221,4.6712009,11.4183141,10.6003107,32.6790304,10.3880843,0.7676425,0.7635799,14.2648616,10.2125288,76.6459843,10.6147306,34.6399605,63.6524365,34.1477136,44.6827273,17.7051403,4.9383566,11.0567246,10.889148,32.9331416,8.7078583,0.7132545,0.7193783,12.8943631,8.9192878,74.6871115,10.523814,33.920257,64.3983799,34.6122383,44.0356879,17.8081034,4.9249347,10.1726619,9.9543328,32.5088806,8.010957 +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6170407,0.6170407,8.6147187,5.2380971,87.0409985,15.569851,33.3663618,58.8193681,24.6744159,36.6789369,13.4909457,6.6393007,9.7532904,7.6910154,38.6857708,3.8978505,0.6635972,0.6354587,8.4728312,5.1541839,86.7434671,15.9152417,33.0129104,60.1578216,25.3228215,36.4562403,13.3859447,6.700146,9.9499821,7.8335143,38.03648,3.0831107,0.5343944,0.4974347,8.4933526,5.1255525,86.6472891,15.9634962,32.4710932,60.9104107,25.1589668,35.9682069,13.6560704,6.7485569,10.6648756,7.9758209,37.8269241,3.1328337,0.5362243,0.498305,8.2276572,5.2989121,86.2857977,15.7886756,31.9316418,61.2332885,25.1560253,36.0326866,13.8633015,6.8796463,10.7311869,7.8478292,37.1287143,3.4441822,0.4791113,0.4324446,8.0679086,5.3335326,86.3124189,16.477784,31.6046043,62.101064,26.5218748,36.7464532,13.9036667,7.3138326,10.3887123,7.9561389,36.7455876,2.9069774 +3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1937677,1.2720508,12.0076556,7.2197415,43.1536864,20.9725887,35.4586488,69.8337742,37.0211231,48.0221872,28.4369026,4.0836149,9.4178654,9.3857718,37.6211888,10.2977118,1.3565767,1.4327751,12.9971835,7.8437765,42.7006461,21.2987279,36.2396124,68.7681867,38.4676553,47.910974,28.6700734,3.6564959,10.1031524,8.7035872,37.1761978,9.2806358,1.7197057,1.6908058,14.0105094,9.0089778,42.4566574,21.7336351,35.6380841,67.9901211,38.2204817,48.2319728,28.7234172,3.8082662,10.7051316,8.7355665,37.4442609,12.146962,1.7375495,1.709244,14.3647345,9.0965827,42.5437458,20.2060493,36.2922705,67.3194431,37.4239459,47.7388054,27.8696558,3.409895,9.872694,8.4134353,37.326366,13.4042557,1.793346,1.766201,14.3837892,9.4160959,43.7315907,19.1409388,35.1157382,67.9355204,38.0224919,48.4348086,27.134876,3.1019036,10.4986831,8.2315222,38.6801619,12.5758159 +4,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.455489,1.455489,20.9577294,16.8291631,28.5560517,20.6191958,34.8247747,68.4685398,38.0464324,49.7859672,23.4418133,3.8294272,10.9889476,8.8380779,29.9496905,24.0566265,1.2985107,1.2316062,20.189998,16.229791,28.6506659,20.4346427,35.6160365,69.093886,38.0796692,48.8775834,23.150895,3.8765914,11.3129699,9.7499426,30.6637447,17.7272888,1.4868509,1.4206112,20.1603514,15.6724866,29.3146137,21.1697268,35.8219267,69.371958,38.4198647,48.8824352,23.9885874,4.22054,11.8723586,10.4437281,29.8985872,18.6508085,1.3739382,1.3083456,20.1033847,15.7980026,29.9859065,22.2649545,35.2655866,69.4165439,38.580881,48.8123266,23.3778374,4.0704021,11.3495368,9.9100333,29.3750934,20.2381113,1.2644652,1.1985671,20.2573551,15.8642013,30.6133064,22.6982176,35.1297143,69.934592,38.2423678,49.095933,22.6837093,4.5946197,9.8789268,9.4692895,28.344123,21.4285894 +5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8033001,0.8415349,15.8740808,9.5338641,65.644252,16.207849,37.0236991,66.0154897,31.8137398,45.9479903,21.9251091,2.4361902,11.5541055,9.95507,38.3482416,12.254025,0.7384095,0.7766832,15.6292374,9.4062272,64.6680597,15.7965694,37.2278177,66.8844491,33.0187993,46.8552606,22.4239039,2.346521,11.731763,10.4583433,38.1702633,11.1642681,0.7820767,0.7762221,15.5030762,9.3777802,63.3952438,15.7344814,37.9218627,67.7677176,33.6788127,46.9865371,22.7821729,1.9046686,12.1089739,10.8502314,38.5029133,11.2605308,0.8991823,0.8934015,14.1018688,8.6294086,62.5803258,15.7657325,37.2910843,67.7260543,34.1376413,47.5156155,22.5276411,2.0785166,12.0788148,10.8607712,37.8255143,9.8284634,1.0428381,1.0371968,13.6030244,8.4817832,62.8222106,15.2613561,36.3026039,68.1629435,34.7675449,46.488364,22.2558737,2.0234109,11.6427217,10.5517564,37.4542496,9.764946 +6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.593731,0.5807316,14.5790407,8.9102088,79.3167092,17.6465034,38.4020037,62.5021329,29.4507861,45.4869239,18.8446308,2.6939677,12.9689219,11.0037794,38.2962173,7.6687824,0.6572691,0.6389319,14.5336206,8.68129,78.3078822,17.196903,38.0501421,62.7741819,28.9134616,45.0948571,18.8799969,2.9247092,13.2252907,11.0996641,37.5822621,8.181838,0.5677188,0.5491184,14.4152897,8.6866521,76.3913,17.0816503,36.7659321,62.6856022,28.8617038,45.4910059,19.1431623,2.8292358,13.3576411,11.2237846,37.6303342,8.598748,0.6113327,0.6325529,13.7644421,8.5901838,74.5375939,17.0179571,37.3030791,63.3870906,29.9277369,45.0961116,19.4036354,2.8251131,13.4753633,10.7393893,37.7592184,7.2693325,0.6258344,0.6390602,13.9681553,8.5317696,73.1102555,16.8040665,36.8059121,63.7988373,30.2817793,45.346877,19.5667083,2.829981,13.0844735,10.7760309,38.4342331,8.4118554 +7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6681533,0.7169369,17.2295012,11.9153674,76.478468,15.15284,41.7812678,62.9312408,30.9256406,45.9888035,19.9298565,2.9312677,11.7337009,10.3575985,35.2403505,8.8095238,0.6702706,0.7298858,16.6158306,11.3409922,75.1177068,14.815357,41.5826529,63.4313898,31.6666711,46.6526396,20.126056,2.8431292,11.8317968,10.2815023,35.0171168,8.4541063,0.5954156,0.6556842,16.5545912,11.2279948,73.393531,15.3277356,41.3622354,64.7833735,32.8094042,46.8563941,20.4616302,2.7612552,12.0702467,9.7020543,35.1245783,7.7830115,0.7474367,0.8076739,15.9646834,10.7976032,72.120748,15.2105066,41.1572401,65.3824382,33.2527675,46.7301452,20.2303174,2.6300806,11.469187,9.2540433,34.8307808,9.0277778,0.7036857,0.7203832,15.1671272,10.2646271,69.9444515,15.7555965,40.2241771,66.6146614,34.6623084,47.4035066,21.0414447,3.0221376,11.556807,9.5726148,34.8233715,9.4936669 +8,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1011517,1.0099364,15.9392719,11.3944619,36.5190489,16.5867877,33.2789734,67.5316771,39.3226711,46.1771403,23.0767681,3.0554418,10.9374747,11.4809517,36.8312035,18.1371838,1.1255441,1.0684124,16.5432938,11.9733204,37.1752591,16.7771043,33.9951558,67.0784414,38.334339,45.8225217,22.4914198,3.1758083,11.3693282,11.8569443,37.7537575,19.2307035,1.0252897,0.9689625,16.3934798,11.7441302,37.0067681,17.3337597,33.695744,68.1030929,38.4601291,45.2709705,22.8102123,3.0009656,11.06194,11.4267601,36.8454386,19.5652193,1.0060014,0.9514827,16.2769228,11.6839132,36.6762569,17.4479381,33.6546607,68.127142,37.8901877,44.4053643,22.4611853,2.9517322,11.1471366,11.2964873,36.0852788,18.8461583,0.849429,0.7937983,14.4035677,10.4318762,36.5192055,17.1911214,34.018593,68.2626907,37.7841391,44.0525338,22.2590836,2.7621241,10.74755,9.9120855,35.7205786,17.479685 +9,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5848965,0.6256021,13.2347975,8.4169433,75.2668469,13.7547135,39.4990188,59.6562931,31.3349938,46.6809474,19.2087171,3.6839317,10.5423708,9.3700097,31.8597614,7.9831866,0.576407,0.6590618,13.3577553,8.4790857,73.7210023,14.5309434,39.7838324,60.3869962,31.8136487,46.6315326,19.5432875,3.7399546,10.9796856,9.9811383,33.0004551,8.677686,0.6530769,0.6810817,12.8013108,7.9222733,70.2549998,15.3152368,39.3580973,61.1258556,33.3164098,46.9435913,20.1865054,4.1112521,10.9731735,10.3265808,33.3793501,7.2033898,0.7154917,0.7084963,12.661691,7.8373286,68.4214292,15.521451,38.7912565,61.4224138,33.5771448,46.5448492,20.2404662,3.9676394,11.208156,10.8587179,33.072192,8.0508475,0.8871376,0.8663692,12.1407554,7.5401312,64.8408189,15.7838273,38.1636931,62.2661458,33.9606007,46.6599628,20.8536682,3.9127516,10.547906,10.8549249,32.5926279,7.0247934 +10,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5464773,0.5653127,8.6461927,5.4108035,88.3874531,6.5089148,28.9705576,57.1542206,23.6077656,35.0653888,11.0408989,5.3011917,10.3964927,8.3550978,38.2392697,3.3392698,0.5112158,0.5217492,8.2984761,5.164897,88.3731252,6.385393,28.5403884,57.9672132,23.7651053,34.5169935,11.1391062,5.2565827,10.409482,8.3775001,38.2283858,3.1415929,0.4855162,0.5059841,8.2521946,5.1553033,87.946918,6.4984014,28.1821941,59.138063,24.307887,34.7385163,11.4577136,5.3103521,10.6404123,8.7020699,38.2200866,2.6521739,0.4978832,0.5090127,8.1382403,5.1224223,87.7891594,6.659019,27.4868872,59.7625622,24.7011917,34.785784,11.5069045,5.2003417,10.7449302,9.1291294,37.9666201,2.9806885,0.5039233,0.5143893,8.2314513,5.1694562,87.6428021,6.6262688,27.1522546,61.1413661,25.3168951,35.2532526,11.620706,5.0455904,10.3706317,9.2160688,37.5901359,3.1224655 +11,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7380288,0.7205108,15.0700489,10.990937,80.9432989,10.5967879,36.4358281,61.6531411,31.4492904,43.7513565,16.7525179,4.3856944,11.9117235,9.798448,32.7868022,10.0505469,0.8315858,0.8275232,14.5685036,10.5789237,79.0963913,10.4181708,35.8518041,62.8357196,32.8026369,43.7535248,17.1959221,4.6712009,11.4183141,10.6003107,32.6790304,10.3880843,0.7676425,0.7635799,14.2648616,10.2125288,76.6459843,10.6147306,34.6399605,63.6524365,34.1477136,44.6827273,17.7051403,4.9383566,11.0567246,10.889148,32.9331416,8.7078583,0.7132545,0.7193783,12.8943631,8.9192878,74.6871115,10.523814,33.920257,64.3983799,34.6122383,44.0356879,17.8081034,4.9249347,10.1726619,9.9543328,32.5088806,8.010957,0.6998961,0.7164697,13.4342225,9.2827346,72.4930573,10.4146914,32.767771,65.6205127,35.3517365,44.4121917,17.9354316,4.8144908,10.4858997,10.5671976,33.1130957,9.0290736 +12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5014484,0.4775962,12.5843439,9.0189314,87.0592441,10.7118625,30.1557762,59.4043649,22.683574,37.8629409,10.706634,4.3018954,12.2944755,9.7337624,30.8805385,4.2721654,0.4405354,0.4701974,12.1386326,8.5776628,86.8057165,10.8505803,29.5159807,60.2738502,22.7658598,38.4101237,10.7089615,4.2560167,12.6420442,9.658512,31.5878098,3.3923394,0.4459805,0.483456,11.8773184,8.4239765,85.8638457,11.1890173,29.8941779,61.6825781,23.7777697,38.7195655,11.1428392,4.5608436,12.9396903,10.0028236,30.8286005,3.0791771,0.4425411,0.4931359,11.552905,8.067186,85.3212452,10.9478456,29.6652866,62.0737111,24.2003625,39.4725303,11.5335602,4.4164356,12.5906496,10.1217802,31.1567632,3.0973433,0.4588556,0.5212692,11.628651,7.9443135,85.2083804,10.8909616,29.8228566,62.2385914,24.8719584,39.2978819,11.7050614,4.3427199,12.804097,10.7202323,31.0967941,3.5714276 +13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7384095,0.7766832,15.6292374,9.4062272,64.6680597,15.7965694,37.2278177,66.8844491,33.0187993,46.8552606,22.4239039,2.346521,11.731763,10.4583433,38.1702633,11.1642681,0.7820767,0.7762221,15.5030762,9.3777802,63.3952438,15.7344814,37.9218627,67.7677176,33.6788127,46.9865371,22.7821729,1.9046686,12.1089739,10.8502314,38.5029133,11.2605308,0.8991823,0.8934015,14.1018688,8.6294086,62.5803258,15.7657325,37.2910843,67.7260543,34.1376413,47.5156155,22.5276411,2.0785166,12.0788148,10.8607712,37.8255143,9.8284634,1.0428381,1.0371968,13.6030244,8.4817832,62.8222106,15.2613561,36.3026039,68.1629435,34.7675449,46.488364,22.2558737,2.0234109,11.6427217,10.5517564,37.4542496,9.764946,0.9960366,0.9904305,13.5434915,8.6885798,61.4494675,15.7836664,36.9847083,68.897652,36.3824271,46.7577117,23.3208347,2.0612156,11.8181539,10.3570148,38.0934196,9.3982489 +14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.761953,0.6515778,15.4589017,12.1945507,43.5593164,16.3648164,30.5762279,67.4606714,36.9844655,42.0421929,20.0647253,5.4971998,11.8944497,9.2486155,38.2132966,7.0093458,0.7388958,0.6332895,15.8197576,12.3115533,44.0567772,16.3871889,32.545371,66.8671518,38.16044,42.4833933,19.519818,5.5821761,10.7302365,8.1734211,36.9867516,7.9439252,0.766516,0.720205,16.6726062,12.8396972,44.6905011,16.2876372,33.0787228,66.5831416,37.4141519,41.5542217,19.2459733,6.114088,11.5276728,7.8486453,37.6700988,9.375,0.9082008,0.8695472,16.3031914,12.5336673,45.3673313,15.9392241,32.7932953,65.8045799,36.6579561,40.4673813,18.8895606,6.3184396,10.9591641,8.0372505,38.3137142,8.7962963,1.1852988,1.1472628,16.7311808,12.8488074,46.1425491,15.710847,32.474723,65.1005647,35.8165155,39.2280722,18.4558801,6.0492846,9.7900409,8.2155585,38.969841,16.8103448 +15,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6309222,0.6309222,24.4680851,21.1947627,52.4914089,7.7889447,37.6046901,65.5778894,31.9095477,43.1323283,17.6716918,7.2864322,10.0931677,8.5669782,31.8037975,4.368932,0.7990868,0.7990868,24.6341463,21.5447154,54.4166667,7.8990228,37.6422764,65.9349593,30.9756098,43.495935,17.4796748,7.0731707,10.1246106,9.1900312,33.7025316,5.2380952,1.0029718,1.0029718,24.4849445,21.3153724,54.5380875,7.1879937,37.4801902,66.0063391,29.8732171,43.8193344,16.5610143,5.4675119,12.4213836,9.2767296,33.9228296,5.7522124,1.2985376,1.3741805,25.1607717,21.4630225,53.9408867,7.428115,36.1378205,65.7852564,29.8878205,44.6314103,15.625,4.7275641,14.1719745,9.7133758,34.0390879,7.4561404,1.3762626,1.4520202,25.0806452,21.2096774,54.6875,7.5636943,35.2327448,66.6934189,28.6516854,44.2215088,15.1685393,5.3772071,15.8653846,10.4166667,35.6677524,9.2920354 +16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4457883,0.498993,10.0859512,6.9344983,88.1522175,9.4541254,33.4354615,59.3807072,24.2438104,36.9295877,12.0664893,12.3402846,10.3790489,8.7638263,38.8022678,4.0876772,0.3941972,0.4530846,9.9256074,6.8063164,87.2068969,9.7786487,33.3007307,60.5829431,24.7196159,37.0305116,12.043556,12.6173693,9.9053621,8.591208,38.344338,3.5178781,0.3675568,0.4112525,9.7534082,6.7553537,86.2727801,9.8074374,32.7231556,61.1966358,24.8835679,37.0569139,12.0375103,12.3868014,10.234527,8.8024496,38.5234478,3.6272325,0.3574743,0.3941559,9.7628535,6.7341126,85.0825434,10.0026197,32.6663222,62.0576486,25.4085646,37.3117942,12.1541536,12.0512131,10.4252539,9.0676491,37.8787839,3.2866383,0.3363589,0.3733008,9.610134,6.647171,83.6277287,10.2883622,32.6563746,62.5681279,25.7915842,38.171549,12.7108667,11.9971423,10.4017191,9.1238559,37.3480272,3.02227 +17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1182383,1.2464851,15.947788,12.4186655,28.5180405,18.0373738,38.9726136,67.0648185,37.3413129,49.4859729,24.1120143,3.9017907,9.8188659,8.5181474,32.4313495,14.4857512,0.8928313,0.9897222,16.1924684,13.0670473,28.6168326,18.0318511,38.73167,67.0861757,37.64603,49.9610212,24.7233691,3.7558822,9.9342283,8.8674798,31.958624,14.7616658,0.9334432,1.0197234,15.8007272,12.3606625,29.5208527,17.9090471,38.7533594,66.7246301,39.2784942,51.0172334,26.0849091,4.0579943,10.539027,8.1118866,33.870817,16.6674324,0.9553317,1.0135882,16.1914832,12.7799724,30.4802052,18.3287203,37.9648816,66.6353048,39.7422342,50.5862949,25.0807417,4.2416779,10.8983897,8.417845,33.9049996,18.2250192,0.8717252,0.9138009,16.7861357,13.0554771,32.4903215,17.3031432,37.5936918,66.5492919,38.56724,50.6747326,24.7675312,3.6603716,10.873962,8.1708638,33.4837614,18.2247296 +18,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5207531,0.4885673,11.6689599,7.4070472,79.0872698,8.8094104,32.4592264,61.0222132,31.5910455,41.5772777,16.634799,3.6004688,10.6646209,9.1008154,32.3696103,6.8343461,0.5500017,0.5398838,11.4264602,7.0613978,78.2082817,9.0922072,31.5560309,61.6440621,31.5253422,41.3885496,16.820518,3.697936,10.7137297,8.7790415,32.4705266,6.3928253,0.5888919,0.5786676,11.4221055,6.9202477,77.0787233,9.2413081,31.4088902,62.0253427,32.8950927,41.2603165,17.150376,3.9934306,10.8016583,9.2057299,32.3553347,8.3110153,0.6160142,0.5655966,11.0757654,6.9522346,76.355125,9.6936034,30.9089469,64.146217,33.3478854,41.2501924,17.506604,3.9899526,10.9180677,9.3069764,32.9056981,8.8715529,0.6385877,0.5702776,10.8780268,6.7353961,74.530807,10.2561054,30.5361234,64.7863631,34.7085892,42.3703097,18.1923233,4.181361,10.6032153,8.9727358,32.9633522,8.5045076 +19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6635972,0.6354587,8.4728312,5.1541839,86.7434671,15.9152417,33.0129104,60.1578216,25.3228215,36.4562403,13.3859447,6.700146,9.9499821,7.8335143,38.03648,3.0831107,0.5343944,0.4974347,8.4933526,5.1255525,86.6472891,15.9634962,32.4710932,60.9104107,25.1589668,35.9682069,13.6560704,6.7485569,10.6648756,7.9758209,37.8269241,3.1328337,0.5362243,0.498305,8.2276572,5.2989121,86.2857977,15.7886756,31.9316418,61.2332885,25.1560253,36.0326866,13.8633015,6.8796463,10.7311869,7.8478292,37.1287143,3.4441822,0.4791113,0.4324446,8.0679086,5.3335326,86.3124189,16.477784,31.6046043,62.101064,26.5218748,36.7464532,13.9036667,7.3138326,10.3887123,7.9561389,36.7455876,2.9069774,0.4105394,0.3952207,7.5609026,5.0356493,86.3165632,16.5508282,31.2391151,62.6088222,26.7121372,36.3464879,14.2338968,7.2693005,10.0099384,7.1464415,35.0600606,3.3916856 +20,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8617621,0.8665196,15.0729494,11.1977745,26.9539516,18.833497,35.5344101,65.5446963,39.1315392,48.175752,23.5611517,3.4172575,11.803724,10.5333516,34.4445017,21.0902171,0.7124682,0.7057864,16.0070265,12.0465357,27.0812043,19.3931948,35.6624627,66.4168035,38.7572324,48.2833646,22.654723,3.312381,11.1499836,9.4140918,34.4140996,19.9250148,0.8383959,0.8318565,16.6910677,12.8126559,27.24495,19.2528347,36.1445236,66.2162754,38.0750207,47.2377957,22.7794423,3.470444,11.4638561,9.6935953,34.8602845,18.8087067,0.8326153,0.8117713,17.5050151,13.899044,27.8534506,19.6748358,35.5685333,65.3176118,37.8052825,47.8039424,23.1436113,3.4812883,10.7149163,9.2340086,35.3228691,18.6132303,0.8833624,0.8518071,18.3469048,14.472414,27.644379,19.5887378,36.3204571,65.2685248,37.2973851,47.3097845,22.615546,3.6264005,11.174155,9.2336914,35.6630753,19.7987654 +21,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7990868,0.7990868,24.6341463,21.5447154,54.4166667,7.8990228,37.6422764,65.9349593,30.9756098,43.495935,17.4796748,7.0731707,10.1246106,9.1900312,33.7025316,5.2380952,1.0029718,1.0029718,24.4849445,21.3153724,54.5380875,7.1879937,37.4801902,66.0063391,29.8732171,43.8193344,16.5610143,5.4675119,12.4213836,9.2767296,33.9228296,5.7522124,1.2985376,1.3741805,25.1607717,21.4630225,53.9408867,7.428115,36.1378205,65.7852564,29.8878205,44.6314103,15.625,4.7275641,14.1719745,9.7133758,34.0390879,7.4561404,1.3762626,1.4520202,25.0806452,21.2096774,54.6875,7.5636943,35.2327448,66.6934189,28.6516854,44.2215088,15.1685393,5.3772071,15.8653846,10.4166667,35.6677524,9.2920354,1.712828,1.8586006,25.4276827,21.3841369,55.2464229,7.6388889,34.5496894,66.8478261,28.1832298,44.1770186,15.4503106,5.5124224,17.6751592,11.6242038,35.3225806,9.9137931 +22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.484003,0.5018464,10.8091077,7.5394841,86.572122,10.863195,31.9882757,59.385167,26.9421516,38.9076111,13.7901166,2.7457228,11.5049057,9.9917909,40.7083582,6.2184432,0.4606225,0.47817,10.7552462,7.6085664,86.0508339,11.1545127,32.5230554,60.0747667,29.1002734,39.6460287,14.397774,2.6945984,11.6043061,10.2579937,39.3842024,7.7610716,0.5741506,0.5914183,11.3659312,8.3046232,84.4077496,11.5312325,32.0669059,61.1026633,29.9712994,39.866435,14.6354533,2.8497286,12.1590907,10.9070583,40.2708428,7.2947167,0.7536738,0.7110866,11.1857945,7.6803711,83.9438171,11.1436583,31.0377304,61.3462875,29.3587608,38.9636615,14.0435585,3.0035918,11.6712297,9.8491054,39.2231346,6.7907144,0.8299935,0.8299935,10.5645525,7.2849065,83.1309688,11.2391209,30.5715316,62.1844123,30.6280702,38.5723011,14.3334311,3.111684,12.2174178,10.3531393,38.2085608,8.1362923 +23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4909931,0.4055983,10.0309514,6.6293172,89.3311561,18.0272693,32.1139102,56.1557897,21.7770679,32.9656357,10.1239187,5.0135659,10.6536276,8.5366112,33.8388438,8.0487844,0.5331396,0.5181137,9.9643411,6.3589518,88.0735889,18.0730274,31.8379416,56.8577074,22.3517809,33.8142267,10.2173941,4.8418986,10.7412637,9.1017656,33.1982888,7.7777812,0.4776873,0.4989303,9.118356,5.8172279,86.7148799,18.2131299,31.1902794,57.5835988,22.9498432,34.3749976,10.9673597,5.2348741,10.959255,8.8802054,33.3246653,7.5000034,0.4124746,0.4336791,8.8223454,5.4863317,85.0884449,17.9306142,32.0548407,59.0421325,23.9864843,34.9960219,11.3076339,5.3060426,10.1851819,8.6255619,32.9288957,6.0810838,0.4077502,0.4290242,8.4913248,5.5062496,83.8955205,17.9420019,31.8582242,60.1722067,24.2490958,35.382454,11.0732902,5.3063687,10.3884113,8.7212927,34.0049598,5.6818208 +24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5331396,0.5181137,9.9643411,6.3589518,88.0735889,18.0730274,31.8379416,56.8577074,22.3517809,33.8142267,10.2173941,4.8418986,10.7412637,9.1017656,33.1982888,7.7777812,0.4776873,0.4989303,9.118356,5.8172279,86.7148799,18.2131299,31.1902794,57.5835988,22.9498432,34.3749976,10.9673597,5.2348741,10.959255,8.8802054,33.3246653,7.5000034,0.4124746,0.4336791,8.8223454,5.4863317,85.0884449,17.9306142,32.0548407,59.0421325,23.9864843,34.9960219,11.3076339,5.3060426,10.1851819,8.6255619,32.9288957,6.0810838,0.4077502,0.4290242,8.4913248,5.5062496,83.8955205,17.9420019,31.8582242,60.1722067,24.2490958,35.382454,11.0732902,5.3063687,10.3884113,8.7212927,34.0049598,5.6818208,0.5090211,0.5339603,8.7368823,5.7506025,82.6773307,18.209131,31.5313488,60.9927655,24.9799005,35.8319887,11.274118,5.3255638,10.2103135,8.4751543,34.4133676,5.2272751 +25,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1255441,1.0684124,16.5432938,11.9733204,37.1752591,16.7771043,33.9951558,67.0784414,38.334339,45.8225217,22.4914198,3.1758083,11.3693282,11.8569443,37.7537575,19.2307035,1.0252897,0.9689625,16.3934798,11.7441302,37.0067681,17.3337597,33.695744,68.1030929,38.4601291,45.2709705,22.8102123,3.0009656,11.06194,11.4267601,36.8454386,19.5652193,1.0060014,0.9514827,16.2769228,11.6839132,36.6762569,17.4479381,33.6546607,68.127142,37.8901877,44.4053643,22.4611853,2.9517322,11.1471366,11.2964873,36.0852788,18.8461583,0.849429,0.7937983,14.4035677,10.4318762,36.5192055,17.1911214,34.018593,68.2626907,37.7841391,44.0525338,22.2590836,2.7621241,10.74755,9.9120855,35.7205786,17.479685,0.9332085,0.8634372,15.6202846,11.1651037,35.9279102,18.0008025,33.3509209,67.3558741,37.198187,45.8815596,22.8696596,2.6552192,11.1839062,9.986022,34.392497,18.5950471 +26,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0029718,1.0029718,24.4849445,21.3153724,54.5380875,7.1879937,37.4801902,66.0063391,29.8732171,43.8193344,16.5610143,5.4675119,12.4213836,9.2767296,33.9228296,5.7522124,1.2985376,1.3741805,25.1607717,21.4630225,53.9408867,7.428115,36.1378205,65.7852564,29.8878205,44.6314103,15.625,4.7275641,14.1719745,9.7133758,34.0390879,7.4561404,1.3762626,1.4520202,25.0806452,21.2096774,54.6875,7.5636943,35.2327448,66.6934189,28.6516854,44.2215088,15.1685393,5.3772071,15.8653846,10.4166667,35.6677524,9.2920354,1.712828,1.8586006,25.4276827,21.3841369,55.2464229,7.6388889,34.5496894,66.8478261,28.1832298,44.1770186,15.4503106,5.5124224,17.6751592,11.6242038,35.3225806,9.9137931,1.8041237,1.9513991,25.9811617,21.899529,52.8892456,8.1395349,34.1940532,67.057903,29.1862285,45.9311424,15.8841941,5.399061,18.1372549,12.5816993,35.8085809,9.4262295 +27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7143285,0.7583934,12.0743445,8.6433977,80.8788154,14.0248091,37.4042671,61.3755099,26.3225339,44.0212549,14.125604,3.8850978,11.1041438,9.0553566,29.0540071,7.8804262,0.6026653,0.6306105,12.1211249,8.559072,78.4058562,13.720111,36.4277967,62.630955,27.7151886,44.5781423,14.4047585,3.9200525,10.5829591,8.8325948,28.4945862,9.2696525,0.5867324,0.6146865,11.717631,8.2560874,75.9199324,13.7493492,36.6725842,64.2689934,28.2036856,44.8574238,15.415115,4.0593942,10.9186508,9.1621264,29.1425697,7.5301114,0.6012216,0.6479815,11.2967504,7.9899922,72.7799715,13.8763961,37.1457229,65.313586,29.692468,46.1458677,16.0468405,4.1665524,10.9929294,8.7119581,29.7066272,5.6864673,0.5089621,0.5666776,10.6861874,7.4234236,70.4683635,14.0104393,36.4108314,65.8066377,30.6654004,45.3398632,16.3392092,4.0194721,10.6456176,8.7133789,29.6731621,4.9981389 +28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8292617,0.8616196,12.7611794,7.9837413,78.7152625,8.1399155,36.6784936,59.1900288,33.0080907,40.5639884,20.2935863,3.8504763,11.4639666,9.2008264,41.6825229,7.9351549,0.8675109,0.89946,12.786691,8.0530855,77.8488941,8.0951908,36.2068098,60.2663508,33.5969843,40.6580778,20.4096543,3.7857302,11.4572716,9.4589646,41.8056486,7.8571154,0.8039712,0.8251098,12.2282419,7.8112527,76.8054036,8.2026433,36.0264223,61.4061497,34.2626385,41.0729983,20.5144492,3.7384196,11.483721,9.5439327,41.3493979,6.7223269,0.8109069,0.8171126,12.0257004,7.6134979,75.6568796,7.9438518,35.9015974,62.4574268,35.1054551,41.1934158,20.5408719,3.6363393,11.2186168,9.4877987,41.2514178,7.2265375,0.7697706,0.7612703,12.1654502,7.5688601,74.8941642,8.1177924,35.4975366,63.4986642,36.2486533,41.5084419,21.0081471,3.6157695,11.1281756,9.4044116,41.0949471,7.4252951 +29,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0252897,0.9689625,16.3934798,11.7441302,37.0067681,17.3337597,33.695744,68.1030929,38.4601291,45.2709705,22.8102123,3.0009656,11.06194,11.4267601,36.8454386,19.5652193,1.0060014,0.9514827,16.2769228,11.6839132,36.6762569,17.4479381,33.6546607,68.127142,37.8901877,44.4053643,22.4611853,2.9517322,11.1471366,11.2964873,36.0852788,18.8461583,0.849429,0.7937983,14.4035677,10.4318762,36.5192055,17.1911214,34.018593,68.2626907,37.7841391,44.0525338,22.2590836,2.7621241,10.74755,9.9120855,35.7205786,17.479685,0.9332085,0.8634372,15.6202846,11.1651037,35.9279102,18.0008025,33.3509209,67.3558741,37.198187,45.8815596,22.8696596,2.6552192,11.1839062,9.986022,34.392497,18.5950471,0.8926248,0.8224552,16.6931915,12.7313134,36.0462627,18.0395079,32.9385725,67.4609953,36.1955125,46.038123,22.7609497,2.9173154,11.5029703,10.4096537,34.7451891,19.5652193 +30,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5538022,0.5538022,8.6534117,5.3999096,89.8170438,15.4450262,34.6101541,58.4995467,23.6854034,36.1967362,10.9020852,3.467815,11.2409138,8.825079,36.7501304,3.5714286,0.5692264,0.5692264,8.9473684,5.5606407,89.1081871,15.7478428,33.248731,59.4139363,24.6192893,36.6635902,10.9137056,3.5763729,10.5693348,8.7043379,36.0215054,5.2486188,0.6017334,0.6017334,8.9631336,5.4147465,87.8019324,16.175772,33.8642659,60.1800554,25.0923361,38.8042475,11.611265,3.6703601,10.5757576,8.7155963,36.2446744,4.7979798,0.4592275,0.4592275,9.2068646,5.635436,85.5528846,16.6745506,34.361949,61.8329466,25.638051,39.4663573,12.4593968,4.199536,10.8782435,9.4966443,35.819398,3.2994924,0.4729247,0.4514931,8.8303821,5.3821062,85.0593824,16.5579879,34.8982424,62.5115634,26.3413506,39.7086031,12.372803,4.0471785,10.7599432,9.6924177,35.5150215,3.2828283 +31,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7321172,0.7349939,13.0585011,8.6825519,84.7140716,14.3938706,36.1113328,59.7340364,27.583499,41.9002872,16.5346781,5.2209576,10.3371807,8.9633226,35.9913655,9.082397,0.6661349,0.6832239,12.4691875,8.1561871,84.204887,14.5306638,35.2239034,60.5476724,28.1401085,42.2920796,16.8591065,5.2348262,10.3862935,9.083075,35.9401806,8.6111095,0.6849505,0.7261962,11.9527792,7.5750428,83.4327919,14.3979846,34.4333631,61.3089597,28.2921749,42.3947336,16.6429263,5.0569794,10.1929834,8.9863184,35.3482129,8.8740441,0.5694916,0.6113016,11.4110116,7.226195,82.0535924,14.5246426,34.8857343,61.7572913,29.2119749,42.5925847,16.4460239,5.0985017,9.9440736,9.007687,34.9379913,8.4795322,0.5825534,0.6132003,11.1067845,7.1217282,80.9620478,14.4520069,34.6220473,62.4960628,30.0236235,42.6850335,16.1968527,4.9370065,9.7480469,8.6844088,34.7253045,9.0291297 +32,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6531572,0.7132492,12.4889332,8.21938,75.1795579,8.0834341,32.564654,65.2129033,34.2855715,40.6972105,17.7549408,3.9974431,10.1616207,8.0672755,37.8822782,7.2199885,0.6777835,0.7379647,12.487637,8.1355097,74.1896954,8.0010157,32.1453314,66.258549,34.931095,40.8892576,18.0380675,3.9704567,10.0430141,7.9833578,37.7050244,7.0779378,0.6667507,0.7235061,12.3677183,8.0061313,73.2119023,7.8733425,31.3302358,66.7539022,35.5866063,40.7416504,17.8007108,3.9847914,10.148898,8.2622884,37.3849632,7.452243,0.6856278,0.7409429,12.3643066,8.151578,71.8202309,7.944531,31.1132091,67.3945506,36.6742912,40.7431321,17.8422207,4.0937125,10.4400706,8.6271174,37.3295118,7.4561538,0.6576168,0.7112829,12.0691381,7.9149235,70.4656104,7.7743572,30.6930173,68.5402776,37.254803,40.9688303,18.1569266,4.0276806,10.5927205,8.4128888,37.3102499,7.2490839 +33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8928313,0.9897222,16.1924684,13.0670473,28.6168326,18.0318511,38.73167,67.0861757,37.64603,49.9610212,24.7233691,3.7558822,9.9342283,8.8674798,31.958624,14.7616658,0.9334432,1.0197234,15.8007272,12.3606625,29.5208527,17.9090471,38.7533594,66.7246301,39.2784942,51.0172334,26.0849091,4.0579943,10.539027,8.1118866,33.870817,16.6674324,0.9553317,1.0135882,16.1914832,12.7799724,30.4802052,18.3287203,37.9648816,66.6353048,39.7422342,50.5862949,25.0807417,4.2416779,10.8983897,8.417845,33.9049996,18.2250192,0.8717252,0.9138009,16.7861357,13.0554771,32.4903215,17.3031432,37.5936918,66.5492919,38.56724,50.6747326,24.7675312,3.6603716,10.873962,8.1708638,33.4837614,18.2247296,0.8233445,0.8651005,17.523497,13.7479054,34.1297959,17.3149877,37.9363359,66.2503278,38.0650354,50.6754971,24.2920303,3.765457,11.7196585,8.9621243,33.0592951,17.105749 +34,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2985107,1.2316062,20.189998,16.229791,28.6506659,20.4346427,35.6160365,69.093886,38.0796692,48.8775834,23.150895,3.8765914,11.3129699,9.7499426,30.6637447,17.7272888,1.4868509,1.4206112,20.1603514,15.6724866,29.3146137,21.1697268,35.8219267,69.371958,38.4198647,48.8824352,23.9885874,4.22054,11.8723586,10.4437281,29.8985872,18.6508085,1.3739382,1.3083456,20.1033847,15.7980026,29.9859065,22.2649545,35.2655866,69.4165439,38.580881,48.8123266,23.3778374,4.0704021,11.3495368,9.9100333,29.3750934,20.2381113,1.2644652,1.1985671,20.2573551,15.8642013,30.6133064,22.6982176,35.1297143,69.934592,38.2423678,49.095933,22.6837093,4.5946197,9.8789268,9.4692895,28.344123,21.4285894,1.0352755,0.9703194,21.0246499,16.551326,30.5819312,22.6920882,35.9722449,69.3536231,37.6786379,49.1839611,23.116963,4.2966915,10.9890719,9.269437,27.7218373,21.2500177 +35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3848677,0.3911257,8.6052652,5.788372,87.5000135,19.478945,34.1926174,59.4571609,22.516241,37.7432393,9.3718419,5.2406822,11.9150221,9.0106187,32.5058532,3.846141,0.4337036,0.4166855,8.6317334,5.9966054,87.2261601,20.0035028,33.9003579,61.1485254,22.4823148,37.3357658,9.1445389,5.6752982,12.4693362,9.3248451,32.5595679,3.979225,0.4068809,0.3974429,8.3933901,5.921717,86.2477967,20.0453872,33.2139375,62.3165732,22.7396839,37.5809876,9.3995543,5.8853513,12.5167252,9.6810227,32.8026545,3.5116998,0.357613,0.3481269,8.0937575,5.6639191,85.9341848,19.35544,33.0421553,63.4634513,23.3127767,38.043792,9.3696841,5.8410324,12.7224623,10.0386889,33.1802645,2.1523179,0.4055632,0.3644038,8.0390688,5.6050651,86.0028096,18.7456894,33.1335847,63.8184057,24.0582033,37.9622768,9.8116475,6.2499914,12.4081684,10.2692578,34.2063569,2.6984127 +36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4606225,0.47817,10.7552462,7.6085664,86.0508339,11.1545127,32.5230554,60.0747667,29.1002734,39.6460287,14.397774,2.6945984,11.6043061,10.2579937,39.3842024,7.7610716,0.5741506,0.5914183,11.3659312,8.3046232,84.4077496,11.5312325,32.0669059,61.1026633,29.9712994,39.866435,14.6354533,2.8497286,12.1590907,10.9070583,40.2708428,7.2947167,0.7536738,0.7110866,11.1857945,7.6803711,83.9438171,11.1436583,31.0377304,61.3462875,29.3587608,38.9636615,14.0435585,3.0035918,11.6712297,9.8491054,39.2231346,6.7907144,0.8299935,0.8299935,10.5645525,7.2849065,83.1309688,11.2391209,30.5715316,62.1844123,30.6280702,38.5723011,14.3334311,3.111684,12.2174178,10.3531393,38.2085608,8.1362923,0.8349906,0.7755924,10.2008689,6.832447,82.6918953,11.0548788,29.6571269,61.7993533,30.7562187,39.6728947,14.1295132,2.7480885,12.7638013,11.1412222,38.5521505,8.2663429 +37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5741506,0.5914183,11.3659312,8.3046232,84.4077496,11.5312325,32.0669059,61.1026633,29.9712994,39.866435,14.6354533,2.8497286,12.1590907,10.9070583,40.2708428,7.2947167,0.7536738,0.7110866,11.1857945,7.6803711,83.9438171,11.1436583,31.0377304,61.3462875,29.3587608,38.9636615,14.0435585,3.0035918,11.6712297,9.8491054,39.2231346,6.7907144,0.8299935,0.8299935,10.5645525,7.2849065,83.1309688,11.2391209,30.5715316,62.1844123,30.6280702,38.5723011,14.3334311,3.111684,12.2174178,10.3531393,38.2085608,8.1362923,0.8349906,0.7755924,10.2008689,6.832447,82.6918953,11.0548788,29.6571269,61.7993533,30.7562187,39.6728947,14.1295132,2.7480885,12.7638013,11.1412222,38.5521505,8.2663429,0.7044896,0.6435346,10.1276973,6.6759035,81.9355211,11.5704302,29.564975,61.3988128,31.2857522,40.0358119,14.4654987,2.9983277,12.1215313,11.7914158,38.2643001,5.2403349 +38,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6702706,0.7298858,16.6158306,11.3409922,75.1177068,14.815357,41.5826529,63.4313898,31.6666711,46.6526396,20.126056,2.8431292,11.8317968,10.2815023,35.0171168,8.4541063,0.5954156,0.6556842,16.5545912,11.2279948,73.393531,15.3277356,41.3622354,64.7833735,32.8094042,46.8563941,20.4616302,2.7612552,12.0702467,9.7020543,35.1245783,7.7830115,0.7474367,0.8076739,15.9646834,10.7976032,72.120748,15.2105066,41.1572401,65.3824382,33.2527675,46.7301452,20.2303174,2.6300806,11.469187,9.2540433,34.8307808,9.0277778,0.7036857,0.7203832,15.1671272,10.2646271,69.9444515,15.7555965,40.2241771,66.6146614,34.6623084,47.4035066,21.0414447,3.0221376,11.556807,9.5726148,34.8233715,9.4936669,0.6735279,0.6903698,14.4163082,9.6343189,68.8651409,15.8687017,39.5684361,68.3481062,35.3672298,47.284927,21.3060972,2.8722522,11.4766071,9.5853649,34.1731865,10.7594846 +39,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5692264,0.5692264,8.9473684,5.5606407,89.1081871,15.7478428,33.248731,59.4139363,24.6192893,36.6635902,10.9137056,3.5763729,10.5693348,8.7043379,36.0215054,5.2486188,0.6017334,0.6017334,8.9631336,5.4147465,87.8019324,16.175772,33.8642659,60.1800554,25.0923361,38.8042475,11.611265,3.6703601,10.5757576,8.7155963,36.2446744,4.7979798,0.4592275,0.4592275,9.2068646,5.635436,85.5528846,16.6745506,34.361949,61.8329466,25.638051,39.4663573,12.4593968,4.199536,10.8782435,9.4966443,35.819398,3.2994924,0.4729247,0.4514931,8.8303821,5.3821062,85.0593824,16.5579879,34.8982424,62.5115634,26.3413506,39.7086031,12.372803,4.0471785,10.7599432,9.6924177,35.5150215,3.2828283,0.518487,0.4972376,9.1392874,5.6686719,83.0679157,17.5862069,33.7257618,64.4275162,27.2622345,40.8356417,13.1348107,4.1782087,10.2633617,8.7616822,34.9533437,2.8061224 +40,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7124682,0.7057864,16.0070265,12.0465357,27.0812043,19.3931948,35.6624627,66.4168035,38.7572324,48.2833646,22.654723,3.312381,11.1499836,9.4140918,34.4140996,19.9250148,0.8383959,0.8318565,16.6910677,12.8126559,27.24495,19.2528347,36.1445236,66.2162754,38.0750207,47.2377957,22.7794423,3.470444,11.4638561,9.6935953,34.8602845,18.8087067,0.8326153,0.8117713,17.5050151,13.899044,27.8534506,19.6748358,35.5685333,65.3176118,37.8052825,47.8039424,23.1436113,3.4812883,10.7149163,9.2340086,35.3228691,18.6132303,0.8833624,0.8518071,18.3469048,14.472414,27.644379,19.5887378,36.3204571,65.2685248,37.2973851,47.3097845,22.615546,3.6264005,11.174155,9.2336914,35.6630753,19.7987654,0.9875409,0.9177058,18.6709105,14.7784707,28.2678698,20.1025264,36.5494521,65.2415448,36.9819166,47.5270881,22.2884341,3.2603281,11.2503808,9.0438504,36.049156,19.5652795 +41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6026653,0.6306105,12.1211249,8.559072,78.4058562,13.720111,36.4277967,62.630955,27.7151886,44.5781423,14.4047585,3.9200525,10.5829591,8.8325948,28.4945862,9.2696525,0.5867324,0.6146865,11.717631,8.2560874,75.9199324,13.7493492,36.6725842,64.2689934,28.2036856,44.8574238,15.415115,4.0593942,10.9186508,9.1621264,29.1425697,7.5301114,0.6012216,0.6479815,11.2967504,7.9899922,72.7799715,13.8763961,37.1457229,65.313586,29.692468,46.1458677,16.0468405,4.1665524,10.9929294,8.7119581,29.7066272,5.6864673,0.5089621,0.5666776,10.6861874,7.4234236,70.4683635,14.0104393,36.4108314,65.8066377,30.6654004,45.3398632,16.3392092,4.0194721,10.6456176,8.7133789,29.6731621,4.9981389,0.5039569,0.539917,10.8400288,7.6579655,68.1748943,13.7649955,35.4880767,66.171603,32.0716586,45.8234141,16.8346222,4.196787,10.3143125,8.5252701,29.4058026,5.3653189 +42,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6661349,0.6832239,12.4691875,8.1561871,84.204887,14.5306638,35.2239034,60.5476724,28.1401085,42.2920796,16.8591065,5.2348262,10.3862935,9.083075,35.9401806,8.6111095,0.6849505,0.7261962,11.9527792,7.5750428,83.4327919,14.3979846,34.4333631,61.3089597,28.2921749,42.3947336,16.6429263,5.0569794,10.1929834,8.9863184,35.3482129,8.8740441,0.5694916,0.6113016,11.4110116,7.226195,82.0535924,14.5246426,34.8857343,61.7572913,29.2119749,42.5925847,16.4460239,5.0985017,9.9440736,9.007687,34.9379913,8.4795322,0.5825534,0.6132003,11.1067845,7.1217282,80.9620478,14.4520069,34.6220473,62.4960628,30.0236235,42.6850335,16.1968527,4.9370065,9.7480469,8.6844088,34.7253045,9.0291297,0.5799373,0.631932,10.8068698,6.9105665,79.413637,14.2314797,33.9421784,63.0732188,30.9109347,42.9270922,16.45423,4.9976668,9.9181233,8.7158436,33.9219349,8.9453911 +43,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0060014,0.9514827,16.2769228,11.6839132,36.6762569,17.4479381,33.6546607,68.127142,37.8901877,44.4053643,22.4611853,2.9517322,11.1471366,11.2964873,36.0852788,18.8461583,0.849429,0.7937983,14.4035677,10.4318762,36.5192055,17.1911214,34.018593,68.2626907,37.7841391,44.0525338,22.2590836,2.7621241,10.74755,9.9120855,35.7205786,17.479685,0.9332085,0.8634372,15.6202846,11.1651037,35.9279102,18.0008025,33.3509209,67.3558741,37.198187,45.8815596,22.8696596,2.6552192,11.1839062,9.986022,34.392497,18.5950471,0.8926248,0.8224552,16.6931915,12.7313134,36.0462627,18.0395079,32.9385725,67.4609953,36.1955125,46.038123,22.7609497,2.9173154,11.5029703,10.4096537,34.7451891,19.5652193,1.0125543,0.9700922,17.6857827,13.6293432,35.1606673,18.400056,32.5271869,68.2443027,35.428158,46.8513478,22.0538431,2.806673,12.3203503,11.4468357,36.315312,18.3760596 +44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6572691,0.6389319,14.5336206,8.68129,78.3078822,17.196903,38.0501421,62.7741819,28.9134616,45.0948571,18.8799969,2.9247092,13.2252907,11.0996641,37.5822621,8.181838,0.5677188,0.5491184,14.4152897,8.6866521,76.3913,17.0816503,36.7659321,62.6856022,28.8617038,45.4910059,19.1431623,2.8292358,13.3576411,11.2237846,37.6303342,8.598748,0.6113327,0.6325529,13.7644421,8.5901838,74.5375939,17.0179571,37.3030791,63.3870906,29.9277369,45.0961116,19.4036354,2.8251131,13.4753633,10.7393893,37.7592184,7.2693325,0.6258344,0.6390602,13.9681553,8.5317696,73.1102555,16.8040665,36.8059121,63.7988373,30.2817793,45.346877,19.5667083,2.829981,13.0844735,10.7760309,38.4342331,8.4118554,0.713916,0.727059,13.678473,8.3734815,71.8291243,17.5597234,37.2129367,65.1294077,32.0006067,45.9868875,20.0682959,2.9076908,12.0471611,10.5967147,38.2107395,10.3125334 +45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.1561004,1.1525886,20.469487,15.2181439,22.6744714,12.1036842,35.2505881,64.5738568,34.4606866,49.0121984,24.4896887,4.8416097,13.3615577,12.2067932,33.7535737,16.8043231,1.2299599,1.2603955,21.3323275,15.843124,22.7288988,13.0122752,36.019849,63.9199306,34.1111699,48.801491,24.2209364,4.6151117,13.556253,12.2432648,33.6532961,18.6207711,1.2134038,1.2623355,21.2321392,16.0357687,22.7052709,13.122299,35.608243,63.8539294,33.1862164,48.1553941,23.8514392,4.4543092,14.1041193,12.7327317,33.642946,19.3810775,1.359579,1.4106377,21.6062473,16.5930047,22.4711022,13.6371419,35.5143297,62.8319251,31.8478322,48.5490929,23.5191729,4.5727441,14.1149951,12.0487893,33.3562769,21.6622075,1.328468,1.4253385,21.8784546,16.4583111,22.8956121,14.0262232,36.4165231,62.3838627,31.6656256,48.6996257,23.2305691,4.6121593,14.532572,11.5817967,34.3148707,20.2519887 +46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8675109,0.89946,12.786691,8.0530855,77.8488941,8.0951908,36.2068098,60.2663508,33.5969843,40.6580778,20.4096543,3.7857302,11.4572716,9.4589646,41.8056486,7.8571154,0.8039712,0.8251098,12.2282419,7.8112527,76.8054036,8.2026433,36.0264223,61.4061497,34.2626385,41.0729983,20.5144492,3.7384196,11.483721,9.5439327,41.3493979,6.7223269,0.8109069,0.8171126,12.0257004,7.6134979,75.6568796,7.9438518,35.9015974,62.4574268,35.1054551,41.1934158,20.5408719,3.6363393,11.2186168,9.4877987,41.2514178,7.2265375,0.7697706,0.7612703,12.1654502,7.5688601,74.8941642,8.1177924,35.4975366,63.4986642,36.2486533,41.5084419,21.0081471,3.6157695,11.1281756,9.4044116,41.0949471,7.4252951,0.7216056,0.7230786,11.8594094,7.3665329,74.0796034,8.094835,35.1600735,64.2578989,37.1212523,42.0891673,21.5022223,3.6662878,11.3534449,9.3870862,40.4244603,6.8944698 +47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6408022,0.665606,11.803835,6.7915966,60.0293065,12.0646667,41.3748657,62.5584995,37.444359,48.8274017,24.8873015,2.7848627,11.8213741,10.4247027,37.0407207,8.1730769,0.6719153,0.6967422,11.623134,6.6309861,58.3805405,12.0085919,40.5803472,63.2115122,38.0714317,49.387027,24.5541575,2.69102,11.4457375,10.2700439,36.5088669,7.5892857,0.5841018,0.6094614,11.2904892,6.4553778,57.0548561,11.6866441,39.607162,64.8955901,38.5121812,48.8755986,24.2128387,2.6882489,10.9633443,10.7980398,37.2339447,7.7981651,0.699633,0.709013,11.8989057,6.6441811,55.8235549,11.4658399,37.571338,65.7291304,38.6482915,47.4595835,24.2250438,2.4902018,10.6966476,10.8419474,37.1154444,9.8290598,0.5827365,0.6012629,12.1242924,6.9245901,55.3971944,11.9073224,37.3093065,65.8421105,39.0291924,46.8604478,23.6896467,2.3016137,10.5714052,11.7185923,37.938439,8.6065574 +48,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.576407,0.6590618,13.3577553,8.4790857,73.7210023,14.5309434,39.7838324,60.3869962,31.8136487,46.6315326,19.5432875,3.7399546,10.9796856,9.9811383,33.0004551,8.677686,0.6530769,0.6810817,12.8013108,7.9222733,70.2549998,15.3152368,39.3580973,61.1258556,33.3164098,46.9435913,20.1865054,4.1112521,10.9731735,10.3265808,33.3793501,7.2033898,0.7154917,0.7084963,12.661691,7.8373286,68.4214292,15.521451,38.7912565,61.4224138,33.5771448,46.5448492,20.2404662,3.9676394,11.208156,10.8587179,33.072192,8.0508475,0.8871376,0.8663692,12.1407554,7.5401312,64.8408189,15.7838273,38.1636931,62.2661458,33.9606007,46.6599628,20.8536682,3.9127516,10.547906,10.8549249,32.5926279,7.0247934,0.9997995,0.978971,11.5554652,7.577767,62.6070867,16.0372295,37.5143066,63.3704846,34.6746697,46.2696793,21.22198,3.9028488,10.8299315,11.2910365,31.7943679,8.2677165 +49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5677188,0.5491184,14.4152897,8.6866521,76.3913,17.0816503,36.7659321,62.6856022,28.8617038,45.4910059,19.1431623,2.8292358,13.3576411,11.2237846,37.6303342,8.598748,0.6113327,0.6325529,13.7644421,8.5901838,74.5375939,17.0179571,37.3030791,63.3870906,29.9277369,45.0961116,19.4036354,2.8251131,13.4753633,10.7393893,37.7592184,7.2693325,0.6258344,0.6390602,13.9681553,8.5317696,73.1102555,16.8040665,36.8059121,63.7988373,30.2817793,45.346877,19.5667083,2.829981,13.0844735,10.7760309,38.4342331,8.4118554,0.713916,0.727059,13.678473,8.3734815,71.8291243,17.5597234,37.2129367,65.1294077,32.0006067,45.9868875,20.0682959,2.9076908,12.0471611,10.5967147,38.2107395,10.3125334,0.6623499,0.6623499,12.8955685,8.2169482,69.9181097,17.4339203,36.5824945,66.6501567,32.8534509,46.0006845,20.8767662,2.5225558,12.1088387,10.4134647,37.7035752,9.336687 +50,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.849429,0.7937983,14.4035677,10.4318762,36.5192055,17.1911214,34.018593,68.2626907,37.7841391,44.0525338,22.2590836,2.7621241,10.74755,9.9120855,35.7205786,17.479685,0.9332085,0.8634372,15.6202846,11.1651037,35.9279102,18.0008025,33.3509209,67.3558741,37.198187,45.8815596,22.8696596,2.6552192,11.1839062,9.986022,34.392497,18.5950471,0.8926248,0.8224552,16.6931915,12.7313134,36.0462627,18.0395079,32.9385725,67.4609953,36.1955125,46.038123,22.7609497,2.9173154,11.5029703,10.4096537,34.7451891,19.5652193,1.0125543,0.9700922,17.6857827,13.6293432,35.1606673,18.400056,32.5271869,68.2443027,35.428158,46.8513478,22.0538431,2.806673,12.3203503,11.4468357,36.315312,18.3760596,1.0120886,0.9429256,17.6288548,14.0352499,35.3467933,18.2816255,31.4585929,67.7275003,35.6241484,47.2216344,22.6006977,2.7457098,12.9320095,12.2070852,37.1771599,17.562661 +51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9334432,1.0197234,15.8007272,12.3606625,29.5208527,17.9090471,38.7533594,66.7246301,39.2784942,51.0172334,26.0849091,4.0579943,10.539027,8.1118866,33.870817,16.6674324,0.9553317,1.0135882,16.1914832,12.7799724,30.4802052,18.3287203,37.9648816,66.6353048,39.7422342,50.5862949,25.0807417,4.2416779,10.8983897,8.417845,33.9049996,18.2250192,0.8717252,0.9138009,16.7861357,13.0554771,32.4903215,17.3031432,37.5936918,66.5492919,38.56724,50.6747326,24.7675312,3.6603716,10.873962,8.1708638,33.4837614,18.2247296,0.8233445,0.8651005,17.523497,13.7479054,34.1297959,17.3149877,37.9363359,66.2503278,38.0650354,50.6754971,24.2920303,3.765457,11.7196585,8.9621243,33.0592951,17.105749,0.6996635,0.7418232,18.1124637,14.4326664,35.1757595,16.7201184,37.7297524,66.4407543,37.7948532,49.9019907,24.0557489,3.7443694,11.6353079,9.0640004,32.5774824,15.4875448 +52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3941972,0.4530846,9.9256074,6.8063164,87.2068969,9.7786487,33.3007307,60.5829431,24.7196159,37.0305116,12.043556,12.6173693,9.9053621,8.591208,38.344338,3.5178781,0.3675568,0.4112525,9.7534082,6.7553537,86.2727801,9.8074374,32.7231556,61.1966358,24.8835679,37.0569139,12.0375103,12.3868014,10.234527,8.8024496,38.5234478,3.6272325,0.3574743,0.3941559,9.7628535,6.7341126,85.0825434,10.0026197,32.6663222,62.0576486,25.4085646,37.3117942,12.1541536,12.0512131,10.4252539,9.0676491,37.8787839,3.2866383,0.3363589,0.3733008,9.610134,6.647171,83.6277287,10.2883622,32.6563746,62.5681279,25.7915842,38.171549,12.7108667,11.9971423,10.4017191,9.1238559,37.3480272,3.02227,0.3354803,0.3883655,9.503167,6.6179306,82.0995005,10.3472687,32.2004431,64.1364646,26.718684,38.8946181,13.0723537,12.1049899,10.6342411,9.3136063,36.9114616,3.2340869 +53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3565767,1.4327751,12.9971835,7.8437765,42.7006461,21.2987279,36.2396124,68.7681867,38.4676553,47.910974,28.6700734,3.6564959,10.1031524,8.7035872,37.1761978,9.2806358,1.7197057,1.6908058,14.0105094,9.0089778,42.4566574,21.7336351,35.6380841,67.9901211,38.2204817,48.2319728,28.7234172,3.8082662,10.7051316,8.7355665,37.4442609,12.146962,1.7375495,1.709244,14.3647345,9.0965827,42.5437458,20.2060493,36.2922705,67.3194431,37.4239459,47.7388054,27.8696558,3.409895,9.872694,8.4134353,37.326366,13.4042557,1.793346,1.766201,14.3837892,9.4160959,43.7315907,19.1409388,35.1157382,67.9355204,38.0224919,48.4348086,27.134876,3.1019036,10.4986831,8.2315222,38.6801619,12.5758159,1.7986391,1.7878517,14.4908406,9.7684579,44.344027,18.9869368,34.9611926,67.5769145,38.158907,48.0764657,27.8277576,2.8702906,10.2486643,8.5078829,39.0627655,10.0624061 +54,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7820767,0.7762221,15.5030762,9.3777802,63.3952438,15.7344814,37.9218627,67.7677176,33.6788127,46.9865371,22.7821729,1.9046686,12.1089739,10.8502314,38.5029133,11.2605308,0.8991823,0.8934015,14.1018688,8.6294086,62.5803258,15.7657325,37.2910843,67.7260543,34.1376413,47.5156155,22.5276411,2.0785166,12.0788148,10.8607712,37.8255143,9.8284634,1.0428381,1.0371968,13.6030244,8.4817832,62.8222106,15.2613561,36.3026039,68.1629435,34.7675449,46.488364,22.2558737,2.0234109,11.6427217,10.5517564,37.4542496,9.764946,0.9960366,0.9904305,13.5434915,8.6885798,61.4494675,15.7836664,36.9847083,68.897652,36.3824271,46.7577117,23.3208347,2.0612156,11.8181539,10.3570148,38.0934196,9.3982489,1.088689,1.08071,13.4324312,8.6268393,59.8826296,15.3618904,36.1844247,69.0541357,37.0188123,46.7082344,22.6933445,1.9703223,11.829337,11.4195902,37.1368474,10.5069875 +55,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6017334,0.6017334,8.9631336,5.4147465,87.8019324,16.175772,33.8642659,60.1800554,25.0923361,38.8042475,11.611265,3.6703601,10.5757576,8.7155963,36.2446744,4.7979798,0.4592275,0.4592275,9.2068646,5.635436,85.5528846,16.6745506,34.361949,61.8329466,25.638051,39.4663573,12.4593968,4.199536,10.8782435,9.4966443,35.819398,3.2994924,0.4729247,0.4514931,8.8303821,5.3821062,85.0593824,16.5579879,34.8982424,62.5115634,26.3413506,39.7086031,12.372803,4.0471785,10.7599432,9.6924177,35.5150215,3.2828283,0.518487,0.4972376,9.1392874,5.6686719,83.0679157,17.5862069,33.7257618,64.4275162,27.2622345,40.8356417,13.1348107,4.1782087,10.2633617,8.7616822,34.9533437,2.8061224,0.4145299,0.3931624,9.2540793,5.5244755,81.6369606,17.6186089,32.9524254,65.4151119,28.3815299,41.2546642,13.7826493,3.9412313,10.349345,8.9833479,34.3722564,3.25 +56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5343944,0.4974347,8.4933526,5.1255525,86.6472891,15.9634962,32.4710932,60.9104107,25.1589668,35.9682069,13.6560704,6.7485569,10.6648756,7.9758209,37.8269241,3.1328337,0.5362243,0.498305,8.2276572,5.2989121,86.2857977,15.7886756,31.9316418,61.2332885,25.1560253,36.0326866,13.8633015,6.8796463,10.7311869,7.8478292,37.1287143,3.4441822,0.4791113,0.4324446,8.0679086,5.3335326,86.3124189,16.477784,31.6046043,62.101064,26.5218748,36.7464532,13.9036667,7.3138326,10.3887123,7.9561389,36.7455876,2.9069774,0.4105394,0.3952207,7.5609026,5.0356493,86.3165632,16.5508282,31.2391151,62.6088222,26.7121372,36.3464879,14.2338968,7.2693005,10.0099384,7.1464415,35.0600606,3.3916856,0.514861,0.4671428,7.2585391,4.9322721,85.6168306,16.5624144,30.3453207,63.2949618,28.0143932,36.7625893,14.5755393,7.3812977,10.2046494,6.8534984,35.3318467,3.927814 +57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9553317,1.0135882,16.1914832,12.7799724,30.4802052,18.3287203,37.9648816,66.6353048,39.7422342,50.5862949,25.0807417,4.2416779,10.8983897,8.417845,33.9049996,18.2250192,0.8717252,0.9138009,16.7861357,13.0554771,32.4903215,17.3031432,37.5936918,66.5492919,38.56724,50.6747326,24.7675312,3.6603716,10.873962,8.1708638,33.4837614,18.2247296,0.8233445,0.8651005,17.523497,13.7479054,34.1297959,17.3149877,37.9363359,66.2503278,38.0650354,50.6754971,24.2920303,3.765457,11.7196585,8.9621243,33.0592951,17.105749,0.6996635,0.7418232,18.1124637,14.4326664,35.1757595,16.7201184,37.7297524,66.4407543,37.7948532,49.9019907,24.0557489,3.7443694,11.6353079,9.0640004,32.5774824,15.4875448,0.8126506,0.8536731,18.8593303,14.674841,35.8205792,17.6326503,38.4694763,66.3842856,39.2259056,50.6917969,24.795498,3.9391975,12.7206765,10.1019803,34.224742,13.2487501 +58,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6849505,0.7261962,11.9527792,7.5750428,83.4327919,14.3979846,34.4333631,61.3089597,28.2921749,42.3947336,16.6429263,5.0569794,10.1929834,8.9863184,35.3482129,8.8740441,0.5694916,0.6113016,11.4110116,7.226195,82.0535924,14.5246426,34.8857343,61.7572913,29.2119749,42.5925847,16.4460239,5.0985017,9.9440736,9.007687,34.9379913,8.4795322,0.5825534,0.6132003,11.1067845,7.1217282,80.9620478,14.4520069,34.6220473,62.4960628,30.0236235,42.6850335,16.1968527,4.9370065,9.7480469,8.6844088,34.7253045,9.0291297,0.5799373,0.631932,10.8068698,6.9105665,79.413637,14.2314797,33.9421784,63.0732188,30.9109347,42.9270922,16.45423,4.9976668,9.9181233,8.7158436,33.9219349,8.9453911,0.5564315,0.6011774,10.4262146,6.729302,78.4226241,14.2780647,33.2481048,64.3809113,31.7449265,43.1194758,17.1315737,5.1061504,9.6064172,8.5351651,33.1918165,8.6111143 +59,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6530769,0.6810817,12.8013108,7.9222733,70.2549998,15.3152368,39.3580973,61.1258556,33.3164098,46.9435913,20.1865054,4.1112521,10.9731735,10.3265808,33.3793501,7.2033898,0.7154917,0.7084963,12.661691,7.8373286,68.4214292,15.521451,38.7912565,61.4224138,33.5771448,46.5448492,20.2404662,3.9676394,11.208156,10.8587179,33.072192,8.0508475,0.8871376,0.8663692,12.1407554,7.5401312,64.8408189,15.7838273,38.1636931,62.2661458,33.9606007,46.6599628,20.8536682,3.9127516,10.547906,10.8549249,32.5926279,7.0247934,0.9997995,0.978971,11.5554652,7.577767,62.6070867,16.0372295,37.5143066,63.3704846,34.6746697,46.2696793,21.22198,3.9028488,10.8299315,11.2910365,31.7943679,8.2677165,1.046839,1.0258964,11.9944472,7.8101674,59.8960673,16.4985893,36.6975429,65.2384996,35.6507549,47.6039238,22.1501714,3.613133,11.4197287,11.5007536,31.9516622,7.5396825 +60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6564078,0.6909961,16.9902493,12.9016487,85.2621335,9.7087269,33.7432747,60.4045068,23.9854112,42.0420487,13.4488886,2.6202288,12.09418,9.5597074,32.3344838,6.9000255,0.6521334,0.6936427,16.011317,12.0102177,83.906278,9.8827105,33.1712646,61.294191,24.665685,42.3110221,13.5123717,2.5841344,12.1260738,9.5676337,32.1362835,6.5261511,0.6493796,0.6940797,14.9689301,11.2974332,82.9344179,9.8405475,32.6609088,62.3769202,25.6184703,42.8239588,13.7123849,2.6215886,12.0881885,9.7383144,31.7271973,6.1046958,0.6992767,0.7372671,14.2808014,10.7431613,80.9753323,9.6805098,32.9128512,63.7699624,26.7247099,43.1567445,14.3205525,2.7526109,12.0408729,9.8800872,31.4935862,6.6355564,0.6425652,0.6866147,13.8775603,10.5659435,79.1588949,9.6392587,32.659647,64.5536673,27.1692306,43.7783995,14.5330335,2.6555338,11.6430784,9.4483644,30.6939746,7.0069623 +61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6113327,0.6325529,13.7644421,8.5901838,74.5375939,17.0179571,37.3030791,63.3870906,29.9277369,45.0961116,19.4036354,2.8251131,13.4753633,10.7393893,37.7592184,7.2693325,0.6258344,0.6390602,13.9681553,8.5317696,73.1102555,16.8040665,36.8059121,63.7988373,30.2817793,45.346877,19.5667083,2.829981,13.0844735,10.7760309,38.4342331,8.4118554,0.713916,0.727059,13.678473,8.3734815,71.8291243,17.5597234,37.2129367,65.1294077,32.0006067,45.9868875,20.0682959,2.9076908,12.0471611,10.5967147,38.2107395,10.3125334,0.6623499,0.6623499,12.8955685,8.2169482,69.9181097,17.4339203,36.5824945,66.6501567,32.8534509,46.0006845,20.8767662,2.5225558,12.1088387,10.4134647,37.7035752,9.336687,0.7446015,0.7446015,12.8398911,7.9800143,68.540956,17.5549003,35.3687971,66.5269179,32.8996856,46.1569573,20.7306411,2.5352213,12.0905812,9.713263,36.8935343,10.0752134 +62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2299599,1.2603955,21.3323275,15.843124,22.7288988,13.0122752,36.019849,63.9199306,34.1111699,48.801491,24.2209364,4.6151117,13.556253,12.2432648,33.6532961,18.6207711,1.2134038,1.2623355,21.2321392,16.0357687,22.7052709,13.122299,35.608243,63.8539294,33.1862164,48.1553941,23.8514392,4.4543092,14.1041193,12.7327317,33.642946,19.3810775,1.359579,1.4106377,21.6062473,16.5930047,22.4711022,13.6371419,35.5143297,62.8319251,31.8478322,48.5490929,23.5191729,4.5727441,14.1149951,12.0487893,33.3562769,21.6622075,1.328468,1.4253385,21.8784546,16.4583111,22.8956121,14.0262232,36.4165231,62.3838627,31.6656256,48.6996257,23.2305691,4.6121593,14.532572,11.5817967,34.3148707,20.2519887,1.2962873,1.3915965,21.778056,16.2011918,23.9709847,14.5174276,36.7351238,60.9178275,31.3401666,48.2476556,22.4969714,4.4771476,15.7047682,11.8473896,34.5265516,20.8844867 +63,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6777835,0.7379647,12.487637,8.1355097,74.1896954,8.0010157,32.1453314,66.258549,34.931095,40.8892576,18.0380675,3.9704567,10.0430141,7.9833578,37.7050244,7.0779378,0.6667507,0.7235061,12.3677183,8.0061313,73.2119023,7.8733425,31.3302358,66.7539022,35.5866063,40.7416504,17.8007108,3.9847914,10.148898,8.2622884,37.3849632,7.452243,0.6856278,0.7409429,12.3643066,8.151578,71.8202309,7.944531,31.1132091,67.3945506,36.6742912,40.7431321,17.8422207,4.0937125,10.4400706,8.6271174,37.3295118,7.4561538,0.6576168,0.7112829,12.0691381,7.9149235,70.4656104,7.7743572,30.6930173,68.5402776,37.254803,40.9688303,18.1569266,4.0276806,10.5927205,8.4128888,37.3102499,7.2490839,0.5968017,0.6143695,11.8150003,7.8549999,69.7548911,7.6714356,29.8910855,68.9098738,38.0545558,40.6225001,18.1205064,4.1017191,10.482044,8.5116463,36.1513569,7.2542078 +64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.906964,0.9309538,14.7013649,9.3362891,70.0339581,12.2320024,39.0923576,62.2346065,31.0243998,44.3471249,23.3280239,2.9989283,11.2492379,9.3460906,43.2440615,11.157034,0.9371642,0.9851207,15.1301097,9.8674629,69.3149959,12.4387616,37.8055255,62.9914939,31.0573674,44.1285771,23.1402718,2.8958456,11.4461703,10.1253391,43.085445,9.8540218,0.9903656,0.9903656,15.4373798,10.1609808,68.0232673,12.6809585,37.2295388,63.0870576,32.0580171,43.6675254,23.2453753,3.2981437,11.9490314,9.8675125,43.5338749,11.6197265,0.9993232,0.9993232,15.6792964,10.3253886,67.1059819,12.8906186,36.6339067,64.1933686,32.2388534,44.4932581,23.3453911,3.852111,12.6765753,10.3979077,43.6519665,10.9375068,0.9383024,0.9383024,15.1694004,10.0704406,65.8503872,12.9040603,36.5554797,65.1641405,33.2725134,43.6946173,23.5278773,4.038558,12.9917983,10.5935805,42.6155056,9.1195026 +65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7383702,0.716949,10.9239223,7.0503632,85.0793651,12.9082757,34.7321981,60.6744669,25.8216942,39.4928596,14.26853,3.6995013,10.7680137,8.4883714,32.2570996,8.4643274,0.7271692,0.6935039,10.9512793,7.069731,84.3542552,13.4828128,34.4305871,61.5526813,26.8686381,39.6590756,14.5390153,3.9530514,10.7240878,8.5585962,32.4367378,9.3409639,0.7022629,0.6683434,10.5720665,6.7271284,82.856863,13.384885,34.4106168,62.3261047,27.875061,40.0514712,14.8619481,3.9249352,10.4896223,8.5207012,31.9781617,8.8068898,0.6584066,0.6582609,10.5614457,6.5080678,81.3603503,13.1676573,35.0002369,63.1751772,28.3444177,40.5791077,14.9168786,3.8175501,10.4513439,9.0559097,32.1287258,7.3599468,0.6910643,0.6703358,10.5887068,6.3037793,79.5010258,13.4299291,34.6180425,64.6127458,29.7250192,40.5341458,15.3877281,3.8463289,10.0706318,8.8442677,32.0030827,8.7217535 +66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6521334,0.6936427,16.011317,12.0102177,83.906278,9.8827105,33.1712646,61.294191,24.665685,42.3110221,13.5123717,2.5841344,12.1260738,9.5676337,32.1362835,6.5261511,0.6493796,0.6940797,14.9689301,11.2974332,82.9344179,9.8405475,32.6609088,62.3769202,25.6184703,42.8239588,13.7123849,2.6215886,12.0881885,9.7383144,31.7271973,6.1046958,0.6992767,0.7372671,14.2808014,10.7431613,80.9753323,9.6805098,32.9128512,63.7699624,26.7247099,43.1567445,14.3205525,2.7526109,12.0408729,9.8800872,31.4935862,6.6355564,0.6425652,0.6866147,13.8775603,10.5659435,79.1588949,9.6392587,32.659647,64.5536673,27.1692306,43.7783995,14.5330335,2.6555338,11.6430784,9.4483644,30.6939746,7.0069623,0.6144364,0.6233626,12.8710667,9.7126011,77.809692,9.5386401,32.3168755,66.4440488,28.4622393,44.3212546,15.0261496,2.7188837,11.2485003,9.3993528,30.2058019,7.118395 +67,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6667507,0.7235061,12.3677183,8.0061313,73.2119023,7.8733425,31.3302358,66.7539022,35.5866063,40.7416504,17.8007108,3.9847914,10.148898,8.2622884,37.3849632,7.452243,0.6856278,0.7409429,12.3643066,8.151578,71.8202309,7.944531,31.1132091,67.3945506,36.6742912,40.7431321,17.8422207,4.0937125,10.4400706,8.6271174,37.3295118,7.4561538,0.6576168,0.7112829,12.0691381,7.9149235,70.4656104,7.7743572,30.6930173,68.5402776,37.254803,40.9688303,18.1569266,4.0276806,10.5927205,8.4128888,37.3102499,7.2490839,0.5968017,0.6143695,11.8150003,7.8549999,69.7548911,7.6714356,29.8910855,68.9098738,38.0545558,40.6225001,18.1205064,4.1017191,10.482044,8.5116463,36.1513569,7.2542078,0.5793732,0.5955827,11.7162229,7.7315943,68.9681489,7.8373812,30.1672856,68.9458849,37.9975825,40.3456606,18.2152606,4.1469322,10.3227693,8.1931185,35.9703295,6.5243894 +68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4776873,0.4989303,9.118356,5.8172279,86.7148799,18.2131299,31.1902794,57.5835988,22.9498432,34.3749976,10.9673597,5.2348741,10.959255,8.8802054,33.3246653,7.5000034,0.4124746,0.4336791,8.8223454,5.4863317,85.0884449,17.9306142,32.0548407,59.0421325,23.9864843,34.9960219,11.3076339,5.3060426,10.1851819,8.6255619,32.9288957,6.0810838,0.4077502,0.4290242,8.4913248,5.5062496,83.8955205,17.9420019,31.8582242,60.1722067,24.2490958,35.382454,11.0732902,5.3063687,10.3884113,8.7212927,34.0049598,5.6818208,0.5090211,0.5339603,8.7368823,5.7506025,82.6773307,18.209131,31.5313488,60.9927655,24.9799005,35.8319887,11.274118,5.3255638,10.2103135,8.4751543,34.4133676,5.2272751,0.3926791,0.4448953,8.2896343,5.344898,81.2120027,18.9312632,31.0669845,61.9133593,25.9326075,37.2041656,11.5724046,5.3549948,10.7196978,8.9217926,34.9621239,4.2035417 +69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9371642,0.9851207,15.1301097,9.8674629,69.3149959,12.4387616,37.8055255,62.9914939,31.0573674,44.1285771,23.1402718,2.8958456,11.4461703,10.1253391,43.085445,9.8540218,0.9903656,0.9903656,15.4373798,10.1609808,68.0232673,12.6809585,37.2295388,63.0870576,32.0580171,43.6675254,23.2453753,3.2981437,11.9490314,9.8675125,43.5338749,11.6197265,0.9993232,0.9993232,15.6792964,10.3253886,67.1059819,12.8906186,36.6339067,64.1933686,32.2388534,44.4932581,23.3453911,3.852111,12.6765753,10.3979077,43.6519665,10.9375068,0.9383024,0.9383024,15.1694004,10.0704406,65.8503872,12.9040603,36.5554797,65.1641405,33.2725134,43.6946173,23.5278773,4.038558,12.9917983,10.5935805,42.6155056,9.1195026,0.7845703,0.7615124,14.3510465,9.7426793,64.5340657,12.3226857,36.180103,65.7859364,33.7601467,43.9968246,23.4624859,3.8358831,12.7896076,10.403678,40.2726882,7.7142901 +70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4124746,0.4336791,8.8223454,5.4863317,85.0884449,17.9306142,32.0548407,59.0421325,23.9864843,34.9960219,11.3076339,5.3060426,10.1851819,8.6255619,32.9288957,6.0810838,0.4077502,0.4290242,8.4913248,5.5062496,83.8955205,17.9420019,31.8582242,60.1722067,24.2490958,35.382454,11.0732902,5.3063687,10.3884113,8.7212927,34.0049598,5.6818208,0.5090211,0.5339603,8.7368823,5.7506025,82.6773307,18.209131,31.5313488,60.9927655,24.9799005,35.8319887,11.274118,5.3255638,10.2103135,8.4751543,34.4133676,5.2272751,0.3926791,0.4448953,8.2896343,5.344898,81.2120027,18.9312632,31.0669845,61.9133593,25.9326075,37.2041656,11.5724046,5.3549948,10.7196978,8.9217926,34.9621239,4.2035417,0.3697758,0.4583895,8.0912042,5.1856346,80.6445068,18.9785339,30.74297,61.0642572,25.0803223,37.3694734,12.0682715,5.4016075,10.6231255,9.2105209,34.8496244,3.4246575 +71,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5694916,0.6113016,11.4110116,7.226195,82.0535924,14.5246426,34.8857343,61.7572913,29.2119749,42.5925847,16.4460239,5.0985017,9.9440736,9.007687,34.9379913,8.4795322,0.5825534,0.6132003,11.1067845,7.1217282,80.9620478,14.4520069,34.6220473,62.4960628,30.0236235,42.6850335,16.1968527,4.9370065,9.7480469,8.6844088,34.7253045,9.0291297,0.5799373,0.631932,10.8068698,6.9105665,79.413637,14.2314797,33.9421784,63.0732188,30.9109347,42.9270922,16.45423,4.9976668,9.9181233,8.7158436,33.9219349,8.9453911,0.5564315,0.6011774,10.4262146,6.729302,78.4226241,14.2780647,33.2481048,64.3809113,31.7449265,43.1194758,17.1315737,5.1061504,9.6064172,8.5351651,33.1918165,8.6111143,0.6035644,0.6516391,10.3790763,6.7399558,77.458318,14.7479797,33.3410561,64.1435197,31.6589559,43.2484581,17.2608104,5.0694425,9.4968055,8.4230455,33.7960432,7.1043191 +72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8039712,0.8251098,12.2282419,7.8112527,76.8054036,8.2026433,36.0264223,61.4061497,34.2626385,41.0729983,20.5144492,3.7384196,11.483721,9.5439327,41.3493979,6.7223269,0.8109069,0.8171126,12.0257004,7.6134979,75.6568796,7.9438518,35.9015974,62.4574268,35.1054551,41.1934158,20.5408719,3.6363393,11.2186168,9.4877987,41.2514178,7.2265375,0.7697706,0.7612703,12.1654502,7.5688601,74.8941642,8.1177924,35.4975366,63.4986642,36.2486533,41.5084419,21.0081471,3.6157695,11.1281756,9.4044116,41.0949471,7.4252951,0.7216056,0.7230786,11.8594094,7.3665329,74.0796034,8.094835,35.1600735,64.2578989,37.1212523,42.0891673,21.5022223,3.6662878,11.3534449,9.3870862,40.4244603,6.8944698,0.7121585,0.7106798,11.9709998,7.5141664,73.1363547,8.1782717,34.669405,65.1540826,37.7847112,42.1309919,21.5818565,3.7586711,11.0137815,9.4479593,39.7464863,6.0628067 +73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9903656,0.9903656,15.4373798,10.1609808,68.0232673,12.6809585,37.2295388,63.0870576,32.0580171,43.6675254,23.2453753,3.2981437,11.9490314,9.8675125,43.5338749,11.6197265,0.9993232,0.9993232,15.6792964,10.3253886,67.1059819,12.8906186,36.6339067,64.1933686,32.2388534,44.4932581,23.3453911,3.852111,12.6765753,10.3979077,43.6519665,10.9375068,0.9383024,0.9383024,15.1694004,10.0704406,65.8503872,12.9040603,36.5554797,65.1641405,33.2725134,43.6946173,23.5278773,4.038558,12.9917983,10.5935805,42.6155056,9.1195026,0.7845703,0.7615124,14.3510465,9.7426793,64.5340657,12.3226857,36.180103,65.7859364,33.7601467,43.9968246,23.4624859,3.8358831,12.7896076,10.403678,40.2726882,7.7142901,0.8017377,0.7788043,14.7629107,9.7509612,62.816763,11.9950604,35.6102063,66.5070279,34.4792181,43.7233261,24.1974294,3.8299669,13.1926754,11.4424098,42.0704078,7.712766 +74,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7154917,0.7084963,12.661691,7.8373286,68.4214292,15.521451,38.7912565,61.4224138,33.5771448,46.5448492,20.2404662,3.9676394,11.208156,10.8587179,33.072192,8.0508475,0.8871376,0.8663692,12.1407554,7.5401312,64.8408189,15.7838273,38.1636931,62.2661458,33.9606007,46.6599628,20.8536682,3.9127516,10.547906,10.8549249,32.5926279,7.0247934,0.9997995,0.978971,11.5554652,7.577767,62.6070867,16.0372295,37.5143066,63.3704846,34.6746697,46.2696793,21.22198,3.9028488,10.8299315,11.2910365,31.7943679,8.2677165,1.046839,1.0258964,11.9944472,7.8101674,59.8960673,16.4985893,36.6975429,65.2384996,35.6507549,47.6039238,22.1501714,3.613133,11.4197287,11.5007536,31.9516622,7.5396825,0.9006675,0.8794137,11.8384068,7.5821973,57.9175136,16.7933162,36.8893556,65.8290381,36.9816199,48.4842642,22.926743,3.6868325,10.2890562,10.918091,30.7275885,8.267723 +75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6719153,0.6967422,11.623134,6.6309861,58.3805405,12.0085919,40.5803472,63.2115122,38.0714317,49.387027,24.5541575,2.69102,11.4457375,10.2700439,36.5088669,7.5892857,0.5841018,0.6094614,11.2904892,6.4553778,57.0548561,11.6866441,39.607162,64.8955901,38.5121812,48.8755986,24.2128387,2.6882489,10.9633443,10.7980398,37.2339447,7.7981651,0.699633,0.709013,11.8989057,6.6441811,55.8235549,11.4658399,37.571338,65.7291304,38.6482915,47.4595835,24.2250438,2.4902018,10.6966476,10.8419474,37.1154444,9.8290598,0.5827365,0.6012629,12.1242924,6.9245901,55.3971944,11.9073224,37.3093065,65.8421105,39.0291924,46.8604478,23.6896467,2.3016137,10.5714052,11.7185923,37.938439,8.6065574,0.4203566,0.4387552,12.11373,6.6911529,55.54631,12.0169847,37.0153068,64.9596619,38.6234575,45.9010051,24.1881943,2.4373407,10.8963325,12.4189532,37.9681369,7.5396885 +76,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5825534,0.6132003,11.1067845,7.1217282,80.9620478,14.4520069,34.6220473,62.4960628,30.0236235,42.6850335,16.1968527,4.9370065,9.7480469,8.6844088,34.7253045,9.0291297,0.5799373,0.631932,10.8068698,6.9105665,79.413637,14.2314797,33.9421784,63.0732188,30.9109347,42.9270922,16.45423,4.9976668,9.9181233,8.7158436,33.9219349,8.9453911,0.5564315,0.6011774,10.4262146,6.729302,78.4226241,14.2780647,33.2481048,64.3809113,31.7449265,43.1194758,17.1315737,5.1061504,9.6064172,8.5351651,33.1918165,8.6111143,0.6035644,0.6516391,10.3790763,6.7399558,77.458318,14.7479797,33.3410561,64.1435197,31.6589559,43.2484581,17.2608104,5.0694425,9.4968055,8.4230455,33.7960432,7.1043191,0.6311906,0.7116031,10.2385706,6.6294559,75.8855843,14.9501898,33.6413131,64.2468965,32.3835492,43.625785,17.7562187,5.0543462,9.3292382,8.0498561,33.9475403,7.025533 +77,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8991823,0.8934015,14.1018688,8.6294086,62.5803258,15.7657325,37.2910843,67.7260543,34.1376413,47.5156155,22.5276411,2.0785166,12.0788148,10.8607712,37.8255143,9.8284634,1.0428381,1.0371968,13.6030244,8.4817832,62.8222106,15.2613561,36.3026039,68.1629435,34.7675449,46.488364,22.2558737,2.0234109,11.6427217,10.5517564,37.4542496,9.764946,0.9960366,0.9904305,13.5434915,8.6885798,61.4494675,15.7836664,36.9847083,68.897652,36.3824271,46.7577117,23.3208347,2.0612156,11.8181539,10.3570148,38.0934196,9.3982489,1.088689,1.08071,13.4324312,8.6268393,59.8826296,15.3618904,36.1844247,69.0541357,37.0188123,46.7082344,22.6933445,1.9703223,11.829337,11.4195902,37.1368474,10.5069875,1.137949,1.1084111,12.9233311,8.2365246,58.9784202,15.4830432,35.5132436,68.7528873,36.9666463,46.4835846,22.3862675,2.2269059,11.6085053,10.9414351,35.5837774,9.5743594 +78,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4592275,0.4592275,9.2068646,5.635436,85.5528846,16.6745506,34.361949,61.8329466,25.638051,39.4663573,12.4593968,4.199536,10.8782435,9.4966443,35.819398,3.2994924,0.4729247,0.4514931,8.8303821,5.3821062,85.0593824,16.5579879,34.8982424,62.5115634,26.3413506,39.7086031,12.372803,4.0471785,10.7599432,9.6924177,35.5150215,3.2828283,0.518487,0.4972376,9.1392874,5.6686719,83.0679157,17.5862069,33.7257618,64.4275162,27.2622345,40.8356417,13.1348107,4.1782087,10.2633617,8.7616822,34.9533437,2.8061224,0.4145299,0.3931624,9.2540793,5.5244755,81.6369606,17.6186089,32.9524254,65.4151119,28.3815299,41.2546642,13.7826493,3.9412313,10.349345,8.9833479,34.3722564,3.25,0.3575025,0.3359229,8.8193791,5.1505174,80.2693762,17.9350348,33.1376233,65.6411461,28.1117896,41.3574448,13.8327853,3.8280883,9.7465035,9.1666667,33.9929639,3.3505155 +79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8052376,0.6866126,10.063317,7.0253787,42.2322673,29.4901544,28.1936277,67.6773001,34.90337,41.3550454,14.0001355,4.96779,17.1466006,10.835594,32.8532685,4.4118296,0.9045497,0.7884045,11.6005494,8.374773,43.4865152,31.0233823,28.1841156,68.284886,36.254762,43.4428007,15.5738211,5.2333507,15.8629582,9.517851,34.2239689,4.7826711,0.9027746,0.9027746,11.3027264,8.8762025,41.2811769,32.8825991,29.3619786,67.9036161,36.2630316,45.2475711,16.601616,4.7526568,17.236892,10.1316856,33.5527216,5.8559086,0.8504285,0.8504285,11.5914769,9.0852471,42.5708067,32.1872572,28.7625934,68.1758899,35.7781121,45.2170658,16.6454185,4.273011,18.6856549,11.4692052,34.2378658,6.465573,0.7105265,0.7105265,11.6545882,9.2391649,41.8529821,32.5118496,27.5670683,68.15397,35.5135543,46.2716254,17.5428076,4.2176529,17.076254,9.9509822,33.1282405,6.6929661 +80,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5112158,0.5217492,8.2984761,5.164897,88.3731252,6.385393,28.5403884,57.9672132,23.7651053,34.5169935,11.1391062,5.2565827,10.409482,8.3775001,38.2283858,3.1415929,0.4855162,0.5059841,8.2521946,5.1553033,87.946918,6.4984014,28.1821941,59.138063,24.307887,34.7385163,11.4577136,5.3103521,10.6404123,8.7020699,38.2200866,2.6521739,0.4978832,0.5090127,8.1382403,5.1224223,87.7891594,6.659019,27.4868872,59.7625622,24.7011917,34.785784,11.5069045,5.2003417,10.7449302,9.1291294,37.9666201,2.9806885,0.5039233,0.5143893,8.2314513,5.1694562,87.6428021,6.6262688,27.1522546,61.1413661,25.3168951,35.2532526,11.620706,5.0455904,10.3706317,9.2160688,37.5901359,3.1224655,0.5534378,0.5551855,8.384555,5.2173072,87.5254518,6.3711446,26.6603773,61.8840621,26.0532791,35.679084,11.7398831,5.1424276,10.1415851,9.1873397,37.354849,3.5150079 +81,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4868509,1.4206112,20.1603514,15.6724866,29.3146137,21.1697268,35.8219267,69.371958,38.4198647,48.8824352,23.9885874,4.22054,11.8723586,10.4437281,29.8985872,18.6508085,1.3739382,1.3083456,20.1033847,15.7980026,29.9859065,22.2649545,35.2655866,69.4165439,38.580881,48.8123266,23.3778374,4.0704021,11.3495368,9.9100333,29.3750934,20.2381113,1.2644652,1.1985671,20.2573551,15.8642013,30.6133064,22.6982176,35.1297143,69.934592,38.2423678,49.095933,22.6837093,4.5946197,9.8789268,9.4692895,28.344123,21.4285894,1.0352755,0.9703194,21.0246499,16.551326,30.5819312,22.6920882,35.9722449,69.3536231,37.6786379,49.1839611,23.116963,4.2966915,10.9890719,9.269437,27.7218373,21.2500177,0.8861493,0.7921321,21.403998,17.276327,31.8494149,22.6228668,35.3760157,68.5964791,36.6791906,49.8294211,22.3621566,3.7327234,11.5056819,9.5799131,29.6063717,18.3760841 +82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8399081,0.8407794,13.5357396,8.9531929,82.2921783,13.1526314,37.8557388,61.6485784,29.5411279,44.6514096,16.0937149,3.0140778,13.0166174,10.4856895,33.4724869,5.4666594,0.7883297,0.7891984,12.8535263,8.5091009,81.5851292,13.0609876,37.6450931,62.4980122,30.5692665,44.7209564,16.5447669,3.124506,13.0831097,10.7918769,33.6189977,5.7486539,0.7347503,0.7470161,12.7067449,8.4212583,80.3589478,12.81271,37.415665,62.9216171,31.07133,45.0770998,17.0012911,3.1721835,13.0929643,10.7433644,33.3369048,5.7486554,0.7150493,0.7393873,12.4200435,8.1630635,78.7841159,13.0635061,38.0387877,64.2834451,32.2013837,45.99173,17.3453138,3.3640866,12.5689957,10.9118308,32.8132275,6.472073,0.6318105,0.6415842,11.9708328,7.8002496,77.2989356,13.1214886,37.795316,65.5092645,33.740436,45.9211393,18.0156425,3.536081,11.9438858,10.5630276,32.465058,7.2839452 +83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8717252,0.9138009,16.7861357,13.0554771,32.4903215,17.3031432,37.5936918,66.5492919,38.56724,50.6747326,24.7675312,3.6603716,10.873962,8.1708638,33.4837614,18.2247296,0.8233445,0.8651005,17.523497,13.7479054,34.1297959,17.3149877,37.9363359,66.2503278,38.0650354,50.6754971,24.2920303,3.765457,11.7196585,8.9621243,33.0592951,17.105749,0.6996635,0.7418232,18.1124637,14.4326664,35.1757595,16.7201184,37.7297524,66.4407543,37.7948532,49.9019907,24.0557489,3.7443694,11.6353079,9.0640004,32.5774824,15.4875448,0.8126506,0.8536731,18.8593303,14.674841,35.8205792,17.6326503,38.4694763,66.3842856,39.2259056,50.6917969,24.795498,3.9391975,12.7206765,10.1019803,34.224742,13.2487501,0.8201539,0.8607739,18.9274156,14.7073625,35.9919531,18.2278585,37.9698892,65.220105,39.0952448,50.4677193,25.0321972,3.7821485,13.1130727,10.1607145,33.2298677,11.0654434 +84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2134038,1.2623355,21.2321392,16.0357687,22.7052709,13.122299,35.608243,63.8539294,33.1862164,48.1553941,23.8514392,4.4543092,14.1041193,12.7327317,33.642946,19.3810775,1.359579,1.4106377,21.6062473,16.5930047,22.4711022,13.6371419,35.5143297,62.8319251,31.8478322,48.5490929,23.5191729,4.5727441,14.1149951,12.0487893,33.3562769,21.6622075,1.328468,1.4253385,21.8784546,16.4583111,22.8956121,14.0262232,36.4165231,62.3838627,31.6656256,48.6996257,23.2305691,4.6121593,14.532572,11.5817967,34.3148707,20.2519887,1.2962873,1.3915965,21.778056,16.2011918,23.9709847,14.5174276,36.7351238,60.9178275,31.3401666,48.2476556,22.4969714,4.4771476,15.7047682,11.8473896,34.5265516,20.8844867,1.2832723,1.3789678,22.0232997,16.7199403,24.7354458,15.7384285,37.7121047,61.8859112,31.682543,48.9893674,23.5873442,4.7732969,15.6162985,12.2441259,34.265948,19.379411 +85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7197057,1.6908058,14.0105094,9.0089778,42.4566574,21.7336351,35.6380841,67.9901211,38.2204817,48.2319728,28.7234172,3.8082662,10.7051316,8.7355665,37.4442609,12.146962,1.7375495,1.709244,14.3647345,9.0965827,42.5437458,20.2060493,36.2922705,67.3194431,37.4239459,47.7388054,27.8696558,3.409895,9.872694,8.4134353,37.326366,13.4042557,1.793346,1.766201,14.3837892,9.4160959,43.7315907,19.1409388,35.1157382,67.9355204,38.0224919,48.4348086,27.134876,3.1019036,10.4986831,8.2315222,38.6801619,12.5758159,1.7986391,1.7878517,14.4908406,9.7684579,44.344027,18.9869368,34.9611926,67.5769145,38.158907,48.0764657,27.8277576,2.8702906,10.2486643,8.5078829,39.0627655,10.0624061,1.6209048,1.5893269,15.2587312,10.4964145,42.4915666,18.9411746,34.1860939,68.8439961,38.4992298,48.7141351,28.9141287,2.9173875,11.5247494,9.5663245,39.4459169,12.3124809 +86,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2985376,1.3741805,25.1607717,21.4630225,53.9408867,7.428115,36.1378205,65.7852564,29.8878205,44.6314103,15.625,4.7275641,14.1719745,9.7133758,34.0390879,7.4561404,1.3762626,1.4520202,25.0806452,21.2096774,54.6875,7.5636943,35.2327448,66.6934189,28.6516854,44.2215088,15.1685393,5.3772071,15.8653846,10.4166667,35.6677524,9.2920354,1.712828,1.8586006,25.4276827,21.3841369,55.2464229,7.6388889,34.5496894,66.8478261,28.1832298,44.1770186,15.4503106,5.5124224,17.6751592,11.6242038,35.3225806,9.9137931,1.8041237,1.9513991,25.9811617,21.899529,52.8892456,8.1395349,34.1940532,67.057903,29.1862285,45.9311424,15.8841941,5.399061,18.1372549,12.5816993,35.8085809,9.4262295,1.8494152,1.995614,25.3488372,20.8527132,52.8044872,7.7453988,34.1860465,64.5736434,28.1395349,42.8682171,16.0465116,5.1937984,16.7711599,11.1285266,36.2341772,11.25 +87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5362243,0.498305,8.2276572,5.2989121,86.2857977,15.7886756,31.9316418,61.2332885,25.1560253,36.0326866,13.8633015,6.8796463,10.7311869,7.8478292,37.1287143,3.4441822,0.4791113,0.4324446,8.0679086,5.3335326,86.3124189,16.477784,31.6046043,62.101064,26.5218748,36.7464532,13.9036667,7.3138326,10.3887123,7.9561389,36.7455876,2.9069774,0.4105394,0.3952207,7.5609026,5.0356493,86.3165632,16.5508282,31.2391151,62.6088222,26.7121372,36.3464879,14.2338968,7.2693005,10.0099384,7.1464415,35.0600606,3.3916856,0.514861,0.4671428,7.2585391,4.9322721,85.6168306,16.5624144,30.3453207,63.2949618,28.0143932,36.7625893,14.5755393,7.3812977,10.2046494,6.8534984,35.3318467,3.927814,0.5566357,0.5095668,7.7157801,5.0711991,85.4621071,16.3153493,29.6480248,63.198972,28.0868633,36.5455609,14.2350241,7.3091145,10.8041556,7.2802167,35.8995593,4.3157904 +88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.359579,1.4106377,21.6062473,16.5930047,22.4711022,13.6371419,35.5143297,62.8319251,31.8478322,48.5490929,23.5191729,4.5727441,14.1149951,12.0487893,33.3562769,21.6622075,1.328468,1.4253385,21.8784546,16.4583111,22.8956121,14.0262232,36.4165231,62.3838627,31.6656256,48.6996257,23.2305691,4.6121593,14.532572,11.5817967,34.3148707,20.2519887,1.2962873,1.3915965,21.778056,16.2011918,23.9709847,14.5174276,36.7351238,60.9178275,31.3401666,48.2476556,22.4969714,4.4771476,15.7047682,11.8473896,34.5265516,20.8844867,1.2832723,1.3789678,22.0232997,16.7199403,24.7354458,15.7384285,37.7121047,61.8859112,31.682543,48.9893674,23.5873442,4.7732969,15.6162985,12.2441259,34.265948,19.379411,1.2370812,1.3311543,22.0706084,16.9289649,25.2667212,16.0386187,37.5586204,62.0501083,31.9703118,49.0101078,24.0253791,4.5749582,16.1469123,12.4282325,33.7762031,21.7944247 +89,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8315858,0.8275232,14.5685036,10.5789237,79.0963913,10.4181708,35.8518041,62.8357196,32.8026369,43.7535248,17.1959221,4.6712009,11.4183141,10.6003107,32.6790304,10.3880843,0.7676425,0.7635799,14.2648616,10.2125288,76.6459843,10.6147306,34.6399605,63.6524365,34.1477136,44.6827273,17.7051403,4.9383566,11.0567246,10.889148,32.9331416,8.7078583,0.7132545,0.7193783,12.8943631,8.9192878,74.6871115,10.523814,33.920257,64.3983799,34.6122383,44.0356879,17.8081034,4.9249347,10.1726619,9.9543328,32.5088806,8.010957,0.6998961,0.7164697,13.4342225,9.2827346,72.4930573,10.4146914,32.767771,65.6205127,35.3517365,44.4121917,17.9354316,4.8144908,10.4858997,10.5671976,33.1130957,9.0290736,0.7859444,0.8022345,13.2263705,8.9744598,70.7133689,10.5529252,32.3503356,66.7267431,36.4333687,45.0933158,18.5537115,4.7241302,10.3653017,10.2415307,33.074478,9.2355239 +90,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7676425,0.7635799,14.2648616,10.2125288,76.6459843,10.6147306,34.6399605,63.6524365,34.1477136,44.6827273,17.7051403,4.9383566,11.0567246,10.889148,32.9331416,8.7078583,0.7132545,0.7193783,12.8943631,8.9192878,74.6871115,10.523814,33.920257,64.3983799,34.6122383,44.0356879,17.8081034,4.9249347,10.1726619,9.9543328,32.5088806,8.010957,0.6998961,0.7164697,13.4342225,9.2827346,72.4930573,10.4146914,32.767771,65.6205127,35.3517365,44.4121917,17.9354316,4.8144908,10.4858997,10.5671976,33.1130957,9.0290736,0.7859444,0.8022345,13.2263705,8.9744598,70.7133689,10.5529252,32.3503356,66.7267431,36.4333687,45.0933158,18.5537115,4.7241302,10.3653017,10.2415307,33.074478,9.2355239,0.8139051,0.8304068,13.4678697,9.2355816,69.1017383,10.2746322,33.1825927,67.0854983,36.6331889,45.9129285,18.8777446,4.7068767,10.4717159,10.4717159,33.3648107,11.6973067 +91,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0428381,1.0371968,13.6030244,8.4817832,62.8222106,15.2613561,36.3026039,68.1629435,34.7675449,46.488364,22.2558737,2.0234109,11.6427217,10.5517564,37.4542496,9.764946,0.9960366,0.9904305,13.5434915,8.6885798,61.4494675,15.7836664,36.9847083,68.897652,36.3824271,46.7577117,23.3208347,2.0612156,11.8181539,10.3570148,38.0934196,9.3982489,1.088689,1.08071,13.4324312,8.6268393,59.8826296,15.3618904,36.1844247,69.0541357,37.0188123,46.7082344,22.6933445,1.9703223,11.829337,11.4195902,37.1368474,10.5069875,1.137949,1.1084111,12.9233311,8.2365246,58.9784202,15.4830432,35.5132436,68.7528873,36.9666463,46.4835846,22.3862675,2.2269059,11.6085053,10.9414351,35.5837774,9.5743594,1.2068413,1.1810927,13.4434963,8.3642582,57.5690931,15.874298,35.5026988,68.3033734,37.3824318,45.6057814,22.0628723,2.2321274,11.4617477,10.121497,35.547129,9.3748893 +92,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6856278,0.7409429,12.3643066,8.151578,71.8202309,7.944531,31.1132091,67.3945506,36.6742912,40.7431321,17.8422207,4.0937125,10.4400706,8.6271174,37.3295118,7.4561538,0.6576168,0.7112829,12.0691381,7.9149235,70.4656104,7.7743572,30.6930173,68.5402776,37.254803,40.9688303,18.1569266,4.0276806,10.5927205,8.4128888,37.3102499,7.2490839,0.5968017,0.6143695,11.8150003,7.8549999,69.7548911,7.6714356,29.8910855,68.9098738,38.0545558,40.6225001,18.1205064,4.1017191,10.482044,8.5116463,36.1513569,7.2542078,0.5793732,0.5955827,11.7162229,7.7315943,68.9681489,7.8373812,30.1672856,68.9458849,37.9975825,40.3456606,18.2152606,4.1469322,10.3227693,8.1931185,35.9703295,6.5243894,0.5446291,0.5585896,11.6422337,7.6410113,68.4154045,8.0601645,30.2958375,68.6439818,37.6464066,39.9283138,18.0583624,4.0337246,10.4735593,8.2138114,35.8037837,6.2652061 +93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6686635,0.6113165,13.7333741,9.254715,74.3045338,13.0346645,36.6384186,64.9876435,31.9724096,42.8950073,17.2675745,2.7394838,10.7984036,8.3569287,37.0080577,5.0802112,0.752846,0.6957201,14.0754809,9.5048381,73.2605769,12.9131942,36.624459,66.1915137,33.1397325,42.8546231,17.3706299,2.6223155,10.2210068,8.2436544,35.411331,5.0531861,0.6888082,0.6316823,13.4980951,8.969918,71.6305776,12.8468585,36.8078017,67.213439,34.0211568,42.5573102,17.9012237,2.7689588,9.8543559,8.0266832,35.1308077,6.4102465,0.7175993,0.6500876,13.0337386,8.7293255,70.8121213,13.7580327,35.8726568,68.1034677,34.0077208,42.945096,17.9978748,2.44546,9.4513797,7.9145813,35.0978605,5.4245257,0.6938031,0.6270517,12.7282005,8.5945403,69.2210362,13.4055386,35.0812457,68.4145579,33.9512568,43.2026653,18.5557831,2.1362985,8.656475,8.0165322,34.8293076,5.8685418 +94,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5954156,0.6556842,16.5545912,11.2279948,73.393531,15.3277356,41.3622354,64.7833735,32.8094042,46.8563941,20.4616302,2.7612552,12.0702467,9.7020543,35.1245783,7.7830115,0.7474367,0.8076739,15.9646834,10.7976032,72.120748,15.2105066,41.1572401,65.3824382,33.2527675,46.7301452,20.2303174,2.6300806,11.469187,9.2540433,34.8307808,9.0277778,0.7036857,0.7203832,15.1671272,10.2646271,69.9444515,15.7555965,40.2241771,66.6146614,34.6623084,47.4035066,21.0414447,3.0221376,11.556807,9.5726148,34.8233715,9.4936669,0.6735279,0.6903698,14.4163082,9.6343189,68.8651409,15.8687017,39.5684361,68.3481062,35.3672298,47.284927,21.3060972,2.8722522,11.4766071,9.5853649,34.1731865,10.7594846,0.6669325,0.6755995,14.1122258,9.282527,67.657171,15.6821458,39.053661,67.9802345,35.7203277,48.206209,21.5113136,2.6694972,10.9658419,9.4284178,34.557637,10.6522081 +95,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5500017,0.5398838,11.4264602,7.0613978,78.2082817,9.0922072,31.5560309,61.6440621,31.5253422,41.3885496,16.820518,3.697936,10.7137297,8.7790415,32.4705266,6.3928253,0.5888919,0.5786676,11.4221055,6.9202477,77.0787233,9.2413081,31.4088902,62.0253427,32.8950927,41.2603165,17.150376,3.9934306,10.8016583,9.2057299,32.3553347,8.3110153,0.6160142,0.5655966,11.0757654,6.9522346,76.355125,9.6936034,30.9089469,64.146217,33.3478854,41.2501924,17.506604,3.9899526,10.9180677,9.3069764,32.9056981,8.8715529,0.6385877,0.5702776,10.8780268,6.7353961,74.530807,10.2561054,30.5361234,64.7863631,34.7085892,42.3703097,18.1923233,4.181361,10.6032153,8.9727358,32.9633522,8.5045076,0.5384739,0.4784891,10.4738373,6.3428973,73.2384575,10.2690558,30.3050569,66.1236886,35.0528524,41.8478549,18.549816,4.3177052,10.5383431,8.8999256,32.770561,6.7132814 +96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8109069,0.8171126,12.0257004,7.6134979,75.6568796,7.9438518,35.9015974,62.4574268,35.1054551,41.1934158,20.5408719,3.6363393,11.2186168,9.4877987,41.2514178,7.2265375,0.7697706,0.7612703,12.1654502,7.5688601,74.8941642,8.1177924,35.4975366,63.4986642,36.2486533,41.5084419,21.0081471,3.6157695,11.1281756,9.4044116,41.0949471,7.4252951,0.7216056,0.7230786,11.8594094,7.3665329,74.0796034,8.094835,35.1600735,64.2578989,37.1212523,42.0891673,21.5022223,3.6662878,11.3534449,9.3870862,40.4244603,6.8944698,0.7121585,0.7106798,11.9709998,7.5141664,73.1363547,8.1782717,34.669405,65.1540826,37.7847112,42.1309919,21.5818565,3.7586711,11.0137815,9.4479593,39.7464863,6.0628067,0.6649479,0.6523594,11.6787896,7.2399583,71.9778944,8.2379405,34.9838267,65.623922,38.1796257,42.4720333,22.096664,3.684841,11.6737167,9.5439819,40.0113204,6.4995771 +97,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7132545,0.7193783,12.8943631,8.9192878,74.6871115,10.523814,33.920257,64.3983799,34.6122383,44.0356879,17.8081034,4.9249347,10.1726619,9.9543328,32.5088806,8.010957,0.6998961,0.7164697,13.4342225,9.2827346,72.4930573,10.4146914,32.767771,65.6205127,35.3517365,44.4121917,17.9354316,4.8144908,10.4858997,10.5671976,33.1130957,9.0290736,0.7859444,0.8022345,13.2263705,8.9744598,70.7133689,10.5529252,32.3503356,66.7267431,36.4333687,45.0933158,18.5537115,4.7241302,10.3653017,10.2415307,33.074478,9.2355239,0.8139051,0.8304068,13.4678697,9.2355816,69.1017383,10.2746322,33.1825927,67.0854983,36.6331889,45.9129285,18.8777446,4.7068767,10.4717159,10.4717159,33.3648107,11.6973067,0.8127591,0.8215747,13.0929054,9.1073943,67.8766639,10.9057406,32.9905759,67.2455203,37.1712949,45.9710378,18.8638138,4.9393212,9.9369248,10.056763,33.3016771,11.1872708 +98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8414024,0.8259327,14.1767659,8.9528275,70.5103827,13.9427821,38.5120791,61.7029964,33.4004864,48.4994462,22.059158,3.8763633,12.8086326,9.1741398,34.2846141,10.0000483,0.8610139,0.8453941,14.2418983,8.9904558,69.0259341,14.1412336,38.0384821,61.8042765,34.4585502,48.5405679,22.6610027,3.6313229,12.4053001,9.1193513,34.3513536,10.0000323,0.8289785,0.8171823,13.8634916,8.867887,67.1625927,14.9107435,37.8366714,62.5905621,34.4084392,47.9852128,22.1687463,3.5141912,13.2081781,9.6219123,35.3675213,8.1818033,0.9127028,0.8774017,13.5457385,8.7687605,65.8285242,14.7004651,38.2210026,62.8831127,34.7078618,48.5225932,22.8033038,3.4622105,12.7674128,9.6275636,35.1689665,7.371776,0.9255869,0.9147835,13.333304,8.8720347,64.2856843,14.7495283,38.5827247,63.5370006,35.3520016,48.0008636,22.8749892,3.1450338,12.6118009,9.7243584,34.6826599,4.777067 +99,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9960366,0.9904305,13.5434915,8.6885798,61.4494675,15.7836664,36.9847083,68.897652,36.3824271,46.7577117,23.3208347,2.0612156,11.8181539,10.3570148,38.0934196,9.3982489,1.088689,1.08071,13.4324312,8.6268393,59.8826296,15.3618904,36.1844247,69.0541357,37.0188123,46.7082344,22.6933445,1.9703223,11.829337,11.4195902,37.1368474,10.5069875,1.137949,1.1084111,12.9233311,8.2365246,58.9784202,15.4830432,35.5132436,68.7528873,36.9666463,46.4835846,22.3862675,2.2269059,11.6085053,10.9414351,35.5837774,9.5743594,1.2068413,1.1810927,13.4434963,8.3642582,57.5690931,15.874298,35.5026988,68.3033734,37.3824318,45.6057814,22.0628723,2.2321274,11.4617477,10.121497,35.547129,9.3748893,1.0934336,1.0450564,13.4303512,8.668433,56.0217909,16.5897634,35.2953874,68.0081,37.4359501,46.5093808,22.3590214,2.7687248,11.6070508,10.3933175,34.9745554,8.8650219 +100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6258344,0.6390602,13.9681553,8.5317696,73.1102555,16.8040665,36.8059121,63.7988373,30.2817793,45.346877,19.5667083,2.829981,13.0844735,10.7760309,38.4342331,8.4118554,0.713916,0.727059,13.678473,8.3734815,71.8291243,17.5597234,37.2129367,65.1294077,32.0006067,45.9868875,20.0682959,2.9076908,12.0471611,10.5967147,38.2107395,10.3125334,0.6623499,0.6623499,12.8955685,8.2169482,69.9181097,17.4339203,36.5824945,66.6501567,32.8534509,46.0006845,20.8767662,2.5225558,12.1088387,10.4134647,37.7035752,9.336687,0.7446015,0.7446015,12.8398911,7.9800143,68.540956,17.5549003,35.3687971,66.5269179,32.8996856,46.1569573,20.7306411,2.5352213,12.0905812,9.713263,36.8935343,10.0752134,0.6316234,0.6235037,12.1936641,7.8571273,67.1424944,17.5899278,34.5780469,66.6294524,34.1755218,46.4153275,20.2222061,2.1242729,12.8076903,11.128258,37.0723526,8.8859206 +101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7697706,0.7612703,12.1654502,7.5688601,74.8941642,8.1177924,35.4975366,63.4986642,36.2486533,41.5084419,21.0081471,3.6157695,11.1281756,9.4044116,41.0949471,7.4252951,0.7216056,0.7230786,11.8594094,7.3665329,74.0796034,8.094835,35.1600735,64.2578989,37.1212523,42.0891673,21.5022223,3.6662878,11.3534449,9.3870862,40.4244603,6.8944698,0.7121585,0.7106798,11.9709998,7.5141664,73.1363547,8.1782717,34.669405,65.1540826,37.7847112,42.1309919,21.5818565,3.7586711,11.0137815,9.4479593,39.7464863,6.0628067,0.6649479,0.6523594,11.6787896,7.2399583,71.9778944,8.2379405,34.9838267,65.623922,38.1796257,42.4720333,22.096664,3.684841,11.6737167,9.5439819,40.0113204,6.4995771,0.6429203,0.634997,11.2965377,6.9618656,71.2408345,8.6013385,34.8524964,65.3486391,38.1570536,42.6752568,22.0728792,3.8036263,11.4322025,9.3798658,39.70625,5.6546221 +102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8610139,0.8453941,14.2418983,8.9904558,69.0259341,14.1412336,38.0384821,61.8042765,34.4585502,48.5405679,22.6610027,3.6313229,12.4053001,9.1193513,34.3513536,10.0000323,0.8289785,0.8171823,13.8634916,8.867887,67.1625927,14.9107435,37.8366714,62.5905621,34.4084392,47.9852128,22.1687463,3.5141912,13.2081781,9.6219123,35.3675213,8.1818033,0.9127028,0.8774017,13.5457385,8.7687605,65.8285242,14.7004651,38.2210026,62.8831127,34.7078618,48.5225932,22.8033038,3.4622105,12.7674128,9.6275636,35.1689665,7.371776,0.9255869,0.9147835,13.333304,8.8720347,64.2856843,14.7495283,38.5827247,63.5370006,35.3520016,48.0008636,22.8749892,3.1450338,12.6118009,9.7243584,34.6826599,4.777067,0.8866936,0.9151812,13.0096862,8.6896017,61.8492817,15.1454287,38.0724379,64.6977972,36.3428792,48.2478626,22.4706884,3.2730262,11.8965868,10.251238,35.1114894,5.7575723 +103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5867324,0.6146865,11.717631,8.2560874,75.9199324,13.7493492,36.6725842,64.2689934,28.2036856,44.8574238,15.415115,4.0593942,10.9186508,9.1621264,29.1425697,7.5301114,0.6012216,0.6479815,11.2967504,7.9899922,72.7799715,13.8763961,37.1457229,65.313586,29.692468,46.1458677,16.0468405,4.1665524,10.9929294,8.7119581,29.7066272,5.6864673,0.5089621,0.5666776,10.6861874,7.4234236,70.4683635,14.0104393,36.4108314,65.8066377,30.6654004,45.3398632,16.3392092,4.0194721,10.6456176,8.7133789,29.6731621,4.9981389,0.5039569,0.539917,10.8400288,7.6579655,68.1748943,13.7649955,35.4880767,66.171603,32.0716586,45.8234141,16.8346222,4.196787,10.3143125,8.5252701,29.4058026,5.3653189,0.5399377,0.5762382,10.995881,7.7785608,65.6683065,13.9238029,34.2726143,66.9665774,32.859393,46.38199,17.2179294,4.237955,10.1170184,9.2448129,29.4827111,6.942007 +104,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7988975,0.7833825,13.8956418,8.539917,73.9592663,13.9274174,37.5034136,61.8474219,31.3091525,41.2362463,20.0026714,3.3134376,10.7386901,8.4974711,36.8957654,10.8975058,0.822133,0.8032401,13.6667352,8.3600667,71.9240452,14.0862151,37.0810953,62.8644425,32.0659768,42.1505779,20.8367493,3.6385306,11.2243968,9.1666853,36.5981055,10.5604653,0.7401185,0.7459243,12.7634169,7.820149,71.293949,13.936644,37.1230082,63.0964203,32.4053959,42.0872846,20.639056,3.6614795,10.9001716,8.9959713,36.2263607,9.9577412,0.7352108,0.7161251,12.9594506,7.8784248,70.396556,14.1156896,36.8386169,63.9017079,32.4787419,42.2951208,20.5237064,3.7153037,10.9564707,8.8620462,34.9743622,9.2520698,0.6877941,0.6811605,12.7007833,7.9907936,69.734331,13.9761171,36.2755904,64.9249316,33.0013128,42.3875928,20.7503937,3.6970593,10.7905796,9.4961701,35.1589304,6.83607 +105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7388958,0.6332895,15.8197576,12.3115533,44.0567772,16.3871889,32.545371,66.8671518,38.16044,42.4833933,19.519818,5.5821761,10.7302365,8.1734211,36.9867516,7.9439252,0.766516,0.720205,16.6726062,12.8396972,44.6905011,16.2876372,33.0787228,66.5831416,37.4141519,41.5542217,19.2459733,6.114088,11.5276728,7.8486453,37.6700988,9.375,0.9082008,0.8695472,16.3031914,12.5336673,45.3673313,15.9392241,32.7932953,65.8045799,36.6579561,40.4673813,18.8895606,6.3184396,10.9591641,8.0372505,38.3137142,8.7962963,1.1852988,1.1472628,16.7311808,12.8488074,46.1425491,15.710847,32.474723,65.1005647,35.8165155,39.2280722,18.4558801,6.0492846,9.7900409,8.2155585,38.969841,16.8103448,1.1138189,1.1138189,17.2785838,13.3331595,47.2530651,15.9107237,33.352251,64.670577,35.8889883,39.5455346,18.9622087,6.1051429,10.5427548,8.5444888,39.2381081,17.7295013 +106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.5841018,0.6094614,11.2904892,6.4553778,57.0548561,11.6866441,39.607162,64.8955901,38.5121812,48.8755986,24.2128387,2.6882489,10.9633443,10.7980398,37.2339447,7.7981651,0.699633,0.709013,11.8989057,6.6441811,55.8235549,11.4658399,37.571338,65.7291304,38.6482915,47.4595835,24.2250438,2.4902018,10.6966476,10.8419474,37.1154444,9.8290598,0.5827365,0.6012629,12.1242924,6.9245901,55.3971944,11.9073224,37.3093065,65.8421105,39.0291924,46.8604478,23.6896467,2.3016137,10.5714052,11.7185923,37.938439,8.6065574,0.4203566,0.4387552,12.11373,6.6911529,55.54631,12.0169847,37.0153068,64.9596619,38.6234575,45.9010051,24.1881943,2.4373407,10.8963325,12.4189532,37.9681369,7.5396885,0.5633227,0.5898015,12.6443867,7.3443388,53.8011439,12.4308848,37.53718,65.5826099,39.2166859,46.5868344,23.7325481,2.8246151,12.6118521,13.0987857,38.7049603,6.1983522 +107,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4855162,0.5059841,8.2521946,5.1553033,87.946918,6.4984014,28.1821941,59.138063,24.307887,34.7385163,11.4577136,5.3103521,10.6404123,8.7020699,38.2200866,2.6521739,0.4978832,0.5090127,8.1382403,5.1224223,87.7891594,6.659019,27.4868872,59.7625622,24.7011917,34.785784,11.5069045,5.2003417,10.7449302,9.1291294,37.9666201,2.9806885,0.5039233,0.5143893,8.2314513,5.1694562,87.6428021,6.6262688,27.1522546,61.1413661,25.3168951,35.2532526,11.620706,5.0455904,10.3706317,9.2160688,37.5901359,3.1224655,0.5534378,0.5551855,8.384555,5.2173072,87.5254518,6.3711446,26.6603773,61.8840621,26.0532791,35.679084,11.7398831,5.1424276,10.1415851,9.1873397,37.354849,3.5150079,0.5391994,0.5355162,8.1942885,5.1322718,87.2050352,6.280104,26.2399821,62.8326148,26.6773888,36.0181945,11.8725472,5.0447644,10.1094866,9.533973,36.954866,3.4336343 +108,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6998961,0.7164697,13.4342225,9.2827346,72.4930573,10.4146914,32.767771,65.6205127,35.3517365,44.4121917,17.9354316,4.8144908,10.4858997,10.5671976,33.1130957,9.0290736,0.7859444,0.8022345,13.2263705,8.9744598,70.7133689,10.5529252,32.3503356,66.7267431,36.4333687,45.0933158,18.5537115,4.7241302,10.3653017,10.2415307,33.074478,9.2355239,0.8139051,0.8304068,13.4678697,9.2355816,69.1017383,10.2746322,33.1825927,67.0854983,36.6331889,45.9129285,18.8777446,4.7068767,10.4717159,10.4717159,33.3648107,11.6973067,0.8127591,0.8215747,13.0929054,9.1073943,67.8766639,10.9057406,32.9905759,67.2455203,37.1712949,45.9710378,18.8638138,4.9393212,9.9369248,10.056763,33.3016771,11.1872708,0.7079175,0.6947652,12.5167707,8.5958569,66.0967374,11.6188574,32.5879572,67.4462798,37.2994257,45.93723,18.8631085,4.933432,9.6784734,9.2283118,33.6222613,10.0000044 +109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6012216,0.6479815,11.2967504,7.9899922,72.7799715,13.8763961,37.1457229,65.313586,29.692468,46.1458677,16.0468405,4.1665524,10.9929294,8.7119581,29.7066272,5.6864673,0.5089621,0.5666776,10.6861874,7.4234236,70.4683635,14.0104393,36.4108314,65.8066377,30.6654004,45.3398632,16.3392092,4.0194721,10.6456176,8.7133789,29.6731621,4.9981389,0.5039569,0.539917,10.8400288,7.6579655,68.1748943,13.7649955,35.4880767,66.171603,32.0716586,45.8234141,16.8346222,4.196787,10.3143125,8.5252701,29.4058026,5.3653189,0.5399377,0.5762382,10.995881,7.7785608,65.6683065,13.9238029,34.2726143,66.9665774,32.859393,46.38199,17.2179294,4.237955,10.1170184,9.2448129,29.4827111,6.942007,0.5228243,0.5592646,11.2085702,7.7912504,63.5438203,13.95499,34.110443,67.4150705,33.0572207,46.1839292,17.7695361,4.28739,10.1730761,8.8332399,29.1529753,7.0596302 +110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7271692,0.6935039,10.9512793,7.069731,84.3542552,13.4828128,34.4305871,61.5526813,26.8686381,39.6590756,14.5390153,3.9530514,10.7240878,8.5585962,32.4367378,9.3409639,0.7022629,0.6683434,10.5720665,6.7271284,82.856863,13.384885,34.4106168,62.3261047,27.875061,40.0514712,14.8619481,3.9249352,10.4896223,8.5207012,31.9781617,8.8068898,0.6584066,0.6582609,10.5614457,6.5080678,81.3603503,13.1676573,35.0002369,63.1751772,28.3444177,40.5791077,14.9168786,3.8175501,10.4513439,9.0559097,32.1287258,7.3599468,0.6910643,0.6703358,10.5887068,6.3037793,79.5010258,13.4299291,34.6180425,64.6127458,29.7250192,40.5341458,15.3877281,3.8463289,10.0706318,8.8442677,32.0030827,8.7217535,0.5823665,0.5652554,10.1080589,6.1850471,78.2224384,13.5297948,34.0431026,65.7119509,30.1281617,40.7314154,15.1829687,4.0559204,10.2956358,9.1106804,32.0348111,8.1240888 +111,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6576168,0.7112829,12.0691381,7.9149235,70.4656104,7.7743572,30.6930173,68.5402776,37.254803,40.9688303,18.1569266,4.0276806,10.5927205,8.4128888,37.3102499,7.2490839,0.5968017,0.6143695,11.8150003,7.8549999,69.7548911,7.6714356,29.8910855,68.9098738,38.0545558,40.6225001,18.1205064,4.1017191,10.482044,8.5116463,36.1513569,7.2542078,0.5793732,0.5955827,11.7162229,7.7315943,68.9681489,7.8373812,30.1672856,68.9458849,37.9975825,40.3456606,18.2152606,4.1469322,10.3227693,8.1931185,35.9703295,6.5243894,0.5446291,0.5585896,11.6422337,7.6410113,68.4154045,8.0601645,30.2958375,68.6439818,37.6464066,39.9283138,18.0583624,4.0337246,10.4735593,8.2138114,35.8037837,6.2652061,0.5257374,0.5412162,11.3258275,7.3797929,67.6165769,8.4701085,30.3895963,68.6364103,37.9506015,39.9989979,18.0690863,4.1520243,10.5118006,8.4382215,35.8514119,6.1455833 +112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.752846,0.6957201,14.0754809,9.5048381,73.2605769,12.9131942,36.624459,66.1915137,33.1397325,42.8546231,17.3706299,2.6223155,10.2210068,8.2436544,35.411331,5.0531861,0.6888082,0.6316823,13.4980951,8.969918,71.6305776,12.8468585,36.8078017,67.213439,34.0211568,42.5573102,17.9012237,2.7689588,9.8543559,8.0266832,35.1308077,6.4102465,0.7175993,0.6500876,13.0337386,8.7293255,70.8121213,13.7580327,35.8726568,68.1034677,34.0077208,42.945096,17.9978748,2.44546,9.4513797,7.9145813,35.0978605,5.4245257,0.6938031,0.6270517,12.7282005,8.5945403,69.2210362,13.4055386,35.0812457,68.4145579,33.9512568,43.2026653,18.5557831,2.1362985,8.656475,8.0165322,34.8293076,5.8685418,0.6447525,0.6259596,12.3175726,8.3912297,67.2724166,14.0971485,34.731095,68.38287,34.6602882,44.037491,18.8782696,2.3885337,9.2469955,8.2577153,34.1337463,6.9819725 +113,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.822133,0.8032401,13.6667352,8.3600667,71.9240452,14.0862151,37.0810953,62.8644425,32.0659768,42.1505779,20.8367493,3.6385306,11.2243968,9.1666853,36.5981055,10.5604653,0.7401185,0.7459243,12.7634169,7.820149,71.293949,13.936644,37.1230082,63.0964203,32.4053959,42.0872846,20.639056,3.6614795,10.9001716,8.9959713,36.2263607,9.9577412,0.7352108,0.7161251,12.9594506,7.8784248,70.396556,14.1156896,36.8386169,63.9017079,32.4787419,42.2951208,20.5237064,3.7153037,10.9564707,8.8620462,34.9743622,9.2520698,0.6877941,0.6811605,12.7007833,7.9907936,69.734331,13.9761171,36.2755904,64.9249316,33.0013128,42.3875928,20.7503937,3.6970593,10.7905796,9.4961701,35.1589304,6.83607,0.6133099,0.5876104,12.3479045,7.618984,68.4428499,13.7359075,36.1350942,65.7821763,33.7454907,42.8314438,21.1587008,3.5981925,10.8127492,9.5750651,35.424547,6.3463138 +114,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9332085,0.8634372,15.6202846,11.1651037,35.9279102,18.0008025,33.3509209,67.3558741,37.198187,45.8815596,22.8696596,2.6552192,11.1839062,9.986022,34.392497,18.5950471,0.8926248,0.8224552,16.6931915,12.7313134,36.0462627,18.0395079,32.9385725,67.4609953,36.1955125,46.038123,22.7609497,2.9173154,11.5029703,10.4096537,34.7451891,19.5652193,1.0125543,0.9700922,17.6857827,13.6293432,35.1606673,18.400056,32.5271869,68.2443027,35.428158,46.8513478,22.0538431,2.806673,12.3203503,11.4468357,36.315312,18.3760596,1.0120886,0.9429256,17.6288548,14.0352499,35.3467933,18.2816255,31.4585929,67.7275003,35.6241484,47.2216344,22.6006977,2.7457098,12.9320095,12.2070852,37.1771599,17.562661,1.1129286,1.0329046,18.1815112,14.6620671,35.3663283,17.8601794,30.7658362,66.6391858,34.7274303,46.7923843,21.6354309,2.5331971,13.1235983,12.4214588,38.0105361,16.9516818 +115,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4729247,0.4514931,8.8303821,5.3821062,85.0593824,16.5579879,34.8982424,62.5115634,26.3413506,39.7086031,12.372803,4.0471785,10.7599432,9.6924177,35.5150215,3.2828283,0.518487,0.4972376,9.1392874,5.6686719,83.0679157,17.5862069,33.7257618,64.4275162,27.2622345,40.8356417,13.1348107,4.1782087,10.2633617,8.7616822,34.9533437,2.8061224,0.4145299,0.3931624,9.2540793,5.5244755,81.6369606,17.6186089,32.9524254,65.4151119,28.3815299,41.2546642,13.7826493,3.9412313,10.349345,8.9833479,34.3722564,3.25,0.3575025,0.3359229,8.8193791,5.1505174,80.2693762,17.9350348,33.1376233,65.6411461,28.1117896,41.3574448,13.8327853,3.8280883,9.7465035,9.1666667,33.9929639,3.3505155,0.3586061,0.3372203,8.8717228,5.079588,78.8748833,18.2382705,33.7290503,65.6191806,27.9096834,41.2243948,13.896648,4.1201117,9.9312124,8.6712683,34.3587522,1.7766497 +116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.699633,0.709013,11.8989057,6.6441811,55.8235549,11.4658399,37.571338,65.7291304,38.6482915,47.4595835,24.2250438,2.4902018,10.6966476,10.8419474,37.1154444,9.8290598,0.5827365,0.6012629,12.1242924,6.9245901,55.3971944,11.9073224,37.3093065,65.8421105,39.0291924,46.8604478,23.6896467,2.3016137,10.5714052,11.7185923,37.938439,8.6065574,0.4203566,0.4387552,12.11373,6.6911529,55.54631,12.0169847,37.0153068,64.9596619,38.6234575,45.9010051,24.1881943,2.4373407,10.8963325,12.4189532,37.9681369,7.5396885,0.5633227,0.5898015,12.6443867,7.3443388,53.8011439,12.4308848,37.53718,65.5826099,39.2166859,46.5868344,23.7325481,2.8246151,12.6118521,13.0987857,38.7049603,6.1983522,0.6858228,0.7037617,13.09922,7.8278988,52.8313341,12.3359739,36.9528344,65.9935496,38.4979706,46.266958,24.2592069,2.7972101,13.1097784,13.0085447,38.9418173,5.9090963 +117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3675568,0.4112525,9.7534082,6.7553537,86.2727801,9.8074374,32.7231556,61.1966358,24.8835679,37.0569139,12.0375103,12.3868014,10.234527,8.8024496,38.5234478,3.6272325,0.3574743,0.3941559,9.7628535,6.7341126,85.0825434,10.0026197,32.6663222,62.0576486,25.4085646,37.3117942,12.1541536,12.0512131,10.4252539,9.0676491,37.8787839,3.2866383,0.3363589,0.3733008,9.610134,6.647171,83.6277287,10.2883622,32.6563746,62.5681279,25.7915842,38.171549,12.7108667,11.9971423,10.4017191,9.1238559,37.3480272,3.02227,0.3354803,0.3883655,9.503167,6.6179306,82.0995005,10.3472687,32.2004431,64.1364646,26.718684,38.8946181,13.0723537,12.1049899,10.6342411,9.3136063,36.9114616,3.2340869,0.3245129,0.3655831,9.384294,6.4221943,80.5848653,10.6002811,31.7778092,65.1197213,27.0275421,39.102729,13.2273382,12.3004612,10.3693468,9.6317539,36.0797525,3.1914903 +118,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7401185,0.7459243,12.7634169,7.820149,71.293949,13.936644,37.1230082,63.0964203,32.4053959,42.0872846,20.639056,3.6614795,10.9001716,8.9959713,36.2263607,9.9577412,0.7352108,0.7161251,12.9594506,7.8784248,70.396556,14.1156896,36.8386169,63.9017079,32.4787419,42.2951208,20.5237064,3.7153037,10.9564707,8.8620462,34.9743622,9.2520698,0.6877941,0.6811605,12.7007833,7.9907936,69.734331,13.9761171,36.2755904,64.9249316,33.0013128,42.3875928,20.7503937,3.6970593,10.7905796,9.4961701,35.1589304,6.83607,0.6133099,0.5876104,12.3479045,7.618984,68.4428499,13.7359075,36.1350942,65.7821763,33.7454907,42.8314438,21.1587008,3.5981925,10.8127492,9.5750651,35.424547,6.3463138,0.6851813,0.6392242,12.4483146,7.6785874,66.8874116,13.9254767,35.5831884,67.2002233,34.2750041,43.2091749,21.5837133,3.6877512,10.7704364,9.5100872,35.2180856,4.7894147 +119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8289785,0.8171823,13.8634916,8.867887,67.1625927,14.9107435,37.8366714,62.5905621,34.4084392,47.9852128,22.1687463,3.5141912,13.2081781,9.6219123,35.3675213,8.1818033,0.9127028,0.8774017,13.5457385,8.7687605,65.8285242,14.7004651,38.2210026,62.8831127,34.7078618,48.5225932,22.8033038,3.4622105,12.7674128,9.6275636,35.1689665,7.371776,0.9255869,0.9147835,13.333304,8.8720347,64.2856843,14.7495283,38.5827247,63.5370006,35.3520016,48.0008636,22.8749892,3.1450338,12.6118009,9.7243584,34.6826599,4.777067,0.8866936,0.9151812,13.0096862,8.6896017,61.8492817,15.1454287,38.0724379,64.6977972,36.3428792,48.2478626,22.4706884,3.2730262,11.8965868,10.251238,35.1114894,5.7575723,0.6431708,0.7030412,12.5657526,8.5485524,59.943103,15.6803481,37.7575657,66.2906613,37.9257607,48.869403,22.959188,3.3581076,11.7341142,9.7345356,34.9621094,6.5217351 +120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6888082,0.6316823,13.4980951,8.969918,71.6305776,12.8468585,36.8078017,67.213439,34.0211568,42.5573102,17.9012237,2.7689588,9.8543559,8.0266832,35.1308077,6.4102465,0.7175993,0.6500876,13.0337386,8.7293255,70.8121213,13.7580327,35.8726568,68.1034677,34.0077208,42.945096,17.9978748,2.44546,9.4513797,7.9145813,35.0978605,5.4245257,0.6938031,0.6270517,12.7282005,8.5945403,69.2210362,13.4055386,35.0812457,68.4145579,33.9512568,43.2026653,18.5557831,2.1362985,8.656475,8.0165322,34.8293076,5.8685418,0.6447525,0.6259596,12.3175726,8.3912297,67.2724166,14.0971485,34.731095,68.38287,34.6602882,44.037491,18.8782696,2.3885337,9.2469955,8.2577153,34.1337463,6.9819725,0.5858108,0.5966298,11.5263081,7.8070018,65.7086088,14.9646613,34.26988,68.5218322,35.1288449,44.0407921,19.4166168,2.6306386,9.5904576,8.3560721,33.3907764,6.3043341 +121,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7859444,0.8022345,13.2263705,8.9744598,70.7133689,10.5529252,32.3503356,66.7267431,36.4333687,45.0933158,18.5537115,4.7241302,10.3653017,10.2415307,33.074478,9.2355239,0.8139051,0.8304068,13.4678697,9.2355816,69.1017383,10.2746322,33.1825927,67.0854983,36.6331889,45.9129285,18.8777446,4.7068767,10.4717159,10.4717159,33.3648107,11.6973067,0.8127591,0.8215747,13.0929054,9.1073943,67.8766639,10.9057406,32.9905759,67.2455203,37.1712949,45.9710378,18.8638138,4.9393212,9.9369248,10.056763,33.3016771,11.1872708,0.7079175,0.6947652,12.5167707,8.5958569,66.0967374,11.6188574,32.5879572,67.4462798,37.2994257,45.93723,18.8631085,4.933432,9.6784734,9.2283118,33.6222613,10.0000044,0.882871,0.8880794,12.45027,8.5273567,64.3485119,11.9396437,33.294535,67.6132188,37.2569276,45.8198531,18.9223053,4.9530453,10.1520113,9.46222,33.0264623,11.8834134 +122,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3762626,1.4520202,25.0806452,21.2096774,54.6875,7.5636943,35.2327448,66.6934189,28.6516854,44.2215088,15.1685393,5.3772071,15.8653846,10.4166667,35.6677524,9.2920354,1.712828,1.8586006,25.4276827,21.3841369,55.2464229,7.6388889,34.5496894,66.8478261,28.1832298,44.1770186,15.4503106,5.5124224,17.6751592,11.6242038,35.3225806,9.9137931,1.8041237,1.9513991,25.9811617,21.899529,52.8892456,8.1395349,34.1940532,67.057903,29.1862285,45.9311424,15.8841941,5.399061,18.1372549,12.5816993,35.8085809,9.4262295,1.8494152,1.995614,25.3488372,20.8527132,52.8044872,7.7453988,34.1860465,64.5736434,28.1395349,42.8682171,16.0465116,5.1937984,16.7711599,11.1285266,36.2341772,11.25,1.9111111,2.0592593,26.0497667,21.3841369,54.2003231,6.8885449,34.6698113,64.5440252,28.5377358,43.4748428,16.745283,4.7955975,16.7692308,11.5384615,36.4906832,10.3305785 +123,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8926248,0.8224552,16.6931915,12.7313134,36.0462627,18.0395079,32.9385725,67.4609953,36.1955125,46.038123,22.7609497,2.9173154,11.5029703,10.4096537,34.7451891,19.5652193,1.0125543,0.9700922,17.6857827,13.6293432,35.1606673,18.400056,32.5271869,68.2443027,35.428158,46.8513478,22.0538431,2.806673,12.3203503,11.4468357,36.315312,18.3760596,1.0120886,0.9429256,17.6288548,14.0352499,35.3467933,18.2816255,31.4585929,67.7275003,35.6241484,47.2216344,22.6006977,2.7457098,12.9320095,12.2070852,37.1771599,17.562661,1.1129286,1.0329046,18.1815112,14.6620671,35.3663283,17.8601794,30.7658362,66.6391858,34.7274303,46.7923843,21.6354309,2.5331971,13.1235983,12.4214588,38.0105361,16.9516818,1.1249309,1.0363513,19.2045847,15.3355336,34.9848038,18.5306069,30.8054142,65.9610894,34.5428799,47.21507,20.9359657,2.5403445,13.8641543,13.1188968,37.5469003,17.405785 +124,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5888919,0.5786676,11.4221055,6.9202477,77.0787233,9.2413081,31.4088902,62.0253427,32.8950927,41.2603165,17.150376,3.9934306,10.8016583,9.2057299,32.3553347,8.3110153,0.6160142,0.5655966,11.0757654,6.9522346,76.355125,9.6936034,30.9089469,64.146217,33.3478854,41.2501924,17.506604,3.9899526,10.9180677,9.3069764,32.9056981,8.8715529,0.6385877,0.5702776,10.8780268,6.7353961,74.530807,10.2561054,30.5361234,64.7863631,34.7085892,42.3703097,18.1923233,4.181361,10.6032153,8.9727358,32.9633522,8.5045076,0.5384739,0.4784891,10.4738373,6.3428973,73.2384575,10.2690558,30.3050569,66.1236886,35.0528524,41.8478549,18.549816,4.3177052,10.5383431,8.8999256,32.770561,6.7132814,0.5021686,0.4426544,10.4591073,6.3163088,72.4226957,10.2361653,29.3894118,66.7444511,35.5655533,42.4022612,18.7835957,4.5235908,10.1834344,8.6563371,32.9838665,6.5315315 +125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.9045497,0.7884045,11.6005494,8.374773,43.4865152,31.0233823,28.1841156,68.284886,36.254762,43.4428007,15.5738211,5.2333507,15.8629582,9.517851,34.2239689,4.7826711,0.9027746,0.9027746,11.3027264,8.8762025,41.2811769,32.8825991,29.3619786,67.9036161,36.2630316,45.2475711,16.601616,4.7526568,17.236892,10.1316856,33.5527216,5.8559086,0.8504285,0.8504285,11.5914769,9.0852471,42.5708067,32.1872572,28.7625934,68.1758899,35.7781121,45.2170658,16.6454185,4.273011,18.6856549,11.4692052,34.2378658,6.465573,0.7105265,0.7105265,11.6545882,9.2391649,41.8529821,32.5118496,27.5670683,68.15397,35.5135543,46.2716254,17.5428076,4.2176529,17.076254,9.9509822,33.1282405,6.6929661,0.6082432,0.6082432,12.2861151,9.9633554,42.2685162,33.0278764,26.7699721,68.3850699,36.087027,47.1431065,19.068338,4.1615346,17.5507045,11.2659511,34.9874235,6.000048 +126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7883297,0.7891984,12.8535263,8.5091009,81.5851292,13.0609876,37.6450931,62.4980122,30.5692665,44.7209564,16.5447669,3.124506,13.0831097,10.7918769,33.6189977,5.7486539,0.7347503,0.7470161,12.7067449,8.4212583,80.3589478,12.81271,37.415665,62.9216171,31.07133,45.0770998,17.0012911,3.1721835,13.0929643,10.7433644,33.3369048,5.7486554,0.7150493,0.7393873,12.4200435,8.1630635,78.7841159,13.0635061,38.0387877,64.2834451,32.2013837,45.99173,17.3453138,3.3640866,12.5689957,10.9118308,32.8132275,6.472073,0.6318105,0.6415842,11.9708328,7.8002496,77.2989356,13.1214886,37.795316,65.5092645,33.740436,45.9211393,18.0156425,3.536081,11.9438858,10.5630276,32.465058,7.2839452,0.6370824,0.6419472,11.8743196,7.6173433,75.5325911,13.1128109,37.6764326,66.6058636,34.5360974,46.1300626,18.5329081,3.7192722,12.0832254,10.5604747,32.5520043,6.7237098 +127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7347503,0.7470161,12.7067449,8.4212583,80.3589478,12.81271,37.415665,62.9216171,31.07133,45.0770998,17.0012911,3.1721835,13.0929643,10.7433644,33.3369048,5.7486554,0.7150493,0.7393873,12.4200435,8.1630635,78.7841159,13.0635061,38.0387877,64.2834451,32.2013837,45.99173,17.3453138,3.3640866,12.5689957,10.9118308,32.8132275,6.472073,0.6318105,0.6415842,11.9708328,7.8002496,77.2989356,13.1214886,37.795316,65.5092645,33.740436,45.9211393,18.0156425,3.536081,11.9438858,10.5630276,32.465058,7.2839452,0.6370824,0.6419472,11.8743196,7.6173433,75.5325911,13.1128109,37.6764326,66.6058636,34.5360974,46.1300626,18.5329081,3.7192722,12.0832254,10.5604747,32.5520043,6.7237098,0.5999679,0.6084651,11.7917987,7.3903619,74.057047,13.1169489,37.129482,67.0074362,35.8614676,46.3544065,18.8381605,3.6852099,11.7082891,10.9232313,33.3486528,7.1934113 +128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3574743,0.3941559,9.7628535,6.7341126,85.0825434,10.0026197,32.6663222,62.0576486,25.4085646,37.3117942,12.1541536,12.0512131,10.4252539,9.0676491,37.8787839,3.2866383,0.3363589,0.3733008,9.610134,6.647171,83.6277287,10.2883622,32.6563746,62.5681279,25.7915842,38.171549,12.7108667,11.9971423,10.4017191,9.1238559,37.3480272,3.02227,0.3354803,0.3883655,9.503167,6.6179306,82.0995005,10.3472687,32.2004431,64.1364646,26.718684,38.8946181,13.0723537,12.1049899,10.6342411,9.3136063,36.9114616,3.2340869,0.3245129,0.3655831,9.384294,6.4221943,80.5848653,10.6002811,31.7778092,65.1197213,27.0275421,39.102729,13.2273382,12.3004612,10.3693468,9.6317539,36.0797525,3.1914903,0.3527086,0.3839481,9.39619,6.3967114,79.0815001,10.7293666,31.5097797,64.9941718,27.3274537,38.9809666,13.0454437,12.5922545,10.406276,9.5994915,36.6432295,3.7486808 +129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8233445,0.8651005,17.523497,13.7479054,34.1297959,17.3149877,37.9363359,66.2503278,38.0650354,50.6754971,24.2920303,3.765457,11.7196585,8.9621243,33.0592951,17.105749,0.6996635,0.7418232,18.1124637,14.4326664,35.1757595,16.7201184,37.7297524,66.4407543,37.7948532,49.9019907,24.0557489,3.7443694,11.6353079,9.0640004,32.5774824,15.4875448,0.8126506,0.8536731,18.8593303,14.674841,35.8205792,17.6326503,38.4694763,66.3842856,39.2259056,50.6917969,24.795498,3.9391975,12.7206765,10.1019803,34.224742,13.2487501,0.8201539,0.8607739,18.9274156,14.7073625,35.9919531,18.2278585,37.9698892,65.220105,39.0952448,50.4677193,25.0321972,3.7821485,13.1130727,10.1607145,33.2298677,11.0654434,0.7623013,0.79204,19.157138,15.032675,36.1791625,19.0552121,37.98827,64.7085049,38.4380729,49.6133779,24.436754,3.6292605,12.6746037,10.2525499,31.8739218,9.0541628 +130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7022629,0.6683434,10.5720665,6.7271284,82.856863,13.384885,34.4106168,62.3261047,27.875061,40.0514712,14.8619481,3.9249352,10.4896223,8.5207012,31.9781617,8.8068898,0.6584066,0.6582609,10.5614457,6.5080678,81.3603503,13.1676573,35.0002369,63.1751772,28.3444177,40.5791077,14.9168786,3.8175501,10.4513439,9.0559097,32.1287258,7.3599468,0.6910643,0.6703358,10.5887068,6.3037793,79.5010258,13.4299291,34.6180425,64.6127458,29.7250192,40.5341458,15.3877281,3.8463289,10.0706318,8.8442677,32.0030827,8.7217535,0.5823665,0.5652554,10.1080589,6.1850471,78.2224384,13.5297948,34.0431026,65.7119509,30.1281617,40.7314154,15.1829687,4.0559204,10.2956358,9.1106804,32.0348111,8.1240888,0.4685371,0.4647045,9.3694714,5.6088716,77.268144,13.958383,33.6458114,66.3650732,30.6965769,40.8853212,15.0062986,3.8782782,9.8007707,8.9372879,31.2731774,7.523642 +131,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5799373,0.631932,10.8068698,6.9105665,79.413637,14.2314797,33.9421784,63.0732188,30.9109347,42.9270922,16.45423,4.9976668,9.9181233,8.7158436,33.9219349,8.9453911,0.5564315,0.6011774,10.4262146,6.729302,78.4226241,14.2780647,33.2481048,64.3809113,31.7449265,43.1194758,17.1315737,5.1061504,9.6064172,8.5351651,33.1918165,8.6111143,0.6035644,0.6516391,10.3790763,6.7399558,77.458318,14.7479797,33.3410561,64.1435197,31.6589559,43.2484581,17.2608104,5.0694425,9.4968055,8.4230455,33.7960432,7.1043191,0.6311906,0.7116031,10.2385706,6.6294559,75.8855843,14.9501898,33.6413131,64.2468965,32.3835492,43.625785,17.7562187,5.0543462,9.3292382,8.0498561,33.9475403,7.025533,0.6101429,0.6757413,10.4908349,6.7944252,75.2827285,15.3223361,33.6780101,64.3765366,32.636345,43.5125715,17.7772771,5.3232213,9.5189829,7.9924543,34.6703792,7.4239575 +132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.5827365,0.6012629,12.1242924,6.9245901,55.3971944,11.9073224,37.3093065,65.8421105,39.0291924,46.8604478,23.6896467,2.3016137,10.5714052,11.7185923,37.938439,8.6065574,0.4203566,0.4387552,12.11373,6.6911529,55.54631,12.0169847,37.0153068,64.9596619,38.6234575,45.9010051,24.1881943,2.4373407,10.8963325,12.4189532,37.9681369,7.5396885,0.5633227,0.5898015,12.6443867,7.3443388,53.8011439,12.4308848,37.53718,65.5826099,39.2166859,46.5868344,23.7325481,2.8246151,12.6118521,13.0987857,38.7049603,6.1983522,0.6858228,0.7037617,13.09922,7.8278988,52.8313341,12.3359739,36.9528344,65.9935496,38.4979706,46.266958,24.2592069,2.7972101,13.1097784,13.0085447,38.9418173,5.9090963,0.6186629,0.6366722,13.2535523,8.1214353,51.4766129,12.8956662,37.3385899,66.2586552,37.81966,45.8273865,24.3904522,2.9130823,14.7086299,14.5091911,40.0232574,8.878513 +133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4337036,0.4166855,8.6317334,5.9966054,87.2261601,20.0035028,33.9003579,61.1485254,22.4823148,37.3357658,9.1445389,5.6752982,12.4693362,9.3248451,32.5595679,3.979225,0.4068809,0.3974429,8.3933901,5.921717,86.2477967,20.0453872,33.2139375,62.3165732,22.7396839,37.5809876,9.3995543,5.8853513,12.5167252,9.6810227,32.8026545,3.5116998,0.357613,0.3481269,8.0937575,5.6639191,85.9341848,19.35544,33.0421553,63.4634513,23.3127767,38.043792,9.3696841,5.8410324,12.7224623,10.0386889,33.1802645,2.1523179,0.4055632,0.3644038,8.0390688,5.6050651,86.0028096,18.7456894,33.1335847,63.8184057,24.0582033,37.9622768,9.8116475,6.2499914,12.4081684,10.2692578,34.2063569,2.6984127,0.4596268,0.4183511,7.8622668,5.498448,85.1186207,18.8915942,32.4125216,64.327309,24.9313574,39.069957,9.8661807,6.3314922,12.13787,10.2332183,33.7134789,2.3584906 +134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7375495,1.709244,14.3647345,9.0965827,42.5437458,20.2060493,36.2922705,67.3194431,37.4239459,47.7388054,27.8696558,3.409895,9.872694,8.4134353,37.326366,13.4042557,1.793346,1.766201,14.3837892,9.4160959,43.7315907,19.1409388,35.1157382,67.9355204,38.0224919,48.4348086,27.134876,3.1019036,10.4986831,8.2315222,38.6801619,12.5758159,1.7986391,1.7878517,14.4908406,9.7684579,44.344027,18.9869368,34.9611926,67.5769145,38.158907,48.0764657,27.8277576,2.8702906,10.2486643,8.5078829,39.0627655,10.0624061,1.6209048,1.5893269,15.2587312,10.4964145,42.4915666,18.9411746,34.1860939,68.8439961,38.4992298,48.7141351,28.9141287,2.9173875,11.5247494,9.5663245,39.4459169,12.3124809,1.4783444,1.4467763,15.4894371,11.1600663,42.8423146,19.415925,34.0604276,69.3588172,37.4409708,48.7401395,28.5390296,2.7609052,11.5066083,9.8893227,38.7985066,14.9290193 +135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9127028,0.8774017,13.5457385,8.7687605,65.8285242,14.7004651,38.2210026,62.8831127,34.7078618,48.5225932,22.8033038,3.4622105,12.7674128,9.6275636,35.1689665,7.371776,0.9255869,0.9147835,13.333304,8.8720347,64.2856843,14.7495283,38.5827247,63.5370006,35.3520016,48.0008636,22.8749892,3.1450338,12.6118009,9.7243584,34.6826599,4.777067,0.8866936,0.9151812,13.0096862,8.6896017,61.8492817,15.1454287,38.0724379,64.6977972,36.3428792,48.2478626,22.4706884,3.2730262,11.8965868,10.251238,35.1114894,5.7575723,0.6431708,0.7030412,12.5657526,8.5485524,59.943103,15.6803481,37.7575657,66.2906613,37.9257607,48.869403,22.959188,3.3581076,11.7341142,9.7345356,34.9621094,6.5217351,0.6715961,0.742814,12.5274166,8.3797177,59.0442795,14.8636324,38.088179,66.0271802,38.0167541,48.9728355,23.0640736,3.0835624,11.954188,10.2679692,35.7085071,5.483871 +136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9255869,0.9147835,13.333304,8.8720347,64.2856843,14.7495283,38.5827247,63.5370006,35.3520016,48.0008636,22.8749892,3.1450338,12.6118009,9.7243584,34.6826599,4.777067,0.8866936,0.9151812,13.0096862,8.6896017,61.8492817,15.1454287,38.0724379,64.6977972,36.3428792,48.2478626,22.4706884,3.2730262,11.8965868,10.251238,35.1114894,5.7575723,0.6431708,0.7030412,12.5657526,8.5485524,59.943103,15.6803481,37.7575657,66.2906613,37.9257607,48.869403,22.959188,3.3581076,11.7341142,9.7345356,34.9621094,6.5217351,0.6715961,0.742814,12.5274166,8.3797177,59.0442795,14.8636324,38.088179,66.0271802,38.0167541,48.9728355,23.0640736,3.0835624,11.954188,10.2679692,35.7085071,5.483871,0.6911114,0.7630377,12.4129832,8.5073974,57.6676844,14.963946,38.8240381,66.391163,37.5302562,48.5580218,22.4194132,2.9139896,12.1938937,10.2662334,34.9967542,6.0897436 +137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.713916,0.727059,13.678473,8.3734815,71.8291243,17.5597234,37.2129367,65.1294077,32.0006067,45.9868875,20.0682959,2.9076908,12.0471611,10.5967147,38.2107395,10.3125334,0.6623499,0.6623499,12.8955685,8.2169482,69.9181097,17.4339203,36.5824945,66.6501567,32.8534509,46.0006845,20.8767662,2.5225558,12.1088387,10.4134647,37.7035752,9.336687,0.7446015,0.7446015,12.8398911,7.9800143,68.540956,17.5549003,35.3687971,66.5269179,32.8996856,46.1569573,20.7306411,2.5352213,12.0905812,9.713263,36.8935343,10.0752134,0.6316234,0.6235037,12.1936641,7.8571273,67.1424944,17.5899278,34.5780469,66.6294524,34.1755218,46.4153275,20.2222061,2.1242729,12.8076903,11.128258,37.0723526,8.8859206,0.6333633,0.6253501,11.643383,7.707844,65.8185341,17.9893215,35.1294994,67.5689209,34.6734292,46.5276702,20.6650567,2.4107102,12.2503134,10.6508287,36.8053677,7.4469606 +138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6623499,0.6623499,12.8955685,8.2169482,69.9181097,17.4339203,36.5824945,66.6501567,32.8534509,46.0006845,20.8767662,2.5225558,12.1088387,10.4134647,37.7035752,9.336687,0.7446015,0.7446015,12.8398911,7.9800143,68.540956,17.5549003,35.3687971,66.5269179,32.8996856,46.1569573,20.7306411,2.5352213,12.0905812,9.713263,36.8935343,10.0752134,0.6316234,0.6235037,12.1936641,7.8571273,67.1424944,17.5899278,34.5780469,66.6294524,34.1755218,46.4153275,20.2222061,2.1242729,12.8076903,11.128258,37.0723526,8.8859206,0.6333633,0.6253501,11.643383,7.707844,65.8185341,17.9893215,35.1294994,67.5689209,34.6734292,46.5276702,20.6650567,2.4107102,12.2503134,10.6508287,36.8053677,7.4469606,0.4997625,0.483694,11.2644086,7.2735024,64.7060174,18.2607325,34.9941177,68.0413895,35.691307,46.3254959,20.2410395,2.644013,12.414894,11.2382303,37.136662,8.0645213 +139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4791113,0.4324446,8.0679086,5.3335326,86.3124189,16.477784,31.6046043,62.101064,26.5218748,36.7464532,13.9036667,7.3138326,10.3887123,7.9561389,36.7455876,2.9069774,0.4105394,0.3952207,7.5609026,5.0356493,86.3165632,16.5508282,31.2391151,62.6088222,26.7121372,36.3464879,14.2338968,7.2693005,10.0099384,7.1464415,35.0600606,3.3916856,0.514861,0.4671428,7.2585391,4.9322721,85.6168306,16.5624144,30.3453207,63.2949618,28.0143932,36.7625893,14.5755393,7.3812977,10.2046494,6.8534984,35.3318467,3.927814,0.5566357,0.5095668,7.7157801,5.0711991,85.4621071,16.3153493,29.6480248,63.198972,28.0868633,36.5455609,14.2350241,7.3091145,10.8041556,7.2802167,35.8995593,4.3157904,0.5914474,0.5593467,7.7403456,5.1263452,85.0215763,16.2447302,29.203413,62.66002,28.2645875,36.6856383,14.8364136,7.4679977,10.8826747,7.6817159,36.9745628,4.2797504 +140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7175993,0.6500876,13.0337386,8.7293255,70.8121213,13.7580327,35.8726568,68.1034677,34.0077208,42.945096,17.9978748,2.44546,9.4513797,7.9145813,35.0978605,5.4245257,0.6938031,0.6270517,12.7282005,8.5945403,69.2210362,13.4055386,35.0812457,68.4145579,33.9512568,43.2026653,18.5557831,2.1362985,8.656475,8.0165322,34.8293076,5.8685418,0.6447525,0.6259596,12.3175726,8.3912297,67.2724166,14.0971485,34.731095,68.38287,34.6602882,44.037491,18.8782696,2.3885337,9.2469955,8.2577153,34.1337463,6.9819725,0.5858108,0.5966298,11.5263081,7.8070018,65.7086088,14.9646613,34.26988,68.5218322,35.1288449,44.0407921,19.4166168,2.6306386,9.5904576,8.3560721,33.3907764,6.3043341,0.6264651,0.6372074,11.9006115,8.0090189,64.5572011,15.5263106,34.3106011,69.7050429,36.1940254,44.331891,19.8471927,2.7540848,9.7736758,8.5274045,32.7670069,5.3879194 +141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3363589,0.3733008,9.610134,6.647171,83.6277287,10.2883622,32.6563746,62.5681279,25.7915842,38.171549,12.7108667,11.9971423,10.4017191,9.1238559,37.3480272,3.02227,0.3354803,0.3883655,9.503167,6.6179306,82.0995005,10.3472687,32.2004431,64.1364646,26.718684,38.8946181,13.0723537,12.1049899,10.6342411,9.3136063,36.9114616,3.2340869,0.3245129,0.3655831,9.384294,6.4221943,80.5848653,10.6002811,31.7778092,65.1197213,27.0275421,39.102729,13.2273382,12.3004612,10.3693468,9.6317539,36.0797525,3.1914903,0.3527086,0.3839481,9.39619,6.3967114,79.0815001,10.7293666,31.5097797,64.9941718,27.3274537,38.9809666,13.0454437,12.5922545,10.406276,9.5994915,36.6432295,3.7486808,0.3603867,0.3983866,9.1812863,6.2183234,77.9063705,10.6522862,31.3179026,65.1771853,27.4249797,39.3235921,13.2113258,12.5387961,10.431646,9.5718135,37.2374972,3.8049311 +142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7216056,0.7230786,11.8594094,7.3665329,74.0796034,8.094835,35.1600735,64.2578989,37.1212523,42.0891673,21.5022223,3.6662878,11.3534449,9.3870862,40.4244603,6.8944698,0.7121585,0.7106798,11.9709998,7.5141664,73.1363547,8.1782717,34.669405,65.1540826,37.7847112,42.1309919,21.5818565,3.7586711,11.0137815,9.4479593,39.7464863,6.0628067,0.6649479,0.6523594,11.6787896,7.2399583,71.9778944,8.2379405,34.9838267,65.623922,38.1796257,42.4720333,22.096664,3.684841,11.6737167,9.5439819,40.0113204,6.4995771,0.6429203,0.634997,11.2965377,6.9618656,71.2408345,8.6013385,34.8524964,65.3486391,38.1570536,42.6752568,22.0728792,3.8036263,11.4322025,9.3798658,39.70625,5.6546221,0.6476339,0.6503786,11.1967277,6.8514252,70.4841789,8.4870043,34.7719728,65.5663847,38.1892997,42.640993,22.4778172,3.870042,11.44716,9.4793314,39.9064017,5.9084991 +143,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.088689,1.08071,13.4324312,8.6268393,59.8826296,15.3618904,36.1844247,69.0541357,37.0188123,46.7082344,22.6933445,1.9703223,11.829337,11.4195902,37.1368474,10.5069875,1.137949,1.1084111,12.9233311,8.2365246,58.9784202,15.4830432,35.5132436,68.7528873,36.9666463,46.4835846,22.3862675,2.2269059,11.6085053,10.9414351,35.5837774,9.5743594,1.2068413,1.1810927,13.4434963,8.3642582,57.5690931,15.874298,35.5026988,68.3033734,37.3824318,45.6057814,22.0628723,2.2321274,11.4617477,10.121497,35.547129,9.3748893,1.0934336,1.0450564,13.4303512,8.668433,56.0217909,16.5897634,35.2953874,68.0081,37.4359501,46.5093808,22.3590214,2.7687248,11.6070508,10.3933175,34.9745554,8.8650219,1.0960886,1.0904755,13.8335504,8.9837416,55.011748,16.9521818,36.2811307,68.4073726,38.1846884,46.1695333,22.6319675,2.6229993,11.5480874,10.5685299,36.1584611,7.5537558 +144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6493796,0.6940797,14.9689301,11.2974332,82.9344179,9.8405475,32.6609088,62.3769202,25.6184703,42.8239588,13.7123849,2.6215886,12.0881885,9.7383144,31.7271973,6.1046958,0.6992767,0.7372671,14.2808014,10.7431613,80.9753323,9.6805098,32.9128512,63.7699624,26.7247099,43.1567445,14.3205525,2.7526109,12.0408729,9.8800872,31.4935862,6.6355564,0.6425652,0.6866147,13.8775603,10.5659435,79.1588949,9.6392587,32.659647,64.5536673,27.1692306,43.7783995,14.5330335,2.6555338,11.6430784,9.4483644,30.6939746,7.0069623,0.6144364,0.6233626,12.8710667,9.7126011,77.809692,9.5386401,32.3168755,66.4440488,28.4622393,44.3212546,15.0261496,2.7188837,11.2485003,9.3993528,30.2058019,7.118395,0.5359035,0.5607346,12.2121305,9.0558004,76.6982894,9.5371045,31.4272107,67.0864532,28.8535575,44.7082268,14.9945076,2.6768504,10.6619524,9.4134507,30.092094,6.8482081 +145,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8871376,0.8663692,12.1407554,7.5401312,64.8408189,15.7838273,38.1636931,62.2661458,33.9606007,46.6599628,20.8536682,3.9127516,10.547906,10.8549249,32.5926279,7.0247934,0.9997995,0.978971,11.5554652,7.577767,62.6070867,16.0372295,37.5143066,63.3704846,34.6746697,46.2696793,21.22198,3.9028488,10.8299315,11.2910365,31.7943679,8.2677165,1.046839,1.0258964,11.9944472,7.8101674,59.8960673,16.4985893,36.6975429,65.2384996,35.6507549,47.6039238,22.1501714,3.613133,11.4197287,11.5007536,31.9516622,7.5396825,0.9006675,0.8794137,11.8384068,7.5821973,57.9175136,16.7933162,36.8893556,65.8290381,36.9816199,48.4842642,22.926743,3.6868325,10.2890562,10.918091,30.7275885,8.267723,0.8945604,0.8734506,11.499244,7.3130751,55.977266,16.3306158,36.810417,65.7916434,36.2126,48.7530979,22.9369822,3.2376445,9.8424787,10.2136131,29.3451172,8.1896552 +146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6584066,0.6582609,10.5614457,6.5080678,81.3603503,13.1676573,35.0002369,63.1751772,28.3444177,40.5791077,14.9168786,3.8175501,10.4513439,9.0559097,32.1287258,7.3599468,0.6910643,0.6703358,10.5887068,6.3037793,79.5010258,13.4299291,34.6180425,64.6127458,29.7250192,40.5341458,15.3877281,3.8463289,10.0706318,8.8442677,32.0030827,8.7217535,0.5823665,0.5652554,10.1080589,6.1850471,78.2224384,13.5297948,34.0431026,65.7119509,30.1281617,40.7314154,15.1829687,4.0559204,10.2956358,9.1106804,32.0348111,8.1240888,0.4685371,0.4647045,9.3694714,5.6088716,77.268144,13.958383,33.6458114,66.3650732,30.6965769,40.8853212,15.0062986,3.8782782,9.8007707,8.9372879,31.2731774,7.523642,0.4312875,0.4151794,9.1922449,5.3228611,76.6195415,13.7512996,33.1293544,65.6477611,30.4994447,40.7852934,15.1273354,3.959121,9.4932885,8.7104266,31.8254716,7.2489307 +147,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8139051,0.8304068,13.4678697,9.2355816,69.1017383,10.2746322,33.1825927,67.0854983,36.6331889,45.9129285,18.8777446,4.7068767,10.4717159,10.4717159,33.3648107,11.6973067,0.8127591,0.8215747,13.0929054,9.1073943,67.8766639,10.9057406,32.9905759,67.2455203,37.1712949,45.9710378,18.8638138,4.9393212,9.9369248,10.056763,33.3016771,11.1872708,0.7079175,0.6947652,12.5167707,8.5958569,66.0967374,11.6188574,32.5879572,67.4462798,37.2994257,45.93723,18.8631085,4.933432,9.6784734,9.2283118,33.6222613,10.0000044,0.882871,0.8880794,12.45027,8.5273567,64.3485119,11.9396437,33.294535,67.6132188,37.2569276,45.8198531,18.9223053,4.9530453,10.1520113,9.46222,33.0264623,11.8834134,0.9811014,0.97092,12.7721042,8.714892,63.0008961,11.9531805,32.8475536,68.2369373,37.8000697,47.1476284,19.4330246,5.1985399,10.4149814,9.7991599,33.2809653,11.8534483 +148,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7352108,0.7161251,12.9594506,7.8784248,70.396556,14.1156896,36.8386169,63.9017079,32.4787419,42.2951208,20.5237064,3.7153037,10.9564707,8.8620462,34.9743622,9.2520698,0.6877941,0.6811605,12.7007833,7.9907936,69.734331,13.9761171,36.2755904,64.9249316,33.0013128,42.3875928,20.7503937,3.6970593,10.7905796,9.4961701,35.1589304,6.83607,0.6133099,0.5876104,12.3479045,7.618984,68.4428499,13.7359075,36.1350942,65.7821763,33.7454907,42.8314438,21.1587008,3.5981925,10.8127492,9.5750651,35.424547,6.3463138,0.6851813,0.6392242,12.4483146,7.6785874,66.8874116,13.9254767,35.5831884,67.2002233,34.2750041,43.2091749,21.5837133,3.6877512,10.7704364,9.5100872,35.2180856,4.7894147,0.7126293,0.6831872,12.5070225,7.6934526,66.1678197,14.6533431,35.1706194,67.4232191,34.5785418,43.2902465,21.5252546,3.594609,11.1377893,10.1337758,35.1949503,4.9020738 +149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6938031,0.6270517,12.7282005,8.5945403,69.2210362,13.4055386,35.0812457,68.4145579,33.9512568,43.2026653,18.5557831,2.1362985,8.656475,8.0165322,34.8293076,5.8685418,0.6447525,0.6259596,12.3175726,8.3912297,67.2724166,14.0971485,34.731095,68.38287,34.6602882,44.037491,18.8782696,2.3885337,9.2469955,8.2577153,34.1337463,6.9819725,0.5858108,0.5966298,11.5263081,7.8070018,65.7086088,14.9646613,34.26988,68.5218322,35.1288449,44.0407921,19.4166168,2.6306386,9.5904576,8.3560721,33.3907764,6.3043341,0.6264651,0.6372074,11.9006115,8.0090189,64.5572011,15.5263106,34.3106011,69.7050429,36.1940254,44.331891,19.8471927,2.7540848,9.7736758,8.5274045,32.7670069,5.3879194,0.6943176,0.7053223,11.470996,7.5339866,62.6649532,15.9490376,33.6178833,69.7239199,36.7780521,45.0599104,20.8681455,3.1420249,9.3990354,8.3508112,33.133397,6.7099451 +150,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6877941,0.6811605,12.7007833,7.9907936,69.734331,13.9761171,36.2755904,64.9249316,33.0013128,42.3875928,20.7503937,3.6970593,10.7905796,9.4961701,35.1589304,6.83607,0.6133099,0.5876104,12.3479045,7.618984,68.4428499,13.7359075,36.1350942,65.7821763,33.7454907,42.8314438,21.1587008,3.5981925,10.8127492,9.5750651,35.424547,6.3463138,0.6851813,0.6392242,12.4483146,7.6785874,66.8874116,13.9254767,35.5831884,67.2002233,34.2750041,43.2091749,21.5837133,3.6877512,10.7704364,9.5100872,35.2180856,4.7894147,0.7126293,0.6831872,12.5070225,7.6934526,66.1678197,14.6533431,35.1706194,67.4232191,34.5785418,43.2902465,21.5252546,3.594609,11.1377893,10.1337758,35.1949503,4.9020738,0.7075693,0.6779909,12.160721,7.3468445,65.8002163,15.2667416,35.3818288,67.9110289,34.9276455,43.6988009,21.5299817,3.4771743,10.6971658,9.5585188,35.6409863,5.8052848 +151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9993232,0.9993232,15.6792964,10.3253886,67.1059819,12.8906186,36.6339067,64.1933686,32.2388534,44.4932581,23.3453911,3.852111,12.6765753,10.3979077,43.6519665,10.9375068,0.9383024,0.9383024,15.1694004,10.0704406,65.8503872,12.9040603,36.5554797,65.1641405,33.2725134,43.6946173,23.5278773,4.038558,12.9917983,10.5935805,42.6155056,9.1195026,0.7845703,0.7615124,14.3510465,9.7426793,64.5340657,12.3226857,36.180103,65.7859364,33.7601467,43.9968246,23.4624859,3.8358831,12.7896076,10.403678,40.2726882,7.7142901,0.8017377,0.7788043,14.7629107,9.7509612,62.816763,11.9950604,35.6102063,66.5070279,34.4792181,43.7233261,24.1974294,3.8299669,13.1926754,11.4424098,42.0704078,7.712766,0.9163221,0.9048291,14.8493784,9.874709,61.7389886,12.2589293,35.4607233,67.5615492,34.2660322,43.6061845,24.0852016,4.0255845,13.2523476,11.1949777,42.195332,7.9896907 +152,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8383959,0.8318565,16.6910677,12.8126559,27.24495,19.2528347,36.1445236,66.2162754,38.0750207,47.2377957,22.7794423,3.470444,11.4638561,9.6935953,34.8602845,18.8087067,0.8326153,0.8117713,17.5050151,13.899044,27.8534506,19.6748358,35.5685333,65.3176118,37.8052825,47.8039424,23.1436113,3.4812883,10.7149163,9.2340086,35.3228691,18.6132303,0.8833624,0.8518071,18.3469048,14.472414,27.644379,19.5887378,36.3204571,65.2685248,37.2973851,47.3097845,22.615546,3.6264005,11.174155,9.2336914,35.6630753,19.7987654,0.9875409,0.9177058,18.6709105,14.7784707,28.2678698,20.1025264,36.5494521,65.2415448,36.9819166,47.5270881,22.2884341,3.2603281,11.2503808,9.0438504,36.049156,19.5652795,0.9677035,0.9003383,19.0142995,15.2981557,28.8557892,19.9705755,36.474197,65.2168374,37.5701498,47.648984,22.0369799,3.2400969,11.3534425,8.9769091,36.4472962,18.4849091 +153,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0125543,0.9700922,17.6857827,13.6293432,35.1606673,18.400056,32.5271869,68.2443027,35.428158,46.8513478,22.0538431,2.806673,12.3203503,11.4468357,36.315312,18.3760596,1.0120886,0.9429256,17.6288548,14.0352499,35.3467933,18.2816255,31.4585929,67.7275003,35.6241484,47.2216344,22.6006977,2.7457098,12.9320095,12.2070852,37.1771599,17.562661,1.1129286,1.0329046,18.1815112,14.6620671,35.3663283,17.8601794,30.7658362,66.6391858,34.7274303,46.7923843,21.6354309,2.5331971,13.1235983,12.4214588,38.0105361,16.9516818,1.1249309,1.0363513,19.2045847,15.3355336,34.9848038,18.5306069,30.8054142,65.9610894,34.5428799,47.21507,20.9359657,2.5403445,13.8641543,13.1188968,37.5469003,17.405785,1.0968197,1.0129079,20.371375,16.5942056,34.0985958,18.7493542,30.6208472,66.3771453,34.7294723,47.7769984,20.8488001,2.6928515,14.4220641,13.9418445,38.1091124,14.7954539 +154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4405354,0.4701974,12.1386326,8.5776628,86.8057165,10.8505803,29.5159807,60.2738502,22.7658598,38.4101237,10.7089615,4.2560167,12.6420442,9.658512,31.5878098,3.3923394,0.4459805,0.483456,11.8773184,8.4239765,85.8638457,11.1890173,29.8941779,61.6825781,23.7777697,38.7195655,11.1428392,4.5608436,12.9396903,10.0028236,30.8286005,3.0791771,0.4425411,0.4931359,11.552905,8.067186,85.3212452,10.9478456,29.6652866,62.0737111,24.2003625,39.4725303,11.5335602,4.4164356,12.5906496,10.1217802,31.1567632,3.0973433,0.4588556,0.5212692,11.628651,7.9443135,85.2083804,10.8909616,29.8228566,62.2385914,24.8719584,39.2978819,11.7050614,4.3427199,12.804097,10.7202323,31.0967941,3.5714276,0.4561865,0.5236472,11.3589061,7.820359,84.825733,11.1973121,29.4677396,63.8841264,25.5771834,40.1560587,11.7678704,4.2218921,12.8435366,11.2560417,30.9831158,3.7500104 +155,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9997995,0.978971,11.5554652,7.577767,62.6070867,16.0372295,37.5143066,63.3704846,34.6746697,46.2696793,21.22198,3.9028488,10.8299315,11.2910365,31.7943679,8.2677165,1.046839,1.0258964,11.9944472,7.8101674,59.8960673,16.4985893,36.6975429,65.2384996,35.6507549,47.6039238,22.1501714,3.613133,11.4197287,11.5007536,31.9516622,7.5396825,0.9006675,0.8794137,11.8384068,7.5821973,57.9175136,16.7933162,36.8893556,65.8290381,36.9816199,48.4842642,22.926743,3.6868325,10.2890562,10.918091,30.7275885,8.267723,0.8945604,0.8734506,11.499244,7.3130751,55.977266,16.3306158,36.810417,65.7916434,36.2126,48.7530979,22.9369822,3.2376445,9.8424787,10.2136131,29.3451172,8.1896552,0.9570457,0.9354445,11.2172964,7.1634069,54.4527284,17.0587012,36.7453473,66.2583549,36.5093591,48.6071631,23.7021588,3.4139776,9.5700664,9.7761406,28.1800262,8.3357171 +156,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.766516,0.720205,16.6726062,12.8396972,44.6905011,16.2876372,33.0787228,66.5831416,37.4141519,41.5542217,19.2459733,6.114088,11.5276728,7.8486453,37.6700988,9.375,0.9082008,0.8695472,16.3031914,12.5336673,45.3673313,15.9392241,32.7932953,65.8045799,36.6579561,40.4673813,18.8895606,6.3184396,10.9591641,8.0372505,38.3137142,8.7962963,1.1852988,1.1472628,16.7311808,12.8488074,46.1425491,15.710847,32.474723,65.1005647,35.8165155,39.2280722,18.4558801,6.0492846,9.7900409,8.2155585,38.969841,16.8103448,1.1138189,1.1138189,17.2785838,13.3331595,47.2530651,15.9107237,33.352251,64.670577,35.8889883,39.5455346,18.9622087,6.1051429,10.5427548,8.5444888,39.2381081,17.7295013,1.2002737,1.2002737,17.1705212,13.2735322,47.637804,16.8139944,33.4289448,64.7454957,35.4503891,39.4359872,19.7886831,6.0915858,10.3330028,8.4797799,38.0538137,15.9610817 +157,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5968017,0.6143695,11.8150003,7.8549999,69.7548911,7.6714356,29.8910855,68.9098738,38.0545558,40.6225001,18.1205064,4.1017191,10.482044,8.5116463,36.1513569,7.2542078,0.5793732,0.5955827,11.7162229,7.7315943,68.9681489,7.8373812,30.1672856,68.9458849,37.9975825,40.3456606,18.2152606,4.1469322,10.3227693,8.1931185,35.9703295,6.5243894,0.5446291,0.5585896,11.6422337,7.6410113,68.4154045,8.0601645,30.2958375,68.6439818,37.6464066,39.9283138,18.0583624,4.0337246,10.4735593,8.2138114,35.8037837,6.2652061,0.5257374,0.5412162,11.3258275,7.3797929,67.6165769,8.4701085,30.3895963,68.6364103,37.9506015,39.9989979,18.0690863,4.1520243,10.5118006,8.4382215,35.8514119,6.1455833,0.4845334,0.4962492,11.1943338,7.2505858,66.2524268,8.4693981,30.8490167,68.8878746,37.8617723,40.4321002,18.513461,4.1438991,10.1791262,8.1772606,35.7517523,5.4899639 +158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4068809,0.3974429,8.3933901,5.921717,86.2477967,20.0453872,33.2139375,62.3165732,22.7396839,37.5809876,9.3995543,5.8853513,12.5167252,9.6810227,32.8026545,3.5116998,0.357613,0.3481269,8.0937575,5.6639191,85.9341848,19.35544,33.0421553,63.4634513,23.3127767,38.043792,9.3696841,5.8410324,12.7224623,10.0386889,33.1802645,2.1523179,0.4055632,0.3644038,8.0390688,5.6050651,86.0028096,18.7456894,33.1335847,63.8184057,24.0582033,37.9622768,9.8116475,6.2499914,12.4081684,10.2692578,34.2063569,2.6984127,0.4596268,0.4183511,7.8622668,5.498448,85.1186207,18.8915942,32.4125216,64.327309,24.9313574,39.069957,9.8661807,6.3314922,12.13787,10.2332183,33.7134789,2.3584906,0.4518231,0.3944535,7.7146622,5.3540782,84.6913727,18.9884724,31.5527627,64.805866,25.8845828,39.5224673,10.4259869,6.4754269,12.4048066,10.3701208,33.8159796,2.9780564 +159,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.046839,1.0258964,11.9944472,7.8101674,59.8960673,16.4985893,36.6975429,65.2384996,35.6507549,47.6039238,22.1501714,3.613133,11.4197287,11.5007536,31.9516622,7.5396825,0.9006675,0.8794137,11.8384068,7.5821973,57.9175136,16.7933162,36.8893556,65.8290381,36.9816199,48.4842642,22.926743,3.6868325,10.2890562,10.918091,30.7275885,8.267723,0.8945604,0.8734506,11.499244,7.3130751,55.977266,16.3306158,36.810417,65.7916434,36.2126,48.7530979,22.9369822,3.2376445,9.8424787,10.2136131,29.3451172,8.1896552,0.9570457,0.9354445,11.2172964,7.1634069,54.4527284,17.0587012,36.7453473,66.2583549,36.5093591,48.6071631,23.7021588,3.4139776,9.5700664,9.7761406,28.1800262,8.3357171,0.9044435,0.9044435,10.9120597,6.9773174,52.615625,17.1943515,36.6029111,67.0874924,37.7677753,48.9437518,23.9679493,3.7190803,9.6659318,9.4260737,27.8616754,6.6983783 +160,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5564315,0.6011774,10.4262146,6.729302,78.4226241,14.2780647,33.2481048,64.3809113,31.7449265,43.1194758,17.1315737,5.1061504,9.6064172,8.5351651,33.1918165,8.6111143,0.6035644,0.6516391,10.3790763,6.7399558,77.458318,14.7479797,33.3410561,64.1435197,31.6589559,43.2484581,17.2608104,5.0694425,9.4968055,8.4230455,33.7960432,7.1043191,0.6311906,0.7116031,10.2385706,6.6294559,75.8855843,14.9501898,33.6413131,64.2468965,32.3835492,43.625785,17.7562187,5.0543462,9.3292382,8.0498561,33.9475403,7.025533,0.6101429,0.6757413,10.4908349,6.7944252,75.2827285,15.3223361,33.6780101,64.3765366,32.636345,43.5125715,17.7772771,5.3232213,9.5189829,7.9924543,34.6703792,7.4239575,0.6552424,0.7170588,10.281886,6.662046,74.6060566,15.5697327,33.3463128,65.0661541,32.5992327,43.6342506,17.9221883,5.1906615,9.9271169,8.3017189,34.4236032,6.887287 +161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6996635,0.7418232,18.1124637,14.4326664,35.1757595,16.7201184,37.7297524,66.4407543,37.7948532,49.9019907,24.0557489,3.7443694,11.6353079,9.0640004,32.5774824,15.4875448,0.8126506,0.8536731,18.8593303,14.674841,35.8205792,17.6326503,38.4694763,66.3842856,39.2259056,50.6917969,24.795498,3.9391975,12.7206765,10.1019803,34.224742,13.2487501,0.8201539,0.8607739,18.9274156,14.7073625,35.9919531,18.2278585,37.9698892,65.220105,39.0952448,50.4677193,25.0321972,3.7821485,13.1130727,10.1607145,33.2298677,11.0654434,0.7623013,0.79204,19.157138,15.032675,36.1791625,19.0552121,37.98827,64.7085049,38.4380729,49.6133779,24.436754,3.6292605,12.6746037,10.2525499,31.8739218,9.0541628,0.9733498,1.0177724,19.5132585,15.1693757,36.81522,19.147588,37.8595349,65.0153893,38.3667124,49.6772626,24.5683505,3.2273169,12.5971564,10.8961042,31.7357004,9.5735583 +162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.4203566,0.4387552,12.11373,6.6911529,55.54631,12.0169847,37.0153068,64.9596619,38.6234575,45.9010051,24.1881943,2.4373407,10.8963325,12.4189532,37.9681369,7.5396885,0.5633227,0.5898015,12.6443867,7.3443388,53.8011439,12.4308848,37.53718,65.5826099,39.2166859,46.5868344,23.7325481,2.8246151,12.6118521,13.0987857,38.7049603,6.1983522,0.6858228,0.7037617,13.09922,7.8278988,52.8313341,12.3359739,36.9528344,65.9935496,38.4979706,46.266958,24.2592069,2.7972101,13.1097784,13.0085447,38.9418173,5.9090963,0.6186629,0.6366722,13.2535523,8.1214353,51.4766129,12.8956662,37.3385899,66.2586552,37.81966,45.8273865,24.3904522,2.9130823,14.7086299,14.5091911,40.0232574,8.878513,0.7300229,0.7474658,12.3973725,7.540665,49.4985199,13.3544989,36.8993662,65.9886219,38.3433679,46.649328,24.9863464,3.1200598,15.2103269,13.5789374,40.0708351,8.3333399 +163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.5633227,0.5898015,12.6443867,7.3443388,53.8011439,12.4308848,37.53718,65.5826099,39.2166859,46.5868344,23.7325481,2.8246151,12.6118521,13.0987857,38.7049603,6.1983522,0.6858228,0.7037617,13.09922,7.8278988,52.8313341,12.3359739,36.9528344,65.9935496,38.4979706,46.266958,24.2592069,2.7972101,13.1097784,13.0085447,38.9418173,5.9090963,0.6186629,0.6366722,13.2535523,8.1214353,51.4766129,12.8956662,37.3385899,66.2586552,37.81966,45.8273865,24.3904522,2.9130823,14.7086299,14.5091911,40.0232574,8.878513,0.7300229,0.7474658,12.3973725,7.540665,49.4985199,13.3544989,36.8993662,65.9886219,38.3433679,46.649328,24.9863464,3.1200598,15.2103269,13.5789374,40.0708351,8.3333399,0.6822961,0.7633643,12.1235276,7.3762085,48.7631674,14.5227173,38.0866482,65.8844845,39.9948241,48.4528095,25.6059623,3.4295851,15.7670624,14.8482329,40.619067,6.0000048 +164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8866936,0.9151812,13.0096862,8.6896017,61.8492817,15.1454287,38.0724379,64.6977972,36.3428792,48.2478626,22.4706884,3.2730262,11.8965868,10.251238,35.1114894,5.7575723,0.6431708,0.7030412,12.5657526,8.5485524,59.943103,15.6803481,37.7575657,66.2906613,37.9257607,48.869403,22.959188,3.3581076,11.7341142,9.7345356,34.9621094,6.5217351,0.6715961,0.742814,12.5274166,8.3797177,59.0442795,14.8636324,38.088179,66.0271802,38.0167541,48.9728355,23.0640736,3.0835624,11.954188,10.2679692,35.7085071,5.483871,0.6911114,0.7630377,12.4129832,8.5073974,57.6676844,14.963946,38.8240381,66.391163,37.5302562,48.5580218,22.4194132,2.9139896,12.1938937,10.2662334,34.9967542,6.0897436,0.7941656,0.8618627,12.5886037,8.5578695,57.1094891,14.6190063,37.9753529,65.7556697,37.625528,48.6691045,22.2756305,2.9692717,11.2078237,9.7535139,34.8561484,6.9570103 +165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9082008,0.8695472,16.3031914,12.5336673,45.3673313,15.9392241,32.7932953,65.8045799,36.6579561,40.4673813,18.8895606,6.3184396,10.9591641,8.0372505,38.3137142,8.7962963,1.1852988,1.1472628,16.7311808,12.8488074,46.1425491,15.710847,32.474723,65.1005647,35.8165155,39.2280722,18.4558801,6.0492846,9.7900409,8.2155585,38.969841,16.8103448,1.1138189,1.1138189,17.2785838,13.3331595,47.2530651,15.9107237,33.352251,64.670577,35.8889883,39.5455346,18.9622087,6.1051429,10.5427548,8.5444888,39.2381081,17.7295013,1.2002737,1.2002737,17.1705212,13.2735322,47.637804,16.8139944,33.4289448,64.7454957,35.4503891,39.4359872,19.7886831,6.0915858,10.3330028,8.4797799,38.0538137,15.9610817,0.9720542,1.0429746,17.1059539,13.3223291,49.3977421,16.5452849,33.3202678,64.2246504,35.2203641,38.0007482,19.4493417,5.8091105,10.3379602,8.8949008,36.6079554,15.9263975 +166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.357613,0.3481269,8.0937575,5.6639191,85.9341848,19.35544,33.0421553,63.4634513,23.3127767,38.043792,9.3696841,5.8410324,12.7224623,10.0386889,33.1802645,2.1523179,0.4055632,0.3644038,8.0390688,5.6050651,86.0028096,18.7456894,33.1335847,63.8184057,24.0582033,37.9622768,9.8116475,6.2499914,12.4081684,10.2692578,34.2063569,2.6984127,0.4596268,0.4183511,7.8622668,5.498448,85.1186207,18.8915942,32.4125216,64.327309,24.9313574,39.069957,9.8661807,6.3314922,12.13787,10.2332183,33.7134789,2.3584906,0.4518231,0.3944535,7.7146622,5.3540782,84.6913727,18.9884724,31.5527627,64.805866,25.8845828,39.5224673,10.4259869,6.4754269,12.4048066,10.3701208,33.8159796,2.9780564,0.3928242,0.3283009,7.4375873,5.2877828,84.7085294,18.7005301,31.4410282,66.0589943,26.232671,39.6354209,10.6771132,6.3368097,12.0269531,9.896857,34.3405225,3.0844106 +167,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5793732,0.5955827,11.7162229,7.7315943,68.9681489,7.8373812,30.1672856,68.9458849,37.9975825,40.3456606,18.2152606,4.1469322,10.3227693,8.1931185,35.9703295,6.5243894,0.5446291,0.5585896,11.6422337,7.6410113,68.4154045,8.0601645,30.2958375,68.6439818,37.6464066,39.9283138,18.0583624,4.0337246,10.4735593,8.2138114,35.8037837,6.2652061,0.5257374,0.5412162,11.3258275,7.3797929,67.6165769,8.4701085,30.3895963,68.6364103,37.9506015,39.9989979,18.0690863,4.1520243,10.5118006,8.4382215,35.8514119,6.1455833,0.4845334,0.4962492,11.1943338,7.2505858,66.2524268,8.4693981,30.8490167,68.8878746,37.8617723,40.4321002,18.513461,4.1438991,10.1791262,8.1772606,35.7517523,5.4899639,0.4688928,0.4764697,11.0948226,7.0612613,65.4443065,8.6872405,29.9558796,68.7807052,37.9374327,40.724957,19.1366698,4.0760062,10.0441307,8.1296939,35.7779513,5.8789283 +168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6431708,0.7030412,12.5657526,8.5485524,59.943103,15.6803481,37.7575657,66.2906613,37.9257607,48.869403,22.959188,3.3581076,11.7341142,9.7345356,34.9621094,6.5217351,0.6715961,0.742814,12.5274166,8.3797177,59.0442795,14.8636324,38.088179,66.0271802,38.0167541,48.9728355,23.0640736,3.0835624,11.954188,10.2679692,35.7085071,5.483871,0.6911114,0.7630377,12.4129832,8.5073974,57.6676844,14.963946,38.8240381,66.391163,37.5302562,48.5580218,22.4194132,2.9139896,12.1938937,10.2662334,34.9967542,6.0897436,0.7941656,0.8618627,12.5886037,8.5578695,57.1094891,14.6190063,37.9753529,65.7556697,37.625528,48.6691045,22.2756305,2.9692717,11.2078237,9.7535139,34.8561484,6.9570103,0.8229176,0.9146279,12.4190932,8.2866971,55.6385242,15.9964392,36.6427828,66.6356143,38.1679877,48.4436947,21.7470593,3.0723747,11.1301504,9.4357675,34.3887148,8.4413566 +169,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7474367,0.8076739,15.9646834,10.7976032,72.120748,15.2105066,41.1572401,65.3824382,33.2527675,46.7301452,20.2303174,2.6300806,11.469187,9.2540433,34.8307808,9.0277778,0.7036857,0.7203832,15.1671272,10.2646271,69.9444515,15.7555965,40.2241771,66.6146614,34.6623084,47.4035066,21.0414447,3.0221376,11.556807,9.5726148,34.8233715,9.4936669,0.6735279,0.6903698,14.4163082,9.6343189,68.8651409,15.8687017,39.5684361,68.3481062,35.3672298,47.284927,21.3060972,2.8722522,11.4766071,9.5853649,34.1731865,10.7594846,0.6669325,0.6755995,14.1122258,9.282527,67.657171,15.6821458,39.053661,67.9802345,35.7203277,48.206209,21.5113136,2.6694972,10.9658419,9.4284178,34.557637,10.6522081,0.7082089,0.7342777,13.6781965,8.9375437,66.8249645,16.1303993,38.7485742,67.8348601,36.2230433,48.8791117,21.4670966,2.9937603,10.1222184,8.6390248,33.733335,9.7510707 +170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4105394,0.3952207,7.5609026,5.0356493,86.3165632,16.5508282,31.2391151,62.6088222,26.7121372,36.3464879,14.2338968,7.2693005,10.0099384,7.1464415,35.0600606,3.3916856,0.514861,0.4671428,7.2585391,4.9322721,85.6168306,16.5624144,30.3453207,63.2949618,28.0143932,36.7625893,14.5755393,7.3812977,10.2046494,6.8534984,35.3318467,3.927814,0.5566357,0.5095668,7.7157801,5.0711991,85.4621071,16.3153493,29.6480248,63.198972,28.0868633,36.5455609,14.2350241,7.3091145,10.8041556,7.2802167,35.8995593,4.3157904,0.5914474,0.5593467,7.7403456,5.1263452,85.0215763,16.2447302,29.203413,62.66002,28.2645875,36.6856383,14.8364136,7.4679977,10.8826747,7.6817159,36.9745628,4.2797504,0.6338557,0.627525,7.5900541,5.1315055,84.8866796,15.8208579,28.9613671,62.9199256,28.7374085,37.1080699,14.515678,7.4608094,10.2989115,7.7783818,36.6208822,4.2391304 +171,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9006675,0.8794137,11.8384068,7.5821973,57.9175136,16.7933162,36.8893556,65.8290381,36.9816199,48.4842642,22.926743,3.6868325,10.2890562,10.918091,30.7275885,8.267723,0.8945604,0.8734506,11.499244,7.3130751,55.977266,16.3306158,36.810417,65.7916434,36.2126,48.7530979,22.9369822,3.2376445,9.8424787,10.2136131,29.3451172,8.1896552,0.9570457,0.9354445,11.2172964,7.1634069,54.4527284,17.0587012,36.7453473,66.2583549,36.5093591,48.6071631,23.7021588,3.4139776,9.5700664,9.7761406,28.1800262,8.3357171,0.9044435,0.9044435,10.9120597,6.9773174,52.615625,17.1943515,36.6029111,67.0874924,37.7677753,48.9437518,23.9679493,3.7190803,9.6659318,9.4260737,27.8616754,6.6983783,0.8374306,0.8374306,10.5578559,6.5206833,50.1970766,17.3734998,36.3485785,68.0149599,38.8573197,49.2378184,24.0142762,3.627907,9.5146695,9.0075346,27.5152873,7.2137997 +172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8126506,0.8536731,18.8593303,14.674841,35.8205792,17.6326503,38.4694763,66.3842856,39.2259056,50.6917969,24.795498,3.9391975,12.7206765,10.1019803,34.224742,13.2487501,0.8201539,0.8607739,18.9274156,14.7073625,35.9919531,18.2278585,37.9698892,65.220105,39.0952448,50.4677193,25.0321972,3.7821485,13.1130727,10.1607145,33.2298677,11.0654434,0.7623013,0.79204,19.157138,15.032675,36.1791625,19.0552121,37.98827,64.7085049,38.4380729,49.6133779,24.436754,3.6292605,12.6746037,10.2525499,31.8739218,9.0541628,0.9733498,1.0177724,19.5132585,15.1693757,36.81522,19.147588,37.8595349,65.0153893,38.3667124,49.6772626,24.5683505,3.2273169,12.5971564,10.8961042,31.7357004,9.5735583,1.0279927,1.0579052,19.5229303,16.0020992,36.8940517,18.6467629,38.8630993,64.231495,38.8591132,50.3855621,24.3107989,3.1876017,12.8503545,11.3999723,31.9083247,9.3275438 +173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.793346,1.766201,14.3837892,9.4160959,43.7315907,19.1409388,35.1157382,67.9355204,38.0224919,48.4348086,27.134876,3.1019036,10.4986831,8.2315222,38.6801619,12.5758159,1.7986391,1.7878517,14.4908406,9.7684579,44.344027,18.9869368,34.9611926,67.5769145,38.158907,48.0764657,27.8277576,2.8702906,10.2486643,8.5078829,39.0627655,10.0624061,1.6209048,1.5893269,15.2587312,10.4964145,42.4915666,18.9411746,34.1860939,68.8439961,38.4992298,48.7141351,28.9141287,2.9173875,11.5247494,9.5663245,39.4459169,12.3124809,1.4783444,1.4467763,15.4894371,11.1600663,42.8423146,19.415925,34.0604276,69.3588172,37.4409708,48.7401395,28.5390296,2.7609052,11.5066083,9.8893227,38.7985066,14.9290193,1.4359036,1.3723168,15.4956837,11.3519031,44.2326486,19.0791534,34.2819778,69.7211463,36.6845704,48.3369787,27.0284296,2.574937,11.5570849,10.6342961,40.3945842,16.9183693 +174,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6133099,0.5876104,12.3479045,7.618984,68.4428499,13.7359075,36.1350942,65.7821763,33.7454907,42.8314438,21.1587008,3.5981925,10.8127492,9.5750651,35.424547,6.3463138,0.6851813,0.6392242,12.4483146,7.6785874,66.8874116,13.9254767,35.5831884,67.2002233,34.2750041,43.2091749,21.5837133,3.6877512,10.7704364,9.5100872,35.2180856,4.7894147,0.7126293,0.6831872,12.5070225,7.6934526,66.1678197,14.6533431,35.1706194,67.4232191,34.5785418,43.2902465,21.5252546,3.594609,11.1377893,10.1337758,35.1949503,4.9020738,0.7075693,0.6779909,12.160721,7.3468445,65.8002163,15.2667416,35.3818288,67.9110289,34.9276455,43.6988009,21.5299817,3.4771743,10.6971658,9.5585188,35.6409863,5.8052848,0.6977155,0.6684158,12.4030371,7.4141191,64.5899404,15.6690165,34.7405526,68.4013299,34.8807927,43.6889794,22.0618206,3.5203529,10.6310151,9.2968767,35.6188456,5.5160908 +175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6447525,0.6259596,12.3175726,8.3912297,67.2724166,14.0971485,34.731095,68.38287,34.6602882,44.037491,18.8782696,2.3885337,9.2469955,8.2577153,34.1337463,6.9819725,0.5858108,0.5966298,11.5263081,7.8070018,65.7086088,14.9646613,34.26988,68.5218322,35.1288449,44.0407921,19.4166168,2.6306386,9.5904576,8.3560721,33.3907764,6.3043341,0.6264651,0.6372074,11.9006115,8.0090189,64.5572011,15.5263106,34.3106011,69.7050429,36.1940254,44.331891,19.8471927,2.7540848,9.7736758,8.5274045,32.7670069,5.3879194,0.6943176,0.7053223,11.470996,7.5339866,62.6649532,15.9490376,33.6178833,69.7239199,36.7780521,45.0599104,20.8681455,3.1420249,9.3990354,8.3508112,33.133397,6.7099451,0.687097,0.6898391,11.6755678,7.3261876,61.5595395,15.4464115,33.1584734,69.8082321,36.6316979,45.4956384,21.0021765,3.0209782,9.3031534,8.0600259,33.3919962,7.6388783 +176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6715961,0.742814,12.5274166,8.3797177,59.0442795,14.8636324,38.088179,66.0271802,38.0167541,48.9728355,23.0640736,3.0835624,11.954188,10.2679692,35.7085071,5.483871,0.6911114,0.7630377,12.4129832,8.5073974,57.6676844,14.963946,38.8240381,66.391163,37.5302562,48.5580218,22.4194132,2.9139896,12.1938937,10.2662334,34.9967542,6.0897436,0.7941656,0.8618627,12.5886037,8.5578695,57.1094891,14.6190063,37.9753529,65.7556697,37.625528,48.6691045,22.2756305,2.9692717,11.2078237,9.7535139,34.8561484,6.9570103,0.8229176,0.9146279,12.4190932,8.2866971,55.6385242,15.9964392,36.6427828,66.6356143,38.1679877,48.4436947,21.7470593,3.0723747,11.1301504,9.4357675,34.3887148,8.4413566,0.7579011,0.8240586,12.2456933,8.0362775,53.8061175,16.4625244,35.2164788,67.4798415,38.4917713,49.4654098,21.6173808,3.2265968,11.4032907,9.8134492,34.5600015,9.2855016 +177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6910643,0.6703358,10.5887068,6.3037793,79.5010258,13.4299291,34.6180425,64.6127458,29.7250192,40.5341458,15.3877281,3.8463289,10.0706318,8.8442677,32.0030827,8.7217535,0.5823665,0.5652554,10.1080589,6.1850471,78.2224384,13.5297948,34.0431026,65.7119509,30.1281617,40.7314154,15.1829687,4.0559204,10.2956358,9.1106804,32.0348111,8.1240888,0.4685371,0.4647045,9.3694714,5.6088716,77.268144,13.958383,33.6458114,66.3650732,30.6965769,40.8853212,15.0062986,3.8782782,9.8007707,8.9372879,31.2731774,7.523642,0.4312875,0.4151794,9.1922449,5.3228611,76.6195415,13.7512996,33.1293544,65.6477611,30.4994447,40.7852934,15.1273354,3.959121,9.4932885,8.7104266,31.8254716,7.2489307,0.4622638,0.4492416,9.0727551,5.30558,75.3090028,13.5513245,32.928125,65.6447186,30.3820531,41.805625,15.2793884,3.5903605,8.9575767,8.2921284,31.5939892,7.1746627 +178,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6851813,0.6392242,12.4483146,7.6785874,66.8874116,13.9254767,35.5831884,67.2002233,34.2750041,43.2091749,21.5837133,3.6877512,10.7704364,9.5100872,35.2180856,4.7894147,0.7126293,0.6831872,12.5070225,7.6934526,66.1678197,14.6533431,35.1706194,67.4232191,34.5785418,43.2902465,21.5252546,3.594609,11.1377893,10.1337758,35.1949503,4.9020738,0.7075693,0.6779909,12.160721,7.3468445,65.8002163,15.2667416,35.3818288,67.9110289,34.9276455,43.6988009,21.5299817,3.4771743,10.6971658,9.5585188,35.6409863,5.8052848,0.6977155,0.6684158,12.4030371,7.4141191,64.5899404,15.6690165,34.7405526,68.4013299,34.8807927,43.6889794,22.0618206,3.5203529,10.6310151,9.2968767,35.6188456,5.5160908,0.6454889,0.6921476,12.0610181,7.4780897,63.2044821,16.1098721,34.9143496,68.4044926,35.3014643,44.4277653,22.2208794,3.4983714,10.664316,9.5624165,36.0573994,5.272804 +179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7150493,0.7393873,12.4200435,8.1630635,78.7841159,13.0635061,38.0387877,64.2834451,32.2013837,45.99173,17.3453138,3.3640866,12.5689957,10.9118308,32.8132275,6.472073,0.6318105,0.6415842,11.9708328,7.8002496,77.2989356,13.1214886,37.795316,65.5092645,33.740436,45.9211393,18.0156425,3.536081,11.9438858,10.5630276,32.465058,7.2839452,0.6370824,0.6419472,11.8743196,7.6173433,75.5325911,13.1128109,37.6764326,66.6058636,34.5360974,46.1300626,18.5329081,3.7192722,12.0832254,10.5604747,32.5520043,6.7237098,0.5999679,0.6084651,11.7917987,7.3903619,74.057047,13.1169489,37.129482,67.0074362,35.8614676,46.3544065,18.8381605,3.6852099,11.7082891,10.9232313,33.3486528,7.1934113,0.5972348,0.6095222,11.503247,7.081961,72.7931419,13.003816,37.7982297,67.3899033,35.908731,46.7173729,19.0472332,3.578863,11.3512704,10.9682432,33.94759,7.7937834 +180,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6160142,0.5655966,11.0757654,6.9522346,76.355125,9.6936034,30.9089469,64.146217,33.3478854,41.2501924,17.506604,3.9899526,10.9180677,9.3069764,32.9056981,8.8715529,0.6385877,0.5702776,10.8780268,6.7353961,74.530807,10.2561054,30.5361234,64.7863631,34.7085892,42.3703097,18.1923233,4.181361,10.6032153,8.9727358,32.9633522,8.5045076,0.5384739,0.4784891,10.4738373,6.3428973,73.2384575,10.2690558,30.3050569,66.1236886,35.0528524,41.8478549,18.549816,4.3177052,10.5383431,8.8999256,32.770561,6.7132814,0.5021686,0.4426544,10.4591073,6.3163088,72.4226957,10.2361653,29.3894118,66.7444511,35.5655533,42.4022612,18.7835957,4.5235908,10.1834344,8.6563371,32.9838665,6.5315315,0.4653957,0.3986249,10.6320216,6.7018398,72.1810582,10.6031679,28.9312586,66.8221021,35.7359524,42.1304347,19.1675319,4.5022435,10.8081866,8.4446035,33.6907609,5.4824561 +181,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4459805,0.483456,11.8773184,8.4239765,85.8638457,11.1890173,29.8941779,61.6825781,23.7777697,38.7195655,11.1428392,4.5608436,12.9396903,10.0028236,30.8286005,3.0791771,0.4425411,0.4931359,11.552905,8.067186,85.3212452,10.9478456,29.6652866,62.0737111,24.2003625,39.4725303,11.5335602,4.4164356,12.5906496,10.1217802,31.1567632,3.0973433,0.4588556,0.5212692,11.628651,7.9443135,85.2083804,10.8909616,29.8228566,62.2385914,24.8719584,39.2978819,11.7050614,4.3427199,12.804097,10.7202323,31.0967941,3.5714276,0.4561865,0.5236472,11.3589061,7.820359,84.825733,11.1973121,29.4677396,63.8841264,25.5771834,40.1560587,11.7678704,4.2218921,12.8435366,11.2560417,30.9831158,3.7500104,0.4493799,0.5363885,10.7016342,7.402386,84.4604935,11.5093114,28.7611806,64.3752641,26.50872,40.4271197,11.5703605,4.366771,12.3079738,11.6566589,31.3618315,3.8563932 +182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9383024,0.9383024,15.1694004,10.0704406,65.8503872,12.9040603,36.5554797,65.1641405,33.2725134,43.6946173,23.5278773,4.038558,12.9917983,10.5935805,42.6155056,9.1195026,0.7845703,0.7615124,14.3510465,9.7426793,64.5340657,12.3226857,36.180103,65.7859364,33.7601467,43.9968246,23.4624859,3.8358831,12.7896076,10.403678,40.2726882,7.7142901,0.8017377,0.7788043,14.7629107,9.7509612,62.816763,11.9950604,35.6102063,66.5070279,34.4792181,43.7233261,24.1974294,3.8299669,13.1926754,11.4424098,42.0704078,7.712766,0.9163221,0.9048291,14.8493784,9.874709,61.7389886,12.2589293,35.4607233,67.5615492,34.2660322,43.6061845,24.0852016,4.0255845,13.2523476,11.1949777,42.195332,7.9896907,0.8371689,0.8025304,13.7719247,9.2063653,60.6107302,12.206582,36.0030169,67.910424,35.222238,43.8531239,24.5517556,3.9819143,12.99855,10.7933951,41.3744518,7.9234973 +183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6858228,0.7037617,13.09922,7.8278988,52.8313341,12.3359739,36.9528344,65.9935496,38.4979706,46.266958,24.2592069,2.7972101,13.1097784,13.0085447,38.9418173,5.9090963,0.6186629,0.6366722,13.2535523,8.1214353,51.4766129,12.8956662,37.3385899,66.2586552,37.81966,45.8273865,24.3904522,2.9130823,14.7086299,14.5091911,40.0232574,8.878513,0.7300229,0.7474658,12.3973725,7.540665,49.4985199,13.3544989,36.8993662,65.9886219,38.3433679,46.649328,24.9863464,3.1200598,15.2103269,13.5789374,40.0708351,8.3333399,0.6822961,0.7633643,12.1235276,7.3762085,48.7631674,14.5227173,38.0866482,65.8844845,39.9948241,48.4528095,25.6059623,3.4295851,15.7670624,14.8482329,40.619067,6.0000048,0.7536953,0.8249881,12.047881,7.2083506,46.9863787,14.2893436,36.9084422,67.6697658,40.6635529,49.0997936,25.9516133,3.4722093,15.0704348,14.2521476,39.707288,7.6612965 +184,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4978832,0.5090127,8.1382403,5.1224223,87.7891594,6.659019,27.4868872,59.7625622,24.7011917,34.785784,11.5069045,5.2003417,10.7449302,9.1291294,37.9666201,2.9806885,0.5039233,0.5143893,8.2314513,5.1694562,87.6428021,6.6262688,27.1522546,61.1413661,25.3168951,35.2532526,11.620706,5.0455904,10.3706317,9.2160688,37.5901359,3.1224655,0.5534378,0.5551855,8.384555,5.2173072,87.5254518,6.3711446,26.6603773,61.8840621,26.0532791,35.679084,11.7398831,5.1424276,10.1415851,9.1873397,37.354849,3.5150079,0.5391994,0.5355162,8.1942885,5.1322718,87.2050352,6.280104,26.2399821,62.8326148,26.6773888,36.0181945,11.8725472,5.0447644,10.1094866,9.533973,36.954866,3.4336343,0.5415858,0.5646662,8.2818414,5.1851859,86.8918292,6.2932224,26.4568704,63.1518601,26.6660618,36.1161081,12.0236838,5.0835899,10.0249732,9.3281073,37.1352366,3.9360784 +185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7446015,0.7446015,12.8398911,7.9800143,68.540956,17.5549003,35.3687971,66.5269179,32.8996856,46.1569573,20.7306411,2.5352213,12.0905812,9.713263,36.8935343,10.0752134,0.6316234,0.6235037,12.1936641,7.8571273,67.1424944,17.5899278,34.5780469,66.6294524,34.1755218,46.4153275,20.2222061,2.1242729,12.8076903,11.128258,37.0723526,8.8859206,0.6333633,0.6253501,11.643383,7.707844,65.8185341,17.9893215,35.1294994,67.5689209,34.6734292,46.5276702,20.6650567,2.4107102,12.2503134,10.6508287,36.8053677,7.4469606,0.4997625,0.483694,11.2644086,7.2735024,64.7060174,18.2607325,34.9941177,68.0413895,35.691307,46.3254959,20.2410395,2.644013,12.414894,11.2382303,37.136662,8.0645213,0.4915921,0.4835542,10.8622961,7.104669,63.2073535,18.6102873,33.8231306,67.9649616,35.7609318,46.0657627,19.8502982,2.8611171,13.0778685,11.6581515,36.9379935,5.9859197 +186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6318105,0.6415842,11.9708328,7.8002496,77.2989356,13.1214886,37.795316,65.5092645,33.740436,45.9211393,18.0156425,3.536081,11.9438858,10.5630276,32.465058,7.2839452,0.6370824,0.6419472,11.8743196,7.6173433,75.5325911,13.1128109,37.6764326,66.6058636,34.5360974,46.1300626,18.5329081,3.7192722,12.0832254,10.5604747,32.5520043,6.7237098,0.5999679,0.6084651,11.7917987,7.3903619,74.057047,13.1169489,37.129482,67.0074362,35.8614676,46.3544065,18.8381605,3.6852099,11.7082891,10.9232313,33.3486528,7.1934113,0.5972348,0.6095222,11.503247,7.081961,72.7931419,13.003816,37.7982297,67.3899033,35.908731,46.7173729,19.0472332,3.578863,11.3512704,10.9682432,33.94759,7.7937834,0.7078807,0.7202465,11.4732109,7.1598575,71.1560298,13.4010018,37.7320263,67.8208121,35.7788591,47.0621499,19.4915155,3.4140458,10.9632995,10.9121666,33.3590201,8.7563639 +187,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6035644,0.6516391,10.3790763,6.7399558,77.458318,14.7479797,33.3410561,64.1435197,31.6589559,43.2484581,17.2608104,5.0694425,9.4968055,8.4230455,33.7960432,7.1043191,0.6311906,0.7116031,10.2385706,6.6294559,75.8855843,14.9501898,33.6413131,64.2468965,32.3835492,43.625785,17.7562187,5.0543462,9.3292382,8.0498561,33.9475403,7.025533,0.6101429,0.6757413,10.4908349,6.7944252,75.2827285,15.3223361,33.6780101,64.3765366,32.636345,43.5125715,17.7772771,5.3232213,9.5189829,7.9924543,34.6703792,7.4239575,0.6552424,0.7170588,10.281886,6.662046,74.6060566,15.5697327,33.3463128,65.0661541,32.5992327,43.6342506,17.9221883,5.1906615,9.9271169,8.3017189,34.4236032,6.887287,0.6804237,0.7320972,10.0616495,6.4995932,73.5559982,16.0452344,32.5408159,65.6665324,33.4141146,44.0298246,18.3397758,5.5884456,10.0934864,8.5551312,33.4459587,6.3071161 +188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6992767,0.7372671,14.2808014,10.7431613,80.9753323,9.6805098,32.9128512,63.7699624,26.7247099,43.1567445,14.3205525,2.7526109,12.0408729,9.8800872,31.4935862,6.6355564,0.6425652,0.6866147,13.8775603,10.5659435,79.1588949,9.6392587,32.659647,64.5536673,27.1692306,43.7783995,14.5330335,2.6555338,11.6430784,9.4483644,30.6939746,7.0069623,0.6144364,0.6233626,12.8710667,9.7126011,77.809692,9.5386401,32.3168755,66.4440488,28.4622393,44.3212546,15.0261496,2.7188837,11.2485003,9.3993528,30.2058019,7.118395,0.5359035,0.5607346,12.2121305,9.0558004,76.6982894,9.5371045,31.4272107,67.0864532,28.8535575,44.7082268,14.9945076,2.6768504,10.6619524,9.4134507,30.092094,6.8482081,0.6259369,0.6355559,11.7851699,8.6870384,75.5948223,9.2910081,31.2924937,67.2653099,29.3371213,44.7580136,15.095008,2.7250028,10.6160737,9.666749,30.5717967,8.68468 +189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.514861,0.4671428,7.2585391,4.9322721,85.6168306,16.5624144,30.3453207,63.2949618,28.0143932,36.7625893,14.5755393,7.3812977,10.2046494,6.8534984,35.3318467,3.927814,0.5566357,0.5095668,7.7157801,5.0711991,85.4621071,16.3153493,29.6480248,63.198972,28.0868633,36.5455609,14.2350241,7.3091145,10.8041556,7.2802167,35.8995593,4.3157904,0.5914474,0.5593467,7.7403456,5.1263452,85.0215763,16.2447302,29.203413,62.66002,28.2645875,36.6856383,14.8364136,7.4679977,10.8826747,7.6817159,36.9745628,4.2797504,0.6338557,0.627525,7.5900541,5.1315055,84.8866796,15.8208579,28.9613671,62.9199256,28.7374085,37.1080699,14.515678,7.4608094,10.2989115,7.7783818,36.6208822,4.2391304,0.6082286,0.6020004,7.5843517,4.9191963,84.7233779,15.8689182,28.7225303,63.3379062,29.0522007,36.5796734,14.4917556,7.4313215,10.1437679,7.7849089,36.1799632,4.3803419 +190,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3739382,1.3083456,20.1033847,15.7980026,29.9859065,22.2649545,35.2655866,69.4165439,38.580881,48.8123266,23.3778374,4.0704021,11.3495368,9.9100333,29.3750934,20.2381113,1.2644652,1.1985671,20.2573551,15.8642013,30.6133064,22.6982176,35.1297143,69.934592,38.2423678,49.095933,22.6837093,4.5946197,9.8789268,9.4692895,28.344123,21.4285894,1.0352755,0.9703194,21.0246499,16.551326,30.5819312,22.6920882,35.9722449,69.3536231,37.6786379,49.1839611,23.116963,4.2966915,10.9890719,9.269437,27.7218373,21.2500177,0.8861493,0.7921321,21.403998,17.276327,31.8494149,22.6228668,35.3760157,68.5964791,36.6791906,49.8294211,22.3621566,3.7327234,11.5056819,9.5799131,29.6063717,18.3760841,0.9290133,0.837464,21.2709036,17.3976027,32.3882723,22.4674009,34.945688,68.6589668,36.7504819,49.500309,22.128554,3.5718792,11.0584194,10.1609905,29.4873599,16.6667344 +191,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.137949,1.1084111,12.9233311,8.2365246,58.9784202,15.4830432,35.5132436,68.7528873,36.9666463,46.4835846,22.3862675,2.2269059,11.6085053,10.9414351,35.5837774,9.5743594,1.2068413,1.1810927,13.4434963,8.3642582,57.5690931,15.874298,35.5026988,68.3033734,37.3824318,45.6057814,22.0628723,2.2321274,11.4617477,10.121497,35.547129,9.3748893,1.0934336,1.0450564,13.4303512,8.668433,56.0217909,16.5897634,35.2953874,68.0081,37.4359501,46.5093808,22.3590214,2.7687248,11.6070508,10.3933175,34.9745554,8.8650219,1.0960886,1.0904755,13.8335504,8.9837416,55.011748,16.9521818,36.2811307,68.4073726,38.1846884,46.1695333,22.6319675,2.6229993,11.5480874,10.5685299,36.1584611,7.5537558,1.1012589,1.0956412,14.0127438,8.9966921,52.8027427,17.6621952,35.9801927,68.9565688,38.5420344,47.4847432,23.124944,2.6315515,11.8722749,10.5463266,35.9467268,6.7374979 +192,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6311906,0.7116031,10.2385706,6.6294559,75.8855843,14.9501898,33.6413131,64.2468965,32.3835492,43.625785,17.7562187,5.0543462,9.3292382,8.0498561,33.9475403,7.025533,0.6101429,0.6757413,10.4908349,6.7944252,75.2827285,15.3223361,33.6780101,64.3765366,32.636345,43.5125715,17.7772771,5.3232213,9.5189829,7.9924543,34.6703792,7.4239575,0.6552424,0.7170588,10.281886,6.662046,74.6060566,15.5697327,33.3463128,65.0661541,32.5992327,43.6342506,17.9221883,5.1906615,9.9271169,8.3017189,34.4236032,6.887287,0.6804237,0.7320972,10.0616495,6.4995932,73.5559982,16.0452344,32.5408159,65.6665324,33.4141146,44.0298246,18.3397758,5.5884456,10.0934864,8.5551312,33.4459587,6.3071161,0.6921649,0.722046,10.0108081,6.573221,72.203597,16.8517051,31.9152868,65.7743963,33.9293606,44.5287679,18.9275047,5.6431298,10.4392405,8.8071469,33.622734,5.258287 +193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6370824,0.6419472,11.8743196,7.6173433,75.5325911,13.1128109,37.6764326,66.6058636,34.5360974,46.1300626,18.5329081,3.7192722,12.0832254,10.5604747,32.5520043,6.7237098,0.5999679,0.6084651,11.7917987,7.3903619,74.057047,13.1169489,37.129482,67.0074362,35.8614676,46.3544065,18.8381605,3.6852099,11.7082891,10.9232313,33.3486528,7.1934113,0.5972348,0.6095222,11.503247,7.081961,72.7931419,13.003816,37.7982297,67.3899033,35.908731,46.7173729,19.0472332,3.578863,11.3512704,10.9682432,33.94759,7.7937834,0.7078807,0.7202465,11.4732109,7.1598575,71.1560298,13.4010018,37.7320263,67.8208121,35.7788591,47.0621499,19.4915155,3.4140458,10.9632995,10.9121666,33.3590201,8.7563639,0.7865241,0.7901855,11.193578,6.788013,69.5304691,13.8678686,37.9735563,68.4574908,36.6841794,47.604269,20.0970967,3.4304343,10.8305904,10.5145246,33.4891263,8.6901928 +194,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6385877,0.5702776,10.8780268,6.7353961,74.530807,10.2561054,30.5361234,64.7863631,34.7085892,42.3703097,18.1923233,4.181361,10.6032153,8.9727358,32.9633522,8.5045076,0.5384739,0.4784891,10.4738373,6.3428973,73.2384575,10.2690558,30.3050569,66.1236886,35.0528524,41.8478549,18.549816,4.3177052,10.5383431,8.8999256,32.770561,6.7132814,0.5021686,0.4426544,10.4591073,6.3163088,72.4226957,10.2361653,29.3894118,66.7444511,35.5655533,42.4022612,18.7835957,4.5235908,10.1834344,8.6563371,32.9838665,6.5315315,0.4653957,0.3986249,10.6320216,6.7018398,72.1810582,10.6031679,28.9312586,66.8221021,35.7359524,42.1304347,19.1675319,4.5022435,10.8081866,8.4446035,33.6907609,5.4824561,0.522711,0.4587576,10.7669028,6.9843394,71.3046301,10.4216638,28.6987045,66.7153564,35.9416455,42.2972213,19.368337,4.4581468,10.8043499,9.0609006,33.636336,5.6561086 +195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5823665,0.5652554,10.1080589,6.1850471,78.2224384,13.5297948,34.0431026,65.7119509,30.1281617,40.7314154,15.1829687,4.0559204,10.2956358,9.1106804,32.0348111,8.1240888,0.4685371,0.4647045,9.3694714,5.6088716,77.268144,13.958383,33.6458114,66.3650732,30.6965769,40.8853212,15.0062986,3.8782782,9.8007707,8.9372879,31.2731774,7.523642,0.4312875,0.4151794,9.1922449,5.3228611,76.6195415,13.7512996,33.1293544,65.6477611,30.4994447,40.7852934,15.1273354,3.959121,9.4932885,8.7104266,31.8254716,7.2489307,0.4622638,0.4492416,9.0727551,5.30558,75.3090028,13.5513245,32.928125,65.6447186,30.3820531,41.805625,15.2793884,3.5903605,8.9575767,8.2921284,31.5939892,7.1746627,0.4197663,0.406871,8.8637093,5.1781696,74.3503361,13.7739175,32.5564466,65.9146242,30.8666428,42.0588765,15.799106,3.7344605,8.7645118,8.3687776,31.650304,6.2202673 +196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7986391,1.7878517,14.4908406,9.7684579,44.344027,18.9869368,34.9611926,67.5769145,38.158907,48.0764657,27.8277576,2.8702906,10.2486643,8.5078829,39.0627655,10.0624061,1.6209048,1.5893269,15.2587312,10.4964145,42.4915666,18.9411746,34.1860939,68.8439961,38.4992298,48.7141351,28.9141287,2.9173875,11.5247494,9.5663245,39.4459169,12.3124809,1.4783444,1.4467763,15.4894371,11.1600663,42.8423146,19.415925,34.0604276,69.3588172,37.4409708,48.7401395,28.5390296,2.7609052,11.5066083,9.8893227,38.7985066,14.9290193,1.4359036,1.3723168,15.4956837,11.3519031,44.2326486,19.0791534,34.2819778,69.7211463,36.6845704,48.3369787,27.0284296,2.574937,11.5570849,10.6342961,40.3945842,16.9183693,1.1893704,1.1577795,15.6352914,11.3034794,44.4967213,18.2074581,33.2129914,69.952854,36.8814161,47.1577608,26.1540411,2.4435047,11.2617436,10.8030833,40.4917994,15.7416129 +197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.328468,1.4253385,21.8784546,16.4583111,22.8956121,14.0262232,36.4165231,62.3838627,31.6656256,48.6996257,23.2305691,4.6121593,14.532572,11.5817967,34.3148707,20.2519887,1.2962873,1.3915965,21.778056,16.2011918,23.9709847,14.5174276,36.7351238,60.9178275,31.3401666,48.2476556,22.4969714,4.4771476,15.7047682,11.8473896,34.5265516,20.8844867,1.2832723,1.3789678,22.0232997,16.7199403,24.7354458,15.7384285,37.7121047,61.8859112,31.682543,48.9893674,23.5873442,4.7732969,15.6162985,12.2441259,34.265948,19.379411,1.2370812,1.3311543,22.0706084,16.9289649,25.2667212,16.0386187,37.5586204,62.0501083,31.9703118,49.0101078,24.0253791,4.5749582,16.1469123,12.4282325,33.7762031,21.7944247,1.286036,1.3281867,21.3787282,16.645784,27.2683291,15.659225,36.6981398,62.1569676,32.2568676,49.2649239,24.0230225,4.4687455,15.616621,12.123399,33.7172743,18.8458059 +198,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5384739,0.4784891,10.4738373,6.3428973,73.2384575,10.2690558,30.3050569,66.1236886,35.0528524,41.8478549,18.549816,4.3177052,10.5383431,8.8999256,32.770561,6.7132814,0.5021686,0.4426544,10.4591073,6.3163088,72.4226957,10.2361653,29.3894118,66.7444511,35.5655533,42.4022612,18.7835957,4.5235908,10.1834344,8.6563371,32.9838665,6.5315315,0.4653957,0.3986249,10.6320216,6.7018398,72.1810582,10.6031679,28.9312586,66.8221021,35.7359524,42.1304347,19.1675319,4.5022435,10.8081866,8.4446035,33.6907609,5.4824561,0.522711,0.4587576,10.7669028,6.9843394,71.3046301,10.4216638,28.6987045,66.7153564,35.9416455,42.2972213,19.368337,4.4581468,10.8043499,9.0609006,33.636336,5.6561086,0.491196,0.4231798,10.6404204,6.851898,70.185165,10.5850732,28.1844284,67.0283496,35.2792464,42.2662801,18.9227737,4.3349278,10.2496699,8.8353286,32.8096417,3.9170507 +199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4055632,0.3644038,8.0390688,5.6050651,86.0028096,18.7456894,33.1335847,63.8184057,24.0582033,37.9622768,9.8116475,6.2499914,12.4081684,10.2692578,34.2063569,2.6984127,0.4596268,0.4183511,7.8622668,5.498448,85.1186207,18.8915942,32.4125216,64.327309,24.9313574,39.069957,9.8661807,6.3314922,12.13787,10.2332183,33.7134789,2.3584906,0.4518231,0.3944535,7.7146622,5.3540782,84.6913727,18.9884724,31.5527627,64.805866,25.8845828,39.5224673,10.4259869,6.4754269,12.4048066,10.3701208,33.8159796,2.9780564,0.3928242,0.3283009,7.4375873,5.2877828,84.7085294,18.7005301,31.4410282,66.0589943,26.232671,39.6354209,10.6771132,6.3368097,12.0269531,9.896857,34.3405225,3.0844106,0.3247154,0.2924553,7.1031584,4.9496215,84.1316932,19.1685116,31.1478959,65.5478176,26.3478571,39.8435065,10.8000221,5.7217406,11.1803641,8.8003064,34.0319786,3.1456902 +200,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2068413,1.1810927,13.4434963,8.3642582,57.5690931,15.874298,35.5026988,68.3033734,37.3824318,45.6057814,22.0628723,2.2321274,11.4617477,10.121497,35.547129,9.3748893,1.0934336,1.0450564,13.4303512,8.668433,56.0217909,16.5897634,35.2953874,68.0081,37.4359501,46.5093808,22.3590214,2.7687248,11.6070508,10.3933175,34.9745554,8.8650219,1.0960886,1.0904755,13.8335504,8.9837416,55.011748,16.9521818,36.2811307,68.4073726,38.1846884,46.1695333,22.6319675,2.6229993,11.5480874,10.5685299,36.1584611,7.5537558,1.1012589,1.0956412,14.0127438,8.9966921,52.8027427,17.6621952,35.9801927,68.9565688,38.5420344,47.4847432,23.124944,2.6315515,11.8722749,10.5463266,35.9467268,6.7374979,1.1183242,1.1128705,13.4303413,8.2734668,52.4192747,17.7834142,35.1086972,69.3789459,38.3726968,48.0277995,22.6877836,2.6519059,11.3749628,10.2508406,36.176179,7.553821 +201,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8201539,0.8607739,18.9274156,14.7073625,35.9919531,18.2278585,37.9698892,65.220105,39.0952448,50.4677193,25.0321972,3.7821485,13.1130727,10.1607145,33.2298677,11.0654434,0.7623013,0.79204,19.157138,15.032675,36.1791625,19.0552121,37.98827,64.7085049,38.4380729,49.6133779,24.436754,3.6292605,12.6746037,10.2525499,31.8739218,9.0541628,0.9733498,1.0177724,19.5132585,15.1693757,36.81522,19.147588,37.8595349,65.0153893,38.3667124,49.6772626,24.5683505,3.2273169,12.5971564,10.8961042,31.7357004,9.5735583,1.0279927,1.0579052,19.5229303,16.0020992,36.8940517,18.6467629,38.8630993,64.231495,38.8591132,50.3855621,24.3107989,3.1876017,12.8503545,11.3999723,31.9083247,9.3275438,1.1265934,1.1562666,20.2207658,16.7831175,37.2588765,17.7513607,38.770099,64.0371337,38.1280733,50.1896318,24.3463433,3.2228605,12.5325911,10.8405483,32.3381835,11.2309237 +202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6186629,0.6366722,13.2535523,8.1214353,51.4766129,12.8956662,37.3385899,66.2586552,37.81966,45.8273865,24.3904522,2.9130823,14.7086299,14.5091911,40.0232574,8.878513,0.7300229,0.7474658,12.3973725,7.540665,49.4985199,13.3544989,36.8993662,65.9886219,38.3433679,46.649328,24.9863464,3.1200598,15.2103269,13.5789374,40.0708351,8.3333399,0.6822961,0.7633643,12.1235276,7.3762085,48.7631674,14.5227173,38.0866482,65.8844845,39.9948241,48.4528095,25.6059623,3.4295851,15.7670624,14.8482329,40.619067,6.0000048,0.7536953,0.8249881,12.047881,7.2083506,46.9863787,14.2893436,36.9084422,67.6697658,40.6635529,49.0997936,25.9516133,3.4722093,15.0704348,14.2521476,39.707288,7.6612965,0.8030882,0.87479,11.6581506,7.423459,44.7702133,15.3233975,36.8652904,68.31607,41.4766506,50.5958527,25.9326055,3.6528363,14.5673173,13.3429961,38.964182,9.3495935 +203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4685371,0.4647045,9.3694714,5.6088716,77.268144,13.958383,33.6458114,66.3650732,30.6965769,40.8853212,15.0062986,3.8782782,9.8007707,8.9372879,31.2731774,7.523642,0.4312875,0.4151794,9.1922449,5.3228611,76.6195415,13.7512996,33.1293544,65.6477611,30.4994447,40.7852934,15.1273354,3.959121,9.4932885,8.7104266,31.8254716,7.2489307,0.4622638,0.4492416,9.0727551,5.30558,75.3090028,13.5513245,32.928125,65.6447186,30.3820531,41.805625,15.2793884,3.5903605,8.9575767,8.2921284,31.5939892,7.1746627,0.4197663,0.406871,8.8637093,5.1781696,74.3503361,13.7739175,32.5564466,65.9146242,30.8666428,42.0588765,15.799106,3.7344605,8.7645118,8.3687776,31.650304,6.2202673,0.4395812,0.3835622,8.7182706,5.2722249,73.686939,14.082344,31.8788593,66.0471011,31.0879899,42.5062911,16.3360755,3.948796,8.2974313,7.9453945,32.0216578,7.2535922 +204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5089621,0.5666776,10.6861874,7.4234236,70.4683635,14.0104393,36.4108314,65.8066377,30.6654004,45.3398632,16.3392092,4.0194721,10.6456176,8.7133789,29.6731621,4.9981389,0.5039569,0.539917,10.8400288,7.6579655,68.1748943,13.7649955,35.4880767,66.171603,32.0716586,45.8234141,16.8346222,4.196787,10.3143125,8.5252701,29.4058026,5.3653189,0.5399377,0.5762382,10.995881,7.7785608,65.6683065,13.9238029,34.2726143,66.9665774,32.859393,46.38199,17.2179294,4.237955,10.1170184,9.2448129,29.4827111,6.942007,0.5228243,0.5592646,11.2085702,7.7912504,63.5438203,13.95499,34.110443,67.4150705,33.0572207,46.1839292,17.7695361,4.28739,10.1730761,8.8332399,29.1529753,7.0596302,0.6247357,0.6620539,10.9611295,7.5977235,61.3170055,14.2856378,34.9342595,66.846576,33.3761633,46.5455636,18.4427733,4.2375244,11.001345,9.6533899,29.5413185,5.3053923 +205,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5039233,0.5143893,8.2314513,5.1694562,87.6428021,6.6262688,27.1522546,61.1413661,25.3168951,35.2532526,11.620706,5.0455904,10.3706317,9.2160688,37.5901359,3.1224655,0.5534378,0.5551855,8.384555,5.2173072,87.5254518,6.3711446,26.6603773,61.8840621,26.0532791,35.679084,11.7398831,5.1424276,10.1415851,9.1873397,37.354849,3.5150079,0.5391994,0.5355162,8.1942885,5.1322718,87.2050352,6.280104,26.2399821,62.8326148,26.6773888,36.0181945,11.8725472,5.0447644,10.1094866,9.533973,36.954866,3.4336343,0.5415858,0.5646662,8.2818414,5.1851859,86.8918292,6.2932224,26.4568704,63.1518601,26.6660618,36.1161081,12.0236838,5.0835899,10.0249732,9.3281073,37.1352366,3.9360784,0.5250302,0.5525296,8.3325962,5.199694,86.4228407,6.3983522,26.7863669,63.4292536,27.5256504,36.8881476,12.3688979,5.194209,10.0167823,9.1659818,37.3967514,4.1312649 +206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4425411,0.4931359,11.552905,8.067186,85.3212452,10.9478456,29.6652866,62.0737111,24.2003625,39.4725303,11.5335602,4.4164356,12.5906496,10.1217802,31.1567632,3.0973433,0.4588556,0.5212692,11.628651,7.9443135,85.2083804,10.8909616,29.8228566,62.2385914,24.8719584,39.2978819,11.7050614,4.3427199,12.804097,10.7202323,31.0967941,3.5714276,0.4561865,0.5236472,11.3589061,7.820359,84.825733,11.1973121,29.4677396,63.8841264,25.5771834,40.1560587,11.7678704,4.2218921,12.8435366,11.2560417,30.9831158,3.7500104,0.4493799,0.5363885,10.7016342,7.402386,84.4604935,11.5093114,28.7611806,64.3752641,26.50872,40.4271197,11.5703605,4.366771,12.3079738,11.6566589,31.3618315,3.8563932,0.4043226,0.4392619,10.4451,7.1231036,84.6887638,11.4923808,28.8445444,64.3088579,26.1015432,39.9027826,11.1555477,4.3520538,12.7916199,11.5542817,30.9289751,4.0502906 +207,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4588556,0.5212692,11.628651,7.9443135,85.2083804,10.8909616,29.8228566,62.2385914,24.8719584,39.2978819,11.7050614,4.3427199,12.804097,10.7202323,31.0967941,3.5714276,0.4561865,0.5236472,11.3589061,7.820359,84.825733,11.1973121,29.4677396,63.8841264,25.5771834,40.1560587,11.7678704,4.2218921,12.8435366,11.2560417,30.9831158,3.7500104,0.4493799,0.5363885,10.7016342,7.402386,84.4604935,11.5093114,28.7611806,64.3752641,26.50872,40.4271197,11.5703605,4.366771,12.3079738,11.6566589,31.3618315,3.8563932,0.4043226,0.4392619,10.4451,7.1231036,84.6887638,11.4923808,28.8445444,64.3088579,26.1015432,39.9027826,11.1555477,4.3520538,12.7916199,11.5542817,30.9289751,4.0502906,0.4132773,0.4378913,10.700474,7.3814878,84.2239545,11.5159749,29.259532,64.6898024,27.0533129,40.0283235,11.4569869,4.7291438,12.3262082,11.4315276,30.6001023,5.124685 +208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5858108,0.5966298,11.5263081,7.8070018,65.7086088,14.9646613,34.26988,68.5218322,35.1288449,44.0407921,19.4166168,2.6306386,9.5904576,8.3560721,33.3907764,6.3043341,0.6264651,0.6372074,11.9006115,8.0090189,64.5572011,15.5263106,34.3106011,69.7050429,36.1940254,44.331891,19.8471927,2.7540848,9.7736758,8.5274045,32.7670069,5.3879194,0.6943176,0.7053223,11.470996,7.5339866,62.6649532,15.9490376,33.6178833,69.7239199,36.7780521,45.0599104,20.8681455,3.1420249,9.3990354,8.3508112,33.133397,6.7099451,0.687097,0.6898391,11.6755678,7.3261876,61.5595395,15.4464115,33.1584734,69.8082321,36.6316979,45.4956384,21.0021765,3.0209782,9.3031534,8.0600259,33.3919962,7.6388783,0.6574025,0.6712177,11.5039434,6.8018564,60.3258907,15.25635,33.4842592,69.8116462,36.9974772,45.1466723,20.880119,3.1329212,9.1752695,8.0922925,32.5573485,8.0096932 +209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7845703,0.7615124,14.3510465,9.7426793,64.5340657,12.3226857,36.180103,65.7859364,33.7601467,43.9968246,23.4624859,3.8358831,12.7896076,10.403678,40.2726882,7.7142901,0.8017377,0.7788043,14.7629107,9.7509612,62.816763,11.9950604,35.6102063,66.5070279,34.4792181,43.7233261,24.1974294,3.8299669,13.1926754,11.4424098,42.0704078,7.712766,0.9163221,0.9048291,14.8493784,9.874709,61.7389886,12.2589293,35.4607233,67.5615492,34.2660322,43.6061845,24.0852016,4.0255845,13.2523476,11.1949777,42.195332,7.9896907,0.8371689,0.8025304,13.7719247,9.2063653,60.6107302,12.206582,36.0030169,67.910424,35.222238,43.8531239,24.5517556,3.9819143,12.99855,10.7933951,41.3744518,7.9234973,0.7530595,0.7644478,13.6441143,9.1868686,59.2544954,13.0306173,35.9926997,68.0865062,35.5805698,44.5346454,24.6078914,3.8893733,13.211797,11.2171407,42.0647212,8.5051075 +210,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8326153,0.8117713,17.5050151,13.899044,27.8534506,19.6748358,35.5685333,65.3176118,37.8052825,47.8039424,23.1436113,3.4812883,10.7149163,9.2340086,35.3228691,18.6132303,0.8833624,0.8518071,18.3469048,14.472414,27.644379,19.5887378,36.3204571,65.2685248,37.2973851,47.3097845,22.615546,3.6264005,11.174155,9.2336914,35.6630753,19.7987654,0.9875409,0.9177058,18.6709105,14.7784707,28.2678698,20.1025264,36.5494521,65.2415448,36.9819166,47.5270881,22.2884341,3.2603281,11.2503808,9.0438504,36.049156,19.5652795,0.9677035,0.9003383,19.0142995,15.2981557,28.8557892,19.9705755,36.474197,65.2168374,37.5701498,47.648984,22.0369799,3.2400969,11.3534425,8.9769091,36.4472962,18.4849091,1.1302872,1.0176315,18.5689052,15.2734011,29.3616748,19.9961883,36.2010647,64.2296777,37.3226599,46.4241199,21.2527369,3.0559349,11.9633995,8.7885485,36.0455852,18.263522 +211,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.712828,1.8586006,25.4276827,21.3841369,55.2464229,7.6388889,34.5496894,66.8478261,28.1832298,44.1770186,15.4503106,5.5124224,17.6751592,11.6242038,35.3225806,9.9137931,1.8041237,1.9513991,25.9811617,21.899529,52.8892456,8.1395349,34.1940532,67.057903,29.1862285,45.9311424,15.8841941,5.399061,18.1372549,12.5816993,35.8085809,9.4262295,1.8494152,1.995614,25.3488372,20.8527132,52.8044872,7.7453988,34.1860465,64.5736434,28.1395349,42.8682171,16.0465116,5.1937984,16.7711599,11.1285266,36.2341772,11.25,1.9111111,2.0592593,26.0497667,21.3841369,54.2003231,6.8885449,34.6698113,64.5440252,28.5377358,43.4748428,16.745283,4.7955975,16.7692308,11.5384615,36.4906832,10.3305785,2.1310241,2.2816265,26.2779553,21.3258786,54.6875,7.8199052,35.1674641,65.1515152,28.3094099,45.5342903,17.7830941,5.8213716,15.0621118,11.0248447,35.5590062,10.2459016 +212,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2644652,1.1985671,20.2573551,15.8642013,30.6133064,22.6982176,35.1297143,69.934592,38.2423678,49.095933,22.6837093,4.5946197,9.8789268,9.4692895,28.344123,21.4285894,1.0352755,0.9703194,21.0246499,16.551326,30.5819312,22.6920882,35.9722449,69.3536231,37.6786379,49.1839611,23.116963,4.2966915,10.9890719,9.269437,27.7218373,21.2500177,0.8861493,0.7921321,21.403998,17.276327,31.8494149,22.6228668,35.3760157,68.5964791,36.6791906,49.8294211,22.3621566,3.7327234,11.5056819,9.5799131,29.6063717,18.3760841,0.9290133,0.837464,21.2709036,17.3976027,32.3882723,22.4674009,34.945688,68.6589668,36.7504819,49.500309,22.128554,3.5718792,11.0584194,10.1609905,29.4873599,16.6667344,0.9630531,0.9332506,21.3591108,17.5326786,33.186441,22.1246907,34.7933944,68.0615954,36.7306095,49.3568309,22.4316372,3.1394326,10.2709277,9.1317778,28.4138032,20.2380792 +213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4596268,0.4183511,7.8622668,5.498448,85.1186207,18.8915942,32.4125216,64.327309,24.9313574,39.069957,9.8661807,6.3314922,12.13787,10.2332183,33.7134789,2.3584906,0.4518231,0.3944535,7.7146622,5.3540782,84.6913727,18.9884724,31.5527627,64.805866,25.8845828,39.5224673,10.4259869,6.4754269,12.4048066,10.3701208,33.8159796,2.9780564,0.3928242,0.3283009,7.4375873,5.2877828,84.7085294,18.7005301,31.4410282,66.0589943,26.232671,39.6354209,10.6771132,6.3368097,12.0269531,9.896857,34.3405225,3.0844106,0.3247154,0.2924553,7.1031584,4.9496215,84.1316932,19.1685116,31.1478959,65.5478176,26.3478571,39.8435065,10.8000221,5.7217406,11.1803641,8.8003064,34.0319786,3.1456902,0.3637307,0.3316166,7.2516389,4.9671012,84.9788599,18.9911602,31.1894311,65.0311944,26.543017,39.7191722,10.5929454,5.6692091,10.982883,8.5932723,34.2790693,4.5762634 +214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4077502,0.4290242,8.4913248,5.5062496,83.8955205,17.9420019,31.8582242,60.1722067,24.2490958,35.382454,11.0732902,5.3063687,10.3884113,8.7212927,34.0049598,5.6818208,0.5090211,0.5339603,8.7368823,5.7506025,82.6773307,18.209131,31.5313488,60.9927655,24.9799005,35.8319887,11.274118,5.3255638,10.2103135,8.4751543,34.4133676,5.2272751,0.3926791,0.4448953,8.2896343,5.344898,81.2120027,18.9312632,31.0669845,61.9133593,25.9326075,37.2041656,11.5724046,5.3549948,10.7196978,8.9217926,34.9621239,4.2035417,0.3697758,0.4583895,8.0912042,5.1856346,80.6445068,18.9785339,30.74297,61.0642572,25.0803223,37.3694734,12.0682715,5.4016075,10.6231255,9.2105209,34.8496244,3.4246575,0.390347,0.4655619,7.9166689,4.900795,79.5346045,19.1842285,31.27222,60.9442934,25.701306,37.1592226,12.4654277,5.7092072,10.134632,8.9446053,35.2213058,2.4886878 +215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4518231,0.3944535,7.7146622,5.3540782,84.6913727,18.9884724,31.5527627,64.805866,25.8845828,39.5224673,10.4259869,6.4754269,12.4048066,10.3701208,33.8159796,2.9780564,0.3928242,0.3283009,7.4375873,5.2877828,84.7085294,18.7005301,31.4410282,66.0589943,26.232671,39.6354209,10.6771132,6.3368097,12.0269531,9.896857,34.3405225,3.0844106,0.3247154,0.2924553,7.1031584,4.9496215,84.1316932,19.1685116,31.1478959,65.5478176,26.3478571,39.8435065,10.8000221,5.7217406,11.1803641,8.8003064,34.0319786,3.1456902,0.3637307,0.3316166,7.2516389,4.9671012,84.9788599,18.9911602,31.1894311,65.0311944,26.543017,39.7191722,10.5929454,5.6692091,10.982883,8.5932723,34.2790693,4.5762634,0.3607023,0.3292687,7.3879102,4.8743169,85.0568034,19.2113745,30.6683775,64.4220806,26.1677326,39.976144,10.3818667,6.0859089,10.8566192,8.1721406,34.2424533,4.5607954 +216,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7126293,0.6831872,12.5070225,7.6934526,66.1678197,14.6533431,35.1706194,67.4232191,34.5785418,43.2902465,21.5252546,3.594609,11.1377893,10.1337758,35.1949503,4.9020738,0.7075693,0.6779909,12.160721,7.3468445,65.8002163,15.2667416,35.3818288,67.9110289,34.9276455,43.6988009,21.5299817,3.4771743,10.6971658,9.5585188,35.6409863,5.8052848,0.6977155,0.6684158,12.4030371,7.4141191,64.5899404,15.6690165,34.7405526,68.4013299,34.8807927,43.6889794,22.0618206,3.5203529,10.6310151,9.2968767,35.6188456,5.5160908,0.6454889,0.6921476,12.0610181,7.4780897,63.2044821,16.1098721,34.9143496,68.4044926,35.3014643,44.4277653,22.2208794,3.4983714,10.664316,9.5624165,36.0573994,5.272804,0.6997182,0.7767198,11.9962675,7.2304357,62.3240827,16.4654815,34.7893596,68.6773022,35.4548558,45.0777159,22.0329228,3.5635404,10.3187101,8.7310964,35.3639793,6.0137932 +217,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7036857,0.7203832,15.1671272,10.2646271,69.9444515,15.7555965,40.2241771,66.6146614,34.6623084,47.4035066,21.0414447,3.0221376,11.556807,9.5726148,34.8233715,9.4936669,0.6735279,0.6903698,14.4163082,9.6343189,68.8651409,15.8687017,39.5684361,68.3481062,35.3672298,47.284927,21.3060972,2.8722522,11.4766071,9.5853649,34.1731865,10.7594846,0.6669325,0.6755995,14.1122258,9.282527,67.657171,15.6821458,39.053661,67.9802345,35.7203277,48.206209,21.5113136,2.6694972,10.9658419,9.4284178,34.557637,10.6522081,0.7082089,0.7342777,13.6781965,8.9375437,66.8249645,16.1303993,38.7485742,67.8348601,36.2230433,48.8791117,21.4670966,2.9937603,10.1222184,8.6390248,33.733335,9.7510707,0.6945068,0.7031964,13.4422194,8.8358543,65.9901737,16.5679658,38.5390088,67.9574647,36.3262401,48.5532043,21.2907966,3.0212822,10.6762616,9.4083159,34.0556426,10.2510793 +218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4818535,0.4689404,12.2731622,9.01882,86.2470575,9.5664844,30.1405383,60.5813229,21.1602062,37.9539114,9.8465146,3.4824783,14.725197,11.7975961,31.3746585,9.6025791,0.470866,0.4908212,12.1701978,8.6831721,85.9941119,8.8879173,29.4982497,60.6834457,21.684109,37.9515391,9.7498715,3.5340729,14.5918834,11.9240848,31.3781804,8.1325105,0.4868356,0.5175248,12.2204693,8.6312791,85.6824721,8.4748005,29.4935997,62.2563292,21.9302527,38.329287,10.1964267,3.8700529,14.3913309,11.5986535,32.2584681,7.3529758,0.4557991,0.4907363,12.0084588,8.4655617,85.4526115,8.6232143,29.9245168,63.0707596,23.1432392,38.6235087,10.9021774,4.0513733,13.5471639,11.251286,33.6327527,8.2386691,0.4571545,0.480992,11.6235754,8.3025653,84.8084305,8.772988,29.9643603,63.5061115,23.6740391,39.0287264,10.8541726,3.6066713,13.8574584,11.3271852,34.6503963,8.4699731 +219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6911114,0.7630377,12.4129832,8.5073974,57.6676844,14.963946,38.8240381,66.391163,37.5302562,48.5580218,22.4194132,2.9139896,12.1938937,10.2662334,34.9967542,6.0897436,0.7941656,0.8618627,12.5886037,8.5578695,57.1094891,14.6190063,37.9753529,65.7556697,37.625528,48.6691045,22.2756305,2.9692717,11.2078237,9.7535139,34.8561484,6.9570103,0.8229176,0.9146279,12.4190932,8.2866971,55.6385242,15.9964392,36.6427828,66.6356143,38.1679877,48.4436947,21.7470593,3.0723747,11.1301504,9.4357675,34.3887148,8.4413566,0.7579011,0.8240586,12.2456933,8.0362775,53.8061175,16.4625244,35.2164788,67.4798415,38.4917713,49.4654098,21.6173808,3.2265968,11.4032907,9.8134492,34.5600015,9.2855016,0.7750411,0.7777058,12.6107951,8.0066192,52.7700552,16.699258,34.3733927,67.5108818,38.7907337,50.2104406,21.6655941,3.1153363,11.7996009,9.8477544,33.7007395,9.8256502 +220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7623013,0.79204,19.157138,15.032675,36.1791625,19.0552121,37.98827,64.7085049,38.4380729,49.6133779,24.436754,3.6292605,12.6746037,10.2525499,31.8739218,9.0541628,0.9733498,1.0177724,19.5132585,15.1693757,36.81522,19.147588,37.8595349,65.0153893,38.3667124,49.6772626,24.5683505,3.2273169,12.5971564,10.8961042,31.7357004,9.5735583,1.0279927,1.0579052,19.5229303,16.0020992,36.8940517,18.6467629,38.8630993,64.231495,38.8591132,50.3855621,24.3107989,3.1876017,12.8503545,11.3999723,31.9083247,9.3275438,1.1265934,1.1562666,20.2207658,16.7831175,37.2588765,17.7513607,38.770099,64.0371337,38.1280733,50.1896318,24.3463433,3.2228605,12.5325911,10.8405483,32.3381835,11.2309237,1.2015528,1.2459816,19.871036,16.491607,37.7380709,18.1916519,39.4711064,63.5896792,38.3841993,50.0629298,24.8573031,3.2229078,13.0368725,11.3280452,32.0063384,12.7575825 +221,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5534378,0.5551855,8.384555,5.2173072,87.5254518,6.3711446,26.6603773,61.8840621,26.0532791,35.679084,11.7398831,5.1424276,10.1415851,9.1873397,37.354849,3.5150079,0.5391994,0.5355162,8.1942885,5.1322718,87.2050352,6.280104,26.2399821,62.8326148,26.6773888,36.0181945,11.8725472,5.0447644,10.1094866,9.533973,36.954866,3.4336343,0.5415858,0.5646662,8.2818414,5.1851859,86.8918292,6.2932224,26.4568704,63.1518601,26.6660618,36.1161081,12.0236838,5.0835899,10.0249732,9.3281073,37.1352366,3.9360784,0.5250302,0.5525296,8.3325962,5.199694,86.4228407,6.3983522,26.7863669,63.4292536,27.5256504,36.8881476,12.3688979,5.194209,10.0167823,9.1659818,37.3967514,4.1312649,0.5035385,0.5215776,8.214142,5.0896511,86.4602141,6.3817358,26.7754998,62.9879394,27.476031,36.9012518,12.4590293,5.2225444,9.9971493,8.9911402,37.2234118,4.1858586 +222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4561865,0.5236472,11.3589061,7.820359,84.825733,11.1973121,29.4677396,63.8841264,25.5771834,40.1560587,11.7678704,4.2218921,12.8435366,11.2560417,30.9831158,3.7500104,0.4493799,0.5363885,10.7016342,7.402386,84.4604935,11.5093114,28.7611806,64.3752641,26.50872,40.4271197,11.5703605,4.366771,12.3079738,11.6566589,31.3618315,3.8563932,0.4043226,0.4392619,10.4451,7.1231036,84.6887638,11.4923808,28.8445444,64.3088579,26.1015432,39.9027826,11.1555477,4.3520538,12.7916199,11.5542817,30.9289751,4.0502906,0.4132773,0.4378913,10.700474,7.3814878,84.2239545,11.5159749,29.259532,64.6898024,27.0533129,40.0283235,11.4569869,4.7291438,12.3262082,11.4315276,30.6001023,5.124685,0.4060473,0.4435506,10.3869667,7.1115,84.0293952,11.4892916,28.4776462,64.5114256,26.3632074,39.8508003,11.2730666,4.551555,11.6022351,10.8181381,30.989126,5.4622522 +223,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0120886,0.9429256,17.6288548,14.0352499,35.3467933,18.2816255,31.4585929,67.7275003,35.6241484,47.2216344,22.6006977,2.7457098,12.9320095,12.2070852,37.1771599,17.562661,1.1129286,1.0329046,18.1815112,14.6620671,35.3663283,17.8601794,30.7658362,66.6391858,34.7274303,46.7923843,21.6354309,2.5331971,13.1235983,12.4214588,38.0105361,16.9516818,1.1249309,1.0363513,19.2045847,15.3355336,34.9848038,18.5306069,30.8054142,65.9610894,34.5428799,47.21507,20.9359657,2.5403445,13.8641543,13.1188968,37.5469003,17.405785,1.0968197,1.0129079,20.371375,16.5942056,34.0985958,18.7493542,30.6208472,66.3771453,34.7294723,47.7769984,20.8488001,2.6928515,14.4220641,13.9418445,38.1091124,14.7954539,1.2184068,1.1734354,20.5802958,17.4345661,34.6414407,19.0500258,30.6325508,65.2719215,34.5052494,46.6073277,20.5202874,2.7701014,13.2498084,13.4532409,38.7792618,16.5341859 +224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5090211,0.5339603,8.7368823,5.7506025,82.6773307,18.209131,31.5313488,60.9927655,24.9799005,35.8319887,11.274118,5.3255638,10.2103135,8.4751543,34.4133676,5.2272751,0.3926791,0.4448953,8.2896343,5.344898,81.2120027,18.9312632,31.0669845,61.9133593,25.9326075,37.2041656,11.5724046,5.3549948,10.7196978,8.9217926,34.9621239,4.2035417,0.3697758,0.4583895,8.0912042,5.1856346,80.6445068,18.9785339,30.74297,61.0642572,25.0803223,37.3694734,12.0682715,5.4016075,10.6231255,9.2105209,34.8496244,3.4246575,0.390347,0.4655619,7.9166689,4.900795,79.5346045,19.1842285,31.27222,60.9442934,25.701306,37.1592226,12.4654277,5.7092072,10.134632,8.9446053,35.2213058,2.4886878,0.3767887,0.4516817,8.1331255,4.8247355,78.6054856,18.7037724,31.4573443,60.6042655,25.8886268,37.1445492,12.4210096,5.6279632,9.794573,8.847278,35.5726877,2.4553571 +225,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8017377,0.7788043,14.7629107,9.7509612,62.816763,11.9950604,35.6102063,66.5070279,34.4792181,43.7233261,24.1974294,3.8299669,13.1926754,11.4424098,42.0704078,7.712766,0.9163221,0.9048291,14.8493784,9.874709,61.7389886,12.2589293,35.4607233,67.5615492,34.2660322,43.6061845,24.0852016,4.0255845,13.2523476,11.1949777,42.195332,7.9896907,0.8371689,0.8025304,13.7719247,9.2063653,60.6107302,12.206582,36.0030169,67.910424,35.222238,43.8531239,24.5517556,3.9819143,12.99855,10.7933951,41.3744518,7.9234973,0.7530595,0.7644478,13.6441143,9.1868686,59.2544954,13.0306173,35.9926997,68.0865062,35.5805698,44.5346454,24.6078914,3.8893733,13.211797,11.2171407,42.0647212,8.5051075,0.8561185,0.8675904,12.8109954,8.5656313,57.9113526,13.5653385,36.6589316,68.6269026,36.6071931,44.5120278,24.7097276,3.543372,11.9674667,10.08939,41.3287588,9.4594105 +226,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5391994,0.5355162,8.1942885,5.1322718,87.2050352,6.280104,26.2399821,62.8326148,26.6773888,36.0181945,11.8725472,5.0447644,10.1094866,9.533973,36.954866,3.4336343,0.5415858,0.5646662,8.2818414,5.1851859,86.8918292,6.2932224,26.4568704,63.1518601,26.6660618,36.1161081,12.0236838,5.0835899,10.0249732,9.3281073,37.1352366,3.9360784,0.5250302,0.5525296,8.3325962,5.199694,86.4228407,6.3983522,26.7863669,63.4292536,27.5256504,36.8881476,12.3688979,5.194209,10.0167823,9.1659818,37.3967514,4.1312649,0.5035385,0.5215776,8.214142,5.0896511,86.4602141,6.3817358,26.7754998,62.9879394,27.476031,36.9012518,12.4590293,5.2225444,9.9971493,8.9911402,37.2234118,4.1858586,0.5232829,0.5534701,8.2124876,5.0617608,86.1536906,6.2577746,27.1688137,62.7337802,27.898869,37.0953937,12.648028,5.3279843,9.6942436,8.5740381,37.3863082,3.9953362 +227,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8127591,0.8215747,13.0929054,9.1073943,67.8766639,10.9057406,32.9905759,67.2455203,37.1712949,45.9710378,18.8638138,4.9393212,9.9369248,10.056763,33.3016771,11.1872708,0.7079175,0.6947652,12.5167707,8.5958569,66.0967374,11.6188574,32.5879572,67.4462798,37.2994257,45.93723,18.8631085,4.933432,9.6784734,9.2283118,33.6222613,10.0000044,0.882871,0.8880794,12.45027,8.5273567,64.3485119,11.9396437,33.294535,67.6132188,37.2569276,45.8198531,18.9223053,4.9530453,10.1520113,9.46222,33.0264623,11.8834134,0.9811014,0.97092,12.7721042,8.714892,63.0008961,11.9531805,32.8475536,68.2369373,37.8000697,47.1476284,19.4330246,5.1985399,10.4149814,9.7991599,33.2809653,11.8534483,0.8919606,0.871994,12.1461866,8.3256299,61.7482938,11.5352572,31.8308405,68.4290424,38.0589247,47.4974488,19.0214541,5.3131665,10.2944372,9.8896246,33.0998032,10.7305936 +228,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5415858,0.5646662,8.2818414,5.1851859,86.8918292,6.2932224,26.4568704,63.1518601,26.6660618,36.1161081,12.0236838,5.0835899,10.0249732,9.3281073,37.1352366,3.9360784,0.5250302,0.5525296,8.3325962,5.199694,86.4228407,6.3983522,26.7863669,63.4292536,27.5256504,36.8881476,12.3688979,5.194209,10.0167823,9.1659818,37.3967514,4.1312649,0.5035385,0.5215776,8.214142,5.0896511,86.4602141,6.3817358,26.7754998,62.9879394,27.476031,36.9012518,12.4590293,5.2225444,9.9971493,8.9911402,37.2234118,4.1858586,0.5232829,0.5534701,8.2124876,5.0617608,86.1536906,6.2577746,27.1688137,62.7337802,27.898869,37.0953937,12.648028,5.3279843,9.6942436,8.5740381,37.3863082,3.9953362,0.4884293,0.5127687,8.1212879,4.9168153,85.8231814,6.4290451,27.0085477,62.564713,28.0205013,36.9778241,12.7935482,5.5715127,9.8440927,8.4268179,37.3558564,3.7250301 +229,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5446291,0.5585896,11.6422337,7.6410113,68.4154045,8.0601645,30.2958375,68.6439818,37.6464066,39.9283138,18.0583624,4.0337246,10.4735593,8.2138114,35.8037837,6.2652061,0.5257374,0.5412162,11.3258275,7.3797929,67.6165769,8.4701085,30.3895963,68.6364103,37.9506015,39.9989979,18.0690863,4.1520243,10.5118006,8.4382215,35.8514119,6.1455833,0.4845334,0.4962492,11.1943338,7.2505858,66.2524268,8.4693981,30.8490167,68.8878746,37.8617723,40.4321002,18.513461,4.1438991,10.1791262,8.1772606,35.7517523,5.4899639,0.4688928,0.4764697,11.0948226,7.0612613,65.4443065,8.6872405,29.9558796,68.7807052,37.9374327,40.724957,19.1366698,4.0760062,10.0441307,8.1296939,35.7779513,5.8789283,0.5118506,0.5162937,11.2650156,7.2137816,63.9607771,9.0772071,29.8201652,68.9023181,38.7136417,41.5536535,19.9931215,4.2501984,10.1655091,8.262676,35.607212,5.6896552 +230,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7079175,0.6947652,12.5167707,8.5958569,66.0967374,11.6188574,32.5879572,67.4462798,37.2994257,45.93723,18.8631085,4.933432,9.6784734,9.2283118,33.6222613,10.0000044,0.882871,0.8880794,12.45027,8.5273567,64.3485119,11.9396437,33.294535,67.6132188,37.2569276,45.8198531,18.9223053,4.9530453,10.1520113,9.46222,33.0264623,11.8834134,0.9811014,0.97092,12.7721042,8.714892,63.0008961,11.9531805,32.8475536,68.2369373,37.8000697,47.1476284,19.4330246,5.1985399,10.4149814,9.7991599,33.2809653,11.8534483,0.8919606,0.871994,12.1461866,8.3256299,61.7482938,11.5352572,31.8308405,68.4290424,38.0589247,47.4974488,19.0214541,5.3131665,10.2944372,9.8896246,33.0998032,10.7305936,0.7930591,0.7805311,12.1435791,8.421901,60.0016763,11.7443522,31.6286365,68.6650145,38.2805005,48.0968466,19.0675802,5.6024249,10.5809167,9.8651136,32.9951622,10.0953138 +231,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5021686,0.4426544,10.4591073,6.3163088,72.4226957,10.2361653,29.3894118,66.7444511,35.5655533,42.4022612,18.7835957,4.5235908,10.1834344,8.6563371,32.9838665,6.5315315,0.4653957,0.3986249,10.6320216,6.7018398,72.1810582,10.6031679,28.9312586,66.8221021,35.7359524,42.1304347,19.1675319,4.5022435,10.8081866,8.4446035,33.6907609,5.4824561,0.522711,0.4587576,10.7669028,6.9843394,71.3046301,10.4216638,28.6987045,66.7153564,35.9416455,42.2972213,19.368337,4.4581468,10.8043499,9.0609006,33.636336,5.6561086,0.491196,0.4231798,10.6404204,6.851898,70.185165,10.5850732,28.1844284,67.0283496,35.2792464,42.2662801,18.9227737,4.3349278,10.2496699,8.8353286,32.8096417,3.9170507,0.4845928,0.4711227,10.5896311,6.6128112,68.9920671,10.6024581,28.3645787,66.4417907,35.6822131,42.9014746,18.9424719,4.2721016,9.9357211,8.7587852,32.968033,2.6442308 +232,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6101429,0.6757413,10.4908349,6.7944252,75.2827285,15.3223361,33.6780101,64.3765366,32.636345,43.5125715,17.7772771,5.3232213,9.5189829,7.9924543,34.6703792,7.4239575,0.6552424,0.7170588,10.281886,6.662046,74.6060566,15.5697327,33.3463128,65.0661541,32.5992327,43.6342506,17.9221883,5.1906615,9.9271169,8.3017189,34.4236032,6.887287,0.6804237,0.7320972,10.0616495,6.4995932,73.5559982,16.0452344,32.5408159,65.6665324,33.4141146,44.0298246,18.3397758,5.5884456,10.0934864,8.5551312,33.4459587,6.3071161,0.6921649,0.722046,10.0108081,6.573221,72.203597,16.8517051,31.9152868,65.7743963,33.9293606,44.5287679,18.9275047,5.6431298,10.4392405,8.8071469,33.622734,5.258287,0.62095,0.6577755,9.8923601,6.2643902,71.2775203,17.4268479,32.21575,65.9880372,34.9413853,45.3315621,19.1467324,5.6131762,10.520957,8.9067018,33.9818658,5.2102203 +233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6264651,0.6372074,11.9006115,8.0090189,64.5572011,15.5263106,34.3106011,69.7050429,36.1940254,44.331891,19.8471927,2.7540848,9.7736758,8.5274045,32.7670069,5.3879194,0.6943176,0.7053223,11.470996,7.5339866,62.6649532,15.9490376,33.6178833,69.7239199,36.7780521,45.0599104,20.8681455,3.1420249,9.3990354,8.3508112,33.133397,6.7099451,0.687097,0.6898391,11.6755678,7.3261876,61.5595395,15.4464115,33.1584734,69.8082321,36.6316979,45.4956384,21.0021765,3.0209782,9.3031534,8.0600259,33.3919962,7.6388783,0.6574025,0.6712177,11.5039434,6.8018564,60.3258907,15.25635,33.4842592,69.8116462,36.9974772,45.1466723,20.880119,3.1329212,9.1752695,8.0922925,32.5573485,8.0096932,0.7467569,0.7522412,11.3433388,6.4844557,59.4560105,15.561486,33.0151503,69.7946572,37.9142757,45.0468328,21.2716196,3.4041767,9.9795811,8.1570019,32.2902487,9.0686052 +234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5039569,0.539917,10.8400288,7.6579655,68.1748943,13.7649955,35.4880767,66.171603,32.0716586,45.8234141,16.8346222,4.196787,10.3143125,8.5252701,29.4058026,5.3653189,0.5399377,0.5762382,10.995881,7.7785608,65.6683065,13.9238029,34.2726143,66.9665774,32.859393,46.38199,17.2179294,4.237955,10.1170184,9.2448129,29.4827111,6.942007,0.5228243,0.5592646,11.2085702,7.7912504,63.5438203,13.95499,34.110443,67.4150705,33.0572207,46.1839292,17.7695361,4.28739,10.1730761,8.8332399,29.1529753,7.0596302,0.6247357,0.6620539,10.9611295,7.5977235,61.3170055,14.2856378,34.9342595,66.846576,33.3761633,46.5455636,18.4427733,4.2375244,11.001345,9.6533899,29.5413185,5.3053923,0.6428189,0.6805167,10.8847837,7.5248597,59.6723589,14.5584433,34.5087305,66.045158,33.8795623,46.4928826,18.5789388,4.3150317,10.5487155,9.3744473,29.1762466,4.9115034 +235,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6943176,0.7053223,11.470996,7.5339866,62.6649532,15.9490376,33.6178833,69.7239199,36.7780521,45.0599104,20.8681455,3.1420249,9.3990354,8.3508112,33.133397,6.7099451,0.687097,0.6898391,11.6755678,7.3261876,61.5595395,15.4464115,33.1584734,69.8082321,36.6316979,45.4956384,21.0021765,3.0209782,9.3031534,8.0600259,33.3919962,7.6388783,0.6574025,0.6712177,11.5039434,6.8018564,60.3258907,15.25635,33.4842592,69.8116462,36.9974772,45.1466723,20.880119,3.1329212,9.1752695,8.0922925,32.5573485,8.0096932,0.7467569,0.7522412,11.3433388,6.4844557,59.4560105,15.561486,33.0151503,69.7946572,37.9142757,45.0468328,21.2716196,3.4041767,9.9795811,8.1570019,32.2902487,9.0686052,0.8883894,0.8883894,11.839361,6.4499271,58.4760893,15.7262126,32.9289923,69.8488049,38.3790558,45.3762282,21.9233484,3.2876211,9.9331205,8.740795,32.3092583,8.0096893 +236,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7941656,0.8618627,12.5886037,8.5578695,57.1094891,14.6190063,37.9753529,65.7556697,37.625528,48.6691045,22.2756305,2.9692717,11.2078237,9.7535139,34.8561484,6.9570103,0.8229176,0.9146279,12.4190932,8.2866971,55.6385242,15.9964392,36.6427828,66.6356143,38.1679877,48.4436947,21.7470593,3.0723747,11.1301504,9.4357675,34.3887148,8.4413566,0.7579011,0.8240586,12.2456933,8.0362775,53.8061175,16.4625244,35.2164788,67.4798415,38.4917713,49.4654098,21.6173808,3.2265968,11.4032907,9.8134492,34.5600015,9.2855016,0.7750411,0.7777058,12.6107951,8.0066192,52.7700552,16.699258,34.3733927,67.5108818,38.7907337,50.2104406,21.6655941,3.1153363,11.7996009,9.8477544,33.7007395,9.8256502,0.8358012,0.8543832,13.0803033,8.1054337,51.7041365,16.5683865,34.9502101,67.3303965,38.4479168,50.8295519,21.7706311,2.9229786,11.6378779,10.1736623,33.7357946,8.384993 +237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3926791,0.4448953,8.2896343,5.344898,81.2120027,18.9312632,31.0669845,61.9133593,25.9326075,37.2041656,11.5724046,5.3549948,10.7196978,8.9217926,34.9621239,4.2035417,0.3697758,0.4583895,8.0912042,5.1856346,80.6445068,18.9785339,30.74297,61.0642572,25.0803223,37.3694734,12.0682715,5.4016075,10.6231255,9.2105209,34.8496244,3.4246575,0.390347,0.4655619,7.9166689,4.900795,79.5346045,19.1842285,31.27222,60.9442934,25.701306,37.1592226,12.4654277,5.7092072,10.134632,8.9446053,35.2213058,2.4886878,0.3767887,0.4516817,8.1331255,4.8247355,78.6054856,18.7037724,31.4573443,60.6042655,25.8886268,37.1445492,12.4210096,5.6279632,9.794573,8.847278,35.5726877,2.4553571,0.3957663,0.4697623,7.993024,4.686907,78.9156583,18.9606602,30.8124002,61.3334777,26.5358513,37.3443021,12.8499578,5.9292562,10.2794263,9.2115132,35.2625892,2.8138528 +238,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6944956,0.7184674,13.0172055,8.1011931,81.0694563,12.1156681,33.7771037,62.2600798,27.750267,40.8772022,15.4489159,2.6522155,10.6117146,8.2151245,35.4600769,10.2693568,0.7718722,0.8047333,13.0935075,8.2417611,79.5096443,12.12154,33.462269,63.4852782,28.402685,41.051647,16.2345796,2.6447803,10.7269438,8.2267086,35.1217573,9.7682119,0.7796794,0.8078954,12.7914165,8.1078265,77.6074911,12.0934783,33.0572541,64.5313624,29.3038485,41.6544436,16.2822455,2.4428576,10.8104329,8.4672908,34.6565846,9.1054313,0.777728,0.7843316,12.463494,7.9578678,75.3190958,12.1697122,32.9850281,65.5161596,29.8606735,41.6614003,16.2233513,2.6493539,10.3526178,8.4902801,34.4853555,8.8709792,0.7636198,0.7313251,11.9172629,7.2973589,73.6395672,12.4113503,32.8477375,66.1739774,30.5508252,42.6946079,16.4291793,2.7541472,10.4833306,9.1229924,34.1296485,8.2848958 +239,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4312875,0.4151794,9.1922449,5.3228611,76.6195415,13.7512996,33.1293544,65.6477611,30.4994447,40.7852934,15.1273354,3.959121,9.4932885,8.7104266,31.8254716,7.2489307,0.4622638,0.4492416,9.0727551,5.30558,75.3090028,13.5513245,32.928125,65.6447186,30.3820531,41.805625,15.2793884,3.5903605,8.9575767,8.2921284,31.5939892,7.1746627,0.4197663,0.406871,8.8637093,5.1781696,74.3503361,13.7739175,32.5564466,65.9146242,30.8666428,42.0588765,15.799106,3.7344605,8.7645118,8.3687776,31.650304,6.2202673,0.4395812,0.3835622,8.7182706,5.2722249,73.686939,14.082344,31.8788593,66.0471011,31.0879899,42.5062911,16.3360755,3.948796,8.2974313,7.9453945,32.0216578,7.2535922,0.4822796,0.432736,8.8670817,5.5144931,72.6550222,13.9537006,31.2909402,65.7649279,31.5169042,43.0950222,16.5922197,3.7220787,9.3065464,8.5605656,31.9514797,6.0709209 +240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5566357,0.5095668,7.7157801,5.0711991,85.4621071,16.3153493,29.6480248,63.198972,28.0868633,36.5455609,14.2350241,7.3091145,10.8041556,7.2802167,35.8995593,4.3157904,0.5914474,0.5593467,7.7403456,5.1263452,85.0215763,16.2447302,29.203413,62.66002,28.2645875,36.6856383,14.8364136,7.4679977,10.8826747,7.6817159,36.9745628,4.2797504,0.6338557,0.627525,7.5900541,5.1315055,84.8866796,15.8208579,28.9613671,62.9199256,28.7374085,37.1080699,14.515678,7.4608094,10.2989115,7.7783818,36.6208822,4.2391304,0.6082286,0.6020004,7.5843517,4.9191963,84.7233779,15.8689182,28.7225303,63.3379062,29.0522007,36.5796734,14.4917556,7.4313215,10.1437679,7.7849089,36.1799632,4.3803419,0.5745689,0.5683945,8.0636105,4.9676344,84.323202,15.5726662,27.7671772,63.3724052,28.6395876,36.5185408,15.3353299,6.909242,10.4834452,8.311343,36.9161423,4.1577825 +241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7536738,0.7110866,11.1857945,7.6803711,83.9438171,11.1436583,31.0377304,61.3462875,29.3587608,38.9636615,14.0435585,3.0035918,11.6712297,9.8491054,39.2231346,6.7907144,0.8299935,0.8299935,10.5645525,7.2849065,83.1309688,11.2391209,30.5715316,62.1844123,30.6280702,38.5723011,14.3334311,3.111684,12.2174178,10.3531393,38.2085608,8.1362923,0.8349906,0.7755924,10.2008689,6.832447,82.6918953,11.0548788,29.6571269,61.7993533,30.7562187,39.6728947,14.1295132,2.7480885,12.7638013,11.1412222,38.5521505,8.2663429,0.7044896,0.6435346,10.1276973,6.6759035,81.9355211,11.5704302,29.564975,61.3988128,31.2857522,40.0358119,14.4654987,2.9983277,12.1215313,11.7914158,38.2643001,5.2403349,0.6821557,0.6213802,9.634809,6.0015652,79.9307475,12.055867,28.6366675,61.5808492,32.3256078,40.3800509,14.859608,2.8538358,12.0368927,11.5762507,36.7099142,4.3307155 +242,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6425652,0.6866147,13.8775603,10.5659435,79.1588949,9.6392587,32.659647,64.5536673,27.1692306,43.7783995,14.5330335,2.6555338,11.6430784,9.4483644,30.6939746,7.0069623,0.6144364,0.6233626,12.8710667,9.7126011,77.809692,9.5386401,32.3168755,66.4440488,28.4622393,44.3212546,15.0261496,2.7188837,11.2485003,9.3993528,30.2058019,7.118395,0.5359035,0.5607346,12.2121305,9.0558004,76.6982894,9.5371045,31.4272107,67.0864532,28.8535575,44.7082268,14.9945076,2.6768504,10.6619524,9.4134507,30.092094,6.8482081,0.6259369,0.6355559,11.7851699,8.6870384,75.5948223,9.2910081,31.2924937,67.2653099,29.3371213,44.7580136,15.095008,2.7250028,10.6160737,9.666749,30.5717967,8.68468,0.6098949,0.6227698,11.7232311,8.5203844,74.6227659,9.2190356,31.4240159,67.3510723,29.113303,44.2998338,14.8733388,2.7074045,10.1999988,9.7492543,30.4645443,8.5593293 +243,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1129286,1.0329046,18.1815112,14.6620671,35.3663283,17.8601794,30.7658362,66.6391858,34.7274303,46.7923843,21.6354309,2.5331971,13.1235983,12.4214588,38.0105361,16.9516818,1.1249309,1.0363513,19.2045847,15.3355336,34.9848038,18.5306069,30.8054142,65.9610894,34.5428799,47.21507,20.9359657,2.5403445,13.8641543,13.1188968,37.5469003,17.405785,1.0968197,1.0129079,20.371375,16.5942056,34.0985958,18.7493542,30.6208472,66.3771453,34.7294723,47.7769984,20.8488001,2.6928515,14.4220641,13.9418445,38.1091124,14.7954539,1.2184068,1.1734354,20.5802958,17.4345661,34.6414407,19.0500258,30.6325508,65.2719215,34.5052494,46.6073277,20.5202874,2.7701014,13.2498084,13.4532409,38.7792618,16.5341859,1.4089219,1.3407849,21.3703185,17.9842002,35.2693752,18.6119081,30.8999439,64.4087258,34.4185638,45.7627939,20.5004129,2.9150083,13.0716011,12.8599051,37.2089389,16.0674373 +244,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0352755,0.9703194,21.0246499,16.551326,30.5819312,22.6920882,35.9722449,69.3536231,37.6786379,49.1839611,23.116963,4.2966915,10.9890719,9.269437,27.7218373,21.2500177,0.8861493,0.7921321,21.403998,17.276327,31.8494149,22.6228668,35.3760157,68.5964791,36.6791906,49.8294211,22.3621566,3.7327234,11.5056819,9.5799131,29.6063717,18.3760841,0.9290133,0.837464,21.2709036,17.3976027,32.3882723,22.4674009,34.945688,68.6589668,36.7504819,49.500309,22.128554,3.5718792,11.0584194,10.1609905,29.4873599,16.6667344,0.9630531,0.9332506,21.3591108,17.5326786,33.186441,22.1246907,34.7933944,68.0615954,36.7306095,49.3568309,22.4316372,3.1394326,10.2709277,9.1317778,28.4138032,20.2380792,0.9379034,0.9081064,22.1949457,18.3787409,34.4806495,21.828749,35.0494135,66.8204561,35.1098958,48.7957798,21.1104036,3.1449842,10.115007,9.06922,30.5483547,15.8185362 +245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5914474,0.5593467,7.7403456,5.1263452,85.0215763,16.2447302,29.203413,62.66002,28.2645875,36.6856383,14.8364136,7.4679977,10.8826747,7.6817159,36.9745628,4.2797504,0.6338557,0.627525,7.5900541,5.1315055,84.8866796,15.8208579,28.9613671,62.9199256,28.7374085,37.1080699,14.515678,7.4608094,10.2989115,7.7783818,36.6208822,4.2391304,0.6082286,0.6020004,7.5843517,4.9191963,84.7233779,15.8689182,28.7225303,63.3379062,29.0522007,36.5796734,14.4917556,7.4313215,10.1437679,7.7849089,36.1799632,4.3803419,0.5745689,0.5683945,8.0636105,4.9676344,84.323202,15.5726662,27.7671772,63.3724052,28.6395876,36.5185408,15.3353299,6.909242,10.4834452,8.311343,36.9161423,4.1577825,0.5760483,0.5699239,8.3610672,5.1719371,82.424655,15.7831349,26.8229906,63.8519915,29.642181,38.6419101,15.9257222,7.1951243,9.9266611,8.3245772,36.7546238,4.3237251 +246,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5250302,0.5525296,8.3325962,5.199694,86.4228407,6.3983522,26.7863669,63.4292536,27.5256504,36.8881476,12.3688979,5.194209,10.0167823,9.1659818,37.3967514,4.1312649,0.5035385,0.5215776,8.214142,5.0896511,86.4602141,6.3817358,26.7754998,62.9879394,27.476031,36.9012518,12.4590293,5.2225444,9.9971493,8.9911402,37.2234118,4.1858586,0.5232829,0.5534701,8.2124876,5.0617608,86.1536906,6.2577746,27.1688137,62.7337802,27.898869,37.0953937,12.648028,5.3279843,9.6942436,8.5740381,37.3863082,3.9953362,0.4884293,0.5127687,8.1212879,4.9168153,85.8231814,6.4290451,27.0085477,62.564713,28.0205013,36.9778241,12.7935482,5.5715127,9.8440927,8.4268179,37.3558564,3.7250301,0.4579721,0.4873632,7.869918,4.7727004,85.578837,6.6713388,26.7214572,62.6768635,28.0352069,37.1853989,13.0505919,5.3297505,10.1193641,8.4262089,37.7650232,3.7969842 +247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.9027746,0.9027746,11.3027264,8.8762025,41.2811769,32.8825991,29.3619786,67.9036161,36.2630316,45.2475711,16.601616,4.7526568,17.236892,10.1316856,33.5527216,5.8559086,0.8504285,0.8504285,11.5914769,9.0852471,42.5708067,32.1872572,28.7625934,68.1758899,35.7781121,45.2170658,16.6454185,4.273011,18.6856549,11.4692052,34.2378658,6.465573,0.7105265,0.7105265,11.6545882,9.2391649,41.8529821,32.5118496,27.5670683,68.15397,35.5135543,46.2716254,17.5428076,4.2176529,17.076254,9.9509822,33.1282405,6.6929661,0.6082432,0.6082432,12.2861151,9.9633554,42.2685162,33.0278764,26.7699721,68.3850699,36.087027,47.1431065,19.068338,4.1615346,17.5507045,11.2659511,34.9874235,6.000048,0.7636553,0.7636553,13.3045418,10.9530304,43.981905,30.7166961,27.0049123,68.3585007,35.7769521,45.1756914,19.7369015,4.5739295,17.9321719,11.6799433,36.1114565,6.6407288 +248,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5257374,0.5412162,11.3258275,7.3797929,67.6165769,8.4701085,30.3895963,68.6364103,37.9506015,39.9989979,18.0690863,4.1520243,10.5118006,8.4382215,35.8514119,6.1455833,0.4845334,0.4962492,11.1943338,7.2505858,66.2524268,8.4693981,30.8490167,68.8878746,37.8617723,40.4321002,18.513461,4.1438991,10.1791262,8.1772606,35.7517523,5.4899639,0.4688928,0.4764697,11.0948226,7.0612613,65.4443065,8.6872405,29.9558796,68.7807052,37.9374327,40.724957,19.1366698,4.0760062,10.0441307,8.1296939,35.7779513,5.8789283,0.5118506,0.5162937,11.2650156,7.2137816,63.9607771,9.0772071,29.8201652,68.9023181,38.7136417,41.5536535,19.9931215,4.2501984,10.1655091,8.262676,35.607212,5.6896552,0.5369603,0.5387002,11.207827,7.2145173,63.0385352,9.2712346,30.1764477,69.1119117,39.2717898,42.6155167,20.2719828,4.1577315,10.2008581,8.5274974,35.5295191,5.6378132 +249,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9163221,0.9048291,14.8493784,9.874709,61.7389886,12.2589293,35.4607233,67.5615492,34.2660322,43.6061845,24.0852016,4.0255845,13.2523476,11.1949777,42.195332,7.9896907,0.8371689,0.8025304,13.7719247,9.2063653,60.6107302,12.206582,36.0030169,67.910424,35.222238,43.8531239,24.5517556,3.9819143,12.99855,10.7933951,41.3744518,7.9234973,0.7530595,0.7644478,13.6441143,9.1868686,59.2544954,13.0306173,35.9926997,68.0865062,35.5805698,44.5346454,24.6078914,3.8893733,13.211797,11.2171407,42.0647212,8.5051075,0.8561185,0.8675904,12.8109954,8.5656313,57.9113526,13.5653385,36.6589316,68.6269026,36.6071931,44.5120278,24.7097276,3.543372,11.9674667,10.08939,41.3287588,9.4594105,0.9347869,0.9461134,12.8757291,8.7732881,57.5337264,13.9899442,35.3552393,67.7914629,36.0636656,44.3025222,24.6780815,3.5168754,12.2863041,10.4376387,41.9122088,10.2499154 +250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6316234,0.6235037,12.1936641,7.8571273,67.1424944,17.5899278,34.5780469,66.6294524,34.1755218,46.4153275,20.2222061,2.1242729,12.8076903,11.128258,37.0723526,8.8859206,0.6333633,0.6253501,11.643383,7.707844,65.8185341,17.9893215,35.1294994,67.5689209,34.6734292,46.5276702,20.6650567,2.4107102,12.2503134,10.6508287,36.8053677,7.4469606,0.4997625,0.483694,11.2644086,7.2735024,64.7060174,18.2607325,34.9941177,68.0413895,35.691307,46.3254959,20.2410395,2.644013,12.414894,11.2382303,37.136662,8.0645213,0.4915921,0.4835542,10.8622961,7.104669,63.2073535,18.6102873,33.8231306,67.9649616,35.7609318,46.0657627,19.8502982,2.8611171,13.0778685,11.6581515,36.9379935,5.9859197,0.3970242,0.3890217,10.8121214,7.1723051,61.3473205,18.3035795,32.9672465,67.7972306,36.1769849,46.4806922,19.9834797,2.8926527,12.3384645,11.5847633,36.5801387,3.6666667 +251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5399377,0.5762382,10.995881,7.7785608,65.6683065,13.9238029,34.2726143,66.9665774,32.859393,46.38199,17.2179294,4.237955,10.1170184,9.2448129,29.4827111,6.942007,0.5228243,0.5592646,11.2085702,7.7912504,63.5438203,13.95499,34.110443,67.4150705,33.0572207,46.1839292,17.7695361,4.28739,10.1730761,8.8332399,29.1529753,7.0596302,0.6247357,0.6620539,10.9611295,7.5977235,61.3170055,14.2856378,34.9342595,66.846576,33.3761633,46.5455636,18.4427733,4.2375244,11.001345,9.6533899,29.5413185,5.3053923,0.6428189,0.6805167,10.8847837,7.5248597,59.6723589,14.5584433,34.5087305,66.045158,33.8795623,46.4928826,18.5789388,4.3150317,10.5487155,9.3744473,29.1762466,4.9115034,0.6093493,0.6269913,10.3893573,7.1438548,58.2587647,14.9229625,34.7928582,66.3330148,33.4019087,46.1389908,18.5354532,4.2935343,10.5924476,9.5070385,29.8585788,6.3253012 +252,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7075693,0.6779909,12.160721,7.3468445,65.8002163,15.2667416,35.3818288,67.9110289,34.9276455,43.6988009,21.5299817,3.4771743,10.6971658,9.5585188,35.6409863,5.8052848,0.6977155,0.6684158,12.4030371,7.4141191,64.5899404,15.6690165,34.7405526,68.4013299,34.8807927,43.6889794,22.0618206,3.5203529,10.6310151,9.2968767,35.6188456,5.5160908,0.6454889,0.6921476,12.0610181,7.4780897,63.2044821,16.1098721,34.9143496,68.4044926,35.3014643,44.4277653,22.2208794,3.4983714,10.664316,9.5624165,36.0573994,5.272804,0.6997182,0.7767198,11.9962675,7.2304357,62.3240827,16.4654815,34.7893596,68.6773022,35.4548558,45.0777159,22.0329228,3.5635404,10.3187101,8.7310964,35.3639793,6.0137932,0.7174435,0.7958967,12.1759812,7.0970789,61.361268,16.8370529,33.7823527,69.1020845,36.2040297,46.3539306,22.2450993,3.7414912,10.3063441,9.1454875,35.021138,6.7010336 +253,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6977155,0.6684158,12.4030371,7.4141191,64.5899404,15.6690165,34.7405526,68.4013299,34.8807927,43.6889794,22.0618206,3.5203529,10.6310151,9.2968767,35.6188456,5.5160908,0.6454889,0.6921476,12.0610181,7.4780897,63.2044821,16.1098721,34.9143496,68.4044926,35.3014643,44.4277653,22.2208794,3.4983714,10.664316,9.5624165,36.0573994,5.272804,0.6997182,0.7767198,11.9962675,7.2304357,62.3240827,16.4654815,34.7893596,68.6773022,35.4548558,45.0777159,22.0329228,3.5635404,10.3187101,8.7310964,35.3639793,6.0137932,0.7174435,0.7958967,12.1759812,7.0970789,61.361268,16.8370529,33.7823527,69.1020845,36.2040297,46.3539306,22.2450993,3.7414912,10.3063441,9.1454875,35.021138,6.7010336,0.6945056,0.7825383,11.8097274,6.9571362,60.7281719,18.0416011,32.687626,68.9108211,36.4264168,46.2613027,22.0673667,3.6710331,10.2903383,9.1832575,35.2465704,6.5656555 +254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8371689,0.8025304,13.7719247,9.2063653,60.6107302,12.206582,36.0030169,67.910424,35.222238,43.8531239,24.5517556,3.9819143,12.99855,10.7933951,41.3744518,7.9234973,0.7530595,0.7644478,13.6441143,9.1868686,59.2544954,13.0306173,35.9926997,68.0865062,35.5805698,44.5346454,24.6078914,3.8893733,13.211797,11.2171407,42.0647212,8.5051075,0.8561185,0.8675904,12.8109954,8.5656313,57.9113526,13.5653385,36.6589316,68.6269026,36.6071931,44.5120278,24.7097276,3.543372,11.9674667,10.08939,41.3287588,9.4594105,0.9347869,0.9461134,12.8757291,8.7732881,57.5337264,13.9899442,35.3552393,67.7914629,36.0636656,44.3025222,24.6780815,3.5168754,12.2863041,10.4376387,41.9122088,10.2499154,1.0112504,1.0334135,13.0865891,8.974351,56.8860866,15.1566965,35.6966371,67.4159887,36.3389252,45.4792383,24.7776468,3.8290542,12.1256109,10.4267762,42.7245995,10.103539 +255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4622638,0.4492416,9.0727551,5.30558,75.3090028,13.5513245,32.928125,65.6447186,30.3820531,41.805625,15.2793884,3.5903605,8.9575767,8.2921284,31.5939892,7.1746627,0.4197663,0.406871,8.8637093,5.1781696,74.3503361,13.7739175,32.5564466,65.9146242,30.8666428,42.0588765,15.799106,3.7344605,8.7645118,8.3687776,31.650304,6.2202673,0.4395812,0.3835622,8.7182706,5.2722249,73.686939,14.082344,31.8788593,66.0471011,31.0879899,42.5062911,16.3360755,3.948796,8.2974313,7.9453945,32.0216578,7.2535922,0.4822796,0.432736,8.8670817,5.5144931,72.6550222,13.9537006,31.2909402,65.7649279,31.5169042,43.0950222,16.5922197,3.7220787,9.3065464,8.5605656,31.9514797,6.0709209,0.4613117,0.420586,8.9309402,5.5418046,70.8362145,14.1914617,31.0961298,66.120824,32.5812096,43.8151397,17.6693205,3.5282175,9.6395959,8.7989462,32.1756824,6.0339934 +256,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7530595,0.7644478,13.6441143,9.1868686,59.2544954,13.0306173,35.9926997,68.0865062,35.5805698,44.5346454,24.6078914,3.8893733,13.211797,11.2171407,42.0647212,8.5051075,0.8561185,0.8675904,12.8109954,8.5656313,57.9113526,13.5653385,36.6589316,68.6269026,36.6071931,44.5120278,24.7097276,3.543372,11.9674667,10.08939,41.3287588,9.4594105,0.9347869,0.9461134,12.8757291,8.7732881,57.5337264,13.9899442,35.3552393,67.7914629,36.0636656,44.3025222,24.6780815,3.5168754,12.2863041,10.4376387,41.9122088,10.2499154,1.0112504,1.0334135,13.0865891,8.974351,56.8860866,15.1566965,35.6966371,67.4159887,36.3389252,45.4792383,24.7776468,3.8290542,12.1256109,10.4267762,42.7245995,10.103539,1.2075953,1.196754,13.2779049,9.429926,55.8007064,16.2918546,35.6729395,67.8002613,36.5894814,46.4302989,23.8542961,3.9797424,11.8003819,10.7109528,43.455743,8.8941474 +257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5999679,0.6084651,11.7917987,7.3903619,74.057047,13.1169489,37.129482,67.0074362,35.8614676,46.3544065,18.8381605,3.6852099,11.7082891,10.9232313,33.3486528,7.1934113,0.5972348,0.6095222,11.503247,7.081961,72.7931419,13.003816,37.7982297,67.3899033,35.908731,46.7173729,19.0472332,3.578863,11.3512704,10.9682432,33.94759,7.7937834,0.7078807,0.7202465,11.4732109,7.1598575,71.1560298,13.4010018,37.7320263,67.8208121,35.7788591,47.0621499,19.4915155,3.4140458,10.9632995,10.9121666,33.3590201,8.7563639,0.7865241,0.7901855,11.193578,6.788013,69.5304691,13.8678686,37.9735563,68.4574908,36.6841794,47.604269,20.0970967,3.4304343,10.8305904,10.5145246,33.4891263,8.6901928,0.8634376,0.8401807,11.4601397,6.9638228,68.0625123,13.6205521,37.2860876,68.4391338,36.8862989,47.3292851,20.3342359,3.3024129,10.9624078,10.5239524,33.9047245,8.8528839 +258,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.882871,0.8880794,12.45027,8.5273567,64.3485119,11.9396437,33.294535,67.6132188,37.2569276,45.8198531,18.9223053,4.9530453,10.1520113,9.46222,33.0264623,11.8834134,0.9811014,0.97092,12.7721042,8.714892,63.0008961,11.9531805,32.8475536,68.2369373,37.8000697,47.1476284,19.4330246,5.1985399,10.4149814,9.7991599,33.2809653,11.8534483,0.8919606,0.871994,12.1461866,8.3256299,61.7482938,11.5352572,31.8308405,68.4290424,38.0589247,47.4974488,19.0214541,5.3131665,10.2944372,9.8896246,33.0998032,10.7305936,0.7930591,0.7805311,12.1435791,8.421901,60.0016763,11.7443522,31.6286365,68.6650145,38.2805005,48.0968466,19.0675802,5.6024249,10.5809167,9.8651136,32.9951622,10.0953138,0.6944167,0.6822437,11.7789014,8.1906163,58.6678397,12.4216923,31.7923165,68.7752312,38.6307248,48.072712,18.9624469,5.5679752,10.4338114,9.2045645,32.2789337,6.591805 +259,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.470866,0.4908212,12.1701978,8.6831721,85.9941119,8.8879173,29.4982497,60.6834457,21.684109,37.9515391,9.7498715,3.5340729,14.5918834,11.9240848,31.3781804,8.1325105,0.4868356,0.5175248,12.2204693,8.6312791,85.6824721,8.4748005,29.4935997,62.2563292,21.9302527,38.329287,10.1964267,3.8700529,14.3913309,11.5986535,32.2584681,7.3529758,0.4557991,0.4907363,12.0084588,8.4655617,85.4526115,8.6232143,29.9245168,63.0707596,23.1432392,38.6235087,10.9021774,4.0513733,13.5471639,11.251286,33.6327527,8.2386691,0.4571545,0.480992,11.6235754,8.3025653,84.8084305,8.772988,29.9643603,63.5061115,23.6740391,39.0287264,10.8541726,3.6066713,13.8574584,11.3271852,34.6503963,8.4699731,0.4311465,0.4468816,11.1129169,7.9235777,84.8917046,8.739964,29.4352333,64.5589663,24.0402114,39.4838273,11.1123899,3.4440163,13.1778423,11.5329744,33.9790772,7.8378209 +260,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9811014,0.97092,12.7721042,8.714892,63.0008961,11.9531805,32.8475536,68.2369373,37.8000697,47.1476284,19.4330246,5.1985399,10.4149814,9.7991599,33.2809653,11.8534483,0.8919606,0.871994,12.1461866,8.3256299,61.7482938,11.5352572,31.8308405,68.4290424,38.0589247,47.4974488,19.0214541,5.3131665,10.2944372,9.8896246,33.0998032,10.7305936,0.7930591,0.7805311,12.1435791,8.421901,60.0016763,11.7443522,31.6286365,68.6650145,38.2805005,48.0968466,19.0675802,5.6024249,10.5809167,9.8651136,32.9951622,10.0953138,0.6944167,0.6822437,11.7789014,8.1906163,58.6678397,12.4216923,31.7923165,68.7752312,38.6307248,48.072712,18.9624469,5.5679752,10.4338114,9.2045645,32.2789337,6.591805,0.7118547,0.7070679,11.372419,7.6583386,57.1698826,12.72545,31.1270995,68.6279132,37.7332694,48.7831492,18.596546,5.5095271,10.9200319,9.4714913,32.6020485,6.0007974 +261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4197663,0.406871,8.8637093,5.1781696,74.3503361,13.7739175,32.5564466,65.9146242,30.8666428,42.0588765,15.799106,3.7344605,8.7645118,8.3687776,31.650304,6.2202673,0.4395812,0.3835622,8.7182706,5.2722249,73.686939,14.082344,31.8788593,66.0471011,31.0879899,42.5062911,16.3360755,3.948796,8.2974313,7.9453945,32.0216578,7.2535922,0.4822796,0.432736,8.8670817,5.5144931,72.6550222,13.9537006,31.2909402,65.7649279,31.5169042,43.0950222,16.5922197,3.7220787,9.3065464,8.5605656,31.9514797,6.0709209,0.4613117,0.420586,8.9309402,5.5418046,70.8362145,14.1914617,31.0961298,66.120824,32.5812096,43.8151397,17.6693205,3.5282175,9.6395959,8.7989462,32.1756824,6.0339934,0.5101647,0.4638861,8.9549717,5.710382,69.3601795,14.5338837,30.9382846,66.2659316,32.6668736,44.3354531,18.6533136,3.7854217,9.3867166,8.991478,32.3959176,5.1218562 +262,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.518487,0.4972376,9.1392874,5.6686719,83.0679157,17.5862069,33.7257618,64.4275162,27.2622345,40.8356417,13.1348107,4.1782087,10.2633617,8.7616822,34.9533437,2.8061224,0.4145299,0.3931624,9.2540793,5.5244755,81.6369606,17.6186089,32.9524254,65.4151119,28.3815299,41.2546642,13.7826493,3.9412313,10.349345,8.9833479,34.3722564,3.25,0.3575025,0.3359229,8.8193791,5.1505174,80.2693762,17.9350348,33.1376233,65.6411461,28.1117896,41.3574448,13.8327853,3.8280883,9.7465035,9.1666667,33.9929639,3.3505155,0.3586061,0.3372203,8.8717228,5.079588,78.8748833,18.2382705,33.7290503,65.6191806,27.9096834,41.2243948,13.896648,4.1201117,9.9312124,8.6712683,34.3587522,1.7766497,0.391313,0.3702869,9.0763603,5.0068587,77.6177412,17.9134745,33.4017328,66.005472,28.0209758,41.3360693,14.3410853,3.9443684,10.1345669,8.9029536,34.8471986,2.8795812 +263,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8504285,0.8504285,11.5914769,9.0852471,42.5708067,32.1872572,28.7625934,68.1758899,35.7781121,45.2170658,16.6454185,4.273011,18.6856549,11.4692052,34.2378658,6.465573,0.7105265,0.7105265,11.6545882,9.2391649,41.8529821,32.5118496,27.5670683,68.15397,35.5135543,46.2716254,17.5428076,4.2176529,17.076254,9.9509822,33.1282405,6.6929661,0.6082432,0.6082432,12.2861151,9.9633554,42.2685162,33.0278764,26.7699721,68.3850699,36.087027,47.1431065,19.068338,4.1615346,17.5507045,11.2659511,34.9874235,6.000048,0.7636553,0.7636553,13.3045418,10.9530304,43.981905,30.7166961,27.0049123,68.3585007,35.7769521,45.1756914,19.7369015,4.5739295,17.9321719,11.6799433,36.1114565,6.6407288,0.6371501,0.6371501,13.4027874,11.077179,43.6395924,32.7038896,27.4132275,68.007505,36.2004704,45.3591909,20.1114,4.3935596,16.4084595,10.5196035,35.471622,5.0782242 +264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5228243,0.5592646,11.2085702,7.7912504,63.5438203,13.95499,34.110443,67.4150705,33.0572207,46.1839292,17.7695361,4.28739,10.1730761,8.8332399,29.1529753,7.0596302,0.6247357,0.6620539,10.9611295,7.5977235,61.3170055,14.2856378,34.9342595,66.846576,33.3761633,46.5455636,18.4427733,4.2375244,11.001345,9.6533899,29.5413185,5.3053923,0.6428189,0.6805167,10.8847837,7.5248597,59.6723589,14.5584433,34.5087305,66.045158,33.8795623,46.4928826,18.5789388,4.3150317,10.5487155,9.3744473,29.1762466,4.9115034,0.6093493,0.6269913,10.3893573,7.1438548,58.2587647,14.9229625,34.7928582,66.3330148,33.4019087,46.1389908,18.5354532,4.2935343,10.5924476,9.5070385,29.8585788,6.3253012,0.6786834,0.6786834,10.0500908,6.9545967,57.1206759,15.1576341,33.9224613,66.2924071,33.8152918,46.9321944,18.3460025,4.3294288,10.3885226,9.2307488,29.3621246,6.7251541 +265,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4493799,0.5363885,10.7016342,7.402386,84.4604935,11.5093114,28.7611806,64.3752641,26.50872,40.4271197,11.5703605,4.366771,12.3079738,11.6566589,31.3618315,3.8563932,0.4043226,0.4392619,10.4451,7.1231036,84.6887638,11.4923808,28.8445444,64.3088579,26.1015432,39.9027826,11.1555477,4.3520538,12.7916199,11.5542817,30.9289751,4.0502906,0.4132773,0.4378913,10.700474,7.3814878,84.2239545,11.5159749,29.259532,64.6898024,27.0533129,40.0283235,11.4569869,4.7291438,12.3262082,11.4315276,30.6001023,5.124685,0.4060473,0.4435506,10.3869667,7.1115,84.0293952,11.4892916,28.4776462,64.5114256,26.3632074,39.8508003,11.2730666,4.551555,11.6022351,10.8181381,30.989126,5.4622522,0.3922502,0.4192731,10.4089497,7.067534,83.2360645,11.8749819,28.6363812,64.8004355,26.5077617,39.7670827,11.186254,4.6230906,11.6454692,10.9951134,30.7643586,6.0224832 +266,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6454889,0.6921476,12.0610181,7.4780897,63.2044821,16.1098721,34.9143496,68.4044926,35.3014643,44.4277653,22.2208794,3.4983714,10.664316,9.5624165,36.0573994,5.272804,0.6997182,0.7767198,11.9962675,7.2304357,62.3240827,16.4654815,34.7893596,68.6773022,35.4548558,45.0777159,22.0329228,3.5635404,10.3187101,8.7310964,35.3639793,6.0137932,0.7174435,0.7958967,12.1759812,7.0970789,61.361268,16.8370529,33.7823527,69.1020845,36.2040297,46.3539306,22.2450993,3.7414912,10.3063441,9.1454875,35.021138,6.7010336,0.6945056,0.7825383,11.8097274,6.9571362,60.7281719,18.0416011,32.687626,68.9108211,36.4264168,46.2613027,22.0673667,3.6710331,10.2903383,9.1832575,35.2465704,6.5656555,0.7142078,0.7841366,11.6404907,6.6798173,60.1097604,18.2160992,32.8183309,68.2118589,36.0142187,47.0814658,22.0947736,3.9222959,10.3022827,8.8637237,35.9869799,6.6558419 +267,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.7105265,0.7105265,11.6545882,9.2391649,41.8529821,32.5118496,27.5670683,68.15397,35.5135543,46.2716254,17.5428076,4.2176529,17.076254,9.9509822,33.1282405,6.6929661,0.6082432,0.6082432,12.2861151,9.9633554,42.2685162,33.0278764,26.7699721,68.3850699,36.087027,47.1431065,19.068338,4.1615346,17.5507045,11.2659511,34.9874235,6.000048,0.7636553,0.7636553,13.3045418,10.9530304,43.981905,30.7166961,27.0049123,68.3585007,35.7769521,45.1756914,19.7369015,4.5739295,17.9321719,11.6799433,36.1114565,6.6407288,0.6371501,0.6371501,13.4027874,11.077179,43.6395924,32.7038896,27.4132275,68.007505,36.2004704,45.3591909,20.1114,4.3935596,16.4084595,10.5196035,35.471622,5.0782242,0.5663212,0.5663212,13.7910427,11.3980655,45.0453428,32.4748426,28.2886116,67.4969029,36.4624708,45.147256,20.1150717,4.7892693,16.9690878,11.0390757,34.2523281,5.118211 +268,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4845334,0.4962492,11.1943338,7.2505858,66.2524268,8.4693981,30.8490167,68.8878746,37.8617723,40.4321002,18.513461,4.1438991,10.1791262,8.1772606,35.7517523,5.4899639,0.4688928,0.4764697,11.0948226,7.0612613,65.4443065,8.6872405,29.9558796,68.7807052,37.9374327,40.724957,19.1366698,4.0760062,10.0441307,8.1296939,35.7779513,5.8789283,0.5118506,0.5162937,11.2650156,7.2137816,63.9607771,9.0772071,29.8201652,68.9023181,38.7136417,41.5536535,19.9931215,4.2501984,10.1655091,8.262676,35.607212,5.6896552,0.5369603,0.5387002,11.207827,7.2145173,63.0385352,9.2712346,30.1764477,69.1119117,39.2717898,42.6155167,20.2719828,4.1577315,10.2008581,8.5274974,35.5295191,5.6378132,0.5522345,0.5422547,11.0132338,7.0712465,62.1253517,9.3946604,30.1001255,69.3414832,39.631272,42.6927854,20.703763,4.3082708,10.2383157,8.668877,35.6416378,6.1373881 +269,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8561185,0.8675904,12.8109954,8.5656313,57.9113526,13.5653385,36.6589316,68.6269026,36.6071931,44.5120278,24.7097276,3.543372,11.9674667,10.08939,41.3287588,9.4594105,0.9347869,0.9461134,12.8757291,8.7732881,57.5337264,13.9899442,35.3552393,67.7914629,36.0636656,44.3025222,24.6780815,3.5168754,12.2863041,10.4376387,41.9122088,10.2499154,1.0112504,1.0334135,13.0865891,8.974351,56.8860866,15.1566965,35.6966371,67.4159887,36.3389252,45.4792383,24.7776468,3.8290542,12.1256109,10.4267762,42.7245995,10.103539,1.2075953,1.196754,13.2779049,9.429926,55.8007064,16.2918546,35.6729395,67.8002613,36.5894814,46.4302989,23.8542961,3.9797424,11.8003819,10.7109528,43.455743,8.8941474,0.9788325,0.9581286,13.4257132,9.4275331,54.620472,16.476741,36.2362178,68.8189135,37.3391549,47.1737187,24.5174435,4.3428331,11.3515961,9.7787663,43.5267772,9.1980275 +270,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8919606,0.871994,12.1461866,8.3256299,61.7482938,11.5352572,31.8308405,68.4290424,38.0589247,47.4974488,19.0214541,5.3131665,10.2944372,9.8896246,33.0998032,10.7305936,0.7930591,0.7805311,12.1435791,8.421901,60.0016763,11.7443522,31.6286365,68.6650145,38.2805005,48.0968466,19.0675802,5.6024249,10.5809167,9.8651136,32.9951622,10.0953138,0.6944167,0.6822437,11.7789014,8.1906163,58.6678397,12.4216923,31.7923165,68.7752312,38.6307248,48.072712,18.9624469,5.5679752,10.4338114,9.2045645,32.2789337,6.591805,0.7118547,0.7070679,11.372419,7.6583386,57.1698826,12.72545,31.1270995,68.6279132,37.7332694,48.7831492,18.596546,5.5095271,10.9200319,9.4714913,32.6020485,6.0007974,0.7462105,0.7514941,11.7660418,7.8593971,55.4084338,12.7153245,30.9669677,68.7863328,37.3386143,48.650507,18.2575109,5.485043,11.4150568,10.0218791,32.9332498,4.7733738 +271,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6338557,0.627525,7.5900541,5.1315055,84.8866796,15.8208579,28.9613671,62.9199256,28.7374085,37.1080699,14.515678,7.4608094,10.2989115,7.7783818,36.6208822,4.2391304,0.6082286,0.6020004,7.5843517,4.9191963,84.7233779,15.8689182,28.7225303,63.3379062,29.0522007,36.5796734,14.4917556,7.4313215,10.1437679,7.7849089,36.1799632,4.3803419,0.5745689,0.5683945,8.0636105,4.9676344,84.323202,15.5726662,27.7671772,63.3724052,28.6395876,36.5185408,15.3353299,6.909242,10.4834452,8.311343,36.9161423,4.1577825,0.5760483,0.5699239,8.3610672,5.1719371,82.424655,15.7831349,26.8229906,63.8519915,29.642181,38.6419101,15.9257222,7.1951243,9.9266611,8.3245772,36.7546238,4.3237251,0.4531713,0.4471588,8.1746463,5.0190414,81.0712319,15.9037128,26.5058647,63.7126873,28.9578938,38.0730276,15.791578,7.1276337,9.4866621,8.2996952,36.5043172,4.1387034 +272,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5972348,0.6095222,11.503247,7.081961,72.7931419,13.003816,37.7982297,67.3899033,35.908731,46.7173729,19.0472332,3.578863,11.3512704,10.9682432,33.94759,7.7937834,0.7078807,0.7202465,11.4732109,7.1598575,71.1560298,13.4010018,37.7320263,67.8208121,35.7788591,47.0621499,19.4915155,3.4140458,10.9632995,10.9121666,33.3590201,8.7563639,0.7865241,0.7901855,11.193578,6.788013,69.5304691,13.8678686,37.9735563,68.4574908,36.6841794,47.604269,20.0970967,3.4304343,10.8305904,10.5145246,33.4891263,8.6901928,0.8634376,0.8401807,11.4601397,6.9638228,68.0625123,13.6205521,37.2860876,68.4391338,36.8862989,47.3292851,20.3342359,3.3024129,10.9624078,10.5239524,33.9047245,8.8528839,0.87264,0.8677531,11.1865981,6.7525556,66.405968,13.8394997,36.3441141,68.5420665,36.7420275,47.9149949,20.4440652,3.2707314,11.2290776,10.5870273,33.6701106,7.4219194 +273,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8229176,0.9146279,12.4190932,8.2866971,55.6385242,15.9964392,36.6427828,66.6356143,38.1679877,48.4436947,21.7470593,3.0723747,11.1301504,9.4357675,34.3887148,8.4413566,0.7579011,0.8240586,12.2456933,8.0362775,53.8061175,16.4625244,35.2164788,67.4798415,38.4917713,49.4654098,21.6173808,3.2265968,11.4032907,9.8134492,34.5600015,9.2855016,0.7750411,0.7777058,12.6107951,8.0066192,52.7700552,16.699258,34.3733927,67.5108818,38.7907337,50.2104406,21.6655941,3.1153363,11.7996009,9.8477544,33.7007395,9.8256502,0.8358012,0.8543832,13.0803033,8.1054337,51.7041365,16.5683865,34.9502101,67.3303965,38.4479168,50.8295519,21.7706311,2.9229786,11.6378779,10.1736623,33.7357946,8.384993,0.7807504,0.7885618,13.0871708,8.0457115,51.1051856,16.8522064,34.968039,67.85105,38.2582872,50.983407,21.7969617,2.9690841,11.602014,9.7495474,32.6648882,8.0142356 +274,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4868356,0.5175248,12.2204693,8.6312791,85.6824721,8.4748005,29.4935997,62.2563292,21.9302527,38.329287,10.1964267,3.8700529,14.3913309,11.5986535,32.2584681,7.3529758,0.4557991,0.4907363,12.0084588,8.4655617,85.4526115,8.6232143,29.9245168,63.0707596,23.1432392,38.6235087,10.9021774,4.0513733,13.5471639,11.251286,33.6327527,8.2386691,0.4571545,0.480992,11.6235754,8.3025653,84.8084305,8.772988,29.9643603,63.5061115,23.6740391,39.0287264,10.8541726,3.6066713,13.8574584,11.3271852,34.6503963,8.4699731,0.4311465,0.4468816,11.1129169,7.9235777,84.8917046,8.739964,29.4352333,64.5589663,24.0402114,39.4838273,11.1123899,3.4440163,13.1778423,11.5329744,33.9790772,7.8378209,0.4241914,0.4396727,10.8006065,7.6633824,84.2922864,8.856035,29.0377826,65.0116852,24.8824453,40.6445025,11.5186565,3.3409331,12.5683994,11.6015361,33.9687663,7.7539941 +275,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5035385,0.5215776,8.214142,5.0896511,86.4602141,6.3817358,26.7754998,62.9879394,27.476031,36.9012518,12.4590293,5.2225444,9.9971493,8.9911402,37.2234118,4.1858586,0.5232829,0.5534701,8.2124876,5.0617608,86.1536906,6.2577746,27.1688137,62.7337802,27.898869,37.0953937,12.648028,5.3279843,9.6942436,8.5740381,37.3863082,3.9953362,0.4884293,0.5127687,8.1212879,4.9168153,85.8231814,6.4290451,27.0085477,62.564713,28.0205013,36.9778241,12.7935482,5.5715127,9.8440927,8.4268179,37.3558564,3.7250301,0.4579721,0.4873632,7.869918,4.7727004,85.578837,6.6713388,26.7214572,62.6768635,28.0352069,37.1853989,13.0505919,5.3297505,10.1193641,8.4262089,37.7650232,3.7969842,0.5014992,0.5285072,7.9437571,4.9063298,85.3360325,6.6514211,26.5993967,62.7605775,28.1187388,37.3540995,13.337348,5.4058429,9.9893123,8.1780151,38.1486097,4.1008277 +276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6247357,0.6620539,10.9611295,7.5977235,61.3170055,14.2856378,34.9342595,66.846576,33.3761633,46.5455636,18.4427733,4.2375244,11.001345,9.6533899,29.5413185,5.3053923,0.6428189,0.6805167,10.8847837,7.5248597,59.6723589,14.5584433,34.5087305,66.045158,33.8795623,46.4928826,18.5789388,4.3150317,10.5487155,9.3744473,29.1762466,4.9115034,0.6093493,0.6269913,10.3893573,7.1438548,58.2587647,14.9229625,34.7928582,66.3330148,33.4019087,46.1389908,18.5354532,4.2935343,10.5924476,9.5070385,29.8585788,6.3253012,0.6786834,0.6786834,10.0500908,6.9545967,57.1206759,15.1576341,33.9224613,66.2924071,33.8152918,46.9321944,18.3460025,4.3294288,10.3885226,9.2307488,29.3621246,6.7251541,0.5265238,0.5265238,9.0299685,5.8775549,54.2242173,15.156335,33.06742,67.2576114,33.9357823,47.6891842,18.1126963,3.7672738,10.6328231,9.6211313,30.3179342,6.3636402 +277,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4145299,0.3931624,9.2540793,5.5244755,81.6369606,17.6186089,32.9524254,65.4151119,28.3815299,41.2546642,13.7826493,3.9412313,10.349345,8.9833479,34.3722564,3.25,0.3575025,0.3359229,8.8193791,5.1505174,80.2693762,17.9350348,33.1376233,65.6411461,28.1117896,41.3574448,13.8327853,3.8280883,9.7465035,9.1666667,33.9929639,3.3505155,0.3586061,0.3372203,8.8717228,5.079588,78.8748833,18.2382705,33.7290503,65.6191806,27.9096834,41.2243948,13.896648,4.1201117,9.9312124,8.6712683,34.3587522,1.7766497,0.391313,0.3702869,9.0763603,5.0068587,77.6177412,17.9134745,33.4017328,66.005472,28.0209758,41.3360693,14.3410853,3.9443684,10.1345669,8.9029536,34.8471986,2.8795812,0.5231897,0.5019312,8.9576547,4.8161936,77.3317865,17.6618049,33.4025854,65.7663897,27.7700831,41.3434903,14.4275162,3.6703601,9.4617325,7.8836425,35.4414261,2.972973 +278,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0934336,1.0450564,13.4303512,8.668433,56.0217909,16.5897634,35.2953874,68.0081,37.4359501,46.5093808,22.3590214,2.7687248,11.6070508,10.3933175,34.9745554,8.8650219,1.0960886,1.0904755,13.8335504,8.9837416,55.011748,16.9521818,36.2811307,68.4073726,38.1846884,46.1695333,22.6319675,2.6229993,11.5480874,10.5685299,36.1584611,7.5537558,1.1012589,1.0956412,14.0127438,8.9966921,52.8027427,17.6621952,35.9801927,68.9565688,38.5420344,47.4847432,23.124944,2.6315515,11.8722749,10.5463266,35.9467268,6.7374979,1.1183242,1.1128705,13.4303413,8.2734668,52.4192747,17.7834142,35.1086972,69.3789459,38.3726968,48.0277995,22.6877836,2.6519059,11.3749628,10.2508406,36.176179,7.553821,1.1671099,1.136303,13.5831745,8.2846447,52.5770065,18.2864151,34.8408321,69.4319342,37.5227835,48.1134288,23.2496845,2.8864826,10.5945756,9.6459323,36.3362974,6.6900231 +279,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3354803,0.3883655,9.503167,6.6179306,82.0995005,10.3472687,32.2004431,64.1364646,26.718684,38.8946181,13.0723537,12.1049899,10.6342411,9.3136063,36.9114616,3.2340869,0.3245129,0.3655831,9.384294,6.4221943,80.5848653,10.6002811,31.7778092,65.1197213,27.0275421,39.102729,13.2273382,12.3004612,10.3693468,9.6317539,36.0797525,3.1914903,0.3527086,0.3839481,9.39619,6.3967114,79.0815001,10.7293666,31.5097797,64.9941718,27.3274537,38.9809666,13.0454437,12.5922545,10.406276,9.5994915,36.6432295,3.7486808,0.3603867,0.3983866,9.1812863,6.2183234,77.9063705,10.6522862,31.3179026,65.1771853,27.4249797,39.3235921,13.2113258,12.5387961,10.431646,9.5718135,37.2374972,3.8049311,0.3852777,0.4228527,8.9081546,5.9409102,76.6770091,10.8341751,31.1191953,65.5372648,27.9415475,39.9757568,13.635784,12.627614,10.1100171,9.1969499,36.905053,3.4871252 +280,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6428189,0.6805167,10.8847837,7.5248597,59.6723589,14.5584433,34.5087305,66.045158,33.8795623,46.4928826,18.5789388,4.3150317,10.5487155,9.3744473,29.1762466,4.9115034,0.6093493,0.6269913,10.3893573,7.1438548,58.2587647,14.9229625,34.7928582,66.3330148,33.4019087,46.1389908,18.5354532,4.2935343,10.5924476,9.5070385,29.8585788,6.3253012,0.6786834,0.6786834,10.0500908,6.9545967,57.1206759,15.1576341,33.9224613,66.2924071,33.8152918,46.9321944,18.3460025,4.3294288,10.3885226,9.2307488,29.3621246,6.7251541,0.5265238,0.5265238,9.0299685,5.8775549,54.2242173,15.156335,33.06742,67.2576114,33.9357823,47.6891842,18.1126963,3.7672738,10.6328231,9.6211313,30.3179342,6.3636402,0.4612452,0.4612452,8.6574542,5.4176325,51.9241917,15.6617497,32.0575744,67.0610858,34.7469883,47.2546158,18.5280502,3.6474444,10.0435195,9.0829456,29.6459045,4.6296325 +281,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4653957,0.3986249,10.6320216,6.7018398,72.1810582,10.6031679,28.9312586,66.8221021,35.7359524,42.1304347,19.1675319,4.5022435,10.8081866,8.4446035,33.6907609,5.4824561,0.522711,0.4587576,10.7669028,6.9843394,71.3046301,10.4216638,28.6987045,66.7153564,35.9416455,42.2972213,19.368337,4.4581468,10.8043499,9.0609006,33.636336,5.6561086,0.491196,0.4231798,10.6404204,6.851898,70.185165,10.5850732,28.1844284,67.0283496,35.2792464,42.2662801,18.9227737,4.3349278,10.2496699,8.8353286,32.8096417,3.9170507,0.4845928,0.4711227,10.5896311,6.6128112,68.9920671,10.6024581,28.3645787,66.4417907,35.6822131,42.9014746,18.9424719,4.2721016,9.9357211,8.7587852,32.968033,2.6442308,0.5322995,0.5367475,10.6406207,6.7386812,67.8891306,10.145165,27.7304742,66.3953246,35.5964626,42.3981177,18.8879981,4.0589872,10.1116439,8.4678041,32.8351852,2.6829268 +282,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8299935,0.8299935,10.5645525,7.2849065,83.1309688,11.2391209,30.5715316,62.1844123,30.6280702,38.5723011,14.3334311,3.111684,12.2174178,10.3531393,38.2085608,8.1362923,0.8349906,0.7755924,10.2008689,6.832447,82.6918953,11.0548788,29.6571269,61.7993533,30.7562187,39.6728947,14.1295132,2.7480885,12.7638013,11.1412222,38.5521505,8.2663429,0.7044896,0.6435346,10.1276973,6.6759035,81.9355211,11.5704302,29.564975,61.3988128,31.2857522,40.0358119,14.4654987,2.9983277,12.1215313,11.7914158,38.2643001,5.2403349,0.6821557,0.6213802,9.634809,6.0015652,79.9307475,12.055867,28.6366675,61.5808492,32.3256078,40.3800509,14.859608,2.8538358,12.0368927,11.5762507,36.7099142,4.3307155,0.6909752,0.629414,9.9633378,6.1579653,78.7158057,11.6148646,28.3334505,61.5440805,31.0530213,39.976829,14.6276262,2.8942013,11.2533186,11.361157,37.2992335,4.400007 +283,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7930591,0.7805311,12.1435791,8.421901,60.0016763,11.7443522,31.6286365,68.6650145,38.2805005,48.0968466,19.0675802,5.6024249,10.5809167,9.8651136,32.9951622,10.0953138,0.6944167,0.6822437,11.7789014,8.1906163,58.6678397,12.4216923,31.7923165,68.7752312,38.6307248,48.072712,18.9624469,5.5679752,10.4338114,9.2045645,32.2789337,6.591805,0.7118547,0.7070679,11.372419,7.6583386,57.1698826,12.72545,31.1270995,68.6279132,37.7332694,48.7831492,18.596546,5.5095271,10.9200319,9.4714913,32.6020485,6.0007974,0.7462105,0.7514941,11.7660418,7.8593971,55.4084338,12.7153245,30.9669677,68.7863328,37.3386143,48.650507,18.2575109,5.485043,11.4150568,10.0218791,32.9332498,4.7733738,0.6380343,0.6850949,11.5243152,7.6985447,54.1327467,12.6650189,30.1308725,68.4997916,36.664904,48.551902,18.085439,5.3698824,11.040281,10.1353062,32.5027842,3.8818067 +284,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9733498,1.0177724,19.5132585,15.1693757,36.81522,19.147588,37.8595349,65.0153893,38.3667124,49.6772626,24.5683505,3.2273169,12.5971564,10.8961042,31.7357004,9.5735583,1.0279927,1.0579052,19.5229303,16.0020992,36.8940517,18.6467629,38.8630993,64.231495,38.8591132,50.3855621,24.3107989,3.1876017,12.8503545,11.3999723,31.9083247,9.3275438,1.1265934,1.1562666,20.2207658,16.7831175,37.2588765,17.7513607,38.770099,64.0371337,38.1280733,50.1896318,24.3463433,3.2228605,12.5325911,10.8405483,32.3381835,11.2309237,1.2015528,1.2459816,19.871036,16.491607,37.7380709,18.1916519,39.4711064,63.5896792,38.3841993,50.0629298,24.8573031,3.2229078,13.0368725,11.3280452,32.0063384,12.7575825,1.224269,1.268909,20.5374421,17.1409335,38.2371267,16.85321,38.9066938,63.1495483,37.2366615,49.0399764,23.5740999,3.0470765,12.5652764,11.2456274,31.7539628,15.9851114 +285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2962873,1.3915965,21.778056,16.2011918,23.9709847,14.5174276,36.7351238,60.9178275,31.3401666,48.2476556,22.4969714,4.4771476,15.7047682,11.8473896,34.5265516,20.8844867,1.2832723,1.3789678,22.0232997,16.7199403,24.7354458,15.7384285,37.7121047,61.8859112,31.682543,48.9893674,23.5873442,4.7732969,15.6162985,12.2441259,34.265948,19.379411,1.2370812,1.3311543,22.0706084,16.9289649,25.2667212,16.0386187,37.5586204,62.0501083,31.9703118,49.0101078,24.0253791,4.5749582,16.1469123,12.4282325,33.7762031,21.7944247,1.286036,1.3281867,21.3787282,16.645784,27.2683291,15.659225,36.6981398,62.1569676,32.2568676,49.2649239,24.0230225,4.4687455,15.616621,12.123399,33.7172743,18.8458059,1.262211,1.3038413,20.6306204,15.6388781,28.6798298,15.1314307,37.0629812,62.5592151,31.3737968,49.7841318,23.8050787,4.6429045,15.1176769,11.3945805,33.9058428,18.014388 +286,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9673907,1.0057338,12.8574963,8.8624476,19.7918491,21.1716687,35.6980947,66.2549269,38.9057667,50.6938861,24.2955974,4.0969119,10.0725218,8.9624368,31.1304536,15.2189529,0.9781703,0.9881645,13.3937329,9.386501,20.5817969,21.4649282,36.6128804,65.3583526,38.7160231,50.7507309,24.31653,4.2212764,9.8793024,9.2628892,31.1767702,14.1142464,0.9535544,0.9631056,13.512299,9.3114873,21.2493314,21.3862074,36.8189555,65.5223373,37.5619156,50.4934165,23.8415711,4.0461188,9.663787,9.0883489,31.4805666,13.3104825,0.9656066,0.9745694,13.5278406,9.5434825,21.5493017,21.5087289,37.0953879,65.4774213,37.0987234,49.6328842,23.4423235,4.0971554,9.6090601,9.1382093,30.8840668,14.6270344,1.0123653,1.0216472,13.7522348,9.8174025,21.9658227,21.6946956,36.895343,65.8880792,38.0141276,49.7214451,23.2370496,4.3617447,9.6393759,8.9662226,31.5836334,14.4378296 +287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4395812,0.3835622,8.7182706,5.2722249,73.686939,14.082344,31.8788593,66.0471011,31.0879899,42.5062911,16.3360755,3.948796,8.2974313,7.9453945,32.0216578,7.2535922,0.4822796,0.432736,8.8670817,5.5144931,72.6550222,13.9537006,31.2909402,65.7649279,31.5169042,43.0950222,16.5922197,3.7220787,9.3065464,8.5605656,31.9514797,6.0709209,0.4613117,0.420586,8.9309402,5.5418046,70.8362145,14.1914617,31.0961298,66.120824,32.5812096,43.8151397,17.6693205,3.5282175,9.6395959,8.7989462,32.1756824,6.0339934,0.5101647,0.4638861,8.9549717,5.710382,69.3601795,14.5338837,30.9382846,66.2659316,32.6668736,44.3354531,18.6533136,3.7854217,9.3867166,8.991478,32.3959176,5.1218562,0.5591688,0.5158366,8.9254615,5.9828341,68.3269515,14.9011662,31.2699028,66.9968648,33.1832464,45.1758004,18.829657,3.645319,9.2136878,8.6626695,32.5620573,4.9459178 +288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7121585,0.7106798,11.9709998,7.5141664,73.1363547,8.1782717,34.669405,65.1540826,37.7847112,42.1309919,21.5818565,3.7586711,11.0137815,9.4479593,39.7464863,6.0628067,0.6649479,0.6523594,11.6787896,7.2399583,71.9778944,8.2379405,34.9838267,65.623922,38.1796257,42.4720333,22.096664,3.684841,11.6737167,9.5439819,40.0113204,6.4995771,0.6429203,0.634997,11.2965377,6.9618656,71.2408345,8.6013385,34.8524964,65.3486391,38.1570536,42.6752568,22.0728792,3.8036263,11.4322025,9.3798658,39.70625,5.6546221,0.6476339,0.6503786,11.1967277,6.8514252,70.4841789,8.4870043,34.7719728,65.5663847,38.1892997,42.640993,22.4778172,3.870042,11.44716,9.4793314,39.9064017,5.9084991,0.6282426,0.6369661,11.1183773,6.7636277,69.6766222,8.7627793,34.7207779,65.5802185,38.1561544,42.8368988,23.0272128,4.0372989,10.8707549,9.0811124,39.3932133,5.0435722 +289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6144364,0.6233626,12.8710667,9.7126011,77.809692,9.5386401,32.3168755,66.4440488,28.4622393,44.3212546,15.0261496,2.7188837,11.2485003,9.3993528,30.2058019,7.118395,0.5359035,0.5607346,12.2121305,9.0558004,76.6982894,9.5371045,31.4272107,67.0864532,28.8535575,44.7082268,14.9945076,2.6768504,10.6619524,9.4134507,30.092094,6.8482081,0.6259369,0.6355559,11.7851699,8.6870384,75.5948223,9.2910081,31.2924937,67.2653099,29.3371213,44.7580136,15.095008,2.7250028,10.6160737,9.666749,30.5717967,8.68468,0.6098949,0.6227698,11.7232311,8.5203844,74.6227659,9.2190356,31.4240159,67.3510723,29.113303,44.2998338,14.8733388,2.7074045,10.1999988,9.7492543,30.4645443,8.5593293,0.5385296,0.5449194,11.0756063,7.9072612,73.5013427,9.2071119,31.2802633,66.8256746,29.3446665,44.0826766,14.8002305,2.6061075,10.2601894,9.8336315,31.013515,8.3910151 +290,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6944167,0.6822437,11.7789014,8.1906163,58.6678397,12.4216923,31.7923165,68.7752312,38.6307248,48.072712,18.9624469,5.5679752,10.4338114,9.2045645,32.2789337,6.591805,0.7118547,0.7070679,11.372419,7.6583386,57.1698826,12.72545,31.1270995,68.6279132,37.7332694,48.7831492,18.596546,5.5095271,10.9200319,9.4714913,32.6020485,6.0007974,0.7462105,0.7514941,11.7660418,7.8593971,55.4084338,12.7153245,30.9669677,68.7863328,37.3386143,48.650507,18.2575109,5.485043,11.4150568,10.0218791,32.9332498,4.7733738,0.6380343,0.6850949,11.5243152,7.6985447,54.1327467,12.6650189,30.1308725,68.4997916,36.664904,48.551902,18.085439,5.3698824,11.040281,10.1353062,32.5027842,3.8818067,0.5087372,0.5798012,11.0485102,7.3926225,52.0966674,12.930395,30.3701948,68.0579665,36.8874673,49.1341642,17.7314912,5.1901261,10.7693653,10.2202192,32.5827781,3.2509704 +291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.7300229,0.7474658,12.3973725,7.540665,49.4985199,13.3544989,36.8993662,65.9886219,38.3433679,46.649328,24.9863464,3.1200598,15.2103269,13.5789374,40.0708351,8.3333399,0.6822961,0.7633643,12.1235276,7.3762085,48.7631674,14.5227173,38.0866482,65.8844845,39.9948241,48.4528095,25.6059623,3.4295851,15.7670624,14.8482329,40.619067,6.0000048,0.7536953,0.8249881,12.047881,7.2083506,46.9863787,14.2893436,36.9084422,67.6697658,40.6635529,49.0997936,25.9516133,3.4722093,15.0704348,14.2521476,39.707288,7.6612965,0.8030882,0.87479,11.6581506,7.423459,44.7702133,15.3233975,36.8652904,68.31607,41.4766506,50.5958527,25.9326055,3.6528363,14.5673173,13.3429961,38.964182,9.3495935,0.8313449,0.8313449,11.4234069,7.0912738,44.0139079,15.8072815,36.6578916,68.9736804,42.55259,51.4473483,26.5525957,3.4999812,13.4803961,12.7335534,38.9437233,9.9206349 +292,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3245129,0.3655831,9.384294,6.4221943,80.5848653,10.6002811,31.7778092,65.1197213,27.0275421,39.102729,13.2273382,12.3004612,10.3693468,9.6317539,36.0797525,3.1914903,0.3527086,0.3839481,9.39619,6.3967114,79.0815001,10.7293666,31.5097797,64.9941718,27.3274537,38.9809666,13.0454437,12.5922545,10.406276,9.5994915,36.6432295,3.7486808,0.3603867,0.3983866,9.1812863,6.2183234,77.9063705,10.6522862,31.3179026,65.1771853,27.4249797,39.3235921,13.2113258,12.5387961,10.431646,9.5718135,37.2374972,3.8049311,0.3852777,0.4228527,8.9081546,5.9409102,76.6770091,10.8341751,31.1191953,65.5372648,27.9415475,39.9757568,13.635784,12.627614,10.1100171,9.1969499,36.905053,3.4871252,0.3922986,0.4182509,8.750161,5.8055799,75.5166626,11.0866001,30.9639184,65.0835129,28.2991183,40.4628387,13.9423738,12.7948462,10.2841156,9.1585386,36.9820992,3.8788531 +293,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4822796,0.432736,8.8670817,5.5144931,72.6550222,13.9537006,31.2909402,65.7649279,31.5169042,43.0950222,16.5922197,3.7220787,9.3065464,8.5605656,31.9514797,6.0709209,0.4613117,0.420586,8.9309402,5.5418046,70.8362145,14.1914617,31.0961298,66.120824,32.5812096,43.8151397,17.6693205,3.5282175,9.6395959,8.7989462,32.1756824,6.0339934,0.5101647,0.4638861,8.9549717,5.710382,69.3601795,14.5338837,30.9382846,66.2659316,32.6668736,44.3354531,18.6533136,3.7854217,9.3867166,8.991478,32.3959176,5.1218562,0.5591688,0.5158366,8.9254615,5.9828341,68.3269515,14.9011662,31.2699028,66.9968648,33.1832464,45.1758004,18.829657,3.645319,9.2136878,8.6626695,32.5620573,4.9459178,0.5795491,0.5448833,9.1379046,6.055777,67.2843102,15.1865259,31.4818205,67.0687682,33.3473378,44.1279549,19.0550692,3.763224,9.7469224,8.6953236,33.3904388,5.1714832 +294,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8041237,1.9513991,25.9811617,21.899529,52.8892456,8.1395349,34.1940532,67.057903,29.1862285,45.9311424,15.8841941,5.399061,18.1372549,12.5816993,35.8085809,9.4262295,1.8494152,1.995614,25.3488372,20.8527132,52.8044872,7.7453988,34.1860465,64.5736434,28.1395349,42.8682171,16.0465116,5.1937984,16.7711599,11.1285266,36.2341772,11.25,1.9111111,2.0592593,26.0497667,21.3841369,54.2003231,6.8885449,34.6698113,64.5440252,28.5377358,43.4748428,16.745283,4.7955975,16.7692308,11.5384615,36.4906832,10.3305785,2.1310241,2.2816265,26.2779553,21.3258786,54.6875,7.8199052,35.1674641,65.1515152,28.3094099,45.5342903,17.7830941,5.8213716,15.0621118,11.0248447,35.5590062,10.2459016,2.035913,2.1117855,26.1326861,21.763754,54.884106,8.2268371,35.5177994,65.2912621,27.1035599,46.5210356,18.6893204,5.9061489,14.1269841,10.6687898,36.7834395,8.6065574 +295,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7579011,0.8240586,12.2456933,8.0362775,53.8061175,16.4625244,35.2164788,67.4798415,38.4917713,49.4654098,21.6173808,3.2265968,11.4032907,9.8134492,34.5600015,9.2855016,0.7750411,0.7777058,12.6107951,8.0066192,52.7700552,16.699258,34.3733927,67.5108818,38.7907337,50.2104406,21.6655941,3.1153363,11.7996009,9.8477544,33.7007395,9.8256502,0.8358012,0.8543832,13.0803033,8.1054337,51.7041365,16.5683865,34.9502101,67.3303965,38.4479168,50.8295519,21.7706311,2.9229786,11.6378779,10.1736623,33.7357946,8.384993,0.7807504,0.7885618,13.0871708,8.0457115,51.1051856,16.8522064,34.968039,67.85105,38.2582872,50.983407,21.7969617,2.9690841,11.602014,9.7495474,32.6648882,8.0142356,0.809839,0.8010976,13.1090593,7.8990198,50.1338495,17.3942006,35.0286833,68.5751339,38.4619583,52.0334824,21.885879,3.2177081,11.4423829,9.8542567,33.3407591,7.4386423 +296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.687097,0.6898391,11.6755678,7.3261876,61.5595395,15.4464115,33.1584734,69.8082321,36.6316979,45.4956384,21.0021765,3.0209782,9.3031534,8.0600259,33.3919962,7.6388783,0.6574025,0.6712177,11.5039434,6.8018564,60.3258907,15.25635,33.4842592,69.8116462,36.9974772,45.1466723,20.880119,3.1329212,9.1752695,8.0922925,32.5573485,8.0096932,0.7467569,0.7522412,11.3433388,6.4844557,59.4560105,15.561486,33.0151503,69.7946572,37.9142757,45.0468328,21.2716196,3.4041767,9.9795811,8.1570019,32.2902487,9.0686052,0.8883894,0.8883894,11.839361,6.4499271,58.4760893,15.7262126,32.9289923,69.8488049,38.3790558,45.3762282,21.9233484,3.2876211,9.9331205,8.740795,32.3092583,8.0096893,0.8619166,0.8859937,12.0341351,6.6353187,57.733618,15.7517446,32.856661,69.4385638,38.082633,44.7563444,22.3693463,3.0896842,9.4868384,7.8769505,32.3229005,8.291449 +297,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4043226,0.4392619,10.4451,7.1231036,84.6887638,11.4923808,28.8445444,64.3088579,26.1015432,39.9027826,11.1555477,4.3520538,12.7916199,11.5542817,30.9289751,4.0502906,0.4132773,0.4378913,10.700474,7.3814878,84.2239545,11.5159749,29.259532,64.6898024,27.0533129,40.0283235,11.4569869,4.7291438,12.3262082,11.4315276,30.6001023,5.124685,0.4060473,0.4435506,10.3869667,7.1115,84.0293952,11.4892916,28.4776462,64.5114256,26.3632074,39.8508003,11.2730666,4.551555,11.6022351,10.8181381,30.989126,5.4622522,0.3922502,0.4192731,10.4089497,7.067534,83.2360645,11.8749819,28.6363812,64.8004355,26.5077617,39.7670827,11.186254,4.6230906,11.6454692,10.9951134,30.7643586,6.0224832,0.3778719,0.3927989,9.9781766,7.0865865,82.2958656,11.7665806,28.4785341,65.7662595,26.9349208,40.6283367,11.5875996,4.66374,11.6016093,11.2916945,30.5233144,5.8209911 +298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5359035,0.5607346,12.2121305,9.0558004,76.6982894,9.5371045,31.4272107,67.0864532,28.8535575,44.7082268,14.9945076,2.6768504,10.6619524,9.4134507,30.092094,6.8482081,0.6259369,0.6355559,11.7851699,8.6870384,75.5948223,9.2910081,31.2924937,67.2653099,29.3371213,44.7580136,15.095008,2.7250028,10.6160737,9.666749,30.5717967,8.68468,0.6098949,0.6227698,11.7232311,8.5203844,74.6227659,9.2190356,31.4240159,67.3510723,29.113303,44.2998338,14.8733388,2.7074045,10.1999988,9.7492543,30.4645443,8.5593293,0.5385296,0.5449194,11.0756063,7.9072612,73.5013427,9.2071119,31.2802633,66.8256746,29.3446665,44.0826766,14.8002305,2.6061075,10.2601894,9.8336315,31.013515,8.3910151,0.5027331,0.5092351,11.1719098,7.9858717,72.7344251,9.559946,31.2376938,66.9318513,29.3227161,44.3044195,14.6789714,2.654177,10.3650204,9.9645444,31.3410362,8.7073749 +299,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0279927,1.0579052,19.5229303,16.0020992,36.8940517,18.6467629,38.8630993,64.231495,38.8591132,50.3855621,24.3107989,3.1876017,12.8503545,11.3999723,31.9083247,9.3275438,1.1265934,1.1562666,20.2207658,16.7831175,37.2588765,17.7513607,38.770099,64.0371337,38.1280733,50.1896318,24.3463433,3.2228605,12.5325911,10.8405483,32.3381835,11.2309237,1.2015528,1.2459816,19.871036,16.491607,37.7380709,18.1916519,39.4711064,63.5896792,38.3841993,50.0629298,24.8573031,3.2229078,13.0368725,11.3280452,32.0063384,12.7575825,1.224269,1.268909,20.5374421,17.1409335,38.2371267,16.85321,38.9066938,63.1495483,37.2366615,49.0399764,23.5740999,3.0470765,12.5652764,11.2456274,31.7539628,15.9851114,1.2413468,1.2860097,21.6972138,18.4851298,38.8496061,17.0315793,39.4077877,63.6680857,36.9085145,48.8813897,23.0798481,3.425392,12.3427749,11.2617366,32.8405369,17.7417409 +300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2832723,1.3789678,22.0232997,16.7199403,24.7354458,15.7384285,37.7121047,61.8859112,31.682543,48.9893674,23.5873442,4.7732969,15.6162985,12.2441259,34.265948,19.379411,1.2370812,1.3311543,22.0706084,16.9289649,25.2667212,16.0386187,37.5586204,62.0501083,31.9703118,49.0101078,24.0253791,4.5749582,16.1469123,12.4282325,33.7762031,21.7944247,1.286036,1.3281867,21.3787282,16.645784,27.2683291,15.659225,36.6981398,62.1569676,32.2568676,49.2649239,24.0230225,4.4687455,15.616621,12.123399,33.7172743,18.8458059,1.262211,1.3038413,20.6306204,15.6388781,28.6798298,15.1314307,37.0629812,62.5592151,31.3737968,49.7841318,23.8050787,4.6429045,15.1176769,11.3945805,33.9058428,18.014388,1.3516683,1.3937595,20.8630259,15.653982,29.2844524,15.9242124,37.4030503,63.0825076,31.8543394,50.571114,24.2372225,4.8691801,15.5095416,11.7524095,33.4812493,15.8448026 +301,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.522711,0.4587576,10.7669028,6.9843394,71.3046301,10.4216638,28.6987045,66.7153564,35.9416455,42.2972213,19.368337,4.4581468,10.8043499,9.0609006,33.636336,5.6561086,0.491196,0.4231798,10.6404204,6.851898,70.185165,10.5850732,28.1844284,67.0283496,35.2792464,42.2662801,18.9227737,4.3349278,10.2496699,8.8353286,32.8096417,3.9170507,0.4845928,0.4711227,10.5896311,6.6128112,68.9920671,10.6024581,28.3645787,66.4417907,35.6822131,42.9014746,18.9424719,4.2721016,9.9357211,8.7587852,32.968033,2.6442308,0.5322995,0.5367475,10.6406207,6.7386812,67.8891306,10.145165,27.7304742,66.3953246,35.5964626,42.3981177,18.8879981,4.0589872,10.1116439,8.4678041,32.8351852,2.6829268,0.5711673,0.5667741,10.7203729,6.8442973,67.4549652,10.1236438,27.0645569,66.5988952,35.9626671,42.6364139,18.6697665,4.0857831,10.2578837,8.7932589,32.7273328,3.1100478 +302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6082432,0.6082432,12.2861151,9.9633554,42.2685162,33.0278764,26.7699721,68.3850699,36.087027,47.1431065,19.068338,4.1615346,17.5507045,11.2659511,34.9874235,6.000048,0.7636553,0.7636553,13.3045418,10.9530304,43.981905,30.7166961,27.0049123,68.3585007,35.7769521,45.1756914,19.7369015,4.5739295,17.9321719,11.6799433,36.1114565,6.6407288,0.6371501,0.6371501,13.4027874,11.077179,43.6395924,32.7038896,27.4132275,68.007505,36.2004704,45.3591909,20.1114,4.3935596,16.4084595,10.5196035,35.471622,5.0782242,0.5663212,0.5663212,13.7910427,11.3980655,45.0453428,32.4748426,28.2886116,67.4969029,36.4624708,45.147256,20.1150717,4.7892693,16.9690878,11.0390757,34.2523281,5.118211,0.5493819,0.471317,13.6876171,11.0625827,47.4057722,32.1874648,28.0890839,68.2166015,36.4970254,43.376094,19.2994815,4.9044574,16.4083303,11.5285023,34.6861416,5.8140436 +303,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7718722,0.8047333,13.0935075,8.2417611,79.5096443,12.12154,33.462269,63.4852782,28.402685,41.051647,16.2345796,2.6447803,10.7269438,8.2267086,35.1217573,9.7682119,0.7796794,0.8078954,12.7914165,8.1078265,77.6074911,12.0934783,33.0572541,64.5313624,29.3038485,41.6544436,16.2822455,2.4428576,10.8104329,8.4672908,34.6565846,9.1054313,0.777728,0.7843316,12.463494,7.9578678,75.3190958,12.1697122,32.9850281,65.5161596,29.8606735,41.6614003,16.2233513,2.6493539,10.3526178,8.4902801,34.4853555,8.8709792,0.7636198,0.7313251,11.9172629,7.2973589,73.6395672,12.4113503,32.8477375,66.1739774,30.5508252,42.6946079,16.4291793,2.7541472,10.4833306,9.1229924,34.1296485,8.2848958,0.7846693,0.7523432,11.1146128,6.958445,72.0144461,12.6173186,32.2494877,67.4520349,31.3965865,43.1450056,16.7057626,2.9317695,10.5042034,9.5001901,35.1960592,8.0736613 +304,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.491196,0.4231798,10.6404204,6.851898,70.185165,10.5850732,28.1844284,67.0283496,35.2792464,42.2662801,18.9227737,4.3349278,10.2496699,8.8353286,32.8096417,3.9170507,0.4845928,0.4711227,10.5896311,6.6128112,68.9920671,10.6024581,28.3645787,66.4417907,35.6822131,42.9014746,18.9424719,4.2721016,9.9357211,8.7587852,32.968033,2.6442308,0.5322995,0.5367475,10.6406207,6.7386812,67.8891306,10.145165,27.7304742,66.3953246,35.5964626,42.3981177,18.8879981,4.0589872,10.1116439,8.4678041,32.8351852,2.6829268,0.5711673,0.5667741,10.7203729,6.8442973,67.4549652,10.1236438,27.0645569,66.5988952,35.9626671,42.6364139,18.6697665,4.0857831,10.2578837,8.7932589,32.7273328,3.1100478,0.6730873,0.6687424,10.590284,6.817553,66.0664385,10.8879785,26.8039659,67.0790738,37.0887066,43.2526636,19.2806099,4.146848,10.7277188,8.9480799,33.0206005,4.2410714 +305,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6093493,0.6269913,10.3893573,7.1438548,58.2587647,14.9229625,34.7928582,66.3330148,33.4019087,46.1389908,18.5354532,4.2935343,10.5924476,9.5070385,29.8585788,6.3253012,0.6786834,0.6786834,10.0500908,6.9545967,57.1206759,15.1576341,33.9224613,66.2924071,33.8152918,46.9321944,18.3460025,4.3294288,10.3885226,9.2307488,29.3621246,6.7251541,0.5265238,0.5265238,9.0299685,5.8775549,54.2242173,15.156335,33.06742,67.2576114,33.9357823,47.6891842,18.1126963,3.7672738,10.6328231,9.6211313,30.3179342,6.3636402,0.4612452,0.4612452,8.6574542,5.4176325,51.9241917,15.6617497,32.0575744,67.0610858,34.7469883,47.2546158,18.5280502,3.6474444,10.0435195,9.0829456,29.6459045,4.6296325,0.4225347,0.4225347,7.9183102,4.9279233,49.9397283,16.008481,31.723552,66.8477805,35.0692392,47.9732905,17.6174056,3.5083588,10.1809191,9.431572,29.4820248,3.8922202 +306,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5232829,0.5534701,8.2124876,5.0617608,86.1536906,6.2577746,27.1688137,62.7337802,27.898869,37.0953937,12.648028,5.3279843,9.6942436,8.5740381,37.3863082,3.9953362,0.4884293,0.5127687,8.1212879,4.9168153,85.8231814,6.4290451,27.0085477,62.564713,28.0205013,36.9778241,12.7935482,5.5715127,9.8440927,8.4268179,37.3558564,3.7250301,0.4579721,0.4873632,7.869918,4.7727004,85.578837,6.6713388,26.7214572,62.6768635,28.0352069,37.1853989,13.0505919,5.3297505,10.1193641,8.4262089,37.7650232,3.7969842,0.5014992,0.5285072,7.9437571,4.9063298,85.3360325,6.6514211,26.5993967,62.7605775,28.1187388,37.3540995,13.337348,5.4058429,9.9893123,8.1780151,38.1486097,4.1008277,0.5215758,0.5296212,7.8148215,4.8529573,85.0969583,6.7886089,26.6229971,62.798114,28.3029853,37.7100385,13.3556386,5.4586703,10.4008186,8.3092718,38.5624282,3.8289963 +307,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7796794,0.8078954,12.7914165,8.1078265,77.6074911,12.0934783,33.0572541,64.5313624,29.3038485,41.6544436,16.2822455,2.4428576,10.8104329,8.4672908,34.6565846,9.1054313,0.777728,0.7843316,12.463494,7.9578678,75.3190958,12.1697122,32.9850281,65.5161596,29.8606735,41.6614003,16.2233513,2.6493539,10.3526178,8.4902801,34.4853555,8.8709792,0.7636198,0.7313251,11.9172629,7.2973589,73.6395672,12.4113503,32.8477375,66.1739774,30.5508252,42.6946079,16.4291793,2.7541472,10.4833306,9.1229924,34.1296485,8.2848958,0.7846693,0.7523432,11.1146128,6.958445,72.0144461,12.6173186,32.2494877,67.4520349,31.3965865,43.1450056,16.7057626,2.9317695,10.5042034,9.5001901,35.1960592,8.0736613,0.7445008,0.7017951,10.5146578,6.4859736,70.0762622,12.8240565,31.5795352,67.8632751,32.5225004,43.6669648,17.5632303,2.9682827,10.0364894,8.7601692,34.9979639,8.1944444 +308,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6997182,0.7767198,11.9962675,7.2304357,62.3240827,16.4654815,34.7893596,68.6773022,35.4548558,45.0777159,22.0329228,3.5635404,10.3187101,8.7310964,35.3639793,6.0137932,0.7174435,0.7958967,12.1759812,7.0970789,61.361268,16.8370529,33.7823527,69.1020845,36.2040297,46.3539306,22.2450993,3.7414912,10.3063441,9.1454875,35.021138,6.7010336,0.6945056,0.7825383,11.8097274,6.9571362,60.7281719,18.0416011,32.687626,68.9108211,36.4264168,46.2613027,22.0673667,3.6710331,10.2903383,9.1832575,35.2465704,6.5656555,0.7142078,0.7841366,11.6404907,6.6798173,60.1097604,18.2160992,32.8183309,68.2118589,36.0142187,47.0814658,22.0947736,3.9222959,10.3022827,8.8637237,35.9869799,6.6558419,0.7326106,0.7990801,11.8081625,6.8417371,59.8450084,18.4493606,32.048315,68.4449553,35.9422906,47.0016564,21.7161974,3.777193,9.7907207,8.4750714,35.5060074,5.4636245 +309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7750411,0.7777058,12.6107951,8.0066192,52.7700552,16.699258,34.3733927,67.5108818,38.7907337,50.2104406,21.6655941,3.1153363,11.7996009,9.8477544,33.7007395,9.8256502,0.8358012,0.8543832,13.0803033,8.1054337,51.7041365,16.5683865,34.9502101,67.3303965,38.4479168,50.8295519,21.7706311,2.9229786,11.6378779,10.1736623,33.7357946,8.384993,0.7807504,0.7885618,13.0871708,8.0457115,51.1051856,16.8522064,34.968039,67.85105,38.2582872,50.983407,21.7969617,2.9690841,11.602014,9.7495474,32.6648882,8.0142356,0.809839,0.8010976,13.1090593,7.8990198,50.1338495,17.3942006,35.0286833,68.5751339,38.4619583,52.0334824,21.885879,3.2177081,11.4423829,9.8542567,33.3407591,7.4386423,0.7750616,0.7661308,13.5565705,8.100271,47.557835,17.3555097,35.6262974,69.6317855,39.3797992,52.6609271,22.5785305,3.0555731,11.8907189,10.0035736,31.7884222,8.9743169 +310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7078807,0.7202465,11.4732109,7.1598575,71.1560298,13.4010018,37.7320263,67.8208121,35.7788591,47.0621499,19.4915155,3.4140458,10.9632995,10.9121666,33.3590201,8.7563639,0.7865241,0.7901855,11.193578,6.788013,69.5304691,13.8678686,37.9735563,68.4574908,36.6841794,47.604269,20.0970967,3.4304343,10.8305904,10.5145246,33.4891263,8.6901928,0.8634376,0.8401807,11.4601397,6.9638228,68.0625123,13.6205521,37.2860876,68.4391338,36.8862989,47.3292851,20.3342359,3.3024129,10.9624078,10.5239524,33.9047245,8.8528839,0.87264,0.8677531,11.1865981,6.7525556,66.405968,13.8394997,36.3441141,68.5420665,36.7420275,47.9149949,20.4440652,3.2707314,11.2290776,10.5870273,33.6701106,7.4219194,0.8363733,0.8339477,11.0999089,6.7500531,65.121267,14.1509461,35.3485203,68.3183016,37.0396947,48.0243265,20.6812107,3.1689587,11.5177889,10.7902057,33.4187008,7.9634987 +311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3928242,0.3283009,7.4375873,5.2877828,84.7085294,18.7005301,31.4410282,66.0589943,26.232671,39.6354209,10.6771132,6.3368097,12.0269531,9.896857,34.3405225,3.0844106,0.3247154,0.2924553,7.1031584,4.9496215,84.1316932,19.1685116,31.1478959,65.5478176,26.3478571,39.8435065,10.8000221,5.7217406,11.1803641,8.8003064,34.0319786,3.1456902,0.3637307,0.3316166,7.2516389,4.9671012,84.9788599,18.9911602,31.1894311,65.0311944,26.543017,39.7191722,10.5929454,5.6692091,10.982883,8.5932723,34.2790693,4.5762634,0.3607023,0.3292687,7.3879102,4.8743169,85.0568034,19.2113745,30.6683775,64.4220806,26.1677326,39.976144,10.3818667,6.0859089,10.8566192,8.1721406,34.2424533,4.5607954,0.3340292,0.3340292,6.9341873,4.4828716,83.5894342,20.0169227,29.9090068,64.8953859,27.5134712,40.5364382,11.2516863,5.5836622,11.0136854,8.0613809,34.7012622,4.1946168 +312,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6259369,0.6355559,11.7851699,8.6870384,75.5948223,9.2910081,31.2924937,67.2653099,29.3371213,44.7580136,15.095008,2.7250028,10.6160737,9.666749,30.5717967,8.68468,0.6098949,0.6227698,11.7232311,8.5203844,74.6227659,9.2190356,31.4240159,67.3510723,29.113303,44.2998338,14.8733388,2.7074045,10.1999988,9.7492543,30.4645443,8.5593293,0.5385296,0.5449194,11.0756063,7.9072612,73.5013427,9.2071119,31.2802633,66.8256746,29.3446665,44.0826766,14.8002305,2.6061075,10.2601894,9.8336315,31.013515,8.3910151,0.5027331,0.5092351,11.1719098,7.9858717,72.7344251,9.559946,31.2376938,66.9318513,29.3227161,44.3044195,14.6789714,2.654177,10.3650204,9.9645444,31.3410362,8.7073749,0.5336967,0.5355739,10.8189638,7.6637236,71.2252613,9.3881884,30.5266982,67.409249,30.0854039,44.9893243,14.9110349,2.5978611,10.6661161,10.0137653,31.5416773,7.5815812 +313,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1852988,1.1472628,16.7311808,12.8488074,46.1425491,15.710847,32.474723,65.1005647,35.8165155,39.2280722,18.4558801,6.0492846,9.7900409,8.2155585,38.969841,16.8103448,1.1138189,1.1138189,17.2785838,13.3331595,47.2530651,15.9107237,33.352251,64.670577,35.8889883,39.5455346,18.9622087,6.1051429,10.5427548,8.5444888,39.2381081,17.7295013,1.2002737,1.2002737,17.1705212,13.2735322,47.637804,16.8139944,33.4289448,64.7454957,35.4503891,39.4359872,19.7886831,6.0915858,10.3330028,8.4797799,38.0538137,15.9610817,0.9720542,1.0429746,17.1059539,13.3223291,49.3977421,16.5452849,33.3202678,64.2246504,35.2203641,38.0007482,19.4493417,5.8091105,10.3379602,8.8949008,36.6079554,15.9263975,1.0767432,1.1772025,17.3175367,13.5993832,49.9724962,17.1892918,33.5204428,63.5947037,33.9299739,37.9886555,19.3976368,5.9298778,10.8552701,9.3378593,37.9413658,15.4828111 +314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8358012,0.8543832,13.0803033,8.1054337,51.7041365,16.5683865,34.9502101,67.3303965,38.4479168,50.8295519,21.7706311,2.9229786,11.6378779,10.1736623,33.7357946,8.384993,0.7807504,0.7885618,13.0871708,8.0457115,51.1051856,16.8522064,34.968039,67.85105,38.2582872,50.983407,21.7969617,2.9690841,11.602014,9.7495474,32.6648882,8.0142356,0.809839,0.8010976,13.1090593,7.8990198,50.1338495,17.3942006,35.0286833,68.5751339,38.4619583,52.0334824,21.885879,3.2177081,11.4423829,9.8542567,33.3407591,7.4386423,0.7750616,0.7661308,13.5565705,8.100271,47.557835,17.3555097,35.6262974,69.6317855,39.3797992,52.6609271,22.5785305,3.0555731,11.8907189,10.0035736,31.7884222,8.9743169,0.7014353,0.6924591,14.0303437,8.4779691,46.1735883,16.6783899,36.5966418,69.3913065,39.0376255,53.112365,22.5508626,3.2518256,11.8604359,10.4188698,32.4703255,8.4183249 +315,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0960886,1.0904755,13.8335504,8.9837416,55.011748,16.9521818,36.2811307,68.4073726,38.1846884,46.1695333,22.6319675,2.6229993,11.5480874,10.5685299,36.1584611,7.5537558,1.1012589,1.0956412,14.0127438,8.9966921,52.8027427,17.6621952,35.9801927,68.9565688,38.5420344,47.4847432,23.124944,2.6315515,11.8722749,10.5463266,35.9467268,6.7374979,1.1183242,1.1128705,13.4303413,8.2734668,52.4192747,17.7834142,35.1086972,69.3789459,38.3726968,48.0277995,22.6877836,2.6519059,11.3749628,10.2508406,36.176179,7.553821,1.1671099,1.136303,13.5831745,8.2846447,52.5770065,18.2864151,34.8408321,69.4319342,37.5227835,48.1134288,23.2496845,2.8864826,10.5945756,9.6459323,36.3362974,6.6900231,1.0999378,1.0901828,14.0766855,8.5769856,52.6753378,18.2559581,35.375936,69.7123359,37.278849,48.1635124,23.2075788,2.898344,10.221642,9.2973184,37.4165737,8.0984547 +316,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7174435,0.7958967,12.1759812,7.0970789,61.361268,16.8370529,33.7823527,69.1020845,36.2040297,46.3539306,22.2450993,3.7414912,10.3063441,9.1454875,35.021138,6.7010336,0.6945056,0.7825383,11.8097274,6.9571362,60.7281719,18.0416011,32.687626,68.9108211,36.4264168,46.2613027,22.0673667,3.6710331,10.2903383,9.1832575,35.2465704,6.5656555,0.7142078,0.7841366,11.6404907,6.6798173,60.1097604,18.2160992,32.8183309,68.2118589,36.0142187,47.0814658,22.0947736,3.9222959,10.3022827,8.8637237,35.9869799,6.6558419,0.7326106,0.7990801,11.8081625,6.8417371,59.8450084,18.4493606,32.048315,68.4449553,35.9422906,47.0016564,21.7161974,3.777193,9.7907207,8.4750714,35.5060074,5.4636245,0.811317,0.8856585,11.5087917,6.6262837,59.2706334,18.4941525,32.0390964,68.6622847,36.6103673,47.2337709,21.363796,3.753192,10.1792593,8.8573423,36.0512505,5.8510802 +317,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6786834,0.6786834,10.0500908,6.9545967,57.1206759,15.1576341,33.9224613,66.2924071,33.8152918,46.9321944,18.3460025,4.3294288,10.3885226,9.2307488,29.3621246,6.7251541,0.5265238,0.5265238,9.0299685,5.8775549,54.2242173,15.156335,33.06742,67.2576114,33.9357823,47.6891842,18.1126963,3.7672738,10.6328231,9.6211313,30.3179342,6.3636402,0.4612452,0.4612452,8.6574542,5.4176325,51.9241917,15.6617497,32.0575744,67.0610858,34.7469883,47.2546158,18.5280502,3.6474444,10.0435195,9.0829456,29.6459045,4.6296325,0.4225347,0.4225347,7.9183102,4.9279233,49.9397283,16.008481,31.723552,66.8477805,35.0692392,47.9732905,17.6174056,3.5083588,10.1809191,9.431572,29.4820248,3.8922202,0.4203266,0.4376715,8.0519773,5.0070098,48.8583373,16.1755496,31.9056316,67.2355784,35.0505767,47.6582594,17.2710455,3.5364218,9.6775465,8.4439239,29.2918095,4.0372746 +318,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6333633,0.6253501,11.643383,7.707844,65.8185341,17.9893215,35.1294994,67.5689209,34.6734292,46.5276702,20.6650567,2.4107102,12.2503134,10.6508287,36.8053677,7.4469606,0.4997625,0.483694,11.2644086,7.2735024,64.7060174,18.2607325,34.9941177,68.0413895,35.691307,46.3254959,20.2410395,2.644013,12.414894,11.2382303,37.136662,8.0645213,0.4915921,0.4835542,10.8622961,7.104669,63.2073535,18.6102873,33.8231306,67.9649616,35.7609318,46.0657627,19.8502982,2.8611171,13.0778685,11.6581515,36.9379935,5.9859197,0.3970242,0.3890217,10.8121214,7.1723051,61.3473205,18.3035795,32.9672465,67.7972306,36.1769849,46.4806922,19.9834797,2.8926527,12.3384645,11.5847633,36.5801387,3.6666667,0.5698521,0.5464479,11.8221644,7.2846634,60.2044998,19.4112568,33.5933384,68.4208751,36.5499238,46.6772216,20.5653297,3.0213096,12.2107653,11.659292,37.4725914,3.555505 +319,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1249309,1.0363513,19.2045847,15.3355336,34.9848038,18.5306069,30.8054142,65.9610894,34.5428799,47.21507,20.9359657,2.5403445,13.8641543,13.1188968,37.5469003,17.405785,1.0968197,1.0129079,20.371375,16.5942056,34.0985958,18.7493542,30.6208472,66.3771453,34.7294723,47.7769984,20.8488001,2.6928515,14.4220641,13.9418445,38.1091124,14.7954539,1.2184068,1.1734354,20.5802958,17.4345661,34.6414407,19.0500258,30.6325508,65.2719215,34.5052494,46.6073277,20.5202874,2.7701014,13.2498084,13.4532409,38.7792618,16.5341859,1.4089219,1.3407849,21.3703185,17.9842002,35.2693752,18.6119081,30.8999439,64.4087258,34.4185638,45.7627939,20.5004129,2.9150083,13.0716011,12.8599051,37.2089389,16.0674373,1.4846458,1.4305312,22.3372219,18.9162172,34.962164,17.764618,31.1241335,63.7428471,34.7716519,45.6639323,20.5771031,2.7612295,12.3917237,12.2083839,38.0068574,17.3432159 +320,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7118547,0.7070679,11.372419,7.6583386,57.1698826,12.72545,31.1270995,68.6279132,37.7332694,48.7831492,18.596546,5.5095271,10.9200319,9.4714913,32.6020485,6.0007974,0.7462105,0.7514941,11.7660418,7.8593971,55.4084338,12.7153245,30.9669677,68.7863328,37.3386143,48.650507,18.2575109,5.485043,11.4150568,10.0218791,32.9332498,4.7733738,0.6380343,0.6850949,11.5243152,7.6985447,54.1327467,12.6650189,30.1308725,68.4997916,36.664904,48.551902,18.085439,5.3698824,11.040281,10.1353062,32.5027842,3.8818067,0.5087372,0.5798012,11.0485102,7.3926225,52.0966674,12.930395,30.3701948,68.0579665,36.8874673,49.1341642,17.7314912,5.1901261,10.7693653,10.2202192,32.5827781,3.2509704,0.556286,0.5973834,11.033554,7.3176626,50.3973728,13.1883043,30.648096,67.8685824,37.2379376,48.4373059,18.133081,5.1220806,11.1692188,10.3107954,31.5643563,3.6242337 +321,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8861493,0.7921321,21.403998,17.276327,31.8494149,22.6228668,35.3760157,68.5964791,36.6791906,49.8294211,22.3621566,3.7327234,11.5056819,9.5799131,29.6063717,18.3760841,0.9290133,0.837464,21.2709036,17.3976027,32.3882723,22.4674009,34.945688,68.6589668,36.7504819,49.500309,22.128554,3.5718792,11.0584194,10.1609905,29.4873599,16.6667344,0.9630531,0.9332506,21.3591108,17.5326786,33.186441,22.1246907,34.7933944,68.0615954,36.7306095,49.3568309,22.4316372,3.1394326,10.2709277,9.1317778,28.4138032,20.2380792,0.9379034,0.9081064,22.1949457,18.3787409,34.4806495,21.828749,35.0494135,66.8204561,35.1098958,48.7957798,21.1104036,3.1449842,10.115007,9.06922,30.5483547,15.8185362,1.1134339,1.083591,22.896594,19.3312828,34.9369988,21.0423151,35.2874057,67.563669,34.6321326,48.4255381,21.8903908,3.0895828,10.8641173,9.4464152,29.79506,15.0073293 +322,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8349906,0.7755924,10.2008689,6.832447,82.6918953,11.0548788,29.6571269,61.7993533,30.7562187,39.6728947,14.1295132,2.7480885,12.7638013,11.1412222,38.5521505,8.2663429,0.7044896,0.6435346,10.1276973,6.6759035,81.9355211,11.5704302,29.564975,61.3988128,31.2857522,40.0358119,14.4654987,2.9983277,12.1215313,11.7914158,38.2643001,5.2403349,0.6821557,0.6213802,9.634809,6.0015652,79.9307475,12.055867,28.6366675,61.5808492,32.3256078,40.3800509,14.859608,2.8538358,12.0368927,11.5762507,36.7099142,4.3307155,0.6909752,0.629414,9.9633378,6.1579653,78.7158057,11.6148646,28.3334505,61.5440805,31.0530213,39.976829,14.6276262,2.8942013,11.2533186,11.361157,37.2992335,4.400007,0.6405432,0.5790955,9.3255709,5.5126935,78.5621443,11.3347378,26.4140379,61.4574616,30.6365886,38.9968093,14.1624647,3.1456846,11.7033697,10.8631088,37.4478286,4.8872254 +323,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4688928,0.4764697,11.0948226,7.0612613,65.4443065,8.6872405,29.9558796,68.7807052,37.9374327,40.724957,19.1366698,4.0760062,10.0441307,8.1296939,35.7779513,5.8789283,0.5118506,0.5162937,11.2650156,7.2137816,63.9607771,9.0772071,29.8201652,68.9023181,38.7136417,41.5536535,19.9931215,4.2501984,10.1655091,8.262676,35.607212,5.6896552,0.5369603,0.5387002,11.207827,7.2145173,63.0385352,9.2712346,30.1764477,69.1119117,39.2717898,42.6155167,20.2719828,4.1577315,10.2008581,8.5274974,35.5295191,5.6378132,0.5522345,0.5422547,11.0132338,7.0712465,62.1253517,9.3946604,30.1001255,69.3414832,39.631272,42.6927854,20.703763,4.3082708,10.2383157,8.668877,35.6416378,6.1373881,0.6177419,0.6200242,11.1405417,7.2488186,61.4478244,9.2263298,30.0401528,69.7686657,40.2208234,43.413628,21.0926299,4.382947,9.9451056,8.6665465,35.4162815,6.4793585 +324,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3575025,0.3359229,8.8193791,5.1505174,80.2693762,17.9350348,33.1376233,65.6411461,28.1117896,41.3574448,13.8327853,3.8280883,9.7465035,9.1666667,33.9929639,3.3505155,0.3586061,0.3372203,8.8717228,5.079588,78.8748833,18.2382705,33.7290503,65.6191806,27.9096834,41.2243948,13.896648,4.1201117,9.9312124,8.6712683,34.3587522,1.7766497,0.391313,0.3702869,9.0763603,5.0068587,77.6177412,17.9134745,33.4017328,66.005472,28.0209758,41.3360693,14.3410853,3.9443684,10.1345669,8.9029536,34.8471986,2.8795812,0.5231897,0.5019312,8.9576547,4.8161936,77.3317865,17.6618049,33.4025854,65.7663897,27.7700831,41.3434903,14.4275162,3.6703601,9.4617325,7.8836425,35.4414261,2.972973,0.5984827,0.5780076,8.7449933,4.6951491,75.7798574,18.514461,32.0274458,65.6706507,28.75166,42.1646746,15.2501107,3.6520584,8.9837398,7.6202119,33.7837838,2.7363184 +325,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6574025,0.6712177,11.5039434,6.8018564,60.3258907,15.25635,33.4842592,69.8116462,36.9974772,45.1466723,20.880119,3.1329212,9.1752695,8.0922925,32.5573485,8.0096932,0.7467569,0.7522412,11.3433388,6.4844557,59.4560105,15.561486,33.0151503,69.7946572,37.9142757,45.0468328,21.2716196,3.4041767,9.9795811,8.1570019,32.2902487,9.0686052,0.8883894,0.8883894,11.839361,6.4499271,58.4760893,15.7262126,32.9289923,69.8488049,38.3790558,45.3762282,21.9233484,3.2876211,9.9331205,8.740795,32.3092583,8.0096893,0.8619166,0.8859937,12.0341351,6.6353187,57.733618,15.7517446,32.856661,69.4385638,38.082633,44.7563444,22.3693463,3.0896842,9.4868384,7.8769505,32.3229005,8.291449,0.7647242,0.7884734,11.9113177,6.7205262,56.7811566,16.0214308,32.162847,69.0251538,37.683449,44.881213,22.5541721,2.9874165,10.0135832,8.4578871,32.6161345,9.0243814 +326,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9347869,0.9461134,12.8757291,8.7732881,57.5337264,13.9899442,35.3552393,67.7914629,36.0636656,44.3025222,24.6780815,3.5168754,12.2863041,10.4376387,41.9122088,10.2499154,1.0112504,1.0334135,13.0865891,8.974351,56.8860866,15.1566965,35.6966371,67.4159887,36.3389252,45.4792383,24.7776468,3.8290542,12.1256109,10.4267762,42.7245995,10.103539,1.2075953,1.196754,13.2779049,9.429926,55.8007064,16.2918546,35.6729395,67.8002613,36.5894814,46.4302989,23.8542961,3.9797424,11.8003819,10.7109528,43.455743,8.8941474,0.9788325,0.9581286,13.4257132,9.4275331,54.620472,16.476741,36.2362178,68.8189135,37.3391549,47.1737187,24.5174435,4.3428331,11.3515961,9.7787663,43.5267772,9.1980275,0.9555817,0.9354547,13.5892087,9.0080816,53.8468839,16.7694329,36.4156327,68.2860196,37.0861231,47.5009942,24.0786798,4.8134179,11.0400738,9.7947013,44.1328653,9.275936 +327,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.6082286,0.6020004,7.5843517,4.9191963,84.7233779,15.8689182,28.7225303,63.3379062,29.0522007,36.5796734,14.4917556,7.4313215,10.1437679,7.7849089,36.1799632,4.3803419,0.5745689,0.5683945,8.0636105,4.9676344,84.323202,15.5726662,27.7671772,63.3724052,28.6395876,36.5185408,15.3353299,6.909242,10.4834452,8.311343,36.9161423,4.1577825,0.5760483,0.5699239,8.3610672,5.1719371,82.424655,15.7831349,26.8229906,63.8519915,29.642181,38.6419101,15.9257222,7.1951243,9.9266611,8.3245772,36.7546238,4.3237251,0.4531713,0.4471588,8.1746463,5.0190414,81.0712319,15.9037128,26.5058647,63.7126873,28.9578938,38.0730276,15.791578,7.1276337,9.4866621,8.2996952,36.5043172,4.1387034,0.4237388,0.4177864,8.0026965,4.9797534,79.7736329,16.0942031,26.9332317,63.8031203,29.0182153,38.4402217,15.8749038,6.9261211,9.3356006,7.7577851,36.0812243,4.2528745 +328,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5118506,0.5162937,11.2650156,7.2137816,63.9607771,9.0772071,29.8201652,68.9023181,38.7136417,41.5536535,19.9931215,4.2501984,10.1655091,8.262676,35.607212,5.6896552,0.5369603,0.5387002,11.207827,7.2145173,63.0385352,9.2712346,30.1764477,69.1119117,39.2717898,42.6155167,20.2719828,4.1577315,10.2008581,8.5274974,35.5295191,5.6378132,0.5522345,0.5422547,11.0132338,7.0712465,62.1253517,9.3946604,30.1001255,69.3414832,39.631272,42.6927854,20.703763,4.3082708,10.2383157,8.668877,35.6416378,6.1373881,0.6177419,0.6200242,11.1405417,7.2488186,61.4478244,9.2263298,30.0401528,69.7686657,40.2208234,43.413628,21.0926299,4.382947,9.9451056,8.6665465,35.4162815,6.4793585,0.6256372,0.6379073,11.0945572,7.2698432,60.281456,8.9789549,29.8922406,70.1649814,40.4587087,43.3768782,21.4524116,4.4392527,9.7118362,8.5920395,35.3357853,6.25 +329,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.7636553,0.7636553,13.3045418,10.9530304,43.981905,30.7166961,27.0049123,68.3585007,35.7769521,45.1756914,19.7369015,4.5739295,17.9321719,11.6799433,36.1114565,6.6407288,0.6371501,0.6371501,13.4027874,11.077179,43.6395924,32.7038896,27.4132275,68.007505,36.2004704,45.3591909,20.1114,4.3935596,16.4084595,10.5196035,35.471622,5.0782242,0.5663212,0.5663212,13.7910427,11.3980655,45.0453428,32.4748426,28.2886116,67.4969029,36.4624708,45.147256,20.1150717,4.7892693,16.9690878,11.0390757,34.2523281,5.118211,0.5493819,0.471317,13.6876171,11.0625827,47.4057722,32.1874648,28.0890839,68.2166015,36.4970254,43.376094,19.2994815,4.9044574,16.4083303,11.5285023,34.6861416,5.8140436,0.6602931,0.5829527,12.7937225,9.9506731,48.3352252,32.6543134,27.6101239,67.4844118,36.9184054,42.7046344,19.6856317,4.9685468,15.0633171,9.7715459,33.8876868,5.8594666 +330,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3697758,0.4583895,8.0912042,5.1856346,80.6445068,18.9785339,30.74297,61.0642572,25.0803223,37.3694734,12.0682715,5.4016075,10.6231255,9.2105209,34.8496244,3.4246575,0.390347,0.4655619,7.9166689,4.900795,79.5346045,19.1842285,31.27222,60.9442934,25.701306,37.1592226,12.4654277,5.7092072,10.134632,8.9446053,35.2213058,2.4886878,0.3767887,0.4516817,8.1331255,4.8247355,78.6054856,18.7037724,31.4573443,60.6042655,25.8886268,37.1445492,12.4210096,5.6279632,9.794573,8.847278,35.5726877,2.4553571,0.3957663,0.4697623,7.993024,4.686907,78.9156583,18.9606602,30.8124002,61.3334777,26.5358513,37.3443021,12.8499578,5.9292562,10.2794263,9.2115132,35.2625892,2.8138528,0.3699222,0.444629,7.8803541,4.5561352,78.1424159,19.6261175,30.1285039,62.2268775,27.1256668,38.123849,14.3331108,5.6747449,10.6681632,9.2313664,34.0665146,3.8116592 +331,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0968197,1.0129079,20.371375,16.5942056,34.0985958,18.7493542,30.6208472,66.3771453,34.7294723,47.7769984,20.8488001,2.6928515,14.4220641,13.9418445,38.1091124,14.7954539,1.2184068,1.1734354,20.5802958,17.4345661,34.6414407,19.0500258,30.6325508,65.2719215,34.5052494,46.6073277,20.5202874,2.7701014,13.2498084,13.4532409,38.7792618,16.5341859,1.4089219,1.3407849,21.3703185,17.9842002,35.2693752,18.6119081,30.8999439,64.4087258,34.4185638,45.7627939,20.5004129,2.9150083,13.0716011,12.8599051,37.2089389,16.0674373,1.4846458,1.4305312,22.3372219,18.9162172,34.962164,17.764618,31.1241335,63.7428471,34.7716519,45.6639323,20.5771031,2.7612295,12.3917237,12.2083839,38.0068574,17.3432159,1.5365973,1.5290073,23.5074761,19.8123567,35.1253503,17.1085116,30.9030823,64.3138907,33.9319022,45.1043853,19.8703622,2.6567158,12.7728933,11.7476082,38.1411583,16.5584308 +332,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4997625,0.483694,11.2644086,7.2735024,64.7060174,18.2607325,34.9941177,68.0413895,35.691307,46.3254959,20.2410395,2.644013,12.414894,11.2382303,37.136662,8.0645213,0.4915921,0.4835542,10.8622961,7.104669,63.2073535,18.6102873,33.8231306,67.9649616,35.7609318,46.0657627,19.8502982,2.8611171,13.0778685,11.6581515,36.9379935,5.9859197,0.3970242,0.3890217,10.8121214,7.1723051,61.3473205,18.3035795,32.9672465,67.7972306,36.1769849,46.4806922,19.9834797,2.8926527,12.3384645,11.5847633,36.5801387,3.6666667,0.5698521,0.5464479,11.8221644,7.2846634,60.2044998,19.4112568,33.5933384,68.4208751,36.5499238,46.6772216,20.5653297,3.0213096,12.2107653,11.659292,37.4725914,3.555505,0.5628929,0.5400065,12.6431751,7.7238294,59.4918192,19.3645753,33.2801848,68.3568036,36.0500361,46.5566675,20.6880167,3.0431129,11.933554,12.3692674,38.0561421,4.4725386 +333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4613117,0.420586,8.9309402,5.5418046,70.8362145,14.1914617,31.0961298,66.120824,32.5812096,43.8151397,17.6693205,3.5282175,9.6395959,8.7989462,32.1756824,6.0339934,0.5101647,0.4638861,8.9549717,5.710382,69.3601795,14.5338837,30.9382846,66.2659316,32.6668736,44.3354531,18.6533136,3.7854217,9.3867166,8.991478,32.3959176,5.1218562,0.5591688,0.5158366,8.9254615,5.9828341,68.3269515,14.9011662,31.2699028,66.9968648,33.1832464,45.1758004,18.829657,3.645319,9.2136878,8.6626695,32.5620573,4.9459178,0.5795491,0.5448833,9.1379046,6.055777,67.2843102,15.1865259,31.4818205,67.0687682,33.3473378,44.1279549,19.0550692,3.763224,9.7469224,8.6953236,33.3904388,5.1714832,0.5699896,0.5349388,9.1946156,6.1220467,65.7811504,15.1150343,31.6433821,66.9286556,33.1457048,43.7543055,18.7388916,3.6423621,10.3809505,9.1092812,33.4600564,5.6816815 +334,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1138189,1.1138189,17.2785838,13.3331595,47.2530651,15.9107237,33.352251,64.670577,35.8889883,39.5455346,18.9622087,6.1051429,10.5427548,8.5444888,39.2381081,17.7295013,1.2002737,1.2002737,17.1705212,13.2735322,47.637804,16.8139944,33.4289448,64.7454957,35.4503891,39.4359872,19.7886831,6.0915858,10.3330028,8.4797799,38.0538137,15.9610817,0.9720542,1.0429746,17.1059539,13.3223291,49.3977421,16.5452849,33.3202678,64.2246504,35.2203641,38.0007482,19.4493417,5.8091105,10.3379602,8.8949008,36.6079554,15.9263975,1.0767432,1.1772025,17.3175367,13.5993832,49.9724962,17.1892918,33.5204428,63.5947037,33.9299739,37.9886555,19.3976368,5.9298778,10.8552701,9.3378593,37.9413658,15.4828111,1.1956358,1.2762045,17.7133032,13.9071222,52.105311,16.5770782,33.4458986,62.7073689,33.5550213,37.6360846,19.4729881,5.5015447,10.6397927,10.0970829,38.003641,17.6229192 +335,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0112504,1.0334135,13.0865891,8.974351,56.8860866,15.1566965,35.6966371,67.4159887,36.3389252,45.4792383,24.7776468,3.8290542,12.1256109,10.4267762,42.7245995,10.103539,1.2075953,1.196754,13.2779049,9.429926,55.8007064,16.2918546,35.6729395,67.8002613,36.5894814,46.4302989,23.8542961,3.9797424,11.8003819,10.7109528,43.455743,8.8941474,0.9788325,0.9581286,13.4257132,9.4275331,54.620472,16.476741,36.2362178,68.8189135,37.3391549,47.1737187,24.5174435,4.3428331,11.3515961,9.7787663,43.5267772,9.1980275,0.9555817,0.9354547,13.5892087,9.0080816,53.8468839,16.7694329,36.4156327,68.2860196,37.0861231,47.5009942,24.0786798,4.8134179,11.0400738,9.7947013,44.1328653,9.275936,1.0063663,0.9863681,13.6511593,8.8459528,52.4639051,16.8702366,36.491691,68.655626,37.4663613,47.833249,24.3526568,4.6378591,10.5504631,10.075255,43.3811181,7.4323907 +336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2075953,1.196754,13.2779049,9.429926,55.8007064,16.2918546,35.6729395,67.8002613,36.5894814,46.4302989,23.8542961,3.9797424,11.8003819,10.7109528,43.455743,8.8941474,0.9788325,0.9581286,13.4257132,9.4275331,54.620472,16.476741,36.2362178,68.8189135,37.3391549,47.1737187,24.5174435,4.3428331,11.3515961,9.7787663,43.5267772,9.1980275,0.9555817,0.9354547,13.5892087,9.0080816,53.8468839,16.7694329,36.4156327,68.2860196,37.0861231,47.5009942,24.0786798,4.8134179,11.0400738,9.7947013,44.1328653,9.275936,1.0063663,0.9863681,13.6511593,8.8459528,52.4639051,16.8702366,36.491691,68.655626,37.4663613,47.833249,24.3526568,4.6378591,10.5504631,10.075255,43.3811181,7.4323907,0.9295988,0.9094736,13.9650717,9.1997392,53.3107181,16.6867323,35.7484452,68.259774,37.0845332,47.2387631,24.1690374,4.6622588,11.50628,10.7052933,44.2145288,5.4112145 +337,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7807504,0.7885618,13.0871708,8.0457115,51.1051856,16.8522064,34.968039,67.85105,38.2582872,50.983407,21.7969617,2.9690841,11.602014,9.7495474,32.6648882,8.0142356,0.809839,0.8010976,13.1090593,7.8990198,50.1338495,17.3942006,35.0286833,68.5751339,38.4619583,52.0334824,21.885879,3.2177081,11.4423829,9.8542567,33.3407591,7.4386423,0.7750616,0.7661308,13.5565705,8.100271,47.557835,17.3555097,35.6262974,69.6317855,39.3797992,52.6609271,22.5785305,3.0555731,11.8907189,10.0035736,31.7884222,8.9743169,0.7014353,0.6924591,14.0303437,8.4779691,46.1735883,16.6783899,36.5966418,69.3913065,39.0376255,53.112365,22.5508626,3.2518256,11.8604359,10.4188698,32.4703255,8.4183249,0.8193421,0.8102803,14.0758022,8.5328931,46.1651481,16.3298862,37.3479052,68.5446738,38.8024698,52.5982423,22.6801301,3.5527538,11.381993,9.9506935,32.6799375,8.793924 +338,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3586061,0.3372203,8.8717228,5.079588,78.8748833,18.2382705,33.7290503,65.6191806,27.9096834,41.2243948,13.896648,4.1201117,9.9312124,8.6712683,34.3587522,1.7766497,0.391313,0.3702869,9.0763603,5.0068587,77.6177412,17.9134745,33.4017328,66.005472,28.0209758,41.3360693,14.3410853,3.9443684,10.1345669,8.9029536,34.8471986,2.8795812,0.5231897,0.5019312,8.9576547,4.8161936,77.3317865,17.6618049,33.4025854,65.7663897,27.7700831,41.3434903,14.4275162,3.6703601,9.4617325,7.8836425,35.4414261,2.972973,0.5984827,0.5780076,8.7449933,4.6951491,75.7798574,18.514461,32.0274458,65.6706507,28.75166,42.1646746,15.2501107,3.6520584,8.9837398,7.6202119,33.7837838,2.7363184,0.532851,0.5259923,8.0205541,4.1778374,74.5660881,19.2778993,32.4867491,65.3047703,29.7482332,43.0432862,15.4814488,3.8206714,8.7366694,7.6069079,33.5950413,3.6231884 +339,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3527086,0.3839481,9.39619,6.3967114,79.0815001,10.7293666,31.5097797,64.9941718,27.3274537,38.9809666,13.0454437,12.5922545,10.406276,9.5994915,36.6432295,3.7486808,0.3603867,0.3983866,9.1812863,6.2183234,77.9063705,10.6522862,31.3179026,65.1771853,27.4249797,39.3235921,13.2113258,12.5387961,10.431646,9.5718135,37.2374972,3.8049311,0.3852777,0.4228527,8.9081546,5.9409102,76.6770091,10.8341751,31.1191953,65.5372648,27.9415475,39.9757568,13.635784,12.627614,10.1100171,9.1969499,36.905053,3.4871252,0.3922986,0.4182509,8.750161,5.8055799,75.5166626,11.0866001,30.9639184,65.0835129,28.2991183,40.4628387,13.9423738,12.7948462,10.2841156,9.1585386,36.9820992,3.8788531,0.4179278,0.4434897,8.865472,5.7357387,74.4140138,10.9710664,30.4508913,65.2034675,28.9186119,40.5237422,14.0856612,12.9804051,10.2082329,8.908398,37.2764545,4.2319758 +340,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.391313,0.3702869,9.0763603,5.0068587,77.6177412,17.9134745,33.4017328,66.005472,28.0209758,41.3360693,14.3410853,3.9443684,10.1345669,8.9029536,34.8471986,2.8795812,0.5231897,0.5019312,8.9576547,4.8161936,77.3317865,17.6618049,33.4025854,65.7663897,27.7700831,41.3434903,14.4275162,3.6703601,9.4617325,7.8836425,35.4414261,2.972973,0.5984827,0.5780076,8.7449933,4.6951491,75.7798574,18.514461,32.0274458,65.6706507,28.75166,42.1646746,15.2501107,3.6520584,8.9837398,7.6202119,33.7837838,2.7363184,0.532851,0.5259923,8.0205541,4.1778374,74.5660881,19.2778993,32.4867491,65.3047703,29.7482332,43.0432862,15.4814488,3.8206714,8.7366694,7.6069079,33.5950413,3.6231884,0.6900978,0.6833447,8.013245,3.9072848,74.2027086,20.1159296,32.3733218,64.8549155,30.3811174,43.763534,15.5695106,4.0909091,8.7810746,7.423756,33.9386602,3.0516432 +341,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5231897,0.5019312,8.9576547,4.8161936,77.3317865,17.6618049,33.4025854,65.7663897,27.7700831,41.3434903,14.4275162,3.6703601,9.4617325,7.8836425,35.4414261,2.972973,0.5984827,0.5780076,8.7449933,4.6951491,75.7798574,18.514461,32.0274458,65.6706507,28.75166,42.1646746,15.2501107,3.6520584,8.9837398,7.6202119,33.7837838,2.7363184,0.532851,0.5259923,8.0205541,4.1778374,74.5660881,19.2778993,32.4867491,65.3047703,29.7482332,43.0432862,15.4814488,3.8206714,8.7366694,7.6069079,33.5950413,3.6231884,0.6900978,0.6833447,8.013245,3.9072848,74.2027086,20.1159296,32.3733218,64.8549155,30.3811174,43.763534,15.5695106,4.0909091,8.7810746,7.423756,33.9386602,3.0516432,0.7585423,0.7518408,8.3296703,4.1098901,73.7288136,20.4662104,32.1027634,64.8316062,30.246114,43.7176166,15.4792746,4.2080276,9.0361446,8.159164,34.9636217,3.8812785 +342,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.390347,0.4655619,7.9166689,4.900795,79.5346045,19.1842285,31.27222,60.9442934,25.701306,37.1592226,12.4654277,5.7092072,10.134632,8.9446053,35.2213058,2.4886878,0.3767887,0.4516817,8.1331255,4.8247355,78.6054856,18.7037724,31.4573443,60.6042655,25.8886268,37.1445492,12.4210096,5.6279632,9.794573,8.847278,35.5726877,2.4553571,0.3957663,0.4697623,7.993024,4.686907,78.9156583,18.9606602,30.8124002,61.3334777,26.5358513,37.3443021,12.8499578,5.9292562,10.2794263,9.2115132,35.2625892,2.8138528,0.3699222,0.444629,7.8803541,4.5561352,78.1424159,19.6261175,30.1285039,62.2268775,27.1256668,38.123849,14.3331108,5.6747449,10.6681632,9.2313664,34.0665146,3.8116592,0.2629524,0.3324695,7.6407714,4.3087078,77.3287005,19.590306,29.8706714,61.9254554,27.7441019,39.5554722,14.9069896,5.3361353,10.3364272,9.2852581,32.8060824,3.6170213 +343,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7044896,0.6435346,10.1276973,6.6759035,81.9355211,11.5704302,29.564975,61.3988128,31.2857522,40.0358119,14.4654987,2.9983277,12.1215313,11.7914158,38.2643001,5.2403349,0.6821557,0.6213802,9.634809,6.0015652,79.9307475,12.055867,28.6366675,61.5808492,32.3256078,40.3800509,14.859608,2.8538358,12.0368927,11.5762507,36.7099142,4.3307155,0.6909752,0.629414,9.9633378,6.1579653,78.7158057,11.6148646,28.3334505,61.5440805,31.0530213,39.976829,14.6276262,2.8942013,11.2533186,11.361157,37.2992335,4.400007,0.6405432,0.5790955,9.3255709,5.5126935,78.5621443,11.3347378,26.4140379,61.4574616,30.6365886,38.9968093,14.1624647,3.1456846,11.7033697,10.8631088,37.4478286,4.8872254,0.3815371,0.3815371,8.5981605,5.3536691,76.9074506,12.3807515,25.4438133,60.7995383,32.40395,39.9938717,15.3375952,3.1558279,12.3396962,12.4493787,37.4727351,4.2307757 +344,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1012589,1.0956412,14.0127438,8.9966921,52.8027427,17.6621952,35.9801927,68.9565688,38.5420344,47.4847432,23.124944,2.6315515,11.8722749,10.5463266,35.9467268,6.7374979,1.1183242,1.1128705,13.4303413,8.2734668,52.4192747,17.7834142,35.1086972,69.3789459,38.3726968,48.0277995,22.6877836,2.6519059,11.3749628,10.2508406,36.176179,7.553821,1.1671099,1.136303,13.5831745,8.2846447,52.5770065,18.2864151,34.8408321,69.4319342,37.5227835,48.1134288,23.2496845,2.8864826,10.5945756,9.6459323,36.3362974,6.6900231,1.0999378,1.0901828,14.0766855,8.5769856,52.6753378,18.2559581,35.375936,69.7123359,37.278849,48.1635124,23.2075788,2.898344,10.221642,9.2973184,37.4165737,8.0984547,1.0694078,1.0564695,13.9273193,8.449126,52.9064259,18.0452936,35.1692398,69.8458359,36.4980537,48.5853312,23.2530848,3.1077053,10.6854103,9.4406137,36.929369,7.9858782 +345,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1183242,1.1128705,13.4303413,8.2734668,52.4192747,17.7834142,35.1086972,69.3789459,38.3726968,48.0277995,22.6877836,2.6519059,11.3749628,10.2508406,36.176179,7.553821,1.1671099,1.136303,13.5831745,8.2846447,52.5770065,18.2864151,34.8408321,69.4319342,37.5227835,48.1134288,23.2496845,2.8864826,10.5945756,9.6459323,36.3362974,6.6900231,1.0999378,1.0901828,14.0766855,8.5769856,52.6753378,18.2559581,35.375936,69.7123359,37.278849,48.1635124,23.2075788,2.898344,10.221642,9.2973184,37.4165737,8.0984547,1.0694078,1.0564695,13.9273193,8.449126,52.9064259,18.0452936,35.1692398,69.8458359,36.4980537,48.5853312,23.2530848,3.1077053,10.6854103,9.4406137,36.929369,7.9858782,1.0861612,1.0861612,13.6571473,8.1858652,51.6090624,18.7980101,34.7046306,69.9915931,37.2898276,47.9749877,23.5887803,3.0375799,10.4113463,9.3722165,36.5029929,9.1835298 +346,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9781703,0.9881645,13.3937329,9.386501,20.5817969,21.4649282,36.6128804,65.3583526,38.7160231,50.7507309,24.31653,4.2212764,9.8793024,9.2628892,31.1767702,14.1142464,0.9535544,0.9631056,13.512299,9.3114873,21.2493314,21.3862074,36.8189555,65.5223373,37.5619156,50.4934165,23.8415711,4.0461188,9.663787,9.0883489,31.4805666,13.3104825,0.9656066,0.9745694,13.5278406,9.5434825,21.5493017,21.5087289,37.0953879,65.4774213,37.0987234,49.6328842,23.4423235,4.0971554,9.6090601,9.1382093,30.8840668,14.6270344,1.0123653,1.0216472,13.7522348,9.8174025,21.9658227,21.6946956,36.895343,65.8880792,38.0141276,49.7214451,23.2370496,4.3617447,9.6393759,8.9662226,31.5836334,14.4378296,0.9501579,0.9597641,14.1564071,10.2057908,21.9845094,21.6066783,36.6108946,65.8101667,38.1342462,49.5483417,22.9365813,4.210229,9.5090684,8.4979915,31.3214879,11.9231044 +347,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6098949,0.6227698,11.7232311,8.5203844,74.6227659,9.2190356,31.4240159,67.3510723,29.113303,44.2998338,14.8733388,2.7074045,10.1999988,9.7492543,30.4645443,8.5593293,0.5385296,0.5449194,11.0756063,7.9072612,73.5013427,9.2071119,31.2802633,66.8256746,29.3446665,44.0826766,14.8002305,2.6061075,10.2601894,9.8336315,31.013515,8.3910151,0.5027331,0.5092351,11.1719098,7.9858717,72.7344251,9.559946,31.2376938,66.9318513,29.3227161,44.3044195,14.6789714,2.654177,10.3650204,9.9645444,31.3410362,8.7073749,0.5336967,0.5355739,10.8189638,7.6637236,71.2252613,9.3881884,30.5266982,67.409249,30.0854039,44.9893243,14.9110349,2.5978611,10.6661161,10.0137653,31.5416773,7.5815812,0.5746148,0.586236,10.9884811,7.7120656,69.9429846,9.7000443,29.9564826,67.2212838,30.293457,45.8508844,15.185342,2.6748058,10.9240369,10.072808,32.2506315,7.0599668 +348,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5745689,0.5683945,8.0636105,4.9676344,84.323202,15.5726662,27.7671772,63.3724052,28.6395876,36.5185408,15.3353299,6.909242,10.4834452,8.311343,36.9161423,4.1577825,0.5760483,0.5699239,8.3610672,5.1719371,82.424655,15.7831349,26.8229906,63.8519915,29.642181,38.6419101,15.9257222,7.1951243,9.9266611,8.3245772,36.7546238,4.3237251,0.4531713,0.4471588,8.1746463,5.0190414,81.0712319,15.9037128,26.5058647,63.7126873,28.9578938,38.0730276,15.791578,7.1276337,9.4866621,8.2996952,36.5043172,4.1387034,0.4237388,0.4177864,8.0026965,4.9797534,79.7736329,16.0942031,26.9332317,63.8031203,29.0182153,38.4402217,15.8749038,6.9261211,9.3356006,7.7577851,36.0812243,4.2528745,0.3810828,0.3810828,7.8314816,4.7411478,77.8684282,16.7639624,27.2762378,64.5190374,29.5910508,39.0303464,16.3194469,6.8526609,9.1615673,7.6687142,36.478146,5.2325594 +349,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1671099,1.136303,13.5831745,8.2846447,52.5770065,18.2864151,34.8408321,69.4319342,37.5227835,48.1134288,23.2496845,2.8864826,10.5945756,9.6459323,36.3362974,6.6900231,1.0999378,1.0901828,14.0766855,8.5769856,52.6753378,18.2559581,35.375936,69.7123359,37.278849,48.1635124,23.2075788,2.898344,10.221642,9.2973184,37.4165737,8.0984547,1.0694078,1.0564695,13.9273193,8.449126,52.9064259,18.0452936,35.1692398,69.8458359,36.4980537,48.5853312,23.2530848,3.1077053,10.6854103,9.4406137,36.929369,7.9858782,1.0861612,1.0861612,13.6571473,8.1858652,51.6090624,18.7980101,34.7046306,69.9915931,37.2898276,47.9749877,23.5887803,3.0375799,10.4113463,9.3722165,36.5029929,9.1835298,0.9897812,0.9504023,13.7891511,8.2479099,50.5942783,18.9833864,34.3722154,70.728068,37.1184628,48.93178,24.5639036,3.1605071,10.4669946,9.4221766,36.206763,11.5128474 +350,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9290133,0.837464,21.2709036,17.3976027,32.3882723,22.4674009,34.945688,68.6589668,36.7504819,49.500309,22.128554,3.5718792,11.0584194,10.1609905,29.4873599,16.6667344,0.9630531,0.9332506,21.3591108,17.5326786,33.186441,22.1246907,34.7933944,68.0615954,36.7306095,49.3568309,22.4316372,3.1394326,10.2709277,9.1317778,28.4138032,20.2380792,0.9379034,0.9081064,22.1949457,18.3787409,34.4806495,21.828749,35.0494135,66.8204561,35.1098958,48.7957798,21.1104036,3.1449842,10.115007,9.06922,30.5483547,15.8185362,1.1134339,1.083591,22.896594,19.3312828,34.9369988,21.0423151,35.2874057,67.563669,34.6321326,48.4255381,21.8903908,3.0895828,10.8641173,9.4464152,29.79506,15.0073293,1.0661065,1.036228,23.5331448,19.6429208,34.9635156,20.6845665,35.3834644,67.5459843,34.3326224,47.9936793,22.0558377,3.169041,11.7291198,9.8116917,30.0305804,11.303998 +351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9788325,0.9581286,13.4257132,9.4275331,54.620472,16.476741,36.2362178,68.8189135,37.3391549,47.1737187,24.5174435,4.3428331,11.3515961,9.7787663,43.5267772,9.1980275,0.9555817,0.9354547,13.5892087,9.0080816,53.8468839,16.7694329,36.4156327,68.2860196,37.0861231,47.5009942,24.0786798,4.8134179,11.0400738,9.7947013,44.1328653,9.275936,1.0063663,0.9863681,13.6511593,8.8459528,52.4639051,16.8702366,36.491691,68.655626,37.4663613,47.833249,24.3526568,4.6378591,10.5504631,10.075255,43.3811181,7.4323907,0.9295988,0.9094736,13.9650717,9.1997392,53.3107181,16.6867323,35.7484452,68.259774,37.0845332,47.2387631,24.1690374,4.6622588,11.50628,10.7052933,44.2145288,5.4112145,0.8864203,0.8658903,13.876627,9.0343791,51.6709648,16.574551,35.8113564,68.3469771,37.2736323,48.2407016,24.3416114,4.6466056,11.4370758,11.3810751,43.4875824,5.2995367 +352,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4132773,0.4378913,10.700474,7.3814878,84.2239545,11.5159749,29.259532,64.6898024,27.0533129,40.0283235,11.4569869,4.7291438,12.3262082,11.4315276,30.6001023,5.124685,0.4060473,0.4435506,10.3869667,7.1115,84.0293952,11.4892916,28.4776462,64.5114256,26.3632074,39.8508003,11.2730666,4.551555,11.6022351,10.8181381,30.989126,5.4622522,0.3922502,0.4192731,10.4089497,7.067534,83.2360645,11.8749819,28.6363812,64.8004355,26.5077617,39.7670827,11.186254,4.6230906,11.6454692,10.9951134,30.7643586,6.0224832,0.3778719,0.3927989,9.9781766,7.0865865,82.2958656,11.7665806,28.4785341,65.7662595,26.9349208,40.6283367,11.5875996,4.66374,11.6016093,11.2916945,30.5233144,5.8209911,0.4755567,0.4956389,10.1495944,7.0046415,81.2598183,12.1990874,28.4118803,65.8372685,27.9915677,41.3071269,12.0879727,4.8551295,10.9851466,10.4295928,30.6048673,6.9733848 +353,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2184068,1.1734354,20.5802958,17.4345661,34.6414407,19.0500258,30.6325508,65.2719215,34.5052494,46.6073277,20.5202874,2.7701014,13.2498084,13.4532409,38.7792618,16.5341859,1.4089219,1.3407849,21.3703185,17.9842002,35.2693752,18.6119081,30.8999439,64.4087258,34.4185638,45.7627939,20.5004129,2.9150083,13.0716011,12.8599051,37.2089389,16.0674373,1.4846458,1.4305312,22.3372219,18.9162172,34.962164,17.764618,31.1241335,63.7428471,34.7716519,45.6639323,20.5771031,2.7612295,12.3917237,12.2083839,38.0068574,17.3432159,1.5365973,1.5290073,23.5074761,19.8123567,35.1253503,17.1085116,30.9030823,64.3138907,33.9319022,45.1043853,19.8703622,2.6567158,12.7728933,11.7476082,38.1411583,16.5584308,1.5094964,1.5245063,23.9734586,20.0935902,35.348706,17.3607666,31.7047601,64.8057214,34.4472481,45.4671976,20.7740061,3.0121999,12.8616341,10.9526851,37.8865491,17.0807241 +354,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1265934,1.1562666,20.2207658,16.7831175,37.2588765,17.7513607,38.770099,64.0371337,38.1280733,50.1896318,24.3463433,3.2228605,12.5325911,10.8405483,32.3381835,11.2309237,1.2015528,1.2459816,19.871036,16.491607,37.7380709,18.1916519,39.4711064,63.5896792,38.3841993,50.0629298,24.8573031,3.2229078,13.0368725,11.3280452,32.0063384,12.7575825,1.224269,1.268909,20.5374421,17.1409335,38.2371267,16.85321,38.9066938,63.1495483,37.2366615,49.0399764,23.5740999,3.0470765,12.5652764,11.2456274,31.7539628,15.9851114,1.2413468,1.2860097,21.6972138,18.4851298,38.8496061,17.0315793,39.4077877,63.6680857,36.9085145,48.8813897,23.0798481,3.425392,12.3427749,11.2617366,32.8405369,17.7417409,1.2481704,1.2915707,22.3184015,19.1255651,40.7305554,16.6246498,39.136103,64.5383225,36.5184266,48.9115631,22.9445048,3.4561696,13.3418881,11.4125456,32.8540843,18.5060849 +355,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4060473,0.4435506,10.3869667,7.1115,84.0293952,11.4892916,28.4776462,64.5114256,26.3632074,39.8508003,11.2730666,4.551555,11.6022351,10.8181381,30.989126,5.4622522,0.3922502,0.4192731,10.4089497,7.067534,83.2360645,11.8749819,28.6363812,64.8004355,26.5077617,39.7670827,11.186254,4.6230906,11.6454692,10.9951134,30.7643586,6.0224832,0.3778719,0.3927989,9.9781766,7.0865865,82.2958656,11.7665806,28.4785341,65.7662595,26.9349208,40.6283367,11.5875996,4.66374,11.6016093,11.2916945,30.5233144,5.8209911,0.4755567,0.4956389,10.1495944,7.0046415,81.2598183,12.1990874,28.4118803,65.8372685,27.9915677,41.3071269,12.0879727,4.8551295,10.9851466,10.4295928,30.6048673,6.9733848,0.4848575,0.5254867,10.50848,7.3745563,80.0871401,12.2267949,28.9357371,66.6262263,28.5603538,42.7576687,12.5744319,4.8907112,11.4791855,10.5801429,31.082591,7.6577588 +356,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4557991,0.4907363,12.0084588,8.4655617,85.4526115,8.6232143,29.9245168,63.0707596,23.1432392,38.6235087,10.9021774,4.0513733,13.5471639,11.251286,33.6327527,8.2386691,0.4571545,0.480992,11.6235754,8.3025653,84.8084305,8.772988,29.9643603,63.5061115,23.6740391,39.0287264,10.8541726,3.6066713,13.8574584,11.3271852,34.6503963,8.4699731,0.4311465,0.4468816,11.1129169,7.9235777,84.8917046,8.739964,29.4352333,64.5589663,24.0402114,39.4838273,11.1123899,3.4440163,13.1778423,11.5329744,33.9790772,7.8378209,0.4241914,0.4396727,10.8006065,7.6633824,84.2922864,8.856035,29.0377826,65.0116852,24.8824453,40.6445025,11.5186565,3.3409331,12.5683994,11.6015361,33.9687663,7.7539941,0.372254,0.3876363,10.6267746,7.4926174,83.855992,8.7816337,29.3059749,64.5312083,25.7607772,41.238781,11.5467378,3.4292665,11.8907269,11.5466757,33.6133558,6.5444958 +357,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5101647,0.4638861,8.9549717,5.710382,69.3601795,14.5338837,30.9382846,66.2659316,32.6668736,44.3354531,18.6533136,3.7854217,9.3867166,8.991478,32.3959176,5.1218562,0.5591688,0.5158366,8.9254615,5.9828341,68.3269515,14.9011662,31.2699028,66.9968648,33.1832464,45.1758004,18.829657,3.645319,9.2136878,8.6626695,32.5620573,4.9459178,0.5795491,0.5448833,9.1379046,6.055777,67.2843102,15.1865259,31.4818205,67.0687682,33.3473378,44.1279549,19.0550692,3.763224,9.7469224,8.6953236,33.3904388,5.1714832,0.5699896,0.5349388,9.1946156,6.1220467,65.7811504,15.1150343,31.6433821,66.9286556,33.1457048,43.7543055,18.7388916,3.6423621,10.3809505,9.1092812,33.4600564,5.6816815,0.5445012,0.5275151,9.2279409,5.980973,64.418623,15.2769369,31.698315,67.1745967,33.3543515,43.2447462,18.8121714,3.6284984,10.7074893,9.3776422,33.5676969,5.587237 +358,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6209048,1.5893269,15.2587312,10.4964145,42.4915666,18.9411746,34.1860939,68.8439961,38.4992298,48.7141351,28.9141287,2.9173875,11.5247494,9.5663245,39.4459169,12.3124809,1.4783444,1.4467763,15.4894371,11.1600663,42.8423146,19.415925,34.0604276,69.3588172,37.4409708,48.7401395,28.5390296,2.7609052,11.5066083,9.8893227,38.7985066,14.9290193,1.4359036,1.3723168,15.4956837,11.3519031,44.2326486,19.0791534,34.2819778,69.7211463,36.6845704,48.3369787,27.0284296,2.574937,11.5570849,10.6342961,40.3945842,16.9183693,1.1893704,1.1577795,15.6352914,11.3034794,44.4967213,18.2074581,33.2129914,69.952854,36.8814161,47.1577608,26.1540411,2.4435047,11.2617436,10.8030833,40.4917994,15.7416129,1.035557,1.0042663,16.6503159,12.4079953,44.2483177,18.8729005,31.8513717,70.0257198,36.3539445,47.897002,26.0206943,2.1626758,12.2480896,11.1181642,40.6956167,17.8131869 +359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.3922502,0.4192731,10.4089497,7.067534,83.2360645,11.8749819,28.6363812,64.8004355,26.5077617,39.7670827,11.186254,4.6230906,11.6454692,10.9951134,30.7643586,6.0224832,0.3778719,0.3927989,9.9781766,7.0865865,82.2958656,11.7665806,28.4785341,65.7662595,26.9349208,40.6283367,11.5875996,4.66374,11.6016093,11.2916945,30.5233144,5.8209911,0.4755567,0.4956389,10.1495944,7.0046415,81.2598183,12.1990874,28.4118803,65.8372685,27.9915677,41.3071269,12.0879727,4.8551295,10.9851466,10.4295928,30.6048673,6.9733848,0.4848575,0.5254867,10.50848,7.3745563,80.0871401,12.2267949,28.9357371,66.6262263,28.5603538,42.7576687,12.5744319,4.8907112,11.4791855,10.5801429,31.082591,7.6577588,0.4843483,0.5553059,10.4067212,7.3401491,78.9818137,12.3779016,29.4652062,67.0063951,28.9611768,43.4252737,12.6122123,5.0295971,11.7319884,11.2190305,31.3378193,8.3587744 +360,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2002737,1.2002737,17.1705212,13.2735322,47.637804,16.8139944,33.4289448,64.7454957,35.4503891,39.4359872,19.7886831,6.0915858,10.3330028,8.4797799,38.0538137,15.9610817,0.9720542,1.0429746,17.1059539,13.3223291,49.3977421,16.5452849,33.3202678,64.2246504,35.2203641,38.0007482,19.4493417,5.8091105,10.3379602,8.8949008,36.6079554,15.9263975,1.0767432,1.1772025,17.3175367,13.5993832,49.9724962,17.1892918,33.5204428,63.5947037,33.9299739,37.9886555,19.3976368,5.9298778,10.8552701,9.3378593,37.9413658,15.4828111,1.1956358,1.2762045,17.7133032,13.9071222,52.105311,16.5770782,33.4458986,62.7073689,33.5550213,37.6360846,19.4729881,5.5015447,10.6397927,10.0970829,38.003641,17.6229192,1.3422049,1.3697418,18.1973847,13.9896873,54.9619611,16.2271972,34.4629822,62.13052,32.9034748,38.4003441,19.7221443,4.983043,11.3196743,10.8160276,39.3024707,17.2216352 +361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6822961,0.7633643,12.1235276,7.3762085,48.7631674,14.5227173,38.0866482,65.8844845,39.9948241,48.4528095,25.6059623,3.4295851,15.7670624,14.8482329,40.619067,6.0000048,0.7536953,0.8249881,12.047881,7.2083506,46.9863787,14.2893436,36.9084422,67.6697658,40.6635529,49.0997936,25.9516133,3.4722093,15.0704348,14.2521476,39.707288,7.6612965,0.8030882,0.87479,11.6581506,7.423459,44.7702133,15.3233975,36.8652904,68.31607,41.4766506,50.5958527,25.9326055,3.6528363,14.5673173,13.3429961,38.964182,9.3495935,0.8313449,0.8313449,11.4234069,7.0912738,44.0139079,15.8072815,36.6578916,68.9736804,42.55259,51.4473483,26.5525957,3.4999812,13.4803961,12.7335534,38.9437233,9.9206349,0.6598591,0.7083612,11.5299425,7.1770595,43.5851185,16.7469182,36.2477595,69.3747015,42.8309814,51.9422378,26.2938513,4.0289333,14.0962769,13.4748464,39.8715197,9.689915 +362,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.777728,0.7843316,12.463494,7.9578678,75.3190958,12.1697122,32.9850281,65.5161596,29.8606735,41.6614003,16.2233513,2.6493539,10.3526178,8.4902801,34.4853555,8.8709792,0.7636198,0.7313251,11.9172629,7.2973589,73.6395672,12.4113503,32.8477375,66.1739774,30.5508252,42.6946079,16.4291793,2.7541472,10.4833306,9.1229924,34.1296485,8.2848958,0.7846693,0.7523432,11.1146128,6.958445,72.0144461,12.6173186,32.2494877,67.4520349,31.3965865,43.1450056,16.7057626,2.9317695,10.5042034,9.5001901,35.1960592,8.0736613,0.7445008,0.7017951,10.5146578,6.4859736,70.0762622,12.8240565,31.5795352,67.8632751,32.5225004,43.6669648,17.5632303,2.9682827,10.0364894,8.7601692,34.9979639,8.1944444,0.7292225,0.6840359,10.5080121,6.5451135,68.4675961,12.9042565,31.2473336,68.0013039,33.6088383,43.9351673,18.0227552,3.1451277,10.381948,8.9445834,34.3622134,7.3065903 +363,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6735279,0.6903698,14.4163082,9.6343189,68.8651409,15.8687017,39.5684361,68.3481062,35.3672298,47.284927,21.3060972,2.8722522,11.4766071,9.5853649,34.1731865,10.7594846,0.6669325,0.6755995,14.1122258,9.282527,67.657171,15.6821458,39.053661,67.9802345,35.7203277,48.206209,21.5113136,2.6694972,10.9658419,9.4284178,34.557637,10.6522081,0.7082089,0.7342777,13.6781965,8.9375437,66.8249645,16.1303993,38.7485742,67.8348601,36.2230433,48.8791117,21.4670966,2.9937603,10.1222184,8.6390248,33.733335,9.7510707,0.6945068,0.7031964,13.4422194,8.8358543,65.9901737,16.5679658,38.5390088,67.9574647,36.3262401,48.5532043,21.2907966,3.0212822,10.6762616,9.4083159,34.0556426,10.2510793,0.7298049,0.7362883,13.1404104,8.7648919,65.0256443,17.0919853,38.4431337,67.525348,37.0917825,49.1976592,21.5512554,3.1390818,10.4221664,9.2612122,33.9077267,10.5603697 +364,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9555817,0.9354547,13.5892087,9.0080816,53.8468839,16.7694329,36.4156327,68.2860196,37.0861231,47.5009942,24.0786798,4.8134179,11.0400738,9.7947013,44.1328653,9.275936,1.0063663,0.9863681,13.6511593,8.8459528,52.4639051,16.8702366,36.491691,68.655626,37.4663613,47.833249,24.3526568,4.6378591,10.5504631,10.075255,43.3811181,7.4323907,0.9295988,0.9094736,13.9650717,9.1997392,53.3107181,16.6867323,35.7484452,68.259774,37.0845332,47.2387631,24.1690374,4.6622588,11.50628,10.7052933,44.2145288,5.4112145,0.8864203,0.8658903,13.876627,9.0343791,51.6709648,16.574551,35.8113564,68.3469771,37.2736323,48.2407016,24.3416114,4.6466056,11.4370758,11.3810751,43.4875824,5.2995367,0.9796561,0.9483336,14.234346,9.0249866,51.0544001,16.131077,35.7034505,69.0465617,37.8921613,48.1838288,24.7132445,4.3627756,11.8079626,11.5684529,43.6846755,5.5555529 +365,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4783444,1.4467763,15.4894371,11.1600663,42.8423146,19.415925,34.0604276,69.3588172,37.4409708,48.7401395,28.5390296,2.7609052,11.5066083,9.8893227,38.7985066,14.9290193,1.4359036,1.3723168,15.4956837,11.3519031,44.2326486,19.0791534,34.2819778,69.7211463,36.6845704,48.3369787,27.0284296,2.574937,11.5570849,10.6342961,40.3945842,16.9183693,1.1893704,1.1577795,15.6352914,11.3034794,44.4967213,18.2074581,33.2129914,69.952854,36.8814161,47.1577608,26.1540411,2.4435047,11.2617436,10.8030833,40.4917994,15.7416129,1.035557,1.0042663,16.6503159,12.4079953,44.2483177,18.8729005,31.8513717,70.0257198,36.3539445,47.897002,26.0206943,2.1626758,12.2480896,11.1181642,40.6956167,17.8131869,1.0055369,0.9738777,17.911902,13.0464922,44.361574,19.0572462,32.3805962,69.8782006,35.5955375,47.3687133,25.1202085,2.1929415,12.9982704,11.8537548,40.4815729,18.5204696 +366,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5385296,0.5449194,11.0756063,7.9072612,73.5013427,9.2071119,31.2802633,66.8256746,29.3446665,44.0826766,14.8002305,2.6061075,10.2601894,9.8336315,31.013515,8.3910151,0.5027331,0.5092351,11.1719098,7.9858717,72.7344251,9.559946,31.2376938,66.9318513,29.3227161,44.3044195,14.6789714,2.654177,10.3650204,9.9645444,31.3410362,8.7073749,0.5336967,0.5355739,10.8189638,7.6637236,71.2252613,9.3881884,30.5266982,67.409249,30.0854039,44.9893243,14.9110349,2.5978611,10.6661161,10.0137653,31.5416773,7.5815812,0.5746148,0.586236,10.9884811,7.7120656,69.9429846,9.7000443,29.9564826,67.2212838,30.293457,45.8508844,15.185342,2.6748058,10.9240369,10.072808,32.2506315,7.0599668,0.6386099,0.6437245,10.6791458,7.4220415,68.527741,9.7326188,30.0448222,67.4905491,30.6049627,46.1210004,15.9011423,2.8497389,11.4672821,10.155614,32.4284352,7.5257825 +367,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5591688,0.5158366,8.9254615,5.9828341,68.3269515,14.9011662,31.2699028,66.9968648,33.1832464,45.1758004,18.829657,3.645319,9.2136878,8.6626695,32.5620573,4.9459178,0.5795491,0.5448833,9.1379046,6.055777,67.2843102,15.1865259,31.4818205,67.0687682,33.3473378,44.1279549,19.0550692,3.763224,9.7469224,8.6953236,33.3904388,5.1714832,0.5699896,0.5349388,9.1946156,6.1220467,65.7811504,15.1150343,31.6433821,66.9286556,33.1457048,43.7543055,18.7388916,3.6423621,10.3809505,9.1092812,33.4600564,5.6816815,0.5445012,0.5275151,9.2279409,5.980973,64.418623,15.2769369,31.698315,67.1745967,33.3543515,43.2447462,18.8121714,3.6284984,10.7074893,9.3776422,33.5676969,5.587237,0.4263925,0.4546797,8.5795417,5.525153,62.9882117,15.5054739,32.7629825,66.9320212,32.9367826,43.4384015,18.8303631,3.8503909,10.1189265,9.0766846,33.5133823,5.5159684 +368,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.3778719,0.3927989,9.9781766,7.0865865,82.2958656,11.7665806,28.4785341,65.7662595,26.9349208,40.6283367,11.5875996,4.66374,11.6016093,11.2916945,30.5233144,5.8209911,0.4755567,0.4956389,10.1495944,7.0046415,81.2598183,12.1990874,28.4118803,65.8372685,27.9915677,41.3071269,12.0879727,4.8551295,10.9851466,10.4295928,30.6048673,6.9733848,0.4848575,0.5254867,10.50848,7.3745563,80.0871401,12.2267949,28.9357371,66.6262263,28.5603538,42.7576687,12.5744319,4.8907112,11.4791855,10.5801429,31.082591,7.6577588,0.4843483,0.5553059,10.4067212,7.3401491,78.9818137,12.3779016,29.4652062,67.0063951,28.9611768,43.4252737,12.6122123,5.0295971,11.7319884,11.2190305,31.3378193,8.3587744,0.4958897,0.5608779,10.2122756,7.3749169,77.9606816,12.4513415,29.5047693,66.5249068,28.5231161,43.3136566,12.6635244,4.6356946,11.9245382,11.0349788,31.0910319,7.2756161 +369,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5027331,0.5092351,11.1719098,7.9858717,72.7344251,9.559946,31.2376938,66.9318513,29.3227161,44.3044195,14.6789714,2.654177,10.3650204,9.9645444,31.3410362,8.7073749,0.5336967,0.5355739,10.8189638,7.6637236,71.2252613,9.3881884,30.5266982,67.409249,30.0854039,44.9893243,14.9110349,2.5978611,10.6661161,10.0137653,31.5416773,7.5815812,0.5746148,0.586236,10.9884811,7.7120656,69.9429846,9.7000443,29.9564826,67.2212838,30.293457,45.8508844,15.185342,2.6748058,10.9240369,10.072808,32.2506315,7.0599668,0.6386099,0.6437245,10.6791458,7.4220415,68.527741,9.7326188,30.0448222,67.4905491,30.6049627,46.1210004,15.9011423,2.8497389,11.4672821,10.155614,32.4284352,7.5257825,0.5598604,0.5520434,10.5194644,7.3122268,67.2736262,10.0109812,30.564813,67.5756339,30.7729731,45.9408923,16.2572955,2.8240333,11.2711485,10.0925853,32.1029005,6.1491985 +370,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8494152,1.995614,25.3488372,20.8527132,52.8044872,7.7453988,34.1860465,64.5736434,28.1395349,42.8682171,16.0465116,5.1937984,16.7711599,11.1285266,36.2341772,11.25,1.9111111,2.0592593,26.0497667,21.3841369,54.2003231,6.8885449,34.6698113,64.5440252,28.5377358,43.4748428,16.745283,4.7955975,16.7692308,11.5384615,36.4906832,10.3305785,2.1310241,2.2816265,26.2779553,21.3258786,54.6875,7.8199052,35.1674641,65.1515152,28.3094099,45.5342903,17.7830941,5.8213716,15.0621118,11.0248447,35.5590062,10.2459016,2.035913,2.1117855,26.1326861,21.763754,54.884106,8.2268371,35.5177994,65.2912621,27.1035599,46.5210356,18.6893204,5.9061489,14.1269841,10.6687898,36.7834395,8.6065574,2.0927318,2.1679198,25.3980892,21.5764331,54.1050903,7.8571429,37.0578778,64.8713826,28.0546624,47.1864952,19.3729904,5.0643087,12.6959248,10.5345912,35.488959,7.9166667 +371,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5336967,0.5355739,10.8189638,7.6637236,71.2252613,9.3881884,30.5266982,67.409249,30.0854039,44.9893243,14.9110349,2.5978611,10.6661161,10.0137653,31.5416773,7.5815812,0.5746148,0.586236,10.9884811,7.7120656,69.9429846,9.7000443,29.9564826,67.2212838,30.293457,45.8508844,15.185342,2.6748058,10.9240369,10.072808,32.2506315,7.0599668,0.6386099,0.6437245,10.6791458,7.4220415,68.527741,9.7326188,30.0448222,67.4905491,30.6049627,46.1210004,15.9011423,2.8497389,11.4672821,10.155614,32.4284352,7.5257825,0.5598604,0.5520434,10.5194644,7.3122268,67.2736262,10.0109812,30.564813,67.5756339,30.7729731,45.9408923,16.2572955,2.8240333,11.2711485,10.0925853,32.1029005,6.1491985,0.5835147,0.5692179,10.4490952,7.2255116,65.8310968,10.2480995,30.5010469,67.6896355,31.155192,47.007656,16.4996626,2.9157929,11.2886273,10.0845911,31.7492196,7.1862594 +372,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7467569,0.7522412,11.3433388,6.4844557,59.4560105,15.561486,33.0151503,69.7946572,37.9142757,45.0468328,21.2716196,3.4041767,9.9795811,8.1570019,32.2902487,9.0686052,0.8883894,0.8883894,11.839361,6.4499271,58.4760893,15.7262126,32.9289923,69.8488049,38.3790558,45.3762282,21.9233484,3.2876211,9.9331205,8.740795,32.3092583,8.0096893,0.8619166,0.8859937,12.0341351,6.6353187,57.733618,15.7517446,32.856661,69.4385638,38.082633,44.7563444,22.3693463,3.0896842,9.4868384,7.8769505,32.3229005,8.291449,0.7647242,0.7884734,11.9113177,6.7205262,56.7811566,16.0214308,32.162847,69.0251538,37.683449,44.881213,22.5541721,2.9874165,10.0135832,8.4578871,32.6161345,9.0243814,0.7353395,0.7587331,11.7057537,6.7108442,56.6212447,16.3825391,32.9260152,69.7246164,38.0206726,45.043043,22.5989827,2.9431959,10.4784395,8.67072,32.1259457,7.9081512 +373,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4884293,0.5127687,8.1212879,4.9168153,85.8231814,6.4290451,27.0085477,62.564713,28.0205013,36.9778241,12.7935482,5.5715127,9.8440927,8.4268179,37.3558564,3.7250301,0.4579721,0.4873632,7.869918,4.7727004,85.578837,6.6713388,26.7214572,62.6768635,28.0352069,37.1853989,13.0505919,5.3297505,10.1193641,8.4262089,37.7650232,3.7969842,0.5014992,0.5285072,7.9437571,4.9063298,85.3360325,6.6514211,26.5993967,62.7605775,28.1187388,37.3540995,13.337348,5.4058429,9.9893123,8.1780151,38.1486097,4.1008277,0.5215758,0.5296212,7.8148215,4.8529573,85.0969583,6.7886089,26.6229971,62.798114,28.3029853,37.7100385,13.3556386,5.4586703,10.4008186,8.3092718,38.5624282,3.8289963,0.530369,0.5391903,7.8840866,4.9146165,85.1050959,6.8366846,26.786944,62.6799636,28.281159,37.8072011,13.5794232,5.3393109,10.2643337,8.380459,38.6409868,3.3433509 +374,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3603867,0.3983866,9.1812863,6.2183234,77.9063705,10.6522862,31.3179026,65.1771853,27.4249797,39.3235921,13.2113258,12.5387961,10.431646,9.5718135,37.2374972,3.8049311,0.3852777,0.4228527,8.9081546,5.9409102,76.6770091,10.8341751,31.1191953,65.5372648,27.9415475,39.9757568,13.635784,12.627614,10.1100171,9.1969499,36.905053,3.4871252,0.3922986,0.4182509,8.750161,5.8055799,75.5166626,11.0866001,30.9639184,65.0835129,28.2991183,40.4628387,13.9423738,12.7948462,10.2841156,9.1585386,36.9820992,3.8788531,0.4179278,0.4434897,8.865472,5.7357387,74.4140138,10.9710664,30.4508913,65.2034675,28.9186119,40.5237422,14.0856612,12.9804051,10.2082329,8.908398,37.2764545,4.2319758,0.4260747,0.4488227,8.612291,5.389707,73.0861247,10.9847551,29.9515413,65.1652599,29.2432921,41.0598957,14.3079067,12.8044216,10.1713052,8.850938,37.3469328,3.96406 +375,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3247154,0.2924553,7.1031584,4.9496215,84.1316932,19.1685116,31.1478959,65.5478176,26.3478571,39.8435065,10.8000221,5.7217406,11.1803641,8.8003064,34.0319786,3.1456902,0.3637307,0.3316166,7.2516389,4.9671012,84.9788599,18.9911602,31.1894311,65.0311944,26.543017,39.7191722,10.5929454,5.6692091,10.982883,8.5932723,34.2790693,4.5762634,0.3607023,0.3292687,7.3879102,4.8743169,85.0568034,19.2113745,30.6683775,64.4220806,26.1677326,39.976144,10.3818667,6.0859089,10.8566192,8.1721406,34.2424533,4.5607954,0.3340292,0.3340292,6.9341873,4.4828716,83.5894342,20.0169227,29.9090068,64.8953859,27.5134712,40.5364382,11.2516863,5.5836622,11.0136854,8.0613809,34.7012622,4.1946168,0.3243758,0.3091807,7.0304812,4.5394901,82.1942406,19.8257659,29.7124022,66.3524817,28.4226103,41.0218203,11.987424,5.8035592,11.3808659,8.5342814,35.1462794,4.4407749 +376,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7462105,0.7514941,11.7660418,7.8593971,55.4084338,12.7153245,30.9669677,68.7863328,37.3386143,48.650507,18.2575109,5.485043,11.4150568,10.0218791,32.9332498,4.7733738,0.6380343,0.6850949,11.5243152,7.6985447,54.1327467,12.6650189,30.1308725,68.4997916,36.664904,48.551902,18.085439,5.3698824,11.040281,10.1353062,32.5027842,3.8818067,0.5087372,0.5798012,11.0485102,7.3926225,52.0966674,12.930395,30.3701948,68.0579665,36.8874673,49.1341642,17.7314912,5.1901261,10.7693653,10.2202192,32.5827781,3.2509704,0.556286,0.5973834,11.033554,7.3176626,50.3973728,13.1883043,30.648096,67.8685824,37.2379376,48.4373059,18.133081,5.1220806,11.1692188,10.3107954,31.5643563,3.6242337,0.6047876,0.6387183,10.5465503,6.8047471,48.001525,13.2084884,31.0615397,68.2045698,37.3928681,48.6189972,18.3050027,5.2799795,10.7413934,9.8696281,30.8355243,4.7036642 +377,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5760483,0.5699239,8.3610672,5.1719371,82.424655,15.7831349,26.8229906,63.8519915,29.642181,38.6419101,15.9257222,7.1951243,9.9266611,8.3245772,36.7546238,4.3237251,0.4531713,0.4471588,8.1746463,5.0190414,81.0712319,15.9037128,26.5058647,63.7126873,28.9578938,38.0730276,15.791578,7.1276337,9.4866621,8.2996952,36.5043172,4.1387034,0.4237388,0.4177864,8.0026965,4.9797534,79.7736329,16.0942031,26.9332317,63.8031203,29.0182153,38.4402217,15.8749038,6.9261211,9.3356006,7.7577851,36.0812243,4.2528745,0.3810828,0.3810828,7.8314816,4.7411478,77.8684282,16.7639624,27.2762378,64.5190374,29.5910508,39.0303464,16.3194469,6.8526609,9.1615673,7.6687142,36.478146,5.2325594,0.3590852,0.3590852,7.8617141,4.5515153,76.422233,16.6283852,27.271552,63.9270031,29.5754591,38.9981829,16.8910204,6.767598,9.2887264,7.7193835,37.004728,5.0000011 +378,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6552424,0.7170588,10.281886,6.662046,74.6060566,15.5697327,33.3463128,65.0661541,32.5992327,43.6342506,17.9221883,5.1906615,9.9271169,8.3017189,34.4236032,6.887287,0.6804237,0.7320972,10.0616495,6.4995932,73.5559982,16.0452344,32.5408159,65.6665324,33.4141146,44.0298246,18.3397758,5.5884456,10.0934864,8.5551312,33.4459587,6.3071161,0.6921649,0.722046,10.0108081,6.573221,72.203597,16.8517051,31.9152868,65.7743963,33.9293606,44.5287679,18.9275047,5.6431298,10.4392405,8.8071469,33.622734,5.258287,0.62095,0.6577755,9.8923601,6.2643902,71.2775203,17.4268479,32.21575,65.9880372,34.9413853,45.3315621,19.1467324,5.6131762,10.520957,8.9067018,33.9818658,5.2102203,0.6365161,0.6519064,9.6702145,6.1579527,70.1818951,17.7477713,31.5330212,65.8938007,34.8307378,45.4008084,19.2372274,5.5084583,10.6653084,8.7039174,33.4263085,6.4053358 +379,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3637307,0.3316166,7.2516389,4.9671012,84.9788599,18.9911602,31.1894311,65.0311944,26.543017,39.7191722,10.5929454,5.6692091,10.982883,8.5932723,34.2790693,4.5762634,0.3607023,0.3292687,7.3879102,4.8743169,85.0568034,19.2113745,30.6683775,64.4220806,26.1677326,39.976144,10.3818667,6.0859089,10.8566192,8.1721406,34.2424533,4.5607954,0.3340292,0.3340292,6.9341873,4.4828716,83.5894342,20.0169227,29.9090068,64.8953859,27.5134712,40.5364382,11.2516863,5.5836622,11.0136854,8.0613809,34.7012622,4.1946168,0.3243758,0.3091807,7.0304812,4.5394901,82.1942406,19.8257659,29.7124022,66.3524817,28.4226103,41.0218203,11.987424,5.8035592,11.3808659,8.5342814,35.1462794,4.4407749,0.3404017,0.329806,6.9225804,4.4169552,80.6372059,19.9712642,30.2908773,66.8658579,28.5460237,41.3408364,12.3909376,5.735043,11.4698899,9.0543968,34.9319419,3.9556837 +380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.7536953,0.8249881,12.047881,7.2083506,46.9863787,14.2893436,36.9084422,67.6697658,40.6635529,49.0997936,25.9516133,3.4722093,15.0704348,14.2521476,39.707288,7.6612965,0.8030882,0.87479,11.6581506,7.423459,44.7702133,15.3233975,36.8652904,68.31607,41.4766506,50.5958527,25.9326055,3.6528363,14.5673173,13.3429961,38.964182,9.3495935,0.8313449,0.8313449,11.4234069,7.0912738,44.0139079,15.8072815,36.6578916,68.9736804,42.55259,51.4473483,26.5525957,3.4999812,13.4803961,12.7335534,38.9437233,9.9206349,0.6598591,0.7083612,11.5299425,7.1770595,43.5851185,16.7469182,36.2477595,69.3747015,42.8309814,51.9422378,26.2938513,4.0289333,14.0962769,13.4748464,39.8715197,9.689915,0.8738579,0.8738579,11.4008163,6.8929011,42.7037931,17.0116813,36.1398396,68.6959896,43.7060508,51.6453047,26.9217725,4.4491459,13.4441155,12.6012311,38.6133495,7.4803091 +381,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9630531,0.9332506,21.3591108,17.5326786,33.186441,22.1246907,34.7933944,68.0615954,36.7306095,49.3568309,22.4316372,3.1394326,10.2709277,9.1317778,28.4138032,20.2380792,0.9379034,0.9081064,22.1949457,18.3787409,34.4806495,21.828749,35.0494135,66.8204561,35.1098958,48.7957798,21.1104036,3.1449842,10.115007,9.06922,30.5483547,15.8185362,1.1134339,1.083591,22.896594,19.3312828,34.9369988,21.0423151,35.2874057,67.563669,34.6321326,48.4255381,21.8903908,3.0895828,10.8641173,9.4464152,29.79506,15.0073293,1.0661065,1.036228,23.5331448,19.6429208,34.9635156,20.6845665,35.3834644,67.5459843,34.3326224,47.9936793,22.0558377,3.169041,11.7291198,9.8116917,30.0305804,11.303998,0.9967259,0.9671331,23.6936341,19.8587843,36.3559377,20.3346508,34.8238338,68.075841,34.6884519,47.8207877,21.5689108,3.7827605,11.0242069,9.3733587,30.4042685,10.3369268 +382,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4531713,0.4471588,8.1746463,5.0190414,81.0712319,15.9037128,26.5058647,63.7126873,28.9578938,38.0730276,15.791578,7.1276337,9.4866621,8.2996952,36.5043172,4.1387034,0.4237388,0.4177864,8.0026965,4.9797534,79.7736329,16.0942031,26.9332317,63.8031203,29.0182153,38.4402217,15.8749038,6.9261211,9.3356006,7.7577851,36.0812243,4.2528745,0.3810828,0.3810828,7.8314816,4.7411478,77.8684282,16.7639624,27.2762378,64.5190374,29.5910508,39.0303464,16.3194469,6.8526609,9.1615673,7.6687142,36.478146,5.2325594,0.3590852,0.3590852,7.8617141,4.5515153,76.422233,16.6283852,27.271552,63.9270031,29.5754591,38.9981829,16.8910204,6.767598,9.2887264,7.7193835,37.004728,5.0000011,0.3832584,0.3832584,7.6933362,4.432761,74.2807636,16.60589,27.8071317,63.5270849,29.9207413,39.9867868,17.3447849,7.0919172,9.3509651,7.8313279,37.5303348,4.4520558 +383,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8833624,0.8518071,18.3469048,14.472414,27.644379,19.5887378,36.3204571,65.2685248,37.2973851,47.3097845,22.615546,3.6264005,11.174155,9.2336914,35.6630753,19.7987654,0.9875409,0.9177058,18.6709105,14.7784707,28.2678698,20.1025264,36.5494521,65.2415448,36.9819166,47.5270881,22.2884341,3.2603281,11.2503808,9.0438504,36.049156,19.5652795,0.9677035,0.9003383,19.0142995,15.2981557,28.8557892,19.9705755,36.474197,65.2168374,37.5701498,47.648984,22.0369799,3.2400969,11.3534425,8.9769091,36.4472962,18.4849091,1.1302872,1.0176315,18.5689052,15.2734011,29.3616748,19.9961883,36.2010647,64.2296777,37.3226599,46.4241199,21.2527369,3.0559349,11.9633995,8.7885485,36.0455852,18.263522,1.2166251,1.1110122,19.9876533,16.4207659,30.764096,18.9943171,36.4721759,63.6163671,36.0685287,46.5675726,20.9267246,2.9465241,12.4045999,9.6675123,36.6636985,16.8639253 +384,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4845928,0.4711227,10.5896311,6.6128112,68.9920671,10.6024581,28.3645787,66.4417907,35.6822131,42.9014746,18.9424719,4.2721016,9.9357211,8.7587852,32.968033,2.6442308,0.5322995,0.5367475,10.6406207,6.7386812,67.8891306,10.145165,27.7304742,66.3953246,35.5964626,42.3981177,18.8879981,4.0589872,10.1116439,8.4678041,32.8351852,2.6829268,0.5711673,0.5667741,10.7203729,6.8442973,67.4549652,10.1236438,27.0645569,66.5988952,35.9626671,42.6364139,18.6697665,4.0857831,10.2578837,8.7932589,32.7273328,3.1100478,0.6730873,0.6687424,10.590284,6.817553,66.0664385,10.8879785,26.8039659,67.0790738,37.0887066,43.2526636,19.2806099,4.146848,10.7277188,8.9480799,33.0206005,4.2410714,0.6427409,0.6341317,10.5415824,6.7140894,64.7425315,11.3747655,27.1048851,67.2131937,36.7933902,43.8361372,18.9145077,4.0981903,10.6270687,8.8247051,32.9661981,5.5309735 +385,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3767887,0.4516817,8.1331255,4.8247355,78.6054856,18.7037724,31.4573443,60.6042655,25.8886268,37.1445492,12.4210096,5.6279632,9.794573,8.847278,35.5726877,2.4553571,0.3957663,0.4697623,7.993024,4.686907,78.9156583,18.9606602,30.8124002,61.3334777,26.5358513,37.3443021,12.8499578,5.9292562,10.2794263,9.2115132,35.2625892,2.8138528,0.3699222,0.444629,7.8803541,4.5561352,78.1424159,19.6261175,30.1285039,62.2268775,27.1256668,38.123849,14.3331108,5.6747449,10.6681632,9.2313664,34.0665146,3.8116592,0.2629524,0.3324695,7.6407714,4.3087078,77.3287005,19.590306,29.8706714,61.9254554,27.7441019,39.5554722,14.9069896,5.3361353,10.3364272,9.2852581,32.8060824,3.6170213,0.3469079,0.3817148,7.764592,4.3903517,77.2938884,19.5298474,29.1601337,62.7088642,27.8306311,39.2665486,15.3685819,5.5281329,10.0141104,8.8834692,33.2745777,4.4117647 +386,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6380343,0.6850949,11.5243152,7.6985447,54.1327467,12.6650189,30.1308725,68.4997916,36.664904,48.551902,18.085439,5.3698824,11.040281,10.1353062,32.5027842,3.8818067,0.5087372,0.5798012,11.0485102,7.3926225,52.0966674,12.930395,30.3701948,68.0579665,36.8874673,49.1341642,17.7314912,5.1901261,10.7693653,10.2202192,32.5827781,3.2509704,0.556286,0.5973834,11.033554,7.3176626,50.3973728,13.1883043,30.648096,67.8685824,37.2379376,48.4373059,18.133081,5.1220806,11.1692188,10.3107954,31.5643563,3.6242337,0.6047876,0.6387183,10.5465503,6.8047471,48.001525,13.2084884,31.0615397,68.2045698,37.3928681,48.6189972,18.3050027,5.2799795,10.7413934,9.8696281,30.8355243,4.7036642,0.5356582,0.5781791,10.2631153,6.6229956,46.4012121,13.515162,30.3783895,68.4683751,37.6324517,48.6120909,18.9263462,5.5067822,10.3855075,9.8929288,31.1158084,6.3461376 +387,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6945056,0.7825383,11.8097274,6.9571362,60.7281719,18.0416011,32.687626,68.9108211,36.4264168,46.2613027,22.0673667,3.6710331,10.2903383,9.1832575,35.2465704,6.5656555,0.7142078,0.7841366,11.6404907,6.6798173,60.1097604,18.2160992,32.8183309,68.2118589,36.0142187,47.0814658,22.0947736,3.9222959,10.3022827,8.8637237,35.9869799,6.6558419,0.7326106,0.7990801,11.8081625,6.8417371,59.8450084,18.4493606,32.048315,68.4449553,35.9422906,47.0016564,21.7161974,3.777193,9.7907207,8.4750714,35.5060074,5.4636245,0.811317,0.8856585,11.5087917,6.6262837,59.2706334,18.4941525,32.0390964,68.6622847,36.6103673,47.2337709,21.363796,3.753192,10.1792593,8.8573423,36.0512505,5.8510802,0.8216149,0.8484141,11.2945904,6.4339618,58.6042055,18.7532139,31.6843279,68.9098477,36.6700634,47.0034256,21.6353641,4.0945032,10.2506352,8.6638867,36.1546002,6.4460525 +388,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9111111,2.0592593,26.0497667,21.3841369,54.2003231,6.8885449,34.6698113,64.5440252,28.5377358,43.4748428,16.745283,4.7955975,16.7692308,11.5384615,36.4906832,10.3305785,2.1310241,2.2816265,26.2779553,21.3258786,54.6875,7.8199052,35.1674641,65.1515152,28.3094099,45.5342903,17.7830941,5.8213716,15.0621118,11.0248447,35.5590062,10.2459016,2.035913,2.1117855,26.1326861,21.763754,54.884106,8.2268371,35.5177994,65.2912621,27.1035599,46.5210356,18.6893204,5.9061489,14.1269841,10.6687898,36.7834395,8.6065574,2.0927318,2.1679198,25.3980892,21.5764331,54.1050903,7.8571429,37.0578778,64.8713826,28.0546624,47.1864952,19.3729904,5.0643087,12.6959248,10.5345912,35.488959,7.9166667,1.9054878,1.9054878,24.7980614,20.9208401,55.4530201,8.1451613,37.9901961,64.4607843,28.0228758,47.7941176,20.5065359,5.6372549,12.6168224,9.84375,35.5799373,10.3305785 +389,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5322995,0.5367475,10.6406207,6.7386812,67.8891306,10.145165,27.7304742,66.3953246,35.5964626,42.3981177,18.8879981,4.0589872,10.1116439,8.4678041,32.8351852,2.6829268,0.5711673,0.5667741,10.7203729,6.8442973,67.4549652,10.1236438,27.0645569,66.5988952,35.9626671,42.6364139,18.6697665,4.0857831,10.2578837,8.7932589,32.7273328,3.1100478,0.6730873,0.6687424,10.590284,6.817553,66.0664385,10.8879785,26.8039659,67.0790738,37.0887066,43.2526636,19.2806099,4.146848,10.7277188,8.9480799,33.0206005,4.2410714,0.6427409,0.6341317,10.5415824,6.7140894,64.7425315,11.3747655,27.1048851,67.2131937,36.7933902,43.8361372,18.9145077,4.0981903,10.6270687,8.8247051,32.9661981,5.5309735,0.7052013,0.6967212,10.4030997,6.477521,63.8917871,11.7162796,26.9283885,67.2977894,37.154498,44.8131888,19.3210451,4.2359451,10.2926956,8.3208868,33.3783156,6.9915254 +390,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7142078,0.7841366,11.6404907,6.6798173,60.1097604,18.2160992,32.8183309,68.2118589,36.0142187,47.0814658,22.0947736,3.9222959,10.3022827,8.8637237,35.9869799,6.6558419,0.7326106,0.7990801,11.8081625,6.8417371,59.8450084,18.4493606,32.048315,68.4449553,35.9422906,47.0016564,21.7161974,3.777193,9.7907207,8.4750714,35.5060074,5.4636245,0.811317,0.8856585,11.5087917,6.6262837,59.2706334,18.4941525,32.0390964,68.6622847,36.6103673,47.2337709,21.363796,3.753192,10.1792593,8.8573423,36.0512505,5.8510802,0.8216149,0.8484141,11.2945904,6.4339618,58.6042055,18.7532139,31.6843279,68.9098477,36.6700634,47.0034256,21.6353641,4.0945032,10.2506352,8.6638867,36.1546002,6.4460525,0.7777958,0.7764304,11.2116519,6.2484924,57.5503574,18.9426516,31.5242111,68.475771,37.0668477,47.0747431,21.5422873,4.2211034,10.5146619,9.2463206,36.3433435,6.2724555 +391,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1310241,2.2816265,26.2779553,21.3258786,54.6875,7.8199052,35.1674641,65.1515152,28.3094099,45.5342903,17.7830941,5.8213716,15.0621118,11.0248447,35.5590062,10.2459016,2.035913,2.1117855,26.1326861,21.763754,54.884106,8.2268371,35.5177994,65.2912621,27.1035599,46.5210356,18.6893204,5.9061489,14.1269841,10.6687898,36.7834395,8.6065574,2.0927318,2.1679198,25.3980892,21.5764331,54.1050903,7.8571429,37.0578778,64.8713826,28.0546624,47.1864952,19.3729904,5.0643087,12.6959248,10.5345912,35.488959,7.9166667,1.9054878,1.9054878,24.7980614,20.9208401,55.4530201,8.1451613,37.9901961,64.4607843,28.0228758,47.7941176,20.5065359,5.6372549,12.6168224,9.84375,35.5799373,10.3305785,1.7991004,1.7991004,23.0830671,19.0894569,56.6831683,7.5396825,38.2447665,64.9758454,27.294686,48.0676329,21.0144928,5.2334944,13.117284,10.6811146,35.6697819,13.7168142 +392,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7326106,0.7990801,11.8081625,6.8417371,59.8450084,18.4493606,32.048315,68.4449553,35.9422906,47.0016564,21.7161974,3.777193,9.7907207,8.4750714,35.5060074,5.4636245,0.811317,0.8856585,11.5087917,6.6262837,59.2706334,18.4941525,32.0390964,68.6622847,36.6103673,47.2337709,21.363796,3.753192,10.1792593,8.8573423,36.0512505,5.8510802,0.8216149,0.8484141,11.2945904,6.4339618,58.6042055,18.7532139,31.6843279,68.9098477,36.6700634,47.0034256,21.6353641,4.0945032,10.2506352,8.6638867,36.1546002,6.4460525,0.7777958,0.7764304,11.2116519,6.2484924,57.5503574,18.9426516,31.5242111,68.475771,37.0668477,47.0747431,21.5422873,4.2211034,10.5146619,9.2463206,36.3433435,6.2724555,0.7446248,0.7344238,10.9567088,6.0586865,57.2089086,18.557854,31.7372007,67.7723928,36.0737419,45.7537013,20.6634026,3.9622565,10.3095046,9.1794178,36.1739194,5.9783302 +393,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5746148,0.586236,10.9884811,7.7120656,69.9429846,9.7000443,29.9564826,67.2212838,30.293457,45.8508844,15.185342,2.6748058,10.9240369,10.072808,32.2506315,7.0599668,0.6386099,0.6437245,10.6791458,7.4220415,68.527741,9.7326188,30.0448222,67.4905491,30.6049627,46.1210004,15.9011423,2.8497389,11.4672821,10.155614,32.4284352,7.5257825,0.5598604,0.5520434,10.5194644,7.3122268,67.2736262,10.0109812,30.564813,67.5756339,30.7729731,45.9408923,16.2572955,2.8240333,11.2711485,10.0925853,32.1029005,6.1491985,0.5835147,0.5692179,10.4490952,7.2255116,65.8310968,10.2480995,30.5010469,67.6896355,31.155192,47.007656,16.4996626,2.9157929,11.2886273,10.0845911,31.7492196,7.1862594,0.6063732,0.5917959,10.8011232,7.5122982,64.4059254,10.4187103,30.6060117,68.1024635,30.5634415,46.8563647,16.3568035,3.0016987,11.3095348,9.8358535,31.4884129,7.1428793 +394,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5265238,0.5265238,9.0299685,5.8775549,54.2242173,15.156335,33.06742,67.2576114,33.9357823,47.6891842,18.1126963,3.7672738,10.6328231,9.6211313,30.3179342,6.3636402,0.4612452,0.4612452,8.6574542,5.4176325,51.9241917,15.6617497,32.0575744,67.0610858,34.7469883,47.2546158,18.5280502,3.6474444,10.0435195,9.0829456,29.6459045,4.6296325,0.4225347,0.4225347,7.9183102,4.9279233,49.9397283,16.008481,31.723552,66.8477805,35.0692392,47.9732905,17.6174056,3.5083588,10.1809191,9.431572,29.4820248,3.8922202,0.4203266,0.4376715,8.0519773,5.0070098,48.8583373,16.1755496,31.9056316,67.2355784,35.0505767,47.6582594,17.2710455,3.5364218,9.6775465,8.4439239,29.2918095,4.0372746,0.4161409,0.445201,7.8586534,4.8258837,47.4077294,15.7270775,31.725727,67.4056255,35.4348526,48.3719108,17.1971682,3.272583,9.3434789,8.3922585,28.8499207,4.464291 +395,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9379034,0.9081064,22.1949457,18.3787409,34.4806495,21.828749,35.0494135,66.8204561,35.1098958,48.7957798,21.1104036,3.1449842,10.115007,9.06922,30.5483547,15.8185362,1.1134339,1.083591,22.896594,19.3312828,34.9369988,21.0423151,35.2874057,67.563669,34.6321326,48.4255381,21.8903908,3.0895828,10.8641173,9.4464152,29.79506,15.0073293,1.0661065,1.036228,23.5331448,19.6429208,34.9635156,20.6845665,35.3834644,67.5459843,34.3326224,47.9936793,22.0558377,3.169041,11.7291198,9.8116917,30.0305804,11.303998,0.9967259,0.9671331,23.6936341,19.8587843,36.3559377,20.3346508,34.8238338,68.075841,34.6884519,47.8207877,21.5689108,3.7827605,11.0242069,9.3733587,30.4042685,10.3369268,1.1940179,1.1940179,24.9296351,20.7332222,37.5024583,20.5122351,34.9032276,67.3365091,35.557878,47.2093137,21.6049626,4.6640736,11.3608532,10.0600438,30.0046621,11.4705136 +396,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.035913,2.1117855,26.1326861,21.763754,54.884106,8.2268371,35.5177994,65.2912621,27.1035599,46.5210356,18.6893204,5.9061489,14.1269841,10.6687898,36.7834395,8.6065574,2.0927318,2.1679198,25.3980892,21.5764331,54.1050903,7.8571429,37.0578778,64.8713826,28.0546624,47.1864952,19.3729904,5.0643087,12.6959248,10.5345912,35.488959,7.9166667,1.9054878,1.9054878,24.7980614,20.9208401,55.4530201,8.1451613,37.9901961,64.4607843,28.0228758,47.7941176,20.5065359,5.6372549,12.6168224,9.84375,35.5799373,10.3305785,1.7991004,1.7991004,23.0830671,19.0894569,56.6831683,7.5396825,38.2447665,64.9758454,27.294686,48.0676329,21.0144928,5.2334944,13.117284,10.6811146,35.6697819,13.7168142,1.8611521,1.8611521,25.7886435,22.0031546,56.6935484,7.2429907,38.0537975,66.5348101,28.085443,49.7626582,20.806962,6.25,12.191358,10.6811146,33.8006231,15.4166667 +397,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.6821557,0.6213802,9.634809,6.0015652,79.9307475,12.055867,28.6366675,61.5808492,32.3256078,40.3800509,14.859608,2.8538358,12.0368927,11.5762507,36.7099142,4.3307155,0.6909752,0.629414,9.9633378,6.1579653,78.7158057,11.6148646,28.3334505,61.5440805,31.0530213,39.976829,14.6276262,2.8942013,11.2533186,11.361157,37.2992335,4.400007,0.6405432,0.5790955,9.3255709,5.5126935,78.5621443,11.3347378,26.4140379,61.4574616,30.6365886,38.9968093,14.1624647,3.1456846,11.7033697,10.8631088,37.4478286,4.8872254,0.3815371,0.3815371,8.5981605,5.3536691,76.9074506,12.3807515,25.4438133,60.7995383,32.40395,39.9938717,15.3375952,3.1558279,12.3396962,12.4493787,37.4727351,4.2307757,0.291412,0.291412,7.9253765,4.9497375,76.2204866,12.2275817,25.1430528,61.6222919,32.3022068,39.5586109,15.0643042,3.0608421,11.2664943,11.9985248,36.4403036,3.2601679 +398,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0999378,1.0901828,14.0766855,8.5769856,52.6753378,18.2559581,35.375936,69.7123359,37.278849,48.1635124,23.2075788,2.898344,10.221642,9.2973184,37.4165737,8.0984547,1.0694078,1.0564695,13.9273193,8.449126,52.9064259,18.0452936,35.1692398,69.8458359,36.4980537,48.5853312,23.2530848,3.1077053,10.6854103,9.4406137,36.929369,7.9858782,1.0861612,1.0861612,13.6571473,8.1858652,51.6090624,18.7980101,34.7046306,69.9915931,37.2898276,47.9749877,23.5887803,3.0375799,10.4113463,9.3722165,36.5029929,9.1835298,0.9897812,0.9504023,13.7891511,8.2479099,50.5942783,18.9833864,34.3722154,70.728068,37.1184628,48.93178,24.5639036,3.1605071,10.4669946,9.4221766,36.206763,11.5128474,0.8581454,0.8123109,13.3940515,8.0279209,50.153588,18.7260231,34.5750905,70.5663391,37.2766266,48.5617533,24.5096229,3.2899133,11.8986652,10.449641,36.6329734,11.2900239 +399,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.8030882,0.87479,11.6581506,7.423459,44.7702133,15.3233975,36.8652904,68.31607,41.4766506,50.5958527,25.9326055,3.6528363,14.5673173,13.3429961,38.964182,9.3495935,0.8313449,0.8313449,11.4234069,7.0912738,44.0139079,15.8072815,36.6578916,68.9736804,42.55259,51.4473483,26.5525957,3.4999812,13.4803961,12.7335534,38.9437233,9.9206349,0.6598591,0.7083612,11.5299425,7.1770595,43.5851185,16.7469182,36.2477595,69.3747015,42.8309814,51.9422378,26.2938513,4.0289333,14.0962769,13.4748464,39.8715197,9.689915,0.8738579,0.8738579,11.4008163,6.8929011,42.7037931,17.0116813,36.1398396,68.6959896,43.7060508,51.6453047,26.9217725,4.4491459,13.4441155,12.6012311,38.6133495,7.4803091,0.8570442,0.8570442,11.8524128,7.2661602,42.9991088,17.1715157,37.0817701,68.8940241,44.3143813,51.4905215,27.0803541,4.5486486,13.4861499,13.2368903,38.3583328,7.4561273 +400,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5087372,0.5798012,11.0485102,7.3926225,52.0966674,12.930395,30.3701948,68.0579665,36.8874673,49.1341642,17.7314912,5.1901261,10.7693653,10.2202192,32.5827781,3.2509704,0.556286,0.5973834,11.033554,7.3176626,50.3973728,13.1883043,30.648096,67.8685824,37.2379376,48.4373059,18.133081,5.1220806,11.1692188,10.3107954,31.5643563,3.6242337,0.6047876,0.6387183,10.5465503,6.8047471,48.001525,13.2084884,31.0615397,68.2045698,37.3928681,48.6189972,18.3050027,5.2799795,10.7413934,9.8696281,30.8355243,4.7036642,0.5356582,0.5781791,10.2631153,6.6229956,46.4012121,13.515162,30.3783895,68.4683751,37.6324517,48.6120909,18.9263462,5.5067822,10.3855075,9.8929288,31.1158084,6.3461376,0.559503,0.6024845,10.6137334,7.1723624,45.4434115,13.0382534,30.3889316,68.4443791,38.1743315,47.8744019,19.3175353,5.6395918,10.9519016,10.8449592,31.9510089,7.5024842 +401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.6909752,0.629414,9.9633378,6.1579653,78.7158057,11.6148646,28.3334505,61.5440805,31.0530213,39.976829,14.6276262,2.8942013,11.2533186,11.361157,37.2992335,4.400007,0.6405432,0.5790955,9.3255709,5.5126935,78.5621443,11.3347378,26.4140379,61.4574616,30.6365886,38.9968093,14.1624647,3.1456846,11.7033697,10.8631088,37.4478286,4.8872254,0.3815371,0.3815371,8.5981605,5.3536691,76.9074506,12.3807515,25.4438133,60.7995383,32.40395,39.9938717,15.3375952,3.1558279,12.3396962,12.4493787,37.4727351,4.2307757,0.291412,0.291412,7.9253765,4.9497375,76.2204866,12.2275817,25.1430528,61.6222919,32.3022068,39.5586109,15.0643042,3.0608421,11.2664943,11.9985248,36.4403036,3.2601679,0.4192448,0.4341469,8.4409171,5.215596,75.825328,12.5600456,25.5222908,61.9743726,32.0795145,38.5394585,14.8584639,3.1586154,10.9168512,11.4860307,37.3913063,3.8724295 +402,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.811317,0.8856585,11.5087917,6.6262837,59.2706334,18.4941525,32.0390964,68.6622847,36.6103673,47.2337709,21.363796,3.753192,10.1792593,8.8573423,36.0512505,5.8510802,0.8216149,0.8484141,11.2945904,6.4339618,58.6042055,18.7532139,31.6843279,68.9098477,36.6700634,47.0034256,21.6353641,4.0945032,10.2506352,8.6638867,36.1546002,6.4460525,0.7777958,0.7764304,11.2116519,6.2484924,57.5503574,18.9426516,31.5242111,68.475771,37.0668477,47.0747431,21.5422873,4.2211034,10.5146619,9.2463206,36.3433435,6.2724555,0.7446248,0.7344238,10.9567088,6.0586865,57.2089086,18.557854,31.7372007,67.7723928,36.0737419,45.7537013,20.6634026,3.9622565,10.3095046,9.1794178,36.1739194,5.9783302,0.6441859,0.6496788,10.778905,5.9939151,56.1875562,17.7883806,32.8371576,68.1206876,36.3058621,46.1170371,20.9293607,4.051228,9.8033801,8.8085068,35.7794708,6.5299336 +403,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7865241,0.7901855,11.193578,6.788013,69.5304691,13.8678686,37.9735563,68.4574908,36.6841794,47.604269,20.0970967,3.4304343,10.8305904,10.5145246,33.4891263,8.6901928,0.8634376,0.8401807,11.4601397,6.9638228,68.0625123,13.6205521,37.2860876,68.4391338,36.8862989,47.3292851,20.3342359,3.3024129,10.9624078,10.5239524,33.9047245,8.8528839,0.87264,0.8677531,11.1865981,6.7525556,66.405968,13.8394997,36.3441141,68.5420665,36.7420275,47.9149949,20.4440652,3.2707314,11.2290776,10.5870273,33.6701106,7.4219194,0.8363733,0.8339477,11.0999089,6.7500531,65.121267,14.1509461,35.3485203,68.3183016,37.0396947,48.0243265,20.6812107,3.1689587,11.5177889,10.7902057,33.4187008,7.9634987,0.7956298,0.7925355,11.0275236,6.9539533,63.871502,14.6138616,35.1378671,68.2078578,36.9656444,48.2264529,20.7481459,3.3224923,11.5475213,10.6480273,32.8051163,7.7428104 +404,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5369603,0.5387002,11.207827,7.2145173,63.0385352,9.2712346,30.1764477,69.1119117,39.2717898,42.6155167,20.2719828,4.1577315,10.2008581,8.5274974,35.5295191,5.6378132,0.5522345,0.5422547,11.0132338,7.0712465,62.1253517,9.3946604,30.1001255,69.3414832,39.631272,42.6927854,20.703763,4.3082708,10.2383157,8.668877,35.6416378,6.1373881,0.6177419,0.6200242,11.1405417,7.2488186,61.4478244,9.2263298,30.0401528,69.7686657,40.2208234,43.413628,21.0926299,4.382947,9.9451056,8.6665465,35.4162815,6.4793585,0.6256372,0.6379073,11.0945572,7.2698432,60.281456,8.9789549,29.8922406,70.1649814,40.4587087,43.3768782,21.4524116,4.4392527,9.7118362,8.5920395,35.3357853,6.25,0.7126693,0.7198338,11.1544361,7.1105324,59.9195559,8.9795708,29.535689,69.814656,40.3888418,42.9970347,21.3002772,4.3995416,9.9561161,8.629211,36.6961445,6.9312796 +405,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2370812,1.3311543,22.0706084,16.9289649,25.2667212,16.0386187,37.5586204,62.0501083,31.9703118,49.0101078,24.0253791,4.5749582,16.1469123,12.4282325,33.7762031,21.7944247,1.286036,1.3281867,21.3787282,16.645784,27.2683291,15.659225,36.6981398,62.1569676,32.2568676,49.2649239,24.0230225,4.4687455,15.616621,12.123399,33.7172743,18.8458059,1.262211,1.3038413,20.6306204,15.6388781,28.6798298,15.1314307,37.0629812,62.5592151,31.3737968,49.7841318,23.8050787,4.6429045,15.1176769,11.3945805,33.9058428,18.014388,1.3516683,1.3937595,20.8630259,15.653982,29.2844524,15.9242124,37.4030503,63.0825076,31.8543394,50.571114,24.2372225,4.8691801,15.5095416,11.7524095,33.4812493,15.8448026,1.2453174,1.2453174,20.7346023,16.0739381,30.1506981,15.5864137,36.266464,64.2679731,32.4976514,50.4305867,24.4738474,4.9808997,14.6675462,11.6618163,32.5223903,15.6247396 +406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6386099,0.6437245,10.6791458,7.4220415,68.527741,9.7326188,30.0448222,67.4905491,30.6049627,46.1210004,15.9011423,2.8497389,11.4672821,10.155614,32.4284352,7.5257825,0.5598604,0.5520434,10.5194644,7.3122268,67.2736262,10.0109812,30.564813,67.5756339,30.7729731,45.9408923,16.2572955,2.8240333,11.2711485,10.0925853,32.1029005,6.1491985,0.5835147,0.5692179,10.4490952,7.2255116,65.8310968,10.2480995,30.5010469,67.6896355,31.155192,47.007656,16.4996626,2.9157929,11.2886273,10.0845911,31.7492196,7.1862594,0.6063732,0.5917959,10.8011232,7.5122982,64.4059254,10.4187103,30.6060117,68.1024635,30.5634415,46.8563647,16.3568035,3.0016987,11.3095348,9.8358535,31.4884129,7.1428793,0.6251811,0.6164657,10.6526057,7.3541929,62.6520934,10.4573758,30.7389928,68.0317315,30.6103564,46.8767857,16.5880517,2.9945665,11.2011776,9.8057527,31.2500105,7.1281198 +407,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6371501,0.6371501,13.4027874,11.077179,43.6395924,32.7038896,27.4132275,68.007505,36.2004704,45.3591909,20.1114,4.3935596,16.4084595,10.5196035,35.471622,5.0782242,0.5663212,0.5663212,13.7910427,11.3980655,45.0453428,32.4748426,28.2886116,67.4969029,36.4624708,45.147256,20.1150717,4.7892693,16.9690878,11.0390757,34.2523281,5.118211,0.5493819,0.471317,13.6876171,11.0625827,47.4057722,32.1874648,28.0890839,68.2166015,36.4970254,43.376094,19.2994815,4.9044574,16.4083303,11.5285023,34.6861416,5.8140436,0.6602931,0.5829527,12.7937225,9.9506731,48.3352252,32.6543134,27.6101239,67.4844118,36.9184054,42.7046344,19.6856317,4.9685468,15.0633171,9.7715459,33.8876868,5.8594666,0.821647,0.7436734,13.8646658,10.7278636,50.2604661,31.462881,28.7274901,67.1594108,37.7251636,40.9385725,18.3163023,4.9485855,16.9333355,11.8983575,34.9058079,7.2035424 +408,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3607023,0.3292687,7.3879102,4.8743169,85.0568034,19.2113745,30.6683775,64.4220806,26.1677326,39.976144,10.3818667,6.0859089,10.8566192,8.1721406,34.2424533,4.5607954,0.3340292,0.3340292,6.9341873,4.4828716,83.5894342,20.0169227,29.9090068,64.8953859,27.5134712,40.5364382,11.2516863,5.5836622,11.0136854,8.0613809,34.7012622,4.1946168,0.3243758,0.3091807,7.0304812,4.5394901,82.1942406,19.8257659,29.7124022,66.3524817,28.4226103,41.0218203,11.987424,5.8035592,11.3808659,8.5342814,35.1462794,4.4407749,0.3404017,0.329806,6.9225804,4.4169552,80.6372059,19.9712642,30.2908773,66.8658579,28.5460237,41.3408364,12.3909376,5.735043,11.4698899,9.0543968,34.9319419,3.9556837,0.3353134,0.3248761,6.7502992,4.2407821,78.4637159,20.5205965,29.6785903,66.6613092,29.4875506,40.8815514,12.7147923,5.9356767,11.0276648,8.972783,34.7339996,3.6277545 +409,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.556286,0.5973834,11.033554,7.3176626,50.3973728,13.1883043,30.648096,67.8685824,37.2379376,48.4373059,18.133081,5.1220806,11.1692188,10.3107954,31.5643563,3.6242337,0.6047876,0.6387183,10.5465503,6.8047471,48.001525,13.2084884,31.0615397,68.2045698,37.3928681,48.6189972,18.3050027,5.2799795,10.7413934,9.8696281,30.8355243,4.7036642,0.5356582,0.5781791,10.2631153,6.6229956,46.4012121,13.515162,30.3783895,68.4683751,37.6324517,48.6120909,18.9263462,5.5067822,10.3855075,9.8929288,31.1158084,6.3461376,0.559503,0.6024845,10.6137334,7.1723624,45.4434115,13.0382534,30.3889316,68.4443791,38.1743315,47.8744019,19.3175353,5.6395918,10.9519016,10.8449592,31.9510089,7.5024842,0.5312135,0.5788797,10.6881158,7.0971799,45.2805883,13.278675,30.6372717,68.2338841,38.7404641,48.5474427,19.8049597,5.861489,10.4210546,10.2494407,32.0821091,9.1174135 +410,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0927318,2.1679198,25.3980892,21.5764331,54.1050903,7.8571429,37.0578778,64.8713826,28.0546624,47.1864952,19.3729904,5.0643087,12.6959248,10.5345912,35.488959,7.9166667,1.9054878,1.9054878,24.7980614,20.9208401,55.4530201,8.1451613,37.9901961,64.4607843,28.0228758,47.7941176,20.5065359,5.6372549,12.6168224,9.84375,35.5799373,10.3305785,1.7991004,1.7991004,23.0830671,19.0894569,56.6831683,7.5396825,38.2447665,64.9758454,27.294686,48.0676329,21.0144928,5.2334944,13.117284,10.6811146,35.6697819,13.7168142,1.8611521,1.8611521,25.7886435,22.0031546,56.6935484,7.2429907,38.0537975,66.5348101,28.085443,49.7626582,20.806962,6.25,12.191358,10.6811146,33.8006231,15.4166667,1.5870719,1.5870719,26.6923077,23,55.7936508,7.2629969,37.3839009,66.3312693,28.7151703,48.2198142,20.5108359,6.1145511,11.6459627,9.7826087,33.0721003,16.8103448 +411,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2015528,1.2459816,19.871036,16.491607,37.7380709,18.1916519,39.4711064,63.5896792,38.3841993,50.0629298,24.8573031,3.2229078,13.0368725,11.3280452,32.0063384,12.7575825,1.224269,1.268909,20.5374421,17.1409335,38.2371267,16.85321,38.9066938,63.1495483,37.2366615,49.0399764,23.5740999,3.0470765,12.5652764,11.2456274,31.7539628,15.9851114,1.2413468,1.2860097,21.6972138,18.4851298,38.8496061,17.0315793,39.4077877,63.6680857,36.9085145,48.8813897,23.0798481,3.425392,12.3427749,11.2617366,32.8405369,17.7417409,1.2481704,1.2915707,22.3184015,19.1255651,40.7305554,16.6246498,39.136103,64.5383225,36.5184266,48.9115631,22.9445048,3.4561696,13.3418881,11.4125456,32.8540843,18.5060849,1.2252368,1.2683391,22.3171096,19.0808553,41.5955476,15.8226053,39.8462935,63.3460947,35.7997726,49.1727493,23.2803458,3.5260101,13.7946717,11.0383604,33.3620312,20.332886 +412,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4571545,0.480992,11.6235754,8.3025653,84.8084305,8.772988,29.9643603,63.5061115,23.6740391,39.0287264,10.8541726,3.6066713,13.8574584,11.3271852,34.6503963,8.4699731,0.4311465,0.4468816,11.1129169,7.9235777,84.8917046,8.739964,29.4352333,64.5589663,24.0402114,39.4838273,11.1123899,3.4440163,13.1778423,11.5329744,33.9790772,7.8378209,0.4241914,0.4396727,10.8006065,7.6633824,84.2922864,8.856035,29.0377826,65.0116852,24.8824453,40.6445025,11.5186565,3.3409331,12.5683994,11.6015361,33.9687663,7.7539941,0.372254,0.3876363,10.6267746,7.4926174,83.855992,8.7816337,29.3059749,64.5312083,25.7607772,41.238781,11.5467378,3.4292665,11.8907269,11.5466757,33.6133558,6.5444958,0.3846392,0.3846392,10.2911022,7.1786794,83.1789084,9.3578005,29.7652094,65.2316294,26.4185206,41.9738854,11.780993,3.7016479,12.4133622,11.4390443,33.5369014,5.7691674 +413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8883894,0.8883894,11.839361,6.4499271,58.4760893,15.7262126,32.9289923,69.8488049,38.3790558,45.3762282,21.9233484,3.2876211,9.9331205,8.740795,32.3092583,8.0096893,0.8619166,0.8859937,12.0341351,6.6353187,57.733618,15.7517446,32.856661,69.4385638,38.082633,44.7563444,22.3693463,3.0896842,9.4868384,7.8769505,32.3229005,8.291449,0.7647242,0.7884734,11.9113177,6.7205262,56.7811566,16.0214308,32.162847,69.0251538,37.683449,44.881213,22.5541721,2.9874165,10.0135832,8.4578871,32.6161345,9.0243814,0.7353395,0.7587331,11.7057537,6.7108442,56.6212447,16.3825391,32.9260152,69.7246164,38.0206726,45.043043,22.5989827,2.9431959,10.4784395,8.67072,32.1259457,7.9081512,0.7454627,0.7892674,11.1244122,6.5447772,56.0105414,16.5867825,33.5694723,69.678646,38.234283,45.0760274,22.4084388,2.8161697,10.3900454,8.6531984,32.6468743,5.4687415 +414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4311465,0.4468816,11.1129169,7.9235777,84.8917046,8.739964,29.4352333,64.5589663,24.0402114,39.4838273,11.1123899,3.4440163,13.1778423,11.5329744,33.9790772,7.8378209,0.4241914,0.4396727,10.8006065,7.6633824,84.2922864,8.856035,29.0377826,65.0116852,24.8824453,40.6445025,11.5186565,3.3409331,12.5683994,11.6015361,33.9687663,7.7539941,0.372254,0.3876363,10.6267746,7.4926174,83.855992,8.7816337,29.3059749,64.5312083,25.7607772,41.238781,11.5467378,3.4292665,11.8907269,11.5466757,33.6133558,6.5444958,0.3846392,0.3846392,10.2911022,7.1786794,83.1789084,9.3578005,29.7652094,65.2316294,26.4185206,41.9738854,11.780993,3.7016479,12.4133622,11.4390443,33.5369014,5.7691674,0.3221656,0.3176313,10.0942694,7.0272262,82.7170838,9.7741293,29.4670239,65.7261837,26.454344,42.4707815,11.6616125,3.5035176,11.9555584,11.4799069,32.415902,6.2498573 +415,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.224269,1.268909,20.5374421,17.1409335,38.2371267,16.85321,38.9066938,63.1495483,37.2366615,49.0399764,23.5740999,3.0470765,12.5652764,11.2456274,31.7539628,15.9851114,1.2413468,1.2860097,21.6972138,18.4851298,38.8496061,17.0315793,39.4077877,63.6680857,36.9085145,48.8813897,23.0798481,3.425392,12.3427749,11.2617366,32.8405369,17.7417409,1.2481704,1.2915707,22.3184015,19.1255651,40.7305554,16.6246498,39.136103,64.5383225,36.5184266,48.9115631,22.9445048,3.4561696,13.3418881,11.4125456,32.8540843,18.5060849,1.2252368,1.2683391,22.3171096,19.0808553,41.5955476,15.8226053,39.8462935,63.3460947,35.7997726,49.1727493,23.2803458,3.5260101,13.7946717,11.0383604,33.3620312,20.332886,1.3430417,1.357222,22.7712667,19.1518558,42.1674693,16.0022002,39.0604136,64.3962925,35.8506956,48.2120651,22.8771802,3.5438378,13.6200841,10.6550451,33.1558548,22.3921984 +416,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9054878,1.9054878,24.7980614,20.9208401,55.4530201,8.1451613,37.9901961,64.4607843,28.0228758,47.7941176,20.5065359,5.6372549,12.6168224,9.84375,35.5799373,10.3305785,1.7991004,1.7991004,23.0830671,19.0894569,56.6831683,7.5396825,38.2447665,64.9758454,27.294686,48.0676329,21.0144928,5.2334944,13.117284,10.6811146,35.6697819,13.7168142,1.8611521,1.8611521,25.7886435,22.0031546,56.6935484,7.2429907,38.0537975,66.5348101,28.085443,49.7626582,20.806962,6.25,12.191358,10.6811146,33.8006231,15.4166667,1.5870719,1.5870719,26.6923077,23,55.7936508,7.2629969,37.3839009,66.3312693,28.7151703,48.2198142,20.5108359,6.1145511,11.6459627,9.7826087,33.0721003,16.8103448,1.1995134,1.1995134,27.265745,23.5791091,57.0859873,6.3846154,38.299532,66.3806552,28.6271451,47.6599064,19.1107644,5.5382215,12.5,10.0308642,34.84375,17.2268908 +417,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9535544,0.9631056,13.512299,9.3114873,21.2493314,21.3862074,36.8189555,65.5223373,37.5619156,50.4934165,23.8415711,4.0461188,9.663787,9.0883489,31.4805666,13.3104825,0.9656066,0.9745694,13.5278406,9.5434825,21.5493017,21.5087289,37.0953879,65.4774213,37.0987234,49.6328842,23.4423235,4.0971554,9.6090601,9.1382093,30.8840668,14.6270344,1.0123653,1.0216472,13.7522348,9.8174025,21.9658227,21.6946956,36.895343,65.8880792,38.0141276,49.7214451,23.2370496,4.3617447,9.6393759,8.9662226,31.5836334,14.4378296,0.9501579,0.9597641,14.1564071,10.2057908,21.9845094,21.6066783,36.6108946,65.8101667,38.1342462,49.5483417,22.9365813,4.210229,9.5090684,8.4979915,31.3214879,11.9231044,0.8716804,0.8716804,14.4152042,10.3487758,22.4309514,21.741515,37.0726886,65.8838154,37.8770708,49.4365871,22.3484977,4.1423595,9.618488,8.3177907,32.2348215,13.9097744 +418,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4612452,0.4612452,8.6574542,5.4176325,51.9241917,15.6617497,32.0575744,67.0610858,34.7469883,47.2546158,18.5280502,3.6474444,10.0435195,9.0829456,29.6459045,4.6296325,0.4225347,0.4225347,7.9183102,4.9279233,49.9397283,16.008481,31.723552,66.8477805,35.0692392,47.9732905,17.6174056,3.5083588,10.1809191,9.431572,29.4820248,3.8922202,0.4203266,0.4376715,8.0519773,5.0070098,48.8583373,16.1755496,31.9056316,67.2355784,35.0505767,47.6582594,17.2710455,3.5364218,9.6775465,8.4439239,29.2918095,4.0372746,0.4161409,0.445201,7.8586534,4.8258837,47.4077294,15.7270775,31.725727,67.4056255,35.4348526,48.3719108,17.1971682,3.272583,9.3434789,8.3922585,28.8499207,4.464291,0.4058111,0.4348806,8.2838991,4.9107867,45.232083,16.0761819,32.1793405,67.5157557,36.4881468,49.0334565,18.1573284,3.3444943,8.9775006,8.5699229,27.9427,3.9393987 +419,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5984827,0.5780076,8.7449933,4.6951491,75.7798574,18.514461,32.0274458,65.6706507,28.75166,42.1646746,15.2501107,3.6520584,8.9837398,7.6202119,33.7837838,2.7363184,0.532851,0.5259923,8.0205541,4.1778374,74.5660881,19.2778993,32.4867491,65.3047703,29.7482332,43.0432862,15.4814488,3.8206714,8.7366694,7.6069079,33.5950413,3.6231884,0.6900978,0.6833447,8.013245,3.9072848,74.2027086,20.1159296,32.3733218,64.8549155,30.3811174,43.763534,15.5695106,4.0909091,8.7810746,7.423756,33.9386602,3.0516432,0.7585423,0.7518408,8.3296703,4.1098901,73.7288136,20.4662104,32.1027634,64.8316062,30.246114,43.7176166,15.4792746,4.2080276,9.0361446,8.159164,34.9636217,3.8812785,0.6980498,0.691407,7.9852045,3.9817232,73.3895374,20.1571793,31.483069,65.2593228,31.0115731,43.9991427,16.0094299,3.8346187,9.16,8.6137821,33.9630225,4.2410714 +420,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5711673,0.5667741,10.7203729,6.8442973,67.4549652,10.1236438,27.0645569,66.5988952,35.9626671,42.6364139,18.6697665,4.0857831,10.2578837,8.7932589,32.7273328,3.1100478,0.6730873,0.6687424,10.590284,6.817553,66.0664385,10.8879785,26.8039659,67.0790738,37.0887066,43.2526636,19.2806099,4.146848,10.7277188,8.9480799,33.0206005,4.2410714,0.6427409,0.6341317,10.5415824,6.7140894,64.7425315,11.3747655,27.1048851,67.2131937,36.7933902,43.8361372,18.9145077,4.0981903,10.6270687,8.8247051,32.9661981,5.5309735,0.7052013,0.6967212,10.4030997,6.477521,63.8917871,11.7162796,26.9283885,67.2977894,37.154498,44.8131888,19.3210451,4.2359451,10.2926956,8.3208868,33.3783156,6.9915254,0.7418751,0.7630967,10.3582419,6.5772614,62.773453,12.1477099,27.3498719,67.2887625,38.0756644,44.8807654,19.5472051,4.3475277,10.0732435,8.1696677,33.586817,6.9037657 +421,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9720542,1.0429746,17.1059539,13.3223291,49.3977421,16.5452849,33.3202678,64.2246504,35.2203641,38.0007482,19.4493417,5.8091105,10.3379602,8.8949008,36.6079554,15.9263975,1.0767432,1.1772025,17.3175367,13.5993832,49.9724962,17.1892918,33.5204428,63.5947037,33.9299739,37.9886555,19.3976368,5.9298778,10.8552701,9.3378593,37.9413658,15.4828111,1.1956358,1.2762045,17.7133032,13.9071222,52.105311,16.5770782,33.4458986,62.7073689,33.5550213,37.6360846,19.4729881,5.5015447,10.6397927,10.0970829,38.003641,17.6229192,1.3422049,1.3697418,18.1973847,13.9896873,54.9619611,16.2271972,34.4629822,62.13052,32.9034748,38.4003441,19.7221443,4.983043,11.3196743,10.8160276,39.3024707,17.2216352,1.1726742,1.2002722,17.8064569,13.4590108,58.811255,16.6671782,34.9071562,62.9908357,33.6413056,39.2202602,19.9250451,5.1838104,11.4754158,10.5642986,39.7421119,12.1377971 +422,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9875409,0.9177058,18.6709105,14.7784707,28.2678698,20.1025264,36.5494521,65.2415448,36.9819166,47.5270881,22.2884341,3.2603281,11.2503808,9.0438504,36.049156,19.5652795,0.9677035,0.9003383,19.0142995,15.2981557,28.8557892,19.9705755,36.474197,65.2168374,37.5701498,47.648984,22.0369799,3.2400969,11.3534425,8.9769091,36.4472962,18.4849091,1.1302872,1.0176315,18.5689052,15.2734011,29.3616748,19.9961883,36.2010647,64.2296777,37.3226599,46.4241199,21.2527369,3.0559349,11.9633995,8.7885485,36.0455852,18.263522,1.2166251,1.1110122,19.9876533,16.4207659,30.764096,18.9943171,36.4721759,63.6163671,36.0685287,46.5675726,20.9267246,2.9465241,12.4045999,9.6675123,36.6636985,16.8639253,1.1879024,1.0615438,20.7186585,17.0150145,32.2907554,19.212564,36.8878216,63.6019287,35.1068746,46.549426,20.2385866,3.0511687,12.4714405,9.3803702,37.8134705,16.4739884 +423,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5598604,0.5520434,10.5194644,7.3122268,67.2736262,10.0109812,30.564813,67.5756339,30.7729731,45.9408923,16.2572955,2.8240333,11.2711485,10.0925853,32.1029005,6.1491985,0.5835147,0.5692179,10.4490952,7.2255116,65.8310968,10.2480995,30.5010469,67.6896355,31.155192,47.007656,16.4996626,2.9157929,11.2886273,10.0845911,31.7492196,7.1862594,0.6063732,0.5917959,10.8011232,7.5122982,64.4059254,10.4187103,30.6060117,68.1024635,30.5634415,46.8563647,16.3568035,3.0016987,11.3095348,9.8358535,31.4884129,7.1428793,0.6251811,0.6164657,10.6526057,7.3541929,62.6520934,10.4573758,30.7389928,68.0317315,30.6103564,46.8767857,16.5880517,2.9945665,11.2011776,9.8057527,31.2500105,7.1281198,0.5777348,0.5669589,10.6768963,7.2637347,61.4057063,10.8148862,31.5166924,68.0478982,30.6023293,46.7706828,16.8577717,3.1132068,10.9156853,10.0107501,31.7899662,7.3804782 +424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.6405432,0.5790955,9.3255709,5.5126935,78.5621443,11.3347378,26.4140379,61.4574616,30.6365886,38.9968093,14.1624647,3.1456846,11.7033697,10.8631088,37.4478286,4.8872254,0.3815371,0.3815371,8.5981605,5.3536691,76.9074506,12.3807515,25.4438133,60.7995383,32.40395,39.9938717,15.3375952,3.1558279,12.3396962,12.4493787,37.4727351,4.2307757,0.291412,0.291412,7.9253765,4.9497375,76.2204866,12.2275817,25.1430528,61.6222919,32.3022068,39.5586109,15.0643042,3.0608421,11.2664943,11.9985248,36.4403036,3.2601679,0.4192448,0.4341469,8.4409171,5.215596,75.825328,12.5600456,25.5222908,61.9743726,32.0795145,38.5394585,14.8584639,3.1586154,10.9168512,11.4860307,37.3913063,3.8724295,0.4731899,0.4879158,8.5936187,5.5347995,75.0985352,12.4817749,24.9728125,62.7149578,32.3995989,39.2550586,14.6541113,3.2550197,11.2107237,11.1839403,38.2408284,3.8186621 +425,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.286036,1.3281867,21.3787282,16.645784,27.2683291,15.659225,36.6981398,62.1569676,32.2568676,49.2649239,24.0230225,4.4687455,15.616621,12.123399,33.7172743,18.8458059,1.262211,1.3038413,20.6306204,15.6388781,28.6798298,15.1314307,37.0629812,62.5592151,31.3737968,49.7841318,23.8050787,4.6429045,15.1176769,11.3945805,33.9058428,18.014388,1.3516683,1.3937595,20.8630259,15.653982,29.2844524,15.9242124,37.4030503,63.0825076,31.8543394,50.571114,24.2372225,4.8691801,15.5095416,11.7524095,33.4812493,15.8448026,1.2453174,1.2453174,20.7346023,16.0739381,30.1506981,15.5864137,36.266464,64.2679731,32.4976514,50.4305867,24.4738474,4.9808997,14.6675462,11.6618163,32.5223903,15.6247396,1.1224037,1.1140742,20.402827,16.0326279,30.8543795,14.8756522,36.3139408,66.7414456,32.8207174,51.0172196,24.9842729,4.8572826,13.9470996,11.6796824,31.4256961,14.6256116 +426,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5522345,0.5422547,11.0132338,7.0712465,62.1253517,9.3946604,30.1001255,69.3414832,39.631272,42.6927854,20.703763,4.3082708,10.2383157,8.668877,35.6416378,6.1373881,0.6177419,0.6200242,11.1405417,7.2488186,61.4478244,9.2263298,30.0401528,69.7686657,40.2208234,43.413628,21.0926299,4.382947,9.9451056,8.6665465,35.4162815,6.4793585,0.6256372,0.6379073,11.0945572,7.2698432,60.281456,8.9789549,29.8922406,70.1649814,40.4587087,43.3768782,21.4524116,4.4392527,9.7118362,8.5920395,35.3357853,6.25,0.7126693,0.7198338,11.1544361,7.1105324,59.9195559,8.9795708,29.535689,69.814656,40.3888418,42.9970347,21.3002772,4.3995416,9.9561161,8.629211,36.6961445,6.9312796,0.720519,0.7385578,11.1341268,7.1449212,59.5873768,9.035285,30.0871867,70.0852649,40.558538,42.6757977,21.2732332,4.335122,9.8577423,8.3683174,36.3644694,6.5403431 +427,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.262211,1.3038413,20.6306204,15.6388781,28.6798298,15.1314307,37.0629812,62.5592151,31.3737968,49.7841318,23.8050787,4.6429045,15.1176769,11.3945805,33.9058428,18.014388,1.3516683,1.3937595,20.8630259,15.653982,29.2844524,15.9242124,37.4030503,63.0825076,31.8543394,50.571114,24.2372225,4.8691801,15.5095416,11.7524095,33.4812493,15.8448026,1.2453174,1.2453174,20.7346023,16.0739381,30.1506981,15.5864137,36.266464,64.2679731,32.4976514,50.4305867,24.4738474,4.9808997,14.6675462,11.6618163,32.5223903,15.6247396,1.1224037,1.1140742,20.402827,16.0326279,30.8543795,14.8756522,36.3139408,66.7414456,32.8207174,51.0172196,24.9842729,4.8572826,13.9470996,11.6796824,31.4256961,14.6256116,1.0339665,1.0256749,19.8132928,15.468361,31.3447508,15.146437,35.4879109,67.3511125,32.9086282,51.0942632,25.2377283,5.4444556,14.0182958,11.7044218,31.0054542,15.408805 +428,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6730873,0.6687424,10.590284,6.817553,66.0664385,10.8879785,26.8039659,67.0790738,37.0887066,43.2526636,19.2806099,4.146848,10.7277188,8.9480799,33.0206005,4.2410714,0.6427409,0.6341317,10.5415824,6.7140894,64.7425315,11.3747655,27.1048851,67.2131937,36.7933902,43.8361372,18.9145077,4.0981903,10.6270687,8.8247051,32.9661981,5.5309735,0.7052013,0.6967212,10.4030997,6.477521,63.8917871,11.7162796,26.9283885,67.2977894,37.154498,44.8131888,19.3210451,4.2359451,10.2926956,8.3208868,33.3783156,6.9915254,0.7418751,0.7630967,10.3582419,6.5772614,62.773453,12.1477099,27.3498719,67.2887625,38.0756644,44.8807654,19.5472051,4.3475277,10.0732435,8.1696677,33.586817,6.9037657,0.8182518,0.8396027,10.5872406,6.6935665,61.775489,12.2796219,27.7935761,67.4163217,38.1624972,45.114158,19.6314644,4.4472125,10.0730271,8.2450147,33.1943935,6.3291191 +429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.8313449,0.8313449,11.4234069,7.0912738,44.0139079,15.8072815,36.6578916,68.9736804,42.55259,51.4473483,26.5525957,3.4999812,13.4803961,12.7335534,38.9437233,9.9206349,0.6598591,0.7083612,11.5299425,7.1770595,43.5851185,16.7469182,36.2477595,69.3747015,42.8309814,51.9422378,26.2938513,4.0289333,14.0962769,13.4748464,39.8715197,9.689915,0.8738579,0.8738579,11.4008163,6.8929011,42.7037931,17.0116813,36.1398396,68.6959896,43.7060508,51.6453047,26.9217725,4.4491459,13.4441155,12.6012311,38.6133495,7.4803091,0.8570442,0.8570442,11.8524128,7.2661602,42.9991088,17.1715157,37.0817701,68.8940241,44.3143813,51.4905215,27.0803541,4.5486486,13.4861499,13.2368903,38.3583328,7.4561273,0.8808522,0.8267329,11.3141843,7.456414,43.1840032,17.3723881,36.1117791,68.9802907,43.9180562,51.1374069,26.6033462,4.3140011,13.1813222,11.8994512,37.7241774,8.0952227 +430,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4225347,0.4225347,7.9183102,4.9279233,49.9397283,16.008481,31.723552,66.8477805,35.0692392,47.9732905,17.6174056,3.5083588,10.1809191,9.431572,29.4820248,3.8922202,0.4203266,0.4376715,8.0519773,5.0070098,48.8583373,16.1755496,31.9056316,67.2355784,35.0505767,47.6582594,17.2710455,3.5364218,9.6775465,8.4439239,29.2918095,4.0372746,0.4161409,0.445201,7.8586534,4.8258837,47.4077294,15.7270775,31.725727,67.4056255,35.4348526,48.3719108,17.1971682,3.272583,9.3434789,8.3922585,28.8499207,4.464291,0.4058111,0.4348806,8.2838991,4.9107867,45.232083,16.0761819,32.1793405,67.5157557,36.4881468,49.0334565,18.1573284,3.3444943,8.9775006,8.5699229,27.9427,3.9393987,0.3774611,0.4071757,8.5477964,5.0225465,42.5680153,15.947114,33.287337,67.9473566,36.9585252,48.6646343,18.7577016,3.3422181,9.3539217,8.9936787,27.8704485,3.6184234 +431,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8634376,0.8401807,11.4601397,6.9638228,68.0625123,13.6205521,37.2860876,68.4391338,36.8862989,47.3292851,20.3342359,3.3024129,10.9624078,10.5239524,33.9047245,8.8528839,0.87264,0.8677531,11.1865981,6.7525556,66.405968,13.8394997,36.3441141,68.5420665,36.7420275,47.9149949,20.4440652,3.2707314,11.2290776,10.5870273,33.6701106,7.4219194,0.8363733,0.8339477,11.0999089,6.7500531,65.121267,14.1509461,35.3485203,68.3183016,37.0396947,48.0243265,20.6812107,3.1689587,11.5177889,10.7902057,33.4187008,7.9634987,0.7956298,0.7925355,11.0275236,6.9539533,63.871502,14.6138616,35.1378671,68.2078578,36.9656444,48.2264529,20.7481459,3.3224923,11.5475213,10.6480273,32.8051163,7.7428104,0.8402205,0.8430192,11.3673835,7.1876489,62.7494271,14.8334401,35.0197573,67.9929708,37.2261506,48.4403188,21.0210078,3.3703606,11.8284396,10.8299778,32.6213842,7.5641263 +432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3957663,0.4697623,7.993024,4.686907,78.9156583,18.9606602,30.8124002,61.3334777,26.5358513,37.3443021,12.8499578,5.9292562,10.2794263,9.2115132,35.2625892,2.8138528,0.3699222,0.444629,7.8803541,4.5561352,78.1424159,19.6261175,30.1285039,62.2268775,27.1256668,38.123849,14.3331108,5.6747449,10.6681632,9.2313664,34.0665146,3.8116592,0.2629524,0.3324695,7.6407714,4.3087078,77.3287005,19.590306,29.8706714,61.9254554,27.7441019,39.5554722,14.9069896,5.3361353,10.3364272,9.2852581,32.8060824,3.6170213,0.3469079,0.3817148,7.764592,4.3903517,77.2938884,19.5298474,29.1601337,62.7088642,27.8306311,39.2665486,15.3685819,5.5281329,10.0141104,8.8834692,33.2745777,4.4117647,0.3814916,0.4234349,8.0657569,4.401223,76.6605939,19.2873319,29.1695764,62.639516,28.4624818,39.7057184,15.3574525,5.2308427,10.1820017,8.5724757,33.2514093,4.7717842 +433,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9656066,0.9745694,13.5278406,9.5434825,21.5493017,21.5087289,37.0953879,65.4774213,37.0987234,49.6328842,23.4423235,4.0971554,9.6090601,9.1382093,30.8840668,14.6270344,1.0123653,1.0216472,13.7522348,9.8174025,21.9658227,21.6946956,36.895343,65.8880792,38.0141276,49.7214451,23.2370496,4.3617447,9.6393759,8.9662226,31.5836334,14.4378296,0.9501579,0.9597641,14.1564071,10.2057908,21.9845094,21.6066783,36.6108946,65.8101667,38.1342462,49.5483417,22.9365813,4.210229,9.5090684,8.4979915,31.3214879,11.9231044,0.8716804,0.8716804,14.4152042,10.3487758,22.4309514,21.741515,37.0726886,65.8838154,37.8770708,49.4365871,22.3484977,4.1423595,9.618488,8.3177907,32.2348215,13.9097744,0.8699422,0.8699422,14.9679902,10.7426497,22.4451534,21.0605143,36.8219006,65.5979966,37.2583603,48.8580403,22.3582292,4.4112985,10.220992,7.8911467,31.6447706,15.9836066 +434,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4755567,0.4956389,10.1495944,7.0046415,81.2598183,12.1990874,28.4118803,65.8372685,27.9915677,41.3071269,12.0879727,4.8551295,10.9851466,10.4295928,30.6048673,6.9733848,0.4848575,0.5254867,10.50848,7.3745563,80.0871401,12.2267949,28.9357371,66.6262263,28.5603538,42.7576687,12.5744319,4.8907112,11.4791855,10.5801429,31.082591,7.6577588,0.4843483,0.5553059,10.4067212,7.3401491,78.9818137,12.3779016,29.4652062,67.0063951,28.9611768,43.4252737,12.6122123,5.0295971,11.7319884,11.2190305,31.3378193,8.3587744,0.4958897,0.5608779,10.2122756,7.3749169,77.9606816,12.4513415,29.5047693,66.5249068,28.5231161,43.3136566,12.6635244,4.6356946,11.9245382,11.0349788,31.0910319,7.2756161,0.5319125,0.596769,10.6142505,7.7909545,77.0598269,13.0476258,29.7535162,67.3680708,28.9468119,43.5128057,12.7888924,4.6118705,12.1394181,11.209831,31.6845305,6.9231238 +435,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4915921,0.4835542,10.8622961,7.104669,63.2073535,18.6102873,33.8231306,67.9649616,35.7609318,46.0657627,19.8502982,2.8611171,13.0778685,11.6581515,36.9379935,5.9859197,0.3970242,0.3890217,10.8121214,7.1723051,61.3473205,18.3035795,32.9672465,67.7972306,36.1769849,46.4806922,19.9834797,2.8926527,12.3384645,11.5847633,36.5801387,3.6666667,0.5698521,0.5464479,11.8221644,7.2846634,60.2044998,19.4112568,33.5933384,68.4208751,36.5499238,46.6772216,20.5653297,3.0213096,12.2107653,11.659292,37.4725914,3.555505,0.5628929,0.5400065,12.6431751,7.7238294,59.4918192,19.3645753,33.2801848,68.3568036,36.0500361,46.5566675,20.6880167,3.0431129,11.933554,12.3692674,38.0561421,4.4725386,0.6175943,0.645172,12.5971791,7.3973625,58.4072865,20.7966512,34.0851099,69.1005097,36.153271,46.9640684,21.3426687,3.5786439,11.7337928,11.6020823,37.3027898,4.2933245 +436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4359036,1.3723168,15.4956837,11.3519031,44.2326486,19.0791534,34.2819778,69.7211463,36.6845704,48.3369787,27.0284296,2.574937,11.5570849,10.6342961,40.3945842,16.9183693,1.1893704,1.1577795,15.6352914,11.3034794,44.4967213,18.2074581,33.2129914,69.952854,36.8814161,47.1577608,26.1540411,2.4435047,11.2617436,10.8030833,40.4917994,15.7416129,1.035557,1.0042663,16.6503159,12.4079953,44.2483177,18.8729005,31.8513717,70.0257198,36.3539445,47.897002,26.0206943,2.1626758,12.2480896,11.1181642,40.6956167,17.8131869,1.0055369,0.9738777,17.911902,13.0464922,44.361574,19.0572462,32.3805962,69.8782006,35.5955375,47.3687133,25.1202085,2.1929415,12.9982704,11.8537548,40.4815729,18.5204696,0.7920958,0.7610267,18.003194,12.7481331,43.8935594,18.6739705,32.1248763,69.938048,35.2943757,47.3935623,24.2649315,2.0220262,12.9658266,12.2363605,41.6471544,18.7270096 +437,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0694078,1.0564695,13.9273193,8.449126,52.9064259,18.0452936,35.1692398,69.8458359,36.4980537,48.5853312,23.2530848,3.1077053,10.6854103,9.4406137,36.929369,7.9858782,1.0861612,1.0861612,13.6571473,8.1858652,51.6090624,18.7980101,34.7046306,69.9915931,37.2898276,47.9749877,23.5887803,3.0375799,10.4113463,9.3722165,36.5029929,9.1835298,0.9897812,0.9504023,13.7891511,8.2479099,50.5942783,18.9833864,34.3722154,70.728068,37.1184628,48.93178,24.5639036,3.1605071,10.4669946,9.4221766,36.206763,11.5128474,0.8581454,0.8123109,13.3940515,8.0279209,50.153588,18.7260231,34.5750905,70.5663391,37.2766266,48.5617533,24.5096229,3.2899133,11.8986652,10.449641,36.6329734,11.2900239,0.9217819,0.8748373,13.7333968,8.4933546,49.7066618,18.3679301,35.6599037,70.9853405,38.4252208,48.9515206,25.3566606,3.3230012,11.9777365,10.6502307,35.9229517,11.5128928 +438,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0123653,1.0216472,13.7522348,9.8174025,21.9658227,21.6946956,36.895343,65.8880792,38.0141276,49.7214451,23.2370496,4.3617447,9.6393759,8.9662226,31.5836334,14.4378296,0.9501579,0.9597641,14.1564071,10.2057908,21.9845094,21.6066783,36.6108946,65.8101667,38.1342462,49.5483417,22.9365813,4.210229,9.5090684,8.4979915,31.3214879,11.9231044,0.8716804,0.8716804,14.4152042,10.3487758,22.4309514,21.741515,37.0726886,65.8838154,37.8770708,49.4365871,22.3484977,4.1423595,9.618488,8.3177907,32.2348215,13.9097744,0.8699422,0.8699422,14.9679902,10.7426497,22.4451534,21.0605143,36.8219006,65.5979966,37.2583603,48.8580403,22.3582292,4.4112985,10.220992,7.8911467,31.6447706,15.9836066,0.9967932,0.9967932,15.4784112,10.9119084,22.8938852,20.6361434,36.5188876,66.2139191,37.0299343,48.6230226,22.0647363,4.2116111,10.7099747,7.7267883,31.5386772,16.015625 +439,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4848575,0.5254867,10.50848,7.3745563,80.0871401,12.2267949,28.9357371,66.6262263,28.5603538,42.7576687,12.5744319,4.8907112,11.4791855,10.5801429,31.082591,7.6577588,0.4843483,0.5553059,10.4067212,7.3401491,78.9818137,12.3779016,29.4652062,67.0063951,28.9611768,43.4252737,12.6122123,5.0295971,11.7319884,11.2190305,31.3378193,8.3587744,0.4958897,0.5608779,10.2122756,7.3749169,77.9606816,12.4513415,29.5047693,66.5249068,28.5231161,43.3136566,12.6635244,4.6356946,11.9245382,11.0349788,31.0910319,7.2756161,0.5319125,0.596769,10.6142505,7.7909545,77.0598269,13.0476258,29.7535162,67.3680708,28.9468119,43.5128057,12.7888924,4.6118705,12.1394181,11.209831,31.6845305,6.9231238,0.5149674,0.579732,10.4738594,7.8366213,76.7203131,12.7693115,29.7170278,67.3231953,29.1294877,43.231776,12.8291226,4.4504935,12.3336953,11.1598599,31.9188866,5.8383618 +440,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6649479,0.6523594,11.6787896,7.2399583,71.9778944,8.2379405,34.9838267,65.623922,38.1796257,42.4720333,22.096664,3.684841,11.6737167,9.5439819,40.0113204,6.4995771,0.6429203,0.634997,11.2965377,6.9618656,71.2408345,8.6013385,34.8524964,65.3486391,38.1570536,42.6752568,22.0728792,3.8036263,11.4322025,9.3798658,39.70625,5.6546221,0.6476339,0.6503786,11.1967277,6.8514252,70.4841789,8.4870043,34.7719728,65.5663847,38.1892997,42.640993,22.4778172,3.870042,11.44716,9.4793314,39.9064017,5.9084991,0.6282426,0.6369661,11.1183773,6.7636277,69.6766222,8.7627793,34.7207779,65.5802185,38.1561544,42.8368988,23.0272128,4.0372989,10.8707549,9.0811124,39.3932133,5.0435722,0.5936686,0.6142579,10.8900207,6.720826,68.2576534,9.0911477,34.6300889,65.7310625,38.1248193,43.2009691,23.1306447,4.1536574,10.7092614,9.1429801,39.6027842,4.382715 +441,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0063663,0.9863681,13.6511593,8.8459528,52.4639051,16.8702366,36.491691,68.655626,37.4663613,47.833249,24.3526568,4.6378591,10.5504631,10.075255,43.3811181,7.4323907,0.9295988,0.9094736,13.9650717,9.1997392,53.3107181,16.6867323,35.7484452,68.259774,37.0845332,47.2387631,24.1690374,4.6622588,11.50628,10.7052933,44.2145288,5.4112145,0.8864203,0.8658903,13.876627,9.0343791,51.6709648,16.574551,35.8113564,68.3469771,37.2736323,48.2407016,24.3416114,4.6466056,11.4370758,11.3810751,43.4875824,5.2995367,0.9796561,0.9483336,14.234346,9.0249866,51.0544001,16.131077,35.7034505,69.0465617,37.8921613,48.1838288,24.7132445,4.3627756,11.8079626,11.5684529,43.6846755,5.5555529,0.8594817,0.8594817,13.6232052,8.6951571,50.969717,15.4726603,35.9513342,69.0695184,37.7375777,47.3930264,25.2337813,4.5711308,12.1875022,11.4042865,43.2371403,5.1075241 +442,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.87264,0.8677531,11.1865981,6.7525556,66.405968,13.8394997,36.3441141,68.5420665,36.7420275,47.9149949,20.4440652,3.2707314,11.2290776,10.5870273,33.6701106,7.4219194,0.8363733,0.8339477,11.0999089,6.7500531,65.121267,14.1509461,35.3485203,68.3183016,37.0396947,48.0243265,20.6812107,3.1689587,11.5177889,10.7902057,33.4187008,7.9634987,0.7956298,0.7925355,11.0275236,6.9539533,63.871502,14.6138616,35.1378671,68.2078578,36.9656444,48.2264529,20.7481459,3.3224923,11.5475213,10.6480273,32.8051163,7.7428104,0.8402205,0.8430192,11.3673835,7.1876489,62.7494271,14.8334401,35.0197573,67.9929708,37.2261506,48.4403188,21.0210078,3.3703606,11.8284396,10.8299778,32.6213842,7.5641263,0.7324524,0.7352387,11.3107806,6.9266396,61.2944767,14.8731439,34.9243404,67.9500569,37.5265168,48.8880064,20.9455489,3.4720118,11.93364,10.6214066,32.3991362,6.3591256 +443,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6598591,0.7083612,11.5299425,7.1770595,43.5851185,16.7469182,36.2477595,69.3747015,42.8309814,51.9422378,26.2938513,4.0289333,14.0962769,13.4748464,39.8715197,9.689915,0.8738579,0.8738579,11.4008163,6.8929011,42.7037931,17.0116813,36.1398396,68.6959896,43.7060508,51.6453047,26.9217725,4.4491459,13.4441155,12.6012311,38.6133495,7.4803091,0.8570442,0.8570442,11.8524128,7.2661602,42.9991088,17.1715157,37.0817701,68.8940241,44.3143813,51.4905215,27.0803541,4.5486486,13.4861499,13.2368903,38.3583328,7.4561273,0.8808522,0.8267329,11.3141843,7.456414,43.1840032,17.3723881,36.1117791,68.9802907,43.9180562,51.1374069,26.6033462,4.3140011,13.1813222,11.8994512,37.7241774,8.0952227,0.8836482,0.8279307,10.9649167,7.4183032,41.960641,17.749309,36.1704819,68.2210243,43.9567884,51.1395061,26.6337683,4.6778185,14.9538187,12.2674506,39.2898279,7.2815393 +444,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6177419,0.6200242,11.1405417,7.2488186,61.4478244,9.2263298,30.0401528,69.7686657,40.2208234,43.413628,21.0926299,4.382947,9.9451056,8.6665465,35.4162815,6.4793585,0.6256372,0.6379073,11.0945572,7.2698432,60.281456,8.9789549,29.8922406,70.1649814,40.4587087,43.3768782,21.4524116,4.4392527,9.7118362,8.5920395,35.3357853,6.25,0.7126693,0.7198338,11.1544361,7.1105324,59.9195559,8.9795708,29.535689,69.814656,40.3888418,42.9970347,21.3002772,4.3995416,9.9561161,8.629211,36.6961445,6.9312796,0.720519,0.7385578,11.1341268,7.1449212,59.5873768,9.035285,30.0871867,70.0852649,40.558538,42.6757977,21.2732332,4.335122,9.8577423,8.3683174,36.3644694,6.5403431,0.765217,0.7951517,11.0205475,7.0292427,59.3114776,9.0780889,30.389268,70.3873003,40.4846173,42.6177125,21.0213314,4.4185584,9.3802481,8.0033637,35.7907582,6.3329312 +445,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4241914,0.4396727,10.8006065,7.6633824,84.2922864,8.856035,29.0377826,65.0116852,24.8824453,40.6445025,11.5186565,3.3409331,12.5683994,11.6015361,33.9687663,7.7539941,0.372254,0.3876363,10.6267746,7.4926174,83.855992,8.7816337,29.3059749,64.5312083,25.7607772,41.238781,11.5467378,3.4292665,11.8907269,11.5466757,33.6133558,6.5444958,0.3846392,0.3846392,10.2911022,7.1786794,83.1789084,9.3578005,29.7652094,65.2316294,26.4185206,41.9738854,11.780993,3.7016479,12.4133622,11.4390443,33.5369014,5.7691674,0.3221656,0.3176313,10.0942694,7.0272262,82.7170838,9.7741293,29.4670239,65.7261837,26.454344,42.4707815,11.6616125,3.5035176,11.9555584,11.4799069,32.415902,6.2498573,0.3450913,0.3405043,9.9897206,6.9707527,82.2194327,10.0308049,29.4836107,65.2839878,26.0757015,42.3236957,11.4457849,3.2529813,11.7516644,11.5040855,30.8356615,5.6755499 +446,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3340292,0.3340292,6.9341873,4.4828716,83.5894342,20.0169227,29.9090068,64.8953859,27.5134712,40.5364382,11.2516863,5.5836622,11.0136854,8.0613809,34.7012622,4.1946168,0.3243758,0.3091807,7.0304812,4.5394901,82.1942406,19.8257659,29.7124022,66.3524817,28.4226103,41.0218203,11.987424,5.8035592,11.3808659,8.5342814,35.1462794,4.4407749,0.3404017,0.329806,6.9225804,4.4169552,80.6372059,19.9712642,30.2908773,66.8658579,28.5460237,41.3408364,12.3909376,5.735043,11.4698899,9.0543968,34.9319419,3.9556837,0.3353134,0.3248761,6.7502992,4.2407821,78.4637159,20.5205965,29.6785903,66.6613092,29.4875506,40.8815514,12.7147923,5.9356767,11.0276648,8.972783,34.7339996,3.6277545,0.3629778,0.3622842,6.849085,4.2866157,76.241214,20.2291734,29.867063,67.1572626,29.9936373,41.6111984,13.4377488,6.2202934,11.1340847,9.5251745,35.4006226,2.8700863 +447,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9501579,0.9597641,14.1564071,10.2057908,21.9845094,21.6066783,36.6108946,65.8101667,38.1342462,49.5483417,22.9365813,4.210229,9.5090684,8.4979915,31.3214879,11.9231044,0.8716804,0.8716804,14.4152042,10.3487758,22.4309514,21.741515,37.0726886,65.8838154,37.8770708,49.4365871,22.3484977,4.1423595,9.618488,8.3177907,32.2348215,13.9097744,0.8699422,0.8699422,14.9679902,10.7426497,22.4451534,21.0605143,36.8219006,65.5979966,37.2583603,48.8580403,22.3582292,4.4112985,10.220992,7.8911467,31.6447706,15.9836066,0.9967932,0.9967932,15.4784112,10.9119084,22.8938852,20.6361434,36.5188876,66.2139191,37.0299343,48.6230226,22.0647363,4.2116111,10.7099747,7.7267883,31.5386772,16.015625,0.949361,0.9941421,16.1361067,11.5266778,22.6559349,20.8479505,35.8234494,65.6228389,38.0087262,47.5028927,21.9965129,4.0798502,10.9758296,7.7477587,30.7319448,15.8536585 +448,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5835147,0.5692179,10.4490952,7.2255116,65.8310968,10.2480995,30.5010469,67.6896355,31.155192,47.007656,16.4996626,2.9157929,11.2886273,10.0845911,31.7492196,7.1862594,0.6063732,0.5917959,10.8011232,7.5122982,64.4059254,10.4187103,30.6060117,68.1024635,30.5634415,46.8563647,16.3568035,3.0016987,11.3095348,9.8358535,31.4884129,7.1428793,0.6251811,0.6164657,10.6526057,7.3541929,62.6520934,10.4573758,30.7389928,68.0317315,30.6103564,46.8767857,16.5880517,2.9945665,11.2011776,9.8057527,31.2500105,7.1281198,0.5777348,0.5669589,10.6768963,7.2637347,61.4057063,10.8148862,31.5166924,68.0478982,30.6023293,46.7706828,16.8577717,3.1132068,10.9156853,10.0107501,31.7899662,7.3804782,0.562437,0.5491895,10.350107,7.1407745,60.5649685,10.8708386,31.850477,67.8682424,30.7401942,45.869725,17.0022268,3.0125821,10.6333667,9.8358391,31.7919941,7.7004463 +449,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0861612,1.0861612,13.6571473,8.1858652,51.6090624,18.7980101,34.7046306,69.9915931,37.2898276,47.9749877,23.5887803,3.0375799,10.4113463,9.3722165,36.5029929,9.1835298,0.9897812,0.9504023,13.7891511,8.2479099,50.5942783,18.9833864,34.3722154,70.728068,37.1184628,48.93178,24.5639036,3.1605071,10.4669946,9.4221766,36.206763,11.5128474,0.8581454,0.8123109,13.3940515,8.0279209,50.153588,18.7260231,34.5750905,70.5663391,37.2766266,48.5617533,24.5096229,3.2899133,11.8986652,10.449641,36.6329734,11.2900239,0.9217819,0.8748373,13.7333968,8.4933546,49.7066618,18.3679301,35.6599037,70.9853405,38.4252208,48.9515206,25.3566606,3.3230012,11.9777365,10.6502307,35.9229517,11.5128928,0.7172308,0.710442,13.5601822,8.5493196,49.339515,18.3976762,36.3981476,71.5598647,39.2758336,49.0328707,26.0564351,3.1700012,12.2964204,10.2576648,35.7639026,11.6194319 +450,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8619166,0.8859937,12.0341351,6.6353187,57.733618,15.7517446,32.856661,69.4385638,38.082633,44.7563444,22.3693463,3.0896842,9.4868384,7.8769505,32.3229005,8.291449,0.7647242,0.7884734,11.9113177,6.7205262,56.7811566,16.0214308,32.162847,69.0251538,37.683449,44.881213,22.5541721,2.9874165,10.0135832,8.4578871,32.6161345,9.0243814,0.7353395,0.7587331,11.7057537,6.7108442,56.6212447,16.3825391,32.9260152,69.7246164,38.0206726,45.043043,22.5989827,2.9431959,10.4784395,8.67072,32.1259457,7.9081512,0.7454627,0.7892674,11.1244122,6.5447772,56.0105414,16.5867825,33.5694723,69.678646,38.234283,45.0760274,22.4084388,2.8161697,10.3900454,8.6531984,32.6468743,5.4687415,0.7960128,0.8403306,11.1858094,7.1527138,54.8254912,17.1582202,33.9009979,69.9613796,38.9220507,45.0667333,22.8757154,2.8616515,10.6579808,8.5449535,33.0013808,6.1497228 +451,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6256372,0.6379073,11.0945572,7.2698432,60.281456,8.9789549,29.8922406,70.1649814,40.4587087,43.3768782,21.4524116,4.4392527,9.7118362,8.5920395,35.3357853,6.25,0.7126693,0.7198338,11.1544361,7.1105324,59.9195559,8.9795708,29.535689,69.814656,40.3888418,42.9970347,21.3002772,4.3995416,9.9561161,8.629211,36.6961445,6.9312796,0.720519,0.7385578,11.1341268,7.1449212,59.5873768,9.035285,30.0871867,70.0852649,40.558538,42.6757977,21.2732332,4.335122,9.8577423,8.3683174,36.3644694,6.5403431,0.765217,0.7951517,11.0205475,7.0292427,59.3114776,9.0780889,30.389268,70.3873003,40.4846173,42.6177125,21.0213314,4.4185584,9.3802481,8.0033637,35.7907582,6.3329312,0.7500056,0.7848448,10.8873765,6.9201557,58.8866512,8.8885596,30.2802941,70.4254041,40.5178403,42.2771037,20.907462,4.5075039,9.5593778,8.0306489,36.040756,6.1160151 +452,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.8022867,0.8820281,12.8487358,8.1353236,30.1793016,15.961049,35.0694369,68.0211902,43.7859542,50.2361886,24.6096395,3.9805429,13.8520222,12.6526899,35.5756366,8.4028262,0.7587254,0.8467057,12.6215605,8.1686149,30.4430448,16.6587932,35.1339191,67.9433088,43.8420828,50.140459,24.8374775,3.751635,13.5726709,11.9957419,36.4281459,9.0472629,0.7062842,0.8151915,12.5465082,8.5586795,30.6629474,16.599009,34.9194719,67.5564375,43.7345922,49.4014706,25.159878,3.856622,13.7209359,11.6954143,35.9964695,8.7155883,0.6983708,0.8040606,12.3510423,8.1881747,31.1749165,17.3721771,35.3228156,68.0845109,43.3357264,49.2186429,25.3827392,3.9303985,13.06656,11.6776473,34.5936842,10.1941847,0.9419012,1.0465099,12.9585411,8.7585575,30.8019413,17.2968932,34.6976214,67.7668234,42.6141863,48.9775092,25.0774998,3.7829253,12.7116835,11.2000705,34.800926,12.9807817 +453,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8216149,0.8484141,11.2945904,6.4339618,58.6042055,18.7532139,31.6843279,68.9098477,36.6700634,47.0034256,21.6353641,4.0945032,10.2506352,8.6638867,36.1546002,6.4460525,0.7777958,0.7764304,11.2116519,6.2484924,57.5503574,18.9426516,31.5242111,68.475771,37.0668477,47.0747431,21.5422873,4.2211034,10.5146619,9.2463206,36.3433435,6.2724555,0.7446248,0.7344238,10.9567088,6.0586865,57.2089086,18.557854,31.7372007,67.7723928,36.0737419,45.7537013,20.6634026,3.9622565,10.3095046,9.1794178,36.1739194,5.9783302,0.6441859,0.6496788,10.778905,5.9939151,56.1875562,17.7883806,32.8371576,68.1206876,36.3058621,46.1170371,20.9293607,4.051228,9.8033801,8.8085068,35.7794708,6.5299336,0.6869814,0.7126104,10.9798084,6.2240398,55.5542709,17.9173625,33.0819406,69.0608492,36.8120428,46.1508805,21.5211931,4.1401838,9.7250505,8.9608621,35.4677185,7.3585878 +454,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9295988,0.9094736,13.9650717,9.1997392,53.3107181,16.6867323,35.7484452,68.259774,37.0845332,47.2387631,24.1690374,4.6622588,11.50628,10.7052933,44.2145288,5.4112145,0.8864203,0.8658903,13.876627,9.0343791,51.6709648,16.574551,35.8113564,68.3469771,37.2736323,48.2407016,24.3416114,4.6466056,11.4370758,11.3810751,43.4875824,5.2995367,0.9796561,0.9483336,14.234346,9.0249866,51.0544001,16.131077,35.7034505,69.0465617,37.8921613,48.1838288,24.7132445,4.3627756,11.8079626,11.5684529,43.6846755,5.5555529,0.8594817,0.8594817,13.6232052,8.6951571,50.969717,15.4726603,35.9513342,69.0695184,37.7375777,47.3930264,25.2337813,4.5711308,12.1875022,11.4042865,43.2371403,5.1075241,0.8847922,0.8961073,12.590469,8.1380403,50.1946979,15.214088,35.6844911,69.1125997,37.6033204,47.2984732,24.6259561,4.1247363,11.7455951,11.7455858,42.3831787,4.3352601 +455,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8716804,0.8716804,14.4152042,10.3487758,22.4309514,21.741515,37.0726886,65.8838154,37.8770708,49.4365871,22.3484977,4.1423595,9.618488,8.3177907,32.2348215,13.9097744,0.8699422,0.8699422,14.9679902,10.7426497,22.4451534,21.0605143,36.8219006,65.5979966,37.2583603,48.8580403,22.3582292,4.4112985,10.220992,7.8911467,31.6447706,15.9836066,0.9967932,0.9967932,15.4784112,10.9119084,22.8938852,20.6361434,36.5188876,66.2139191,37.0299343,48.6230226,22.0647363,4.2116111,10.7099747,7.7267883,31.5386772,16.015625,0.949361,0.9941421,16.1361067,11.5266778,22.6559349,20.8479505,35.8234494,65.6228389,38.0087262,47.5028927,21.9965129,4.0798502,10.9758296,7.7477587,30.7319448,15.8536585,0.9809262,1.0253388,17.0525211,12.5211907,23.5703511,21.610501,36.0352814,65.5632604,38.2150667,47.9886718,22.2840439,4.1833944,11.0462628,7.737241,30.9583443,13.9999888 +456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0767432,1.1772025,17.3175367,13.5993832,49.9724962,17.1892918,33.5204428,63.5947037,33.9299739,37.9886555,19.3976368,5.9298778,10.8552701,9.3378593,37.9413658,15.4828111,1.1956358,1.2762045,17.7133032,13.9071222,52.105311,16.5770782,33.4458986,62.7073689,33.5550213,37.6360846,19.4729881,5.5015447,10.6397927,10.0970829,38.003641,17.6229192,1.3422049,1.3697418,18.1973847,13.9896873,54.9619611,16.2271972,34.4629822,62.13052,32.9034748,38.4003441,19.7221443,4.983043,11.3196743,10.8160276,39.3024707,17.2216352,1.1726742,1.2002722,17.8064569,13.4590108,58.811255,16.6671782,34.9071562,62.9908357,33.6413056,39.2202602,19.9250451,5.1838104,11.4754158,10.5642986,39.7421119,12.1377971,1.1917723,1.2193015,17.7148948,13.7206934,62.4779461,15.547462,33.6384953,63.3171665,33.0298729,37.9657102,19.0883646,4.6596493,11.7386929,10.5655134,39.9601827,12.9620716 +457,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4089219,1.3407849,21.3703185,17.9842002,35.2693752,18.6119081,30.8999439,64.4087258,34.4185638,45.7627939,20.5004129,2.9150083,13.0716011,12.8599051,37.2089389,16.0674373,1.4846458,1.4305312,22.3372219,18.9162172,34.962164,17.764618,31.1241335,63.7428471,34.7716519,45.6639323,20.5771031,2.7612295,12.3917237,12.2083839,38.0068574,17.3432159,1.5365973,1.5290073,23.5074761,19.8123567,35.1253503,17.1085116,30.9030823,64.3138907,33.9319022,45.1043853,19.8703622,2.6567158,12.7728933,11.7476082,38.1411583,16.5584308,1.5094964,1.5245063,23.9734586,20.0935902,35.348706,17.3607666,31.7047601,64.8057214,34.4472481,45.4671976,20.7740061,3.0121999,12.8616341,10.9526851,37.8865491,17.0807241,1.4295848,1.4952988,24.6648559,20.8379091,36.4964923,16.8168029,32.0081834,64.8947654,34.428697,44.8238345,21.0824003,2.9192611,12.6048729,10.3801784,38.319823,16.5697385 +458,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8363733,0.8339477,11.0999089,6.7500531,65.121267,14.1509461,35.3485203,68.3183016,37.0396947,48.0243265,20.6812107,3.1689587,11.5177889,10.7902057,33.4187008,7.9634987,0.7956298,0.7925355,11.0275236,6.9539533,63.871502,14.6138616,35.1378671,68.2078578,36.9656444,48.2264529,20.7481459,3.3224923,11.5475213,10.6480273,32.8051163,7.7428104,0.8402205,0.8430192,11.3673835,7.1876489,62.7494271,14.8334401,35.0197573,67.9929708,37.2261506,48.4403188,21.0210078,3.3703606,11.8284396,10.8299778,32.6213842,7.5641263,0.7324524,0.7352387,11.3107806,6.9266396,61.2944767,14.8731439,34.9243404,67.9500569,37.5265168,48.8880064,20.9455489,3.4720118,11.93364,10.6214066,32.3991362,6.3591256,0.6920653,0.6901751,11.4877251,6.9987901,59.6601147,14.8863785,34.3908263,67.7753611,36.910469,48.6172611,20.7174797,3.3722593,12.0955916,11.2548481,32.7514833,6.5891714 +459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5795491,0.5448833,9.1379046,6.055777,67.2843102,15.1865259,31.4818205,67.0687682,33.3473378,44.1279549,19.0550692,3.763224,9.7469224,8.6953236,33.3904388,5.1714832,0.5699896,0.5349388,9.1946156,6.1220467,65.7811504,15.1150343,31.6433821,66.9286556,33.1457048,43.7543055,18.7388916,3.6423621,10.3809505,9.1092812,33.4600564,5.6816815,0.5445012,0.5275151,9.2279409,5.980973,64.418623,15.2769369,31.698315,67.1745967,33.3543515,43.2447462,18.8121714,3.6284984,10.7074893,9.3776422,33.5676969,5.587237,0.4263925,0.4546797,8.5795417,5.525153,62.9882117,15.5054739,32.7629825,66.9320212,32.9367826,43.4384015,18.8303631,3.8503909,10.1189265,9.0766846,33.5133823,5.5159684,0.4728685,0.4994014,8.2210744,5.2190256,61.7001796,15.431167,33.1853455,66.6989929,32.7520846,43.0214843,18.688398,3.9717175,10.0460488,8.8617139,33.1472324,4.3996485 +460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7636198,0.7313251,11.9172629,7.2973589,73.6395672,12.4113503,32.8477375,66.1739774,30.5508252,42.6946079,16.4291793,2.7541472,10.4833306,9.1229924,34.1296485,8.2848958,0.7846693,0.7523432,11.1146128,6.958445,72.0144461,12.6173186,32.2494877,67.4520349,31.3965865,43.1450056,16.7057626,2.9317695,10.5042034,9.5001901,35.1960592,8.0736613,0.7445008,0.7017951,10.5146578,6.4859736,70.0762622,12.8240565,31.5795352,67.8632751,32.5225004,43.6669648,17.5632303,2.9682827,10.0364894,8.7601692,34.9979639,8.1944444,0.7292225,0.6840359,10.5080121,6.5451135,68.4675961,12.9042565,31.2473336,68.0013039,33.6088383,43.9351673,18.0227552,3.1451277,10.381948,8.9445834,34.3622134,7.3065903,0.6285162,0.5742435,10.3889208,6.5419554,66.7797133,13.0652661,31.5046559,67.6331247,33.6818212,44.0504481,18.333693,3.265791,10.8377292,9.5636252,34.8670729,7.6149691 +461,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7647242,0.7884734,11.9113177,6.7205262,56.7811566,16.0214308,32.162847,69.0251538,37.683449,44.881213,22.5541721,2.9874165,10.0135832,8.4578871,32.6161345,9.0243814,0.7353395,0.7587331,11.7057537,6.7108442,56.6212447,16.3825391,32.9260152,69.7246164,38.0206726,45.043043,22.5989827,2.9431959,10.4784395,8.67072,32.1259457,7.9081512,0.7454627,0.7892674,11.1244122,6.5447772,56.0105414,16.5867825,33.5694723,69.678646,38.234283,45.0760274,22.4084388,2.8161697,10.3900454,8.6531984,32.6468743,5.4687415,0.7960128,0.8403306,11.1858094,7.1527138,54.8254912,17.1582202,33.9009979,69.9613796,38.9220507,45.0667333,22.8757154,2.8616515,10.6579808,8.5449535,33.0013808,6.1497228,0.8258003,0.8702448,11.1398163,6.9387105,55.0747882,17.181,33.725012,69.0810189,37.7586849,44.6685465,22.5359567,2.8235651,10.5425737,8.9064645,33.1611709,5.2197745 +462,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7353395,0.7587331,11.7057537,6.7108442,56.6212447,16.3825391,32.9260152,69.7246164,38.0206726,45.043043,22.5989827,2.9431959,10.4784395,8.67072,32.1259457,7.9081512,0.7454627,0.7892674,11.1244122,6.5447772,56.0105414,16.5867825,33.5694723,69.678646,38.234283,45.0760274,22.4084388,2.8161697,10.3900454,8.6531984,32.6468743,5.4687415,0.7960128,0.8403306,11.1858094,7.1527138,54.8254912,17.1582202,33.9009979,69.9613796,38.9220507,45.0667333,22.8757154,2.8616515,10.6579808,8.5449535,33.0013808,6.1497228,0.8258003,0.8702448,11.1398163,6.9387105,55.0747882,17.181,33.725012,69.0810189,37.7586849,44.6685465,22.5359567,2.8235651,10.5425737,8.9064645,33.1611709,5.2197745,0.7888438,0.8343722,10.7155457,7.0676981,54.2654152,17.3643179,34.0452353,69.4723506,38.2806851,45.1364098,22.6669145,3.1765919,10.586994,8.7946744,34.0224405,5.1912568 +463,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7956298,0.7925355,11.0275236,6.9539533,63.871502,14.6138616,35.1378671,68.2078578,36.9656444,48.2264529,20.7481459,3.3224923,11.5475213,10.6480273,32.8051163,7.7428104,0.8402205,0.8430192,11.3673835,7.1876489,62.7494271,14.8334401,35.0197573,67.9929708,37.2261506,48.4403188,21.0210078,3.3703606,11.8284396,10.8299778,32.6213842,7.5641263,0.7324524,0.7352387,11.3107806,6.9266396,61.2944767,14.8731439,34.9243404,67.9500569,37.5265168,48.8880064,20.9455489,3.4720118,11.93364,10.6214066,32.3991362,6.3591256,0.6920653,0.6901751,11.4877251,6.9987901,59.6601147,14.8863785,34.3908263,67.7753611,36.910469,48.6172611,20.7174797,3.3722593,12.0955916,11.2548481,32.7514833,6.5891714,0.624376,0.6438692,11.2614778,6.7354753,57.286745,15.1017143,34.6189388,67.4833634,36.9995746,48.6550863,20.4745844,3.5476943,12.0136784,11.15249,32.5022911,5.2000253 +464,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.809839,0.8010976,13.1090593,7.8990198,50.1338495,17.3942006,35.0286833,68.5751339,38.4619583,52.0334824,21.885879,3.2177081,11.4423829,9.8542567,33.3407591,7.4386423,0.7750616,0.7661308,13.5565705,8.100271,47.557835,17.3555097,35.6262974,69.6317855,39.3797992,52.6609271,22.5785305,3.0555731,11.8907189,10.0035736,31.7884222,8.9743169,0.7014353,0.6924591,14.0303437,8.4779691,46.1735883,16.6783899,36.5966418,69.3913065,39.0376255,53.112365,22.5508626,3.2518256,11.8604359,10.4188698,32.4703255,8.4183249,0.8193421,0.8102803,14.0758022,8.5328931,46.1651481,16.3298862,37.3479052,68.5446738,38.8024698,52.5982423,22.6801301,3.5527538,11.381993,9.9506935,32.6799375,8.793924,0.8571017,0.8559955,14.2127201,8.8903102,44.8641585,15.8300678,37.4567494,68.7716288,38.5404318,52.6040694,22.7201438,3.7263873,11.0547866,9.7527842,32.6261374,8.8235341 +465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6429203,0.634997,11.2965377,6.9618656,71.2408345,8.6013385,34.8524964,65.3486391,38.1570536,42.6752568,22.0728792,3.8036263,11.4322025,9.3798658,39.70625,5.6546221,0.6476339,0.6503786,11.1967277,6.8514252,70.4841789,8.4870043,34.7719728,65.5663847,38.1892997,42.640993,22.4778172,3.870042,11.44716,9.4793314,39.9064017,5.9084991,0.6282426,0.6369661,11.1183773,6.7636277,69.6766222,8.7627793,34.7207779,65.5802185,38.1561544,42.8368988,23.0272128,4.0372989,10.8707549,9.0811124,39.3932133,5.0435722,0.5936686,0.6142579,10.8900207,6.720826,68.2576534,9.0911477,34.6300889,65.7310625,38.1248193,43.2009691,23.1306447,4.1536574,10.7092614,9.1429801,39.6027842,4.382715,0.5969902,0.617048,10.7615243,6.6392647,67.7913786,9.4051321,33.871035,65.6956316,38.4930886,43.3943973,23.1439896,4.1068915,10.3881762,8.9701394,39.3005937,5.0776571 +466,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8699422,0.8699422,14.9679902,10.7426497,22.4451534,21.0605143,36.8219006,65.5979966,37.2583603,48.8580403,22.3582292,4.4112985,10.220992,7.8911467,31.6447706,15.9836066,0.9967932,0.9967932,15.4784112,10.9119084,22.8938852,20.6361434,36.5188876,66.2139191,37.0299343,48.6230226,22.0647363,4.2116111,10.7099747,7.7267883,31.5386772,16.015625,0.949361,0.9941421,16.1361067,11.5266778,22.6559349,20.8479505,35.8234494,65.6228389,38.0087262,47.5028927,21.9965129,4.0798502,10.9758296,7.7477587,30.7319448,15.8536585,0.9809262,1.0253388,17.0525211,12.5211907,23.5703511,21.610501,36.0352814,65.5632604,38.2150667,47.9886718,22.2840439,4.1833944,11.0462628,7.737241,30.9583443,13.9999888,0.9871916,1.0445376,17.2147317,12.7227908,25.0001167,20.938925,36.2955463,65.3744738,37.4928759,47.7542069,22.0760534,4.0138252,11.6025211,7.7049693,30.4439921,15.5302913 +467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3243758,0.3091807,7.0304812,4.5394901,82.1942406,19.8257659,29.7124022,66.3524817,28.4226103,41.0218203,11.987424,5.8035592,11.3808659,8.5342814,35.1462794,4.4407749,0.3404017,0.329806,6.9225804,4.4169552,80.6372059,19.9712642,30.2908773,66.8658579,28.5460237,41.3408364,12.3909376,5.735043,11.4698899,9.0543968,34.9319419,3.9556837,0.3353134,0.3248761,6.7502992,4.2407821,78.4637159,20.5205965,29.6785903,66.6613092,29.4875506,40.8815514,12.7147923,5.9356767,11.0276648,8.972783,34.7339996,3.6277545,0.3629778,0.3622842,6.849085,4.2866157,76.241214,20.2291734,29.867063,67.1572626,29.9936373,41.6111984,13.4377488,6.2202934,11.1340847,9.5251745,35.4006226,2.8700863,0.4267129,0.433376,7.0424766,4.1680094,72.5112883,20.5827032,30.3502296,67.7859143,30.4144805,42.3681466,14.1548437,6.1535673,10.5154122,9.601619,35.208374,2.0123777 +468,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6669325,0.6755995,14.1122258,9.282527,67.657171,15.6821458,39.053661,67.9802345,35.7203277,48.206209,21.5113136,2.6694972,10.9658419,9.4284178,34.557637,10.6522081,0.7082089,0.7342777,13.6781965,8.9375437,66.8249645,16.1303993,38.7485742,67.8348601,36.2230433,48.8791117,21.4670966,2.9937603,10.1222184,8.6390248,33.733335,9.7510707,0.6945068,0.7031964,13.4422194,8.8358543,65.9901737,16.5679658,38.5390088,67.9574647,36.3262401,48.5532043,21.2907966,3.0212822,10.6762616,9.4083159,34.0556426,10.2510793,0.7298049,0.7362883,13.1404104,8.7648919,65.0256443,17.0919853,38.4431337,67.525348,37.0917825,49.1976592,21.5512554,3.1390818,10.4221664,9.2612122,33.9077267,10.5603697,0.5502331,0.5835924,12.9922443,8.6106569,63.7773545,17.6281188,38.1841206,67.5694674,37.4543987,49.4948275,21.9618434,3.3258537,10.4663521,9.3534647,33.6082844,9.375026 +469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4843483,0.5553059,10.4067212,7.3401491,78.9818137,12.3779016,29.4652062,67.0063951,28.9611768,43.4252737,12.6122123,5.0295971,11.7319884,11.2190305,31.3378193,8.3587744,0.4958897,0.5608779,10.2122756,7.3749169,77.9606816,12.4513415,29.5047693,66.5249068,28.5231161,43.3136566,12.6635244,4.6356946,11.9245382,11.0349788,31.0910319,7.2756161,0.5319125,0.596769,10.6142505,7.7909545,77.0598269,13.0476258,29.7535162,67.3680708,28.9468119,43.5128057,12.7888924,4.6118705,12.1394181,11.209831,31.6845305,6.9231238,0.5149674,0.579732,10.4738594,7.8366213,76.7203131,12.7693115,29.7170278,67.3231953,29.1294877,43.231776,12.8291226,4.4504935,12.3336953,11.1598599,31.9188866,5.8383618,0.4965346,0.5647806,10.9541035,8.0004135,76.3359893,13.1471201,29.8099263,67.4044396,29.1189859,43.0036559,12.8374139,4.3727265,12.3705613,10.4487491,32.4667187,5.8908418 +470,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6804237,0.7320972,10.0616495,6.4995932,73.5559982,16.0452344,32.5408159,65.6665324,33.4141146,44.0298246,18.3397758,5.5884456,10.0934864,8.5551312,33.4459587,6.3071161,0.6921649,0.722046,10.0108081,6.573221,72.203597,16.8517051,31.9152868,65.7743963,33.9293606,44.5287679,18.9275047,5.6431298,10.4392405,8.8071469,33.622734,5.258287,0.62095,0.6577755,9.8923601,6.2643902,71.2775203,17.4268479,32.21575,65.9880372,34.9413853,45.3315621,19.1467324,5.6131762,10.520957,8.9067018,33.9818658,5.2102203,0.6365161,0.6519064,9.6702145,6.1579527,70.1818951,17.7477713,31.5330212,65.8938007,34.8307378,45.4008084,19.2372274,5.5084583,10.6653084,8.7039174,33.4263085,6.4053358,0.6210244,0.6046365,9.7787903,6.1884336,69.218111,18.3179637,31.5375366,66.2070639,34.8143058,45.3903107,18.919475,5.4632556,10.6856014,8.932677,33.3285191,6.6479401 +471,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7082089,0.7342777,13.6781965,8.9375437,66.8249645,16.1303993,38.7485742,67.8348601,36.2230433,48.8791117,21.4670966,2.9937603,10.1222184,8.6390248,33.733335,9.7510707,0.6945068,0.7031964,13.4422194,8.8358543,65.9901737,16.5679658,38.5390088,67.9574647,36.3262401,48.5532043,21.2907966,3.0212822,10.6762616,9.4083159,34.0556426,10.2510793,0.7298049,0.7362883,13.1404104,8.7648919,65.0256443,17.0919853,38.4431337,67.525348,37.0917825,49.1976592,21.5512554,3.1390818,10.4221664,9.2612122,33.9077267,10.5603697,0.5502331,0.5835924,12.9922443,8.6106569,63.7773545,17.6281188,38.1841206,67.5694674,37.4543987,49.4948275,21.9618434,3.3258537,10.4663521,9.3534647,33.6082844,9.375026,0.6703857,0.7121379,13.0333081,8.5191309,62.7365128,17.4992943,37.0963091,66.8290942,37.1519745,49.4293393,21.4225941,3.0762781,10.3035106,8.9770792,33.6810534,10.5603743 +472,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1134339,1.083591,22.896594,19.3312828,34.9369988,21.0423151,35.2874057,67.563669,34.6321326,48.4255381,21.8903908,3.0895828,10.8641173,9.4464152,29.79506,15.0073293,1.0661065,1.036228,23.5331448,19.6429208,34.9635156,20.6845665,35.3834644,67.5459843,34.3326224,47.9936793,22.0558377,3.169041,11.7291198,9.8116917,30.0305804,11.303998,0.9967259,0.9671331,23.6936341,19.8587843,36.3559377,20.3346508,34.8238338,68.075841,34.6884519,47.8207877,21.5689108,3.7827605,11.0242069,9.3733587,30.4042685,10.3369268,1.1940179,1.1940179,24.9296351,20.7332222,37.5024583,20.5122351,34.9032276,67.3365091,35.557878,47.2093137,21.6049626,4.6640736,11.3608532,10.0600438,30.0046621,11.4705136,1.4140593,1.5055884,26.3758232,22.0022182,38.3165423,19.8747844,35.5880099,67.0497224,34.7868786,47.3064416,21.3543535,4.9974794,11.8856796,9.7380698,30.2457419,12.0387238 +473,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4237388,0.4177864,8.0026965,4.9797534,79.7736329,16.0942031,26.9332317,63.8031203,29.0182153,38.4402217,15.8749038,6.9261211,9.3356006,7.7577851,36.0812243,4.2528745,0.3810828,0.3810828,7.8314816,4.7411478,77.8684282,16.7639624,27.2762378,64.5190374,29.5910508,39.0303464,16.3194469,6.8526609,9.1615673,7.6687142,36.478146,5.2325594,0.3590852,0.3590852,7.8617141,4.5515153,76.422233,16.6283852,27.271552,63.9270031,29.5754591,38.9981829,16.8910204,6.767598,9.2887264,7.7193835,37.004728,5.0000011,0.3832584,0.3832584,7.6933362,4.432761,74.2807636,16.60589,27.8071317,63.5270849,29.9207413,39.9867868,17.3447849,7.0919172,9.3509651,7.8313279,37.5303348,4.4520558,0.3759162,0.3840722,7.329475,4.3041739,71.8169346,16.4181126,28.9331161,63.7557576,30.5578147,40.387217,17.3165482,7.3246682,9.0110478,7.5201234,37.4113576,5.1558765 +474,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.3516683,1.3937595,20.8630259,15.653982,29.2844524,15.9242124,37.4030503,63.0825076,31.8543394,50.571114,24.2372225,4.8691801,15.5095416,11.7524095,33.4812493,15.8448026,1.2453174,1.2453174,20.7346023,16.0739381,30.1506981,15.5864137,36.266464,64.2679731,32.4976514,50.4305867,24.4738474,4.9808997,14.6675462,11.6618163,32.5223903,15.6247396,1.1224037,1.1140742,20.402827,16.0326279,30.8543795,14.8756522,36.3139408,66.7414456,32.8207174,51.0172196,24.9842729,4.8572826,13.9470996,11.6796824,31.4256961,14.6256116,1.0339665,1.0256749,19.8132928,15.468361,31.3447508,15.146437,35.4879109,67.3511125,32.9086282,51.0942632,25.2377283,5.4444556,14.0182958,11.7044218,31.0054542,15.408805,0.913021,0.955606,18.9152123,14.9867242,33.2932547,15.9686386,35.4298357,67.5041789,33.5968472,51.712495,25.8969207,5.8994821,13.0452876,10.7701008,30.9054339,14.7058824 +475,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9677035,0.9003383,19.0142995,15.2981557,28.8557892,19.9705755,36.474197,65.2168374,37.5701498,47.648984,22.0369799,3.2400969,11.3534425,8.9769091,36.4472962,18.4849091,1.1302872,1.0176315,18.5689052,15.2734011,29.3616748,19.9961883,36.2010647,64.2296777,37.3226599,46.4241199,21.2527369,3.0559349,11.9633995,8.7885485,36.0455852,18.263522,1.2166251,1.1110122,19.9876533,16.4207659,30.764096,18.9943171,36.4721759,63.6163671,36.0685287,46.5675726,20.9267246,2.9465241,12.4045999,9.6675123,36.6636985,16.8639253,1.1879024,1.0615438,20.7186585,17.0150145,32.2907554,19.212564,36.8878216,63.6019287,35.1068746,46.549426,20.2385866,3.0511687,12.4714405,9.3803702,37.8134705,16.4739884,1.2308423,1.0972185,20.9431441,16.9327415,33.3397892,19.019239,37.0080857,63.1708363,34.6850644,46.4445536,20.1054883,2.8846085,12.5624253,9.2648107,36.999665,18.209899 +476,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4203266,0.4376715,8.0519773,5.0070098,48.8583373,16.1755496,31.9056316,67.2355784,35.0505767,47.6582594,17.2710455,3.5364218,9.6775465,8.4439239,29.2918095,4.0372746,0.4161409,0.445201,7.8586534,4.8258837,47.4077294,15.7270775,31.725727,67.4056255,35.4348526,48.3719108,17.1971682,3.272583,9.3434789,8.3922585,28.8499207,4.464291,0.4058111,0.4348806,8.2838991,4.9107867,45.232083,16.0761819,32.1793405,67.5157557,36.4881468,49.0334565,18.1573284,3.3444943,8.9775006,8.5699229,27.9427,3.9393987,0.3774611,0.4071757,8.5477964,5.0225465,42.5680153,15.947114,33.287337,67.9473566,36.9585252,48.6646343,18.7577016,3.3422181,9.3539217,8.9936787,27.8704485,3.6184234,0.3871466,0.417509,8.8491014,5.5185901,41.5049322,16.3676745,33.774935,67.6898803,37.1087547,48.1325881,18.6210924,3.6292737,9.0730191,8.7850471,27.304855,3 +477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6063732,0.5917959,10.8011232,7.5122982,64.4059254,10.4187103,30.6060117,68.1024635,30.5634415,46.8563647,16.3568035,3.0016987,11.3095348,9.8358535,31.4884129,7.1428793,0.6251811,0.6164657,10.6526057,7.3541929,62.6520934,10.4573758,30.7389928,68.0317315,30.6103564,46.8767857,16.5880517,2.9945665,11.2011776,9.8057527,31.2500105,7.1281198,0.5777348,0.5669589,10.6768963,7.2637347,61.4057063,10.8148862,31.5166924,68.0478982,30.6023293,46.7706828,16.8577717,3.1132068,10.9156853,10.0107501,31.7899662,7.3804782,0.562437,0.5491895,10.350107,7.1407745,60.5649685,10.8708386,31.850477,67.8682424,30.7401942,45.869725,17.0022268,3.0125821,10.6333667,9.8358391,31.7919941,7.7004463,0.5122302,0.512695,9.968867,6.8559119,58.9737833,11.0737724,31.8229683,67.4984852,30.7524117,46.0419069,17.0009098,3.038298,10.509476,9.9525427,31.8704562,7.4193763 +478,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6921649,0.722046,10.0108081,6.573221,72.203597,16.8517051,31.9152868,65.7743963,33.9293606,44.5287679,18.9275047,5.6431298,10.4392405,8.8071469,33.622734,5.258287,0.62095,0.6577755,9.8923601,6.2643902,71.2775203,17.4268479,32.21575,65.9880372,34.9413853,45.3315621,19.1467324,5.6131762,10.520957,8.9067018,33.9818658,5.2102203,0.6365161,0.6519064,9.6702145,6.1579527,70.1818951,17.7477713,31.5330212,65.8938007,34.8307378,45.4008084,19.2372274,5.5084583,10.6653084,8.7039174,33.4263085,6.4053358,0.6210244,0.6046365,9.7787903,6.1884336,69.218111,18.3179637,31.5375366,66.2070639,34.8143058,45.3903107,18.919475,5.4632556,10.6856014,8.932677,33.3285191,6.6479401,0.6204291,0.6038363,9.6465117,6.0663611,68.1059276,18.530492,31.1083322,66.382062,35.0350909,45.6739645,19.3150676,5.596575,10.8438307,9.2024867,33.5308941,6.952381 +479,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8864203,0.8658903,13.876627,9.0343791,51.6709648,16.574551,35.8113564,68.3469771,37.2736323,48.2407016,24.3416114,4.6466056,11.4370758,11.3810751,43.4875824,5.2995367,0.9796561,0.9483336,14.234346,9.0249866,51.0544001,16.131077,35.7034505,69.0465617,37.8921613,48.1838288,24.7132445,4.3627756,11.8079626,11.5684529,43.6846755,5.5555529,0.8594817,0.8594817,13.6232052,8.6951571,50.969717,15.4726603,35.9513342,69.0695184,37.7375777,47.3930264,25.2337813,4.5711308,12.1875022,11.4042865,43.2371403,5.1075241,0.8847922,0.8961073,12.590469,8.1380403,50.1946979,15.214088,35.6844911,69.1125997,37.6033204,47.2984732,24.6259561,4.1247363,11.7455951,11.7455858,42.3831787,4.3352601,1.026144,1.0280655,13.3460216,8.6863098,49.6268222,15.0653389,35.2223139,69.2449227,37.6407941,46.70674,25.1882092,3.7820914,11.9296635,11.7283911,41.1567883,5.0595208 +480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4958897,0.5608779,10.2122756,7.3749169,77.9606816,12.4513415,29.5047693,66.5249068,28.5231161,43.3136566,12.6635244,4.6356946,11.9245382,11.0349788,31.0910319,7.2756161,0.5319125,0.596769,10.6142505,7.7909545,77.0598269,13.0476258,29.7535162,67.3680708,28.9468119,43.5128057,12.7888924,4.6118705,12.1394181,11.209831,31.6845305,6.9231238,0.5149674,0.579732,10.4738594,7.8366213,76.7203131,12.7693115,29.7170278,67.3231953,29.1294877,43.231776,12.8291226,4.4504935,12.3336953,11.1598599,31.9188866,5.8383618,0.4965346,0.5647806,10.9541035,8.0004135,76.3359893,13.1471201,29.8099263,67.4044396,29.1189859,43.0036559,12.8374139,4.3727265,12.3705613,10.4487491,32.4667187,5.8908418,0.3969853,0.4563875,10.4709308,7.58463,76.1236405,12.7628755,30.0507543,67.119752,28.3487954,41.9871346,12.4557842,4.2330028,12.5107026,10.9195655,32.6022425,4.407339 +481,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6251811,0.6164657,10.6526057,7.3541929,62.6520934,10.4573758,30.7389928,68.0317315,30.6103564,46.8767857,16.5880517,2.9945665,11.2011776,9.8057527,31.2500105,7.1281198,0.5777348,0.5669589,10.6768963,7.2637347,61.4057063,10.8148862,31.5166924,68.0478982,30.6023293,46.7706828,16.8577717,3.1132068,10.9156853,10.0107501,31.7899662,7.3804782,0.562437,0.5491895,10.350107,7.1407745,60.5649685,10.8708386,31.850477,67.8682424,30.7401942,45.869725,17.0022268,3.0125821,10.6333667,9.8358391,31.7919941,7.7004463,0.5122302,0.512695,9.968867,6.8559119,58.9737833,11.0737724,31.8229683,67.4984852,30.7524117,46.0419069,17.0009098,3.038298,10.509476,9.9525427,31.8704562,7.4193763,0.4948802,0.509552,9.7511303,6.6289577,58.0713094,10.9020251,31.4055225,67.5959966,30.7142889,46.121342,16.8586846,3.0030711,10.5270657,9.8700986,31.4362759,7.7367454 +482,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5699896,0.5349388,9.1946156,6.1220467,65.7811504,15.1150343,31.6433821,66.9286556,33.1457048,43.7543055,18.7388916,3.6423621,10.3809505,9.1092812,33.4600564,5.6816815,0.5445012,0.5275151,9.2279409,5.980973,64.418623,15.2769369,31.698315,67.1745967,33.3543515,43.2447462,18.8121714,3.6284984,10.7074893,9.3776422,33.5676969,5.587237,0.4263925,0.4546797,8.5795417,5.525153,62.9882117,15.5054739,32.7629825,66.9320212,32.9367826,43.4384015,18.8303631,3.8503909,10.1189265,9.0766846,33.5133823,5.5159684,0.4728685,0.4994014,8.2210744,5.2190256,61.7001796,15.431167,33.1853455,66.6989929,32.7520846,43.0214843,18.688398,3.9717175,10.0460488,8.8617139,33.1472324,4.3996485,0.5160855,0.564005,8.1545955,5.0913318,59.7840846,15.3448255,33.4934539,66.666939,33.357504,43.7316923,18.613113,3.6874238,10.2140372,8.9433287,33.0335735,4.5130679 +483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7454627,0.7892674,11.1244122,6.5447772,56.0105414,16.5867825,33.5694723,69.678646,38.234283,45.0760274,22.4084388,2.8161697,10.3900454,8.6531984,32.6468743,5.4687415,0.7960128,0.8403306,11.1858094,7.1527138,54.8254912,17.1582202,33.9009979,69.9613796,38.9220507,45.0667333,22.8757154,2.8616515,10.6579808,8.5449535,33.0013808,6.1497228,0.8258003,0.8702448,11.1398163,6.9387105,55.0747882,17.181,33.725012,69.0810189,37.7586849,44.6685465,22.5359567,2.8235651,10.5425737,8.9064645,33.1611709,5.2197745,0.7888438,0.8343722,10.7155457,7.0676981,54.2654152,17.3643179,34.0452353,69.4723506,38.2806851,45.1364098,22.6669145,3.1765919,10.586994,8.7946744,34.0224405,5.1912568,0.8000332,0.8022269,11.0070695,7.2261453,53.680547,16.8215909,34.2428655,70.3830631,39.0133477,45.6993116,22.8225488,3.0899842,10.5795953,9.1450608,33.9048422,5.5851064 +484,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7991004,1.7991004,23.0830671,19.0894569,56.6831683,7.5396825,38.2447665,64.9758454,27.294686,48.0676329,21.0144928,5.2334944,13.117284,10.6811146,35.6697819,13.7168142,1.8611521,1.8611521,25.7886435,22.0031546,56.6935484,7.2429907,38.0537975,66.5348101,28.085443,49.7626582,20.806962,6.25,12.191358,10.6811146,33.8006231,15.4166667,1.5870719,1.5870719,26.6923077,23,55.7936508,7.2629969,37.3839009,66.3312693,28.7151703,48.2198142,20.5108359,6.1145511,11.6459627,9.7826087,33.0721003,16.8103448,1.1995134,1.1995134,27.265745,23.5791091,57.0859873,6.3846154,38.299532,66.3806552,28.6271451,47.6599064,19.1107644,5.5382215,12.5,10.0308642,34.84375,17.2268908,1.2090559,1.2813102,28.2575758,23.4090909,58.1081081,5.5810398,40.0154799,67.5696594,29.1795666,46.3622291,18.0340557,5.1857585,13.0630631,9.7305389,34.3939394,16.015625 +485,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7777958,0.7764304,11.2116519,6.2484924,57.5503574,18.9426516,31.5242111,68.475771,37.0668477,47.0747431,21.5422873,4.2211034,10.5146619,9.2463206,36.3433435,6.2724555,0.7446248,0.7344238,10.9567088,6.0586865,57.2089086,18.557854,31.7372007,67.7723928,36.0737419,45.7537013,20.6634026,3.9622565,10.3095046,9.1794178,36.1739194,5.9783302,0.6441859,0.6496788,10.778905,5.9939151,56.1875562,17.7883806,32.8371576,68.1206876,36.3058621,46.1170371,20.9293607,4.051228,9.8033801,8.8085068,35.7794708,6.5299336,0.6869814,0.7126104,10.9798084,6.2240398,55.5542709,17.9173625,33.0819406,69.0608492,36.8120428,46.1508805,21.5211931,4.1401838,9.7250505,8.9608621,35.4677185,7.3585878,0.5964097,0.6492429,10.890759,6.3452579,54.6244895,18.1320248,33.8583152,69.1841354,36.9816337,45.7322955,21.9305216,4.2407009,9.9161469,9.5969399,35.8532814,8.0392724 +486,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4161409,0.445201,7.8586534,4.8258837,47.4077294,15.7270775,31.725727,67.4056255,35.4348526,48.3719108,17.1971682,3.272583,9.3434789,8.3922585,28.8499207,4.464291,0.4058111,0.4348806,8.2838991,4.9107867,45.232083,16.0761819,32.1793405,67.5157557,36.4881468,49.0334565,18.1573284,3.3444943,8.9775006,8.5699229,27.9427,3.9393987,0.3774611,0.4071757,8.5477964,5.0225465,42.5680153,15.947114,33.287337,67.9473566,36.9585252,48.6646343,18.7577016,3.3422181,9.3539217,8.9936787,27.8704485,3.6184234,0.3871466,0.417509,8.8491014,5.5185901,41.5049322,16.3676745,33.774935,67.6898803,37.1087547,48.1325881,18.6210924,3.6292737,9.0730191,8.7850471,27.304855,3,0.3922854,0.4234665,9.049282,5.8018398,40.6175109,16.0540826,34.9113888,68.2949689,37.0252136,49.1260938,19.3530389,3.9601243,9.6308338,9.2684501,27.0045498,2.464787 +487,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.372254,0.3876363,10.6267746,7.4926174,83.855992,8.7816337,29.3059749,64.5312083,25.7607772,41.238781,11.5467378,3.4292665,11.8907269,11.5466757,33.6133558,6.5444958,0.3846392,0.3846392,10.2911022,7.1786794,83.1789084,9.3578005,29.7652094,65.2316294,26.4185206,41.9738854,11.780993,3.7016479,12.4133622,11.4390443,33.5369014,5.7691674,0.3221656,0.3176313,10.0942694,7.0272262,82.7170838,9.7741293,29.4670239,65.7261837,26.454344,42.4707815,11.6616125,3.5035176,11.9555584,11.4799069,32.415902,6.2498573,0.3450913,0.3405043,9.9897206,6.9707527,82.2194327,10.0308049,29.4836107,65.2839878,26.0757015,42.3236957,11.4457849,3.2529813,11.7516644,11.5040855,30.8356615,5.6755499,0.3121757,0.307561,9.5994449,6.5878686,81.9454057,9.9070669,29.0640646,66.1871795,26.6378085,42.6864506,11.3519132,3.4835332,11.1434714,10.6911465,30.2787988,5.0526955 +488,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5663212,0.5663212,13.7910427,11.3980655,45.0453428,32.4748426,28.2886116,67.4969029,36.4624708,45.147256,20.1150717,4.7892693,16.9690878,11.0390757,34.2523281,5.118211,0.5493819,0.471317,13.6876171,11.0625827,47.4057722,32.1874648,28.0890839,68.2166015,36.4970254,43.376094,19.2994815,4.9044574,16.4083303,11.5285023,34.6861416,5.8140436,0.6602931,0.5829527,12.7937225,9.9506731,48.3352252,32.6543134,27.6101239,67.4844118,36.9184054,42.7046344,19.6856317,4.9685468,15.0633171,9.7715459,33.8876868,5.8594666,0.821647,0.7436734,13.8646658,10.7278636,50.2604661,31.462881,28.7274901,67.1594108,37.7251636,40.9385725,18.3163023,4.9485855,16.9333355,11.8983575,34.9058079,7.2035424,0.6840288,0.6033174,13.86733,10.7422833,50.0669365,31.2256312,30.1723435,68.103426,36.2734312,39.8543877,17.4404517,4.5756003,15.5220326,10.9115997,32.2714549,6.5791205 +489,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6476339,0.6503786,11.1967277,6.8514252,70.4841789,8.4870043,34.7719728,65.5663847,38.1892997,42.640993,22.4778172,3.870042,11.44716,9.4793314,39.9064017,5.9084991,0.6282426,0.6369661,11.1183773,6.7636277,69.6766222,8.7627793,34.7207779,65.5802185,38.1561544,42.8368988,23.0272128,4.0372989,10.8707549,9.0811124,39.3932133,5.0435722,0.5936686,0.6142579,10.8900207,6.720826,68.2576534,9.0911477,34.6300889,65.7310625,38.1248193,43.2009691,23.1306447,4.1536574,10.7092614,9.1429801,39.6027842,4.382715,0.5969902,0.617048,10.7615243,6.6392647,67.7913786,9.4051321,33.871035,65.6956316,38.4930886,43.3943973,23.1439896,4.1068915,10.3881762,8.9701394,39.3005937,5.0776571,0.594703,0.6058734,10.8081818,6.6811602,67.4455787,9.5419853,33.5579586,65.8493424,38.6243876,43.3658269,23.2530101,4.1822007,10.5433009,9.1859625,39.6197353,4.9418593 +490,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6047876,0.6387183,10.5465503,6.8047471,48.001525,13.2084884,31.0615397,68.2045698,37.3928681,48.6189972,18.3050027,5.2799795,10.7413934,9.8696281,30.8355243,4.7036642,0.5356582,0.5781791,10.2631153,6.6229956,46.4012121,13.515162,30.3783895,68.4683751,37.6324517,48.6120909,18.9263462,5.5067822,10.3855075,9.8929288,31.1158084,6.3461376,0.559503,0.6024845,10.6137334,7.1723624,45.4434115,13.0382534,30.3889316,68.4443791,38.1743315,47.8744019,19.3175353,5.6395918,10.9519016,10.8449592,31.9510089,7.5024842,0.5312135,0.5788797,10.6881158,7.0971799,45.2805883,13.278675,30.6372717,68.2338841,38.7404641,48.5474427,19.8049597,5.861489,10.4210546,10.2494407,32.0821091,9.1174135,0.4174974,0.4174974,10.6406984,7.1803087,43.881419,13.1528355,31.0757701,68.5734313,39.3339744,49.0211004,20.3742494,5.9289618,10.569464,10.0718365,32.7360819,8.8098015 +491,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7446248,0.7344238,10.9567088,6.0586865,57.2089086,18.557854,31.7372007,67.7723928,36.0737419,45.7537013,20.6634026,3.9622565,10.3095046,9.1794178,36.1739194,5.9783302,0.6441859,0.6496788,10.778905,5.9939151,56.1875562,17.7883806,32.8371576,68.1206876,36.3058621,46.1170371,20.9293607,4.051228,9.8033801,8.8085068,35.7794708,6.5299336,0.6869814,0.7126104,10.9798084,6.2240398,55.5542709,17.9173625,33.0819406,69.0608492,36.8120428,46.1508805,21.5211931,4.1401838,9.7250505,8.9608621,35.4677185,7.3585878,0.5964097,0.6492429,10.890759,6.3452579,54.6244895,18.1320248,33.8583152,69.1841354,36.9816337,45.7322955,21.9305216,4.2407009,9.9161469,9.5969399,35.8532814,8.0392724,0.5752195,0.6539246,10.801206,6.3061867,54.2026037,17.8197683,33.744089,68.9108316,37.2390832,45.5025123,22.0400634,4.1587481,9.8208006,9.5522813,35.4828866,8.167386 +492,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8402205,0.8430192,11.3673835,7.1876489,62.7494271,14.8334401,35.0197573,67.9929708,37.2261506,48.4403188,21.0210078,3.3703606,11.8284396,10.8299778,32.6213842,7.5641263,0.7324524,0.7352387,11.3107806,6.9266396,61.2944767,14.8731439,34.9243404,67.9500569,37.5265168,48.8880064,20.9455489,3.4720118,11.93364,10.6214066,32.3991362,6.3591256,0.6920653,0.6901751,11.4877251,6.9987901,59.6601147,14.8863785,34.3908263,67.7753611,36.910469,48.6172611,20.7174797,3.3722593,12.0955916,11.2548481,32.7514833,6.5891714,0.624376,0.6438692,11.2614778,6.7354753,57.286745,15.1017143,34.6189388,67.4833634,36.9995746,48.6550863,20.4745844,3.5476943,12.0136784,11.15249,32.5022911,5.2000253,0.6395919,0.6412607,11.3399753,6.8376728,54.8353928,15.0629381,35.83162,67.485662,36.8547713,48.4343275,20.7487222,3.3870758,11.9454531,11.1929177,32.3529587,5.9065643 +493,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1893704,1.1577795,15.6352914,11.3034794,44.4967213,18.2074581,33.2129914,69.952854,36.8814161,47.1577608,26.1540411,2.4435047,11.2617436,10.8030833,40.4917994,15.7416129,1.035557,1.0042663,16.6503159,12.4079953,44.2483177,18.8729005,31.8513717,70.0257198,36.3539445,47.897002,26.0206943,2.1626758,12.2480896,11.1181642,40.6956167,17.8131869,1.0055369,0.9738777,17.911902,13.0464922,44.361574,19.0572462,32.3805962,69.8782006,35.5955375,47.3687133,25.1202085,2.1929415,12.9982704,11.8537548,40.4815729,18.5204696,0.7920958,0.7610267,18.003194,12.7481331,43.8935594,18.6739705,32.1248763,69.938048,35.2943757,47.3935623,24.2649315,2.0220262,12.9658266,12.2363605,41.6471544,18.7270096,1.1110286,1.1713022,19.1291482,13.422752,46.1146517,18.6001658,32.085822,68.315736,34.7273417,46.7416619,23.1623117,1.8245133,13.9888931,12.6648329,41.6802902,18.5471811 +494,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3852777,0.4228527,8.9081546,5.9409102,76.6770091,10.8341751,31.1191953,65.5372648,27.9415475,39.9757568,13.635784,12.627614,10.1100171,9.1969499,36.905053,3.4871252,0.3922986,0.4182509,8.750161,5.8055799,75.5166626,11.0866001,30.9639184,65.0835129,28.2991183,40.4628387,13.9423738,12.7948462,10.2841156,9.1585386,36.9820992,3.8788531,0.4179278,0.4434897,8.865472,5.7357387,74.4140138,10.9710664,30.4508913,65.2034675,28.9186119,40.5237422,14.0856612,12.9804051,10.2082329,8.908398,37.2764545,4.2319758,0.4260747,0.4488227,8.612291,5.389707,73.0861247,10.9847551,29.9515413,65.1652599,29.2432921,41.0598957,14.3079067,12.8044216,10.1713052,8.850938,37.3469328,3.96406,0.4643899,0.4869811,8.6446557,5.3307664,72.475632,11.244515,29.8140856,65.4457044,29.2354129,41.5230254,14.4237893,12.8970683,10.6615071,9.1283923,37.2807044,4.0021349 +495,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6427409,0.6341317,10.5415824,6.7140894,64.7425315,11.3747655,27.1048851,67.2131937,36.7933902,43.8361372,18.9145077,4.0981903,10.6270687,8.8247051,32.9661981,5.5309735,0.7052013,0.6967212,10.4030997,6.477521,63.8917871,11.7162796,26.9283885,67.2977894,37.154498,44.8131888,19.3210451,4.2359451,10.2926956,8.3208868,33.3783156,6.9915254,0.7418751,0.7630967,10.3582419,6.5772614,62.773453,12.1477099,27.3498719,67.2887625,38.0756644,44.8807654,19.5472051,4.3475277,10.0732435,8.1696677,33.586817,6.9037657,0.8182518,0.8396027,10.5872406,6.6935665,61.775489,12.2796219,27.7935761,67.4163217,38.1624972,45.114158,19.6314644,4.4472125,10.0730271,8.2450147,33.1943935,6.3291191,0.7288658,0.753359,10.5869055,6.6696976,61.2729928,12.6517366,28.3306636,67.0131086,37.7371025,44.9398872,19.7341409,4.4180912,10.2018741,8.4454337,33.2077326,6.5502235 +496,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3922986,0.4182509,8.750161,5.8055799,75.5166626,11.0866001,30.9639184,65.0835129,28.2991183,40.4628387,13.9423738,12.7948462,10.2841156,9.1585386,36.9820992,3.8788531,0.4179278,0.4434897,8.865472,5.7357387,74.4140138,10.9710664,30.4508913,65.2034675,28.9186119,40.5237422,14.0856612,12.9804051,10.2082329,8.908398,37.2764545,4.2319758,0.4260747,0.4488227,8.612291,5.389707,73.0861247,10.9847551,29.9515413,65.1652599,29.2432921,41.0598957,14.3079067,12.8044216,10.1713052,8.850938,37.3469328,3.96406,0.4643899,0.4869811,8.6446557,5.3307664,72.475632,11.244515,29.8140856,65.4457044,29.2354129,41.5230254,14.4237893,12.8970683,10.6615071,9.1283923,37.2807044,4.0021349,0.4622846,0.4733088,8.4535197,5.2054285,72.0960111,11.1078011,30.2178611,65.8100638,29.2549362,42.2664889,15.1600891,12.9333149,10.747341,9.1784704,37.3247678,3.6749486 +497,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6945068,0.7031964,13.4422194,8.8358543,65.9901737,16.5679658,38.5390088,67.9574647,36.3262401,48.5532043,21.2907966,3.0212822,10.6762616,9.4083159,34.0556426,10.2510793,0.7298049,0.7362883,13.1404104,8.7648919,65.0256443,17.0919853,38.4431337,67.525348,37.0917825,49.1976592,21.5512554,3.1390818,10.4221664,9.2612122,33.9077267,10.5603697,0.5502331,0.5835924,12.9922443,8.6106569,63.7773545,17.6281188,38.1841206,67.5694674,37.4543987,49.4948275,21.9618434,3.3258537,10.4663521,9.3534647,33.6082844,9.375026,0.6703857,0.7121379,13.0333081,8.5191309,62.7365128,17.4992943,37.0963091,66.8290942,37.1519745,49.4293393,21.4225941,3.0762781,10.3035106,8.9770792,33.6810534,10.5603743,0.6697921,0.7108445,12.6522387,8.2949946,60.5913361,18.2797062,36.1308816,65.8406723,37.7737994,50.2601819,21.5087586,3.2721801,10.4026756,9.3329764,33.2379801,8.723432 +498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9796561,0.9483336,14.234346,9.0249866,51.0544001,16.131077,35.7034505,69.0465617,37.8921613,48.1838288,24.7132445,4.3627756,11.8079626,11.5684529,43.6846755,5.5555529,0.8594817,0.8594817,13.6232052,8.6951571,50.969717,15.4726603,35.9513342,69.0695184,37.7375777,47.3930264,25.2337813,4.5711308,12.1875022,11.4042865,43.2371403,5.1075241,0.8847922,0.8961073,12.590469,8.1380403,50.1946979,15.214088,35.6844911,69.1125997,37.6033204,47.2984732,24.6259561,4.1247363,11.7455951,11.7455858,42.3831787,4.3352601,1.026144,1.0280655,13.3460216,8.6863098,49.6268222,15.0653389,35.2223139,69.2449227,37.6407941,46.70674,25.1882092,3.7820914,11.9296635,11.7283911,41.1567883,5.0595208,1.0471475,1.0585876,12.8360591,8.4098317,49.2946872,14.6129724,34.2344442,68.6637209,37.4067336,46.8276869,25.9335896,4.0446891,12.0570937,10.9960519,40.4477555,6.8627406 +499,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7126693,0.7198338,11.1544361,7.1105324,59.9195559,8.9795708,29.535689,69.814656,40.3888418,42.9970347,21.3002772,4.3995416,9.9561161,8.629211,36.6961445,6.9312796,0.720519,0.7385578,11.1341268,7.1449212,59.5873768,9.035285,30.0871867,70.0852649,40.558538,42.6757977,21.2732332,4.335122,9.8577423,8.3683174,36.3644694,6.5403431,0.765217,0.7951517,11.0205475,7.0292427,59.3114776,9.0780889,30.389268,70.3873003,40.4846173,42.6177125,21.0213314,4.4185584,9.3802481,8.0033637,35.7907582,6.3329312,0.7500056,0.7848448,10.8873765,6.9201557,58.8866512,8.8885596,30.2802941,70.4254041,40.5178403,42.2771037,20.907462,4.5075039,9.5593778,8.0306489,36.040756,6.1160151,0.7684198,0.8034309,10.8465859,7.0012086,58.0342666,8.7548234,29.850824,70.2492991,40.4335192,42.0854964,20.5096095,4.4203039,9.8315647,8.4641589,36.4769704,5.5697823 +500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4058111,0.4348806,8.2838991,4.9107867,45.232083,16.0761819,32.1793405,67.5157557,36.4881468,49.0334565,18.1573284,3.3444943,8.9775006,8.5699229,27.9427,3.9393987,0.3774611,0.4071757,8.5477964,5.0225465,42.5680153,15.947114,33.287337,67.9473566,36.9585252,48.6646343,18.7577016,3.3422181,9.3539217,8.9936787,27.8704485,3.6184234,0.3871466,0.417509,8.8491014,5.5185901,41.5049322,16.3676745,33.774935,67.6898803,37.1087547,48.1325881,18.6210924,3.6292737,9.0730191,8.7850471,27.304855,3,0.3922854,0.4234665,9.049282,5.8018398,40.6175109,16.0540826,34.9113888,68.2949689,37.0252136,49.1260938,19.3530389,3.9601243,9.6308338,9.2684501,27.0045498,2.464787,0.5161822,0.5476803,9.2921659,5.8952404,39.5823043,16.3372671,35.9893169,68.9873683,36.8136848,49.1574468,20.3075768,4.1358192,9.3910497,8.1726117,27.4492307,2.4822677 +501,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5319125,0.596769,10.6142505,7.7909545,77.0598269,13.0476258,29.7535162,67.3680708,28.9468119,43.5128057,12.7888924,4.6118705,12.1394181,11.209831,31.6845305,6.9231238,0.5149674,0.579732,10.4738594,7.8366213,76.7203131,12.7693115,29.7170278,67.3231953,29.1294877,43.231776,12.8291226,4.4504935,12.3336953,11.1598599,31.9188866,5.8383618,0.4965346,0.5647806,10.9541035,8.0004135,76.3359893,13.1471201,29.8099263,67.4044396,29.1189859,43.0036559,12.8374139,4.3727265,12.3705613,10.4487491,32.4667187,5.8908418,0.3969853,0.4563875,10.4709308,7.58463,76.1236405,12.7628755,30.0507543,67.119752,28.3487954,41.9871346,12.4557842,4.2330028,12.5107026,10.9195655,32.6022425,4.407339,0.3993399,0.4406111,9.8420085,7.0989604,75.7345025,12.4360404,29.8093512,67.0066671,28.0381284,41.6928004,12.4327527,3.957421,12.399409,10.7173463,32.4479807,3.5825913 +502,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1302872,1.0176315,18.5689052,15.2734011,29.3616748,19.9961883,36.2010647,64.2296777,37.3226599,46.4241199,21.2527369,3.0559349,11.9633995,8.7885485,36.0455852,18.263522,1.2166251,1.1110122,19.9876533,16.4207659,30.764096,18.9943171,36.4721759,63.6163671,36.0685287,46.5675726,20.9267246,2.9465241,12.4045999,9.6675123,36.6636985,16.8639253,1.1879024,1.0615438,20.7186585,17.0150145,32.2907554,19.212564,36.8878216,63.6019287,35.1068746,46.549426,20.2385866,3.0511687,12.4714405,9.3803702,37.8134705,16.4739884,1.2308423,1.0972185,20.9431441,16.9327415,33.3397892,19.019239,37.0080857,63.1708363,34.6850644,46.4445536,20.1054883,2.8846085,12.5624253,9.2648107,36.999665,18.209899,1.2269619,1.1026377,20.7997344,17.0294666,34.7421242,19.3373148,36.7723007,63.3620224,34.2680648,46.5308133,20.3912866,2.8872672,12.7041229,9.3298029,37.3577636,15.2173913 +503,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7052013,0.6967212,10.4030997,6.477521,63.8917871,11.7162796,26.9283885,67.2977894,37.154498,44.8131888,19.3210451,4.2359451,10.2926956,8.3208868,33.3783156,6.9915254,0.7418751,0.7630967,10.3582419,6.5772614,62.773453,12.1477099,27.3498719,67.2887625,38.0756644,44.8807654,19.5472051,4.3475277,10.0732435,8.1696677,33.586817,6.9037657,0.8182518,0.8396027,10.5872406,6.6935665,61.775489,12.2796219,27.7935761,67.4163217,38.1624972,45.114158,19.6314644,4.4472125,10.0730271,8.2450147,33.1943935,6.3291191,0.7288658,0.753359,10.5869055,6.6696976,61.2729928,12.6517366,28.3306636,67.0131086,37.7371025,44.9398872,19.7341409,4.4180912,10.2018741,8.4454337,33.2077326,6.5502235,0.7732769,0.7981057,10.5852085,6.7769441,60.3407436,12.8595732,29.3822694,67.5839023,38.3301793,45.7893929,20.3107012,4.783163,10.009144,8.1733857,33.5938403,7.5886415 +504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4179278,0.4434897,8.865472,5.7357387,74.4140138,10.9710664,30.4508913,65.2034675,28.9186119,40.5237422,14.0856612,12.9804051,10.2082329,8.908398,37.2764545,4.2319758,0.4260747,0.4488227,8.612291,5.389707,73.0861247,10.9847551,29.9515413,65.1652599,29.2432921,41.0598957,14.3079067,12.8044216,10.1713052,8.850938,37.3469328,3.96406,0.4643899,0.4869811,8.6446557,5.3307664,72.475632,11.244515,29.8140856,65.4457044,29.2354129,41.5230254,14.4237893,12.8970683,10.6615071,9.1283923,37.2807044,4.0021349,0.4622846,0.4733088,8.4535197,5.2054285,72.0960111,11.1078011,30.2178611,65.8100638,29.2549362,42.2664889,15.1600891,12.9333149,10.747341,9.1784704,37.3247678,3.6749486,0.4328827,0.4347191,8.5605223,5.2284006,71.4521266,11.2864814,30.3017528,65.2620834,29.3039192,42.2156732,15.3342162,12.6653018,10.781395,9.6874326,37.309113,3.9690726 +505,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.3815371,0.3815371,8.5981605,5.3536691,76.9074506,12.3807515,25.4438133,60.7995383,32.40395,39.9938717,15.3375952,3.1558279,12.3396962,12.4493787,37.4727351,4.2307757,0.291412,0.291412,7.9253765,4.9497375,76.2204866,12.2275817,25.1430528,61.6222919,32.3022068,39.5586109,15.0643042,3.0608421,11.2664943,11.9985248,36.4403036,3.2601679,0.4192448,0.4341469,8.4409171,5.215596,75.825328,12.5600456,25.5222908,61.9743726,32.0795145,38.5394585,14.8584639,3.1586154,10.9168512,11.4860307,37.3913063,3.8724295,0.4731899,0.4879158,8.5936187,5.5347995,75.0985352,12.4817749,24.9728125,62.7149578,32.3995989,39.2550586,14.6541113,3.2550197,11.2107237,11.1839403,38.2408284,3.8186621,0.4460069,0.4611428,8.7895484,5.8564791,74.0975359,12.3365879,25.3141658,62.9583016,31.5435213,39.3354385,14.2092119,3.4241473,11.8630795,11.7243316,38.1567069,4.849675 +506,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6282426,0.6369661,11.1183773,6.7636277,69.6766222,8.7627793,34.7207779,65.5802185,38.1561544,42.8368988,23.0272128,4.0372989,10.8707549,9.0811124,39.3932133,5.0435722,0.5936686,0.6142579,10.8900207,6.720826,68.2576534,9.0911477,34.6300889,65.7310625,38.1248193,43.2009691,23.1306447,4.1536574,10.7092614,9.1429801,39.6027842,4.382715,0.5969902,0.617048,10.7615243,6.6392647,67.7913786,9.4051321,33.871035,65.6956316,38.4930886,43.3943973,23.1439896,4.1068915,10.3881762,8.9701394,39.3005937,5.0776571,0.594703,0.6058734,10.8081818,6.6811602,67.4455787,9.5419853,33.5579586,65.8493424,38.6243876,43.3658269,23.2530101,4.1822007,10.5433009,9.1859625,39.6197353,4.9418593,0.6053207,0.6177359,10.8435267,6.7730635,67.3787027,9.6895255,33.1936858,65.7520768,38.7283185,43.5852844,23.0092161,4.1745099,10.0434933,8.995839,39.3379055,4.3103438 +507,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9967932,0.9967932,15.4784112,10.9119084,22.8938852,20.6361434,36.5188876,66.2139191,37.0299343,48.6230226,22.0647363,4.2116111,10.7099747,7.7267883,31.5386772,16.015625,0.949361,0.9941421,16.1361067,11.5266778,22.6559349,20.8479505,35.8234494,65.6228389,38.0087262,47.5028927,21.9965129,4.0798502,10.9758296,7.7477587,30.7319448,15.8536585,0.9809262,1.0253388,17.0525211,12.5211907,23.5703511,21.610501,36.0352814,65.5632604,38.2150667,47.9886718,22.2840439,4.1833944,11.0462628,7.737241,30.9583443,13.9999888,0.9871916,1.0445376,17.2147317,12.7227908,25.0001167,20.938925,36.2955463,65.3744738,37.4928759,47.7542069,22.0760534,4.0138252,11.6025211,7.7049693,30.4439921,15.5302913,1.086752,1.1372524,17.1978636,12.6593657,26.2127571,20.8795288,35.849087,66.448894,37.6109464,46.9156795,21.8547455,4.0868798,12.0208357,8.1696852,30.9643049,16.6666543 +508,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2413468,1.2860097,21.6972138,18.4851298,38.8496061,17.0315793,39.4077877,63.6680857,36.9085145,48.8813897,23.0798481,3.425392,12.3427749,11.2617366,32.8405369,17.7417409,1.2481704,1.2915707,22.3184015,19.1255651,40.7305554,16.6246498,39.136103,64.5383225,36.5184266,48.9115631,22.9445048,3.4561696,13.3418881,11.4125456,32.8540843,18.5060849,1.2252368,1.2683391,22.3171096,19.0808553,41.5955476,15.8226053,39.8462935,63.3460947,35.7997726,49.1727493,23.2803458,3.5260101,13.7946717,11.0383604,33.3620312,20.332886,1.3430417,1.357222,22.7712667,19.1518558,42.1674693,16.0022002,39.0604136,64.3962925,35.8506956,48.2120651,22.8771802,3.5438378,13.6200841,10.6550451,33.1558548,22.3921984,1.4429653,1.4573405,22.4659601,18.7368334,42.6920135,16.0196684,38.6959728,63.900552,35.4865734,47.466365,22.20494,3.3645621,13.0574562,10.8013993,33.9942576,22.2556633 +509,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3774611,0.4071757,8.5477964,5.0225465,42.5680153,15.947114,33.287337,67.9473566,36.9585252,48.6646343,18.7577016,3.3422181,9.3539217,8.9936787,27.8704485,3.6184234,0.3871466,0.417509,8.8491014,5.5185901,41.5049322,16.3676745,33.774935,67.6898803,37.1087547,48.1325881,18.6210924,3.6292737,9.0730191,8.7850471,27.304855,3,0.3922854,0.4234665,9.049282,5.8018398,40.6175109,16.0540826,34.9113888,68.2949689,37.0252136,49.1260938,19.3530389,3.9601243,9.6308338,9.2684501,27.0045498,2.464787,0.5161822,0.5476803,9.2921659,5.8952404,39.5823043,16.3372671,35.9893169,68.9873683,36.8136848,49.1574468,20.3075768,4.1358192,9.3910497,8.1726117,27.4492307,2.4822677,0.4870664,0.4902317,9.0301258,5.7722563,37.4596081,16.5541426,35.6600918,69.3458842,37.5653889,49.5667064,21.0051016,3.8286364,9.3716142,8.1328512,27.2086725,3.7162137 +510,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.532851,0.5259923,8.0205541,4.1778374,74.5660881,19.2778993,32.4867491,65.3047703,29.7482332,43.0432862,15.4814488,3.8206714,8.7366694,7.6069079,33.5950413,3.6231884,0.6900978,0.6833447,8.013245,3.9072848,74.2027086,20.1159296,32.3733218,64.8549155,30.3811174,43.763534,15.5695106,4.0909091,8.7810746,7.423756,33.9386602,3.0516432,0.7585423,0.7518408,8.3296703,4.1098901,73.7288136,20.4662104,32.1027634,64.8316062,30.246114,43.7176166,15.4792746,4.2080276,9.0361446,8.159164,34.9636217,3.8812785,0.6980498,0.691407,7.9852045,3.9817232,73.3895374,20.1571793,31.483069,65.2593228,31.0115731,43.9991427,16.0094299,3.8346187,9.16,8.6137821,33.9630225,4.2410714,0.6207723,0.6140653,7.6431718,3.7665198,72.9357798,20.5364807,30.8441558,65.1298701,31.017316,43.7445887,15.7792208,4.1324102,8.8351823,8.452381,33.0286169,3.3632287 +511,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4260747,0.4488227,8.612291,5.389707,73.0861247,10.9847551,29.9515413,65.1652599,29.2432921,41.0598957,14.3079067,12.8044216,10.1713052,8.850938,37.3469328,3.96406,0.4643899,0.4869811,8.6446557,5.3307664,72.475632,11.244515,29.8140856,65.4457044,29.2354129,41.5230254,14.4237893,12.8970683,10.6615071,9.1283923,37.2807044,4.0021349,0.4622846,0.4733088,8.4535197,5.2054285,72.0960111,11.1078011,30.2178611,65.8100638,29.2549362,42.2664889,15.1600891,12.9333149,10.747341,9.1784704,37.3247678,3.6749486,0.4328827,0.4347191,8.5605223,5.2284006,71.4521266,11.2864814,30.3017528,65.2620834,29.3039192,42.2156732,15.3342162,12.6653018,10.781395,9.6874326,37.309113,3.9690726,0.3490002,0.3620065,8.4842193,5.2055308,70.3596147,11.3395245,31.0552553,65.3906991,29.533835,42.192061,15.6584705,12.6643117,11.1098411,10.1766904,36.9630413,4.2857143 +512,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4579721,0.4873632,7.869918,4.7727004,85.578837,6.6713388,26.7214572,62.6768635,28.0352069,37.1853989,13.0505919,5.3297505,10.1193641,8.4262089,37.7650232,3.7969842,0.5014992,0.5285072,7.9437571,4.9063298,85.3360325,6.6514211,26.5993967,62.7605775,28.1187388,37.3540995,13.337348,5.4058429,9.9893123,8.1780151,38.1486097,4.1008277,0.5215758,0.5296212,7.8148215,4.8529573,85.0969583,6.7886089,26.6229971,62.798114,28.3029853,37.7100385,13.3556386,5.4586703,10.4008186,8.3092718,38.5624282,3.8289963,0.530369,0.5391903,7.8840866,4.9146165,85.1050959,6.8366846,26.786944,62.6799636,28.281159,37.8072011,13.5794232,5.3393109,10.2643337,8.380459,38.6409868,3.3433509,0.5360668,0.5449468,8.0663813,5.072451,84.7044576,7.0602308,26.7735022,62.8599274,28.5246831,37.7989703,13.4796914,5.3757126,10.0959504,8.3668608,38.6794121,3.4883721 +513,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5493819,0.471317,13.6876171,11.0625827,47.4057722,32.1874648,28.0890839,68.2166015,36.4970254,43.376094,19.2994815,4.9044574,16.4083303,11.5285023,34.6861416,5.8140436,0.6602931,0.5829527,12.7937225,9.9506731,48.3352252,32.6543134,27.6101239,67.4844118,36.9184054,42.7046344,19.6856317,4.9685468,15.0633171,9.7715459,33.8876868,5.8594666,0.821647,0.7436734,13.8646658,10.7278636,50.2604661,31.462881,28.7274901,67.1594108,37.7251636,40.9385725,18.3163023,4.9485855,16.9333355,11.8983575,34.9058079,7.2035424,0.6840288,0.6033174,13.86733,10.7422833,50.0669365,31.2256312,30.1723435,68.103426,36.2734312,39.8543877,17.4404517,4.5756003,15.5220326,10.9115997,32.2714549,6.5791205,0.594946,0.5134452,13.0066093,10.0000261,50.5367201,32.264512,30.2122345,68.8578038,35.9232816,41.2352521,17.7291006,4.8473548,15.840279,10.6648144,33.933387,5.8559877 +514,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.62095,0.6577755,9.8923601,6.2643902,71.2775203,17.4268479,32.21575,65.9880372,34.9413853,45.3315621,19.1467324,5.6131762,10.520957,8.9067018,33.9818658,5.2102203,0.6365161,0.6519064,9.6702145,6.1579527,70.1818951,17.7477713,31.5330212,65.8938007,34.8307378,45.4008084,19.2372274,5.5084583,10.6653084,8.7039174,33.4263085,6.4053358,0.6210244,0.6046365,9.7787903,6.1884336,69.218111,18.3179637,31.5375366,66.2070639,34.8143058,45.3903107,18.919475,5.4632556,10.6856014,8.932677,33.3285191,6.6479401,0.6204291,0.6038363,9.6465117,6.0663611,68.1059276,18.530492,31.1083322,66.382062,35.0350909,45.6739645,19.3150676,5.596575,10.8438307,9.2024867,33.5308941,6.952381,0.5595618,0.5560108,9.7450568,6.1278588,66.1465926,18.8561935,31.364957,66.3162611,35.1586169,46.4607441,19.3721357,5.7355233,10.7574283,8.9135574,33.9459283,6.9200753 +515,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3810828,0.3810828,7.8314816,4.7411478,77.8684282,16.7639624,27.2762378,64.5190374,29.5910508,39.0303464,16.3194469,6.8526609,9.1615673,7.6687142,36.478146,5.2325594,0.3590852,0.3590852,7.8617141,4.5515153,76.422233,16.6283852,27.271552,63.9270031,29.5754591,38.9981829,16.8910204,6.767598,9.2887264,7.7193835,37.004728,5.0000011,0.3832584,0.3832584,7.6933362,4.432761,74.2807636,16.60589,27.8071317,63.5270849,29.9207413,39.9867868,17.3447849,7.0919172,9.3509651,7.8313279,37.5303348,4.4520558,0.3759162,0.3840722,7.329475,4.3041739,71.8169346,16.4181126,28.9331161,63.7557576,30.5578147,40.387217,17.3165482,7.3246682,9.0110478,7.5201234,37.4113576,5.1558765,0.4015109,0.4162751,7.4978498,4.3273285,70.5124507,16.0005551,29.9134511,64.0843104,30.8626447,39.5449401,17.1552245,7.3283083,9.860252,7.7102828,37.7609689,5.1122207 +516,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7298049,0.7362883,13.1404104,8.7648919,65.0256443,17.0919853,38.4431337,67.525348,37.0917825,49.1976592,21.5512554,3.1390818,10.4221664,9.2612122,33.9077267,10.5603697,0.5502331,0.5835924,12.9922443,8.6106569,63.7773545,17.6281188,38.1841206,67.5694674,37.4543987,49.4948275,21.9618434,3.3258537,10.4663521,9.3534647,33.6082844,9.375026,0.6703857,0.7121379,13.0333081,8.5191309,62.7365128,17.4992943,37.0963091,66.8290942,37.1519745,49.4293393,21.4225941,3.0762781,10.3035106,8.9770792,33.6810534,10.5603743,0.6697921,0.7108445,12.6522387,8.2949946,60.5913361,18.2797062,36.1308816,65.8406723,37.7737994,50.2601819,21.5087586,3.2721801,10.4026756,9.3329764,33.2379801,8.723432,0.7146022,0.7513292,12.2738387,8.0340292,59.2587513,18.9412314,35.3141112,66.3992759,38.387247,49.8640714,21.688877,3.5762873,10.5734704,9.2611406,32.9292788,9.2213001 +517,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2481704,1.2915707,22.3184015,19.1255651,40.7305554,16.6246498,39.136103,64.5383225,36.5184266,48.9115631,22.9445048,3.4561696,13.3418881,11.4125456,32.8540843,18.5060849,1.2252368,1.2683391,22.3171096,19.0808553,41.5955476,15.8226053,39.8462935,63.3460947,35.7997726,49.1727493,23.2803458,3.5260101,13.7946717,11.0383604,33.3620312,20.332886,1.3430417,1.357222,22.7712667,19.1518558,42.1674693,16.0022002,39.0604136,64.3962925,35.8506956,48.2120651,22.8771802,3.5438378,13.6200841,10.6550451,33.1558548,22.3921984,1.4429653,1.4573405,22.4659601,18.7368334,42.6920135,16.0196684,38.6959728,63.900552,35.4865734,47.466365,22.20494,3.3645621,13.0574562,10.8013993,33.9942576,22.2556633,1.4578875,1.4578875,23.0825827,19.4137242,43.173009,16.2177292,39.4890396,64.0961897,35.3168497,48.5076129,22.5514132,3.7108777,12.7891005,10.4921738,33.8274758,21.5234348 +518,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5445012,0.5275151,9.2279409,5.980973,64.418623,15.2769369,31.698315,67.1745967,33.3543515,43.2447462,18.8121714,3.6284984,10.7074893,9.3776422,33.5676969,5.587237,0.4263925,0.4546797,8.5795417,5.525153,62.9882117,15.5054739,32.7629825,66.9320212,32.9367826,43.4384015,18.8303631,3.8503909,10.1189265,9.0766846,33.5133823,5.5159684,0.4728685,0.4994014,8.2210744,5.2190256,61.7001796,15.431167,33.1853455,66.6989929,32.7520846,43.0214843,18.688398,3.9717175,10.0460488,8.8617139,33.1472324,4.3996485,0.5160855,0.564005,8.1545955,5.0913318,59.7840846,15.3448255,33.4934539,66.666939,33.357504,43.7316923,18.613113,3.6874238,10.2140372,8.9433287,33.0335735,4.5130679,0.4873891,0.5496569,7.9942829,4.7823665,58.4595994,15.3778332,33.8163943,66.5632006,33.0425843,43.6191668,18.8667559,3.8021973,10.831467,9.3316041,32.5658255,4.5078559 +519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2453174,1.2453174,20.7346023,16.0739381,30.1506981,15.5864137,36.266464,64.2679731,32.4976514,50.4305867,24.4738474,4.9808997,14.6675462,11.6618163,32.5223903,15.6247396,1.1224037,1.1140742,20.402827,16.0326279,30.8543795,14.8756522,36.3139408,66.7414456,32.8207174,51.0172196,24.9842729,4.8572826,13.9470996,11.6796824,31.4256961,14.6256116,1.0339665,1.0256749,19.8132928,15.468361,31.3447508,15.146437,35.4879109,67.3511125,32.9086282,51.0942632,25.2377283,5.4444556,14.0182958,11.7044218,31.0054542,15.408805,0.913021,0.955606,18.9152123,14.9867242,33.2932547,15.9686386,35.4298357,67.5041789,33.5968472,51.712495,25.8969207,5.8994821,13.0452876,10.7701008,30.9054339,14.7058824,0.8266424,0.892529,19.2589531,15.1711671,33.8172037,15.9508529,35.9928297,67.3665945,33.8538356,51.196127,25.5303374,6.1091403,14.2575159,11.399255,32.4551473,16.7721519 +520,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9897812,0.9504023,13.7891511,8.2479099,50.5942783,18.9833864,34.3722154,70.728068,37.1184628,48.93178,24.5639036,3.1605071,10.4669946,9.4221766,36.206763,11.5128474,0.8581454,0.8123109,13.3940515,8.0279209,50.153588,18.7260231,34.5750905,70.5663391,37.2766266,48.5617533,24.5096229,3.2899133,11.8986652,10.449641,36.6329734,11.2900239,0.9217819,0.8748373,13.7333968,8.4933546,49.7066618,18.3679301,35.6599037,70.9853405,38.4252208,48.9515206,25.3566606,3.3230012,11.9777365,10.6502307,35.9229517,11.5128928,0.7172308,0.710442,13.5601822,8.5493196,49.339515,18.3976762,36.3981476,71.5598647,39.2758336,49.0328707,26.0564351,3.1700012,12.2964204,10.2576648,35.7639026,11.6194319,0.6532737,0.6464259,12.5879574,8.0907155,47.2513258,18.5523454,36.4973744,71.2050222,40.0767869,49.2745605,26.2118505,3.1944313,12.2107406,10.4203951,34.5262356,10.4313845 +521,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5777348,0.5669589,10.6768963,7.2637347,61.4057063,10.8148862,31.5166924,68.0478982,30.6023293,46.7706828,16.8577717,3.1132068,10.9156853,10.0107501,31.7899662,7.3804782,0.562437,0.5491895,10.350107,7.1407745,60.5649685,10.8708386,31.850477,67.8682424,30.7401942,45.869725,17.0022268,3.0125821,10.6333667,9.8358391,31.7919941,7.7004463,0.5122302,0.512695,9.968867,6.8559119,58.9737833,11.0737724,31.8229683,67.4984852,30.7524117,46.0419069,17.0009098,3.038298,10.509476,9.9525427,31.8704562,7.4193763,0.4948802,0.509552,9.7511303,6.6289577,58.0713094,10.9020251,31.4055225,67.5959966,30.7142889,46.121342,16.8586846,3.0030711,10.5270657,9.8700986,31.4362759,7.7367454,0.4803633,0.4844559,9.3885138,6.4760598,56.3904882,10.6522735,31.286192,68.056361,31.3173482,45.4778234,17.3915802,2.8712143,10.6782811,9.7809716,31.3311743,7.5869024 +522,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7324524,0.7352387,11.3107806,6.9266396,61.2944767,14.8731439,34.9243404,67.9500569,37.5265168,48.8880064,20.9455489,3.4720118,11.93364,10.6214066,32.3991362,6.3591256,0.6920653,0.6901751,11.4877251,6.9987901,59.6601147,14.8863785,34.3908263,67.7753611,36.910469,48.6172611,20.7174797,3.3722593,12.0955916,11.2548481,32.7514833,6.5891714,0.624376,0.6438692,11.2614778,6.7354753,57.286745,15.1017143,34.6189388,67.4833634,36.9995746,48.6550863,20.4745844,3.5476943,12.0136784,11.15249,32.5022911,5.2000253,0.6395919,0.6412607,11.3399753,6.8376728,54.8353928,15.0629381,35.83162,67.485662,36.8547713,48.4343275,20.7487222,3.3870758,11.9454531,11.1929177,32.3529587,5.9065643,0.6413183,0.6306301,10.7489693,6.4956093,52.185896,15.0510399,36.4834949,67.636952,37.0610412,48.5328238,20.532233,3.4727664,11.7230051,11.1161639,31.7892074,6.3513175 +523,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1956358,1.2762045,17.7133032,13.9071222,52.105311,16.5770782,33.4458986,62.7073689,33.5550213,37.6360846,19.4729881,5.5015447,10.6397927,10.0970829,38.003641,17.6229192,1.3422049,1.3697418,18.1973847,13.9896873,54.9619611,16.2271972,34.4629822,62.13052,32.9034748,38.4003441,19.7221443,4.983043,11.3196743,10.8160276,39.3024707,17.2216352,1.1726742,1.2002722,17.8064569,13.4590108,58.811255,16.6671782,34.9071562,62.9908357,33.6413056,39.2202602,19.9250451,5.1838104,11.4754158,10.5642986,39.7421119,12.1377971,1.1917723,1.2193015,17.7148948,13.7206934,62.4779461,15.547462,33.6384953,63.3171665,33.0298729,37.9657102,19.0883646,4.6596493,11.7386929,10.5655134,39.9601827,12.9620716,1.2162699,1.1883894,18.0984165,13.970725,66.6165972,15.0676391,33.7983025,63.5659893,34.8174571,38.9310225,18.7562744,4.4401685,12.3147343,10.7097336,42.0859681,14.993699 +524,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5149674,0.579732,10.4738594,7.8366213,76.7203131,12.7693115,29.7170278,67.3231953,29.1294877,43.231776,12.8291226,4.4504935,12.3336953,11.1598599,31.9188866,5.8383618,0.4965346,0.5647806,10.9541035,8.0004135,76.3359893,13.1471201,29.8099263,67.4044396,29.1189859,43.0036559,12.8374139,4.3727265,12.3705613,10.4487491,32.4667187,5.8908418,0.3969853,0.4563875,10.4709308,7.58463,76.1236405,12.7628755,30.0507543,67.119752,28.3487954,41.9871346,12.4557842,4.2330028,12.5107026,10.9195655,32.6022425,4.407339,0.3993399,0.4406111,9.8420085,7.0989604,75.7345025,12.4360404,29.8093512,67.0066671,28.0381284,41.6928004,12.4327527,3.957421,12.399409,10.7173463,32.4479807,3.5825913,0.4382551,0.4713546,9.765375,7.0931904,75.6194255,12.3132309,29.1657331,66.5963601,28.2338336,41.5020852,12.4805973,3.5833328,12.071208,10.2053848,33.018502,3.3019211 +525,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5502331,0.5835924,12.9922443,8.6106569,63.7773545,17.6281188,38.1841206,67.5694674,37.4543987,49.4948275,21.9618434,3.3258537,10.4663521,9.3534647,33.6082844,9.375026,0.6703857,0.7121379,13.0333081,8.5191309,62.7365128,17.4992943,37.0963091,66.8290942,37.1519745,49.4293393,21.4225941,3.0762781,10.3035106,8.9770792,33.6810534,10.5603743,0.6697921,0.7108445,12.6522387,8.2949946,60.5913361,18.2797062,36.1308816,65.8406723,37.7737994,50.2601819,21.5087586,3.2721801,10.4026756,9.3329764,33.2379801,8.723432,0.7146022,0.7513292,12.2738387,8.0340292,59.2587513,18.9412314,35.3141112,66.3992759,38.387247,49.8640714,21.688877,3.5762873,10.5734704,9.2611406,32.9292788,9.2213001,0.6814965,0.7428523,11.7921967,7.7323666,57.5786919,19.5308104,35.679719,66.5545708,38.5598327,50.1885219,22.4091347,3.351284,10.5356906,9.2791061,32.8959753,10.2619953 +526,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5014992,0.5285072,7.9437571,4.9063298,85.3360325,6.6514211,26.5993967,62.7605775,28.1187388,37.3540995,13.337348,5.4058429,9.9893123,8.1780151,38.1486097,4.1008277,0.5215758,0.5296212,7.8148215,4.8529573,85.0969583,6.7886089,26.6229971,62.798114,28.3029853,37.7100385,13.3556386,5.4586703,10.4008186,8.3092718,38.5624282,3.8289963,0.530369,0.5391903,7.8840866,4.9146165,85.1050959,6.8366846,26.786944,62.6799636,28.281159,37.8072011,13.5794232,5.3393109,10.2643337,8.380459,38.6409868,3.3433509,0.5360668,0.5449468,8.0663813,5.072451,84.7044576,7.0602308,26.7735022,62.8599274,28.5246831,37.7989703,13.4796914,5.3757126,10.0959504,8.3668608,38.6794121,3.4883721,0.5291015,0.5337522,8.1078983,5.2109433,84.4310499,7.1231371,26.7173311,62.8470037,28.2971587,38.0342628,13.7031,5.2246446,10.6415949,8.8695915,38.2996148,3.5147392 +527,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2252368,1.2683391,22.3171096,19.0808553,41.5955476,15.8226053,39.8462935,63.3460947,35.7997726,49.1727493,23.2803458,3.5260101,13.7946717,11.0383604,33.3620312,20.332886,1.3430417,1.357222,22.7712667,19.1518558,42.1674693,16.0022002,39.0604136,64.3962925,35.8506956,48.2120651,22.8771802,3.5438378,13.6200841,10.6550451,33.1558548,22.3921984,1.4429653,1.4573405,22.4659601,18.7368334,42.6920135,16.0196684,38.6959728,63.900552,35.4865734,47.466365,22.20494,3.3645621,13.0574562,10.8013993,33.9942576,22.2556633,1.4578875,1.4578875,23.0825827,19.4137242,43.173009,16.2177292,39.4890396,64.0961897,35.3168497,48.5076129,22.5514132,3.7108777,12.7891005,10.4921738,33.8274758,21.5234348,1.4082358,1.4082358,22.9831001,19.3621926,44.5860003,15.8650045,40.0286744,64.7068625,35.1286503,48.8922279,22.8489794,3.5620444,12.6863373,9.9696525,33.6699645,19.7132458 +528,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4965346,0.5647806,10.9541035,8.0004135,76.3359893,13.1471201,29.8099263,67.4044396,29.1189859,43.0036559,12.8374139,4.3727265,12.3705613,10.4487491,32.4667187,5.8908418,0.3969853,0.4563875,10.4709308,7.58463,76.1236405,12.7628755,30.0507543,67.119752,28.3487954,41.9871346,12.4557842,4.2330028,12.5107026,10.9195655,32.6022425,4.407339,0.3993399,0.4406111,9.8420085,7.0989604,75.7345025,12.4360404,29.8093512,67.0066671,28.0381284,41.6928004,12.4327527,3.957421,12.399409,10.7173463,32.4479807,3.5825913,0.4382551,0.4713546,9.765375,7.0931904,75.6194255,12.3132309,29.1657331,66.5963601,28.2338336,41.5020852,12.4805973,3.5833328,12.071208,10.2053848,33.018502,3.3019211,0.5511989,0.5805139,9.9934334,7.1694266,75.1705406,12.2423689,29.5271026,67.133556,28.5409818,41.8533988,12.7633445,3.5970589,12.1833449,10.3514084,33.5244653,2.7778077 +529,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.562437,0.5491895,10.350107,7.1407745,60.5649685,10.8708386,31.850477,67.8682424,30.7401942,45.869725,17.0022268,3.0125821,10.6333667,9.8358391,31.7919941,7.7004463,0.5122302,0.512695,9.968867,6.8559119,58.9737833,11.0737724,31.8229683,67.4984852,30.7524117,46.0419069,17.0009098,3.038298,10.509476,9.9525427,31.8704562,7.4193763,0.4948802,0.509552,9.7511303,6.6289577,58.0713094,10.9020251,31.4055225,67.5959966,30.7142889,46.121342,16.8586846,3.0030711,10.5270657,9.8700986,31.4362759,7.7367454,0.4803633,0.4844559,9.3885138,6.4760598,56.3904882,10.6522735,31.286192,68.056361,31.3173482,45.4778234,17.3915802,2.8712143,10.6782811,9.7809716,31.3311743,7.5869024,0.5135882,0.5225291,9.1531931,6.2480514,55.0690537,10.2004035,31.0234058,68.0188737,32.0592017,45.7775539,17.9484557,2.7860545,10.3572742,9.8572395,30.6057394,7.5061932 +530,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.7587254,0.8467057,12.6215605,8.1686149,30.4430448,16.6587932,35.1339191,67.9433088,43.8420828,50.140459,24.8374775,3.751635,13.5726709,11.9957419,36.4281459,9.0472629,0.7062842,0.8151915,12.5465082,8.5586795,30.6629474,16.599009,34.9194719,67.5564375,43.7345922,49.4014706,25.159878,3.856622,13.7209359,11.6954143,35.9964695,8.7155883,0.6983708,0.8040606,12.3510423,8.1881747,31.1749165,17.3721771,35.3228156,68.0845109,43.3357264,49.2186429,25.3827392,3.9303985,13.06656,11.6776473,34.5936842,10.1941847,0.9419012,1.0465099,12.9585411,8.7585575,30.8019413,17.2968932,34.6976214,67.7668234,42.6141863,48.9775092,25.0774998,3.7829253,12.7116835,11.2000705,34.800926,12.9807817,1.0364018,1.1291762,12.9634869,8.9255918,31.5139532,16.5450414,34.5291908,67.4831996,41.8300812,48.1808557,24.6280084,3.7754654,12.1738178,11.0731219,34.6735032,13.9423077 +531,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6920653,0.6901751,11.4877251,6.9987901,59.6601147,14.8863785,34.3908263,67.7753611,36.910469,48.6172611,20.7174797,3.3722593,12.0955916,11.2548481,32.7514833,6.5891714,0.624376,0.6438692,11.2614778,6.7354753,57.286745,15.1017143,34.6189388,67.4833634,36.9995746,48.6550863,20.4745844,3.5476943,12.0136784,11.15249,32.5022911,5.2000253,0.6395919,0.6412607,11.3399753,6.8376728,54.8353928,15.0629381,35.83162,67.485662,36.8547713,48.4343275,20.7487222,3.3870758,11.9454531,11.1929177,32.3529587,5.9065643,0.6413183,0.6306301,10.7489693,6.4956093,52.185896,15.0510399,36.4834949,67.636952,37.0610412,48.5328238,20.532233,3.4727664,11.7230051,11.1161639,31.7892074,6.3513175,0.6135018,0.5996284,10.4852428,6.1682804,49.0406301,14.672906,36.402017,68.2050289,37.4860266,48.8999917,21.0824298,3.4831846,11.1945055,10.8569038,31.8995231,4.7425165 +532,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3871466,0.417509,8.8491014,5.5185901,41.5049322,16.3676745,33.774935,67.6898803,37.1087547,48.1325881,18.6210924,3.6292737,9.0730191,8.7850471,27.304855,3,0.3922854,0.4234665,9.049282,5.8018398,40.6175109,16.0540826,34.9113888,68.2949689,37.0252136,49.1260938,19.3530389,3.9601243,9.6308338,9.2684501,27.0045498,2.464787,0.5161822,0.5476803,9.2921659,5.8952404,39.5823043,16.3372671,35.9893169,68.9873683,36.8136848,49.1574468,20.3075768,4.1358192,9.3910497,8.1726117,27.4492307,2.4822677,0.4870664,0.4902317,9.0301258,5.7722563,37.4596081,16.5541426,35.6600918,69.3458842,37.5653889,49.5667064,21.0051016,3.8286364,9.3716142,8.1328512,27.2086725,3.7162137,0.59522,0.5676903,9.1509267,5.9734602,35.8024708,16.8190674,35.4901408,69.710759,37.9672781,48.7000352,21.1987565,3.9430618,9.682849,8.5934023,28.201364,3.9285714 +533,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3422049,1.3697418,18.1973847,13.9896873,54.9619611,16.2271972,34.4629822,62.13052,32.9034748,38.4003441,19.7221443,4.983043,11.3196743,10.8160276,39.3024707,17.2216352,1.1726742,1.2002722,17.8064569,13.4590108,58.811255,16.6671782,34.9071562,62.9908357,33.6413056,39.2202602,19.9250451,5.1838104,11.4754158,10.5642986,39.7421119,12.1377971,1.1917723,1.2193015,17.7148948,13.7206934,62.4779461,15.547462,33.6384953,63.3171665,33.0298729,37.9657102,19.0883646,4.6596493,11.7386929,10.5655134,39.9601827,12.9620716,1.2162699,1.1883894,18.0984165,13.970725,66.6165972,15.0676391,33.7983025,63.5659893,34.8174571,38.9310225,18.7562744,4.4401685,12.3147343,10.7097336,42.0859681,14.993699,1.3553663,1.2524556,17.8263571,13.9084616,69.2322568,15.8901599,33.2317039,64.1816473,34.9914049,39.1775258,19.2104979,4.2186256,12.8462267,10.7327929,42.5999647,14.3633766 +534,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5215758,0.5296212,7.8148215,4.8529573,85.0969583,6.7886089,26.6229971,62.798114,28.3029853,37.7100385,13.3556386,5.4586703,10.4008186,8.3092718,38.5624282,3.8289963,0.530369,0.5391903,7.8840866,4.9146165,85.1050959,6.8366846,26.786944,62.6799636,28.281159,37.8072011,13.5794232,5.3393109,10.2643337,8.380459,38.6409868,3.3433509,0.5360668,0.5449468,8.0663813,5.072451,84.7044576,7.0602308,26.7735022,62.8599274,28.5246831,37.7989703,13.4796914,5.3757126,10.0959504,8.3668608,38.6794121,3.4883721,0.5291015,0.5337522,8.1078983,5.2109433,84.4310499,7.1231371,26.7173311,62.8470037,28.2971587,38.0342628,13.7031,5.2246446,10.6415949,8.8695915,38.2996148,3.5147392,0.5790905,0.5859515,8.053118,5.1896271,84.1981777,7.2294386,27.1227669,62.6506151,28.4817643,38.2629893,13.7898226,5.1910107,10.9628038,9.0937782,37.9826208,3.3747091 +535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4263925,0.4546797,8.5795417,5.525153,62.9882117,15.5054739,32.7629825,66.9320212,32.9367826,43.4384015,18.8303631,3.8503909,10.1189265,9.0766846,33.5133823,5.5159684,0.4728685,0.4994014,8.2210744,5.2190256,61.7001796,15.431167,33.1853455,66.6989929,32.7520846,43.0214843,18.688398,3.9717175,10.0460488,8.8617139,33.1472324,4.3996485,0.5160855,0.564005,8.1545955,5.0913318,59.7840846,15.3448255,33.4934539,66.666939,33.357504,43.7316923,18.613113,3.6874238,10.2140372,8.9433287,33.0335735,4.5130679,0.4873891,0.5496569,7.9942829,4.7823665,58.4595994,15.3778332,33.8163943,66.5632006,33.0425843,43.6191668,18.8667559,3.8021973,10.831467,9.3316041,32.5658255,4.5078559,0.4284321,0.4911773,7.8721371,4.6154108,57.3168468,15.0347827,33.4344717,66.4555484,33.3102874,43.867109,18.5001103,3.6964592,10.8984722,9.7926984,32.3116115,3.5139794 +536,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6602931,0.5829527,12.7937225,9.9506731,48.3352252,32.6543134,27.6101239,67.4844118,36.9184054,42.7046344,19.6856317,4.9685468,15.0633171,9.7715459,33.8876868,5.8594666,0.821647,0.7436734,13.8646658,10.7278636,50.2604661,31.462881,28.7274901,67.1594108,37.7251636,40.9385725,18.3163023,4.9485855,16.9333355,11.8983575,34.9058079,7.2035424,0.6840288,0.6033174,13.86733,10.7422833,50.0669365,31.2256312,30.1723435,68.103426,36.2734312,39.8543877,17.4404517,4.5756003,15.5220326,10.9115997,32.2714549,6.5791205,0.594946,0.5134452,13.0066093,10.0000261,50.5367201,32.264512,30.2122345,68.8578038,35.9232816,41.2352521,17.7291006,4.8473548,15.840279,10.6648144,33.933387,5.8559877,0.6536742,0.511569,12.9388885,9.8179035,53.1415611,32.1847025,30.4088587,67.2163016,35.1586041,40.699457,16.8206489,4.9473079,15.3533336,11.580403,33.1061731,5.7018544 +537,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.3969853,0.4563875,10.4709308,7.58463,76.1236405,12.7628755,30.0507543,67.119752,28.3487954,41.9871346,12.4557842,4.2330028,12.5107026,10.9195655,32.6022425,4.407339,0.3993399,0.4406111,9.8420085,7.0989604,75.7345025,12.4360404,29.8093512,67.0066671,28.0381284,41.6928004,12.4327527,3.957421,12.399409,10.7173463,32.4479807,3.5825913,0.4382551,0.4713546,9.765375,7.0931904,75.6194255,12.3132309,29.1657331,66.5963601,28.2338336,41.5020852,12.4805973,3.5833328,12.071208,10.2053848,33.018502,3.3019211,0.5511989,0.5805139,9.9934334,7.1694266,75.1705406,12.2423689,29.5271026,67.133556,28.5409818,41.8533988,12.7633445,3.5970589,12.1833449,10.3514084,33.5244653,2.7778077,0.5553546,0.5640666,9.6827767,6.8655514,74.7192399,11.6468694,30.045279,66.3533502,28.9127831,42.3442307,12.7859479,3.7485967,12.4574477,10.819447,33.582653,2.5951755 +538,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6900978,0.6833447,8.013245,3.9072848,74.2027086,20.1159296,32.3733218,64.8549155,30.3811174,43.763534,15.5695106,4.0909091,8.7810746,7.423756,33.9386602,3.0516432,0.7585423,0.7518408,8.3296703,4.1098901,73.7288136,20.4662104,32.1027634,64.8316062,30.246114,43.7176166,15.4792746,4.2080276,9.0361446,8.159164,34.9636217,3.8812785,0.6980498,0.691407,7.9852045,3.9817232,73.3895374,20.1571793,31.483069,65.2593228,31.0115731,43.9991427,16.0094299,3.8346187,9.16,8.6137821,33.9630225,4.2410714,0.6207723,0.6140653,7.6431718,3.7665198,72.9357798,20.5364807,30.8441558,65.1298701,31.017316,43.7445887,15.7792208,4.1324102,8.8351823,8.452381,33.0286169,3.3632287,0.5930806,0.5460944,7.2149123,3.75,72.1786492,20.330614,30.974026,65.2597403,31.3636364,44.004329,15.9090909,4.0025963,9.1307815,8.92,33.5336538,4.1125541 +539,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2166251,1.1110122,19.9876533,16.4207659,30.764096,18.9943171,36.4721759,63.6163671,36.0685287,46.5675726,20.9267246,2.9465241,12.4045999,9.6675123,36.6636985,16.8639253,1.1879024,1.0615438,20.7186585,17.0150145,32.2907554,19.212564,36.8878216,63.6019287,35.1068746,46.549426,20.2385866,3.0511687,12.4714405,9.3803702,37.8134705,16.4739884,1.2308423,1.0972185,20.9431441,16.9327415,33.3397892,19.019239,37.0080857,63.1708363,34.6850644,46.4445536,20.1054883,2.8846085,12.5624253,9.2648107,36.999665,18.209899,1.2269619,1.1026377,20.7997344,17.0294666,34.7421242,19.3373148,36.7723007,63.3620224,34.2680648,46.5308133,20.3912866,2.8872672,12.7041229,9.3298029,37.3577636,15.2173913,1.1309637,1.0472105,21.3665491,17.6693364,35.5048884,19.1299693,36.7242517,63.4130576,35.2315251,47.7803987,20.776959,3.2851297,13.1495663,9.8659939,37.1025193,14.4969822 +540,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3430417,1.357222,22.7712667,19.1518558,42.1674693,16.0022002,39.0604136,64.3962925,35.8506956,48.2120651,22.8771802,3.5438378,13.6200841,10.6550451,33.1558548,22.3921984,1.4429653,1.4573405,22.4659601,18.7368334,42.6920135,16.0196684,38.6959728,63.900552,35.4865734,47.466365,22.20494,3.3645621,13.0574562,10.8013993,33.9942576,22.2556633,1.4578875,1.4578875,23.0825827,19.4137242,43.173009,16.2177292,39.4890396,64.0961897,35.3168497,48.5076129,22.5514132,3.7108777,12.7891005,10.4921738,33.8274758,21.5234348,1.4082358,1.4082358,22.9831001,19.3621926,44.5860003,15.8650045,40.0286744,64.7068625,35.1286503,48.8922279,22.8489794,3.5620444,12.6863373,9.9696525,33.6699645,19.7132458,1.536493,1.536493,22.6961766,19.0326058,46.2100978,14.9152316,39.6236087,64.1092815,34.3977348,48.0548998,22.6286516,3.4272719,12.9967694,9.9427976,32.4342489,17.3026927 +541,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3590852,0.3590852,7.8617141,4.5515153,76.422233,16.6283852,27.271552,63.9270031,29.5754591,38.9981829,16.8910204,6.767598,9.2887264,7.7193835,37.004728,5.0000011,0.3832584,0.3832584,7.6933362,4.432761,74.2807636,16.60589,27.8071317,63.5270849,29.9207413,39.9867868,17.3447849,7.0919172,9.3509651,7.8313279,37.5303348,4.4520558,0.3759162,0.3840722,7.329475,4.3041739,71.8169346,16.4181126,28.9331161,63.7557576,30.5578147,40.387217,17.3165482,7.3246682,9.0110478,7.5201234,37.4113576,5.1558765,0.4015109,0.4162751,7.4978498,4.3273285,70.5124507,16.0005551,29.9134511,64.0843104,30.8626447,39.5449401,17.1552245,7.3283083,9.860252,7.7102828,37.7609689,5.1122207,0.4293295,0.444612,7.5958645,4.439524,69.4744497,16.0439278,30.6749322,64.8543393,31.8575083,40.5393662,17.7531044,7.6002307,10.1947031,7.4566185,37.8887194,4.9242424 +542,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.291412,0.291412,7.9253765,4.9497375,76.2204866,12.2275817,25.1430528,61.6222919,32.3022068,39.5586109,15.0643042,3.0608421,11.2664943,11.9985248,36.4403036,3.2601679,0.4192448,0.4341469,8.4409171,5.215596,75.825328,12.5600456,25.5222908,61.9743726,32.0795145,38.5394585,14.8584639,3.1586154,10.9168512,11.4860307,37.3913063,3.8724295,0.4731899,0.4879158,8.5936187,5.5347995,75.0985352,12.4817749,24.9728125,62.7149578,32.3995989,39.2550586,14.6541113,3.2550197,11.2107237,11.1839403,38.2408284,3.8186621,0.4460069,0.4611428,8.7895484,5.8564791,74.0975359,12.3365879,25.3141658,62.9583016,31.5435213,39.3354385,14.2092119,3.4241473,11.8630795,11.7243316,38.1567069,4.849675,0.5939033,0.5786788,8.6355918,5.4177129,73.6680706,12.8747563,24.5603136,63.2745928,32.1737795,39.0807467,14.949387,3.4497675,12.3335405,11.692867,37.8677855,4.6418724 +543,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4429653,1.4573405,22.4659601,18.7368334,42.6920135,16.0196684,38.6959728,63.900552,35.4865734,47.466365,22.20494,3.3645621,13.0574562,10.8013993,33.9942576,22.2556633,1.4578875,1.4578875,23.0825827,19.4137242,43.173009,16.2177292,39.4890396,64.0961897,35.3168497,48.5076129,22.5514132,3.7108777,12.7891005,10.4921738,33.8274758,21.5234348,1.4082358,1.4082358,22.9831001,19.3621926,44.5860003,15.8650045,40.0286744,64.7068625,35.1286503,48.8922279,22.8489794,3.5620444,12.6863373,9.9696525,33.6699645,19.7132458,1.536493,1.536493,22.6961766,19.0326058,46.2100978,14.9152316,39.6236087,64.1092815,34.3977348,48.0548998,22.6286516,3.4272719,12.9967694,9.9427976,32.4342489,17.3026927,1.4890342,1.4890342,22.7572619,18.8543143,46.0322058,14.8594169,40.2707201,64.2213446,33.9461474,48.5702308,22.6431099,3.4136912,13.3880778,10.3131921,32.4752779,16.8780929 +544,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6703857,0.7121379,13.0333081,8.5191309,62.7365128,17.4992943,37.0963091,66.8290942,37.1519745,49.4293393,21.4225941,3.0762781,10.3035106,8.9770792,33.6810534,10.5603743,0.6697921,0.7108445,12.6522387,8.2949946,60.5913361,18.2797062,36.1308816,65.8406723,37.7737994,50.2601819,21.5087586,3.2721801,10.4026756,9.3329764,33.2379801,8.723432,0.7146022,0.7513292,12.2738387,8.0340292,59.2587513,18.9412314,35.3141112,66.3992759,38.387247,49.8640714,21.688877,3.5762873,10.5734704,9.2611406,32.9292788,9.2213001,0.6814965,0.7428523,11.7921967,7.7323666,57.5786919,19.5308104,35.679719,66.5545708,38.5598327,50.1885219,22.4091347,3.351284,10.5356906,9.2791061,32.8959753,10.2619953,0.7215895,0.7827615,12.2038792,7.9451612,56.272199,19.9919459,35.6339096,67.0732237,39.1985491,50.6701424,22.8758804,3.2028951,10.6528129,9.2038213,32.7646554,10.0427265 +545,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.3993399,0.4406111,9.8420085,7.0989604,75.7345025,12.4360404,29.8093512,67.0066671,28.0381284,41.6928004,12.4327527,3.957421,12.399409,10.7173463,32.4479807,3.5825913,0.4382551,0.4713546,9.765375,7.0931904,75.6194255,12.3132309,29.1657331,66.5963601,28.2338336,41.5020852,12.4805973,3.5833328,12.071208,10.2053848,33.018502,3.3019211,0.5511989,0.5805139,9.9934334,7.1694266,75.1705406,12.2423689,29.5271026,67.133556,28.5409818,41.8533988,12.7633445,3.5970589,12.1833449,10.3514084,33.5244653,2.7778077,0.5553546,0.5640666,9.6827767,6.8655514,74.7192399,11.6468694,30.045279,66.3533502,28.9127831,42.3442307,12.7859479,3.7485967,12.4574477,10.819447,33.582653,2.5951755,0.5910115,0.610097,9.5316918,6.5716612,73.375273,11.8634602,29.9143968,66.325128,29.2839168,42.7268036,13.56674,3.951827,12.2212883,11.1321049,33.1148286,3.0797347 +546,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.7062842,0.8151915,12.5465082,8.5586795,30.6629474,16.599009,34.9194719,67.5564375,43.7345922,49.4014706,25.159878,3.856622,13.7209359,11.6954143,35.9964695,8.7155883,0.6983708,0.8040606,12.3510423,8.1881747,31.1749165,17.3721771,35.3228156,68.0845109,43.3357264,49.2186429,25.3827392,3.9303985,13.06656,11.6776473,34.5936842,10.1941847,0.9419012,1.0465099,12.9585411,8.7585575,30.8019413,17.2968932,34.6976214,67.7668234,42.6141863,48.9775092,25.0774998,3.7829253,12.7116835,11.2000705,34.800926,12.9807817,1.0364018,1.1291762,12.9634869,8.9255918,31.5139532,16.5450414,34.5291908,67.4831996,41.8300812,48.1808557,24.6280084,3.7754654,12.1738178,11.0731219,34.6735032,13.9423077,0.9843206,1.0297317,12.5659751,8.4175198,30.863616,16.207404,34.3724922,68.1335763,40.8124769,48.5244412,24.5447828,3.8573924,12.1282571,11.0482362,34.3471449,13.6792453 +547,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4846458,1.4305312,22.3372219,18.9162172,34.962164,17.764618,31.1241335,63.7428471,34.7716519,45.6639323,20.5771031,2.7612295,12.3917237,12.2083839,38.0068574,17.3432159,1.5365973,1.5290073,23.5074761,19.8123567,35.1253503,17.1085116,30.9030823,64.3138907,33.9319022,45.1043853,19.8703622,2.6567158,12.7728933,11.7476082,38.1411583,16.5584308,1.5094964,1.5245063,23.9734586,20.0935902,35.348706,17.3607666,31.7047601,64.8057214,34.4472481,45.4671976,20.7740061,3.0121999,12.8616341,10.9526851,37.8865491,17.0807241,1.4295848,1.4952988,24.6648559,20.8379091,36.4964923,16.8168029,32.0081834,64.8947654,34.428697,44.8238345,21.0824003,2.9192611,12.6048729,10.3801784,38.319823,16.5697385,1.4295782,1.5166235,25.0842684,21.007741,36.951185,16.6525574,32.0629066,64.8104036,34.4225072,44.5227693,20.9157985,2.9027268,12.1736073,10.1567084,39.252839,17.0390871 +548,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.1224037,1.1140742,20.402827,16.0326279,30.8543795,14.8756522,36.3139408,66.7414456,32.8207174,51.0172196,24.9842729,4.8572826,13.9470996,11.6796824,31.4256961,14.6256116,1.0339665,1.0256749,19.8132928,15.468361,31.3447508,15.146437,35.4879109,67.3511125,32.9086282,51.0942632,25.2377283,5.4444556,14.0182958,11.7044218,31.0054542,15.408805,0.913021,0.955606,18.9152123,14.9867242,33.2932547,15.9686386,35.4298357,67.5041789,33.5968472,51.712495,25.8969207,5.8994821,13.0452876,10.7701008,30.9054339,14.7058824,0.8266424,0.892529,19.2589531,15.1711671,33.8172037,15.9508529,35.9928297,67.3665945,33.8538356,51.196127,25.5303374,6.1091403,14.2575159,11.399255,32.4551473,16.7721519,0.8665042,0.9326541,20.2659772,15.9550138,34.1059163,16.5612706,35.2678193,67.831577,34.8887286,51.0918127,25.6919118,6.068745,14.5787986,11.5132611,32.1787963,16.2576687 +549,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.949361,0.9941421,16.1361067,11.5266778,22.6559349,20.8479505,35.8234494,65.6228389,38.0087262,47.5028927,21.9965129,4.0798502,10.9758296,7.7477587,30.7319448,15.8536585,0.9809262,1.0253388,17.0525211,12.5211907,23.5703511,21.610501,36.0352814,65.5632604,38.2150667,47.9886718,22.2840439,4.1833944,11.0462628,7.737241,30.9583443,13.9999888,0.9871916,1.0445376,17.2147317,12.7227908,25.0001167,20.938925,36.2955463,65.3744738,37.4928759,47.7542069,22.0760534,4.0138252,11.6025211,7.7049693,30.4439921,15.5302913,1.086752,1.1372524,17.1978636,12.6593657,26.2127571,20.8795288,35.849087,66.448894,37.6109464,46.9156795,21.8547455,4.0868798,12.0208357,8.1696852,30.9643049,16.6666543,1.0498626,1.1113786,17.5074619,13.1613709,27.5576359,20.4739414,35.8346968,66.2319592,37.0753153,46.1529903,22.3560777,4.2105121,12.3104045,8.721702,30.683711,13.6029412 +550,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4643899,0.4869811,8.6446557,5.3307664,72.475632,11.244515,29.8140856,65.4457044,29.2354129,41.5230254,14.4237893,12.8970683,10.6615071,9.1283923,37.2807044,4.0021349,0.4622846,0.4733088,8.4535197,5.2054285,72.0960111,11.1078011,30.2178611,65.8100638,29.2549362,42.2664889,15.1600891,12.9333149,10.747341,9.1784704,37.3247678,3.6749486,0.4328827,0.4347191,8.5605223,5.2284006,71.4521266,11.2864814,30.3017528,65.2620834,29.3039192,42.2156732,15.3342162,12.6653018,10.781395,9.6874326,37.309113,3.9690726,0.3490002,0.3620065,8.4842193,5.2055308,70.3596147,11.3395245,31.0552553,65.3906991,29.533835,42.192061,15.6584705,12.6643117,11.1098411,10.1766904,36.9630413,4.2857143,0.3404351,0.3649671,8.460965,5.2484136,69.6845956,11.6337577,31.0628554,65.9923303,29.1202658,41.5800487,15.5345204,13.0351379,10.9466061,10.2009827,36.7349251,3.9356984 +551,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.5936686,0.6142579,10.8900207,6.720826,68.2576534,9.0911477,34.6300889,65.7310625,38.1248193,43.2009691,23.1306447,4.1536574,10.7092614,9.1429801,39.6027842,4.382715,0.5969902,0.617048,10.7615243,6.6392647,67.7913786,9.4051321,33.871035,65.6956316,38.4930886,43.3943973,23.1439896,4.1068915,10.3881762,8.9701394,39.3005937,5.0776571,0.594703,0.6058734,10.8081818,6.6811602,67.4455787,9.5419853,33.5579586,65.8493424,38.6243876,43.3658269,23.2530101,4.1822007,10.5433009,9.1859625,39.6197353,4.9418593,0.6053207,0.6177359,10.8435267,6.7730635,67.3787027,9.6895255,33.1936858,65.7520768,38.7283185,43.5852844,23.0092161,4.1745099,10.0434933,8.995839,39.3379055,4.3103438,0.5792208,0.5846087,11.027934,6.8848953,66.9086939,9.7925367,33.7093698,66.2163276,39.3917982,44.173639,23.3286826,4.1736297,10.2086194,8.9240828,39.5957417,4.5887935 +552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.624376,0.6438692,11.2614778,6.7354753,57.286745,15.1017143,34.6189388,67.4833634,36.9995746,48.6550863,20.4745844,3.5476943,12.0136784,11.15249,32.5022911,5.2000253,0.6395919,0.6412607,11.3399753,6.8376728,54.8353928,15.0629381,35.83162,67.485662,36.8547713,48.4343275,20.7487222,3.3870758,11.9454531,11.1929177,32.3529587,5.9065643,0.6413183,0.6306301,10.7489693,6.4956093,52.185896,15.0510399,36.4834949,67.636952,37.0610412,48.5328238,20.532233,3.4727664,11.7230051,11.1161639,31.7892074,6.3513175,0.6135018,0.5996284,10.4852428,6.1682804,49.0406301,14.672906,36.402017,68.2050289,37.4860266,48.8999917,21.0824298,3.4831846,11.1945055,10.8569038,31.8995231,4.7425165,0.5919144,0.5716161,10.0891573,5.9643366,46.3376771,14.8056077,36.2892854,68.3754793,37.3744279,49.1010302,20.8697728,3.5390359,11.1162922,10.3078516,31.9843919,4.5579822 +553,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.035557,1.0042663,16.6503159,12.4079953,44.2483177,18.8729005,31.8513717,70.0257198,36.3539445,47.897002,26.0206943,2.1626758,12.2480896,11.1181642,40.6956167,17.8131869,1.0055369,0.9738777,17.911902,13.0464922,44.361574,19.0572462,32.3805962,69.8782006,35.5955375,47.3687133,25.1202085,2.1929415,12.9982704,11.8537548,40.4815729,18.5204696,0.7920958,0.7610267,18.003194,12.7481331,43.8935594,18.6739705,32.1248763,69.938048,35.2943757,47.3935623,24.2649315,2.0220262,12.9658266,12.2363605,41.6471544,18.7270096,1.1110286,1.1713022,19.1291482,13.422752,46.1146517,18.6001658,32.085822,68.315736,34.7273417,46.7416619,23.1623117,1.8245133,13.9888931,12.6648329,41.6802902,18.5471811,1.0760441,1.1344198,20.4976197,14.760756,46.3249006,17.8345762,31.1469409,66.6304782,34.7430878,45.1408845,22.801437,1.9565951,14.4772334,12.5844974,41.6302066,16.8414258 +554,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.6983708,0.8040606,12.3510423,8.1881747,31.1749165,17.3721771,35.3228156,68.0845109,43.3357264,49.2186429,25.3827392,3.9303985,13.06656,11.6776473,34.5936842,10.1941847,0.9419012,1.0465099,12.9585411,8.7585575,30.8019413,17.2968932,34.6976214,67.7668234,42.6141863,48.9775092,25.0774998,3.7829253,12.7116835,11.2000705,34.800926,12.9807817,1.0364018,1.1291762,12.9634869,8.9255918,31.5139532,16.5450414,34.5291908,67.4831996,41.8300812,48.1808557,24.6280084,3.7754654,12.1738178,11.0731219,34.6735032,13.9423077,0.9843206,1.0297317,12.5659751,8.4175198,30.863616,16.207404,34.3724922,68.1335763,40.8124769,48.5244412,24.5447828,3.8573924,12.1282571,11.0482362,34.3471449,13.6792453,0.9964134,1.0075836,12.7792804,8.9240804,29.8606026,16.6530812,34.3170053,67.46007,40.7557089,48.5817671,24.9513053,3.7222922,11.6330138,11.4885129,34.3480528,14.3564072 +555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0339665,1.0256749,19.8132928,15.468361,31.3447508,15.146437,35.4879109,67.3511125,32.9086282,51.0942632,25.2377283,5.4444556,14.0182958,11.7044218,31.0054542,15.408805,0.913021,0.955606,18.9152123,14.9867242,33.2932547,15.9686386,35.4298357,67.5041789,33.5968472,51.712495,25.8969207,5.8994821,13.0452876,10.7701008,30.9054339,14.7058824,0.8266424,0.892529,19.2589531,15.1711671,33.8172037,15.9508529,35.9928297,67.3665945,33.8538356,51.196127,25.5303374,6.1091403,14.2575159,11.399255,32.4551473,16.7721519,0.8665042,0.9326541,20.2659772,15.9550138,34.1059163,16.5612706,35.2678193,67.831577,34.8887286,51.0918127,25.6919118,6.068745,14.5787986,11.5132611,32.1787963,16.2576687,0.7936738,0.8593393,20.7030266,16.4734573,34.7557189,15.818553,35.424376,67.9615053,34.9434804,50.0741376,25.4734666,6.1104577,14.4486868,11.470011,33.4162194,15.8682635 +556,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6395919,0.6412607,11.3399753,6.8376728,54.8353928,15.0629381,35.83162,67.485662,36.8547713,48.4343275,20.7487222,3.3870758,11.9454531,11.1929177,32.3529587,5.9065643,0.6413183,0.6306301,10.7489693,6.4956093,52.185896,15.0510399,36.4834949,67.636952,37.0610412,48.5328238,20.532233,3.4727664,11.7230051,11.1161639,31.7892074,6.3513175,0.6135018,0.5996284,10.4852428,6.1682804,49.0406301,14.672906,36.402017,68.2050289,37.4860266,48.8999917,21.0824298,3.4831846,11.1945055,10.8569038,31.8995231,4.7425165,0.5919144,0.5716161,10.0891573,5.9643366,46.3376771,14.8056077,36.2892854,68.3754793,37.3744279,49.1010302,20.8697728,3.5390359,11.1162922,10.3078516,31.9843919,4.5579822,0.6642898,0.6438663,10.1983377,6.2310125,44.0295026,14.5017881,36.2666952,68.4060837,37.5528625,49.0637863,20.7342868,3.3458171,10.8473131,10.1338858,31.961842,5.7746213 +557,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7418751,0.7630967,10.3582419,6.5772614,62.773453,12.1477099,27.3498719,67.2887625,38.0756644,44.8807654,19.5472051,4.3475277,10.0732435,8.1696677,33.586817,6.9037657,0.8182518,0.8396027,10.5872406,6.6935665,61.775489,12.2796219,27.7935761,67.4163217,38.1624972,45.114158,19.6314644,4.4472125,10.0730271,8.2450147,33.1943935,6.3291191,0.7288658,0.753359,10.5869055,6.6696976,61.2729928,12.6517366,28.3306636,67.0131086,37.7371025,44.9398872,19.7341409,4.4180912,10.2018741,8.4454337,33.2077326,6.5502235,0.7732769,0.7981057,10.5852085,6.7769441,60.3407436,12.8595732,29.3822694,67.5839023,38.3301793,45.7893929,20.3107012,4.783163,10.009144,8.1733857,33.5938403,7.5886415,0.8300678,0.8552638,10.7446187,6.6863822,60.2279629,12.5545144,29.626924,67.2396242,37.772328,45.070882,20.0530984,4.8075463,9.6889679,8.4089003,33.9469342,6.5737743 +558,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7960128,0.8403306,11.1858094,7.1527138,54.8254912,17.1582202,33.9009979,69.9613796,38.9220507,45.0667333,22.8757154,2.8616515,10.6579808,8.5449535,33.0013808,6.1497228,0.8258003,0.8702448,11.1398163,6.9387105,55.0747882,17.181,33.725012,69.0810189,37.7586849,44.6685465,22.5359567,2.8235651,10.5425737,8.9064645,33.1611709,5.2197745,0.7888438,0.8343722,10.7155457,7.0676981,54.2654152,17.3643179,34.0452353,69.4723506,38.2806851,45.1364098,22.6669145,3.1765919,10.586994,8.7946744,34.0224405,5.1912568,0.8000332,0.8022269,11.0070695,7.2261453,53.680547,16.8215909,34.2428655,70.3830631,39.0133477,45.6993116,22.8225488,3.0899842,10.5795953,9.1450608,33.9048422,5.5851064,0.7928518,0.7950807,10.1722299,6.6558988,52.1553557,17.1000305,34.2528311,70.5334177,39.7332555,45.9079069,22.9996184,3.1969292,9.6180426,8.8214728,33.9260805,5.8659218 +559,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1879024,1.0615438,20.7186585,17.0150145,32.2907554,19.212564,36.8878216,63.6019287,35.1068746,46.549426,20.2385866,3.0511687,12.4714405,9.3803702,37.8134705,16.4739884,1.2308423,1.0972185,20.9431441,16.9327415,33.3397892,19.019239,37.0080857,63.1708363,34.6850644,46.4445536,20.1054883,2.8846085,12.5624253,9.2648107,36.999665,18.209899,1.2269619,1.1026377,20.7997344,17.0294666,34.7421242,19.3373148,36.7723007,63.3620224,34.2680648,46.5308133,20.3912866,2.8872672,12.7041229,9.3298029,37.3577636,15.2173913,1.1309637,1.0472105,21.3665491,17.6693364,35.5048884,19.1299693,36.7242517,63.4130576,35.2315251,47.7803987,20.776959,3.2851297,13.1495663,9.8659939,37.1025193,14.4969822,1.2587205,1.1746858,21.5175304,17.3324813,36.1907799,19.0995136,37.4945234,63.5566588,35.1236774,47.992411,21.1112704,3.263478,13.4178255,10.0803654,37.0918878,15.0567699 +560,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5122302,0.512695,9.968867,6.8559119,58.9737833,11.0737724,31.8229683,67.4984852,30.7524117,46.0419069,17.0009098,3.038298,10.509476,9.9525427,31.8704562,7.4193763,0.4948802,0.509552,9.7511303,6.6289577,58.0713094,10.9020251,31.4055225,67.5959966,30.7142889,46.121342,16.8586846,3.0030711,10.5270657,9.8700986,31.4362759,7.7367454,0.4803633,0.4844559,9.3885138,6.4760598,56.3904882,10.6522735,31.286192,68.056361,31.3173482,45.4778234,17.3915802,2.8712143,10.6782811,9.7809716,31.3311743,7.5869024,0.5135882,0.5225291,9.1531931,6.2480514,55.0690537,10.2004035,31.0234058,68.0188737,32.0592017,45.7775539,17.9484557,2.7860545,10.3572742,9.8572395,30.6057394,7.5061932,0.6228992,0.6253042,9.1250247,6.2690608,53.9660472,9.8638082,31.0309928,67.951849,33.0020476,45.8931078,18.2806001,2.7143217,10.5330632,9.9393348,30.5577549,7.251746 +561,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4578875,1.4578875,23.0825827,19.4137242,43.173009,16.2177292,39.4890396,64.0961897,35.3168497,48.5076129,22.5514132,3.7108777,12.7891005,10.4921738,33.8274758,21.5234348,1.4082358,1.4082358,22.9831001,19.3621926,44.5860003,15.8650045,40.0286744,64.7068625,35.1286503,48.8922279,22.8489794,3.5620444,12.6863373,9.9696525,33.6699645,19.7132458,1.536493,1.536493,22.6961766,19.0326058,46.2100978,14.9152316,39.6236087,64.1092815,34.3977348,48.0548998,22.6286516,3.4272719,12.9967694,9.9427976,32.4342489,17.3026927,1.4890342,1.4890342,22.7572619,18.8543143,46.0322058,14.8594169,40.2707201,64.2213446,33.9461474,48.5702308,22.6431099,3.4136912,13.3880778,10.3131921,32.4752779,16.8780929,1.3583132,1.3982869,23.4446332,19.5532363,45.6380019,14.5273871,40.715641,65.0049247,34.2998187,48.03381,22.9014398,3.7234305,12.2980601,9.0785717,32.213668,17.7782385 +562,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3970242,0.3890217,10.8121214,7.1723051,61.3473205,18.3035795,32.9672465,67.7972306,36.1769849,46.4806922,19.9834797,2.8926527,12.3384645,11.5847633,36.5801387,3.6666667,0.5698521,0.5464479,11.8221644,7.2846634,60.2044998,19.4112568,33.5933384,68.4208751,36.5499238,46.6772216,20.5653297,3.0213096,12.2107653,11.659292,37.4725914,3.555505,0.5628929,0.5400065,12.6431751,7.7238294,59.4918192,19.3645753,33.2801848,68.3568036,36.0500361,46.5566675,20.6880167,3.0431129,11.933554,12.3692674,38.0561421,4.4725386,0.6175943,0.645172,12.5971791,7.3973625,58.4072865,20.7966512,34.0851099,69.1005097,36.153271,46.9640684,21.3426687,3.5786439,11.7337928,11.6020823,37.3027898,4.2933245,0.6312348,0.6591664,13.2519758,7.6987226,57.6431049,21.1004812,33.6014967,69.3736381,35.9606898,47.693821,21.2399743,3.540847,12.8547239,12.481197,37.3210983,3.8762024 +563,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.821647,0.7436734,13.8646658,10.7278636,50.2604661,31.462881,28.7274901,67.1594108,37.7251636,40.9385725,18.3163023,4.9485855,16.9333355,11.8983575,34.9058079,7.2035424,0.6840288,0.6033174,13.86733,10.7422833,50.0669365,31.2256312,30.1723435,68.103426,36.2734312,39.8543877,17.4404517,4.5756003,15.5220326,10.9115997,32.2714549,6.5791205,0.594946,0.5134452,13.0066093,10.0000261,50.5367201,32.264512,30.2122345,68.8578038,35.9232816,41.2352521,17.7291006,4.8473548,15.840279,10.6648144,33.933387,5.8559877,0.6536742,0.511569,12.9388885,9.8179035,53.1415611,32.1847025,30.4088587,67.2163016,35.1586041,40.699457,16.8206489,4.9473079,15.3533336,11.580403,33.1061731,5.7018544,0.5993419,0.4556617,11.7063211,8.6639488,53.1584515,31.913477,29.4155418,66.0689148,34.9935192,39.3759927,16.1354497,4.5817463,15.0552011,12.3269191,33.472178,6.3727052 +564,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6840288,0.6033174,13.86733,10.7422833,50.0669365,31.2256312,30.1723435,68.103426,36.2734312,39.8543877,17.4404517,4.5756003,15.5220326,10.9115997,32.2714549,6.5791205,0.594946,0.5134452,13.0066093,10.0000261,50.5367201,32.264512,30.2122345,68.8578038,35.9232816,41.2352521,17.7291006,4.8473548,15.840279,10.6648144,33.933387,5.8559877,0.6536742,0.511569,12.9388885,9.8179035,53.1415611,32.1847025,30.4088587,67.2163016,35.1586041,40.699457,16.8206489,4.9473079,15.3533336,11.580403,33.1061731,5.7018544,0.5993419,0.4556617,11.7063211,8.6639488,53.1584515,31.913477,29.4155418,66.0689148,34.9935192,39.3759927,16.1354497,4.5817463,15.0552011,12.3269191,33.472178,6.3727052,0.6219643,0.5612839,11.8984642,8.7775524,52.251556,31.1126032,28.1698168,66.9933816,34.8366447,40.5883614,17.0588074,4.5098688,15.6676521,12.7050916,33.928488,5.3399614 +565,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6697921,0.7108445,12.6522387,8.2949946,60.5913361,18.2797062,36.1308816,65.8406723,37.7737994,50.2601819,21.5087586,3.2721801,10.4026756,9.3329764,33.2379801,8.723432,0.7146022,0.7513292,12.2738387,8.0340292,59.2587513,18.9412314,35.3141112,66.3992759,38.387247,49.8640714,21.688877,3.5762873,10.5734704,9.2611406,32.9292788,9.2213001,0.6814965,0.7428523,11.7921967,7.7323666,57.5786919,19.5308104,35.679719,66.5545708,38.5598327,50.1885219,22.4091347,3.351284,10.5356906,9.2791061,32.8959753,10.2619953,0.7215895,0.7827615,12.2038792,7.9451612,56.272199,19.9919459,35.6339096,67.0732237,39.1985491,50.6701424,22.8758804,3.2028951,10.6528129,9.2038213,32.7646554,10.0427265,0.7531281,0.7834303,12.2468263,7.7369685,55.6617357,19.0430759,35.3509437,67.0158428,38.3704551,50.5849339,22.5924641,3.2236106,11.473285,9.9999671,33.3418423,9.6566524 +566,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8182518,0.8396027,10.5872406,6.6935665,61.775489,12.2796219,27.7935761,67.4163217,38.1624972,45.114158,19.6314644,4.4472125,10.0730271,8.2450147,33.1943935,6.3291191,0.7288658,0.753359,10.5869055,6.6696976,61.2729928,12.6517366,28.3306636,67.0131086,37.7371025,44.9398872,19.7341409,4.4180912,10.2018741,8.4454337,33.2077326,6.5502235,0.7732769,0.7981057,10.5852085,6.7769441,60.3407436,12.8595732,29.3822694,67.5839023,38.3301793,45.7893929,20.3107012,4.783163,10.009144,8.1733857,33.5938403,7.5886415,0.8300678,0.8552638,10.7446187,6.6863822,60.2279629,12.5545144,29.626924,67.2396242,37.772328,45.070882,20.0530984,4.8075463,9.6889679,8.4089003,33.9469342,6.5737743,0.8477648,0.877482,10.5658587,6.7105522,60.1883115,12.5132275,29.1942133,67.6600023,38.2144189,44.4800679,20.3232538,4.7725557,9.4675435,8.6624146,33.748551,5.7208723 +567,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8611521,1.8611521,25.7886435,22.0031546,56.6935484,7.2429907,38.0537975,66.5348101,28.085443,49.7626582,20.806962,6.25,12.191358,10.6811146,33.8006231,15.4166667,1.5870719,1.5870719,26.6923077,23,55.7936508,7.2629969,37.3839009,66.3312693,28.7151703,48.2198142,20.5108359,6.1145511,11.6459627,9.7826087,33.0721003,16.8103448,1.1995134,1.1995134,27.265745,23.5791091,57.0859873,6.3846154,38.299532,66.3806552,28.6271451,47.6599064,19.1107644,5.5382215,12.5,10.0308642,34.84375,17.2268908,1.2090559,1.2813102,28.2575758,23.4090909,58.1081081,5.5810398,40.0154799,67.5696594,29.1795666,46.3622291,18.0340557,5.1857585,13.0630631,9.7305389,34.3939394,16.015625,1.4691715,1.577553,30.2130898,24.7336377,58.8852989,5.6414219,39.9529042,67.8963893,28.6499215,46.0753532,17.9748823,5.2590267,13.5514019,9.4720497,34.6394984,17.0289855 +568,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1726742,1.2002722,17.8064569,13.4590108,58.811255,16.6671782,34.9071562,62.9908357,33.6413056,39.2202602,19.9250451,5.1838104,11.4754158,10.5642986,39.7421119,12.1377971,1.1917723,1.2193015,17.7148948,13.7206934,62.4779461,15.547462,33.6384953,63.3171665,33.0298729,37.9657102,19.0883646,4.6596493,11.7386929,10.5655134,39.9601827,12.9620716,1.2162699,1.1883894,18.0984165,13.970725,66.6165972,15.0676391,33.7983025,63.5659893,34.8174571,38.9310225,18.7562744,4.4401685,12.3147343,10.7097336,42.0859681,14.993699,1.3553663,1.2524556,17.8263571,13.9084616,69.2322568,15.8901599,33.2317039,64.1816473,34.9914049,39.1775258,19.2104979,4.2186256,12.8462267,10.7327929,42.5999647,14.3633766,1.3194833,1.1605359,17.7310668,14.0038679,72.5605787,15.2424437,32.3403532,64.3435039,35.2496622,37.7330471,19.6099659,4.3345341,13.7809707,10.7584712,42.6641173,15.4401365 +569,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4622846,0.4733088,8.4535197,5.2054285,72.0960111,11.1078011,30.2178611,65.8100638,29.2549362,42.2664889,15.1600891,12.9333149,10.747341,9.1784704,37.3247678,3.6749486,0.4328827,0.4347191,8.5605223,5.2284006,71.4521266,11.2864814,30.3017528,65.2620834,29.3039192,42.2156732,15.3342162,12.6653018,10.781395,9.6874326,37.309113,3.9690726,0.3490002,0.3620065,8.4842193,5.2055308,70.3596147,11.3395245,31.0552553,65.3906991,29.533835,42.192061,15.6584705,12.6643117,11.1098411,10.1766904,36.9630413,4.2857143,0.3404351,0.3649671,8.460965,5.2484136,69.6845956,11.6337577,31.0628554,65.9923303,29.1202658,41.5800487,15.5345204,13.0351379,10.9466061,10.2009827,36.7349251,3.9356984,0.3485153,0.361913,8.1236579,5.0638538,68.9924924,11.7248696,31.8677886,66.1126455,28.6816346,41.5516793,15.5230815,13.1648251,11.2861187,10.3845229,36.6363786,3.5382831 +570,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4728685,0.4994014,8.2210744,5.2190256,61.7001796,15.431167,33.1853455,66.6989929,32.7520846,43.0214843,18.688398,3.9717175,10.0460488,8.8617139,33.1472324,4.3996485,0.5160855,0.564005,8.1545955,5.0913318,59.7840846,15.3448255,33.4934539,66.666939,33.357504,43.7316923,18.613113,3.6874238,10.2140372,8.9433287,33.0335735,4.5130679,0.4873891,0.5496569,7.9942829,4.7823665,58.4595994,15.3778332,33.8163943,66.5632006,33.0425843,43.6191668,18.8667559,3.8021973,10.831467,9.3316041,32.5658255,4.5078559,0.4284321,0.4911773,7.8721371,4.6154108,57.3168468,15.0347827,33.4344717,66.4555484,33.3102874,43.867109,18.5001103,3.6964592,10.8984722,9.7926984,32.3116115,3.5139794,0.4800467,0.543302,7.9115038,4.6505747,56.9442936,15.0770375,33.5937496,66.3769539,34.0946677,44.4488821,19.0869223,3.8786843,10.6198936,9.4769176,33.2368159,3.4845062 +571,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3699222,0.444629,7.8803541,4.5561352,78.1424159,19.6261175,30.1285039,62.2268775,27.1256668,38.123849,14.3331108,5.6747449,10.6681632,9.2313664,34.0665146,3.8116592,0.2629524,0.3324695,7.6407714,4.3087078,77.3287005,19.590306,29.8706714,61.9254554,27.7441019,39.5554722,14.9069896,5.3361353,10.3364272,9.2852581,32.8060824,3.6170213,0.3469079,0.3817148,7.764592,4.3903517,77.2938884,19.5298474,29.1601337,62.7088642,27.8306311,39.2665486,15.3685819,5.5281329,10.0141104,8.8834692,33.2745777,4.4117647,0.3814916,0.4234349,8.0657569,4.401223,76.6605939,19.2873319,29.1695764,62.639516,28.4624818,39.7057184,15.3574525,5.2308427,10.1820017,8.5724757,33.2514093,4.7717842,0.3911741,0.4046166,7.823281,4.3420187,76.8280971,19.5042384,28.4988666,63.5083428,27.82372,40.2437329,15.8161812,4.9343495,10.0843856,8.4096181,34.4987754,5.0438596 +572,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7750616,0.7661308,13.5565705,8.100271,47.557835,17.3555097,35.6262974,69.6317855,39.3797992,52.6609271,22.5785305,3.0555731,11.8907189,10.0035736,31.7884222,8.9743169,0.7014353,0.6924591,14.0303437,8.4779691,46.1735883,16.6783899,36.5966418,69.3913065,39.0376255,53.112365,22.5508626,3.2518256,11.8604359,10.4188698,32.4703255,8.4183249,0.8193421,0.8102803,14.0758022,8.5328931,46.1651481,16.3298862,37.3479052,68.5446738,38.8024698,52.5982423,22.6801301,3.5527538,11.381993,9.9506935,32.6799375,8.793924,0.8571017,0.8559955,14.2127201,8.8903102,44.8641585,15.8300678,37.4567494,68.7716288,38.5404318,52.6040694,22.7201438,3.7263873,11.0547866,9.7527842,32.6261374,8.8235341,0.8313577,0.813944,13.9292508,8.9121926,43.7772258,16.3237176,37.1489697,68.9551831,38.5995461,52.3577885,22.781852,3.8118718,11.3190766,9.8413492,32.1915937,10.5405405 +573,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7585423,0.7518408,8.3296703,4.1098901,73.7288136,20.4662104,32.1027634,64.8316062,30.246114,43.7176166,15.4792746,4.2080276,9.0361446,8.159164,34.9636217,3.8812785,0.6980498,0.691407,7.9852045,3.9817232,73.3895374,20.1571793,31.483069,65.2593228,31.0115731,43.9991427,16.0094299,3.8346187,9.16,8.6137821,33.9630225,4.2410714,0.6207723,0.6140653,7.6431718,3.7665198,72.9357798,20.5364807,30.8441558,65.1298701,31.017316,43.7445887,15.7792208,4.1324102,8.8351823,8.452381,33.0286169,3.3632287,0.5930806,0.5460944,7.2149123,3.75,72.1786492,20.330614,30.974026,65.2597403,31.3636364,44.004329,15.9090909,4.0025963,9.1307815,8.92,33.5336538,4.1125541,0.534188,0.506617,6.9469424,4.0242806,71.1624776,19.5181256,31.4088275,65.7824342,30.962996,43.357111,15.4926438,4.3894831,9.1986917,9.1468417,35.2674897,4.3981481 +574,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5870719,1.5870719,26.6923077,23,55.7936508,7.2629969,37.3839009,66.3312693,28.7151703,48.2198142,20.5108359,6.1145511,11.6459627,9.7826087,33.0721003,16.8103448,1.1995134,1.1995134,27.265745,23.5791091,57.0859873,6.3846154,38.299532,66.3806552,28.6271451,47.6599064,19.1107644,5.5382215,12.5,10.0308642,34.84375,17.2268908,1.2090559,1.2813102,28.2575758,23.4090909,58.1081081,5.5810398,40.0154799,67.5696594,29.1795666,46.3622291,18.0340557,5.1857585,13.0630631,9.7305389,34.3939394,16.015625,1.4691715,1.577553,30.2130898,24.7336377,58.8852989,5.6414219,39.9529042,67.8963893,28.6499215,46.0753532,17.9748823,5.2590267,13.5514019,9.4720497,34.6394984,17.0289855,1.6309524,1.7380952,30.6475904,24.7740964,59.2857143,5.7164634,38.0620155,67.5193798,29.6899225,44.4186047,16.6666667,4.5736434,13.2621951,9.5744681,35.4294479,15.248227 +575,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3922854,0.4234665,9.049282,5.8018398,40.6175109,16.0540826,34.9113888,68.2949689,37.0252136,49.1260938,19.3530389,3.9601243,9.6308338,9.2684501,27.0045498,2.464787,0.5161822,0.5476803,9.2921659,5.8952404,39.5823043,16.3372671,35.9893169,68.9873683,36.8136848,49.1574468,20.3075768,4.1358192,9.3910497,8.1726117,27.4492307,2.4822677,0.4870664,0.4902317,9.0301258,5.7722563,37.4596081,16.5541426,35.6600918,69.3458842,37.5653889,49.5667064,21.0051016,3.8286364,9.3716142,8.1328512,27.2086725,3.7162137,0.59522,0.5676903,9.1509267,5.9734602,35.8024708,16.8190674,35.4901408,69.710759,37.9672781,48.7000352,21.1987565,3.9430618,9.682849,8.5934023,28.201364,3.9285714,0.6222017,0.5939162,8.7846556,5.9737991,35.0615641,16.4421349,35.2221557,69.5636373,37.8470956,48.5616995,20.6070839,4.0451094,9.8012643,8.5974748,27.7329359,3.2374077 +576,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5160855,0.564005,8.1545955,5.0913318,59.7840846,15.3448255,33.4934539,66.666939,33.357504,43.7316923,18.613113,3.6874238,10.2140372,8.9433287,33.0335735,4.5130679,0.4873891,0.5496569,7.9942829,4.7823665,58.4595994,15.3778332,33.8163943,66.5632006,33.0425843,43.6191668,18.8667559,3.8021973,10.831467,9.3316041,32.5658255,4.5078559,0.4284321,0.4911773,7.8721371,4.6154108,57.3168468,15.0347827,33.4344717,66.4555484,33.3102874,43.867109,18.5001103,3.6964592,10.8984722,9.7926984,32.3116115,3.5139794,0.4800467,0.543302,7.9115038,4.6505747,56.9442936,15.0770375,33.5937496,66.3769539,34.0946677,44.4488821,19.0869223,3.8786843,10.6198936,9.4769176,33.2368159,3.4845062,0.5004428,0.5751785,7.8534083,4.5945597,55.6465061,15.4828863,34.1262968,66.504505,33.9722408,44.5384453,19.4232622,3.9859137,10.6466245,9.1035631,32.3228092,3.0128482 +577,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.530369,0.5391903,7.8840866,4.9146165,85.1050959,6.8366846,26.786944,62.6799636,28.281159,37.8072011,13.5794232,5.3393109,10.2643337,8.380459,38.6409868,3.3433509,0.5360668,0.5449468,8.0663813,5.072451,84.7044576,7.0602308,26.7735022,62.8599274,28.5246831,37.7989703,13.4796914,5.3757126,10.0959504,8.3668608,38.6794121,3.4883721,0.5291015,0.5337522,8.1078983,5.2109433,84.4310499,7.1231371,26.7173311,62.8470037,28.2971587,38.0342628,13.7031,5.2246446,10.6415949,8.8695915,38.2996148,3.5147392,0.5790905,0.5859515,8.053118,5.1896271,84.1981777,7.2294386,27.1227669,62.6506151,28.4817643,38.2629893,13.7898226,5.1910107,10.9628038,9.0937782,37.9826208,3.3747091,0.5619948,0.5623957,8.009687,5.1582241,84.0298387,7.2260276,27.6996676,62.9006465,28.3891562,38.1773232,13.8840798,5.2168002,10.8047601,9.1401336,37.7632501,2.909232 +578,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6441859,0.6496788,10.778905,5.9939151,56.1875562,17.7883806,32.8371576,68.1206876,36.3058621,46.1170371,20.9293607,4.051228,9.8033801,8.8085068,35.7794708,6.5299336,0.6869814,0.7126104,10.9798084,6.2240398,55.5542709,17.9173625,33.0819406,69.0608492,36.8120428,46.1508805,21.5211931,4.1401838,9.7250505,8.9608621,35.4677185,7.3585878,0.5964097,0.6492429,10.890759,6.3452579,54.6244895,18.1320248,33.8583152,69.1841354,36.9816337,45.7322955,21.9305216,4.2407009,9.9161469,9.5969399,35.8532814,8.0392724,0.5752195,0.6539246,10.801206,6.3061867,54.2026037,17.8197683,33.744089,68.9108316,37.2390832,45.5025123,22.0400634,4.1587481,9.8208006,9.5522813,35.4828866,8.167386,0.5657286,0.6453303,10.6693358,6.0374339,54.1038111,17.3529836,33.6938646,68.1681315,37.1165449,44.7287917,21.8099227,3.8745715,9.5125196,9.5598322,35.6500134,8.686437 +579,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8581454,0.8123109,13.3940515,8.0279209,50.153588,18.7260231,34.5750905,70.5663391,37.2766266,48.5617533,24.5096229,3.2899133,11.8986652,10.449641,36.6329734,11.2900239,0.9217819,0.8748373,13.7333968,8.4933546,49.7066618,18.3679301,35.6599037,70.9853405,38.4252208,48.9515206,25.3566606,3.3230012,11.9777365,10.6502307,35.9229517,11.5128928,0.7172308,0.710442,13.5601822,8.5493196,49.339515,18.3976762,36.3981476,71.5598647,39.2758336,49.0328707,26.0564351,3.1700012,12.2964204,10.2576648,35.7639026,11.6194319,0.6532737,0.6464259,12.5879574,8.0907155,47.2513258,18.5523454,36.4973744,71.2050222,40.0767869,49.2745605,26.2118505,3.1944313,12.2107406,10.4203951,34.5262356,10.4313845,0.6787539,0.6717852,12.3430204,8.2212431,46.3819703,19.1415972,36.845532,71.1888526,40.197285,49.0126499,26.2853599,3.0992114,11.7013277,10.5881995,34.2479158,10.5838103 +580,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9809262,1.0253388,17.0525211,12.5211907,23.5703511,21.610501,36.0352814,65.5632604,38.2150667,47.9886718,22.2840439,4.1833944,11.0462628,7.737241,30.9583443,13.9999888,0.9871916,1.0445376,17.2147317,12.7227908,25.0001167,20.938925,36.2955463,65.3744738,37.4928759,47.7542069,22.0760534,4.0138252,11.6025211,7.7049693,30.4439921,15.5302913,1.086752,1.1372524,17.1978636,12.6593657,26.2127571,20.8795288,35.849087,66.448894,37.6109464,46.9156795,21.8547455,4.0868798,12.0208357,8.1696852,30.9643049,16.6666543,1.0498626,1.1113786,17.5074619,13.1613709,27.5576359,20.4739414,35.8346968,66.2319592,37.0753153,46.1529903,22.3560777,4.2105121,12.3104045,8.721702,30.683711,13.6029412,1.0974998,1.1579262,17.5109303,13.2591438,28.6518971,20.5431586,35.8214447,66.8614009,38.1874868,47.329614,23.3181927,3.7104368,11.9395444,8.9457411,29.702175,14.5161384 +581,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8258003,0.8702448,11.1398163,6.9387105,55.0747882,17.181,33.725012,69.0810189,37.7586849,44.6685465,22.5359567,2.8235651,10.5425737,8.9064645,33.1611709,5.2197745,0.7888438,0.8343722,10.7155457,7.0676981,54.2654152,17.3643179,34.0452353,69.4723506,38.2806851,45.1364098,22.6669145,3.1765919,10.586994,8.7946744,34.0224405,5.1912568,0.8000332,0.8022269,11.0070695,7.2261453,53.680547,16.8215909,34.2428655,70.3830631,39.0133477,45.6993116,22.8225488,3.0899842,10.5795953,9.1450608,33.9048422,5.5851064,0.7928518,0.7950807,10.1722299,6.6558988,52.1553557,17.1000305,34.2528311,70.5334177,39.7332555,45.9079069,22.9996184,3.1969292,9.6180426,8.8214728,33.9260805,5.8659218,0.8216186,0.8297014,10.547992,6.9305107,51.5607855,16.1844516,33.3637928,69.7074824,39.1772938,45.0273945,22.2120483,3.0530156,9.290179,8.9734618,34.2068482,6.1827957 +582,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.9419012,1.0465099,12.9585411,8.7585575,30.8019413,17.2968932,34.6976214,67.7668234,42.6141863,48.9775092,25.0774998,3.7829253,12.7116835,11.2000705,34.800926,12.9807817,1.0364018,1.1291762,12.9634869,8.9255918,31.5139532,16.5450414,34.5291908,67.4831996,41.8300812,48.1808557,24.6280084,3.7754654,12.1738178,11.0731219,34.6735032,13.9423077,0.9843206,1.0297317,12.5659751,8.4175198,30.863616,16.207404,34.3724922,68.1335763,40.8124769,48.5244412,24.5447828,3.8573924,12.1282571,11.0482362,34.3471449,13.6792453,0.9964134,1.0075836,12.7792804,8.9240804,29.8606026,16.6530812,34.3170053,67.46007,40.7557089,48.5817671,24.9513053,3.7222922,11.6330138,11.4885129,34.3480528,14.3564072,1.0356237,1.0179722,13.7191495,9.5447777,29.7703343,16.6455257,34.1448282,67.9847851,40.5837283,48.2003261,25.5790739,4.2355831,11.4819146,11.2445552,34.6510519,11.9047392 +583,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3846392,0.3846392,10.2911022,7.1786794,83.1789084,9.3578005,29.7652094,65.2316294,26.4185206,41.9738854,11.780993,3.7016479,12.4133622,11.4390443,33.5369014,5.7691674,0.3221656,0.3176313,10.0942694,7.0272262,82.7170838,9.7741293,29.4670239,65.7261837,26.454344,42.4707815,11.6616125,3.5035176,11.9555584,11.4799069,32.415902,6.2498573,0.3450913,0.3405043,9.9897206,6.9707527,82.2194327,10.0308049,29.4836107,65.2839878,26.0757015,42.3236957,11.4457849,3.2529813,11.7516644,11.5040855,30.8356615,5.6755499,0.3121757,0.307561,9.5994449,6.5878686,81.9454057,9.9070669,29.0640646,66.1871795,26.6378085,42.6864506,11.3519132,3.4835332,11.1434714,10.6911465,30.2787988,5.0526955,0.3972213,0.3870419,9.7021683,6.5879182,80.4656521,10.5291262,28.8521309,66.3129461,27.2174269,42.9740585,11.6001158,4.0173902,11.3311867,11.7131241,30.9076191,4.6443349 +584,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9217819,0.8748373,13.7333968,8.4933546,49.7066618,18.3679301,35.6599037,70.9853405,38.4252208,48.9515206,25.3566606,3.3230012,11.9777365,10.6502307,35.9229517,11.5128928,0.7172308,0.710442,13.5601822,8.5493196,49.339515,18.3976762,36.3981476,71.5598647,39.2758336,49.0328707,26.0564351,3.1700012,12.2964204,10.2576648,35.7639026,11.6194319,0.6532737,0.6464259,12.5879574,8.0907155,47.2513258,18.5523454,36.4973744,71.2050222,40.0767869,49.2745605,26.2118505,3.1944313,12.2107406,10.4203951,34.5262356,10.4313845,0.6787539,0.6717852,12.3430204,8.2212431,46.3819703,19.1415972,36.845532,71.1888526,40.197285,49.0126499,26.2853599,3.0992114,11.7013277,10.5881995,34.2479158,10.5838103,0.7441796,0.7371429,12.5568002,8.1357466,46.9992018,18.5260992,36.1251989,70.5563824,38.723877,48.189997,25.5914414,2.9002757,12.3805893,10.2445603,35.5704634,9.5069284 +585,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3832584,0.3832584,7.6933362,4.432761,74.2807636,16.60589,27.8071317,63.5270849,29.9207413,39.9867868,17.3447849,7.0919172,9.3509651,7.8313279,37.5303348,4.4520558,0.3759162,0.3840722,7.329475,4.3041739,71.8169346,16.4181126,28.9331161,63.7557576,30.5578147,40.387217,17.3165482,7.3246682,9.0110478,7.5201234,37.4113576,5.1558765,0.4015109,0.4162751,7.4978498,4.3273285,70.5124507,16.0005551,29.9134511,64.0843104,30.8626447,39.5449401,17.1552245,7.3283083,9.860252,7.7102828,37.7609689,5.1122207,0.4293295,0.444612,7.5958645,4.439524,69.4744497,16.0439278,30.6749322,64.8543393,31.8575083,40.5393662,17.7531044,7.6002307,10.1947031,7.4566185,37.8887194,4.9242424,0.3711636,0.3867774,7.1921892,4.219218,67.6347884,16.3617866,30.9195045,64.7032904,31.8595695,40.7608658,17.8172752,7.975914,9.8438399,8.0771403,38.7921401,3.7662347 +586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3221656,0.3176313,10.0942694,7.0272262,82.7170838,9.7741293,29.4670239,65.7261837,26.454344,42.4707815,11.6616125,3.5035176,11.9555584,11.4799069,32.415902,6.2498573,0.3450913,0.3405043,9.9897206,6.9707527,82.2194327,10.0308049,29.4836107,65.2839878,26.0757015,42.3236957,11.4457849,3.2529813,11.7516644,11.5040855,30.8356615,5.6755499,0.3121757,0.307561,9.5994449,6.5878686,81.9454057,9.9070669,29.0640646,66.1871795,26.6378085,42.6864506,11.3519132,3.4835332,11.1434714,10.6911465,30.2787988,5.0526955,0.3972213,0.3870419,9.7021683,6.5879182,80.4656521,10.5291262,28.8521309,66.3129461,27.2174269,42.9740585,11.6001158,4.0173902,11.3311867,11.7131241,30.9076191,4.6443349,0.4805441,0.4703147,9.6033672,6.4999726,79.7682146,10.9973032,28.2540417,66.602472,27.6592572,43.1947185,11.6691605,4.111267,11.7433849,11.7356641,31.3371716,5.6751869 +587,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5161822,0.5476803,9.2921659,5.8952404,39.5823043,16.3372671,35.9893169,68.9873683,36.8136848,49.1574468,20.3075768,4.1358192,9.3910497,8.1726117,27.4492307,2.4822677,0.4870664,0.4902317,9.0301258,5.7722563,37.4596081,16.5541426,35.6600918,69.3458842,37.5653889,49.5667064,21.0051016,3.8286364,9.3716142,8.1328512,27.2086725,3.7162137,0.59522,0.5676903,9.1509267,5.9734602,35.8024708,16.8190674,35.4901408,69.710759,37.9672781,48.7000352,21.1987565,3.9430618,9.682849,8.5934023,28.201364,3.9285714,0.6222017,0.5939162,8.7846556,5.9737991,35.0615641,16.4421349,35.2221557,69.5636373,37.8470956,48.5616995,20.6070839,4.0451094,9.8012643,8.5974748,27.7329359,3.2374077,0.6658885,0.6376801,8.4226133,5.828107,33.9468474,16.778921,34.9999047,69.8385183,37.5030918,49.174318,20.9480196,4.3083926,9.1555322,8.1127888,27.4168561,3.3834561 +588,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3404017,0.329806,6.9225804,4.4169552,80.6372059,19.9712642,30.2908773,66.8658579,28.5460237,41.3408364,12.3909376,5.735043,11.4698899,9.0543968,34.9319419,3.9556837,0.3353134,0.3248761,6.7502992,4.2407821,78.4637159,20.5205965,29.6785903,66.6613092,29.4875506,40.8815514,12.7147923,5.9356767,11.0276648,8.972783,34.7339996,3.6277545,0.3629778,0.3622842,6.849085,4.2866157,76.241214,20.2291734,29.867063,67.1572626,29.9936373,41.6111984,13.4377488,6.2202934,11.1340847,9.5251745,35.4006226,2.8700863,0.4267129,0.433376,7.0424766,4.1680094,72.5112883,20.5827032,30.3502296,67.7859143,30.4144805,42.3681466,14.1548437,6.1535673,10.5154122,9.601619,35.208374,2.0123777,0.4750784,0.4819255,7.4942613,4.5752675,68.9993361,20.7162298,31.0975266,68.6057212,31.2953175,42.6004437,14.8154111,5.9492164,10.588584,9.8355304,34.6833386,2.4115717 +589,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2308423,1.0972185,20.9431441,16.9327415,33.3397892,19.019239,37.0080857,63.1708363,34.6850644,46.4445536,20.1054883,2.8846085,12.5624253,9.2648107,36.999665,18.209899,1.2269619,1.1026377,20.7997344,17.0294666,34.7421242,19.3373148,36.7723007,63.3620224,34.2680648,46.5308133,20.3912866,2.8872672,12.7041229,9.3298029,37.3577636,15.2173913,1.1309637,1.0472105,21.3665491,17.6693364,35.5048884,19.1299693,36.7242517,63.4130576,35.2315251,47.7803987,20.776959,3.2851297,13.1495663,9.8659939,37.1025193,14.4969822,1.2587205,1.1746858,21.5175304,17.3324813,36.1907799,19.0995136,37.4945234,63.5566588,35.1236774,47.992411,21.1112704,3.263478,13.4178255,10.0803654,37.0918878,15.0567699,1.0806006,1.0385656,22.2371169,17.9526364,38.0407278,19.1259543,37.1162131,64.0773551,35.1013197,48.3500154,21.1622208,3.4159985,13.2115874,10.007213,36.9626092,14.8044134 +590,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.913021,0.955606,18.9152123,14.9867242,33.2932547,15.9686386,35.4298357,67.5041789,33.5968472,51.712495,25.8969207,5.8994821,13.0452876,10.7701008,30.9054339,14.7058824,0.8266424,0.892529,19.2589531,15.1711671,33.8172037,15.9508529,35.9928297,67.3665945,33.8538356,51.196127,25.5303374,6.1091403,14.2575159,11.399255,32.4551473,16.7721519,0.8665042,0.9326541,20.2659772,15.9550138,34.1059163,16.5612706,35.2678193,67.831577,34.8887286,51.0918127,25.6919118,6.068745,14.5787986,11.5132611,32.1787963,16.2576687,0.7936738,0.8593393,20.7030266,16.4734573,34.7557189,15.818553,35.424376,67.9615053,34.9434804,50.0741376,25.4734666,6.1104577,14.4486868,11.470011,33.4162194,15.8682635,0.9377279,1.0013854,21.1742301,16.7827198,34.749675,16.2212066,35.8108723,67.9933549,34.9837151,50.611892,25.627249,6.1434363,15.2432494,11.8488127,35.2225836,16.8571429 +591,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3450913,0.3405043,9.9897206,6.9707527,82.2194327,10.0308049,29.4836107,65.2839878,26.0757015,42.3236957,11.4457849,3.2529813,11.7516644,11.5040855,30.8356615,5.6755499,0.3121757,0.307561,9.5994449,6.5878686,81.9454057,9.9070669,29.0640646,66.1871795,26.6378085,42.6864506,11.3519132,3.4835332,11.1434714,10.6911465,30.2787988,5.0526955,0.3972213,0.3870419,9.7021683,6.5879182,80.4656521,10.5291262,28.8521309,66.3129461,27.2174269,42.9740585,11.6001158,4.0173902,11.3311867,11.7131241,30.9076191,4.6443349,0.4805441,0.4703147,9.6033672,6.4999726,79.7682146,10.9973032,28.2540417,66.602472,27.6592572,43.1947185,11.6691605,4.111267,11.7433849,11.7356641,31.3371716,5.6751869,0.5671575,0.5512188,9.7367853,6.7192988,78.9883807,11.5889179,28.1774045,68.3338692,27.7857748,42.7378211,12.1931304,4.1829764,11.5926954,12.0469289,31.5419402,6.6086526 +592,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9871916,1.0445376,17.2147317,12.7227908,25.0001167,20.938925,36.2955463,65.3744738,37.4928759,47.7542069,22.0760534,4.0138252,11.6025211,7.7049693,30.4439921,15.5302913,1.086752,1.1372524,17.1978636,12.6593657,26.2127571,20.8795288,35.849087,66.448894,37.6109464,46.9156795,21.8547455,4.0868798,12.0208357,8.1696852,30.9643049,16.6666543,1.0498626,1.1113786,17.5074619,13.1613709,27.5576359,20.4739414,35.8346968,66.2319592,37.0753153,46.1529903,22.3560777,4.2105121,12.3104045,8.721702,30.683711,13.6029412,1.0974998,1.1579262,17.5109303,13.2591438,28.6518971,20.5431586,35.8214447,66.8614009,38.1874868,47.329614,23.3181927,3.7104368,11.9395444,8.9457411,29.702175,14.5161384,1.0132723,1.0824423,18.4422484,14.1973172,29.6619025,20.8215566,35.8311822,66.2069601,38.2188977,47.1227807,23.366351,3.7591473,12.5983083,9.3516784,30.3536182,16.8639153 +593,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0055369,0.9738777,17.911902,13.0464922,44.361574,19.0572462,32.3805962,69.8782006,35.5955375,47.3687133,25.1202085,2.1929415,12.9982704,11.8537548,40.4815729,18.5204696,0.7920958,0.7610267,18.003194,12.7481331,43.8935594,18.6739705,32.1248763,69.938048,35.2943757,47.3935623,24.2649315,2.0220262,12.9658266,12.2363605,41.6471544,18.7270096,1.1110286,1.1713022,19.1291482,13.422752,46.1146517,18.6001658,32.085822,68.315736,34.7273417,46.7416619,23.1623117,1.8245133,13.9888931,12.6648329,41.6802902,18.5471811,1.0760441,1.1344198,20.4976197,14.760756,46.3249006,17.8345762,31.1469409,66.6304782,34.7430878,45.1408845,22.801437,1.9565951,14.4772334,12.5844974,41.6302066,16.8414258,1.0357074,1.0944123,21.0152519,15.1946314,45.9970482,17.6893372,31.1849935,66.7736952,34.113745,45.0753947,22.8422511,2.3016723,14.466421,12.3451456,41.1720569,16.3136681 +594,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.594946,0.5134452,13.0066093,10.0000261,50.5367201,32.264512,30.2122345,68.8578038,35.9232816,41.2352521,17.7291006,4.8473548,15.840279,10.6648144,33.933387,5.8559877,0.6536742,0.511569,12.9388885,9.8179035,53.1415611,32.1847025,30.4088587,67.2163016,35.1586041,40.699457,16.8206489,4.9473079,15.3533336,11.580403,33.1061731,5.7018544,0.5993419,0.4556617,11.7063211,8.6639488,53.1584515,31.913477,29.4155418,66.0689148,34.9935192,39.3759927,16.1354497,4.5817463,15.0552011,12.3269191,33.472178,6.3727052,0.6219643,0.5612839,11.8984642,8.7775524,52.251556,31.1126032,28.1698168,66.9933816,34.8366447,40.5883614,17.0588074,4.5098688,15.6676521,12.7050916,33.928488,5.3399614,0.6812579,0.6196047,11.8385399,9.1930631,51.8893693,30.3170592,28.1248504,69.2152667,33.0452747,40.7582302,16.5559158,4.8538009,16.1601903,13.4349692,34.6796399,6.132278 +595,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7014353,0.6924591,14.0303437,8.4779691,46.1735883,16.6783899,36.5966418,69.3913065,39.0376255,53.112365,22.5508626,3.2518256,11.8604359,10.4188698,32.4703255,8.4183249,0.8193421,0.8102803,14.0758022,8.5328931,46.1651481,16.3298862,37.3479052,68.5446738,38.8024698,52.5982423,22.6801301,3.5527538,11.381993,9.9506935,32.6799375,8.793924,0.8571017,0.8559955,14.2127201,8.8903102,44.8641585,15.8300678,37.4567494,68.7716288,38.5404318,52.6040694,22.7201438,3.7263873,11.0547866,9.7527842,32.6261374,8.8235341,0.8313577,0.813944,13.9292508,8.9121926,43.7772258,16.3237176,37.1489697,68.9551831,38.5995461,52.3577885,22.781852,3.8118718,11.3190766,9.8413492,32.1915937,10.5405405,0.8687663,0.8621345,14.2583519,9.5462942,43.0593522,16.0505422,36.8357272,68.8394339,38.921152,51.813674,22.3951901,4.1128032,11.3112658,9.9728738,32.5449113,9.3582938 +596,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.086752,1.1372524,17.1978636,12.6593657,26.2127571,20.8795288,35.849087,66.448894,37.6109464,46.9156795,21.8547455,4.0868798,12.0208357,8.1696852,30.9643049,16.6666543,1.0498626,1.1113786,17.5074619,13.1613709,27.5576359,20.4739414,35.8346968,66.2319592,37.0753153,46.1529903,22.3560777,4.2105121,12.3104045,8.721702,30.683711,13.6029412,1.0974998,1.1579262,17.5109303,13.2591438,28.6518971,20.5431586,35.8214447,66.8614009,38.1874868,47.329614,23.3181927,3.7104368,11.9395444,8.9457411,29.702175,14.5161384,1.0132723,1.0824423,18.4422484,14.1973172,29.6619025,20.8215566,35.8311822,66.2069601,38.2188977,47.1227807,23.366351,3.7591473,12.5983083,9.3516784,30.3536182,16.8639153,1.0606385,1.0890902,18.5075336,14.2983466,31.2250024,20.3923798,35.4280757,66.7024267,37.9076173,47.6882785,23.2455869,4.0927143,12.923619,9.6151656,30.9987619,17.0391157 +597,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4870664,0.4902317,9.0301258,5.7722563,37.4596081,16.5541426,35.6600918,69.3458842,37.5653889,49.5667064,21.0051016,3.8286364,9.3716142,8.1328512,27.2086725,3.7162137,0.59522,0.5676903,9.1509267,5.9734602,35.8024708,16.8190674,35.4901408,69.710759,37.9672781,48.7000352,21.1987565,3.9430618,9.682849,8.5934023,28.201364,3.9285714,0.6222017,0.5939162,8.7846556,5.9737991,35.0615641,16.4421349,35.2221557,69.5636373,37.8470956,48.5616995,20.6070839,4.0451094,9.8012643,8.5974748,27.7329359,3.2374077,0.6658885,0.6376801,8.4226133,5.828107,33.9468474,16.778921,34.9999047,69.8385183,37.5030918,49.174318,20.9480196,4.3083926,9.1555322,8.1127888,27.4168561,3.3834561,0.7041549,0.6888505,8.5869591,5.8565552,32.8937155,16.7158934,35.37354,70.5455518,38.1401845,50.4913733,21.5731767,4.3655819,10.0108888,8.5674341,28.3716271,3.4883694 +598,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1995134,1.1995134,27.265745,23.5791091,57.0859873,6.3846154,38.299532,66.3806552,28.6271451,47.6599064,19.1107644,5.5382215,12.5,10.0308642,34.84375,17.2268908,1.2090559,1.2813102,28.2575758,23.4090909,58.1081081,5.5810398,40.0154799,67.5696594,29.1795666,46.3622291,18.0340557,5.1857585,13.0630631,9.7305389,34.3939394,16.015625,1.4691715,1.577553,30.2130898,24.7336377,58.8852989,5.6414219,39.9529042,67.8963893,28.6499215,46.0753532,17.9748823,5.2590267,13.5514019,9.4720497,34.6394984,17.0289855,1.6309524,1.7380952,30.6475904,24.7740964,59.2857143,5.7164634,38.0620155,67.5193798,29.6899225,44.4186047,16.6666667,4.5736434,13.2621951,9.5744681,35.4294479,15.248227,1.579836,1.6883743,33.0534351,27.2519084,60.3035144,6.558642,37.5981162,67.7394035,29.5918367,44.6624804,15.9340659,5.2590267,12.2727273,8.6102719,33.2826748,12.8289474 +599,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6365161,0.6519064,9.6702145,6.1579527,70.1818951,17.7477713,31.5330212,65.8938007,34.8307378,45.4008084,19.2372274,5.5084583,10.6653084,8.7039174,33.4263085,6.4053358,0.6210244,0.6046365,9.7787903,6.1884336,69.218111,18.3179637,31.5375366,66.2070639,34.8143058,45.3903107,18.919475,5.4632556,10.6856014,8.932677,33.3285191,6.6479401,0.6204291,0.6038363,9.6465117,6.0663611,68.1059276,18.530492,31.1083322,66.382062,35.0350909,45.6739645,19.3150676,5.596575,10.8438307,9.2024867,33.5308941,6.952381,0.5595618,0.5560108,9.7450568,6.1278588,66.1465926,18.8561935,31.364957,66.3162611,35.1586169,46.4607441,19.3721357,5.7355233,10.7574283,8.9135574,33.9459283,6.9200753,0.5743548,0.5755474,9.686558,6.1683598,64.7678787,18.8896791,32.4024258,66.0505498,34.4448461,46.5116271,19.7481067,5.5770198,10.3492833,8.7393709,34.5768907,6.4024338 +600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8193421,0.8102803,14.0758022,8.5328931,46.1651481,16.3298862,37.3479052,68.5446738,38.8024698,52.5982423,22.6801301,3.5527538,11.381993,9.9506935,32.6799375,8.793924,0.8571017,0.8559955,14.2127201,8.8903102,44.8641585,15.8300678,37.4567494,68.7716288,38.5404318,52.6040694,22.7201438,3.7263873,11.0547866,9.7527842,32.6261374,8.8235341,0.8313577,0.813944,13.9292508,8.9121926,43.7772258,16.3237176,37.1489697,68.9551831,38.5995461,52.3577885,22.781852,3.8118718,11.3190766,9.8413492,32.1915937,10.5405405,0.8687663,0.8621345,14.2583519,9.5462942,43.0593522,16.0505422,36.8357272,68.8394339,38.921152,51.813674,22.3951901,4.1128032,11.3112658,9.9728738,32.5449113,9.3582938,0.8716127,0.8827943,14.0853244,9.3250922,41.7165221,15.7581784,36.9353905,68.4580797,39.3791868,51.402792,22.7216711,4.1727564,11.7230997,10.0610847,31.8680801,11.2716828 +601,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2269619,1.1026377,20.7997344,17.0294666,34.7421242,19.3373148,36.7723007,63.3620224,34.2680648,46.5308133,20.3912866,2.8872672,12.7041229,9.3298029,37.3577636,15.2173913,1.1309637,1.0472105,21.3665491,17.6693364,35.5048884,19.1299693,36.7242517,63.4130576,35.2315251,47.7803987,20.776959,3.2851297,13.1495663,9.8659939,37.1025193,14.4969822,1.2587205,1.1746858,21.5175304,17.3324813,36.1907799,19.0995136,37.4945234,63.5566588,35.1236774,47.992411,21.1112704,3.263478,13.4178255,10.0803654,37.0918878,15.0567699,1.0806006,1.0385656,22.2371169,17.9526364,38.0407278,19.1259543,37.1162131,64.0773551,35.1013197,48.3500154,21.1622208,3.4159985,13.2115874,10.007213,36.9626092,14.8044134,1.1066832,1.0645087,21.116411,17.1801185,38.8572654,20.1139235,36.7220716,64.6150509,36.5850131,48.2019833,21.6947387,3.388666,13.5034479,10.0219693,36.781047,13.9999349 +602,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4192448,0.4341469,8.4409171,5.215596,75.825328,12.5600456,25.5222908,61.9743726,32.0795145,38.5394585,14.8584639,3.1586154,10.9168512,11.4860307,37.3913063,3.8724295,0.4731899,0.4879158,8.5936187,5.5347995,75.0985352,12.4817749,24.9728125,62.7149578,32.3995989,39.2550586,14.6541113,3.2550197,11.2107237,11.1839403,38.2408284,3.8186621,0.4460069,0.4611428,8.7895484,5.8564791,74.0975359,12.3365879,25.3141658,62.9583016,31.5435213,39.3354385,14.2092119,3.4241473,11.8630795,11.7243316,38.1567069,4.849675,0.5939033,0.5786788,8.6355918,5.4177129,73.6680706,12.8747563,24.5603136,63.2745928,32.1737795,39.0807467,14.949387,3.4497675,12.3335405,11.692867,37.8677855,4.6418724,0.5643565,0.5491895,8.5672782,5.244552,72.6563446,13.1233791,26.6767178,64.0349383,32.7429317,38.6440285,14.8141416,3.0412173,12.1926352,11.6775947,37.5513881,4.1026528 +603,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0498626,1.1113786,17.5074619,13.1613709,27.5576359,20.4739414,35.8346968,66.2319592,37.0753153,46.1529903,22.3560777,4.2105121,12.3104045,8.721702,30.683711,13.6029412,1.0974998,1.1579262,17.5109303,13.2591438,28.6518971,20.5431586,35.8214447,66.8614009,38.1874868,47.329614,23.3181927,3.7104368,11.9395444,8.9457411,29.702175,14.5161384,1.0132723,1.0824423,18.4422484,14.1973172,29.6619025,20.8215566,35.8311822,66.2069601,38.2188977,47.1227807,23.366351,3.7591473,12.5983083,9.3516784,30.3536182,16.8639153,1.0606385,1.0890902,18.5075336,14.2983466,31.2250024,20.3923798,35.4280757,66.7024267,37.9076173,47.6882785,23.2455869,4.0927143,12.923619,9.6151656,30.9987619,17.0391157,1.0247257,1.0526652,18.4006667,14.1124638,32.02766,19.4218968,35.8710544,66.9454463,37.6995036,47.6048866,22.9841281,3.9724037,13.2822417,9.9119693,32.3965926,16.8449288 +604,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7146022,0.7513292,12.2738387,8.0340292,59.2587513,18.9412314,35.3141112,66.3992759,38.387247,49.8640714,21.688877,3.5762873,10.5734704,9.2611406,32.9292788,9.2213001,0.6814965,0.7428523,11.7921967,7.7323666,57.5786919,19.5308104,35.679719,66.5545708,38.5598327,50.1885219,22.4091347,3.351284,10.5356906,9.2791061,32.8959753,10.2619953,0.7215895,0.7827615,12.2038792,7.9451612,56.272199,19.9919459,35.6339096,67.0732237,39.1985491,50.6701424,22.8758804,3.2028951,10.6528129,9.2038213,32.7646554,10.0427265,0.7531281,0.7834303,12.2468263,7.7369685,55.6617357,19.0430759,35.3509437,67.0158428,38.3704551,50.5849339,22.5924641,3.2236106,11.473285,9.9999671,33.3418423,9.6566524,0.855008,0.8541639,11.8181796,7.5033868,53.9434185,19.2024793,35.694798,67.0625792,38.0152363,50.8736635,22.372353,3.3715503,11.6487149,10.4305158,33.4792848,10.7798116 +605,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6869814,0.7126104,10.9798084,6.2240398,55.5542709,17.9173625,33.0819406,69.0608492,36.8120428,46.1508805,21.5211931,4.1401838,9.7250505,8.9608621,35.4677185,7.3585878,0.5964097,0.6492429,10.890759,6.3452579,54.6244895,18.1320248,33.8583152,69.1841354,36.9816337,45.7322955,21.9305216,4.2407009,9.9161469,9.5969399,35.8532814,8.0392724,0.5752195,0.6539246,10.801206,6.3061867,54.2026037,17.8197683,33.744089,68.9108316,37.2390832,45.5025123,22.0400634,4.1587481,9.8208006,9.5522813,35.4828866,8.167386,0.5657286,0.6453303,10.6693358,6.0374339,54.1038111,17.3529836,33.6938646,68.1681315,37.1165449,44.7287917,21.8099227,3.8745715,9.5125196,9.5598322,35.6500134,8.686437,0.5572206,0.6379214,10.2845341,5.948455,54.0861561,17.4613539,34.0340266,68.47169,37.2076921,44.8913498,22.3690957,3.8557682,8.8670366,8.9775877,35.6531341,8.8362793 +606,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.59522,0.5676903,9.1509267,5.9734602,35.8024708,16.8190674,35.4901408,69.710759,37.9672781,48.7000352,21.1987565,3.9430618,9.682849,8.5934023,28.201364,3.9285714,0.6222017,0.5939162,8.7846556,5.9737991,35.0615641,16.4421349,35.2221557,69.5636373,37.8470956,48.5616995,20.6070839,4.0451094,9.8012643,8.5974748,27.7329359,3.2374077,0.6658885,0.6376801,8.4226133,5.828107,33.9468474,16.778921,34.9999047,69.8385183,37.5030918,49.174318,20.9480196,4.3083926,9.1555322,8.1127888,27.4168561,3.3834561,0.7041549,0.6888505,8.5869591,5.8565552,32.8937155,16.7158934,35.37354,70.5455518,38.1401845,50.4913733,21.5731767,4.3655819,10.0108888,8.5674341,28.3716271,3.4883694,0.7679217,0.7525835,8.4280102,5.7652157,31.4351832,17.2007026,34.5047921,70.5657505,38.8535605,50.7869721,21.8042769,4.8376816,9.8211811,8.6304363,28.611491,3.5714286 +607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6222017,0.5939162,8.7846556,5.9737991,35.0615641,16.4421349,35.2221557,69.5636373,37.8470956,48.5616995,20.6070839,4.0451094,9.8012643,8.5974748,27.7329359,3.2374077,0.6658885,0.6376801,8.4226133,5.828107,33.9468474,16.778921,34.9999047,69.8385183,37.5030918,49.174318,20.9480196,4.3083926,9.1555322,8.1127888,27.4168561,3.3834561,0.7041549,0.6888505,8.5869591,5.8565552,32.8937155,16.7158934,35.37354,70.5455518,38.1401845,50.4913733,21.5731767,4.3655819,10.0108888,8.5674341,28.3716271,3.4883694,0.7679217,0.7525835,8.4280102,5.7652157,31.4351832,17.2007026,34.5047921,70.5657505,38.8535605,50.7869721,21.8042769,4.8376816,9.8211811,8.6304363,28.611491,3.5714286,0.7008483,0.6850309,8.6435019,5.9713466,30.4239933,16.5790833,34.0141592,70.2994707,39.3875205,51.0972773,21.5995248,4.9532869,9.3774032,8.7969,27.5373251,3.0172388 +608,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0364018,1.1291762,12.9634869,8.9255918,31.5139532,16.5450414,34.5291908,67.4831996,41.8300812,48.1808557,24.6280084,3.7754654,12.1738178,11.0731219,34.6735032,13.9423077,0.9843206,1.0297317,12.5659751,8.4175198,30.863616,16.207404,34.3724922,68.1335763,40.8124769,48.5244412,24.5447828,3.8573924,12.1282571,11.0482362,34.3471449,13.6792453,0.9964134,1.0075836,12.7792804,8.9240804,29.8606026,16.6530812,34.3170053,67.46007,40.7557089,48.5817671,24.9513053,3.7222922,11.6330138,11.4885129,34.3480528,14.3564072,1.0356237,1.0179722,13.7191495,9.5447777,29.7703343,16.6455257,34.1448282,67.9847851,40.5837283,48.2003261,25.5790739,4.2355831,11.4819146,11.2445552,34.6510519,11.9047392,1.0758448,1.0694073,13.975928,9.6440775,28.6282243,16.8968561,34.4937772,68.182679,40.8183767,48.9835056,25.6800033,4.3146189,11.1157137,10.9909896,35.7461901,10.267848 +609,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3759162,0.3840722,7.329475,4.3041739,71.8169346,16.4181126,28.9331161,63.7557576,30.5578147,40.387217,17.3165482,7.3246682,9.0110478,7.5201234,37.4113576,5.1558765,0.4015109,0.4162751,7.4978498,4.3273285,70.5124507,16.0005551,29.9134511,64.0843104,30.8626447,39.5449401,17.1552245,7.3283083,9.860252,7.7102828,37.7609689,5.1122207,0.4293295,0.444612,7.5958645,4.439524,69.4744497,16.0439278,30.6749322,64.8543393,31.8575083,40.5393662,17.7531044,7.6002307,10.1947031,7.4566185,37.8887194,4.9242424,0.3711636,0.3867774,7.1921892,4.219218,67.6347884,16.3617866,30.9195045,64.7032904,31.8595695,40.7608658,17.8172752,7.975914,9.8438399,8.0771403,38.7921401,3.7662347,0.3112227,0.3330547,7.3410192,4.4420186,66.9612342,15.8871456,30.7140647,64.3423905,31.6295335,40.5096102,17.7754053,8.1934729,9.8833842,7.9286151,38.0575148,2.5606476 +610,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2629524,0.3324695,7.6407714,4.3087078,77.3287005,19.590306,29.8706714,61.9254554,27.7441019,39.5554722,14.9069896,5.3361353,10.3364272,9.2852581,32.8060824,3.6170213,0.3469079,0.3817148,7.764592,4.3903517,77.2938884,19.5298474,29.1601337,62.7088642,27.8306311,39.2665486,15.3685819,5.5281329,10.0141104,8.8834692,33.2745777,4.4117647,0.3814916,0.4234349,8.0657569,4.401223,76.6605939,19.2873319,29.1695764,62.639516,28.4624818,39.7057184,15.3574525,5.2308427,10.1820017,8.5724757,33.2514093,4.7717842,0.3911741,0.4046166,7.823281,4.3420187,76.8280971,19.5042384,28.4988666,63.5083428,27.82372,40.2437329,15.8161812,4.9343495,10.0843856,8.4096181,34.4987754,5.0438596,0.4561223,0.4782829,7.433751,4.0914465,76.296936,20.0109594,28.7399614,63.5357054,27.6153759,40.4760173,15.9917988,4.7431724,10.2177547,8.8380786,33.9804201,5.8695652 +611,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5365973,1.5290073,23.5074761,19.8123567,35.1253503,17.1085116,30.9030823,64.3138907,33.9319022,45.1043853,19.8703622,2.6567158,12.7728933,11.7476082,38.1411583,16.5584308,1.5094964,1.5245063,23.9734586,20.0935902,35.348706,17.3607666,31.7047601,64.8057214,34.4472481,45.4671976,20.7740061,3.0121999,12.8616341,10.9526851,37.8865491,17.0807241,1.4295848,1.4952988,24.6648559,20.8379091,36.4964923,16.8168029,32.0081834,64.8947654,34.428697,44.8238345,21.0824003,2.9192611,12.6048729,10.3801784,38.319823,16.5697385,1.4295782,1.5166235,25.0842684,21.007741,36.951185,16.6525574,32.0629066,64.8104036,34.4225072,44.5227693,20.9157985,2.9027268,12.1736073,10.1567084,39.252839,17.0390871,1.4907838,1.5546513,25.8206984,21.1424955,37.5990527,16.0020085,32.2444034,65.023392,34.5989838,43.8369754,20.415732,2.5626842,13.389904,10.1160116,40.2618391,16.0526147 +612,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.720519,0.7385578,11.1341268,7.1449212,59.5873768,9.035285,30.0871867,70.0852649,40.558538,42.6757977,21.2732332,4.335122,9.8577423,8.3683174,36.3644694,6.5403431,0.765217,0.7951517,11.0205475,7.0292427,59.3114776,9.0780889,30.389268,70.3873003,40.4846173,42.6177125,21.0213314,4.4185584,9.3802481,8.0033637,35.7907582,6.3329312,0.7500056,0.7848448,10.8873765,6.9201557,58.8866512,8.8885596,30.2802941,70.4254041,40.5178403,42.2771037,20.907462,4.5075039,9.5593778,8.0306489,36.040756,6.1160151,0.7684198,0.8034309,10.8465859,7.0012086,58.0342666,8.7548234,29.850824,70.2492991,40.4335192,42.0854964,20.5096095,4.4203039,9.8315647,8.4641589,36.4769704,5.5697823,0.7417489,0.7643831,10.7618935,6.8857678,57.0290028,8.7513805,29.9705228,69.8871709,40.6739148,42.0867983,20.568202,4.4267123,9.9734272,8.5342716,37.0967728,5.1461245 +613,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7288658,0.753359,10.5869055,6.6696976,61.2729928,12.6517366,28.3306636,67.0131086,37.7371025,44.9398872,19.7341409,4.4180912,10.2018741,8.4454337,33.2077326,6.5502235,0.7732769,0.7981057,10.5852085,6.7769441,60.3407436,12.8595732,29.3822694,67.5839023,38.3301793,45.7893929,20.3107012,4.783163,10.009144,8.1733857,33.5938403,7.5886415,0.8300678,0.8552638,10.7446187,6.6863822,60.2279629,12.5545144,29.626924,67.2396242,37.772328,45.070882,20.0530984,4.8075463,9.6889679,8.4089003,33.9469342,6.5737743,0.8477648,0.877482,10.5658587,6.7105522,60.1883115,12.5132275,29.1942133,67.6600023,38.2144189,44.4800679,20.3232538,4.7725557,9.4675435,8.6624146,33.748551,5.7208723,0.7029585,0.7333262,10.3449405,6.7237685,59.6801703,12.7375597,29.7737206,67.6482093,38.3007311,44.0577207,19.7974209,4.8866117,9.5556089,8.5599024,32.1952204,4.025799 +614,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5360668,0.5449468,8.0663813,5.072451,84.7044576,7.0602308,26.7735022,62.8599274,28.5246831,37.7989703,13.4796914,5.3757126,10.0959504,8.3668608,38.6794121,3.4883721,0.5291015,0.5337522,8.1078983,5.2109433,84.4310499,7.1231371,26.7173311,62.8470037,28.2971587,38.0342628,13.7031,5.2246446,10.6415949,8.8695915,38.2996148,3.5147392,0.5790905,0.5859515,8.053118,5.1896271,84.1981777,7.2294386,27.1227669,62.6506151,28.4817643,38.2629893,13.7898226,5.1910107,10.9628038,9.0937782,37.9826208,3.3747091,0.5619948,0.5623957,8.009687,5.1582241,84.0298387,7.2260276,27.6996676,62.9006465,28.3891562,38.1773232,13.8840798,5.2168002,10.8047601,9.1401336,37.7632501,2.909232,0.5510453,0.5584973,8.157621,5.3085749,83.9093312,7.4779601,27.60566,62.6574828,28.3441173,38.0962865,13.8121073,5.2371265,10.9066268,9.3209005,37.6801048,3.0007726 +615,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.8266424,0.892529,19.2589531,15.1711671,33.8172037,15.9508529,35.9928297,67.3665945,33.8538356,51.196127,25.5303374,6.1091403,14.2575159,11.399255,32.4551473,16.7721519,0.8665042,0.9326541,20.2659772,15.9550138,34.1059163,16.5612706,35.2678193,67.831577,34.8887286,51.0918127,25.6919118,6.068745,14.5787986,11.5132611,32.1787963,16.2576687,0.7936738,0.8593393,20.7030266,16.4734573,34.7557189,15.818553,35.424376,67.9615053,34.9434804,50.0741376,25.4734666,6.1104577,14.4486868,11.470011,33.4162194,15.8682635,0.9377279,1.0013854,21.1742301,16.7827198,34.749675,16.2212066,35.8108723,67.9933549,34.9837151,50.611892,25.627249,6.1434363,15.2432494,11.8488127,35.2225836,16.8571429,1.0067117,1.1234575,21.6051994,17.3287199,34.7582227,16.3747668,35.7448181,66.8281947,34.7359145,50.6785035,24.9482547,6.3822018,15.7744984,11.9339924,35.5838445,16.0526316 +616,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3121757,0.307561,9.5994449,6.5878686,81.9454057,9.9070669,29.0640646,66.1871795,26.6378085,42.6864506,11.3519132,3.4835332,11.1434714,10.6911465,30.2787988,5.0526955,0.3972213,0.3870419,9.7021683,6.5879182,80.4656521,10.5291262,28.8521309,66.3129461,27.2174269,42.9740585,11.6001158,4.0173902,11.3311867,11.7131241,30.9076191,4.6443349,0.4805441,0.4703147,9.6033672,6.4999726,79.7682146,10.9973032,28.2540417,66.602472,27.6592572,43.1947185,11.6691605,4.111267,11.7433849,11.7356641,31.3371716,5.6751869,0.5671575,0.5512188,9.7367853,6.7192988,78.9883807,11.5889179,28.1774045,68.3338692,27.7857748,42.7378211,12.1931304,4.1829764,11.5926954,12.0469289,31.5419402,6.6086526,0.6330539,0.6092087,9.7125524,6.9425245,79.1025633,11.4271932,28.1579634,68.0525819,27.8772363,42.7544682,12.2984006,4.3333301,11.929901,12.929773,31.2835511,8.6304021 +617,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5964097,0.6492429,10.890759,6.3452579,54.6244895,18.1320248,33.8583152,69.1841354,36.9816337,45.7322955,21.9305216,4.2407009,9.9161469,9.5969399,35.8532814,8.0392724,0.5752195,0.6539246,10.801206,6.3061867,54.2026037,17.8197683,33.744089,68.9108316,37.2390832,45.5025123,22.0400634,4.1587481,9.8208006,9.5522813,35.4828866,8.167386,0.5657286,0.6453303,10.6693358,6.0374339,54.1038111,17.3529836,33.6938646,68.1681315,37.1165449,44.7287917,21.8099227,3.8745715,9.5125196,9.5598322,35.6500134,8.686437,0.5572206,0.6379214,10.2845341,5.948455,54.0861561,17.4613539,34.0340266,68.47169,37.2076921,44.8913498,22.3690957,3.8557682,8.8670366,8.9775877,35.6531341,8.8362793,0.6354071,0.7001146,9.9105194,6.0059294,53.9524394,17.3606945,33.7741786,68.7588432,38.2270426,44.8788085,22.9195596,3.993811,9.3881103,9.078969,35.9248278,8.1934081 +618,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7172308,0.710442,13.5601822,8.5493196,49.339515,18.3976762,36.3981476,71.5598647,39.2758336,49.0328707,26.0564351,3.1700012,12.2964204,10.2576648,35.7639026,11.6194319,0.6532737,0.6464259,12.5879574,8.0907155,47.2513258,18.5523454,36.4973744,71.2050222,40.0767869,49.2745605,26.2118505,3.1944313,12.2107406,10.4203951,34.5262356,10.4313845,0.6787539,0.6717852,12.3430204,8.2212431,46.3819703,19.1415972,36.845532,71.1888526,40.197285,49.0126499,26.2853599,3.0992114,11.7013277,10.5881995,34.2479158,10.5838103,0.7441796,0.7371429,12.5568002,8.1357466,46.9992018,18.5260992,36.1251989,70.5563824,38.723877,48.189997,25.5914414,2.9002757,12.3805893,10.2445603,35.5704634,9.5069284,0.7690097,0.7899338,12.3870578,8.1001574,47.024504,18.5192388,36.2104476,70.1422814,39.1112168,48.1813777,24.7467867,2.9236093,12.4780683,10.4185387,34.846356,6.9852993 +619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1917723,1.2193015,17.7148948,13.7206934,62.4779461,15.547462,33.6384953,63.3171665,33.0298729,37.9657102,19.0883646,4.6596493,11.7386929,10.5655134,39.9601827,12.9620716,1.2162699,1.1883894,18.0984165,13.970725,66.6165972,15.0676391,33.7983025,63.5659893,34.8174571,38.9310225,18.7562744,4.4401685,12.3147343,10.7097336,42.0859681,14.993699,1.3553663,1.2524556,17.8263571,13.9084616,69.2322568,15.8901599,33.2317039,64.1816473,34.9914049,39.1775258,19.2104979,4.2186256,12.8462267,10.7327929,42.5999647,14.3633766,1.3194833,1.1605359,17.7310668,14.0038679,72.5605787,15.2424437,32.3403532,64.3435039,35.2496622,37.7330471,19.6099659,4.3345341,13.7809707,10.7584712,42.6641173,15.4401365,1.2622398,1.1217627,17.1461788,13.4648032,75.2069454,14.7259202,31.7441078,65.943598,35.6361188,38.0655438,19.4476424,4.2274175,14.0835978,9.9667668,44.2237532,11.8591948 +620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4328827,0.4347191,8.5605223,5.2284006,71.4521266,11.2864814,30.3017528,65.2620834,29.3039192,42.2156732,15.3342162,12.6653018,10.781395,9.6874326,37.309113,3.9690726,0.3490002,0.3620065,8.4842193,5.2055308,70.3596147,11.3395245,31.0552553,65.3906991,29.533835,42.192061,15.6584705,12.6643117,11.1098411,10.1766904,36.9630413,4.2857143,0.3404351,0.3649671,8.460965,5.2484136,69.6845956,11.6337577,31.0628554,65.9923303,29.1202658,41.5800487,15.5345204,13.0351379,10.9466061,10.2009827,36.7349251,3.9356984,0.3485153,0.361913,8.1236579,5.0638538,68.9924924,11.7248696,31.8677886,66.1126455,28.6816346,41.5516793,15.5230815,13.1648251,11.2861187,10.3845229,36.6363786,3.5382831,0.3820991,0.3830683,7.9649985,5.0779278,68.0899025,11.8087009,32.4717402,66.1056789,29.3344305,41.7820396,15.6801734,13.3811744,11.1684272,10.1444058,36.821044,3.5178777 +621,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5752195,0.6539246,10.801206,6.3061867,54.2026037,17.8197683,33.744089,68.9108316,37.2390832,45.5025123,22.0400634,4.1587481,9.8208006,9.5522813,35.4828866,8.167386,0.5657286,0.6453303,10.6693358,6.0374339,54.1038111,17.3529836,33.6938646,68.1681315,37.1165449,44.7287917,21.8099227,3.8745715,9.5125196,9.5598322,35.6500134,8.686437,0.5572206,0.6379214,10.2845341,5.948455,54.0861561,17.4613539,34.0340266,68.47169,37.2076921,44.8913498,22.3690957,3.8557682,8.8670366,8.9775877,35.6531341,8.8362793,0.6354071,0.7001146,9.9105194,6.0059294,53.9524394,17.3606945,33.7741786,68.7588432,38.2270426,44.8788085,22.9195596,3.993811,9.3881103,9.078969,35.9248278,8.1934081,0.7542222,0.8024138,9.8914145,6.0107768,53.5859676,17.6788352,32.8348282,68.5072689,38.0066276,44.9117088,22.826347,4.1793908,10.0627782,9.3831341,36.6049821,6.8586256 +622,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4873891,0.5496569,7.9942829,4.7823665,58.4595994,15.3778332,33.8163943,66.5632006,33.0425843,43.6191668,18.8667559,3.8021973,10.831467,9.3316041,32.5658255,4.5078559,0.4284321,0.4911773,7.8721371,4.6154108,57.3168468,15.0347827,33.4344717,66.4555484,33.3102874,43.867109,18.5001103,3.6964592,10.8984722,9.7926984,32.3116115,3.5139794,0.4800467,0.543302,7.9115038,4.6505747,56.9442936,15.0770375,33.5937496,66.3769539,34.0946677,44.4488821,19.0869223,3.8786843,10.6198936,9.4769176,33.2368159,3.4845062,0.5004428,0.5751785,7.8534083,4.5945597,55.6465061,15.4828863,34.1262968,66.504505,33.9722408,44.5384453,19.4232622,3.9859137,10.6466245,9.1035631,32.3228092,3.0128482,0.4595211,0.507231,7.8761782,4.6048569,55.1842527,15.1277908,34.0211603,67.3890779,34.6099883,44.5112675,19.8398155,3.8592996,10.5002862,9.3483731,33.344333,2.5029361 +623,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2162699,1.1883894,18.0984165,13.970725,66.6165972,15.0676391,33.7983025,63.5659893,34.8174571,38.9310225,18.7562744,4.4401685,12.3147343,10.7097336,42.0859681,14.993699,1.3553663,1.2524556,17.8263571,13.9084616,69.2322568,15.8901599,33.2317039,64.1816473,34.9914049,39.1775258,19.2104979,4.2186256,12.8462267,10.7327929,42.5999647,14.3633766,1.3194833,1.1605359,17.7310668,14.0038679,72.5605787,15.2424437,32.3403532,64.3435039,35.2496622,37.7330471,19.6099659,4.3345341,13.7809707,10.7584712,42.6641173,15.4401365,1.2622398,1.1217627,17.1461788,13.4648032,75.2069454,14.7259202,31.7441078,65.943598,35.6361188,38.0655438,19.4476424,4.2274175,14.0835978,9.9667668,44.2237532,11.8591948,1.0342325,0.980716,16.9064547,13.5330907,76.8164079,15.088798,31.5505158,66.1362469,35.8949992,37.5117103,19.2669698,4.3719633,13.794741,8.8040295,42.8256723,12.6424879 +624,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0974998,1.1579262,17.5109303,13.2591438,28.6518971,20.5431586,35.8214447,66.8614009,38.1874868,47.329614,23.3181927,3.7104368,11.9395444,8.9457411,29.702175,14.5161384,1.0132723,1.0824423,18.4422484,14.1973172,29.6619025,20.8215566,35.8311822,66.2069601,38.2188977,47.1227807,23.366351,3.7591473,12.5983083,9.3516784,30.3536182,16.8639153,1.0606385,1.0890902,18.5075336,14.2983466,31.2250024,20.3923798,35.4280757,66.7024267,37.9076173,47.6882785,23.2455869,4.0927143,12.923619,9.6151656,30.9987619,17.0391157,1.0247257,1.0526652,18.4006667,14.1124638,32.02766,19.4218968,35.8710544,66.9454463,37.6995036,47.6048866,22.9841281,3.9724037,13.2822417,9.9119693,32.3965926,16.8449288,1.0823575,1.0721117,18.3661871,14.2026516,33.0627979,19.2723998,35.8793241,67.1402586,37.5526863,47.9741573,22.6326102,3.9620285,13.2794069,10.5690731,32.3700287,16.5816496 +625,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1309637,1.0472105,21.3665491,17.6693364,35.5048884,19.1299693,36.7242517,63.4130576,35.2315251,47.7803987,20.776959,3.2851297,13.1495663,9.8659939,37.1025193,14.4969822,1.2587205,1.1746858,21.5175304,17.3324813,36.1907799,19.0995136,37.4945234,63.5566588,35.1236774,47.992411,21.1112704,3.263478,13.4178255,10.0803654,37.0918878,15.0567699,1.0806006,1.0385656,22.2371169,17.9526364,38.0407278,19.1259543,37.1162131,64.0773551,35.1013197,48.3500154,21.1622208,3.4159985,13.2115874,10.007213,36.9626092,14.8044134,1.1066832,1.0645087,21.116411,17.1801185,38.8572654,20.1139235,36.7220716,64.6150509,36.5850131,48.2019833,21.6947387,3.388666,13.5034479,10.0219693,36.781047,13.9999349,1.1337246,1.1364907,21.8887861,17.5409793,40.1529165,20.0930444,36.9290392,64.970607,37.5634939,48.190892,21.4183194,3.2790575,13.1134313,10.4138713,35.4361799,16.2856758 +626,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8594817,0.8594817,13.6232052,8.6951571,50.969717,15.4726603,35.9513342,69.0695184,37.7375777,47.3930264,25.2337813,4.5711308,12.1875022,11.4042865,43.2371403,5.1075241,0.8847922,0.8961073,12.590469,8.1380403,50.1946979,15.214088,35.6844911,69.1125997,37.6033204,47.2984732,24.6259561,4.1247363,11.7455951,11.7455858,42.3831787,4.3352601,1.026144,1.0280655,13.3460216,8.6863098,49.6268222,15.0653389,35.2223139,69.2449227,37.6407941,46.70674,25.1882092,3.7820914,11.9296635,11.7283911,41.1567883,5.0595208,1.0471475,1.0585876,12.8360591,8.4098317,49.2946872,14.6129724,34.2344442,68.6637209,37.4067336,46.8276869,25.9335896,4.0446891,12.0570937,10.9960519,40.4477555,6.8627406,0.9890496,1.0004951,12.5493572,8.2023667,47.1934138,15.4294225,34.8553083,68.4746443,38.0890231,48.8072218,26.4794506,4.0024031,11.3139718,10.3584383,39.9017277,8.3333278 +627,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0132723,1.0824423,18.4422484,14.1973172,29.6619025,20.8215566,35.8311822,66.2069601,38.2188977,47.1227807,23.366351,3.7591473,12.5983083,9.3516784,30.3536182,16.8639153,1.0606385,1.0890902,18.5075336,14.2983466,31.2250024,20.3923798,35.4280757,66.7024267,37.9076173,47.6882785,23.2455869,4.0927143,12.923619,9.6151656,30.9987619,17.0391157,1.0247257,1.0526652,18.4006667,14.1124638,32.02766,19.4218968,35.8710544,66.9454463,37.6995036,47.6048866,22.9841281,3.9724037,13.2822417,9.9119693,32.3965926,16.8449288,1.0823575,1.0721117,18.3661871,14.2026516,33.0627979,19.2723998,35.8793241,67.1402586,37.5526863,47.9741573,22.6326102,3.9620285,13.2794069,10.5690731,32.3700287,16.5816496,1.0368787,1.0318056,18.8912296,14.6668897,33.8516214,19.5132073,36.2978529,67.2452987,37.5625514,49.332449,23.2611107,3.8533227,12.7432001,10.3600537,31.8379998,17.2820458 +628,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7888438,0.8343722,10.7155457,7.0676981,54.2654152,17.3643179,34.0452353,69.4723506,38.2806851,45.1364098,22.6669145,3.1765919,10.586994,8.7946744,34.0224405,5.1912568,0.8000332,0.8022269,11.0070695,7.2261453,53.680547,16.8215909,34.2428655,70.3830631,39.0133477,45.6993116,22.8225488,3.0899842,10.5795953,9.1450608,33.9048422,5.5851064,0.7928518,0.7950807,10.1722299,6.6558988,52.1553557,17.1000305,34.2528311,70.5334177,39.7332555,45.9079069,22.9996184,3.1969292,9.6180426,8.8214728,33.9260805,5.8659218,0.8216186,0.8297014,10.547992,6.9305107,51.5607855,16.1844516,33.3637928,69.7074824,39.1772938,45.0273945,22.2120483,3.0530156,9.290179,8.9734618,34.2068482,6.1827957,0.7586836,0.7533373,10.8210268,7.1479958,51.7904098,15.3916281,32.9834231,69.7053275,38.8765926,45.0644434,22.559846,3.1491703,8.8360495,8.5053338,34.1298046,6.0846496 +629,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4284321,0.4911773,7.8721371,4.6154108,57.3168468,15.0347827,33.4344717,66.4555484,33.3102874,43.867109,18.5001103,3.6964592,10.8984722,9.7926984,32.3116115,3.5139794,0.4800467,0.543302,7.9115038,4.6505747,56.9442936,15.0770375,33.5937496,66.3769539,34.0946677,44.4488821,19.0869223,3.8786843,10.6198936,9.4769176,33.2368159,3.4845062,0.5004428,0.5751785,7.8534083,4.5945597,55.6465061,15.4828863,34.1262968,66.504505,33.9722408,44.5384453,19.4232622,3.9859137,10.6466245,9.1035631,32.3228092,3.0128482,0.4595211,0.507231,7.8761782,4.6048569,55.1842527,15.1277908,34.0211603,67.3890779,34.6099883,44.5112675,19.8398155,3.8592996,10.5002862,9.3483731,33.344333,2.5029361,0.4584387,0.4976501,8.0336723,4.8784969,54.6935194,15.1844274,33.5913522,67.2943417,34.4900195,44.7679653,19.3205719,3.7907736,9.9722017,8.9964503,34.2424762,2.5251982 +630,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6210244,0.6046365,9.7787903,6.1884336,69.218111,18.3179637,31.5375366,66.2070639,34.8143058,45.3903107,18.919475,5.4632556,10.6856014,8.932677,33.3285191,6.6479401,0.6204291,0.6038363,9.6465117,6.0663611,68.1059276,18.530492,31.1083322,66.382062,35.0350909,45.6739645,19.3150676,5.596575,10.8438307,9.2024867,33.5308941,6.952381,0.5595618,0.5560108,9.7450568,6.1278588,66.1465926,18.8561935,31.364957,66.3162611,35.1586169,46.4607441,19.3721357,5.7355233,10.7574283,8.9135574,33.9459283,6.9200753,0.5743548,0.5755474,9.686558,6.1683598,64.7678787,18.8896791,32.4024258,66.0505498,34.4448461,46.5116271,19.7481067,5.5770198,10.3492833,8.7393709,34.5768907,6.4024338,0.5684906,0.5733284,9.8971801,6.2061741,64.4327679,18.3829775,33.1318491,66.5386447,33.9638343,45.8577131,19.1984606,5.609579,9.7948286,8.7208787,34.4242838,6.7021234 +631,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5291015,0.5337522,8.1078983,5.2109433,84.4310499,7.1231371,26.7173311,62.8470037,28.2971587,38.0342628,13.7031,5.2246446,10.6415949,8.8695915,38.2996148,3.5147392,0.5790905,0.5859515,8.053118,5.1896271,84.1981777,7.2294386,27.1227669,62.6506151,28.4817643,38.2629893,13.7898226,5.1910107,10.9628038,9.0937782,37.9826208,3.3747091,0.5619948,0.5623957,8.009687,5.1582241,84.0298387,7.2260276,27.6996676,62.9006465,28.3891562,38.1773232,13.8840798,5.2168002,10.8047601,9.1401336,37.7632501,2.909232,0.5510453,0.5584973,8.157621,5.3085749,83.9093312,7.4779601,27.60566,62.6574828,28.3441173,38.0962865,13.8121073,5.2371265,10.9066268,9.3209005,37.6801048,3.0007726,0.5276396,0.5334868,8.204139,5.3684175,83.8027259,7.625481,27.5796219,62.3436389,28.2653147,38.1657677,14.0387333,5.2737577,10.6949615,9.4319052,37.1549229,3.1028995 +632,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4800467,0.543302,7.9115038,4.6505747,56.9442936,15.0770375,33.5937496,66.3769539,34.0946677,44.4488821,19.0869223,3.8786843,10.6198936,9.4769176,33.2368159,3.4845062,0.5004428,0.5751785,7.8534083,4.5945597,55.6465061,15.4828863,34.1262968,66.504505,33.9722408,44.5384453,19.4232622,3.9859137,10.6466245,9.1035631,32.3228092,3.0128482,0.4595211,0.507231,7.8761782,4.6048569,55.1842527,15.1277908,34.0211603,67.3890779,34.6099883,44.5112675,19.8398155,3.8592996,10.5002862,9.3483731,33.344333,2.5029361,0.4584387,0.4976501,8.0336723,4.8784969,54.6935194,15.1844274,33.5913522,67.2943417,34.4900195,44.7679653,19.3205719,3.7907736,9.9722017,8.9964503,34.2424762,2.5251982,0.408717,0.419984,7.8944685,4.7691426,54.3334866,15.4877943,33.3769981,67.6040747,35.0898166,44.798462,19.4330152,4.042396,10.3954257,9.2731339,34.4274536,2.9431293 +633,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3553663,1.2524556,17.8263571,13.9084616,69.2322568,15.8901599,33.2317039,64.1816473,34.9914049,39.1775258,19.2104979,4.2186256,12.8462267,10.7327929,42.5999647,14.3633766,1.3194833,1.1605359,17.7310668,14.0038679,72.5605787,15.2424437,32.3403532,64.3435039,35.2496622,37.7330471,19.6099659,4.3345341,13.7809707,10.7584712,42.6641173,15.4401365,1.2622398,1.1217627,17.1461788,13.4648032,75.2069454,14.7259202,31.7441078,65.943598,35.6361188,38.0655438,19.4476424,4.2274175,14.0835978,9.9667668,44.2237532,11.8591948,1.0342325,0.980716,16.9064547,13.5330907,76.8164079,15.088798,31.5505158,66.1362469,35.8949992,37.5117103,19.2669698,4.3719633,13.794741,8.8040295,42.8256723,12.6424879,1.1796012,1.1259988,17.033946,13.8806309,77.7847393,14.8245423,31.5293598,65.5158096,34.833825,36.5697328,19.3470878,4.4928826,14.1689548,9.1309445,43.9184448,11.7835528 +634,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.765217,0.7951517,11.0205475,7.0292427,59.3114776,9.0780889,30.389268,70.3873003,40.4846173,42.6177125,21.0213314,4.4185584,9.3802481,8.0033637,35.7907582,6.3329312,0.7500056,0.7848448,10.8873765,6.9201557,58.8866512,8.8885596,30.2802941,70.4254041,40.5178403,42.2771037,20.907462,4.5075039,9.5593778,8.0306489,36.040756,6.1160151,0.7684198,0.8034309,10.8465859,7.0012086,58.0342666,8.7548234,29.850824,70.2492991,40.4335192,42.0854964,20.5096095,4.4203039,9.8315647,8.4641589,36.4769704,5.5697823,0.7417489,0.7643831,10.7618935,6.8857678,57.0290028,8.7513805,29.9705228,69.8871709,40.6739148,42.0867983,20.568202,4.4267123,9.9734272,8.5342716,37.0967728,5.1461245,0.7259609,0.7472461,10.6832206,6.8269939,56.8916691,8.8890009,29.725104,69.7251034,40.5238552,42.7126488,20.7520708,4.4450208,9.6421632,8.6060026,37.3420153,4.8324742 +635,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3972213,0.3870419,9.7021683,6.5879182,80.4656521,10.5291262,28.8521309,66.3129461,27.2174269,42.9740585,11.6001158,4.0173902,11.3311867,11.7131241,30.9076191,4.6443349,0.4805441,0.4703147,9.6033672,6.4999726,79.7682146,10.9973032,28.2540417,66.602472,27.6592572,43.1947185,11.6691605,4.111267,11.7433849,11.7356641,31.3371716,5.6751869,0.5671575,0.5512188,9.7367853,6.7192988,78.9883807,11.5889179,28.1774045,68.3338692,27.7857748,42.7378211,12.1931304,4.1829764,11.5926954,12.0469289,31.5419402,6.6086526,0.6330539,0.6092087,9.7125524,6.9425245,79.1025633,11.4271932,28.1579634,68.0525819,27.8772363,42.7544682,12.2984006,4.3333301,11.929901,12.929773,31.2835511,8.6304021,0.6788824,0.6688749,9.7684399,6.7169409,78.6625521,11.5632037,28.7376346,68.0436593,28.8447829,43.6159993,12.5358294,4.5958406,12.6367886,13.4586967,32.1282054,9.176685 +636,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3353134,0.3248761,6.7502992,4.2407821,78.4637159,20.5205965,29.6785903,66.6613092,29.4875506,40.8815514,12.7147923,5.9356767,11.0276648,8.972783,34.7339996,3.6277545,0.3629778,0.3622842,6.849085,4.2866157,76.241214,20.2291734,29.867063,67.1572626,29.9936373,41.6111984,13.4377488,6.2202934,11.1340847,9.5251745,35.4006226,2.8700863,0.4267129,0.433376,7.0424766,4.1680094,72.5112883,20.5827032,30.3502296,67.7859143,30.4144805,42.3681466,14.1548437,6.1535673,10.5154122,9.601619,35.208374,2.0123777,0.4750784,0.4819255,7.4942613,4.5752675,68.9993361,20.7162298,31.0975266,68.6057212,31.2953175,42.6004437,14.8154111,5.9492164,10.588584,9.8355304,34.6833386,2.4115717,0.582505,0.5895027,7.8788898,4.7674776,66.0956661,20.7903268,32.2292862,69.048348,30.5144817,42.4847912,14.3073205,6.2037399,11.0253452,10.2046767,33.4885779,2.5337795 +637,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5356582,0.5781791,10.2631153,6.6229956,46.4012121,13.515162,30.3783895,68.4683751,37.6324517,48.6120909,18.9263462,5.5067822,10.3855075,9.8929288,31.1158084,6.3461376,0.559503,0.6024845,10.6137334,7.1723624,45.4434115,13.0382534,30.3889316,68.4443791,38.1743315,47.8744019,19.3175353,5.6395918,10.9519016,10.8449592,31.9510089,7.5024842,0.5312135,0.5788797,10.6881158,7.0971799,45.2805883,13.278675,30.6372717,68.2338841,38.7404641,48.5474427,19.8049597,5.861489,10.4210546,10.2494407,32.0821091,9.1174135,0.4174974,0.4174974,10.6406984,7.1803087,43.881419,13.1528355,31.0757701,68.5734313,39.3339744,49.0211004,20.3742494,5.9289618,10.569464,10.0718365,32.7360819,8.8098015,0.4985404,0.4904548,10.9036218,7.2976996,42.2137088,13.1180416,30.8250896,68.4062939,39.0979304,48.0983287,20.7429594,6.0539943,10.7590964,9.5943596,33.1679446,9.1175232 +638,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7732769,0.7981057,10.5852085,6.7769441,60.3407436,12.8595732,29.3822694,67.5839023,38.3301793,45.7893929,20.3107012,4.783163,10.009144,8.1733857,33.5938403,7.5886415,0.8300678,0.8552638,10.7446187,6.6863822,60.2279629,12.5545144,29.626924,67.2396242,37.772328,45.070882,20.0530984,4.8075463,9.6889679,8.4089003,33.9469342,6.5737743,0.8477648,0.877482,10.5658587,6.7105522,60.1883115,12.5132275,29.1942133,67.6600023,38.2144189,44.4800679,20.3232538,4.7725557,9.4675435,8.6624146,33.748551,5.7208723,0.7029585,0.7333262,10.3449405,6.7237685,59.6801703,12.7375597,29.7737206,67.6482093,38.3007311,44.0577207,19.7974209,4.8866117,9.5556089,8.5599024,32.1952204,4.025799,0.6718096,0.6748825,10.1768941,6.6489144,59.5843232,12.5808965,29.0723352,67.2331947,37.3350473,43.9255465,19.8783344,4.7785898,10.087948,8.3594328,32.4074919,4.1129458 +639,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6658885,0.6376801,8.4226133,5.828107,33.9468474,16.778921,34.9999047,69.8385183,37.5030918,49.174318,20.9480196,4.3083926,9.1555322,8.1127888,27.4168561,3.3834561,0.7041549,0.6888505,8.5869591,5.8565552,32.8937155,16.7158934,35.37354,70.5455518,38.1401845,50.4913733,21.5731767,4.3655819,10.0108888,8.5674341,28.3716271,3.4883694,0.7679217,0.7525835,8.4280102,5.7652157,31.4351832,17.2007026,34.5047921,70.5657505,38.8535605,50.7869721,21.8042769,4.8376816,9.8211811,8.6304363,28.611491,3.5714286,0.7008483,0.6850309,8.6435019,5.9713466,30.4239933,16.5790833,34.0141592,70.2994707,39.3875205,51.0972773,21.5995248,4.9532869,9.3774032,8.7969,27.5373251,3.0172388,0.7122985,0.706359,8.8934814,6.3273846,28.9811162,16.370141,32.9684717,69.8442897,38.8317222,50.7818135,21.2507419,5.0985831,9.2148305,8.6898011,27.9223279,1.3761443 +640,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6814965,0.7428523,11.7921967,7.7323666,57.5786919,19.5308104,35.679719,66.5545708,38.5598327,50.1885219,22.4091347,3.351284,10.5356906,9.2791061,32.8959753,10.2619953,0.7215895,0.7827615,12.2038792,7.9451612,56.272199,19.9919459,35.6339096,67.0732237,39.1985491,50.6701424,22.8758804,3.2028951,10.6528129,9.2038213,32.7646554,10.0427265,0.7531281,0.7834303,12.2468263,7.7369685,55.6617357,19.0430759,35.3509437,67.0158428,38.3704551,50.5849339,22.5924641,3.2236106,11.473285,9.9999671,33.3418423,9.6566524,0.855008,0.8541639,11.8181796,7.5033868,53.9434185,19.2024793,35.694798,67.0625792,38.0152363,50.8736635,22.372353,3.3715503,11.6487149,10.4305158,33.4792848,10.7798116,0.8233547,0.826808,12.0094697,7.612022,53.0423931,19.4452095,36.1235637,67.677502,38.1917054,50.6847644,22.7361626,3.3398534,11.9819191,10.606042,33.3956826,10.2870764 +641,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4948802,0.509552,9.7511303,6.6289577,58.0713094,10.9020251,31.4055225,67.5959966,30.7142889,46.121342,16.8586846,3.0030711,10.5270657,9.8700986,31.4362759,7.7367454,0.4803633,0.4844559,9.3885138,6.4760598,56.3904882,10.6522735,31.286192,68.056361,31.3173482,45.4778234,17.3915802,2.8712143,10.6782811,9.7809716,31.3311743,7.5869024,0.5135882,0.5225291,9.1531931,6.2480514,55.0690537,10.2004035,31.0234058,68.0188737,32.0592017,45.7775539,17.9484557,2.7860545,10.3572742,9.8572395,30.6057394,7.5061932,0.6228992,0.6253042,9.1250247,6.2690608,53.9660472,9.8638082,31.0309928,67.951849,33.0020476,45.8931078,18.2806001,2.7143217,10.5330632,9.9393348,30.5577549,7.251746,0.6888882,0.6732919,9.1194075,6.4071024,52.9638848,9.8392009,31.5399176,67.9131954,33.3357988,45.8923571,18.4990819,2.8345998,10.668336,9.888907,30.6297357,7.9218989 +642,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4015109,0.4162751,7.4978498,4.3273285,70.5124507,16.0005551,29.9134511,64.0843104,30.8626447,39.5449401,17.1552245,7.3283083,9.860252,7.7102828,37.7609689,5.1122207,0.4293295,0.444612,7.5958645,4.439524,69.4744497,16.0439278,30.6749322,64.8543393,31.8575083,40.5393662,17.7531044,7.6002307,10.1947031,7.4566185,37.8887194,4.9242424,0.3711636,0.3867774,7.1921892,4.219218,67.6347884,16.3617866,30.9195045,64.7032904,31.8595695,40.7608658,17.8172752,7.975914,9.8438399,8.0771403,38.7921401,3.7662347,0.3112227,0.3330547,7.3410192,4.4420186,66.9612342,15.8871456,30.7140647,64.3423905,31.6295335,40.5096102,17.7754053,8.1934729,9.8833842,7.9286151,38.0575148,2.5606476,0.276286,0.2986095,7.0676445,4.3873659,66.1024958,16.1275419,31.1350132,65.1543524,32.1016459,41.050823,17.539754,8.0916775,9.5712578,7.5408857,38.5245911,2.7696801 +643,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8300678,0.8552638,10.7446187,6.6863822,60.2279629,12.5545144,29.626924,67.2396242,37.772328,45.070882,20.0530984,4.8075463,9.6889679,8.4089003,33.9469342,6.5737743,0.8477648,0.877482,10.5658587,6.7105522,60.1883115,12.5132275,29.1942133,67.6600023,38.2144189,44.4800679,20.3232538,4.7725557,9.4675435,8.6624146,33.748551,5.7208723,0.7029585,0.7333262,10.3449405,6.7237685,59.6801703,12.7375597,29.7737206,67.6482093,38.3007311,44.0577207,19.7974209,4.8866117,9.5556089,8.5599024,32.1952204,4.025799,0.6718096,0.6748825,10.1768941,6.6489144,59.5843232,12.5808965,29.0723352,67.2331947,37.3350473,43.9255465,19.8783344,4.7785898,10.087948,8.3594328,32.4074919,4.1129458,0.686355,0.6894317,9.9094023,6.5703495,58.9205629,12.9127068,29.1521032,67.8272584,37.8232315,43.9799119,20.0489037,5.241249,10.7933253,8.5165675,33.6253827,5.0421303 +644,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6532737,0.6464259,12.5879574,8.0907155,47.2513258,18.5523454,36.4973744,71.2050222,40.0767869,49.2745605,26.2118505,3.1944313,12.2107406,10.4203951,34.5262356,10.4313845,0.6787539,0.6717852,12.3430204,8.2212431,46.3819703,19.1415972,36.845532,71.1888526,40.197285,49.0126499,26.2853599,3.0992114,11.7013277,10.5881995,34.2479158,10.5838103,0.7441796,0.7371429,12.5568002,8.1357466,46.9992018,18.5260992,36.1251989,70.5563824,38.723877,48.189997,25.5914414,2.9002757,12.3805893,10.2445603,35.5704634,9.5069284,0.7690097,0.7899338,12.3870578,8.1001574,47.024504,18.5192388,36.2104476,70.1422814,39.1112168,48.1813777,24.7467867,2.9236093,12.4780683,10.4185387,34.846356,6.9852993,0.7412485,0.7695038,11.8569976,7.9881665,46.221486,18.8595873,35.5608302,70.3535609,38.7747428,48.3698305,24.4761331,2.6782108,11.2705882,9.8955119,34.9697707,6.967116 +645,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6787539,0.6717852,12.3430204,8.2212431,46.3819703,19.1415972,36.845532,71.1888526,40.197285,49.0126499,26.2853599,3.0992114,11.7013277,10.5881995,34.2479158,10.5838103,0.7441796,0.7371429,12.5568002,8.1357466,46.9992018,18.5260992,36.1251989,70.5563824,38.723877,48.189997,25.5914414,2.9002757,12.3805893,10.2445603,35.5704634,9.5069284,0.7690097,0.7899338,12.3870578,8.1001574,47.024504,18.5192388,36.2104476,70.1422814,39.1112168,48.1813777,24.7467867,2.9236093,12.4780683,10.4185387,34.846356,6.9852993,0.7412485,0.7695038,11.8569976,7.9881665,46.221486,18.8595873,35.5608302,70.3535609,38.7747428,48.3698305,24.4761331,2.6782108,11.2705882,9.8955119,34.9697707,6.967116,0.7146967,0.7431322,11.2953533,7.5681589,45.5129619,19.5409466,35.1213309,70.594762,38.1677139,47.1183014,23.7817483,2.6008925,11.8187494,10.2733552,35.0452253,6.7998096 +646,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7846693,0.7523432,11.1146128,6.958445,72.0144461,12.6173186,32.2494877,67.4520349,31.3965865,43.1450056,16.7057626,2.9317695,10.5042034,9.5001901,35.1960592,8.0736613,0.7445008,0.7017951,10.5146578,6.4859736,70.0762622,12.8240565,31.5795352,67.8632751,32.5225004,43.6669648,17.5632303,2.9682827,10.0364894,8.7601692,34.9979639,8.1944444,0.7292225,0.6840359,10.5080121,6.5451135,68.4675961,12.9042565,31.2473336,68.0013039,33.6088383,43.9351673,18.0227552,3.1451277,10.381948,8.9445834,34.3622134,7.3065903,0.6285162,0.5742435,10.3889208,6.5419554,66.7797133,13.0652661,31.5046559,67.6331247,33.6818212,44.0504481,18.333693,3.265791,10.8377292,9.5636252,34.8670729,7.6149691,0.6594706,0.6054644,10.4947317,6.5789444,65.6672661,13.0707059,31.7683955,67.7374367,34.1748901,44.7679536,18.8547354,3.3626988,10.8678089,9.7624798,35.0625601,7.7485673 +647,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2587205,1.1746858,21.5175304,17.3324813,36.1907799,19.0995136,37.4945234,63.5566588,35.1236774,47.992411,21.1112704,3.263478,13.4178255,10.0803654,37.0918878,15.0567699,1.0806006,1.0385656,22.2371169,17.9526364,38.0407278,19.1259543,37.1162131,64.0773551,35.1013197,48.3500154,21.1622208,3.4159985,13.2115874,10.007213,36.9626092,14.8044134,1.1066832,1.0645087,21.116411,17.1801185,38.8572654,20.1139235,36.7220716,64.6150509,36.5850131,48.2019833,21.6947387,3.388666,13.5034479,10.0219693,36.781047,13.9999349,1.1337246,1.1364907,21.8887861,17.5409793,40.1529165,20.0930444,36.9290392,64.970607,37.5634939,48.190892,21.4183194,3.2790575,13.1134313,10.4138713,35.4361799,16.2856758,1.2375978,1.2605483,21.376842,17.3938557,40.8920674,20.5010139,37.1848371,66.0536145,37.9817761,47.5173017,21.0431905,3.5698,13.9725142,11.4789437,36.8307227,14.843669 +648,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.5969902,0.617048,10.7615243,6.6392647,67.7913786,9.4051321,33.871035,65.6956316,38.4930886,43.3943973,23.1439896,4.1068915,10.3881762,8.9701394,39.3005937,5.0776571,0.594703,0.6058734,10.8081818,6.6811602,67.4455787,9.5419853,33.5579586,65.8493424,38.6243876,43.3658269,23.2530101,4.1822007,10.5433009,9.1859625,39.6197353,4.9418593,0.6053207,0.6177359,10.8435267,6.7730635,67.3787027,9.6895255,33.1936858,65.7520768,38.7283185,43.5852844,23.0092161,4.1745099,10.0434933,8.995839,39.3379055,4.3103438,0.5792208,0.5846087,11.027934,6.8848953,66.9086939,9.7925367,33.7093698,66.2163276,39.3917982,44.173639,23.3286826,4.1736297,10.2086194,8.9240828,39.5957417,4.5887935,0.5792187,0.5811135,11.0389484,6.9069291,66.2789118,10.1572285,33.6092994,66.0580544,39.842244,44.2984353,23.4969428,4.1072835,10.4911736,8.8319151,39.3606199,4.8619419 +649,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7920958,0.7610267,18.003194,12.7481331,43.8935594,18.6739705,32.1248763,69.938048,35.2943757,47.3935623,24.2649315,2.0220262,12.9658266,12.2363605,41.6471544,18.7270096,1.1110286,1.1713022,19.1291482,13.422752,46.1146517,18.6001658,32.085822,68.315736,34.7273417,46.7416619,23.1623117,1.8245133,13.9888931,12.6648329,41.6802902,18.5471811,1.0760441,1.1344198,20.4976197,14.760756,46.3249006,17.8345762,31.1469409,66.6304782,34.7430878,45.1408845,22.801437,1.9565951,14.4772334,12.5844974,41.6302066,16.8414258,1.0357074,1.0944123,21.0152519,15.1946314,45.9970482,17.6893372,31.1849935,66.7736952,34.113745,45.0753947,22.8422511,2.3016723,14.466421,12.3451456,41.1720569,16.3136681,1.0707899,1.1298105,21.8873101,16.2218048,45.0955316,17.8847533,33.0560692,65.9699511,33.6087469,45.289116,22.3928799,2.2308368,15.2670849,13.1391147,41.832248,15.4165797 +650,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6536742,0.511569,12.9388885,9.8179035,53.1415611,32.1847025,30.4088587,67.2163016,35.1586041,40.699457,16.8206489,4.9473079,15.3533336,11.580403,33.1061731,5.7018544,0.5993419,0.4556617,11.7063211,8.6639488,53.1584515,31.913477,29.4155418,66.0689148,34.9935192,39.3759927,16.1354497,4.5817463,15.0552011,12.3269191,33.472178,6.3727052,0.6219643,0.5612839,11.8984642,8.7775524,52.251556,31.1126032,28.1698168,66.9933816,34.8366447,40.5883614,17.0588074,4.5098688,15.6676521,12.7050916,33.928488,5.3399614,0.6812579,0.6196047,11.8385399,9.1930631,51.8893693,30.3170592,28.1248504,69.2152667,33.0452747,40.7582302,16.5559158,4.8538009,16.1601903,13.4349692,34.6796399,6.132278,0.4557582,0.3940289,11.9078118,9.4078397,51.1487348,31.5059155,28.6568403,70.1460662,31.5822859,41.1570397,17.0877727,5.1197625,14.498649,11.8207412,32.6502146,5.803701 +651,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1110286,1.1713022,19.1291482,13.422752,46.1146517,18.6001658,32.085822,68.315736,34.7273417,46.7416619,23.1623117,1.8245133,13.9888931,12.6648329,41.6802902,18.5471811,1.0760441,1.1344198,20.4976197,14.760756,46.3249006,17.8345762,31.1469409,66.6304782,34.7430878,45.1408845,22.801437,1.9565951,14.4772334,12.5844974,41.6302066,16.8414258,1.0357074,1.0944123,21.0152519,15.1946314,45.9970482,17.6893372,31.1849935,66.7736952,34.113745,45.0753947,22.8422511,2.3016723,14.466421,12.3451456,41.1720569,16.3136681,1.0707899,1.1298105,21.8873101,16.2218048,45.0955316,17.8847533,33.0560692,65.9699511,33.6087469,45.289116,22.3928799,2.2308368,15.2670849,13.1391147,41.832248,15.4165797,1.1358896,1.1911236,22.1448442,16.3176796,45.9084345,17.4263496,34.5899189,65.6466613,32.9580239,43.7862807,21.6159162,2.8906958,15.3355945,13.3030665,41.5268227,12.9120335 +652,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0806006,1.0385656,22.2371169,17.9526364,38.0407278,19.1259543,37.1162131,64.0773551,35.1013197,48.3500154,21.1622208,3.4159985,13.2115874,10.007213,36.9626092,14.8044134,1.1066832,1.0645087,21.116411,17.1801185,38.8572654,20.1139235,36.7220716,64.6150509,36.5850131,48.2019833,21.6947387,3.388666,13.5034479,10.0219693,36.781047,13.9999349,1.1337246,1.1364907,21.8887861,17.5409793,40.1529165,20.0930444,36.9290392,64.970607,37.5634939,48.190892,21.4183194,3.2790575,13.1134313,10.4138713,35.4361799,16.2856758,1.2375978,1.2605483,21.376842,17.3938557,40.8920674,20.5010139,37.1848371,66.0536145,37.9817761,47.5173017,21.0431905,3.5698,13.9725142,11.4789437,36.8307227,14.843669,1.2072496,1.2295591,21.3557084,17.4349143,41.9697679,20.5287218,37.653094,66.7166976,38.2141305,47.5580465,20.0923654,3.4818737,14.340445,11.7872516,36.9880318,16.0286354 +653,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0606385,1.0890902,18.5075336,14.2983466,31.2250024,20.3923798,35.4280757,66.7024267,37.9076173,47.6882785,23.2455869,4.0927143,12.923619,9.6151656,30.9987619,17.0391157,1.0247257,1.0526652,18.4006667,14.1124638,32.02766,19.4218968,35.8710544,66.9454463,37.6995036,47.6048866,22.9841281,3.9724037,13.2822417,9.9119693,32.3965926,16.8449288,1.0823575,1.0721117,18.3661871,14.2026516,33.0627979,19.2723998,35.8793241,67.1402586,37.5526863,47.9741573,22.6326102,3.9620285,13.2794069,10.5690731,32.3700287,16.5816496,1.0368787,1.0318056,18.8912296,14.6668897,33.8516214,19.5132073,36.2978529,67.2452987,37.5625514,49.332449,23.2611107,3.8533227,12.7432001,10.3600537,31.8379998,17.2820458,1.1597402,1.1446582,19.0487718,14.6875737,34.0432407,19.7814881,35.6211044,67.6708719,38.1945401,49.0602323,22.909549,3.7868885,12.6618317,10.1277485,30.7665757,17.3324522 +654,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.594703,0.6058734,10.8081818,6.6811602,67.4455787,9.5419853,33.5579586,65.8493424,38.6243876,43.3658269,23.2530101,4.1822007,10.5433009,9.1859625,39.6197353,4.9418593,0.6053207,0.6177359,10.8435267,6.7730635,67.3787027,9.6895255,33.1936858,65.7520768,38.7283185,43.5852844,23.0092161,4.1745099,10.0434933,8.995839,39.3379055,4.3103438,0.5792208,0.5846087,11.027934,6.8848953,66.9086939,9.7925367,33.7093698,66.2163276,39.3917982,44.173639,23.3286826,4.1736297,10.2086194,8.9240828,39.5957417,4.5887935,0.5792187,0.5811135,11.0389484,6.9069291,66.2789118,10.1572285,33.6092994,66.0580544,39.842244,44.2984353,23.4969428,4.1072835,10.4911736,8.8319151,39.3606199,4.8619419,0.6036753,0.6182527,10.974114,6.8839833,65.6353352,10.2416652,33.6200408,66.1671836,40.2304018,44.4192464,23.5594757,4.1934691,10.6798578,8.992466,39.9982643,5.0815539 +655,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8847922,0.8961073,12.590469,8.1380403,50.1946979,15.214088,35.6844911,69.1125997,37.6033204,47.2984732,24.6259561,4.1247363,11.7455951,11.7455858,42.3831787,4.3352601,1.026144,1.0280655,13.3460216,8.6863098,49.6268222,15.0653389,35.2223139,69.2449227,37.6407941,46.70674,25.1882092,3.7820914,11.9296635,11.7283911,41.1567883,5.0595208,1.0471475,1.0585876,12.8360591,8.4098317,49.2946872,14.6129724,34.2344442,68.6637209,37.4067336,46.8276869,25.9335896,4.0446891,12.0570937,10.9960519,40.4477555,6.8627406,0.9890496,1.0004951,12.5493572,8.2023667,47.1934138,15.4294225,34.8553083,68.4746443,38.0890231,48.8072218,26.4794506,4.0024031,11.3139718,10.3584383,39.9017277,8.3333278,0.9834822,0.9950372,12.3410491,8.0621248,47.577237,15.3691138,35.7720255,69.6065888,38.3862221,49.2263798,26.8623837,4.3481344,11.450938,9.1860883,40.4320127,7.770265 +656,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5094964,1.5245063,23.9734586,20.0935902,35.348706,17.3607666,31.7047601,64.8057214,34.4472481,45.4671976,20.7740061,3.0121999,12.8616341,10.9526851,37.8865491,17.0807241,1.4295848,1.4952988,24.6648559,20.8379091,36.4964923,16.8168029,32.0081834,64.8947654,34.428697,44.8238345,21.0824003,2.9192611,12.6048729,10.3801784,38.319823,16.5697385,1.4295782,1.5166235,25.0842684,21.007741,36.951185,16.6525574,32.0629066,64.8104036,34.4225072,44.5227693,20.9157985,2.9027268,12.1736073,10.1567084,39.252839,17.0390871,1.4907838,1.5546513,25.8206984,21.1424955,37.5990527,16.0020085,32.2444034,65.023392,34.5989838,43.8369754,20.415732,2.5626842,13.389904,10.1160116,40.2618391,16.0526147,1.4611049,1.5482568,25.5699137,20.6927673,38.014943,16.4633721,32.1141241,65.0505429,34.5244268,44.2637472,20.4323785,2.4812182,13.7284649,10.2062266,41.7387899,15.7458303 +657,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7500056,0.7848448,10.8873765,6.9201557,58.8866512,8.8885596,30.2802941,70.4254041,40.5178403,42.2771037,20.907462,4.5075039,9.5593778,8.0306489,36.040756,6.1160151,0.7684198,0.8034309,10.8465859,7.0012086,58.0342666,8.7548234,29.850824,70.2492991,40.4335192,42.0854964,20.5096095,4.4203039,9.8315647,8.4641589,36.4769704,5.5697823,0.7417489,0.7643831,10.7618935,6.8857678,57.0290028,8.7513805,29.9705228,69.8871709,40.6739148,42.0867983,20.568202,4.4267123,9.9734272,8.5342716,37.0967728,5.1461245,0.7259609,0.7472461,10.6832206,6.8269939,56.8916691,8.8890009,29.725104,69.7251034,40.5238552,42.7126488,20.7520708,4.4450208,9.6421632,8.6060026,37.3420153,4.8324742,0.6964773,0.7282001,10.4052594,6.8368413,56.6391855,9.0782239,29.5226633,69.7252999,40.3645239,42.7981954,20.7906764,4.5801119,9.8511164,8.6463988,36.1170512,4.7712418 +658,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4382551,0.4713546,9.765375,7.0931904,75.6194255,12.3132309,29.1657331,66.5963601,28.2338336,41.5020852,12.4805973,3.5833328,12.071208,10.2053848,33.018502,3.3019211,0.5511989,0.5805139,9.9934334,7.1694266,75.1705406,12.2423689,29.5271026,67.133556,28.5409818,41.8533988,12.7633445,3.5970589,12.1833449,10.3514084,33.5244653,2.7778077,0.5553546,0.5640666,9.6827767,6.8655514,74.7192399,11.6468694,30.045279,66.3533502,28.9127831,42.3442307,12.7859479,3.7485967,12.4574477,10.819447,33.582653,2.5951755,0.5910115,0.610097,9.5316918,6.5716612,73.375273,11.8634602,29.9143968,66.325128,29.2839168,42.7268036,13.56674,3.951827,12.2212883,11.1321049,33.1148286,3.0797347,0.6313294,0.6466071,9.015809,6.3008877,72.7453667,11.6958431,30.2991548,65.8112516,29.8158244,42.7732746,13.659364,4.246279,11.8945195,11.5516116,33.0818378,2.6978524 +659,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6413183,0.6306301,10.7489693,6.4956093,52.185896,15.0510399,36.4834949,67.636952,37.0610412,48.5328238,20.532233,3.4727664,11.7230051,11.1161639,31.7892074,6.3513175,0.6135018,0.5996284,10.4852428,6.1682804,49.0406301,14.672906,36.402017,68.2050289,37.4860266,48.8999917,21.0824298,3.4831846,11.1945055,10.8569038,31.8995231,4.7425165,0.5919144,0.5716161,10.0891573,5.9643366,46.3376771,14.8056077,36.2892854,68.3754793,37.3744279,49.1010302,20.8697728,3.5390359,11.1162922,10.3078516,31.9843919,4.5579822,0.6642898,0.6438663,10.1983377,6.2310125,44.0295026,14.5017881,36.2666952,68.4060837,37.5528625,49.0637863,20.7342868,3.3458171,10.8473131,10.1338858,31.961842,5.7746213,0.7093733,0.6938798,9.7617633,5.9311246,41.8028844,14.6379265,36.2588049,68.58338,37.7964524,49.5582783,20.947161,3.4271205,10.3744317,9.3681771,32.1013123,5.4895862 +660,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0661065,1.036228,23.5331448,19.6429208,34.9635156,20.6845665,35.3834644,67.5459843,34.3326224,47.9936793,22.0558377,3.169041,11.7291198,9.8116917,30.0305804,11.303998,0.9967259,0.9671331,23.6936341,19.8587843,36.3559377,20.3346508,34.8238338,68.075841,34.6884519,47.8207877,21.5689108,3.7827605,11.0242069,9.3733587,30.4042685,10.3369268,1.1940179,1.1940179,24.9296351,20.7332222,37.5024583,20.5122351,34.9032276,67.3365091,35.557878,47.2093137,21.6049626,4.6640736,11.3608532,10.0600438,30.0046621,11.4705136,1.4140593,1.5055884,26.3758232,22.0022182,38.3165423,19.8747844,35.5880099,67.0497224,34.7868786,47.3064416,21.3543535,4.9974794,11.8856796,9.7380698,30.2457419,12.0387238,1.3253778,1.3858147,26.9883181,22.3954583,39.0337474,19.9610044,36.3777728,67.1541451,34.6691591,46.3693314,20.7345265,4.9616849,13.679822,11.1697509,31.3506102,10.6768988 +661,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7215895,0.7827615,12.2038792,7.9451612,56.272199,19.9919459,35.6339096,67.0732237,39.1985491,50.6701424,22.8758804,3.2028951,10.6528129,9.2038213,32.7646554,10.0427265,0.7531281,0.7834303,12.2468263,7.7369685,55.6617357,19.0430759,35.3509437,67.0158428,38.3704551,50.5849339,22.5924641,3.2236106,11.473285,9.9999671,33.3418423,9.6566524,0.855008,0.8541639,11.8181796,7.5033868,53.9434185,19.2024793,35.694798,67.0625792,38.0152363,50.8736635,22.372353,3.3715503,11.6487149,10.4305158,33.4792848,10.7798116,0.8233547,0.826808,12.0094697,7.612022,53.0423931,19.4452095,36.1235637,67.677502,38.1917054,50.6847644,22.7361626,3.3398534,11.9819191,10.606042,33.3956826,10.2870764,0.9197999,0.8972543,12.4163895,7.7619832,52.7786116,19.3009486,37.0354929,68.0039689,37.9645008,49.7888727,22.5647418,3.2235321,11.9535653,10.8261116,34.374964,10.3864784 +662,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4082358,1.4082358,22.9831001,19.3621926,44.5860003,15.8650045,40.0286744,64.7068625,35.1286503,48.8922279,22.8489794,3.5620444,12.6863373,9.9696525,33.6699645,19.7132458,1.536493,1.536493,22.6961766,19.0326058,46.2100978,14.9152316,39.6236087,64.1092815,34.3977348,48.0548998,22.6286516,3.4272719,12.9967694,9.9427976,32.4342489,17.3026927,1.4890342,1.4890342,22.7572619,18.8543143,46.0322058,14.8594169,40.2707201,64.2213446,33.9461474,48.5702308,22.6431099,3.4136912,13.3880778,10.3131921,32.4752779,16.8780929,1.3583132,1.3982869,23.4446332,19.5532363,45.6380019,14.5273871,40.715641,65.0049247,34.2998187,48.03381,22.9014398,3.7234305,12.2980601,9.0785717,32.213668,17.7782385,1.248667,1.2883794,24.2026185,20.4161266,45.4994581,14.5522846,42.1099792,64.1408877,34.3344551,48.4685681,23.8662999,3.8208815,12.3459974,9.0787505,31.9956539,16.4736455 +663,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0247257,1.0526652,18.4006667,14.1124638,32.02766,19.4218968,35.8710544,66.9454463,37.6995036,47.6048866,22.9841281,3.9724037,13.2822417,9.9119693,32.3965926,16.8449288,1.0823575,1.0721117,18.3661871,14.2026516,33.0627979,19.2723998,35.8793241,67.1402586,37.5526863,47.9741573,22.6326102,3.9620285,13.2794069,10.5690731,32.3700287,16.5816496,1.0368787,1.0318056,18.8912296,14.6668897,33.8516214,19.5132073,36.2978529,67.2452987,37.5625514,49.332449,23.2611107,3.8533227,12.7432001,10.3600537,31.8379998,17.2820458,1.1597402,1.1446582,19.0487718,14.6875737,34.0432407,19.7814881,35.6211044,67.6708719,38.1945401,49.0602323,22.909549,3.7868885,12.6618317,10.1277485,30.7665757,17.3324522,1.1628494,1.1475224,19.4438592,15.039112,35.2083565,19.7655337,36.0776083,67.6519704,37.9343129,48.4587307,22.341304,4.165883,12.515605,9.9446646,31.6826532,16.8877904 +664,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4293295,0.444612,7.5958645,4.439524,69.4744497,16.0439278,30.6749322,64.8543393,31.8575083,40.5393662,17.7531044,7.6002307,10.1947031,7.4566185,37.8887194,4.9242424,0.3711636,0.3867774,7.1921892,4.219218,67.6347884,16.3617866,30.9195045,64.7032904,31.8595695,40.7608658,17.8172752,7.975914,9.8438399,8.0771403,38.7921401,3.7662347,0.3112227,0.3330547,7.3410192,4.4420186,66.9612342,15.8871456,30.7140647,64.3423905,31.6295335,40.5096102,17.7754053,8.1934729,9.8833842,7.9286151,38.0575148,2.5606476,0.276286,0.2986095,7.0676445,4.3873659,66.1024958,16.1275419,31.1350132,65.1543524,32.1016459,41.050823,17.539754,8.0916775,9.5712578,7.5408857,38.5245911,2.7696801,0.2502597,0.2799447,6.9681389,4.3611216,66.0895805,16.4190657,31.0069,65.4485629,31.5715113,40.3230892,16.5777917,7.7948586,9.542446,8.0060437,39.7761597,3.2208599 +665,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6135018,0.5996284,10.4852428,6.1682804,49.0406301,14.672906,36.402017,68.2050289,37.4860266,48.8999917,21.0824298,3.4831846,11.1945055,10.8569038,31.8995231,4.7425165,0.5919144,0.5716161,10.0891573,5.9643366,46.3376771,14.8056077,36.2892854,68.3754793,37.3744279,49.1010302,20.8697728,3.5390359,11.1162922,10.3078516,31.9843919,4.5579822,0.6642898,0.6438663,10.1983377,6.2310125,44.0295026,14.5017881,36.2666952,68.4060837,37.5528625,49.0637863,20.7342868,3.3458171,10.8473131,10.1338858,31.961842,5.7746213,0.7093733,0.6938798,9.7617633,5.9311246,41.8028844,14.6379265,36.2588049,68.58338,37.7964524,49.5582783,20.947161,3.4271205,10.3744317,9.3681771,32.1013123,5.4895862,0.7483154,0.7102719,9.6606115,5.8828372,40.0249905,15.1085674,35.9801008,69.0468643,37.8896239,49.88571,21.7643187,3.5335412,10.3389389,9.5824389,32.0219763,7.5153067 +666,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7445008,0.7017951,10.5146578,6.4859736,70.0762622,12.8240565,31.5795352,67.8632751,32.5225004,43.6669648,17.5632303,2.9682827,10.0364894,8.7601692,34.9979639,8.1944444,0.7292225,0.6840359,10.5080121,6.5451135,68.4675961,12.9042565,31.2473336,68.0013039,33.6088383,43.9351673,18.0227552,3.1451277,10.381948,8.9445834,34.3622134,7.3065903,0.6285162,0.5742435,10.3889208,6.5419554,66.7797133,13.0652661,31.5046559,67.6331247,33.6818212,44.0504481,18.333693,3.265791,10.8377292,9.5636252,34.8670729,7.6149691,0.6594706,0.6054644,10.4947317,6.5789444,65.6672661,13.0707059,31.7683955,67.7374367,34.1748901,44.7679536,18.8547354,3.3626988,10.8678089,9.7624798,35.0625601,7.7485673,0.624822,0.5905016,10.3634001,6.708216,64.5494155,12.8516969,32.3951248,68.225602,34.7067566,45.8369069,19.1245582,3.3711465,10.7498905,9.6922418,35.0260811,8.2172958 +667,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8477648,0.877482,10.5658587,6.7105522,60.1883115,12.5132275,29.1942133,67.6600023,38.2144189,44.4800679,20.3232538,4.7725557,9.4675435,8.6624146,33.748551,5.7208723,0.7029585,0.7333262,10.3449405,6.7237685,59.6801703,12.7375597,29.7737206,67.6482093,38.3007311,44.0577207,19.7974209,4.8866117,9.5556089,8.5599024,32.1952204,4.025799,0.6718096,0.6748825,10.1768941,6.6489144,59.5843232,12.5808965,29.0723352,67.2331947,37.3350473,43.9255465,19.8783344,4.7785898,10.087948,8.3594328,32.4074919,4.1129458,0.686355,0.6894317,9.9094023,6.5703495,58.9205629,12.9127068,29.1521032,67.8272584,37.8232315,43.9799119,20.0489037,5.241249,10.7933253,8.5165675,33.6253827,5.0421303,0.6803773,0.6843917,9.6487926,6.5769415,58.6335538,12.8988564,29.1876068,68.1802974,38.6127952,44.2175288,20.5353006,5.5562526,10.2688788,9.0527899,33.450555,5.2017793 +668,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.536493,1.536493,22.6961766,19.0326058,46.2100978,14.9152316,39.6236087,64.1092815,34.3977348,48.0548998,22.6286516,3.4272719,12.9967694,9.9427976,32.4342489,17.3026927,1.4890342,1.4890342,22.7572619,18.8543143,46.0322058,14.8594169,40.2707201,64.2213446,33.9461474,48.5702308,22.6431099,3.4136912,13.3880778,10.3131921,32.4752779,16.8780929,1.3583132,1.3982869,23.4446332,19.5532363,45.6380019,14.5273871,40.715641,65.0049247,34.2998187,48.03381,22.9014398,3.7234305,12.2980601,9.0785717,32.213668,17.7782385,1.248667,1.2883794,24.2026185,20.4161266,45.4994581,14.5522846,42.1099792,64.1408877,34.3344551,48.4685681,23.8662999,3.8208815,12.3459974,9.0787505,31.9956539,16.4736455,1.1107375,1.1905957,24.6112608,21.0003859,45.7813992,14.8246262,42.3747722,64.9276758,34.8962825,48.3671328,24.3300079,4.0910093,12.4911207,9.3155039,29.3255229,17.9951236 +669,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4803633,0.4844559,9.3885138,6.4760598,56.3904882,10.6522735,31.286192,68.056361,31.3173482,45.4778234,17.3915802,2.8712143,10.6782811,9.7809716,31.3311743,7.5869024,0.5135882,0.5225291,9.1531931,6.2480514,55.0690537,10.2004035,31.0234058,68.0188737,32.0592017,45.7775539,17.9484557,2.7860545,10.3572742,9.8572395,30.6057394,7.5061932,0.6228992,0.6253042,9.1250247,6.2690608,53.9660472,9.8638082,31.0309928,67.951849,33.0020476,45.8931078,18.2806001,2.7143217,10.5330632,9.9393348,30.5577549,7.251746,0.6888882,0.6732919,9.1194075,6.4071024,52.9638848,9.8392009,31.5399176,67.9131954,33.3357988,45.8923571,18.4990819,2.8345998,10.668336,9.888907,30.6297357,7.9218989,0.7299443,0.7311553,9.0119567,6.2874915,51.3830443,9.8110778,31.8002663,68.0732432,33.8354579,46.6627903,18.9728045,3.0214472,10.9383336,10.1004826,30.7425996,8.2892554 +670,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7441796,0.7371429,12.5568002,8.1357466,46.9992018,18.5260992,36.1251989,70.5563824,38.723877,48.189997,25.5914414,2.9002757,12.3805893,10.2445603,35.5704634,9.5069284,0.7690097,0.7899338,12.3870578,8.1001574,47.024504,18.5192388,36.2104476,70.1422814,39.1112168,48.1813777,24.7467867,2.9236093,12.4780683,10.4185387,34.846356,6.9852993,0.7412485,0.7695038,11.8569976,7.9881665,46.221486,18.8595873,35.5608302,70.3535609,38.7747428,48.3698305,24.4761331,2.6782108,11.2705882,9.8955119,34.9697707,6.967116,0.7146967,0.7431322,11.2953533,7.5681589,45.5129619,19.5409466,35.1213309,70.594762,38.1677139,47.1183014,23.7817483,2.6008925,11.8187494,10.2733552,35.0452253,6.7998096,0.7805275,0.8195058,11.5401464,7.6558664,43.5681834,20.2545124,34.9786253,70.1681058,38.1609327,47.4266555,23.28049,2.737659,11.6489722,9.7635607,35.4116576,6.1979834 +671,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3469079,0.3817148,7.764592,4.3903517,77.2938884,19.5298474,29.1601337,62.7088642,27.8306311,39.2665486,15.3685819,5.5281329,10.0141104,8.8834692,33.2745777,4.4117647,0.3814916,0.4234349,8.0657569,4.401223,76.6605939,19.2873319,29.1695764,62.639516,28.4624818,39.7057184,15.3574525,5.2308427,10.1820017,8.5724757,33.2514093,4.7717842,0.3911741,0.4046166,7.823281,4.3420187,76.8280971,19.5042384,28.4988666,63.5083428,27.82372,40.2437329,15.8161812,4.9343495,10.0843856,8.4096181,34.4987754,5.0438596,0.4561223,0.4782829,7.433751,4.0914465,76.296936,20.0109594,28.7399614,63.5357054,27.6153759,40.4760173,15.9917988,4.7431724,10.2177547,8.8380786,33.9804201,5.8695652,0.5432408,0.5656501,7.3175464,4.0178592,74.3624408,20.0264122,28.7371614,62.4001564,27.5580091,40.3765624,16.0707535,4.8117179,10.0654121,9.0809674,34.4638907,5.3418803 +672,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9967259,0.9671331,23.6936341,19.8587843,36.3559377,20.3346508,34.8238338,68.075841,34.6884519,47.8207877,21.5689108,3.7827605,11.0242069,9.3733587,30.4042685,10.3369268,1.1940179,1.1940179,24.9296351,20.7332222,37.5024583,20.5122351,34.9032276,67.3365091,35.557878,47.2093137,21.6049626,4.6640736,11.3608532,10.0600438,30.0046621,11.4705136,1.4140593,1.5055884,26.3758232,22.0022182,38.3165423,19.8747844,35.5880099,67.0497224,34.7868786,47.3064416,21.3543535,4.9974794,11.8856796,9.7380698,30.2457419,12.0387238,1.3253778,1.3858147,26.9883181,22.3954583,39.0337474,19.9610044,36.3777728,67.1541451,34.6691591,46.3693314,20.7345265,4.9616849,13.679822,11.1697509,31.3506102,10.6768988,1.2285355,1.2877313,27.0324003,22.337205,39.2278267,20.1048367,36.7741748,68.4758298,35.87699,47.0807301,22.2415865,5.0243627,13.8763919,11.8832097,30.4538485,11.9883236 +673,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4295848,1.4952988,24.6648559,20.8379091,36.4964923,16.8168029,32.0081834,64.8947654,34.428697,44.8238345,21.0824003,2.9192611,12.6048729,10.3801784,38.319823,16.5697385,1.4295782,1.5166235,25.0842684,21.007741,36.951185,16.6525574,32.0629066,64.8104036,34.4225072,44.5227693,20.9157985,2.9027268,12.1736073,10.1567084,39.252839,17.0390871,1.4907838,1.5546513,25.8206984,21.1424955,37.5990527,16.0020085,32.2444034,65.023392,34.5989838,43.8369754,20.415732,2.5626842,13.389904,10.1160116,40.2618391,16.0526147,1.4611049,1.5482568,25.5699137,20.6927673,38.014943,16.4633721,32.1141241,65.0505429,34.5244268,44.2637472,20.4323785,2.4812182,13.7284649,10.2062266,41.7387899,15.7458303,1.255898,1.3340991,25.950794,20.9172848,39.7261743,17.1831389,32.731263,65.1430454,35.1951511,44.522864,20.411755,2.7779239,14.1474048,10.5425641,40.4866572,14.4886199 +674,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4805441,0.4703147,9.6033672,6.4999726,79.7682146,10.9973032,28.2540417,66.602472,27.6592572,43.1947185,11.6691605,4.111267,11.7433849,11.7356641,31.3371716,5.6751869,0.5671575,0.5512188,9.7367853,6.7192988,78.9883807,11.5889179,28.1774045,68.3338692,27.7857748,42.7378211,12.1931304,4.1829764,11.5926954,12.0469289,31.5419402,6.6086526,0.6330539,0.6092087,9.7125524,6.9425245,79.1025633,11.4271932,28.1579634,68.0525819,27.8772363,42.7544682,12.2984006,4.3333301,11.929901,12.929773,31.2835511,8.6304021,0.6788824,0.6688749,9.7684399,6.7169409,78.6625521,11.5632037,28.7376346,68.0436593,28.8447829,43.6159993,12.5358294,4.5958406,12.6367886,13.4586967,32.1282054,9.176685,0.7014584,0.6774093,9.5892331,6.5610975,78.264787,11.5318535,28.6145663,68.5506526,28.7208019,44.2062398,12.9164409,4.624374,12.8579345,13.4219421,33.0473446,10.6158426 +675,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3629778,0.3622842,6.849085,4.2866157,76.241214,20.2291734,29.867063,67.1572626,29.9936373,41.6111984,13.4377488,6.2202934,11.1340847,9.5251745,35.4006226,2.8700863,0.4267129,0.433376,7.0424766,4.1680094,72.5112883,20.5827032,30.3502296,67.7859143,30.4144805,42.3681466,14.1548437,6.1535673,10.5154122,9.601619,35.208374,2.0123777,0.4750784,0.4819255,7.4942613,4.5752675,68.9993361,20.7162298,31.0975266,68.6057212,31.2953175,42.6004437,14.8154111,5.9492164,10.588584,9.8355304,34.6833386,2.4115717,0.582505,0.5895027,7.8788898,4.7674776,66.0956661,20.7903268,32.2292862,69.048348,30.5144817,42.4847912,14.3073205,6.2037399,11.0253452,10.2046767,33.4885779,2.5337795,0.5877171,0.6106894,8.0965474,4.8442311,62.6479205,21.0894942,32.0997862,69.2081783,30.6884658,42.18581,14.4750276,5.9035941,10.6848742,9.8792571,33.3440339,2.3297449 +676,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5919144,0.5716161,10.0891573,5.9643366,46.3376771,14.8056077,36.2892854,68.3754793,37.3744279,49.1010302,20.8697728,3.5390359,11.1162922,10.3078516,31.9843919,4.5579822,0.6642898,0.6438663,10.1983377,6.2310125,44.0295026,14.5017881,36.2666952,68.4060837,37.5528625,49.0637863,20.7342868,3.3458171,10.8473131,10.1338858,31.961842,5.7746213,0.7093733,0.6938798,9.7617633,5.9311246,41.8028844,14.6379265,36.2588049,68.58338,37.7964524,49.5582783,20.947161,3.4271205,10.3744317,9.3681771,32.1013123,5.4895862,0.7483154,0.7102719,9.6606115,5.8828372,40.0249905,15.1085674,35.9801008,69.0468643,37.8896239,49.88571,21.7643187,3.5335412,10.3389389,9.5824389,32.0219763,7.5153067,0.6716119,0.6482621,9.5008704,5.9125883,38.922871,15.4816577,35.3708788,68.8206832,38.4646305,49.925059,21.7481415,3.8340018,10.3281386,9.6334839,32.2473797,6.1782106 +677,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7292225,0.6840359,10.5080121,6.5451135,68.4675961,12.9042565,31.2473336,68.0013039,33.6088383,43.9351673,18.0227552,3.1451277,10.381948,8.9445834,34.3622134,7.3065903,0.6285162,0.5742435,10.3889208,6.5419554,66.7797133,13.0652661,31.5046559,67.6331247,33.6818212,44.0504481,18.333693,3.265791,10.8377292,9.5636252,34.8670729,7.6149691,0.6594706,0.6054644,10.4947317,6.5789444,65.6672661,13.0707059,31.7683955,67.7374367,34.1748901,44.7679536,18.8547354,3.3626988,10.8678089,9.7624798,35.0625601,7.7485673,0.624822,0.5905016,10.3634001,6.708216,64.5494155,12.8516969,32.3951248,68.225602,34.7067566,45.8369069,19.1245582,3.3711465,10.7498905,9.6922418,35.0260811,8.2172958,0.5967948,0.6016948,10.2707769,6.7801957,62.8469284,13.0761067,32.2818715,68.9585093,35.7035855,46.0757077,19.4931385,3.3682603,10.091918,8.8235225,34.0899696,8.9181475 +678,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7690097,0.7899338,12.3870578,8.1001574,47.024504,18.5192388,36.2104476,70.1422814,39.1112168,48.1813777,24.7467867,2.9236093,12.4780683,10.4185387,34.846356,6.9852993,0.7412485,0.7695038,11.8569976,7.9881665,46.221486,18.8595873,35.5608302,70.3535609,38.7747428,48.3698305,24.4761331,2.6782108,11.2705882,9.8955119,34.9697707,6.967116,0.7146967,0.7431322,11.2953533,7.5681589,45.5129619,19.5409466,35.1213309,70.594762,38.1677139,47.1183014,23.7817483,2.6008925,11.8187494,10.2733552,35.0452253,6.7998096,0.7805275,0.8195058,11.5401464,7.6558664,43.5681834,20.2545124,34.9786253,70.1681058,38.1609327,47.4266555,23.28049,2.737659,11.6489722,9.7635607,35.4116576,6.1979834,0.715693,0.7560094,11.9349663,8.0273407,43.502759,20.3115813,34.4548678,70.0965192,37.8450395,46.6106273,23.1720948,2.736249,11.5696121,9.5086313,36.4101794,5.7014043 +679,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7412485,0.7695038,11.8569976,7.9881665,46.221486,18.8595873,35.5608302,70.3535609,38.7747428,48.3698305,24.4761331,2.6782108,11.2705882,9.8955119,34.9697707,6.967116,0.7146967,0.7431322,11.2953533,7.5681589,45.5129619,19.5409466,35.1213309,70.594762,38.1677139,47.1183014,23.7817483,2.6008925,11.8187494,10.2733552,35.0452253,6.7998096,0.7805275,0.8195058,11.5401464,7.6558664,43.5681834,20.2545124,34.9786253,70.1681058,38.1609327,47.4266555,23.28049,2.737659,11.6489722,9.7635607,35.4116576,6.1979834,0.715693,0.7560094,11.9349663,8.0273407,43.502759,20.3115813,34.4548678,70.0965192,37.8450395,46.6106273,23.1720948,2.736249,11.5696121,9.5086313,36.4101794,5.7014043,0.646938,0.6891284,11.5573422,7.9103248,42.8682137,20.4359939,34.0870352,70.741658,39.018877,46.7466976,23.6656829,2.8217329,11.2747021,8.9300968,36.9713834,5.1883317 +680,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3490002,0.3620065,8.4842193,5.2055308,70.3596147,11.3395245,31.0552553,65.3906991,29.533835,42.192061,15.6584705,12.6643117,11.1098411,10.1766904,36.9630413,4.2857143,0.3404351,0.3649671,8.460965,5.2484136,69.6845956,11.6337577,31.0628554,65.9923303,29.1202658,41.5800487,15.5345204,13.0351379,10.9466061,10.2009827,36.7349251,3.9356984,0.3485153,0.361913,8.1236579,5.0638538,68.9924924,11.7248696,31.8677886,66.1126455,28.6816346,41.5516793,15.5230815,13.1648251,11.2861187,10.3845229,36.6363786,3.5382831,0.3820991,0.3830683,7.9649985,5.0779278,68.0899025,11.8087009,32.4717402,66.1056789,29.3344305,41.7820396,15.6801734,13.3811744,11.1684272,10.1444058,36.821044,3.5178777,0.3642383,0.3652211,7.6340325,4.9922312,66.7993739,11.6728322,32.7941767,65.8783353,29.5978835,41.5710818,15.8590042,13.4746726,11.0665684,9.7659125,36.868553,3.2467536 +681,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5135882,0.5225291,9.1531931,6.2480514,55.0690537,10.2004035,31.0234058,68.0188737,32.0592017,45.7775539,17.9484557,2.7860545,10.3572742,9.8572395,30.6057394,7.5061932,0.6228992,0.6253042,9.1250247,6.2690608,53.9660472,9.8638082,31.0309928,67.951849,33.0020476,45.8931078,18.2806001,2.7143217,10.5330632,9.9393348,30.5577549,7.251746,0.6888882,0.6732919,9.1194075,6.4071024,52.9638848,9.8392009,31.5399176,67.9131954,33.3357988,45.8923571,18.4990819,2.8345998,10.668336,9.888907,30.6297357,7.9218989,0.7299443,0.7311553,9.0119567,6.2874915,51.3830443,9.8110778,31.8002663,68.0732432,33.8354579,46.6627903,18.9728045,3.0214472,10.9383336,10.1004826,30.7425996,8.2892554,0.76698,0.7535315,9.1030298,6.4287698,50.2668382,9.5391763,31.5827339,68.0344638,34.371868,46.4374864,18.7997464,2.9566343,10.5900826,9.8234821,29.9907139,7.599799 +682,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0760441,1.1344198,20.4976197,14.760756,46.3249006,17.8345762,31.1469409,66.6304782,34.7430878,45.1408845,22.801437,1.9565951,14.4772334,12.5844974,41.6302066,16.8414258,1.0357074,1.0944123,21.0152519,15.1946314,45.9970482,17.6893372,31.1849935,66.7736952,34.113745,45.0753947,22.8422511,2.3016723,14.466421,12.3451456,41.1720569,16.3136681,1.0707899,1.1298105,21.8873101,16.2218048,45.0955316,17.8847533,33.0560692,65.9699511,33.6087469,45.289116,22.3928799,2.2308368,15.2670849,13.1391147,41.832248,15.4165797,1.1358896,1.1911236,22.1448442,16.3176796,45.9084345,17.4263496,34.5899189,65.6466613,32.9580239,43.7862807,21.6159162,2.8906958,15.3355945,13.3030665,41.5268227,12.9120335,1.0716409,1.0973966,22.2549284,16.7554049,46.9074525,17.1557835,34.8602355,64.1408142,32.5318709,43.2461964,21.6272986,3.0968758,14.9466791,12.242572,42.8630595,13.1968053 +683,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.026144,1.0280655,13.3460216,8.6863098,49.6268222,15.0653389,35.2223139,69.2449227,37.6407941,46.70674,25.1882092,3.7820914,11.9296635,11.7283911,41.1567883,5.0595208,1.0471475,1.0585876,12.8360591,8.4098317,49.2946872,14.6129724,34.2344442,68.6637209,37.4067336,46.8276869,25.9335896,4.0446891,12.0570937,10.9960519,40.4477555,6.8627406,0.9890496,1.0004951,12.5493572,8.2023667,47.1934138,15.4294225,34.8553083,68.4746443,38.0890231,48.8072218,26.4794506,4.0024031,11.3139718,10.3584383,39.9017277,8.3333278,0.9834822,0.9950372,12.3410491,8.0621248,47.577237,15.3691138,35.7720255,69.6065888,38.3862221,49.2263798,26.8623837,4.3481344,11.450938,9.1860883,40.4320127,7.770265,0.8253023,0.8368517,11.7364237,7.7288609,47.4918235,15.1670369,34.4198693,69.1962177,37.5659157,48.3469686,26.4748012,4.3458151,10.66535,8.7050947,38.5214598,7.6665949 +684,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3814916,0.4234349,8.0657569,4.401223,76.6605939,19.2873319,29.1695764,62.639516,28.4624818,39.7057184,15.3574525,5.2308427,10.1820017,8.5724757,33.2514093,4.7717842,0.3911741,0.4046166,7.823281,4.3420187,76.8280971,19.5042384,28.4988666,63.5083428,27.82372,40.2437329,15.8161812,4.9343495,10.0843856,8.4096181,34.4987754,5.0438596,0.4561223,0.4782829,7.433751,4.0914465,76.296936,20.0109594,28.7399614,63.5357054,27.6153759,40.4760173,15.9917988,4.7431724,10.2177547,8.8380786,33.9804201,5.8695652,0.5432408,0.5656501,7.3175464,4.0178592,74.3624408,20.0264122,28.7371614,62.4001564,27.5580091,40.3765624,16.0707535,4.8117179,10.0654121,9.0809674,34.4638907,5.3418803,0.5157231,0.5381561,7.2596336,4.0288069,73.4253463,19.7687543,28.6722642,62.0564725,27.3368992,40.0419642,15.2041275,5.0934781,10.0654121,9.1672801,34.8540105,4.468087 +685,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0823575,1.0721117,18.3661871,14.2026516,33.0627979,19.2723998,35.8793241,67.1402586,37.5526863,47.9741573,22.6326102,3.9620285,13.2794069,10.5690731,32.3700287,16.5816496,1.0368787,1.0318056,18.8912296,14.6668897,33.8516214,19.5132073,36.2978529,67.2452987,37.5625514,49.332449,23.2611107,3.8533227,12.7432001,10.3600537,31.8379998,17.2820458,1.1597402,1.1446582,19.0487718,14.6875737,34.0432407,19.7814881,35.6211044,67.6708719,38.1945401,49.0602323,22.909549,3.7868885,12.6618317,10.1277485,30.7665757,17.3324522,1.1628494,1.1475224,19.4438592,15.039112,35.2083565,19.7655337,36.0776083,67.6519704,37.9343129,48.4587307,22.341304,4.165883,12.515605,9.9446646,31.6826532,16.8877904,1.2187922,1.1620739,18.7954884,14.6390101,35.369744,19.2955762,36.8866302,68.7490307,38.737463,49.1361843,23.2335827,4.4197062,11.4699645,9.8032207,31.0560617,14.8599685 +686,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4731899,0.4879158,8.5936187,5.5347995,75.0985352,12.4817749,24.9728125,62.7149578,32.3995989,39.2550586,14.6541113,3.2550197,11.2107237,11.1839403,38.2408284,3.8186621,0.4460069,0.4611428,8.7895484,5.8564791,74.0975359,12.3365879,25.3141658,62.9583016,31.5435213,39.3354385,14.2092119,3.4241473,11.8630795,11.7243316,38.1567069,4.849675,0.5939033,0.5786788,8.6355918,5.4177129,73.6680706,12.8747563,24.5603136,63.2745928,32.1737795,39.0807467,14.949387,3.4497675,12.3335405,11.692867,37.8677855,4.6418724,0.5643565,0.5491895,8.5672782,5.244552,72.6563446,13.1233791,26.6767178,64.0349383,32.7429317,38.6440285,14.8141416,3.0412173,12.1926352,11.6775947,37.5513881,4.1026528,0.5249937,0.5093733,8.8821087,5.4223539,72.0875947,13.0677261,27.1776179,65.1913917,32.0919565,37.4375155,14.1357391,3.0699586,11.0811544,9.8285892,37.4209969,4.4652317 +687,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1940179,1.1940179,24.9296351,20.7332222,37.5024583,20.5122351,34.9032276,67.3365091,35.557878,47.2093137,21.6049626,4.6640736,11.3608532,10.0600438,30.0046621,11.4705136,1.4140593,1.5055884,26.3758232,22.0022182,38.3165423,19.8747844,35.5880099,67.0497224,34.7868786,47.3064416,21.3543535,4.9974794,11.8856796,9.7380698,30.2457419,12.0387238,1.3253778,1.3858147,26.9883181,22.3954583,39.0337474,19.9610044,36.3777728,67.1541451,34.6691591,46.3693314,20.7345265,4.9616849,13.679822,11.1697509,31.3506102,10.6768988,1.2285355,1.2877313,27.0324003,22.337205,39.2278267,20.1048367,36.7741748,68.4758298,35.87699,47.0807301,22.2415865,5.0243627,13.8763919,11.8832097,30.4538485,11.9883236,1.1823661,1.2412282,26.997749,22.3787712,39.8235887,19.3692046,37.45321,68.3634475,35.430052,46.7464836,21.7748937,4.8985653,14.3477645,12.2482054,31.8520696,12.784051 +688,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3711636,0.3867774,7.1921892,4.219218,67.6347884,16.3617866,30.9195045,64.7032904,31.8595695,40.7608658,17.8172752,7.975914,9.8438399,8.0771403,38.7921401,3.7662347,0.3112227,0.3330547,7.3410192,4.4420186,66.9612342,15.8871456,30.7140647,64.3423905,31.6295335,40.5096102,17.7754053,8.1934729,9.8833842,7.9286151,38.0575148,2.5606476,0.276286,0.2986095,7.0676445,4.3873659,66.1024958,16.1275419,31.1350132,65.1543524,32.1016459,41.050823,17.539754,8.0916775,9.5712578,7.5408857,38.5245911,2.7696801,0.2502597,0.2799447,6.9681389,4.3611216,66.0895805,16.4190657,31.0069,65.4485629,31.5715113,40.3230892,16.5777917,7.7948586,9.542446,8.0060437,39.7761597,3.2208599,0.3909765,0.4109366,6.9302206,4.4014103,65.5254039,16.6204554,31.4058604,65.5704535,31.5305425,39.4794212,16.6926424,8.1203282,9.5082961,7.872848,38.7298721,2.8273818 +689,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4267129,0.433376,7.0424766,4.1680094,72.5112883,20.5827032,30.3502296,67.7859143,30.4144805,42.3681466,14.1548437,6.1535673,10.5154122,9.601619,35.208374,2.0123777,0.4750784,0.4819255,7.4942613,4.5752675,68.9993361,20.7162298,31.0975266,68.6057212,31.2953175,42.6004437,14.8154111,5.9492164,10.588584,9.8355304,34.6833386,2.4115717,0.582505,0.5895027,7.8788898,4.7674776,66.0956661,20.7903268,32.2292862,69.048348,30.5144817,42.4847912,14.3073205,6.2037399,11.0253452,10.2046767,33.4885779,2.5337795,0.5877171,0.6106894,8.0965474,4.8442311,62.6479205,21.0894942,32.0997862,69.2081783,30.6884658,42.18581,14.4750276,5.9035941,10.6848742,9.8792571,33.3440339,2.3297449,0.5803641,0.5990903,8.3623159,5.0591105,59.7193008,20.8333726,31.8868106,70.0807517,31.7111787,43.0604049,14.3534859,5.9557085,10.4628733,9.052258,32.6244024,1.717554 +690,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5671575,0.5512188,9.7367853,6.7192988,78.9883807,11.5889179,28.1774045,68.3338692,27.7857748,42.7378211,12.1931304,4.1829764,11.5926954,12.0469289,31.5419402,6.6086526,0.6330539,0.6092087,9.7125524,6.9425245,79.1025633,11.4271932,28.1579634,68.0525819,27.8772363,42.7544682,12.2984006,4.3333301,11.929901,12.929773,31.2835511,8.6304021,0.6788824,0.6688749,9.7684399,6.7169409,78.6625521,11.5632037,28.7376346,68.0436593,28.8447829,43.6159993,12.5358294,4.5958406,12.6367886,13.4586967,32.1282054,9.176685,0.7014584,0.6774093,9.5892331,6.5610975,78.264787,11.5318535,28.6145663,68.5506526,28.7208019,44.2062398,12.9164409,4.624374,12.8579345,13.4219421,33.0473446,10.6158426,0.6591225,0.6348147,10.0315148,6.9503088,78.2584158,11.5399766,28.9013115,68.450262,28.8296478,44.5418866,13.6184431,4.4559431,12.3459538,13.0567344,32.1551028,11.7855375 +691,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5511989,0.5805139,9.9934334,7.1694266,75.1705406,12.2423689,29.5271026,67.133556,28.5409818,41.8533988,12.7633445,3.5970589,12.1833449,10.3514084,33.5244653,2.7778077,0.5553546,0.5640666,9.6827767,6.8655514,74.7192399,11.6468694,30.045279,66.3533502,28.9127831,42.3442307,12.7859479,3.7485967,12.4574477,10.819447,33.582653,2.5951755,0.5910115,0.610097,9.5316918,6.5716612,73.375273,11.8634602,29.9143968,66.325128,29.2839168,42.7268036,13.56674,3.951827,12.2212883,11.1321049,33.1148286,3.0797347,0.6313294,0.6466071,9.015809,6.3008877,72.7453667,11.6958431,30.2991548,65.8112516,29.8158244,42.7732746,13.659364,4.246279,11.8945195,11.5516116,33.0818378,2.6978524,0.6420252,0.6572412,9.1857305,6.6061101,71.9876022,11.6123496,30.5733177,66.2745282,30.4819079,43.9812597,14.4929385,4.5112131,11.132104,10.9401295,32.3379458,4.1367085 +692,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7531281,0.7834303,12.2468263,7.7369685,55.6617357,19.0430759,35.3509437,67.0158428,38.3704551,50.5849339,22.5924641,3.2236106,11.473285,9.9999671,33.3418423,9.6566524,0.855008,0.8541639,11.8181796,7.5033868,53.9434185,19.2024793,35.694798,67.0625792,38.0152363,50.8736635,22.372353,3.3715503,11.6487149,10.4305158,33.4792848,10.7798116,0.8233547,0.826808,12.0094697,7.612022,53.0423931,19.4452095,36.1235637,67.677502,38.1917054,50.6847644,22.7361626,3.3398534,11.9819191,10.606042,33.3956826,10.2870764,0.9197999,0.8972543,12.4163895,7.7619832,52.7786116,19.3009486,37.0354929,68.0039689,37.9645008,49.7888727,22.5647418,3.2235321,11.9535653,10.8261116,34.374964,10.3864784,1.0336571,1.015376,12.4336372,8.0978946,52.3101196,19.0294008,37.8267025,67.7414544,37.9971823,49.7017733,22.2584883,3.0539685,12.1930792,11.6348425,34.2205352,8.937211 +693,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0368787,1.0318056,18.8912296,14.6668897,33.8516214,19.5132073,36.2978529,67.2452987,37.5625514,49.332449,23.2611107,3.8533227,12.7432001,10.3600537,31.8379998,17.2820458,1.1597402,1.1446582,19.0487718,14.6875737,34.0432407,19.7814881,35.6211044,67.6708719,38.1945401,49.0602323,22.909549,3.7868885,12.6618317,10.1277485,30.7665757,17.3324522,1.1628494,1.1475224,19.4438592,15.039112,35.2083565,19.7655337,36.0776083,67.6519704,37.9343129,48.4587307,22.341304,4.165883,12.515605,9.9446646,31.6826532,16.8877904,1.2187922,1.1620739,18.7954884,14.6390101,35.369744,19.2955762,36.8866302,68.7490307,38.737463,49.1361843,23.2335827,4.4197062,11.4699645,9.8032207,31.0560617,14.8599685,1.2126174,1.1612934,19.1589815,15.200805,36.2137833,18.9390198,38.4667085,68.4489144,38.5250765,48.3994256,23.2620653,4.2933689,11.6060032,10.0571374,31.5246016,15.0664815 +694,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5004428,0.5751785,7.8534083,4.5945597,55.6465061,15.4828863,34.1262968,66.504505,33.9722408,44.5384453,19.4232622,3.9859137,10.6466245,9.1035631,32.3228092,3.0128482,0.4595211,0.507231,7.8761782,4.6048569,55.1842527,15.1277908,34.0211603,67.3890779,34.6099883,44.5112675,19.8398155,3.8592996,10.5002862,9.3483731,33.344333,2.5029361,0.4584387,0.4976501,8.0336723,4.8784969,54.6935194,15.1844274,33.5913522,67.2943417,34.4900195,44.7679653,19.3205719,3.7907736,9.9722017,8.9964503,34.2424762,2.5251982,0.408717,0.419984,7.8944685,4.7691426,54.3334866,15.4877943,33.3769981,67.6040747,35.0898166,44.798462,19.4330152,4.042396,10.3954257,9.2731339,34.4274536,2.9431293,0.451545,0.470051,8.2556,5.1621795,53.4829046,15.8982211,33.6466513,67.8590278,35.7879039,44.7943846,19.7147706,4.3707149,10.2183394,9.2431284,35.0815807,3.714059 +695,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7041549,0.6888505,8.5869591,5.8565552,32.8937155,16.7158934,35.37354,70.5455518,38.1401845,50.4913733,21.5731767,4.3655819,10.0108888,8.5674341,28.3716271,3.4883694,0.7679217,0.7525835,8.4280102,5.7652157,31.4351832,17.2007026,34.5047921,70.5657505,38.8535605,50.7869721,21.8042769,4.8376816,9.8211811,8.6304363,28.611491,3.5714286,0.7008483,0.6850309,8.6435019,5.9713466,30.4239933,16.5790833,34.0141592,70.2994707,39.3875205,51.0972773,21.5995248,4.9532869,9.3774032,8.7969,27.5373251,3.0172388,0.7122985,0.706359,8.8934814,6.3273846,28.9811162,16.370141,32.9684717,69.8442897,38.8317222,50.7818135,21.2507419,5.0985831,9.2148305,8.6898011,27.9223279,1.3761443,0.6440498,0.636589,8.7660702,5.9635669,27.99667,17.0507773,33.3375198,69.7323541,39.1446404,51.9234889,21.3909489,5.4871261,9.0203763,8.0017347,28.0035258,0.4545446 +696,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5790905,0.5859515,8.053118,5.1896271,84.1981777,7.2294386,27.1227669,62.6506151,28.4817643,38.2629893,13.7898226,5.1910107,10.9628038,9.0937782,37.9826208,3.3747091,0.5619948,0.5623957,8.009687,5.1582241,84.0298387,7.2260276,27.6996676,62.9006465,28.3891562,38.1773232,13.8840798,5.2168002,10.8047601,9.1401336,37.7632501,2.909232,0.5510453,0.5584973,8.157621,5.3085749,83.9093312,7.4779601,27.60566,62.6574828,28.3441173,38.0962865,13.8121073,5.2371265,10.9066268,9.3209005,37.6801048,3.0007726,0.5276396,0.5334868,8.204139,5.3684175,83.8027259,7.625481,27.5796219,62.3436389,28.2653147,38.1657677,14.0387333,5.2737577,10.6949615,9.4319052,37.1549229,3.1028995,0.535871,0.5479874,7.97297,5.2733558,83.4627434,7.6703024,27.1711091,62.3769315,28.171348,37.984024,13.7717414,5.4774183,10.5732841,9.3613856,37.2386251,3.7109291 +697,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3404351,0.3649671,8.460965,5.2484136,69.6845956,11.6337577,31.0628554,65.9923303,29.1202658,41.5800487,15.5345204,13.0351379,10.9466061,10.2009827,36.7349251,3.9356984,0.3485153,0.361913,8.1236579,5.0638538,68.9924924,11.7248696,31.8677886,66.1126455,28.6816346,41.5516793,15.5230815,13.1648251,11.2861187,10.3845229,36.6363786,3.5382831,0.3820991,0.3830683,7.9649985,5.0779278,68.0899025,11.8087009,32.4717402,66.1056789,29.3344305,41.7820396,15.6801734,13.3811744,11.1684272,10.1444058,36.821044,3.5178777,0.3642383,0.3652211,7.6340325,4.9922312,66.7993739,11.6728322,32.7941767,65.8783353,29.5978835,41.5710818,15.8590042,13.4746726,11.0665684,9.7659125,36.868553,3.2467536,0.3585108,0.3716565,7.4721034,4.8153569,65.4637063,11.7435168,32.3681457,65.8295791,30.0092778,40.9024701,15.5115312,13.4177043,11.1345044,9.7612547,36.5600754,2.9878052 +698,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0471475,1.0585876,12.8360591,8.4098317,49.2946872,14.6129724,34.2344442,68.6637209,37.4067336,46.8276869,25.9335896,4.0446891,12.0570937,10.9960519,40.4477555,6.8627406,0.9890496,1.0004951,12.5493572,8.2023667,47.1934138,15.4294225,34.8553083,68.4746443,38.0890231,48.8072218,26.4794506,4.0024031,11.3139718,10.3584383,39.9017277,8.3333278,0.9834822,0.9950372,12.3410491,8.0621248,47.577237,15.3691138,35.7720255,69.6065888,38.3862221,49.2263798,26.8623837,4.3481344,11.450938,9.1860883,40.4320127,7.770265,0.8253023,0.8368517,11.7364237,7.7288609,47.4918235,15.1670369,34.4198693,69.1962177,37.5659157,48.3469686,26.4748012,4.3458151,10.66535,8.7050947,38.5214598,7.6665949,0.789795,0.801361,11.6021389,7.6568891,46.8587533,15.1126409,34.1938565,69.2826589,37.6266467,49.7049646,26.4164506,4.1032634,10.1006507,8.3145396,38.858286,7.9860417 +699,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4890342,1.4890342,22.7572619,18.8543143,46.0322058,14.8594169,40.2707201,64.2213446,33.9461474,48.5702308,22.6431099,3.4136912,13.3880778,10.3131921,32.4752779,16.8780929,1.3583132,1.3982869,23.4446332,19.5532363,45.6380019,14.5273871,40.715641,65.0049247,34.2998187,48.03381,22.9014398,3.7234305,12.2980601,9.0785717,32.213668,17.7782385,1.248667,1.2883794,24.2026185,20.4161266,45.4994581,14.5522846,42.1099792,64.1408877,34.3344551,48.4685681,23.8662999,3.8208815,12.3459974,9.0787505,31.9956539,16.4736455,1.1107375,1.1905957,24.6112608,21.0003859,45.7813992,14.8246262,42.3747722,64.9276758,34.8962825,48.3671328,24.3300079,4.0910093,12.4911207,9.3155039,29.3255229,17.9951236,1.1909336,1.2518661,25.3839997,21.6068541,46.9189818,14.0947926,41.2142795,65.4894284,34.3045559,47.3967178,23.3214463,3.4522795,12.7737358,9.3201722,28.5822747,18.9387118 +700,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.9843206,1.0297317,12.5659751,8.4175198,30.863616,16.207404,34.3724922,68.1335763,40.8124769,48.5244412,24.5447828,3.8573924,12.1282571,11.0482362,34.3471449,13.6792453,0.9964134,1.0075836,12.7792804,8.9240804,29.8606026,16.6530812,34.3170053,67.46007,40.7557089,48.5817671,24.9513053,3.7222922,11.6330138,11.4885129,34.3480528,14.3564072,1.0356237,1.0179722,13.7191495,9.5447777,29.7703343,16.6455257,34.1448282,67.9847851,40.5837283,48.2003261,25.5790739,4.2355831,11.4819146,11.2445552,34.6510519,11.9047392,1.0758448,1.0694073,13.975928,9.6440775,28.6282243,16.8968561,34.4937772,68.182679,40.8183767,48.9835056,25.6800033,4.3146189,11.1157137,10.9909896,35.7461901,10.267848,1.0716416,1.0793508,14.4862501,10.2006472,27.7924601,16.5497156,33.8226422,67.8515326,40.9291548,49.2069002,25.6780881,4.1401758,11.1553293,10.2593175,36.5139725,9.2920272 +701,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6053207,0.6177359,10.8435267,6.7730635,67.3787027,9.6895255,33.1936858,65.7520768,38.7283185,43.5852844,23.0092161,4.1745099,10.0434933,8.995839,39.3379055,4.3103438,0.5792208,0.5846087,11.027934,6.8848953,66.9086939,9.7925367,33.7093698,66.2163276,39.3917982,44.173639,23.3286826,4.1736297,10.2086194,8.9240828,39.5957417,4.5887935,0.5792187,0.5811135,11.0389484,6.9069291,66.2789118,10.1572285,33.6092994,66.0580544,39.842244,44.2984353,23.4969428,4.1072835,10.4911736,8.8319151,39.3606199,4.8619419,0.6036753,0.6182527,10.974114,6.8839833,65.6353352,10.2416652,33.6200408,66.1671836,40.2304018,44.4192464,23.5594757,4.1934691,10.6798578,8.992466,39.9982643,5.0815539,0.636724,0.6478695,11.2491533,6.9899118,65.0908271,10.2612807,33.5532582,66.1097088,40.2548885,44.308019,23.514802,4.1709068,10.972524,8.9870638,39.8827161,5.2597389 +702,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9890496,1.0004951,12.5493572,8.2023667,47.1934138,15.4294225,34.8553083,68.4746443,38.0890231,48.8072218,26.4794506,4.0024031,11.3139718,10.3584383,39.9017277,8.3333278,0.9834822,0.9950372,12.3410491,8.0621248,47.577237,15.3691138,35.7720255,69.6065888,38.3862221,49.2263798,26.8623837,4.3481344,11.450938,9.1860883,40.4320127,7.770265,0.8253023,0.8368517,11.7364237,7.7288609,47.4918235,15.1670369,34.4198693,69.1962177,37.5659157,48.3469686,26.4748012,4.3458151,10.66535,8.7050947,38.5214598,7.6665949,0.789795,0.801361,11.6021389,7.6568891,46.8587533,15.1126409,34.1938565,69.2826589,37.6266467,49.7049646,26.4164506,4.1032634,10.1006507,8.3145396,38.858286,7.9860417,0.8807146,0.8803125,12.0738368,8.1622231,46.4348554,15.4881029,34.129606,69.2165136,37.3233252,49.1338794,25.7934457,4.3034158,10.7421539,8.49888,40.0240869,7.5162745 +703,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6642898,0.6438663,10.1983377,6.2310125,44.0295026,14.5017881,36.2666952,68.4060837,37.5528625,49.0637863,20.7342868,3.3458171,10.8473131,10.1338858,31.961842,5.7746213,0.7093733,0.6938798,9.7617633,5.9311246,41.8028844,14.6379265,36.2588049,68.58338,37.7964524,49.5582783,20.947161,3.4271205,10.3744317,9.3681771,32.1013123,5.4895862,0.7483154,0.7102719,9.6606115,5.8828372,40.0249905,15.1085674,35.9801008,69.0468643,37.8896239,49.88571,21.7643187,3.5335412,10.3389389,9.5824389,32.0219763,7.5153067,0.6716119,0.6482621,9.5008704,5.9125883,38.922871,15.4816577,35.3708788,68.8206832,38.4646305,49.925059,21.7481415,3.8340018,10.3281386,9.6334839,32.2473797,6.1782106,0.6434973,0.6261331,9.7713355,6.2500128,38.0616962,15.646622,35.4340274,69.0346097,38.6234617,49.7952403,22.0279404,3.931439,10.3981061,9.6491486,33.0185389,5.7910063 +704,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3911741,0.4046166,7.823281,4.3420187,76.8280971,19.5042384,28.4988666,63.5083428,27.82372,40.2437329,15.8161812,4.9343495,10.0843856,8.4096181,34.4987754,5.0438596,0.4561223,0.4782829,7.433751,4.0914465,76.296936,20.0109594,28.7399614,63.5357054,27.6153759,40.4760173,15.9917988,4.7431724,10.2177547,8.8380786,33.9804201,5.8695652,0.5432408,0.5656501,7.3175464,4.0178592,74.3624408,20.0264122,28.7371614,62.4001564,27.5580091,40.3765624,16.0707535,4.8117179,10.0654121,9.0809674,34.4638907,5.3418803,0.5157231,0.5381561,7.2596336,4.0288069,73.4253463,19.7687543,28.6722642,62.0564725,27.3368992,40.0419642,15.2041275,5.0934781,10.0654121,9.1672801,34.8540105,4.468087,0.5787568,0.5956399,7.2666436,4.0370242,72.6822525,20.0193308,29.0919755,63.2307105,27.0654704,39.5752064,15.0623558,5.7482446,10.1336348,8.6940337,35.5066999,5.2752318 +705,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7146967,0.7431322,11.2953533,7.5681589,45.5129619,19.5409466,35.1213309,70.594762,38.1677139,47.1183014,23.7817483,2.6008925,11.8187494,10.2733552,35.0452253,6.7998096,0.7805275,0.8195058,11.5401464,7.6558664,43.5681834,20.2545124,34.9786253,70.1681058,38.1609327,47.4266555,23.28049,2.737659,11.6489722,9.7635607,35.4116576,6.1979834,0.715693,0.7560094,11.9349663,8.0273407,43.502759,20.3115813,34.4548678,70.0965192,37.8450395,46.6106273,23.1720948,2.736249,11.5696121,9.5086313,36.4101794,5.7014043,0.646938,0.6891284,11.5573422,7.9103248,42.8682137,20.4359939,34.0870352,70.741658,39.018877,46.7466976,23.6656829,2.8217329,11.2747021,8.9300968,36.9713834,5.1883317,0.5532345,0.5969303,11.0291479,7.8708129,42.0478657,21.0427963,34.952258,71.717105,39.9423255,47.558394,24.7112811,2.5474584,10.2574465,8.3829659,35.8507009,5.1398459 +706,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.855008,0.8541639,11.8181796,7.5033868,53.9434185,19.2024793,35.694798,67.0625792,38.0152363,50.8736635,22.372353,3.3715503,11.6487149,10.4305158,33.4792848,10.7798116,0.8233547,0.826808,12.0094697,7.612022,53.0423931,19.4452095,36.1235637,67.677502,38.1917054,50.6847644,22.7361626,3.3398534,11.9819191,10.606042,33.3956826,10.2870764,0.9197999,0.8972543,12.4163895,7.7619832,52.7786116,19.3009486,37.0354929,68.0039689,37.9645008,49.7888727,22.5647418,3.2235321,11.9535653,10.8261116,34.374964,10.3864784,1.0336571,1.015376,12.4336372,8.0978946,52.3101196,19.0294008,37.8267025,67.7414544,37.9971823,49.7017733,22.2584883,3.0539685,12.1930792,11.6348425,34.2205352,8.937211,1.208609,1.2165349,12.7759717,8.305034,51.3564294,18.7195533,38.243696,68.1948254,39.1061211,49.2526869,22.348358,3.2049348,12.5891099,11.7534073,34.0783175,7.9545563 +707,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5657286,0.6453303,10.6693358,6.0374339,54.1038111,17.3529836,33.6938646,68.1681315,37.1165449,44.7287917,21.8099227,3.8745715,9.5125196,9.5598322,35.6500134,8.686437,0.5572206,0.6379214,10.2845341,5.948455,54.0861561,17.4613539,34.0340266,68.47169,37.2076921,44.8913498,22.3690957,3.8557682,8.8670366,8.9775877,35.6531341,8.8362793,0.6354071,0.7001146,9.9105194,6.0059294,53.9524394,17.3606945,33.7741786,68.7588432,38.2270426,44.8788085,22.9195596,3.993811,9.3881103,9.078969,35.9248278,8.1934081,0.7542222,0.8024138,9.8914145,6.0107768,53.5859676,17.6788352,32.8348282,68.5072689,38.0066276,44.9117088,22.826347,4.1793908,10.0627782,9.3831341,36.6049821,6.8586256,0.704339,0.7489925,9.3025971,5.6641844,53.1062282,17.1392282,32.5071399,67.861307,37.9460719,44.5181354,22.8470034,3.9234186,10.2965103,9.5451853,36.2056097,6.3983226 +708,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0357074,1.0944123,21.0152519,15.1946314,45.9970482,17.6893372,31.1849935,66.7736952,34.113745,45.0753947,22.8422511,2.3016723,14.466421,12.3451456,41.1720569,16.3136681,1.0707899,1.1298105,21.8873101,16.2218048,45.0955316,17.8847533,33.0560692,65.9699511,33.6087469,45.289116,22.3928799,2.2308368,15.2670849,13.1391147,41.832248,15.4165797,1.1358896,1.1911236,22.1448442,16.3176796,45.9084345,17.4263496,34.5899189,65.6466613,32.9580239,43.7862807,21.6159162,2.8906958,15.3355945,13.3030665,41.5268227,12.9120335,1.0716409,1.0973966,22.2549284,16.7554049,46.9074525,17.1557835,34.8602355,64.1408142,32.5318709,43.2461964,21.6272986,3.0968758,14.9466791,12.242572,42.8630595,13.1968053,1.1408928,1.1408928,23.0441801,17.999101,47.8436935,16.9782764,34.4616673,63.442726,31.6379935,42.1160543,20.5411585,3.2239059,14.5372566,11.4399657,42.9122207,12.7001771 +709,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4561223,0.4782829,7.433751,4.0914465,76.296936,20.0109594,28.7399614,63.5357054,27.6153759,40.4760173,15.9917988,4.7431724,10.2177547,8.8380786,33.9804201,5.8695652,0.5432408,0.5656501,7.3175464,4.0178592,74.3624408,20.0264122,28.7371614,62.4001564,27.5580091,40.3765624,16.0707535,4.8117179,10.0654121,9.0809674,34.4638907,5.3418803,0.5157231,0.5381561,7.2596336,4.0288069,73.4253463,19.7687543,28.6722642,62.0564725,27.3368992,40.0419642,15.2041275,5.0934781,10.0654121,9.1672801,34.8540105,4.468087,0.5787568,0.5956399,7.2666436,4.0370242,72.6822525,20.0193308,29.0919755,63.2307105,27.0654704,39.5752064,15.0623558,5.7482446,10.1336348,8.6940337,35.5066999,5.2752318,0.4836305,0.5181923,7.357557,4.1569221,72.1917745,19.7645137,30.1397202,63.2529091,27.5357437,40.2838221,15.6432646,5.6937572,9.7426514,8.4814853,35.4874382,4.2987865 +710,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4750784,0.4819255,7.4942613,4.5752675,68.9993361,20.7162298,31.0975266,68.6057212,31.2953175,42.6004437,14.8154111,5.9492164,10.588584,9.8355304,34.6833386,2.4115717,0.582505,0.5895027,7.8788898,4.7674776,66.0956661,20.7903268,32.2292862,69.048348,30.5144817,42.4847912,14.3073205,6.2037399,11.0253452,10.2046767,33.4885779,2.5337795,0.5877171,0.6106894,8.0965474,4.8442311,62.6479205,21.0894942,32.0997862,69.2081783,30.6884658,42.18581,14.4750276,5.9035941,10.6848742,9.8792571,33.3440339,2.3297449,0.5803641,0.5990903,8.3623159,5.0591105,59.7193008,20.8333726,31.8868106,70.0807517,31.7111787,43.0604049,14.3534859,5.9557085,10.4628733,9.052258,32.6244024,1.717554,0.8296278,0.8566858,8.7587517,5.1573457,57.2122403,20.4834745,32.9012557,70.507774,31.6583786,44.4069287,14.5774344,5.735072,10.5932288,9.2423041,32.3414237,1.7716501 +711,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5553546,0.5640666,9.6827767,6.8655514,74.7192399,11.6468694,30.045279,66.3533502,28.9127831,42.3442307,12.7859479,3.7485967,12.4574477,10.819447,33.582653,2.5951755,0.5910115,0.610097,9.5316918,6.5716612,73.375273,11.8634602,29.9143968,66.325128,29.2839168,42.7268036,13.56674,3.951827,12.2212883,11.1321049,33.1148286,3.0797347,0.6313294,0.6466071,9.015809,6.3008877,72.7453667,11.6958431,30.2991548,65.8112516,29.8158244,42.7732746,13.659364,4.246279,11.8945195,11.5516116,33.0818378,2.6978524,0.6420252,0.6572412,9.1857305,6.6061101,71.9876022,11.6123496,30.5733177,66.2745282,30.4819079,43.9812597,14.4929385,4.5112131,11.132104,10.9401295,32.3379458,4.1367085,0.6696795,0.6937799,9.6405984,6.8603191,71.3704115,11.7372128,30.4442792,66.3328319,30.5823785,44.1873727,14.6524218,4.7997486,11.3323842,11.1421222,32.2461417,5.2158705 +712,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0707899,1.1298105,21.8873101,16.2218048,45.0955316,17.8847533,33.0560692,65.9699511,33.6087469,45.289116,22.3928799,2.2308368,15.2670849,13.1391147,41.832248,15.4165797,1.1358896,1.1911236,22.1448442,16.3176796,45.9084345,17.4263496,34.5899189,65.6466613,32.9580239,43.7862807,21.6159162,2.8906958,15.3355945,13.3030665,41.5268227,12.9120335,1.0716409,1.0973966,22.2549284,16.7554049,46.9074525,17.1557835,34.8602355,64.1408142,32.5318709,43.2461964,21.6272986,3.0968758,14.9466791,12.242572,42.8630595,13.1968053,1.1408928,1.1408928,23.0441801,17.999101,47.8436935,16.9782764,34.4616673,63.442726,31.6379935,42.1160543,20.5411585,3.2239059,14.5372566,11.4399657,42.9122207,12.7001771,0.9720532,0.8993471,22.9825081,18.5456376,48.340714,17.0373325,34.2817716,63.7313849,30.809193,41.1715486,20.281859,3.0095148,12.8952393,10.7659078,42.4847475,12.4216921 +713,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.8665042,0.9326541,20.2659772,15.9550138,34.1059163,16.5612706,35.2678193,67.831577,34.8887286,51.0918127,25.6919118,6.068745,14.5787986,11.5132611,32.1787963,16.2576687,0.7936738,0.8593393,20.7030266,16.4734573,34.7557189,15.818553,35.424376,67.9615053,34.9434804,50.0741376,25.4734666,6.1104577,14.4486868,11.470011,33.4162194,15.8682635,0.9377279,1.0013854,21.1742301,16.7827198,34.749675,16.2212066,35.8108723,67.9933549,34.9837151,50.611892,25.627249,6.1434363,15.2432494,11.8488127,35.2225836,16.8571429,1.0067117,1.1234575,21.6051994,17.3287199,34.7582227,16.3747668,35.7448181,66.8281947,34.7359145,50.6785035,24.9482547,6.3822018,15.7744984,11.9339924,35.5838445,16.0526316,1.0196523,1.1467943,21.9933153,17.5800335,35.0968996,15.4422549,36.7402153,66.7402741,34.8774811,50.563781,25.1226365,6.0049843,16.3524607,12.0169379,36.1953635,14.6037869 +714,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3485153,0.361913,8.1236579,5.0638538,68.9924924,11.7248696,31.8677886,66.1126455,28.6816346,41.5516793,15.5230815,13.1648251,11.2861187,10.3845229,36.6363786,3.5382831,0.3820991,0.3830683,7.9649985,5.0779278,68.0899025,11.8087009,32.4717402,66.1056789,29.3344305,41.7820396,15.6801734,13.3811744,11.1684272,10.1444058,36.821044,3.5178777,0.3642383,0.3652211,7.6340325,4.9922312,66.7993739,11.6728322,32.7941767,65.8783353,29.5978835,41.5710818,15.8590042,13.4746726,11.0665684,9.7659125,36.868553,3.2467536,0.3585108,0.3716565,7.4721034,4.8153569,65.4637063,11.7435168,32.3681457,65.8295791,30.0092778,40.9024701,15.5115312,13.4177043,11.1345044,9.7612547,36.5600754,2.9878052,0.4083464,0.4103915,7.4265413,4.823563,64.1418266,11.8494413,32.2941832,66.2577117,30.4438215,41.1839684,15.7347854,13.6832921,11.1405534,9.3243964,36.7650771,2.5851201 +715,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3820991,0.3830683,7.9649985,5.0779278,68.0899025,11.8087009,32.4717402,66.1056789,29.3344305,41.7820396,15.6801734,13.3811744,11.1684272,10.1444058,36.821044,3.5178777,0.3642383,0.3652211,7.6340325,4.9922312,66.7993739,11.6728322,32.7941767,65.8783353,29.5978835,41.5710818,15.8590042,13.4746726,11.0665684,9.7659125,36.868553,3.2467536,0.3585108,0.3716565,7.4721034,4.8153569,65.4637063,11.7435168,32.3681457,65.8295791,30.0092778,40.9024701,15.5115312,13.4177043,11.1345044,9.7612547,36.5600754,2.9878052,0.4083464,0.4103915,7.4265413,4.823563,64.1418266,11.8494413,32.2941832,66.2577117,30.4438215,41.1839684,15.7347854,13.6832921,11.1405534,9.3243964,36.7650771,2.5851201,0.5217344,0.5113632,7.5714318,4.9047641,63.9765697,11.6899712,32.1025474,65.9934749,30.3753614,41.0784759,15.4018817,13.6066895,10.6606287,9.0519525,37.2120442,2.952262 +716,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6228992,0.6253042,9.1250247,6.2690608,53.9660472,9.8638082,31.0309928,67.951849,33.0020476,45.8931078,18.2806001,2.7143217,10.5330632,9.9393348,30.5577549,7.251746,0.6888882,0.6732919,9.1194075,6.4071024,52.9638848,9.8392009,31.5399176,67.9131954,33.3357988,45.8923571,18.4990819,2.8345998,10.668336,9.888907,30.6297357,7.9218989,0.7299443,0.7311553,9.0119567,6.2874915,51.3830443,9.8110778,31.8002663,68.0732432,33.8354579,46.6627903,18.9728045,3.0214472,10.9383336,10.1004826,30.7425996,8.2892554,0.76698,0.7535315,9.1030298,6.4287698,50.2668382,9.5391763,31.5827339,68.0344638,34.371868,46.4374864,18.7997464,2.9566343,10.5900826,9.8234821,29.9907139,7.599799,0.7430105,0.7293046,8.9360457,6.3193569,48.4715885,9.7324198,31.3209191,68.1277508,34.9674303,46.9446827,18.9545515,3.1199216,10.5994825,9.8472387,30.1104437,6.4984955 +717,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.7936738,0.8593393,20.7030266,16.4734573,34.7557189,15.818553,35.424376,67.9615053,34.9434804,50.0741376,25.4734666,6.1104577,14.4486868,11.470011,33.4162194,15.8682635,0.9377279,1.0013854,21.1742301,16.7827198,34.749675,16.2212066,35.8108723,67.9933549,34.9837151,50.611892,25.627249,6.1434363,15.2432494,11.8488127,35.2225836,16.8571429,1.0067117,1.1234575,21.6051994,17.3287199,34.7582227,16.3747668,35.7448181,66.8281947,34.7359145,50.6785035,24.9482547,6.3822018,15.7744984,11.9339924,35.5838445,16.0526316,1.0196523,1.1467943,21.9933153,17.5800335,35.0968996,15.4422549,36.7402153,66.7402741,34.8774811,50.563781,25.1226365,6.0049843,16.3524607,12.0169379,36.1953635,14.6037869,1.1170146,1.1900228,22.4883582,17.6046645,34.2179959,14.935836,37.0657442,66.4084146,34.389703,50.0235304,24.8124048,5.6573578,16.1304791,12.6262348,36.6111839,14.5931339 +718,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7684198,0.8034309,10.8465859,7.0012086,58.0342666,8.7548234,29.850824,70.2492991,40.4335192,42.0854964,20.5096095,4.4203039,9.8315647,8.4641589,36.4769704,5.5697823,0.7417489,0.7643831,10.7618935,6.8857678,57.0290028,8.7513805,29.9705228,69.8871709,40.6739148,42.0867983,20.568202,4.4267123,9.9734272,8.5342716,37.0967728,5.1461245,0.7259609,0.7472461,10.6832206,6.8269939,56.8916691,8.8890009,29.725104,69.7251034,40.5238552,42.7126488,20.7520708,4.4450208,9.6421632,8.6060026,37.3420153,4.8324742,0.6964773,0.7282001,10.4052594,6.8368413,56.6391855,9.0782239,29.5226633,69.7252999,40.3645239,42.7981954,20.7906764,4.5801119,9.8511164,8.6463988,36.1170512,4.7712418,0.6765922,0.7031996,10.3519736,6.8321969,55.4556142,9.0583068,29.5072452,69.6732517,40.1292236,43.0920298,20.8079344,4.7331362,9.7059916,8.7300044,36.2487739,5.0836544 +719,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3112227,0.3330547,7.3410192,4.4420186,66.9612342,15.8871456,30.7140647,64.3423905,31.6295335,40.5096102,17.7754053,8.1934729,9.8833842,7.9286151,38.0575148,2.5606476,0.276286,0.2986095,7.0676445,4.3873659,66.1024958,16.1275419,31.1350132,65.1543524,32.1016459,41.050823,17.539754,8.0916775,9.5712578,7.5408857,38.5245911,2.7696801,0.2502597,0.2799447,6.9681389,4.3611216,66.0895805,16.4190657,31.0069,65.4485629,31.5715113,40.3230892,16.5777917,7.7948586,9.542446,8.0060437,39.7761597,3.2208599,0.3909765,0.4109366,6.9302206,4.4014103,65.5254039,16.6204554,31.4058604,65.5704535,31.5305425,39.4794212,16.6926424,8.1203282,9.5082961,7.872848,38.7298721,2.8273818,0.3253006,0.3381284,6.9622244,4.4654276,65.267299,16.7947143,31.7586573,65.3102654,30.979109,39.2734664,16.6043025,8.1228606,9.1474272,8.1008926,38.7067875,2.21239 +720,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8233547,0.826808,12.0094697,7.612022,53.0423931,19.4452095,36.1235637,67.677502,38.1917054,50.6847644,22.7361626,3.3398534,11.9819191,10.606042,33.3956826,10.2870764,0.9197999,0.8972543,12.4163895,7.7619832,52.7786116,19.3009486,37.0354929,68.0039689,37.9645008,49.7888727,22.5647418,3.2235321,11.9535653,10.8261116,34.374964,10.3864784,1.0336571,1.015376,12.4336372,8.0978946,52.3101196,19.0294008,37.8267025,67.7414544,37.9971823,49.7017733,22.2584883,3.0539685,12.1930792,11.6348425,34.2205352,8.937211,1.208609,1.2165349,12.7759717,8.305034,51.3564294,18.7195533,38.243696,68.1948254,39.1061211,49.2526869,22.348358,3.2049348,12.5891099,11.7534073,34.0783175,7.9545563,1.1453143,1.1534465,12.0725494,7.6956526,49.7454748,18.3166693,38.1422974,68.4435312,38.7035372,49.3650612,22.4896506,3.3815645,12.4435356,11.0202757,34.5913298,7.9710222 +721,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5432408,0.5656501,7.3175464,4.0178592,74.3624408,20.0264122,28.7371614,62.4001564,27.5580091,40.3765624,16.0707535,4.8117179,10.0654121,9.0809674,34.4638907,5.3418803,0.5157231,0.5381561,7.2596336,4.0288069,73.4253463,19.7687543,28.6722642,62.0564725,27.3368992,40.0419642,15.2041275,5.0934781,10.0654121,9.1672801,34.8540105,4.468087,0.5787568,0.5956399,7.2666436,4.0370242,72.6822525,20.0193308,29.0919755,63.2307105,27.0654704,39.5752064,15.0623558,5.7482446,10.1336348,8.6940337,35.5066999,5.2752318,0.4836305,0.5181923,7.357557,4.1569221,72.1917745,19.7645137,30.1397202,63.2529091,27.5357437,40.2838221,15.6432646,5.6937572,9.7426514,8.4814853,35.4874382,4.2987865,0.4183174,0.4451223,6.7176093,3.8582187,70.7042668,19.9725351,30.6260263,63.6202444,27.4166224,39.9022603,15.5186381,5.8904264,9.4319044,8.3333364,36.1070367,2.9681368 +722,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8000332,0.8022269,11.0070695,7.2261453,53.680547,16.8215909,34.2428655,70.3830631,39.0133477,45.6993116,22.8225488,3.0899842,10.5795953,9.1450608,33.9048422,5.5851064,0.7928518,0.7950807,10.1722299,6.6558988,52.1553557,17.1000305,34.2528311,70.5334177,39.7332555,45.9079069,22.9996184,3.1969292,9.6180426,8.8214728,33.9260805,5.8659218,0.8216186,0.8297014,10.547992,6.9305107,51.5607855,16.1844516,33.3637928,69.7074824,39.1772938,45.0273945,22.2120483,3.0530156,9.290179,8.9734618,34.2068482,6.1827957,0.7586836,0.7533373,10.8210268,7.1479958,51.7904098,15.3916281,32.9834231,69.7053275,38.8765926,45.0644434,22.559846,3.1491703,8.8360495,8.5053338,34.1298046,6.0846496,0.6611948,0.6826062,10.5065967,6.6892558,50.7775248,14.7271448,33.3028815,69.9488349,38.8563949,45.6521549,22.634258,3.0507848,8.3101559,8.3507995,33.7421138,5.3370697 +723,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5993419,0.4556617,11.7063211,8.6639488,53.1584515,31.913477,29.4155418,66.0689148,34.9935192,39.3759927,16.1354497,4.5817463,15.0552011,12.3269191,33.472178,6.3727052,0.6219643,0.5612839,11.8984642,8.7775524,52.251556,31.1126032,28.1698168,66.9933816,34.8366447,40.5883614,17.0588074,4.5098688,15.6676521,12.7050916,33.928488,5.3399614,0.6812579,0.6196047,11.8385399,9.1930631,51.8893693,30.3170592,28.1248504,69.2152667,33.0452747,40.7582302,16.5559158,4.8538009,16.1601903,13.4349692,34.6796399,6.132278,0.4557582,0.3940289,11.9078118,9.4078397,51.1487348,31.5059155,28.6568403,70.1460662,31.5822859,41.1570397,17.0877727,5.1197625,14.498649,11.8207412,32.6502146,5.803701,0.492051,0.4309254,12.044248,9.5703194,52.0134203,31.782327,28.5620428,70.118544,31.859982,41.2270767,16.9524999,6.0027296,13.9188556,11.4865221,33.7432666,6.4656566 +724,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.9377279,1.0013854,21.1742301,16.7827198,34.749675,16.2212066,35.8108723,67.9933549,34.9837151,50.611892,25.627249,6.1434363,15.2432494,11.8488127,35.2225836,16.8571429,1.0067117,1.1234575,21.6051994,17.3287199,34.7582227,16.3747668,35.7448181,66.8281947,34.7359145,50.6785035,24.9482547,6.3822018,15.7744984,11.9339924,35.5838445,16.0526316,1.0196523,1.1467943,21.9933153,17.5800335,35.0968996,15.4422549,36.7402153,66.7402741,34.8774811,50.563781,25.1226365,6.0049843,16.3524607,12.0169379,36.1953635,14.6037869,1.1170146,1.1900228,22.4883582,17.6046645,34.2179959,14.935836,37.0657442,66.4084146,34.389703,50.0235304,24.8124048,5.6573578,16.1304791,12.6262348,36.6111839,14.5931339,1.0741617,1.1265174,22.735992,17.9944353,35.8050956,14.7564107,37.5782518,66.1770274,33.3412806,49.9036501,25.8789838,5.801719,15.5690736,12.2649823,35.3909803,13.2848701 +725,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1066832,1.0645087,21.116411,17.1801185,38.8572654,20.1139235,36.7220716,64.6150509,36.5850131,48.2019833,21.6947387,3.388666,13.5034479,10.0219693,36.781047,13.9999349,1.1337246,1.1364907,21.8887861,17.5409793,40.1529165,20.0930444,36.9290392,64.970607,37.5634939,48.190892,21.4183194,3.2790575,13.1134313,10.4138713,35.4361799,16.2856758,1.2375978,1.2605483,21.376842,17.3938557,40.8920674,20.5010139,37.1848371,66.0536145,37.9817761,47.5173017,21.0431905,3.5698,13.9725142,11.4789437,36.8307227,14.843669,1.2072496,1.2295591,21.3557084,17.4349143,41.9697679,20.5287218,37.653094,66.7166976,38.2141305,47.5580465,20.0923654,3.4818737,14.340445,11.7872516,36.9880318,16.0286354,1.1264147,1.1578489,21.1885131,17.0438112,43.880021,20.0611834,37.934903,66.8423592,37.0883454,46.7262014,19.549253,3.0642778,14.6270055,11.3579494,36.2068742,14.5088969 +726,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3194833,1.1605359,17.7310668,14.0038679,72.5605787,15.2424437,32.3403532,64.3435039,35.2496622,37.7330471,19.6099659,4.3345341,13.7809707,10.7584712,42.6641173,15.4401365,1.2622398,1.1217627,17.1461788,13.4648032,75.2069454,14.7259202,31.7441078,65.943598,35.6361188,38.0655438,19.4476424,4.2274175,14.0835978,9.9667668,44.2237532,11.8591948,1.0342325,0.980716,16.9064547,13.5330907,76.8164079,15.088798,31.5505158,66.1362469,35.8949992,37.5117103,19.2669698,4.3719633,13.794741,8.8040295,42.8256723,12.6424879,1.1796012,1.1259988,17.033946,13.8806309,77.7847393,14.8245423,31.5293598,65.5158096,34.833825,36.5697328,19.3470878,4.4928826,14.1689548,9.1309445,43.9184448,11.7835528,1.2083833,1.155515,16.9929065,13.4632092,78.8822222,15.4029826,32.5314206,65.362693,35.5512564,37.3145885,19.4732073,4.7014016,13.9554021,9.3103987,43.1460816,9.1191866 +727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7093733,0.6938798,9.7617633,5.9311246,41.8028844,14.6379265,36.2588049,68.58338,37.7964524,49.5582783,20.947161,3.4271205,10.3744317,9.3681771,32.1013123,5.4895862,0.7483154,0.7102719,9.6606115,5.8828372,40.0249905,15.1085674,35.9801008,69.0468643,37.8896239,49.88571,21.7643187,3.5335412,10.3389389,9.5824389,32.0219763,7.5153067,0.6716119,0.6482621,9.5008704,5.9125883,38.922871,15.4816577,35.3708788,68.8206832,38.4646305,49.925059,21.7481415,3.8340018,10.3281386,9.6334839,32.2473797,6.1782106,0.6434973,0.6261331,9.7713355,6.2500128,38.0616962,15.646622,35.4340274,69.0346097,38.6234617,49.7952403,22.0279404,3.931439,10.3981061,9.6491486,33.0185389,5.7910063,0.6400757,0.6225797,9.507472,5.9055183,36.8647481,15.9546989,35.9200365,69.1219183,38.9383749,50.0685569,21.9601786,3.9358643,10.606556,9.6914297,32.5217111,6.2121739 +728,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6219643,0.5612839,11.8984642,8.7775524,52.251556,31.1126032,28.1698168,66.9933816,34.8366447,40.5883614,17.0588074,4.5098688,15.6676521,12.7050916,33.928488,5.3399614,0.6812579,0.6196047,11.8385399,9.1930631,51.8893693,30.3170592,28.1248504,69.2152667,33.0452747,40.7582302,16.5559158,4.8538009,16.1601903,13.4349692,34.6796399,6.132278,0.4557582,0.3940289,11.9078118,9.4078397,51.1487348,31.5059155,28.6568403,70.1460662,31.5822859,41.1570397,17.0877727,5.1197625,14.498649,11.8207412,32.6502146,5.803701,0.492051,0.4309254,12.044248,9.5703194,52.0134203,31.782327,28.5620428,70.118544,31.859982,41.2270767,16.9524999,6.0027296,13.9188556,11.4865221,33.7432666,6.4656566,0.4110617,0.3906616,12.8422712,10.6258813,52.3256132,32.8247722,28.0831512,70.7103312,34.2490516,40.6839234,16.6890307,5.2949771,12.2690435,10.9498951,33.2002203,7.6614139 +729,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7928518,0.7950807,10.1722299,6.6558988,52.1553557,17.1000305,34.2528311,70.5334177,39.7332555,45.9079069,22.9996184,3.1969292,9.6180426,8.8214728,33.9260805,5.8659218,0.8216186,0.8297014,10.547992,6.9305107,51.5607855,16.1844516,33.3637928,69.7074824,39.1772938,45.0273945,22.2120483,3.0530156,9.290179,8.9734618,34.2068482,6.1827957,0.7586836,0.7533373,10.8210268,7.1479958,51.7904098,15.3916281,32.9834231,69.7053275,38.8765926,45.0644434,22.559846,3.1491703,8.8360495,8.5053338,34.1298046,6.0846496,0.6611948,0.6826062,10.5065967,6.6892558,50.7775248,14.7271448,33.3028815,69.9488349,38.8563949,45.6521549,22.634258,3.0507848,8.3101559,8.3507995,33.7421138,5.3370697,0.6228987,0.6447032,10.6494838,7.1661725,49.0015377,14.8578799,34.0350184,70.5476813,40.1080231,46.590886,22.9694372,2.9247382,8.0212045,7.8480075,32.9650726,5.1630351 +730,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3642383,0.3652211,7.6340325,4.9922312,66.7993739,11.6728322,32.7941767,65.8783353,29.5978835,41.5710818,15.8590042,13.4746726,11.0665684,9.7659125,36.868553,3.2467536,0.3585108,0.3716565,7.4721034,4.8153569,65.4637063,11.7435168,32.3681457,65.8295791,30.0092778,40.9024701,15.5115312,13.4177043,11.1345044,9.7612547,36.5600754,2.9878052,0.4083464,0.4103915,7.4265413,4.823563,64.1418266,11.8494413,32.2941832,66.2577117,30.4438215,41.1839684,15.7347854,13.6832921,11.1405534,9.3243964,36.7650771,2.5851201,0.5217344,0.5113632,7.5714318,4.9047641,63.9765697,11.6899712,32.1025474,65.9934749,30.3753614,41.0784759,15.4018817,13.6066895,10.6606287,9.0519525,37.2120442,2.952262,0.5205307,0.5039334,7.3659237,4.8133087,63.2032568,11.0909341,32.4414516,65.7747835,30.3853514,41.5645449,15.761169,13.4463502,10.8258125,9.0662242,37.8093257,3.2435748 +731,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9197999,0.8972543,12.4163895,7.7619832,52.7786116,19.3009486,37.0354929,68.0039689,37.9645008,49.7888727,22.5647418,3.2235321,11.9535653,10.8261116,34.374964,10.3864784,1.0336571,1.015376,12.4336372,8.0978946,52.3101196,19.0294008,37.8267025,67.7414544,37.9971823,49.7017733,22.2584883,3.0539685,12.1930792,11.6348425,34.2205352,8.937211,1.208609,1.2165349,12.7759717,8.305034,51.3564294,18.7195533,38.243696,68.1948254,39.1061211,49.2526869,22.348358,3.2049348,12.5891099,11.7534073,34.0783175,7.9545563,1.1453143,1.1534465,12.0725494,7.6956526,49.7454748,18.3166693,38.1422974,68.4435312,38.7035372,49.3650612,22.4896506,3.3815645,12.4435356,11.0202757,34.5913298,7.9710222,1.0796454,1.1146664,11.5341238,7.5696612,48.0837426,19.2161897,38.2937802,68.8761383,38.5865278,49.0928223,22.8123965,3.2630925,11.842819,10.982484,34.2897239,8.1280828 +732,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6204291,0.6038363,9.6465117,6.0663611,68.1059276,18.530492,31.1083322,66.382062,35.0350909,45.6739645,19.3150676,5.596575,10.8438307,9.2024867,33.5308941,6.952381,0.5595618,0.5560108,9.7450568,6.1278588,66.1465926,18.8561935,31.364957,66.3162611,35.1586169,46.4607441,19.3721357,5.7355233,10.7574283,8.9135574,33.9459283,6.9200753,0.5743548,0.5755474,9.686558,6.1683598,64.7678787,18.8896791,32.4024258,66.0505498,34.4448461,46.5116271,19.7481067,5.5770198,10.3492833,8.7393709,34.5768907,6.4024338,0.5684906,0.5733284,9.8971801,6.2061741,64.4327679,18.3829775,33.1318491,66.5386447,33.9638343,45.8577131,19.1984606,5.609579,9.7948286,8.7208787,34.4242838,6.7021234,0.6245425,0.6294858,9.8361602,6.4010545,63.2639216,17.9961233,32.9345404,66.3590983,33.5931205,45.7940677,19.064344,5.9319054,9.7756277,8.6421114,33.5315158,6.5265472 +733,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1597402,1.1446582,19.0487718,14.6875737,34.0432407,19.7814881,35.6211044,67.6708719,38.1945401,49.0602323,22.909549,3.7868885,12.6618317,10.1277485,30.7665757,17.3324522,1.1628494,1.1475224,19.4438592,15.039112,35.2083565,19.7655337,36.0776083,67.6519704,37.9343129,48.4587307,22.341304,4.165883,12.515605,9.9446646,31.6826532,16.8877904,1.2187922,1.1620739,18.7954884,14.6390101,35.369744,19.2955762,36.8866302,68.7490307,38.737463,49.1361843,23.2335827,4.4197062,11.4699645,9.8032207,31.0560617,14.8599685,1.2126174,1.1612934,19.1589815,15.200805,36.2137833,18.9390198,38.4667085,68.4489144,38.5250765,48.3994256,23.2620653,4.2933689,11.6060032,10.0571374,31.5246016,15.0664815,1.2946207,1.2431836,19.4745041,15.3734528,36.5945568,18.7519101,38.4281016,68.5455043,38.2495752,48.0558692,23.3745282,4.510769,11.4900756,9.6237457,30.4928187,15.5935508 +734,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6980498,0.691407,7.9852045,3.9817232,73.3895374,20.1571793,31.483069,65.2593228,31.0115731,43.9991427,16.0094299,3.8346187,9.16,8.6137821,33.9630225,4.2410714,0.6207723,0.6140653,7.6431718,3.7665198,72.9357798,20.5364807,30.8441558,65.1298701,31.017316,43.7445887,15.7792208,4.1324102,8.8351823,8.452381,33.0286169,3.3632287,0.5930806,0.5460944,7.2149123,3.75,72.1786492,20.330614,30.974026,65.2597403,31.3636364,44.004329,15.9090909,4.0025963,9.1307815,8.92,33.5336538,4.1125541,0.534188,0.506617,6.9469424,4.0242806,71.1624776,19.5181256,31.4088275,65.7824342,30.962996,43.357111,15.4926438,4.3894831,9.1986917,9.1468417,35.2674897,4.3981481,0.6649902,0.6230791,7.3542805,4.2577413,70.2511416,18.6208446,32.4660633,65.9049774,31.1538462,43.0090498,15.678733,4.4097693,9.3956954,9.5099668,36.1319967,4.0865385 +735,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7029585,0.7333262,10.3449405,6.7237685,59.6801703,12.7375597,29.7737206,67.6482093,38.3007311,44.0577207,19.7974209,4.8866117,9.5556089,8.5599024,32.1952204,4.025799,0.6718096,0.6748825,10.1768941,6.6489144,59.5843232,12.5808965,29.0723352,67.2331947,37.3350473,43.9255465,19.8783344,4.7785898,10.087948,8.3594328,32.4074919,4.1129458,0.686355,0.6894317,9.9094023,6.5703495,58.9205629,12.9127068,29.1521032,67.8272584,37.8232315,43.9799119,20.0489037,5.241249,10.7933253,8.5165675,33.6253827,5.0421303,0.6803773,0.6843917,9.6487926,6.5769415,58.6335538,12.8988564,29.1876068,68.1802974,38.6127952,44.2175288,20.5353006,5.5562526,10.2688788,9.0527899,33.450555,5.2017793,0.6867091,0.6907601,9.4984088,6.5887434,58.2019696,12.6860538,28.7320496,67.7987296,38.7289837,43.513626,20.2532017,5.1982704,10.5224643,9.2380236,34.1561964,4.9333133 +736,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6330539,0.6092087,9.7125524,6.9425245,79.1025633,11.4271932,28.1579634,68.0525819,27.8772363,42.7544682,12.2984006,4.3333301,11.929901,12.929773,31.2835511,8.6304021,0.6788824,0.6688749,9.7684399,6.7169409,78.6625521,11.5632037,28.7376346,68.0436593,28.8447829,43.6159993,12.5358294,4.5958406,12.6367886,13.4586967,32.1282054,9.176685,0.7014584,0.6774093,9.5892331,6.5610975,78.264787,11.5318535,28.6145663,68.5506526,28.7208019,44.2062398,12.9164409,4.624374,12.8579345,13.4219421,33.0473446,10.6158426,0.6591225,0.6348147,10.0315148,6.9503088,78.2584158,11.5399766,28.9013115,68.450262,28.8296478,44.5418866,13.6184431,4.4559431,12.3459538,13.0567344,32.1551028,11.7855375,0.5904129,0.5716822,9.7925384,6.8038195,79.3083455,10.9426279,29.5080534,68.2651624,28.9332199,45.0611178,13.5596295,4.1127523,11.6348485,12.2107946,31.2839157,11.6194565 +737,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7483154,0.7102719,9.6606115,5.8828372,40.0249905,15.1085674,35.9801008,69.0468643,37.8896239,49.88571,21.7643187,3.5335412,10.3389389,9.5824389,32.0219763,7.5153067,0.6716119,0.6482621,9.5008704,5.9125883,38.922871,15.4816577,35.3708788,68.8206832,38.4646305,49.925059,21.7481415,3.8340018,10.3281386,9.6334839,32.2473797,6.1782106,0.6434973,0.6261331,9.7713355,6.2500128,38.0616962,15.646622,35.4340274,69.0346097,38.6234617,49.7952403,22.0279404,3.931439,10.3981061,9.6491486,33.0185389,5.7910063,0.6400757,0.6225797,9.507472,5.9055183,36.8647481,15.9546989,35.9200365,69.1219183,38.9383749,50.0685569,21.9601786,3.9358643,10.606556,9.6914297,32.5217111,6.2121739,0.6415669,0.6181901,9.4652874,5.8545477,35.7373683,16.1068331,35.9588579,69.1166057,39.5942572,50.1668073,22.277809,4.1710653,11.1348085,10.1280502,32.1545537,6.8038599 +738,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5595618,0.5560108,9.7450568,6.1278588,66.1465926,18.8561935,31.364957,66.3162611,35.1586169,46.4607441,19.3721357,5.7355233,10.7574283,8.9135574,33.9459283,6.9200753,0.5743548,0.5755474,9.686558,6.1683598,64.7678787,18.8896791,32.4024258,66.0505498,34.4448461,46.5116271,19.7481067,5.5770198,10.3492833,8.7393709,34.5768907,6.4024338,0.5684906,0.5733284,9.8971801,6.2061741,64.4327679,18.3829775,33.1318491,66.5386447,33.9638343,45.8577131,19.1984606,5.609579,9.7948286,8.7208787,34.4242838,6.7021234,0.6245425,0.6294858,9.8361602,6.4010545,63.2639216,17.9961233,32.9345404,66.3590983,33.5931205,45.7940677,19.064344,5.9319054,9.7756277,8.6421114,33.5315158,6.5265472,0.546231,0.5699404,9.7914649,6.3111212,62.0741289,17.8104703,33.1624787,66.6261481,33.6018754,45.9595473,19.4718328,6.0568835,9.8352524,8.9950584,33.78895,5.6503186 +739,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4140593,1.5055884,26.3758232,22.0022182,38.3165423,19.8747844,35.5880099,67.0497224,34.7868786,47.3064416,21.3543535,4.9974794,11.8856796,9.7380698,30.2457419,12.0387238,1.3253778,1.3858147,26.9883181,22.3954583,39.0337474,19.9610044,36.3777728,67.1541451,34.6691591,46.3693314,20.7345265,4.9616849,13.679822,11.1697509,31.3506102,10.6768988,1.2285355,1.2877313,27.0324003,22.337205,39.2278267,20.1048367,36.7741748,68.4758298,35.87699,47.0807301,22.2415865,5.0243627,13.8763919,11.8832097,30.4538485,11.9883236,1.1823661,1.2412282,26.997749,22.3787712,39.8235887,19.3692046,37.45321,68.3634475,35.430052,46.7464836,21.7748937,4.8985653,14.3477645,12.2482054,31.8520696,12.784051,1.1497763,1.2075502,27.3811641,22.9247366,41.3888915,19.84739,38.2686999,67.877734,35.2273867,47.2084855,21.8794923,4.6862485,14.2762904,13.4276405,32.3235901,14.4020347 +740,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4595211,0.507231,7.8761782,4.6048569,55.1842527,15.1277908,34.0211603,67.3890779,34.6099883,44.5112675,19.8398155,3.8592996,10.5002862,9.3483731,33.344333,2.5029361,0.4584387,0.4976501,8.0336723,4.8784969,54.6935194,15.1844274,33.5913522,67.2943417,34.4900195,44.7679653,19.3205719,3.7907736,9.9722017,8.9964503,34.2424762,2.5251982,0.408717,0.419984,7.8944685,4.7691426,54.3334866,15.4877943,33.3769981,67.6040747,35.0898166,44.798462,19.4330152,4.042396,10.3954257,9.2731339,34.4274536,2.9431293,0.451545,0.470051,8.2556,5.1621795,53.4829046,15.8982211,33.6466513,67.8590278,35.7879039,44.7943846,19.7147706,4.3707149,10.2183394,9.2431284,35.0815807,3.714059,0.4569045,0.4761135,8.1375055,5.1039844,52.6038474,16.2738099,33.7604871,68.108834,36.0530155,45.2301906,20.4964567,4.6752694,10.2740004,8.6043336,34.8931892,4.563101 +741,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2090559,1.2813102,28.2575758,23.4090909,58.1081081,5.5810398,40.0154799,67.5696594,29.1795666,46.3622291,18.0340557,5.1857585,13.0630631,9.7305389,34.3939394,16.015625,1.4691715,1.577553,30.2130898,24.7336377,58.8852989,5.6414219,39.9529042,67.8963893,28.6499215,46.0753532,17.9748823,5.2590267,13.5514019,9.4720497,34.6394984,17.0289855,1.6309524,1.7380952,30.6475904,24.7740964,59.2857143,5.7164634,38.0620155,67.5193798,29.6899225,44.4186047,16.6666667,4.5736434,13.2621951,9.5744681,35.4294479,15.248227,1.579836,1.6883743,33.0534351,27.2519084,60.3035144,6.558642,37.5981162,67.7394035,29.5918367,44.6624804,15.9340659,5.2590267,12.2727273,8.6102719,33.2826748,12.8289474,1.5540871,1.6642193,32.8438949,26.8160742,61.5823817,7.1205008,36.7038217,66.9585987,28.4235669,43.3917197,15.843949,4.8566879,15.3726708,11.2654321,36.1801242,11.7449664 +742,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6716119,0.6482621,9.5008704,5.9125883,38.922871,15.4816577,35.3708788,68.8206832,38.4646305,49.925059,21.7481415,3.8340018,10.3281386,9.6334839,32.2473797,6.1782106,0.6434973,0.6261331,9.7713355,6.2500128,38.0616962,15.646622,35.4340274,69.0346097,38.6234617,49.7952403,22.0279404,3.931439,10.3981061,9.6491486,33.0185389,5.7910063,0.6400757,0.6225797,9.507472,5.9055183,36.8647481,15.9546989,35.9200365,69.1219183,38.9383749,50.0685569,21.9601786,3.9358643,10.606556,9.6914297,32.5217111,6.2121739,0.6415669,0.6181901,9.4652874,5.8545477,35.7373683,16.1068331,35.9588579,69.1166057,39.5942572,50.1668073,22.277809,4.1710653,11.1348085,10.1280502,32.1545537,6.8038599,0.6894965,0.6736262,9.3705395,5.8733979,34.8219864,16.7844129,35.6828228,69.3950768,39.8440981,50.2932964,22.5756012,4.4454754,11.5974213,10.4500644,32.2574545,5.6818661 +743,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6812579,0.6196047,11.8385399,9.1930631,51.8893693,30.3170592,28.1248504,69.2152667,33.0452747,40.7582302,16.5559158,4.8538009,16.1601903,13.4349692,34.6796399,6.132278,0.4557582,0.3940289,11.9078118,9.4078397,51.1487348,31.5059155,28.6568403,70.1460662,31.5822859,41.1570397,17.0877727,5.1197625,14.498649,11.8207412,32.6502146,5.803701,0.492051,0.4309254,12.044248,9.5703194,52.0134203,31.782327,28.5620428,70.118544,31.859982,41.2270767,16.9524999,6.0027296,13.9188556,11.4865221,33.7432666,6.4656566,0.4110617,0.3906616,12.8422712,10.6258813,52.3256132,32.8247722,28.0831512,70.7103312,34.2490516,40.6839234,16.6890307,5.2949771,12.2690435,10.9498951,33.2002203,7.6614139,0.3481571,0.3887585,12.6132857,10.4140995,52.5135532,31.9443379,27.2059118,70.6548884,34.0238506,40.7086993,15.9759489,5.2808193,11.9622736,11.4247657,34.1034988,7.5398022 +744,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4460069,0.4611428,8.7895484,5.8564791,74.0975359,12.3365879,25.3141658,62.9583016,31.5435213,39.3354385,14.2092119,3.4241473,11.8630795,11.7243316,38.1567069,4.849675,0.5939033,0.5786788,8.6355918,5.4177129,73.6680706,12.8747563,24.5603136,63.2745928,32.1737795,39.0807467,14.949387,3.4497675,12.3335405,11.692867,37.8677855,4.6418724,0.5643565,0.5491895,8.5672782,5.244552,72.6563446,13.1233791,26.6767178,64.0349383,32.7429317,38.6440285,14.8141416,3.0412173,12.1926352,11.6775947,37.5513881,4.1026528,0.5249937,0.5093733,8.8821087,5.4223539,72.0875947,13.0677261,27.1776179,65.1913917,32.0919565,37.4375155,14.1357391,3.0699586,11.0811544,9.8285892,37.4209969,4.4652317,0.6054572,0.5893587,8.9922985,5.4632735,70.7895578,13.7540148,27.4498134,64.009732,32.2889821,37.7005617,14.8392089,3.2168121,12.368102,10.6824508,36.970055,5.6451053 +745,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8216186,0.8297014,10.547992,6.9305107,51.5607855,16.1844516,33.3637928,69.7074824,39.1772938,45.0273945,22.2120483,3.0530156,9.290179,8.9734618,34.2068482,6.1827957,0.7586836,0.7533373,10.8210268,7.1479958,51.7904098,15.3916281,32.9834231,69.7053275,38.8765926,45.0644434,22.559846,3.1491703,8.8360495,8.5053338,34.1298046,6.0846496,0.6611948,0.6826062,10.5065967,6.6892558,50.7775248,14.7271448,33.3028815,69.9488349,38.8563949,45.6521549,22.634258,3.0507848,8.3101559,8.3507995,33.7421138,5.3370697,0.6228987,0.6447032,10.6494838,7.1661725,49.0015377,14.8578799,34.0350184,70.5476813,40.1080231,46.590886,22.9694372,2.9247382,8.0212045,7.8480075,32.9650726,5.1630351,0.4981279,0.5200441,10.269963,7.0229742,48.4888785,14.961066,34.2744823,70.3627486,40.295415,45.9423875,22.4569849,2.7486901,7.7004268,7.5211843,30.7883506,5.7228812 +746,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6788824,0.6688749,9.7684399,6.7169409,78.6625521,11.5632037,28.7376346,68.0436593,28.8447829,43.6159993,12.5358294,4.5958406,12.6367886,13.4586967,32.1282054,9.176685,0.7014584,0.6774093,9.5892331,6.5610975,78.264787,11.5318535,28.6145663,68.5506526,28.7208019,44.2062398,12.9164409,4.624374,12.8579345,13.4219421,33.0473446,10.6158426,0.6591225,0.6348147,10.0315148,6.9503088,78.2584158,11.5399766,28.9013115,68.450262,28.8296478,44.5418866,13.6184431,4.4559431,12.3459538,13.0567344,32.1551028,11.7855375,0.5904129,0.5716822,9.7925384,6.8038195,79.3083455,10.9426279,29.5080534,68.2651624,28.9332199,45.0611178,13.5596295,4.1127523,11.6348485,12.2107946,31.2839157,11.6194565,0.5524039,0.4990177,9.7022899,6.8687457,79.0648554,11.0766389,30.2802401,69.3882036,28.9900411,44.5448093,14.2461801,4.2203838,11.8915376,12.6890308,31.0995819,12.1090723 +747,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6207723,0.6140653,7.6431718,3.7665198,72.9357798,20.5364807,30.8441558,65.1298701,31.017316,43.7445887,15.7792208,4.1324102,8.8351823,8.452381,33.0286169,3.3632287,0.5930806,0.5460944,7.2149123,3.75,72.1786492,20.330614,30.974026,65.2597403,31.3636364,44.004329,15.9090909,4.0025963,9.1307815,8.92,33.5336538,4.1125541,0.534188,0.506617,6.9469424,4.0242806,71.1624776,19.5181256,31.4088275,65.7824342,30.962996,43.357111,15.4926438,4.3894831,9.1986917,9.1468417,35.2674897,4.3981481,0.6649902,0.6230791,7.3542805,4.2577413,70.2511416,18.6208446,32.4660633,65.9049774,31.1538462,43.0090498,15.678733,4.4097693,9.3956954,9.5099668,36.1319967,4.0865385,0.5050722,0.4622089,7.3945294,4.659249,68.4297132,18.4356253,33.2172702,66.2256267,30.7567317,42.1773445,15.90065,4.3871866,9.5670996,9.4347826,37.3140857,4.2288557 +748,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2622398,1.1217627,17.1461788,13.4648032,75.2069454,14.7259202,31.7441078,65.943598,35.6361188,38.0655438,19.4476424,4.2274175,14.0835978,9.9667668,44.2237532,11.8591948,1.0342325,0.980716,16.9064547,13.5330907,76.8164079,15.088798,31.5505158,66.1362469,35.8949992,37.5117103,19.2669698,4.3719633,13.794741,8.8040295,42.8256723,12.6424879,1.1796012,1.1259988,17.033946,13.8806309,77.7847393,14.8245423,31.5293598,65.5158096,34.833825,36.5697328,19.3470878,4.4928826,14.1689548,9.1309445,43.9184448,11.7835528,1.2083833,1.155515,16.9929065,13.4632092,78.8822222,15.4029826,32.5314206,65.362693,35.5512564,37.3145885,19.4732073,4.7014016,13.9554021,9.3103987,43.1460816,9.1191866,1.2051857,1.2315499,16.7607212,13.1855703,79.0062509,15.4336043,32.3215496,65.3998187,34.4875684,36.7083643,19.4270435,4.9893304,13.5570003,9.6164465,41.6998215,10.1108753 +749,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5939033,0.5786788,8.6355918,5.4177129,73.6680706,12.8747563,24.5603136,63.2745928,32.1737795,39.0807467,14.949387,3.4497675,12.3335405,11.692867,37.8677855,4.6418724,0.5643565,0.5491895,8.5672782,5.244552,72.6563446,13.1233791,26.6767178,64.0349383,32.7429317,38.6440285,14.8141416,3.0412173,12.1926352,11.6775947,37.5513881,4.1026528,0.5249937,0.5093733,8.8821087,5.4223539,72.0875947,13.0677261,27.1776179,65.1913917,32.0919565,37.4375155,14.1357391,3.0699586,11.0811544,9.8285892,37.4209969,4.4652317,0.6054572,0.5893587,8.9922985,5.4632735,70.7895578,13.7540148,27.4498134,64.009732,32.2889821,37.7005617,14.8392089,3.2168121,12.368102,10.6824508,36.970055,5.6451053,0.4642803,0.4317481,9.153337,5.9308541,68.7683073,13.4403513,27.4964254,63.5814606,32.6031919,38.1493104,15.3659499,3.4651051,12.9758219,10.7670073,36.2062524,4.7766275 +750,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4295782,1.5166235,25.0842684,21.007741,36.951185,16.6525574,32.0629066,64.8104036,34.4225072,44.5227693,20.9157985,2.9027268,12.1736073,10.1567084,39.252839,17.0390871,1.4907838,1.5546513,25.8206984,21.1424955,37.5990527,16.0020085,32.2444034,65.023392,34.5989838,43.8369754,20.415732,2.5626842,13.389904,10.1160116,40.2618391,16.0526147,1.4611049,1.5482568,25.5699137,20.6927673,38.014943,16.4633721,32.1141241,65.0505429,34.5244268,44.2637472,20.4323785,2.4812182,13.7284649,10.2062266,41.7387899,15.7458303,1.255898,1.3340991,25.950794,20.9172848,39.7261743,17.1831389,32.731263,65.1430454,35.1951511,44.522864,20.411755,2.7779239,14.1474048,10.5425641,40.4866572,14.4886199,1.239836,1.3143417,26.5693016,21.5690395,40.2495064,17.780236,34.6669447,64.8711614,34.944081,44.0472318,20.3013029,3.071748,14.4749655,10.8353973,41.1285594,15.9685613 +751,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0067117,1.1234575,21.6051994,17.3287199,34.7582227,16.3747668,35.7448181,66.8281947,34.7359145,50.6785035,24.9482547,6.3822018,15.7744984,11.9339924,35.5838445,16.0526316,1.0196523,1.1467943,21.9933153,17.5800335,35.0968996,15.4422549,36.7402153,66.7402741,34.8774811,50.563781,25.1226365,6.0049843,16.3524607,12.0169379,36.1953635,14.6037869,1.1170146,1.1900228,22.4883582,17.6046645,34.2179959,14.935836,37.0657442,66.4084146,34.389703,50.0235304,24.8124048,5.6573578,16.1304791,12.6262348,36.6111839,14.5931339,1.0741617,1.1265174,22.735992,17.9944353,35.8050956,14.7564107,37.5782518,66.1770274,33.3412806,49.9036501,25.8789838,5.801719,15.5690736,12.2649823,35.3909803,13.2848701,1.1215801,1.1700604,22.8890657,18.2401411,36.8742439,14.1405762,38.5151011,66.2901324,32.8927277,50,26.2616924,5.5502932,16.1002116,12.5944805,36.4109639,12.9266779 +752,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5698521,0.5464479,11.8221644,7.2846634,60.2044998,19.4112568,33.5933384,68.4208751,36.5499238,46.6772216,20.5653297,3.0213096,12.2107653,11.659292,37.4725914,3.555505,0.5628929,0.5400065,12.6431751,7.7238294,59.4918192,19.3645753,33.2801848,68.3568036,36.0500361,46.5566675,20.6880167,3.0431129,11.933554,12.3692674,38.0561421,4.4725386,0.6175943,0.645172,12.5971791,7.3973625,58.4072865,20.7966512,34.0851099,69.1005097,36.153271,46.9640684,21.3426687,3.5786439,11.7337928,11.6020823,37.3027898,4.2933245,0.6312348,0.6591664,13.2519758,7.6987226,57.6431049,21.1004812,33.6014967,69.3736381,35.9606898,47.693821,21.2399743,3.540847,12.8547239,12.481197,37.3210983,3.8762024,0.6004937,0.6459455,13.3550419,7.6767162,56.0911978,21.252568,33.1107925,69.2123485,34.8975622,48.2032322,21.5795032,3.4002935,13.3614899,12.4703332,37.7225783,3.2798675 +753,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5930806,0.5460944,7.2149123,3.75,72.1786492,20.330614,30.974026,65.2597403,31.3636364,44.004329,15.9090909,4.0025963,9.1307815,8.92,33.5336538,4.1125541,0.534188,0.506617,6.9469424,4.0242806,71.1624776,19.5181256,31.4088275,65.7824342,30.962996,43.357111,15.4926438,4.3894831,9.1986917,9.1468417,35.2674897,4.3981481,0.6649902,0.6230791,7.3542805,4.2577413,70.2511416,18.6208446,32.4660633,65.9049774,31.1538462,43.0090498,15.678733,4.4097693,9.3956954,9.5099668,36.1319967,4.0865385,0.5050722,0.4622089,7.3945294,4.659249,68.4297132,18.4356253,33.2172702,66.2256267,30.7567317,42.1773445,15.90065,4.3871866,9.5670996,9.4347826,37.3140857,4.2288557,0.3831336,0.3831336,7.1230982,4.5873675,67.1736079,18.067034,33.4485938,67.0124481,31.373905,42.208391,16.2978331,4.5873675,9.3133047,8.2256675,36.2651646,3.3333333 +754,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5619948,0.5623957,8.009687,5.1582241,84.0298387,7.2260276,27.6996676,62.9006465,28.3891562,38.1773232,13.8840798,5.2168002,10.8047601,9.1401336,37.7632501,2.909232,0.5510453,0.5584973,8.157621,5.3085749,83.9093312,7.4779601,27.60566,62.6574828,28.3441173,38.0962865,13.8121073,5.2371265,10.9066268,9.3209005,37.6801048,3.0007726,0.5276396,0.5334868,8.204139,5.3684175,83.8027259,7.625481,27.5796219,62.3436389,28.2653147,38.1657677,14.0387333,5.2737577,10.6949615,9.4319052,37.1549229,3.1028995,0.535871,0.5479874,7.97297,5.2733558,83.4627434,7.6703024,27.1711091,62.3769315,28.171348,37.984024,13.7717414,5.4774183,10.5732841,9.3613856,37.2386251,3.7109291,0.603249,0.608559,7.6753004,5.167169,83.3601624,7.6107429,26.8623049,62.488663,28.0965462,37.9760922,14.0196707,5.5335217,10.7122713,9.4397289,37.28818,3.678789 +755,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4691715,1.577553,30.2130898,24.7336377,58.8852989,5.6414219,39.9529042,67.8963893,28.6499215,46.0753532,17.9748823,5.2590267,13.5514019,9.4720497,34.6394984,17.0289855,1.6309524,1.7380952,30.6475904,24.7740964,59.2857143,5.7164634,38.0620155,67.5193798,29.6899225,44.4186047,16.6666667,4.5736434,13.2621951,9.5744681,35.4294479,15.248227,1.579836,1.6883743,33.0534351,27.2519084,60.3035144,6.558642,37.5981162,67.7394035,29.5918367,44.6624804,15.9340659,5.2590267,12.2727273,8.6102719,33.2826748,12.8289474,1.5540871,1.6642193,32.8438949,26.8160742,61.5823817,7.1205008,36.7038217,66.9585987,28.4235669,43.3917197,15.843949,4.8566879,15.3726708,11.2654321,36.1801242,11.7449664,1.7146411,1.8265814,32.725832,26.703645,63.25,7.9073482,35.3658537,66.2601626,27.7235772,42.6829268,15.203252,5.6097561,15.15625,10.7476636,34.84375,12.5 +756,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4907838,1.5546513,25.8206984,21.1424955,37.5990527,16.0020085,32.2444034,65.023392,34.5989838,43.8369754,20.415732,2.5626842,13.389904,10.1160116,40.2618391,16.0526147,1.4611049,1.5482568,25.5699137,20.6927673,38.014943,16.4633721,32.1141241,65.0505429,34.5244268,44.2637472,20.4323785,2.4812182,13.7284649,10.2062266,41.7387899,15.7458303,1.255898,1.3340991,25.950794,20.9172848,39.7261743,17.1831389,32.731263,65.1430454,35.1951511,44.522864,20.411755,2.7779239,14.1474048,10.5425641,40.4866572,14.4886199,1.239836,1.3143417,26.5693016,21.5690395,40.2495064,17.780236,34.6669447,64.8711614,34.944081,44.0472318,20.3013029,3.071748,14.4749655,10.8353973,41.1285594,15.9685613,1.2657878,1.3265533,27.7726544,22.7059411,41.6070573,17.0489299,34.8892366,63.3508726,33.8767096,44.0410806,18.9969344,2.7954549,14.7634279,11.7395572,40.0034198,17.079191 +757,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5510453,0.5584973,8.157621,5.3085749,83.9093312,7.4779601,27.60566,62.6574828,28.3441173,38.0962865,13.8121073,5.2371265,10.9066268,9.3209005,37.6801048,3.0007726,0.5276396,0.5334868,8.204139,5.3684175,83.8027259,7.625481,27.5796219,62.3436389,28.2653147,38.1657677,14.0387333,5.2737577,10.6949615,9.4319052,37.1549229,3.1028995,0.535871,0.5479874,7.97297,5.2733558,83.4627434,7.6703024,27.1711091,62.3769315,28.171348,37.984024,13.7717414,5.4774183,10.5732841,9.3613856,37.2386251,3.7109291,0.603249,0.608559,7.6753004,5.167169,83.3601624,7.6107429,26.8623049,62.488663,28.0965462,37.9760922,14.0196707,5.5335217,10.7122713,9.4397289,37.28818,3.678789,0.6070456,0.6040324,7.5610083,5.0730521,83.4223189,7.7714597,26.7775631,62.7133894,28.3697678,38.0520395,14.0642591,5.6750119,10.6587853,9.2460507,37.5106706,4.1436369 +758,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1358896,1.1911236,22.1448442,16.3176796,45.9084345,17.4263496,34.5899189,65.6466613,32.9580239,43.7862807,21.6159162,2.8906958,15.3355945,13.3030665,41.5268227,12.9120335,1.0716409,1.0973966,22.2549284,16.7554049,46.9074525,17.1557835,34.8602355,64.1408142,32.5318709,43.2461964,21.6272986,3.0968758,14.9466791,12.242572,42.8630595,13.1968053,1.1408928,1.1408928,23.0441801,17.999101,47.8436935,16.9782764,34.4616673,63.442726,31.6379935,42.1160543,20.5411585,3.2239059,14.5372566,11.4399657,42.9122207,12.7001771,0.9720532,0.8993471,22.9825081,18.5456376,48.340714,17.0373325,34.2817716,63.7313849,30.809193,41.1715486,20.281859,3.0095148,12.8952393,10.7659078,42.4847475,12.4216921,1.0271754,0.9558035,23.2718277,18.670746,49.2607303,17.2226818,34.9560156,64.3235111,30.8692875,41.2379537,20.4361487,3.2174925,12.9802866,10.4249167,42.6700734,13.1727432 +759,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.582505,0.5895027,7.8788898,4.7674776,66.0956661,20.7903268,32.2292862,69.048348,30.5144817,42.4847912,14.3073205,6.2037399,11.0253452,10.2046767,33.4885779,2.5337795,0.5877171,0.6106894,8.0965474,4.8442311,62.6479205,21.0894942,32.0997862,69.2081783,30.6884658,42.18581,14.4750276,5.9035941,10.6848742,9.8792571,33.3440339,2.3297449,0.5803641,0.5990903,8.3623159,5.0591105,59.7193008,20.8333726,31.8868106,70.0807517,31.7111787,43.0604049,14.3534859,5.9557085,10.4628733,9.052258,32.6244024,1.717554,0.8296278,0.8566858,8.7587517,5.1573457,57.2122403,20.4834745,32.9012557,70.507774,31.6583786,44.4069287,14.5774344,5.735072,10.5932288,9.2423041,32.3414237,1.7716501,0.8564,0.8730339,8.5658165,5.096568,55.1386456,20.777629,32.8050834,70.2913744,31.8579093,44.1711908,14.7358978,6.101987,10.7024863,8.8704054,31.9880294,2.3504223 +760,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7679217,0.7525835,8.4280102,5.7652157,31.4351832,17.2007026,34.5047921,70.5657505,38.8535605,50.7869721,21.8042769,4.8376816,9.8211811,8.6304363,28.611491,3.5714286,0.7008483,0.6850309,8.6435019,5.9713466,30.4239933,16.5790833,34.0141592,70.2994707,39.3875205,51.0972773,21.5995248,4.9532869,9.3774032,8.7969,27.5373251,3.0172388,0.7122985,0.706359,8.8934814,6.3273846,28.9811162,16.370141,32.9684717,69.8442897,38.8317222,50.7818135,21.2507419,5.0985831,9.2148305,8.6898011,27.9223279,1.3761443,0.6440498,0.636589,8.7660702,5.9635669,27.99667,17.0507773,33.3375198,69.7323541,39.1446404,51.9234889,21.3909489,5.4871261,9.0203763,8.0017347,28.0035258,0.4545446,0.678804,0.6803638,8.7776633,5.794573,27.6272825,17.13065,32.2767023,69.4641123,38.4870027,51.4088356,21.3081657,5.7682479,8.6513837,7.6728141,27.8794032,0.4807683 +761,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3583132,1.3982869,23.4446332,19.5532363,45.6380019,14.5273871,40.715641,65.0049247,34.2998187,48.03381,22.9014398,3.7234305,12.2980601,9.0785717,32.213668,17.7782385,1.248667,1.2883794,24.2026185,20.4161266,45.4994581,14.5522846,42.1099792,64.1408877,34.3344551,48.4685681,23.8662999,3.8208815,12.3459974,9.0787505,31.9956539,16.4736455,1.1107375,1.1905957,24.6112608,21.0003859,45.7813992,14.8246262,42.3747722,64.9276758,34.8962825,48.3671328,24.3300079,4.0910093,12.4911207,9.3155039,29.3255229,17.9951236,1.1909336,1.2518661,25.3839997,21.6068541,46.9189818,14.0947926,41.2142795,65.4894284,34.3045559,47.3967178,23.3214463,3.4522795,12.7737358,9.3201722,28.5822747,18.9387118,1.2285396,1.2698779,25.4616985,21.4087587,48.2262928,13.8223932,41.3281064,65.55875,34.0325901,46.6830405,23.5947958,3.6482535,13.0950884,9.4141288,27.6607599,20.5820741 +762,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5572206,0.6379214,10.2845341,5.948455,54.0861561,17.4613539,34.0340266,68.47169,37.2076921,44.8913498,22.3690957,3.8557682,8.8670366,8.9775877,35.6531341,8.8362793,0.6354071,0.7001146,9.9105194,6.0059294,53.9524394,17.3606945,33.7741786,68.7588432,38.2270426,44.8788085,22.9195596,3.993811,9.3881103,9.078969,35.9248278,8.1934081,0.7542222,0.8024138,9.8914145,6.0107768,53.5859676,17.6788352,32.8348282,68.5072689,38.0066276,44.9117088,22.826347,4.1793908,10.0627782,9.3831341,36.6049821,6.8586256,0.704339,0.7489925,9.3025971,5.6641844,53.1062282,17.1392282,32.5071399,67.861307,37.9460719,44.5181354,22.8470034,3.9234186,10.2965103,9.5451853,36.2056097,6.3983226,0.6813489,0.7096858,9.0533896,5.443342,52.590317,16.9162247,32.6409425,67.8531258,38.5965148,45.0752349,22.8209392,3.9075054,10.338281,9.1430551,34.9749941,6.5855972 +763,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5877171,0.6106894,8.0965474,4.8442311,62.6479205,21.0894942,32.0997862,69.2081783,30.6884658,42.18581,14.4750276,5.9035941,10.6848742,9.8792571,33.3440339,2.3297449,0.5803641,0.5990903,8.3623159,5.0591105,59.7193008,20.8333726,31.8868106,70.0807517,31.7111787,43.0604049,14.3534859,5.9557085,10.4628733,9.052258,32.6244024,1.717554,0.8296278,0.8566858,8.7587517,5.1573457,57.2122403,20.4834745,32.9012557,70.507774,31.6583786,44.4069287,14.5774344,5.735072,10.5932288,9.2423041,32.3414237,1.7716501,0.8564,0.8730339,8.5658165,5.096568,55.1386456,20.777629,32.8050834,70.2913744,31.8579093,44.1711908,14.7358978,6.101987,10.7024863,8.8704054,31.9880294,2.3504223,0.8401842,0.842943,8.5790403,5.3818713,53.9212188,21.4722976,32.916208,70.0579977,32.4084106,44.5230422,15.6148066,6.329332,10.8724762,9.3770461,31.8363424,2.3305085 +764,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5803641,0.5990903,8.3623159,5.0591105,59.7193008,20.8333726,31.8868106,70.0807517,31.7111787,43.0604049,14.3534859,5.9557085,10.4628733,9.052258,32.6244024,1.717554,0.8296278,0.8566858,8.7587517,5.1573457,57.2122403,20.4834745,32.9012557,70.507774,31.6583786,44.4069287,14.5774344,5.735072,10.5932288,9.2423041,32.3414237,1.7716501,0.8564,0.8730339,8.5658165,5.096568,55.1386456,20.777629,32.8050834,70.2913744,31.8579093,44.1711908,14.7358978,6.101987,10.7024863,8.8704054,31.9880294,2.3504223,0.8401842,0.842943,8.5790403,5.3818713,53.9212188,21.4722976,32.916208,70.0579977,32.4084106,44.5230422,15.6148066,6.329332,10.8724762,9.3770461,31.8363424,2.3305085,0.8004182,0.8031826,8.0207074,5.0196409,51.6905613,21.0327475,32.9887383,70.6383323,32.9161958,44.9582872,16.0863176,6.3293332,10.3662941,9.0819464,31.2582942,1.8218587 +765,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6354071,0.7001146,9.9105194,6.0059294,53.9524394,17.3606945,33.7741786,68.7588432,38.2270426,44.8788085,22.9195596,3.993811,9.3881103,9.078969,35.9248278,8.1934081,0.7542222,0.8024138,9.8914145,6.0107768,53.5859676,17.6788352,32.8348282,68.5072689,38.0066276,44.9117088,22.826347,4.1793908,10.0627782,9.3831341,36.6049821,6.8586256,0.704339,0.7489925,9.3025971,5.6641844,53.1062282,17.1392282,32.5071399,67.861307,37.9460719,44.5181354,22.8470034,3.9234186,10.2965103,9.5451853,36.2056097,6.3983226,0.6813489,0.7096858,9.0533896,5.443342,52.590317,16.9162247,32.6409425,67.8531258,38.5965148,45.0752349,22.8209392,3.9075054,10.338281,9.1430551,34.9749941,6.5855972,0.690509,0.6841146,9.1027219,5.5667311,51.4222021,17.5904046,32.6711615,68.4942652,38.4073223,46.1753146,23.1102122,3.9885467,10.0800334,9.4571025,34.5351164,5.750207 +766,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.276286,0.2986095,7.0676445,4.3873659,66.1024958,16.1275419,31.1350132,65.1543524,32.1016459,41.050823,17.539754,8.0916775,9.5712578,7.5408857,38.5245911,2.7696801,0.2502597,0.2799447,6.9681389,4.3611216,66.0895805,16.4190657,31.0069,65.4485629,31.5715113,40.3230892,16.5777917,7.7948586,9.542446,8.0060437,39.7761597,3.2208599,0.3909765,0.4109366,6.9302206,4.4014103,65.5254039,16.6204554,31.4058604,65.5704535,31.5305425,39.4794212,16.6926424,8.1203282,9.5082961,7.872848,38.7298721,2.8273818,0.3253006,0.3381284,6.9622244,4.4654276,65.267299,16.7947143,31.7586573,65.3102654,30.979109,39.2734664,16.6043025,8.1228606,9.1474272,8.1008926,38.7067875,2.21239,0.3274653,0.3404975,6.8531201,4.3016013,64.058018,16.604535,32.0549278,65.2620027,31.076392,39.2203292,16.7771455,8.285989,9.1045695,8.4689592,38.966134,2.2388066 +767,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7805275,0.8195058,11.5401464,7.6558664,43.5681834,20.2545124,34.9786253,70.1681058,38.1609327,47.4266555,23.28049,2.737659,11.6489722,9.7635607,35.4116576,6.1979834,0.715693,0.7560094,11.9349663,8.0273407,43.502759,20.3115813,34.4548678,70.0965192,37.8450395,46.6106273,23.1720948,2.736249,11.5696121,9.5086313,36.4101794,5.7014043,0.646938,0.6891284,11.5573422,7.9103248,42.8682137,20.4359939,34.0870352,70.741658,39.018877,46.7466976,23.6656829,2.8217329,11.2747021,8.9300968,36.9713834,5.1883317,0.5532345,0.5969303,11.0291479,7.8708129,42.0478657,21.0427963,34.952258,71.717105,39.9423255,47.558394,24.7112811,2.5474584,10.2574465,8.3829659,35.8507009,5.1398459,0.6336298,0.6461959,10.8813614,7.9260286,41.3725274,21.1548641,34.5217268,71.8350746,40.3263442,47.1259188,25.1244173,2.4601436,9.792616,7.6325357,35.4689202,7.2810515 +768,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7008483,0.6850309,8.6435019,5.9713466,30.4239933,16.5790833,34.0141592,70.2994707,39.3875205,51.0972773,21.5995248,4.9532869,9.3774032,8.7969,27.5373251,3.0172388,0.7122985,0.706359,8.8934814,6.3273846,28.9811162,16.370141,32.9684717,69.8442897,38.8317222,50.7818135,21.2507419,5.0985831,9.2148305,8.6898011,27.9223279,1.3761443,0.6440498,0.636589,8.7660702,5.9635669,27.99667,17.0507773,33.3375198,69.7323541,39.1446404,51.9234889,21.3909489,5.4871261,9.0203763,8.0017347,28.0035258,0.4545446,0.678804,0.6803638,8.7776633,5.794573,27.6272825,17.13065,32.2767023,69.4641123,38.4870027,51.4088356,21.3081657,5.7682479,8.6513837,7.6728141,27.8794032,0.4807683,0.5855011,0.5871199,9.1079889,6.0126374,26.6068556,16.9831225,32.3269365,69.3705018,38.9740431,52.4157482,21.7059671,5.817231,8.5790583,7.2655768,28.6693155,1.4423049 +769,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0336571,1.015376,12.4336372,8.0978946,52.3101196,19.0294008,37.8267025,67.7414544,37.9971823,49.7017733,22.2584883,3.0539685,12.1930792,11.6348425,34.2205352,8.937211,1.208609,1.2165349,12.7759717,8.305034,51.3564294,18.7195533,38.243696,68.1948254,39.1061211,49.2526869,22.348358,3.2049348,12.5891099,11.7534073,34.0783175,7.9545563,1.1453143,1.1534465,12.0725494,7.6956526,49.7454748,18.3166693,38.1422974,68.4435312,38.7035372,49.3650612,22.4896506,3.3815645,12.4435356,11.0202757,34.5913298,7.9710222,1.0796454,1.1146664,11.5341238,7.5696612,48.0837426,19.2161897,38.2937802,68.8761383,38.5865278,49.0928223,22.8123965,3.2630925,11.842819,10.982484,34.2897239,8.1280828,0.9938276,1.0348779,11.4590148,7.46942,47.835904,19.2672739,38.0363236,69.5619292,39.0197196,49.5977969,23.4058336,3.3224046,11.2434351,11.0046356,34.5300021,7.2500109 +770,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6285162,0.5742435,10.3889208,6.5419554,66.7797133,13.0652661,31.5046559,67.6331247,33.6818212,44.0504481,18.333693,3.265791,10.8377292,9.5636252,34.8670729,7.6149691,0.6594706,0.6054644,10.4947317,6.5789444,65.6672661,13.0707059,31.7683955,67.7374367,34.1748901,44.7679536,18.8547354,3.3626988,10.8678089,9.7624798,35.0625601,7.7485673,0.624822,0.5905016,10.3634001,6.708216,64.5494155,12.8516969,32.3951248,68.225602,34.7067566,45.8369069,19.1245582,3.3711465,10.7498905,9.6922418,35.0260811,8.2172958,0.5967948,0.6016948,10.2707769,6.7801957,62.8469284,13.0761067,32.2818715,68.9585093,35.7035855,46.0757077,19.4931385,3.3682603,10.091918,8.8235225,34.0899696,8.9181475,0.5549321,0.5403577,10.4407096,6.8730335,61.6713057,13.1496231,31.5928871,68.6824779,35.9987177,46.1237046,19.6886021,3.1243352,9.8113875,8.6213792,33.2996814,8.944303 +771,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0716409,1.0973966,22.2549284,16.7554049,46.9074525,17.1557835,34.8602355,64.1408142,32.5318709,43.2461964,21.6272986,3.0968758,14.9466791,12.242572,42.8630595,13.1968053,1.1408928,1.1408928,23.0441801,17.999101,47.8436935,16.9782764,34.4616673,63.442726,31.6379935,42.1160543,20.5411585,3.2239059,14.5372566,11.4399657,42.9122207,12.7001771,0.9720532,0.8993471,22.9825081,18.5456376,48.340714,17.0373325,34.2817716,63.7313849,30.809193,41.1715486,20.281859,3.0095148,12.8952393,10.7659078,42.4847475,12.4216921,1.0271754,0.9558035,23.2718277,18.670746,49.2607303,17.2226818,34.9560156,64.3235111,30.8692875,41.2379537,20.4361487,3.2174925,12.9802866,10.4249167,42.6700734,13.1727432,1.1607459,1.1607459,25.0267604,20.2313718,49.5552741,17.6475641,35.09486,64.1051008,30.9397997,41.4138801,20.5227904,3.2238822,13.2123369,10.4561268,43.5390417,14.1691908 +772,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.534188,0.506617,6.9469424,4.0242806,71.1624776,19.5181256,31.4088275,65.7824342,30.962996,43.357111,15.4926438,4.3894831,9.1986917,9.1468417,35.2674897,4.3981481,0.6649902,0.6230791,7.3542805,4.2577413,70.2511416,18.6208446,32.4660633,65.9049774,31.1538462,43.0090498,15.678733,4.4097693,9.3956954,9.5099668,36.1319967,4.0865385,0.5050722,0.4622089,7.3945294,4.659249,68.4297132,18.4356253,33.2172702,66.2256267,30.7567317,42.1773445,15.90065,4.3871866,9.5670996,9.4347826,37.3140857,4.2288557,0.3831336,0.3831336,7.1230982,4.5873675,67.1736079,18.067034,33.4485938,67.0124481,31.373905,42.208391,16.2978331,4.5873675,9.3133047,8.2256675,36.2651646,3.3333333,0.4094203,0.4094203,7.3632539,4.8387097,65.2929967,18.379262,33.5288597,67.0811825,31.557954,42.1633036,16.4007508,4.4345378,9.4315245,8.0882353,37.1515679,2.9100529 +773,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.5792208,0.5846087,11.027934,6.8848953,66.9086939,9.7925367,33.7093698,66.2163276,39.3917982,44.173639,23.3286826,4.1736297,10.2086194,8.9240828,39.5957417,4.5887935,0.5792187,0.5811135,11.0389484,6.9069291,66.2789118,10.1572285,33.6092994,66.0580544,39.842244,44.2984353,23.4969428,4.1072835,10.4911736,8.8319151,39.3606199,4.8619419,0.6036753,0.6182527,10.974114,6.8839833,65.6353352,10.2416652,33.6200408,66.1671836,40.2304018,44.4192464,23.5594757,4.1934691,10.6798578,8.992466,39.9982643,5.0815539,0.636724,0.6478695,11.2491533,6.9899118,65.0908271,10.2612807,33.5532582,66.1097088,40.2548885,44.308019,23.514802,4.1709068,10.972524,8.9870638,39.8827161,5.2597389,0.6294176,0.6452574,11.0346559,6.9200463,64.0764614,10.1927857,34.1050789,66.2225143,40.1611219,44.3229682,23.7149349,4.2144216,11.1644951,9.2734042,40.7647999,4.7270287 +774,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1628494,1.1475224,19.4438592,15.039112,35.2083565,19.7655337,36.0776083,67.6519704,37.9343129,48.4587307,22.341304,4.165883,12.515605,9.9446646,31.6826532,16.8877904,1.2187922,1.1620739,18.7954884,14.6390101,35.369744,19.2955762,36.8866302,68.7490307,38.737463,49.1361843,23.2335827,4.4197062,11.4699645,9.8032207,31.0560617,14.8599685,1.2126174,1.1612934,19.1589815,15.200805,36.2137833,18.9390198,38.4667085,68.4489144,38.5250765,48.3994256,23.2620653,4.2933689,11.6060032,10.0571374,31.5246016,15.0664815,1.2946207,1.2431836,19.4745041,15.3734528,36.5945568,18.7519101,38.4281016,68.5455043,38.2495752,48.0558692,23.3745282,4.510769,11.4900756,9.6237457,30.4928187,15.5935508,1.1186748,1.093225,19.8829777,15.7913093,36.4102606,18.8802395,38.7034192,68.3740738,38.6627284,47.7501572,24.3265292,4.4870645,11.3731658,8.8834335,30.2192362,15.4964527 +775,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0196523,1.1467943,21.9933153,17.5800335,35.0968996,15.4422549,36.7402153,66.7402741,34.8774811,50.563781,25.1226365,6.0049843,16.3524607,12.0169379,36.1953635,14.6037869,1.1170146,1.1900228,22.4883582,17.6046645,34.2179959,14.935836,37.0657442,66.4084146,34.389703,50.0235304,24.8124048,5.6573578,16.1304791,12.6262348,36.6111839,14.5931339,1.0741617,1.1265174,22.735992,17.9944353,35.8050956,14.7564107,37.5782518,66.1770274,33.3412806,49.9036501,25.8789838,5.801719,15.5690736,12.2649823,35.3909803,13.2848701,1.1215801,1.1700604,22.8890657,18.2401411,36.8742439,14.1405762,38.5151011,66.2901324,32.8927277,50,26.2616924,5.5502932,16.1002116,12.5944805,36.4109639,12.9266779,1.0446021,1.0922308,22.6721033,17.8990998,37.7696619,13.8177225,38.131724,66.6094409,33.3334995,50.2305523,25.7964177,5.4820525,16.132172,12.6558725,35.8052035,13.2220026 +776,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5628929,0.5400065,12.6431751,7.7238294,59.4918192,19.3645753,33.2801848,68.3568036,36.0500361,46.5566675,20.6880167,3.0431129,11.933554,12.3692674,38.0561421,4.4725386,0.6175943,0.645172,12.5971791,7.3973625,58.4072865,20.7966512,34.0851099,69.1005097,36.153271,46.9640684,21.3426687,3.5786439,11.7337928,11.6020823,37.3027898,4.2933245,0.6312348,0.6591664,13.2519758,7.6987226,57.6431049,21.1004812,33.6014967,69.3736381,35.9606898,47.693821,21.2399743,3.540847,12.8547239,12.481197,37.3210983,3.8762024,0.6004937,0.6459455,13.3550419,7.6767162,56.0911978,21.252568,33.1107925,69.2123485,34.8975622,48.2032322,21.5795032,3.4002935,13.3614899,12.4703332,37.7225783,3.2798675,0.7088874,0.7542911,13.5006683,7.8063239,54.9609625,21.5861469,33.7472407,69.3249367,35.611827,48.6163163,22.0897747,3.4720283,13.2783566,12.1615802,37.9100094,3.5579436 +777,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5276396,0.5334868,8.204139,5.3684175,83.8027259,7.625481,27.5796219,62.3436389,28.2653147,38.1657677,14.0387333,5.2737577,10.6949615,9.4319052,37.1549229,3.1028995,0.535871,0.5479874,7.97297,5.2733558,83.4627434,7.6703024,27.1711091,62.3769315,28.171348,37.984024,13.7717414,5.4774183,10.5732841,9.3613856,37.2386251,3.7109291,0.603249,0.608559,7.6753004,5.167169,83.3601624,7.6107429,26.8623049,62.488663,28.0965462,37.9760922,14.0196707,5.5335217,10.7122713,9.4397289,37.28818,3.678789,0.6070456,0.6040324,7.5610083,5.0730521,83.4223189,7.7714597,26.7775631,62.7133894,28.3697678,38.0520395,14.0642591,5.6750119,10.6587853,9.2460507,37.5106706,4.1436369,0.5610541,0.5621352,7.4956957,5.0995472,83.2260259,7.6157575,26.8310269,62.7637726,28.4520088,38.023767,14.4151978,5.4927517,10.0889809,8.7802716,37.6454464,4.2202474 +778,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7417489,0.7643831,10.7618935,6.8857678,57.0290028,8.7513805,29.9705228,69.8871709,40.6739148,42.0867983,20.568202,4.4267123,9.9734272,8.5342716,37.0967728,5.1461245,0.7259609,0.7472461,10.6832206,6.8269939,56.8916691,8.8890009,29.725104,69.7251034,40.5238552,42.7126488,20.7520708,4.4450208,9.6421632,8.6060026,37.3420153,4.8324742,0.6964773,0.7282001,10.4052594,6.8368413,56.6391855,9.0782239,29.5226633,69.7252999,40.3645239,42.7981954,20.7906764,4.5801119,9.8511164,8.6463988,36.1170512,4.7712418,0.6765922,0.7031996,10.3519736,6.8321969,55.4556142,9.0583068,29.5072452,69.6732517,40.1292236,43.0920298,20.8079344,4.7331362,9.7059916,8.7300044,36.2487739,5.0836544,0.6258955,0.6484772,9.8964342,6.6310872,54.7487575,9.1357608,29.1281977,69.2352077,39.9653766,42.3992803,20.850811,4.5373468,9.8314572,8.8126704,36.6184777,5.421686 +779,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4584387,0.4976501,8.0336723,4.8784969,54.6935194,15.1844274,33.5913522,67.2943417,34.4900195,44.7679653,19.3205719,3.7907736,9.9722017,8.9964503,34.2424762,2.5251982,0.408717,0.419984,7.8944685,4.7691426,54.3334866,15.4877943,33.3769981,67.6040747,35.0898166,44.798462,19.4330152,4.042396,10.3954257,9.2731339,34.4274536,2.9431293,0.451545,0.470051,8.2556,5.1621795,53.4829046,15.8982211,33.6466513,67.8590278,35.7879039,44.7943846,19.7147706,4.3707149,10.2183394,9.2431284,35.0815807,3.714059,0.4569045,0.4761135,8.1375055,5.1039844,52.6038474,16.2738099,33.7604871,68.108834,36.0530155,45.2301906,20.4964567,4.6752694,10.2740004,8.6043336,34.8931892,4.563101,0.4502987,0.473325,8.1008672,5.1280553,51.6693602,16.7099433,33.3541244,68.3510552,35.5150094,45.4704104,20.2817732,4.6634473,10.8765104,8.8918879,34.3175214,5.246726 +780,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.1170146,1.1900228,22.4883582,17.6046645,34.2179959,14.935836,37.0657442,66.4084146,34.389703,50.0235304,24.8124048,5.6573578,16.1304791,12.6262348,36.6111839,14.5931339,1.0741617,1.1265174,22.735992,17.9944353,35.8050956,14.7564107,37.5782518,66.1770274,33.3412806,49.9036501,25.8789838,5.801719,15.5690736,12.2649823,35.3909803,13.2848701,1.1215801,1.1700604,22.8890657,18.2401411,36.8742439,14.1405762,38.5151011,66.2901324,32.8927277,50,26.2616924,5.5502932,16.1002116,12.5944805,36.4109639,12.9266779,1.0446021,1.0922308,22.6721033,17.8990998,37.7696619,13.8177225,38.131724,66.6094409,33.3334995,50.2305523,25.7964177,5.4820525,16.132172,12.6558725,35.8052035,13.2220026,1.1293626,1.1313384,23.2302293,18.0472825,39.2783976,13.6431441,38.7176103,66.3524814,33.1094934,49.9205824,25.1207883,5.1964836,15.2340893,12.5929497,33.7654735,10.564269 +781,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.5792187,0.5811135,11.0389484,6.9069291,66.2789118,10.1572285,33.6092994,66.0580544,39.842244,44.2984353,23.4969428,4.1072835,10.4911736,8.8319151,39.3606199,4.8619419,0.6036753,0.6182527,10.974114,6.8839833,65.6353352,10.2416652,33.6200408,66.1671836,40.2304018,44.4192464,23.5594757,4.1934691,10.6798578,8.992466,39.9982643,5.0815539,0.636724,0.6478695,11.2491533,6.9899118,65.0908271,10.2612807,33.5532582,66.1097088,40.2548885,44.308019,23.514802,4.1709068,10.972524,8.9870638,39.8827161,5.2597389,0.6294176,0.6452574,11.0346559,6.9200463,64.0764614,10.1927857,34.1050789,66.2225143,40.1611219,44.3229682,23.7149349,4.2144216,11.1644951,9.2734042,40.7647999,4.7270287,0.6264076,0.6467658,10.774445,6.8626063,63.6098338,10.0232795,33.9142551,66.2710039,40.7685119,44.4271397,23.8631719,4.2215445,11.0673286,9.2038143,40.8295481,5.2666639 +782,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.4557582,0.3940289,11.9078118,9.4078397,51.1487348,31.5059155,28.6568403,70.1460662,31.5822859,41.1570397,17.0877727,5.1197625,14.498649,11.8207412,32.6502146,5.803701,0.492051,0.4309254,12.044248,9.5703194,52.0134203,31.782327,28.5620428,70.118544,31.859982,41.2270767,16.9524999,6.0027296,13.9188556,11.4865221,33.7432666,6.4656566,0.4110617,0.3906616,12.8422712,10.6258813,52.3256132,32.8247722,28.0831512,70.7103312,34.2490516,40.6839234,16.6890307,5.2949771,12.2690435,10.9498951,33.2002203,7.6614139,0.3481571,0.3887585,12.6132857,10.4140995,52.5135532,31.9443379,27.2059118,70.6548884,34.0238506,40.7086993,15.9759489,5.2808193,11.9622736,11.4247657,34.1034988,7.5398022,0.468819,0.5093217,12.7401678,10.9476364,53.1292581,31.5474864,29.5180461,70.3479495,33.400157,41.2985841,16.6667448,5.8233003,12.7747458,11.4011025,33.3796405,7.1970515 +783,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.715693,0.7560094,11.9349663,8.0273407,43.502759,20.3115813,34.4548678,70.0965192,37.8450395,46.6106273,23.1720948,2.736249,11.5696121,9.5086313,36.4101794,5.7014043,0.646938,0.6891284,11.5573422,7.9103248,42.8682137,20.4359939,34.0870352,70.741658,39.018877,46.7466976,23.6656829,2.8217329,11.2747021,8.9300968,36.9713834,5.1883317,0.5532345,0.5969303,11.0291479,7.8708129,42.0478657,21.0427963,34.952258,71.717105,39.9423255,47.558394,24.7112811,2.5474584,10.2574465,8.3829659,35.8507009,5.1398459,0.6336298,0.6461959,10.8813614,7.9260286,41.3725274,21.1548641,34.5217268,71.8350746,40.3263442,47.1259188,25.1244173,2.4601436,9.792616,7.6325357,35.4689202,7.2810515,0.6470363,0.6603943,11.4087291,8.132963,40.2320985,21.258807,35.2024954,72.6069263,41.1925341,47.4166689,26.1007887,2.378312,9.2821854,7.2571869,35.3313183,8.3329003 +784,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4916863,0.4772325,7.3464459,4.7165146,21.5713845,17.4282987,32.5692762,69.2945173,37.8775044,51.4959982,20.8104807,4.5147874,9.7640908,8.9944592,26.7539842,5.4091586,0.5521616,0.5375304,7.5012891,4.8465839,22.0195648,17.7786936,32.090209,68.9204268,36.1971923,51.3627993,20.9180834,4.2687648,9.5444001,9.2925715,27.1044806,5.3564837,0.657678,0.6566624,8.038617,5.1718099,20.4474992,18.3488093,31.6715584,69.8528896,37.1772376,51.8589631,21.4698612,4.5351793,9.3845236,8.9586486,26.6637139,5.2044202,0.5812766,0.5561169,7.6037698,4.7981049,19.383706,19.1380962,32.6044187,70.4142158,38.2374427,53.0750481,21.8558565,4.7051048,9.0724771,8.9947177,25.4535391,5.0146153,0.54596,0.5263066,7.8513032,4.7333699,19.3714707,19.5309264,31.9440159,70.8404717,38.4255758,53.1123558,21.722074,4.856794,8.8531922,8.9440294,25.1701663,4.6737112 +785,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1408928,1.1408928,23.0441801,17.999101,47.8436935,16.9782764,34.4616673,63.442726,31.6379935,42.1160543,20.5411585,3.2239059,14.5372566,11.4399657,42.9122207,12.7001771,0.9720532,0.8993471,22.9825081,18.5456376,48.340714,17.0373325,34.2817716,63.7313849,30.809193,41.1715486,20.281859,3.0095148,12.8952393,10.7659078,42.4847475,12.4216921,1.0271754,0.9558035,23.2718277,18.670746,49.2607303,17.2226818,34.9560156,64.3235111,30.8692875,41.2379537,20.4361487,3.2174925,12.9802866,10.4249167,42.6700734,13.1727432,1.1607459,1.1607459,25.0267604,20.2313718,49.5552741,17.6475641,35.09486,64.1051008,30.9397997,41.4138801,20.5227904,3.2238822,13.2123369,10.4561268,43.5390417,14.1691908,1.3565825,1.3613964,27.0494629,21.5275065,50.116475,17.4567261,35.0133763,63.6428056,30.7594975,41.0377532,20.7218404,3.5089935,13.8023814,10.3276253,43.6435365,17.8934977 +786,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6718096,0.6748825,10.1768941,6.6489144,59.5843232,12.5808965,29.0723352,67.2331947,37.3350473,43.9255465,19.8783344,4.7785898,10.087948,8.3594328,32.4074919,4.1129458,0.686355,0.6894317,9.9094023,6.5703495,58.9205629,12.9127068,29.1521032,67.8272584,37.8232315,43.9799119,20.0489037,5.241249,10.7933253,8.5165675,33.6253827,5.0421303,0.6803773,0.6843917,9.6487926,6.5769415,58.6335538,12.8988564,29.1876068,68.1802974,38.6127952,44.2175288,20.5353006,5.5562526,10.2688788,9.0527899,33.450555,5.2017793,0.6867091,0.6907601,9.4984088,6.5887434,58.2019696,12.6860538,28.7320496,67.7987296,38.7289837,43.513626,20.2532017,5.1982704,10.5224643,9.2380236,34.1561964,4.9333133,0.5967688,0.5897148,9.4067402,6.8667401,57.2044691,12.8022327,29.008031,68.0355487,38.68305,43.5193636,19.9729895,5.2544086,10.6275877,9.3426138,33.8657603,6.2287042 +787,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8296278,0.8566858,8.7587517,5.1573457,57.2122403,20.4834745,32.9012557,70.507774,31.6583786,44.4069287,14.5774344,5.735072,10.5932288,9.2423041,32.3414237,1.7716501,0.8564,0.8730339,8.5658165,5.096568,55.1386456,20.777629,32.8050834,70.2913744,31.8579093,44.1711908,14.7358978,6.101987,10.7024863,8.8704054,31.9880294,2.3504223,0.8401842,0.842943,8.5790403,5.3818713,53.9212188,21.4722976,32.916208,70.0579977,32.4084106,44.5230422,15.6148066,6.329332,10.8724762,9.3770461,31.8363424,2.3305085,0.8004182,0.8031826,8.0207074,5.0196409,51.6905613,21.0327475,32.9887383,70.6383323,32.9161958,44.9582872,16.0863176,6.3293332,10.3662941,9.0819464,31.2582942,1.8218587,0.6584249,0.6611884,8.0506818,5.0517582,49.6877209,20.945741,32.468241,70.7622256,33.4119599,45.5354066,16.6061798,6.4428207,10.3164265,9.5379349,31.6887781,1.7441827 +788,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.492051,0.4309254,12.044248,9.5703194,52.0134203,31.782327,28.5620428,70.118544,31.859982,41.2270767,16.9524999,6.0027296,13.9188556,11.4865221,33.7432666,6.4656566,0.4110617,0.3906616,12.8422712,10.6258813,52.3256132,32.8247722,28.0831512,70.7103312,34.2490516,40.6839234,16.6890307,5.2949771,12.2690435,10.9498951,33.2002203,7.6614139,0.3481571,0.3887585,12.6132857,10.4140995,52.5135532,31.9443379,27.2059118,70.6548884,34.0238506,40.7086993,15.9759489,5.2808193,11.9622736,11.4247657,34.1034988,7.5398022,0.468819,0.5093217,12.7401678,10.9476364,53.1292581,31.5474864,29.5180461,70.3479495,33.400157,41.2985841,16.6667448,5.8233003,12.7747458,11.4011025,33.3796405,7.1970515,0.5416421,0.58142,13.0027168,11.2438952,53.4804441,31.8357839,32.3412541,70.0396038,33.7962375,40.9392742,15.5423763,6.0184818,11.8529186,10.4903622,32.1917621,6.1151739 +789,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5743548,0.5755474,9.686558,6.1683598,64.7678787,18.8896791,32.4024258,66.0505498,34.4448461,46.5116271,19.7481067,5.5770198,10.3492833,8.7393709,34.5768907,6.4024338,0.5684906,0.5733284,9.8971801,6.2061741,64.4327679,18.3829775,33.1318491,66.5386447,33.9638343,45.8577131,19.1984606,5.609579,9.7948286,8.7208787,34.4242838,6.7021234,0.6245425,0.6294858,9.8361602,6.4010545,63.2639216,17.9961233,32.9345404,66.3590983,33.5931205,45.7940677,19.064344,5.9319054,9.7756277,8.6421114,33.5315158,6.5265472,0.546231,0.5699404,9.7914649,6.3111212,62.0741289,17.8104703,33.1624787,66.6261481,33.6018754,45.9595473,19.4718328,6.0568835,9.8352524,8.9950584,33.78895,5.6503186,0.5347036,0.5435647,9.2706826,6.0963461,61.0625326,17.3274783,32.8683353,66.7520721,33.9249942,45.9731342,19.7807851,6.0983402,9.559901,8.5531924,32.8386292,4.5964115 +790,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6888882,0.6732919,9.1194075,6.4071024,52.9638848,9.8392009,31.5399176,67.9131954,33.3357988,45.8923571,18.4990819,2.8345998,10.668336,9.888907,30.6297357,7.9218989,0.7299443,0.7311553,9.0119567,6.2874915,51.3830443,9.8110778,31.8002663,68.0732432,33.8354579,46.6627903,18.9728045,3.0214472,10.9383336,10.1004826,30.7425996,8.2892554,0.76698,0.7535315,9.1030298,6.4287698,50.2668382,9.5391763,31.5827339,68.0344638,34.371868,46.4374864,18.7997464,2.9566343,10.5900826,9.8234821,29.9907139,7.599799,0.7430105,0.7293046,8.9360457,6.3193569,48.4715885,9.7324198,31.3209191,68.1277508,34.9674303,46.9446827,18.9545515,3.1199216,10.5994825,9.8472387,30.1104437,6.4984955,0.7475698,0.7488511,8.8513679,6.0613536,48.1045787,9.864845,31.4564563,67.9929896,35.2102131,47.9395972,19.0273727,3.1781777,10.5120822,9.660519,30.0894976,5.3946842 +791,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1337246,1.1364907,21.8887861,17.5409793,40.1529165,20.0930444,36.9290392,64.970607,37.5634939,48.190892,21.4183194,3.2790575,13.1134313,10.4138713,35.4361799,16.2856758,1.2375978,1.2605483,21.376842,17.3938557,40.8920674,20.5010139,37.1848371,66.0536145,37.9817761,47.5173017,21.0431905,3.5698,13.9725142,11.4789437,36.8307227,14.843669,1.2072496,1.2295591,21.3557084,17.4349143,41.9697679,20.5287218,37.653094,66.7166976,38.2141305,47.5580465,20.0923654,3.4818737,14.340445,11.7872516,36.9880318,16.0286354,1.1264147,1.1578489,21.1885131,17.0438112,43.880021,20.0611834,37.934903,66.8423592,37.0883454,46.7262014,19.549253,3.0642778,14.6270055,11.3579494,36.2068742,14.5088969,1.0626861,1.0896579,21.211635,17.4728874,45.8052828,20.341143,37.9008874,67.3009988,37.6130255,46.7871391,19.7598292,3.2555601,14.2446692,11.2161245,35.3788735,12.3481477 +792,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.4110617,0.3906616,12.8422712,10.6258813,52.3256132,32.8247722,28.0831512,70.7103312,34.2490516,40.6839234,16.6890307,5.2949771,12.2690435,10.9498951,33.2002203,7.6614139,0.3481571,0.3887585,12.6132857,10.4140995,52.5135532,31.9443379,27.2059118,70.6548884,34.0238506,40.7086993,15.9759489,5.2808193,11.9622736,11.4247657,34.1034988,7.5398022,0.468819,0.5093217,12.7401678,10.9476364,53.1292581,31.5474864,29.5180461,70.3479495,33.400157,41.2985841,16.6667448,5.8233003,12.7747458,11.4011025,33.3796405,7.1970515,0.5416421,0.58142,13.0027168,11.2438952,53.4804441,31.8357839,32.3412541,70.0396038,33.7962375,40.9392742,15.5423763,6.0184818,11.8529186,10.4903622,32.1917621,6.1151739,0.5150256,0.5548986,13.1117788,11.1042241,54.3939333,32.8792851,32.3452219,67.1277619,34.0578927,41.304365,15.0856401,6.2581852,11.4012555,11.6758472,31.4403247,5.8621094 +793,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9720532,0.8993471,22.9825081,18.5456376,48.340714,17.0373325,34.2817716,63.7313849,30.809193,41.1715486,20.281859,3.0095148,12.8952393,10.7659078,42.4847475,12.4216921,1.0271754,0.9558035,23.2718277,18.670746,49.2607303,17.2226818,34.9560156,64.3235111,30.8692875,41.2379537,20.4361487,3.2174925,12.9802866,10.4249167,42.6700734,13.1727432,1.1607459,1.1607459,25.0267604,20.2313718,49.5552741,17.6475641,35.09486,64.1051008,30.9397997,41.4138801,20.5227904,3.2238822,13.2123369,10.4561268,43.5390417,14.1691908,1.3565825,1.3613964,27.0494629,21.5275065,50.116475,17.4567261,35.0133763,63.6428056,30.7594975,41.0377532,20.7218404,3.5089935,13.8023814,10.3276253,43.6435365,17.8934977,1.3745066,1.3794385,28.2913021,22.7751365,50.5143309,17.2761302,35.0044061,62.9470471,30.4765252,40.6983794,20.7728462,3.096053,13.9138505,10.390637,44.8161187,21.4404546 +794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.9964134,1.0075836,12.7792804,8.9240804,29.8606026,16.6530812,34.3170053,67.46007,40.7557089,48.5817671,24.9513053,3.7222922,11.6330138,11.4885129,34.3480528,14.3564072,1.0356237,1.0179722,13.7191495,9.5447777,29.7703343,16.6455257,34.1448282,67.9847851,40.5837283,48.2003261,25.5790739,4.2355831,11.4819146,11.2445552,34.6510519,11.9047392,1.0758448,1.0694073,13.975928,9.6440775,28.6282243,16.8968561,34.4937772,68.182679,40.8183767,48.9835056,25.6800033,4.3146189,11.1157137,10.9909896,35.7461901,10.267848,1.0716416,1.0793508,14.4862501,10.2006472,27.7924601,16.5497156,33.8226422,67.8515326,40.9291548,49.2069002,25.6780881,4.1401758,11.1553293,10.2593175,36.5139725,9.2920272,0.7316553,0.739138,14.1027793,10.2467253,27.0572962,17.1096213,34.0860555,68.2405114,41.2877215,49.3622853,25.7017452,4.2360764,10.8765042,10.7322177,37.3679644,6.5788596 +795,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9834822,0.9950372,12.3410491,8.0621248,47.577237,15.3691138,35.7720255,69.6065888,38.3862221,49.2263798,26.8623837,4.3481344,11.450938,9.1860883,40.4320127,7.770265,0.8253023,0.8368517,11.7364237,7.7288609,47.4918235,15.1670369,34.4198693,69.1962177,37.5659157,48.3469686,26.4748012,4.3458151,10.66535,8.7050947,38.5214598,7.6665949,0.789795,0.801361,11.6021389,7.6568891,46.8587533,15.1126409,34.1938565,69.2826589,37.6266467,49.7049646,26.4164506,4.1032634,10.1006507,8.3145396,38.858286,7.9860417,0.8807146,0.8803125,12.0738368,8.1622231,46.4348554,15.4881029,34.129606,69.2165136,37.3233252,49.1338794,25.7934457,4.3034158,10.7421539,8.49888,40.0240869,7.5162745,0.7993485,0.809268,11.7463254,8.2836876,46.0019893,15.4716789,33.7486228,69.8699604,37.4891364,49.5481845,25.4859508,4.3825748,10.2667771,7.7449282,40.5485771,6.907838 +796,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6036753,0.6182527,10.974114,6.8839833,65.6353352,10.2416652,33.6200408,66.1671836,40.2304018,44.4192464,23.5594757,4.1934691,10.6798578,8.992466,39.9982643,5.0815539,0.636724,0.6478695,11.2491533,6.9899118,65.0908271,10.2612807,33.5532582,66.1097088,40.2548885,44.308019,23.514802,4.1709068,10.972524,8.9870638,39.8827161,5.2597389,0.6294176,0.6452574,11.0346559,6.9200463,64.0764614,10.1927857,34.1050789,66.2225143,40.1611219,44.3229682,23.7149349,4.2144216,11.1644951,9.2734042,40.7647999,4.7270287,0.6264076,0.6467658,10.774445,6.8626063,63.6098338,10.0232795,33.9142551,66.2710039,40.7685119,44.4271397,23.8631719,4.2215445,11.0673286,9.2038143,40.8295481,5.2666639,0.5951244,0.6385327,10.7430679,6.8507172,62.4937402,9.8145339,34.0559908,66.1123805,40.9103177,44.572257,24.0471174,4.3207855,11.147414,9.0646094,40.6792993,5.7744542 +797,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.3585108,0.3716565,7.4721034,4.8153569,65.4637063,11.7435168,32.3681457,65.8295791,30.0092778,40.9024701,15.5115312,13.4177043,11.1345044,9.7612547,36.5600754,2.9878052,0.4083464,0.4103915,7.4265413,4.823563,64.1418266,11.8494413,32.2941832,66.2577117,30.4438215,41.1839684,15.7347854,13.6832921,11.1405534,9.3243964,36.7650771,2.5851201,0.5217344,0.5113632,7.5714318,4.9047641,63.9765697,11.6899712,32.1025474,65.9934749,30.3753614,41.0784759,15.4018817,13.6066895,10.6606287,9.0519525,37.2120442,2.952262,0.5205307,0.5039334,7.3659237,4.8133087,63.2032568,11.0909341,32.4414516,65.7747835,30.3853514,41.5645449,15.761169,13.4463502,10.8258125,9.0662242,37.8093257,3.2435748,0.5305149,0.5294745,7.3623413,4.9150238,62.5535199,10.9782486,32.3260596,65.4502092,30.6343802,41.3437921,15.7230584,13.5129603,10.7400759,9.0826909,37.714957,3.597561 +798,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.3481571,0.3887585,12.6132857,10.4140995,52.5135532,31.9443379,27.2059118,70.6548884,34.0238506,40.7086993,15.9759489,5.2808193,11.9622736,11.4247657,34.1034988,7.5398022,0.468819,0.5093217,12.7401678,10.9476364,53.1292581,31.5474864,29.5180461,70.3479495,33.400157,41.2985841,16.6667448,5.8233003,12.7747458,11.4011025,33.3796405,7.1970515,0.5416421,0.58142,13.0027168,11.2438952,53.4804441,31.8357839,32.3412541,70.0396038,33.7962375,40.9392742,15.5423763,6.0184818,11.8529186,10.4903622,32.1917621,6.1151739,0.5150256,0.5548986,13.1117788,11.1042241,54.3939333,32.8792851,32.3452219,67.1277619,34.0578927,41.304365,15.0856401,6.2581852,11.4012555,11.6758472,31.4403247,5.8621094,0.6551458,0.6944546,13.9233503,11.5718303,55.2149379,32.0836759,35.1612733,66.6452685,34.7743,42.5162164,15.1613765,6.6451266,12.0596648,11.7885226,33.4699019,5.7047363 +799,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2502597,0.2799447,6.9681389,4.3611216,66.0895805,16.4190657,31.0069,65.4485629,31.5715113,40.3230892,16.5777917,7.7948586,9.542446,8.0060437,39.7761597,3.2208599,0.3909765,0.4109366,6.9302206,4.4014103,65.5254039,16.6204554,31.4058604,65.5704535,31.5305425,39.4794212,16.6926424,8.1203282,9.5082961,7.872848,38.7298721,2.8273818,0.3253006,0.3381284,6.9622244,4.4654276,65.267299,16.7947143,31.7586573,65.3102654,30.979109,39.2734664,16.6043025,8.1228606,9.1474272,8.1008926,38.7067875,2.21239,0.3274653,0.3404975,6.8531201,4.3016013,64.058018,16.604535,32.0549278,65.2620027,31.076392,39.2203292,16.7771455,8.285989,9.1045695,8.4689592,38.966134,2.2388066,0.3378362,0.3509903,7.201983,4.519866,64.0291226,16.1570053,32.0993604,66.2980778,32.1955207,39.2788515,16.8429483,8.4775655,9.3329232,8.4355803,37.6771327,2.279636 +800,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2375978,1.2605483,21.376842,17.3938557,40.8920674,20.5010139,37.1848371,66.0536145,37.9817761,47.5173017,21.0431905,3.5698,13.9725142,11.4789437,36.8307227,14.843669,1.2072496,1.2295591,21.3557084,17.4349143,41.9697679,20.5287218,37.653094,66.7166976,38.2141305,47.5580465,20.0923654,3.4818737,14.340445,11.7872516,36.9880318,16.0286354,1.1264147,1.1578489,21.1885131,17.0438112,43.880021,20.0611834,37.934903,66.8423592,37.0883454,46.7262014,19.549253,3.0642778,14.6270055,11.3579494,36.2068742,14.5088969,1.0626861,1.0896579,21.211635,17.4728874,45.8052828,20.341143,37.9008874,67.3009988,37.6130255,46.7871391,19.7598292,3.2555601,14.2446692,11.2161245,35.3788735,12.3481477,1.1227648,1.1493366,21.2984761,17.3711335,47.0533653,20.6431385,37.9927736,66.980354,37.7910992,46.9343294,20.550726,3.2678704,14.3485201,11.3200118,35.7830815,11.7760118 +801,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0356237,1.0179722,13.7191495,9.5447777,29.7703343,16.6455257,34.1448282,67.9847851,40.5837283,48.2003261,25.5790739,4.2355831,11.4819146,11.2445552,34.6510519,11.9047392,1.0758448,1.0694073,13.975928,9.6440775,28.6282243,16.8968561,34.4937772,68.182679,40.8183767,48.9835056,25.6800033,4.3146189,11.1157137,10.9909896,35.7461901,10.267848,1.0716416,1.0793508,14.4862501,10.2006472,27.7924601,16.5497156,33.8226422,67.8515326,40.9291548,49.2069002,25.6780881,4.1401758,11.1553293,10.2593175,36.5139725,9.2920272,0.7316553,0.739138,14.1027793,10.2467253,27.0572962,17.1096213,34.0860555,68.2405114,41.2877215,49.3622853,25.7017452,4.2360764,10.8765042,10.7322177,37.3679644,6.5788596,0.8088134,0.8360042,14.874811,10.8545972,26.8798154,17.220713,33.6840524,68.123924,41.2197262,49.8696738,26.236999,3.9818331,10.7862816,10.559277,37.8072114,5.9632165 +802,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8564,0.8730339,8.5658165,5.096568,55.1386456,20.777629,32.8050834,70.2913744,31.8579093,44.1711908,14.7358978,6.101987,10.7024863,8.8704054,31.9880294,2.3504223,0.8401842,0.842943,8.5790403,5.3818713,53.9212188,21.4722976,32.916208,70.0579977,32.4084106,44.5230422,15.6148066,6.329332,10.8724762,9.3770461,31.8363424,2.3305085,0.8004182,0.8031826,8.0207074,5.0196409,51.6905613,21.0327475,32.9887383,70.6383323,32.9161958,44.9582872,16.0863176,6.3293332,10.3662941,9.0819464,31.2582942,1.8218587,0.6584249,0.6611884,8.0506818,5.0517582,49.6877209,20.945741,32.468241,70.7622256,33.4119599,45.5354066,16.6061798,6.4428207,10.3164265,9.5379349,31.6887781,1.7441827,0.757965,0.7607572,7.9041989,4.8073374,49.5021949,20.675369,32.2234312,70.1782748,32.9148237,45.3238804,16.3937475,6.6047915,10.7119397,9.4719253,31.6887676,1.6605135 +803,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5684906,0.5733284,9.8971801,6.2061741,64.4327679,18.3829775,33.1318491,66.5386447,33.9638343,45.8577131,19.1984606,5.609579,9.7948286,8.7208787,34.4242838,6.7021234,0.6245425,0.6294858,9.8361602,6.4010545,63.2639216,17.9961233,32.9345404,66.3590983,33.5931205,45.7940677,19.064344,5.9319054,9.7756277,8.6421114,33.5315158,6.5265472,0.546231,0.5699404,9.7914649,6.3111212,62.0741289,17.8104703,33.1624787,66.6261481,33.6018754,45.9595473,19.4718328,6.0568835,9.8352524,8.9950584,33.78895,5.6503186,0.5347036,0.5435647,9.2706826,6.0963461,61.0625326,17.3274783,32.8683353,66.7520721,33.9249942,45.9731342,19.7807851,6.0983402,9.559901,8.5531924,32.8386292,4.5964115,0.5103016,0.5191521,8.8546758,5.9384132,59.2465169,17.3067449,33.0551829,66.6639216,34.3109793,46.0591582,20.1999336,6.0393241,9.0583082,7.8832326,32.0194774,4.1387015 +804,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0758448,1.0694073,13.975928,9.6440775,28.6282243,16.8968561,34.4937772,68.182679,40.8183767,48.9835056,25.6800033,4.3146189,11.1157137,10.9909896,35.7461901,10.267848,1.0716416,1.0793508,14.4862501,10.2006472,27.7924601,16.5497156,33.8226422,67.8515326,40.9291548,49.2069002,25.6780881,4.1401758,11.1553293,10.2593175,36.5139725,9.2920272,0.7316553,0.739138,14.1027793,10.2467253,27.0572962,17.1096213,34.0860555,68.2405114,41.2877215,49.3622853,25.7017452,4.2360764,10.8765042,10.7322177,37.3679644,6.5788596,0.8088134,0.8360042,14.874811,10.8545972,26.8798154,17.220713,33.6840524,68.123924,41.2197262,49.8696738,26.236999,3.9818331,10.7862816,10.559277,37.8072114,5.9632165,0.8069164,0.8337138,15.0790502,11.4184828,27.4136853,16.9744239,33.8228838,67.8373939,41.5283286,49.3188949,26.2452167,3.7675713,11.5069609,10.1395633,38.5408004,5.6520098 +805,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.248667,1.2883794,24.2026185,20.4161266,45.4994581,14.5522846,42.1099792,64.1408877,34.3344551,48.4685681,23.8662999,3.8208815,12.3459974,9.0787505,31.9956539,16.4736455,1.1107375,1.1905957,24.6112608,21.0003859,45.7813992,14.8246262,42.3747722,64.9276758,34.8962825,48.3671328,24.3300079,4.0910093,12.4911207,9.3155039,29.3255229,17.9951236,1.1909336,1.2518661,25.3839997,21.6068541,46.9189818,14.0947926,41.2142795,65.4894284,34.3045559,47.3967178,23.3214463,3.4522795,12.7737358,9.3201722,28.5822747,18.9387118,1.2285396,1.2698779,25.4616985,21.4087587,48.2262928,13.8223932,41.3281064,65.55875,34.0325901,46.6830405,23.5947958,3.6482535,13.0950884,9.4141288,27.6607599,20.5820741,1.1830166,1.2539915,27.1498877,22.5656442,48.6888708,13.9597655,41.8354682,66.2587443,35.0551896,46.9704789,23.6662546,3.2587926,12.8188694,9.1456531,29.0603193,24.2263217 +806,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6245425,0.6294858,9.8361602,6.4010545,63.2639216,17.9961233,32.9345404,66.3590983,33.5931205,45.7940677,19.064344,5.9319054,9.7756277,8.6421114,33.5315158,6.5265472,0.546231,0.5699404,9.7914649,6.3111212,62.0741289,17.8104703,33.1624787,66.6261481,33.6018754,45.9595473,19.4718328,6.0568835,9.8352524,8.9950584,33.78895,5.6503186,0.5347036,0.5435647,9.2706826,6.0963461,61.0625326,17.3274783,32.8683353,66.7520721,33.9249942,45.9731342,19.7807851,6.0983402,9.559901,8.5531924,32.8386292,4.5964115,0.5103016,0.5191521,8.8546758,5.9384132,59.2465169,17.3067449,33.0551829,66.6639216,34.3109793,46.0591582,20.1999336,6.0393241,9.0583082,7.8832326,32.0194774,4.1387015,0.532968,0.5229459,8.6312866,5.7191363,58.5963439,16.837232,32.5453918,66.407664,34.5084296,45.7140569,20.9962392,6.1262882,8.7608115,7.7506143,32.1139516,3.846153 +807,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.559503,0.6024845,10.6137334,7.1723624,45.4434115,13.0382534,30.3889316,68.4443791,38.1743315,47.8744019,19.3175353,5.6395918,10.9519016,10.8449592,31.9510089,7.5024842,0.5312135,0.5788797,10.6881158,7.0971799,45.2805883,13.278675,30.6372717,68.2338841,38.7404641,48.5474427,19.8049597,5.861489,10.4210546,10.2494407,32.0821091,9.1174135,0.4174974,0.4174974,10.6406984,7.1803087,43.881419,13.1528355,31.0757701,68.5734313,39.3339744,49.0211004,20.3742494,5.9289618,10.569464,10.0718365,32.7360819,8.8098015,0.4985404,0.4904548,10.9036218,7.2976996,42.2137088,13.1180416,30.8250896,68.4062939,39.0979304,48.0983287,20.7429594,6.0539943,10.7590964,9.5943596,33.1679446,9.1175232,0.5264114,0.5444624,11.1056797,7.5949641,40.9490455,13.7712984,30.6006185,67.8054277,38.8861889,47.8755242,20.9022013,6.3541931,9.9733473,9.2470015,34.5828258,9.9448657 +808,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8253023,0.8368517,11.7364237,7.7288609,47.4918235,15.1670369,34.4198693,69.1962177,37.5659157,48.3469686,26.4748012,4.3458151,10.66535,8.7050947,38.5214598,7.6665949,0.789795,0.801361,11.6021389,7.6568891,46.8587533,15.1126409,34.1938565,69.2826589,37.6266467,49.7049646,26.4164506,4.1032634,10.1006507,8.3145396,38.858286,7.9860417,0.8807146,0.8803125,12.0738368,8.1622231,46.4348554,15.4881029,34.129606,69.2165136,37.3233252,49.1338794,25.7934457,4.3034158,10.7421539,8.49888,40.0240869,7.5162745,0.7993485,0.809268,11.7463254,8.2836876,46.0019893,15.4716789,33.7486228,69.8699604,37.4891364,49.5481845,25.4859508,4.3825748,10.2667771,7.7449282,40.5485771,6.907838,0.6410175,0.6410175,11.6727343,8.2602854,46.5557113,15.5375611,33.6035033,70.1795328,36.7175549,48.4943363,24.4312174,4.2181321,10.5270873,8.0957,41.4393818,6.3757846 +809,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7259609,0.7472461,10.6832206,6.8269939,56.8916691,8.8890009,29.725104,69.7251034,40.5238552,42.7126488,20.7520708,4.4450208,9.6421632,8.6060026,37.3420153,4.8324742,0.6964773,0.7282001,10.4052594,6.8368413,56.6391855,9.0782239,29.5226633,69.7252999,40.3645239,42.7981954,20.7906764,4.5801119,9.8511164,8.6463988,36.1170512,4.7712418,0.6765922,0.7031996,10.3519736,6.8321969,55.4556142,9.0583068,29.5072452,69.6732517,40.1292236,43.0920298,20.8079344,4.7331362,9.7059916,8.7300044,36.2487739,5.0836544,0.6258955,0.6484772,9.8964342,6.6310872,54.7487575,9.1357608,29.1281977,69.2352077,39.9653766,42.3992803,20.850811,4.5373468,9.8314572,8.8126704,36.6184777,5.421686,0.6346872,0.6585488,10.095083,6.8198599,54.0174331,9.4211144,29.3688258,69.4339436,40.0913665,42.4753182,20.988232,4.6051225,9.8260829,8.6741613,36.6653662,5.5921045 +810,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5157231,0.5381561,7.2596336,4.0288069,73.4253463,19.7687543,28.6722642,62.0564725,27.3368992,40.0419642,15.2041275,5.0934781,10.0654121,9.1672801,34.8540105,4.468087,0.5787568,0.5956399,7.2666436,4.0370242,72.6822525,20.0193308,29.0919755,63.2307105,27.0654704,39.5752064,15.0623558,5.7482446,10.1336348,8.6940337,35.5066999,5.2752318,0.4836305,0.5181923,7.357557,4.1569221,72.1917745,19.7645137,30.1397202,63.2529091,27.5357437,40.2838221,15.6432646,5.6937572,9.7426514,8.4814853,35.4874382,4.2987865,0.4183174,0.4451223,6.7176093,3.8582187,70.7042668,19.9725351,30.6260263,63.6202444,27.4166224,39.9022603,15.5186381,5.8904264,9.4319044,8.3333364,36.1070367,2.9681368,0.3297927,0.3506933,6.5743488,3.960216,69.4846218,20.3860333,30.9605856,63.2351873,28.6468563,40.0197216,15.3922042,5.8627607,9.4594629,8.1985324,34.8161746,3.0233599 +811,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2187922,1.1620739,18.7954884,14.6390101,35.369744,19.2955762,36.8866302,68.7490307,38.737463,49.1361843,23.2335827,4.4197062,11.4699645,9.8032207,31.0560617,14.8599685,1.2126174,1.1612934,19.1589815,15.200805,36.2137833,18.9390198,38.4667085,68.4489144,38.5250765,48.3994256,23.2620653,4.2933689,11.6060032,10.0571374,31.5246016,15.0664815,1.2946207,1.2431836,19.4745041,15.3734528,36.5945568,18.7519101,38.4281016,68.5455043,38.2495752,48.0558692,23.3745282,4.510769,11.4900756,9.6237457,30.4928187,15.5935508,1.1186748,1.093225,19.8829777,15.7913093,36.4102606,18.8802395,38.7034192,68.3740738,38.6627284,47.7501572,24.3265292,4.4870645,11.3731658,8.8834335,30.2192362,15.4964527,1.1807988,1.1551852,20.3911732,16.3161575,36.5042299,18.6999641,38.6076762,67.733078,38.6359031,47.6606349,24.524628,4.5243119,11.6871745,9.0900889,30.8949511,15.1093528 +812,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7299443,0.7311553,9.0119567,6.2874915,51.3830443,9.8110778,31.8002663,68.0732432,33.8354579,46.6627903,18.9728045,3.0214472,10.9383336,10.1004826,30.7425996,8.2892554,0.76698,0.7535315,9.1030298,6.4287698,50.2668382,9.5391763,31.5827339,68.0344638,34.371868,46.4374864,18.7997464,2.9566343,10.5900826,9.8234821,29.9907139,7.599799,0.7430105,0.7293046,8.9360457,6.3193569,48.4715885,9.7324198,31.3209191,68.1277508,34.9674303,46.9446827,18.9545515,3.1199216,10.5994825,9.8472387,30.1104437,6.4984955,0.7475698,0.7488511,8.8513679,6.0613536,48.1045787,9.864845,31.4564563,67.9929896,35.2102131,47.9395972,19.0273727,3.1781777,10.5120822,9.660519,30.0894976,5.3946842,0.7274071,0.737004,8.7550995,6.0546927,47.2543773,10.2000664,31.3214404,68.3321809,35.6511922,48.2074718,19.3020504,3.316589,11.0200687,9.6467694,30.3188071,5.9228099 +813,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4611049,1.5482568,25.5699137,20.6927673,38.014943,16.4633721,32.1141241,65.0505429,34.5244268,44.2637472,20.4323785,2.4812182,13.7284649,10.2062266,41.7387899,15.7458303,1.255898,1.3340991,25.950794,20.9172848,39.7261743,17.1831389,32.731263,65.1430454,35.1951511,44.522864,20.411755,2.7779239,14.1474048,10.5425641,40.4866572,14.4886199,1.239836,1.3143417,26.5693016,21.5690395,40.2495064,17.780236,34.6669447,64.8711614,34.944081,44.0472318,20.3013029,3.071748,14.4749655,10.8353973,41.1285594,15.9685613,1.2657878,1.3265533,27.7726544,22.7059411,41.6070573,17.0489299,34.8892366,63.3508726,33.8767096,44.0410806,18.9969344,2.7954549,14.7634279,11.7395572,40.0034198,17.079191,1.4483347,1.4686966,28.6054319,23.6883588,42.481536,16.9569814,34.4882742,63.3059627,33.2478913,44.4425243,18.8505029,2.7687217,15.0756314,12.2763329,40.9784428,18.2051189 +814,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6649902,0.6230791,7.3542805,4.2577413,70.2511416,18.6208446,32.4660633,65.9049774,31.1538462,43.0090498,15.678733,4.4097693,9.3956954,9.5099668,36.1319967,4.0865385,0.5050722,0.4622089,7.3945294,4.659249,68.4297132,18.4356253,33.2172702,66.2256267,30.7567317,42.1773445,15.90065,4.3871866,9.5670996,9.4347826,37.3140857,4.2288557,0.3831336,0.3831336,7.1230982,4.5873675,67.1736079,18.067034,33.4485938,67.0124481,31.373905,42.208391,16.2978331,4.5873675,9.3133047,8.2256675,36.2651646,3.3333333,0.4094203,0.4094203,7.3632539,4.8387097,65.2929967,18.379262,33.5288597,67.0811825,31.557954,42.1633036,16.4007508,4.4345378,9.4315245,8.0882353,37.1515679,2.9100529,0.5155459,0.5155459,7.4358974,4.965035,63.4257047,18.9397478,33.5915493,67.4413146,31.8075117,42.2300469,17.3474178,4.7183099,9.2869718,7.7433628,37.411032,2.7227723 +815,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.468819,0.5093217,12.7401678,10.9476364,53.1292581,31.5474864,29.5180461,70.3479495,33.400157,41.2985841,16.6667448,5.8233003,12.7747458,11.4011025,33.3796405,7.1970515,0.5416421,0.58142,13.0027168,11.2438952,53.4804441,31.8357839,32.3412541,70.0396038,33.7962375,40.9392742,15.5423763,6.0184818,11.8529186,10.4903622,32.1917621,6.1151739,0.5150256,0.5548986,13.1117788,11.1042241,54.3939333,32.8792851,32.3452219,67.1277619,34.0578927,41.304365,15.0856401,6.2581852,11.4012555,11.6758472,31.4403247,5.8621094,0.6551458,0.6944546,13.9233503,11.5718303,55.2149379,32.0836759,35.1612733,66.6452685,34.7743,42.5162164,15.1613765,6.6451266,12.0596648,11.7885226,33.4699019,5.7047363,0.6528366,0.6920068,14.2593559,11.9136406,54.9285755,31.6286158,34.8464843,65.4093379,34.8466761,42.9028688,15.2814268,6.2020094,12.2422154,11.726614,34.8446282,6.6455907 +816,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3909765,0.4109366,6.9302206,4.4014103,65.5254039,16.6204554,31.4058604,65.5704535,31.5305425,39.4794212,16.6926424,8.1203282,9.5082961,7.872848,38.7298721,2.8273818,0.3253006,0.3381284,6.9622244,4.4654276,65.267299,16.7947143,31.7586573,65.3102654,30.979109,39.2734664,16.6043025,8.1228606,9.1474272,8.1008926,38.7067875,2.21239,0.3274653,0.3404975,6.8531201,4.3016013,64.058018,16.604535,32.0549278,65.2620027,31.076392,39.2203292,16.7771455,8.285989,9.1045695,8.4689592,38.966134,2.2388066,0.3378362,0.3509903,7.201983,4.519866,64.0291226,16.1570053,32.0993604,66.2980778,32.1955207,39.2788515,16.8429483,8.4775655,9.3329232,8.4355803,37.6771327,2.279636,0.3756292,0.3831075,7.0653947,4.320568,62.8946513,16.2017593,31.8675825,66.485506,32.3616672,39.0151529,16.5184425,8.0533614,9.4003726,8.3646591,37.9559664,2.7419373 +817,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8401842,0.842943,8.5790403,5.3818713,53.9212188,21.4722976,32.916208,70.0579977,32.4084106,44.5230422,15.6148066,6.329332,10.8724762,9.3770461,31.8363424,2.3305085,0.8004182,0.8031826,8.0207074,5.0196409,51.6905613,21.0327475,32.9887383,70.6383323,32.9161958,44.9582872,16.0863176,6.3293332,10.3662941,9.0819464,31.2582942,1.8218587,0.6584249,0.6611884,8.0506818,5.0517582,49.6877209,20.945741,32.468241,70.7622256,33.4119599,45.5354066,16.6061798,6.4428207,10.3164265,9.5379349,31.6887781,1.7441827,0.757965,0.7607572,7.9041989,4.8073374,49.5021949,20.675369,32.2234312,70.1782748,32.9148237,45.3238804,16.3937475,6.6047915,10.7119397,9.4719253,31.6887676,1.6605135,0.8835373,0.8863741,7.8033469,4.9159258,48.494399,20.7330547,31.8699393,69.7464608,32.5312348,45.6465646,16.7707413,6.7780906,10.7920944,9.6763381,32.4834562,2.4163479 +818,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5521616,0.5375304,7.5012891,4.8465839,22.0195648,17.7786936,32.090209,68.9204268,36.1971923,51.3627993,20.9180834,4.2687648,9.5444001,9.2925715,27.1044806,5.3564837,0.657678,0.6566624,8.038617,5.1718099,20.4474992,18.3488093,31.6715584,69.8528896,37.1772376,51.8589631,21.4698612,4.5351793,9.3845236,8.9586486,26.6637139,5.2044202,0.5812766,0.5561169,7.6037698,4.7981049,19.383706,19.1380962,32.6044187,70.4142158,38.2374427,53.0750481,21.8558565,4.7051048,9.0724771,8.9947177,25.4535391,5.0146153,0.54596,0.5263066,7.8513032,4.7333699,19.3714707,19.5309264,31.9440159,70.8404717,38.4255758,53.1123558,21.722074,4.856794,8.8531922,8.9440294,25.1701663,4.6737112,0.5992994,0.5895111,8.1156993,4.9662304,19.5408769,19.8205162,31.8225761,71.4543867,38.6134915,53.7113182,22.0606989,5.0905537,8.6509716,8.413401,24.5919327,4.5200712 +819,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.255898,1.3340991,25.950794,20.9172848,39.7261743,17.1831389,32.731263,65.1430454,35.1951511,44.522864,20.411755,2.7779239,14.1474048,10.5425641,40.4866572,14.4886199,1.239836,1.3143417,26.5693016,21.5690395,40.2495064,17.780236,34.6669447,64.8711614,34.944081,44.0472318,20.3013029,3.071748,14.4749655,10.8353973,41.1285594,15.9685613,1.2657878,1.3265533,27.7726544,22.7059411,41.6070573,17.0489299,34.8892366,63.3508726,33.8767096,44.0410806,18.9969344,2.7954549,14.7634279,11.7395572,40.0034198,17.079191,1.4483347,1.4686966,28.6054319,23.6883588,42.481536,16.9569814,34.4882742,63.3059627,33.2478913,44.4425243,18.8505029,2.7687217,15.0756314,12.2763329,40.9784428,18.2051189,1.5712913,1.5780073,29.4918783,24.6725821,44.5045212,16.8953355,34.5643737,63.038755,32.4165073,44.67709,19.3538539,2.9149793,15.9149768,12.4344011,40.8654439,19.0355233 +820,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5910115,0.610097,9.5316918,6.5716612,73.375273,11.8634602,29.9143968,66.325128,29.2839168,42.7268036,13.56674,3.951827,12.2212883,11.1321049,33.1148286,3.0797347,0.6313294,0.6466071,9.015809,6.3008877,72.7453667,11.6958431,30.2991548,65.8112516,29.8158244,42.7732746,13.659364,4.246279,11.8945195,11.5516116,33.0818378,2.6978524,0.6420252,0.6572412,9.1857305,6.6061101,71.9876022,11.6123496,30.5733177,66.2745282,30.4819079,43.9812597,14.4929385,4.5112131,11.132104,10.9401295,32.3379458,4.1367085,0.6696795,0.6937799,9.6405984,6.8603191,71.3704115,11.7372128,30.4442792,66.3328319,30.5823785,44.1873727,14.6524218,4.7997486,11.3323842,11.1421222,32.2461417,5.2158705,0.6559821,0.6782937,9.457214,6.6141783,70.2621909,11.7807541,30.4029427,66.7185627,30.5948916,44.6269855,14.9796722,4.9772409,11.3329319,11.0886144,31.8941632,5.8049054 +821,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0716416,1.0793508,14.4862501,10.2006472,27.7924601,16.5497156,33.8226422,67.8515326,40.9291548,49.2069002,25.6780881,4.1401758,11.1553293,10.2593175,36.5139725,9.2920272,0.7316553,0.739138,14.1027793,10.2467253,27.0572962,17.1096213,34.0860555,68.2405114,41.2877215,49.3622853,25.7017452,4.2360764,10.8765042,10.7322177,37.3679644,6.5788596,0.8088134,0.8360042,14.874811,10.8545972,26.8798154,17.220713,33.6840524,68.123924,41.2197262,49.8696738,26.236999,3.9818331,10.7862816,10.559277,37.8072114,5.9632165,0.8069164,0.8337138,15.0790502,11.4184828,27.4136853,16.9744239,33.8228838,67.8373939,41.5283286,49.3188949,26.2452167,3.7675713,11.5069609,10.1395633,38.5408004,5.6520098,0.7635885,0.7905977,15.5317545,11.6645778,26.6474719,16.4898316,34.7948068,68.0129652,42.0950513,49.6112612,26.3282899,3.8228998,11.7430427,10.2784498,38.7746687,6.4101019 +822,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.408717,0.419984,7.8944685,4.7691426,54.3334866,15.4877943,33.3769981,67.6040747,35.0898166,44.798462,19.4330152,4.042396,10.3954257,9.2731339,34.4274536,2.9431293,0.451545,0.470051,8.2556,5.1621795,53.4829046,15.8982211,33.6466513,67.8590278,35.7879039,44.7943846,19.7147706,4.3707149,10.2183394,9.2431284,35.0815807,3.714059,0.4569045,0.4761135,8.1375055,5.1039844,52.6038474,16.2738099,33.7604871,68.108834,36.0530155,45.2301906,20.4964567,4.6752694,10.2740004,8.6043336,34.8931892,4.563101,0.4502987,0.473325,8.1008672,5.1280553,51.6693602,16.7099433,33.3541244,68.3510552,35.5150094,45.4704104,20.2817732,4.6634473,10.8765104,8.8918879,34.3175214,5.246726,0.4752959,0.4863273,8.2648703,5.3010752,51.0668238,16.66978,32.9485474,68.2770057,35.8591734,45.9463386,19.9109626,4.5537616,10.9506755,8.9614437,34.3890164,4.7198802 +823,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7586836,0.7533373,10.8210268,7.1479958,51.7904098,15.3916281,32.9834231,69.7053275,38.8765926,45.0644434,22.559846,3.1491703,8.8360495,8.5053338,34.1298046,6.0846496,0.6611948,0.6826062,10.5065967,6.6892558,50.7775248,14.7271448,33.3028815,69.9488349,38.8563949,45.6521549,22.634258,3.0507848,8.3101559,8.3507995,33.7421138,5.3370697,0.6228987,0.6447032,10.6494838,7.1661725,49.0015377,14.8578799,34.0350184,70.5476813,40.1080231,46.590886,22.9694372,2.9247382,8.0212045,7.8480075,32.9650726,5.1630351,0.4981279,0.5200441,10.269963,7.0229742,48.4888785,14.961066,34.2744823,70.3627486,40.295415,45.9423875,22.4569849,2.7486901,7.7004268,7.5211843,30.7883506,5.7228812,0.4208975,0.4543315,9.9044425,6.7805924,47.5928915,15.6238335,33.2393812,70.3682836,40.4922907,46.0541147,22.6042785,3.025181,7.4875985,7.5908811,31.0035803,4.7770609 +824,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6594706,0.6054644,10.4947317,6.5789444,65.6672661,13.0707059,31.7683955,67.7374367,34.1748901,44.7679536,18.8547354,3.3626988,10.8678089,9.7624798,35.0625601,7.7485673,0.624822,0.5905016,10.3634001,6.708216,64.5494155,12.8516969,32.3951248,68.225602,34.7067566,45.8369069,19.1245582,3.3711465,10.7498905,9.6922418,35.0260811,8.2172958,0.5967948,0.6016948,10.2707769,6.7801957,62.8469284,13.0761067,32.2818715,68.9585093,35.7035855,46.0757077,19.4931385,3.3682603,10.091918,8.8235225,34.0899696,8.9181475,0.5549321,0.5403577,10.4407096,6.8730335,61.6713057,13.1496231,31.5928871,68.6824779,35.9987177,46.1237046,19.6886021,3.1243352,9.8113875,8.6213792,33.2996814,8.944303,0.5030474,0.522345,10.3948966,6.654827,60.873738,13.5708262,31.6350156,69.2721517,36.1497779,46.2974631,19.7995463,3.2172941,10.1922244,8.9686913,33.2594414,8.3841743 +825,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6434973,0.6261331,9.7713355,6.2500128,38.0616962,15.646622,35.4340274,69.0346097,38.6234617,49.7952403,22.0279404,3.931439,10.3981061,9.6491486,33.0185389,5.7910063,0.6400757,0.6225797,9.507472,5.9055183,36.8647481,15.9546989,35.9200365,69.1219183,38.9383749,50.0685569,21.9601786,3.9358643,10.606556,9.6914297,32.5217111,6.2121739,0.6415669,0.6181901,9.4652874,5.8545477,35.7373683,16.1068331,35.9588579,69.1166057,39.5942572,50.1668073,22.277809,4.1710653,11.1348085,10.1280502,32.1545537,6.8038599,0.6894965,0.6736262,9.3705395,5.8733979,34.8219864,16.7844129,35.6828228,69.3950768,39.8440981,50.2932964,22.5756012,4.4454754,11.5974213,10.4500644,32.2574545,5.6818661,0.6636521,0.6472361,9.3924407,5.8621462,33.9861665,17.0106888,35.4154398,69.4143651,39.9789979,49.9619623,22.7324395,4.4780531,12.0331253,10.772221,32.4672379,5.9122181 +826,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.76698,0.7535315,9.1030298,6.4287698,50.2668382,9.5391763,31.5827339,68.0344638,34.371868,46.4374864,18.7997464,2.9566343,10.5900826,9.8234821,29.9907139,7.599799,0.7430105,0.7293046,8.9360457,6.3193569,48.4715885,9.7324198,31.3209191,68.1277508,34.9674303,46.9446827,18.9545515,3.1199216,10.5994825,9.8472387,30.1104437,6.4984955,0.7475698,0.7488511,8.8513679,6.0613536,48.1045787,9.864845,31.4564563,67.9929896,35.2102131,47.9395972,19.0273727,3.1781777,10.5120822,9.660519,30.0894976,5.3946842,0.7274071,0.737004,8.7550995,6.0546927,47.2543773,10.2000664,31.3214404,68.3321809,35.6511922,48.2074718,19.3020504,3.316589,11.0200687,9.6467694,30.3188071,5.9228099,0.5794119,0.5895901,8.2702026,5.7449512,46.5260886,10.4573311,31.1537003,68.0759382,35.0972099,48.1382929,19.2498223,3.255683,10.7027724,9.2288404,30.2154456,6.39875 +827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.636724,0.6478695,11.2491533,6.9899118,65.0908271,10.2612807,33.5532582,66.1097088,40.2548885,44.308019,23.514802,4.1709068,10.972524,8.9870638,39.8827161,5.2597389,0.6294176,0.6452574,11.0346559,6.9200463,64.0764614,10.1927857,34.1050789,66.2225143,40.1611219,44.3229682,23.7149349,4.2144216,11.1644951,9.2734042,40.7647999,4.7270287,0.6264076,0.6467658,10.774445,6.8626063,63.6098338,10.0232795,33.9142551,66.2710039,40.7685119,44.4271397,23.8631719,4.2215445,11.0673286,9.2038143,40.8295481,5.2666639,0.5951244,0.6385327,10.7430679,6.8507172,62.4937402,9.8145339,34.0559908,66.1123805,40.9103177,44.572257,24.0471174,4.3207855,11.147414,9.0646094,40.6792993,5.7744542,0.6161486,0.6626558,10.6468413,6.6833768,61.8559501,9.5101449,33.7218467,66.142322,40.6342864,44.5254478,23.8857069,4.2809806,11.2521486,9.1552636,41.0445479,5.9973022 +828,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5050722,0.4622089,7.3945294,4.659249,68.4297132,18.4356253,33.2172702,66.2256267,30.7567317,42.1773445,15.90065,4.3871866,9.5670996,9.4347826,37.3140857,4.2288557,0.3831336,0.3831336,7.1230982,4.5873675,67.1736079,18.067034,33.4485938,67.0124481,31.373905,42.208391,16.2978331,4.5873675,9.3133047,8.2256675,36.2651646,3.3333333,0.4094203,0.4094203,7.3632539,4.8387097,65.2929967,18.379262,33.5288597,67.0811825,31.557954,42.1633036,16.4007508,4.4345378,9.4315245,8.0882353,37.1515679,2.9100529,0.5155459,0.5155459,7.4358974,4.965035,63.4257047,18.9397478,33.5915493,67.4413146,31.8075117,42.2300469,17.3474178,4.7183099,9.2869718,7.7433628,37.411032,2.7227723,0.4666293,0.524828,8.1340835,5.8368495,61.3221154,19.3858415,33.9386792,68.1367925,32.9009434,42.995283,17.9481132,4.8820755,9.3777778,7.4487065,36.5143369,1.7857143 +829,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4083464,0.4103915,7.4265413,4.823563,64.1418266,11.8494413,32.2941832,66.2577117,30.4438215,41.1839684,15.7347854,13.6832921,11.1405534,9.3243964,36.7650771,2.5851201,0.5217344,0.5113632,7.5714318,4.9047641,63.9765697,11.6899712,32.1025474,65.9934749,30.3753614,41.0784759,15.4018817,13.6066895,10.6606287,9.0519525,37.2120442,2.952262,0.5205307,0.5039334,7.3659237,4.8133087,63.2032568,11.0909341,32.4414516,65.7747835,30.3853514,41.5645449,15.761169,13.4463502,10.8258125,9.0662242,37.8093257,3.2435748,0.5305149,0.5294745,7.3623413,4.9150238,62.5535199,10.9782486,32.3260596,65.4502092,30.6343802,41.3437921,15.7230584,13.5129603,10.7400759,9.0826909,37.714957,3.597561,0.5260618,0.5229285,7.2755881,4.9392006,62.1013797,10.6792837,31.8194325,65.2260602,29.5520161,40.573038,15.4390553,13.6663455,10.8723961,9.1631911,37.5427053,3.7561576 +830,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.208609,1.2165349,12.7759717,8.305034,51.3564294,18.7195533,38.243696,68.1948254,39.1061211,49.2526869,22.348358,3.2049348,12.5891099,11.7534073,34.0783175,7.9545563,1.1453143,1.1534465,12.0725494,7.6956526,49.7454748,18.3166693,38.1422974,68.4435312,38.7035372,49.3650612,22.4896506,3.3815645,12.4435356,11.0202757,34.5913298,7.9710222,1.0796454,1.1146664,11.5341238,7.5696612,48.0837426,19.2161897,38.2937802,68.8761383,38.5865278,49.0928223,22.8123965,3.2630925,11.842819,10.982484,34.2897239,8.1280828,0.9938276,1.0348779,11.4590148,7.46942,47.835904,19.2672739,38.0363236,69.5619292,39.0197196,49.5977969,23.4058336,3.3224046,11.2434351,11.0046356,34.5300021,7.2500109,0.9394153,0.9764813,11.5766948,7.7810071,47.4167857,18.9257705,38.0917711,69.2021475,38.9849693,49.2856566,23.4445147,3.3789769,11.8031398,11.2343303,34.0857692,6.4766 +831,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.686355,0.6894317,9.9094023,6.5703495,58.9205629,12.9127068,29.1521032,67.8272584,37.8232315,43.9799119,20.0489037,5.241249,10.7933253,8.5165675,33.6253827,5.0421303,0.6803773,0.6843917,9.6487926,6.5769415,58.6335538,12.8988564,29.1876068,68.1802974,38.6127952,44.2175288,20.5353006,5.5562526,10.2688788,9.0527899,33.450555,5.2017793,0.6867091,0.6907601,9.4984088,6.5887434,58.2019696,12.6860538,28.7320496,67.7987296,38.7289837,43.513626,20.2532017,5.1982704,10.5224643,9.2380236,34.1561964,4.9333133,0.5967688,0.5897148,9.4067402,6.8667401,57.2044691,12.8022327,29.008031,68.0355487,38.68305,43.5193636,19.9729895,5.2544086,10.6275877,9.3426138,33.8657603,6.2287042,0.6556915,0.648462,9.4320683,6.8486788,56.2328689,13.1103477,29.358352,67.6989433,39.1100393,44.1336638,20.4435203,5.202932,10.6081678,8.994531,34.1705175,7.194391 +832,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6294176,0.6452574,11.0346559,6.9200463,64.0764614,10.1927857,34.1050789,66.2225143,40.1611219,44.3229682,23.7149349,4.2144216,11.1644951,9.2734042,40.7647999,4.7270287,0.6264076,0.6467658,10.774445,6.8626063,63.6098338,10.0232795,33.9142551,66.2710039,40.7685119,44.4271397,23.8631719,4.2215445,11.0673286,9.2038143,40.8295481,5.2666639,0.5951244,0.6385327,10.7430679,6.8507172,62.4937402,9.8145339,34.0559908,66.1123805,40.9103177,44.572257,24.0471174,4.3207855,11.147414,9.0646094,40.6792993,5.7744542,0.6161486,0.6626558,10.6468413,6.6833768,61.8559501,9.5101449,33.7218467,66.142322,40.6342864,44.5254478,23.8857069,4.2809806,11.2521486,9.1552636,41.0445479,5.9973022,0.6195236,0.6806266,10.749759,6.7906266,61.0512653,9.4896693,33.2985852,66.3629038,40.8451154,44.7780696,23.9394659,4.4255345,10.545805,8.7811665,40.4795615,6.2243477 +833,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7542222,0.8024138,9.8914145,6.0107768,53.5859676,17.6788352,32.8348282,68.5072689,38.0066276,44.9117088,22.826347,4.1793908,10.0627782,9.3831341,36.6049821,6.8586256,0.704339,0.7489925,9.3025971,5.6641844,53.1062282,17.1392282,32.5071399,67.861307,37.9460719,44.5181354,22.8470034,3.9234186,10.2965103,9.5451853,36.2056097,6.3983226,0.6813489,0.7096858,9.0533896,5.443342,52.590317,16.9162247,32.6409425,67.8531258,38.5965148,45.0752349,22.8209392,3.9075054,10.338281,9.1430551,34.9749941,6.5855972,0.690509,0.6841146,9.1027219,5.5667311,51.4222021,17.5904046,32.6711615,68.4942652,38.4073223,46.1753146,23.1102122,3.9885467,10.0800334,9.4571025,34.5351164,5.750207,0.6680977,0.6614103,9.0230199,5.6145735,50.5905463,17.5859026,32.7024974,69.0490826,38.8643602,47.2471121,23.7878422,4.1131156,10.4679734,9.4593961,33.8482124,4.3591353 +834,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5217344,0.5113632,7.5714318,4.9047641,63.9765697,11.6899712,32.1025474,65.9934749,30.3753614,41.0784759,15.4018817,13.6066895,10.6606287,9.0519525,37.2120442,2.952262,0.5205307,0.5039334,7.3659237,4.8133087,63.2032568,11.0909341,32.4414516,65.7747835,30.3853514,41.5645449,15.761169,13.4463502,10.8258125,9.0662242,37.8093257,3.2435748,0.5305149,0.5294745,7.3623413,4.9150238,62.5535199,10.9782486,32.3260596,65.4502092,30.6343802,41.3437921,15.7230584,13.5129603,10.7400759,9.0826909,37.714957,3.597561,0.5260618,0.5229285,7.2755881,4.9392006,62.1013797,10.6792837,31.8194325,65.2260602,29.5520161,40.573038,15.4390553,13.6663455,10.8723961,9.1631911,37.5427053,3.7561576,0.5812707,0.5696485,7.5587884,5.0553278,62.1056365,10.3046615,31.555897,64.912407,30.1098431,40.4268584,15.5241936,13.8973848,10.9078965,9.2212568,37.835333,3.390875 +835,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3831336,0.3831336,7.1230982,4.5873675,67.1736079,18.067034,33.4485938,67.0124481,31.373905,42.208391,16.2978331,4.5873675,9.3133047,8.2256675,36.2651646,3.3333333,0.4094203,0.4094203,7.3632539,4.8387097,65.2929967,18.379262,33.5288597,67.0811825,31.557954,42.1633036,16.4007508,4.4345378,9.4315245,8.0882353,37.1515679,2.9100529,0.5155459,0.5155459,7.4358974,4.965035,63.4257047,18.9397478,33.5915493,67.4413146,31.8075117,42.2300469,17.3474178,4.7183099,9.2869718,7.7433628,37.411032,2.7227723,0.4666293,0.524828,8.1340835,5.8368495,61.3221154,19.3858415,33.9386792,68.1367925,32.9009434,42.995283,17.9481132,4.8820755,9.3777778,7.4487065,36.5143369,1.7857143,0.5317911,0.5754401,8.42723,5.8920188,60.2354637,19.7701689,34.1894439,68.4967012,33.1055608,43.4260132,18.4967012,4.736098,9.500446,7.8194817,36.1310592,1.2135922 +836,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6313294,0.6466071,9.015809,6.3008877,72.7453667,11.6958431,30.2991548,65.8112516,29.8158244,42.7732746,13.659364,4.246279,11.8945195,11.5516116,33.0818378,2.6978524,0.6420252,0.6572412,9.1857305,6.6061101,71.9876022,11.6123496,30.5733177,66.2745282,30.4819079,43.9812597,14.4929385,4.5112131,11.132104,10.9401295,32.3379458,4.1367085,0.6696795,0.6937799,9.6405984,6.8603191,71.3704115,11.7372128,30.4442792,66.3328319,30.5823785,44.1873727,14.6524218,4.7997486,11.3323842,11.1421222,32.2461417,5.2158705,0.6559821,0.6782937,9.457214,6.6141783,70.2621909,11.7807541,30.4029427,66.7185627,30.5948916,44.6269855,14.9796722,4.9772409,11.3329319,11.0886144,31.8941632,5.8049054,0.5336389,0.568694,9.0157575,6.2777323,69.5283785,12.2324162,29.9021614,66.2611878,31.4819679,44.9222332,15.0326572,5.3285156,10.982958,11.2393927,31.2292573,6.0543382 +837,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6175943,0.645172,12.5971791,7.3973625,58.4072865,20.7966512,34.0851099,69.1005097,36.153271,46.9640684,21.3426687,3.5786439,11.7337928,11.6020823,37.3027898,4.2933245,0.6312348,0.6591664,13.2519758,7.6987226,57.6431049,21.1004812,33.6014967,69.3736381,35.9606898,47.693821,21.2399743,3.540847,12.8547239,12.481197,37.3210983,3.8762024,0.6004937,0.6459455,13.3550419,7.6767162,56.0911978,21.252568,33.1107925,69.2123485,34.8975622,48.2032322,21.5795032,3.4002935,13.3614899,12.4703332,37.7225783,3.2798675,0.7088874,0.7542911,13.5006683,7.8063239,54.9609625,21.5861469,33.7472407,69.3249367,35.611827,48.6163163,22.0897747,3.4720283,13.2783566,12.1615802,37.9100094,3.5579436,0.7067022,0.7620992,13.4205613,7.7501236,54.0201437,22.3483322,34.0825376,69.1289082,35.2787963,48.8430268,22.2932003,3.5706526,13.9616957,12.2612883,38.2437072,3.0952818 +838,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0741617,1.1265174,22.735992,17.9944353,35.8050956,14.7564107,37.5782518,66.1770274,33.3412806,49.9036501,25.8789838,5.801719,15.5690736,12.2649823,35.3909803,13.2848701,1.1215801,1.1700604,22.8890657,18.2401411,36.8742439,14.1405762,38.5151011,66.2901324,32.8927277,50,26.2616924,5.5502932,16.1002116,12.5944805,36.4109639,12.9266779,1.0446021,1.0922308,22.6721033,17.8990998,37.7696619,13.8177225,38.131724,66.6094409,33.3334995,50.2305523,25.7964177,5.4820525,16.132172,12.6558725,35.8052035,13.2220026,1.1293626,1.1313384,23.2302293,18.0472825,39.2783976,13.6431441,38.7176103,66.3524814,33.1094934,49.9205824,25.1207883,5.1964836,15.2340893,12.5929497,33.7654735,10.564269,1.0552927,1.0126616,22.9339982,17.7059933,40.1678166,13.1940586,39.4902718,66.7681164,33.5096683,49.8477363,25.9046664,5.1326469,14.8183637,12.1906874,33.5129442,9.8095355 +839,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6312348,0.6591664,13.2519758,7.6987226,57.6431049,21.1004812,33.6014967,69.3736381,35.9606898,47.693821,21.2399743,3.540847,12.8547239,12.481197,37.3210983,3.8762024,0.6004937,0.6459455,13.3550419,7.6767162,56.0911978,21.252568,33.1107925,69.2123485,34.8975622,48.2032322,21.5795032,3.4002935,13.3614899,12.4703332,37.7225783,3.2798675,0.7088874,0.7542911,13.5006683,7.8063239,54.9609625,21.5861469,33.7472407,69.3249367,35.611827,48.6163163,22.0897747,3.4720283,13.2783566,12.1615802,37.9100094,3.5579436,0.7067022,0.7620992,13.4205613,7.7501236,54.0201437,22.3483322,34.0825376,69.1289082,35.2787963,48.8430268,22.2932003,3.5706526,13.9616957,12.2612883,38.2437072,3.0952818,0.6317498,0.6966427,12.5951005,7.6678479,52.8969076,21.7077245,33.8896137,68.8224049,34.7118412,48.1543081,21.37082,3.9387853,13.8739215,12.3025666,39.0107599,4.0540497 +840,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.1215801,1.1700604,22.8890657,18.2401411,36.8742439,14.1405762,38.5151011,66.2901324,32.8927277,50,26.2616924,5.5502932,16.1002116,12.5944805,36.4109639,12.9266779,1.0446021,1.0922308,22.6721033,17.8990998,37.7696619,13.8177225,38.131724,66.6094409,33.3334995,50.2305523,25.7964177,5.4820525,16.132172,12.6558725,35.8052035,13.2220026,1.1293626,1.1313384,23.2302293,18.0472825,39.2783976,13.6431441,38.7176103,66.3524814,33.1094934,49.9205824,25.1207883,5.1964836,15.2340893,12.5929497,33.7654735,10.564269,1.0552927,1.0126616,22.9339982,17.7059933,40.1678166,13.1940586,39.4902718,66.7681164,33.5096683,49.8477363,25.9046664,5.1326469,14.8183637,12.1906874,33.5129442,9.8095355,1.000281,0.9435328,23.5999234,18.8563984,41.1945776,13.3598495,39.3184844,66.5741943,33.6093251,50.089685,25.768832,5.1439446,14.443817,12.2428538,33.3546527,9.3095495 +841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3253006,0.3381284,6.9622244,4.4654276,65.267299,16.7947143,31.7586573,65.3102654,30.979109,39.2734664,16.6043025,8.1228606,9.1474272,8.1008926,38.7067875,2.21239,0.3274653,0.3404975,6.8531201,4.3016013,64.058018,16.604535,32.0549278,65.2620027,31.076392,39.2203292,16.7771455,8.285989,9.1045695,8.4689592,38.966134,2.2388066,0.3378362,0.3509903,7.201983,4.519866,64.0291226,16.1570053,32.0993604,66.2980778,32.1955207,39.2788515,16.8429483,8.4775655,9.3329232,8.4355803,37.6771327,2.279636,0.3756292,0.3831075,7.0653947,4.320568,62.8946513,16.2017593,31.8675825,66.485506,32.3616672,39.0151529,16.5184425,8.0533614,9.4003726,8.3646591,37.9559664,2.7419373,0.3999103,0.4075838,7.2145257,4.342559,61.6792069,16.5885576,31.1884503,66.7402377,32.818346,39.2699527,16.8590833,8.6417676,9.6028624,8.7793709,37.499991,2.4834454 +842,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1453143,1.1534465,12.0725494,7.6956526,49.7454748,18.3166693,38.1422974,68.4435312,38.7035372,49.3650612,22.4896506,3.3815645,12.4435356,11.0202757,34.5913298,7.9710222,1.0796454,1.1146664,11.5341238,7.5696612,48.0837426,19.2161897,38.2937802,68.8761383,38.5865278,49.0928223,22.8123965,3.2630925,11.842819,10.982484,34.2897239,8.1280828,0.9938276,1.0348779,11.4590148,7.46942,47.835904,19.2672739,38.0363236,69.5619292,39.0197196,49.5977969,23.4058336,3.3224046,11.2434351,11.0046356,34.5300021,7.2500109,0.9394153,0.9764813,11.5766948,7.7810071,47.4167857,18.9257705,38.0917711,69.2021475,38.9849693,49.2856566,23.4445147,3.3789769,11.8031398,11.2343303,34.0857692,6.4766,0.8821448,0.9799888,11.3306153,7.7368428,45.5867422,18.8269371,38.1333874,69.2852864,39.1889488,50.1358682,24.2913602,3.603734,11.6930566,11.3597563,33.5889392,7.0679666 +843,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3253778,1.3858147,26.9883181,22.3954583,39.0337474,19.9610044,36.3777728,67.1541451,34.6691591,46.3693314,20.7345265,4.9616849,13.679822,11.1697509,31.3506102,10.6768988,1.2285355,1.2877313,27.0324003,22.337205,39.2278267,20.1048367,36.7741748,68.4758298,35.87699,47.0807301,22.2415865,5.0243627,13.8763919,11.8832097,30.4538485,11.9883236,1.1823661,1.2412282,26.997749,22.3787712,39.8235887,19.3692046,37.45321,68.3634475,35.430052,46.7464836,21.7748937,4.8985653,14.3477645,12.2482054,31.8520696,12.784051,1.1497763,1.2075502,27.3811641,22.9247366,41.3888915,19.84739,38.2686999,67.877734,35.2273867,47.2084855,21.8794923,4.6862485,14.2762904,13.4276405,32.3235901,14.4020347,1.2072856,1.2649548,27.5937243,23.1324923,40.4108048,19.1509282,38.2438191,67.3668076,34.7814157,46.839272,22.228274,4.2353219,14.3771225,14.1477539,33.1710973,15.2775625 +844,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5625472,0.5760555,11.8924205,7.8776111,36.1646343,17.8090776,32.8959835,70.7693079,41.5704716,49.9384966,25.5032284,3.1460146,8.6054485,8.8677318,31.2576309,7.0109232,0.5930172,0.6059678,12.0781004,8.2361942,37.0555069,17.5786565,32.8741907,69.4132312,41.4958193,49.8236157,24.4276181,3.4897234,9.7635111,9.1825873,30.7461892,5.857393,0.5998598,0.6084678,12.1614991,8.3238015,36.4553659,17.4672569,33.6121289,69.210726,41.1582033,49.5677086,24.6251521,3.5426609,10.0002289,9.4221295,31.1922816,7.4576146,0.5576779,0.5911503,11.8650624,7.9729551,36.8192774,17.8251954,34.8587466,70.0774443,41.6807142,49.7224093,25.706794,3.3555583,10.7550399,9.5160427,30.9125622,6.580434,0.5761189,0.6078326,11.6017652,7.8277014,36.7388768,18.278375,34.9005821,70.6669747,41.0451971,48.9757067,25.7086222,3.3351099,11.354496,9.5317387,33.4225564,5.1600932 +845,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4094203,0.4094203,7.3632539,4.8387097,65.2929967,18.379262,33.5288597,67.0811825,31.557954,42.1633036,16.4007508,4.4345378,9.4315245,8.0882353,37.1515679,2.9100529,0.5155459,0.5155459,7.4358974,4.965035,63.4257047,18.9397478,33.5915493,67.4413146,31.8075117,42.2300469,17.3474178,4.7183099,9.2869718,7.7433628,37.411032,2.7227723,0.4666293,0.524828,8.1340835,5.8368495,61.3221154,19.3858415,33.9386792,68.1367925,32.9009434,42.995283,17.9481132,4.8820755,9.3777778,7.4487065,36.5143369,1.7857143,0.5317911,0.5754401,8.42723,5.8920188,60.2354637,19.7701689,34.1894439,68.4967012,33.1055608,43.4260132,18.4967012,4.736098,9.500446,7.8194817,36.1310592,1.2135922,0.5119255,0.5555556,8.1378987,5.65197,59.2193487,19.6771175,32.4470588,69.0117647,32.7294118,43.5058824,18.5176471,4.8235294,10.1687389,7.969724,35.6951872,1.6509434 +846,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6611948,0.6826062,10.5065967,6.6892558,50.7775248,14.7271448,33.3028815,69.9488349,38.8563949,45.6521549,22.634258,3.0507848,8.3101559,8.3507995,33.7421138,5.3370697,0.6228987,0.6447032,10.6494838,7.1661725,49.0015377,14.8578799,34.0350184,70.5476813,40.1080231,46.590886,22.9694372,2.9247382,8.0212045,7.8480075,32.9650726,5.1630351,0.4981279,0.5200441,10.269963,7.0229742,48.4888785,14.961066,34.2744823,70.3627486,40.295415,45.9423875,22.4569849,2.7486901,7.7004268,7.5211843,30.7883506,5.7228812,0.4208975,0.4543315,9.9044425,6.7805924,47.5928915,15.6238335,33.2393812,70.3682836,40.4922907,46.0541147,22.6042785,3.025181,7.4875985,7.5908811,31.0035803,4.7770609,0.4837941,0.5179786,10.1768189,6.8660608,47.4639205,15.179935,33.7514484,69.6835208,39.5793032,45.5229742,22.6360433,2.9525302,7.6671685,7.3411279,31.3416385,4.166656 +847,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.657678,0.6566624,8.038617,5.1718099,20.4474992,18.3488093,31.6715584,69.8528896,37.1772376,51.8589631,21.4698612,4.5351793,9.3845236,8.9586486,26.6637139,5.2044202,0.5812766,0.5561169,7.6037698,4.7981049,19.383706,19.1380962,32.6044187,70.4142158,38.2374427,53.0750481,21.8558565,4.7051048,9.0724771,8.9947177,25.4535391,5.0146153,0.54596,0.5263066,7.8513032,4.7333699,19.3714707,19.5309264,31.9440159,70.8404717,38.4255758,53.1123558,21.722074,4.856794,8.8531922,8.9440294,25.1701663,4.6737112,0.5992994,0.5895111,8.1156993,4.9662304,19.5408769,19.8205162,31.8225761,71.4543867,38.6134915,53.7113182,22.0606989,5.0905537,8.6509716,8.413401,24.5919327,4.5200712,0.6462222,0.6755958,8.118476,4.8486529,19.6421269,20.1694159,32.1728899,70.8833898,38.742253,53.1883236,22.7512868,5.1700793,8.8820103,7.9806768,25.8440345,2.8922799 +848,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5312135,0.5788797,10.6881158,7.0971799,45.2805883,13.278675,30.6372717,68.2338841,38.7404641,48.5474427,19.8049597,5.861489,10.4210546,10.2494407,32.0821091,9.1174135,0.4174974,0.4174974,10.6406984,7.1803087,43.881419,13.1528355,31.0757701,68.5734313,39.3339744,49.0211004,20.3742494,5.9289618,10.569464,10.0718365,32.7360819,8.8098015,0.4985404,0.4904548,10.9036218,7.2976996,42.2137088,13.1180416,30.8250896,68.4062939,39.0979304,48.0983287,20.7429594,6.0539943,10.7590964,9.5943596,33.1679446,9.1175232,0.5264114,0.5444624,11.1056797,7.5949641,40.9490455,13.7712984,30.6006185,67.8054277,38.8861889,47.8755242,20.9022013,6.3541931,9.9733473,9.2470015,34.5828258,9.9448657,0.5361753,0.5546572,11.2122859,7.6940091,41.2505646,13.6054483,30.5737698,67.5051639,38.9770531,47.3377278,20.9436436,6.1009221,10.4239972,9.7537971,34.9677945,8.9610812 +849,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0271754,0.9558035,23.2718277,18.670746,49.2607303,17.2226818,34.9560156,64.3235111,30.8692875,41.2379537,20.4361487,3.2174925,12.9802866,10.4249167,42.6700734,13.1727432,1.1607459,1.1607459,25.0267604,20.2313718,49.5552741,17.6475641,35.09486,64.1051008,30.9397997,41.4138801,20.5227904,3.2238822,13.2123369,10.4561268,43.5390417,14.1691908,1.3565825,1.3613964,27.0494629,21.5275065,50.116475,17.4567261,35.0133763,63.6428056,30.7594975,41.0377532,20.7218404,3.5089935,13.8023814,10.3276253,43.6435365,17.8934977,1.3745066,1.3794385,28.2913021,22.7751365,50.5143309,17.2761302,35.0044061,62.9470471,30.4765252,40.6983794,20.7728462,3.096053,13.9138505,10.390637,44.8161187,21.4404546,1.6061323,1.6337186,29.899388,24.1215256,50.5211814,17.2675307,36.1839792,62.6073187,29.5103869,40.661608,20.3631266,2.9448198,13.4619364,10.1159825,44.3326264,23.4693494 +850,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5643565,0.5491895,8.5672782,5.244552,72.6563446,13.1233791,26.6767178,64.0349383,32.7429317,38.6440285,14.8141416,3.0412173,12.1926352,11.6775947,37.5513881,4.1026528,0.5249937,0.5093733,8.8821087,5.4223539,72.0875947,13.0677261,27.1776179,65.1913917,32.0919565,37.4375155,14.1357391,3.0699586,11.0811544,9.8285892,37.4209969,4.4652317,0.6054572,0.5893587,8.9922985,5.4632735,70.7895578,13.7540148,27.4498134,64.009732,32.2889821,37.7005617,14.8392089,3.2168121,12.368102,10.6824508,36.970055,5.6451053,0.4642803,0.4317481,9.153337,5.9308541,68.7683073,13.4403513,27.4964254,63.5814606,32.6031919,38.1493104,15.3659499,3.4651051,12.9758219,10.7670073,36.2062524,4.7766275,0.5011234,0.468593,9.0734211,5.4885986,67.081138,13.3635192,27.9934827,63.0944697,33.4448871,38.6265812,16.3147621,3.3183127,13.0670224,10.4965682,35.3432365,4.6541501 +851,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6309524,1.7380952,30.6475904,24.7740964,59.2857143,5.7164634,38.0620155,67.5193798,29.6899225,44.4186047,16.6666667,4.5736434,13.2621951,9.5744681,35.4294479,15.248227,1.579836,1.6883743,33.0534351,27.2519084,60.3035144,6.558642,37.5981162,67.7394035,29.5918367,44.6624804,15.9340659,5.2590267,12.2727273,8.6102719,33.2826748,12.8289474,1.5540871,1.6642193,32.8438949,26.8160742,61.5823817,7.1205008,36.7038217,66.9585987,28.4235669,43.3917197,15.843949,4.8566879,15.3726708,11.2654321,36.1801242,11.7449664,1.7146411,1.8265814,32.725832,26.703645,63.25,7.9073482,35.3658537,66.2601626,27.7235772,42.6829268,15.203252,5.6097561,15.15625,10.7476636,34.84375,12.5,1.984944,2.0952381,33.671875,27.734375,61.5702479,7.6619273,36.1958266,64.1252006,26.4044944,40.6902087,15.1685393,5.5377207,16.1949686,11.7554859,35.5799373,13.803681 +852,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5205307,0.5039334,7.3659237,4.8133087,63.2032568,11.0909341,32.4414516,65.7747835,30.3853514,41.5645449,15.761169,13.4463502,10.8258125,9.0662242,37.8093257,3.2435748,0.5305149,0.5294745,7.3623413,4.9150238,62.5535199,10.9782486,32.3260596,65.4502092,30.6343802,41.3437921,15.7230584,13.5129603,10.7400759,9.0826909,37.714957,3.597561,0.5260618,0.5229285,7.2755881,4.9392006,62.1013797,10.6792837,31.8194325,65.2260602,29.5520161,40.573038,15.4390553,13.6663455,10.8723961,9.1631911,37.5427053,3.7561576,0.5812707,0.5696485,7.5587884,5.0553278,62.1056365,10.3046615,31.555897,64.912407,30.1098431,40.4268584,15.5241936,13.8973848,10.9078965,9.2212568,37.835333,3.390875,0.583516,0.5590769,7.5620352,5.0111542,61.695086,10.2459605,31.2613387,65.3062672,29.8241907,40.3167252,15.5783455,14.0853904,10.5840399,9.2289404,37.8266716,3.263546 +853,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6420252,0.6572412,9.1857305,6.6061101,71.9876022,11.6123496,30.5733177,66.2745282,30.4819079,43.9812597,14.4929385,4.5112131,11.132104,10.9401295,32.3379458,4.1367085,0.6696795,0.6937799,9.6405984,6.8603191,71.3704115,11.7372128,30.4442792,66.3328319,30.5823785,44.1873727,14.6524218,4.7997486,11.3323842,11.1421222,32.2461417,5.2158705,0.6559821,0.6782937,9.457214,6.6141783,70.2621909,11.7807541,30.4029427,66.7185627,30.5948916,44.6269855,14.9796722,4.9772409,11.3329319,11.0886144,31.8941632,5.8049054,0.5336389,0.568694,9.0157575,6.2777323,69.5283785,12.2324162,29.9021614,66.2611878,31.4819679,44.9222332,15.0326572,5.3285156,10.982958,11.2393927,31.2292573,6.0543382,0.5390443,0.5755586,9.0101977,6.2852732,68.1434287,12.5388115,29.2895955,66.5577158,31.5878608,44.9856198,15.4218282,5.3408553,11.0189582,11.1027117,30.6972936,7.3409324 +854,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5787568,0.5956399,7.2666436,4.0370242,72.6822525,20.0193308,29.0919755,63.2307105,27.0654704,39.5752064,15.0623558,5.7482446,10.1336348,8.6940337,35.5066999,5.2752318,0.4836305,0.5181923,7.357557,4.1569221,72.1917745,19.7645137,30.1397202,63.2529091,27.5357437,40.2838221,15.6432646,5.6937572,9.7426514,8.4814853,35.4874382,4.2987865,0.4183174,0.4451223,6.7176093,3.8582187,70.7042668,19.9725351,30.6260263,63.6202444,27.4166224,39.9022603,15.5186381,5.8904264,9.4319044,8.3333364,36.1070367,2.9681368,0.3297927,0.3506933,6.5743488,3.960216,69.4846218,20.3860333,30.9605856,63.2351873,28.6468563,40.0197216,15.3922042,5.8627607,9.4594629,8.1985324,34.8161746,3.0233599,0.2871644,0.2810839,6.9041218,4.1981836,68.7883358,19.7893641,30.650755,63.5981392,29.4127396,40.0360664,15.3155432,5.9704636,9.8733271,8.3645943,35.5263216,3.1554532 +855,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8004182,0.8031826,8.0207074,5.0196409,51.6905613,21.0327475,32.9887383,70.6383323,32.9161958,44.9582872,16.0863176,6.3293332,10.3662941,9.0819464,31.2582942,1.8218587,0.6584249,0.6611884,8.0506818,5.0517582,49.6877209,20.945741,32.468241,70.7622256,33.4119599,45.5354066,16.6061798,6.4428207,10.3164265,9.5379349,31.6887781,1.7441827,0.757965,0.7607572,7.9041989,4.8073374,49.5021949,20.675369,32.2234312,70.1782748,32.9148237,45.3238804,16.3937475,6.6047915,10.7119397,9.4719253,31.6887676,1.6605135,0.8835373,0.8863741,7.8033469,4.9159258,48.494399,20.7330547,31.8699393,69.7464608,32.5312348,45.6465646,16.7707413,6.7780906,10.7920944,9.6763381,32.4834562,2.4163479,0.7104459,0.7046176,7.8324406,5.0525816,47.7557769,20.9828231,31.5343838,69.1048777,32.7378789,44.8852588,17.0176782,6.6754281,11.4059457,9.6896418,32.8838411,2.830178 +856,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5305149,0.5294745,7.3623413,4.9150238,62.5535199,10.9782486,32.3260596,65.4502092,30.6343802,41.3437921,15.7230584,13.5129603,10.7400759,9.0826909,37.714957,3.597561,0.5260618,0.5229285,7.2755881,4.9392006,62.1013797,10.6792837,31.8194325,65.2260602,29.5520161,40.573038,15.4390553,13.6663455,10.8723961,9.1631911,37.5427053,3.7561576,0.5812707,0.5696485,7.5587884,5.0553278,62.1056365,10.3046615,31.555897,64.912407,30.1098431,40.4268584,15.5241936,13.8973848,10.9078965,9.2212568,37.835333,3.390875,0.583516,0.5590769,7.5620352,5.0111542,61.695086,10.2459605,31.2613387,65.3062672,29.8241907,40.3167252,15.5783455,14.0853904,10.5840399,9.2289404,37.8266716,3.263546,0.6185864,0.5687092,7.3281478,4.7773461,61.0057902,10.1633546,31.1693016,65.4160683,29.9641294,40.3658517,15.7173581,14.4404599,10.4742523,9.2226411,36.8270084,3.6828955 +857,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6964773,0.7282001,10.4052594,6.8368413,56.6391855,9.0782239,29.5226633,69.7252999,40.3645239,42.7981954,20.7906764,4.5801119,9.8511164,8.6463988,36.1170512,4.7712418,0.6765922,0.7031996,10.3519736,6.8321969,55.4556142,9.0583068,29.5072452,69.6732517,40.1292236,43.0920298,20.8079344,4.7331362,9.7059916,8.7300044,36.2487739,5.0836544,0.6258955,0.6484772,9.8964342,6.6310872,54.7487575,9.1357608,29.1281977,69.2352077,39.9653766,42.3992803,20.850811,4.5373468,9.8314572,8.8126704,36.6184777,5.421686,0.6346872,0.6585488,10.095083,6.8198599,54.0174331,9.4211144,29.3688258,69.4339436,40.0913665,42.4753182,20.988232,4.6051225,9.8260829,8.6741613,36.6653662,5.5921045,0.6249015,0.6384066,10.1770817,6.8297123,53.733538,9.4880763,29.236144,69.6126952,40.2097906,42.5443769,21.2533557,4.5992446,9.9622509,8.5477758,36.9669657,5.403556 +858,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6584249,0.6611884,8.0506818,5.0517582,49.6877209,20.945741,32.468241,70.7622256,33.4119599,45.5354066,16.6061798,6.4428207,10.3164265,9.5379349,31.6887781,1.7441827,0.757965,0.7607572,7.9041989,4.8073374,49.5021949,20.675369,32.2234312,70.1782748,32.9148237,45.3238804,16.3937475,6.6047915,10.7119397,9.4719253,31.6887676,1.6605135,0.8835373,0.8863741,7.8033469,4.9159258,48.494399,20.7330547,31.8699393,69.7464608,32.5312348,45.6465646,16.7707413,6.7780906,10.7920944,9.6763381,32.4834562,2.4163479,0.7104459,0.7046176,7.8324406,5.0525816,47.7557769,20.9828231,31.5343838,69.1048777,32.7378789,44.8852588,17.0176782,6.6754281,11.4059457,9.6896418,32.8838411,2.830178,0.7004521,0.7034077,7.7026375,4.9366031,46.5961309,20.8365088,32.1577984,69.1383679,33.6447002,45.6537913,17.3656202,6.4620553,11.6822346,9.8849677,32.3381422,2.3985151 +859,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.789795,0.801361,11.6021389,7.6568891,46.8587533,15.1126409,34.1938565,69.2826589,37.6266467,49.7049646,26.4164506,4.1032634,10.1006507,8.3145396,38.858286,7.9860417,0.8807146,0.8803125,12.0738368,8.1622231,46.4348554,15.4881029,34.129606,69.2165136,37.3233252,49.1338794,25.7934457,4.3034158,10.7421539,8.49888,40.0240869,7.5162745,0.7993485,0.809268,11.7463254,8.2836876,46.0019893,15.4716789,33.7486228,69.8699604,37.4891364,49.5481845,25.4859508,4.3825748,10.2667771,7.7449282,40.5485771,6.907838,0.6410175,0.6410175,11.6727343,8.2602854,46.5557113,15.5375611,33.6035033,70.1795328,36.7175549,48.4943363,24.4312174,4.2181321,10.5270873,8.0957,41.4393818,6.3757846,0.6666618,0.6666618,11.664757,8.0357175,46.8026724,14.5599452,33.5820936,70.835848,36.2089422,47.9701337,24.0895714,4.149249,10.6096039,9.2352845,41.3690456,5.434722 +860,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2072496,1.2295591,21.3557084,17.4349143,41.9697679,20.5287218,37.653094,66.7166976,38.2141305,47.5580465,20.0923654,3.4818737,14.340445,11.7872516,36.9880318,16.0286354,1.1264147,1.1578489,21.1885131,17.0438112,43.880021,20.0611834,37.934903,66.8423592,37.0883454,46.7262014,19.549253,3.0642778,14.6270055,11.3579494,36.2068742,14.5088969,1.0626861,1.0896579,21.211635,17.4728874,45.8052828,20.341143,37.9008874,67.3009988,37.6130255,46.7871391,19.7598292,3.2555601,14.2446692,11.2161245,35.3788735,12.3481477,1.1227648,1.1493366,21.2984761,17.3711335,47.0533653,20.6431385,37.9927736,66.980354,37.7910992,46.9343294,20.550726,3.2678704,14.3485201,11.3200118,35.7830815,11.7760118,1.139329,1.2021888,21.9395273,18.0266435,47.5453831,20.3980752,38.3335463,67.539646,36.8356752,47.0448185,20.3985777,3.3307678,14.4830096,12.0458051,36.1220601,12.2640986 +861,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6765922,0.7031996,10.3519736,6.8321969,55.4556142,9.0583068,29.5072452,69.6732517,40.1292236,43.0920298,20.8079344,4.7331362,9.7059916,8.7300044,36.2487739,5.0836544,0.6258955,0.6484772,9.8964342,6.6310872,54.7487575,9.1357608,29.1281977,69.2352077,39.9653766,42.3992803,20.850811,4.5373468,9.8314572,8.8126704,36.6184777,5.421686,0.6346872,0.6585488,10.095083,6.8198599,54.0174331,9.4211144,29.3688258,69.4339436,40.0913665,42.4753182,20.988232,4.6051225,9.8260829,8.6741613,36.6653662,5.5921045,0.6249015,0.6384066,10.1770817,6.8297123,53.733538,9.4880763,29.236144,69.6126952,40.2097906,42.5443769,21.2533557,4.5992446,9.9622509,8.5477758,36.9669657,5.403556,0.6163859,0.6404458,10.0925051,6.7933535,53.1899387,9.7749689,28.8384673,70.0632345,39.9434216,42.4062549,21.2391775,4.7204326,9.9251657,8.4532022,36.4330538,5.6834524 +862,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6258955,0.6484772,9.8964342,6.6310872,54.7487575,9.1357608,29.1281977,69.2352077,39.9653766,42.3992803,20.850811,4.5373468,9.8314572,8.8126704,36.6184777,5.421686,0.6346872,0.6585488,10.095083,6.8198599,54.0174331,9.4211144,29.3688258,69.4339436,40.0913665,42.4753182,20.988232,4.6051225,9.8260829,8.6741613,36.6653662,5.5921045,0.6249015,0.6384066,10.1770817,6.8297123,53.733538,9.4880763,29.236144,69.6126952,40.2097906,42.5443769,21.2533557,4.5992446,9.9622509,8.5477758,36.9669657,5.403556,0.6163859,0.6404458,10.0925051,6.7933535,53.1899387,9.7749689,28.8384673,70.0632345,39.9434216,42.4062549,21.2391775,4.7204326,9.9251657,8.4532022,36.4330538,5.6834524,0.6037511,0.6171117,9.9826962,6.7993053,52.1640512,9.9863565,28.7953542,70.079237,40.4513094,42.3805698,21.0668312,4.7025699,10.3742925,8.4725557,36.2636187,6.1940299 +863,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2126174,1.1612934,19.1589815,15.200805,36.2137833,18.9390198,38.4667085,68.4489144,38.5250765,48.3994256,23.2620653,4.2933689,11.6060032,10.0571374,31.5246016,15.0664815,1.2946207,1.2431836,19.4745041,15.3734528,36.5945568,18.7519101,38.4281016,68.5455043,38.2495752,48.0558692,23.3745282,4.510769,11.4900756,9.6237457,30.4928187,15.5935508,1.1186748,1.093225,19.8829777,15.7913093,36.4102606,18.8802395,38.7034192,68.3740738,38.6627284,47.7501572,24.3265292,4.4870645,11.3731658,8.8834335,30.2192362,15.4964527,1.1807988,1.1551852,20.3911732,16.3161575,36.5042299,18.6999641,38.6076762,67.733078,38.6359031,47.6606349,24.524628,4.5243119,11.6871745,9.0900889,30.8949511,15.1093528,1.1421022,1.1246727,21.0457183,17.0131386,37.634229,18.5024402,39.6544637,68.0502723,37.812198,48.1786559,24.8627516,4.3803327,12.4077425,9.1998094,32.0702183,15.7255919 +864,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0342325,0.980716,16.9064547,13.5330907,76.8164079,15.088798,31.5505158,66.1362469,35.8949992,37.5117103,19.2669698,4.3719633,13.794741,8.8040295,42.8256723,12.6424879,1.1796012,1.1259988,17.033946,13.8806309,77.7847393,14.8245423,31.5293598,65.5158096,34.833825,36.5697328,19.3470878,4.4928826,14.1689548,9.1309445,43.9184448,11.7835528,1.2083833,1.155515,16.9929065,13.4632092,78.8822222,15.4029826,32.5314206,65.362693,35.5512564,37.3145885,19.4732073,4.7014016,13.9554021,9.3103987,43.1460816,9.1191866,1.2051857,1.2315499,16.7607212,13.1855703,79.0062509,15.4336043,32.3215496,65.3998187,34.4875684,36.7083643,19.4270435,4.9893304,13.5570003,9.6164465,41.6998215,10.1108753,1.2019646,1.2280679,17.3373975,13.7520077,80.2811905,15.0640807,33.2329535,65.4134051,34.7001107,37.738733,18.6335218,5.0995609,14.5023722,9.4730448,42.6773064,9.7381644 +865,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6346872,0.6585488,10.095083,6.8198599,54.0174331,9.4211144,29.3688258,69.4339436,40.0913665,42.4753182,20.988232,4.6051225,9.8260829,8.6741613,36.6653662,5.5921045,0.6249015,0.6384066,10.1770817,6.8297123,53.733538,9.4880763,29.236144,69.6126952,40.2097906,42.5443769,21.2533557,4.5992446,9.9622509,8.5477758,36.9669657,5.403556,0.6163859,0.6404458,10.0925051,6.7933535,53.1899387,9.7749689,28.8384673,70.0632345,39.9434216,42.4062549,21.2391775,4.7204326,9.9251657,8.4532022,36.4330538,5.6834524,0.6037511,0.6171117,9.9826962,6.7993053,52.1640512,9.9863565,28.7953542,70.079237,40.4513094,42.3805698,21.0668312,4.7025699,10.3742925,8.4725557,36.2636187,6.1940299,0.6239468,0.6106685,9.9188057,6.8771191,51.0190414,10.059629,28.8906212,70.5673299,40.8275122,42.814985,21.3502744,4.7398205,9.9792795,8.2468303,36.4469715,5.6349206 +866,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8807146,0.8803125,12.0738368,8.1622231,46.4348554,15.4881029,34.129606,69.2165136,37.3233252,49.1338794,25.7934457,4.3034158,10.7421539,8.49888,40.0240869,7.5162745,0.7993485,0.809268,11.7463254,8.2836876,46.0019893,15.4716789,33.7486228,69.8699604,37.4891364,49.5481845,25.4859508,4.3825748,10.2667771,7.7449282,40.5485771,6.907838,0.6410175,0.6410175,11.6727343,8.2602854,46.5557113,15.5375611,33.6035033,70.1795328,36.7175549,48.4943363,24.4312174,4.2181321,10.5270873,8.0957,41.4393818,6.3757846,0.6666618,0.6666618,11.664757,8.0357175,46.8026724,14.5599452,33.5820936,70.835848,36.2089422,47.9701337,24.0895714,4.149249,10.6096039,9.2352845,41.3690456,5.434722,0.6942225,0.6942225,12.1813936,8.5654995,46.2287787,14.9449819,33.118077,69.895479,36.0085948,47.1402232,23.2164922,4.0897865,10.2424267,10.0121262,41.2162263,7.1427981 +867,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6400757,0.6225797,9.507472,5.9055183,36.8647481,15.9546989,35.9200365,69.1219183,38.9383749,50.0685569,21.9601786,3.9358643,10.606556,9.6914297,32.5217111,6.2121739,0.6415669,0.6181901,9.4652874,5.8545477,35.7373683,16.1068331,35.9588579,69.1166057,39.5942572,50.1668073,22.277809,4.1710653,11.1348085,10.1280502,32.1545537,6.8038599,0.6894965,0.6736262,9.3705395,5.8733979,34.8219864,16.7844129,35.6828228,69.3950768,39.8440981,50.2932964,22.5756012,4.4454754,11.5974213,10.4500644,32.2574545,5.6818661,0.6636521,0.6472361,9.3924407,5.8621462,33.9861665,17.0106888,35.4154398,69.4143651,39.9789979,49.9619623,22.7324395,4.4780531,12.0331253,10.772221,32.4672379,5.9122181,0.6650366,0.666149,9.1948491,5.7753607,33.199243,17.0214777,35.4119584,69.1455033,40.294916,50.0406847,22.410966,4.5066234,12.0310831,10.3063643,32.0886325,4.6552174 +868,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2946207,1.2431836,19.4745041,15.3734528,36.5945568,18.7519101,38.4281016,68.5455043,38.2495752,48.0558692,23.3745282,4.510769,11.4900756,9.6237457,30.4928187,15.5935508,1.1186748,1.093225,19.8829777,15.7913093,36.4102606,18.8802395,38.7034192,68.3740738,38.6627284,47.7501572,24.3265292,4.4870645,11.3731658,8.8834335,30.2192362,15.4964527,1.1807988,1.1551852,20.3911732,16.3161575,36.5042299,18.6999641,38.6076762,67.733078,38.6359031,47.6606349,24.524628,4.5243119,11.6871745,9.0900889,30.8949511,15.1093528,1.1421022,1.1246727,21.0457183,17.0131386,37.634229,18.5024402,39.6544637,68.0502723,37.812198,48.1786559,24.8627516,4.3803327,12.4077425,9.1998094,32.0702183,15.7255919,1.1169889,1.1076621,20.7191505,16.7289713,37.6114187,18.5435118,39.0081261,67.8513154,37.5599296,47.6481144,24.9915541,4.2527966,12.9228817,9.6706689,31.2655156,14.1077059 +869,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1107375,1.1905957,24.6112608,21.0003859,45.7813992,14.8246262,42.3747722,64.9276758,34.8962825,48.3671328,24.3300079,4.0910093,12.4911207,9.3155039,29.3255229,17.9951236,1.1909336,1.2518661,25.3839997,21.6068541,46.9189818,14.0947926,41.2142795,65.4894284,34.3045559,47.3967178,23.3214463,3.4522795,12.7737358,9.3201722,28.5822747,18.9387118,1.2285396,1.2698779,25.4616985,21.4087587,48.2262928,13.8223932,41.3281064,65.55875,34.0325901,46.6830405,23.5947958,3.6482535,13.0950884,9.4141288,27.6607599,20.5820741,1.1830166,1.2539915,27.1498877,22.5656442,48.6888708,13.9597655,41.8354682,66.2587443,35.0551896,46.9704789,23.6662546,3.2587926,12.8188694,9.1456531,29.0603193,24.2263217,1.2238191,1.4150633,27.6784831,23.0281669,48.6434323,14.8303905,41.2341792,65.0369772,36.0599692,47.1850275,24.0290938,3.5252783,11.2686216,8.6578283,30.2027502,25.2907243 +870,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4174974,0.4174974,10.6406984,7.1803087,43.881419,13.1528355,31.0757701,68.5734313,39.3339744,49.0211004,20.3742494,5.9289618,10.569464,10.0718365,32.7360819,8.8098015,0.4985404,0.4904548,10.9036218,7.2976996,42.2137088,13.1180416,30.8250896,68.4062939,39.0979304,48.0983287,20.7429594,6.0539943,10.7590964,9.5943596,33.1679446,9.1175232,0.5264114,0.5444624,11.1056797,7.5949641,40.9490455,13.7712984,30.6006185,67.8054277,38.8861889,47.8755242,20.9022013,6.3541931,9.9733473,9.2470015,34.5828258,9.9448657,0.5361753,0.5546572,11.2122859,7.6940091,41.2505646,13.6054483,30.5737698,67.5051639,38.9770531,47.3377278,20.9436436,6.1009221,10.4239972,9.7537971,34.9677945,8.9610812,0.6027003,0.6129994,11.1782558,7.7248109,39.9355092,13.0538132,30.9000877,67.3902052,38.9215133,47.4561547,20.7669802,6.2178055,10.4801063,9.9225308,34.0283578,8.6554996 +871,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.579836,1.6883743,33.0534351,27.2519084,60.3035144,6.558642,37.5981162,67.7394035,29.5918367,44.6624804,15.9340659,5.2590267,12.2727273,8.6102719,33.2826748,12.8289474,1.5540871,1.6642193,32.8438949,26.8160742,61.5823817,7.1205008,36.7038217,66.9585987,28.4235669,43.3917197,15.843949,4.8566879,15.3726708,11.2654321,36.1801242,11.7449664,1.7146411,1.8265814,32.725832,26.703645,63.25,7.9073482,35.3658537,66.2601626,27.7235772,42.6829268,15.203252,5.6097561,15.15625,10.7476636,34.84375,12.5,1.984944,2.0952381,33.671875,27.734375,61.5702479,7.6619273,36.1958266,64.1252006,26.4044944,40.6902087,15.1685393,5.5377207,16.1949686,11.7554859,35.5799373,13.803681,2.2756675,2.3117947,34.1257669,28.9110429,61.5322581,7.6036866,35.1246106,64.4080997,26.0903427,40.7320872,16.1214953,5.529595,16.5615142,12.4213836,37.5786164,13.9053254 +872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5249937,0.5093733,8.8821087,5.4223539,72.0875947,13.0677261,27.1776179,65.1913917,32.0919565,37.4375155,14.1357391,3.0699586,11.0811544,9.8285892,37.4209969,4.4652317,0.6054572,0.5893587,8.9922985,5.4632735,70.7895578,13.7540148,27.4498134,64.009732,32.2889821,37.7005617,14.8392089,3.2168121,12.368102,10.6824508,36.970055,5.6451053,0.4642803,0.4317481,9.153337,5.9308541,68.7683073,13.4403513,27.4964254,63.5814606,32.6031919,38.1493104,15.3659499,3.4651051,12.9758219,10.7670073,36.2062524,4.7766275,0.5011234,0.468593,9.0734211,5.4885986,67.081138,13.3635192,27.9934827,63.0944697,33.4448871,38.6265812,16.3147621,3.3183127,13.0670224,10.4965682,35.3432365,4.6541501,0.4625727,0.4304602,8.6750067,4.906751,67.5240244,13.5688612,27.9910213,62.1728695,33.7885176,38.4920165,16.4572201,3.415227,12.8370495,9.7691396,35.0236708,4.4652244 +873,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5155459,0.5155459,7.4358974,4.965035,63.4257047,18.9397478,33.5915493,67.4413146,31.8075117,42.2300469,17.3474178,4.7183099,9.2869718,7.7433628,37.411032,2.7227723,0.4666293,0.524828,8.1340835,5.8368495,61.3221154,19.3858415,33.9386792,68.1367925,32.9009434,42.995283,17.9481132,4.8820755,9.3777778,7.4487065,36.5143369,1.7857143,0.5317911,0.5754401,8.42723,5.8920188,60.2354637,19.7701689,34.1894439,68.4967012,33.1055608,43.4260132,18.4967012,4.736098,9.500446,7.8194817,36.1310592,1.2135922,0.5119255,0.5555556,8.1378987,5.65197,59.2193487,19.6771175,32.4470588,69.0117647,32.7294118,43.5058824,18.5176471,4.8235294,10.1687389,7.969724,35.6951872,1.6509434,0.6415897,0.6855844,8.0690961,5.560814,58.6215178,19.4040357,32.1293673,68.7677054,33.0736544,44.4050992,18.3899906,4.7922568,9.6338274,7.9039301,34.5175439,1.6746411 +874,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5812766,0.5561169,7.6037698,4.7981049,19.383706,19.1380962,32.6044187,70.4142158,38.2374427,53.0750481,21.8558565,4.7051048,9.0724771,8.9947177,25.4535391,5.0146153,0.54596,0.5263066,7.8513032,4.7333699,19.3714707,19.5309264,31.9440159,70.8404717,38.4255758,53.1123558,21.722074,4.856794,8.8531922,8.9440294,25.1701663,4.6737112,0.5992994,0.5895111,8.1156993,4.9662304,19.5408769,19.8205162,31.8225761,71.4543867,38.6134915,53.7113182,22.0606989,5.0905537,8.6509716,8.413401,24.5919327,4.5200712,0.6462222,0.6755958,8.118476,4.8486529,19.6421269,20.1694159,32.1728899,70.8833898,38.742253,53.1883236,22.7512868,5.1700793,8.8820103,7.9806768,25.8440345,2.8922799,0.7537887,0.8105316,8.4443585,5.3013289,18.873783,20.1603726,32.2038476,70.6748122,39.0039942,53.4079287,23.1013091,5.2800961,9.2245171,8.2329682,26.479791,5.371377 +875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6415669,0.6181901,9.4652874,5.8545477,35.7373683,16.1068331,35.9588579,69.1166057,39.5942572,50.1668073,22.277809,4.1710653,11.1348085,10.1280502,32.1545537,6.8038599,0.6894965,0.6736262,9.3705395,5.8733979,34.8219864,16.7844129,35.6828228,69.3950768,39.8440981,50.2932964,22.5756012,4.4454754,11.5974213,10.4500644,32.2574545,5.6818661,0.6636521,0.6472361,9.3924407,5.8621462,33.9861665,17.0106888,35.4154398,69.4143651,39.9789979,49.9619623,22.7324395,4.4780531,12.0331253,10.772221,32.4672379,5.9122181,0.6650366,0.666149,9.1948491,5.7753607,33.199243,17.0214777,35.4119584,69.1455033,40.294916,50.0406847,22.410966,4.5066234,12.0310831,10.3063643,32.0886325,4.6552174,0.7575552,0.7636124,9.2242169,5.626046,32.2709836,17.2301857,35.7264739,69.4852806,40.3211807,50.5531304,22.7504944,4.4565043,12.3334665,10.45527,32.2887176,6.0546851 +876,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6228987,0.6447032,10.6494838,7.1661725,49.0015377,14.8578799,34.0350184,70.5476813,40.1080231,46.590886,22.9694372,2.9247382,8.0212045,7.8480075,32.9650726,5.1630351,0.4981279,0.5200441,10.269963,7.0229742,48.4888785,14.961066,34.2744823,70.3627486,40.295415,45.9423875,22.4569849,2.7486901,7.7004268,7.5211843,30.7883506,5.7228812,0.4208975,0.4543315,9.9044425,6.7805924,47.5928915,15.6238335,33.2393812,70.3682836,40.4922907,46.0541147,22.6042785,3.025181,7.4875985,7.5908811,31.0035803,4.7770609,0.4837941,0.5179786,10.1768189,6.8660608,47.4639205,15.179935,33.7514484,69.6835208,39.5793032,45.5229742,22.6360433,2.9525302,7.6671685,7.3411279,31.3416385,4.166656,0.3786541,0.4074621,9.5559833,6.428568,47.0860266,15.4405928,33.7773423,70.278329,39.5029729,45.8250603,23.0417428,3.1610358,7.8571664,6.8301906,31.525042,3.571417 +877,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6803773,0.6843917,9.6487926,6.5769415,58.6335538,12.8988564,29.1876068,68.1802974,38.6127952,44.2175288,20.5353006,5.5562526,10.2688788,9.0527899,33.450555,5.2017793,0.6867091,0.6907601,9.4984088,6.5887434,58.2019696,12.6860538,28.7320496,67.7987296,38.7289837,43.513626,20.2532017,5.1982704,10.5224643,9.2380236,34.1561964,4.9333133,0.5967688,0.5897148,9.4067402,6.8667401,57.2044691,12.8022327,29.008031,68.0355487,38.68305,43.5193636,19.9729895,5.2544086,10.6275877,9.3426138,33.8657603,6.2287042,0.6556915,0.648462,9.4320683,6.8486788,56.2328689,13.1103477,29.358352,67.6989433,39.1100393,44.1336638,20.4435203,5.202932,10.6081678,8.994531,34.1705175,7.194391,0.6902184,0.682775,9.4522596,6.8166898,54.8704741,13.3226364,28.8024438,67.7572903,39.5485381,44.216888,20.7095945,5.2808638,10.5354922,9.2321609,35.649422,7.4917629 +878,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8571017,0.8559955,14.2127201,8.8903102,44.8641585,15.8300678,37.4567494,68.7716288,38.5404318,52.6040694,22.7201438,3.7263873,11.0547866,9.7527842,32.6261374,8.8235341,0.8313577,0.813944,13.9292508,8.9121926,43.7772258,16.3237176,37.1489697,68.9551831,38.5995461,52.3577885,22.781852,3.8118718,11.3190766,9.8413492,32.1915937,10.5405405,0.8687663,0.8621345,14.2583519,9.5462942,43.0593522,16.0505422,36.8357272,68.8394339,38.921152,51.813674,22.3951901,4.1128032,11.3112658,9.9728738,32.5449113,9.3582938,0.8716127,0.8827943,14.0853244,9.3250922,41.7165221,15.7581784,36.9353905,68.4580797,39.3791868,51.402792,22.7216711,4.1727564,11.7230997,10.0610847,31.8680801,11.2716828,0.8430223,0.854122,13.7354467,9.2331772,41.1407553,15.899292,37.5721021,68.1997356,38.8375935,51.2086228,23.0699628,4.4191748,11.6100734,10.3137104,32.9864198,9.939765 +879,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4985404,0.4904548,10.9036218,7.2976996,42.2137088,13.1180416,30.8250896,68.4062939,39.0979304,48.0983287,20.7429594,6.0539943,10.7590964,9.5943596,33.1679446,9.1175232,0.5264114,0.5444624,11.1056797,7.5949641,40.9490455,13.7712984,30.6006185,67.8054277,38.8861889,47.8755242,20.9022013,6.3541931,9.9733473,9.2470015,34.5828258,9.9448657,0.5361753,0.5546572,11.2122859,7.6940091,41.2505646,13.6054483,30.5737698,67.5051639,38.9770531,47.3377278,20.9436436,6.1009221,10.4239972,9.7537971,34.9677945,8.9610812,0.6027003,0.6129994,11.1782558,7.7248109,39.9355092,13.0538132,30.9000877,67.3902052,38.9215133,47.4561547,20.7669802,6.2178055,10.4801063,9.9225308,34.0283578,8.6554996,0.6125354,0.6277251,11.1934583,7.5191251,38.2246639,13.2753393,31.5775562,67.4568833,39.3720305,47.8588255,21.121931,6.2308664,9.322245,8.739143,33.294855,8.4375053 +880,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.535871,0.5479874,7.97297,5.2733558,83.4627434,7.6703024,27.1711091,62.3769315,28.171348,37.984024,13.7717414,5.4774183,10.5732841,9.3613856,37.2386251,3.7109291,0.603249,0.608559,7.6753004,5.167169,83.3601624,7.6107429,26.8623049,62.488663,28.0965462,37.9760922,14.0196707,5.5335217,10.7122713,9.4397289,37.28818,3.678789,0.6070456,0.6040324,7.5610083,5.0730521,83.4223189,7.7714597,26.7775631,62.7133894,28.3697678,38.0520395,14.0642591,5.6750119,10.6587853,9.2460507,37.5106706,4.1436369,0.5610541,0.5621352,7.4956957,5.0995472,83.2260259,7.6157575,26.8310269,62.7637726,28.4520088,38.023767,14.4151978,5.4927517,10.0889809,8.7802716,37.6454464,4.2202474,0.6024508,0.6064447,7.5691701,5.1662436,82.9336793,7.7095872,26.3942757,62.6116013,28.9121965,38.1514273,14.3778705,5.6183281,10.0168656,8.6396501,37.5423482,5.0286062 +881,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1796012,1.1259988,17.033946,13.8806309,77.7847393,14.8245423,31.5293598,65.5158096,34.833825,36.5697328,19.3470878,4.4928826,14.1689548,9.1309445,43.9184448,11.7835528,1.2083833,1.155515,16.9929065,13.4632092,78.8822222,15.4029826,32.5314206,65.362693,35.5512564,37.3145885,19.4732073,4.7014016,13.9554021,9.3103987,43.1460816,9.1191866,1.2051857,1.2315499,16.7607212,13.1855703,79.0062509,15.4336043,32.3215496,65.3998187,34.4875684,36.7083643,19.4270435,4.9893304,13.5570003,9.6164465,41.6998215,10.1108753,1.2019646,1.2280679,17.3373975,13.7520077,80.2811905,15.0640807,33.2329535,65.4134051,34.7001107,37.738733,18.6335218,5.0995609,14.5023722,9.4730448,42.6773064,9.7381644,1.1645846,1.2425282,17.5819143,13.834192,80.9029992,15.0663281,33.7210648,65.8295742,35.0725628,38.779119,17.9732486,5.1443326,14.0092744,9.6321476,41.9920417,9.0219532 +882,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.6054572,0.5893587,8.9922985,5.4632735,70.7895578,13.7540148,27.4498134,64.009732,32.2889821,37.7005617,14.8392089,3.2168121,12.368102,10.6824508,36.970055,5.6451053,0.4642803,0.4317481,9.153337,5.9308541,68.7683073,13.4403513,27.4964254,63.5814606,32.6031919,38.1493104,15.3659499,3.4651051,12.9758219,10.7670073,36.2062524,4.7766275,0.5011234,0.468593,9.0734211,5.4885986,67.081138,13.3635192,27.9934827,63.0944697,33.4448871,38.6265812,16.3147621,3.3183127,13.0670224,10.4965682,35.3432365,4.6541501,0.4625727,0.4304602,8.6750067,4.906751,67.5240244,13.5688612,27.9910213,62.1728695,33.7885176,38.4920165,16.4572201,3.415227,12.8370495,9.7691396,35.0236708,4.4652244,0.3522887,0.3522887,8.5077631,4.8997579,66.1253092,13.6625886,28.5789856,62.7081366,34.4262074,38.4741812,16.2504103,3.5141017,12.8922776,9.9669012,35.5218027,2.8647643 +883,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6894965,0.6736262,9.3705395,5.8733979,34.8219864,16.7844129,35.6828228,69.3950768,39.8440981,50.2932964,22.5756012,4.4454754,11.5974213,10.4500644,32.2574545,5.6818661,0.6636521,0.6472361,9.3924407,5.8621462,33.9861665,17.0106888,35.4154398,69.4143651,39.9789979,49.9619623,22.7324395,4.4780531,12.0331253,10.772221,32.4672379,5.9122181,0.6650366,0.666149,9.1948491,5.7753607,33.199243,17.0214777,35.4119584,69.1455033,40.294916,50.0406847,22.410966,4.5066234,12.0310831,10.3063643,32.0886325,4.6552174,0.7575552,0.7636124,9.2242169,5.626046,32.2709836,17.2301857,35.7264739,69.4852806,40.3211807,50.5531304,22.7504944,4.4565043,12.3334665,10.45527,32.2887176,6.0546851,0.826123,0.8318994,9.3580646,5.4977292,30.8840362,17.2312407,35.3117123,69.7723987,40.5503636,50.8731723,23.2206205,4.2992986,12.3145349,10.3470044,31.9787287,6.5022451 +884,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6636521,0.6472361,9.3924407,5.8621462,33.9861665,17.0106888,35.4154398,69.4143651,39.9789979,49.9619623,22.7324395,4.4780531,12.0331253,10.772221,32.4672379,5.9122181,0.6650366,0.666149,9.1948491,5.7753607,33.199243,17.0214777,35.4119584,69.1455033,40.294916,50.0406847,22.410966,4.5066234,12.0310831,10.3063643,32.0886325,4.6552174,0.7575552,0.7636124,9.2242169,5.626046,32.2709836,17.2301857,35.7264739,69.4852806,40.3211807,50.5531304,22.7504944,4.4565043,12.3334665,10.45527,32.2887176,6.0546851,0.826123,0.8318994,9.3580646,5.4977292,30.8840362,17.2312407,35.3117123,69.7723987,40.5503636,50.8731723,23.2206205,4.2992986,12.3145349,10.3470044,31.9787287,6.5022451,0.7767864,0.7756935,9.170566,5.38552,30.1417724,17.7000731,34.8851185,69.7820754,41.0447238,51.3030345,24.0345975,4.4657748,12.1247094,10.1152027,31.7022402,6.8396259 +885,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4666293,0.524828,8.1340835,5.8368495,61.3221154,19.3858415,33.9386792,68.1367925,32.9009434,42.995283,17.9481132,4.8820755,9.3777778,7.4487065,36.5143369,1.7857143,0.5317911,0.5754401,8.42723,5.8920188,60.2354637,19.7701689,34.1894439,68.4967012,33.1055608,43.4260132,18.4967012,4.736098,9.500446,7.8194817,36.1310592,1.2135922,0.5119255,0.5555556,8.1378987,5.65197,59.2193487,19.6771175,32.4470588,69.0117647,32.7294118,43.5058824,18.5176471,4.8235294,10.1687389,7.969724,35.6951872,1.6509434,0.6415897,0.6855844,8.0690961,5.560814,58.6215178,19.4040357,32.1293673,68.7677054,33.0736544,44.4050992,18.3899906,4.7922568,9.6338274,7.9039301,34.5175439,1.6746411,0.6610759,0.6792082,8.2642613,5.4851292,57.3025335,19.71387,31.8893784,68.2574645,33.3088595,45.0073421,18.9672051,4.7234459,10,8.5568918,33.9069767,1.6666667 +886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7993485,0.809268,11.7463254,8.2836876,46.0019893,15.4716789,33.7486228,69.8699604,37.4891364,49.5481845,25.4859508,4.3825748,10.2667771,7.7449282,40.5485771,6.907838,0.6410175,0.6410175,11.6727343,8.2602854,46.5557113,15.5375611,33.6035033,70.1795328,36.7175549,48.4943363,24.4312174,4.2181321,10.5270873,8.0957,41.4393818,6.3757846,0.6666618,0.6666618,11.664757,8.0357175,46.8026724,14.5599452,33.5820936,70.835848,36.2089422,47.9701337,24.0895714,4.149249,10.6096039,9.2352845,41.3690456,5.434722,0.6942225,0.6942225,12.1813936,8.5654995,46.2287787,14.9449819,33.118077,69.895479,36.0085948,47.1402232,23.2164922,4.0897865,10.2424267,10.0121262,41.2162263,7.1427981,0.8158679,0.7965442,12.2481241,8.5957291,45.6146126,15.7605055,33.8867147,70.0846413,36.6210779,47.2330684,23.6002516,4.5898328,10.9195316,10.408663,43.5650104,6.5384766 +887,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0446021,1.0922308,22.6721033,17.8990998,37.7696619,13.8177225,38.131724,66.6094409,33.3334995,50.2305523,25.7964177,5.4820525,16.132172,12.6558725,35.8052035,13.2220026,1.1293626,1.1313384,23.2302293,18.0472825,39.2783976,13.6431441,38.7176103,66.3524814,33.1094934,49.9205824,25.1207883,5.1964836,15.2340893,12.5929497,33.7654735,10.564269,1.0552927,1.0126616,22.9339982,17.7059933,40.1678166,13.1940586,39.4902718,66.7681164,33.5096683,49.8477363,25.9046664,5.1326469,14.8183637,12.1906874,33.5129442,9.8095355,1.000281,0.9435328,23.5999234,18.8563984,41.1945776,13.3598495,39.3184844,66.5741943,33.6093251,50.089685,25.768832,5.1439446,14.443817,12.2428538,33.3546527,9.3095495,0.9608645,0.9625108,24.2754409,19.6773016,42.3618531,13.1973221,39.1448315,66.7046449,33.9236325,50.5088996,26.1573399,5.0444085,14.978556,11.5874469,33.4540007,7.7550951 +888,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.1293626,1.1313384,23.2302293,18.0472825,39.2783976,13.6431441,38.7176103,66.3524814,33.1094934,49.9205824,25.1207883,5.1964836,15.2340893,12.5929497,33.7654735,10.564269,1.0552927,1.0126616,22.9339982,17.7059933,40.1678166,13.1940586,39.4902718,66.7681164,33.5096683,49.8477363,25.9046664,5.1326469,14.8183637,12.1906874,33.5129442,9.8095355,1.000281,0.9435328,23.5999234,18.8563984,41.1945776,13.3598495,39.3184844,66.5741943,33.6093251,50.089685,25.768832,5.1439446,14.443817,12.2428538,33.3546527,9.3095495,0.9608645,0.9625108,24.2754409,19.6773016,42.3618531,13.1973221,39.1448315,66.7046449,33.9236325,50.5088996,26.1573399,5.0444085,14.978556,11.5874469,33.4540007,7.7550951,1.0577429,1.0593634,23.8397267,19.229097,41.5332672,13.5076797,39.4921538,66.4193173,34.1116815,50.6743008,25.6435873,4.9643261,15.4343882,11.952767,33.8190686,8.5075495 +889,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1264147,1.1578489,21.1885131,17.0438112,43.880021,20.0611834,37.934903,66.8423592,37.0883454,46.7262014,19.549253,3.0642778,14.6270055,11.3579494,36.2068742,14.5088969,1.0626861,1.0896579,21.211635,17.4728874,45.8052828,20.341143,37.9008874,67.3009988,37.6130255,46.7871391,19.7598292,3.2555601,14.2446692,11.2161245,35.3788735,12.3481477,1.1227648,1.1493366,21.2984761,17.3711335,47.0533653,20.6431385,37.9927736,66.980354,37.7910992,46.9343294,20.550726,3.2678704,14.3485201,11.3200118,35.7830815,11.7760118,1.139329,1.2021888,21.9395273,18.0266435,47.5453831,20.3980752,38.3335463,67.539646,36.8356752,47.0448185,20.3985777,3.3307678,14.4830096,12.0458051,36.1220601,12.2640986,1.1531594,1.1954869,21.8120342,18.1071375,48.0076828,20.0724903,37.9722953,67.2282956,35.987322,47.0634025,20.6237328,3.4339713,15.2208778,12.590522,36.6531814,10.3636113 +890,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0796454,1.1146664,11.5341238,7.5696612,48.0837426,19.2161897,38.2937802,68.8761383,38.5865278,49.0928223,22.8123965,3.2630925,11.842819,10.982484,34.2897239,8.1280828,0.9938276,1.0348779,11.4590148,7.46942,47.835904,19.2672739,38.0363236,69.5619292,39.0197196,49.5977969,23.4058336,3.3224046,11.2434351,11.0046356,34.5300021,7.2500109,0.9394153,0.9764813,11.5766948,7.7810071,47.4167857,18.9257705,38.0917711,69.2021475,38.9849693,49.2856566,23.4445147,3.3789769,11.8031398,11.2343303,34.0857692,6.4766,0.8821448,0.9799888,11.3306153,7.7368428,45.5867422,18.8269371,38.1333874,69.2852864,39.1889488,50.1358682,24.2913602,3.603734,11.6930566,11.3597563,33.5889392,7.0679666,0.6913935,0.7908142,11.2864118,7.499233,43.8608818,19.142828,38.0741843,69.5805233,39.0233555,49.9235182,24.2345822,3.658905,11.4600763,10.6798904,33.4564281,8.2445624 +891,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6867091,0.6907601,9.4984088,6.5887434,58.2019696,12.6860538,28.7320496,67.7987296,38.7289837,43.513626,20.2532017,5.1982704,10.5224643,9.2380236,34.1561964,4.9333133,0.5967688,0.5897148,9.4067402,6.8667401,57.2044691,12.8022327,29.008031,68.0355487,38.68305,43.5193636,19.9729895,5.2544086,10.6275877,9.3426138,33.8657603,6.2287042,0.6556915,0.648462,9.4320683,6.8486788,56.2328689,13.1103477,29.358352,67.6989433,39.1100393,44.1336638,20.4435203,5.202932,10.6081678,8.994531,34.1705175,7.194391,0.6902184,0.682775,9.4522596,6.8166898,54.8704741,13.3226364,28.8024438,67.7572903,39.5485381,44.216888,20.7095945,5.2808638,10.5354922,9.2321609,35.649422,7.4917629,0.7254383,0.7177499,9.5741585,6.5895697,53.9794572,13.7538022,28.9981495,67.968478,40.605666,44.5974976,20.7829804,5.441856,10.746517,9.8365571,36.0533209,10.0246063 +892,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1607459,1.1607459,25.0267604,20.2313718,49.5552741,17.6475641,35.09486,64.1051008,30.9397997,41.4138801,20.5227904,3.2238822,13.2123369,10.4561268,43.5390417,14.1691908,1.3565825,1.3613964,27.0494629,21.5275065,50.116475,17.4567261,35.0133763,63.6428056,30.7594975,41.0377532,20.7218404,3.5089935,13.8023814,10.3276253,43.6435365,17.8934977,1.3745066,1.3794385,28.2913021,22.7751365,50.5143309,17.2761302,35.0044061,62.9470471,30.4765252,40.6983794,20.7728462,3.096053,13.9138505,10.390637,44.8161187,21.4404546,1.6061323,1.6337186,29.899388,24.1215256,50.5211814,17.2675307,36.1839792,62.6073187,29.5103869,40.661608,20.3631266,2.9448198,13.4619364,10.1159825,44.3326264,23.4693494,1.8359225,1.8864164,31.1181467,25.1775791,50.2244327,17.4974001,37.5021021,61.6249805,29.8997857,41.6838685,20.84382,3.028426,13.2072036,9.8456865,44.2592277,25.7201223 +893,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2083833,1.155515,16.9929065,13.4632092,78.8822222,15.4029826,32.5314206,65.362693,35.5512564,37.3145885,19.4732073,4.7014016,13.9554021,9.3103987,43.1460816,9.1191866,1.2051857,1.2315499,16.7607212,13.1855703,79.0062509,15.4336043,32.3215496,65.3998187,34.4875684,36.7083643,19.4270435,4.9893304,13.5570003,9.6164465,41.6998215,10.1108753,1.2019646,1.2280679,17.3373975,13.7520077,80.2811905,15.0640807,33.2329535,65.4134051,34.7001107,37.738733,18.6335218,5.0995609,14.5023722,9.4730448,42.6773064,9.7381644,1.1645846,1.2425282,17.5819143,13.834192,80.9029992,15.0663281,33.7210648,65.8295742,35.0725628,38.779119,17.9732486,5.1443326,14.0092744,9.6321476,41.9920417,9.0219532,1.2046126,1.2827934,18.1295595,14.6700499,81.3600124,15.4827293,34.6696499,65.3885797,34.5607278,39.4988072,17.7485922,5.2536792,13.7864429,9.6843984,40.3397748,9.2978234 +894,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5416421,0.58142,13.0027168,11.2438952,53.4804441,31.8357839,32.3412541,70.0396038,33.7962375,40.9392742,15.5423763,6.0184818,11.8529186,10.4903622,32.1917621,6.1151739,0.5150256,0.5548986,13.1117788,11.1042241,54.3939333,32.8792851,32.3452219,67.1277619,34.0578927,41.304365,15.0856401,6.2581852,11.4012555,11.6758472,31.4403247,5.8621094,0.6551458,0.6944546,13.9233503,11.5718303,55.2149379,32.0836759,35.1612733,66.6452685,34.7743,42.5162164,15.1613765,6.6451266,12.0596648,11.7885226,33.4699019,5.7047363,0.6528366,0.6920068,14.2593559,11.9136406,54.9285755,31.6286158,34.8464843,65.4093379,34.8466761,42.9028688,15.2814268,6.2020094,12.2422154,11.726614,34.8446282,6.6455907,0.6734104,0.6734104,13.9668503,11.0331976,54.8875811,30.3362465,35.2748958,63.5472084,33.0499307,43.6518434,15.2488352,6.3481239,13.6855698,12.3304006,33.9236692,6.8179014 +895,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0626861,1.0896579,21.211635,17.4728874,45.8052828,20.341143,37.9008874,67.3009988,37.6130255,46.7871391,19.7598292,3.2555601,14.2446692,11.2161245,35.3788735,12.3481477,1.1227648,1.1493366,21.2984761,17.3711335,47.0533653,20.6431385,37.9927736,66.980354,37.7910992,46.9343294,20.550726,3.2678704,14.3485201,11.3200118,35.7830815,11.7760118,1.139329,1.2021888,21.9395273,18.0266435,47.5453831,20.3980752,38.3335463,67.539646,36.8356752,47.0448185,20.3985777,3.3307678,14.4830096,12.0458051,36.1220601,12.2640986,1.1531594,1.1954869,21.8120342,18.1071375,48.0076828,20.0724903,37.9722953,67.2282956,35.987322,47.0634025,20.6237328,3.4339713,15.2208778,12.590522,36.6531814,10.3636113,1.0956635,1.1533885,22.8487966,18.8601544,48.9864734,19.2434441,37.8978032,67.0954949,35.2036083,47.0500356,20.6222488,3.3082669,14.7360543,11.7197248,36.4053117,10.6884097 +896,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7430105,0.7293046,8.9360457,6.3193569,48.4715885,9.7324198,31.3209191,68.1277508,34.9674303,46.9446827,18.9545515,3.1199216,10.5994825,9.8472387,30.1104437,6.4984955,0.7475698,0.7488511,8.8513679,6.0613536,48.1045787,9.864845,31.4564563,67.9929896,35.2102131,47.9395972,19.0273727,3.1781777,10.5120822,9.660519,30.0894976,5.3946842,0.7274071,0.737004,8.7550995,6.0546927,47.2543773,10.2000664,31.3214404,68.3321809,35.6511922,48.2074718,19.3020504,3.316589,11.0200687,9.6467694,30.3188071,5.9228099,0.5794119,0.5895901,8.2702026,5.7449512,46.5260886,10.4573311,31.1537003,68.0759382,35.0972099,48.1382929,19.2498223,3.255683,10.7027724,9.2288404,30.2154456,6.39875,0.554008,0.5874132,8.1681491,5.62823,45.4516869,10.4001899,30.4529322,68.0239384,35.1984125,48.6723074,19.4004416,3.1341398,10.7382066,9.2351192,29.8881924,5.2049859 +897,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1227648,1.1493366,21.2984761,17.3711335,47.0533653,20.6431385,37.9927736,66.980354,37.7910992,46.9343294,20.550726,3.2678704,14.3485201,11.3200118,35.7830815,11.7760118,1.139329,1.2021888,21.9395273,18.0266435,47.5453831,20.3980752,38.3335463,67.539646,36.8356752,47.0448185,20.3985777,3.3307678,14.4830096,12.0458051,36.1220601,12.2640986,1.1531594,1.1954869,21.8120342,18.1071375,48.0076828,20.0724903,37.9722953,67.2282956,35.987322,47.0634025,20.6237328,3.4339713,15.2208778,12.590522,36.6531814,10.3636113,1.0956635,1.1533885,22.8487966,18.8601544,48.9864734,19.2434441,37.8978032,67.0954949,35.2036083,47.0500356,20.6222488,3.3082669,14.7360543,11.7197248,36.4053117,10.6884097,1.0562786,1.1140663,22.9286886,18.9401398,49.776514,18.4940772,37.9269935,66.5546841,35.7461858,46.8483865,21.3121753,3.1125576,14.8753421,12.1683611,36.5305728,10.7394128 +898,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2285355,1.2877313,27.0324003,22.337205,39.2278267,20.1048367,36.7741748,68.4758298,35.87699,47.0807301,22.2415865,5.0243627,13.8763919,11.8832097,30.4538485,11.9883236,1.1823661,1.2412282,26.997749,22.3787712,39.8235887,19.3692046,37.45321,68.3634475,35.430052,46.7464836,21.7748937,4.8985653,14.3477645,12.2482054,31.8520696,12.784051,1.1497763,1.2075502,27.3811641,22.9247366,41.3888915,19.84739,38.2686999,67.877734,35.2273867,47.2084855,21.8794923,4.6862485,14.2762904,13.4276405,32.3235901,14.4020347,1.2072856,1.2649548,27.5937243,23.1324923,40.4108048,19.1509282,38.2438191,67.3668076,34.7814157,46.839272,22.228274,4.2353219,14.3771225,14.1477539,33.1710973,15.2775625,1.0267775,1.0835013,27.1135141,22.8499218,41.0220979,19.2331077,37.3249704,68.1513618,34.1508834,46.2375178,22.0636141,3.3877731,14.6475864,13.8271089,32.8561842,14.4123848 +899,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.7316553,0.739138,14.1027793,10.2467253,27.0572962,17.1096213,34.0860555,68.2405114,41.2877215,49.3622853,25.7017452,4.2360764,10.8765042,10.7322177,37.3679644,6.5788596,0.8088134,0.8360042,14.874811,10.8545972,26.8798154,17.220713,33.6840524,68.123924,41.2197262,49.8696738,26.236999,3.9818331,10.7862816,10.559277,37.8072114,5.9632165,0.8069164,0.8337138,15.0790502,11.4184828,27.4136853,16.9744239,33.8228838,67.8373939,41.5283286,49.3188949,26.2452167,3.7675713,11.5069609,10.1395633,38.5408004,5.6520098,0.7635885,0.7905977,15.5317545,11.6645778,26.6474719,16.4898316,34.7948068,68.0129652,42.0950513,49.6112612,26.3282899,3.8228998,11.7430427,10.2784498,38.7746687,6.4101019,0.9589761,0.9818878,15.7795608,11.7979984,26.2543868,15.6421139,35.3710591,67.1171127,41.8060896,49.9142085,25.3753731,3.582157,11.6815046,10.8818698,39.6341414,8.8233762 +900,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5967688,0.5897148,9.4067402,6.8667401,57.2044691,12.8022327,29.008031,68.0355487,38.68305,43.5193636,19.9729895,5.2544086,10.6275877,9.3426138,33.8657603,6.2287042,0.6556915,0.648462,9.4320683,6.8486788,56.2328689,13.1103477,29.358352,67.6989433,39.1100393,44.1336638,20.4435203,5.202932,10.6081678,8.994531,34.1705175,7.194391,0.6902184,0.682775,9.4522596,6.8166898,54.8704741,13.3226364,28.8024438,67.7572903,39.5485381,44.216888,20.7095945,5.2808638,10.5354922,9.2321609,35.649422,7.4917629,0.7254383,0.7177499,9.5741585,6.5895697,53.9794572,13.7538022,28.9981495,67.968478,40.605666,44.5974976,20.7829804,5.441856,10.746517,9.8365571,36.0533209,10.0246063,0.6956563,0.6874334,9.2566352,6.441752,53.5008187,13.7896728,28.4805137,67.2558711,39.9398968,44.4986375,20.720246,4.7593253,10.2137625,9.9348885,34.7173815,9.6748148 +901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.8088134,0.8360042,14.874811,10.8545972,26.8798154,17.220713,33.6840524,68.123924,41.2197262,49.8696738,26.236999,3.9818331,10.7862816,10.559277,37.8072114,5.9632165,0.8069164,0.8337138,15.0790502,11.4184828,27.4136853,16.9744239,33.8228838,67.8373939,41.5283286,49.3188949,26.2452167,3.7675713,11.5069609,10.1395633,38.5408004,5.6520098,0.7635885,0.7905977,15.5317545,11.6645778,26.6474719,16.4898316,34.7948068,68.0129652,42.0950513,49.6112612,26.3282899,3.8228998,11.7430427,10.2784498,38.7746687,6.4101019,0.9589761,0.9818878,15.7795608,11.7979984,26.2543868,15.6421139,35.3710591,67.1171127,41.8060896,49.9142085,25.3753731,3.582157,11.6815046,10.8818698,39.6341414,8.8233762,1.0943372,1.1073733,16.2766576,12.4321067,26.5803117,15.321575,35.5398127,67.0736746,41.1953692,48.4361698,23.928884,3.277639,11.8760325,11.2409365,38.9562927,10.6297721 +902,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.757965,0.7607572,7.9041989,4.8073374,49.5021949,20.675369,32.2234312,70.1782748,32.9148237,45.3238804,16.3937475,6.6047915,10.7119397,9.4719253,31.6887676,1.6605135,0.8835373,0.8863741,7.8033469,4.9159258,48.494399,20.7330547,31.8699393,69.7464608,32.5312348,45.6465646,16.7707413,6.7780906,10.7920944,9.6763381,32.4834562,2.4163479,0.7104459,0.7046176,7.8324406,5.0525816,47.7557769,20.9828231,31.5343838,69.1048777,32.7378789,44.8852588,17.0176782,6.6754281,11.4059457,9.6896418,32.8838411,2.830178,0.7004521,0.7034077,7.7026375,4.9366031,46.5961309,20.8365088,32.1577984,69.1383679,33.6447002,45.6537913,17.3656202,6.4620553,11.6822346,9.8849677,32.3381422,2.3985151,0.6487118,0.6579829,7.2899691,4.6647725,44.6556952,20.0907333,31.4880526,69.5436319,33.6706673,45.7340958,17.2817713,6.7261771,11.9499485,9.5219922,32.1564174,2.529173 +903,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.624822,0.5905016,10.3634001,6.708216,64.5494155,12.8516969,32.3951248,68.225602,34.7067566,45.8369069,19.1245582,3.3711465,10.7498905,9.6922418,35.0260811,8.2172958,0.5967948,0.6016948,10.2707769,6.7801957,62.8469284,13.0761067,32.2818715,68.9585093,35.7035855,46.0757077,19.4931385,3.3682603,10.091918,8.8235225,34.0899696,8.9181475,0.5549321,0.5403577,10.4407096,6.8730335,61.6713057,13.1496231,31.5928871,68.6824779,35.9987177,46.1237046,19.6886021,3.1243352,9.8113875,8.6213792,33.2996814,8.944303,0.5030474,0.522345,10.3948966,6.654827,60.873738,13.5708262,31.6350156,69.2721517,36.1497779,46.2974631,19.7995463,3.2172941,10.1922244,8.9686913,33.2594414,8.3841743,0.4776102,0.5271026,10.5107146,6.6700629,59.7805496,13.924173,32.2263596,69.3668426,36.1162721,46.7308055,20.2875724,3.0519292,9.4780168,8.5102123,32.8661528,8.3333611 +904,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5540871,1.6642193,32.8438949,26.8160742,61.5823817,7.1205008,36.7038217,66.9585987,28.4235669,43.3917197,15.843949,4.8566879,15.3726708,11.2654321,36.1801242,11.7449664,1.7146411,1.8265814,32.725832,26.703645,63.25,7.9073482,35.3658537,66.2601626,27.7235772,42.6829268,15.203252,5.6097561,15.15625,10.7476636,34.84375,12.5,1.984944,2.0952381,33.671875,27.734375,61.5702479,7.6619273,36.1958266,64.1252006,26.4044944,40.6902087,15.1685393,5.5377207,16.1949686,11.7554859,35.5799373,13.803681,2.2756675,2.3117947,34.1257669,28.9110429,61.5322581,7.6036866,35.1246106,64.4080997,26.0903427,40.7320872,16.1214953,5.529595,16.5615142,12.4213836,37.5786164,13.9053254,1.953448,1.953448,33.1602374,28.4124629,60.719755,6.8382353,34.6439169,64.0207715,26.9287834,40.727003,16.5430267,5.7121662,16.8128655,12.6822157,37.3546512,12.6470588 +905,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.451545,0.470051,8.2556,5.1621795,53.4829046,15.8982211,33.6466513,67.8590278,35.7879039,44.7943846,19.7147706,4.3707149,10.2183394,9.2431284,35.0815807,3.714059,0.4569045,0.4761135,8.1375055,5.1039844,52.6038474,16.2738099,33.7604871,68.108834,36.0530155,45.2301906,20.4964567,4.6752694,10.2740004,8.6043336,34.8931892,4.563101,0.4502987,0.473325,8.1008672,5.1280553,51.6693602,16.7099433,33.3541244,68.3510552,35.5150094,45.4704104,20.2817732,4.6634473,10.8765104,8.8918879,34.3175214,5.246726,0.4752959,0.4863273,8.2648703,5.3010752,51.0668238,16.66978,32.9485474,68.2770057,35.8591734,45.9463386,19.9109626,4.5537616,10.9506755,8.9614437,34.3890164,4.7198802,0.5243934,0.5426439,8.2900079,5.5545765,50.5039602,17.3459838,32.8721738,68.3416431,35.8926295,45.7519734,19.6241354,4.5312074,10.826599,8.4250601,33.0286067,5.4330698 +906,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7475698,0.7488511,8.8513679,6.0613536,48.1045787,9.864845,31.4564563,67.9929896,35.2102131,47.9395972,19.0273727,3.1781777,10.5120822,9.660519,30.0894976,5.3946842,0.7274071,0.737004,8.7550995,6.0546927,47.2543773,10.2000664,31.3214404,68.3321809,35.6511922,48.2074718,19.3020504,3.316589,11.0200687,9.6467694,30.3188071,5.9228099,0.5794119,0.5895901,8.2702026,5.7449512,46.5260886,10.4573311,31.1537003,68.0759382,35.0972099,48.1382929,19.2498223,3.255683,10.7027724,9.2288404,30.2154456,6.39875,0.554008,0.5874132,8.1681491,5.62823,45.4516869,10.4001899,30.4529322,68.0239384,35.1984125,48.6723074,19.4004416,3.1341398,10.7382066,9.2351192,29.8881924,5.2049859,0.5079457,0.5240135,8.3114778,5.712252,44.5328742,10.327796,29.6638474,67.7292469,35.5501168,48.3403039,19.1139806,3.1058938,10.3920764,8.8660398,29.0026521,4.738531 +907,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3274653,0.3404975,6.8531201,4.3016013,64.058018,16.604535,32.0549278,65.2620027,31.076392,39.2203292,16.7771455,8.285989,9.1045695,8.4689592,38.966134,2.2388066,0.3378362,0.3509903,7.201983,4.519866,64.0291226,16.1570053,32.0993604,66.2980778,32.1955207,39.2788515,16.8429483,8.4775655,9.3329232,8.4355803,37.6771327,2.279636,0.3756292,0.3831075,7.0653947,4.320568,62.8946513,16.2017593,31.8675825,66.485506,32.3616672,39.0151529,16.5184425,8.0533614,9.4003726,8.3646591,37.9559664,2.7419373,0.3999103,0.4075838,7.2145257,4.342559,61.6792069,16.5885576,31.1884503,66.7402377,32.818346,39.2699527,16.8590833,8.6417676,9.6028624,8.7793709,37.499991,2.4834454,0.4053206,0.4053206,6.9082396,4.3020334,59.9681894,16.065865,30.9431962,67.2685768,33.6430682,40.3401096,18.1451622,8.7131857,9.8005474,8.6492041,36.0207554,1.9097235 +908,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54596,0.5263066,7.8513032,4.7333699,19.3714707,19.5309264,31.9440159,70.8404717,38.4255758,53.1123558,21.722074,4.856794,8.8531922,8.9440294,25.1701663,4.6737112,0.5992994,0.5895111,8.1156993,4.9662304,19.5408769,19.8205162,31.8225761,71.4543867,38.6134915,53.7113182,22.0606989,5.0905537,8.6509716,8.413401,24.5919327,4.5200712,0.6462222,0.6755958,8.118476,4.8486529,19.6421269,20.1694159,32.1728899,70.8833898,38.742253,53.1883236,22.7512868,5.1700793,8.8820103,7.9806768,25.8440345,2.8922799,0.7537887,0.8105316,8.4443585,5.3013289,18.873783,20.1603726,32.2038476,70.6748122,39.0039942,53.4079287,23.1013091,5.2800961,9.2245171,8.2329682,26.479791,5.371377,0.8399733,0.8572976,8.5859141,5.1955384,18.884661,20.0274608,32.6473656,70.5892453,40.5552916,52.6091125,23.2174987,5.4717745,9.8239408,8.4234439,26.633034,5.1176347 +909,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4569045,0.4761135,8.1375055,5.1039844,52.6038474,16.2738099,33.7604871,68.108834,36.0530155,45.2301906,20.4964567,4.6752694,10.2740004,8.6043336,34.8931892,4.563101,0.4502987,0.473325,8.1008672,5.1280553,51.6693602,16.7099433,33.3541244,68.3510552,35.5150094,45.4704104,20.2817732,4.6634473,10.8765104,8.8918879,34.3175214,5.246726,0.4752959,0.4863273,8.2648703,5.3010752,51.0668238,16.66978,32.9485474,68.2770057,35.8591734,45.9463386,19.9109626,4.5537616,10.9506755,8.9614437,34.3890164,4.7198802,0.5243934,0.5426439,8.2900079,5.5545765,50.5039602,17.3459838,32.8721738,68.3416431,35.8926295,45.7519734,19.6241354,4.5312074,10.826599,8.4250601,33.0286067,5.4330698,0.5435449,0.573724,8.7091345,5.7703783,50.3021053,17.888291,32.4448997,68.742878,36.4911943,45.4533652,20.2365603,4.8337275,11.6658136,8.7153699,31.1246246,5.2904101 +910,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.704339,0.7489925,9.3025971,5.6641844,53.1062282,17.1392282,32.5071399,67.861307,37.9460719,44.5181354,22.8470034,3.9234186,10.2965103,9.5451853,36.2056097,6.3983226,0.6813489,0.7096858,9.0533896,5.443342,52.590317,16.9162247,32.6409425,67.8531258,38.5965148,45.0752349,22.8209392,3.9075054,10.338281,9.1430551,34.9749941,6.5855972,0.690509,0.6841146,9.1027219,5.5667311,51.4222021,17.5904046,32.6711615,68.4942652,38.4073223,46.1753146,23.1102122,3.9885467,10.0800334,9.4571025,34.5351164,5.750207,0.6680977,0.6614103,9.0230199,5.6145735,50.5905463,17.5859026,32.7024974,69.0490826,38.8643602,47.2471121,23.7878422,4.1131156,10.4679734,9.4593961,33.8482124,4.3591353,0.7979773,0.8008218,9.0835573,5.7109376,49.1737254,17.3612617,32.6785654,68.9771755,39.2692981,48.3601603,24.0746257,4.042122,11.3680562,9.7212875,33.2796139,4.213611 +911,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7274071,0.737004,8.7550995,6.0546927,47.2543773,10.2000664,31.3214404,68.3321809,35.6511922,48.2074718,19.3020504,3.316589,11.0200687,9.6467694,30.3188071,5.9228099,0.5794119,0.5895901,8.2702026,5.7449512,46.5260886,10.4573311,31.1537003,68.0759382,35.0972099,48.1382929,19.2498223,3.255683,10.7027724,9.2288404,30.2154456,6.39875,0.554008,0.5874132,8.1681491,5.62823,45.4516869,10.4001899,30.4529322,68.0239384,35.1984125,48.6723074,19.4004416,3.1341398,10.7382066,9.2351192,29.8881924,5.2049859,0.5079457,0.5240135,8.3114778,5.712252,44.5328742,10.327796,29.6638474,67.7292469,35.5501168,48.3403039,19.1139806,3.1058938,10.3920764,8.8660398,29.0026521,4.738531,0.518304,0.5301945,8.273273,5.6037926,43.7728196,10.617473,29.4988271,68.1984176,35.7251722,49.4138304,19.4562117,3.1023325,10.9581009,9.3550419,29.3675949,5.2542016 +912,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4642803,0.4317481,9.153337,5.9308541,68.7683073,13.4403513,27.4964254,63.5814606,32.6031919,38.1493104,15.3659499,3.4651051,12.9758219,10.7670073,36.2062524,4.7766275,0.5011234,0.468593,9.0734211,5.4885986,67.081138,13.3635192,27.9934827,63.0944697,33.4448871,38.6265812,16.3147621,3.3183127,13.0670224,10.4965682,35.3432365,4.6541501,0.4625727,0.4304602,8.6750067,4.906751,67.5240244,13.5688612,27.9910213,62.1728695,33.7885176,38.4920165,16.4572201,3.415227,12.8370495,9.7691396,35.0236708,4.4652244,0.3522887,0.3522887,8.5077631,4.8997579,66.1253092,13.6625886,28.5789856,62.7081366,34.4262074,38.4741812,16.2504103,3.5141017,12.8922776,9.9669012,35.5218027,2.8647643,0.3578885,0.3578885,8.3597469,4.847171,65.4706456,14.1083357,27.4687005,61.4512367,34.5149488,38.3243466,16.6231779,3.4821674,12.5066568,9.7194715,34.9470073,3.7454992 +913,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.139329,1.2021888,21.9395273,18.0266435,47.5453831,20.3980752,38.3335463,67.539646,36.8356752,47.0448185,20.3985777,3.3307678,14.4830096,12.0458051,36.1220601,12.2640986,1.1531594,1.1954869,21.8120342,18.1071375,48.0076828,20.0724903,37.9722953,67.2282956,35.987322,47.0634025,20.6237328,3.4339713,15.2208778,12.590522,36.6531814,10.3636113,1.0956635,1.1533885,22.8487966,18.8601544,48.9864734,19.2434441,37.8978032,67.0954949,35.2036083,47.0500356,20.6222488,3.3082669,14.7360543,11.7197248,36.4053117,10.6884097,1.0562786,1.1140663,22.9286886,18.9401398,49.776514,18.4940772,37.9269935,66.5546841,35.7461858,46.8483865,21.3121753,3.1125576,14.8753421,12.1683611,36.5305728,10.7394128,1.2529241,1.3077518,23.3891825,19.5326872,50.208439,18.5109134,37.6589654,65.9963493,34.8957394,45.8198276,21.0923906,3.1059907,14.8098635,12.3550469,37.8134428,12.2837455 +914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3378362,0.3509903,7.201983,4.519866,64.0291226,16.1570053,32.0993604,66.2980778,32.1955207,39.2788515,16.8429483,8.4775655,9.3329232,8.4355803,37.6771327,2.279636,0.3756292,0.3831075,7.0653947,4.320568,62.8946513,16.2017593,31.8675825,66.485506,32.3616672,39.0151529,16.5184425,8.0533614,9.4003726,8.3646591,37.9559664,2.7419373,0.3999103,0.4075838,7.2145257,4.342559,61.6792069,16.5885576,31.1884503,66.7402377,32.818346,39.2699527,16.8590833,8.6417676,9.6028624,8.7793709,37.499991,2.4834454,0.4053206,0.4053206,6.9082396,4.3020334,59.9681894,16.065865,30.9431962,67.2685768,33.6430682,40.3401096,18.1451622,8.7131857,9.8005474,8.6492041,36.0207554,1.9097235,0.2382836,0.2382836,6.8764048,4.4649568,59.1598863,16.9144363,30.3381045,66.7952898,33.6089736,41.4002234,17.8059518,8.3976486,9.3522523,8.6496309,37.0329586,2.3722645 +915,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4502987,0.473325,8.1008672,5.1280553,51.6693602,16.7099433,33.3541244,68.3510552,35.5150094,45.4704104,20.2817732,4.6634473,10.8765104,8.8918879,34.3175214,5.246726,0.4752959,0.4863273,8.2648703,5.3010752,51.0668238,16.66978,32.9485474,68.2770057,35.8591734,45.9463386,19.9109626,4.5537616,10.9506755,8.9614437,34.3890164,4.7198802,0.5243934,0.5426439,8.2900079,5.5545765,50.5039602,17.3459838,32.8721738,68.3416431,35.8926295,45.7519734,19.6241354,4.5312074,10.826599,8.4250601,33.0286067,5.4330698,0.5435449,0.573724,8.7091345,5.7703783,50.3021053,17.888291,32.4448997,68.742878,36.4911943,45.4533652,20.2365603,4.8337275,11.6658136,8.7153699,31.1246246,5.2904101,0.5039983,0.5435431,8.2850689,5.5984849,49.6231078,17.8707301,31.8630732,69.0526883,36.6440529,44.9052309,20.255478,4.7478226,10.7559057,8.1612561,31.2979248,4.3806537 +916,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5930172,0.6059678,12.0781004,8.2361942,37.0555069,17.5786565,32.8741907,69.4132312,41.4958193,49.8236157,24.4276181,3.4897234,9.7635111,9.1825873,30.7461892,5.857393,0.5998598,0.6084678,12.1614991,8.3238015,36.4553659,17.4672569,33.6121289,69.210726,41.1582033,49.5677086,24.6251521,3.5426609,10.0002289,9.4221295,31.1922816,7.4576146,0.5576779,0.5911503,11.8650624,7.9729551,36.8192774,17.8251954,34.8587466,70.0774443,41.6807142,49.7224093,25.706794,3.3555583,10.7550399,9.5160427,30.9125622,6.580434,0.5761189,0.6078326,11.6017652,7.8277014,36.7388768,18.278375,34.9005821,70.6669747,41.0451971,48.9757067,25.7086222,3.3351099,11.354496,9.5317387,33.4225564,5.1600932,0.5267112,0.5618816,11.4983715,8.0912724,37.2773794,18.4188283,34.8018363,70.5565553,40.5205696,48.4542878,25.9915139,3.2714561,11.2347256,10.2743392,34.7944583,6.048392 +917,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5260618,0.5229285,7.2755881,4.9392006,62.1013797,10.6792837,31.8194325,65.2260602,29.5520161,40.573038,15.4390553,13.6663455,10.8723961,9.1631911,37.5427053,3.7561576,0.5812707,0.5696485,7.5587884,5.0553278,62.1056365,10.3046615,31.555897,64.912407,30.1098431,40.4268584,15.5241936,13.8973848,10.9078965,9.2212568,37.835333,3.390875,0.583516,0.5590769,7.5620352,5.0111542,61.695086,10.2459605,31.2613387,65.3062672,29.8241907,40.3167252,15.5783455,14.0853904,10.5840399,9.2289404,37.8266716,3.263546,0.6185864,0.5687092,7.3281478,4.7773461,61.0057902,10.1633546,31.1693016,65.4160683,29.9641294,40.3658517,15.7173581,14.4404599,10.4742523,9.2226411,36.8270084,3.6828955,0.5235896,0.4786583,7.0582054,4.627962,59.3970807,10.1741192,30.8764405,65.6208093,29.8479638,40.6841559,16.3735288,14.5252667,10.5568061,9.0460034,36.5954444,3.1417104 +918,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.603249,0.608559,7.6753004,5.167169,83.3601624,7.6107429,26.8623049,62.488663,28.0965462,37.9760922,14.0196707,5.5335217,10.7122713,9.4397289,37.28818,3.678789,0.6070456,0.6040324,7.5610083,5.0730521,83.4223189,7.7714597,26.7775631,62.7133894,28.3697678,38.0520395,14.0642591,5.6750119,10.6587853,9.2460507,37.5106706,4.1436369,0.5610541,0.5621352,7.4956957,5.0995472,83.2260259,7.6157575,26.8310269,62.7637726,28.4520088,38.023767,14.4151978,5.4927517,10.0889809,8.7802716,37.6454464,4.2202474,0.6024508,0.6064447,7.5691701,5.1662436,82.9336793,7.7095872,26.3942757,62.6116013,28.9121965,38.1514273,14.3778705,5.6183281,10.0168656,8.6396501,37.5423482,5.0286062,0.6010686,0.6036818,7.4249307,5.0769591,82.3723391,7.6014857,26.4306139,62.997134,29.0795499,38.4449561,14.6744636,5.6196906,9.8996944,8.4846555,37.1742634,4.7092547 +919,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5264114,0.5444624,11.1056797,7.5949641,40.9490455,13.7712984,30.6006185,67.8054277,38.8861889,47.8755242,20.9022013,6.3541931,9.9733473,9.2470015,34.5828258,9.9448657,0.5361753,0.5546572,11.2122859,7.6940091,41.2505646,13.6054483,30.5737698,67.5051639,38.9770531,47.3377278,20.9436436,6.1009221,10.4239972,9.7537971,34.9677945,8.9610812,0.6027003,0.6129994,11.1782558,7.7248109,39.9355092,13.0538132,30.9000877,67.3902052,38.9215133,47.4561547,20.7669802,6.2178055,10.4801063,9.9225308,34.0283578,8.6554996,0.6125354,0.6277251,11.1934583,7.5191251,38.2246639,13.2753393,31.5775562,67.4568833,39.3720305,47.8588255,21.121931,6.2308664,9.322245,8.739143,33.294855,8.4375053,0.5588727,0.5747668,11.0253106,7.8071118,36.2306463,12.8488544,31.0222132,67.2385381,39.6735607,48.1204728,21.7252104,6.1238448,9.037775,8.9665499,32.9520225,6.9343116 +920,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4752959,0.4863273,8.2648703,5.3010752,51.0668238,16.66978,32.9485474,68.2770057,35.8591734,45.9463386,19.9109626,4.5537616,10.9506755,8.9614437,34.3890164,4.7198802,0.5243934,0.5426439,8.2900079,5.5545765,50.5039602,17.3459838,32.8721738,68.3416431,35.8926295,45.7519734,19.6241354,4.5312074,10.826599,8.4250601,33.0286067,5.4330698,0.5435449,0.573724,8.7091345,5.7703783,50.3021053,17.888291,32.4448997,68.742878,36.4911943,45.4533652,20.2365603,4.8337275,11.6658136,8.7153699,31.1246246,5.2904101,0.5039983,0.5435431,8.2850689,5.5984849,49.6231078,17.8707301,31.8630732,69.0526883,36.6440529,44.9052309,20.255478,4.7478226,10.7559057,8.1612561,31.2979248,4.3806537,0.4647053,0.5223794,7.8699234,5.081487,48.3966921,18.0376644,30.710465,69.0884651,36.3289719,45.4825771,20.054599,4.4745102,10.4882419,8.1233186,30.0545143,4.1155828 +921,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8313577,0.813944,13.9292508,8.9121926,43.7772258,16.3237176,37.1489697,68.9551831,38.5995461,52.3577885,22.781852,3.8118718,11.3190766,9.8413492,32.1915937,10.5405405,0.8687663,0.8621345,14.2583519,9.5462942,43.0593522,16.0505422,36.8357272,68.8394339,38.921152,51.813674,22.3951901,4.1128032,11.3112658,9.9728738,32.5449113,9.3582938,0.8716127,0.8827943,14.0853244,9.3250922,41.7165221,15.7581784,36.9353905,68.4580797,39.3791868,51.402792,22.7216711,4.1727564,11.7230997,10.0610847,31.8680801,11.2716828,0.8430223,0.854122,13.7354467,9.2331772,41.1407553,15.899292,37.5721021,68.1997356,38.8375935,51.2086228,23.0699628,4.4191748,11.6100734,10.3137104,32.9864198,9.939765,0.9897298,1.0008441,13.3905932,9.2137146,40.1504719,15.8522557,37.1535307,67.4522922,38.9555772,50.5759816,23.3356553,4.2281133,12.0677321,10.5069104,33.2775988,11.6766467 +922,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8835373,0.8863741,7.8033469,4.9159258,48.494399,20.7330547,31.8699393,69.7464608,32.5312348,45.6465646,16.7707413,6.7780906,10.7920944,9.6763381,32.4834562,2.4163479,0.7104459,0.7046176,7.8324406,5.0525816,47.7557769,20.9828231,31.5343838,69.1048777,32.7378789,44.8852588,17.0176782,6.6754281,11.4059457,9.6896418,32.8838411,2.830178,0.7004521,0.7034077,7.7026375,4.9366031,46.5961309,20.8365088,32.1577984,69.1383679,33.6447002,45.6537913,17.3656202,6.4620553,11.6822346,9.8849677,32.3381422,2.3985151,0.6487118,0.6579829,7.2899691,4.6647725,44.6556952,20.0907333,31.4880526,69.5436319,33.6706673,45.7340958,17.2817713,6.7261771,11.9499485,9.5219922,32.1564174,2.529173,0.7391215,0.7488504,7.1579211,4.4974548,44.0024983,21.5942528,31.2238566,68.9849566,33.5213654,45.7602028,17.2305959,6.7877858,12.449336,9.3673852,32.7515835,3.2188772 +923,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3756292,0.3831075,7.0653947,4.320568,62.8946513,16.2017593,31.8675825,66.485506,32.3616672,39.0151529,16.5184425,8.0533614,9.4003726,8.3646591,37.9559664,2.7419373,0.3999103,0.4075838,7.2145257,4.342559,61.6792069,16.5885576,31.1884503,66.7402377,32.818346,39.2699527,16.8590833,8.6417676,9.6028624,8.7793709,37.499991,2.4834454,0.4053206,0.4053206,6.9082396,4.3020334,59.9681894,16.065865,30.9431962,67.2685768,33.6430682,40.3401096,18.1451622,8.7131857,9.8005474,8.6492041,36.0207554,1.9097235,0.2382836,0.2382836,6.8764048,4.4649568,59.1598863,16.9144363,30.3381045,66.7952898,33.6089736,41.4002234,17.8059518,8.3976486,9.3522523,8.6496309,37.0329586,2.3722645,0.2987995,0.321788,6.7097014,4.1275447,57.2555862,17.2758141,29.7023971,67.7413142,34.4715788,42.6363971,18.1037733,8.1838989,9.1565301,8.644321,37.729354,2.5096544 +924,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.7014584,0.6774093,9.5892331,6.5610975,78.264787,11.5318535,28.6145663,68.5506526,28.7208019,44.2062398,12.9164409,4.624374,12.8579345,13.4219421,33.0473446,10.6158426,0.6591225,0.6348147,10.0315148,6.9503088,78.2584158,11.5399766,28.9013115,68.450262,28.8296478,44.5418866,13.6184431,4.4559431,12.3459538,13.0567344,32.1551028,11.7855375,0.5904129,0.5716822,9.7925384,6.8038195,79.3083455,10.9426279,29.5080534,68.2651624,28.9332199,45.0611178,13.5596295,4.1127523,11.6348485,12.2107946,31.2839157,11.6194565,0.5524039,0.4990177,9.7022899,6.8687457,79.0648554,11.0766389,30.2802401,69.3882036,28.9900411,44.5448093,14.2461801,4.2203838,11.8915376,12.6890308,31.0995819,12.1090723,0.4237571,0.3875107,9.3202164,6.5295453,78.9403461,10.6465396,30.0441147,68.522655,29.4928841,45.2591088,14.0940546,4.0242246,12.1490504,12.2595268,31.0522191,9.6151479 +925,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.8069164,0.8337138,15.0790502,11.4184828,27.4136853,16.9744239,33.8228838,67.8373939,41.5283286,49.3188949,26.2452167,3.7675713,11.5069609,10.1395633,38.5408004,5.6520098,0.7635885,0.7905977,15.5317545,11.6645778,26.6474719,16.4898316,34.7948068,68.0129652,42.0950513,49.6112612,26.3282899,3.8228998,11.7430427,10.2784498,38.7746687,6.4101019,0.9589761,0.9818878,15.7795608,11.7979984,26.2543868,15.6421139,35.3710591,67.1171127,41.8060896,49.9142085,25.3753731,3.582157,11.6815046,10.8818698,39.6341414,8.8233762,1.0943372,1.1073733,16.2766576,12.4321067,26.5803117,15.321575,35.5398127,67.0736746,41.1953692,48.4361698,23.928884,3.277639,11.8760325,11.2409365,38.9562927,10.6297721,1.1695425,1.1826144,16.7505276,12.8092228,27.5320462,14.2766606,36.4986712,66.9896584,40.5469277,48.6003443,23.3634881,3.2515079,12.1665692,11.9951583,39.829113,11.9563855 +926,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6249015,0.6384066,10.1770817,6.8297123,53.733538,9.4880763,29.236144,69.6126952,40.2097906,42.5443769,21.2533557,4.5992446,9.9622509,8.5477758,36.9669657,5.403556,0.6163859,0.6404458,10.0925051,6.7933535,53.1899387,9.7749689,28.8384673,70.0632345,39.9434216,42.4062549,21.2391775,4.7204326,9.9251657,8.4532022,36.4330538,5.6834524,0.6037511,0.6171117,9.9826962,6.7993053,52.1640512,9.9863565,28.7953542,70.079237,40.4513094,42.3805698,21.0668312,4.7025699,10.3742925,8.4725557,36.2636187,6.1940299,0.6239468,0.6106685,9.9188057,6.8771191,51.0190414,10.059629,28.8906212,70.5673299,40.8275122,42.814985,21.3502744,4.7398205,9.9792795,8.2468303,36.4469715,5.6349206,0.6418322,0.6342002,9.9220544,6.8042408,50.3145943,10.3220532,28.3562094,70.5123312,40.9801683,43.2557811,21.2242553,4.9008378,10.2088428,8.429734,36.5898935,5.4991549 +927,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5794119,0.5895901,8.2702026,5.7449512,46.5260886,10.4573311,31.1537003,68.0759382,35.0972099,48.1382929,19.2498223,3.255683,10.7027724,9.2288404,30.2154456,6.39875,0.554008,0.5874132,8.1681491,5.62823,45.4516869,10.4001899,30.4529322,68.0239384,35.1984125,48.6723074,19.4004416,3.1341398,10.7382066,9.2351192,29.8881924,5.2049859,0.5079457,0.5240135,8.3114778,5.712252,44.5328742,10.327796,29.6638474,67.7292469,35.5501168,48.3403039,19.1139806,3.1058938,10.3920764,8.8660398,29.0026521,4.738531,0.518304,0.5301945,8.273273,5.6037926,43.7728196,10.617473,29.4988271,68.1984176,35.7251722,49.4138304,19.4562117,3.1023325,10.9581009,9.3550419,29.3675949,5.2542016,0.6482835,0.6572811,8.4183103,5.6011156,43.1718035,10.6971367,29.2678472,68.3664322,35.8963704,49.6430414,19.9175064,3.0238603,10.5618349,9.2128542,29.0786057,5.2535927 +928,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3565825,1.3613964,27.0494629,21.5275065,50.116475,17.4567261,35.0133763,63.6428056,30.7594975,41.0377532,20.7218404,3.5089935,13.8023814,10.3276253,43.6435365,17.8934977,1.3745066,1.3794385,28.2913021,22.7751365,50.5143309,17.2761302,35.0044061,62.9470471,30.4765252,40.6983794,20.7728462,3.096053,13.9138505,10.390637,44.8161187,21.4404546,1.6061323,1.6337186,29.899388,24.1215256,50.5211814,17.2675307,36.1839792,62.6073187,29.5103869,40.661608,20.3631266,2.9448198,13.4619364,10.1159825,44.3326264,23.4693494,1.8359225,1.8864164,31.1181467,25.1775791,50.2244327,17.4974001,37.5021021,61.6249805,29.8997857,41.6838685,20.84382,3.028426,13.2072036,9.8456865,44.2592277,25.7201223,1.9757645,2.0578399,33.3462051,27.0201467,50.3687503,17.5751463,37.8496494,60.865148,29.623072,42.8535432,21.6687587,3.1840923,13.3133927,9.6369818,45.1482593,28.0727295 +929,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5967948,0.6016948,10.2707769,6.7801957,62.8469284,13.0761067,32.2818715,68.9585093,35.7035855,46.0757077,19.4931385,3.3682603,10.091918,8.8235225,34.0899696,8.9181475,0.5549321,0.5403577,10.4407096,6.8730335,61.6713057,13.1496231,31.5928871,68.6824779,35.9987177,46.1237046,19.6886021,3.1243352,9.8113875,8.6213792,33.2996814,8.944303,0.5030474,0.522345,10.3948966,6.654827,60.873738,13.5708262,31.6350156,69.2721517,36.1497779,46.2974631,19.7995463,3.2172941,10.1922244,8.9686913,33.2594414,8.3841743,0.4776102,0.5271026,10.5107146,6.6700629,59.7805496,13.924173,32.2263596,69.3668426,36.1162721,46.7308055,20.2875724,3.0519292,9.4780168,8.5102123,32.8661528,8.3333611,0.5294527,0.5968649,10.3695422,6.4721255,58.8508219,13.8562648,32.3222976,69.9652595,36.1008854,46.8852038,19.9243915,2.9309587,8.8590276,8.1318198,32.8161674,8.9124169 +930,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9938276,1.0348779,11.4590148,7.46942,47.835904,19.2672739,38.0363236,69.5619292,39.0197196,49.5977969,23.4058336,3.3224046,11.2434351,11.0046356,34.5300021,7.2500109,0.9394153,0.9764813,11.5766948,7.7810071,47.4167857,18.9257705,38.0917711,69.2021475,38.9849693,49.2856566,23.4445147,3.3789769,11.8031398,11.2343303,34.0857692,6.4766,0.8821448,0.9799888,11.3306153,7.7368428,45.5867422,18.8269371,38.1333874,69.2852864,39.1889488,50.1358682,24.2913602,3.603734,11.6930566,11.3597563,33.5889392,7.0679666,0.6913935,0.7908142,11.2864118,7.499233,43.8608818,19.142828,38.0741843,69.5805233,39.0233555,49.9235182,24.2345822,3.658905,11.4600763,10.6798904,33.4564281,8.2445624,0.6517238,0.681174,11.5917084,7.5584812,42.6948766,19.428907,37.3629029,69.2223345,38.8367095,50.1882137,23.6908489,3.6845353,11.146848,10.6451698,33.9496646,8.707738 +931,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.546231,0.5699404,9.7914649,6.3111212,62.0741289,17.8104703,33.1624787,66.6261481,33.6018754,45.9595473,19.4718328,6.0568835,9.8352524,8.9950584,33.78895,5.6503186,0.5347036,0.5435647,9.2706826,6.0963461,61.0625326,17.3274783,32.8683353,66.7520721,33.9249942,45.9731342,19.7807851,6.0983402,9.559901,8.5531924,32.8386292,4.5964115,0.5103016,0.5191521,8.8546758,5.9384132,59.2465169,17.3067449,33.0551829,66.6639216,34.3109793,46.0591582,20.1999336,6.0393241,9.0583082,7.8832326,32.0194774,4.1387015,0.532968,0.5229459,8.6312866,5.7191363,58.5963439,16.837232,32.5453918,66.407664,34.5084296,45.7140569,20.9962392,6.1262882,8.7608115,7.7506143,32.1139516,3.846153,0.4231275,0.4106245,8.2659673,5.4379232,57.7076112,16.8722588,32.0716095,66.7348016,35.2436254,46.1657964,21.00229,6.3848919,8.8919514,7.9011951,32.1571606,3.7313638 +932,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5347036,0.5435647,9.2706826,6.0963461,61.0625326,17.3274783,32.8683353,66.7520721,33.9249942,45.9731342,19.7807851,6.0983402,9.559901,8.5531924,32.8386292,4.5964115,0.5103016,0.5191521,8.8546758,5.9384132,59.2465169,17.3067449,33.0551829,66.6639216,34.3109793,46.0591582,20.1999336,6.0393241,9.0583082,7.8832326,32.0194774,4.1387015,0.532968,0.5229459,8.6312866,5.7191363,58.5963439,16.837232,32.5453918,66.407664,34.5084296,45.7140569,20.9962392,6.1262882,8.7608115,7.7506143,32.1139516,3.846153,0.4231275,0.4106245,8.2659673,5.4379232,57.7076112,16.8722588,32.0716095,66.7348016,35.2436254,46.1657964,21.00229,6.3848919,8.8919514,7.9011951,32.1571606,3.7313638,0.467183,0.4546575,7.8648666,5.0947488,56.1823055,16.9517736,32.1498744,66.8333891,35.7740261,46.8596249,21.3922602,6.6333215,8.9837772,7.8632741,31.8588153,3.7553847 +933,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3745066,1.3794385,28.2913021,22.7751365,50.5143309,17.2761302,35.0044061,62.9470471,30.4765252,40.6983794,20.7728462,3.096053,13.9138505,10.390637,44.8161187,21.4404546,1.6061323,1.6337186,29.899388,24.1215256,50.5211814,17.2675307,36.1839792,62.6073187,29.5103869,40.661608,20.3631266,2.9448198,13.4619364,10.1159825,44.3326264,23.4693494,1.8359225,1.8864164,31.1181467,25.1775791,50.2244327,17.4974001,37.5021021,61.6249805,29.8997857,41.6838685,20.84382,3.028426,13.2072036,9.8456865,44.2592277,25.7201223,1.9757645,2.0578399,33.3462051,27.0201467,50.3687503,17.5751463,37.8496494,60.865148,29.623072,42.8535432,21.6687587,3.1840923,13.3133927,9.6369818,45.1482593,28.0727295,2.0664614,2.1560648,34.1350858,27.9430589,51.0388785,17.5172825,38.3556216,60.3136302,29.1926202,43.8503685,20.9212358,3.0989647,13.5221792,10.0114218,45.3496673,27.7121877 +934,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2051857,1.2315499,16.7607212,13.1855703,79.0062509,15.4336043,32.3215496,65.3998187,34.4875684,36.7083643,19.4270435,4.9893304,13.5570003,9.6164465,41.6998215,10.1108753,1.2019646,1.2280679,17.3373975,13.7520077,80.2811905,15.0640807,33.2329535,65.4134051,34.7001107,37.738733,18.6335218,5.0995609,14.5023722,9.4730448,42.6773064,9.7381644,1.1645846,1.2425282,17.5819143,13.834192,80.9029992,15.0663281,33.7210648,65.8295742,35.0725628,38.779119,17.9732486,5.1443326,14.0092744,9.6321476,41.9920417,9.0219532,1.2046126,1.2827934,18.1295595,14.6700499,81.3600124,15.4827293,34.6696499,65.3885797,34.5607278,39.4988072,17.7485922,5.2536792,13.7864429,9.6843984,40.3397748,9.2978234,1.1529051,1.2052967,18.5016152,15.0013034,81.8981056,15.4432435,34.6910172,65.1929638,34.4665332,39.4156334,17.9584266,5.3792545,14.4460111,10.0947665,40.2519999,9.8972965 +935,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5011234,0.468593,9.0734211,5.4885986,67.081138,13.3635192,27.9934827,63.0944697,33.4448871,38.6265812,16.3147621,3.3183127,13.0670224,10.4965682,35.3432365,4.6541501,0.4625727,0.4304602,8.6750067,4.906751,67.5240244,13.5688612,27.9910213,62.1728695,33.7885176,38.4920165,16.4572201,3.415227,12.8370495,9.7691396,35.0236708,4.4652244,0.3522887,0.3522887,8.5077631,4.8997579,66.1253092,13.6625886,28.5789856,62.7081366,34.4262074,38.4741812,16.2504103,3.5141017,12.8922776,9.9669012,35.5218027,2.8647643,0.3578885,0.3578885,8.3597469,4.847171,65.4706456,14.1083357,27.4687005,61.4512367,34.5149488,38.3243466,16.6231779,3.4821674,12.5066568,9.7194715,34.9470073,3.7454992,0.4122855,0.4122855,8.3233852,4.9688451,64.7482692,13.9985281,27.5841962,61.1864058,34.0883414,38.4898846,16.8471859,3.4399469,12.6567799,11.1227191,35.274899,3.3486179 +936,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5998598,0.6084678,12.1614991,8.3238015,36.4553659,17.4672569,33.6121289,69.210726,41.1582033,49.5677086,24.6251521,3.5426609,10.0002289,9.4221295,31.1922816,7.4576146,0.5576779,0.5911503,11.8650624,7.9729551,36.8192774,17.8251954,34.8587466,70.0774443,41.6807142,49.7224093,25.706794,3.3555583,10.7550399,9.5160427,30.9125622,6.580434,0.5761189,0.6078326,11.6017652,7.8277014,36.7388768,18.278375,34.9005821,70.6669747,41.0451971,48.9757067,25.7086222,3.3351099,11.354496,9.5317387,33.4225564,5.1600932,0.5267112,0.5618816,11.4983715,8.0912724,37.2773794,18.4188283,34.8018363,70.5565553,40.5205696,48.4542878,25.9915139,3.2714561,11.2347256,10.2743392,34.7944583,6.048392,0.6033224,0.6277257,11.4494587,7.9872751,37.3447462,18.373921,33.9988384,71.1065815,40.7229479,48.3062088,25.5557942,3.1091374,11.2333859,10.6068145,36.3983296,6.8547392 +937,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6163859,0.6404458,10.0925051,6.7933535,53.1899387,9.7749689,28.8384673,70.0632345,39.9434216,42.4062549,21.2391775,4.7204326,9.9251657,8.4532022,36.4330538,5.6834524,0.6037511,0.6171117,9.9826962,6.7993053,52.1640512,9.9863565,28.7953542,70.079237,40.4513094,42.3805698,21.0668312,4.7025699,10.3742925,8.4725557,36.2636187,6.1940299,0.6239468,0.6106685,9.9188057,6.8771191,51.0190414,10.059629,28.8906212,70.5673299,40.8275122,42.814985,21.3502744,4.7398205,9.9792795,8.2468303,36.4469715,5.6349206,0.6418322,0.6342002,9.9220544,6.8042408,50.3145943,10.3220532,28.3562094,70.5123312,40.9801683,43.2557811,21.2242553,4.9008378,10.2088428,8.429734,36.5898935,5.4991549,0.6273955,0.6153607,10.0296383,6.8638008,49.0155404,10.3581745,28.2369272,70.6487135,41.9806308,44.6205859,21.0864941,4.9681604,10.6928847,8.8005248,36.2123157,5.4270463 +938,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3999103,0.4075838,7.2145257,4.342559,61.6792069,16.5885576,31.1884503,66.7402377,32.818346,39.2699527,16.8590833,8.6417676,9.6028624,8.7793709,37.499991,2.4834454,0.4053206,0.4053206,6.9082396,4.3020334,59.9681894,16.065865,30.9431962,67.2685768,33.6430682,40.3401096,18.1451622,8.7131857,9.8005474,8.6492041,36.0207554,1.9097235,0.2382836,0.2382836,6.8764048,4.4649568,59.1598863,16.9144363,30.3381045,66.7952898,33.6089736,41.4002234,17.8059518,8.3976486,9.3522523,8.6496309,37.0329586,2.3722645,0.2987995,0.321788,6.7097014,4.1275447,57.2555862,17.2758141,29.7023971,67.7413142,34.4715788,42.6363971,18.1037733,8.1838989,9.1565301,8.644321,37.729354,2.5096544,0.3457614,0.3694778,6.7350211,4.3224788,55.870689,18.0636451,28.9111575,67.9441751,35.0432398,42.5904053,18.7696511,7.8812891,9.8108699,8.2478242,36.3888846,3.024196 +939,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4836305,0.5181923,7.357557,4.1569221,72.1917745,19.7645137,30.1397202,63.2529091,27.5357437,40.2838221,15.6432646,5.6937572,9.7426514,8.4814853,35.4874382,4.2987865,0.4183174,0.4451223,6.7176093,3.8582187,70.7042668,19.9725351,30.6260263,63.6202444,27.4166224,39.9022603,15.5186381,5.8904264,9.4319044,8.3333364,36.1070367,2.9681368,0.3297927,0.3506933,6.5743488,3.960216,69.4846218,20.3860333,30.9605856,63.2351873,28.6468563,40.0197216,15.3922042,5.8627607,9.4594629,8.1985324,34.8161746,3.0233599,0.2871644,0.2810839,6.9041218,4.1981836,68.7883358,19.7893641,30.650755,63.5981392,29.4127396,40.0360664,15.3155432,5.9704636,9.8733271,8.3645943,35.5263216,3.1554532,0.2282775,0.2221411,6.9333029,3.9992095,68.0437792,19.1439979,31.0252283,63.806914,29.5314849,40.3917236,15.56323,5.5914562,9.6810125,7.8672662,35.1907387,4.2501573 +940,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2019646,1.2280679,17.3373975,13.7520077,80.2811905,15.0640807,33.2329535,65.4134051,34.7001107,37.738733,18.6335218,5.0995609,14.5023722,9.4730448,42.6773064,9.7381644,1.1645846,1.2425282,17.5819143,13.834192,80.9029992,15.0663281,33.7210648,65.8295742,35.0725628,38.779119,17.9732486,5.1443326,14.0092744,9.6321476,41.9920417,9.0219532,1.2046126,1.2827934,18.1295595,14.6700499,81.3600124,15.4827293,34.6696499,65.3885797,34.5607278,39.4988072,17.7485922,5.2536792,13.7864429,9.6843984,40.3397748,9.2978234,1.1529051,1.2052967,18.5016152,15.0013034,81.8981056,15.4432435,34.6910172,65.1929638,34.4665332,39.4156334,17.9584266,5.3792545,14.4460111,10.0947665,40.2519999,9.8972965,1.0949076,1.1473059,19.3735499,15.6497091,82.0328436,15.2266714,35.4234918,65.7894358,34.8557563,40.2763328,17.4415984,5.1101048,14.4357698,10.4950413,38.9767709,10.3862004 +941,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6070456,0.6040324,7.5610083,5.0730521,83.4223189,7.7714597,26.7775631,62.7133894,28.3697678,38.0520395,14.0642591,5.6750119,10.6587853,9.2460507,37.5106706,4.1436369,0.5610541,0.5621352,7.4956957,5.0995472,83.2260259,7.6157575,26.8310269,62.7637726,28.4520088,38.023767,14.4151978,5.4927517,10.0889809,8.7802716,37.6454464,4.2202474,0.6024508,0.6064447,7.5691701,5.1662436,82.9336793,7.7095872,26.3942757,62.6116013,28.9121965,38.1514273,14.3778705,5.6183281,10.0168656,8.6396501,37.5423482,5.0286062,0.6010686,0.6036818,7.4249307,5.0769591,82.3723391,7.6014857,26.4306139,62.997134,29.0795499,38.4449561,14.6744636,5.6196906,9.8996944,8.4846555,37.1742634,4.7092547,0.5889113,0.5929654,7.3705897,4.9695785,81.7660276,7.3625968,26.4814698,63.4623431,29.4792651,38.4334688,14.8224449,5.5979903,10.0241147,8.5440646,37.4359696,4.824936 +942,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6004937,0.6459455,13.3550419,7.6767162,56.0911978,21.252568,33.1107925,69.2123485,34.8975622,48.2032322,21.5795032,3.4002935,13.3614899,12.4703332,37.7225783,3.2798675,0.7088874,0.7542911,13.5006683,7.8063239,54.9609625,21.5861469,33.7472407,69.3249367,35.611827,48.6163163,22.0897747,3.4720283,13.2783566,12.1615802,37.9100094,3.5579436,0.7067022,0.7620992,13.4205613,7.7501236,54.0201437,22.3483322,34.0825376,69.1289082,35.2787963,48.8430268,22.2932003,3.5706526,13.9616957,12.2612883,38.2437072,3.0952818,0.6317498,0.6966427,12.5951005,7.6678479,52.8969076,21.7077245,33.8896137,68.8224049,34.7118412,48.1543081,21.37082,3.9387853,13.8739215,12.3025666,39.0107599,4.0540497,0.5547038,0.6210168,11.433498,7.074889,51.8962527,21.6827284,34.2638702,68.3754822,35.1471204,47.9627654,21.1739075,3.9357405,14.6987644,12.4151562,39.2470197,3.2163724 +943,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1909336,1.2518661,25.3839997,21.6068541,46.9189818,14.0947926,41.2142795,65.4894284,34.3045559,47.3967178,23.3214463,3.4522795,12.7737358,9.3201722,28.5822747,18.9387118,1.2285396,1.2698779,25.4616985,21.4087587,48.2262928,13.8223932,41.3281064,65.55875,34.0325901,46.6830405,23.5947958,3.6482535,13.0950884,9.4141288,27.6607599,20.5820741,1.1830166,1.2539915,27.1498877,22.5656442,48.6888708,13.9597655,41.8354682,66.2587443,35.0551896,46.9704789,23.6662546,3.2587926,12.8188694,9.1456531,29.0603193,24.2263217,1.2238191,1.4150633,27.6784831,23.0281669,48.6434323,14.8303905,41.2341792,65.0369772,36.0599692,47.1850275,24.0290938,3.5252783,11.2686216,8.6578283,30.2027502,25.2907243,1.2072707,1.3597221,27.7231909,22.8288365,50.9699265,15.1604978,40.292536,64.4878869,35.1128522,46.5220991,23.3100621,3.3770104,12.414288,9.6180848,30.0549964,23.5052589 +944,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6264076,0.6467658,10.774445,6.8626063,63.6098338,10.0232795,33.9142551,66.2710039,40.7685119,44.4271397,23.8631719,4.2215445,11.0673286,9.2038143,40.8295481,5.2666639,0.5951244,0.6385327,10.7430679,6.8507172,62.4937402,9.8145339,34.0559908,66.1123805,40.9103177,44.572257,24.0471174,4.3207855,11.147414,9.0646094,40.6792993,5.7744542,0.6161486,0.6626558,10.6468413,6.6833768,61.8559501,9.5101449,33.7218467,66.142322,40.6342864,44.5254478,23.8857069,4.2809806,11.2521486,9.1552636,41.0445479,5.9973022,0.6195236,0.6806266,10.749759,6.7906266,61.0512653,9.4896693,33.2985852,66.3629038,40.8451154,44.7780696,23.9394659,4.4255345,10.545805,8.7811665,40.4795615,6.2243477,0.6042553,0.6642977,10.6872497,6.7761573,60.1453943,9.4556459,33.4017781,66.5582098,41.0030359,45.1141162,24.099623,4.3258726,10.8662833,9.2030551,40.775481,6.2752994 +945,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4053206,0.4053206,6.9082396,4.3020334,59.9681894,16.065865,30.9431962,67.2685768,33.6430682,40.3401096,18.1451622,8.7131857,9.8005474,8.6492041,36.0207554,1.9097235,0.2382836,0.2382836,6.8764048,4.4649568,59.1598863,16.9144363,30.3381045,66.7952898,33.6089736,41.4002234,17.8059518,8.3976486,9.3522523,8.6496309,37.0329586,2.3722645,0.2987995,0.321788,6.7097014,4.1275447,57.2555862,17.2758141,29.7023971,67.7413142,34.4715788,42.6363971,18.1037733,8.1838989,9.1565301,8.644321,37.729354,2.5096544,0.3457614,0.3694778,6.7350211,4.3224788,55.870689,18.0636451,28.9111575,67.9441751,35.0432398,42.5904053,18.7696511,7.8812891,9.8108699,8.2478242,36.3888846,3.024196,0.3451831,0.3822889,6.2238034,3.9606048,53.9017437,19.0563002,28.6972441,67.3699238,34.2687331,42.3801614,19.1929477,7.7222475,10.1503768,7.9079505,36.9107691,3.1779688 +946,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7088874,0.7542911,13.5006683,7.8063239,54.9609625,21.5861469,33.7472407,69.3249367,35.611827,48.6163163,22.0897747,3.4720283,13.2783566,12.1615802,37.9100094,3.5579436,0.7067022,0.7620992,13.4205613,7.7501236,54.0201437,22.3483322,34.0825376,69.1289082,35.2787963,48.8430268,22.2932003,3.5706526,13.9616957,12.2612883,38.2437072,3.0952818,0.6317498,0.6966427,12.5951005,7.6678479,52.8969076,21.7077245,33.8896137,68.8224049,34.7118412,48.1543081,21.37082,3.9387853,13.8739215,12.3025666,39.0107599,4.0540497,0.5547038,0.6210168,11.433498,7.074889,51.8962527,21.6827284,34.2638702,68.3754822,35.1471204,47.9627654,21.1739075,3.9357405,14.6987644,12.4151562,39.2470197,3.2163724,0.6418216,0.6351552,11.6015648,7.2966305,51.4275094,20.5686071,33.9597229,67.3413274,35.3757369,47.5895055,21.4256977,3.8347696,15.4581814,13.1837672,40.6991343,4.6583764 +947,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5549321,0.5403577,10.4407096,6.8730335,61.6713057,13.1496231,31.5928871,68.6824779,35.9987177,46.1237046,19.6886021,3.1243352,9.8113875,8.6213792,33.2996814,8.944303,0.5030474,0.522345,10.3948966,6.654827,60.873738,13.5708262,31.6350156,69.2721517,36.1497779,46.2974631,19.7995463,3.2172941,10.1922244,8.9686913,33.2594414,8.3841743,0.4776102,0.5271026,10.5107146,6.6700629,59.7805496,13.924173,32.2263596,69.3668426,36.1162721,46.7308055,20.2875724,3.0519292,9.4780168,8.5102123,32.8661528,8.3333611,0.5294527,0.5968649,10.3695422,6.4721255,58.8508219,13.8562648,32.3222976,69.9652595,36.1008854,46.8852038,19.9243915,2.9309587,8.8590276,8.1318198,32.8161674,8.9124169,0.4896115,0.55753,10.3276293,6.5221733,57.7314092,13.8046705,31.7882746,69.6505472,35.7553861,46.3412015,19.8663649,2.8057506,8.6417286,8.1395319,32.6777946,9.9112693 +948,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7146411,1.8265814,32.725832,26.703645,63.25,7.9073482,35.3658537,66.2601626,27.7235772,42.6829268,15.203252,5.6097561,15.15625,10.7476636,34.84375,12.5,1.984944,2.0952381,33.671875,27.734375,61.5702479,7.6619273,36.1958266,64.1252006,26.4044944,40.6902087,15.1685393,5.5377207,16.1949686,11.7554859,35.5799373,13.803681,2.2756675,2.3117947,34.1257669,28.9110429,61.5322581,7.6036866,35.1246106,64.4080997,26.0903427,40.7320872,16.1214953,5.529595,16.5615142,12.4213836,37.5786164,13.9053254,1.953448,1.953448,33.1602374,28.4124629,60.719755,6.8382353,34.6439169,64.0207715,26.9287834,40.727003,16.5430267,5.7121662,16.8128655,12.6822157,37.3546512,12.6470588,1.6123407,1.6123407,33.1586826,29.1167665,60.4166667,7.1533923,35.5341246,64.0207715,26.3353116,41.4688427,16.3946588,5.8605341,16.7673716,13.3633634,37.5748503,11.746988 +949,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5103016,0.5191521,8.8546758,5.9384132,59.2465169,17.3067449,33.0551829,66.6639216,34.3109793,46.0591582,20.1999336,6.0393241,9.0583082,7.8832326,32.0194774,4.1387015,0.532968,0.5229459,8.6312866,5.7191363,58.5963439,16.837232,32.5453918,66.407664,34.5084296,45.7140569,20.9962392,6.1262882,8.7608115,7.7506143,32.1139516,3.846153,0.4231275,0.4106245,8.2659673,5.4379232,57.7076112,16.8722588,32.0716095,66.7348016,35.2436254,46.1657964,21.00229,6.3848919,8.8919514,7.9011951,32.1571606,3.7313638,0.467183,0.4546575,7.8648666,5.0947488,56.1823055,16.9517736,32.1498744,66.8333891,35.7740261,46.8596249,21.3922602,6.6333215,8.9837772,7.8632741,31.8588153,3.7553847,0.491626,0.501704,7.7029642,4.9256506,55.0813383,17.3738506,32.6818342,67.4501038,36.5578059,47.0146755,21.878608,6.5561593,9.1429484,7.7936161,32.3630179,3.3769259 +950,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6061323,1.6337186,29.899388,24.1215256,50.5211814,17.2675307,36.1839792,62.6073187,29.5103869,40.661608,20.3631266,2.9448198,13.4619364,10.1159825,44.3326264,23.4693494,1.8359225,1.8864164,31.1181467,25.1775791,50.2244327,17.4974001,37.5021021,61.6249805,29.8997857,41.6838685,20.84382,3.028426,13.2072036,9.8456865,44.2592277,25.7201223,1.9757645,2.0578399,33.3462051,27.0201467,50.3687503,17.5751463,37.8496494,60.865148,29.623072,42.8535432,21.6687587,3.1840923,13.3133927,9.6369818,45.1482593,28.0727295,2.0664614,2.1560648,34.1350858,27.9430589,51.0388785,17.5172825,38.3556216,60.3136302,29.1926202,43.8503685,20.9212358,3.0989647,13.5221792,10.0114218,45.3496673,27.7121877,2.1758223,2.2204105,34.2926461,28.0052783,51.7422761,17.0808603,38.4122011,60.2583885,28.6944972,42.918159,20.5241172,3.2335941,13.2588899,10.1100782,44.9867726,27.6561874 +951,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5610541,0.5621352,7.4956957,5.0995472,83.2260259,7.6157575,26.8310269,62.7637726,28.4520088,38.023767,14.4151978,5.4927517,10.0889809,8.7802716,37.6454464,4.2202474,0.6024508,0.6064447,7.5691701,5.1662436,82.9336793,7.7095872,26.3942757,62.6116013,28.9121965,38.1514273,14.3778705,5.6183281,10.0168656,8.6396501,37.5423482,5.0286062,0.6010686,0.6036818,7.4249307,5.0769591,82.3723391,7.6014857,26.4306139,62.997134,29.0795499,38.4449561,14.6744636,5.6196906,9.8996944,8.4846555,37.1742634,4.7092547,0.5889113,0.5929654,7.3705897,4.9695785,81.7660276,7.3625968,26.4814698,63.4623431,29.4792651,38.4334688,14.8224449,5.5979903,10.0241147,8.5440646,37.4359696,4.824936,0.6189239,0.6146422,7.5661887,5.0534323,80.7782514,7.4366916,26.0470926,63.6081359,29.7789013,38.6986889,15.0488736,5.3649377,10.1481825,8.676956,37.1000834,4.1998232 +952,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6410175,0.6410175,11.6727343,8.2602854,46.5557113,15.5375611,33.6035033,70.1795328,36.7175549,48.4943363,24.4312174,4.2181321,10.5270873,8.0957,41.4393818,6.3757846,0.6666618,0.6666618,11.664757,8.0357175,46.8026724,14.5599452,33.5820936,70.835848,36.2089422,47.9701337,24.0895714,4.149249,10.6096039,9.2352845,41.3690456,5.434722,0.6942225,0.6942225,12.1813936,8.5654995,46.2287787,14.9449819,33.118077,69.895479,36.0085948,47.1402232,23.2164922,4.0897865,10.2424267,10.0121262,41.2162263,7.1427981,0.8158679,0.7965442,12.2481241,8.5957291,45.6146126,15.7605055,33.8867147,70.0846413,36.6210779,47.2330684,23.6002516,4.5898328,10.9195316,10.408663,43.5650104,6.5384766,0.7858362,0.7660772,12.2085579,8.2577779,45.5314871,15.3618305,32.3061536,69.2180287,36.4810929,45.8250475,22.7634117,4.4731502,11.1038903,10.8441369,42.4738236,6.0714416 +953,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5150256,0.5548986,13.1117788,11.1042241,54.3939333,32.8792851,32.3452219,67.1277619,34.0578927,41.304365,15.0856401,6.2581852,11.4012555,11.6758472,31.4403247,5.8621094,0.6551458,0.6944546,13.9233503,11.5718303,55.2149379,32.0836759,35.1612733,66.6452685,34.7743,42.5162164,15.1613765,6.6451266,12.0596648,11.7885226,33.4699019,5.7047363,0.6528366,0.6920068,14.2593559,11.9136406,54.9285755,31.6286158,34.8464843,65.4093379,34.8466761,42.9028688,15.2814268,6.2020094,12.2422154,11.726614,34.8446282,6.6455907,0.6734104,0.6734104,13.9668503,11.0331976,54.8875811,30.3362465,35.2748958,63.5472084,33.0499307,43.6518434,15.2488352,6.3481239,13.6855698,12.3304006,33.9236692,6.8179014,0.8701587,0.8701587,13.9312382,11.0051158,55.1112661,30.2309401,35.557002,64.7021982,33.3550953,44.4949416,15.9975518,6.6709413,14.7519282,11.87969,33.2010561,7.4672563 +954,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4183174,0.4451223,6.7176093,3.8582187,70.7042668,19.9725351,30.6260263,63.6202444,27.4166224,39.9022603,15.5186381,5.8904264,9.4319044,8.3333364,36.1070367,2.9681368,0.3297927,0.3506933,6.5743488,3.960216,69.4846218,20.3860333,30.9605856,63.2351873,28.6468563,40.0197216,15.3922042,5.8627607,9.4594629,8.1985324,34.8161746,3.0233599,0.2871644,0.2810839,6.9041218,4.1981836,68.7883358,19.7893641,30.650755,63.5981392,29.4127396,40.0360664,15.3155432,5.9704636,9.8733271,8.3645943,35.5263216,3.1554532,0.2282775,0.2221411,6.9333029,3.9992095,68.0437792,19.1439979,31.0252283,63.806914,29.5314849,40.3917236,15.56323,5.5914562,9.6810125,7.8672662,35.1907387,4.2501573,0.3340767,0.3353141,7.5384215,4.2643641,67.3888227,19.0983816,31.2548695,63.8301092,29.9957303,40.4753445,16.2266976,5.2599656,9.475659,8.0827098,35.1320887,4.3591398 +955,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.984944,2.0952381,33.671875,27.734375,61.5702479,7.6619273,36.1958266,64.1252006,26.4044944,40.6902087,15.1685393,5.5377207,16.1949686,11.7554859,35.5799373,13.803681,2.2756675,2.3117947,34.1257669,28.9110429,61.5322581,7.6036866,35.1246106,64.4080997,26.0903427,40.7320872,16.1214953,5.529595,16.5615142,12.4213836,37.5786164,13.9053254,1.953448,1.953448,33.1602374,28.4124629,60.719755,6.8382353,34.6439169,64.0207715,26.9287834,40.727003,16.5430267,5.7121662,16.8128655,12.6822157,37.3546512,12.6470588,1.6123407,1.6123407,33.1586826,29.1167665,60.4166667,7.1533923,35.5341246,64.0207715,26.3353116,41.4688427,16.3946588,5.8605341,16.7673716,13.3633634,37.5748503,11.746988,1.7519841,1.7519841,34.0472674,29.9113737,61.7692308,6.3689605,36.3970588,62.2794118,26.6911765,40.8088235,15.8088235,5.6617647,16.9161677,12.9464286,40.2077151,13.4375 +956,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.7635885,0.7905977,15.5317545,11.6645778,26.6474719,16.4898316,34.7948068,68.0129652,42.0950513,49.6112612,26.3282899,3.8228998,11.7430427,10.2784498,38.7746687,6.4101019,0.9589761,0.9818878,15.7795608,11.7979984,26.2543868,15.6421139,35.3710591,67.1171127,41.8060896,49.9142085,25.3753731,3.582157,11.6815046,10.8818698,39.6341414,8.8233762,1.0943372,1.1073733,16.2766576,12.4321067,26.5803117,15.321575,35.5398127,67.0736746,41.1953692,48.4361698,23.928884,3.277639,11.8760325,11.2409365,38.9562927,10.6297721,1.1695425,1.1826144,16.7505276,12.8092228,27.5320462,14.2766606,36.4986712,66.9896584,40.5469277,48.6003443,23.3634881,3.2515079,12.1665692,11.9951583,39.829113,11.9563855,1.2077486,1.2208307,16.6526725,12.6627468,28.4478739,13.5095225,36.3225544,66.0430163,40.580629,48.3225586,23.3333414,3.0752699,12.2619325,11.212357,38.7779118,13.4057441 +957,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8687663,0.8621345,14.2583519,9.5462942,43.0593522,16.0505422,36.8357272,68.8394339,38.921152,51.813674,22.3951901,4.1128032,11.3112658,9.9728738,32.5449113,9.3582938,0.8716127,0.8827943,14.0853244,9.3250922,41.7165221,15.7581784,36.9353905,68.4580797,39.3791868,51.402792,22.7216711,4.1727564,11.7230997,10.0610847,31.8680801,11.2716828,0.8430223,0.854122,13.7354467,9.2331772,41.1407553,15.899292,37.5721021,68.1997356,38.8375935,51.2086228,23.0699628,4.4191748,11.6100734,10.3137104,32.9864198,9.939765,0.9897298,1.0008441,13.3905932,9.2137146,40.1504719,15.8522557,37.1535307,67.4522922,38.9555772,50.5759816,23.3356553,4.2281133,12.0677321,10.5069104,33.2775988,11.6766467,1.0612284,1.072214,13.688085,9.4897189,39.1253184,16.1961655,37.2987857,67.9303991,39.186752,50.5680771,23.7452804,4.1087219,12.8893034,10.944732,32.8994051,12.1875549 +958,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.554008,0.5874132,8.1681491,5.62823,45.4516869,10.4001899,30.4529322,68.0239384,35.1984125,48.6723074,19.4004416,3.1341398,10.7382066,9.2351192,29.8881924,5.2049859,0.5079457,0.5240135,8.3114778,5.712252,44.5328742,10.327796,29.6638474,67.7292469,35.5501168,48.3403039,19.1139806,3.1058938,10.3920764,8.8660398,29.0026521,4.738531,0.518304,0.5301945,8.273273,5.6037926,43.7728196,10.617473,29.4988271,68.1984176,35.7251722,49.4138304,19.4562117,3.1023325,10.9581009,9.3550419,29.3675949,5.2542016,0.6482835,0.6572811,8.4183103,5.6011156,43.1718035,10.6971367,29.2678472,68.3664322,35.8963704,49.6430414,19.9175064,3.0238603,10.5618349,9.2128542,29.0786057,5.2535927,0.6303855,0.6393255,8.4470868,5.5616412,41.7374275,10.7487067,28.5507439,68.3344349,36.1280399,49.3374157,20.3336346,2.9931342,10.4173609,9.3121334,28.8251603,5.2158311 +959,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8716127,0.8827943,14.0853244,9.3250922,41.7165221,15.7581784,36.9353905,68.4580797,39.3791868,51.402792,22.7216711,4.1727564,11.7230997,10.0610847,31.8680801,11.2716828,0.8430223,0.854122,13.7354467,9.2331772,41.1407553,15.899292,37.5721021,68.1997356,38.8375935,51.2086228,23.0699628,4.4191748,11.6100734,10.3137104,32.9864198,9.939765,0.9897298,1.0008441,13.3905932,9.2137146,40.1504719,15.8522557,37.1535307,67.4522922,38.9555772,50.5759816,23.3356553,4.2281133,12.0677321,10.5069104,33.2775988,11.6766467,1.0612284,1.072214,13.688085,9.4897189,39.1253184,16.1961655,37.2987857,67.9303991,39.186752,50.5680771,23.7452804,4.1087219,12.8893034,10.944732,32.8994051,12.1875549,0.9609866,0.9787613,13.527594,9.6076442,38.9434105,16.4159965,37.9192661,68.2898216,39.6123146,50.2698509,24.21229,4.3607911,13.3877867,11.4477867,33.5277871,11.8182281 +960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8430223,0.854122,13.7354467,9.2331772,41.1407553,15.899292,37.5721021,68.1997356,38.8375935,51.2086228,23.0699628,4.4191748,11.6100734,10.3137104,32.9864198,9.939765,0.9897298,1.0008441,13.3905932,9.2137146,40.1504719,15.8522557,37.1535307,67.4522922,38.9555772,50.5759816,23.3356553,4.2281133,12.0677321,10.5069104,33.2775988,11.6766467,1.0612284,1.072214,13.688085,9.4897189,39.1253184,16.1961655,37.2987857,67.9303991,39.186752,50.5680771,23.7452804,4.1087219,12.8893034,10.944732,32.8994051,12.1875549,0.9609866,0.9787613,13.527594,9.6076442,38.9434105,16.4159965,37.9192661,68.2898216,39.6123146,50.2698509,24.21229,4.3607911,13.3877867,11.4477867,33.5277871,11.8182281,1.207607,1.2252761,13.9694854,10.0031303,38.0259241,15.7819126,37.9732972,68.5717952,40.2534169,50.4986561,24.1392129,4.2508718,13.1898898,11.7385954,33.6144484,11.7143295 +961,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6556915,0.648462,9.4320683,6.8486788,56.2328689,13.1103477,29.358352,67.6989433,39.1100393,44.1336638,20.4435203,5.202932,10.6081678,8.994531,34.1705175,7.194391,0.6902184,0.682775,9.4522596,6.8166898,54.8704741,13.3226364,28.8024438,67.7572903,39.5485381,44.216888,20.7095945,5.2808638,10.5354922,9.2321609,35.649422,7.4917629,0.7254383,0.7177499,9.5741585,6.5895697,53.9794572,13.7538022,28.9981495,67.968478,40.605666,44.5974976,20.7829804,5.441856,10.746517,9.8365571,36.0533209,10.0246063,0.6956563,0.6874334,9.2566352,6.441752,53.5008187,13.7896728,28.4805137,67.2558711,39.9398968,44.4986375,20.720246,4.7593253,10.2137625,9.9348885,34.7173815,9.6748148,0.7875247,0.7738978,9.0273954,6.2172721,52.0491045,14.5294713,28.2610533,67.5674696,40.1431616,44.8927169,20.2251274,4.423981,10.7480716,9.2974809,34.8806317,9.094005 +962,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5317911,0.5754401,8.42723,5.8920188,60.2354637,19.7701689,34.1894439,68.4967012,33.1055608,43.4260132,18.4967012,4.736098,9.500446,7.8194817,36.1310592,1.2135922,0.5119255,0.5555556,8.1378987,5.65197,59.2193487,19.6771175,32.4470588,69.0117647,32.7294118,43.5058824,18.5176471,4.8235294,10.1687389,7.969724,35.6951872,1.6509434,0.6415897,0.6855844,8.0690961,5.560814,58.6215178,19.4040357,32.1293673,68.7677054,33.0736544,44.4050992,18.3899906,4.7922568,9.6338274,7.9039301,34.5175439,1.6746411,0.6610759,0.6792082,8.2642613,5.4851292,57.3025335,19.71387,31.8893784,68.2574645,33.3088595,45.0073421,18.9672051,4.7234459,10,8.5568918,33.9069767,1.6666667,0.7041922,0.7073324,7.9746835,5.1392405,57.0292458,19.1729323,31.9078947,68.1933198,33.0718623,45.1163968,18.8512146,5.1366397,10.1735776,8.9458414,33.2521908,2.238806 +963,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5812707,0.5696485,7.5587884,5.0553278,62.1056365,10.3046615,31.555897,64.912407,30.1098431,40.4268584,15.5241936,13.8973848,10.9078965,9.2212568,37.835333,3.390875,0.583516,0.5590769,7.5620352,5.0111542,61.695086,10.2459605,31.2613387,65.3062672,29.8241907,40.3167252,15.5783455,14.0853904,10.5840399,9.2289404,37.8266716,3.263546,0.6185864,0.5687092,7.3281478,4.7773461,61.0057902,10.1633546,31.1693016,65.4160683,29.9641294,40.3658517,15.7173581,14.4404599,10.4742523,9.2226411,36.8270084,3.6828955,0.5235896,0.4786583,7.0582054,4.627962,59.3970807,10.1741192,30.8764405,65.6208093,29.8479638,40.6841559,16.3735288,14.5252667,10.5568061,9.0460034,36.5954444,3.1417104,0.5318751,0.4773187,7.1428565,4.5742815,58.3201387,10.2299212,30.4945123,66.1930937,30.2747226,40.7770838,16.2244901,14.5918385,10.237518,8.7785101,36.2878854,2.7046776 +964,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.583516,0.5590769,7.5620352,5.0111542,61.695086,10.2459605,31.2613387,65.3062672,29.8241907,40.3167252,15.5783455,14.0853904,10.5840399,9.2289404,37.8266716,3.263546,0.6185864,0.5687092,7.3281478,4.7773461,61.0057902,10.1633546,31.1693016,65.4160683,29.9641294,40.3658517,15.7173581,14.4404599,10.4742523,9.2226411,36.8270084,3.6828955,0.5235896,0.4786583,7.0582054,4.627962,59.3970807,10.1741192,30.8764405,65.6208093,29.8479638,40.6841559,16.3735288,14.5252667,10.5568061,9.0460034,36.5954444,3.1417104,0.5318751,0.4773187,7.1428565,4.5742815,58.3201387,10.2299212,30.4945123,66.1930937,30.2747226,40.7770838,16.2244901,14.5918385,10.237518,8.7785101,36.2878854,2.7046776,0.5117592,0.4502303,7.3431785,4.5884504,56.9219307,10.3802571,30.4736203,67.1992756,30.7194347,41.7322218,16.4945895,14.5608007,10.1291723,8.7209315,36.2583385,2.2307689 +965,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5030474,0.522345,10.3948966,6.654827,60.873738,13.5708262,31.6350156,69.2721517,36.1497779,46.2974631,19.7995463,3.2172941,10.1922244,8.9686913,33.2594414,8.3841743,0.4776102,0.5271026,10.5107146,6.6700629,59.7805496,13.924173,32.2263596,69.3668426,36.1162721,46.7308055,20.2875724,3.0519292,9.4780168,8.5102123,32.8661528,8.3333611,0.5294527,0.5968649,10.3695422,6.4721255,58.8508219,13.8562648,32.3222976,69.9652595,36.1008854,46.8852038,19.9243915,2.9309587,8.8590276,8.1318198,32.8161674,8.9124169,0.4896115,0.55753,10.3276293,6.5221733,57.7314092,13.8046705,31.7882746,69.6505472,35.7553861,46.3412015,19.8663649,2.8057506,8.6417286,8.1395319,32.6777946,9.9112693,0.5181386,0.5860827,10.3591628,6.3007192,56.793069,14.3133955,31.6577187,69.5602666,35.8484636,45.9640691,20.5305293,3.0037112,9.2120994,8.1441616,32.8451037,9.2767552 +966,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6902184,0.682775,9.4522596,6.8166898,54.8704741,13.3226364,28.8024438,67.7572903,39.5485381,44.216888,20.7095945,5.2808638,10.5354922,9.2321609,35.649422,7.4917629,0.7254383,0.7177499,9.5741585,6.5895697,53.9794572,13.7538022,28.9981495,67.968478,40.605666,44.5974976,20.7829804,5.441856,10.746517,9.8365571,36.0533209,10.0246063,0.6956563,0.6874334,9.2566352,6.441752,53.5008187,13.7896728,28.4805137,67.2558711,39.9398968,44.4986375,20.720246,4.7593253,10.2137625,9.9348885,34.7173815,9.6748148,0.7875247,0.7738978,9.0273954,6.2172721,52.0491045,14.5294713,28.2610533,67.5674696,40.1431616,44.8927169,20.2251274,4.423981,10.7480716,9.2974809,34.8806317,9.094005,0.748481,0.7343712,8.8365819,5.8739193,50.6605785,14.8536208,27.6125906,67.257026,40.2052055,45.9711145,20.6163512,4.5613869,10.7979651,9.5386987,34.0936981,8.2417784 +967,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0552927,1.0126616,22.9339982,17.7059933,40.1678166,13.1940586,39.4902718,66.7681164,33.5096683,49.8477363,25.9046664,5.1326469,14.8183637,12.1906874,33.5129442,9.8095355,1.000281,0.9435328,23.5999234,18.8563984,41.1945776,13.3598495,39.3184844,66.5741943,33.6093251,50.089685,25.768832,5.1439446,14.443817,12.2428538,33.3546527,9.3095495,0.9608645,0.9625108,24.2754409,19.6773016,42.3618531,13.1973221,39.1448315,66.7046449,33.9236325,50.5088996,26.1573399,5.0444085,14.978556,11.5874469,33.4540007,7.7550951,1.0577429,1.0593634,23.8397267,19.229097,41.5332672,13.5076797,39.4921538,66.4193173,34.1116815,50.6743008,25.6435873,4.9643261,15.4343882,11.952767,33.8190686,8.5075495,0.9455262,0.9598602,24.4201513,19.8403568,41.4908638,13.640238,39.7093362,67.2187687,34.8332472,50.7366012,25.0973561,5.6119904,14.6083044,12.5249966,33.0710313,8.8407747 +968,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6813489,0.7096858,9.0533896,5.443342,52.590317,16.9162247,32.6409425,67.8531258,38.5965148,45.0752349,22.8209392,3.9075054,10.338281,9.1430551,34.9749941,6.5855972,0.690509,0.6841146,9.1027219,5.5667311,51.4222021,17.5904046,32.6711615,68.4942652,38.4073223,46.1753146,23.1102122,3.9885467,10.0800334,9.4571025,34.5351164,5.750207,0.6680977,0.6614103,9.0230199,5.6145735,50.5905463,17.5859026,32.7024974,69.0490826,38.8643602,47.2471121,23.7878422,4.1131156,10.4679734,9.4593961,33.8482124,4.3591353,0.7979773,0.8008218,9.0835573,5.7109376,49.1737254,17.3612617,32.6785654,68.9771755,39.2692981,48.3601603,24.0746257,4.042122,11.3680562,9.7212875,33.2796139,4.213611,0.7022158,0.724926,9.1138125,5.8118801,48.2477777,17.7272489,32.5425671,68.822332,38.8565919,48.7540922,24.1808762,4.0102049,10.8300151,9.5413704,32.7303977,4.6876055 +969,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5361753,0.5546572,11.2122859,7.6940091,41.2505646,13.6054483,30.5737698,67.5051639,38.9770531,47.3377278,20.9436436,6.1009221,10.4239972,9.7537971,34.9677945,8.9610812,0.6027003,0.6129994,11.1782558,7.7248109,39.9355092,13.0538132,30.9000877,67.3902052,38.9215133,47.4561547,20.7669802,6.2178055,10.4801063,9.9225308,34.0283578,8.6554996,0.6125354,0.6277251,11.1934583,7.5191251,38.2246639,13.2753393,31.5775562,67.4568833,39.3720305,47.8588255,21.121931,6.2308664,9.322245,8.739143,33.294855,8.4375053,0.5588727,0.5747668,11.0253106,7.8071118,36.2306463,12.8488544,31.0222132,67.2385381,39.6735607,48.1204728,21.7252104,6.1238448,9.037775,8.9665499,32.9520225,6.9343116,0.6029121,0.6078237,10.9278624,7.8354654,35.3820757,13.1965852,31.73076,67.7600074,39.9454725,48.0730881,21.4849809,6.2447983,8.3750042,8.7156094,32.5396145,6.7857191 +970,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9394153,0.9764813,11.5766948,7.7810071,47.4167857,18.9257705,38.0917711,69.2021475,38.9849693,49.2856566,23.4445147,3.3789769,11.8031398,11.2343303,34.0857692,6.4766,0.8821448,0.9799888,11.3306153,7.7368428,45.5867422,18.8269371,38.1333874,69.2852864,39.1889488,50.1358682,24.2913602,3.603734,11.6930566,11.3597563,33.5889392,7.0679666,0.6913935,0.7908142,11.2864118,7.499233,43.8608818,19.142828,38.0741843,69.5805233,39.0233555,49.9235182,24.2345822,3.658905,11.4600763,10.6798904,33.4564281,8.2445624,0.6517238,0.681174,11.5917084,7.5584812,42.6948766,19.428907,37.3629029,69.2223345,38.8367095,50.1882137,23.6908489,3.6845353,11.146848,10.6451698,33.9496646,8.707738,0.7178262,0.7482361,11.9495291,7.8972251,41.5008173,19.7708716,37.7276232,69.0018931,39.905854,50.5689367,24.2685419,3.7873738,10.8016855,11.2507621,33.2619314,7.6703412 +971,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.000281,0.9435328,23.5999234,18.8563984,41.1945776,13.3598495,39.3184844,66.5741943,33.6093251,50.089685,25.768832,5.1439446,14.443817,12.2428538,33.3546527,9.3095495,0.9608645,0.9625108,24.2754409,19.6773016,42.3618531,13.1973221,39.1448315,66.7046449,33.9236325,50.5088996,26.1573399,5.0444085,14.978556,11.5874469,33.4540007,7.7550951,1.0577429,1.0593634,23.8397267,19.229097,41.5332672,13.5076797,39.4921538,66.4193173,34.1116815,50.6743008,25.6435873,4.9643261,15.4343882,11.952767,33.8190686,8.5075495,0.9455262,0.9598602,24.4201513,19.8403568,41.4908638,13.640238,39.7093362,67.2187687,34.8332472,50.7366012,25.0973561,5.6119904,14.6083044,12.5249966,33.0710313,8.8407747,1.0560992,1.0702892,24.8775975,20.1832622,41.7355315,14.0051566,40.2250615,67.2760607,34.3339228,50.6863748,25.8018506,5.6790622,14.3219427,12.540681,32.8783465,10.6146495 +972,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5243934,0.5426439,8.2900079,5.5545765,50.5039602,17.3459838,32.8721738,68.3416431,35.8926295,45.7519734,19.6241354,4.5312074,10.826599,8.4250601,33.0286067,5.4330698,0.5435449,0.573724,8.7091345,5.7703783,50.3021053,17.888291,32.4448997,68.742878,36.4911943,45.4533652,20.2365603,4.8337275,11.6658136,8.7153699,31.1246246,5.2904101,0.5039983,0.5435431,8.2850689,5.5984849,49.6231078,17.8707301,31.8630732,69.0526883,36.6440529,44.9052309,20.255478,4.7478226,10.7559057,8.1612561,31.2979248,4.3806537,0.4647053,0.5223794,7.8699234,5.081487,48.3966921,18.0376644,30.710465,69.0884651,36.3289719,45.4825771,20.054599,4.4745102,10.4882419,8.1233186,30.0545143,4.1155828,0.5555431,0.6130556,8.0264818,5.3703362,47.119466,18.3958456,30.2688495,69.4920351,36.8802285,45.405032,19.8955943,4.5151222,10.1958882,8.5318593,30.2134278,3.2915498 +973,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6696795,0.6937799,9.6405984,6.8603191,71.3704115,11.7372128,30.4442792,66.3328319,30.5823785,44.1873727,14.6524218,4.7997486,11.3323842,11.1421222,32.2461417,5.2158705,0.6559821,0.6782937,9.457214,6.6141783,70.2621909,11.7807541,30.4029427,66.7185627,30.5948916,44.6269855,14.9796722,4.9772409,11.3329319,11.0886144,31.8941632,5.8049054,0.5336389,0.568694,9.0157575,6.2777323,69.5283785,12.2324162,29.9021614,66.2611878,31.4819679,44.9222332,15.0326572,5.3285156,10.982958,11.2393927,31.2292573,6.0543382,0.5390443,0.5755586,9.0101977,6.2852732,68.1434287,12.5388115,29.2895955,66.5577158,31.5878608,44.9856198,15.4218282,5.3408553,11.0189582,11.1027117,30.6972936,7.3409324,0.5079606,0.5079606,9.1297456,6.5330737,67.6605846,12.6048343,29.2699467,66.8685058,31.3838912,44.9125896,14.7548714,5.4256316,11.4467155,10.8671931,30.9126426,6.9616611 +974,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6650366,0.666149,9.1948491,5.7753607,33.199243,17.0214777,35.4119584,69.1455033,40.294916,50.0406847,22.410966,4.5066234,12.0310831,10.3063643,32.0886325,4.6552174,0.7575552,0.7636124,9.2242169,5.626046,32.2709836,17.2301857,35.7264739,69.4852806,40.3211807,50.5531304,22.7504944,4.4565043,12.3334665,10.45527,32.2887176,6.0546851,0.826123,0.8318994,9.3580646,5.4977292,30.8840362,17.2312407,35.3117123,69.7723987,40.5503636,50.8731723,23.2206205,4.2992986,12.3145349,10.3470044,31.9787287,6.5022451,0.7767864,0.7756935,9.170566,5.38552,30.1417724,17.7000731,34.8851185,69.7820754,41.0447238,51.3030345,24.0345975,4.4657748,12.1247094,10.1152027,31.7022402,6.8396259,0.8071931,0.8136664,9.12088,5.3601959,29.4346884,17.9515643,34.0317547,69.8363833,40.8752289,50.9422564,24.0143925,4.4507862,11.2064743,9.823612,31.4349152,6.127451 +975,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1186748,1.093225,19.8829777,15.7913093,36.4102606,18.8802395,38.7034192,68.3740738,38.6627284,47.7501572,24.3265292,4.4870645,11.3731658,8.8834335,30.2192362,15.4964527,1.1807988,1.1551852,20.3911732,16.3161575,36.5042299,18.6999641,38.6076762,67.733078,38.6359031,47.6606349,24.524628,4.5243119,11.6871745,9.0900889,30.8949511,15.1093528,1.1421022,1.1246727,21.0457183,17.0131386,37.634229,18.5024402,39.6544637,68.0502723,37.812198,48.1786559,24.8627516,4.3803327,12.4077425,9.1998094,32.0702183,15.7255919,1.1169889,1.1076621,20.7191505,16.7289713,37.6114187,18.5435118,39.0081261,67.8513154,37.5599296,47.6481144,24.9915541,4.2527966,12.9228817,9.6706689,31.2655156,14.1077059,1.1582683,1.1696118,21.0855056,16.9559187,37.9300913,18.4771387,38.4375099,67.2285387,37.5680086,47.9366195,24.4750848,4.1483949,13.3012286,9.4216367,30.9968176,15.117553 +976,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6666618,0.6666618,11.664757,8.0357175,46.8026724,14.5599452,33.5820936,70.835848,36.2089422,47.9701337,24.0895714,4.149249,10.6096039,9.2352845,41.3690456,5.434722,0.6942225,0.6942225,12.1813936,8.5654995,46.2287787,14.9449819,33.118077,69.895479,36.0085948,47.1402232,23.2164922,4.0897865,10.2424267,10.0121262,41.2162263,7.1427981,0.8158679,0.7965442,12.2481241,8.5957291,45.6146126,15.7605055,33.8867147,70.0846413,36.6210779,47.2330684,23.6002516,4.5898328,10.9195316,10.408663,43.5650104,6.5384766,0.7858362,0.7660772,12.2085579,8.2577779,45.5314871,15.3618305,32.3061536,69.2180287,36.4810929,45.8250475,22.7634117,4.4731502,11.1038903,10.8441369,42.4738236,6.0714416,0.798581,0.7760308,11.84212,7.6585814,44.7974839,14.9694358,31.7932916,68.9596313,37.2689749,46.3723599,24.05886,4.4147725,11.2990454,11.1637273,41.7006758,5.813967 +977,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.690509,0.6841146,9.1027219,5.5667311,51.4222021,17.5904046,32.6711615,68.4942652,38.4073223,46.1753146,23.1102122,3.9885467,10.0800334,9.4571025,34.5351164,5.750207,0.6680977,0.6614103,9.0230199,5.6145735,50.5905463,17.5859026,32.7024974,69.0490826,38.8643602,47.2471121,23.7878422,4.1131156,10.4679734,9.4593961,33.8482124,4.3591353,0.7979773,0.8008218,9.0835573,5.7109376,49.1737254,17.3612617,32.6785654,68.9771755,39.2692981,48.3601603,24.0746257,4.042122,11.3680562,9.7212875,33.2796139,4.213611,0.7022158,0.724926,9.1138125,5.8118801,48.2477777,17.7272489,32.5425671,68.822332,38.8565919,48.7540922,24.1808762,4.0102049,10.8300151,9.5413704,32.7303977,4.6876055,0.6233687,0.6876163,9.1150088,5.7875345,47.8804256,17.9761519,32.8760522,69.1196364,39.3977317,48.9129726,24.2160132,4.1162039,10.5170231,10.2898178,32.0815808,4.870133 +978,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0.9589761,0.9818878,15.7795608,11.7979984,26.2543868,15.6421139,35.3710591,67.1171127,41.8060896,49.9142085,25.3753731,3.582157,11.6815046,10.8818698,39.6341414,8.8233762,1.0943372,1.1073733,16.2766576,12.4321067,26.5803117,15.321575,35.5398127,67.0736746,41.1953692,48.4361698,23.928884,3.277639,11.8760325,11.2409365,38.9562927,10.6297721,1.1695425,1.1826144,16.7505276,12.8092228,27.5320462,14.2766606,36.4986712,66.9896584,40.5469277,48.6003443,23.3634881,3.2515079,12.1665692,11.9951583,39.829113,11.9563855,1.2077486,1.2208307,16.6526725,12.6627468,28.4478739,13.5095225,36.3225544,66.0430163,40.580629,48.3225586,23.3333414,3.0752699,12.2619325,11.212357,38.7779118,13.4057441,1.31773,1.3305995,16.9418064,12.9797701,28.2023223,12.9614316,36.4114216,66.7858744,40.5763452,48.3171892,23.075317,3.0500641,12.9587348,11.7265047,39.3296885,15.4546196 +979,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6185864,0.5687092,7.3281478,4.7773461,61.0057902,10.1633546,31.1693016,65.4160683,29.9641294,40.3658517,15.7173581,14.4404599,10.4742523,9.2226411,36.8270084,3.6828955,0.5235896,0.4786583,7.0582054,4.627962,59.3970807,10.1741192,30.8764405,65.6208093,29.8479638,40.6841559,16.3735288,14.5252667,10.5568061,9.0460034,36.5954444,3.1417104,0.5318751,0.4773187,7.1428565,4.5742815,58.3201387,10.2299212,30.4945123,66.1930937,30.2747226,40.7770838,16.2244901,14.5918385,10.237518,8.7785101,36.2878854,2.7046776,0.5117592,0.4502303,7.3431785,4.5884504,56.9219307,10.3802571,30.4736203,67.1992756,30.7194347,41.7322218,16.4945895,14.5608007,10.1291723,8.7209315,36.2583385,2.2307689,0.4935948,0.4366836,7.3601802,4.4583174,56.2130712,10.8980908,30.5852937,67.3083494,31.9147014,42.2738255,17.2738216,14.511396,9.9205012,8.9722418,36.1435809,2.2022831 +980,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4625727,0.4304602,8.6750067,4.906751,67.5240244,13.5688612,27.9910213,62.1728695,33.7885176,38.4920165,16.4572201,3.415227,12.8370495,9.7691396,35.0236708,4.4652244,0.3522887,0.3522887,8.5077631,4.8997579,66.1253092,13.6625886,28.5789856,62.7081366,34.4262074,38.4741812,16.2504103,3.5141017,12.8922776,9.9669012,35.5218027,2.8647643,0.3578885,0.3578885,8.3597469,4.847171,65.4706456,14.1083357,27.4687005,61.4512367,34.5149488,38.3243466,16.6231779,3.4821674,12.5066568,9.7194715,34.9470073,3.7454992,0.4122855,0.4122855,8.3233852,4.9688451,64.7482692,13.9985281,27.5841962,61.1864058,34.0883414,38.4898846,16.8471859,3.4399469,12.6567799,11.1227191,35.274899,3.3486179,0.2783721,0.2783721,7.9090408,4.6915041,63.7027955,13.6443149,27.0658866,61.4286099,34.8498119,40.2558089,16.3099721,3.3036637,11.7547971,9.9408136,36.2675436,1.8603433 +981,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7104459,0.7046176,7.8324406,5.0525816,47.7557769,20.9828231,31.5343838,69.1048777,32.7378789,44.8852588,17.0176782,6.6754281,11.4059457,9.6896418,32.8838411,2.830178,0.7004521,0.7034077,7.7026375,4.9366031,46.5961309,20.8365088,32.1577984,69.1383679,33.6447002,45.6537913,17.3656202,6.4620553,11.6822346,9.8849677,32.3381422,2.3985151,0.6487118,0.6579829,7.2899691,4.6647725,44.6556952,20.0907333,31.4880526,69.5436319,33.6706673,45.7340958,17.2817713,6.7261771,11.9499485,9.5219922,32.1564174,2.529173,0.7391215,0.7488504,7.1579211,4.4974548,44.0024983,21.5942528,31.2238566,68.9849566,33.5213654,45.7602028,17.2305959,6.7877858,12.449336,9.3673852,32.7515835,3.2188772,0.8321056,0.8423281,7.2916711,4.6321031,43.7915562,22.3070333,31.3048672,68.914772,33.6775548,46.1554904,17.5527256,7.0957649,12.4158461,8.8879378,32.1669356,3.051636 +982,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5119255,0.5555556,8.1378987,5.65197,59.2193487,19.6771175,32.4470588,69.0117647,32.7294118,43.5058824,18.5176471,4.8235294,10.1687389,7.969724,35.6951872,1.6509434,0.6415897,0.6855844,8.0690961,5.560814,58.6215178,19.4040357,32.1293673,68.7677054,33.0736544,44.4050992,18.3899906,4.7922568,9.6338274,7.9039301,34.5175439,1.6746411,0.6610759,0.6792082,8.2642613,5.4851292,57.3025335,19.71387,31.8893784,68.2574645,33.3088595,45.0073421,18.9672051,4.7234459,10,8.5568918,33.9069767,1.6666667,0.7041922,0.7073324,7.9746835,5.1392405,57.0292458,19.1729323,31.9078947,68.1933198,33.0718623,45.1163968,18.8512146,5.1366397,10.1735776,8.9458414,33.2521908,2.238806,0.6773137,0.6805897,7.6086957,4.8515376,56.7502668,18.4635417,31.6412415,67.8853235,33.1667543,44.5817991,18.1746449,4.918464,10.2985075,8.8235294,33.7525151,2.5139665 +983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.3522887,0.3522887,8.5077631,4.8997579,66.1253092,13.6625886,28.5789856,62.7081366,34.4262074,38.4741812,16.2504103,3.5141017,12.8922776,9.9669012,35.5218027,2.8647643,0.3578885,0.3578885,8.3597469,4.847171,65.4706456,14.1083357,27.4687005,61.4512367,34.5149488,38.3243466,16.6231779,3.4821674,12.5066568,9.7194715,34.9470073,3.7454992,0.4122855,0.4122855,8.3233852,4.9688451,64.7482692,13.9985281,27.5841962,61.1864058,34.0883414,38.4898846,16.8471859,3.4399469,12.6567799,11.1227191,35.274899,3.3486179,0.2783721,0.2783721,7.9090408,4.6915041,63.7027955,13.6443149,27.0658866,61.4286099,34.8498119,40.2558089,16.3099721,3.3036637,11.7547971,9.9408136,36.2675436,1.8603433,0.3126106,0.3126106,7.7932854,4.636212,63.8045582,13.1523195,26.7456018,62.5338005,34.8566863,39.9396886,16.3421483,3.1815098,11.3559831,9.7579421,35.7817762,1.8742906 +984,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5576779,0.5911503,11.8650624,7.9729551,36.8192774,17.8251954,34.8587466,70.0774443,41.6807142,49.7224093,25.706794,3.3555583,10.7550399,9.5160427,30.9125622,6.580434,0.5761189,0.6078326,11.6017652,7.8277014,36.7388768,18.278375,34.9005821,70.6669747,41.0451971,48.9757067,25.7086222,3.3351099,11.354496,9.5317387,33.4225564,5.1600932,0.5267112,0.5618816,11.4983715,8.0912724,37.2773794,18.4188283,34.8018363,70.5565553,40.5205696,48.4542878,25.9915139,3.2714561,11.2347256,10.2743392,34.7944583,6.048392,0.6033224,0.6277257,11.4494587,7.9872751,37.3447462,18.373921,33.9988384,71.1065815,40.7229479,48.3062088,25.5557942,3.1091374,11.2333859,10.6068145,36.3983296,6.8547392,0.5627689,0.5990842,11.5580527,8.162879,37.8125667,17.8606145,33.7664537,70.004508,40.0865419,48.343246,24.8977285,2.981591,11.4423091,10.2825609,36.2552537,5.8556659 +985,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1531594,1.1954869,21.8120342,18.1071375,48.0076828,20.0724903,37.9722953,67.2282956,35.987322,47.0634025,20.6237328,3.4339713,15.2208778,12.590522,36.6531814,10.3636113,1.0956635,1.1533885,22.8487966,18.8601544,48.9864734,19.2434441,37.8978032,67.0954949,35.2036083,47.0500356,20.6222488,3.3082669,14.7360543,11.7197248,36.4053117,10.6884097,1.0562786,1.1140663,22.9286886,18.9401398,49.776514,18.4940772,37.9269935,66.5546841,35.7461858,46.8483865,21.3121753,3.1125576,14.8753421,12.1683611,36.5305728,10.7394128,1.2529241,1.3077518,23.3891825,19.5326872,50.208439,18.5109134,37.6589654,65.9963493,34.8957394,45.8198276,21.0923906,3.1059907,14.8098635,12.3550469,37.8134428,12.2837455,1.2284668,1.2871188,23.6223793,19.7547094,50.3345571,18.2303463,38.0065448,65.7482707,34.0058024,45.8809658,20.5836777,2.8764051,15.0618591,12.4166175,38.0986987,13.2978771 +986,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.9608645,0.9625108,24.2754409,19.6773016,42.3618531,13.1973221,39.1448315,66.7046449,33.9236325,50.5088996,26.1573399,5.0444085,14.978556,11.5874469,33.4540007,7.7550951,1.0577429,1.0593634,23.8397267,19.229097,41.5332672,13.5076797,39.4921538,66.4193173,34.1116815,50.6743008,25.6435873,4.9643261,15.4343882,11.952767,33.8190686,8.5075495,0.9455262,0.9598602,24.4201513,19.8403568,41.4908638,13.640238,39.7093362,67.2187687,34.8332472,50.7366012,25.0973561,5.6119904,14.6083044,12.5249966,33.0710313,8.8407747,1.0560992,1.0702892,24.8775975,20.1832622,41.7355315,14.0051566,40.2250615,67.2760607,34.3339228,50.6863748,25.8018506,5.6790622,14.3219427,12.540681,32.8783465,10.6146495,1.0618941,1.101015,24.6236775,20.0341124,42.4575583,14.4770931,40.0468644,66.8671311,34.2692551,50.238538,26.3292164,5.6132104,15.5535104,13.179662,33.971069,11.5580431 +987,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1645846,1.2425282,17.5819143,13.834192,80.9029992,15.0663281,33.7210648,65.8295742,35.0725628,38.779119,17.9732486,5.1443326,14.0092744,9.6321476,41.9920417,9.0219532,1.2046126,1.2827934,18.1295595,14.6700499,81.3600124,15.4827293,34.6696499,65.3885797,34.5607278,39.4988072,17.7485922,5.2536792,13.7864429,9.6843984,40.3397748,9.2978234,1.1529051,1.2052967,18.5016152,15.0013034,81.8981056,15.4432435,34.6910172,65.1929638,34.4665332,39.4156334,17.9584266,5.3792545,14.4460111,10.0947665,40.2519999,9.8972965,1.0949076,1.1473059,19.3735499,15.6497091,82.0328436,15.2266714,35.4234918,65.7894358,34.8557563,40.2763328,17.4415984,5.1101048,14.4357698,10.4950413,38.9767709,10.3862004,1.0236491,1.0757542,19.1438413,15.7544768,81.726993,14.9411345,35.0603294,66.3185859,34.836033,39.9516291,17.1472967,4.8630259,14.5805164,10.400431,38.3868621,12.1789486 +988,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7254383,0.7177499,9.5741585,6.5895697,53.9794572,13.7538022,28.9981495,67.968478,40.605666,44.5974976,20.7829804,5.441856,10.746517,9.8365571,36.0533209,10.0246063,0.6956563,0.6874334,9.2566352,6.441752,53.5008187,13.7896728,28.4805137,67.2558711,39.9398968,44.4986375,20.720246,4.7593253,10.2137625,9.9348885,34.7173815,9.6748148,0.7875247,0.7738978,9.0273954,6.2172721,52.0491045,14.5294713,28.2610533,67.5674696,40.1431616,44.8927169,20.2251274,4.423981,10.7480716,9.2974809,34.8806317,9.094005,0.748481,0.7343712,8.8365819,5.8739193,50.6605785,14.8536208,27.6125906,67.257026,40.2052055,45.9711145,20.6163512,4.5613869,10.7979651,9.5386987,34.0936981,8.2417784,0.6764405,0.7145174,8.5479124,5.5410934,49.7869085,14.7712991,26.6649503,67.7584081,40.8977077,45.6869303,21.4070628,4.2270095,10.6635655,9.624889,33.5181225,7.051722 +989,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.239836,1.3143417,26.5693016,21.5690395,40.2495064,17.780236,34.6669447,64.8711614,34.944081,44.0472318,20.3013029,3.071748,14.4749655,10.8353973,41.1285594,15.9685613,1.2657878,1.3265533,27.7726544,22.7059411,41.6070573,17.0489299,34.8892366,63.3508726,33.8767096,44.0410806,18.9969344,2.7954549,14.7634279,11.7395572,40.0034198,17.079191,1.4483347,1.4686966,28.6054319,23.6883588,42.481536,16.9569814,34.4882742,63.3059627,33.2478913,44.4425243,18.8505029,2.7687217,15.0756314,12.2763329,40.9784428,18.2051189,1.5712913,1.5780073,29.4918783,24.6725821,44.5045212,16.8953355,34.5643737,63.038755,32.4165073,44.67709,19.3538539,2.9149793,15.9149768,12.4344011,40.8654439,19.0355233,1.4981212,1.5251191,29.9351727,25.2597809,45.3036056,16.615064,34.386158,62.9778624,31.4268702,44.4843904,18.7505013,2.9813676,15.9827708,12.9455158,40.8775806,19.7435796 +990,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5079457,0.5240135,8.3114778,5.712252,44.5328742,10.327796,29.6638474,67.7292469,35.5501168,48.3403039,19.1139806,3.1058938,10.3920764,8.8660398,29.0026521,4.738531,0.518304,0.5301945,8.273273,5.6037926,43.7728196,10.617473,29.4988271,68.1984176,35.7251722,49.4138304,19.4562117,3.1023325,10.9581009,9.3550419,29.3675949,5.2542016,0.6482835,0.6572811,8.4183103,5.6011156,43.1718035,10.6971367,29.2678472,68.3664322,35.8963704,49.6430414,19.9175064,3.0238603,10.5618349,9.2128542,29.0786057,5.2535927,0.6303855,0.6393255,8.4470868,5.5616412,41.7374275,10.7487067,28.5507439,68.3344349,36.1280399,49.3374157,20.3336346,2.9931342,10.4173609,9.3121334,28.8251603,5.2158311,0.6916025,0.6731515,8.3458184,5.467207,40.6638183,10.9012559,28.4648556,67.756916,35.784038,49.4280015,20.7794314,3.0979964,10.346241,9.8102095,29.139288,3.8983064 +991,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7575552,0.7636124,9.2242169,5.626046,32.2709836,17.2301857,35.7264739,69.4852806,40.3211807,50.5531304,22.7504944,4.4565043,12.3334665,10.45527,32.2887176,6.0546851,0.826123,0.8318994,9.3580646,5.4977292,30.8840362,17.2312407,35.3117123,69.7723987,40.5503636,50.8731723,23.2206205,4.2992986,12.3145349,10.3470044,31.9787287,6.5022451,0.7767864,0.7756935,9.170566,5.38552,30.1417724,17.7000731,34.8851185,69.7820754,41.0447238,51.3030345,24.0345975,4.4657748,12.1247094,10.1152027,31.7022402,6.8396259,0.8071931,0.8136664,9.12088,5.3601959,29.4346884,17.9515643,34.0317547,69.8363833,40.8752289,50.9422564,24.0143925,4.4507862,11.2064743,9.823612,31.4349152,6.127451,0.7286693,0.723634,8.701554,5.0481366,28.5330879,17.8056651,34.1509581,69.6729471,40.9937072,50.7295644,24.2138381,4.4654118,10.421907,9.4892379,30.9379797,6.3451809 +992,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2285396,1.2698779,25.4616985,21.4087587,48.2262928,13.8223932,41.3281064,65.55875,34.0325901,46.6830405,23.5947958,3.6482535,13.0950884,9.4141288,27.6607599,20.5820741,1.1830166,1.2539915,27.1498877,22.5656442,48.6888708,13.9597655,41.8354682,66.2587443,35.0551896,46.9704789,23.6662546,3.2587926,12.8188694,9.1456531,29.0603193,24.2263217,1.2238191,1.4150633,27.6784831,23.0281669,48.6434323,14.8303905,41.2341792,65.0369772,36.0599692,47.1850275,24.0290938,3.5252783,11.2686216,8.6578283,30.2027502,25.2907243,1.2072707,1.3597221,27.7231909,22.8288365,50.9699265,15.1604978,40.292536,64.4878869,35.1128522,46.5220991,23.3100621,3.3770104,12.414288,9.6180848,30.0549964,23.5052589,1.2936075,1.4530684,27.4700896,22.3717226,51.3605675,15.7378752,39.452612,65.804722,35.3508361,46.6446963,22.9638534,3.2513733,12.1637874,9.1502222,30.4075944,23.7270441 +993,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6551458,0.6944546,13.9233503,11.5718303,55.2149379,32.0836759,35.1612733,66.6452685,34.7743,42.5162164,15.1613765,6.6451266,12.0596648,11.7885226,33.4699019,5.7047363,0.6528366,0.6920068,14.2593559,11.9136406,54.9285755,31.6286158,34.8464843,65.4093379,34.8466761,42.9028688,15.2814268,6.2020094,12.2422154,11.726614,34.8446282,6.6455907,0.6734104,0.6734104,13.9668503,11.0331976,54.8875811,30.3362465,35.2748958,63.5472084,33.0499307,43.6518434,15.2488352,6.3481239,13.6855698,12.3304006,33.9236692,6.8179014,0.8701587,0.8701587,13.9312382,11.0051158,55.1112661,30.2309401,35.557002,64.7021982,33.3550953,44.4949416,15.9975518,6.6709413,14.7519282,11.87969,33.2010561,7.4672563,0.8461547,0.8461547,14.0943304,10.6505321,54.7525948,31.5145894,34.0466802,65.6939779,33.6576998,45.979455,16.277643,5.5123283,13.5442735,10.2529535,32.864485,6.5214691 +994,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.532968,0.5229459,8.6312866,5.7191363,58.5963439,16.837232,32.5453918,66.407664,34.5084296,45.7140569,20.9962392,6.1262882,8.7608115,7.7506143,32.1139516,3.846153,0.4231275,0.4106245,8.2659673,5.4379232,57.7076112,16.8722588,32.0716095,66.7348016,35.2436254,46.1657964,21.00229,6.3848919,8.8919514,7.9011951,32.1571606,3.7313638,0.467183,0.4546575,7.8648666,5.0947488,56.1823055,16.9517736,32.1498744,66.8333891,35.7740261,46.8596249,21.3922602,6.6333215,8.9837772,7.8632741,31.8588153,3.7553847,0.491626,0.501704,7.7029642,4.9256506,55.0813383,17.3738506,32.6818342,67.4501038,36.5578059,47.0146755,21.878608,6.5561593,9.1429484,7.7936161,32.3630179,3.3769259,0.491267,0.5055273,7.482343,4.711104,53.8679762,17.7779626,32.7326532,67.5549881,36.8104903,47.1488988,21.7005088,6.5566829,9.086576,7.5071761,32.1657176,3.1395552 +995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6942225,0.6942225,12.1813936,8.5654995,46.2287787,14.9449819,33.118077,69.895479,36.0085948,47.1402232,23.2164922,4.0897865,10.2424267,10.0121262,41.2162263,7.1427981,0.8158679,0.7965442,12.2481241,8.5957291,45.6146126,15.7605055,33.8867147,70.0846413,36.6210779,47.2330684,23.6002516,4.5898328,10.9195316,10.408663,43.5650104,6.5384766,0.7858362,0.7660772,12.2085579,8.2577779,45.5314871,15.3618305,32.3061536,69.2180287,36.4810929,45.8250475,22.7634117,4.4731502,11.1038903,10.8441369,42.4738236,6.0714416,0.798581,0.7760308,11.84212,7.6585814,44.7974839,14.9694358,31.7932916,68.9596313,37.2689749,46.3723599,24.05886,4.4147725,11.2990454,11.1637273,41.7006758,5.813967,0.9469519,0.9449689,11.7320323,7.8104616,44.7686103,14.3741703,31.8061871,67.5346234,36.8160701,45.1878857,23.829909,4.3177206,12.018587,11.7529959,41.0000007,4.9242499 +996,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5435449,0.573724,8.7091345,5.7703783,50.3021053,17.888291,32.4448997,68.742878,36.4911943,45.4533652,20.2365603,4.8337275,11.6658136,8.7153699,31.1246246,5.2904101,0.5039983,0.5435431,8.2850689,5.5984849,49.6231078,17.8707301,31.8630732,69.0526883,36.6440529,44.9052309,20.255478,4.7478226,10.7559057,8.1612561,31.2979248,4.3806537,0.4647053,0.5223794,7.8699234,5.081487,48.3966921,18.0376644,30.710465,69.0884651,36.3289719,45.4825771,20.054599,4.4745102,10.4882419,8.1233186,30.0545143,4.1155828,0.5555431,0.6130556,8.0264818,5.3703362,47.119466,18.3958456,30.2688495,69.4920351,36.8802285,45.405032,19.8955943,4.5151222,10.1958882,8.5318593,30.2134278,3.2915498,0.5971617,0.6416654,7.9946083,5.3782499,46.8393682,18.3364195,30.8673906,68.922773,36.8529457,45.0071336,20.2588088,4.6711231,9.5361744,8.4449352,30.9621361,2.6148284 +997,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5235896,0.4786583,7.0582054,4.627962,59.3970807,10.1741192,30.8764405,65.6208093,29.8479638,40.6841559,16.3735288,14.5252667,10.5568061,9.0460034,36.5954444,3.1417104,0.5318751,0.4773187,7.1428565,4.5742815,58.3201387,10.2299212,30.4945123,66.1930937,30.2747226,40.7770838,16.2244901,14.5918385,10.237518,8.7785101,36.2878854,2.7046776,0.5117592,0.4502303,7.3431785,4.5884504,56.9219307,10.3802571,30.4736203,67.1992756,30.7194347,41.7322218,16.4945895,14.5608007,10.1291723,8.7209315,36.2583385,2.2307689,0.4935948,0.4366836,7.3601802,4.4583174,56.2130712,10.8980908,30.5852937,67.3083494,31.9147014,42.2738255,17.2738216,14.511396,9.9205012,8.9722418,36.1435809,2.2022831,0.4601971,0.3947368,7.2064524,4.4425882,54.3832386,11.1320085,30.2653097,67.9720099,31.8099145,43.0583323,17.6176586,14.074144,9.4845719,8.7648737,35.2120164,2.9464275 +998,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7004521,0.7034077,7.7026375,4.9366031,46.5961309,20.8365088,32.1577984,69.1383679,33.6447002,45.6537913,17.3656202,6.4620553,11.6822346,9.8849677,32.3381422,2.3985151,0.6487118,0.6579829,7.2899691,4.6647725,44.6556952,20.0907333,31.4880526,69.5436319,33.6706673,45.7340958,17.2817713,6.7261771,11.9499485,9.5219922,32.1564174,2.529173,0.7391215,0.7488504,7.1579211,4.4974548,44.0024983,21.5942528,31.2238566,68.9849566,33.5213654,45.7602028,17.2305959,6.7877858,12.449336,9.3673852,32.7515835,3.2188772,0.8321056,0.8423281,7.2916711,4.6321031,43.7915562,22.3070333,31.3048672,68.914772,33.6775548,46.1554904,17.5527256,7.0957649,12.4158461,8.8879378,32.1669356,3.051636,0.7215456,0.7321048,7.1232299,4.5579592,42.0266401,22.9778914,31.3899759,69.7073921,34.5450892,47.5308133,18.0841338,7.5217003,11.9699877,8.8780762,31.3716701,2.6829203 +999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6591225,0.6348147,10.0315148,6.9503088,78.2584158,11.5399766,28.9013115,68.450262,28.8296478,44.5418866,13.6184431,4.4559431,12.3459538,13.0567344,32.1551028,11.7855375,0.5904129,0.5716822,9.7925384,6.8038195,79.3083455,10.9426279,29.5080534,68.2651624,28.9332199,45.0611178,13.5596295,4.1127523,11.6348485,12.2107946,31.2839157,11.6194565,0.5524039,0.4990177,9.7022899,6.8687457,79.0648554,11.0766389,30.2802401,69.3882036,28.9900411,44.5448093,14.2461801,4.2203838,11.8915376,12.6890308,31.0995819,12.1090723,0.4237571,0.3875107,9.3202164,6.5295453,78.9403461,10.6465396,30.0441147,68.522655,29.4928841,45.2591088,14.0940546,4.0242246,12.1490504,12.2595268,31.0522191,9.6151479,0.3476703,0.3541977,9.4512332,6.5818136,78.4506894,10.2344099,29.7900155,68.8098619,29.4215841,44.9336987,14.4988426,3.4819206,12.2580985,11.7747529,31.6792709,6.5889838 +1000,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6680977,0.6614103,9.0230199,5.6145735,50.5905463,17.5859026,32.7024974,69.0490826,38.8643602,47.2471121,23.7878422,4.1131156,10.4679734,9.4593961,33.8482124,4.3591353,0.7979773,0.8008218,9.0835573,5.7109376,49.1737254,17.3612617,32.6785654,68.9771755,39.2692981,48.3601603,24.0746257,4.042122,11.3680562,9.7212875,33.2796139,4.213611,0.7022158,0.724926,9.1138125,5.8118801,48.2477777,17.7272489,32.5425671,68.822332,38.8565919,48.7540922,24.1808762,4.0102049,10.8300151,9.5413704,32.7303977,4.6876055,0.6233687,0.6876163,9.1150088,5.7875345,47.8804256,17.9761519,32.8760522,69.1196364,39.3977317,48.9129726,24.2160132,4.1162039,10.5170231,10.2898178,32.0815808,4.870133,0.6182022,0.6848014,9.1058641,5.9544859,47.7407726,18.5593891,32.5775699,69.192425,38.9932973,48.7646759,23.8754109,4.111379,10.0373334,10.0446578,31.6366655,6.1290362 +1001,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6956563,0.6874334,9.2566352,6.441752,53.5008187,13.7896728,28.4805137,67.2558711,39.9398968,44.4986375,20.720246,4.7593253,10.2137625,9.9348885,34.7173815,9.6748148,0.7875247,0.7738978,9.0273954,6.2172721,52.0491045,14.5294713,28.2610533,67.5674696,40.1431616,44.8927169,20.2251274,4.423981,10.7480716,9.2974809,34.8806317,9.094005,0.748481,0.7343712,8.8365819,5.8739193,50.6605785,14.8536208,27.6125906,67.257026,40.2052055,45.9711145,20.6163512,4.5613869,10.7979651,9.5386987,34.0936981,8.2417784,0.6764405,0.7145174,8.5479124,5.5410934,49.7869085,14.7712991,26.6649503,67.7584081,40.8977077,45.6869303,21.4070628,4.2270095,10.6635655,9.624889,33.5181225,7.051722,0.6559287,0.6957796,8.4522407,5.5572222,48.8123335,15.189667,26.7295847,67.8845368,41.607279,45.8688293,21.5883251,4.8863816,11.3178096,10.3027402,32.5097642,6.0326558 +1002,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6024508,0.6064447,7.5691701,5.1662436,82.9336793,7.7095872,26.3942757,62.6116013,28.9121965,38.1514273,14.3778705,5.6183281,10.0168656,8.6396501,37.5423482,5.0286062,0.6010686,0.6036818,7.4249307,5.0769591,82.3723391,7.6014857,26.4306139,62.997134,29.0795499,38.4449561,14.6744636,5.6196906,9.8996944,8.4846555,37.1742634,4.7092547,0.5889113,0.5929654,7.3705897,4.9695785,81.7660276,7.3625968,26.4814698,63.4623431,29.4792651,38.4334688,14.8224449,5.5979903,10.0241147,8.5440646,37.4359696,4.824936,0.6189239,0.6146422,7.5661887,5.0534323,80.7782514,7.4366916,26.0470926,63.6081359,29.7789013,38.6986889,15.0488736,5.3649377,10.1481825,8.676956,37.1000834,4.1998232,0.5668017,0.5771639,7.4102689,4.9251925,79.6110657,7.3852059,25.9443042,63.6667623,30.3898615,38.950644,15.2251699,5.2303799,10.1070154,8.7853072,36.5323549,4.5536519 +1003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2046126,1.2827934,18.1295595,14.6700499,81.3600124,15.4827293,34.6696499,65.3885797,34.5607278,39.4988072,17.7485922,5.2536792,13.7864429,9.6843984,40.3397748,9.2978234,1.1529051,1.2052967,18.5016152,15.0013034,81.8981056,15.4432435,34.6910172,65.1929638,34.4665332,39.4156334,17.9584266,5.3792545,14.4460111,10.0947665,40.2519999,9.8972965,1.0949076,1.1473059,19.3735499,15.6497091,82.0328436,15.2266714,35.4234918,65.7894358,34.8557563,40.2763328,17.4415984,5.1101048,14.4357698,10.4950413,38.9767709,10.3862004,1.0236491,1.0757542,19.1438413,15.7544768,81.726993,14.9411345,35.0603294,66.3185859,34.836033,39.9516291,17.1472967,4.8630259,14.5805164,10.400431,38.3868621,12.1789486,0.9144797,0.9408907,19.2833782,15.9732542,82.6937876,14.4562367,35.1127681,66.0473532,34.3712019,39.2986512,16.7693622,4.5008386,15.0381747,10.7977569,39.7764025,11.3418348 +1004,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8158679,0.7965442,12.2481241,8.5957291,45.6146126,15.7605055,33.8867147,70.0846413,36.6210779,47.2330684,23.6002516,4.5898328,10.9195316,10.408663,43.5650104,6.5384766,0.7858362,0.7660772,12.2085579,8.2577779,45.5314871,15.3618305,32.3061536,69.2180287,36.4810929,45.8250475,22.7634117,4.4731502,11.1038903,10.8441369,42.4738236,6.0714416,0.798581,0.7760308,11.84212,7.6585814,44.7974839,14.9694358,31.7932916,68.9596313,37.2689749,46.3723599,24.05886,4.4147725,11.2990454,11.1637273,41.7006758,5.813967,0.9469519,0.9449689,11.7320323,7.8104616,44.7686103,14.3741703,31.8061871,67.5346234,36.8160701,45.1878857,23.829909,4.3177206,12.018587,11.7529959,41.0000007,4.9242499,1.0152725,1.0822941,12.3781652,8.2845966,43.3110292,15.0227154,32.2909939,67.6431997,37.2942667,46.7742028,24.5885434,4.3778679,12.0800936,12.4677164,40.3246728,3.9855072 +1005,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6528366,0.6920068,14.2593559,11.9136406,54.9285755,31.6286158,34.8464843,65.4093379,34.8466761,42.9028688,15.2814268,6.2020094,12.2422154,11.726614,34.8446282,6.6455907,0.6734104,0.6734104,13.9668503,11.0331976,54.8875811,30.3362465,35.2748958,63.5472084,33.0499307,43.6518434,15.2488352,6.3481239,13.6855698,12.3304006,33.9236692,6.8179014,0.8701587,0.8701587,13.9312382,11.0051158,55.1112661,30.2309401,35.557002,64.7021982,33.3550953,44.4949416,15.9975518,6.6709413,14.7519282,11.87969,33.2010561,7.4672563,0.8461547,0.8461547,14.0943304,10.6505321,54.7525948,31.5145894,34.0466802,65.6939779,33.6576998,45.979455,16.277643,5.5123283,13.5442735,10.2529535,32.864485,6.5214691,0.6531879,0.6531879,13.9704703,10.0935572,55.6680997,31.0594476,32.7332607,64.8667153,33.2667327,45.533522,16.33343,5.2667193,14.7058147,10.8694485,33.7211075,6.8178793 +1006,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7979773,0.8008218,9.0835573,5.7109376,49.1737254,17.3612617,32.6785654,68.9771755,39.2692981,48.3601603,24.0746257,4.042122,11.3680562,9.7212875,33.2796139,4.213611,0.7022158,0.724926,9.1138125,5.8118801,48.2477777,17.7272489,32.5425671,68.822332,38.8565919,48.7540922,24.1808762,4.0102049,10.8300151,9.5413704,32.7303977,4.6876055,0.6233687,0.6876163,9.1150088,5.7875345,47.8804256,17.9761519,32.8760522,69.1196364,39.3977317,48.9129726,24.2160132,4.1162039,10.5170231,10.2898178,32.0815808,4.870133,0.6182022,0.6848014,9.1058641,5.9544859,47.7407726,18.5593891,32.5775699,69.192425,38.9932973,48.7646759,23.8754109,4.111379,10.0373334,10.0446578,31.6366655,6.1290362,0.7406369,0.7956366,9.0067813,5.9259286,46.8830943,18.1570662,32.2055924,68.5624571,38.5697904,48.3358982,23.6102132,3.968512,10.3409976,10.4891395,32.297909,5.3448404 +1007,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8359225,1.8864164,31.1181467,25.1775791,50.2244327,17.4974001,37.5021021,61.6249805,29.8997857,41.6838685,20.84382,3.028426,13.2072036,9.8456865,44.2592277,25.7201223,1.9757645,2.0578399,33.3462051,27.0201467,50.3687503,17.5751463,37.8496494,60.865148,29.623072,42.8535432,21.6687587,3.1840923,13.3133927,9.6369818,45.1482593,28.0727295,2.0664614,2.1560648,34.1350858,27.9430589,51.0388785,17.5172825,38.3556216,60.3136302,29.1926202,43.8503685,20.9212358,3.0989647,13.5221792,10.0114218,45.3496673,27.7121877,2.1758223,2.2204105,34.2926461,28.0052783,51.7422761,17.0808603,38.4122011,60.2583885,28.6944972,42.918159,20.5241172,3.2335941,13.2588899,10.1100782,44.9867726,27.6561874,2.1783329,2.2097491,33.6077819,27.9593619,53.7652369,16.276817,37.9094832,60.6275453,28.6635169,43.0990604,20.785812,2.7258124,12.2370287,9.8269195,44.7733509,26.2138568 +1008,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4231275,0.4106245,8.2659673,5.4379232,57.7076112,16.8722588,32.0716095,66.7348016,35.2436254,46.1657964,21.00229,6.3848919,8.8919514,7.9011951,32.1571606,3.7313638,0.467183,0.4546575,7.8648666,5.0947488,56.1823055,16.9517736,32.1498744,66.8333891,35.7740261,46.8596249,21.3922602,6.6333215,8.9837772,7.8632741,31.8588153,3.7553847,0.491626,0.501704,7.7029642,4.9256506,55.0813383,17.3738506,32.6818342,67.4501038,36.5578059,47.0146755,21.878608,6.5561593,9.1429484,7.7936161,32.3630179,3.3769259,0.491267,0.5055273,7.482343,4.711104,53.8679762,17.7779626,32.7326532,67.5549881,36.8104903,47.1488988,21.7005088,6.5566829,9.086576,7.5071761,32.1657176,3.1395552,0.558347,0.5895171,7.8064372,4.8559712,52.239748,18.0854804,32.5410827,67.6709635,36.9234837,47.4200383,21.7794672,6.9181826,9.3540903,8.0515606,32.9473056,3.9473876 +1009,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.518304,0.5301945,8.273273,5.6037926,43.7728196,10.617473,29.4988271,68.1984176,35.7251722,49.4138304,19.4562117,3.1023325,10.9581009,9.3550419,29.3675949,5.2542016,0.6482835,0.6572811,8.4183103,5.6011156,43.1718035,10.6971367,29.2678472,68.3664322,35.8963704,49.6430414,19.9175064,3.0238603,10.5618349,9.2128542,29.0786057,5.2535927,0.6303855,0.6393255,8.4470868,5.5616412,41.7374275,10.7487067,28.5507439,68.3344349,36.1280399,49.3374157,20.3336346,2.9931342,10.4173609,9.3121334,28.8251603,5.2158311,0.6916025,0.6731515,8.3458184,5.467207,40.6638183,10.9012559,28.4648556,67.756916,35.784038,49.4280015,20.7794314,3.0979964,10.346241,9.8102095,29.139288,3.8983064,0.7027886,0.6834426,8.5570092,5.3596581,39.3958165,10.5702908,28.6434243,67.8263029,35.890333,49.288057,21.2324417,3.3752823,10.2278359,10.0906716,29.3372354,2.6813889 +1010,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1830166,1.2539915,27.1498877,22.5656442,48.6888708,13.9597655,41.8354682,66.2587443,35.0551896,46.9704789,23.6662546,3.2587926,12.8188694,9.1456531,29.0603193,24.2263217,1.2238191,1.4150633,27.6784831,23.0281669,48.6434323,14.8303905,41.2341792,65.0369772,36.0599692,47.1850275,24.0290938,3.5252783,11.2686216,8.6578283,30.2027502,25.2907243,1.2072707,1.3597221,27.7231909,22.8288365,50.9699265,15.1604978,40.292536,64.4878869,35.1128522,46.5220991,23.3100621,3.3770104,12.414288,9.6180848,30.0549964,23.5052589,1.2936075,1.4530684,27.4700896,22.3717226,51.3605675,15.7378752,39.452612,65.804722,35.3508361,46.6446963,22.9638534,3.2513733,12.1637874,9.1502222,30.4075944,23.7270441,1.2993256,1.4167804,27.1519193,22.0121964,51.1943203,15.0778313,39.4920733,64.1321714,34.1439989,46.0175984,23.0267604,3.1230193,12.1163975,9.7079908,31.0606369,21.8500726 +1011,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.0943372,1.1073733,16.2766576,12.4321067,26.5803117,15.321575,35.5398127,67.0736746,41.1953692,48.4361698,23.928884,3.277639,11.8760325,11.2409365,38.9562927,10.6297721,1.1695425,1.1826144,16.7505276,12.8092228,27.5320462,14.2766606,36.4986712,66.9896584,40.5469277,48.6003443,23.3634881,3.2515079,12.1665692,11.9951583,39.829113,11.9563855,1.2077486,1.2208307,16.6526725,12.6627468,28.4478739,13.5095225,36.3225544,66.0430163,40.580629,48.3225586,23.3333414,3.0752699,12.2619325,11.212357,38.7779118,13.4057441,1.31773,1.3305995,16.9418064,12.9797701,28.2023223,12.9614316,36.4114216,66.7858744,40.5763452,48.3171892,23.075317,3.0500641,12.9587348,11.7265047,39.3296885,15.4546196,1.3765926,1.3987501,18.4499451,13.8527162,27.6762713,13.6234923,35.7494829,66.8788598,40.8418848,48.8911512,23.2649074,3.0595504,13.0613825,12.6217127,39.2991267,17.201318 +1012,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4776102,0.5271026,10.5107146,6.6700629,59.7805496,13.924173,32.2263596,69.3668426,36.1162721,46.7308055,20.2875724,3.0519292,9.4780168,8.5102123,32.8661528,8.3333611,0.5294527,0.5968649,10.3695422,6.4721255,58.8508219,13.8562648,32.3222976,69.9652595,36.1008854,46.8852038,19.9243915,2.9309587,8.8590276,8.1318198,32.8161674,8.9124169,0.4896115,0.55753,10.3276293,6.5221733,57.7314092,13.8046705,31.7882746,69.6505472,35.7553861,46.3412015,19.8663649,2.8057506,8.6417286,8.1395319,32.6777946,9.9112693,0.5181386,0.5860827,10.3591628,6.3007192,56.793069,14.3133955,31.6577187,69.5602666,35.8484636,45.9640691,20.5305293,3.0037112,9.2120994,8.1441616,32.8451037,9.2767552,0.5113578,0.5992106,9.963127,5.9901572,56.0484597,14.5021518,31.7289555,68.8139378,35.5919714,45.7402234,20.4531023,2.8502777,9.5611927,8.5616381,33.5430178,9.1362428 +1013,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9757645,2.0578399,33.3462051,27.0201467,50.3687503,17.5751463,37.8496494,60.865148,29.623072,42.8535432,21.6687587,3.1840923,13.3133927,9.6369818,45.1482593,28.0727295,2.0664614,2.1560648,34.1350858,27.9430589,51.0388785,17.5172825,38.3556216,60.3136302,29.1926202,43.8503685,20.9212358,3.0989647,13.5221792,10.0114218,45.3496673,27.7121877,2.1758223,2.2204105,34.2926461,28.0052783,51.7422761,17.0808603,38.4122011,60.2583885,28.6944972,42.918159,20.5241172,3.2335941,13.2588899,10.1100782,44.9867726,27.6561874,2.1783329,2.2097491,33.6077819,27.9593619,53.7652369,16.276817,37.9094832,60.6275453,28.6635169,43.0990604,20.785812,2.7258124,12.2370287,9.8269195,44.7733509,26.2138568,2.4424196,2.4732576,33.9779911,28.6317458,55.3578078,17.1653187,37.5179787,61.2271301,28.7562261,42.2672254,20.6935404,2.6251922,12.3835666,9.7327011,43.5601779,25.5500368 +1014,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6734104,0.6734104,13.9668503,11.0331976,54.8875811,30.3362465,35.2748958,63.5472084,33.0499307,43.6518434,15.2488352,6.3481239,13.6855698,12.3304006,33.9236692,6.8179014,0.8701587,0.8701587,13.9312382,11.0051158,55.1112661,30.2309401,35.557002,64.7021982,33.3550953,44.4949416,15.9975518,6.6709413,14.7519282,11.87969,33.2010561,7.4672563,0.8461547,0.8461547,14.0943304,10.6505321,54.7525948,31.5145894,34.0466802,65.6939779,33.6576998,45.979455,16.277643,5.5123283,13.5442735,10.2529535,32.864485,6.5214691,0.6531879,0.6531879,13.9704703,10.0935572,55.6680997,31.0594476,32.7332607,64.8667153,33.2667327,45.533522,16.33343,5.2667193,14.7058147,10.8694485,33.7211075,6.8178793,0.6289372,0.6289372,13.605843,10.1206849,56.5014394,30.1972456,32.8249059,67.4403491,34.5491958,46.6182311,16.5120562,4.5756484,14.0150759,8.7119787,34.4785557,6.3755248 +1015,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5761189,0.6078326,11.6017652,7.8277014,36.7388768,18.278375,34.9005821,70.6669747,41.0451971,48.9757067,25.7086222,3.3351099,11.354496,9.5317387,33.4225564,5.1600932,0.5267112,0.5618816,11.4983715,8.0912724,37.2773794,18.4188283,34.8018363,70.5565553,40.5205696,48.4542878,25.9915139,3.2714561,11.2347256,10.2743392,34.7944583,6.048392,0.6033224,0.6277257,11.4494587,7.9872751,37.3447462,18.373921,33.9988384,71.1065815,40.7229479,48.3062088,25.5557942,3.1091374,11.2333859,10.6068145,36.3983296,6.8547392,0.5627689,0.5990842,11.5580527,8.162879,37.8125667,17.8606145,33.7664537,70.004508,40.0865419,48.343246,24.8977285,2.981591,11.4423091,10.2825609,36.2552537,5.8556659,0.6727715,0.7080011,11.3552471,7.8834395,37.1763829,18.1087797,33.9486748,70.6296467,39.1184913,48.424229,25.7258956,3.0772407,10.523829,9.5985482,37.5520954,7.3273714 +1016,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2657878,1.3265533,27.7726544,22.7059411,41.6070573,17.0489299,34.8892366,63.3508726,33.8767096,44.0410806,18.9969344,2.7954549,14.7634279,11.7395572,40.0034198,17.079191,1.4483347,1.4686966,28.6054319,23.6883588,42.481536,16.9569814,34.4882742,63.3059627,33.2478913,44.4425243,18.8505029,2.7687217,15.0756314,12.2763329,40.9784428,18.2051189,1.5712913,1.5780073,29.4918783,24.6725821,44.5045212,16.8953355,34.5643737,63.038755,32.4165073,44.67709,19.3538539,2.9149793,15.9149768,12.4344011,40.8654439,19.0355233,1.4981212,1.5251191,29.9351727,25.2597809,45.3036056,16.615064,34.386158,62.9778624,31.4268702,44.4843904,18.7505013,2.9813676,15.9827708,12.9455158,40.8775806,19.7435796,1.5079017,1.4951269,30.9598766,26.0550773,45.8806579,15.7689085,34.7456908,62.0125505,30.6553516,43.8285757,18.5523355,2.9423448,16.441658,13.1862008,41.6269248,19.4954128 +1017,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1807988,1.1551852,20.3911732,16.3161575,36.5042299,18.6999641,38.6076762,67.733078,38.6359031,47.6606349,24.524628,4.5243119,11.6871745,9.0900889,30.8949511,15.1093528,1.1421022,1.1246727,21.0457183,17.0131386,37.634229,18.5024402,39.6544637,68.0502723,37.812198,48.1786559,24.8627516,4.3803327,12.4077425,9.1998094,32.0702183,15.7255919,1.1169889,1.1076621,20.7191505,16.7289713,37.6114187,18.5435118,39.0081261,67.8513154,37.5599296,47.6481144,24.9915541,4.2527966,12.9228817,9.6706689,31.2655156,14.1077059,1.1582683,1.1696118,21.0855056,16.9559187,37.9300913,18.4771387,38.4375099,67.2285387,37.5680086,47.9366195,24.4750848,4.1483949,13.3012286,9.4216367,30.9968176,15.117553,1.2822238,1.287401,21.233538,17.0185782,38.4696077,18.1826817,37.3739966,67.273998,37.5085693,48.11269,24.9010292,4.0635905,13.3021934,9.4500081,30.5403079,16.5461458 +1018,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.3578885,0.3578885,8.3597469,4.847171,65.4706456,14.1083357,27.4687005,61.4512367,34.5149488,38.3243466,16.6231779,3.4821674,12.5066568,9.7194715,34.9470073,3.7454992,0.4122855,0.4122855,8.3233852,4.9688451,64.7482692,13.9985281,27.5841962,61.1864058,34.0883414,38.4898846,16.8471859,3.4399469,12.6567799,11.1227191,35.274899,3.3486179,0.2783721,0.2783721,7.9090408,4.6915041,63.7027955,13.6443149,27.0658866,61.4286099,34.8498119,40.2558089,16.3099721,3.3036637,11.7547971,9.9408136,36.2675436,1.8603433,0.3126106,0.3126106,7.7932854,4.636212,63.8045582,13.1523195,26.7456018,62.5338005,34.8566863,39.9396886,16.3421483,3.1815098,11.3559831,9.7579421,35.7817762,1.8742906,0.2856543,0.2856543,7.9954241,5.0947654,63.9863969,13.1496431,26.6264896,63.1864928,34.0269117,38.9379309,16.3276176,3.1606708,11.127433,9.8758091,35.9738711,1.9785697 +1019,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5992994,0.5895111,8.1156993,4.9662304,19.5408769,19.8205162,31.8225761,71.4543867,38.6134915,53.7113182,22.0606989,5.0905537,8.6509716,8.413401,24.5919327,4.5200712,0.6462222,0.6755958,8.118476,4.8486529,19.6421269,20.1694159,32.1728899,70.8833898,38.742253,53.1883236,22.7512868,5.1700793,8.8820103,7.9806768,25.8440345,2.8922799,0.7537887,0.8105316,8.4443585,5.3013289,18.873783,20.1603726,32.2038476,70.6748122,39.0039942,53.4079287,23.1013091,5.2800961,9.2245171,8.2329682,26.479791,5.371377,0.8399733,0.8572976,8.5859141,5.1955384,18.884661,20.0274608,32.6473656,70.5892453,40.5552916,52.6091125,23.2174987,5.4717745,9.8239408,8.4234439,26.633034,5.1176347,0.7727387,0.7899944,8.5256903,5.3109118,19.6654932,19.1897246,32.5609093,70.6336416,40.0590311,52.1931561,22.8044711,5.2251218,9.7058403,8.7896092,25.3231622,5.1582389 +1020,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.5951244,0.6385327,10.7430679,6.8507172,62.4937402,9.8145339,34.0559908,66.1123805,40.9103177,44.572257,24.0471174,4.3207855,11.147414,9.0646094,40.6792993,5.7744542,0.6161486,0.6626558,10.6468413,6.6833768,61.8559501,9.5101449,33.7218467,66.142322,40.6342864,44.5254478,23.8857069,4.2809806,11.2521486,9.1552636,41.0445479,5.9973022,0.6195236,0.6806266,10.749759,6.7906266,61.0512653,9.4896693,33.2985852,66.3629038,40.8451154,44.7780696,23.9394659,4.4255345,10.545805,8.7811665,40.4795615,6.2243477,0.6042553,0.6642977,10.6872497,6.7761573,60.1453943,9.4556459,33.4017781,66.5582098,41.0030359,45.1141162,24.099623,4.3258726,10.8662833,9.2030551,40.775481,6.2752994,0.6406159,0.6978042,10.4994312,6.7919469,59.8626835,9.4276799,33.5357509,66.7752739,41.1004716,44.8330485,24.1344559,4.2991946,10.4587405,9.161138,40.9572485,6.2091438 +1021,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1421022,1.1246727,21.0457183,17.0131386,37.634229,18.5024402,39.6544637,68.0502723,37.812198,48.1786559,24.8627516,4.3803327,12.4077425,9.1998094,32.0702183,15.7255919,1.1169889,1.1076621,20.7191505,16.7289713,37.6114187,18.5435118,39.0081261,67.8513154,37.5599296,47.6481144,24.9915541,4.2527966,12.9228817,9.6706689,31.2655156,14.1077059,1.1582683,1.1696118,21.0855056,16.9559187,37.9300913,18.4771387,38.4375099,67.2285387,37.5680086,47.9366195,24.4750848,4.1483949,13.3012286,9.4216367,30.9968176,15.117553,1.2822238,1.287401,21.233538,17.0185782,38.4696077,18.1826817,37.3739966,67.273998,37.5085693,48.11269,24.9010292,4.0635905,13.3021934,9.4500081,30.5403079,16.5461458,1.3900203,1.3952041,21.2129761,17.2980295,38.9536689,18.0785641,37.3483187,66.7056093,37.6157038,47.7397922,24.8503606,3.9041253,13.1258729,9.8063449,29.983054,18.689863 +1022,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6037511,0.6171117,9.9826962,6.7993053,52.1640512,9.9863565,28.7953542,70.079237,40.4513094,42.3805698,21.0668312,4.7025699,10.3742925,8.4725557,36.2636187,6.1940299,0.6239468,0.6106685,9.9188057,6.8771191,51.0190414,10.059629,28.8906212,70.5673299,40.8275122,42.814985,21.3502744,4.7398205,9.9792795,8.2468303,36.4469715,5.6349206,0.6418322,0.6342002,9.9220544,6.8042408,50.3145943,10.3220532,28.3562094,70.5123312,40.9801683,43.2557811,21.2242553,4.9008378,10.2088428,8.429734,36.5898935,5.4991549,0.6273955,0.6153607,10.0296383,6.8638008,49.0155404,10.3581745,28.2369272,70.6487135,41.9806308,44.6205859,21.0864941,4.9681604,10.6928847,8.8005248,36.2123157,5.4270463,0.6136677,0.5936626,10.1186285,7.0682101,47.897462,10.4069635,28.0024896,70.7230941,42.4366247,45.2486489,21.436488,4.9383577,10.4224142,8.7082566,35.4241959,5.9659091 +1023,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2238191,1.4150633,27.6784831,23.0281669,48.6434323,14.8303905,41.2341792,65.0369772,36.0599692,47.1850275,24.0290938,3.5252783,11.2686216,8.6578283,30.2027502,25.2907243,1.2072707,1.3597221,27.7231909,22.8288365,50.9699265,15.1604978,40.292536,64.4878869,35.1128522,46.5220991,23.3100621,3.3770104,12.414288,9.6180848,30.0549964,23.5052589,1.2936075,1.4530684,27.4700896,22.3717226,51.3605675,15.7378752,39.452612,65.804722,35.3508361,46.6446963,22.9638534,3.2513733,12.1637874,9.1502222,30.4075944,23.7270441,1.2993256,1.4167804,27.1519193,22.0121964,51.1943203,15.0778313,39.4920733,64.1321714,34.1439989,46.0175984,23.0267604,3.1230193,12.1163975,9.7079908,31.0606369,21.8500726,1.1162458,1.253681,26.0016573,20.9262967,49.7998024,15.1821206,39.9388083,63.9122006,35.4670483,45.9191368,23.5952844,3.3610987,11.9899966,10.1807597,31.3788113,21.9877266 +1024,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.1695425,1.1826144,16.7505276,12.8092228,27.5320462,14.2766606,36.4986712,66.9896584,40.5469277,48.6003443,23.3634881,3.2515079,12.1665692,11.9951583,39.829113,11.9563855,1.2077486,1.2208307,16.6526725,12.6627468,28.4478739,13.5095225,36.3225544,66.0430163,40.580629,48.3225586,23.3333414,3.0752699,12.2619325,11.212357,38.7779118,13.4057441,1.31773,1.3305995,16.9418064,12.9797701,28.2023223,12.9614316,36.4114216,66.7858744,40.5763452,48.3171892,23.075317,3.0500641,12.9587348,11.7265047,39.3296885,15.4546196,1.3765926,1.3987501,18.4499451,13.8527162,27.6762713,13.6234923,35.7494829,66.8788598,40.8418848,48.8911512,23.2649074,3.0595504,13.0613825,12.6217127,39.2991267,17.201318,1.4630794,1.4857888,19.1237251,14.6386797,28.6802932,13.3873063,34.7542921,66.6316771,39.5002054,47.8160292,22.1125763,2.8769449,12.9290623,11.6590204,39.2691868,17.8984012 +1025,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5318751,0.4773187,7.1428565,4.5742815,58.3201387,10.2299212,30.4945123,66.1930937,30.2747226,40.7770838,16.2244901,14.5918385,10.237518,8.7785101,36.2878854,2.7046776,0.5117592,0.4502303,7.3431785,4.5884504,56.9219307,10.3802571,30.4736203,67.1992756,30.7194347,41.7322218,16.4945895,14.5608007,10.1291723,8.7209315,36.2583385,2.2307689,0.4935948,0.4366836,7.3601802,4.4583174,56.2130712,10.8980908,30.5852937,67.3083494,31.9147014,42.2738255,17.2738216,14.511396,9.9205012,8.9722418,36.1435809,2.2022831,0.4601971,0.3947368,7.2064524,4.4425882,54.3832386,11.1320085,30.2653097,67.9720099,31.8099145,43.0583323,17.6176586,14.074144,9.4845719,8.7648737,35.2120164,2.9464275,0.4755447,0.4070097,7.3589246,4.6053893,53.0052062,11.5246897,30.0801372,67.840105,32.5796527,43.9896972,18.3266486,14.3579497,9.6088759,8.7848047,34.7190598,3.1791901 +1026,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6482835,0.6572811,8.4183103,5.6011156,43.1718035,10.6971367,29.2678472,68.3664322,35.8963704,49.6430414,19.9175064,3.0238603,10.5618349,9.2128542,29.0786057,5.2535927,0.6303855,0.6393255,8.4470868,5.5616412,41.7374275,10.7487067,28.5507439,68.3344349,36.1280399,49.3374157,20.3336346,2.9931342,10.4173609,9.3121334,28.8251603,5.2158311,0.6916025,0.6731515,8.3458184,5.467207,40.6638183,10.9012559,28.4648556,67.756916,35.784038,49.4280015,20.7794314,3.0979964,10.346241,9.8102095,29.139288,3.8983064,0.7027886,0.6834426,8.5570092,5.3596581,39.3958165,10.5702908,28.6434243,67.8263029,35.890333,49.288057,21.2324417,3.3752823,10.2278359,10.0906716,29.3372354,2.6813889,0.657742,0.6392787,8.1267598,4.9658121,38.3731655,10.8167348,28.5279939,67.5610478,36.0949379,48.3784707,21.3148522,3.2920342,10.1439543,10.174978,29.4270455,2.5679766 +1027,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5117592,0.4502303,7.3431785,4.5884504,56.9219307,10.3802571,30.4736203,67.1992756,30.7194347,41.7322218,16.4945895,14.5608007,10.1291723,8.7209315,36.2583385,2.2307689,0.4935948,0.4366836,7.3601802,4.4583174,56.2130712,10.8980908,30.5852937,67.3083494,31.9147014,42.2738255,17.2738216,14.511396,9.9205012,8.9722418,36.1435809,2.2022831,0.4601971,0.3947368,7.2064524,4.4425882,54.3832386,11.1320085,30.2653097,67.9720099,31.8099145,43.0583323,17.6176586,14.074144,9.4845719,8.7648737,35.2120164,2.9464275,0.4755447,0.4070097,7.3589246,4.6053893,53.0052062,11.5246897,30.0801372,67.840105,32.5796527,43.9896972,18.3266486,14.3579497,9.6088759,8.7848047,34.7190598,3.1791901,0.4967893,0.4693751,7.5591599,4.781929,52.147908,11.2631605,29.8972011,67.7366176,32.5930876,44.0166783,18.6093824,13.9934085,10.1117103,8.9911475,35.658768,2.9352221 +1028,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9897298,1.0008441,13.3905932,9.2137146,40.1504719,15.8522557,37.1535307,67.4522922,38.9555772,50.5759816,23.3356553,4.2281133,12.0677321,10.5069104,33.2775988,11.6766467,1.0612284,1.072214,13.688085,9.4897189,39.1253184,16.1961655,37.2987857,67.9303991,39.186752,50.5680771,23.7452804,4.1087219,12.8893034,10.944732,32.8994051,12.1875549,0.9609866,0.9787613,13.527594,9.6076442,38.9434105,16.4159965,37.9192661,68.2898216,39.6123146,50.2698509,24.21229,4.3607911,13.3877867,11.4477867,33.5277871,11.8182281,1.207607,1.2252761,13.9694854,10.0031303,38.0259241,15.7819126,37.9732972,68.5717952,40.2534169,50.4986561,24.1392129,4.2508718,13.1898898,11.7385954,33.6144484,11.7143295,1.1565848,1.1632348,13.7906556,9.7501578,36.7274392,15.8879108,37.0667329,68.9004516,39.8053987,50.320241,24.2824717,4.1737828,13.3966795,11.8720783,33.952347,13.1902292 +1029,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4483347,1.4686966,28.6054319,23.6883588,42.481536,16.9569814,34.4882742,63.3059627,33.2478913,44.4425243,18.8505029,2.7687217,15.0756314,12.2763329,40.9784428,18.2051189,1.5712913,1.5780073,29.4918783,24.6725821,44.5045212,16.8953355,34.5643737,63.038755,32.4165073,44.67709,19.3538539,2.9149793,15.9149768,12.4344011,40.8654439,19.0355233,1.4981212,1.5251191,29.9351727,25.2597809,45.3036056,16.615064,34.386158,62.9778624,31.4268702,44.4843904,18.7505013,2.9813676,15.9827708,12.9455158,40.8775806,19.7435796,1.5079017,1.4951269,30.9598766,26.0550773,45.8806579,15.7689085,34.7456908,62.0125505,30.6553516,43.8285757,18.5523355,2.9423448,16.441658,13.1862008,41.6269248,19.4954128,1.6325379,1.6201218,30.1845455,25.6090832,46.8016478,15.238659,34.5714269,61.982762,29.6063585,43.0616537,18.0896224,2.7062228,16.6302888,13.226373,43.4822622,20.9956619 +1030,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6462222,0.6755958,8.118476,4.8486529,19.6421269,20.1694159,32.1728899,70.8833898,38.742253,53.1883236,22.7512868,5.1700793,8.8820103,7.9806768,25.8440345,2.8922799,0.7537887,0.8105316,8.4443585,5.3013289,18.873783,20.1603726,32.2038476,70.6748122,39.0039942,53.4079287,23.1013091,5.2800961,9.2245171,8.2329682,26.479791,5.371377,0.8399733,0.8572976,8.5859141,5.1955384,18.884661,20.0274608,32.6473656,70.5892453,40.5552916,52.6091125,23.2174987,5.4717745,9.8239408,8.4234439,26.633034,5.1176347,0.7727387,0.7899944,8.5256903,5.3109118,19.6654932,19.1897246,32.5609093,70.6336416,40.0590311,52.1931561,22.8044711,5.2251218,9.7058403,8.7896092,25.3231622,5.1582389,0.8787894,0.9333712,9.2039397,5.8100016,20.0699365,18.3449875,32.6697236,69.8903954,39.1624055,51.26355,22.8156513,5.0678172,9.6740067,8.4586647,25.7584524,6.7987164 +1031,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2382836,0.2382836,6.8764048,4.4649568,59.1598863,16.9144363,30.3381045,66.7952898,33.6089736,41.4002234,17.8059518,8.3976486,9.3522523,8.6496309,37.0329586,2.3722645,0.2987995,0.321788,6.7097014,4.1275447,57.2555862,17.2758141,29.7023971,67.7413142,34.4715788,42.6363971,18.1037733,8.1838989,9.1565301,8.644321,37.729354,2.5096544,0.3457614,0.3694778,6.7350211,4.3224788,55.870689,18.0636451,28.9111575,67.9441751,35.0432398,42.5904053,18.7696511,7.8812891,9.8108699,8.2478242,36.3888846,3.024196,0.3451831,0.3822889,6.2238034,3.9606048,53.9017437,19.0563002,28.6972441,67.3699238,34.2687331,42.3801614,19.1929477,7.7222475,10.1503768,7.9079505,36.9107691,3.1779688,0.3877573,0.4618314,6.1016258,3.8942117,53.1044457,19.9072214,29.0012228,67.6422352,34.2406756,42.7138664,19.7503037,7.9615247,9.8130858,7.4341559,36.492279,3.086421 +1032,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0612284,1.072214,13.688085,9.4897189,39.1253184,16.1961655,37.2987857,67.9303991,39.186752,50.5680771,23.7452804,4.1087219,12.8893034,10.944732,32.8994051,12.1875549,0.9609866,0.9787613,13.527594,9.6076442,38.9434105,16.4159965,37.9192661,68.2898216,39.6123146,50.2698509,24.21229,4.3607911,13.3877867,11.4477867,33.5277871,11.8182281,1.207607,1.2252761,13.9694854,10.0031303,38.0259241,15.7819126,37.9732972,68.5717952,40.2534169,50.4986561,24.1392129,4.2508718,13.1898898,11.7385954,33.6144484,11.7143295,1.1565848,1.1632348,13.7906556,9.7501578,36.7274392,15.8879108,37.0667329,68.9004516,39.8053987,50.320241,24.2824717,4.1737828,13.3966795,11.8720783,33.952347,13.1902292,1.0826915,1.0895584,14.0799924,10.0105001,36.3216696,16.0317758,36.3426424,68.6988603,40.1737669,50.8470215,25.2686579,4.3611202,13.7716704,12.0958852,34.6607051,10.1852343 +1033,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3297927,0.3506933,6.5743488,3.960216,69.4846218,20.3860333,30.9605856,63.2351873,28.6468563,40.0197216,15.3922042,5.8627607,9.4594629,8.1985324,34.8161746,3.0233599,0.2871644,0.2810839,6.9041218,4.1981836,68.7883358,19.7893641,30.650755,63.5981392,29.4127396,40.0360664,15.3155432,5.9704636,9.8733271,8.3645943,35.5263216,3.1554532,0.2282775,0.2221411,6.9333029,3.9992095,68.0437792,19.1439979,31.0252283,63.806914,29.5314849,40.3917236,15.56323,5.5914562,9.6810125,7.8672662,35.1907387,4.2501573,0.3340767,0.3353141,7.5384215,4.2643641,67.3888227,19.0983816,31.2548695,63.8301092,29.9957303,40.4753445,16.2266976,5.2599656,9.475659,8.0827098,35.1320887,4.3591398,0.2863911,0.2938622,7.5337102,4.2670631,66.3555337,19.2898222,31.6637321,63.6343949,30.4372477,40.617456,16.6190254,4.885545,9.9325389,8.47139,35.109618,3.1402089 +1034,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6559821,0.6782937,9.457214,6.6141783,70.2621909,11.7807541,30.4029427,66.7185627,30.5948916,44.6269855,14.9796722,4.9772409,11.3329319,11.0886144,31.8941632,5.8049054,0.5336389,0.568694,9.0157575,6.2777323,69.5283785,12.2324162,29.9021614,66.2611878,31.4819679,44.9222332,15.0326572,5.3285156,10.982958,11.2393927,31.2292573,6.0543382,0.5390443,0.5755586,9.0101977,6.2852732,68.1434287,12.5388115,29.2895955,66.5577158,31.5878608,44.9856198,15.4218282,5.3408553,11.0189582,11.1027117,30.6972936,7.3409324,0.5079606,0.5079606,9.1297456,6.5330737,67.6605846,12.6048343,29.2699467,66.8685058,31.3838912,44.9125896,14.7548714,5.4256316,11.4467155,10.8671931,30.9126426,6.9616611,0.519474,0.519474,9.0631498,6.3079143,66.1335103,12.9178132,28.6537592,67.1152503,31.5533184,45.1626773,14.571063,5.4290275,11.5541021,10.3096041,30.5148713,7.8825081 +1035,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5712913,1.5780073,29.4918783,24.6725821,44.5045212,16.8953355,34.5643737,63.038755,32.4165073,44.67709,19.3538539,2.9149793,15.9149768,12.4344011,40.8654439,19.0355233,1.4981212,1.5251191,29.9351727,25.2597809,45.3036056,16.615064,34.386158,62.9778624,31.4268702,44.4843904,18.7505013,2.9813676,15.9827708,12.9455158,40.8775806,19.7435796,1.5079017,1.4951269,30.9598766,26.0550773,45.8806579,15.7689085,34.7456908,62.0125505,30.6553516,43.8285757,18.5523355,2.9423448,16.441658,13.1862008,41.6269248,19.4954128,1.6325379,1.6201218,30.1845455,25.6090832,46.8016478,15.238659,34.5714269,61.982762,29.6063585,43.0616537,18.0896224,2.7062228,16.6302888,13.226373,43.4822622,20.9956619,1.5840848,1.5648811,30.3805086,25.5676639,46.9787178,14.5671919,33.6031652,61.5415355,29.4469425,43.3681653,17.4838811,2.3716719,16.5316862,13.1916095,43.0349309,20.299154 +1036,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8821448,0.9799888,11.3306153,7.7368428,45.5867422,18.8269371,38.1333874,69.2852864,39.1889488,50.1358682,24.2913602,3.603734,11.6930566,11.3597563,33.5889392,7.0679666,0.6913935,0.7908142,11.2864118,7.499233,43.8608818,19.142828,38.0741843,69.5805233,39.0233555,49.9235182,24.2345822,3.658905,11.4600763,10.6798904,33.4564281,8.2445624,0.6517238,0.681174,11.5917084,7.5584812,42.6948766,19.428907,37.3629029,69.2223345,38.8367095,50.1882137,23.6908489,3.6845353,11.146848,10.6451698,33.9496646,8.707738,0.7178262,0.7482361,11.9495291,7.8972251,41.5008173,19.7708716,37.7276232,69.0018931,39.905854,50.5689367,24.2685419,3.7873738,10.8016855,11.2507621,33.2619314,7.6703412,0.8272616,0.8848723,12.6000794,8.2276102,40.5697638,19.6663739,37.4151434,68.9027935,40.5062571,50.9341153,24.3376441,3.9911582,10.4206201,11.0223523,33.0888411,7.1838048 +1037,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5336389,0.568694,9.0157575,6.2777323,69.5283785,12.2324162,29.9021614,66.2611878,31.4819679,44.9222332,15.0326572,5.3285156,10.982958,11.2393927,31.2292573,6.0543382,0.5390443,0.5755586,9.0101977,6.2852732,68.1434287,12.5388115,29.2895955,66.5577158,31.5878608,44.9856198,15.4218282,5.3408553,11.0189582,11.1027117,30.6972936,7.3409324,0.5079606,0.5079606,9.1297456,6.5330737,67.6605846,12.6048343,29.2699467,66.8685058,31.3838912,44.9125896,14.7548714,5.4256316,11.4467155,10.8671931,30.9126426,6.9616611,0.519474,0.519474,9.0631498,6.3079143,66.1335103,12.9178132,28.6537592,67.1152503,31.5533184,45.1626773,14.571063,5.4290275,11.5541021,10.3096041,30.5148713,7.8825081,0.5301398,0.5301398,8.6136092,5.7475536,65.0240572,13.783921,27.8829833,67.4406336,31.7694036,44.5654979,14.1390519,5.5766466,11.9388587,10.3997716,30.3570678,7.07271 +1038,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4981212,1.5251191,29.9351727,25.2597809,45.3036056,16.615064,34.386158,62.9778624,31.4268702,44.4843904,18.7505013,2.9813676,15.9827708,12.9455158,40.8775806,19.7435796,1.5079017,1.4951269,30.9598766,26.0550773,45.8806579,15.7689085,34.7456908,62.0125505,30.6553516,43.8285757,18.5523355,2.9423448,16.441658,13.1862008,41.6269248,19.4954128,1.6325379,1.6201218,30.1845455,25.6090832,46.8016478,15.238659,34.5714269,61.982762,29.6063585,43.0616537,18.0896224,2.7062228,16.6302888,13.226373,43.4822622,20.9956619,1.5840848,1.5648811,30.3805086,25.5676639,46.9787178,14.5671919,33.6031652,61.5415355,29.4469425,43.3681653,17.4838811,2.3716719,16.5316862,13.1916095,43.0349309,20.299154,1.5331563,1.5133067,30.6825644,26.3827698,48.3045789,14.4538358,32.8989292,61.1881896,28.6153816,42.2782794,17.0656239,2.227869,16.303925,13.1332051,44.518177,19.0789557 +1039,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2987995,0.321788,6.7097014,4.1275447,57.2555862,17.2758141,29.7023971,67.7413142,34.4715788,42.6363971,18.1037733,8.1838989,9.1565301,8.644321,37.729354,2.5096544,0.3457614,0.3694778,6.7350211,4.3224788,55.870689,18.0636451,28.9111575,67.9441751,35.0432398,42.5904053,18.7696511,7.8812891,9.8108699,8.2478242,36.3888846,3.024196,0.3451831,0.3822889,6.2238034,3.9606048,53.9017437,19.0563002,28.6972441,67.3699238,34.2687331,42.3801614,19.1929477,7.7222475,10.1503768,7.9079505,36.9107691,3.1779688,0.3877573,0.4618314,6.1016258,3.8942117,53.1044457,19.9072214,29.0012228,67.6422352,34.2406756,42.7138664,19.7503037,7.9615247,9.8130858,7.4341559,36.492279,3.086421,0.4832712,0.5315279,6.5270418,4.0870247,52.5569325,20.2310992,29.5950709,67.1496561,34.0809715,42.854301,19.9086923,7.2449408,10.2868869,6.6091965,36.2168851,2.6639366 +1040,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6913935,0.7908142,11.2864118,7.499233,43.8608818,19.142828,38.0741843,69.5805233,39.0233555,49.9235182,24.2345822,3.658905,11.4600763,10.6798904,33.4564281,8.2445624,0.6517238,0.681174,11.5917084,7.5584812,42.6948766,19.428907,37.3629029,69.2223345,38.8367095,50.1882137,23.6908489,3.6845353,11.146848,10.6451698,33.9496646,8.707738,0.7178262,0.7482361,11.9495291,7.8972251,41.5008173,19.7708716,37.7276232,69.0018931,39.905854,50.5689367,24.2685419,3.7873738,10.8016855,11.2507621,33.2619314,7.6703412,0.8272616,0.8848723,12.6000794,8.2276102,40.5697638,19.6663739,37.4151434,68.9027935,40.5062571,50.9341153,24.3376441,3.9911582,10.4206201,11.0223523,33.0888411,7.1838048,0.8105098,0.8873004,12.7930845,8.4528989,39.4677738,19.5598895,37.9537947,68.9856945,40.6229175,50.3380878,23.7900343,3.7900265,10.3597323,10.5736943,32.2980709,7.5756428 +1041,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.826123,0.8318994,9.3580646,5.4977292,30.8840362,17.2312407,35.3117123,69.7723987,40.5503636,50.8731723,23.2206205,4.2992986,12.3145349,10.3470044,31.9787287,6.5022451,0.7767864,0.7756935,9.170566,5.38552,30.1417724,17.7000731,34.8851185,69.7820754,41.0447238,51.3030345,24.0345975,4.4657748,12.1247094,10.1152027,31.7022402,6.8396259,0.8071931,0.8136664,9.12088,5.3601959,29.4346884,17.9515643,34.0317547,69.8363833,40.8752289,50.9422564,24.0143925,4.4507862,11.2064743,9.823612,31.4349152,6.127451,0.7286693,0.723634,8.701554,5.0481366,28.5330879,17.8056651,34.1509581,69.6729471,40.9937072,50.7295644,24.2138381,4.4654118,10.421907,9.4892379,30.9379797,6.3451809,0.7211805,0.6939315,8.616592,5.1461858,28.7071269,17.7083293,34.1123866,69.0118566,41.0632048,50.5328247,24.4490226,4.541055,10.1061456,9.5089174,30.5326937,5.841116 +1042,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4981279,0.5200441,10.269963,7.0229742,48.4888785,14.961066,34.2744823,70.3627486,40.295415,45.9423875,22.4569849,2.7486901,7.7004268,7.5211843,30.7883506,5.7228812,0.4208975,0.4543315,9.9044425,6.7805924,47.5928915,15.6238335,33.2393812,70.3682836,40.4922907,46.0541147,22.6042785,3.025181,7.4875985,7.5908811,31.0035803,4.7770609,0.4837941,0.5179786,10.1768189,6.8660608,47.4639205,15.179935,33.7514484,69.6835208,39.5793032,45.5229742,22.6360433,2.9525302,7.6671685,7.3411279,31.3416385,4.166656,0.3786541,0.4074621,9.5559833,6.428568,47.0860266,15.4405928,33.7773423,70.278329,39.5029729,45.8250603,23.0417428,3.1610358,7.8571664,6.8301906,31.525042,3.571417,0.4235734,0.4598053,9.6107574,6.4406066,45.6276192,17.6434366,33.877635,70.463003,40.615936,46.2381152,23.2534002,3.6171991,8.2815125,6.9921842,31.4117891,3.741489 +1043,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0664614,2.1560648,34.1350858,27.9430589,51.0388785,17.5172825,38.3556216,60.3136302,29.1926202,43.8503685,20.9212358,3.0989647,13.5221792,10.0114218,45.3496673,27.7121877,2.1758223,2.2204105,34.2926461,28.0052783,51.7422761,17.0808603,38.4122011,60.2583885,28.6944972,42.918159,20.5241172,3.2335941,13.2588899,10.1100782,44.9867726,27.6561874,2.1783329,2.2097491,33.6077819,27.9593619,53.7652369,16.276817,37.9094832,60.6275453,28.6635169,43.0990604,20.785812,2.7258124,12.2370287,9.8269195,44.7733509,26.2138568,2.4424196,2.4732576,33.9779911,28.6317458,55.3578078,17.1653187,37.5179787,61.2271301,28.7562261,42.2672254,20.6935404,2.6251922,12.3835666,9.7327011,43.5601779,25.5500368,2.4973865,2.527521,34.7805119,29.5516269,57.0091011,16.9519367,36.9562377,62.082159,29.6230363,41.3517345,20.7165035,2.6152551,13.0961899,9.9856645,43.1419269,25.5490832 +1044,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6487118,0.6579829,7.2899691,4.6647725,44.6556952,20.0907333,31.4880526,69.5436319,33.6706673,45.7340958,17.2817713,6.7261771,11.9499485,9.5219922,32.1564174,2.529173,0.7391215,0.7488504,7.1579211,4.4974548,44.0024983,21.5942528,31.2238566,68.9849566,33.5213654,45.7602028,17.2305959,6.7877858,12.449336,9.3673852,32.7515835,3.2188772,0.8321056,0.8423281,7.2916711,4.6321031,43.7915562,22.3070333,31.3048672,68.914772,33.6775548,46.1554904,17.5527256,7.0957649,12.4158461,8.8879378,32.1669356,3.051636,0.7215456,0.7321048,7.1232299,4.5579592,42.0266401,22.9778914,31.3899759,69.7073921,34.5450892,47.5308133,18.0841338,7.5217003,11.9699877,8.8780762,31.3716701,2.6829203,0.6200611,0.6311999,7.1878128,4.4772663,40.1309357,23.8311568,30.8489757,69.7298944,34.9493537,46.8644055,17.6797054,7.5011915,11.7897977,8.8625424,30.4657691,2.25 +1045,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5390443,0.5755586,9.0101977,6.2852732,68.1434287,12.5388115,29.2895955,66.5577158,31.5878608,44.9856198,15.4218282,5.3408553,11.0189582,11.1027117,30.6972936,7.3409324,0.5079606,0.5079606,9.1297456,6.5330737,67.6605846,12.6048343,29.2699467,66.8685058,31.3838912,44.9125896,14.7548714,5.4256316,11.4467155,10.8671931,30.9126426,6.9616611,0.519474,0.519474,9.0631498,6.3079143,66.1335103,12.9178132,28.6537592,67.1152503,31.5533184,45.1626773,14.571063,5.4290275,11.5541021,10.3096041,30.5148713,7.8825081,0.5301398,0.5301398,8.6136092,5.7475536,65.0240572,13.783921,27.8829833,67.4406336,31.7694036,44.5654979,14.1390519,5.5766466,11.9388587,10.3997716,30.3570678,7.07271,0.4359439,0.4204351,8.1236194,5.4432624,63.5800018,14.7543406,27.6108235,67.4840561,32.5825309,44.8947567,14.5645264,5.622318,11.9176321,10.6563002,29.640869,5.8969051 +1046,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6415897,0.6855844,8.0690961,5.560814,58.6215178,19.4040357,32.1293673,68.7677054,33.0736544,44.4050992,18.3899906,4.7922568,9.6338274,7.9039301,34.5175439,1.6746411,0.6610759,0.6792082,8.2642613,5.4851292,57.3025335,19.71387,31.8893784,68.2574645,33.3088595,45.0073421,18.9672051,4.7234459,10,8.5568918,33.9069767,1.6666667,0.7041922,0.7073324,7.9746835,5.1392405,57.0292458,19.1729323,31.9078947,68.1933198,33.0718623,45.1163968,18.8512146,5.1366397,10.1735776,8.9458414,33.2521908,2.238806,0.6773137,0.6805897,7.6086957,4.8515376,56.7502668,18.4635417,31.6412415,67.8853235,33.1667543,44.5817991,18.1746449,4.918464,10.2985075,8.8235294,33.7525151,2.5139665,0.6871131,0.6734659,6.8936877,3.9036545,55.0696379,19.0928843,30.9484649,67.2971491,32.6480263,45.2576754,18.558114,5.0164474,9.8150051,8.281893,33.4543568,2.7607362 +1047,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1823661,1.2412282,26.997749,22.3787712,39.8235887,19.3692046,37.45321,68.3634475,35.430052,46.7464836,21.7748937,4.8985653,14.3477645,12.2482054,31.8520696,12.784051,1.1497763,1.2075502,27.3811641,22.9247366,41.3888915,19.84739,38.2686999,67.877734,35.2273867,47.2084855,21.8794923,4.6862485,14.2762904,13.4276405,32.3235901,14.4020347,1.2072856,1.2649548,27.5937243,23.1324923,40.4108048,19.1509282,38.2438191,67.3668076,34.7814157,46.839272,22.228274,4.2353219,14.3771225,14.1477539,33.1710973,15.2775625,1.0267775,1.0835013,27.1135141,22.8499218,41.0220979,19.2331077,37.3249704,68.1513618,34.1508834,46.2375178,22.0636141,3.3877731,14.6475864,13.8271089,32.8561842,14.4123848,1.1647566,1.1694574,27.2235695,22.6517896,41.975643,19.2258024,37.500917,68.1488378,33.8445754,45.4218288,21.7189024,3.1988298,13.9830068,13.6748287,33.4544286,18.8529768 +1048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7858362,0.7660772,12.2085579,8.2577779,45.5314871,15.3618305,32.3061536,69.2180287,36.4810929,45.8250475,22.7634117,4.4731502,11.1038903,10.8441369,42.4738236,6.0714416,0.798581,0.7760308,11.84212,7.6585814,44.7974839,14.9694358,31.7932916,68.9596313,37.2689749,46.3723599,24.05886,4.4147725,11.2990454,11.1637273,41.7006758,5.813967,0.9469519,0.9449689,11.7320323,7.8104616,44.7686103,14.3741703,31.8061871,67.5346234,36.8160701,45.1878857,23.829909,4.3177206,12.018587,11.7529959,41.0000007,4.9242499,1.0152725,1.0822941,12.3781652,8.2845966,43.3110292,15.0227154,32.2909939,67.6431997,37.2942667,46.7742028,24.5885434,4.3778679,12.0800936,12.4677164,40.3246728,3.9855072,1.0758781,1.1677934,12.5923561,8.7130446,42.8342948,14.9938522,31.7724907,66.4047873,36.3607697,46.1030851,24.7328786,4.6825845,12.4211901,12.0581106,39.6333779,5.7432471 +1049,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5904129,0.5716822,9.7925384,6.8038195,79.3083455,10.9426279,29.5080534,68.2651624,28.9332199,45.0611178,13.5596295,4.1127523,11.6348485,12.2107946,31.2839157,11.6194565,0.5524039,0.4990177,9.7022899,6.8687457,79.0648554,11.0766389,30.2802401,69.3882036,28.9900411,44.5448093,14.2461801,4.2203838,11.8915376,12.6890308,31.0995819,12.1090723,0.4237571,0.3875107,9.3202164,6.5295453,78.9403461,10.6465396,30.0441147,68.522655,29.4928841,45.2591088,14.0940546,4.0242246,12.1490504,12.2595268,31.0522191,9.6151479,0.3476703,0.3541977,9.4512332,6.5818136,78.4506894,10.2344099,29.7900155,68.8098619,29.4215841,44.9336987,14.4988426,3.4819206,12.2580985,11.7747529,31.6792709,6.5889838,0.3726542,0.3693778,9.3523926,6.747487,78.2207275,10.3328856,29.4258868,68.7706375,28.7633803,44.1112062,14.5932735,3.3308615,12.1159446,11.7747243,32.4075191,4.044076 +1050,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.2077486,1.2208307,16.6526725,12.6627468,28.4478739,13.5095225,36.3225544,66.0430163,40.580629,48.3225586,23.3333414,3.0752699,12.2619325,11.212357,38.7779118,13.4057441,1.31773,1.3305995,16.9418064,12.9797701,28.2023223,12.9614316,36.4114216,66.7858744,40.5763452,48.3171892,23.075317,3.0500641,12.9587348,11.7265047,39.3296885,15.4546196,1.3765926,1.3987501,18.4499451,13.8527162,27.6762713,13.6234923,35.7494829,66.8788598,40.8418848,48.8911512,23.2649074,3.0595504,13.0613825,12.6217127,39.2991267,17.201318,1.4630794,1.4857888,19.1237251,14.6386797,28.6802932,13.3873063,34.7542921,66.6316771,39.5002054,47.8160292,22.1125763,2.8769449,12.9290623,11.6590204,39.2691868,17.8984012,1.3114747,1.3911273,19.7480432,15.4781917,28.7036748,13.5071184,34.1510995,66.7173427,39.1880312,47.0039023,21.9496436,2.5835897,13.1457201,11.012368,38.8111619,18.700134 +1051,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2756675,2.3117947,34.1257669,28.9110429,61.5322581,7.6036866,35.1246106,64.4080997,26.0903427,40.7320872,16.1214953,5.529595,16.5615142,12.4213836,37.5786164,13.9053254,1.953448,1.953448,33.1602374,28.4124629,60.719755,6.8382353,34.6439169,64.0207715,26.9287834,40.727003,16.5430267,5.7121662,16.8128655,12.6822157,37.3546512,12.6470588,1.6123407,1.6123407,33.1586826,29.1167665,60.4166667,7.1533923,35.5341246,64.0207715,26.3353116,41.4688427,16.3946588,5.8605341,16.7673716,13.3633634,37.5748503,11.746988,1.7519841,1.7519841,34.0472674,29.9113737,61.7692308,6.3689605,36.3970588,62.2794118,26.6911765,40.8088235,15.8088235,5.6617647,16.9161677,12.9464286,40.2077151,13.4375,1.8271222,1.8271222,34.9563953,30.8866279,62.6315789,5.8357349,36.5942029,62.6811594,26.4492754,40.942029,15,5.1449275,16.4156627,11.8618619,40.2694611,14.5833333 +1052,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6517238,0.681174,11.5917084,7.5584812,42.6948766,19.428907,37.3629029,69.2223345,38.8367095,50.1882137,23.6908489,3.6845353,11.146848,10.6451698,33.9496646,8.707738,0.7178262,0.7482361,11.9495291,7.8972251,41.5008173,19.7708716,37.7276232,69.0018931,39.905854,50.5689367,24.2685419,3.7873738,10.8016855,11.2507621,33.2619314,7.6703412,0.8272616,0.8848723,12.6000794,8.2276102,40.5697638,19.6663739,37.4151434,68.9027935,40.5062571,50.9341153,24.3376441,3.9911582,10.4206201,11.0223523,33.0888411,7.1838048,0.8105098,0.8873004,12.7930845,8.4528989,39.4677738,19.5598895,37.9537947,68.9856945,40.6229175,50.3380878,23.7900343,3.7900265,10.3597323,10.5736943,32.2980709,7.5756428,0.8262651,0.8949188,12.4263357,7.787181,37.7569208,20.4780824,38.6872942,69.4276877,41.9035428,51.3274908,24.0276163,3.9079979,9.4197618,10.4226349,31.4295942,6.3253164 +1053,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7022158,0.724926,9.1138125,5.8118801,48.2477777,17.7272489,32.5425671,68.822332,38.8565919,48.7540922,24.1808762,4.0102049,10.8300151,9.5413704,32.7303977,4.6876055,0.6233687,0.6876163,9.1150088,5.7875345,47.8804256,17.9761519,32.8760522,69.1196364,39.3977317,48.9129726,24.2160132,4.1162039,10.5170231,10.2898178,32.0815808,4.870133,0.6182022,0.6848014,9.1058641,5.9544859,47.7407726,18.5593891,32.5775699,69.192425,38.9932973,48.7646759,23.8754109,4.111379,10.0373334,10.0446578,31.6366655,6.1290362,0.7406369,0.7956366,9.0067813,5.9259286,46.8830943,18.1570662,32.2055924,68.5624571,38.5697904,48.3358982,23.6102132,3.968512,10.3409976,10.4891395,32.297909,5.3448404,0.786529,0.8385787,9.0078931,5.8918236,47.3714192,17.9563019,31.8921514,67.601244,38.1149005,47.2325583,23.1368853,4.0339805,10.7553628,10.2517876,32.5473003,5.6202965 +1054,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7875247,0.7738978,9.0273954,6.2172721,52.0491045,14.5294713,28.2610533,67.5674696,40.1431616,44.8927169,20.2251274,4.423981,10.7480716,9.2974809,34.8806317,9.094005,0.748481,0.7343712,8.8365819,5.8739193,50.6605785,14.8536208,27.6125906,67.257026,40.2052055,45.9711145,20.6163512,4.5613869,10.7979651,9.5386987,34.0936981,8.2417784,0.6764405,0.7145174,8.5479124,5.5410934,49.7869085,14.7712991,26.6649503,67.7584081,40.8977077,45.6869303,21.4070628,4.2270095,10.6635655,9.624889,33.5181225,7.051722,0.6559287,0.6957796,8.4522407,5.5572222,48.8123335,15.189667,26.7295847,67.8845368,41.607279,45.8688293,21.5883251,4.8863816,11.3178096,10.3027402,32.5097642,6.0326558,0.6547048,0.6810007,8.5194267,5.4873145,48.9998095,15.1860221,26.9360831,68.4744001,41.1696953,46.0646537,21.5107361,5.001681,11.8306229,9.9497265,32.7406013,8.3389037 +1055,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6610759,0.6792082,8.2642613,5.4851292,57.3025335,19.71387,31.8893784,68.2574645,33.3088595,45.0073421,18.9672051,4.7234459,10,8.5568918,33.9069767,1.6666667,0.7041922,0.7073324,7.9746835,5.1392405,57.0292458,19.1729323,31.9078947,68.1933198,33.0718623,45.1163968,18.8512146,5.1366397,10.1735776,8.9458414,33.2521908,2.238806,0.6773137,0.6805897,7.6086957,4.8515376,56.7502668,18.4635417,31.6412415,67.8853235,33.1667543,44.5817991,18.1746449,4.918464,10.2985075,8.8235294,33.7525151,2.5139665,0.6871131,0.6734659,6.8936877,3.9036545,55.0696379,19.0928843,30.9484649,67.2971491,32.6480263,45.2576754,18.558114,5.0164474,9.8150051,8.281893,33.4543568,2.7607362,0.7276995,0.7132539,6.5114909,3.8597525,53.5,19.5002872,30.887471,66.7923434,32.4535963,45.562645,18.6484919,5.24942,9.5733042,7.8485181,32.7986726,3.0612245 +1056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1529051,1.2052967,18.5016152,15.0013034,81.8981056,15.4432435,34.6910172,65.1929638,34.4665332,39.4156334,17.9584266,5.3792545,14.4460111,10.0947665,40.2519999,9.8972965,1.0949076,1.1473059,19.3735499,15.6497091,82.0328436,15.2266714,35.4234918,65.7894358,34.8557563,40.2763328,17.4415984,5.1101048,14.4357698,10.4950413,38.9767709,10.3862004,1.0236491,1.0757542,19.1438413,15.7544768,81.726993,14.9411345,35.0603294,66.3185859,34.836033,39.9516291,17.1472967,4.8630259,14.5805164,10.400431,38.3868621,12.1789486,0.9144797,0.9408907,19.2833782,15.9732542,82.6937876,14.4562367,35.1127681,66.0473532,34.3712019,39.2986512,16.7693622,4.5008386,15.0381747,10.7977569,39.7764025,11.3418348,1.042731,1.0693823,18.669495,15.269162,82.3329164,14.775733,34.6165871,66.2715578,33.9776876,38.1051329,16.8287803,4.563443,13.8104228,10.8744503,38.9181702,14.7388453 +1057,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6303855,0.6393255,8.4470868,5.5616412,41.7374275,10.7487067,28.5507439,68.3344349,36.1280399,49.3374157,20.3336346,2.9931342,10.4173609,9.3121334,28.8251603,5.2158311,0.6916025,0.6731515,8.3458184,5.467207,40.6638183,10.9012559,28.4648556,67.756916,35.784038,49.4280015,20.7794314,3.0979964,10.346241,9.8102095,29.139288,3.8983064,0.7027886,0.6834426,8.5570092,5.3596581,39.3958165,10.5702908,28.6434243,67.8263029,35.890333,49.288057,21.2324417,3.3752823,10.2278359,10.0906716,29.3372354,2.6813889,0.657742,0.6392787,8.1267598,4.9658121,38.3731655,10.8167348,28.5279939,67.5610478,36.0949379,48.3784707,21.3148522,3.2920342,10.1439543,10.174978,29.4270455,2.5679766,0.6304307,0.6126704,7.9163703,4.8809833,37.1816363,10.8756544,29.0680925,67.636026,35.7550736,48.958071,21.6423483,3.1729235,10.1920418,9.8418141,29.8750679,2.5679766 +1058,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6916025,0.6731515,8.3458184,5.467207,40.6638183,10.9012559,28.4648556,67.756916,35.784038,49.4280015,20.7794314,3.0979964,10.346241,9.8102095,29.139288,3.8983064,0.7027886,0.6834426,8.5570092,5.3596581,39.3958165,10.5702908,28.6434243,67.8263029,35.890333,49.288057,21.2324417,3.3752823,10.2278359,10.0906716,29.3372354,2.6813889,0.657742,0.6392787,8.1267598,4.9658121,38.3731655,10.8167348,28.5279939,67.5610478,36.0949379,48.3784707,21.3148522,3.2920342,10.1439543,10.174978,29.4270455,2.5679766,0.6304307,0.6126704,7.9163703,4.8809833,37.1816363,10.8756544,29.0680925,67.636026,35.7550736,48.958071,21.6423483,3.1729235,10.1920418,9.8418141,29.8750679,2.5679766,0.6670558,0.6374031,7.9309127,4.8729957,36.2756589,10.8652654,28.8815096,67.9045854,36.1269368,48.4019815,21.6905691,3.2594612,9.7977966,9.538306,29.4837032,3.097347 +1059,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4935948,0.4366836,7.3601802,4.4583174,56.2130712,10.8980908,30.5852937,67.3083494,31.9147014,42.2738255,17.2738216,14.511396,9.9205012,8.9722418,36.1435809,2.2022831,0.4601971,0.3947368,7.2064524,4.4425882,54.3832386,11.1320085,30.2653097,67.9720099,31.8099145,43.0583323,17.6176586,14.074144,9.4845719,8.7648737,35.2120164,2.9464275,0.4755447,0.4070097,7.3589246,4.6053893,53.0052062,11.5246897,30.0801372,67.840105,32.5796527,43.9896972,18.3266486,14.3579497,9.6088759,8.7848047,34.7190598,3.1791901,0.4967893,0.4693751,7.5591599,4.781929,52.147908,11.2631605,29.8972011,67.7366176,32.5930876,44.0166783,18.6093824,13.9934085,10.1117103,8.9911475,35.658768,2.9352221,0.5572715,0.521945,7.7720668,4.9752667,52.1934084,11.3420338,29.7713441,67.3941812,32.7380845,43.1311365,18.0555464,14.3329557,10.5351171,9.1601672,36.2495354,2.9467675 +1060,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0949076,1.1473059,19.3735499,15.6497091,82.0328436,15.2266714,35.4234918,65.7894358,34.8557563,40.2763328,17.4415984,5.1101048,14.4357698,10.4950413,38.9767709,10.3862004,1.0236491,1.0757542,19.1438413,15.7544768,81.726993,14.9411345,35.0603294,66.3185859,34.836033,39.9516291,17.1472967,4.8630259,14.5805164,10.400431,38.3868621,12.1789486,0.9144797,0.9408907,19.2833782,15.9732542,82.6937876,14.4562367,35.1127681,66.0473532,34.3712019,39.2986512,16.7693622,4.5008386,15.0381747,10.7977569,39.7764025,11.3418348,1.042731,1.0693823,18.669495,15.269162,82.3329164,14.775733,34.6165871,66.2715578,33.9776876,38.1051329,16.8287803,4.563443,13.8104228,10.8744503,38.9181702,14.7388453,1.0924826,1.0924826,19.0243316,15.7103091,83.1309841,15.3408058,33.741608,66.3315991,33.8574602,37.4370421,17.000696,4.2431396,13.4619623,11.5350833,38.8757372,14.0260761 +1061,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1169889,1.1076621,20.7191505,16.7289713,37.6114187,18.5435118,39.0081261,67.8513154,37.5599296,47.6481144,24.9915541,4.2527966,12.9228817,9.6706689,31.2655156,14.1077059,1.1582683,1.1696118,21.0855056,16.9559187,37.9300913,18.4771387,38.4375099,67.2285387,37.5680086,47.9366195,24.4750848,4.1483949,13.3012286,9.4216367,30.9968176,15.117553,1.2822238,1.287401,21.233538,17.0185782,38.4696077,18.1826817,37.3739966,67.273998,37.5085693,48.11269,24.9010292,4.0635905,13.3021934,9.4500081,30.5403079,16.5461458,1.3900203,1.3952041,21.2129761,17.2980295,38.9536689,18.0785641,37.3483187,66.7056093,37.6157038,47.7397922,24.8503606,3.9041253,13.1258729,9.8063449,29.983054,18.689863,1.4263893,1.4468637,21.2801959,17.3146883,39.608377,17.7479108,37.1191974,65.7328288,36.5512922,47.2286943,23.8893945,3.6638072,12.5100709,10.4328969,29.9771534,18.0132312 +1062,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1758223,2.2204105,34.2926461,28.0052783,51.7422761,17.0808603,38.4122011,60.2583885,28.6944972,42.918159,20.5241172,3.2335941,13.2588899,10.1100782,44.9867726,27.6561874,2.1783329,2.2097491,33.6077819,27.9593619,53.7652369,16.276817,37.9094832,60.6275453,28.6635169,43.0990604,20.785812,2.7258124,12.2370287,9.8269195,44.7733509,26.2138568,2.4424196,2.4732576,33.9779911,28.6317458,55.3578078,17.1653187,37.5179787,61.2271301,28.7562261,42.2672254,20.6935404,2.6251922,12.3835666,9.7327011,43.5601779,25.5500368,2.4973865,2.527521,34.7805119,29.5516269,57.0091011,16.9519367,36.9562377,62.082159,29.6230363,41.3517345,20.7165035,2.6152551,13.0961899,9.9856645,43.1419269,25.5490832,2.5944296,2.6494621,34.8821709,29.7433403,58.87496,16.7791874,36.7879476,62.9349448,29.4228873,41.0967747,20.6465035,2.5408592,14.3455143,10.686502,42.5702091,25.4135926 +1063,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5039983,0.5435431,8.2850689,5.5984849,49.6231078,17.8707301,31.8630732,69.0526883,36.6440529,44.9052309,20.255478,4.7478226,10.7559057,8.1612561,31.2979248,4.3806537,0.4647053,0.5223794,7.8699234,5.081487,48.3966921,18.0376644,30.710465,69.0884651,36.3289719,45.4825771,20.054599,4.4745102,10.4882419,8.1233186,30.0545143,4.1155828,0.5555431,0.6130556,8.0264818,5.3703362,47.119466,18.3958456,30.2688495,69.4920351,36.8802285,45.405032,19.8955943,4.5151222,10.1958882,8.5318593,30.2134278,3.2915498,0.5971617,0.6416654,7.9946083,5.3782499,46.8393682,18.3364195,30.8673906,68.922773,36.8529457,45.0071336,20.2588088,4.6711231,9.5361744,8.4449352,30.9621361,2.6148284,0.6019277,0.6364682,7.6725898,5.2571428,46.1177976,18.5478496,30.2516462,68.5996431,37.0579636,45.2107283,20.6116517,4.5915817,9.3374409,8.6436358,30.940974,3.0039062 +1064,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7027886,0.6834426,8.5570092,5.3596581,39.3958165,10.5702908,28.6434243,67.8263029,35.890333,49.288057,21.2324417,3.3752823,10.2278359,10.0906716,29.3372354,2.6813889,0.657742,0.6392787,8.1267598,4.9658121,38.3731655,10.8167348,28.5279939,67.5610478,36.0949379,48.3784707,21.3148522,3.2920342,10.1439543,10.174978,29.4270455,2.5679766,0.6304307,0.6126704,7.9163703,4.8809833,37.1816363,10.8756544,29.0680925,67.636026,35.7550736,48.958071,21.6423483,3.1729235,10.1920418,9.8418141,29.8750679,2.5679766,0.6670558,0.6374031,7.9309127,4.8729957,36.2756589,10.8652654,28.8815096,67.9045854,36.1269368,48.4019815,21.6905691,3.2594612,9.7977966,9.538306,29.4837032,3.097347,0.6177634,0.5837157,7.8442804,4.9447444,35.3697611,10.7157513,29.2399414,67.7231649,36.4554852,48.0249537,21.0760672,3.2039819,9.9859475,9.8431038,30.4678953,2.7298851 +1065,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.31773,1.3305995,16.9418064,12.9797701,28.2023223,12.9614316,36.4114216,66.7858744,40.5763452,48.3171892,23.075317,3.0500641,12.9587348,11.7265047,39.3296885,15.4546196,1.3765926,1.3987501,18.4499451,13.8527162,27.6762713,13.6234923,35.7494829,66.8788598,40.8418848,48.8911512,23.2649074,3.0595504,13.0613825,12.6217127,39.2991267,17.201318,1.4630794,1.4857888,19.1237251,14.6386797,28.6802932,13.3873063,34.7542921,66.6316771,39.5002054,47.8160292,22.1125763,2.8769449,12.9290623,11.6590204,39.2691868,17.8984012,1.3114747,1.3911273,19.7480432,15.4781917,28.7036748,13.5071184,34.1510995,66.7173427,39.1880312,47.0039023,21.9496436,2.5835897,13.1457201,11.012368,38.8111619,18.700134,1.285187,1.3598333,20.8132518,16.4062069,29.4229819,13.6878352,35.1171159,65.7310395,38.4693252,47.5969295,22.5969346,2.8069502,13.4820074,10.6617632,38.6500876,18.4783886 +1066,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0236491,1.0757542,19.1438413,15.7544768,81.726993,14.9411345,35.0603294,66.3185859,34.836033,39.9516291,17.1472967,4.8630259,14.5805164,10.400431,38.3868621,12.1789486,0.9144797,0.9408907,19.2833782,15.9732542,82.6937876,14.4562367,35.1127681,66.0473532,34.3712019,39.2986512,16.7693622,4.5008386,15.0381747,10.7977569,39.7764025,11.3418348,1.042731,1.0693823,18.669495,15.269162,82.3329164,14.775733,34.6165871,66.2715578,33.9776876,38.1051329,16.8287803,4.563443,13.8104228,10.8744503,38.9181702,14.7388453,1.0924826,1.0924826,19.0243316,15.7103091,83.1309841,15.3408058,33.741608,66.3315991,33.8574602,37.4370421,17.000696,4.2431396,13.4619623,11.5350833,38.8757372,14.0260761,1.0381004,1.0381004,19.4226751,15.9940907,82.8611203,15.7925721,33.6420971,66.540821,34.9608616,37.0300795,17.6055523,4.5113177,14.3937387,12.8598807,39.042456,13.8401588 +1067,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.4122855,0.4122855,8.3233852,4.9688451,64.7482692,13.9985281,27.5841962,61.1864058,34.0883414,38.4898846,16.8471859,3.4399469,12.6567799,11.1227191,35.274899,3.3486179,0.2783721,0.2783721,7.9090408,4.6915041,63.7027955,13.6443149,27.0658866,61.4286099,34.8498119,40.2558089,16.3099721,3.3036637,11.7547971,9.9408136,36.2675436,1.8603433,0.3126106,0.3126106,7.7932854,4.636212,63.8045582,13.1523195,26.7456018,62.5338005,34.8566863,39.9396886,16.3421483,3.1815098,11.3559831,9.7579421,35.7817762,1.8742906,0.2856543,0.2856543,7.9954241,5.0947654,63.9863969,13.1496431,26.6264896,63.1864928,34.0269117,38.9379309,16.3276176,3.1606708,11.127433,9.8758091,35.9738711,1.9785697,0.4051585,0.4051585,7.9526844,5.3147286,62.5447234,12.6173499,26.26116,64.8327472,32.8345376,38.4144682,16.1814393,3.3694896,10.1581638,9.9169069,36.7723753,1.2567666 +1068,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0956635,1.1533885,22.8487966,18.8601544,48.9864734,19.2434441,37.8978032,67.0954949,35.2036083,47.0500356,20.6222488,3.3082669,14.7360543,11.7197248,36.4053117,10.6884097,1.0562786,1.1140663,22.9286886,18.9401398,49.776514,18.4940772,37.9269935,66.5546841,35.7461858,46.8483865,21.3121753,3.1125576,14.8753421,12.1683611,36.5305728,10.7394128,1.2529241,1.3077518,23.3891825,19.5326872,50.208439,18.5109134,37.6589654,65.9963493,34.8957394,45.8198276,21.0923906,3.1059907,14.8098635,12.3550469,37.8134428,12.2837455,1.2284668,1.2871188,23.6223793,19.7547094,50.3345571,18.2303463,38.0065448,65.7482707,34.0058024,45.8809658,20.5836777,2.8764051,15.0618591,12.4166175,38.0986987,13.2978771,1.276951,1.3170708,24.0164274,20.2102836,51.2788392,17.7305585,39.1116052,65.9758111,33.7359493,46.8229233,20.529376,2.8097079,15.6376548,12.4788142,37.0276326,13.1119019 +1069,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6027003,0.6129994,11.1782558,7.7248109,39.9355092,13.0538132,30.9000877,67.3902052,38.9215133,47.4561547,20.7669802,6.2178055,10.4801063,9.9225308,34.0283578,8.6554996,0.6125354,0.6277251,11.1934583,7.5191251,38.2246639,13.2753393,31.5775562,67.4568833,39.3720305,47.8588255,21.121931,6.2308664,9.322245,8.739143,33.294855,8.4375053,0.5588727,0.5747668,11.0253106,7.8071118,36.2306463,12.8488544,31.0222132,67.2385381,39.6735607,48.1204728,21.7252104,6.1238448,9.037775,8.9665499,32.9520225,6.9343116,0.6029121,0.6078237,10.9278624,7.8354654,35.3820757,13.1965852,31.73076,67.7600074,39.9454725,48.0730881,21.4849809,6.2447983,8.3750042,8.7156094,32.5396145,6.7857191,0.5591007,0.5642918,10.9411347,7.8785047,35.5159816,13.6352457,32.2492452,68.0183967,39.736039,48.4754158,21.2674314,6.3425448,8.1283079,9.1029264,32.4954475,7.0895575 +1070,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1783329,2.2097491,33.6077819,27.9593619,53.7652369,16.276817,37.9094832,60.6275453,28.6635169,43.0990604,20.785812,2.7258124,12.2370287,9.8269195,44.7733509,26.2138568,2.4424196,2.4732576,33.9779911,28.6317458,55.3578078,17.1653187,37.5179787,61.2271301,28.7562261,42.2672254,20.6935404,2.6251922,12.3835666,9.7327011,43.5601779,25.5500368,2.4973865,2.527521,34.7805119,29.5516269,57.0091011,16.9519367,36.9562377,62.082159,29.6230363,41.3517345,20.7165035,2.6152551,13.0961899,9.9856645,43.1419269,25.5490832,2.5944296,2.6494621,34.8821709,29.7433403,58.87496,16.7791874,36.7879476,62.9349448,29.4228873,41.0967747,20.6465035,2.5408592,14.3455143,10.686502,42.5702091,25.4135926,2.5447682,2.5703039,34.6965364,29.5674564,60.3912634,16.2174845,37.2916734,63.5815159,29.6456495,40.3348643,20.3181085,2.4571335,15.3611338,10.7638894,40.9139115,25.7621351 +1071,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4208975,0.4543315,9.9044425,6.7805924,47.5928915,15.6238335,33.2393812,70.3682836,40.4922907,46.0541147,22.6042785,3.025181,7.4875985,7.5908811,31.0035803,4.7770609,0.4837941,0.5179786,10.1768189,6.8660608,47.4639205,15.179935,33.7514484,69.6835208,39.5793032,45.5229742,22.6360433,2.9525302,7.6671685,7.3411279,31.3416385,4.166656,0.3786541,0.4074621,9.5559833,6.428568,47.0860266,15.4405928,33.7773423,70.278329,39.5029729,45.8250603,23.0417428,3.1610358,7.8571664,6.8301906,31.525042,3.571417,0.4235734,0.4598053,9.6107574,6.4406066,45.6276192,17.6434366,33.877635,70.463003,40.615936,46.2381152,23.2534002,3.6171991,8.2815125,6.9921842,31.4117891,3.741489,0.5427327,0.5492892,10.2407085,6.9467828,45.7512132,18.2968667,33.1820148,69.498485,40.6614566,45.3739697,23.1085107,3.8694354,8.3889941,7.2506334,31.6077702,3.6912702 +1072,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4647053,0.5223794,7.8699234,5.081487,48.3966921,18.0376644,30.710465,69.0884651,36.3289719,45.4825771,20.054599,4.4745102,10.4882419,8.1233186,30.0545143,4.1155828,0.5555431,0.6130556,8.0264818,5.3703362,47.119466,18.3958456,30.2688495,69.4920351,36.8802285,45.405032,19.8955943,4.5151222,10.1958882,8.5318593,30.2134278,3.2915498,0.5971617,0.6416654,7.9946083,5.3782499,46.8393682,18.3364195,30.8673906,68.922773,36.8529457,45.0071336,20.2588088,4.6711231,9.5361744,8.4449352,30.9621361,2.6148284,0.6019277,0.6364682,7.6725898,5.2571428,46.1177976,18.5478496,30.2516462,68.5996431,37.0579636,45.2107283,20.6116517,4.5915817,9.3374409,8.6436358,30.940974,3.0039062,0.5486675,0.5688132,7.8713827,5.1737385,44.6092175,18.4416141,30.1439644,67.9515598,36.2674474,45.2250954,20.4938588,4.7158485,9.8266699,8.6929439,30.85306,2.8535511 +1073,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7178262,0.7482361,11.9495291,7.8972251,41.5008173,19.7708716,37.7276232,69.0018931,39.905854,50.5689367,24.2685419,3.7873738,10.8016855,11.2507621,33.2619314,7.6703412,0.8272616,0.8848723,12.6000794,8.2276102,40.5697638,19.6663739,37.4151434,68.9027935,40.5062571,50.9341153,24.3376441,3.9911582,10.4206201,11.0223523,33.0888411,7.1838048,0.8105098,0.8873004,12.7930845,8.4528989,39.4677738,19.5598895,37.9537947,68.9856945,40.6229175,50.3380878,23.7900343,3.7900265,10.3597323,10.5736943,32.2980709,7.5756428,0.8262651,0.8949188,12.4263357,7.787181,37.7569208,20.4780824,38.6872942,69.4276877,41.9035428,51.3274908,24.0276163,3.9079979,9.4197618,10.4226349,31.4295942,6.3253164,0.7589344,0.7891795,11.8686577,7.4009215,37.068855,21.3922895,38.5206162,70.0787506,42.5443848,50.9860635,23.3332601,3.8855953,9.0170166,9.860778,30.3959458,5.5555701 +1074,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6010686,0.6036818,7.4249307,5.0769591,82.3723391,7.6014857,26.4306139,62.997134,29.0795499,38.4449561,14.6744636,5.6196906,9.8996944,8.4846555,37.1742634,4.7092547,0.5889113,0.5929654,7.3705897,4.9695785,81.7660276,7.3625968,26.4814698,63.4623431,29.4792651,38.4334688,14.8224449,5.5979903,10.0241147,8.5440646,37.4359696,4.824936,0.6189239,0.6146422,7.5661887,5.0534323,80.7782514,7.4366916,26.0470926,63.6081359,29.7789013,38.6986889,15.0488736,5.3649377,10.1481825,8.676956,37.1000834,4.1998232,0.5668017,0.5771639,7.4102689,4.9251925,79.6110657,7.3852059,25.9443042,63.6667623,30.3898615,38.950644,15.2251699,5.2303799,10.1070154,8.7853072,36.5323549,4.5536519,0.5732231,0.5913575,7.3772663,4.9024233,77.8652319,7.5450627,26.2860841,64.2092754,30.9747819,38.8905238,15.498016,5.3598952,9.7099279,8.3891002,35.9427848,4.3457498 +1075,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7067022,0.7620992,13.4205613,7.7501236,54.0201437,22.3483322,34.0825376,69.1289082,35.2787963,48.8430268,22.2932003,3.5706526,13.9616957,12.2612883,38.2437072,3.0952818,0.6317498,0.6966427,12.5951005,7.6678479,52.8969076,21.7077245,33.8896137,68.8224049,34.7118412,48.1543081,21.37082,3.9387853,13.8739215,12.3025666,39.0107599,4.0540497,0.5547038,0.6210168,11.433498,7.074889,51.8962527,21.6827284,34.2638702,68.3754822,35.1471204,47.9627654,21.1739075,3.9357405,14.6987644,12.4151562,39.2470197,3.2163724,0.6418216,0.6351552,11.6015648,7.2966305,51.4275094,20.5686071,33.9597229,67.3413274,35.3757369,47.5895055,21.4256977,3.8347696,15.4581814,13.1837672,40.6991343,4.6583764,0.6464101,0.6396327,11.0897952,7.1352476,50.5421956,19.8562118,34.5882433,67.3938237,35.888138,47.0948998,21.7710803,3.7032824,14.7187767,12.6601854,40.2991383,4.7770579 +1076,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1582683,1.1696118,21.0855056,16.9559187,37.9300913,18.4771387,38.4375099,67.2285387,37.5680086,47.9366195,24.4750848,4.1483949,13.3012286,9.4216367,30.9968176,15.117553,1.2822238,1.287401,21.233538,17.0185782,38.4696077,18.1826817,37.3739966,67.273998,37.5085693,48.11269,24.9010292,4.0635905,13.3021934,9.4500081,30.5403079,16.5461458,1.3900203,1.3952041,21.2129761,17.2980295,38.9536689,18.0785641,37.3483187,66.7056093,37.6157038,47.7397922,24.8503606,3.9041253,13.1258729,9.8063449,29.983054,18.689863,1.4263893,1.4468637,21.2801959,17.3146883,39.608377,17.7479108,37.1191974,65.7328288,36.5512922,47.2286943,23.8893945,3.6638072,12.5100709,10.4328969,29.9771534,18.0132312,1.3348966,1.3551402,21.1677686,17.2729849,40.7397003,17.262316,37.6539806,65.5924578,35.6482132,47.2137821,23.3394435,3.3571144,13.0213491,10.3644904,29.9981101,17.617422 +1077,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5079017,1.4951269,30.9598766,26.0550773,45.8806579,15.7689085,34.7456908,62.0125505,30.6553516,43.8285757,18.5523355,2.9423448,16.441658,13.1862008,41.6269248,19.4954128,1.6325379,1.6201218,30.1845455,25.6090832,46.8016478,15.238659,34.5714269,61.982762,29.6063585,43.0616537,18.0896224,2.7062228,16.6302888,13.226373,43.4822622,20.9956619,1.5840848,1.5648811,30.3805086,25.5676639,46.9787178,14.5671919,33.6031652,61.5415355,29.4469425,43.3681653,17.4838811,2.3716719,16.5316862,13.1916095,43.0349309,20.299154,1.5331563,1.5133067,30.6825644,26.3827698,48.3045789,14.4538358,32.8989292,61.1881896,28.6153816,42.2782794,17.0656239,2.227869,16.303925,13.1332051,44.518177,19.0789557,1.5412975,1.5348161,31.7690629,27.252684,49.3311726,14.0545942,33.6188503,60.1706639,27.9849704,42.753824,16.8768851,2.2234695,16.641461,13.2503166,44.2855522,17.7824268 +1078,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4601971,0.3947368,7.2064524,4.4425882,54.3832386,11.1320085,30.2653097,67.9720099,31.8099145,43.0583323,17.6176586,14.074144,9.4845719,8.7648737,35.2120164,2.9464275,0.4755447,0.4070097,7.3589246,4.6053893,53.0052062,11.5246897,30.0801372,67.840105,32.5796527,43.9896972,18.3266486,14.3579497,9.6088759,8.7848047,34.7190598,3.1791901,0.4967893,0.4693751,7.5591599,4.781929,52.147908,11.2631605,29.8972011,67.7366176,32.5930876,44.0166783,18.6093824,13.9934085,10.1117103,8.9911475,35.658768,2.9352221,0.5572715,0.521945,7.7720668,4.9752667,52.1934084,11.3420338,29.7713441,67.3941812,32.7380845,43.1311365,18.0555464,14.3329557,10.5351171,9.1601672,36.2495354,2.9467675,0.5971135,0.5715907,7.7027491,5.0054304,51.7118929,11.6583564,30.2901878,66.4653948,32.8857174,42.5829082,17.961422,14.8251606,10.467189,8.9693289,36.4403709,3.1645564 +1079,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1497763,1.2075502,27.3811641,22.9247366,41.3888915,19.84739,38.2686999,67.877734,35.2273867,47.2084855,21.8794923,4.6862485,14.2762904,13.4276405,32.3235901,14.4020347,1.2072856,1.2649548,27.5937243,23.1324923,40.4108048,19.1509282,38.2438191,67.3668076,34.7814157,46.839272,22.228274,4.2353219,14.3771225,14.1477539,33.1710973,15.2775625,1.0267775,1.0835013,27.1135141,22.8499218,41.0220979,19.2331077,37.3249704,68.1513618,34.1508834,46.2375178,22.0636141,3.3877731,14.6475864,13.8271089,32.8561842,14.4123848,1.1647566,1.1694574,27.2235695,22.6517896,41.975643,19.2258024,37.500917,68.1488378,33.8445754,45.4218288,21.7189024,3.1988298,13.9830068,13.6748287,33.4544286,18.8529768,1.3362129,1.3689887,27.9367307,23.5429536,42.3280761,19.0977257,37.3046692,67.9024957,34.207941,46.1688714,21.0333307,3.1873072,12.9843996,12.3314394,33.6529842,19.9452462 +1080,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6233687,0.6876163,9.1150088,5.7875345,47.8804256,17.9761519,32.8760522,69.1196364,39.3977317,48.9129726,24.2160132,4.1162039,10.5170231,10.2898178,32.0815808,4.870133,0.6182022,0.6848014,9.1058641,5.9544859,47.7407726,18.5593891,32.5775699,69.192425,38.9932973,48.7646759,23.8754109,4.111379,10.0373334,10.0446578,31.6366655,6.1290362,0.7406369,0.7956366,9.0067813,5.9259286,46.8830943,18.1570662,32.2055924,68.5624571,38.5697904,48.3358982,23.6102132,3.968512,10.3409976,10.4891395,32.297909,5.3448404,0.786529,0.8385787,9.0078931,5.8918236,47.3714192,17.9563019,31.8921514,67.601244,38.1149005,47.2325583,23.1368853,4.0339805,10.7553628,10.2517876,32.5473003,5.6202965,0.7479014,0.7980709,8.9008058,5.6515619,46.8972442,18.5049828,31.8989055,67.0208389,38.5189387,45.9758067,22.804985,4.0592076,10.4429789,10.4430071,32.5639838,5.8001682 +1081,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6161486,0.6626558,10.6468413,6.6833768,61.8559501,9.5101449,33.7218467,66.142322,40.6342864,44.5254478,23.8857069,4.2809806,11.2521486,9.1552636,41.0445479,5.9973022,0.6195236,0.6806266,10.749759,6.7906266,61.0512653,9.4896693,33.2985852,66.3629038,40.8451154,44.7780696,23.9394659,4.4255345,10.545805,8.7811665,40.4795615,6.2243477,0.6042553,0.6642977,10.6872497,6.7761573,60.1453943,9.4556459,33.4017781,66.5582098,41.0030359,45.1141162,24.099623,4.3258726,10.8662833,9.2030551,40.775481,6.2752994,0.6406159,0.6978042,10.4994312,6.7919469,59.8626835,9.4276799,33.5357509,66.7752739,41.1004716,44.8330485,24.1344559,4.2991946,10.4587405,9.161138,40.9572485,6.2091438,0.6194577,0.6658069,10.6545391,6.9029972,59.2053277,9.5851203,33.6089444,66.9521235,41.3133373,44.7701625,23.8902032,4.2530882,10.0475682,8.8751472,40.4389891,6.2499942 +1082,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5889113,0.5929654,7.3705897,4.9695785,81.7660276,7.3625968,26.4814698,63.4623431,29.4792651,38.4334688,14.8224449,5.5979903,10.0241147,8.5440646,37.4359696,4.824936,0.6189239,0.6146422,7.5661887,5.0534323,80.7782514,7.4366916,26.0470926,63.6081359,29.7789013,38.6986889,15.0488736,5.3649377,10.1481825,8.676956,37.1000834,4.1998232,0.5668017,0.5771639,7.4102689,4.9251925,79.6110657,7.3852059,25.9443042,63.6667623,30.3898615,38.950644,15.2251699,5.2303799,10.1070154,8.7853072,36.5323549,4.5536519,0.5732231,0.5913575,7.3772663,4.9024233,77.8652319,7.5450627,26.2860841,64.2092754,30.9747819,38.8905238,15.498016,5.3598952,9.7099279,8.3891002,35.9427848,4.3457498,0.5829311,0.59707,7.4959171,4.9928083,75.4914846,7.8399332,26.1163848,64.7656926,31.5410218,39.7878124,15.8122852,5.6131441,10.0015416,8.5374936,35.6561466,4.6996124 +1083,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6182022,0.6848014,9.1058641,5.9544859,47.7407726,18.5593891,32.5775699,69.192425,38.9932973,48.7646759,23.8754109,4.111379,10.0373334,10.0446578,31.6366655,6.1290362,0.7406369,0.7956366,9.0067813,5.9259286,46.8830943,18.1570662,32.2055924,68.5624571,38.5697904,48.3358982,23.6102132,3.968512,10.3409976,10.4891395,32.297909,5.3448404,0.786529,0.8385787,9.0078931,5.8918236,47.3714192,17.9563019,31.8921514,67.601244,38.1149005,47.2325583,23.1368853,4.0339805,10.7553628,10.2517876,32.5473003,5.6202965,0.7479014,0.7980709,8.9008058,5.6515619,46.8972442,18.5049828,31.8989055,67.0208389,38.5189387,45.9758067,22.804985,4.0592076,10.4429789,10.4430071,32.5639838,5.8001682,0.6697374,0.7065528,9.0169634,5.5629303,46.2736137,18.9676757,31.567392,67.5579937,38.3616634,43.9456862,22.2839918,4.0531418,9.7115518,9.9792768,32.7454546,5.957666 +1084,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.798581,0.7760308,11.84212,7.6585814,44.7974839,14.9694358,31.7932916,68.9596313,37.2689749,46.3723599,24.05886,4.4147725,11.2990454,11.1637273,41.7006758,5.813967,0.9469519,0.9449689,11.7320323,7.8104616,44.7686103,14.3741703,31.8061871,67.5346234,36.8160701,45.1878857,23.829909,4.3177206,12.018587,11.7529959,41.0000007,4.9242499,1.0152725,1.0822941,12.3781652,8.2845966,43.3110292,15.0227154,32.2909939,67.6431997,37.2942667,46.7742028,24.5885434,4.3778679,12.0800936,12.4677164,40.3246728,3.9855072,1.0758781,1.1677934,12.5923561,8.7130446,42.8342948,14.9938522,31.7724907,66.4047873,36.3607697,46.1030851,24.7328786,4.6825845,12.4211901,12.0581106,39.6333779,5.7432471,1.0365982,1.1165691,11.9416236,7.8915926,41.5893707,15.0476794,30.8277799,67.0420066,36.3663935,47.0176499,25.2282533,4.2909262,12.7935647,12.1906233,40.1863255,3.7671259 +1085,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7406369,0.7956366,9.0067813,5.9259286,46.8830943,18.1570662,32.2055924,68.5624571,38.5697904,48.3358982,23.6102132,3.968512,10.3409976,10.4891395,32.297909,5.3448404,0.786529,0.8385787,9.0078931,5.8918236,47.3714192,17.9563019,31.8921514,67.601244,38.1149005,47.2325583,23.1368853,4.0339805,10.7553628,10.2517876,32.5473003,5.6202965,0.7479014,0.7980709,8.9008058,5.6515619,46.8972442,18.5049828,31.8989055,67.0208389,38.5189387,45.9758067,22.804985,4.0592076,10.4429789,10.4430071,32.5639838,5.8001682,0.6697374,0.7065528,9.0169634,5.5629303,46.2736137,18.9676757,31.567392,67.5579937,38.3616634,43.9456862,22.2839918,4.0531418,9.7115518,9.9792768,32.7454546,5.957666,0.6702865,0.7054957,9.2043294,5.5099388,46.0949933,19.0512095,31.6355548,67.6896179,38.6404918,44.1036449,22.15625,4.1291574,10.0591946,9.9932638,32.5448018,6.5525688 +1086,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3457614,0.3694778,6.7350211,4.3224788,55.870689,18.0636451,28.9111575,67.9441751,35.0432398,42.5904053,18.7696511,7.8812891,9.8108699,8.2478242,36.3888846,3.024196,0.3451831,0.3822889,6.2238034,3.9606048,53.9017437,19.0563002,28.6972441,67.3699238,34.2687331,42.3801614,19.1929477,7.7222475,10.1503768,7.9079505,36.9107691,3.1779688,0.3877573,0.4618314,6.1016258,3.8942117,53.1044457,19.9072214,29.0012228,67.6422352,34.2406756,42.7138664,19.7503037,7.9615247,9.8130858,7.4341559,36.492279,3.086421,0.4832712,0.5315279,6.5270418,4.0870247,52.5569325,20.2310992,29.5950709,67.1496561,34.0809715,42.854301,19.9086923,7.2449408,10.2868869,6.6091965,36.2168851,2.6639366,0.4844245,0.5463029,6.6705541,4.0256682,52.2379462,20.6851338,29.4061582,67.0536697,33.7837725,42.1583537,20.1560686,7.4038844,10.5364001,6.9455114,36.9379825,2.3897076 +1087,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6189239,0.6146422,7.5661887,5.0534323,80.7782514,7.4366916,26.0470926,63.6081359,29.7789013,38.6986889,15.0488736,5.3649377,10.1481825,8.676956,37.1000834,4.1998232,0.5668017,0.5771639,7.4102689,4.9251925,79.6110657,7.3852059,25.9443042,63.6667623,30.3898615,38.950644,15.2251699,5.2303799,10.1070154,8.7853072,36.5323549,4.5536519,0.5732231,0.5913575,7.3772663,4.9024233,77.8652319,7.5450627,26.2860841,64.2092754,30.9747819,38.8905238,15.498016,5.3598952,9.7099279,8.3891002,35.9427848,4.3457498,0.5829311,0.59707,7.4959171,4.9928083,75.4914846,7.8399332,26.1163848,64.7656926,31.5410218,39.7878124,15.8122852,5.6131441,10.0015416,8.5374936,35.6561466,4.6996124,0.5539638,0.5679795,7.4845363,5.0036896,73.4110855,7.8415358,25.8357459,65.2637804,32.0862087,40.1721853,16.2233213,5.8067605,9.9909613,8.5473334,35.4732141,4.1792548 +1088,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4755447,0.4070097,7.3589246,4.6053893,53.0052062,11.5246897,30.0801372,67.840105,32.5796527,43.9896972,18.3266486,14.3579497,9.6088759,8.7848047,34.7190598,3.1791901,0.4967893,0.4693751,7.5591599,4.781929,52.147908,11.2631605,29.8972011,67.7366176,32.5930876,44.0166783,18.6093824,13.9934085,10.1117103,8.9911475,35.658768,2.9352221,0.5572715,0.521945,7.7720668,4.9752667,52.1934084,11.3420338,29.7713441,67.3941812,32.7380845,43.1311365,18.0555464,14.3329557,10.5351171,9.1601672,36.2495354,2.9467675,0.5971135,0.5715907,7.7027491,5.0054304,51.7118929,11.6583564,30.2901878,66.4653948,32.8857174,42.5829082,17.961422,14.8251606,10.467189,8.9693289,36.4403709,3.1645564,0.657075,0.6277064,7.6876495,5.041508,51.0525408,11.7360904,29.5391723,66.3013526,32.8529467,41.9313085,17.9409728,14.9723847,10.5977293,9.0893436,36.9595261,3.6091549 +1089,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5294527,0.5968649,10.3695422,6.4721255,58.8508219,13.8562648,32.3222976,69.9652595,36.1008854,46.8852038,19.9243915,2.9309587,8.8590276,8.1318198,32.8161674,8.9124169,0.4896115,0.55753,10.3276293,6.5221733,57.7314092,13.8046705,31.7882746,69.6505472,35.7553861,46.3412015,19.8663649,2.8057506,8.6417286,8.1395319,32.6777946,9.9112693,0.5181386,0.5860827,10.3591628,6.3007192,56.793069,14.3133955,31.6577187,69.5602666,35.8484636,45.9640691,20.5305293,3.0037112,9.2120994,8.1441616,32.8451037,9.2767552,0.5113578,0.5992106,9.963127,5.9901572,56.0484597,14.5021518,31.7289555,68.8139378,35.5919714,45.7402234,20.4531023,2.8502777,9.5611927,8.5616381,33.5430178,9.1362428,0.5071652,0.576543,9.733676,5.831941,55.3293454,14.4391032,32.8441539,69.1828429,36.2436659,46.2732091,20.6819995,3.0299791,9.3271504,8.2492821,33.0828598,9.0460586 +1090,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5524039,0.4990177,9.7022899,6.8687457,79.0648554,11.0766389,30.2802401,69.3882036,28.9900411,44.5448093,14.2461801,4.2203838,11.8915376,12.6890308,31.0995819,12.1090723,0.4237571,0.3875107,9.3202164,6.5295453,78.9403461,10.6465396,30.0441147,68.522655,29.4928841,45.2591088,14.0940546,4.0242246,12.1490504,12.2595268,31.0522191,9.6151479,0.3476703,0.3541977,9.4512332,6.5818136,78.4506894,10.2344099,29.7900155,68.8098619,29.4215841,44.9336987,14.4988426,3.4819206,12.2580985,11.7747529,31.6792709,6.5889838,0.3726542,0.3693778,9.3523926,6.747487,78.2207275,10.3328856,29.4258868,68.7706375,28.7633803,44.1112062,14.5932735,3.3308615,12.1159446,11.7747243,32.4075191,4.044076,0.4050861,0.4166726,9.8273328,6.81486,78.1495863,10.4552151,29.5269096,69.2436452,29.3033229,44.0202131,14.6237089,3.632617,12.3792688,11.896589,32.9981307,3.0821622 +1091,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3451831,0.3822889,6.2238034,3.9606048,53.9017437,19.0563002,28.6972441,67.3699238,34.2687331,42.3801614,19.1929477,7.7222475,10.1503768,7.9079505,36.9107691,3.1779688,0.3877573,0.4618314,6.1016258,3.8942117,53.1044457,19.9072214,29.0012228,67.6422352,34.2406756,42.7138664,19.7503037,7.9615247,9.8130858,7.4341559,36.492279,3.086421,0.4832712,0.5315279,6.5270418,4.0870247,52.5569325,20.2310992,29.5950709,67.1496561,34.0809715,42.854301,19.9086923,7.2449408,10.2868869,6.6091965,36.2168851,2.6639366,0.4844245,0.5463029,6.6705541,4.0256682,52.2379462,20.6851338,29.4061582,67.0536697,33.7837725,42.1583537,20.1560686,7.4038844,10.5364001,6.9455114,36.9379825,2.3897076,0.4690531,0.5336904,7.0198416,4.0621468,51.796295,20.4018785,29.1160133,67.6058861,34.3462176,41.3443783,19.8710895,7.8637227,11.0822865,7.2436871,36.5643747,1.5901071 +1092,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8272616,0.8848723,12.6000794,8.2276102,40.5697638,19.6663739,37.4151434,68.9027935,40.5062571,50.9341153,24.3376441,3.9911582,10.4206201,11.0223523,33.0888411,7.1838048,0.8105098,0.8873004,12.7930845,8.4528989,39.4677738,19.5598895,37.9537947,68.9856945,40.6229175,50.3380878,23.7900343,3.7900265,10.3597323,10.5736943,32.2980709,7.5756428,0.8262651,0.8949188,12.4263357,7.787181,37.7569208,20.4780824,38.6872942,69.4276877,41.9035428,51.3274908,24.0276163,3.9079979,9.4197618,10.4226349,31.4295942,6.3253164,0.7589344,0.7891795,11.8686577,7.4009215,37.068855,21.3922895,38.5206162,70.0787506,42.5443848,50.9860635,23.3332601,3.8855953,9.0170166,9.860778,30.3959458,5.5555701,0.8398832,0.8762087,11.0635484,7.0293341,35.5800594,21.1881134,38.0961421,70.0040489,43.811738,52.1175374,24.0747962,3.8856836,9.0191121,10.0913389,30.29163,4.7101586 +1093,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7041922,0.7073324,7.9746835,5.1392405,57.0292458,19.1729323,31.9078947,68.1933198,33.0718623,45.1163968,18.8512146,5.1366397,10.1735776,8.9458414,33.2521908,2.238806,0.6773137,0.6805897,7.6086957,4.8515376,56.7502668,18.4635417,31.6412415,67.8853235,33.1667543,44.5817991,18.1746449,4.918464,10.2985075,8.8235294,33.7525151,2.5139665,0.6871131,0.6734659,6.8936877,3.9036545,55.0696379,19.0928843,30.9484649,67.2971491,32.6480263,45.2576754,18.558114,5.0164474,9.8150051,8.281893,33.4543568,2.7607362,0.7276995,0.7132539,6.5114909,3.8597525,53.5,19.5002872,30.887471,66.7923434,32.4535963,45.562645,18.6484919,5.24942,9.5733042,7.8485181,32.7986726,3.0612245,0.7121383,0.6971064,6.4189189,4.0233415,51.7083588,19.8626045,30.9753161,66.9175196,33.2028898,46.0264901,18.9945816,5.0872968,8.2946636,7.2759022,31.6686251,1.8939394 +1094,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2072707,1.3597221,27.7231909,22.8288365,50.9699265,15.1604978,40.292536,64.4878869,35.1128522,46.5220991,23.3100621,3.3770104,12.414288,9.6180848,30.0549964,23.5052589,1.2936075,1.4530684,27.4700896,22.3717226,51.3605675,15.7378752,39.452612,65.804722,35.3508361,46.6446963,22.9638534,3.2513733,12.1637874,9.1502222,30.4075944,23.7270441,1.2993256,1.4167804,27.1519193,22.0121964,51.1943203,15.0778313,39.4920733,64.1321714,34.1439989,46.0175984,23.0267604,3.1230193,12.1163975,9.7079908,31.0606369,21.8500726,1.1162458,1.253681,26.0016573,20.9262967,49.7998024,15.1821206,39.9388083,63.9122006,35.4670483,45.9191368,23.5952844,3.3610987,11.9899966,10.1807597,31.3788113,21.9877266,1.2867626,1.5014909,26.1129655,21.322272,48.5707371,16.1909272,40.8428232,64.1034123,37.4547847,47.771952,24.5302813,3.8868795,10.7733246,9.7035398,31.6020205,22.57099 +1095,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5668017,0.5771639,7.4102689,4.9251925,79.6110657,7.3852059,25.9443042,63.6667623,30.3898615,38.950644,15.2251699,5.2303799,10.1070154,8.7853072,36.5323549,4.5536519,0.5732231,0.5913575,7.3772663,4.9024233,77.8652319,7.5450627,26.2860841,64.2092754,30.9747819,38.8905238,15.498016,5.3598952,9.7099279,8.3891002,35.9427848,4.3457498,0.5829311,0.59707,7.4959171,4.9928083,75.4914846,7.8399332,26.1163848,64.7656926,31.5410218,39.7878124,15.8122852,5.6131441,10.0015416,8.5374936,35.6561466,4.6996124,0.5539638,0.5679795,7.4845363,5.0036896,73.4110855,7.8415358,25.8357459,65.2637804,32.0862087,40.1721853,16.2233213,5.8067605,9.9909613,8.5473334,35.4732141,4.1792548,0.5773599,0.5732945,7.5552437,5.0028716,71.1333796,8.2244997,25.6238703,65.7222378,32.8306379,40.5092171,16.3181446,5.8870051,10.1678363,8.7320004,35.0098284,4.5693277 +1096,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.953448,1.953448,33.1602374,28.4124629,60.719755,6.8382353,34.6439169,64.0207715,26.9287834,40.727003,16.5430267,5.7121662,16.8128655,12.6822157,37.3546512,12.6470588,1.6123407,1.6123407,33.1586826,29.1167665,60.4166667,7.1533923,35.5341246,64.0207715,26.3353116,41.4688427,16.3946588,5.8605341,16.7673716,13.3633634,37.5748503,11.746988,1.7519841,1.7519841,34.0472674,29.9113737,61.7692308,6.3689605,36.3970588,62.2794118,26.6911765,40.8088235,15.8088235,5.6617647,16.9161677,12.9464286,40.2077151,13.4375,1.8271222,1.8271222,34.9563953,30.8866279,62.6315789,5.8357349,36.5942029,62.6811594,26.4492754,40.942029,15,5.1449275,16.4156627,11.8618619,40.2694611,14.5833333,1.9870188,1.9870188,35.3151862,30.730659,62.2938531,5.387931,35.6213873,63.2225434,26.2283237,41.2572254,15.2456647,4.6965318,16.3663664,12.1257485,41.641791,14.5833333 +1097,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6123407,1.6123407,33.1586826,29.1167665,60.4166667,7.1533923,35.5341246,64.0207715,26.3353116,41.4688427,16.3946588,5.8605341,16.7673716,13.3633634,37.5748503,11.746988,1.7519841,1.7519841,34.0472674,29.9113737,61.7692308,6.3689605,36.3970588,62.2794118,26.6911765,40.8088235,15.8088235,5.6617647,16.9161677,12.9464286,40.2077151,13.4375,1.8271222,1.8271222,34.9563953,30.8866279,62.6315789,5.8357349,36.5942029,62.6811594,26.4492754,40.942029,15,5.1449275,16.4156627,11.8618619,40.2694611,14.5833333,1.9870188,1.9870188,35.3151862,30.730659,62.2938531,5.387931,35.6213873,63.2225434,26.2283237,41.2572254,15.2456647,4.6965318,16.3663664,12.1257485,41.641791,14.5833333,1.926055,1.926055,34.5545977,29.9568966,63.9183056,5.8357349,33.6482558,64.3168605,26.9622093,41.6424419,15.4796512,5.7412791,15.1651652,11.2275449,39.8507463,14.0718563 +1098,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.467183,0.4546575,7.8648666,5.0947488,56.1823055,16.9517736,32.1498744,66.8333891,35.7740261,46.8596249,21.3922602,6.6333215,8.9837772,7.8632741,31.8588153,3.7553847,0.491626,0.501704,7.7029642,4.9256506,55.0813383,17.3738506,32.6818342,67.4501038,36.5578059,47.0146755,21.878608,6.5561593,9.1429484,7.7936161,32.3630179,3.3769259,0.491267,0.5055273,7.482343,4.711104,53.8679762,17.7779626,32.7326532,67.5549881,36.8104903,47.1488988,21.7005088,6.5566829,9.086576,7.5071761,32.1657176,3.1395552,0.558347,0.5895171,7.8064372,4.8559712,52.239748,18.0854804,32.5410827,67.6709635,36.9234837,47.4200383,21.7794672,6.9181826,9.3540903,8.0515606,32.9473056,3.9473876,0.6488578,0.6812773,8.0273698,4.9406208,51.7584711,18.4272722,32.5229353,67.8990794,36.834865,47.2935792,21.4403661,7.3669715,9.7232025,8.5318921,33.7495732,3.4264161 +1099,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6125354,0.6277251,11.1934583,7.5191251,38.2246639,13.2753393,31.5775562,67.4568833,39.3720305,47.8588255,21.121931,6.2308664,9.322245,8.739143,33.294855,8.4375053,0.5588727,0.5747668,11.0253106,7.8071118,36.2306463,12.8488544,31.0222132,67.2385381,39.6735607,48.1204728,21.7252104,6.1238448,9.037775,8.9665499,32.9520225,6.9343116,0.6029121,0.6078237,10.9278624,7.8354654,35.3820757,13.1965852,31.73076,67.7600074,39.9454725,48.0730881,21.4849809,6.2447983,8.3750042,8.7156094,32.5396145,6.7857191,0.5591007,0.5642918,10.9411347,7.8785047,35.5159816,13.6352457,32.2492452,68.0183967,39.736039,48.4754158,21.2674314,6.3425448,8.1283079,9.1029264,32.4954475,7.0895575,0.5729715,0.5871146,10.3829527,7.2564006,34.7031899,13.3681146,32.6328717,68.8759518,41.3635703,49.3379696,21.6367622,6.253139,8.4646332,8.9271912,31.3059183,5.1181143 +1100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7537887,0.8105316,8.4443585,5.3013289,18.873783,20.1603726,32.2038476,70.6748122,39.0039942,53.4079287,23.1013091,5.2800961,9.2245171,8.2329682,26.479791,5.371377,0.8399733,0.8572976,8.5859141,5.1955384,18.884661,20.0274608,32.6473656,70.5892453,40.5552916,52.6091125,23.2174987,5.4717745,9.8239408,8.4234439,26.633034,5.1176347,0.7727387,0.7899944,8.5256903,5.3109118,19.6654932,19.1897246,32.5609093,70.6336416,40.0590311,52.1931561,22.8044711,5.2251218,9.7058403,8.7896092,25.3231622,5.1582389,0.8787894,0.9333712,9.2039397,5.8100016,20.0699365,18.3449875,32.6697236,69.8903954,39.1624055,51.26355,22.8156513,5.0678172,9.6740067,8.4586647,25.7584524,6.7987164,0.921487,0.9758221,9.1309917,5.8035557,20.383741,17.8815296,32.7408534,68.487877,38.6675965,50.4387022,22.6829569,5.3475705,10.1891447,8.6865917,26.0297686,6.8535509 +1101,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.786529,0.8385787,9.0078931,5.8918236,47.3714192,17.9563019,31.8921514,67.601244,38.1149005,47.2325583,23.1368853,4.0339805,10.7553628,10.2517876,32.5473003,5.6202965,0.7479014,0.7980709,8.9008058,5.6515619,46.8972442,18.5049828,31.8989055,67.0208389,38.5189387,45.9758067,22.804985,4.0592076,10.4429789,10.4430071,32.5639838,5.8001682,0.6697374,0.7065528,9.0169634,5.5629303,46.2736137,18.9676757,31.567392,67.5579937,38.3616634,43.9456862,22.2839918,4.0531418,9.7115518,9.9792768,32.7454546,5.957666,0.6702865,0.7054957,9.2043294,5.5099388,46.0949933,19.0512095,31.6355548,67.6896179,38.6404918,44.1036449,22.15625,4.1291574,10.0591946,9.9932638,32.5448018,6.5525688,0.6479025,0.6535731,8.6425283,4.9924034,46.0184892,19.2013028,32.232739,67.9207856,38.4671854,43.504385,22.4048721,4.0693934,9.8548398,9.0420391,32.9406268,7.2361346 +1102,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6239468,0.6106685,9.9188057,6.8771191,51.0190414,10.059629,28.8906212,70.5673299,40.8275122,42.814985,21.3502744,4.7398205,9.9792795,8.2468303,36.4469715,5.6349206,0.6418322,0.6342002,9.9220544,6.8042408,50.3145943,10.3220532,28.3562094,70.5123312,40.9801683,43.2557811,21.2242553,4.9008378,10.2088428,8.429734,36.5898935,5.4991549,0.6273955,0.6153607,10.0296383,6.8638008,49.0155404,10.3581745,28.2369272,70.6487135,41.9806308,44.6205859,21.0864941,4.9681604,10.6928847,8.8005248,36.2123157,5.4270463,0.6136677,0.5936626,10.1186285,7.0682101,47.897462,10.4069635,28.0024896,70.7230941,42.4366247,45.2486489,21.436488,4.9383577,10.4224142,8.7082566,35.4241959,5.9659091,0.568586,0.5627075,9.7396007,6.9173703,46.9204243,10.9692461,28.2320169,70.5978932,43.2291655,46.1401274,21.8964057,5.1013131,10.0575508,8.4626463,34.9231593,5.9921415 +1103,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8105098,0.8873004,12.7930845,8.4528989,39.4677738,19.5598895,37.9537947,68.9856945,40.6229175,50.3380878,23.7900343,3.7900265,10.3597323,10.5736943,32.2980709,7.5756428,0.8262651,0.8949188,12.4263357,7.787181,37.7569208,20.4780824,38.6872942,69.4276877,41.9035428,51.3274908,24.0276163,3.9079979,9.4197618,10.4226349,31.4295942,6.3253164,0.7589344,0.7891795,11.8686577,7.4009215,37.068855,21.3922895,38.5206162,70.0787506,42.5443848,50.9860635,23.3332601,3.8855953,9.0170166,9.860778,30.3959458,5.5555701,0.8398832,0.8762087,11.0635484,7.0293341,35.5800594,21.1881134,38.0961421,70.0040489,43.811738,52.1175374,24.0747962,3.8856836,9.0191121,10.0913389,30.29163,4.7101586,0.6778696,0.7361998,9.9396184,6.3604977,35.1156042,21.0088802,37.7051786,70.0301681,44.230829,52.8305179,24.6542452,3.8677533,9.5052013,9.9133957,29.8955056,4.0441206 +1104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6195236,0.6806266,10.749759,6.7906266,61.0512653,9.4896693,33.2985852,66.3629038,40.8451154,44.7780696,23.9394659,4.4255345,10.545805,8.7811665,40.4795615,6.2243477,0.6042553,0.6642977,10.6872497,6.7761573,60.1453943,9.4556459,33.4017781,66.5582098,41.0030359,45.1141162,24.099623,4.3258726,10.8662833,9.2030551,40.775481,6.2752994,0.6406159,0.6978042,10.4994312,6.7919469,59.8626835,9.4276799,33.5357509,66.7752739,41.1004716,44.8330485,24.1344559,4.2991946,10.4587405,9.161138,40.9572485,6.2091438,0.6194577,0.6658069,10.6545391,6.9029972,59.2053277,9.5851203,33.6089444,66.9521235,41.3133373,44.7701625,23.8902032,4.2530882,10.0475682,8.8751472,40.4389891,6.2499942,0.7475454,0.8010601,11.0721866,7.0819339,57.9353824,9.7572167,34.0602168,66.9671391,41.2116911,44.9788297,24.0985067,4.306022,10.1670679,9.0433429,40.6142683,6.4666615 +1105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.4967893,0.4693751,7.5591599,4.781929,52.147908,11.2631605,29.8972011,67.7366176,32.5930876,44.0166783,18.6093824,13.9934085,10.1117103,8.9911475,35.658768,2.9352221,0.5572715,0.521945,7.7720668,4.9752667,52.1934084,11.3420338,29.7713441,67.3941812,32.7380845,43.1311365,18.0555464,14.3329557,10.5351171,9.1601672,36.2495354,2.9467675,0.5971135,0.5715907,7.7027491,5.0054304,51.7118929,11.6583564,30.2901878,66.4653948,32.8857174,42.5829082,17.961422,14.8251606,10.467189,8.9693289,36.4403709,3.1645564,0.657075,0.6277064,7.6876495,5.041508,51.0525408,11.7360904,29.5391723,66.3013526,32.8529467,41.9313085,17.9409728,14.9723847,10.5977293,9.0893436,36.9595261,3.6091549,0.6036969,0.5600509,8.0029966,5.4047304,49.4524933,11.7389874,29.7245352,66.3689588,33.2136906,42.3121934,17.9883145,15.2003344,10.5166025,8.9765073,36.9337347,3.2627872 +1106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6042553,0.6642977,10.6872497,6.7761573,60.1453943,9.4556459,33.4017781,66.5582098,41.0030359,45.1141162,24.099623,4.3258726,10.8662833,9.2030551,40.775481,6.2752994,0.6406159,0.6978042,10.4994312,6.7919469,59.8626835,9.4276799,33.5357509,66.7752739,41.1004716,44.8330485,24.1344559,4.2991946,10.4587405,9.161138,40.9572485,6.2091438,0.6194577,0.6658069,10.6545391,6.9029972,59.2053277,9.5851203,33.6089444,66.9521235,41.3133373,44.7701625,23.8902032,4.2530882,10.0475682,8.8751472,40.4389891,6.2499942,0.7475454,0.8010601,11.0721866,7.0819339,57.9353824,9.7572167,34.0602168,66.9671391,41.2116911,44.9788297,24.0985067,4.306022,10.1670679,9.0433429,40.6142683,6.4666615,0.7831158,0.8136232,11.0195756,6.9992693,57.4914489,9.9898882,33.8070502,67.1882928,41.1954557,44.7767757,24.2739753,4.3766426,10.0736684,9.4234968,41.2368625,6.4802112 +1107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5555431,0.6130556,8.0264818,5.3703362,47.119466,18.3958456,30.2688495,69.4920351,36.8802285,45.405032,19.8955943,4.5151222,10.1958882,8.5318593,30.2134278,3.2915498,0.5971617,0.6416654,7.9946083,5.3782499,46.8393682,18.3364195,30.8673906,68.922773,36.8529457,45.0071336,20.2588088,4.6711231,9.5361744,8.4449352,30.9621361,2.6148284,0.6019277,0.6364682,7.6725898,5.2571428,46.1177976,18.5478496,30.2516462,68.5996431,37.0579636,45.2107283,20.6116517,4.5915817,9.3374409,8.6436358,30.940974,3.0039062,0.5486675,0.5688132,7.8713827,5.1737385,44.6092175,18.4416141,30.1439644,67.9515598,36.2674474,45.2250954,20.4938588,4.7158485,9.8266699,8.6929439,30.85306,2.8535511,0.5559075,0.5710776,8.0068259,5.2174572,43.5980053,18.3070835,30.6125718,67.9482195,36.0108878,45.3519483,19.9729284,4.9404957,9.8628393,8.9774452,31.7954772,3.2711562 +1108,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7479014,0.7980709,8.9008058,5.6515619,46.8972442,18.5049828,31.8989055,67.0208389,38.5189387,45.9758067,22.804985,4.0592076,10.4429789,10.4430071,32.5639838,5.8001682,0.6697374,0.7065528,9.0169634,5.5629303,46.2736137,18.9676757,31.567392,67.5579937,38.3616634,43.9456862,22.2839918,4.0531418,9.7115518,9.9792768,32.7454546,5.957666,0.6702865,0.7054957,9.2043294,5.5099388,46.0949933,19.0512095,31.6355548,67.6896179,38.6404918,44.1036449,22.15625,4.1291574,10.0591946,9.9932638,32.5448018,6.5525688,0.6479025,0.6535731,8.6425283,4.9924034,46.0184892,19.2013028,32.232739,67.9207856,38.4671854,43.504385,22.4048721,4.0693934,9.8548398,9.0420391,32.9406268,7.2361346,0.7293381,0.728042,8.9615159,5.1480329,45.4562788,19.1780866,31.7171203,68.1627013,38.7719049,43.7557301,22.2606402,4.3380241,9.8894331,8.8431263,32.8489981,7.2607385 +1109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7767864,0.7756935,9.170566,5.38552,30.1417724,17.7000731,34.8851185,69.7820754,41.0447238,51.3030345,24.0345975,4.4657748,12.1247094,10.1152027,31.7022402,6.8396259,0.8071931,0.8136664,9.12088,5.3601959,29.4346884,17.9515643,34.0317547,69.8363833,40.8752289,50.9422564,24.0143925,4.4507862,11.2064743,9.823612,31.4349152,6.127451,0.7286693,0.723634,8.701554,5.0481366,28.5330879,17.8056651,34.1509581,69.6729471,40.9937072,50.7295644,24.2138381,4.4654118,10.421907,9.4892379,30.9379797,6.3451809,0.7211805,0.6939315,8.616592,5.1461858,28.7071269,17.7083293,34.1123866,69.0118566,41.0632048,50.5328247,24.4490226,4.541055,10.1061456,9.5089174,30.5326937,5.841116,0.6792231,0.6482219,8.7273178,5.2991287,28.3012189,17.650368,34.5240979,68.9910993,41.189229,50.1597956,24.4807268,4.4396339,10.353555,10.0321552,30.8599082,7.3008753 +1110,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2822238,1.287401,21.233538,17.0185782,38.4696077,18.1826817,37.3739966,67.273998,37.5085693,48.11269,24.9010292,4.0635905,13.3021934,9.4500081,30.5403079,16.5461458,1.3900203,1.3952041,21.2129761,17.2980295,38.9536689,18.0785641,37.3483187,66.7056093,37.6157038,47.7397922,24.8503606,3.9041253,13.1258729,9.8063449,29.983054,18.689863,1.4263893,1.4468637,21.2801959,17.3146883,39.608377,17.7479108,37.1191974,65.7328288,36.5512922,47.2286943,23.8893945,3.6638072,12.5100709,10.4328969,29.9771534,18.0132312,1.3348966,1.3551402,21.1677686,17.2729849,40.7397003,17.262316,37.6539806,65.5924578,35.6482132,47.2137821,23.3394435,3.3571144,13.0213491,10.3644904,29.9981101,17.617422,1.3350183,1.3476784,20.7274738,16.9069521,40.6272765,16.6407516,37.1807886,64.9945131,35.7258814,47.3490778,23.0931733,3.7359077,12.4358841,9.9626712,29.6424731,18.2593578 +1111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4237571,0.3875107,9.3202164,6.5295453,78.9403461,10.6465396,30.0441147,68.522655,29.4928841,45.2591088,14.0940546,4.0242246,12.1490504,12.2595268,31.0522191,9.6151479,0.3476703,0.3541977,9.4512332,6.5818136,78.4506894,10.2344099,29.7900155,68.8098619,29.4215841,44.9336987,14.4988426,3.4819206,12.2580985,11.7747529,31.6792709,6.5889838,0.3726542,0.3693778,9.3523926,6.747487,78.2207275,10.3328856,29.4258868,68.7706375,28.7633803,44.1112062,14.5932735,3.3308615,12.1159446,11.7747243,32.4075191,4.044076,0.4050861,0.4166726,9.8273328,6.81486,78.1495863,10.4552151,29.5269096,69.2436452,29.3033229,44.0202131,14.6237089,3.632617,12.3792688,11.896589,32.9981307,3.0821622,0.5169653,0.5112083,9.4881437,6.4533904,77.5672908,10.5543185,29.2715347,68.8424319,29.7523042,44.3232643,14.8483657,3.7536721,12.189235,12.1201748,33.8564138,2.3026255 +1112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.2783721,0.2783721,7.9090408,4.6915041,63.7027955,13.6443149,27.0658866,61.4286099,34.8498119,40.2558089,16.3099721,3.3036637,11.7547971,9.9408136,36.2675436,1.8603433,0.3126106,0.3126106,7.7932854,4.636212,63.8045582,13.1523195,26.7456018,62.5338005,34.8566863,39.9396886,16.3421483,3.1815098,11.3559831,9.7579421,35.7817762,1.8742906,0.2856543,0.2856543,7.9954241,5.0947654,63.9863969,13.1496431,26.6264896,63.1864928,34.0269117,38.9379309,16.3276176,3.1606708,11.127433,9.8758091,35.9738711,1.9785697,0.4051585,0.4051585,7.9526844,5.3147286,62.5447234,12.6173499,26.26116,64.8327472,32.8345376,38.4144682,16.1814393,3.3694896,10.1581638,9.9169069,36.7723753,1.2567666,0.3777188,0.3777188,7.602611,5.2445906,61.58704,12.8016488,26.9605488,64.6474015,32.9220685,39.7857409,16.2960044,3.1881278,9.1198134,9.3339439,35.1707724,2.3956004 +1113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5572715,0.521945,7.7720668,4.9752667,52.1934084,11.3420338,29.7713441,67.3941812,32.7380845,43.1311365,18.0555464,14.3329557,10.5351171,9.1601672,36.2495354,2.9467675,0.5971135,0.5715907,7.7027491,5.0054304,51.7118929,11.6583564,30.2901878,66.4653948,32.8857174,42.5829082,17.961422,14.8251606,10.467189,8.9693289,36.4403709,3.1645564,0.657075,0.6277064,7.6876495,5.041508,51.0525408,11.7360904,29.5391723,66.3013526,32.8529467,41.9313085,17.9409728,14.9723847,10.5977293,9.0893436,36.9595261,3.6091549,0.6036969,0.5600509,8.0029966,5.4047304,49.4524933,11.7389874,29.7245352,66.3689588,33.2136906,42.3121934,17.9883145,15.2003344,10.5166025,8.9765073,36.9337347,3.2627872,0.6239311,0.5972492,7.9074491,5.2274882,48.9868586,11.9080778,30.122271,66.0056535,32.8970084,41.7071697,17.6751855,15.6842763,10.2796307,9.1732935,37.2313098,3.0782035 +1114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9469519,0.9449689,11.7320323,7.8104616,44.7686103,14.3741703,31.8061871,67.5346234,36.8160701,45.1878857,23.829909,4.3177206,12.018587,11.7529959,41.0000007,4.9242499,1.0152725,1.0822941,12.3781652,8.2845966,43.3110292,15.0227154,32.2909939,67.6431997,37.2942667,46.7742028,24.5885434,4.3778679,12.0800936,12.4677164,40.3246728,3.9855072,1.0758781,1.1677934,12.5923561,8.7130446,42.8342948,14.9938522,31.7724907,66.4047873,36.3607697,46.1030851,24.7328786,4.6825845,12.4211901,12.0581106,39.6333779,5.7432471,1.0365982,1.1165691,11.9416236,7.8915926,41.5893707,15.0476794,30.8277799,67.0420066,36.3663935,47.0176499,25.2282533,4.2909262,12.7935647,12.1906233,40.1863255,3.7671259,0.8846185,0.9782222,12.6628726,8.4702361,41.380344,14.4362179,31.3845601,67.7428858,36.1547247,47.3822039,24.7527777,3.6940094,12.9739264,12.7672492,38.5577969,4.8701362 +1115,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.748481,0.7343712,8.8365819,5.8739193,50.6605785,14.8536208,27.6125906,67.257026,40.2052055,45.9711145,20.6163512,4.5613869,10.7979651,9.5386987,34.0936981,8.2417784,0.6764405,0.7145174,8.5479124,5.5410934,49.7869085,14.7712991,26.6649503,67.7584081,40.8977077,45.6869303,21.4070628,4.2270095,10.6635655,9.624889,33.5181225,7.051722,0.6559287,0.6957796,8.4522407,5.5572222,48.8123335,15.189667,26.7295847,67.8845368,41.607279,45.8688293,21.5883251,4.8863816,11.3178096,10.3027402,32.5097642,6.0326558,0.6547048,0.6810007,8.5194267,5.4873145,48.9998095,15.1860221,26.9360831,68.4744001,41.1696953,46.0646537,21.5107361,5.001681,11.8306229,9.9497265,32.7406013,8.3389037,0.6574024,0.7021836,8.6378871,5.8952369,48.1606274,14.5519891,26.8582976,68.3426468,41.0126376,46.0253079,21.902176,4.907659,11.2437592,9.9112539,32.7346566,6.7785756 +1116,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5732231,0.5913575,7.3772663,4.9024233,77.8652319,7.5450627,26.2860841,64.2092754,30.9747819,38.8905238,15.498016,5.3598952,9.7099279,8.3891002,35.9427848,4.3457498,0.5829311,0.59707,7.4959171,4.9928083,75.4914846,7.8399332,26.1163848,64.7656926,31.5410218,39.7878124,15.8122852,5.6131441,10.0015416,8.5374936,35.6561466,4.6996124,0.5539638,0.5679795,7.4845363,5.0036896,73.4110855,7.8415358,25.8357459,65.2637804,32.0862087,40.1721853,16.2233213,5.8067605,9.9909613,8.5473334,35.4732141,4.1792548,0.5773599,0.5732945,7.5552437,5.0028716,71.1333796,8.2244997,25.6238703,65.7222378,32.8306379,40.5092171,16.3181446,5.8870051,10.1678363,8.7320004,35.0098284,4.5693277,0.6077662,0.5930191,7.4387969,4.8747325,68.8695372,8.4811346,25.4740936,65.8362674,33.1230894,40.6746981,16.3614194,6.1794713,9.9597018,8.5333327,34.6816327,4.3049793 +1117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9144797,0.9408907,19.2833782,15.9732542,82.6937876,14.4562367,35.1127681,66.0473532,34.3712019,39.2986512,16.7693622,4.5008386,15.0381747,10.7977569,39.7764025,11.3418348,1.042731,1.0693823,18.669495,15.269162,82.3329164,14.775733,34.6165871,66.2715578,33.9776876,38.1051329,16.8287803,4.563443,13.8104228,10.8744503,38.9181702,14.7388453,1.0924826,1.0924826,19.0243316,15.7103091,83.1309841,15.3408058,33.741608,66.3315991,33.8574602,37.4370421,17.000696,4.2431396,13.4619623,11.5350833,38.8757372,14.0260761,1.0381004,1.0381004,19.4226751,15.9940907,82.8611203,15.7925721,33.6420971,66.540821,34.9608616,37.0300795,17.6055523,4.5113177,14.3937387,12.8598807,39.042456,13.8401588,1.2716089,1.2982915,19.050942,15.6541107,82.5618167,15.3418334,33.1424825,66.1120532,35.0020049,37.5632267,17.7137328,4.4527399,14.0945293,13.0077475,40.17773,13.9380994 +1118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9609866,0.9787613,13.527594,9.6076442,38.9434105,16.4159965,37.9192661,68.2898216,39.6123146,50.2698509,24.21229,4.3607911,13.3877867,11.4477867,33.5277871,11.8182281,1.207607,1.2252761,13.9694854,10.0031303,38.0259241,15.7819126,37.9732972,68.5717952,40.2534169,50.4986561,24.1392129,4.2508718,13.1898898,11.7385954,33.6144484,11.7143295,1.1565848,1.1632348,13.7906556,9.7501578,36.7274392,15.8879108,37.0667329,68.9004516,39.8053987,50.320241,24.2824717,4.1737828,13.3966795,11.8720783,33.952347,13.1902292,1.0826915,1.0895584,14.0799924,10.0105001,36.3216696,16.0317758,36.3426424,68.6988603,40.1737669,50.8470215,25.2686579,4.3611202,13.7716704,12.0958852,34.6607051,10.1852343,1.1940549,1.2011812,14.2281639,10.0223183,36.244457,16.3358065,35.3039006,68.7183122,40.6712784,51.0924634,24.7720571,4.3866495,13.867282,12.1551867,34.2706003,10.2941583 +1119,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0562786,1.1140663,22.9286886,18.9401398,49.776514,18.4940772,37.9269935,66.5546841,35.7461858,46.8483865,21.3121753,3.1125576,14.8753421,12.1683611,36.5305728,10.7394128,1.2529241,1.3077518,23.3891825,19.5326872,50.208439,18.5109134,37.6589654,65.9963493,34.8957394,45.8198276,21.0923906,3.1059907,14.8098635,12.3550469,37.8134428,12.2837455,1.2284668,1.2871188,23.6223793,19.7547094,50.3345571,18.2303463,38.0065448,65.7482707,34.0058024,45.8809658,20.5836777,2.8764051,15.0618591,12.4166175,38.0986987,13.2978771,1.276951,1.3170708,24.0164274,20.2102836,51.2788392,17.7305585,39.1116052,65.9758111,33.7359493,46.8229233,20.529376,2.8097079,15.6376548,12.4788142,37.0276326,13.1119019,1.2486357,1.2634711,24.1777269,20.2977189,51.4674326,17.4877226,39.7673997,65.3199453,34.5148498,46.9864079,20.6123497,2.8917075,15.463982,12.3131306,35.9965422,14.403983 +1120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.3126106,0.3126106,7.7932854,4.636212,63.8045582,13.1523195,26.7456018,62.5338005,34.8566863,39.9396886,16.3421483,3.1815098,11.3559831,9.7579421,35.7817762,1.8742906,0.2856543,0.2856543,7.9954241,5.0947654,63.9863969,13.1496431,26.6264896,63.1864928,34.0269117,38.9379309,16.3276176,3.1606708,11.127433,9.8758091,35.9738711,1.9785697,0.4051585,0.4051585,7.9526844,5.3147286,62.5447234,12.6173499,26.26116,64.8327472,32.8345376,38.4144682,16.1814393,3.3694896,10.1581638,9.9169069,36.7723753,1.2567666,0.3777188,0.3777188,7.602611,5.2445906,61.58704,12.8016488,26.9605488,64.6474015,32.9220685,39.7857409,16.2960044,3.1881278,9.1198134,9.3339439,35.1707724,2.3956004,0.3411674,0.3411674,7.3842646,5.274482,60.5012503,12.0431077,26.9369415,66.6687094,33.6589141,41.9949208,15.9935499,3.4930543,9.2401574,9.5986895,34.5451588,1.479867 +1121,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8262651,0.8949188,12.4263357,7.787181,37.7569208,20.4780824,38.6872942,69.4276877,41.9035428,51.3274908,24.0276163,3.9079979,9.4197618,10.4226349,31.4295942,6.3253164,0.7589344,0.7891795,11.8686577,7.4009215,37.068855,21.3922895,38.5206162,70.0787506,42.5443848,50.9860635,23.3332601,3.8855953,9.0170166,9.860778,30.3959458,5.5555701,0.8398832,0.8762087,11.0635484,7.0293341,35.5800594,21.1881134,38.0961421,70.0040489,43.811738,52.1175374,24.0747962,3.8856836,9.0191121,10.0913389,30.29163,4.7101586,0.6778696,0.7361998,9.9396184,6.3604977,35.1156042,21.0088802,37.7051786,70.0301681,44.230829,52.8305179,24.6542452,3.8677533,9.5052013,9.9133957,29.8955056,4.0441206,0.7117075,0.7698065,9.9742694,6.4135741,34.8721038,20.8333055,36.92667,69.7599833,43.6562465,52.7861148,24.2391716,3.8791261,9.8877288,9.5340733,30.4856288,4.1984765 +1122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3476703,0.3541977,9.4512332,6.5818136,78.4506894,10.2344099,29.7900155,68.8098619,29.4215841,44.9336987,14.4988426,3.4819206,12.2580985,11.7747529,31.6792709,6.5889838,0.3726542,0.3693778,9.3523926,6.747487,78.2207275,10.3328856,29.4258868,68.7706375,28.7633803,44.1112062,14.5932735,3.3308615,12.1159446,11.7747243,32.4075191,4.044076,0.4050861,0.4166726,9.8273328,6.81486,78.1495863,10.4552151,29.5269096,69.2436452,29.3033229,44.0202131,14.6237089,3.632617,12.3792688,11.896589,32.9981307,3.0821622,0.5169653,0.5112083,9.4881437,6.4533904,77.5672908,10.5543185,29.2715347,68.8424319,29.7523042,44.3232643,14.8483657,3.7536721,12.189235,12.1201748,33.8564138,2.3026255,0.4509225,0.445089,9.2036686,6.2406857,76.0127398,11.0308352,29.1885174,68.8668742,29.9739007,43.3246435,15.1270989,4.0201659,12.8392724,12.552105,33.9536969,2.9411688 +1123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4837941,0.5179786,10.1768189,6.8660608,47.4639205,15.179935,33.7514484,69.6835208,39.5793032,45.5229742,22.6360433,2.9525302,7.6671685,7.3411279,31.3416385,4.166656,0.3786541,0.4074621,9.5559833,6.428568,47.0860266,15.4405928,33.7773423,70.278329,39.5029729,45.8250603,23.0417428,3.1610358,7.8571664,6.8301906,31.525042,3.571417,0.4235734,0.4598053,9.6107574,6.4406066,45.6276192,17.6434366,33.877635,70.463003,40.615936,46.2381152,23.2534002,3.6171991,8.2815125,6.9921842,31.4117891,3.741489,0.5427327,0.5492892,10.2407085,6.9467828,45.7512132,18.2968667,33.1820148,69.498485,40.6614566,45.3739697,23.1085107,3.8694354,8.3889941,7.2506334,31.6077702,3.6912702,0.4648853,0.4716741,9.9518858,6.6710385,45.3451495,18.6752332,33.3557047,69.6868037,40.8724613,45.1230451,23.0201353,3.8702485,8.0715658,7.493431,32.6144605,4.0441117 +1124,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6764405,0.7145174,8.5479124,5.5410934,49.7869085,14.7712991,26.6649503,67.7584081,40.8977077,45.6869303,21.4070628,4.2270095,10.6635655,9.624889,33.5181225,7.051722,0.6559287,0.6957796,8.4522407,5.5572222,48.8123335,15.189667,26.7295847,67.8845368,41.607279,45.8688293,21.5883251,4.8863816,11.3178096,10.3027402,32.5097642,6.0326558,0.6547048,0.6810007,8.5194267,5.4873145,48.9998095,15.1860221,26.9360831,68.4744001,41.1696953,46.0646537,21.5107361,5.001681,11.8306229,9.9497265,32.7406013,8.3389037,0.6574024,0.7021836,8.6378871,5.8952369,48.1606274,14.5519891,26.8582976,68.3426468,41.0126376,46.0253079,21.902176,4.907659,11.2437592,9.9112539,32.7346566,6.7785756,0.5476564,0.5992293,9.1400345,6.3906006,47.8123867,14.2832434,27.7347595,68.3754857,41.0661049,45.8485702,22.1460445,5.185026,10.9246259,9.6023135,33.0729474,6.2167036 +1125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0577429,1.0593634,23.8397267,19.229097,41.5332672,13.5076797,39.4921538,66.4193173,34.1116815,50.6743008,25.6435873,4.9643261,15.4343882,11.952767,33.8190686,8.5075495,0.9455262,0.9598602,24.4201513,19.8403568,41.4908638,13.640238,39.7093362,67.2187687,34.8332472,50.7366012,25.0973561,5.6119904,14.6083044,12.5249966,33.0710313,8.8407747,1.0560992,1.0702892,24.8775975,20.1832622,41.7355315,14.0051566,40.2250615,67.2760607,34.3339228,50.6863748,25.8018506,5.6790622,14.3219427,12.540681,32.8783465,10.6146495,1.0618941,1.101015,24.6236775,20.0341124,42.4575583,14.4770931,40.0468644,66.8671311,34.2692551,50.238538,26.3292164,5.6132104,15.5535104,13.179662,33.971069,11.5580431,1.3407337,1.3799128,25.2805969,20.2660148,43.6454349,14.5622531,39.712705,65.9816631,33.5674129,49.6473796,25.5818763,5.6058242,15.6427102,13.3078201,35.2701831,14.2550965 +1126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2936075,1.4530684,27.4700896,22.3717226,51.3605675,15.7378752,39.452612,65.804722,35.3508361,46.6446963,22.9638534,3.2513733,12.1637874,9.1502222,30.4075944,23.7270441,1.2993256,1.4167804,27.1519193,22.0121964,51.1943203,15.0778313,39.4920733,64.1321714,34.1439989,46.0175984,23.0267604,3.1230193,12.1163975,9.7079908,31.0606369,21.8500726,1.1162458,1.253681,26.0016573,20.9262967,49.7998024,15.1821206,39.9388083,63.9122006,35.4670483,45.9191368,23.5952844,3.3610987,11.9899966,10.1807597,31.3788113,21.9877266,1.2867626,1.5014909,26.1129655,21.322272,48.5707371,16.1909272,40.8428232,64.1034123,37.4547847,47.771952,24.5302813,3.8868795,10.7733246,9.7035398,31.6020205,22.57099,1.1770957,1.359681,24.3699531,19.8732529,48.0198604,16.2797091,40.5269159,63.4216919,37.0894962,47.3593568,24.6138989,3.9992389,11.3371428,10.287495,32.5670259,19.6026706 +1127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5971617,0.6416654,7.9946083,5.3782499,46.8393682,18.3364195,30.8673906,68.922773,36.8529457,45.0071336,20.2588088,4.6711231,9.5361744,8.4449352,30.9621361,2.6148284,0.6019277,0.6364682,7.6725898,5.2571428,46.1177976,18.5478496,30.2516462,68.5996431,37.0579636,45.2107283,20.6116517,4.5915817,9.3374409,8.6436358,30.940974,3.0039062,0.5486675,0.5688132,7.8713827,5.1737385,44.6092175,18.4416141,30.1439644,67.9515598,36.2674474,45.2250954,20.4938588,4.7158485,9.8266699,8.6929439,30.85306,2.8535511,0.5559075,0.5710776,8.0068259,5.2174572,43.5980053,18.3070835,30.6125718,67.9482195,36.0108878,45.3519483,19.9729284,4.9404957,9.8628393,8.9774452,31.7954772,3.2711562,0.5414514,0.5558893,8.3876107,5.4449655,43.3947839,18.212742,30.4976317,67.6654476,35.4467348,45.2139882,19.9666926,5.0322745,10.4667761,8.7510024,31.1125864,3.6164081 +1128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7391215,0.7488504,7.1579211,4.4974548,44.0024983,21.5942528,31.2238566,68.9849566,33.5213654,45.7602028,17.2305959,6.7877858,12.449336,9.3673852,32.7515835,3.2188772,0.8321056,0.8423281,7.2916711,4.6321031,43.7915562,22.3070333,31.3048672,68.914772,33.6775548,46.1554904,17.5527256,7.0957649,12.4158461,8.8879378,32.1669356,3.051636,0.7215456,0.7321048,7.1232299,4.5579592,42.0266401,22.9778914,31.3899759,69.7073921,34.5450892,47.5308133,18.0841338,7.5217003,11.9699877,8.8780762,31.3716701,2.6829203,0.6200611,0.6311999,7.1878128,4.4772663,40.1309357,23.8311568,30.8489757,69.7298944,34.9493537,46.8644055,17.6797054,7.5011915,11.7897977,8.8625424,30.4657691,2.25,0.5512524,0.5859048,7.2110928,4.4975298,38.0071176,24.9503849,30.2413068,70.0100754,35.6209367,48.1397464,17.9235778,7.6168814,12.0655669,8.8789506,30.6965061,2.2613065 +1129,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6325379,1.6201218,30.1845455,25.6090832,46.8016478,15.238659,34.5714269,61.982762,29.6063585,43.0616537,18.0896224,2.7062228,16.6302888,13.226373,43.4822622,20.9956619,1.5840848,1.5648811,30.3805086,25.5676639,46.9787178,14.5671919,33.6031652,61.5415355,29.4469425,43.3681653,17.4838811,2.3716719,16.5316862,13.1916095,43.0349309,20.299154,1.5331563,1.5133067,30.6825644,26.3827698,48.3045789,14.4538358,32.8989292,61.1881896,28.6153816,42.2782794,17.0656239,2.227869,16.303925,13.1332051,44.518177,19.0789557,1.5412975,1.5348161,31.7690629,27.252684,49.3311726,14.0545942,33.6188503,60.1706639,27.9849704,42.753824,16.8768851,2.2234695,16.641461,13.2503166,44.2855522,17.7824268,1.6585931,1.6906783,33.4949311,28.4286009,49.9201099,14.0869688,33.4709825,58.7909064,28.0507352,42.2583215,16.2174233,1.9982974,17.1790121,12.7979953,44.2798647,21.4 +1130,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6418322,0.6342002,9.9220544,6.8042408,50.3145943,10.3220532,28.3562094,70.5123312,40.9801683,43.2557811,21.2242553,4.9008378,10.2088428,8.429734,36.5898935,5.4991549,0.6273955,0.6153607,10.0296383,6.8638008,49.0155404,10.3581745,28.2369272,70.6487135,41.9806308,44.6205859,21.0864941,4.9681604,10.6928847,8.8005248,36.2123157,5.4270463,0.6136677,0.5936626,10.1186285,7.0682101,47.897462,10.4069635,28.0024896,70.7230941,42.4366247,45.2486489,21.436488,4.9383577,10.4224142,8.7082566,35.4241959,5.9659091,0.568586,0.5627075,9.7396007,6.9173703,46.9204243,10.9692461,28.2320169,70.5978932,43.2291655,46.1401274,21.8964057,5.1013131,10.0575508,8.4626463,34.9231593,5.9921415,0.5942254,0.5754746,9.3961199,6.6642707,46.1972073,10.7192757,27.8020862,70.3627924,43.6829451,46.3509322,22.0567485,5.0465841,9.7550527,8.3285849,34.9468457,5.5772994 +1131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.9455262,0.9598602,24.4201513,19.8403568,41.4908638,13.640238,39.7093362,67.2187687,34.8332472,50.7366012,25.0973561,5.6119904,14.6083044,12.5249966,33.0710313,8.8407747,1.0560992,1.0702892,24.8775975,20.1832622,41.7355315,14.0051566,40.2250615,67.2760607,34.3339228,50.6863748,25.8018506,5.6790622,14.3219427,12.540681,32.8783465,10.6146495,1.0618941,1.101015,24.6236775,20.0341124,42.4575583,14.4770931,40.0468644,66.8671311,34.2692551,50.238538,26.3292164,5.6132104,15.5535104,13.179662,33.971069,11.5580431,1.3407337,1.3799128,25.2805969,20.2660148,43.6454349,14.5622531,39.712705,65.9816631,33.5674129,49.6473796,25.5818763,5.6058242,15.6427102,13.3078201,35.2701831,14.2550965,1.4866705,1.5399419,25.1644312,19.7508707,43.5796797,14.1290455,39.6678527,66.2032372,33.8586655,49.3241702,25.3436079,5.9253757,15.668528,12.9636645,34.4396119,14.2570664 +1132,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5267112,0.5618816,11.4983715,8.0912724,37.2773794,18.4188283,34.8018363,70.5565553,40.5205696,48.4542878,25.9915139,3.2714561,11.2347256,10.2743392,34.7944583,6.048392,0.6033224,0.6277257,11.4494587,7.9872751,37.3447462,18.373921,33.9988384,71.1065815,40.7229479,48.3062088,25.5557942,3.1091374,11.2333859,10.6068145,36.3983296,6.8547392,0.5627689,0.5990842,11.5580527,8.162879,37.8125667,17.8606145,33.7664537,70.004508,40.0865419,48.343246,24.8977285,2.981591,11.4423091,10.2825609,36.2552537,5.8556659,0.6727715,0.7080011,11.3552471,7.8834395,37.1763829,18.1087797,33.9486748,70.6296467,39.1184913,48.424229,25.7258956,3.0772407,10.523829,9.5985482,37.5520954,7.3273714,0.7168445,0.7511436,11.5442826,8.0973803,37.8032708,18.0027485,32.5574335,70.369051,38.2676327,48.0085011,25.0237542,3.1429905,9.7404577,8.8153293,37.0848684,5.4165132 +1133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8321056,0.8423281,7.2916711,4.6321031,43.7915562,22.3070333,31.3048672,68.914772,33.6775548,46.1554904,17.5527256,7.0957649,12.4158461,8.8879378,32.1669356,3.051636,0.7215456,0.7321048,7.1232299,4.5579592,42.0266401,22.9778914,31.3899759,69.7073921,34.5450892,47.5308133,18.0841338,7.5217003,11.9699877,8.8780762,31.3716701,2.6829203,0.6200611,0.6311999,7.1878128,4.4772663,40.1309357,23.8311568,30.8489757,69.7298944,34.9493537,46.8644055,17.6797054,7.5011915,11.7897977,8.8625424,30.4657691,2.25,0.5512524,0.5859048,7.2110928,4.4975298,38.0071176,24.9503849,30.2413068,70.0100754,35.6209367,48.1397464,17.9235778,7.6168814,12.0655669,8.8789506,30.6965061,2.2613065,0.5735749,0.597033,7.7919111,4.7969941,37.3708777,25.0378718,29.9387163,70.4185827,35.2986608,48.5196428,17.3813115,8.0398019,12.5625812,9.5595356,32.0820518,2.4064171 +1134,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3900203,1.3952041,21.2129761,17.2980295,38.9536689,18.0785641,37.3483187,66.7056093,37.6157038,47.7397922,24.8503606,3.9041253,13.1258729,9.8063449,29.983054,18.689863,1.4263893,1.4468637,21.2801959,17.3146883,39.608377,17.7479108,37.1191974,65.7328288,36.5512922,47.2286943,23.8893945,3.6638072,12.5100709,10.4328969,29.9771534,18.0132312,1.3348966,1.3551402,21.1677686,17.2729849,40.7397003,17.262316,37.6539806,65.5924578,35.6482132,47.2137821,23.3394435,3.3571144,13.0213491,10.3644904,29.9981101,17.617422,1.3350183,1.3476784,20.7274738,16.9069521,40.6272765,16.6407516,37.1807886,64.9945131,35.7258814,47.3490778,23.0931733,3.7359077,12.4358841,9.9626712,29.6424731,18.2593578,1.3045505,1.3281386,21.7283756,18.0293442,41.0881583,16.0498177,37.9695939,65.3148988,36.2732008,47.8460144,23.0547096,3.6624087,12.1204077,9.2463368,30.372944,21.4285515 +1135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8399733,0.8572976,8.5859141,5.1955384,18.884661,20.0274608,32.6473656,70.5892453,40.5552916,52.6091125,23.2174987,5.4717745,9.8239408,8.4234439,26.633034,5.1176347,0.7727387,0.7899944,8.5256903,5.3109118,19.6654932,19.1897246,32.5609093,70.6336416,40.0590311,52.1931561,22.8044711,5.2251218,9.7058403,8.7896092,25.3231622,5.1582389,0.8787894,0.9333712,9.2039397,5.8100016,20.0699365,18.3449875,32.6697236,69.8903954,39.1624055,51.26355,22.8156513,5.0678172,9.6740067,8.4586647,25.7584524,6.7987164,0.921487,0.9758221,9.1309917,5.8035557,20.383741,17.8815296,32.7408534,68.487877,38.6675965,50.4387022,22.6829569,5.3475705,10.1891447,8.6865917,26.0297686,6.8535509,0.9357523,0.9431193,8.9994307,5.5400601,19.8040115,18.0179688,32.7516596,67.8710533,38.627576,50.0612376,22.33785,5.187798,10.0932198,9.3962927,25.4460722,6.5879523 +1136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7727387,0.7899944,8.5256903,5.3109118,19.6654932,19.1897246,32.5609093,70.6336416,40.0590311,52.1931561,22.8044711,5.2251218,9.7058403,8.7896092,25.3231622,5.1582389,0.8787894,0.9333712,9.2039397,5.8100016,20.0699365,18.3449875,32.6697236,69.8903954,39.1624055,51.26355,22.8156513,5.0678172,9.6740067,8.4586647,25.7584524,6.7987164,0.921487,0.9758221,9.1309917,5.8035557,20.383741,17.8815296,32.7408534,68.487877,38.6675965,50.4387022,22.6829569,5.3475705,10.1891447,8.6865917,26.0297686,6.8535509,0.9357523,0.9431193,8.9994307,5.5400601,19.8040115,18.0179688,32.7516596,67.8710533,38.627576,50.0612376,22.33785,5.187798,10.0932198,9.3962927,25.4460722,6.5879523,0.9382653,0.9091915,9.1289572,5.6702773,19.4355184,17.3696555,32.6185746,67.5375399,39.2869544,49.9848788,22.5789201,5.0582726,9.5008683,8.9108032,24.9789322,8.605725 +1137,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7589344,0.7891795,11.8686577,7.4009215,37.068855,21.3922895,38.5206162,70.0787506,42.5443848,50.9860635,23.3332601,3.8855953,9.0170166,9.860778,30.3959458,5.5555701,0.8398832,0.8762087,11.0635484,7.0293341,35.5800594,21.1881134,38.0961421,70.0040489,43.811738,52.1175374,24.0747962,3.8856836,9.0191121,10.0913389,30.29163,4.7101586,0.6778696,0.7361998,9.9396184,6.3604977,35.1156042,21.0088802,37.7051786,70.0301681,44.230829,52.8305179,24.6542452,3.8677533,9.5052013,9.9133957,29.8955056,4.0441206,0.7117075,0.7698065,9.9742694,6.4135741,34.8721038,20.8333055,36.92667,69.7599833,43.6562465,52.7861148,24.2391716,3.8791261,9.8877288,9.5340733,30.4856288,4.1984765,0.6241743,0.6634295,9.2942116,6.0525287,34.7527796,20.8873413,37.5564389,69.753616,43.593434,52.7104749,24.6611919,3.5934258,10.2489552,9.5771077,31.2082776,4.1984765 +1138,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4263893,1.4468637,21.2801959,17.3146883,39.608377,17.7479108,37.1191974,65.7328288,36.5512922,47.2286943,23.8893945,3.6638072,12.5100709,10.4328969,29.9771534,18.0132312,1.3348966,1.3551402,21.1677686,17.2729849,40.7397003,17.262316,37.6539806,65.5924578,35.6482132,47.2137821,23.3394435,3.3571144,13.0213491,10.3644904,29.9981101,17.617422,1.3350183,1.3476784,20.7274738,16.9069521,40.6272765,16.6407516,37.1807886,64.9945131,35.7258814,47.3490778,23.0931733,3.7359077,12.4358841,9.9626712,29.6424731,18.2593578,1.3045505,1.3281386,21.7283756,18.0293442,41.0881583,16.0498177,37.9695939,65.3148988,36.2732008,47.8460144,23.0547096,3.6624087,12.1204077,9.2463368,30.372944,21.4285515,1.353437,1.3881445,22.0040261,18.0678787,41.265584,15.9225244,37.9172897,65.2471367,35.5989628,47.364781,22.6223625,3.4167672,11.932232,9.330389,30.3740798,21.7171263 +1139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.042731,1.0693823,18.669495,15.269162,82.3329164,14.775733,34.6165871,66.2715578,33.9776876,38.1051329,16.8287803,4.563443,13.8104228,10.8744503,38.9181702,14.7388453,1.0924826,1.0924826,19.0243316,15.7103091,83.1309841,15.3408058,33.741608,66.3315991,33.8574602,37.4370421,17.000696,4.2431396,13.4619623,11.5350833,38.8757372,14.0260761,1.0381004,1.0381004,19.4226751,15.9940907,82.8611203,15.7925721,33.6420971,66.540821,34.9608616,37.0300795,17.6055523,4.5113177,14.3937387,12.8598807,39.042456,13.8401588,1.2716089,1.2982915,19.050942,15.6541107,82.5618167,15.3418334,33.1424825,66.1120532,35.0020049,37.5632267,17.7137328,4.4527399,14.0945293,13.0077475,40.17773,13.9380994,1.3172285,1.3435155,18.7801092,15.2634621,83.205703,15.4417139,32.2009388,65.6684137,34.492641,37.7082565,18.2606048,4.6177882,14.4902713,12.2654475,39.3404762,13.7984255 +1140,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6033224,0.6277257,11.4494587,7.9872751,37.3447462,18.373921,33.9988384,71.1065815,40.7229479,48.3062088,25.5557942,3.1091374,11.2333859,10.6068145,36.3983296,6.8547392,0.5627689,0.5990842,11.5580527,8.162879,37.8125667,17.8606145,33.7664537,70.004508,40.0865419,48.343246,24.8977285,2.981591,11.4423091,10.2825609,36.2552537,5.8556659,0.6727715,0.7080011,11.3552471,7.8834395,37.1763829,18.1087797,33.9486748,70.6296467,39.1184913,48.424229,25.7258956,3.0772407,10.523829,9.5985482,37.5520954,7.3273714,0.7168445,0.7511436,11.5442826,8.0973803,37.8032708,18.0027485,32.5574335,70.369051,38.2676327,48.0085011,25.0237542,3.1429905,9.7404577,8.8153293,37.0848684,5.4165132,0.8306662,0.8208924,11.7746953,8.3766144,37.856735,18.0245642,31.9532151,69.4348844,37.8890588,48.1331368,24.4376448,3.1354615,9.3902877,9.2651636,39.6919865,5.0386269 +1141,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5829311,0.59707,7.4959171,4.9928083,75.4914846,7.8399332,26.1163848,64.7656926,31.5410218,39.7878124,15.8122852,5.6131441,10.0015416,8.5374936,35.6561466,4.6996124,0.5539638,0.5679795,7.4845363,5.0036896,73.4110855,7.8415358,25.8357459,65.2637804,32.0862087,40.1721853,16.2233213,5.8067605,9.9909613,8.5473334,35.4732141,4.1792548,0.5773599,0.5732945,7.5552437,5.0028716,71.1333796,8.2244997,25.6238703,65.7222378,32.8306379,40.5092171,16.3181446,5.8870051,10.1678363,8.7320004,35.0098284,4.5693277,0.6077662,0.5930191,7.4387969,4.8747325,68.8695372,8.4811346,25.4740936,65.8362674,33.1230894,40.6746981,16.3614194,6.1794713,9.9597018,8.5333327,34.6816327,4.3049793,0.5933403,0.5840627,7.3318052,4.7644491,67.4117329,8.4383245,25.8457467,66.075168,33.3796131,40.8550683,16.5055329,6.4960846,9.8449333,8.2465213,34.1410553,4.8186528 +1142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6406159,0.6978042,10.4994312,6.7919469,59.8626835,9.4276799,33.5357509,66.7752739,41.1004716,44.8330485,24.1344559,4.2991946,10.4587405,9.161138,40.9572485,6.2091438,0.6194577,0.6658069,10.6545391,6.9029972,59.2053277,9.5851203,33.6089444,66.9521235,41.3133373,44.7701625,23.8902032,4.2530882,10.0475682,8.8751472,40.4389891,6.2499942,0.7475454,0.8010601,11.0721866,7.0819339,57.9353824,9.7572167,34.0602168,66.9671391,41.2116911,44.9788297,24.0985067,4.306022,10.1670679,9.0433429,40.6142683,6.4666615,0.7831158,0.8136232,11.0195756,6.9992693,57.4914489,9.9898882,33.8070502,67.1882928,41.1954557,44.7767757,24.2739753,4.3766426,10.0736684,9.4234968,41.2368625,6.4802112,0.7472583,0.772514,11.0146571,7.0573593,56.413487,10.1627986,33.6773704,67.1783039,41.6461357,44.9726923,24.6924699,4.3908849,10.0873426,9.7196537,40.7510149,5.9558806 +1143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.3786541,0.4074621,9.5559833,6.428568,47.0860266,15.4405928,33.7773423,70.278329,39.5029729,45.8250603,23.0417428,3.1610358,7.8571664,6.8301906,31.525042,3.571417,0.4235734,0.4598053,9.6107574,6.4406066,45.6276192,17.6434366,33.877635,70.463003,40.615936,46.2381152,23.2534002,3.6171991,8.2815125,6.9921842,31.4117891,3.741489,0.5427327,0.5492892,10.2407085,6.9467828,45.7512132,18.2968667,33.1820148,69.498485,40.6614566,45.3739697,23.1085107,3.8694354,8.3889941,7.2506334,31.6077702,3.6912702,0.4648853,0.4716741,9.9518858,6.6710385,45.3451495,18.6752332,33.3557047,69.6868037,40.8724613,45.1230451,23.0201353,3.8702485,8.0715658,7.493431,32.6144605,4.0441117,0.4748815,0.4818932,10.1452623,6.8315911,44.6554216,19.1620946,32.6006559,70.0370245,40.930106,45.7889885,23.9472402,3.9102296,7.4660851,7.2207214,34.229738,3.3333284 +1144,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3348966,1.3551402,21.1677686,17.2729849,40.7397003,17.262316,37.6539806,65.5924578,35.6482132,47.2137821,23.3394435,3.3571144,13.0213491,10.3644904,29.9981101,17.617422,1.3350183,1.3476784,20.7274738,16.9069521,40.6272765,16.6407516,37.1807886,64.9945131,35.7258814,47.3490778,23.0931733,3.7359077,12.4358841,9.9626712,29.6424731,18.2593578,1.3045505,1.3281386,21.7283756,18.0293442,41.0881583,16.0498177,37.9695939,65.3148988,36.2732008,47.8460144,23.0547096,3.6624087,12.1204077,9.2463368,30.372944,21.4285515,1.353437,1.3881445,22.0040261,18.0678787,41.265584,15.9225244,37.9172897,65.2471367,35.5989628,47.364781,22.6223625,3.4167672,11.932232,9.330389,30.3740798,21.7171263,1.2910333,1.3253714,22.9372072,18.8734072,41.1276553,16.3656307,38.525069,65.3508341,35.6852243,47.7764548,23.1047461,3.2486373,11.4777062,9.2044162,30.0773994,21.2553574 +1145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5971135,0.5715907,7.7027491,5.0054304,51.7118929,11.6583564,30.2901878,66.4653948,32.8857174,42.5829082,17.961422,14.8251606,10.467189,8.9693289,36.4403709,3.1645564,0.657075,0.6277064,7.6876495,5.041508,51.0525408,11.7360904,29.5391723,66.3013526,32.8529467,41.9313085,17.9409728,14.9723847,10.5977293,9.0893436,36.9595261,3.6091549,0.6036969,0.5600509,8.0029966,5.4047304,49.4524933,11.7389874,29.7245352,66.3689588,33.2136906,42.3121934,17.9883145,15.2003344,10.5166025,8.9765073,36.9337347,3.2627872,0.6239311,0.5972492,7.9074491,5.2274882,48.9868586,11.9080778,30.122271,66.0056535,32.8970084,41.7071697,17.6751855,15.6842763,10.2796307,9.1732935,37.2313098,3.0782035,0.6266632,0.6010152,7.6905831,5.0546676,48.444608,11.9860471,30.4690968,66.1028538,32.7394408,41.4148313,17.4785783,15.3134846,10.2458995,8.9681347,37.0364708,2.6655892 +1146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.3765926,1.3987501,18.4499451,13.8527162,27.6762713,13.6234923,35.7494829,66.8788598,40.8418848,48.8911512,23.2649074,3.0595504,13.0613825,12.6217127,39.2991267,17.201318,1.4630794,1.4857888,19.1237251,14.6386797,28.6802932,13.3873063,34.7542921,66.6316771,39.5002054,47.8160292,22.1125763,2.8769449,12.9290623,11.6590204,39.2691868,17.8984012,1.3114747,1.3911273,19.7480432,15.4781917,28.7036748,13.5071184,34.1510995,66.7173427,39.1880312,47.0039023,21.9496436,2.5835897,13.1457201,11.012368,38.8111619,18.700134,1.285187,1.3598333,20.8132518,16.4062069,29.4229819,13.6878352,35.1171159,65.7310395,38.4693252,47.5969295,22.5969346,2.8069502,13.4820074,10.6617632,38.6500876,18.4783886,1.4720511,1.5123176,21.6599498,17.0331874,29.4805687,14.6133444,35.6094635,65.3310756,37.6411025,47.1218889,22.6674013,3.0285928,13.6845017,10.3846208,38.951413,19.4993755 +1147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7215456,0.7321048,7.1232299,4.5579592,42.0266401,22.9778914,31.3899759,69.7073921,34.5450892,47.5308133,18.0841338,7.5217003,11.9699877,8.8780762,31.3716701,2.6829203,0.6200611,0.6311999,7.1878128,4.4772663,40.1309357,23.8311568,30.8489757,69.7298944,34.9493537,46.8644055,17.6797054,7.5011915,11.7897977,8.8625424,30.4657691,2.25,0.5512524,0.5859048,7.2110928,4.4975298,38.0071176,24.9503849,30.2413068,70.0100754,35.6209367,48.1397464,17.9235778,7.6168814,12.0655669,8.8789506,30.6965061,2.2613065,0.5735749,0.597033,7.7919111,4.7969941,37.3708777,25.0378718,29.9387163,70.4185827,35.2986608,48.5196428,17.3813115,8.0398019,12.5625812,9.5595356,32.0820518,2.4064171,0.5634747,0.6019916,8.0468638,4.808208,37.2963249,24.8137486,29.0054844,69.4877134,34.2793047,47.9407003,17.1521461,8.0612575,12.0605174,9.433017,32.8278062,2.3560148 +1148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4896115,0.55753,10.3276293,6.5221733,57.7314092,13.8046705,31.7882746,69.6505472,35.7553861,46.3412015,19.8663649,2.8057506,8.6417286,8.1395319,32.6777946,9.9112693,0.5181386,0.5860827,10.3591628,6.3007192,56.793069,14.3133955,31.6577187,69.5602666,35.8484636,45.9640691,20.5305293,3.0037112,9.2120994,8.1441616,32.8451037,9.2767552,0.5113578,0.5992106,9.963127,5.9901572,56.0484597,14.5021518,31.7289555,68.8139378,35.5919714,45.7402234,20.4531023,2.8502777,9.5611927,8.5616381,33.5430178,9.1362428,0.5071652,0.576543,9.733676,5.831941,55.3293454,14.4391032,32.8441539,69.1828429,36.2436659,46.2732091,20.6819995,3.0299791,9.3271504,8.2492821,33.0828598,9.0460586,0.5234603,0.5738389,9.5085616,5.9363917,54.4532202,14.623712,33.259335,69.3616321,36.8103876,46.533496,20.9997849,2.8218102,8.8722686,7.7903582,32.3757198,8.7171053 +1149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8071931,0.8136664,9.12088,5.3601959,29.4346884,17.9515643,34.0317547,69.8363833,40.8752289,50.9422564,24.0143925,4.4507862,11.2064743,9.823612,31.4349152,6.127451,0.7286693,0.723634,8.701554,5.0481366,28.5330879,17.8056651,34.1509581,69.6729471,40.9937072,50.7295644,24.2138381,4.4654118,10.421907,9.4892379,30.9379797,6.3451809,0.7211805,0.6939315,8.616592,5.1461858,28.7071269,17.7083293,34.1123866,69.0118566,41.0632048,50.5328247,24.4490226,4.541055,10.1061456,9.5089174,30.5326937,5.841116,0.6792231,0.6482219,8.7273178,5.2991287,28.3012189,17.650368,34.5240979,68.9910993,41.189229,50.1597956,24.4807268,4.4396339,10.353555,10.0321552,30.8599082,7.3008753,0.6081405,0.5737246,8.2521245,5.1377153,27.5865781,17.3454094,34.7633593,68.9107496,40.9012297,49.9351827,24.4326878,4.506166,10.2312596,10.0087388,31.0881895,5.3999914 +1150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2993256,1.4167804,27.1519193,22.0121964,51.1943203,15.0778313,39.4920733,64.1321714,34.1439989,46.0175984,23.0267604,3.1230193,12.1163975,9.7079908,31.0606369,21.8500726,1.1162458,1.253681,26.0016573,20.9262967,49.7998024,15.1821206,39.9388083,63.9122006,35.4670483,45.9191368,23.5952844,3.3610987,11.9899966,10.1807597,31.3788113,21.9877266,1.2867626,1.5014909,26.1129655,21.322272,48.5707371,16.1909272,40.8428232,64.1034123,37.4547847,47.771952,24.5302813,3.8868795,10.7733246,9.7035398,31.6020205,22.57099,1.1770957,1.359681,24.3699531,19.8732529,48.0198604,16.2797091,40.5269159,63.4216919,37.0894962,47.3593568,24.6138989,3.9992389,11.3371428,10.287495,32.5670259,19.6026706,1.3403928,1.4028127,24.3268484,19.7318561,48.8804646,15.2593581,41.9406444,63.9482147,36.6460874,46.9048114,24.4474193,4.0584256,11.7179589,11.0488711,32.1208455,17.8791311 +1151,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5079606,0.5079606,9.1297456,6.5330737,67.6605846,12.6048343,29.2699467,66.8685058,31.3838912,44.9125896,14.7548714,5.4256316,11.4467155,10.8671931,30.9126426,6.9616611,0.519474,0.519474,9.0631498,6.3079143,66.1335103,12.9178132,28.6537592,67.1152503,31.5533184,45.1626773,14.571063,5.4290275,11.5541021,10.3096041,30.5148713,7.8825081,0.5301398,0.5301398,8.6136092,5.7475536,65.0240572,13.783921,27.8829833,67.4406336,31.7694036,44.5654979,14.1390519,5.5766466,11.9388587,10.3997716,30.3570678,7.07271,0.4359439,0.4204351,8.1236194,5.4432624,63.5800018,14.7543406,27.6108235,67.4840561,32.5825309,44.8947567,14.5645264,5.622318,11.9176321,10.6563002,29.640869,5.8969051,0.3654733,0.349427,7.9280087,5.2225169,63.3787542,14.9301697,27.1299087,66.6263353,32.4421596,44.7566939,14.0565263,5.7778448,12.5264732,10.9264575,28.5764367,4.4041451 +1152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1162458,1.253681,26.0016573,20.9262967,49.7998024,15.1821206,39.9388083,63.9122006,35.4670483,45.9191368,23.5952844,3.3610987,11.9899966,10.1807597,31.3788113,21.9877266,1.2867626,1.5014909,26.1129655,21.322272,48.5707371,16.1909272,40.8428232,64.1034123,37.4547847,47.771952,24.5302813,3.8868795,10.7733246,9.7035398,31.6020205,22.57099,1.1770957,1.359681,24.3699531,19.8732529,48.0198604,16.2797091,40.5269159,63.4216919,37.0894962,47.3593568,24.6138989,3.9992389,11.3371428,10.287495,32.5670259,19.6026706,1.3403928,1.4028127,24.3268484,19.7318561,48.8804646,15.2593581,41.9406444,63.9482147,36.6460874,46.9048114,24.4474193,4.0584256,11.7179589,11.0488711,32.1208455,17.8791311,1.4027695,1.4853808,24.105699,19.9597205,47.3200906,15.4638243,42.5012002,64.748204,38.5102843,48.1616725,24.7356592,4.0288941,11.0215753,10.7499087,31.1057957,15.8391158 +1153,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3350183,1.3476784,20.7274738,16.9069521,40.6272765,16.6407516,37.1807886,64.9945131,35.7258814,47.3490778,23.0931733,3.7359077,12.4358841,9.9626712,29.6424731,18.2593578,1.3045505,1.3281386,21.7283756,18.0293442,41.0881583,16.0498177,37.9695939,65.3148988,36.2732008,47.8460144,23.0547096,3.6624087,12.1204077,9.2463368,30.372944,21.4285515,1.353437,1.3881445,22.0040261,18.0678787,41.265584,15.9225244,37.9172897,65.2471367,35.5989628,47.364781,22.6223625,3.4167672,11.932232,9.330389,30.3740798,21.7171263,1.2910333,1.3253714,22.9372072,18.8734072,41.1276553,16.3656307,38.525069,65.3508341,35.6852243,47.7764548,23.1047461,3.2486373,11.4777062,9.2044162,30.0773994,21.2553574,1.2258111,1.2605083,22.8306561,18.722813,41.3851561,16.4628664,38.6584936,65.4280483,35.3817977,48.7223499,23.1425172,3.2150821,11.4173895,9.6428171,30.843302,19.6263804 +1154,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8398832,0.8762087,11.0635484,7.0293341,35.5800594,21.1881134,38.0961421,70.0040489,43.811738,52.1175374,24.0747962,3.8856836,9.0191121,10.0913389,30.29163,4.7101586,0.6778696,0.7361998,9.9396184,6.3604977,35.1156042,21.0088802,37.7051786,70.0301681,44.230829,52.8305179,24.6542452,3.8677533,9.5052013,9.9133957,29.8955056,4.0441206,0.7117075,0.7698065,9.9742694,6.4135741,34.8721038,20.8333055,36.92667,69.7599833,43.6562465,52.7861148,24.2391716,3.8791261,9.8877288,9.5340733,30.4856288,4.1984765,0.6241743,0.6634295,9.2942116,6.0525287,34.7527796,20.8873413,37.5564389,69.753616,43.593434,52.7104749,24.6611919,3.5934258,10.2489552,9.5771077,31.2082776,4.1984765,0.6049758,0.6239221,9.5707625,6.3998458,35.5490129,20.7550701,36.6588409,69.3699105,43.0377324,52.4115053,25.145846,3.4422365,10.79277,9.6862745,32.5314959,3.125 +1155,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.519474,0.519474,9.0631498,6.3079143,66.1335103,12.9178132,28.6537592,67.1152503,31.5533184,45.1626773,14.571063,5.4290275,11.5541021,10.3096041,30.5148713,7.8825081,0.5301398,0.5301398,8.6136092,5.7475536,65.0240572,13.783921,27.8829833,67.4406336,31.7694036,44.5654979,14.1390519,5.5766466,11.9388587,10.3997716,30.3570678,7.07271,0.4359439,0.4204351,8.1236194,5.4432624,63.5800018,14.7543406,27.6108235,67.4840561,32.5825309,44.8947567,14.5645264,5.622318,11.9176321,10.6563002,29.640869,5.8969051,0.3654733,0.349427,7.9280087,5.2225169,63.3787542,14.9301697,27.1299087,66.6263353,32.4421596,44.7566939,14.0565263,5.7778448,12.5264732,10.9264575,28.5764367,4.4041451,0.4331162,0.4331162,8.0928754,5.2085645,62.1907271,14.5090575,26.7904036,67.0019233,31.3949192,44.7986613,13.9324355,5.4740739,12.4039445,10.3919074,29.7192356,4.4271341 +1156,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7519841,1.7519841,34.0472674,29.9113737,61.7692308,6.3689605,36.3970588,62.2794118,26.6911765,40.8088235,15.8088235,5.6617647,16.9161677,12.9464286,40.2077151,13.4375,1.8271222,1.8271222,34.9563953,30.8866279,62.6315789,5.8357349,36.5942029,62.6811594,26.4492754,40.942029,15,5.1449275,16.4156627,11.8618619,40.2694611,14.5833333,1.9870188,1.9870188,35.3151862,30.730659,62.2938531,5.387931,35.6213873,63.2225434,26.2283237,41.2572254,15.2456647,4.6965318,16.3663664,12.1257485,41.641791,14.5833333,1.926055,1.926055,34.5545977,29.9568966,63.9183056,5.8357349,33.6482558,64.3168605,26.9622093,41.6424419,15.4796512,5.7412791,15.1651652,11.2275449,39.8507463,14.0718563,1.5489345,1.5489345,34.7283407,30.4698972,65.5145929,6.3970588,33.2095097,62.7786033,26.5230312,40.6389302,14.1901932,5.7206538,14.84375,10.7476636,37.1118012,16.4596273 +1157,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5539638,0.5679795,7.4845363,5.0036896,73.4110855,7.8415358,25.8357459,65.2637804,32.0862087,40.1721853,16.2233213,5.8067605,9.9909613,8.5473334,35.4732141,4.1792548,0.5773599,0.5732945,7.5552437,5.0028716,71.1333796,8.2244997,25.6238703,65.7222378,32.8306379,40.5092171,16.3181446,5.8870051,10.1678363,8.7320004,35.0098284,4.5693277,0.6077662,0.5930191,7.4387969,4.8747325,68.8695372,8.4811346,25.4740936,65.8362674,33.1230894,40.6746981,16.3614194,6.1794713,9.9597018,8.5333327,34.6816327,4.3049793,0.5933403,0.5840627,7.3318052,4.7644491,67.4117329,8.4383245,25.8457467,66.075168,33.3796131,40.8550683,16.5055329,6.4960846,9.8449333,8.2465213,34.1410553,4.8186528,0.583237,0.5657887,7.4754193,4.9091691,66.4294555,8.5721948,25.9692494,66.5690288,33.1992377,41.20556,16.5276151,6.6230469,9.6098774,8.0337122,35.0179206,4.7938144 +1158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8701587,0.8701587,13.9312382,11.0051158,55.1112661,30.2309401,35.557002,64.7021982,33.3550953,44.4949416,15.9975518,6.6709413,14.7519282,11.87969,33.2010561,7.4672563,0.8461547,0.8461547,14.0943304,10.6505321,54.7525948,31.5145894,34.0466802,65.6939779,33.6576998,45.979455,16.277643,5.5123283,13.5442735,10.2529535,32.864485,6.5214691,0.6531879,0.6531879,13.9704703,10.0935572,55.6680997,31.0594476,32.7332607,64.8667153,33.2667327,45.533522,16.33343,5.2667193,14.7058147,10.8694485,33.7211075,6.8178793,0.6289372,0.6289372,13.605843,10.1206849,56.5014394,30.1972456,32.8249059,67.4403491,34.5491958,46.6182311,16.5120562,4.5756484,14.0150759,8.7119787,34.4785557,6.3755248,0.5512369,0.5512369,12.3448003,8.8966315,56.9157165,30.502715,31.3873682,66.8269016,35.6457166,45.5358461,17.1016637,3.7775063,14.0151314,8.4595338,32.6973234,6.7372579 +1159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.4630794,1.4857888,19.1237251,14.6386797,28.6802932,13.3873063,34.7542921,66.6316771,39.5002054,47.8160292,22.1125763,2.8769449,12.9290623,11.6590204,39.2691868,17.8984012,1.3114747,1.3911273,19.7480432,15.4781917,28.7036748,13.5071184,34.1510995,66.7173427,39.1880312,47.0039023,21.9496436,2.5835897,13.1457201,11.012368,38.8111619,18.700134,1.285187,1.3598333,20.8132518,16.4062069,29.4229819,13.6878352,35.1171159,65.7310395,38.4693252,47.5969295,22.5969346,2.8069502,13.4820074,10.6617632,38.6500876,18.4783886,1.4720511,1.5123176,21.6599498,17.0331874,29.4805687,14.6133444,35.6094635,65.3310756,37.6411025,47.1218889,22.6674013,3.0285928,13.6845017,10.3846208,38.951413,19.4993755,1.6496251,1.6891825,22.7391146,17.7998045,30.5325382,14.1352132,35.7577302,65.2421917,36.5026997,46.1297976,22.3900413,2.94432,14.5646226,10.8663843,39.6713184,18.9781393 +1160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6200611,0.6311999,7.1878128,4.4772663,40.1309357,23.8311568,30.8489757,69.7298944,34.9493537,46.8644055,17.6797054,7.5011915,11.7897977,8.8625424,30.4657691,2.25,0.5512524,0.5859048,7.2110928,4.4975298,38.0071176,24.9503849,30.2413068,70.0100754,35.6209367,48.1397464,17.9235778,7.6168814,12.0655669,8.8789506,30.6965061,2.2613065,0.5735749,0.597033,7.7919111,4.7969941,37.3708777,25.0378718,29.9387163,70.4185827,35.2986608,48.5196428,17.3813115,8.0398019,12.5625812,9.5595356,32.0820518,2.4064171,0.5634747,0.6019916,8.0468638,4.808208,37.2963249,24.8137486,29.0054844,69.4877134,34.2793047,47.9407003,17.1521461,8.0612575,12.0605174,9.433017,32.8278062,2.3560148,0.5602755,0.6318676,8.4924371,5.2129558,36.7675941,24.7090515,29.3440789,70.2153935,34.1899065,47.4546807,17.0582059,8.5902873,11.3966691,9.5630789,32.8307894,1.7676723 +1161,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6559287,0.6957796,8.4522407,5.5572222,48.8123335,15.189667,26.7295847,67.8845368,41.607279,45.8688293,21.5883251,4.8863816,11.3178096,10.3027402,32.5097642,6.0326558,0.6547048,0.6810007,8.5194267,5.4873145,48.9998095,15.1860221,26.9360831,68.4744001,41.1696953,46.0646537,21.5107361,5.001681,11.8306229,9.9497265,32.7406013,8.3389037,0.6574024,0.7021836,8.6378871,5.8952369,48.1606274,14.5519891,26.8582976,68.3426468,41.0126376,46.0253079,21.902176,4.907659,11.2437592,9.9112539,32.7346566,6.7785756,0.5476564,0.5992293,9.1400345,6.3906006,47.8123867,14.2832434,27.7347595,68.3754857,41.0661049,45.8485702,22.1460445,5.185026,10.9246259,9.6023135,33.0729474,6.2167036,0.5825273,0.5969893,9.4944884,6.6591403,47.8809302,13.7116639,27.8245461,69.0377792,41.3567641,45.5719355,22.0470436,5.4313318,11.15553,10.2136247,33.830549,8.0110497 +1162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8787894,0.9333712,9.2039397,5.8100016,20.0699365,18.3449875,32.6697236,69.8903954,39.1624055,51.26355,22.8156513,5.0678172,9.6740067,8.4586647,25.7584524,6.7987164,0.921487,0.9758221,9.1309917,5.8035557,20.383741,17.8815296,32.7408534,68.487877,38.6675965,50.4387022,22.6829569,5.3475705,10.1891447,8.6865917,26.0297686,6.8535509,0.9357523,0.9431193,8.9994307,5.5400601,19.8040115,18.0179688,32.7516596,67.8710533,38.627576,50.0612376,22.33785,5.187798,10.0932198,9.3962927,25.4460722,6.5879523,0.9382653,0.9091915,9.1289572,5.6702773,19.4355184,17.3696555,32.6185746,67.5375399,39.2869544,49.9848788,22.5789201,5.0582726,9.5008683,8.9108032,24.9789322,8.605725,0.8366334,0.8010998,8.9894895,5.5826819,19.9064949,17.4660428,32.3571234,67.2234048,39.7705171,49.7943884,22.5250972,5.0501077,8.9875425,9.0001241,24.7765646,6.4388183 +1163,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6273955,0.6153607,10.0296383,6.8638008,49.0155404,10.3581745,28.2369272,70.6487135,41.9806308,44.6205859,21.0864941,4.9681604,10.6928847,8.8005248,36.2123157,5.4270463,0.6136677,0.5936626,10.1186285,7.0682101,47.897462,10.4069635,28.0024896,70.7230941,42.4366247,45.2486489,21.436488,4.9383577,10.4224142,8.7082566,35.4241959,5.9659091,0.568586,0.5627075,9.7396007,6.9173703,46.9204243,10.9692461,28.2320169,70.5978932,43.2291655,46.1401274,21.8964057,5.1013131,10.0575508,8.4626463,34.9231593,5.9921415,0.5942254,0.5754746,9.3961199,6.6642707,46.1972073,10.7192757,27.8020862,70.3627924,43.6829451,46.3509322,22.0567485,5.0465841,9.7550527,8.3285849,34.9468457,5.5772994,0.6615077,0.6340318,9.697774,6.8140902,46.2835517,10.4197518,27.8133503,69.9114452,43.1948212,45.5926442,21.6689385,5.0204362,9.5937387,7.972006,34.6409676,5.3773585 +1164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7218422,0.7995289,9.6929827,6.382632,48.2872299,14.8036565,27.1090296,65.0946768,34.1107249,41.0326551,19.1533006,3.316305,10.8446291,10.5904255,38.8965675,3.363443,0.872553,0.9493264,9.8234943,6.3265708,46.8008354,14.5177049,27.1277305,64.6094753,34.6138946,41.2792859,19.5582938,3.3461261,10.9372577,11.2386441,39.3724787,3.3304611,0.8320583,0.9094116,9.9431281,6.2572955,45.7390622,15.6691796,27.3363929,64.3557122,35.4170178,41.4026958,19.8464596,3.4982367,11.9112729,11.4893049,40.9476022,3.4623178,0.843935,0.9200673,10.0599685,6.509344,45.7483965,15.8048564,27.290812,64.8253855,36.1640354,40.7019307,18.9436081,3.6516288,11.7753481,11.3680165,39.8476327,2.4265319,0.8494382,0.9231747,10.1419618,6.4315607,45.2777986,15.5309196,27.4315657,64.7998636,37.3293299,40.829302,19.2241353,3.3966884,11.1445783,10.3575745,39.1148792,6.9426702 +1165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.657742,0.6392787,8.1267598,4.9658121,38.3731655,10.8167348,28.5279939,67.5610478,36.0949379,48.3784707,21.3148522,3.2920342,10.1439543,10.174978,29.4270455,2.5679766,0.6304307,0.6126704,7.9163703,4.8809833,37.1816363,10.8756544,29.0680925,67.636026,35.7550736,48.958071,21.6423483,3.1729235,10.1920418,9.8418141,29.8750679,2.5679766,0.6670558,0.6374031,7.9309127,4.8729957,36.2756589,10.8652654,28.8815096,67.9045854,36.1269368,48.4019815,21.6905691,3.2594612,9.7977966,9.538306,29.4837032,3.097347,0.6177634,0.5837157,7.8442804,4.9447444,35.3697611,10.7157513,29.2399414,67.7231649,36.4554852,48.0249537,21.0760672,3.2039819,9.9859475,9.8431038,30.4678953,2.7298851,0.63508,0.6066086,7.9371418,5.0368671,35.4238453,10.7095768,29.8233063,67.8310779,36.5634483,48.0304834,21.1745875,3.3000469,10.302171,10.1319686,31.1888765,2.7696793 +1166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2867626,1.5014909,26.1129655,21.322272,48.5707371,16.1909272,40.8428232,64.1034123,37.4547847,47.771952,24.5302813,3.8868795,10.7733246,9.7035398,31.6020205,22.57099,1.1770957,1.359681,24.3699531,19.8732529,48.0198604,16.2797091,40.5269159,63.4216919,37.0894962,47.3593568,24.6138989,3.9992389,11.3371428,10.287495,32.5670259,19.6026706,1.3403928,1.4028127,24.3268484,19.7318561,48.8804646,15.2593581,41.9406444,63.9482147,36.6460874,46.9048114,24.4474193,4.0584256,11.7179589,11.0488711,32.1208455,17.8791311,1.4027695,1.4853808,24.105699,19.9597205,47.3200906,15.4638243,42.5012002,64.748204,38.5102843,48.1616725,24.7356592,4.0288941,11.0215753,10.7499087,31.1057957,15.8391158,1.5983054,1.6810146,24.1315501,20.0907359,47.2412518,15.4934796,42.970979,63.9514927,39.5751037,47.9604599,25.6662148,4.0952281,11.7783922,11.5061347,30.5537547,16.8717317 +1167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0924826,1.0924826,19.0243316,15.7103091,83.1309841,15.3408058,33.741608,66.3315991,33.8574602,37.4370421,17.000696,4.2431396,13.4619623,11.5350833,38.8757372,14.0260761,1.0381004,1.0381004,19.4226751,15.9940907,82.8611203,15.7925721,33.6420971,66.540821,34.9608616,37.0300795,17.6055523,4.5113177,14.3937387,12.8598807,39.042456,13.8401588,1.2716089,1.2982915,19.050942,15.6541107,82.5618167,15.3418334,33.1424825,66.1120532,35.0020049,37.5632267,17.7137328,4.4527399,14.0945293,13.0077475,40.17773,13.9380994,1.3172285,1.3435155,18.7801092,15.2634621,83.205703,15.4417139,32.2009388,65.6684137,34.492641,37.7082565,18.2606048,4.6177882,14.4902713,12.2654475,39.3404762,13.7984255,1.4883986,1.5149594,19.5336517,15.2874884,83.8078366,15.3679971,31.352205,64.9329506,33.5497146,37.0854849,18.1467494,4.7200979,13.7971336,12.153692,39.9450453,12.8234491 +1168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5512524,0.5859048,7.2110928,4.4975298,38.0071176,24.9503849,30.2413068,70.0100754,35.6209367,48.1397464,17.9235778,7.6168814,12.0655669,8.8789506,30.6965061,2.2613065,0.5735749,0.597033,7.7919111,4.7969941,37.3708777,25.0378718,29.9387163,70.4185827,35.2986608,48.5196428,17.3813115,8.0398019,12.5625812,9.5595356,32.0820518,2.4064171,0.5634747,0.6019916,8.0468638,4.808208,37.2963249,24.8137486,29.0054844,69.4877134,34.2793047,47.9407003,17.1521461,8.0612575,12.0605174,9.433017,32.8278062,2.3560148,0.5602755,0.6318676,8.4924371,5.2129558,36.7675941,24.7090515,29.3440789,70.2153935,34.1899065,47.4546807,17.0582059,8.5902873,11.3966691,9.5630789,32.8307894,1.7676723,0.5397502,0.5869398,8.2233706,5.0188571,36.1838737,24.6744603,29.0451438,70.5315507,34.3132616,46.7309123,16.2511771,8.3019521,10.0571638,9.2945352,32.9350714,2.2613009 +1169,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6773137,0.6805897,7.6086957,4.8515376,56.7502668,18.4635417,31.6412415,67.8853235,33.1667543,44.5817991,18.1746449,4.918464,10.2985075,8.8235294,33.7525151,2.5139665,0.6871131,0.6734659,6.8936877,3.9036545,55.0696379,19.0928843,30.9484649,67.2971491,32.6480263,45.2576754,18.558114,5.0164474,9.8150051,8.281893,33.4543568,2.7607362,0.7276995,0.7132539,6.5114909,3.8597525,53.5,19.5002872,30.887471,66.7923434,32.4535963,45.562645,18.6484919,5.24942,9.5733042,7.8485181,32.7986726,3.0612245,0.7121383,0.6971064,6.4189189,4.0233415,51.7083588,19.8626045,30.9753161,66.9175196,33.2028898,46.0264901,18.9945816,5.0872968,8.2946636,7.2759022,31.6686251,1.8939394,0.6979647,0.6826037,6.147541,3.8776797,50.1566416,20.7820197,31.3354037,68.3540373,34.3167702,46.242236,20.0310559,5.7453416,8.5411471,7.8222778,32.3047859,2.8688525 +1170,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2072856,1.2649548,27.5937243,23.1324923,40.4108048,19.1509282,38.2438191,67.3668076,34.7814157,46.839272,22.228274,4.2353219,14.3771225,14.1477539,33.1710973,15.2775625,1.0267775,1.0835013,27.1135141,22.8499218,41.0220979,19.2331077,37.3249704,68.1513618,34.1508834,46.2375178,22.0636141,3.3877731,14.6475864,13.8271089,32.8561842,14.4123848,1.1647566,1.1694574,27.2235695,22.6517896,41.975643,19.2258024,37.500917,68.1488378,33.8445754,45.4218288,21.7189024,3.1988298,13.9830068,13.6748287,33.4544286,18.8529768,1.3362129,1.3689887,27.9367307,23.5429536,42.3280761,19.0977257,37.3046692,67.9024957,34.207941,46.1688714,21.0333307,3.1873072,12.9843996,12.3314394,33.6529842,19.9452462,1.4461326,1.4784544,28.7652913,24.9689952,43.2131562,18.7023151,36.4479585,67.5451502,33.756874,44.9404188,19.8223948,2.9004458,13.2686095,11.763617,34.0552528,19.4443462 +1171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6019277,0.6364682,7.6725898,5.2571428,46.1177976,18.5478496,30.2516462,68.5996431,37.0579636,45.2107283,20.6116517,4.5915817,9.3374409,8.6436358,30.940974,3.0039062,0.5486675,0.5688132,7.8713827,5.1737385,44.6092175,18.4416141,30.1439644,67.9515598,36.2674474,45.2250954,20.4938588,4.7158485,9.8266699,8.6929439,30.85306,2.8535511,0.5559075,0.5710776,8.0068259,5.2174572,43.5980053,18.3070835,30.6125718,67.9482195,36.0108878,45.3519483,19.9729284,4.9404957,9.8628393,8.9774452,31.7954772,3.2711562,0.5414514,0.5558893,8.3876107,5.4449655,43.3947839,18.212742,30.4976317,67.6654476,35.4467348,45.2139882,19.9666926,5.0322745,10.4667761,8.7510024,31.1125864,3.6164081,0.470252,0.4603845,8.4106778,5.5298841,43.5633002,18.7353631,29.712936,67.7833397,35.4286739,44.5198679,20.0764788,4.9393432,10.1691046,8.5673415,31.3657758,3.0247147 +1172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6317498,0.6966427,12.5951005,7.6678479,52.8969076,21.7077245,33.8896137,68.8224049,34.7118412,48.1543081,21.37082,3.9387853,13.8739215,12.3025666,39.0107599,4.0540497,0.5547038,0.6210168,11.433498,7.074889,51.8962527,21.6827284,34.2638702,68.3754822,35.1471204,47.9627654,21.1739075,3.9357405,14.6987644,12.4151562,39.2470197,3.2163724,0.6418216,0.6351552,11.6015648,7.2966305,51.4275094,20.5686071,33.9597229,67.3413274,35.3757369,47.5895055,21.4256977,3.8347696,15.4581814,13.1837672,40.6991343,4.6583764,0.6464101,0.6396327,11.0897952,7.1352476,50.5421956,19.8562118,34.5882433,67.3938237,35.888138,47.0948998,21.7710803,3.7032824,14.7187767,12.6601854,40.2991383,4.7770579,0.8974784,0.8802938,10.7852246,7.0310431,49.7033442,19.8456988,34.4999505,67.4185136,36.2656708,46.89984,21.9199108,3.7515458,14.4106309,13.0742973,39.6646944,5.5920211 +1173,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2529241,1.3077518,23.3891825,19.5326872,50.208439,18.5109134,37.6589654,65.9963493,34.8957394,45.8198276,21.0923906,3.1059907,14.8098635,12.3550469,37.8134428,12.2837455,1.2284668,1.2871188,23.6223793,19.7547094,50.3345571,18.2303463,38.0065448,65.7482707,34.0058024,45.8809658,20.5836777,2.8764051,15.0618591,12.4166175,38.0986987,13.2978771,1.276951,1.3170708,24.0164274,20.2102836,51.2788392,17.7305585,39.1116052,65.9758111,33.7359493,46.8229233,20.529376,2.8097079,15.6376548,12.4788142,37.0276326,13.1119019,1.2486357,1.2634711,24.1777269,20.2977189,51.4674326,17.4877226,39.7673997,65.3199453,34.5148498,46.9864079,20.6123497,2.8917075,15.463982,12.3131306,35.9965422,14.403983,1.1883305,1.2028583,24.7920085,21.1129818,52.2896968,17.4611806,39.7737018,65.1925806,34.3259402,46.8580841,20.8375915,2.5820291,15.1446939,11.6620786,35.4884852,13.5092941 +1174,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.491626,0.501704,7.7029642,4.9256506,55.0813383,17.3738506,32.6818342,67.4501038,36.5578059,47.0146755,21.878608,6.5561593,9.1429484,7.7936161,32.3630179,3.3769259,0.491267,0.5055273,7.482343,4.711104,53.8679762,17.7779626,32.7326532,67.5549881,36.8104903,47.1488988,21.7005088,6.5566829,9.086576,7.5071761,32.1657176,3.1395552,0.558347,0.5895171,7.8064372,4.8559712,52.239748,18.0854804,32.5410827,67.6709635,36.9234837,47.4200383,21.7794672,6.9181826,9.3540903,8.0515606,32.9473056,3.9473876,0.6488578,0.6812773,8.0273698,4.9406208,51.7584711,18.4272722,32.5229353,67.8990794,36.834865,47.2935792,21.4403661,7.3669715,9.7232025,8.5318921,33.7495732,3.4264161,0.6969812,0.7374629,7.907988,5.0746955,50.5550079,18.9641814,32.7231807,68.5493289,37.7349263,47.7584155,21.3880178,7.4686756,10.1998522,9.332586,33.8313275,3.534052 +1175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.921487,0.9758221,9.1309917,5.8035557,20.383741,17.8815296,32.7408534,68.487877,38.6675965,50.4387022,22.6829569,5.3475705,10.1891447,8.6865917,26.0297686,6.8535509,0.9357523,0.9431193,8.9994307,5.5400601,19.8040115,18.0179688,32.7516596,67.8710533,38.627576,50.0612376,22.33785,5.187798,10.0932198,9.3962927,25.4460722,6.5879523,0.9382653,0.9091915,9.1289572,5.6702773,19.4355184,17.3696555,32.6185746,67.5375399,39.2869544,49.9848788,22.5789201,5.0582726,9.5008683,8.9108032,24.9789322,8.605725,0.8366334,0.8010998,8.9894895,5.5826819,19.9064949,17.4660428,32.3571234,67.2234048,39.7705171,49.7943884,22.5250972,5.0501077,8.9875425,9.0001241,24.7765646,6.4388183,0.7911693,0.7565433,8.6869463,5.5143789,19.3716422,17.3063449,32.3506111,67.8029791,38.8700351,50.0614116,21.9876571,5.030317,9.368249,9.3159263,24.6372447,5.5550741 +1176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.657075,0.6277064,7.6876495,5.041508,51.0525408,11.7360904,29.5391723,66.3013526,32.8529467,41.9313085,17.9409728,14.9723847,10.5977293,9.0893436,36.9595261,3.6091549,0.6036969,0.5600509,8.0029966,5.4047304,49.4524933,11.7389874,29.7245352,66.3689588,33.2136906,42.3121934,17.9883145,15.2003344,10.5166025,8.9765073,36.9337347,3.2627872,0.6239311,0.5972492,7.9074491,5.2274882,48.9868586,11.9080778,30.122271,66.0056535,32.8970084,41.7071697,17.6751855,15.6842763,10.2796307,9.1732935,37.2313098,3.0782035,0.6266632,0.6010152,7.6905831,5.0546676,48.444608,11.9860471,30.4690968,66.1028538,32.7394408,41.4148313,17.4785783,15.3134846,10.2458995,8.9681347,37.0364708,2.6655892,0.5670163,0.5408359,7.487294,4.8293411,47.9914565,12.1528267,30.7181414,66.3917789,33.2287292,41.8552126,17.4062218,15.304332,9.715707,8.4604115,36.6933069,2.4447946 +1177,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8271222,1.8271222,34.9563953,30.8866279,62.6315789,5.8357349,36.5942029,62.6811594,26.4492754,40.942029,15,5.1449275,16.4156627,11.8618619,40.2694611,14.5833333,1.9870188,1.9870188,35.3151862,30.730659,62.2938531,5.387931,35.6213873,63.2225434,26.2283237,41.2572254,15.2456647,4.6965318,16.3663664,12.1257485,41.641791,14.5833333,1.926055,1.926055,34.5545977,29.9568966,63.9183056,5.8357349,33.6482558,64.3168605,26.9622093,41.6424419,15.4796512,5.7412791,15.1651652,11.2275449,39.8507463,14.0718563,1.5489345,1.5489345,34.7283407,30.4698972,65.5145929,6.3970588,33.2095097,62.7786033,26.5230312,40.6389302,14.1901932,5.7206538,14.84375,10.7476636,37.1118012,16.4596273,1.544093,1.544093,35.1739788,30.484115,66.6405024,7.7443609,32.7507599,62.2340426,26.2158055,40.3495441,13.6018237,5.6990881,15.7643312,10.9177215,36.984127,17.2077922 +1178,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.491267,0.5055273,7.482343,4.711104,53.8679762,17.7779626,32.7326532,67.5549881,36.8104903,47.1488988,21.7005088,6.5566829,9.086576,7.5071761,32.1657176,3.1395552,0.558347,0.5895171,7.8064372,4.8559712,52.239748,18.0854804,32.5410827,67.6709635,36.9234837,47.4200383,21.7794672,6.9181826,9.3540903,8.0515606,32.9473056,3.9473876,0.6488578,0.6812773,8.0273698,4.9406208,51.7584711,18.4272722,32.5229353,67.8990794,36.834865,47.2935792,21.4403661,7.3669715,9.7232025,8.5318921,33.7495732,3.4264161,0.6969812,0.7374629,7.907988,5.0746955,50.5550079,18.9641814,32.7231807,68.5493289,37.7349263,47.7584155,21.3880178,7.4686756,10.1998522,9.332586,33.8313275,3.534052,0.7366831,0.7781801,7.9796154,5.1706224,49.4404498,19.5235132,32.9049126,68.0564227,38.3385611,47.0950891,21.0135845,7.3040746,10.1493099,9.2577693,33.096891,3.8028126 +1179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8461547,0.8461547,14.0943304,10.6505321,54.7525948,31.5145894,34.0466802,65.6939779,33.6576998,45.979455,16.277643,5.5123283,13.5442735,10.2529535,32.864485,6.5214691,0.6531879,0.6531879,13.9704703,10.0935572,55.6680997,31.0594476,32.7332607,64.8667153,33.2667327,45.533522,16.33343,5.2667193,14.7058147,10.8694485,33.7211075,6.8178793,0.6289372,0.6289372,13.605843,10.1206849,56.5014394,30.1972456,32.8249059,67.4403491,34.5491958,46.6182311,16.5120562,4.5756484,14.0150759,8.7119787,34.4785557,6.3755248,0.5512369,0.5512369,12.3448003,8.8966315,56.9157165,30.502715,31.3873682,66.8269016,35.6457166,45.5358461,17.1016637,3.7775063,14.0151314,8.4595338,32.6973234,6.7372579,0.8420891,0.8420891,12.1865921,8.1477004,58.8607515,31.7428637,30.9257161,65.7081967,34.4320569,45.932855,18.0224518,3.436214,14.0711151,8.8798299,31.2672522,6.2496783 +1180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5486675,0.5688132,7.8713827,5.1737385,44.6092175,18.4416141,30.1439644,67.9515598,36.2674474,45.2250954,20.4938588,4.7158485,9.8266699,8.6929439,30.85306,2.8535511,0.5559075,0.5710776,8.0068259,5.2174572,43.5980053,18.3070835,30.6125718,67.9482195,36.0108878,45.3519483,19.9729284,4.9404957,9.8628393,8.9774452,31.7954772,3.2711562,0.5414514,0.5558893,8.3876107,5.4449655,43.3947839,18.212742,30.4976317,67.6654476,35.4467348,45.2139882,19.9666926,5.0322745,10.4667761,8.7510024,31.1125864,3.6164081,0.470252,0.4603845,8.4106778,5.5298841,43.5633002,18.7353631,29.712936,67.7833397,35.4286739,44.5198679,20.0764788,4.9393432,10.1691046,8.5673415,31.3657758,3.0247147,0.4106641,0.4010445,8.4577804,5.4969562,43.8268561,18.5456541,29.7958128,67.658225,34.4899217,44.3940314,19.7928722,4.6651635,10.1684459,8.8673342,30.9662918,2.916153 +1181,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5588727,0.5747668,11.0253106,7.8071118,36.2306463,12.8488544,31.0222132,67.2385381,39.6735607,48.1204728,21.7252104,6.1238448,9.037775,8.9665499,32.9520225,6.9343116,0.6029121,0.6078237,10.9278624,7.8354654,35.3820757,13.1965852,31.73076,67.7600074,39.9454725,48.0730881,21.4849809,6.2447983,8.3750042,8.7156094,32.5396145,6.7857191,0.5591007,0.5642918,10.9411347,7.8785047,35.5159816,13.6352457,32.2492452,68.0183967,39.736039,48.4754158,21.2674314,6.3425448,8.1283079,9.1029264,32.4954475,7.0895575,0.5729715,0.5871146,10.3829527,7.2564006,34.7031899,13.3681146,32.6328717,68.8759518,41.3635703,49.3379696,21.6367622,6.253139,8.4646332,8.9271912,31.3059183,5.1181143,0.5271897,0.5418758,10.038871,7.1360649,33.824758,13.1542854,32.8836319,68.540798,40.9372065,48.7959889,21.6358725,6.4588521,8.1149331,8.5036724,31.6563886,6.0000048 +1182,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5773599,0.5732945,7.5552437,5.0028716,71.1333796,8.2244997,25.6238703,65.7222378,32.8306379,40.5092171,16.3181446,5.8870051,10.1678363,8.7320004,35.0098284,4.5693277,0.6077662,0.5930191,7.4387969,4.8747325,68.8695372,8.4811346,25.4740936,65.8362674,33.1230894,40.6746981,16.3614194,6.1794713,9.9597018,8.5333327,34.6816327,4.3049793,0.5933403,0.5840627,7.3318052,4.7644491,67.4117329,8.4383245,25.8457467,66.075168,33.3796131,40.8550683,16.5055329,6.4960846,9.8449333,8.2465213,34.1410553,4.8186528,0.583237,0.5657887,7.4754193,4.9091691,66.4294555,8.5721948,25.9692494,66.5690288,33.1992377,41.20556,16.5276151,6.6230469,9.6098774,8.0337122,35.0179206,4.7938144,0.5706192,0.5592598,7.7025862,5.000652,65.212968,8.3950182,25.6465694,66.2312924,33.2022218,41.3417504,16.8424207,6.727113,9.8352285,8.5289989,35.2132509,4.6161322 +1183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0152725,1.0822941,12.3781652,8.2845966,43.3110292,15.0227154,32.2909939,67.6431997,37.2942667,46.7742028,24.5885434,4.3778679,12.0800936,12.4677164,40.3246728,3.9855072,1.0758781,1.1677934,12.5923561,8.7130446,42.8342948,14.9938522,31.7724907,66.4047873,36.3607697,46.1030851,24.7328786,4.6825845,12.4211901,12.0581106,39.6333779,5.7432471,1.0365982,1.1165691,11.9416236,7.8915926,41.5893707,15.0476794,30.8277799,67.0420066,36.3663935,47.0176499,25.2282533,4.2909262,12.7935647,12.1906233,40.1863255,3.7671259,0.8846185,0.9782222,12.6628726,8.4702361,41.380344,14.4362179,31.3845601,67.7428858,36.1547247,47.3822039,24.7527777,3.6940094,12.9739264,12.7672492,38.5577969,4.8701362,0.8907328,0.9810036,12.840773,8.8058753,40.828582,14.3131766,32.6319002,68.4904797,36.6161444,46.773287,24.7194331,3.5634135,14.1618216,13.1365917,38.5464947,5.6666704 +1184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5559075,0.5710776,8.0068259,5.2174572,43.5980053,18.3070835,30.6125718,67.9482195,36.0108878,45.3519483,19.9729284,4.9404957,9.8628393,8.9774452,31.7954772,3.2711562,0.5414514,0.5558893,8.3876107,5.4449655,43.3947839,18.212742,30.4976317,67.6654476,35.4467348,45.2139882,19.9666926,5.0322745,10.4667761,8.7510024,31.1125864,3.6164081,0.470252,0.4603845,8.4106778,5.5298841,43.5633002,18.7353631,29.712936,67.7833397,35.4286739,44.5198679,20.0764788,4.9393432,10.1691046,8.5673415,31.3657758,3.0247147,0.4106641,0.4010445,8.4577804,5.4969562,43.8268561,18.5456541,29.7958128,67.658225,34.4899217,44.3940314,19.7928722,4.6651635,10.1684459,8.8673342,30.9662918,2.916153,0.3816717,0.3732877,8.7674748,5.6419801,43.7709095,18.8688672,29.2332827,67.8558836,34.6773844,44.3076494,19.3461687,4.7023483,10.4771479,8.3906073,30.8849502,2.3547726 +1185,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5840848,1.5648811,30.3805086,25.5676639,46.9787178,14.5671919,33.6031652,61.5415355,29.4469425,43.3681653,17.4838811,2.3716719,16.5316862,13.1916095,43.0349309,20.299154,1.5331563,1.5133067,30.6825644,26.3827698,48.3045789,14.4538358,32.8989292,61.1881896,28.6153816,42.2782794,17.0656239,2.227869,16.303925,13.1332051,44.518177,19.0789557,1.5412975,1.5348161,31.7690629,27.252684,49.3311726,14.0545942,33.6188503,60.1706639,27.9849704,42.753824,16.8768851,2.2234695,16.641461,13.2503166,44.2855522,17.7824268,1.6585931,1.6906783,33.4949311,28.4286009,49.9201099,14.0869688,33.4709825,58.7909064,28.0507352,42.2583215,16.2174233,1.9982974,17.1790121,12.7979953,44.2798647,21.4,1.58481,1.5974446,33.4923699,28.7052334,50.7932353,14.0721332,33.8464448,58.7965032,28.2019059,42.8458454,16.4933532,1.9206809,17.1423024,12.4402641,43.8801368,21.9844529 +1186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9357523,0.9431193,8.9994307,5.5400601,19.8040115,18.0179688,32.7516596,67.8710533,38.627576,50.0612376,22.33785,5.187798,10.0932198,9.3962927,25.4460722,6.5879523,0.9382653,0.9091915,9.1289572,5.6702773,19.4355184,17.3696555,32.6185746,67.5375399,39.2869544,49.9848788,22.5789201,5.0582726,9.5008683,8.9108032,24.9789322,8.605725,0.8366334,0.8010998,8.9894895,5.5826819,19.9064949,17.4660428,32.3571234,67.2234048,39.7705171,49.7943884,22.5250972,5.0501077,8.9875425,9.0001241,24.7765646,6.4388183,0.7911693,0.7565433,8.6869463,5.5143789,19.3716422,17.3063449,32.3506111,67.8029791,38.8700351,50.0614116,21.9876571,5.030317,9.368249,9.3159263,24.6372447,5.5550741,0.9313324,0.8951097,9.3064876,6.0691621,19.250365,17.5725021,32.8961935,67.5419736,38.8556206,49.9846397,22.2003102,5.2685572,9.7333886,9.2557951,25.315658,7.1422396 +1187,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5331563,1.5133067,30.6825644,26.3827698,48.3045789,14.4538358,32.8989292,61.1881896,28.6153816,42.2782794,17.0656239,2.227869,16.303925,13.1332051,44.518177,19.0789557,1.5412975,1.5348161,31.7690629,27.252684,49.3311726,14.0545942,33.6188503,60.1706639,27.9849704,42.753824,16.8768851,2.2234695,16.641461,13.2503166,44.2855522,17.7824268,1.6585931,1.6906783,33.4949311,28.4286009,49.9201099,14.0869688,33.4709825,58.7909064,28.0507352,42.2583215,16.2174233,1.9982974,17.1790121,12.7979953,44.2798647,21.4,1.58481,1.5974446,33.4923699,28.7052334,50.7932353,14.0721332,33.8464448,58.7965032,28.2019059,42.8458454,16.4933532,1.9206809,17.1423024,12.4402641,43.8801368,21.9844529,1.5927845,1.6434188,33.8201021,29.2319376,51.9374469,14.4509856,33.6687938,59.3137799,28.2477642,42.2527997,16.0706234,1.597492,16.6641535,12.2099144,42.9242832,23.5408744 +1188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6304307,0.6126704,7.9163703,4.8809833,37.1816363,10.8756544,29.0680925,67.636026,35.7550736,48.958071,21.6423483,3.1729235,10.1920418,9.8418141,29.8750679,2.5679766,0.6670558,0.6374031,7.9309127,4.8729957,36.2756589,10.8652654,28.8815096,67.9045854,36.1269368,48.4019815,21.6905691,3.2594612,9.7977966,9.538306,29.4837032,3.097347,0.6177634,0.5837157,7.8442804,4.9447444,35.3697611,10.7157513,29.2399414,67.7231649,36.4554852,48.0249537,21.0760672,3.2039819,9.9859475,9.8431038,30.4678953,2.7298851,0.63508,0.6066086,7.9371418,5.0368671,35.4238453,10.7095768,29.8233063,67.8310779,36.5634483,48.0304834,21.1745875,3.3000469,10.302171,10.1319686,31.1888765,2.7696793,0.5690291,0.564866,7.7231847,4.9178645,34.4676074,10.7568836,30.3616284,68.7305352,36.9805107,48.2797947,21.175216,3.2395873,10.2164394,9.7274439,31.0146833,3.1343302 +1189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.872553,0.9493264,9.8234943,6.3265708,46.8008354,14.5177049,27.1277305,64.6094753,34.6138946,41.2792859,19.5582938,3.3461261,10.9372577,11.2386441,39.3724787,3.3304611,0.8320583,0.9094116,9.9431281,6.2572955,45.7390622,15.6691796,27.3363929,64.3557122,35.4170178,41.4026958,19.8464596,3.4982367,11.9112729,11.4893049,40.9476022,3.4623178,0.843935,0.9200673,10.0599685,6.509344,45.7483965,15.8048564,27.290812,64.8253855,36.1640354,40.7019307,18.9436081,3.6516288,11.7753481,11.3680165,39.8476327,2.4265319,0.8494382,0.9231747,10.1419618,6.4315607,45.2777986,15.5309196,27.4315657,64.7998636,37.3293299,40.829302,19.2241353,3.3966884,11.1445783,10.3575745,39.1148792,6.9426702,0.8533715,0.8785568,10.58331,6.7561412,44.8044015,15.4044596,27.1871975,64.0161259,37.5308161,40.5691364,19.1809155,3.2739065,11.7644229,10.0875913,37.8849789,9.1322006 +1190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3726542,0.3693778,9.3523926,6.747487,78.2207275,10.3328856,29.4258868,68.7706375,28.7633803,44.1112062,14.5932735,3.3308615,12.1159446,11.7747243,32.4075191,4.044076,0.4050861,0.4166726,9.8273328,6.81486,78.1495863,10.4552151,29.5269096,69.2436452,29.3033229,44.0202131,14.6237089,3.632617,12.3792688,11.896589,32.9981307,3.0821622,0.5169653,0.5112083,9.4881437,6.4533904,77.5672908,10.5543185,29.2715347,68.8424319,29.7523042,44.3232643,14.8483657,3.7536721,12.189235,12.1201748,33.8564138,2.3026255,0.4509225,0.445089,9.2036686,6.2406857,76.0127398,11.0308352,29.1885174,68.8668742,29.9739007,43.3246435,15.1270989,4.0201659,12.8392724,12.552105,33.9536969,2.9411688,0.4324986,0.461604,9.4015137,6.1506652,75.7076172,10.7024335,29.3624788,68.4004727,30.1454482,43.7546842,14.7836864,3.9708869,12.334132,12.1857013,32.6409647,2.8845876 +1191,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6871131,0.6734659,6.8936877,3.9036545,55.0696379,19.0928843,30.9484649,67.2971491,32.6480263,45.2576754,18.558114,5.0164474,9.8150051,8.281893,33.4543568,2.7607362,0.7276995,0.7132539,6.5114909,3.8597525,53.5,19.5002872,30.887471,66.7923434,32.4535963,45.562645,18.6484919,5.24942,9.5733042,7.8485181,32.7986726,3.0612245,0.7121383,0.6971064,6.4189189,4.0233415,51.7083588,19.8626045,30.9753161,66.9175196,33.2028898,46.0264901,18.9945816,5.0872968,8.2946636,7.2759022,31.6686251,1.8939394,0.6979647,0.6826037,6.147541,3.8776797,50.1566416,20.7820197,31.3354037,68.3540373,34.3167702,46.242236,20.0310559,5.7453416,8.5411471,7.8222778,32.3047859,2.8688525,0.8174224,0.7776452,5.9803922,3.8888889,48.3776768,20.7961783,30.9691913,69.4801027,34.6919127,46.1810013,19.5442875,6.0012837,7.992074,7.2281167,32.3803191,3.0434783 +1192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1770957,1.359681,24.3699531,19.8732529,48.0198604,16.2797091,40.5269159,63.4216919,37.0894962,47.3593568,24.6138989,3.9992389,11.3371428,10.287495,32.5670259,19.6026706,1.3403928,1.4028127,24.3268484,19.7318561,48.8804646,15.2593581,41.9406444,63.9482147,36.6460874,46.9048114,24.4474193,4.0584256,11.7179589,11.0488711,32.1208455,17.8791311,1.4027695,1.4853808,24.105699,19.9597205,47.3200906,15.4638243,42.5012002,64.748204,38.5102843,48.1616725,24.7356592,4.0288941,11.0215753,10.7499087,31.1057957,15.8391158,1.5983054,1.6810146,24.1315501,20.0907359,47.2412518,15.4934796,42.970979,63.9514927,39.5751037,47.9604599,25.6662148,4.0952281,11.7783922,11.5061347,30.5537547,16.8717317,1.8704163,1.9535017,24.8603369,20.6870181,47.9354424,15.8481305,42.7144193,64.7310233,40.4533309,49.6257854,25.5656312,4.5553209,12.3743037,10.7073284,32.3210931,17.4056297 +1193,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6029121,0.6078237,10.9278624,7.8354654,35.3820757,13.1965852,31.73076,67.7600074,39.9454725,48.0730881,21.4849809,6.2447983,8.3750042,8.7156094,32.5396145,6.7857191,0.5591007,0.5642918,10.9411347,7.8785047,35.5159816,13.6352457,32.2492452,68.0183967,39.736039,48.4754158,21.2674314,6.3425448,8.1283079,9.1029264,32.4954475,7.0895575,0.5729715,0.5871146,10.3829527,7.2564006,34.7031899,13.3681146,32.6328717,68.8759518,41.3635703,49.3379696,21.6367622,6.253139,8.4646332,8.9271912,31.3059183,5.1181143,0.5271897,0.5418758,10.038871,7.1360649,33.824758,13.1542854,32.8836319,68.540798,40.9372065,48.7959889,21.6358725,6.4588521,8.1149331,8.5036724,31.6563886,6.0000048,0.465572,0.4690932,9.2398345,6.6718151,32.741331,13.7890164,32.1052476,69.3183152,41.6106926,49.2367053,21.8864909,6.177025,8.7158776,8.7158877,31.7413447,4.4715484 +1194,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6778696,0.7361998,9.9396184,6.3604977,35.1156042,21.0088802,37.7051786,70.0301681,44.230829,52.8305179,24.6542452,3.8677533,9.5052013,9.9133957,29.8955056,4.0441206,0.7117075,0.7698065,9.9742694,6.4135741,34.8721038,20.8333055,36.92667,69.7599833,43.6562465,52.7861148,24.2391716,3.8791261,9.8877288,9.5340733,30.4856288,4.1984765,0.6241743,0.6634295,9.2942116,6.0525287,34.7527796,20.8873413,37.5564389,69.753616,43.593434,52.7104749,24.6611919,3.5934258,10.2489552,9.5771077,31.2082776,4.1984765,0.6049758,0.6239221,9.5707625,6.3998458,35.5490129,20.7550701,36.6588409,69.3699105,43.0377324,52.4115053,25.145846,3.4422365,10.79277,9.6862745,32.5314959,3.125,0.6817745,0.6883474,9.5752431,6.6825336,35.6125909,19.8940409,35.7779051,69.0494053,42.0906256,51.3739247,24.7493372,3.6576264,10.8760159,9.6881998,34.2909921,3.7671207 +1195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2871644,0.2810839,6.9041218,4.1981836,68.7883358,19.7893641,30.650755,63.5981392,29.4127396,40.0360664,15.3155432,5.9704636,9.8733271,8.3645943,35.5263216,3.1554532,0.2282775,0.2221411,6.9333029,3.9992095,68.0437792,19.1439979,31.0252283,63.806914,29.5314849,40.3917236,15.56323,5.5914562,9.6810125,7.8672662,35.1907387,4.2501573,0.3340767,0.3353141,7.5384215,4.2643641,67.3888227,19.0983816,31.2548695,63.8301092,29.9957303,40.4753445,16.2266976,5.2599656,9.475659,8.0827098,35.1320887,4.3591398,0.2863911,0.2938622,7.5337102,4.2670631,66.3555337,19.2898222,31.6637321,63.6343949,30.4372477,40.617456,16.6190254,4.885545,9.9325389,8.47139,35.109618,3.1402089,0.3997496,0.4260654,7.3699388,4.2320383,64.6189046,19.3948022,31.1115586,63.5972074,30.4552989,41.0377341,16.0582509,4.8605446,10.172678,8.6972937,34.1767552,3.1553413 +1196,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5301398,0.5301398,8.6136092,5.7475536,65.0240572,13.783921,27.8829833,67.4406336,31.7694036,44.5654979,14.1390519,5.5766466,11.9388587,10.3997716,30.3570678,7.07271,0.4359439,0.4204351,8.1236194,5.4432624,63.5800018,14.7543406,27.6108235,67.4840561,32.5825309,44.8947567,14.5645264,5.622318,11.9176321,10.6563002,29.640869,5.8969051,0.3654733,0.349427,7.9280087,5.2225169,63.3787542,14.9301697,27.1299087,66.6263353,32.4421596,44.7566939,14.0565263,5.7778448,12.5264732,10.9264575,28.5764367,4.4041451,0.4331162,0.4331162,8.0928754,5.2085645,62.1907271,14.5090575,26.7904036,67.0019233,31.3949192,44.7986613,13.9324355,5.4740739,12.4039445,10.3919074,29.7192356,4.4271341,0.4310578,0.4462232,8.0186522,5.3080816,62.3645389,14.6275342,26.8891052,67.2474895,31.7100946,45.1627482,13.8598968,5.7166065,11.785984,9.6848603,29.6112911,3.640835 +1197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0381004,1.0381004,19.4226751,15.9940907,82.8611203,15.7925721,33.6420971,66.540821,34.9608616,37.0300795,17.6055523,4.5113177,14.3937387,12.8598807,39.042456,13.8401588,1.2716089,1.2982915,19.050942,15.6541107,82.5618167,15.3418334,33.1424825,66.1120532,35.0020049,37.5632267,17.7137328,4.4527399,14.0945293,13.0077475,40.17773,13.9380994,1.3172285,1.3435155,18.7801092,15.2634621,83.205703,15.4417139,32.2009388,65.6684137,34.492641,37.7082565,18.2606048,4.6177882,14.4902713,12.2654475,39.3404762,13.7984255,1.4883986,1.5149594,19.5336517,15.2874884,83.8078366,15.3679971,31.352205,64.9329506,33.5497146,37.0854849,18.1467494,4.7200979,13.7971336,12.153692,39.9450453,12.8234491,1.4816503,1.5078639,19.6393788,15.6169509,83.6798902,15.4781265,31.1008005,64.8702339,33.739525,37.5883335,17.4264145,5.0268641,13.8705155,11.3046187,37.0700483,13.5167971 +1198,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7117075,0.7698065,9.9742694,6.4135741,34.8721038,20.8333055,36.92667,69.7599833,43.6562465,52.7861148,24.2391716,3.8791261,9.8877288,9.5340733,30.4856288,4.1984765,0.6241743,0.6634295,9.2942116,6.0525287,34.7527796,20.8873413,37.5564389,69.753616,43.593434,52.7104749,24.6611919,3.5934258,10.2489552,9.5771077,31.2082776,4.1984765,0.6049758,0.6239221,9.5707625,6.3998458,35.5490129,20.7550701,36.6588409,69.3699105,43.0377324,52.4115053,25.145846,3.4422365,10.79277,9.6862745,32.5314959,3.125,0.6817745,0.6883474,9.5752431,6.6825336,35.6125909,19.8940409,35.7779051,69.0494053,42.0906256,51.3739247,24.7493372,3.6576264,10.8760159,9.6881998,34.2909921,3.7671207,0.7369593,0.7432353,9.9475573,7.0454625,35.665699,19.4716515,35.7675645,69.0298625,42.1286765,51.3681645,24.8933893,3.7491079,10.5583363,10.0644749,36.3734142,4.6874971 +1199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4424196,2.4732576,33.9779911,28.6317458,55.3578078,17.1653187,37.5179787,61.2271301,28.7562261,42.2672254,20.6935404,2.6251922,12.3835666,9.7327011,43.5601779,25.5500368,2.4973865,2.527521,34.7805119,29.5516269,57.0091011,16.9519367,36.9562377,62.082159,29.6230363,41.3517345,20.7165035,2.6152551,13.0961899,9.9856645,43.1419269,25.5490832,2.5944296,2.6494621,34.8821709,29.7433403,58.87496,16.7791874,36.7879476,62.9349448,29.4228873,41.0967747,20.6465035,2.5408592,14.3455143,10.686502,42.5702091,25.4135926,2.5447682,2.5703039,34.6965364,29.5674564,60.3912634,16.2174845,37.2916734,63.5815159,29.6456495,40.3348643,20.3181085,2.4571335,15.3611338,10.7638894,40.9139115,25.7621351,2.5298439,2.5473262,35.576646,30.7200392,60.9160315,15.6565022,37.7140645,62.8614687,29.428755,39.4823086,20.3570185,2.3453312,14.8398597,10.1613761,40.3771285,26.4829611 +1200,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0267775,1.0835013,27.1135141,22.8499218,41.0220979,19.2331077,37.3249704,68.1513618,34.1508834,46.2375178,22.0636141,3.3877731,14.6475864,13.8271089,32.8561842,14.4123848,1.1647566,1.1694574,27.2235695,22.6517896,41.975643,19.2258024,37.500917,68.1488378,33.8445754,45.4218288,21.7189024,3.1988298,13.9830068,13.6748287,33.4544286,18.8529768,1.3362129,1.3689887,27.9367307,23.5429536,42.3280761,19.0977257,37.3046692,67.9024957,34.207941,46.1688714,21.0333307,3.1873072,12.9843996,12.3314394,33.6529842,19.9452462,1.4461326,1.4784544,28.7652913,24.9689952,43.2131562,18.7023151,36.4479585,67.5451502,33.756874,44.9404188,19.8223948,2.9004458,13.2686095,11.763617,34.0552528,19.4443462,1.6464655,1.6788951,29.4765901,25.6128651,43.0566793,18.5875735,35.4678642,66.9895167,34.2624624,45.6541724,19.2544623,2.923177,13.4905662,11.9738806,34.0552567,19.1541833 +1201,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6241743,0.6634295,9.2942116,6.0525287,34.7527796,20.8873413,37.5564389,69.753616,43.593434,52.7104749,24.6611919,3.5934258,10.2489552,9.5771077,31.2082776,4.1984765,0.6049758,0.6239221,9.5707625,6.3998458,35.5490129,20.7550701,36.6588409,69.3699105,43.0377324,52.4115053,25.145846,3.4422365,10.79277,9.6862745,32.5314959,3.125,0.6817745,0.6883474,9.5752431,6.6825336,35.6125909,19.8940409,35.7779051,69.0494053,42.0906256,51.3739247,24.7493372,3.6576264,10.8760159,9.6881998,34.2909921,3.7671207,0.7369593,0.7432353,9.9475573,7.0454625,35.665699,19.4716515,35.7675645,69.0298625,42.1286765,51.3681645,24.8933893,3.7491079,10.5583363,10.0644749,36.3734142,4.6874971,0.7101284,0.7278091,10.0498402,6.8272512,35.1365097,19.7701525,35.8206365,69.1201458,41.3367555,50.9813859,24.8223342,3.7055841,10.9511089,9.8860704,35.371585,4.6012213 +1202,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5627689,0.5990842,11.5580527,8.162879,37.8125667,17.8606145,33.7664537,70.004508,40.0865419,48.343246,24.8977285,2.981591,11.4423091,10.2825609,36.2552537,5.8556659,0.6727715,0.7080011,11.3552471,7.8834395,37.1763829,18.1087797,33.9486748,70.6296467,39.1184913,48.424229,25.7258956,3.0772407,10.523829,9.5985482,37.5520954,7.3273714,0.7168445,0.7511436,11.5442826,8.0973803,37.8032708,18.0027485,32.5574335,70.369051,38.2676327,48.0085011,25.0237542,3.1429905,9.7404577,8.8153293,37.0848684,5.4165132,0.8306662,0.8208924,11.7746953,8.3766144,37.856735,18.0245642,31.9532151,69.4348844,37.8890588,48.1331368,24.4376448,3.1354615,9.3902877,9.2651636,39.6919865,5.0386269,0.815702,0.8061798,12.6607384,9.0302402,37.4817258,18.5483608,31.680527,69.6690317,38.0122098,48.8593486,24.2785378,3.2355602,8.6482679,9.1127385,38.9162807,8.711778 +1203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5735749,0.597033,7.7919111,4.7969941,37.3708777,25.0378718,29.9387163,70.4185827,35.2986608,48.5196428,17.3813115,8.0398019,12.5625812,9.5595356,32.0820518,2.4064171,0.5634747,0.6019916,8.0468638,4.808208,37.2963249,24.8137486,29.0054844,69.4877134,34.2793047,47.9407003,17.1521461,8.0612575,12.0605174,9.433017,32.8278062,2.3560148,0.5602755,0.6318676,8.4924371,5.2129558,36.7675941,24.7090515,29.3440789,70.2153935,34.1899065,47.4546807,17.0582059,8.5902873,11.3966691,9.5630789,32.8307894,1.7676723,0.5397502,0.5869398,8.2233706,5.0188571,36.1838737,24.6744603,29.0451438,70.5315507,34.3132616,46.7309123,16.2511771,8.3019521,10.0571638,9.2945352,32.9350714,2.2613009,0.5441661,0.5898966,8.0210136,5.2787946,35.7800422,24.7411311,28.9963524,69.0054487,34.1280322,45.7083943,15.4177914,7.7429328,10.5581468,9.8139635,33.3490333,2.2959067 +1204,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6547048,0.6810007,8.5194267,5.4873145,48.9998095,15.1860221,26.9360831,68.4744001,41.1696953,46.0646537,21.5107361,5.001681,11.8306229,9.9497265,32.7406013,8.3389037,0.6574024,0.7021836,8.6378871,5.8952369,48.1606274,14.5519891,26.8582976,68.3426468,41.0126376,46.0253079,21.902176,4.907659,11.2437592,9.9112539,32.7346566,6.7785756,0.5476564,0.5992293,9.1400345,6.3906006,47.8123867,14.2832434,27.7347595,68.3754857,41.0661049,45.8485702,22.1460445,5.185026,10.9246259,9.6023135,33.0729474,6.2167036,0.5825273,0.5969893,9.4944884,6.6591403,47.8809302,13.7116639,27.8245461,69.0377792,41.3567641,45.5719355,22.0470436,5.4313318,11.15553,10.2136247,33.830549,8.0110497,0.6329042,0.6468116,9.8892046,6.7755903,47.6042684,13.3993043,28.0130314,68.9600394,40.7200287,44.6092255,21.2982756,5.2834349,10.6352165,9.9992024,33.9863954,8.423913 +1205,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9382653,0.9091915,9.1289572,5.6702773,19.4355184,17.3696555,32.6185746,67.5375399,39.2869544,49.9848788,22.5789201,5.0582726,9.5008683,8.9108032,24.9789322,8.605725,0.8366334,0.8010998,8.9894895,5.5826819,19.9064949,17.4660428,32.3571234,67.2234048,39.7705171,49.7943884,22.5250972,5.0501077,8.9875425,9.0001241,24.7765646,6.4388183,0.7911693,0.7565433,8.6869463,5.5143789,19.3716422,17.3063449,32.3506111,67.8029791,38.8700351,50.0614116,21.9876571,5.030317,9.368249,9.3159263,24.6372447,5.5550741,0.9313324,0.8951097,9.3064876,6.0691621,19.250365,17.5725021,32.8961935,67.5419736,38.8556206,49.9846397,22.2003102,5.2685572,9.7333886,9.2557951,25.315658,7.1422396,0.8641711,0.788991,9.2755821,6.2432996,19.5901895,17.2826517,32.6215965,68.24229,38.8384225,49.594826,22.0674211,5.0921754,9.4650466,9.2114153,25.2264643,5.5555597 +1206,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.558347,0.5895171,7.8064372,4.8559712,52.239748,18.0854804,32.5410827,67.6709635,36.9234837,47.4200383,21.7794672,6.9181826,9.3540903,8.0515606,32.9473056,3.9473876,0.6488578,0.6812773,8.0273698,4.9406208,51.7584711,18.4272722,32.5229353,67.8990794,36.834865,47.2935792,21.4403661,7.3669715,9.7232025,8.5318921,33.7495732,3.4264161,0.6969812,0.7374629,7.907988,5.0746955,50.5550079,18.9641814,32.7231807,68.5493289,37.7349263,47.7584155,21.3880178,7.4686756,10.1998522,9.332586,33.8313275,3.534052,0.7366831,0.7781801,7.9796154,5.1706224,49.4404498,19.5235132,32.9049126,68.0564227,38.3385611,47.0950891,21.0135845,7.3040746,10.1493099,9.2577693,33.096891,3.8028126,0.7769197,0.8027202,8.3061244,5.5192705,48.0866475,19.782931,32.6333015,67.7149052,39.0097903,47.2796478,21.2078318,7.3014136,10.2483123,9.2460025,33.6225307,4.154723 +1207,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6574024,0.7021836,8.6378871,5.8952369,48.1606274,14.5519891,26.8582976,68.3426468,41.0126376,46.0253079,21.902176,4.907659,11.2437592,9.9112539,32.7346566,6.7785756,0.5476564,0.5992293,9.1400345,6.3906006,47.8123867,14.2832434,27.7347595,68.3754857,41.0661049,45.8485702,22.1460445,5.185026,10.9246259,9.6023135,33.0729474,6.2167036,0.5825273,0.5969893,9.4944884,6.6591403,47.8809302,13.7116639,27.8245461,69.0377792,41.3567641,45.5719355,22.0470436,5.4313318,11.15553,10.2136247,33.830549,8.0110497,0.6329042,0.6468116,9.8892046,6.7755903,47.6042684,13.3993043,28.0130314,68.9600394,40.7200287,44.6092255,21.2982756,5.2834349,10.6352165,9.9992024,33.9863954,8.423913,0.6301492,0.6327856,9.8300244,6.6792845,46.9312858,13.7106356,28.311664,69.2102846,40.7573153,45.3572689,21.2777968,5.5750235,11.0526074,9.6635787,34.057733,9.1145833 +1208,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5476564,0.5992293,9.1400345,6.3906006,47.8123867,14.2832434,27.7347595,68.3754857,41.0661049,45.8485702,22.1460445,5.185026,10.9246259,9.6023135,33.0729474,6.2167036,0.5825273,0.5969893,9.4944884,6.6591403,47.8809302,13.7116639,27.8245461,69.0377792,41.3567641,45.5719355,22.0470436,5.4313318,11.15553,10.2136247,33.830549,8.0110497,0.6329042,0.6468116,9.8892046,6.7755903,47.6042684,13.3993043,28.0130314,68.9600394,40.7200287,44.6092255,21.2982756,5.2834349,10.6352165,9.9992024,33.9863954,8.423913,0.6301492,0.6327856,9.8300244,6.6792845,46.9312858,13.7106356,28.311664,69.2102846,40.7573153,45.3572689,21.2777968,5.5750235,11.0526074,9.6635787,34.057733,9.1145833,0.6168436,0.6645466,9.8581699,6.4991658,46.4918939,13.1737185,27.4024594,69.2537975,40.6921608,45.1707879,20.1894538,5.0817929,11.3042185,9.4522574,34.9276891,9.9914473 +1209,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9870188,1.9870188,35.3151862,30.730659,62.2938531,5.387931,35.6213873,63.2225434,26.2283237,41.2572254,15.2456647,4.6965318,16.3663664,12.1257485,41.641791,14.5833333,1.926055,1.926055,34.5545977,29.9568966,63.9183056,5.8357349,33.6482558,64.3168605,26.9622093,41.6424419,15.4796512,5.7412791,15.1651652,11.2275449,39.8507463,14.0718563,1.5489345,1.5489345,34.7283407,30.4698972,65.5145929,6.3970588,33.2095097,62.7786033,26.5230312,40.6389302,14.1901932,5.7206538,14.84375,10.7476636,37.1118012,16.4596273,1.544093,1.544093,35.1739788,30.484115,66.6405024,7.7443609,32.7507599,62.2340426,26.2158055,40.3495441,13.6018237,5.6990881,15.7643312,10.9177215,36.984127,17.2077922,1.9652946,1.9652946,36.7824773,31.9486405,66.3249211,7.0241692,32.6952527,61.0260337,26.5696784,39.5865237,13.5528331,6.5084227,17.5806452,12.3794212,37.9032258,19.8113208 +1210,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5591007,0.5642918,10.9411347,7.8785047,35.5159816,13.6352457,32.2492452,68.0183967,39.736039,48.4754158,21.2674314,6.3425448,8.1283079,9.1029264,32.4954475,7.0895575,0.5729715,0.5871146,10.3829527,7.2564006,34.7031899,13.3681146,32.6328717,68.8759518,41.3635703,49.3379696,21.6367622,6.253139,8.4646332,8.9271912,31.3059183,5.1181143,0.5271897,0.5418758,10.038871,7.1360649,33.824758,13.1542854,32.8836319,68.540798,40.9372065,48.7959889,21.6358725,6.4588521,8.1149331,8.5036724,31.6563886,6.0000048,0.465572,0.4690932,9.2398345,6.6718151,32.741331,13.7890164,32.1052476,69.3183152,41.6106926,49.2367053,21.8864909,6.177025,8.7158776,8.7158877,31.7413447,4.4715484,0.5117137,0.4632807,9.1874732,6.675081,32.2973929,13.9955192,31.0483232,69.201066,41.3697901,48.6034804,21.5717355,6.2595455,9.113842,9.0064498,32.6226664,2.8225806 +1211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5634747,0.6019916,8.0468638,4.808208,37.2963249,24.8137486,29.0054844,69.4877134,34.2793047,47.9407003,17.1521461,8.0612575,12.0605174,9.433017,32.8278062,2.3560148,0.5602755,0.6318676,8.4924371,5.2129558,36.7675941,24.7090515,29.3440789,70.2153935,34.1899065,47.4546807,17.0582059,8.5902873,11.3966691,9.5630789,32.8307894,1.7676723,0.5397502,0.5869398,8.2233706,5.0188571,36.1838737,24.6744603,29.0451438,70.5315507,34.3132616,46.7309123,16.2511771,8.3019521,10.0571638,9.2945352,32.9350714,2.2613009,0.5441661,0.5898966,8.0210136,5.2787946,35.7800422,24.7411311,28.9963524,69.0054487,34.1280322,45.7083943,15.4177914,7.7429328,10.5581468,9.8139635,33.3490333,2.2959067,0.5630552,0.6203405,7.8289367,4.9342119,36.189454,24.5157304,29.3515886,68.2549912,33.8337304,45.7571197,15.8616036,8.0286909,10.4860559,9.7659864,34.0436209,2.2499888 +1212,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2716089,1.2982915,19.050942,15.6541107,82.5618167,15.3418334,33.1424825,66.1120532,35.0020049,37.5632267,17.7137328,4.4527399,14.0945293,13.0077475,40.17773,13.9380994,1.3172285,1.3435155,18.7801092,15.2634621,83.205703,15.4417139,32.2009388,65.6684137,34.492641,37.7082565,18.2606048,4.6177882,14.4902713,12.2654475,39.3404762,13.7984255,1.4883986,1.5149594,19.5336517,15.2874884,83.8078366,15.3679971,31.352205,64.9329506,33.5497146,37.0854849,18.1467494,4.7200979,13.7971336,12.153692,39.9450453,12.8234491,1.4816503,1.5078639,19.6393788,15.6169509,83.6798902,15.4781265,31.1008005,64.8702339,33.739525,37.5883335,17.4264145,5.0268641,13.8705155,11.3046187,37.0700483,13.5167971,1.3978867,1.4590233,20.0374525,15.9919665,84.5896333,14.3890107,30.9827548,64.0674381,33.4580447,38.6467212,17.6623767,4.8144041,13.9083403,10.6031929,36.5378659,11.0286714 +1213,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5412975,1.5348161,31.7690629,27.252684,49.3311726,14.0545942,33.6188503,60.1706639,27.9849704,42.753824,16.8768851,2.2234695,16.641461,13.2503166,44.2855522,17.7824268,1.6585931,1.6906783,33.4949311,28.4286009,49.9201099,14.0869688,33.4709825,58.7909064,28.0507352,42.2583215,16.2174233,1.9982974,17.1790121,12.7979953,44.2798647,21.4,1.58481,1.5974446,33.4923699,28.7052334,50.7932353,14.0721332,33.8464448,58.7965032,28.2019059,42.8458454,16.4933532,1.9206809,17.1423024,12.4402641,43.8801368,21.9844529,1.5927845,1.6434188,33.8201021,29.2319376,51.9374469,14.4509856,33.6687938,59.3137799,28.2477642,42.2527997,16.0706234,1.597492,16.6641535,12.2099144,42.9242832,23.5408744,1.70168,1.7328963,34.8608259,30.1321308,52.3725668,14.7383459,33.6915006,59.8522815,28.0706189,42.502188,16.1778767,1.8570094,17.5730181,12.4290306,41.3877345,22.2785697 +1214,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6585931,1.6906783,33.4949311,28.4286009,49.9201099,14.0869688,33.4709825,58.7909064,28.0507352,42.2583215,16.2174233,1.9982974,17.1790121,12.7979953,44.2798647,21.4,1.58481,1.5974446,33.4923699,28.7052334,50.7932353,14.0721332,33.8464448,58.7965032,28.2019059,42.8458454,16.4933532,1.9206809,17.1423024,12.4402641,43.8801368,21.9844529,1.5927845,1.6434188,33.8201021,29.2319376,51.9374469,14.4509856,33.6687938,59.3137799,28.2477642,42.2527997,16.0706234,1.597492,16.6641535,12.2099144,42.9242832,23.5408744,1.70168,1.7328963,34.8608259,30.1321308,52.3725668,14.7383459,33.6915006,59.8522815,28.0706189,42.502188,16.1778767,1.8570094,17.5730181,12.4290306,41.3877345,22.2785697,1.7461787,1.7885258,35.5325839,31.1039737,54.1777953,14.9538089,33.2961297,60.2982378,27.6166935,42.3887884,15.6359409,1.7655449,18.1642159,12.5299006,41.4088101,22.8782007 +1215,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6049758,0.6239221,9.5707625,6.3998458,35.5490129,20.7550701,36.6588409,69.3699105,43.0377324,52.4115053,25.145846,3.4422365,10.79277,9.6862745,32.5314959,3.125,0.6817745,0.6883474,9.5752431,6.6825336,35.6125909,19.8940409,35.7779051,69.0494053,42.0906256,51.3739247,24.7493372,3.6576264,10.8760159,9.6881998,34.2909921,3.7671207,0.7369593,0.7432353,9.9475573,7.0454625,35.665699,19.4716515,35.7675645,69.0298625,42.1286765,51.3681645,24.8933893,3.7491079,10.5583363,10.0644749,36.3734142,4.6874971,0.7101284,0.7278091,10.0498402,6.8272512,35.1365097,19.7701525,35.8206365,69.1201458,41.3367555,50.9813859,24.8223342,3.7055841,10.9511089,9.8860704,35.371585,4.6012213,0.7672123,0.7897547,10.3097705,6.9305448,34.5545409,20.2609218,36.4231003,69.8628111,41.5922564,51.5794581,24.2980231,3.7811116,11.3392349,10.7142984,34.8918362,5.2147239 +1216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.3114747,1.3911273,19.7480432,15.4781917,28.7036748,13.5071184,34.1510995,66.7173427,39.1880312,47.0039023,21.9496436,2.5835897,13.1457201,11.012368,38.8111619,18.700134,1.285187,1.3598333,20.8132518,16.4062069,29.4229819,13.6878352,35.1171159,65.7310395,38.4693252,47.5969295,22.5969346,2.8069502,13.4820074,10.6617632,38.6500876,18.4783886,1.4720511,1.5123176,21.6599498,17.0331874,29.4805687,14.6133444,35.6094635,65.3310756,37.6411025,47.1218889,22.6674013,3.0285928,13.6845017,10.3846208,38.951413,19.4993755,1.6496251,1.6891825,22.7391146,17.7998045,30.5325382,14.1352132,35.7577302,65.2421917,36.5026997,46.1297976,22.3900413,2.94432,14.5646226,10.8663843,39.6713184,18.9781393,1.5152002,1.5146404,23.3993682,18.2194963,31.0413196,14.798129,36.1363886,64.4487623,36.6872345,46.2335013,22.6156254,3.1159671,14.236336,10.9817031,39.2221767,18.4950769 +1217,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3403928,1.4028127,24.3268484,19.7318561,48.8804646,15.2593581,41.9406444,63.9482147,36.6460874,46.9048114,24.4474193,4.0584256,11.7179589,11.0488711,32.1208455,17.8791311,1.4027695,1.4853808,24.105699,19.9597205,47.3200906,15.4638243,42.5012002,64.748204,38.5102843,48.1616725,24.7356592,4.0288941,11.0215753,10.7499087,31.1057957,15.8391158,1.5983054,1.6810146,24.1315501,20.0907359,47.2412518,15.4934796,42.970979,63.9514927,39.5751037,47.9604599,25.6662148,4.0952281,11.7783922,11.5061347,30.5537547,16.8717317,1.8704163,1.9535017,24.8603369,20.6870181,47.9354424,15.8481305,42.7144193,64.7310233,40.4533309,49.6257854,25.5656312,4.5553209,12.3743037,10.7073284,32.3210931,17.4056297,1.8664846,1.9931348,25.455961,21.1278211,48.2729882,15.9692391,42.9727615,64.2733965,39.7899932,50.000186,26.1307421,4.3614201,12.5491391,10.4821205,33.2694938,15.8070826 +1218,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2284668,1.2871188,23.6223793,19.7547094,50.3345571,18.2303463,38.0065448,65.7482707,34.0058024,45.8809658,20.5836777,2.8764051,15.0618591,12.4166175,38.0986987,13.2978771,1.276951,1.3170708,24.0164274,20.2102836,51.2788392,17.7305585,39.1116052,65.9758111,33.7359493,46.8229233,20.529376,2.8097079,15.6376548,12.4788142,37.0276326,13.1119019,1.2486357,1.2634711,24.1777269,20.2977189,51.4674326,17.4877226,39.7673997,65.3199453,34.5148498,46.9864079,20.6123497,2.8917075,15.463982,12.3131306,35.9965422,14.403983,1.1883305,1.2028583,24.7920085,21.1129818,52.2896968,17.4611806,39.7737018,65.1925806,34.3259402,46.8580841,20.8375915,2.5820291,15.1446939,11.6620786,35.4884852,13.5092941,1.2832475,1.2823715,24.7646932,20.8408301,52.8751435,17.1490043,40.0928708,64.732876,35.025617,47.0294695,21.0338511,2.2926581,15.5308619,12.1958256,35.1133432,13.593723 +1219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6670558,0.6374031,7.9309127,4.8729957,36.2756589,10.8652654,28.8815096,67.9045854,36.1269368,48.4019815,21.6905691,3.2594612,9.7977966,9.538306,29.4837032,3.097347,0.6177634,0.5837157,7.8442804,4.9447444,35.3697611,10.7157513,29.2399414,67.7231649,36.4554852,48.0249537,21.0760672,3.2039819,9.9859475,9.8431038,30.4678953,2.7298851,0.63508,0.6066086,7.9371418,5.0368671,35.4238453,10.7095768,29.8233063,67.8310779,36.5634483,48.0304834,21.1745875,3.3000469,10.302171,10.1319686,31.1888765,2.7696793,0.5690291,0.564866,7.7231847,4.9178645,34.4676074,10.7568836,30.3616284,68.7305352,36.9805107,48.2797947,21.175216,3.2395873,10.2164394,9.7274439,31.0146833,3.1343302,0.5932583,0.5738238,7.7591998,5.0878551,34.4534354,10.9803126,30.0738509,69.1003,36.8443482,48.6798212,20.4650997,3.0441657,10.3168253,9.881145,31.3585345,3.2012224 +1220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5414514,0.5558893,8.3876107,5.4449655,43.3947839,18.212742,30.4976317,67.6654476,35.4467348,45.2139882,19.9666926,5.0322745,10.4667761,8.7510024,31.1125864,3.6164081,0.470252,0.4603845,8.4106778,5.5298841,43.5633002,18.7353631,29.712936,67.7833397,35.4286739,44.5198679,20.0764788,4.9393432,10.1691046,8.5673415,31.3657758,3.0247147,0.4106641,0.4010445,8.4577804,5.4969562,43.8268561,18.5456541,29.7958128,67.658225,34.4899217,44.3940314,19.7928722,4.6651635,10.1684459,8.8673342,30.9662918,2.916153,0.3816717,0.3732877,8.7674748,5.6419801,43.7709095,18.8688672,29.2332827,67.8558836,34.6773844,44.3076494,19.3461687,4.7023483,10.4771479,8.3906073,30.8849502,2.3547726,0.3313229,0.3228605,8.9916984,5.8337086,44.0499309,18.8388629,29.3937226,68.5175961,34.4689325,44.362999,19.1025368,4.6899137,10.8166919,8.1393213,30.8257407,1.9341487 +1221,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6531879,0.6531879,13.9704703,10.0935572,55.6680997,31.0594476,32.7332607,64.8667153,33.2667327,45.533522,16.33343,5.2667193,14.7058147,10.8694485,33.7211075,6.8178793,0.6289372,0.6289372,13.605843,10.1206849,56.5014394,30.1972456,32.8249059,67.4403491,34.5491958,46.6182311,16.5120562,4.5756484,14.0150759,8.7119787,34.4785557,6.3755248,0.5512369,0.5512369,12.3448003,8.8966315,56.9157165,30.502715,31.3873682,66.8269016,35.6457166,45.5358461,17.1016637,3.7775063,14.0151314,8.4595338,32.6973234,6.7372579,0.8420891,0.8420891,12.1865921,8.1477004,58.8607515,31.7428637,30.9257161,65.7081967,34.4320569,45.932855,18.0224518,3.436214,14.0711151,8.8798299,31.2672522,6.2496783,0.956363,0.956363,12.4659823,8.5150618,59.8757447,31.7751659,30.563206,67.2389707,34.5467608,45.2610121,18.475315,3.7775088,14.6052469,9.868499,33.0240028,4.9242797 +1222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4973865,2.527521,34.7805119,29.5516269,57.0091011,16.9519367,36.9562377,62.082159,29.6230363,41.3517345,20.7165035,2.6152551,13.0961899,9.9856645,43.1419269,25.5490832,2.5944296,2.6494621,34.8821709,29.7433403,58.87496,16.7791874,36.7879476,62.9349448,29.4228873,41.0967747,20.6465035,2.5408592,14.3455143,10.686502,42.5702091,25.4135926,2.5447682,2.5703039,34.6965364,29.5674564,60.3912634,16.2174845,37.2916734,63.5815159,29.6456495,40.3348643,20.3181085,2.4571335,15.3611338,10.7638894,40.9139115,25.7621351,2.5298439,2.5473262,35.576646,30.7200392,60.9160315,15.6565022,37.7140645,62.8614687,29.428755,39.4823086,20.3570185,2.3453312,14.8398597,10.1613761,40.3771285,26.4829611,2.5737301,2.6419384,36.3306684,31.5338271,62.8041657,15.3625695,37.4578273,62.5171277,29.1099061,39.5400382,20.3123221,2.0736422,16.1384214,10.7874222,41.5704529,27.0017854 +1223,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0560992,1.0702892,24.8775975,20.1832622,41.7355315,14.0051566,40.2250615,67.2760607,34.3339228,50.6863748,25.8018506,5.6790622,14.3219427,12.540681,32.8783465,10.6146495,1.0618941,1.101015,24.6236775,20.0341124,42.4575583,14.4770931,40.0468644,66.8671311,34.2692551,50.238538,26.3292164,5.6132104,15.5535104,13.179662,33.971069,11.5580431,1.3407337,1.3799128,25.2805969,20.2660148,43.6454349,14.5622531,39.712705,65.9816631,33.5674129,49.6473796,25.5818763,5.6058242,15.6427102,13.3078201,35.2701831,14.2550965,1.4866705,1.5399419,25.1644312,19.7508707,43.5796797,14.1290455,39.6678527,66.2032372,33.8586655,49.3241702,25.3436079,5.9253757,15.668528,12.9636645,34.4396119,14.2570664,1.6871373,1.6899847,24.9698249,19.3001674,44.1095044,13.983285,39.644096,66.0705058,33.2093819,49.4695101,24.6962561,6.1357535,14.7651839,12.6391353,33.7839893,16.2018665 +1224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3877573,0.4618314,6.1016258,3.8942117,53.1044457,19.9072214,29.0012228,67.6422352,34.2406756,42.7138664,19.7503037,7.9615247,9.8130858,7.4341559,36.492279,3.086421,0.4832712,0.5315279,6.5270418,4.0870247,52.5569325,20.2310992,29.5950709,67.1496561,34.0809715,42.854301,19.9086923,7.2449408,10.2868869,6.6091965,36.2168851,2.6639366,0.4844245,0.5463029,6.6705541,4.0256682,52.2379462,20.6851338,29.4061582,67.0536697,33.7837725,42.1583537,20.1560686,7.4038844,10.5364001,6.9455114,36.9379825,2.3897076,0.4690531,0.5336904,7.0198416,4.0621468,51.796295,20.4018785,29.1160133,67.6058861,34.3462176,41.3443783,19.8710895,7.8637227,11.0822865,7.2436871,36.5643747,1.5901071,0.4132159,0.4538588,6.7441854,3.9892647,51.4585545,20.3162956,29.0751141,66.3536403,33.929829,40.6272058,20.5705183,7.7073028,10.5432497,7.1479916,36.1171379,1.5151525 +1225,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3045505,1.3281386,21.7283756,18.0293442,41.0881583,16.0498177,37.9695939,65.3148988,36.2732008,47.8460144,23.0547096,3.6624087,12.1204077,9.2463368,30.372944,21.4285515,1.353437,1.3881445,22.0040261,18.0678787,41.265584,15.9225244,37.9172897,65.2471367,35.5989628,47.364781,22.6223625,3.4167672,11.932232,9.330389,30.3740798,21.7171263,1.2910333,1.3253714,22.9372072,18.8734072,41.1276553,16.3656307,38.525069,65.3508341,35.6852243,47.7764548,23.1047461,3.2486373,11.4777062,9.2044162,30.0773994,21.2553574,1.2258111,1.2605083,22.8306561,18.722813,41.3851561,16.4628664,38.6584936,65.4280483,35.3817977,48.7223499,23.1425172,3.2150821,11.4173895,9.6428171,30.843302,19.6263804,1.4098217,1.4289581,23.7824794,19.5025179,41.8039283,16.6680174,38.4937603,66.1116246,36.3222513,49.2452828,23.4073767,3.1782304,12.275995,9.8624046,31.3209658,20.8642593 +1226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.470252,0.4603845,8.4106778,5.5298841,43.5633002,18.7353631,29.712936,67.7833397,35.4286739,44.5198679,20.0764788,4.9393432,10.1691046,8.5673415,31.3657758,3.0247147,0.4106641,0.4010445,8.4577804,5.4969562,43.8268561,18.5456541,29.7958128,67.658225,34.4899217,44.3940314,19.7928722,4.6651635,10.1684459,8.8673342,30.9662918,2.916153,0.3816717,0.3732877,8.7674748,5.6419801,43.7709095,18.8688672,29.2332827,67.8558836,34.6773844,44.3076494,19.3461687,4.7023483,10.4771479,8.3906073,30.8849502,2.3547726,0.3313229,0.3228605,8.9916984,5.8337086,44.0499309,18.8388629,29.3937226,68.5175961,34.4689325,44.362999,19.1025368,4.6899137,10.8166919,8.1393213,30.8257407,1.9341487,0.4376925,0.4294045,9.2864559,6.0774547,43.9383998,19.008852,29.0979665,68.8659144,35.2190779,44.7171648,19.6955008,4.9231527,10.5601571,8.1607485,31.4157367,2.8271662 +1227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6177634,0.5837157,7.8442804,4.9447444,35.3697611,10.7157513,29.2399414,67.7231649,36.4554852,48.0249537,21.0760672,3.2039819,9.9859475,9.8431038,30.4678953,2.7298851,0.63508,0.6066086,7.9371418,5.0368671,35.4238453,10.7095768,29.8233063,67.8310779,36.5634483,48.0304834,21.1745875,3.3000469,10.302171,10.1319686,31.1888765,2.7696793,0.5690291,0.564866,7.7231847,4.9178645,34.4676074,10.7568836,30.3616284,68.7305352,36.9805107,48.2797947,21.175216,3.2395873,10.2164394,9.7274439,31.0146833,3.1343302,0.5932583,0.5738238,7.7591998,5.0878551,34.4534354,10.9803126,30.0738509,69.1003,36.8443482,48.6798212,20.4650997,3.0441657,10.3168253,9.881145,31.3585345,3.2012224,0.613544,0.5942573,8.0205704,5.3848644,33.6138613,10.9949772,29.4710624,69.7424953,36.6716215,49.6785626,20.6627982,3.0283944,10.4323632,9.8486883,30.6894859,3.685901 +1228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4832712,0.5315279,6.5270418,4.0870247,52.5569325,20.2310992,29.5950709,67.1496561,34.0809715,42.854301,19.9086923,7.2449408,10.2868869,6.6091965,36.2168851,2.6639366,0.4844245,0.5463029,6.6705541,4.0256682,52.2379462,20.6851338,29.4061582,67.0536697,33.7837725,42.1583537,20.1560686,7.4038844,10.5364001,6.9455114,36.9379825,2.3897076,0.4690531,0.5336904,7.0198416,4.0621468,51.796295,20.4018785,29.1160133,67.6058861,34.3462176,41.3443783,19.8710895,7.8637227,11.0822865,7.2436871,36.5643747,1.5901071,0.4132159,0.4538588,6.7441854,3.9892647,51.4585545,20.3162956,29.0751141,66.3536403,33.929829,40.6272058,20.5705183,7.7073028,10.5432497,7.1479916,36.1171379,1.5151525,0.3749351,0.4234955,6.7718937,3.8866243,50.8792682,19.8906863,28.0775619,65.615505,33.5413109,40.1854921,19.1736935,7.5379455,10.0337885,7.5798812,36.6825584,1.1146504 +1229,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5944296,2.6494621,34.8821709,29.7433403,58.87496,16.7791874,36.7879476,62.9349448,29.4228873,41.0967747,20.6465035,2.5408592,14.3455143,10.686502,42.5702091,25.4135926,2.5447682,2.5703039,34.6965364,29.5674564,60.3912634,16.2174845,37.2916734,63.5815159,29.6456495,40.3348643,20.3181085,2.4571335,15.3611338,10.7638894,40.9139115,25.7621351,2.5298439,2.5473262,35.576646,30.7200392,60.9160315,15.6565022,37.7140645,62.8614687,29.428755,39.4823086,20.3570185,2.3453312,14.8398597,10.1613761,40.3771285,26.4829611,2.5737301,2.6419384,36.3306684,31.5338271,62.8041657,15.3625695,37.4578273,62.5171277,29.1099061,39.5400382,20.3123221,2.0736422,16.1384214,10.7874222,41.5704529,27.0017854,2.6311465,2.6713971,37.3262005,32.5416067,64.1402365,15.2663567,37.7675574,62.1103152,28.1000374,39.5437351,18.7670918,2.1093862,16.9969304,11.1672211,42.1467386,26.2074005 +1230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3172285,1.3435155,18.7801092,15.2634621,83.205703,15.4417139,32.2009388,65.6684137,34.492641,37.7082565,18.2606048,4.6177882,14.4902713,12.2654475,39.3404762,13.7984255,1.4883986,1.5149594,19.5336517,15.2874884,83.8078366,15.3679971,31.352205,64.9329506,33.5497146,37.0854849,18.1467494,4.7200979,13.7971336,12.153692,39.9450453,12.8234491,1.4816503,1.5078639,19.6393788,15.6169509,83.6798902,15.4781265,31.1008005,64.8702339,33.739525,37.5883335,17.4264145,5.0268641,13.8705155,11.3046187,37.0700483,13.5167971,1.3978867,1.4590233,20.0374525,15.9919665,84.5896333,14.3890107,30.9827548,64.0674381,33.4580447,38.6467212,17.6623767,4.8144041,13.9083403,10.6031929,36.5378659,11.0286714,1.4909896,1.5528732,20.2453023,15.9273397,84.3469693,13.4538666,31.2458189,63.9187912,33.8098157,38.4200886,17.6454284,4.8734201,15.0067458,10.3428887,37.3013679,13.9018788 +1231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7286693,0.723634,8.701554,5.0481366,28.5330879,17.8056651,34.1509581,69.6729471,40.9937072,50.7295644,24.2138381,4.4654118,10.421907,9.4892379,30.9379797,6.3451809,0.7211805,0.6939315,8.616592,5.1461858,28.7071269,17.7083293,34.1123866,69.0118566,41.0632048,50.5328247,24.4490226,4.541055,10.1061456,9.5089174,30.5326937,5.841116,0.6792231,0.6482219,8.7273178,5.2991287,28.3012189,17.650368,34.5240979,68.9910993,41.189229,50.1597956,24.4807268,4.4396339,10.353555,10.0321552,30.8599082,7.3008753,0.6081405,0.5737246,8.2521245,5.1377153,27.5865781,17.3454094,34.7633593,68.9107496,40.9012297,49.9351827,24.4326878,4.506166,10.2312596,10.0087388,31.0881895,5.3999914,0.5826205,0.5651469,7.9714556,4.8552509,27.1745888,17.4146998,35.2061971,68.7113455,40.5051618,49.7835269,24.4226966,4.546398,10.2377177,10.4045237,30.6579899,4.9212502 +1232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5602755,0.6318676,8.4924371,5.2129558,36.7675941,24.7090515,29.3440789,70.2153935,34.1899065,47.4546807,17.0582059,8.5902873,11.3966691,9.5630789,32.8307894,1.7676723,0.5397502,0.5869398,8.2233706,5.0188571,36.1838737,24.6744603,29.0451438,70.5315507,34.3132616,46.7309123,16.2511771,8.3019521,10.0571638,9.2945352,32.9350714,2.2613009,0.5441661,0.5898966,8.0210136,5.2787946,35.7800422,24.7411311,28.9963524,69.0054487,34.1280322,45.7083943,15.4177914,7.7429328,10.5581468,9.8139635,33.3490333,2.2959067,0.5630552,0.6203405,7.8289367,4.9342119,36.189454,24.5157304,29.3515886,68.2549912,33.8337304,45.7571197,15.8616036,8.0286909,10.4860559,9.7659864,34.0436209,2.2499888,0.5407023,0.5825621,7.7842745,4.6789574,36.3464353,24.258051,30.4953895,68.1723299,32.9100349,45.14981,15.5911572,8.4720748,10.4166693,10.3316356,34.3483237,2.2277117 +1233,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6488578,0.6812773,8.0273698,4.9406208,51.7584711,18.4272722,32.5229353,67.8990794,36.834865,47.2935792,21.4403661,7.3669715,9.7232025,8.5318921,33.7495732,3.4264161,0.6969812,0.7374629,7.907988,5.0746955,50.5550079,18.9641814,32.7231807,68.5493289,37.7349263,47.7584155,21.3880178,7.4686756,10.1998522,9.332586,33.8313275,3.534052,0.7366831,0.7781801,7.9796154,5.1706224,49.4404498,19.5235132,32.9049126,68.0564227,38.3385611,47.0950891,21.0135845,7.3040746,10.1493099,9.2577693,33.096891,3.8028126,0.7769197,0.8027202,8.3061244,5.5192705,48.0866475,19.782931,32.6333015,67.7149052,39.0097903,47.2796478,21.2078318,7.3014136,10.2483123,9.2460025,33.6225307,4.154723,0.7660348,0.7615151,8.1574805,5.3210796,46.3243713,19.4463112,31.3692132,67.5181667,39.0213485,46.9005433,20.9695716,7.3683002,10.5181518,9.9113113,32.717985,5.0872049 +1234,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6817745,0.6883474,9.5752431,6.6825336,35.6125909,19.8940409,35.7779051,69.0494053,42.0906256,51.3739247,24.7493372,3.6576264,10.8760159,9.6881998,34.2909921,3.7671207,0.7369593,0.7432353,9.9475573,7.0454625,35.665699,19.4716515,35.7675645,69.0298625,42.1286765,51.3681645,24.8933893,3.7491079,10.5583363,10.0644749,36.3734142,4.6874971,0.7101284,0.7278091,10.0498402,6.8272512,35.1365097,19.7701525,35.8206365,69.1201458,41.3367555,50.9813859,24.8223342,3.7055841,10.9511089,9.8860704,35.371585,4.6012213,0.7672123,0.7897547,10.3097705,6.9305448,34.5545409,20.2609218,36.4231003,69.8628111,41.5922564,51.5794581,24.2980231,3.7811116,11.3392349,10.7142984,34.8918362,5.2147239,0.7691578,0.7336253,10.0306349,6.845335,34.1830147,20.4286137,36.5758151,70.0344712,42.2149453,51.3941137,24.2637796,3.743735,11.4881811,10.9900491,34.0125308,5.0595238 +1235,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58481,1.5974446,33.4923699,28.7052334,50.7932353,14.0721332,33.8464448,58.7965032,28.2019059,42.8458454,16.4933532,1.9206809,17.1423024,12.4402641,43.8801368,21.9844529,1.5927845,1.6434188,33.8201021,29.2319376,51.9374469,14.4509856,33.6687938,59.3137799,28.2477642,42.2527997,16.0706234,1.597492,16.6641535,12.2099144,42.9242832,23.5408744,1.70168,1.7328963,34.8608259,30.1321308,52.3725668,14.7383459,33.6915006,59.8522815,28.0706189,42.502188,16.1778767,1.8570094,17.5730181,12.4290306,41.3877345,22.2785697,1.7461787,1.7885258,35.5325839,31.1039737,54.1777953,14.9538089,33.2961297,60.2982378,27.6166935,42.3887884,15.6359409,1.7655449,18.1642159,12.5299006,41.4088101,22.8782007,1.7966284,1.8760921,35.5978049,31.0804,54.8341253,15.2797469,34.1619022,62.1590323,28.9372843,42.7333985,16.1381972,1.7936526,19.1273583,12.7607322,41.5832438,23.1953756 +1236,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.63508,0.6066086,7.9371418,5.0368671,35.4238453,10.7095768,29.8233063,67.8310779,36.5634483,48.0304834,21.1745875,3.3000469,10.302171,10.1319686,31.1888765,2.7696793,0.5690291,0.564866,7.7231847,4.9178645,34.4676074,10.7568836,30.3616284,68.7305352,36.9805107,48.2797947,21.175216,3.2395873,10.2164394,9.7274439,31.0146833,3.1343302,0.5932583,0.5738238,7.7591998,5.0878551,34.4534354,10.9803126,30.0738509,69.1003,36.8443482,48.6798212,20.4650997,3.0441657,10.3168253,9.881145,31.3585345,3.2012224,0.613544,0.5942573,8.0205704,5.3848644,33.6138613,10.9949772,29.4710624,69.7424953,36.6716215,49.6785626,20.6627982,3.0283944,10.4323632,9.8486883,30.6894859,3.685901,0.5532475,0.5341939,7.8530613,5.3070501,32.5407138,11.4495031,29.0273175,70.3003943,37.3034674,50.3538169,20.7691746,3.1741703,10.6976837,10.2348918,31.0299813,2.707009 +1237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.207607,1.2252761,13.9694854,10.0031303,38.0259241,15.7819126,37.9732972,68.5717952,40.2534169,50.4986561,24.1392129,4.2508718,13.1898898,11.7385954,33.6144484,11.7143295,1.1565848,1.1632348,13.7906556,9.7501578,36.7274392,15.8879108,37.0667329,68.9004516,39.8053987,50.320241,24.2824717,4.1737828,13.3966795,11.8720783,33.952347,13.1902292,1.0826915,1.0895584,14.0799924,10.0105001,36.3216696,16.0317758,36.3426424,68.6988603,40.1737669,50.8470215,25.2686579,4.3611202,13.7716704,12.0958852,34.6607051,10.1852343,1.1940549,1.2011812,14.2281639,10.0223183,36.244457,16.3358065,35.3039006,68.7183122,40.6712784,51.0924634,24.7720571,4.3866495,13.867282,12.1551867,34.2706003,10.2941583,1.1286742,1.1361917,14.2419412,9.8629805,35.8804971,16.2577998,34.9247189,69.4327702,40.5779945,51.3522692,24.2757455,4.6606625,13.7469381,12.5188856,32.7928274,9.1772669 +1238,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5729715,0.5871146,10.3829527,7.2564006,34.7031899,13.3681146,32.6328717,68.8759518,41.3635703,49.3379696,21.6367622,6.253139,8.4646332,8.9271912,31.3059183,5.1181143,0.5271897,0.5418758,10.038871,7.1360649,33.824758,13.1542854,32.8836319,68.540798,40.9372065,48.7959889,21.6358725,6.4588521,8.1149331,8.5036724,31.6563886,6.0000048,0.465572,0.4690932,9.2398345,6.6718151,32.741331,13.7890164,32.1052476,69.3183152,41.6106926,49.2367053,21.8864909,6.177025,8.7158776,8.7158877,31.7413447,4.4715484,0.5117137,0.4632807,9.1874732,6.675081,32.2973929,13.9955192,31.0483232,69.201066,41.3697901,48.6034804,21.5717355,6.2595455,9.113842,9.0064498,32.6226664,2.8225806,0.6932009,0.6461771,8.984583,6.5886942,32.1340773,14.0928155,31.7596556,69.2578217,41.4469136,49.0067822,21.6333969,6.5166686,9.3217613,8.5487344,31.6863236,3.7190083 +1239,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1565848,1.1632348,13.7906556,9.7501578,36.7274392,15.8879108,37.0667329,68.9004516,39.8053987,50.320241,24.2824717,4.1737828,13.3966795,11.8720783,33.952347,13.1902292,1.0826915,1.0895584,14.0799924,10.0105001,36.3216696,16.0317758,36.3426424,68.6988603,40.1737669,50.8470215,25.2686579,4.3611202,13.7716704,12.0958852,34.6607051,10.1852343,1.1940549,1.2011812,14.2281639,10.0223183,36.244457,16.3358065,35.3039006,68.7183122,40.6712784,51.0924634,24.7720571,4.3866495,13.867282,12.1551867,34.2706003,10.2941583,1.1286742,1.1361917,14.2419412,9.8629805,35.8804971,16.2577998,34.9247189,69.4327702,40.5779945,51.3522692,24.2757455,4.6606625,13.7469381,12.5188856,32.7928274,9.1772669,0.9867708,0.9947412,14.0874116,9.6971702,34.8622926,16.1976538,34.3667363,69.701284,40.9231298,51.5864669,23.7504635,4.4323424,13.5387475,12.4670379,32.524975,7.4193501 +1240,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6077662,0.5930191,7.4387969,4.8747325,68.8695372,8.4811346,25.4740936,65.8362674,33.1230894,40.6746981,16.3614194,6.1794713,9.9597018,8.5333327,34.6816327,4.3049793,0.5933403,0.5840627,7.3318052,4.7644491,67.4117329,8.4383245,25.8457467,66.075168,33.3796131,40.8550683,16.5055329,6.4960846,9.8449333,8.2465213,34.1410553,4.8186528,0.583237,0.5657887,7.4754193,4.9091691,66.4294555,8.5721948,25.9692494,66.5690288,33.1992377,41.20556,16.5276151,6.6230469,9.6098774,8.0337122,35.0179206,4.7938144,0.5706192,0.5592598,7.7025862,5.000652,65.212968,8.3950182,25.6465694,66.2312924,33.2022218,41.3417504,16.8424207,6.727113,9.8352285,8.5289989,35.2132509,4.6161322,0.5537568,0.547363,7.624948,4.8928011,64.9190791,8.5992582,25.4698648,66.0110327,32.8885872,40.5029733,16.7790662,6.7396896,9.8302493,8.4323058,35.7762255,4.4373285 +1241,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6036969,0.5600509,8.0029966,5.4047304,49.4524933,11.7389874,29.7245352,66.3689588,33.2136906,42.3121934,17.9883145,15.2003344,10.5166025,8.9765073,36.9337347,3.2627872,0.6239311,0.5972492,7.9074491,5.2274882,48.9868586,11.9080778,30.122271,66.0056535,32.8970084,41.7071697,17.6751855,15.6842763,10.2796307,9.1732935,37.2313098,3.0782035,0.6266632,0.6010152,7.6905831,5.0546676,48.444608,11.9860471,30.4690968,66.1028538,32.7394408,41.4148313,17.4785783,15.3134846,10.2458995,8.9681347,37.0364708,2.6655892,0.5670163,0.5408359,7.487294,4.8293411,47.9914565,12.1528267,30.7181414,66.3917789,33.2287292,41.8552126,17.4062218,15.304332,9.715707,8.4604115,36.6933069,2.4447946,0.5407042,0.5191989,7.6101008,4.8701772,47.1303611,12.3434831,30.0720999,66.9574736,33.604907,42.516231,17.7144966,15.4217716,9.4790114,8.4419331,35.9479984,2.7301092 +1242,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5933403,0.5840627,7.3318052,4.7644491,67.4117329,8.4383245,25.8457467,66.075168,33.3796131,40.8550683,16.5055329,6.4960846,9.8449333,8.2465213,34.1410553,4.8186528,0.583237,0.5657887,7.4754193,4.9091691,66.4294555,8.5721948,25.9692494,66.5690288,33.1992377,41.20556,16.5276151,6.6230469,9.6098774,8.0337122,35.0179206,4.7938144,0.5706192,0.5592598,7.7025862,5.000652,65.212968,8.3950182,25.6465694,66.2312924,33.2022218,41.3417504,16.8424207,6.727113,9.8352285,8.5289989,35.2132509,4.6161322,0.5537568,0.547363,7.624948,4.8928011,64.9190791,8.5992582,25.4698648,66.0110327,32.8885872,40.5029733,16.7790662,6.7396896,9.8302493,8.4323058,35.7762255,4.4373285,0.6075158,0.5988684,7.8479249,5.0101934,64.0852225,8.4581433,25.7454279,66.2151836,32.8438488,40.0485528,16.468847,6.5538685,9.7167035,8.2499888,36.2446761,5.0088652 +1243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6289372,0.6289372,13.605843,10.1206849,56.5014394,30.1972456,32.8249059,67.4403491,34.5491958,46.6182311,16.5120562,4.5756484,14.0150759,8.7119787,34.4785557,6.3755248,0.5512369,0.5512369,12.3448003,8.8966315,56.9157165,30.502715,31.3873682,66.8269016,35.6457166,45.5358461,17.1016637,3.7775063,14.0151314,8.4595338,32.6973234,6.7372579,0.8420891,0.8420891,12.1865921,8.1477004,58.8607515,31.7428637,30.9257161,65.7081967,34.4320569,45.932855,18.0224518,3.436214,14.0711151,8.8798299,31.2672522,6.2496783,0.956363,0.956363,12.4659823,8.5150618,59.8757447,31.7751659,30.563206,67.2389707,34.5467608,45.2610121,18.475315,3.7775088,14.6052469,9.868499,33.0240028,4.9242797,1.0336523,1.0336523,13.6493379,9.5474643,60.0720726,31.4789502,31.2500045,66.5947311,33.979915,44.3246956,18.8937109,3.6638273,15.2234303,10.754265,33.1933697,5.7692751 +1244,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6969812,0.7374629,7.907988,5.0746955,50.5550079,18.9641814,32.7231807,68.5493289,37.7349263,47.7584155,21.3880178,7.4686756,10.1998522,9.332586,33.8313275,3.534052,0.7366831,0.7781801,7.9796154,5.1706224,49.4404498,19.5235132,32.9049126,68.0564227,38.3385611,47.0950891,21.0135845,7.3040746,10.1493099,9.2577693,33.096891,3.8028126,0.7769197,0.8027202,8.3061244,5.5192705,48.0866475,19.782931,32.6333015,67.7149052,39.0097903,47.2796478,21.2078318,7.3014136,10.2483123,9.2460025,33.6225307,4.154723,0.7660348,0.7615151,8.1574805,5.3210796,46.3243713,19.4463112,31.3692132,67.5181667,39.0213485,46.9005433,20.9695716,7.3683002,10.5181518,9.9113113,32.717985,5.0872049,0.7910211,0.7755387,8.3862611,5.5869201,45.4944247,19.7894967,30.725013,68.0314396,40.0633477,46.9380508,21.6682292,7.5434054,10.1198598,9.3908612,32.1213604,4.8245586 +1245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4027695,1.4853808,24.105699,19.9597205,47.3200906,15.4638243,42.5012002,64.748204,38.5102843,48.1616725,24.7356592,4.0288941,11.0215753,10.7499087,31.1057957,15.8391158,1.5983054,1.6810146,24.1315501,20.0907359,47.2412518,15.4934796,42.970979,63.9514927,39.5751037,47.9604599,25.6662148,4.0952281,11.7783922,11.5061347,30.5537547,16.8717317,1.8704163,1.9535017,24.8603369,20.6870181,47.9354424,15.8481305,42.7144193,64.7310233,40.4533309,49.6257854,25.5656312,4.5553209,12.3743037,10.7073284,32.3210931,17.4056297,1.8664846,1.9931348,25.455961,21.1278211,48.2729882,15.9692391,42.9727615,64.2733965,39.7899932,50.000186,26.1307421,4.3614201,12.5491391,10.4821205,33.2694938,15.8070826,1.5529652,1.6186272,24.6852364,20.4245299,48.6270517,15.4984804,42.3314191,63.7285823,37.967592,49.439743,24.9466763,3.6950928,13.5867431,11.2571564,33.5889485,13.487556 +1246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5181386,0.5860827,10.3591628,6.3007192,56.793069,14.3133955,31.6577187,69.5602666,35.8484636,45.9640691,20.5305293,3.0037112,9.2120994,8.1441616,32.8451037,9.2767552,0.5113578,0.5992106,9.963127,5.9901572,56.0484597,14.5021518,31.7289555,68.8139378,35.5919714,45.7402234,20.4531023,2.8502777,9.5611927,8.5616381,33.5430178,9.1362428,0.5071652,0.576543,9.733676,5.831941,55.3293454,14.4391032,32.8441539,69.1828429,36.2436659,46.2732091,20.6819995,3.0299791,9.3271504,8.2492821,33.0828598,9.0460586,0.5234603,0.5738389,9.5085616,5.9363917,54.4532202,14.623712,33.259335,69.3616321,36.8103876,46.533496,20.9997849,2.8218102,8.8722686,7.7903582,32.3757198,8.7171053,0.5279284,0.537715,9.35924,6.06092,54.2492863,14.3175407,33.0429939,69.3225605,36.0967583,45.9247367,20.4408658,3.1075256,9.4178816,7.9758391,32.5303881,8.1395349 +1247,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7366831,0.7781801,7.9796154,5.1706224,49.4404498,19.5235132,32.9049126,68.0564227,38.3385611,47.0950891,21.0135845,7.3040746,10.1493099,9.2577693,33.096891,3.8028126,0.7769197,0.8027202,8.3061244,5.5192705,48.0866475,19.782931,32.6333015,67.7149052,39.0097903,47.2796478,21.2078318,7.3014136,10.2483123,9.2460025,33.6225307,4.154723,0.7660348,0.7615151,8.1574805,5.3210796,46.3243713,19.4463112,31.3692132,67.5181667,39.0213485,46.9005433,20.9695716,7.3683002,10.5181518,9.9113113,32.717985,5.0872049,0.7910211,0.7755387,8.3862611,5.5869201,45.4944247,19.7894967,30.725013,68.0314396,40.0633477,46.9380508,21.6682292,7.5434054,10.1198598,9.3908612,32.1213604,4.8245586,0.7245553,0.7092809,8.4436696,5.6794421,45.2748521,19.8928363,30.6473999,67.7803459,39.8728278,47.2485495,21.6300576,7.063583,9.7367081,9.3906267,32.74761,3.9940817 +1248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4844245,0.5463029,6.6705541,4.0256682,52.2379462,20.6851338,29.4061582,67.0536697,33.7837725,42.1583537,20.1560686,7.4038844,10.5364001,6.9455114,36.9379825,2.3897076,0.4690531,0.5336904,7.0198416,4.0621468,51.796295,20.4018785,29.1160133,67.6058861,34.3462176,41.3443783,19.8710895,7.8637227,11.0822865,7.2436871,36.5643747,1.5901071,0.4132159,0.4538588,6.7441854,3.9892647,51.4585545,20.3162956,29.0751141,66.3536403,33.929829,40.6272058,20.5705183,7.7073028,10.5432497,7.1479916,36.1171379,1.5151525,0.3749351,0.4234955,6.7718937,3.8866243,50.8792682,19.8906863,28.0775619,65.615505,33.5413109,40.1854921,19.1736935,7.5379455,10.0337885,7.5798812,36.6825584,1.1146504,0.4335355,0.4749757,7.2998686,4.2486862,50.7039934,19.5610322,27.7015934,66.1606179,33.8067212,40.7280362,18.9193636,7.3294182,9.4541947,7.2780707,35.8496742,1.4195588 +1249,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7369593,0.7432353,9.9475573,7.0454625,35.665699,19.4716515,35.7675645,69.0298625,42.1286765,51.3681645,24.8933893,3.7491079,10.5583363,10.0644749,36.3734142,4.6874971,0.7101284,0.7278091,10.0498402,6.8272512,35.1365097,19.7701525,35.8206365,69.1201458,41.3367555,50.9813859,24.8223342,3.7055841,10.9511089,9.8860704,35.371585,4.6012213,0.7672123,0.7897547,10.3097705,6.9305448,34.5545409,20.2609218,36.4231003,69.8628111,41.5922564,51.5794581,24.2980231,3.7811116,11.3392349,10.7142984,34.8918362,5.2147239,0.7691578,0.7336253,10.0306349,6.845335,34.1830147,20.4286137,36.5758151,70.0344712,42.2149453,51.3941137,24.2637796,3.743735,11.4881811,10.9900491,34.0125308,5.0595238,0.796473,0.7484055,9.9438105,6.7905121,33.3817754,20.8464345,36.365086,70.9558909,42.3114143,51.8382358,23.7691781,3.9482107,11.1573075,10.7097244,34.1172594,4.8571456 +1250,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5927845,1.6434188,33.8201021,29.2319376,51.9374469,14.4509856,33.6687938,59.3137799,28.2477642,42.2527997,16.0706234,1.597492,16.6641535,12.2099144,42.9242832,23.5408744,1.70168,1.7328963,34.8608259,30.1321308,52.3725668,14.7383459,33.6915006,59.8522815,28.0706189,42.502188,16.1778767,1.8570094,17.5730181,12.4290306,41.3877345,22.2785697,1.7461787,1.7885258,35.5325839,31.1039737,54.1777953,14.9538089,33.2961297,60.2982378,27.6166935,42.3887884,15.6359409,1.7655449,18.1642159,12.5299006,41.4088101,22.8782007,1.7966284,1.8760921,35.5978049,31.0804,54.8341253,15.2797469,34.1619022,62.1590323,28.9372843,42.7333985,16.1381972,1.7936526,19.1273583,12.7607322,41.5832438,23.1953756,1.7183463,1.7659996,34.6282572,30.2282822,55.7850728,15.4378443,33.1889727,62.5039452,29.6539736,41.9217258,15.71298,1.7328048,19.2191133,12.4416088,40.3315137,24.9933594 +1251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5983054,1.6810146,24.1315501,20.0907359,47.2412518,15.4934796,42.970979,63.9514927,39.5751037,47.9604599,25.6662148,4.0952281,11.7783922,11.5061347,30.5537547,16.8717317,1.8704163,1.9535017,24.8603369,20.6870181,47.9354424,15.8481305,42.7144193,64.7310233,40.4533309,49.6257854,25.5656312,4.5553209,12.3743037,10.7073284,32.3210931,17.4056297,1.8664846,1.9931348,25.455961,21.1278211,48.2729882,15.9692391,42.9727615,64.2733965,39.7899932,50.000186,26.1307421,4.3614201,12.5491391,10.4821205,33.2694938,15.8070826,1.5529652,1.6186272,24.6852364,20.4245299,48.6270517,15.4984804,42.3314191,63.7285823,37.967592,49.439743,24.9466763,3.6950928,13.5867431,11.2571564,33.5889485,13.487556,1.7169136,1.7626051,24.5991621,20.225047,48.9455686,15.2062336,43.0429389,64.2919889,37.6936034,49.6366922,25.1644903,3.9932389,13.2231054,11.3606216,32.2949206,16.4426229 +1252,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7769197,0.8027202,8.3061244,5.5192705,48.0866475,19.782931,32.6333015,67.7149052,39.0097903,47.2796478,21.2078318,7.3014136,10.2483123,9.2460025,33.6225307,4.154723,0.7660348,0.7615151,8.1574805,5.3210796,46.3243713,19.4463112,31.3692132,67.5181667,39.0213485,46.9005433,20.9695716,7.3683002,10.5181518,9.9113113,32.717985,5.0872049,0.7910211,0.7755387,8.3862611,5.5869201,45.4944247,19.7894967,30.725013,68.0314396,40.0633477,46.9380508,21.6682292,7.5434054,10.1198598,9.3908612,32.1213604,4.8245586,0.7245553,0.7092809,8.4436696,5.6794421,45.2748521,19.8928363,30.6473999,67.7803459,39.8728278,47.2485495,21.6300576,7.063583,9.7367081,9.3906267,32.74761,3.9940817,0.6360005,0.6213483,8.4464715,5.5975958,43.6713106,19.2938322,30.4236938,67.5576773,40.3172085,47.8593548,22.1716963,6.3997307,9.9171617,9.8557644,32.1695287,3.9473673 +1253,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7101284,0.7278091,10.0498402,6.8272512,35.1365097,19.7701525,35.8206365,69.1201458,41.3367555,50.9813859,24.8223342,3.7055841,10.9511089,9.8860704,35.371585,4.6012213,0.7672123,0.7897547,10.3097705,6.9305448,34.5545409,20.2609218,36.4231003,69.8628111,41.5922564,51.5794581,24.2980231,3.7811116,11.3392349,10.7142984,34.8918362,5.2147239,0.7691578,0.7336253,10.0306349,6.845335,34.1830147,20.4286137,36.5758151,70.0344712,42.2149453,51.3941137,24.2637796,3.743735,11.4881811,10.9900491,34.0125308,5.0595238,0.796473,0.7484055,9.9438105,6.7905121,33.3817754,20.8464345,36.365086,70.9558909,42.3114143,51.8382358,23.7691781,3.9482107,11.1573075,10.7097244,34.1172594,4.8571456,0.957484,0.8786665,9.7557115,6.583116,31.7285207,20.9410543,36.4768467,70.9317836,42.817856,51.7794029,23.3096815,3.9631146,10.8274274,10.640369,33.3007813,6.0000034 +1254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4106641,0.4010445,8.4577804,5.4969562,43.8268561,18.5456541,29.7958128,67.658225,34.4899217,44.3940314,19.7928722,4.6651635,10.1684459,8.8673342,30.9662918,2.916153,0.3816717,0.3732877,8.7674748,5.6419801,43.7709095,18.8688672,29.2332827,67.8558836,34.6773844,44.3076494,19.3461687,4.7023483,10.4771479,8.3906073,30.8849502,2.3547726,0.3313229,0.3228605,8.9916984,5.8337086,44.0499309,18.8388629,29.3937226,68.5175961,34.4689325,44.362999,19.1025368,4.6899137,10.8166919,8.1393213,30.8257407,1.9341487,0.4376925,0.4294045,9.2864559,6.0774547,43.9383998,19.008852,29.0979665,68.8659144,35.2190779,44.7171648,19.6955008,4.9231527,10.5601571,8.1607485,31.4157367,2.8271662,0.3976325,0.3931709,8.683338,5.6268179,43.3520906,19.3557628,28.9406693,68.7213009,35.4056436,45.4132427,20.1907589,4.6284265,10.7148351,8.0944932,32.2602094,2.8645453 +1255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5447682,2.5703039,34.6965364,29.5674564,60.3912634,16.2174845,37.2916734,63.5815159,29.6456495,40.3348643,20.3181085,2.4571335,15.3611338,10.7638894,40.9139115,25.7621351,2.5298439,2.5473262,35.576646,30.7200392,60.9160315,15.6565022,37.7140645,62.8614687,29.428755,39.4823086,20.3570185,2.3453312,14.8398597,10.1613761,40.3771285,26.4829611,2.5737301,2.6419384,36.3306684,31.5338271,62.8041657,15.3625695,37.4578273,62.5171277,29.1099061,39.5400382,20.3123221,2.0736422,16.1384214,10.7874222,41.5704529,27.0017854,2.6311465,2.6713971,37.3262005,32.5416067,64.1402365,15.2663567,37.7675574,62.1103152,28.1000374,39.5437351,18.7670918,2.1093862,16.9969304,11.1672211,42.1467386,26.2074005,2.3675073,2.4165212,38.0086059,33.1316064,64.3071179,14.5180994,38.0637221,62.4498454,28.007639,40.3642164,18.8297024,2.3903639,16.7463173,11.0173941,43.1557364,25.1910462 +1256,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5825273,0.5969893,9.4944884,6.6591403,47.8809302,13.7116639,27.8245461,69.0377792,41.3567641,45.5719355,22.0470436,5.4313318,11.15553,10.2136247,33.830549,8.0110497,0.6329042,0.6468116,9.8892046,6.7755903,47.6042684,13.3993043,28.0130314,68.9600394,40.7200287,44.6092255,21.2982756,5.2834349,10.6352165,9.9992024,33.9863954,8.423913,0.6301492,0.6327856,9.8300244,6.6792845,46.9312858,13.7106356,28.311664,69.2102846,40.7573153,45.3572689,21.2777968,5.5750235,11.0526074,9.6635787,34.057733,9.1145833,0.6168436,0.6645466,9.8581699,6.4991658,46.4918939,13.1737185,27.4024594,69.2537975,40.6921608,45.1707879,20.1894538,5.0817929,11.3042185,9.4522574,34.9276891,9.9914473,0.6228991,0.6935981,9.7305251,6.4998172,46.0406779,13.1761182,27.4211101,69.390871,41.0031317,45.0384274,20.6366437,4.9691943,11.0179983,9.7957333,34.6047304,9.1848923 +1257,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.583237,0.5657887,7.4754193,4.9091691,66.4294555,8.5721948,25.9692494,66.5690288,33.1992377,41.20556,16.5276151,6.6230469,9.6098774,8.0337122,35.0179206,4.7938144,0.5706192,0.5592598,7.7025862,5.000652,65.212968,8.3950182,25.6465694,66.2312924,33.2022218,41.3417504,16.8424207,6.727113,9.8352285,8.5289989,35.2132509,4.6161322,0.5537568,0.547363,7.624948,4.8928011,64.9190791,8.5992582,25.4698648,66.0110327,32.8885872,40.5029733,16.7790662,6.7396896,9.8302493,8.4323058,35.7762255,4.4373285,0.6075158,0.5988684,7.8479249,5.0101934,64.0852225,8.4581433,25.7454279,66.2151836,32.8438488,40.0485528,16.468847,6.5538685,9.7167035,8.2499888,36.2446761,5.0088652,0.6209219,0.6245645,7.9724119,5.0815267,63.7939565,8.332579,26.0300882,66.2096177,32.6538564,40.0249004,16.5196039,6.5640083,9.9206371,8.2803557,36.415449,4.9002602 +1258,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5397502,0.5869398,8.2233706,5.0188571,36.1838737,24.6744603,29.0451438,70.5315507,34.3132616,46.7309123,16.2511771,8.3019521,10.0571638,9.2945352,32.9350714,2.2613009,0.5441661,0.5898966,8.0210136,5.2787946,35.7800422,24.7411311,28.9963524,69.0054487,34.1280322,45.7083943,15.4177914,7.7429328,10.5581468,9.8139635,33.3490333,2.2959067,0.5630552,0.6203405,7.8289367,4.9342119,36.189454,24.5157304,29.3515886,68.2549912,33.8337304,45.7571197,15.8616036,8.0286909,10.4860559,9.7659864,34.0436209,2.2499888,0.5407023,0.5825621,7.7842745,4.6789574,36.3464353,24.258051,30.4953895,68.1723299,32.9100349,45.14981,15.5911572,8.4720748,10.4166693,10.3316356,34.3483237,2.2277117,0.4946871,0.5352165,7.0385139,4.3610388,36.3432977,24.6518117,28.7414101,67.9911142,32.4928898,44.1507966,15.7926445,8.3299432,9.3775696,10.1882236,33.4575403,2.1739025 +1259,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5547038,0.6210168,11.433498,7.074889,51.8962527,21.6827284,34.2638702,68.3754822,35.1471204,47.9627654,21.1739075,3.9357405,14.6987644,12.4151562,39.2470197,3.2163724,0.6418216,0.6351552,11.6015648,7.2966305,51.4275094,20.5686071,33.9597229,67.3413274,35.3757369,47.5895055,21.4256977,3.8347696,15.4581814,13.1837672,40.6991343,4.6583764,0.6464101,0.6396327,11.0897952,7.1352476,50.5421956,19.8562118,34.5882433,67.3938237,35.888138,47.0948998,21.7710803,3.7032824,14.7187767,12.6601854,40.2991383,4.7770579,0.8974784,0.8802938,10.7852246,7.0310431,49.7033442,19.8456988,34.4999505,67.4185136,36.2656708,46.89984,21.9199108,3.7515458,14.4106309,13.0742973,39.6646944,5.5920211,0.775513,0.7581345,10.3296808,6.9340052,47.9138091,20.0955572,35.565382,67.8696413,36.6411491,47.5166277,22.3206233,4.1690399,14.6900868,12.9230202,38.3192781,4.7793207 +1260,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7672123,0.7897547,10.3097705,6.9305448,34.5545409,20.2609218,36.4231003,69.8628111,41.5922564,51.5794581,24.2980231,3.7811116,11.3392349,10.7142984,34.8918362,5.2147239,0.7691578,0.7336253,10.0306349,6.845335,34.1830147,20.4286137,36.5758151,70.0344712,42.2149453,51.3941137,24.2637796,3.743735,11.4881811,10.9900491,34.0125308,5.0595238,0.796473,0.7484055,9.9438105,6.7905121,33.3817754,20.8464345,36.365086,70.9558909,42.3114143,51.8382358,23.7691781,3.9482107,11.1573075,10.7097244,34.1172594,4.8571456,0.957484,0.8786665,9.7557115,6.583116,31.7285207,20.9410543,36.4768467,70.9317836,42.817856,51.7794029,23.3096815,3.9631146,10.8274274,10.640369,33.3007813,6.0000034,0.9049189,0.8365287,9.7204802,6.7368054,31.0484732,21.464788,36.5927912,70.8253507,42.276799,53.0347284,23.9403488,3.6127127,11.5834173,10.7467644,33.147919,5.3370817 +1261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5298439,2.5473262,35.576646,30.7200392,60.9160315,15.6565022,37.7140645,62.8614687,29.428755,39.4823086,20.3570185,2.3453312,14.8398597,10.1613761,40.3771285,26.4829611,2.5737301,2.6419384,36.3306684,31.5338271,62.8041657,15.3625695,37.4578273,62.5171277,29.1099061,39.5400382,20.3123221,2.0736422,16.1384214,10.7874222,41.5704529,27.0017854,2.6311465,2.6713971,37.3262005,32.5416067,64.1402365,15.2663567,37.7675574,62.1103152,28.1000374,39.5437351,18.7670918,2.1093862,16.9969304,11.1672211,42.1467386,26.2074005,2.3675073,2.4165212,38.0086059,33.1316064,64.3071179,14.5180994,38.0637221,62.4498454,28.007639,40.3642164,18.8297024,2.3903639,16.7463173,11.0173941,43.1557364,25.1910462,2.4944008,2.5244138,38.6370397,33.4820671,64.5939701,14.3324033,37.4428869,62.0975982,27.215212,40.1079271,18.4072844,2.297168,16.7492929,11.392013,43.7235768,25.8898616 +1262,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.276951,1.3170708,24.0164274,20.2102836,51.2788392,17.7305585,39.1116052,65.9758111,33.7359493,46.8229233,20.529376,2.8097079,15.6376548,12.4788142,37.0276326,13.1119019,1.2486357,1.2634711,24.1777269,20.2977189,51.4674326,17.4877226,39.7673997,65.3199453,34.5148498,46.9864079,20.6123497,2.8917075,15.463982,12.3131306,35.9965422,14.403983,1.1883305,1.2028583,24.7920085,21.1129818,52.2896968,17.4611806,39.7737018,65.1925806,34.3259402,46.8580841,20.8375915,2.5820291,15.1446939,11.6620786,35.4884852,13.5092941,1.2832475,1.2823715,24.7646932,20.8408301,52.8751435,17.1490043,40.0928708,64.732876,35.025617,47.0294695,21.0338511,2.2926581,15.5308619,12.1958256,35.1133432,13.593723,1.5450811,1.5360954,25.5010724,21.4793222,53.3708217,17.2374979,40.100871,64.5249234,34.1289439,47.6074805,20.8119129,2.5494677,15.6478494,11.9947883,34.8915609,14.1304436 +1263,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.353437,1.3881445,22.0040261,18.0678787,41.265584,15.9225244,37.9172897,65.2471367,35.5989628,47.364781,22.6223625,3.4167672,11.932232,9.330389,30.3740798,21.7171263,1.2910333,1.3253714,22.9372072,18.8734072,41.1276553,16.3656307,38.525069,65.3508341,35.6852243,47.7764548,23.1047461,3.2486373,11.4777062,9.2044162,30.0773994,21.2553574,1.2258111,1.2605083,22.8306561,18.722813,41.3851561,16.4628664,38.6584936,65.4280483,35.3817977,48.7223499,23.1425172,3.2150821,11.4173895,9.6428171,30.843302,19.6263804,1.4098217,1.4289581,23.7824794,19.5025179,41.8039283,16.6680174,38.4937603,66.1116246,36.3222513,49.2452828,23.4073767,3.1782304,12.275995,9.8624046,31.3209658,20.8642593,1.3500896,1.3696815,24.3213672,20.081735,41.9904741,16.5109026,38.0462549,66.0019524,35.9996528,48.4331399,23.0417999,3.5393266,12.1670091,9.8530386,30.7550983,22.2446728 +1264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0826915,1.0895584,14.0799924,10.0105001,36.3216696,16.0317758,36.3426424,68.6988603,40.1737669,50.8470215,25.2686579,4.3611202,13.7716704,12.0958852,34.6607051,10.1852343,1.1940549,1.2011812,14.2281639,10.0223183,36.244457,16.3358065,35.3039006,68.7183122,40.6712784,51.0924634,24.7720571,4.3866495,13.867282,12.1551867,34.2706003,10.2941583,1.1286742,1.1361917,14.2419412,9.8629805,35.8804971,16.2577998,34.9247189,69.4327702,40.5779945,51.3522692,24.2757455,4.6606625,13.7469381,12.5188856,32.7928274,9.1772669,0.9867708,0.9947412,14.0874116,9.6971702,34.8622926,16.1976538,34.3667363,69.701284,40.9231298,51.5864669,23.7504635,4.4323424,13.5387475,12.4670379,32.524975,7.4193501,1.0592315,1.0797902,14.1500558,9.7350579,33.8687802,16.2274464,34.4620354,69.3888817,40.7922524,51.5049393,24.1035134,4.2717884,12.9829059,11.4658207,31.2104285,7.0945898 +1265,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5113578,0.5992106,9.963127,5.9901572,56.0484597,14.5021518,31.7289555,68.8139378,35.5919714,45.7402234,20.4531023,2.8502777,9.5611927,8.5616381,33.5430178,9.1362428,0.5071652,0.576543,9.733676,5.831941,55.3293454,14.4391032,32.8441539,69.1828429,36.2436659,46.2732091,20.6819995,3.0299791,9.3271504,8.2492821,33.0828598,9.0460586,0.5234603,0.5738389,9.5085616,5.9363917,54.4532202,14.623712,33.259335,69.3616321,36.8103876,46.533496,20.9997849,2.8218102,8.8722686,7.7903582,32.3757198,8.7171053,0.5279284,0.537715,9.35924,6.06092,54.2492863,14.3175407,33.0429939,69.3225605,36.0967583,45.9247367,20.4408658,3.1075256,9.4178816,7.9758391,32.5303881,8.1395349,0.5400993,0.5302101,9.2596496,6.0140015,53.3633745,14.5592533,32.3038523,68.5413809,36.5734559,46.3264069,20.4269805,3.0017331,9.3291501,7.7488437,31.595629,6.9256396 +1266,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0618941,1.101015,24.6236775,20.0341124,42.4575583,14.4770931,40.0468644,66.8671311,34.2692551,50.238538,26.3292164,5.6132104,15.5535104,13.179662,33.971069,11.5580431,1.3407337,1.3799128,25.2805969,20.2660148,43.6454349,14.5622531,39.712705,65.9816631,33.5674129,49.6473796,25.5818763,5.6058242,15.6427102,13.3078201,35.2701831,14.2550965,1.4866705,1.5399419,25.1644312,19.7508707,43.5796797,14.1290455,39.6678527,66.2032372,33.8586655,49.3241702,25.3436079,5.9253757,15.668528,12.9636645,34.4396119,14.2570664,1.6871373,1.6899847,24.9698249,19.3001674,44.1095044,13.983285,39.644096,66.0705058,33.2093819,49.4695101,24.6962561,6.1357535,14.7651839,12.6391353,33.7839893,16.2018665,1.6908645,1.6937092,26.0101034,20.2956625,44.0536053,13.6603781,39.6960333,67.0442136,33.8783443,49.3073486,24.6161822,6.1612581,14.384442,12.9936207,34.3667577,15.6744539 +1267,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8320583,0.9094116,9.9431281,6.2572955,45.7390622,15.6691796,27.3363929,64.3557122,35.4170178,41.4026958,19.8464596,3.4982367,11.9112729,11.4893049,40.9476022,3.4623178,0.843935,0.9200673,10.0599685,6.509344,45.7483965,15.8048564,27.290812,64.8253855,36.1640354,40.7019307,18.9436081,3.6516288,11.7753481,11.3680165,39.8476327,2.4265319,0.8494382,0.9231747,10.1419618,6.4315607,45.2777986,15.5309196,27.4315657,64.7998636,37.3293299,40.829302,19.2241353,3.3966884,11.1445783,10.3575745,39.1148792,6.9426702,0.8533715,0.8785568,10.58331,6.7561412,44.8044015,15.4044596,27.1871975,64.0161259,37.5308161,40.5691364,19.1809155,3.2739065,11.7644229,10.0875913,37.8849789,9.1322006,0.8535583,0.7913363,11.5649401,7.3256887,44.8951467,15.4803173,26.2474654,64.5781453,36.4876697,40.3618843,18.9654975,3.3727552,12.1980202,11.3186295,39.9222717,8.4135508 +1268,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4235734,0.4598053,9.6107574,6.4406066,45.6276192,17.6434366,33.877635,70.463003,40.615936,46.2381152,23.2534002,3.6171991,8.2815125,6.9921842,31.4117891,3.741489,0.5427327,0.5492892,10.2407085,6.9467828,45.7512132,18.2968667,33.1820148,69.498485,40.6614566,45.3739697,23.1085107,3.8694354,8.3889941,7.2506334,31.6077702,3.6912702,0.4648853,0.4716741,9.9518858,6.6710385,45.3451495,18.6752332,33.3557047,69.6868037,40.8724613,45.1230451,23.0201353,3.8702485,8.0715658,7.493431,32.6144605,4.0441117,0.4748815,0.4818932,10.1452623,6.8315911,44.6554216,19.1620946,32.6006559,70.0370245,40.930106,45.7889885,23.9472402,3.9102296,7.4660851,7.2207214,34.229738,3.3333284,0.5230064,0.5391378,9.9007642,6.7816626,44.0616043,19.2417846,32.7611236,69.3181796,40.4013345,45.5270828,23.2833551,3.7959372,7.9327054,7.4806989,34.3507907,3.3582039 +1269,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1647566,1.1694574,27.2235695,22.6517896,41.975643,19.2258024,37.500917,68.1488378,33.8445754,45.4218288,21.7189024,3.1988298,13.9830068,13.6748287,33.4544286,18.8529768,1.3362129,1.3689887,27.9367307,23.5429536,42.3280761,19.0977257,37.3046692,67.9024957,34.207941,46.1688714,21.0333307,3.1873072,12.9843996,12.3314394,33.6529842,19.9452462,1.4461326,1.4784544,28.7652913,24.9689952,43.2131562,18.7023151,36.4479585,67.5451502,33.756874,44.9404188,19.8223948,2.9004458,13.2686095,11.763617,34.0552528,19.4443462,1.6464655,1.6788951,29.4765901,25.6128651,43.0566793,18.5875735,35.4678642,66.9895167,34.2624624,45.6541724,19.2544623,2.923177,13.4905662,11.9738806,34.0552567,19.1541833,1.7440945,1.7488301,29.6616636,25.4630093,42.8089336,17.4013979,34.0968444,66.9960602,34.7732453,44.367433,18.9072688,2.6135354,13.9776307,10.9921133,34.1910821,19.0354968 +1270,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5271897,0.5418758,10.038871,7.1360649,33.824758,13.1542854,32.8836319,68.540798,40.9372065,48.7959889,21.6358725,6.4588521,8.1149331,8.5036724,31.6563886,6.0000048,0.465572,0.4690932,9.2398345,6.6718151,32.741331,13.7890164,32.1052476,69.3183152,41.6106926,49.2367053,21.8864909,6.177025,8.7158776,8.7158877,31.7413447,4.4715484,0.5117137,0.4632807,9.1874732,6.675081,32.2973929,13.9955192,31.0483232,69.201066,41.3697901,48.6034804,21.5717355,6.2595455,9.113842,9.0064498,32.6226664,2.8225806,0.6932009,0.6461771,8.984583,6.5886942,32.1340773,14.0928155,31.7596556,69.2578217,41.4469136,49.0067822,21.6333969,6.5166686,9.3217613,8.5487344,31.6863236,3.7190083,0.6616913,0.6017116,9.2252244,6.7319205,32.3992347,14.238253,30.8596972,68.1352539,41.455661,48.0356001,21.6771721,6.8754842,9.9736962,8.3561332,32.6603005,3.5433071 +1271,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2910333,1.3253714,22.9372072,18.8734072,41.1276553,16.3656307,38.525069,65.3508341,35.6852243,47.7764548,23.1047461,3.2486373,11.4777062,9.2044162,30.0773994,21.2553574,1.2258111,1.2605083,22.8306561,18.722813,41.3851561,16.4628664,38.6584936,65.4280483,35.3817977,48.7223499,23.1425172,3.2150821,11.4173895,9.6428171,30.843302,19.6263804,1.4098217,1.4289581,23.7824794,19.5025179,41.8039283,16.6680174,38.4937603,66.1116246,36.3222513,49.2452828,23.4073767,3.1782304,12.275995,9.8624046,31.3209658,20.8642593,1.3500896,1.3696815,24.3213672,20.081735,41.9904741,16.5109026,38.0462549,66.0019524,35.9996528,48.4331399,23.0417999,3.5393266,12.1670091,9.8530386,30.7550983,22.2446728,1.4111193,1.4418483,25.1628595,20.6088458,42.1184552,16.9051416,38.1148127,66.6948438,36.0571467,47.8403492,22.791462,3.2373321,12.6425939,10.149907,30.186884,20.9952426 +1272,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3362129,1.3689887,27.9367307,23.5429536,42.3280761,19.0977257,37.3046692,67.9024957,34.207941,46.1688714,21.0333307,3.1873072,12.9843996,12.3314394,33.6529842,19.9452462,1.4461326,1.4784544,28.7652913,24.9689952,43.2131562,18.7023151,36.4479585,67.5451502,33.756874,44.9404188,19.8223948,2.9004458,13.2686095,11.763617,34.0552528,19.4443462,1.6464655,1.6788951,29.4765901,25.6128651,43.0566793,18.5875735,35.4678642,66.9895167,34.2624624,45.6541724,19.2544623,2.923177,13.4905662,11.9738806,34.0552567,19.1541833,1.7440945,1.7488301,29.6616636,25.4630093,42.8089336,17.4013979,34.0968444,66.9960602,34.7732453,44.367433,18.9072688,2.6135354,13.9776307,10.9921133,34.1910821,19.0354968,1.8170851,1.8331616,31.2107528,27.2010429,43.818054,18.0232026,34.9230298,67.7864718,34.1844955,44.3400754,18.5522661,2.6155824,15.2483828,10.7922181,33.2715445,17.7184865 +1273,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8366334,0.8010998,8.9894895,5.5826819,19.9064949,17.4660428,32.3571234,67.2234048,39.7705171,49.7943884,22.5250972,5.0501077,8.9875425,9.0001241,24.7765646,6.4388183,0.7911693,0.7565433,8.6869463,5.5143789,19.3716422,17.3063449,32.3506111,67.8029791,38.8700351,50.0614116,21.9876571,5.030317,9.368249,9.3159263,24.6372447,5.5550741,0.9313324,0.8951097,9.3064876,6.0691621,19.250365,17.5725021,32.8961935,67.5419736,38.8556206,49.9846397,22.2003102,5.2685572,9.7333886,9.2557951,25.315658,7.1422396,0.8641711,0.788991,9.2755821,6.2432996,19.5901895,17.2826517,32.6215965,68.24229,38.8384225,49.594826,22.0674211,5.0921754,9.4650466,9.2114153,25.2264643,5.5555597,0.9930611,0.921993,10.0313955,6.8832674,19.3121447,17.50654,34.132735,67.306574,38.1613265,49.0909072,21.2995393,4.7867983,8.8723216,8.7745765,24.6182266,6.0713615 +1274,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.285187,1.3598333,20.8132518,16.4062069,29.4229819,13.6878352,35.1171159,65.7310395,38.4693252,47.5969295,22.5969346,2.8069502,13.4820074,10.6617632,38.6500876,18.4783886,1.4720511,1.5123176,21.6599498,17.0331874,29.4805687,14.6133444,35.6094635,65.3310756,37.6411025,47.1218889,22.6674013,3.0285928,13.6845017,10.3846208,38.951413,19.4993755,1.6496251,1.6891825,22.7391146,17.7998045,30.5325382,14.1352132,35.7577302,65.2421917,36.5026997,46.1297976,22.3900413,2.94432,14.5646226,10.8663843,39.6713184,18.9781393,1.5152002,1.5146404,23.3993682,18.2194963,31.0413196,14.798129,36.1363886,64.4487623,36.6872345,46.2335013,22.6156254,3.1159671,14.236336,10.9817031,39.2221767,18.4950769,1.5716618,1.5627738,23.3986607,18.167325,31.3010533,14.6272888,36.1843327,63.853815,35.6465653,45.8687523,21.7330937,2.9805645,14.2534048,10.3751182,39.4763238,21.6918418 +1275,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7276995,0.7132539,6.5114909,3.8597525,53.5,19.5002872,30.887471,66.7923434,32.4535963,45.562645,18.6484919,5.24942,9.5733042,7.8485181,32.7986726,3.0612245,0.7121383,0.6971064,6.4189189,4.0233415,51.7083588,19.8626045,30.9753161,66.9175196,33.2028898,46.0264901,18.9945816,5.0872968,8.2946636,7.2759022,31.6686251,1.8939394,0.6979647,0.6826037,6.147541,3.8776797,50.1566416,20.7820197,31.3354037,68.3540373,34.3167702,46.242236,20.0310559,5.7453416,8.5411471,7.8222778,32.3047859,2.8688525,0.8174224,0.7776452,5.9803922,3.8888889,48.3776768,20.7961783,30.9691913,69.4801027,34.6919127,46.1810013,19.5442875,6.0012837,7.992074,7.2281167,32.3803191,3.0434783,0.684221,0.6642729,6.0775296,4.2378449,47.2638436,22.2613709,31.4755155,69.2332474,35.3414948,46.681701,19.3621134,5.7667526,7.5033201,6.3249001,31.6666667,2.2522523 +1276,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.3407337,1.3799128,25.2805969,20.2660148,43.6454349,14.5622531,39.712705,65.9816631,33.5674129,49.6473796,25.5818763,5.6058242,15.6427102,13.3078201,35.2701831,14.2550965,1.4866705,1.5399419,25.1644312,19.7508707,43.5796797,14.1290455,39.6678527,66.2032372,33.8586655,49.3241702,25.3436079,5.9253757,15.668528,12.9636645,34.4396119,14.2570664,1.6871373,1.6899847,24.9698249,19.3001674,44.1095044,13.983285,39.644096,66.0705058,33.2093819,49.4695101,24.6962561,6.1357535,14.7651839,12.6391353,33.7839893,16.2018665,1.6908645,1.6937092,26.0101034,20.2956625,44.0536053,13.6603781,39.6960333,67.0442136,33.8783443,49.3073486,24.6161822,6.1612581,14.384442,12.9936207,34.3667577,15.6744539,1.7689503,1.8098309,26.4054992,20.248037,45.3120541,13.1873282,38.919512,66.2998724,33.1624747,48.9744813,24.1328746,5.6437097,15.6335596,12.8074891,34.6017064,16.4771229 +1277,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2258111,1.2605083,22.8306561,18.722813,41.3851561,16.4628664,38.6584936,65.4280483,35.3817977,48.7223499,23.1425172,3.2150821,11.4173895,9.6428171,30.843302,19.6263804,1.4098217,1.4289581,23.7824794,19.5025179,41.8039283,16.6680174,38.4937603,66.1116246,36.3222513,49.2452828,23.4073767,3.1782304,12.275995,9.8624046,31.3209658,20.8642593,1.3500896,1.3696815,24.3213672,20.081735,41.9904741,16.5109026,38.0462549,66.0019524,35.9996528,48.4331399,23.0417999,3.5393266,12.1670091,9.8530386,30.7550983,22.2446728,1.4111193,1.4418483,25.1628595,20.6088458,42.1184552,16.9051416,38.1148127,66.6948438,36.0571467,47.8403492,22.791462,3.2373321,12.6425939,10.149907,30.186884,20.9952426,1.6338359,1.6887105,25.3178055,20.7323362,42.3453019,17.2437779,37.8144044,66.6841428,34.7273887,47.0929583,22.0799097,3.4545992,12.9324078,10.7630544,29.6809286,18.897009 +1278,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4883986,1.5149594,19.5336517,15.2874884,83.8078366,15.3679971,31.352205,64.9329506,33.5497146,37.0854849,18.1467494,4.7200979,13.7971336,12.153692,39.9450453,12.8234491,1.4816503,1.5078639,19.6393788,15.6169509,83.6798902,15.4781265,31.1008005,64.8702339,33.739525,37.5883335,17.4264145,5.0268641,13.8705155,11.3046187,37.0700483,13.5167971,1.3978867,1.4590233,20.0374525,15.9919665,84.5896333,14.3890107,30.9827548,64.0674381,33.4580447,38.6467212,17.6623767,4.8144041,13.9083403,10.6031929,36.5378659,11.0286714,1.4909896,1.5528732,20.2453023,15.9273397,84.3469693,13.4538666,31.2458189,63.9187912,33.8098157,38.4200886,17.6454284,4.8734201,15.0067458,10.3428887,37.3013679,13.9018788,1.5149688,1.6025716,20.0161466,15.4629117,84.8099375,12.8646284,30.584701,63.0502916,33.1933856,38.5276856,17.1914829,4.783928,14.5216219,10.1232515,38.262649,14.8046259 +1279,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.4720511,1.5123176,21.6599498,17.0331874,29.4805687,14.6133444,35.6094635,65.3310756,37.6411025,47.1218889,22.6674013,3.0285928,13.6845017,10.3846208,38.951413,19.4993755,1.6496251,1.6891825,22.7391146,17.7998045,30.5325382,14.1352132,35.7577302,65.2421917,36.5026997,46.1297976,22.3900413,2.94432,14.5646226,10.8663843,39.6713184,18.9781393,1.5152002,1.5146404,23.3993682,18.2194963,31.0413196,14.798129,36.1363886,64.4487623,36.6872345,46.2335013,22.6156254,3.1159671,14.236336,10.9817031,39.2221767,18.4950769,1.5716618,1.5627738,23.3986607,18.167325,31.3010533,14.6272888,36.1843327,63.853815,35.6465653,45.8687523,21.7330937,2.9805645,14.2534048,10.3751182,39.4763238,21.6918418,1.6186068,1.6180845,24.2044491,18.9782966,31.8746908,15.2976375,37.0228612,63.3528059,35.2938024,45.8595664,21.9018671,3.1091415,14.1603783,10.8316015,39.718926,20.7481007 +1280,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6697374,0.7065528,9.0169634,5.5629303,46.2736137,18.9676757,31.567392,67.5579937,38.3616634,43.9456862,22.2839918,4.0531418,9.7115518,9.9792768,32.7454546,5.957666,0.6702865,0.7054957,9.2043294,5.5099388,46.0949933,19.0512095,31.6355548,67.6896179,38.6404918,44.1036449,22.15625,4.1291574,10.0591946,9.9932638,32.5448018,6.5525688,0.6479025,0.6535731,8.6425283,4.9924034,46.0184892,19.2013028,32.232739,67.9207856,38.4671854,43.504385,22.4048721,4.0693934,9.8548398,9.0420391,32.9406268,7.2361346,0.7293381,0.728042,8.9615159,5.1480329,45.4562788,19.1780866,31.7171203,68.1627013,38.7719049,43.7557301,22.2606402,4.3380241,9.8894331,8.8431263,32.8489981,7.2607385,0.7369086,0.7356394,8.9171914,5.1549781,45.4670194,19.5399136,31.2225243,69.0714222,38.8624962,43.6526742,22.553641,4.4519935,9.5509154,8.5703278,33.5270585,7.1138415 +1281,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5706192,0.5592598,7.7025862,5.000652,65.212968,8.3950182,25.6465694,66.2312924,33.2022218,41.3417504,16.8424207,6.727113,9.8352285,8.5289989,35.2132509,4.6161322,0.5537568,0.547363,7.624948,4.8928011,64.9190791,8.5992582,25.4698648,66.0110327,32.8885872,40.5029733,16.7790662,6.7396896,9.8302493,8.4323058,35.7762255,4.4373285,0.6075158,0.5988684,7.8479249,5.0101934,64.0852225,8.4581433,25.7454279,66.2151836,32.8438488,40.0485528,16.468847,6.5538685,9.7167035,8.2499888,36.2446761,5.0088652,0.6209219,0.6245645,7.9724119,5.0815267,63.7939565,8.332579,26.0300882,66.2096177,32.6538564,40.0249004,16.5196039,6.5640083,9.9206371,8.2803557,36.415449,4.9002602,0.6922305,0.6957642,8.1945775,5.302445,63.4136498,8.4328595,26.0211149,66.4533638,32.5815482,39.7288372,16.4779957,6.4481232,9.9057427,8.2378804,36.3249489,4.724042 +1282,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7691578,0.7336253,10.0306349,6.845335,34.1830147,20.4286137,36.5758151,70.0344712,42.2149453,51.3941137,24.2637796,3.743735,11.4881811,10.9900491,34.0125308,5.0595238,0.796473,0.7484055,9.9438105,6.7905121,33.3817754,20.8464345,36.365086,70.9558909,42.3114143,51.8382358,23.7691781,3.9482107,11.1573075,10.7097244,34.1172594,4.8571456,0.957484,0.8786665,9.7557115,6.583116,31.7285207,20.9410543,36.4768467,70.9317836,42.817856,51.7794029,23.3096815,3.9631146,10.8274274,10.640369,33.3007813,6.0000034,0.9049189,0.8365287,9.7204802,6.7368054,31.0484732,21.464788,36.5927912,70.8253507,42.276799,53.0347284,23.9403488,3.6127127,11.5834173,10.7467644,33.147919,5.3370817,0.9017128,0.8191912,10.0778772,6.7133864,29.2686431,21.7303605,35.6170664,70.4589123,42.0411205,53.053839,23.6867796,3.5601215,12.4197947,10.3658623,31.8123101,4.3604677 +1283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.6194577,0.6658069,10.6545391,6.9029972,59.2053277,9.5851203,33.6089444,66.9521235,41.3133373,44.7701625,23.8902032,4.2530882,10.0475682,8.8751472,40.4389891,6.2499942,0.7475454,0.8010601,11.0721866,7.0819339,57.9353824,9.7572167,34.0602168,66.9671391,41.2116911,44.9788297,24.0985067,4.306022,10.1670679,9.0433429,40.6142683,6.4666615,0.7831158,0.8136232,11.0195756,6.9992693,57.4914489,9.9898882,33.8070502,67.1882928,41.1954557,44.7767757,24.2739753,4.3766426,10.0736684,9.4234968,41.2368625,6.4802112,0.7472583,0.772514,11.0146571,7.0573593,56.413487,10.1627986,33.6773704,67.1783039,41.6461357,44.9726923,24.6924699,4.3908849,10.0873426,9.7196537,40.7510149,5.9558806,0.7568552,0.7786256,10.7166659,6.7710599,56.012365,10.2543385,33.3535523,66.8120526,41.7016052,44.6388822,24.5306922,4.3562689,10.513556,10.2399155,41.7162103,5.0884941 +1284,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1940549,1.2011812,14.2281639,10.0223183,36.244457,16.3358065,35.3039006,68.7183122,40.6712784,51.0924634,24.7720571,4.3866495,13.867282,12.1551867,34.2706003,10.2941583,1.1286742,1.1361917,14.2419412,9.8629805,35.8804971,16.2577998,34.9247189,69.4327702,40.5779945,51.3522692,24.2757455,4.6606625,13.7469381,12.5188856,32.7928274,9.1772669,0.9867708,0.9947412,14.0874116,9.6971702,34.8622926,16.1976538,34.3667363,69.701284,40.9231298,51.5864669,23.7504635,4.4323424,13.5387475,12.4670379,32.524975,7.4193501,1.0592315,1.0797902,14.1500558,9.7350579,33.8687802,16.2274464,34.4620354,69.3888817,40.7922524,51.5049393,24.1035134,4.2717884,12.9829059,11.4658207,31.2104285,7.0945898,0.8914298,0.9436251,13.7938572,9.2037081,34.2508433,16.5733809,34.2661127,69.1672098,39.5812371,50.96409,24.4354858,4.256806,12.6540132,10.6534012,30.9273079,4.9242424 +1285,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5537568,0.547363,7.624948,4.8928011,64.9190791,8.5992582,25.4698648,66.0110327,32.8885872,40.5029733,16.7790662,6.7396896,9.8302493,8.4323058,35.7762255,4.4373285,0.6075158,0.5988684,7.8479249,5.0101934,64.0852225,8.4581433,25.7454279,66.2151836,32.8438488,40.0485528,16.468847,6.5538685,9.7167035,8.2499888,36.2446761,5.0088652,0.6209219,0.6245645,7.9724119,5.0815267,63.7939565,8.332579,26.0300882,66.2096177,32.6538564,40.0249004,16.5196039,6.5640083,9.9206371,8.2803557,36.415449,4.9002602,0.6922305,0.6957642,8.1945775,5.302445,63.4136498,8.4328595,26.0211149,66.4533638,32.5815482,39.7288372,16.4779957,6.4481232,9.9057427,8.2378804,36.3249489,4.724042,0.6625561,0.6695143,8.2835367,5.3899628,62.8618616,8.4777525,25.9591112,66.5757191,32.6784811,39.7174227,16.405744,6.1820328,10.0411705,8.2707969,36.4738046,4.4191558 +1286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2282775,0.2221411,6.9333029,3.9992095,68.0437792,19.1439979,31.0252283,63.806914,29.5314849,40.3917236,15.56323,5.5914562,9.6810125,7.8672662,35.1907387,4.2501573,0.3340767,0.3353141,7.5384215,4.2643641,67.3888227,19.0983816,31.2548695,63.8301092,29.9957303,40.4753445,16.2266976,5.2599656,9.475659,8.0827098,35.1320887,4.3591398,0.2863911,0.2938622,7.5337102,4.2670631,66.3555337,19.2898222,31.6637321,63.6343949,30.4372477,40.617456,16.6190254,4.885545,9.9325389,8.47139,35.109618,3.1402089,0.3997496,0.4260654,7.3699388,4.2320383,64.6189046,19.3948022,31.1115586,63.5972074,30.4552989,41.0377341,16.0582509,4.8605446,10.172678,8.6972937,34.1767552,3.1553413,0.368179,0.3957925,7.3038536,4.2262661,64.3700772,20.0555319,30.8639193,63.6501076,31.5550774,41.7926516,16.8250599,5.1619902,10.5325964,8.5657411,33.5862781,3.2663333 +1287,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4461326,1.4784544,28.7652913,24.9689952,43.2131562,18.7023151,36.4479585,67.5451502,33.756874,44.9404188,19.8223948,2.9004458,13.2686095,11.763617,34.0552528,19.4443462,1.6464655,1.6788951,29.4765901,25.6128651,43.0566793,18.5875735,35.4678642,66.9895167,34.2624624,45.6541724,19.2544623,2.923177,13.4905662,11.9738806,34.0552567,19.1541833,1.7440945,1.7488301,29.6616636,25.4630093,42.8089336,17.4013979,34.0968444,66.9960602,34.7732453,44.367433,18.9072688,2.6135354,13.9776307,10.9921133,34.1910821,19.0354968,1.8170851,1.8331616,31.2107528,27.2010429,43.818054,18.0232026,34.9230298,67.7864718,34.1844955,44.3400754,18.5522661,2.6155824,15.2483828,10.7922181,33.2715445,17.7184865,1.964245,1.9801235,32.1080171,27.8112925,43.6504589,17.4496256,35.5639079,67.1023057,33.4457737,44.2817918,18.3119128,2.5121749,15.4073071,10.6496049,33.3135442,18.7203556 +1288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5690291,0.564866,7.7231847,4.9178645,34.4676074,10.7568836,30.3616284,68.7305352,36.9805107,48.2797947,21.175216,3.2395873,10.2164394,9.7274439,31.0146833,3.1343302,0.5932583,0.5738238,7.7591998,5.0878551,34.4534354,10.9803126,30.0738509,69.1003,36.8443482,48.6798212,20.4650997,3.0441657,10.3168253,9.881145,31.3585345,3.2012224,0.613544,0.5942573,8.0205704,5.3848644,33.6138613,10.9949772,29.4710624,69.7424953,36.6716215,49.6785626,20.6627982,3.0283944,10.4323632,9.8486883,30.6894859,3.685901,0.5532475,0.5341939,7.8530613,5.3070501,32.5407138,11.4495031,29.0273175,70.3003943,37.3034674,50.3538169,20.7691746,3.1741703,10.6976837,10.2348918,31.0299813,2.707009,0.496563,0.4938375,7.9396092,5.5085883,31.7942571,11.4989994,29.0315237,70.2943609,37.1918547,50.4615283,20.9596134,3.4326537,10.9816541,10.4404748,32.3633934,1.7241401 +1289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7211805,0.6939315,8.616592,5.1461858,28.7071269,17.7083293,34.1123866,69.0118566,41.0632048,50.5328247,24.4490226,4.541055,10.1061456,9.5089174,30.5326937,5.841116,0.6792231,0.6482219,8.7273178,5.2991287,28.3012189,17.650368,34.5240979,68.9910993,41.189229,50.1597956,24.4807268,4.4396339,10.353555,10.0321552,30.8599082,7.3008753,0.6081405,0.5737246,8.2521245,5.1377153,27.5865781,17.3454094,34.7633593,68.9107496,40.9012297,49.9351827,24.4326878,4.506166,10.2312596,10.0087388,31.0881895,5.3999914,0.5826205,0.5651469,7.9714556,4.8552509,27.1745888,17.4146998,35.2061971,68.7113455,40.5051618,49.7835269,24.4226966,4.546398,10.2377177,10.4045237,30.6579899,4.9212502,0.6516604,0.6411442,8.4125503,5.3707251,26.9215392,17.4167996,35.28207,68.7585447,40.1815385,49.7072235,23.7849104,4.5188381,10.5045497,10.6186106,31.3465062,5.215818 +1290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7475454,0.8010601,11.0721866,7.0819339,57.9353824,9.7572167,34.0602168,66.9671391,41.2116911,44.9788297,24.0985067,4.306022,10.1670679,9.0433429,40.6142683,6.4666615,0.7831158,0.8136232,11.0195756,6.9992693,57.4914489,9.9898882,33.8070502,67.1882928,41.1954557,44.7767757,24.2739753,4.3766426,10.0736684,9.4234968,41.2368625,6.4802112,0.7472583,0.772514,11.0146571,7.0573593,56.413487,10.1627986,33.6773704,67.1783039,41.6461357,44.9726923,24.6924699,4.3908849,10.0873426,9.7196537,40.7510149,5.9558806,0.7568552,0.7786256,10.7166659,6.7710599,56.012365,10.2543385,33.3535523,66.8120526,41.7016052,44.6388822,24.5306922,4.3562689,10.513556,10.2399155,41.7162103,5.0884941,0.7905009,0.8045355,10.8172683,6.8476281,54.9594957,10.3044113,32.941488,66.7805263,41.5575771,44.232734,24.1748619,4.5107552,10.521003,10.2727183,41.1109162,5.0940439 +1291,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.926055,1.926055,34.5545977,29.9568966,63.9183056,5.8357349,33.6482558,64.3168605,26.9622093,41.6424419,15.4796512,5.7412791,15.1651652,11.2275449,39.8507463,14.0718563,1.5489345,1.5489345,34.7283407,30.4698972,65.5145929,6.3970588,33.2095097,62.7786033,26.5230312,40.6389302,14.1901932,5.7206538,14.84375,10.7476636,37.1118012,16.4596273,1.544093,1.544093,35.1739788,30.484115,66.6405024,7.7443609,32.7507599,62.2340426,26.2158055,40.3495441,13.6018237,5.6990881,15.7643312,10.9177215,36.984127,17.2077922,1.9652946,1.9652946,36.7824773,31.9486405,66.3249211,7.0241692,32.6952527,61.0260337,26.5696784,39.5865237,13.5528331,6.5084227,17.5806452,12.3794212,37.9032258,19.8113208,1.9311398,1.9311398,35.947205,31.2888199,66.5322581,7.6625387,30.533752,61.9309262,25.9811617,37.755102,13.1083203,6.6718995,16.8300654,11.5635179,37.2131148,20.0617284 +1292,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.796473,0.7484055,9.9438105,6.7905121,33.3817754,20.8464345,36.365086,70.9558909,42.3114143,51.8382358,23.7691781,3.9482107,11.1573075,10.7097244,34.1172594,4.8571456,0.957484,0.8786665,9.7557115,6.583116,31.7285207,20.9410543,36.4768467,70.9317836,42.817856,51.7794029,23.3096815,3.9631146,10.8274274,10.640369,33.3007813,6.0000034,0.9049189,0.8365287,9.7204802,6.7368054,31.0484732,21.464788,36.5927912,70.8253507,42.276799,53.0347284,23.9403488,3.6127127,11.5834173,10.7467644,33.147919,5.3370817,0.9017128,0.8191912,10.0778772,6.7133864,29.2686431,21.7303605,35.6170664,70.4589123,42.0411205,53.053839,23.6867796,3.5601215,12.4197947,10.3658623,31.8123101,4.3604677,0.8487084,0.7511635,10.4218694,7.1718647,28.291771,22.0315642,35.3099938,71.0811348,42.2734204,53.1796994,23.7043581,3.4817117,12.5081915,10.6139935,32.1593231,4.3103473 +1293,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7121383,0.6971064,6.4189189,4.0233415,51.7083588,19.8626045,30.9753161,66.9175196,33.2028898,46.0264901,18.9945816,5.0872968,8.2946636,7.2759022,31.6686251,1.8939394,0.6979647,0.6826037,6.147541,3.8776797,50.1566416,20.7820197,31.3354037,68.3540373,34.3167702,46.242236,20.0310559,5.7453416,8.5411471,7.8222778,32.3047859,2.8688525,0.8174224,0.7776452,5.9803922,3.8888889,48.3776768,20.7961783,30.9691913,69.4801027,34.6919127,46.1810013,19.5442875,6.0012837,7.992074,7.2281167,32.3803191,3.0434783,0.684221,0.6642729,6.0775296,4.2378449,47.2638436,22.2613709,31.4755155,69.2332474,35.3414948,46.681701,19.3621134,5.7667526,7.5033201,6.3249001,31.6666667,2.2522523,0.6130043,0.5934195,6.6858605,4.8304543,45.7352005,22.6100629,31.6171826,70.1516109,35.660139,47.5363234,19.6146557,6.0960202,7.3472042,6.1848958,31.5686275,2.293578 +1294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6418216,0.6351552,11.6015648,7.2966305,51.4275094,20.5686071,33.9597229,67.3413274,35.3757369,47.5895055,21.4256977,3.8347696,15.4581814,13.1837672,40.6991343,4.6583764,0.6464101,0.6396327,11.0897952,7.1352476,50.5421956,19.8562118,34.5882433,67.3938237,35.888138,47.0948998,21.7710803,3.7032824,14.7187767,12.6601854,40.2991383,4.7770579,0.8974784,0.8802938,10.7852246,7.0310431,49.7033442,19.8456988,34.4999505,67.4185136,36.2656708,46.89984,21.9199108,3.7515458,14.4106309,13.0742973,39.6646944,5.5920211,0.775513,0.7581345,10.3296808,6.9340052,47.9138091,20.0955572,35.565382,67.8696413,36.6411491,47.5166277,22.3206233,4.1690399,14.6900868,12.9230202,38.3192781,4.7793207,0.7978499,0.7692423,10.0824805,7.0049636,46.1254322,19.6157897,35.0258749,67.5716934,37.2586112,47.2329309,22.3784656,4.1503082,14.3735046,12.7553546,37.6127751,6.5890493 +1295,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7911693,0.7565433,8.6869463,5.5143789,19.3716422,17.3063449,32.3506111,67.8029791,38.8700351,50.0614116,21.9876571,5.030317,9.368249,9.3159263,24.6372447,5.5550741,0.9313324,0.8951097,9.3064876,6.0691621,19.250365,17.5725021,32.8961935,67.5419736,38.8556206,49.9846397,22.2003102,5.2685572,9.7333886,9.2557951,25.315658,7.1422396,0.8641711,0.788991,9.2755821,6.2432996,19.5901895,17.2826517,32.6215965,68.24229,38.8384225,49.594826,22.0674211,5.0921754,9.4650466,9.2114153,25.2264643,5.5555597,0.9930611,0.921993,10.0313955,6.8832674,19.3121447,17.50654,34.132735,67.306574,38.1613265,49.0909072,21.2995393,4.7867983,8.8723216,8.7745765,24.6182266,6.0713615,0.9153761,0.8930445,10.2436733,7.0162011,20.2392948,17.0375163,33.7487648,66.9945289,37.3254857,48.4316232,20.9047111,4.815374,9.067103,8.5704926,25.4434894,6.6427572 +1296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7831158,0.8136232,11.0195756,6.9992693,57.4914489,9.9898882,33.8070502,67.1882928,41.1954557,44.7767757,24.2739753,4.3766426,10.0736684,9.4234968,41.2368625,6.4802112,0.7472583,0.772514,11.0146571,7.0573593,56.413487,10.1627986,33.6773704,67.1783039,41.6461357,44.9726923,24.6924699,4.3908849,10.0873426,9.7196537,40.7510149,5.9558806,0.7568552,0.7786256,10.7166659,6.7710599,56.012365,10.2543385,33.3535523,66.8120526,41.7016052,44.6388822,24.5306922,4.3562689,10.513556,10.2399155,41.7162103,5.0884941,0.7905009,0.8045355,10.8172683,6.8476281,54.9594957,10.3044113,32.941488,66.7805263,41.5575771,44.232734,24.1748619,4.5107552,10.521003,10.2727183,41.1109162,5.0940439,0.7885661,0.8016182,10.7838109,6.7778634,53.8169546,10.4017594,32.8018785,66.4347746,41.9118042,44.7556061,24.1351563,4.7212053,10.5396134,10.2455789,40.2751278,4.684839 +1297,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4690531,0.5336904,7.0198416,4.0621468,51.796295,20.4018785,29.1160133,67.6058861,34.3462176,41.3443783,19.8710895,7.8637227,11.0822865,7.2436871,36.5643747,1.5901071,0.4132159,0.4538588,6.7441854,3.9892647,51.4585545,20.3162956,29.0751141,66.3536403,33.929829,40.6272058,20.5705183,7.7073028,10.5432497,7.1479916,36.1171379,1.5151525,0.3749351,0.4234955,6.7718937,3.8866243,50.8792682,19.8906863,28.0775619,65.615505,33.5413109,40.1854921,19.1736935,7.5379455,10.0337885,7.5798812,36.6825584,1.1146504,0.4335355,0.4749757,7.2998686,4.2486862,50.7039934,19.5610322,27.7015934,66.1606179,33.8067212,40.7280362,18.9193636,7.3294182,9.4541947,7.2780707,35.8496742,1.4195588,0.3755286,0.3869107,7.3736403,4.4625706,50.4457165,19.0942985,27.841086,66.2709664,34.2355168,41.6429173,18.5976608,7.5498602,9.7353534,7.3055056,35.7504759,1.3513518 +1298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5737301,2.6419384,36.3306684,31.5338271,62.8041657,15.3625695,37.4578273,62.5171277,29.1099061,39.5400382,20.3123221,2.0736422,16.1384214,10.7874222,41.5704529,27.0017854,2.6311465,2.6713971,37.3262005,32.5416067,64.1402365,15.2663567,37.7675574,62.1103152,28.1000374,39.5437351,18.7670918,2.1093862,16.9969304,11.1672211,42.1467386,26.2074005,2.3675073,2.4165212,38.0086059,33.1316064,64.3071179,14.5180994,38.0637221,62.4498454,28.007639,40.3642164,18.8297024,2.3903639,16.7463173,11.0173941,43.1557364,25.1910462,2.4944008,2.5244138,38.6370397,33.4820671,64.5939701,14.3324033,37.4428869,62.0975982,27.215212,40.1079271,18.4072844,2.297168,16.7492929,11.392013,43.7235768,25.8898616,2.4484381,2.4647638,40.3957169,34.8502382,65.7000896,14.2292083,37.9389479,62.4534691,26.5088901,39.1789327,17.4860376,2.116531,17.1280004,11.6491955,43.0958552,25.914704 +1299,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1286742,1.1361917,14.2419412,9.8629805,35.8804971,16.2577998,34.9247189,69.4327702,40.5779945,51.3522692,24.2757455,4.6606625,13.7469381,12.5188856,32.7928274,9.1772669,0.9867708,0.9947412,14.0874116,9.6971702,34.8622926,16.1976538,34.3667363,69.701284,40.9231298,51.5864669,23.7504635,4.4323424,13.5387475,12.4670379,32.524975,7.4193501,1.0592315,1.0797902,14.1500558,9.7350579,33.8687802,16.2274464,34.4620354,69.3888817,40.7922524,51.5049393,24.1035134,4.2717884,12.9829059,11.4658207,31.2104285,7.0945898,0.8914298,0.9436251,13.7938572,9.2037081,34.2508433,16.5733809,34.2661127,69.1672098,39.5812371,50.96409,24.4354858,4.256806,12.6540132,10.6534012,30.9273079,4.9242424,0.9748012,1.0287597,13.9455616,9.4174645,33.2920792,16.8596392,35.0292128,68.7195442,40.7254057,51.9230689,25.1460639,4.2599794,12.5615715,10.4719691,30.0994787,5.1586508 +1300,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2486357,1.2634711,24.1777269,20.2977189,51.4674326,17.4877226,39.7673997,65.3199453,34.5148498,46.9864079,20.6123497,2.8917075,15.463982,12.3131306,35.9965422,14.403983,1.1883305,1.2028583,24.7920085,21.1129818,52.2896968,17.4611806,39.7737018,65.1925806,34.3259402,46.8580841,20.8375915,2.5820291,15.1446939,11.6620786,35.4884852,13.5092941,1.2832475,1.2823715,24.7646932,20.8408301,52.8751435,17.1490043,40.0928708,64.732876,35.025617,47.0294695,21.0338511,2.2926581,15.5308619,12.1958256,35.1133432,13.593723,1.5450811,1.5360954,25.5010724,21.4793222,53.3708217,17.2374979,40.100871,64.5249234,34.1289439,47.6074805,20.8119129,2.5494677,15.6478494,11.9947883,34.8915609,14.1304436,1.4085732,1.4247337,25.4623298,21.5302205,53.8624042,17.4813532,40.3909804,64.8785759,34.5722836,47.8953453,20.7764405,2.4960396,15.2611358,11.5504826,34.8754104,12.7009325 +1301,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6727715,0.7080011,11.3552471,7.8834395,37.1763829,18.1087797,33.9486748,70.6296467,39.1184913,48.424229,25.7258956,3.0772407,10.523829,9.5985482,37.5520954,7.3273714,0.7168445,0.7511436,11.5442826,8.0973803,37.8032708,18.0027485,32.5574335,70.369051,38.2676327,48.0085011,25.0237542,3.1429905,9.7404577,8.8153293,37.0848684,5.4165132,0.8306662,0.8208924,11.7746953,8.3766144,37.856735,18.0245642,31.9532151,69.4348844,37.8890588,48.1331368,24.4376448,3.1354615,9.3902877,9.2651636,39.6919865,5.0386269,0.815702,0.8061798,12.6607384,9.0302402,37.4817258,18.5483608,31.680527,69.6690317,38.0122098,48.8593486,24.2785378,3.2355602,8.6482679,9.1127385,38.9162807,8.711778,0.8487812,0.8394193,13.099254,9.4341993,37.1944134,18.5545811,31.7245405,69.5101858,38.2661042,49.7483023,24.3595668,3.1793203,8.139261,8.2327833,38.0666061,8.6462785 +1302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.843935,0.9200673,10.0599685,6.509344,45.7483965,15.8048564,27.290812,64.8253855,36.1640354,40.7019307,18.9436081,3.6516288,11.7753481,11.3680165,39.8476327,2.4265319,0.8494382,0.9231747,10.1419618,6.4315607,45.2777986,15.5309196,27.4315657,64.7998636,37.3293299,40.829302,19.2241353,3.3966884,11.1445783,10.3575745,39.1148792,6.9426702,0.8533715,0.8785568,10.58331,6.7561412,44.8044015,15.4044596,27.1871975,64.0161259,37.5308161,40.5691364,19.1809155,3.2739065,11.7644229,10.0875913,37.8849789,9.1322006,0.8535583,0.7913363,11.5649401,7.3256887,44.8951467,15.4803173,26.2474654,64.5781453,36.4876697,40.3618843,18.9654975,3.3727552,12.1980202,11.3186295,39.9222717,8.4135508,0.7883925,0.6644114,11.7934343,7.6747177,45.1332767,14.5298496,25.8479467,63.8225858,35.5657873,40.7153511,18.2463317,3.44378,12.8845038,11.278957,41.062808,9.0452414 +1303,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.70168,1.7328963,34.8608259,30.1321308,52.3725668,14.7383459,33.6915006,59.8522815,28.0706189,42.502188,16.1778767,1.8570094,17.5730181,12.4290306,41.3877345,22.2785697,1.7461787,1.7885258,35.5325839,31.1039737,54.1777953,14.9538089,33.2961297,60.2982378,27.6166935,42.3887884,15.6359409,1.7655449,18.1642159,12.5299006,41.4088101,22.8782007,1.7966284,1.8760921,35.5978049,31.0804,54.8341253,15.2797469,34.1619022,62.1590323,28.9372843,42.7333985,16.1381972,1.7936526,19.1273583,12.7607322,41.5832438,23.1953756,1.7183463,1.7659996,34.6282572,30.2282822,55.7850728,15.4378443,33.1889727,62.5039452,29.6539736,41.9217258,15.71298,1.7328048,19.2191133,12.4416088,40.3315137,24.9933594,1.5571004,1.5675299,33.7764199,29.7625033,56.7211967,15.2500656,33.0386996,63.5073726,30.2013531,42.2353149,16.0124814,1.7793383,18.9006883,12.8453194,38.636673,23.9083173 +1304,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4098217,1.4289581,23.7824794,19.5025179,41.8039283,16.6680174,38.4937603,66.1116246,36.3222513,49.2452828,23.4073767,3.1782304,12.275995,9.8624046,31.3209658,20.8642593,1.3500896,1.3696815,24.3213672,20.081735,41.9904741,16.5109026,38.0462549,66.0019524,35.9996528,48.4331399,23.0417999,3.5393266,12.1670091,9.8530386,30.7550983,22.2446728,1.4111193,1.4418483,25.1628595,20.6088458,42.1184552,16.9051416,38.1148127,66.6948438,36.0571467,47.8403492,22.791462,3.2373321,12.6425939,10.149907,30.186884,20.9952426,1.6338359,1.6887105,25.3178055,20.7323362,42.3453019,17.2437779,37.8144044,66.6841428,34.7273887,47.0929583,22.0799097,3.4545992,12.9324078,10.7630544,29.6809286,18.897009,1.6410242,1.6946629,25.6886395,21.2800226,43.3918106,17.7649785,37.2050081,66.8232786,34.8043164,46.7159853,22.4074433,3.7335418,13.1034326,10.77837,29.6542466,18.7974046 +1305,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4816503,1.5078639,19.6393788,15.6169509,83.6798902,15.4781265,31.1008005,64.8702339,33.739525,37.5883335,17.4264145,5.0268641,13.8705155,11.3046187,37.0700483,13.5167971,1.3978867,1.4590233,20.0374525,15.9919665,84.5896333,14.3890107,30.9827548,64.0674381,33.4580447,38.6467212,17.6623767,4.8144041,13.9083403,10.6031929,36.5378659,11.0286714,1.4909896,1.5528732,20.2453023,15.9273397,84.3469693,13.4538666,31.2458189,63.9187912,33.8098157,38.4200886,17.6454284,4.8734201,15.0067458,10.3428887,37.3013679,13.9018788,1.5149688,1.6025716,20.0161466,15.4629117,84.8099375,12.8646284,30.584701,63.0502916,33.1933856,38.5276856,17.1914829,4.783928,14.5216219,10.1232515,38.262649,14.8046259,1.4700042,1.5139901,20.7197723,16.2007861,85.4472028,12.91888,30.7076292,63.900472,32.7498351,38.0972617,16.8274869,4.4466416,14.9841934,9.5145727,36.9150286,13.2636942 +1306,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6075158,0.5988684,7.8479249,5.0101934,64.0852225,8.4581433,25.7454279,66.2151836,32.8438488,40.0485528,16.468847,6.5538685,9.7167035,8.2499888,36.2446761,5.0088652,0.6209219,0.6245645,7.9724119,5.0815267,63.7939565,8.332579,26.0300882,66.2096177,32.6538564,40.0249004,16.5196039,6.5640083,9.9206371,8.2803557,36.415449,4.9002602,0.6922305,0.6957642,8.1945775,5.302445,63.4136498,8.4328595,26.0211149,66.4533638,32.5815482,39.7288372,16.4779957,6.4481232,9.9057427,8.2378804,36.3249489,4.724042,0.6625561,0.6695143,8.2835367,5.3899628,62.8618616,8.4777525,25.9591112,66.5757191,32.6784811,39.7174227,16.405744,6.1820328,10.0411705,8.2707969,36.4738046,4.4191558,0.6963352,0.698391,8.2886974,5.2760802,62.0722525,8.4692267,26.0593228,66.2851271,32.8091813,39.7086468,16.4250657,6.1092022,10.2823502,8.3483408,36.150894,4.5836464 +1307,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6329042,0.6468116,9.8892046,6.7755903,47.6042684,13.3993043,28.0130314,68.9600394,40.7200287,44.6092255,21.2982756,5.2834349,10.6352165,9.9992024,33.9863954,8.423913,0.6301492,0.6327856,9.8300244,6.6792845,46.9312858,13.7106356,28.311664,69.2102846,40.7573153,45.3572689,21.2777968,5.5750235,11.0526074,9.6635787,34.057733,9.1145833,0.6168436,0.6645466,9.8581699,6.4991658,46.4918939,13.1737185,27.4024594,69.2537975,40.6921608,45.1707879,20.1894538,5.0817929,11.3042185,9.4522574,34.9276891,9.9914473,0.6228991,0.6935981,9.7305251,6.4998172,46.0406779,13.1761182,27.4211101,69.390871,41.0031317,45.0384274,20.6366437,4.9691943,11.0179983,9.7957333,34.6047304,9.1848923,0.6304148,0.7058636,9.7974213,6.5031283,46.416496,13.3955949,27.9011433,69.910328,40.8415618,44.4826124,19.9676893,4.9463787,11.5196005,9.7198094,34.3105127,9.2679412 +1308,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8494382,0.9231747,10.1419618,6.4315607,45.2777986,15.5309196,27.4315657,64.7998636,37.3293299,40.829302,19.2241353,3.3966884,11.1445783,10.3575745,39.1148792,6.9426702,0.8533715,0.8785568,10.58331,6.7561412,44.8044015,15.4044596,27.1871975,64.0161259,37.5308161,40.5691364,19.1809155,3.2739065,11.7644229,10.0875913,37.8849789,9.1322006,0.8535583,0.7913363,11.5649401,7.3256887,44.8951467,15.4803173,26.2474654,64.5781453,36.4876697,40.3618843,18.9654975,3.3727552,12.1980202,11.3186295,39.9222717,8.4135508,0.7883925,0.6644114,11.7934343,7.6747177,45.1332767,14.5298496,25.8479467,63.8225858,35.5657873,40.7153511,18.2463317,3.44378,12.8845038,11.278957,41.062808,9.0452414,0.7097665,0.5218871,11.4927515,7.3619702,44.8425256,14.1421529,25.0161609,63.8533369,35.2352838,41.0422804,17.7478949,3.544804,12.610954,11.0371242,40.9293475,9.1348262 +1309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5512369,0.5512369,12.3448003,8.8966315,56.9157165,30.502715,31.3873682,66.8269016,35.6457166,45.5358461,17.1016637,3.7775063,14.0151314,8.4595338,32.6973234,6.7372579,0.8420891,0.8420891,12.1865921,8.1477004,58.8607515,31.7428637,30.9257161,65.7081967,34.4320569,45.932855,18.0224518,3.436214,14.0711151,8.8798299,31.2672522,6.2496783,0.956363,0.956363,12.4659823,8.5150618,59.8757447,31.7751659,30.563206,67.2389707,34.5467608,45.2610121,18.475315,3.7775088,14.6052469,9.868499,33.0240028,4.9242797,1.0336523,1.0336523,13.6493379,9.5474643,60.0720726,31.4789502,31.2500045,66.5947311,33.979915,44.3246956,18.8937109,3.6638273,15.2234303,10.754265,33.1933697,5.7692751,1.135837,1.135837,15.1450592,11.0870529,61.4767256,31.214455,32.049454,66.4970428,33.6483801,42.5144587,18.3867423,4.578535,15.2173787,12.0290901,33.5757289,6.1983983 +1310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.4866705,1.5399419,25.1644312,19.7508707,43.5796797,14.1290455,39.6678527,66.2032372,33.8586655,49.3241702,25.3436079,5.9253757,15.668528,12.9636645,34.4396119,14.2570664,1.6871373,1.6899847,24.9698249,19.3001674,44.1095044,13.983285,39.644096,66.0705058,33.2093819,49.4695101,24.6962561,6.1357535,14.7651839,12.6391353,33.7839893,16.2018665,1.6908645,1.6937092,26.0101034,20.2956625,44.0536053,13.6603781,39.6960333,67.0442136,33.8783443,49.3073486,24.6161822,6.1612581,14.384442,12.9936207,34.3667577,15.6744539,1.7689503,1.8098309,26.4054992,20.248037,45.3120541,13.1873282,38.919512,66.2998724,33.1624747,48.9744813,24.1328746,5.6437097,15.6335596,12.8074891,34.6017064,16.4771229,1.8458685,1.9092824,26.9589159,20.7785049,46.2082274,12.6427286,39.2255227,65.4561328,32.6459468,48.7618396,23.2310092,5.5370375,16.3184703,13.3087236,35.1499661,15.4616984 +1311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8533715,0.8785568,10.58331,6.7561412,44.8044015,15.4044596,27.1871975,64.0161259,37.5308161,40.5691364,19.1809155,3.2739065,11.7644229,10.0875913,37.8849789,9.1322006,0.8535583,0.7913363,11.5649401,7.3256887,44.8951467,15.4803173,26.2474654,64.5781453,36.4876697,40.3618843,18.9654975,3.3727552,12.1980202,11.3186295,39.9222717,8.4135508,0.7883925,0.6644114,11.7934343,7.6747177,45.1332767,14.5298496,25.8479467,63.8225858,35.5657873,40.7153511,18.2463317,3.44378,12.8845038,11.278957,41.062808,9.0452414,0.7097665,0.5218871,11.4927515,7.3619702,44.8425256,14.1421529,25.0161609,63.8533369,35.2352838,41.0422804,17.7478949,3.544804,12.610954,11.0371242,40.9293475,9.1348262,0.704134,0.5008277,11.6838308,7.3142985,45.2262006,13.7851727,25.5709427,63.372965,35.5043464,40.7930815,17.9490176,3.8712279,12.3652987,10.4615944,40.1908365,8.261042 +1312,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7660348,0.7615151,8.1574805,5.3210796,46.3243713,19.4463112,31.3692132,67.5181667,39.0213485,46.9005433,20.9695716,7.3683002,10.5181518,9.9113113,32.717985,5.0872049,0.7910211,0.7755387,8.3862611,5.5869201,45.4944247,19.7894967,30.725013,68.0314396,40.0633477,46.9380508,21.6682292,7.5434054,10.1198598,9.3908612,32.1213604,4.8245586,0.7245553,0.7092809,8.4436696,5.6794421,45.2748521,19.8928363,30.6473999,67.7803459,39.8728278,47.2485495,21.6300576,7.063583,9.7367081,9.3906267,32.74761,3.9940817,0.6360005,0.6213483,8.4464715,5.5975958,43.6713106,19.2938322,30.4236938,67.5576773,40.3172085,47.8593548,22.1716963,6.3997307,9.9171617,9.8557644,32.1695287,3.9473673,0.5809124,0.5667975,8.531361,5.5769617,43.071447,19.2881143,30.6242,66.670223,40.3174286,47.6246221,22.4009435,6.4017888,9.637275,9.61538,32.3767036,3.9473673 +1313,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5489345,1.5489345,34.7283407,30.4698972,65.5145929,6.3970588,33.2095097,62.7786033,26.5230312,40.6389302,14.1901932,5.7206538,14.84375,10.7476636,37.1118012,16.4596273,1.544093,1.544093,35.1739788,30.484115,66.6405024,7.7443609,32.7507599,62.2340426,26.2158055,40.3495441,13.6018237,5.6990881,15.7643312,10.9177215,36.984127,17.2077922,1.9652946,1.9652946,36.7824773,31.9486405,66.3249211,7.0241692,32.6952527,61.0260337,26.5696784,39.5865237,13.5528331,6.5084227,17.5806452,12.3794212,37.9032258,19.8113208,1.9311398,1.9311398,35.947205,31.2888199,66.5322581,7.6625387,30.533752,61.9309262,25.9811617,37.755102,13.1083203,6.6718995,16.8300654,11.5635179,37.2131148,20.0617284,1.9582899,1.9582899,34.9612403,30.3100775,65.5645161,7.4845679,30.3767661,60.8320251,26.2951334,37.755102,14.3642072,6.8288854,14.6302251,11.0576923,36.2903226,18.0981595 +1314,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6209219,0.6245645,7.9724119,5.0815267,63.7939565,8.332579,26.0300882,66.2096177,32.6538564,40.0249004,16.5196039,6.5640083,9.9206371,8.2803557,36.415449,4.9002602,0.6922305,0.6957642,8.1945775,5.302445,63.4136498,8.4328595,26.0211149,66.4533638,32.5815482,39.7288372,16.4779957,6.4481232,9.9057427,8.2378804,36.3249489,4.724042,0.6625561,0.6695143,8.2835367,5.3899628,62.8618616,8.4777525,25.9591112,66.5757191,32.6784811,39.7174227,16.405744,6.1820328,10.0411705,8.2707969,36.4738046,4.4191558,0.6963352,0.698391,8.2886974,5.2760802,62.0722525,8.4692267,26.0593228,66.2851271,32.8091813,39.7086468,16.4250657,6.1092022,10.2823502,8.3483408,36.150894,4.5836464,0.6860278,0.6806663,8.3873162,5.456122,62.0327978,8.5206685,25.8522677,66.1707218,32.378237,39.5247324,16.100868,6.0204934,10.2857369,8.288321,36.5235999,4.7161441 +1315,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5071652,0.576543,9.733676,5.831941,55.3293454,14.4391032,32.8441539,69.1828429,36.2436659,46.2732091,20.6819995,3.0299791,9.3271504,8.2492821,33.0828598,9.0460586,0.5234603,0.5738389,9.5085616,5.9363917,54.4532202,14.623712,33.259335,69.3616321,36.8103876,46.533496,20.9997849,2.8218102,8.8722686,7.7903582,32.3757198,8.7171053,0.5279284,0.537715,9.35924,6.06092,54.2492863,14.3175407,33.0429939,69.3225605,36.0967583,45.9247367,20.4408658,3.1075256,9.4178816,7.9758391,32.5303881,8.1395349,0.5400993,0.5302101,9.2596496,6.0140015,53.3633745,14.5592533,32.3038523,68.5413809,36.5734559,46.3264069,20.4269805,3.0017331,9.3291501,7.7488437,31.595629,6.9256396,0.5254164,0.5154681,9.1908613,5.9884728,53.3650625,14.5703148,31.9995628,68.5455653,36.5787042,46.1077301,20.9441994,3.1290859,9.9451094,8.0583774,31.4413518,6.2499643 +1316,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6464101,0.6396327,11.0897952,7.1352476,50.5421956,19.8562118,34.5882433,67.3938237,35.888138,47.0948998,21.7710803,3.7032824,14.7187767,12.6601854,40.2991383,4.7770579,0.8974784,0.8802938,10.7852246,7.0310431,49.7033442,19.8456988,34.4999505,67.4185136,36.2656708,46.89984,21.9199108,3.7515458,14.4106309,13.0742973,39.6646944,5.5920211,0.775513,0.7581345,10.3296808,6.9340052,47.9138091,20.0955572,35.565382,67.8696413,36.6411491,47.5166277,22.3206233,4.1690399,14.6900868,12.9230202,38.3192781,4.7793207,0.7978499,0.7692423,10.0824805,7.0049636,46.1254322,19.6157897,35.0258749,67.5716934,37.2586112,47.2329309,22.3784656,4.1503082,14.3735046,12.7553546,37.6127751,6.5890493,0.7851863,0.7742628,10.2580321,6.971762,44.4027505,20.0052445,34.8666456,67.9878828,38.0846759,47.5043138,23.2623532,3.9447758,13.9838735,11.6701423,36.3524924,6.2499792 +1317,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6871373,1.6899847,24.9698249,19.3001674,44.1095044,13.983285,39.644096,66.0705058,33.2093819,49.4695101,24.6962561,6.1357535,14.7651839,12.6391353,33.7839893,16.2018665,1.6908645,1.6937092,26.0101034,20.2956625,44.0536053,13.6603781,39.6960333,67.0442136,33.8783443,49.3073486,24.6161822,6.1612581,14.384442,12.9936207,34.3667577,15.6744539,1.7689503,1.8098309,26.4054992,20.248037,45.3120541,13.1873282,38.919512,66.2998724,33.1624747,48.9744813,24.1328746,5.6437097,15.6335596,12.8074891,34.6017064,16.4771229,1.8458685,1.9092824,26.9589159,20.7785049,46.2082274,12.6427286,39.2255227,65.4561328,32.6459468,48.7618396,23.2310092,5.5370375,16.3184703,13.3087236,35.1499661,15.4616984,1.9124151,2.0453421,27.3415061,21.4511872,45.9015706,11.4806983,38.9656825,65.2435659,32.841555,48.8677049,23.0152474,5.4930152,16.4252864,13.1878386,35.6149721,15.2777778 +1318,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6496251,1.6891825,22.7391146,17.7998045,30.5325382,14.1352132,35.7577302,65.2421917,36.5026997,46.1297976,22.3900413,2.94432,14.5646226,10.8663843,39.6713184,18.9781393,1.5152002,1.5146404,23.3993682,18.2194963,31.0413196,14.798129,36.1363886,64.4487623,36.6872345,46.2335013,22.6156254,3.1159671,14.236336,10.9817031,39.2221767,18.4950769,1.5716618,1.5627738,23.3986607,18.167325,31.3010533,14.6272888,36.1843327,63.853815,35.6465653,45.8687523,21.7330937,2.9805645,14.2534048,10.3751182,39.4763238,21.6918418,1.6186068,1.6180845,24.2044491,18.9782966,31.8746908,15.2976375,37.0228612,63.3528059,35.2938024,45.8595664,21.9018671,3.1091415,14.1603783,10.8316015,39.718926,20.7481007,1.6555815,1.6656481,24.7172041,19.2532339,32.1187318,15.326178,37.6950404,62.9287327,35.5710863,46.2732355,22.3100622,3.1588242,13.7491002,11.0226528,39.7500391,21.9089852 +1319,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6464655,1.6788951,29.4765901,25.6128651,43.0566793,18.5875735,35.4678642,66.9895167,34.2624624,45.6541724,19.2544623,2.923177,13.4905662,11.9738806,34.0552567,19.1541833,1.7440945,1.7488301,29.6616636,25.4630093,42.8089336,17.4013979,34.0968444,66.9960602,34.7732453,44.367433,18.9072688,2.6135354,13.9776307,10.9921133,34.1910821,19.0354968,1.8170851,1.8331616,31.2107528,27.2010429,43.818054,18.0232026,34.9230298,67.7864718,34.1844955,44.3400754,18.5522661,2.6155824,15.2483828,10.7922181,33.2715445,17.7184865,1.964245,1.9801235,32.1080171,27.8112925,43.6504589,17.4496256,35.5639079,67.1023057,33.4457737,44.2817918,18.3119128,2.5121749,15.4073071,10.6496049,33.3135442,18.7203556,1.8468425,1.8392468,33.3451445,29.2032996,43.0384379,17.8167294,35.5941335,66.2518842,34.5517919,44.9112023,18.7934319,2.4219605,16.524878,11.1736309,34.3002988,15.2849625 +1320,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6908645,1.6937092,26.0101034,20.2956625,44.0536053,13.6603781,39.6960333,67.0442136,33.8783443,49.3073486,24.6161822,6.1612581,14.384442,12.9936207,34.3667577,15.6744539,1.7689503,1.8098309,26.4054992,20.248037,45.3120541,13.1873282,38.919512,66.2998724,33.1624747,48.9744813,24.1328746,5.6437097,15.6335596,12.8074891,34.6017064,16.4771229,1.8458685,1.9092824,26.9589159,20.7785049,46.2082274,12.6427286,39.2255227,65.4561328,32.6459468,48.7618396,23.2310092,5.5370375,16.3184703,13.3087236,35.1499661,15.4616984,1.9124151,2.0453421,27.3415061,21.4511872,45.9015706,11.4806983,38.9656825,65.2435659,32.841555,48.8677049,23.0152474,5.4930152,16.4252864,13.1878386,35.6149721,15.2777778,1.8339741,2.026732,27.5603884,21.8001503,44.9983013,12.1005502,38.6941398,66.0707711,33.0212554,49.0971699,23.660996,5.5074253,15.9029576,13.0422839,34.8730366,13.5983264 +1321,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.3816717,0.3732877,8.7674748,5.6419801,43.7709095,18.8688672,29.2332827,67.8558836,34.6773844,44.3076494,19.3461687,4.7023483,10.4771479,8.3906073,30.8849502,2.3547726,0.3313229,0.3228605,8.9916984,5.8337086,44.0499309,18.8388629,29.3937226,68.5175961,34.4689325,44.362999,19.1025368,4.6899137,10.8166919,8.1393213,30.8257407,1.9341487,0.4376925,0.4294045,9.2864559,6.0774547,43.9383998,19.008852,29.0979665,68.8659144,35.2190779,44.7171648,19.6955008,4.9231527,10.5601571,8.1607485,31.4157367,2.8271662,0.3976325,0.3931709,8.683338,5.6268179,43.3520906,19.3557628,28.9406693,68.7213009,35.4056436,45.4132427,20.1907589,4.6284265,10.7148351,8.0944932,32.2602094,2.8645453,0.4459849,0.4526931,8.6609306,5.5077555,42.4523209,19.7424899,28.6726574,68.5884983,35.5524688,45.8577018,20.6213242,4.5130514,10.5448773,8.4165642,32.2882369,2.4307652 +1322,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.465572,0.4690932,9.2398345,6.6718151,32.741331,13.7890164,32.1052476,69.3183152,41.6106926,49.2367053,21.8864909,6.177025,8.7158776,8.7158877,31.7413447,4.4715484,0.5117137,0.4632807,9.1874732,6.675081,32.2973929,13.9955192,31.0483232,69.201066,41.3697901,48.6034804,21.5717355,6.2595455,9.113842,9.0064498,32.6226664,2.8225806,0.6932009,0.6461771,8.984583,6.5886942,32.1340773,14.0928155,31.7596556,69.2578217,41.4469136,49.0067822,21.6333969,6.5166686,9.3217613,8.5487344,31.6863236,3.7190083,0.6616913,0.6017116,9.2252244,6.7319205,32.3992347,14.238253,30.8596972,68.1352539,41.455661,48.0356001,21.6771721,6.8754842,9.9736962,8.3561332,32.6603005,3.5433071,0.6617835,0.6045424,9.0383162,6.6654886,33.121152,13.7606312,30.8716858,68.5650455,41.83125,47.3786053,22.0759609,6.7376162,10.0090056,8.6387405,33.0911347,2.4475524 +1323,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3978867,1.4590233,20.0374525,15.9919665,84.5896333,14.3890107,30.9827548,64.0674381,33.4580447,38.6467212,17.6623767,4.8144041,13.9083403,10.6031929,36.5378659,11.0286714,1.4909896,1.5528732,20.2453023,15.9273397,84.3469693,13.4538666,31.2458189,63.9187912,33.8098157,38.4200886,17.6454284,4.8734201,15.0067458,10.3428887,37.3013679,13.9018788,1.5149688,1.6025716,20.0161466,15.4629117,84.8099375,12.8646284,30.584701,63.0502916,33.1933856,38.5276856,17.1914829,4.783928,14.5216219,10.1232515,38.262649,14.8046259,1.4700042,1.5139901,20.7197723,16.2007861,85.4472028,12.91888,30.7076292,63.900472,32.7498351,38.0972617,16.8274869,4.4466416,14.9841934,9.5145727,36.9150286,13.2636942,1.3836498,1.4280807,20.7788351,16.1387858,84.7462806,12.8823728,31.0787085,63.0197021,32.551753,36.5331164,16.0272779,4.5415504,15.5022806,10.8216221,37.657743,12.9348539 +1324,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6301492,0.6327856,9.8300244,6.6792845,46.9312858,13.7106356,28.311664,69.2102846,40.7573153,45.3572689,21.2777968,5.5750235,11.0526074,9.6635787,34.057733,9.1145833,0.6168436,0.6645466,9.8581699,6.4991658,46.4918939,13.1737185,27.4024594,69.2537975,40.6921608,45.1707879,20.1894538,5.0817929,11.3042185,9.4522574,34.9276891,9.9914473,0.6228991,0.6935981,9.7305251,6.4998172,46.0406779,13.1761182,27.4211101,69.390871,41.0031317,45.0384274,20.6366437,4.9691943,11.0179983,9.7957333,34.6047304,9.1848923,0.6304148,0.7058636,9.7974213,6.5031283,46.416496,13.3955949,27.9011433,69.910328,40.8415618,44.4826124,19.9676893,4.9463787,11.5196005,9.7198094,34.3105127,9.2679412,0.6637554,0.7307528,9.2968999,5.941799,44.808024,13.3687633,27.1899545,70.4247151,41.1115732,44.906337,19.8006113,4.8979521,11.7219923,9.614991,34.1153121,9.0630728 +1325,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1883305,1.2028583,24.7920085,21.1129818,52.2896968,17.4611806,39.7737018,65.1925806,34.3259402,46.8580841,20.8375915,2.5820291,15.1446939,11.6620786,35.4884852,13.5092941,1.2832475,1.2823715,24.7646932,20.8408301,52.8751435,17.1490043,40.0928708,64.732876,35.025617,47.0294695,21.0338511,2.2926581,15.5308619,12.1958256,35.1133432,13.593723,1.5450811,1.5360954,25.5010724,21.4793222,53.3708217,17.2374979,40.100871,64.5249234,34.1289439,47.6074805,20.8119129,2.5494677,15.6478494,11.9947883,34.8915609,14.1304436,1.4085732,1.4247337,25.4623298,21.5302205,53.8624042,17.4813532,40.3909804,64.8785759,34.5722836,47.8953453,20.7764405,2.4960396,15.2611358,11.5504826,34.8754104,12.7009325,1.4391375,1.4552037,25.6396923,21.8157275,53.2442999,17.4631744,40.6763306,64.6699779,34.9799991,47.8139978,20.7392172,2.5176663,15.2569328,11.6058893,34.9862767,12.4999684 +1326,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0758781,1.1677934,12.5923561,8.7130446,42.8342948,14.9938522,31.7724907,66.4047873,36.3607697,46.1030851,24.7328786,4.6825845,12.4211901,12.0581106,39.6333779,5.7432471,1.0365982,1.1165691,11.9416236,7.8915926,41.5893707,15.0476794,30.8277799,67.0420066,36.3663935,47.0176499,25.2282533,4.2909262,12.7935647,12.1906233,40.1863255,3.7671259,0.8846185,0.9782222,12.6628726,8.4702361,41.380344,14.4362179,31.3845601,67.7428858,36.1547247,47.3822039,24.7527777,3.6940094,12.9739264,12.7672492,38.5577969,4.8701362,0.8907328,0.9810036,12.840773,8.8058753,40.828582,14.3131766,32.6319002,68.4904797,36.6161444,46.773287,24.7194331,3.5634135,14.1618216,13.1365917,38.5464947,5.6666704,0.8921669,1.0049974,12.9242685,9.0600365,41.7634306,14.5546018,31.6684834,68.1695619,36.3120773,46.4092712,24.2710646,3.8066981,13.8520717,13.3002281,38.1242942,5.8282244 +1327,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6239311,0.5972492,7.9074491,5.2274882,48.9868586,11.9080778,30.122271,66.0056535,32.8970084,41.7071697,17.6751855,15.6842763,10.2796307,9.1732935,37.2313098,3.0782035,0.6266632,0.6010152,7.6905831,5.0546676,48.444608,11.9860471,30.4690968,66.1028538,32.7394408,41.4148313,17.4785783,15.3134846,10.2458995,8.9681347,37.0364708,2.6655892,0.5670163,0.5408359,7.487294,4.8293411,47.9914565,12.1528267,30.7181414,66.3917789,33.2287292,41.8552126,17.4062218,15.304332,9.715707,8.4604115,36.6933069,2.4447946,0.5407042,0.5191989,7.6101008,4.8701772,47.1303611,12.3434831,30.0720999,66.9574736,33.604907,42.516231,17.7144966,15.4217716,9.4790114,8.4419331,35.9479984,2.7301092,0.5506981,0.5357406,7.7039284,4.9561225,46.6992773,12.7191102,29.684561,67.6964375,33.8373636,42.4613004,17.8338916,15.1425257,9.9071622,8.8098689,35.7812996,3.0232558 +1328,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7461787,1.7885258,35.5325839,31.1039737,54.1777953,14.9538089,33.2961297,60.2982378,27.6166935,42.3887884,15.6359409,1.7655449,18.1642159,12.5299006,41.4088101,22.8782007,1.7966284,1.8760921,35.5978049,31.0804,54.8341253,15.2797469,34.1619022,62.1590323,28.9372843,42.7333985,16.1381972,1.7936526,19.1273583,12.7607322,41.5832438,23.1953756,1.7183463,1.7659996,34.6282572,30.2282822,55.7850728,15.4378443,33.1889727,62.5039452,29.6539736,41.9217258,15.71298,1.7328048,19.2191133,12.4416088,40.3315137,24.9933594,1.5571004,1.5675299,33.7764199,29.7625033,56.7211967,15.2500656,33.0386996,63.5073726,30.2013531,42.2353149,16.0124814,1.7793383,18.9006883,12.8453194,38.636673,23.9083173,1.6093872,1.631909,34.2375417,30.1262519,57.2223766,15.919404,32.4838216,63.2300344,30.9586931,41.9596023,16.1785913,1.779202,18.6300505,12.622956,37.871315,23.8864848 +1329,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3340767,0.3353141,7.5384215,4.2643641,67.3888227,19.0983816,31.2548695,63.8301092,29.9957303,40.4753445,16.2266976,5.2599656,9.475659,8.0827098,35.1320887,4.3591398,0.2863911,0.2938622,7.5337102,4.2670631,66.3555337,19.2898222,31.6637321,63.6343949,30.4372477,40.617456,16.6190254,4.885545,9.9325389,8.47139,35.109618,3.1402089,0.3997496,0.4260654,7.3699388,4.2320383,64.6189046,19.3948022,31.1115586,63.5972074,30.4552989,41.0377341,16.0582509,4.8605446,10.172678,8.6972937,34.1767552,3.1553413,0.368179,0.3957925,7.3038536,4.2262661,64.3700772,20.0555319,30.8639193,63.6501076,31.5550774,41.7926516,16.8250599,5.1619902,10.5325964,8.5657411,33.5862781,3.2663333,0.3893758,0.451954,7.764539,4.6495626,63.3271569,19.8602317,30.4158974,63.0027419,31.3299838,41.7047467,17.0703879,5.2330922,10.9756144,8.8954506,33.8260278,3.8071085 +1330,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8420891,0.8420891,12.1865921,8.1477004,58.8607515,31.7428637,30.9257161,65.7081967,34.4320569,45.932855,18.0224518,3.436214,14.0711151,8.8798299,31.2672522,6.2496783,0.956363,0.956363,12.4659823,8.5150618,59.8757447,31.7751659,30.563206,67.2389707,34.5467608,45.2610121,18.475315,3.7775088,14.6052469,9.868499,33.0240028,4.9242797,1.0336523,1.0336523,13.6493379,9.5474643,60.0720726,31.4789502,31.2500045,66.5947311,33.979915,44.3246956,18.8937109,3.6638273,15.2234303,10.754265,33.1933697,5.7692751,1.135837,1.135837,15.1450592,11.0870529,61.4767256,31.214455,32.049454,66.4970428,33.6483801,42.5144587,18.3867423,4.578535,15.2173787,12.0290901,33.5757289,6.1983983,1.2226479,1.2226479,14.6540647,10.9721389,60.9883015,30.1737431,31.0371086,66.8888668,33.1112813,42.7406547,18.2964391,4.3704222,14.0949326,11.7211726,32.8871984,6.3559861 +1331,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6922305,0.6957642,8.1945775,5.302445,63.4136498,8.4328595,26.0211149,66.4533638,32.5815482,39.7288372,16.4779957,6.4481232,9.9057427,8.2378804,36.3249489,4.724042,0.6625561,0.6695143,8.2835367,5.3899628,62.8618616,8.4777525,25.9591112,66.5757191,32.6784811,39.7174227,16.405744,6.1820328,10.0411705,8.2707969,36.4738046,4.4191558,0.6963352,0.698391,8.2886974,5.2760802,62.0722525,8.4692267,26.0593228,66.2851271,32.8091813,39.7086468,16.4250657,6.1092022,10.2823502,8.3483408,36.150894,4.5836464,0.6860278,0.6806663,8.3873162,5.456122,62.0327978,8.5206685,25.8522677,66.1707218,32.378237,39.5247324,16.100868,6.0204934,10.2857369,8.288321,36.5235999,4.7161441,0.7291568,0.7221313,8.5928154,5.6393883,61.2501404,8.3816329,25.4151486,66.322191,32.138338,39.9317753,16.096939,5.9605638,10.2473079,8.4801821,36.2383937,4.7152887 +1332,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6792231,0.6482219,8.7273178,5.2991287,28.3012189,17.650368,34.5240979,68.9910993,41.189229,50.1597956,24.4807268,4.4396339,10.353555,10.0321552,30.8599082,7.3008753,0.6081405,0.5737246,8.2521245,5.1377153,27.5865781,17.3454094,34.7633593,68.9107496,40.9012297,49.9351827,24.4326878,4.506166,10.2312596,10.0087388,31.0881895,5.3999914,0.5826205,0.5651469,7.9714556,4.8552509,27.1745888,17.4146998,35.2061971,68.7113455,40.5051618,49.7835269,24.4226966,4.546398,10.2377177,10.4045237,30.6579899,4.9212502,0.6516604,0.6411442,8.4125503,5.3707251,26.9215392,17.4167996,35.28207,68.7585447,40.1815385,49.7072235,23.7849104,4.5188381,10.5045497,10.6186106,31.3465062,5.215818,0.5914354,0.5813098,8.2019837,5.1961192,26.2293422,17.102801,35.5273134,69.4444473,40.5178934,50.2730855,23.9454034,4.2843696,10.4655648,10.3820096,31.4518915,5.4006912 +1333,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6702865,0.7054957,9.2043294,5.5099388,46.0949933,19.0512095,31.6355548,67.6896179,38.6404918,44.1036449,22.15625,4.1291574,10.0591946,9.9932638,32.5448018,6.5525688,0.6479025,0.6535731,8.6425283,4.9924034,46.0184892,19.2013028,32.232739,67.9207856,38.4671854,43.504385,22.4048721,4.0693934,9.8548398,9.0420391,32.9406268,7.2361346,0.7293381,0.728042,8.9615159,5.1480329,45.4562788,19.1780866,31.7171203,68.1627013,38.7719049,43.7557301,22.2606402,4.3380241,9.8894331,8.8431263,32.8489981,7.2607385,0.7369086,0.7356394,8.9171914,5.1549781,45.4670194,19.5399136,31.2225243,69.0714222,38.8624962,43.6526742,22.553641,4.4519935,9.5509154,8.5703278,33.5270585,7.1138415,0.6613373,0.6705187,9.0971292,5.3240632,44.2785576,19.7200307,31.291303,70.1723287,39.6698006,43.7732608,22.9411931,4.4046314,9.3765465,8.3086618,33.3033764,7.2314792 +1334,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6081405,0.5737246,8.2521245,5.1377153,27.5865781,17.3454094,34.7633593,68.9107496,40.9012297,49.9351827,24.4326878,4.506166,10.2312596,10.0087388,31.0881895,5.3999914,0.5826205,0.5651469,7.9714556,4.8552509,27.1745888,17.4146998,35.2061971,68.7113455,40.5051618,49.7835269,24.4226966,4.546398,10.2377177,10.4045237,30.6579899,4.9212502,0.6516604,0.6411442,8.4125503,5.3707251,26.9215392,17.4167996,35.28207,68.7585447,40.1815385,49.7072235,23.7849104,4.5188381,10.5045497,10.6186106,31.3465062,5.215818,0.5914354,0.5813098,8.2019837,5.1961192,26.2293422,17.102801,35.5273134,69.4444473,40.5178934,50.2730855,23.9454034,4.2843696,10.4655648,10.3820096,31.4518915,5.4006912,0.5654653,0.5556548,8.4117973,5.3561916,26.0760632,17.2838218,35.8640178,69.476849,40.5486729,50.8658533,23.8516365,4.2927433,10.7655545,10.6222467,31.5993803,4.898642 +1335,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5441661,0.5898966,8.0210136,5.2787946,35.7800422,24.7411311,28.9963524,69.0054487,34.1280322,45.7083943,15.4177914,7.7429328,10.5581468,9.8139635,33.3490333,2.2959067,0.5630552,0.6203405,7.8289367,4.9342119,36.189454,24.5157304,29.3515886,68.2549912,33.8337304,45.7571197,15.8616036,8.0286909,10.4860559,9.7659864,34.0436209,2.2499888,0.5407023,0.5825621,7.7842745,4.6789574,36.3464353,24.258051,30.4953895,68.1723299,32.9100349,45.14981,15.5911572,8.4720748,10.4166693,10.3316356,34.3483237,2.2277117,0.4946871,0.5352165,7.0385139,4.3610388,36.3432977,24.6518117,28.7414101,67.9911142,32.4928898,44.1507966,15.7926445,8.3299432,9.3775696,10.1882236,33.4575403,2.1739025,0.4554344,0.4934019,6.9123272,4.203173,36.5431323,25.7014837,30.335991,68.6758698,33.6560793,44.9604112,15.8695743,8.5177596,10.3238937,9.9919175,33.0475227,3.0092523 +1336,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5117137,0.4632807,9.1874732,6.675081,32.2973929,13.9955192,31.0483232,69.201066,41.3697901,48.6034804,21.5717355,6.2595455,9.113842,9.0064498,32.6226664,2.8225806,0.6932009,0.6461771,8.984583,6.5886942,32.1340773,14.0928155,31.7596556,69.2578217,41.4469136,49.0067822,21.6333969,6.5166686,9.3217613,8.5487344,31.6863236,3.7190083,0.6616913,0.6017116,9.2252244,6.7319205,32.3992347,14.238253,30.8596972,68.1352539,41.455661,48.0356001,21.6771721,6.8754842,9.9736962,8.3561332,32.6603005,3.5433071,0.6617835,0.6045424,9.0383162,6.6654886,33.121152,13.7606312,30.8716858,68.5650455,41.83125,47.3786053,22.0759609,6.7376162,10.0090056,8.6387405,33.0911347,2.4475524,0.6869866,0.6316894,9.3310789,6.9619408,32.6918923,13.5921007,30.9095028,68.7999562,40.8709886,47.3333724,21.9888815,6.5654044,10.2725093,9.0348793,33.70637,4.8387097 +1337,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7168445,0.7511436,11.5442826,8.0973803,37.8032708,18.0027485,32.5574335,70.369051,38.2676327,48.0085011,25.0237542,3.1429905,9.7404577,8.8153293,37.0848684,5.4165132,0.8306662,0.8208924,11.7746953,8.3766144,37.856735,18.0245642,31.9532151,69.4348844,37.8890588,48.1331368,24.4376448,3.1354615,9.3902877,9.2651636,39.6919865,5.0386269,0.815702,0.8061798,12.6607384,9.0302402,37.4817258,18.5483608,31.680527,69.6690317,38.0122098,48.8593486,24.2785378,3.2355602,8.6482679,9.1127385,38.9162807,8.711778,0.8487812,0.8394193,13.099254,9.4341993,37.1944134,18.5545811,31.7245405,69.5101858,38.2661042,49.7483023,24.3595668,3.1793203,8.139261,8.2327833,38.0666061,8.6462785,0.9298353,0.9704602,13.1141668,9.1995161,37.7044836,18.4512368,31.5499059,68.3617521,37.4112129,49.0011473,24.3562359,3.3525858,8.0614989,7.702298,36.3191673,7.4998179 +1338,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6932009,0.6461771,8.984583,6.5886942,32.1340773,14.0928155,31.7596556,69.2578217,41.4469136,49.0067822,21.6333969,6.5166686,9.3217613,8.5487344,31.6863236,3.7190083,0.6616913,0.6017116,9.2252244,6.7319205,32.3992347,14.238253,30.8596972,68.1352539,41.455661,48.0356001,21.6771721,6.8754842,9.9736962,8.3561332,32.6603005,3.5433071,0.6617835,0.6045424,9.0383162,6.6654886,33.121152,13.7606312,30.8716858,68.5650455,41.83125,47.3786053,22.0759609,6.7376162,10.0090056,8.6387405,33.0911347,2.4475524,0.6869866,0.6316894,9.3310789,6.9619408,32.6918923,13.5921007,30.9095028,68.7999562,40.8709886,47.3333724,21.9888815,6.5654044,10.2725093,9.0348793,33.70637,4.8387097,0.7548534,0.7028819,9.742607,7.1364899,32.0384438,14.3155803,30.5689582,68.9617717,41.234965,48.4508062,22.4128551,6.6081642,10.1861182,9.4889911,33.7877168,3.8235294 +1339,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8306662,0.8208924,11.7746953,8.3766144,37.856735,18.0245642,31.9532151,69.4348844,37.8890588,48.1331368,24.4376448,3.1354615,9.3902877,9.2651636,39.6919865,5.0386269,0.815702,0.8061798,12.6607384,9.0302402,37.4817258,18.5483608,31.680527,69.6690317,38.0122098,48.8593486,24.2785378,3.2355602,8.6482679,9.1127385,38.9162807,8.711778,0.8487812,0.8394193,13.099254,9.4341993,37.1944134,18.5545811,31.7245405,69.5101858,38.2661042,49.7483023,24.3595668,3.1793203,8.139261,8.2327833,38.0666061,8.6462785,0.9298353,0.9704602,13.1141668,9.1995161,37.7044836,18.4512368,31.5499059,68.3617521,37.4112129,49.0011473,24.3562359,3.3525858,8.0614989,7.702298,36.3191673,7.4998179,0.989013,1.0287817,13.0146487,9.1081594,37.2893672,19.0671685,32.0061762,69.0820358,38.1417656,49.3257464,24.5648725,3.2854754,8.6561634,7.6291724,36.2251015,7.4192783 +1340,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.3313229,0.3228605,8.9916984,5.8337086,44.0499309,18.8388629,29.3937226,68.5175961,34.4689325,44.362999,19.1025368,4.6899137,10.8166919,8.1393213,30.8257407,1.9341487,0.4376925,0.4294045,9.2864559,6.0774547,43.9383998,19.008852,29.0979665,68.8659144,35.2190779,44.7171648,19.6955008,4.9231527,10.5601571,8.1607485,31.4157367,2.8271662,0.3976325,0.3931709,8.683338,5.6268179,43.3520906,19.3557628,28.9406693,68.7213009,35.4056436,45.4132427,20.1907589,4.6284265,10.7148351,8.0944932,32.2602094,2.8645453,0.4459849,0.4526931,8.6609306,5.5077555,42.4523209,19.7424899,28.6726574,68.5884983,35.5524688,45.8577018,20.6213242,4.5130514,10.5448773,8.4165642,32.2882369,2.4307652,0.5439674,0.5483998,8.6698424,5.5007467,41.5430379,19.6654822,29.4700469,68.1982341,35.354688,46.4973336,20.4709994,4.397625,10.675249,8.5707127,32.1071406,2.4969775 +1341,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.7689503,1.8098309,26.4054992,20.248037,45.3120541,13.1873282,38.919512,66.2998724,33.1624747,48.9744813,24.1328746,5.6437097,15.6335596,12.8074891,34.6017064,16.4771229,1.8458685,1.9092824,26.9589159,20.7785049,46.2082274,12.6427286,39.2255227,65.4561328,32.6459468,48.7618396,23.2310092,5.5370375,16.3184703,13.3087236,35.1499661,15.4616984,1.9124151,2.0453421,27.3415061,21.4511872,45.9015706,11.4806983,38.9656825,65.2435659,32.841555,48.8677049,23.0152474,5.4930152,16.4252864,13.1878386,35.6149721,15.2777778,1.8339741,2.026732,27.5603884,21.8001503,44.9983013,12.1005502,38.6941398,66.0707711,33.0212554,49.0971699,23.660996,5.5074253,15.9029576,13.0422839,34.8730366,13.5983264,2.0458788,2.2007635,28.3955024,22.1907215,46.1699384,12.4988335,38.5474768,65.6773945,32.0548222,48.2652012,22.5802406,5.0257956,16.0400175,13.0965,35.4057622,15.0826446 +1342,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6979647,0.6826037,6.147541,3.8776797,50.1566416,20.7820197,31.3354037,68.3540373,34.3167702,46.242236,20.0310559,5.7453416,8.5411471,7.8222778,32.3047859,2.8688525,0.8174224,0.7776452,5.9803922,3.8888889,48.3776768,20.7961783,30.9691913,69.4801027,34.6919127,46.1810013,19.5442875,6.0012837,7.992074,7.2281167,32.3803191,3.0434783,0.684221,0.6642729,6.0775296,4.2378449,47.2638436,22.2613709,31.4755155,69.2332474,35.3414948,46.681701,19.3621134,5.7667526,7.5033201,6.3249001,31.6666667,2.2522523,0.6130043,0.5934195,6.6858605,4.8304543,45.7352005,22.6100629,31.6171826,70.1516109,35.660139,47.5363234,19.6146557,6.0960202,7.3472042,6.1848958,31.5686275,2.293578,0.601539,0.601539,6.8112401,4.9175321,46.1655508,23.1766124,31.4277072,71.0526316,36.3278887,46.4912281,18.723533,6.2008469,8.0994898,6.9693095,31.7715019,2.2321429 +1343,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7966284,1.8760921,35.5978049,31.0804,54.8341253,15.2797469,34.1619022,62.1590323,28.9372843,42.7333985,16.1381972,1.7936526,19.1273583,12.7607322,41.5832438,23.1953756,1.7183463,1.7659996,34.6282572,30.2282822,55.7850728,15.4378443,33.1889727,62.5039452,29.6539736,41.9217258,15.71298,1.7328048,19.2191133,12.4416088,40.3315137,24.9933594,1.5571004,1.5675299,33.7764199,29.7625033,56.7211967,15.2500656,33.0386996,63.5073726,30.2013531,42.2353149,16.0124814,1.7793383,18.9006883,12.8453194,38.636673,23.9083173,1.6093872,1.631909,34.2375417,30.1262519,57.2223766,15.919404,32.4838216,63.2300344,30.9586931,41.9596023,16.1785913,1.779202,18.6300505,12.622956,37.871315,23.8864848,1.4809255,1.4968563,34.7412295,30.6661633,58.4294797,15.9443704,33.2197848,63.1482162,31.3435759,42.7672904,16.3143692,1.7731002,19.6181154,12.9612492,39.4441694,23.3435429 +1344,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5932583,0.5738238,7.7591998,5.0878551,34.4534354,10.9803126,30.0738509,69.1003,36.8443482,48.6798212,20.4650997,3.0441657,10.3168253,9.881145,31.3585345,3.2012224,0.613544,0.5942573,8.0205704,5.3848644,33.6138613,10.9949772,29.4710624,69.7424953,36.6716215,49.6785626,20.6627982,3.0283944,10.4323632,9.8486883,30.6894859,3.685901,0.5532475,0.5341939,7.8530613,5.3070501,32.5407138,11.4495031,29.0273175,70.3003943,37.3034674,50.3538169,20.7691746,3.1741703,10.6976837,10.2348918,31.0299813,2.707009,0.496563,0.4938375,7.9396092,5.5085883,31.7942571,11.4989994,29.0315237,70.2943609,37.1918547,50.4615283,20.9596134,3.4326537,10.9816541,10.4404748,32.3633934,1.7241401,0.5120558,0.5147151,8.2015015,5.5938458,31.3233153,11.5557343,28.8021225,70.6454863,37.3123584,50.6735134,21.223775,3.6509309,11.0820472,9.9303729,31.2454362,2.689876 +1345,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6266632,0.6010152,7.6905831,5.0546676,48.444608,11.9860471,30.4690968,66.1028538,32.7394408,41.4148313,17.4785783,15.3134846,10.2458995,8.9681347,37.0364708,2.6655892,0.5670163,0.5408359,7.487294,4.8293411,47.9914565,12.1528267,30.7181414,66.3917789,33.2287292,41.8552126,17.4062218,15.304332,9.715707,8.4604115,36.6933069,2.4447946,0.5407042,0.5191989,7.6101008,4.8701772,47.1303611,12.3434831,30.0720999,66.9574736,33.604907,42.516231,17.7144966,15.4217716,9.4790114,8.4419331,35.9479984,2.7301092,0.5506981,0.5357406,7.7039284,4.9561225,46.6992773,12.7191102,29.684561,67.6964375,33.8373636,42.4613004,17.8338916,15.1425257,9.9071622,8.8098689,35.7812996,3.0232558,0.5500197,0.548696,7.5633294,4.8719063,45.906082,13.3100185,29.2663501,67.35538,33.137598,42.5474896,17.9715827,14.7962865,9.5341448,8.786918,34.9064901,2.7429463 +1346,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8704163,1.9535017,24.8603369,20.6870181,47.9354424,15.8481305,42.7144193,64.7310233,40.4533309,49.6257854,25.5656312,4.5553209,12.3743037,10.7073284,32.3210931,17.4056297,1.8664846,1.9931348,25.455961,21.1278211,48.2729882,15.9692391,42.9727615,64.2733965,39.7899932,50.000186,26.1307421,4.3614201,12.5491391,10.4821205,33.2694938,15.8070826,1.5529652,1.6186272,24.6852364,20.4245299,48.6270517,15.4984804,42.3314191,63.7285823,37.967592,49.439743,24.9466763,3.6950928,13.5867431,11.2571564,33.5889485,13.487556,1.7169136,1.7626051,24.5991621,20.225047,48.9455686,15.2062336,43.0429389,64.2919889,37.6936034,49.6366922,25.1644903,3.9932389,13.2231054,11.3606216,32.2949206,16.4426229,1.9059616,1.9529085,24.1080542,20.0110638,48.454671,15.5743686,42.6066867,64.0813038,37.2801319,48.9932229,24.966385,3.8668192,13.0795505,11.1696982,32.4075767,19.3875177 +1347,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4376925,0.4294045,9.2864559,6.0774547,43.9383998,19.008852,29.0979665,68.8659144,35.2190779,44.7171648,19.6955008,4.9231527,10.5601571,8.1607485,31.4157367,2.8271662,0.3976325,0.3931709,8.683338,5.6268179,43.3520906,19.3557628,28.9406693,68.7213009,35.4056436,45.4132427,20.1907589,4.6284265,10.7148351,8.0944932,32.2602094,2.8645453,0.4459849,0.4526931,8.6609306,5.5077555,42.4523209,19.7424899,28.6726574,68.5884983,35.5524688,45.8577018,20.6213242,4.5130514,10.5448773,8.4165642,32.2882369,2.4307652,0.5439674,0.5483998,8.6698424,5.5007467,41.5430379,19.6654822,29.4700469,68.1982341,35.354688,46.4973336,20.4709994,4.397625,10.675249,8.5707127,32.1071406,2.4969775,0.6732287,0.677574,8.4501038,5.4691131,40.8863646,20.1196924,29.3752212,68.3807076,36.1134312,46.5085447,21.0386316,4.668115,10.8899548,8.3333035,32.4548452,3.4841032 +1348,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6311465,2.6713971,37.3262005,32.5416067,64.1402365,15.2663567,37.7675574,62.1103152,28.1000374,39.5437351,18.7670918,2.1093862,16.9969304,11.1672211,42.1467386,26.2074005,2.3675073,2.4165212,38.0086059,33.1316064,64.3071179,14.5180994,38.0637221,62.4498454,28.007639,40.3642164,18.8297024,2.3903639,16.7463173,11.0173941,43.1557364,25.1910462,2.4944008,2.5244138,38.6370397,33.4820671,64.5939701,14.3324033,37.4428869,62.0975982,27.215212,40.1079271,18.4072844,2.297168,16.7492929,11.392013,43.7235768,25.8898616,2.4484381,2.4647638,40.3957169,34.8502382,65.7000896,14.2292083,37.9389479,62.4534691,26.5088901,39.1789327,17.4860376,2.116531,17.1280004,11.6491955,43.0958552,25.914704,2.6716233,2.6875695,40.5638666,35.0636747,67.0135039,13.8104813,36.4720137,62.1831319,25.4787108,38.7316072,17.0666093,2.2180396,17.5054041,12.3919758,44.1578624,25.7562385 +1349,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4359439,0.4204351,8.1236194,5.4432624,63.5800018,14.7543406,27.6108235,67.4840561,32.5825309,44.8947567,14.5645264,5.622318,11.9176321,10.6563002,29.640869,5.8969051,0.3654733,0.349427,7.9280087,5.2225169,63.3787542,14.9301697,27.1299087,66.6263353,32.4421596,44.7566939,14.0565263,5.7778448,12.5264732,10.9264575,28.5764367,4.4041451,0.4331162,0.4331162,8.0928754,5.2085645,62.1907271,14.5090575,26.7904036,67.0019233,31.3949192,44.7986613,13.9324355,5.4740739,12.4039445,10.3919074,29.7192356,4.4271341,0.4310578,0.4462232,8.0186522,5.3080816,62.3645389,14.6275342,26.8891052,67.2474895,31.7100946,45.1627482,13.8598968,5.7166065,11.785984,9.6848603,29.6112911,3.640835,0.4596525,0.5034356,7.5403593,4.9284003,61.9342981,14.7604071,26.7240331,66.8808464,31.7084253,44.5296633,14.1535331,5.4388303,11.308446,9.0087596,29.0231462,3.6232462 +1350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0365982,1.1165691,11.9416236,7.8915926,41.5893707,15.0476794,30.8277799,67.0420066,36.3663935,47.0176499,25.2282533,4.2909262,12.7935647,12.1906233,40.1863255,3.7671259,0.8846185,0.9782222,12.6628726,8.4702361,41.380344,14.4362179,31.3845601,67.7428858,36.1547247,47.3822039,24.7527777,3.6940094,12.9739264,12.7672492,38.5577969,4.8701362,0.8907328,0.9810036,12.840773,8.8058753,40.828582,14.3131766,32.6319002,68.4904797,36.6161444,46.773287,24.7194331,3.5634135,14.1618216,13.1365917,38.5464947,5.6666704,0.8921669,1.0049974,12.9242685,9.0600365,41.7634306,14.5546018,31.6684834,68.1695619,36.3120773,46.4092712,24.2710646,3.8066981,13.8520717,13.3002281,38.1242942,5.8282244,0.9653248,1.0618499,13.1331466,9.060037,41.1259198,15.1329687,32.3131231,68.8244888,37.0801527,47.5893644,24.0790974,3.873237,14.0744546,13.1838147,39.0418387,7.187509 +1351,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6625561,0.6695143,8.2835367,5.3899628,62.8618616,8.4777525,25.9591112,66.5757191,32.6784811,39.7174227,16.405744,6.1820328,10.0411705,8.2707969,36.4738046,4.4191558,0.6963352,0.698391,8.2886974,5.2760802,62.0722525,8.4692267,26.0593228,66.2851271,32.8091813,39.7086468,16.4250657,6.1092022,10.2823502,8.3483408,36.150894,4.5836464,0.6860278,0.6806663,8.3873162,5.456122,62.0327978,8.5206685,25.8522677,66.1707218,32.378237,39.5247324,16.100868,6.0204934,10.2857369,8.288321,36.5235999,4.7161441,0.7291568,0.7221313,8.5928154,5.6393883,61.2501404,8.3816329,25.4151486,66.322191,32.138338,39.9317753,16.096939,5.9605638,10.2473079,8.4801821,36.2383937,4.7152887,0.7133059,0.7013231,8.5580109,5.751599,60.1974734,8.5964341,25.160166,66.5081759,32.4890336,40.4190285,16.6584333,6.1962935,10.3896045,8.76596,36.1537707,4.4549314 +1352,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.815702,0.8061798,12.6607384,9.0302402,37.4817258,18.5483608,31.680527,69.6690317,38.0122098,48.8593486,24.2785378,3.2355602,8.6482679,9.1127385,38.9162807,8.711778,0.8487812,0.8394193,13.099254,9.4341993,37.1944134,18.5545811,31.7245405,69.5101858,38.2661042,49.7483023,24.3595668,3.1793203,8.139261,8.2327833,38.0666061,8.6462785,0.9298353,0.9704602,13.1141668,9.1995161,37.7044836,18.4512368,31.5499059,68.3617521,37.4112129,49.0011473,24.3562359,3.3525858,8.0614989,7.702298,36.3191673,7.4998179,0.989013,1.0287817,13.0146487,9.1081594,37.2893672,19.0671685,32.0061762,69.0820358,38.1417656,49.3257464,24.5648725,3.2854754,8.6561634,7.6291724,36.2251015,7.4192783,0.8507032,0.8903277,13.3203793,9.2120531,37.8646623,19.2988661,31.3807527,68.3146542,37.913729,48.2799415,23.7587481,3.0270157,9.4018746,8.2825619,35.4767261,6.999916 +1353,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5234603,0.5738389,9.5085616,5.9363917,54.4532202,14.623712,33.259335,69.3616321,36.8103876,46.533496,20.9997849,2.8218102,8.8722686,7.7903582,32.3757198,8.7171053,0.5279284,0.537715,9.35924,6.06092,54.2492863,14.3175407,33.0429939,69.3225605,36.0967583,45.9247367,20.4408658,3.1075256,9.4178816,7.9758391,32.5303881,8.1395349,0.5400993,0.5302101,9.2596496,6.0140015,53.3633745,14.5592533,32.3038523,68.5413809,36.5734559,46.3264069,20.4269805,3.0017331,9.3291501,7.7488437,31.595629,6.9256396,0.5254164,0.5154681,9.1908613,5.9884728,53.3650625,14.5703148,31.9995628,68.5455653,36.5787042,46.1077301,20.9441994,3.1290859,9.9451094,8.0583774,31.4413518,6.2499643,0.5233679,0.5183599,8.9804258,6.0550698,52.5316434,14.0405731,31.4644832,68.0546386,35.945345,46.0874393,20.7104047,3.0273199,9.3789357,7.842728,30.9624526,6.2500022 +1354,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5427327,0.5492892,10.2407085,6.9467828,45.7512132,18.2968667,33.1820148,69.498485,40.6614566,45.3739697,23.1085107,3.8694354,8.3889941,7.2506334,31.6077702,3.6912702,0.4648853,0.4716741,9.9518858,6.6710385,45.3451495,18.6752332,33.3557047,69.6868037,40.8724613,45.1230451,23.0201353,3.8702485,8.0715658,7.493431,32.6144605,4.0441117,0.4748815,0.4818932,10.1452623,6.8315911,44.6554216,19.1620946,32.6006559,70.0370245,40.930106,45.7889885,23.9472402,3.9102296,7.4660851,7.2207214,34.229738,3.3333284,0.5230064,0.5391378,9.9007642,6.7816626,44.0616043,19.2417846,32.7611236,69.3181796,40.4013345,45.5270828,23.2833551,3.7959372,7.9327054,7.4806989,34.3507907,3.3582039,0.5293618,0.5462823,10.1842729,6.8974104,43.167882,19.8353423,31.8411703,69.9291836,41.502272,46.2063686,23.4951873,4.0212439,8.4615546,8.1790184,34.1097478,2.7999978 +1355,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8535583,0.7913363,11.5649401,7.3256887,44.8951467,15.4803173,26.2474654,64.5781453,36.4876697,40.3618843,18.9654975,3.3727552,12.1980202,11.3186295,39.9222717,8.4135508,0.7883925,0.6644114,11.7934343,7.6747177,45.1332767,14.5298496,25.8479467,63.8225858,35.5657873,40.7153511,18.2463317,3.44378,12.8845038,11.278957,41.062808,9.0452414,0.7097665,0.5218871,11.4927515,7.3619702,44.8425256,14.1421529,25.0161609,63.8533369,35.2352838,41.0422804,17.7478949,3.544804,12.610954,11.0371242,40.9293475,9.1348262,0.704134,0.5008277,11.6838308,7.3142985,45.2262006,13.7851727,25.5709427,63.372965,35.5043464,40.7930815,17.9490176,3.8712279,12.3652987,10.4615944,40.1908365,8.261042,0.7435354,0.5412017,11.2750765,7.1693418,45.5376362,13.6244908,25.6005152,62.8435533,35.2143466,40.0897617,18.5975076,3.7193718,12.7890534,10.5606954,39.9069335,8.0508679 +1356,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.3654733,0.349427,7.9280087,5.2225169,63.3787542,14.9301697,27.1299087,66.6263353,32.4421596,44.7566939,14.0565263,5.7778448,12.5264732,10.9264575,28.5764367,4.4041451,0.4331162,0.4331162,8.0928754,5.2085645,62.1907271,14.5090575,26.7904036,67.0019233,31.3949192,44.7986613,13.9324355,5.4740739,12.4039445,10.3919074,29.7192356,4.4271341,0.4310578,0.4462232,8.0186522,5.3080816,62.3645389,14.6275342,26.8891052,67.2474895,31.7100946,45.1627482,13.8598968,5.7166065,11.785984,9.6848603,29.6112911,3.640835,0.4596525,0.5034356,7.5403593,4.9284003,61.9342981,14.7604071,26.7240331,66.8808464,31.7084253,44.5296633,14.1535331,5.4388303,11.308446,9.0087596,29.0231462,3.6232462,0.3794374,0.4209888,7.308769,4.8969853,61.3123558,14.4762689,26.9413159,66.9592083,31.6125419,43.9897779,14.7127716,5.2215922,11.2130504,9.3787295,28.9066926,3.2178744 +1357,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7883925,0.6644114,11.7934343,7.6747177,45.1332767,14.5298496,25.8479467,63.8225858,35.5657873,40.7153511,18.2463317,3.44378,12.8845038,11.278957,41.062808,9.0452414,0.7097665,0.5218871,11.4927515,7.3619702,44.8425256,14.1421529,25.0161609,63.8533369,35.2352838,41.0422804,17.7478949,3.544804,12.610954,11.0371242,40.9293475,9.1348262,0.704134,0.5008277,11.6838308,7.3142985,45.2262006,13.7851727,25.5709427,63.372965,35.5043464,40.7930815,17.9490176,3.8712279,12.3652987,10.4615944,40.1908365,8.261042,0.7435354,0.5412017,11.2750765,7.1693418,45.5376362,13.6244908,25.6005152,62.8435533,35.2143466,40.0897617,18.5975076,3.7193718,12.7890534,10.5606954,39.9069335,8.0508679,0.6774168,0.4656703,10.9754273,7.2604229,46.1672859,14.2585185,26.1909395,63.2386963,33.7553443,40.355632,18.3686973,3.9450884,12.8086311,10.5841557,40.9580196,4.1666744 +1358,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6963352,0.698391,8.2886974,5.2760802,62.0722525,8.4692267,26.0593228,66.2851271,32.8091813,39.7086468,16.4250657,6.1092022,10.2823502,8.3483408,36.150894,4.5836464,0.6860278,0.6806663,8.3873162,5.456122,62.0327978,8.5206685,25.8522677,66.1707218,32.378237,39.5247324,16.100868,6.0204934,10.2857369,8.288321,36.5235999,4.7161441,0.7291568,0.7221313,8.5928154,5.6393883,61.2501404,8.3816329,25.4151486,66.322191,32.138338,39.9317753,16.096939,5.9605638,10.2473079,8.4801821,36.2383937,4.7152887,0.7133059,0.7013231,8.5580109,5.751599,60.1974734,8.5964341,25.160166,66.5081759,32.4890336,40.4190285,16.6584333,6.1962935,10.3896045,8.76596,36.1537707,4.4549314,0.7059694,0.6974207,8.5038594,5.7478603,59.3602024,8.6355299,24.8804334,66.859288,32.4809288,40.4524268,16.8501605,6.3079691,10.2233043,8.7374059,36.4049523,4.5764739 +1359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.956363,0.956363,12.4659823,8.5150618,59.8757447,31.7751659,30.563206,67.2389707,34.5467608,45.2610121,18.475315,3.7775088,14.6052469,9.868499,33.0240028,4.9242797,1.0336523,1.0336523,13.6493379,9.5474643,60.0720726,31.4789502,31.2500045,66.5947311,33.979915,44.3246956,18.8937109,3.6638273,15.2234303,10.754265,33.1933697,5.7692751,1.135837,1.135837,15.1450592,11.0870529,61.4767256,31.214455,32.049454,66.4970428,33.6483801,42.5144587,18.3867423,4.578535,15.2173787,12.0290901,33.5757289,6.1983983,1.2226479,1.2226479,14.6540647,10.9721389,60.9883015,30.1737431,31.0371086,66.8888668,33.1112813,42.7406547,18.2964391,4.3704222,14.0949326,11.7211726,32.8871984,6.3559861,1.200001,1.200001,15.4587628,11.316702,60.0449931,30.2651801,31.9549709,66.5414772,31.5039128,41.8796016,19.624221,5.0376546,14.3939624,13.1421528,32.2731185,6.6372562 +1360,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2832475,1.2823715,24.7646932,20.8408301,52.8751435,17.1490043,40.0928708,64.732876,35.025617,47.0294695,21.0338511,2.2926581,15.5308619,12.1958256,35.1133432,13.593723,1.5450811,1.5360954,25.5010724,21.4793222,53.3708217,17.2374979,40.100871,64.5249234,34.1289439,47.6074805,20.8119129,2.5494677,15.6478494,11.9947883,34.8915609,14.1304436,1.4085732,1.4247337,25.4623298,21.5302205,53.8624042,17.4813532,40.3909804,64.8785759,34.5722836,47.8953453,20.7764405,2.4960396,15.2611358,11.5504826,34.8754104,12.7009325,1.4391375,1.4552037,25.6396923,21.8157275,53.2442999,17.4631744,40.6763306,64.6699779,34.9799991,47.8139978,20.7392172,2.5176663,15.2569328,11.6058893,34.9862767,12.4999684,1.4143672,1.460264,25.7675174,21.982037,52.663428,16.6484575,40.1970208,64.5238571,33.5586313,46.7180799,20.0900302,2.3610088,14.9276499,11.5379342,35.3934393,12.8164395 +1361,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6860278,0.6806663,8.3873162,5.456122,62.0327978,8.5206685,25.8522677,66.1707218,32.378237,39.5247324,16.100868,6.0204934,10.2857369,8.288321,36.5235999,4.7161441,0.7291568,0.7221313,8.5928154,5.6393883,61.2501404,8.3816329,25.4151486,66.322191,32.138338,39.9317753,16.096939,5.9605638,10.2473079,8.4801821,36.2383937,4.7152887,0.7133059,0.7013231,8.5580109,5.751599,60.1974734,8.5964341,25.160166,66.5081759,32.4890336,40.4190285,16.6584333,6.1962935,10.3896045,8.76596,36.1537707,4.4549314,0.7059694,0.6974207,8.5038594,5.7478603,59.3602024,8.6355299,24.8804334,66.859288,32.4809288,40.4524268,16.8501605,6.3079691,10.2233043,8.7374059,36.4049523,4.5764739,0.6773613,0.6761588,8.659603,5.8260747,58.9033679,8.5871398,25.0981738,66.952597,32.5739693,40.7535156,16.8894297,6.3814259,10.5110909,8.9362965,36.579179,5.0604985 +1362,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7440945,1.7488301,29.6616636,25.4630093,42.8089336,17.4013979,34.0968444,66.9960602,34.7732453,44.367433,18.9072688,2.6135354,13.9776307,10.9921133,34.1910821,19.0354968,1.8170851,1.8331616,31.2107528,27.2010429,43.818054,18.0232026,34.9230298,67.7864718,34.1844955,44.3400754,18.5522661,2.6155824,15.2483828,10.7922181,33.2715445,17.7184865,1.964245,1.9801235,32.1080171,27.8112925,43.6504589,17.4496256,35.5639079,67.1023057,33.4457737,44.2817918,18.3119128,2.5121749,15.4073071,10.6496049,33.3135442,18.7203556,1.8468425,1.8392468,33.3451445,29.2032996,43.0384379,17.8167294,35.5941335,66.2518842,34.5517919,44.9112023,18.7934319,2.4219605,16.524878,11.1736309,34.3002988,15.2849625,2.0054457,1.9979465,34.5050064,29.9525331,42.822093,17.3599722,35.522007,66.5643865,34.226499,45.3240274,19.6138988,2.5773079,16.6595045,12.0228322,33.4770127,16.0591231 +1363,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7910211,0.7755387,8.3862611,5.5869201,45.4944247,19.7894967,30.725013,68.0314396,40.0633477,46.9380508,21.6682292,7.5434054,10.1198598,9.3908612,32.1213604,4.8245586,0.7245553,0.7092809,8.4436696,5.6794421,45.2748521,19.8928363,30.6473999,67.7803459,39.8728278,47.2485495,21.6300576,7.063583,9.7367081,9.3906267,32.74761,3.9940817,0.6360005,0.6213483,8.4464715,5.5975958,43.6713106,19.2938322,30.4236938,67.5576773,40.3172085,47.8593548,22.1716963,6.3997307,9.9171617,9.8557644,32.1695287,3.9473673,0.5809124,0.5667975,8.531361,5.5769617,43.071447,19.2881143,30.6242,66.670223,40.3174286,47.6246221,22.4009435,6.4017888,9.637275,9.61538,32.3767036,3.9473673,0.6370394,0.6254611,8.5831345,5.4056768,42.0341416,19.3468821,30.3118093,66.70998,39.8261076,47.7413535,22.6164354,6.5660616,9.4404131,9.6572525,32.4329895,3.749999 +1364,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5630552,0.6203405,7.8289367,4.9342119,36.189454,24.5157304,29.3515886,68.2549912,33.8337304,45.7571197,15.8616036,8.0286909,10.4860559,9.7659864,34.0436209,2.2499888,0.5407023,0.5825621,7.7842745,4.6789574,36.3464353,24.258051,30.4953895,68.1723299,32.9100349,45.14981,15.5911572,8.4720748,10.4166693,10.3316356,34.3483237,2.2277117,0.4946871,0.5352165,7.0385139,4.3610388,36.3432977,24.6518117,28.7414101,67.9911142,32.4928898,44.1507966,15.7926445,8.3299432,9.3775696,10.1882236,33.4575403,2.1739025,0.4554344,0.4934019,6.9123272,4.203173,36.5431323,25.7014837,30.335991,68.6758698,33.6560793,44.9604112,15.8695743,8.5177596,10.3238937,9.9919175,33.0475227,3.0092523,0.3688571,0.3791652,6.6705608,4.0492847,35.8013422,25.2012261,29.6461926,68.798582,33.5342076,44.731691,16.5435624,7.9510102,10.7796481,10.453115,33.6678563,3.0952307 +1365,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5362806,0.3886634,10.6992969,7.4260365,45.7939873,14.1132337,27.1153329,61.9533086,33.2947799,40.2621069,17.2126436,3.943578,11.3571713,9.3364064,39.4744544,6.4146479,0.5684308,0.4843686,11.0137453,7.5647518,45.9067869,14.8505204,27.6870209,62.0985374,34.2402911,40.7436291,17.6432935,3.823891,12.2075715,11.234168,39.8741411,5.3412485,0.5531262,0.5578732,11.5134653,7.8280021,46.767739,14.8431535,28.0950086,60.5929887,33.9396786,39.6138959,17.475292,3.9998422,12.4668553,11.3027955,39.9953616,5.506764,0.6454509,0.6744671,11.4541268,8.0821201,46.2529801,14.8948244,28.2282917,61.2006048,33.6278193,40.2128571,17.9804989,3.6383672,11.9887267,11.2426073,39.3978425,5.9527999,0.6689751,0.6981736,12.2307353,8.4564646,45.5184564,14.8610078,28.219893,61.1712278,33.1042236,39.9321776,18.0105449,3.4193251,11.4930194,10.6723726,39.8037076,7.9678784 +1366,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9313324,0.8951097,9.3064876,6.0691621,19.250365,17.5725021,32.8961935,67.5419736,38.8556206,49.9846397,22.2003102,5.2685572,9.7333886,9.2557951,25.315658,7.1422396,0.8641711,0.788991,9.2755821,6.2432996,19.5901895,17.2826517,32.6215965,68.24229,38.8384225,49.594826,22.0674211,5.0921754,9.4650466,9.2114153,25.2264643,5.5555597,0.9930611,0.921993,10.0313955,6.8832674,19.3121447,17.50654,34.132735,67.306574,38.1613265,49.0909072,21.2995393,4.7867983,8.8723216,8.7745765,24.6182266,6.0713615,0.9153761,0.8930445,10.2436733,7.0162011,20.2392948,17.0375163,33.7487648,66.9945289,37.3254857,48.4316232,20.9047111,4.815374,9.067103,8.5704926,25.4434894,6.6427572,0.8857134,0.8638921,10.1743004,7.0953922,20.1830486,16.9587391,34.1921277,66.8170132,36.5667921,48.7370876,20.3276196,5.3111461,9.8556939,8.738251,26.1001838,4.9015302 +1367,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5684308,0.4843686,11.0137453,7.5647518,45.9067869,14.8505204,27.6870209,62.0985374,34.2402911,40.7436291,17.6432935,3.823891,12.2075715,11.234168,39.8741411,5.3412485,0.5531262,0.5578732,11.5134653,7.8280021,46.767739,14.8431535,28.0950086,60.5929887,33.9396786,39.6138959,17.475292,3.9998422,12.4668553,11.3027955,39.9953616,5.506764,0.6454509,0.6744671,11.4541268,8.0821201,46.2529801,14.8948244,28.2282917,61.2006048,33.6278193,40.2128571,17.9804989,3.6383672,11.9887267,11.2426073,39.3978425,5.9527999,0.6689751,0.6981736,12.2307353,8.4564646,45.5184564,14.8610078,28.219893,61.1712278,33.1042236,39.9321776,18.0105449,3.4193251,11.4930194,10.6723726,39.8037076,7.9678784,0.7483566,0.7764252,12.8810793,9.019777,45.980448,14.193111,28.0270062,60.2867989,33.3041109,39.4909847,17.4512388,3.2736307,12.0769959,10.9840567,38.562849,10.0894678 +1368,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5670163,0.5408359,7.487294,4.8293411,47.9914565,12.1528267,30.7181414,66.3917789,33.2287292,41.8552126,17.4062218,15.304332,9.715707,8.4604115,36.6933069,2.4447946,0.5407042,0.5191989,7.6101008,4.8701772,47.1303611,12.3434831,30.0720999,66.9574736,33.604907,42.516231,17.7144966,15.4217716,9.4790114,8.4419331,35.9479984,2.7301092,0.5506981,0.5357406,7.7039284,4.9561225,46.6992773,12.7191102,29.684561,67.6964375,33.8373636,42.4613004,17.8338916,15.1425257,9.9071622,8.8098689,35.7812996,3.0232558,0.5500197,0.548696,7.5633294,4.8719063,45.906082,13.3100185,29.2663501,67.35538,33.137598,42.5474896,17.9715827,14.7962865,9.5341448,8.786918,34.9064901,2.7429463,0.6018856,0.6135906,7.4145034,4.6757486,45.5584243,13.3907302,28.4546515,67.6499898,32.7623004,42.6570946,18.1191367,14.6929163,9.8163837,9.0048092,34.876107,3.0185759 +1369,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4050861,0.4166726,9.8273328,6.81486,78.1495863,10.4552151,29.5269096,69.2436452,29.3033229,44.0202131,14.6237089,3.632617,12.3792688,11.896589,32.9981307,3.0821622,0.5169653,0.5112083,9.4881437,6.4533904,77.5672908,10.5543185,29.2715347,68.8424319,29.7523042,44.3232643,14.8483657,3.7536721,12.189235,12.1201748,33.8564138,2.3026255,0.4509225,0.445089,9.2036686,6.2406857,76.0127398,11.0308352,29.1885174,68.8668742,29.9739007,43.3246435,15.1270989,4.0201659,12.8392724,12.552105,33.9536969,2.9411688,0.4324986,0.461604,9.4015137,6.1506652,75.7076172,10.7024335,29.3624788,68.4004727,30.1454482,43.7546842,14.7836864,3.9708869,12.334132,12.1857013,32.6409647,2.8845876,0.4825693,0.5123395,9.8332662,6.5744395,75.4359822,10.9954791,29.2939886,68.6451237,29.9045256,43.0725778,14.713635,4.2556903,12.4463113,12.4461535,32.4315253,3.0828903 +1370,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8174224,0.7776452,5.9803922,3.8888889,48.3776768,20.7961783,30.9691913,69.4801027,34.6919127,46.1810013,19.5442875,6.0012837,7.992074,7.2281167,32.3803191,3.0434783,0.684221,0.6642729,6.0775296,4.2378449,47.2638436,22.2613709,31.4755155,69.2332474,35.3414948,46.681701,19.3621134,5.7667526,7.5033201,6.3249001,31.6666667,2.2522523,0.6130043,0.5934195,6.6858605,4.8304543,45.7352005,22.6100629,31.6171826,70.1516109,35.660139,47.5363234,19.6146557,6.0960202,7.3472042,6.1848958,31.5686275,2.293578,0.601539,0.601539,6.8112401,4.9175321,46.1655508,23.1766124,31.4277072,71.0526316,36.3278887,46.4912281,18.723533,6.2008469,8.0994898,6.9693095,31.7715019,2.2321429,0.4593607,0.4776256,6.7791593,4.5885139,45.3004164,22.8445748,31.0029499,70.7669617,36.8436578,46.0471976,18.3775811,5.8112094,8.046683,6.7118227,31.4975248,2.2321429 +1371,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5826205,0.5651469,7.9714556,4.8552509,27.1745888,17.4146998,35.2061971,68.7113455,40.5051618,49.7835269,24.4226966,4.546398,10.2377177,10.4045237,30.6579899,4.9212502,0.6516604,0.6411442,8.4125503,5.3707251,26.9215392,17.4167996,35.28207,68.7585447,40.1815385,49.7072235,23.7849104,4.5188381,10.5045497,10.6186106,31.3465062,5.215818,0.5914354,0.5813098,8.2019837,5.1961192,26.2293422,17.102801,35.5273134,69.4444473,40.5178934,50.2730855,23.9454034,4.2843696,10.4655648,10.3820096,31.4518915,5.4006912,0.5654653,0.5556548,8.4117973,5.3561916,26.0760632,17.2838218,35.8640178,69.476849,40.5486729,50.8658533,23.8516365,4.2927433,10.7655545,10.6222467,31.5993803,4.898642,0.5682497,0.575262,8.3776607,5.3634749,25.5790232,17.1061859,35.6986794,70.3680027,40.2896748,50.5101181,23.1280901,4.3268345,10.8213135,10.6733336,31.4800868,5.4999927 +1372,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8170851,1.8331616,31.2107528,27.2010429,43.818054,18.0232026,34.9230298,67.7864718,34.1844955,44.3400754,18.5522661,2.6155824,15.2483828,10.7922181,33.2715445,17.7184865,1.964245,1.9801235,32.1080171,27.8112925,43.6504589,17.4496256,35.5639079,67.1023057,33.4457737,44.2817918,18.3119128,2.5121749,15.4073071,10.6496049,33.3135442,18.7203556,1.8468425,1.8392468,33.3451445,29.2032996,43.0384379,17.8167294,35.5941335,66.2518842,34.5517919,44.9112023,18.7934319,2.4219605,16.524878,11.1736309,34.3002988,15.2849625,2.0054457,1.9979465,34.5050064,29.9525331,42.822093,17.3599722,35.522007,66.5643865,34.226499,45.3240274,19.6138988,2.5773079,16.6595045,12.0228322,33.4770127,16.0591231,2.3256776,2.3294655,35.8961072,30.807471,43.4907106,17.7621526,34.97246,66.8287805,34.0310254,45.67295,19.8176038,3.0329671,15.7145241,12.0181287,33.7267517,17.3698415 +1373,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.5152002,1.5146404,23.3993682,18.2194963,31.0413196,14.798129,36.1363886,64.4487623,36.6872345,46.2335013,22.6156254,3.1159671,14.236336,10.9817031,39.2221767,18.4950769,1.5716618,1.5627738,23.3986607,18.167325,31.3010533,14.6272888,36.1843327,63.853815,35.6465653,45.8687523,21.7330937,2.9805645,14.2534048,10.3751182,39.4763238,21.6918418,1.6186068,1.6180845,24.2044491,18.9782966,31.8746908,15.2976375,37.0228612,63.3528059,35.2938024,45.8595664,21.9018671,3.1091415,14.1603783,10.8316015,39.718926,20.7481007,1.6555815,1.6656481,24.7172041,19.2532339,32.1187318,15.326178,37.6950404,62.9287327,35.5710863,46.2732355,22.3100622,3.1588242,13.7491002,11.0226528,39.7500391,21.9089852,1.7025574,1.7128892,25.4567804,20.0432736,32.9333656,15.5697586,37.1952514,62.5369865,35.446454,45.5897078,21.9269299,3.1513978,13.8128847,11.1997375,40.6979442,21.0413422 +1374,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8664846,1.9931348,25.455961,21.1278211,48.2729882,15.9692391,42.9727615,64.2733965,39.7899932,50.000186,26.1307421,4.3614201,12.5491391,10.4821205,33.2694938,15.8070826,1.5529652,1.6186272,24.6852364,20.4245299,48.6270517,15.4984804,42.3314191,63.7285823,37.967592,49.439743,24.9466763,3.6950928,13.5867431,11.2571564,33.5889485,13.487556,1.7169136,1.7626051,24.5991621,20.225047,48.9455686,15.2062336,43.0429389,64.2919889,37.6936034,49.6366922,25.1644903,3.9932389,13.2231054,11.3606216,32.2949206,16.4426229,1.9059616,1.9529085,24.1080542,20.0110638,48.454671,15.5743686,42.6066867,64.0813038,37.2801319,48.9932229,24.966385,3.8668192,13.0795505,11.1696982,32.4075767,19.3875177,1.945223,1.9689482,24.1721115,19.6487833,49.1836813,15.1369744,42.1634848,64.3215193,37.0433164,47.8956799,24.758522,3.9566788,13.1132561,11.4613312,33.0509766,22.0276948 +1375,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6168436,0.6645466,9.8581699,6.4991658,46.4918939,13.1737185,27.4024594,69.2537975,40.6921608,45.1707879,20.1894538,5.0817929,11.3042185,9.4522574,34.9276891,9.9914473,0.6228991,0.6935981,9.7305251,6.4998172,46.0406779,13.1761182,27.4211101,69.390871,41.0031317,45.0384274,20.6366437,4.9691943,11.0179983,9.7957333,34.6047304,9.1848923,0.6304148,0.7058636,9.7974213,6.5031283,46.416496,13.3955949,27.9011433,69.910328,40.8415618,44.4826124,19.9676893,4.9463787,11.5196005,9.7198094,34.3105127,9.2679412,0.6637554,0.7307528,9.2968999,5.941799,44.808024,13.3687633,27.1899545,70.4247151,41.1115732,44.906337,19.8006113,4.8979521,11.7219923,9.614991,34.1153121,9.0630728,0.6328377,0.7266594,8.9962091,5.565709,44.0562223,13.513692,26.7022549,70.4028518,40.7583225,44.9515668,20.3301419,4.7968297,11.2916595,9.155066,33.0827149,9.0231812 +1376,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8487812,0.8394193,13.099254,9.4341993,37.1944134,18.5545811,31.7245405,69.5101858,38.2661042,49.7483023,24.3595668,3.1793203,8.139261,8.2327833,38.0666061,8.6462785,0.9298353,0.9704602,13.1141668,9.1995161,37.7044836,18.4512368,31.5499059,68.3617521,37.4112129,49.0011473,24.3562359,3.3525858,8.0614989,7.702298,36.3191673,7.4998179,0.989013,1.0287817,13.0146487,9.1081594,37.2893672,19.0671685,32.0061762,69.0820358,38.1417656,49.3257464,24.5648725,3.2854754,8.6561634,7.6291724,36.2251015,7.4192783,0.8507032,0.8903277,13.3203793,9.2120531,37.8646623,19.2988661,31.3807527,68.3146542,37.913729,48.2799415,23.7587481,3.0270157,9.4018746,8.2825619,35.4767261,6.999916,0.8541819,0.9039282,13.6631911,9.6259112,36.9457822,19.6424618,32.2490659,68.6683234,38.9302518,48.3626667,24.388536,3.2095283,10.2396698,8.8839025,36.4850918,9.4155393 +1377,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.8458685,1.9092824,26.9589159,20.7785049,46.2082274,12.6427286,39.2255227,65.4561328,32.6459468,48.7618396,23.2310092,5.5370375,16.3184703,13.3087236,35.1499661,15.4616984,1.9124151,2.0453421,27.3415061,21.4511872,45.9015706,11.4806983,38.9656825,65.2435659,32.841555,48.8677049,23.0152474,5.4930152,16.4252864,13.1878386,35.6149721,15.2777778,1.8339741,2.026732,27.5603884,21.8001503,44.9983013,12.1005502,38.6941398,66.0707711,33.0212554,49.0971699,23.660996,5.5074253,15.9029576,13.0422839,34.8730366,13.5983264,2.0458788,2.2007635,28.3955024,22.1907215,46.1699384,12.4988335,38.5474768,65.6773945,32.0548222,48.2652012,22.5802406,5.0257956,16.0400175,13.0965,35.4057622,15.0826446,2.0927605,2.218415,29.2423211,23.0286969,46.9479516,12.9765785,37.4833339,65.9803748,32.1320485,47.3692503,22.3936733,5.0379218,16.6467356,13.5895253,35.6327936,13.8429752 +1378,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.964245,1.9801235,32.1080171,27.8112925,43.6504589,17.4496256,35.5639079,67.1023057,33.4457737,44.2817918,18.3119128,2.5121749,15.4073071,10.6496049,33.3135442,18.7203556,1.8468425,1.8392468,33.3451445,29.2032996,43.0384379,17.8167294,35.5941335,66.2518842,34.5517919,44.9112023,18.7934319,2.4219605,16.524878,11.1736309,34.3002988,15.2849625,2.0054457,1.9979465,34.5050064,29.9525331,42.822093,17.3599722,35.522007,66.5643865,34.226499,45.3240274,19.6138988,2.5773079,16.6595045,12.0228322,33.4770127,16.0591231,2.3256776,2.3294655,35.8961072,30.807471,43.4907106,17.7621526,34.97246,66.8287805,34.0310254,45.67295,19.8176038,3.0329671,15.7145241,12.0181287,33.7267517,17.3698415,2.3998358,2.4597847,36.6170908,30.8753705,44.7387532,18.6858714,35.2540193,66.282398,33.356889,45.1533481,19.9287719,3.5387738,14.9814709,11.7072883,33.6795965,17.5744701 +1379,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6516604,0.6411442,8.4125503,5.3707251,26.9215392,17.4167996,35.28207,68.7585447,40.1815385,49.7072235,23.7849104,4.5188381,10.5045497,10.6186106,31.3465062,5.215818,0.5914354,0.5813098,8.2019837,5.1961192,26.2293422,17.102801,35.5273134,69.4444473,40.5178934,50.2730855,23.9454034,4.2843696,10.4655648,10.3820096,31.4518915,5.4006912,0.5654653,0.5556548,8.4117973,5.3561916,26.0760632,17.2838218,35.8640178,69.476849,40.5486729,50.8658533,23.8516365,4.2927433,10.7655545,10.6222467,31.5993803,4.898642,0.5682497,0.575262,8.3776607,5.3634749,25.5790232,17.1061859,35.6986794,70.3680027,40.2896748,50.5101181,23.1280901,4.3268345,10.8213135,10.6733336,31.4800868,5.4999927,0.6263052,0.6377226,8.2927361,5.2246949,25.2171573,17.0474649,35.9114757,70.4797799,40.061153,50.9355057,23.0547964,4.2701016,11.1839636,10.7464365,31.4075876,3.6082449 +1380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5914354,0.5813098,8.2019837,5.1961192,26.2293422,17.102801,35.5273134,69.4444473,40.5178934,50.2730855,23.9454034,4.2843696,10.4655648,10.3820096,31.4518915,5.4006912,0.5654653,0.5556548,8.4117973,5.3561916,26.0760632,17.2838218,35.8640178,69.476849,40.5486729,50.8658533,23.8516365,4.2927433,10.7655545,10.6222467,31.5993803,4.898642,0.5682497,0.575262,8.3776607,5.3634749,25.5790232,17.1061859,35.6986794,70.3680027,40.2896748,50.5101181,23.1280901,4.3268345,10.8213135,10.6733336,31.4800868,5.4999927,0.6263052,0.6377226,8.2927361,5.2246949,25.2171573,17.0474649,35.9114757,70.4797799,40.061153,50.9355057,23.0547964,4.2701016,11.1839636,10.7464365,31.4075876,3.6082449,0.6708638,0.6822094,8.4546348,5.1482543,25.1596689,17.0751001,35.0782176,70.1655612,40.2116081,51.122321,23.0818415,4.2226344,10.7843176,10.6718637,31.1569955,4.4642825 +1381,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5450811,1.5360954,25.5010724,21.4793222,53.3708217,17.2374979,40.100871,64.5249234,34.1289439,47.6074805,20.8119129,2.5494677,15.6478494,11.9947883,34.8915609,14.1304436,1.4085732,1.4247337,25.4623298,21.5302205,53.8624042,17.4813532,40.3909804,64.8785759,34.5722836,47.8953453,20.7764405,2.4960396,15.2611358,11.5504826,34.8754104,12.7009325,1.4391375,1.4552037,25.6396923,21.8157275,53.2442999,17.4631744,40.6763306,64.6699779,34.9799991,47.8139978,20.7392172,2.5176663,15.2569328,11.6058893,34.9862767,12.4999684,1.4143672,1.460264,25.7675174,21.982037,52.663428,16.6484575,40.1970208,64.5238571,33.5586313,46.7180799,20.0900302,2.3610088,14.9276499,11.5379342,35.3934393,12.8164395,1.4329515,1.5226628,26.4436963,22.4557111,53.2545787,16.4597214,40.0132344,65.3456216,33.1629564,46.9761519,20.3032059,2.2781678,15.0619064,11.1062858,35.5164415,11.3781978 +1382,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.684221,0.6642729,6.0775296,4.2378449,47.2638436,22.2613709,31.4755155,69.2332474,35.3414948,46.681701,19.3621134,5.7667526,7.5033201,6.3249001,31.6666667,2.2522523,0.6130043,0.5934195,6.6858605,4.8304543,45.7352005,22.6100629,31.6171826,70.1516109,35.660139,47.5363234,19.6146557,6.0960202,7.3472042,6.1848958,31.5686275,2.293578,0.601539,0.601539,6.8112401,4.9175321,46.1655508,23.1766124,31.4277072,71.0526316,36.3278887,46.4912281,18.723533,6.2008469,8.0994898,6.9693095,31.7715019,2.2321429,0.4593607,0.4776256,6.7791593,4.5885139,45.3004164,22.8445748,31.0029499,70.7669617,36.8436578,46.0471976,18.3775811,5.8112094,8.046683,6.7118227,31.4975248,2.2321429,0.418018,0.4900901,7.1262362,4.5084351,45.8259847,23.4564339,31.0936591,69.895288,36.2129145,44.938918,18.4700407,5.6719023,9.6407186,7.3741007,33.1927711,1.3392857 +1383,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.957484,0.8786665,9.7557115,6.583116,31.7285207,20.9410543,36.4768467,70.9317836,42.817856,51.7794029,23.3096815,3.9631146,10.8274274,10.640369,33.3007813,6.0000034,0.9049189,0.8365287,9.7204802,6.7368054,31.0484732,21.464788,36.5927912,70.8253507,42.276799,53.0347284,23.9403488,3.6127127,11.5834173,10.7467644,33.147919,5.3370817,0.9017128,0.8191912,10.0778772,6.7133864,29.2686431,21.7303605,35.6170664,70.4589123,42.0411205,53.053839,23.6867796,3.5601215,12.4197947,10.3658623,31.8123101,4.3604677,0.8487084,0.7511635,10.4218694,7.1718647,28.291771,22.0315642,35.3099938,71.0811348,42.2734204,53.1796994,23.7043581,3.4817117,12.5081915,10.6139935,32.1593231,4.3103473,0.8027625,0.6988758,10.5485794,7.319738,28.0721242,21.8444222,35.0638747,69.952133,42.316262,52.7316632,24.4249786,3.5303424,11.793713,9.697571,32.7917844,3.0386757 +1384,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7245553,0.7092809,8.4436696,5.6794421,45.2748521,19.8928363,30.6473999,67.7803459,39.8728278,47.2485495,21.6300576,7.063583,9.7367081,9.3906267,32.74761,3.9940817,0.6360005,0.6213483,8.4464715,5.5975958,43.6713106,19.2938322,30.4236938,67.5576773,40.3172085,47.8593548,22.1716963,6.3997307,9.9171617,9.8557644,32.1695287,3.9473673,0.5809124,0.5667975,8.531361,5.5769617,43.071447,19.2881143,30.6242,66.670223,40.3174286,47.6246221,22.4009435,6.4017888,9.637275,9.61538,32.3767036,3.9473673,0.6370394,0.6254611,8.5831345,5.4056768,42.0341416,19.3468821,30.3118093,66.70998,39.8261076,47.7413535,22.6164354,6.5660616,9.4404131,9.6572525,32.4329895,3.749999,0.5108954,0.5287708,8.0974397,5.1319115,41.7255585,19.6136308,30.4385585,67.3203309,39.750779,47.4014696,22.8265135,6.5398001,9.3073575,9.6691592,32.1627052,3.9402163 +1385,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5529652,1.6186272,24.6852364,20.4245299,48.6270517,15.4984804,42.3314191,63.7285823,37.967592,49.439743,24.9466763,3.6950928,13.5867431,11.2571564,33.5889485,13.487556,1.7169136,1.7626051,24.5991621,20.225047,48.9455686,15.2062336,43.0429389,64.2919889,37.6936034,49.6366922,25.1644903,3.9932389,13.2231054,11.3606216,32.2949206,16.4426229,1.9059616,1.9529085,24.1080542,20.0110638,48.454671,15.5743686,42.6066867,64.0813038,37.2801319,48.9932229,24.966385,3.8668192,13.0795505,11.1696982,32.4075767,19.3875177,1.945223,1.9689482,24.1721115,19.6487833,49.1836813,15.1369744,42.1634848,64.3215193,37.0433164,47.8956799,24.758522,3.9566788,13.1132561,11.4613312,33.0509766,22.0276948,1.8012481,1.8246066,25.1867561,20.7374229,50.0005535,15.1571997,41.0829405,64.8168685,35.8630629,48.0282983,23.7720959,4.1421914,11.850168,11.5795153,33.4104334,20.7480453 +1386,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9867708,0.9947412,14.0874116,9.6971702,34.8622926,16.1976538,34.3667363,69.701284,40.9231298,51.5864669,23.7504635,4.4323424,13.5387475,12.4670379,32.524975,7.4193501,1.0592315,1.0797902,14.1500558,9.7350579,33.8687802,16.2274464,34.4620354,69.3888817,40.7922524,51.5049393,24.1035134,4.2717884,12.9829059,11.4658207,31.2104285,7.0945898,0.8914298,0.9436251,13.7938572,9.2037081,34.2508433,16.5733809,34.2661127,69.1672098,39.5812371,50.96409,24.4354858,4.256806,12.6540132,10.6534012,30.9273079,4.9242424,0.9748012,1.0287597,13.9455616,9.4174645,33.2920792,16.8596392,35.0292128,68.7195442,40.7254057,51.9230689,25.1460639,4.2599794,12.5615715,10.4719691,30.0994787,5.1586508,1.031656,1.0846846,13.9302369,9.9433848,33.6336956,16.571846,34.889851,69.2767993,39.8706781,50.4070788,23.8266395,3.8553618,11.9902846,10.5797021,29.5298457,8.7499167 +1387,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.544093,1.544093,35.1739788,30.484115,66.6405024,7.7443609,32.7507599,62.2340426,26.2158055,40.3495441,13.6018237,5.6990881,15.7643312,10.9177215,36.984127,17.2077922,1.9652946,1.9652946,36.7824773,31.9486405,66.3249211,7.0241692,32.6952527,61.0260337,26.5696784,39.5865237,13.5528331,6.5084227,17.5806452,12.3794212,37.9032258,19.8113208,1.9311398,1.9311398,35.947205,31.2888199,66.5322581,7.6625387,30.533752,61.9309262,25.9811617,37.755102,13.1083203,6.6718995,16.8300654,11.5635179,37.2131148,20.0617284,1.9582899,1.9582899,34.9612403,30.3100775,65.5645161,7.4845679,30.3767661,60.8320251,26.2951334,37.755102,14.3642072,6.8288854,14.6302251,11.0576923,36.2903226,18.0981595,2.0004518,2.0004518,34.0909091,30.1724138,65.1294498,7.7932099,32.4175824,61.1459969,27.2370487,37.1271586,15.1491366,7.4568289,16.2295082,11.6013072,36.0197368,19.0909091 +1388,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4909896,1.5528732,20.2453023,15.9273397,84.3469693,13.4538666,31.2458189,63.9187912,33.8098157,38.4200886,17.6454284,4.8734201,15.0067458,10.3428887,37.3013679,13.9018788,1.5149688,1.6025716,20.0161466,15.4629117,84.8099375,12.8646284,30.584701,63.0502916,33.1933856,38.5276856,17.1914829,4.783928,14.5216219,10.1232515,38.262649,14.8046259,1.4700042,1.5139901,20.7197723,16.2007861,85.4472028,12.91888,30.7076292,63.900472,32.7498351,38.0972617,16.8274869,4.4466416,14.9841934,9.5145727,36.9150286,13.2636942,1.3836498,1.4280807,20.7788351,16.1387858,84.7462806,12.8823728,31.0787085,63.0197021,32.551753,36.5331164,16.0272779,4.5415504,15.5022806,10.8216221,37.657743,12.9348539,1.2491024,1.3071718,19.8695618,15.5348635,84.3779253,12.6062112,31.6188596,63.5141906,33.3339237,37.1553603,16.5641582,4.7956621,15.0520507,10.9438461,38.0821238,13.3578074 +1389,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9298353,0.9704602,13.1141668,9.1995161,37.7044836,18.4512368,31.5499059,68.3617521,37.4112129,49.0011473,24.3562359,3.3525858,8.0614989,7.702298,36.3191673,7.4998179,0.989013,1.0287817,13.0146487,9.1081594,37.2893672,19.0671685,32.0061762,69.0820358,38.1417656,49.3257464,24.5648725,3.2854754,8.6561634,7.6291724,36.2251015,7.4192783,0.8507032,0.8903277,13.3203793,9.2120531,37.8646623,19.2988661,31.3807527,68.3146542,37.913729,48.2799415,23.7587481,3.0270157,9.4018746,8.2825619,35.4767261,6.999916,0.8541819,0.9039282,13.6631911,9.6259112,36.9457822,19.6424618,32.2490659,68.6683234,38.9302518,48.3626667,24.388536,3.2095283,10.2396698,8.8839025,36.4850918,9.4155393,0.8660544,0.9224178,13.6948808,9.7880889,36.6390543,20.249409,32.7275108,68.8543863,38.7984733,47.7768863,24.7751017,3.2278033,10.1089577,8.7047359,35.5752544,9.8100781 +1390,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.0336523,1.0336523,13.6493379,9.5474643,60.0720726,31.4789502,31.2500045,66.5947311,33.979915,44.3246956,18.8937109,3.6638273,15.2234303,10.754265,33.1933697,5.7692751,1.135837,1.135837,15.1450592,11.0870529,61.4767256,31.214455,32.049454,66.4970428,33.6483801,42.5144587,18.3867423,4.578535,15.2173787,12.0290901,33.5757289,6.1983983,1.2226479,1.2226479,14.6540647,10.9721389,60.9883015,30.1737431,31.0371086,66.8888668,33.1112813,42.7406547,18.2964391,4.3704222,14.0949326,11.7211726,32.8871984,6.3559861,1.200001,1.200001,15.4587628,11.316702,60.0449931,30.2651801,31.9549709,66.5414772,31.5039128,41.8796016,19.624221,5.0376546,14.3939624,13.1421528,32.2731185,6.6372562,1.1549927,1.1549927,15.3556962,11.573505,59.4946489,28.4535163,31.01087,67.3048828,31.0107934,40.9647438,19.2192247,5.4365138,15.2038433,14.2189722,35.0632872,4.700915 +1391,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6130043,0.5934195,6.6858605,4.8304543,45.7352005,22.6100629,31.6171826,70.1516109,35.660139,47.5363234,19.6146557,6.0960202,7.3472042,6.1848958,31.5686275,2.293578,0.601539,0.601539,6.8112401,4.9175321,46.1655508,23.1766124,31.4277072,71.0526316,36.3278887,46.4912281,18.723533,6.2008469,8.0994898,6.9693095,31.7715019,2.2321429,0.4593607,0.4776256,6.7791593,4.5885139,45.3004164,22.8445748,31.0029499,70.7669617,36.8436578,46.0471976,18.3775811,5.8112094,8.046683,6.7118227,31.4975248,2.2321429,0.418018,0.4900901,7.1262362,4.5084351,45.8259847,23.4564339,31.0936591,69.895288,36.2129145,44.938918,18.4700407,5.6719023,9.6407186,7.3741007,33.1927711,1.3392857,0.4881208,0.5417113,7.2701149,4.7413793,45.4782609,23.4943182,30.1146132,69.4269341,35.4441261,44.269341,18.1375358,5.1862464,10.7101947,7.1674312,33.2756632,1.2 +1392,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6360005,0.6213483,8.4464715,5.5975958,43.6713106,19.2938322,30.4236938,67.5576773,40.3172085,47.8593548,22.1716963,6.3997307,9.9171617,9.8557644,32.1695287,3.9473673,0.5809124,0.5667975,8.531361,5.5769617,43.071447,19.2881143,30.6242,66.670223,40.3174286,47.6246221,22.4009435,6.4017888,9.637275,9.61538,32.3767036,3.9473673,0.6370394,0.6254611,8.5831345,5.4056768,42.0341416,19.3468821,30.3118093,66.70998,39.8261076,47.7413535,22.6164354,6.5660616,9.4404131,9.6572525,32.4329895,3.749999,0.5108954,0.5287708,8.0974397,5.1319115,41.7255585,19.6136308,30.4385585,67.3203309,39.750779,47.4014696,22.8265135,6.5398001,9.3073575,9.6691592,32.1627052,3.9402163,0.5023437,0.5194399,8.1247709,5.1987517,41.5729275,19.9216608,30.7414901,68.0380977,39.2843977,47.6054006,22.7163525,6.4996312,9.0210042,8.8709667,33.1883523,3.5156232 +1393,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.989013,1.0287817,13.0146487,9.1081594,37.2893672,19.0671685,32.0061762,69.0820358,38.1417656,49.3257464,24.5648725,3.2854754,8.6561634,7.6291724,36.2251015,7.4192783,0.8507032,0.8903277,13.3203793,9.2120531,37.8646623,19.2988661,31.3807527,68.3146542,37.913729,48.2799415,23.7587481,3.0270157,9.4018746,8.2825619,35.4767261,6.999916,0.8541819,0.9039282,13.6631911,9.6259112,36.9457822,19.6424618,32.2490659,68.6683234,38.9302518,48.3626667,24.388536,3.2095283,10.2396698,8.8839025,36.4850918,9.4155393,0.8660544,0.9224178,13.6948808,9.7880889,36.6390543,20.249409,32.7275108,68.8543863,38.7984733,47.7768863,24.7751017,3.2278033,10.1089577,8.7047359,35.5752544,9.8100781,0.9915361,1.0557495,13.6942001,9.5754261,36.4628762,19.9702295,32.9180886,67.9558498,38.4666356,47.3789471,24.3551052,3.2109282,10.793354,8.9544848,34.9227024,8.4375625 +1394,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4132159,0.4538588,6.7441854,3.9892647,51.4585545,20.3162956,29.0751141,66.3536403,33.929829,40.6272058,20.5705183,7.7073028,10.5432497,7.1479916,36.1171379,1.5151525,0.3749351,0.4234955,6.7718937,3.8866243,50.8792682,19.8906863,28.0775619,65.615505,33.5413109,40.1854921,19.1736935,7.5379455,10.0337885,7.5798812,36.6825584,1.1146504,0.4335355,0.4749757,7.2998686,4.2486862,50.7039934,19.5610322,27.7015934,66.1606179,33.8067212,40.7280362,18.9193636,7.3294182,9.4541947,7.2780707,35.8496742,1.4195588,0.3755286,0.3869107,7.3736403,4.4625706,50.4457165,19.0942985,27.841086,66.2709664,34.2355168,41.6429173,18.5976608,7.5498602,9.7353534,7.3055056,35.7504759,1.3513518,0.2614327,0.2916267,7.2644208,4.5225353,49.7958558,19.261412,27.4047454,66.6302248,34.7439105,41.3959923,18.6602145,7.9169291,9.3827965,7.8437529,35.6606145,2.5297619 +1395,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6136677,0.5936626,10.1186285,7.0682101,47.897462,10.4069635,28.0024896,70.7230941,42.4366247,45.2486489,21.436488,4.9383577,10.4224142,8.7082566,35.4241959,5.9659091,0.568586,0.5627075,9.7396007,6.9173703,46.9204243,10.9692461,28.2320169,70.5978932,43.2291655,46.1401274,21.8964057,5.1013131,10.0575508,8.4626463,34.9231593,5.9921415,0.5942254,0.5754746,9.3961199,6.6642707,46.1972073,10.7192757,27.8020862,70.3627924,43.6829451,46.3509322,22.0567485,5.0465841,9.7550527,8.3285849,34.9468457,5.5772994,0.6615077,0.6340318,9.697774,6.8140902,46.2835517,10.4197518,27.8133503,69.9114452,43.1948212,45.5926442,21.6689385,5.0204362,9.5937387,7.972006,34.6409676,5.3773585,0.6204699,0.6180741,9.7941643,6.9654774,46.2791922,10.7427918,28.1323393,69.413993,42.9718052,44.8903684,21.5022188,4.9399638,9.4272984,8.0653567,34.4904901,6.0688417 +1396,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8641711,0.788991,9.2755821,6.2432996,19.5901895,17.2826517,32.6215965,68.24229,38.8384225,49.594826,22.0674211,5.0921754,9.4650466,9.2114153,25.2264643,5.5555597,0.9930611,0.921993,10.0313955,6.8832674,19.3121447,17.50654,34.132735,67.306574,38.1613265,49.0909072,21.2995393,4.7867983,8.8723216,8.7745765,24.6182266,6.0713615,0.9153761,0.8930445,10.2436733,7.0162011,20.2392948,17.0375163,33.7487648,66.9945289,37.3254857,48.4316232,20.9047111,4.815374,9.067103,8.5704926,25.4434894,6.6427572,0.8857134,0.8638921,10.1743004,7.0953922,20.1830486,16.9587391,34.1921277,66.8170132,36.5667921,48.7370876,20.3276196,5.3111461,9.8556939,8.738251,26.1001838,4.9015302,0.8859893,0.8481548,10.5056791,7.4251351,19.884585,16.3706028,34.2665441,66.4717543,36.4492042,48.8858951,20.735398,5.2318788,10.3419184,8.5539687,26.3469943,4.850259 +1397,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3500896,1.3696815,24.3213672,20.081735,41.9904741,16.5109026,38.0462549,66.0019524,35.9996528,48.4331399,23.0417999,3.5393266,12.1670091,9.8530386,30.7550983,22.2446728,1.4111193,1.4418483,25.1628595,20.6088458,42.1184552,16.9051416,38.1148127,66.6948438,36.0571467,47.8403492,22.791462,3.2373321,12.6425939,10.149907,30.186884,20.9952426,1.6338359,1.6887105,25.3178055,20.7323362,42.3453019,17.2437779,37.8144044,66.6841428,34.7273887,47.0929583,22.0799097,3.4545992,12.9324078,10.7630544,29.6809286,18.897009,1.6410242,1.6946629,25.6886395,21.2800226,43.3918106,17.7649785,37.2050081,66.8232786,34.8043164,46.7159853,22.4074433,3.7335418,13.1034326,10.77837,29.6542466,18.7974046,1.7134795,1.7349423,25.2886115,20.7951718,42.6933358,18.0830151,37.4438028,66.1627483,34.9805434,46.5434584,21.9549724,3.9419542,13.2472951,10.3929173,30.0584831,18.1807364 +1398,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5279284,0.537715,9.35924,6.06092,54.2492863,14.3175407,33.0429939,69.3225605,36.0967583,45.9247367,20.4408658,3.1075256,9.4178816,7.9758391,32.5303881,8.1395349,0.5400993,0.5302101,9.2596496,6.0140015,53.3633745,14.5592533,32.3038523,68.5413809,36.5734559,46.3264069,20.4269805,3.0017331,9.3291501,7.7488437,31.595629,6.9256396,0.5254164,0.5154681,9.1908613,5.9884728,53.3650625,14.5703148,31.9995628,68.5455653,36.5787042,46.1077301,20.9441994,3.1290859,9.9451094,8.0583774,31.4413518,6.2499643,0.5233679,0.5183599,8.9804258,6.0550698,52.5316434,14.0405731,31.4644832,68.0546386,35.945345,46.0874393,20.7104047,3.0273199,9.3789357,7.842728,30.9624526,6.2500022,0.4807231,0.4559314,9.3437032,6.3392312,52.0682059,14.0209927,31.5783704,68.2479324,35.9639547,46.3417479,21.0920732,3.2891849,9.2393598,7.6875367,31.0208683,5.4999963 +1399,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5400993,0.5302101,9.2596496,6.0140015,53.3633745,14.5592533,32.3038523,68.5413809,36.5734559,46.3264069,20.4269805,3.0017331,9.3291501,7.7488437,31.595629,6.9256396,0.5254164,0.5154681,9.1908613,5.9884728,53.3650625,14.5703148,31.9995628,68.5455653,36.5787042,46.1077301,20.9441994,3.1290859,9.9451094,8.0583774,31.4413518,6.2499643,0.5233679,0.5183599,8.9804258,6.0550698,52.5316434,14.0405731,31.4644832,68.0546386,35.945345,46.0874393,20.7104047,3.0273199,9.3789357,7.842728,30.9624526,6.2500022,0.4807231,0.4559314,9.3437032,6.3392312,52.0682059,14.0209927,31.5783704,68.2479324,35.9639547,46.3417479,21.0920732,3.2891849,9.2393598,7.6875367,31.0208683,5.4999963,0.5294169,0.5377187,9.2727296,6.2352977,50.9706607,14.569044,31.3966094,68.2124179,36.2836522,45.9274774,21.5790791,3.355776,9.7024418,7.8361481,31.2421169,5.4770555 +1400,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8507032,0.8903277,13.3203793,9.2120531,37.8646623,19.2988661,31.3807527,68.3146542,37.913729,48.2799415,23.7587481,3.0270157,9.4018746,8.2825619,35.4767261,6.999916,0.8541819,0.9039282,13.6631911,9.6259112,36.9457822,19.6424618,32.2490659,68.6683234,38.9302518,48.3626667,24.388536,3.2095283,10.2396698,8.8839025,36.4850918,9.4155393,0.8660544,0.9224178,13.6948808,9.7880889,36.6390543,20.249409,32.7275108,68.8543863,38.7984733,47.7768863,24.7751017,3.2278033,10.1089577,8.7047359,35.5752544,9.8100781,0.9915361,1.0557495,13.6942001,9.5754261,36.4628762,19.9702295,32.9180886,67.9558498,38.4666356,47.3789471,24.3551052,3.2109282,10.793354,8.9544848,34.9227024,8.4375625,1.1037568,1.1673415,14.1866107,10.1093715,36.6516225,20.4073734,33.1526537,67.8017916,37.7496583,46.24926,23.7420663,3.1438932,11.1902566,9.1175439,35.5397985,8.1325904 +1401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.5716618,1.5627738,23.3986607,18.167325,31.3010533,14.6272888,36.1843327,63.853815,35.6465653,45.8687523,21.7330937,2.9805645,14.2534048,10.3751182,39.4763238,21.6918418,1.6186068,1.6180845,24.2044491,18.9782966,31.8746908,15.2976375,37.0228612,63.3528059,35.2938024,45.8595664,21.9018671,3.1091415,14.1603783,10.8316015,39.718926,20.7481007,1.6555815,1.6656481,24.7172041,19.2532339,32.1187318,15.326178,37.6950404,62.9287327,35.5710863,46.2732355,22.3100622,3.1588242,13.7491002,11.0226528,39.7500391,21.9089852,1.7025574,1.7128892,25.4567804,20.0432736,32.9333656,15.5697586,37.1952514,62.5369865,35.446454,45.5897078,21.9269299,3.1513978,13.8128847,11.1997375,40.6979442,21.0413422,1.6693956,1.6962835,26.6361716,21.0631753,33.5544526,15.5193172,37.0904775,61.963455,36.0082774,46.2025589,21.7435153,2.9257258,13.5863877,11.3838992,40.096427,23.2454142 +1402,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7169136,1.7626051,24.5991621,20.225047,48.9455686,15.2062336,43.0429389,64.2919889,37.6936034,49.6366922,25.1644903,3.9932389,13.2231054,11.3606216,32.2949206,16.4426229,1.9059616,1.9529085,24.1080542,20.0110638,48.454671,15.5743686,42.6066867,64.0813038,37.2801319,48.9932229,24.966385,3.8668192,13.0795505,11.1696982,32.4075767,19.3875177,1.945223,1.9689482,24.1721115,19.6487833,49.1836813,15.1369744,42.1634848,64.3215193,37.0433164,47.8956799,24.758522,3.9566788,13.1132561,11.4613312,33.0509766,22.0276948,1.8012481,1.8246066,25.1867561,20.7374229,50.0005535,15.1571997,41.0829405,64.8168685,35.8630629,48.0282983,23.7720959,4.1421914,11.850168,11.5795153,33.4104334,20.7480453,1.6911159,1.7327321,25.0610448,20.3043741,49.7913586,15.0226601,41.5046077,65.1912567,36.3755658,47.6472288,24.1882217,3.5648107,11.377552,12.2038691,32.242735,22.7608883 +1403,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5254164,0.5154681,9.1908613,5.9884728,53.3650625,14.5703148,31.9995628,68.5455653,36.5787042,46.1077301,20.9441994,3.1290859,9.9451094,8.0583774,31.4413518,6.2499643,0.5233679,0.5183599,8.9804258,6.0550698,52.5316434,14.0405731,31.4644832,68.0546386,35.945345,46.0874393,20.7104047,3.0273199,9.3789357,7.842728,30.9624526,6.2500022,0.4807231,0.4559314,9.3437032,6.3392312,52.0682059,14.0209927,31.5783704,68.2479324,35.9639547,46.3417479,21.0920732,3.2891849,9.2393598,7.6875367,31.0208683,5.4999963,0.5294169,0.5377187,9.2727296,6.2352977,50.9706607,14.569044,31.3966094,68.2124179,36.2836522,45.9274774,21.5790791,3.355776,9.7024418,7.8361481,31.2421169,5.4770555,0.5962623,0.5818452,9.5039574,6.2540124,50.6260955,13.9880353,31.2973002,67.8594553,36.2270225,45.7405646,21.2865067,3.621622,9.7361959,8.0496183,31.3978337,5.8333531 +1404,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0592315,1.0797902,14.1500558,9.7350579,33.8687802,16.2274464,34.4620354,69.3888817,40.7922524,51.5049393,24.1035134,4.2717884,12.9829059,11.4658207,31.2104285,7.0945898,0.8914298,0.9436251,13.7938572,9.2037081,34.2508433,16.5733809,34.2661127,69.1672098,39.5812371,50.96409,24.4354858,4.256806,12.6540132,10.6534012,30.9273079,4.9242424,0.9748012,1.0287597,13.9455616,9.4174645,33.2920792,16.8596392,35.0292128,68.7195442,40.7254057,51.9230689,25.1460639,4.2599794,12.5615715,10.4719691,30.0994787,5.1586508,1.031656,1.0846846,13.9302369,9.9433848,33.6336956,16.571846,34.889851,69.2767993,39.8706781,50.4070788,23.8266395,3.8553618,11.9902846,10.5797021,29.5298457,8.7499167,1.1250484,1.1541432,14.6958837,10.5605778,32.9767816,16.0595425,35.2980808,68.6911617,39.3769558,49.3724847,23.0166013,3.877185,11.919641,10.7015951,30.4328094,9.2741204 +1405,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4648853,0.4716741,9.9518858,6.6710385,45.3451495,18.6752332,33.3557047,69.6868037,40.8724613,45.1230451,23.0201353,3.8702485,8.0715658,7.493431,32.6144605,4.0441117,0.4748815,0.4818932,10.1452623,6.8315911,44.6554216,19.1620946,32.6006559,70.0370245,40.930106,45.7889885,23.9472402,3.9102296,7.4660851,7.2207214,34.229738,3.3333284,0.5230064,0.5391378,9.9007642,6.7816626,44.0616043,19.2417846,32.7611236,69.3181796,40.4013345,45.5270828,23.2833551,3.7959372,7.9327054,7.4806989,34.3507907,3.3582039,0.5293618,0.5462823,10.1842729,6.8974104,43.167882,19.8353423,31.8411703,69.9291836,41.502272,46.2063686,23.4951873,4.0212439,8.4615546,8.1790184,34.1097478,2.7999978,0.4915068,0.5086087,10.4428917,6.8696614,40.6652903,20.9026847,32.6952596,69.6528872,42.4961723,46.681986,24.1705029,3.9050532,8.2564163,7.9814686,32.209551,3.4615385 +1406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6186068,1.6180845,24.2044491,18.9782966,31.8746908,15.2976375,37.0228612,63.3528059,35.2938024,45.8595664,21.9018671,3.1091415,14.1603783,10.8316015,39.718926,20.7481007,1.6555815,1.6656481,24.7172041,19.2532339,32.1187318,15.326178,37.6950404,62.9287327,35.5710863,46.2732355,22.3100622,3.1588242,13.7491002,11.0226528,39.7500391,21.9089852,1.7025574,1.7128892,25.4567804,20.0432736,32.9333656,15.5697586,37.1952514,62.5369865,35.446454,45.5897078,21.9269299,3.1513978,13.8128847,11.1997375,40.6979442,21.0413422,1.6693956,1.6962835,26.6361716,21.0631753,33.5544526,15.5193172,37.0904775,61.963455,36.0082774,46.2025589,21.7435153,2.9257258,13.5863877,11.3838992,40.096427,23.2454142,1.6172301,1.6439732,27.6704988,21.747256,33.7190248,16.2541375,38.2276996,61.7373791,35.8549529,46.8114919,21.6862323,3.0182718,12.9258139,11.1867046,39.8534165,23.1788435 +1407,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9049189,0.8365287,9.7204802,6.7368054,31.0484732,21.464788,36.5927912,70.8253507,42.276799,53.0347284,23.9403488,3.6127127,11.5834173,10.7467644,33.147919,5.3370817,0.9017128,0.8191912,10.0778772,6.7133864,29.2686431,21.7303605,35.6170664,70.4589123,42.0411205,53.053839,23.6867796,3.5601215,12.4197947,10.3658623,31.8123101,4.3604677,0.8487084,0.7511635,10.4218694,7.1718647,28.291771,22.0315642,35.3099938,71.0811348,42.2734204,53.1796994,23.7043581,3.4817117,12.5081915,10.6139935,32.1593231,4.3103473,0.8027625,0.6988758,10.5485794,7.319738,28.0721242,21.8444222,35.0638747,69.952133,42.316262,52.7316632,24.4249786,3.5303424,11.793713,9.697571,32.7917844,3.0386757,0.7990583,0.7505106,10.9182916,7.4477746,27.6748131,21.7993218,34.9795867,69.4105321,41.658799,52.6654554,24.0985275,3.4650277,11.6688187,9.7631219,33.9470193,4.1436487 +1408,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4111193,1.4418483,25.1628595,20.6088458,42.1184552,16.9051416,38.1148127,66.6948438,36.0571467,47.8403492,22.791462,3.2373321,12.6425939,10.149907,30.186884,20.9952426,1.6338359,1.6887105,25.3178055,20.7323362,42.3453019,17.2437779,37.8144044,66.6841428,34.7273887,47.0929583,22.0799097,3.4545992,12.9324078,10.7630544,29.6809286,18.897009,1.6410242,1.6946629,25.6886395,21.2800226,43.3918106,17.7649785,37.2050081,66.8232786,34.8043164,46.7159853,22.4074433,3.7335418,13.1034326,10.77837,29.6542466,18.7974046,1.7134795,1.7349423,25.2886115,20.7951718,42.6933358,18.0830151,37.4438028,66.1627483,34.9805434,46.5434584,21.9549724,3.9419542,13.2472951,10.3929173,30.0584831,18.1807364,1.7039192,1.7251355,26.4438064,21.7945221,43.6978241,18.1302877,37.3216234,65.7929067,34.4463462,46.3680046,21.7324983,4.0261542,13.5915382,10.2480239,30.009367,18.8162527 +1409,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4085732,1.4247337,25.4623298,21.5302205,53.8624042,17.4813532,40.3909804,64.8785759,34.5722836,47.8953453,20.7764405,2.4960396,15.2611358,11.5504826,34.8754104,12.7009325,1.4391375,1.4552037,25.6396923,21.8157275,53.2442999,17.4631744,40.6763306,64.6699779,34.9799991,47.8139978,20.7392172,2.5176663,15.2569328,11.6058893,34.9862767,12.4999684,1.4143672,1.460264,25.7675174,21.982037,52.663428,16.6484575,40.1970208,64.5238571,33.5586313,46.7180799,20.0900302,2.3610088,14.9276499,11.5379342,35.3934393,12.8164395,1.4329515,1.5226628,26.4436963,22.4557111,53.2545787,16.4597214,40.0132344,65.3456216,33.1629564,46.9761519,20.3032059,2.2781678,15.0619064,11.1062858,35.5164415,11.3781978,1.6686618,1.759529,25.8324036,21.7067877,53.6349499,16.055451,40.4162979,65.2879578,33.7042115,47.5941196,20.3154287,2.4652382,15.1668429,11.9252508,35.3991844,13.4740172 +1410,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9930611,0.921993,10.0313955,6.8832674,19.3121447,17.50654,34.132735,67.306574,38.1613265,49.0909072,21.2995393,4.7867983,8.8723216,8.7745765,24.6182266,6.0713615,0.9153761,0.8930445,10.2436733,7.0162011,20.2392948,17.0375163,33.7487648,66.9945289,37.3254857,48.4316232,20.9047111,4.815374,9.067103,8.5704926,25.4434894,6.6427572,0.8857134,0.8638921,10.1743004,7.0953922,20.1830486,16.9587391,34.1921277,66.8170132,36.5667921,48.7370876,20.3276196,5.3111461,9.8556939,8.738251,26.1001838,4.9015302,0.8859893,0.8481548,10.5056791,7.4251351,19.884585,16.3706028,34.2665441,66.4717543,36.4492042,48.8858951,20.735398,5.2318788,10.3419184,8.5539687,26.3469943,4.850259,0.7922634,0.7868443,10.940644,7.7854203,20.3829454,16.6401379,34.1873525,65.9398678,36.7280982,48.7884254,20.8702444,5.1519247,9.9861934,8.3386279,26.0467662,5.8587705 +1411,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8846185,0.9782222,12.6628726,8.4702361,41.380344,14.4362179,31.3845601,67.7428858,36.1547247,47.3822039,24.7527777,3.6940094,12.9739264,12.7672492,38.5577969,4.8701362,0.8907328,0.9810036,12.840773,8.8058753,40.828582,14.3131766,32.6319002,68.4904797,36.6161444,46.773287,24.7194331,3.5634135,14.1618216,13.1365917,38.5464947,5.6666704,0.8921669,1.0049974,12.9242685,9.0600365,41.7634306,14.5546018,31.6684834,68.1695619,36.3120773,46.4092712,24.2710646,3.8066981,13.8520717,13.3002281,38.1242942,5.8282244,0.9653248,1.0618499,13.1331466,9.060037,41.1259198,15.1329687,32.3131231,68.8244888,37.0801527,47.5893644,24.0790974,3.873237,14.0744546,13.1838147,39.0418387,7.187509,0.9643844,1.0037441,12.8019035,8.7581002,41.5505915,14.5806905,31.8104153,69.5255502,37.5392687,46.2819243,23.8438115,3.8457742,13.1496782,12.178454,38.7407307,6.7742067 +1412,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8541819,0.9039282,13.6631911,9.6259112,36.9457822,19.6424618,32.2490659,68.6683234,38.9302518,48.3626667,24.388536,3.2095283,10.2396698,8.8839025,36.4850918,9.4155393,0.8660544,0.9224178,13.6948808,9.7880889,36.6390543,20.249409,32.7275108,68.8543863,38.7984733,47.7768863,24.7751017,3.2278033,10.1089577,8.7047359,35.5752544,9.8100781,0.9915361,1.0557495,13.6942001,9.5754261,36.4628762,19.9702295,32.9180886,67.9558498,38.4666356,47.3789471,24.3551052,3.2109282,10.793354,8.9544848,34.9227024,8.4375625,1.1037568,1.1673415,14.1866107,10.1093715,36.6516225,20.4073734,33.1526537,67.8017916,37.7496583,46.24926,23.7420663,3.1438932,11.1902566,9.1175439,35.5397985,8.1325904,0.976024,1.0003925,14.7592138,10.6630483,36.474246,20.2701376,33.8012375,67.7108133,37.4733954,46.2421186,23.5635941,2.9589543,11.5864893,9.5494622,36.1088157,9.8214881 +1413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3675073,2.4165212,38.0086059,33.1316064,64.3071179,14.5180994,38.0637221,62.4498454,28.007639,40.3642164,18.8297024,2.3903639,16.7463173,11.0173941,43.1557364,25.1910462,2.4944008,2.5244138,38.6370397,33.4820671,64.5939701,14.3324033,37.4428869,62.0975982,27.215212,40.1079271,18.4072844,2.297168,16.7492929,11.392013,43.7235768,25.8898616,2.4484381,2.4647638,40.3957169,34.8502382,65.7000896,14.2292083,37.9389479,62.4534691,26.5088901,39.1789327,17.4860376,2.116531,17.1280004,11.6491955,43.0958552,25.914704,2.6716233,2.6875695,40.5638666,35.0636747,67.0135039,13.8104813,36.4720137,62.1831319,25.4787108,38.7316072,17.0666093,2.2180396,17.5054041,12.3919758,44.1578624,25.7562385,2.8085318,2.8213582,40.6916542,35.1132948,68.4535084,14.0365027,35.7145219,62.7121316,25.0635497,38.1213655,17.1530701,2.1026669,18.3416845,13.3286274,44.6526709,27.8909298 +1414,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8660544,0.9224178,13.6948808,9.7880889,36.6390543,20.249409,32.7275108,68.8543863,38.7984733,47.7768863,24.7751017,3.2278033,10.1089577,8.7047359,35.5752544,9.8100781,0.9915361,1.0557495,13.6942001,9.5754261,36.4628762,19.9702295,32.9180886,67.9558498,38.4666356,47.3789471,24.3551052,3.2109282,10.793354,8.9544848,34.9227024,8.4375625,1.1037568,1.1673415,14.1866107,10.1093715,36.6516225,20.4073734,33.1526537,67.8017916,37.7496583,46.24926,23.7420663,3.1438932,11.1902566,9.1175439,35.5397985,8.1325904,0.976024,1.0003925,14.7592138,10.6630483,36.474246,20.2701376,33.8012375,67.7108133,37.4733954,46.2421186,23.5635941,2.9589543,11.5864893,9.5494622,36.1088157,9.8214881,0.9993617,1.0231016,15.5293426,11.4350882,36.7311649,20.5641779,33.5783727,67.0518845,36.6868328,45.5904135,23.7925462,3.1709239,10.8592925,8.9782843,35.9373236,12.7219602 +1415,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4391375,1.4552037,25.6396923,21.8157275,53.2442999,17.4631744,40.6763306,64.6699779,34.9799991,47.8139978,20.7392172,2.5176663,15.2569328,11.6058893,34.9862767,12.4999684,1.4143672,1.460264,25.7675174,21.982037,52.663428,16.6484575,40.1970208,64.5238571,33.5586313,46.7180799,20.0900302,2.3610088,14.9276499,11.5379342,35.3934393,12.8164395,1.4329515,1.5226628,26.4436963,22.4557111,53.2545787,16.4597214,40.0132344,65.3456216,33.1629564,46.9761519,20.3032059,2.2781678,15.0619064,11.1062858,35.5164415,11.3781978,1.6686618,1.759529,25.8324036,21.7067877,53.6349499,16.055451,40.4162979,65.2879578,33.7042115,47.5941196,20.3154287,2.4652382,15.1668429,11.9252508,35.3991844,13.4740172,1.7265214,1.8174871,26.3271393,22.5305535,53.0784726,16.2163918,40.9520426,65.4456734,33.5897525,47.541482,20.6014963,2.5023489,14.5071437,11.2648149,36.1642412,12.5798434 +1416,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5809124,0.5667975,8.531361,5.5769617,43.071447,19.2881143,30.6242,66.670223,40.3174286,47.6246221,22.4009435,6.4017888,9.637275,9.61538,32.3767036,3.9473673,0.6370394,0.6254611,8.5831345,5.4056768,42.0341416,19.3468821,30.3118093,66.70998,39.8261076,47.7413535,22.6164354,6.5660616,9.4404131,9.6572525,32.4329895,3.749999,0.5108954,0.5287708,8.0974397,5.1319115,41.7255585,19.6136308,30.4385585,67.3203309,39.750779,47.4014696,22.8265135,6.5398001,9.3073575,9.6691592,32.1627052,3.9402163,0.5023437,0.5194399,8.1247709,5.1987517,41.5729275,19.9216608,30.7414901,68.0380977,39.2843977,47.6054006,22.7163525,6.4996312,9.0210042,8.8709667,33.1883523,3.5156232,0.5101449,0.534606,8.1856478,5.0622948,41.1769959,19.6329165,31.6528303,68.1352662,38.5573058,47.7220548,22.5940375,6.4188585,9.5454518,9.3670398,34.0600939,3.6989777 +1417,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8914298,0.9436251,13.7938572,9.2037081,34.2508433,16.5733809,34.2661127,69.1672098,39.5812371,50.96409,24.4354858,4.256806,12.6540132,10.6534012,30.9273079,4.9242424,0.9748012,1.0287597,13.9455616,9.4174645,33.2920792,16.8596392,35.0292128,68.7195442,40.7254057,51.9230689,25.1460639,4.2599794,12.5615715,10.4719691,30.0994787,5.1586508,1.031656,1.0846846,13.9302369,9.9433848,33.6336956,16.571846,34.889851,69.2767993,39.8706781,50.4070788,23.8266395,3.8553618,11.9902846,10.5797021,29.5298457,8.7499167,1.1250484,1.1541432,14.6958837,10.5605778,32.9767816,16.0595425,35.2980808,68.6911617,39.3769558,49.3724847,23.0166013,3.877185,11.919641,10.7015951,30.4328094,9.2741204,1.088729,1.1164745,15.4746446,11.2831525,33.5879487,16.0805172,35.7879038,67.9476037,38.9652229,49.3988896,23.3362191,3.6711065,11.437079,10.2118757,31.7480645,12.8675925 +1418,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8974784,0.8802938,10.7852246,7.0310431,49.7033442,19.8456988,34.4999505,67.4185136,36.2656708,46.89984,21.9199108,3.7515458,14.4106309,13.0742973,39.6646944,5.5920211,0.775513,0.7581345,10.3296808,6.9340052,47.9138091,20.0955572,35.565382,67.8696413,36.6411491,47.5166277,22.3206233,4.1690399,14.6900868,12.9230202,38.3192781,4.7793207,0.7978499,0.7692423,10.0824805,7.0049636,46.1254322,19.6157897,35.0258749,67.5716934,37.2586112,47.2329309,22.3784656,4.1503082,14.3735046,12.7553546,37.6127751,6.5890493,0.7851863,0.7742628,10.2580321,6.971762,44.4027505,20.0052445,34.8666456,67.9878828,38.0846759,47.5043138,23.2623532,3.9447758,13.9838735,11.6701423,36.3524924,6.2499792,0.9335768,0.9225263,10.6189483,7.1031084,42.6751805,20.352936,35.1047446,69.1967339,38.5775016,47.3066573,23.5929936,4.1463382,13.9925409,11.5586093,36.9085581,7.7235584 +1419,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3749351,0.4234955,6.7718937,3.8866243,50.8792682,19.8906863,28.0775619,65.615505,33.5413109,40.1854921,19.1736935,7.5379455,10.0337885,7.5798812,36.6825584,1.1146504,0.4335355,0.4749757,7.2998686,4.2486862,50.7039934,19.5610322,27.7015934,66.1606179,33.8067212,40.7280362,18.9193636,7.3294182,9.4541947,7.2780707,35.8496742,1.4195588,0.3755286,0.3869107,7.3736403,4.4625706,50.4457165,19.0942985,27.841086,66.2709664,34.2355168,41.6429173,18.5976608,7.5498602,9.7353534,7.3055056,35.7504759,1.3513518,0.2614327,0.2916267,7.2644208,4.5225353,49.7958558,19.261412,27.4047454,66.6302248,34.7439105,41.3959923,18.6602145,7.9169291,9.3827965,7.8437529,35.6606145,2.5297619,0.2718397,0.2893136,7.5396825,4.7142845,49.1945701,19.5411129,27.4198595,66.8604589,35.0879956,41.4361941,18.6517921,7.8409835,8.7957175,7.548962,35.4522529,3.4743223 +1420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9748012,1.0287597,13.9455616,9.4174645,33.2920792,16.8596392,35.0292128,68.7195442,40.7254057,51.9230689,25.1460639,4.2599794,12.5615715,10.4719691,30.0994787,5.1586508,1.031656,1.0846846,13.9302369,9.9433848,33.6336956,16.571846,34.889851,69.2767993,39.8706781,50.4070788,23.8266395,3.8553618,11.9902846,10.5797021,29.5298457,8.7499167,1.1250484,1.1541432,14.6958837,10.5605778,32.9767816,16.0595425,35.2980808,68.6911617,39.3769558,49.3724847,23.0166013,3.877185,11.919641,10.7015951,30.4328094,9.2741204,1.088729,1.1164745,15.4746446,11.2831525,33.5879487,16.0805172,35.7879038,67.9476037,38.9652229,49.3988896,23.3362191,3.6711065,11.437079,10.2118757,31.7480645,12.8675925,1.2579992,1.2969041,15.8286198,11.7256483,33.2426438,16.3687074,35.1005677,68.4359118,38.799644,49.1651835,23.7625126,3.8819977,11.1678557,9.62701,32.1980513,15.9258754 +1421,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7291568,0.7221313,8.5928154,5.6393883,61.2501404,8.3816329,25.4151486,66.322191,32.138338,39.9317753,16.096939,5.9605638,10.2473079,8.4801821,36.2383937,4.7152887,0.7133059,0.7013231,8.5580109,5.751599,60.1974734,8.5964341,25.160166,66.5081759,32.4890336,40.4190285,16.6584333,6.1962935,10.3896045,8.76596,36.1537707,4.4549314,0.7059694,0.6974207,8.5038594,5.7478603,59.3602024,8.6355299,24.8804334,66.859288,32.4809288,40.4524268,16.8501605,6.3079691,10.2233043,8.7374059,36.4049523,4.5764739,0.6773613,0.6761588,8.659603,5.8260747,58.9033679,8.5871398,25.0981738,66.952597,32.5739693,40.7535156,16.8894297,6.3814259,10.5110909,8.9362965,36.579179,5.0604985,0.7400256,0.7346208,8.8178921,5.9839446,58.476694,8.7665268,25.229896,66.635849,32.5240629,40.8057523,17.1857457,6.6357723,10.5295757,8.9068148,36.7090939,5.0658453 +1422,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2863911,0.2938622,7.5337102,4.2670631,66.3555337,19.2898222,31.6637321,63.6343949,30.4372477,40.617456,16.6190254,4.885545,9.9325389,8.47139,35.109618,3.1402089,0.3997496,0.4260654,7.3699388,4.2320383,64.6189046,19.3948022,31.1115586,63.5972074,30.4552989,41.0377341,16.0582509,4.8605446,10.172678,8.6972937,34.1767552,3.1553413,0.368179,0.3957925,7.3038536,4.2262661,64.3700772,20.0555319,30.8639193,63.6501076,31.5550774,41.7926516,16.8250599,5.1619902,10.5325964,8.5657411,33.5862781,3.2663333,0.3893758,0.451954,7.764539,4.6495626,63.3271569,19.8602317,30.4158974,63.0027419,31.3299838,41.7047467,17.0703879,5.2330922,10.9756144,8.8954506,33.8260278,3.8071085,0.3733448,0.4578756,7.7829043,4.8729768,61.9416981,21.0105126,30.5309676,63.9729844,31.7885415,42.6874608,17.7689828,5.3796017,10.7484807,8.5801424,33.1441164,3.3505172 +1423,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8907328,0.9810036,12.840773,8.8058753,40.828582,14.3131766,32.6319002,68.4904797,36.6161444,46.773287,24.7194331,3.5634135,14.1618216,13.1365917,38.5464947,5.6666704,0.8921669,1.0049974,12.9242685,9.0600365,41.7634306,14.5546018,31.6684834,68.1695619,36.3120773,46.4092712,24.2710646,3.8066981,13.8520717,13.3002281,38.1242942,5.8282244,0.9653248,1.0618499,13.1331466,9.060037,41.1259198,15.1329687,32.3131231,68.8244888,37.0801527,47.5893644,24.0790974,3.873237,14.0744546,13.1838147,39.0418387,7.187509,0.9643844,1.0037441,12.8019035,8.7581002,41.5505915,14.5806905,31.8104153,69.5255502,37.5392687,46.2819243,23.8438115,3.8457742,13.1496782,12.178454,38.7407307,6.7742067,0.8897903,0.9055715,12.941896,9.0552663,42.1525596,14.7541777,32.4426922,70.4453508,38.1990412,46.8770334,24.0114829,3.7576219,12.6832576,11.7032093,40.342973,6.5625041 +1424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.5531262,0.5578732,11.5134653,7.8280021,46.767739,14.8431535,28.0950086,60.5929887,33.9396786,39.6138959,17.475292,3.9998422,12.4668553,11.3027955,39.9953616,5.506764,0.6454509,0.6744671,11.4541268,8.0821201,46.2529801,14.8948244,28.2282917,61.2006048,33.6278193,40.2128571,17.9804989,3.6383672,11.9887267,11.2426073,39.3978425,5.9527999,0.6689751,0.6981736,12.2307353,8.4564646,45.5184564,14.8610078,28.219893,61.1712278,33.1042236,39.9321776,18.0105449,3.4193251,11.4930194,10.6723726,39.8037076,7.9678784,0.7483566,0.7764252,12.8810793,9.019777,45.980448,14.193111,28.0270062,60.2867989,33.3041109,39.4909847,17.4512388,3.2736307,12.0769959,10.9840567,38.562849,10.0894678,0.7664179,0.7824237,12.9054024,8.7847944,45.2374603,14.8570123,28.2231149,60.9376759,33.590328,39.370148,18.0440276,3.5741619,12.0988073,11.4211371,37.7032832,9.3985174 +1425,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7472583,0.772514,11.0146571,7.0573593,56.413487,10.1627986,33.6773704,67.1783039,41.6461357,44.9726923,24.6924699,4.3908849,10.0873426,9.7196537,40.7510149,5.9558806,0.7568552,0.7786256,10.7166659,6.7710599,56.012365,10.2543385,33.3535523,66.8120526,41.7016052,44.6388822,24.5306922,4.3562689,10.513556,10.2399155,41.7162103,5.0884941,0.7905009,0.8045355,10.8172683,6.8476281,54.9594957,10.3044113,32.941488,66.7805263,41.5575771,44.232734,24.1748619,4.5107552,10.521003,10.2727183,41.1109162,5.0940439,0.7885661,0.8016182,10.7838109,6.7778634,53.8169546,10.4017594,32.8018785,66.4347746,41.9118042,44.7556061,24.1351563,4.7212053,10.5396134,10.2455789,40.2751278,4.684839,0.876676,0.8893565,10.6317551,6.6113972,52.4030215,10.5253462,32.7299281,66.8577472,42.3279621,45.149432,24.3687084,4.9021333,10.5015116,10.2312916,40.0797934,4.7491048 +1426,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6616913,0.6017116,9.2252244,6.7319205,32.3992347,14.238253,30.8596972,68.1352539,41.455661,48.0356001,21.6771721,6.8754842,9.9736962,8.3561332,32.6603005,3.5433071,0.6617835,0.6045424,9.0383162,6.6654886,33.121152,13.7606312,30.8716858,68.5650455,41.83125,47.3786053,22.0759609,6.7376162,10.0090056,8.6387405,33.0911347,2.4475524,0.6869866,0.6316894,9.3310789,6.9619408,32.6918923,13.5921007,30.9095028,68.7999562,40.8709886,47.3333724,21.9888815,6.5654044,10.2725093,9.0348793,33.70637,4.8387097,0.7548534,0.7028819,9.742607,7.1364899,32.0384438,14.3155803,30.5689582,68.9617717,41.234965,48.4508062,22.4128551,6.6081642,10.1861182,9.4889911,33.7877168,3.8235294,0.8420016,0.8124073,10.4300812,7.6958705,31.216567,14.1755458,31.1837573,69.198076,41.1526455,48.5728886,21.8998181,6.7545037,10.3021065,9.2524769,34.5317873,5.1912568 +1427,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.613544,0.5942573,8.0205704,5.3848644,33.6138613,10.9949772,29.4710624,69.7424953,36.6716215,49.6785626,20.6627982,3.0283944,10.4323632,9.8486883,30.6894859,3.685901,0.5532475,0.5341939,7.8530613,5.3070501,32.5407138,11.4495031,29.0273175,70.3003943,37.3034674,50.3538169,20.7691746,3.1741703,10.6976837,10.2348918,31.0299813,2.707009,0.496563,0.4938375,7.9396092,5.5085883,31.7942571,11.4989994,29.0315237,70.2943609,37.1918547,50.4615283,20.9596134,3.4326537,10.9816541,10.4404748,32.3633934,1.7241401,0.5120558,0.5147151,8.2015015,5.5938458,31.3233153,11.5557343,28.8021225,70.6454863,37.3123584,50.6735134,21.223775,3.6509309,11.0820472,9.9303729,31.2454362,2.689876,0.5416609,0.5312915,8.1324933,5.571923,30.4066448,11.7810247,28.8584694,70.7884703,37.2141706,50.5129178,20.9564548,3.6062178,10.9432138,9.7150496,31.6047137,2.419358 +1428,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5407042,0.5191989,7.6101008,4.8701772,47.1303611,12.3434831,30.0720999,66.9574736,33.604907,42.516231,17.7144966,15.4217716,9.4790114,8.4419331,35.9479984,2.7301092,0.5506981,0.5357406,7.7039284,4.9561225,46.6992773,12.7191102,29.684561,67.6964375,33.8373636,42.4613004,17.8338916,15.1425257,9.9071622,8.8098689,35.7812996,3.0232558,0.5500197,0.548696,7.5633294,4.8719063,45.906082,13.3100185,29.2663501,67.35538,33.137598,42.5474896,17.9715827,14.7962865,9.5341448,8.786918,34.9064901,2.7429463,0.6018856,0.6135906,7.4145034,4.6757486,45.5584243,13.3907302,28.4546515,67.6499898,32.7623004,42.6570946,18.1191367,14.6929163,9.8163837,9.0048092,34.876107,3.0185759,0.5724062,0.5975951,7.3825001,4.8373076,44.7318219,13.6928556,27.8632644,67.9561675,32.8276964,43.0759189,18.1521299,14.4215384,9.948169,8.9429703,35.1825034,3.1013616 +1429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.135837,1.135837,15.1450592,11.0870529,61.4767256,31.214455,32.049454,66.4970428,33.6483801,42.5144587,18.3867423,4.578535,15.2173787,12.0290901,33.5757289,6.1983983,1.2226479,1.2226479,14.6540647,10.9721389,60.9883015,30.1737431,31.0371086,66.8888668,33.1112813,42.7406547,18.2964391,4.3704222,14.0949326,11.7211726,32.8871984,6.3559861,1.200001,1.200001,15.4587628,11.316702,60.0449931,30.2651801,31.9549709,66.5414772,31.5039128,41.8796016,19.624221,5.0376546,14.3939624,13.1421528,32.2731185,6.6372562,1.1549927,1.1549927,15.3556962,11.573505,59.4946489,28.4535163,31.01087,67.3048828,31.0107934,40.9647438,19.2192247,5.4365138,15.2038433,14.2189722,35.0632872,4.700915,0.9112375,0.9112375,15.7123054,11.9970805,58.2818297,27.735549,31.5994037,69.6430069,32.220609,41.2265718,18.5561888,5.8229941,15.6348106,13.7348222,35.5593582,3.8793772 +1430,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.3976325,0.3931709,8.683338,5.6268179,43.3520906,19.3557628,28.9406693,68.7213009,35.4056436,45.4132427,20.1907589,4.6284265,10.7148351,8.0944932,32.2602094,2.8645453,0.4459849,0.4526931,8.6609306,5.5077555,42.4523209,19.7424899,28.6726574,68.5884983,35.5524688,45.8577018,20.6213242,4.5130514,10.5448773,8.4165642,32.2882369,2.4307652,0.5439674,0.5483998,8.6698424,5.5007467,41.5430379,19.6654822,29.4700469,68.1982341,35.354688,46.4973336,20.4709994,4.397625,10.675249,8.5707127,32.1071406,2.4969775,0.6732287,0.677574,8.4501038,5.4691131,40.8863646,20.1196924,29.3752212,68.3807076,36.1134312,46.5085447,21.0386316,4.668115,10.8899548,8.3333035,32.4548452,3.4841032,0.6920586,0.7078695,8.2839488,5.2480222,39.9789878,20.2310405,29.3466095,68.928339,36.1879079,47.2552911,21.099465,4.4230262,10.7412264,8.8083836,32.2928796,3.8501317 +1431,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9915361,1.0557495,13.6942001,9.5754261,36.4628762,19.9702295,32.9180886,67.9558498,38.4666356,47.3789471,24.3551052,3.2109282,10.793354,8.9544848,34.9227024,8.4375625,1.1037568,1.1673415,14.1866107,10.1093715,36.6516225,20.4073734,33.1526537,67.8017916,37.7496583,46.24926,23.7420663,3.1438932,11.1902566,9.1175439,35.5397985,8.1325904,0.976024,1.0003925,14.7592138,10.6630483,36.474246,20.2701376,33.8012375,67.7108133,37.4733954,46.2421186,23.5635941,2.9589543,11.5864893,9.5494622,36.1088157,9.8214881,0.9993617,1.0231016,15.5293426,11.4350882,36.7311649,20.5641779,33.5783727,67.0518845,36.6868328,45.5904135,23.7925462,3.1709239,10.8592925,8.9782843,35.9373236,12.7219602,1.2197162,1.2429533,15.6453026,11.9926711,35.5322768,19.8903082,33.6686188,66.9472402,37.1979341,46.2251601,25.3386447,3.139084,10.8999699,9.0731372,35.4573669,13.0554878 +1432,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7133059,0.7013231,8.5580109,5.751599,60.1974734,8.5964341,25.160166,66.5081759,32.4890336,40.4190285,16.6584333,6.1962935,10.3896045,8.76596,36.1537707,4.4549314,0.7059694,0.6974207,8.5038594,5.7478603,59.3602024,8.6355299,24.8804334,66.859288,32.4809288,40.4524268,16.8501605,6.3079691,10.2233043,8.7374059,36.4049523,4.5764739,0.6773613,0.6761588,8.659603,5.8260747,58.9033679,8.5871398,25.0981738,66.952597,32.5739693,40.7535156,16.8894297,6.3814259,10.5110909,8.9362965,36.579179,5.0604985,0.7400256,0.7346208,8.8178921,5.9839446,58.476694,8.7665268,25.229896,66.635849,32.5240629,40.8057523,17.1857457,6.6357723,10.5295757,8.9068148,36.7090939,5.0658453,0.7535287,0.7615418,9.0940193,6.1440028,58.1161189,8.716962,24.9309354,66.554005,32.3584993,40.4006357,17.1701639,6.7386789,10.5471775,8.8763138,36.7518499,5.5912547 +1433,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6338359,1.6887105,25.3178055,20.7323362,42.3453019,17.2437779,37.8144044,66.6841428,34.7273887,47.0929583,22.0799097,3.4545992,12.9324078,10.7630544,29.6809286,18.897009,1.6410242,1.6946629,25.6886395,21.2800226,43.3918106,17.7649785,37.2050081,66.8232786,34.8043164,46.7159853,22.4074433,3.7335418,13.1034326,10.77837,29.6542466,18.7974046,1.7134795,1.7349423,25.2886115,20.7951718,42.6933358,18.0830151,37.4438028,66.1627483,34.9805434,46.5434584,21.9549724,3.9419542,13.2472951,10.3929173,30.0584831,18.1807364,1.7039192,1.7251355,26.4438064,21.7945221,43.6978241,18.1302877,37.3216234,65.7929067,34.4463462,46.3680046,21.7324983,4.0261542,13.5915382,10.2480239,30.009367,18.8162527,1.5738856,1.6114681,26.4225759,21.8744594,43.6570317,18.0202956,37.597057,65.7509988,33.8676141,45.7856497,21.6367754,4.2322987,13.1534739,10.0078928,30.2018066,17.0326434 +1434,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9017128,0.8191912,10.0778772,6.7133864,29.2686431,21.7303605,35.6170664,70.4589123,42.0411205,53.053839,23.6867796,3.5601215,12.4197947,10.3658623,31.8123101,4.3604677,0.8487084,0.7511635,10.4218694,7.1718647,28.291771,22.0315642,35.3099938,71.0811348,42.2734204,53.1796994,23.7043581,3.4817117,12.5081915,10.6139935,32.1593231,4.3103473,0.8027625,0.6988758,10.5485794,7.319738,28.0721242,21.8444222,35.0638747,69.952133,42.316262,52.7316632,24.4249786,3.5303424,11.793713,9.697571,32.7917844,3.0386757,0.7990583,0.7505106,10.9182916,7.4477746,27.6748131,21.7993218,34.9795867,69.4105321,41.658799,52.6654554,24.0985275,3.4650277,11.6688187,9.7631219,33.9470193,4.1436487,0.8604921,0.8135841,11.2615195,7.6316495,27.5899,21.6612138,35.1643054,68.7310387,41.7376432,52.6932842,24.4522764,3.5757707,11.8316048,10.1783547,33.5709752,5.4597701 +1435,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6410242,1.6946629,25.6886395,21.2800226,43.3918106,17.7649785,37.2050081,66.8232786,34.8043164,46.7159853,22.4074433,3.7335418,13.1034326,10.77837,29.6542466,18.7974046,1.7134795,1.7349423,25.2886115,20.7951718,42.6933358,18.0830151,37.4438028,66.1627483,34.9805434,46.5434584,21.9549724,3.9419542,13.2472951,10.3929173,30.0584831,18.1807364,1.7039192,1.7251355,26.4438064,21.7945221,43.6978241,18.1302877,37.3216234,65.7929067,34.4463462,46.3680046,21.7324983,4.0261542,13.5915382,10.2480239,30.009367,18.8162527,1.5738856,1.6114681,26.4225759,21.8744594,43.6570317,18.0202956,37.597057,65.7509988,33.8676141,45.7856497,21.6367754,4.2322987,13.1534739,10.0078928,30.2018066,17.0326434,1.6762784,1.7200103,27.1104563,22.4812364,43.2902149,18.6311806,37.8877536,66.0754365,35.30195,46.8127988,22.5509839,3.9810653,12.8483188,10.1120318,30.3508156,15.2481676 +1436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7568552,0.7786256,10.7166659,6.7710599,56.012365,10.2543385,33.3535523,66.8120526,41.7016052,44.6388822,24.5306922,4.3562689,10.513556,10.2399155,41.7162103,5.0884941,0.7905009,0.8045355,10.8172683,6.8476281,54.9594957,10.3044113,32.941488,66.7805263,41.5575771,44.232734,24.1748619,4.5107552,10.521003,10.2727183,41.1109162,5.0940439,0.7885661,0.8016182,10.7838109,6.7778634,53.8169546,10.4017594,32.8018785,66.4347746,41.9118042,44.7556061,24.1351563,4.7212053,10.5396134,10.2455789,40.2751278,4.684839,0.876676,0.8893565,10.6317551,6.6113972,52.4030215,10.5253462,32.7299281,66.8577472,42.3279621,45.149432,24.3687084,4.9021333,10.5015116,10.2312916,40.0797934,4.7491048,0.8034702,0.8177218,9.9687296,6.0274459,50.9600413,10.653137,32.2729979,66.7316439,42.589073,45.4942546,24.4989618,4.7949083,10.4323111,10.0616023,39.3293983,4.7851553 +1437,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9153761,0.8930445,10.2436733,7.0162011,20.2392948,17.0375163,33.7487648,66.9945289,37.3254857,48.4316232,20.9047111,4.815374,9.067103,8.5704926,25.4434894,6.6427572,0.8857134,0.8638921,10.1743004,7.0953922,20.1830486,16.9587391,34.1921277,66.8170132,36.5667921,48.7370876,20.3276196,5.3111461,9.8556939,8.738251,26.1001838,4.9015302,0.8859893,0.8481548,10.5056791,7.4251351,19.884585,16.3706028,34.2665441,66.4717543,36.4492042,48.8858951,20.735398,5.2318788,10.3419184,8.5539687,26.3469943,4.850259,0.7922634,0.7868443,10.940644,7.7854203,20.3829454,16.6401379,34.1873525,65.9398678,36.7280982,48.7884254,20.8702444,5.1519247,9.9861934,8.3386279,26.0467662,5.8587705,0.703244,0.6981369,10.5154916,7.3097521,20.7262117,16.9217484,34.6627409,65.784572,36.7522262,48.8770496,21.3270348,5.0388245,10.4172854,8.6677581,26.4411347,4.0436992 +1438,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5149688,1.6025716,20.0161466,15.4629117,84.8099375,12.8646284,30.584701,63.0502916,33.1933856,38.5276856,17.1914829,4.783928,14.5216219,10.1232515,38.262649,14.8046259,1.4700042,1.5139901,20.7197723,16.2007861,85.4472028,12.91888,30.7076292,63.900472,32.7498351,38.0972617,16.8274869,4.4466416,14.9841934,9.5145727,36.9150286,13.2636942,1.3836498,1.4280807,20.7788351,16.1387858,84.7462806,12.8823728,31.0787085,63.0197021,32.551753,36.5331164,16.0272779,4.5415504,15.5022806,10.8216221,37.657743,12.9348539,1.2491024,1.3071718,19.8695618,15.5348635,84.3779253,12.6062112,31.6188596,63.5141906,33.3339237,37.1553603,16.5641582,4.7956621,15.0520507,10.9438461,38.0821238,13.3578074,1.3889316,1.4472188,20.5315375,16.001452,83.9304162,12.4355733,32.6542267,63.0583957,33.6645476,37.49327,17.0524229,4.3889599,14.7116368,11.6069958,40.0225256,12.3862281 +1439,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4335355,0.4749757,7.2998686,4.2486862,50.7039934,19.5610322,27.7015934,66.1606179,33.8067212,40.7280362,18.9193636,7.3294182,9.4541947,7.2780707,35.8496742,1.4195588,0.3755286,0.3869107,7.3736403,4.4625706,50.4457165,19.0942985,27.841086,66.2709664,34.2355168,41.6429173,18.5976608,7.5498602,9.7353534,7.3055056,35.7504759,1.3513518,0.2614327,0.2916267,7.2644208,4.5225353,49.7958558,19.261412,27.4047454,66.6302248,34.7439105,41.3959923,18.6602145,7.9169291,9.3827965,7.8437529,35.6606145,2.5297619,0.2718397,0.2893136,7.5396825,4.7142845,49.1945701,19.5411129,27.4198595,66.8604589,35.0879956,41.4361941,18.6517921,7.8409835,8.7957175,7.548962,35.4522529,3.4743223,0.2856107,0.2988983,7.0106638,4.3757823,48.0269318,19.7025476,26.8677725,66.7239763,34.4013757,42.3726096,18.8340097,7.3616776,8.8564308,7.5653774,35.5451704,4.5741354 +1440,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8468425,1.8392468,33.3451445,29.2032996,43.0384379,17.8167294,35.5941335,66.2518842,34.5517919,44.9112023,18.7934319,2.4219605,16.524878,11.1736309,34.3002988,15.2849625,2.0054457,1.9979465,34.5050064,29.9525331,42.822093,17.3599722,35.522007,66.5643865,34.226499,45.3240274,19.6138988,2.5773079,16.6595045,12.0228322,33.4770127,16.0591231,2.3256776,2.3294655,35.8961072,30.807471,43.4907106,17.7621526,34.97246,66.8287805,34.0310254,45.67295,19.8176038,3.0329671,15.7145241,12.0181287,33.7267517,17.3698415,2.3998358,2.4597847,36.6170908,30.8753705,44.7387532,18.6858714,35.2540193,66.282398,33.356889,45.1533481,19.9287719,3.5387738,14.9814709,11.7072883,33.6795965,17.5744701,2.569231,2.6568766,37.1951118,31.5917032,45.3758928,18.8526803,35.4725642,66.0023582,32.9107504,45.3705314,19.9153355,3.475947,16.1102514,12.8129378,33.3482064,17.4924911 +1441,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8921669,1.0049974,12.9242685,9.0600365,41.7634306,14.5546018,31.6684834,68.1695619,36.3120773,46.4092712,24.2710646,3.8066981,13.8520717,13.3002281,38.1242942,5.8282244,0.9653248,1.0618499,13.1331466,9.060037,41.1259198,15.1329687,32.3131231,68.8244888,37.0801527,47.5893644,24.0790974,3.873237,14.0744546,13.1838147,39.0418387,7.187509,0.9643844,1.0037441,12.8019035,8.7581002,41.5505915,14.5806905,31.8104153,69.5255502,37.5392687,46.2819243,23.8438115,3.8457742,13.1496782,12.178454,38.7407307,6.7742067,0.8897903,0.9055715,12.941896,9.0552663,42.1525596,14.7541777,32.4426922,70.4453508,38.1990412,46.8770334,24.0114829,3.7576219,12.6832576,11.7032093,40.342973,6.5625041,0.9116685,0.934697,14.1691844,9.8298558,42.9488766,14.9600088,33.1425973,70.8768117,38.1806708,46.8078855,24.4449677,3.7785577,13.3274833,12.3972894,40.6487573,7.1839122 +1442,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.2226479,1.2226479,14.6540647,10.9721389,60.9883015,30.1737431,31.0371086,66.8888668,33.1112813,42.7406547,18.2964391,4.3704222,14.0949326,11.7211726,32.8871984,6.3559861,1.200001,1.200001,15.4587628,11.316702,60.0449931,30.2651801,31.9549709,66.5414772,31.5039128,41.8796016,19.624221,5.0376546,14.3939624,13.1421528,32.2731185,6.6372562,1.1549927,1.1549927,15.3556962,11.573505,59.4946489,28.4535163,31.01087,67.3048828,31.0107934,40.9647438,19.2192247,5.4365138,15.2038433,14.2189722,35.0632872,4.700915,0.9112375,0.9112375,15.7123054,11.9970805,58.2818297,27.735549,31.5994037,69.6430069,32.220609,41.2265718,18.5561888,5.8229941,15.6348106,13.7348222,35.5593582,3.8793772,0.7792006,0.7792006,14.5901355,11.2777804,56.995387,28.3825786,33.3068888,68.9189017,31.875944,41.2560613,17.7268319,5.3259193,15.4725899,12.8249043,35.7846301,3.9474377 +1443,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9653248,1.0618499,13.1331466,9.060037,41.1259198,15.1329687,32.3131231,68.8244888,37.0801527,47.5893644,24.0790974,3.873237,14.0744546,13.1838147,39.0418387,7.187509,0.9643844,1.0037441,12.8019035,8.7581002,41.5505915,14.5806905,31.8104153,69.5255502,37.5392687,46.2819243,23.8438115,3.8457742,13.1496782,12.178454,38.7407307,6.7742067,0.8897903,0.9055715,12.941896,9.0552663,42.1525596,14.7541777,32.4426922,70.4453508,38.1990412,46.8770334,24.0114829,3.7576219,12.6832576,11.7032093,40.342973,6.5625041,0.9116685,0.934697,14.1691844,9.8298558,42.9488766,14.9600088,33.1425973,70.8768117,38.1806708,46.8078855,24.4449677,3.7785577,13.3274833,12.3972894,40.6487573,7.1839122,1.0466976,1.0543281,13.881692,9.6344137,42.207609,15.1328428,32.584042,71.1947683,39.6134239,47.8558963,24.9849072,4.1004766,13.3406803,12.4125583,40.2954244,6.7251462 +1444,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6479025,0.6535731,8.6425283,4.9924034,46.0184892,19.2013028,32.232739,67.9207856,38.4671854,43.504385,22.4048721,4.0693934,9.8548398,9.0420391,32.9406268,7.2361346,0.7293381,0.728042,8.9615159,5.1480329,45.4562788,19.1780866,31.7171203,68.1627013,38.7719049,43.7557301,22.2606402,4.3380241,9.8894331,8.8431263,32.8489981,7.2607385,0.7369086,0.7356394,8.9171914,5.1549781,45.4670194,19.5399136,31.2225243,69.0714222,38.8624962,43.6526742,22.553641,4.4519935,9.5509154,8.5703278,33.5270585,7.1138415,0.6613373,0.6705187,9.0971292,5.3240632,44.2785576,19.7200307,31.291303,70.1723287,39.6698006,43.7732608,22.9411931,4.4046314,9.3765465,8.3086618,33.3033764,7.2314792,0.6705265,0.6770817,8.9602963,5.3649681,43.9278188,19.6302418,31.3823963,70.936052,39.1956095,44.4047102,22.9393537,4.4505206,9.2525143,7.5508231,33.0096579,6.9621556 +1445,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.6454509,0.6744671,11.4541268,8.0821201,46.2529801,14.8948244,28.2282917,61.2006048,33.6278193,40.2128571,17.9804989,3.6383672,11.9887267,11.2426073,39.3978425,5.9527999,0.6689751,0.6981736,12.2307353,8.4564646,45.5184564,14.8610078,28.219893,61.1712278,33.1042236,39.9321776,18.0105449,3.4193251,11.4930194,10.6723726,39.8037076,7.9678784,0.7483566,0.7764252,12.8810793,9.019777,45.980448,14.193111,28.0270062,60.2867989,33.3041109,39.4909847,17.4512388,3.2736307,12.0769959,10.9840567,38.562849,10.0894678,0.7664179,0.7824237,12.9054024,8.7847944,45.2374603,14.8570123,28.2231149,60.9376759,33.590328,39.370148,18.0440276,3.5741619,12.0988073,11.4211371,37.7032832,9.3985174,0.7543604,0.7159307,12.9241499,8.449236,45.3246814,14.00051,28.1412011,60.7415101,33.2684639,38.29221,17.9838319,3.277527,12.5872512,11.3192813,37.6935648,7.5396825 +1446,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7059694,0.6974207,8.5038594,5.7478603,59.3602024,8.6355299,24.8804334,66.859288,32.4809288,40.4524268,16.8501605,6.3079691,10.2233043,8.7374059,36.4049523,4.5764739,0.6773613,0.6761588,8.659603,5.8260747,58.9033679,8.5871398,25.0981738,66.952597,32.5739693,40.7535156,16.8894297,6.3814259,10.5110909,8.9362965,36.579179,5.0604985,0.7400256,0.7346208,8.8178921,5.9839446,58.476694,8.7665268,25.229896,66.635849,32.5240629,40.8057523,17.1857457,6.6357723,10.5295757,8.9068148,36.7090939,5.0658453,0.7535287,0.7615418,9.0940193,6.1440028,58.1161189,8.716962,24.9309354,66.554005,32.3584993,40.4006357,17.1701639,6.7386789,10.5471775,8.8763138,36.7518499,5.5912547,0.774521,0.7851342,9.123328,6.0953594,57.6698733,8.739451,25.2624061,66.7333968,32.7575446,40.388641,17.3611621,6.7460703,10.3586399,8.6202591,36.543645,6.0128666 +1447,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.200001,1.200001,15.4587628,11.316702,60.0449931,30.2651801,31.9549709,66.5414772,31.5039128,41.8796016,19.624221,5.0376546,14.3939624,13.1421528,32.2731185,6.6372562,1.1549927,1.1549927,15.3556962,11.573505,59.4946489,28.4535163,31.01087,67.3048828,31.0107934,40.9647438,19.2192247,5.4365138,15.2038433,14.2189722,35.0632872,4.700915,0.9112375,0.9112375,15.7123054,11.9970805,58.2818297,27.735549,31.5994037,69.6430069,32.220609,41.2265718,18.5561888,5.8229941,15.6348106,13.7348222,35.5593582,3.8793772,0.7792006,0.7792006,14.5901355,11.2777804,56.995387,28.3825786,33.3068888,68.9189017,31.875944,41.2560613,17.7268319,5.3259193,15.4725899,12.8249043,35.7846301,3.9474377,0.5053302,0.5053302,13.4586099,10.3590512,57.0599179,28.0290473,33.305948,68.3388145,31.0031982,41.0362497,16.3653873,4.8519673,15.7097248,11.2796512,36.6556868,3.0974 +1448,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.031656,1.0846846,13.9302369,9.9433848,33.6336956,16.571846,34.889851,69.2767993,39.8706781,50.4070788,23.8266395,3.8553618,11.9902846,10.5797021,29.5298457,8.7499167,1.1250484,1.1541432,14.6958837,10.5605778,32.9767816,16.0595425,35.2980808,68.6911617,39.3769558,49.3724847,23.0166013,3.877185,11.919641,10.7015951,30.4328094,9.2741204,1.088729,1.1164745,15.4746446,11.2831525,33.5879487,16.0805172,35.7879038,67.9476037,38.9652229,49.3988896,23.3362191,3.6711065,11.437079,10.2118757,31.7480645,12.8675925,1.2579992,1.2969041,15.8286198,11.7256483,33.2426438,16.3687074,35.1005677,68.4359118,38.799644,49.1651835,23.7625126,3.8819977,11.1678557,9.62701,32.1980513,15.9258754,1.397761,1.416788,16.4962176,12.395891,33.4183547,16.356658,34.8374091,68.0455035,38.9930847,48.2656184,23.0665866,3.789909,11.2589051,10.1592521,33.5491806,16.442908 +1449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4944008,2.5244138,38.6370397,33.4820671,64.5939701,14.3324033,37.4428869,62.0975982,27.215212,40.1079271,18.4072844,2.297168,16.7492929,11.392013,43.7235768,25.8898616,2.4484381,2.4647638,40.3957169,34.8502382,65.7000896,14.2292083,37.9389479,62.4534691,26.5088901,39.1789327,17.4860376,2.116531,17.1280004,11.6491955,43.0958552,25.914704,2.6716233,2.6875695,40.5638666,35.0636747,67.0135039,13.8104813,36.4720137,62.1831319,25.4787108,38.7316072,17.0666093,2.2180396,17.5054041,12.3919758,44.1578624,25.7562385,2.8085318,2.8213582,40.6916542,35.1132948,68.4535084,14.0365027,35.7145219,62.7121316,25.0635497,38.1213655,17.1530701,2.1026669,18.3416845,13.3286274,44.6526709,27.8909298,2.7666024,2.7337905,40.6887506,35.0782229,68.2457086,13.8801639,35.3517972,63.0007955,25.0969823,38.4028341,16.9384744,2.2530293,18.1575979,12.8190973,43.7871927,28.3772933 +1450,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7134795,1.7349423,25.2886115,20.7951718,42.6933358,18.0830151,37.4438028,66.1627483,34.9805434,46.5434584,21.9549724,3.9419542,13.2472951,10.3929173,30.0584831,18.1807364,1.7039192,1.7251355,26.4438064,21.7945221,43.6978241,18.1302877,37.3216234,65.7929067,34.4463462,46.3680046,21.7324983,4.0261542,13.5915382,10.2480239,30.009367,18.8162527,1.5738856,1.6114681,26.4225759,21.8744594,43.6570317,18.0202956,37.597057,65.7509988,33.8676141,45.7856497,21.6367754,4.2322987,13.1534739,10.0078928,30.2018066,17.0326434,1.6762784,1.7200103,27.1104563,22.4812364,43.2902149,18.6311806,37.8877536,66.0754365,35.30195,46.8127988,22.5509839,3.9810653,12.8483188,10.1120318,30.3508156,15.2481676,1.685832,1.71927,27.5733217,23.0128164,43.0510702,18.8868497,37.8193561,65.0362441,35.5561343,47.1815103,22.3632931,3.8818155,12.3852811,10.2561995,31.2683257,16.0279792 +1451,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.568586,0.5627075,9.7396007,6.9173703,46.9204243,10.9692461,28.2320169,70.5978932,43.2291655,46.1401274,21.8964057,5.1013131,10.0575508,8.4626463,34.9231593,5.9921415,0.5942254,0.5754746,9.3961199,6.6642707,46.1972073,10.7192757,27.8020862,70.3627924,43.6829451,46.3509322,22.0567485,5.0465841,9.7550527,8.3285849,34.9468457,5.5772994,0.6615077,0.6340318,9.697774,6.8140902,46.2835517,10.4197518,27.8133503,69.9114452,43.1948212,45.5926442,21.6689385,5.0204362,9.5937387,7.972006,34.6409676,5.3773585,0.6204699,0.6180741,9.7941643,6.9654774,46.2791922,10.7427918,28.1323393,69.413993,42.9718052,44.8903684,21.5022188,4.9399638,9.4272984,8.0653567,34.4904901,6.0688417,0.6304007,0.6273694,9.533691,6.8690352,46.1263176,10.6998661,28.2430902,69.8612313,43.0367944,44.3749235,21.7259322,4.8507003,9.4253134,8.0341644,34.7058773,6.3368056 +1452,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5532475,0.5341939,7.8530613,5.3070501,32.5407138,11.4495031,29.0273175,70.3003943,37.3034674,50.3538169,20.7691746,3.1741703,10.6976837,10.2348918,31.0299813,2.707009,0.496563,0.4938375,7.9396092,5.5085883,31.7942571,11.4989994,29.0315237,70.2943609,37.1918547,50.4615283,20.9596134,3.4326537,10.9816541,10.4404748,32.3633934,1.7241401,0.5120558,0.5147151,8.2015015,5.5938458,31.3233153,11.5557343,28.8021225,70.6454863,37.3123584,50.6735134,21.223775,3.6509309,11.0820472,9.9303729,31.2454362,2.689876,0.5416609,0.5312915,8.1324933,5.571923,30.4066448,11.7810247,28.8584694,70.7884703,37.2141706,50.5129178,20.9564548,3.6062178,10.9432138,9.7150496,31.6047137,2.419358,0.5675011,0.542084,8.3469291,5.626148,29.840532,11.7595855,28.6383391,69.9636049,37.4032704,50.460726,20.7940523,3.6753363,10.9080155,9.8518129,32.1209883,2.3364501 +1453,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.6689751,0.6981736,12.2307353,8.4564646,45.5184564,14.8610078,28.219893,61.1712278,33.1042236,39.9321776,18.0105449,3.4193251,11.4930194,10.6723726,39.8037076,7.9678784,0.7483566,0.7764252,12.8810793,9.019777,45.980448,14.193111,28.0270062,60.2867989,33.3041109,39.4909847,17.4512388,3.2736307,12.0769959,10.9840567,38.562849,10.0894678,0.7664179,0.7824237,12.9054024,8.7847944,45.2374603,14.8570123,28.2231149,60.9376759,33.590328,39.370148,18.0440276,3.5741619,12.0988073,11.4211371,37.7032832,9.3985174,0.7543604,0.7159307,12.9241499,8.449236,45.3246814,14.00051,28.1412011,60.7415101,33.2684639,38.29221,17.9838319,3.277527,12.5872512,11.3192813,37.6935648,7.5396825,0.8401261,0.800588,12.8452886,8.734758,46.3656804,13.5006605,29.2283301,60.9344339,33.3712861,38.0681467,18.1325794,3.7493471,12.4871515,10.773927,36.7963713,9.6638655 +1454,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4143672,1.460264,25.7675174,21.982037,52.663428,16.6484575,40.1970208,64.5238571,33.5586313,46.7180799,20.0900302,2.3610088,14.9276499,11.5379342,35.3934393,12.8164395,1.4329515,1.5226628,26.4436963,22.4557111,53.2545787,16.4597214,40.0132344,65.3456216,33.1629564,46.9761519,20.3032059,2.2781678,15.0619064,11.1062858,35.5164415,11.3781978,1.6686618,1.759529,25.8324036,21.7067877,53.6349499,16.055451,40.4162979,65.2879578,33.7042115,47.5941196,20.3154287,2.4652382,15.1668429,11.9252508,35.3991844,13.4740172,1.7265214,1.8174871,26.3271393,22.5305535,53.0784726,16.2163918,40.9520426,65.4456734,33.5897525,47.541482,20.6014963,2.5023489,14.5071437,11.2648149,36.1642412,12.5798434,1.647428,1.7379164,26.9355442,23.1172946,53.2915322,15.4121845,40.5288678,65.6452371,33.5389109,46.7031251,20.4104197,2.2093386,14.3471282,11.3053489,36.5671138,11.343908 +1455,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6228991,0.6935981,9.7305251,6.4998172,46.0406779,13.1761182,27.4211101,69.390871,41.0031317,45.0384274,20.6366437,4.9691943,11.0179983,9.7957333,34.6047304,9.1848923,0.6304148,0.7058636,9.7974213,6.5031283,46.416496,13.3955949,27.9011433,69.910328,40.8415618,44.4826124,19.9676893,4.9463787,11.5196005,9.7198094,34.3105127,9.2679412,0.6637554,0.7307528,9.2968999,5.941799,44.808024,13.3687633,27.1899545,70.4247151,41.1115732,44.906337,19.8006113,4.8979521,11.7219923,9.614991,34.1153121,9.0630728,0.6328377,0.7266594,8.9962091,5.565709,44.0562223,13.513692,26.7022549,70.4028518,40.7583225,44.9515668,20.3301419,4.7968297,11.2916595,9.155066,33.0827149,9.0231812,0.6383813,0.73732,8.663129,5.5837286,43.4709331,13.8745532,26.8643806,70.5313542,40.8358841,44.6642278,20.7589894,4.8764659,11.8279897,9.3446837,32.9878542,10.4355116 +1456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7483566,0.7764252,12.8810793,9.019777,45.980448,14.193111,28.0270062,60.2867989,33.3041109,39.4909847,17.4512388,3.2736307,12.0769959,10.9840567,38.562849,10.0894678,0.7664179,0.7824237,12.9054024,8.7847944,45.2374603,14.8570123,28.2231149,60.9376759,33.590328,39.370148,18.0440276,3.5741619,12.0988073,11.4211371,37.7032832,9.3985174,0.7543604,0.7159307,12.9241499,8.449236,45.3246814,14.00051,28.1412011,60.7415101,33.2684639,38.29221,17.9838319,3.277527,12.5872512,11.3192813,37.6935648,7.5396825,0.8401261,0.800588,12.8452886,8.734758,46.3656804,13.5006605,29.2283301,60.9344339,33.3712861,38.0681467,18.1325794,3.7493471,12.4871515,10.773927,36.7963713,9.6638655,0.9425519,0.8740026,13.6421752,9.4304521,47.0845225,14.0455821,30.6581056,61.41688,33.3509304,37.9482849,18.098917,3.7064608,13.2909662,11.1043701,37.3759677,11.5740848 +1457,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.9124151,2.0453421,27.3415061,21.4511872,45.9015706,11.4806983,38.9656825,65.2435659,32.841555,48.8677049,23.0152474,5.4930152,16.4252864,13.1878386,35.6149721,15.2777778,1.8339741,2.026732,27.5603884,21.8001503,44.9983013,12.1005502,38.6941398,66.0707711,33.0212554,49.0971699,23.660996,5.5074253,15.9029576,13.0422839,34.8730366,13.5983264,2.0458788,2.2007635,28.3955024,22.1907215,46.1699384,12.4988335,38.5474768,65.6773945,32.0548222,48.2652012,22.5802406,5.0257956,16.0400175,13.0965,35.4057622,15.0826446,2.0927605,2.218415,29.2423211,23.0286969,46.9479516,12.9765785,37.4833339,65.9803748,32.1320485,47.3692503,22.3936733,5.0379218,16.6467356,13.5895253,35.6327936,13.8429752,2.2597176,2.339899,29.360361,22.716365,47.8722302,13.2065551,36.6974235,65.4552833,32.0410417,47.5004435,22.5847343,4.8721584,16.9299849,12.6033265,35.0864254,14.3152101 +1458,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.4459849,0.4526931,8.6609306,5.5077555,42.4523209,19.7424899,28.6726574,68.5884983,35.5524688,45.8577018,20.6213242,4.5130514,10.5448773,8.4165642,32.2882369,2.4307652,0.5439674,0.5483998,8.6698424,5.5007467,41.5430379,19.6654822,29.4700469,68.1982341,35.354688,46.4973336,20.4709994,4.397625,10.675249,8.5707127,32.1071406,2.4969775,0.6732287,0.677574,8.4501038,5.4691131,40.8863646,20.1196924,29.3752212,68.3807076,36.1134312,46.5085447,21.0386316,4.668115,10.8899548,8.3333035,32.4548452,3.4841032,0.6920586,0.7078695,8.2839488,5.2480222,39.9789878,20.2310405,29.3466095,68.928339,36.1879079,47.2552911,21.099465,4.4230262,10.7412264,8.8083836,32.2928796,3.8501317,0.7359626,0.7628836,8.4095477,5.249521,39.1777291,19.9703916,29.5310489,68.3502774,36.3668744,46.7461615,21.0576753,4.4806832,10.499064,9.0959581,32.3245607,5.5573926 +1459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3997496,0.4260654,7.3699388,4.2320383,64.6189046,19.3948022,31.1115586,63.5972074,30.4552989,41.0377341,16.0582509,4.8605446,10.172678,8.6972937,34.1767552,3.1553413,0.368179,0.3957925,7.3038536,4.2262661,64.3700772,20.0555319,30.8639193,63.6501076,31.5550774,41.7926516,16.8250599,5.1619902,10.5325964,8.5657411,33.5862781,3.2663333,0.3893758,0.451954,7.764539,4.6495626,63.3271569,19.8602317,30.4158974,63.0027419,31.3299838,41.7047467,17.0703879,5.2330922,10.9756144,8.8954506,33.8260278,3.8071085,0.3733448,0.4578756,7.7829043,4.8729768,61.9416981,21.0105126,30.5309676,63.9729844,31.7885415,42.6874608,17.7689828,5.3796017,10.7484807,8.5801424,33.1441164,3.3505172,0.3808047,0.4695359,7.5219028,4.9415752,61.1877729,22.3684126,30.4400916,64.3765271,31.6625958,42.7628257,17.9706632,5.7457238,10.9015669,8.6175139,31.9649535,2.57143 +1460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.1549927,1.1549927,15.3556962,11.573505,59.4946489,28.4535163,31.01087,67.3048828,31.0107934,40.9647438,19.2192247,5.4365138,15.2038433,14.2189722,35.0632872,4.700915,0.9112375,0.9112375,15.7123054,11.9970805,58.2818297,27.735549,31.5994037,69.6430069,32.220609,41.2265718,18.5561888,5.8229941,15.6348106,13.7348222,35.5593582,3.8793772,0.7792006,0.7792006,14.5901355,11.2777804,56.995387,28.3825786,33.3068888,68.9189017,31.875944,41.2560613,17.7268319,5.3259193,15.4725899,12.8249043,35.7846301,3.9474377,0.5053302,0.5053302,13.4586099,10.3590512,57.0599179,28.0290473,33.305948,68.3388145,31.0031982,41.0362497,16.3653873,4.8519673,15.7097248,11.2796512,36.6556868,3.0974,0.359153,0.359153,12.293912,8.9935329,56.5990853,26.3980059,33.2496359,67.9229939,31.909332,42.1274842,16.666904,4.9413601,16.0779942,10.3874885,38.6926647,4.9550442 +1461,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1037568,1.1673415,14.1866107,10.1093715,36.6516225,20.4073734,33.1526537,67.8017916,37.7496583,46.24926,23.7420663,3.1438932,11.1902566,9.1175439,35.5397985,8.1325904,0.976024,1.0003925,14.7592138,10.6630483,36.474246,20.2701376,33.8012375,67.7108133,37.4733954,46.2421186,23.5635941,2.9589543,11.5864893,9.5494622,36.1088157,9.8214881,0.9993617,1.0231016,15.5293426,11.4350882,36.7311649,20.5641779,33.5783727,67.0518845,36.6868328,45.5904135,23.7925462,3.1709239,10.8592925,8.9782843,35.9373236,12.7219602,1.2197162,1.2429533,15.6453026,11.9926711,35.5322768,19.8903082,33.6686188,66.9472402,37.1979341,46.2251601,25.3386447,3.139084,10.8999699,9.0731372,35.4573669,13.0554878,1.2034487,1.2174557,15.8100743,12.1915993,36.6393508,19.2582285,33.4652063,66.9922847,36.3320022,45.8042779,24.2005155,2.9289504,11.2017547,9.2290534,35.4575648,12.4316933 +1462,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8857134,0.8638921,10.1743004,7.0953922,20.1830486,16.9587391,34.1921277,66.8170132,36.5667921,48.7370876,20.3276196,5.3111461,9.8556939,8.738251,26.1001838,4.9015302,0.8859893,0.8481548,10.5056791,7.4251351,19.884585,16.3706028,34.2665441,66.4717543,36.4492042,48.8858951,20.735398,5.2318788,10.3419184,8.5539687,26.3469943,4.850259,0.7922634,0.7868443,10.940644,7.7854203,20.3829454,16.6401379,34.1873525,65.9398678,36.7280982,48.7884254,20.8702444,5.1519247,9.9861934,8.3386279,26.0467662,5.8587705,0.703244,0.6981369,10.5154916,7.3097521,20.7262117,16.9217484,34.6627409,65.784572,36.7522262,48.8770496,21.3270348,5.0388245,10.4172854,8.6677581,26.4411347,4.0436992,0.7484118,0.7376291,10.4062707,7.1607283,20.3750672,16.9442721,34.88467,65.0360197,37.0505742,48.5394116,20.9314088,5.3162558,10.8027655,8.9174595,26.9016928,3.9564324 +1463,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5233679,0.5183599,8.9804258,6.0550698,52.5316434,14.0405731,31.4644832,68.0546386,35.945345,46.0874393,20.7104047,3.0273199,9.3789357,7.842728,30.9624526,6.2500022,0.4807231,0.4559314,9.3437032,6.3392312,52.0682059,14.0209927,31.5783704,68.2479324,35.9639547,46.3417479,21.0920732,3.2891849,9.2393598,7.6875367,31.0208683,5.4999963,0.5294169,0.5377187,9.2727296,6.2352977,50.9706607,14.569044,31.3966094,68.2124179,36.2836522,45.9274774,21.5790791,3.355776,9.7024418,7.8361481,31.2421169,5.4770555,0.5962623,0.5818452,9.5039574,6.2540124,50.6260955,13.9880353,31.2973002,67.8594553,36.2270225,45.7405646,21.2865067,3.621622,9.7361959,8.0496183,31.3978337,5.8333531,0.6115749,0.6036432,9.1116944,5.7805386,49.6431033,14.2004923,31.1441112,67.7997756,36.8866894,46.1496307,21.1771422,3.4873488,10.0593087,8.4360489,31.4854676,5.8719071 +1464,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9643844,1.0037441,12.8019035,8.7581002,41.5505915,14.5806905,31.8104153,69.5255502,37.5392687,46.2819243,23.8438115,3.8457742,13.1496782,12.178454,38.7407307,6.7742067,0.8897903,0.9055715,12.941896,9.0552663,42.1525596,14.7541777,32.4426922,70.4453508,38.1990412,46.8770334,24.0114829,3.7576219,12.6832576,11.7032093,40.342973,6.5625041,0.9116685,0.934697,14.1691844,9.8298558,42.9488766,14.9600088,33.1425973,70.8768117,38.1806708,46.8078855,24.4449677,3.7785577,13.3274833,12.3972894,40.6487573,7.1839122,1.0466976,1.0543281,13.881692,9.6344137,42.207609,15.1328428,32.584042,71.1947683,39.6134239,47.8558963,24.9849072,4.1004766,13.3406803,12.4125583,40.2954244,6.7251462,1.1333189,1.1522995,14.4516941,10.0630657,41.9252431,15.8220302,31.7303598,71.2615308,39.5658088,48.7062579,25.7053793,4.1704867,12.8932106,12.461985,40.6566931,6.3253012 +1465,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6304148,0.7058636,9.7974213,6.5031283,46.416496,13.3955949,27.9011433,69.910328,40.8415618,44.4826124,19.9676893,4.9463787,11.5196005,9.7198094,34.3105127,9.2679412,0.6637554,0.7307528,9.2968999,5.941799,44.808024,13.3687633,27.1899545,70.4247151,41.1115732,44.906337,19.8006113,4.8979521,11.7219923,9.614991,34.1153121,9.0630728,0.6328377,0.7266594,8.9962091,5.565709,44.0562223,13.513692,26.7022549,70.4028518,40.7583225,44.9515668,20.3301419,4.7968297,11.2916595,9.155066,33.0827149,9.0231812,0.6383813,0.73732,8.663129,5.5837286,43.4709331,13.8745532,26.8643806,70.5313542,40.8358841,44.6642278,20.7589894,4.8764659,11.8279897,9.3446837,32.9878542,10.4355116,0.6804435,0.7616785,8.8317264,5.7954656,43.6582669,14.2451276,26.250904,69.8267132,40.5085977,44.0067817,20.5258671,4.943312,11.2184659,9.1497137,32.9134497,10.7838019 +1466,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6637554,0.7307528,9.2968999,5.941799,44.808024,13.3687633,27.1899545,70.4247151,41.1115732,44.906337,19.8006113,4.8979521,11.7219923,9.614991,34.1153121,9.0630728,0.6328377,0.7266594,8.9962091,5.565709,44.0562223,13.513692,26.7022549,70.4028518,40.7583225,44.9515668,20.3301419,4.7968297,11.2916595,9.155066,33.0827149,9.0231812,0.6383813,0.73732,8.663129,5.5837286,43.4709331,13.8745532,26.8643806,70.5313542,40.8358841,44.6642278,20.7589894,4.8764659,11.8279897,9.3446837,32.9878542,10.4355116,0.6804435,0.7616785,8.8317264,5.7954656,43.6582669,14.2451276,26.250904,69.8267132,40.5085977,44.0067817,20.5258671,4.943312,11.2184659,9.1497137,32.9134497,10.7838019,0.7536477,0.7931088,8.6886567,5.7377921,43.1921029,14.4542772,26.975937,70.0311113,40.5316819,44.1636993,21.8267927,5.1907581,10.6854394,9.214446,32.1172706,10.9813084 +1467,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.976024,1.0003925,14.7592138,10.6630483,36.474246,20.2701376,33.8012375,67.7108133,37.4733954,46.2421186,23.5635941,2.9589543,11.5864893,9.5494622,36.1088157,9.8214881,0.9993617,1.0231016,15.5293426,11.4350882,36.7311649,20.5641779,33.5783727,67.0518845,36.6868328,45.5904135,23.7925462,3.1709239,10.8592925,8.9782843,35.9373236,12.7219602,1.2197162,1.2429533,15.6453026,11.9926711,35.5322768,19.8903082,33.6686188,66.9472402,37.1979341,46.2251601,25.3386447,3.139084,10.8999699,9.0731372,35.4573669,13.0554878,1.2034487,1.2174557,15.8100743,12.1915993,36.6393508,19.2582285,33.4652063,66.9922847,36.3320022,45.8042779,24.2005155,2.9289504,11.2017547,9.2290534,35.4575648,12.4316933,1.2169952,1.223529,16.9408015,12.9745096,36.8920198,18.7344631,33.5830414,67.0582977,35.5900579,45.7093439,23.249765,3.0529339,11.3495555,9.0588039,35.0472755,12.5738947 +1468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8859893,0.8481548,10.5056791,7.4251351,19.884585,16.3706028,34.2665441,66.4717543,36.4492042,48.8858951,20.735398,5.2318788,10.3419184,8.5539687,26.3469943,4.850259,0.7922634,0.7868443,10.940644,7.7854203,20.3829454,16.6401379,34.1873525,65.9398678,36.7280982,48.7884254,20.8702444,5.1519247,9.9861934,8.3386279,26.0467662,5.8587705,0.703244,0.6981369,10.5154916,7.3097521,20.7262117,16.9217484,34.6627409,65.784572,36.7522262,48.8770496,21.3270348,5.0388245,10.4172854,8.6677581,26.4411347,4.0436992,0.7484118,0.7376291,10.4062707,7.1607283,20.3750672,16.9442721,34.88467,65.0360197,37.0505742,48.5394116,20.9314088,5.3162558,10.8027655,8.9174595,26.9016928,3.9564324,0.7107772,0.6693165,10.5654202,7.3585293,20.7564438,16.4753741,34.091007,65.4343829,37.7944273,49.2332103,21.5220637,5.3111682,11.2363798,9.2772075,27.2772072,3.8458392 +1469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.9112375,0.9112375,15.7123054,11.9970805,58.2818297,27.735549,31.5994037,69.6430069,32.220609,41.2265718,18.5561888,5.8229941,15.6348106,13.7348222,35.5593582,3.8793772,0.7792006,0.7792006,14.5901355,11.2777804,56.995387,28.3825786,33.3068888,68.9189017,31.875944,41.2560613,17.7268319,5.3259193,15.4725899,12.8249043,35.7846301,3.9474377,0.5053302,0.5053302,13.4586099,10.3590512,57.0599179,28.0290473,33.305948,68.3388145,31.0031982,41.0362497,16.3653873,4.8519673,15.7097248,11.2796512,36.6556868,3.0974,0.359153,0.359153,12.293912,8.9935329,56.5990853,26.3980059,33.2496359,67.9229939,31.909332,42.1274842,16.666904,4.9413601,16.0779942,10.3874885,38.6926647,4.9550442,0.4272206,0.4272206,13.708584,10.3804885,56.896689,28.3545384,35.251296,67.6662482,32.9818968,42.7067472,17.7474082,5.2674145,17.0178424,9.6155527,38.4212004,4.4000704 +1470,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6617835,0.6045424,9.0383162,6.6654886,33.121152,13.7606312,30.8716858,68.5650455,41.83125,47.3786053,22.0759609,6.7376162,10.0090056,8.6387405,33.0911347,2.4475524,0.6869866,0.6316894,9.3310789,6.9619408,32.6918923,13.5921007,30.9095028,68.7999562,40.8709886,47.3333724,21.9888815,6.5654044,10.2725093,9.0348793,33.70637,4.8387097,0.7548534,0.7028819,9.742607,7.1364899,32.0384438,14.3155803,30.5689582,68.9617717,41.234965,48.4508062,22.4128551,6.6081642,10.1861182,9.4889911,33.7877168,3.8235294,0.8420016,0.8124073,10.4300812,7.6958705,31.216567,14.1755458,31.1837573,69.198076,41.1526455,48.5728886,21.8998181,6.7545037,10.3021065,9.2524769,34.5317873,5.1912568,0.805789,0.8115986,10.7877671,7.8831894,30.377746,13.8188447,32.1930388,69.2673603,41.2085274,48.8769456,21.7547253,6.7905145,10.6927672,9.1776618,33.3699602,6.8306011 +1471,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5439674,0.5483998,8.6698424,5.5007467,41.5430379,19.6654822,29.4700469,68.1982341,35.354688,46.4973336,20.4709994,4.397625,10.675249,8.5707127,32.1071406,2.4969775,0.6732287,0.677574,8.4501038,5.4691131,40.8863646,20.1196924,29.3752212,68.3807076,36.1134312,46.5085447,21.0386316,4.668115,10.8899548,8.3333035,32.4548452,3.4841032,0.6920586,0.7078695,8.2839488,5.2480222,39.9789878,20.2310405,29.3466095,68.928339,36.1879079,47.2552911,21.099465,4.4230262,10.7412264,8.8083836,32.2928796,3.8501317,0.7359626,0.7628836,8.4095477,5.249521,39.1777291,19.9703916,29.5310489,68.3502774,36.3668744,46.7461615,21.0576753,4.4806832,10.499064,9.0959581,32.3245607,5.5573926,0.7115001,0.738493,8.2896561,5.0613136,39.6050713,20.0433856,29.8463481,67.9756142,36.304832,46.3196305,20.7326061,4.443418,10.7358237,9.6060161,32.0848737,4.7034596 +1472,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6370394,0.6254611,8.5831345,5.4056768,42.0341416,19.3468821,30.3118093,66.70998,39.8261076,47.7413535,22.6164354,6.5660616,9.4404131,9.6572525,32.4329895,3.749999,0.5108954,0.5287708,8.0974397,5.1319115,41.7255585,19.6136308,30.4385585,67.3203309,39.750779,47.4014696,22.8265135,6.5398001,9.3073575,9.6691592,32.1627052,3.9402163,0.5023437,0.5194399,8.1247709,5.1987517,41.5729275,19.9216608,30.7414901,68.0380977,39.2843977,47.6054006,22.7163525,6.4996312,9.0210042,8.8709667,33.1883523,3.5156232,0.5101449,0.534606,8.1856478,5.0622948,41.1769959,19.6329165,31.6528303,68.1352662,38.5573058,47.7220548,22.5940375,6.4188585,9.5454518,9.3670398,34.0600939,3.6989777,0.5801485,0.6200902,8.0592656,4.9246344,40.8157924,19.6407295,32.2360362,68.2305164,38.8888895,47.8399814,22.7665496,6.782442,10.3429823,9.2744778,33.9395076,4.9492119 +1473,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7039192,1.7251355,26.4438064,21.7945221,43.6978241,18.1302877,37.3216234,65.7929067,34.4463462,46.3680046,21.7324983,4.0261542,13.5915382,10.2480239,30.009367,18.8162527,1.5738856,1.6114681,26.4225759,21.8744594,43.6570317,18.0202956,37.597057,65.7509988,33.8676141,45.7856497,21.6367754,4.2322987,13.1534739,10.0078928,30.2018066,17.0326434,1.6762784,1.7200103,27.1104563,22.4812364,43.2902149,18.6311806,37.8877536,66.0754365,35.30195,46.8127988,22.5509839,3.9810653,12.8483188,10.1120318,30.3508156,15.2481676,1.685832,1.71927,27.5733217,23.0128164,43.0510702,18.8868497,37.8193561,65.0362441,35.5561343,47.1815103,22.3632931,3.8818155,12.3852811,10.2561995,31.2683257,16.0279792,1.6183229,1.5978359,28.2608615,23.2391703,43.1524416,19.3254393,38.1875342,64.2997705,35.942751,48.3028726,22.6326594,3.7297541,11.9185693,10.0082571,31.2113948,15.8891658 +1474,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4484381,2.4647638,40.3957169,34.8502382,65.7000896,14.2292083,37.9389479,62.4534691,26.5088901,39.1789327,17.4860376,2.116531,17.1280004,11.6491955,43.0958552,25.914704,2.6716233,2.6875695,40.5638666,35.0636747,67.0135039,13.8104813,36.4720137,62.1831319,25.4787108,38.7316072,17.0666093,2.2180396,17.5054041,12.3919758,44.1578624,25.7562385,2.8085318,2.8213582,40.6916542,35.1132948,68.4535084,14.0365027,35.7145219,62.7121316,25.0635497,38.1213655,17.1530701,2.1026669,18.3416845,13.3286274,44.6526709,27.8909298,2.7666024,2.7337905,40.6887506,35.0782229,68.2457086,13.8801639,35.3517972,63.0007955,25.0969823,38.4028341,16.9384744,2.2530293,18.1575979,12.8190973,43.7871927,28.3772933,3.0261565,3.0341768,41.2520485,35.8054589,68.8866078,14.3261763,35.3592631,63.24461,25.5870898,37.6680203,17.5626643,2.3130607,18.067708,13.3584476,42.7536432,29.6882109 +1475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6555815,1.6656481,24.7172041,19.2532339,32.1187318,15.326178,37.6950404,62.9287327,35.5710863,46.2732355,22.3100622,3.1588242,13.7491002,11.0226528,39.7500391,21.9089852,1.7025574,1.7128892,25.4567804,20.0432736,32.9333656,15.5697586,37.1952514,62.5369865,35.446454,45.5897078,21.9269299,3.1513978,13.8128847,11.1997375,40.6979442,21.0413422,1.6693956,1.6962835,26.6361716,21.0631753,33.5544526,15.5193172,37.0904775,61.963455,36.0082774,46.2025589,21.7435153,2.9257258,13.5863877,11.3838992,40.096427,23.2454142,1.6172301,1.6439732,27.6704988,21.747256,33.7190248,16.2541375,38.2276996,61.7373791,35.8549529,46.8114919,21.6862323,3.0182718,12.9258139,11.1867046,39.8534165,23.1788435,1.7286679,1.7930759,29.13783,23.2657501,35.6661457,15.8998436,37.1418619,61.1086963,34.6207323,45.9588791,21.0453321,2.6415972,13.5934819,11.1130259,40.5211613,23.1855026 +1476,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9993617,1.0231016,15.5293426,11.4350882,36.7311649,20.5641779,33.5783727,67.0518845,36.6868328,45.5904135,23.7925462,3.1709239,10.8592925,8.9782843,35.9373236,12.7219602,1.2197162,1.2429533,15.6453026,11.9926711,35.5322768,19.8903082,33.6686188,66.9472402,37.1979341,46.2251601,25.3386447,3.139084,10.8999699,9.0731372,35.4573669,13.0554878,1.2034487,1.2174557,15.8100743,12.1915993,36.6393508,19.2582285,33.4652063,66.9922847,36.3320022,45.8042779,24.2005155,2.9289504,11.2017547,9.2290534,35.4575648,12.4316933,1.2169952,1.223529,16.9408015,12.9745096,36.8920198,18.7344631,33.5830414,67.0582977,35.5900579,45.7093439,23.249765,3.0529339,11.3495555,9.0588039,35.0472755,12.5738947,1.1718554,1.133893,18.1939125,14.3978459,38.281759,18.1411488,34.4719982,67.401471,34.5889364,45.396403,23.1178576,3.0237959,11.5640458,9.1061801,36.6400114,12.3571078 +1477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6716233,2.6875695,40.5638666,35.0636747,67.0135039,13.8104813,36.4720137,62.1831319,25.4787108,38.7316072,17.0666093,2.2180396,17.5054041,12.3919758,44.1578624,25.7562385,2.8085318,2.8213582,40.6916542,35.1132948,68.4535084,14.0365027,35.7145219,62.7121316,25.0635497,38.1213655,17.1530701,2.1026669,18.3416845,13.3286274,44.6526709,27.8909298,2.7666024,2.7337905,40.6887506,35.0782229,68.2457086,13.8801639,35.3517972,63.0007955,25.0969823,38.4028341,16.9384744,2.2530293,18.1575979,12.8190973,43.7871927,28.3772933,3.0261565,3.0341768,41.2520485,35.8054589,68.8866078,14.3261763,35.3592631,63.24461,25.5870898,37.6680203,17.5626643,2.3130607,18.067708,13.3584476,42.7536432,29.6882109,3.1395144,3.147406,42.1323159,36.734787,69.6590163,13.7568769,35.7013996,62.5353391,25.5908127,37.4393098,17.6491034,2.1316992,18.3520586,13.486931,43.2631319,30.3046359 +1478,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4700042,1.5139901,20.7197723,16.2007861,85.4472028,12.91888,30.7076292,63.900472,32.7498351,38.0972617,16.8274869,4.4466416,14.9841934,9.5145727,36.9150286,13.2636942,1.3836498,1.4280807,20.7788351,16.1387858,84.7462806,12.8823728,31.0787085,63.0197021,32.551753,36.5331164,16.0272779,4.5415504,15.5022806,10.8216221,37.657743,12.9348539,1.2491024,1.3071718,19.8695618,15.5348635,84.3779253,12.6062112,31.6188596,63.5141906,33.3339237,37.1553603,16.5641582,4.7956621,15.0520507,10.9438461,38.0821238,13.3578074,1.3889316,1.4472188,20.5315375,16.001452,83.9304162,12.4355733,32.6542267,63.0583957,33.6645476,37.49327,17.0524229,4.3889599,14.7116368,11.6069958,40.0225256,12.3862281,1.3407002,1.3629977,20.617754,15.8133555,83.551606,12.8028196,32.8899819,63.2595686,33.4234526,36.0457974,16.696222,4.4006604,14.8951625,12.6875855,41.2833905,14.260667 +1479,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7922634,0.7868443,10.940644,7.7854203,20.3829454,16.6401379,34.1873525,65.9398678,36.7280982,48.7884254,20.8702444,5.1519247,9.9861934,8.3386279,26.0467662,5.8587705,0.703244,0.6981369,10.5154916,7.3097521,20.7262117,16.9217484,34.6627409,65.784572,36.7522262,48.8770496,21.3270348,5.0388245,10.4172854,8.6677581,26.4411347,4.0436992,0.7484118,0.7376291,10.4062707,7.1607283,20.3750672,16.9442721,34.88467,65.0360197,37.0505742,48.5394116,20.9314088,5.3162558,10.8027655,8.9174595,26.9016928,3.9564324,0.7107772,0.6693165,10.5654202,7.3585293,20.7564438,16.4753741,34.091007,65.4343829,37.7944273,49.2332103,21.5220637,5.3111682,11.2363798,9.2772075,27.2772072,3.8458392,0.8608693,0.8118991,11.3770827,7.9290816,21.029767,16.1406939,34.9258802,65.693154,37.2489705,49.1131924,21.3325771,5.0442846,11.2754347,9.3376082,27.4002622,4.4827555 +1480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8897903,0.9055715,12.941896,9.0552663,42.1525596,14.7541777,32.4426922,70.4453508,38.1990412,46.8770334,24.0114829,3.7576219,12.6832576,11.7032093,40.342973,6.5625041,0.9116685,0.934697,14.1691844,9.8298558,42.9488766,14.9600088,33.1425973,70.8768117,38.1806708,46.8078855,24.4449677,3.7785577,13.3274833,12.3972894,40.6487573,7.1839122,1.0466976,1.0543281,13.881692,9.6344137,42.207609,15.1328428,32.584042,71.1947683,39.6134239,47.8558963,24.9849072,4.1004766,13.3406803,12.4125583,40.2954244,6.7251462,1.1333189,1.1522995,14.4516941,10.0630657,41.9252431,15.8220302,31.7303598,71.2615308,39.5658088,48.7062579,25.7053793,4.1704867,12.8932106,12.461985,40.6566931,6.3253012,1.2910256,1.3096749,14.8883386,10.398483,41.4325831,15.4768535,33.5636842,71.2283627,39.6916526,48.8993286,25.5831005,3.9607679,12.964217,12.1638879,40.4822108,8.1325301 +1481,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7905009,0.8045355,10.8172683,6.8476281,54.9594957,10.3044113,32.941488,66.7805263,41.5575771,44.232734,24.1748619,4.5107552,10.521003,10.2727183,41.1109162,5.0940439,0.7885661,0.8016182,10.7838109,6.7778634,53.8169546,10.4017594,32.8018785,66.4347746,41.9118042,44.7556061,24.1351563,4.7212053,10.5396134,10.2455789,40.2751278,4.684839,0.876676,0.8893565,10.6317551,6.6113972,52.4030215,10.5253462,32.7299281,66.8577472,42.3279621,45.149432,24.3687084,4.9021333,10.5015116,10.2312916,40.0797934,4.7491048,0.8034702,0.8177218,9.9687296,6.0274459,50.9600413,10.653137,32.2729979,66.7316439,42.589073,45.4942546,24.4989618,4.7949083,10.4323111,10.0616023,39.3293983,4.7851553,0.7612831,0.8003838,10.2637741,6.3210247,49.5713297,11.0221019,32.2023315,66.5347865,43.0266232,46.0796652,24.3893736,4.6974667,10.7242576,9.8326139,37.7153294,4.7861507 +1482,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5738856,1.6114681,26.4225759,21.8744594,43.6570317,18.0202956,37.597057,65.7509988,33.8676141,45.7856497,21.6367754,4.2322987,13.1534739,10.0078928,30.2018066,17.0326434,1.6762784,1.7200103,27.1104563,22.4812364,43.2902149,18.6311806,37.8877536,66.0754365,35.30195,46.8127988,22.5509839,3.9810653,12.8483188,10.1120318,30.3508156,15.2481676,1.685832,1.71927,27.5733217,23.0128164,43.0510702,18.8868497,37.8193561,65.0362441,35.5561343,47.1815103,22.3632931,3.8818155,12.3852811,10.2561995,31.2683257,16.0279792,1.6183229,1.5978359,28.2608615,23.2391703,43.1524416,19.3254393,38.1875342,64.2997705,35.942751,48.3028726,22.6326594,3.7297541,11.9185693,10.0082571,31.2113948,15.8891658,1.6162285,1.5957676,28.3789755,23.5995984,42.7328168,18.8690446,40.1347006,64.3037326,36.5648799,48.8992956,22.7920577,3.4773579,11.8190937,10.1955174,31.7643025,15.6029487 +1483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5506981,0.5357406,7.7039284,4.9561225,46.6992773,12.7191102,29.684561,67.6964375,33.8373636,42.4613004,17.8338916,15.1425257,9.9071622,8.8098689,35.7812996,3.0232558,0.5500197,0.548696,7.5633294,4.8719063,45.906082,13.3100185,29.2663501,67.35538,33.137598,42.5474896,17.9715827,14.7962865,9.5341448,8.786918,34.9064901,2.7429463,0.6018856,0.6135906,7.4145034,4.6757486,45.5584243,13.3907302,28.4546515,67.6499898,32.7623004,42.6570946,18.1191367,14.6929163,9.8163837,9.0048092,34.876107,3.0185759,0.5724062,0.5975951,7.3825001,4.8373076,44.7318219,13.6928556,27.8632644,67.9561675,32.8276964,43.0759189,18.1521299,14.4215384,9.948169,8.9429703,35.1825034,3.1013616,0.5511195,0.588299,7.3900881,4.9057898,44.7077933,14.0066265,27.7645288,68.1237724,33.1672743,43.1448227,18.1939393,14.559358,9.9415998,8.8038928,34.9537655,3.1960241 +1484,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5942254,0.5754746,9.3961199,6.6642707,46.1972073,10.7192757,27.8020862,70.3627924,43.6829451,46.3509322,22.0567485,5.0465841,9.7550527,8.3285849,34.9468457,5.5772994,0.6615077,0.6340318,9.697774,6.8140902,46.2835517,10.4197518,27.8133503,69.9114452,43.1948212,45.5926442,21.6689385,5.0204362,9.5937387,7.972006,34.6409676,5.3773585,0.6204699,0.6180741,9.7941643,6.9654774,46.2791922,10.7427918,28.1323393,69.413993,42.9718052,44.8903684,21.5022188,4.9399638,9.4272984,8.0653567,34.4904901,6.0688417,0.6304007,0.6273694,9.533691,6.8690352,46.1263176,10.6998661,28.2430902,69.8612313,43.0367944,44.3749235,21.7259322,4.8507003,9.4253134,8.0341644,34.7058773,6.3368056,0.6385266,0.6394396,9.9589365,7.1204304,46.6541385,10.7437546,28.6626054,69.7506551,42.5137178,43.3249872,21.7907428,4.8258174,9.4645795,8.1320999,34.6448146,6.8881708 +1485,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7664179,0.7824237,12.9054024,8.7847944,45.2374603,14.8570123,28.2231149,60.9376759,33.590328,39.370148,18.0440276,3.5741619,12.0988073,11.4211371,37.7032832,9.3985174,0.7543604,0.7159307,12.9241499,8.449236,45.3246814,14.00051,28.1412011,60.7415101,33.2684639,38.29221,17.9838319,3.277527,12.5872512,11.3192813,37.6935648,7.5396825,0.8401261,0.800588,12.8452886,8.734758,46.3656804,13.5006605,29.2283301,60.9344339,33.3712861,38.0681467,18.1325794,3.7493471,12.4871515,10.773927,36.7963713,9.6638655,0.9425519,0.8740026,13.6421752,9.4304521,47.0845225,14.0455821,30.6581056,61.41688,33.3509304,37.9482849,18.098917,3.7064608,13.2909662,11.1043701,37.3759677,11.5740848,0.9695318,0.9552374,14.3054345,9.6868583,48.3145595,13.0154435,30.7617885,60.5355481,32.9805182,37.0731843,17.6493102,3.8796116,13.5939872,10.7423337,37.9128897,14.830521 +1486,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6869866,0.6316894,9.3310789,6.9619408,32.6918923,13.5921007,30.9095028,68.7999562,40.8709886,47.3333724,21.9888815,6.5654044,10.2725093,9.0348793,33.70637,4.8387097,0.7548534,0.7028819,9.742607,7.1364899,32.0384438,14.3155803,30.5689582,68.9617717,41.234965,48.4508062,22.4128551,6.6081642,10.1861182,9.4889911,33.7877168,3.8235294,0.8420016,0.8124073,10.4300812,7.6958705,31.216567,14.1755458,31.1837573,69.198076,41.1526455,48.5728886,21.8998181,6.7545037,10.3021065,9.2524769,34.5317873,5.1912568,0.805789,0.8115986,10.7877671,7.8831894,30.377746,13.8188447,32.1930388,69.2673603,41.2085274,48.8769456,21.7547253,6.7905145,10.6927672,9.1776618,33.3699602,6.8306011,0.8128677,0.852824,10.5397423,7.6463003,31.0239684,14.0298694,32.1566687,69.9310865,40.5015471,47.8579317,21.2482905,6.863494,11.4578002,9.2107376,34.324103,6.7164179 +1487,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4331162,0.4331162,8.0928754,5.2085645,62.1907271,14.5090575,26.7904036,67.0019233,31.3949192,44.7986613,13.9324355,5.4740739,12.4039445,10.3919074,29.7192356,4.4271341,0.4310578,0.4462232,8.0186522,5.3080816,62.3645389,14.6275342,26.8891052,67.2474895,31.7100946,45.1627482,13.8598968,5.7166065,11.785984,9.6848603,29.6112911,3.640835,0.4596525,0.5034356,7.5403593,4.9284003,61.9342981,14.7604071,26.7240331,66.8808464,31.7084253,44.5296633,14.1535331,5.4388303,11.308446,9.0087596,29.0231462,3.6232462,0.3794374,0.4209888,7.308769,4.8969853,61.3123558,14.4762689,26.9413159,66.9592083,31.6125419,43.9897779,14.7127716,5.2215922,11.2130504,9.3787295,28.9066926,3.2178744,0.4060205,0.4192132,7.2912638,5.1277168,60.9543016,14.5155761,27.0726055,66.0278014,31.5019054,43.909604,14.2105459,4.8125419,11.6753244,9.8394002,30.4209583,3.7281241 +1488,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.601539,0.601539,6.8112401,4.9175321,46.1655508,23.1766124,31.4277072,71.0526316,36.3278887,46.4912281,18.723533,6.2008469,8.0994898,6.9693095,31.7715019,2.2321429,0.4593607,0.4776256,6.7791593,4.5885139,45.3004164,22.8445748,31.0029499,70.7669617,36.8436578,46.0471976,18.3775811,5.8112094,8.046683,6.7118227,31.4975248,2.2321429,0.418018,0.4900901,7.1262362,4.5084351,45.8259847,23.4564339,31.0936591,69.895288,36.2129145,44.938918,18.4700407,5.6719023,9.6407186,7.3741007,33.1927711,1.3392857,0.4881208,0.5417113,7.2701149,4.7413793,45.4782609,23.4943182,30.1146132,69.4269341,35.4441261,44.269341,18.1375358,5.1862464,10.7101947,7.1674312,33.2756632,1.2,0.4194631,0.4710893,7.2139303,4.8369265,45.8146067,23.7925357,30.1714602,69.0542035,36.034292,44.7732301,18.7776549,5.1161504,10.3165939,7.0414847,33.6083608,2.5362319 +1489,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.7543604,0.7159307,12.9241499,8.449236,45.3246814,14.00051,28.1412011,60.7415101,33.2684639,38.29221,17.9838319,3.277527,12.5872512,11.3192813,37.6935648,7.5396825,0.8401261,0.800588,12.8452886,8.734758,46.3656804,13.5006605,29.2283301,60.9344339,33.3712861,38.0681467,18.1325794,3.7493471,12.4871515,10.773927,36.7963713,9.6638655,0.9425519,0.8740026,13.6421752,9.4304521,47.0845225,14.0455821,30.6581056,61.41688,33.3509304,37.9482849,18.098917,3.7064608,13.2909662,11.1043701,37.3759677,11.5740848,0.9695318,0.9552374,14.3054345,9.6868583,48.3145595,13.0154435,30.7617885,60.5355481,32.9805182,37.0731843,17.6493102,3.8796116,13.5939872,10.7423337,37.9128897,14.830521,1.0515317,1.0373883,14.661387,9.8435946,49.6160457,12.7744885,30.9662267,59.8984303,33.3030489,37.8007105,16.8662458,4.016363,13.8195506,10.931145,36.9688125,14.4736969 +1490,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8085318,2.8213582,40.6916542,35.1132948,68.4535084,14.0365027,35.7145219,62.7121316,25.0635497,38.1213655,17.1530701,2.1026669,18.3416845,13.3286274,44.6526709,27.8909298,2.7666024,2.7337905,40.6887506,35.0782229,68.2457086,13.8801639,35.3517972,63.0007955,25.0969823,38.4028341,16.9384744,2.2530293,18.1575979,12.8190973,43.7871927,28.3772933,3.0261565,3.0341768,41.2520485,35.8054589,68.8866078,14.3261763,35.3592631,63.24461,25.5870898,37.6680203,17.5626643,2.3130607,18.067708,13.3584476,42.7536432,29.6882109,3.1395144,3.147406,42.1323159,36.734787,69.6590163,13.7568769,35.7013996,62.5353391,25.5908127,37.4393098,17.6491034,2.1316992,18.3520586,13.486931,43.2631319,30.3046359,2.9494733,2.9922837,41.8436136,36.7286019,70.4278192,13.498893,35.8673771,61.8932162,24.9103127,37.6442042,17.7333893,2.0175547,18.4170908,14.0934632,42.4208559,29.237035 +1491,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5169653,0.5112083,9.4881437,6.4533904,77.5672908,10.5543185,29.2715347,68.8424319,29.7523042,44.3232643,14.8483657,3.7536721,12.189235,12.1201748,33.8564138,2.3026255,0.4509225,0.445089,9.2036686,6.2406857,76.0127398,11.0308352,29.1885174,68.8668742,29.9739007,43.3246435,15.1270989,4.0201659,12.8392724,12.552105,33.9536969,2.9411688,0.4324986,0.461604,9.4015137,6.1506652,75.7076172,10.7024335,29.3624788,68.4004727,30.1454482,43.7546842,14.7836864,3.9708869,12.334132,12.1857013,32.6409647,2.8845876,0.4825693,0.5123395,9.8332662,6.5744395,75.4359822,10.9954791,29.2939886,68.6451237,29.9045256,43.0725778,14.713635,4.2556903,12.4463113,12.4461535,32.4315253,3.0828903,0.4140948,0.420256,9.7766463,6.4459074,75.2300982,11.7267505,29.2408911,68.8613267,29.7943425,43.2385124,14.689498,4.4088217,11.7800829,12.4722476,31.9600332,3.9014174 +1492,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.775513,0.7581345,10.3296808,6.9340052,47.9138091,20.0955572,35.565382,67.8696413,36.6411491,47.5166277,22.3206233,4.1690399,14.6900868,12.9230202,38.3192781,4.7793207,0.7978499,0.7692423,10.0824805,7.0049636,46.1254322,19.6157897,35.0258749,67.5716934,37.2586112,47.2329309,22.3784656,4.1503082,14.3735046,12.7553546,37.6127751,6.5890493,0.7851863,0.7742628,10.2580321,6.971762,44.4027505,20.0052445,34.8666456,67.9878828,38.0846759,47.5043138,23.2623532,3.9447758,13.9838735,11.6701423,36.3524924,6.2499792,0.9335768,0.9225263,10.6189483,7.1031084,42.6751805,20.352936,35.1047446,69.1967339,38.5775016,47.3066573,23.5929936,4.1463382,13.9925409,11.5586093,36.9085581,7.7235584,0.9525568,0.9641639,10.871075,7.3723895,41.0575662,20.8317992,34.6921034,69.7627455,38.6482814,47.6199137,23.6621708,3.7466615,13.5075932,11.1997058,36.4625662,7.0247702 +1493,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8487084,0.7511635,10.4218694,7.1718647,28.291771,22.0315642,35.3099938,71.0811348,42.2734204,53.1796994,23.7043581,3.4817117,12.5081915,10.6139935,32.1593231,4.3103473,0.8027625,0.6988758,10.5485794,7.319738,28.0721242,21.8444222,35.0638747,69.952133,42.316262,52.7316632,24.4249786,3.5303424,11.793713,9.697571,32.7917844,3.0386757,0.7990583,0.7505106,10.9182916,7.4477746,27.6748131,21.7993218,34.9795867,69.4105321,41.658799,52.6654554,24.0985275,3.4650277,11.6688187,9.7631219,33.9470193,4.1436487,0.8604921,0.8135841,11.2615195,7.6316495,27.5899,21.6612138,35.1643054,68.7310387,41.7376432,52.6932842,24.4522764,3.5757707,11.8316048,10.1783547,33.5709752,5.4597701,0.8460694,0.8277895,11.296403,7.5551078,27.3288829,21.9365375,35.1483671,68.7685629,41.2017828,52.9228518,24.851621,3.8130576,12.1492622,10.6160331,34.6084168,5.3370787 +1494,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.7792006,0.7792006,14.5901355,11.2777804,56.995387,28.3825786,33.3068888,68.9189017,31.875944,41.2560613,17.7268319,5.3259193,15.4725899,12.8249043,35.7846301,3.9474377,0.5053302,0.5053302,13.4586099,10.3590512,57.0599179,28.0290473,33.305948,68.3388145,31.0031982,41.0362497,16.3653873,4.8519673,15.7097248,11.2796512,36.6556868,3.0974,0.359153,0.359153,12.293912,8.9935329,56.5990853,26.3980059,33.2496359,67.9229939,31.909332,42.1274842,16.666904,4.9413601,16.0779942,10.3874885,38.6926647,4.9550442,0.4272206,0.4272206,13.708584,10.3804885,56.896689,28.3545384,35.251296,67.6662482,32.9818968,42.7067472,17.7474082,5.2674145,17.0178424,9.6155527,38.4212004,4.4000704,0.534575,0.534575,13.0896118,10.0001382,57.3008269,29.1664999,34.2454247,66.086172,34.7425295,42.5373326,16.0035423,5.3897111,18.7039808,9.4445844,41.0112886,5.158812 +1495,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9652946,1.9652946,36.7824773,31.9486405,66.3249211,7.0241692,32.6952527,61.0260337,26.5696784,39.5865237,13.5528331,6.5084227,17.5806452,12.3794212,37.9032258,19.8113208,1.9311398,1.9311398,35.947205,31.2888199,66.5322581,7.6625387,30.533752,61.9309262,25.9811617,37.755102,13.1083203,6.6718995,16.8300654,11.5635179,37.2131148,20.0617284,1.9582899,1.9582899,34.9612403,30.3100775,65.5645161,7.4845679,30.3767661,60.8320251,26.2951334,37.755102,14.3642072,6.8288854,14.6302251,11.0576923,36.2903226,18.0981595,2.0004518,2.0004518,34.0909091,30.1724138,65.1294498,7.7932099,32.4175824,61.1459969,27.2370487,37.1271586,15.1491366,7.4568289,16.2295082,11.6013072,36.0197368,19.0909091,1.8720509,1.8720509,34.070122,30.2591463,65.3426791,7.7095808,33.3080425,62.5948407,27.5417299,37.8603945,15.2503794,6.6009105,16.4576803,11.09375,36.6352201,18.4848485 +1496,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4593607,0.4776256,6.7791593,4.5885139,45.3004164,22.8445748,31.0029499,70.7669617,36.8436578,46.0471976,18.3775811,5.8112094,8.046683,6.7118227,31.4975248,2.2321429,0.418018,0.4900901,7.1262362,4.5084351,45.8259847,23.4564339,31.0936591,69.895288,36.2129145,44.938918,18.4700407,5.6719023,9.6407186,7.3741007,33.1927711,1.3392857,0.4881208,0.5417113,7.2701149,4.7413793,45.4782609,23.4943182,30.1146132,69.4269341,35.4441261,44.269341,18.1375358,5.1862464,10.7101947,7.1674312,33.2756632,1.2,0.4194631,0.4710893,7.2139303,4.8369265,45.8146067,23.7925357,30.1714602,69.0542035,36.034292,44.7732301,18.7776549,5.1161504,10.3165939,7.0414847,33.6083608,2.5362319,0.4322638,0.4808783,7.0015617,4.6069755,45.782815,24.1103662,29.0818988,70.0312989,36.4893062,44.5748565,18.7532603,5.5555556,10.1987448,7.165272,34.0549102,2.3972603 +1497,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0054457,1.9979465,34.5050064,29.9525331,42.822093,17.3599722,35.522007,66.5643865,34.226499,45.3240274,19.6138988,2.5773079,16.6595045,12.0228322,33.4770127,16.0591231,2.3256776,2.3294655,35.8961072,30.807471,43.4907106,17.7621526,34.97246,66.8287805,34.0310254,45.67295,19.8176038,3.0329671,15.7145241,12.0181287,33.7267517,17.3698415,2.3998358,2.4597847,36.6170908,30.8753705,44.7387532,18.6858714,35.2540193,66.282398,33.356889,45.1533481,19.9287719,3.5387738,14.9814709,11.7072883,33.6795965,17.5744701,2.569231,2.6568766,37.1951118,31.5917032,45.3758928,18.8526803,35.4725642,66.0023582,32.9107504,45.3705314,19.9153355,3.475947,16.1102514,12.8129378,33.3482064,17.4924911,2.7019199,2.8053379,36.8028358,31.0009085,45.8508991,19.2201412,34.5884995,65.124481,33.3757607,45.8342162,20.1752333,3.347506,14.7382962,12.6992398,33.4762531,20.1114622 +1498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9059616,1.9529085,24.1080542,20.0110638,48.454671,15.5743686,42.6066867,64.0813038,37.2801319,48.9932229,24.966385,3.8668192,13.0795505,11.1696982,32.4075767,19.3875177,1.945223,1.9689482,24.1721115,19.6487833,49.1836813,15.1369744,42.1634848,64.3215193,37.0433164,47.8956799,24.758522,3.9566788,13.1132561,11.4613312,33.0509766,22.0276948,1.8012481,1.8246066,25.1867561,20.7374229,50.0005535,15.1571997,41.0829405,64.8168685,35.8630629,48.0282983,23.7720959,4.1421914,11.850168,11.5795153,33.4104334,20.7480453,1.6911159,1.7327321,25.0610448,20.3043741,49.7913586,15.0226601,41.5046077,65.1912567,36.3755658,47.6472288,24.1882217,3.5648107,11.377552,12.2038691,32.242735,22.7608883,1.7615388,1.7733792,24.9084011,20.0764684,50.2204423,15.3423816,41.4521347,65.2179532,37.2560004,47.8816536,24.1129768,4.0887121,10.8761347,11.1978255,31.2210462,24.6425403 +1499,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6773613,0.6761588,8.659603,5.8260747,58.9033679,8.5871398,25.0981738,66.952597,32.5739693,40.7535156,16.8894297,6.3814259,10.5110909,8.9362965,36.579179,5.0604985,0.7400256,0.7346208,8.8178921,5.9839446,58.476694,8.7665268,25.229896,66.635849,32.5240629,40.8057523,17.1857457,6.6357723,10.5295757,8.9068148,36.7090939,5.0658453,0.7535287,0.7615418,9.0940193,6.1440028,58.1161189,8.716962,24.9309354,66.554005,32.3584993,40.4006357,17.1701639,6.7386789,10.5471775,8.8763138,36.7518499,5.5912547,0.774521,0.7851342,9.123328,6.0953594,57.6698733,8.739451,25.2624061,66.7333968,32.7575446,40.388641,17.3611621,6.7460703,10.3586399,8.6202591,36.543645,6.0128666,0.8032501,0.816877,9.3718242,6.2873216,57.4992504,8.7613661,25.6789483,66.4568339,33.2480735,40.2151868,17.4843757,6.8282838,10.6326272,8.9289707,36.514587,6.1445783 +1500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5654653,0.5556548,8.4117973,5.3561916,26.0760632,17.2838218,35.8640178,69.476849,40.5486729,50.8658533,23.8516365,4.2927433,10.7655545,10.6222467,31.5993803,4.898642,0.5682497,0.575262,8.3776607,5.3634749,25.5790232,17.1061859,35.6986794,70.3680027,40.2896748,50.5101181,23.1280901,4.3268345,10.8213135,10.6733336,31.4800868,5.4999927,0.6263052,0.6377226,8.2927361,5.2246949,25.2171573,17.0474649,35.9114757,70.4797799,40.061153,50.9355057,23.0547964,4.2701016,11.1839636,10.7464365,31.4075876,3.6082449,0.6708638,0.6822094,8.4546348,5.1482543,25.1596689,17.0751001,35.0782176,70.1655612,40.2116081,51.122321,23.0818415,4.2226344,10.7843176,10.6718637,31.1569955,4.4642825,0.6966906,0.6797069,8.5547677,5.5565603,24.7564692,16.9139641,34.3446585,70.1649648,40.6141385,51.1915314,22.8322245,4.2071541,10.4739508,10.2615294,31.2613929,4.4963996 +1501,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7025574,1.7128892,25.4567804,20.0432736,32.9333656,15.5697586,37.1952514,62.5369865,35.446454,45.5897078,21.9269299,3.1513978,13.8128847,11.1997375,40.6979442,21.0413422,1.6693956,1.6962835,26.6361716,21.0631753,33.5544526,15.5193172,37.0904775,61.963455,36.0082774,46.2025589,21.7435153,2.9257258,13.5863877,11.3838992,40.096427,23.2454142,1.6172301,1.6439732,27.6704988,21.747256,33.7190248,16.2541375,38.2276996,61.7373791,35.8549529,46.8114919,21.6862323,3.0182718,12.9258139,11.1867046,39.8534165,23.1788435,1.7286679,1.7930759,29.13783,23.2657501,35.6661457,15.8998436,37.1418619,61.1086963,34.6207323,45.9588791,21.0453321,2.6415972,13.5934819,11.1130259,40.5211613,23.1855026,1.8108739,1.8752404,30.0082642,24.4930283,37.6478234,15.4592095,37.4438145,60.3588245,34.1981478,45.1519229,21.6070806,2.7030615,13.5036091,11.2654166,40.4799415,21.5356128 +1502,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.5682497,0.575262,8.3776607,5.3634749,25.5790232,17.1061859,35.6986794,70.3680027,40.2896748,50.5101181,23.1280901,4.3268345,10.8213135,10.6733336,31.4800868,5.4999927,0.6263052,0.6377226,8.2927361,5.2246949,25.2171573,17.0474649,35.9114757,70.4797799,40.061153,50.9355057,23.0547964,4.2701016,11.1839636,10.7464365,31.4075876,3.6082449,0.6708638,0.6822094,8.4546348,5.1482543,25.1596689,17.0751001,35.0782176,70.1655612,40.2116081,51.122321,23.0818415,4.2226344,10.7843176,10.6718637,31.1569955,4.4642825,0.6966906,0.6797069,8.5547677,5.5565603,24.7564692,16.9139641,34.3446585,70.1649648,40.6141385,51.1915314,22.8322245,4.2071541,10.4739508,10.2615294,31.2613929,4.4963996,0.7008715,0.6817154,8.8235383,5.7145447,24.4771438,16.3929402,33.67386,69.6709195,40.0922328,50.2169236,22.4642535,4.2578238,10.534755,10.5762304,31.1354742,5.2158198 +1503,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3755286,0.3869107,7.3736403,4.4625706,50.4457165,19.0942985,27.841086,66.2709664,34.2355168,41.6429173,18.5976608,7.5498602,9.7353534,7.3055056,35.7504759,1.3513518,0.2614327,0.2916267,7.2644208,4.5225353,49.7958558,19.261412,27.4047454,66.6302248,34.7439105,41.3959923,18.6602145,7.9169291,9.3827965,7.8437529,35.6606145,2.5297619,0.2718397,0.2893136,7.5396825,4.7142845,49.1945701,19.5411129,27.4198595,66.8604589,35.0879956,41.4361941,18.6517921,7.8409835,8.7957175,7.548962,35.4522529,3.4743223,0.2856107,0.2988983,7.0106638,4.3757823,48.0269318,19.7025476,26.8677725,66.7239763,34.4013757,42.3726096,18.8340097,7.3616776,8.8564308,7.5653774,35.5451704,4.5741354,0.2985928,0.3117867,7.024401,4.4274041,47.7777772,19.8623914,26.2838488,67.1490872,34.375974,42.9660731,18.8764391,7.6097129,9.3272144,7.4969367,36.5113439,5.2215239 +1504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4807231,0.4559314,9.3437032,6.3392312,52.0682059,14.0209927,31.5783704,68.2479324,35.9639547,46.3417479,21.0920732,3.2891849,9.2393598,7.6875367,31.0208683,5.4999963,0.5294169,0.5377187,9.2727296,6.2352977,50.9706607,14.569044,31.3966094,68.2124179,36.2836522,45.9274774,21.5790791,3.355776,9.7024418,7.8361481,31.2421169,5.4770555,0.5962623,0.5818452,9.5039574,6.2540124,50.6260955,13.9880353,31.2973002,67.8594553,36.2270225,45.7405646,21.2865067,3.621622,9.7361959,8.0496183,31.3978337,5.8333531,0.6115749,0.6036432,9.1116944,5.7805386,49.6431033,14.2004923,31.1441112,67.7997756,36.8866894,46.1496307,21.1771422,3.4873488,10.0593087,8.4360489,31.4854676,5.8719071,0.585724,0.577488,9.2358116,6.0479298,49.1554812,14.239098,31.0143879,68.3230541,36.8403095,45.9790008,21.7386531,3.7582819,10.1052234,8.5645134,31.4962563,7.0881446 +1505,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3256776,2.3294655,35.8961072,30.807471,43.4907106,17.7621526,34.97246,66.8287805,34.0310254,45.67295,19.8176038,3.0329671,15.7145241,12.0181287,33.7267517,17.3698415,2.3998358,2.4597847,36.6170908,30.8753705,44.7387532,18.6858714,35.2540193,66.282398,33.356889,45.1533481,19.9287719,3.5387738,14.9814709,11.7072883,33.6795965,17.5744701,2.569231,2.6568766,37.1951118,31.5917032,45.3758928,18.8526803,35.4725642,66.0023582,32.9107504,45.3705314,19.9153355,3.475947,16.1102514,12.8129378,33.3482064,17.4924911,2.7019199,2.8053379,36.8028358,31.0009085,45.8508991,19.2201412,34.5884995,65.124481,33.3757607,45.8342162,20.1752333,3.347506,14.7382962,12.6992398,33.4762531,20.1114622,2.7428176,2.847326,37.0492938,31.3028678,46.4594159,19.4992119,34.836491,65.5057757,33.5450483,45.7178307,20.2406959,3.7066568,15.0425945,11.914096,33.3498948,20.1088397 +1506,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4310578,0.4462232,8.0186522,5.3080816,62.3645389,14.6275342,26.8891052,67.2474895,31.7100946,45.1627482,13.8598968,5.7166065,11.785984,9.6848603,29.6112911,3.640835,0.4596525,0.5034356,7.5403593,4.9284003,61.9342981,14.7604071,26.7240331,66.8808464,31.7084253,44.5296633,14.1535331,5.4388303,11.308446,9.0087596,29.0231462,3.6232462,0.3794374,0.4209888,7.308769,4.8969853,61.3123558,14.4762689,26.9413159,66.9592083,31.6125419,43.9897779,14.7127716,5.2215922,11.2130504,9.3787295,28.9066926,3.2178744,0.4060205,0.4192132,7.2912638,5.1277168,60.9543016,14.5155761,27.0726055,66.0278014,31.5019054,43.909604,14.2105459,4.8125419,11.6753244,9.8394002,30.4209583,3.7281241,0.4275712,0.4402552,7.2792314,5.1532712,60.063869,14.3836562,26.7364937,66.4804501,32.1573919,43.8435604,14.042438,4.6172102,11.8293659,9.3080055,30.6634333,5.0661529 +1507,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.703244,0.6981369,10.5154916,7.3097521,20.7262117,16.9217484,34.6627409,65.784572,36.7522262,48.8770496,21.3270348,5.0388245,10.4172854,8.6677581,26.4411347,4.0436992,0.7484118,0.7376291,10.4062707,7.1607283,20.3750672,16.9442721,34.88467,65.0360197,37.0505742,48.5394116,20.9314088,5.3162558,10.8027655,8.9174595,26.9016928,3.9564324,0.7107772,0.6693165,10.5654202,7.3585293,20.7564438,16.4753741,34.091007,65.4343829,37.7944273,49.2332103,21.5220637,5.3111682,11.2363798,9.2772075,27.2772072,3.8458392,0.8608693,0.8118991,11.3770827,7.9290816,21.029767,16.1406939,34.9258802,65.693154,37.2489705,49.1131924,21.3325771,5.0442846,11.2754347,9.3376082,27.4002622,4.4827555,0.8322521,0.7897919,12.5429391,8.4972427,22.3254246,16.5625961,34.6537849,65.3624566,37.0820342,48.7098787,21.548804,4.5551195,11.7593742,9.6411923,27.5694029,3.6666642 +1508,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7885661,0.8016182,10.7838109,6.7778634,53.8169546,10.4017594,32.8018785,66.4347746,41.9118042,44.7556061,24.1351563,4.7212053,10.5396134,10.2455789,40.2751278,4.684839,0.876676,0.8893565,10.6317551,6.6113972,52.4030215,10.5253462,32.7299281,66.8577472,42.3279621,45.149432,24.3687084,4.9021333,10.5015116,10.2312916,40.0797934,4.7491048,0.8034702,0.8177218,9.9687296,6.0274459,50.9600413,10.653137,32.2729979,66.7316439,42.589073,45.4942546,24.4989618,4.7949083,10.4323111,10.0616023,39.3293983,4.7851553,0.7612831,0.8003838,10.2637741,6.3210247,49.5713297,11.0221019,32.2023315,66.5347865,43.0266232,46.0796652,24.3893736,4.6974667,10.7242576,9.8326139,37.7153294,4.7861507,0.7852682,0.8286503,10.4225026,6.5482798,49.5577688,11.1012757,32.151771,66.8076672,42.8620792,45.9142711,24.3687311,4.8210227,10.3002323,9.2309609,37.5491272,5.2480866 +1509,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6615077,0.6340318,9.697774,6.8140902,46.2835517,10.4197518,27.8133503,69.9114452,43.1948212,45.5926442,21.6689385,5.0204362,9.5937387,7.972006,34.6409676,5.3773585,0.6204699,0.6180741,9.7941643,6.9654774,46.2791922,10.7427918,28.1323393,69.413993,42.9718052,44.8903684,21.5022188,4.9399638,9.4272984,8.0653567,34.4904901,6.0688417,0.6304007,0.6273694,9.533691,6.8690352,46.1263176,10.6998661,28.2430902,69.8612313,43.0367944,44.3749235,21.7259322,4.8507003,9.4253134,8.0341644,34.7058773,6.3368056,0.6385266,0.6394396,9.9589365,7.1204304,46.6541385,10.7437546,28.6626054,69.7506551,42.5137178,43.3249872,21.7907428,4.8258174,9.4645795,8.1320999,34.6448146,6.8881708,0.6485514,0.6467994,9.7599201,6.8603619,46.6086815,10.618614,28.7904832,69.6014212,42.0686866,42.8842173,21.6689625,4.9908097,9.3486655,7.8420191,35.0241485,6.4589685 +1510,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.8339741,2.026732,27.5603884,21.8001503,44.9983013,12.1005502,38.6941398,66.0707711,33.0212554,49.0971699,23.660996,5.5074253,15.9029576,13.0422839,34.8730366,13.5983264,2.0458788,2.2007635,28.3955024,22.1907215,46.1699384,12.4988335,38.5474768,65.6773945,32.0548222,48.2652012,22.5802406,5.0257956,16.0400175,13.0965,35.4057622,15.0826446,2.0927605,2.218415,29.2423211,23.0286969,46.9479516,12.9765785,37.4833339,65.9803748,32.1320485,47.3692503,22.3936733,5.0379218,16.6467356,13.5895253,35.6327936,13.8429752,2.2597176,2.339899,29.360361,22.716365,47.8722302,13.2065551,36.6974235,65.4552833,32.0410417,47.5004435,22.5847343,4.8721584,16.9299849,12.6033265,35.0864254,14.3152101,2.3770887,2.4095417,29.2337159,22.9090731,47.7089712,13.4543818,37.4768016,64.8408876,32.0344228,47.5227768,23.6733148,5.3184563,15.8287891,11.8836773,34.6388659,14.4350015 +1511,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4596525,0.5034356,7.5403593,4.9284003,61.9342981,14.7604071,26.7240331,66.8808464,31.7084253,44.5296633,14.1535331,5.4388303,11.308446,9.0087596,29.0231462,3.6232462,0.3794374,0.4209888,7.308769,4.8969853,61.3123558,14.4762689,26.9413159,66.9592083,31.6125419,43.9897779,14.7127716,5.2215922,11.2130504,9.3787295,28.9066926,3.2178744,0.4060205,0.4192132,7.2912638,5.1277168,60.9543016,14.5155761,27.0726055,66.0278014,31.5019054,43.909604,14.2105459,4.8125419,11.6753244,9.8394002,30.4209583,3.7281241,0.4275712,0.4402552,7.2792314,5.1532712,60.063869,14.3836562,26.7364937,66.4804501,32.1573919,43.8435604,14.042438,4.6172102,11.8293659,9.3080055,30.6634333,5.0661529,0.451164,0.4598749,7.3722791,5.299186,58.8730105,14.0179728,26.5958835,67.3075883,32.6660405,43.8905113,14.4818387,4.5133154,11.2165529,9.0559977,31.2240988,5.7204456 +1512,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6693956,1.6962835,26.6361716,21.0631753,33.5544526,15.5193172,37.0904775,61.963455,36.0082774,46.2025589,21.7435153,2.9257258,13.5863877,11.3838992,40.096427,23.2454142,1.6172301,1.6439732,27.6704988,21.747256,33.7190248,16.2541375,38.2276996,61.7373791,35.8549529,46.8114919,21.6862323,3.0182718,12.9258139,11.1867046,39.8534165,23.1788435,1.7286679,1.7930759,29.13783,23.2657501,35.6661457,15.8998436,37.1418619,61.1086963,34.6207323,45.9588791,21.0453321,2.6415972,13.5934819,11.1130259,40.5211613,23.1855026,1.8108739,1.8752404,30.0082642,24.4930283,37.6478234,15.4592095,37.4438145,60.3588245,34.1981478,45.1519229,21.6070806,2.7030615,13.5036091,11.2654166,40.4799415,21.5356128,1.7652799,1.8216005,30.2704257,24.8893682,39.3091219,15.4011101,37.0731007,61.4963831,35.0474613,45.6212515,22.6613486,2.9482411,13.9973437,11.2243775,40.0148362,23.4767446 +1513,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1250484,1.1541432,14.6958837,10.5605778,32.9767816,16.0595425,35.2980808,68.6911617,39.3769558,49.3724847,23.0166013,3.877185,11.919641,10.7015951,30.4328094,9.2741204,1.088729,1.1164745,15.4746446,11.2831525,33.5879487,16.0805172,35.7879038,67.9476037,38.9652229,49.3988896,23.3362191,3.6711065,11.437079,10.2118757,31.7480645,12.8675925,1.2579992,1.2969041,15.8286198,11.7256483,33.2426438,16.3687074,35.1005677,68.4359118,38.799644,49.1651835,23.7625126,3.8819977,11.1678557,9.62701,32.1980513,15.9258754,1.397761,1.416788,16.4962176,12.395891,33.4183547,16.356658,34.8374091,68.0455035,38.9930847,48.2656184,23.0665866,3.789909,11.2589051,10.1592521,33.5491806,16.442908,1.2862234,1.2807192,16.2656275,12.5268047,32.8166943,15.777344,34.2905434,67.99425,39.6161238,47.5477133,22.8178725,3.985084,11.5350974,9.7929383,33.8459838,16.871125 +1514,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.418018,0.4900901,7.1262362,4.5084351,45.8259847,23.4564339,31.0936591,69.895288,36.2129145,44.938918,18.4700407,5.6719023,9.6407186,7.3741007,33.1927711,1.3392857,0.4881208,0.5417113,7.2701149,4.7413793,45.4782609,23.4943182,30.1146132,69.4269341,35.4441261,44.269341,18.1375358,5.1862464,10.7101947,7.1674312,33.2756632,1.2,0.4194631,0.4710893,7.2139303,4.8369265,45.8146067,23.7925357,30.1714602,69.0542035,36.034292,44.7732301,18.7776549,5.1161504,10.3165939,7.0414847,33.6083608,2.5362319,0.4322638,0.4808783,7.0015617,4.6069755,45.782815,24.1103662,29.0818988,70.0312989,36.4893062,44.5748565,18.7532603,5.5555556,10.1987448,7.165272,34.0549102,2.3972603,0.4350785,0.4831092,6.9701646,4.5010288,45.4997384,23.8863287,28.9596273,70.1086957,36.7753623,45.315735,18.9182195,5.615942,10.3033473,7.6963351,34.1605069,2.4305556 +1515,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6762784,1.7200103,27.1104563,22.4812364,43.2902149,18.6311806,37.8877536,66.0754365,35.30195,46.8127988,22.5509839,3.9810653,12.8483188,10.1120318,30.3508156,15.2481676,1.685832,1.71927,27.5733217,23.0128164,43.0510702,18.8868497,37.8193561,65.0362441,35.5561343,47.1815103,22.3632931,3.8818155,12.3852811,10.2561995,31.2683257,16.0279792,1.6183229,1.5978359,28.2608615,23.2391703,43.1524416,19.3254393,38.1875342,64.2997705,35.942751,48.3028726,22.6326594,3.7297541,11.9185693,10.0082571,31.2113948,15.8891658,1.6162285,1.5957676,28.3789755,23.5995984,42.7328168,18.8690446,40.1347006,64.3037326,36.5648799,48.8992956,22.7920577,3.4773579,11.8190937,10.1955174,31.7643025,15.6029487,1.6846888,1.6640422,28.9223887,24.1562348,43.79056,18.1878012,40.764665,64.2764944,35.7206706,49.1020918,22.5844406,3.6450084,11.5796188,10.1604146,31.9519681,15.6409178 +1516,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7548534,0.7028819,9.742607,7.1364899,32.0384438,14.3155803,30.5689582,68.9617717,41.234965,48.4508062,22.4128551,6.6081642,10.1861182,9.4889911,33.7877168,3.8235294,0.8420016,0.8124073,10.4300812,7.6958705,31.216567,14.1755458,31.1837573,69.198076,41.1526455,48.5728886,21.8998181,6.7545037,10.3021065,9.2524769,34.5317873,5.1912568,0.805789,0.8115986,10.7877671,7.8831894,30.377746,13.8188447,32.1930388,69.2673603,41.2085274,48.8769456,21.7547253,6.7905145,10.6927672,9.1776618,33.3699602,6.8306011,0.8128677,0.852824,10.5397423,7.6463003,31.0239684,14.0298694,32.1566687,69.9310865,40.5015471,47.8579317,21.2482905,6.863494,11.4578002,9.2107376,34.324103,6.7164179,0.8854313,0.9311584,10.2679975,7.2714703,29.7202162,13.4909866,31.7156284,70.6675865,40.1796175,48.8999753,21.3815868,6.9076814,11.4554782,9.6716166,33.6941989,7.4519231 +1517,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.945223,1.9689482,24.1721115,19.6487833,49.1836813,15.1369744,42.1634848,64.3215193,37.0433164,47.8956799,24.758522,3.9566788,13.1132561,11.4613312,33.0509766,22.0276948,1.8012481,1.8246066,25.1867561,20.7374229,50.0005535,15.1571997,41.0829405,64.8168685,35.8630629,48.0282983,23.7720959,4.1421914,11.850168,11.5795153,33.4104334,20.7480453,1.6911159,1.7327321,25.0610448,20.3043741,49.7913586,15.0226601,41.5046077,65.1912567,36.3755658,47.6472288,24.1882217,3.5648107,11.377552,12.2038691,32.242735,22.7608883,1.7615388,1.7733792,24.9084011,20.0764684,50.2204423,15.3423816,41.4521347,65.2179532,37.2560004,47.8816536,24.1129768,4.0887121,10.8761347,11.1978255,31.2210462,24.6425403,1.874142,1.8861887,25.830989,20.5247006,50.0302657,16.2784956,41.3059111,65.6943535,38.2108267,46.8083169,24.9723243,4.6071285,11.3048842,11.1439943,31.4932266,24.8091603 +1518,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8027625,0.6988758,10.5485794,7.319738,28.0721242,21.8444222,35.0638747,69.952133,42.316262,52.7316632,24.4249786,3.5303424,11.793713,9.697571,32.7917844,3.0386757,0.7990583,0.7505106,10.9182916,7.4477746,27.6748131,21.7993218,34.9795867,69.4105321,41.658799,52.6654554,24.0985275,3.4650277,11.6688187,9.7631219,33.9470193,4.1436487,0.8604921,0.8135841,11.2615195,7.6316495,27.5899,21.6612138,35.1643054,68.7310387,41.7376432,52.6932842,24.4522764,3.5757707,11.8316048,10.1783547,33.5709752,5.4597701,0.8460694,0.8277895,11.296403,7.5551078,27.3288829,21.9365375,35.1483671,68.7685629,41.2017828,52.9228518,24.851621,3.8130576,12.1492622,10.6160331,34.6084168,5.3370787,0.9363475,0.917977,11.5834133,7.8147908,27.1775164,21.6691442,35.9886685,69.0440925,41.4085854,52.2483654,24.5830727,3.8564632,11.4856706,10.4303565,33.724398,6.176467 +1519,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7978499,0.7692423,10.0824805,7.0049636,46.1254322,19.6157897,35.0258749,67.5716934,37.2586112,47.2329309,22.3784656,4.1503082,14.3735046,12.7553546,37.6127751,6.5890493,0.7851863,0.7742628,10.2580321,6.971762,44.4027505,20.0052445,34.8666456,67.9878828,38.0846759,47.5043138,23.2623532,3.9447758,13.9838735,11.6701423,36.3524924,6.2499792,0.9335768,0.9225263,10.6189483,7.1031084,42.6751805,20.352936,35.1047446,69.1967339,38.5775016,47.3066573,23.5929936,4.1463382,13.9925409,11.5586093,36.9085581,7.7235584,0.9525568,0.9641639,10.871075,7.3723895,41.0575662,20.8317992,34.6921034,69.7627455,38.6482814,47.6199137,23.6621708,3.7466615,13.5075932,11.1997058,36.4625662,7.0247702,0.9581392,0.9699583,10.910684,7.3666118,39.2466035,21.7488429,34.8344552,69.8471415,38.608136,48.2231001,23.4687641,4.1837358,13.3947312,11.0979027,37.6237963,7.5892654 +1520,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7183463,1.7659996,34.6282572,30.2282822,55.7850728,15.4378443,33.1889727,62.5039452,29.6539736,41.9217258,15.71298,1.7328048,19.2191133,12.4416088,40.3315137,24.9933594,1.5571004,1.5675299,33.7764199,29.7625033,56.7211967,15.2500656,33.0386996,63.5073726,30.2013531,42.2353149,16.0124814,1.7793383,18.9006883,12.8453194,38.636673,23.9083173,1.6093872,1.631909,34.2375417,30.1262519,57.2223766,15.919404,32.4838216,63.2300344,30.9586931,41.9596023,16.1785913,1.779202,18.6300505,12.622956,37.871315,23.8864848,1.4809255,1.4968563,34.7412295,30.6661633,58.4294797,15.9443704,33.2197848,63.1482162,31.3435759,42.7672904,16.3143692,1.7731002,19.6181154,12.9612492,39.4441694,23.3435429,1.3881583,1.4645125,34.77946,30.8522674,59.2192819,15.682094,33.4890013,62.6686449,32.3358975,42.7298745,16.3181163,1.5912654,18.5288551,12.9493014,40.2673354,23.225526 +1521,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6263052,0.6377226,8.2927361,5.2246949,25.2171573,17.0474649,35.9114757,70.4797799,40.061153,50.9355057,23.0547964,4.2701016,11.1839636,10.7464365,31.4075876,3.6082449,0.6708638,0.6822094,8.4546348,5.1482543,25.1596689,17.0751001,35.0782176,70.1655612,40.2116081,51.122321,23.0818415,4.2226344,10.7843176,10.6718637,31.1569955,4.4642825,0.6966906,0.6797069,8.5547677,5.5565603,24.7564692,16.9139641,34.3446585,70.1649648,40.6141385,51.1915314,22.8322245,4.2071541,10.4739508,10.2615294,31.2613929,4.4963996,0.7008715,0.6817154,8.8235383,5.7145447,24.4771438,16.3929402,33.67386,69.6709195,40.0922328,50.2169236,22.4642535,4.2578238,10.534755,10.5762304,31.1354742,5.2158198,0.6917989,0.6748406,8.9174831,5.8788049,24.5523645,16.1692293,33.795753,69.3673599,39.8215459,50.3003719,22.1858652,4.3028847,10.7802189,10.8916043,31.7335044,4.1218549 +1522,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.368179,0.3957925,7.3038536,4.2262661,64.3700772,20.0555319,30.8639193,63.6501076,31.5550774,41.7926516,16.8250599,5.1619902,10.5325964,8.5657411,33.5862781,3.2663333,0.3893758,0.451954,7.764539,4.6495626,63.3271569,19.8602317,30.4158974,63.0027419,31.3299838,41.7047467,17.0703879,5.2330922,10.9756144,8.8954506,33.8260278,3.8071085,0.3733448,0.4578756,7.7829043,4.8729768,61.9416981,21.0105126,30.5309676,63.9729844,31.7885415,42.6874608,17.7689828,5.3796017,10.7484807,8.5801424,33.1441164,3.3505172,0.3808047,0.4695359,7.5219028,4.9415752,61.1877729,22.3684126,30.4400916,64.3765271,31.6625958,42.7628257,17.9706632,5.7457238,10.9015669,8.6175139,31.9649535,2.57143,0.3072372,0.3815811,7.705821,4.9949767,59.6406861,22.5196432,30.9919379,65.030206,31.7975877,44.2849832,18.4038273,6.0674741,10.90298,8.1406567,31.3583875,2.6162791 +1523,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6732287,0.677574,8.4501038,5.4691131,40.8863646,20.1196924,29.3752212,68.3807076,36.1134312,46.5085447,21.0386316,4.668115,10.8899548,8.3333035,32.4548452,3.4841032,0.6920586,0.7078695,8.2839488,5.2480222,39.9789878,20.2310405,29.3466095,68.928339,36.1879079,47.2552911,21.099465,4.4230262,10.7412264,8.8083836,32.2928796,3.8501317,0.7359626,0.7628836,8.4095477,5.249521,39.1777291,19.9703916,29.5310489,68.3502774,36.3668744,46.7461615,21.0576753,4.4806832,10.499064,9.0959581,32.3245607,5.5573926,0.7115001,0.738493,8.2896561,5.0613136,39.6050713,20.0433856,29.8463481,67.9756142,36.304832,46.3196305,20.7326061,4.443418,10.7358237,9.6060161,32.0848737,4.7034596,0.7619666,0.7884443,8.5589698,5.4201068,39.038372,19.7565772,30.5548449,68.1431463,36.115946,45.9312336,20.7873147,4.4634729,10.5098925,9.618645,30.8997587,4.738778 +1524,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5108954,0.5287708,8.0974397,5.1319115,41.7255585,19.6136308,30.4385585,67.3203309,39.750779,47.4014696,22.8265135,6.5398001,9.3073575,9.6691592,32.1627052,3.9402163,0.5023437,0.5194399,8.1247709,5.1987517,41.5729275,19.9216608,30.7414901,68.0380977,39.2843977,47.6054006,22.7163525,6.4996312,9.0210042,8.8709667,33.1883523,3.5156232,0.5101449,0.534606,8.1856478,5.0622948,41.1769959,19.6329165,31.6528303,68.1352662,38.5573058,47.7220548,22.5940375,6.4188585,9.5454518,9.3670398,34.0600939,3.6989777,0.5801485,0.6200902,8.0592656,4.9246344,40.8157924,19.6407295,32.2360362,68.2305164,38.8888895,47.8399814,22.7665496,6.782442,10.3429823,9.2744778,33.9395076,4.9492119,0.5557646,0.6188729,7.9695247,4.8365034,40.8563409,20.0187803,32.6034177,68.1755228,38.6619366,48.0958953,22.4078285,6.9845945,10.3652086,9.1478693,34.0122576,5.1767424 +1525,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3893758,0.451954,7.764539,4.6495626,63.3271569,19.8602317,30.4158974,63.0027419,31.3299838,41.7047467,17.0703879,5.2330922,10.9756144,8.8954506,33.8260278,3.8071085,0.3733448,0.4578756,7.7829043,4.8729768,61.9416981,21.0105126,30.5309676,63.9729844,31.7885415,42.6874608,17.7689828,5.3796017,10.7484807,8.5801424,33.1441164,3.3505172,0.3808047,0.4695359,7.5219028,4.9415752,61.1877729,22.3684126,30.4400916,64.3765271,31.6625958,42.7628257,17.9706632,5.7457238,10.9015669,8.6175139,31.9649535,2.57143,0.3072372,0.3815811,7.705821,4.9949767,59.6406861,22.5196432,30.9919379,65.030206,31.7975877,44.2849832,18.4038273,6.0674741,10.90298,8.1406567,31.3583875,2.6162791,0.3206662,0.3982595,7.3498669,4.8735659,59.1726124,21.8542107,30.3994819,65.1867903,32.3963423,44.6927505,18.260715,6.1744864,10.4806508,8.0513423,31.5710785,4.9342105 +1526,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3998358,2.4597847,36.6170908,30.8753705,44.7387532,18.6858714,35.2540193,66.282398,33.356889,45.1533481,19.9287719,3.5387738,14.9814709,11.7072883,33.6795965,17.5744701,2.569231,2.6568766,37.1951118,31.5917032,45.3758928,18.8526803,35.4725642,66.0023582,32.9107504,45.3705314,19.9153355,3.475947,16.1102514,12.8129378,33.3482064,17.4924911,2.7019199,2.8053379,36.8028358,31.0009085,45.8508991,19.2201412,34.5884995,65.124481,33.3757607,45.8342162,20.1752333,3.347506,14.7382962,12.6992398,33.4762531,20.1114622,2.7428176,2.847326,37.0492938,31.3028678,46.4594159,19.4992119,34.836491,65.5057757,33.5450483,45.7178307,20.2406959,3.7066568,15.0425945,11.914096,33.3498948,20.1088397,2.6415112,2.7452973,36.3194031,31.0418542,46.9659373,19.0077608,35.3407322,66.1066901,32.1546904,45.810172,20.1234505,3.6284033,14.2855019,11.1683272,31.8713733,22.3114886 +1527,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7400256,0.7346208,8.8178921,5.9839446,58.476694,8.7665268,25.229896,66.635849,32.5240629,40.8057523,17.1857457,6.6357723,10.5295757,8.9068148,36.7090939,5.0658453,0.7535287,0.7615418,9.0940193,6.1440028,58.1161189,8.716962,24.9309354,66.554005,32.3584993,40.4006357,17.1701639,6.7386789,10.5471775,8.8763138,36.7518499,5.5912547,0.774521,0.7851342,9.123328,6.0953594,57.6698733,8.739451,25.2624061,66.7333968,32.7575446,40.388641,17.3611621,6.7460703,10.3586399,8.6202591,36.543645,6.0128666,0.8032501,0.816877,9.3718242,6.2873216,57.4992504,8.7613661,25.6789483,66.4568339,33.2480735,40.2151868,17.4843757,6.8282838,10.6326272,8.9289707,36.514587,6.1445783,0.8030935,0.8149697,9.6802307,6.4666089,57.7352077,8.6926717,25.9335105,66.102852,32.660122,40.1741636,17.1363081,6.6102177,10.6891477,8.9676022,36.3883095,6.4858491 +1528,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6172301,1.6439732,27.6704988,21.747256,33.7190248,16.2541375,38.2276996,61.7373791,35.8549529,46.8114919,21.6862323,3.0182718,12.9258139,11.1867046,39.8534165,23.1788435,1.7286679,1.7930759,29.13783,23.2657501,35.6661457,15.8998436,37.1418619,61.1086963,34.6207323,45.9588791,21.0453321,2.6415972,13.5934819,11.1130259,40.5211613,23.1855026,1.8108739,1.8752404,30.0082642,24.4930283,37.6478234,15.4592095,37.4438145,60.3588245,34.1981478,45.1519229,21.6070806,2.7030615,13.5036091,11.2654166,40.4799415,21.5356128,1.7652799,1.8216005,30.2704257,24.8893682,39.3091219,15.4011101,37.0731007,61.4963831,35.0474613,45.6212515,22.6613486,2.9482411,13.9973437,11.2243775,40.0148362,23.4767446,1.8168545,1.8273261,30.2946557,25.0014354,41.1671775,15.3233789,36.7411373,62.2691257,34.9645191,45.5121235,22.200501,2.9521024,14.5775092,11.0916224,40.3450079,22.3510195 +1529,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6204699,0.6180741,9.7941643,6.9654774,46.2791922,10.7427918,28.1323393,69.413993,42.9718052,44.8903684,21.5022188,4.9399638,9.4272984,8.0653567,34.4904901,6.0688417,0.6304007,0.6273694,9.533691,6.8690352,46.1263176,10.6998661,28.2430902,69.8612313,43.0367944,44.3749235,21.7259322,4.8507003,9.4253134,8.0341644,34.7058773,6.3368056,0.6385266,0.6394396,9.9589365,7.1204304,46.6541385,10.7437546,28.6626054,69.7506551,42.5137178,43.3249872,21.7907428,4.8258174,9.4645795,8.1320999,34.6448146,6.8881708,0.6485514,0.6467994,9.7599201,6.8603619,46.6086815,10.618614,28.7904832,69.6014212,42.0686866,42.8842173,21.6689625,4.9908097,9.3486655,7.8420191,35.0241485,6.4589685,0.6906939,0.6788255,9.9517862,7.0251221,46.4559377,10.509866,28.7305947,69.406871,41.8902385,42.6773838,21.6241669,4.9833691,9.1458043,7.6509313,34.8535236,6.7507438 +1530,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7484118,0.7376291,10.4062707,7.1607283,20.3750672,16.9442721,34.88467,65.0360197,37.0505742,48.5394116,20.9314088,5.3162558,10.8027655,8.9174595,26.9016928,3.9564324,0.7107772,0.6693165,10.5654202,7.3585293,20.7564438,16.4753741,34.091007,65.4343829,37.7944273,49.2332103,21.5220637,5.3111682,11.2363798,9.2772075,27.2772072,3.8458392,0.8608693,0.8118991,11.3770827,7.9290816,21.029767,16.1406939,34.9258802,65.693154,37.2489705,49.1131924,21.3325771,5.0442846,11.2754347,9.3376082,27.4002622,4.4827555,0.8322521,0.7897919,12.5429391,8.4972427,22.3254246,16.5625961,34.6537849,65.3624566,37.0820342,48.7098787,21.548804,4.5551195,11.7593742,9.6411923,27.5694029,3.6666642,0.8152707,0.7884164,12.5709133,8.5579485,22.9392738,16.6921741,34.9933695,64.2342494,36.2518173,47.8498638,21.5360876,4.5508356,11.4245204,9.2565379,27.0297727,4.0123407 +1531,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.496563,0.4938375,7.9396092,5.5085883,31.7942571,11.4989994,29.0315237,70.2943609,37.1918547,50.4615283,20.9596134,3.4326537,10.9816541,10.4404748,32.3633934,1.7241401,0.5120558,0.5147151,8.2015015,5.5938458,31.3233153,11.5557343,28.8021225,70.6454863,37.3123584,50.6735134,21.223775,3.6509309,11.0820472,9.9303729,31.2454362,2.689876,0.5416609,0.5312915,8.1324933,5.571923,30.4066448,11.7810247,28.8584694,70.7884703,37.2141706,50.5129178,20.9564548,3.6062178,10.9432138,9.7150496,31.6047137,2.419358,0.5675011,0.542084,8.3469291,5.626148,29.840532,11.7595855,28.6383391,69.9636049,37.4032704,50.460726,20.7940523,3.6753363,10.9080155,9.8518129,32.1209883,2.3364501,0.5848168,0.5749771,8.4165356,5.5978764,29.2245002,11.6362781,28.5860742,70.0616294,37.9214872,50.3264151,21.1908761,3.6815632,10.5485566,9.3216225,31.5323151,3.0351447 +1532,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.876676,0.8893565,10.6317551,6.6113972,52.4030215,10.5253462,32.7299281,66.8577472,42.3279621,45.149432,24.3687084,4.9021333,10.5015116,10.2312916,40.0797934,4.7491048,0.8034702,0.8177218,9.9687296,6.0274459,50.9600413,10.653137,32.2729979,66.7316439,42.589073,45.4942546,24.4989618,4.7949083,10.4323111,10.0616023,39.3293983,4.7851553,0.7612831,0.8003838,10.2637741,6.3210247,49.5713297,11.0221019,32.2023315,66.5347865,43.0266232,46.0796652,24.3893736,4.6974667,10.7242576,9.8326139,37.7153294,4.7861507,0.7852682,0.8286503,10.4225026,6.5482798,49.5577688,11.1012757,32.151771,66.8076672,42.8620792,45.9142711,24.3687311,4.8210227,10.3002323,9.2309609,37.5491272,5.2480866,0.7819383,0.8097686,10.7749665,6.7369033,48.6853459,11.0735596,32.4282414,67.2078823,42.332552,45.4992731,24.3430564,4.776975,10.0700824,9.0064436,37.1969461,5.491321 +1533,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7293381,0.728042,8.9615159,5.1480329,45.4562788,19.1780866,31.7171203,68.1627013,38.7719049,43.7557301,22.2606402,4.3380241,9.8894331,8.8431263,32.8489981,7.2607385,0.7369086,0.7356394,8.9171914,5.1549781,45.4670194,19.5399136,31.2225243,69.0714222,38.8624962,43.6526742,22.553641,4.4519935,9.5509154,8.5703278,33.5270585,7.1138415,0.6613373,0.6705187,9.0971292,5.3240632,44.2785576,19.7200307,31.291303,70.1723287,39.6698006,43.7732608,22.9411931,4.4046314,9.3765465,8.3086618,33.3033764,7.2314792,0.6705265,0.6770817,8.9602963,5.3649681,43.9278188,19.6302418,31.3823963,70.936052,39.1956095,44.4047102,22.9393537,4.4505206,9.2525143,7.5508231,33.0096579,6.9621556,0.68023,0.6880019,9.2740623,5.7701648,44.1119577,19.2772513,31.0861119,71.2515903,38.8966932,45.7953061,23.0188317,4.4042499,9.9825981,7.9067593,33.4391368,7.415394 +1534,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5500197,0.548696,7.5633294,4.8719063,45.906082,13.3100185,29.2663501,67.35538,33.137598,42.5474896,17.9715827,14.7962865,9.5341448,8.786918,34.9064901,2.7429463,0.6018856,0.6135906,7.4145034,4.6757486,45.5584243,13.3907302,28.4546515,67.6499898,32.7623004,42.6570946,18.1191367,14.6929163,9.8163837,9.0048092,34.876107,3.0185759,0.5724062,0.5975951,7.3825001,4.8373076,44.7318219,13.6928556,27.8632644,67.9561675,32.8276964,43.0759189,18.1521299,14.4215384,9.948169,8.9429703,35.1825034,3.1013616,0.5511195,0.588299,7.3900881,4.9057898,44.7077933,14.0066265,27.7645288,68.1237724,33.1672743,43.1448227,18.1939393,14.559358,9.9415998,8.8038928,34.9537655,3.1960241,0.5575885,0.5954386,7.4986255,5.0562548,44.7108686,14.2866837,27.254553,67.8640342,32.7978494,42.4917259,18.0846684,14.554604,10.2637289,9.0946157,35.5302839,3.5318574 +1535,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4748815,0.4818932,10.1452623,6.8315911,44.6554216,19.1620946,32.6006559,70.0370245,40.930106,45.7889885,23.9472402,3.9102296,7.4660851,7.2207214,34.229738,3.3333284,0.5230064,0.5391378,9.9007642,6.7816626,44.0616043,19.2417846,32.7611236,69.3181796,40.4013345,45.5270828,23.2833551,3.7959372,7.9327054,7.4806989,34.3507907,3.3582039,0.5293618,0.5462823,10.1842729,6.8974104,43.167882,19.8353423,31.8411703,69.9291836,41.502272,46.2063686,23.4951873,4.0212439,8.4615546,8.1790184,34.1097478,2.7999978,0.4915068,0.5086087,10.4428917,6.8696614,40.6652903,20.9026847,32.6952596,69.6528872,42.4961723,46.681986,24.1705029,3.9050532,8.2564163,7.9814686,32.209551,3.4615385,0.5201346,0.5420037,9.9416641,6.4414271,39.4606593,20.4204967,32.7214947,69.3832625,42.1683842,47.503679,24.7919861,3.5976545,7.9819321,8.4088762,32.5380614,4.1666635 +1536,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8420016,0.8124073,10.4300812,7.6958705,31.216567,14.1755458,31.1837573,69.198076,41.1526455,48.5728886,21.8998181,6.7545037,10.3021065,9.2524769,34.5317873,5.1912568,0.805789,0.8115986,10.7877671,7.8831894,30.377746,13.8188447,32.1930388,69.2673603,41.2085274,48.8769456,21.7547253,6.7905145,10.6927672,9.1776618,33.3699602,6.8306011,0.8128677,0.852824,10.5397423,7.6463003,31.0239684,14.0298694,32.1566687,69.9310865,40.5015471,47.8579317,21.2482905,6.863494,11.4578002,9.2107376,34.324103,6.7164179,0.8854313,0.9311584,10.2679975,7.2714703,29.7202162,13.4909866,31.7156284,70.6675865,40.1796175,48.8999753,21.3815868,6.9076814,11.4554782,9.6716166,33.6941989,7.4519231,0.828979,0.8653465,10.5115833,7.3765364,27.9836258,13.8646191,30.7017676,70.3475907,40.2422067,49.7102131,21.2686458,6.9212376,11.4236122,9.5396853,32.4141173,7.9487179 +1537,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9116685,0.934697,14.1691844,9.8298558,42.9488766,14.9600088,33.1425973,70.8768117,38.1806708,46.8078855,24.4449677,3.7785577,13.3274833,12.3972894,40.6487573,7.1839122,1.0466976,1.0543281,13.881692,9.6344137,42.207609,15.1328428,32.584042,71.1947683,39.6134239,47.8558963,24.9849072,4.1004766,13.3406803,12.4125583,40.2954244,6.7251462,1.1333189,1.1522995,14.4516941,10.0630657,41.9252431,15.8220302,31.7303598,71.2615308,39.5658088,48.7062579,25.7053793,4.1704867,12.8932106,12.461985,40.6566931,6.3253012,1.2910256,1.3096749,14.8883386,10.398483,41.4325831,15.4768535,33.5636842,71.2283627,39.6916526,48.8993286,25.5831005,3.9607679,12.964217,12.1638879,40.4822108,8.1325301,1.1819213,1.2001544,15.0288209,10.7014829,40.8452505,15.4559318,33.6216393,71.5659662,39.3326395,49.051757,25.7237483,4.3800542,12.2761346,12.2532473,40.9407143,7.3369485 +1538,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9311398,1.9311398,35.947205,31.2888199,66.5322581,7.6625387,30.533752,61.9309262,25.9811617,37.755102,13.1083203,6.6718995,16.8300654,11.5635179,37.2131148,20.0617284,1.9582899,1.9582899,34.9612403,30.3100775,65.5645161,7.4845679,30.3767661,60.8320251,26.2951334,37.755102,14.3642072,6.8288854,14.6302251,11.0576923,36.2903226,18.0981595,2.0004518,2.0004518,34.0909091,30.1724138,65.1294498,7.7932099,32.4175824,61.1459969,27.2370487,37.1271586,15.1491366,7.4568289,16.2295082,11.6013072,36.0197368,19.0909091,1.8720509,1.8720509,34.070122,30.2591463,65.3426791,7.7095808,33.3080425,62.5948407,27.5417299,37.8603945,15.2503794,6.6009105,16.4576803,11.09375,36.6352201,18.4848485,1.9330927,1.9330927,34.563253,30.496988,65.1001541,7.1851852,34.2578711,63.0434783,28.7106447,38.155922,15.6671664,6.6716642,17.0623145,11.9822485,36.7559524,17.3529412 +1539,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4329515,1.5226628,26.4436963,22.4557111,53.2545787,16.4597214,40.0132344,65.3456216,33.1629564,46.9761519,20.3032059,2.2781678,15.0619064,11.1062858,35.5164415,11.3781978,1.6686618,1.759529,25.8324036,21.7067877,53.6349499,16.055451,40.4162979,65.2879578,33.7042115,47.5941196,20.3154287,2.4652382,15.1668429,11.9252508,35.3991844,13.4740172,1.7265214,1.8174871,26.3271393,22.5305535,53.0784726,16.2163918,40.9520426,65.4456734,33.5897525,47.541482,20.6014963,2.5023489,14.5071437,11.2648149,36.1642412,12.5798434,1.647428,1.7379164,26.9355442,23.1172946,53.2915322,15.4121845,40.5288678,65.6452371,33.5389109,46.7031251,20.4104197,2.2093386,14.3471282,11.3053489,36.5671138,11.343908,1.764756,1.8226731,27.8217567,23.8817516,53.6877739,14.577189,40.1427503,65.4203377,33.8924784,47.0880198,20.847086,2.2846097,14.9696862,11.9956883,35.9899739,10.992652 +1540,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7535287,0.7615418,9.0940193,6.1440028,58.1161189,8.716962,24.9309354,66.554005,32.3584993,40.4006357,17.1701639,6.7386789,10.5471775,8.8763138,36.7518499,5.5912547,0.774521,0.7851342,9.123328,6.0953594,57.6698733,8.739451,25.2624061,66.7333968,32.7575446,40.388641,17.3611621,6.7460703,10.3586399,8.6202591,36.543645,6.0128666,0.8032501,0.816877,9.3718242,6.2873216,57.4992504,8.7613661,25.6789483,66.4568339,33.2480735,40.2151868,17.4843757,6.8282838,10.6326272,8.9289707,36.514587,6.1445783,0.8030935,0.8149697,9.6802307,6.4666089,57.7352077,8.6926717,25.9335105,66.102852,32.660122,40.1741636,17.1363081,6.6102177,10.6891477,8.9676022,36.3883095,6.4858491,0.7899386,0.8079257,9.9714306,6.730628,57.824641,8.7732474,26.1605111,65.5411376,32.8284527,40.2818239,16.9682399,6.4977579,10.5581816,8.8527976,36.8240528,6.5301391 +1541,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5023437,0.5194399,8.1247709,5.1987517,41.5729275,19.9216608,30.7414901,68.0380977,39.2843977,47.6054006,22.7163525,6.4996312,9.0210042,8.8709667,33.1883523,3.5156232,0.5101449,0.534606,8.1856478,5.0622948,41.1769959,19.6329165,31.6528303,68.1352662,38.5573058,47.7220548,22.5940375,6.4188585,9.5454518,9.3670398,34.0600939,3.6989777,0.5801485,0.6200902,8.0592656,4.9246344,40.8157924,19.6407295,32.2360362,68.2305164,38.8888895,47.8399814,22.7665496,6.782442,10.3429823,9.2744778,33.9395076,4.9492119,0.5557646,0.6188729,7.9695247,4.8365034,40.8563409,20.0187803,32.6034177,68.1755228,38.6619366,48.0958953,22.4078285,6.9845945,10.3652086,9.1478693,34.0122576,5.1767424,0.6387253,0.7081246,8.3062999,5.0623225,40.7221959,20.5546046,32.3896038,68.8051941,37.8614739,47.8701323,21.5324677,6.9004307,10.3713051,8.6964278,33.9138298,4.974463 +1542,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0466976,1.0543281,13.881692,9.6344137,42.207609,15.1328428,32.584042,71.1947683,39.6134239,47.8558963,24.9849072,4.1004766,13.3406803,12.4125583,40.2954244,6.7251462,1.1333189,1.1522995,14.4516941,10.0630657,41.9252431,15.8220302,31.7303598,71.2615308,39.5658088,48.7062579,25.7053793,4.1704867,12.8932106,12.461985,40.6566931,6.3253012,1.2910256,1.3096749,14.8883386,10.398483,41.4325831,15.4768535,33.5636842,71.2283627,39.6916526,48.8993286,25.5831005,3.9607679,12.964217,12.1638879,40.4822108,8.1325301,1.1819213,1.2001544,15.0288209,10.7014829,40.8452505,15.4559318,33.6216393,71.5659662,39.3326395,49.051757,25.7237483,4.3800542,12.2761346,12.2532473,40.9407143,7.3369485,1.221237,1.2502351,15.780808,11.2182529,40.8803484,15.6572807,34.3123291,70.6064973,39.2788919,48.7822275,25.3342993,4.5606506,12.661151,12.5459559,41.1409926,9.0206093 +1543,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4509225,0.445089,9.2036686,6.2406857,76.0127398,11.0308352,29.1885174,68.8668742,29.9739007,43.3246435,15.1270989,4.0201659,12.8392724,12.552105,33.9536969,2.9411688,0.4324986,0.461604,9.4015137,6.1506652,75.7076172,10.7024335,29.3624788,68.4004727,30.1454482,43.7546842,14.7836864,3.9708869,12.334132,12.1857013,32.6409647,2.8845876,0.4825693,0.5123395,9.8332662,6.5744395,75.4359822,10.9954791,29.2939886,68.6451237,29.9045256,43.0725778,14.713635,4.2556903,12.4463113,12.4461535,32.4315253,3.0828903,0.4140948,0.420256,9.7766463,6.4459074,75.2300982,11.7267505,29.2408911,68.8613267,29.7943425,43.2385124,14.689498,4.4088217,11.7800829,12.4722476,31.9600332,3.9014174,0.4157451,0.4222122,9.2122666,6.0936603,74.663422,11.4198865,29.3225948,69.0151513,30.6941157,43.4954762,15.1911138,4.3848303,11.9012113,12.2441098,31.3733921,4.231508 +1544,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7851863,0.7742628,10.2580321,6.971762,44.4027505,20.0052445,34.8666456,67.9878828,38.0846759,47.5043138,23.2623532,3.9447758,13.9838735,11.6701423,36.3524924,6.2499792,0.9335768,0.9225263,10.6189483,7.1031084,42.6751805,20.352936,35.1047446,69.1967339,38.5775016,47.3066573,23.5929936,4.1463382,13.9925409,11.5586093,36.9085581,7.7235584,0.9525568,0.9641639,10.871075,7.3723895,41.0575662,20.8317992,34.6921034,69.7627455,38.6482814,47.6199137,23.6621708,3.7466615,13.5075932,11.1997058,36.4625662,7.0247702,0.9581392,0.9699583,10.910684,7.3666118,39.2466035,21.7488429,34.8344552,69.8471415,38.608136,48.2231001,23.4687641,4.1837358,13.3947312,11.0979027,37.6237963,7.5892654,0.83659,0.8491388,10.8513421,7.2610232,36.7000634,21.9967035,34.6932892,70.0750968,39.7133957,48.3000127,23.6309266,4.5149371,13.1106095,10.4063285,37.5560743,7.4258195 +1545,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4324986,0.461604,9.4015137,6.1506652,75.7076172,10.7024335,29.3624788,68.4004727,30.1454482,43.7546842,14.7836864,3.9708869,12.334132,12.1857013,32.6409647,2.8845876,0.4825693,0.5123395,9.8332662,6.5744395,75.4359822,10.9954791,29.2939886,68.6451237,29.9045256,43.0725778,14.713635,4.2556903,12.4463113,12.4461535,32.4315253,3.0828903,0.4140948,0.420256,9.7766463,6.4459074,75.2300982,11.7267505,29.2408911,68.8613267,29.7943425,43.2385124,14.689498,4.4088217,11.7800829,12.4722476,31.9600332,3.9014174,0.4157451,0.4222122,9.2122666,6.0936603,74.663422,11.4198865,29.3225948,69.0151513,30.6941157,43.4954762,15.1911138,4.3848303,11.9012113,12.2441098,31.3733921,4.231508,0.3738862,0.3807106,8.7625695,6.1229969,73.5069652,11.7890726,29.2710475,68.1381228,31.1154554,43.9394343,15.2611431,4.5454078,11.4680131,11.496595,30.3855981,3.6893264 +1546,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.569231,2.6568766,37.1951118,31.5917032,45.3758928,18.8526803,35.4725642,66.0023582,32.9107504,45.3705314,19.9153355,3.475947,16.1102514,12.8129378,33.3482064,17.4924911,2.7019199,2.8053379,36.8028358,31.0009085,45.8508991,19.2201412,34.5884995,65.124481,33.3757607,45.8342162,20.1752333,3.347506,14.7382962,12.6992398,33.4762531,20.1114622,2.7428176,2.847326,37.0492938,31.3028678,46.4594159,19.4992119,34.836491,65.5057757,33.5450483,45.7178307,20.2406959,3.7066568,15.0425945,11.914096,33.3498948,20.1088397,2.6415112,2.7452973,36.3194031,31.0418542,46.9659373,19.0077608,35.3407322,66.1066901,32.1546904,45.810172,20.1234505,3.6284033,14.2855019,11.1683272,31.8713733,22.3114886,2.2865569,2.3918239,36.2216647,31.2339675,48.7199173,19.2764361,35.3188667,66.6166444,32.0082093,45.2553231,20.5789165,3.5911614,14.1998592,11.2027101,33.0462865,23.7980998 +1547,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6328377,0.7266594,8.9962091,5.565709,44.0562223,13.513692,26.7022549,70.4028518,40.7583225,44.9515668,20.3301419,4.7968297,11.2916595,9.155066,33.0827149,9.0231812,0.6383813,0.73732,8.663129,5.5837286,43.4709331,13.8745532,26.8643806,70.5313542,40.8358841,44.6642278,20.7589894,4.8764659,11.8279897,9.3446837,32.9878542,10.4355116,0.6804435,0.7616785,8.8317264,5.7954656,43.6582669,14.2451276,26.250904,69.8267132,40.5085977,44.0067817,20.5258671,4.943312,11.2184659,9.1497137,32.9134497,10.7838019,0.7536477,0.7931088,8.6886567,5.7377921,43.1921029,14.4542772,26.975937,70.0311113,40.5316819,44.1636993,21.8267927,5.1907581,10.6854394,9.214446,32.1172706,10.9813084,0.8112693,0.8158324,8.9788046,6.0866504,43.5668537,14.6768952,27.1126698,69.7078128,40.0809467,43.95454,20.9037742,5.2698886,10.7861755,9.1857397,32.0417104,12.7802691 +1548,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5101449,0.534606,8.1856478,5.0622948,41.1769959,19.6329165,31.6528303,68.1352662,38.5573058,47.7220548,22.5940375,6.4188585,9.5454518,9.3670398,34.0600939,3.6989777,0.5801485,0.6200902,8.0592656,4.9246344,40.8157924,19.6407295,32.2360362,68.2305164,38.8888895,47.8399814,22.7665496,6.782442,10.3429823,9.2744778,33.9395076,4.9492119,0.5557646,0.6188729,7.9695247,4.8365034,40.8563409,20.0187803,32.6034177,68.1755228,38.6619366,48.0958953,22.4078285,6.9845945,10.3652086,9.1478693,34.0122576,5.1767424,0.6387253,0.7081246,8.3062999,5.0623225,40.7221959,20.5546046,32.3896038,68.8051941,37.8614739,47.8701323,21.5324677,6.9004307,10.3713051,8.6964278,33.9138298,4.974463,0.6671866,0.7599988,8.5075623,5.3459142,40.6544539,20.0220856,31.80172,69.681033,37.7672424,48.5775892,21.8362074,6.6810308,10.4407231,8.6309523,34.7222287,4.9492119 +1549,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6708638,0.6822094,8.4546348,5.1482543,25.1596689,17.0751001,35.0782176,70.1655612,40.2116081,51.122321,23.0818415,4.2226344,10.7843176,10.6718637,31.1569955,4.4642825,0.6966906,0.6797069,8.5547677,5.5565603,24.7564692,16.9139641,34.3446585,70.1649648,40.6141385,51.1915314,22.8322245,4.2071541,10.4739508,10.2615294,31.2613929,4.4963996,0.7008715,0.6817154,8.8235383,5.7145447,24.4771438,16.3929402,33.67386,69.6709195,40.0922328,50.2169236,22.4642535,4.2578238,10.534755,10.5762304,31.1354742,5.2158198,0.6917989,0.6748406,8.9174831,5.8788049,24.5523645,16.1692293,33.795753,69.3673599,39.8215459,50.3003719,22.1858652,4.3028847,10.7802189,10.8916043,31.7335044,4.1218549,0.7000552,0.6833251,9.1753393,6.0231813,24.2767917,16.2247686,33.6446337,69.4274552,39.7364462,50.122147,22.5257109,4.3724971,10.4587494,10.7351379,31.4616751,4.6874919 +1550,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6920586,0.7078695,8.2839488,5.2480222,39.9789878,20.2310405,29.3466095,68.928339,36.1879079,47.2552911,21.099465,4.4230262,10.7412264,8.8083836,32.2928796,3.8501317,0.7359626,0.7628836,8.4095477,5.249521,39.1777291,19.9703916,29.5310489,68.3502774,36.3668744,46.7461615,21.0576753,4.4806832,10.499064,9.0959581,32.3245607,5.5573926,0.7115001,0.738493,8.2896561,5.0613136,39.6050713,20.0433856,29.8463481,67.9756142,36.304832,46.3196305,20.7326061,4.443418,10.7358237,9.6060161,32.0848737,4.7034596,0.7619666,0.7884443,8.5589698,5.4201068,39.038372,19.7565772,30.5548449,68.1431463,36.115946,45.9312336,20.7873147,4.4634729,10.5098925,9.618645,30.8997587,4.738778,0.7404136,0.7562743,8.8416938,5.6568962,39.1649479,19.1417966,30.9340409,68.0199171,35.6399864,45.2587331,19.9265967,4.4623779,10.0781799,9.2774118,31.8294658,5.1702526 +1551,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1333189,1.1522995,14.4516941,10.0630657,41.9252431,15.8220302,31.7303598,71.2615308,39.5658088,48.7062579,25.7053793,4.1704867,12.8932106,12.461985,40.6566931,6.3253012,1.2910256,1.3096749,14.8883386,10.398483,41.4325831,15.4768535,33.5636842,71.2283627,39.6916526,48.8993286,25.5831005,3.9607679,12.964217,12.1638879,40.4822108,8.1325301,1.1819213,1.2001544,15.0288209,10.7014829,40.8452505,15.4559318,33.6216393,71.5659662,39.3326395,49.051757,25.7237483,4.3800542,12.2761346,12.2532473,40.9407143,7.3369485,1.221237,1.2502351,15.780808,11.2182529,40.8803484,15.6572807,34.3123291,70.6064973,39.2788919,48.7822275,25.3342993,4.5606506,12.661151,12.5459559,41.1409926,9.0206093,1.2481921,1.2767432,15.6685241,10.9795765,39.9091391,15.6568036,33.5136501,70.1552268,39.2521183,48.3772244,25.0470485,4.492005,12.5337028,12.5112119,40.5148998,8.9743544 +1552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6966906,0.6797069,8.5547677,5.5565603,24.7564692,16.9139641,34.3446585,70.1649648,40.6141385,51.1915314,22.8322245,4.2071541,10.4739508,10.2615294,31.2613929,4.4963996,0.7008715,0.6817154,8.8235383,5.7145447,24.4771438,16.3929402,33.67386,69.6709195,40.0922328,50.2169236,22.4642535,4.2578238,10.534755,10.5762304,31.1354742,5.2158198,0.6917989,0.6748406,8.9174831,5.8788049,24.5523645,16.1692293,33.795753,69.3673599,39.8215459,50.3003719,22.1858652,4.3028847,10.7802189,10.8916043,31.7335044,4.1218549,0.7000552,0.6833251,9.1753393,6.0231813,24.2767917,16.2247686,33.6446337,69.4274552,39.7364462,50.122147,22.5257109,4.3724971,10.4587494,10.7351379,31.4616751,4.6874919,0.7373418,0.7206873,9.4084771,6.2128257,24.5288056,16.119838,33.6899982,68.5368718,39.5181187,49.9390762,22.7296131,4.3232459,10.1053002,10.6473537,31.6684024,5.2364812 +1553,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4881208,0.5417113,7.2701149,4.7413793,45.4782609,23.4943182,30.1146132,69.4269341,35.4441261,44.269341,18.1375358,5.1862464,10.7101947,7.1674312,33.2756632,1.2,0.4194631,0.4710893,7.2139303,4.8369265,45.8146067,23.7925357,30.1714602,69.0542035,36.034292,44.7732301,18.7776549,5.1161504,10.3165939,7.0414847,33.6083608,2.5362319,0.4322638,0.4808783,7.0015617,4.6069755,45.782815,24.1103662,29.0818988,70.0312989,36.4893062,44.5748565,18.7532603,5.5555556,10.1987448,7.165272,34.0549102,2.3972603,0.4350785,0.4831092,6.9701646,4.5010288,45.4997384,23.8863287,28.9596273,70.1086957,36.7753623,45.315735,18.9182195,5.615942,10.3033473,7.6963351,34.1605069,2.4305556,0.3889157,0.4210907,7.0098293,4.3714434,45.933893,22.6178279,28.5751295,68.9896373,35.6217617,44.7927461,19.1450777,5.5181347,10.8604407,7.7287066,34.9416755,3.7931034 +1554,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7019199,2.8053379,36.8028358,31.0009085,45.8508991,19.2201412,34.5884995,65.124481,33.3757607,45.8342162,20.1752333,3.347506,14.7382962,12.6992398,33.4762531,20.1114622,2.7428176,2.847326,37.0492938,31.3028678,46.4594159,19.4992119,34.836491,65.5057757,33.5450483,45.7178307,20.2406959,3.7066568,15.0425945,11.914096,33.3498948,20.1088397,2.6415112,2.7452973,36.3194031,31.0418542,46.9659373,19.0077608,35.3407322,66.1066901,32.1546904,45.810172,20.1234505,3.6284033,14.2855019,11.1683272,31.8713733,22.3114886,2.2865569,2.3918239,36.2216647,31.2339675,48.7199173,19.2764361,35.3188667,66.6166444,32.0082093,45.2553231,20.5789165,3.5911614,14.1998592,11.2027101,33.0462865,23.7980998,1.9570534,2.0517775,35.5637169,30.8136681,49.3543587,19.3299767,35.7432171,66.6579865,32.5191997,45.1670047,20.6365463,3.2550764,16.1327754,11.735448,33.0409749,24.3961836 +1555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7666024,2.7337905,40.6887506,35.0782229,68.2457086,13.8801639,35.3517972,63.0007955,25.0969823,38.4028341,16.9384744,2.2530293,18.1575979,12.8190973,43.7871927,28.3772933,3.0261565,3.0341768,41.2520485,35.8054589,68.8866078,14.3261763,35.3592631,63.24461,25.5870898,37.6680203,17.5626643,2.3130607,18.067708,13.3584476,42.7536432,29.6882109,3.1395144,3.147406,42.1323159,36.734787,69.6590163,13.7568769,35.7013996,62.5353391,25.5908127,37.4393098,17.6491034,2.1316992,18.3520586,13.486931,43.2631319,30.3046359,2.9494733,2.9922837,41.8436136,36.7286019,70.4278192,13.498893,35.8673771,61.8932162,24.9103127,37.6442042,17.7333893,2.0175547,18.4170908,14.0934632,42.4208559,29.237035,2.8445954,2.8791323,40.9080369,35.9720549,70.8493616,12.9879744,35.4167482,61.2383617,25.274017,38.0334517,18.3897264,2.0599805,17.6744207,14.1696739,43.6552955,29.7449377 +1556,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5801485,0.6200902,8.0592656,4.9246344,40.8157924,19.6407295,32.2360362,68.2305164,38.8888895,47.8399814,22.7665496,6.782442,10.3429823,9.2744778,33.9395076,4.9492119,0.5557646,0.6188729,7.9695247,4.8365034,40.8563409,20.0187803,32.6034177,68.1755228,38.6619366,48.0958953,22.4078285,6.9845945,10.3652086,9.1478693,34.0122576,5.1767424,0.6387253,0.7081246,8.3062999,5.0623225,40.7221959,20.5546046,32.3896038,68.8051941,37.8614739,47.8701323,21.5324677,6.9004307,10.3713051,8.6964278,33.9138298,4.974463,0.6671866,0.7599988,8.5075623,5.3459142,40.6544539,20.0220856,31.80172,69.681033,37.7672424,48.5775892,21.8362074,6.6810308,10.4407231,8.6309523,34.7222287,4.9492119,0.7209318,0.7807701,8.8469847,5.5407882,39.827179,20.2017645,31.7190606,69.582484,37.9563883,48.9773507,21.6446919,6.5162221,10.7033176,8.4928195,34.2322222,4.8871918 +1557,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9582899,1.9582899,34.9612403,30.3100775,65.5645161,7.4845679,30.3767661,60.8320251,26.2951334,37.755102,14.3642072,6.8288854,14.6302251,11.0576923,36.2903226,18.0981595,2.0004518,2.0004518,34.0909091,30.1724138,65.1294498,7.7932099,32.4175824,61.1459969,27.2370487,37.1271586,15.1491366,7.4568289,16.2295082,11.6013072,36.0197368,19.0909091,1.8720509,1.8720509,34.070122,30.2591463,65.3426791,7.7095808,33.3080425,62.5948407,27.5417299,37.8603945,15.2503794,6.6009105,16.4576803,11.09375,36.6352201,18.4848485,1.9330927,1.9330927,34.563253,30.496988,65.1001541,7.1851852,34.2578711,63.0434783,28.7106447,38.155922,15.6671664,6.6716642,17.0623145,11.9822485,36.7559524,17.3529412,1.8222627,1.8222627,34.5982143,30.5803571,66.0741886,6.2776957,35.3073463,64.0929535,28.1109445,38.155922,15.6671664,6.5217391,17.1130952,12.6488095,36.8656716,16.8571429 +1558,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2614327,0.2916267,7.2644208,4.5225353,49.7958558,19.261412,27.4047454,66.6302248,34.7439105,41.3959923,18.6602145,7.9169291,9.3827965,7.8437529,35.6606145,2.5297619,0.2718397,0.2893136,7.5396825,4.7142845,49.1945701,19.5411129,27.4198595,66.8604589,35.0879956,41.4361941,18.6517921,7.8409835,8.7957175,7.548962,35.4522529,3.4743223,0.2856107,0.2988983,7.0106638,4.3757823,48.0269318,19.7025476,26.8677725,66.7239763,34.4013757,42.3726096,18.8340097,7.3616776,8.8564308,7.5653774,35.5451704,4.5741354,0.2985928,0.3117867,7.024401,4.4274041,47.7777772,19.8623914,26.2838488,67.1490872,34.375974,42.9660731,18.8764391,7.6097129,9.3272144,7.4969367,36.5113439,5.2215239,0.305781,0.3098791,7.1155635,4.4412554,47.669969,20.8799792,26.9255149,67.2741756,34.215527,43.8510232,19.6354965,8.0348681,8.7429964,6.8718869,36.2812574,5.2013475 +1559,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3733448,0.4578756,7.7829043,4.8729768,61.9416981,21.0105126,30.5309676,63.9729844,31.7885415,42.6874608,17.7689828,5.3796017,10.7484807,8.5801424,33.1441164,3.3505172,0.3808047,0.4695359,7.5219028,4.9415752,61.1877729,22.3684126,30.4400916,64.3765271,31.6625958,42.7628257,17.9706632,5.7457238,10.9015669,8.6175139,31.9649535,2.57143,0.3072372,0.3815811,7.705821,4.9949767,59.6406861,22.5196432,30.9919379,65.030206,31.7975877,44.2849832,18.4038273,6.0674741,10.90298,8.1406567,31.3583875,2.6162791,0.3206662,0.3982595,7.3498669,4.8735659,59.1726124,21.8542107,30.3994819,65.1867903,32.3963423,44.6927505,18.260715,6.1744864,10.4806508,8.0513423,31.5710785,4.9342105,0.2126416,0.2445798,7.214516,4.5961203,57.8074662,22.2618518,30.6895887,65.0507068,33.4362318,44.4228151,19.871162,6.3621351,10.0329761,8.4066618,32.7645732,4.8148148 +1560,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6383813,0.73732,8.663129,5.5837286,43.4709331,13.8745532,26.8643806,70.5313542,40.8358841,44.6642278,20.7589894,4.8764659,11.8279897,9.3446837,32.9878542,10.4355116,0.6804435,0.7616785,8.8317264,5.7954656,43.6582669,14.2451276,26.250904,69.8267132,40.5085977,44.0067817,20.5258671,4.943312,11.2184659,9.1497137,32.9134497,10.7838019,0.7536477,0.7931088,8.6886567,5.7377921,43.1921029,14.4542772,26.975937,70.0311113,40.5316819,44.1636993,21.8267927,5.1907581,10.6854394,9.214446,32.1172706,10.9813084,0.8112693,0.8158324,8.9788046,6.0866504,43.5668537,14.6768952,27.1126698,69.7078128,40.0809467,43.95454,20.9037742,5.2698886,10.7861755,9.1857397,32.0417104,12.7802691,0.7908179,0.7852407,8.8987634,5.9443271,43.0721142,14.5800992,27.0147993,68.8952938,40.3256521,44.7843641,21.4987628,5.298967,10.0624054,8.7462153,32.0612062,12.2844828 +1561,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.685832,1.71927,27.5733217,23.0128164,43.0510702,18.8868497,37.8193561,65.0362441,35.5561343,47.1815103,22.3632931,3.8818155,12.3852811,10.2561995,31.2683257,16.0279792,1.6183229,1.5978359,28.2608615,23.2391703,43.1524416,19.3254393,38.1875342,64.2997705,35.942751,48.3028726,22.6326594,3.7297541,11.9185693,10.0082571,31.2113948,15.8891658,1.6162285,1.5957676,28.3789755,23.5995984,42.7328168,18.8690446,40.1347006,64.3037326,36.5648799,48.8992956,22.7920577,3.4773579,11.8190937,10.1955174,31.7643025,15.6029487,1.6846888,1.6640422,28.9223887,24.1562348,43.79056,18.1878012,40.764665,64.2764944,35.7206706,49.1020918,22.5844406,3.6450084,11.5796188,10.1604146,31.9519681,15.6409178,1.6709346,1.6665015,28.8839298,24.0258614,42.702101,18.3934936,41.4107687,65.0544517,37.1688536,48.7608806,23.4551098,3.5361014,11.2349774,9.709289,32.3705365,13.8476997 +1562,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7428176,2.847326,37.0492938,31.3028678,46.4594159,19.4992119,34.836491,65.5057757,33.5450483,45.7178307,20.2406959,3.7066568,15.0425945,11.914096,33.3498948,20.1088397,2.6415112,2.7452973,36.3194031,31.0418542,46.9659373,19.0077608,35.3407322,66.1066901,32.1546904,45.810172,20.1234505,3.6284033,14.2855019,11.1683272,31.8713733,22.3114886,2.2865569,2.3918239,36.2216647,31.2339675,48.7199173,19.2764361,35.3188667,66.6166444,32.0082093,45.2553231,20.5789165,3.5911614,14.1998592,11.2027101,33.0462865,23.7980998,1.9570534,2.0517775,35.5637169,30.8136681,49.3543587,19.3299767,35.7432171,66.6579865,32.5191997,45.1670047,20.6365463,3.2550764,16.1327754,11.735448,33.0409749,24.3961836,1.8462632,1.892056,36.4046888,32.212446,49.1621307,18.4716946,36.1581766,67.1831561,32.2481951,45.3683558,20.5212136,2.7424663,17.2356723,11.8633001,32.6646492,24.5049879 +1563,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5557646,0.6188729,7.9695247,4.8365034,40.8563409,20.0187803,32.6034177,68.1755228,38.6619366,48.0958953,22.4078285,6.9845945,10.3652086,9.1478693,34.0122576,5.1767424,0.6387253,0.7081246,8.3062999,5.0623225,40.7221959,20.5546046,32.3896038,68.8051941,37.8614739,47.8701323,21.5324677,6.9004307,10.3713051,8.6964278,33.9138298,4.974463,0.6671866,0.7599988,8.5075623,5.3459142,40.6544539,20.0220856,31.80172,69.681033,37.7672424,48.5775892,21.8362074,6.6810308,10.4407231,8.6309523,34.7222287,4.9492119,0.7209318,0.7807701,8.8469847,5.5407882,39.827179,20.2017645,31.7190606,69.582484,37.9563883,48.9773507,21.6446919,6.5162221,10.7033176,8.4928195,34.2322222,4.8871918,0.7090738,0.7660561,8.9612548,5.498764,39.3452434,20.4620734,31.6800905,68.5380934,37.8902298,49.2027545,21.6599522,6.6549126,10.3863146,8.6078055,34.3515353,4.3859398 +1564,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5571004,1.5675299,33.7764199,29.7625033,56.7211967,15.2500656,33.0386996,63.5073726,30.2013531,42.2353149,16.0124814,1.7793383,18.9006883,12.8453194,38.636673,23.9083173,1.6093872,1.631909,34.2375417,30.1262519,57.2223766,15.919404,32.4838216,63.2300344,30.9586931,41.9596023,16.1785913,1.779202,18.6300505,12.622956,37.871315,23.8864848,1.4809255,1.4968563,34.7412295,30.6661633,58.4294797,15.9443704,33.2197848,63.1482162,31.3435759,42.7672904,16.3143692,1.7731002,19.6181154,12.9612492,39.4441694,23.3435429,1.3881583,1.4645125,34.77946,30.8522674,59.2192819,15.682094,33.4890013,62.6686449,32.3358975,42.7298745,16.3181163,1.5912654,18.5288551,12.9493014,40.2673354,23.225526,1.4898739,1.5628894,34.9911473,30.9581778,59.8498246,15.7834772,34.2572832,62.3075604,32.853673,43.0297451,17.4928073,1.9720135,17.7983527,14.0071416,40.0519477,20.8171764 +1565,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.774521,0.7851342,9.123328,6.0953594,57.6698733,8.739451,25.2624061,66.7333968,32.7575446,40.388641,17.3611621,6.7460703,10.3586399,8.6202591,36.543645,6.0128666,0.8032501,0.816877,9.3718242,6.2873216,57.4992504,8.7613661,25.6789483,66.4568339,33.2480735,40.2151868,17.4843757,6.8282838,10.6326272,8.9289707,36.514587,6.1445783,0.8030935,0.8149697,9.6802307,6.4666089,57.7352077,8.6926717,25.9335105,66.102852,32.660122,40.1741636,17.1363081,6.6102177,10.6891477,8.9676022,36.3883095,6.4858491,0.7899386,0.8079257,9.9714306,6.730628,57.824641,8.7732474,26.1605111,65.5411376,32.8284527,40.2818239,16.9682399,6.4977579,10.5581816,8.8527976,36.8240528,6.5301391,0.8139656,0.8435384,10.1319645,6.9294931,57.5222738,8.6382646,26.0439922,65.1703895,32.7834006,40.0670155,17.0787839,6.336456,10.254469,8.8755754,36.8330555,7.1380922 +1566,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6387253,0.7081246,8.3062999,5.0623225,40.7221959,20.5546046,32.3896038,68.8051941,37.8614739,47.8701323,21.5324677,6.9004307,10.3713051,8.6964278,33.9138298,4.974463,0.6671866,0.7599988,8.5075623,5.3459142,40.6544539,20.0220856,31.80172,69.681033,37.7672424,48.5775892,21.8362074,6.6810308,10.4407231,8.6309523,34.7222287,4.9492119,0.7209318,0.7807701,8.8469847,5.5407882,39.827179,20.2017645,31.7190606,69.582484,37.9563883,48.9773507,21.6446919,6.5162221,10.7033176,8.4928195,34.2322222,4.8871918,0.7090738,0.7660561,8.9612548,5.498764,39.3452434,20.4620734,31.6800905,68.5380934,37.8902298,49.2027545,21.6599522,6.6549126,10.3863146,8.6078055,34.3515353,4.3859398,0.6889038,0.7551038,8.9852031,5.7489032,38.8564332,20.5714753,31.2489711,68.2072821,37.971659,49.4397801,21.4120986,6.5002427,9.9771434,8.398816,33.53639,5.1898481 +1567,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6686618,1.759529,25.8324036,21.7067877,53.6349499,16.055451,40.4162979,65.2879578,33.7042115,47.5941196,20.3154287,2.4652382,15.1668429,11.9252508,35.3991844,13.4740172,1.7265214,1.8174871,26.3271393,22.5305535,53.0784726,16.2163918,40.9520426,65.4456734,33.5897525,47.541482,20.6014963,2.5023489,14.5071437,11.2648149,36.1642412,12.5798434,1.647428,1.7379164,26.9355442,23.1172946,53.2915322,15.4121845,40.5288678,65.6452371,33.5389109,46.7031251,20.4104197,2.2093386,14.3471282,11.3053489,36.5671138,11.343908,1.764756,1.8226731,27.8217567,23.8817516,53.6877739,14.577189,40.1427503,65.4203377,33.8924784,47.0880198,20.847086,2.2846097,14.9696862,11.9956883,35.9899739,10.992652,1.8596572,1.9356585,28.6268515,24.2805275,55.1672286,13.8608758,40.5444364,65.1975181,33.9583091,47.4025218,21.3594094,2.3317028,15.8727385,12.1272673,36.3328291,12.850565 +1568,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2197162,1.2429533,15.6453026,11.9926711,35.5322768,19.8903082,33.6686188,66.9472402,37.1979341,46.2251601,25.3386447,3.139084,10.8999699,9.0731372,35.4573669,13.0554878,1.2034487,1.2174557,15.8100743,12.1915993,36.6393508,19.2582285,33.4652063,66.9922847,36.3320022,45.8042779,24.2005155,2.9289504,11.2017547,9.2290534,35.4575648,12.4316933,1.2169952,1.223529,16.9408015,12.9745096,36.8920198,18.7344631,33.5830414,67.0582977,35.5900579,45.7093439,23.249765,3.0529339,11.3495555,9.0588039,35.0472755,12.5738947,1.1718554,1.133893,18.1939125,14.3978459,38.281759,18.1411488,34.4719982,67.401471,34.5889364,45.396403,23.1178576,3.0237959,11.5640458,9.1061801,36.6400114,12.3571078,1.2849736,1.2494329,19.551034,15.2780686,38.1647083,17.0942359,35.1693257,66.6483405,33.8244297,45.0928082,22.7012086,3.0352342,11.3652178,8.9299226,36.2020317,15.0996319 +1569,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2718397,0.2893136,7.5396825,4.7142845,49.1945701,19.5411129,27.4198595,66.8604589,35.0879956,41.4361941,18.6517921,7.8409835,8.7957175,7.548962,35.4522529,3.4743223,0.2856107,0.2988983,7.0106638,4.3757823,48.0269318,19.7025476,26.8677725,66.7239763,34.4013757,42.3726096,18.8340097,7.3616776,8.8564308,7.5653774,35.5451704,4.5741354,0.2985928,0.3117867,7.024401,4.4274041,47.7777772,19.8623914,26.2838488,67.1490872,34.375974,42.9660731,18.8764391,7.6097129,9.3272144,7.4969367,36.5113439,5.2215239,0.305781,0.3098791,7.1155635,4.4412554,47.669969,20.8799792,26.9255149,67.2741756,34.215527,43.8510232,19.6354965,8.0348681,8.7429964,6.8718869,36.2812574,5.2013475,0.2592356,0.2592356,6.7996188,4.3184623,47.8743398,21.106374,27.2882377,67.3440999,34.2382866,43.3912466,19.7486788,8.2997236,8.9383687,7.2910281,36.9858845,4.9679535 +1570,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5294169,0.5377187,9.2727296,6.2352977,50.9706607,14.569044,31.3966094,68.2124179,36.2836522,45.9274774,21.5790791,3.355776,9.7024418,7.8361481,31.2421169,5.4770555,0.5962623,0.5818452,9.5039574,6.2540124,50.6260955,13.9880353,31.2973002,67.8594553,36.2270225,45.7405646,21.2865067,3.621622,9.7361959,8.0496183,31.3978337,5.8333531,0.6115749,0.6036432,9.1116944,5.7805386,49.6431033,14.2004923,31.1441112,67.7997756,36.8866894,46.1496307,21.1771422,3.4873488,10.0593087,8.4360489,31.4854676,5.8719071,0.585724,0.577488,9.2358116,6.0479298,49.1554812,14.239098,31.0143879,68.3230541,36.8403095,45.9790008,21.7386531,3.7582819,10.1052234,8.5645134,31.4962563,7.0881446,0.6006298,0.5921079,8.7897972,5.79354,47.6457956,14.7462863,31.3621202,68.3781894,37.8305039,46.4707425,21.3763145,3.812561,9.5987361,8.3066419,31.5607868,6.1023848 +1571,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7286679,1.7930759,29.13783,23.2657501,35.6661457,15.8998436,37.1418619,61.1086963,34.6207323,45.9588791,21.0453321,2.6415972,13.5934819,11.1130259,40.5211613,23.1855026,1.8108739,1.8752404,30.0082642,24.4930283,37.6478234,15.4592095,37.4438145,60.3588245,34.1981478,45.1519229,21.6070806,2.7030615,13.5036091,11.2654166,40.4799415,21.5356128,1.7652799,1.8216005,30.2704257,24.8893682,39.3091219,15.4011101,37.0731007,61.4963831,35.0474613,45.6212515,22.6613486,2.9482411,13.9973437,11.2243775,40.0148362,23.4767446,1.8168545,1.8273261,30.2946557,25.0014354,41.1671775,15.3233789,36.7411373,62.2691257,34.9645191,45.5121235,22.200501,2.9521024,14.5775092,11.0916224,40.3450079,22.3510195,1.7812885,1.7993584,30.3370869,25.1510179,42.0838266,15.0303532,36.4701176,62.8542121,35.8938928,45.4900358,22.9551941,2.820839,14.9765525,11.3882289,39.6522611,22.6984242 +1572,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2856107,0.2988983,7.0106638,4.3757823,48.0269318,19.7025476,26.8677725,66.7239763,34.4013757,42.3726096,18.8340097,7.3616776,8.8564308,7.5653774,35.5451704,4.5741354,0.2985928,0.3117867,7.024401,4.4274041,47.7777772,19.8623914,26.2838488,67.1490872,34.375974,42.9660731,18.8764391,7.6097129,9.3272144,7.4969367,36.5113439,5.2215239,0.305781,0.3098791,7.1155635,4.4412554,47.669969,20.8799792,26.9255149,67.2741756,34.215527,43.8510232,19.6354965,8.0348681,8.7429964,6.8718869,36.2812574,5.2013475,0.2592356,0.2592356,6.7996188,4.3184623,47.8743398,21.106374,27.2882377,67.3440999,34.2382866,43.3912466,19.7486788,8.2997236,8.9383687,7.2910281,36.9858845,4.9679535,0.2865524,0.2865524,6.8329677,4.2609186,48.0940695,21.6341847,27.3184816,67.5869497,34.6095185,43.0292836,19.9359347,8.6485663,8.2936895,7.2278376,36.6327785,5.3054714 +1573,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8032501,0.816877,9.3718242,6.2873216,57.4992504,8.7613661,25.6789483,66.4568339,33.2480735,40.2151868,17.4843757,6.8282838,10.6326272,8.9289707,36.514587,6.1445783,0.8030935,0.8149697,9.6802307,6.4666089,57.7352077,8.6926717,25.9335105,66.102852,32.660122,40.1741636,17.1363081,6.6102177,10.6891477,8.9676022,36.3883095,6.4858491,0.7899386,0.8079257,9.9714306,6.730628,57.824641,8.7732474,26.1605111,65.5411376,32.8284527,40.2818239,16.9682399,6.4977579,10.5581816,8.8527976,36.8240528,6.5301391,0.8139656,0.8435384,10.1319645,6.9294931,57.5222738,8.6382646,26.0439922,65.1703895,32.7834006,40.0670155,17.0787839,6.336456,10.254469,8.8755754,36.8330555,7.1380922,0.7988636,0.8255633,10.4484898,7.3020701,57.7130931,8.6016899,25.8970158,65.1553025,32.6704148,39.8810972,16.9088855,6.359306,10.3355103,9.0341206,37.0249191,7.5640064 +1574,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3808047,0.4695359,7.5219028,4.9415752,61.1877729,22.3684126,30.4400916,64.3765271,31.6625958,42.7628257,17.9706632,5.7457238,10.9015669,8.6175139,31.9649535,2.57143,0.3072372,0.3815811,7.705821,4.9949767,59.6406861,22.5196432,30.9919379,65.030206,31.7975877,44.2849832,18.4038273,6.0674741,10.90298,8.1406567,31.3583875,2.6162791,0.3206662,0.3982595,7.3498669,4.8735659,59.1726124,21.8542107,30.3994819,65.1867903,32.3963423,44.6927505,18.260715,6.1744864,10.4806508,8.0513423,31.5710785,4.9342105,0.2126416,0.2445798,7.214516,4.5961203,57.8074662,22.2618518,30.6895887,65.0507068,33.4362318,44.4228151,19.871162,6.3621351,10.0329761,8.4066618,32.7645732,4.8148148,0.2766298,0.3151225,7.3958023,4.7687199,55.8335696,23.0275053,30.8993322,65.9510143,33.6484741,44.7596355,20.1318208,5.9278619,9.9772803,8.0572119,31.4075807,5.952381 +1575,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5053302,0.5053302,13.4586099,10.3590512,57.0599179,28.0290473,33.305948,68.3388145,31.0031982,41.0362497,16.3653873,4.8519673,15.7097248,11.2796512,36.6556868,3.0974,0.359153,0.359153,12.293912,8.9935329,56.5990853,26.3980059,33.2496359,67.9229939,31.909332,42.1274842,16.666904,4.9413601,16.0779942,10.3874885,38.6926647,4.9550442,0.4272206,0.4272206,13.708584,10.3804885,56.896689,28.3545384,35.251296,67.6662482,32.9818968,42.7067472,17.7474082,5.2674145,17.0178424,9.6155527,38.4212004,4.4000704,0.534575,0.534575,13.0896118,10.0001382,57.3008269,29.1664999,34.2454247,66.086172,34.7425295,42.5373326,16.0035423,5.3897111,18.7039808,9.4445844,41.0112886,5.158812,0.6342118,0.6342118,13.5553708,10.4709152,56.868015,31.3104377,34.400534,65.1066024,34.5644114,43.9243865,16.5025977,5.3366054,17.9349776,8.5145853,37.0438362,5.4622767 +1576,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.805789,0.8115986,10.7877671,7.8831894,30.377746,13.8188447,32.1930388,69.2673603,41.2085274,48.8769456,21.7547253,6.7905145,10.6927672,9.1776618,33.3699602,6.8306011,0.8128677,0.852824,10.5397423,7.6463003,31.0239684,14.0298694,32.1566687,69.9310865,40.5015471,47.8579317,21.2482905,6.863494,11.4578002,9.2107376,34.324103,6.7164179,0.8854313,0.9311584,10.2679975,7.2714703,29.7202162,13.4909866,31.7156284,70.6675865,40.1796175,48.8999753,21.3815868,6.9076814,11.4554782,9.6716166,33.6941989,7.4519231,0.828979,0.8653465,10.5115833,7.3765364,27.9836258,13.8646191,30.7017676,70.3475907,40.2422067,49.7102131,21.2686458,6.9212376,11.4236122,9.5396853,32.4141173,7.9487179,0.8279856,0.8806077,10.6805109,7.4039675,27.3690613,13.973914,30.6466195,70.2512415,40.5561838,50.0347448,21.5977512,7.127787,11.1551955,9.5394467,31.7085224,6.684492 +1577,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5120558,0.5147151,8.2015015,5.5938458,31.3233153,11.5557343,28.8021225,70.6454863,37.3123584,50.6735134,21.223775,3.6509309,11.0820472,9.9303729,31.2454362,2.689876,0.5416609,0.5312915,8.1324933,5.571923,30.4066448,11.7810247,28.8584694,70.7884703,37.2141706,50.5129178,20.9564548,3.6062178,10.9432138,9.7150496,31.6047137,2.419358,0.5675011,0.542084,8.3469291,5.626148,29.840532,11.7595855,28.6383391,69.9636049,37.4032704,50.460726,20.7940523,3.6753363,10.9080155,9.8518129,32.1209883,2.3364501,0.5848168,0.5749771,8.4165356,5.5978764,29.2245002,11.6362781,28.5860742,70.0616294,37.9214872,50.3264151,21.1908761,3.6815632,10.5485566,9.3216225,31.5323151,3.0351447,0.6081751,0.6131153,8.4076711,5.4722359,28.8219709,11.5286055,29.2556024,69.4849762,38.0059361,50.0719868,21.3497788,3.6738502,10.3713158,9.335552,31.9608922,2.9595016 +1578,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8034702,0.8177218,9.9687296,6.0274459,50.9600413,10.653137,32.2729979,66.7316439,42.589073,45.4942546,24.4989618,4.7949083,10.4323111,10.0616023,39.3293983,4.7851553,0.7612831,0.8003838,10.2637741,6.3210247,49.5713297,11.0221019,32.2023315,66.5347865,43.0266232,46.0796652,24.3893736,4.6974667,10.7242576,9.8326139,37.7153294,4.7861507,0.7852682,0.8286503,10.4225026,6.5482798,49.5577688,11.1012757,32.151771,66.8076672,42.8620792,45.9142711,24.3687311,4.8210227,10.3002323,9.2309609,37.5491272,5.2480866,0.7819383,0.8097686,10.7749665,6.7369033,48.6853459,11.0735596,32.4282414,67.2078823,42.332552,45.4992731,24.3430564,4.776975,10.0700824,9.0064436,37.1969461,5.491321,0.80299,0.8238361,10.7263749,6.7357704,49.0901329,11.0240157,32.774245,67.2645582,42.5786625,45.2596911,24.3944792,4.6690741,9.7557594,8.361134,37.4642896,5.3345312 +1579,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6018856,0.6135906,7.4145034,4.6757486,45.5584243,13.3907302,28.4546515,67.6499898,32.7623004,42.6570946,18.1191367,14.6929163,9.8163837,9.0048092,34.876107,3.0185759,0.5724062,0.5975951,7.3825001,4.8373076,44.7318219,13.6928556,27.8632644,67.9561675,32.8276964,43.0759189,18.1521299,14.4215384,9.948169,8.9429703,35.1825034,3.1013616,0.5511195,0.588299,7.3900881,4.9057898,44.7077933,14.0066265,27.7645288,68.1237724,33.1672743,43.1448227,18.1939393,14.559358,9.9415998,8.8038928,34.9537655,3.1960241,0.5575885,0.5954386,7.4986255,5.0562548,44.7108686,14.2866837,27.254553,67.8640342,32.7978494,42.4917259,18.0846684,14.554604,10.2637289,9.0946157,35.5302839,3.5318574,0.6040561,0.6563946,7.5259283,5.0423028,44.7423113,14.3639311,27.5433033,67.8237498,32.5611773,42.1295005,18.071216,14.5105854,10.1395741,9.0199851,35.9487016,3.4122572 +1580,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.088729,1.1164745,15.4746446,11.2831525,33.5879487,16.0805172,35.7879038,67.9476037,38.9652229,49.3988896,23.3362191,3.6711065,11.437079,10.2118757,31.7480645,12.8675925,1.2579992,1.2969041,15.8286198,11.7256483,33.2426438,16.3687074,35.1005677,68.4359118,38.799644,49.1651835,23.7625126,3.8819977,11.1678557,9.62701,32.1980513,15.9258754,1.397761,1.416788,16.4962176,12.395891,33.4183547,16.356658,34.8374091,68.0455035,38.9930847,48.2656184,23.0665866,3.789909,11.2589051,10.1592521,33.5491806,16.442908,1.2862234,1.2807192,16.2656275,12.5268047,32.8166943,15.777344,34.2905434,67.99425,39.6161238,47.5477133,22.8178725,3.985084,11.5350974,9.7929383,33.8459838,16.871125,1.255135,1.2498339,16.3134826,12.7107084,33.2927943,15.840565,34.4111287,67.803228,39.226131,47.1903264,22.4954495,3.6197547,11.3076895,9.9647775,33.6225432,16.3793292 +1581,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6671866,0.7599988,8.5075623,5.3459142,40.6544539,20.0220856,31.80172,69.681033,37.7672424,48.5775892,21.8362074,6.6810308,10.4407231,8.6309523,34.7222287,4.9492119,0.7209318,0.7807701,8.8469847,5.5407882,39.827179,20.2017645,31.7190606,69.582484,37.9563883,48.9773507,21.6446919,6.5162221,10.7033176,8.4928195,34.2322222,4.8871918,0.7090738,0.7660561,8.9612548,5.498764,39.3452434,20.4620734,31.6800905,68.5380934,37.8902298,49.2027545,21.6599522,6.6549126,10.3863146,8.6078055,34.3515353,4.3859398,0.6889038,0.7551038,8.9852031,5.7489032,38.8564332,20.5714753,31.2489711,68.2072821,37.971659,49.4397801,21.4120986,6.5002427,9.9771434,8.398816,33.53639,5.1898481,0.632349,0.6899751,9.0625061,5.8734005,38.4824095,20.5278389,30.671115,68.1426713,37.7559355,48.8219111,21.457593,6.4754609,9.5473431,8.4158434,33.1886896,4.2997532 +1582,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7209318,0.7807701,8.8469847,5.5407882,39.827179,20.2017645,31.7190606,69.582484,37.9563883,48.9773507,21.6446919,6.5162221,10.7033176,8.4928195,34.2322222,4.8871918,0.7090738,0.7660561,8.9612548,5.498764,39.3452434,20.4620734,31.6800905,68.5380934,37.8902298,49.2027545,21.6599522,6.6549126,10.3863146,8.6078055,34.3515353,4.3859398,0.6889038,0.7551038,8.9852031,5.7489032,38.8564332,20.5714753,31.2489711,68.2072821,37.971659,49.4397801,21.4120986,6.5002427,9.9771434,8.398816,33.53639,5.1898481,0.632349,0.6899751,9.0625061,5.8734005,38.4824095,20.5278389,30.671115,68.1426713,37.7559355,48.8219111,21.457593,6.4754609,9.5473431,8.4158434,33.1886896,4.2997532,0.6306561,0.6608749,9.3608077,6.180482,38.2490344,20.4570491,30.5887111,68.3929995,38.130476,48.7589549,21.5194954,6.5791541,9.1036829,7.7704796,33.4645679,3.734938 +1583,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.0458788,2.2007635,28.3955024,22.1907215,46.1699384,12.4988335,38.5474768,65.6773945,32.0548222,48.2652012,22.5802406,5.0257956,16.0400175,13.0965,35.4057622,15.0826446,2.0927605,2.218415,29.2423211,23.0286969,46.9479516,12.9765785,37.4833339,65.9803748,32.1320485,47.3692503,22.3936733,5.0379218,16.6467356,13.5895253,35.6327936,13.8429752,2.2597176,2.339899,29.360361,22.716365,47.8722302,13.2065551,36.6974235,65.4552833,32.0410417,47.5004435,22.5847343,4.8721584,16.9299849,12.6033265,35.0864254,14.3152101,2.3770887,2.4095417,29.2337159,22.9090731,47.7089712,13.4543818,37.4768016,64.8408876,32.0344228,47.5227768,23.6733148,5.3184563,15.8287891,11.8836773,34.6388659,14.4350015,2.4202807,2.4299551,29.387114,22.7335064,47.5786431,13.8123712,37.1709488,65.1047011,33.5056443,47.2278723,24.4420332,5.2747245,15.7356011,11.6934877,33.8614593,14.37233 +1584,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6804435,0.7616785,8.8317264,5.7954656,43.6582669,14.2451276,26.250904,69.8267132,40.5085977,44.0067817,20.5258671,4.943312,11.2184659,9.1497137,32.9134497,10.7838019,0.7536477,0.7931088,8.6886567,5.7377921,43.1921029,14.4542772,26.975937,70.0311113,40.5316819,44.1636993,21.8267927,5.1907581,10.6854394,9.214446,32.1172706,10.9813084,0.8112693,0.8158324,8.9788046,6.0866504,43.5668537,14.6768952,27.1126698,69.7078128,40.0809467,43.95454,20.9037742,5.2698886,10.7861755,9.1857397,32.0417104,12.7802691,0.7908179,0.7852407,8.8987634,5.9443271,43.0721142,14.5800992,27.0147993,68.8952938,40.3256521,44.7843641,21.4987628,5.298967,10.0624054,8.7462153,32.0612062,12.2844828,0.912394,0.9067723,9.4101503,6.3941742,43.8155754,15.4411915,26.987842,68.4389969,40.765727,44.4146998,21.465375,5.3829888,9.7986853,8.5318117,32.3404537,13.7860082 +1585,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.0261565,3.0341768,41.2520485,35.8054589,68.8866078,14.3261763,35.3592631,63.24461,25.5870898,37.6680203,17.5626643,2.3130607,18.067708,13.3584476,42.7536432,29.6882109,3.1395144,3.147406,42.1323159,36.734787,69.6590163,13.7568769,35.7013996,62.5353391,25.5908127,37.4393098,17.6491034,2.1316992,18.3520586,13.486931,43.2631319,30.3046359,2.9494733,2.9922837,41.8436136,36.7286019,70.4278192,13.498893,35.8673771,61.8932162,24.9103127,37.6442042,17.7333893,2.0175547,18.4170908,14.0934632,42.4208559,29.237035,2.8445954,2.8791323,40.9080369,35.9720549,70.8493616,12.9879744,35.4167482,61.2383617,25.274017,38.0334517,18.3897264,2.0599805,17.6744207,14.1696739,43.6552955,29.7449377,2.8035113,2.8040892,41.468916,36.5646413,71.0960638,12.9747203,35.9232231,61.2303201,25.64985,38.124855,18.1862492,2.0578625,17.0008284,13.7744694,43.4338747,29.2083083 +1586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.8401261,0.800588,12.8452886,8.734758,46.3656804,13.5006605,29.2283301,60.9344339,33.3712861,38.0681467,18.1325794,3.7493471,12.4871515,10.773927,36.7963713,9.6638655,0.9425519,0.8740026,13.6421752,9.4304521,47.0845225,14.0455821,30.6581056,61.41688,33.3509304,37.9482849,18.098917,3.7064608,13.2909662,11.1043701,37.3759677,11.5740848,0.9695318,0.9552374,14.3054345,9.6868583,48.3145595,13.0154435,30.7617885,60.5355481,32.9805182,37.0731843,17.6493102,3.8796116,13.5939872,10.7423337,37.9128897,14.830521,1.0515317,1.0373883,14.661387,9.8435946,49.6160457,12.7744885,30.9662267,59.8984303,33.3030489,37.8007105,16.8662458,4.016363,13.8195506,10.931145,36.9688125,14.4736969,1.1448033,1.0756716,15.3332177,9.8971067,50.0564934,12.9946867,31.1274081,60.4735208,33.7377812,37.4308817,17.7919474,4.1009156,13.8477188,10.950942,37.7711731,14.3441216 +1587,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5407023,0.5825621,7.7842745,4.6789574,36.3464353,24.258051,30.4953895,68.1723299,32.9100349,45.14981,15.5911572,8.4720748,10.4166693,10.3316356,34.3483237,2.2277117,0.4946871,0.5352165,7.0385139,4.3610388,36.3432977,24.6518117,28.7414101,67.9911142,32.4928898,44.1507966,15.7926445,8.3299432,9.3775696,10.1882236,33.4575403,2.1739025,0.4554344,0.4934019,6.9123272,4.203173,36.5431323,25.7014837,30.335991,68.6758698,33.6560793,44.9604112,15.8695743,8.5177596,10.3238937,9.9919175,33.0475227,3.0092523,0.3688571,0.3791652,6.6705608,4.0492847,35.8013422,25.2012261,29.6461926,68.798582,33.5342076,44.731691,16.5435624,7.9510102,10.7796481,10.453115,33.6678563,3.0952307,0.3973244,0.4075544,6.9266555,4.2879176,36.010243,25.1907365,29.6446168,68.2309595,34.0479056,45.3649622,16.9370469,7.782923,11.5263648,10.7311419,33.743126,2.4999943 +1588,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4946871,0.5352165,7.0385139,4.3610388,36.3432977,24.6518117,28.7414101,67.9911142,32.4928898,44.1507966,15.7926445,8.3299432,9.3775696,10.1882236,33.4575403,2.1739025,0.4554344,0.4934019,6.9123272,4.203173,36.5431323,25.7014837,30.335991,68.6758698,33.6560793,44.9604112,15.8695743,8.5177596,10.3238937,9.9919175,33.0475227,3.0092523,0.3688571,0.3791652,6.6705608,4.0492847,35.8013422,25.2012261,29.6461926,68.798582,33.5342076,44.731691,16.5435624,7.9510102,10.7796481,10.453115,33.6678563,3.0952307,0.3973244,0.4075544,6.9266555,4.2879176,36.010243,25.1907365,29.6446168,68.2309595,34.0479056,45.3649622,16.9370469,7.782923,11.5263648,10.7311419,33.743126,2.4999943,0.4096747,0.4314361,7.4476182,4.4380834,35.6457219,24.9906917,29.8594935,69.267293,34.3014719,45.8427874,17.4069996,7.6119972,11.5237101,10.6732731,33.9630286,3.2608625 +1589,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2034487,1.2174557,15.8100743,12.1915993,36.6393508,19.2582285,33.4652063,66.9922847,36.3320022,45.8042779,24.2005155,2.9289504,11.2017547,9.2290534,35.4575648,12.4316933,1.2169952,1.223529,16.9408015,12.9745096,36.8920198,18.7344631,33.5830414,67.0582977,35.5900579,45.7093439,23.249765,3.0529339,11.3495555,9.0588039,35.0472755,12.5738947,1.1718554,1.133893,18.1939125,14.3978459,38.281759,18.1411488,34.4719982,67.401471,34.5889364,45.396403,23.1178576,3.0237959,11.5640458,9.1061801,36.6400114,12.3571078,1.2849736,1.2494329,19.551034,15.2780686,38.1647083,17.0942359,35.1693257,66.6483405,33.8244297,45.0928082,22.7012086,3.0352342,11.3652178,8.9299226,36.2020317,15.0996319,1.3668974,1.3323041,19.7233527,15.6280701,38.9862861,16.9130174,35.4065023,66.9811537,33.8385691,44.9929307,22.8618894,3.0113155,11.4578618,8.6391891,36.9928617,16.4291469 +1590,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8030935,0.8149697,9.6802307,6.4666089,57.7352077,8.6926717,25.9335105,66.102852,32.660122,40.1741636,17.1363081,6.6102177,10.6891477,8.9676022,36.3883095,6.4858491,0.7899386,0.8079257,9.9714306,6.730628,57.824641,8.7732474,26.1605111,65.5411376,32.8284527,40.2818239,16.9682399,6.4977579,10.5581816,8.8527976,36.8240528,6.5301391,0.8139656,0.8435384,10.1319645,6.9294931,57.5222738,8.6382646,26.0439922,65.1703895,32.7834006,40.0670155,17.0787839,6.336456,10.254469,8.8755754,36.8330555,7.1380922,0.7988636,0.8255633,10.4484898,7.3020701,57.7130931,8.6016899,25.8970158,65.1553025,32.6704148,39.8810972,16.9088855,6.359306,10.3355103,9.0341206,37.0249191,7.5640064,0.7820923,0.7941029,10.6579978,7.6752314,57.6459871,8.8632905,26.1273701,65.0808857,32.5947715,39.8759654,17.0472552,6.3524675,10.3715107,9.2112502,37.0274443,6.6794929 +1591,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.359153,0.359153,12.293912,8.9935329,56.5990853,26.3980059,33.2496359,67.9229939,31.909332,42.1274842,16.666904,4.9413601,16.0779942,10.3874885,38.6926647,4.9550442,0.4272206,0.4272206,13.708584,10.3804885,56.896689,28.3545384,35.251296,67.6662482,32.9818968,42.7067472,17.7474082,5.2674145,17.0178424,9.6155527,38.4212004,4.4000704,0.534575,0.534575,13.0896118,10.0001382,57.3008269,29.1664999,34.2454247,66.086172,34.7425295,42.5373326,16.0035423,5.3897111,18.7039808,9.4445844,41.0112886,5.158812,0.6342118,0.6342118,13.5553708,10.4709152,56.868015,31.3104377,34.400534,65.1066024,34.5644114,43.9243865,16.5025977,5.3366054,17.9349776,8.5145853,37.0438362,5.4622767,0.6612612,0.7115381,14.1129478,10.5646098,56.7229613,31.0874529,34.50818,64.5082046,33.032347,43.6885087,15.9836687,4.8361092,17.3078133,7.8671879,36.7958577,4.8246037 +1592,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.1395144,3.147406,42.1323159,36.734787,69.6590163,13.7568769,35.7013996,62.5353391,25.5908127,37.4393098,17.6491034,2.1316992,18.3520586,13.486931,43.2631319,30.3046359,2.9494733,2.9922837,41.8436136,36.7286019,70.4278192,13.498893,35.8673771,61.8932162,24.9103127,37.6442042,17.7333893,2.0175547,18.4170908,14.0934632,42.4208559,29.237035,2.8445954,2.8791323,40.9080369,35.9720549,70.8493616,12.9879744,35.4167482,61.2383617,25.274017,38.0334517,18.3897264,2.0599805,17.6744207,14.1696739,43.6552955,29.7449377,2.8035113,2.8040892,41.468916,36.5646413,71.0960638,12.9747203,35.9232231,61.2303201,25.64985,38.124855,18.1862492,2.0578625,17.0008284,13.7744694,43.4338747,29.2083083,2.6133668,2.6168449,40.4285411,35.5450045,71.4514093,12.7081181,36.1420761,61.45135,25.8103705,38.2293407,17.6239968,2.0997872,16.7919007,13.0087301,43.503812,27.2146445 +1593,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2579992,1.2969041,15.8286198,11.7256483,33.2426438,16.3687074,35.1005677,68.4359118,38.799644,49.1651835,23.7625126,3.8819977,11.1678557,9.62701,32.1980513,15.9258754,1.397761,1.416788,16.4962176,12.395891,33.4183547,16.356658,34.8374091,68.0455035,38.9930847,48.2656184,23.0665866,3.789909,11.2589051,10.1592521,33.5491806,16.442908,1.2862234,1.2807192,16.2656275,12.5268047,32.8166943,15.777344,34.2905434,67.99425,39.6161238,47.5477133,22.8178725,3.985084,11.5350974,9.7929383,33.8459838,16.871125,1.255135,1.2498339,16.3134826,12.7107084,33.2927943,15.840565,34.4111287,67.803228,39.226131,47.1903264,22.4954495,3.6197547,11.3076895,9.9647775,33.6225432,16.3793292,1.3562954,1.3512018,16.8177927,13.2312885,33.046117,15.8917122,34.8076118,67.5780801,39.5508656,47.8734698,22.8339639,3.7645884,11.5638036,9.8173351,34.0430018,16.0526485 +1594,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5416609,0.5312915,8.1324933,5.571923,30.4066448,11.7810247,28.8584694,70.7884703,37.2141706,50.5129178,20.9564548,3.6062178,10.9432138,9.7150496,31.6047137,2.419358,0.5675011,0.542084,8.3469291,5.626148,29.840532,11.7595855,28.6383391,69.9636049,37.4032704,50.460726,20.7940523,3.6753363,10.9080155,9.8518129,32.1209883,2.3364501,0.5848168,0.5749771,8.4165356,5.5978764,29.2245002,11.6362781,28.5860742,70.0616294,37.9214872,50.3264151,21.1908761,3.6815632,10.5485566,9.3216225,31.5323151,3.0351447,0.6081751,0.6131153,8.4076711,5.4722359,28.8219709,11.5286055,29.2556024,69.4849762,38.0059361,50.0719868,21.3497788,3.6738502,10.3713158,9.335552,31.9608922,2.9595016,0.7106461,0.7155659,8.5838298,5.5485835,28.6327345,11.1450836,29.9761353,68.8331433,37.5951143,49.3256647,20.9442102,3.7063056,10.0994942,9.1375171,31.3928345,3.2915371 +1595,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7536477,0.7931088,8.6886567,5.7377921,43.1921029,14.4542772,26.975937,70.0311113,40.5316819,44.1636993,21.8267927,5.1907581,10.6854394,9.214446,32.1172706,10.9813084,0.8112693,0.8158324,8.9788046,6.0866504,43.5668537,14.6768952,27.1126698,69.7078128,40.0809467,43.95454,20.9037742,5.2698886,10.7861755,9.1857397,32.0417104,12.7802691,0.7908179,0.7852407,8.8987634,5.9443271,43.0721142,14.5800992,27.0147993,68.8952938,40.3256521,44.7843641,21.4987628,5.298967,10.0624054,8.7462153,32.0612062,12.2844828,0.912394,0.9067723,9.4101503,6.3941742,43.8155754,15.4411915,26.987842,68.4389969,40.765727,44.4146998,21.465375,5.3829888,9.7986853,8.5318117,32.3404537,13.7860082,0.8347727,0.8291277,9.3736627,6.5197222,42.7863543,15.6976,27.1268606,67.9188449,40.9853048,43.7100046,21.1858191,5.2223414,10.0469539,8.367648,32.2161479,12.7615063 +1596,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4554344,0.4934019,6.9123272,4.203173,36.5431323,25.7014837,30.335991,68.6758698,33.6560793,44.9604112,15.8695743,8.5177596,10.3238937,9.9919175,33.0475227,3.0092523,0.3688571,0.3791652,6.6705608,4.0492847,35.8013422,25.2012261,29.6461926,68.798582,33.5342076,44.731691,16.5435624,7.9510102,10.7796481,10.453115,33.6678563,3.0952307,0.3973244,0.4075544,6.9266555,4.2879176,36.010243,25.1907365,29.6446168,68.2309595,34.0479056,45.3649622,16.9370469,7.782923,11.5263648,10.7311419,33.743126,2.4999943,0.4096747,0.4314361,7.4476182,4.4380834,35.6457219,24.9906917,29.8594935,69.267293,34.3014719,45.8427874,17.4069996,7.6119972,11.5237101,10.6732731,33.9630286,3.2608625,0.4847416,0.4859822,7.3595514,4.5880038,34.8116259,25.1944276,29.4789817,70.6334618,34.9513082,46.2705856,17.9722797,7.440032,11.5441465,10.6453769,34.1928606,3.2894665 +1597,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5230064,0.5391378,9.9007642,6.7816626,44.0616043,19.2417846,32.7611236,69.3181796,40.4013345,45.5270828,23.2833551,3.7959372,7.9327054,7.4806989,34.3507907,3.3582039,0.5293618,0.5462823,10.1842729,6.8974104,43.167882,19.8353423,31.8411703,69.9291836,41.502272,46.2063686,23.4951873,4.0212439,8.4615546,8.1790184,34.1097478,2.7999978,0.4915068,0.5086087,10.4428917,6.8696614,40.6652903,20.9026847,32.6952596,69.6528872,42.4961723,46.681986,24.1705029,3.9050532,8.2564163,7.9814686,32.209551,3.4615385,0.5201346,0.5420037,9.9416641,6.4414271,39.4606593,20.4204967,32.7214947,69.3832625,42.1683842,47.503679,24.7919861,3.5976545,7.9819321,8.4088762,32.5380614,4.1666635,0.4550412,0.4762421,9.4957619,6.1498687,38.5783017,20.4929593,32.9122977,69.9952317,42.3975353,48.1649296,25.2383411,3.5510037,8.0059057,8.3251347,33.0525077,4.7445221 +1598,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3072372,0.3815811,7.705821,4.9949767,59.6406861,22.5196432,30.9919379,65.030206,31.7975877,44.2849832,18.4038273,6.0674741,10.90298,8.1406567,31.3583875,2.6162791,0.3206662,0.3982595,7.3498669,4.8735659,59.1726124,21.8542107,30.3994819,65.1867903,32.3963423,44.6927505,18.260715,6.1744864,10.4806508,8.0513423,31.5710785,4.9342105,0.2126416,0.2445798,7.214516,4.5961203,57.8074662,22.2618518,30.6895887,65.0507068,33.4362318,44.4228151,19.871162,6.3621351,10.0329761,8.4066618,32.7645732,4.8148148,0.2766298,0.3151225,7.3958023,4.7687199,55.8335696,23.0275053,30.8993322,65.9510143,33.6484741,44.7596355,20.1318208,5.9278619,9.9772803,8.0572119,31.4075807,5.952381,0.3684648,0.3656245,7.4252127,4.6019357,55.9788006,22.9685771,31.1156506,67.1860008,33.5505257,45.7249863,20.130329,5.8041033,10.3584308,8.0157634,30.9553093,4.4715447 +1599,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5675011,0.542084,8.3469291,5.626148,29.840532,11.7595855,28.6383391,69.9636049,37.4032704,50.460726,20.7940523,3.6753363,10.9080155,9.8518129,32.1209883,2.3364501,0.5848168,0.5749771,8.4165356,5.5978764,29.2245002,11.6362781,28.5860742,70.0616294,37.9214872,50.3264151,21.1908761,3.6815632,10.5485566,9.3216225,31.5323151,3.0351447,0.6081751,0.6131153,8.4076711,5.4722359,28.8219709,11.5286055,29.2556024,69.4849762,38.0059361,50.0719868,21.3497788,3.6738502,10.3713158,9.335552,31.9608922,2.9595016,0.7106461,0.7155659,8.5838298,5.5485835,28.6327345,11.1450836,29.9761353,68.8331433,37.5951143,49.3256647,20.9442102,3.7063056,10.0994942,9.1375171,31.3928345,3.2915371,0.7308406,0.7269341,8.7706307,5.6077959,28.4686409,11.0980304,30.496378,68.5758713,37.7887536,49.182918,20.6897521,3.5753271,10.4815261,9.3478641,30.9950097,3.7337662 +1600,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7090738,0.7660561,8.9612548,5.498764,39.3452434,20.4620734,31.6800905,68.5380934,37.8902298,49.2027545,21.6599522,6.6549126,10.3863146,8.6078055,34.3515353,4.3859398,0.6889038,0.7551038,8.9852031,5.7489032,38.8564332,20.5714753,31.2489711,68.2072821,37.971659,49.4397801,21.4120986,6.5002427,9.9771434,8.398816,33.53639,5.1898481,0.632349,0.6899751,9.0625061,5.8734005,38.4824095,20.5278389,30.671115,68.1426713,37.7559355,48.8219111,21.457593,6.4754609,9.5473431,8.4158434,33.1886896,4.2997532,0.6306561,0.6608749,9.3608077,6.180482,38.2490344,20.4570491,30.5887111,68.3929995,38.130476,48.7589549,21.5194954,6.5791541,9.1036829,7.7704796,33.4645679,3.734938,0.5895281,0.6133682,8.9871345,5.9531137,37.4999992,20.5350317,30.1970216,68.1585479,38.6984205,49.2786232,22.5798966,6.756126,8.9242383,7.7797989,33.399571,3.6214945 +1601,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6093872,1.631909,34.2375417,30.1262519,57.2223766,15.919404,32.4838216,63.2300344,30.9586931,41.9596023,16.1785913,1.779202,18.6300505,12.622956,37.871315,23.8864848,1.4809255,1.4968563,34.7412295,30.6661633,58.4294797,15.9443704,33.2197848,63.1482162,31.3435759,42.7672904,16.3143692,1.7731002,19.6181154,12.9612492,39.4441694,23.3435429,1.3881583,1.4645125,34.77946,30.8522674,59.2192819,15.682094,33.4890013,62.6686449,32.3358975,42.7298745,16.3181163,1.5912654,18.5288551,12.9493014,40.2673354,23.225526,1.4898739,1.5628894,34.9911473,30.9581778,59.8498246,15.7834772,34.2572832,62.3075604,32.853673,43.0297451,17.4928073,1.9720135,17.7983527,14.0071416,40.0519477,20.8171764,1.6563898,1.6894554,35.3557138,31.0187526,59.9728299,15.6064329,34.3762022,60.9730496,33.1396176,42.9755585,17.8731454,2.1589721,17.8447777,13.6978724,39.2997197,20.8973971 +1602,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2985928,0.3117867,7.024401,4.4274041,47.7777772,19.8623914,26.2838488,67.1490872,34.375974,42.9660731,18.8764391,7.6097129,9.3272144,7.4969367,36.5113439,5.2215239,0.305781,0.3098791,7.1155635,4.4412554,47.669969,20.8799792,26.9255149,67.2741756,34.215527,43.8510232,19.6354965,8.0348681,8.7429964,6.8718869,36.2812574,5.2013475,0.2592356,0.2592356,6.7996188,4.3184623,47.8743398,21.106374,27.2882377,67.3440999,34.2382866,43.3912466,19.7486788,8.2997236,8.9383687,7.2910281,36.9858845,4.9679535,0.2865524,0.2865524,6.8329677,4.2609186,48.0940695,21.6341847,27.3184816,67.5869497,34.6095185,43.0292836,19.9359347,8.6485663,8.2936895,7.2278376,36.6327785,5.3054714,0.3834501,0.3834501,6.8736444,4.1859698,48.2542139,21.5695085,27.6327718,67.0865009,34.0364191,43.4142616,19.7116824,8.6949925,8.6176388,7.1596906,37.3297846,4.1795704 +1603,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.4272206,0.4272206,13.708584,10.3804885,56.896689,28.3545384,35.251296,67.6662482,32.9818968,42.7067472,17.7474082,5.2674145,17.0178424,9.6155527,38.4212004,4.4000704,0.534575,0.534575,13.0896118,10.0001382,57.3008269,29.1664999,34.2454247,66.086172,34.7425295,42.5373326,16.0035423,5.3897111,18.7039808,9.4445844,41.0112886,5.158812,0.6342118,0.6342118,13.5553708,10.4709152,56.868015,31.3104377,34.400534,65.1066024,34.5644114,43.9243865,16.5025977,5.3366054,17.9349776,8.5145853,37.0438362,5.4622767,0.6612612,0.7115381,14.1129478,10.5646098,56.7229613,31.0874529,34.50818,64.5082046,33.032347,43.6885087,15.9836687,4.8361092,17.3078133,7.8671879,36.7958577,4.8246037,0.6563125,0.7062132,14.343018,10.8174204,55.1981993,30.959842,33.7926575,65.8833521,33.4680187,43.1926754,16.2884212,4.7812497,17.3402425,8.2492416,36.9046283,6.1475914 +1604,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7990583,0.7505106,10.9182916,7.4477746,27.6748131,21.7993218,34.9795867,69.4105321,41.658799,52.6654554,24.0985275,3.4650277,11.6688187,9.7631219,33.9470193,4.1436487,0.8604921,0.8135841,11.2615195,7.6316495,27.5899,21.6612138,35.1643054,68.7310387,41.7376432,52.6932842,24.4522764,3.5757707,11.8316048,10.1783547,33.5709752,5.4597701,0.8460694,0.8277895,11.296403,7.5551078,27.3288829,21.9365375,35.1483671,68.7685629,41.2017828,52.9228518,24.851621,3.8130576,12.1492622,10.6160331,34.6084168,5.3370787,0.9363475,0.917977,11.5834133,7.8147908,27.1775164,21.6691442,35.9886685,69.0440925,41.4085854,52.2483654,24.5830727,3.8564632,11.4856706,10.4303565,33.724398,6.176467,0.9440043,0.9582375,11.6045504,8.0518434,27.5060554,21.5214298,37.3581993,69.1492636,41.417923,52.2238886,24.9701358,4.0447774,11.1401835,10.6413861,34.7863907,6.3252974 +1605,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2169952,1.223529,16.9408015,12.9745096,36.8920198,18.7344631,33.5830414,67.0582977,35.5900579,45.7093439,23.249765,3.0529339,11.3495555,9.0588039,35.0472755,12.5738947,1.1718554,1.133893,18.1939125,14.3978459,38.281759,18.1411488,34.4719982,67.401471,34.5889364,45.396403,23.1178576,3.0237959,11.5640458,9.1061801,36.6400114,12.3571078,1.2849736,1.2494329,19.551034,15.2780686,38.1647083,17.0942359,35.1693257,66.6483405,33.8244297,45.0928082,22.7012086,3.0352342,11.3652178,8.9299226,36.2020317,15.0996319,1.3668974,1.3323041,19.7233527,15.6280701,38.9862861,16.9130174,35.4065023,66.9811537,33.8385691,44.9929307,22.8618894,3.0113155,11.4578618,8.6391891,36.9928617,16.4291469,1.4010689,1.3669629,20.293419,15.9756337,39.2100416,16.2738176,34.8324435,67.1427032,33.4923277,44.3208556,22.0988196,2.8042065,11.7380324,8.8538709,36.9823455,15.5508252 +1606,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.5962623,0.5818452,9.5039574,6.2540124,50.6260955,13.9880353,31.2973002,67.8594553,36.2270225,45.7405646,21.2865067,3.621622,9.7361959,8.0496183,31.3978337,5.8333531,0.6115749,0.6036432,9.1116944,5.7805386,49.6431033,14.2004923,31.1441112,67.7997756,36.8866894,46.1496307,21.1771422,3.4873488,10.0593087,8.4360489,31.4854676,5.8719071,0.585724,0.577488,9.2358116,6.0479298,49.1554812,14.239098,31.0143879,68.3230541,36.8403095,45.9790008,21.7386531,3.7582819,10.1052234,8.5645134,31.4962563,7.0881446,0.6006298,0.5921079,8.7897972,5.79354,47.6457956,14.7462863,31.3621202,68.3781894,37.8305039,46.4707425,21.3763145,3.812561,9.5987361,8.3066419,31.5607868,6.1023848,0.6093692,0.5947655,8.9027703,5.743324,47.2256966,15.291682,31.3674377,68.583094,38.5138419,46.0559033,21.2537183,3.7957463,10.029012,8.5111596,31.8936285,5.3999849 +1607,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6889038,0.7551038,8.9852031,5.7489032,38.8564332,20.5714753,31.2489711,68.2072821,37.971659,49.4397801,21.4120986,6.5002427,9.9771434,8.398816,33.53639,5.1898481,0.632349,0.6899751,9.0625061,5.8734005,38.4824095,20.5278389,30.671115,68.1426713,37.7559355,48.8219111,21.457593,6.4754609,9.5473431,8.4158434,33.1886896,4.2997532,0.6306561,0.6608749,9.3608077,6.180482,38.2490344,20.4570491,30.5887111,68.3929995,38.130476,48.7589549,21.5194954,6.5791541,9.1036829,7.7704796,33.4645679,3.734938,0.5895281,0.6133682,8.9871345,5.9531137,37.4999992,20.5350317,30.1970216,68.1585479,38.6984205,49.2786232,22.5798966,6.756126,8.9242383,7.7797989,33.399571,3.6214945,0.6105687,0.6158105,8.950765,5.9748456,37.3939701,21.0441867,30.7936725,67.7336815,38.5909156,48.7908821,22.5003854,6.7508892,9.1033821,7.8577968,33.0717103,3.4855752 +1608,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7265214,1.8174871,26.3271393,22.5305535,53.0784726,16.2163918,40.9520426,65.4456734,33.5897525,47.541482,20.6014963,2.5023489,14.5071437,11.2648149,36.1642412,12.5798434,1.647428,1.7379164,26.9355442,23.1172946,53.2915322,15.4121845,40.5288678,65.6452371,33.5389109,46.7031251,20.4104197,2.2093386,14.3471282,11.3053489,36.5671138,11.343908,1.764756,1.8226731,27.8217567,23.8817516,53.6877739,14.577189,40.1427503,65.4203377,33.8924784,47.0880198,20.847086,2.2846097,14.9696862,11.9956883,35.9899739,10.992652,1.8596572,1.9356585,28.6268515,24.2805275,55.1672286,13.8608758,40.5444364,65.1975181,33.9583091,47.4025218,21.3594094,2.3317028,15.8727385,12.1272673,36.3328291,12.850565,1.9259559,2.0037785,28.7689825,24.327659,55.963369,14.7888178,40.5527075,65.5238357,35.4721106,47.7001573,21.7331623,2.6810023,15.5493097,11.9136977,36.235491,13.2836161 +1609,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1718554,1.133893,18.1939125,14.3978459,38.281759,18.1411488,34.4719982,67.401471,34.5889364,45.396403,23.1178576,3.0237959,11.5640458,9.1061801,36.6400114,12.3571078,1.2849736,1.2494329,19.551034,15.2780686,38.1647083,17.0942359,35.1693257,66.6483405,33.8244297,45.0928082,22.7012086,3.0352342,11.3652178,8.9299226,36.2020317,15.0996319,1.3668974,1.3323041,19.7233527,15.6280701,38.9862861,16.9130174,35.4065023,66.9811537,33.8385691,44.9929307,22.8618894,3.0113155,11.4578618,8.6391891,36.9928617,16.4291469,1.4010689,1.3669629,20.293419,15.9756337,39.2100416,16.2738176,34.8324435,67.1427032,33.4923277,44.3208556,22.0988196,2.8042065,11.7380324,8.8538709,36.9823455,15.5508252,1.2572005,1.2234153,21.6459423,16.9232134,40.5934808,16.1573585,35.4765753,67.887155,33.3395221,44.7264208,21.1106616,2.7505073,11.6238278,8.6405977,36.6908596,17.5805781 +1610,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3688571,0.3791652,6.6705608,4.0492847,35.8013422,25.2012261,29.6461926,68.798582,33.5342076,44.731691,16.5435624,7.9510102,10.7796481,10.453115,33.6678563,3.0952307,0.3973244,0.4075544,6.9266555,4.2879176,36.010243,25.1907365,29.6446168,68.2309595,34.0479056,45.3649622,16.9370469,7.782923,11.5263648,10.7311419,33.743126,2.4999943,0.4096747,0.4314361,7.4476182,4.4380834,35.6457219,24.9906917,29.8594935,69.267293,34.3014719,45.8427874,17.4069996,7.6119972,11.5237101,10.6732731,33.9630286,3.2608625,0.4847416,0.4859822,7.3595514,4.5880038,34.8116259,25.1944276,29.4789817,70.6334618,34.9513082,46.2705856,17.9722797,7.440032,11.5441465,10.6453769,34.1928606,3.2894665,0.5610912,0.5566029,7.5175475,4.8208233,33.41458,25.4006364,29.116013,70.9208562,35.267086,46.3903947,18.213643,7.3112361,10.7664037,9.6856548,32.4871367,2.6748916 +1611,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.3794374,0.4209888,7.308769,4.8969853,61.3123558,14.4762689,26.9413159,66.9592083,31.6125419,43.9897779,14.7127716,5.2215922,11.2130504,9.3787295,28.9066926,3.2178744,0.4060205,0.4192132,7.2912638,5.1277168,60.9543016,14.5155761,27.0726055,66.0278014,31.5019054,43.909604,14.2105459,4.8125419,11.6753244,9.8394002,30.4209583,3.7281241,0.4275712,0.4402552,7.2792314,5.1532712,60.063869,14.3836562,26.7364937,66.4804501,32.1573919,43.8435604,14.042438,4.6172102,11.8293659,9.3080055,30.6634333,5.0661529,0.451164,0.4598749,7.3722791,5.299186,58.8730105,14.0179728,26.5958835,67.3075883,32.6660405,43.8905113,14.4818387,4.5133154,11.2165529,9.0559977,31.2240988,5.7204456,0.4331783,0.4415798,7.0858404,5.0683916,58.4063443,14.0159176,27.0621769,67.5227223,32.7807845,44.4963699,14.3344028,4.5419289,11.634217,9.581965,31.2029554,6.5218242 +1612,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.534575,0.534575,13.0896118,10.0001382,57.3008269,29.1664999,34.2454247,66.086172,34.7425295,42.5373326,16.0035423,5.3897111,18.7039808,9.4445844,41.0112886,5.158812,0.6342118,0.6342118,13.5553708,10.4709152,56.868015,31.3104377,34.400534,65.1066024,34.5644114,43.9243865,16.5025977,5.3366054,17.9349776,8.5145853,37.0438362,5.4622767,0.6612612,0.7115381,14.1129478,10.5646098,56.7229613,31.0874529,34.50818,64.5082046,33.032347,43.6885087,15.9836687,4.8361092,17.3078133,7.8671879,36.7958577,4.8246037,0.6563125,0.7062132,14.343018,10.8174204,55.1981993,30.959842,33.7926575,65.8833521,33.4680187,43.1926754,16.2884212,4.7812497,17.3402425,8.2492416,36.9046283,6.1475914,0.8025365,0.8222898,14.4779293,10.9969572,56.5748312,30.9824356,33.3067145,67.1749923,33.6272639,43.258271,16.4525926,5.0562366,15.1668436,8.1667619,35.5216307,6.1983983 +1613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6342118,0.6342118,13.5553708,10.4709152,56.868015,31.3104377,34.400534,65.1066024,34.5644114,43.9243865,16.5025977,5.3366054,17.9349776,8.5145853,37.0438362,5.4622767,0.6612612,0.7115381,14.1129478,10.5646098,56.7229613,31.0874529,34.50818,64.5082046,33.032347,43.6885087,15.9836687,4.8361092,17.3078133,7.8671879,36.7958577,4.8246037,0.6563125,0.7062132,14.343018,10.8174204,55.1981993,30.959842,33.7926575,65.8833521,33.4680187,43.1926754,16.2884212,4.7812497,17.3402425,8.2492416,36.9046283,6.1475914,0.8025365,0.8222898,14.4779293,10.9969572,56.5748312,30.9824356,33.3067145,67.1749923,33.6272639,43.258271,16.4525926,5.0562366,15.1668436,8.1667619,35.5216307,6.1983983,1.0344931,1.0540437,15.2107084,11.778609,55.385841,31.0640039,33.8353467,67.1156947,33.5179895,43.9777018,16.0855319,4.6751744,16.5034837,8.6602439,35.8085585,6.0976353 +1614,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5724062,0.5975951,7.3825001,4.8373076,44.7318219,13.6928556,27.8632644,67.9561675,32.8276964,43.0759189,18.1521299,14.4215384,9.948169,8.9429703,35.1825034,3.1013616,0.5511195,0.588299,7.3900881,4.9057898,44.7077933,14.0066265,27.7645288,68.1237724,33.1672743,43.1448227,18.1939393,14.559358,9.9415998,8.8038928,34.9537655,3.1960241,0.5575885,0.5954386,7.4986255,5.0562548,44.7108686,14.2866837,27.254553,67.8640342,32.7978494,42.4917259,18.0846684,14.554604,10.2637289,9.0946157,35.5302839,3.5318574,0.6040561,0.6563946,7.5259283,5.0423028,44.7423113,14.3639311,27.5433033,67.8237498,32.5611773,42.1295005,18.071216,14.5105854,10.1395741,9.0199851,35.9487016,3.4122572,0.5753436,0.6161333,7.4956839,4.8798283,44.5984326,13.9662227,27.4013944,67.5811604,32.4859164,42.7354446,18.3726897,14.3480013,9.9706362,8.8031004,36.0446325,3.3052049 +1615,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3973244,0.4075544,6.9266555,4.2879176,36.010243,25.1907365,29.6446168,68.2309595,34.0479056,45.3649622,16.9370469,7.782923,11.5263648,10.7311419,33.743126,2.4999943,0.4096747,0.4314361,7.4476182,4.4380834,35.6457219,24.9906917,29.8594935,69.267293,34.3014719,45.8427874,17.4069996,7.6119972,11.5237101,10.6732731,33.9630286,3.2608625,0.4847416,0.4859822,7.3595514,4.5880038,34.8116259,25.1944276,29.4789817,70.6334618,34.9513082,46.2705856,17.9722797,7.440032,11.5441465,10.6453769,34.1928606,3.2894665,0.5610912,0.5566029,7.5175475,4.8208233,33.41458,25.4006364,29.116013,70.9208562,35.267086,46.3903947,18.213643,7.3112361,10.7664037,9.6856548,32.4871367,2.6748916,0.5678464,0.5634325,8.0997427,4.9326412,32.2049916,24.5952333,29.833138,70.0580666,35.1288244,46.0464025,18.1538284,7.163581,11.5905559,9.3995476,32.0043017,3.3073866 +1616,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8108739,1.8752404,30.0082642,24.4930283,37.6478234,15.4592095,37.4438145,60.3588245,34.1981478,45.1519229,21.6070806,2.7030615,13.5036091,11.2654166,40.4799415,21.5356128,1.7652799,1.8216005,30.2704257,24.8893682,39.3091219,15.4011101,37.0731007,61.4963831,35.0474613,45.6212515,22.6613486,2.9482411,13.9973437,11.2243775,40.0148362,23.4767446,1.8168545,1.8273261,30.2946557,25.0014354,41.1671775,15.3233789,36.7411373,62.2691257,34.9645191,45.5121235,22.200501,2.9521024,14.5775092,11.0916224,40.3450079,22.3510195,1.7812885,1.7993584,30.3370869,25.1510179,42.0838266,15.0303532,36.4701176,62.8542121,35.8938928,45.4900358,22.9551941,2.820839,14.9765525,11.3882289,39.6522611,22.6984242,1.7179778,1.7051182,29.8290716,25.0924992,42.7270668,14.8108159,36.8070057,63.8680543,36.2665545,44.7839648,23.0052764,2.8441047,15.5556635,11.4258925,39.442589,20.8333475 +1617,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6304007,0.6273694,9.533691,6.8690352,46.1263176,10.6998661,28.2430902,69.8612313,43.0367944,44.3749235,21.7259322,4.8507003,9.4253134,8.0341644,34.7058773,6.3368056,0.6385266,0.6394396,9.9589365,7.1204304,46.6541385,10.7437546,28.6626054,69.7506551,42.5137178,43.3249872,21.7907428,4.8258174,9.4645795,8.1320999,34.6448146,6.8881708,0.6485514,0.6467994,9.7599201,6.8603619,46.6086815,10.618614,28.7904832,69.6014212,42.0686866,42.8842173,21.6689625,4.9908097,9.3486655,7.8420191,35.0241485,6.4589685,0.6906939,0.6788255,9.9517862,7.0251221,46.4559377,10.509866,28.7305947,69.406871,41.8902385,42.6773838,21.6241669,4.9833691,9.1458043,7.6509313,34.8535236,6.7507438,0.6645853,0.6454607,10.2322808,7.2930481,46.4222691,10.776414,29.2233193,70.0804945,41.8416144,42.9185262,21.5109296,4.933099,9.3756757,7.9163963,34.927757,8.1140375 +1618,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0004518,2.0004518,34.0909091,30.1724138,65.1294498,7.7932099,32.4175824,61.1459969,27.2370487,37.1271586,15.1491366,7.4568289,16.2295082,11.6013072,36.0197368,19.0909091,1.8720509,1.8720509,34.070122,30.2591463,65.3426791,7.7095808,33.3080425,62.5948407,27.5417299,37.8603945,15.2503794,6.6009105,16.4576803,11.09375,36.6352201,18.4848485,1.9330927,1.9330927,34.563253,30.496988,65.1001541,7.1851852,34.2578711,63.0434783,28.7106447,38.155922,15.6671664,6.6716642,17.0623145,11.9822485,36.7559524,17.3529412,1.8222627,1.8222627,34.5982143,30.5803571,66.0741886,6.2776957,35.3073463,64.0929535,28.1109445,38.155922,15.6671664,6.5217391,17.1130952,12.6488095,36.8656716,16.8571429,2.0020013,2.0020013,33.8541667,29.985119,65.9754224,6.2592047,36.002994,64.8952096,27.3203593,39.2964072,16.5419162,6.0628743,16.4723032,10.3498542,36.6959064,14.8255814 +1619,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7899386,0.8079257,9.9714306,6.730628,57.824641,8.7732474,26.1605111,65.5411376,32.8284527,40.2818239,16.9682399,6.4977579,10.5581816,8.8527976,36.8240528,6.5301391,0.8139656,0.8435384,10.1319645,6.9294931,57.5222738,8.6382646,26.0439922,65.1703895,32.7834006,40.0670155,17.0787839,6.336456,10.254469,8.8755754,36.8330555,7.1380922,0.7988636,0.8255633,10.4484898,7.3020701,57.7130931,8.6016899,25.8970158,65.1553025,32.6704148,39.8810972,16.9088855,6.359306,10.3355103,9.0341206,37.0249191,7.5640064,0.7820923,0.7941029,10.6579978,7.6752314,57.6459871,8.8632905,26.1273701,65.0808857,32.5947715,39.8759654,17.0472552,6.3524675,10.3715107,9.2112502,37.0274443,6.6794929,0.7868977,0.8101811,10.9481934,7.9204667,57.7216979,8.8758621,25.9452138,65.0570923,32.6966636,39.9149291,17.0184072,6.3258719,10.6505045,9.3083669,37.1219074,6.5990868 +1620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5848168,0.5749771,8.4165356,5.5978764,29.2245002,11.6362781,28.5860742,70.0616294,37.9214872,50.3264151,21.1908761,3.6815632,10.5485566,9.3216225,31.5323151,3.0351447,0.6081751,0.6131153,8.4076711,5.4722359,28.8219709,11.5286055,29.2556024,69.4849762,38.0059361,50.0719868,21.3497788,3.6738502,10.3713158,9.335552,31.9608922,2.9595016,0.7106461,0.7155659,8.5838298,5.5485835,28.6327345,11.1450836,29.9761353,68.8331433,37.5951143,49.3256647,20.9442102,3.7063056,10.0994942,9.1375171,31.3928345,3.2915371,0.7308406,0.7269341,8.7706307,5.6077959,28.4686409,11.0980304,30.496378,68.5758713,37.7887536,49.182918,20.6897521,3.5753271,10.4815261,9.3478641,30.9950097,3.7337662,0.6820194,0.675675,8.3604951,5.3859974,28.5079164,10.9888483,30.6740721,68.3980345,37.5589211,48.8448439,20.5829805,3.3715574,10.3610865,9.6936235,31.0261878,2.8428113 +1621,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4096747,0.4314361,7.4476182,4.4380834,35.6457219,24.9906917,29.8594935,69.267293,34.3014719,45.8427874,17.4069996,7.6119972,11.5237101,10.6732731,33.9630286,3.2608625,0.4847416,0.4859822,7.3595514,4.5880038,34.8116259,25.1944276,29.4789817,70.6334618,34.9513082,46.2705856,17.9722797,7.440032,11.5441465,10.6453769,34.1928606,3.2894665,0.5610912,0.5566029,7.5175475,4.8208233,33.41458,25.4006364,29.116013,70.9208562,35.267086,46.3903947,18.213643,7.3112361,10.7664037,9.6856548,32.4871367,2.6748916,0.5678464,0.5634325,8.0997427,4.9326412,32.2049916,24.5952333,29.833138,70.0580666,35.1288244,46.0464025,18.1538284,7.163581,11.5905559,9.3995476,32.0043017,3.3073866,0.7395005,0.7253318,8.3791696,5.3355208,31.0157674,24.1724695,29.5595884,69.8165418,35.1743436,46.1100749,18.1468124,6.6972476,10.84464,9.2831308,33.4656916,2.2448934 +1622,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8112693,0.8158324,8.9788046,6.0866504,43.5668537,14.6768952,27.1126698,69.7078128,40.0809467,43.95454,20.9037742,5.2698886,10.7861755,9.1857397,32.0417104,12.7802691,0.7908179,0.7852407,8.8987634,5.9443271,43.0721142,14.5800992,27.0147993,68.8952938,40.3256521,44.7843641,21.4987628,5.298967,10.0624054,8.7462153,32.0612062,12.2844828,0.912394,0.9067723,9.4101503,6.3941742,43.8155754,15.4411915,26.987842,68.4389969,40.765727,44.4146998,21.465375,5.3829888,9.7986853,8.5318117,32.3404537,13.7860082,0.8347727,0.8291277,9.3736627,6.5197222,42.7863543,15.6976,27.1268606,67.9188449,40.9853048,43.7100046,21.1858191,5.2223414,10.0469539,8.367648,32.2161479,12.7615063,0.8574418,0.8039053,9.8448682,6.7243496,42.2848739,16.0851951,26.9195789,67.6597872,41.6337919,43.9571867,21.5379359,5.2050078,9.7873693,7.8376982,31.0802739,10.8695652 +1623,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6612612,0.7115381,14.1129478,10.5646098,56.7229613,31.0874529,34.50818,64.5082046,33.032347,43.6885087,15.9836687,4.8361092,17.3078133,7.8671879,36.7958577,4.8246037,0.6563125,0.7062132,14.343018,10.8174204,55.1981993,30.959842,33.7926575,65.8833521,33.4680187,43.1926754,16.2884212,4.7812497,17.3402425,8.2492416,36.9046283,6.1475914,0.8025365,0.8222898,14.4779293,10.9969572,56.5748312,30.9824356,33.3067145,67.1749923,33.6272639,43.258271,16.4525926,5.0562366,15.1668436,8.1667619,35.5216307,6.1983983,1.0344931,1.0540437,15.2107084,11.778609,55.385841,31.0640039,33.8353467,67.1156947,33.5179895,43.9777018,16.0855319,4.6751744,16.5034837,8.6602439,35.8085585,6.0976353,1.1832368,1.203378,15.1686295,11.9584008,55.163875,30.0481176,33.4678779,66.8547871,32.6611752,42.6612075,15.7257421,4.5968261,15.8334917,9.500095,36.7795266,7.5222237 +1624,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6183229,1.5978359,28.2608615,23.2391703,43.1524416,19.3254393,38.1875342,64.2997705,35.942751,48.3028726,22.6326594,3.7297541,11.9185693,10.0082571,31.2113948,15.8891658,1.6162285,1.5957676,28.3789755,23.5995984,42.7328168,18.8690446,40.1347006,64.3037326,36.5648799,48.8992956,22.7920577,3.4773579,11.8190937,10.1955174,31.7643025,15.6029487,1.6846888,1.6640422,28.9223887,24.1562348,43.79056,18.1878012,40.764665,64.2764944,35.7206706,49.1020918,22.5844406,3.6450084,11.5796188,10.1604146,31.9519681,15.6409178,1.6709346,1.6665015,28.8839298,24.0258614,42.702101,18.3934936,41.4107687,65.0544517,37.1688536,48.7608806,23.4551098,3.5361014,11.2349774,9.709289,32.3705365,13.8476997,1.8980596,1.8516336,29.0687391,24.0610214,42.7071329,18.4318892,41.6975003,65.7649252,37.5285693,48.9665757,24.3101491,3.5305951,11.2455901,9.5506468,31.7924616,16.3821137 +1625,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3836498,1.4280807,20.7788351,16.1387858,84.7462806,12.8823728,31.0787085,63.0197021,32.551753,36.5331164,16.0272779,4.5415504,15.5022806,10.8216221,37.657743,12.9348539,1.2491024,1.3071718,19.8695618,15.5348635,84.3779253,12.6062112,31.6188596,63.5141906,33.3339237,37.1553603,16.5641582,4.7956621,15.0520507,10.9438461,38.0821238,13.3578074,1.3889316,1.4472188,20.5315375,16.001452,83.9304162,12.4355733,32.6542267,63.0583957,33.6645476,37.49327,17.0524229,4.3889599,14.7116368,11.6069958,40.0225256,12.3862281,1.3407002,1.3629977,20.617754,15.8133555,83.551606,12.8028196,32.8899819,63.2595686,33.4234526,36.0457974,16.696222,4.4006604,14.8951625,12.6875855,41.2833905,14.260667,1.3975905,1.4192287,20.3601437,15.7653063,83.1808187,13.533712,33.2407136,63.5376077,33.5878049,36.7464797,16.9497339,4.8234551,13.8816326,11.8754177,40.2588113,13.5173143 +1626,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6563125,0.7062132,14.343018,10.8174204,55.1981993,30.959842,33.7926575,65.8833521,33.4680187,43.1926754,16.2884212,4.7812497,17.3402425,8.2492416,36.9046283,6.1475914,0.8025365,0.8222898,14.4779293,10.9969572,56.5748312,30.9824356,33.3067145,67.1749923,33.6272639,43.258271,16.4525926,5.0562366,15.1668436,8.1667619,35.5216307,6.1983983,1.0344931,1.0540437,15.2107084,11.778609,55.385841,31.0640039,33.8353467,67.1156947,33.5179895,43.9777018,16.0855319,4.6751744,16.5034837,8.6602439,35.8085585,6.0976353,1.1832368,1.203378,15.1686295,11.9584008,55.163875,30.0481176,33.4678779,66.8547871,32.6611752,42.6612075,15.7257421,4.5968261,15.8334917,9.500095,36.7795266,7.5222237,1.033286,1.0537991,14.934108,11.9638543,55.0494502,28.5130594,35.1152647,68.1742523,32.8126028,42.3520375,16.529576,3.7007066,14.8693606,8.3334695,34.9333598,7.9440366 +1627,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5511195,0.588299,7.3900881,4.9057898,44.7077933,14.0066265,27.7645288,68.1237724,33.1672743,43.1448227,18.1939393,14.559358,9.9415998,8.8038928,34.9537655,3.1960241,0.5575885,0.5954386,7.4986255,5.0562548,44.7108686,14.2866837,27.254553,67.8640342,32.7978494,42.4917259,18.0846684,14.554604,10.2637289,9.0946157,35.5302839,3.5318574,0.6040561,0.6563946,7.5259283,5.0423028,44.7423113,14.3639311,27.5433033,67.8237498,32.5611773,42.1295005,18.071216,14.5105854,10.1395741,9.0199851,35.9487016,3.4122572,0.5753436,0.6161333,7.4956839,4.8798283,44.5984326,13.9662227,27.4013944,67.5811604,32.4859164,42.7354446,18.3726897,14.3480013,9.9706362,8.8031004,36.0446325,3.3052049,0.5752485,0.6259996,7.7080579,4.9603684,44.8051096,13.6119125,27.9282276,67.6293992,33.1843694,42.2025122,18.4298368,14.5077384,10.228177,8.7493362,36.4767202,3.1163448 +1628,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8139656,0.8435384,10.1319645,6.9294931,57.5222738,8.6382646,26.0439922,65.1703895,32.7834006,40.0670155,17.0787839,6.336456,10.254469,8.8755754,36.8330555,7.1380922,0.7988636,0.8255633,10.4484898,7.3020701,57.7130931,8.6016899,25.8970158,65.1553025,32.6704148,39.8810972,16.9088855,6.359306,10.3355103,9.0341206,37.0249191,7.5640064,0.7820923,0.7941029,10.6579978,7.6752314,57.6459871,8.8632905,26.1273701,65.0808857,32.5947715,39.8759654,17.0472552,6.3524675,10.3715107,9.2112502,37.0274443,6.6794929,0.7868977,0.8101811,10.9481934,7.9204667,57.7216979,8.8758621,25.9452138,65.0570923,32.6966636,39.9149291,17.0184072,6.3258719,10.6505045,9.3083669,37.1219074,6.5990868,0.7820767,0.80551,11.0724633,8.064372,57.8462023,8.9291032,26.091963,65.3066366,32.6643556,39.7965321,16.8251545,6.3389571,10.2965936,8.9099431,37.3396389,6.9098151 +1629,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4060205,0.4192132,7.2912638,5.1277168,60.9543016,14.5155761,27.0726055,66.0278014,31.5019054,43.909604,14.2105459,4.8125419,11.6753244,9.8394002,30.4209583,3.7281241,0.4275712,0.4402552,7.2792314,5.1532712,60.063869,14.3836562,26.7364937,66.4804501,32.1573919,43.8435604,14.042438,4.6172102,11.8293659,9.3080055,30.6634333,5.0661529,0.451164,0.4598749,7.3722791,5.299186,58.8730105,14.0179728,26.5958835,67.3075883,32.6660405,43.8905113,14.4818387,4.5133154,11.2165529,9.0559977,31.2240988,5.7204456,0.4331783,0.4415798,7.0858404,5.0683916,58.4063443,14.0159176,27.0621769,67.5227223,32.7807845,44.4963699,14.3344028,4.5419289,11.634217,9.581965,31.2029554,6.5218242,0.4498066,0.4412103,7.1142132,5.0136756,56.9237156,14.2802778,26.4549086,67.5227306,32.7048619,44.6229203,14.688668,4.6178353,11.8302897,9.9405865,31.5433903,6.5737628 +1630,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5575885,0.5954386,7.4986255,5.0562548,44.7108686,14.2866837,27.254553,67.8640342,32.7978494,42.4917259,18.0846684,14.554604,10.2637289,9.0946157,35.5302839,3.5318574,0.6040561,0.6563946,7.5259283,5.0423028,44.7423113,14.3639311,27.5433033,67.8237498,32.5611773,42.1295005,18.071216,14.5105854,10.1395741,9.0199851,35.9487016,3.4122572,0.5753436,0.6161333,7.4956839,4.8798283,44.5984326,13.9662227,27.4013944,67.5811604,32.4859164,42.7354446,18.3726897,14.3480013,9.9706362,8.8031004,36.0446325,3.3052049,0.5752485,0.6259996,7.7080579,4.9603684,44.8051096,13.6119125,27.9282276,67.6293992,33.1843694,42.2025122,18.4298368,14.5077384,10.228177,8.7493362,36.4767202,3.1163448,0.5536536,0.6046407,7.6704175,4.9569811,44.7300606,13.8143138,28.9530352,67.9921927,33.4746382,42.3159765,18.2007871,14.4866125,10.2021854,8.5063936,36.7114063,3.2413802 +1631,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.305781,0.3098791,7.1155635,4.4412554,47.669969,20.8799792,26.9255149,67.2741756,34.215527,43.8510232,19.6354965,8.0348681,8.7429964,6.8718869,36.2812574,5.2013475,0.2592356,0.2592356,6.7996188,4.3184623,47.8743398,21.106374,27.2882377,67.3440999,34.2382866,43.3912466,19.7486788,8.2997236,8.9383687,7.2910281,36.9858845,4.9679535,0.2865524,0.2865524,6.8329677,4.2609186,48.0940695,21.6341847,27.3184816,67.5869497,34.6095185,43.0292836,19.9359347,8.6485663,8.2936895,7.2278376,36.6327785,5.3054714,0.3834501,0.3834501,6.8736444,4.1859698,48.2542139,21.5695085,27.6327718,67.0865009,34.0364191,43.4142616,19.7116824,8.6949925,8.6176388,7.1596906,37.3297846,4.1795704,0.4045892,0.4045892,7.5572512,4.4427464,47.9570227,21.7140308,28.0341515,67.0212857,33.9976029,43.0776121,19.1639176,9.4546003,8.7404264,7.0584723,37.7599518,4.2319762 +1632,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6415112,2.7452973,36.3194031,31.0418542,46.9659373,19.0077608,35.3407322,66.1066901,32.1546904,45.810172,20.1234505,3.6284033,14.2855019,11.1683272,31.8713733,22.3114886,2.2865569,2.3918239,36.2216647,31.2339675,48.7199173,19.2764361,35.3188667,66.6166444,32.0082093,45.2553231,20.5789165,3.5911614,14.1998592,11.2027101,33.0462865,23.7980998,1.9570534,2.0517775,35.5637169,30.8136681,49.3543587,19.3299767,35.7432171,66.6579865,32.5191997,45.1670047,20.6365463,3.2550764,16.1327754,11.735448,33.0409749,24.3961836,1.8462632,1.892056,36.4046888,32.212446,49.1621307,18.4716946,36.1581766,67.1831561,32.2481951,45.3683558,20.5212136,2.7424663,17.2356723,11.8633001,32.6646492,24.5049879,1.6504924,1.6953711,37.4992101,32.9812371,49.147463,18.8714895,37.0610282,67.6825081,31.6385967,46.4262068,20.3635245,2.8033665,14.720962,10.0942716,33.3564795,24.7727615 +1633,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8128677,0.852824,10.5397423,7.6463003,31.0239684,14.0298694,32.1566687,69.9310865,40.5015471,47.8579317,21.2482905,6.863494,11.4578002,9.2107376,34.324103,6.7164179,0.8854313,0.9311584,10.2679975,7.2714703,29.7202162,13.4909866,31.7156284,70.6675865,40.1796175,48.8999753,21.3815868,6.9076814,11.4554782,9.6716166,33.6941989,7.4519231,0.828979,0.8653465,10.5115833,7.3765364,27.9836258,13.8646191,30.7017676,70.3475907,40.2422067,49.7102131,21.2686458,6.9212376,11.4236122,9.5396853,32.4141173,7.9487179,0.8279856,0.8806077,10.6805109,7.4039675,27.3690613,13.973914,30.6466195,70.2512415,40.5561838,50.0347448,21.5977512,7.127787,11.1551955,9.5394467,31.7085224,6.684492,0.88067,0.9417422,10.6424601,7.3452636,27.3415566,13.8883744,30.3197221,70.5417815,40.6005628,50.2689705,21.1894531,7.1713443,11.6503907,8.93258,31.4444395,7.4585635 +1634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4847416,0.4859822,7.3595514,4.5880038,34.8116259,25.1944276,29.4789817,70.6334618,34.9513082,46.2705856,17.9722797,7.440032,11.5441465,10.6453769,34.1928606,3.2894665,0.5610912,0.5566029,7.5175475,4.8208233,33.41458,25.4006364,29.116013,70.9208562,35.267086,46.3903947,18.213643,7.3112361,10.7664037,9.6856548,32.4871367,2.6748916,0.5678464,0.5634325,8.0997427,4.9326412,32.2049916,24.5952333,29.833138,70.0580666,35.1288244,46.0464025,18.1538284,7.163581,11.5905559,9.3995476,32.0043017,3.3073866,0.7395005,0.7253318,8.3791696,5.3355208,31.0157674,24.1724695,29.5595884,69.8165418,35.1743436,46.1100749,18.1468124,6.6972476,10.84464,9.2831308,33.4656916,2.2448934,0.858802,0.8532607,8.7495499,5.3359569,31.3118471,24.3248506,30.1219552,69.3398151,35.468264,46.842455,18.101928,7.5170245,10.772888,8.8134219,33.1836905,2.529178 +1635,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4825693,0.5123395,9.8332662,6.5744395,75.4359822,10.9954791,29.2939886,68.6451237,29.9045256,43.0725778,14.713635,4.2556903,12.4463113,12.4461535,32.4315253,3.0828903,0.4140948,0.420256,9.7766463,6.4459074,75.2300982,11.7267505,29.2408911,68.8613267,29.7943425,43.2385124,14.689498,4.4088217,11.7800829,12.4722476,31.9600332,3.9014174,0.4157451,0.4222122,9.2122666,6.0936603,74.663422,11.4198865,29.3225948,69.0151513,30.6941157,43.4954762,15.1911138,4.3848303,11.9012113,12.2441098,31.3733921,4.231508,0.3738862,0.3807106,8.7625695,6.1229969,73.5069652,11.7890726,29.2710475,68.1381228,31.1154554,43.9394343,15.2611431,4.5454078,11.4680131,11.496595,30.3855981,3.6893264,0.2528711,0.2963303,8.8384876,6.3132539,72.5316671,12.0230679,29.4515229,69.1075871,30.9854665,43.8633702,14.8534243,5.0441238,12.2784347,12.1225265,29.9112207,4.5462396 +1636,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2865569,2.3918239,36.2216647,31.2339675,48.7199173,19.2764361,35.3188667,66.6166444,32.0082093,45.2553231,20.5789165,3.5911614,14.1998592,11.2027101,33.0462865,23.7980998,1.9570534,2.0517775,35.5637169,30.8136681,49.3543587,19.3299767,35.7432171,66.6579865,32.5191997,45.1670047,20.6365463,3.2550764,16.1327754,11.735448,33.0409749,24.3961836,1.8462632,1.892056,36.4046888,32.212446,49.1621307,18.4716946,36.1581766,67.1831561,32.2481951,45.3683558,20.5212136,2.7424663,17.2356723,11.8633001,32.6646492,24.5049879,1.6504924,1.6953711,37.4992101,32.9812371,49.147463,18.8714895,37.0610282,67.6825081,31.6385967,46.4262068,20.3635245,2.8033665,14.720962,10.0942716,33.3564795,24.7727615,1.7803289,1.7728825,37.7634316,33.2447976,49.4154883,18.5124072,36.8843696,67.1964934,32.0221213,46.1277931,20.0178,2.9110479,15.1912667,10.5626808,33.7404027,25.8547325 +1637,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4194631,0.4710893,7.2139303,4.8369265,45.8146067,23.7925357,30.1714602,69.0542035,36.034292,44.7732301,18.7776549,5.1161504,10.3165939,7.0414847,33.6083608,2.5362319,0.4322638,0.4808783,7.0015617,4.6069755,45.782815,24.1103662,29.0818988,70.0312989,36.4893062,44.5748565,18.7532603,5.5555556,10.1987448,7.165272,34.0549102,2.3972603,0.4350785,0.4831092,6.9701646,4.5010288,45.4997384,23.8863287,28.9596273,70.1086957,36.7753623,45.315735,18.9182195,5.615942,10.3033473,7.6963351,34.1605069,2.4305556,0.3889157,0.4210907,7.0098293,4.3714434,45.933893,22.6178279,28.5751295,68.9896373,35.6217617,44.7927461,19.1450777,5.5181347,10.8604407,7.7287066,34.9416755,3.7931034,0.3551203,0.3865817,6.9374369,4.3642785,45.7397959,22.6410384,28.8714575,68.1933198,35.5516194,45.3188259,19.5091093,5.6427126,11.5934627,8.7423313,34.7938144,4.4217687 +1638,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6081751,0.6131153,8.4076711,5.4722359,28.8219709,11.5286055,29.2556024,69.4849762,38.0059361,50.0719868,21.3497788,3.6738502,10.3713158,9.335552,31.9608922,2.9595016,0.7106461,0.7155659,8.5838298,5.5485835,28.6327345,11.1450836,29.9761353,68.8331433,37.5951143,49.3256647,20.9442102,3.7063056,10.0994942,9.1375171,31.3928345,3.2915371,0.7308406,0.7269341,8.7706307,5.6077959,28.4686409,11.0980304,30.496378,68.5758713,37.7887536,49.182918,20.6897521,3.5753271,10.4815261,9.3478641,30.9950097,3.7337662,0.6820194,0.675675,8.3604951,5.3859974,28.5079164,10.9888483,30.6740721,68.3980345,37.5589211,48.8448439,20.5829805,3.3715574,10.3610865,9.6936235,31.0261878,2.8428113,0.6706078,0.6667509,8.3142748,5.3932526,28.5724266,10.5323479,30.3265697,67.8457377,37.2019938,48.4750236,20.354485,3.3524198,10.266741,9.8018148,30.7864589,3.0645181 +1639,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8604921,0.8135841,11.2615195,7.6316495,27.5899,21.6612138,35.1643054,68.7310387,41.7376432,52.6932842,24.4522764,3.5757707,11.8316048,10.1783547,33.5709752,5.4597701,0.8460694,0.8277895,11.296403,7.5551078,27.3288829,21.9365375,35.1483671,68.7685629,41.2017828,52.9228518,24.851621,3.8130576,12.1492622,10.6160331,34.6084168,5.3370787,0.9363475,0.917977,11.5834133,7.8147908,27.1775164,21.6691442,35.9886685,69.0440925,41.4085854,52.2483654,24.5830727,3.8564632,11.4856706,10.4303565,33.724398,6.176467,0.9440043,0.9582375,11.6045504,8.0518434,27.5060554,21.5214298,37.3581993,69.1492636,41.417923,52.2238886,24.9701358,4.0447774,11.1401835,10.6413861,34.7863907,6.3252974,0.978987,1.0039507,11.806165,8.1535865,27.6874218,21.3203248,37.3747651,68.2528055,40.9693633,51.163827,24.6169609,3.9923382,10.8806738,10.4558219,35.0741789,7.7586648 +1640,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.0927605,2.218415,29.2423211,23.0286969,46.9479516,12.9765785,37.4833339,65.9803748,32.1320485,47.3692503,22.3936733,5.0379218,16.6467356,13.5895253,35.6327936,13.8429752,2.2597176,2.339899,29.360361,22.716365,47.8722302,13.2065551,36.6974235,65.4552833,32.0410417,47.5004435,22.5847343,4.8721584,16.9299849,12.6033265,35.0864254,14.3152101,2.3770887,2.4095417,29.2337159,22.9090731,47.7089712,13.4543818,37.4768016,64.8408876,32.0344228,47.5227768,23.6733148,5.3184563,15.8287891,11.8836773,34.6388659,14.4350015,2.4202807,2.4299551,29.387114,22.7335064,47.5786431,13.8123712,37.1709488,65.1047011,33.5056443,47.2278723,24.4420332,5.2747245,15.7356011,11.6934877,33.8614593,14.37233,2.1982122,2.1592473,29.9995177,23.0263722,48.1861514,14.6752818,37.1271326,65.2016215,32.910642,47.1988902,24.9247891,5.431372,14.9312279,11.5267667,33.4132893,14.0814947 +1641,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4140948,0.420256,9.7766463,6.4459074,75.2300982,11.7267505,29.2408911,68.8613267,29.7943425,43.2385124,14.689498,4.4088217,11.7800829,12.4722476,31.9600332,3.9014174,0.4157451,0.4222122,9.2122666,6.0936603,74.663422,11.4198865,29.3225948,69.0151513,30.6941157,43.4954762,15.1911138,4.3848303,11.9012113,12.2441098,31.3733921,4.231508,0.3738862,0.3807106,8.7625695,6.1229969,73.5069652,11.7890726,29.2710475,68.1381228,31.1154554,43.9394343,15.2611431,4.5454078,11.4680131,11.496595,30.3855981,3.6893264,0.2528711,0.2963303,8.8384876,6.3132539,72.5316671,12.0230679,29.4515229,69.1075871,30.9854665,43.8633702,14.8534243,5.0441238,12.2784347,12.1225265,29.9112207,4.5462396,0.3882065,0.4339572,9.2782623,6.6619978,72.8426698,11.8032058,28.2950868,68.8144613,30.7936255,44.9534961,14.4290948,5.022016,11.5495156,10.8095063,31.2501401,3.880185 +1642,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9425519,0.8740026,13.6421752,9.4304521,47.0845225,14.0455821,30.6581056,61.41688,33.3509304,37.9482849,18.098917,3.7064608,13.2909662,11.1043701,37.3759677,11.5740848,0.9695318,0.9552374,14.3054345,9.6868583,48.3145595,13.0154435,30.7617885,60.5355481,32.9805182,37.0731843,17.6493102,3.8796116,13.5939872,10.7423337,37.9128897,14.830521,1.0515317,1.0373883,14.661387,9.8435946,49.6160457,12.7744885,30.9662267,59.8984303,33.3030489,37.8007105,16.8662458,4.016363,13.8195506,10.931145,36.9688125,14.4736969,1.1448033,1.0756716,15.3332177,9.8971067,50.0564934,12.9946867,31.1274081,60.4735208,33.7377812,37.4308817,17.7919474,4.1009156,13.8477188,10.950942,37.7711731,14.3441216,1.136759,1.0789552,15.5240108,9.969267,51.9803186,12.8707789,30.8823959,61.5252931,33.2362882,38.3119064,17.4544653,4.07718,13.8507079,10.7959631,38.531806,12.2850539 +1643,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8854313,0.9311584,10.2679975,7.2714703,29.7202162,13.4909866,31.7156284,70.6675865,40.1796175,48.8999753,21.3815868,6.9076814,11.4554782,9.6716166,33.6941989,7.4519231,0.828979,0.8653465,10.5115833,7.3765364,27.9836258,13.8646191,30.7017676,70.3475907,40.2422067,49.7102131,21.2686458,6.9212376,11.4236122,9.5396853,32.4141173,7.9487179,0.8279856,0.8806077,10.6805109,7.4039675,27.3690613,13.973914,30.6466195,70.2512415,40.5561838,50.0347448,21.5977512,7.127787,11.1551955,9.5394467,31.7085224,6.684492,0.88067,0.9417422,10.6424601,7.3452636,27.3415566,13.8883744,30.3197221,70.5417815,40.6005628,50.2689705,21.1894531,7.1713443,11.6503907,8.93258,31.4444395,7.4585635,0.7703122,0.8195434,10.6831834,7.2191915,27.1454185,14.2990137,30.1066772,69.9993819,40.4790636,50.1764596,21.7865877,7.4152913,10.9463622,8.8298299,31.0318857,6.0344828 +1644,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8012481,1.8246066,25.1867561,20.7374229,50.0005535,15.1571997,41.0829405,64.8168685,35.8630629,48.0282983,23.7720959,4.1421914,11.850168,11.5795153,33.4104334,20.7480453,1.6911159,1.7327321,25.0610448,20.3043741,49.7913586,15.0226601,41.5046077,65.1912567,36.3755658,47.6472288,24.1882217,3.5648107,11.377552,12.2038691,32.242735,22.7608883,1.7615388,1.7733792,24.9084011,20.0764684,50.2204423,15.3423816,41.4521347,65.2179532,37.2560004,47.8816536,24.1129768,4.0887121,10.8761347,11.1978255,31.2210462,24.6425403,1.874142,1.8861887,25.830989,20.5247006,50.0302657,16.2784956,41.3059111,65.6943535,38.2108267,46.8083169,24.9723243,4.6071285,11.3048842,11.1439943,31.4932266,24.8091603,1.8724977,1.9081088,26.7867292,21.7301318,49.8511338,17.4424739,41.7097296,66.3632375,38.3534752,47.7430246,25.6841412,4.6158699,11.0806368,11.0802701,33.2846726,23.7223334 +1645,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9335768,0.9225263,10.6189483,7.1031084,42.6751805,20.352936,35.1047446,69.1967339,38.5775016,47.3066573,23.5929936,4.1463382,13.9925409,11.5586093,36.9085581,7.7235584,0.9525568,0.9641639,10.871075,7.3723895,41.0575662,20.8317992,34.6921034,69.7627455,38.6482814,47.6199137,23.6621708,3.7466615,13.5075932,11.1997058,36.4625662,7.0247702,0.9581392,0.9699583,10.910684,7.3666118,39.2466035,21.7488429,34.8344552,69.8471415,38.608136,48.2231001,23.4687641,4.1837358,13.3947312,11.0979027,37.6237963,7.5892654,0.83659,0.8491388,10.8513421,7.2610232,36.7000634,21.9967035,34.6932892,70.0750968,39.7133957,48.3000127,23.6309266,4.5149371,13.1106095,10.4063285,37.5560743,7.4258195,0.9375292,0.9507461,10.784396,7.0480718,35.1083641,21.0043486,33.8428496,70.1948544,39.7382718,47.0704565,22.6698945,4.1607687,12.4716536,10.880865,38.7842869,8.0190263 +1646,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5293618,0.5462823,10.1842729,6.8974104,43.167882,19.8353423,31.8411703,69.9291836,41.502272,46.2063686,23.4951873,4.0212439,8.4615546,8.1790184,34.1097478,2.7999978,0.4915068,0.5086087,10.4428917,6.8696614,40.6652903,20.9026847,32.6952596,69.6528872,42.4961723,46.681986,24.1705029,3.9050532,8.2564163,7.9814686,32.209551,3.4615385,0.5201346,0.5420037,9.9416641,6.4414271,39.4606593,20.4204967,32.7214947,69.3832625,42.1683842,47.503679,24.7919861,3.5976545,7.9819321,8.4088762,32.5380614,4.1666635,0.4550412,0.4762421,9.4957619,6.1498687,38.5783017,20.4929593,32.9122977,69.9952317,42.3975353,48.1649296,25.2383411,3.5510037,8.0059057,8.3251347,33.0525077,4.7445221,0.4988918,0.519071,9.4352322,6.1183411,37.9349722,20.6395291,32.3729498,69.8502701,41.8103617,47.9809428,25.340314,3.7885682,9.1296241,8.7761034,32.4904363,3.8194391 +1647,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.9494733,2.9922837,41.8436136,36.7286019,70.4278192,13.498893,35.8673771,61.8932162,24.9103127,37.6442042,17.7333893,2.0175547,18.4170908,14.0934632,42.4208559,29.237035,2.8445954,2.8791323,40.9080369,35.9720549,70.8493616,12.9879744,35.4167482,61.2383617,25.274017,38.0334517,18.3897264,2.0599805,17.6744207,14.1696739,43.6552955,29.7449377,2.8035113,2.8040892,41.468916,36.5646413,71.0960638,12.9747203,35.9232231,61.2303201,25.64985,38.124855,18.1862492,2.0578625,17.0008284,13.7744694,43.4338747,29.2083083,2.6133668,2.6168449,40.4285411,35.5450045,71.4514093,12.7081181,36.1420761,61.45135,25.8103705,38.2293407,17.6239968,2.0997872,16.7919007,13.0087301,43.503812,27.2146445,2.6173159,2.6322961,40.9480383,36.0180417,73.1119916,12.2053496,35.927119,60.6931338,25.5122638,37.4192204,17.4093911,1.815776,16.0960993,13.1087809,43.1228148,26.2946067 +1648,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6911159,1.7327321,25.0610448,20.3043741,49.7913586,15.0226601,41.5046077,65.1912567,36.3755658,47.6472288,24.1882217,3.5648107,11.377552,12.2038691,32.242735,22.7608883,1.7615388,1.7733792,24.9084011,20.0764684,50.2204423,15.3423816,41.4521347,65.2179532,37.2560004,47.8816536,24.1129768,4.0887121,10.8761347,11.1978255,31.2210462,24.6425403,1.874142,1.8861887,25.830989,20.5247006,50.0302657,16.2784956,41.3059111,65.6943535,38.2108267,46.8083169,24.9723243,4.6071285,11.3048842,11.1439943,31.4932266,24.8091603,1.8724977,1.9081088,26.7867292,21.7301318,49.8511338,17.4424739,41.7097296,66.3632375,38.3534752,47.7430246,25.6841412,4.6158699,11.0806368,11.0802701,33.2846726,23.7223334,1.6688192,1.6571579,26.6614354,21.177487,50.2743267,17.6193351,41.3140933,66.9666661,39.0490649,48.7125583,26.2221522,4.9406714,11.3085098,10.5173987,32.5387063,22.5923081 +1649,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.632349,0.6899751,9.0625061,5.8734005,38.4824095,20.5278389,30.671115,68.1426713,37.7559355,48.8219111,21.457593,6.4754609,9.5473431,8.4158434,33.1886896,4.2997532,0.6306561,0.6608749,9.3608077,6.180482,38.2490344,20.4570491,30.5887111,68.3929995,38.130476,48.7589549,21.5194954,6.5791541,9.1036829,7.7704796,33.4645679,3.734938,0.5895281,0.6133682,8.9871345,5.9531137,37.4999992,20.5350317,30.1970216,68.1585479,38.6984205,49.2786232,22.5798966,6.756126,8.9242383,7.7797989,33.399571,3.6214945,0.6105687,0.6158105,8.950765,5.9748456,37.3939701,21.0441867,30.7936725,67.7336815,38.5909156,48.7908821,22.5003854,6.7508892,9.1033821,7.8577968,33.0717103,3.4855752,0.6215122,0.641219,9.1480475,6.1530135,37.4960305,21.0432824,30.7674233,67.4001587,38.5043093,48.4025013,22.4823776,6.9616284,8.88239,7.6887557,32.9556028,3.0562332 +1650,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7652799,1.8216005,30.2704257,24.8893682,39.3091219,15.4011101,37.0731007,61.4963831,35.0474613,45.6212515,22.6613486,2.9482411,13.9973437,11.2243775,40.0148362,23.4767446,1.8168545,1.8273261,30.2946557,25.0014354,41.1671775,15.3233789,36.7411373,62.2691257,34.9645191,45.5121235,22.200501,2.9521024,14.5775092,11.0916224,40.3450079,22.3510195,1.7812885,1.7993584,30.3370869,25.1510179,42.0838266,15.0303532,36.4701176,62.8542121,35.8938928,45.4900358,22.9551941,2.820839,14.9765525,11.3882289,39.6522611,22.6984242,1.7179778,1.7051182,29.8290716,25.0924992,42.7270668,14.8108159,36.8070057,63.8680543,36.2665545,44.7839648,23.0052764,2.8441047,15.5556635,11.4258925,39.442589,20.8333475,1.6979523,1.6853302,29.4830574,25.3762303,43.4437605,14.9802111,36.5135976,64.0833007,37.2389597,44.3151028,23.4210443,2.8594491,16.0520863,11.4005481,38.9494259,19.8571483 +1651,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2592356,0.2592356,6.7996188,4.3184623,47.8743398,21.106374,27.2882377,67.3440999,34.2382866,43.3912466,19.7486788,8.2997236,8.9383687,7.2910281,36.9858845,4.9679535,0.2865524,0.2865524,6.8329677,4.2609186,48.0940695,21.6341847,27.3184816,67.5869497,34.6095185,43.0292836,19.9359347,8.6485663,8.2936895,7.2278376,36.6327785,5.3054714,0.3834501,0.3834501,6.8736444,4.1859698,48.2542139,21.5695085,27.6327718,67.0865009,34.0364191,43.4142616,19.7116824,8.6949925,8.6176388,7.1596906,37.3297846,4.1795704,0.4045892,0.4045892,7.5572512,4.4427464,47.9570227,21.7140308,28.0341515,67.0212857,33.9976029,43.0776121,19.1639176,9.4546003,8.7404264,7.0584723,37.7599518,4.2319762,0.4002648,0.4002648,7.6651296,4.5622102,48.3171645,21.489927,28.6592566,67.621483,34.5980798,42.9963999,19.9610054,9.6730656,8.5553543,6.8586715,37.8370312,3.7764362 +1652,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8025365,0.8222898,14.4779293,10.9969572,56.5748312,30.9824356,33.3067145,67.1749923,33.6272639,43.258271,16.4525926,5.0562366,15.1668436,8.1667619,35.5216307,6.1983983,1.0344931,1.0540437,15.2107084,11.778609,55.385841,31.0640039,33.8353467,67.1156947,33.5179895,43.9777018,16.0855319,4.6751744,16.5034837,8.6602439,35.8085585,6.0976353,1.1832368,1.203378,15.1686295,11.9584008,55.163875,30.0481176,33.4678779,66.8547871,32.6611752,42.6612075,15.7257421,4.5968261,15.8334917,9.500095,36.7795266,7.5222237,1.033286,1.0537991,14.934108,11.9638543,55.0494502,28.5130594,35.1152647,68.1742523,32.8126028,42.3520375,16.529576,3.7007066,14.8693606,8.3334695,34.9333598,7.9440366,1.0744813,1.0949001,15.2778958,12.3367626,57.6030407,28.4440709,35.6559594,68.1146638,32.0492728,40.5738928,16.1475888,3.8525095,15.1960248,9.3137295,35.264384,7.0248805 +1653,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.397761,1.416788,16.4962176,12.395891,33.4183547,16.356658,34.8374091,68.0455035,38.9930847,48.2656184,23.0665866,3.789909,11.2589051,10.1592521,33.5491806,16.442908,1.2862234,1.2807192,16.2656275,12.5268047,32.8166943,15.777344,34.2905434,67.99425,39.6161238,47.5477133,22.8178725,3.985084,11.5350974,9.7929383,33.8459838,16.871125,1.255135,1.2498339,16.3134826,12.7107084,33.2927943,15.840565,34.4111287,67.803228,39.226131,47.1903264,22.4954495,3.6197547,11.3076895,9.9647775,33.6225432,16.3793292,1.3562954,1.3512018,16.8177927,13.2312885,33.046117,15.8917122,34.8076118,67.5780801,39.5508656,47.8734698,22.8339639,3.7645884,11.5638036,9.8173351,34.0430018,16.0526485,1.2520293,1.2773565,17.0408027,13.4499361,33.2822993,16.0403127,34.6971507,68.0857116,39.9943743,47.5463487,23.0017836,3.8919867,11.5794159,9.363976,33.7499925,15.9898639 +1654,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2910256,1.3096749,14.8883386,10.398483,41.4325831,15.4768535,33.5636842,71.2283627,39.6916526,48.8993286,25.5831005,3.9607679,12.964217,12.1638879,40.4822108,8.1325301,1.1819213,1.2001544,15.0288209,10.7014829,40.8452505,15.4559318,33.6216393,71.5659662,39.3326395,49.051757,25.7237483,4.3800542,12.2761346,12.2532473,40.9407143,7.3369485,1.221237,1.2502351,15.780808,11.2182529,40.8803484,15.6572807,34.3123291,70.6064973,39.2788919,48.7822275,25.3342993,4.5606506,12.661151,12.5459559,41.1409926,9.0206093,1.2481921,1.2767432,15.6685241,10.9795765,39.9091391,15.6568036,33.5136501,70.1552268,39.2521183,48.3772244,25.0470485,4.492005,12.5337028,12.5112119,40.5148998,8.9743544,1.3043008,1.332987,15.5083945,11.2173534,39.3596628,15.393576,33.1202825,69.6732977,38.849441,47.4668389,24.5501952,4.5217861,11.1672988,11.1672896,39.7685222,8.7064633 +1655,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9695318,0.9552374,14.3054345,9.6868583,48.3145595,13.0154435,30.7617885,60.5355481,32.9805182,37.0731843,17.6493102,3.8796116,13.5939872,10.7423337,37.9128897,14.830521,1.0515317,1.0373883,14.661387,9.8435946,49.6160457,12.7744885,30.9662267,59.8984303,33.3030489,37.8007105,16.8662458,4.016363,13.8195506,10.931145,36.9688125,14.4736969,1.1448033,1.0756716,15.3332177,9.8971067,50.0564934,12.9946867,31.1274081,60.4735208,33.7377812,37.4308817,17.7919474,4.1009156,13.8477188,10.950942,37.7711731,14.3441216,1.136759,1.0789552,15.5240108,9.969267,51.9803186,12.8707789,30.8823959,61.5252931,33.2362882,38.3119064,17.4544653,4.07718,13.8507079,10.7959631,38.531806,12.2850539,1.1160189,1.1129378,15.6673614,10.8693645,53.6655191,13.7012723,30.2671106,62.0705217,34.066434,39.3016295,17.1972125,4.2909193,13.4160863,10.1984879,39.4191033,13.6673087 +1656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7106461,0.7155659,8.5838298,5.5485835,28.6327345,11.1450836,29.9761353,68.8331433,37.5951143,49.3256647,20.9442102,3.7063056,10.0994942,9.1375171,31.3928345,3.2915371,0.7308406,0.7269341,8.7706307,5.6077959,28.4686409,11.0980304,30.496378,68.5758713,37.7887536,49.182918,20.6897521,3.5753271,10.4815261,9.3478641,30.9950097,3.7337662,0.6820194,0.675675,8.3604951,5.3859974,28.5079164,10.9888483,30.6740721,68.3980345,37.5589211,48.8448439,20.5829805,3.3715574,10.3610865,9.6936235,31.0261878,2.8428113,0.6706078,0.6667509,8.3142748,5.3932526,28.5724266,10.5323479,30.3265697,67.8457377,37.2019938,48.4750236,20.354485,3.3524198,10.266741,9.8018148,30.7864589,3.0645181,0.7010367,0.6942774,8.5516099,5.7340745,28.7529395,10.4738964,29.9921536,67.8026253,36.9178615,48.0513677,20.5511769,3.3152129,10.4453158,9.6769385,30.5188947,3.1147592 +1657,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7369086,0.7356394,8.9171914,5.1549781,45.4670194,19.5399136,31.2225243,69.0714222,38.8624962,43.6526742,22.553641,4.4519935,9.5509154,8.5703278,33.5270585,7.1138415,0.6613373,0.6705187,9.0971292,5.3240632,44.2785576,19.7200307,31.291303,70.1723287,39.6698006,43.7732608,22.9411931,4.4046314,9.3765465,8.3086618,33.3033764,7.2314792,0.6705265,0.6770817,8.9602963,5.3649681,43.9278188,19.6302418,31.3823963,70.936052,39.1956095,44.4047102,22.9393537,4.4505206,9.2525143,7.5508231,33.0096579,6.9621556,0.68023,0.6880019,9.2740623,5.7701648,44.1119577,19.2772513,31.0861119,71.2515903,38.8966932,45.7953061,23.0188317,4.4042499,9.9825981,7.9067593,33.4391368,7.415394,0.7229131,0.7135159,9.638591,6.1361151,43.3593286,19.2393075,31.0593738,71.3418902,38.9123078,45.6355555,23.3756759,4.5056437,9.9207168,7.933287,34.2879106,7.1722691 +1658,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5610912,0.5566029,7.5175475,4.8208233,33.41458,25.4006364,29.116013,70.9208562,35.267086,46.3903947,18.213643,7.3112361,10.7664037,9.6856548,32.4871367,2.6748916,0.5678464,0.5634325,8.0997427,4.9326412,32.2049916,24.5952333,29.833138,70.0580666,35.1288244,46.0464025,18.1538284,7.163581,11.5905559,9.3995476,32.0043017,3.3073866,0.7395005,0.7253318,8.3791696,5.3355208,31.0157674,24.1724695,29.5595884,69.8165418,35.1743436,46.1100749,18.1468124,6.6972476,10.84464,9.2831308,33.4656916,2.2448934,0.858802,0.8532607,8.7495499,5.3359569,31.3118471,24.3248506,30.1219552,69.3398151,35.468264,46.842455,18.101928,7.5170245,10.772888,8.8134219,33.1836905,2.529178,0.8710658,0.8820542,8.4730525,5.1551835,30.438741,24.6486391,30.5437091,69.3141448,35.7320438,45.6112018,18.2835851,7.8713435,10.3671136,7.9413975,32.1993261,2.9880359 +1659,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.2865524,0.2865524,6.8329677,4.2609186,48.0940695,21.6341847,27.3184816,67.5869497,34.6095185,43.0292836,19.9359347,8.6485663,8.2936895,7.2278376,36.6327785,5.3054714,0.3834501,0.3834501,6.8736444,4.1859698,48.2542139,21.5695085,27.6327718,67.0865009,34.0364191,43.4142616,19.7116824,8.6949925,8.6176388,7.1596906,37.3297846,4.1795704,0.4045892,0.4045892,7.5572512,4.4427464,47.9570227,21.7140308,28.0341515,67.0212857,33.9976029,43.0776121,19.1639176,9.4546003,8.7404264,7.0584723,37.7599518,4.2319762,0.4002648,0.4002648,7.6651296,4.5622102,48.3171645,21.489927,28.6592566,67.621483,34.5980798,42.9963999,19.9610054,9.6730656,8.5553543,6.8586715,37.8370312,3.7764362,0.4419852,0.4145352,8.0227925,4.7890374,47.9179326,21.4796038,29.4126405,67.7861479,34.7439733,42.2138548,19.5331318,9.6837346,8.3985516,6.4876302,36.2667467,3.9823009 +1660,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7615388,1.7733792,24.9084011,20.0764684,50.2204423,15.3423816,41.4521347,65.2179532,37.2560004,47.8816536,24.1129768,4.0887121,10.8761347,11.1978255,31.2210462,24.6425403,1.874142,1.8861887,25.830989,20.5247006,50.0302657,16.2784956,41.3059111,65.6943535,38.2108267,46.8083169,24.9723243,4.6071285,11.3048842,11.1439943,31.4932266,24.8091603,1.8724977,1.9081088,26.7867292,21.7301318,49.8511338,17.4424739,41.7097296,66.3632375,38.3534752,47.7430246,25.6841412,4.6158699,11.0806368,11.0802701,33.2846726,23.7223334,1.6688192,1.6571579,26.6614354,21.177487,50.2743267,17.6193351,41.3140933,66.9666661,39.0490649,48.7125583,26.2221522,4.9406714,11.3085098,10.5173987,32.5387063,22.5923081,1.8039239,1.7202025,26.7014273,21.6160385,50.5587056,17.7273727,41.60776,66.3268004,38.720965,49.0203266,26.8679606,5.0284852,11.2614036,10.9322499,33.114148,22.7603278 +1661,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1819213,1.2001544,15.0288209,10.7014829,40.8452505,15.4559318,33.6216393,71.5659662,39.3326395,49.051757,25.7237483,4.3800542,12.2761346,12.2532473,40.9407143,7.3369485,1.221237,1.2502351,15.780808,11.2182529,40.8803484,15.6572807,34.3123291,70.6064973,39.2788919,48.7822275,25.3342993,4.5606506,12.661151,12.5459559,41.1409926,9.0206093,1.2481921,1.2767432,15.6685241,10.9795765,39.9091391,15.6568036,33.5136501,70.1552268,39.2521183,48.3772244,25.0470485,4.492005,12.5337028,12.5112119,40.5148998,8.9743544,1.3043008,1.332987,15.5083945,11.2173534,39.3596628,15.393576,33.1202825,69.6732977,38.849441,47.4668389,24.5501952,4.5217861,11.1672988,11.1672896,39.7685222,8.7064633,1.4622669,1.5046178,16.3114793,11.7433456,39.7346005,15.7687931,32.9115817,68.9159427,37.0157058,45.7835932,24.9831603,4.5471876,10.9602067,10.1371534,40.1880816,12.3831718 +1662,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7908179,0.7852407,8.8987634,5.9443271,43.0721142,14.5800992,27.0147993,68.8952938,40.3256521,44.7843641,21.4987628,5.298967,10.0624054,8.7462153,32.0612062,12.2844828,0.912394,0.9067723,9.4101503,6.3941742,43.8155754,15.4411915,26.987842,68.4389969,40.765727,44.4146998,21.465375,5.3829888,9.7986853,8.5318117,32.3404537,13.7860082,0.8347727,0.8291277,9.3736627,6.5197222,42.7863543,15.6976,27.1268606,67.9188449,40.9853048,43.7100046,21.1858191,5.2223414,10.0469539,8.367648,32.2161479,12.7615063,0.8574418,0.8039053,9.8448682,6.7243496,42.2848739,16.0851951,26.9195789,67.6597872,41.6337919,43.9571867,21.5379359,5.2050078,9.7873693,7.8376982,31.0802739,10.8695652,0.7942412,0.7345973,9.7747071,6.6067966,41.7377051,15.7147417,27.1740423,67.3523041,40.9720102,44.0438846,21.4969232,5.204292,10.2655594,8.1999102,31.4957859,10.3238866 +1663,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8460694,0.8277895,11.296403,7.5551078,27.3288829,21.9365375,35.1483671,68.7685629,41.2017828,52.9228518,24.851621,3.8130576,12.1492622,10.6160331,34.6084168,5.3370787,0.9363475,0.917977,11.5834133,7.8147908,27.1775164,21.6691442,35.9886685,69.0440925,41.4085854,52.2483654,24.5830727,3.8564632,11.4856706,10.4303565,33.724398,6.176467,0.9440043,0.9582375,11.6045504,8.0518434,27.5060554,21.5214298,37.3581993,69.1492636,41.417923,52.2238886,24.9701358,4.0447774,11.1401835,10.6413861,34.7863907,6.3252974,0.978987,1.0039507,11.806165,8.1535865,27.6874218,21.3203248,37.3747651,68.2528055,40.9693633,51.163827,24.6169609,3.9923382,10.8806738,10.4558219,35.0741789,7.7586648,1.0963711,1.1211258,12.0724235,8.3951066,27.4347961,21.2608797,37.1081018,68.8397379,40.6240872,50.6153134,24.2748338,4.028719,10.6640345,10.3672145,35.2259764,10.1745053 +1664,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5678464,0.5634325,8.0997427,4.9326412,32.2049916,24.5952333,29.833138,70.0580666,35.1288244,46.0464025,18.1538284,7.163581,11.5905559,9.3995476,32.0043017,3.3073866,0.7395005,0.7253318,8.3791696,5.3355208,31.0157674,24.1724695,29.5595884,69.8165418,35.1743436,46.1100749,18.1468124,6.6972476,10.84464,9.2831308,33.4656916,2.2448934,0.858802,0.8532607,8.7495499,5.3359569,31.3118471,24.3248506,30.1219552,69.3398151,35.468264,46.842455,18.101928,7.5170245,10.772888,8.8134219,33.1836905,2.529178,0.8710658,0.8820542,8.4730525,5.1551835,30.438741,24.6486391,30.5437091,69.3141448,35.7320438,45.6112018,18.2835851,7.8713435,10.3671136,7.9413975,32.1993261,2.9880359,0.909854,0.9426022,8.4959085,5.0904504,31.2252658,24.5807137,30.8870222,68.3737853,35.3220717,46.0225086,18.6378027,8.2541199,10.2434173,7.7001513,31.7281795,2.2357678 +1665,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.828979,0.8653465,10.5115833,7.3765364,27.9836258,13.8646191,30.7017676,70.3475907,40.2422067,49.7102131,21.2686458,6.9212376,11.4236122,9.5396853,32.4141173,7.9487179,0.8279856,0.8806077,10.6805109,7.4039675,27.3690613,13.973914,30.6466195,70.2512415,40.5561838,50.0347448,21.5977512,7.127787,11.1551955,9.5394467,31.7085224,6.684492,0.88067,0.9417422,10.6424601,7.3452636,27.3415566,13.8883744,30.3197221,70.5417815,40.6005628,50.2689705,21.1894531,7.1713443,11.6503907,8.93258,31.4444395,7.4585635,0.7703122,0.8195434,10.6831834,7.2191915,27.1454185,14.2990137,30.1066772,69.9993819,40.4790636,50.1764596,21.7865877,7.4152913,10.9463622,8.8298299,31.0318857,6.0344828,0.8383,0.8873697,10.3579964,7.0036393,27.1685613,14.6963142,29.5743834,70.1087759,41.0820531,49.7008818,21.6922633,7.6171714,10.7387084,9.0015544,32.279587,5.3977273 +1666,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6115749,0.6036432,9.1116944,5.7805386,49.6431033,14.2004923,31.1441112,67.7997756,36.8866894,46.1496307,21.1771422,3.4873488,10.0593087,8.4360489,31.4854676,5.8719071,0.585724,0.577488,9.2358116,6.0479298,49.1554812,14.239098,31.0143879,68.3230541,36.8403095,45.9790008,21.7386531,3.7582819,10.1052234,8.5645134,31.4962563,7.0881446,0.6006298,0.5921079,8.7897972,5.79354,47.6457956,14.7462863,31.3621202,68.3781894,37.8305039,46.4707425,21.3763145,3.812561,9.5987361,8.3066419,31.5607868,6.1023848,0.6093692,0.5947655,8.9027703,5.743324,47.2256966,15.291682,31.3674377,68.583094,38.5138419,46.0559033,21.2537183,3.7957463,10.029012,8.5111596,31.8936285,5.3999849,0.6520813,0.636512,8.5792662,5.4714046,46.5113222,15.4434694,30.9661188,68.4037876,38.448405,46.3245079,20.4647008,3.7148882,10.1355032,8.6513303,30.5044743,6.0267776 +1667,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7395005,0.7253318,8.3791696,5.3355208,31.0157674,24.1724695,29.5595884,69.8165418,35.1743436,46.1100749,18.1468124,6.6972476,10.84464,9.2831308,33.4656916,2.2448934,0.858802,0.8532607,8.7495499,5.3359569,31.3118471,24.3248506,30.1219552,69.3398151,35.468264,46.842455,18.101928,7.5170245,10.772888,8.8134219,33.1836905,2.529178,0.8710658,0.8820542,8.4730525,5.1551835,30.438741,24.6486391,30.5437091,69.3141448,35.7320438,45.6112018,18.2835851,7.8713435,10.3671136,7.9413975,32.1993261,2.9880359,0.909854,0.9426022,8.4959085,5.0904504,31.2252658,24.5807137,30.8870222,68.3737853,35.3220717,46.0225086,18.6378027,8.2541199,10.2434173,7.7001513,31.7281795,2.2357678,0.8075077,0.847964,8.6781389,5.1017083,31.7728949,24.9309914,31.1609426,67.0663818,34.6715701,44.786231,17.9875301,8.2551242,10.1802431,8.1325391,31.2753542,1.8749961 +1668,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6385266,0.6394396,9.9589365,7.1204304,46.6541385,10.7437546,28.6626054,69.7506551,42.5137178,43.3249872,21.7907428,4.8258174,9.4645795,8.1320999,34.6448146,6.8881708,0.6485514,0.6467994,9.7599201,6.8603619,46.6086815,10.618614,28.7904832,69.6014212,42.0686866,42.8842173,21.6689625,4.9908097,9.3486655,7.8420191,35.0241485,6.4589685,0.6906939,0.6788255,9.9517862,7.0251221,46.4559377,10.509866,28.7305947,69.406871,41.8902385,42.6773838,21.6241669,4.9833691,9.1458043,7.6509313,34.8535236,6.7507438,0.6645853,0.6454607,10.2322808,7.2930481,46.4222691,10.776414,29.2233193,70.0804945,41.8416144,42.9185262,21.5109296,4.933099,9.3756757,7.9163963,34.927757,8.1140375,0.6659165,0.6556161,10.224399,7.3204291,45.8848885,10.999351,29.1181246,70.4572679,41.6058761,43.0103431,21.7365243,4.9918322,9.3071225,8.0837677,34.9594396,8.0572313 +1669,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7612831,0.8003838,10.2637741,6.3210247,49.5713297,11.0221019,32.2023315,66.5347865,43.0266232,46.0796652,24.3893736,4.6974667,10.7242576,9.8326139,37.7153294,4.7861507,0.7852682,0.8286503,10.4225026,6.5482798,49.5577688,11.1012757,32.151771,66.8076672,42.8620792,45.9142711,24.3687311,4.8210227,10.3002323,9.2309609,37.5491272,5.2480866,0.7819383,0.8097686,10.7749665,6.7369033,48.6853459,11.0735596,32.4282414,67.2078823,42.332552,45.4992731,24.3430564,4.776975,10.0700824,9.0064436,37.1969461,5.491321,0.80299,0.8238361,10.7263749,6.7357704,49.0901329,11.0240157,32.774245,67.2645582,42.5786625,45.2596911,24.3944792,4.6690741,9.7557594,8.361134,37.4642896,5.3345312,0.7718421,0.7887523,10.8289104,6.6116571,49.3549087,10.7914582,32.9103421,67.6248757,42.5002597,44.7631918,24.5191289,4.666523,9.9382678,8.3959625,38.3975794,5.9563688 +1670,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.585724,0.577488,9.2358116,6.0479298,49.1554812,14.239098,31.0143879,68.3230541,36.8403095,45.9790008,21.7386531,3.7582819,10.1052234,8.5645134,31.4962563,7.0881446,0.6006298,0.5921079,8.7897972,5.79354,47.6457956,14.7462863,31.3621202,68.3781894,37.8305039,46.4707425,21.3763145,3.812561,9.5987361,8.3066419,31.5607868,6.1023848,0.6093692,0.5947655,8.9027703,5.743324,47.2256966,15.291682,31.3674377,68.583094,38.5138419,46.0559033,21.2537183,3.7957463,10.029012,8.5111596,31.8936285,5.3999849,0.6520813,0.636512,8.5792662,5.4714046,46.5113222,15.4434694,30.9661188,68.4037876,38.448405,46.3245079,20.4647008,3.7148882,10.1355032,8.6513303,30.5044743,6.0267776,0.6120856,0.585516,8.3907428,5.3596064,45.6059398,15.2493905,29.8756761,68.1906084,37.8038666,46.3397828,19.4337074,3.6878484,9.3169535,8.2420579,29.4878983,5.630623 +1671,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4809255,1.4968563,34.7412295,30.6661633,58.4294797,15.9443704,33.2197848,63.1482162,31.3435759,42.7672904,16.3143692,1.7731002,19.6181154,12.9612492,39.4441694,23.3435429,1.3881583,1.4645125,34.77946,30.8522674,59.2192819,15.682094,33.4890013,62.6686449,32.3358975,42.7298745,16.3181163,1.5912654,18.5288551,12.9493014,40.2673354,23.225526,1.4898739,1.5628894,34.9911473,30.9581778,59.8498246,15.7834772,34.2572832,62.3075604,32.853673,43.0297451,17.4928073,1.9720135,17.7983527,14.0071416,40.0519477,20.8171764,1.6563898,1.6894554,35.3557138,31.0187526,59.9728299,15.6064329,34.3762022,60.9730496,33.1396176,42.9755585,17.8731454,2.1589721,17.8447777,13.6978724,39.2997197,20.8973971,1.6801771,1.7296419,34.9007174,30.7564069,60.2694881,15.882322,35.2217364,60.9800715,32.9758153,42.4570414,18.0011012,2.2249344,17.8117527,13.464,40.9964132,19.3714018 +1672,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6040561,0.6563946,7.5259283,5.0423028,44.7423113,14.3639311,27.5433033,67.8237498,32.5611773,42.1295005,18.071216,14.5105854,10.1395741,9.0199851,35.9487016,3.4122572,0.5753436,0.6161333,7.4956839,4.8798283,44.5984326,13.9662227,27.4013944,67.5811604,32.4859164,42.7354446,18.3726897,14.3480013,9.9706362,8.8031004,36.0446325,3.3052049,0.5752485,0.6259996,7.7080579,4.9603684,44.8051096,13.6119125,27.9282276,67.6293992,33.1843694,42.2025122,18.4298368,14.5077384,10.228177,8.7493362,36.4767202,3.1163448,0.5536536,0.6046407,7.6704175,4.9569811,44.7300606,13.8143138,28.9530352,67.9921927,33.4746382,42.3159765,18.2007871,14.4866125,10.2021854,8.5063936,36.7114063,3.2413802,0.5262734,0.5644352,7.8967898,5.0370457,44.5980265,14.0228859,29.5976269,68.2387833,33.8720374,42.552774,18.5554139,14.5316644,9.8680843,8.4563619,36.4645923,3.2324631 +1673,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3881583,1.4645125,34.77946,30.8522674,59.2192819,15.682094,33.4890013,62.6686449,32.3358975,42.7298745,16.3181163,1.5912654,18.5288551,12.9493014,40.2673354,23.225526,1.4898739,1.5628894,34.9911473,30.9581778,59.8498246,15.7834772,34.2572832,62.3075604,32.853673,43.0297451,17.4928073,1.9720135,17.7983527,14.0071416,40.0519477,20.8171764,1.6563898,1.6894554,35.3557138,31.0187526,59.9728299,15.6064329,34.3762022,60.9730496,33.1396176,42.9755585,17.8731454,2.1589721,17.8447777,13.6978724,39.2997197,20.8973971,1.6801771,1.7296419,34.9007174,30.7564069,60.2694881,15.882322,35.2217364,60.9800715,32.9758153,42.4570414,18.0011012,2.2249344,17.8117527,13.464,40.9964132,19.3714018,1.646109,1.695873,34.8933401,30.8342265,61.7038976,15.6727017,35.4978658,61.5524071,32.9139571,42.5571465,17.9581753,2.3471124,16.8199124,13.1455585,42.2367123,17.580986 +1674,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.221237,1.2502351,15.780808,11.2182529,40.8803484,15.6572807,34.3123291,70.6064973,39.2788919,48.7822275,25.3342993,4.5606506,12.661151,12.5459559,41.1409926,9.0206093,1.2481921,1.2767432,15.6685241,10.9795765,39.9091391,15.6568036,33.5136501,70.1552268,39.2521183,48.3772244,25.0470485,4.492005,12.5337028,12.5112119,40.5148998,8.9743544,1.3043008,1.332987,15.5083945,11.2173534,39.3596628,15.393576,33.1202825,69.6732977,38.849441,47.4668389,24.5501952,4.5217861,11.1672988,11.1672896,39.7685222,8.7064633,1.4622669,1.5046178,16.3114793,11.7433456,39.7346005,15.7687931,32.9115817,68.9159427,37.0157058,45.7835932,24.9831603,4.5471876,10.9602067,10.1371534,40.1880816,12.3831718,1.503141,1.5342326,16.4020573,12.0251705,39.7948592,15.5641419,33.6669482,69.0415323,37.1449196,46.0686412,24.7432174,4.7364463,10.6277782,9.8246558,40.0749262,11.8534483 +1675,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4898739,1.5628894,34.9911473,30.9581778,59.8498246,15.7834772,34.2572832,62.3075604,32.853673,43.0297451,17.4928073,1.9720135,17.7983527,14.0071416,40.0519477,20.8171764,1.6563898,1.6894554,35.3557138,31.0187526,59.9728299,15.6064329,34.3762022,60.9730496,33.1396176,42.9755585,17.8731454,2.1589721,17.8447777,13.6978724,39.2997197,20.8973971,1.6801771,1.7296419,34.9007174,30.7564069,60.2694881,15.882322,35.2217364,60.9800715,32.9758153,42.4570414,18.0011012,2.2249344,17.8117527,13.464,40.9964132,19.3714018,1.646109,1.695873,34.8933401,30.8342265,61.7038976,15.6727017,35.4978658,61.5524071,32.9139571,42.5571465,17.9581753,2.3471124,16.8199124,13.1455585,42.2367123,17.580986,1.6539699,1.692521,34.4405808,30.5770611,63.4819713,14.8027215,35.4134246,61.5804851,31.9749763,41.8190826,17.172886,2.2981594,17.4392665,14.1917882,43.474356,16.5403414 +1676,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7107772,0.6693165,10.5654202,7.3585293,20.7564438,16.4753741,34.091007,65.4343829,37.7944273,49.2332103,21.5220637,5.3111682,11.2363798,9.2772075,27.2772072,3.8458392,0.8608693,0.8118991,11.3770827,7.9290816,21.029767,16.1406939,34.9258802,65.693154,37.2489705,49.1131924,21.3325771,5.0442846,11.2754347,9.3376082,27.4002622,4.4827555,0.8322521,0.7897919,12.5429391,8.4972427,22.3254246,16.5625961,34.6537849,65.3624566,37.0820342,48.7098787,21.548804,4.5551195,11.7593742,9.6411923,27.5694029,3.6666642,0.8152707,0.7884164,12.5709133,8.5579485,22.9392738,16.6921741,34.9933695,64.2342494,36.2518173,47.8498638,21.5360876,4.5508356,11.4245204,9.2565379,27.0297727,4.0123407,0.8506907,0.8242427,12.7473881,8.7779399,22.8706655,16.4081903,35.4384922,64.5239286,35.7618783,47.3763658,21.7236241,4.7068541,11.3622269,8.9258005,27.1354202,4.4910126 +1677,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.874142,1.8861887,25.830989,20.5247006,50.0302657,16.2784956,41.3059111,65.6943535,38.2108267,46.8083169,24.9723243,4.6071285,11.3048842,11.1439943,31.4932266,24.8091603,1.8724977,1.9081088,26.7867292,21.7301318,49.8511338,17.4424739,41.7097296,66.3632375,38.3534752,47.7430246,25.6841412,4.6158699,11.0806368,11.0802701,33.2846726,23.7223334,1.6688192,1.6571579,26.6614354,21.177487,50.2743267,17.6193351,41.3140933,66.9666661,39.0490649,48.7125583,26.2221522,4.9406714,11.3085098,10.5173987,32.5387063,22.5923081,1.8039239,1.7202025,26.7014273,21.6160385,50.5587056,17.7273727,41.60776,66.3268004,38.720965,49.0203266,26.8679606,5.0284852,11.2614036,10.9322499,33.114148,22.7603278,1.7653662,1.6801714,25.3203338,20.1604496,50.5680358,17.6283204,42.7768204,65.3700447,39.3653596,49.7578121,27.8701032,4.7950167,12.2034957,11.2072385,33.8403097,21.4258489 +1678,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4157451,0.4222122,9.2122666,6.0936603,74.663422,11.4198865,29.3225948,69.0151513,30.6941157,43.4954762,15.1911138,4.3848303,11.9012113,12.2441098,31.3733921,4.231508,0.3738862,0.3807106,8.7625695,6.1229969,73.5069652,11.7890726,29.2710475,68.1381228,31.1154554,43.9394343,15.2611431,4.5454078,11.4680131,11.496595,30.3855981,3.6893264,0.2528711,0.2963303,8.8384876,6.3132539,72.5316671,12.0230679,29.4515229,69.1075871,30.9854665,43.8633702,14.8534243,5.0441238,12.2784347,12.1225265,29.9112207,4.5462396,0.3882065,0.4339572,9.2782623,6.6619978,72.8426698,11.8032058,28.2950868,68.8144613,30.7936255,44.9534961,14.4290948,5.022016,11.5495156,10.8095063,31.2501401,3.880185,0.5634137,0.5634137,9.181296,6.5872138,72.559432,11.8315211,27.2334185,68.427888,30.7045275,44.3340187,14.982126,4.9259482,11.5346523,10.1686498,33.5160226,4.0187998 +1679,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.912394,0.9067723,9.4101503,6.3941742,43.8155754,15.4411915,26.987842,68.4389969,40.765727,44.4146998,21.465375,5.3829888,9.7986853,8.5318117,32.3404537,13.7860082,0.8347727,0.8291277,9.3736627,6.5197222,42.7863543,15.6976,27.1268606,67.9188449,40.9853048,43.7100046,21.1858191,5.2223414,10.0469539,8.367648,32.2161479,12.7615063,0.8574418,0.8039053,9.8448682,6.7243496,42.2848739,16.0851951,26.9195789,67.6597872,41.6337919,43.9571867,21.5379359,5.2050078,9.7873693,7.8376982,31.0802739,10.8695652,0.7942412,0.7345973,9.7747071,6.6067966,41.7377051,15.7147417,27.1740423,67.3523041,40.9720102,44.0438846,21.4969232,5.204292,10.2655594,8.1999102,31.4957859,10.3238866,0.7536819,0.6771033,9.9310961,6.8752752,41.699183,15.8172248,26.9822798,67.1378354,40.5551336,43.989044,20.8718974,5.1508656,9.9477789,8.1780965,31.5369439,9.6837945 +1680,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3206662,0.3982595,7.3498669,4.8735659,59.1726124,21.8542107,30.3994819,65.1867903,32.3963423,44.6927505,18.260715,6.1744864,10.4806508,8.0513423,31.5710785,4.9342105,0.2126416,0.2445798,7.214516,4.5961203,57.8074662,22.2618518,30.6895887,65.0507068,33.4362318,44.4228151,19.871162,6.3621351,10.0329761,8.4066618,32.7645732,4.8148148,0.2766298,0.3151225,7.3958023,4.7687199,55.8335696,23.0275053,30.8993322,65.9510143,33.6484741,44.7596355,20.1318208,5.9278619,9.9772803,8.0572119,31.4075807,5.952381,0.3684648,0.3656245,7.4252127,4.6019357,55.9788006,22.9685771,31.1156506,67.1860008,33.5505257,45.7249863,20.130329,5.8041033,10.3584308,8.0157634,30.9553093,4.4715447,0.3798744,0.3896701,6.7763787,3.9877432,56.2711323,22.6503529,31.0068082,65.879012,32.6753141,44.2437811,19.3827347,5.3670987,9.9016151,7.2757725,30.4612673,3.7815126 +1681,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4322638,0.4808783,7.0015617,4.6069755,45.782815,24.1103662,29.0818988,70.0312989,36.4893062,44.5748565,18.7532603,5.5555556,10.1987448,7.165272,34.0549102,2.3972603,0.4350785,0.4831092,6.9701646,4.5010288,45.4997384,23.8863287,28.9596273,70.1086957,36.7753623,45.315735,18.9182195,5.615942,10.3033473,7.6963351,34.1605069,2.4305556,0.3889157,0.4210907,7.0098293,4.3714434,45.933893,22.6178279,28.5751295,68.9896373,35.6217617,44.7927461,19.1450777,5.5181347,10.8604407,7.7287066,34.9416755,3.7931034,0.3551203,0.3865817,6.9374369,4.3642785,45.7397959,22.6410384,28.8714575,68.1933198,35.5516194,45.3188259,19.5091093,5.6427126,11.5934627,8.7423313,34.7938144,4.4217687,0.3846056,0.3693988,7.0034163,4.6120059,44.982613,22.3275024,28.2512315,67.8571429,35.6403941,45.6896552,18.8916256,5.591133,10.2602603,7.8657315,33.8220425,4.1666667 +1682,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4350785,0.4831092,6.9701646,4.5010288,45.4997384,23.8863287,28.9596273,70.1086957,36.7753623,45.315735,18.9182195,5.615942,10.3033473,7.6963351,34.1605069,2.4305556,0.3889157,0.4210907,7.0098293,4.3714434,45.933893,22.6178279,28.5751295,68.9896373,35.6217617,44.7927461,19.1450777,5.5181347,10.8604407,7.7287066,34.9416755,3.7931034,0.3551203,0.3865817,6.9374369,4.3642785,45.7397959,22.6410384,28.8714575,68.1933198,35.5516194,45.3188259,19.5091093,5.6427126,11.5934627,8.7423313,34.7938144,4.4217687,0.3846056,0.3693988,7.0034163,4.6120059,44.982613,22.3275024,28.2512315,67.8571429,35.6403941,45.6896552,18.8916256,5.591133,10.2602603,7.8657315,33.8220425,4.1666667,0.2578036,0.2578036,7.0095694,4.3779904,45.031661,21.9761905,28.4507722,67.6399614,35.5453668,46.21139,18.6534749,6.1052124,9.4554455,8.3746283,33.65,3.5947712 +1683,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6162285,1.5957676,28.3789755,23.5995984,42.7328168,18.8690446,40.1347006,64.3037326,36.5648799,48.8992956,22.7920577,3.4773579,11.8190937,10.1955174,31.7643025,15.6029487,1.6846888,1.6640422,28.9223887,24.1562348,43.79056,18.1878012,40.764665,64.2764944,35.7206706,49.1020918,22.5844406,3.6450084,11.5796188,10.1604146,31.9519681,15.6409178,1.6709346,1.6665015,28.8839298,24.0258614,42.702101,18.3934936,41.4107687,65.0544517,37.1688536,48.7608806,23.4551098,3.5361014,11.2349774,9.709289,32.3705365,13.8476997,1.8980596,1.8516336,29.0687391,24.0610214,42.7071329,18.4318892,41.6975003,65.7649252,37.5285693,48.9665757,24.3101491,3.5305951,11.2455901,9.5506468,31.7924616,16.3821137,2.0057094,1.9450993,28.6780608,23.7562838,42.4841594,18.4893105,41.8070939,65.0928113,37.5017796,48.6287016,24.125601,3.7521636,12.2234007,9.5658396,32.3022196,19.2818591 +1684,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.2597176,2.339899,29.360361,22.716365,47.8722302,13.2065551,36.6974235,65.4552833,32.0410417,47.5004435,22.5847343,4.8721584,16.9299849,12.6033265,35.0864254,14.3152101,2.3770887,2.4095417,29.2337159,22.9090731,47.7089712,13.4543818,37.4768016,64.8408876,32.0344228,47.5227768,23.6733148,5.3184563,15.8287891,11.8836773,34.6388659,14.4350015,2.4202807,2.4299551,29.387114,22.7335064,47.5786431,13.8123712,37.1709488,65.1047011,33.5056443,47.2278723,24.4420332,5.2747245,15.7356011,11.6934877,33.8614593,14.37233,2.1982122,2.1592473,29.9995177,23.0263722,48.1861514,14.6752818,37.1271326,65.2016215,32.910642,47.1988902,24.9247891,5.431372,14.9312279,11.5267667,33.4132893,14.0814947,2.1138071,2.0144865,30.2735469,23.0348791,48.778915,14.1645714,37.9167804,64.8774286,33.7988191,47.6717082,24.5340828,5.2205391,14.7172228,11.8523011,32.9304495,14.1998637 +1685,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4275712,0.4402552,7.2792314,5.1532712,60.063869,14.3836562,26.7364937,66.4804501,32.1573919,43.8435604,14.042438,4.6172102,11.8293659,9.3080055,30.6634333,5.0661529,0.451164,0.4598749,7.3722791,5.299186,58.8730105,14.0179728,26.5958835,67.3075883,32.6660405,43.8905113,14.4818387,4.5133154,11.2165529,9.0559977,31.2240988,5.7204456,0.4331783,0.4415798,7.0858404,5.0683916,58.4063443,14.0159176,27.0621769,67.5227223,32.7807845,44.4963699,14.3344028,4.5419289,11.634217,9.581965,31.2029554,6.5218242,0.4498066,0.4412103,7.1142132,5.0136756,56.9237156,14.2802778,26.4549086,67.5227306,32.7048619,44.6229203,14.688668,4.6178353,11.8302897,9.9405865,31.5433903,6.5737628,0.4356538,0.4329537,7.2742436,5.1354602,55.1782215,14.4261444,26.9811142,68.3144539,32.4653648,45.3962027,14.6288611,4.8175596,11.9575147,10.2760699,32.0327609,7.0076634 +1686,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.0515317,1.0373883,14.661387,9.8435946,49.6160457,12.7744885,30.9662267,59.8984303,33.3030489,37.8007105,16.8662458,4.016363,13.8195506,10.931145,36.9688125,14.4736969,1.1448033,1.0756716,15.3332177,9.8971067,50.0564934,12.9946867,31.1274081,60.4735208,33.7377812,37.4308817,17.7919474,4.1009156,13.8477188,10.950942,37.7711731,14.3441216,1.136759,1.0789552,15.5240108,9.969267,51.9803186,12.8707789,30.8823959,61.5252931,33.2362882,38.3119064,17.4544653,4.07718,13.8507079,10.7959631,38.531806,12.2850539,1.1160189,1.1129378,15.6673614,10.8693645,53.6655191,13.7012723,30.2671106,62.0705217,34.066434,39.3016295,17.1972125,4.2909193,13.4160863,10.1984879,39.4191033,13.6673087,0.9979836,0.9949632,15.9461248,11.1244717,54.3825457,14.2109141,29.8300269,62.0328251,34.4776309,39.4984008,17.5419019,3.9714443,13.7329576,10.088436,39.7633041,12.5859454 +1687,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6006298,0.5921079,8.7897972,5.79354,47.6457956,14.7462863,31.3621202,68.3781894,37.8305039,46.4707425,21.3763145,3.812561,9.5987361,8.3066419,31.5607868,6.1023848,0.6093692,0.5947655,8.9027703,5.743324,47.2256966,15.291682,31.3674377,68.583094,38.5138419,46.0559033,21.2537183,3.7957463,10.029012,8.5111596,31.8936285,5.3999849,0.6520813,0.636512,8.5792662,5.4714046,46.5113222,15.4434694,30.9661188,68.4037876,38.448405,46.3245079,20.4647008,3.7148882,10.1355032,8.6513303,30.5044743,6.0267776,0.6120856,0.585516,8.3907428,5.3596064,45.6059398,15.2493905,29.8756761,68.1906084,37.8038666,46.3397828,19.4337074,3.6878484,9.3169535,8.2420579,29.4878983,5.630623,0.4968433,0.49952,8.0351993,5.3519947,44.8240503,15.7616527,29.3648336,68.0829572,37.3984938,46.8532455,19.4460629,3.4367759,9.6521826,8.729691,30.1925522,4.702968 +1688,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8168545,1.8273261,30.2946557,25.0014354,41.1671775,15.3233789,36.7411373,62.2691257,34.9645191,45.5121235,22.200501,2.9521024,14.5775092,11.0916224,40.3450079,22.3510195,1.7812885,1.7993584,30.3370869,25.1510179,42.0838266,15.0303532,36.4701176,62.8542121,35.8938928,45.4900358,22.9551941,2.820839,14.9765525,11.3882289,39.6522611,22.6984242,1.7179778,1.7051182,29.8290716,25.0924992,42.7270668,14.8108159,36.8070057,63.8680543,36.2665545,44.7839648,23.0052764,2.8441047,15.5556635,11.4258925,39.442589,20.8333475,1.6979523,1.6853302,29.4830574,25.3762303,43.4437605,14.9802111,36.5135976,64.0833007,37.2389597,44.3151028,23.4210443,2.8594491,16.0520863,11.4005481,38.9494259,19.8571483,1.6499715,1.6230423,28.9531891,25.063252,44.171896,14.9542998,36.964161,64.4753573,37.7958924,44.8656462,23.1765762,2.8630801,16.3688468,11.5409055,38.3407839,19.4370018 +1689,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2849736,1.2494329,19.551034,15.2780686,38.1647083,17.0942359,35.1693257,66.6483405,33.8244297,45.0928082,22.7012086,3.0352342,11.3652178,8.9299226,36.2020317,15.0996319,1.3668974,1.3323041,19.7233527,15.6280701,38.9862861,16.9130174,35.4065023,66.9811537,33.8385691,44.9929307,22.8618894,3.0113155,11.4578618,8.6391891,36.9928617,16.4291469,1.4010689,1.3669629,20.293419,15.9756337,39.2100416,16.2738176,34.8324435,67.1427032,33.4923277,44.3208556,22.0988196,2.8042065,11.7380324,8.8538709,36.9823455,15.5508252,1.2572005,1.2234153,21.6459423,16.9232134,40.5934808,16.1573585,35.4765753,67.887155,33.3395221,44.7264208,21.1106616,2.7505073,11.6238278,8.6405977,36.6908596,17.5805781,1.3601795,1.3283331,22.6037745,17.7635771,40.9738504,16.448975,35.9384464,67.3989876,32.7001634,44.3323174,21.3647288,2.8254865,11.872037,8.7279808,37.1722045,19.3749919 +1690,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9525568,0.9641639,10.871075,7.3723895,41.0575662,20.8317992,34.6921034,69.7627455,38.6482814,47.6199137,23.6621708,3.7466615,13.5075932,11.1997058,36.4625662,7.0247702,0.9581392,0.9699583,10.910684,7.3666118,39.2466035,21.7488429,34.8344552,69.8471415,38.608136,48.2231001,23.4687641,4.1837358,13.3947312,11.0979027,37.6237963,7.5892654,0.83659,0.8491388,10.8513421,7.2610232,36.7000634,21.9967035,34.6932892,70.0750968,39.7133957,48.3000127,23.6309266,4.5149371,13.1106095,10.4063285,37.5560743,7.4258195,0.9375292,0.9507461,10.784396,7.0480718,35.1083641,21.0043486,33.8428496,70.1948544,39.7382718,47.0704565,22.6698945,4.1607687,12.4716536,10.880865,38.7842869,8.0190263,0.8751356,0.8887527,11.0700872,6.9224541,34.6865341,20.3416596,34.1082233,70.3570507,39.3872994,47.7563248,23.108794,4.0949009,12.5814464,10.9171841,40.6489164,6.132241 +1691,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6846888,1.6640422,28.9223887,24.1562348,43.79056,18.1878012,40.764665,64.2764944,35.7206706,49.1020918,22.5844406,3.6450084,11.5796188,10.1604146,31.9519681,15.6409178,1.6709346,1.6665015,28.8839298,24.0258614,42.702101,18.3934936,41.4107687,65.0544517,37.1688536,48.7608806,23.4551098,3.5361014,11.2349774,9.709289,32.3705365,13.8476997,1.8980596,1.8516336,29.0687391,24.0610214,42.7071329,18.4318892,41.6975003,65.7649252,37.5285693,48.9665757,24.3101491,3.5305951,11.2455901,9.5506468,31.7924616,16.3821137,2.0057094,1.9450993,28.6780608,23.7562838,42.4841594,18.4893105,41.8070939,65.0928113,37.5017796,48.6287016,24.125601,3.7521636,12.2234007,9.5658396,32.3022196,19.2818591,2.0019993,1.9413286,28.5486828,23.9506751,42.6712479,18.0383667,42.8478381,65.8033335,37.4337475,48.573405,24.6132482,3.6849913,12.2862029,9.0681995,32.1577071,20.0976964 +1692,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5753436,0.6161333,7.4956839,4.8798283,44.5984326,13.9662227,27.4013944,67.5811604,32.4859164,42.7354446,18.3726897,14.3480013,9.9706362,8.8031004,36.0446325,3.3052049,0.5752485,0.6259996,7.7080579,4.9603684,44.8051096,13.6119125,27.9282276,67.6293992,33.1843694,42.2025122,18.4298368,14.5077384,10.228177,8.7493362,36.4767202,3.1163448,0.5536536,0.6046407,7.6704175,4.9569811,44.7300606,13.8143138,28.9530352,67.9921927,33.4746382,42.3159765,18.2007871,14.4866125,10.2021854,8.5063936,36.7114063,3.2413802,0.5262734,0.5644352,7.8967898,5.0370457,44.5980265,14.0228859,29.5976269,68.2387833,33.8720374,42.552774,18.5554139,14.5316644,9.8680843,8.4563619,36.4645923,3.2324631,0.6161669,0.6213071,8.3110822,5.1735639,44.0189115,13.6648039,29.2724088,68.1087978,33.3085903,42.514849,18.5137715,14.666579,9.7769068,8.4231312,37.1129951,3.4256565 +1693,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3889157,0.4210907,7.0098293,4.3714434,45.933893,22.6178279,28.5751295,68.9896373,35.6217617,44.7927461,19.1450777,5.5181347,10.8604407,7.7287066,34.9416755,3.7931034,0.3551203,0.3865817,6.9374369,4.3642785,45.7397959,22.6410384,28.8714575,68.1933198,35.5516194,45.3188259,19.5091093,5.6427126,11.5934627,8.7423313,34.7938144,4.4217687,0.3846056,0.3693988,7.0034163,4.6120059,44.982613,22.3275024,28.2512315,67.8571429,35.6403941,45.6896552,18.8916256,5.591133,10.2602603,7.8657315,33.8220425,4.1666667,0.2578036,0.2578036,7.0095694,4.3779904,45.031661,21.9761905,28.4507722,67.6399614,35.5453668,46.21139,18.6534749,6.1052124,9.4554455,8.3746283,33.65,3.5947712,0.2810861,0.2810861,6.8009479,4.2417062,44.36721,22.3344293,28.3500238,67.7873152,35.2169766,46.3757749,18.0495947,6.1278016,9.6449136,8.5014409,33.9980545,2.3972603 +1694,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3738862,0.3807106,8.7625695,6.1229969,73.5069652,11.7890726,29.2710475,68.1381228,31.1154554,43.9394343,15.2611431,4.5454078,11.4680131,11.496595,30.3855981,3.6893264,0.2528711,0.2963303,8.8384876,6.3132539,72.5316671,12.0230679,29.4515229,69.1075871,30.9854665,43.8633702,14.8534243,5.0441238,12.2784347,12.1225265,29.9112207,4.5462396,0.3882065,0.4339572,9.2782623,6.6619978,72.8426698,11.8032058,28.2950868,68.8144613,30.7936255,44.9534961,14.4290948,5.022016,11.5495156,10.8095063,31.2501401,3.880185,0.5634137,0.5634137,9.181296,6.5872138,72.559432,11.8315211,27.2334185,68.427888,30.7045275,44.3340187,14.982126,4.9259482,11.5346523,10.1686498,33.5160226,4.0187998,0.5422784,0.5256343,9.0548156,6.6119214,72.7540253,11.3361928,26.9889453,68.1527964,30.5126532,44.6077251,15.3497029,4.9920161,11.3471467,9.8029015,33.4552087,4.8245614 +1695,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3834501,0.3834501,6.8736444,4.1859698,48.2542139,21.5695085,27.6327718,67.0865009,34.0364191,43.4142616,19.7116824,8.6949925,8.6176388,7.1596906,37.3297846,4.1795704,0.4045892,0.4045892,7.5572512,4.4427464,47.9570227,21.7140308,28.0341515,67.0212857,33.9976029,43.0776121,19.1639176,9.4546003,8.7404264,7.0584723,37.7599518,4.2319762,0.4002648,0.4002648,7.6651296,4.5622102,48.3171645,21.489927,28.6592566,67.621483,34.5980798,42.9963999,19.9610054,9.6730656,8.5553543,6.8586715,37.8370312,3.7764362,0.4419852,0.4145352,8.0227925,4.7890374,47.9179326,21.4796038,29.4126405,67.7861479,34.7439733,42.2138548,19.5331318,9.6837346,8.3985516,6.4876302,36.2667467,3.9823009,0.5011155,0.4742482,7.8605938,4.8430914,47.2692143,20.8818384,29.6301625,68.256532,35.6765479,41.9870865,19.5333154,9.5832104,8.6994689,6.7821507,37.3218497,4.7142871 +1696,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9570534,2.0517775,35.5637169,30.8136681,49.3543587,19.3299767,35.7432171,66.6579865,32.5191997,45.1670047,20.6365463,3.2550764,16.1327754,11.735448,33.0409749,24.3961836,1.8462632,1.892056,36.4046888,32.212446,49.1621307,18.4716946,36.1581766,67.1831561,32.2481951,45.3683558,20.5212136,2.7424663,17.2356723,11.8633001,32.6646492,24.5049879,1.6504924,1.6953711,37.4992101,32.9812371,49.147463,18.8714895,37.0610282,67.6825081,31.6385967,46.4262068,20.3635245,2.8033665,14.720962,10.0942716,33.3564795,24.7727615,1.7803289,1.7728825,37.7634316,33.2447976,49.4154883,18.5124072,36.8843696,67.1964934,32.0221213,46.1277931,20.0178,2.9110479,15.1912667,10.5626808,33.7404027,25.8547325,2.0060725,1.9440232,38.5340254,33.8789754,49.5178222,18.210267,36.5473204,66.617825,32.03351,46.2774496,20.1347258,2.9600409,14.8778453,12.1960181,34.9350848,28.6008407 +1697,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.451164,0.4598749,7.3722791,5.299186,58.8730105,14.0179728,26.5958835,67.3075883,32.6660405,43.8905113,14.4818387,4.5133154,11.2165529,9.0559977,31.2240988,5.7204456,0.4331783,0.4415798,7.0858404,5.0683916,58.4063443,14.0159176,27.0621769,67.5227223,32.7807845,44.4963699,14.3344028,4.5419289,11.634217,9.581965,31.2029554,6.5218242,0.4498066,0.4412103,7.1142132,5.0136756,56.9237156,14.2802778,26.4549086,67.5227306,32.7048619,44.6229203,14.688668,4.6178353,11.8302897,9.9405865,31.5433903,6.5737628,0.4356538,0.4329537,7.2742436,5.1354602,55.1782215,14.4261444,26.9811142,68.3144539,32.4653648,45.3962027,14.6288611,4.8175596,11.9575147,10.2760699,32.0327609,7.0076634,0.579461,0.5748251,7.5692821,5.2650355,53.4447634,14.7022443,26.5420716,68.7688056,32.409732,46.1007741,14.6313461,4.9272586,12.0224619,10.303558,32.2572642,7.5092483 +1698,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2862234,1.2807192,16.2656275,12.5268047,32.8166943,15.777344,34.2905434,67.99425,39.6161238,47.5477133,22.8178725,3.985084,11.5350974,9.7929383,33.8459838,16.871125,1.255135,1.2498339,16.3134826,12.7107084,33.2927943,15.840565,34.4111287,67.803228,39.226131,47.1903264,22.4954495,3.6197547,11.3076895,9.9647775,33.6225432,16.3793292,1.3562954,1.3512018,16.8177927,13.2312885,33.046117,15.8917122,34.8076118,67.5780801,39.5508656,47.8734698,22.8339639,3.7645884,11.5638036,9.8173351,34.0430018,16.0526485,1.2520293,1.2773565,17.0408027,13.4499361,33.2822993,16.0403127,34.6971507,68.0857116,39.9943743,47.5463487,23.0017836,3.8919867,11.5794159,9.363976,33.7499925,15.9898639,1.2557034,1.2848348,17.5795045,13.9348257,32.8886209,16.382768,34.1233264,68.2952678,39.9137943,47.0083384,23.3483349,3.9541495,11.8611309,9.5079851,33.9654632,14.950946 +1699,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3668974,1.3323041,19.7233527,15.6280701,38.9862861,16.9130174,35.4065023,66.9811537,33.8385691,44.9929307,22.8618894,3.0113155,11.4578618,8.6391891,36.9928617,16.4291469,1.4010689,1.3669629,20.293419,15.9756337,39.2100416,16.2738176,34.8324435,67.1427032,33.4923277,44.3208556,22.0988196,2.8042065,11.7380324,8.8538709,36.9823455,15.5508252,1.2572005,1.2234153,21.6459423,16.9232134,40.5934808,16.1573585,35.4765753,67.887155,33.3395221,44.7264208,21.1106616,2.7505073,11.6238278,8.6405977,36.6908596,17.5805781,1.3601795,1.3283331,22.6037745,17.7635771,40.9738504,16.448975,35.9384464,67.3989876,32.7001634,44.3323174,21.3647288,2.8254865,11.872037,8.7279808,37.1722045,19.3749919,1.426348,1.3961855,22.9068652,18.188516,41.3351065,16.4492004,36.3106311,66.6087802,32.9199454,44.5365846,21.3970022,2.8728946,12.8609288,9.2477368,38.473645,20.8646381 +1700,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2126416,0.2445798,7.214516,4.5961203,57.8074662,22.2618518,30.6895887,65.0507068,33.4362318,44.4228151,19.871162,6.3621351,10.0329761,8.4066618,32.7645732,4.8148148,0.2766298,0.3151225,7.3958023,4.7687199,55.8335696,23.0275053,30.8993322,65.9510143,33.6484741,44.7596355,20.1318208,5.9278619,9.9772803,8.0572119,31.4075807,5.952381,0.3684648,0.3656245,7.4252127,4.6019357,55.9788006,22.9685771,31.1156506,67.1860008,33.5505257,45.7249863,20.130329,5.8041033,10.3584308,8.0157634,30.9553093,4.4715447,0.3798744,0.3896701,6.7763787,3.9877432,56.2711323,22.6503529,31.0068082,65.879012,32.6753141,44.2437811,19.3827347,5.3670987,9.9016151,7.2757725,30.4612673,3.7815126,0.3320694,0.3414628,7.5798101,4.2819232,55.5111799,22.2952483,30.3410952,66.3028594,33.6975029,44.5659675,19.3660932,4.928098,10.148862,7.71283,31.4303363,3.4883721 +1701,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8720509,1.8720509,34.070122,30.2591463,65.3426791,7.7095808,33.3080425,62.5948407,27.5417299,37.8603945,15.2503794,6.6009105,16.4576803,11.09375,36.6352201,18.4848485,1.9330927,1.9330927,34.563253,30.496988,65.1001541,7.1851852,34.2578711,63.0434783,28.7106447,38.155922,15.6671664,6.6716642,17.0623145,11.9822485,36.7559524,17.3529412,1.8222627,1.8222627,34.5982143,30.5803571,66.0741886,6.2776957,35.3073463,64.0929535,28.1109445,38.155922,15.6671664,6.5217391,17.1130952,12.6488095,36.8656716,16.8571429,2.0020013,2.0020013,33.8541667,29.985119,65.9754224,6.2592047,36.002994,64.8952096,27.3203593,39.2964072,16.5419162,6.0628743,16.4723032,10.3498542,36.6959064,14.8255814,2.0544413,2.0544413,34.4544096,29.9701046,65.4503106,6.0089021,38.5951662,64.7280967,27.265861,40.407855,16.9939577,6.7220544,16.3716814,11.6519174,35.0591716,15.0306748 +1702,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7308406,0.7269341,8.7706307,5.6077959,28.4686409,11.0980304,30.496378,68.5758713,37.7887536,49.182918,20.6897521,3.5753271,10.4815261,9.3478641,30.9950097,3.7337662,0.6820194,0.675675,8.3604951,5.3859974,28.5079164,10.9888483,30.6740721,68.3980345,37.5589211,48.8448439,20.5829805,3.3715574,10.3610865,9.6936235,31.0261878,2.8428113,0.6706078,0.6667509,8.3142748,5.3932526,28.5724266,10.5323479,30.3265697,67.8457377,37.2019938,48.4750236,20.354485,3.3524198,10.266741,9.8018148,30.7864589,3.0645181,0.7010367,0.6942774,8.5516099,5.7340745,28.7529395,10.4738964,29.9921536,67.8026253,36.9178615,48.0513677,20.5511769,3.3152129,10.4453158,9.6769385,30.5188947,3.1147592,0.7174007,0.7056034,8.506949,5.6838808,28.5252535,10.7360656,30.1581157,67.2014158,36.9588527,47.7509832,20.6708509,3.4924817,10.5271074,9.697954,30.5308451,2.6315814 +1703,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.255135,1.2498339,16.3134826,12.7107084,33.2927943,15.840565,34.4111287,67.803228,39.226131,47.1903264,22.4954495,3.6197547,11.3076895,9.9647775,33.6225432,16.3793292,1.3562954,1.3512018,16.8177927,13.2312885,33.046117,15.8917122,34.8076118,67.5780801,39.5508656,47.8734698,22.8339639,3.7645884,11.5638036,9.8173351,34.0430018,16.0526485,1.2520293,1.2773565,17.0408027,13.4499361,33.2822993,16.0403127,34.6971507,68.0857116,39.9943743,47.5463487,23.0017836,3.8919867,11.5794159,9.363976,33.7499925,15.9898639,1.2557034,1.2848348,17.5795045,13.9348257,32.8886209,16.382768,34.1233264,68.2952678,39.9137943,47.0083384,23.3483349,3.9541495,11.8611309,9.5079851,33.9654632,14.950946,1.23619,1.2549438,17.4660608,13.7858065,33.2020788,16.2865543,34.1728447,67.6568016,39.1821917,46.5240829,23.569657,3.7189003,11.6689365,9.7859518,33.8341071,16.2100148 +1704,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6820194,0.675675,8.3604951,5.3859974,28.5079164,10.9888483,30.6740721,68.3980345,37.5589211,48.8448439,20.5829805,3.3715574,10.3610865,9.6936235,31.0261878,2.8428113,0.6706078,0.6667509,8.3142748,5.3932526,28.5724266,10.5323479,30.3265697,67.8457377,37.2019938,48.4750236,20.354485,3.3524198,10.266741,9.8018148,30.7864589,3.0645181,0.7010367,0.6942774,8.5516099,5.7340745,28.7529395,10.4738964,29.9921536,67.8026253,36.9178615,48.0513677,20.5511769,3.3152129,10.4453158,9.6769385,30.5188947,3.1147592,0.7174007,0.7056034,8.506949,5.6838808,28.5252535,10.7360656,30.1581157,67.2014158,36.9588527,47.7509832,20.6708509,3.4924817,10.5271074,9.697954,30.5308451,2.6315814,0.6877153,0.6622786,8.368852,5.6502594,28.8798611,10.60967,30.020932,67.2723218,36.9148964,47.4427783,20.4501092,3.7012137,10.785724,9.6797176,29.9056032,3.1437154 +1705,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4331783,0.4415798,7.0858404,5.0683916,58.4063443,14.0159176,27.0621769,67.5227223,32.7807845,44.4963699,14.3344028,4.5419289,11.634217,9.581965,31.2029554,6.5218242,0.4498066,0.4412103,7.1142132,5.0136756,56.9237156,14.2802778,26.4549086,67.5227306,32.7048619,44.6229203,14.688668,4.6178353,11.8302897,9.9405865,31.5433903,6.5737628,0.4356538,0.4329537,7.2742436,5.1354602,55.1782215,14.4261444,26.9811142,68.3144539,32.4653648,45.3962027,14.6288611,4.8175596,11.9575147,10.2760699,32.0327609,7.0076634,0.579461,0.5748251,7.5692821,5.2650355,53.4447634,14.7022443,26.5420716,68.7688056,32.409732,46.1007741,14.6313461,4.9272586,12.0224619,10.303558,32.2572642,7.5092483,0.522054,0.5405153,7.6483087,5.3623312,51.4554697,14.1792952,26.0113176,69.7706037,32.4494612,46.6822905,15.1578521,4.9703771,11.8704267,10.6664154,31.3494016,6.8774078 +1706,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9363475,0.917977,11.5834133,7.8147908,27.1775164,21.6691442,35.9886685,69.0440925,41.4085854,52.2483654,24.5830727,3.8564632,11.4856706,10.4303565,33.724398,6.176467,0.9440043,0.9582375,11.6045504,8.0518434,27.5060554,21.5214298,37.3581993,69.1492636,41.417923,52.2238886,24.9701358,4.0447774,11.1401835,10.6413861,34.7863907,6.3252974,0.978987,1.0039507,11.806165,8.1535865,27.6874218,21.3203248,37.3747651,68.2528055,40.9693633,51.163827,24.6169609,3.9923382,10.8806738,10.4558219,35.0741789,7.7586648,1.0963711,1.1211258,12.0724235,8.3951066,27.4347961,21.2608797,37.1081018,68.8397379,40.6240872,50.6153134,24.2748338,4.028719,10.6640345,10.3672145,35.2259764,10.1745053,1.0825378,1.111566,11.8987194,8.4748299,26.7133198,21.3136,37.075223,69.0531632,40.8510134,50.6680335,24.6151599,4.0517008,10.5540078,10.0445047,34.5469529,9.7059715 +1707,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7812885,1.7993584,30.3370869,25.1510179,42.0838266,15.0303532,36.4701176,62.8542121,35.8938928,45.4900358,22.9551941,2.820839,14.9765525,11.3882289,39.6522611,22.6984242,1.7179778,1.7051182,29.8290716,25.0924992,42.7270668,14.8108159,36.8070057,63.8680543,36.2665545,44.7839648,23.0052764,2.8441047,15.5556635,11.4258925,39.442589,20.8333475,1.6979523,1.6853302,29.4830574,25.3762303,43.4437605,14.9802111,36.5135976,64.0833007,37.2389597,44.3151028,23.4210443,2.8594491,16.0520863,11.4005481,38.9494259,19.8571483,1.6499715,1.6230423,28.9531891,25.063252,44.171896,14.9542998,36.964161,64.4753573,37.7958924,44.8656462,23.1765762,2.8630801,16.3688468,11.5409055,38.3407839,19.4370018,1.7190093,1.6853306,29.0580274,25.2417839,44.8579891,14.86846,36.8024698,65.4021886,38.5032376,44.8968322,22.6610046,2.6613655,16.8499312,11.6331667,38.7442748,19.7643821 +1708,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.2528711,0.2963303,8.8384876,6.3132539,72.5316671,12.0230679,29.4515229,69.1075871,30.9854665,43.8633702,14.8534243,5.0441238,12.2784347,12.1225265,29.9112207,4.5462396,0.3882065,0.4339572,9.2782623,6.6619978,72.8426698,11.8032058,28.2950868,68.8144613,30.7936255,44.9534961,14.4290948,5.022016,11.5495156,10.8095063,31.2501401,3.880185,0.5634137,0.5634137,9.181296,6.5872138,72.559432,11.8315211,27.2334185,68.427888,30.7045275,44.3340187,14.982126,4.9259482,11.5346523,10.1686498,33.5160226,4.0187998,0.5422784,0.5256343,9.0548156,6.6119214,72.7540253,11.3361928,26.9889453,68.1527964,30.5126532,44.6077251,15.3497029,4.9920161,11.3471467,9.8029015,33.4552087,4.8245614,0.5281409,0.4941768,8.365085,6.2535703,71.7303714,11.5775683,26.1778507,68.0835496,31.4293784,45.1815165,15.3492161,5.2788421,11.7864158,9.3551372,34.5581059,4.0539737 +1709,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.1448033,1.0756716,15.3332177,9.8971067,50.0564934,12.9946867,31.1274081,60.4735208,33.7377812,37.4308817,17.7919474,4.1009156,13.8477188,10.950942,37.7711731,14.3441216,1.136759,1.0789552,15.5240108,9.969267,51.9803186,12.8707789,30.8823959,61.5252931,33.2362882,38.3119064,17.4544653,4.07718,13.8507079,10.7959631,38.531806,12.2850539,1.1160189,1.1129378,15.6673614,10.8693645,53.6655191,13.7012723,30.2671106,62.0705217,34.066434,39.3016295,17.1972125,4.2909193,13.4160863,10.1984879,39.4191033,13.6673087,0.9979836,0.9949632,15.9461248,11.1244717,54.3825457,14.2109141,29.8300269,62.0328251,34.4776309,39.4984008,17.5419019,3.9714443,13.7329576,10.088436,39.7633041,12.5859454,1.0574451,1.0544639,15.7984179,10.7912107,55.9678469,13.9050473,29.3752148,62.3530385,33.6823004,39.4369726,17.3825644,3.9455115,13.417824,10.1771195,39.6559432,11.1940329 +1710,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7988636,0.8255633,10.4484898,7.3020701,57.7130931,8.6016899,25.8970158,65.1553025,32.6704148,39.8810972,16.9088855,6.359306,10.3355103,9.0341206,37.0249191,7.5640064,0.7820923,0.7941029,10.6579978,7.6752314,57.6459871,8.8632905,26.1273701,65.0808857,32.5947715,39.8759654,17.0472552,6.3524675,10.3715107,9.2112502,37.0274443,6.6794929,0.7868977,0.8101811,10.9481934,7.9204667,57.7216979,8.8758621,25.9452138,65.0570923,32.6966636,39.9149291,17.0184072,6.3258719,10.6505045,9.3083669,37.1219074,6.5990868,0.7820767,0.80551,11.0724633,8.064372,57.8462023,8.9291032,26.091963,65.3066366,32.6643556,39.7965321,16.8251545,6.3389571,10.2965936,8.9099431,37.3396389,6.9098151,0.811997,0.8425954,11.0773433,8.0675945,58.1462224,8.8616119,26.2257509,65.2067029,32.6748626,39.3021346,16.749195,6.3187109,10.2016486,8.7900234,37.1917187,6.4533158 +1711,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6706078,0.6667509,8.3142748,5.3932526,28.5724266,10.5323479,30.3265697,67.8457377,37.2019938,48.4750236,20.354485,3.3524198,10.266741,9.8018148,30.7864589,3.0645181,0.7010367,0.6942774,8.5516099,5.7340745,28.7529395,10.4738964,29.9921536,67.8026253,36.9178615,48.0513677,20.5511769,3.3152129,10.4453158,9.6769385,30.5188947,3.1147592,0.7174007,0.7056034,8.506949,5.6838808,28.5252535,10.7360656,30.1581157,67.2014158,36.9588527,47.7509832,20.6708509,3.4924817,10.5271074,9.697954,30.5308451,2.6315814,0.6877153,0.6622786,8.368852,5.6502594,28.8798611,10.60967,30.020932,67.2723218,36.9148964,47.4427783,20.4501092,3.7012137,10.785724,9.6797176,29.9056032,3.1437154,0.6579599,0.6387548,8.5738329,5.748971,29.1673558,10.5950529,29.6758576,67.3774844,37.2130812,47.3247309,20.789373,3.6367902,10.8008388,9.926029,30.3608413,3.3762069 +1712,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6709346,1.6665015,28.8839298,24.0258614,42.702101,18.3934936,41.4107687,65.0544517,37.1688536,48.7608806,23.4551098,3.5361014,11.2349774,9.709289,32.3705365,13.8476997,1.8980596,1.8516336,29.0687391,24.0610214,42.7071329,18.4318892,41.6975003,65.7649252,37.5285693,48.9665757,24.3101491,3.5305951,11.2455901,9.5506468,31.7924616,16.3821137,2.0057094,1.9450993,28.6780608,23.7562838,42.4841594,18.4893105,41.8070939,65.0928113,37.5017796,48.6287016,24.125601,3.7521636,12.2234007,9.5658396,32.3022196,19.2818591,2.0019993,1.9413286,28.5486828,23.9506751,42.6712479,18.0383667,42.8478381,65.8033335,37.4337475,48.573405,24.6132482,3.6849913,12.2862029,9.0681995,32.1577071,20.0976964,1.8822465,1.8320577,28.2025469,23.955157,42.7655357,17.6065691,42.9314262,66.2305335,37.5624333,48.2613927,25.2858263,3.6689146,12.4468911,9.3084307,32.8674155,20.2180639 +1713,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3551203,0.3865817,6.9374369,4.3642785,45.7397959,22.6410384,28.8714575,68.1933198,35.5516194,45.3188259,19.5091093,5.6427126,11.5934627,8.7423313,34.7938144,4.4217687,0.3846056,0.3693988,7.0034163,4.6120059,44.982613,22.3275024,28.2512315,67.8571429,35.6403941,45.6896552,18.8916256,5.591133,10.2602603,7.8657315,33.8220425,4.1666667,0.2578036,0.2578036,7.0095694,4.3779904,45.031661,21.9761905,28.4507722,67.6399614,35.5453668,46.21139,18.6534749,6.1052124,9.4554455,8.3746283,33.65,3.5947712,0.2810861,0.2810861,6.8009479,4.2417062,44.36721,22.3344293,28.3500238,67.7873152,35.2169766,46.3757749,18.0495947,6.1278016,9.6449136,8.5014409,33.9980545,2.3972603,0.2781513,0.3005628,6.6328992,4.1244573,44.2251462,22.0181298,28.2094595,67.253861,34.8696911,47.0801158,18.5569498,6.0569498,9.2967245,8.7270974,33.8062622,3.1914894 +1714,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.136759,1.0789552,15.5240108,9.969267,51.9803186,12.8707789,30.8823959,61.5252931,33.2362882,38.3119064,17.4544653,4.07718,13.8507079,10.7959631,38.531806,12.2850539,1.1160189,1.1129378,15.6673614,10.8693645,53.6655191,13.7012723,30.2671106,62.0705217,34.066434,39.3016295,17.1972125,4.2909193,13.4160863,10.1984879,39.4191033,13.6673087,0.9979836,0.9949632,15.9461248,11.1244717,54.3825457,14.2109141,29.8300269,62.0328251,34.4776309,39.4984008,17.5419019,3.9714443,13.7329576,10.088436,39.7633041,12.5859454,1.0574451,1.0544639,15.7984179,10.7912107,55.9678469,13.9050473,29.3752148,62.3530385,33.6823004,39.4369726,17.3825644,3.9455115,13.417824,10.1771195,39.6559432,11.1940329,0.9810203,0.9273823,15.9583138,11.3741853,57.2212727,14.0096613,29.8201653,63.4610782,34.0637815,40.1018035,17.542131,3.654899,13.6103271,11.3003532,37.7366113,8.3108128 +1715,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2491024,1.3071718,19.8695618,15.5348635,84.3779253,12.6062112,31.6188596,63.5141906,33.3339237,37.1553603,16.5641582,4.7956621,15.0520507,10.9438461,38.0821238,13.3578074,1.3889316,1.4472188,20.5315375,16.001452,83.9304162,12.4355733,32.6542267,63.0583957,33.6645476,37.49327,17.0524229,4.3889599,14.7116368,11.6069958,40.0225256,12.3862281,1.3407002,1.3629977,20.617754,15.8133555,83.551606,12.8028196,32.8899819,63.2595686,33.4234526,36.0457974,16.696222,4.4006604,14.8951625,12.6875855,41.2833905,14.260667,1.3975905,1.4192287,20.3601437,15.7653063,83.1808187,13.533712,33.2407136,63.5376077,33.5878049,36.7464797,16.9497339,4.8234551,13.8816326,11.8754177,40.2588113,13.5173143,1.4519298,1.4474985,20.7703527,16.0886442,83.4900251,13.4273251,32.9503952,63.6406218,33.3047374,36.1889446,16.9273548,4.8743103,13.8218013,10.9488528,38.5232432,16.9893321 +1716,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3562954,1.3512018,16.8177927,13.2312885,33.046117,15.8917122,34.8076118,67.5780801,39.5508656,47.8734698,22.8339639,3.7645884,11.5638036,9.8173351,34.0430018,16.0526485,1.2520293,1.2773565,17.0408027,13.4499361,33.2822993,16.0403127,34.6971507,68.0857116,39.9943743,47.5463487,23.0017836,3.8919867,11.5794159,9.363976,33.7499925,15.9898639,1.2557034,1.2848348,17.5795045,13.9348257,32.8886209,16.382768,34.1233264,68.2952678,39.9137943,47.0083384,23.3483349,3.9541495,11.8611309,9.5079851,33.9654632,14.950946,1.23619,1.2549438,17.4660608,13.7858065,33.2020788,16.2865543,34.1728447,67.6568016,39.1821917,46.5240829,23.569657,3.7189003,11.6689365,9.7859518,33.8341071,16.2100148,1.1592442,1.1995016,17.9750262,14.1156811,33.515164,16.1680504,32.8290728,67.5933411,38.4421494,47.2127285,23.6433708,3.7069595,11.69683,10.1698188,33.5023333,16.7391015 +1717,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8445954,2.8791323,40.9080369,35.9720549,70.8493616,12.9879744,35.4167482,61.2383617,25.274017,38.0334517,18.3897264,2.0599805,17.6744207,14.1696739,43.6552955,29.7449377,2.8035113,2.8040892,41.468916,36.5646413,71.0960638,12.9747203,35.9232231,61.2303201,25.64985,38.124855,18.1862492,2.0578625,17.0008284,13.7744694,43.4338747,29.2083083,2.6133668,2.6168449,40.4285411,35.5450045,71.4514093,12.7081181,36.1420761,61.45135,25.8103705,38.2293407,17.6239968,2.0997872,16.7919007,13.0087301,43.503812,27.2146445,2.6173159,2.6322961,40.9480383,36.0180417,73.1119916,12.2053496,35.927119,60.6931338,25.5122638,37.4192204,17.4093911,1.815776,16.0960993,13.1087809,43.1228148,26.2946067,2.4052728,2.4407979,40.4312728,35.3032204,73.4019004,11.6328867,35.5748252,60.4012328,25.1545013,37.3154009,17.1347192,1.9491083,16.6709771,12.5608545,44.1118782,27.0798924 +1718,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7820923,0.7941029,10.6579978,7.6752314,57.6459871,8.8632905,26.1273701,65.0808857,32.5947715,39.8759654,17.0472552,6.3524675,10.3715107,9.2112502,37.0274443,6.6794929,0.7868977,0.8101811,10.9481934,7.9204667,57.7216979,8.8758621,25.9452138,65.0570923,32.6966636,39.9149291,17.0184072,6.3258719,10.6505045,9.3083669,37.1219074,6.5990868,0.7820767,0.80551,11.0724633,8.064372,57.8462023,8.9291032,26.091963,65.3066366,32.6643556,39.7965321,16.8251545,6.3389571,10.2965936,8.9099431,37.3396389,6.9098151,0.811997,0.8425954,11.0773433,8.0675945,58.1462224,8.8616119,26.2257509,65.2067029,32.6748626,39.3021346,16.749195,6.3187109,10.2016486,8.7900234,37.1917187,6.4533158,0.8393782,0.8620115,11.3435547,8.2797181,58.6644289,8.7534569,26.3213111,64.9712922,32.1939425,38.8048513,16.579745,6.2779595,10.3550237,8.868832,36.8064985,6.7964113 +1719,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2766298,0.3151225,7.3958023,4.7687199,55.8335696,23.0275053,30.8993322,65.9510143,33.6484741,44.7596355,20.1318208,5.9278619,9.9772803,8.0572119,31.4075807,5.952381,0.3684648,0.3656245,7.4252127,4.6019357,55.9788006,22.9685771,31.1156506,67.1860008,33.5505257,45.7249863,20.130329,5.8041033,10.3584308,8.0157634,30.9553093,4.4715447,0.3798744,0.3896701,6.7763787,3.9877432,56.2711323,22.6503529,31.0068082,65.879012,32.6753141,44.2437811,19.3827347,5.3670987,9.9016151,7.2757725,30.4612673,3.7815126,0.3320694,0.3414628,7.5798101,4.2819232,55.5111799,22.2952483,30.3410952,66.3028594,33.6975029,44.5659675,19.3660932,4.928098,10.148862,7.71283,31.4303363,3.4883721,0.3847733,0.401912,6.7172172,3.8944133,56.3223573,22.3569601,29.6810755,65.8736751,33.4990628,42.5995312,18.9069806,5.2562937,9.9273175,7.6563138,31.9184823,3.8194444 +1720,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6093692,0.5947655,8.9027703,5.743324,47.2256966,15.291682,31.3674377,68.583094,38.5138419,46.0559033,21.2537183,3.7957463,10.029012,8.5111596,31.8936285,5.3999849,0.6520813,0.636512,8.5792662,5.4714046,46.5113222,15.4434694,30.9661188,68.4037876,38.448405,46.3245079,20.4647008,3.7148882,10.1355032,8.6513303,30.5044743,6.0267776,0.6120856,0.585516,8.3907428,5.3596064,45.6059398,15.2493905,29.8756761,68.1906084,37.8038666,46.3397828,19.4337074,3.6878484,9.3169535,8.2420579,29.4878983,5.630623,0.4968433,0.49952,8.0351993,5.3519947,44.8240503,15.7616527,29.3648336,68.0829572,37.3984938,46.8532455,19.4460629,3.4367759,9.6521826,8.729691,30.1925522,4.702968,0.4551691,0.4716662,8.144727,5.4347862,44.5331331,16.0982035,28.8587517,68.6978656,37.7383799,46.7073883,19.9791413,3.3820022,9.0608161,8.644576,30.1812941,4.1666646 +1721,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6613373,0.6705187,9.0971292,5.3240632,44.2785576,19.7200307,31.291303,70.1723287,39.6698006,43.7732608,22.9411931,4.4046314,9.3765465,8.3086618,33.3033764,7.2314792,0.6705265,0.6770817,8.9602963,5.3649681,43.9278188,19.6302418,31.3823963,70.936052,39.1956095,44.4047102,22.9393537,4.4505206,9.2525143,7.5508231,33.0096579,6.9621556,0.68023,0.6880019,9.2740623,5.7701648,44.1119577,19.2772513,31.0861119,71.2515903,38.8966932,45.7953061,23.0188317,4.4042499,9.9825981,7.9067593,33.4391368,7.415394,0.7229131,0.7135159,9.638591,6.1361151,43.3593286,19.2393075,31.0593738,71.3418902,38.9123078,45.6355555,23.3756759,4.5056437,9.9207168,7.933287,34.2879106,7.1722691,0.8341785,0.8184227,10.1757042,6.7151231,43.7160235,19.0680753,30.9396259,71.345986,38.8683626,46.0072807,23.3492221,4.3876921,9.9328693,8.3100006,34.1496765,6.8750529 +1722,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6306561,0.6608749,9.3608077,6.180482,38.2490344,20.4570491,30.5887111,68.3929995,38.130476,48.7589549,21.5194954,6.5791541,9.1036829,7.7704796,33.4645679,3.734938,0.5895281,0.6133682,8.9871345,5.9531137,37.4999992,20.5350317,30.1970216,68.1585479,38.6984205,49.2786232,22.5798966,6.756126,8.9242383,7.7797989,33.399571,3.6214945,0.6105687,0.6158105,8.950765,5.9748456,37.3939701,21.0441867,30.7936725,67.7336815,38.5909156,48.7908821,22.5003854,6.7508892,9.1033821,7.8577968,33.0717103,3.4855752,0.6215122,0.641219,9.1480475,6.1530135,37.4960305,21.0432824,30.7674233,67.4001587,38.5043093,48.4025013,22.4823776,6.9616284,8.88239,7.6887557,32.9556028,3.0562332,0.6406236,0.6672712,9.401911,6.5113821,37.4214368,20.8709658,30.9512649,67.3572377,38.4931733,47.6489674,22.4161939,6.7116695,9.4687919,7.855216,33.167127,3.7439586 +1723,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4498066,0.4412103,7.1142132,5.0136756,56.9237156,14.2802778,26.4549086,67.5227306,32.7048619,44.6229203,14.688668,4.6178353,11.8302897,9.9405865,31.5433903,6.5737628,0.4356538,0.4329537,7.2742436,5.1354602,55.1782215,14.4261444,26.9811142,68.3144539,32.4653648,45.3962027,14.6288611,4.8175596,11.9575147,10.2760699,32.0327609,7.0076634,0.579461,0.5748251,7.5692821,5.2650355,53.4447634,14.7022443,26.5420716,68.7688056,32.409732,46.1007741,14.6313461,4.9272586,12.0224619,10.303558,32.2572642,7.5092483,0.522054,0.5405153,7.6483087,5.3623312,51.4554697,14.1792952,26.0113176,69.7706037,32.4494612,46.6822905,15.1578521,4.9703771,11.8704267,10.6664154,31.3494016,6.8774078,0.5115614,0.5223013,7.9490158,5.4975746,50.5375026,14.1795971,26.7166705,69.5914613,32.156109,46.6527534,15.1488531,5.0578145,11.404361,10.6244419,31.1861464,5.2920558 +1724,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7852682,0.8286503,10.4225026,6.5482798,49.5577688,11.1012757,32.151771,66.8076672,42.8620792,45.9142711,24.3687311,4.8210227,10.3002323,9.2309609,37.5491272,5.2480866,0.7819383,0.8097686,10.7749665,6.7369033,48.6853459,11.0735596,32.4282414,67.2078823,42.332552,45.4992731,24.3430564,4.776975,10.0700824,9.0064436,37.1969461,5.491321,0.80299,0.8238361,10.7263749,6.7357704,49.0901329,11.0240157,32.774245,67.2645582,42.5786625,45.2596911,24.3944792,4.6690741,9.7557594,8.361134,37.4642896,5.3345312,0.7718421,0.7887523,10.8289104,6.6116571,49.3549087,10.7914582,32.9103421,67.6248757,42.5002597,44.7631918,24.5191289,4.666523,9.9382678,8.3959625,38.3975794,5.9563688,0.766597,0.7774113,10.9675781,6.6330892,49.2378317,10.603526,32.845577,66.6860904,42.0155641,44.2731553,24.4086884,4.6373596,10.2584886,8.7882805,38.2701394,6.2403621 +1725,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4045892,0.4045892,7.5572512,4.4427464,47.9570227,21.7140308,28.0341515,67.0212857,33.9976029,43.0776121,19.1639176,9.4546003,8.7404264,7.0584723,37.7599518,4.2319762,0.4002648,0.4002648,7.6651296,4.5622102,48.3171645,21.489927,28.6592566,67.621483,34.5980798,42.9963999,19.9610054,9.6730656,8.5553543,6.8586715,37.8370312,3.7764362,0.4419852,0.4145352,8.0227925,4.7890374,47.9179326,21.4796038,29.4126405,67.7861479,34.7439733,42.2138548,19.5331318,9.6837346,8.3985516,6.4876302,36.2667467,3.9823009,0.5011155,0.4742482,7.8605938,4.8430914,47.2692143,20.8818384,29.6301625,68.256532,35.6765479,41.9870865,19.5333154,9.5832104,8.6994689,6.7821507,37.3218497,4.7142871,0.5149114,0.4880369,8.0712812,4.9266262,46.6795071,20.56686,30.0761726,68.1658398,35.7017293,42.5871662,19.93847,9.6542627,8.500002,6.5781726,37.7014956,4.8611125 +1726,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5752485,0.6259996,7.7080579,4.9603684,44.8051096,13.6119125,27.9282276,67.6293992,33.1843694,42.2025122,18.4298368,14.5077384,10.228177,8.7493362,36.4767202,3.1163448,0.5536536,0.6046407,7.6704175,4.9569811,44.7300606,13.8143138,28.9530352,67.9921927,33.4746382,42.3159765,18.2007871,14.4866125,10.2021854,8.5063936,36.7114063,3.2413802,0.5262734,0.5644352,7.8967898,5.0370457,44.5980265,14.0228859,29.5976269,68.2387833,33.8720374,42.552774,18.5554139,14.5316644,9.8680843,8.4563619,36.4645923,3.2324631,0.6161669,0.6213071,8.3110822,5.1735639,44.0189115,13.6648039,29.2724088,68.1087978,33.3085903,42.514849,18.5137715,14.666579,9.7769068,8.4231312,37.1129951,3.4256565,0.6678039,0.6729258,8.3477688,5.2564948,43.7371533,13.7470079,29.7211762,68.4334574,33.7351837,42.9216039,18.5681583,14.6349712,9.626025,8.1926163,37.1417187,3.1069364 +1727,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3684648,0.3656245,7.4252127,4.6019357,55.9788006,22.9685771,31.1156506,67.1860008,33.5505257,45.7249863,20.130329,5.8041033,10.3584308,8.0157634,30.9553093,4.4715447,0.3798744,0.3896701,6.7763787,3.9877432,56.2711323,22.6503529,31.0068082,65.879012,32.6753141,44.2437811,19.3827347,5.3670987,9.9016151,7.2757725,30.4612673,3.7815126,0.3320694,0.3414628,7.5798101,4.2819232,55.5111799,22.2952483,30.3410952,66.3028594,33.6975029,44.5659675,19.3660932,4.928098,10.148862,7.71283,31.4303363,3.4883721,0.3847733,0.401912,6.7172172,3.8944133,56.3223573,22.3569601,29.6810755,65.8736751,33.4990628,42.5995312,18.9069806,5.2562937,9.9273175,7.6563138,31.9184823,3.8194444,0.4319761,0.4661987,6.6584704,3.759206,55.8502712,23.1986249,28.5256417,66.1489067,32.7169408,42.5295842,19.0088762,5.6459547,9.8831616,7.7636772,31.1209426,1.6666667 +1728,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2520293,1.2773565,17.0408027,13.4499361,33.2822993,16.0403127,34.6971507,68.0857116,39.9943743,47.5463487,23.0017836,3.8919867,11.5794159,9.363976,33.7499925,15.9898639,1.2557034,1.2848348,17.5795045,13.9348257,32.8886209,16.382768,34.1233264,68.2952678,39.9137943,47.0083384,23.3483349,3.9541495,11.8611309,9.5079851,33.9654632,14.950946,1.23619,1.2549438,17.4660608,13.7858065,33.2020788,16.2865543,34.1728447,67.6568016,39.1821917,46.5240829,23.569657,3.7189003,11.6689365,9.7859518,33.8341071,16.2100148,1.1592442,1.1995016,17.9750262,14.1156811,33.515164,16.1680504,32.8290728,67.5933411,38.4421494,47.2127285,23.6433708,3.7069595,11.69683,10.1698188,33.5023333,16.7391015,1.263346,1.3183718,19.060023,14.7052483,33.0294042,17.4109541,33.638519,67.5428918,38.1860109,48.4576468,24.1248558,4.0919031,11.9801326,10.898735,34.1201586,17.7082917 +1729,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7010367,0.6942774,8.5516099,5.7340745,28.7529395,10.4738964,29.9921536,67.8026253,36.9178615,48.0513677,20.5511769,3.3152129,10.4453158,9.6769385,30.5188947,3.1147592,0.7174007,0.7056034,8.506949,5.6838808,28.5252535,10.7360656,30.1581157,67.2014158,36.9588527,47.7509832,20.6708509,3.4924817,10.5271074,9.697954,30.5308451,2.6315814,0.6877153,0.6622786,8.368852,5.6502594,28.8798611,10.60967,30.020932,67.2723218,36.9148964,47.4427783,20.4501092,3.7012137,10.785724,9.6797176,29.9056032,3.1437154,0.6579599,0.6387548,8.5738329,5.748971,29.1673558,10.5950529,29.6758576,67.3774844,37.2130812,47.3247309,20.789373,3.6367902,10.8008388,9.926029,30.3608413,3.3762069,0.6293949,0.6214668,8.4036998,5.6157393,29.03201,10.4868598,29.5417639,67.1713096,36.9251882,47.4983515,21.1220665,3.4893165,10.4147971,9.3825211,29.8675895,3.4768223 +1730,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6705265,0.6770817,8.9602963,5.3649681,43.9278188,19.6302418,31.3823963,70.936052,39.1956095,44.4047102,22.9393537,4.4505206,9.2525143,7.5508231,33.0096579,6.9621556,0.68023,0.6880019,9.2740623,5.7701648,44.1119577,19.2772513,31.0861119,71.2515903,38.8966932,45.7953061,23.0188317,4.4042499,9.9825981,7.9067593,33.4391368,7.415394,0.7229131,0.7135159,9.638591,6.1361151,43.3593286,19.2393075,31.0593738,71.3418902,38.9123078,45.6355555,23.3756759,4.5056437,9.9207168,7.933287,34.2879106,7.1722691,0.8341785,0.8184227,10.1757042,6.7151231,43.7160235,19.0680753,30.9396259,71.345986,38.8683626,46.0072807,23.3492221,4.3876921,9.9328693,8.3100006,34.1496765,6.8750529,0.7641453,0.7486156,10.0975846,6.7633499,43.3062216,19.0962905,31.379933,71.7512919,38.8888078,45.9544858,23.7599736,4.3917925,10.1990868,8.6560176,35.3087629,6.2771597 +1731,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.3770887,2.4095417,29.2337159,22.9090731,47.7089712,13.4543818,37.4768016,64.8408876,32.0344228,47.5227768,23.6733148,5.3184563,15.8287891,11.8836773,34.6388659,14.4350015,2.4202807,2.4299551,29.387114,22.7335064,47.5786431,13.8123712,37.1709488,65.1047011,33.5056443,47.2278723,24.4420332,5.2747245,15.7356011,11.6934877,33.8614593,14.37233,2.1982122,2.1592473,29.9995177,23.0263722,48.1861514,14.6752818,37.1271326,65.2016215,32.910642,47.1988902,24.9247891,5.431372,14.9312279,11.5267667,33.4132893,14.0814947,2.1138071,2.0144865,30.2735469,23.0348791,48.778915,14.1645714,37.9167804,64.8774286,33.7988191,47.6717082,24.5340828,5.2205391,14.7172228,11.8523011,32.9304495,14.1998637,1.9229434,1.8693499,29.5663724,22.778774,47.8007789,14.5107672,38.9170525,65.4114116,34.2012134,48.3966438,25.2562516,5.5678696,15.0364802,11.8551961,33.799816,14.4382051 +1732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8035113,2.8040892,41.468916,36.5646413,71.0960638,12.9747203,35.9232231,61.2303201,25.64985,38.124855,18.1862492,2.0578625,17.0008284,13.7744694,43.4338747,29.2083083,2.6133668,2.6168449,40.4285411,35.5450045,71.4514093,12.7081181,36.1420761,61.45135,25.8103705,38.2293407,17.6239968,2.0997872,16.7919007,13.0087301,43.503812,27.2146445,2.6173159,2.6322961,40.9480383,36.0180417,73.1119916,12.2053496,35.927119,60.6931338,25.5122638,37.4192204,17.4093911,1.815776,16.0960993,13.1087809,43.1228148,26.2946067,2.4052728,2.4407979,40.4312728,35.3032204,73.4019004,11.6328867,35.5748252,60.4012328,25.1545013,37.3154009,17.1347192,1.9491083,16.6709771,12.5608545,44.1118782,27.0798924,2.5868637,2.6344906,39.3893355,34.0899417,74.5321639,11.4866307,34.5465533,59.8700017,24.1885933,36.8634485,16.5062425,1.9663764,17.2127922,13.1331951,43.8707369,26.7912205 +1733,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6520813,0.636512,8.5792662,5.4714046,46.5113222,15.4434694,30.9661188,68.4037876,38.448405,46.3245079,20.4647008,3.7148882,10.1355032,8.6513303,30.5044743,6.0267776,0.6120856,0.585516,8.3907428,5.3596064,45.6059398,15.2493905,29.8756761,68.1906084,37.8038666,46.3397828,19.4337074,3.6878484,9.3169535,8.2420579,29.4878983,5.630623,0.4968433,0.49952,8.0351993,5.3519947,44.8240503,15.7616527,29.3648336,68.0829572,37.3984938,46.8532455,19.4460629,3.4367759,9.6521826,8.729691,30.1925522,4.702968,0.4551691,0.4716662,8.144727,5.4347862,44.5331331,16.0982035,28.8587517,68.6978656,37.7383799,46.7073883,19.9791413,3.3820022,9.0608161,8.644576,30.1812941,4.1666646,0.4897334,0.4788933,7.54468,4.8784097,44.1947067,16.1051453,29.5060099,68.5533746,37.8565102,46.3834114,19.5383633,3.3666594,9.6188348,8.6555653,31.074655,2.5943396 +1734,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.0344931,1.0540437,15.2107084,11.778609,55.385841,31.0640039,33.8353467,67.1156947,33.5179895,43.9777018,16.0855319,4.6751744,16.5034837,8.6602439,35.8085585,6.0976353,1.1832368,1.203378,15.1686295,11.9584008,55.163875,30.0481176,33.4678779,66.8547871,32.6611752,42.6612075,15.7257421,4.5968261,15.8334917,9.500095,36.7795266,7.5222237,1.033286,1.0537991,14.934108,11.9638543,55.0494502,28.5130594,35.1152647,68.1742523,32.8126028,42.3520375,16.529576,3.7007066,14.8693606,8.3334695,34.9333598,7.9440366,1.0744813,1.0949001,15.2778958,12.3367626,57.6030407,28.4440709,35.6559594,68.1146638,32.0492728,40.5738928,16.1475888,3.8525095,15.1960248,9.3137295,35.264384,7.0248805,0.9691247,0.9377764,13.5752139,11.3829433,57.009892,27.7777317,35.3189847,68.2045496,33.3054527,39.6812879,17.7013972,4.2785773,14.5484281,10.2006893,34.0672453,8.0509498 +1735,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9440043,0.9582375,11.6045504,8.0518434,27.5060554,21.5214298,37.3581993,69.1492636,41.417923,52.2238886,24.9701358,4.0447774,11.1401835,10.6413861,34.7863907,6.3252974,0.978987,1.0039507,11.806165,8.1535865,27.6874218,21.3203248,37.3747651,68.2528055,40.9693633,51.163827,24.6169609,3.9923382,10.8806738,10.4558219,35.0741789,7.7586648,1.0963711,1.1211258,12.0724235,8.3951066,27.4347961,21.2608797,37.1081018,68.8397379,40.6240872,50.6153134,24.2748338,4.028719,10.6640345,10.3672145,35.2259764,10.1745053,1.0825378,1.111566,11.8987194,8.4748299,26.7133198,21.3136,37.075223,69.0531632,40.8510134,50.6680335,24.6151599,4.0517008,10.5540078,10.0445047,34.5469529,9.7059715,0.9233063,0.9619888,12.2303374,8.8680438,26.6321733,21.0190233,36.7900231,68.4882516,41.1503319,49.5553845,24.8278916,4.0304064,10.8012972,10.2612829,35.1005842,8.9674756 +1736,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.1832368,1.203378,15.1686295,11.9584008,55.163875,30.0481176,33.4678779,66.8547871,32.6611752,42.6612075,15.7257421,4.5968261,15.8334917,9.500095,36.7795266,7.5222237,1.033286,1.0537991,14.934108,11.9638543,55.0494502,28.5130594,35.1152647,68.1742523,32.8126028,42.3520375,16.529576,3.7007066,14.8693606,8.3334695,34.9333598,7.9440366,1.0744813,1.0949001,15.2778958,12.3367626,57.6030407,28.4440709,35.6559594,68.1146638,32.0492728,40.5738928,16.1475888,3.8525095,15.1960248,9.3137295,35.264384,7.0248805,0.9691247,0.9377764,13.5752139,11.3829433,57.009892,27.7777317,35.3189847,68.2045496,33.3054527,39.6812879,17.7013972,4.2785773,14.5484281,10.2006893,34.0672453,8.0509498,1.3524255,1.3212725,14.177863,11.828924,59.0829885,27.0866664,34.7933778,68.0163242,33.3059225,40.0826952,18.4298,4.8760895,12.6261172,8.5858203,33.1629226,7.0830347 +1737,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9581392,0.9699583,10.910684,7.3666118,39.2466035,21.7488429,34.8344552,69.8471415,38.608136,48.2231001,23.4687641,4.1837358,13.3947312,11.0979027,37.6237963,7.5892654,0.83659,0.8491388,10.8513421,7.2610232,36.7000634,21.9967035,34.6932892,70.0750968,39.7133957,48.3000127,23.6309266,4.5149371,13.1106095,10.4063285,37.5560743,7.4258195,0.9375292,0.9507461,10.784396,7.0480718,35.1083641,21.0043486,33.8428496,70.1948544,39.7382718,47.0704565,22.6698945,4.1607687,12.4716536,10.880865,38.7842869,8.0190263,0.8751356,0.8887527,11.0700872,6.9224541,34.6865341,20.3416596,34.1082233,70.3570507,39.3872994,47.7563248,23.108794,4.0949009,12.5814464,10.9171841,40.6489164,6.132241,1.0041855,1.0041855,10.9576199,7.1728094,33.6598791,20.3692894,33.966861,69.8672856,41.1949296,48.7144968,23.1534756,4.3812675,12.8508831,11.9318504,39.8452078,5.2381755 +1738,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.83659,0.8491388,10.8513421,7.2610232,36.7000634,21.9967035,34.6932892,70.0750968,39.7133957,48.3000127,23.6309266,4.5149371,13.1106095,10.4063285,37.5560743,7.4258195,0.9375292,0.9507461,10.784396,7.0480718,35.1083641,21.0043486,33.8428496,70.1948544,39.7382718,47.0704565,22.6698945,4.1607687,12.4716536,10.880865,38.7842869,8.0190263,0.8751356,0.8887527,11.0700872,6.9224541,34.6865341,20.3416596,34.1082233,70.3570507,39.3872994,47.7563248,23.108794,4.0949009,12.5814464,10.9171841,40.6489164,6.132241,1.0041855,1.0041855,10.9576199,7.1728094,33.6598791,20.3692894,33.966861,69.8672856,41.1949296,48.7144968,23.1534756,4.3812675,12.8508831,11.9318504,39.8452078,5.2381755,0.8165462,0.8165462,10.4310467,6.9859282,31.2535072,20.3429085,33.7901744,68.9690116,41.997235,50.010149,23.4949658,4.2328214,12.5614261,12.1270732,38.7818893,4.3270151 +1739,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9330927,1.9330927,34.563253,30.496988,65.1001541,7.1851852,34.2578711,63.0434783,28.7106447,38.155922,15.6671664,6.6716642,17.0623145,11.9822485,36.7559524,17.3529412,1.8222627,1.8222627,34.5982143,30.5803571,66.0741886,6.2776957,35.3073463,64.0929535,28.1109445,38.155922,15.6671664,6.5217391,17.1130952,12.6488095,36.8656716,16.8571429,2.0020013,2.0020013,33.8541667,29.985119,65.9754224,6.2592047,36.002994,64.8952096,27.3203593,39.2964072,16.5419162,6.0628743,16.4723032,10.3498542,36.6959064,14.8255814,2.0544413,2.0544413,34.4544096,29.9701046,65.4503106,6.0089021,38.5951662,64.7280967,27.265861,40.407855,16.9939577,6.7220544,16.3716814,11.6519174,35.0591716,15.0306748,1.9287136,1.9287136,34.2022117,29.3048973,66.0862355,6.0629921,39.9839744,65.4647436,27.8044872,41.1057692,17.0673077,6.9711538,18.2539683,12.2222222,35.3035144,16.0377358 +1740,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8793336,0.8793336,10.4706721,6.7859864,30.6958554,18.6650456,32.9634749,68.3610175,42.1592708,48.0619577,22.7729941,4.2563468,11.3262767,10.842057,36.3887244,4.205697,0.6913861,0.6913861,10.4273614,6.9035092,31.0630899,19.1149587,34.8787446,68.3863029,41.9335029,48.9300826,24.0337275,4.617325,11.9637967,11.8443299,39.039761,4.5455297,0.6761669,0.6761669,10.524766,7.0994511,30.4765261,19.6249612,34.5327243,68.9806605,41.336389,48.8094803,24.7729688,4.6393054,12.5966846,11.3754918,37.6995144,4.2970294,0.6525085,0.6691382,10.4005582,6.7485192,29.9992625,20.2544752,34.6498774,68.8198431,40.739754,47.4770782,23.7087552,4.5913017,11.9208811,10.6375668,36.5994529,5.5972071,0.5524807,0.5685647,10.1820719,6.7115571,29.109648,20.5430489,34.7245701,69.0903945,40.079209,47.6181571,23.5463805,4.3249866,11.9031265,10.1403908,37.589352,5.5972071 +1741,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.858802,0.8532607,8.7495499,5.3359569,31.3118471,24.3248506,30.1219552,69.3398151,35.468264,46.842455,18.101928,7.5170245,10.772888,8.8134219,33.1836905,2.529178,0.8710658,0.8820542,8.4730525,5.1551835,30.438741,24.6486391,30.5437091,69.3141448,35.7320438,45.6112018,18.2835851,7.8713435,10.3671136,7.9413975,32.1993261,2.9880359,0.909854,0.9426022,8.4959085,5.0904504,31.2252658,24.5807137,30.8870222,68.3737853,35.3220717,46.0225086,18.6378027,8.2541199,10.2434173,7.7001513,31.7281795,2.2357678,0.8075077,0.847964,8.6781389,5.1017083,31.7728949,24.9309914,31.1609426,67.0663818,34.6715701,44.786231,17.9875301,8.2551242,10.1802431,8.1325391,31.2753542,1.8749961,0.7966609,0.8395214,8.633729,4.9948756,33.0254626,24.2644802,30.970271,67.1848069,34.8992332,44.806982,17.8169202,8.2166015,10.8240653,8.3551823,32.0436877,1.9067756 +1742,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5895281,0.6133682,8.9871345,5.9531137,37.4999992,20.5350317,30.1970216,68.1585479,38.6984205,49.2786232,22.5798966,6.756126,8.9242383,7.7797989,33.399571,3.6214945,0.6105687,0.6158105,8.950765,5.9748456,37.3939701,21.0441867,30.7936725,67.7336815,38.5909156,48.7908821,22.5003854,6.7508892,9.1033821,7.8577968,33.0717103,3.4855752,0.6215122,0.641219,9.1480475,6.1530135,37.4960305,21.0432824,30.7674233,67.4001587,38.5043093,48.4025013,22.4823776,6.9616284,8.88239,7.6887557,32.9556028,3.0562332,0.6406236,0.6672712,9.401911,6.5113821,37.4214368,20.8709658,30.9512649,67.3572377,38.4931733,47.6489674,22.4161939,6.7116695,9.4687919,7.855216,33.167127,3.7439586,0.655647,0.6692242,9.5380608,6.4840418,37.1813108,21.0796342,31.3072393,67.1557263,38.6663566,47.1277654,22.3179498,6.66822,9.6376653,7.7094531,33.1190201,3.6470336 +1743,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7868977,0.8101811,10.9481934,7.9204667,57.7216979,8.8758621,25.9452138,65.0570923,32.6966636,39.9149291,17.0184072,6.3258719,10.6505045,9.3083669,37.1219074,6.5990868,0.7820767,0.80551,11.0724633,8.064372,57.8462023,8.9291032,26.091963,65.3066366,32.6643556,39.7965321,16.8251545,6.3389571,10.2965936,8.9099431,37.3396389,6.9098151,0.811997,0.8425954,11.0773433,8.0675945,58.1462224,8.8616119,26.2257509,65.2067029,32.6748626,39.3021346,16.749195,6.3187109,10.2016486,8.7900234,37.1917187,6.4533158,0.8393782,0.8620115,11.3435547,8.2797181,58.6644289,8.7534569,26.3213111,64.9712922,32.1939425,38.8048513,16.579745,6.2779595,10.3550237,8.868832,36.8064985,6.7964113,0.8046391,0.8139355,11.8465342,8.7229302,59.8824241,8.8664151,27.0066556,64.06026,31.5568289,38.7205631,16.3542366,6.2666313,10.4476052,8.555346,36.7195461,6.2089356 +1744,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8724977,1.9081088,26.7867292,21.7301318,49.8511338,17.4424739,41.7097296,66.3632375,38.3534752,47.7430246,25.6841412,4.6158699,11.0806368,11.0802701,33.2846726,23.7223334,1.6688192,1.6571579,26.6614354,21.177487,50.2743267,17.6193351,41.3140933,66.9666661,39.0490649,48.7125583,26.2221522,4.9406714,11.3085098,10.5173987,32.5387063,22.5923081,1.8039239,1.7202025,26.7014273,21.6160385,50.5587056,17.7273727,41.60776,66.3268004,38.720965,49.0203266,26.8679606,5.0284852,11.2614036,10.9322499,33.114148,22.7603278,1.7653662,1.6801714,25.3203338,20.1604496,50.5680358,17.6283204,42.7768204,65.3700447,39.3653596,49.7578121,27.8701032,4.7950167,12.2034957,11.2072385,33.8403097,21.4258489,1.6529182,1.5492683,24.7590814,19.2745534,50.1759357,17.2693032,44.0599994,66.8574906,40.2686119,50.6851073,27.8875136,5.1653102,12.106246,11.1262675,35.0468395,18.9630289 +1745,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.1160189,1.1129378,15.6673614,10.8693645,53.6655191,13.7012723,30.2671106,62.0705217,34.066434,39.3016295,17.1972125,4.2909193,13.4160863,10.1984879,39.4191033,13.6673087,0.9979836,0.9949632,15.9461248,11.1244717,54.3825457,14.2109141,29.8300269,62.0328251,34.4776309,39.4984008,17.5419019,3.9714443,13.7329576,10.088436,39.7633041,12.5859454,1.0574451,1.0544639,15.7984179,10.7912107,55.9678469,13.9050473,29.3752148,62.3530385,33.6823004,39.4369726,17.3825644,3.9455115,13.417824,10.1771195,39.6559432,11.1940329,0.9810203,0.9273823,15.9583138,11.3741853,57.2212727,14.0096613,29.8201653,63.4610782,34.0637815,40.1018035,17.542131,3.654899,13.6103271,11.3003532,37.7366113,8.3108128,0.9601798,0.8817892,16.6076422,12.182624,58.1618913,14.8373493,29.4710239,63.4616534,34.1344139,39.7243481,18.6416968,3.7368739,13.9126276,12.0785131,37.8404405,6.9946648 +1746,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6485514,0.6467994,9.7599201,6.8603619,46.6086815,10.618614,28.7904832,69.6014212,42.0686866,42.8842173,21.6689625,4.9908097,9.3486655,7.8420191,35.0241485,6.4589685,0.6906939,0.6788255,9.9517862,7.0251221,46.4559377,10.509866,28.7305947,69.406871,41.8902385,42.6773838,21.6241669,4.9833691,9.1458043,7.6509313,34.8535236,6.7507438,0.6645853,0.6454607,10.2322808,7.2930481,46.4222691,10.776414,29.2233193,70.0804945,41.8416144,42.9185262,21.5109296,4.933099,9.3756757,7.9163963,34.927757,8.1140375,0.6659165,0.6556161,10.224399,7.3204291,45.8848885,10.999351,29.1181246,70.4572679,41.6058761,43.0103431,21.7365243,4.9918322,9.3071225,8.0837677,34.9594396,8.0572313,0.666735,0.6603697,10.3620411,7.268241,45.5833683,10.8242975,28.7862335,70.9966359,41.6730015,43.4317669,21.9682958,4.9777414,9.6742862,8.4626996,34.9401524,8.4077393 +1747,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6906939,0.6788255,9.9517862,7.0251221,46.4559377,10.509866,28.7305947,69.406871,41.8902385,42.6773838,21.6241669,4.9833691,9.1458043,7.6509313,34.8535236,6.7507438,0.6645853,0.6454607,10.2322808,7.2930481,46.4222691,10.776414,29.2233193,70.0804945,41.8416144,42.9185262,21.5109296,4.933099,9.3756757,7.9163963,34.927757,8.1140375,0.6659165,0.6556161,10.224399,7.3204291,45.8848885,10.999351,29.1181246,70.4572679,41.6058761,43.0103431,21.7365243,4.9918322,9.3071225,8.0837677,34.9594396,8.0572313,0.666735,0.6603697,10.3620411,7.268241,45.5833683,10.8242975,28.7862335,70.9966359,41.6730015,43.4317669,21.9682958,4.9777414,9.6742862,8.4626996,34.9401524,8.4077393,0.6929537,0.6862671,10.6817937,7.5139774,45.2079632,10.7441081,28.7085246,70.8794216,41.1461747,43.5968359,21.9746227,5.0368657,9.6729049,8.5126989,34.8123223,8.2844587 +1748,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4356538,0.4329537,7.2742436,5.1354602,55.1782215,14.4261444,26.9811142,68.3144539,32.4653648,45.3962027,14.6288611,4.8175596,11.9575147,10.2760699,32.0327609,7.0076634,0.579461,0.5748251,7.5692821,5.2650355,53.4447634,14.7022443,26.5420716,68.7688056,32.409732,46.1007741,14.6313461,4.9272586,12.0224619,10.303558,32.2572642,7.5092483,0.522054,0.5405153,7.6483087,5.3623312,51.4554697,14.1792952,26.0113176,69.7706037,32.4494612,46.6822905,15.1578521,4.9703771,11.8704267,10.6664154,31.3494016,6.8774078,0.5115614,0.5223013,7.9490158,5.4975746,50.5375026,14.1795971,26.7166705,69.5914613,32.156109,46.6527534,15.1488531,5.0578145,11.404361,10.6244419,31.1861464,5.2920558,0.5162179,0.530088,8.0339957,5.4956945,49.3077853,14.1806714,27.1519567,68.9222627,32.418988,47.0983837,15.1548432,5.157255,11.4813536,10.9540213,31.6258264,5.1419041 +1749,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8980596,1.8516336,29.0687391,24.0610214,42.7071329,18.4318892,41.6975003,65.7649252,37.5285693,48.9665757,24.3101491,3.5305951,11.2455901,9.5506468,31.7924616,16.3821137,2.0057094,1.9450993,28.6780608,23.7562838,42.4841594,18.4893105,41.8070939,65.0928113,37.5017796,48.6287016,24.125601,3.7521636,12.2234007,9.5658396,32.3022196,19.2818591,2.0019993,1.9413286,28.5486828,23.9506751,42.6712479,18.0383667,42.8478381,65.8033335,37.4337475,48.573405,24.6132482,3.6849913,12.2862029,9.0681995,32.1577071,20.0976964,1.8822465,1.8320577,28.2025469,23.955157,42.7655357,17.6065691,42.9314262,66.2305335,37.5624333,48.2613927,25.2858263,3.6689146,12.4468911,9.3084307,32.8674155,20.2180639,1.8888304,1.8378731,28.0492749,23.841006,43.0284348,18.2052048,42.299923,66.3849819,36.3816158,48.0754812,25.1935857,3.9778623,12.619179,8.6019654,32.7810214,20.0358811 +1750,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6133668,2.6168449,40.4285411,35.5450045,71.4514093,12.7081181,36.1420761,61.45135,25.8103705,38.2293407,17.6239968,2.0997872,16.7919007,13.0087301,43.503812,27.2146445,2.6173159,2.6322961,40.9480383,36.0180417,73.1119916,12.2053496,35.927119,60.6931338,25.5122638,37.4192204,17.4093911,1.815776,16.0960993,13.1087809,43.1228148,26.2946067,2.4052728,2.4407979,40.4312728,35.3032204,73.4019004,11.6328867,35.5748252,60.4012328,25.1545013,37.3154009,17.1347192,1.9491083,16.6709771,12.5608545,44.1118782,27.0798924,2.5868637,2.6344906,39.3893355,34.0899417,74.5321639,11.4866307,34.5465533,59.8700017,24.1885933,36.8634485,16.5062425,1.9663764,17.2127922,13.1331951,43.8707369,26.7912205,2.4555661,2.5152513,38.7605794,33.4325227,75.7811164,11.5887237,34.9396595,60.1683688,24.0651051,37.0253465,16.2003159,1.9708899,17.1204773,12.9554537,45.5223781,26.4349461 +1751,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6645853,0.6454607,10.2322808,7.2930481,46.4222691,10.776414,29.2233193,70.0804945,41.8416144,42.9185262,21.5109296,4.933099,9.3756757,7.9163963,34.927757,8.1140375,0.6659165,0.6556161,10.224399,7.3204291,45.8848885,10.999351,29.1181246,70.4572679,41.6058761,43.0103431,21.7365243,4.9918322,9.3071225,8.0837677,34.9594396,8.0572313,0.666735,0.6603697,10.3620411,7.268241,45.5833683,10.8242975,28.7862335,70.9966359,41.6730015,43.4317669,21.9682958,4.9777414,9.6742862,8.4626996,34.9401524,8.4077393,0.6929537,0.6862671,10.6817937,7.5139774,45.2079632,10.7441081,28.7085246,70.8794216,41.1461747,43.5968359,21.9746227,5.0368657,9.6729049,8.5126989,34.8123223,8.2844587,0.7401653,0.7330566,10.5094864,7.3550151,44.4486848,10.8275827,28.1421395,71.0300002,40.8827024,44.2586809,21.906243,4.9940839,9.5303861,8.0658868,35.0942984,8.3333333 +1752,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6563898,1.6894554,35.3557138,31.0187526,59.9728299,15.6064329,34.3762022,60.9730496,33.1396176,42.9755585,17.8731454,2.1589721,17.8447777,13.6978724,39.2997197,20.8973971,1.6801771,1.7296419,34.9007174,30.7564069,60.2694881,15.882322,35.2217364,60.9800715,32.9758153,42.4570414,18.0011012,2.2249344,17.8117527,13.464,40.9964132,19.3714018,1.646109,1.695873,34.8933401,30.8342265,61.7038976,15.6727017,35.4978658,61.5524071,32.9139571,42.5571465,17.9581753,2.3471124,16.8199124,13.1455585,42.2367123,17.580986,1.6539699,1.692521,34.4405808,30.5770611,63.4819713,14.8027215,35.4134246,61.5804851,31.9749763,41.8190826,17.172886,2.2981594,17.4392665,14.1917882,43.474356,16.5403414,1.676332,1.7213371,33.626508,29.8328642,63.6940884,14.462174,34.2038368,61.7548277,31.7066916,41.1802289,17.019295,2.5886968,16.6744282,14.313733,43.0849775,16.191677 +1753,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7359626,0.7628836,8.4095477,5.249521,39.1777291,19.9703916,29.5310489,68.3502774,36.3668744,46.7461615,21.0576753,4.4806832,10.499064,9.0959581,32.3245607,5.5573926,0.7115001,0.738493,8.2896561,5.0613136,39.6050713,20.0433856,29.8463481,67.9756142,36.304832,46.3196305,20.7326061,4.443418,10.7358237,9.6060161,32.0848737,4.7034596,0.7619666,0.7884443,8.5589698,5.4201068,39.038372,19.7565772,30.5548449,68.1431463,36.115946,45.9312336,20.7873147,4.4634729,10.5098925,9.618645,30.8997587,4.738778,0.7404136,0.7562743,8.8416938,5.6568962,39.1649479,19.1417966,30.9340409,68.0199171,35.6399864,45.2587331,19.9265967,4.4623779,10.0781799,9.2774118,31.8294658,5.1702526,0.7803585,0.8135959,9.2800108,5.8397529,38.8394383,18.4899124,30.4875103,68.2522221,35.8753261,44.8622888,19.9610953,4.6561551,10.2107766,9.1538796,32.4024886,4.8741473 +1754,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3798744,0.3896701,6.7763787,3.9877432,56.2711323,22.6503529,31.0068082,65.879012,32.6753141,44.2437811,19.3827347,5.3670987,9.9016151,7.2757725,30.4612673,3.7815126,0.3320694,0.3414628,7.5798101,4.2819232,55.5111799,22.2952483,30.3410952,66.3028594,33.6975029,44.5659675,19.3660932,4.928098,10.148862,7.71283,31.4303363,3.4883721,0.3847733,0.401912,6.7172172,3.8944133,56.3223573,22.3569601,29.6810755,65.8736751,33.4990628,42.5995312,18.9069806,5.2562937,9.9273175,7.6563138,31.9184823,3.8194444,0.4319761,0.4661987,6.6584704,3.759206,55.8502712,23.1986249,28.5256417,66.1489067,32.7169408,42.5295842,19.0088762,5.6459547,9.8831616,7.7636772,31.1209426,1.6666667,0.4193244,0.4956622,6.6650791,3.8187779,55.6532025,23.7727834,28.0747389,65.6338626,31.9536244,42.076633,17.999053,5.6054851,9.8492044,7.0415919,31.1904815,2.2435897 +1755,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4002648,0.4002648,7.6651296,4.5622102,48.3171645,21.489927,28.6592566,67.621483,34.5980798,42.9963999,19.9610054,9.6730656,8.5553543,6.8586715,37.8370312,3.7764362,0.4419852,0.4145352,8.0227925,4.7890374,47.9179326,21.4796038,29.4126405,67.7861479,34.7439733,42.2138548,19.5331318,9.6837346,8.3985516,6.4876302,36.2667467,3.9823009,0.5011155,0.4742482,7.8605938,4.8430914,47.2692143,20.8818384,29.6301625,68.256532,35.6765479,41.9870865,19.5333154,9.5832104,8.6994689,6.7821507,37.3218497,4.7142871,0.5149114,0.4880369,8.0712812,4.9266262,46.6795071,20.56686,30.0761726,68.1658398,35.7017293,42.5871662,19.93847,9.6542627,8.500002,6.5781726,37.7014956,4.8611125,0.5044581,0.4774894,8.0137829,4.9880181,46.024414,20.0671355,30.2267297,67.9475896,35.2915189,42.3586584,19.6260294,9.2608974,8.8166394,6.8021217,37.6557894,4.8611125 +1756,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4915068,0.5086087,10.4428917,6.8696614,40.6652903,20.9026847,32.6952596,69.6528872,42.4961723,46.681986,24.1705029,3.9050532,8.2564163,7.9814686,32.209551,3.4615385,0.5201346,0.5420037,9.9416641,6.4414271,39.4606593,20.4204967,32.7214947,69.3832625,42.1683842,47.503679,24.7919861,3.5976545,7.9819321,8.4088762,32.5380614,4.1666635,0.4550412,0.4762421,9.4957619,6.1498687,38.5783017,20.4929593,32.9122977,69.9952317,42.3975353,48.1649296,25.2383411,3.5510037,8.0059057,8.3251347,33.0525077,4.7445221,0.4988918,0.519071,9.4352322,6.1183411,37.9349722,20.6395291,32.3729498,69.8502701,41.8103617,47.9809428,25.340314,3.7885682,9.1296241,8.7761034,32.4904363,3.8194391,0.5303331,0.5297592,9.831466,6.114965,37.7930046,20.2807774,32.3477901,69.5794974,41.5024231,47.3718851,24.6824641,3.3508565,9.786655,9.3488413,31.8480245,4.3333276 +1757,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6801771,1.7296419,34.9007174,30.7564069,60.2694881,15.882322,35.2217364,60.9800715,32.9758153,42.4570414,18.0011012,2.2249344,17.8117527,13.464,40.9964132,19.3714018,1.646109,1.695873,34.8933401,30.8342265,61.7038976,15.6727017,35.4978658,61.5524071,32.9139571,42.5571465,17.9581753,2.3471124,16.8199124,13.1455585,42.2367123,17.580986,1.6539699,1.692521,34.4405808,30.5770611,63.4819713,14.8027215,35.4134246,61.5804851,31.9749763,41.8190826,17.172886,2.2981594,17.4392665,14.1917882,43.474356,16.5403414,1.676332,1.7213371,33.626508,29.8328642,63.6940884,14.462174,34.2038368,61.7548277,31.7066916,41.1802289,17.019295,2.5886968,16.6744282,14.313733,43.0849775,16.191677,1.6331452,1.5969796,33.5398335,29.8230213,64.1333208,14.3119163,34.8996988,62.1181377,31.33492,41.3374646,17.0406539,2.5279112,16.5110508,13.5710317,43.1355727,15.8097171 +1758,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.646109,1.695873,34.8933401,30.8342265,61.7038976,15.6727017,35.4978658,61.5524071,32.9139571,42.5571465,17.9581753,2.3471124,16.8199124,13.1455585,42.2367123,17.580986,1.6539699,1.692521,34.4405808,30.5770611,63.4819713,14.8027215,35.4134246,61.5804851,31.9749763,41.8190826,17.172886,2.2981594,17.4392665,14.1917882,43.474356,16.5403414,1.676332,1.7213371,33.626508,29.8328642,63.6940884,14.462174,34.2038368,61.7548277,31.7066916,41.1802289,17.019295,2.5886968,16.6744282,14.313733,43.0849775,16.191677,1.6331452,1.5969796,33.5398335,29.8230213,64.1333208,14.3119163,34.8996988,62.1181377,31.33492,41.3374646,17.0406539,2.5279112,16.5110508,13.5710317,43.1355727,15.8097171,1.5108595,1.4658959,32.743876,29.0877485,65.4122141,14.0490961,34.626313,62.0669009,30.8341588,40.7011254,16.5123892,2.3378724,16.9627665,12.3824108,43.8385923,17.546114 +1759,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.68023,0.6880019,9.2740623,5.7701648,44.1119577,19.2772513,31.0861119,71.2515903,38.8966932,45.7953061,23.0188317,4.4042499,9.9825981,7.9067593,33.4391368,7.415394,0.7229131,0.7135159,9.638591,6.1361151,43.3593286,19.2393075,31.0593738,71.3418902,38.9123078,45.6355555,23.3756759,4.5056437,9.9207168,7.933287,34.2879106,7.1722691,0.8341785,0.8184227,10.1757042,6.7151231,43.7160235,19.0680753,30.9396259,71.345986,38.8683626,46.0072807,23.3492221,4.3876921,9.9328693,8.3100006,34.1496765,6.8750529,0.7641453,0.7486156,10.0975846,6.7633499,43.3062216,19.0962905,31.379933,71.7512919,38.8888078,45.9544858,23.7599736,4.3917925,10.1990868,8.6560176,35.3087629,6.2771597,0.8380641,0.8310332,10.3923017,7.0037837,43.5501916,18.8944783,30.868765,71.2827456,38.3306705,45.983079,23.5430454,4.452606,10.5560245,8.4271,35.298874,7.83912 +1760,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6913861,0.6913861,10.4273614,6.9035092,31.0630899,19.1149587,34.8787446,68.3863029,41.9335029,48.9300826,24.0337275,4.617325,11.9637967,11.8443299,39.039761,4.5455297,0.6761669,0.6761669,10.524766,7.0994511,30.4765261,19.6249612,34.5327243,68.9806605,41.336389,48.8094803,24.7729688,4.6393054,12.5966846,11.3754918,37.6995144,4.2970294,0.6525085,0.6691382,10.4005582,6.7485192,29.9992625,20.2544752,34.6498774,68.8198431,40.739754,47.4770782,23.7087552,4.5913017,11.9208811,10.6375668,36.5994529,5.5972071,0.5524807,0.5685647,10.1820719,6.7115571,29.109648,20.5430489,34.7245701,69.0903945,40.079209,47.6181571,23.5463805,4.3249866,11.9031265,10.1403908,37.589352,5.5972071,0.6905362,0.682889,10.9025173,7.2764673,29.7860571,20.4678303,34.4910533,69.2836187,38.8397335,47.3901459,23.4699483,4.1606571,12.5703682,10.8591845,38.4345277,6.4396037 +1761,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8710658,0.8820542,8.4730525,5.1551835,30.438741,24.6486391,30.5437091,69.3141448,35.7320438,45.6112018,18.2835851,7.8713435,10.3671136,7.9413975,32.1993261,2.9880359,0.909854,0.9426022,8.4959085,5.0904504,31.2252658,24.5807137,30.8870222,68.3737853,35.3220717,46.0225086,18.6378027,8.2541199,10.2434173,7.7001513,31.7281795,2.2357678,0.8075077,0.847964,8.6781389,5.1017083,31.7728949,24.9309914,31.1609426,67.0663818,34.6715701,44.786231,17.9875301,8.2551242,10.1802431,8.1325391,31.2753542,1.8749961,0.7966609,0.8395214,8.633729,4.9948756,33.0254626,24.2644802,30.970271,67.1848069,34.8992332,44.806982,17.8169202,8.2166015,10.8240653,8.3551823,32.0436877,1.9067756,0.8905796,0.9332497,8.7201513,5.1706711,33.3046041,24.8238172,31.6333151,67.621126,35.1236654,45.6624729,17.6042081,8.1836627,11.0788653,8.5760508,32.9086072,1.5217358 +1762,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.4202807,2.4299551,29.387114,22.7335064,47.5786431,13.8123712,37.1709488,65.1047011,33.5056443,47.2278723,24.4420332,5.2747245,15.7356011,11.6934877,33.8614593,14.37233,2.1982122,2.1592473,29.9995177,23.0263722,48.1861514,14.6752818,37.1271326,65.2016215,32.910642,47.1988902,24.9247891,5.431372,14.9312279,11.5267667,33.4132893,14.0814947,2.1138071,2.0144865,30.2735469,23.0348791,48.778915,14.1645714,37.9167804,64.8774286,33.7988191,47.6717082,24.5340828,5.2205391,14.7172228,11.8523011,32.9304495,14.1998637,1.9229434,1.8693499,29.5663724,22.778774,47.8007789,14.5107672,38.9170525,65.4114116,34.2012134,48.3966438,25.2562516,5.5678696,15.0364802,11.8551961,33.799816,14.4382051,1.8834169,1.8599515,29.4822755,22.6107466,47.8889806,14.2494735,39.7715767,65.357028,34.1563575,47.8279101,25.9044818,5.2505549,14.7431773,11.8912928,33.5131911,15.261915 +1763,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.579461,0.5748251,7.5692821,5.2650355,53.4447634,14.7022443,26.5420716,68.7688056,32.409732,46.1007741,14.6313461,4.9272586,12.0224619,10.303558,32.2572642,7.5092483,0.522054,0.5405153,7.6483087,5.3623312,51.4554697,14.1792952,26.0113176,69.7706037,32.4494612,46.6822905,15.1578521,4.9703771,11.8704267,10.6664154,31.3494016,6.8774078,0.5115614,0.5223013,7.9490158,5.4975746,50.5375026,14.1795971,26.7166705,69.5914613,32.156109,46.6527534,15.1488531,5.0578145,11.404361,10.6244419,31.1861464,5.2920558,0.5162179,0.530088,8.0339957,5.4956945,49.3077853,14.1806714,27.1519567,68.9222627,32.418988,47.0983837,15.1548432,5.157255,11.4813536,10.9540213,31.6258264,5.1419041,0.6120153,0.5976193,8.5357062,6.107149,48.3969564,14.1407497,26.376121,68.8919481,32.6292448,46.1251546,15.5118541,5.1786834,11.1557009,10.8777553,31.0222654,4.166715 +1764,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4010689,1.3669629,20.293419,15.9756337,39.2100416,16.2738176,34.8324435,67.1427032,33.4923277,44.3208556,22.0988196,2.8042065,11.7380324,8.8538709,36.9823455,15.5508252,1.2572005,1.2234153,21.6459423,16.9232134,40.5934808,16.1573585,35.4765753,67.887155,33.3395221,44.7264208,21.1106616,2.7505073,11.6238278,8.6405977,36.6908596,17.5805781,1.3601795,1.3283331,22.6037745,17.7635771,40.9738504,16.448975,35.9384464,67.3989876,32.7001634,44.3323174,21.3647288,2.8254865,11.872037,8.7279808,37.1722045,19.3749919,1.426348,1.3961855,22.9068652,18.188516,41.3351065,16.4492004,36.3106311,66.6087802,32.9199454,44.5365846,21.3970022,2.8728946,12.8609288,9.2477368,38.473645,20.8646381,1.5286575,1.5286575,23.6773683,18.9199452,41.247332,16.6450474,35.8661623,66.5534699,33.284947,44.7076668,21.4422842,2.9526182,12.6951341,9.4126046,37.8409934,22.2825845 +1765,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7820767,0.80551,11.0724633,8.064372,57.8462023,8.9291032,26.091963,65.3066366,32.6643556,39.7965321,16.8251545,6.3389571,10.2965936,8.9099431,37.3396389,6.9098151,0.811997,0.8425954,11.0773433,8.0675945,58.1462224,8.8616119,26.2257509,65.2067029,32.6748626,39.3021346,16.749195,6.3187109,10.2016486,8.7900234,37.1917187,6.4533158,0.8393782,0.8620115,11.3435547,8.2797181,58.6644289,8.7534569,26.3213111,64.9712922,32.1939425,38.8048513,16.579745,6.2779595,10.3550237,8.868832,36.8064985,6.7964113,0.8046391,0.8139355,11.8465342,8.7229302,59.8824241,8.8664151,27.0066556,64.06026,31.5568289,38.7205631,16.3542366,6.2666313,10.4476052,8.555346,36.7195461,6.2089356,0.844518,0.8641032,12.3238227,8.9927332,60.7162596,8.7956876,27.6531398,63.4079218,31.0545804,38.5655451,16.1827613,6.1820857,10.3731098,8.3874079,36.407766,6.1363632 +1766,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5201346,0.5420037,9.9416641,6.4414271,39.4606593,20.4204967,32.7214947,69.3832625,42.1683842,47.503679,24.7919861,3.5976545,7.9819321,8.4088762,32.5380614,4.1666635,0.4550412,0.4762421,9.4957619,6.1498687,38.5783017,20.4929593,32.9122977,69.9952317,42.3975353,48.1649296,25.2383411,3.5510037,8.0059057,8.3251347,33.0525077,4.7445221,0.4988918,0.519071,9.4352322,6.1183411,37.9349722,20.6395291,32.3729498,69.8502701,41.8103617,47.9809428,25.340314,3.7885682,9.1296241,8.7761034,32.4904363,3.8194391,0.5303331,0.5297592,9.831466,6.114965,37.7930046,20.2807774,32.3477901,69.5794974,41.5024231,47.3718851,24.6824641,3.3508565,9.786655,9.3488413,31.8480245,4.3333276,0.534458,0.5454175,9.6581539,5.7866626,37.1192844,20.2931484,32.4884828,70.1927212,41.7469745,47.570174,24.821988,3.288648,9.5510584,8.7665225,30.0267046,4.391886 +1767,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.909854,0.9426022,8.4959085,5.0904504,31.2252658,24.5807137,30.8870222,68.3737853,35.3220717,46.0225086,18.6378027,8.2541199,10.2434173,7.7001513,31.7281795,2.2357678,0.8075077,0.847964,8.6781389,5.1017083,31.7728949,24.9309914,31.1609426,67.0663818,34.6715701,44.786231,17.9875301,8.2551242,10.1802431,8.1325391,31.2753542,1.8749961,0.7966609,0.8395214,8.633729,4.9948756,33.0254626,24.2644802,30.970271,67.1848069,34.8992332,44.806982,17.8169202,8.2166015,10.8240653,8.3551823,32.0436877,1.9067756,0.8905796,0.9332497,8.7201513,5.1706711,33.3046041,24.8238172,31.6333151,67.621126,35.1236654,45.6624729,17.6042081,8.1836627,11.0788653,8.5760508,32.9086072,1.5217358,0.7319771,0.7729638,8.747563,5.2485509,33.8459478,24.4534298,31.5217162,67.5372898,35.4152992,45.6034818,17.8942326,8.4198543,11.3272146,8.9363023,32.0362016,1.7786526 +1768,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6120856,0.585516,8.3907428,5.3596064,45.6059398,15.2493905,29.8756761,68.1906084,37.8038666,46.3397828,19.4337074,3.6878484,9.3169535,8.2420579,29.4878983,5.630623,0.4968433,0.49952,8.0351993,5.3519947,44.8240503,15.7616527,29.3648336,68.0829572,37.3984938,46.8532455,19.4460629,3.4367759,9.6521826,8.729691,30.1925522,4.702968,0.4551691,0.4716662,8.144727,5.4347862,44.5331331,16.0982035,28.8587517,68.6978656,37.7383799,46.7073883,19.9791413,3.3820022,9.0608161,8.644576,30.1812941,4.1666646,0.4897334,0.4788933,7.54468,4.8784097,44.1947067,16.1051453,29.5060099,68.5533746,37.8565102,46.3834114,19.5383633,3.3666594,9.6188348,8.6555653,31.074655,2.5943396,0.4996296,0.4633414,8.2212823,5.2521035,44.0898601,16.0774059,29.4690615,68.9494602,38.1107079,46.7805581,20.347362,3.4877175,9.3911552,8.7593294,31.2464036,4.5064378 +1769,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.647428,1.7379164,26.9355442,23.1172946,53.2915322,15.4121845,40.5288678,65.6452371,33.5389109,46.7031251,20.4104197,2.2093386,14.3471282,11.3053489,36.5671138,11.343908,1.764756,1.8226731,27.8217567,23.8817516,53.6877739,14.577189,40.1427503,65.4203377,33.8924784,47.0880198,20.847086,2.2846097,14.9696862,11.9956883,35.9899739,10.992652,1.8596572,1.9356585,28.6268515,24.2805275,55.1672286,13.8608758,40.5444364,65.1975181,33.9583091,47.4025218,21.3594094,2.3317028,15.8727385,12.1272673,36.3328291,12.850565,1.9259559,2.0037785,28.7689825,24.327659,55.963369,14.7888178,40.5527075,65.5238357,35.4721106,47.7001573,21.7331623,2.6810023,15.5493097,11.9136977,36.235491,13.2836161,1.9262248,1.9461346,28.7951051,24.328257,56.6874968,15.0265676,40.5187572,64.3833992,35.4972366,46.5874326,21.3107606,3.0326079,15.446678,12.4817023,36.5476369,15.8003086 +1770,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6539699,1.692521,34.4405808,30.5770611,63.4819713,14.8027215,35.4134246,61.5804851,31.9749763,41.8190826,17.172886,2.2981594,17.4392665,14.1917882,43.474356,16.5403414,1.676332,1.7213371,33.626508,29.8328642,63.6940884,14.462174,34.2038368,61.7548277,31.7066916,41.1802289,17.019295,2.5886968,16.6744282,14.313733,43.0849775,16.191677,1.6331452,1.5969796,33.5398335,29.8230213,64.1333208,14.3119163,34.8996988,62.1181377,31.33492,41.3374646,17.0406539,2.5279112,16.5110508,13.5710317,43.1355727,15.8097171,1.5108595,1.4658959,32.743876,29.0877485,65.4122141,14.0490961,34.626313,62.0669009,30.8341588,40.7011254,16.5123892,2.3378724,16.9627665,12.3824108,43.8385923,17.546114,1.483146,1.4435224,31.967951,28.6428541,66.4983699,13.9394534,34.6886689,62.7758434,29.7147186,40.6942814,16.414034,2.3027514,17.7651281,13.8514,44.2387016,17.4930599 +1771,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7819383,0.8097686,10.7749665,6.7369033,48.6853459,11.0735596,32.4282414,67.2078823,42.332552,45.4992731,24.3430564,4.776975,10.0700824,9.0064436,37.1969461,5.491321,0.80299,0.8238361,10.7263749,6.7357704,49.0901329,11.0240157,32.774245,67.2645582,42.5786625,45.2596911,24.3944792,4.6690741,9.7557594,8.361134,37.4642896,5.3345312,0.7718421,0.7887523,10.8289104,6.6116571,49.3549087,10.7914582,32.9103421,67.6248757,42.5002597,44.7631918,24.5191289,4.666523,9.9382678,8.3959625,38.3975794,5.9563688,0.766597,0.7774113,10.9675781,6.6330892,49.2378317,10.603526,32.845577,66.6860904,42.0155641,44.2731553,24.4086884,4.6373596,10.2584886,8.7882805,38.2701394,6.2403621,0.7904422,0.7988485,11.3860959,7.0383935,49.9253539,10.6542199,32.7740569,66.5331397,41.4559162,43.7933432,23.7916349,4.6581537,10.3118016,8.6213678,38.684888,5.66714 +1772,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.522054,0.5405153,7.6483087,5.3623312,51.4554697,14.1792952,26.0113176,69.7706037,32.4494612,46.6822905,15.1578521,4.9703771,11.8704267,10.6664154,31.3494016,6.8774078,0.5115614,0.5223013,7.9490158,5.4975746,50.5375026,14.1795971,26.7166705,69.5914613,32.156109,46.6527534,15.1488531,5.0578145,11.404361,10.6244419,31.1861464,5.2920558,0.5162179,0.530088,8.0339957,5.4956945,49.3077853,14.1806714,27.1519567,68.9222627,32.418988,47.0983837,15.1548432,5.157255,11.4813536,10.9540213,31.6258264,5.1419041,0.6120153,0.5976193,8.5357062,6.107149,48.3969564,14.1407497,26.376121,68.8919481,32.6292448,46.1251546,15.5118541,5.1786834,11.1557009,10.8777553,31.0222654,4.166715,0.5311851,0.521899,8.7350151,6.3132055,48.0429678,14.2940188,26.616559,69.1124313,33.3214936,46.1585076,15.5452405,5.0942842,11.2073593,10.838016,31.4641736,4.2125036 +1773,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2557034,1.2848348,17.5795045,13.9348257,32.8886209,16.382768,34.1233264,68.2952678,39.9137943,47.0083384,23.3483349,3.9541495,11.8611309,9.5079851,33.9654632,14.950946,1.23619,1.2549438,17.4660608,13.7858065,33.2020788,16.2865543,34.1728447,67.6568016,39.1821917,46.5240829,23.569657,3.7189003,11.6689365,9.7859518,33.8341071,16.2100148,1.1592442,1.1995016,17.9750262,14.1156811,33.515164,16.1680504,32.8290728,67.5933411,38.4421494,47.2127285,23.6433708,3.7069595,11.69683,10.1698188,33.5023333,16.7391015,1.263346,1.3183718,19.060023,14.7052483,33.0294042,17.4109541,33.638519,67.5428918,38.1860109,48.4576468,24.1248558,4.0919031,11.9801326,10.898735,34.1201586,17.7082917,1.2827378,1.3406709,20.1407237,15.612287,32.394514,16.7883435,33.7193333,67.2072948,37.89522,48.6331746,23.743498,4.0716226,12.6034513,11.2622409,35.0728065,17.8300505 +1774,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3320694,0.3414628,7.5798101,4.2819232,55.5111799,22.2952483,30.3410952,66.3028594,33.6975029,44.5659675,19.3660932,4.928098,10.148862,7.71283,31.4303363,3.4883721,0.3847733,0.401912,6.7172172,3.8944133,56.3223573,22.3569601,29.6810755,65.8736751,33.4990628,42.5995312,18.9069806,5.2562937,9.9273175,7.6563138,31.9184823,3.8194444,0.4319761,0.4661987,6.6584704,3.759206,55.8502712,23.1986249,28.5256417,66.1489067,32.7169408,42.5295842,19.0088762,5.6459547,9.8831616,7.7636772,31.1209426,1.6666667,0.4193244,0.4956622,6.6650791,3.8187779,55.6532025,23.7727834,28.0747389,65.6338626,31.9536244,42.076633,17.999053,5.6054851,9.8492044,7.0415919,31.1904815,2.2435897,0.3928474,0.4552809,6.6439885,3.6961418,56.0317508,22.041805,27.8478173,65.038263,31.2246623,41.8054856,17.7622666,5.6956301,9.5859629,7.5293091,31.8636389,2.0588235 +1775,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5115614,0.5223013,7.9490158,5.4975746,50.5375026,14.1795971,26.7166705,69.5914613,32.156109,46.6527534,15.1488531,5.0578145,11.404361,10.6244419,31.1861464,5.2920558,0.5162179,0.530088,8.0339957,5.4956945,49.3077853,14.1806714,27.1519567,68.9222627,32.418988,47.0983837,15.1548432,5.157255,11.4813536,10.9540213,31.6258264,5.1419041,0.6120153,0.5976193,8.5357062,6.107149,48.3969564,14.1407497,26.376121,68.8919481,32.6292448,46.1251546,15.5118541,5.1786834,11.1557009,10.8777553,31.0222654,4.166715,0.5311851,0.521899,8.7350151,6.3132055,48.0429678,14.2940188,26.616559,69.1124313,33.3214936,46.1585076,15.5452405,5.0942842,11.2073593,10.838016,31.4641736,4.2125036,0.6109374,0.5963046,8.9446997,6.4915723,47.2565048,14.1515082,25.9497722,68.7265464,34.3691984,46.3767037,16.2640949,4.9836159,11.5859832,11.1797011,31.6598607,4.30715 +1776,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.978987,1.0039507,11.806165,8.1535865,27.6874218,21.3203248,37.3747651,68.2528055,40.9693633,51.163827,24.6169609,3.9923382,10.8806738,10.4558219,35.0741789,7.7586648,1.0963711,1.1211258,12.0724235,8.3951066,27.4347961,21.2608797,37.1081018,68.8397379,40.6240872,50.6153134,24.2748338,4.028719,10.6640345,10.3672145,35.2259764,10.1745053,1.0825378,1.111566,11.8987194,8.4748299,26.7133198,21.3136,37.075223,69.0531632,40.8510134,50.6680335,24.6151599,4.0517008,10.5540078,10.0445047,34.5469529,9.7059715,0.9233063,0.9619888,12.2303374,8.8680438,26.6321733,21.0190233,36.7900231,68.4882516,41.1503319,49.5553845,24.8278916,4.0304064,10.8012972,10.2612829,35.1005842,8.9674756,0.9708725,1.0091188,12.5726373,9.1424773,26.6401583,20.5442752,36.7140949,68.1507985,41.7781121,48.9189488,24.2247631,3.7126601,10.9066721,10.0107198,34.3783382,9.4086894 +1777,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.3882065,0.4339572,9.2782623,6.6619978,72.8426698,11.8032058,28.2950868,68.8144613,30.7936255,44.9534961,14.4290948,5.022016,11.5495156,10.8095063,31.2501401,3.880185,0.5634137,0.5634137,9.181296,6.5872138,72.559432,11.8315211,27.2334185,68.427888,30.7045275,44.3340187,14.982126,4.9259482,11.5346523,10.1686498,33.5160226,4.0187998,0.5422784,0.5256343,9.0548156,6.6119214,72.7540253,11.3361928,26.9889453,68.1527964,30.5126532,44.6077251,15.3497029,4.9920161,11.3471467,9.8029015,33.4552087,4.8245614,0.5281409,0.4941768,8.365085,6.2535703,71.7303714,11.5775683,26.1778507,68.0835496,31.4293784,45.1815165,15.3492161,5.2788421,11.7864158,9.3551372,34.5581059,4.0539737,0.5052364,0.4730118,8.6544426,6.4972931,70.7917467,12.226659,25.9632256,67.5142118,31.2018487,44.4018111,14.3554334,5.315885,11.0389037,9.2499519,33.4848847,3.9129312 +1778,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.80299,0.8238361,10.7263749,6.7357704,49.0901329,11.0240157,32.774245,67.2645582,42.5786625,45.2596911,24.3944792,4.6690741,9.7557594,8.361134,37.4642896,5.3345312,0.7718421,0.7887523,10.8289104,6.6116571,49.3549087,10.7914582,32.9103421,67.6248757,42.5002597,44.7631918,24.5191289,4.666523,9.9382678,8.3959625,38.3975794,5.9563688,0.766597,0.7774113,10.9675781,6.6330892,49.2378317,10.603526,32.845577,66.6860904,42.0155641,44.2731553,24.4086884,4.6373596,10.2584886,8.7882805,38.2701394,6.2403621,0.7904422,0.7988485,11.3860959,7.0383935,49.9253539,10.6542199,32.7740569,66.5331397,41.4559162,43.7933432,23.7916349,4.6581537,10.3118016,8.6213678,38.684888,5.66714,0.7833402,0.7796799,11.2000251,6.7920186,49.9824517,10.2784063,32.9665646,66.2811921,41.276464,43.5788513,23.6714491,4.6957434,10.5072787,8.5859899,39.6946666,5.9023018 +1779,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8222627,1.8222627,34.5982143,30.5803571,66.0741886,6.2776957,35.3073463,64.0929535,28.1109445,38.155922,15.6671664,6.5217391,17.1130952,12.6488095,36.8656716,16.8571429,2.0020013,2.0020013,33.8541667,29.985119,65.9754224,6.2592047,36.002994,64.8952096,27.3203593,39.2964072,16.5419162,6.0628743,16.4723032,10.3498542,36.6959064,14.8255814,2.0544413,2.0544413,34.4544096,29.9701046,65.4503106,6.0089021,38.5951662,64.7280967,27.265861,40.407855,16.9939577,6.7220544,16.3716814,11.6519174,35.0591716,15.0306748,1.9287136,1.9287136,34.2022117,29.3048973,66.0862355,6.0629921,39.9839744,65.4647436,27.8044872,41.1057692,17.0673077,6.9711538,18.2539683,12.2222222,35.3035144,16.0377358,1.8425566,1.8425566,34.3014129,29.4348509,66.8039539,4.9528302,39.28,64.72,27.12,42.96,16.72,6.32,16.0550459,11.1620795,33.4876543,14.3312102 +1780,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6105687,0.6158105,8.950765,5.9748456,37.3939701,21.0441867,30.7936725,67.7336815,38.5909156,48.7908821,22.5003854,6.7508892,9.1033821,7.8577968,33.0717103,3.4855752,0.6215122,0.641219,9.1480475,6.1530135,37.4960305,21.0432824,30.7674233,67.4001587,38.5043093,48.4025013,22.4823776,6.9616284,8.88239,7.6887557,32.9556028,3.0562332,0.6406236,0.6672712,9.401911,6.5113821,37.4214368,20.8709658,30.9512649,67.3572377,38.4931733,47.6489674,22.4161939,6.7116695,9.4687919,7.855216,33.167127,3.7439586,0.655647,0.6692242,9.5380608,6.4840418,37.1813108,21.0796342,31.3072393,67.1557263,38.6663566,47.1277654,22.3179498,6.66822,9.6376653,7.7094531,33.1190201,3.6470336,0.6849753,0.6913312,9.6145063,6.7157375,36.7071912,21.1095975,31.66179,67.1863057,38.6499768,47.20472,22.4619739,6.5658109,9.6986574,7.6010576,32.9652532,4.7126185 +1781,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8347727,0.8291277,9.3736627,6.5197222,42.7863543,15.6976,27.1268606,67.9188449,40.9853048,43.7100046,21.1858191,5.2223414,10.0469539,8.367648,32.2161479,12.7615063,0.8574418,0.8039053,9.8448682,6.7243496,42.2848739,16.0851951,26.9195789,67.6597872,41.6337919,43.9571867,21.5379359,5.2050078,9.7873693,7.8376982,31.0802739,10.8695652,0.7942412,0.7345973,9.7747071,6.6067966,41.7377051,15.7147417,27.1740423,67.3523041,40.9720102,44.0438846,21.4969232,5.204292,10.2655594,8.1999102,31.4957859,10.3238866,0.7536819,0.6771033,9.9310961,6.8752752,41.699183,15.8172248,26.9822798,67.1378354,40.5551336,43.989044,20.8718974,5.1508656,9.9477789,8.1780965,31.5369439,9.6837945,0.7253632,0.6694919,9.7174681,6.4082193,41.4270416,15.3281763,26.7833013,67.0789177,40.5279219,43.9680601,21.5780077,5.3788602,9.6147653,8.3613106,31.520218,8.1932773 +1782,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.1982122,2.1592473,29.9995177,23.0263722,48.1861514,14.6752818,37.1271326,65.2016215,32.910642,47.1988902,24.9247891,5.431372,14.9312279,11.5267667,33.4132893,14.0814947,2.1138071,2.0144865,30.2735469,23.0348791,48.778915,14.1645714,37.9167804,64.8774286,33.7988191,47.6717082,24.5340828,5.2205391,14.7172228,11.8523011,32.9304495,14.1998637,1.9229434,1.8693499,29.5663724,22.778774,47.8007789,14.5107672,38.9170525,65.4114116,34.2012134,48.3966438,25.2562516,5.5678696,15.0364802,11.8551961,33.799816,14.4382051,1.8834169,1.8599515,29.4822755,22.6107466,47.8889806,14.2494735,39.7715767,65.357028,34.1563575,47.8279101,25.9044818,5.2505549,14.7431773,11.8912928,33.5131911,15.261915,1.7387803,1.7614614,29.7773775,23.2601368,47.7530878,14.0502466,39.9761019,65.188614,34.3619688,47.3942191,25.8407618,5.4902815,14.5528268,12.2529158,33.3827758,15.8687088 +1783,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0057094,1.9450993,28.6780608,23.7562838,42.4841594,18.4893105,41.8070939,65.0928113,37.5017796,48.6287016,24.125601,3.7521636,12.2234007,9.5658396,32.3022196,19.2818591,2.0019993,1.9413286,28.5486828,23.9506751,42.6712479,18.0383667,42.8478381,65.8033335,37.4337475,48.573405,24.6132482,3.6849913,12.2862029,9.0681995,32.1577071,20.0976964,1.8822465,1.8320577,28.2025469,23.955157,42.7655357,17.6065691,42.9314262,66.2305335,37.5624333,48.2613927,25.2858263,3.6689146,12.4468911,9.3084307,32.8674155,20.2180639,1.8888304,1.8378731,28.0492749,23.841006,43.0284348,18.2052048,42.299923,66.3849819,36.3816158,48.0754812,25.1935857,3.9778623,12.619179,8.6019654,32.7810214,20.0358811,1.9630776,1.9743894,28.0281436,24.0012543,43.2102943,18.5510138,41.7030022,66.939572,36.6215171,48.2017184,25.6558848,3.903628,13.3749563,8.9418206,33.1014541,22.5384744 +1784,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23619,1.2549438,17.4660608,13.7858065,33.2020788,16.2865543,34.1728447,67.6568016,39.1821917,46.5240829,23.569657,3.7189003,11.6689365,9.7859518,33.8341071,16.2100148,1.1592442,1.1995016,17.9750262,14.1156811,33.515164,16.1680504,32.8290728,67.5933411,38.4421494,47.2127285,23.6433708,3.7069595,11.69683,10.1698188,33.5023333,16.7391015,1.263346,1.3183718,19.060023,14.7052483,33.0294042,17.4109541,33.638519,67.5428918,38.1860109,48.4576468,24.1248558,4.0919031,11.9801326,10.898735,34.1201586,17.7082917,1.2827378,1.3406709,20.1407237,15.612287,32.394514,16.7883435,33.7193333,67.2072948,37.89522,48.6331746,23.743498,4.0716226,12.6034513,11.2622409,35.0728065,17.8300505,1.1337399,1.21413,20.1376524,15.3738071,32.304665,17.0851407,33.4626298,67.2948137,37.8937769,48.2511084,23.2241507,3.8533344,12.5693465,10.9169846,35.1242012,17.2938922 +1785,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.676332,1.7213371,33.626508,29.8328642,63.6940884,14.462174,34.2038368,61.7548277,31.7066916,41.1802289,17.019295,2.5886968,16.6744282,14.313733,43.0849775,16.191677,1.6331452,1.5969796,33.5398335,29.8230213,64.1333208,14.3119163,34.8996988,62.1181377,31.33492,41.3374646,17.0406539,2.5279112,16.5110508,13.5710317,43.1355727,15.8097171,1.5108595,1.4658959,32.743876,29.0877485,65.4122141,14.0490961,34.626313,62.0669009,30.8341588,40.7011254,16.5123892,2.3378724,16.9627665,12.3824108,43.8385923,17.546114,1.483146,1.4435224,31.967951,28.6428541,66.4983699,13.9394534,34.6886689,62.7758434,29.7147186,40.6942814,16.414034,2.3027514,17.7651281,13.8514,44.2387016,17.4930599,1.5448979,1.5391802,32.910467,29.3209046,67.3681043,13.5205186,34.598231,62.7686427,29.0320726,40.621807,16.0813998,2.4354462,17.5334264,13.8789863,41.7540232,17.9886227 +1786,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6173159,2.6322961,40.9480383,36.0180417,73.1119916,12.2053496,35.927119,60.6931338,25.5122638,37.4192204,17.4093911,1.815776,16.0960993,13.1087809,43.1228148,26.2946067,2.4052728,2.4407979,40.4312728,35.3032204,73.4019004,11.6328867,35.5748252,60.4012328,25.1545013,37.3154009,17.1347192,1.9491083,16.6709771,12.5608545,44.1118782,27.0798924,2.5868637,2.6344906,39.3893355,34.0899417,74.5321639,11.4866307,34.5465533,59.8700017,24.1885933,36.8634485,16.5062425,1.9663764,17.2127922,13.1331951,43.8707369,26.7912205,2.4555661,2.5152513,38.7605794,33.4325227,75.7811164,11.5887237,34.9396595,60.1683688,24.0651051,37.0253465,16.2003159,1.9708899,17.1204773,12.9554537,45.5223781,26.4349461,2.5939605,2.6550445,38.9949762,33.7012449,75.7640795,11.93455,34.3571718,60.9006755,23.884606,36.5683581,15.8500852,2.1092514,16.9500811,12.952961,43.7325389,24.8832465 +1787,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1592442,1.1995016,17.9750262,14.1156811,33.515164,16.1680504,32.8290728,67.5933411,38.4421494,47.2127285,23.6433708,3.7069595,11.69683,10.1698188,33.5023333,16.7391015,1.263346,1.3183718,19.060023,14.7052483,33.0294042,17.4109541,33.638519,67.5428918,38.1860109,48.4576468,24.1248558,4.0919031,11.9801326,10.898735,34.1201586,17.7082917,1.2827378,1.3406709,20.1407237,15.612287,32.394514,16.7883435,33.7193333,67.2072948,37.89522,48.6331746,23.743498,4.0716226,12.6034513,11.2622409,35.0728065,17.8300505,1.1337399,1.21413,20.1376524,15.3738071,32.304665,17.0851407,33.4626298,67.2948137,37.8937769,48.2511084,23.2241507,3.8533344,12.5693465,10.9169846,35.1242012,17.2938922,1.1516353,1.2252864,20.6962997,16.0033092,32.0597223,17.0488327,33.3704765,66.6689963,37.8179733,49.3411713,23.4358911,3.5666423,12.7404432,10.9167338,35.3569338,17.060931 +1788,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4550412,0.4762421,9.4957619,6.1498687,38.5783017,20.4929593,32.9122977,69.9952317,42.3975353,48.1649296,25.2383411,3.5510037,8.0059057,8.3251347,33.0525077,4.7445221,0.4988918,0.519071,9.4352322,6.1183411,37.9349722,20.6395291,32.3729498,69.8502701,41.8103617,47.9809428,25.340314,3.7885682,9.1296241,8.7761034,32.4904363,3.8194391,0.5303331,0.5297592,9.831466,6.114965,37.7930046,20.2807774,32.3477901,69.5794974,41.5024231,47.3718851,24.6824641,3.3508565,9.786655,9.3488413,31.8480245,4.3333276,0.534458,0.5454175,9.6581539,5.7866626,37.1192844,20.2931484,32.4884828,70.1927212,41.7469745,47.570174,24.821988,3.288648,9.5510584,8.7665225,30.0267046,4.391886,0.4709877,0.4904966,9.4767428,5.8333393,37.5604878,20.0353226,32.5020013,69.5331325,41.32084,47.306465,24.2019451,3.092579,9.4696922,8.5654049,29.3542926,5.4838639 +1789,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.764756,1.8226731,27.8217567,23.8817516,53.6877739,14.577189,40.1427503,65.4203377,33.8924784,47.0880198,20.847086,2.2846097,14.9696862,11.9956883,35.9899739,10.992652,1.8596572,1.9356585,28.6268515,24.2805275,55.1672286,13.8608758,40.5444364,65.1975181,33.9583091,47.4025218,21.3594094,2.3317028,15.8727385,12.1272673,36.3328291,12.850565,1.9259559,2.0037785,28.7689825,24.327659,55.963369,14.7888178,40.5527075,65.5238357,35.4721106,47.7001573,21.7331623,2.6810023,15.5493097,11.9136977,36.235491,13.2836161,1.9262248,1.9461346,28.7951051,24.328257,56.6874968,15.0265676,40.5187572,64.3833992,35.4972366,46.5874326,21.3107606,3.0326079,15.446678,12.4817023,36.5476369,15.8003086,1.8866753,1.9190777,29.0255802,24.3554393,56.4451577,15.6886739,40.0515929,64.3566382,35.8895451,46.1215613,21.0851729,2.8905307,14.7832076,11.6690982,36.7305326,15.0181394 +1790,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0963711,1.1211258,12.0724235,8.3951066,27.4347961,21.2608797,37.1081018,68.8397379,40.6240872,50.6153134,24.2748338,4.028719,10.6640345,10.3672145,35.2259764,10.1745053,1.0825378,1.111566,11.8987194,8.4748299,26.7133198,21.3136,37.075223,69.0531632,40.8510134,50.6680335,24.6151599,4.0517008,10.5540078,10.0445047,34.5469529,9.7059715,0.9233063,0.9619888,12.2303374,8.8680438,26.6321733,21.0190233,36.7900231,68.4882516,41.1503319,49.5553845,24.8278916,4.0304064,10.8012972,10.2612829,35.1005842,8.9674756,0.9708725,1.0091188,12.5726373,9.1424773,26.6401583,20.5442752,36.7140949,68.1507985,41.7781121,48.9189488,24.2247631,3.7126601,10.9066721,10.0107198,34.3783382,9.4086894,0.9024246,0.9654579,12.6185988,8.9590654,25.8133669,20.6491487,36.4357955,68.016177,42.1953101,48.7896405,23.9983166,3.6866947,10.782288,10.4759164,35.1315888,10.7143838 +1791,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7718421,0.7887523,10.8289104,6.6116571,49.3549087,10.7914582,32.9103421,67.6248757,42.5002597,44.7631918,24.5191289,4.666523,9.9382678,8.3959625,38.3975794,5.9563688,0.766597,0.7774113,10.9675781,6.6330892,49.2378317,10.603526,32.845577,66.6860904,42.0155641,44.2731553,24.4086884,4.6373596,10.2584886,8.7882805,38.2701394,6.2403621,0.7904422,0.7988485,11.3860959,7.0383935,49.9253539,10.6542199,32.7740569,66.5331397,41.4559162,43.7933432,23.7916349,4.6581537,10.3118016,8.6213678,38.684888,5.66714,0.7833402,0.7796799,11.2000251,6.7920186,49.9824517,10.2784063,32.9665646,66.2811921,41.276464,43.5788513,23.6714491,4.6957434,10.5072787,8.5859899,39.6946666,5.9023018,0.7863161,0.7748286,10.9129587,6.6470722,49.5235327,10.46487,33.1708631,66.5450604,41.6056234,43.6178993,23.797725,4.8325327,10.6610287,8.7581842,39.3459015,6.3019356 +1792,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0020013,2.0020013,33.8541667,29.985119,65.9754224,6.2592047,36.002994,64.8952096,27.3203593,39.2964072,16.5419162,6.0628743,16.4723032,10.3498542,36.6959064,14.8255814,2.0544413,2.0544413,34.4544096,29.9701046,65.4503106,6.0089021,38.5951662,64.7280967,27.265861,40.407855,16.9939577,6.7220544,16.3716814,11.6519174,35.0591716,15.0306748,1.9287136,1.9287136,34.2022117,29.3048973,66.0862355,6.0629921,39.9839744,65.4647436,27.8044872,41.1057692,17.0673077,6.9711538,18.2539683,12.2222222,35.3035144,16.0377358,1.8425566,1.8425566,34.3014129,29.4348509,66.8039539,4.9528302,39.28,64.72,27.12,42.96,16.72,6.32,16.0550459,11.1620795,33.4876543,14.3312102,1.9770086,2.1258181,33.6234177,28.8765823,68.616145,4.4811321,40.1442308,62.900641,26.5224359,43.6698718,15.9455128,5.6891026,16.6158537,13.2621951,33.7962963,12.654321 +1793,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4988918,0.519071,9.4352322,6.1183411,37.9349722,20.6395291,32.3729498,69.8502701,41.8103617,47.9809428,25.340314,3.7885682,9.1296241,8.7761034,32.4904363,3.8194391,0.5303331,0.5297592,9.831466,6.114965,37.7930046,20.2807774,32.3477901,69.5794974,41.5024231,47.3718851,24.6824641,3.3508565,9.786655,9.3488413,31.8480245,4.3333276,0.534458,0.5454175,9.6581539,5.7866626,37.1192844,20.2931484,32.4884828,70.1927212,41.7469745,47.570174,24.821988,3.288648,9.5510584,8.7665225,30.0267046,4.391886,0.4709877,0.4904966,9.4767428,5.8333393,37.5604878,20.0353226,32.5020013,69.5331325,41.32084,47.306465,24.2019451,3.092579,9.4696922,8.5654049,29.3542926,5.4838639,0.4762224,0.4833947,9.4385792,5.9344374,38.6900216,19.4698769,31.6085259,69.6317832,40.7170576,46.8798513,24.2829579,3.0426411,9.9666489,9.5655826,30.7983154,4.2763102 +1794,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8608693,0.8118991,11.3770827,7.9290816,21.029767,16.1406939,34.9258802,65.693154,37.2489705,49.1131924,21.3325771,5.0442846,11.2754347,9.3376082,27.4002622,4.4827555,0.8322521,0.7897919,12.5429391,8.4972427,22.3254246,16.5625961,34.6537849,65.3624566,37.0820342,48.7098787,21.548804,4.5551195,11.7593742,9.6411923,27.5694029,3.6666642,0.8152707,0.7884164,12.5709133,8.5579485,22.9392738,16.6921741,34.9933695,64.2342494,36.2518173,47.8498638,21.5360876,4.5508356,11.4245204,9.2565379,27.0297727,4.0123407,0.8506907,0.8242427,12.7473881,8.7779399,22.8706655,16.4081903,35.4384922,64.5239286,35.7618783,47.3763658,21.7236241,4.7068541,11.3622269,8.9258005,27.1354202,4.4910126,0.807462,0.7813778,12.8432931,8.7761667,23.6196957,16.1253461,34.7473139,64.9638038,35.2242724,47.0561523,21.102446,4.5319786,11.3570654,8.8231989,27.1965874,4.9418576 +1795,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8322521,0.7897919,12.5429391,8.4972427,22.3254246,16.5625961,34.6537849,65.3624566,37.0820342,48.7098787,21.548804,4.5551195,11.7593742,9.6411923,27.5694029,3.6666642,0.8152707,0.7884164,12.5709133,8.5579485,22.9392738,16.6921741,34.9933695,64.2342494,36.2518173,47.8498638,21.5360876,4.5508356,11.4245204,9.2565379,27.0297727,4.0123407,0.8506907,0.8242427,12.7473881,8.7779399,22.8706655,16.4081903,35.4384922,64.5239286,35.7618783,47.3763658,21.7236241,4.7068541,11.3622269,8.9258005,27.1354202,4.4910126,0.807462,0.7813778,12.8432931,8.7761667,23.6196957,16.1253461,34.7473139,64.9638038,35.2242724,47.0561523,21.102446,4.5319786,11.3570654,8.8231989,27.1965874,4.9418576,0.7011359,0.6813089,13.0073393,9.0668352,24.5578999,16.1409422,34.772931,65.6013592,35.0552891,47.1862807,21.4166185,4.0067662,11.6196398,9.0324882,27.10181,6.149726 +1796,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5162179,0.530088,8.0339957,5.4956945,49.3077853,14.1806714,27.1519567,68.9222627,32.418988,47.0983837,15.1548432,5.157255,11.4813536,10.9540213,31.6258264,5.1419041,0.6120153,0.5976193,8.5357062,6.107149,48.3969564,14.1407497,26.376121,68.8919481,32.6292448,46.1251546,15.5118541,5.1786834,11.1557009,10.8777553,31.0222654,4.166715,0.5311851,0.521899,8.7350151,6.3132055,48.0429678,14.2940188,26.616559,69.1124313,33.3214936,46.1585076,15.5452405,5.0942842,11.2073593,10.838016,31.4641736,4.2125036,0.6109374,0.5963046,8.9446997,6.4915723,47.2565048,14.1515082,25.9497722,68.7265464,34.3691984,46.3767037,16.2640949,4.9836159,11.5859832,11.1797011,31.6598607,4.30715,0.4796013,0.4722429,8.8474409,6.4355497,46.6435834,13.9303383,26.2157626,69.0155457,34.9976877,46.258362,16.5604887,5.0401643,11.6743227,10.9553949,31.5752825,5.1724534 +1797,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6761669,0.6761669,10.524766,7.0994511,30.4765261,19.6249612,34.5327243,68.9806605,41.336389,48.8094803,24.7729688,4.6393054,12.5966846,11.3754918,37.6995144,4.2970294,0.6525085,0.6691382,10.4005582,6.7485192,29.9992625,20.2544752,34.6498774,68.8198431,40.739754,47.4770782,23.7087552,4.5913017,11.9208811,10.6375668,36.5994529,5.5972071,0.5524807,0.5685647,10.1820719,6.7115571,29.109648,20.5430489,34.7245701,69.0903945,40.079209,47.6181571,23.5463805,4.3249866,11.9031265,10.1403908,37.589352,5.5972071,0.6905362,0.682889,10.9025173,7.2764673,29.7860571,20.4678303,34.4910533,69.2836187,38.8397335,47.3901459,23.4699483,4.1606571,12.5703682,10.8591845,38.4345277,6.4396037,0.6089066,0.59257,10.7983196,7.22246,29.0368958,20.5225913,34.1239895,68.6860913,38.0226742,47.0728744,23.6300533,3.8599481,13.7503396,12.0747024,39.5465821,6.1596078 +1798,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3847733,0.401912,6.7172172,3.8944133,56.3223573,22.3569601,29.6810755,65.8736751,33.4990628,42.5995312,18.9069806,5.2562937,9.9273175,7.6563138,31.9184823,3.8194444,0.4319761,0.4661987,6.6584704,3.759206,55.8502712,23.1986249,28.5256417,66.1489067,32.7169408,42.5295842,19.0088762,5.6459547,9.8831616,7.7636772,31.1209426,1.6666667,0.4193244,0.4956622,6.6650791,3.8187779,55.6532025,23.7727834,28.0747389,65.6338626,31.9536244,42.076633,17.999053,5.6054851,9.8492044,7.0415919,31.1904815,2.2435897,0.3928474,0.4552809,6.6439885,3.6961418,56.0317508,22.041805,27.8478173,65.038263,31.2246623,41.8054856,17.7622666,5.6956301,9.5859629,7.5293091,31.8636389,2.0588235,0.3114145,0.3721619,6.712145,3.6751725,55.3215116,22.3547153,28.0921051,64.4517479,31.776308,41.2938548,18.1798214,5.7675412,8.826168,7.3225543,31.9909499,2.1472393 +1799,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7174007,0.7056034,8.506949,5.6838808,28.5252535,10.7360656,30.1581157,67.2014158,36.9588527,47.7509832,20.6708509,3.4924817,10.5271074,9.697954,30.5308451,2.6315814,0.6877153,0.6622786,8.368852,5.6502594,28.8798611,10.60967,30.020932,67.2723218,36.9148964,47.4427783,20.4501092,3.7012137,10.785724,9.6797176,29.9056032,3.1437154,0.6579599,0.6387548,8.5738329,5.748971,29.1673558,10.5950529,29.6758576,67.3774844,37.2130812,47.3247309,20.789373,3.6367902,10.8008388,9.926029,30.3608413,3.3762069,0.6293949,0.6214668,8.4036998,5.6157393,29.03201,10.4868598,29.5417639,67.1713096,36.9251882,47.4983515,21.1220665,3.4893165,10.4147971,9.3825211,29.8675895,3.4768223,0.6564141,0.6421825,8.6512001,5.80531,28.5884861,10.4439331,30.3125091,66.7306528,36.2102414,47.3281513,21.3042049,3.6880098,10.4270601,9.060794,29.9501528,5.140159 +1800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7008715,0.6817154,8.8235383,5.7145447,24.4771438,16.3929402,33.67386,69.6709195,40.0922328,50.2169236,22.4642535,4.2578238,10.534755,10.5762304,31.1354742,5.2158198,0.6917989,0.6748406,8.9174831,5.8788049,24.5523645,16.1692293,33.795753,69.3673599,39.8215459,50.3003719,22.1858652,4.3028847,10.7802189,10.8916043,31.7335044,4.1218549,0.7000552,0.6833251,9.1753393,6.0231813,24.2767917,16.2247686,33.6446337,69.4274552,39.7364462,50.122147,22.5257109,4.3724971,10.4587494,10.7351379,31.4616751,4.6874919,0.7373418,0.7206873,9.4084771,6.2128257,24.5288056,16.119838,33.6899982,68.5368718,39.5181187,49.9390762,22.7296131,4.3232459,10.1053002,10.6473537,31.6684024,5.2364812,0.7032214,0.6861803,9.6428666,6.3870495,24.0364421,16.0043504,33.4607627,68.5949766,39.746868,49.4478317,23.250095,4.3747847,9.9174948,10.763888,31.8683311,5.5932165 +1801,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6120153,0.5976193,8.5357062,6.107149,48.3969564,14.1407497,26.376121,68.8919481,32.6292448,46.1251546,15.5118541,5.1786834,11.1557009,10.8777553,31.0222654,4.166715,0.5311851,0.521899,8.7350151,6.3132055,48.0429678,14.2940188,26.616559,69.1124313,33.3214936,46.1585076,15.5452405,5.0942842,11.2073593,10.838016,31.4641736,4.2125036,0.6109374,0.5963046,8.9446997,6.4915723,47.2565048,14.1515082,25.9497722,68.7265464,34.3691984,46.3767037,16.2640949,4.9836159,11.5859832,11.1797011,31.6598607,4.30715,0.4796013,0.4722429,8.8474409,6.4355497,46.6435834,13.9303383,26.2157626,69.0155457,34.9976877,46.258362,16.5604887,5.0401643,11.6743227,10.9553949,31.5752825,5.1724534,0.5240459,0.5277195,9.3192842,6.610303,45.9746667,14.0139158,26.7869357,68.6364161,35.0908653,45.8953274,16.643087,5.3904593,11.9331373,10.5733535,31.5922044,5.6201986 +1802,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7115001,0.738493,8.2896561,5.0613136,39.6050713,20.0433856,29.8463481,67.9756142,36.304832,46.3196305,20.7326061,4.443418,10.7358237,9.6060161,32.0848737,4.7034596,0.7619666,0.7884443,8.5589698,5.4201068,39.038372,19.7565772,30.5548449,68.1431463,36.115946,45.9312336,20.7873147,4.4634729,10.5098925,9.618645,30.8997587,4.738778,0.7404136,0.7562743,8.8416938,5.6568962,39.1649479,19.1417966,30.9340409,68.0199171,35.6399864,45.2587331,19.9265967,4.4623779,10.0781799,9.2774118,31.8294658,5.1702526,0.7803585,0.8135959,9.2800108,5.8397529,38.8394383,18.4899124,30.4875103,68.2522221,35.8753261,44.8622888,19.9610953,4.6561551,10.2107766,9.1538796,32.4024886,4.8741473,0.6892175,0.7226213,9.5219251,5.9468145,39.347915,18.0436868,30.8122508,68.0884343,35.4875243,44.3848015,19.5120171,4.8132588,9.6923639,9.0156497,32.4775343,4.7162488 +1803,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8279856,0.8806077,10.6805109,7.4039675,27.3690613,13.973914,30.6466195,70.2512415,40.5561838,50.0347448,21.5977512,7.127787,11.1551955,9.5394467,31.7085224,6.684492,0.88067,0.9417422,10.6424601,7.3452636,27.3415566,13.8883744,30.3197221,70.5417815,40.6005628,50.2689705,21.1894531,7.1713443,11.6503907,8.93258,31.4444395,7.4585635,0.7703122,0.8195434,10.6831834,7.2191915,27.1454185,14.2990137,30.1066772,69.9993819,40.4790636,50.1764596,21.7865877,7.4152913,10.9463622,8.8298299,31.0318857,6.0344828,0.8383,0.8873697,10.3579964,7.0036393,27.1685613,14.6963142,29.5743834,70.1087759,41.0820531,49.7008818,21.6922633,7.6171714,10.7387084,9.0015544,32.279587,5.3977273,0.7023897,0.7185981,10.8096881,7.280673,25.8053881,14.4123959,29.5847778,69.4725451,41.6519525,49.5302916,22.0539545,7.0600914,9.9136146,9.003045,31.6489488,4.1906441 +1804,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2572005,1.2234153,21.6459423,16.9232134,40.5934808,16.1573585,35.4765753,67.887155,33.3395221,44.7264208,21.1106616,2.7505073,11.6238278,8.6405977,36.6908596,17.5805781,1.3601795,1.3283331,22.6037745,17.7635771,40.9738504,16.448975,35.9384464,67.3989876,32.7001634,44.3323174,21.3647288,2.8254865,11.872037,8.7279808,37.1722045,19.3749919,1.426348,1.3961855,22.9068652,18.188516,41.3351065,16.4492004,36.3106311,66.6087802,32.9199454,44.5365846,21.3970022,2.8728946,12.8609288,9.2477368,38.473645,20.8646381,1.5286575,1.5286575,23.6773683,18.9199452,41.247332,16.6450474,35.8661623,66.5534699,33.284947,44.7076668,21.4422842,2.9526182,12.6951341,9.4126046,37.8409934,22.2825845,1.4073717,1.4073717,24.7495197,20.16448,42.4299255,17.1650651,35.8480274,66.5938737,33.3724001,45.0483423,21.5287738,2.9274698,13.2015811,10.0091864,38.160692,21.9465183 +1805,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7179778,1.7051182,29.8290716,25.0924992,42.7270668,14.8108159,36.8070057,63.8680543,36.2665545,44.7839648,23.0052764,2.8441047,15.5556635,11.4258925,39.442589,20.8333475,1.6979523,1.6853302,29.4830574,25.3762303,43.4437605,14.9802111,36.5135976,64.0833007,37.2389597,44.3151028,23.4210443,2.8594491,16.0520863,11.4005481,38.9494259,19.8571483,1.6499715,1.6230423,28.9531891,25.063252,44.171896,14.9542998,36.964161,64.4753573,37.7958924,44.8656462,23.1765762,2.8630801,16.3688468,11.5409055,38.3407839,19.4370018,1.7190093,1.6853306,29.0580274,25.2417839,44.8579891,14.86846,36.8024698,65.4021886,38.5032376,44.8968322,22.6610046,2.6613655,16.8499312,11.6331667,38.7442748,19.7643821,1.7736339,1.7688965,29.4102824,25.3896455,45.3819574,14.4723678,37.1461636,64.9338634,38.3569597,44.3177534,21.7475129,2.4681298,17.2686834,12.2144454,39.101311,19.4162281 +1806,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6215122,0.641219,9.1480475,6.1530135,37.4960305,21.0432824,30.7674233,67.4001587,38.5043093,48.4025013,22.4823776,6.9616284,8.88239,7.6887557,32.9556028,3.0562332,0.6406236,0.6672712,9.401911,6.5113821,37.4214368,20.8709658,30.9512649,67.3572377,38.4931733,47.6489674,22.4161939,6.7116695,9.4687919,7.855216,33.167127,3.7439586,0.655647,0.6692242,9.5380608,6.4840418,37.1813108,21.0796342,31.3072393,67.1557263,38.6663566,47.1277654,22.3179498,6.66822,9.6376653,7.7094531,33.1190201,3.6470336,0.6849753,0.6913312,9.6145063,6.7157375,36.7071912,21.1095975,31.66179,67.1863057,38.6499768,47.20472,22.4619739,6.5658109,9.6986574,7.6010576,32.9652532,4.7126185,0.6729588,0.6840682,9.4645758,6.551227,36.727411,21.0081374,31.9412334,67.0553991,38.3800392,46.4872025,22.490988,6.4931833,10.1637897,7.8692865,32.6118962,5.5555329 +1807,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3601795,1.3283331,22.6037745,17.7635771,40.9738504,16.448975,35.9384464,67.3989876,32.7001634,44.3323174,21.3647288,2.8254865,11.872037,8.7279808,37.1722045,19.3749919,1.426348,1.3961855,22.9068652,18.188516,41.3351065,16.4492004,36.3106311,66.6087802,32.9199454,44.5365846,21.3970022,2.8728946,12.8609288,9.2477368,38.473645,20.8646381,1.5286575,1.5286575,23.6773683,18.9199452,41.247332,16.6450474,35.8661623,66.5534699,33.284947,44.7076668,21.4422842,2.9526182,12.6951341,9.4126046,37.8409934,22.2825845,1.4073717,1.4073717,24.7495197,20.16448,42.4299255,17.1650651,35.8480274,66.5938737,33.3724001,45.0483423,21.5287738,2.9274698,13.2015811,10.0091864,38.160692,21.9465183,1.4510721,1.4510721,26.3298034,21.6149523,43.3739924,17.3557599,36.8376983,65.9591118,32.6915937,45.3273005,20.7139386,2.8464109,13.7214193,10.5436015,38.2699357,23.888843 +1808,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8152707,0.7884164,12.5709133,8.5579485,22.9392738,16.6921741,34.9933695,64.2342494,36.2518173,47.8498638,21.5360876,4.5508356,11.4245204,9.2565379,27.0297727,4.0123407,0.8506907,0.8242427,12.7473881,8.7779399,22.8706655,16.4081903,35.4384922,64.5239286,35.7618783,47.3763658,21.7236241,4.7068541,11.3622269,8.9258005,27.1354202,4.4910126,0.807462,0.7813778,12.8432931,8.7761667,23.6196957,16.1253461,34.7473139,64.9638038,35.2242724,47.0561523,21.102446,4.5319786,11.3570654,8.8231989,27.1965874,4.9418576,0.7011359,0.6813089,13.0073393,9.0668352,24.5578999,16.1409422,34.772931,65.6013592,35.0552891,47.1862807,21.4166185,4.0067662,11.6196398,9.0324882,27.10181,6.149726,0.6832925,0.6927462,13.4636055,9.5605122,25.6488072,16.5197632,34.7824039,65.8396627,34.2517631,47.1486932,21.0129159,4.314314,11.5506995,9.1515587,27.5777546,6.8657439 +1809,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6979523,1.6853302,29.4830574,25.3762303,43.4437605,14.9802111,36.5135976,64.0833007,37.2389597,44.3151028,23.4210443,2.8594491,16.0520863,11.4005481,38.9494259,19.8571483,1.6499715,1.6230423,28.9531891,25.063252,44.171896,14.9542998,36.964161,64.4753573,37.7958924,44.8656462,23.1765762,2.8630801,16.3688468,11.5409055,38.3407839,19.4370018,1.7190093,1.6853306,29.0580274,25.2417839,44.8579891,14.86846,36.8024698,65.4021886,38.5032376,44.8968322,22.6610046,2.6613655,16.8499312,11.6331667,38.7442748,19.7643821,1.7736339,1.7688965,29.4102824,25.3896455,45.3819574,14.4723678,37.1461636,64.9338634,38.3569597,44.3177534,21.7475129,2.4681298,17.2686834,12.2144454,39.101311,19.4162281,1.6756001,1.6993682,29.7412688,25.9187087,45.9851167,14.3024701,37.1000967,64.6982885,37.8442578,44.2007645,21.7825473,2.5890943,17.2929866,12.7788235,38.8389947,20.5097087 +1810,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.263346,1.3183718,19.060023,14.7052483,33.0294042,17.4109541,33.638519,67.5428918,38.1860109,48.4576468,24.1248558,4.0919031,11.9801326,10.898735,34.1201586,17.7082917,1.2827378,1.3406709,20.1407237,15.612287,32.394514,16.7883435,33.7193333,67.2072948,37.89522,48.6331746,23.743498,4.0716226,12.6034513,11.2622409,35.0728065,17.8300505,1.1337399,1.21413,20.1376524,15.3738071,32.304665,17.0851407,33.4626298,67.2948137,37.8937769,48.2511084,23.2241507,3.8533344,12.5693465,10.9169846,35.1242012,17.2938922,1.1516353,1.2252864,20.6962997,16.0033092,32.0597223,17.0488327,33.3704765,66.6689963,37.8179733,49.3411713,23.4358911,3.5666423,12.7404432,10.9167338,35.3569338,17.060931,1.1918645,1.2425528,20.4799648,15.986563,32.2037189,16.9911086,33.1603572,66.8133565,37.8875095,49.3116511,23.5372567,3.3624608,12.4649203,10.3651268,34.741761,16.6037842 +1811,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.426348,1.3961855,22.9068652,18.188516,41.3351065,16.4492004,36.3106311,66.6087802,32.9199454,44.5365846,21.3970022,2.8728946,12.8609288,9.2477368,38.473645,20.8646381,1.5286575,1.5286575,23.6773683,18.9199452,41.247332,16.6450474,35.8661623,66.5534699,33.284947,44.7076668,21.4422842,2.9526182,12.6951341,9.4126046,37.8409934,22.2825845,1.4073717,1.4073717,24.7495197,20.16448,42.4299255,17.1650651,35.8480274,66.5938737,33.3724001,45.0483423,21.5287738,2.9274698,13.2015811,10.0091864,38.160692,21.9465183,1.4510721,1.4510721,26.3298034,21.6149523,43.3739924,17.3557599,36.8376983,65.9591118,32.6915937,45.3273005,20.7139386,2.8464109,13.7214193,10.5436015,38.2699357,23.888843,1.5733325,1.58791,27.7132696,23.1649833,44.1870646,17.652175,37.4026986,65.5233127,32.6236032,45.7575714,21.1476774,2.8121157,13.4905511,10.4000327,38.7115657,24.3859282 +1812,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6331452,1.5969796,33.5398335,29.8230213,64.1333208,14.3119163,34.8996988,62.1181377,31.33492,41.3374646,17.0406539,2.5279112,16.5110508,13.5710317,43.1355727,15.8097171,1.5108595,1.4658959,32.743876,29.0877485,65.4122141,14.0490961,34.626313,62.0669009,30.8341588,40.7011254,16.5123892,2.3378724,16.9627665,12.3824108,43.8385923,17.546114,1.483146,1.4435224,31.967951,28.6428541,66.4983699,13.9394534,34.6886689,62.7758434,29.7147186,40.6942814,16.414034,2.3027514,17.7651281,13.8514,44.2387016,17.4930599,1.5448979,1.5391802,32.910467,29.3209046,67.3681043,13.5205186,34.598231,62.7686427,29.0320726,40.621807,16.0813998,2.4354462,17.5334264,13.8789863,41.7540232,17.9886227,1.6021678,1.5965154,32.3235064,28.6730376,66.1299311,13.7526825,35.1060606,62.9482741,29.0300989,40.6859604,16.530946,2.4779046,17.5112211,14.0943958,41.3099722,18.5753723 +1813,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4419852,0.4145352,8.0227925,4.7890374,47.9179326,21.4796038,29.4126405,67.7861479,34.7439733,42.2138548,19.5331318,9.6837346,8.3985516,6.4876302,36.2667467,3.9823009,0.5011155,0.4742482,7.8605938,4.8430914,47.2692143,20.8818384,29.6301625,68.256532,35.6765479,41.9870865,19.5333154,9.5832104,8.6994689,6.7821507,37.3218497,4.7142871,0.5149114,0.4880369,8.0712812,4.9266262,46.6795071,20.56686,30.0761726,68.1658398,35.7017293,42.5871662,19.93847,9.6542627,8.500002,6.5781726,37.7014956,4.8611125,0.5044581,0.4774894,8.0137829,4.9880181,46.024414,20.0671355,30.2267297,67.9475896,35.2915189,42.3586584,19.6260294,9.2608974,8.8166394,6.8021217,37.6557894,4.8611125,0.441213,0.4188871,7.895507,4.8890848,45.439974,19.6204337,30.360222,68.1123972,35.1729093,42.6368884,19.4956742,9.0057634,8.5787114,6.5699677,37.055114,5.1388903 +1814,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6688192,1.6571579,26.6614354,21.177487,50.2743267,17.6193351,41.3140933,66.9666661,39.0490649,48.7125583,26.2221522,4.9406714,11.3085098,10.5173987,32.5387063,22.5923081,1.8039239,1.7202025,26.7014273,21.6160385,50.5587056,17.7273727,41.60776,66.3268004,38.720965,49.0203266,26.8679606,5.0284852,11.2614036,10.9322499,33.114148,22.7603278,1.7653662,1.6801714,25.3203338,20.1604496,50.5680358,17.6283204,42.7768204,65.3700447,39.3653596,49.7578121,27.8701032,4.7950167,12.2034957,11.2072385,33.8403097,21.4258489,1.6529182,1.5492683,24.7590814,19.2745534,50.1759357,17.2693032,44.0599994,66.8574906,40.2686119,50.6851073,27.8875136,5.1653102,12.106246,11.1262675,35.0468395,18.9630289,1.7661502,1.6429451,24.8894845,19.5134833,49.0792637,17.4470845,42.7141467,67.4427122,40.3961339,51.7270454,28.2749602,4.9041692,12.3046497,12.1221016,34.9581059,20.0702095 +1815,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.033286,1.0537991,14.934108,11.9638543,55.0494502,28.5130594,35.1152647,68.1742523,32.8126028,42.3520375,16.529576,3.7007066,14.8693606,8.3334695,34.9333598,7.9440366,1.0744813,1.0949001,15.2778958,12.3367626,57.6030407,28.4440709,35.6559594,68.1146638,32.0492728,40.5738928,16.1475888,3.8525095,15.1960248,9.3137295,35.264384,7.0248805,0.9691247,0.9377764,13.5752139,11.3829433,57.009892,27.7777317,35.3189847,68.2045496,33.3054527,39.6812879,17.7013972,4.2785773,14.5484281,10.2006893,34.0672453,8.0509498,1.3524255,1.3212725,14.177863,11.828924,59.0829885,27.0866664,34.7933778,68.0163242,33.3059225,40.0826952,18.4298,4.8760895,12.6261172,8.5858203,33.1629226,7.0830347,1.2258994,1.2258994,14.1247814,11.6984955,57.375303,27.3568039,35.7992903,67.2617129,33.9286914,40.9013875,20.3231838,5.0170623,13.8331844,9.49996,35.6416979,7.2646541 +1816,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6525085,0.6691382,10.4005582,6.7485192,29.9992625,20.2544752,34.6498774,68.8198431,40.739754,47.4770782,23.7087552,4.5913017,11.9208811,10.6375668,36.5994529,5.5972071,0.5524807,0.5685647,10.1820719,6.7115571,29.109648,20.5430489,34.7245701,69.0903945,40.079209,47.6181571,23.5463805,4.3249866,11.9031265,10.1403908,37.589352,5.5972071,0.6905362,0.682889,10.9025173,7.2764673,29.7860571,20.4678303,34.4910533,69.2836187,38.8397335,47.3901459,23.4699483,4.1606571,12.5703682,10.8591845,38.4345277,6.4396037,0.6089066,0.59257,10.7983196,7.22246,29.0368958,20.5225913,34.1239895,68.6860913,38.0226742,47.0728744,23.6300533,3.8599481,13.7503396,12.0747024,39.5465821,6.1596078,0.5488636,0.5414765,10.4977604,7.1629596,27.691582,21.1582574,33.9836151,69.3997401,38.0217488,47.6371142,23.7917478,3.9030223,13.3554265,11.7045559,37.5584492,5.9057118 +1817,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5311851,0.521899,8.7350151,6.3132055,48.0429678,14.2940188,26.616559,69.1124313,33.3214936,46.1585076,15.5452405,5.0942842,11.2073593,10.838016,31.4641736,4.2125036,0.6109374,0.5963046,8.9446997,6.4915723,47.2565048,14.1515082,25.9497722,68.7265464,34.3691984,46.3767037,16.2640949,4.9836159,11.5859832,11.1797011,31.6598607,4.30715,0.4796013,0.4722429,8.8474409,6.4355497,46.6435834,13.9303383,26.2157626,69.0155457,34.9976877,46.258362,16.5604887,5.0401643,11.6743227,10.9553949,31.5752825,5.1724534,0.5240459,0.5277195,9.3192842,6.610303,45.9746667,14.0139158,26.7869357,68.6364161,35.0908653,45.8953274,16.643087,5.3904593,11.9331373,10.5733535,31.5922044,5.6201986,0.5058748,0.5435931,9.5469523,6.8515748,45.5150647,13.713118,26.5138927,68.9960513,34.7340774,45.7402968,16.7050318,5.3074279,11.7920493,10.6160937,31.5472737,6.7568089 +1818,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0825378,1.111566,11.8987194,8.4748299,26.7133198,21.3136,37.075223,69.0531632,40.8510134,50.6680335,24.6151599,4.0517008,10.5540078,10.0445047,34.5469529,9.7059715,0.9233063,0.9619888,12.2303374,8.8680438,26.6321733,21.0190233,36.7900231,68.4882516,41.1503319,49.5553845,24.8278916,4.0304064,10.8012972,10.2612829,35.1005842,8.9674756,0.9708725,1.0091188,12.5726373,9.1424773,26.6401583,20.5442752,36.7140949,68.1507985,41.7781121,48.9189488,24.2247631,3.7126601,10.9066721,10.0107198,34.3783382,9.4086894,0.9024246,0.9654579,12.6185988,8.9590654,25.8133669,20.6491487,36.4357955,68.016177,42.1953101,48.7896405,23.9983166,3.6866947,10.782288,10.4759164,35.1315888,10.7143838,0.8580418,0.9048255,12.4337176,8.9729253,25.7019867,20.4113262,36.0246535,67.6336517,42.0548489,48.3137952,23.8782439,3.6438983,10.3803453,9.9574903,34.5092357,12.78419 +1819,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8574418,0.8039053,9.8448682,6.7243496,42.2848739,16.0851951,26.9195789,67.6597872,41.6337919,43.9571867,21.5379359,5.2050078,9.7873693,7.8376982,31.0802739,10.8695652,0.7942412,0.7345973,9.7747071,6.6067966,41.7377051,15.7147417,27.1740423,67.3523041,40.9720102,44.0438846,21.4969232,5.204292,10.2655594,8.1999102,31.4957859,10.3238866,0.7536819,0.6771033,9.9310961,6.8752752,41.699183,15.8172248,26.9822798,67.1378354,40.5551336,43.989044,20.8718974,5.1508656,9.9477789,8.1780965,31.5369439,9.6837945,0.7253632,0.6694919,9.7174681,6.4082193,41.4270416,15.3281763,26.7833013,67.0789177,40.5279219,43.9680601,21.5780077,5.3788602,9.6147653,8.3613106,31.520218,8.1932773,0.7177152,0.6536166,9.8441374,6.7883053,41.4070183,15.6141269,26.612698,66.9136748,40.166495,43.8463617,21.4509231,5.2466849,10.1981819,9.2291961,31.3295243,7.7083333 +1820,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3889316,1.4472188,20.5315375,16.001452,83.9304162,12.4355733,32.6542267,63.0583957,33.6645476,37.49327,17.0524229,4.3889599,14.7116368,11.6069958,40.0225256,12.3862281,1.3407002,1.3629977,20.617754,15.8133555,83.551606,12.8028196,32.8899819,63.2595686,33.4234526,36.0457974,16.696222,4.4006604,14.8951625,12.6875855,41.2833905,14.260667,1.3975905,1.4192287,20.3601437,15.7653063,83.1808187,13.533712,33.2407136,63.5376077,33.5878049,36.7464797,16.9497339,4.8234551,13.8816326,11.8754177,40.2588113,13.5173143,1.4519298,1.4474985,20.7703527,16.0886442,83.4900251,13.4273251,32.9503952,63.6406218,33.3047374,36.1889446,16.9273548,4.8743103,13.8218013,10.9488528,38.5232432,16.9893321,1.4152569,1.4287159,20.7527611,15.9557034,82.9286915,14.1028871,33.3686865,63.7081266,34.0805722,36.5753779,17.3168018,5.8312763,13.2166295,11.270658,37.6220734,18.1386755 +1821,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7619666,0.7884443,8.5589698,5.4201068,39.038372,19.7565772,30.5548449,68.1431463,36.115946,45.9312336,20.7873147,4.4634729,10.5098925,9.618645,30.8997587,4.738778,0.7404136,0.7562743,8.8416938,5.6568962,39.1649479,19.1417966,30.9340409,68.0199171,35.6399864,45.2587331,19.9265967,4.4623779,10.0781799,9.2774118,31.8294658,5.1702526,0.7803585,0.8135959,9.2800108,5.8397529,38.8394383,18.4899124,30.4875103,68.2522221,35.8753261,44.8622888,19.9610953,4.6561551,10.2107766,9.1538796,32.4024886,4.8741473,0.6892175,0.7226213,9.5219251,5.9468145,39.347915,18.0436868,30.8122508,68.0884343,35.4875243,44.3848015,19.5120171,4.8132588,9.6923639,9.0156497,32.4775343,4.7162488,0.6597291,0.6756393,9.5661812,6.0794085,39.0674294,18.0354477,31.52342,67.9287215,35.8052628,44.314605,20.0815401,4.9464488,9.3444468,8.7159655,32.324191,5.4139835 +1822,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4968433,0.49952,8.0351993,5.3519947,44.8240503,15.7616527,29.3648336,68.0829572,37.3984938,46.8532455,19.4460629,3.4367759,9.6521826,8.729691,30.1925522,4.702968,0.4551691,0.4716662,8.144727,5.4347862,44.5331331,16.0982035,28.8587517,68.6978656,37.7383799,46.7073883,19.9791413,3.3820022,9.0608161,8.644576,30.1812941,4.1666646,0.4897334,0.4788933,7.54468,4.8784097,44.1947067,16.1051453,29.5060099,68.5533746,37.8565102,46.3834114,19.5383633,3.3666594,9.6188348,8.6555653,31.074655,2.5943396,0.4996296,0.4633414,8.2212823,5.2521035,44.0898601,16.0774059,29.4690615,68.9494602,38.1107079,46.7805581,20.347362,3.4877175,9.3911552,8.7593294,31.2464036,4.5064378,0.538822,0.5045922,8.4873249,5.2930341,42.6743864,16.3177305,29.7107177,69.7585,38.4687053,47.545116,20.3158281,3.3837642,9.3733497,9.3152854,30.5659405,4.9356223 +1823,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6109374,0.5963046,8.9446997,6.4915723,47.2565048,14.1515082,25.9497722,68.7265464,34.3691984,46.3767037,16.2640949,4.9836159,11.5859832,11.1797011,31.6598607,4.30715,0.4796013,0.4722429,8.8474409,6.4355497,46.6435834,13.9303383,26.2157626,69.0155457,34.9976877,46.258362,16.5604887,5.0401643,11.6743227,10.9553949,31.5752825,5.1724534,0.5240459,0.5277195,9.3192842,6.610303,45.9746667,14.0139158,26.7869357,68.6364161,35.0908653,45.8953274,16.643087,5.3904593,11.9331373,10.5733535,31.5922044,5.6201986,0.5058748,0.5435931,9.5469523,6.8515748,45.5150647,13.713118,26.5138927,68.9960513,34.7340774,45.7402968,16.7050318,5.3074279,11.7920493,10.6160937,31.5472737,6.7568089,0.4733179,0.5105943,9.9842256,7.1155327,44.522767,14.3421889,26.2050304,69.7476032,34.4816383,45.3501525,16.6098032,5.5593889,11.9016433,10.4356611,30.498353,7.3123108 +1824,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3846056,0.3693988,7.0034163,4.6120059,44.982613,22.3275024,28.2512315,67.8571429,35.6403941,45.6896552,18.8916256,5.591133,10.2602603,7.8657315,33.8220425,4.1666667,0.2578036,0.2578036,7.0095694,4.3779904,45.031661,21.9761905,28.4507722,67.6399614,35.5453668,46.21139,18.6534749,6.1052124,9.4554455,8.3746283,33.65,3.5947712,0.2810861,0.2810861,6.8009479,4.2417062,44.36721,22.3344293,28.3500238,67.7873152,35.2169766,46.3757749,18.0495947,6.1278016,9.6449136,8.5014409,33.9980545,2.3972603,0.2781513,0.3005628,6.6328992,4.1244573,44.2251462,22.0181298,28.2094595,67.253861,34.8696911,47.0801158,18.5569498,6.0569498,9.2967245,8.7270974,33.8062622,3.1914894,0.3093575,0.3316491,6.6970715,4.1526644,43.5046049,22.8741093,27.4495677,67.0268972,35.0864553,46.8539866,18.8520653,5.8357349,9.6264368,8.78119,33.6734694,2.9220779 +1825,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6406236,0.6672712,9.401911,6.5113821,37.4214368,20.8709658,30.9512649,67.3572377,38.4931733,47.6489674,22.4161939,6.7116695,9.4687919,7.855216,33.167127,3.7439586,0.655647,0.6692242,9.5380608,6.4840418,37.1813108,21.0796342,31.3072393,67.1557263,38.6663566,47.1277654,22.3179498,6.66822,9.6376653,7.7094531,33.1190201,3.6470336,0.6849753,0.6913312,9.6145063,6.7157375,36.7071912,21.1095975,31.66179,67.1863057,38.6499768,47.20472,22.4619739,6.5658109,9.6986574,7.6010576,32.9652532,4.7126185,0.6729588,0.6840682,9.4645758,6.551227,36.727411,21.0081374,31.9412334,67.0553991,38.3800392,46.4872025,22.490988,6.4931833,10.1637897,7.8692865,32.6118962,5.5555329,0.6616899,0.6727335,9.8803357,6.7913123,36.7595479,20.7447717,32.5510238,66.8335534,38.2310843,45.7129227,22.1446512,6.057553,10.1121988,7.8043861,32.1894024,6.418895 +1826,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2827378,1.3406709,20.1407237,15.612287,32.394514,16.7883435,33.7193333,67.2072948,37.89522,48.6331746,23.743498,4.0716226,12.6034513,11.2622409,35.0728065,17.8300505,1.1337399,1.21413,20.1376524,15.3738071,32.304665,17.0851407,33.4626298,67.2948137,37.8937769,48.2511084,23.2241507,3.8533344,12.5693465,10.9169846,35.1242012,17.2938922,1.1516353,1.2252864,20.6962997,16.0033092,32.0597223,17.0488327,33.3704765,66.6689963,37.8179733,49.3411713,23.4358911,3.5666423,12.7404432,10.9167338,35.3569338,17.060931,1.1918645,1.2425528,20.4799648,15.986563,32.2037189,16.9911086,33.1603572,66.8133565,37.8875095,49.3116511,23.5372567,3.3624608,12.4649203,10.3651268,34.741761,16.6037842,1.089328,1.1418656,21.2462089,16.680774,32.3261388,16.8817792,33.5332549,66.80332,38.301934,49.6693361,23.6077478,3.3408462,12.6375953,10.4200745,34.5468243,15.431958 +1827,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4796013,0.4722429,8.8474409,6.4355497,46.6435834,13.9303383,26.2157626,69.0155457,34.9976877,46.258362,16.5604887,5.0401643,11.6743227,10.9553949,31.5752825,5.1724534,0.5240459,0.5277195,9.3192842,6.610303,45.9746667,14.0139158,26.7869357,68.6364161,35.0908653,45.8953274,16.643087,5.3904593,11.9331373,10.5733535,31.5922044,5.6201986,0.5058748,0.5435931,9.5469523,6.8515748,45.5150647,13.713118,26.5138927,68.9960513,34.7340774,45.7402968,16.7050318,5.3074279,11.7920493,10.6160937,31.5472737,6.7568089,0.4733179,0.5105943,9.9842256,7.1155327,44.522767,14.3421889,26.2050304,69.7476032,34.4816383,45.3501525,16.6098032,5.5593889,11.9016433,10.4356611,30.498353,7.3123108,0.4142121,0.4563743,9.7227682,6.8402628,43.7428788,14.7696117,26.9342976,69.6468127,35.053967,45.4453066,16.8353285,5.9042255,11.3171223,9.9231522,30.5399657,7.8000312 +1828,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5286575,1.5286575,23.6773683,18.9199452,41.247332,16.6450474,35.8661623,66.5534699,33.284947,44.7076668,21.4422842,2.9526182,12.6951341,9.4126046,37.8409934,22.2825845,1.4073717,1.4073717,24.7495197,20.16448,42.4299255,17.1650651,35.8480274,66.5938737,33.3724001,45.0483423,21.5287738,2.9274698,13.2015811,10.0091864,38.160692,21.9465183,1.4510721,1.4510721,26.3298034,21.6149523,43.3739924,17.3557599,36.8376983,65.9591118,32.6915937,45.3273005,20.7139386,2.8464109,13.7214193,10.5436015,38.2699357,23.888843,1.5733325,1.58791,27.7132696,23.1649833,44.1870646,17.652175,37.4026986,65.5233127,32.6236032,45.7575714,21.1476774,2.8121157,13.4905511,10.4000327,38.7115657,24.3859282,1.6798152,1.6941283,28.6306879,24.3445751,44.6852468,17.7348753,37.0696889,64.7481314,32.2545279,44.7548755,21.0301778,2.7903529,13.565608,10.9799426,39.4694094,25.3446098 +1829,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2578036,0.2578036,7.0095694,4.3779904,45.031661,21.9761905,28.4507722,67.6399614,35.5453668,46.21139,18.6534749,6.1052124,9.4554455,8.3746283,33.65,3.5947712,0.2810861,0.2810861,6.8009479,4.2417062,44.36721,22.3344293,28.3500238,67.7873152,35.2169766,46.3757749,18.0495947,6.1278016,9.6449136,8.5014409,33.9980545,2.3972603,0.2781513,0.3005628,6.6328992,4.1244573,44.2251462,22.0181298,28.2094595,67.253861,34.8696911,47.0801158,18.5569498,6.0569498,9.2967245,8.7270974,33.8062622,3.1914894,0.3093575,0.3316491,6.6970715,4.1526644,43.5046049,22.8741093,27.4495677,67.0268972,35.0864553,46.8539866,18.8520653,5.8357349,9.6264368,8.78119,33.6734694,2.9220779,0.3290088,0.3511229,6.5889629,4.0675547,42.1421663,23.089701,28.1369732,67.2653257,35.8955939,46.7193487,18.75,5.8668582,9.8771267,9.6972564,34.1170825,2.2727273 +1830,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.811997,0.8425954,11.0773433,8.0675945,58.1462224,8.8616119,26.2257509,65.2067029,32.6748626,39.3021346,16.749195,6.3187109,10.2016486,8.7900234,37.1917187,6.4533158,0.8393782,0.8620115,11.3435547,8.2797181,58.6644289,8.7534569,26.3213111,64.9712922,32.1939425,38.8048513,16.579745,6.2779595,10.3550237,8.868832,36.8064985,6.7964113,0.8046391,0.8139355,11.8465342,8.7229302,59.8824241,8.8664151,27.0066556,64.06026,31.5568289,38.7205631,16.3542366,6.2666313,10.4476052,8.555346,36.7195461,6.2089356,0.844518,0.8641032,12.3238227,8.9927332,60.7162596,8.7956876,27.6531398,63.4079218,31.0545804,38.5655451,16.1827613,6.1820857,10.3731098,8.3874079,36.407766,6.1363632,0.9261648,0.9512549,12.6574902,9.16118,61.6708608,8.5043953,27.9695238,62.9735524,30.705477,38.3795307,15.9452023,6.2009997,10.3360646,8.1508887,36.7255416,6.6560505 +1831,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2481921,1.2767432,15.6685241,10.9795765,39.9091391,15.6568036,33.5136501,70.1552268,39.2521183,48.3772244,25.0470485,4.492005,12.5337028,12.5112119,40.5148998,8.9743544,1.3043008,1.332987,15.5083945,11.2173534,39.3596628,15.393576,33.1202825,69.6732977,38.849441,47.4668389,24.5501952,4.5217861,11.1672988,11.1672896,39.7685222,8.7064633,1.4622669,1.5046178,16.3114793,11.7433456,39.7346005,15.7687931,32.9115817,68.9159427,37.0157058,45.7835932,24.9831603,4.5471876,10.9602067,10.1371534,40.1880816,12.3831718,1.503141,1.5342326,16.4020573,12.0251705,39.7948592,15.5641419,33.6669482,69.0415323,37.1449196,46.0686412,24.7432174,4.7364463,10.6277782,9.8246558,40.0749262,11.8534483,1.3561915,1.3663244,16.8711405,12.4603837,39.430355,15.5777851,32.7030759,68.7862487,37.0564091,45.8527942,24.579871,4.7796758,10.4757428,9.4148904,40.9148056,12.3949632 +1832,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4073717,1.4073717,24.7495197,20.16448,42.4299255,17.1650651,35.8480274,66.5938737,33.3724001,45.0483423,21.5287738,2.9274698,13.2015811,10.0091864,38.160692,21.9465183,1.4510721,1.4510721,26.3298034,21.6149523,43.3739924,17.3557599,36.8376983,65.9591118,32.6915937,45.3273005,20.7139386,2.8464109,13.7214193,10.5436015,38.2699357,23.888843,1.5733325,1.58791,27.7132696,23.1649833,44.1870646,17.652175,37.4026986,65.5233127,32.6236032,45.7575714,21.1476774,2.8121157,13.4905511,10.4000327,38.7115657,24.3859282,1.6798152,1.6941283,28.6306879,24.3445751,44.6852468,17.7348753,37.0696889,64.7481314,32.2545279,44.7548755,21.0301778,2.7903529,13.565608,10.9799426,39.4694094,25.3446098,1.6469379,1.6674015,29.7892052,25.6708896,45.72082,17.7768286,36.9562334,64.9372239,32.3188336,45.6627642,21.4040527,2.8866011,13.6052626,11.3128522,39.1516663,25.3223775 +1833,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9233063,0.9619888,12.2303374,8.8680438,26.6321733,21.0190233,36.7900231,68.4882516,41.1503319,49.5553845,24.8278916,4.0304064,10.8012972,10.2612829,35.1005842,8.9674756,0.9708725,1.0091188,12.5726373,9.1424773,26.6401583,20.5442752,36.7140949,68.1507985,41.7781121,48.9189488,24.2247631,3.7126601,10.9066721,10.0107198,34.3783382,9.4086894,0.9024246,0.9654579,12.6185988,8.9590654,25.8133669,20.6491487,36.4357955,68.016177,42.1953101,48.7896405,23.9983166,3.6866947,10.782288,10.4759164,35.1315888,10.7143838,0.8580418,0.9048255,12.4337176,8.9729253,25.7019867,20.4113262,36.0246535,67.6336517,42.0548489,48.3137952,23.8782439,3.6438983,10.3803453,9.9574903,34.5092357,12.78419,0.8844636,0.9222378,12.4781585,8.8963296,26.2368026,20.442375,35.9063243,67.557519,42.0274544,48.6861655,23.7533564,3.5980923,10.1681103,9.9563367,34.7244528,12.2024405 +1834,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8393782,0.8620115,11.3435547,8.2797181,58.6644289,8.7534569,26.3213111,64.9712922,32.1939425,38.8048513,16.579745,6.2779595,10.3550237,8.868832,36.8064985,6.7964113,0.8046391,0.8139355,11.8465342,8.7229302,59.8824241,8.8664151,27.0066556,64.06026,31.5568289,38.7205631,16.3542366,6.2666313,10.4476052,8.555346,36.7195461,6.2089356,0.844518,0.8641032,12.3238227,8.9927332,60.7162596,8.7956876,27.6531398,63.4079218,31.0545804,38.5655451,16.1827613,6.1820857,10.3731098,8.3874079,36.407766,6.1363632,0.9261648,0.9512549,12.6574902,9.16118,61.6708608,8.5043953,27.9695238,62.9735524,30.705477,38.3795307,15.9452023,6.2009997,10.3360646,8.1508887,36.7255416,6.6560505,0.9293416,0.9426723,13.0005322,9.4839203,62.3395717,8.4357765,27.894967,62.7668115,30.2919994,38.3444898,15.746743,6.1040734,10.059453,8.03879,36.6699862,6.8690091 +1835,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5011155,0.4742482,7.8605938,4.8430914,47.2692143,20.8818384,29.6301625,68.256532,35.6765479,41.9870865,19.5333154,9.5832104,8.6994689,6.7821507,37.3218497,4.7142871,0.5149114,0.4880369,8.0712812,4.9266262,46.6795071,20.56686,30.0761726,68.1658398,35.7017293,42.5871662,19.93847,9.6542627,8.500002,6.5781726,37.7014956,4.8611125,0.5044581,0.4774894,8.0137829,4.9880181,46.024414,20.0671355,30.2267297,67.9475896,35.2915189,42.3586584,19.6260294,9.2608974,8.8166394,6.8021217,37.6557894,4.8611125,0.441213,0.4188871,7.895507,4.8890848,45.439974,19.6204337,30.360222,68.1123972,35.1729093,42.6368884,19.4956742,9.0057634,8.5787114,6.5699677,37.055114,5.1388903,0.4438008,0.4272285,7.2564633,4.6435685,45.1333698,19.5470957,30.0392459,67.6619057,35.3378204,42.9352377,20.5074294,8.312304,8.3602178,6.2264174,35.5163124,4.1333344 +1836,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8506907,0.8242427,12.7473881,8.7779399,22.8706655,16.4081903,35.4384922,64.5239286,35.7618783,47.3763658,21.7236241,4.7068541,11.3622269,8.9258005,27.1354202,4.4910126,0.807462,0.7813778,12.8432931,8.7761667,23.6196957,16.1253461,34.7473139,64.9638038,35.2242724,47.0561523,21.102446,4.5319786,11.3570654,8.8231989,27.1965874,4.9418576,0.7011359,0.6813089,13.0073393,9.0668352,24.5578999,16.1409422,34.772931,65.6013592,35.0552891,47.1862807,21.4166185,4.0067662,11.6196398,9.0324882,27.10181,6.149726,0.6832925,0.6927462,13.4636055,9.5605122,25.6488072,16.5197632,34.7824039,65.8396627,34.2517631,47.1486932,21.0129159,4.314314,11.5506995,9.1515587,27.5777546,6.8657439,0.6105298,0.6162673,12.9610373,9.5070391,26.7654386,16.5435778,34.4721474,66.0781748,35.1142206,47.0589057,20.9652209,4.547896,12.4902657,9.5319346,27.7520664,6.8855824 +1837,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6877153,0.6622786,8.368852,5.6502594,28.8798611,10.60967,30.020932,67.2723218,36.9148964,47.4427783,20.4501092,3.7012137,10.785724,9.6797176,29.9056032,3.1437154,0.6579599,0.6387548,8.5738329,5.748971,29.1673558,10.5950529,29.6758576,67.3774844,37.2130812,47.3247309,20.789373,3.6367902,10.8008388,9.926029,30.3608413,3.3762069,0.6293949,0.6214668,8.4036998,5.6157393,29.03201,10.4868598,29.5417639,67.1713096,36.9251882,47.4983515,21.1220665,3.4893165,10.4147971,9.3825211,29.8675895,3.4768223,0.6564141,0.6421825,8.6512001,5.80531,28.5884861,10.4439331,30.3125091,66.7306528,36.2102414,47.3281513,21.3042049,3.6880098,10.4270601,9.060794,29.9501528,5.140159,0.6065117,0.5838064,9.1007412,6.0647503,28.8930791,10.5173611,30.7945749,66.2674597,35.7299231,47.4073254,21.0266691,3.6794856,11.226839,9.1411301,30.2134936,5.5223615 +1838,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.0744813,1.0949001,15.2778958,12.3367626,57.6030407,28.4440709,35.6559594,68.1146638,32.0492728,40.5738928,16.1475888,3.8525095,15.1960248,9.3137295,35.264384,7.0248805,0.9691247,0.9377764,13.5752139,11.3829433,57.009892,27.7777317,35.3189847,68.2045496,33.3054527,39.6812879,17.7013972,4.2785773,14.5484281,10.2006893,34.0672453,8.0509498,1.3524255,1.3212725,14.177863,11.828924,59.0829885,27.0866664,34.7933778,68.0163242,33.3059225,40.0826952,18.4298,4.8760895,12.6261172,8.5858203,33.1629226,7.0830347,1.2258994,1.2258994,14.1247814,11.6984955,57.375303,27.3568039,35.7992903,67.2617129,33.9286914,40.9013875,20.3231838,5.0170623,13.8331844,9.49996,35.6416979,7.2646541,1.0026421,1.0026421,13.2091831,10.9042827,57.1301986,28.2422446,35.0861086,67.6721934,34.5690347,39.5689097,21.4655484,4.5690088,12.8244756,10.5862598,32.7299283,6.5213894 +1839,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6499715,1.6230423,28.9531891,25.063252,44.171896,14.9542998,36.964161,64.4753573,37.7958924,44.8656462,23.1765762,2.8630801,16.3688468,11.5409055,38.3407839,19.4370018,1.7190093,1.6853306,29.0580274,25.2417839,44.8579891,14.86846,36.8024698,65.4021886,38.5032376,44.8968322,22.6610046,2.6613655,16.8499312,11.6331667,38.7442748,19.7643821,1.7736339,1.7688965,29.4102824,25.3896455,45.3819574,14.4723678,37.1461636,64.9338634,38.3569597,44.3177534,21.7475129,2.4681298,17.2686834,12.2144454,39.101311,19.4162281,1.6756001,1.6993682,29.7412688,25.9187087,45.9851167,14.3024701,37.1000967,64.6982885,37.8442578,44.2007645,21.7825473,2.5890943,17.2929866,12.7788235,38.8389947,20.5097087,1.7732977,1.789827,29.9132504,25.880576,47.282032,13.6089046,36.9638888,64.9466832,36.9330727,44.3597741,21.2168739,2.542321,17.2858947,12.641857,39.6759578,21.8899387 +1840,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3407002,1.3629977,20.617754,15.8133555,83.551606,12.8028196,32.8899819,63.2595686,33.4234526,36.0457974,16.696222,4.4006604,14.8951625,12.6875855,41.2833905,14.260667,1.3975905,1.4192287,20.3601437,15.7653063,83.1808187,13.533712,33.2407136,63.5376077,33.5878049,36.7464797,16.9497339,4.8234551,13.8816326,11.8754177,40.2588113,13.5173143,1.4519298,1.4474985,20.7703527,16.0886442,83.4900251,13.4273251,32.9503952,63.6406218,33.3047374,36.1889446,16.9273548,4.8743103,13.8218013,10.9488528,38.5232432,16.9893321,1.4152569,1.4287159,20.7527611,15.9557034,82.9286915,14.1028871,33.3686865,63.7081266,34.0805722,36.5753779,17.3168018,5.8312763,13.2166295,11.270658,37.6220734,18.1386755,1.247849,1.2613738,21.0333758,16.6663391,83.0553821,13.5597103,33.1946771,64.8618919,34.6658346,37.5183588,17.9596769,5.5023859,12.2043126,10.6115811,36.3077663,18.5171276 +1841,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2.1138071,2.0144865,30.2735469,23.0348791,48.778915,14.1645714,37.9167804,64.8774286,33.7988191,47.6717082,24.5340828,5.2205391,14.7172228,11.8523011,32.9304495,14.1998637,1.9229434,1.8693499,29.5663724,22.778774,47.8007789,14.5107672,38.9170525,65.4114116,34.2012134,48.3966438,25.2562516,5.5678696,15.0364802,11.8551961,33.799816,14.4382051,1.8834169,1.8599515,29.4822755,22.6107466,47.8889806,14.2494735,39.7715767,65.357028,34.1563575,47.8279101,25.9044818,5.2505549,14.7431773,11.8912928,33.5131911,15.261915,1.7387803,1.7614614,29.7773775,23.2601368,47.7530878,14.0502466,39.9761019,65.188614,34.3619688,47.3942191,25.8407618,5.4902815,14.5528268,12.2529158,33.3827758,15.8687088,1.6846283,1.7628632,29.8878518,23.4713399,47.4143207,13.8633696,39.9169194,65.2019547,34.5514702,47.0699775,25.9079036,5.0438837,14.7057283,12.1315756,33.2821543,14.9001806 +1842,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8596572,1.9356585,28.6268515,24.2805275,55.1672286,13.8608758,40.5444364,65.1975181,33.9583091,47.4025218,21.3594094,2.3317028,15.8727385,12.1272673,36.3328291,12.850565,1.9259559,2.0037785,28.7689825,24.327659,55.963369,14.7888178,40.5527075,65.5238357,35.4721106,47.7001573,21.7331623,2.6810023,15.5493097,11.9136977,36.235491,13.2836161,1.9262248,1.9461346,28.7951051,24.328257,56.6874968,15.0265676,40.5187572,64.3833992,35.4972366,46.5874326,21.3107606,3.0326079,15.446678,12.4817023,36.5476369,15.8003086,1.8866753,1.9190777,29.0255802,24.3554393,56.4451577,15.6886739,40.0515929,64.3566382,35.8895451,46.1215613,21.0851729,2.8905307,14.7832076,11.6690982,36.7305326,15.0181394,1.6777474,1.7106552,28.5471706,23.590811,57.363338,15.5583998,39.1729071,64.5950429,35.5666811,45.2033487,20.3530248,3.0936941,14.7602832,12.0406294,36.2970878,16.2065857 +1843,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7190093,1.6853306,29.0580274,25.2417839,44.8579891,14.86846,36.8024698,65.4021886,38.5032376,44.8968322,22.6610046,2.6613655,16.8499312,11.6331667,38.7442748,19.7643821,1.7736339,1.7688965,29.4102824,25.3896455,45.3819574,14.4723678,37.1461636,64.9338634,38.3569597,44.3177534,21.7475129,2.4681298,17.2686834,12.2144454,39.101311,19.4162281,1.6756001,1.6993682,29.7412688,25.9187087,45.9851167,14.3024701,37.1000967,64.6982885,37.8442578,44.2007645,21.7825473,2.5890943,17.2929866,12.7788235,38.8389947,20.5097087,1.7732977,1.789827,29.9132504,25.880576,47.282032,13.6089046,36.9638888,64.9466832,36.9330727,44.3597741,21.2168739,2.542321,17.2858947,12.641857,39.6759578,21.8899387,1.8053842,1.848941,30.268938,26.1489367,48.6798733,13.754403,37.3232798,65.0440382,37.2034226,44.6950586,21.5009685,2.532167,17.6670829,12.60062,39.2678256,22.079421 +1844,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4319761,0.4661987,6.6584704,3.759206,55.8502712,23.1986249,28.5256417,66.1489067,32.7169408,42.5295842,19.0088762,5.6459547,9.8831616,7.7636772,31.1209426,1.6666667,0.4193244,0.4956622,6.6650791,3.8187779,55.6532025,23.7727834,28.0747389,65.6338626,31.9536244,42.076633,17.999053,5.6054851,9.8492044,7.0415919,31.1904815,2.2435897,0.3928474,0.4552809,6.6439885,3.6961418,56.0317508,22.041805,27.8478173,65.038263,31.2246623,41.8054856,17.7622666,5.6956301,9.5859629,7.5293091,31.8636389,2.0588235,0.3114145,0.3721619,6.712145,3.6751725,55.3215116,22.3547153,28.0921051,64.4517479,31.776308,41.2938548,18.1798214,5.7675412,8.826168,7.3225543,31.9909499,2.1472393,0.2966637,0.3471108,6.9772497,3.9588765,54.39561,21.7943119,27.9328377,64.8713427,31.6397684,41.5830724,18.1639734,5.9965083,9.1269865,8.0159454,32.3975102,2.6946108 +1845,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.6917989,0.6748406,8.9174831,5.8788049,24.5523645,16.1692293,33.795753,69.3673599,39.8215459,50.3003719,22.1858652,4.3028847,10.7802189,10.8916043,31.7335044,4.1218549,0.7000552,0.6833251,9.1753393,6.0231813,24.2767917,16.2247686,33.6446337,69.4274552,39.7364462,50.122147,22.5257109,4.3724971,10.4587494,10.7351379,31.4616751,4.6874919,0.7373418,0.7206873,9.4084771,6.2128257,24.5288056,16.119838,33.6899982,68.5368718,39.5181187,49.9390762,22.7296131,4.3232459,10.1053002,10.6473537,31.6684024,5.2364812,0.7032214,0.6861803,9.6428666,6.3870495,24.0364421,16.0043504,33.4607627,68.5949766,39.746868,49.4478317,23.250095,4.3747847,9.9174948,10.763888,31.8683311,5.5932165,0.7250444,0.7078626,9.822486,6.6069395,23.5742982,15.9264149,33.6682309,68.9077916,39.5414982,49.1585065,23.0036104,4.2503833,10.0934217,10.6343851,32.5396833,6.4999978 +1846,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9979836,0.9949632,15.9461248,11.1244717,54.3825457,14.2109141,29.8300269,62.0328251,34.4776309,39.4984008,17.5419019,3.9714443,13.7329576,10.088436,39.7633041,12.5859454,1.0574451,1.0544639,15.7984179,10.7912107,55.9678469,13.9050473,29.3752148,62.3530385,33.6823004,39.4369726,17.3825644,3.9455115,13.417824,10.1771195,39.6559432,11.1940329,0.9810203,0.9273823,15.9583138,11.3741853,57.2212727,14.0096613,29.8201653,63.4610782,34.0637815,40.1018035,17.542131,3.654899,13.6103271,11.3003532,37.7366113,8.3108128,0.9601798,0.8817892,16.6076422,12.182624,58.1618913,14.8373493,29.4710239,63.4616534,34.1344139,39.7243481,18.6416968,3.7368739,13.9126276,12.0785131,37.8404405,6.9946648,0.9297888,0.9212655,15.9173613,12.2041758,60.0791764,14.8169776,30.2138479,62.9808645,33.5674072,39.8149344,18.4147984,3.766677,14.4346148,12.1773585,37.7188924,6.7893821 +1847,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2810861,0.2810861,6.8009479,4.2417062,44.36721,22.3344293,28.3500238,67.7873152,35.2169766,46.3757749,18.0495947,6.1278016,9.6449136,8.5014409,33.9980545,2.3972603,0.2781513,0.3005628,6.6328992,4.1244573,44.2251462,22.0181298,28.2094595,67.253861,34.8696911,47.0801158,18.5569498,6.0569498,9.2967245,8.7270974,33.8062622,3.1914894,0.3093575,0.3316491,6.6970715,4.1526644,43.5046049,22.8741093,27.4495677,67.0268972,35.0864553,46.8539866,18.8520653,5.8357349,9.6264368,8.78119,33.6734694,2.9220779,0.3290088,0.3511229,6.5889629,4.0675547,42.1421663,23.089701,28.1369732,67.2653257,35.8955939,46.7193487,18.75,5.8668582,9.8771267,9.6972564,34.1170825,2.2727273,0.3463557,0.3686374,6.6331418,4.1427203,41.9268293,23.1929153,28.1625782,67.8932179,35.7142857,46.007696,18.3020683,5.9403559,9.2857143,9.5714286,34.4476744,1.6778523 +1848,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8039239,1.7202025,26.7014273,21.6160385,50.5587056,17.7273727,41.60776,66.3268004,38.720965,49.0203266,26.8679606,5.0284852,11.2614036,10.9322499,33.114148,22.7603278,1.7653662,1.6801714,25.3203338,20.1604496,50.5680358,17.6283204,42.7768204,65.3700447,39.3653596,49.7578121,27.8701032,4.7950167,12.2034957,11.2072385,33.8403097,21.4258489,1.6529182,1.5492683,24.7590814,19.2745534,50.1759357,17.2693032,44.0599994,66.8574906,40.2686119,50.6851073,27.8875136,5.1653102,12.106246,11.1262675,35.0468395,18.9630289,1.7661502,1.6429451,24.8894845,19.5134833,49.0792637,17.4470845,42.7141467,67.4427122,40.3961339,51.7270454,28.2749602,4.9041692,12.3046497,12.1221016,34.9581059,20.0702095,1.81662,1.7039015,23.8417046,18.8787167,48.4632351,17.48377,42.3006886,67.0674673,40.8581499,52.6859782,28.8780608,4.4323354,11.7384822,11.7191531,33.2560402,21.9394541 +1849,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5303331,0.5297592,9.831466,6.114965,37.7930046,20.2807774,32.3477901,69.5794974,41.5024231,47.3718851,24.6824641,3.3508565,9.786655,9.3488413,31.8480245,4.3333276,0.534458,0.5454175,9.6581539,5.7866626,37.1192844,20.2931484,32.4884828,70.1927212,41.7469745,47.570174,24.821988,3.288648,9.5510584,8.7665225,30.0267046,4.391886,0.4709877,0.4904966,9.4767428,5.8333393,37.5604878,20.0353226,32.5020013,69.5331325,41.32084,47.306465,24.2019451,3.092579,9.4696922,8.5654049,29.3542926,5.4838639,0.4762224,0.4833947,9.4385792,5.9344374,38.6900216,19.4698769,31.6085259,69.6317832,40.7170576,46.8798513,24.2829579,3.0426411,9.9666489,9.5655826,30.7983154,4.2763102,0.4884561,0.5209373,9.5604808,6.1795631,39.3225228,19.0394298,31.5471629,69.8168345,40.1987582,46.2782588,23.558073,3.0982089,9.7107539,9.3956891,29.2672828,4.4520517 +1850,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5240459,0.5277195,9.3192842,6.610303,45.9746667,14.0139158,26.7869357,68.6364161,35.0908653,45.8953274,16.643087,5.3904593,11.9331373,10.5733535,31.5922044,5.6201986,0.5058748,0.5435931,9.5469523,6.8515748,45.5150647,13.713118,26.5138927,68.9960513,34.7340774,45.7402968,16.7050318,5.3074279,11.7920493,10.6160937,31.5472737,6.7568089,0.4733179,0.5105943,9.9842256,7.1155327,44.522767,14.3421889,26.2050304,69.7476032,34.4816383,45.3501525,16.6098032,5.5593889,11.9016433,10.4356611,30.498353,7.3123108,0.4142121,0.4563743,9.7227682,6.8402628,43.7428788,14.7696117,26.9342976,69.6468127,35.053967,45.4453066,16.8353285,5.9042255,11.3171223,9.9231522,30.5399657,7.8000312,0.4569901,0.4985909,9.643853,6.6075707,42.9139187,14.2746512,27.3120484,69.3085939,34.7376712,45.3646114,16.9741987,5.5914088,11.2842752,9.7169956,29.7617924,8.3657913 +1851,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7000552,0.6833251,9.1753393,6.0231813,24.2767917,16.2247686,33.6446337,69.4274552,39.7364462,50.122147,22.5257109,4.3724971,10.4587494,10.7351379,31.4616751,4.6874919,0.7373418,0.7206873,9.4084771,6.2128257,24.5288056,16.119838,33.6899982,68.5368718,39.5181187,49.9390762,22.7296131,4.3232459,10.1053002,10.6473537,31.6684024,5.2364812,0.7032214,0.6861803,9.6428666,6.3870495,24.0364421,16.0043504,33.4607627,68.5949766,39.746868,49.4478317,23.250095,4.3747847,9.9174948,10.763888,31.8683311,5.5932165,0.7250444,0.7078626,9.822486,6.6069395,23.5742982,15.9264149,33.6682309,68.9077916,39.5414982,49.1585065,23.0036104,4.2503833,10.0934217,10.6343851,32.5396833,6.4999978,0.7607962,0.7626652,9.9816933,6.5018366,23.2547902,16.0300685,34.077323,68.4539121,39.0713359,48.8199023,22.9604967,4.2842459,10.1982499,10.5678733,32.6027981,6.7213137 +1852,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5536536,0.6046407,7.6704175,4.9569811,44.7300606,13.8143138,28.9530352,67.9921927,33.4746382,42.3159765,18.2007871,14.4866125,10.2021854,8.5063936,36.7114063,3.2413802,0.5262734,0.5644352,7.8967898,5.0370457,44.5980265,14.0228859,29.5976269,68.2387833,33.8720374,42.552774,18.5554139,14.5316644,9.8680843,8.4563619,36.4645923,3.2324631,0.6161669,0.6213071,8.3110822,5.1735639,44.0189115,13.6648039,29.2724088,68.1087978,33.3085903,42.514849,18.5137715,14.666579,9.7769068,8.4231312,37.1129951,3.4256565,0.6678039,0.6729258,8.3477688,5.2564948,43.7371533,13.7470079,29.7211762,68.4334574,33.7351837,42.9216039,18.5681583,14.6349712,9.626025,8.1926163,37.1417187,3.1069364,0.6541501,0.6409837,8.1596298,5.1649067,43.3076713,13.6226369,29.6284042,68.1021889,33.6230918,43.1254145,18.5600523,14.618449,9.6031582,8.3248379,37.1827759,3.7390029 +1853,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.88067,0.9417422,10.6424601,7.3452636,27.3415566,13.8883744,30.3197221,70.5417815,40.6005628,50.2689705,21.1894531,7.1713443,11.6503907,8.93258,31.4444395,7.4585635,0.7703122,0.8195434,10.6831834,7.2191915,27.1454185,14.2990137,30.1066772,69.9993819,40.4790636,50.1764596,21.7865877,7.4152913,10.9463622,8.8298299,31.0318857,6.0344828,0.8383,0.8873697,10.3579964,7.0036393,27.1685613,14.6963142,29.5743834,70.1087759,41.0820531,49.7008818,21.6922633,7.6171714,10.7387084,9.0015544,32.279587,5.3977273,0.7023897,0.7185981,10.8096881,7.280673,25.8053881,14.4123959,29.5847778,69.4725451,41.6519525,49.5302916,22.0539545,7.0600914,9.9136146,9.003045,31.6489488,4.1906441,0.6470209,0.6630887,11.3333657,7.5272069,26.2045361,14.3184015,30.0170323,68.8398445,41.853924,49.6376787,22.439727,6.6256963,9.3879842,8.536115,31.6600658,3.6938093 +1854,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.766597,0.7774113,10.9675781,6.6330892,49.2378317,10.603526,32.845577,66.6860904,42.0155641,44.2731553,24.4086884,4.6373596,10.2584886,8.7882805,38.2701394,6.2403621,0.7904422,0.7988485,11.3860959,7.0383935,49.9253539,10.6542199,32.7740569,66.5331397,41.4559162,43.7933432,23.7916349,4.6581537,10.3118016,8.6213678,38.684888,5.66714,0.7833402,0.7796799,11.2000251,6.7920186,49.9824517,10.2784063,32.9665646,66.2811921,41.276464,43.5788513,23.6714491,4.6957434,10.5072787,8.5859899,39.6946666,5.9023018,0.7863161,0.7748286,10.9129587,6.6470722,49.5235327,10.46487,33.1708631,66.5450604,41.6056234,43.6178993,23.797725,4.8325327,10.6610287,8.7581842,39.3459015,6.3019356,0.7935846,0.784552,10.9104985,6.7521191,49.4424776,10.9527844,32.9369188,66.5733117,42.193216,44.0072336,23.8459799,4.8563202,11.0356489,8.9894336,38.9591234,6.9877874 +1855,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4052728,2.4407979,40.4312728,35.3032204,73.4019004,11.6328867,35.5748252,60.4012328,25.1545013,37.3154009,17.1347192,1.9491083,16.6709771,12.5608545,44.1118782,27.0798924,2.5868637,2.6344906,39.3893355,34.0899417,74.5321639,11.4866307,34.5465533,59.8700017,24.1885933,36.8634485,16.5062425,1.9663764,17.2127922,13.1331951,43.8707369,26.7912205,2.4555661,2.5152513,38.7605794,33.4325227,75.7811164,11.5887237,34.9396595,60.1683688,24.0651051,37.0253465,16.2003159,1.9708899,17.1204773,12.9554537,45.5223781,26.4349461,2.5939605,2.6550445,38.9949762,33.7012449,75.7640795,11.93455,34.3571718,60.9006755,23.884606,36.5683581,15.8500852,2.1092514,16.9500811,12.952961,43.7325389,24.8832465,2.4793856,2.5908413,38.3383963,33.2861623,76.3155776,12.6181273,35.3164168,61.5817675,23.5849927,36.5305245,15.6165019,2.0644638,16.9993632,12.6445749,43.6681932,24.8268407 +1856,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4551691,0.4716662,8.144727,5.4347862,44.5331331,16.0982035,28.8587517,68.6978656,37.7383799,46.7073883,19.9791413,3.3820022,9.0608161,8.644576,30.1812941,4.1666646,0.4897334,0.4788933,7.54468,4.8784097,44.1947067,16.1051453,29.5060099,68.5533746,37.8565102,46.3834114,19.5383633,3.3666594,9.6188348,8.6555653,31.074655,2.5943396,0.4996296,0.4633414,8.2212823,5.2521035,44.0898601,16.0774059,29.4690615,68.9494602,38.1107079,46.7805581,20.347362,3.4877175,9.3911552,8.7593294,31.2464036,4.5064378,0.538822,0.5045922,8.4873249,5.2930341,42.6743864,16.3177305,29.7107177,69.7585,38.4687053,47.545116,20.3158281,3.3837642,9.3733497,9.3152854,30.5659405,4.9356223,0.6251994,0.5929265,8.9450118,5.7601392,42.3310496,16.1477743,30.5485963,69.8772624,38.4644412,47.1568107,20.8792765,3.5445925,8.9205495,9.4750041,31.6649835,4.2168658 +1857,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6579599,0.6387548,8.5738329,5.748971,29.1673558,10.5950529,29.6758576,67.3774844,37.2130812,47.3247309,20.789373,3.6367902,10.8008388,9.926029,30.3608413,3.3762069,0.6293949,0.6214668,8.4036998,5.6157393,29.03201,10.4868598,29.5417639,67.1713096,36.9251882,47.4983515,21.1220665,3.4893165,10.4147971,9.3825211,29.8675895,3.4768223,0.6564141,0.6421825,8.6512001,5.80531,28.5884861,10.4439331,30.3125091,66.7306528,36.2102414,47.3281513,21.3042049,3.6880098,10.4270601,9.060794,29.9501528,5.140159,0.6065117,0.5838064,9.1007412,6.0647503,28.8930791,10.5173611,30.7945749,66.2674597,35.7299231,47.4073254,21.0266691,3.6794856,11.226839,9.1411301,30.2134936,5.5223615,0.6280522,0.6084975,9.1881175,5.9577552,29.1465746,10.3635133,31.2534842,65.9253321,35.3410987,47.0421248,20.4014707,3.7492679,10.9016108,8.9708838,29.8764915,6.3235294 +1858,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5108595,1.4658959,32.743876,29.0877485,65.4122141,14.0490961,34.626313,62.0669009,30.8341588,40.7011254,16.5123892,2.3378724,16.9627665,12.3824108,43.8385923,17.546114,1.483146,1.4435224,31.967951,28.6428541,66.4983699,13.9394534,34.6886689,62.7758434,29.7147186,40.6942814,16.414034,2.3027514,17.7651281,13.8514,44.2387016,17.4930599,1.5448979,1.5391802,32.910467,29.3209046,67.3681043,13.5205186,34.598231,62.7686427,29.0320726,40.621807,16.0813998,2.4354462,17.5334264,13.8789863,41.7540232,17.9886227,1.6021678,1.5965154,32.3235064,28.6730376,66.1299311,13.7526825,35.1060606,62.9482741,29.0300989,40.6859604,16.530946,2.4779046,17.5112211,14.0943958,41.3099722,18.5753723,1.8692805,1.861944,32.5890317,28.421711,65.9138941,13.8727689,36.1765437,63.5293921,28.8437991,40.5801127,16.8376636,2.480826,17.4522655,14.0450985,40.9581802,18.9750167 +1859,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3043008,1.332987,15.5083945,11.2173534,39.3596628,15.393576,33.1202825,69.6732977,38.849441,47.4668389,24.5501952,4.5217861,11.1672988,11.1672896,39.7685222,8.7064633,1.4622669,1.5046178,16.3114793,11.7433456,39.7346005,15.7687931,32.9115817,68.9159427,37.0157058,45.7835932,24.9831603,4.5471876,10.9602067,10.1371534,40.1880816,12.3831718,1.503141,1.5342326,16.4020573,12.0251705,39.7948592,15.5641419,33.6669482,69.0415323,37.1449196,46.0686412,24.7432174,4.7364463,10.6277782,9.8246558,40.0749262,11.8534483,1.3561915,1.3663244,16.8711405,12.4603837,39.430355,15.5777851,32.7030759,68.7862487,37.0564091,45.8527942,24.579871,4.7796758,10.4757428,9.4148904,40.9148056,12.3949632,1.4147499,1.424757,18.2896079,13.7008163,39.7466676,15.2816066,32.5322058,68.8080575,36.6615173,45.9413932,24.5399466,4.5067362,10.3773191,8.9209792,40.3858415,13.3474689 +1860,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5524807,0.5685647,10.1820719,6.7115571,29.109648,20.5430489,34.7245701,69.0903945,40.079209,47.6181571,23.5463805,4.3249866,11.9031265,10.1403908,37.589352,5.5972071,0.6905362,0.682889,10.9025173,7.2764673,29.7860571,20.4678303,34.4910533,69.2836187,38.8397335,47.3901459,23.4699483,4.1606571,12.5703682,10.8591845,38.4345277,6.4396037,0.6089066,0.59257,10.7983196,7.22246,29.0368958,20.5225913,34.1239895,68.6860913,38.0226742,47.0728744,23.6300533,3.8599481,13.7503396,12.0747024,39.5465821,6.1596078,0.5488636,0.5414765,10.4977604,7.1629596,27.691582,21.1582574,33.9836151,69.3997401,38.0217488,47.6371142,23.7917478,3.9030223,13.3554265,11.7045559,37.5584492,5.9057118,0.6584382,0.6509939,10.5512862,7.279214,27.0635875,21.4968472,32.7834463,69.3294621,37.5712307,46.7600512,22.530736,3.7328126,13.0192945,11.0538334,35.3425413,6.1985776 +1861,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6905362,0.682889,10.9025173,7.2764673,29.7860571,20.4678303,34.4910533,69.2836187,38.8397335,47.3901459,23.4699483,4.1606571,12.5703682,10.8591845,38.4345277,6.4396037,0.6089066,0.59257,10.7983196,7.22246,29.0368958,20.5225913,34.1239895,68.6860913,38.0226742,47.0728744,23.6300533,3.8599481,13.7503396,12.0747024,39.5465821,6.1596078,0.5488636,0.5414765,10.4977604,7.1629596,27.691582,21.1582574,33.9836151,69.3997401,38.0217488,47.6371142,23.7917478,3.9030223,13.3554265,11.7045559,37.5584492,5.9057118,0.6584382,0.6509939,10.5512862,7.279214,27.0635875,21.4968472,32.7834463,69.3294621,37.5712307,46.7600512,22.530736,3.7328126,13.0192945,11.0538334,35.3425413,6.1985776,0.6503117,0.6355792,10.9132304,7.4397764,26.3373852,21.90165,33.016469,68.4085784,37.4173257,48.039705,22.8889812,3.5129242,12.4827022,10.9159813,36.2637977,5.8558506 +1862,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8075077,0.847964,8.6781389,5.1017083,31.7728949,24.9309914,31.1609426,67.0663818,34.6715701,44.786231,17.9875301,8.2551242,10.1802431,8.1325391,31.2753542,1.8749961,0.7966609,0.8395214,8.633729,4.9948756,33.0254626,24.2644802,30.970271,67.1848069,34.8992332,44.806982,17.8169202,8.2166015,10.8240653,8.3551823,32.0436877,1.9067756,0.8905796,0.9332497,8.7201513,5.1706711,33.3046041,24.8238172,31.6333151,67.621126,35.1236654,45.6624729,17.6042081,8.1836627,11.0788653,8.5760508,32.9086072,1.5217358,0.7319771,0.7729638,8.747563,5.2485509,33.8459478,24.4534298,31.5217162,67.5372898,35.4152992,45.6034818,17.8942326,8.4198543,11.3272146,8.9363023,32.0362016,1.7786526,0.6120276,0.6512675,8.7034134,5.4295159,33.0195417,24.8634607,30.940012,67.3743687,35.510518,45.0729066,18.1037265,7.9578549,11.3834254,8.980731,31.5116344,2.123548 +1863,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8462632,1.892056,36.4046888,32.212446,49.1621307,18.4716946,36.1581766,67.1831561,32.2481951,45.3683558,20.5212136,2.7424663,17.2356723,11.8633001,32.6646492,24.5049879,1.6504924,1.6953711,37.4992101,32.9812371,49.147463,18.8714895,37.0610282,67.6825081,31.6385967,46.4262068,20.3635245,2.8033665,14.720962,10.0942716,33.3564795,24.7727615,1.7803289,1.7728825,37.7634316,33.2447976,49.4154883,18.5124072,36.8843696,67.1964934,32.0221213,46.1277931,20.0178,2.9110479,15.1912667,10.5626808,33.7404027,25.8547325,2.0060725,1.9440232,38.5340254,33.8789754,49.5178222,18.210267,36.5473204,66.617825,32.03351,46.2774496,20.1347258,2.9600409,14.8778453,12.1960181,34.9350848,28.6008407,2.1218924,2.0474348,39.3479824,34.3012553,49.3236408,17.7106069,36.2133418,67.0758839,32.5049392,45.7828587,20.3045716,3.1397897,15.6514866,13.2603971,35.5581185,28.0434852 +1864,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5058748,0.5435931,9.5469523,6.8515748,45.5150647,13.713118,26.5138927,68.9960513,34.7340774,45.7402968,16.7050318,5.3074279,11.7920493,10.6160937,31.5472737,6.7568089,0.4733179,0.5105943,9.9842256,7.1155327,44.522767,14.3421889,26.2050304,69.7476032,34.4816383,45.3501525,16.6098032,5.5593889,11.9016433,10.4356611,30.498353,7.3123108,0.4142121,0.4563743,9.7227682,6.8402628,43.7428788,14.7696117,26.9342976,69.6468127,35.053967,45.4453066,16.8353285,5.9042255,11.3171223,9.9231522,30.5399657,7.8000312,0.4569901,0.4985909,9.643853,6.6075707,42.9139187,14.2746512,27.3120484,69.3085939,34.7376712,45.3646114,16.9741987,5.5914088,11.2842752,9.7169956,29.7617924,8.3657913,0.4301381,0.4711755,9.9673861,6.8071921,42.7434387,14.3404023,27.2556341,69.0031181,34.1879699,44.8393284,16.7363451,5.6228335,10.827888,9.1298815,29.2246405,7.6779314 +1865,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5149114,0.4880369,8.0712812,4.9266262,46.6795071,20.56686,30.0761726,68.1658398,35.7017293,42.5871662,19.93847,9.6542627,8.500002,6.5781726,37.7014956,4.8611125,0.5044581,0.4774894,8.0137829,4.9880181,46.024414,20.0671355,30.2267297,67.9475896,35.2915189,42.3586584,19.6260294,9.2608974,8.8166394,6.8021217,37.6557894,4.8611125,0.441213,0.4188871,7.895507,4.8890848,45.439974,19.6204337,30.360222,68.1123972,35.1729093,42.6368884,19.4956742,9.0057634,8.5787114,6.5699677,37.055114,5.1388903,0.4438008,0.4272285,7.2564633,4.6435685,45.1333698,19.5470957,30.0392459,67.6619057,35.3378204,42.9352377,20.5074294,8.312304,8.3602178,6.2264174,35.5163124,4.1333344,0.4471881,0.4311386,7.4048753,4.7221479,44.8470676,19.776221,29.8395837,67.1968481,35.5492132,42.6998302,20.3235444,8.224576,9.0652327,6.5172574,35.3627023,3.7396132 +1866,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.534458,0.5454175,9.6581539,5.7866626,37.1192844,20.2931484,32.4884828,70.1927212,41.7469745,47.570174,24.821988,3.288648,9.5510584,8.7665225,30.0267046,4.391886,0.4709877,0.4904966,9.4767428,5.8333393,37.5604878,20.0353226,32.5020013,69.5331325,41.32084,47.306465,24.2019451,3.092579,9.4696922,8.5654049,29.3542926,5.4838639,0.4762224,0.4833947,9.4385792,5.9344374,38.6900216,19.4698769,31.6085259,69.6317832,40.7170576,46.8798513,24.2829579,3.0426411,9.9666489,9.5655826,30.7983154,4.2763102,0.4884561,0.5209373,9.5604808,6.1795631,39.3225228,19.0394298,31.5471629,69.8168345,40.1987582,46.2782588,23.558073,3.0982089,9.7107539,9.3956891,29.2672828,4.4520517,0.4894453,0.5220768,9.494154,6.3231443,39.3055791,19.183605,31.349996,69.8595467,39.5825153,45.5910991,22.9223501,3.218886,10.0000114,9.5257517,28.9777515,4.8148112 +1867,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3975905,1.4192287,20.3601437,15.7653063,83.1808187,13.533712,33.2407136,63.5376077,33.5878049,36.7464797,16.9497339,4.8234551,13.8816326,11.8754177,40.2588113,13.5173143,1.4519298,1.4474985,20.7703527,16.0886442,83.4900251,13.4273251,32.9503952,63.6406218,33.3047374,36.1889446,16.9273548,4.8743103,13.8218013,10.9488528,38.5232432,16.9893321,1.4152569,1.4287159,20.7527611,15.9557034,82.9286915,14.1028871,33.3686865,63.7081266,34.0805722,36.5753779,17.3168018,5.8312763,13.2166295,11.270658,37.6220734,18.1386755,1.247849,1.2613738,21.0333758,16.6663391,83.0553821,13.5597103,33.1946771,64.8618919,34.6658346,37.5183588,17.9596769,5.5023859,12.2043126,10.6115811,36.3077663,18.5171276,1.2551537,1.2551537,22.0870126,17.4382435,83.0639379,14.8759126,33.3102725,64.4486966,34.8969757,38.1632008,18.1056417,5.5659559,12.7023531,10.6354791,35.3332126,20.6764436 +1868,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0544413,2.0544413,34.4544096,29.9701046,65.4503106,6.0089021,38.5951662,64.7280967,27.265861,40.407855,16.9939577,6.7220544,16.3716814,11.6519174,35.0591716,15.0306748,1.9287136,1.9287136,34.2022117,29.3048973,66.0862355,6.0629921,39.9839744,65.4647436,27.8044872,41.1057692,17.0673077,6.9711538,18.2539683,12.2222222,35.3035144,16.0377358,1.8425566,1.8425566,34.3014129,29.4348509,66.8039539,4.9528302,39.28,64.72,27.12,42.96,16.72,6.32,16.0550459,11.1620795,33.4876543,14.3312102,1.9770086,2.1258181,33.6234177,28.8765823,68.616145,4.4811321,40.1442308,62.900641,26.5224359,43.6698718,15.9455128,5.6891026,16.6158537,13.2621951,33.7962963,12.654321,1.9797583,2.1326635,32.9268293,27.8861789,68.6655405,4.7734628,39.4563427,62.5205931,24.6293245,44.7281713,16.3920923,5.8484349,16.2460568,12.7760252,34.6645367,13.8709677 +1869,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7404136,0.7562743,8.8416938,5.6568962,39.1649479,19.1417966,30.9340409,68.0199171,35.6399864,45.2587331,19.9265967,4.4623779,10.0781799,9.2774118,31.8294658,5.1702526,0.7803585,0.8135959,9.2800108,5.8397529,38.8394383,18.4899124,30.4875103,68.2522221,35.8753261,44.8622888,19.9610953,4.6561551,10.2107766,9.1538796,32.4024886,4.8741473,0.6892175,0.7226213,9.5219251,5.9468145,39.347915,18.0436868,30.8122508,68.0884343,35.4875243,44.3848015,19.5120171,4.8132588,9.6923639,9.0156497,32.4775343,4.7162488,0.6597291,0.6756393,9.5661812,6.0794085,39.0674294,18.0354477,31.52342,67.9287215,35.8052628,44.314605,20.0815401,4.9464488,9.3444468,8.7159655,32.324191,5.4139835,0.6099612,0.5983816,9.3973603,6.1636968,39.0500575,17.9970065,31.2035505,67.7755479,35.6163628,43.8703676,20.2330037,4.8806361,9.950882,8.791515,32.7261992,3.9659231 +1870,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4193244,0.4956622,6.6650791,3.8187779,55.6532025,23.7727834,28.0747389,65.6338626,31.9536244,42.076633,17.999053,5.6054851,9.8492044,7.0415919,31.1904815,2.2435897,0.3928474,0.4552809,6.6439885,3.6961418,56.0317508,22.041805,27.8478173,65.038263,31.2246623,41.8054856,17.7622666,5.6956301,9.5859629,7.5293091,31.8636389,2.0588235,0.3114145,0.3721619,6.712145,3.6751725,55.3215116,22.3547153,28.0921051,64.4517479,31.776308,41.2938548,18.1798214,5.7675412,8.826168,7.3225543,31.9909499,2.1472393,0.2966637,0.3471108,6.9772497,3.9588765,54.39561,21.7943119,27.9328377,64.8713427,31.6397684,41.5830724,18.1639734,5.9965083,9.1269865,8.0159454,32.3975102,2.6946108,0.2858158,0.3360413,6.32884,3.6320147,54.5593467,21.7882974,28.3953274,64.8572616,31.0337364,41.1980946,18.447228,6.4230077,9.1579877,7.8832766,31.5950948,2.6785714 +1871,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4733179,0.5105943,9.9842256,7.1155327,44.522767,14.3421889,26.2050304,69.7476032,34.4816383,45.3501525,16.6098032,5.5593889,11.9016433,10.4356611,30.498353,7.3123108,0.4142121,0.4563743,9.7227682,6.8402628,43.7428788,14.7696117,26.9342976,69.6468127,35.053967,45.4453066,16.8353285,5.9042255,11.3171223,9.9231522,30.5399657,7.8000312,0.4569901,0.4985909,9.643853,6.6075707,42.9139187,14.2746512,27.3120484,69.3085939,34.7376712,45.3646114,16.9741987,5.5914088,11.2842752,9.7169956,29.7617924,8.3657913,0.4301381,0.4711755,9.9673861,6.8071921,42.7434387,14.3404023,27.2556341,69.0031181,34.1879699,44.8393284,16.7363451,5.6228335,10.827888,9.1298815,29.2246405,7.6779314,0.4698225,0.5009795,10.2805042,7.0485045,43.2008591,14.4093108,27.4692457,67.882566,33.9466532,44.7277279,16.3223435,5.6703378,10.1108338,8.9271794,28.6594591,5.8052674 +1872,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6293949,0.6214668,8.4036998,5.6157393,29.03201,10.4868598,29.5417639,67.1713096,36.9251882,47.4983515,21.1220665,3.4893165,10.4147971,9.3825211,29.8675895,3.4768223,0.6564141,0.6421825,8.6512001,5.80531,28.5884861,10.4439331,30.3125091,66.7306528,36.2102414,47.3281513,21.3042049,3.6880098,10.4270601,9.060794,29.9501528,5.140159,0.6065117,0.5838064,9.1007412,6.0647503,28.8930791,10.5173611,30.7945749,66.2674597,35.7299231,47.4073254,21.0266691,3.6794856,11.226839,9.1411301,30.2134936,5.5223615,0.6280522,0.6084975,9.1881175,5.9577552,29.1465746,10.3635133,31.2534842,65.9253321,35.3410987,47.0421248,20.4014707,3.7492679,10.9016108,8.9708838,29.8764915,6.3235294,0.5650104,0.5435037,9.3373501,6.1234355,29.4138886,9.8557238,30.9508919,65.8114211,34.4341583,46.7768043,20.1112082,3.7360767,11.2414782,9.2331692,30.2186872,6.4564623 +1873,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4897334,0.4788933,7.54468,4.8784097,44.1947067,16.1051453,29.5060099,68.5533746,37.8565102,46.3834114,19.5383633,3.3666594,9.6188348,8.6555653,31.074655,2.5943396,0.4996296,0.4633414,8.2212823,5.2521035,44.0898601,16.0774059,29.4690615,68.9494602,38.1107079,46.7805581,20.347362,3.4877175,9.3911552,8.7593294,31.2464036,4.5064378,0.538822,0.5045922,8.4873249,5.2930341,42.6743864,16.3177305,29.7107177,69.7585,38.4687053,47.545116,20.3158281,3.3837642,9.3733497,9.3152854,30.5659405,4.9356223,0.6251994,0.5929265,8.9450118,5.7601392,42.3310496,16.1477743,30.5485963,69.8772624,38.4644412,47.1568107,20.8792765,3.5445925,8.9205495,9.4750041,31.6649835,4.2168658,0.6198767,0.5828972,9.0659397,5.7692294,41.8720931,16.1424874,30.5824115,70.0217636,38.5089522,46.7254781,21.616747,3.467859,9.2296585,9.8786424,32.5927646,5.2734375 +1874,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7229131,0.7135159,9.638591,6.1361151,43.3593286,19.2393075,31.0593738,71.3418902,38.9123078,45.6355555,23.3756759,4.5056437,9.9207168,7.933287,34.2879106,7.1722691,0.8341785,0.8184227,10.1757042,6.7151231,43.7160235,19.0680753,30.9396259,71.345986,38.8683626,46.0072807,23.3492221,4.3876921,9.9328693,8.3100006,34.1496765,6.8750529,0.7641453,0.7486156,10.0975846,6.7633499,43.3062216,19.0962905,31.379933,71.7512919,38.8888078,45.9544858,23.7599736,4.3917925,10.1990868,8.6560176,35.3087629,6.2771597,0.8380641,0.8310332,10.3923017,7.0037837,43.5501916,18.8944783,30.868765,71.2827456,38.3306705,45.983079,23.5430454,4.452606,10.5560245,8.4271,35.298874,7.83912,0.8163805,0.7897297,10.3490126,7.0975834,44.9241085,18.8982131,31.2652955,70.1134856,37.6723926,45.809674,22.965658,4.3660235,10.858054,8.7272826,36.5136315,7.056508 +1875,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6089066,0.59257,10.7983196,7.22246,29.0368958,20.5225913,34.1239895,68.6860913,38.0226742,47.0728744,23.6300533,3.8599481,13.7503396,12.0747024,39.5465821,6.1596078,0.5488636,0.5414765,10.4977604,7.1629596,27.691582,21.1582574,33.9836151,69.3997401,38.0217488,47.6371142,23.7917478,3.9030223,13.3554265,11.7045559,37.5584492,5.9057118,0.6584382,0.6509939,10.5512862,7.279214,27.0635875,21.4968472,32.7834463,69.3294621,37.5712307,46.7600512,22.530736,3.7328126,13.0192945,11.0538334,35.3425413,6.1985776,0.6503117,0.6355792,10.9132304,7.4397764,26.3373852,21.90165,33.016469,68.4085784,37.4173257,48.039705,22.8889812,3.5129242,12.4827022,10.9159813,36.2637977,5.8558506,0.784256,0.7554318,10.9610942,7.8689143,25.7760495,21.981087,32.3904879,68.7374789,37.8748529,48.6985666,23.695856,3.7687515,13.3013375,11.2696101,36.0187639,4.7008467 +1876,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4709877,0.4904966,9.4767428,5.8333393,37.5604878,20.0353226,32.5020013,69.5331325,41.32084,47.306465,24.2019451,3.092579,9.4696922,8.5654049,29.3542926,5.4838639,0.4762224,0.4833947,9.4385792,5.9344374,38.6900216,19.4698769,31.6085259,69.6317832,40.7170576,46.8798513,24.2829579,3.0426411,9.9666489,9.5655826,30.7983154,4.2763102,0.4884561,0.5209373,9.5604808,6.1795631,39.3225228,19.0394298,31.5471629,69.8168345,40.1987582,46.2782588,23.558073,3.0982089,9.7107539,9.3956891,29.2672828,4.4520517,0.4894453,0.5220768,9.494154,6.3231443,39.3055791,19.183605,31.349996,69.8595467,39.5825153,45.5910991,22.9223501,3.218886,10.0000114,9.5257517,28.9777515,4.8148112,0.4851125,0.5282687,9.2824693,6.2452579,38.6573413,19.3629472,31.0757979,70.4947076,39.6348616,46.4271657,23.0270753,3.2783684,9.7590452,9.364945,28.8898006,4.887218 +1877,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7653662,1.6801714,25.3203338,20.1604496,50.5680358,17.6283204,42.7768204,65.3700447,39.3653596,49.7578121,27.8701032,4.7950167,12.2034957,11.2072385,33.8403097,21.4258489,1.6529182,1.5492683,24.7590814,19.2745534,50.1759357,17.2693032,44.0599994,66.8574906,40.2686119,50.6851073,27.8875136,5.1653102,12.106246,11.1262675,35.0468395,18.9630289,1.7661502,1.6429451,24.8894845,19.5134833,49.0792637,17.4470845,42.7141467,67.4427122,40.3961339,51.7270454,28.2749602,4.9041692,12.3046497,12.1221016,34.9581059,20.0702095,1.81662,1.7039015,23.8417046,18.8787167,48.4632351,17.48377,42.3006886,67.0674673,40.8581499,52.6859782,28.8780608,4.4323354,11.7384822,11.7191531,33.2560402,21.9394541,1.6702177,1.5488101,23.3072411,18.0526975,48.4626691,16.5135643,42.8228213,66.4459126,41.0999118,53.4763573,29.1635369,4.3388215,12.2762365,11.5386969,31.970909,21.0713719 +1878,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4142121,0.4563743,9.7227682,6.8402628,43.7428788,14.7696117,26.9342976,69.6468127,35.053967,45.4453066,16.8353285,5.9042255,11.3171223,9.9231522,30.5399657,7.8000312,0.4569901,0.4985909,9.643853,6.6075707,42.9139187,14.2746512,27.3120484,69.3085939,34.7376712,45.3646114,16.9741987,5.5914088,11.2842752,9.7169956,29.7617924,8.3657913,0.4301381,0.4711755,9.9673861,6.8071921,42.7434387,14.3404023,27.2556341,69.0031181,34.1879699,44.8393284,16.7363451,5.6228335,10.827888,9.1298815,29.2246405,7.6779314,0.4698225,0.5009795,10.2805042,7.0485045,43.2008591,14.4093108,27.4692457,67.882566,33.9466532,44.7277279,16.3223435,5.6703378,10.1108338,8.9271794,28.6594591,5.8052674,0.4469496,0.468652,10.124374,7.0880963,42.8202483,14.4500545,27.3198659,68.0402764,34.2134568,44.7303841,16.294763,5.4021288,10.1202718,8.8848998,28.6261049,5.4924471 +1879,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.807462,0.7813778,12.8432931,8.7761667,23.6196957,16.1253461,34.7473139,64.9638038,35.2242724,47.0561523,21.102446,4.5319786,11.3570654,8.8231989,27.1965874,4.9418576,0.7011359,0.6813089,13.0073393,9.0668352,24.5578999,16.1409422,34.772931,65.6013592,35.0552891,47.1862807,21.4166185,4.0067662,11.6196398,9.0324882,27.10181,6.149726,0.6832925,0.6927462,13.4636055,9.5605122,25.6488072,16.5197632,34.7824039,65.8396627,34.2517631,47.1486932,21.0129159,4.314314,11.5506995,9.1515587,27.5777546,6.8657439,0.6105298,0.6162673,12.9610373,9.5070391,26.7654386,16.5435778,34.4721474,66.0781748,35.1142206,47.0589057,20.9652209,4.547896,12.4902657,9.5319346,27.7520664,6.8855824,0.6719893,0.6670497,12.3403607,9.4439693,27.8422679,16.6259742,34.6097926,66.4784398,35.274917,46.6545989,20.929696,4.5850253,11.9245919,9.2330608,27.3730002,7.4335357 +1880,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.655647,0.6692242,9.5380608,6.4840418,37.1813108,21.0796342,31.3072393,67.1557263,38.6663566,47.1277654,22.3179498,6.66822,9.6376653,7.7094531,33.1190201,3.6470336,0.6849753,0.6913312,9.6145063,6.7157375,36.7071912,21.1095975,31.66179,67.1863057,38.6499768,47.20472,22.4619739,6.5658109,9.6986574,7.6010576,32.9652532,4.7126185,0.6729588,0.6840682,9.4645758,6.551227,36.727411,21.0081374,31.9412334,67.0553991,38.3800392,46.4872025,22.490988,6.4931833,10.1637897,7.8692865,32.6118962,5.5555329,0.6616899,0.6727335,9.8803357,6.7913123,36.7595479,20.7447717,32.5510238,66.8335534,38.2310843,45.7129227,22.1446512,6.057553,10.1121988,7.8043861,32.1894024,6.418895,0.7023884,0.7316838,10.0620317,6.8977793,37.0972709,20.8322898,32.338531,66.390116,38.4123684,45.0703403,22.2996974,6.1564521,10.0362326,7.9602187,32.5419329,6.9937146 +1881,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6849753,0.6913312,9.6145063,6.7157375,36.7071912,21.1095975,31.66179,67.1863057,38.6499768,47.20472,22.4619739,6.5658109,9.6986574,7.6010576,32.9652532,4.7126185,0.6729588,0.6840682,9.4645758,6.551227,36.727411,21.0081374,31.9412334,67.0553991,38.3800392,46.4872025,22.490988,6.4931833,10.1637897,7.8692865,32.6118962,5.5555329,0.6616899,0.6727335,9.8803357,6.7913123,36.7595479,20.7447717,32.5510238,66.8335534,38.2310843,45.7129227,22.1446512,6.057553,10.1121988,7.8043861,32.1894024,6.418895,0.7023884,0.7316838,10.0620317,6.8977793,37.0972709,20.8322898,32.338531,66.390116,38.4123684,45.0703403,22.2996974,6.1564521,10.0362326,7.9602187,32.5419329,6.9937146,0.7407645,0.7746517,10.0029859,6.8851742,37.0661522,20.7196087,32.5117027,66.329449,37.9827334,45.0927607,22.3417581,6.0973309,10.1735248,8.1763128,33.2997302,7.314387 +1882,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6529182,1.5492683,24.7590814,19.2745534,50.1759357,17.2693032,44.0599994,66.8574906,40.2686119,50.6851073,27.8875136,5.1653102,12.106246,11.1262675,35.0468395,18.9630289,1.7661502,1.6429451,24.8894845,19.5134833,49.0792637,17.4470845,42.7141467,67.4427122,40.3961339,51.7270454,28.2749602,4.9041692,12.3046497,12.1221016,34.9581059,20.0702095,1.81662,1.7039015,23.8417046,18.8787167,48.4632351,17.48377,42.3006886,67.0674673,40.8581499,52.6859782,28.8780608,4.4323354,11.7384822,11.7191531,33.2560402,21.9394541,1.6702177,1.5488101,23.3072411,18.0526975,48.4626691,16.5135643,42.8228213,66.4459126,41.0999118,53.4763573,29.1635369,4.3388215,12.2762365,11.5386969,31.970909,21.0713719,1.6404052,1.5721104,23.2199825,18.3658248,47.8690969,15.8268263,43.4152916,66.0551143,41.541466,52.6456817,28.3941956,3.4592002,12.1922921,11.9867663,31.62478,21.0288795 +1883,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.9691247,0.9377764,13.5752139,11.3829433,57.009892,27.7777317,35.3189847,68.2045496,33.3054527,39.6812879,17.7013972,4.2785773,14.5484281,10.2006893,34.0672453,8.0509498,1.3524255,1.3212725,14.177863,11.828924,59.0829885,27.0866664,34.7933778,68.0163242,33.3059225,40.0826952,18.4298,4.8760895,12.6261172,8.5858203,33.1629226,7.0830347,1.2258994,1.2258994,14.1247814,11.6984955,57.375303,27.3568039,35.7992903,67.2617129,33.9286914,40.9013875,20.3231838,5.0170623,13.8331844,9.49996,35.6416979,7.2646541,1.0026421,1.0026421,13.2091831,10.9042827,57.1301986,28.2422446,35.0861086,67.6721934,34.5690347,39.5689097,21.4655484,4.5690088,12.8244756,10.5862598,32.7299283,6.5213894,1.0709696,1.0709696,12.611752,10.1073445,54.5853138,28.3619686,35.6391912,69.4393121,36.865209,41.5937092,22.1541344,5.3415529,12.1751384,9.6090672,32.5160582,6.8803699 +1884,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9259559,2.0037785,28.7689825,24.327659,55.963369,14.7888178,40.5527075,65.5238357,35.4721106,47.7001573,21.7331623,2.6810023,15.5493097,11.9136977,36.235491,13.2836161,1.9262248,1.9461346,28.7951051,24.328257,56.6874968,15.0265676,40.5187572,64.3833992,35.4972366,46.5874326,21.3107606,3.0326079,15.446678,12.4817023,36.5476369,15.8003086,1.8866753,1.9190777,29.0255802,24.3554393,56.4451577,15.6886739,40.0515929,64.3566382,35.8895451,46.1215613,21.0851729,2.8905307,14.7832076,11.6690982,36.7305326,15.0181394,1.6777474,1.7106552,28.5471706,23.590811,57.363338,15.5583998,39.1729071,64.5950429,35.5666811,45.2033487,20.3530248,3.0936941,14.7602832,12.0406294,36.2970878,16.2065857,1.6482599,1.6913309,27.9271216,23.0164544,57.398022,16.2669928,39.2261481,64.3946742,36.3114398,45.7296483,20.8505039,3.5190344,14.9564148,12.619889,35.1380168,17.3343245 +1885,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4569901,0.4985909,9.643853,6.6075707,42.9139187,14.2746512,27.3120484,69.3085939,34.7376712,45.3646114,16.9741987,5.5914088,11.2842752,9.7169956,29.7617924,8.3657913,0.4301381,0.4711755,9.9673861,6.8071921,42.7434387,14.3404023,27.2556341,69.0031181,34.1879699,44.8393284,16.7363451,5.6228335,10.827888,9.1298815,29.2246405,7.6779314,0.4698225,0.5009795,10.2805042,7.0485045,43.2008591,14.4093108,27.4692457,67.882566,33.9466532,44.7277279,16.3223435,5.6703378,10.1108338,8.9271794,28.6594591,5.8052674,0.4469496,0.468652,10.124374,7.0880963,42.8202483,14.4500545,27.3198659,68.0402764,34.2134568,44.7303841,16.294763,5.4021288,10.1202718,8.8848998,28.6261049,5.4924471,0.4540363,0.4551137,10.1680494,7.1914362,42.8287138,14.2189594,27.5564052,66.9622978,34.3275136,44.3458969,16.2022545,5.5619607,10.5555915,8.9580138,28.6512643,4.9019608 +1886,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5868637,2.6344906,39.3893355,34.0899417,74.5321639,11.4866307,34.5465533,59.8700017,24.1885933,36.8634485,16.5062425,1.9663764,17.2127922,13.1331951,43.8707369,26.7912205,2.4555661,2.5152513,38.7605794,33.4325227,75.7811164,11.5887237,34.9396595,60.1683688,24.0651051,37.0253465,16.2003159,1.9708899,17.1204773,12.9554537,45.5223781,26.4349461,2.5939605,2.6550445,38.9949762,33.7012449,75.7640795,11.93455,34.3571718,60.9006755,23.884606,36.5683581,15.8500852,2.1092514,16.9500811,12.952961,43.7325389,24.8832465,2.4793856,2.5908413,38.3383963,33.2861623,76.3155776,12.6181273,35.3164168,61.5817675,23.5849927,36.5305245,15.6165019,2.0644638,16.9993632,12.6445749,43.6681932,24.8268407,2.5919635,2.7065826,38.1931238,32.8926875,76.4644594,13.0421951,34.8681422,62.1439718,23.0549991,36.636344,15.1685418,1.9045234,16.8026117,13.4423705,43.4202578,24.7971941 +1887,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7661502,1.6429451,24.8894845,19.5134833,49.0792637,17.4470845,42.7141467,67.4427122,40.3961339,51.7270454,28.2749602,4.9041692,12.3046497,12.1221016,34.9581059,20.0702095,1.81662,1.7039015,23.8417046,18.8787167,48.4632351,17.48377,42.3006886,67.0674673,40.8581499,52.6859782,28.8780608,4.4323354,11.7384822,11.7191531,33.2560402,21.9394541,1.6702177,1.5488101,23.3072411,18.0526975,48.4626691,16.5135643,42.8228213,66.4459126,41.0999118,53.4763573,29.1635369,4.3388215,12.2762365,11.5386969,31.970909,21.0713719,1.6404052,1.5721104,23.2199825,18.3658248,47.8690969,15.8268263,43.4152916,66.0551143,41.541466,52.6456817,28.3941956,3.4592002,12.1922921,11.9867663,31.62478,21.0288795,1.3865766,1.476937,23.4037162,18.5977829,46.5825654,15.2302312,44.5719589,66.5964705,41.443551,52.7926917,28.0685285,3.5144655,12.0661332,10.7943101,30.8970971,17.8814028 +1888,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6504924,1.6953711,37.4992101,32.9812371,49.147463,18.8714895,37.0610282,67.6825081,31.6385967,46.4262068,20.3635245,2.8033665,14.720962,10.0942716,33.3564795,24.7727615,1.7803289,1.7728825,37.7634316,33.2447976,49.4154883,18.5124072,36.8843696,67.1964934,32.0221213,46.1277931,20.0178,2.9110479,15.1912667,10.5626808,33.7404027,25.8547325,2.0060725,1.9440232,38.5340254,33.8789754,49.5178222,18.210267,36.5473204,66.617825,32.03351,46.2774496,20.1347258,2.9600409,14.8778453,12.1960181,34.9350848,28.6008407,2.1218924,2.0474348,39.3479824,34.3012553,49.3236408,17.7106069,36.2133418,67.0758839,32.5049392,45.7828587,20.3045716,3.1397897,15.6514866,13.2603971,35.5581185,28.0434852,2.3567031,2.2809765,39.9218465,34.5990911,48.6155431,18.1068646,36.5601556,66.7993543,32.4059494,46.0288791,19.9446807,3.3901865,15.7640514,12.5980812,34.72096,26.3485979 +1889,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2781513,0.3005628,6.6328992,4.1244573,44.2251462,22.0181298,28.2094595,67.253861,34.8696911,47.0801158,18.5569498,6.0569498,9.2967245,8.7270974,33.8062622,3.1914894,0.3093575,0.3316491,6.6970715,4.1526644,43.5046049,22.8741093,27.4495677,67.0268972,35.0864553,46.8539866,18.8520653,5.8357349,9.6264368,8.78119,33.6734694,2.9220779,0.3290088,0.3511229,6.5889629,4.0675547,42.1421663,23.089701,28.1369732,67.2653257,35.8955939,46.7193487,18.75,5.8668582,9.8771267,9.6972564,34.1170825,2.2727273,0.3463557,0.3686374,6.6331418,4.1427203,41.9268293,23.1929153,28.1625782,67.8932179,35.7142857,46.007696,18.3020683,5.9403559,9.2857143,9.5714286,34.4476744,1.6778523,0.3819133,0.4043348,6.4680233,3.997093,42.0371275,23.7397984,29.3053546,68.9097926,36.0588519,46.1890979,18.6444766,6.6811384,9.5615672,9.7572362,34.1706161,1.8248175 +1890,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4510721,1.4510721,26.3298034,21.6149523,43.3739924,17.3557599,36.8376983,65.9591118,32.6915937,45.3273005,20.7139386,2.8464109,13.7214193,10.5436015,38.2699357,23.888843,1.5733325,1.58791,27.7132696,23.1649833,44.1870646,17.652175,37.4026986,65.5233127,32.6236032,45.7575714,21.1476774,2.8121157,13.4905511,10.4000327,38.7115657,24.3859282,1.6798152,1.6941283,28.6306879,24.3445751,44.6852468,17.7348753,37.0696889,64.7481314,32.2545279,44.7548755,21.0301778,2.7903529,13.565608,10.9799426,39.4694094,25.3446098,1.6469379,1.6674015,29.7892052,25.6708896,45.72082,17.7768286,36.9562334,64.9372239,32.3188336,45.6627642,21.4040527,2.8866011,13.6052626,11.3128522,39.1516663,25.3223775,1.6733874,1.7118996,30.6019524,26.6474879,47.6532452,17.5453817,36.1565957,64.9467586,31.9909484,44.6711042,21.2100729,2.8944171,13.2230505,11.0651401,38.5029378,25.6755 +1891,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5262734,0.5644352,7.8967898,5.0370457,44.5980265,14.0228859,29.5976269,68.2387833,33.8720374,42.552774,18.5554139,14.5316644,9.8680843,8.4563619,36.4645923,3.2324631,0.6161669,0.6213071,8.3110822,5.1735639,44.0189115,13.6648039,29.2724088,68.1087978,33.3085903,42.514849,18.5137715,14.666579,9.7769068,8.4231312,37.1129951,3.4256565,0.6678039,0.6729258,8.3477688,5.2564948,43.7371533,13.7470079,29.7211762,68.4334574,33.7351837,42.9216039,18.5681583,14.6349712,9.626025,8.1926163,37.1417187,3.1069364,0.6541501,0.6409837,8.1596298,5.1649067,43.3076713,13.6226369,29.6284042,68.1021889,33.6230918,43.1254145,18.5600523,14.618449,9.6031582,8.3248379,37.1827759,3.7390029,0.6655942,0.6625767,8.3366141,5.4112567,42.8542685,13.8697061,29.6240329,68.022874,33.4100166,42.6646487,18.660442,14.6772715,9.6617791,8.3104942,37.1926756,3.4156977 +1892,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4762224,0.4833947,9.4385792,5.9344374,38.6900216,19.4698769,31.6085259,69.6317832,40.7170576,46.8798513,24.2829579,3.0426411,9.9666489,9.5655826,30.7983154,4.2763102,0.4884561,0.5209373,9.5604808,6.1795631,39.3225228,19.0394298,31.5471629,69.8168345,40.1987582,46.2782588,23.558073,3.0982089,9.7107539,9.3956891,29.2672828,4.4520517,0.4894453,0.5220768,9.494154,6.3231443,39.3055791,19.183605,31.349996,69.8595467,39.5825153,45.5910991,22.9223501,3.218886,10.0000114,9.5257517,28.9777515,4.8148112,0.4851125,0.5282687,9.2824693,6.2452579,38.6573413,19.3629472,31.0757979,70.4947076,39.6348616,46.4271657,23.0270753,3.2783684,9.7590452,9.364945,28.8898006,4.887218,0.4929315,0.5541885,8.7362064,5.9573655,37.891584,19.4251586,30.5806296,70.9494007,39.6430006,47.0184289,22.8913138,3.7858035,9.5333866,9.1532177,29.0178637,4.0740741 +1893,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7966609,0.8395214,8.633729,4.9948756,33.0254626,24.2644802,30.970271,67.1848069,34.8992332,44.806982,17.8169202,8.2166015,10.8240653,8.3551823,32.0436877,1.9067756,0.8905796,0.9332497,8.7201513,5.1706711,33.3046041,24.8238172,31.6333151,67.621126,35.1236654,45.6624729,17.6042081,8.1836627,11.0788653,8.5760508,32.9086072,1.5217358,0.7319771,0.7729638,8.747563,5.2485509,33.8459478,24.4534298,31.5217162,67.5372898,35.4152992,45.6034818,17.8942326,8.4198543,11.3272146,8.9363023,32.0362016,1.7786526,0.6120276,0.6512675,8.7034134,5.4295159,33.0195417,24.8634607,30.940012,67.3743687,35.510518,45.0729066,18.1037265,7.9578549,11.3834254,8.980731,31.5116344,2.123548,0.5451122,0.608626,8.9348853,5.4058589,33.4910545,24.3480296,30.3616909,67.1734783,34.7471157,45.1184256,17.9097361,7.7304712,11.9353079,9.8776426,32.0356161,2.398524 +1894,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.81662,1.7039015,23.8417046,18.8787167,48.4632351,17.48377,42.3006886,67.0674673,40.8581499,52.6859782,28.8780608,4.4323354,11.7384822,11.7191531,33.2560402,21.9394541,1.6702177,1.5488101,23.3072411,18.0526975,48.4626691,16.5135643,42.8228213,66.4459126,41.0999118,53.4763573,29.1635369,4.3388215,12.2762365,11.5386969,31.970909,21.0713719,1.6404052,1.5721104,23.2199825,18.3658248,47.8690969,15.8268263,43.4152916,66.0551143,41.541466,52.6456817,28.3941956,3.4592002,12.1922921,11.9867663,31.62478,21.0288795,1.3865766,1.476937,23.4037162,18.5977829,46.5825654,15.2302312,44.5719589,66.5964705,41.443551,52.7926917,28.0685285,3.5144655,12.0661332,10.7943101,30.8970971,17.8814028,1.5356911,1.6275004,23.6641412,18.5829795,45.3773263,15.1607029,43.6537114,67.4570434,41.1597181,52.1099575,27.7145887,4.0954394,11.1326515,9.8214955,30.2255563,18.0142085 +1895,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7803289,1.7728825,37.7634316,33.2447976,49.4154883,18.5124072,36.8843696,67.1964934,32.0221213,46.1277931,20.0178,2.9110479,15.1912667,10.5626808,33.7404027,25.8547325,2.0060725,1.9440232,38.5340254,33.8789754,49.5178222,18.210267,36.5473204,66.617825,32.03351,46.2774496,20.1347258,2.9600409,14.8778453,12.1960181,34.9350848,28.6008407,2.1218924,2.0474348,39.3479824,34.3012553,49.3236408,17.7106069,36.2133418,67.0758839,32.5049392,45.7828587,20.3045716,3.1397897,15.6514866,13.2603971,35.5581185,28.0434852,2.3567031,2.2809765,39.9218465,34.5990911,48.6155431,18.1068646,36.5601556,66.7993543,32.4059494,46.0288791,19.9446807,3.3901865,15.7640514,12.5980812,34.72096,26.3485979,2.4712328,2.3951692,40.1590297,34.8206455,47.9096848,18.0177681,37.3346067,67.0269351,32.9174577,46.4139817,20.4584492,3.6498976,15.4168334,13.055147,34.152491,26.6807031 +1896,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4301381,0.4711755,9.9673861,6.8071921,42.7434387,14.3404023,27.2556341,69.0031181,34.1879699,44.8393284,16.7363451,5.6228335,10.827888,9.1298815,29.2246405,7.6779314,0.4698225,0.5009795,10.2805042,7.0485045,43.2008591,14.4093108,27.4692457,67.882566,33.9466532,44.7277279,16.3223435,5.6703378,10.1108338,8.9271794,28.6594591,5.8052674,0.4469496,0.468652,10.124374,7.0880963,42.8202483,14.4500545,27.3198659,68.0402764,34.2134568,44.7303841,16.294763,5.4021288,10.1202718,8.8848998,28.6261049,5.4924471,0.4540363,0.4551137,10.1680494,7.1914362,42.8287138,14.2189594,27.5564052,66.9622978,34.3275136,44.3458969,16.2022545,5.5619607,10.5555915,8.9580138,28.6512643,4.9019608,0.4884517,0.4945817,10.6485686,7.7080583,43.6362548,13.7008764,28.8452331,65.9180838,33.0521143,44.401802,16.3343295,5.1818646,11.1091728,9.1948393,29.4750679,7.1687422 +1897,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.4996296,0.4633414,8.2212823,5.2521035,44.0898601,16.0774059,29.4690615,68.9494602,38.1107079,46.7805581,20.347362,3.4877175,9.3911552,8.7593294,31.2464036,4.5064378,0.538822,0.5045922,8.4873249,5.2930341,42.6743864,16.3177305,29.7107177,69.7585,38.4687053,47.545116,20.3158281,3.3837642,9.3733497,9.3152854,30.5659405,4.9356223,0.6251994,0.5929265,8.9450118,5.7601392,42.3310496,16.1477743,30.5485963,69.8772624,38.4644412,47.1568107,20.8792765,3.5445925,8.9205495,9.4750041,31.6649835,4.2168658,0.6198767,0.5828972,9.0659397,5.7692294,41.8720931,16.1424874,30.5824115,70.0217636,38.5089522,46.7254781,21.616747,3.467859,9.2296585,9.8786424,32.5927646,5.2734375,0.6141676,0.5842043,9.007061,5.7959428,41.5540427,16.1176764,30.3921575,70.3229604,38.9042759,46.6089997,21.7185861,3.5178779,9.0846395,9.5161315,31.7338792,5.5956679 +1898,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4555661,2.5152513,38.7605794,33.4325227,75.7811164,11.5887237,34.9396595,60.1683688,24.0651051,37.0253465,16.2003159,1.9708899,17.1204773,12.9554537,45.5223781,26.4349461,2.5939605,2.6550445,38.9949762,33.7012449,75.7640795,11.93455,34.3571718,60.9006755,23.884606,36.5683581,15.8500852,2.1092514,16.9500811,12.952961,43.7325389,24.8832465,2.4793856,2.5908413,38.3383963,33.2861623,76.3155776,12.6181273,35.3164168,61.5817675,23.5849927,36.5305245,15.6165019,2.0644638,16.9993632,12.6445749,43.6681932,24.8268407,2.5919635,2.7065826,38.1931238,32.8926875,76.4644594,13.0421951,34.8681422,62.1439718,23.0549991,36.636344,15.1685418,1.9045234,16.8026117,13.4423705,43.4202578,24.7971941,2.4426724,2.545026,36.3506252,31.5211833,75.2430046,13.2891296,34.7804171,61.6604901,22.2293388,36.3788855,14.6593527,1.8362935,17.2212002,13.0756217,42.4993858,24.799135 +1899,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0019993,1.9413286,28.5486828,23.9506751,42.6712479,18.0383667,42.8478381,65.8033335,37.4337475,48.573405,24.6132482,3.6849913,12.2862029,9.0681995,32.1577071,20.0976964,1.8822465,1.8320577,28.2025469,23.955157,42.7655357,17.6065691,42.9314262,66.2305335,37.5624333,48.2613927,25.2858263,3.6689146,12.4468911,9.3084307,32.8674155,20.2180639,1.8888304,1.8378731,28.0492749,23.841006,43.0284348,18.2052048,42.299923,66.3849819,36.3816158,48.0754812,25.1935857,3.9778623,12.619179,8.6019654,32.7810214,20.0358811,1.9630776,1.9743894,28.0281436,24.0012543,43.2102943,18.5510138,41.7030022,66.939572,36.6215171,48.2017184,25.6558848,3.903628,13.3749563,8.9418206,33.1014541,22.5384744,2.1197044,2.1140809,28.9039738,24.9195444,43.3137067,18.2928888,42.2547768,66.3348548,35.3980816,48.7158055,24.9967912,3.9895588,13.650957,9.5368894,32.099834,24.5447693 +1900,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7703122,0.8195434,10.6831834,7.2191915,27.1454185,14.2990137,30.1066772,69.9993819,40.4790636,50.1764596,21.7865877,7.4152913,10.9463622,8.8298299,31.0318857,6.0344828,0.8383,0.8873697,10.3579964,7.0036393,27.1685613,14.6963142,29.5743834,70.1087759,41.0820531,49.7008818,21.6922633,7.6171714,10.7387084,9.0015544,32.279587,5.3977273,0.7023897,0.7185981,10.8096881,7.280673,25.8053881,14.4123959,29.5847778,69.4725451,41.6519525,49.5302916,22.0539545,7.0600914,9.9136146,9.003045,31.6489488,4.1906441,0.6470209,0.6630887,11.3333657,7.5272069,26.2045361,14.3184015,30.0170323,68.8398445,41.853924,49.6376787,22.439727,6.6256963,9.3879842,8.536115,31.6600658,3.6938093,0.8224932,0.8333304,11.1143362,7.3694197,26.156438,14.160975,30.0519954,69.1105244,41.6229242,48.9382454,22.3870379,6.7067167,10.068194,8.5999499,32.8032209,3.6938093 +1901,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5634137,0.5634137,9.181296,6.5872138,72.559432,11.8315211,27.2334185,68.427888,30.7045275,44.3340187,14.982126,4.9259482,11.5346523,10.1686498,33.5160226,4.0187998,0.5422784,0.5256343,9.0548156,6.6119214,72.7540253,11.3361928,26.9889453,68.1527964,30.5126532,44.6077251,15.3497029,4.9920161,11.3471467,9.8029015,33.4552087,4.8245614,0.5281409,0.4941768,8.365085,6.2535703,71.7303714,11.5775683,26.1778507,68.0835496,31.4293784,45.1815165,15.3492161,5.2788421,11.7864158,9.3551372,34.5581059,4.0539737,0.5052364,0.4730118,8.6544426,6.4972931,70.7917467,12.226659,25.9632256,67.5142118,31.2018487,44.4018111,14.3554334,5.315885,11.0389037,9.2499519,33.4848847,3.9129312,0.4803902,0.4497503,8.7519208,6.6066414,70.1868207,12.6146234,25.1215282,67.6942121,31.1408552,44.1992052,14.0534928,4.6845364,11.6938656,9.7877901,33.5116721,3.6884248 +1902,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7373418,0.7206873,9.4084771,6.2128257,24.5288056,16.119838,33.6899982,68.5368718,39.5181187,49.9390762,22.7296131,4.3232459,10.1053002,10.6473537,31.6684024,5.2364812,0.7032214,0.6861803,9.6428666,6.3870495,24.0364421,16.0043504,33.4607627,68.5949766,39.746868,49.4478317,23.250095,4.3747847,9.9174948,10.763888,31.8683311,5.5932165,0.7250444,0.7078626,9.822486,6.6069395,23.5742982,15.9264149,33.6682309,68.9077916,39.5414982,49.1585065,23.0036104,4.2503833,10.0934217,10.6343851,32.5396833,6.4999978,0.7607962,0.7626652,9.9816933,6.5018366,23.2547902,16.0300685,34.077323,68.4539121,39.0713359,48.8199023,22.9604967,4.2842459,10.1982499,10.5678733,32.6027981,6.7213137,0.7882901,0.7955777,9.9650473,6.501837,23.0519985,16.4405512,34.4954697,68.6397232,39.3095892,49.1947871,23.4281326,4.1373972,9.8158524,10.2602097,33.5274741,6.1461835 +1903,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3093575,0.3316491,6.6970715,4.1526644,43.5046049,22.8741093,27.4495677,67.0268972,35.0864553,46.8539866,18.8520653,5.8357349,9.6264368,8.78119,33.6734694,2.9220779,0.3290088,0.3511229,6.5889629,4.0675547,42.1421663,23.089701,28.1369732,67.2653257,35.8955939,46.7193487,18.75,5.8668582,9.8771267,9.6972564,34.1170825,2.2727273,0.3463557,0.3686374,6.6331418,4.1427203,41.9268293,23.1929153,28.1625782,67.8932179,35.7142857,46.007696,18.3020683,5.9403559,9.2857143,9.5714286,34.4476744,1.6778523,0.3819133,0.4043348,6.4680233,3.997093,42.0371275,23.7397984,29.3053546,68.9097926,36.0588519,46.1890979,18.6444766,6.6811384,9.5615672,9.7572362,34.1706161,1.8248175,0.3822967,0.4264079,6.8041726,4.1488857,41.5662651,23.4249171,29.547619,69.2619048,35.6428571,45.547619,18.1666667,6.1190476,9.2694064,9.1948765,33.287037,1.8656716 +1904,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8383,0.8873697,10.3579964,7.0036393,27.1685613,14.6963142,29.5743834,70.1087759,41.0820531,49.7008818,21.6922633,7.6171714,10.7387084,9.0015544,32.279587,5.3977273,0.7023897,0.7185981,10.8096881,7.280673,25.8053881,14.4123959,29.5847778,69.4725451,41.6519525,49.5302916,22.0539545,7.0600914,9.9136146,9.003045,31.6489488,4.1906441,0.6470209,0.6630887,11.3333657,7.5272069,26.2045361,14.3184015,30.0170323,68.8398445,41.853924,49.6376787,22.439727,6.6256963,9.3879842,8.536115,31.6600658,3.6938093,0.8224932,0.8333304,11.1143362,7.3694197,26.156438,14.160975,30.0519954,69.1105244,41.6229242,48.9382454,22.3870379,6.7067167,10.068194,8.5999499,32.8032209,3.6938093,0.7083335,0.7191497,10.7977302,7.1583739,26.2308641,14.3827547,30.2572681,68.5607025,40.9658997,48.7153872,21.8809029,6.7252282,10.0071303,8.5977851,34.4038029,3.125531 +1905,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7942412,0.7345973,9.7747071,6.6067966,41.7377051,15.7147417,27.1740423,67.3523041,40.9720102,44.0438846,21.4969232,5.204292,10.2655594,8.1999102,31.4957859,10.3238866,0.7536819,0.6771033,9.9310961,6.8752752,41.699183,15.8172248,26.9822798,67.1378354,40.5551336,43.989044,20.8718974,5.1508656,9.9477789,8.1780965,31.5369439,9.6837945,0.7253632,0.6694919,9.7174681,6.4082193,41.4270416,15.3281763,26.7833013,67.0789177,40.5279219,43.9680601,21.5780077,5.3788602,9.6147653,8.3613106,31.520218,8.1932773,0.7177152,0.6536166,9.8441374,6.7883053,41.4070183,15.6141269,26.612698,66.9136748,40.166495,43.8463617,21.4509231,5.2466849,10.1981819,9.2291961,31.3295243,7.7083333,0.5940338,0.5224672,9.5221783,6.5960725,41.6488919,14.9078402,26.5273244,67.0917812,39.2911919,43.2214191,21.3921347,5.4855243,10.2822137,9.4593585,30.8375301,6.2770563 +1906,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8341785,0.8184227,10.1757042,6.7151231,43.7160235,19.0680753,30.9396259,71.345986,38.8683626,46.0072807,23.3492221,4.3876921,9.9328693,8.3100006,34.1496765,6.8750529,0.7641453,0.7486156,10.0975846,6.7633499,43.3062216,19.0962905,31.379933,71.7512919,38.8888078,45.9544858,23.7599736,4.3917925,10.1990868,8.6560176,35.3087629,6.2771597,0.8380641,0.8310332,10.3923017,7.0037837,43.5501916,18.8944783,30.868765,71.2827456,38.3306705,45.983079,23.5430454,4.452606,10.5560245,8.4271,35.298874,7.83912,0.8163805,0.7897297,10.3490126,7.0975834,44.9241085,18.8982131,31.2652955,70.1134856,37.6723926,45.809674,22.965658,4.3660235,10.858054,8.7272826,36.5136315,7.056508,0.8248733,0.814583,10.5256975,7.1783817,44.903114,19.0757125,31.0729143,70.1845845,38.028472,45.9737787,23.3414029,4.2669737,10.8087933,9.2858262,37.5666666,7.0610737 +1907,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7803585,0.8135959,9.2800108,5.8397529,38.8394383,18.4899124,30.4875103,68.2522221,35.8753261,44.8622888,19.9610953,4.6561551,10.2107766,9.1538796,32.4024886,4.8741473,0.6892175,0.7226213,9.5219251,5.9468145,39.347915,18.0436868,30.8122508,68.0884343,35.4875243,44.3848015,19.5120171,4.8132588,9.6923639,9.0156497,32.4775343,4.7162488,0.6597291,0.6756393,9.5661812,6.0794085,39.0674294,18.0354477,31.52342,67.9287215,35.8052628,44.314605,20.0815401,4.9464488,9.3444468,8.7159655,32.324191,5.4139835,0.6099612,0.5983816,9.3973603,6.1636968,39.0500575,17.9970065,31.2035505,67.7755479,35.6163628,43.8703676,20.2330037,4.8806361,9.950882,8.791515,32.7261992,3.9659231,0.6678169,0.6565762,9.2038404,6.2673454,38.4589868,17.9374046,30.8467064,67.8267693,35.5603932,44.0436936,20.377025,4.7885448,9.8237065,8.6900771,32.2347711,5.3992938 +1908,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7032214,0.6861803,9.6428666,6.3870495,24.0364421,16.0043504,33.4607627,68.5949766,39.746868,49.4478317,23.250095,4.3747847,9.9174948,10.763888,31.8683311,5.5932165,0.7250444,0.7078626,9.822486,6.6069395,23.5742982,15.9264149,33.6682309,68.9077916,39.5414982,49.1585065,23.0036104,4.2503833,10.0934217,10.6343851,32.5396833,6.4999978,0.7607962,0.7626652,9.9816933,6.5018366,23.2547902,16.0300685,34.077323,68.4539121,39.0713359,48.8199023,22.9604967,4.2842459,10.1982499,10.5678733,32.6027981,6.7213137,0.7882901,0.7955777,9.9650473,6.501837,23.0519985,16.4405512,34.4954697,68.6397232,39.3095892,49.1947871,23.4281326,4.1373972,9.8158524,10.2602097,33.5274741,6.1461835,0.7984538,0.8039609,10.2042578,6.6174041,22.8001299,16.8579956,34.2747476,68.2337957,39.3430184,48.7286729,23.4727012,4.1211586,10.0455848,9.9934793,33.1963181,6.610174 +1909,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7536819,0.6771033,9.9310961,6.8752752,41.699183,15.8172248,26.9822798,67.1378354,40.5551336,43.989044,20.8718974,5.1508656,9.9477789,8.1780965,31.5369439,9.6837945,0.7253632,0.6694919,9.7174681,6.4082193,41.4270416,15.3281763,26.7833013,67.0789177,40.5279219,43.9680601,21.5780077,5.3788602,9.6147653,8.3613106,31.520218,8.1932773,0.7177152,0.6536166,9.8441374,6.7883053,41.4070183,15.6141269,26.612698,66.9136748,40.166495,43.8463617,21.4509231,5.2466849,10.1981819,9.2291961,31.3295243,7.7083333,0.5940338,0.5224672,9.5221783,6.5960725,41.6488919,14.9078402,26.5273244,67.0917812,39.2911919,43.2214191,21.3921347,5.4855243,10.2822137,9.4593585,30.8375301,6.2770563,0.6568799,0.5870441,9.6771842,6.7932852,42.5284653,14.8818739,26.9429201,67.1274467,38.831628,43.6452249,21.5114897,5.552679,10.293206,9.5032132,31.3029111,7.5431034 +1910,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7641453,0.7486156,10.0975846,6.7633499,43.3062216,19.0962905,31.379933,71.7512919,38.8888078,45.9544858,23.7599736,4.3917925,10.1990868,8.6560176,35.3087629,6.2771597,0.8380641,0.8310332,10.3923017,7.0037837,43.5501916,18.8944783,30.868765,71.2827456,38.3306705,45.983079,23.5430454,4.452606,10.5560245,8.4271,35.298874,7.83912,0.8163805,0.7897297,10.3490126,7.0975834,44.9241085,18.8982131,31.2652955,70.1134856,37.6723926,45.809674,22.965658,4.3660235,10.858054,8.7272826,36.5136315,7.056508,0.8248733,0.814583,10.5256975,7.1783817,44.903114,19.0757125,31.0729143,70.1845845,38.028472,45.9737787,23.3414029,4.2669737,10.8087933,9.2858262,37.5666666,7.0610737,0.8345231,0.8283644,10.6359058,7.198285,45.022819,19.3274246,31.3030176,69.4899809,38.0682704,45.4677228,23.0048231,4.2943879,10.799113,9.7832935,38.1116252,7.3308336 +1911,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5488636,0.5414765,10.4977604,7.1629596,27.691582,21.1582574,33.9836151,69.3997401,38.0217488,47.6371142,23.7917478,3.9030223,13.3554265,11.7045559,37.5584492,5.9057118,0.6584382,0.6509939,10.5512862,7.279214,27.0635875,21.4968472,32.7834463,69.3294621,37.5712307,46.7600512,22.530736,3.7328126,13.0192945,11.0538334,35.3425413,6.1985776,0.6503117,0.6355792,10.9132304,7.4397764,26.3373852,21.90165,33.016469,68.4085784,37.4173257,48.039705,22.8889812,3.5129242,12.4827022,10.9159813,36.2637977,5.8558506,0.784256,0.7554318,10.9610942,7.8689143,25.7760495,21.981087,32.3904879,68.7374789,37.8748529,48.6985666,23.695856,3.7687515,13.3013375,11.2696101,36.0187639,4.7008467,0.8479295,0.8195071,11.1164636,7.6011983,25.9964907,21.437318,31.8162998,68.2767369,36.3911398,48.123707,22.9662417,3.4034857,13.2496926,11.8039569,36.6897423,4.867248 +1912,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8822465,1.8320577,28.2025469,23.955157,42.7655357,17.6065691,42.9314262,66.2305335,37.5624333,48.2613927,25.2858263,3.6689146,12.4468911,9.3084307,32.8674155,20.2180639,1.8888304,1.8378731,28.0492749,23.841006,43.0284348,18.2052048,42.299923,66.3849819,36.3816158,48.0754812,25.1935857,3.9778623,12.619179,8.6019654,32.7810214,20.0358811,1.9630776,1.9743894,28.0281436,24.0012543,43.2102943,18.5510138,41.7030022,66.939572,36.6215171,48.2017184,25.6558848,3.903628,13.3749563,8.9418206,33.1014541,22.5384744,2.1197044,2.1140809,28.9039738,24.9195444,43.3137067,18.2928888,42.2547768,66.3348548,35.3980816,48.7158055,24.9967912,3.9895588,13.650957,9.5368894,32.099834,24.5447693,1.8730069,1.8926762,28.8832186,24.9738116,43.4215379,18.7461079,42.8433915,66.1495986,35.9631285,49.9436776,24.7060189,3.9880404,13.7532527,9.9210921,32.8784088,22.2732167 +1913,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8046391,0.8139355,11.8465342,8.7229302,59.8824241,8.8664151,27.0066556,64.06026,31.5568289,38.7205631,16.3542366,6.2666313,10.4476052,8.555346,36.7195461,6.2089356,0.844518,0.8641032,12.3238227,8.9927332,60.7162596,8.7956876,27.6531398,63.4079218,31.0545804,38.5655451,16.1827613,6.1820857,10.3731098,8.3874079,36.407766,6.1363632,0.9261648,0.9512549,12.6574902,9.16118,61.6708608,8.5043953,27.9695238,62.9735524,30.705477,38.3795307,15.9452023,6.2009997,10.3360646,8.1508887,36.7255416,6.6560505,0.9293416,0.9426723,13.0005322,9.4839203,62.3395717,8.4357765,27.894967,62.7668115,30.2919994,38.3444898,15.746743,6.1040734,10.059453,8.03879,36.6699862,6.8690091,0.9431863,0.9539535,13.2385693,9.6774944,63.096123,8.4240107,27.702244,62.2006672,29.9306223,37.9409722,15.4576541,5.9655511,10.4486496,8.2542836,36.5530534,7.1992106 +1914,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7736339,1.7688965,29.4102824,25.3896455,45.3819574,14.4723678,37.1461636,64.9338634,38.3569597,44.3177534,21.7475129,2.4681298,17.2686834,12.2144454,39.101311,19.4162281,1.6756001,1.6993682,29.7412688,25.9187087,45.9851167,14.3024701,37.1000967,64.6982885,37.8442578,44.2007645,21.7825473,2.5890943,17.2929866,12.7788235,38.8389947,20.5097087,1.7732977,1.789827,29.9132504,25.880576,47.282032,13.6089046,36.9638888,64.9466832,36.9330727,44.3597741,21.2168739,2.542321,17.2858947,12.641857,39.6759578,21.8899387,1.8053842,1.848941,30.268938,26.1489367,48.6798733,13.754403,37.3232798,65.0440382,37.2034226,44.6950586,21.5009685,2.532167,17.6670829,12.60062,39.2678256,22.079421,1.7796504,1.8502506,31.0924423,26.8614072,49.7107181,13.1193181,36.9235778,64.9485818,37.280193,45.6307282,21.5300909,2.5705315,17.5982804,12.6228486,39.956439,22.8009081 +1915,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5939605,2.6550445,38.9949762,33.7012449,75.7640795,11.93455,34.3571718,60.9006755,23.884606,36.5683581,15.8500852,2.1092514,16.9500811,12.952961,43.7325389,24.8832465,2.4793856,2.5908413,38.3383963,33.2861623,76.3155776,12.6181273,35.3164168,61.5817675,23.5849927,36.5305245,15.6165019,2.0644638,16.9993632,12.6445749,43.6681932,24.8268407,2.5919635,2.7065826,38.1931238,32.8926875,76.4644594,13.0421951,34.8681422,62.1439718,23.0549991,36.636344,15.1685418,1.9045234,16.8026117,13.4423705,43.4202578,24.7971941,2.4426724,2.545026,36.3506252,31.5211833,75.2430046,13.2891296,34.7804171,61.6604901,22.2293388,36.3788855,14.6593527,1.8362935,17.2212002,13.0756217,42.4993858,24.799135,2.2758463,2.3434995,35.9814628,31.1527958,75.1076631,13.5342038,34.5576371,62.615397,22.6512489,36.7829244,15.1531425,1.8295102,17.2843897,12.7347043,42.6425025,21.7856798 +1916,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4884561,0.5209373,9.5604808,6.1795631,39.3225228,19.0394298,31.5471629,69.8168345,40.1987582,46.2782588,23.558073,3.0982089,9.7107539,9.3956891,29.2672828,4.4520517,0.4894453,0.5220768,9.494154,6.3231443,39.3055791,19.183605,31.349996,69.8595467,39.5825153,45.5910991,22.9223501,3.218886,10.0000114,9.5257517,28.9777515,4.8148112,0.4851125,0.5282687,9.2824693,6.2452579,38.6573413,19.3629472,31.0757979,70.4947076,39.6348616,46.4271657,23.0270753,3.2783684,9.7590452,9.364945,28.8898006,4.887218,0.4929315,0.5541885,8.7362064,5.9573655,37.891584,19.4251586,30.5806296,70.9494007,39.6430006,47.0184289,22.8913138,3.7858035,9.5333866,9.1532177,29.0178637,4.0740741,0.5345584,0.5596686,8.9719334,6.2025799,38.9956173,19.5426598,30.0272907,70.7131726,38.5229876,46.7848615,22.6227312,3.6827805,9.4807351,9.431724,30.8088751,5.2816901 +1917,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8888304,1.8378731,28.0492749,23.841006,43.0284348,18.2052048,42.299923,66.3849819,36.3816158,48.0754812,25.1935857,3.9778623,12.619179,8.6019654,32.7810214,20.0358811,1.9630776,1.9743894,28.0281436,24.0012543,43.2102943,18.5510138,41.7030022,66.939572,36.6215171,48.2017184,25.6558848,3.903628,13.3749563,8.9418206,33.1014541,22.5384744,2.1197044,2.1140809,28.9039738,24.9195444,43.3137067,18.2928888,42.2547768,66.3348548,35.3980816,48.7158055,24.9967912,3.9895588,13.650957,9.5368894,32.099834,24.5447693,1.8730069,1.8926762,28.8832186,24.9738116,43.4215379,18.7461079,42.8433915,66.1495986,35.9631285,49.9436776,24.7060189,3.9880404,13.7532527,9.9210921,32.8784088,22.2732167,1.7307073,1.7682767,28.8914612,24.8247962,44.0940103,18.6686138,42.6038563,66.2745495,35.4900582,49.4574129,24.3612219,3.9893082,12.6600483,10.0018063,32.214038,20.6489585 +1918,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6756001,1.6993682,29.7412688,25.9187087,45.9851167,14.3024701,37.1000967,64.6982885,37.8442578,44.2007645,21.7825473,2.5890943,17.2929866,12.7788235,38.8389947,20.5097087,1.7732977,1.789827,29.9132504,25.880576,47.282032,13.6089046,36.9638888,64.9466832,36.9330727,44.3597741,21.2168739,2.542321,17.2858947,12.641857,39.6759578,21.8899387,1.8053842,1.848941,30.268938,26.1489367,48.6798733,13.754403,37.3232798,65.0440382,37.2034226,44.6950586,21.5009685,2.532167,17.6670829,12.60062,39.2678256,22.079421,1.7796504,1.8502506,31.0924423,26.8614072,49.7107181,13.1193181,36.9235778,64.9485818,37.280193,45.6307282,21.5300909,2.5705315,17.5982804,12.6228486,39.956439,22.8009081,1.7493515,1.8339167,31.1834405,26.8229642,50.092594,12.8871443,37.0026498,65.8057737,37.1520319,44.9499302,21.8251432,2.793497,17.0754314,12.7222724,39.7952853,23.4669756 +1919,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.9229434,1.8693499,29.5663724,22.778774,47.8007789,14.5107672,38.9170525,65.4114116,34.2012134,48.3966438,25.2562516,5.5678696,15.0364802,11.8551961,33.799816,14.4382051,1.8834169,1.8599515,29.4822755,22.6107466,47.8889806,14.2494735,39.7715767,65.357028,34.1563575,47.8279101,25.9044818,5.2505549,14.7431773,11.8912928,33.5131911,15.261915,1.7387803,1.7614614,29.7773775,23.2601368,47.7530878,14.0502466,39.9761019,65.188614,34.3619688,47.3942191,25.8407618,5.4902815,14.5528268,12.2529158,33.3827758,15.8687088,1.6846283,1.7628632,29.8878518,23.4713399,47.4143207,13.8633696,39.9169194,65.2019547,34.5514702,47.0699775,25.9079036,5.0438837,14.7057283,12.1315756,33.2821543,14.9001806,1.5824728,1.6602721,29.4809728,23.4918395,47.9495489,13.3627475,39.9468357,65.6519818,33.2600814,47.3262686,26.0289948,5.1279449,14.6359061,11.758808,32.6797775,16.0029746 +1920,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9708725,1.0091188,12.5726373,9.1424773,26.6401583,20.5442752,36.7140949,68.1507985,41.7781121,48.9189488,24.2247631,3.7126601,10.9066721,10.0107198,34.3783382,9.4086894,0.9024246,0.9654579,12.6185988,8.9590654,25.8133669,20.6491487,36.4357955,68.016177,42.1953101,48.7896405,23.9983166,3.6866947,10.782288,10.4759164,35.1315888,10.7143838,0.8580418,0.9048255,12.4337176,8.9729253,25.7019867,20.4113262,36.0246535,67.6336517,42.0548489,48.3137952,23.8782439,3.6438983,10.3803453,9.9574903,34.5092357,12.78419,0.8844636,0.9222378,12.4781585,8.8963296,26.2368026,20.442375,35.9063243,67.557519,42.0274544,48.6861655,23.7533564,3.5980923,10.1681103,9.9563367,34.7244528,12.2024405,0.7233629,0.7721015,12.8314724,9.1298209,26.2316207,19.686685,36.9437462,66.6338338,40.549284,48.6056237,23.2253494,3.3098564,10.7006575,10.1104518,34.3959201,12.2023955 +1921,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7732977,1.789827,29.9132504,25.880576,47.282032,13.6089046,36.9638888,64.9466832,36.9330727,44.3597741,21.2168739,2.542321,17.2858947,12.641857,39.6759578,21.8899387,1.8053842,1.848941,30.268938,26.1489367,48.6798733,13.754403,37.3232798,65.0440382,37.2034226,44.6950586,21.5009685,2.532167,17.6670829,12.60062,39.2678256,22.079421,1.7796504,1.8502506,31.0924423,26.8614072,49.7107181,13.1193181,36.9235778,64.9485818,37.280193,45.6307282,21.5300909,2.5705315,17.5982804,12.6228486,39.956439,22.8009081,1.7493515,1.8339167,31.1834405,26.8229642,50.092594,12.8871443,37.0026498,65.8057737,37.1520319,44.9499302,21.8251432,2.793497,17.0754314,12.7222724,39.7952853,23.4669756,1.7328827,1.8222421,31.5472431,26.9083709,50.4751597,12.764388,37.0032799,65.7454282,37.4215592,44.6220507,22.273677,3.0325684,16.7799949,13.1416375,39.4176591,22.9603837 +1922,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.8834169,1.8599515,29.4822755,22.6107466,47.8889806,14.2494735,39.7715767,65.357028,34.1563575,47.8279101,25.9044818,5.2505549,14.7431773,11.8912928,33.5131911,15.261915,1.7387803,1.7614614,29.7773775,23.2601368,47.7530878,14.0502466,39.9761019,65.188614,34.3619688,47.3942191,25.8407618,5.4902815,14.5528268,12.2529158,33.3827758,15.8687088,1.6846283,1.7628632,29.8878518,23.4713399,47.4143207,13.8633696,39.9169194,65.2019547,34.5514702,47.0699775,25.9079036,5.0438837,14.7057283,12.1315756,33.2821543,14.9001806,1.5824728,1.6602721,29.4809728,23.4918395,47.9495489,13.3627475,39.9468357,65.6519818,33.2600814,47.3262686,26.0289948,5.1279449,14.6359061,11.758808,32.6797775,16.0029746,1.7048176,1.7810805,28.8358287,23.1937986,47.7769683,13.0072875,40.3508073,66.4899799,33.9676511,47.9999042,26.2171186,5.5994457,14.540274,11.5220487,32.1308827,17.8951554 +1923,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9262248,1.9461346,28.7951051,24.328257,56.6874968,15.0265676,40.5187572,64.3833992,35.4972366,46.5874326,21.3107606,3.0326079,15.446678,12.4817023,36.5476369,15.8003086,1.8866753,1.9190777,29.0255802,24.3554393,56.4451577,15.6886739,40.0515929,64.3566382,35.8895451,46.1215613,21.0851729,2.8905307,14.7832076,11.6690982,36.7305326,15.0181394,1.6777474,1.7106552,28.5471706,23.590811,57.363338,15.5583998,39.1729071,64.5950429,35.5666811,45.2033487,20.3530248,3.0936941,14.7602832,12.0406294,36.2970878,16.2065857,1.6482599,1.6913309,27.9271216,23.0164544,57.398022,16.2669928,39.2261481,64.3946742,36.3114398,45.7296483,20.8505039,3.5190344,14.9564148,12.619889,35.1380168,17.3343245,1.7014569,1.7475225,27.4858561,22.7053014,57.3921194,16.7698989,38.9781111,64.214459,35.6978705,45.3329092,20.6483904,3.5147819,14.5259884,12.4051928,34.598863,20.7555002 +1924,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6564141,0.6421825,8.6512001,5.80531,28.5884861,10.4439331,30.3125091,66.7306528,36.2102414,47.3281513,21.3042049,3.6880098,10.4270601,9.060794,29.9501528,5.140159,0.6065117,0.5838064,9.1007412,6.0647503,28.8930791,10.5173611,30.7945749,66.2674597,35.7299231,47.4073254,21.0266691,3.6794856,11.226839,9.1411301,30.2134936,5.5223615,0.6280522,0.6084975,9.1881175,5.9577552,29.1465746,10.3635133,31.2534842,65.9253321,35.3410987,47.0421248,20.4014707,3.7492679,10.9016108,8.9708838,29.8764915,6.3235294,0.5650104,0.5435037,9.3373501,6.1234355,29.4138886,9.8557238,30.9508919,65.8114211,34.4341583,46.7768043,20.1112082,3.7360767,11.2414782,9.2331692,30.2186872,6.4564623,0.6030308,0.5768748,9.9842423,6.530084,29.6511978,9.7841491,31.0481205,65.4330749,34.1014402,46.5467272,19.8675993,3.5984117,11.0389023,8.9767054,30.2960086,7.0093523 +1925,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8905796,0.9332497,8.7201513,5.1706711,33.3046041,24.8238172,31.6333151,67.621126,35.1236654,45.6624729,17.6042081,8.1836627,11.0788653,8.5760508,32.9086072,1.5217358,0.7319771,0.7729638,8.747563,5.2485509,33.8459478,24.4534298,31.5217162,67.5372898,35.4152992,45.6034818,17.8942326,8.4198543,11.3272146,8.9363023,32.0362016,1.7786526,0.6120276,0.6512675,8.7034134,5.4295159,33.0195417,24.8634607,30.940012,67.3743687,35.510518,45.0729066,18.1037265,7.9578549,11.3834254,8.980731,31.5116344,2.123548,0.5451122,0.608626,8.9348853,5.4058589,33.4910545,24.3480296,30.3616909,67.1734783,34.7471157,45.1184256,17.9097361,7.7304712,11.9353079,9.8776426,32.0356161,2.398524,0.5516566,0.5866074,8.6790733,5.3269393,32.8876109,24.414838,30.4658626,67.5707137,34.858566,44.7753682,18.0865363,7.7703838,11.9736343,9.7860043,31.5972687,2.9069767 +1926,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5733325,1.58791,27.7132696,23.1649833,44.1870646,17.652175,37.4026986,65.5233127,32.6236032,45.7575714,21.1476774,2.8121157,13.4905511,10.4000327,38.7115657,24.3859282,1.6798152,1.6941283,28.6306879,24.3445751,44.6852468,17.7348753,37.0696889,64.7481314,32.2545279,44.7548755,21.0301778,2.7903529,13.565608,10.9799426,39.4694094,25.3446098,1.6469379,1.6674015,29.7892052,25.6708896,45.72082,17.7768286,36.9562334,64.9372239,32.3188336,45.6627642,21.4040527,2.8866011,13.6052626,11.3128522,39.1516663,25.3223775,1.6733874,1.7118996,30.6019524,26.6474879,47.6532452,17.5453817,36.1565957,64.9467586,31.9909484,44.6711042,21.2100729,2.8944171,13.2230505,11.0651401,38.5029378,25.6755,1.7425645,1.7602211,31.2125267,27.3389209,48.9818545,17.6208181,36.1217161,64.6713428,31.8557073,44.3482669,21.069692,2.544273,13.5769303,11.0278242,38.8461213,27.0465927 +1927,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5422784,0.5256343,9.0548156,6.6119214,72.7540253,11.3361928,26.9889453,68.1527964,30.5126532,44.6077251,15.3497029,4.9920161,11.3471467,9.8029015,33.4552087,4.8245614,0.5281409,0.4941768,8.365085,6.2535703,71.7303714,11.5775683,26.1778507,68.0835496,31.4293784,45.1815165,15.3492161,5.2788421,11.7864158,9.3551372,34.5581059,4.0539737,0.5052364,0.4730118,8.6544426,6.4972931,70.7917467,12.226659,25.9632256,67.5142118,31.2018487,44.4018111,14.3554334,5.315885,11.0389037,9.2499519,33.4848847,3.9129312,0.4803902,0.4497503,8.7519208,6.6066414,70.1868207,12.6146234,25.1215282,67.6942121,31.1408552,44.1992052,14.0534928,4.6845364,11.6938656,9.7877901,33.5116721,3.6884248,0.6739196,0.630307,8.3989675,6.3166202,69.9577063,13.8114504,24.9192952,67.2286771,31.2934329,43.8107821,14.064832,4.36501,11.8806675,9.4208847,34.090911,2.083276 +1928,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8866753,1.9190777,29.0255802,24.3554393,56.4451577,15.6886739,40.0515929,64.3566382,35.8895451,46.1215613,21.0851729,2.8905307,14.7832076,11.6690982,36.7305326,15.0181394,1.6777474,1.7106552,28.5471706,23.590811,57.363338,15.5583998,39.1729071,64.5950429,35.5666811,45.2033487,20.3530248,3.0936941,14.7602832,12.0406294,36.2970878,16.2065857,1.6482599,1.6913309,27.9271216,23.0164544,57.398022,16.2669928,39.2261481,64.3946742,36.3114398,45.7296483,20.8505039,3.5190344,14.9564148,12.619889,35.1380168,17.3343245,1.7014569,1.7475225,27.4858561,22.7053014,57.3921194,16.7698989,38.9781111,64.214459,35.6978705,45.3329092,20.6483904,3.5147819,14.5259884,12.4051928,34.598863,20.7555002,1.7106542,1.711956,27.1520593,22.519478,57.1484097,17.0126904,38.4534675,64.2482543,34.6921033,44.5034561,20.5247654,3.2750958,12.8777065,12.2967327,34.4510562,20.2959639 +1929,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6892175,0.7226213,9.5219251,5.9468145,39.347915,18.0436868,30.8122508,68.0884343,35.4875243,44.3848015,19.5120171,4.8132588,9.6923639,9.0156497,32.4775343,4.7162488,0.6597291,0.6756393,9.5661812,6.0794085,39.0674294,18.0354477,31.52342,67.9287215,35.8052628,44.314605,20.0815401,4.9464488,9.3444468,8.7159655,32.324191,5.4139835,0.6099612,0.5983816,9.3973603,6.1636968,39.0500575,17.9970065,31.2035505,67.7755479,35.6163628,43.8703676,20.2330037,4.8806361,9.950882,8.791515,32.7261992,3.9659231,0.6678169,0.6565762,9.2038404,6.2673454,38.4589868,17.9374046,30.8467064,67.8267693,35.5603932,44.0436936,20.377025,4.7885448,9.8237065,8.6900771,32.2347711,5.3992938,0.6658385,0.6490063,9.6516948,6.5514934,38.9497294,17.6717875,30.3967051,67.8692653,35.5882822,43.5115946,20.1631292,4.610637,9.4540305,8.4798379,32.1330324,5.5178954 +1930,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.3524255,1.3212725,14.177863,11.828924,59.0829885,27.0866664,34.7933778,68.0163242,33.3059225,40.0826952,18.4298,4.8760895,12.6261172,8.5858203,33.1629226,7.0830347,1.2258994,1.2258994,14.1247814,11.6984955,57.375303,27.3568039,35.7992903,67.2617129,33.9286914,40.9013875,20.3231838,5.0170623,13.8331844,9.49996,35.6416979,7.2646541,1.0026421,1.0026421,13.2091831,10.9042827,57.1301986,28.2422446,35.0861086,67.6721934,34.5690347,39.5689097,21.4655484,4.5690088,12.8244756,10.5862598,32.7299283,6.5213894,1.0709696,1.0709696,12.611752,10.1073445,54.5853138,28.3619686,35.6391912,69.4393121,36.865209,41.5937092,22.1541344,5.3415529,12.1751384,9.6090672,32.5160582,6.8803699,1.1267295,1.1267295,12.5450591,9.6570366,54.5534741,29.9824911,34.1917475,68.8276372,34.547079,40.5861148,22.1136759,6.3055566,11.9280581,10.3278065,32.2950718,5.7518463 +1931,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4519298,1.4474985,20.7703527,16.0886442,83.4900251,13.4273251,32.9503952,63.6406218,33.3047374,36.1889446,16.9273548,4.8743103,13.8218013,10.9488528,38.5232432,16.9893321,1.4152569,1.4287159,20.7527611,15.9557034,82.9286915,14.1028871,33.3686865,63.7081266,34.0805722,36.5753779,17.3168018,5.8312763,13.2166295,11.270658,37.6220734,18.1386755,1.247849,1.2613738,21.0333758,16.6663391,83.0553821,13.5597103,33.1946771,64.8618919,34.6658346,37.5183588,17.9596769,5.5023859,12.2043126,10.6115811,36.3077663,18.5171276,1.2551537,1.2551537,22.0870126,17.4382435,83.0639379,14.8759126,33.3102725,64.4486966,34.8969757,38.1632008,18.1056417,5.5659559,12.7023531,10.6354791,35.3332126,20.6764436,1.425375,1.425375,22.3482474,17.0461207,83.3196447,15.1941569,32.7440843,64.9425038,34.989557,37.6932533,18.2459476,5.8433755,12.04284,10.1967673,34.1364905,21.2494169 +1932,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6161669,0.6213071,8.3110822,5.1735639,44.0189115,13.6648039,29.2724088,68.1087978,33.3085903,42.514849,18.5137715,14.666579,9.7769068,8.4231312,37.1129951,3.4256565,0.6678039,0.6729258,8.3477688,5.2564948,43.7371533,13.7470079,29.7211762,68.4334574,33.7351837,42.9216039,18.5681583,14.6349712,9.626025,8.1926163,37.1417187,3.1069364,0.6541501,0.6409837,8.1596298,5.1649067,43.3076713,13.6226369,29.6284042,68.1021889,33.6230918,43.1254145,18.5600523,14.618449,9.6031582,8.3248379,37.1827759,3.7390029,0.6655942,0.6625767,8.3366141,5.4112567,42.8542685,13.8697061,29.6240329,68.022874,33.4100166,42.6646487,18.660442,14.6772715,9.6617791,8.3104942,37.1926756,3.4156977,0.6863956,0.6814798,8.3868075,5.6147338,42.5753541,14.1846218,29.6579705,68.2203942,33.5154922,43.5193487,18.7025813,14.6264624,9.6051412,8.3859278,37.0573922,4.1727672 +1933,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.538822,0.5045922,8.4873249,5.2930341,42.6743864,16.3177305,29.7107177,69.7585,38.4687053,47.545116,20.3158281,3.3837642,9.3733497,9.3152854,30.5659405,4.9356223,0.6251994,0.5929265,8.9450118,5.7601392,42.3310496,16.1477743,30.5485963,69.8772624,38.4644412,47.1568107,20.8792765,3.5445925,8.9205495,9.4750041,31.6649835,4.2168658,0.6198767,0.5828972,9.0659397,5.7692294,41.8720931,16.1424874,30.5824115,70.0217636,38.5089522,46.7254781,21.616747,3.467859,9.2296585,9.8786424,32.5927646,5.2734375,0.6141676,0.5842043,9.007061,5.7959428,41.5540427,16.1176764,30.3921575,70.3229604,38.9042759,46.6089997,21.7185861,3.5178779,9.0846395,9.5161315,31.7338792,5.5956679,0.6917059,0.6560208,9.3244475,5.9575814,41.608689,15.7728434,30.412139,69.7208212,38.0567341,46.1887981,21.1943421,3.5342358,8.9929637,8.8766519,31.6710737,5.496452 +1934,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4152569,1.4287159,20.7527611,15.9557034,82.9286915,14.1028871,33.3686865,63.7081266,34.0805722,36.5753779,17.3168018,5.8312763,13.2166295,11.270658,37.6220734,18.1386755,1.247849,1.2613738,21.0333758,16.6663391,83.0553821,13.5597103,33.1946771,64.8618919,34.6658346,37.5183588,17.9596769,5.5023859,12.2043126,10.6115811,36.3077663,18.5171276,1.2551537,1.2551537,22.0870126,17.4382435,83.0639379,14.8759126,33.3102725,64.4486966,34.8969757,38.1632008,18.1056417,5.5659559,12.7023531,10.6354791,35.3332126,20.6764436,1.425375,1.425375,22.3482474,17.0461207,83.3196447,15.1941569,32.7440843,64.9425038,34.989557,37.6932533,18.2459476,5.8433755,12.04284,10.1967673,34.1364905,21.2494169,1.4777544,1.5328371,22.9118015,17.7531349,83.1283471,15.1866743,33.6682429,65.0587408,36.5396403,38.9228295,18.9122743,6.1014409,12.3559978,10.9773288,33.0899081,18.7457525 +1935,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4698225,0.5009795,10.2805042,7.0485045,43.2008591,14.4093108,27.4692457,67.882566,33.9466532,44.7277279,16.3223435,5.6703378,10.1108338,8.9271794,28.6594591,5.8052674,0.4469496,0.468652,10.124374,7.0880963,42.8202483,14.4500545,27.3198659,68.0402764,34.2134568,44.7303841,16.294763,5.4021288,10.1202718,8.8848998,28.6261049,5.4924471,0.4540363,0.4551137,10.1680494,7.1914362,42.8287138,14.2189594,27.5564052,66.9622978,34.3275136,44.3458969,16.2022545,5.5619607,10.5555915,8.9580138,28.6512643,4.9019608,0.4884517,0.4945817,10.6485686,7.7080583,43.6362548,13.7008764,28.8452331,65.9180838,33.0521143,44.401802,16.3343295,5.1818646,11.1091728,9.1948393,29.4750679,7.1687422,0.5331927,0.5391629,11.1589488,8.1299496,43.4577181,13.0626032,28.7044427,65.29981,31.895083,44.3790234,15.9849828,5.0856589,11.525549,9.47961,29.9492217,6.9488315 +1936,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6659165,0.6556161,10.224399,7.3204291,45.8848885,10.999351,29.1181246,70.4572679,41.6058761,43.0103431,21.7365243,4.9918322,9.3071225,8.0837677,34.9594396,8.0572313,0.666735,0.6603697,10.3620411,7.268241,45.5833683,10.8242975,28.7862335,70.9966359,41.6730015,43.4317669,21.9682958,4.9777414,9.6742862,8.4626996,34.9401524,8.4077393,0.6929537,0.6862671,10.6817937,7.5139774,45.2079632,10.7441081,28.7085246,70.8794216,41.1461747,43.5968359,21.9746227,5.0368657,9.6729049,8.5126989,34.8123223,8.2844587,0.7401653,0.7330566,10.5094864,7.3550151,44.4486848,10.8275827,28.1421395,71.0300002,40.8827024,44.2586809,21.906243,4.9940839,9.5303861,8.0658868,35.0942984,8.3333333,0.770834,0.75883,10.6418568,7.4056111,44.1422367,10.8466145,27.8468168,71.1676536,40.6373865,44.3438693,22.1156915,4.900909,9.5091367,8.3900463,35.3778619,7.7988338 +1937,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6065117,0.5838064,9.1007412,6.0647503,28.8930791,10.5173611,30.7945749,66.2674597,35.7299231,47.4073254,21.0266691,3.6794856,11.226839,9.1411301,30.2134936,5.5223615,0.6280522,0.6084975,9.1881175,5.9577552,29.1465746,10.3635133,31.2534842,65.9253321,35.3410987,47.0421248,20.4014707,3.7492679,10.9016108,8.9708838,29.8764915,6.3235294,0.5650104,0.5435037,9.3373501,6.1234355,29.4138886,9.8557238,30.9508919,65.8114211,34.4341583,46.7768043,20.1112082,3.7360767,11.2414782,9.2331692,30.2186872,6.4564623,0.6030308,0.5768748,9.9842423,6.530084,29.6511978,9.7841491,31.0481205,65.4330749,34.1014402,46.5467272,19.8675993,3.5984117,11.0389023,8.9767054,30.2960086,7.0093523,0.6319054,0.6100144,10.4023113,6.941745,29.7928756,9.7593287,31.0109143,65.1097538,33.5876934,46.2188004,19.6400161,3.4798895,10.9911983,8.789554,30.6950791,7.2485271 +1938,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6777474,1.7106552,28.5471706,23.590811,57.363338,15.5583998,39.1729071,64.5950429,35.5666811,45.2033487,20.3530248,3.0936941,14.7602832,12.0406294,36.2970878,16.2065857,1.6482599,1.6913309,27.9271216,23.0164544,57.398022,16.2669928,39.2261481,64.3946742,36.3114398,45.7296483,20.8505039,3.5190344,14.9564148,12.619889,35.1380168,17.3343245,1.7014569,1.7475225,27.4858561,22.7053014,57.3921194,16.7698989,38.9781111,64.214459,35.6978705,45.3329092,20.6483904,3.5147819,14.5259884,12.4051928,34.598863,20.7555002,1.7106542,1.711956,27.1520593,22.519478,57.1484097,17.0126904,38.4534675,64.2482543,34.6921033,44.5034561,20.5247654,3.2750958,12.8777065,12.2967327,34.4510562,20.2959639,1.7795535,1.7678156,27.3952012,22.5005596,56.7927943,17.0962748,38.5036456,63.0170324,33.7215326,44.3069029,21.1024605,3.2790618,12.290239,12.0554757,34.2495203,20.1649916 +1939,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6702177,1.5488101,23.3072411,18.0526975,48.4626691,16.5135643,42.8228213,66.4459126,41.0999118,53.4763573,29.1635369,4.3388215,12.2762365,11.5386969,31.970909,21.0713719,1.6404052,1.5721104,23.2199825,18.3658248,47.8690969,15.8268263,43.4152916,66.0551143,41.541466,52.6456817,28.3941956,3.4592002,12.1922921,11.9867663,31.62478,21.0288795,1.3865766,1.476937,23.4037162,18.5977829,46.5825654,15.2302312,44.5719589,66.5964705,41.443551,52.7926917,28.0685285,3.5144655,12.0661332,10.7943101,30.8970971,17.8814028,1.5356911,1.6275004,23.6641412,18.5829795,45.3773263,15.1607029,43.6537114,67.4570434,41.1597181,52.1099575,27.7145887,4.0954394,11.1326515,9.8214955,30.2255563,18.0142085,1.7959714,1.8894286,23.5290938,18.7091103,45.544399,16.3215976,42.733315,66.9455264,39.8340559,51.8024162,28.5641463,4.0939206,10.8345471,9.3165713,28.5942745,23.6424945 +1940,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6729588,0.6840682,9.4645758,6.551227,36.727411,21.0081374,31.9412334,67.0553991,38.3800392,46.4872025,22.490988,6.4931833,10.1637897,7.8692865,32.6118962,5.5555329,0.6616899,0.6727335,9.8803357,6.7913123,36.7595479,20.7447717,32.5510238,66.8335534,38.2310843,45.7129227,22.1446512,6.057553,10.1121988,7.8043861,32.1894024,6.418895,0.7023884,0.7316838,10.0620317,6.8977793,37.0972709,20.8322898,32.338531,66.390116,38.4123684,45.0703403,22.2996974,6.1564521,10.0362326,7.9602187,32.5419329,6.9937146,0.7407645,0.7746517,10.0029859,6.8851742,37.0661522,20.7196087,32.5117027,66.329449,37.9827334,45.0927607,22.3417581,6.0973309,10.1735248,8.1763128,33.2997302,7.314387,0.740222,0.7693184,10.4069803,7.1473483,37.1531428,20.6873871,32.5734354,66.6212545,37.987158,45.4802068,22.5187224,6.2116866,10.0350921,8.1569108,32.8265706,7.3695918 +1941,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.666735,0.6603697,10.3620411,7.268241,45.5833683,10.8242975,28.7862335,70.9966359,41.6730015,43.4317669,21.9682958,4.9777414,9.6742862,8.4626996,34.9401524,8.4077393,0.6929537,0.6862671,10.6817937,7.5139774,45.2079632,10.7441081,28.7085246,70.8794216,41.1461747,43.5968359,21.9746227,5.0368657,9.6729049,8.5126989,34.8123223,8.2844587,0.7401653,0.7330566,10.5094864,7.3550151,44.4486848,10.8275827,28.1421395,71.0300002,40.8827024,44.2586809,21.906243,4.9940839,9.5303861,8.0658868,35.0942984,8.3333333,0.770834,0.75883,10.6418568,7.4056111,44.1422367,10.8466145,27.8468168,71.1676536,40.6373865,44.3438693,22.1156915,4.900909,9.5091367,8.3900463,35.3778619,7.7988338,0.7770737,0.7811303,10.9897731,7.6337112,44.4414554,10.6386295,27.9798533,71.108167,39.8568433,44.1410389,22.0519601,4.7773048,9.7204698,8.5506933,35.0370333,7.6868829 +1942,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6280522,0.6084975,9.1881175,5.9577552,29.1465746,10.3635133,31.2534842,65.9253321,35.3410987,47.0421248,20.4014707,3.7492679,10.9016108,8.9708838,29.8764915,6.3235294,0.5650104,0.5435037,9.3373501,6.1234355,29.4138886,9.8557238,30.9508919,65.8114211,34.4341583,46.7768043,20.1112082,3.7360767,11.2414782,9.2331692,30.2186872,6.4564623,0.6030308,0.5768748,9.9842423,6.530084,29.6511978,9.7841491,31.0481205,65.4330749,34.1014402,46.5467272,19.8675993,3.5984117,11.0389023,8.9767054,30.2960086,7.0093523,0.6319054,0.6100144,10.4023113,6.941745,29.7928756,9.7593287,31.0109143,65.1097538,33.5876934,46.2188004,19.6400161,3.4798895,10.9911983,8.789554,30.6950791,7.2485271,0.6606359,0.6374554,10.5978968,7.1846867,29.9761728,9.5938842,30.9467278,65.0071808,33.0621688,45.6099024,19.3771,3.4443789,10.8414263,8.7476438,30.5693067,7.7868916 +1943,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9024246,0.9654579,12.6185988,8.9590654,25.8133669,20.6491487,36.4357955,68.016177,42.1953101,48.7896405,23.9983166,3.6866947,10.782288,10.4759164,35.1315888,10.7143838,0.8580418,0.9048255,12.4337176,8.9729253,25.7019867,20.4113262,36.0246535,67.6336517,42.0548489,48.3137952,23.8782439,3.6438983,10.3803453,9.9574903,34.5092357,12.78419,0.8844636,0.9222378,12.4781585,8.8963296,26.2368026,20.442375,35.9063243,67.557519,42.0274544,48.6861655,23.7533564,3.5980923,10.1681103,9.9563367,34.7244528,12.2024405,0.7233629,0.7721015,12.8314724,9.1298209,26.2316207,19.686685,36.9437462,66.6338338,40.549284,48.6056237,23.2253494,3.3098564,10.7006575,10.1104518,34.3959201,12.2023955,0.719681,0.7600928,13.2321643,9.4326997,27.1197772,19.4965721,37.1286215,66.0588618,39.7757491,48.3656911,22.5688608,3.2279803,11.2434755,10.3621055,33.7624636,11.7142991 +1944,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7250444,0.7078626,9.822486,6.6069395,23.5742982,15.9264149,33.6682309,68.9077916,39.5414982,49.1585065,23.0036104,4.2503833,10.0934217,10.6343851,32.5396833,6.4999978,0.7607962,0.7626652,9.9816933,6.5018366,23.2547902,16.0300685,34.077323,68.4539121,39.0713359,48.8199023,22.9604967,4.2842459,10.1982499,10.5678733,32.6027981,6.7213137,0.7882901,0.7955777,9.9650473,6.501837,23.0519985,16.4405512,34.4954697,68.6397232,39.3095892,49.1947871,23.4281326,4.1373972,9.8158524,10.2602097,33.5274741,6.1461835,0.7984538,0.8039609,10.2042578,6.6174041,22.8001299,16.8579956,34.2747476,68.2337957,39.3430184,48.7286729,23.4727012,4.1211586,10.0455848,9.9934793,33.1963181,6.610174,0.8744602,0.8682688,10.3310629,6.678087,22.5021368,16.3949234,34.529424,68.4621878,39.5546379,48.7815183,23.3865581,3.974786,10.6881114,9.8661152,33.3922894,6.7241402 +1945,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4622669,1.5046178,16.3114793,11.7433456,39.7346005,15.7687931,32.9115817,68.9159427,37.0157058,45.7835932,24.9831603,4.5471876,10.9602067,10.1371534,40.1880816,12.3831718,1.503141,1.5342326,16.4020573,12.0251705,39.7948592,15.5641419,33.6669482,69.0415323,37.1449196,46.0686412,24.7432174,4.7364463,10.6277782,9.8246558,40.0749262,11.8534483,1.3561915,1.3663244,16.8711405,12.4603837,39.430355,15.5777851,32.7030759,68.7862487,37.0564091,45.8527942,24.579871,4.7796758,10.4757428,9.4148904,40.9148056,12.3949632,1.4147499,1.424757,18.2896079,13.7008163,39.7466676,15.2816066,32.5322058,68.8080575,36.6615173,45.9413932,24.5399466,4.5067362,10.3773191,8.9209792,40.3858415,13.3474689,1.5145756,1.5016267,19.2814758,14.6997379,39.6747587,15.4060789,31.5061291,69.105517,36.1629259,46.5976292,24.3053042,4.2471829,10.3072457,9.0629154,40.4754241,14.2570396 +1946,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.503141,1.5342326,16.4020573,12.0251705,39.7948592,15.5641419,33.6669482,69.0415323,37.1449196,46.0686412,24.7432174,4.7364463,10.6277782,9.8246558,40.0749262,11.8534483,1.3561915,1.3663244,16.8711405,12.4603837,39.430355,15.5777851,32.7030759,68.7862487,37.0564091,45.8527942,24.579871,4.7796758,10.4757428,9.4148904,40.9148056,12.3949632,1.4147499,1.424757,18.2896079,13.7008163,39.7466676,15.2816066,32.5322058,68.8080575,36.6615173,45.9413932,24.5399466,4.5067362,10.3773191,8.9209792,40.3858415,13.3474689,1.5145756,1.5016267,19.2814758,14.6997379,39.6747587,15.4060789,31.5061291,69.105517,36.1629259,46.5976292,24.3053042,4.2471829,10.3072457,9.0629154,40.4754241,14.2570396,1.8030694,1.8154646,20.6594456,16.0369191,40.3733246,15.568756,31.2397845,68.6027171,36.0701323,45.7308318,24.180023,4.4381438,10.7070143,8.9699598,40.0979547,18.1648076 +1947,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6251994,0.5929265,8.9450118,5.7601392,42.3310496,16.1477743,30.5485963,69.8772624,38.4644412,47.1568107,20.8792765,3.5445925,8.9205495,9.4750041,31.6649835,4.2168658,0.6198767,0.5828972,9.0659397,5.7692294,41.8720931,16.1424874,30.5824115,70.0217636,38.5089522,46.7254781,21.616747,3.467859,9.2296585,9.8786424,32.5927646,5.2734375,0.6141676,0.5842043,9.007061,5.7959428,41.5540427,16.1176764,30.3921575,70.3229604,38.9042759,46.6089997,21.7185861,3.5178779,9.0846395,9.5161315,31.7338792,5.5956679,0.6917059,0.6560208,9.3244475,5.9575814,41.608689,15.7728434,30.412139,69.7208212,38.0567341,46.1887981,21.1943421,3.5342358,8.9929637,8.8766519,31.6710737,5.496452,0.6257176,0.632391,9.6417869,6.1668759,41.9358174,15.9679147,30.3000661,70.2435448,37.4755523,46.1730868,20.6892975,3.5986074,8.7229399,8.8248009,30.8816884,5.9139721 +1948,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8580418,0.9048255,12.4337176,8.9729253,25.7019867,20.4113262,36.0246535,67.6336517,42.0548489,48.3137952,23.8782439,3.6438983,10.3803453,9.9574903,34.5092357,12.78419,0.8844636,0.9222378,12.4781585,8.8963296,26.2368026,20.442375,35.9063243,67.557519,42.0274544,48.6861655,23.7533564,3.5980923,10.1681103,9.9563367,34.7244528,12.2024405,0.7233629,0.7721015,12.8314724,9.1298209,26.2316207,19.686685,36.9437462,66.6338338,40.549284,48.6056237,23.2253494,3.3098564,10.7006575,10.1104518,34.3959201,12.2023955,0.719681,0.7600928,13.2321643,9.4326997,27.1197772,19.4965721,37.1286215,66.0588618,39.7757491,48.3656911,22.5688608,3.2279803,11.2434755,10.3621055,33.7624636,11.7142991,0.9011011,0.9322176,13.6976992,9.8861693,27.3825555,19.2223529,37.0114873,65.8930501,38.7757884,48.6834775,21.8376348,3.1623164,11.3092446,10.2113977,33.6923579,12.7219161 +1949,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6616899,0.6727335,9.8803357,6.7913123,36.7595479,20.7447717,32.5510238,66.8335534,38.2310843,45.7129227,22.1446512,6.057553,10.1121988,7.8043861,32.1894024,6.418895,0.7023884,0.7316838,10.0620317,6.8977793,37.0972709,20.8322898,32.338531,66.390116,38.4123684,45.0703403,22.2996974,6.1564521,10.0362326,7.9602187,32.5419329,6.9937146,0.7407645,0.7746517,10.0029859,6.8851742,37.0661522,20.7196087,32.5117027,66.329449,37.9827334,45.0927607,22.3417581,6.0973309,10.1735248,8.1763128,33.2997302,7.314387,0.740222,0.7693184,10.4069803,7.1473483,37.1531428,20.6873871,32.5734354,66.6212545,37.987158,45.4802068,22.5187224,6.2116866,10.0350921,8.1569108,32.8265706,7.3695918,0.7376665,0.7617191,10.7674196,7.4867823,37.5368827,20.1844529,33.0257411,65.8455161,36.8551035,45.1709143,22.3147998,6.4921749,10.2063888,8.2143291,33.0172025,8.1521721 +1950,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6929537,0.6862671,10.6817937,7.5139774,45.2079632,10.7441081,28.7085246,70.8794216,41.1461747,43.5968359,21.9746227,5.0368657,9.6729049,8.5126989,34.8123223,8.2844587,0.7401653,0.7330566,10.5094864,7.3550151,44.4486848,10.8275827,28.1421395,71.0300002,40.8827024,44.2586809,21.906243,4.9940839,9.5303861,8.0658868,35.0942984,8.3333333,0.770834,0.75883,10.6418568,7.4056111,44.1422367,10.8466145,27.8468168,71.1676536,40.6373865,44.3438693,22.1156915,4.900909,9.5091367,8.3900463,35.3778619,7.7988338,0.7770737,0.7811303,10.9897731,7.6337112,44.4414554,10.6386295,27.9798533,71.108167,39.8568433,44.1410389,22.0519601,4.7773048,9.7204698,8.5506933,35.0370333,7.6868829,0.7893435,0.8115314,11.0873162,7.6195923,44.57532,10.5762322,27.8795152,70.049945,39.3767581,43.6114847,21.8655712,4.7081455,9.7389349,8.0085694,35.2681247,7.5172424 +1951,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.2258994,1.2258994,14.1247814,11.6984955,57.375303,27.3568039,35.7992903,67.2617129,33.9286914,40.9013875,20.3231838,5.0170623,13.8331844,9.49996,35.6416979,7.2646541,1.0026421,1.0026421,13.2091831,10.9042827,57.1301986,28.2422446,35.0861086,67.6721934,34.5690347,39.5689097,21.4655484,4.5690088,12.8244756,10.5862598,32.7299283,6.5213894,1.0709696,1.0709696,12.611752,10.1073445,54.5853138,28.3619686,35.6391912,69.4393121,36.865209,41.5937092,22.1541344,5.3415529,12.1751384,9.6090672,32.5160582,6.8803699,1.1267295,1.1267295,12.5450591,9.6570366,54.5534741,29.9824911,34.1917475,68.8276372,34.547079,40.5861148,22.1136759,6.3055566,11.9280581,10.3278065,32.2950718,5.7518463,1.0691043,1.0691043,11.8028378,8.8289171,51.0146321,29.5661436,32.9378606,69.6168206,34.0330369,42.2446231,22.5365606,6.6606569,10.7144133,9.0444766,34.4178783,6.8804015 +1952,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6678039,0.6729258,8.3477688,5.2564948,43.7371533,13.7470079,29.7211762,68.4334574,33.7351837,42.9216039,18.5681583,14.6349712,9.626025,8.1926163,37.1417187,3.1069364,0.6541501,0.6409837,8.1596298,5.1649067,43.3076713,13.6226369,29.6284042,68.1021889,33.6230918,43.1254145,18.5600523,14.618449,9.6031582,8.3248379,37.1827759,3.7390029,0.6655942,0.6625767,8.3366141,5.4112567,42.8542685,13.8697061,29.6240329,68.022874,33.4100166,42.6646487,18.660442,14.6772715,9.6617791,8.3104942,37.1926756,3.4156977,0.6863956,0.6814798,8.3868075,5.6147338,42.5753541,14.1846218,29.6579705,68.2203942,33.5154922,43.5193487,18.7025813,14.6264624,9.6051412,8.3859278,37.0573922,4.1727672,0.7300985,0.7250406,8.6930685,5.9471955,42.5020132,13.9779964,29.2617055,67.7323686,33.045481,42.9334207,18.9518767,14.4693472,9.6111253,8.2778193,37.5185963,3.961136 +1953,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3290088,0.3511229,6.5889629,4.0675547,42.1421663,23.089701,28.1369732,67.2653257,35.8955939,46.7193487,18.75,5.8668582,9.8771267,9.6972564,34.1170825,2.2727273,0.3463557,0.3686374,6.6331418,4.1427203,41.9268293,23.1929153,28.1625782,67.8932179,35.7142857,46.007696,18.3020683,5.9403559,9.2857143,9.5714286,34.4476744,1.6778523,0.3819133,0.4043348,6.4680233,3.997093,42.0371275,23.7397984,29.3053546,68.9097926,36.0588519,46.1890979,18.6444766,6.6811384,9.5615672,9.7572362,34.1706161,1.8248175,0.3822967,0.4264079,6.8041726,4.1488857,41.5662651,23.4249171,29.547619,69.2619048,35.6428571,45.547619,18.1666667,6.1190476,9.2694064,9.1948765,33.287037,1.8656716,0.4650152,0.522961,7.2994403,4.454291,41.6627191,22.1006055,29.7708138,68.5921422,34.6819457,44.9719364,17.9840973,5.9167446,9.6083789,9.543379,32.4287029,1.7482517 +1954,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8844636,0.9222378,12.4781585,8.8963296,26.2368026,20.442375,35.9063243,67.557519,42.0274544,48.6861655,23.7533564,3.5980923,10.1681103,9.9563367,34.7244528,12.2024405,0.7233629,0.7721015,12.8314724,9.1298209,26.2316207,19.686685,36.9437462,66.6338338,40.549284,48.6056237,23.2253494,3.3098564,10.7006575,10.1104518,34.3959201,12.2023955,0.719681,0.7600928,13.2321643,9.4326997,27.1197772,19.4965721,37.1286215,66.0588618,39.7757491,48.3656911,22.5688608,3.2279803,11.2434755,10.3621055,33.7624636,11.7142991,0.9011011,0.9322176,13.6976992,9.8861693,27.3825555,19.2223529,37.0114873,65.8930501,38.7757884,48.6834775,21.8376348,3.1623164,11.3092446,10.2113977,33.6923579,12.7219161,0.845709,0.8846766,13.9550465,10.1360698,27.9522023,19.2328796,37.2022142,65.5555599,37.7376186,48.9290199,22.3426607,3.0923597,11.2695621,10.1375824,33.6898753,14.6875184 +1955,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4469496,0.468652,10.124374,7.0880963,42.8202483,14.4500545,27.3198659,68.0402764,34.2134568,44.7303841,16.294763,5.4021288,10.1202718,8.8848998,28.6261049,5.4924471,0.4540363,0.4551137,10.1680494,7.1914362,42.8287138,14.2189594,27.5564052,66.9622978,34.3275136,44.3458969,16.2022545,5.5619607,10.5555915,8.9580138,28.6512643,4.9019608,0.4884517,0.4945817,10.6485686,7.7080583,43.6362548,13.7008764,28.8452331,65.9180838,33.0521143,44.401802,16.3343295,5.1818646,11.1091728,9.1948393,29.4750679,7.1687422,0.5331927,0.5391629,11.1589488,8.1299496,43.4577181,13.0626032,28.7044427,65.29981,31.895083,44.3790234,15.9849828,5.0856589,11.525549,9.47961,29.9492217,6.9488315,0.4871232,0.4930603,11.601261,8.4782565,43.5867331,13.1775673,28.719076,65.0788499,31.319208,44.5332577,15.6755557,5.2536274,11.3370762,9.5308423,29.4377664,5.8525395 +1956,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5650104,0.5435037,9.3373501,6.1234355,29.4138886,9.8557238,30.9508919,65.8114211,34.4341583,46.7768043,20.1112082,3.7360767,11.2414782,9.2331692,30.2186872,6.4564623,0.6030308,0.5768748,9.9842423,6.530084,29.6511978,9.7841491,31.0481205,65.4330749,34.1014402,46.5467272,19.8675993,3.5984117,11.0389023,8.9767054,30.2960086,7.0093523,0.6319054,0.6100144,10.4023113,6.941745,29.7928756,9.7593287,31.0109143,65.1097538,33.5876934,46.2188004,19.6400161,3.4798895,10.9911983,8.789554,30.6950791,7.2485271,0.6606359,0.6374554,10.5978968,7.1846867,29.9761728,9.5938842,30.9467278,65.0071808,33.0621688,45.6099024,19.3771,3.4443789,10.8414263,8.7476438,30.5693067,7.7868916,0.6363037,0.6289161,10.8634131,7.3828376,30.5007176,9.7191572,30.4807475,64.8625267,33.0269234,45.4450494,19.0971245,3.2475361,11.069954,8.8712335,30.8446275,7.333362 +1957,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6404052,1.5721104,23.2199825,18.3658248,47.8690969,15.8268263,43.4152916,66.0551143,41.541466,52.6456817,28.3941956,3.4592002,12.1922921,11.9867663,31.62478,21.0288795,1.3865766,1.476937,23.4037162,18.5977829,46.5825654,15.2302312,44.5719589,66.5964705,41.443551,52.7926917,28.0685285,3.5144655,12.0661332,10.7943101,30.8970971,17.8814028,1.5356911,1.6275004,23.6641412,18.5829795,45.3773263,15.1607029,43.6537114,67.4570434,41.1597181,52.1099575,27.7145887,4.0954394,11.1326515,9.8214955,30.2255563,18.0142085,1.7959714,1.8894286,23.5290938,18.7091103,45.544399,16.3215976,42.733315,66.9455264,39.8340559,51.8024162,28.5641463,4.0939206,10.8345471,9.3165713,28.5942745,23.6424945,1.7750215,1.8721383,23.234705,18.2386964,46.2949538,16.2613083,43.3079,66.592443,38.6393147,50.458877,27.5468642,3.8042188,10.8664233,8.8879457,30.7521163,21.7549115 +1958,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4894453,0.5220768,9.494154,6.3231443,39.3055791,19.183605,31.349996,69.8595467,39.5825153,45.5910991,22.9223501,3.218886,10.0000114,9.5257517,28.9777515,4.8148112,0.4851125,0.5282687,9.2824693,6.2452579,38.6573413,19.3629472,31.0757979,70.4947076,39.6348616,46.4271657,23.0270753,3.2783684,9.7590452,9.364945,28.8898006,4.887218,0.4929315,0.5541885,8.7362064,5.9573655,37.891584,19.4251586,30.5806296,70.9494007,39.6430006,47.0184289,22.8913138,3.7858035,9.5333866,9.1532177,29.0178637,4.0740741,0.5345584,0.5596686,8.9719334,6.2025799,38.9956173,19.5426598,30.0272907,70.7131726,38.5229876,46.7848615,22.6227312,3.6827805,9.4807351,9.431724,30.8088751,5.2816901,0.5952105,0.6111714,8.9426394,6.2429706,38.2899053,20.0037945,30.2768257,71.1841579,38.5813048,46.9242459,22.8950144,3.633224,9.0182842,9.4965639,31.2739941,3.7671233 +1959,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4540363,0.4551137,10.1680494,7.1914362,42.8287138,14.2189594,27.5564052,66.9622978,34.3275136,44.3458969,16.2022545,5.5619607,10.5555915,8.9580138,28.6512643,4.9019608,0.4884517,0.4945817,10.6485686,7.7080583,43.6362548,13.7008764,28.8452331,65.9180838,33.0521143,44.401802,16.3343295,5.1818646,11.1091728,9.1948393,29.4750679,7.1687422,0.5331927,0.5391629,11.1589488,8.1299496,43.4577181,13.0626032,28.7044427,65.29981,31.895083,44.3790234,15.9849828,5.0856589,11.525549,9.47961,29.9492217,6.9488315,0.4871232,0.4930603,11.601261,8.4782565,43.5867331,13.1775673,28.719076,65.0788499,31.319208,44.5332577,15.6755557,5.2536274,11.3370762,9.5308423,29.4377664,5.8525395,0.5185992,0.5278055,12.1195849,8.9099419,44.0617533,13.1953069,28.6334012,64.618163,30.8122941,44.0555066,15.1787045,5.3628178,11.3622437,9.8281751,29.2968624,7.0717727 +1960,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.0026421,1.0026421,13.2091831,10.9042827,57.1301986,28.2422446,35.0861086,67.6721934,34.5690347,39.5689097,21.4655484,4.5690088,12.8244756,10.5862598,32.7299283,6.5213894,1.0709696,1.0709696,12.611752,10.1073445,54.5853138,28.3619686,35.6391912,69.4393121,36.865209,41.5937092,22.1541344,5.3415529,12.1751384,9.6090672,32.5160582,6.8803699,1.1267295,1.1267295,12.5450591,9.6570366,54.5534741,29.9824911,34.1917475,68.8276372,34.547079,40.5861148,22.1136759,6.3055566,11.9280581,10.3278065,32.2950718,5.7518463,1.0691043,1.0691043,11.8028378,8.8289171,51.0146321,29.5661436,32.9378606,69.6168206,34.0330369,42.2446231,22.5365606,6.6606569,10.7144133,9.0444766,34.4178783,6.8804015,1.0654392,1.0654392,11.7913973,9.0492183,50.8240032,30.2515743,33.3029941,69.0563846,35.4812452,43.648144,22.9583887,5.8984469,11.5918359,8.5070478,36.538559,5.8555373 +1961,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6482599,1.6913309,27.9271216,23.0164544,57.398022,16.2669928,39.2261481,64.3946742,36.3114398,45.7296483,20.8505039,3.5190344,14.9564148,12.619889,35.1380168,17.3343245,1.7014569,1.7475225,27.4858561,22.7053014,57.3921194,16.7698989,38.9781111,64.214459,35.6978705,45.3329092,20.6483904,3.5147819,14.5259884,12.4051928,34.598863,20.7555002,1.7106542,1.711956,27.1520593,22.519478,57.1484097,17.0126904,38.4534675,64.2482543,34.6921033,44.5034561,20.5247654,3.2750958,12.8777065,12.2967327,34.4510562,20.2959639,1.7795535,1.7678156,27.3952012,22.5005596,56.7927943,17.0962748,38.5036456,63.0170324,33.7215326,44.3069029,21.1024605,3.2790618,12.290239,12.0554757,34.2495203,20.1649916,1.7084711,1.6966314,27.2288874,22.4984777,56.2770504,17.3399852,38.1771578,63.0167813,33.9966252,44.7505113,21.1474767,2.9665405,12.540288,11.8666404,34.3070973,17.8721866 +1962,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7607962,0.7626652,9.9816933,6.5018366,23.2547902,16.0300685,34.077323,68.4539121,39.0713359,48.8199023,22.9604967,4.2842459,10.1982499,10.5678733,32.6027981,6.7213137,0.7882901,0.7955777,9.9650473,6.501837,23.0519985,16.4405512,34.4954697,68.6397232,39.3095892,49.1947871,23.4281326,4.1373972,9.8158524,10.2602097,33.5274741,6.1461835,0.7984538,0.8039609,10.2042578,6.6174041,22.8001299,16.8579956,34.2747476,68.2337957,39.3430184,48.7286729,23.4727012,4.1211586,10.0455848,9.9934793,33.1963181,6.610174,0.8744602,0.8682688,10.3310629,6.678087,22.5021368,16.3949234,34.529424,68.4621878,39.5546379,48.7815183,23.3865581,3.974786,10.6881114,9.8661152,33.3922894,6.7241402,0.8588817,0.8528079,10.2960174,6.5680086,21.920927,16.8298063,34.6590928,68.8817497,40.1268181,49.5635708,23.7895183,4.0760859,11.0991645,9.6679931,32.9770861,5.8718882 +1963,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9287136,1.9287136,34.2022117,29.3048973,66.0862355,6.0629921,39.9839744,65.4647436,27.8044872,41.1057692,17.0673077,6.9711538,18.2539683,12.2222222,35.3035144,16.0377358,1.8425566,1.8425566,34.3014129,29.4348509,66.8039539,4.9528302,39.28,64.72,27.12,42.96,16.72,6.32,16.0550459,11.1620795,33.4876543,14.3312102,1.9770086,2.1258181,33.6234177,28.8765823,68.616145,4.4811321,40.1442308,62.900641,26.5224359,43.6698718,15.9455128,5.6891026,16.6158537,13.2621951,33.7962963,12.654321,1.9797583,2.1326635,32.9268293,27.8861789,68.6655405,4.7734628,39.4563427,62.5205931,24.6293245,44.7281713,16.3920923,5.8484349,16.2460568,12.7760252,34.6645367,13.8709677,2.2035411,2.3534661,34.16,28.72,69.0713101,5.0159236,38.5298869,61.9547658,25.2827141,45.638126,15.4281099,5.5735057,15.3731343,11.7910448,35.1963746,13.1097561 +1964,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7319771,0.7729638,8.747563,5.2485509,33.8459478,24.4534298,31.5217162,67.5372898,35.4152992,45.6034818,17.8942326,8.4198543,11.3272146,8.9363023,32.0362016,1.7786526,0.6120276,0.6512675,8.7034134,5.4295159,33.0195417,24.8634607,30.940012,67.3743687,35.510518,45.0729066,18.1037265,7.9578549,11.3834254,8.980731,31.5116344,2.123548,0.5451122,0.608626,8.9348853,5.4058589,33.4910545,24.3480296,30.3616909,67.1734783,34.7471157,45.1184256,17.9097361,7.7304712,11.9353079,9.8776426,32.0356161,2.398524,0.5516566,0.5866074,8.6790733,5.3269393,32.8876109,24.414838,30.4658626,67.5707137,34.858566,44.7753682,18.0865363,7.7703838,11.9736343,9.7860043,31.5972687,2.9069767,0.5199035,0.5664998,8.9059662,5.623921,32.9422308,23.901267,30.9106289,67.8522085,35.3779572,45.6528862,18.8831258,7.8178546,12.3160913,9.4030567,31.996163,2.9069767 +1965,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8380641,0.8310332,10.3923017,7.0037837,43.5501916,18.8944783,30.868765,71.2827456,38.3306705,45.983079,23.5430454,4.452606,10.5560245,8.4271,35.298874,7.83912,0.8163805,0.7897297,10.3490126,7.0975834,44.9241085,18.8982131,31.2652955,70.1134856,37.6723926,45.809674,22.965658,4.3660235,10.858054,8.7272826,36.5136315,7.056508,0.8248733,0.814583,10.5256975,7.1783817,44.903114,19.0757125,31.0729143,70.1845845,38.028472,45.9737787,23.3414029,4.2669737,10.8087933,9.2858262,37.5666666,7.0610737,0.8345231,0.8283644,10.6359058,7.198285,45.022819,19.3274246,31.3030176,69.4899809,38.0682704,45.4677228,23.0048231,4.2943879,10.799113,9.7832935,38.1116252,7.3308336,0.7682054,0.7810401,10.3861334,7.0398912,45.2444183,19.8531608,31.9124568,69.2681648,37.8935643,45.0550415,22.8096639,4.3678246,10.4019657,9.5978714,38.2582023,6.782949 +1966,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.0574451,1.0544639,15.7984179,10.7912107,55.9678469,13.9050473,29.3752148,62.3530385,33.6823004,39.4369726,17.3825644,3.9455115,13.417824,10.1771195,39.6559432,11.1940329,0.9810203,0.9273823,15.9583138,11.3741853,57.2212727,14.0096613,29.8201653,63.4610782,34.0637815,40.1018035,17.542131,3.654899,13.6103271,11.3003532,37.7366113,8.3108128,0.9601798,0.8817892,16.6076422,12.182624,58.1618913,14.8373493,29.4710239,63.4616534,34.1344139,39.7243481,18.6416968,3.7368739,13.9126276,12.0785131,37.8404405,6.9946648,0.9297888,0.9212655,15.9173613,12.2041758,60.0791764,14.8169776,30.2138479,62.9808645,33.5674072,39.8149344,18.4147984,3.766677,14.4346148,12.1773585,37.7188924,6.7893821,1.130314,1.1219467,17.2046677,13.6080152,61.1202206,14.3369004,30.4579977,62.1877172,33.4790489,39.1663797,18.1943591,3.6885617,15.1492403,12.3599097,36.6667513,9.9787284 +1967,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3561915,1.3663244,16.8711405,12.4603837,39.430355,15.5777851,32.7030759,68.7862487,37.0564091,45.8527942,24.579871,4.7796758,10.4757428,9.4148904,40.9148056,12.3949632,1.4147499,1.424757,18.2896079,13.7008163,39.7466676,15.2816066,32.5322058,68.8080575,36.6615173,45.9413932,24.5399466,4.5067362,10.3773191,8.9209792,40.3858415,13.3474689,1.5145756,1.5016267,19.2814758,14.6997379,39.6747587,15.4060789,31.5061291,69.105517,36.1629259,46.5976292,24.3053042,4.2471829,10.3072457,9.0629154,40.4754241,14.2570396,1.8030694,1.8154646,20.6594456,16.0369191,40.3733246,15.568756,31.2397845,68.6027171,36.0701323,45.7308318,24.180023,4.4381438,10.7070143,8.9699598,40.0979547,18.1648076,1.8823619,1.8871942,21.5031801,16.7641833,40.8928349,14.8144371,31.4089203,67.9531681,35.9265244,45.3247835,24.1887894,4.3361008,11.2762857,9.3376263,40.8750421,19.2307833 +1968,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7023897,0.7185981,10.8096881,7.280673,25.8053881,14.4123959,29.5847778,69.4725451,41.6519525,49.5302916,22.0539545,7.0600914,9.9136146,9.003045,31.6489488,4.1906441,0.6470209,0.6630887,11.3333657,7.5272069,26.2045361,14.3184015,30.0170323,68.8398445,41.853924,49.6376787,22.439727,6.6256963,9.3879842,8.536115,31.6600658,3.6938093,0.8224932,0.8333304,11.1143362,7.3694197,26.156438,14.160975,30.0519954,69.1105244,41.6229242,48.9382454,22.3870379,6.7067167,10.068194,8.5999499,32.8032209,3.6938093,0.7083335,0.7191497,10.7977302,7.1583739,26.2308641,14.3827547,30.2572681,68.5607025,40.9658997,48.7153872,21.8809029,6.7252282,10.0071303,8.5977851,34.4038029,3.125531,0.6453125,0.670413,11.0891266,7.3194905,25.6115244,14.1773421,30.5024005,68.1596877,40.665521,48.3890455,21.6447692,6.9854165,10.0073804,8.6504583,34.1604771,3.5917555 +1969,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6541501,0.6409837,8.1596298,5.1649067,43.3076713,13.6226369,29.6284042,68.1021889,33.6230918,43.1254145,18.5600523,14.618449,9.6031582,8.3248379,37.1827759,3.7390029,0.6655942,0.6625767,8.3366141,5.4112567,42.8542685,13.8697061,29.6240329,68.022874,33.4100166,42.6646487,18.660442,14.6772715,9.6617791,8.3104942,37.1926756,3.4156977,0.6863956,0.6814798,8.3868075,5.6147338,42.5753541,14.1846218,29.6579705,68.2203942,33.5154922,43.5193487,18.7025813,14.6264624,9.6051412,8.3859278,37.0573922,4.1727672,0.7300985,0.7250406,8.6930685,5.9471955,42.5020132,13.9779964,29.2617055,67.7323686,33.045481,42.9334207,18.9518767,14.4693472,9.6111253,8.2778193,37.5185963,3.961136,0.7792917,0.7803425,9.0115457,6.1932906,42.7519922,13.4974723,28.8313705,67.4471303,33.0060378,42.6462483,18.9988982,14.3161219,10.3854943,8.3036606,37.5447177,3.5266458 +1970,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6198767,0.5828972,9.0659397,5.7692294,41.8720931,16.1424874,30.5824115,70.0217636,38.5089522,46.7254781,21.616747,3.467859,9.2296585,9.8786424,32.5927646,5.2734375,0.6141676,0.5842043,9.007061,5.7959428,41.5540427,16.1176764,30.3921575,70.3229604,38.9042759,46.6089997,21.7185861,3.5178779,9.0846395,9.5161315,31.7338792,5.5956679,0.6917059,0.6560208,9.3244475,5.9575814,41.608689,15.7728434,30.412139,69.7208212,38.0567341,46.1887981,21.1943421,3.5342358,8.9929637,8.8766519,31.6710737,5.496452,0.6257176,0.632391,9.6417869,6.1668759,41.9358174,15.9679147,30.3000661,70.2435448,37.4755523,46.1730868,20.6892975,3.5986074,8.7229399,8.8248009,30.8816884,5.9139721,0.676364,0.7080053,9.4846069,6.2339575,42.0402174,16.1094486,30.3308853,70.101653,36.7106532,45.5774395,20.1881602,3.6007776,8.8970239,8.5708132,30.7809,5.3819407 +1971,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7014569,1.7475225,27.4858561,22.7053014,57.3921194,16.7698989,38.9781111,64.214459,35.6978705,45.3329092,20.6483904,3.5147819,14.5259884,12.4051928,34.598863,20.7555002,1.7106542,1.711956,27.1520593,22.519478,57.1484097,17.0126904,38.4534675,64.2482543,34.6921033,44.5034561,20.5247654,3.2750958,12.8777065,12.2967327,34.4510562,20.2959639,1.7795535,1.7678156,27.3952012,22.5005596,56.7927943,17.0962748,38.5036456,63.0170324,33.7215326,44.3069029,21.1024605,3.2790618,12.290239,12.0554757,34.2495203,20.1649916,1.7084711,1.6966314,27.2288874,22.4984777,56.2770504,17.3399852,38.1771578,63.0167813,33.9966252,44.7505113,21.1474767,2.9665405,12.540288,11.8666404,34.3070973,17.8721866,1.5825761,1.5574828,27.3906133,22.4867138,56.5960806,17.7909806,38.9541666,63.566146,34.1675825,44.8495282,21.3022807,3.1412225,12.909208,11.683983,33.8536074,18.1705212 +1972,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6470209,0.6630887,11.3333657,7.5272069,26.2045361,14.3184015,30.0170323,68.8398445,41.853924,49.6376787,22.439727,6.6256963,9.3879842,8.536115,31.6600658,3.6938093,0.8224932,0.8333304,11.1143362,7.3694197,26.156438,14.160975,30.0519954,69.1105244,41.6229242,48.9382454,22.3870379,6.7067167,10.068194,8.5999499,32.8032209,3.6938093,0.7083335,0.7191497,10.7977302,7.1583739,26.2308641,14.3827547,30.2572681,68.5607025,40.9658997,48.7153872,21.8809029,6.7252282,10.0071303,8.5977851,34.4038029,3.125531,0.6453125,0.670413,11.0891266,7.3194905,25.6115244,14.1773421,30.5024005,68.1596877,40.665521,48.3890455,21.6447692,6.9854165,10.0073804,8.6504583,34.1604771,3.5917555,0.7577905,0.783134,11.0390344,7.2280548,25.4053987,13.802703,30.1947642,68.2442734,40.9143584,48.2334945,21.8707093,6.6774204,9.9327918,8.7301489,33.6623642,4.6455703 +1973,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6120276,0.6512675,8.7034134,5.4295159,33.0195417,24.8634607,30.940012,67.3743687,35.510518,45.0729066,18.1037265,7.9578549,11.3834254,8.980731,31.5116344,2.123548,0.5451122,0.608626,8.9348853,5.4058589,33.4910545,24.3480296,30.3616909,67.1734783,34.7471157,45.1184256,17.9097361,7.7304712,11.9353079,9.8776426,32.0356161,2.398524,0.5516566,0.5866074,8.6790733,5.3269393,32.8876109,24.414838,30.4658626,67.5707137,34.858566,44.7753682,18.0865363,7.7703838,11.9736343,9.7860043,31.5972687,2.9069767,0.5199035,0.5664998,8.9059662,5.623921,32.9422308,23.901267,30.9106289,67.8522085,35.3779572,45.6528862,18.8831258,7.8178546,12.3160913,9.4030567,31.996163,2.9069767,0.528059,0.5693649,9.326999,6.0927682,32.7312808,23.3955991,31.0576011,66.2901121,33.6770949,45.1702125,18.3529436,7.3837445,13.061849,9.436624,31.7901835,3.4050179 +1974,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8163805,0.7897297,10.3490126,7.0975834,44.9241085,18.8982131,31.2652955,70.1134856,37.6723926,45.809674,22.965658,4.3660235,10.858054,8.7272826,36.5136315,7.056508,0.8248733,0.814583,10.5256975,7.1783817,44.903114,19.0757125,31.0729143,70.1845845,38.028472,45.9737787,23.3414029,4.2669737,10.8087933,9.2858262,37.5666666,7.0610737,0.8345231,0.8283644,10.6359058,7.198285,45.022819,19.3274246,31.3030176,69.4899809,38.0682704,45.4677228,23.0048231,4.2943879,10.799113,9.7832935,38.1116252,7.3308336,0.7682054,0.7810401,10.3861334,7.0398912,45.2444183,19.8531608,31.9124568,69.2681648,37.8935643,45.0550415,22.8096639,4.3678246,10.4019657,9.5978714,38.2582023,6.782949,0.6738755,0.6946315,10.7096314,7.3154063,44.6759926,19.445078,31.4797014,68.5986165,37.4187483,44.8423792,22.9098119,4.4933953,10.8849339,10.0906284,37.7221013,7.3585378 +1975,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4884517,0.4945817,10.6485686,7.7080583,43.6362548,13.7008764,28.8452331,65.9180838,33.0521143,44.401802,16.3343295,5.1818646,11.1091728,9.1948393,29.4750679,7.1687422,0.5331927,0.5391629,11.1589488,8.1299496,43.4577181,13.0626032,28.7044427,65.29981,31.895083,44.3790234,15.9849828,5.0856589,11.525549,9.47961,29.9492217,6.9488315,0.4871232,0.4930603,11.601261,8.4782565,43.5867331,13.1775673,28.719076,65.0788499,31.319208,44.5332577,15.6755557,5.2536274,11.3370762,9.5308423,29.4377664,5.8525395,0.5185992,0.5278055,12.1195849,8.9099419,44.0617533,13.1953069,28.6334012,64.618163,30.8122941,44.0555066,15.1787045,5.3628178,11.3622437,9.8281751,29.2968624,7.0717727,0.6227834,0.6505886,12.7383755,9.6082196,44.2056356,12.6325642,27.9953715,64.5293935,30.0378052,43.7672298,15.1926234,5.2958832,12.1646091,10.090828,30.1301243,9.2182209 +1976,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4793856,2.5908413,38.3383963,33.2861623,76.3155776,12.6181273,35.3164168,61.5817675,23.5849927,36.5305245,15.6165019,2.0644638,16.9993632,12.6445749,43.6681932,24.8268407,2.5919635,2.7065826,38.1931238,32.8926875,76.4644594,13.0421951,34.8681422,62.1439718,23.0549991,36.636344,15.1685418,1.9045234,16.8026117,13.4423705,43.4202578,24.7971941,2.4426724,2.545026,36.3506252,31.5211833,75.2430046,13.2891296,34.7804171,61.6604901,22.2293388,36.3788855,14.6593527,1.8362935,17.2212002,13.0756217,42.4993858,24.799135,2.2758463,2.3434995,35.9814628,31.1527958,75.1076631,13.5342038,34.5576371,62.615397,22.6512489,36.7829244,15.1531425,1.8295102,17.2843897,12.7347043,42.6425025,21.7856798,2.0493021,2.0945143,35.006085,30.4189728,74.9763675,13.4572328,35.4391262,63.7895495,23.045247,37.0574912,14.8081511,1.8737686,16.5411629,11.6646445,41.6447608,22.1250776 +1977,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1337399,1.21413,20.1376524,15.3738071,32.304665,17.0851407,33.4626298,67.2948137,37.8937769,48.2511084,23.2241507,3.8533344,12.5693465,10.9169846,35.1242012,17.2938922,1.1516353,1.2252864,20.6962997,16.0033092,32.0597223,17.0488327,33.3704765,66.6689963,37.8179733,49.3411713,23.4358911,3.5666423,12.7404432,10.9167338,35.3569338,17.060931,1.1918645,1.2425528,20.4799648,15.986563,32.2037189,16.9911086,33.1603572,66.8133565,37.8875095,49.3116511,23.5372567,3.3624608,12.4649203,10.3651268,34.741761,16.6037842,1.089328,1.1418656,21.2462089,16.680774,32.3261388,16.8817792,33.5332549,66.80332,38.301934,49.6693361,23.6077478,3.3408462,12.6375953,10.4200745,34.5468243,15.431958,1.0635077,1.1018869,21.5597626,16.9981314,32.2519533,17.1647384,34.7592416,66.6738329,38.0580716,48.7239744,23.2415592,3.3398539,12.8210373,9.8064345,34.2243399,16.8039303 +1978,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0060725,1.9440232,38.5340254,33.8789754,49.5178222,18.210267,36.5473204,66.617825,32.03351,46.2774496,20.1347258,2.9600409,14.8778453,12.1960181,34.9350848,28.6008407,2.1218924,2.0474348,39.3479824,34.3012553,49.3236408,17.7106069,36.2133418,67.0758839,32.5049392,45.7828587,20.3045716,3.1397897,15.6514866,13.2603971,35.5581185,28.0434852,2.3567031,2.2809765,39.9218465,34.5990911,48.6155431,18.1068646,36.5601556,66.7993543,32.4059494,46.0288791,19.9446807,3.3901865,15.7640514,12.5980812,34.72096,26.3485979,2.4712328,2.3951692,40.1590297,34.8206455,47.9096848,18.0177681,37.3346067,67.0269351,32.9174577,46.4139817,20.4584492,3.6498976,15.4168334,13.055147,34.152491,26.6807031,2.2854141,2.2138643,39.1467665,33.8155398,48.1408829,17.6759846,37.6034069,66.6437251,32.0143569,47.1615583,20.7368395,3.583659,14.8626871,13.0454394,34.4362364,27.0998348 +1979,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.247849,1.2613738,21.0333758,16.6663391,83.0553821,13.5597103,33.1946771,64.8618919,34.6658346,37.5183588,17.9596769,5.5023859,12.2043126,10.6115811,36.3077663,18.5171276,1.2551537,1.2551537,22.0870126,17.4382435,83.0639379,14.8759126,33.3102725,64.4486966,34.8969757,38.1632008,18.1056417,5.5659559,12.7023531,10.6354791,35.3332126,20.6764436,1.425375,1.425375,22.3482474,17.0461207,83.3196447,15.1941569,32.7440843,64.9425038,34.989557,37.6932533,18.2459476,5.8433755,12.04284,10.1967673,34.1364905,21.2494169,1.4777544,1.5328371,22.9118015,17.7531349,83.1283471,15.1866743,33.6682429,65.0587408,36.5396403,38.9228295,18.9122743,6.1014409,12.3559978,10.9773288,33.0899081,18.7457525,1.2764765,1.3534804,22.8886215,17.4833704,83.2463041,15.3141678,33.9543487,65.2797277,36.8884184,39.9969251,19.2371799,5.434167,12.0985819,11.5684105,32.994275,16.6902813 +1980,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8248733,0.814583,10.5256975,7.1783817,44.903114,19.0757125,31.0729143,70.1845845,38.028472,45.9737787,23.3414029,4.2669737,10.8087933,9.2858262,37.5666666,7.0610737,0.8345231,0.8283644,10.6359058,7.198285,45.022819,19.3274246,31.3030176,69.4899809,38.0682704,45.4677228,23.0048231,4.2943879,10.799113,9.7832935,38.1116252,7.3308336,0.7682054,0.7810401,10.3861334,7.0398912,45.2444183,19.8531608,31.9124568,69.2681648,37.8935643,45.0550415,22.8096639,4.3678246,10.4019657,9.5978714,38.2582023,6.782949,0.6738755,0.6946315,10.7096314,7.3154063,44.6759926,19.445078,31.4797014,68.5986165,37.4187483,44.8423792,22.9098119,4.4933953,10.8849339,10.0906284,37.7221013,7.3585378,0.7367649,0.7516067,10.871744,7.4154272,44.9532275,19.6221314,31.7563768,67.7980964,37.129868,44.3905421,22.3462134,4.364392,11.0863584,9.7470415,37.4375788,8.0357085 +1981,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7233629,0.7721015,12.8314724,9.1298209,26.2316207,19.686685,36.9437462,66.6338338,40.549284,48.6056237,23.2253494,3.3098564,10.7006575,10.1104518,34.3959201,12.2023955,0.719681,0.7600928,13.2321643,9.4326997,27.1197772,19.4965721,37.1286215,66.0588618,39.7757491,48.3656911,22.5688608,3.2279803,11.2434755,10.3621055,33.7624636,11.7142991,0.9011011,0.9322176,13.6976992,9.8861693,27.3825555,19.2223529,37.0114873,65.8930501,38.7757884,48.6834775,21.8376348,3.1623164,11.3092446,10.2113977,33.6923579,12.7219161,0.845709,0.8846766,13.9550465,10.1360698,27.9522023,19.2328796,37.2022142,65.5555599,37.7376186,48.9290199,22.3426607,3.0923597,11.2695621,10.1375824,33.6898753,14.6875184,1.0650564,1.091401,15.0077992,10.9230145,28.5693515,18.8844622,37.2982449,65.083334,36.7425564,48.703364,22.1090008,3.2415987,11.4738326,9.8231383,33.1732426,14.8876321 +1982,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3865766,1.476937,23.4037162,18.5977829,46.5825654,15.2302312,44.5719589,66.5964705,41.443551,52.7926917,28.0685285,3.5144655,12.0661332,10.7943101,30.8970971,17.8814028,1.5356911,1.6275004,23.6641412,18.5829795,45.3773263,15.1607029,43.6537114,67.4570434,41.1597181,52.1099575,27.7145887,4.0954394,11.1326515,9.8214955,30.2255563,18.0142085,1.7959714,1.8894286,23.5290938,18.7091103,45.544399,16.3215976,42.733315,66.9455264,39.8340559,51.8024162,28.5641463,4.0939206,10.8345471,9.3165713,28.5942745,23.6424945,1.7750215,1.8721383,23.234705,18.2386964,46.2949538,16.2613083,43.3079,66.592443,38.6393147,50.458877,27.5468642,3.8042188,10.8664233,8.8879457,30.7521163,21.7549115,1.8587238,1.9625446,24.7687533,19.7500331,46.8861483,15.5751083,43.6088992,66.0000209,36.9917126,49.8603966,25.8892394,4.0582293,10.932197,8.3378878,33.1563526,21.5446437 +1983,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6030308,0.5768748,9.9842423,6.530084,29.6511978,9.7841491,31.0481205,65.4330749,34.1014402,46.5467272,19.8675993,3.5984117,11.0389023,8.9767054,30.2960086,7.0093523,0.6319054,0.6100144,10.4023113,6.941745,29.7928756,9.7593287,31.0109143,65.1097538,33.5876934,46.2188004,19.6400161,3.4798895,10.9911983,8.789554,30.6950791,7.2485271,0.6606359,0.6374554,10.5978968,7.1846867,29.9761728,9.5938842,30.9467278,65.0071808,33.0621688,45.6099024,19.3771,3.4443789,10.8414263,8.7476438,30.5693067,7.7868916,0.6363037,0.6289161,10.8634131,7.3828376,30.5007176,9.7191572,30.4807475,64.8625267,33.0269234,45.4450494,19.0971245,3.2475361,11.069954,8.8712335,30.8446275,7.333362,0.7585496,0.7640873,11.1102851,7.7835158,30.9655029,9.8723478,30.0759715,64.8124862,33.19727,45.2532106,19.3512696,3.4865233,10.7771558,8.691748,30.9592689,7.464819 +1984,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4147499,1.424757,18.2896079,13.7008163,39.7466676,15.2816066,32.5322058,68.8080575,36.6615173,45.9413932,24.5399466,4.5067362,10.3773191,8.9209792,40.3858415,13.3474689,1.5145756,1.5016267,19.2814758,14.6997379,39.6747587,15.4060789,31.5061291,69.105517,36.1629259,46.5976292,24.3053042,4.2471829,10.3072457,9.0629154,40.4754241,14.2570396,1.8030694,1.8154646,20.6594456,16.0369191,40.3733246,15.568756,31.2397845,68.6027171,36.0701323,45.7308318,24.180023,4.4381438,10.7070143,8.9699598,40.0979547,18.1648076,1.8823619,1.8871942,21.5031801,16.7641833,40.8928349,14.8144371,31.4089203,67.9531681,35.9265244,45.3247835,24.1887894,4.3361008,11.2762857,9.3376263,40.8750421,19.2307833,1.9069793,1.911903,22.5100506,17.7710877,41.090994,14.4865382,31.5020619,67.098752,35.4938217,45.1234618,22.9835254,4.3827148,11.431865,9.830363,42.0622539,18.7258904 +1985,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1218924,2.0474348,39.3479824,34.3012553,49.3236408,17.7106069,36.2133418,67.0758839,32.5049392,45.7828587,20.3045716,3.1397897,15.6514866,13.2603971,35.5581185,28.0434852,2.3567031,2.2809765,39.9218465,34.5990911,48.6155431,18.1068646,36.5601556,66.7993543,32.4059494,46.0288791,19.9446807,3.3901865,15.7640514,12.5980812,34.72096,26.3485979,2.4712328,2.3951692,40.1590297,34.8206455,47.9096848,18.0177681,37.3346067,67.0269351,32.9174577,46.4139817,20.4584492,3.6498976,15.4168334,13.055147,34.152491,26.6807031,2.2854141,2.2138643,39.1467665,33.8155398,48.1408829,17.6759846,37.6034069,66.6437251,32.0143569,47.1615583,20.7368395,3.583659,14.8626871,13.0454394,34.4362364,27.0998348,2.5373439,2.4665639,39.5230343,34.3048505,48.7593106,17.9225064,38.2839392,66.8863272,33.3617081,47.0712825,21.4795704,4.0293076,14.6256024,13.6128908,32.9756483,26.9537421 +1986,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2551537,1.2551537,22.0870126,17.4382435,83.0639379,14.8759126,33.3102725,64.4486966,34.8969757,38.1632008,18.1056417,5.5659559,12.7023531,10.6354791,35.3332126,20.6764436,1.425375,1.425375,22.3482474,17.0461207,83.3196447,15.1941569,32.7440843,64.9425038,34.989557,37.6932533,18.2459476,5.8433755,12.04284,10.1967673,34.1364905,21.2494169,1.4777544,1.5328371,22.9118015,17.7531349,83.1283471,15.1866743,33.6682429,65.0587408,36.5396403,38.9228295,18.9122743,6.1014409,12.3559978,10.9773288,33.0899081,18.7457525,1.2764765,1.3534804,22.8886215,17.4833704,83.2463041,15.3141678,33.9543487,65.2797277,36.8884184,39.9969251,19.2371799,5.434167,12.0985819,11.5684105,32.994275,16.6902813,1.3430491,1.4484453,22.6303412,17.2715377,82.5524798,15.7994436,34.3429264,65.4512828,36.7679862,40.0462618,18.9561287,5.0979396,12.4597597,11.9397474,34.5992673,14.1164613 +1987,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.7387803,1.7614614,29.7773775,23.2601368,47.7530878,14.0502466,39.9761019,65.188614,34.3619688,47.3942191,25.8407618,5.4902815,14.5528268,12.2529158,33.3827758,15.8687088,1.6846283,1.7628632,29.8878518,23.4713399,47.4143207,13.8633696,39.9169194,65.2019547,34.5514702,47.0699775,25.9079036,5.0438837,14.7057283,12.1315756,33.2821543,14.9001806,1.5824728,1.6602721,29.4809728,23.4918395,47.9495489,13.3627475,39.9468357,65.6519818,33.2600814,47.3262686,26.0289948,5.1279449,14.6359061,11.758808,32.6797775,16.0029746,1.7048176,1.7810805,28.8358287,23.1937986,47.7769683,13.0072875,40.3508073,66.4899799,33.9676511,47.9999042,26.2171186,5.5994457,14.540274,11.5220487,32.1308827,17.8951554,1.8094189,1.8873685,28.571953,23.1812933,48.4863385,12.9238561,39.8609303,66.6932962,33.5684701,47.7647885,27.0165056,6.1119709,15.9927199,11.7340312,33.4196712,18.071232 +1988,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5145756,1.5016267,19.2814758,14.6997379,39.6747587,15.4060789,31.5061291,69.105517,36.1629259,46.5976292,24.3053042,4.2471829,10.3072457,9.0629154,40.4754241,14.2570396,1.8030694,1.8154646,20.6594456,16.0369191,40.3733246,15.568756,31.2397845,68.6027171,36.0701323,45.7308318,24.180023,4.4381438,10.7070143,8.9699598,40.0979547,18.1648076,1.8823619,1.8871942,21.5031801,16.7641833,40.8928349,14.8144371,31.4089203,67.9531681,35.9265244,45.3247835,24.1887894,4.3361008,11.2762857,9.3376263,40.8750421,19.2307833,1.9069793,1.911903,22.5100506,17.7710877,41.090994,14.4865382,31.5020619,67.098752,35.4938217,45.1234618,22.9835254,4.3827148,11.431865,9.830363,42.0622539,18.7258904,1.9637731,1.9888808,23.4446822,18.5390727,41.1444767,14.2223144,32.108949,66.131647,34.9574859,44.9692805,23.5214102,4.1680878,11.5793397,9.2606618,42.151614,20.3488451 +1989,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8224932,0.8333304,11.1143362,7.3694197,26.156438,14.160975,30.0519954,69.1105244,41.6229242,48.9382454,22.3870379,6.7067167,10.068194,8.5999499,32.8032209,3.6938093,0.7083335,0.7191497,10.7977302,7.1583739,26.2308641,14.3827547,30.2572681,68.5607025,40.9658997,48.7153872,21.8809029,6.7252282,10.0071303,8.5977851,34.4038029,3.125531,0.6453125,0.670413,11.0891266,7.3194905,25.6115244,14.1773421,30.5024005,68.1596877,40.665521,48.3890455,21.6447692,6.9854165,10.0073804,8.6504583,34.1604771,3.5917555,0.7577905,0.783134,11.0390344,7.2280548,25.4053987,13.802703,30.1947642,68.2442734,40.9143584,48.2334945,21.8707093,6.6774204,9.9327918,8.7301489,33.6623642,4.6455703,0.758616,0.7836196,11.560045,7.66687,25.1640608,13.7684267,30.2579461,67.7144786,40.3968467,48.1634807,21.5988249,6.7528567,9.9735154,8.7882307,33.9062178,4.6710472 +1990,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3567031,2.2809765,39.9218465,34.5990911,48.6155431,18.1068646,36.5601556,66.7993543,32.4059494,46.0288791,19.9446807,3.3901865,15.7640514,12.5980812,34.72096,26.3485979,2.4712328,2.3951692,40.1590297,34.8206455,47.9096848,18.0177681,37.3346067,67.0269351,32.9174577,46.4139817,20.4584492,3.6498976,15.4168334,13.055147,34.152491,26.6807031,2.2854141,2.2138643,39.1467665,33.8155398,48.1408829,17.6759846,37.6034069,66.6437251,32.0143569,47.1615583,20.7368395,3.583659,14.8626871,13.0454394,34.4362364,27.0998348,2.5373439,2.4665639,39.5230343,34.3048505,48.7593106,17.9225064,38.2839392,66.8863272,33.3617081,47.0712825,21.4795704,4.0293076,14.6256024,13.6128908,32.9756483,26.9537421,2.4579812,2.415414,40.2475452,34.9448517,49.6304309,17.6652134,38.57349,65.9964419,32.1892569,46.4009354,21.0812148,4.0342402,14.7438707,13.705188,32.0671167,25.399125 +1991,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6798152,1.6941283,28.6306879,24.3445751,44.6852468,17.7348753,37.0696889,64.7481314,32.2545279,44.7548755,21.0301778,2.7903529,13.565608,10.9799426,39.4694094,25.3446098,1.6469379,1.6674015,29.7892052,25.6708896,45.72082,17.7768286,36.9562334,64.9372239,32.3188336,45.6627642,21.4040527,2.8866011,13.6052626,11.3128522,39.1516663,25.3223775,1.6733874,1.7118996,30.6019524,26.6474879,47.6532452,17.5453817,36.1565957,64.9467586,31.9909484,44.6711042,21.2100729,2.8944171,13.2230505,11.0651401,38.5029378,25.6755,1.7425645,1.7602211,31.2125267,27.3389209,48.9818545,17.6208181,36.1217161,64.6713428,31.8557073,44.3482669,21.069692,2.544273,13.5769303,11.0278242,38.8461213,27.0465927,1.9065799,1.9241207,31.3126669,27.4483664,50.1105394,17.0516644,36.2640789,65.3050722,31.7100141,44.2856495,20.9741737,2.4578717,13.2647356,11.0012739,39.8893163,27.9492608 +1992,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8053842,1.848941,30.268938,26.1489367,48.6798733,13.754403,37.3232798,65.0440382,37.2034226,44.6950586,21.5009685,2.532167,17.6670829,12.60062,39.2678256,22.079421,1.7796504,1.8502506,31.0924423,26.8614072,49.7107181,13.1193181,36.9235778,64.9485818,37.280193,45.6307282,21.5300909,2.5705315,17.5982804,12.6228486,39.956439,22.8009081,1.7493515,1.8339167,31.1834405,26.8229642,50.092594,12.8871443,37.0026498,65.8057737,37.1520319,44.9499302,21.8251432,2.793497,17.0754314,12.7222724,39.7952853,23.4669756,1.7328827,1.8222421,31.5472431,26.9083709,50.4751597,12.764388,37.0032799,65.7454282,37.4215592,44.6220507,22.273677,3.0325684,16.7799949,13.1416375,39.4176591,22.9603837,1.8350483,1.8690517,31.6420859,27.0742214,51.2691534,12.6899531,36.6023221,65.1623408,36.3098797,44.2786608,21.8672701,2.8676011,16.1873029,13.0741269,40.3035974,23.0337234 +1993,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7904422,0.7988485,11.3860959,7.0383935,49.9253539,10.6542199,32.7740569,66.5331397,41.4559162,43.7933432,23.7916349,4.6581537,10.3118016,8.6213678,38.684888,5.66714,0.7833402,0.7796799,11.2000251,6.7920186,49.9824517,10.2784063,32.9665646,66.2811921,41.276464,43.5788513,23.6714491,4.6957434,10.5072787,8.5859899,39.6946666,5.9023018,0.7863161,0.7748286,10.9129587,6.6470722,49.5235327,10.46487,33.1708631,66.5450604,41.6056234,43.6178993,23.797725,4.8325327,10.6610287,8.7581842,39.3459015,6.3019356,0.7935846,0.784552,10.9104985,6.7521191,49.4424776,10.9527844,32.9369188,66.5733117,42.193216,44.0072336,23.8459799,4.8563202,11.0356489,8.9894336,38.9591234,6.9877874,0.7714766,0.7624388,11.1599627,6.9247927,49.3325944,10.9222328,32.6983334,66.780665,41.9367726,44.1038752,23.8845066,4.77488,11.030319,9.4250572,39.169446,8.1249977 +1994,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7253632,0.6694919,9.7174681,6.4082193,41.4270416,15.3281763,26.7833013,67.0789177,40.5279219,43.9680601,21.5780077,5.3788602,9.6147653,8.3613106,31.520218,8.1932773,0.7177152,0.6536166,9.8441374,6.7883053,41.4070183,15.6141269,26.612698,66.9136748,40.166495,43.8463617,21.4509231,5.2466849,10.1981819,9.2291961,31.3295243,7.7083333,0.5940338,0.5224672,9.5221783,6.5960725,41.6488919,14.9078402,26.5273244,67.0917812,39.2911919,43.2214191,21.3921347,5.4855243,10.2822137,9.4593585,30.8375301,6.2770563,0.6568799,0.5870441,9.6771842,6.7932852,42.5284653,14.8818739,26.9429201,67.1274467,38.831628,43.6452249,21.5114897,5.552679,10.293206,9.5032132,31.3029111,7.5431034,0.595288,0.5625733,9.9644523,7.3236909,43.0224413,14.7030032,27.3147797,67.0488144,38.3067911,43.9233781,21.2305354,5.586983,10.6018915,9.8046202,31.8578395,7.2093023 +1995,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.425375,1.425375,22.3482474,17.0461207,83.3196447,15.1941569,32.7440843,64.9425038,34.989557,37.6932533,18.2459476,5.8433755,12.04284,10.1967673,34.1364905,21.2494169,1.4777544,1.5328371,22.9118015,17.7531349,83.1283471,15.1866743,33.6682429,65.0587408,36.5396403,38.9228295,18.9122743,6.1014409,12.3559978,10.9773288,33.0899081,18.7457525,1.2764765,1.3534804,22.8886215,17.4833704,83.2463041,15.3141678,33.9543487,65.2797277,36.8884184,39.9969251,19.2371799,5.434167,12.0985819,11.5684105,32.994275,16.6902813,1.3430491,1.4484453,22.6303412,17.2715377,82.5524798,15.7994436,34.3429264,65.4512828,36.7679862,40.0462618,18.9561287,5.0979396,12.4597597,11.9397474,34.5992673,14.1164613,1.2778191,1.3844887,22.2092874,16.9452772,82.4050571,16.019519,34.4993109,66.0008773,36.8883934,40.2287516,18.6171106,4.8784208,12.2403736,12.2256896,36.1618601,13.4922705 +1996,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6584382,0.6509939,10.5512862,7.279214,27.0635875,21.4968472,32.7834463,69.3294621,37.5712307,46.7600512,22.530736,3.7328126,13.0192945,11.0538334,35.3425413,6.1985776,0.6503117,0.6355792,10.9132304,7.4397764,26.3373852,21.90165,33.016469,68.4085784,37.4173257,48.039705,22.8889812,3.5129242,12.4827022,10.9159813,36.2637977,5.8558506,0.784256,0.7554318,10.9610942,7.8689143,25.7760495,21.981087,32.3904879,68.7374789,37.8748529,48.6985666,23.695856,3.7687515,13.3013375,11.2696101,36.0187639,4.7008467,0.8479295,0.8195071,11.1164636,7.6011983,25.9964907,21.437318,31.8162998,68.2767369,36.3911398,48.123707,22.9662417,3.4034857,13.2496926,11.8039569,36.6897423,4.867248,0.6892981,0.6823166,10.3512066,7.0586667,25.8390804,21.1505887,31.1027335,68.2124085,36.6448493,48.1506442,23.28061,3.7527403,12.5486677,10.8935877,35.6402776,4.399993 +1997,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7177152,0.6536166,9.8441374,6.7883053,41.4070183,15.6141269,26.612698,66.9136748,40.166495,43.8463617,21.4509231,5.2466849,10.1981819,9.2291961,31.3295243,7.7083333,0.5940338,0.5224672,9.5221783,6.5960725,41.6488919,14.9078402,26.5273244,67.0917812,39.2911919,43.2214191,21.3921347,5.4855243,10.2822137,9.4593585,30.8375301,6.2770563,0.6568799,0.5870441,9.6771842,6.7932852,42.5284653,14.8818739,26.9429201,67.1274467,38.831628,43.6452249,21.5114897,5.552679,10.293206,9.5032132,31.3029111,7.5431034,0.595288,0.5625733,9.9644523,7.3236909,43.0224413,14.7030032,27.3147797,67.0488144,38.3067911,43.9233781,21.2305354,5.586983,10.6018915,9.8046202,31.8578395,7.2093023,0.6589146,0.6318308,10.526764,7.5581384,42.77275,14.7131202,27.7217105,67.7508186,38.7618855,43.4439028,21.1285923,5.4972252,10.3166889,9.5571132,31.4204747,8.6202051 +1998,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6141676,0.5842043,9.007061,5.7959428,41.5540427,16.1176764,30.3921575,70.3229604,38.9042759,46.6089997,21.7185861,3.5178779,9.0846395,9.5161315,31.7338792,5.5956679,0.6917059,0.6560208,9.3244475,5.9575814,41.608689,15.7728434,30.412139,69.7208212,38.0567341,46.1887981,21.1943421,3.5342358,8.9929637,8.8766519,31.6710737,5.496452,0.6257176,0.632391,9.6417869,6.1668759,41.9358174,15.9679147,30.3000661,70.2435448,37.4755523,46.1730868,20.6892975,3.5986074,8.7229399,8.8248009,30.8816884,5.9139721,0.676364,0.7080053,9.4846069,6.2339575,42.0402174,16.1094486,30.3308853,70.101653,36.7106532,45.5774395,20.1881602,3.6007776,8.8970239,8.5708132,30.7809,5.3819407,0.6533384,0.6857108,9.3163009,6.2363449,42.4511123,16.1336166,29.7619095,69.6818184,35.8589285,45.0044659,20.4161254,3.5046704,8.9293692,8.2769595,31.286811,5.2721071 +1999,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4712328,2.3951692,40.1590297,34.8206455,47.9096848,18.0177681,37.3346067,67.0269351,32.9174577,46.4139817,20.4584492,3.6498976,15.4168334,13.055147,34.152491,26.6807031,2.2854141,2.2138643,39.1467665,33.8155398,48.1408829,17.6759846,37.6034069,66.6437251,32.0143569,47.1615583,20.7368395,3.583659,14.8626871,13.0454394,34.4362364,27.0998348,2.5373439,2.4665639,39.5230343,34.3048505,48.7593106,17.9225064,38.2839392,66.8863272,33.3617081,47.0712825,21.4795704,4.0293076,14.6256024,13.6128908,32.9756483,26.9537421,2.4579812,2.415414,40.2475452,34.9448517,49.6304309,17.6652134,38.57349,65.9964419,32.1892569,46.4009354,21.0812148,4.0342402,14.7438707,13.705188,32.0671167,25.399125,2.3436376,2.3582582,39.5410839,34.425188,50.3930257,17.7787984,38.8416887,66.5593943,32.6331131,46.6637229,21.3027164,3.8476221,13.8857598,12.7177038,31.6753114,23.416887 +2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6597291,0.6756393,9.5661812,6.0794085,39.0674294,18.0354477,31.52342,67.9287215,35.8052628,44.314605,20.0815401,4.9464488,9.3444468,8.7159655,32.324191,5.4139835,0.6099612,0.5983816,9.3973603,6.1636968,39.0500575,17.9970065,31.2035505,67.7755479,35.6163628,43.8703676,20.2330037,4.8806361,9.950882,8.791515,32.7261992,3.9659231,0.6678169,0.6565762,9.2038404,6.2673454,38.4589868,17.9374046,30.8467064,67.8267693,35.5603932,44.0436936,20.377025,4.7885448,9.8237065,8.6900771,32.2347711,5.3992938,0.6658385,0.6490063,9.6516948,6.5514934,38.9497294,17.6717875,30.3967051,67.8692653,35.5882822,43.5115946,20.1631292,4.610637,9.4540305,8.4798379,32.1330324,5.5178954,0.6528082,0.6353663,9.5360708,6.4967462,39.309705,17.5998761,30.5908279,68.1885778,35.9071925,44.0392836,20.7050538,4.5904039,10.1558641,9.0572781,31.5882579,5.8806566 +2001,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6319054,0.6100144,10.4023113,6.941745,29.7928756,9.7593287,31.0109143,65.1097538,33.5876934,46.2188004,19.6400161,3.4798895,10.9911983,8.789554,30.6950791,7.2485271,0.6606359,0.6374554,10.5978968,7.1846867,29.9761728,9.5938842,30.9467278,65.0071808,33.0621688,45.6099024,19.3771,3.4443789,10.8414263,8.7476438,30.5693067,7.7868916,0.6363037,0.6289161,10.8634131,7.3828376,30.5007176,9.7191572,30.4807475,64.8625267,33.0269234,45.4450494,19.0971245,3.2475361,11.069954,8.8712335,30.8446275,7.333362,0.7585496,0.7640873,11.1102851,7.7835158,30.9655029,9.8723478,30.0759715,64.8124862,33.19727,45.2532106,19.3512696,3.4865233,10.7771558,8.691748,30.9592689,7.464819,0.7137426,0.7193279,11.4109341,8.0960249,31.7215562,9.9589367,29.765644,64.4738776,32.7180743,45.3247668,19.2139927,3.4230571,11.2178526,8.9398628,30.8893172,8.1896505 +2002,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5281409,0.4941768,8.365085,6.2535703,71.7303714,11.5775683,26.1778507,68.0835496,31.4293784,45.1815165,15.3492161,5.2788421,11.7864158,9.3551372,34.5581059,4.0539737,0.5052364,0.4730118,8.6544426,6.4972931,70.7917467,12.226659,25.9632256,67.5142118,31.2018487,44.4018111,14.3554334,5.315885,11.0389037,9.2499519,33.4848847,3.9129312,0.4803902,0.4497503,8.7519208,6.6066414,70.1868207,12.6146234,25.1215282,67.6942121,31.1408552,44.1992052,14.0534928,4.6845364,11.6938656,9.7877901,33.5116721,3.6884248,0.6739196,0.630307,8.3989675,6.3166202,69.9577063,13.8114504,24.9192952,67.2286771,31.2934329,43.8107821,14.064832,4.36501,11.8806675,9.4208847,34.090911,2.083276,0.5760822,0.5342939,8.1566649,6.1672971,69.5407119,13.4313649,25.4647469,67.942512,31.4382016,43.208139,14.048877,4.3585136,12.3352908,9.9647886,33.318652,2.940524 +2003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5451122,0.608626,8.9348853,5.4058589,33.4910545,24.3480296,30.3616909,67.1734783,34.7471157,45.1184256,17.9097361,7.7304712,11.9353079,9.8776426,32.0356161,2.398524,0.5516566,0.5866074,8.6790733,5.3269393,32.8876109,24.414838,30.4658626,67.5707137,34.858566,44.7753682,18.0865363,7.7703838,11.9736343,9.7860043,31.5972687,2.9069767,0.5199035,0.5664998,8.9059662,5.623921,32.9422308,23.901267,30.9106289,67.8522085,35.3779572,45.6528862,18.8831258,7.8178546,12.3160913,9.4030567,31.996163,2.9069767,0.528059,0.5693649,9.326999,6.0927682,32.7312808,23.3955991,31.0576011,66.2901121,33.6770949,45.1702125,18.3529436,7.3837445,13.061849,9.436624,31.7901835,3.4050179,0.4788751,0.5186078,9.5530194,6.3739256,33.0763916,23.0634994,31.0230595,65.7246569,33.4859065,44.0952976,18.1085887,7.5939243,13.0958727,10.0154789,31.8740771,4.0780142 +2004,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.844518,0.8641032,12.3238227,8.9927332,60.7162596,8.7956876,27.6531398,63.4079218,31.0545804,38.5655451,16.1827613,6.1820857,10.3731098,8.3874079,36.407766,6.1363632,0.9261648,0.9512549,12.6574902,9.16118,61.6708608,8.5043953,27.9695238,62.9735524,30.705477,38.3795307,15.9452023,6.2009997,10.3360646,8.1508887,36.7255416,6.6560505,0.9293416,0.9426723,13.0005322,9.4839203,62.3395717,8.4357765,27.894967,62.7668115,30.2919994,38.3444898,15.746743,6.1040734,10.059453,8.03879,36.6699862,6.8690091,0.9431863,0.9539535,13.2385693,9.6774944,63.096123,8.4240107,27.702244,62.2006672,29.9306223,37.9409722,15.4576541,5.9655511,10.4486496,8.2542836,36.5530534,7.1992106,0.9231513,0.9200413,13.6764871,10.0751045,63.7379063,8.5504672,27.8176585,61.6715611,29.8229953,37.8502939,15.4780239,5.9436417,10.6065725,8.3115498,36.9353798,7.6559541 +2005,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5940338,0.5224672,9.5221783,6.5960725,41.6488919,14.9078402,26.5273244,67.0917812,39.2911919,43.2214191,21.3921347,5.4855243,10.2822137,9.4593585,30.8375301,6.2770563,0.6568799,0.5870441,9.6771842,6.7932852,42.5284653,14.8818739,26.9429201,67.1274467,38.831628,43.6452249,21.5114897,5.552679,10.293206,9.5032132,31.3029111,7.5431034,0.595288,0.5625733,9.9644523,7.3236909,43.0224413,14.7030032,27.3147797,67.0488144,38.3067911,43.9233781,21.2305354,5.586983,10.6018915,9.8046202,31.8578395,7.2093023,0.6589146,0.6318308,10.526764,7.5581384,42.77275,14.7131202,27.7217105,67.7508186,38.7618855,43.4439028,21.1285923,5.4972252,10.3166889,9.5571132,31.4204747,8.6202051,0.7079072,0.7079072,11.1791952,8.0517639,43.8555168,14.5179292,27.6768447,66.7965898,37.6857695,42.4478893,20.3259845,5.1805973,11.4088449,9.9143935,32.0780836,10.4710639 +2006,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5919635,2.7065826,38.1931238,32.8926875,76.4644594,13.0421951,34.8681422,62.1439718,23.0549991,36.636344,15.1685418,1.9045234,16.8026117,13.4423705,43.4202578,24.7971941,2.4426724,2.545026,36.3506252,31.5211833,75.2430046,13.2891296,34.7804171,61.6604901,22.2293388,36.3788855,14.6593527,1.8362935,17.2212002,13.0756217,42.4993858,24.799135,2.2758463,2.3434995,35.9814628,31.1527958,75.1076631,13.5342038,34.5576371,62.615397,22.6512489,36.7829244,15.1531425,1.8295102,17.2843897,12.7347043,42.6425025,21.7856798,2.0493021,2.0945143,35.006085,30.4189728,74.9763675,13.4572328,35.4391262,63.7895495,23.045247,37.0574912,14.8081511,1.8737686,16.5411629,11.6646445,41.6447608,22.1250776,2.3221043,2.3328078,33.8397199,29.402235,74.0052787,13.257449,34.6006845,65.1509153,23.7260078,36.8859997,15.1229733,1.8175571,15.8152942,10.8547375,38.9573018,23.4495063 +2007,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4851125,0.5282687,9.2824693,6.2452579,38.6573413,19.3629472,31.0757979,70.4947076,39.6348616,46.4271657,23.0270753,3.2783684,9.7590452,9.364945,28.8898006,4.887218,0.4929315,0.5541885,8.7362064,5.9573655,37.891584,19.4251586,30.5806296,70.9494007,39.6430006,47.0184289,22.8913138,3.7858035,9.5333866,9.1532177,29.0178637,4.0740741,0.5345584,0.5596686,8.9719334,6.2025799,38.9956173,19.5426598,30.0272907,70.7131726,38.5229876,46.7848615,22.6227312,3.6827805,9.4807351,9.431724,30.8088751,5.2816901,0.5952105,0.6111714,8.9426394,6.2429706,38.2899053,20.0037945,30.2768257,71.1841579,38.5813048,46.9242459,22.8950144,3.633224,9.0182842,9.4965639,31.2739941,3.7671233,0.6343045,0.6618637,9.2184061,6.376216,37.5000186,20.1247104,31.018001,71.8905662,39.1312573,47.0531742,22.2923723,3.8844258,8.6090288,9.0874798,31.7562632,5.208337 +2008,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6655942,0.6625767,8.3366141,5.4112567,42.8542685,13.8697061,29.6240329,68.022874,33.4100166,42.6646487,18.660442,14.6772715,9.6617791,8.3104942,37.1926756,3.4156977,0.6863956,0.6814798,8.3868075,5.6147338,42.5753541,14.1846218,29.6579705,68.2203942,33.5154922,43.5193487,18.7025813,14.6264624,9.6051412,8.3859278,37.0573922,4.1727672,0.7300985,0.7250406,8.6930685,5.9471955,42.5020132,13.9779964,29.2617055,67.7323686,33.045481,42.9334207,18.9518767,14.4693472,9.6111253,8.2778193,37.5185963,3.961136,0.7792917,0.7803425,9.0115457,6.1932906,42.7519922,13.4974723,28.8313705,67.4471303,33.0060378,42.6462483,18.9988982,14.3161219,10.3854943,8.3036606,37.5447177,3.5266458,0.7425537,0.7642989,9.1055728,6.1628797,43.6437243,13.5412599,29.7113678,66.7292294,32.5588874,42.5511278,18.8260406,14.1405636,10.6385312,8.3205106,37.7198794,3.171091 +2009,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6469379,1.6674015,29.7892052,25.6708896,45.72082,17.7768286,36.9562334,64.9372239,32.3188336,45.6627642,21.4040527,2.8866011,13.6052626,11.3128522,39.1516663,25.3223775,1.6733874,1.7118996,30.6019524,26.6474879,47.6532452,17.5453817,36.1565957,64.9467586,31.9909484,44.6711042,21.2100729,2.8944171,13.2230505,11.0651401,38.5029378,25.6755,1.7425645,1.7602211,31.2125267,27.3389209,48.9818545,17.6208181,36.1217161,64.6713428,31.8557073,44.3482669,21.069692,2.544273,13.5769303,11.0278242,38.8461213,27.0465927,1.9065799,1.9241207,31.3126669,27.4483664,50.1105394,17.0516644,36.2640789,65.3050722,31.7100141,44.2856495,20.9741737,2.4578717,13.2647356,11.0012739,39.8893163,27.9492608,2.0932479,2.1372867,31.7056168,27.845066,51.516967,16.7795643,35.3926153,65.2864105,32.2083029,44.0009889,21.4476134,2.4322816,13.1591811,10.5957034,39.568256,27.072611 +2010,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6099612,0.5983816,9.3973603,6.1636968,39.0500575,17.9970065,31.2035505,67.7755479,35.6163628,43.8703676,20.2330037,4.8806361,9.950882,8.791515,32.7261992,3.9659231,0.6678169,0.6565762,9.2038404,6.2673454,38.4589868,17.9374046,30.8467064,67.8267693,35.5603932,44.0436936,20.377025,4.7885448,9.8237065,8.6900771,32.2347711,5.3992938,0.6658385,0.6490063,9.6516948,6.5514934,38.9497294,17.6717875,30.3967051,67.8692653,35.5882822,43.5115946,20.1631292,4.610637,9.4540305,8.4798379,32.1330324,5.5178954,0.6528082,0.6353663,9.5360708,6.4967462,39.309705,17.5998761,30.5908279,68.1885778,35.9071925,44.0392836,20.7050538,4.5904039,10.1558641,9.0572781,31.5882579,5.8806566,0.5836476,0.5471774,9.9225517,6.9851668,39.5851239,18.0854478,31.3029612,67.4293177,35.1555205,44.3142799,20.70443,4.4196365,10.224745,9.3325259,31.5090243,6.1135493 +2011,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7796504,1.8502506,31.0924423,26.8614072,49.7107181,13.1193181,36.9235778,64.9485818,37.280193,45.6307282,21.5300909,2.5705315,17.5982804,12.6228486,39.956439,22.8009081,1.7493515,1.8339167,31.1834405,26.8229642,50.092594,12.8871443,37.0026498,65.8057737,37.1520319,44.9499302,21.8251432,2.793497,17.0754314,12.7222724,39.7952853,23.4669756,1.7328827,1.8222421,31.5472431,26.9083709,50.4751597,12.764388,37.0032799,65.7454282,37.4215592,44.6220507,22.273677,3.0325684,16.7799949,13.1416375,39.4176591,22.9603837,1.8350483,1.8690517,31.6420859,27.0742214,51.2691534,12.6899531,36.6023221,65.1623408,36.3098797,44.2786608,21.8672701,2.8676011,16.1873029,13.0741269,40.3035974,23.0337234,1.9185712,1.9163707,32.5299973,28.014123,51.4861788,12.8541099,37.4132692,65.2847137,36.6112525,44.330491,22.0002108,2.9132751,16.1552576,12.3720921,39.6289415,22.3595606 +2012,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.483146,1.4435224,31.967951,28.6428541,66.4983699,13.9394534,34.6886689,62.7758434,29.7147186,40.6942814,16.414034,2.3027514,17.7651281,13.8514,44.2387016,17.4930599,1.5448979,1.5391802,32.910467,29.3209046,67.3681043,13.5205186,34.598231,62.7686427,29.0320726,40.621807,16.0813998,2.4354462,17.5334264,13.8789863,41.7540232,17.9886227,1.6021678,1.5965154,32.3235064,28.6730376,66.1299311,13.7526825,35.1060606,62.9482741,29.0300989,40.6859604,16.530946,2.4779046,17.5112211,14.0943958,41.3099722,18.5753723,1.8692805,1.861944,32.5890317,28.421711,65.9138941,13.8727689,36.1765437,63.5293921,28.8437991,40.5801127,16.8376636,2.480826,17.4522655,14.0450985,40.9581802,18.9750167,2.1059951,2.0984959,32.6946744,28.4381089,66.0437422,13.6883846,36.619675,63.7576941,28.7126234,40.2384892,17.1011181,2.4342256,17.7400953,14.4701718,40.4966115,19.5223835 +2013,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1516353,1.2252864,20.6962997,16.0033092,32.0597223,17.0488327,33.3704765,66.6689963,37.8179733,49.3411713,23.4358911,3.5666423,12.7404432,10.9167338,35.3569338,17.060931,1.1918645,1.2425528,20.4799648,15.986563,32.2037189,16.9911086,33.1603572,66.8133565,37.8875095,49.3116511,23.5372567,3.3624608,12.4649203,10.3651268,34.741761,16.6037842,1.089328,1.1418656,21.2462089,16.680774,32.3261388,16.8817792,33.5332549,66.80332,38.301934,49.6693361,23.6077478,3.3408462,12.6375953,10.4200745,34.5468243,15.431958,1.0635077,1.1018869,21.5597626,16.9981314,32.2519533,17.1647384,34.7592416,66.6738329,38.0580716,48.7239744,23.2415592,3.3398539,12.8210373,9.8064345,34.2243399,16.8039303,0.9611184,0.9988821,21.6522481,17.4511541,32.5966765,16.5911757,35.1717075,67.2153396,38.4764568,48.038313,23.0640912,2.9117874,12.5260837,9.656273,33.2371568,15.6149471 +2014,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6863956,0.6814798,8.3868075,5.6147338,42.5753541,14.1846218,29.6579705,68.2203942,33.5154922,43.5193487,18.7025813,14.6264624,9.6051412,8.3859278,37.0573922,4.1727672,0.7300985,0.7250406,8.6930685,5.9471955,42.5020132,13.9779964,29.2617055,67.7323686,33.045481,42.9334207,18.9518767,14.4693472,9.6111253,8.2778193,37.5185963,3.961136,0.7792917,0.7803425,9.0115457,6.1932906,42.7519922,13.4974723,28.8313705,67.4471303,33.0060378,42.6462483,18.9988982,14.3161219,10.3854943,8.3036606,37.5447177,3.5266458,0.7425537,0.7642989,9.1055728,6.1628797,43.6437243,13.5412599,29.7113678,66.7292294,32.5588874,42.5511278,18.8260406,14.1405636,10.6385312,8.3205106,37.7198794,3.171091,0.7583378,0.7696795,9.5258646,6.3402879,44.3232518,13.1412632,30.003714,65.3698728,31.8221192,42.4233101,18.7592785,14.4173667,10.3749509,8.3119194,37.4087231,4.0772526 +2015,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5331927,0.5391629,11.1589488,8.1299496,43.4577181,13.0626032,28.7044427,65.29981,31.895083,44.3790234,15.9849828,5.0856589,11.525549,9.47961,29.9492217,6.9488315,0.4871232,0.4930603,11.601261,8.4782565,43.5867331,13.1775673,28.719076,65.0788499,31.319208,44.5332577,15.6755557,5.2536274,11.3370762,9.5308423,29.4377664,5.8525395,0.5185992,0.5278055,12.1195849,8.9099419,44.0617533,13.1953069,28.6334012,64.618163,30.8122941,44.0555066,15.1787045,5.3628178,11.3622437,9.8281751,29.2968624,7.0717727,0.6227834,0.6505886,12.7383755,9.6082196,44.2056356,12.6325642,27.9953715,64.5293935,30.0378052,43.7672298,15.1926234,5.2958832,12.1646091,10.090828,30.1301243,9.2182209,0.7303328,0.7569321,13.2624395,9.9443619,45.0283457,12.5356056,28.3367126,64.163328,29.4252979,43.5586247,15.0906855,5.3528555,12.2879028,9.8694102,30.763764,10.7571242 +2016,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1918645,1.2425528,20.4799648,15.986563,32.2037189,16.9911086,33.1603572,66.8133565,37.8875095,49.3116511,23.5372567,3.3624608,12.4649203,10.3651268,34.741761,16.6037842,1.089328,1.1418656,21.2462089,16.680774,32.3261388,16.8817792,33.5332549,66.80332,38.301934,49.6693361,23.6077478,3.3408462,12.6375953,10.4200745,34.5468243,15.431958,1.0635077,1.1018869,21.5597626,16.9981314,32.2519533,17.1647384,34.7592416,66.6738329,38.0580716,48.7239744,23.2415592,3.3398539,12.8210373,9.8064345,34.2243399,16.8039303,0.9611184,0.9988821,21.6522481,17.4511541,32.5966765,16.5911757,35.1717075,67.2153396,38.4764568,48.038313,23.0640912,2.9117874,12.5260837,9.656273,33.2371568,15.6149471,1.0395732,1.0731047,21.5098106,17.1630994,33.0887695,16.5910395,35.3585613,67.1235096,38.2707544,47.6730934,22.6454376,3.084611,12.5516997,9.4460157,33.5152101,18.2595711 +2017,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5052364,0.4730118,8.6544426,6.4972931,70.7917467,12.226659,25.9632256,67.5142118,31.2018487,44.4018111,14.3554334,5.315885,11.0389037,9.2499519,33.4848847,3.9129312,0.4803902,0.4497503,8.7519208,6.6066414,70.1868207,12.6146234,25.1215282,67.6942121,31.1408552,44.1992052,14.0534928,4.6845364,11.6938656,9.7877901,33.5116721,3.6884248,0.6739196,0.630307,8.3989675,6.3166202,69.9577063,13.8114504,24.9192952,67.2286771,31.2934329,43.8107821,14.064832,4.36501,11.8806675,9.4208847,34.090911,2.083276,0.5760822,0.5342939,8.1566649,6.1672971,69.5407119,13.4313649,25.4647469,67.942512,31.4382016,43.208139,14.048877,4.3585136,12.3352908,9.9647886,33.318652,2.940524,0.4599274,0.4599274,7.9993065,6.0997924,69.1925594,13.4080891,25.6384664,68.1490343,31.3405492,43.936278,13.6383957,4.7873297,13.2340816,10.3490985,33.2048228,2.1545207 +2018,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6846283,1.7628632,29.8878518,23.4713399,47.4143207,13.8633696,39.9169194,65.2019547,34.5514702,47.0699775,25.9079036,5.0438837,14.7057283,12.1315756,33.2821543,14.9001806,1.5824728,1.6602721,29.4809728,23.4918395,47.9495489,13.3627475,39.9468357,65.6519818,33.2600814,47.3262686,26.0289948,5.1279449,14.6359061,11.758808,32.6797775,16.0029746,1.7048176,1.7810805,28.8358287,23.1937986,47.7769683,13.0072875,40.3508073,66.4899799,33.9676511,47.9999042,26.2171186,5.5994457,14.540274,11.5220487,32.1308827,17.8951554,1.8094189,1.8873685,28.571953,23.1812933,48.4863385,12.9238561,39.8609303,66.6932962,33.5684701,47.7647885,27.0165056,6.1119709,15.9927199,11.7340312,33.4196712,18.071232,1.697947,1.7581825,29.2773478,23.7928295,49.8328038,11.753783,39.6224175,66.2924898,33.4884542,48.055812,27.3550167,5.9967904,16.1798294,12.1884523,32.6253632,17.9132166 +2019,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7882901,0.7955777,9.9650473,6.501837,23.0519985,16.4405512,34.4954697,68.6397232,39.3095892,49.1947871,23.4281326,4.1373972,9.8158524,10.2602097,33.5274741,6.1461835,0.7984538,0.8039609,10.2042578,6.6174041,22.8001299,16.8579956,34.2747476,68.2337957,39.3430184,48.7286729,23.4727012,4.1211586,10.0455848,9.9934793,33.1963181,6.610174,0.8744602,0.8682688,10.3310629,6.678087,22.5021368,16.3949234,34.529424,68.4621878,39.5546379,48.7815183,23.3865581,3.974786,10.6881114,9.8661152,33.3922894,6.7241402,0.8588817,0.8528079,10.2960174,6.5680086,21.920927,16.8298063,34.6590928,68.8817497,40.1268181,49.5635708,23.7895183,4.0760859,11.0991645,9.6679931,32.9770861,5.8718882,0.9201266,0.9148539,10.3730258,6.7698453,22.0104206,16.8583743,34.8626036,69.1118726,40.5544783,49.8609896,23.8223706,4.1625788,10.7056985,9.5159253,32.9748764,5.8098592 +2020,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.719681,0.7600928,13.2321643,9.4326997,27.1197772,19.4965721,37.1286215,66.0588618,39.7757491,48.3656911,22.5688608,3.2279803,11.2434755,10.3621055,33.7624636,11.7142991,0.9011011,0.9322176,13.6976992,9.8861693,27.3825555,19.2223529,37.0114873,65.8930501,38.7757884,48.6834775,21.8376348,3.1623164,11.3092446,10.2113977,33.6923579,12.7219161,0.845709,0.8846766,13.9550465,10.1360698,27.9522023,19.2328796,37.2022142,65.5555599,37.7376186,48.9290199,22.3426607,3.0923597,11.2695621,10.1375824,33.6898753,14.6875184,1.0650564,1.091401,15.0077992,10.9230145,28.5693515,18.8844622,37.2982449,65.083334,36.7425564,48.703364,22.1090008,3.2415987,11.4738326,9.8231383,33.1732426,14.8876321,1.0513313,1.092793,15.2887872,11.0193039,28.7375555,18.6565733,37.4209179,64.6545056,36.3832302,48.304228,21.7033501,2.8979938,12.033704,10.202233,33.3032215,14.6276285 +2021,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8030694,1.8154646,20.6594456,16.0369191,40.3733246,15.568756,31.2397845,68.6027171,36.0701323,45.7308318,24.180023,4.4381438,10.7070143,8.9699598,40.0979547,18.1648076,1.8823619,1.8871942,21.5031801,16.7641833,40.8928349,14.8144371,31.4089203,67.9531681,35.9265244,45.3247835,24.1887894,4.3361008,11.2762857,9.3376263,40.8750421,19.2307833,1.9069793,1.911903,22.5100506,17.7710877,41.090994,14.4865382,31.5020619,67.098752,35.4938217,45.1234618,22.9835254,4.3827148,11.431865,9.830363,42.0622539,18.7258904,1.9637731,1.9888808,23.4446822,18.5390727,41.1444767,14.2223144,32.108949,66.131647,34.9574859,44.9692805,23.5214102,4.1680878,11.5793397,9.2606618,42.151614,20.3488451,1.8938774,1.8824978,25.7024672,20.5879105,41.054651,14.4821311,33.9167485,65.9698656,33.8033701,44.7625433,23.8267366,4.1380317,12.8437455,10.0753296,41.508833,20.3020134 +2022,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9011011,0.9322176,13.6976992,9.8861693,27.3825555,19.2223529,37.0114873,65.8930501,38.7757884,48.6834775,21.8376348,3.1623164,11.3092446,10.2113977,33.6923579,12.7219161,0.845709,0.8846766,13.9550465,10.1360698,27.9522023,19.2328796,37.2022142,65.5555599,37.7376186,48.9290199,22.3426607,3.0923597,11.2695621,10.1375824,33.6898753,14.6875184,1.0650564,1.091401,15.0077992,10.9230145,28.5693515,18.8844622,37.2982449,65.083334,36.7425564,48.703364,22.1090008,3.2415987,11.4738326,9.8231383,33.1732426,14.8876321,1.0513313,1.092793,15.2887872,11.0193039,28.7375555,18.6565733,37.4209179,64.6545056,36.3832302,48.304228,21.7033501,2.8979938,12.033704,10.202233,33.3032215,14.6276285,1.0494792,1.0889933,15.2912453,11.2120314,28.8778131,18.2341889,38.1141727,64.0534639,36.0910831,47.8925885,21.5438181,3.022633,11.8870336,10.1259274,33.0101795,13.7305415 +2023,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7493515,1.8339167,31.1834405,26.8229642,50.092594,12.8871443,37.0026498,65.8057737,37.1520319,44.9499302,21.8251432,2.793497,17.0754314,12.7222724,39.7952853,23.4669756,1.7328827,1.8222421,31.5472431,26.9083709,50.4751597,12.764388,37.0032799,65.7454282,37.4215592,44.6220507,22.273677,3.0325684,16.7799949,13.1416375,39.4176591,22.9603837,1.8350483,1.8690517,31.6420859,27.0742214,51.2691534,12.6899531,36.6023221,65.1623408,36.3098797,44.2786608,21.8672701,2.8676011,16.1873029,13.0741269,40.3035974,23.0337234,1.9185712,1.9163707,32.5299973,28.014123,51.4861788,12.8541099,37.4132692,65.2847137,36.6112525,44.330491,22.0002108,2.9132751,16.1552576,12.3720921,39.6289415,22.3595606,1.8041626,1.8283293,32.9357855,28.5182989,51.7984219,13.1725944,38.1892586,65.1564082,37.0756501,44.3944659,21.7468568,2.9310407,16.1879323,12.1257739,39.3398012,21.0239743 +2024,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4777544,1.5328371,22.9118015,17.7531349,83.1283471,15.1866743,33.6682429,65.0587408,36.5396403,38.9228295,18.9122743,6.1014409,12.3559978,10.9773288,33.0899081,18.7457525,1.2764765,1.3534804,22.8886215,17.4833704,83.2463041,15.3141678,33.9543487,65.2797277,36.8884184,39.9969251,19.2371799,5.434167,12.0985819,11.5684105,32.994275,16.6902813,1.3430491,1.4484453,22.6303412,17.2715377,82.5524798,15.7994436,34.3429264,65.4512828,36.7679862,40.0462618,18.9561287,5.0979396,12.4597597,11.9397474,34.5992673,14.1164613,1.2778191,1.3844887,22.2092874,16.9452772,82.4050571,16.019519,34.4993109,66.0008773,36.8883934,40.2287516,18.6171106,4.8784208,12.2403736,12.2256896,36.1618601,13.4922705,1.434663,1.5420813,21.8586922,16.305801,82.7321175,16.3179111,35.7099156,64.6669721,37.4154048,41.0922912,18.9767635,4.9695636,13.8094071,13.3068688,37.5509425,13.7501994 +2025,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.4871232,0.4930603,11.601261,8.4782565,43.5867331,13.1775673,28.719076,65.0788499,31.319208,44.5332577,15.6755557,5.2536274,11.3370762,9.5308423,29.4377664,5.8525395,0.5185992,0.5278055,12.1195849,8.9099419,44.0617533,13.1953069,28.6334012,64.618163,30.8122941,44.0555066,15.1787045,5.3628178,11.3622437,9.8281751,29.2968624,7.0717727,0.6227834,0.6505886,12.7383755,9.6082196,44.2056356,12.6325642,27.9953715,64.5293935,30.0378052,43.7672298,15.1926234,5.2958832,12.1646091,10.090828,30.1301243,9.2182209,0.7303328,0.7569321,13.2624395,9.9443619,45.0283457,12.5356056,28.3367126,64.163328,29.4252979,43.5586247,15.0906855,5.3528555,12.2879028,9.8694102,30.763764,10.7571242,0.7774313,0.8018711,13.6191367,10.174144,45.4118623,12.8371339,28.2712825,63.6703553,29.3840236,43.1601154,14.9942326,5.3626353,12.347817,10.1251253,30.9194919,11.4403053 +2026,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7401653,0.7330566,10.5094864,7.3550151,44.4486848,10.8275827,28.1421395,71.0300002,40.8827024,44.2586809,21.906243,4.9940839,9.5303861,8.0658868,35.0942984,8.3333333,0.770834,0.75883,10.6418568,7.4056111,44.1422367,10.8466145,27.8468168,71.1676536,40.6373865,44.3438693,22.1156915,4.900909,9.5091367,8.3900463,35.3778619,7.7988338,0.7770737,0.7811303,10.9897731,7.6337112,44.4414554,10.6386295,27.9798533,71.108167,39.8568433,44.1410389,22.0519601,4.7773048,9.7204698,8.5506933,35.0370333,7.6868829,0.7893435,0.8115314,11.0873162,7.6195923,44.57532,10.5762322,27.8795152,70.049945,39.3767581,43.6114847,21.8655712,4.7081455,9.7389349,8.0085694,35.2681247,7.5172424,0.7737886,0.7967381,11.1596999,7.5066861,44.5938897,10.471916,28.0067514,69.6410337,39.4099013,43.3064012,22.0443864,4.6686424,9.7621895,7.8899994,35.960138,9.0731082 +2027,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.5824728,1.6602721,29.4809728,23.4918395,47.9495489,13.3627475,39.9468357,65.6519818,33.2600814,47.3262686,26.0289948,5.1279449,14.6359061,11.758808,32.6797775,16.0029746,1.7048176,1.7810805,28.8358287,23.1937986,47.7769683,13.0072875,40.3508073,66.4899799,33.9676511,47.9999042,26.2171186,5.5994457,14.540274,11.5220487,32.1308827,17.8951554,1.8094189,1.8873685,28.571953,23.1812933,48.4863385,12.9238561,39.8609303,66.6932962,33.5684701,47.7647885,27.0165056,6.1119709,15.9927199,11.7340312,33.4196712,18.071232,1.697947,1.7581825,29.2773478,23.7928295,49.8328038,11.753783,39.6224175,66.2924898,33.4884542,48.055812,27.3550167,5.9967904,16.1798294,12.1884523,32.6253632,17.9132166,1.6352341,1.6976939,30.0201591,24.9469375,49.6241429,11.1948772,40.1312113,65.7282014,33.5893487,49.3459912,27.6167177,6.399384,16.5928528,11.5127305,34.1723445,16.5981974 +2028,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2854141,2.2138643,39.1467665,33.8155398,48.1408829,17.6759846,37.6034069,66.6437251,32.0143569,47.1615583,20.7368395,3.583659,14.8626871,13.0454394,34.4362364,27.0998348,2.5373439,2.4665639,39.5230343,34.3048505,48.7593106,17.9225064,38.2839392,66.8863272,33.3617081,47.0712825,21.4795704,4.0293076,14.6256024,13.6128908,32.9756483,26.9537421,2.4579812,2.415414,40.2475452,34.9448517,49.6304309,17.6652134,38.57349,65.9964419,32.1892569,46.4009354,21.0812148,4.0342402,14.7438707,13.705188,32.0671167,25.399125,2.3436376,2.3582582,39.5410839,34.425188,50.3930257,17.7787984,38.8416887,66.5593943,32.6331131,46.6637229,21.3027164,3.8476221,13.8857598,12.7177038,31.6753114,23.416887,2.5241821,2.538991,39.1959779,34.0138441,51.0857409,18.9434279,38.1485013,65.4681261,32.1752114,46.5798572,21.3297724,4.0249677,13.4828937,13.0580801,33.2014784,24.7839171 +2029,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7984538,0.8039609,10.2042578,6.6174041,22.8001299,16.8579956,34.2747476,68.2337957,39.3430184,48.7286729,23.4727012,4.1211586,10.0455848,9.9934793,33.1963181,6.610174,0.8744602,0.8682688,10.3310629,6.678087,22.5021368,16.3949234,34.529424,68.4621878,39.5546379,48.7815183,23.3865581,3.974786,10.6881114,9.8661152,33.3922894,6.7241402,0.8588817,0.8528079,10.2960174,6.5680086,21.920927,16.8298063,34.6590928,68.8817497,40.1268181,49.5635708,23.7895183,4.0760859,11.0991645,9.6679931,32.9770861,5.8718882,0.9201266,0.9148539,10.3730258,6.7698453,22.0104206,16.8583743,34.8626036,69.1118726,40.5544783,49.8609896,23.8223706,4.1625788,10.7056985,9.5159253,32.9748764,5.8098592,0.8866873,0.8962814,10.6176252,7.0861927,21.7746068,16.8359935,35.0023656,68.9071971,40.7386884,50.032079,24.3470714,4.1259446,10.996815,9.6142652,32.7531234,4.9319761 +2030,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3928474,0.4552809,6.6439885,3.6961418,56.0317508,22.041805,27.8478173,65.038263,31.2246623,41.8054856,17.7622666,5.6956301,9.5859629,7.5293091,31.8636389,2.0588235,0.3114145,0.3721619,6.712145,3.6751725,55.3215116,22.3547153,28.0921051,64.4517479,31.776308,41.2938548,18.1798214,5.7675412,8.826168,7.3225543,31.9909499,2.1472393,0.2966637,0.3471108,6.9772497,3.9588765,54.39561,21.7943119,27.9328377,64.8713427,31.6397684,41.5830724,18.1639734,5.9965083,9.1269865,8.0159454,32.3975102,2.6946108,0.2858158,0.3360413,6.32884,3.6320147,54.5593467,21.7882974,28.3953274,64.8572616,31.0337364,41.1980946,18.447228,6.4230077,9.1579877,7.8832766,31.5950948,2.6785714,0.2137475,0.2633194,6.5198825,3.7836695,53.3261394,21.8868668,28.6538517,65.2777702,30.4914506,41.8162408,18.098284,5.7906003,9.7174674,8.1974263,31.190687,2.7777795 +2031,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3114145,0.3721619,6.712145,3.6751725,55.3215116,22.3547153,28.0921051,64.4517479,31.776308,41.2938548,18.1798214,5.7675412,8.826168,7.3225543,31.9909499,2.1472393,0.2966637,0.3471108,6.9772497,3.9588765,54.39561,21.7943119,27.9328377,64.8713427,31.6397684,41.5830724,18.1639734,5.9965083,9.1269865,8.0159454,32.3975102,2.6946108,0.2858158,0.3360413,6.32884,3.6320147,54.5593467,21.7882974,28.3953274,64.8572616,31.0337364,41.1980946,18.447228,6.4230077,9.1579877,7.8832766,31.5950948,2.6785714,0.2137475,0.2633194,6.5198825,3.7836695,53.3261394,21.8868668,28.6538517,65.2777702,30.4914506,41.8162408,18.098284,5.7906003,9.7174674,8.1974263,31.190687,2.7777795,0.3333773,0.3277374,7.2131871,4.3878438,53.6316525,22.2761796,29.1488484,64.991441,30.7313937,41.9375557,18.3703982,5.71001,9.4687248,8.2761592,31.9672186,3.2738115 +2032,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6568799,0.5870441,9.6771842,6.7932852,42.5284653,14.8818739,26.9429201,67.1274467,38.831628,43.6452249,21.5114897,5.552679,10.293206,9.5032132,31.3029111,7.5431034,0.595288,0.5625733,9.9644523,7.3236909,43.0224413,14.7030032,27.3147797,67.0488144,38.3067911,43.9233781,21.2305354,5.586983,10.6018915,9.8046202,31.8578395,7.2093023,0.6589146,0.6318308,10.526764,7.5581384,42.77275,14.7131202,27.7217105,67.7508186,38.7618855,43.4439028,21.1285923,5.4972252,10.3166889,9.5571132,31.4204747,8.6202051,0.7079072,0.7079072,11.1791952,8.0517639,43.8555168,14.5179292,27.6768447,66.7965898,37.6857695,42.4478893,20.3259845,5.1805973,11.4088449,9.9143935,32.0780836,10.4710639,0.7809797,0.793157,11.9091305,8.8629141,43.4890062,14.5065864,27.9922593,66.1398065,37.2440406,41.6777923,19.74291,4.8601966,10.9924427,9.445281,32.8382016,10.8633859 +2033,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.6999551,0.6999551,13.9595562,9.3909742,50.5256623,30.1008612,33.8791728,64.0515799,30.086113,41.293049,19.2240085,5.7759268,13.2247335,11.8182678,38.4188487,3.3018868,0.7832649,0.7832649,15.0247211,9.7701451,50.9419617,31.2293492,34.974837,65.3587226,30.6343057,41.1519491,19.4490424,6.0935553,13.3681484,11.3241207,39.0455056,3.8135755,0.8012916,0.8012916,14.4550914,9.2417513,50.8157101,31.2106423,33.6799772,67.1197917,30.000176,40.0799689,19.2799759,5.5200618,14.0139621,11.2848202,37.147334,3.543335,0.7727151,0.7727151,14.2089413,9.4470512,51.8081553,30.7401287,33.6671582,66.3325336,29.8152677,39.522152,17.6424091,4.5455036,15.7980628,12.5816799,38.2935921,4.7794469,0.7360024,0.7360024,15.3077386,10.6923706,51.8779172,30.3462994,34.1294654,66.0243886,29.5071434,40.7548167,18.1046916,5.4700212,14.2140935,11.538468,36.2538252,7.0371152 +2034,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5373439,2.4665639,39.5230343,34.3048505,48.7593106,17.9225064,38.2839392,66.8863272,33.3617081,47.0712825,21.4795704,4.0293076,14.6256024,13.6128908,32.9756483,26.9537421,2.4579812,2.415414,40.2475452,34.9448517,49.6304309,17.6652134,38.57349,65.9964419,32.1892569,46.4009354,21.0812148,4.0342402,14.7438707,13.705188,32.0671167,25.399125,2.3436376,2.3582582,39.5410839,34.425188,50.3930257,17.7787984,38.8416887,66.5593943,32.6331131,46.6637229,21.3027164,3.8476221,13.8857598,12.7177038,31.6753114,23.416887,2.5241821,2.538991,39.1959779,34.0138441,51.0857409,18.9434279,38.1485013,65.4681261,32.1752114,46.5798572,21.3297724,4.0249677,13.4828937,13.0580801,33.2014784,24.7839171,2.5928214,2.6370547,38.2189836,33.193973,51.7717762,19.156849,37.775913,65.1709693,32.4075189,46.5299009,21.002616,3.7469851,14.6267677,13.8494156,33.7169041,24.4688934 +2035,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2966637,0.3471108,6.9772497,3.9588765,54.39561,21.7943119,27.9328377,64.8713427,31.6397684,41.5830724,18.1639734,5.9965083,9.1269865,8.0159454,32.3975102,2.6946108,0.2858158,0.3360413,6.32884,3.6320147,54.5593467,21.7882974,28.3953274,64.8572616,31.0337364,41.1980946,18.447228,6.4230077,9.1579877,7.8832766,31.5950948,2.6785714,0.2137475,0.2633194,6.5198825,3.7836695,53.3261394,21.8868668,28.6538517,65.2777702,30.4914506,41.8162408,18.098284,5.7906003,9.7174674,8.1974263,31.190687,2.7777795,0.3333773,0.3277374,7.2131871,4.3878438,53.6316525,22.2761796,29.1488484,64.991441,30.7313937,41.9375557,18.3703982,5.71001,9.4687248,8.2761592,31.9672186,3.2738115,0.4000265,0.3548364,7.3238857,4.4888332,53.8677691,22.0743496,29.6955406,65.7161175,31.6680927,42.9459692,18.7607175,6.0248732,9.110537,8.2541069,31.3802138,3.2163761 +2036,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.595288,0.5625733,9.9644523,7.3236909,43.0224413,14.7030032,27.3147797,67.0488144,38.3067911,43.9233781,21.2305354,5.586983,10.6018915,9.8046202,31.8578395,7.2093023,0.6589146,0.6318308,10.526764,7.5581384,42.77275,14.7131202,27.7217105,67.7508186,38.7618855,43.4439028,21.1285923,5.4972252,10.3166889,9.5571132,31.4204747,8.6202051,0.7079072,0.7079072,11.1791952,8.0517639,43.8555168,14.5179292,27.6768447,66.7965898,37.6857695,42.4478893,20.3259845,5.1805973,11.4088449,9.9143935,32.0780836,10.4710639,0.7809797,0.793157,11.9091305,8.8629141,43.4890062,14.5065864,27.9922593,66.1398065,37.2440406,41.6777923,19.74291,4.8601966,10.9924427,9.445281,32.8382016,10.8633859,0.8336949,0.8457441,12.3839882,9.0053555,43.5022957,13.8983107,28.515079,66.5826683,36.8482973,41.4097234,19.8502129,4.7508402,10.8524928,8.992137,33.3317314,12.4589562 +2037,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6606359,0.6374554,10.5978968,7.1846867,29.9761728,9.5938842,30.9467278,65.0071808,33.0621688,45.6099024,19.3771,3.4443789,10.8414263,8.7476438,30.5693067,7.7868916,0.6363037,0.6289161,10.8634131,7.3828376,30.5007176,9.7191572,30.4807475,64.8625267,33.0269234,45.4450494,19.0971245,3.2475361,11.069954,8.8712335,30.8446275,7.333362,0.7585496,0.7640873,11.1102851,7.7835158,30.9655029,9.8723478,30.0759715,64.8124862,33.19727,45.2532106,19.3512696,3.4865233,10.7771558,8.691748,30.9592689,7.464819,0.7137426,0.7193279,11.4109341,8.0960249,31.7215562,9.9589367,29.765644,64.4738776,32.7180743,45.3247668,19.2139927,3.4230571,11.2178526,8.9398628,30.8893172,8.1896505,0.7741261,0.7930247,11.8731184,8.4404355,32.0801076,10.357994,30.1797172,64.1163879,33.1392577,45.4811585,19.4754986,3.3836069,11.0288367,8.6038115,30.5789614,8.4285618 +2038,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5185992,0.5278055,12.1195849,8.9099419,44.0617533,13.1953069,28.6334012,64.618163,30.8122941,44.0555066,15.1787045,5.3628178,11.3622437,9.8281751,29.2968624,7.0717727,0.6227834,0.6505886,12.7383755,9.6082196,44.2056356,12.6325642,27.9953715,64.5293935,30.0378052,43.7672298,15.1926234,5.2958832,12.1646091,10.090828,30.1301243,9.2182209,0.7303328,0.7569321,13.2624395,9.9443619,45.0283457,12.5356056,28.3367126,64.163328,29.4252979,43.5586247,15.0906855,5.3528555,12.2879028,9.8694102,30.763764,10.7571242,0.7774313,0.8018711,13.6191367,10.174144,45.4118623,12.8371339,28.2712825,63.6703553,29.3840236,43.1601154,14.9942326,5.3626353,12.347817,10.1251253,30.9194919,11.4403053,0.8627342,0.8880853,13.7846679,10.2871886,45.1269838,13.0151462,27.6167039,63.7636645,29.9800897,43.1877729,15.0248673,5.5312884,12.2683371,10.0863105,31.0627387,9.7666311 +2039,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6227834,0.6505886,12.7383755,9.6082196,44.2056356,12.6325642,27.9953715,64.5293935,30.0378052,43.7672298,15.1926234,5.2958832,12.1646091,10.090828,30.1301243,9.2182209,0.7303328,0.7569321,13.2624395,9.9443619,45.0283457,12.5356056,28.3367126,64.163328,29.4252979,43.5586247,15.0906855,5.3528555,12.2879028,9.8694102,30.763764,10.7571242,0.7774313,0.8018711,13.6191367,10.174144,45.4118623,12.8371339,28.2712825,63.6703553,29.3840236,43.1601154,14.9942326,5.3626353,12.347817,10.1251253,30.9194919,11.4403053,0.8627342,0.8880853,13.7846679,10.2871886,45.1269838,13.0151462,27.6167039,63.7636645,29.9800897,43.1877729,15.0248673,5.5312884,12.2683371,10.0863105,31.0627387,9.7666311,0.8986059,0.9403439,14.8210624,11.1432685,45.9673866,12.9761812,27.9525405,63.3218448,29.8193492,43.0905707,15.0061301,5.2252495,12.6986177,10.1076154,31.2500069,10.9327992 +2040,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6733874,1.7118996,30.6019524,26.6474879,47.6532452,17.5453817,36.1565957,64.9467586,31.9909484,44.6711042,21.2100729,2.8944171,13.2230505,11.0651401,38.5029378,25.6755,1.7425645,1.7602211,31.2125267,27.3389209,48.9818545,17.6208181,36.1217161,64.6713428,31.8557073,44.3482669,21.069692,2.544273,13.5769303,11.0278242,38.8461213,27.0465927,1.9065799,1.9241207,31.3126669,27.4483664,50.1105394,17.0516644,36.2640789,65.3050722,31.7100141,44.2856495,20.9741737,2.4578717,13.2647356,11.0012739,39.8893163,27.9492608,2.0932479,2.1372867,31.7056168,27.845066,51.516967,16.7795643,35.3926153,65.2864105,32.2083029,44.0009889,21.4476134,2.4322816,13.1591811,10.5957034,39.568256,27.072611,2.1541165,2.1839017,32.2975014,28.2480212,53.3731586,16.5586007,35.2414941,65.9642705,32.7167409,44.0479693,20.9838796,2.4527529,13.9137901,10.9836994,39.7574185,27.631437 +2041,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7083335,0.7191497,10.7977302,7.1583739,26.2308641,14.3827547,30.2572681,68.5607025,40.9658997,48.7153872,21.8809029,6.7252282,10.0071303,8.5977851,34.4038029,3.125531,0.6453125,0.670413,11.0891266,7.3194905,25.6115244,14.1773421,30.5024005,68.1596877,40.665521,48.3890455,21.6447692,6.9854165,10.0073804,8.6504583,34.1604771,3.5917555,0.7577905,0.783134,11.0390344,7.2280548,25.4053987,13.802703,30.1947642,68.2442734,40.9143584,48.2334945,21.8707093,6.6774204,9.9327918,8.7301489,33.6623642,4.6455703,0.758616,0.7836196,11.560045,7.66687,25.1640608,13.7684267,30.2579461,67.7144786,40.3968467,48.1634807,21.5988249,6.7528567,9.9735154,8.7882307,33.9062178,4.6710472,0.7630632,0.7878999,11.5786449,7.4900961,25.5478037,14.109359,30.157993,67.8929449,40.6269073,48.4614767,21.2286284,7.3727158,10.2371786,9.2863682,34.313715,8.0110122 +2042,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.770834,0.75883,10.6418568,7.4056111,44.1422367,10.8466145,27.8468168,71.1676536,40.6373865,44.3438693,22.1156915,4.900909,9.5091367,8.3900463,35.3778619,7.7988338,0.7770737,0.7811303,10.9897731,7.6337112,44.4414554,10.6386295,27.9798533,71.108167,39.8568433,44.1410389,22.0519601,4.7773048,9.7204698,8.5506933,35.0370333,7.6868829,0.7893435,0.8115314,11.0873162,7.6195923,44.57532,10.5762322,27.8795152,70.049945,39.3767581,43.6114847,21.8655712,4.7081455,9.7389349,8.0085694,35.2681247,7.5172424,0.7737886,0.7967381,11.1596999,7.5066861,44.5938897,10.471916,28.0067514,69.6410337,39.4099013,43.3064012,22.0443864,4.6686424,9.7621895,7.8899994,35.960138,9.0731082,0.8245391,0.8449723,11.4992904,7.8291966,44.4461434,10.3146314,27.792276,69.1169122,39.3728058,43.1058695,21.8715544,4.611137,9.4541508,7.5403067,36.398729,8.2911403 +2043,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.7303328,0.7569321,13.2624395,9.9443619,45.0283457,12.5356056,28.3367126,64.163328,29.4252979,43.5586247,15.0906855,5.3528555,12.2879028,9.8694102,30.763764,10.7571242,0.7774313,0.8018711,13.6191367,10.174144,45.4118623,12.8371339,28.2712825,63.6703553,29.3840236,43.1601154,14.9942326,5.3626353,12.347817,10.1251253,30.9194919,11.4403053,0.8627342,0.8880853,13.7846679,10.2871886,45.1269838,13.0151462,27.6167039,63.7636645,29.9800897,43.1877729,15.0248673,5.5312884,12.2683371,10.0863105,31.0627387,9.7666311,0.8986059,0.9403439,14.8210624,11.1432685,45.9673866,12.9761812,27.9525405,63.3218448,29.8193492,43.0905707,15.0061301,5.2252495,12.6986177,10.1076154,31.2500069,10.9327992,1.0122125,1.0538006,15.7941197,11.9326495,47.9435947,12.6102278,28.2090369,63.139306,29.4016482,42.2377675,14.5037893,5.0636836,13.1599623,10.2608361,31.9408245,11.2901457 +2044,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6363037,0.6289161,10.8634131,7.3828376,30.5007176,9.7191572,30.4807475,64.8625267,33.0269234,45.4450494,19.0971245,3.2475361,11.069954,8.8712335,30.8446275,7.333362,0.7585496,0.7640873,11.1102851,7.7835158,30.9655029,9.8723478,30.0759715,64.8124862,33.19727,45.2532106,19.3512696,3.4865233,10.7771558,8.691748,30.9592689,7.464819,0.7137426,0.7193279,11.4109341,8.0960249,31.7215562,9.9589367,29.765644,64.4738776,32.7180743,45.3247668,19.2139927,3.4230571,11.2178526,8.9398628,30.8893172,8.1896505,0.7741261,0.7930247,11.8731184,8.4404355,32.0801076,10.357994,30.1797172,64.1163879,33.1392577,45.4811585,19.4754986,3.3836069,11.0288367,8.6038115,30.5789614,8.4285618,0.7703731,0.7934783,12.1888022,8.7202705,32.534693,10.4470076,30.1755161,63.8794786,32.8271332,44.8601732,19.0119302,3.3290483,11.1674274,8.6110327,30.6543485,7.3726462 +2045,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6589146,0.6318308,10.526764,7.5581384,42.77275,14.7131202,27.7217105,67.7508186,38.7618855,43.4439028,21.1285923,5.4972252,10.3166889,9.5571132,31.4204747,8.6202051,0.7079072,0.7079072,11.1791952,8.0517639,43.8555168,14.5179292,27.6768447,66.7965898,37.6857695,42.4478893,20.3259845,5.1805973,11.4088449,9.9143935,32.0780836,10.4710639,0.7809797,0.793157,11.9091305,8.8629141,43.4890062,14.5065864,27.9922593,66.1398065,37.2440406,41.6777923,19.74291,4.8601966,10.9924427,9.445281,32.8382016,10.8633859,0.8336949,0.8457441,12.3839882,9.0053555,43.5022957,13.8983107,28.515079,66.5826683,36.8482973,41.4097234,19.8502129,4.7508402,10.8524928,8.992137,33.3317314,12.4589562,0.8649115,0.8847424,13.0349756,9.4391203,44.1939254,13.8664949,28.9587394,65.6787911,35.950996,40.9438734,19.0881203,4.357307,11.5644864,8.9410923,34.0617382,13.0647363 +2046,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2858158,0.3360413,6.32884,3.6320147,54.5593467,21.7882974,28.3953274,64.8572616,31.0337364,41.1980946,18.447228,6.4230077,9.1579877,7.8832766,31.5950948,2.6785714,0.2137475,0.2633194,6.5198825,3.7836695,53.3261394,21.8868668,28.6538517,65.2777702,30.4914506,41.8162408,18.098284,5.7906003,9.7174674,8.1974263,31.190687,2.7777795,0.3333773,0.3277374,7.2131871,4.3878438,53.6316525,22.2761796,29.1488484,64.991441,30.7313937,41.9375557,18.3703982,5.71001,9.4687248,8.2761592,31.9672186,3.2738115,0.4000265,0.3548364,7.3238857,4.4888332,53.8677691,22.0743496,29.6955406,65.7161175,31.6680927,42.9459692,18.7607175,6.0248732,9.110537,8.2541069,31.3802138,3.2163761,0.5101118,0.471292,7.4019432,4.6604828,53.0072098,23.4964667,30.3368452,66.2947367,32.5263113,43.0526353,18.7578934,6.3368403,9.0870699,8.1641314,31.3933752,3.4375021 +2047,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7328827,1.8222421,31.5472431,26.9083709,50.4751597,12.764388,37.0032799,65.7454282,37.4215592,44.6220507,22.273677,3.0325684,16.7799949,13.1416375,39.4176591,22.9603837,1.8350483,1.8690517,31.6420859,27.0742214,51.2691534,12.6899531,36.6023221,65.1623408,36.3098797,44.2786608,21.8672701,2.8676011,16.1873029,13.0741269,40.3035974,23.0337234,1.9185712,1.9163707,32.5299973,28.014123,51.4861788,12.8541099,37.4132692,65.2847137,36.6112525,44.330491,22.0002108,2.9132751,16.1552576,12.3720921,39.6289415,22.3595606,1.8041626,1.8283293,32.9357855,28.5182989,51.7984219,13.1725944,38.1892586,65.1564082,37.0756501,44.3944659,21.7468568,2.9310407,16.1879323,12.1257739,39.3398012,21.0239743,1.7964936,1.8208869,33.5776434,29.0422602,52.7331019,12.7821508,37.7219117,64.2591061,35.8507674,43.8876045,21.2128061,2.8667673,16.3992925,12.6893318,40.2180455,20.5696457 +2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.7048176,1.7810805,28.8358287,23.1937986,47.7769683,13.0072875,40.3508073,66.4899799,33.9676511,47.9999042,26.2171186,5.5994457,14.540274,11.5220487,32.1308827,17.8951554,1.8094189,1.8873685,28.571953,23.1812933,48.4863385,12.9238561,39.8609303,66.6932962,33.5684701,47.7647885,27.0165056,6.1119709,15.9927199,11.7340312,33.4196712,18.071232,1.697947,1.7581825,29.2773478,23.7928295,49.8328038,11.753783,39.6224175,66.2924898,33.4884542,48.055812,27.3550167,5.9967904,16.1798294,12.1884523,32.6253632,17.9132166,1.6352341,1.6976939,30.0201591,24.9469375,49.6241429,11.1948772,40.1312113,65.7282014,33.5893487,49.3459912,27.6167177,6.399384,16.5928528,11.5127305,34.1723445,16.5981974,1.5133536,1.5765746,30.0740567,24.6262965,50.2867519,11.2789196,40.4603103,65.5779918,32.7514749,49.9085221,27.2209763,6.3659727,16.4039269,12.2323486,34.2588323,16.3828114 +2049,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6678169,0.6565762,9.2038404,6.2673454,38.4589868,17.9374046,30.8467064,67.8267693,35.5603932,44.0436936,20.377025,4.7885448,9.8237065,8.6900771,32.2347711,5.3992938,0.6658385,0.6490063,9.6516948,6.5514934,38.9497294,17.6717875,30.3967051,67.8692653,35.5882822,43.5115946,20.1631292,4.610637,9.4540305,8.4798379,32.1330324,5.5178954,0.6528082,0.6353663,9.5360708,6.4967462,39.309705,17.5998761,30.5908279,68.1885778,35.9071925,44.0392836,20.7050538,4.5904039,10.1558641,9.0572781,31.5882579,5.8806566,0.5836476,0.5471774,9.9225517,6.9851668,39.5851239,18.0854478,31.3029612,67.4293177,35.1555205,44.3142799,20.70443,4.4196365,10.224745,9.3325259,31.5090243,6.1135493,0.535074,0.4971339,10.1465417,7.1570121,39.4372018,18.0524034,31.4519852,66.8149888,34.8867765,44.5265494,20.3797987,4.2327301,10.7514192,9.0294446,31.9891448,5.5827456 +2050,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7011359,0.6813089,13.0073393,9.0668352,24.5578999,16.1409422,34.772931,65.6013592,35.0552891,47.1862807,21.4166185,4.0067662,11.6196398,9.0324882,27.10181,6.149726,0.6832925,0.6927462,13.4636055,9.5605122,25.6488072,16.5197632,34.7824039,65.8396627,34.2517631,47.1486932,21.0129159,4.314314,11.5506995,9.1515587,27.5777546,6.8657439,0.6105298,0.6162673,12.9610373,9.5070391,26.7654386,16.5435778,34.4721474,66.0781748,35.1142206,47.0589057,20.9652209,4.547896,12.4902657,9.5319346,27.7520664,6.8855824,0.6719893,0.6670497,12.3403607,9.4439693,27.8422679,16.6259742,34.6097926,66.4784398,35.274917,46.6545989,20.929696,4.5850253,11.9245919,9.2330608,27.3730002,7.4335357,0.6365764,0.6317721,12.4676071,9.4836758,28.7192315,17.0267392,34.5925521,67.9944138,36.416692,47.6881674,21.4706748,4.6644237,11.7659178,9.8980976,28.2671767,6.9800399 +2051,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3463557,0.3686374,6.6331418,4.1427203,41.9268293,23.1929153,28.1625782,67.8932179,35.7142857,46.007696,18.3020683,5.9403559,9.2857143,9.5714286,34.4476744,1.6778523,0.3819133,0.4043348,6.4680233,3.997093,42.0371275,23.7397984,29.3053546,68.9097926,36.0588519,46.1890979,18.6444766,6.6811384,9.5615672,9.7572362,34.1706161,1.8248175,0.3822967,0.4264079,6.8041726,4.1488857,41.5662651,23.4249171,29.547619,69.2619048,35.6428571,45.547619,18.1666667,6.1190476,9.2694064,9.1948765,33.287037,1.8656716,0.4650152,0.522961,7.2994403,4.454291,41.6627191,22.1006055,29.7708138,68.5921422,34.6819457,44.9719364,17.9840973,5.9167446,9.6083789,9.543379,32.4287029,1.7482517,0.5027933,0.5171179,7.4389682,4.6752649,40.5678085,22.2555351,30.0139276,69.0575673,34.6564531,45.1485608,17.8505107,5.8263695,10.1611459,9.8294434,32.5969342,0.974026 +2052,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8425566,1.8425566,34.3014129,29.4348509,66.8039539,4.9528302,39.28,64.72,27.12,42.96,16.72,6.32,16.0550459,11.1620795,33.4876543,14.3312102,1.9770086,2.1258181,33.6234177,28.8765823,68.616145,4.4811321,40.1442308,62.900641,26.5224359,43.6698718,15.9455128,5.6891026,16.6158537,13.2621951,33.7962963,12.654321,1.9797583,2.1326635,32.9268293,27.8861789,68.6655405,4.7734628,39.4563427,62.5205931,24.6293245,44.7281713,16.3920923,5.8484349,16.2460568,12.7760252,34.6645367,13.8709677,2.2035411,2.3534661,34.16,28.72,69.0713101,5.0159236,38.5298869,61.9547658,25.2827141,45.638126,15.4281099,5.5735057,15.3731343,11.7910448,35.1963746,13.1097561,2.1156966,2.1156966,34.414557,28.7183544,69.5901639,5.2590267,38.2352941,62.2416534,25.3577107,45.5484897,15.6597774,5.6438792,14.516129,11.8768328,34.9702381,12.8571429 +2053,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.089328,1.1418656,21.2462089,16.680774,32.3261388,16.8817792,33.5332549,66.80332,38.301934,49.6693361,23.6077478,3.3408462,12.6375953,10.4200745,34.5468243,15.431958,1.0635077,1.1018869,21.5597626,16.9981314,32.2519533,17.1647384,34.7592416,66.6738329,38.0580716,48.7239744,23.2415592,3.3398539,12.8210373,9.8064345,34.2243399,16.8039303,0.9611184,0.9988821,21.6522481,17.4511541,32.5966765,16.5911757,35.1717075,67.2153396,38.4764568,48.038313,23.0640912,2.9117874,12.5260837,9.656273,33.2371568,15.6149471,1.0395732,1.0731047,21.5098106,17.1630994,33.0887695,16.5910395,35.3585613,67.1235096,38.2707544,47.6730934,22.6454376,3.084611,12.5516997,9.4460157,33.5152101,18.2595711,1.1253672,1.1371648,22.3021898,18.0329879,33.2550244,16.2544872,35.1002977,66.5657432,37.8143585,47.07616,22.2975465,3.0737944,12.9224073,9.6814333,33.6687087,18.1280615 +2054,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9630776,1.9743894,28.0281436,24.0012543,43.2102943,18.5510138,41.7030022,66.939572,36.6215171,48.2017184,25.6558848,3.903628,13.3749563,8.9418206,33.1014541,22.5384744,2.1197044,2.1140809,28.9039738,24.9195444,43.3137067,18.2928888,42.2547768,66.3348548,35.3980816,48.7158055,24.9967912,3.9895588,13.650957,9.5368894,32.099834,24.5447693,1.8730069,1.8926762,28.8832186,24.9738116,43.4215379,18.7461079,42.8433915,66.1495986,35.9631285,49.9436776,24.7060189,3.9880404,13.7532527,9.9210921,32.8784088,22.2732167,1.7307073,1.7682767,28.8914612,24.8247962,44.0940103,18.6686138,42.6038563,66.2745495,35.4900582,49.4574129,24.3612219,3.9893082,12.6600483,10.0018063,32.214038,20.6489585,1.8498499,1.8878405,28.6030918,24.4144738,44.9990107,18.831897,41.1897284,65.8009859,35.1539921,48.7865694,24.3626807,4.0833102,12.7642173,10.9089584,33.3364863,20.8645994 +2055,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7106542,1.711956,27.1520593,22.519478,57.1484097,17.0126904,38.4534675,64.2482543,34.6921033,44.5034561,20.5247654,3.2750958,12.8777065,12.2967327,34.4510562,20.2959639,1.7795535,1.7678156,27.3952012,22.5005596,56.7927943,17.0962748,38.5036456,63.0170324,33.7215326,44.3069029,21.1024605,3.2790618,12.290239,12.0554757,34.2495203,20.1649916,1.7084711,1.6966314,27.2288874,22.4984777,56.2770504,17.3399852,38.1771578,63.0167813,33.9966252,44.7505113,21.1474767,2.9665405,12.540288,11.8666404,34.3070973,17.8721866,1.5825761,1.5574828,27.3906133,22.4867138,56.5960806,17.7909806,38.9541666,63.566146,34.1675825,44.8495282,21.3022807,3.1412225,12.909208,11.683983,33.8536074,18.1705212,1.7297044,1.7045023,27.0609179,22.3930724,56.4251321,17.9014408,39.6093232,63.410495,34.0896545,45.2990372,21.4534707,3.2988817,13.5679662,11.8986958,34.1803022,17.4266931 +2056,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7079072,0.7079072,11.1791952,8.0517639,43.8555168,14.5179292,27.6768447,66.7965898,37.6857695,42.4478893,20.3259845,5.1805973,11.4088449,9.9143935,32.0780836,10.4710639,0.7809797,0.793157,11.9091305,8.8629141,43.4890062,14.5065864,27.9922593,66.1398065,37.2440406,41.6777923,19.74291,4.8601966,10.9924427,9.445281,32.8382016,10.8633859,0.8336949,0.8457441,12.3839882,9.0053555,43.5022957,13.8983107,28.515079,66.5826683,36.8482973,41.4097234,19.8502129,4.7508402,10.8524928,8.992137,33.3317314,12.4589562,0.8649115,0.8847424,13.0349756,9.4391203,44.1939254,13.8664949,28.9587394,65.6787911,35.950996,40.9438734,19.0881203,4.357307,11.5644864,8.9410923,34.0617382,13.0647363,0.9470169,0.9668644,13.627549,9.6972662,44.6111723,13.6490496,28.8459371,65.2382241,35.5770856,40.5037499,18.0150086,4.3971679,11.7334356,8.6785796,34.0167801,12.6664444 +2057,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6832925,0.6927462,13.4636055,9.5605122,25.6488072,16.5197632,34.7824039,65.8396627,34.2517631,47.1486932,21.0129159,4.314314,11.5506995,9.1515587,27.5777546,6.8657439,0.6105298,0.6162673,12.9610373,9.5070391,26.7654386,16.5435778,34.4721474,66.0781748,35.1142206,47.0589057,20.9652209,4.547896,12.4902657,9.5319346,27.7520664,6.8855824,0.6719893,0.6670497,12.3403607,9.4439693,27.8422679,16.6259742,34.6097926,66.4784398,35.274917,46.6545989,20.929696,4.5850253,11.9245919,9.2330608,27.3730002,7.4335357,0.6365764,0.6317721,12.4676071,9.4836758,28.7192315,17.0267392,34.5925521,67.9944138,36.416692,47.6881674,21.4706748,4.6644237,11.7659178,9.8980976,28.2671767,6.9800399,0.6172929,0.6125678,12.8053445,9.7709678,30.6234138,17.1722428,34.3008506,68.0975951,37.1053709,47.6575793,21.6135013,4.4087929,12.6565641,10.5874121,28.9098573,5.6489438 +2058,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2137475,0.2633194,6.5198825,3.7836695,53.3261394,21.8868668,28.6538517,65.2777702,30.4914506,41.8162408,18.098284,5.7906003,9.7174674,8.1974263,31.190687,2.7777795,0.3333773,0.3277374,7.2131871,4.3878438,53.6316525,22.2761796,29.1488484,64.991441,30.7313937,41.9375557,18.3703982,5.71001,9.4687248,8.2761592,31.9672186,3.2738115,0.4000265,0.3548364,7.3238857,4.4888332,53.8677691,22.0743496,29.6955406,65.7161175,31.6680927,42.9459692,18.7607175,6.0248732,9.110537,8.2541069,31.3802138,3.2163761,0.5101118,0.471292,7.4019432,4.6604828,53.0072098,23.4964667,30.3368452,66.2947367,32.5263113,43.0526353,18.7578934,6.3368403,9.0870699,8.1641314,31.3933752,3.4375021,0.6361725,0.5977109,7.4205723,4.6195675,52.6480558,23.5594517,30.1202389,67.1019944,32.3175783,42.9726458,18.3872314,6.2396341,9.8700284,8.5772393,32.4180379,4.5731735 +2059,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3333773,0.3277374,7.2131871,4.3878438,53.6316525,22.2761796,29.1488484,64.991441,30.7313937,41.9375557,18.3703982,5.71001,9.4687248,8.2761592,31.9672186,3.2738115,0.4000265,0.3548364,7.3238857,4.4888332,53.8677691,22.0743496,29.6955406,65.7161175,31.6680927,42.9459692,18.7607175,6.0248732,9.110537,8.2541069,31.3802138,3.2163761,0.5101118,0.471292,7.4019432,4.6604828,53.0072098,23.4964667,30.3368452,66.2947367,32.5263113,43.0526353,18.7578934,6.3368403,9.0870699,8.1641314,31.3933752,3.4375021,0.6361725,0.5977109,7.4205723,4.6195675,52.6480558,23.5594517,30.1202389,67.1019944,32.3175783,42.9726458,18.3872314,6.2396341,9.8700284,8.5772393,32.4180379,4.5731735,0.7396769,0.7017262,7.5164782,4.7981902,52.348594,24.38383,30.8180029,67.3824175,33.190184,43.8241401,18.8343569,6.3599172,9.7099153,8.2594715,31.4784774,5.722895 +2060,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7809797,0.793157,11.9091305,8.8629141,43.4890062,14.5065864,27.9922593,66.1398065,37.2440406,41.6777923,19.74291,4.8601966,10.9924427,9.445281,32.8382016,10.8633859,0.8336949,0.8457441,12.3839882,9.0053555,43.5022957,13.8983107,28.515079,66.5826683,36.8482973,41.4097234,19.8502129,4.7508402,10.8524928,8.992137,33.3317314,12.4589562,0.8649115,0.8847424,13.0349756,9.4391203,44.1939254,13.8664949,28.9587394,65.6787911,35.950996,40.9438734,19.0881203,4.357307,11.5644864,8.9410923,34.0617382,13.0647363,0.9470169,0.9668644,13.627549,9.6972662,44.6111723,13.6490496,28.8459371,65.2382241,35.5770856,40.5037499,18.0150086,4.3971679,11.7334356,8.6785796,34.0167801,12.6664444,0.8904746,0.9094802,13.9018477,9.8456057,44.9408189,13.2122344,28.780957,65.0599428,34.7135822,39.2671308,17.4630026,4.1959411,11.607941,8.6427252,34.2680712,13.0521914 +2061,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7023884,0.7316838,10.0620317,6.8977793,37.0972709,20.8322898,32.338531,66.390116,38.4123684,45.0703403,22.2996974,6.1564521,10.0362326,7.9602187,32.5419329,6.9937146,0.7407645,0.7746517,10.0029859,6.8851742,37.0661522,20.7196087,32.5117027,66.329449,37.9827334,45.0927607,22.3417581,6.0973309,10.1735248,8.1763128,33.2997302,7.314387,0.740222,0.7693184,10.4069803,7.1473483,37.1531428,20.6873871,32.5734354,66.6212545,37.987158,45.4802068,22.5187224,6.2116866,10.0350921,8.1569108,32.8265706,7.3695918,0.7376665,0.7617191,10.7674196,7.4867823,37.5368827,20.1844529,33.0257411,65.8455161,36.8551035,45.1709143,22.3147998,6.4921749,10.2063888,8.2143291,33.0172025,8.1521721,0.7065716,0.7296756,11.3592893,7.7729089,38.308691,20.2106099,33.0380396,64.6625993,36.5385032,45.5617624,21.817963,6.1593258,10.0303025,8.0428191,33.0709648,8.0612228 +2062,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2764765,1.3534804,22.8886215,17.4833704,83.2463041,15.3141678,33.9543487,65.2797277,36.8884184,39.9969251,19.2371799,5.434167,12.0985819,11.5684105,32.994275,16.6902813,1.3430491,1.4484453,22.6303412,17.2715377,82.5524798,15.7994436,34.3429264,65.4512828,36.7679862,40.0462618,18.9561287,5.0979396,12.4597597,11.9397474,34.5992673,14.1164613,1.2778191,1.3844887,22.2092874,16.9452772,82.4050571,16.019519,34.4993109,66.0008773,36.8883934,40.2287516,18.6171106,4.8784208,12.2403736,12.2256896,36.1618601,13.4922705,1.434663,1.5420813,21.8586922,16.305801,82.7321175,16.3179111,35.7099156,64.6669721,37.4154048,41.0922912,18.9767635,4.9695636,13.8094071,13.3068688,37.5509425,13.7501994,1.6703993,1.7757715,21.244547,16.2968589,83.0697305,15.8132669,35.7815826,64.0309074,37.0300117,40.7183145,19.5302912,4.7183953,13.9639192,13.7200018,37.4398387,10.7894737 +2063,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9810203,0.9273823,15.9583138,11.3741853,57.2212727,14.0096613,29.8201653,63.4610782,34.0637815,40.1018035,17.542131,3.654899,13.6103271,11.3003532,37.7366113,8.3108128,0.9601798,0.8817892,16.6076422,12.182624,58.1618913,14.8373493,29.4710239,63.4616534,34.1344139,39.7243481,18.6416968,3.7368739,13.9126276,12.0785131,37.8404405,6.9946648,0.9297888,0.9212655,15.9173613,12.2041758,60.0791764,14.8169776,30.2138479,62.9808645,33.5674072,39.8149344,18.4147984,3.766677,14.4346148,12.1773585,37.7188924,6.7893821,1.130314,1.1219467,17.2046677,13.6080152,61.1202206,14.3369004,30.4579977,62.1877172,33.4790489,39.1663797,18.1943591,3.6885617,15.1492403,12.3599097,36.6667513,9.9787284,1.2274163,1.2191369,16.9605038,13.138727,61.8467896,13.9909999,30.6623504,62.4258971,32.6388961,39.1846375,17.9735039,3.6016941,15.1938653,12.2522174,35.4109656,8.6396043 +2064,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8336949,0.8457441,12.3839882,9.0053555,43.5022957,13.8983107,28.515079,66.5826683,36.8482973,41.4097234,19.8502129,4.7508402,10.8524928,8.992137,33.3317314,12.4589562,0.8649115,0.8847424,13.0349756,9.4391203,44.1939254,13.8664949,28.9587394,65.6787911,35.950996,40.9438734,19.0881203,4.357307,11.5644864,8.9410923,34.0617382,13.0647363,0.9470169,0.9668644,13.627549,9.6972662,44.6111723,13.6490496,28.8459371,65.2382241,35.5770856,40.5037499,18.0150086,4.3971679,11.7334356,8.6785796,34.0167801,12.6664444,0.8904746,0.9094802,13.9018477,9.8456057,44.9408189,13.2122344,28.780957,65.0599428,34.7135822,39.2671308,17.4630026,4.1959411,11.607941,8.6427252,34.2680712,13.0521914,0.9618257,0.9667336,14.5349248,10.6589448,45.9074458,13.3621857,28.781995,64.5595858,34.4061575,39.6295407,17.8890566,3.9943454,11.7219895,8.8248135,34.2851309,11.4704863 +2065,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.845709,0.8846766,13.9550465,10.1360698,27.9522023,19.2328796,37.2022142,65.5555599,37.7376186,48.9290199,22.3426607,3.0923597,11.2695621,10.1375824,33.6898753,14.6875184,1.0650564,1.091401,15.0077992,10.9230145,28.5693515,18.8844622,37.2982449,65.083334,36.7425564,48.703364,22.1090008,3.2415987,11.4738326,9.8231383,33.1732426,14.8876321,1.0513313,1.092793,15.2887872,11.0193039,28.7375555,18.6565733,37.4209179,64.6545056,36.3832302,48.304228,21.7033501,2.8979938,12.033704,10.202233,33.3032215,14.6276285,1.0494792,1.0889933,15.2912453,11.2120314,28.8778131,18.2341889,38.1141727,64.0534639,36.0910831,47.8925885,21.5438181,3.022633,11.8870336,10.1259274,33.0101795,13.7305415,1.2113447,1.2291148,15.3967235,11.4661815,29.1946398,18.5625485,37.8829145,63.5993018,36.2031095,47.9372583,21.6526479,3.0014756,11.6030668,10.0457343,32.5880044,14.3228868 +2066,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7833402,0.7796799,11.2000251,6.7920186,49.9824517,10.2784063,32.9665646,66.2811921,41.276464,43.5788513,23.6714491,4.6957434,10.5072787,8.5859899,39.6946666,5.9023018,0.7863161,0.7748286,10.9129587,6.6470722,49.5235327,10.46487,33.1708631,66.5450604,41.6056234,43.6178993,23.797725,4.8325327,10.6610287,8.7581842,39.3459015,6.3019356,0.7935846,0.784552,10.9104985,6.7521191,49.4424776,10.9527844,32.9369188,66.5733117,42.193216,44.0072336,23.8459799,4.8563202,11.0356489,8.9894336,38.9591234,6.9877874,0.7714766,0.7624388,11.1599627,6.9247927,49.3325944,10.9222328,32.6983334,66.780665,41.9367726,44.1038752,23.8845066,4.77488,11.030319,9.4250572,39.169446,8.1249977,0.7996202,0.8015818,11.1653681,7.1164415,48.6023269,10.9804523,32.5674126,66.9081852,41.841291,44.9566605,24.1052789,4.7553045,11.1306697,9.6472085,39.3837751,8.6137117 +2067,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7585496,0.7640873,11.1102851,7.7835158,30.9655029,9.8723478,30.0759715,64.8124862,33.19727,45.2532106,19.3512696,3.4865233,10.7771558,8.691748,30.9592689,7.464819,0.7137426,0.7193279,11.4109341,8.0960249,31.7215562,9.9589367,29.765644,64.4738776,32.7180743,45.3247668,19.2139927,3.4230571,11.2178526,8.9398628,30.8893172,8.1896505,0.7741261,0.7930247,11.8731184,8.4404355,32.0801076,10.357994,30.1797172,64.1163879,33.1392577,45.4811585,19.4754986,3.3836069,11.0288367,8.6038115,30.5789614,8.4285618,0.7703731,0.7934783,12.1888022,8.7202705,32.534693,10.4470076,30.1755161,63.8794786,32.8271332,44.8601732,19.0119302,3.3290483,11.1674274,8.6110327,30.6543485,7.3726462,0.7493315,0.7667606,12.0030339,8.6507703,33.1269712,10.5360119,30.1692866,64.3623047,32.7906285,44.7990468,18.6116597,3.5306457,11.1713899,8.9920846,30.1032276,7.3934763 +2068,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.7774313,0.8018711,13.6191367,10.174144,45.4118623,12.8371339,28.2712825,63.6703553,29.3840236,43.1601154,14.9942326,5.3626353,12.347817,10.1251253,30.9194919,11.4403053,0.8627342,0.8880853,13.7846679,10.2871886,45.1269838,13.0151462,27.6167039,63.7636645,29.9800897,43.1877729,15.0248673,5.5312884,12.2683371,10.0863105,31.0627387,9.7666311,0.8986059,0.9403439,14.8210624,11.1432685,45.9673866,12.9761812,27.9525405,63.3218448,29.8193492,43.0905707,15.0061301,5.2252495,12.6986177,10.1076154,31.2500069,10.9327992,1.0122125,1.0538006,15.7941197,11.9326495,47.9435947,12.6102278,28.2090369,63.139306,29.4016482,42.2377675,14.5037893,5.0636836,13.1599623,10.2608361,31.9408245,11.2901457,0.9655971,1.0038107,16.1982245,12.2599668,49.3312179,12.160735,28.6102813,62.6082657,29.1943532,42.1853191,14.5720445,4.9244758,13.479378,10.5044487,32.63497,9.9719717 +2069,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6658385,0.6490063,9.6516948,6.5514934,38.9497294,17.6717875,30.3967051,67.8692653,35.5882822,43.5115946,20.1631292,4.610637,9.4540305,8.4798379,32.1330324,5.5178954,0.6528082,0.6353663,9.5360708,6.4967462,39.309705,17.5998761,30.5908279,68.1885778,35.9071925,44.0392836,20.7050538,4.5904039,10.1558641,9.0572781,31.5882579,5.8806566,0.5836476,0.5471774,9.9225517,6.9851668,39.5851239,18.0854478,31.3029612,67.4293177,35.1555205,44.3142799,20.70443,4.4196365,10.224745,9.3325259,31.5090243,6.1135493,0.535074,0.4971339,10.1465417,7.1570121,39.4372018,18.0524034,31.4519852,66.8149888,34.8867765,44.5265494,20.3797987,4.2327301,10.7514192,9.0294446,31.9891448,5.5827456,0.579843,0.5892721,10.5962543,7.4618004,40.0734852,17.7091755,31.187174,66.3305597,34.3148156,44.1234227,19.7389344,4.2737877,11.0352026,8.9231465,32.4054268,5.9470979 +2070,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6528082,0.6353663,9.5360708,6.4967462,39.309705,17.5998761,30.5908279,68.1885778,35.9071925,44.0392836,20.7050538,4.5904039,10.1558641,9.0572781,31.5882579,5.8806566,0.5836476,0.5471774,9.9225517,6.9851668,39.5851239,18.0854478,31.3029612,67.4293177,35.1555205,44.3142799,20.70443,4.4196365,10.224745,9.3325259,31.5090243,6.1135493,0.535074,0.4971339,10.1465417,7.1570121,39.4372018,18.0524034,31.4519852,66.8149888,34.8867765,44.5265494,20.3797987,4.2327301,10.7514192,9.0294446,31.9891448,5.5827456,0.579843,0.5892721,10.5962543,7.4618004,40.0734852,17.7091755,31.187174,66.3305597,34.3148156,44.1234227,19.7389344,4.2737877,11.0352026,8.9231465,32.4054268,5.9470979,0.6388873,0.6734167,11.4114168,7.755712,40.1734146,17.4081936,31.069423,65.9055528,33.982804,44.0412192,19.7854091,4.3070014,10.6849696,8.9887345,32.8001447,9.0188422 +2071,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0635077,1.1018869,21.5597626,16.9981314,32.2519533,17.1647384,34.7592416,66.6738329,38.0580716,48.7239744,23.2415592,3.3398539,12.8210373,9.8064345,34.2243399,16.8039303,0.9611184,0.9988821,21.6522481,17.4511541,32.5966765,16.5911757,35.1717075,67.2153396,38.4764568,48.038313,23.0640912,2.9117874,12.5260837,9.656273,33.2371568,15.6149471,1.0395732,1.0731047,21.5098106,17.1630994,33.0887695,16.5910395,35.3585613,67.1235096,38.2707544,47.6730934,22.6454376,3.084611,12.5516997,9.4460157,33.5152101,18.2595711,1.1253672,1.1371648,22.3021898,18.0329879,33.2550244,16.2544872,35.1002977,66.5657432,37.8143585,47.07616,22.2975465,3.0737944,12.9224073,9.6814333,33.6687087,18.1280615,1.1974556,1.2415913,22.2065491,17.9583793,34.3698889,16.6447744,35.111255,66.0755345,37.3015382,45.8122684,21.6750009,3.3069675,12.7341791,9.6048083,33.2257826,21.2431371 +2072,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0650564,1.091401,15.0077992,10.9230145,28.5693515,18.8844622,37.2982449,65.083334,36.7425564,48.703364,22.1090008,3.2415987,11.4738326,9.8231383,33.1732426,14.8876321,1.0513313,1.092793,15.2887872,11.0193039,28.7375555,18.6565733,37.4209179,64.6545056,36.3832302,48.304228,21.7033501,2.8979938,12.033704,10.202233,33.3032215,14.6276285,1.0494792,1.0889933,15.2912453,11.2120314,28.8778131,18.2341889,38.1141727,64.0534639,36.0910831,47.8925885,21.5438181,3.022633,11.8870336,10.1259274,33.0101795,13.7305415,1.2113447,1.2291148,15.3967235,11.4661815,29.1946398,18.5625485,37.8829145,63.5993018,36.2031095,47.9372583,21.6526479,3.0014756,11.6030668,10.0457343,32.5880044,14.3228868,1.2295605,1.2478494,15.6958505,11.638104,29.8209931,18.2252041,38.0208796,63.325753,35.8359474,47.3704759,21.3795741,3.0106709,11.4200785,10.0492767,33.1521926,16.6666239 +2073,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0513313,1.092793,15.2887872,11.0193039,28.7375555,18.6565733,37.4209179,64.6545056,36.3832302,48.304228,21.7033501,2.8979938,12.033704,10.202233,33.3032215,14.6276285,1.0494792,1.0889933,15.2912453,11.2120314,28.8778131,18.2341889,38.1141727,64.0534639,36.0910831,47.8925885,21.5438181,3.022633,11.8870336,10.1259274,33.0101795,13.7305415,1.2113447,1.2291148,15.3967235,11.4661815,29.1946398,18.5625485,37.8829145,63.5993018,36.2031095,47.9372583,21.6526479,3.0014756,11.6030668,10.0457343,32.5880044,14.3228868,1.2295605,1.2478494,15.6958505,11.638104,29.8209931,18.2252041,38.0208796,63.325753,35.8359474,47.3704759,21.3795741,3.0106709,11.4200785,10.0492767,33.1521926,16.6666239,1.1534869,1.1837617,15.8043708,11.7092315,29.9395429,18.261416,39.2046846,62.8147794,35.4151334,46.8835727,21.2540663,3.0042433,11.9031932,9.8939304,32.9643248,15.9090507 +2074,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6503117,0.6355792,10.9132304,7.4397764,26.3373852,21.90165,33.016469,68.4085784,37.4173257,48.039705,22.8889812,3.5129242,12.4827022,10.9159813,36.2637977,5.8558506,0.784256,0.7554318,10.9610942,7.8689143,25.7760495,21.981087,32.3904879,68.7374789,37.8748529,48.6985666,23.695856,3.7687515,13.3013375,11.2696101,36.0187639,4.7008467,0.8479295,0.8195071,11.1164636,7.6011983,25.9964907,21.437318,31.8162998,68.2767369,36.3911398,48.123707,22.9662417,3.4034857,13.2496926,11.8039569,36.6897423,4.867248,0.6892981,0.6823166,10.3512066,7.0586667,25.8390804,21.1505887,31.1027335,68.2124085,36.6448493,48.1506442,23.28061,3.7527403,12.5486677,10.8935877,35.6402776,4.399993,0.8974492,0.8906382,11.1008161,7.3740933,25.9329242,21.5043349,31.8174131,68.65837,37.4422284,48.3906782,23.7921051,4.1783413,12.076389,10.486906,35.7336124,7.8357521 +2075,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8649115,0.8847424,13.0349756,9.4391203,44.1939254,13.8664949,28.9587394,65.6787911,35.950996,40.9438734,19.0881203,4.357307,11.5644864,8.9410923,34.0617382,13.0647363,0.9470169,0.9668644,13.627549,9.6972662,44.6111723,13.6490496,28.8459371,65.2382241,35.5770856,40.5037499,18.0150086,4.3971679,11.7334356,8.6785796,34.0167801,12.6664444,0.8904746,0.9094802,13.9018477,9.8456057,44.9408189,13.2122344,28.780957,65.0599428,34.7135822,39.2671308,17.4630026,4.1959411,11.607941,8.6427252,34.2680712,13.0521914,0.9618257,0.9667336,14.5349248,10.6589448,45.9074458,13.3621857,28.781995,64.5595858,34.4061575,39.6295407,17.8890566,3.9943454,11.7219895,8.8248135,34.2851309,11.4704863,0.9715782,0.9578635,14.7469365,10.7836213,45.6697268,13.1609868,29.7251563,64.8029594,34.6259162,39.8896607,18.3191249,4.131306,11.2913246,8.3231351,34.5699799,11.1371717 +2076,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.8094189,1.8873685,28.571953,23.1812933,48.4863385,12.9238561,39.8609303,66.6932962,33.5684701,47.7647885,27.0165056,6.1119709,15.9927199,11.7340312,33.4196712,18.071232,1.697947,1.7581825,29.2773478,23.7928295,49.8328038,11.753783,39.6224175,66.2924898,33.4884542,48.055812,27.3550167,5.9967904,16.1798294,12.1884523,32.6253632,17.9132166,1.6352341,1.6976939,30.0201591,24.9469375,49.6241429,11.1948772,40.1312113,65.7282014,33.5893487,49.3459912,27.6167177,6.399384,16.5928528,11.5127305,34.1723445,16.5981974,1.5133536,1.5765746,30.0740567,24.6262965,50.2867519,11.2789196,40.4603103,65.5779918,32.7514749,49.9085221,27.2209763,6.3659727,16.4039269,12.2323486,34.2588323,16.3828114,1.4600671,1.5092979,30.0406859,24.4366583,51.4439949,11.4667426,39.4600064,65.4850023,32.3482392,49.1734213,26.2847487,6.6814577,16.5250632,13.1640797,35.0737707,19.3327147 +2077,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4803902,0.4497503,8.7519208,6.6066414,70.1868207,12.6146234,25.1215282,67.6942121,31.1408552,44.1992052,14.0534928,4.6845364,11.6938656,9.7877901,33.5116721,3.6884248,0.6739196,0.630307,8.3989675,6.3166202,69.9577063,13.8114504,24.9192952,67.2286771,31.2934329,43.8107821,14.064832,4.36501,11.8806675,9.4208847,34.090911,2.083276,0.5760822,0.5342939,8.1566649,6.1672971,69.5407119,13.4313649,25.4647469,67.942512,31.4382016,43.208139,14.048877,4.3585136,12.3352908,9.9647886,33.318652,2.940524,0.4599274,0.4599274,7.9993065,6.0997924,69.1925594,13.4080891,25.6384664,68.1490343,31.3405492,43.936278,13.6383957,4.7873297,13.2340816,10.3490985,33.2048228,2.1545207,0.6619209,0.6619209,8.4018962,6.3264246,66.8372937,13.3975358,26.2321386,68.7429913,31.6593924,44.5240578,13.8498183,4.6031935,13.0905839,10.4565831,33.0783187,5.9992672 +2078,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4000265,0.3548364,7.3238857,4.4888332,53.8677691,22.0743496,29.6955406,65.7161175,31.6680927,42.9459692,18.7607175,6.0248732,9.110537,8.2541069,31.3802138,3.2163761,0.5101118,0.471292,7.4019432,4.6604828,53.0072098,23.4964667,30.3368452,66.2947367,32.5263113,43.0526353,18.7578934,6.3368403,9.0870699,8.1641314,31.3933752,3.4375021,0.6361725,0.5977109,7.4205723,4.6195675,52.6480558,23.5594517,30.1202389,67.1019944,32.3175783,42.9726458,18.3872314,6.2396341,9.8700284,8.5772393,32.4180379,4.5731735,0.7396769,0.7017262,7.5164782,4.7981902,52.348594,24.38383,30.8180029,67.3824175,33.190184,43.8241401,18.8343569,6.3599172,9.7099153,8.2594715,31.4784774,5.722895,0.7362856,0.7362856,7.7470473,5.103695,51.2230051,24.5498087,30.6085232,67.1196865,32.7180538,43.7931103,18.0730237,5.9837719,9.8127084,9.0057094,32.6622922,6.6037777 +2079,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7300985,0.7250406,8.6930685,5.9471955,42.5020132,13.9779964,29.2617055,67.7323686,33.045481,42.9334207,18.9518767,14.4693472,9.6111253,8.2778193,37.5185963,3.961136,0.7792917,0.7803425,9.0115457,6.1932906,42.7519922,13.4974723,28.8313705,67.4471303,33.0060378,42.6462483,18.9988982,14.3161219,10.3854943,8.3036606,37.5447177,3.5266458,0.7425537,0.7642989,9.1055728,6.1628797,43.6437243,13.5412599,29.7113678,66.7292294,32.5588874,42.5511278,18.8260406,14.1405636,10.6385312,8.3205106,37.7198794,3.171091,0.7583378,0.7696795,9.5258646,6.3402879,44.3232518,13.1412632,30.003714,65.3698728,31.8221192,42.4233101,18.7592785,14.4173667,10.3749509,8.3119194,37.4087231,4.0772526,0.7972681,0.8480754,9.9852503,6.6056284,44.8732704,13.1931508,30.4114197,65.1037875,31.6839671,42.1979321,18.7237485,14.3254246,10.5078637,8.0722196,37.7263138,3.8951836 +2080,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9770086,2.1258181,33.6234177,28.8765823,68.616145,4.4811321,40.1442308,62.900641,26.5224359,43.6698718,15.9455128,5.6891026,16.6158537,13.2621951,33.7962963,12.654321,1.9797583,2.1326635,32.9268293,27.8861789,68.6655405,4.7734628,39.4563427,62.5205931,24.6293245,44.7281713,16.3920923,5.8484349,16.2460568,12.7760252,34.6645367,13.8709677,2.2035411,2.3534661,34.16,28.72,69.0713101,5.0159236,38.5298869,61.9547658,25.2827141,45.638126,15.4281099,5.5735057,15.3731343,11.7910448,35.1963746,13.1097561,2.1156966,2.1156966,34.414557,28.7183544,69.5901639,5.2590267,38.2352941,62.2416534,25.3577107,45.5484897,15.6597774,5.6438792,14.516129,11.8768328,34.9702381,12.8571429,2.1839382,2.1839382,34.4583987,28.9638932,67.7235772,5.6942278,38.5895404,63.6291601,26.8621236,46.1965135,16.5610143,4.8335975,14.5209581,10.9281437,35.3030303,12.8571429 +2081,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5356911,1.6275004,23.6641412,18.5829795,45.3773263,15.1607029,43.6537114,67.4570434,41.1597181,52.1099575,27.7145887,4.0954394,11.1326515,9.8214955,30.2255563,18.0142085,1.7959714,1.8894286,23.5290938,18.7091103,45.544399,16.3215976,42.733315,66.9455264,39.8340559,51.8024162,28.5641463,4.0939206,10.8345471,9.3165713,28.5942745,23.6424945,1.7750215,1.8721383,23.234705,18.2386964,46.2949538,16.2613083,43.3079,66.592443,38.6393147,50.458877,27.5468642,3.8042188,10.8664233,8.8879457,30.7521163,21.7549115,1.8587238,1.9625446,24.7687533,19.7500331,46.8861483,15.5751083,43.6088992,66.0000209,36.9917126,49.8603966,25.8892394,4.0582293,10.932197,8.3378878,33.1563526,21.5446437,1.8898852,2.0076487,23.9326713,19.3138726,46.332203,15.7145359,42.4837558,66.9230624,37.8742165,49.0014467,26.6501386,3.8467422,9.4715685,7.37789,31.6259075,22.5408435 +2082,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8350483,1.8690517,31.6420859,27.0742214,51.2691534,12.6899531,36.6023221,65.1623408,36.3098797,44.2786608,21.8672701,2.8676011,16.1873029,13.0741269,40.3035974,23.0337234,1.9185712,1.9163707,32.5299973,28.014123,51.4861788,12.8541099,37.4132692,65.2847137,36.6112525,44.330491,22.0002108,2.9132751,16.1552576,12.3720921,39.6289415,22.3595606,1.8041626,1.8283293,32.9357855,28.5182989,51.7984219,13.1725944,38.1892586,65.1564082,37.0756501,44.3944659,21.7468568,2.9310407,16.1879323,12.1257739,39.3398012,21.0239743,1.7964936,1.8208869,33.5776434,29.0422602,52.7331019,12.7821508,37.7219117,64.2591061,35.8507674,43.8876045,21.2128061,2.8667673,16.3992925,12.6893318,40.2180455,20.5696457,1.9342164,1.9187542,33.7574413,29.1306503,53.4098056,12.8037895,38.008547,64.0203008,35.3701127,42.95736,20.6013358,2.8052991,16.7411533,12.5708318,39.6927236,20.184455 +2083,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6105298,0.6162673,12.9610373,9.5070391,26.7654386,16.5435778,34.4721474,66.0781748,35.1142206,47.0589057,20.9652209,4.547896,12.4902657,9.5319346,27.7520664,6.8855824,0.6719893,0.6670497,12.3403607,9.4439693,27.8422679,16.6259742,34.6097926,66.4784398,35.274917,46.6545989,20.929696,4.5850253,11.9245919,9.2330608,27.3730002,7.4335357,0.6365764,0.6317721,12.4676071,9.4836758,28.7192315,17.0267392,34.5925521,67.9944138,36.416692,47.6881674,21.4706748,4.6644237,11.7659178,9.8980976,28.2671767,6.9800399,0.6172929,0.6125678,12.8053445,9.7709678,30.6234138,17.1722428,34.3008506,68.0975951,37.1053709,47.6575793,21.6135013,4.4087929,12.6565641,10.5874121,28.9098573,5.6489438,0.65937,0.6746355,12.9950157,10.2373711,31.5428811,17.1594682,34.1999952,66.937525,37.3886709,47.4084458,21.6797408,4.5117411,12.5782311,10.8061195,29.0710835,5.5105958 +2084,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7959714,1.8894286,23.5290938,18.7091103,45.544399,16.3215976,42.733315,66.9455264,39.8340559,51.8024162,28.5641463,4.0939206,10.8345471,9.3165713,28.5942745,23.6424945,1.7750215,1.8721383,23.234705,18.2386964,46.2949538,16.2613083,43.3079,66.592443,38.6393147,50.458877,27.5468642,3.8042188,10.8664233,8.8879457,30.7521163,21.7549115,1.8587238,1.9625446,24.7687533,19.7500331,46.8861483,15.5751083,43.6088992,66.0000209,36.9917126,49.8603966,25.8892394,4.0582293,10.932197,8.3378878,33.1563526,21.5446437,1.8898852,2.0076487,23.9326713,19.3138726,46.332203,15.7145359,42.4837558,66.9230624,37.8742165,49.0014467,26.6501386,3.8467422,9.4715685,7.37789,31.6259075,22.5408435,1.9813446,2.1454507,25.2482314,20.2249219,45.996266,15.7936105,41.9443924,67.1742315,38.1270356,49.0156788,26.7657101,4.2369146,9.4546382,7.5196914,33.2355317,21.1999354 +2085,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7425645,1.7602211,31.2125267,27.3389209,48.9818545,17.6208181,36.1217161,64.6713428,31.8557073,44.3482669,21.069692,2.544273,13.5769303,11.0278242,38.8461213,27.0465927,1.9065799,1.9241207,31.3126669,27.4483664,50.1105394,17.0516644,36.2640789,65.3050722,31.7100141,44.2856495,20.9741737,2.4578717,13.2647356,11.0012739,39.8893163,27.9492608,2.0932479,2.1372867,31.7056168,27.845066,51.516967,16.7795643,35.3926153,65.2864105,32.2083029,44.0009889,21.4476134,2.4322816,13.1591811,10.5957034,39.568256,27.072611,2.1541165,2.1839017,32.2975014,28.2480212,53.3731586,16.5586007,35.2414941,65.9642705,32.7167409,44.0479693,20.9838796,2.4527529,13.9137901,10.9836994,39.7574185,27.631437,2.2545383,2.2905236,32.4667841,28.2954819,54.7527018,16.6900377,35.6253105,66.254174,33.0344247,44.1362002,21.0503181,2.4622266,14.3958389,10.6776357,39.8330418,25.8620733 +2086,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1197044,2.1140809,28.9039738,24.9195444,43.3137067,18.2928888,42.2547768,66.3348548,35.3980816,48.7158055,24.9967912,3.9895588,13.650957,9.5368894,32.099834,24.5447693,1.8730069,1.8926762,28.8832186,24.9738116,43.4215379,18.7461079,42.8433915,66.1495986,35.9631285,49.9436776,24.7060189,3.9880404,13.7532527,9.9210921,32.8784088,22.2732167,1.7307073,1.7682767,28.8914612,24.8247962,44.0940103,18.6686138,42.6038563,66.2745495,35.4900582,49.4574129,24.3612219,3.9893082,12.6600483,10.0018063,32.214038,20.6489585,1.8498499,1.8878405,28.6030918,24.4144738,44.9990107,18.831897,41.1897284,65.8009859,35.1539921,48.7865694,24.3626807,4.0833102,12.7642173,10.9089584,33.3364863,20.8645994,1.9388923,1.9948276,28.861191,24.6461199,44.3501225,19.1848085,41.511531,66.827661,35.7019717,49.007702,24.568647,4.2644034,12.587796,10.4660928,32.3432341,21.1145613 +2087,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9797583,2.1326635,32.9268293,27.8861789,68.6655405,4.7734628,39.4563427,62.5205931,24.6293245,44.7281713,16.3920923,5.8484349,16.2460568,12.7760252,34.6645367,13.8709677,2.2035411,2.3534661,34.16,28.72,69.0713101,5.0159236,38.5298869,61.9547658,25.2827141,45.638126,15.4281099,5.5735057,15.3731343,11.7910448,35.1963746,13.1097561,2.1156966,2.1156966,34.414557,28.7183544,69.5901639,5.2590267,38.2352941,62.2416534,25.3577107,45.5484897,15.6597774,5.6438792,14.516129,11.8768328,34.9702381,12.8571429,2.1839382,2.1839382,34.4583987,28.9638932,67.7235772,5.6942278,38.5895404,63.6291601,26.8621236,46.1965135,16.5610143,4.8335975,14.5209581,10.9281437,35.3030303,12.8571429,2.2666601,2.2666601,34.3888071,29.9705449,67.0933735,5.9210526,38.239645,65.7544379,27.1449704,46.0798817,16.4940828,4.9556213,12.9427793,9.6730245,33.6538462,12.5730994 +2088,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.5836476,0.5471774,9.9225517,6.9851668,39.5851239,18.0854478,31.3029612,67.4293177,35.1555205,44.3142799,20.70443,4.4196365,10.224745,9.3325259,31.5090243,6.1135493,0.535074,0.4971339,10.1465417,7.1570121,39.4372018,18.0524034,31.4519852,66.8149888,34.8867765,44.5265494,20.3797987,4.2327301,10.7514192,9.0294446,31.9891448,5.5827456,0.579843,0.5892721,10.5962543,7.4618004,40.0734852,17.7091755,31.187174,66.3305597,34.3148156,44.1234227,19.7389344,4.2737877,11.0352026,8.9231465,32.4054268,5.9470979,0.6388873,0.6734167,11.4114168,7.755712,40.1734146,17.4081936,31.069423,65.9055528,33.982804,44.0412192,19.7854091,4.3070014,10.6849696,8.9887345,32.8001447,9.0188422,0.6302584,0.6650806,11.9772553,8.0923329,40.652113,17.5056337,31.2183405,65.1014142,33.4045178,43.8213449,19.1105273,4.2480058,10.909648,8.531669,33.1326859,7.7193666 +2089,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8627342,0.8880853,13.7846679,10.2871886,45.1269838,13.0151462,27.6167039,63.7636645,29.9800897,43.1877729,15.0248673,5.5312884,12.2683371,10.0863105,31.0627387,9.7666311,0.8986059,0.9403439,14.8210624,11.1432685,45.9673866,12.9761812,27.9525405,63.3218448,29.8193492,43.0905707,15.0061301,5.2252495,12.6986177,10.1076154,31.2500069,10.9327992,1.0122125,1.0538006,15.7941197,11.9326495,47.9435947,12.6102278,28.2090369,63.139306,29.4016482,42.2377675,14.5037893,5.0636836,13.1599623,10.2608361,31.9408245,11.2901457,0.9655971,1.0038107,16.1982245,12.2599668,49.3312179,12.160735,28.6102813,62.6082657,29.1943532,42.1853191,14.5720445,4.9244758,13.479378,10.5044487,32.63497,9.9719717,0.9585652,0.9828433,16.3640608,12.3552808,50.1169722,12.6726776,29.1835769,63.1989879,29.1430621,41.9671674,14.5968786,4.7913315,13.3136581,10.5310892,31.9459462,9.8288388 +2090,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9470169,0.9668644,13.627549,9.6972662,44.6111723,13.6490496,28.8459371,65.2382241,35.5770856,40.5037499,18.0150086,4.3971679,11.7334356,8.6785796,34.0167801,12.6664444,0.8904746,0.9094802,13.9018477,9.8456057,44.9408189,13.2122344,28.780957,65.0599428,34.7135822,39.2671308,17.4630026,4.1959411,11.607941,8.6427252,34.2680712,13.0521914,0.9618257,0.9667336,14.5349248,10.6589448,45.9074458,13.3621857,28.781995,64.5595858,34.4061575,39.6295407,17.8890566,3.9943454,11.7219895,8.8248135,34.2851309,11.4704863,0.9715782,0.9578635,14.7469365,10.7836213,45.6697268,13.1609868,29.7251563,64.8029594,34.6259162,39.8896607,18.3191249,4.131306,11.2913246,8.3231351,34.5699799,11.1371717,0.93178,0.921178,15.1817549,11.1465715,47.1871573,12.9687664,30.4756129,65.1887871,33.8758259,40.3212129,18.1311297,3.9857188,12.120308,8.4338725,34.1746481,11.0508035 +2091,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6917059,0.6560208,9.3244475,5.9575814,41.608689,15.7728434,30.412139,69.7208212,38.0567341,46.1887981,21.1943421,3.5342358,8.9929637,8.8766519,31.6710737,5.496452,0.6257176,0.632391,9.6417869,6.1668759,41.9358174,15.9679147,30.3000661,70.2435448,37.4755523,46.1730868,20.6892975,3.5986074,8.7229399,8.8248009,30.8816884,5.9139721,0.676364,0.7080053,9.4846069,6.2339575,42.0402174,16.1094486,30.3308853,70.101653,36.7106532,45.5774395,20.1881602,3.6007776,8.8970239,8.5708132,30.7809,5.3819407,0.6533384,0.6857108,9.3163009,6.2363449,42.4511123,16.1336166,29.7619095,69.6818184,35.8589285,45.0044659,20.4161254,3.5046704,8.9293692,8.2769595,31.286811,5.2721071,0.6356678,0.6782891,9.0382527,5.9781379,41.8559972,16.3276427,28.5444158,69.5415367,35.2882436,45.1035172,20.4206705,3.4609355,9.4411748,8.5591735,32.2822264,5.9931425 +2092,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5044581,0.4774894,8.0137829,4.9880181,46.024414,20.0671355,30.2267297,67.9475896,35.2915189,42.3586584,19.6260294,9.2608974,8.8166394,6.8021217,37.6557894,4.8611125,0.441213,0.4188871,7.895507,4.8890848,45.439974,19.6204337,30.360222,68.1123972,35.1729093,42.6368884,19.4956742,9.0057634,8.5787114,6.5699677,37.055114,5.1388903,0.4438008,0.4272285,7.2564633,4.6435685,45.1333698,19.5470957,30.0392459,67.6619057,35.3378204,42.9352377,20.5074294,8.312304,8.3602178,6.2264174,35.5163124,4.1333344,0.4471881,0.4311386,7.4048753,4.7221479,44.8470676,19.776221,29.8395837,67.1968481,35.5492132,42.6998302,20.3235444,8.224576,9.0652327,6.5172574,35.3627023,3.7396132,0.4500202,0.4590148,7.2791022,4.6423579,45.022563,19.622172,29.4158501,67.2183628,35.6745535,42.6008288,20.1251733,7.9972159,8.94161,6.7207096,35.954769,3.0701763 +2093,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.784256,0.7554318,10.9610942,7.8689143,25.7760495,21.981087,32.3904879,68.7374789,37.8748529,48.6985666,23.695856,3.7687515,13.3013375,11.2696101,36.0187639,4.7008467,0.8479295,0.8195071,11.1164636,7.6011983,25.9964907,21.437318,31.8162998,68.2767369,36.3911398,48.123707,22.9662417,3.4034857,13.2496926,11.8039569,36.6897423,4.867248,0.6892981,0.6823166,10.3512066,7.0586667,25.8390804,21.1505887,31.1027335,68.2124085,36.6448493,48.1506442,23.28061,3.7527403,12.5486677,10.8935877,35.6402776,4.399993,0.8974492,0.8906382,11.1008161,7.3740933,25.9329242,21.5043349,31.8174131,68.65837,37.4422284,48.3906782,23.7921051,4.1783413,12.076389,10.486906,35.7336124,7.8357521,0.8425621,0.8360318,11.6747397,7.6878857,25.5761313,21.5508068,31.6862673,68.6279255,37.8304839,48.6395808,24.1402903,3.8249518,12.5861547,10.8756693,37.1201658,7.2915972 +2094,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7770737,0.7811303,10.9897731,7.6337112,44.4414554,10.6386295,27.9798533,71.108167,39.8568433,44.1410389,22.0519601,4.7773048,9.7204698,8.5506933,35.0370333,7.6868829,0.7893435,0.8115314,11.0873162,7.6195923,44.57532,10.5762322,27.8795152,70.049945,39.3767581,43.6114847,21.8655712,4.7081455,9.7389349,8.0085694,35.2681247,7.5172424,0.7737886,0.7967381,11.1596999,7.5066861,44.5938897,10.471916,28.0067514,69.6410337,39.4099013,43.3064012,22.0443864,4.6686424,9.7621895,7.8899994,35.960138,9.0731082,0.8245391,0.8449723,11.4992904,7.8291966,44.4461434,10.3146314,27.792276,69.1169122,39.3728058,43.1058695,21.8715544,4.611137,9.4541508,7.5403067,36.398729,8.2911403,0.7824565,0.7952573,11.7566986,8.0780057,44.424551,10.4780303,27.8783348,69.2257446,39.8642554,43.0115616,21.6943248,4.4595254,9.7429317,7.4150462,36.3627314,8.7863464 +2095,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7795535,1.7678156,27.3952012,22.5005596,56.7927943,17.0962748,38.5036456,63.0170324,33.7215326,44.3069029,21.1024605,3.2790618,12.290239,12.0554757,34.2495203,20.1649916,1.7084711,1.6966314,27.2288874,22.4984777,56.2770504,17.3399852,38.1771578,63.0167813,33.9966252,44.7505113,21.1474767,2.9665405,12.540288,11.8666404,34.3070973,17.8721866,1.5825761,1.5574828,27.3906133,22.4867138,56.5960806,17.7909806,38.9541666,63.566146,34.1675825,44.8495282,21.3022807,3.1412225,12.909208,11.683983,33.8536074,18.1705212,1.7297044,1.7045023,27.0609179,22.3930724,56.4251321,17.9014408,39.6093232,63.410495,34.0896545,45.2990372,21.4534707,3.2988817,13.5679662,11.8986958,34.1803022,17.4266931,1.6374534,1.6124996,27.6674383,22.8521031,56.6527533,18.2949515,39.9463266,63.4635374,33.7681662,45.0994761,21.5383917,3.1317011,12.8286991,10.7270619,34.2550524,17.637529 +2096,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9601798,0.8817892,16.6076422,12.182624,58.1618913,14.8373493,29.4710239,63.4616534,34.1344139,39.7243481,18.6416968,3.7368739,13.9126276,12.0785131,37.8404405,6.9946648,0.9297888,0.9212655,15.9173613,12.2041758,60.0791764,14.8169776,30.2138479,62.9808645,33.5674072,39.8149344,18.4147984,3.766677,14.4346148,12.1773585,37.7188924,6.7893821,1.130314,1.1219467,17.2046677,13.6080152,61.1202206,14.3369004,30.4579977,62.1877172,33.4790489,39.1663797,18.1943591,3.6885617,15.1492403,12.3599097,36.6667513,9.9787284,1.2274163,1.2191369,16.9605038,13.138727,61.8467896,13.9909999,30.6623504,62.4258971,32.6388961,39.1846375,17.9735039,3.6016941,15.1938653,12.2522174,35.4109656,8.6396043,1.4590426,1.4508434,17.9156793,13.759345,62.6079159,13.8918978,30.4119631,62.2893727,31.793258,38.9811265,17.4374393,3.5262134,14.5401984,12.0407482,35.4980639,8.620305 +2097,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9065799,1.9241207,31.3126669,27.4483664,50.1105394,17.0516644,36.2640789,65.3050722,31.7100141,44.2856495,20.9741737,2.4578717,13.2647356,11.0012739,39.8893163,27.9492608,2.0932479,2.1372867,31.7056168,27.845066,51.516967,16.7795643,35.3926153,65.2864105,32.2083029,44.0009889,21.4476134,2.4322816,13.1591811,10.5957034,39.568256,27.072611,2.1541165,2.1839017,32.2975014,28.2480212,53.3731586,16.5586007,35.2414941,65.9642705,32.7167409,44.0479693,20.9838796,2.4527529,13.9137901,10.9836994,39.7574185,27.631437,2.2545383,2.2905236,32.4667841,28.2954819,54.7527018,16.6900377,35.6253105,66.254174,33.0344247,44.1362002,21.0503181,2.4622266,14.3958389,10.6776357,39.8330418,25.8620733,2.2988089,2.3283018,33.6187309,29.3299224,55.9641984,16.5984339,35.8458748,66.4114725,33.7280895,43.3410426,20.8274623,2.4100854,14.2500904,10.424878,39.7793369,25.1676759 +2098,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0494792,1.0889933,15.2912453,11.2120314,28.8778131,18.2341889,38.1141727,64.0534639,36.0910831,47.8925885,21.5438181,3.022633,11.8870336,10.1259274,33.0101795,13.7305415,1.2113447,1.2291148,15.3967235,11.4661815,29.1946398,18.5625485,37.8829145,63.5993018,36.2031095,47.9372583,21.6526479,3.0014756,11.6030668,10.0457343,32.5880044,14.3228868,1.2295605,1.2478494,15.6958505,11.638104,29.8209931,18.2252041,38.0208796,63.325753,35.8359474,47.3704759,21.3795741,3.0106709,11.4200785,10.0492767,33.1521926,16.6666239,1.1534869,1.1837617,15.8043708,11.7092315,29.9395429,18.261416,39.2046846,62.8147794,35.4151334,46.8835727,21.2540663,3.0042433,11.9031932,9.8939304,32.9643248,15.9090507,1.1359111,1.1583258,16.8820035,12.8839539,30.6071685,18.0334139,38.2345759,61.7160686,34.8765686,46.5555631,21.0987817,3.0740813,11.9757619,9.5991162,32.7349475,15.9313335 +2099,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8345231,0.8283644,10.6359058,7.198285,45.022819,19.3274246,31.3030176,69.4899809,38.0682704,45.4677228,23.0048231,4.2943879,10.799113,9.7832935,38.1116252,7.3308336,0.7682054,0.7810401,10.3861334,7.0398912,45.2444183,19.8531608,31.9124568,69.2681648,37.8935643,45.0550415,22.8096639,4.3678246,10.4019657,9.5978714,38.2582023,6.782949,0.6738755,0.6946315,10.7096314,7.3154063,44.6759926,19.445078,31.4797014,68.5986165,37.4187483,44.8423792,22.9098119,4.4933953,10.8849339,10.0906284,37.7221013,7.3585378,0.7367649,0.7516067,10.871744,7.4154272,44.9532275,19.6221314,31.7563768,67.7980964,37.129868,44.3905421,22.3462134,4.364392,11.0863584,9.7470415,37.4375788,8.0357085,0.5991742,0.6059932,10.752749,7.4382287,44.8262414,19.3842132,32.4001198,67.4683754,36.9216366,44.1770627,22.2530018,4.3507241,10.8631285,10.186572,36.715968,7.3378764 +2100,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3819133,0.4043348,6.4680233,3.997093,42.0371275,23.7397984,29.3053546,68.9097926,36.0588519,46.1890979,18.6444766,6.6811384,9.5615672,9.7572362,34.1706161,1.8248175,0.3822967,0.4264079,6.8041726,4.1488857,41.5662651,23.4249171,29.547619,69.2619048,35.6428571,45.547619,18.1666667,6.1190476,9.2694064,9.1948765,33.287037,1.8656716,0.4650152,0.522961,7.2994403,4.454291,41.6627191,22.1006055,29.7708138,68.5921422,34.6819457,44.9719364,17.9840973,5.9167446,9.6083789,9.543379,32.4287029,1.7482517,0.5027933,0.5171179,7.4389682,4.6752649,40.5678085,22.2555351,30.0139276,69.0575673,34.6564531,45.1485608,17.8505107,5.8263695,10.1611459,9.8294434,32.5969342,0.974026,0.5122717,0.5265411,7.0607176,4.5308188,41.2108462,21.353211,30.5041628,69.079556,34.1581869,44.7502313,17.1369103,5.7123034,10.2484472,9.8222222,32.2162645,1.048951 +2101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7750215,1.8721383,23.234705,18.2386964,46.2949538,16.2613083,43.3079,66.592443,38.6393147,50.458877,27.5468642,3.8042188,10.8664233,8.8879457,30.7521163,21.7549115,1.8587238,1.9625446,24.7687533,19.7500331,46.8861483,15.5751083,43.6088992,66.0000209,36.9917126,49.8603966,25.8892394,4.0582293,10.932197,8.3378878,33.1563526,21.5446437,1.8898852,2.0076487,23.9326713,19.3138726,46.332203,15.7145359,42.4837558,66.9230624,37.8742165,49.0014467,26.6501386,3.8467422,9.4715685,7.37789,31.6259075,22.5408435,1.9813446,2.1454507,25.2482314,20.2249219,45.996266,15.7936105,41.9443924,67.1742315,38.1270356,49.0156788,26.7657101,4.2369146,9.4546382,7.5196914,33.2355317,21.1999354,2.0825671,2.2111598,24.9247374,19.7734279,45.4090509,16.6528139,42.5957673,66.2824679,38.9431444,49.8927691,26.8975552,3.8998335,9.3889266,7.9284419,33.9382873,24.5596942 +2102,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5448979,1.5391802,32.910467,29.3209046,67.3681043,13.5205186,34.598231,62.7686427,29.0320726,40.621807,16.0813998,2.4354462,17.5334264,13.8789863,41.7540232,17.9886227,1.6021678,1.5965154,32.3235064,28.6730376,66.1299311,13.7526825,35.1060606,62.9482741,29.0300989,40.6859604,16.530946,2.4779046,17.5112211,14.0943958,41.3099722,18.5753723,1.8692805,1.861944,32.5890317,28.421711,65.9138941,13.8727689,36.1765437,63.5293921,28.8437991,40.5801127,16.8376636,2.480826,17.4522655,14.0450985,40.9581802,18.9750167,2.1059951,2.0984959,32.6946744,28.4381089,66.0437422,13.6883846,36.619675,63.7576941,28.7126234,40.2384892,17.1011181,2.4342256,17.7400953,14.4701718,40.4966115,19.5223835,2.0593697,2.1280053,32.1689225,27.8436996,66.922398,13.3272624,35.8555828,62.6582098,28.0396244,39.8382905,16.8379714,2.3235012,18.4013195,14.9953534,41.0389875,20.2996837 +2103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6739196,0.630307,8.3989675,6.3166202,69.9577063,13.8114504,24.9192952,67.2286771,31.2934329,43.8107821,14.064832,4.36501,11.8806675,9.4208847,34.090911,2.083276,0.5760822,0.5342939,8.1566649,6.1672971,69.5407119,13.4313649,25.4647469,67.942512,31.4382016,43.208139,14.048877,4.3585136,12.3352908,9.9647886,33.318652,2.940524,0.4599274,0.4599274,7.9993065,6.0997924,69.1925594,13.4080891,25.6384664,68.1490343,31.3405492,43.936278,13.6383957,4.7873297,13.2340816,10.3490985,33.2048228,2.1545207,0.6619209,0.6619209,8.4018962,6.3264246,66.8372937,13.3975358,26.2321386,68.7429913,31.6593924,44.5240578,13.8498183,4.6031935,13.0905839,10.4565831,33.0783187,5.9992672,0.6762225,0.6762225,8.5310657,6.3742829,65.4096004,13.4360729,26.4514785,68.6582567,31.458454,44.8102152,13.9536113,4.6383256,13.4438518,11.2951362,32.2594482,6.5378024 +2104,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8904746,0.9094802,13.9018477,9.8456057,44.9408189,13.2122344,28.780957,65.0599428,34.7135822,39.2671308,17.4630026,4.1959411,11.607941,8.6427252,34.2680712,13.0521914,0.9618257,0.9667336,14.5349248,10.6589448,45.9074458,13.3621857,28.781995,64.5595858,34.4061575,39.6295407,17.8890566,3.9943454,11.7219895,8.8248135,34.2851309,11.4704863,0.9715782,0.9578635,14.7469365,10.7836213,45.6697268,13.1609868,29.7251563,64.8029594,34.6259162,39.8896607,18.3191249,4.131306,11.2913246,8.3231351,34.5699799,11.1371717,0.93178,0.921178,15.1817549,11.1465715,47.1871573,12.9687664,30.4756129,65.1887871,33.8758259,40.3212129,18.1311297,3.9857188,12.120308,8.4338725,34.1746481,11.0508035,0.8773271,0.8668322,15.1981053,11.1353681,48.1753814,13.2546355,30.5073906,64.4144704,33.4002852,39.9716877,17.6329813,4.1637965,12.1994653,8.5127911,33.8627792,11.1784852 +2105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.9185712,1.9163707,32.5299973,28.014123,51.4861788,12.8541099,37.4132692,65.2847137,36.6112525,44.330491,22.0002108,2.9132751,16.1552576,12.3720921,39.6289415,22.3595606,1.8041626,1.8283293,32.9357855,28.5182989,51.7984219,13.1725944,38.1892586,65.1564082,37.0756501,44.3944659,21.7468568,2.9310407,16.1879323,12.1257739,39.3398012,21.0239743,1.7964936,1.8208869,33.5776434,29.0422602,52.7331019,12.7821508,37.7219117,64.2591061,35.8507674,43.8876045,21.2128061,2.8667673,16.3992925,12.6893318,40.2180455,20.5696457,1.9342164,1.9187542,33.7574413,29.1306503,53.4098056,12.8037895,38.008547,64.0203008,35.3701127,42.95736,20.6013358,2.8052991,16.7411533,12.5708318,39.6927236,20.184455,1.9780673,1.9560472,35.0561485,30.3201922,54.2904625,12.7019339,38.7564551,63.6480688,34.8320217,42.9478316,20.3475225,2.51197,17.1903268,12.4979873,39.1462542,19.4223224 +2106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6257176,0.632391,9.6417869,6.1668759,41.9358174,15.9679147,30.3000661,70.2435448,37.4755523,46.1730868,20.6892975,3.5986074,8.7229399,8.8248009,30.8816884,5.9139721,0.676364,0.7080053,9.4846069,6.2339575,42.0402174,16.1094486,30.3308853,70.101653,36.7106532,45.5774395,20.1881602,3.6007776,8.8970239,8.5708132,30.7809,5.3819407,0.6533384,0.6857108,9.3163009,6.2363449,42.4511123,16.1336166,29.7619095,69.6818184,35.8589285,45.0044659,20.4161254,3.5046704,8.9293692,8.2769595,31.286811,5.2721071,0.6356678,0.6782891,9.0382527,5.9781379,41.8559972,16.3276427,28.5444158,69.5415367,35.2882436,45.1035172,20.4206705,3.4609355,9.4411748,8.5591735,32.2822264,5.9931425,0.689922,0.7215254,9.2240285,6.3595544,41.9542512,16.4493351,28.4083589,69.4390328,35.170704,45.2381129,20.0587231,3.5986032,9.5248381,8.3624508,31.921921,6.187312 +2107,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7893435,0.8115314,11.0873162,7.6195923,44.57532,10.5762322,27.8795152,70.049945,39.3767581,43.6114847,21.8655712,4.7081455,9.7389349,8.0085694,35.2681247,7.5172424,0.7737886,0.7967381,11.1596999,7.5066861,44.5938897,10.471916,28.0067514,69.6410337,39.4099013,43.3064012,22.0443864,4.6686424,9.7621895,7.8899994,35.960138,9.0731082,0.8245391,0.8449723,11.4992904,7.8291966,44.4461434,10.3146314,27.792276,69.1169122,39.3728058,43.1058695,21.8715544,4.611137,9.4541508,7.5403067,36.398729,8.2911403,0.7824565,0.7952573,11.7566986,8.0780057,44.424551,10.4780303,27.8783348,69.2257446,39.8642554,43.0115616,21.6943248,4.4595254,9.7429317,7.4150462,36.3627314,8.7863464,0.8261264,0.8304792,12.2329184,8.451196,44.633025,10.2463852,28.6566446,69.0576461,39.8045123,42.7418516,21.4887258,4.5162887,9.7596678,7.6629477,36.5615704,9.5084088 +2108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5101118,0.471292,7.4019432,4.6604828,53.0072098,23.4964667,30.3368452,66.2947367,32.5263113,43.0526353,18.7578934,6.3368403,9.0870699,8.1641314,31.3933752,3.4375021,0.6361725,0.5977109,7.4205723,4.6195675,52.6480558,23.5594517,30.1202389,67.1019944,32.3175783,42.9726458,18.3872314,6.2396341,9.8700284,8.5772393,32.4180379,4.5731735,0.7396769,0.7017262,7.5164782,4.7981902,52.348594,24.38383,30.8180029,67.3824175,33.190184,43.8241401,18.8343569,6.3599172,9.7099153,8.2594715,31.4784774,5.722895,0.7362856,0.7362856,7.7470473,5.103695,51.2230051,24.5498087,30.6085232,67.1196865,32.7180538,43.7931103,18.0730237,5.9837719,9.8127084,9.0057094,32.6622922,6.6037777,0.8927313,0.9052017,8.0801899,5.3665395,51.3420197,24.2031749,30.4444511,66.9697092,33.3535354,43.6969707,18.7272778,6.4444435,9.7649959,8.9618852,33.1285885,6.8181862 +2109,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7737886,0.7967381,11.1596999,7.5066861,44.5938897,10.471916,28.0067514,69.6410337,39.4099013,43.3064012,22.0443864,4.6686424,9.7621895,7.8899994,35.960138,9.0731082,0.8245391,0.8449723,11.4992904,7.8291966,44.4461434,10.3146314,27.792276,69.1169122,39.3728058,43.1058695,21.8715544,4.611137,9.4541508,7.5403067,36.398729,8.2911403,0.7824565,0.7952573,11.7566986,8.0780057,44.424551,10.4780303,27.8783348,69.2257446,39.8642554,43.0115616,21.6943248,4.4595254,9.7429317,7.4150462,36.3627314,8.7863464,0.8261264,0.8304792,12.2329184,8.451196,44.633025,10.2463852,28.6566446,69.0576461,39.8045123,42.7418516,21.4887258,4.5162887,9.7596678,7.6629477,36.5615704,9.5084088,0.814492,0.8301306,12.7633119,9.0470967,44.5236627,10.2482316,28.5096904,68.7580741,39.6671666,42.5186251,21.0680622,4.535517,9.8221079,7.3070293,36.3066519,10.6622517 +2110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8986059,0.9403439,14.8210624,11.1432685,45.9673866,12.9761812,27.9525405,63.3218448,29.8193492,43.0905707,15.0061301,5.2252495,12.6986177,10.1076154,31.2500069,10.9327992,1.0122125,1.0538006,15.7941197,11.9326495,47.9435947,12.6102278,28.2090369,63.139306,29.4016482,42.2377675,14.5037893,5.0636836,13.1599623,10.2608361,31.9408245,11.2901457,0.9655971,1.0038107,16.1982245,12.2599668,49.3312179,12.160735,28.6102813,62.6082657,29.1943532,42.1853191,14.5720445,4.9244758,13.479378,10.5044487,32.63497,9.9719717,0.9585652,0.9828433,16.3640608,12.3552808,50.1169722,12.6726776,29.1835769,63.1989879,29.1430621,41.9671674,14.5968786,4.7913315,13.3136581,10.5310892,31.9459462,9.8288388,0.8471505,0.8899901,16.3937916,12.6082937,51.4804695,12.9633021,28.8600683,63.379655,29.4029651,42.3502016,14.7266154,4.6743145,13.2361137,10.8941392,31.5867159,9.1527599 +2111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8041626,1.8283293,32.9357855,28.5182989,51.7984219,13.1725944,38.1892586,65.1564082,37.0756501,44.3944659,21.7468568,2.9310407,16.1879323,12.1257739,39.3398012,21.0239743,1.7964936,1.8208869,33.5776434,29.0422602,52.7331019,12.7821508,37.7219117,64.2591061,35.8507674,43.8876045,21.2128061,2.8667673,16.3992925,12.6893318,40.2180455,20.5696457,1.9342164,1.9187542,33.7574413,29.1306503,53.4098056,12.8037895,38.008547,64.0203008,35.3701127,42.95736,20.6013358,2.8052991,16.7411533,12.5708318,39.6927236,20.184455,1.9780673,1.9560472,35.0561485,30.3201922,54.2904625,12.7019339,38.7564551,63.6480688,34.8320217,42.9478316,20.3475225,2.51197,17.1903268,12.4979873,39.1462542,19.4223224,1.8218296,1.8087287,35.0201489,30.4421911,54.512795,12.8433669,39.3254717,63.8216164,34.5035761,43.3334519,20.5084436,2.4294027,17.3873348,11.9552853,39.5916391,19.1848784 +2112,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9261648,0.9512549,12.6574902,9.16118,61.6708608,8.5043953,27.9695238,62.9735524,30.705477,38.3795307,15.9452023,6.2009997,10.3360646,8.1508887,36.7255416,6.6560505,0.9293416,0.9426723,13.0005322,9.4839203,62.3395717,8.4357765,27.894967,62.7668115,30.2919994,38.3444898,15.746743,6.1040734,10.059453,8.03879,36.6699862,6.8690091,0.9431863,0.9539535,13.2385693,9.6774944,63.096123,8.4240107,27.702244,62.2006672,29.9306223,37.9409722,15.4576541,5.9655511,10.4486496,8.2542836,36.5530534,7.1992106,0.9231513,0.9200413,13.6764871,10.0751045,63.7379063,8.5504672,27.8176585,61.6715611,29.8229953,37.8502939,15.4780239,5.9436417,10.6065725,8.3115498,36.9353798,7.6559541,0.947596,0.9576261,13.9807724,10.2757738,63.8556793,8.5090194,28.0508191,61.5758899,29.5855154,37.7373747,15.4224762,5.9414809,10.7242079,8.3263406,37.0748417,7.6320367 +2113,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4579812,2.415414,40.2475452,34.9448517,49.6304309,17.6652134,38.57349,65.9964419,32.1892569,46.4009354,21.0812148,4.0342402,14.7438707,13.705188,32.0671167,25.399125,2.3436376,2.3582582,39.5410839,34.425188,50.3930257,17.7787984,38.8416887,66.5593943,32.6331131,46.6637229,21.3027164,3.8476221,13.8857598,12.7177038,31.6753114,23.416887,2.5241821,2.538991,39.1959779,34.0138441,51.0857409,18.9434279,38.1485013,65.4681261,32.1752114,46.5798572,21.3297724,4.0249677,13.4828937,13.0580801,33.2014784,24.7839171,2.5928214,2.6370547,38.2189836,33.193973,51.7717762,19.156849,37.775913,65.1709693,32.4075189,46.5299009,21.002616,3.7469851,14.6267677,13.8494156,33.7169041,24.4688934,2.5479232,2.5928444,37.9713941,32.7541195,52.6075968,18.8216988,37.7286491,64.30504,31.7437011,46.9737172,20.3173265,3.4341645,14.7871687,13.5969185,34.0253553,23.3105782 +2114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4426724,2.545026,36.3506252,31.5211833,75.2430046,13.2891296,34.7804171,61.6604901,22.2293388,36.3788855,14.6593527,1.8362935,17.2212002,13.0756217,42.4993858,24.799135,2.2758463,2.3434995,35.9814628,31.1527958,75.1076631,13.5342038,34.5576371,62.615397,22.6512489,36.7829244,15.1531425,1.8295102,17.2843897,12.7347043,42.6425025,21.7856798,2.0493021,2.0945143,35.006085,30.4189728,74.9763675,13.4572328,35.4391262,63.7895495,23.045247,37.0574912,14.8081511,1.8737686,16.5411629,11.6646445,41.6447608,22.1250776,2.3221043,2.3328078,33.8397199,29.402235,74.0052787,13.257449,34.6006845,65.1509153,23.7260078,36.8859997,15.1229733,1.8175571,15.8152942,10.8547375,38.9573018,23.4495063,2.1378824,2.1485136,32.845721,28.5722594,73.8646343,12.85834,34.7162693,65.2256885,23.7366694,37.1825394,15.1339392,1.9874126,16.7528132,11.4916187,39.7575781,24.6749361 +2115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7863161,0.7748286,10.9129587,6.6470722,49.5235327,10.46487,33.1708631,66.5450604,41.6056234,43.6178993,23.797725,4.8325327,10.6610287,8.7581842,39.3459015,6.3019356,0.7935846,0.784552,10.9104985,6.7521191,49.4424776,10.9527844,32.9369188,66.5733117,42.193216,44.0072336,23.8459799,4.8563202,11.0356489,8.9894336,38.9591234,6.9877874,0.7714766,0.7624388,11.1599627,6.9247927,49.3325944,10.9222328,32.6983334,66.780665,41.9367726,44.1038752,23.8845066,4.77488,11.030319,9.4250572,39.169446,8.1249977,0.7996202,0.8015818,11.1653681,7.1164415,48.6023269,10.9804523,32.5674126,66.9081852,41.841291,44.9566605,24.1052789,4.7553045,11.1306697,9.6472085,39.3837751,8.6137117,0.7856073,0.7956954,11.3069106,7.3204647,48.2708364,11.2876786,31.9262385,67.5081399,42.1995306,45.4697962,24.0279595,4.8282676,10.8826606,9.4899497,39.5614679,9.225618 +2116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.697947,1.7581825,29.2773478,23.7928295,49.8328038,11.753783,39.6224175,66.2924898,33.4884542,48.055812,27.3550167,5.9967904,16.1798294,12.1884523,32.6253632,17.9132166,1.6352341,1.6976939,30.0201591,24.9469375,49.6241429,11.1948772,40.1312113,65.7282014,33.5893487,49.3459912,27.6167177,6.399384,16.5928528,11.5127305,34.1723445,16.5981974,1.5133536,1.5765746,30.0740567,24.6262965,50.2867519,11.2789196,40.4603103,65.5779918,32.7514749,49.9085221,27.2209763,6.3659727,16.4039269,12.2323486,34.2588323,16.3828114,1.4600671,1.5092979,30.0406859,24.4366583,51.4439949,11.4667426,39.4600064,65.4850023,32.3482392,49.1734213,26.2847487,6.6814577,16.5250632,13.1640797,35.0737707,19.3327147,1.3781187,1.4147876,30.6575198,24.7290873,50.5975578,11.6391223,39.2769298,65.9174477,32.8260059,49.7861878,26.4842423,6.6134023,17.4328292,14.3239131,35.8751286,16.375031 +2117,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2113447,1.2291148,15.3967235,11.4661815,29.1946398,18.5625485,37.8829145,63.5993018,36.2031095,47.9372583,21.6526479,3.0014756,11.6030668,10.0457343,32.5880044,14.3228868,1.2295605,1.2478494,15.6958505,11.638104,29.8209931,18.2252041,38.0208796,63.325753,35.8359474,47.3704759,21.3795741,3.0106709,11.4200785,10.0492767,33.1521926,16.6666239,1.1534869,1.1837617,15.8043708,11.7092315,29.9395429,18.261416,39.2046846,62.8147794,35.4151334,46.8835727,21.2540663,3.0042433,11.9031932,9.8939304,32.9643248,15.9090507,1.1359111,1.1583258,16.8820035,12.8839539,30.6071685,18.0334139,38.2345759,61.7160686,34.8765686,46.5555631,21.0987817,3.0740813,11.9757619,9.5991162,32.7349475,15.9313335,0.961633,0.9803468,16.6748062,12.9611505,31.6400998,18.3025537,38.0049657,62.0198422,35.0062167,46.4312373,21.1772205,3.0855049,12.2503866,9.8656789,33.3492419,13.9810294 +2118,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7682054,0.7810401,10.3861334,7.0398912,45.2444183,19.8531608,31.9124568,69.2681648,37.8935643,45.0550415,22.8096639,4.3678246,10.4019657,9.5978714,38.2582023,6.782949,0.6738755,0.6946315,10.7096314,7.3154063,44.6759926,19.445078,31.4797014,68.5986165,37.4187483,44.8423792,22.9098119,4.4933953,10.8849339,10.0906284,37.7221013,7.3585378,0.7367649,0.7516067,10.871744,7.4154272,44.9532275,19.6221314,31.7563768,67.7980964,37.129868,44.3905421,22.3462134,4.364392,11.0863584,9.7470415,37.4375788,8.0357085,0.5991742,0.6059932,10.752749,7.4382287,44.8262414,19.3842132,32.4001198,67.4683754,36.9216366,44.1770627,22.2530018,4.3507241,10.8631285,10.186572,36.715968,7.3378764,0.7099394,0.7263167,11.1952979,7.6734182,43.9353771,19.2306599,32.3830664,67.8270565,37.1650082,43.6808977,22.5040301,4.3746729,10.2681576,9.6877013,36.4191634,8.3038869 +2119,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6738755,0.6946315,10.7096314,7.3154063,44.6759926,19.445078,31.4797014,68.5986165,37.4187483,44.8423792,22.9098119,4.4933953,10.8849339,10.0906284,37.7221013,7.3585378,0.7367649,0.7516067,10.871744,7.4154272,44.9532275,19.6221314,31.7563768,67.7980964,37.129868,44.3905421,22.3462134,4.364392,11.0863584,9.7470415,37.4375788,8.0357085,0.5991742,0.6059932,10.752749,7.4382287,44.8262414,19.3842132,32.4001198,67.4683754,36.9216366,44.1770627,22.2530018,4.3507241,10.8631285,10.186572,36.715968,7.3378764,0.7099394,0.7263167,11.1952979,7.6734182,43.9353771,19.2306599,32.3830664,67.8270565,37.1650082,43.6808977,22.5040301,4.3746729,10.2681576,9.6877013,36.4191634,8.3038869,0.7733529,0.7762797,11.8453238,8.3961942,44.3789379,19.1010954,32.5044145,67.8303839,37.5546585,43.4035547,22.1978694,4.5220323,10.3504153,9.2654454,35.4890884,9.1695438 +2120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5516566,0.5866074,8.6790733,5.3269393,32.8876109,24.414838,30.4658626,67.5707137,34.858566,44.7753682,18.0865363,7.7703838,11.9736343,9.7860043,31.5972687,2.9069767,0.5199035,0.5664998,8.9059662,5.623921,32.9422308,23.901267,30.9106289,67.8522085,35.3779572,45.6528862,18.8831258,7.8178546,12.3160913,9.4030567,31.996163,2.9069767,0.528059,0.5693649,9.326999,6.0927682,32.7312808,23.3955991,31.0576011,66.2901121,33.6770949,45.1702125,18.3529436,7.3837445,13.061849,9.436624,31.7901835,3.4050179,0.4788751,0.5186078,9.5530194,6.3739256,33.0763916,23.0634994,31.0230595,65.7246569,33.4859065,44.0952976,18.1085887,7.5939243,13.0958727,10.0154789,31.8740771,4.0780142,0.5073943,0.5542976,9.6981852,6.3030345,33.0088812,23.0928945,30.865167,64.9984196,32.7596529,43.2743123,17.3823424,7.3413163,13.0187919,9.8658304,31.7127796,3.8745387 +2121,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3822967,0.4264079,6.8041726,4.1488857,41.5662651,23.4249171,29.547619,69.2619048,35.6428571,45.547619,18.1666667,6.1190476,9.2694064,9.1948765,33.287037,1.8656716,0.4650152,0.522961,7.2994403,4.454291,41.6627191,22.1006055,29.7708138,68.5921422,34.6819457,44.9719364,17.9840973,5.9167446,9.6083789,9.543379,32.4287029,1.7482517,0.5027933,0.5171179,7.4389682,4.6752649,40.5678085,22.2555351,30.0139276,69.0575673,34.6564531,45.1485608,17.8505107,5.8263695,10.1611459,9.8294434,32.5969342,0.974026,0.5122717,0.5265411,7.0607176,4.5308188,41.2108462,21.353211,30.5041628,69.079556,34.1581869,44.7502313,17.1369103,5.7123034,10.2484472,9.8222222,32.2162645,1.048951,0.5485498,0.5625613,7.4819168,4.7694394,41.6056725,21.1340206,30.0587173,68.2249322,33.5365854,45.234869,16.5085818,5.8943089,10.2508651,9.5753899,31.6041848,0.3448276 +2122,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6453125,0.670413,11.0891266,7.3194905,25.6115244,14.1773421,30.5024005,68.1596877,40.665521,48.3890455,21.6447692,6.9854165,10.0073804,8.6504583,34.1604771,3.5917555,0.7577905,0.783134,11.0390344,7.2280548,25.4053987,13.802703,30.1947642,68.2442734,40.9143584,48.2334945,21.8707093,6.6774204,9.9327918,8.7301489,33.6623642,4.6455703,0.758616,0.7836196,11.560045,7.66687,25.1640608,13.7684267,30.2579461,67.7144786,40.3968467,48.1634807,21.5988249,6.7528567,9.9735154,8.7882307,33.9062178,4.6710472,0.7630632,0.7878999,11.5786449,7.4900961,25.5478037,14.109359,30.157993,67.8929449,40.6269073,48.4614767,21.2286284,7.3727158,10.2371786,9.2863682,34.313715,8.0110122,0.8371178,0.8691402,11.5237097,7.6661307,25.1354075,14.6242462,30.1684233,67.9565108,40.2189796,47.2208628,20.9553801,7.7891837,10.6023731,9.497927,34.9761768,9.2178418 +2123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.535074,0.4971339,10.1465417,7.1570121,39.4372018,18.0524034,31.4519852,66.8149888,34.8867765,44.5265494,20.3797987,4.2327301,10.7514192,9.0294446,31.9891448,5.5827456,0.579843,0.5892721,10.5962543,7.4618004,40.0734852,17.7091755,31.187174,66.3305597,34.3148156,44.1234227,19.7389344,4.2737877,11.0352026,8.9231465,32.4054268,5.9470979,0.6388873,0.6734167,11.4114168,7.755712,40.1734146,17.4081936,31.069423,65.9055528,33.982804,44.0412192,19.7854091,4.3070014,10.6849696,8.9887345,32.8001447,9.0188422,0.6302584,0.6650806,11.9772553,8.0923329,40.652113,17.5056337,31.2183405,65.1014142,33.4045178,43.8213449,19.1105273,4.2480058,10.909648,8.531669,33.1326859,7.7193666,0.6439136,0.7040463,11.8442766,7.7071341,40.9460418,17.5209097,31.531516,64.5834367,32.9412732,43.4903968,18.7764937,4.3814191,10.7107331,8.3313138,33.2226301,8.5064209 +2124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.441213,0.4188871,7.895507,4.8890848,45.439974,19.6204337,30.360222,68.1123972,35.1729093,42.6368884,19.4956742,9.0057634,8.5787114,6.5699677,37.055114,5.1388903,0.4438008,0.4272285,7.2564633,4.6435685,45.1333698,19.5470957,30.0392459,67.6619057,35.3378204,42.9352377,20.5074294,8.312304,8.3602178,6.2264174,35.5163124,4.1333344,0.4471881,0.4311386,7.4048753,4.7221479,44.8470676,19.776221,29.8395837,67.1968481,35.5492132,42.6998302,20.3235444,8.224576,9.0652327,6.5172574,35.3627023,3.7396132,0.4500202,0.4590148,7.2791022,4.6423579,45.022563,19.622172,29.4158501,67.2183628,35.6745535,42.6008288,20.1251733,7.9972159,8.94161,6.7207096,35.954769,3.0701763,0.4203898,0.4297138,7.5507241,4.6231899,45.3893469,19.6658056,28.9739849,67.066479,35.2745739,42.5577992,19.869941,7.7601127,9.2174413,6.8337714,35.2272808,2.5757584 +2125,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6021678,1.5965154,32.3235064,28.6730376,66.1299311,13.7526825,35.1060606,62.9482741,29.0300989,40.6859604,16.530946,2.4779046,17.5112211,14.0943958,41.3099722,18.5753723,1.8692805,1.861944,32.5890317,28.421711,65.9138941,13.8727689,36.1765437,63.5293921,28.8437991,40.5801127,16.8376636,2.480826,17.4522655,14.0450985,40.9581802,18.9750167,2.1059951,2.0984959,32.6946744,28.4381089,66.0437422,13.6883846,36.619675,63.7576941,28.7126234,40.2384892,17.1011181,2.4342256,17.7400953,14.4701718,40.4966115,19.5223835,2.0593697,2.1280053,32.1689225,27.8436996,66.922398,13.3272624,35.8555828,62.6582098,28.0396244,39.8382905,16.8379714,2.3235012,18.4013195,14.9953534,41.0389875,20.2996837,2.1096699,2.2132695,31.9655604,27.6474555,66.1054133,13.3027677,36.2554462,62.4045619,28.1511211,39.9680578,16.8096907,2.5496454,18.0538692,15.1254037,40.4310038,19.5889922 +2126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7137426,0.7193279,11.4109341,8.0960249,31.7215562,9.9589367,29.765644,64.4738776,32.7180743,45.3247668,19.2139927,3.4230571,11.2178526,8.9398628,30.8893172,8.1896505,0.7741261,0.7930247,11.8731184,8.4404355,32.0801076,10.357994,30.1797172,64.1163879,33.1392577,45.4811585,19.4754986,3.3836069,11.0288367,8.6038115,30.5789614,8.4285618,0.7703731,0.7934783,12.1888022,8.7202705,32.534693,10.4470076,30.1755161,63.8794786,32.8271332,44.8601732,19.0119302,3.3290483,11.1674274,8.6110327,30.6543485,7.3726462,0.7493315,0.7667606,12.0030339,8.6507703,33.1269712,10.5360119,30.1692866,64.3623047,32.7906285,44.7990468,18.6116597,3.5306457,11.1713899,8.9920846,30.1032276,7.3934763,0.7479821,0.7718692,11.826712,8.4791397,34.0656908,10.9404048,30.271279,64.6682516,33.3075635,45.3823458,18.5760514,3.6196207,11.3844637,9.0132698,30.2942581,6.850955 +2127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.676364,0.7080053,9.4846069,6.2339575,42.0402174,16.1094486,30.3308853,70.101653,36.7106532,45.5774395,20.1881602,3.6007776,8.8970239,8.5708132,30.7809,5.3819407,0.6533384,0.6857108,9.3163009,6.2363449,42.4511123,16.1336166,29.7619095,69.6818184,35.8589285,45.0044659,20.4161254,3.5046704,8.9293692,8.2769595,31.286811,5.2721071,0.6356678,0.6782891,9.0382527,5.9781379,41.8559972,16.3276427,28.5444158,69.5415367,35.2882436,45.1035172,20.4206705,3.4609355,9.4411748,8.5591735,32.2822264,5.9931425,0.689922,0.7215254,9.2240285,6.3595544,41.9542512,16.4493351,28.4083589,69.4390328,35.170704,45.2381129,20.0587231,3.5986032,9.5248381,8.3624508,31.921921,6.187312,0.7531646,0.7854907,9.4568095,6.3808892,41.3532756,16.5862729,28.0449939,69.6393114,35.0144873,45.123602,19.9844311,3.6851405,9.6621577,8.7201501,31.8305639,7.4913058 +2128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.7832649,0.7832649,15.0247211,9.7701451,50.9419617,31.2293492,34.974837,65.3587226,30.6343057,41.1519491,19.4490424,6.0935553,13.3681484,11.3241207,39.0455056,3.8135755,0.8012916,0.8012916,14.4550914,9.2417513,50.8157101,31.2106423,33.6799772,67.1197917,30.000176,40.0799689,19.2799759,5.5200618,14.0139621,11.2848202,37.147334,3.543335,0.7727151,0.7727151,14.2089413,9.4470512,51.8081553,30.7401287,33.6671582,66.3325336,29.8152677,39.522152,17.6424091,4.5455036,15.7980628,12.5816799,38.2935921,4.7794469,0.7360024,0.7360024,15.3077386,10.6923706,51.8779172,30.3462994,34.1294654,66.0243886,29.5071434,40.7548167,18.1046916,5.4700212,14.2140935,11.538468,36.2538252,7.0371152,0.5970242,0.7462803,14.366919,10.1461627,49.7540539,31.1023306,36.5323851,67.6610628,31.6937665,43.3061932,19.4352015,5.7258896,14.6383064,11.6394284,35.1849451,7.2519914 +2129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.579843,0.5892721,10.5962543,7.4618004,40.0734852,17.7091755,31.187174,66.3305597,34.3148156,44.1234227,19.7389344,4.2737877,11.0352026,8.9231465,32.4054268,5.9470979,0.6388873,0.6734167,11.4114168,7.755712,40.1734146,17.4081936,31.069423,65.9055528,33.982804,44.0412192,19.7854091,4.3070014,10.6849696,8.9887345,32.8001447,9.0188422,0.6302584,0.6650806,11.9772553,8.0923329,40.652113,17.5056337,31.2183405,65.1014142,33.4045178,43.8213449,19.1105273,4.2480058,10.909648,8.531669,33.1326859,7.7193666,0.6439136,0.7040463,11.8442766,7.7071341,40.9460418,17.5209097,31.531516,64.5834367,32.9412732,43.4903968,18.7764937,4.3814191,10.7107331,8.3313138,33.2226301,8.5064209,0.6796955,0.7369176,12.127306,7.9419497,40.7323527,17.7980003,32.0915238,64.2526368,32.7396696,43.2836516,18.4653474,4.5430022,10.6470615,8.0659467,33.6144632,8.604281 +2130,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8245391,0.8449723,11.4992904,7.8291966,44.4461434,10.3146314,27.792276,69.1169122,39.3728058,43.1058695,21.8715544,4.611137,9.4541508,7.5403067,36.398729,8.2911403,0.7824565,0.7952573,11.7566986,8.0780057,44.424551,10.4780303,27.8783348,69.2257446,39.8642554,43.0115616,21.6943248,4.4595254,9.7429317,7.4150462,36.3627314,8.7863464,0.8261264,0.8304792,12.2329184,8.451196,44.633025,10.2463852,28.6566446,69.0576461,39.8045123,42.7418516,21.4887258,4.5162887,9.7596678,7.6629477,36.5615704,9.5084088,0.814492,0.8301306,12.7633119,9.0470967,44.5236627,10.2482316,28.5096904,68.7580741,39.6671666,42.5186251,21.0680622,4.535517,9.8221079,7.3070293,36.3066519,10.6622517,0.8340283,0.8699327,13.0334749,9.3333973,44.0612809,10.2786101,28.6699962,68.3255077,39.8169922,42.2147159,20.6253717,4.6829107,10.078311,7.4775955,36.9078961,11.3316261 +2131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.0122125,1.0538006,15.7941197,11.9326495,47.9435947,12.6102278,28.2090369,63.139306,29.4016482,42.2377675,14.5037893,5.0636836,13.1599623,10.2608361,31.9408245,11.2901457,0.9655971,1.0038107,16.1982245,12.2599668,49.3312179,12.160735,28.6102813,62.6082657,29.1943532,42.1853191,14.5720445,4.9244758,13.479378,10.5044487,32.63497,9.9719717,0.9585652,0.9828433,16.3640608,12.3552808,50.1169722,12.6726776,29.1835769,63.1989879,29.1430621,41.9671674,14.5968786,4.7913315,13.3136581,10.5310892,31.9459462,9.8288388,0.8471505,0.8899901,16.3937916,12.6082937,51.4804695,12.9633021,28.8600683,63.379655,29.4029651,42.3502016,14.7266154,4.6743145,13.2361137,10.8941392,31.5867159,9.1527599,0.8540186,0.8958175,16.502319,12.8372879,52.7666745,12.8995709,28.9214009,64.2440771,28.9214271,42.9536389,14.7883376,4.6270461,13.1854345,10.9738517,31.52756,8.1114333 +2132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.4929315,0.5541885,8.7362064,5.9573655,37.891584,19.4251586,30.5806296,70.9494007,39.6430006,47.0184289,22.8913138,3.7858035,9.5333866,9.1532177,29.0178637,4.0740741,0.5345584,0.5596686,8.9719334,6.2025799,38.9956173,19.5426598,30.0272907,70.7131726,38.5229876,46.7848615,22.6227312,3.6827805,9.4807351,9.431724,30.8088751,5.2816901,0.5952105,0.6111714,8.9426394,6.2429706,38.2899053,20.0037945,30.2768257,71.1841579,38.5813048,46.9242459,22.8950144,3.633224,9.0182842,9.4965639,31.2739941,3.7671233,0.6343045,0.6618637,9.2184061,6.376216,37.5000186,20.1247104,31.018001,71.8905662,39.1312573,47.0531742,22.2923723,3.8844258,8.6090288,9.0874798,31.7562632,5.208337,0.6497418,0.6421752,9.6464906,6.6002264,36.687689,20.3386513,30.4121843,72.0531804,39.3104657,47.1686975,22.2842685,3.6402177,8.7396924,9.1422197,33.7244663,6.462585 +2133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6533384,0.6857108,9.3163009,6.2363449,42.4511123,16.1336166,29.7619095,69.6818184,35.8589285,45.0044659,20.4161254,3.5046704,8.9293692,8.2769595,31.286811,5.2721071,0.6356678,0.6782891,9.0382527,5.9781379,41.8559972,16.3276427,28.5444158,69.5415367,35.2882436,45.1035172,20.4206705,3.4609355,9.4411748,8.5591735,32.2822264,5.9931425,0.689922,0.7215254,9.2240285,6.3595544,41.9542512,16.4493351,28.4083589,69.4390328,35.170704,45.2381129,20.0587231,3.5986032,9.5248381,8.3624508,31.921921,6.187312,0.7531646,0.7854907,9.4568095,6.3808892,41.3532756,16.5862729,28.0449939,69.6393114,35.0144873,45.123602,19.9844311,3.6851405,9.6621577,8.7201501,31.8305639,7.4913058,0.6906752,0.7224435,9.4220018,6.4997836,40.4930116,16.7746769,28.1537584,69.6780816,35.7972099,45.7840774,20.7293211,3.7341131,9.7284046,8.9715131,32.802727,8.0204955 +2134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6719893,0.6670497,12.3403607,9.4439693,27.8422679,16.6259742,34.6097926,66.4784398,35.274917,46.6545989,20.929696,4.5850253,11.9245919,9.2330608,27.3730002,7.4335357,0.6365764,0.6317721,12.4676071,9.4836758,28.7192315,17.0267392,34.5925521,67.9944138,36.416692,47.6881674,21.4706748,4.6644237,11.7659178,9.8980976,28.2671767,6.9800399,0.6172929,0.6125678,12.8053445,9.7709678,30.6234138,17.1722428,34.3008506,68.0975951,37.1053709,47.6575793,21.6135013,4.4087929,12.6565641,10.5874121,28.9098573,5.6489438,0.65937,0.6746355,12.9950157,10.2373711,31.5428811,17.1594682,34.1999952,66.937525,37.3886709,47.4084458,21.6797408,4.5117411,12.5782311,10.8061195,29.0710835,5.5105958,0.7082276,0.7232345,13.3020085,10.413398,32.749942,17.552153,34.1460991,67.0833048,37.7168859,48.1461339,21.4346238,4.9219741,12.2752416,10.5455342,28.3528763,4.3213062 +2135,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2035411,2.3534661,34.16,28.72,69.0713101,5.0159236,38.5298869,61.9547658,25.2827141,45.638126,15.4281099,5.5735057,15.3731343,11.7910448,35.1963746,13.1097561,2.1156966,2.1156966,34.414557,28.7183544,69.5901639,5.2590267,38.2352941,62.2416534,25.3577107,45.5484897,15.6597774,5.6438792,14.516129,11.8768328,34.9702381,12.8571429,2.1839382,2.1839382,34.4583987,28.9638932,67.7235772,5.6942278,38.5895404,63.6291601,26.8621236,46.1965135,16.5610143,4.8335975,14.5209581,10.9281437,35.3030303,12.8571429,2.2666601,2.2666601,34.3888071,29.9705449,67.0933735,5.9210526,38.239645,65.7544379,27.1449704,46.0798817,16.4940828,4.9556213,12.9427793,9.6730245,33.6538462,12.5730994,2.1973865,2.2890876,34.2415317,29.6759941,66.9440242,6.7883212,38.535503,66.9378698,26.9970414,45.6360947,16.6420118,4.8076923,13.6103152,9.8853868,33.8616715,10.6321839 +2136,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7407645,0.7746517,10.0029859,6.8851742,37.0661522,20.7196087,32.5117027,66.329449,37.9827334,45.0927607,22.3417581,6.0973309,10.1735248,8.1763128,33.2997302,7.314387,0.740222,0.7693184,10.4069803,7.1473483,37.1531428,20.6873871,32.5734354,66.6212545,37.987158,45.4802068,22.5187224,6.2116866,10.0350921,8.1569108,32.8265706,7.3695918,0.7376665,0.7617191,10.7674196,7.4867823,37.5368827,20.1844529,33.0257411,65.8455161,36.8551035,45.1709143,22.3147998,6.4921749,10.2063888,8.2143291,33.0172025,8.1521721,0.7065716,0.7296756,11.3592893,7.7729089,38.308691,20.2106099,33.0380396,64.6625993,36.5385032,45.5617624,21.817963,6.1593258,10.0303025,8.0428191,33.0709648,8.0612228,0.7233643,0.7559574,11.4048411,7.903294,38.8399547,20.2393862,33.0057637,63.7675032,36.203812,45.4967644,21.6763957,6.0447237,9.5858405,7.914506,32.9631226,8.5215588 +2137,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1156966,2.1156966,34.414557,28.7183544,69.5901639,5.2590267,38.2352941,62.2416534,25.3577107,45.5484897,15.6597774,5.6438792,14.516129,11.8768328,34.9702381,12.8571429,2.1839382,2.1839382,34.4583987,28.9638932,67.7235772,5.6942278,38.5895404,63.6291601,26.8621236,46.1965135,16.5610143,4.8335975,14.5209581,10.9281437,35.3030303,12.8571429,2.2666601,2.2666601,34.3888071,29.9705449,67.0933735,5.9210526,38.239645,65.7544379,27.1449704,46.0798817,16.4940828,4.9556213,12.9427793,9.6730245,33.6538462,12.5730994,2.1973865,2.2890876,34.2415317,29.6759941,66.9440242,6.7883212,38.535503,66.9378698,26.9970414,45.6360947,16.6420118,4.8076923,13.6103152,9.8853868,33.8616715,10.6321839,2.229664,2.183109,34.947839,30.4769001,66.3312693,7.2280179,38.0484115,68.1543116,27.4583964,45.1588502,17.473525,5.8245083,14.8093842,8.6764706,33.480826,13.5542169 +2138,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.740222,0.7693184,10.4069803,7.1473483,37.1531428,20.6873871,32.5734354,66.6212545,37.987158,45.4802068,22.5187224,6.2116866,10.0350921,8.1569108,32.8265706,7.3695918,0.7376665,0.7617191,10.7674196,7.4867823,37.5368827,20.1844529,33.0257411,65.8455161,36.8551035,45.1709143,22.3147998,6.4921749,10.2063888,8.2143291,33.0172025,8.1521721,0.7065716,0.7296756,11.3592893,7.7729089,38.308691,20.2106099,33.0380396,64.6625993,36.5385032,45.5617624,21.817963,6.1593258,10.0303025,8.0428191,33.0709648,8.0612228,0.7233643,0.7559574,11.4048411,7.903294,38.8399547,20.2393862,33.0057637,63.7675032,36.203812,45.4967644,21.6763957,6.0447237,9.5858405,7.914506,32.9631226,8.5215588,0.7912906,0.8235259,11.8766352,8.252542,39.4890475,20.024632,32.6516478,63.6126783,35.7364096,45.5849651,21.5720279,6.4312802,10.1129001,8.1095031,33.3086753,10.0586113 +2139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8823619,1.8871942,21.5031801,16.7641833,40.8928349,14.8144371,31.4089203,67.9531681,35.9265244,45.3247835,24.1887894,4.3361008,11.2762857,9.3376263,40.8750421,19.2307833,1.9069793,1.911903,22.5100506,17.7710877,41.090994,14.4865382,31.5020619,67.098752,35.4938217,45.1234618,22.9835254,4.3827148,11.431865,9.830363,42.0622539,18.7258904,1.9637731,1.9888808,23.4446822,18.5390727,41.1444767,14.2223144,32.108949,66.131647,34.9574859,44.9692805,23.5214102,4.1680878,11.5793397,9.2606618,42.151614,20.3488451,1.8938774,1.8824978,25.7024672,20.5879105,41.054651,14.4821311,33.9167485,65.9698656,33.8033701,44.7625433,23.8267366,4.1380317,12.8437455,10.0753296,41.508833,20.3020134,1.9535832,2.0253659,26.8083779,21.8012723,42.9189942,14.4376388,34.3507364,65.5088204,33.9645789,44.5378306,23.4329203,3.9844753,13.3725719,9.5179227,41.9895227,22.2397476 +2140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7792917,0.7803425,9.0115457,6.1932906,42.7519922,13.4974723,28.8313705,67.4471303,33.0060378,42.6462483,18.9988982,14.3161219,10.3854943,8.3036606,37.5447177,3.5266458,0.7425537,0.7642989,9.1055728,6.1628797,43.6437243,13.5412599,29.7113678,66.7292294,32.5588874,42.5511278,18.8260406,14.1405636,10.6385312,8.3205106,37.7198794,3.171091,0.7583378,0.7696795,9.5258646,6.3402879,44.3232518,13.1412632,30.003714,65.3698728,31.8221192,42.4233101,18.7592785,14.4173667,10.3749509,8.3119194,37.4087231,4.0772526,0.7972681,0.8480754,9.9852503,6.6056284,44.8732704,13.1931508,30.4114197,65.1037875,31.6839671,42.1979321,18.7237485,14.3254246,10.5078637,8.0722196,37.7263138,3.8951836,0.7778755,0.8322498,10.0428363,6.7013462,45.1751013,13.3890952,30.3408838,64.736651,31.903768,42.376333,18.5515691,14.4166868,10.685557,8.3287212,37.9199502,4.06562 +2141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6365764,0.6317721,12.4676071,9.4836758,28.7192315,17.0267392,34.5925521,67.9944138,36.416692,47.6881674,21.4706748,4.6644237,11.7659178,9.8980976,28.2671767,6.9800399,0.6172929,0.6125678,12.8053445,9.7709678,30.6234138,17.1722428,34.3008506,68.0975951,37.1053709,47.6575793,21.6135013,4.4087929,12.6565641,10.5874121,28.9098573,5.6489438,0.65937,0.6746355,12.9950157,10.2373711,31.5428811,17.1594682,34.1999952,66.937525,37.3886709,47.4084458,21.6797408,4.5117411,12.5782311,10.8061195,29.0710835,5.5105958,0.7082276,0.7232345,13.3020085,10.413398,32.749942,17.552153,34.1460991,67.0833048,37.7168859,48.1461339,21.4346238,4.9219741,12.2752416,10.5455342,28.3528763,4.3213062,0.8450832,0.8596572,13.19446,10.1527349,34.273874,17.7932619,34.6472357,67.4425124,37.8222403,48.0208834,21.714446,4.9228647,12.6640804,10.6516768,27.5821589,4.7543124 +2142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6361725,0.5977109,7.4205723,4.6195675,52.6480558,23.5594517,30.1202389,67.1019944,32.3175783,42.9726458,18.3872314,6.2396341,9.8700284,8.5772393,32.4180379,4.5731735,0.7396769,0.7017262,7.5164782,4.7981902,52.348594,24.38383,30.8180029,67.3824175,33.190184,43.8241401,18.8343569,6.3599172,9.7099153,8.2594715,31.4784774,5.722895,0.7362856,0.7362856,7.7470473,5.103695,51.2230051,24.5498087,30.6085232,67.1196865,32.7180538,43.7931103,18.0730237,5.9837719,9.8127084,9.0057094,32.6622922,6.6037777,0.8927313,0.9052017,8.0801899,5.3665395,51.3420197,24.2031749,30.4444511,66.9697092,33.3535354,43.6969707,18.7272778,6.4444435,9.7649959,8.9618852,33.1285885,6.8181862,0.741641,0.7914853,7.6596561,4.8706491,50.3868202,23.5235318,30.9822192,67.481822,33.2457531,43.8763125,18.4923218,6.2853671,10.2098516,8.918487,32.3983735,7.0945994 +2143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6388873,0.6734167,11.4114168,7.755712,40.1734146,17.4081936,31.069423,65.9055528,33.982804,44.0412192,19.7854091,4.3070014,10.6849696,8.9887345,32.8001447,9.0188422,0.6302584,0.6650806,11.9772553,8.0923329,40.652113,17.5056337,31.2183405,65.1014142,33.4045178,43.8213449,19.1105273,4.2480058,10.909648,8.531669,33.1326859,7.7193666,0.6439136,0.7040463,11.8442766,7.7071341,40.9460418,17.5209097,31.531516,64.5834367,32.9412732,43.4903968,18.7764937,4.3814191,10.7107331,8.3313138,33.2226301,8.5064209,0.6796955,0.7369176,12.127306,7.9419497,40.7323527,17.7980003,32.0915238,64.2526368,32.7396696,43.2836516,18.4653474,4.5430022,10.6470615,8.0659467,33.6144632,8.604281,0.7198115,0.7564692,12.0086277,7.8996373,41.7334611,17.4331066,32.3913803,63.9201342,32.5048564,42.6974791,18.1588242,4.7173098,10.833246,7.896478,33.4000206,9.0756159 +2144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7396769,0.7017262,7.5164782,4.7981902,52.348594,24.38383,30.8180029,67.3824175,33.190184,43.8241401,18.8343569,6.3599172,9.7099153,8.2594715,31.4784774,5.722895,0.7362856,0.7362856,7.7470473,5.103695,51.2230051,24.5498087,30.6085232,67.1196865,32.7180538,43.7931103,18.0730237,5.9837719,9.8127084,9.0057094,32.6622922,6.6037777,0.8927313,0.9052017,8.0801899,5.3665395,51.3420197,24.2031749,30.4444511,66.9697092,33.3535354,43.6969707,18.7272778,6.4444435,9.7649959,8.9618852,33.1285885,6.8181862,0.741641,0.7914853,7.6596561,4.8706491,50.3868202,23.5235318,30.9822192,67.481822,33.2457531,43.8763125,18.4923218,6.2853671,10.2098516,8.918487,32.3983735,7.0945994,0.6466572,0.6954615,7.969299,4.9389947,49.9401536,23.4709693,30.1302353,66.831109,33.0505129,43.3898982,18.3701666,6.136542,10.3032707,9.1368627,31.4655164,6.5517287 +2145,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9618257,0.9667336,14.5349248,10.6589448,45.9074458,13.3621857,28.781995,64.5595858,34.4061575,39.6295407,17.8890566,3.9943454,11.7219895,8.8248135,34.2851309,11.4704863,0.9715782,0.9578635,14.7469365,10.7836213,45.6697268,13.1609868,29.7251563,64.8029594,34.6259162,39.8896607,18.3191249,4.131306,11.2913246,8.3231351,34.5699799,11.1371717,0.93178,0.921178,15.1817549,11.1465715,47.1871573,12.9687664,30.4756129,65.1887871,33.8758259,40.3212129,18.1311297,3.9857188,12.120308,8.4338725,34.1746481,11.0508035,0.8773271,0.8668322,15.1981053,11.1353681,48.1753814,13.2546355,30.5073906,64.4144704,33.4002852,39.9716877,17.6329813,4.1637965,12.1994653,8.5127911,33.8627792,11.1784852,0.9202237,0.9136331,15.6190123,11.6499457,48.8472124,13.0967204,30.1680268,64.1591972,33.6657723,40.7994125,17.8766816,4.288531,11.6691275,8.5068798,33.4114436,11.6013782 +2146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.8012916,0.8012916,14.4550914,9.2417513,50.8157101,31.2106423,33.6799772,67.1197917,30.000176,40.0799689,19.2799759,5.5200618,14.0139621,11.2848202,37.147334,3.543335,0.7727151,0.7727151,14.2089413,9.4470512,51.8081553,30.7401287,33.6671582,66.3325336,29.8152677,39.522152,17.6424091,4.5455036,15.7980628,12.5816799,38.2935921,4.7794469,0.7360024,0.7360024,15.3077386,10.6923706,51.8779172,30.3462994,34.1294654,66.0243886,29.5071434,40.7548167,18.1046916,5.4700212,14.2140935,11.538468,36.2538252,7.0371152,0.5970242,0.7462803,14.366919,10.1461627,49.7540539,31.1023306,36.5323851,67.6610628,31.6937665,43.3061932,19.4352015,5.7258896,14.6383064,11.6394284,35.1849451,7.2519914,0.849491,0.9985245,14.4843959,10.7201076,50.0813122,30.5686811,34.2697567,68.7798861,32.3436454,42.7766212,18.860144,6.0193486,13.6655589,9.7755242,35.1304848,7.3644267 +2147,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2295605,1.2478494,15.6958505,11.638104,29.8209931,18.2252041,38.0208796,63.325753,35.8359474,47.3704759,21.3795741,3.0106709,11.4200785,10.0492767,33.1521926,16.6666239,1.1534869,1.1837617,15.8043708,11.7092315,29.9395429,18.261416,39.2046846,62.8147794,35.4151334,46.8835727,21.2540663,3.0042433,11.9031932,9.8939304,32.9643248,15.9090507,1.1359111,1.1583258,16.8820035,12.8839539,30.6071685,18.0334139,38.2345759,61.7160686,34.8765686,46.5555631,21.0987817,3.0740813,11.9757619,9.5991162,32.7349475,15.9313335,0.961633,0.9803468,16.6748062,12.9611505,31.6400998,18.3025537,38.0049657,62.0198422,35.0062167,46.4312373,21.1772205,3.0855049,12.2503866,9.8656789,33.3492419,13.9810294,0.9729765,0.9756262,17.2942845,13.4806293,32.7274627,18.3122007,38.0770967,61.7510198,35.3266928,46.1320978,21.2549066,3.2785618,12.6919069,9.7331826,33.6226464,12.2767912 +2148,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9293416,0.9426723,13.0005322,9.4839203,62.3395717,8.4357765,27.894967,62.7668115,30.2919994,38.3444898,15.746743,6.1040734,10.059453,8.03879,36.6699862,6.8690091,0.9431863,0.9539535,13.2385693,9.6774944,63.096123,8.4240107,27.702244,62.2006672,29.9306223,37.9409722,15.4576541,5.9655511,10.4486496,8.2542836,36.5530534,7.1992106,0.9231513,0.9200413,13.6764871,10.0751045,63.7379063,8.5504672,27.8176585,61.6715611,29.8229953,37.8502939,15.4780239,5.9436417,10.6065725,8.3115498,36.9353798,7.6559541,0.947596,0.9576261,13.9807724,10.2757738,63.8556793,8.5090194,28.0508191,61.5758899,29.5855154,37.7373747,15.4224762,5.9414809,10.7242079,8.3263406,37.0748417,7.6320367,0.9918297,1.0084076,14.036166,10.4187356,64.5044205,8.3904706,27.6572308,61.389852,29.203275,37.3962562,15.1562317,5.8093147,11.074734,8.4730107,37.2596835,8.4319377 +2149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6302584,0.6650806,11.9772553,8.0923329,40.652113,17.5056337,31.2183405,65.1014142,33.4045178,43.8213449,19.1105273,4.2480058,10.909648,8.531669,33.1326859,7.7193666,0.6439136,0.7040463,11.8442766,7.7071341,40.9460418,17.5209097,31.531516,64.5834367,32.9412732,43.4903968,18.7764937,4.3814191,10.7107331,8.3313138,33.2226301,8.5064209,0.6796955,0.7369176,12.127306,7.9419497,40.7323527,17.7980003,32.0915238,64.2526368,32.7396696,43.2836516,18.4653474,4.5430022,10.6470615,8.0659467,33.6144632,8.604281,0.7198115,0.7564692,12.0086277,7.8996373,41.7334611,17.4331066,32.3913803,63.9201342,32.5048564,42.6974791,18.1588242,4.7173098,10.833246,7.896478,33.4000206,9.0756159,0.7535448,0.7940021,12.3307146,8.2509531,42.3497039,17.5091615,32.5606476,63.0702926,31.4664294,42.2331577,17.8789618,4.7432403,10.5469162,7.8879315,33.1800994,9.8363977 +2150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7741261,0.7930247,11.8731184,8.4404355,32.0801076,10.357994,30.1797172,64.1163879,33.1392577,45.4811585,19.4754986,3.3836069,11.0288367,8.6038115,30.5789614,8.4285618,0.7703731,0.7934783,12.1888022,8.7202705,32.534693,10.4470076,30.1755161,63.8794786,32.8271332,44.8601732,19.0119302,3.3290483,11.1674274,8.6110327,30.6543485,7.3726462,0.7493315,0.7667606,12.0030339,8.6507703,33.1269712,10.5360119,30.1692866,64.3623047,32.7906285,44.7990468,18.6116597,3.5306457,11.1713899,8.9920846,30.1032276,7.3934763,0.7479821,0.7718692,11.826712,8.4791397,34.0656908,10.9404048,30.271279,64.6682516,33.3075635,45.3823458,18.5760514,3.6196207,11.3844637,9.0132698,30.2942581,6.850955,0.7956602,0.8131466,12.078079,8.6609357,35.0956505,10.8904517,29.8586432,64.6431058,33.2226242,45.5053066,18.7349962,3.5971727,11.1982416,8.9711187,30.01892,7.6642261 +2151,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9431863,0.9539535,13.2385693,9.6774944,63.096123,8.4240107,27.702244,62.2006672,29.9306223,37.9409722,15.4576541,5.9655511,10.4486496,8.2542836,36.5530534,7.1992106,0.9231513,0.9200413,13.6764871,10.0751045,63.7379063,8.5504672,27.8176585,61.6715611,29.8229953,37.8502939,15.4780239,5.9436417,10.6065725,8.3115498,36.9353798,7.6559541,0.947596,0.9576261,13.9807724,10.2757738,63.8556793,8.5090194,28.0508191,61.5758899,29.5855154,37.7373747,15.4224762,5.9414809,10.7242079,8.3263406,37.0748417,7.6320367,0.9918297,1.0084076,14.036166,10.4187356,64.5044205,8.3904706,27.6572308,61.389852,29.203275,37.3962562,15.1562317,5.8093147,11.074734,8.4730107,37.2596835,8.4319377,1.0012432,1.0142614,14.2770849,10.6011883,65.1921304,8.2442805,27.7303103,61.0710904,28.9935719,37.2739574,14.8359396,5.8188466,11.4792042,8.663549,37.7921904,8.6606993 +2152,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1839382,2.1839382,34.4583987,28.9638932,67.7235772,5.6942278,38.5895404,63.6291601,26.8621236,46.1965135,16.5610143,4.8335975,14.5209581,10.9281437,35.3030303,12.8571429,2.2666601,2.2666601,34.3888071,29.9705449,67.0933735,5.9210526,38.239645,65.7544379,27.1449704,46.0798817,16.4940828,4.9556213,12.9427793,9.6730245,33.6538462,12.5730994,2.1973865,2.2890876,34.2415317,29.6759941,66.9440242,6.7883212,38.535503,66.9378698,26.9970414,45.6360947,16.6420118,4.8076923,13.6103152,9.8853868,33.8616715,10.6321839,2.229664,2.183109,34.947839,30.4769001,66.3312693,7.2280179,38.0484115,68.1543116,27.4583964,45.1588502,17.473525,5.8245083,14.8093842,8.6764706,33.480826,13.5542169,2.4950684,2.3103962,35.6720827,31.3884786,66.2826421,6.9852941,38.3982036,67.8892216,28.8173653,45.2844311,16.8413174,6.0628743,13.5174419,8.0174927,33.1871345,13.0813953 +2153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.6352341,1.6976939,30.0201591,24.9469375,49.6241429,11.1948772,40.1312113,65.7282014,33.5893487,49.3459912,27.6167177,6.399384,16.5928528,11.5127305,34.1723445,16.5981974,1.5133536,1.5765746,30.0740567,24.6262965,50.2867519,11.2789196,40.4603103,65.5779918,32.7514749,49.9085221,27.2209763,6.3659727,16.4039269,12.2323486,34.2588323,16.3828114,1.4600671,1.5092979,30.0406859,24.4366583,51.4439949,11.4667426,39.4600064,65.4850023,32.3482392,49.1734213,26.2847487,6.6814577,16.5250632,13.1640797,35.0737707,19.3327147,1.3781187,1.4147876,30.6575198,24.7290873,50.5975578,11.6391223,39.2769298,65.9174477,32.8260059,49.7861878,26.4842423,6.6134023,17.4328292,14.3239131,35.8751286,16.375031,1.2054661,1.2418883,31.3966728,25.2841559,50.9231881,11.5547889,39.2038061,65.390821,33.131864,48.8057718,25.975083,6.2342606,18.0082262,14.591011,36.3421969,15.5597011 +2154,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9231513,0.9200413,13.6764871,10.0751045,63.7379063,8.5504672,27.8176585,61.6715611,29.8229953,37.8502939,15.4780239,5.9436417,10.6065725,8.3115498,36.9353798,7.6559541,0.947596,0.9576261,13.9807724,10.2757738,63.8556793,8.5090194,28.0508191,61.5758899,29.5855154,37.7373747,15.4224762,5.9414809,10.7242079,8.3263406,37.0748417,7.6320367,0.9918297,1.0084076,14.036166,10.4187356,64.5044205,8.3904706,27.6572308,61.389852,29.203275,37.3962562,15.1562317,5.8093147,11.074734,8.4730107,37.2596835,8.4319377,1.0012432,1.0142614,14.2770849,10.6011883,65.1921304,8.2442805,27.7303103,61.0710904,28.9935719,37.2739574,14.8359396,5.8188466,11.4792042,8.663549,37.7921904,8.6606993,0.9421797,0.9563828,14.7603001,11.0590307,65.954608,8.3333618,27.7455619,60.5730803,28.5846521,37.0328799,14.6056627,5.6335412,11.8924738,8.9187628,37.6097815,8.7662188 +2155,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3436376,2.3582582,39.5410839,34.425188,50.3930257,17.7787984,38.8416887,66.5593943,32.6331131,46.6637229,21.3027164,3.8476221,13.8857598,12.7177038,31.6753114,23.416887,2.5241821,2.538991,39.1959779,34.0138441,51.0857409,18.9434279,38.1485013,65.4681261,32.1752114,46.5798572,21.3297724,4.0249677,13.4828937,13.0580801,33.2014784,24.7839171,2.5928214,2.6370547,38.2189836,33.193973,51.7717762,19.156849,37.775913,65.1709693,32.4075189,46.5299009,21.002616,3.7469851,14.6267677,13.8494156,33.7169041,24.4688934,2.5479232,2.5928444,37.9713941,32.7541195,52.6075968,18.8216988,37.7286491,64.30504,31.7437011,46.9737172,20.3173265,3.4341645,14.7871687,13.5969185,34.0253553,23.3105782,2.5202949,2.5705423,38.4873753,33.0896482,54.2587402,19.413492,37.5994648,64.0456755,32.2982186,45.812552,20.7235736,3.5237739,16.3004853,14.017176,34.3570993,23.7502749 +2156,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0.9297888,0.9212655,15.9173613,12.2041758,60.0791764,14.8169776,30.2138479,62.9808645,33.5674072,39.8149344,18.4147984,3.766677,14.4346148,12.1773585,37.7188924,6.7893821,1.130314,1.1219467,17.2046677,13.6080152,61.1202206,14.3369004,30.4579977,62.1877172,33.4790489,39.1663797,18.1943591,3.6885617,15.1492403,12.3599097,36.6667513,9.9787284,1.2274163,1.2191369,16.9605038,13.138727,61.8467896,13.9909999,30.6623504,62.4258971,32.6388961,39.1846375,17.9735039,3.6016941,15.1938653,12.2522174,35.4109656,8.6396043,1.4590426,1.4508434,17.9156793,13.759345,62.6079159,13.8918978,30.4119631,62.2893727,31.793258,38.9811265,17.4374393,3.5262134,14.5401984,12.0407482,35.4980639,8.620305,1.4372737,1.4291458,18.383208,14.5243216,62.7702857,13.8940039,29.8961937,62.2991712,31.9558741,39.6494701,17.6437944,3.2659921,15.5167396,12.7168614,35.5829238,9.9463951 +2157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7362856,0.7362856,7.7470473,5.103695,51.2230051,24.5498087,30.6085232,67.1196865,32.7180538,43.7931103,18.0730237,5.9837719,9.8127084,9.0057094,32.6622922,6.6037777,0.8927313,0.9052017,8.0801899,5.3665395,51.3420197,24.2031749,30.4444511,66.9697092,33.3535354,43.6969707,18.7272778,6.4444435,9.7649959,8.9618852,33.1285885,6.8181862,0.741641,0.7914853,7.6596561,4.8706491,50.3868202,23.5235318,30.9822192,67.481822,33.2457531,43.8763125,18.4923218,6.2853671,10.2098516,8.918487,32.3983735,7.0945994,0.6466572,0.6954615,7.969299,4.9389947,49.9401536,23.4709693,30.1302353,66.831109,33.0505129,43.3898982,18.3701666,6.136542,10.3032707,9.1368627,31.4655164,6.5517287,0.58708,0.6720521,7.8803235,4.868981,48.9840694,22.6088609,29.8152543,66.3718631,32.8812891,43.5731129,18.2586464,5.8765744,10.6867317,9.4594624,32.3872496,6.1290362 +2158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2758463,2.3434995,35.9814628,31.1527958,75.1076631,13.5342038,34.5576371,62.615397,22.6512489,36.7829244,15.1531425,1.8295102,17.2843897,12.7347043,42.6425025,21.7856798,2.0493021,2.0945143,35.006085,30.4189728,74.9763675,13.4572328,35.4391262,63.7895495,23.045247,37.0574912,14.8081511,1.8737686,16.5411629,11.6646445,41.6447608,22.1250776,2.3221043,2.3328078,33.8397199,29.402235,74.0052787,13.257449,34.6006845,65.1509153,23.7260078,36.8859997,15.1229733,1.8175571,15.8152942,10.8547375,38.9573018,23.4495063,2.1378824,2.1485136,32.845721,28.5722594,73.8646343,12.85834,34.7162693,65.2256885,23.7366694,37.1825394,15.1339392,1.9874126,16.7528132,11.4916187,39.7575781,24.6749361,1.9918216,1.9918216,31.7078877,27.335663,72.9737888,12.510417,34.244538,64.3370429,23.8378224,36.5808397,14.5500665,1.7241752,16.8780483,12.3476783,40.5064017,24.5903786 +2159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9611184,0.9988821,21.6522481,17.4511541,32.5966765,16.5911757,35.1717075,67.2153396,38.4764568,48.038313,23.0640912,2.9117874,12.5260837,9.656273,33.2371568,15.6149471,1.0395732,1.0731047,21.5098106,17.1630994,33.0887695,16.5910395,35.3585613,67.1235096,38.2707544,47.6730934,22.6454376,3.084611,12.5516997,9.4460157,33.5152101,18.2595711,1.1253672,1.1371648,22.3021898,18.0329879,33.2550244,16.2544872,35.1002977,66.5657432,37.8143585,47.07616,22.2975465,3.0737944,12.9224073,9.6814333,33.6687087,18.1280615,1.1974556,1.2415913,22.2065491,17.9583793,34.3698889,16.6447744,35.111255,66.0755345,37.3015382,45.8122684,21.6750009,3.3069675,12.7341791,9.6048083,33.2257826,21.2431371,1.1206258,1.1806064,22.752503,18.4760445,34.3069318,16.4541641,34.9985845,65.9945627,37.7451723,45.8907629,21.293744,3.2244647,13.1588907,9.8672876,33.5206244,22.2719951 +2160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7703731,0.7934783,12.1888022,8.7202705,32.534693,10.4470076,30.1755161,63.8794786,32.8271332,44.8601732,19.0119302,3.3290483,11.1674274,8.6110327,30.6543485,7.3726462,0.7493315,0.7667606,12.0030339,8.6507703,33.1269712,10.5360119,30.1692866,64.3623047,32.7906285,44.7990468,18.6116597,3.5306457,11.1713899,8.9920846,30.1032276,7.3934763,0.7479821,0.7718692,11.826712,8.4791397,34.0656908,10.9404048,30.271279,64.6682516,33.3075635,45.3823458,18.5760514,3.6196207,11.3844637,9.0132698,30.2942581,6.850955,0.7956602,0.8131466,12.078079,8.6609357,35.0956505,10.8904517,29.8586432,64.6431058,33.2226242,45.5053066,18.7349962,3.5971727,11.1982416,8.9711187,30.01892,7.6642261,0.7095612,0.7268929,11.9980854,8.5464902,35.6259047,10.9914083,30.1202201,64.9307936,33.3776159,45.5403373,18.3489556,3.3342657,11.0002237,8.8726076,29.3965383,8.6805455 +2161,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7367649,0.7516067,10.871744,7.4154272,44.9532275,19.6221314,31.7563768,67.7980964,37.129868,44.3905421,22.3462134,4.364392,11.0863584,9.7470415,37.4375788,8.0357085,0.5991742,0.6059932,10.752749,7.4382287,44.8262414,19.3842132,32.4001198,67.4683754,36.9216366,44.1770627,22.2530018,4.3507241,10.8631285,10.186572,36.715968,7.3378764,0.7099394,0.7263167,11.1952979,7.6734182,43.9353771,19.2306599,32.3830664,67.8270565,37.1650082,43.6808977,22.5040301,4.3746729,10.2681576,9.6877013,36.4191634,8.3038869,0.7733529,0.7762797,11.8453238,8.3961942,44.3789379,19.1010954,32.5044145,67.8303839,37.5546585,43.4035547,22.1978694,4.5220323,10.3504153,9.2654454,35.4890884,9.1695438,0.6989246,0.7094442,12.1886975,8.6886261,44.3258429,18.8057099,32.1769174,67.999457,37.3233011,42.9488327,22.363671,4.629178,10.0182222,9.0013472,34.9097458,8.3904883 +2162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.7727151,0.7727151,14.2089413,9.4470512,51.8081553,30.7401287,33.6671582,66.3325336,29.8152677,39.522152,17.6424091,4.5455036,15.7980628,12.5816799,38.2935921,4.7794469,0.7360024,0.7360024,15.3077386,10.6923706,51.8779172,30.3462994,34.1294654,66.0243886,29.5071434,40.7548167,18.1046916,5.4700212,14.2140935,11.538468,36.2538252,7.0371152,0.5970242,0.7462803,14.366919,10.1461627,49.7540539,31.1023306,36.5323851,67.6610628,31.6937665,43.3061932,19.4352015,5.7258896,14.6383064,11.6394284,35.1849451,7.2519914,0.849491,0.9985245,14.4843959,10.7201076,50.0813122,30.5686811,34.2697567,68.7798861,32.3436454,42.7766212,18.860144,6.0193486,13.6655589,9.7755242,35.1304848,7.3644267,0.9436977,1.095907,13.9165906,10.7499677,51.0832237,29.6925845,33.6347906,69.3254505,32.3192284,43.0095182,18.9964983,5.6744261,12.7060481,10.0326158,35.4024501,6.9672988 +2163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0395732,1.0731047,21.5098106,17.1630994,33.0887695,16.5910395,35.3585613,67.1235096,38.2707544,47.6730934,22.6454376,3.084611,12.5516997,9.4460157,33.5152101,18.2595711,1.1253672,1.1371648,22.3021898,18.0329879,33.2550244,16.2544872,35.1002977,66.5657432,37.8143585,47.07616,22.2975465,3.0737944,12.9224073,9.6814333,33.6687087,18.1280615,1.1974556,1.2415913,22.2065491,17.9583793,34.3698889,16.6447744,35.111255,66.0755345,37.3015382,45.8122684,21.6750009,3.3069675,12.7341791,9.6048083,33.2257826,21.2431371,1.1206258,1.1806064,22.752503,18.4760445,34.3069318,16.4541641,34.9985845,65.9945627,37.7451723,45.8907629,21.293744,3.2244647,13.1588907,9.8672876,33.5206244,22.2719951,1.2214447,1.2782858,22.87962,18.6646583,34.6240759,16.6529676,34.4873473,65.898253,37.5585764,46.0075637,20.8079323,3.3624739,13.6822663,9.9856111,34.1905985,21.3511328 +2164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5760822,0.5342939,8.1566649,6.1672971,69.5407119,13.4313649,25.4647469,67.942512,31.4382016,43.208139,14.048877,4.3585136,12.3352908,9.9647886,33.318652,2.940524,0.4599274,0.4599274,7.9993065,6.0997924,69.1925594,13.4080891,25.6384664,68.1490343,31.3405492,43.936278,13.6383957,4.7873297,13.2340816,10.3490985,33.2048228,2.1545207,0.6619209,0.6619209,8.4018962,6.3264246,66.8372937,13.3975358,26.2321386,68.7429913,31.6593924,44.5240578,13.8498183,4.6031935,13.0905839,10.4565831,33.0783187,5.9992672,0.6762225,0.6762225,8.5310657,6.3742829,65.4096004,13.4360729,26.4514785,68.6582567,31.458454,44.8102152,13.9536113,4.6383256,13.4438518,11.2951362,32.2594482,6.5378024,0.6919716,0.6874746,8.9183712,6.3322838,63.4374974,13.4800986,26.627815,69.9934888,31.8113788,45.7490587,15.0706364,4.5116757,13.4312505,11.4746421,32.7404933,6.6428114 +2165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.9655971,1.0038107,16.1982245,12.2599668,49.3312179,12.160735,28.6102813,62.6082657,29.1943532,42.1853191,14.5720445,4.9244758,13.479378,10.5044487,32.63497,9.9719717,0.9585652,0.9828433,16.3640608,12.3552808,50.1169722,12.6726776,29.1835769,63.1989879,29.1430621,41.9671674,14.5968786,4.7913315,13.3136581,10.5310892,31.9459462,9.8288388,0.8471505,0.8899901,16.3937916,12.6082937,51.4804695,12.9633021,28.8600683,63.379655,29.4029651,42.3502016,14.7266154,4.6743145,13.2361137,10.8941392,31.5867159,9.1527599,0.8540186,0.8958175,16.502319,12.8372879,52.7666745,12.8995709,28.9214009,64.2440771,28.9214271,42.9536389,14.7883376,4.6270461,13.1854345,10.9738517,31.52756,8.1114333,0.8153142,0.8571052,16.9424641,13.3548576,54.3359909,12.9336216,28.5642684,64.9023109,29.1894229,42.6799818,14.6703331,4.6279589,13.2212426,11.0662104,31.2536469,7.089298 +2166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.7360024,0.7360024,15.3077386,10.6923706,51.8779172,30.3462994,34.1294654,66.0243886,29.5071434,40.7548167,18.1046916,5.4700212,14.2140935,11.538468,36.2538252,7.0371152,0.5970242,0.7462803,14.366919,10.1461627,49.7540539,31.1023306,36.5323851,67.6610628,31.6937665,43.3061932,19.4352015,5.7258896,14.6383064,11.6394284,35.1849451,7.2519914,0.849491,0.9985245,14.4843959,10.7201076,50.0813122,30.5686811,34.2697567,68.7798861,32.3436454,42.7766212,18.860144,6.0193486,13.6655589,9.7755242,35.1304848,7.3644267,0.9436977,1.095907,13.9165906,10.7499677,51.0832237,29.6925845,33.6347906,69.3254505,32.3192284,43.0095182,18.9964983,5.6744261,12.7060481,10.0326158,35.4024501,6.9672988,0.9008434,1.0566088,13.1669287,10.4131113,50.3394783,29.0562864,34.3169337,70.9104599,33.1367313,44.9406104,20.1515536,6.1552316,12.3308243,9.2589413,33.3902409,9.1305142 +2167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7964936,1.8208869,33.5776434,29.0422602,52.7331019,12.7821508,37.7219117,64.2591061,35.8507674,43.8876045,21.2128061,2.8667673,16.3992925,12.6893318,40.2180455,20.5696457,1.9342164,1.9187542,33.7574413,29.1306503,53.4098056,12.8037895,38.008547,64.0203008,35.3701127,42.95736,20.6013358,2.8052991,16.7411533,12.5708318,39.6927236,20.184455,1.9780673,1.9560472,35.0561485,30.3201922,54.2904625,12.7019339,38.7564551,63.6480688,34.8320217,42.9478316,20.3475225,2.51197,17.1903268,12.4979873,39.1462542,19.4223224,1.8218296,1.8087287,35.0201489,30.4421911,54.512795,12.8433669,39.3254717,63.8216164,34.5035761,43.3334519,20.5084436,2.4294027,17.3873348,11.9552853,39.5916391,19.1848784,1.7958179,1.8195425,35.2783342,30.7217247,55.0589988,12.7978427,39.7881319,63.6797674,34.6406842,43.4384204,20.8717883,2.4758704,18.0477674,11.1649819,38.6584532,19.1908546 +2168,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7376665,0.7617191,10.7674196,7.4867823,37.5368827,20.1844529,33.0257411,65.8455161,36.8551035,45.1709143,22.3147998,6.4921749,10.2063888,8.2143291,33.0172025,8.1521721,0.7065716,0.7296756,11.3592893,7.7729089,38.308691,20.2106099,33.0380396,64.6625993,36.5385032,45.5617624,21.817963,6.1593258,10.0303025,8.0428191,33.0709648,8.0612228,0.7233643,0.7559574,11.4048411,7.903294,38.8399547,20.2393862,33.0057637,63.7675032,36.203812,45.4967644,21.6763957,6.0447237,9.5858405,7.914506,32.9631226,8.5215588,0.7912906,0.8235259,11.8766352,8.252542,39.4890475,20.024632,32.6516478,63.6126783,35.7364096,45.5849651,21.5720279,6.4312802,10.1129001,8.1095031,33.3086753,10.0586113,0.7135095,0.7254639,12.2085755,8.4531655,39.1646944,19.8809066,32.7191778,63.2006228,35.3875473,45.9762788,21.0292264,6.4308913,10.0220668,7.6181825,33.0076457,9.0822388 +2169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8927313,0.9052017,8.0801899,5.3665395,51.3420197,24.2031749,30.4444511,66.9697092,33.3535354,43.6969707,18.7272778,6.4444435,9.7649959,8.9618852,33.1285885,6.8181862,0.741641,0.7914853,7.6596561,4.8706491,50.3868202,23.5235318,30.9822192,67.481822,33.2457531,43.8763125,18.4923218,6.2853671,10.2098516,8.918487,32.3983735,7.0945994,0.6466572,0.6954615,7.969299,4.9389947,49.9401536,23.4709693,30.1302353,66.831109,33.0505129,43.3898982,18.3701666,6.136542,10.3032707,9.1368627,31.4655164,6.5517287,0.58708,0.6720521,7.8803235,4.868981,48.9840694,22.6088609,29.8152543,66.3718631,32.8812891,43.5731129,18.2586464,5.8765744,10.6867317,9.4594624,32.3872496,6.1290362,0.5398506,0.6231542,7.9209764,5.0057474,49.3544599,22.3518139,30.3094771,66.2862707,32.3597638,44.0812327,18.0464181,5.7059975,10.4135362,9.3750021,31.1555886,5.0000029 +2170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1253672,1.1371648,22.3021898,18.0329879,33.2550244,16.2544872,35.1002977,66.5657432,37.8143585,47.07616,22.2975465,3.0737944,12.9224073,9.6814333,33.6687087,18.1280615,1.1974556,1.2415913,22.2065491,17.9583793,34.3698889,16.6447744,35.111255,66.0755345,37.3015382,45.8122684,21.6750009,3.3069675,12.7341791,9.6048083,33.2257826,21.2431371,1.1206258,1.1806064,22.752503,18.4760445,34.3069318,16.4541641,34.9985845,65.9945627,37.7451723,45.8907629,21.293744,3.2244647,13.1588907,9.8672876,33.5206244,22.2719951,1.2214447,1.2782858,22.87962,18.6646583,34.6240759,16.6529676,34.4873473,65.898253,37.5585764,46.0075637,20.8079323,3.3624739,13.6822663,9.9856111,34.1905985,21.3511328,1.2268401,1.2796573,22.7691844,18.7322262,35.0678252,16.6307867,33.9162117,65.8196244,37.9253531,46.3789829,21.1422119,3.3324041,14.1582102,10.4561398,34.9177021,21.6106357 +2171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4438008,0.4272285,7.2564633,4.6435685,45.1333698,19.5470957,30.0392459,67.6619057,35.3378204,42.9352377,20.5074294,8.312304,8.3602178,6.2264174,35.5163124,4.1333344,0.4471881,0.4311386,7.4048753,4.7221479,44.8470676,19.776221,29.8395837,67.1968481,35.5492132,42.6998302,20.3235444,8.224576,9.0652327,6.5172574,35.3627023,3.7396132,0.4500202,0.4590148,7.2791022,4.6423579,45.022563,19.622172,29.4158501,67.2183628,35.6745535,42.6008288,20.1251733,7.9972159,8.94161,6.7207096,35.954769,3.0701763,0.4203898,0.4297138,7.5507241,4.6231899,45.3893469,19.6658056,28.9739849,67.066479,35.2745739,42.5577992,19.869941,7.7601127,9.2174413,6.8337714,35.2272808,2.5757584,0.4469094,0.4557379,7.8099149,4.8622581,45.2759263,20.029913,29.1050831,66.4340448,34.8248583,41.7214019,19.1981414,7.6491493,10.0911167,6.8577974,35.0616729,3.2012205 +2172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.5133536,1.5765746,30.0740567,24.6262965,50.2867519,11.2789196,40.4603103,65.5779918,32.7514749,49.9085221,27.2209763,6.3659727,16.4039269,12.2323486,34.2588323,16.3828114,1.4600671,1.5092979,30.0406859,24.4366583,51.4439949,11.4667426,39.4600064,65.4850023,32.3482392,49.1734213,26.2847487,6.6814577,16.5250632,13.1640797,35.0737707,19.3327147,1.3781187,1.4147876,30.6575198,24.7290873,50.5975578,11.6391223,39.2769298,65.9174477,32.8260059,49.7861878,26.4842423,6.6134023,17.4328292,14.3239131,35.8751286,16.375031,1.2054661,1.2418883,31.3966728,25.2841559,50.9231881,11.5547889,39.2038061,65.390821,33.131864,48.8057718,25.975083,6.2342606,18.0082262,14.591011,36.3421969,15.5597011,0.9300769,0.9668587,30.8045369,24.904672,50.3534086,11.7157056,39.1836326,65.2772933,33.4108682,48.9443114,25.7590601,5.7558524,17.6286382,14.2898853,34.8733277,16.6659916 +2173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7425537,0.7642989,9.1055728,6.1628797,43.6437243,13.5412599,29.7113678,66.7292294,32.5588874,42.5511278,18.8260406,14.1405636,10.6385312,8.3205106,37.7198794,3.171091,0.7583378,0.7696795,9.5258646,6.3402879,44.3232518,13.1412632,30.003714,65.3698728,31.8221192,42.4233101,18.7592785,14.4173667,10.3749509,8.3119194,37.4087231,4.0772526,0.7972681,0.8480754,9.9852503,6.6056284,44.8732704,13.1931508,30.4114197,65.1037875,31.6839671,42.1979321,18.7237485,14.3254246,10.5078637,8.0722196,37.7263138,3.8951836,0.7778755,0.8322498,10.0428363,6.7013462,45.1751013,13.3890952,30.3408838,64.736651,31.903768,42.376333,18.5515691,14.4166868,10.685557,8.3287212,37.9199502,4.06562,0.7090994,0.7484076,9.8812988,6.5039158,45.5997462,13.4075098,30.1449787,64.0189234,31.1401917,41.5345944,18.39907,14.6762497,10.7995725,8.2648293,37.9570407,3.2142848 +2174,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.947596,0.9576261,13.9807724,10.2757738,63.8556793,8.5090194,28.0508191,61.5758899,29.5855154,37.7373747,15.4224762,5.9414809,10.7242079,8.3263406,37.0748417,7.6320367,0.9918297,1.0084076,14.036166,10.4187356,64.5044205,8.3904706,27.6572308,61.389852,29.203275,37.3962562,15.1562317,5.8093147,11.074734,8.4730107,37.2596835,8.4319377,1.0012432,1.0142614,14.2770849,10.6011883,65.1921304,8.2442805,27.7303103,61.0710904,28.9935719,37.2739574,14.8359396,5.8188466,11.4792042,8.663549,37.7921904,8.6606993,0.9421797,0.9563828,14.7603001,11.0590307,65.954608,8.3333618,27.7455619,60.5730803,28.5846521,37.0328799,14.6056627,5.6335412,11.8924738,8.9187628,37.6097815,8.7662188,0.9407645,0.9653159,15.2289428,11.5320956,67.1065598,8.1227512,27.9868065,59.73709,28.0290309,36.6242035,14.4833691,5.50855,12.3284143,9.1621768,37.811922,9.1202191 +2175,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9715782,0.9578635,14.7469365,10.7836213,45.6697268,13.1609868,29.7251563,64.8029594,34.6259162,39.8896607,18.3191249,4.131306,11.2913246,8.3231351,34.5699799,11.1371717,0.93178,0.921178,15.1817549,11.1465715,47.1871573,12.9687664,30.4756129,65.1887871,33.8758259,40.3212129,18.1311297,3.9857188,12.120308,8.4338725,34.1746481,11.0508035,0.8773271,0.8668322,15.1981053,11.1353681,48.1753814,13.2546355,30.5073906,64.4144704,33.4002852,39.9716877,17.6329813,4.1637965,12.1994653,8.5127911,33.8627792,11.1784852,0.9202237,0.9136331,15.6190123,11.6499457,48.8472124,13.0967204,30.1680268,64.1591972,33.6657723,40.7994125,17.8766816,4.288531,11.6691275,8.5068798,33.4114436,11.6013782,0.8649763,0.864064,15.9144737,11.9996834,49.5665804,13.1020419,30.8774508,63.9924037,33.2743495,40.8289988,18.5028792,4.3553639,11.8485818,8.971756,33.8829474,12.5 +2176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8744602,0.8682688,10.3310629,6.678087,22.5021368,16.3949234,34.529424,68.4621878,39.5546379,48.7815183,23.3865581,3.974786,10.6881114,9.8661152,33.3922894,6.7241402,0.8588817,0.8528079,10.2960174,6.5680086,21.920927,16.8298063,34.6590928,68.8817497,40.1268181,49.5635708,23.7895183,4.0760859,11.0991645,9.6679931,32.9770861,5.8718882,0.9201266,0.9148539,10.3730258,6.7698453,22.0104206,16.8583743,34.8626036,69.1118726,40.5544783,49.8609896,23.8223706,4.1625788,10.7056985,9.5159253,32.9748764,5.8098592,0.8866873,0.8962814,10.6176252,7.0861927,21.7746068,16.8359935,35.0023656,68.9071971,40.7386884,50.032079,24.3470714,4.1259446,10.996815,9.6142652,32.7531234,4.9319761,0.8158736,0.8227188,10.7871615,7.3333403,21.920738,16.6885016,34.8131194,69.0723896,40.8317053,50.2893866,24.2973016,4.1584008,10.9018075,9.6912976,32.9892788,5.1418476 +2177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1974556,1.2415913,22.2065491,17.9583793,34.3698889,16.6447744,35.111255,66.0755345,37.3015382,45.8122684,21.6750009,3.3069675,12.7341791,9.6048083,33.2257826,21.2431371,1.1206258,1.1806064,22.752503,18.4760445,34.3069318,16.4541641,34.9985845,65.9945627,37.7451723,45.8907629,21.293744,3.2244647,13.1588907,9.8672876,33.5206244,22.2719951,1.2214447,1.2782858,22.87962,18.6646583,34.6240759,16.6529676,34.4873473,65.898253,37.5585764,46.0075637,20.8079323,3.3624739,13.6822663,9.9856111,34.1905985,21.3511328,1.2268401,1.2796573,22.7691844,18.7322262,35.0678252,16.6307867,33.9162117,65.8196244,37.9253531,46.3789829,21.1422119,3.3324041,14.1582102,10.4561398,34.9177021,21.6106357,1.2590511,1.3390538,23.0264903,19.0532287,35.5478087,16.1744502,33.0449371,65.0661624,37.3467216,46.0741425,20.6228777,3.3250755,14.5596353,10.249468,34.9602996,23.3934742 +2178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.5970242,0.7462803,14.366919,10.1461627,49.7540539,31.1023306,36.5323851,67.6610628,31.6937665,43.3061932,19.4352015,5.7258896,14.6383064,11.6394284,35.1849451,7.2519914,0.849491,0.9985245,14.4843959,10.7201076,50.0813122,30.5686811,34.2697567,68.7798861,32.3436454,42.7766212,18.860144,6.0193486,13.6655589,9.7755242,35.1304848,7.3644267,0.9436977,1.095907,13.9165906,10.7499677,51.0832237,29.6925845,33.6347906,69.3254505,32.3192284,43.0095182,18.9964983,5.6744261,12.7060481,10.0326158,35.4024501,6.9672988,0.9008434,1.0566088,13.1669287,10.4131113,50.3394783,29.0562864,34.3169337,70.9104599,33.1367313,44.9406104,20.1515536,6.1552316,12.3308243,9.2589413,33.3902409,9.1305142,0.8596311,1.0173616,13.7304176,10.7943844,50.7785122,27.963265,35.5687589,70.7130645,35.3990625,45.7552976,19.4395349,6.5364953,11.1292916,10.0990417,33.6147016,9.5454979 +2179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6356678,0.6782891,9.0382527,5.9781379,41.8559972,16.3276427,28.5444158,69.5415367,35.2882436,45.1035172,20.4206705,3.4609355,9.4411748,8.5591735,32.2822264,5.9931425,0.689922,0.7215254,9.2240285,6.3595544,41.9542512,16.4493351,28.4083589,69.4390328,35.170704,45.2381129,20.0587231,3.5986032,9.5248381,8.3624508,31.921921,6.187312,0.7531646,0.7854907,9.4568095,6.3808892,41.3532756,16.5862729,28.0449939,69.6393114,35.0144873,45.123602,19.9844311,3.6851405,9.6621577,8.7201501,31.8305639,7.4913058,0.6906752,0.7224435,9.4220018,6.4997836,40.4930116,16.7746769,28.1537584,69.6780816,35.7972099,45.7840774,20.7293211,3.7341131,9.7284046,8.9715131,32.802727,8.0204955,0.7875888,0.8024403,9.7263513,6.7564725,39.5509164,16.8976528,28.2669937,68.5525913,36.1207315,46.029875,21.4084947,3.6023291,9.8730322,9.1765343,33.8553352,8.4717743 +2180,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1534869,1.1837617,15.8043708,11.7092315,29.9395429,18.261416,39.2046846,62.8147794,35.4151334,46.8835727,21.2540663,3.0042433,11.9031932,9.8939304,32.9643248,15.9090507,1.1359111,1.1583258,16.8820035,12.8839539,30.6071685,18.0334139,38.2345759,61.7160686,34.8765686,46.5555631,21.0987817,3.0740813,11.9757619,9.5991162,32.7349475,15.9313335,0.961633,0.9803468,16.6748062,12.9611505,31.6400998,18.3025537,38.0049657,62.0198422,35.0062167,46.4312373,21.1772205,3.0855049,12.2503866,9.8656789,33.3492419,13.9810294,0.9729765,0.9756262,17.2942845,13.4806293,32.7274627,18.3122007,38.0770967,61.7510198,35.3266928,46.1320978,21.2549066,3.2785618,12.6919069,9.7331826,33.6226464,12.2767912,1.0065557,1.013712,17.8546328,13.8842948,33.4736702,18.7021643,38.393061,62.9724833,36.0766296,46.830004,21.7142055,3.4260651,12.9679344,9.7415612,34.0601403,14.4308654 +2181,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8730069,1.8926762,28.8832186,24.9738116,43.4215379,18.7461079,42.8433915,66.1495986,35.9631285,49.9436776,24.7060189,3.9880404,13.7532527,9.9210921,32.8784088,22.2732167,1.7307073,1.7682767,28.8914612,24.8247962,44.0940103,18.6686138,42.6038563,66.2745495,35.4900582,49.4574129,24.3612219,3.9893082,12.6600483,10.0018063,32.214038,20.6489585,1.8498499,1.8878405,28.6030918,24.4144738,44.9990107,18.831897,41.1897284,65.8009859,35.1539921,48.7865694,24.3626807,4.0833102,12.7642173,10.9089584,33.3364863,20.8645994,1.9388923,1.9948276,28.861191,24.6461199,44.3501225,19.1848085,41.511531,66.827661,35.7019717,49.007702,24.568647,4.2644034,12.587796,10.4660928,32.3432341,21.1145613,1.896312,1.9911545,29.1852798,24.6504752,43.7437665,18.5352572,41.5655698,66.8899203,36.3418955,49.0215405,24.4604614,4.2088992,12.5310133,10.8634085,32.750877,22.7795647 +2182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3430491,1.4484453,22.6303412,17.2715377,82.5524798,15.7994436,34.3429264,65.4512828,36.7679862,40.0462618,18.9561287,5.0979396,12.4597597,11.9397474,34.5992673,14.1164613,1.2778191,1.3844887,22.2092874,16.9452772,82.4050571,16.019519,34.4993109,66.0008773,36.8883934,40.2287516,18.6171106,4.8784208,12.2403736,12.2256896,36.1618601,13.4922705,1.434663,1.5420813,21.8586922,16.305801,82.7321175,16.3179111,35.7099156,64.6669721,37.4154048,41.0922912,18.9767635,4.9695636,13.8094071,13.3068688,37.5509425,13.7501994,1.6703993,1.7757715,21.244547,16.2968589,83.0697305,15.8132669,35.7815826,64.0309074,37.0300117,40.7183145,19.5302912,4.7183953,13.9639192,13.7200018,37.4398387,10.7894737,1.5871576,1.6936937,20.3592202,16.2185068,83.2385745,15.3388408,36.0296997,64.0963557,37.1605414,41.5039477,20.0430548,5.1287081,13.9472138,13.3540784,37.1949496,9.7373392 +2183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7935846,0.784552,10.9104985,6.7521191,49.4424776,10.9527844,32.9369188,66.5733117,42.193216,44.0072336,23.8459799,4.8563202,11.0356489,8.9894336,38.9591234,6.9877874,0.7714766,0.7624388,11.1599627,6.9247927,49.3325944,10.9222328,32.6983334,66.780665,41.9367726,44.1038752,23.8845066,4.77488,11.030319,9.4250572,39.169446,8.1249977,0.7996202,0.8015818,11.1653681,7.1164415,48.6023269,10.9804523,32.5674126,66.9081852,41.841291,44.9566605,24.1052789,4.7553045,11.1306697,9.6472085,39.3837751,8.6137117,0.7856073,0.7956954,11.3069106,7.3204647,48.2708364,11.2876786,31.9262385,67.5081399,42.1995306,45.4697962,24.0279595,4.8282676,10.8826606,9.4899497,39.5614679,9.225618,0.7609313,0.765004,11.0479566,7.2270102,47.1935686,11.7404248,31.5224839,67.6962573,42.8297959,45.8622837,24.5628983,4.9290764,10.7570779,9.4831856,39.1256951,9.6129846 +2184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5345584,0.5596686,8.9719334,6.2025799,38.9956173,19.5426598,30.0272907,70.7131726,38.5229876,46.7848615,22.6227312,3.6827805,9.4807351,9.431724,30.8088751,5.2816901,0.5952105,0.6111714,8.9426394,6.2429706,38.2899053,20.0037945,30.2768257,71.1841579,38.5813048,46.9242459,22.8950144,3.633224,9.0182842,9.4965639,31.2739941,3.7671233,0.6343045,0.6618637,9.2184061,6.376216,37.5000186,20.1247104,31.018001,71.8905662,39.1312573,47.0531742,22.2923723,3.8844258,8.6090288,9.0874798,31.7562632,5.208337,0.6497418,0.6421752,9.6464906,6.6002264,36.687689,20.3386513,30.4121843,72.0531804,39.3104657,47.1686975,22.2842685,3.6402177,8.7396924,9.1422197,33.7244663,6.462585,0.6391,0.6432008,9.695756,6.3966294,36.288471,19.9962792,30.2259932,71.6572795,40.3578101,47.8530928,22.7306917,3.4839917,8.4553453,8.6940585,33.6410759,7.2327044 +2185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.9342164,1.9187542,33.7574413,29.1306503,53.4098056,12.8037895,38.008547,64.0203008,35.3701127,42.95736,20.6013358,2.8052991,16.7411533,12.5708318,39.6927236,20.184455,1.9780673,1.9560472,35.0561485,30.3201922,54.2904625,12.7019339,38.7564551,63.6480688,34.8320217,42.9478316,20.3475225,2.51197,17.1903268,12.4979873,39.1462542,19.4223224,1.8218296,1.8087287,35.0201489,30.4421911,54.512795,12.8433669,39.3254717,63.8216164,34.5035761,43.3334519,20.5084436,2.4294027,17.3873348,11.9552853,39.5916391,19.1848784,1.7958179,1.8195425,35.2783342,30.7217247,55.0589988,12.7978427,39.7881319,63.6797674,34.6406842,43.4384204,20.8717883,2.4758704,18.0477674,11.1649819,38.6584532,19.1908546,1.8213405,1.8539677,35.5329097,31.0185344,56.2780482,12.257315,39.2425432,63.8362227,34.2353646,42.7957719,20.5750794,2.489019,18.8570005,12.1739635,39.8859589,18.553442 +2186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7714766,0.7624388,11.1599627,6.9247927,49.3325944,10.9222328,32.6983334,66.780665,41.9367726,44.1038752,23.8845066,4.77488,11.030319,9.4250572,39.169446,8.1249977,0.7996202,0.8015818,11.1653681,7.1164415,48.6023269,10.9804523,32.5674126,66.9081852,41.841291,44.9566605,24.1052789,4.7553045,11.1306697,9.6472085,39.3837751,8.6137117,0.7856073,0.7956954,11.3069106,7.3204647,48.2708364,11.2876786,31.9262385,67.5081399,42.1995306,45.4697962,24.0279595,4.8282676,10.8826606,9.4899497,39.5614679,9.225618,0.7609313,0.765004,11.0479566,7.2270102,47.1935686,11.7404248,31.5224839,67.6962573,42.8297959,45.8622837,24.5628983,4.9290764,10.7570779,9.4831856,39.1256951,9.6129846,0.7929145,0.8017278,11.237754,7.4091016,46.4617397,12.0404581,30.9568203,67.7606982,43.1601349,45.938745,24.798768,4.8702323,10.507563,9.3248623,39.039329,10.4428561 +2187,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.5952105,0.6111714,8.9426394,6.2429706,38.2899053,20.0037945,30.2768257,71.1841579,38.5813048,46.9242459,22.8950144,3.633224,9.0182842,9.4965639,31.2739941,3.7671233,0.6343045,0.6618637,9.2184061,6.376216,37.5000186,20.1247104,31.018001,71.8905662,39.1312573,47.0531742,22.2923723,3.8844258,8.6090288,9.0874798,31.7562632,5.208337,0.6497418,0.6421752,9.6464906,6.6002264,36.687689,20.3386513,30.4121843,72.0531804,39.3104657,47.1686975,22.2842685,3.6402177,8.7396924,9.1422197,33.7244663,6.462585,0.6391,0.6432008,9.695756,6.3966294,36.288471,19.9962792,30.2259932,71.6572795,40.3578101,47.8530928,22.7306917,3.4839917,8.4553453,8.6940585,33.6410759,7.2327044,0.6651563,0.6594505,10.0109453,6.5463183,36.8773987,19.7519356,30.0225381,71.5922155,40.5369852,47.4089286,22.4746505,3.3233187,7.6839044,8.3576648,33.860304,6.8047337 +2188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8479295,0.8195071,11.1164636,7.6011983,25.9964907,21.437318,31.8162998,68.2767369,36.3911398,48.123707,22.9662417,3.4034857,13.2496926,11.8039569,36.6897423,4.867248,0.6892981,0.6823166,10.3512066,7.0586667,25.8390804,21.1505887,31.1027335,68.2124085,36.6448493,48.1506442,23.28061,3.7527403,12.5486677,10.8935877,35.6402776,4.399993,0.8974492,0.8906382,11.1008161,7.3740933,25.9329242,21.5043349,31.8174131,68.65837,37.4422284,48.3906782,23.7921051,4.1783413,12.076389,10.486906,35.7336124,7.8357521,0.8425621,0.8360318,11.6747397,7.6878857,25.5761313,21.5508068,31.6862673,68.6279255,37.8304839,48.6395808,24.1402903,3.8249518,12.5861547,10.8756693,37.1201658,7.2915972,0.8232445,0.816926,12.3485875,8.0595978,25.1534543,21.2065413,32.045339,68.1764,37.6633902,48.8273263,25.0290253,3.5918455,12.5551313,11.0079872,37.4413997,7.8766277 +2189,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7065716,0.7296756,11.3592893,7.7729089,38.308691,20.2106099,33.0380396,64.6625993,36.5385032,45.5617624,21.817963,6.1593258,10.0303025,8.0428191,33.0709648,8.0612228,0.7233643,0.7559574,11.4048411,7.903294,38.8399547,20.2393862,33.0057637,63.7675032,36.203812,45.4967644,21.6763957,6.0447237,9.5858405,7.914506,32.9631226,8.5215588,0.7912906,0.8235259,11.8766352,8.252542,39.4890475,20.024632,32.6516478,63.6126783,35.7364096,45.5849651,21.5720279,6.4312802,10.1129001,8.1095031,33.3086753,10.0586113,0.7135095,0.7254639,12.2085755,8.4531655,39.1646944,19.8809066,32.7191778,63.2006228,35.3875473,45.9762788,21.0292264,6.4308913,10.0220668,7.6181825,33.0076457,9.0822388,0.6610772,0.6693907,12.3413076,8.51931,39.7836448,19.5613336,32.6239639,62.9847338,35.1236314,45.6357224,20.8417811,6.4248071,10.0321467,7.737191,33.1087405,8.9350393 +2190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1206258,1.1806064,22.752503,18.4760445,34.3069318,16.4541641,34.9985845,65.9945627,37.7451723,45.8907629,21.293744,3.2244647,13.1588907,9.8672876,33.5206244,22.2719951,1.2214447,1.2782858,22.87962,18.6646583,34.6240759,16.6529676,34.4873473,65.898253,37.5585764,46.0075637,20.8079323,3.3624739,13.6822663,9.9856111,34.1905985,21.3511328,1.2268401,1.2796573,22.7691844,18.7322262,35.0678252,16.6307867,33.9162117,65.8196244,37.9253531,46.3789829,21.1422119,3.3324041,14.1582102,10.4561398,34.9177021,21.6106357,1.2590511,1.3390538,23.0264903,19.0532287,35.5478087,16.1744502,33.0449371,65.0661624,37.3467216,46.0741425,20.6228777,3.3250755,14.5596353,10.249468,34.9602996,23.3934742,1.2356756,1.3106419,24.4719048,20.5463735,36.494061,16.7264264,33.5085185,64.6188207,36.9221594,45.9477658,20.4794037,3.372689,14.4856683,10.3664322,34.2642645,21.2538551 +2191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5199035,0.5664998,8.9059662,5.623921,32.9422308,23.901267,30.9106289,67.8522085,35.3779572,45.6528862,18.8831258,7.8178546,12.3160913,9.4030567,31.996163,2.9069767,0.528059,0.5693649,9.326999,6.0927682,32.7312808,23.3955991,31.0576011,66.2901121,33.6770949,45.1702125,18.3529436,7.3837445,13.061849,9.436624,31.7901835,3.4050179,0.4788751,0.5186078,9.5530194,6.3739256,33.0763916,23.0634994,31.0230595,65.7246569,33.4859065,44.0952976,18.1085887,7.5939243,13.0958727,10.0154789,31.8740771,4.0780142,0.5073943,0.5542976,9.6981852,6.3030345,33.0088812,23.0928945,30.865167,64.9984196,32.7596529,43.2743123,17.3823424,7.3413163,13.0187919,9.8658304,31.7127796,3.8745387,0.5486138,0.5891165,9.580726,6.2888072,34.2805707,22.1610431,31.011464,64.2414001,31.9732523,42.8326781,16.8010831,7.1517076,12.9897552,10.5028419,32.6574064,3.9622642 +2192,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2666601,2.2666601,34.3888071,29.9705449,67.0933735,5.9210526,38.239645,65.7544379,27.1449704,46.0798817,16.4940828,4.9556213,12.9427793,9.6730245,33.6538462,12.5730994,2.1973865,2.2890876,34.2415317,29.6759941,66.9440242,6.7883212,38.535503,66.9378698,26.9970414,45.6360947,16.6420118,4.8076923,13.6103152,9.8853868,33.8616715,10.6321839,2.229664,2.183109,34.947839,30.4769001,66.3312693,7.2280179,38.0484115,68.1543116,27.4583964,45.1588502,17.473525,5.8245083,14.8093842,8.6764706,33.480826,13.5542169,2.4950684,2.3103962,35.6720827,31.3884786,66.2826421,6.9852941,38.3982036,67.8892216,28.8173653,45.2844311,16.8413174,6.0628743,13.5174419,8.0174927,33.1871345,13.0813953,2.6231506,2.4324019,34.222561,30.8689024,66.6401274,7.2078907,38.9318885,66.3312693,27.0123839,44.0402477,16.9504644,6.1145511,12.9969419,9.0490798,33.0769231,13.9751553 +2193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4471881,0.4311386,7.4048753,4.7221479,44.8470676,19.776221,29.8395837,67.1968481,35.5492132,42.6998302,20.3235444,8.224576,9.0652327,6.5172574,35.3627023,3.7396132,0.4500202,0.4590148,7.2791022,4.6423579,45.022563,19.622172,29.4158501,67.2183628,35.6745535,42.6008288,20.1251733,7.9972159,8.94161,6.7207096,35.954769,3.0701763,0.4203898,0.4297138,7.5507241,4.6231899,45.3893469,19.6658056,28.9739849,67.066479,35.2745739,42.5577992,19.869941,7.7601127,9.2174413,6.8337714,35.2272808,2.5757584,0.4469094,0.4557379,7.8099149,4.8622581,45.2759263,20.029913,29.1050831,66.4340448,34.8248583,41.7214019,19.1981414,7.6491493,10.0911167,6.8577974,35.0616729,3.2012205,0.4517166,0.4600798,8.4841285,5.2320974,45.8909584,19.9715206,28.9917028,65.1503372,34.175746,40.9668221,18.7791633,7.4002054,10.4523242,7.327586,35.562368,3.1626525 +2194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.528059,0.5693649,9.326999,6.0927682,32.7312808,23.3955991,31.0576011,66.2901121,33.6770949,45.1702125,18.3529436,7.3837445,13.061849,9.436624,31.7901835,3.4050179,0.4788751,0.5186078,9.5530194,6.3739256,33.0763916,23.0634994,31.0230595,65.7246569,33.4859065,44.0952976,18.1085887,7.5939243,13.0958727,10.0154789,31.8740771,4.0780142,0.5073943,0.5542976,9.6981852,6.3030345,33.0088812,23.0928945,30.865167,64.9984196,32.7596529,43.2743123,17.3823424,7.3413163,13.0187919,9.8658304,31.7127796,3.8745387,0.5486138,0.5891165,9.580726,6.2888072,34.2805707,22.1610431,31.011464,64.2414001,31.9732523,42.8326781,16.8010831,7.1517076,12.9897552,10.5028419,32.6574064,3.9622642,0.6095583,0.6538361,9.5561349,6.4462395,33.8052433,22.0529312,31.2537796,64.2835567,31.3751667,43.275578,16.6211193,7.331494,12.2266329,9.9911976,33.1362977,4.1970803 +2195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9069793,1.911903,22.5100506,17.7710877,41.090994,14.4865382,31.5020619,67.098752,35.4938217,45.1234618,22.9835254,4.3827148,11.431865,9.830363,42.0622539,18.7258904,1.9637731,1.9888808,23.4446822,18.5390727,41.1444767,14.2223144,32.108949,66.131647,34.9574859,44.9692805,23.5214102,4.1680878,11.5793397,9.2606618,42.151614,20.3488451,1.8938774,1.8824978,25.7024672,20.5879105,41.054651,14.4821311,33.9167485,65.9698656,33.8033701,44.7625433,23.8267366,4.1380317,12.8437455,10.0753296,41.508833,20.3020134,1.9535832,2.0253659,26.8083779,21.8012723,42.9189942,14.4376388,34.3507364,65.5088204,33.9645789,44.5378306,23.4329203,3.9844753,13.3725719,9.5179227,41.9895227,22.2397476,2.084068,2.1633145,27.744153,22.7936556,43.780603,14.1960267,34.6092831,64.9770446,33.658764,44.2968327,22.9653543,4.0567054,13.2811346,8.9073731,42.7662403,23.5015847 +2196,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4650152,0.522961,7.2994403,4.454291,41.6627191,22.1006055,29.7708138,68.5921422,34.6819457,44.9719364,17.9840973,5.9167446,9.6083789,9.543379,32.4287029,1.7482517,0.5027933,0.5171179,7.4389682,4.6752649,40.5678085,22.2555351,30.0139276,69.0575673,34.6564531,45.1485608,17.8505107,5.8263695,10.1611459,9.8294434,32.5969342,0.974026,0.5122717,0.5265411,7.0607176,4.5308188,41.2108462,21.353211,30.5041628,69.079556,34.1581869,44.7502313,17.1369103,5.7123034,10.2484472,9.8222222,32.2162645,1.048951,0.5485498,0.5625613,7.4819168,4.7694394,41.6056725,21.1340206,30.0587173,68.2249322,33.5365854,45.234869,16.5085818,5.8943089,10.2508651,9.5753899,31.6041848,0.3448276,0.6441387,0.6576285,7.9956427,5.1198257,42.1716055,21.3884083,29.8908297,69.0174672,33.9519651,45.5240175,16.3537118,6.3537118,10.7531381,9.2779177,32.1940928,1.5625 +2197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6892981,0.6823166,10.3512066,7.0586667,25.8390804,21.1505887,31.1027335,68.2124085,36.6448493,48.1506442,23.28061,3.7527403,12.5486677,10.8935877,35.6402776,4.399993,0.8974492,0.8906382,11.1008161,7.3740933,25.9329242,21.5043349,31.8174131,68.65837,37.4422284,48.3906782,23.7921051,4.1783413,12.076389,10.486906,35.7336124,7.8357521,0.8425621,0.8360318,11.6747397,7.6878857,25.5761313,21.5508068,31.6862673,68.6279255,37.8304839,48.6395808,24.1402903,3.8249518,12.5861547,10.8756693,37.1201658,7.2915972,0.8232445,0.816926,12.3485875,8.0595978,25.1534543,21.2065413,32.045339,68.1764,37.6633902,48.8273263,25.0290253,3.5918455,12.5551313,11.0079872,37.4413997,7.8766277,0.8951291,0.8951291,12.6721975,8.2636298,25.6387965,20.6739892,31.5403417,67.9432078,37.5570045,47.2731508,24.7454913,3.4869167,12.2935176,11.3213944,37.1445584,8.8234352 +2198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7493315,0.7667606,12.0030339,8.6507703,33.1269712,10.5360119,30.1692866,64.3623047,32.7906285,44.7990468,18.6116597,3.5306457,11.1713899,8.9920846,30.1032276,7.3934763,0.7479821,0.7718692,11.826712,8.4791397,34.0656908,10.9404048,30.271279,64.6682516,33.3075635,45.3823458,18.5760514,3.6196207,11.3844637,9.0132698,30.2942581,6.850955,0.7956602,0.8131466,12.078079,8.6609357,35.0956505,10.8904517,29.8586432,64.6431058,33.2226242,45.5053066,18.7349962,3.5971727,11.1982416,8.9711187,30.01892,7.6642261,0.7095612,0.7268929,11.9980854,8.5464902,35.6259047,10.9914083,30.1202201,64.9307936,33.3776159,45.5403373,18.3489556,3.3342657,11.0002237,8.8726076,29.3965383,8.6805455,0.727103,0.7628817,11.9260447,8.5758121,35.9015168,11.1872327,30.5064729,65.6775436,34.1593916,45.9328645,19.0181845,3.2387255,11.0161297,8.9954128,29.8743686,8.0219727 +2199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.741641,0.7914853,7.6596561,4.8706491,50.3868202,23.5235318,30.9822192,67.481822,33.2457531,43.8763125,18.4923218,6.2853671,10.2098516,8.918487,32.3983735,7.0945994,0.6466572,0.6954615,7.969299,4.9389947,49.9401536,23.4709693,30.1302353,66.831109,33.0505129,43.3898982,18.3701666,6.136542,10.3032707,9.1368627,31.4655164,6.5517287,0.58708,0.6720521,7.8803235,4.868981,48.9840694,22.6088609,29.8152543,66.3718631,32.8812891,43.5731129,18.2586464,5.8765744,10.6867317,9.4594624,32.3872496,6.1290362,0.5398506,0.6231542,7.9209764,5.0057474,49.3544599,22.3518139,30.3094771,66.2862707,32.3597638,44.0812327,18.0464181,5.7059975,10.4135362,9.3750021,31.1555886,5.0000029,0.4588761,0.5412097,8.1364278,4.9733171,49.2482631,22.7358475,29.5723561,65.4639236,31.8633037,43.5853343,17.6975916,5.7464697,10.088694,9.3634366,31.3659981,3.1073464 +2200,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5991742,0.6059932,10.752749,7.4382287,44.8262414,19.3842132,32.4001198,67.4683754,36.9216366,44.1770627,22.2530018,4.3507241,10.8631285,10.186572,36.715968,7.3378764,0.7099394,0.7263167,11.1952979,7.6734182,43.9353771,19.2306599,32.3830664,67.8270565,37.1650082,43.6808977,22.5040301,4.3746729,10.2681576,9.6877013,36.4191634,8.3038869,0.7733529,0.7762797,11.8453238,8.3961942,44.3789379,19.1010954,32.5044145,67.8303839,37.5546585,43.4035547,22.1978694,4.5220323,10.3504153,9.2654454,35.4890884,9.1695438,0.6989246,0.7094442,12.1886975,8.6886261,44.3258429,18.8057099,32.1769174,67.999457,37.3233011,42.9488327,22.363671,4.629178,10.0182222,9.0013472,34.9097458,8.3904883,0.7248541,0.7326734,12.9213729,9.2475425,45.120057,18.2477092,32.0945602,67.8274481,36.9884703,43.0733399,22.0738995,4.5442942,10.4855712,9.2288757,35.1901169,8.7744034 +2201,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8974492,0.8906382,11.1008161,7.3740933,25.9329242,21.5043349,31.8174131,68.65837,37.4422284,48.3906782,23.7921051,4.1783413,12.076389,10.486906,35.7336124,7.8357521,0.8425621,0.8360318,11.6747397,7.6878857,25.5761313,21.5508068,31.6862673,68.6279255,37.8304839,48.6395808,24.1402903,3.8249518,12.5861547,10.8756693,37.1201658,7.2915972,0.8232445,0.816926,12.3485875,8.0595978,25.1534543,21.2065413,32.045339,68.1764,37.6633902,48.8273263,25.0290253,3.5918455,12.5551313,11.0079872,37.4413997,7.8766277,0.8951291,0.8951291,12.6721975,8.2636298,25.6387965,20.6739892,31.5403417,67.9432078,37.5570045,47.2731508,24.7454913,3.4869167,12.2935176,11.3213944,37.1445584,8.8234352,0.920995,0.9304797,12.6110358,8.0867484,25.5405647,20.9818274,32.4736295,67.434266,37.4665937,47.0727357,24.6244375,3.2594962,11.9269201,11.5059587,38.0076575,9.5277584 +2202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4500202,0.4590148,7.2791022,4.6423579,45.022563,19.622172,29.4158501,67.2183628,35.6745535,42.6008288,20.1251733,7.9972159,8.94161,6.7207096,35.954769,3.0701763,0.4203898,0.4297138,7.5507241,4.6231899,45.3893469,19.6658056,28.9739849,67.066479,35.2745739,42.5577992,19.869941,7.7601127,9.2174413,6.8337714,35.2272808,2.5757584,0.4469094,0.4557379,7.8099149,4.8622581,45.2759263,20.029913,29.1050831,66.4340448,34.8248583,41.7214019,19.1981414,7.6491493,10.0911167,6.8577974,35.0616729,3.2012205,0.4517166,0.4600798,8.4841285,5.2320974,45.8909584,19.9715206,28.9917028,65.1503372,34.175746,40.9668221,18.7791633,7.4002054,10.4523242,7.327586,35.562368,3.1626525,0.4637957,0.4685295,8.7841318,5.5015727,46.3684883,20.0650185,29.2174119,65.1334561,33.3894869,39.8678419,18.7743,7.3982906,10.4793961,7.5618481,36.0756883,2.9141122 +2203,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5027933,0.5171179,7.4389682,4.6752649,40.5678085,22.2555351,30.0139276,69.0575673,34.6564531,45.1485608,17.8505107,5.8263695,10.1611459,9.8294434,32.5969342,0.974026,0.5122717,0.5265411,7.0607176,4.5308188,41.2108462,21.353211,30.5041628,69.079556,34.1581869,44.7502313,17.1369103,5.7123034,10.2484472,9.8222222,32.2162645,1.048951,0.5485498,0.5625613,7.4819168,4.7694394,41.6056725,21.1340206,30.0587173,68.2249322,33.5365854,45.234869,16.5085818,5.8943089,10.2508651,9.5753899,31.6041848,0.3448276,0.6441387,0.6576285,7.9956427,5.1198257,42.1716055,21.3884083,29.8908297,69.0174672,33.9519651,45.5240175,16.3537118,6.3537118,10.7531381,9.2779177,32.1940928,1.5625,0.5708143,0.5846858,7.9616414,5.0624442,41.8302145,21.09375,29.590459,68.2943294,33.8658866,45.3870387,15.7740774,5.9630963,10.8355091,9.6338274,33.5237258,1.5243902 +2204,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1359111,1.1583258,16.8820035,12.8839539,30.6071685,18.0334139,38.2345759,61.7160686,34.8765686,46.5555631,21.0987817,3.0740813,11.9757619,9.5991162,32.7349475,15.9313335,0.961633,0.9803468,16.6748062,12.9611505,31.6400998,18.3025537,38.0049657,62.0198422,35.0062167,46.4312373,21.1772205,3.0855049,12.2503866,9.8656789,33.3492419,13.9810294,0.9729765,0.9756262,17.2942845,13.4806293,32.7274627,18.3122007,38.0770967,61.7510198,35.3266928,46.1320978,21.2549066,3.2785618,12.6919069,9.7331826,33.6226464,12.2767912,1.0065557,1.013712,17.8546328,13.8842948,33.4736702,18.7021643,38.393061,62.9724833,36.0766296,46.830004,21.7142055,3.4260651,12.9679344,9.7415612,34.0601403,14.4308654,0.9603849,0.9785047,18.3743197,14.2807589,34.7863695,18.4930438,38.7000126,63.6701347,35.9229706,46.5285772,21.7979307,3.4594932,13.8235054,10.0174028,34.4725612,13.1294746 +2205,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9918297,1.0084076,14.036166,10.4187356,64.5044205,8.3904706,27.6572308,61.389852,29.203275,37.3962562,15.1562317,5.8093147,11.074734,8.4730107,37.2596835,8.4319377,1.0012432,1.0142614,14.2770849,10.6011883,65.1921304,8.2442805,27.7303103,61.0710904,28.9935719,37.2739574,14.8359396,5.8188466,11.4792042,8.663549,37.7921904,8.6606993,0.9421797,0.9563828,14.7603001,11.0590307,65.954608,8.3333618,27.7455619,60.5730803,28.5846521,37.0328799,14.6056627,5.6335412,11.8924738,8.9187628,37.6097815,8.7662188,0.9407645,0.9653159,15.2289428,11.5320956,67.1065598,8.1227512,27.9868065,59.73709,28.0290309,36.6242035,14.4833691,5.50855,12.3284143,9.1621768,37.811922,9.1202191,0.9028335,0.9254876,15.5930067,11.8883824,67.8373209,8.2593636,27.95333,59.4232159,27.9065942,36.6749769,14.6278666,5.5384328,12.3707641,9.2806417,37.8831561,8.8069637 +2206,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8692805,1.861944,32.5890317,28.421711,65.9138941,13.8727689,36.1765437,63.5293921,28.8437991,40.5801127,16.8376636,2.480826,17.4522655,14.0450985,40.9581802,18.9750167,2.1059951,2.0984959,32.6946744,28.4381089,66.0437422,13.6883846,36.619675,63.7576941,28.7126234,40.2384892,17.1011181,2.4342256,17.7400953,14.4701718,40.4966115,19.5223835,2.0593697,2.1280053,32.1689225,27.8436996,66.922398,13.3272624,35.8555828,62.6582098,28.0396244,39.8382905,16.8379714,2.3235012,18.4013195,14.9953534,41.0389875,20.2996837,2.1096699,2.2132695,31.9655604,27.6474555,66.1054133,13.3027677,36.2554462,62.4045619,28.1511211,39.9680578,16.8096907,2.5496454,18.0538692,15.1254037,40.4310038,19.5889922,1.9858451,2.1297275,31.8648722,27.4324547,66.6188356,13.0676826,35.8561812,61.8365116,27.643656,39.7755209,16.0276769,2.3285641,17.5841489,14.2955062,41.110322,20.4053563 +2207,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7084711,1.6966314,27.2288874,22.4984777,56.2770504,17.3399852,38.1771578,63.0167813,33.9966252,44.7505113,21.1474767,2.9665405,12.540288,11.8666404,34.3070973,17.8721866,1.5825761,1.5574828,27.3906133,22.4867138,56.5960806,17.7909806,38.9541666,63.566146,34.1675825,44.8495282,21.3022807,3.1412225,12.909208,11.683983,33.8536074,18.1705212,1.7297044,1.7045023,27.0609179,22.3930724,56.4251321,17.9014408,39.6093232,63.410495,34.0896545,45.2990372,21.4534707,3.2988817,13.5679662,11.8986958,34.1803022,17.4266931,1.6374534,1.6124996,27.6674383,22.8521031,56.6527533,18.2949515,39.9463266,63.4635374,33.7681662,45.0994761,21.5383917,3.1317011,12.8286991,10.7270619,34.2550524,17.637529,1.4620222,1.437176,27.5458594,22.8272578,57.2025788,17.8408743,39.9889731,63.7458305,33.9218955,45.1626919,21.7439976,3.03356,13.0233604,10.9737712,34.1453608,16.2974735 +2208,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7824565,0.7952573,11.7566986,8.0780057,44.424551,10.4780303,27.8783348,69.2257446,39.8642554,43.0115616,21.6943248,4.4595254,9.7429317,7.4150462,36.3627314,8.7863464,0.8261264,0.8304792,12.2329184,8.451196,44.633025,10.2463852,28.6566446,69.0576461,39.8045123,42.7418516,21.4887258,4.5162887,9.7596678,7.6629477,36.5615704,9.5084088,0.814492,0.8301306,12.7633119,9.0470967,44.5236627,10.2482316,28.5096904,68.7580741,39.6671666,42.5186251,21.0680622,4.535517,9.8221079,7.3070293,36.3066519,10.6622517,0.8340283,0.8699327,13.0334749,9.3333973,44.0612809,10.2786101,28.6699962,68.3255077,39.8169922,42.2147159,20.6253717,4.6829107,10.078311,7.4775955,36.9078961,11.3316261,0.920225,0.9453907,13.8092491,9.9961397,44.0377367,10.0973931,28.5969675,68.3785915,39.7381434,41.8639468,20.702487,4.7395874,9.8886008,7.9000363,36.9813798,11.6379296 +2209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6172929,0.6125678,12.8053445,9.7709678,30.6234138,17.1722428,34.3008506,68.0975951,37.1053709,47.6575793,21.6135013,4.4087929,12.6565641,10.5874121,28.9098573,5.6489438,0.65937,0.6746355,12.9950157,10.2373711,31.5428811,17.1594682,34.1999952,66.937525,37.3886709,47.4084458,21.6797408,4.5117411,12.5782311,10.8061195,29.0710835,5.5105958,0.7082276,0.7232345,13.3020085,10.413398,32.749942,17.552153,34.1460991,67.0833048,37.7168859,48.1461339,21.4346238,4.9219741,12.2752416,10.5455342,28.3528763,4.3213062,0.8450832,0.8596572,13.19446,10.1527349,34.273874,17.7932619,34.6472357,67.4425124,37.8222403,48.0208834,21.714446,4.9228647,12.6640804,10.6516768,27.5821589,4.7543124,0.8164,0.8310257,13.3188812,10.18037,35.5137142,18.5526923,34.5747002,67.1750391,37.7458132,48.2384925,21.4645406,4.8498856,12.0708113,10.5133632,26.9340773,4.0086587 +2210,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0012432,1.0142614,14.2770849,10.6011883,65.1921304,8.2442805,27.7303103,61.0710904,28.9935719,37.2739574,14.8359396,5.8188466,11.4792042,8.663549,37.7921904,8.6606993,0.9421797,0.9563828,14.7603001,11.0590307,65.954608,8.3333618,27.7455619,60.5730803,28.5846521,37.0328799,14.6056627,5.6335412,11.8924738,8.9187628,37.6097815,8.7662188,0.9407645,0.9653159,15.2289428,11.5320956,67.1065598,8.1227512,27.9868065,59.73709,28.0290309,36.6242035,14.4833691,5.50855,12.3284143,9.1621768,37.811922,9.1202191,0.9028335,0.9254876,15.5930067,11.8883824,67.8373209,8.2593636,27.95333,59.4232159,27.9065942,36.6749769,14.6278666,5.5384328,12.3707641,9.2806417,37.8831561,8.8069637,0.8836037,0.9281469,15.6988521,12.0148605,68.6704794,8.1513343,27.7465397,60.06182,27.648026,36.7182584,14.4438983,5.4897474,12.4914176,9.352276,37.9002308,8.3465695 +2211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2778191,1.3844887,22.2092874,16.9452772,82.4050571,16.019519,34.4993109,66.0008773,36.8883934,40.2287516,18.6171106,4.8784208,12.2403736,12.2256896,36.1618601,13.4922705,1.434663,1.5420813,21.8586922,16.305801,82.7321175,16.3179111,35.7099156,64.6669721,37.4154048,41.0922912,18.9767635,4.9695636,13.8094071,13.3068688,37.5509425,13.7501994,1.6703993,1.7757715,21.244547,16.2968589,83.0697305,15.8132669,35.7815826,64.0309074,37.0300117,40.7183145,19.5302912,4.7183953,13.9639192,13.7200018,37.4398387,10.7894737,1.5871576,1.6936937,20.3592202,16.2185068,83.2385745,15.3388408,36.0296997,64.0963557,37.1605414,41.5039477,20.0430548,5.1287081,13.9472138,13.3540784,37.1949496,9.7373392,1.6381379,1.6871616,19.9191657,15.9162711,83.570508,15.3533695,34.511583,63.8359792,36.6093395,41.6358808,19.8786965,5.1847821,13.9382771,12.578562,38.678469,12.1475584 +2212,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.93178,0.921178,15.1817549,11.1465715,47.1871573,12.9687664,30.4756129,65.1887871,33.8758259,40.3212129,18.1311297,3.9857188,12.120308,8.4338725,34.1746481,11.0508035,0.8773271,0.8668322,15.1981053,11.1353681,48.1753814,13.2546355,30.5073906,64.4144704,33.4002852,39.9716877,17.6329813,4.1637965,12.1994653,8.5127911,33.8627792,11.1784852,0.9202237,0.9136331,15.6190123,11.6499457,48.8472124,13.0967204,30.1680268,64.1591972,33.6657723,40.7994125,17.8766816,4.288531,11.6691275,8.5068798,33.4114436,11.6013782,0.8649763,0.864064,15.9144737,11.9996834,49.5665804,13.1020419,30.8774508,63.9924037,33.2743495,40.8289988,18.5028792,4.3553639,11.8485818,8.971756,33.8829474,12.5,0.9625009,0.9705324,15.9042494,11.8951782,50.3714872,12.9512771,30.7057555,64.6000571,34.1975855,41.4930663,19.0015447,4.4517905,11.7222873,9.088249,33.8295733,13.0952381 +2213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8588817,0.8528079,10.2960174,6.5680086,21.920927,16.8298063,34.6590928,68.8817497,40.1268181,49.5635708,23.7895183,4.0760859,11.0991645,9.6679931,32.9770861,5.8718882,0.9201266,0.9148539,10.3730258,6.7698453,22.0104206,16.8583743,34.8626036,69.1118726,40.5544783,49.8609896,23.8223706,4.1625788,10.7056985,9.5159253,32.9748764,5.8098592,0.8866873,0.8962814,10.6176252,7.0861927,21.7746068,16.8359935,35.0023656,68.9071971,40.7386884,50.032079,24.3470714,4.1259446,10.996815,9.6142652,32.7531234,4.9319761,0.8158736,0.8227188,10.7871615,7.3333403,21.920738,16.6885016,34.8131194,69.0723896,40.8317053,50.2893866,24.2973016,4.1584008,10.9018075,9.6912976,32.9892788,5.1418476,0.8195207,0.8234739,10.8572007,7.3581182,21.6085484,16.4626766,34.9656622,68.756398,40.9863126,50.0257676,24.0566187,4.2624376,11.4324982,9.8990113,32.2486545,5.7835886 +2214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2214447,1.2782858,22.87962,18.6646583,34.6240759,16.6529676,34.4873473,65.898253,37.5585764,46.0075637,20.8079323,3.3624739,13.6822663,9.9856111,34.1905985,21.3511328,1.2268401,1.2796573,22.7691844,18.7322262,35.0678252,16.6307867,33.9162117,65.8196244,37.9253531,46.3789829,21.1422119,3.3324041,14.1582102,10.4561398,34.9177021,21.6106357,1.2590511,1.3390538,23.0264903,19.0532287,35.5478087,16.1744502,33.0449371,65.0661624,37.3467216,46.0741425,20.6228777,3.3250755,14.5596353,10.249468,34.9602996,23.3934742,1.2356756,1.3106419,24.4719048,20.5463735,36.494061,16.7264264,33.5085185,64.6188207,36.9221594,45.9477658,20.4794037,3.372689,14.4856683,10.3664322,34.2642645,21.2538551,1.1555448,1.2381241,25.1557976,21.0170271,37.9008224,16.2189512,34.1924168,64.6833497,36.2715005,45.9444697,20.363809,3.3838488,13.646968,10.0816064,35.1189143,21.0755952 +2215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4788751,0.5186078,9.5530194,6.3739256,33.0763916,23.0634994,31.0230595,65.7246569,33.4859065,44.0952976,18.1085887,7.5939243,13.0958727,10.0154789,31.8740771,4.0780142,0.5073943,0.5542976,9.6981852,6.3030345,33.0088812,23.0928945,30.865167,64.9984196,32.7596529,43.2743123,17.3823424,7.3413163,13.0187919,9.8658304,31.7127796,3.8745387,0.5486138,0.5891165,9.580726,6.2888072,34.2805707,22.1610431,31.011464,64.2414001,31.9732523,42.8326781,16.8010831,7.1517076,12.9897552,10.5028419,32.6574064,3.9622642,0.6095583,0.6538361,9.5561349,6.4462395,33.8052433,22.0529312,31.2537796,64.2835567,31.3751667,43.275578,16.6211193,7.331494,12.2266329,9.9911976,33.1362977,4.1970803,0.5176187,0.5466706,9.9710305,6.7583037,33.5827473,22.0923238,31.0790971,63.772559,31.3408329,42.7427972,16.1867255,7.1407764,12.0139517,9.7233883,33.777754,3.9249147 +2216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4203898,0.4297138,7.5507241,4.6231899,45.3893469,19.6658056,28.9739849,67.066479,35.2745739,42.5577992,19.869941,7.7601127,9.2174413,6.8337714,35.2272808,2.5757584,0.4469094,0.4557379,7.8099149,4.8622581,45.2759263,20.029913,29.1050831,66.4340448,34.8248583,41.7214019,19.1981414,7.6491493,10.0911167,6.8577974,35.0616729,3.2012205,0.4517166,0.4600798,8.4841285,5.2320974,45.8909584,19.9715206,28.9917028,65.1503372,34.175746,40.9668221,18.7791633,7.4002054,10.4523242,7.327586,35.562368,3.1626525,0.4637957,0.4685295,8.7841318,5.5015727,46.3684883,20.0650185,29.2174119,65.1334561,33.3894869,39.8678419,18.7743,7.3982906,10.4793961,7.5618481,36.0756883,2.9141122,0.4245225,0.4324798,8.7893138,5.590798,46.9959363,20.2709815,28.8381214,64.9216771,32.754575,39.986952,17.4804238,6.9843377,10.4727116,7.5416792,36.1648507,3.376208 +2217,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.9585652,0.9828433,16.3640608,12.3552808,50.1169722,12.6726776,29.1835769,63.1989879,29.1430621,41.9671674,14.5968786,4.7913315,13.3136581,10.5310892,31.9459462,9.8288388,0.8471505,0.8899901,16.3937916,12.6082937,51.4804695,12.9633021,28.8600683,63.379655,29.4029651,42.3502016,14.7266154,4.6743145,13.2361137,10.8941392,31.5867159,9.1527599,0.8540186,0.8958175,16.502319,12.8372879,52.7666745,12.8995709,28.9214009,64.2440771,28.9214271,42.9536389,14.7883376,4.6270461,13.1854345,10.9738517,31.52756,8.1114333,0.8153142,0.8571052,16.9424641,13.3548576,54.3359909,12.9336216,28.5642684,64.9023109,29.1894229,42.6799818,14.6703331,4.6279589,13.2212426,11.0662104,31.2536469,7.089298,0.7937958,0.8243267,16.5654903,13.1448668,55.4929981,12.7538398,27.7523002,65.7859023,29.6669976,42.4312078,14.3897394,4.6370248,13.063605,11.1448516,30.3559252,8.5953982 +2218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0.849491,0.9985245,14.4843959,10.7201076,50.0813122,30.5686811,34.2697567,68.7798861,32.3436454,42.7766212,18.860144,6.0193486,13.6655589,9.7755242,35.1304848,7.3644267,0.9436977,1.095907,13.9165906,10.7499677,51.0832237,29.6925845,33.6347906,69.3254505,32.3192284,43.0095182,18.9964983,5.6744261,12.7060481,10.0326158,35.4024501,6.9672988,0.9008434,1.0566088,13.1669287,10.4131113,50.3394783,29.0562864,34.3169337,70.9104599,33.1367313,44.9406104,20.1515536,6.1552316,12.3308243,9.2589413,33.3902409,9.1305142,0.8596311,1.0173616,13.7304176,10.7943844,50.7785122,27.963265,35.5687589,70.7130645,35.3990625,45.7552976,19.4395349,6.5364953,11.1292916,10.0990417,33.6147016,9.5454979,1.2173335,1.380734,14.831202,11.1011544,49.9103037,29.2027806,37.2358462,71.3909326,38.1161388,47.6231221,21.21461,6.602106,7.7584096,7.4135761,32.9268803,10.1942242 +2219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7583378,0.7696795,9.5258646,6.3402879,44.3232518,13.1412632,30.003714,65.3698728,31.8221192,42.4233101,18.7592785,14.4173667,10.3749509,8.3119194,37.4087231,4.0772526,0.7972681,0.8480754,9.9852503,6.6056284,44.8732704,13.1931508,30.4114197,65.1037875,31.6839671,42.1979321,18.7237485,14.3254246,10.5078637,8.0722196,37.7263138,3.8951836,0.7778755,0.8322498,10.0428363,6.7013462,45.1751013,13.3890952,30.3408838,64.736651,31.903768,42.376333,18.5515691,14.4166868,10.685557,8.3287212,37.9199502,4.06562,0.7090994,0.7484076,9.8812988,6.5039158,45.5997462,13.4075098,30.1449787,64.0189234,31.1401917,41.5345944,18.39907,14.6762497,10.7995725,8.2648293,37.9570407,3.2142848,0.6272277,0.6609659,9.9349662,6.4162118,45.8368881,13.3305818,30.3190844,63.7999302,31.1459178,41.6501772,18.0913048,14.7956212,10.7799646,8.4839917,37.5721067,3.9202195 +2220,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9421797,0.9563828,14.7603001,11.0590307,65.954608,8.3333618,27.7455619,60.5730803,28.5846521,37.0328799,14.6056627,5.6335412,11.8924738,8.9187628,37.6097815,8.7662188,0.9407645,0.9653159,15.2289428,11.5320956,67.1065598,8.1227512,27.9868065,59.73709,28.0290309,36.6242035,14.4833691,5.50855,12.3284143,9.1621768,37.811922,9.1202191,0.9028335,0.9254876,15.5930067,11.8883824,67.8373209,8.2593636,27.95333,59.4232159,27.9065942,36.6749769,14.6278666,5.5384328,12.3707641,9.2806417,37.8831561,8.8069637,0.8836037,0.9281469,15.6988521,12.0148605,68.6704794,8.1513343,27.7465397,60.06182,27.648026,36.7182584,14.4438983,5.4897474,12.4914176,9.352276,37.9002308,8.3465695,0.8364918,0.8659114,15.9270073,12.3916875,69.7211603,8.0741908,27.2547953,60.4450926,27.6833401,36.5393371,14.282147,5.3734675,12.6981766,9.4628997,37.6256277,8.3246767 +2221,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.4600671,1.5092979,30.0406859,24.4366583,51.4439949,11.4667426,39.4600064,65.4850023,32.3482392,49.1734213,26.2847487,6.6814577,16.5250632,13.1640797,35.0737707,19.3327147,1.3781187,1.4147876,30.6575198,24.7290873,50.5975578,11.6391223,39.2769298,65.9174477,32.8260059,49.7861878,26.4842423,6.6134023,17.4328292,14.3239131,35.8751286,16.375031,1.2054661,1.2418883,31.3966728,25.2841559,50.9231881,11.5547889,39.2038061,65.390821,33.131864,48.8057718,25.975083,6.2342606,18.0082262,14.591011,36.3421969,15.5597011,0.9300769,0.9668587,30.8045369,24.904672,50.3534086,11.7157056,39.1836326,65.2772933,33.4108682,48.9443114,25.7590601,5.7558524,17.6286382,14.2898853,34.8733277,16.6659916,0.862507,0.8987676,30.2799959,24.2275113,49.8686261,12.5315551,38.8891641,65.142393,32.9157869,49.080255,25.5686816,5.8973539,16.7981882,13.4604194,35.1526341,16.056284 +2222,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1059951,2.0984959,32.6946744,28.4381089,66.0437422,13.6883846,36.619675,63.7576941,28.7126234,40.2384892,17.1011181,2.4342256,17.7400953,14.4701718,40.4966115,19.5223835,2.0593697,2.1280053,32.1689225,27.8436996,66.922398,13.3272624,35.8555828,62.6582098,28.0396244,39.8382905,16.8379714,2.3235012,18.4013195,14.9953534,41.0389875,20.2996837,2.1096699,2.2132695,31.9655604,27.6474555,66.1054133,13.3027677,36.2554462,62.4045619,28.1511211,39.9680578,16.8096907,2.5496454,18.0538692,15.1254037,40.4310038,19.5889922,1.9858451,2.1297275,31.8648722,27.4324547,66.6188356,13.0676826,35.8561812,61.8365116,27.643656,39.7755209,16.0276769,2.3285641,17.5841489,14.2955062,41.110322,20.4053563,2.0037091,2.1127292,30.7973826,26.5774383,66.4686407,12.9370136,35.7866024,61.9415781,28.3628778,39.9008033,16.5865884,2.1772516,17.8828163,14.6093732,42.6067662,21.0164055 +2223,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.130314,1.1219467,17.2046677,13.6080152,61.1202206,14.3369004,30.4579977,62.1877172,33.4790489,39.1663797,18.1943591,3.6885617,15.1492403,12.3599097,36.6667513,9.9787284,1.2274163,1.2191369,16.9605038,13.138727,61.8467896,13.9909999,30.6623504,62.4258971,32.6388961,39.1846375,17.9735039,3.6016941,15.1938653,12.2522174,35.4109656,8.6396043,1.4590426,1.4508434,17.9156793,13.759345,62.6079159,13.8918978,30.4119631,62.2893727,31.793258,38.9811265,17.4374393,3.5262134,14.5401984,12.0407482,35.4980639,8.620305,1.4372737,1.4291458,18.383208,14.5243216,62.7702857,13.8940039,29.8961937,62.2991712,31.9558741,39.6494701,17.6437944,3.2659921,15.5167396,12.7168614,35.5829238,9.9463951,1.5221594,1.5691246,18.6298824,14.6717122,62.8540301,13.7907646,29.6220047,61.4713156,31.4526179,39.0371955,17.2413019,3.3228458,15.2942067,12.1936964,36.6161649,10.2846191 +2224,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0932479,2.1372867,31.7056168,27.845066,51.516967,16.7795643,35.3926153,65.2864105,32.2083029,44.0009889,21.4476134,2.4322816,13.1591811,10.5957034,39.568256,27.072611,2.1541165,2.1839017,32.2975014,28.2480212,53.3731586,16.5586007,35.2414941,65.9642705,32.7167409,44.0479693,20.9838796,2.4527529,13.9137901,10.9836994,39.7574185,27.631437,2.2545383,2.2905236,32.4667841,28.2954819,54.7527018,16.6900377,35.6253105,66.254174,33.0344247,44.1362002,21.0503181,2.4622266,14.3958389,10.6776357,39.8330418,25.8620733,2.2988089,2.3283018,33.6187309,29.3299224,55.9641984,16.5984339,35.8458748,66.4114725,33.7280895,43.3410426,20.8274623,2.4100854,14.2500904,10.424878,39.7793369,25.1676759,2.2418539,2.2764811,34.4948699,29.9867295,57.1653228,16.1180358,36.0752339,66.3236103,33.6768497,43.4116786,20.7815519,2.130312,14.832946,10.7871497,39.4662672,24.8328484 +2225,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6439136,0.7040463,11.8442766,7.7071341,40.9460418,17.5209097,31.531516,64.5834367,32.9412732,43.4903968,18.7764937,4.3814191,10.7107331,8.3313138,33.2226301,8.5064209,0.6796955,0.7369176,12.127306,7.9419497,40.7323527,17.7980003,32.0915238,64.2526368,32.7396696,43.2836516,18.4653474,4.5430022,10.6470615,8.0659467,33.6144632,8.604281,0.7198115,0.7564692,12.0086277,7.8996373,41.7334611,17.4331066,32.3913803,63.9201342,32.5048564,42.6974791,18.1588242,4.7173098,10.833246,7.896478,33.4000206,9.0756159,0.7535448,0.7940021,12.3307146,8.2509531,42.3497039,17.5091615,32.5606476,63.0702926,31.4664294,42.2331577,17.8789618,4.7432403,10.5469162,7.8879315,33.1800994,9.8363977,0.7173651,0.7218189,12.3548938,8.2810209,43.2578573,17.4289577,33.0228,62.4048744,30.8647477,41.8112308,18.0916718,4.510762,10.5401518,7.9173455,32.6928621,9.9432613 +2226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6796955,0.7369176,12.127306,7.9419497,40.7323527,17.7980003,32.0915238,64.2526368,32.7396696,43.2836516,18.4653474,4.5430022,10.6470615,8.0659467,33.6144632,8.604281,0.7198115,0.7564692,12.0086277,7.8996373,41.7334611,17.4331066,32.3913803,63.9201342,32.5048564,42.6974791,18.1588242,4.7173098,10.833246,7.896478,33.4000206,9.0756159,0.7535448,0.7940021,12.3307146,8.2509531,42.3497039,17.5091615,32.5606476,63.0702926,31.4664294,42.2331577,17.8789618,4.7432403,10.5469162,7.8879315,33.1800994,9.8363977,0.7173651,0.7218189,12.3548938,8.2810209,43.2578573,17.4289577,33.0228,62.4048744,30.8647477,41.8112308,18.0916718,4.510762,10.5401518,7.9173455,32.6928621,9.9432613,0.6923255,0.7126081,12.3951259,8.5356299,44.7064459,17.9231045,32.9756951,62.3346343,30.4455109,41.9613895,17.7853722,4.4041709,10.6775937,7.8207198,31.9412636,7.5787036 +2227,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.2274163,1.2191369,16.9605038,13.138727,61.8467896,13.9909999,30.6623504,62.4258971,32.6388961,39.1846375,17.9735039,3.6016941,15.1938653,12.2522174,35.4109656,8.6396043,1.4590426,1.4508434,17.9156793,13.759345,62.6079159,13.8918978,30.4119631,62.2893727,31.793258,38.9811265,17.4374393,3.5262134,14.5401984,12.0407482,35.4980639,8.620305,1.4372737,1.4291458,18.383208,14.5243216,62.7702857,13.8940039,29.8961937,62.2991712,31.9558741,39.6494701,17.6437944,3.2659921,15.5167396,12.7168614,35.5829238,9.9463951,1.5221594,1.5691246,18.6298824,14.6717122,62.8540301,13.7907646,29.6220047,61.4713156,31.4526179,39.0371955,17.2413019,3.3228458,15.2942067,12.1936964,36.6161649,10.2846191,1.4429417,1.5148698,18.6306782,14.5356804,63.9286383,12.8751992,29.9558209,61.8424098,30.8178279,38.8681573,16.1793072,3.1412434,16.5203231,12.4141809,38.4150512,11.0823674 +2228,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8261264,0.8304792,12.2329184,8.451196,44.633025,10.2463852,28.6566446,69.0576461,39.8045123,42.7418516,21.4887258,4.5162887,9.7596678,7.6629477,36.5615704,9.5084088,0.814492,0.8301306,12.7633119,9.0470967,44.5236627,10.2482316,28.5096904,68.7580741,39.6671666,42.5186251,21.0680622,4.535517,9.8221079,7.3070293,36.3066519,10.6622517,0.8340283,0.8699327,13.0334749,9.3333973,44.0612809,10.2786101,28.6699962,68.3255077,39.8169922,42.2147159,20.6253717,4.6829107,10.078311,7.4775955,36.9078961,11.3316261,0.920225,0.9453907,13.8092491,9.9961397,44.0377367,10.0973931,28.5969675,68.3785915,39.7381434,41.8639468,20.702487,4.7395874,9.8886008,7.9000363,36.9813798,11.6379296,0.9754783,1.0188096,14.5164353,10.7464247,44.0822047,10.1351988,28.6493943,68.3039123,39.8965482,42.2598702,20.6862221,4.8168177,9.9177183,8.0254649,36.6040833,11.7111636 +2229,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1973865,2.2890876,34.2415317,29.6759941,66.9440242,6.7883212,38.535503,66.9378698,26.9970414,45.6360947,16.6420118,4.8076923,13.6103152,9.8853868,33.8616715,10.6321839,2.229664,2.183109,34.947839,30.4769001,66.3312693,7.2280179,38.0484115,68.1543116,27.4583964,45.1588502,17.473525,5.8245083,14.8093842,8.6764706,33.480826,13.5542169,2.4950684,2.3103962,35.6720827,31.3884786,66.2826421,6.9852941,38.3982036,67.8892216,28.8173653,45.2844311,16.8413174,6.0628743,13.5174419,8.0174927,33.1871345,13.0813953,2.6231506,2.4324019,34.222561,30.8689024,66.6401274,7.2078907,38.9318885,66.3312693,27.0123839,44.0402477,16.9504644,6.1145511,12.9969419,9.0490798,33.0769231,13.9751553,2.2391775,2.1894262,34.4745223,30.9713376,66.8060201,7.5757576,39.233279,66.3132137,27.8140294,44.2903752,16.8841762,5.7911909,12.5,8.6319218,33.496732,14.9305556 +2230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4590426,1.4508434,17.9156793,13.759345,62.6079159,13.8918978,30.4119631,62.2893727,31.793258,38.9811265,17.4374393,3.5262134,14.5401984,12.0407482,35.4980639,8.620305,1.4372737,1.4291458,18.383208,14.5243216,62.7702857,13.8940039,29.8961937,62.2991712,31.9558741,39.6494701,17.6437944,3.2659921,15.5167396,12.7168614,35.5829238,9.9463951,1.5221594,1.5691246,18.6298824,14.6717122,62.8540301,13.7907646,29.6220047,61.4713156,31.4526179,39.0371955,17.2413019,3.3228458,15.2942067,12.1936964,36.6161649,10.2846191,1.4429417,1.5148698,18.6306782,14.5356804,63.9286383,12.8751992,29.9558209,61.8424098,30.8178279,38.8681573,16.1793072,3.1412434,16.5203231,12.4141809,38.4150512,11.0823674,1.5094305,1.5818116,18.9813773,14.535352,64.2670297,12.6532526,29.482635,61.5238632,30.46588,38.4008175,16.0587456,2.9130395,16.7106511,12.6056778,39.6940848,10.3494056 +2231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.9780673,1.9560472,35.0561485,30.3201922,54.2904625,12.7019339,38.7564551,63.6480688,34.8320217,42.9478316,20.3475225,2.51197,17.1903268,12.4979873,39.1462542,19.4223224,1.8218296,1.8087287,35.0201489,30.4421911,54.512795,12.8433669,39.3254717,63.8216164,34.5035761,43.3334519,20.5084436,2.4294027,17.3873348,11.9552853,39.5916391,19.1848784,1.7958179,1.8195425,35.2783342,30.7217247,55.0589988,12.7978427,39.7881319,63.6797674,34.6406842,43.4384204,20.8717883,2.4758704,18.0477674,11.1649819,38.6584532,19.1908546,1.8213405,1.8539677,35.5329097,31.0185344,56.2780482,12.257315,39.2425432,63.8362227,34.2353646,42.7957719,20.5750794,2.489019,18.8570005,12.1739635,39.8859589,18.553442,1.9420985,1.9614678,36.1750692,31.5054734,57.0237608,12.0804332,39.2111323,63.6722484,33.9265753,42.4827837,20.8979243,2.4962864,18.2763859,12.365698,39.9334127,18.1528662 +2232,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4372737,1.4291458,18.383208,14.5243216,62.7702857,13.8940039,29.8961937,62.2991712,31.9558741,39.6494701,17.6437944,3.2659921,15.5167396,12.7168614,35.5829238,9.9463951,1.5221594,1.5691246,18.6298824,14.6717122,62.8540301,13.7907646,29.6220047,61.4713156,31.4526179,39.0371955,17.2413019,3.3228458,15.2942067,12.1936964,36.6161649,10.2846191,1.4429417,1.5148698,18.6306782,14.5356804,63.9286383,12.8751992,29.9558209,61.8424098,30.8178279,38.8681573,16.1793072,3.1412434,16.5203231,12.4141809,38.4150512,11.0823674,1.5094305,1.5818116,18.9813773,14.535352,64.2670297,12.6532526,29.482635,61.5238632,30.46588,38.4008175,16.0587456,2.9130395,16.7106511,12.6056778,39.6940848,10.3494056,1.4795211,1.5516114,18.4503614,14.0602227,64.7989483,12.7592798,29.3144206,61.6724345,30.3613416,37.8740089,16.1721783,2.8451473,16.274287,12.5839297,39.2927473,8.7243673 +2233,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7233643,0.7559574,11.4048411,7.903294,38.8399547,20.2393862,33.0057637,63.7675032,36.203812,45.4967644,21.6763957,6.0447237,9.5858405,7.914506,32.9631226,8.5215588,0.7912906,0.8235259,11.8766352,8.252542,39.4890475,20.024632,32.6516478,63.6126783,35.7364096,45.5849651,21.5720279,6.4312802,10.1129001,8.1095031,33.3086753,10.0586113,0.7135095,0.7254639,12.2085755,8.4531655,39.1646944,19.8809066,32.7191778,63.2006228,35.3875473,45.9762788,21.0292264,6.4308913,10.0220668,7.6181825,33.0076457,9.0822388,0.6610772,0.6693907,12.3413076,8.51931,39.7836448,19.5613336,32.6239639,62.9847338,35.1236314,45.6357224,20.8417811,6.4248071,10.0321467,7.737191,33.1087405,8.9350393,0.7107979,0.7197042,12.3937358,8.5908431,40.0362288,19.7187148,32.8216339,62.4645035,34.7481683,45.3183907,20.3377309,6.3896553,9.9178293,7.5712104,33.1453551,9.0361649 +2234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7996202,0.8015818,11.1653681,7.1164415,48.6023269,10.9804523,32.5674126,66.9081852,41.841291,44.9566605,24.1052789,4.7553045,11.1306697,9.6472085,39.3837751,8.6137117,0.7856073,0.7956954,11.3069106,7.3204647,48.2708364,11.2876786,31.9262385,67.5081399,42.1995306,45.4697962,24.0279595,4.8282676,10.8826606,9.4899497,39.5614679,9.225618,0.7609313,0.765004,11.0479566,7.2270102,47.1935686,11.7404248,31.5224839,67.6962573,42.8297959,45.8622837,24.5628983,4.9290764,10.7570779,9.4831856,39.1256951,9.6129846,0.7929145,0.8017278,11.237754,7.4091016,46.4617397,12.0404581,30.9568203,67.7606982,43.1601349,45.938745,24.798768,4.8702323,10.507563,9.3248623,39.039329,10.4428561,0.7706937,0.8073357,11.4732113,7.6965773,46.1656569,11.9467039,30.6216321,67.154174,42.8386675,45.6671892,24.745944,4.6596376,10.5352087,9.2772973,39.918423,10.2029506 +2235,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.961633,0.9803468,16.6748062,12.9611505,31.6400998,18.3025537,38.0049657,62.0198422,35.0062167,46.4312373,21.1772205,3.0855049,12.2503866,9.8656789,33.3492419,13.9810294,0.9729765,0.9756262,17.2942845,13.4806293,32.7274627,18.3122007,38.0770967,61.7510198,35.3266928,46.1320978,21.2549066,3.2785618,12.6919069,9.7331826,33.6226464,12.2767912,1.0065557,1.013712,17.8546328,13.8842948,33.4736702,18.7021643,38.393061,62.9724833,36.0766296,46.830004,21.7142055,3.4260651,12.9679344,9.7415612,34.0601403,14.4308654,0.9603849,0.9785047,18.3743197,14.2807589,34.7863695,18.4930438,38.7000126,63.6701347,35.9229706,46.5285772,21.7979307,3.4594932,13.8235054,10.0174028,34.4725612,13.1294746,0.9440777,0.9673111,18.6870201,14.6311169,35.5600693,19.1032176,38.554671,64.6180916,36.3455101,46.4982437,22.2208868,3.3490679,13.7541449,9.735645,34.6039112,11.5517056 +2236,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0593697,2.1280053,32.1689225,27.8436996,66.922398,13.3272624,35.8555828,62.6582098,28.0396244,39.8382905,16.8379714,2.3235012,18.4013195,14.9953534,41.0389875,20.2996837,2.1096699,2.2132695,31.9655604,27.6474555,66.1054133,13.3027677,36.2554462,62.4045619,28.1511211,39.9680578,16.8096907,2.5496454,18.0538692,15.1254037,40.4310038,19.5889922,1.9858451,2.1297275,31.8648722,27.4324547,66.6188356,13.0676826,35.8561812,61.8365116,27.643656,39.7755209,16.0276769,2.3285641,17.5841489,14.2955062,41.110322,20.4053563,2.0037091,2.1127292,30.7973826,26.5774383,66.4686407,12.9370136,35.7866024,61.9415781,28.3628778,39.9008033,16.5865884,2.1772516,17.8828163,14.6093732,42.6067662,21.0164055,2.0195296,2.1298462,30.4808792,26.2720812,66.7030225,13.0719372,35.3807808,61.1870843,27.8798781,38.5416548,15.7063759,2.248331,18.3581394,14.3483547,43.0697299,20.7520161 +2237,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7972681,0.8480754,9.9852503,6.6056284,44.8732704,13.1931508,30.4114197,65.1037875,31.6839671,42.1979321,18.7237485,14.3254246,10.5078637,8.0722196,37.7263138,3.8951836,0.7778755,0.8322498,10.0428363,6.7013462,45.1751013,13.3890952,30.3408838,64.736651,31.903768,42.376333,18.5515691,14.4166868,10.685557,8.3287212,37.9199502,4.06562,0.7090994,0.7484076,9.8812988,6.5039158,45.5997462,13.4075098,30.1449787,64.0189234,31.1401917,41.5345944,18.39907,14.6762497,10.7995725,8.2648293,37.9570407,3.2142848,0.6272277,0.6609659,9.9349662,6.4162118,45.8368881,13.3305818,30.3190844,63.7999302,31.1459178,41.6501772,18.0913048,14.7956212,10.7799646,8.4839917,37.5721067,3.9202195,0.6058501,0.6381864,9.4648169,6.1171686,45.6727997,13.436942,30.5770055,63.4212271,30.7424998,41.3559245,17.8342939,14.778243,10.5995373,8.5405661,37.5925287,3.8050729 +2238,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8587238,1.9625446,24.7687533,19.7500331,46.8861483,15.5751083,43.6088992,66.0000209,36.9917126,49.8603966,25.8892394,4.0582293,10.932197,8.3378878,33.1563526,21.5446437,1.8898852,2.0076487,23.9326713,19.3138726,46.332203,15.7145359,42.4837558,66.9230624,37.8742165,49.0014467,26.6501386,3.8467422,9.4715685,7.37789,31.6259075,22.5408435,1.9813446,2.1454507,25.2482314,20.2249219,45.996266,15.7936105,41.9443924,67.1742315,38.1270356,49.0156788,26.7657101,4.2369146,9.4546382,7.5196914,33.2355317,21.1999354,2.0825671,2.2111598,24.9247374,19.7734279,45.4090509,16.6528139,42.5957673,66.2824679,38.9431444,49.8927691,26.8975552,3.8998335,9.3889266,7.9284419,33.9382873,24.5596942,2.0471432,2.1815508,24.3398063,19.1771398,45.986095,16.890546,42.4226243,66.0247446,39.3294504,49.4238745,26.6466582,3.5572107,10.3720062,8.1881283,33.5925965,25.7080013 +2240,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5241821,2.538991,39.1959779,34.0138441,51.0857409,18.9434279,38.1485013,65.4681261,32.1752114,46.5798572,21.3297724,4.0249677,13.4828937,13.0580801,33.2014784,24.7839171,2.5928214,2.6370547,38.2189836,33.193973,51.7717762,19.156849,37.775913,65.1709693,32.4075189,46.5299009,21.002616,3.7469851,14.6267677,13.8494156,33.7169041,24.4688934,2.5479232,2.5928444,37.9713941,32.7541195,52.6075968,18.8216988,37.7286491,64.30504,31.7437011,46.9737172,20.3173265,3.4341645,14.7871687,13.5969185,34.0253553,23.3105782,2.5202949,2.5705423,38.4873753,33.0896482,54.2587402,19.413492,37.5994648,64.0456755,32.2982186,45.812552,20.7235736,3.5237739,16.3004853,14.017176,34.3570993,23.7502749,2.4318863,2.4844491,36.3024499,31.1647581,53.5650082,19.240548,36.8692176,63.9048336,31.6658115,44.8453966,20.3103707,3.0750982,17.2180406,14.2893829,34.5923961,25.4456982 +2241,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8773271,0.8668322,15.1981053,11.1353681,48.1753814,13.2546355,30.5073906,64.4144704,33.4002852,39.9716877,17.6329813,4.1637965,12.1994653,8.5127911,33.8627792,11.1784852,0.9202237,0.9136331,15.6190123,11.6499457,48.8472124,13.0967204,30.1680268,64.1591972,33.6657723,40.7994125,17.8766816,4.288531,11.6691275,8.5068798,33.4114436,11.6013782,0.8649763,0.864064,15.9144737,11.9996834,49.5665804,13.1020419,30.8774508,63.9924037,33.2743495,40.8289988,18.5028792,4.3553639,11.8485818,8.971756,33.8829474,12.5,0.9625009,0.9705324,15.9042494,11.8951782,50.3714872,12.9512771,30.7057555,64.6000571,34.1975855,41.4930663,19.0015447,4.4517905,11.7222873,9.088249,33.8295733,13.0952381,0.8911072,0.912481,16.2538131,12.2231536,51.2330832,12.5077402,30.9504175,64.5115082,33.9152584,41.6110526,18.4000962,4.537174,11.9066956,8.9595563,34.0392073,13.3223684 +2242,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7912906,0.8235259,11.8766352,8.252542,39.4890475,20.024632,32.6516478,63.6126783,35.7364096,45.5849651,21.5720279,6.4312802,10.1129001,8.1095031,33.3086753,10.0586113,0.7135095,0.7254639,12.2085755,8.4531655,39.1646944,19.8809066,32.7191778,63.2006228,35.3875473,45.9762788,21.0292264,6.4308913,10.0220668,7.6181825,33.0076457,9.0822388,0.6610772,0.6693907,12.3413076,8.51931,39.7836448,19.5613336,32.6239639,62.9847338,35.1236314,45.6357224,20.8417811,6.4248071,10.0321467,7.737191,33.1087405,8.9350393,0.7107979,0.7197042,12.3937358,8.5908431,40.0362288,19.7187148,32.8216339,62.4645035,34.7481683,45.3183907,20.3377309,6.3896553,9.9178293,7.5712104,33.1453551,9.0361649,0.716408,0.7255198,12.4953723,8.5883349,40.6283027,19.8145368,32.5429211,62.4784772,35.2094098,45.5995017,20.2744741,6.3903655,9.8185771,7.7121092,33.4476324,8.5884679 +2243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7856073,0.7956954,11.3069106,7.3204647,48.2708364,11.2876786,31.9262385,67.5081399,42.1995306,45.4697962,24.0279595,4.8282676,10.8826606,9.4899497,39.5614679,9.225618,0.7609313,0.765004,11.0479566,7.2270102,47.1935686,11.7404248,31.5224839,67.6962573,42.8297959,45.8622837,24.5628983,4.9290764,10.7570779,9.4831856,39.1256951,9.6129846,0.7929145,0.8017278,11.237754,7.4091016,46.4617397,12.0404581,30.9568203,67.7606982,43.1601349,45.938745,24.798768,4.8702323,10.507563,9.3248623,39.039329,10.4428561,0.7706937,0.8073357,11.4732113,7.6965773,46.1656569,11.9467039,30.6216321,67.154174,42.8386675,45.6671892,24.745944,4.6596376,10.5352087,9.2772973,39.918423,10.2029506,0.7809548,0.8116452,11.6534506,7.7477375,46.038007,11.5826618,30.6490578,66.9292714,42.1544388,45.5256371,24.7100878,4.5717931,10.3998981,9.2041041,40.5232386,9.688596 +2244,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1096699,2.2132695,31.9655604,27.6474555,66.1054133,13.3027677,36.2554462,62.4045619,28.1511211,39.9680578,16.8096907,2.5496454,18.0538692,15.1254037,40.4310038,19.5889922,1.9858451,2.1297275,31.8648722,27.4324547,66.6188356,13.0676826,35.8561812,61.8365116,27.643656,39.7755209,16.0276769,2.3285641,17.5841489,14.2955062,41.110322,20.4053563,2.0037091,2.1127292,30.7973826,26.5774383,66.4686407,12.9370136,35.7866024,61.9415781,28.3628778,39.9008033,16.5865884,2.1772516,17.8828163,14.6093732,42.6067662,21.0164055,2.0195296,2.1298462,30.4808792,26.2720812,66.7030225,13.0719372,35.3807808,61.1870843,27.8798781,38.5416548,15.7063759,2.248331,18.3581394,14.3483547,43.0697299,20.7520161,1.741521,1.8667636,29.8505911,25.891729,66.8818447,13.2297231,34.9164675,60.8105436,27.9700073,38.727797,15.7865275,2.4158906,18.2583857,14.6224928,43.7574785,21.5277043 +2245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.434663,1.5420813,21.8586922,16.305801,82.7321175,16.3179111,35.7099156,64.6669721,37.4154048,41.0922912,18.9767635,4.9695636,13.8094071,13.3068688,37.5509425,13.7501994,1.6703993,1.7757715,21.244547,16.2968589,83.0697305,15.8132669,35.7815826,64.0309074,37.0300117,40.7183145,19.5302912,4.7183953,13.9639192,13.7200018,37.4398387,10.7894737,1.5871576,1.6936937,20.3592202,16.2185068,83.2385745,15.3388408,36.0296997,64.0963557,37.1605414,41.5039477,20.0430548,5.1287081,13.9472138,13.3540784,37.1949496,9.7373392,1.6381379,1.6871616,19.9191657,15.9162711,83.570508,15.3533695,34.511583,63.8359792,36.6093395,41.6358808,19.8786965,5.1847821,13.9382771,12.578562,38.678469,12.1475584,1.6214964,1.6508933,20.1221768,16.1928068,83.5830416,14.4080792,33.9208146,63.0115623,36.9244954,41.4012679,19.852499,5.658901,14.5497445,12.7703679,39.3718461,12.9841212 +2246,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5122717,0.5265411,7.0607176,4.5308188,41.2108462,21.353211,30.5041628,69.079556,34.1581869,44.7502313,17.1369103,5.7123034,10.2484472,9.8222222,32.2162645,1.048951,0.5485498,0.5625613,7.4819168,4.7694394,41.6056725,21.1340206,30.0587173,68.2249322,33.5365854,45.234869,16.5085818,5.8943089,10.2508651,9.5753899,31.6041848,0.3448276,0.6441387,0.6576285,7.9956427,5.1198257,42.1716055,21.3884083,29.8908297,69.0174672,33.9519651,45.5240175,16.3537118,6.3537118,10.7531381,9.2779177,32.1940928,1.5625,0.5708143,0.5846858,7.9616414,5.0624442,41.8302145,21.09375,29.590459,68.2943294,33.8658866,45.3870387,15.7740774,5.9630963,10.8355091,9.6338274,33.5237258,1.5243902,0.6527658,0.6456005,8.0526073,5.2376557,41.5532614,21.6743119,28.8319483,67.4284395,34.0027701,45.7294552,15.4893813,6.0710988,11.1830743,9.2048401,33.6094159,1.5337423 +2247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7479821,0.7718692,11.826712,8.4791397,34.0656908,10.9404048,30.271279,64.6682516,33.3075635,45.3823458,18.5760514,3.6196207,11.3844637,9.0132698,30.2942581,6.850955,0.7956602,0.8131466,12.078079,8.6609357,35.0956505,10.8904517,29.8586432,64.6431058,33.2226242,45.5053066,18.7349962,3.5971727,11.1982416,8.9711187,30.01892,7.6642261,0.7095612,0.7268929,11.9980854,8.5464902,35.6259047,10.9914083,30.1202201,64.9307936,33.3776159,45.5403373,18.3489556,3.3342657,11.0002237,8.8726076,29.3965383,8.6805455,0.727103,0.7628817,11.9260447,8.5758121,35.9015168,11.1872327,30.5064729,65.6775436,34.1593916,45.9328645,19.0181845,3.2387255,11.0161297,8.9954128,29.8743686,8.0219727,0.7682719,0.809046,11.6316173,8.5384506,36.4476193,11.1030989,30.5053505,66.4012017,34.5200962,46.1959402,18.9350558,3.3105065,11.1930184,9.2404987,29.4724885,8.6999965 +2248,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7307073,1.7682767,28.8914612,24.8247962,44.0940103,18.6686138,42.6038563,66.2745495,35.4900582,49.4574129,24.3612219,3.9893082,12.6600483,10.0018063,32.214038,20.6489585,1.8498499,1.8878405,28.6030918,24.4144738,44.9990107,18.831897,41.1897284,65.8009859,35.1539921,48.7865694,24.3626807,4.0833102,12.7642173,10.9089584,33.3364863,20.8645994,1.9388923,1.9948276,28.861191,24.6461199,44.3501225,19.1848085,41.511531,66.827661,35.7019717,49.007702,24.568647,4.2644034,12.587796,10.4660928,32.3432341,21.1145613,1.896312,1.9911545,29.1852798,24.6504752,43.7437665,18.5352572,41.5655698,66.8899203,36.3418955,49.0215405,24.4604614,4.2088992,12.5310133,10.8634085,32.750877,22.7795647,1.7936376,1.860854,29.4980775,25.0564837,43.5763086,18.2141655,41.7047852,66.7942887,36.8664046,48.9696263,24.3942773,4.1095828,12.1738447,10.6571034,32.6154301,25.0065074 +2249,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7198115,0.7564692,12.0086277,7.8996373,41.7334611,17.4331066,32.3913803,63.9201342,32.5048564,42.6974791,18.1588242,4.7173098,10.833246,7.896478,33.4000206,9.0756159,0.7535448,0.7940021,12.3307146,8.2509531,42.3497039,17.5091615,32.5606476,63.0702926,31.4664294,42.2331577,17.8789618,4.7432403,10.5469162,7.8879315,33.1800994,9.8363977,0.7173651,0.7218189,12.3548938,8.2810209,43.2578573,17.4289577,33.0228,62.4048744,30.8647477,41.8112308,18.0916718,4.510762,10.5401518,7.9173455,32.6928621,9.9432613,0.6923255,0.7126081,12.3951259,8.5356299,44.7064459,17.9231045,32.9756951,62.3346343,30.4455109,41.9613895,17.7853722,4.4041709,10.6775937,7.8207198,31.9412636,7.5787036,0.6793633,0.6951837,12.7505333,8.9425273,45.8756311,17.5995786,33.3773103,62.586156,30.6963885,41.7474864,17.9488234,4.3693375,10.7193735,8.0924789,32.2705722,8.0273662 +2250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.3781187,1.4147876,30.6575198,24.7290873,50.5975578,11.6391223,39.2769298,65.9174477,32.8260059,49.7861878,26.4842423,6.6134023,17.4328292,14.3239131,35.8751286,16.375031,1.2054661,1.2418883,31.3966728,25.2841559,50.9231881,11.5547889,39.2038061,65.390821,33.131864,48.8057718,25.975083,6.2342606,18.0082262,14.591011,36.3421969,15.5597011,0.9300769,0.9668587,30.8045369,24.904672,50.3534086,11.7157056,39.1836326,65.2772933,33.4108682,48.9443114,25.7590601,5.7558524,17.6286382,14.2898853,34.8733277,16.6659916,0.862507,0.8987676,30.2799959,24.2275113,49.8686261,12.5315551,38.8891641,65.142393,32.9157869,49.080255,25.5686816,5.8973539,16.7981882,13.4604194,35.1526341,16.056284,0.837548,0.873554,29.0151039,22.5955975,49.6586302,12.6396812,39.5296126,65.3225313,33.2122506,49.1111754,25.2865939,6.0643237,17.2358377,13.7626026,34.4429873,16.8009664 +2251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.9201266,0.9148539,10.3730258,6.7698453,22.0104206,16.8583743,34.8626036,69.1118726,40.5544783,49.8609896,23.8223706,4.1625788,10.7056985,9.5159253,32.9748764,5.8098592,0.8866873,0.8962814,10.6176252,7.0861927,21.7746068,16.8359935,35.0023656,68.9071971,40.7386884,50.032079,24.3470714,4.1259446,10.996815,9.6142652,32.7531234,4.9319761,0.8158736,0.8227188,10.7871615,7.3333403,21.920738,16.6885016,34.8131194,69.0723896,40.8317053,50.2893866,24.2973016,4.1584008,10.9018075,9.6912976,32.9892788,5.1418476,0.8195207,0.8234739,10.8572007,7.3581182,21.6085484,16.4626766,34.9656622,68.756398,40.9863126,50.0257676,24.0566187,4.2624376,11.4324982,9.8990113,32.2486545,5.7835886,0.8958421,0.8995695,11.5123421,7.7828814,21.6907088,16.2461502,36.3687612,68.4231454,40.6265462,50.3885656,24.0327029,4.330584,11.5928479,9.8555688,32.5215776,7.8397616 +2252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.689922,0.7215254,9.2240285,6.3595544,41.9542512,16.4493351,28.4083589,69.4390328,35.170704,45.2381129,20.0587231,3.5986032,9.5248381,8.3624508,31.921921,6.187312,0.7531646,0.7854907,9.4568095,6.3808892,41.3532756,16.5862729,28.0449939,69.6393114,35.0144873,45.123602,19.9844311,3.6851405,9.6621577,8.7201501,31.8305639,7.4913058,0.6906752,0.7224435,9.4220018,6.4997836,40.4930116,16.7746769,28.1537584,69.6780816,35.7972099,45.7840774,20.7293211,3.7341131,9.7284046,8.9715131,32.802727,8.0204955,0.7875888,0.8024403,9.7263513,6.7564725,39.5509164,16.8976528,28.2669937,68.5525913,36.1207315,46.029875,21.4084947,3.6023291,9.8730322,9.1765343,33.8553352,8.4717743,0.7762094,0.7860461,9.9894741,6.7263132,38.853698,17.2057897,28.582215,68.8106141,36.5330745,45.927614,21.5147736,3.5013926,9.8371327,8.5904137,33.4987314,9.4178167 +2253,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9858451,2.1297275,31.8648722,27.4324547,66.6188356,13.0676826,35.8561812,61.8365116,27.643656,39.7755209,16.0276769,2.3285641,17.5841489,14.2955062,41.110322,20.4053563,2.0037091,2.1127292,30.7973826,26.5774383,66.4686407,12.9370136,35.7866024,61.9415781,28.3628778,39.9008033,16.5865884,2.1772516,17.8828163,14.6093732,42.6067662,21.0164055,2.0195296,2.1298462,30.4808792,26.2720812,66.7030225,13.0719372,35.3807808,61.1870843,27.8798781,38.5416548,15.7063759,2.248331,18.3581394,14.3483547,43.0697299,20.7520161,1.741521,1.8667636,29.8505911,25.891729,66.8818447,13.2297231,34.9164675,60.8105436,27.9700073,38.727797,15.7865275,2.4158906,18.2583857,14.6224928,43.7574785,21.5277043,1.5497758,1.6736734,30.4450895,26.3991515,67.5004017,13.1529306,35.0242921,60.8040544,28.0634362,39.0478694,16.2519731,2.574032,18.9278958,14.646496,44.4048406,22.0144858 +2254,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5825761,1.5574828,27.3906133,22.4867138,56.5960806,17.7909806,38.9541666,63.566146,34.1675825,44.8495282,21.3022807,3.1412225,12.909208,11.683983,33.8536074,18.1705212,1.7297044,1.7045023,27.0609179,22.3930724,56.4251321,17.9014408,39.6093232,63.410495,34.0896545,45.2990372,21.4534707,3.2988817,13.5679662,11.8986958,34.1803022,17.4266931,1.6374534,1.6124996,27.6674383,22.8521031,56.6527533,18.2949515,39.9463266,63.4635374,33.7681662,45.0994761,21.5383917,3.1317011,12.8286991,10.7270619,34.2550524,17.637529,1.4620222,1.437176,27.5458594,22.8272578,57.2025788,17.8408743,39.9889731,63.7458305,33.9218955,45.1626919,21.7439976,3.03356,13.0233604,10.9737712,34.1453608,16.2974735,1.3191541,1.3191541,27.3743989,22.7733048,56.1767766,18.342534,39.8588071,64.4570806,35.3270972,46.2870818,21.9033098,3.4311616,13.0828775,10.4058409,32.8508568,14.0822874 +2255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8425621,0.8360318,11.6747397,7.6878857,25.5761313,21.5508068,31.6862673,68.6279255,37.8304839,48.6395808,24.1402903,3.8249518,12.5861547,10.8756693,37.1201658,7.2915972,0.8232445,0.816926,12.3485875,8.0595978,25.1534543,21.2065413,32.045339,68.1764,37.6633902,48.8273263,25.0290253,3.5918455,12.5551313,11.0079872,37.4413997,7.8766277,0.8951291,0.8951291,12.6721975,8.2636298,25.6387965,20.6739892,31.5403417,67.9432078,37.5570045,47.2731508,24.7454913,3.4869167,12.2935176,11.3213944,37.1445584,8.8234352,0.920995,0.9304797,12.6110358,8.0867484,25.5405647,20.9818274,32.4736295,67.434266,37.4665937,47.0727357,24.6244375,3.2594962,11.9269201,11.5059587,38.0076575,9.5277584,0.8124505,0.8217993,13.063919,8.8572966,25.4361625,21.1396703,33.5232686,67.7267731,38.2623171,47.7868778,25.6648721,3.7056525,12.0389817,11.4618322,38.0139903,10.0851452 +2256,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6703993,1.7757715,21.244547,16.2968589,83.0697305,15.8132669,35.7815826,64.0309074,37.0300117,40.7183145,19.5302912,4.7183953,13.9639192,13.7200018,37.4398387,10.7894737,1.5871576,1.6936937,20.3592202,16.2185068,83.2385745,15.3388408,36.0296997,64.0963557,37.1605414,41.5039477,20.0430548,5.1287081,13.9472138,13.3540784,37.1949496,9.7373392,1.6381379,1.6871616,19.9191657,15.9162711,83.570508,15.3533695,34.511583,63.8359792,36.6093395,41.6358808,19.8786965,5.1847821,13.9382771,12.578562,38.678469,12.1475584,1.6214964,1.6508933,20.1221768,16.1928068,83.5830416,14.4080792,33.9208146,63.0115623,36.9244954,41.4012679,19.852499,5.658901,14.5497445,12.7703679,39.3718461,12.9841212,1.5813813,1.5813813,19.7413035,15.5587003,83.9783647,14.587074,34.0678764,62.8742579,38.0818271,41.4607971,20.3631886,6.0870744,14.6957259,13.4401003,38.8812227,11.6861989 +2257,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.814492,0.8301306,12.7633119,9.0470967,44.5236627,10.2482316,28.5096904,68.7580741,39.6671666,42.5186251,21.0680622,4.535517,9.8221079,7.3070293,36.3066519,10.6622517,0.8340283,0.8699327,13.0334749,9.3333973,44.0612809,10.2786101,28.6699962,68.3255077,39.8169922,42.2147159,20.6253717,4.6829107,10.078311,7.4775955,36.9078961,11.3316261,0.920225,0.9453907,13.8092491,9.9961397,44.0377367,10.0973931,28.5969675,68.3785915,39.7381434,41.8639468,20.702487,4.7395874,9.8886008,7.9000363,36.9813798,11.6379296,0.9754783,1.0188096,14.5164353,10.7464247,44.0822047,10.1351988,28.6493943,68.3039123,39.8965482,42.2598702,20.6862221,4.8168177,9.9177183,8.0254649,36.6040833,11.7111636,0.9836092,1.0267511,15.024151,11.1415577,44.1204402,10.2659679,28.7674404,68.1441866,40.1069779,41.9953499,20.8139568,4.8232557,10.2338109,8.1905612,36.7176488,13.5087688 +2258,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9637731,1.9888808,23.4446822,18.5390727,41.1444767,14.2223144,32.108949,66.131647,34.9574859,44.9692805,23.5214102,4.1680878,11.5793397,9.2606618,42.151614,20.3488451,1.8938774,1.8824978,25.7024672,20.5879105,41.054651,14.4821311,33.9167485,65.9698656,33.8033701,44.7625433,23.8267366,4.1380317,12.8437455,10.0753296,41.508833,20.3020134,1.9535832,2.0253659,26.8083779,21.8012723,42.9189942,14.4376388,34.3507364,65.5088204,33.9645789,44.5378306,23.4329203,3.9844753,13.3725719,9.5179227,41.9895227,22.2397476,2.084068,2.1633145,27.744153,22.7936556,43.780603,14.1960267,34.6092831,64.9770446,33.658764,44.2968327,22.9653543,4.0567054,13.2811346,8.9073731,42.7662403,23.5015847,1.97785,2.0355593,28.2636825,22.9595781,44.3669776,13.6045002,34.3985899,65.0596822,33.0087398,44.5037349,23.1474892,3.8220663,13.3358096,8.6413037,43.7327004,21.5408873 +2259,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2054661,1.2418883,31.3966728,25.2841559,50.9231881,11.5547889,39.2038061,65.390821,33.131864,48.8057718,25.975083,6.2342606,18.0082262,14.591011,36.3421969,15.5597011,0.9300769,0.9668587,30.8045369,24.904672,50.3534086,11.7157056,39.1836326,65.2772933,33.4108682,48.9443114,25.7590601,5.7558524,17.6286382,14.2898853,34.8733277,16.6659916,0.862507,0.8987676,30.2799959,24.2275113,49.8686261,12.5315551,38.8891641,65.142393,32.9157869,49.080255,25.5686816,5.8973539,16.7981882,13.4604194,35.1526341,16.056284,0.837548,0.873554,29.0151039,22.5955975,49.6586302,12.6396812,39.5296126,65.3225313,33.2122506,49.1111754,25.2865939,6.0643237,17.2358377,13.7626026,34.4429873,16.8009664,0.9685566,1.0571749,27.938317,21.8899041,49.5540489,12.295996,38.9087135,66.3193015,33.4619281,48.8738762,25.0606907,5.8247943,16.6402093,13.6060662,34.4996177,18.2355488 +2260,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4469094,0.4557379,7.8099149,4.8622581,45.2759263,20.029913,29.1050831,66.4340448,34.8248583,41.7214019,19.1981414,7.6491493,10.0911167,6.8577974,35.0616729,3.2012205,0.4517166,0.4600798,8.4841285,5.2320974,45.8909584,19.9715206,28.9917028,65.1503372,34.175746,40.9668221,18.7791633,7.4002054,10.4523242,7.327586,35.562368,3.1626525,0.4637957,0.4685295,8.7841318,5.5015727,46.3684883,20.0650185,29.2174119,65.1334561,33.3894869,39.8678419,18.7743,7.3982906,10.4793961,7.5618481,36.0756883,2.9141122,0.4245225,0.4324798,8.7893138,5.590798,46.9959363,20.2709815,28.8381214,64.9216771,32.754575,39.986952,17.4804238,6.9843377,10.4727116,7.5416792,36.1648507,3.376208,0.3993725,0.4073034,9.1426239,6.0730326,47.3976552,20.4186421,29.2705136,64.3951243,32.4117406,39.4730111,17.1209824,6.9444481,10.1930918,7.5609761,36.3210921,3.4023689 +2261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6343045,0.6618637,9.2184061,6.376216,37.5000186,20.1247104,31.018001,71.8905662,39.1312573,47.0531742,22.2923723,3.8844258,8.6090288,9.0874798,31.7562632,5.208337,0.6497418,0.6421752,9.6464906,6.6002264,36.687689,20.3386513,30.4121843,72.0531804,39.3104657,47.1686975,22.2842685,3.6402177,8.7396924,9.1422197,33.7244663,6.462585,0.6391,0.6432008,9.695756,6.3966294,36.288471,19.9962792,30.2259932,71.6572795,40.3578101,47.8530928,22.7306917,3.4839917,8.4553453,8.6940585,33.6410759,7.2327044,0.6651563,0.6594505,10.0109453,6.5463183,36.8773987,19.7519356,30.0225381,71.5922155,40.5369852,47.4089286,22.4746505,3.3233187,7.6839044,8.3576648,33.860304,6.8047337,0.6506263,0.6449477,10.3016071,6.6315426,37.4664752,19.5660238,30.2592118,71.1307541,39.9887213,46.3748994,22.1074443,2.9864719,8.178566,9.1201808,35.0504424,7.3529412 +2262,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65937,0.6746355,12.9950157,10.2373711,31.5428811,17.1594682,34.1999952,66.937525,37.3886709,47.4084458,21.6797408,4.5117411,12.5782311,10.8061195,29.0710835,5.5105958,0.7082276,0.7232345,13.3020085,10.413398,32.749942,17.552153,34.1460991,67.0833048,37.7168859,48.1461339,21.4346238,4.9219741,12.2752416,10.5455342,28.3528763,4.3213062,0.8450832,0.8596572,13.19446,10.1527349,34.273874,17.7932619,34.6472357,67.4425124,37.8222403,48.0208834,21.714446,4.9228647,12.6640804,10.6516768,27.5821589,4.7543124,0.8164,0.8310257,13.3188812,10.18037,35.5137142,18.5526923,34.5747002,67.1750391,37.7458132,48.2384925,21.4645406,4.8498856,12.0708113,10.5133632,26.9340773,4.0086587,0.7251734,0.7542166,13.5298726,10.3433979,36.3178722,18.866154,34.4104395,67.0264833,37.5001757,48.5518865,20.9535637,4.8890643,12.1679895,10.559153,27.347156,4.7379576 +2263,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8938774,1.8824978,25.7024672,20.5879105,41.054651,14.4821311,33.9167485,65.9698656,33.8033701,44.7625433,23.8267366,4.1380317,12.8437455,10.0753296,41.508833,20.3020134,1.9535832,2.0253659,26.8083779,21.8012723,42.9189942,14.4376388,34.3507364,65.5088204,33.9645789,44.5378306,23.4329203,3.9844753,13.3725719,9.5179227,41.9895227,22.2397476,2.084068,2.1633145,27.744153,22.7936556,43.780603,14.1960267,34.6092831,64.9770446,33.658764,44.2968327,22.9653543,4.0567054,13.2811346,8.9073731,42.7662403,23.5015847,1.97785,2.0355593,28.2636825,22.9595781,44.3669776,13.6045002,34.3985899,65.0596822,33.0087398,44.5037349,23.1474892,3.8220663,13.3358096,8.6413037,43.7327004,21.5408873,1.9694695,2.0314607,28.9117207,23.751142,45.3895965,14.0758704,35.0471285,64.7473786,32.7246319,44.8329169,22.8862873,3.9192152,12.8390681,8.5316523,43.0741628,21.0769296 +2264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5073943,0.5542976,9.6981852,6.3030345,33.0088812,23.0928945,30.865167,64.9984196,32.7596529,43.2743123,17.3823424,7.3413163,13.0187919,9.8658304,31.7127796,3.8745387,0.5486138,0.5891165,9.580726,6.2888072,34.2805707,22.1610431,31.011464,64.2414001,31.9732523,42.8326781,16.8010831,7.1517076,12.9897552,10.5028419,32.6574064,3.9622642,0.6095583,0.6538361,9.5561349,6.4462395,33.8052433,22.0529312,31.2537796,64.2835567,31.3751667,43.275578,16.6211193,7.331494,12.2266329,9.9911976,33.1362977,4.1970803,0.5176187,0.5466706,9.9710305,6.7583037,33.5827473,22.0923238,31.0790971,63.772559,31.3408329,42.7427972,16.1867255,7.1407764,12.0139517,9.7233883,33.777754,3.9249147,0.5330527,0.5607374,10.3014081,6.9275241,33.4635124,22.2175317,31.334423,63.4546725,30.9208316,42.7487714,15.7843948,7.1546683,11.6221871,9.2222159,32.9954866,5.2884531 +2265,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9407645,0.9653159,15.2289428,11.5320956,67.1065598,8.1227512,27.9868065,59.73709,28.0290309,36.6242035,14.4833691,5.50855,12.3284143,9.1621768,37.811922,9.1202191,0.9028335,0.9254876,15.5930067,11.8883824,67.8373209,8.2593636,27.95333,59.4232159,27.9065942,36.6749769,14.6278666,5.5384328,12.3707641,9.2806417,37.8831561,8.8069637,0.8836037,0.9281469,15.6988521,12.0148605,68.6704794,8.1513343,27.7465397,60.06182,27.648026,36.7182584,14.4438983,5.4897474,12.4914176,9.352276,37.9002308,8.3465695,0.8364918,0.8659114,15.9270073,12.3916875,69.7211603,8.0741908,27.2547953,60.4450926,27.6833401,36.5393371,14.282147,5.3734675,12.6981766,9.4628997,37.6256277,8.3246767,0.8415451,0.8765885,16.2634635,12.6546477,70.4070393,8.1909147,26.8353852,60.8632058,27.9396535,36.4132334,14.3345043,5.5007189,12.7781155,9.5535487,37.4271302,8.4005936 +2266,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7535448,0.7940021,12.3307146,8.2509531,42.3497039,17.5091615,32.5606476,63.0702926,31.4664294,42.2331577,17.8789618,4.7432403,10.5469162,7.8879315,33.1800994,9.8363977,0.7173651,0.7218189,12.3548938,8.2810209,43.2578573,17.4289577,33.0228,62.4048744,30.8647477,41.8112308,18.0916718,4.510762,10.5401518,7.9173455,32.6928621,9.9432613,0.6923255,0.7126081,12.3951259,8.5356299,44.7064459,17.9231045,32.9756951,62.3346343,30.4455109,41.9613895,17.7853722,4.4041709,10.6775937,7.8207198,31.9412636,7.5787036,0.6793633,0.6951837,12.7505333,8.9425273,45.8756311,17.5995786,33.3773103,62.586156,30.6963885,41.7474864,17.9488234,4.3693375,10.7193735,8.0924789,32.2705722,8.0273662,0.6887594,0.6861527,13.8762742,10.2600761,47.4871222,17.6154187,33.2134933,62.8912024,30.8728625,41.581702,18.0992868,4.5390078,11.0666469,8.4282268,32.385743,7.6343226 +2267,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0493021,2.0945143,35.006085,30.4189728,74.9763675,13.4572328,35.4391262,63.7895495,23.045247,37.0574912,14.8081511,1.8737686,16.5411629,11.6646445,41.6447608,22.1250776,2.3221043,2.3328078,33.8397199,29.402235,74.0052787,13.257449,34.6006845,65.1509153,23.7260078,36.8859997,15.1229733,1.8175571,15.8152942,10.8547375,38.9573018,23.4495063,2.1378824,2.1485136,32.845721,28.5722594,73.8646343,12.85834,34.7162693,65.2256885,23.7366694,37.1825394,15.1339392,1.9874126,16.7528132,11.4916187,39.7575781,24.6749361,1.9918216,1.9918216,31.7078877,27.335663,72.9737888,12.510417,34.244538,64.3370429,23.8378224,36.5808397,14.5500665,1.7241752,16.8780483,12.3476783,40.5064017,24.5903786,1.9917787,2.012696,32.0478952,27.7059088,73.0644274,12.7855353,33.6473714,64.1113659,24.3188228,37.0091817,15.0304028,1.8379808,16.8663079,11.899882,39.8244612,24.2801085 +2268,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1541165,2.1839017,32.2975014,28.2480212,53.3731586,16.5586007,35.2414941,65.9642705,32.7167409,44.0479693,20.9838796,2.4527529,13.9137901,10.9836994,39.7574185,27.631437,2.2545383,2.2905236,32.4667841,28.2954819,54.7527018,16.6900377,35.6253105,66.254174,33.0344247,44.1362002,21.0503181,2.4622266,14.3958389,10.6776357,39.8330418,25.8620733,2.2988089,2.3283018,33.6187309,29.3299224,55.9641984,16.5984339,35.8458748,66.4114725,33.7280895,43.3410426,20.8274623,2.4100854,14.2500904,10.424878,39.7793369,25.1676759,2.2418539,2.2764811,34.4948699,29.9867295,57.1653228,16.1180358,36.0752339,66.3236103,33.6768497,43.4116786,20.7815519,2.130312,14.832946,10.7871497,39.4662672,24.8328484,2.2839785,2.3448628,35.6764488,30.8304662,58.7695146,15.773253,36.091463,66.0084595,32.8040605,42.5555139,20.4005347,2.1408359,15.9659121,11.1940737,40.777075,24.4833565 +2269,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.229664,2.183109,34.947839,30.4769001,66.3312693,7.2280179,38.0484115,68.1543116,27.4583964,45.1588502,17.473525,5.8245083,14.8093842,8.6764706,33.480826,13.5542169,2.4950684,2.3103962,35.6720827,31.3884786,66.2826421,6.9852941,38.3982036,67.8892216,28.8173653,45.2844311,16.8413174,6.0628743,13.5174419,8.0174927,33.1871345,13.0813953,2.6231506,2.4324019,34.222561,30.8689024,66.6401274,7.2078907,38.9318885,66.3312693,27.0123839,44.0402477,16.9504644,6.1145511,12.9969419,9.0490798,33.0769231,13.9751553,2.2391775,2.1894262,34.4745223,30.9713376,66.8060201,7.5757576,39.233279,66.3132137,27.8140294,44.2903752,16.8841762,5.7911909,12.5,8.6319218,33.496732,14.9305556,1.9881755,1.9390837,34.4637224,31.6246057,68.5970636,7.0982839,37.6386688,66.0063391,27.496038,43.18542,17.3534073,6.1014263,13.5093168,8.8785047,34.84375,14.8026316 +2270,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7778755,0.8322498,10.0428363,6.7013462,45.1751013,13.3890952,30.3408838,64.736651,31.903768,42.376333,18.5515691,14.4166868,10.685557,8.3287212,37.9199502,4.06562,0.7090994,0.7484076,9.8812988,6.5039158,45.5997462,13.4075098,30.1449787,64.0189234,31.1401917,41.5345944,18.39907,14.6762497,10.7995725,8.2648293,37.9570407,3.2142848,0.6272277,0.6609659,9.9349662,6.4162118,45.8368881,13.3305818,30.3190844,63.7999302,31.1459178,41.6501772,18.0913048,14.7956212,10.7799646,8.4839917,37.5721067,3.9202195,0.6058501,0.6381864,9.4648169,6.1171686,45.6727997,13.436942,30.5770055,63.4212271,30.7424998,41.3559245,17.8342939,14.778243,10.5995373,8.5405661,37.5925287,3.8050729,0.5709185,0.615467,9.5100379,6.30033,45.7753199,13.5408287,30.1068522,63.7319554,30.9594234,41.3265999,17.6821712,15.044901,10.5250385,8.3551112,37.3539842,4.0689655 +2271,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8340283,0.8699327,13.0334749,9.3333973,44.0612809,10.2786101,28.6699962,68.3255077,39.8169922,42.2147159,20.6253717,4.6829107,10.078311,7.4775955,36.9078961,11.3316261,0.920225,0.9453907,13.8092491,9.9961397,44.0377367,10.0973931,28.5969675,68.3785915,39.7381434,41.8639468,20.702487,4.7395874,9.8886008,7.9000363,36.9813798,11.6379296,0.9754783,1.0188096,14.5164353,10.7464247,44.0822047,10.1351988,28.6493943,68.3039123,39.8965482,42.2598702,20.6862221,4.8168177,9.9177183,8.0254649,36.6040833,11.7111636,0.9836092,1.0267511,15.024151,11.1415577,44.1204402,10.2659679,28.7674404,68.1441866,40.1069779,41.9953499,20.8139568,4.8232557,10.2338109,8.1905612,36.7176488,13.5087688,1.0350195,1.0785399,15.7389214,11.7003224,44.3920913,10.2971082,29.1260812,67.7464021,39.5630401,41.8505935,20.7443487,4.9280671,9.8484833,8.0690956,36.9900957,14.4039719 +2272,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6466572,0.6954615,7.969299,4.9389947,49.9401536,23.4709693,30.1302353,66.831109,33.0505129,43.3898982,18.3701666,6.136542,10.3032707,9.1368627,31.4655164,6.5517287,0.58708,0.6720521,7.8803235,4.868981,48.9840694,22.6088609,29.8152543,66.3718631,32.8812891,43.5731129,18.2586464,5.8765744,10.6867317,9.4594624,32.3872496,6.1290362,0.5398506,0.6231542,7.9209764,5.0057474,49.3544599,22.3518139,30.3094771,66.2862707,32.3597638,44.0812327,18.0464181,5.7059975,10.4135362,9.3750021,31.1555886,5.0000029,0.4588761,0.5412097,8.1364278,4.9733171,49.2482631,22.7358475,29.5723561,65.4639236,31.8633037,43.5853343,17.6975916,5.7464697,10.088694,9.3634366,31.3659981,3.1073464,0.5133828,0.5599866,8.2199571,5.045353,49.2928152,23.3520623,29.417329,65.3234982,32.2928387,43.5679117,17.915245,6.0348105,10.5653733,9.2291392,31.6370103,2.4324337 +2273,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.9300769,0.9668587,30.8045369,24.904672,50.3534086,11.7157056,39.1836326,65.2772933,33.4108682,48.9443114,25.7590601,5.7558524,17.6286382,14.2898853,34.8733277,16.6659916,0.862507,0.8987676,30.2799959,24.2275113,49.8686261,12.5315551,38.8891641,65.142393,32.9157869,49.080255,25.5686816,5.8973539,16.7981882,13.4604194,35.1526341,16.056284,0.837548,0.873554,29.0151039,22.5955975,49.6586302,12.6396812,39.5296126,65.3225313,33.2122506,49.1111754,25.2865939,6.0643237,17.2358377,13.7626026,34.4429873,16.8009664,0.9685566,1.0571749,27.938317,21.8899041,49.5540489,12.295996,38.9087135,66.3193015,33.4619281,48.8738762,25.0606907,5.8247943,16.6402093,13.6060662,34.4996177,18.2355488,0.9850651,0.9672181,27.2355243,21.1443261,47.6030454,12.406079,39.269637,66.9876265,34.474145,50.1459807,25.2931981,5.7034387,15.9274762,13.010356,34.2504815,16.7999589 +2274,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7135095,0.7254639,12.2085755,8.4531655,39.1646944,19.8809066,32.7191778,63.2006228,35.3875473,45.9762788,21.0292264,6.4308913,10.0220668,7.6181825,33.0076457,9.0822388,0.6610772,0.6693907,12.3413076,8.51931,39.7836448,19.5613336,32.6239639,62.9847338,35.1236314,45.6357224,20.8417811,6.4248071,10.0321467,7.737191,33.1087405,8.9350393,0.7107979,0.7197042,12.3937358,8.5908431,40.0362288,19.7187148,32.8216339,62.4645035,34.7481683,45.3183907,20.3377309,6.3896553,9.9178293,7.5712104,33.1453551,9.0361649,0.716408,0.7255198,12.4953723,8.5883349,40.6283027,19.8145368,32.5429211,62.4784772,35.2094098,45.5995017,20.2744741,6.3903655,9.8185771,7.7121092,33.4476324,8.5884679,0.7379181,0.7473734,12.6488351,8.7317428,41.4902872,19.6690074,32.9776101,61.9663823,34.4861716,44.7334908,20.2432137,6.6797849,10.0224186,7.5712813,34.080676,8.8182316 +2275,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58708,0.6720521,7.8803235,4.868981,48.9840694,22.6088609,29.8152543,66.3718631,32.8812891,43.5731129,18.2586464,5.8765744,10.6867317,9.4594624,32.3872496,6.1290362,0.5398506,0.6231542,7.9209764,5.0057474,49.3544599,22.3518139,30.3094771,66.2862707,32.3597638,44.0812327,18.0464181,5.7059975,10.4135362,9.3750021,31.1555886,5.0000029,0.4588761,0.5412097,8.1364278,4.9733171,49.2482631,22.7358475,29.5723561,65.4639236,31.8633037,43.5853343,17.6975916,5.7464697,10.088694,9.3634366,31.3659981,3.1073464,0.5133828,0.5599866,8.2199571,5.045353,49.2928152,23.3520623,29.417329,65.3234982,32.2928387,43.5679117,17.915245,6.0348105,10.5653733,9.2291392,31.6370103,2.4324337,0.428499,0.4626754,8.0125856,4.8667668,49.2745627,23.3650005,29.3782121,64.99264,32.100803,43.3222959,17.2001479,6.0154541,10.7989204,9.2605187,31.4840066,2.8205128 +2276,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9729765,0.9756262,17.2942845,13.4806293,32.7274627,18.3122007,38.0770967,61.7510198,35.3266928,46.1320978,21.2549066,3.2785618,12.6919069,9.7331826,33.6226464,12.2767912,1.0065557,1.013712,17.8546328,13.8842948,33.4736702,18.7021643,38.393061,62.9724833,36.0766296,46.830004,21.7142055,3.4260651,12.9679344,9.7415612,34.0601403,14.4308654,0.9603849,0.9785047,18.3743197,14.2807589,34.7863695,18.4930438,38.7000126,63.6701347,35.9229706,46.5285772,21.7979307,3.4594932,13.8235054,10.0174028,34.4725612,13.1294746,0.9440777,0.9673111,18.6870201,14.6311169,35.5600693,19.1032176,38.554671,64.6180916,36.3455101,46.4982437,22.2208868,3.3490679,13.7541449,9.735645,34.6039112,11.5517056,0.9377595,0.9546849,18.9498976,15.0034361,36.3820662,19.4265492,38.0201095,65.4628502,36.851416,47.4170596,22.5221611,3.4946847,13.377959,9.804289,35.0243689,11.8728882 +2277,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0037091,2.1127292,30.7973826,26.5774383,66.4686407,12.9370136,35.7866024,61.9415781,28.3628778,39.9008033,16.5865884,2.1772516,17.8828163,14.6093732,42.6067662,21.0164055,2.0195296,2.1298462,30.4808792,26.2720812,66.7030225,13.0719372,35.3807808,61.1870843,27.8798781,38.5416548,15.7063759,2.248331,18.3581394,14.3483547,43.0697299,20.7520161,1.741521,1.8667636,29.8505911,25.891729,66.8818447,13.2297231,34.9164675,60.8105436,27.9700073,38.727797,15.7865275,2.4158906,18.2583857,14.6224928,43.7574785,21.5277043,1.5497758,1.6736734,30.4450895,26.3991515,67.5004017,13.1529306,35.0242921,60.8040544,28.0634362,39.0478694,16.2519731,2.574032,18.9278958,14.646496,44.4048406,22.0144858,1.6161529,1.7057295,31.0803781,26.7271397,67.4165677,13.2039397,35.1397968,61.3688898,28.1697119,39.4564317,16.6015094,2.7632085,18.2658594,14.780005,44.0247705,20.8393494 +2278,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5486138,0.5891165,9.580726,6.2888072,34.2805707,22.1610431,31.011464,64.2414001,31.9732523,42.8326781,16.8010831,7.1517076,12.9897552,10.5028419,32.6574064,3.9622642,0.6095583,0.6538361,9.5561349,6.4462395,33.8052433,22.0529312,31.2537796,64.2835567,31.3751667,43.275578,16.6211193,7.331494,12.2266329,9.9911976,33.1362977,4.1970803,0.5176187,0.5466706,9.9710305,6.7583037,33.5827473,22.0923238,31.0790971,63.772559,31.3408329,42.7427972,16.1867255,7.1407764,12.0139517,9.7233883,33.777754,3.9249147,0.5330527,0.5607374,10.3014081,6.9275241,33.4635124,22.2175317,31.334423,63.4546725,30.9208316,42.7487714,15.7843948,7.1546683,11.6221871,9.2222159,32.9954866,5.2884531,0.5062624,0.5346419,10.1385388,6.7731661,33.9280135,22.4856297,31.5008489,63.6659552,31.1899256,43.2023247,16.2379795,7.475966,11.0256698,9.3500935,33.4984808,4.9152459 +2279,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.4599274,0.4599274,7.9993065,6.0997924,69.1925594,13.4080891,25.6384664,68.1490343,31.3405492,43.936278,13.6383957,4.7873297,13.2340816,10.3490985,33.2048228,2.1545207,0.6619209,0.6619209,8.4018962,6.3264246,66.8372937,13.3975358,26.2321386,68.7429913,31.6593924,44.5240578,13.8498183,4.6031935,13.0905839,10.4565831,33.0783187,5.9992672,0.6762225,0.6762225,8.5310657,6.3742829,65.4096004,13.4360729,26.4514785,68.6582567,31.458454,44.8102152,13.9536113,4.6383256,13.4438518,11.2951362,32.2594482,6.5378024,0.6919716,0.6874746,8.9183712,6.3322838,63.4374974,13.4800986,26.627815,69.9934888,31.8113788,45.7490587,15.0706364,4.5116757,13.4312505,11.4746421,32.7404933,6.6428114,0.6995213,0.6949753,8.7084582,6.1820977,61.5445513,13.1601555,27.2523117,70.4913297,31.6485202,45.4204715,14.9976154,4.6102138,12.757174,11.5207787,32.9381418,8.1554047 +2280,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2545383,2.2905236,32.4667841,28.2954819,54.7527018,16.6900377,35.6253105,66.254174,33.0344247,44.1362002,21.0503181,2.4622266,14.3958389,10.6776357,39.8330418,25.8620733,2.2988089,2.3283018,33.6187309,29.3299224,55.9641984,16.5984339,35.8458748,66.4114725,33.7280895,43.3410426,20.8274623,2.4100854,14.2500904,10.424878,39.7793369,25.1676759,2.2418539,2.2764811,34.4948699,29.9867295,57.1653228,16.1180358,36.0752339,66.3236103,33.6768497,43.4116786,20.7815519,2.130312,14.832946,10.7871497,39.4662672,24.8328484,2.2839785,2.3448628,35.6764488,30.8304662,58.7695146,15.773253,36.091463,66.0084595,32.8040605,42.5555139,20.4005347,2.1408359,15.9659121,11.1940737,40.777075,24.4833565,2.2173393,2.3053928,36.104809,31.3950511,59.8329477,15.7567802,35.9717945,65.4529937,32.4511654,41.8035004,19.9544068,2.0827317,16.9019177,11.1923756,39.8298217,23.2942547 +2281,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8471505,0.8899901,16.3937916,12.6082937,51.4804695,12.9633021,28.8600683,63.379655,29.4029651,42.3502016,14.7266154,4.6743145,13.2361137,10.8941392,31.5867159,9.1527599,0.8540186,0.8958175,16.502319,12.8372879,52.7666745,12.8995709,28.9214009,64.2440771,28.9214271,42.9536389,14.7883376,4.6270461,13.1854345,10.9738517,31.52756,8.1114333,0.8153142,0.8571052,16.9424641,13.3548576,54.3359909,12.9336216,28.5642684,64.9023109,29.1894229,42.6799818,14.6703331,4.6279589,13.2212426,11.0662104,31.2536469,7.089298,0.7937958,0.8243267,16.5654903,13.1448668,55.4929981,12.7538398,27.7523002,65.7859023,29.6669976,42.4312078,14.3897394,4.6370248,13.063605,11.1448516,30.3559252,8.5953982,0.7235847,0.7536904,16.4127141,13.2130427,55.5922512,13.159893,27.3844644,66.2635809,30.1967007,42.6057251,14.7591592,4.827938,13.3554145,12.111036,30.6626183,8.8562774 +2282,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6497418,0.6421752,9.6464906,6.6002264,36.687689,20.3386513,30.4121843,72.0531804,39.3104657,47.1686975,22.2842685,3.6402177,8.7396924,9.1422197,33.7244663,6.462585,0.6391,0.6432008,9.695756,6.3966294,36.288471,19.9962792,30.2259932,71.6572795,40.3578101,47.8530928,22.7306917,3.4839917,8.4553453,8.6940585,33.6410759,7.2327044,0.6651563,0.6594505,10.0109453,6.5463183,36.8773987,19.7519356,30.0225381,71.5922155,40.5369852,47.4089286,22.4746505,3.3233187,7.6839044,8.3576648,33.860304,6.8047337,0.6506263,0.6449477,10.3016071,6.6315426,37.4664752,19.5660238,30.2592118,71.1307541,39.9887213,46.3748994,22.1074443,2.9864719,8.178566,9.1201808,35.0504424,7.3529412,0.6684395,0.6991898,11.0654328,7.0968898,36.0671227,19.1508765,30.5350628,71.457593,41.162364,46.8450255,22.3800889,3.15498,8.1696962,9.1578992,34.5473831,7.1022727 +2283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8540186,0.8958175,16.502319,12.8372879,52.7666745,12.8995709,28.9214009,64.2440771,28.9214271,42.9536389,14.7883376,4.6270461,13.1854345,10.9738517,31.52756,8.1114333,0.8153142,0.8571052,16.9424641,13.3548576,54.3359909,12.9336216,28.5642684,64.9023109,29.1894229,42.6799818,14.6703331,4.6279589,13.2212426,11.0662104,31.2536469,7.089298,0.7937958,0.8243267,16.5654903,13.1448668,55.4929981,12.7538398,27.7523002,65.7859023,29.6669976,42.4312078,14.3897394,4.6370248,13.063605,11.1448516,30.3559252,8.5953982,0.7235847,0.7536904,16.4127141,13.2130427,55.5922512,13.159893,27.3844644,66.2635809,30.1967007,42.6057251,14.7591592,4.827938,13.3554145,12.111036,30.6626183,8.8562774,0.7089892,0.7473369,16.4506729,13.3538456,56.6692193,12.8991953,26.7863838,66.6635542,30.0903134,42.5374533,14.6274,4.8117702,13.5499057,11.8304862,29.763098,8.7919682 +2284,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6095583,0.6538361,9.5561349,6.4462395,33.8052433,22.0529312,31.2537796,64.2835567,31.3751667,43.275578,16.6211193,7.331494,12.2266329,9.9911976,33.1362977,4.1970803,0.5176187,0.5466706,9.9710305,6.7583037,33.5827473,22.0923238,31.0790971,63.772559,31.3408329,42.7427972,16.1867255,7.1407764,12.0139517,9.7233883,33.777754,3.9249147,0.5330527,0.5607374,10.3014081,6.9275241,33.4635124,22.2175317,31.334423,63.4546725,30.9208316,42.7487714,15.7843948,7.1546683,11.6221871,9.2222159,32.9954866,5.2884531,0.5062624,0.5346419,10.1385388,6.7731661,33.9280135,22.4856297,31.5008489,63.6659552,31.1899256,43.2023247,16.2379795,7.475966,11.0256698,9.3500935,33.4984808,4.9152459,0.4746233,0.5037678,10.194283,6.6560112,35.0816004,22.5154895,31.3024465,63.2561937,30.2026087,43.6323836,16.1939207,7.4529607,10.973708,8.6740762,33.7859493,5.3819258 +2285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7531646,0.7854907,9.4568095,6.3808892,41.3532756,16.5862729,28.0449939,69.6393114,35.0144873,45.123602,19.9844311,3.6851405,9.6621577,8.7201501,31.8305639,7.4913058,0.6906752,0.7224435,9.4220018,6.4997836,40.4930116,16.7746769,28.1537584,69.6780816,35.7972099,45.7840774,20.7293211,3.7341131,9.7284046,8.9715131,32.802727,8.0204955,0.7875888,0.8024403,9.7263513,6.7564725,39.5509164,16.8976528,28.2669937,68.5525913,36.1207315,46.029875,21.4084947,3.6023291,9.8730322,9.1765343,33.8553352,8.4717743,0.7762094,0.7860461,9.9894741,6.7263132,38.853698,17.2057897,28.582215,68.8106141,36.5330745,45.927614,21.5147736,3.5013926,9.8371327,8.5904137,33.4987314,9.4178167,0.788343,0.8101782,10.1884042,6.8707703,38.9760308,16.8352671,29.2563307,69.1978286,37.5287147,46.6367273,21.2346002,3.8332929,9.5842048,8.6278613,33.8419906,10.304053 +2286,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7173651,0.7218189,12.3548938,8.2810209,43.2578573,17.4289577,33.0228,62.4048744,30.8647477,41.8112308,18.0916718,4.510762,10.5401518,7.9173455,32.6928621,9.9432613,0.6923255,0.7126081,12.3951259,8.5356299,44.7064459,17.9231045,32.9756951,62.3346343,30.4455109,41.9613895,17.7853722,4.4041709,10.6775937,7.8207198,31.9412636,7.5787036,0.6793633,0.6951837,12.7505333,8.9425273,45.8756311,17.5995786,33.3773103,62.586156,30.6963885,41.7474864,17.9488234,4.3693375,10.7193735,8.0924789,32.2705722,8.0273662,0.6887594,0.6861527,13.8762742,10.2600761,47.4871222,17.6154187,33.2134933,62.8912024,30.8728625,41.581702,18.0992868,4.5390078,11.0666469,8.4282268,32.385743,7.6343226,0.6657058,0.6631333,13.9276805,10.545975,49.0084007,17.6874729,32.4854392,63.1933274,30.6571564,41.2033021,18.1615731,4.3360372,10.6940796,8.3612196,31.639131,7.9752482 +2287,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2268401,1.2796573,22.7691844,18.7322262,35.0678252,16.6307867,33.9162117,65.8196244,37.9253531,46.3789829,21.1422119,3.3324041,14.1582102,10.4561398,34.9177021,21.6106357,1.2590511,1.3390538,23.0264903,19.0532287,35.5478087,16.1744502,33.0449371,65.0661624,37.3467216,46.0741425,20.6228777,3.3250755,14.5596353,10.249468,34.9602996,23.3934742,1.2356756,1.3106419,24.4719048,20.5463735,36.494061,16.7264264,33.5085185,64.6188207,36.9221594,45.9477658,20.4794037,3.372689,14.4856683,10.3664322,34.2642645,21.2538551,1.1555448,1.2381241,25.1557976,21.0170271,37.9008224,16.2189512,34.1924168,64.6833497,36.2715005,45.9444697,20.363809,3.3838488,13.646968,10.0816064,35.1189143,21.0755952,1.2788469,1.3427731,25.4200292,21.2453731,37.5805887,15.759839,34.0404562,64.2436261,35.6358048,46.3476125,20.213497,3.2973829,13.7730653,10.0302502,35.8523798,21.5278017 +2288,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9028335,0.9254876,15.5930067,11.8883824,67.8373209,8.2593636,27.95333,59.4232159,27.9065942,36.6749769,14.6278666,5.5384328,12.3707641,9.2806417,37.8831561,8.8069637,0.8836037,0.9281469,15.6988521,12.0148605,68.6704794,8.1513343,27.7465397,60.06182,27.648026,36.7182584,14.4438983,5.4897474,12.4914176,9.352276,37.9002308,8.3465695,0.8364918,0.8659114,15.9270073,12.3916875,69.7211603,8.0741908,27.2547953,60.4450926,27.6833401,36.5393371,14.282147,5.3734675,12.6981766,9.4628997,37.6256277,8.3246767,0.8415451,0.8765885,16.2634635,12.6546477,70.4070393,8.1909147,26.8353852,60.8632058,27.9396535,36.4132334,14.3345043,5.5007189,12.7781155,9.5535487,37.4271302,8.4005936,0.8197285,0.8482156,16.4957085,13.0229736,70.9619716,8.3382589,26.3523375,61.3582817,28.08362,36.2263602,14.3548985,5.3754583,12.9761836,9.6368966,37.2282982,8.2367038 +2289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5398506,0.6231542,7.9209764,5.0057474,49.3544599,22.3518139,30.3094771,66.2862707,32.3597638,44.0812327,18.0464181,5.7059975,10.4135362,9.3750021,31.1555886,5.0000029,0.4588761,0.5412097,8.1364278,4.9733171,49.2482631,22.7358475,29.5723561,65.4639236,31.8633037,43.5853343,17.6975916,5.7464697,10.088694,9.3634366,31.3659981,3.1073464,0.5133828,0.5599866,8.2199571,5.045353,49.2928152,23.3520623,29.417329,65.3234982,32.2928387,43.5679117,17.915245,6.0348105,10.5653733,9.2291392,31.6370103,2.4324337,0.428499,0.4626754,8.0125856,4.8667668,49.2745627,23.3650005,29.3782121,64.99264,32.100803,43.3222959,17.2001479,6.0154541,10.7989204,9.2605187,31.4840066,2.8205128,0.4711272,0.5065255,7.8322503,4.9980864,48.6749787,24.2270669,29.4596701,64.4543435,32.008453,42.8488355,17.0217324,6.181076,10.5756459,9.0056115,31.8564168,2.3560209 +2290,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0065557,1.013712,17.8546328,13.8842948,33.4736702,18.7021643,38.393061,62.9724833,36.0766296,46.830004,21.7142055,3.4260651,12.9679344,9.7415612,34.0601403,14.4308654,0.9603849,0.9785047,18.3743197,14.2807589,34.7863695,18.4930438,38.7000126,63.6701347,35.9229706,46.5285772,21.7979307,3.4594932,13.8235054,10.0174028,34.4725612,13.1294746,0.9440777,0.9673111,18.6870201,14.6311169,35.5600693,19.1032176,38.554671,64.6180916,36.3455101,46.4982437,22.2208868,3.3490679,13.7541449,9.735645,34.6039112,11.5517056,0.9377595,0.9546849,18.9498976,15.0034361,36.3820662,19.4265492,38.0201095,65.4628502,36.851416,47.4170596,22.5221611,3.4946847,13.377959,9.804289,35.0243689,11.8728882,0.9157158,0.9395093,18.2905256,14.2905373,36.9462344,20.4521313,38.8773688,66.5398934,38.231992,47.7524503,22.4411773,3.6077107,13.2028415,9.878453,35.2343541,9.5911756 +2291,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3221043,2.3328078,33.8397199,29.402235,74.0052787,13.257449,34.6006845,65.1509153,23.7260078,36.8859997,15.1229733,1.8175571,15.8152942,10.8547375,38.9573018,23.4495063,2.1378824,2.1485136,32.845721,28.5722594,73.8646343,12.85834,34.7162693,65.2256885,23.7366694,37.1825394,15.1339392,1.9874126,16.7528132,11.4916187,39.7575781,24.6749361,1.9918216,1.9918216,31.7078877,27.335663,72.9737888,12.510417,34.244538,64.3370429,23.8378224,36.5808397,14.5500665,1.7241752,16.8780483,12.3476783,40.5064017,24.5903786,1.9917787,2.012696,32.0478952,27.7059088,73.0644274,12.7855353,33.6473714,64.1113659,24.3188228,37.0091817,15.0304028,1.8379808,16.8663079,11.899882,39.8244612,24.2801085,2.1161079,2.1376377,31.9158211,27.5393035,72.56685,13.4490645,33.5115352,65.503363,26.2432272,38.3664102,16.0595015,1.9414179,16.7254991,12.2118638,40.1000968,23.8704868 +2292,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2590511,1.3390538,23.0264903,19.0532287,35.5478087,16.1744502,33.0449371,65.0661624,37.3467216,46.0741425,20.6228777,3.3250755,14.5596353,10.249468,34.9602996,23.3934742,1.2356756,1.3106419,24.4719048,20.5463735,36.494061,16.7264264,33.5085185,64.6188207,36.9221594,45.9477658,20.4794037,3.372689,14.4856683,10.3664322,34.2642645,21.2538551,1.1555448,1.2381241,25.1557976,21.0170271,37.9008224,16.2189512,34.1924168,64.6833497,36.2715005,45.9444697,20.363809,3.3838488,13.646968,10.0816064,35.1189143,21.0755952,1.2788469,1.3427731,25.4200292,21.2453731,37.5805887,15.759839,34.0404562,64.2436261,35.6358048,46.3476125,20.213497,3.2973829,13.7730653,10.0302502,35.8523798,21.5278017,1.3548732,1.418104,25.8603124,21.7141662,38.0243878,15.5143499,34.0190668,63.774047,34.7715193,45.7171125,19.916323,3.3861102,13.8790625,9.9177262,35.9240801,21.0145064 +2293,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.862507,0.8987676,30.2799959,24.2275113,49.8686261,12.5315551,38.8891641,65.142393,32.9157869,49.080255,25.5686816,5.8973539,16.7981882,13.4604194,35.1526341,16.056284,0.837548,0.873554,29.0151039,22.5955975,49.6586302,12.6396812,39.5296126,65.3225313,33.2122506,49.1111754,25.2865939,6.0643237,17.2358377,13.7626026,34.4429873,16.8009664,0.9685566,1.0571749,27.938317,21.8899041,49.5540489,12.295996,38.9087135,66.3193015,33.4619281,48.8738762,25.0606907,5.8247943,16.6402093,13.6060662,34.4996177,18.2355488,0.9850651,0.9672181,27.2355243,21.1443261,47.6030454,12.406079,39.269637,66.9876265,34.474145,50.1459807,25.2931981,5.7034387,15.9274762,13.010356,34.2504815,16.7999589,1.0953769,1.1089927,26.9087021,20.8898924,48.8717289,12.6149492,39.3388191,65.93386,34.0659994,49.7654728,25.2791381,5.947762,15.099627,12.1762643,34.3746993,19.3595353 +2294,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7099394,0.7263167,11.1952979,7.6734182,43.9353771,19.2306599,32.3830664,67.8270565,37.1650082,43.6808977,22.5040301,4.3746729,10.2681576,9.6877013,36.4191634,8.3038869,0.7733529,0.7762797,11.8453238,8.3961942,44.3789379,19.1010954,32.5044145,67.8303839,37.5546585,43.4035547,22.1978694,4.5220323,10.3504153,9.2654454,35.4890884,9.1695438,0.6989246,0.7094442,12.1886975,8.6886261,44.3258429,18.8057099,32.1769174,67.999457,37.3233011,42.9488327,22.363671,4.629178,10.0182222,9.0013472,34.9097458,8.3904883,0.7248541,0.7326734,12.9213729,9.2475425,45.120057,18.2477092,32.0945602,67.8274481,36.9884703,43.0733399,22.0738995,4.5442942,10.4855712,9.2288757,35.1901169,8.7744034,0.7787902,0.7787902,12.8852286,9.2074773,45.1063878,18.6690474,32.686853,67.927708,37.4462751,43.1949579,21.8045483,4.6123133,10.8423673,9.1191448,36.0546316,8.4478203 +2295,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2356756,1.3106419,24.4719048,20.5463735,36.494061,16.7264264,33.5085185,64.6188207,36.9221594,45.9477658,20.4794037,3.372689,14.4856683,10.3664322,34.2642645,21.2538551,1.1555448,1.2381241,25.1557976,21.0170271,37.9008224,16.2189512,34.1924168,64.6833497,36.2715005,45.9444697,20.363809,3.3838488,13.646968,10.0816064,35.1189143,21.0755952,1.2788469,1.3427731,25.4200292,21.2453731,37.5805887,15.759839,34.0404562,64.2436261,35.6358048,46.3476125,20.213497,3.2973829,13.7730653,10.0302502,35.8523798,21.5278017,1.3548732,1.418104,25.8603124,21.7141662,38.0243878,15.5143499,34.0190668,63.774047,34.7715193,45.7171125,19.916323,3.3861102,13.8790625,9.9177262,35.9240801,21.0145064,1.3654145,1.4369518,26.7351174,22.843847,39.0123694,15.0076428,34.0411851,63.3560872,34.182849,45.327943,19.8354467,3.3357727,13.9462168,10.0553992,35.9915856,20.4871243 +2296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5176187,0.5466706,9.9710305,6.7583037,33.5827473,22.0923238,31.0790971,63.772559,31.3408329,42.7427972,16.1867255,7.1407764,12.0139517,9.7233883,33.777754,3.9249147,0.5330527,0.5607374,10.3014081,6.9275241,33.4635124,22.2175317,31.334423,63.4546725,30.9208316,42.7487714,15.7843948,7.1546683,11.6221871,9.2222159,32.9954866,5.2884531,0.5062624,0.5346419,10.1385388,6.7731661,33.9280135,22.4856297,31.5008489,63.6659552,31.1899256,43.2023247,16.2379795,7.475966,11.0256698,9.3500935,33.4984808,4.9152459,0.4746233,0.5037678,10.194283,6.6560112,35.0816004,22.5154895,31.3024465,63.2561937,30.2026087,43.6323836,16.1939207,7.4529607,10.973708,8.6740762,33.7859493,5.3819258,0.4483604,0.4708346,9.9591442,6.605406,36.3705285,22.4383752,31.1011044,62.9430989,29.1255279,42.8675064,16.2260372,7.5392184,11.2095117,8.6187241,34.1201206,6.1258075 +2297,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0195296,2.1298462,30.4808792,26.2720812,66.7030225,13.0719372,35.3807808,61.1870843,27.8798781,38.5416548,15.7063759,2.248331,18.3581394,14.3483547,43.0697299,20.7520161,1.741521,1.8667636,29.8505911,25.891729,66.8818447,13.2297231,34.9164675,60.8105436,27.9700073,38.727797,15.7865275,2.4158906,18.2583857,14.6224928,43.7574785,21.5277043,1.5497758,1.6736734,30.4450895,26.3991515,67.5004017,13.1529306,35.0242921,60.8040544,28.0634362,39.0478694,16.2519731,2.574032,18.9278958,14.646496,44.4048406,22.0144858,1.6161529,1.7057295,31.0803781,26.7271397,67.4165677,13.2039397,35.1397968,61.3688898,28.1697119,39.4564317,16.6015094,2.7632085,18.2658594,14.780005,44.0247705,20.8393494,1.5624091,1.6167411,31.9582293,27.6561614,68.1008799,12.8653251,34.3076143,61.7497197,27.9372099,39.1289888,16.2724028,2.4489784,18.2455122,14.9075462,43.2522572,21.5101514 +2298,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8498499,1.8878405,28.6030918,24.4144738,44.9990107,18.831897,41.1897284,65.8009859,35.1539921,48.7865694,24.3626807,4.0833102,12.7642173,10.9089584,33.3364863,20.8645994,1.9388923,1.9948276,28.861191,24.6461199,44.3501225,19.1848085,41.511531,66.827661,35.7019717,49.007702,24.568647,4.2644034,12.587796,10.4660928,32.3432341,21.1145613,1.896312,1.9911545,29.1852798,24.6504752,43.7437665,18.5352572,41.5655698,66.8899203,36.3418955,49.0215405,24.4604614,4.2088992,12.5310133,10.8634085,32.750877,22.7795647,1.7936376,1.860854,29.4980775,25.0564837,43.5763086,18.2141655,41.7047852,66.7942887,36.8664046,48.9696263,24.3942773,4.1095828,12.1738447,10.6571034,32.6154301,25.0065074,1.6295019,1.7229796,28.6996975,24.1705564,43.9177008,18.4356424,40.5026391,66.7708821,37.9854601,48.7853749,24.3844745,3.9593012,12.2698908,10.3345224,33.0460246,25.9264375 +2299,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1378824,2.1485136,32.845721,28.5722594,73.8646343,12.85834,34.7162693,65.2256885,23.7366694,37.1825394,15.1339392,1.9874126,16.7528132,11.4916187,39.7575781,24.6749361,1.9918216,1.9918216,31.7078877,27.335663,72.9737888,12.510417,34.244538,64.3370429,23.8378224,36.5808397,14.5500665,1.7241752,16.8780483,12.3476783,40.5064017,24.5903786,1.9917787,2.012696,32.0478952,27.7059088,73.0644274,12.7855353,33.6473714,64.1113659,24.3188228,37.0091817,15.0304028,1.8379808,16.8663079,11.899882,39.8244612,24.2801085,2.1161079,2.1376377,31.9158211,27.5393035,72.56685,13.4490645,33.5115352,65.503363,26.2432272,38.3664102,16.0595015,1.9414179,16.7254991,12.2118638,40.1000968,23.8704868,2.1058162,2.1113123,30.8019325,26.2127666,72.8625916,13.0835856,34.0433908,64.4283683,25.9398745,38.6634641,15.5307109,1.543163,15.7641543,12.833391,40.0403696,25.1714659 +2300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4588761,0.5412097,8.1364278,4.9733171,49.2482631,22.7358475,29.5723561,65.4639236,31.8633037,43.5853343,17.6975916,5.7464697,10.088694,9.3634366,31.3659981,3.1073464,0.5133828,0.5599866,8.2199571,5.045353,49.2928152,23.3520623,29.417329,65.3234982,32.2928387,43.5679117,17.915245,6.0348105,10.5653733,9.2291392,31.6370103,2.4324337,0.428499,0.4626754,8.0125856,4.8667668,49.2745627,23.3650005,29.3782121,64.99264,32.100803,43.3222959,17.2001479,6.0154541,10.7989204,9.2605187,31.4840066,2.8205128,0.4711272,0.5065255,7.8322503,4.9980864,48.6749787,24.2270669,29.4596701,64.4543435,32.008453,42.8488355,17.0217324,6.181076,10.5756459,9.0056115,31.8564168,2.3560209,0.513824,0.526079,7.7919515,5.0817075,48.0070323,24.0574165,29.6286921,64.3704994,31.4055315,42.5383302,16.758833,6.020548,10.9748138,8.7553217,32.5673626,2.3076923 +2301,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7082276,0.7232345,13.3020085,10.413398,32.749942,17.552153,34.1460991,67.0833048,37.7168859,48.1461339,21.4346238,4.9219741,12.2752416,10.5455342,28.3528763,4.3213062,0.8450832,0.8596572,13.19446,10.1527349,34.273874,17.7932619,34.6472357,67.4425124,37.8222403,48.0208834,21.714446,4.9228647,12.6640804,10.6516768,27.5821589,4.7543124,0.8164,0.8310257,13.3188812,10.18037,35.5137142,18.5526923,34.5747002,67.1750391,37.7458132,48.2384925,21.4645406,4.8498856,12.0708113,10.5133632,26.9340773,4.0086587,0.7251734,0.7542166,13.5298726,10.3433979,36.3178722,18.866154,34.4104395,67.0264833,37.5001757,48.5518865,20.9535637,4.8890643,12.1679895,10.559153,27.347156,4.7379576,0.8214107,0.8506152,13.8773959,10.6265045,36.6087707,19.0530211,34.2525498,67.0557138,36.8336226,48.3192123,20.7596427,5.145195,12.6876586,10.7736851,26.2968692,5.4208541 +2302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6619209,0.6619209,8.4018962,6.3264246,66.8372937,13.3975358,26.2321386,68.7429913,31.6593924,44.5240578,13.8498183,4.6031935,13.0905839,10.4565831,33.0783187,5.9992672,0.6762225,0.6762225,8.5310657,6.3742829,65.4096004,13.4360729,26.4514785,68.6582567,31.458454,44.8102152,13.9536113,4.6383256,13.4438518,11.2951362,32.2594482,6.5378024,0.6919716,0.6874746,8.9183712,6.3322838,63.4374974,13.4800986,26.627815,69.9934888,31.8113788,45.7490587,15.0706364,4.5116757,13.4312505,11.4746421,32.7404933,6.6428114,0.6995213,0.6949753,8.7084582,6.1820977,61.5445513,13.1601555,27.2523117,70.4913297,31.6485202,45.4204715,14.9976154,4.6102138,12.757174,11.5207787,32.9381418,8.1554047,0.6732158,0.6685923,9.2218995,6.6203685,58.2468587,12.6799596,26.9170877,70.6666398,31.3140488,45.6143343,15.6273784,4.8526287,12.6558735,11.4695321,32.9812793,9.1234301 +2303,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5928214,2.6370547,38.2189836,33.193973,51.7717762,19.156849,37.775913,65.1709693,32.4075189,46.5299009,21.002616,3.7469851,14.6267677,13.8494156,33.7169041,24.4688934,2.5479232,2.5928444,37.9713941,32.7541195,52.6075968,18.8216988,37.7286491,64.30504,31.7437011,46.9737172,20.3173265,3.4341645,14.7871687,13.5969185,34.0253553,23.3105782,2.5202949,2.5705423,38.4873753,33.0896482,54.2587402,19.413492,37.5994648,64.0456755,32.2982186,45.812552,20.7235736,3.5237739,16.3004853,14.017176,34.3570993,23.7502749,2.4318863,2.4844491,36.3024499,31.1647581,53.5650082,19.240548,36.8692176,63.9048336,31.6658115,44.8453966,20.3103707,3.0750982,17.2180406,14.2893829,34.5923961,25.4456982,2.2987321,2.352584,35.7211606,30.4425884,53.3590465,19.5627202,36.7750866,65.4052422,33.0325288,45.5103765,20.8312659,3.015331,17.3396013,13.9777142,36.2442241,25.8368194 +2304,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6610772,0.6693907,12.3413076,8.51931,39.7836448,19.5613336,32.6239639,62.9847338,35.1236314,45.6357224,20.8417811,6.4248071,10.0321467,7.737191,33.1087405,8.9350393,0.7107979,0.7197042,12.3937358,8.5908431,40.0362288,19.7187148,32.8216339,62.4645035,34.7481683,45.3183907,20.3377309,6.3896553,9.9178293,7.5712104,33.1453551,9.0361649,0.716408,0.7255198,12.4953723,8.5883349,40.6283027,19.8145368,32.5429211,62.4784772,35.2094098,45.5995017,20.2744741,6.3903655,9.8185771,7.7121092,33.4476324,8.5884679,0.7379181,0.7473734,12.6488351,8.7317428,41.4902872,19.6690074,32.9776101,61.9663823,34.4861716,44.7334908,20.2432137,6.6797849,10.0224186,7.5712813,34.080676,8.8182316,0.804491,0.8138859,13.2722831,9.2440679,42.0852688,19.7338795,33.2094576,61.8618218,33.7090563,44.5785859,19.9229765,6.7445115,10.4667325,7.8359246,34.2298086,9.0827812 +2305,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6906752,0.7224435,9.4220018,6.4997836,40.4930116,16.7746769,28.1537584,69.6780816,35.7972099,45.7840774,20.7293211,3.7341131,9.7284046,8.9715131,32.802727,8.0204955,0.7875888,0.8024403,9.7263513,6.7564725,39.5509164,16.8976528,28.2669937,68.5525913,36.1207315,46.029875,21.4084947,3.6023291,9.8730322,9.1765343,33.8553352,8.4717743,0.7762094,0.7860461,9.9894741,6.7263132,38.853698,17.2057897,28.582215,68.8106141,36.5330745,45.927614,21.5147736,3.5013926,9.8371327,8.5904137,33.4987314,9.4178167,0.788343,0.8101782,10.1884042,6.8707703,38.9760308,16.8352671,29.2563307,69.1978286,37.5287147,46.6367273,21.2346002,3.8332929,9.5842048,8.6278613,33.8419906,10.304053,0.7804455,0.7831635,10.1202555,6.8589445,38.7692398,16.4370925,29.1874494,69.3162867,37.6662363,46.4775602,20.9372408,3.9172876,9.8296079,8.2120591,33.0058742,10.6271866 +2306,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9603849,0.9785047,18.3743197,14.2807589,34.7863695,18.4930438,38.7000126,63.6701347,35.9229706,46.5285772,21.7979307,3.4594932,13.8235054,10.0174028,34.4725612,13.1294746,0.9440777,0.9673111,18.6870201,14.6311169,35.5600693,19.1032176,38.554671,64.6180916,36.3455101,46.4982437,22.2208868,3.3490679,13.7541449,9.735645,34.6039112,11.5517056,0.9377595,0.9546849,18.9498976,15.0034361,36.3820662,19.4265492,38.0201095,65.4628502,36.851416,47.4170596,22.5221611,3.4946847,13.377959,9.804289,35.0243689,11.8728882,0.9157158,0.9395093,18.2905256,14.2905373,36.9462344,20.4521313,38.8773688,66.5398934,38.231992,47.7524503,22.4411773,3.6077107,13.2028415,9.878453,35.2343541,9.5911756,0.9278902,0.9442669,18.3864112,14.259088,37.4797345,20.0291288,39.0451202,66.8972187,38.8410631,47.6185115,22.5560791,3.7083778,13.0919538,9.589945,34.5906661,10.8562452 +2307,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2988089,2.3283018,33.6187309,29.3299224,55.9641984,16.5984339,35.8458748,66.4114725,33.7280895,43.3410426,20.8274623,2.4100854,14.2500904,10.424878,39.7793369,25.1676759,2.2418539,2.2764811,34.4948699,29.9867295,57.1653228,16.1180358,36.0752339,66.3236103,33.6768497,43.4116786,20.7815519,2.130312,14.832946,10.7871497,39.4662672,24.8328484,2.2839785,2.3448628,35.6764488,30.8304662,58.7695146,15.773253,36.091463,66.0084595,32.8040605,42.5555139,20.4005347,2.1408359,15.9659121,11.1940737,40.777075,24.4833565,2.2173393,2.3053928,36.104809,31.3950511,59.8329477,15.7567802,35.9717945,65.4529937,32.4511654,41.8035004,19.9544068,2.0827317,16.9019177,11.1923756,39.8298217,23.2942547,2.2358409,2.2753044,36.8972131,32.1513928,59.6979142,15.4702761,36.1758096,65.6393164,32.0391164,41.459876,19.2821704,2.0682745,17.5691245,12.1350626,39.928959,24.1477017 +2308,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9388923,1.9948276,28.861191,24.6461199,44.3501225,19.1848085,41.511531,66.827661,35.7019717,49.007702,24.568647,4.2644034,12.587796,10.4660928,32.3432341,21.1145613,1.896312,1.9911545,29.1852798,24.6504752,43.7437665,18.5352572,41.5655698,66.8899203,36.3418955,49.0215405,24.4604614,4.2088992,12.5310133,10.8634085,32.750877,22.7795647,1.7936376,1.860854,29.4980775,25.0564837,43.5763086,18.2141655,41.7047852,66.7942887,36.8664046,48.9696263,24.3942773,4.1095828,12.1738447,10.6571034,32.6154301,25.0065074,1.6295019,1.7229796,28.6996975,24.1705564,43.9177008,18.4356424,40.5026391,66.7708821,37.9854601,48.7853749,24.3844745,3.9593012,12.2698908,10.3345224,33.0460246,25.9264375,1.624459,1.7174519,28.7174748,24.372012,44.1652648,17.9194487,39.839485,66.325865,36.7355071,47.8466907,24.3764959,3.6843678,11.7850156,9.5248301,32.2519597,27.9727868 +2309,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8232445,0.816926,12.3485875,8.0595978,25.1534543,21.2065413,32.045339,68.1764,37.6633902,48.8273263,25.0290253,3.5918455,12.5551313,11.0079872,37.4413997,7.8766277,0.8951291,0.8951291,12.6721975,8.2636298,25.6387965,20.6739892,31.5403417,67.9432078,37.5570045,47.2731508,24.7454913,3.4869167,12.2935176,11.3213944,37.1445584,8.8234352,0.920995,0.9304797,12.6110358,8.0867484,25.5405647,20.9818274,32.4736295,67.434266,37.4665937,47.0727357,24.6244375,3.2594962,11.9269201,11.5059587,38.0076575,9.5277584,0.8124505,0.8217993,13.063919,8.8572966,25.4361625,21.1396703,33.5232686,67.7267731,38.2623171,47.7868778,25.6648721,3.7056525,12.0389817,11.4618322,38.0139903,10.0851452,0.8439412,0.853225,13.5819527,9.2931971,24.9688888,21.1920275,34.3632993,67.568401,38.8902184,47.7351492,25.3008101,3.485905,11.5676473,11.469698,39.6810329,8.9587054 +2310,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4517166,0.4600798,8.4841285,5.2320974,45.8909584,19.9715206,28.9917028,65.1503372,34.175746,40.9668221,18.7791633,7.4002054,10.4523242,7.327586,35.562368,3.1626525,0.4637957,0.4685295,8.7841318,5.5015727,46.3684883,20.0650185,29.2174119,65.1334561,33.3894869,39.8678419,18.7743,7.3982906,10.4793961,7.5618481,36.0756883,2.9141122,0.4245225,0.4324798,8.7893138,5.590798,46.9959363,20.2709815,28.8381214,64.9216771,32.754575,39.986952,17.4804238,6.9843377,10.4727116,7.5416792,36.1648507,3.376208,0.3993725,0.4073034,9.1426239,6.0730326,47.3976552,20.4186421,29.2705136,64.3951243,32.4117406,39.4730111,17.1209824,6.9444481,10.1930918,7.5609761,36.3210921,3.4023689,0.3406489,0.3482942,9.2771661,6.2484069,47.7426841,20.7741151,29.8453529,63.6941949,31.8159201,39.3988598,16.824648,7.0217047,10.3382132,7.5608039,36.3939482,3.4954429 +2311,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8450832,0.8596572,13.19446,10.1527349,34.273874,17.7932619,34.6472357,67.4425124,37.8222403,48.0208834,21.714446,4.9228647,12.6640804,10.6516768,27.5821589,4.7543124,0.8164,0.8310257,13.3188812,10.18037,35.5137142,18.5526923,34.5747002,67.1750391,37.7458132,48.2384925,21.4645406,4.8498856,12.0708113,10.5133632,26.9340773,4.0086587,0.7251734,0.7542166,13.5298726,10.3433979,36.3178722,18.866154,34.4104395,67.0264833,37.5001757,48.5518865,20.9535637,4.8890643,12.1679895,10.559153,27.347156,4.7379576,0.8214107,0.8506152,13.8773959,10.6265045,36.6087707,19.0530211,34.2525498,67.0557138,36.8336226,48.3192123,20.7596427,5.145195,12.6876586,10.7736851,26.2968692,5.4208541,0.8524198,0.8562544,14.2374631,11.0586945,37.6420287,19.0123155,33.9944562,66.9111612,36.0748012,48.6337028,20.5072567,5.3213057,12.3253533,11.1080247,25.8271533,6.2711163 +2312,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.741521,1.8667636,29.8505911,25.891729,66.8818447,13.2297231,34.9164675,60.8105436,27.9700073,38.727797,15.7865275,2.4158906,18.2583857,14.6224928,43.7574785,21.5277043,1.5497758,1.6736734,30.4450895,26.3991515,67.5004017,13.1529306,35.0242921,60.8040544,28.0634362,39.0478694,16.2519731,2.574032,18.9278958,14.646496,44.4048406,22.0144858,1.6161529,1.7057295,31.0803781,26.7271397,67.4165677,13.2039397,35.1397968,61.3688898,28.1697119,39.4564317,16.6015094,2.7632085,18.2658594,14.780005,44.0247705,20.8393494,1.5624091,1.6167411,31.9582293,27.6561614,68.1008799,12.8653251,34.3076143,61.7497197,27.9372099,39.1289888,16.2724028,2.4489784,18.2455122,14.9075462,43.2522572,21.5101514,1.6008589,1.6133195,32.343411,28.0213431,67.3063165,12.8179901,34.53247,62.6183434,29.2022671,39.3783991,16.9148312,2.8283221,17.7629179,14.7981573,42.4024299,19.2897433 +2313,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1555448,1.2381241,25.1557976,21.0170271,37.9008224,16.2189512,34.1924168,64.6833497,36.2715005,45.9444697,20.363809,3.3838488,13.646968,10.0816064,35.1189143,21.0755952,1.2788469,1.3427731,25.4200292,21.2453731,37.5805887,15.759839,34.0404562,64.2436261,35.6358048,46.3476125,20.213497,3.2973829,13.7730653,10.0302502,35.8523798,21.5278017,1.3548732,1.418104,25.8603124,21.7141662,38.0243878,15.5143499,34.0190668,63.774047,34.7715193,45.7171125,19.916323,3.3861102,13.8790625,9.9177262,35.9240801,21.0145064,1.3654145,1.4369518,26.7351174,22.843847,39.0123694,15.0076428,34.0411851,63.3560872,34.182849,45.327943,19.8354467,3.3357727,13.9462168,10.0553992,35.9915856,20.4871243,1.3173801,1.3857586,27.223223,23.3262211,39.6778012,14.9203228,34.5287781,62.9585958,32.9946989,44.9132752,18.9047422,3.1679193,13.6482835,9.795464,36.0287536,19.1057002 +2314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4637957,0.4685295,8.7841318,5.5015727,46.3684883,20.0650185,29.2174119,65.1334561,33.3894869,39.8678419,18.7743,7.3982906,10.4793961,7.5618481,36.0756883,2.9141122,0.4245225,0.4324798,8.7893138,5.590798,46.9959363,20.2709815,28.8381214,64.9216771,32.754575,39.986952,17.4804238,6.9843377,10.4727116,7.5416792,36.1648507,3.376208,0.3993725,0.4073034,9.1426239,6.0730326,47.3976552,20.4186421,29.2705136,64.3951243,32.4117406,39.4730111,17.1209824,6.9444481,10.1930918,7.5609761,36.3210921,3.4023689,0.3406489,0.3482942,9.2771661,6.2484069,47.7426841,20.7741151,29.8453529,63.6941949,31.8159201,39.3988598,16.824648,7.0217047,10.3382132,7.5608039,36.3939482,3.4954429,0.4434924,0.4563299,9.6431162,6.5631856,47.5873285,21.0429937,30.4457266,63.5633884,31.6199424,39.7675599,17.4095395,6.9853835,10.0735039,7.5168926,35.6830285,3.9358612 +2315,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5871576,1.6936937,20.3592202,16.2185068,83.2385745,15.3388408,36.0296997,64.0963557,37.1605414,41.5039477,20.0430548,5.1287081,13.9472138,13.3540784,37.1949496,9.7373392,1.6381379,1.6871616,19.9191657,15.9162711,83.570508,15.3533695,34.511583,63.8359792,36.6093395,41.6358808,19.8786965,5.1847821,13.9382771,12.578562,38.678469,12.1475584,1.6214964,1.6508933,20.1221768,16.1928068,83.5830416,14.4080792,33.9208146,63.0115623,36.9244954,41.4012679,19.852499,5.658901,14.5497445,12.7703679,39.3718461,12.9841212,1.5813813,1.5813813,19.7413035,15.5587003,83.9783647,14.587074,34.0678764,62.8742579,38.0818271,41.4607971,20.3631886,6.0870744,14.6957259,13.4401003,38.8812227,11.6861989,1.6190379,1.6190379,19.6125041,15.5694009,84.6616109,13.1116274,33.9001488,61.7958321,36.6671279,40.6522136,19.6993561,5.5595772,14.1493355,13.0298988,38.2570145,12.7732872 +2316,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5485498,0.5625613,7.4819168,4.7694394,41.6056725,21.1340206,30.0587173,68.2249322,33.5365854,45.234869,16.5085818,5.8943089,10.2508651,9.5753899,31.6041848,0.3448276,0.6441387,0.6576285,7.9956427,5.1198257,42.1716055,21.3884083,29.8908297,69.0174672,33.9519651,45.5240175,16.3537118,6.3537118,10.7531381,9.2779177,32.1940928,1.5625,0.5708143,0.5846858,7.9616414,5.0624442,41.8302145,21.09375,29.590459,68.2943294,33.8658866,45.3870387,15.7740774,5.9630963,10.8355091,9.6338274,33.5237258,1.5243902,0.6527658,0.6456005,8.0526073,5.2376557,41.5532614,21.6743119,28.8319483,67.4284395,34.0027701,45.7294552,15.4893813,6.0710988,11.1830743,9.2048401,33.6094159,1.5337423,0.5667214,0.5462127,8.09797,5.2294793,41.6968326,22.2099691,30.1058668,67.4239082,34.03176,45.2359947,15.9902955,6.3299515,11.0060514,9.0667678,34.5392232,3.2934132 +2317,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5497758,1.6736734,30.4450895,26.3991515,67.5004017,13.1529306,35.0242921,60.8040544,28.0634362,39.0478694,16.2519731,2.574032,18.9278958,14.646496,44.4048406,22.0144858,1.6161529,1.7057295,31.0803781,26.7271397,67.4165677,13.2039397,35.1397968,61.3688898,28.1697119,39.4564317,16.6015094,2.7632085,18.2658594,14.780005,44.0247705,20.8393494,1.5624091,1.6167411,31.9582293,27.6561614,68.1008799,12.8653251,34.3076143,61.7497197,27.9372099,39.1289888,16.2724028,2.4489784,18.2455122,14.9075462,43.2522572,21.5101514,1.6008589,1.6133195,32.343411,28.0213431,67.3063165,12.8179901,34.53247,62.6183434,29.2022671,39.3783991,16.9148312,2.8283221,17.7629179,14.7981573,42.4024299,19.2897433,1.5326431,1.5451943,32.2682984,27.9178316,66.5627773,12.7901724,35.2666842,64.1996515,29.5629456,40.0323323,17.0136997,2.9748048,16.8698863,13.9966889,41.5378946,19.183274 +2318,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8164,0.8310257,13.3188812,10.18037,35.5137142,18.5526923,34.5747002,67.1750391,37.7458132,48.2384925,21.4645406,4.8498856,12.0708113,10.5133632,26.9340773,4.0086587,0.7251734,0.7542166,13.5298726,10.3433979,36.3178722,18.866154,34.4104395,67.0264833,37.5001757,48.5518865,20.9535637,4.8890643,12.1679895,10.559153,27.347156,4.7379576,0.8214107,0.8506152,13.8773959,10.6265045,36.6087707,19.0530211,34.2525498,67.0557138,36.8336226,48.3192123,20.7596427,5.145195,12.6876586,10.7736851,26.2968692,5.4208541,0.8524198,0.8562544,14.2374631,11.0586945,37.6420287,19.0123155,33.9944562,66.9111612,36.0748012,48.6337028,20.5072567,5.3213057,12.3253533,11.1080247,25.8271533,6.2711163,0.904835,0.8894822,14.7150097,11.1273826,38.4085834,19.3014446,34.2185113,67.6270734,35.5368489,49.1082909,20.4011177,5.3430739,12.2202483,10.7883065,25.6426607,6.9131077 +2319,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7251734,0.7542166,13.5298726,10.3433979,36.3178722,18.866154,34.4104395,67.0264833,37.5001757,48.5518865,20.9535637,4.8890643,12.1679895,10.559153,27.347156,4.7379576,0.8214107,0.8506152,13.8773959,10.6265045,36.6087707,19.0530211,34.2525498,67.0557138,36.8336226,48.3192123,20.7596427,5.145195,12.6876586,10.7736851,26.2968692,5.4208541,0.8524198,0.8562544,14.2374631,11.0586945,37.6420287,19.0123155,33.9944562,66.9111612,36.0748012,48.6337028,20.5072567,5.3213057,12.3253533,11.1080247,25.8271533,6.2711163,0.904835,0.8894822,14.7150097,11.1273826,38.4085834,19.3014446,34.2185113,67.6270734,35.5368489,49.1082909,20.4011177,5.3430739,12.2202483,10.7883065,25.6426607,6.9131077,1.0580302,1.0683579,15.1504724,11.3663437,39.1446872,19.4390801,33.8475038,67.0705931,35.1789241,48.7230232,20.5263044,5.1480902,12.4033437,10.6568158,26.170339,7.5152637 +2320,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5133828,0.5599866,8.2199571,5.045353,49.2928152,23.3520623,29.417329,65.3234982,32.2928387,43.5679117,17.915245,6.0348105,10.5653733,9.2291392,31.6370103,2.4324337,0.428499,0.4626754,8.0125856,4.8667668,49.2745627,23.3650005,29.3782121,64.99264,32.100803,43.3222959,17.2001479,6.0154541,10.7989204,9.2605187,31.4840066,2.8205128,0.4711272,0.5065255,7.8322503,4.9980864,48.6749787,24.2270669,29.4596701,64.4543435,32.008453,42.8488355,17.0217324,6.181076,10.5756459,9.0056115,31.8564168,2.3560209,0.513824,0.526079,7.7919515,5.0817075,48.0070323,24.0574165,29.6286921,64.3704994,31.4055315,42.5383302,16.758833,6.020548,10.9748138,8.7553217,32.5673626,2.3076923,0.4797179,0.4562106,8.3492584,5.25411,49.1710363,24.0994274,30.0682653,63.6935978,30.068543,42.5065016,16.8695816,5.8767778,10.8709811,8.0919798,32.1227061,2.5943396 +2321,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.896312,1.9911545,29.1852798,24.6504752,43.7437665,18.5352572,41.5655698,66.8899203,36.3418955,49.0215405,24.4604614,4.2088992,12.5310133,10.8634085,32.750877,22.7795647,1.7936376,1.860854,29.4980775,25.0564837,43.5763086,18.2141655,41.7047852,66.7942887,36.8664046,48.9696263,24.3942773,4.1095828,12.1738447,10.6571034,32.6154301,25.0065074,1.6295019,1.7229796,28.6996975,24.1705564,43.9177008,18.4356424,40.5026391,66.7708821,37.9854601,48.7853749,24.3844745,3.9593012,12.2698908,10.3345224,33.0460246,25.9264375,1.624459,1.7174519,28.7174748,24.372012,44.1652648,17.9194487,39.839485,66.325865,36.7355071,47.8466907,24.3764959,3.6843678,11.7850156,9.5248301,32.2519597,27.9727868,1.8038515,1.8883243,28.6297926,24.4198913,43.894995,17.3642029,40.153428,66.8487803,37.1783195,48.4111178,25.0910931,3.7654026,12.0703406,9.5240671,32.2386914,28.2808653 +2322,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6161529,1.7057295,31.0803781,26.7271397,67.4165677,13.2039397,35.1397968,61.3688898,28.1697119,39.4564317,16.6015094,2.7632085,18.2658594,14.780005,44.0247705,20.8393494,1.5624091,1.6167411,31.9582293,27.6561614,68.1008799,12.8653251,34.3076143,61.7497197,27.9372099,39.1289888,16.2724028,2.4489784,18.2455122,14.9075462,43.2522572,21.5101514,1.6008589,1.6133195,32.343411,28.0213431,67.3063165,12.8179901,34.53247,62.6183434,29.2022671,39.3783991,16.9148312,2.8283221,17.7629179,14.7981573,42.4024299,19.2897433,1.5326431,1.5451943,32.2682984,27.9178316,66.5627773,12.7901724,35.2666842,64.1996515,29.5629456,40.0323323,17.0136997,2.9748048,16.8698863,13.9966889,41.5378946,19.183274,1.5262645,1.5007661,32.2540834,27.9731205,67.0483731,12.2642569,34.7026281,64.8797611,29.2770297,39.9642738,17.1770904,2.7753874,17.0193098,14.5824398,40.9607725,19.7277909 +2323,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.5221594,1.5691246,18.6298824,14.6717122,62.8540301,13.7907646,29.6220047,61.4713156,31.4526179,39.0371955,17.2413019,3.3228458,15.2942067,12.1936964,36.6161649,10.2846191,1.4429417,1.5148698,18.6306782,14.5356804,63.9286383,12.8751992,29.9558209,61.8424098,30.8178279,38.8681573,16.1793072,3.1412434,16.5203231,12.4141809,38.4150512,11.0823674,1.5094305,1.5818116,18.9813773,14.535352,64.2670297,12.6532526,29.482635,61.5238632,30.46588,38.4008175,16.0587456,2.9130395,16.7106511,12.6056778,39.6940848,10.3494056,1.4795211,1.5516114,18.4503614,14.0602227,64.7989483,12.7592798,29.3144206,61.6724345,30.3613416,37.8740089,16.1721783,2.8451473,16.274287,12.5839297,39.2927473,8.7243673,1.5191867,1.5995598,19.7202087,14.9080333,66.0077868,12.4570403,29.7242516,61.1833204,29.3409128,37.0041903,16.2553782,3.008664,17.1723092,13.7743394,40.7294534,10.1092806 +2324,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.7090994,0.7484076,9.8812988,6.5039158,45.5997462,13.4075098,30.1449787,64.0189234,31.1401917,41.5345944,18.39907,14.6762497,10.7995725,8.2648293,37.9570407,3.2142848,0.6272277,0.6609659,9.9349662,6.4162118,45.8368881,13.3305818,30.3190844,63.7999302,31.1459178,41.6501772,18.0913048,14.7956212,10.7799646,8.4839917,37.5721067,3.9202195,0.6058501,0.6381864,9.4648169,6.1171686,45.6727997,13.436942,30.5770055,63.4212271,30.7424998,41.3559245,17.8342939,14.778243,10.5995373,8.5405661,37.5925287,3.8050729,0.5709185,0.615467,9.5100379,6.30033,45.7753199,13.5408287,30.1068522,63.7319554,30.9594234,41.3265999,17.6821712,15.044901,10.5250385,8.3551112,37.3539842,4.0689655,0.512667,0.5679703,9.6190155,6.4696885,45.5678159,13.856438,30.077892,63.6079301,30.7152128,40.8651081,17.3551317,14.6996324,11.3950041,8.6699915,37.4031303,3.490029 +2325,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9202237,0.9136331,15.6190123,11.6499457,48.8472124,13.0967204,30.1680268,64.1591972,33.6657723,40.7994125,17.8766816,4.288531,11.6691275,8.5068798,33.4114436,11.6013782,0.8649763,0.864064,15.9144737,11.9996834,49.5665804,13.1020419,30.8774508,63.9924037,33.2743495,40.8289988,18.5028792,4.3553639,11.8485818,8.971756,33.8829474,12.5,0.9625009,0.9705324,15.9042494,11.8951782,50.3714872,12.9512771,30.7057555,64.6000571,34.1975855,41.4930663,19.0015447,4.4517905,11.7222873,9.088249,33.8295733,13.0952381,0.8911072,0.912481,16.2538131,12.2231536,51.2330832,12.5077402,30.9504175,64.5115082,33.9152584,41.6110526,18.4000962,4.537174,11.9066956,8.9595563,34.0392073,13.3223684,0.923018,0.9606328,16.446858,12.4854643,52.7270882,12.3433379,30.5571655,64.7973197,33.9975548,41.4955741,18.3830611,4.4561396,12.6409977,9.814529,33.6122684,14.3518519 +2326,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8214107,0.8506152,13.8773959,10.6265045,36.6087707,19.0530211,34.2525498,67.0557138,36.8336226,48.3192123,20.7596427,5.145195,12.6876586,10.7736851,26.2968692,5.4208541,0.8524198,0.8562544,14.2374631,11.0586945,37.6420287,19.0123155,33.9944562,66.9111612,36.0748012,48.6337028,20.5072567,5.3213057,12.3253533,11.1080247,25.8271533,6.2711163,0.904835,0.8894822,14.7150097,11.1273826,38.4085834,19.3014446,34.2185113,67.6270734,35.5368489,49.1082909,20.4011177,5.3430739,12.2202483,10.7883065,25.6426607,6.9131077,1.0580302,1.0683579,15.1504724,11.3663437,39.1446872,19.4390801,33.8475038,67.0705931,35.1789241,48.7230232,20.5263044,5.1480902,12.4033437,10.6568158,26.170339,7.5152637,0.8712978,0.8892993,15.2593398,11.4411369,38.9145539,19.6866258,32.9827172,67.2175108,35.5180394,48.5627592,20.2759932,4.9446338,12.158489,10.2779775,26.2450533,7.3898627 +2327,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.837548,0.873554,29.0151039,22.5955975,49.6586302,12.6396812,39.5296126,65.3225313,33.2122506,49.1111754,25.2865939,6.0643237,17.2358377,13.7626026,34.4429873,16.8009664,0.9685566,1.0571749,27.938317,21.8899041,49.5540489,12.295996,38.9087135,66.3193015,33.4619281,48.8738762,25.0606907,5.8247943,16.6402093,13.6060662,34.4996177,18.2355488,0.9850651,0.9672181,27.2355243,21.1443261,47.6030454,12.406079,39.269637,66.9876265,34.474145,50.1459807,25.2931981,5.7034387,15.9274762,13.010356,34.2504815,16.7999589,1.0953769,1.1089927,26.9087021,20.8898924,48.8717289,12.6149492,39.3388191,65.93386,34.0659994,49.7654728,25.2791381,5.947762,15.099627,12.1762643,34.3746993,19.3595353,1.081062,1.095118,26.4219291,20.5621358,47.4258762,12.7956378,39.0525807,66.4341577,34.1667682,49.9686772,26.9293853,5.8803737,14.4147491,11.7751917,33.9583444,18.7203327 +2328,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8836037,0.9281469,15.6988521,12.0148605,68.6704794,8.1513343,27.7465397,60.06182,27.648026,36.7182584,14.4438983,5.4897474,12.4914176,9.352276,37.9002308,8.3465695,0.8364918,0.8659114,15.9270073,12.3916875,69.7211603,8.0741908,27.2547953,60.4450926,27.6833401,36.5393371,14.282147,5.3734675,12.6981766,9.4628997,37.6256277,8.3246767,0.8415451,0.8765885,16.2634635,12.6546477,70.4070393,8.1909147,26.8353852,60.8632058,27.9396535,36.4132334,14.3345043,5.5007189,12.7781155,9.5535487,37.4271302,8.4005936,0.8197285,0.8482156,16.4957085,13.0229736,70.9619716,8.3382589,26.3523375,61.3582817,28.08362,36.2263602,14.3548985,5.3754583,12.9761836,9.6368966,37.2282982,8.2367038,0.8566044,0.9012002,16.6777256,13.2508113,71.6319622,8.369719,26.11371,62.1670081,28.6108337,36.6987703,14.4944129,5.3435878,13.0684223,9.6969111,37.1636114,8.3445689 +2329,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7936376,1.860854,29.4980775,25.0564837,43.5763086,18.2141655,41.7047852,66.7942887,36.8664046,48.9696263,24.3942773,4.1095828,12.1738447,10.6571034,32.6154301,25.0065074,1.6295019,1.7229796,28.6996975,24.1705564,43.9177008,18.4356424,40.5026391,66.7708821,37.9854601,48.7853749,24.3844745,3.9593012,12.2698908,10.3345224,33.0460246,25.9264375,1.624459,1.7174519,28.7174748,24.372012,44.1652648,17.9194487,39.839485,66.325865,36.7355071,47.8466907,24.3764959,3.6843678,11.7850156,9.5248301,32.2519597,27.9727868,1.8038515,1.8883243,28.6297926,24.4198913,43.894995,17.3642029,40.153428,66.8487803,37.1783195,48.4111178,25.0910931,3.7654026,12.0703406,9.5240671,32.2386914,28.2808653,1.6271361,1.7122231,28.1112217,24.1324414,43.5664818,17.2818709,40.2292307,67.2449019,36.5863595,48.2223264,25.2056282,3.7356374,11.9114728,9.3681112,30.0985858,28.8454618 +2330,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4950684,2.3103962,35.6720827,31.3884786,66.2826421,6.9852941,38.3982036,67.8892216,28.8173653,45.2844311,16.8413174,6.0628743,13.5174419,8.0174927,33.1871345,13.0813953,2.6231506,2.4324019,34.222561,30.8689024,66.6401274,7.2078907,38.9318885,66.3312693,27.0123839,44.0402477,16.9504644,6.1145511,12.9969419,9.0490798,33.0769231,13.9751553,2.2391775,2.1894262,34.4745223,30.9713376,66.8060201,7.5757576,39.233279,66.3132137,27.8140294,44.2903752,16.8841762,5.7911909,12.5,8.6319218,33.496732,14.9305556,1.9881755,1.9390837,34.4637224,31.6246057,68.5970636,7.0982839,37.6386688,66.0063391,27.496038,43.18542,17.3534073,6.1014263,13.5093168,8.8785047,34.84375,14.8026316,2.2095522,2.1590472,35.9706362,32.3817292,68.4433164,7.8225806,38.7070376,65.3846154,28.0687398,44.1080196,17.594108,6.4648118,14.1666667,8.8628763,35.4026846,16.9871795 +2331,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7609313,0.765004,11.0479566,7.2270102,47.1935686,11.7404248,31.5224839,67.6962573,42.8297959,45.8622837,24.5628983,4.9290764,10.7570779,9.4831856,39.1256951,9.6129846,0.7929145,0.8017278,11.237754,7.4091016,46.4617397,12.0404581,30.9568203,67.7606982,43.1601349,45.938745,24.798768,4.8702323,10.507563,9.3248623,39.039329,10.4428561,0.7706937,0.8073357,11.4732113,7.6965773,46.1656569,11.9467039,30.6216321,67.154174,42.8386675,45.6671892,24.745944,4.6596376,10.5352087,9.2772973,39.918423,10.2029506,0.7809548,0.8116452,11.6534506,7.7477375,46.038007,11.5826618,30.6490578,66.9292714,42.1544388,45.5256371,24.7100878,4.5717931,10.3998981,9.2041041,40.5232386,9.688596,0.7813449,0.8129507,11.6029261,7.826549,45.5814109,11.9411946,30.7281764,66.7481607,42.2533944,45.7003386,24.8162719,4.6072203,10.6005154,9.1423896,40.4849729,9.4253817 +2332,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6272277,0.6609659,9.9349662,6.4162118,45.8368881,13.3305818,30.3190844,63.7999302,31.1459178,41.6501772,18.0913048,14.7956212,10.7799646,8.4839917,37.5721067,3.9202195,0.6058501,0.6381864,9.4648169,6.1171686,45.6727997,13.436942,30.5770055,63.4212271,30.7424998,41.3559245,17.8342939,14.778243,10.5995373,8.5405661,37.5925287,3.8050729,0.5709185,0.615467,9.5100379,6.30033,45.7753199,13.5408287,30.1068522,63.7319554,30.9594234,41.3265999,17.6821712,15.044901,10.5250385,8.3551112,37.3539842,4.0689655,0.512667,0.5679703,9.6190155,6.4696885,45.5678159,13.856438,30.077892,63.6079301,30.7152128,40.8651081,17.3551317,14.6996324,11.3950041,8.6699915,37.4031303,3.490029,0.5236104,0.5410163,9.7803112,6.5848229,45.9039718,13.9667855,30.0610211,63.2730886,30.2722686,40.7874706,17.104802,14.4877363,11.5553809,8.8122914,37.1926261,3.7219106 +2333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8951291,0.8951291,12.6721975,8.2636298,25.6387965,20.6739892,31.5403417,67.9432078,37.5570045,47.2731508,24.7454913,3.4869167,12.2935176,11.3213944,37.1445584,8.8234352,0.920995,0.9304797,12.6110358,8.0867484,25.5405647,20.9818274,32.4736295,67.434266,37.4665937,47.0727357,24.6244375,3.2594962,11.9269201,11.5059587,38.0076575,9.5277584,0.8124505,0.8217993,13.063919,8.8572966,25.4361625,21.1396703,33.5232686,67.7267731,38.2623171,47.7868778,25.6648721,3.7056525,12.0389817,11.4618322,38.0139903,10.0851452,0.8439412,0.853225,13.5819527,9.2931971,24.9688888,21.1920275,34.3632993,67.568401,38.8902184,47.7351492,25.3008101,3.485905,11.5676473,11.469698,39.6810329,8.9587054,0.7904585,0.8368563,13.4979154,9.4112064,24.6033307,20.706753,34.448421,67.4885388,38.5149641,48.1325793,24.8960961,3.4047432,11.5344061,10.9534387,39.9833658,7.9775685 +2334,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7929145,0.8017278,11.237754,7.4091016,46.4617397,12.0404581,30.9568203,67.7606982,43.1601349,45.938745,24.798768,4.8702323,10.507563,9.3248623,39.039329,10.4428561,0.7706937,0.8073357,11.4732113,7.6965773,46.1656569,11.9467039,30.6216321,67.154174,42.8386675,45.6671892,24.745944,4.6596376,10.5352087,9.2772973,39.918423,10.2029506,0.7809548,0.8116452,11.6534506,7.7477375,46.038007,11.5826618,30.6490578,66.9292714,42.1544388,45.5256371,24.7100878,4.5717931,10.3998981,9.2041041,40.5232386,9.688596,0.7813449,0.8129507,11.6029261,7.826549,45.5814109,11.9411946,30.7281764,66.7481607,42.2533944,45.7003386,24.8162719,4.6072203,10.6005154,9.1423896,40.4849729,9.4253817,0.8509674,0.8796999,11.7566668,7.9899026,45.3707848,12.1102366,30.6545791,66.6807982,42.418811,45.4394537,24.8833983,4.5696359,10.6115556,8.7361165,40.2376108,8.9236729 +2335,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.428499,0.4626754,8.0125856,4.8667668,49.2745627,23.3650005,29.3782121,64.99264,32.100803,43.3222959,17.2001479,6.0154541,10.7989204,9.2605187,31.4840066,2.8205128,0.4711272,0.5065255,7.8322503,4.9980864,48.6749787,24.2270669,29.4596701,64.4543435,32.008453,42.8488355,17.0217324,6.181076,10.5756459,9.0056115,31.8564168,2.3560209,0.513824,0.526079,7.7919515,5.0817075,48.0070323,24.0574165,29.6286921,64.3704994,31.4055315,42.5383302,16.758833,6.020548,10.9748138,8.7553217,32.5673626,2.3076923,0.4797179,0.4562106,8.3492584,5.25411,49.1710363,24.0994274,30.0682653,63.6935978,30.068543,42.5065016,16.8695816,5.8767778,10.8709811,8.0919798,32.1227061,2.5943396,0.4022077,0.3880112,8.3486961,5.1787718,48.4886854,23.8716322,30.2967242,62.7750976,30.5535982,42.1002846,17.2837721,6.396648,10.3757653,7.5334852,32.2760486,3.5211268 +2336,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7107979,0.7197042,12.3937358,8.5908431,40.0362288,19.7187148,32.8216339,62.4645035,34.7481683,45.3183907,20.3377309,6.3896553,9.9178293,7.5712104,33.1453551,9.0361649,0.716408,0.7255198,12.4953723,8.5883349,40.6283027,19.8145368,32.5429211,62.4784772,35.2094098,45.5995017,20.2744741,6.3903655,9.8185771,7.7121092,33.4476324,8.5884679,0.7379181,0.7473734,12.6488351,8.7317428,41.4902872,19.6690074,32.9776101,61.9663823,34.4861716,44.7334908,20.2432137,6.6797849,10.0224186,7.5712813,34.080676,8.8182316,0.804491,0.8138859,13.2722831,9.2440679,42.0852688,19.7338795,33.2094576,61.8618218,33.7090563,44.5785859,19.9229765,6.7445115,10.4667325,7.8359246,34.2298086,9.0827812,0.8433817,0.8558055,13.4717978,9.5387021,42.8620808,19.6157476,33.4830007,61.1787394,33.4159448,44.4674113,19.8832576,6.6590471,10.6644741,7.9636648,33.9897737,7.9235308 +2337,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5624091,1.6167411,31.9582293,27.6561614,68.1008799,12.8653251,34.3076143,61.7497197,27.9372099,39.1289888,16.2724028,2.4489784,18.2455122,14.9075462,43.2522572,21.5101514,1.6008589,1.6133195,32.343411,28.0213431,67.3063165,12.8179901,34.53247,62.6183434,29.2022671,39.3783991,16.9148312,2.8283221,17.7629179,14.7981573,42.4024299,19.2897433,1.5326431,1.5451943,32.2682984,27.9178316,66.5627773,12.7901724,35.2666842,64.1996515,29.5629456,40.0323323,17.0136997,2.9748048,16.8698863,13.9966889,41.5378946,19.183274,1.5262645,1.5007661,32.2540834,27.9731205,67.0483731,12.2642569,34.7026281,64.8797611,29.2770297,39.9642738,17.1770904,2.7753874,17.0193098,14.5824398,40.9607725,19.7277909,1.5080247,1.4698354,32.2927696,28.2900469,66.9480795,12.1311987,33.6733956,64.5727296,29.581596,39.1874988,17.6853623,2.7765585,17.09633,13.847351,39.4166033,18.5397598 +2338,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7706937,0.8073357,11.4732113,7.6965773,46.1656569,11.9467039,30.6216321,67.154174,42.8386675,45.6671892,24.745944,4.6596376,10.5352087,9.2772973,39.918423,10.2029506,0.7809548,0.8116452,11.6534506,7.7477375,46.038007,11.5826618,30.6490578,66.9292714,42.1544388,45.5256371,24.7100878,4.5717931,10.3998981,9.2041041,40.5232386,9.688596,0.7813449,0.8129507,11.6029261,7.826549,45.5814109,11.9411946,30.7281764,66.7481607,42.2533944,45.7003386,24.8162719,4.6072203,10.6005154,9.1423896,40.4849729,9.4253817,0.8509674,0.8796999,11.7566668,7.9899026,45.3707848,12.1102366,30.6545791,66.6807982,42.418811,45.4394537,24.8833983,4.5696359,10.6115556,8.7361165,40.2376108,8.9236729,0.8731067,0.906828,11.8688722,8.1217957,45.1149318,11.975685,30.9116158,66.4724409,42.2172456,44.8321141,25.0280588,4.5424511,10.6023604,8.5349935,40.2833654,8.1646115 +2339,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7297044,1.7045023,27.0609179,22.3930724,56.4251321,17.9014408,39.6093232,63.410495,34.0896545,45.2990372,21.4534707,3.2988817,13.5679662,11.8986958,34.1803022,17.4266931,1.6374534,1.6124996,27.6674383,22.8521031,56.6527533,18.2949515,39.9463266,63.4635374,33.7681662,45.0994761,21.5383917,3.1317011,12.8286991,10.7270619,34.2550524,17.637529,1.4620222,1.437176,27.5458594,22.8272578,57.2025788,17.8408743,39.9889731,63.7458305,33.9218955,45.1626919,21.7439976,3.03356,13.0233604,10.9737712,34.1453608,16.2974735,1.3191541,1.3191541,27.3743989,22.7733048,56.1767766,18.342534,39.8588071,64.4570806,35.3270972,46.2870818,21.9033098,3.4311616,13.0828775,10.4058409,32.8508568,14.0822874,1.1638171,1.1638171,26.6001343,22.4192028,56.2799088,17.6765224,39.9258436,65.1650741,36.1505707,46.5081592,21.2250168,3.0948558,13.4351005,10.4693913,32.9066152,15.4952225 +2340,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6762225,0.6762225,8.5310657,6.3742829,65.4096004,13.4360729,26.4514785,68.6582567,31.458454,44.8102152,13.9536113,4.6383256,13.4438518,11.2951362,32.2594482,6.5378024,0.6919716,0.6874746,8.9183712,6.3322838,63.4374974,13.4800986,26.627815,69.9934888,31.8113788,45.7490587,15.0706364,4.5116757,13.4312505,11.4746421,32.7404933,6.6428114,0.6995213,0.6949753,8.7084582,6.1820977,61.5445513,13.1601555,27.2523117,70.4913297,31.6485202,45.4204715,14.9976154,4.6102138,12.757174,11.5207787,32.9381418,8.1554047,0.6732158,0.6685923,9.2218995,6.6203685,58.2468587,12.6799596,26.9170877,70.6666398,31.3140488,45.6143343,15.6273784,4.8526287,12.6558735,11.4695321,32.9812793,9.1234301,0.7354042,0.7308348,8.9237283,6.237008,54.4083269,13.0637334,26.5354271,70.7189142,31.2814818,46.6967113,16.0624279,4.8834921,12.5484021,11.389849,32.2066641,9.3281563 +2341,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6231506,2.4324019,34.222561,30.8689024,66.6401274,7.2078907,38.9318885,66.3312693,27.0123839,44.0402477,16.9504644,6.1145511,12.9969419,9.0490798,33.0769231,13.9751553,2.2391775,2.1894262,34.4745223,30.9713376,66.8060201,7.5757576,39.233279,66.3132137,27.8140294,44.2903752,16.8841762,5.7911909,12.5,8.6319218,33.496732,14.9305556,1.9881755,1.9390837,34.4637224,31.6246057,68.5970636,7.0982839,37.6386688,66.0063391,27.496038,43.18542,17.3534073,6.1014263,13.5093168,8.8785047,34.84375,14.8026316,2.2095522,2.1590472,35.9706362,32.3817292,68.4433164,7.8225806,38.7070376,65.3846154,28.0687398,44.1080196,17.594108,6.4648118,14.1666667,8.8628763,35.4026846,16.9871795,2.2922862,2.1325418,36.2778731,32.3327616,67.9328622,7.3979592,39.5008606,64.9741824,28.141136,43.4595525,17.6419966,6.7986231,16.440678,10.3741497,36.4726027,18.9655172 +2342,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.9685566,1.0571749,27.938317,21.8899041,49.5540489,12.295996,38.9087135,66.3193015,33.4619281,48.8738762,25.0606907,5.8247943,16.6402093,13.6060662,34.4996177,18.2355488,0.9850651,0.9672181,27.2355243,21.1443261,47.6030454,12.406079,39.269637,66.9876265,34.474145,50.1459807,25.2931981,5.7034387,15.9274762,13.010356,34.2504815,16.7999589,1.0953769,1.1089927,26.9087021,20.8898924,48.8717289,12.6149492,39.3388191,65.93386,34.0659994,49.7654728,25.2791381,5.947762,15.099627,12.1762643,34.3746993,19.3595353,1.081062,1.095118,26.4219291,20.5621358,47.4258762,12.7956378,39.0525807,66.4341577,34.1667682,49.9686772,26.9293853,5.8803737,14.4147491,11.7751917,33.9583444,18.7203327,1.2155267,1.229645,27.3151329,21.2041893,47.1230708,12.425878,38.9788869,66.6956391,34.0873117,49.3645775,26.478871,5.7063305,14.4496509,12.0312993,34.0408655,18.0346363 +2343,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8153142,0.8571052,16.9424641,13.3548576,54.3359909,12.9336216,28.5642684,64.9023109,29.1894229,42.6799818,14.6703331,4.6279589,13.2212426,11.0662104,31.2536469,7.089298,0.7937958,0.8243267,16.5654903,13.1448668,55.4929981,12.7538398,27.7523002,65.7859023,29.6669976,42.4312078,14.3897394,4.6370248,13.063605,11.1448516,30.3559252,8.5953982,0.7235847,0.7536904,16.4127141,13.2130427,55.5922512,13.159893,27.3844644,66.2635809,30.1967007,42.6057251,14.7591592,4.827938,13.3554145,12.111036,30.6626183,8.8562774,0.7089892,0.7473369,16.4506729,13.3538456,56.6692193,12.8991953,26.7863838,66.6635542,30.0903134,42.5374533,14.6274,4.8117702,13.5499057,11.8304862,29.763098,8.7919682,0.6621526,0.7082841,16.8887858,13.7649676,57.3777957,13.4078107,26.5445422,66.3756298,30.1690455,42.5821592,14.2629318,4.9107925,13.9078372,12.1101804,30.8676018,7.7436081 +2344,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7577905,0.783134,11.0390344,7.2280548,25.4053987,13.802703,30.1947642,68.2442734,40.9143584,48.2334945,21.8707093,6.6774204,9.9327918,8.7301489,33.6623642,4.6455703,0.758616,0.7836196,11.560045,7.66687,25.1640608,13.7684267,30.2579461,67.7144786,40.3968467,48.1634807,21.5988249,6.7528567,9.9735154,8.7882307,33.9062178,4.6710472,0.7630632,0.7878999,11.5786449,7.4900961,25.5478037,14.109359,30.157993,67.8929449,40.6269073,48.4614767,21.2286284,7.3727158,10.2371786,9.2863682,34.313715,8.0110122,0.8371178,0.8691402,11.5237097,7.6661307,25.1354075,14.6242462,30.1684233,67.9565108,40.2189796,47.2208628,20.9553801,7.7891837,10.6023731,9.497927,34.9761768,9.2178418,0.7096643,0.7636085,12.245038,8.2218997,25.4741104,14.3986518,30.516739,67.3256467,40.1290754,47.3202729,20.7755515,8.1565839,10.4438075,9.7464655,33.3217389,9.0205856 +2345,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.7937958,0.8243267,16.5654903,13.1448668,55.4929981,12.7538398,27.7523002,65.7859023,29.6669976,42.4312078,14.3897394,4.6370248,13.063605,11.1448516,30.3559252,8.5953982,0.7235847,0.7536904,16.4127141,13.2130427,55.5922512,13.159893,27.3844644,66.2635809,30.1967007,42.6057251,14.7591592,4.827938,13.3554145,12.111036,30.6626183,8.8562774,0.7089892,0.7473369,16.4506729,13.3538456,56.6692193,12.8991953,26.7863838,66.6635542,30.0903134,42.5374533,14.6274,4.8117702,13.5499057,11.8304862,29.763098,8.7919682,0.6621526,0.7082841,16.8887858,13.7649676,57.3777957,13.4078107,26.5445422,66.3756298,30.1690455,42.5821592,14.2629318,4.9107925,13.9078372,12.1101804,30.8676018,7.7436081,0.8144658,0.8376017,17.2594398,14.0953757,58.1099109,13.3410626,26.9343425,66.0448167,29.8565602,42.0418611,13.8485486,4.8244523,14.0763706,11.7635667,30.6186848,8.3481464 +2346,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8364918,0.8659114,15.9270073,12.3916875,69.7211603,8.0741908,27.2547953,60.4450926,27.6833401,36.5393371,14.282147,5.3734675,12.6981766,9.4628997,37.6256277,8.3246767,0.8415451,0.8765885,16.2634635,12.6546477,70.4070393,8.1909147,26.8353852,60.8632058,27.9396535,36.4132334,14.3345043,5.5007189,12.7781155,9.5535487,37.4271302,8.4005936,0.8197285,0.8482156,16.4957085,13.0229736,70.9619716,8.3382589,26.3523375,61.3582817,28.08362,36.2263602,14.3548985,5.3754583,12.9761836,9.6368966,37.2282982,8.2367038,0.8566044,0.9012002,16.6777256,13.2508113,71.6319622,8.369719,26.11371,62.1670081,28.6108337,36.6987703,14.4944129,5.3435878,13.0684223,9.6969111,37.1636114,8.3445689,0.9112865,0.949727,16.5894783,13.1876202,72.1530243,8.7168867,26.1585371,62.9326569,29.1963652,36.8558868,14.520584,5.4190667,13.2834522,9.5195763,36.3736988,8.2339423 +2347,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8415451,0.8765885,16.2634635,12.6546477,70.4070393,8.1909147,26.8353852,60.8632058,27.9396535,36.4132334,14.3345043,5.5007189,12.7781155,9.5535487,37.4271302,8.4005936,0.8197285,0.8482156,16.4957085,13.0229736,70.9619716,8.3382589,26.3523375,61.3582817,28.08362,36.2263602,14.3548985,5.3754583,12.9761836,9.6368966,37.2282982,8.2367038,0.8566044,0.9012002,16.6777256,13.2508113,71.6319622,8.369719,26.11371,62.1670081,28.6108337,36.6987703,14.4944129,5.3435878,13.0684223,9.6969111,37.1636114,8.3445689,0.9112865,0.949727,16.5894783,13.1876202,72.1530243,8.7168867,26.1585371,62.9326569,29.1963652,36.8558868,14.520584,5.4190667,13.2834522,9.5195763,36.3736988,8.2339423,0.9020129,0.9490671,16.7669691,13.3552937,73.0124086,8.2761801,26.3518336,63.2010449,28.7398095,36.7960664,14.4688225,5.2695254,13.4268182,9.3142466,36.2596726,8.4866083 +2348,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2418539,2.2764811,34.4948699,29.9867295,57.1653228,16.1180358,36.0752339,66.3236103,33.6768497,43.4116786,20.7815519,2.130312,14.832946,10.7871497,39.4662672,24.8328484,2.2839785,2.3448628,35.6764488,30.8304662,58.7695146,15.773253,36.091463,66.0084595,32.8040605,42.5555139,20.4005347,2.1408359,15.9659121,11.1940737,40.777075,24.4833565,2.2173393,2.3053928,36.104809,31.3950511,59.8329477,15.7567802,35.9717945,65.4529937,32.4511654,41.8035004,19.9544068,2.0827317,16.9019177,11.1923756,39.8298217,23.2942547,2.2358409,2.2753044,36.8972131,32.1513928,59.6979142,15.4702761,36.1758096,65.6393164,32.0391164,41.459876,19.2821704,2.0682745,17.5691245,12.1350626,39.928959,24.1477017,2.1306753,2.1579041,37.0516377,32.364273,60.1915989,15.5877427,35.739202,65.0029569,31.7135489,40.8501506,19.2665099,2.0789092,17.1558239,12.06057,39.4324488,24.1153552 +2349,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6919716,0.6874746,8.9183712,6.3322838,63.4374974,13.4800986,26.627815,69.9934888,31.8113788,45.7490587,15.0706364,4.5116757,13.4312505,11.4746421,32.7404933,6.6428114,0.6995213,0.6949753,8.7084582,6.1820977,61.5445513,13.1601555,27.2523117,70.4913297,31.6485202,45.4204715,14.9976154,4.6102138,12.757174,11.5207787,32.9381418,8.1554047,0.6732158,0.6685923,9.2218995,6.6203685,58.2468587,12.6799596,26.9170877,70.6666398,31.3140488,45.6143343,15.6273784,4.8526287,12.6558735,11.4695321,32.9812793,9.1234301,0.7354042,0.7308348,8.9237283,6.237008,54.4083269,13.0637334,26.5354271,70.7189142,31.2814818,46.6967113,16.0624279,4.8834921,12.5484021,11.389849,32.2066641,9.3281563,0.7565076,0.7426624,9.0487263,6.2076049,50.9743578,13.4168638,26.0592725,70.5616677,31.7042347,46.2942509,16.0808201,4.7904862,11.7715681,11.3829774,31.4163314,8.9925923 +2350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4711272,0.5065255,7.8322503,4.9980864,48.6749787,24.2270669,29.4596701,64.4543435,32.008453,42.8488355,17.0217324,6.181076,10.5756459,9.0056115,31.8564168,2.3560209,0.513824,0.526079,7.7919515,5.0817075,48.0070323,24.0574165,29.6286921,64.3704994,31.4055315,42.5383302,16.758833,6.020548,10.9748138,8.7553217,32.5673626,2.3076923,0.4797179,0.4562106,8.3492584,5.25411,49.1710363,24.0994274,30.0682653,63.6935978,30.068543,42.5065016,16.8695816,5.8767778,10.8709811,8.0919798,32.1227061,2.5943396,0.4022077,0.3880112,8.3486961,5.1787718,48.4886854,23.8716322,30.2967242,62.7750976,30.5535982,42.1002846,17.2837721,6.396648,10.3757653,7.5334852,32.2760486,3.5211268,0.411158,0.3968934,8.0966481,5.1457057,48.2777025,23.0356496,30.4498185,63.0211931,30.5238652,41.7740899,17.6503598,6.3998732,10.870831,7.5594915,32.4195906,3.6407767 +2351,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8524198,0.8562544,14.2374631,11.0586945,37.6420287,19.0123155,33.9944562,66.9111612,36.0748012,48.6337028,20.5072567,5.3213057,12.3253533,11.1080247,25.8271533,6.2711163,0.904835,0.8894822,14.7150097,11.1273826,38.4085834,19.3014446,34.2185113,67.6270734,35.5368489,49.1082909,20.4011177,5.3430739,12.2202483,10.7883065,25.6426607,6.9131077,1.0580302,1.0683579,15.1504724,11.3663437,39.1446872,19.4390801,33.8475038,67.0705931,35.1789241,48.7230232,20.5263044,5.1480902,12.4033437,10.6568158,26.170339,7.5152637,0.8712978,0.8892993,15.2593398,11.4411369,38.9145539,19.6866258,32.9827172,67.2175108,35.5180394,48.5627592,20.2759932,4.9446338,12.158489,10.2779775,26.2450533,7.3898627,0.8478289,0.8655526,16.0645719,12.2288219,38.9978424,19.3226415,33.426028,67.4376383,36.1447715,48.7885464,20.8013403,4.9806012,12.5424847,9.9449224,26.7758322,8.0190848 +2352,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7733529,0.7762797,11.8453238,8.3961942,44.3789379,19.1010954,32.5044145,67.8303839,37.5546585,43.4035547,22.1978694,4.5220323,10.3504153,9.2654454,35.4890884,9.1695438,0.6989246,0.7094442,12.1886975,8.6886261,44.3258429,18.8057099,32.1769174,67.999457,37.3233011,42.9488327,22.363671,4.629178,10.0182222,9.0013472,34.9097458,8.3904883,0.7248541,0.7326734,12.9213729,9.2475425,45.120057,18.2477092,32.0945602,67.8274481,36.9884703,43.0733399,22.0738995,4.5442942,10.4855712,9.2288757,35.1901169,8.7744034,0.7787902,0.7787902,12.8852286,9.2074773,45.1063878,18.6690474,32.686853,67.927708,37.4462751,43.1949579,21.8045483,4.6123133,10.8423673,9.1191448,36.0546316,8.4478203,0.7255724,0.753369,13.3802497,9.7517479,44.6817527,18.3139352,32.9589913,67.0899858,36.3129969,43.5139704,21.1957989,4.3280017,10.3567383,9.2120515,35.7525372,8.4713221 +2353,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6441387,0.6576285,7.9956427,5.1198257,42.1716055,21.3884083,29.8908297,69.0174672,33.9519651,45.5240175,16.3537118,6.3537118,10.7531381,9.2779177,32.1940928,1.5625,0.5708143,0.5846858,7.9616414,5.0624442,41.8302145,21.09375,29.590459,68.2943294,33.8658866,45.3870387,15.7740774,5.9630963,10.8355091,9.6338274,33.5237258,1.5243902,0.6527658,0.6456005,8.0526073,5.2376557,41.5532614,21.6743119,28.8319483,67.4284395,34.0027701,45.7294552,15.4893813,6.0710988,11.1830743,9.2048401,33.6094159,1.5337423,0.5667214,0.5462127,8.09797,5.2294793,41.6968326,22.2099691,30.1058668,67.4239082,34.03176,45.2359947,15.9902955,6.3299515,11.0060514,9.0667678,34.5392232,3.2934132,0.4804339,0.4804339,8.3818636,5.4700499,43.2858377,21.4766512,31.0121288,65.9347553,32.93601,44.8138854,15.6629026,6.252614,10.6518817,8.0121704,34.7899729,3.1609195 +2354,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7956602,0.8131466,12.078079,8.6609357,35.0956505,10.8904517,29.8586432,64.6431058,33.2226242,45.5053066,18.7349962,3.5971727,11.1982416,8.9711187,30.01892,7.6642261,0.7095612,0.7268929,11.9980854,8.5464902,35.6259047,10.9914083,30.1202201,64.9307936,33.3776159,45.5403373,18.3489556,3.3342657,11.0002237,8.8726076,29.3965383,8.6805455,0.727103,0.7628817,11.9260447,8.5758121,35.9015168,11.1872327,30.5064729,65.6775436,34.1593916,45.9328645,19.0181845,3.2387255,11.0161297,8.9954128,29.8743686,8.0219727,0.7682719,0.809046,11.6316173,8.5384506,36.4476193,11.1030989,30.5053505,66.4012017,34.5200962,46.1959402,18.9350558,3.3105065,11.1930184,9.2404987,29.4724885,8.6999965,0.7635369,0.8036341,11.4746415,8.5759217,37.1416234,11.2127015,30.5673255,66.5047152,34.661123,47.0851823,19.2705827,3.2063637,11.4536425,9.5956495,29.7603303,9.772296 +2355,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6008589,1.6133195,32.343411,28.0213431,67.3063165,12.8179901,34.53247,62.6183434,29.2022671,39.3783991,16.9148312,2.8283221,17.7629179,14.7981573,42.4024299,19.2897433,1.5326431,1.5451943,32.2682984,27.9178316,66.5627773,12.7901724,35.2666842,64.1996515,29.5629456,40.0323323,17.0136997,2.9748048,16.8698863,13.9966889,41.5378946,19.183274,1.5262645,1.5007661,32.2540834,27.9731205,67.0483731,12.2642569,34.7026281,64.8797611,29.2770297,39.9642738,17.1770904,2.7753874,17.0193098,14.5824398,40.9607725,19.7277909,1.5080247,1.4698354,32.2927696,28.2900469,66.9480795,12.1311987,33.6733956,64.5727296,29.581596,39.1874988,17.6853623,2.7765585,17.09633,13.847351,39.4166033,18.5397598,1.664161,1.5905027,31.2316382,27.1754396,66.3700734,12.6236732,33.4092842,64.6165086,29.4194679,39.5858142,17.2853359,2.456892,16.8104751,14.0671197,39.4114961,16.8656663 +2356,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5330527,0.5607374,10.3014081,6.9275241,33.4635124,22.2175317,31.334423,63.4546725,30.9208316,42.7487714,15.7843948,7.1546683,11.6221871,9.2222159,32.9954866,5.2884531,0.5062624,0.5346419,10.1385388,6.7731661,33.9280135,22.4856297,31.5008489,63.6659552,31.1899256,43.2023247,16.2379795,7.475966,11.0256698,9.3500935,33.4984808,4.9152459,0.4746233,0.5037678,10.194283,6.6560112,35.0816004,22.5154895,31.3024465,63.2561937,30.2026087,43.6323836,16.1939207,7.4529607,10.973708,8.6740762,33.7859493,5.3819258,0.4483604,0.4708346,9.9591442,6.605406,36.3705285,22.4383752,31.1011044,62.9430989,29.1255279,42.8675064,16.2260372,7.5392184,11.2095117,8.6187241,34.1201206,6.1258075,0.5308456,0.5657667,10.6167252,6.9162949,37.5423893,22.9762428,30.8987128,62.895242,29.1422912,43.2523284,16.0567979,7.625875,10.9872357,8.2103523,33.6323746,5.8729972 +2357,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.9850651,0.9672181,27.2355243,21.1443261,47.6030454,12.406079,39.269637,66.9876265,34.474145,50.1459807,25.2931981,5.7034387,15.9274762,13.010356,34.2504815,16.7999589,1.0953769,1.1089927,26.9087021,20.8898924,48.8717289,12.6149492,39.3388191,65.93386,34.0659994,49.7654728,25.2791381,5.947762,15.099627,12.1762643,34.3746993,19.3595353,1.081062,1.095118,26.4219291,20.5621358,47.4258762,12.7956378,39.0525807,66.4341577,34.1667682,49.9686772,26.9293853,5.8803737,14.4147491,11.7751917,33.9583444,18.7203327,1.2155267,1.229645,27.3151329,21.2041893,47.1230708,12.425878,38.9788869,66.6956391,34.0873117,49.3645775,26.478871,5.7063305,14.4496509,12.0312993,34.0408655,18.0346363,1.554371,1.5461611,27.2719357,21.2166244,47.8129178,13.0551476,38.8552798,66.8924993,34.5872166,48.931695,25.5180446,5.7200089,15.0468657,12.2509538,33.6264739,20.3247767 +2358,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8866873,0.8962814,10.6176252,7.0861927,21.7746068,16.8359935,35.0023656,68.9071971,40.7386884,50.032079,24.3470714,4.1259446,10.996815,9.6142652,32.7531234,4.9319761,0.8158736,0.8227188,10.7871615,7.3333403,21.920738,16.6885016,34.8131194,69.0723896,40.8317053,50.2893866,24.2973016,4.1584008,10.9018075,9.6912976,32.9892788,5.1418476,0.8195207,0.8234739,10.8572007,7.3581182,21.6085484,16.4626766,34.9656622,68.756398,40.9863126,50.0257676,24.0566187,4.2624376,11.4324982,9.8990113,32.2486545,5.7835886,0.8958421,0.8995695,11.5123421,7.7828814,21.6907088,16.2461502,36.3687612,68.4231454,40.6265462,50.3885656,24.0327029,4.330584,11.5928479,9.8555688,32.5215776,7.8397616,0.7886894,0.8029466,11.6118883,7.9457744,22.1749218,16.3923038,36.2870741,67.8074747,40.3198907,49.837819,23.5089778,4.1949984,11.4814906,9.975994,32.9762241,8.3051299 +2359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.920995,0.9304797,12.6110358,8.0867484,25.5405647,20.9818274,32.4736295,67.434266,37.4665937,47.0727357,24.6244375,3.2594962,11.9269201,11.5059587,38.0076575,9.5277584,0.8124505,0.8217993,13.063919,8.8572966,25.4361625,21.1396703,33.5232686,67.7267731,38.2623171,47.7868778,25.6648721,3.7056525,12.0389817,11.4618322,38.0139903,10.0851452,0.8439412,0.853225,13.5819527,9.2931971,24.9688888,21.1920275,34.3632993,67.568401,38.8902184,47.7351492,25.3008101,3.485905,11.5676473,11.469698,39.6810329,8.9587054,0.7904585,0.8368563,13.4979154,9.4112064,24.6033307,20.706753,34.448421,67.4885388,38.5149641,48.1325793,24.8960961,3.4047432,11.5344061,10.9534387,39.9833658,7.9775685,0.8785503,0.9261342,13.1239055,9.3857061,25.0393003,20.4239832,35.2007208,67.4933133,38.5637554,47.8763522,24.1006268,3.4819223,12.0394309,11.3055631,39.3597003,8.4013004 +2360,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6374534,1.6124996,27.6674383,22.8521031,56.6527533,18.2949515,39.9463266,63.4635374,33.7681662,45.0994761,21.5383917,3.1317011,12.8286991,10.7270619,34.2550524,17.637529,1.4620222,1.437176,27.5458594,22.8272578,57.2025788,17.8408743,39.9889731,63.7458305,33.9218955,45.1626919,21.7439976,3.03356,13.0233604,10.9737712,34.1453608,16.2974735,1.3191541,1.3191541,27.3743989,22.7733048,56.1767766,18.342534,39.8588071,64.4570806,35.3270972,46.2870818,21.9033098,3.4311616,13.0828775,10.4058409,32.8508568,14.0822874,1.1638171,1.1638171,26.6001343,22.4192028,56.2799088,17.6765224,39.9258436,65.1650741,36.1505707,46.5081592,21.2250168,3.0948558,13.4351005,10.4693913,32.9066152,15.4952225,1.1908486,1.1908486,26.7423365,22.4824984,56.5996624,17.4090941,39.728238,66.4064015,36.5713217,46.7979664,21.4536909,3.0012934,13.0412221,9.9378876,31.9831332,16.2295295 +2361,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.904835,0.8894822,14.7150097,11.1273826,38.4085834,19.3014446,34.2185113,67.6270734,35.5368489,49.1082909,20.4011177,5.3430739,12.2202483,10.7883065,25.6426607,6.9131077,1.0580302,1.0683579,15.1504724,11.3663437,39.1446872,19.4390801,33.8475038,67.0705931,35.1789241,48.7230232,20.5263044,5.1480902,12.4033437,10.6568158,26.170339,7.5152637,0.8712978,0.8892993,15.2593398,11.4411369,38.9145539,19.6866258,32.9827172,67.2175108,35.5180394,48.5627592,20.2759932,4.9446338,12.158489,10.2779775,26.2450533,7.3898627,0.8478289,0.8655526,16.0645719,12.2288219,38.9978424,19.3226415,33.426028,67.4376383,36.1447715,48.7885464,20.8013403,4.9806012,12.5424847,9.9449224,26.7758322,8.0190848,0.9716789,0.979133,16.2500263,12.2323255,39.2245399,18.7751493,33.0900376,67.7290574,36.5763414,48.6596998,21.1947606,4.9916184,13.1767212,10.3849981,26.5974399,8.6753115 +2362,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7875888,0.8024403,9.7263513,6.7564725,39.5509164,16.8976528,28.2669937,68.5525913,36.1207315,46.029875,21.4084947,3.6023291,9.8730322,9.1765343,33.8553352,8.4717743,0.7762094,0.7860461,9.9894741,6.7263132,38.853698,17.2057897,28.582215,68.8106141,36.5330745,45.927614,21.5147736,3.5013926,9.8371327,8.5904137,33.4987314,9.4178167,0.788343,0.8101782,10.1884042,6.8707703,38.9760308,16.8352671,29.2563307,69.1978286,37.5287147,46.6367273,21.2346002,3.8332929,9.5842048,8.6278613,33.8419906,10.304053,0.7804455,0.7831635,10.1202555,6.8589445,38.7692398,16.4370925,29.1874494,69.3162867,37.6662363,46.4775602,20.9372408,3.9172876,9.8296079,8.2120591,33.0058742,10.6271866,0.7268726,0.7391338,10.1321059,6.8394235,38.056543,16.6015616,30.1121138,69.7425885,38.2291688,46.8029847,21.1438643,3.7471464,9.5842086,7.9308902,33.4100445,10.5172232 +2363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8158736,0.8227188,10.7871615,7.3333403,21.920738,16.6885016,34.8131194,69.0723896,40.8317053,50.2893866,24.2973016,4.1584008,10.9018075,9.6912976,32.9892788,5.1418476,0.8195207,0.8234739,10.8572007,7.3581182,21.6085484,16.4626766,34.9656622,68.756398,40.9863126,50.0257676,24.0566187,4.2624376,11.4324982,9.8990113,32.2486545,5.7835886,0.8958421,0.8995695,11.5123421,7.7828814,21.6907088,16.2461502,36.3687612,68.4231454,40.6265462,50.3885656,24.0327029,4.330584,11.5928479,9.8555688,32.5215776,7.8397616,0.7886894,0.8029466,11.6118883,7.9457744,22.1749218,16.3923038,36.2870741,67.8074747,40.3198907,49.837819,23.5089778,4.1949984,11.4814906,9.975994,32.9762241,8.3051299,0.776111,0.8062273,11.9087167,8.2630363,22.4154838,16.4498829,36.2065997,67.1553371,39.5379392,49.3629432,23.0043273,4.1065427,11.5216506,10.4489816,33.1826087,9.3750514 +2364,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6058501,0.6381864,9.4648169,6.1171686,45.6727997,13.436942,30.5770055,63.4212271,30.7424998,41.3559245,17.8342939,14.778243,10.5995373,8.5405661,37.5925287,3.8050729,0.5709185,0.615467,9.5100379,6.30033,45.7753199,13.5408287,30.1068522,63.7319554,30.9594234,41.3265999,17.6821712,15.044901,10.5250385,8.3551112,37.3539842,4.0689655,0.512667,0.5679703,9.6190155,6.4696885,45.5678159,13.856438,30.077892,63.6079301,30.7152128,40.8651081,17.3551317,14.6996324,11.3950041,8.6699915,37.4031303,3.490029,0.5236104,0.5410163,9.7803112,6.5848229,45.9039718,13.9667855,30.0610211,63.2730886,30.2722686,40.7874706,17.104802,14.4877363,11.5553809,8.8122914,37.1926261,3.7219106,0.5553371,0.5583771,10.0457977,6.5934717,46.5935834,13.5635123,29.7596706,62.5615495,29.6776085,40.427905,16.9929652,14.3669397,11.4784825,8.5299045,36.9666542,4.0745862 +2365,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6391,0.6432008,9.695756,6.3966294,36.288471,19.9962792,30.2259932,71.6572795,40.3578101,47.8530928,22.7306917,3.4839917,8.4553453,8.6940585,33.6410759,7.2327044,0.6651563,0.6594505,10.0109453,6.5463183,36.8773987,19.7519356,30.0225381,71.5922155,40.5369852,47.4089286,22.4746505,3.3233187,7.6839044,8.3576648,33.860304,6.8047337,0.6506263,0.6449477,10.3016071,6.6315426,37.4664752,19.5660238,30.2592118,71.1307541,39.9887213,46.3748994,22.1074443,2.9864719,8.178566,9.1201808,35.0504424,7.3529412,0.6684395,0.6991898,11.0654328,7.0968898,36.0671227,19.1508765,30.5350628,71.457593,41.162364,46.8450255,22.3800889,3.15498,8.1696962,9.1578992,34.5473831,7.1022727,0.7672914,0.7645429,11.8695003,7.7777845,35.4760974,19.036527,30.2355173,71.5036449,41.1413052,47.3369542,22.2282822,3.1340564,8.649197,9.331959,34.1319326,10.1156589 +2366,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7809548,0.8116452,11.6534506,7.7477375,46.038007,11.5826618,30.6490578,66.9292714,42.1544388,45.5256371,24.7100878,4.5717931,10.3998981,9.2041041,40.5232386,9.688596,0.7813449,0.8129507,11.6029261,7.826549,45.5814109,11.9411946,30.7281764,66.7481607,42.2533944,45.7003386,24.8162719,4.6072203,10.6005154,9.1423896,40.4849729,9.4253817,0.8509674,0.8796999,11.7566668,7.9899026,45.3707848,12.1102366,30.6545791,66.6807982,42.418811,45.4394537,24.8833983,4.5696359,10.6115556,8.7361165,40.2376108,8.9236729,0.8731067,0.906828,11.8688722,8.1217957,45.1149318,11.975685,30.9116158,66.4724409,42.2172456,44.8321141,25.0280588,4.5424511,10.6023604,8.5349935,40.2833654,8.1646115,0.8720695,0.908706,12.3884035,8.4412161,45.3891718,11.5556388,30.9821716,66.2440431,41.7385771,44.2626856,24.5761243,4.4316428,10.5151527,8.516749,40.7156973,8.3218364 +2367,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8898852,2.0076487,23.9326713,19.3138726,46.332203,15.7145359,42.4837558,66.9230624,37.8742165,49.0014467,26.6501386,3.8467422,9.4715685,7.37789,31.6259075,22.5408435,1.9813446,2.1454507,25.2482314,20.2249219,45.996266,15.7936105,41.9443924,67.1742315,38.1270356,49.0156788,26.7657101,4.2369146,9.4546382,7.5196914,33.2355317,21.1999354,2.0825671,2.2111598,24.9247374,19.7734279,45.4090509,16.6528139,42.5957673,66.2824679,38.9431444,49.8927691,26.8975552,3.8998335,9.3889266,7.9284419,33.9382873,24.5596942,2.0471432,2.1815508,24.3398063,19.1771398,45.986095,16.890546,42.4226243,66.0247446,39.3294504,49.4238745,26.6466582,3.5572107,10.3720062,8.1881283,33.5925965,25.7080013,1.7547272,1.9191318,24.6870518,19.7392953,46.0845158,16.2250812,41.4037437,66.1077871,40.4373255,48.8123979,26.0424476,3.7060029,9.5299352,7.7357471,33.599251,19.3460082 +2368,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8124505,0.8217993,13.063919,8.8572966,25.4361625,21.1396703,33.5232686,67.7267731,38.2623171,47.7868778,25.6648721,3.7056525,12.0389817,11.4618322,38.0139903,10.0851452,0.8439412,0.853225,13.5819527,9.2931971,24.9688888,21.1920275,34.3632993,67.568401,38.8902184,47.7351492,25.3008101,3.485905,11.5676473,11.469698,39.6810329,8.9587054,0.7904585,0.8368563,13.4979154,9.4112064,24.6033307,20.706753,34.448421,67.4885388,38.5149641,48.1325793,24.8960961,3.4047432,11.5344061,10.9534387,39.9833658,7.9775685,0.8785503,0.9261342,13.1239055,9.3857061,25.0393003,20.4239832,35.2007208,67.4933133,38.5637554,47.8763522,24.1006268,3.4819223,12.0394309,11.3055631,39.3597003,8.4013004,0.8461324,0.9495687,13.2471977,9.7119739,25.355192,20.0843048,35.2876821,67.5516502,39.2006918,47.7949069,23.1457545,3.2125811,12.6405953,12.0013511,38.9564159,7.3232547 +2369,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5479232,2.5928444,37.9713941,32.7541195,52.6075968,18.8216988,37.7286491,64.30504,31.7437011,46.9737172,20.3173265,3.4341645,14.7871687,13.5969185,34.0253553,23.3105782,2.5202949,2.5705423,38.4873753,33.0896482,54.2587402,19.413492,37.5994648,64.0456755,32.2982186,45.812552,20.7235736,3.5237739,16.3004853,14.017176,34.3570993,23.7502749,2.4318863,2.4844491,36.3024499,31.1647581,53.5650082,19.240548,36.8692176,63.9048336,31.6658115,44.8453966,20.3103707,3.0750982,17.2180406,14.2893829,34.5923961,25.4456982,2.2987321,2.352584,35.7211606,30.4425884,53.3590465,19.5627202,36.7750866,65.4052422,33.0325288,45.5103765,20.8312659,3.015331,17.3396013,13.9777142,36.2442241,25.8368194,2.5375759,2.5397463,35.6706067,30.0610828,52.3451021,19.5277269,36.4398991,64.8756047,32.8344516,45.1681732,20.0241231,3.061495,17.8786244,13.393846,36.0938527,26.9868007 +2370,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7762094,0.7860461,9.9894741,6.7263132,38.853698,17.2057897,28.582215,68.8106141,36.5330745,45.927614,21.5147736,3.5013926,9.8371327,8.5904137,33.4987314,9.4178167,0.788343,0.8101782,10.1884042,6.8707703,38.9760308,16.8352671,29.2563307,69.1978286,37.5287147,46.6367273,21.2346002,3.8332929,9.5842048,8.6278613,33.8419906,10.304053,0.7804455,0.7831635,10.1202555,6.8589445,38.7692398,16.4370925,29.1874494,69.3162867,37.6662363,46.4775602,20.9372408,3.9172876,9.8296079,8.2120591,33.0058742,10.6271866,0.7268726,0.7391338,10.1321059,6.8394235,38.056543,16.6015616,30.1121138,69.7425885,38.2291688,46.8029847,21.1438643,3.7471464,9.5842086,7.9308902,33.4100445,10.5172232,0.6802212,0.687499,9.9940609,6.8109857,38.3168963,16.3906602,30.2238929,69.8769621,37.6058739,46.5005996,21.571196,3.9834628,9.3341415,7.534794,33.3399694,9.5317534 +2371,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6651563,0.6594505,10.0109453,6.5463183,36.8773987,19.7519356,30.0225381,71.5922155,40.5369852,47.4089286,22.4746505,3.3233187,7.6839044,8.3576648,33.860304,6.8047337,0.6506263,0.6449477,10.3016071,6.6315426,37.4664752,19.5660238,30.2592118,71.1307541,39.9887213,46.3748994,22.1074443,2.9864719,8.178566,9.1201808,35.0504424,7.3529412,0.6684395,0.6991898,11.0654328,7.0968898,36.0671227,19.1508765,30.5350628,71.457593,41.162364,46.8450255,22.3800889,3.15498,8.1696962,9.1578992,34.5473831,7.1022727,0.7672914,0.7645429,11.8695003,7.7777845,35.4760974,19.036527,30.2355173,71.5036449,41.1413052,47.3369542,22.2282822,3.1340564,8.649197,9.331959,34.1319326,10.1156589,0.8219289,0.7949602,12.2834431,8.0214916,35.3529741,18.8576331,30.2064847,70.8971279,40.6016365,47.8640028,22.2677287,2.901383,9.2506516,9.3108035,33.9022733,9.7765867 +2372,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.7235847,0.7536904,16.4127141,13.2130427,55.5922512,13.159893,27.3844644,66.2635809,30.1967007,42.6057251,14.7591592,4.827938,13.3554145,12.111036,30.6626183,8.8562774,0.7089892,0.7473369,16.4506729,13.3538456,56.6692193,12.8991953,26.7863838,66.6635542,30.0903134,42.5374533,14.6274,4.8117702,13.5499057,11.8304862,29.763098,8.7919682,0.6621526,0.7082841,16.8887858,13.7649676,57.3777957,13.4078107,26.5445422,66.3756298,30.1690455,42.5821592,14.2629318,4.9107925,13.9078372,12.1101804,30.8676018,7.7436081,0.8144658,0.8376017,17.2594398,14.0953757,58.1099109,13.3410626,26.9343425,66.0448167,29.8565602,42.0418611,13.8485486,4.8244523,14.0763706,11.7635667,30.6186848,8.3481464,0.8184939,0.8552641,17.6034073,14.4360231,59.0481206,13.4674931,27.2344769,66.2584984,30.1304241,41.9467225,13.9166999,4.7640105,14.2367372,11.1931991,30.1486761,8.3046687 +2373,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9440777,0.9673111,18.6870201,14.6311169,35.5600693,19.1032176,38.554671,64.6180916,36.3455101,46.4982437,22.2208868,3.3490679,13.7541449,9.735645,34.6039112,11.5517056,0.9377595,0.9546849,18.9498976,15.0034361,36.3820662,19.4265492,38.0201095,65.4628502,36.851416,47.4170596,22.5221611,3.4946847,13.377959,9.804289,35.0243689,11.8728882,0.9157158,0.9395093,18.2905256,14.2905373,36.9462344,20.4521313,38.8773688,66.5398934,38.231992,47.7524503,22.4411773,3.6077107,13.2028415,9.878453,35.2343541,9.5911756,0.9278902,0.9442669,18.3864112,14.259088,37.4797345,20.0291288,39.0451202,66.8972187,38.8410631,47.6185115,22.5560791,3.7083778,13.0919538,9.589945,34.5906661,10.8562452,0.9687951,1.0102472,18.8130077,14.8207452,38.8451619,20.0544952,39.2533149,67.3719386,38.4777838,48.0500811,22.7231901,3.7558054,12.2306926,9.9056461,34.6031983,12.7142644 +2374,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9535832,2.0253659,26.8083779,21.8012723,42.9189942,14.4376388,34.3507364,65.5088204,33.9645789,44.5378306,23.4329203,3.9844753,13.3725719,9.5179227,41.9895227,22.2397476,2.084068,2.1633145,27.744153,22.7936556,43.780603,14.1960267,34.6092831,64.9770446,33.658764,44.2968327,22.9653543,4.0567054,13.2811346,8.9073731,42.7662403,23.5015847,1.97785,2.0355593,28.2636825,22.9595781,44.3669776,13.6045002,34.3985899,65.0596822,33.0087398,44.5037349,23.1474892,3.8220663,13.3358096,8.6413037,43.7327004,21.5408873,1.9694695,2.0314607,28.9117207,23.751142,45.3895965,14.0758704,35.0471285,64.7473786,32.7246319,44.8329169,22.8862873,3.9192152,12.8390681,8.5316523,43.0741628,21.0769296,1.9927726,2.0590924,30.0156142,24.9483509,46.3562359,14.2130939,35.6448852,64.7618221,32.4519234,44.2501047,22.9028578,3.6256635,13.4487863,8.7308119,43.1731577,21.2963076 +2375,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5326431,1.5451943,32.2682984,27.9178316,66.5627773,12.7901724,35.2666842,64.1996515,29.5629456,40.0323323,17.0136997,2.9748048,16.8698863,13.9966889,41.5378946,19.183274,1.5262645,1.5007661,32.2540834,27.9731205,67.0483731,12.2642569,34.7026281,64.8797611,29.2770297,39.9642738,17.1770904,2.7753874,17.0193098,14.5824398,40.9607725,19.7277909,1.5080247,1.4698354,32.2927696,28.2900469,66.9480795,12.1311987,33.6733956,64.5727296,29.581596,39.1874988,17.6853623,2.7765585,17.09633,13.847351,39.4166033,18.5397598,1.664161,1.5905027,31.2316382,27.1754396,66.3700734,12.6236732,33.4092842,64.6165086,29.4194679,39.5858142,17.2853359,2.456892,16.8104751,14.0671197,39.4114961,16.8656663,1.6780107,1.6040982,30.7157254,26.5266903,65.6163938,13.0242047,32.2563556,64.4944753,28.9652887,38.8834924,17.2389859,2.5104869,16.7678223,13.4759264,38.7741502,17.164133 +2376,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.788343,0.8101782,10.1884042,6.8707703,38.9760308,16.8352671,29.2563307,69.1978286,37.5287147,46.6367273,21.2346002,3.8332929,9.5842048,8.6278613,33.8419906,10.304053,0.7804455,0.7831635,10.1202555,6.8589445,38.7692398,16.4370925,29.1874494,69.3162867,37.6662363,46.4775602,20.9372408,3.9172876,9.8296079,8.2120591,33.0058742,10.6271866,0.7268726,0.7391338,10.1321059,6.8394235,38.056543,16.6015616,30.1121138,69.7425885,38.2291688,46.8029847,21.1438643,3.7471464,9.5842086,7.9308902,33.4100445,10.5172232,0.6802212,0.687499,9.9940609,6.8109857,38.3168963,16.3906602,30.2238929,69.8769621,37.6058739,46.5005996,21.571196,3.9834628,9.3341415,7.534794,33.3399694,9.5317534,0.6795521,0.6893425,10.0116886,6.7361968,38.3197606,16.2020551,30.6210223,69.8981579,37.7096467,46.9348922,21.2360247,3.9836304,9.5728262,8.0802163,33.4955154,10.8695696 +2377,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0953769,1.1089927,26.9087021,20.8898924,48.8717289,12.6149492,39.3388191,65.93386,34.0659994,49.7654728,25.2791381,5.947762,15.099627,12.1762643,34.3746993,19.3595353,1.081062,1.095118,26.4219291,20.5621358,47.4258762,12.7956378,39.0525807,66.4341577,34.1667682,49.9686772,26.9293853,5.8803737,14.4147491,11.7751917,33.9583444,18.7203327,1.2155267,1.229645,27.3151329,21.2041893,47.1230708,12.425878,38.9788869,66.6956391,34.0873117,49.3645775,26.478871,5.7063305,14.4496509,12.0312993,34.0408655,18.0346363,1.554371,1.5461611,27.2719357,21.2166244,47.8129178,13.0551476,38.8552798,66.8924993,34.5872166,48.931695,25.5180446,5.7200089,15.0468657,12.2509538,33.6264739,20.3247767,1.5221876,1.5134898,26.9534936,21.1741025,47.5437626,13.3314163,37.7640748,67.4019049,34.7747883,48.2241865,24.5635845,5.3858662,14.3468472,12.1639291,33.9240011,20.452008 +2378,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5202949,2.5705423,38.4873753,33.0896482,54.2587402,19.413492,37.5994648,64.0456755,32.2982186,45.812552,20.7235736,3.5237739,16.3004853,14.017176,34.3570993,23.7502749,2.4318863,2.4844491,36.3024499,31.1647581,53.5650082,19.240548,36.8692176,63.9048336,31.6658115,44.8453966,20.3103707,3.0750982,17.2180406,14.2893829,34.5923961,25.4456982,2.2987321,2.352584,35.7211606,30.4425884,53.3590465,19.5627202,36.7750866,65.4052422,33.0325288,45.5103765,20.8312659,3.015331,17.3396013,13.9777142,36.2442241,25.8368194,2.5375759,2.5397463,35.6706067,30.0610828,52.3451021,19.5277269,36.4398991,64.8756047,32.8344516,45.1681732,20.0241231,3.061495,17.8786244,13.393846,36.0938527,26.9868007,2.3464148,2.3485858,34.9411304,29.3343964,51.6536986,19.6563548,36.7469758,64.5861659,33.7784614,45.8161926,20.4211834,2.987522,17.1985942,12.31932,34.2213838,25.0025129 +2379,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9377595,0.9546849,18.9498976,15.0034361,36.3820662,19.4265492,38.0201095,65.4628502,36.851416,47.4170596,22.5221611,3.4946847,13.377959,9.804289,35.0243689,11.8728882,0.9157158,0.9395093,18.2905256,14.2905373,36.9462344,20.4521313,38.8773688,66.5398934,38.231992,47.7524503,22.4411773,3.6077107,13.2028415,9.878453,35.2343541,9.5911756,0.9278902,0.9442669,18.3864112,14.259088,37.4797345,20.0291288,39.0451202,66.8972187,38.8410631,47.6185115,22.5560791,3.7083778,13.0919538,9.589945,34.5906661,10.8562452,0.9687951,1.0102472,18.8130077,14.8207452,38.8451619,20.0544952,39.2533149,67.3719386,38.4777838,48.0500811,22.7231901,3.7558054,12.2306926,9.9056461,34.6031983,12.7142644,1.1146513,1.1829539,19.5500261,15.409777,39.7953433,20.0193094,38.7824472,66.815416,38.0636665,47.9307465,22.4460422,3.5177439,12.759835,10.8628232,34.1555223,12.2589565 +2380,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.716408,0.7255198,12.4953723,8.5883349,40.6283027,19.8145368,32.5429211,62.4784772,35.2094098,45.5995017,20.2744741,6.3903655,9.8185771,7.7121092,33.4476324,8.5884679,0.7379181,0.7473734,12.6488351,8.7317428,41.4902872,19.6690074,32.9776101,61.9663823,34.4861716,44.7334908,20.2432137,6.6797849,10.0224186,7.5712813,34.080676,8.8182316,0.804491,0.8138859,13.2722831,9.2440679,42.0852688,19.7338795,33.2094576,61.8618218,33.7090563,44.5785859,19.9229765,6.7445115,10.4667325,7.8359246,34.2298086,9.0827812,0.8433817,0.8558055,13.4717978,9.5387021,42.8620808,19.6157476,33.4830007,61.1787394,33.4159448,44.4674113,19.8832576,6.6590471,10.6644741,7.9636648,33.9897737,7.9235308,0.8446798,0.8601692,13.6093726,9.7455101,44.5476326,19.1179907,33.7019632,61.0818786,32.7097552,44.1739107,19.8913347,6.6304458,10.7805336,8.2359605,34.2114489,8.6998437 +2381,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5310847,1.4861483,22.7679667,18.4479435,46.0244814,16.5126361,40.7886712,68.917733,39.9095514,49.3252049,30.6042595,3.055632,12.7387055,10.7904473,33.8719202,22.1756063,1.5870647,1.5432702,23.5820665,18.9284242,46.4773199,15.559661,40.0728985,68.3595952,39.5940676,50.2911445,30.4234876,3.3587224,11.868206,10.0562662,34.6986481,19.5289801,1.6267323,1.6475937,23.7298791,18.8455896,46.0996235,15.8975095,40.9419155,68.3569051,40.0982898,50.829267,29.8864455,3.9098772,10.8866128,9.1164319,33.5452299,18.9860698,1.420627,1.4406045,23.7376341,19.0414917,44.2245349,15.1928434,40.6443905,67.3945037,39.3209355,50.2787817,29.6340902,3.5697681,10.7283986,9.3768041,34.1015976,22.3732293,1.3723853,1.4111652,24.4463993,19.5419144,45.4021924,15.0996206,41.3051822,67.6994426,39.1972855,50.2663608,29.9307209,4.0266489,11.4667465,9.0270295,33.9128459,25.8824995 +2382,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.7089892,0.7473369,16.4506729,13.3538456,56.6692193,12.8991953,26.7863838,66.6635542,30.0903134,42.5374533,14.6274,4.8117702,13.5499057,11.8304862,29.763098,8.7919682,0.6621526,0.7082841,16.8887858,13.7649676,57.3777957,13.4078107,26.5445422,66.3756298,30.1690455,42.5821592,14.2629318,4.9107925,13.9078372,12.1101804,30.8676018,7.7436081,0.8144658,0.8376017,17.2594398,14.0953757,58.1099109,13.3410626,26.9343425,66.0448167,29.8565602,42.0418611,13.8485486,4.8244523,14.0763706,11.7635667,30.6186848,8.3481464,0.8184939,0.8552641,17.6034073,14.4360231,59.0481206,13.4674931,27.2344769,66.2584984,30.1304241,41.9467225,13.9166999,4.7640105,14.2367372,11.1931991,30.1486761,8.3046687,0.8792837,0.9353223,17.6334856,14.3256121,59.7468867,13.5303043,27.2402347,66.3389537,29.537068,41.6652201,13.8072223,5.037409,14.0581973,10.6543523,30.510585,9.8184073 +2383,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4620222,1.437176,27.5458594,22.8272578,57.2025788,17.8408743,39.9889731,63.7458305,33.9218955,45.1626919,21.7439976,3.03356,13.0233604,10.9737712,34.1453608,16.2974735,1.3191541,1.3191541,27.3743989,22.7733048,56.1767766,18.342534,39.8588071,64.4570806,35.3270972,46.2870818,21.9033098,3.4311616,13.0828775,10.4058409,32.8508568,14.0822874,1.1638171,1.1638171,26.6001343,22.4192028,56.2799088,17.6765224,39.9258436,65.1650741,36.1505707,46.5081592,21.2250168,3.0948558,13.4351005,10.4693913,32.9066152,15.4952225,1.1908486,1.1908486,26.7423365,22.4824984,56.5996624,17.4090941,39.728238,66.4064015,36.5713217,46.7979664,21.4536909,3.0012934,13.0412221,9.9378876,31.9831332,16.2295295,1.2033511,1.2033511,26.3725397,22.6082056,56.2853813,16.9957129,38.9821377,66.2171634,36.1537012,46.7831537,21.7378406,2.9424816,13.2467586,11.0068258,32.6273928,16.3230353 +2384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0580302,1.0683579,15.1504724,11.3663437,39.1446872,19.4390801,33.8475038,67.0705931,35.1789241,48.7230232,20.5263044,5.1480902,12.4033437,10.6568158,26.170339,7.5152637,0.8712978,0.8892993,15.2593398,11.4411369,38.9145539,19.6866258,32.9827172,67.2175108,35.5180394,48.5627592,20.2759932,4.9446338,12.158489,10.2779775,26.2450533,7.3898627,0.8478289,0.8655526,16.0645719,12.2288219,38.9978424,19.3226415,33.426028,67.4376383,36.1447715,48.7885464,20.8013403,4.9806012,12.5424847,9.9449224,26.7758322,8.0190848,0.9716789,0.979133,16.2500263,12.2323255,39.2245399,18.7751493,33.0900376,67.7290574,36.5763414,48.6596998,21.1947606,4.9916184,13.1767212,10.3849981,26.5974399,8.6753115,0.8690233,0.891718,16.0864851,12.1364151,39.9409046,18.6707263,32.5713288,67.1775969,36.5830956,48.7530604,20.53383,4.5636065,13.753425,10.3781634,27.7515642,8.0794678 +2385,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8218296,1.8087287,35.0201489,30.4421911,54.512795,12.8433669,39.3254717,63.8216164,34.5035761,43.3334519,20.5084436,2.4294027,17.3873348,11.9552853,39.5916391,19.1848784,1.7958179,1.8195425,35.2783342,30.7217247,55.0589988,12.7978427,39.7881319,63.6797674,34.6406842,43.4384204,20.8717883,2.4758704,18.0477674,11.1649819,38.6584532,19.1908546,1.8213405,1.8539677,35.5329097,31.0185344,56.2780482,12.257315,39.2425432,63.8362227,34.2353646,42.7957719,20.5750794,2.489019,18.8570005,12.1739635,39.8859589,18.553442,1.9420985,1.9614678,36.1750692,31.5054734,57.0237608,12.0804332,39.2111323,63.6722484,33.9265753,42.4827837,20.8979243,2.4962864,18.2763859,12.365698,39.9334127,18.1528662,2.0947635,2.1115115,36.5211735,31.6721103,56.7508254,11.8480565,39.075968,64.5378396,34.2955186,42.6629,21.028621,2.7458974,18.0909715,12.0437996,39.9522463,18.4599062 +2386,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4318863,2.4844491,36.3024499,31.1647581,53.5650082,19.240548,36.8692176,63.9048336,31.6658115,44.8453966,20.3103707,3.0750982,17.2180406,14.2893829,34.5923961,25.4456982,2.2987321,2.352584,35.7211606,30.4425884,53.3590465,19.5627202,36.7750866,65.4052422,33.0325288,45.5103765,20.8312659,3.015331,17.3396013,13.9777142,36.2442241,25.8368194,2.5375759,2.5397463,35.6706067,30.0610828,52.3451021,19.5277269,36.4398991,64.8756047,32.8344516,45.1681732,20.0241231,3.061495,17.8786244,13.393846,36.0938527,26.9868007,2.3464148,2.3485858,34.9411304,29.3343964,51.6536986,19.6563548,36.7469758,64.5861659,33.7784614,45.8161926,20.4211834,2.987522,17.1985942,12.31932,34.2213838,25.0025129,2.0659309,2.0358231,34.9565954,29.5471597,51.7663466,19.527095,36.9783306,64.9884066,34.1064073,45.6892028,20.4493777,3.4487729,15.4266454,12.4098846,33.9247993,25.7677078 +2387,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6506263,0.6449477,10.3016071,6.6315426,37.4664752,19.5660238,30.2592118,71.1307541,39.9887213,46.3748994,22.1074443,2.9864719,8.178566,9.1201808,35.0504424,7.3529412,0.6684395,0.6991898,11.0654328,7.0968898,36.0671227,19.1508765,30.5350628,71.457593,41.162364,46.8450255,22.3800889,3.15498,8.1696962,9.1578992,34.5473831,7.1022727,0.7672914,0.7645429,11.8695003,7.7777845,35.4760974,19.036527,30.2355173,71.5036449,41.1413052,47.3369542,22.2282822,3.1340564,8.649197,9.331959,34.1319326,10.1156589,0.8219289,0.7949602,12.2834431,8.0214916,35.3529741,18.8576331,30.2064847,70.8971279,40.6016365,47.8640028,22.2677287,2.901383,9.2506516,9.3108035,33.9022733,9.7765867,0.8930242,0.8669581,12.3239492,8.0985998,35.5489205,19.1081572,30.1579113,70.8376322,40.4565627,47.4596514,22.6742325,3.1410863,9.6619773,9.1634744,33.4082092,10.4839247 +2388,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.6684395,0.6991898,11.0654328,7.0968898,36.0671227,19.1508765,30.5350628,71.457593,41.162364,46.8450255,22.3800889,3.15498,8.1696962,9.1578992,34.5473831,7.1022727,0.7672914,0.7645429,11.8695003,7.7777845,35.4760974,19.036527,30.2355173,71.5036449,41.1413052,47.3369542,22.2282822,3.1340564,8.649197,9.331959,34.1319326,10.1156589,0.8219289,0.7949602,12.2834431,8.0214916,35.3529741,18.8576331,30.2064847,70.8971279,40.6016365,47.8640028,22.2677287,2.901383,9.2506516,9.3108035,33.9022733,9.7765867,0.8930242,0.8669581,12.3239492,8.0985998,35.5489205,19.1081572,30.1579113,70.8376322,40.4565627,47.4596514,22.6742325,3.1410863,9.6619773,9.1634744,33.4082092,10.4839247,0.9564009,0.9435765,13.0370147,8.4765416,35.7093552,19.2551615,29.9797092,70.4937467,39.9222084,46.6181829,22.1001102,3.2296224,10.1689548,9.3730411,33.3018805,9.5628962 +2389,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8197285,0.8482156,16.4957085,13.0229736,70.9619716,8.3382589,26.3523375,61.3582817,28.08362,36.2263602,14.3548985,5.3754583,12.9761836,9.6368966,37.2282982,8.2367038,0.8566044,0.9012002,16.6777256,13.2508113,71.6319622,8.369719,26.11371,62.1670081,28.6108337,36.6987703,14.4944129,5.3435878,13.0684223,9.6969111,37.1636114,8.3445689,0.9112865,0.949727,16.5894783,13.1876202,72.1530243,8.7168867,26.1585371,62.9326569,29.1963652,36.8558868,14.520584,5.4190667,13.2834522,9.5195763,36.3736988,8.2339423,0.9020129,0.9490671,16.7669691,13.3552937,73.0124086,8.2761801,26.3518336,63.2010449,28.7398095,36.7960664,14.4688225,5.2695254,13.4268182,9.3142466,36.2596726,8.4866083,0.932504,0.9736277,17.2126998,13.8734261,73.6544011,8.3161692,26.4384026,63.0914946,28.7072398,36.8279796,14.5961883,5.2890627,13.7069168,9.3563641,36.0103931,8.6652396 +2390,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.7672914,0.7645429,11.8695003,7.7777845,35.4760974,19.036527,30.2355173,71.5036449,41.1413052,47.3369542,22.2282822,3.1340564,8.649197,9.331959,34.1319326,10.1156589,0.8219289,0.7949602,12.2834431,8.0214916,35.3529741,18.8576331,30.2064847,70.8971279,40.6016365,47.8640028,22.2677287,2.901383,9.2506516,9.3108035,33.9022733,9.7765867,0.8930242,0.8669581,12.3239492,8.0985998,35.5489205,19.1081572,30.1579113,70.8376322,40.4565627,47.4596514,22.6742325,3.1410863,9.6619773,9.1634744,33.4082092,10.4839247,0.9564009,0.9435765,13.0370147,8.4765416,35.7093552,19.2551615,29.9797092,70.4937467,39.9222084,46.6181829,22.1001102,3.2296224,10.1689548,9.3730411,33.3018805,9.5628962,0.974609,0.9670767,12.989326,8.6865139,35.6222376,19.0249383,30.1062859,70.2922758,40.4350565,46.0146076,22.2351489,3.2049164,10.4923055,9.2729501,33.5083322,10.7143407 +2391,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5870647,1.5432702,23.5820665,18.9284242,46.4773199,15.559661,40.0728985,68.3595952,39.5940676,50.2911445,30.4234876,3.3587224,11.868206,10.0562662,34.6986481,19.5289801,1.6267323,1.6475937,23.7298791,18.8455896,46.0996235,15.8975095,40.9419155,68.3569051,40.0982898,50.829267,29.8864455,3.9098772,10.8866128,9.1164319,33.5452299,18.9860698,1.420627,1.4406045,23.7376341,19.0414917,44.2245349,15.1928434,40.6443905,67.3945037,39.3209355,50.2787817,29.6340902,3.5697681,10.7283986,9.3768041,34.1015976,22.3732293,1.3723853,1.4111652,24.4463993,19.5419144,45.4021924,15.0996206,41.3051822,67.6994426,39.1972855,50.2663608,29.9307209,4.0266489,11.4667465,9.0270295,33.9128459,25.8824995,1.5618189,1.6009566,24.2150614,19.010358,45.7986336,15.8370069,41.1465001,67.5090001,39.1909718,50.1820188,30.0122189,4.0601172,11.5656475,9.4337033,34.6464079,22.1784455 +2392,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2839785,2.3448628,35.6764488,30.8304662,58.7695146,15.773253,36.091463,66.0084595,32.8040605,42.5555139,20.4005347,2.1408359,15.9659121,11.1940737,40.777075,24.4833565,2.2173393,2.3053928,36.104809,31.3950511,59.8329477,15.7567802,35.9717945,65.4529937,32.4511654,41.8035004,19.9544068,2.0827317,16.9019177,11.1923756,39.8298217,23.2942547,2.2358409,2.2753044,36.8972131,32.1513928,59.6979142,15.4702761,36.1758096,65.6393164,32.0391164,41.459876,19.2821704,2.0682745,17.5691245,12.1350626,39.928959,24.1477017,2.1306753,2.1579041,37.0516377,32.364273,60.1915989,15.5877427,35.739202,65.0029569,31.7135489,40.8501506,19.2665099,2.0789092,17.1558239,12.06057,39.4324488,24.1153552,2.080796,2.1018367,37.9052291,33.3713752,61.125643,15.1208884,35.2183079,64.3382388,30.8829241,40.4152137,18.8430264,1.971786,17.2167329,11.91602,38.6166632,25.1830326 +2393,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9157158,0.9395093,18.2905256,14.2905373,36.9462344,20.4521313,38.8773688,66.5398934,38.231992,47.7524503,22.4411773,3.6077107,13.2028415,9.878453,35.2343541,9.5911756,0.9278902,0.9442669,18.3864112,14.259088,37.4797345,20.0291288,39.0451202,66.8972187,38.8410631,47.6185115,22.5560791,3.7083778,13.0919538,9.589945,34.5906661,10.8562452,0.9687951,1.0102472,18.8130077,14.8207452,38.8451619,20.0544952,39.2533149,67.3719386,38.4777838,48.0500811,22.7231901,3.7558054,12.2306926,9.9056461,34.6031983,12.7142644,1.1146513,1.1829539,19.5500261,15.409777,39.7953433,20.0193094,38.7824472,66.815416,38.0636665,47.9307465,22.4460422,3.5177439,12.759835,10.8628232,34.1555223,12.2589565,1.076897,1.145186,20.1709543,15.9699949,40.0636869,19.8997945,39.0873911,66.6193881,38.564648,47.7347117,22.4460439,3.6048677,12.5055509,10.9999908,33.8313627,11.6573001 +2394,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8195207,0.8234739,10.8572007,7.3581182,21.6085484,16.4626766,34.9656622,68.756398,40.9863126,50.0257676,24.0566187,4.2624376,11.4324982,9.8990113,32.2486545,5.7835886,0.8958421,0.8995695,11.5123421,7.7828814,21.6907088,16.2461502,36.3687612,68.4231454,40.6265462,50.3885656,24.0327029,4.330584,11.5928479,9.8555688,32.5215776,7.8397616,0.7886894,0.8029466,11.6118883,7.9457744,22.1749218,16.3923038,36.2870741,67.8074747,40.3198907,49.837819,23.5089778,4.1949984,11.4814906,9.975994,32.9762241,8.3051299,0.776111,0.8062273,11.9087167,8.2630363,22.4154838,16.4498829,36.2065997,67.1553371,39.5379392,49.3629432,23.0043273,4.1065427,11.5216506,10.4489816,33.1826087,9.3750514,0.7812206,0.8067357,12.0511742,8.3244607,22.6261893,16.6484704,35.6702739,66.2844187,38.6255352,49.2766134,22.7105072,3.9787635,11.7931029,10.535243,33.1263254,8.8509765 +2395,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5709185,0.615467,9.5100379,6.30033,45.7753199,13.5408287,30.1068522,63.7319554,30.9594234,41.3265999,17.6821712,15.044901,10.5250385,8.3551112,37.3539842,4.0689655,0.512667,0.5679703,9.6190155,6.4696885,45.5678159,13.856438,30.077892,63.6079301,30.7152128,40.8651081,17.3551317,14.6996324,11.3950041,8.6699915,37.4031303,3.490029,0.5236104,0.5410163,9.7803112,6.5848229,45.9039718,13.9667855,30.0610211,63.2730886,30.2722686,40.7874706,17.104802,14.4877363,11.5553809,8.8122914,37.1926261,3.7219106,0.5553371,0.5583771,10.0457977,6.5934717,46.5935834,13.5635123,29.7596706,62.5615495,29.6776085,40.427905,16.9929652,14.3669397,11.4784825,8.5299045,36.9666542,4.0745862,0.5746796,0.5777174,10.6411626,6.9790579,46.9758557,13.2210124,29.63981,62.5248507,29.8736996,40.1415086,16.974623,13.7820153,11.6895877,8.5747148,37.1197272,4.9472296 +2396,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.512667,0.5679703,9.6190155,6.4696885,45.5678159,13.856438,30.077892,63.6079301,30.7152128,40.8651081,17.3551317,14.6996324,11.3950041,8.6699915,37.4031303,3.490029,0.5236104,0.5410163,9.7803112,6.5848229,45.9039718,13.9667855,30.0610211,63.2730886,30.2722686,40.7874706,17.104802,14.4877363,11.5553809,8.8122914,37.1926261,3.7219106,0.5553371,0.5583771,10.0457977,6.5934717,46.5935834,13.5635123,29.7596706,62.5615495,29.6776085,40.427905,16.9929652,14.3669397,11.4784825,8.5299045,36.9666542,4.0745862,0.5746796,0.5777174,10.6411626,6.9790579,46.9758557,13.2210124,29.63981,62.5248507,29.8736996,40.1415086,16.974623,13.7820153,11.6895877,8.5747148,37.1197272,4.9472296,0.6313117,0.6378859,10.7300378,7.1552933,47.8411985,13.5396874,29.5311769,62.8839006,29.7754777,39.8732013,16.6530929,13.8727325,12.2745112,8.831482,37.126929,4.9251864 +2397,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8439412,0.853225,13.5819527,9.2931971,24.9688888,21.1920275,34.3632993,67.568401,38.8902184,47.7351492,25.3008101,3.485905,11.5676473,11.469698,39.6810329,8.9587054,0.7904585,0.8368563,13.4979154,9.4112064,24.6033307,20.706753,34.448421,67.4885388,38.5149641,48.1325793,24.8960961,3.4047432,11.5344061,10.9534387,39.9833658,7.9775685,0.8785503,0.9261342,13.1239055,9.3857061,25.0393003,20.4239832,35.2007208,67.4933133,38.5637554,47.8763522,24.1006268,3.4819223,12.0394309,11.3055631,39.3597003,8.4013004,0.8461324,0.9495687,13.2471977,9.7119739,25.355192,20.0843048,35.2876821,67.5516502,39.2006918,47.7949069,23.1457545,3.2125811,12.6405953,12.0013511,38.9564159,7.3232547,0.8399183,0.9793636,13.5836843,10.271563,25.7721512,20.0865722,35.6892012,67.4436019,39.6689466,48.1021325,23.0178101,3.3399013,13.5999896,12.4280874,38.851308,7.3664155 +2398,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.513824,0.526079,7.7919515,5.0817075,48.0070323,24.0574165,29.6286921,64.3704994,31.4055315,42.5383302,16.758833,6.020548,10.9748138,8.7553217,32.5673626,2.3076923,0.4797179,0.4562106,8.3492584,5.25411,49.1710363,24.0994274,30.0682653,63.6935978,30.068543,42.5065016,16.8695816,5.8767778,10.8709811,8.0919798,32.1227061,2.5943396,0.4022077,0.3880112,8.3486961,5.1787718,48.4886854,23.8716322,30.2967242,62.7750976,30.5535982,42.1002846,17.2837721,6.396648,10.3757653,7.5334852,32.2760486,3.5211268,0.411158,0.3968934,8.0966481,5.1457057,48.2777025,23.0356496,30.4498185,63.0211931,30.5238652,41.7740899,17.6503598,6.3998732,10.870831,7.5594915,32.4195906,3.6407767,0.3512935,0.3504959,8.7074601,5.376542,48.733588,22.7256821,30.0106165,62.0225048,29.5061988,41.4742441,17.2134553,6.398723,10.4155986,6.9661427,31.5410637,5.3738318 +2399,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2391775,2.1894262,34.4745223,30.9713376,66.8060201,7.5757576,39.233279,66.3132137,27.8140294,44.2903752,16.8841762,5.7911909,12.5,8.6319218,33.496732,14.9305556,1.9881755,1.9390837,34.4637224,31.6246057,68.5970636,7.0982839,37.6386688,66.0063391,27.496038,43.18542,17.3534073,6.1014263,13.5093168,8.8785047,34.84375,14.8026316,2.2095522,2.1590472,35.9706362,32.3817292,68.4433164,7.8225806,38.7070376,65.3846154,28.0687398,44.1080196,17.594108,6.4648118,14.1666667,8.8628763,35.4026846,16.9871795,2.2922862,2.1325418,36.2778731,32.3327616,67.9328622,7.3979592,39.5008606,64.9741824,28.141136,43.4595525,17.6419966,6.7986231,16.440678,10.3741497,36.4726027,18.9655172,2.1752098,2.0159741,35.7385399,30.9847199,67.6265271,7.6988156,38.7563884,65.3321976,27.8534923,43.5264055,17.6320273,6.2180579,14.548495,11.5384615,35.5218855,18.3453237 +2400,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2987321,2.352584,35.7211606,30.4425884,53.3590465,19.5627202,36.7750866,65.4052422,33.0325288,45.5103765,20.8312659,3.015331,17.3396013,13.9777142,36.2442241,25.8368194,2.5375759,2.5397463,35.6706067,30.0610828,52.3451021,19.5277269,36.4398991,64.8756047,32.8344516,45.1681732,20.0241231,3.061495,17.8786244,13.393846,36.0938527,26.9868007,2.3464148,2.3485858,34.9411304,29.3343964,51.6536986,19.6563548,36.7469758,64.5861659,33.7784614,45.8161926,20.4211834,2.987522,17.1985942,12.31932,34.2213838,25.0025129,2.0659309,2.0358231,34.9565954,29.5471597,51.7663466,19.527095,36.9783306,64.9884066,34.1064073,45.6892028,20.4493777,3.4487729,15.4266454,12.4098846,33.9247993,25.7677078,1.9731446,1.9417153,35.1650661,29.9633514,51.5387628,19.1812117,38.0351919,64.8764643,34.1843042,46.1384306,20.7274666,3.5093983,14.5723659,12.3196374,34.0357576,28.1566596 +2401,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6995213,0.6949753,8.7084582,6.1820977,61.5445513,13.1601555,27.2523117,70.4913297,31.6485202,45.4204715,14.9976154,4.6102138,12.757174,11.5207787,32.9381418,8.1554047,0.6732158,0.6685923,9.2218995,6.6203685,58.2468587,12.6799596,26.9170877,70.6666398,31.3140488,45.6143343,15.6273784,4.8526287,12.6558735,11.4695321,32.9812793,9.1234301,0.7354042,0.7308348,8.9237283,6.237008,54.4083269,13.0637334,26.5354271,70.7189142,31.2814818,46.6967113,16.0624279,4.8834921,12.5484021,11.389849,32.2066641,9.3281563,0.7565076,0.7426624,9.0487263,6.2076049,50.9743578,13.4168638,26.0592725,70.5616677,31.7042347,46.2942509,16.0808201,4.7904862,11.7715681,11.3829774,31.4163314,8.9925923,0.5462209,0.5323246,8.3966036,5.4490534,48.7878269,13.7122037,25.0254877,70.1150172,32.0111143,46.2999926,15.9758185,4.7828791,12.2758356,11.6523015,31.5643629,4.9241566 +2402,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9278902,0.9442669,18.3864112,14.259088,37.4797345,20.0291288,39.0451202,66.8972187,38.8410631,47.6185115,22.5560791,3.7083778,13.0919538,9.589945,34.5906661,10.8562452,0.9687951,1.0102472,18.8130077,14.8207452,38.8451619,20.0544952,39.2533149,67.3719386,38.4777838,48.0500811,22.7231901,3.7558054,12.2306926,9.9056461,34.6031983,12.7142644,1.1146513,1.1829539,19.5500261,15.409777,39.7953433,20.0193094,38.7824472,66.815416,38.0636665,47.9307465,22.4460422,3.5177439,12.759835,10.8628232,34.1555223,12.2589565,1.076897,1.145186,20.1709543,15.9699949,40.0636869,19.8997945,39.0873911,66.6193881,38.564648,47.7347117,22.4460439,3.6048677,12.5055509,10.9999908,33.8313627,11.6573001,1.1579484,1.2108248,20.9090615,16.729342,41.215522,19.1892944,39.3126515,66.0309866,38.1707424,47.6082515,22.6136324,3.8676938,13.2186212,11.045743,33.8941908,11.6621953 +2403,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9687951,1.0102472,18.8130077,14.8207452,38.8451619,20.0544952,39.2533149,67.3719386,38.4777838,48.0500811,22.7231901,3.7558054,12.2306926,9.9056461,34.6031983,12.7142644,1.1146513,1.1829539,19.5500261,15.409777,39.7953433,20.0193094,38.7824472,66.815416,38.0636665,47.9307465,22.4460422,3.5177439,12.759835,10.8628232,34.1555223,12.2589565,1.076897,1.145186,20.1709543,15.9699949,40.0636869,19.8997945,39.0873911,66.6193881,38.564648,47.7347117,22.4460439,3.6048677,12.5055509,10.9999908,33.8313627,11.6573001,1.1579484,1.2108248,20.9090615,16.729342,41.215522,19.1892944,39.3126515,66.0309866,38.1707424,47.6082515,22.6136324,3.8676938,13.2186212,11.045743,33.8941908,11.6621953,1.184062,1.231298,20.9687197,16.7934899,42.0536791,19.1225493,38.7155308,65.6793467,38.6093887,47.314184,22.3885268,3.5987214,13.9489583,11.9212431,34.2664885,11.8925831 +2404,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.7813449,0.8129507,11.6029261,7.826549,45.5814109,11.9411946,30.7281764,66.7481607,42.2533944,45.7003386,24.8162719,4.6072203,10.6005154,9.1423896,40.4849729,9.4253817,0.8509674,0.8796999,11.7566668,7.9899026,45.3707848,12.1102366,30.6545791,66.6807982,42.418811,45.4394537,24.8833983,4.5696359,10.6115556,8.7361165,40.2376108,8.9236729,0.8731067,0.906828,11.8688722,8.1217957,45.1149318,11.975685,30.9116158,66.4724409,42.2172456,44.8321141,25.0280588,4.5424511,10.6023604,8.5349935,40.2833654,8.1646115,0.8720695,0.908706,12.3884035,8.4412161,45.3891718,11.5556388,30.9821716,66.2440431,41.7385771,44.2626856,24.5761243,4.4316428,10.5151527,8.516749,40.7156973,8.3218364,0.9342685,0.9570535,12.7770831,8.8478534,45.4793716,11.681092,31.162233,66.3372127,41.1413581,43.9938346,24.1405899,4.507782,10.3231269,8.7772023,40.9618321,7.9091833 +2405,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8649763,0.864064,15.9144737,11.9996834,49.5665804,13.1020419,30.8774508,63.9924037,33.2743495,40.8289988,18.5028792,4.3553639,11.8485818,8.971756,33.8829474,12.5,0.9625009,0.9705324,15.9042494,11.8951782,50.3714872,12.9512771,30.7057555,64.6000571,34.1975855,41.4930663,19.0015447,4.4517905,11.7222873,9.088249,33.8295733,13.0952381,0.8911072,0.912481,16.2538131,12.2231536,51.2330832,12.5077402,30.9504175,64.5115082,33.9152584,41.6110526,18.4000962,4.537174,11.9066956,8.9595563,34.0392073,13.3223684,0.923018,0.9606328,16.446858,12.4854643,52.7270882,12.3433379,30.5571655,64.7973197,33.9975548,41.4955741,18.3830611,4.4561396,12.6409977,9.814529,33.6122684,14.3518519,0.9981503,1.0249177,16.4726986,12.3750124,53.2324782,12.2991627,30.080189,64.6906579,34.841556,41.2458358,18.7258886,4.5664265,12.5172864,10.396628,33.7409373,14.6969697 +2406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4797179,0.4562106,8.3492584,5.25411,49.1710363,24.0994274,30.0682653,63.6935978,30.068543,42.5065016,16.8695816,5.8767778,10.8709811,8.0919798,32.1227061,2.5943396,0.4022077,0.3880112,8.3486961,5.1787718,48.4886854,23.8716322,30.2967242,62.7750976,30.5535982,42.1002846,17.2837721,6.396648,10.3757653,7.5334852,32.2760486,3.5211268,0.411158,0.3968934,8.0966481,5.1457057,48.2777025,23.0356496,30.4498185,63.0211931,30.5238652,41.7740899,17.6503598,6.3998732,10.870831,7.5594915,32.4195906,3.6407767,0.3512935,0.3504959,8.7074601,5.376542,48.733588,22.7256821,30.0106165,62.0225048,29.5061988,41.4742441,17.2134553,6.398723,10.4155986,6.9661427,31.5410637,5.3738318,0.3371767,0.3363886,9.2877609,5.5655005,49.1269195,22.7997721,30.594153,61.4215684,29.0906538,41.6217531,17.1321592,6.6774288,10.2025305,6.6544211,31.6381009,4.8837209 +2407,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4245225,0.4324798,8.7893138,5.590798,46.9959363,20.2709815,28.8381214,64.9216771,32.754575,39.986952,17.4804238,6.9843377,10.4727116,7.5416792,36.1648507,3.376208,0.3993725,0.4073034,9.1426239,6.0730326,47.3976552,20.4186421,29.2705136,64.3951243,32.4117406,39.4730111,17.1209824,6.9444481,10.1930918,7.5609761,36.3210921,3.4023689,0.3406489,0.3482942,9.2771661,6.2484069,47.7426841,20.7741151,29.8453529,63.6941949,31.8159201,39.3988598,16.824648,7.0217047,10.3382132,7.5608039,36.3939482,3.4954429,0.4434924,0.4563299,9.6431162,6.5631856,47.5873285,21.0429937,30.4457266,63.5633884,31.6199424,39.7675599,17.4095395,6.9853835,10.0735039,7.5168926,35.6830285,3.9358612,0.3942102,0.4028672,9.8416276,6.5987933,47.6258014,21.1113899,30.6622398,63.4785871,31.7208297,39.9433791,17.5898556,6.8808476,9.522982,7.6014112,35.3323823,3.868196 +2408,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3191541,1.3191541,27.3743989,22.7733048,56.1767766,18.342534,39.8588071,64.4570806,35.3270972,46.2870818,21.9033098,3.4311616,13.0828775,10.4058409,32.8508568,14.0822874,1.1638171,1.1638171,26.6001343,22.4192028,56.2799088,17.6765224,39.9258436,65.1650741,36.1505707,46.5081592,21.2250168,3.0948558,13.4351005,10.4693913,32.9066152,15.4952225,1.1908486,1.1908486,26.7423365,22.4824984,56.5996624,17.4090941,39.728238,66.4064015,36.5713217,46.7979664,21.4536909,3.0012934,13.0412221,9.9378876,31.9831332,16.2295295,1.2033511,1.2033511,26.3725397,22.6082056,56.2853813,16.9957129,38.9821377,66.2171634,36.1537012,46.7831537,21.7378406,2.9424816,13.2467586,11.0068258,32.6273928,16.3230353,1.2067723,1.2140469,26.5391511,22.7248747,56.4090211,16.8759238,38.4192818,65.8717288,36.3909966,47.0040953,21.8629014,2.8537367,12.9968765,11.228893,32.3520553,16.7266368 +2409,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2173393,2.3053928,36.104809,31.3950511,59.8329477,15.7567802,35.9717945,65.4529937,32.4511654,41.8035004,19.9544068,2.0827317,16.9019177,11.1923756,39.8298217,23.2942547,2.2358409,2.2753044,36.8972131,32.1513928,59.6979142,15.4702761,36.1758096,65.6393164,32.0391164,41.459876,19.2821704,2.0682745,17.5691245,12.1350626,39.928959,24.1477017,2.1306753,2.1579041,37.0516377,32.364273,60.1915989,15.5877427,35.739202,65.0029569,31.7135489,40.8501506,19.2665099,2.0789092,17.1558239,12.06057,39.4324488,24.1153552,2.080796,2.1018367,37.9052291,33.3713752,61.125643,15.1208884,35.2183079,64.3382388,30.8829241,40.4152137,18.8430264,1.971786,17.2167329,11.91602,38.6166632,25.1830326,2.1591749,2.183643,37.5507987,32.9126166,62.0318609,15.0206661,34.856279,64.5681961,30.3795231,40.379326,18.5471354,1.8193654,17.4641121,11.7036836,38.285766,26.2339443 +2410,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9881755,1.9390837,34.4637224,31.6246057,68.5970636,7.0982839,37.6386688,66.0063391,27.496038,43.18542,17.3534073,6.1014263,13.5093168,8.8785047,34.84375,14.8026316,2.2095522,2.1590472,35.9706362,32.3817292,68.4433164,7.8225806,38.7070376,65.3846154,28.0687398,44.1080196,17.594108,6.4648118,14.1666667,8.8628763,35.4026846,16.9871795,2.2922862,2.1325418,36.2778731,32.3327616,67.9328622,7.3979592,39.5008606,64.9741824,28.141136,43.4595525,17.6419966,6.7986231,16.440678,10.3741497,36.4726027,18.9655172,2.1752098,2.0159741,35.7385399,30.9847199,67.6265271,7.6988156,38.7563884,65.3321976,27.8534923,43.5264055,17.6320273,6.2180579,14.548495,11.5384615,35.5218855,18.3453237,1.8538436,1.8538436,35.4419411,30.9358752,68.4448463,7.9545455,38.712522,65.696649,27.6014109,43.8271605,18.7830688,6.4373898,15.5821918,11.8150685,36.7241379,17.0289855 +2411,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8712978,0.8892993,15.2593398,11.4411369,38.9145539,19.6866258,32.9827172,67.2175108,35.5180394,48.5627592,20.2759932,4.9446338,12.158489,10.2779775,26.2450533,7.3898627,0.8478289,0.8655526,16.0645719,12.2288219,38.9978424,19.3226415,33.426028,67.4376383,36.1447715,48.7885464,20.8013403,4.9806012,12.5424847,9.9449224,26.7758322,8.0190848,0.9716789,0.979133,16.2500263,12.2323255,39.2245399,18.7751493,33.0900376,67.7290574,36.5763414,48.6596998,21.1947606,4.9916184,13.1767212,10.3849981,26.5974399,8.6753115,0.8690233,0.891718,16.0864851,12.1364151,39.9409046,18.6707263,32.5713288,67.1775969,36.5830956,48.7530604,20.53383,4.5636065,13.753425,10.3781634,27.7515642,8.0794678,0.990758,1.0398668,16.1161739,12.2280556,40.0536236,18.9134218,32.8824649,67.4901352,37.3928175,48.6979809,20.7060279,4.6105786,13.7706408,9.8238222,27.9461499,8.2554466 +2412,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2095522,2.1590472,35.9706362,32.3817292,68.4433164,7.8225806,38.7070376,65.3846154,28.0687398,44.1080196,17.594108,6.4648118,14.1666667,8.8628763,35.4026846,16.9871795,2.2922862,2.1325418,36.2778731,32.3327616,67.9328622,7.3979592,39.5008606,64.9741824,28.141136,43.4595525,17.6419966,6.7986231,16.440678,10.3741497,36.4726027,18.9655172,2.1752098,2.0159741,35.7385399,30.9847199,67.6265271,7.6988156,38.7563884,65.3321976,27.8534923,43.5264055,17.6320273,6.2180579,14.548495,11.5384615,35.5218855,18.3453237,1.8538436,1.8538436,35.4419411,30.9358752,68.4448463,7.9545455,38.712522,65.696649,27.6014109,43.8271605,18.7830688,6.4373898,15.5821918,11.8150685,36.7241379,17.0289855,1.6648024,1.6648024,34.9557522,30.3539823,65.9554731,8.1834532,37.9528986,66.2137681,29.2572464,45.3804348,20.7427536,7.8804348,15.2877698,11.3309353,37.1376812,18.1481481 +2413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6381379,1.6871616,19.9191657,15.9162711,83.570508,15.3533695,34.511583,63.8359792,36.6093395,41.6358808,19.8786965,5.1847821,13.9382771,12.578562,38.678469,12.1475584,1.6214964,1.6508933,20.1221768,16.1928068,83.5830416,14.4080792,33.9208146,63.0115623,36.9244954,41.4012679,19.852499,5.658901,14.5497445,12.7703679,39.3718461,12.9841212,1.5813813,1.5813813,19.7413035,15.5587003,83.9783647,14.587074,34.0678764,62.8742579,38.0818271,41.4607971,20.3631886,6.0870744,14.6957259,13.4401003,38.8812227,11.6861989,1.6190379,1.6190379,19.6125041,15.5694009,84.6616109,13.1116274,33.9001488,61.7958321,36.6671279,40.6522136,19.6993561,5.5595772,14.1493355,13.0298988,38.2570145,12.7732872,1.7845498,1.7845498,19.5546477,15.6367182,85.4743046,13.3274519,32.7570053,63.0797052,36.7294007,39.46241,19.1614574,5.6933761,12.5008885,11.6146203,37.9281524,13.3539647 +2414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5062624,0.5346419,10.1385388,6.7731661,33.9280135,22.4856297,31.5008489,63.6659552,31.1899256,43.2023247,16.2379795,7.475966,11.0256698,9.3500935,33.4984808,4.9152459,0.4746233,0.5037678,10.194283,6.6560112,35.0816004,22.5154895,31.3024465,63.2561937,30.2026087,43.6323836,16.1939207,7.4529607,10.973708,8.6740762,33.7859493,5.3819258,0.4483604,0.4708346,9.9591442,6.605406,36.3705285,22.4383752,31.1011044,62.9430989,29.1255279,42.8675064,16.2260372,7.5392184,11.2095117,8.6187241,34.1201206,6.1258075,0.5308456,0.5657667,10.6167252,6.9162949,37.5423893,22.9762428,30.8987128,62.895242,29.1422912,43.2523284,16.0567979,7.625875,10.9872357,8.2103523,33.6323746,5.8729972,0.5364199,0.5441742,11.0074109,7.1555682,38.7212036,23.1855682,30.9158149,62.319103,29.2319336,42.348583,15.9084161,7.2230427,11.0671339,8.0418463,32.9116197,5.9815767 +2415,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6989246,0.7094442,12.1886975,8.6886261,44.3258429,18.8057099,32.1769174,67.999457,37.3233011,42.9488327,22.363671,4.629178,10.0182222,9.0013472,34.9097458,8.3904883,0.7248541,0.7326734,12.9213729,9.2475425,45.120057,18.2477092,32.0945602,67.8274481,36.9884703,43.0733399,22.0738995,4.5442942,10.4855712,9.2288757,35.1901169,8.7744034,0.7787902,0.7787902,12.8852286,9.2074773,45.1063878,18.6690474,32.686853,67.927708,37.4462751,43.1949579,21.8045483,4.6123133,10.8423673,9.1191448,36.0546316,8.4478203,0.7255724,0.753369,13.3802497,9.7517479,44.6817527,18.3139352,32.9589913,67.0899858,36.3129969,43.5139704,21.1957989,4.3280017,10.3567383,9.2120515,35.7525372,8.4713221,0.8783554,0.8940492,14.0553773,10.2682559,45.0405496,18.5452789,33.3446877,66.2396283,35.6994061,43.3171368,20.9716795,4.2590223,10.4523307,9.3921175,36.8700424,9.5775052 +2416,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7248541,0.7326734,12.9213729,9.2475425,45.120057,18.2477092,32.0945602,67.8274481,36.9884703,43.0733399,22.0738995,4.5442942,10.4855712,9.2288757,35.1901169,8.7744034,0.7787902,0.7787902,12.8852286,9.2074773,45.1063878,18.6690474,32.686853,67.927708,37.4462751,43.1949579,21.8045483,4.6123133,10.8423673,9.1191448,36.0546316,8.4478203,0.7255724,0.753369,13.3802497,9.7517479,44.6817527,18.3139352,32.9589913,67.0899858,36.3129969,43.5139704,21.1957989,4.3280017,10.3567383,9.2120515,35.7525372,8.4713221,0.8783554,0.8940492,14.0553773,10.2682559,45.0405496,18.5452789,33.3446877,66.2396283,35.6994061,43.3171368,20.9716795,4.2590223,10.4523307,9.3921175,36.8700424,9.5775052,0.8932547,0.9085579,14.4759664,10.733184,45.961586,18.4743986,33.2693802,65.6054524,34.8446286,43.1930553,20.7582232,4.489272,10.4567885,9.2617998,36.3243313,10.5179139 +2417,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8958421,0.8995695,11.5123421,7.7828814,21.6907088,16.2461502,36.3687612,68.4231454,40.6265462,50.3885656,24.0327029,4.330584,11.5928479,9.8555688,32.5215776,7.8397616,0.7886894,0.8029466,11.6118883,7.9457744,22.1749218,16.3923038,36.2870741,67.8074747,40.3198907,49.837819,23.5089778,4.1949984,11.4814906,9.975994,32.9762241,8.3051299,0.776111,0.8062273,11.9087167,8.2630363,22.4154838,16.4498829,36.2065997,67.1553371,39.5379392,49.3629432,23.0043273,4.1065427,11.5216506,10.4489816,33.1826087,9.3750514,0.7812206,0.8067357,12.0511742,8.3244607,22.6261893,16.6484704,35.6702739,66.2844187,38.6255352,49.2766134,22.7105072,3.9787635,11.7931029,10.535243,33.1263254,8.8509765,0.7831021,0.8135569,12.0284049,8.2709182,22.7491063,16.3907561,36.1068698,66.0551233,37.7816735,48.9418491,21.6885043,3.966203,11.4172534,10.3042844,32.7259285,9.2532882 +2418,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8219289,0.7949602,12.2834431,8.0214916,35.3529741,18.8576331,30.2064847,70.8971279,40.6016365,47.8640028,22.2677287,2.901383,9.2506516,9.3108035,33.9022733,9.7765867,0.8930242,0.8669581,12.3239492,8.0985998,35.5489205,19.1081572,30.1579113,70.8376322,40.4565627,47.4596514,22.6742325,3.1410863,9.6619773,9.1634744,33.4082092,10.4839247,0.9564009,0.9435765,13.0370147,8.4765416,35.7093552,19.2551615,29.9797092,70.4937467,39.9222084,46.6181829,22.1001102,3.2296224,10.1689548,9.3730411,33.3018805,9.5628962,0.974609,0.9670767,12.989326,8.6865139,35.6222376,19.0249383,30.1062859,70.2922758,40.4350565,46.0146076,22.2351489,3.2049164,10.4923055,9.2729501,33.5083322,10.7143407,1.0432437,1.0457984,13.3825915,9.1789843,35.4611057,19.230749,29.7675301,70.0303339,40.8524126,46.0747917,22.2877366,3.2850385,10.2812485,8.7867351,32.8633963,11.9680915 +2419,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4746233,0.5037678,10.194283,6.6560112,35.0816004,22.5154895,31.3024465,63.2561937,30.2026087,43.6323836,16.1939207,7.4529607,10.973708,8.6740762,33.7859493,5.3819258,0.4483604,0.4708346,9.9591442,6.605406,36.3705285,22.4383752,31.1011044,62.9430989,29.1255279,42.8675064,16.2260372,7.5392184,11.2095117,8.6187241,34.1201206,6.1258075,0.5308456,0.5657667,10.6167252,6.9162949,37.5423893,22.9762428,30.8987128,62.895242,29.1422912,43.2523284,16.0567979,7.625875,10.9872357,8.2103523,33.6323746,5.8729972,0.5364199,0.5441742,11.0074109,7.1555682,38.7212036,23.1855682,30.9158149,62.319103,29.2319336,42.348583,15.9084161,7.2230427,11.0671339,8.0418463,32.9116197,5.9815767,0.5403665,0.5616016,10.7121965,7.1365894,39.8803866,23.7361867,30.6938042,63.5099987,28.9373822,42.2862863,15.3834872,7.5965886,11.2695439,8.4088419,32.5967948,5.425204 +2420,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6267323,1.6475937,23.7298791,18.8455896,46.0996235,15.8975095,40.9419155,68.3569051,40.0982898,50.829267,29.8864455,3.9098772,10.8866128,9.1164319,33.5452299,18.9860698,1.420627,1.4406045,23.7376341,19.0414917,44.2245349,15.1928434,40.6443905,67.3945037,39.3209355,50.2787817,29.6340902,3.5697681,10.7283986,9.3768041,34.1015976,22.3732293,1.3723853,1.4111652,24.4463993,19.5419144,45.4021924,15.0996206,41.3051822,67.6994426,39.1972855,50.2663608,29.9307209,4.0266489,11.4667465,9.0270295,33.9128459,25.8824995,1.5618189,1.6009566,24.2150614,19.010358,45.7986336,15.8370069,41.1465001,67.5090001,39.1909718,50.1820188,30.0122189,4.0601172,11.5656475,9.4337033,34.6464079,22.1784455,1.4326034,1.4709855,23.5585273,18.8486131,46.7169131,15.5408555,40.9924894,67.6564562,39.5681103,50.8353029,30.5702588,4.144263,11.7142091,9.8067824,34.6646404,23.9542771 +2421,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7904585,0.8368563,13.4979154,9.4112064,24.6033307,20.706753,34.448421,67.4885388,38.5149641,48.1325793,24.8960961,3.4047432,11.5344061,10.9534387,39.9833658,7.9775685,0.8785503,0.9261342,13.1239055,9.3857061,25.0393003,20.4239832,35.2007208,67.4933133,38.5637554,47.8763522,24.1006268,3.4819223,12.0394309,11.3055631,39.3597003,8.4013004,0.8461324,0.9495687,13.2471977,9.7119739,25.355192,20.0843048,35.2876821,67.5516502,39.2006918,47.7949069,23.1457545,3.2125811,12.6405953,12.0013511,38.9564159,7.3232547,0.8399183,0.9793636,13.5836843,10.271563,25.7721512,20.0865722,35.6892012,67.4436019,39.6689466,48.1021325,23.0178101,3.3399013,13.5999896,12.4280874,38.851308,7.3664155,0.7710512,0.8916014,14.0028945,10.667877,25.8053701,19.7730312,35.0363114,68.0171815,39.6981313,47.9212291,23.0996257,3.3213102,13.4880718,11.7623372,38.8653025,7.5757998 +2422,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7886894,0.8029466,11.6118883,7.9457744,22.1749218,16.3923038,36.2870741,67.8074747,40.3198907,49.837819,23.5089778,4.1949984,11.4814906,9.975994,32.9762241,8.3051299,0.776111,0.8062273,11.9087167,8.2630363,22.4154838,16.4498829,36.2065997,67.1553371,39.5379392,49.3629432,23.0043273,4.1065427,11.5216506,10.4489816,33.1826087,9.3750514,0.7812206,0.8067357,12.0511742,8.3244607,22.6261893,16.6484704,35.6702739,66.2844187,38.6255352,49.2766134,22.7105072,3.9787635,11.7931029,10.535243,33.1263254,8.8509765,0.7831021,0.8135569,12.0284049,8.2709182,22.7491063,16.3907561,36.1068698,66.0551233,37.7816735,48.9418491,21.6885043,3.966203,11.4172534,10.3042844,32.7259285,9.2532882,0.8437412,0.8675702,12.4626843,8.2729338,23.1677899,16.5710275,36.0649697,65.2491012,36.989172,48.4404453,21.5523589,3.8772596,11.4618763,10.1284993,32.7354937,9.7597927 +2423,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8509674,0.8796999,11.7566668,7.9899026,45.3707848,12.1102366,30.6545791,66.6807982,42.418811,45.4394537,24.8833983,4.5696359,10.6115556,8.7361165,40.2376108,8.9236729,0.8731067,0.906828,11.8688722,8.1217957,45.1149318,11.975685,30.9116158,66.4724409,42.2172456,44.8321141,25.0280588,4.5424511,10.6023604,8.5349935,40.2833654,8.1646115,0.8720695,0.908706,12.3884035,8.4412161,45.3891718,11.5556388,30.9821716,66.2440431,41.7385771,44.2626856,24.5761243,4.4316428,10.5151527,8.516749,40.7156973,8.3218364,0.9342685,0.9570535,12.7770831,8.8478534,45.4793716,11.681092,31.162233,66.3372127,41.1413581,43.9938346,24.1405899,4.507782,10.3231269,8.7772023,40.9618321,7.9091833,0.9889426,0.9934449,13.1591631,9.1296089,45.6549551,11.6704386,31.2287806,66.0499191,40.7768142,43.9970936,23.6863907,4.4679962,10.2830006,8.7565286,40.3504869,8.4189918 +2424,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1638171,1.1638171,26.6001343,22.4192028,56.2799088,17.6765224,39.9258436,65.1650741,36.1505707,46.5081592,21.2250168,3.0948558,13.4351005,10.4693913,32.9066152,15.4952225,1.1908486,1.1908486,26.7423365,22.4824984,56.5996624,17.4090941,39.728238,66.4064015,36.5713217,46.7979664,21.4536909,3.0012934,13.0412221,9.9378876,31.9831332,16.2295295,1.2033511,1.2033511,26.3725397,22.6082056,56.2853813,16.9957129,38.9821377,66.2171634,36.1537012,46.7831537,21.7378406,2.9424816,13.2467586,11.0068258,32.6273928,16.3230353,1.2067723,1.2140469,26.5391511,22.7248747,56.4090211,16.8759238,38.4192818,65.8717288,36.3909966,47.0040953,21.8629014,2.8537367,12.9968765,11.228893,32.3520553,16.7266368,1.2203229,1.2277433,25.6918001,21.609281,56.0112801,16.1387175,38.2009099,65.5386575,35.8987722,47.2175928,21.8462176,2.6138842,12.6973332,11.6632631,32.4733311,14.6840367 +2425,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7958179,1.8195425,35.2783342,30.7217247,55.0589988,12.7978427,39.7881319,63.6797674,34.6406842,43.4384204,20.8717883,2.4758704,18.0477674,11.1649819,38.6584532,19.1908546,1.8213405,1.8539677,35.5329097,31.0185344,56.2780482,12.257315,39.2425432,63.8362227,34.2353646,42.7957719,20.5750794,2.489019,18.8570005,12.1739635,39.8859589,18.553442,1.9420985,1.9614678,36.1750692,31.5054734,57.0237608,12.0804332,39.2111323,63.6722484,33.9265753,42.4827837,20.8979243,2.4962864,18.2763859,12.365698,39.9334127,18.1528662,2.0947635,2.1115115,36.5211735,31.6721103,56.7508254,11.8480565,39.075968,64.5378396,34.2955186,42.6629,21.028621,2.7458974,18.0909715,12.0437996,39.9522463,18.4599062,2.0547528,2.1026486,36.3161642,31.3683704,56.6004952,11.5298335,39.4224362,64.3917776,34.3012586,43.0324374,21.2314864,2.8554544,18.152441,12.4816225,40.1116478,18.5622183 +2426,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4022077,0.3880112,8.3486961,5.1787718,48.4886854,23.8716322,30.2967242,62.7750976,30.5535982,42.1002846,17.2837721,6.396648,10.3757653,7.5334852,32.2760486,3.5211268,0.411158,0.3968934,8.0966481,5.1457057,48.2777025,23.0356496,30.4498185,63.0211931,30.5238652,41.7740899,17.6503598,6.3998732,10.870831,7.5594915,32.4195906,3.6407767,0.3512935,0.3504959,8.7074601,5.376542,48.733588,22.7256821,30.0106165,62.0225048,29.5061988,41.4742441,17.2134553,6.398723,10.4155986,6.9661427,31.5410637,5.3738318,0.3371767,0.3363886,9.2877609,5.5655005,49.1269195,22.7997721,30.594153,61.4215684,29.0906538,41.6217531,17.1321592,6.6774288,10.2025305,6.6544211,31.6381009,4.8837209,0.3383378,0.3375836,9.8251045,5.8127602,49.3378808,21.6277457,30.7388234,60.6701,29.1924343,41.3573821,17.164947,6.5120308,10.3321931,6.5131282,32.4742313,5.5555556 +2427,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4429417,1.5148698,18.6306782,14.5356804,63.9286383,12.8751992,29.9558209,61.8424098,30.8178279,38.8681573,16.1793072,3.1412434,16.5203231,12.4141809,38.4150512,11.0823674,1.5094305,1.5818116,18.9813773,14.535352,64.2670297,12.6532526,29.482635,61.5238632,30.46588,38.4008175,16.0587456,2.9130395,16.7106511,12.6056778,39.6940848,10.3494056,1.4795211,1.5516114,18.4503614,14.0602227,64.7989483,12.7592798,29.3144206,61.6724345,30.3613416,37.8740089,16.1721783,2.8451473,16.274287,12.5839297,39.2927473,8.7243673,1.5191867,1.5995598,19.7202087,14.9080333,66.0077868,12.4570403,29.7242516,61.1833204,29.3409128,37.0041903,16.2553782,3.008664,17.1723092,13.7743394,40.7294534,10.1092806,1.5143346,1.5939163,19.4741536,15.0346609,66.8971736,11.7422613,30.1843337,61.007371,29.4515378,37.5071259,16.5475983,2.8364529,16.8155672,13.4491091,40.8730937,10.2863604 +2428,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8785503,0.9261342,13.1239055,9.3857061,25.0393003,20.4239832,35.2007208,67.4933133,38.5637554,47.8763522,24.1006268,3.4819223,12.0394309,11.3055631,39.3597003,8.4013004,0.8461324,0.9495687,13.2471977,9.7119739,25.355192,20.0843048,35.2876821,67.5516502,39.2006918,47.7949069,23.1457545,3.2125811,12.6405953,12.0013511,38.9564159,7.3232547,0.8399183,0.9793636,13.5836843,10.271563,25.7721512,20.0865722,35.6892012,67.4436019,39.6689466,48.1021325,23.0178101,3.3399013,13.5999896,12.4280874,38.851308,7.3664155,0.7710512,0.8916014,14.0028945,10.667877,25.8053701,19.7730312,35.0363114,68.0171815,39.6981313,47.9212291,23.0996257,3.3213102,13.4880718,11.7623372,38.8653025,7.5757998,0.8521769,0.9778609,14.0173715,10.5077663,25.7037808,20.0301314,34.1548049,67.5983978,39.2507985,46.9613943,22.2653651,3.1661542,13.8446867,11.499874,37.8844988,8.3851397 +2429,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9918216,1.9918216,31.7078877,27.335663,72.9737888,12.510417,34.244538,64.3370429,23.8378224,36.5808397,14.5500665,1.7241752,16.8780483,12.3476783,40.5064017,24.5903786,1.9917787,2.012696,32.0478952,27.7059088,73.0644274,12.7855353,33.6473714,64.1113659,24.3188228,37.0091817,15.0304028,1.8379808,16.8663079,11.899882,39.8244612,24.2801085,2.1161079,2.1376377,31.9158211,27.5393035,72.56685,13.4490645,33.5115352,65.503363,26.2432272,38.3664102,16.0595015,1.9414179,16.7254991,12.2118638,40.1000968,23.8704868,2.1058162,2.1113123,30.8019325,26.2127666,72.8625916,13.0835856,34.0433908,64.4283683,25.9398745,38.6634641,15.5307109,1.543163,15.7641543,12.833391,40.0403696,25.1714659,2.029597,2.0352054,30.7974684,25.79885,71.3142677,13.6107293,33.5671482,64.3069144,26.8228667,39.2171788,16.3704991,1.4714647,16.4971554,13.4062772,40.745072,25.7007872 +2430,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7787902,0.7787902,12.8852286,9.2074773,45.1063878,18.6690474,32.686853,67.927708,37.4462751,43.1949579,21.8045483,4.6123133,10.8423673,9.1191448,36.0546316,8.4478203,0.7255724,0.753369,13.3802497,9.7517479,44.6817527,18.3139352,32.9589913,67.0899858,36.3129969,43.5139704,21.1957989,4.3280017,10.3567383,9.2120515,35.7525372,8.4713221,0.8783554,0.8940492,14.0553773,10.2682559,45.0405496,18.5452789,33.3446877,66.2396283,35.6994061,43.3171368,20.9716795,4.2590223,10.4523307,9.3921175,36.8700424,9.5775052,0.8932547,0.9085579,14.4759664,10.733184,45.961586,18.4743986,33.2693802,65.6054524,34.8446286,43.1930553,20.7582232,4.489272,10.4567885,9.2617998,36.3243313,10.5179139,0.9940409,0.9889729,15.0251351,11.0417886,45.9854168,18.1847357,33.0613703,65.1732716,34.2904209,43.1173903,20.5697877,4.4804779,10.1163265,9.2351202,36.0246427,12.0987823 +2431,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5708143,0.5846858,7.9616414,5.0624442,41.8302145,21.09375,29.590459,68.2943294,33.8658866,45.3870387,15.7740774,5.9630963,10.8355091,9.6338274,33.5237258,1.5243902,0.6527658,0.6456005,8.0526073,5.2376557,41.5532614,21.6743119,28.8319483,67.4284395,34.0027701,45.7294552,15.4893813,6.0710988,11.1830743,9.2048401,33.6094159,1.5337423,0.5667214,0.5462127,8.09797,5.2294793,41.6968326,22.2099691,30.1058668,67.4239082,34.03176,45.2359947,15.9902955,6.3299515,11.0060514,9.0667678,34.5392232,3.2934132,0.4804339,0.4804339,8.3818636,5.4700499,43.2858377,21.4766512,31.0121288,65.9347553,32.93601,44.8138854,15.6629026,6.252614,10.6518817,8.0121704,34.7899729,3.1609195,0.593813,0.593813,8.8318513,5.6790622,43.3910473,22.1331689,31.2576065,64.8478702,32.5557809,44.3610548,15.7200811,6.3083164,10.2443609,7.3501577,35.3889943,4.0322581 +2432,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.5094305,1.5818116,18.9813773,14.535352,64.2670297,12.6532526,29.482635,61.5238632,30.46588,38.4008175,16.0587456,2.9130395,16.7106511,12.6056778,39.6940848,10.3494056,1.4795211,1.5516114,18.4503614,14.0602227,64.7989483,12.7592798,29.3144206,61.6724345,30.3613416,37.8740089,16.1721783,2.8451473,16.274287,12.5839297,39.2927473,8.7243673,1.5191867,1.5995598,19.7202087,14.9080333,66.0077868,12.4570403,29.7242516,61.1833204,29.3409128,37.0041903,16.2553782,3.008664,17.1723092,13.7743394,40.7294534,10.1092806,1.5143346,1.5939163,19.4741536,15.0346609,66.8971736,11.7422613,30.1843337,61.007371,29.4515378,37.5071259,16.5475983,2.8364529,16.8155672,13.4491091,40.8730937,10.2863604,1.4617016,1.5246013,20.1004041,15.6163388,68.6216498,11.2310662,31.1817153,60.9321802,29.6750971,37.1150031,16.5333567,3.331862,15.7329906,12.7576864,40.8886037,10.146697 +2433,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.6732158,0.6685923,9.2218995,6.6203685,58.2468587,12.6799596,26.9170877,70.6666398,31.3140488,45.6143343,15.6273784,4.8526287,12.6558735,11.4695321,32.9812793,9.1234301,0.7354042,0.7308348,8.9237283,6.237008,54.4083269,13.0637334,26.5354271,70.7189142,31.2814818,46.6967113,16.0624279,4.8834921,12.5484021,11.389849,32.2066641,9.3281563,0.7565076,0.7426624,9.0487263,6.2076049,50.9743578,13.4168638,26.0592725,70.5616677,31.7042347,46.2942509,16.0808201,4.7904862,11.7715681,11.3829774,31.4163314,8.9925923,0.5462209,0.5323246,8.3966036,5.4490534,48.7878269,13.7122037,25.0254877,70.1150172,32.0111143,46.2999926,15.9758185,4.7828791,12.2758356,11.6523015,31.5643629,4.9241566,0.5155956,0.5294513,8.338397,5.2572231,47.1393897,13.5759389,25.4305394,69.5730096,31.9114468,45.5059639,16.024889,4.5248903,11.4901309,10.6191489,30.6387317,4.1352637 +2434,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.411158,0.3968934,8.0966481,5.1457057,48.2777025,23.0356496,30.4498185,63.0211931,30.5238652,41.7740899,17.6503598,6.3998732,10.870831,7.5594915,32.4195906,3.6407767,0.3512935,0.3504959,8.7074601,5.376542,48.733588,22.7256821,30.0106165,62.0225048,29.5061988,41.4742441,17.2134553,6.398723,10.4155986,6.9661427,31.5410637,5.3738318,0.3371767,0.3363886,9.2877609,5.5655005,49.1269195,22.7997721,30.594153,61.4215684,29.0906538,41.6217531,17.1321592,6.6774288,10.2025305,6.6544211,31.6381009,4.8837209,0.3383378,0.3375836,9.8251045,5.8127602,49.3378808,21.6277457,30.7388234,60.6701,29.1924343,41.3573821,17.164947,6.5120308,10.3321931,6.5131282,32.4742313,5.5555556,0.3391277,0.358721,9.6160233,5.9086428,49.5506531,21.940147,31.3845589,60.8313923,28.8671709,40.7585191,17.0420699,6.4756578,10.6507499,6.5320699,32.1512519,6.7099567 +2435,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2922862,2.1325418,36.2778731,32.3327616,67.9328622,7.3979592,39.5008606,64.9741824,28.141136,43.4595525,17.6419966,6.7986231,16.440678,10.3741497,36.4726027,18.9655172,2.1752098,2.0159741,35.7385399,30.9847199,67.6265271,7.6988156,38.7563884,65.3321976,27.8534923,43.5264055,17.6320273,6.2180579,14.548495,11.5384615,35.5218855,18.3453237,1.8538436,1.8538436,35.4419411,30.9358752,68.4448463,7.9545455,38.712522,65.696649,27.6014109,43.8271605,18.7830688,6.4373898,15.5821918,11.8150685,36.7241379,17.0289855,1.6648024,1.6648024,34.9557522,30.3539823,65.9554731,8.1834532,37.9528986,66.2137681,29.2572464,45.3804348,20.7427536,7.8804348,15.2877698,11.3309353,37.1376812,18.1481481,2.0299517,2.0299517,34.5238095,30.6776557,65.9351145,8.4259259,36.4564007,65.3988868,29.9628942,45.1762523,20.5009276,7.8849722,16.3003663,11.9047619,36.2132353,18.8461538 +2436,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7095612,0.7268929,11.9980854,8.5464902,35.6259047,10.9914083,30.1202201,64.9307936,33.3776159,45.5403373,18.3489556,3.3342657,11.0002237,8.8726076,29.3965383,8.6805455,0.727103,0.7628817,11.9260447,8.5758121,35.9015168,11.1872327,30.5064729,65.6775436,34.1593916,45.9328645,19.0181845,3.2387255,11.0161297,8.9954128,29.8743686,8.0219727,0.7682719,0.809046,11.6316173,8.5384506,36.4476193,11.1030989,30.5053505,66.4012017,34.5200962,46.1959402,18.9350558,3.3105065,11.1930184,9.2404987,29.4724885,8.6999965,0.7635369,0.8036341,11.4746415,8.5759217,37.1416234,11.2127015,30.5673255,66.5047152,34.661123,47.0851823,19.2705827,3.2063637,11.4536425,9.5956495,29.7603303,9.772296,0.7372494,0.7607564,11.4647278,8.5970048,37.8440038,11.0535795,30.4382471,66.5803384,34.8849496,47.4545905,19.6879243,3.0255074,11.6751454,9.4037415,29.4733102,9.3466459 +2437,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1908486,1.1908486,26.7423365,22.4824984,56.5996624,17.4090941,39.728238,66.4064015,36.5713217,46.7979664,21.4536909,3.0012934,13.0412221,9.9378876,31.9831332,16.2295295,1.2033511,1.2033511,26.3725397,22.6082056,56.2853813,16.9957129,38.9821377,66.2171634,36.1537012,46.7831537,21.7378406,2.9424816,13.2467586,11.0068258,32.6273928,16.3230353,1.2067723,1.2140469,26.5391511,22.7248747,56.4090211,16.8759238,38.4192818,65.8717288,36.3909966,47.0040953,21.8629014,2.8537367,12.9968765,11.228893,32.3520553,16.7266368,1.2203229,1.2277433,25.6918001,21.609281,56.0112801,16.1387175,38.2009099,65.5386575,35.8987722,47.2175928,21.8462176,2.6138842,12.6973332,11.6632631,32.4733311,14.6840367,1.4141366,1.4215932,25.3186372,21.0781011,54.3836944,16.5553649,39.1555509,65.5162437,37.0832801,47.9263847,21.9511946,3.2047361,12.7645749,11.190857,32.9282685,14.716287 +2438,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4795211,1.5516114,18.4503614,14.0602227,64.7989483,12.7592798,29.3144206,61.6724345,30.3613416,37.8740089,16.1721783,2.8451473,16.274287,12.5839297,39.2927473,8.7243673,1.5191867,1.5995598,19.7202087,14.9080333,66.0077868,12.4570403,29.7242516,61.1833204,29.3409128,37.0041903,16.2553782,3.008664,17.1723092,13.7743394,40.7294534,10.1092806,1.5143346,1.5939163,19.4741536,15.0346609,66.8971736,11.7422613,30.1843337,61.007371,29.4515378,37.5071259,16.5475983,2.8364529,16.8155672,13.4491091,40.8730937,10.2863604,1.4617016,1.5246013,20.1004041,15.6163388,68.6216498,11.2310662,31.1817153,60.9321802,29.6750971,37.1150031,16.5333567,3.331862,15.7329906,12.7576864,40.8886037,10.146697,1.4020597,1.4122732,20.4703293,15.9062166,70.9834977,11.5931858,31.2251491,60.8971288,29.8402714,37.2382299,16.3659332,3.1248089,15.7534674,12.4923283,40.7657017,10.3176241 +2439,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6527658,0.6456005,8.0526073,5.2376557,41.5532614,21.6743119,28.8319483,67.4284395,34.0027701,45.7294552,15.4893813,6.0710988,11.1830743,9.2048401,33.6094159,1.5337423,0.5667214,0.5462127,8.09797,5.2294793,41.6968326,22.2099691,30.1058668,67.4239082,34.03176,45.2359947,15.9902955,6.3299515,11.0060514,9.0667678,34.5392232,3.2934132,0.4804339,0.4804339,8.3818636,5.4700499,43.2858377,21.4766512,31.0121288,65.9347553,32.93601,44.8138854,15.6629026,6.252614,10.6518817,8.0121704,34.7899729,3.1609195,0.593813,0.593813,8.8318513,5.6790622,43.3910473,22.1331689,31.2576065,64.8478702,32.5557809,44.3610548,15.7200811,6.3083164,10.2443609,7.3501577,35.3889943,4.0322581,0.5590306,0.5590306,8.5674157,5.5176565,43.2460954,22.6713172,30.7521229,65.8511929,32.5313385,44.298423,16.5183987,6.0857258,9.7188995,6.7209162,35.2923448,5.3846154 +2440,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6214964,1.6508933,20.1221768,16.1928068,83.5830416,14.4080792,33.9208146,63.0115623,36.9244954,41.4012679,19.852499,5.658901,14.5497445,12.7703679,39.3718461,12.9841212,1.5813813,1.5813813,19.7413035,15.5587003,83.9783647,14.587074,34.0678764,62.8742579,38.0818271,41.4607971,20.3631886,6.0870744,14.6957259,13.4401003,38.8812227,11.6861989,1.6190379,1.6190379,19.6125041,15.5694009,84.6616109,13.1116274,33.9001488,61.7958321,36.6671279,40.6522136,19.6993561,5.5595772,14.1493355,13.0298988,38.2570145,12.7732872,1.7845498,1.7845498,19.5546477,15.6367182,85.4743046,13.3274519,32.7570053,63.0797052,36.7294007,39.46241,19.1614574,5.6933761,12.5008885,11.6146203,37.9281524,13.3539647,1.4223981,1.4846702,18.7595774,15.0805165,85.3984554,12.5256455,32.3495077,64.3312504,36.9604226,39.8741724,19.2760281,6.0642563,13.3116131,11.586066,37.8573785,13.4310274 +2441,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2788469,1.3427731,25.4200292,21.2453731,37.5805887,15.759839,34.0404562,64.2436261,35.6358048,46.3476125,20.213497,3.2973829,13.7730653,10.0302502,35.8523798,21.5278017,1.3548732,1.418104,25.8603124,21.7141662,38.0243878,15.5143499,34.0190668,63.774047,34.7715193,45.7171125,19.916323,3.3861102,13.8790625,9.9177262,35.9240801,21.0145064,1.3654145,1.4369518,26.7351174,22.843847,39.0123694,15.0076428,34.0411851,63.3560872,34.182849,45.327943,19.8354467,3.3357727,13.9462168,10.0553992,35.9915856,20.4871243,1.3173801,1.3857586,27.223223,23.3262211,39.6778012,14.9203228,34.5287781,62.9585958,32.9946989,44.9132752,18.9047422,3.1679193,13.6482835,9.795464,36.0287536,19.1057002,1.4499624,1.4848306,27.6668199,23.5799977,39.9640052,15.0675769,34.9013253,63.09455,33.2158414,44.8974209,18.8803705,3.2060516,13.5478582,9.7932216,36.173515,19.2408206 +2442,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8213405,1.8539677,35.5329097,31.0185344,56.2780482,12.257315,39.2425432,63.8362227,34.2353646,42.7957719,20.5750794,2.489019,18.8570005,12.1739635,39.8859589,18.553442,1.9420985,1.9614678,36.1750692,31.5054734,57.0237608,12.0804332,39.2111323,63.6722484,33.9265753,42.4827837,20.8979243,2.4962864,18.2763859,12.365698,39.9334127,18.1528662,2.0947635,2.1115115,36.5211735,31.6721103,56.7508254,11.8480565,39.075968,64.5378396,34.2955186,42.6629,21.028621,2.7458974,18.0909715,12.0437996,39.9522463,18.4599062,2.0547528,2.1026486,36.3161642,31.3683704,56.6004952,11.5298335,39.4224362,64.3917776,34.3012586,43.0324374,21.2314864,2.8554544,18.152441,12.4816225,40.1116478,18.5622183,2.0591245,2.1001416,35.5158961,30.8063451,56.20733,11.2424207,39.091192,63.9676141,34.8903926,43.4000584,21.3253812,3.017907,18.2232722,12.653362,40.839216,19.8422682 +2443,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5262645,1.5007661,32.2540834,27.9731205,67.0483731,12.2642569,34.7026281,64.8797611,29.2770297,39.9642738,17.1770904,2.7753874,17.0193098,14.5824398,40.9607725,19.7277909,1.5080247,1.4698354,32.2927696,28.2900469,66.9480795,12.1311987,33.6733956,64.5727296,29.581596,39.1874988,17.6853623,2.7765585,17.09633,13.847351,39.4166033,18.5397598,1.664161,1.5905027,31.2316382,27.1754396,66.3700734,12.6236732,33.4092842,64.6165086,29.4194679,39.5858142,17.2853359,2.456892,16.8104751,14.0671197,39.4114961,16.8656663,1.6780107,1.6040982,30.7157254,26.5266903,65.6163938,13.0242047,32.2563556,64.4944753,28.9652887,38.8834924,17.2389859,2.5104869,16.7678223,13.4759264,38.7741502,17.164133,1.784678,1.7109277,29.3790066,25.2911346,64.5462042,13.4456402,32.8197224,64.9427286,30.0340103,39.8266979,17.7502686,2.5960443,16.7542231,13.1371288,39.726895,15.4411401 +2444,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1752098,2.0159741,35.7385399,30.9847199,67.6265271,7.6988156,38.7563884,65.3321976,27.8534923,43.5264055,17.6320273,6.2180579,14.548495,11.5384615,35.5218855,18.3453237,1.8538436,1.8538436,35.4419411,30.9358752,68.4448463,7.9545455,38.712522,65.696649,27.6014109,43.8271605,18.7830688,6.4373898,15.5821918,11.8150685,36.7241379,17.0289855,1.6648024,1.6648024,34.9557522,30.3539823,65.9554731,8.1834532,37.9528986,66.2137681,29.2572464,45.3804348,20.7427536,7.8804348,15.2877698,11.3309353,37.1376812,18.1481481,2.0299517,2.0299517,34.5238095,30.6776557,65.9351145,8.4259259,36.4564007,65.3988868,29.9628942,45.1762523,20.5009276,7.8849722,16.3003663,11.9047619,36.2132353,18.8461538,2.4280576,2.4280576,33.5538752,29.2060491,66.2324649,8.07393,36.4257812,64.3554687,29.1992188,44.8242188,19.6289062,7.3242187,16.4092664,12.9343629,36.627907,16.9291339 +2445,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2033511,1.2033511,26.3725397,22.6082056,56.2853813,16.9957129,38.9821377,66.2171634,36.1537012,46.7831537,21.7378406,2.9424816,13.2467586,11.0068258,32.6273928,16.3230353,1.2067723,1.2140469,26.5391511,22.7248747,56.4090211,16.8759238,38.4192818,65.8717288,36.3909966,47.0040953,21.8629014,2.8537367,12.9968765,11.228893,32.3520553,16.7266368,1.2203229,1.2277433,25.6918001,21.609281,56.0112801,16.1387175,38.2009099,65.5386575,35.8987722,47.2175928,21.8462176,2.6138842,12.6973332,11.6632631,32.4733311,14.6840367,1.4141366,1.4215932,25.3186372,21.0781011,54.3836944,16.5553649,39.1555509,65.5162437,37.0832801,47.9263847,21.9511946,3.2047361,12.7645749,11.190857,32.9282685,14.716287,1.5569127,1.5645933,25.0696214,20.5622086,55.3483908,15.5263374,39.4610086,65.4485076,36.4846706,46.9017941,22.1487579,2.9515254,13.0715762,11.5575622,34.1867747,16.9708029 +2446,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.084068,2.1633145,27.744153,22.7936556,43.780603,14.1960267,34.6092831,64.9770446,33.658764,44.2968327,22.9653543,4.0567054,13.2811346,8.9073731,42.7662403,23.5015847,1.97785,2.0355593,28.2636825,22.9595781,44.3669776,13.6045002,34.3985899,65.0596822,33.0087398,44.5037349,23.1474892,3.8220663,13.3358096,8.6413037,43.7327004,21.5408873,1.9694695,2.0314607,28.9117207,23.751142,45.3895965,14.0758704,35.0471285,64.7473786,32.7246319,44.8329169,22.8862873,3.9192152,12.8390681,8.5316523,43.0741628,21.0769296,1.9927726,2.0590924,30.0156142,24.9483509,46.3562359,14.2130939,35.6448852,64.7618221,32.4519234,44.2501047,22.9028578,3.6256635,13.4487863,8.7308119,43.1731577,21.2963076,1.9179713,1.9417618,31.4209245,26.1779056,46.9023943,14.0961191,35.8897921,64.6686582,31.7360856,43.6956663,22.262212,3.5135872,13.7944995,9.2834409,43.2589667,20.2770883 +2447,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.776111,0.8062273,11.9087167,8.2630363,22.4154838,16.4498829,36.2065997,67.1553371,39.5379392,49.3629432,23.0043273,4.1065427,11.5216506,10.4489816,33.1826087,9.3750514,0.7812206,0.8067357,12.0511742,8.3244607,22.6261893,16.6484704,35.6702739,66.2844187,38.6255352,49.2766134,22.7105072,3.9787635,11.7931029,10.535243,33.1263254,8.8509765,0.7831021,0.8135569,12.0284049,8.2709182,22.7491063,16.3907561,36.1068698,66.0551233,37.7816735,48.9418491,21.6885043,3.966203,11.4172534,10.3042844,32.7259285,9.2532882,0.8437412,0.8675702,12.4626843,8.2729338,23.1677899,16.5710275,36.0649697,65.2491012,36.989172,48.4404453,21.5523589,3.8772596,11.4618763,10.1284993,32.7354937,9.7597927,0.8710019,0.8999081,12.8258207,8.5258974,23.941136,16.6433638,35.8719403,65.1700037,36.7493807,48.7181369,21.4902764,3.73595,11.4534701,9.9018432,33.1166536,9.5833584 +2448,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.7354042,0.7308348,8.9237283,6.237008,54.4083269,13.0637334,26.5354271,70.7189142,31.2814818,46.6967113,16.0624279,4.8834921,12.5484021,11.389849,32.2066641,9.3281563,0.7565076,0.7426624,9.0487263,6.2076049,50.9743578,13.4168638,26.0592725,70.5616677,31.7042347,46.2942509,16.0808201,4.7904862,11.7715681,11.3829774,31.4163314,8.9925923,0.5462209,0.5323246,8.3966036,5.4490534,48.7878269,13.7122037,25.0254877,70.1150172,32.0111143,46.2999926,15.9758185,4.7828791,12.2758356,11.6523015,31.5643629,4.9241566,0.5155956,0.5294513,8.338397,5.2572231,47.1393897,13.5759389,25.4305394,69.5730096,31.9114468,45.5059639,16.024889,4.5248903,11.4901309,10.6191489,30.6387317,4.1352637,0.5580181,0.5766977,7.7737745,4.929224,44.7186668,13.4104,24.9668289,68.6593522,31.6031341,44.7961794,15.0919602,4.7774208,12.1566005,11.4112822,31.0776383,4.2306879 +2449,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.9420985,1.9614678,36.1750692,31.5054734,57.0237608,12.0804332,39.2111323,63.6722484,33.9265753,42.4827837,20.8979243,2.4962864,18.2763859,12.365698,39.9334127,18.1528662,2.0947635,2.1115115,36.5211735,31.6721103,56.7508254,11.8480565,39.075968,64.5378396,34.2955186,42.6629,21.028621,2.7458974,18.0909715,12.0437996,39.9522463,18.4599062,2.0547528,2.1026486,36.3161642,31.3683704,56.6004952,11.5298335,39.4224362,64.3917776,34.3012586,43.0324374,21.2314864,2.8554544,18.152441,12.4816225,40.1116478,18.5622183,2.0591245,2.1001416,35.5158961,30.8063451,56.20733,11.2424207,39.091192,63.9676141,34.8903926,43.4000584,21.3253812,3.017907,18.2232722,12.653362,40.839216,19.8422682,2.2075038,2.2366109,36.0056791,31.0311256,56.5651879,10.6719523,39.1890868,63.5549266,34.6816171,43.4066109,20.6505449,2.8730106,18.2875364,13.4225146,40.2461474,20.2735719 +2450,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2067723,1.2140469,26.5391511,22.7248747,56.4090211,16.8759238,38.4192818,65.8717288,36.3909966,47.0040953,21.8629014,2.8537367,12.9968765,11.228893,32.3520553,16.7266368,1.2203229,1.2277433,25.6918001,21.609281,56.0112801,16.1387175,38.2009099,65.5386575,35.8987722,47.2175928,21.8462176,2.6138842,12.6973332,11.6632631,32.4733311,14.6840367,1.4141366,1.4215932,25.3186372,21.0781011,54.3836944,16.5553649,39.1555509,65.5162437,37.0832801,47.9263847,21.9511946,3.2047361,12.7645749,11.190857,32.9282685,14.716287,1.5569127,1.5645933,25.0696214,20.5622086,55.3483908,15.5263374,39.4610086,65.4485076,36.4846706,46.9017941,22.1487579,2.9515254,13.0715762,11.5575622,34.1867747,16.9708029,1.6225794,1.6303353,25.4002769,20.7133119,54.6800787,15.797081,39.358142,65.3912731,36.9562861,46.7021305,22.5124845,3.2736074,13.1376144,11.7272357,33.7500076,16.0516546 +2451,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5375759,2.5397463,35.6706067,30.0610828,52.3451021,19.5277269,36.4398991,64.8756047,32.8344516,45.1681732,20.0241231,3.061495,17.8786244,13.393846,36.0938527,26.9868007,2.3464148,2.3485858,34.9411304,29.3343964,51.6536986,19.6563548,36.7469758,64.5861659,33.7784614,45.8161926,20.4211834,2.987522,17.1985942,12.31932,34.2213838,25.0025129,2.0659309,2.0358231,34.9565954,29.5471597,51.7663466,19.527095,36.9783306,64.9884066,34.1064073,45.6892028,20.4493777,3.4487729,15.4266454,12.4098846,33.9247993,25.7677078,1.9731446,1.9417153,35.1650661,29.9633514,51.5387628,19.1812117,38.0351919,64.8764643,34.1843042,46.1384306,20.7274666,3.5093983,14.5723659,12.3196374,34.0357576,28.1566596,2.0655007,2.0116889,34.1457297,29.089749,49.0765619,19.8635756,38.1798905,66.468056,35.4865064,47.2236038,20.6551187,3.7987772,13.1304366,12.09726,33.671219,27.1492831 +2452,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1146513,1.1829539,19.5500261,15.409777,39.7953433,20.0193094,38.7824472,66.815416,38.0636665,47.9307465,22.4460422,3.5177439,12.759835,10.8628232,34.1555223,12.2589565,1.076897,1.145186,20.1709543,15.9699949,40.0636869,19.8997945,39.0873911,66.6193881,38.564648,47.7347117,22.4460439,3.6048677,12.5055509,10.9999908,33.8313627,11.6573001,1.1579484,1.2108248,20.9090615,16.729342,41.215522,19.1892944,39.3126515,66.0309866,38.1707424,47.6082515,22.6136324,3.8676938,13.2186212,11.045743,33.8941908,11.6621953,1.184062,1.231298,20.9687197,16.7934899,42.0536791,19.1225493,38.7155308,65.6793467,38.6093887,47.314184,22.3885268,3.5987214,13.9489583,11.9212431,34.2664885,11.8925831,1.1214199,1.1619819,21.7119923,17.7848155,42.3777012,18.3882957,38.823185,66.1419219,38.2527357,46.7462157,22.5966488,3.7713856,14.5654013,12.327876,34.6369847,13.2575691 +2453,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5080247,1.4698354,32.2927696,28.2900469,66.9480795,12.1311987,33.6733956,64.5727296,29.581596,39.1874988,17.6853623,2.7765585,17.09633,13.847351,39.4166033,18.5397598,1.664161,1.5905027,31.2316382,27.1754396,66.3700734,12.6236732,33.4092842,64.6165086,29.4194679,39.5858142,17.2853359,2.456892,16.8104751,14.0671197,39.4114961,16.8656663,1.6780107,1.6040982,30.7157254,26.5266903,65.6163938,13.0242047,32.2563556,64.4944753,28.9652887,38.8834924,17.2389859,2.5104869,16.7678223,13.4759264,38.7741502,17.164133,1.784678,1.7109277,29.3790066,25.2911346,64.5462042,13.4456402,32.8197224,64.9427286,30.0340103,39.8266979,17.7502686,2.5960443,16.7542231,13.1371288,39.726895,15.4411401,1.7696561,1.6644804,28.859638,24.5565542,64.4266799,13.5600625,32.5339366,64.4560868,29.948443,39.9942909,17.8673549,2.5221887,16.1007157,12.3376244,39.023173,16.7177811 +2454,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.5191867,1.5995598,19.7202087,14.9080333,66.0077868,12.4570403,29.7242516,61.1833204,29.3409128,37.0041903,16.2553782,3.008664,17.1723092,13.7743394,40.7294534,10.1092806,1.5143346,1.5939163,19.4741536,15.0346609,66.8971736,11.7422613,30.1843337,61.007371,29.4515378,37.5071259,16.5475983,2.8364529,16.8155672,13.4491091,40.8730937,10.2863604,1.4617016,1.5246013,20.1004041,15.6163388,68.6216498,11.2310662,31.1817153,60.9321802,29.6750971,37.1150031,16.5333567,3.331862,15.7329906,12.7576864,40.8886037,10.146697,1.4020597,1.4122732,20.4703293,15.9062166,70.9834977,11.5931858,31.2251491,60.8971288,29.8402714,37.2382299,16.3659332,3.1248089,15.7534674,12.4923283,40.7657017,10.3176241,1.4137558,1.4236764,20.737958,16.2898053,73.010245,11.3780422,31.9118466,60.749693,30.0626052,37.2162816,16.5817905,3.3213708,14.8357741,11.8558812,39.8963214,10.4143022 +2455,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.97785,2.0355593,28.2636825,22.9595781,44.3669776,13.6045002,34.3985899,65.0596822,33.0087398,44.5037349,23.1474892,3.8220663,13.3358096,8.6413037,43.7327004,21.5408873,1.9694695,2.0314607,28.9117207,23.751142,45.3895965,14.0758704,35.0471285,64.7473786,32.7246319,44.8329169,22.8862873,3.9192152,12.8390681,8.5316523,43.0741628,21.0769296,1.9927726,2.0590924,30.0156142,24.9483509,46.3562359,14.2130939,35.6448852,64.7618221,32.4519234,44.2501047,22.9028578,3.6256635,13.4487863,8.7308119,43.1731577,21.2963076,1.9179713,1.9417618,31.4209245,26.1779056,46.9023943,14.0961191,35.8897921,64.6686582,31.7360856,43.6956663,22.262212,3.5135872,13.7944995,9.2834409,43.2589667,20.2770883,2.0703164,2.1467027,32.496331,27.3972619,49.1931232,13.9015758,35.8084339,64.0355313,31.4504201,43.8960744,21.223592,3.2394677,13.4794298,8.8072332,43.894698,22.3192187 +2456,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.0947635,2.1115115,36.5211735,31.6721103,56.7508254,11.8480565,39.075968,64.5378396,34.2955186,42.6629,21.028621,2.7458974,18.0909715,12.0437996,39.9522463,18.4599062,2.0547528,2.1026486,36.3161642,31.3683704,56.6004952,11.5298335,39.4224362,64.3917776,34.3012586,43.0324374,21.2314864,2.8554544,18.152441,12.4816225,40.1116478,18.5622183,2.0591245,2.1001416,35.5158961,30.8063451,56.20733,11.2424207,39.091192,63.9676141,34.8903926,43.4000584,21.3253812,3.017907,18.2232722,12.653362,40.839216,19.8422682,2.2075038,2.2366109,36.0056791,31.0311256,56.5651879,10.6719523,39.1890868,63.5549266,34.6816171,43.4066109,20.6505449,2.8730106,18.2875364,13.4225146,40.2461474,20.2735719,2.2290376,2.2608529,35.9271186,30.9634242,57.4792336,10.1302024,38.5248336,63.3369688,34.706437,43.23985,20.2027975,2.8092457,17.9706927,14.1426558,40.511076,19.7345813 +2457,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5667214,0.5462127,8.09797,5.2294793,41.6968326,22.2099691,30.1058668,67.4239082,34.03176,45.2359947,15.9902955,6.3299515,11.0060514,9.0667678,34.5392232,3.2934132,0.4804339,0.4804339,8.3818636,5.4700499,43.2858377,21.4766512,31.0121288,65.9347553,32.93601,44.8138854,15.6629026,6.252614,10.6518817,8.0121704,34.7899729,3.1609195,0.593813,0.593813,8.8318513,5.6790622,43.3910473,22.1331689,31.2576065,64.8478702,32.5557809,44.3610548,15.7200811,6.3083164,10.2443609,7.3501577,35.3889943,4.0322581,0.5590306,0.5590306,8.5674157,5.5176565,43.2460954,22.6713172,30.7521229,65.8511929,32.5313385,44.298423,16.5183987,6.0857258,9.7188995,6.7209162,35.2923448,5.3846154,0.5308147,0.4934873,8.3802251,5.5667203,43.3305192,22.5256674,30.2498992,64.9536477,31.5397017,43.7525191,16.2636034,5.2599758,9.4951234,6.7958357,35.7101617,5.4404145 +2458,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4804339,0.4804339,8.3818636,5.4700499,43.2858377,21.4766512,31.0121288,65.9347553,32.93601,44.8138854,15.6629026,6.252614,10.6518817,8.0121704,34.7899729,3.1609195,0.593813,0.593813,8.8318513,5.6790622,43.3910473,22.1331689,31.2576065,64.8478702,32.5557809,44.3610548,15.7200811,6.3083164,10.2443609,7.3501577,35.3889943,4.0322581,0.5590306,0.5590306,8.5674157,5.5176565,43.2460954,22.6713172,30.7521229,65.8511929,32.5313385,44.298423,16.5183987,6.0857258,9.7188995,6.7209162,35.2923448,5.3846154,0.5308147,0.4934873,8.3802251,5.5667203,43.3305192,22.5256674,30.2498992,64.9536477,31.5397017,43.7525191,16.2636034,5.2599758,9.4951234,6.7958357,35.7101617,5.4404145,0.7298258,0.7119559,9.0195327,5.9555726,43.6867665,22.9330709,30.7915058,65.3088803,30.6370656,43.6872587,16.6216216,5.03861,9.6590909,6.908793,35.1902174,5.0970874 +2459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6923255,0.7126081,12.3951259,8.5356299,44.7064459,17.9231045,32.9756951,62.3346343,30.4455109,41.9613895,17.7853722,4.4041709,10.6775937,7.8207198,31.9412636,7.5787036,0.6793633,0.6951837,12.7505333,8.9425273,45.8756311,17.5995786,33.3773103,62.586156,30.6963885,41.7474864,17.9488234,4.3693375,10.7193735,8.0924789,32.2705722,8.0273662,0.6887594,0.6861527,13.8762742,10.2600761,47.4871222,17.6154187,33.2134933,62.8912024,30.8728625,41.581702,18.0992868,4.5390078,11.0666469,8.4282268,32.385743,7.6343226,0.6657058,0.6631333,13.9276805,10.545975,49.0084007,17.6874729,32.4854392,63.1933274,30.6571564,41.2033021,18.1615731,4.3360372,10.6940796,8.3612196,31.639131,7.9752482,0.6334656,0.6507214,13.8185091,10.4170357,49.8723833,17.3804841,32.5363314,64.1062804,30.6290008,41.3091013,18.1111559,4.2523394,10.6512608,8.4360563,31.7871445,8.3135354 +2460,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.8930242,0.8669581,12.3239492,8.0985998,35.5489205,19.1081572,30.1579113,70.8376322,40.4565627,47.4596514,22.6742325,3.1410863,9.6619773,9.1634744,33.4082092,10.4839247,0.9564009,0.9435765,13.0370147,8.4765416,35.7093552,19.2551615,29.9797092,70.4937467,39.9222084,46.6181829,22.1001102,3.2296224,10.1689548,9.3730411,33.3018805,9.5628962,0.974609,0.9670767,12.989326,8.6865139,35.6222376,19.0249383,30.1062859,70.2922758,40.4350565,46.0146076,22.2351489,3.2049164,10.4923055,9.2729501,33.5083322,10.7143407,1.0432437,1.0457984,13.3825915,9.1789843,35.4611057,19.230749,29.7675301,70.0303339,40.8524126,46.0747917,22.2877366,3.2850385,10.2812485,8.7867351,32.8633963,11.9680915,1.1041043,1.0883065,13.1899752,9.3972268,36.0588782,19.4949957,29.9132039,69.1840326,40.0867868,45.5381875,22.204863,3.3506897,10.5513325,8.375793,33.1317612,13.6627986 +2461,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7379181,0.7473734,12.6488351,8.7317428,41.4902872,19.6690074,32.9776101,61.9663823,34.4861716,44.7334908,20.2432137,6.6797849,10.0224186,7.5712813,34.080676,8.8182316,0.804491,0.8138859,13.2722831,9.2440679,42.0852688,19.7338795,33.2094576,61.8618218,33.7090563,44.5785859,19.9229765,6.7445115,10.4667325,7.8359246,34.2298086,9.0827812,0.8433817,0.8558055,13.4717978,9.5387021,42.8620808,19.6157476,33.4830007,61.1787394,33.4159448,44.4674113,19.8832576,6.6590471,10.6644741,7.9636648,33.9897737,7.9235308,0.8446798,0.8601692,13.6093726,9.7455101,44.5476326,19.1179907,33.7019632,61.0818786,32.7097552,44.1739107,19.8913347,6.6304458,10.7805336,8.2359605,34.2114489,8.6998437,0.8251938,0.858366,13.6054746,9.85649,45.0239106,19.6097436,33.5745903,61.7284547,32.8309657,44.6378415,19.9412359,6.620987,10.9050555,8.1211559,33.8007125,8.6995018 +2462,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.758616,0.7836196,11.560045,7.66687,25.1640608,13.7684267,30.2579461,67.7144786,40.3968467,48.1634807,21.5988249,6.7528567,9.9735154,8.7882307,33.9062178,4.6710472,0.7630632,0.7878999,11.5786449,7.4900961,25.5478037,14.109359,30.157993,67.8929449,40.6269073,48.4614767,21.2286284,7.3727158,10.2371786,9.2863682,34.313715,8.0110122,0.8371178,0.8691402,11.5237097,7.6661307,25.1354075,14.6242462,30.1684233,67.9565108,40.2189796,47.2208628,20.9553801,7.7891837,10.6023731,9.497927,34.9761768,9.2178418,0.7096643,0.7636085,12.245038,8.2218997,25.4741104,14.3986518,30.516739,67.3256467,40.1290754,47.3202729,20.7755515,8.1565839,10.4438075,9.7464655,33.3217389,9.0205856,0.8014133,0.8411834,12.6790247,8.5349308,25.4167575,14.0459657,30.3868089,67.4060084,40.4460007,47.5609001,20.6656862,8.3364557,11.1080412,9.459818,32.734073,9.6353847 +2463,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8731067,0.906828,11.8688722,8.1217957,45.1149318,11.975685,30.9116158,66.4724409,42.2172456,44.8321141,25.0280588,4.5424511,10.6023604,8.5349935,40.2833654,8.1646115,0.8720695,0.908706,12.3884035,8.4412161,45.3891718,11.5556388,30.9821716,66.2440431,41.7385771,44.2626856,24.5761243,4.4316428,10.5151527,8.516749,40.7156973,8.3218364,0.9342685,0.9570535,12.7770831,8.8478534,45.4793716,11.681092,31.162233,66.3372127,41.1413581,43.9938346,24.1405899,4.507782,10.3231269,8.7772023,40.9618321,7.9091833,0.9889426,0.9934449,13.1591631,9.1296089,45.6549551,11.6704386,31.2287806,66.0499191,40.7768142,43.9970936,23.6863907,4.4679962,10.2830006,8.7565286,40.3504869,8.4189918,0.9580962,0.9773962,13.32997,9.362669,45.9522677,11.6578777,31.1045843,66.0133483,40.9554006,43.7817921,23.4778595,4.5269151,10.1053757,8.5988182,40.0973656,9.3556259 +2464,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8538436,1.8538436,35.4419411,30.9358752,68.4448463,7.9545455,38.712522,65.696649,27.6014109,43.8271605,18.7830688,6.4373898,15.5821918,11.8150685,36.7241379,17.0289855,1.6648024,1.6648024,34.9557522,30.3539823,65.9554731,8.1834532,37.9528986,66.2137681,29.2572464,45.3804348,20.7427536,7.8804348,15.2877698,11.3309353,37.1376812,18.1481481,2.0299517,2.0299517,34.5238095,30.6776557,65.9351145,8.4259259,36.4564007,65.3988868,29.9628942,45.1762523,20.5009276,7.8849722,16.3003663,11.9047619,36.2132353,18.8461538,2.4280576,2.4280576,33.5538752,29.2060491,66.2324649,8.07393,36.4257812,64.3554687,29.1992188,44.8242188,19.6289062,7.3242187,16.4092664,12.9343629,36.627907,16.9291339,3.1269398,3.1269398,32.5831703,28.2778865,67.7385892,7.3293173,35.5983773,63.1845842,28.7018256,43.9148073,18.7626775,7.8093306,16.9201521,15.0190114,38.740458,16.4 +2465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.0547528,2.1026486,36.3161642,31.3683704,56.6004952,11.5298335,39.4224362,64.3917776,34.3012586,43.0324374,21.2314864,2.8554544,18.152441,12.4816225,40.1116478,18.5622183,2.0591245,2.1001416,35.5158961,30.8063451,56.20733,11.2424207,39.091192,63.9676141,34.8903926,43.4000584,21.3253812,3.017907,18.2232722,12.653362,40.839216,19.8422682,2.2075038,2.2366109,36.0056791,31.0311256,56.5651879,10.6719523,39.1890868,63.5549266,34.6816171,43.4066109,20.6505449,2.8730106,18.2875364,13.4225146,40.2461474,20.2735719,2.2290376,2.2608529,35.9271186,30.9634242,57.4792336,10.1302024,38.5248336,63.3369688,34.706437,43.23985,20.2027975,2.8092457,17.9706927,14.1426558,40.511076,19.7345813,2.205053,2.2416714,35.4679876,30.2801616,57.232213,10.0786523,38.9271081,62.3503555,34.7487364,43.389726,19.9697048,2.4586994,18.0851298,14.028134,39.2228411,18.6738216 +2466,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2203229,1.2277433,25.6918001,21.609281,56.0112801,16.1387175,38.2009099,65.5386575,35.8987722,47.2175928,21.8462176,2.6138842,12.6973332,11.6632631,32.4733311,14.6840367,1.4141366,1.4215932,25.3186372,21.0781011,54.3836944,16.5553649,39.1555509,65.5162437,37.0832801,47.9263847,21.9511946,3.2047361,12.7645749,11.190857,32.9282685,14.716287,1.5569127,1.5645933,25.0696214,20.5622086,55.3483908,15.5263374,39.4610086,65.4485076,36.4846706,46.9017941,22.1487579,2.9515254,13.0715762,11.5575622,34.1867747,16.9708029,1.6225794,1.6303353,25.4002769,20.7133119,54.6800787,15.797081,39.358142,65.3912731,36.9562861,46.7021305,22.5124845,3.2736074,13.1376144,11.7272357,33.7500076,16.0516546,1.7465911,1.7698904,25.1196861,20.3327703,54.7655917,15.9662595,39.2468459,64.6067437,36.7940959,46.6981325,22.0344071,3.5770006,13.5319424,11.8216118,34.8693522,17.1480021 +2467,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7255724,0.753369,13.3802497,9.7517479,44.6817527,18.3139352,32.9589913,67.0899858,36.3129969,43.5139704,21.1957989,4.3280017,10.3567383,9.2120515,35.7525372,8.4713221,0.8783554,0.8940492,14.0553773,10.2682559,45.0405496,18.5452789,33.3446877,66.2396283,35.6994061,43.3171368,20.9716795,4.2590223,10.4523307,9.3921175,36.8700424,9.5775052,0.8932547,0.9085579,14.4759664,10.733184,45.961586,18.4743986,33.2693802,65.6054524,34.8446286,43.1930553,20.7582232,4.489272,10.4567885,9.2617998,36.3243313,10.5179139,0.9940409,0.9889729,15.0251351,11.0417886,45.9854168,18.1847357,33.0613703,65.1732716,34.2904209,43.1173903,20.5697877,4.4804779,10.1163265,9.2351202,36.0246427,12.0987823,1.0725516,1.0892451,16.0393156,12.0159396,46.4280563,17.9339396,33.7203696,64.5100779,34.0963795,43.8068064,20.9577824,4.4791118,10.3697767,8.8950058,36.5738169,13.1211462 +2468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9694695,2.0314607,28.9117207,23.751142,45.3895965,14.0758704,35.0471285,64.7473786,32.7246319,44.8329169,22.8862873,3.9192152,12.8390681,8.5316523,43.0741628,21.0769296,1.9927726,2.0590924,30.0156142,24.9483509,46.3562359,14.2130939,35.6448852,64.7618221,32.4519234,44.2501047,22.9028578,3.6256635,13.4487863,8.7308119,43.1731577,21.2963076,1.9179713,1.9417618,31.4209245,26.1779056,46.9023943,14.0961191,35.8897921,64.6686582,31.7360856,43.6956663,22.262212,3.5135872,13.7944995,9.2834409,43.2589667,20.2770883,2.0703164,2.1467027,32.496331,27.3972619,49.1931232,13.9015758,35.8084339,64.0355313,31.4504201,43.8960744,21.223592,3.2394677,13.4794298,8.8072332,43.894698,22.3192187,2.1603275,2.1824279,33.194136,28.0341031,50.3410083,14.3460678,35.6196842,62.9498754,30.3558542,42.8703528,20.6857382,3.4451626,13.8900062,9.8247629,44.4145451,22.2906377 +2469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8478289,0.8655526,16.0645719,12.2288219,38.9978424,19.3226415,33.426028,67.4376383,36.1447715,48.7885464,20.8013403,4.9806012,12.5424847,9.9449224,26.7758322,8.0190848,0.9716789,0.979133,16.2500263,12.2323255,39.2245399,18.7751493,33.0900376,67.7290574,36.5763414,48.6596998,21.1947606,4.9916184,13.1767212,10.3849981,26.5974399,8.6753115,0.8690233,0.891718,16.0864851,12.1364151,39.9409046,18.6707263,32.5713288,67.1775969,36.5830956,48.7530604,20.53383,4.5636065,13.753425,10.3781634,27.7515642,8.0794678,0.990758,1.0398668,16.1161739,12.2280556,40.0536236,18.9134218,32.8824649,67.4901352,37.3928175,48.6979809,20.7060279,4.6105786,13.7706408,9.8238222,27.9461499,8.2554466,0.9365836,0.986046,16.1394615,12.4417311,40.5413712,18.709568,32.3825892,66.7030551,37.4059943,48.2049732,20.3652299,4.4941218,13.9012069,9.9776984,27.7907738,10.0293907 +2470,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8566044,0.9012002,16.6777256,13.2508113,71.6319622,8.369719,26.11371,62.1670081,28.6108337,36.6987703,14.4944129,5.3435878,13.0684223,9.6969111,37.1636114,8.3445689,0.9112865,0.949727,16.5894783,13.1876202,72.1530243,8.7168867,26.1585371,62.9326569,29.1963652,36.8558868,14.520584,5.4190667,13.2834522,9.5195763,36.3736988,8.2339423,0.9020129,0.9490671,16.7669691,13.3552937,73.0124086,8.2761801,26.3518336,63.2010449,28.7398095,36.7960664,14.4688225,5.2695254,13.4268182,9.3142466,36.2596726,8.4866083,0.932504,0.9736277,17.2126998,13.8734261,73.6544011,8.3161692,26.4384026,63.0914946,28.7072398,36.8279796,14.5961883,5.2890627,13.7069168,9.3563641,36.0103931,8.6652396,0.9506713,1.0003499,17.4397133,14.1255482,74.1756725,8.4610872,27.0749885,63.2466862,28.698646,37.233118,14.6303388,5.4328214,13.728934,9.5588521,36.4041896,9.0507999 +2471,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5813813,1.5813813,19.7413035,15.5587003,83.9783647,14.587074,34.0678764,62.8742579,38.0818271,41.4607971,20.3631886,6.0870744,14.6957259,13.4401003,38.8812227,11.6861989,1.6190379,1.6190379,19.6125041,15.5694009,84.6616109,13.1116274,33.9001488,61.7958321,36.6671279,40.6522136,19.6993561,5.5595772,14.1493355,13.0298988,38.2570145,12.7732872,1.7845498,1.7845498,19.5546477,15.6367182,85.4743046,13.3274519,32.7570053,63.0797052,36.7294007,39.46241,19.1614574,5.6933761,12.5008885,11.6146203,37.9281524,13.3539647,1.4223981,1.4846702,18.7595774,15.0805165,85.3984554,12.5256455,32.3495077,64.3312504,36.9604226,39.8741724,19.2760281,6.0642563,13.3116131,11.586066,37.8573785,13.4310274,1.2966052,1.3584922,19.5119611,15.3894062,85.2256079,12.6416686,32.2859609,63.6659083,36.5405492,38.901996,18.9951603,5.702315,13.7064424,11.6723025,37.5175744,14.4989546 +2472,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3464148,2.3485858,34.9411304,29.3343964,51.6536986,19.6563548,36.7469758,64.5861659,33.7784614,45.8161926,20.4211834,2.987522,17.1985942,12.31932,34.2213838,25.0025129,2.0659309,2.0358231,34.9565954,29.5471597,51.7663466,19.527095,36.9783306,64.9884066,34.1064073,45.6892028,20.4493777,3.4487729,15.4266454,12.4098846,33.9247993,25.7677078,1.9731446,1.9417153,35.1650661,29.9633514,51.5387628,19.1812117,38.0351919,64.8764643,34.1843042,46.1384306,20.7274666,3.5093983,14.5723659,12.3196374,34.0357576,28.1566596,2.0655007,2.0116889,34.1457297,29.089749,49.0765619,19.8635756,38.1798905,66.468056,35.4865064,47.2236038,20.6551187,3.7987772,13.1304366,12.09726,33.671219,27.1492831,1.9154936,1.8613906,34.6222649,29.4877612,50.0838704,19.362473,38.0281204,66.8546232,34.8893139,47.758139,20.5123299,3.9577753,12.8776152,11.6795354,33.7693369,24.2336476 +2473,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2358409,2.2753044,36.8972131,32.1513928,59.6979142,15.4702761,36.1758096,65.6393164,32.0391164,41.459876,19.2821704,2.0682745,17.5691245,12.1350626,39.928959,24.1477017,2.1306753,2.1579041,37.0516377,32.364273,60.1915989,15.5877427,35.739202,65.0029569,31.7135489,40.8501506,19.2665099,2.0789092,17.1558239,12.06057,39.4324488,24.1153552,2.080796,2.1018367,37.9052291,33.3713752,61.125643,15.1208884,35.2183079,64.3382388,30.8829241,40.4152137,18.8430264,1.971786,17.2167329,11.91602,38.6166632,25.1830326,2.1591749,2.183643,37.5507987,32.9126166,62.0318609,15.0206661,34.856279,64.5681961,30.3795231,40.379326,18.5471354,1.8193654,17.4641121,11.7036836,38.285766,26.2339443,2.2958423,2.3095237,37.8180178,32.9052312,62.4309599,14.791019,34.7568339,64.3513601,29.5307735,40.0839004,18.085647,1.7970808,17.7704093,12.4224159,39.2949772,25.9291379 +2474,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9625009,0.9705324,15.9042494,11.8951782,50.3714872,12.9512771,30.7057555,64.6000571,34.1975855,41.4930663,19.0015447,4.4517905,11.7222873,9.088249,33.8295733,13.0952381,0.8911072,0.912481,16.2538131,12.2231536,51.2330832,12.5077402,30.9504175,64.5115082,33.9152584,41.6110526,18.4000962,4.537174,11.9066956,8.9595563,34.0392073,13.3223684,0.923018,0.9606328,16.446858,12.4854643,52.7270882,12.3433379,30.5571655,64.7973197,33.9975548,41.4955741,18.3830611,4.4561396,12.6409977,9.814529,33.6122684,14.3518519,0.9981503,1.0249177,16.4726986,12.3750124,53.2324782,12.2991627,30.080189,64.6906579,34.841556,41.2458358,18.7258886,4.5664265,12.5172864,10.396628,33.7409373,14.6969697,0.9772143,1.025331,17.0493289,13.193895,53.5712107,12.6433292,30.2913418,65.6515632,35.6341406,41.4174965,18.4989817,4.3897693,12.8646133,10.8214683,33.8584789,13.9254221 +2475,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3993725,0.4073034,9.1426239,6.0730326,47.3976552,20.4186421,29.2705136,64.3951243,32.4117406,39.4730111,17.1209824,6.9444481,10.1930918,7.5609761,36.3210921,3.4023689,0.3406489,0.3482942,9.2771661,6.2484069,47.7426841,20.7741151,29.8453529,63.6941949,31.8159201,39.3988598,16.824648,7.0217047,10.3382132,7.5608039,36.3939482,3.4954429,0.4434924,0.4563299,9.6431162,6.5631856,47.5873285,21.0429937,30.4457266,63.5633884,31.6199424,39.7675599,17.4095395,6.9853835,10.0735039,7.5168926,35.6830285,3.9358612,0.3942102,0.4028672,9.8416276,6.5987933,47.6258014,21.1113899,30.6622398,63.4785871,31.7208297,39.9433791,17.5898556,6.8808476,9.522982,7.6014112,35.3323823,3.868196,0.4563416,0.4789378,10.2361194,6.8889491,48.0273744,21.4210951,30.5030666,63.5980648,31.0393283,39.9004096,17.4795679,7.0863129,9.5936401,7.4704403,35.0535615,4.3661972 +2476,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1306753,2.1579041,37.0516377,32.364273,60.1915989,15.5877427,35.739202,65.0029569,31.7135489,40.8501506,19.2665099,2.0789092,17.1558239,12.06057,39.4324488,24.1153552,2.080796,2.1018367,37.9052291,33.3713752,61.125643,15.1208884,35.2183079,64.3382388,30.8829241,40.4152137,18.8430264,1.971786,17.2167329,11.91602,38.6166632,25.1830326,2.1591749,2.183643,37.5507987,32.9126166,62.0318609,15.0206661,34.856279,64.5681961,30.3795231,40.379326,18.5471354,1.8193654,17.4641121,11.7036836,38.285766,26.2339443,2.2958423,2.3095237,37.8180178,32.9052312,62.4309599,14.791019,34.7568339,64.3513601,29.5307735,40.0839004,18.085647,1.7970808,17.7704093,12.4224159,39.2949772,25.9291379,2.2881062,2.2959292,37.3275916,32.6969667,62.4998138,14.7395834,34.6505228,64.4913545,30.0301417,40.5072677,17.9121883,1.7546133,17.9404574,12.8534183,38.2473037,26.0138727 +2477,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.8720695,0.908706,12.3884035,8.4412161,45.3891718,11.5556388,30.9821716,66.2440431,41.7385771,44.2626856,24.5761243,4.4316428,10.5151527,8.516749,40.7156973,8.3218364,0.9342685,0.9570535,12.7770831,8.8478534,45.4793716,11.681092,31.162233,66.3372127,41.1413581,43.9938346,24.1405899,4.507782,10.3231269,8.7772023,40.9618321,7.9091833,0.9889426,0.9934449,13.1591631,9.1296089,45.6549551,11.6704386,31.2287806,66.0499191,40.7768142,43.9970936,23.6863907,4.4679962,10.2830006,8.7565286,40.3504869,8.4189918,0.9580962,0.9773962,13.32997,9.362669,45.9522677,11.6578777,31.1045843,66.0133483,40.9554006,43.7817921,23.4778595,4.5269151,10.1053757,8.5988182,40.0973656,9.3556259,1.0020319,1.0154868,13.8964381,9.7839884,45.9265148,11.6722741,31.0732873,65.6894178,40.7668974,43.5481792,23.3311577,4.5823559,10.2806257,8.7553034,39.9127757,9.3091198 +2478,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5236104,0.5410163,9.7803112,6.5848229,45.9039718,13.9667855,30.0610211,63.2730886,30.2722686,40.7874706,17.104802,14.4877363,11.5553809,8.8122914,37.1926261,3.7219106,0.5553371,0.5583771,10.0457977,6.5934717,46.5935834,13.5635123,29.7596706,62.5615495,29.6776085,40.427905,16.9929652,14.3669397,11.4784825,8.5299045,36.9666542,4.0745862,0.5746796,0.5777174,10.6411626,6.9790579,46.9758557,13.2210124,29.63981,62.5248507,29.8736996,40.1415086,16.974623,13.7820153,11.6895877,8.5747148,37.1197272,4.9472296,0.6313117,0.6378859,10.7300378,7.1552933,47.8411985,13.5396874,29.5311769,62.8839006,29.7754777,39.8732013,16.6530929,13.8727325,12.2745112,8.831482,37.126929,4.9251864,0.6298789,0.6467967,11.1816065,7.4097788,49.1489356,13.5594229,28.7905282,63.278517,29.9451829,39.6955941,16.2642855,13.908328,12.6041498,9.0224965,37.2525017,5.7159347 +2479,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3548732,1.418104,25.8603124,21.7141662,38.0243878,15.5143499,34.0190668,63.774047,34.7715193,45.7171125,19.916323,3.3861102,13.8790625,9.9177262,35.9240801,21.0145064,1.3654145,1.4369518,26.7351174,22.843847,39.0123694,15.0076428,34.0411851,63.3560872,34.182849,45.327943,19.8354467,3.3357727,13.9462168,10.0553992,35.9915856,20.4871243,1.3173801,1.3857586,27.223223,23.3262211,39.6778012,14.9203228,34.5287781,62.9585958,32.9946989,44.9132752,18.9047422,3.1679193,13.6482835,9.795464,36.0287536,19.1057002,1.4499624,1.4848306,27.6668199,23.5799977,39.9640052,15.0675769,34.9013253,63.09455,33.2158414,44.8974209,18.8803705,3.2060516,13.5478582,9.7932216,36.173515,19.2408206,1.5389159,1.5725505,27.1279809,23.0432476,41.1699074,14.8566101,34.9405145,62.928795,32.7825577,44.6118568,18.7756681,3.1903909,13.7201263,10.1813226,37.1358693,19.3409668 +2480,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9917787,2.012696,32.0478952,27.7059088,73.0644274,12.7855353,33.6473714,64.1113659,24.3188228,37.0091817,15.0304028,1.8379808,16.8663079,11.899882,39.8244612,24.2801085,2.1161079,2.1376377,31.9158211,27.5393035,72.56685,13.4490645,33.5115352,65.503363,26.2432272,38.3664102,16.0595015,1.9414179,16.7254991,12.2118638,40.1000968,23.8704868,2.1058162,2.1113123,30.8019325,26.2127666,72.8625916,13.0835856,34.0433908,64.4283683,25.9398745,38.6634641,15.5307109,1.543163,15.7641543,12.833391,40.0403696,25.1714659,2.029597,2.0352054,30.7974684,25.79885,71.3142677,13.6107293,33.5671482,64.3069144,26.8228667,39.2171788,16.3704991,1.4714647,16.4971554,13.4062772,40.745072,25.7007872,1.847353,1.8429965,31.2709952,26.2789691,71.344087,14.0998621,33.1756198,63.6720157,26.9903219,39.0038079,16.3243622,1.773484,16.845778,13.7565527,42.2709697,23.8473202 +2481,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9927726,2.0590924,30.0156142,24.9483509,46.3562359,14.2130939,35.6448852,64.7618221,32.4519234,44.2501047,22.9028578,3.6256635,13.4487863,8.7308119,43.1731577,21.2963076,1.9179713,1.9417618,31.4209245,26.1779056,46.9023943,14.0961191,35.8897921,64.6686582,31.7360856,43.6956663,22.262212,3.5135872,13.7944995,9.2834409,43.2589667,20.2770883,2.0703164,2.1467027,32.496331,27.3972619,49.1931232,13.9015758,35.8084339,64.0355313,31.4504201,43.8960744,21.223592,3.2394677,13.4794298,8.8072332,43.894698,22.3192187,2.1603275,2.1824279,33.194136,28.0341031,50.3410083,14.3460678,35.6196842,62.9498754,30.3558542,42.8703528,20.6857382,3.4451626,13.8900062,9.8247629,44.4145451,22.2906377,2.3641026,2.3860472,34.7425138,29.4987239,52.4881714,13.9108298,36.265094,62.0004507,29.143966,42.4191839,20.1179644,3.3847462,14.2162382,9.7469231,44.8390758,23.3634244 +2482,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6295019,1.7229796,28.6996975,24.1705564,43.9177008,18.4356424,40.5026391,66.7708821,37.9854601,48.7853749,24.3844745,3.9593012,12.2698908,10.3345224,33.0460246,25.9264375,1.624459,1.7174519,28.7174748,24.372012,44.1652648,17.9194487,39.839485,66.325865,36.7355071,47.8466907,24.3764959,3.6843678,11.7850156,9.5248301,32.2519597,27.9727868,1.8038515,1.8883243,28.6297926,24.4198913,43.894995,17.3642029,40.153428,66.8487803,37.1783195,48.4111178,25.0910931,3.7654026,12.0703406,9.5240671,32.2386914,28.2808653,1.6271361,1.7122231,28.1112217,24.1324414,43.5664818,17.2818709,40.2292307,67.2449019,36.5863595,48.2223264,25.2056282,3.7356374,11.9114728,9.3681112,30.0985858,28.8454618,1.6361009,1.7514714,27.3969919,23.4283117,44.0227184,17.3817291,39.833366,65.7853514,35.9556386,48.0211588,24.8548714,3.557537,11.979023,9.5746519,30.9487679,29.815664 +2483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8461324,0.9495687,13.2471977,9.7119739,25.355192,20.0843048,35.2876821,67.5516502,39.2006918,47.7949069,23.1457545,3.2125811,12.6405953,12.0013511,38.9564159,7.3232547,0.8399183,0.9793636,13.5836843,10.271563,25.7721512,20.0865722,35.6892012,67.4436019,39.6689466,48.1021325,23.0178101,3.3399013,13.5999896,12.4280874,38.851308,7.3664155,0.7710512,0.8916014,14.0028945,10.667877,25.8053701,19.7730312,35.0363114,68.0171815,39.6981313,47.9212291,23.0996257,3.3213102,13.4880718,11.7623372,38.8653025,7.5757998,0.8521769,0.9778609,14.0173715,10.5077663,25.7037808,20.0301314,34.1548049,67.5983978,39.2507985,46.9613943,22.2653651,3.1661542,13.8446867,11.499874,37.8844988,8.3851397,0.8411963,0.9588668,15.2621497,11.4220799,26.5760877,19.6859809,34.4383596,66.0718287,37.4915183,46.2095998,21.8507692,3.2341722,14.1675884,11.342638,36.8012187,9.6491587 +2484,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.624459,1.7174519,28.7174748,24.372012,44.1652648,17.9194487,39.839485,66.325865,36.7355071,47.8466907,24.3764959,3.6843678,11.7850156,9.5248301,32.2519597,27.9727868,1.8038515,1.8883243,28.6297926,24.4198913,43.894995,17.3642029,40.153428,66.8487803,37.1783195,48.4111178,25.0910931,3.7654026,12.0703406,9.5240671,32.2386914,28.2808653,1.6271361,1.7122231,28.1112217,24.1324414,43.5664818,17.2818709,40.2292307,67.2449019,36.5863595,48.2223264,25.2056282,3.7356374,11.9114728,9.3681112,30.0985858,28.8454618,1.6361009,1.7514714,27.3969919,23.4283117,44.0227184,17.3817291,39.833366,65.7853514,35.9556386,48.0211588,24.8548714,3.557537,11.979023,9.5746519,30.9487679,29.815664,1.7397315,1.8194445,27.068009,23.3913166,44.1182905,17.7301686,39.7722111,66.1183706,36.0755154,48.1286568,25.0222938,3.8003391,12.1191263,10.1538861,30.3539613,28.9214895 +2485,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.080796,2.1018367,37.9052291,33.3713752,61.125643,15.1208884,35.2183079,64.3382388,30.8829241,40.4152137,18.8430264,1.971786,17.2167329,11.91602,38.6166632,25.1830326,2.1591749,2.183643,37.5507987,32.9126166,62.0318609,15.0206661,34.856279,64.5681961,30.3795231,40.379326,18.5471354,1.8193654,17.4641121,11.7036836,38.285766,26.2339443,2.2958423,2.3095237,37.8180178,32.9052312,62.4309599,14.791019,34.7568339,64.3513601,29.5307735,40.0839004,18.085647,1.7970808,17.7704093,12.4224159,39.2949772,25.9291379,2.2881062,2.2959292,37.3275916,32.6969667,62.4998138,14.7395834,34.6505228,64.4913545,30.0301417,40.5072677,17.9121883,1.7546133,17.9404574,12.8534183,38.2473037,26.0138727,2.3224622,2.3028945,37.5397731,32.570313,63.1557184,14.7308548,33.9404275,63.9754336,30.2735717,40.5446583,17.641929,1.8207375,18.1657154,13.3315454,38.5496583,27.2156148 +2486,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.920225,0.9453907,13.8092491,9.9961397,44.0377367,10.0973931,28.5969675,68.3785915,39.7381434,41.8639468,20.702487,4.7395874,9.8886008,7.9000363,36.9813798,11.6379296,0.9754783,1.0188096,14.5164353,10.7464247,44.0822047,10.1351988,28.6493943,68.3039123,39.8965482,42.2598702,20.6862221,4.8168177,9.9177183,8.0254649,36.6040833,11.7111636,0.9836092,1.0267511,15.024151,11.1415577,44.1204402,10.2659679,28.7674404,68.1441866,40.1069779,41.9953499,20.8139568,4.8232557,10.2338109,8.1905612,36.7176488,13.5087688,1.0350195,1.0785399,15.7389214,11.7003224,44.3920913,10.2971082,29.1260812,67.7464021,39.5630401,41.8505935,20.7443487,4.9280671,9.8484833,8.0690956,36.9900957,14.4039719,1.1472795,1.2039612,16.4975091,12.4376994,44.6708716,10.420778,28.4904269,67.5904938,39.3949005,41.4360898,20.4254762,5.0122463,10.0454702,8.1265876,37.1494142,14.1440486 +2487,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.664161,1.5905027,31.2316382,27.1754396,66.3700734,12.6236732,33.4092842,64.6165086,29.4194679,39.5858142,17.2853359,2.456892,16.8104751,14.0671197,39.4114961,16.8656663,1.6780107,1.6040982,30.7157254,26.5266903,65.6163938,13.0242047,32.2563556,64.4944753,28.9652887,38.8834924,17.2389859,2.5104869,16.7678223,13.4759264,38.7741502,17.164133,1.784678,1.7109277,29.3790066,25.2911346,64.5462042,13.4456402,32.8197224,64.9427286,30.0340103,39.8266979,17.7502686,2.5960443,16.7542231,13.1371288,39.726895,15.4411401,1.7696561,1.6644804,28.859638,24.5565542,64.4266799,13.5600625,32.5339366,64.4560868,29.948443,39.9942909,17.8673549,2.5221887,16.1007157,12.3376244,39.023173,16.7177811,1.8002537,1.7036724,28.7552185,24.4053355,64.8534533,14.2823476,31.782079,63.7599439,29.4249325,39.6684703,18.3664985,2.3359854,17.0329061,13.336153,40.5135783,15.3225783 +2488,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3512935,0.3504959,8.7074601,5.376542,48.733588,22.7256821,30.0106165,62.0225048,29.5061988,41.4742441,17.2134553,6.398723,10.4155986,6.9661427,31.5410637,5.3738318,0.3371767,0.3363886,9.2877609,5.5655005,49.1269195,22.7997721,30.594153,61.4215684,29.0906538,41.6217531,17.1321592,6.6774288,10.2025305,6.6544211,31.6381009,4.8837209,0.3383378,0.3375836,9.8251045,5.8127602,49.3378808,21.6277457,30.7388234,60.6701,29.1924343,41.3573821,17.164947,6.5120308,10.3321931,6.5131282,32.4742313,5.5555556,0.3391277,0.358721,9.6160233,5.9086428,49.5506531,21.940147,31.3845589,60.8313923,28.8671709,40.7585191,17.0420699,6.4756578,10.6507499,6.5320699,32.1512519,6.7099567,0.3474496,0.3467138,9.7278416,6.3004187,49.6860008,22.6809902,31.5992755,61.3082709,29.8260952,40.8331474,17.4808087,6.6744932,10.6285949,6.7298623,32.249644,6.8075117 +2489,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4141366,1.4215932,25.3186372,21.0781011,54.3836944,16.5553649,39.1555509,65.5162437,37.0832801,47.9263847,21.9511946,3.2047361,12.7645749,11.190857,32.9282685,14.716287,1.5569127,1.5645933,25.0696214,20.5622086,55.3483908,15.5263374,39.4610086,65.4485076,36.4846706,46.9017941,22.1487579,2.9515254,13.0715762,11.5575622,34.1867747,16.9708029,1.6225794,1.6303353,25.4002769,20.7133119,54.6800787,15.797081,39.358142,65.3912731,36.9562861,46.7021305,22.5124845,3.2736074,13.1376144,11.7272357,33.7500076,16.0516546,1.7465911,1.7698904,25.1196861,20.3327703,54.7655917,15.9662595,39.2468459,64.6067437,36.7940959,46.6981325,22.0344071,3.5770006,13.5319424,11.8216118,34.8693522,17.1480021,1.7284565,1.7400791,25.3377664,20.4283242,54.4908804,15.9583464,39.5866055,64.8216664,36.9811699,46.3943274,22.3569258,3.6306565,13.2970056,10.7690722,34.3966343,17.5471698 +2490,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.7565076,0.7426624,9.0487263,6.2076049,50.9743578,13.4168638,26.0592725,70.5616677,31.7042347,46.2942509,16.0808201,4.7904862,11.7715681,11.3829774,31.4163314,8.9925923,0.5462209,0.5323246,8.3966036,5.4490534,48.7878269,13.7122037,25.0254877,70.1150172,32.0111143,46.2999926,15.9758185,4.7828791,12.2758356,11.6523015,31.5643629,4.9241566,0.5155956,0.5294513,8.338397,5.2572231,47.1393897,13.5759389,25.4305394,69.5730096,31.9114468,45.5059639,16.024889,4.5248903,11.4901309,10.6191489,30.6387317,4.1352637,0.5580181,0.5766977,7.7737745,4.929224,44.7186668,13.4104,24.9668289,68.6593522,31.6031341,44.7961794,15.0919602,4.7774208,12.1566005,11.4112822,31.0776383,4.2306879,0.5896881,0.6080248,8.1263994,5.1151824,43.4613257,13.1278953,24.663381,68.1386945,31.6481714,44.7155834,15.2060325,4.8070348,12.2455969,11.5324401,31.6180643,4.7100937 +2491,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1591749,2.183643,37.5507987,32.9126166,62.0318609,15.0206661,34.856279,64.5681961,30.3795231,40.379326,18.5471354,1.8193654,17.4641121,11.7036836,38.285766,26.2339443,2.2958423,2.3095237,37.8180178,32.9052312,62.4309599,14.791019,34.7568339,64.3513601,29.5307735,40.0839004,18.085647,1.7970808,17.7704093,12.4224159,39.2949772,25.9291379,2.2881062,2.2959292,37.3275916,32.6969667,62.4998138,14.7395834,34.6505228,64.4913545,30.0301417,40.5072677,17.9121883,1.7546133,17.9404574,12.8534183,38.2473037,26.0138727,2.3224622,2.3028945,37.5397731,32.570313,63.1557184,14.7308548,33.9404275,63.9754336,30.2735717,40.5446583,17.641929,1.8207375,18.1657154,13.3315454,38.5496583,27.2156148,2.2690616,2.2494666,37.9272626,32.9849654,64.4635844,14.8743784,33.1111345,63.4131619,29.6095199,39.8109298,17.367823,1.8514314,17.6575446,12.9056,38.4084034,27.3288053 +2492,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9112865,0.949727,16.5894783,13.1876202,72.1530243,8.7168867,26.1585371,62.9326569,29.1963652,36.8558868,14.520584,5.4190667,13.2834522,9.5195763,36.3736988,8.2339423,0.9020129,0.9490671,16.7669691,13.3552937,73.0124086,8.2761801,26.3518336,63.2010449,28.7398095,36.7960664,14.4688225,5.2695254,13.4268182,9.3142466,36.2596726,8.4866083,0.932504,0.9736277,17.2126998,13.8734261,73.6544011,8.3161692,26.4384026,63.0914946,28.7072398,36.8279796,14.5961883,5.2890627,13.7069168,9.3563641,36.0103931,8.6652396,0.9506713,1.0003499,17.4397133,14.1255482,74.1756725,8.4610872,27.0749885,63.2466862,28.698646,37.233118,14.6303388,5.4328214,13.728934,9.5588521,36.4041896,9.0507999,0.9368441,0.9827643,17.5633616,14.2773336,74.6140095,8.4196277,27.5684526,63.434021,28.6024417,37.3336127,14.6310425,5.383548,13.7602921,9.6233333,36.4449122,9.0590835 +2493,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.804491,0.8138859,13.2722831,9.2440679,42.0852688,19.7338795,33.2094576,61.8618218,33.7090563,44.5785859,19.9229765,6.7445115,10.4667325,7.8359246,34.2298086,9.0827812,0.8433817,0.8558055,13.4717978,9.5387021,42.8620808,19.6157476,33.4830007,61.1787394,33.4159448,44.4674113,19.8832576,6.6590471,10.6644741,7.9636648,33.9897737,7.9235308,0.8446798,0.8601692,13.6093726,9.7455101,44.5476326,19.1179907,33.7019632,61.0818786,32.7097552,44.1739107,19.8913347,6.6304458,10.7805336,8.2359605,34.2114489,8.6998437,0.8251938,0.858366,13.6054746,9.85649,45.0239106,19.6097436,33.5745903,61.7284547,32.8309657,44.6378415,19.9412359,6.620987,10.9050555,8.1211559,33.8007125,8.6995018,0.8970814,0.9330311,14.0448791,10.3782116,46.019557,19.3656857,33.2706471,62.1384991,33.0112878,44.3327731,19.8871729,6.5944767,11.1523859,8.3333346,33.7186112,8.6325054 +2494,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.081062,1.095118,26.4219291,20.5621358,47.4258762,12.7956378,39.0525807,66.4341577,34.1667682,49.9686772,26.9293853,5.8803737,14.4147491,11.7751917,33.9583444,18.7203327,1.2155267,1.229645,27.3151329,21.2041893,47.1230708,12.425878,38.9788869,66.6956391,34.0873117,49.3645775,26.478871,5.7063305,14.4496509,12.0312993,34.0408655,18.0346363,1.554371,1.5461611,27.2719357,21.2166244,47.8129178,13.0551476,38.8552798,66.8924993,34.5872166,48.931695,25.5180446,5.7200089,15.0468657,12.2509538,33.6264739,20.3247767,1.5221876,1.5134898,26.9534936,21.1741025,47.5437626,13.3314163,37.7640748,67.4019049,34.7747883,48.2241865,24.5635845,5.3858662,14.3468472,12.1639291,33.9240011,20.452008,1.4928467,1.4126088,26.741526,20.9720527,46.9307973,13.4181069,38.9076262,65.9812925,35.4748504,48.4793308,25.2099053,5.4844472,14.8541009,12.1993797,33.5211892,18.7463017 +2495,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1161079,2.1376377,31.9158211,27.5393035,72.56685,13.4490645,33.5115352,65.503363,26.2432272,38.3664102,16.0595015,1.9414179,16.7254991,12.2118638,40.1000968,23.8704868,2.1058162,2.1113123,30.8019325,26.2127666,72.8625916,13.0835856,34.0433908,64.4283683,25.9398745,38.6634641,15.5307109,1.543163,15.7641543,12.833391,40.0403696,25.1714659,2.029597,2.0352054,30.7974684,25.79885,71.3142677,13.6107293,33.5671482,64.3069144,26.8228667,39.2171788,16.3704991,1.4714647,16.4971554,13.4062772,40.745072,25.7007872,1.847353,1.8429965,31.2709952,26.2789691,71.344087,14.0998621,33.1756198,63.6720157,26.9903219,39.0038079,16.3243622,1.773484,16.845778,13.7565527,42.2709697,23.8473202,1.9056347,1.9012565,30.7366391,25.4174092,71.3196634,14.9857231,33.8702221,63.9136188,27.446974,39.5358138,16.9745174,1.584272,17.0929805,13.0599931,41.9252976,21.865222 +2496,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9716789,0.979133,16.2500263,12.2323255,39.2245399,18.7751493,33.0900376,67.7290574,36.5763414,48.6596998,21.1947606,4.9916184,13.1767212,10.3849981,26.5974399,8.6753115,0.8690233,0.891718,16.0864851,12.1364151,39.9409046,18.6707263,32.5713288,67.1775969,36.5830956,48.7530604,20.53383,4.5636065,13.753425,10.3781634,27.7515642,8.0794678,0.990758,1.0398668,16.1161739,12.2280556,40.0536236,18.9134218,32.8824649,67.4901352,37.3928175,48.6979809,20.7060279,4.6105786,13.7706408,9.8238222,27.9461499,8.2554466,0.9365836,0.986046,16.1394615,12.4417311,40.5413712,18.709568,32.3825892,66.7030551,37.4059943,48.2049732,20.3652299,4.4941218,13.9012069,9.9776984,27.7907738,10.0293907,0.7577073,0.7872262,15.715352,12.2263791,40.6900104,18.5317616,32.4148336,66.4470814,37.5393476,48.2837038,20.4000069,4.7106603,13.8462398,9.8785849,27.2342464,9.8055706 +2497,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7804455,0.7831635,10.1202555,6.8589445,38.7692398,16.4370925,29.1874494,69.3162867,37.6662363,46.4775602,20.9372408,3.9172876,9.8296079,8.2120591,33.0058742,10.6271866,0.7268726,0.7391338,10.1321059,6.8394235,38.056543,16.6015616,30.1121138,69.7425885,38.2291688,46.8029847,21.1438643,3.7471464,9.5842086,7.9308902,33.4100445,10.5172232,0.6802212,0.687499,9.9940609,6.8109857,38.3168963,16.3906602,30.2238929,69.8769621,37.6058739,46.5005996,21.571196,3.9834628,9.3341415,7.534794,33.3399694,9.5317534,0.6795521,0.6893425,10.0116886,6.7361968,38.3197606,16.2020551,30.6210223,69.8981579,37.7096467,46.9348922,21.2360247,3.9836304,9.5728262,8.0802163,33.4955154,10.8695696,0.6523959,0.654979,10.0636716,6.8409777,38.3540986,16.2983959,31.066158,70.2764121,38.2329508,46.8213166,21.0167879,3.9782871,9.3738143,7.6908274,33.224817,11.6242098 +2498,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5569127,1.5645933,25.0696214,20.5622086,55.3483908,15.5263374,39.4610086,65.4485076,36.4846706,46.9017941,22.1487579,2.9515254,13.0715762,11.5575622,34.1867747,16.9708029,1.6225794,1.6303353,25.4002769,20.7133119,54.6800787,15.797081,39.358142,65.3912731,36.9562861,46.7021305,22.5124845,3.2736074,13.1376144,11.7272357,33.7500076,16.0516546,1.7465911,1.7698904,25.1196861,20.3327703,54.7655917,15.9662595,39.2468459,64.6067437,36.7940959,46.6981325,22.0344071,3.5770006,13.5319424,11.8216118,34.8693522,17.1480021,1.7284565,1.7400791,25.3377664,20.4283242,54.4908804,15.9583464,39.5866055,64.8216664,36.9811699,46.3943274,22.3569258,3.6306565,13.2970056,10.7690722,34.3966343,17.5471698,1.6567518,1.6375682,24.9976182,19.9233889,54.0892221,15.9311757,40.843496,64.9322252,37.15849,46.5154234,23.0696125,3.6587477,13.4584239,11.1397609,34.6271972,17.0329546 +2499,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6793633,0.6951837,12.7505333,8.9425273,45.8756311,17.5995786,33.3773103,62.586156,30.6963885,41.7474864,17.9488234,4.3693375,10.7193735,8.0924789,32.2705722,8.0273662,0.6887594,0.6861527,13.8762742,10.2600761,47.4871222,17.6154187,33.2134933,62.8912024,30.8728625,41.581702,18.0992868,4.5390078,11.0666469,8.4282268,32.385743,7.6343226,0.6657058,0.6631333,13.9276805,10.545975,49.0084007,17.6874729,32.4854392,63.1933274,30.6571564,41.2033021,18.1615731,4.3360372,10.6940796,8.3612196,31.639131,7.9752482,0.6334656,0.6507214,13.8185091,10.4170357,49.8723833,17.3804841,32.5363314,64.1062804,30.6290008,41.3091013,18.1111559,4.2523394,10.6512608,8.4360563,31.7871445,8.3135354,0.7268376,0.7473512,14.3184371,10.7485981,50.7252365,17.5797432,32.2893335,65.4332362,31.4711227,41.6770174,18.4497354,4.1766208,11.5337649,9.1309533,31.914514,7.941252 +2500,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.2155267,1.229645,27.3151329,21.2041893,47.1230708,12.425878,38.9788869,66.6956391,34.0873117,49.3645775,26.478871,5.7063305,14.4496509,12.0312993,34.0408655,18.0346363,1.554371,1.5461611,27.2719357,21.2166244,47.8129178,13.0551476,38.8552798,66.8924993,34.5872166,48.931695,25.5180446,5.7200089,15.0468657,12.2509538,33.6264739,20.3247767,1.5221876,1.5134898,26.9534936,21.1741025,47.5437626,13.3314163,37.7640748,67.4019049,34.7747883,48.2241865,24.5635845,5.3858662,14.3468472,12.1639291,33.9240011,20.452008,1.4928467,1.4126088,26.741526,20.9720527,46.9307973,13.4181069,38.9076262,65.9812925,35.4748504,48.4793308,25.2099053,5.4844472,14.8541009,12.1993797,33.5211892,18.7463017,1.7405061,1.7248456,27.5126639,21.6198015,48.1631717,13.1736427,38.7100357,65.4909754,35.0718717,48.4064147,25.5049352,5.4750446,15.612498,12.7049638,34.1957375,18.9116819 +2501,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6225794,1.6303353,25.4002769,20.7133119,54.6800787,15.797081,39.358142,65.3912731,36.9562861,46.7021305,22.5124845,3.2736074,13.1376144,11.7272357,33.7500076,16.0516546,1.7465911,1.7698904,25.1196861,20.3327703,54.7655917,15.9662595,39.2468459,64.6067437,36.7940959,46.6981325,22.0344071,3.5770006,13.5319424,11.8216118,34.8693522,17.1480021,1.7284565,1.7400791,25.3377664,20.4283242,54.4908804,15.9583464,39.5866055,64.8216664,36.9811699,46.3943274,22.3569258,3.6306565,13.2970056,10.7690722,34.3966343,17.5471698,1.6567518,1.6375682,24.9976182,19.9233889,54.0892221,15.9311757,40.843496,64.9322252,37.15849,46.5154234,23.0696125,3.6587477,13.4584239,11.1397609,34.6271972,17.0329546,1.6994976,1.6446769,24.9351749,20.0001214,54.563895,15.8537303,42.0608732,66.2145193,37.5649571,46.0942739,22.8030776,3.9597317,13.7953117,10.7296928,34.5889639,17.8571227 +2502,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.6621526,0.7082841,16.8887858,13.7649676,57.3777957,13.4078107,26.5445422,66.3756298,30.1690455,42.5821592,14.2629318,4.9107925,13.9078372,12.1101804,30.8676018,7.7436081,0.8144658,0.8376017,17.2594398,14.0953757,58.1099109,13.3410626,26.9343425,66.0448167,29.8565602,42.0418611,13.8485486,4.8244523,14.0763706,11.7635667,30.6186848,8.3481464,0.8184939,0.8552641,17.6034073,14.4360231,59.0481206,13.4674931,27.2344769,66.2584984,30.1304241,41.9467225,13.9166999,4.7640105,14.2367372,11.1931991,30.1486761,8.3046687,0.8792837,0.9353223,17.6334856,14.3256121,59.7468867,13.5303043,27.2402347,66.3389537,29.537068,41.6652201,13.8072223,5.037409,14.0581973,10.6543523,30.510585,9.8184073,0.8571643,0.9052268,18.2125253,14.8395037,60.4831175,13.9754177,27.6310692,65.7271673,29.4702856,41.0677854,14.0242103,5.1004784,14.2196338,10.8502423,31.7195447,9.0689404 +2503,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9020129,0.9490671,16.7669691,13.3552937,73.0124086,8.2761801,26.3518336,63.2010449,28.7398095,36.7960664,14.4688225,5.2695254,13.4268182,9.3142466,36.2596726,8.4866083,0.932504,0.9736277,17.2126998,13.8734261,73.6544011,8.3161692,26.4384026,63.0914946,28.7072398,36.8279796,14.5961883,5.2890627,13.7069168,9.3563641,36.0103931,8.6652396,0.9506713,1.0003499,17.4397133,14.1255482,74.1756725,8.4610872,27.0749885,63.2466862,28.698646,37.233118,14.6303388,5.4328214,13.728934,9.5588521,36.4041896,9.0507999,0.9368441,0.9827643,17.5633616,14.2773336,74.6140095,8.4196277,27.5684526,63.434021,28.6024417,37.3336127,14.6310425,5.383548,13.7602921,9.6233333,36.4449122,9.0590835,0.9763652,1.0175991,17.7098592,14.4405076,75.1719018,8.3925269,27.9766888,63.508164,28.1419007,37.5452243,14.7975288,5.4430059,14.0305599,9.5904857,36.2782102,9.3176778 +2504,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5553371,0.5583771,10.0457977,6.5934717,46.5935834,13.5635123,29.7596706,62.5615495,29.6776085,40.427905,16.9929652,14.3669397,11.4784825,8.5299045,36.9666542,4.0745862,0.5746796,0.5777174,10.6411626,6.9790579,46.9758557,13.2210124,29.63981,62.5248507,29.8736996,40.1415086,16.974623,13.7820153,11.6895877,8.5747148,37.1197272,4.9472296,0.6313117,0.6378859,10.7300378,7.1552933,47.8411985,13.5396874,29.5311769,62.8839006,29.7754777,39.8732013,16.6530929,13.8727325,12.2745112,8.831482,37.126929,4.9251864,0.6298789,0.6467967,11.1816065,7.4097788,49.1489356,13.5594229,28.7905282,63.278517,29.9451829,39.6955941,16.2642855,13.908328,12.6041498,9.0224965,37.2525017,5.7159347,0.6930434,0.6983676,11.6415323,7.8944315,49.8313056,13.3423309,29.4687412,63.6063084,29.9211191,39.8851669,16.3612079,13.7049071,13.0247126,9.5429672,37.5275821,5.8011043 +2505,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.420627,1.4406045,23.7376341,19.0414917,44.2245349,15.1928434,40.6443905,67.3945037,39.3209355,50.2787817,29.6340902,3.5697681,10.7283986,9.3768041,34.1015976,22.3732293,1.3723853,1.4111652,24.4463993,19.5419144,45.4021924,15.0996206,41.3051822,67.6994426,39.1972855,50.2663608,29.9307209,4.0266489,11.4667465,9.0270295,33.9128459,25.8824995,1.5618189,1.6009566,24.2150614,19.010358,45.7986336,15.8370069,41.1465001,67.5090001,39.1909718,50.1820188,30.0122189,4.0601172,11.5656475,9.4337033,34.6464079,22.1784455,1.4326034,1.4709855,23.5585273,18.8486131,46.7169131,15.5408555,40.9924894,67.6564562,39.5681103,50.8353029,30.5702588,4.144263,11.7142091,9.8067824,34.6646404,23.9542771,1.4315768,1.4503626,23.416286,19.0668969,46.1209916,15.0344144,41.3936224,67.2362167,39.1973578,51.2631056,30.1543147,4.4554841,12.0960499,10.5063122,34.834503,22.9214558 +2506,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1058162,2.1113123,30.8019325,26.2127666,72.8625916,13.0835856,34.0433908,64.4283683,25.9398745,38.6634641,15.5307109,1.543163,15.7641543,12.833391,40.0403696,25.1714659,2.029597,2.0352054,30.7974684,25.79885,71.3142677,13.6107293,33.5671482,64.3069144,26.8228667,39.2171788,16.3704991,1.4714647,16.4971554,13.4062772,40.745072,25.7007872,1.847353,1.8429965,31.2709952,26.2789691,71.344087,14.0998621,33.1756198,63.6720157,26.9903219,39.0038079,16.3243622,1.773484,16.845778,13.7565527,42.2709697,23.8473202,1.9056347,1.9012565,30.7366391,25.4174092,71.3196634,14.9857231,33.8702221,63.9136188,27.446974,39.5358138,16.9745174,1.584272,17.0929805,13.0599931,41.9252976,21.865222,2.0464636,2.0421003,30.7323026,25.4085853,71.2173544,15.4307746,33.8424876,64.1234911,27.734481,40.706861,17.4527248,1.8829479,17.4372157,12.2683386,42.016642,21.3858629 +2507,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0659309,2.0358231,34.9565954,29.5471597,51.7663466,19.527095,36.9783306,64.9884066,34.1064073,45.6892028,20.4493777,3.4487729,15.4266454,12.4098846,33.9247993,25.7677078,1.9731446,1.9417153,35.1650661,29.9633514,51.5387628,19.1812117,38.0351919,64.8764643,34.1843042,46.1384306,20.7274666,3.5093983,14.5723659,12.3196374,34.0357576,28.1566596,2.0655007,2.0116889,34.1457297,29.089749,49.0765619,19.8635756,38.1798905,66.468056,35.4865064,47.2236038,20.6551187,3.7987772,13.1304366,12.09726,33.671219,27.1492831,1.9154936,1.8613906,34.6222649,29.4877612,50.0838704,19.362473,38.0281204,66.8546232,34.8893139,47.758139,20.5123299,3.9577753,12.8776152,11.6795354,33.7693369,24.2336476,1.8476081,1.7937986,34.6857621,29.6542716,48.8544584,18.8346157,38.9188626,67.6005749,35.2187329,48.4557533,20.9862683,3.7932318,12.190335,12.1377949,32.6579908,26.5127723 +2508,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3406489,0.3482942,9.2771661,6.2484069,47.7426841,20.7741151,29.8453529,63.6941949,31.8159201,39.3988598,16.824648,7.0217047,10.3382132,7.5608039,36.3939482,3.4954429,0.4434924,0.4563299,9.6431162,6.5631856,47.5873285,21.0429937,30.4457266,63.5633884,31.6199424,39.7675599,17.4095395,6.9853835,10.0735039,7.5168926,35.6830285,3.9358612,0.3942102,0.4028672,9.8416276,6.5987933,47.6258014,21.1113899,30.6622398,63.4785871,31.7208297,39.9433791,17.5898556,6.8808476,9.522982,7.6014112,35.3323823,3.868196,0.4563416,0.4789378,10.2361194,6.8889491,48.0273744,21.4210951,30.5030666,63.5980648,31.0393283,39.9004096,17.4795679,7.0863129,9.5936401,7.4704403,35.0535615,4.3661972,0.5417096,0.5828728,10.4741087,6.9183227,48.6605941,21.4248377,30.5147081,62.3859051,30.6414856,39.8199832,17.1019238,7.1374243,9.9630417,7.8615312,34.5672689,4.7813947 +2509,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8690233,0.891718,16.0864851,12.1364151,39.9409046,18.6707263,32.5713288,67.1775969,36.5830956,48.7530604,20.53383,4.5636065,13.753425,10.3781634,27.7515642,8.0794678,0.990758,1.0398668,16.1161739,12.2280556,40.0536236,18.9134218,32.8824649,67.4901352,37.3928175,48.6979809,20.7060279,4.6105786,13.7706408,9.8238222,27.9461499,8.2554466,0.9365836,0.986046,16.1394615,12.4417311,40.5413712,18.709568,32.3825892,66.7030551,37.4059943,48.2049732,20.3652299,4.4941218,13.9012069,9.9776984,27.7907738,10.0293907,0.7577073,0.7872262,15.715352,12.2263791,40.6900104,18.5317616,32.4148336,66.4470814,37.5393476,48.2837038,20.4000069,4.7106603,13.8462398,9.8785849,27.2342464,9.8055706,0.8439673,0.8439673,15.9184602,12.7051381,41.718435,18.0288264,32.8609095,65.6621924,36.8266879,48.4041781,20.4748651,4.5758102,13.9049241,10.0531849,28.0441647,11.1268558 +2510,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.076897,1.145186,20.1709543,15.9699949,40.0636869,19.8997945,39.0873911,66.6193881,38.564648,47.7347117,22.4460439,3.6048677,12.5055509,10.9999908,33.8313627,11.6573001,1.1579484,1.2108248,20.9090615,16.729342,41.215522,19.1892944,39.3126515,66.0309866,38.1707424,47.6082515,22.6136324,3.8676938,13.2186212,11.045743,33.8941908,11.6621953,1.184062,1.231298,20.9687197,16.7934899,42.0536791,19.1225493,38.7155308,65.6793467,38.6093887,47.314184,22.3885268,3.5987214,13.9489583,11.9212431,34.2664885,11.8925831,1.1214199,1.1619819,21.7119923,17.7848155,42.3777012,18.3882957,38.823185,66.1419219,38.2527357,46.7462157,22.5966488,3.7713856,14.5654013,12.327876,34.6369847,13.2575691,1.1479008,1.1884238,22.3595362,18.5188914,43.1395073,18.6866628,39.0349536,65.9903138,38.0887895,47.6135258,22.9920074,3.5849384,14.307422,12.2231845,34.2128127,13.1009375 +2511,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3723853,1.4111652,24.4463993,19.5419144,45.4021924,15.0996206,41.3051822,67.6994426,39.1972855,50.2663608,29.9307209,4.0266489,11.4667465,9.0270295,33.9128459,25.8824995,1.5618189,1.6009566,24.2150614,19.010358,45.7986336,15.8370069,41.1465001,67.5090001,39.1909718,50.1820188,30.0122189,4.0601172,11.5656475,9.4337033,34.6464079,22.1784455,1.4326034,1.4709855,23.5585273,18.8486131,46.7169131,15.5408555,40.9924894,67.6564562,39.5681103,50.8353029,30.5702588,4.144263,11.7142091,9.8067824,34.6646404,23.9542771,1.4315768,1.4503626,23.416286,19.0668969,46.1209916,15.0344144,41.3936224,67.2362167,39.1973578,51.2631056,30.1543147,4.4554841,12.0960499,10.5063122,34.834503,22.9214558,1.7951625,1.8633956,22.9846725,18.3894857,45.4954636,15.5469292,41.1436242,66.7214185,39.4104729,51.6428009,31.2946466,4.1891698,12.1240827,10.5135751,34.9158904,23.7005593 +2512,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.990758,1.0398668,16.1161739,12.2280556,40.0536236,18.9134218,32.8824649,67.4901352,37.3928175,48.6979809,20.7060279,4.6105786,13.7706408,9.8238222,27.9461499,8.2554466,0.9365836,0.986046,16.1394615,12.4417311,40.5413712,18.709568,32.3825892,66.7030551,37.4059943,48.2049732,20.3652299,4.4941218,13.9012069,9.9776984,27.7907738,10.0293907,0.7577073,0.7872262,15.715352,12.2263791,40.6900104,18.5317616,32.4148336,66.4470814,37.5393476,48.2837038,20.4000069,4.7106603,13.8462398,9.8785849,27.2342464,9.8055706,0.8439673,0.8439673,15.9184602,12.7051381,41.718435,18.0288264,32.8609095,65.6621924,36.8266879,48.4041781,20.4748651,4.5758102,13.9049241,10.0531849,28.0441647,11.1268558,0.9651216,0.9651216,15.4921364,12.3095061,42.757786,17.9893675,32.672091,65.573287,35.8306131,48.3019141,20.6477835,4.8397719,14.1046411,10.6758981,27.7257432,10.9926584 +2513,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8433817,0.8558055,13.4717978,9.5387021,42.8620808,19.6157476,33.4830007,61.1787394,33.4159448,44.4674113,19.8832576,6.6590471,10.6644741,7.9636648,33.9897737,7.9235308,0.8446798,0.8601692,13.6093726,9.7455101,44.5476326,19.1179907,33.7019632,61.0818786,32.7097552,44.1739107,19.8913347,6.6304458,10.7805336,8.2359605,34.2114489,8.6998437,0.8251938,0.858366,13.6054746,9.85649,45.0239106,19.6097436,33.5745903,61.7284547,32.8309657,44.6378415,19.9412359,6.620987,10.9050555,8.1211559,33.8007125,8.6995018,0.8970814,0.9330311,14.0448791,10.3782116,46.019557,19.3656857,33.2706471,62.1384991,33.0112878,44.3327731,19.8871729,6.5944767,11.1523859,8.3333346,33.7186112,8.6325054,0.9683807,0.9923242,14.1622976,10.6169235,46.8961337,19.5623591,32.7042755,62.9766486,33.1841807,44.0012972,19.9286625,6.2581081,11.0786939,8.1785462,33.4690456,8.7209439 +2514,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9754783,1.0188096,14.5164353,10.7464247,44.0822047,10.1351988,28.6493943,68.3039123,39.8965482,42.2598702,20.6862221,4.8168177,9.9177183,8.0254649,36.6040833,11.7111636,0.9836092,1.0267511,15.024151,11.1415577,44.1204402,10.2659679,28.7674404,68.1441866,40.1069779,41.9953499,20.8139568,4.8232557,10.2338109,8.1905612,36.7176488,13.5087688,1.0350195,1.0785399,15.7389214,11.7003224,44.3920913,10.2971082,29.1260812,67.7464021,39.5630401,41.8505935,20.7443487,4.9280671,9.8484833,8.0690956,36.9900957,14.4039719,1.1472795,1.2039612,16.4975091,12.4376994,44.6708716,10.420778,28.4904269,67.5904938,39.3949005,41.4360898,20.4254762,5.0122463,10.0454702,8.1265876,37.1494142,14.1440486,1.1645911,1.2259466,17.0247391,12.8301706,44.8556699,10.4408241,28.8665031,67.448014,39.5794649,41.3897184,20.5764972,4.9990709,10.1327194,8.1839941,37.1244607,14.4859798 +2515,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8911072,0.912481,16.2538131,12.2231536,51.2330832,12.5077402,30.9504175,64.5115082,33.9152584,41.6110526,18.4000962,4.537174,11.9066956,8.9595563,34.0392073,13.3223684,0.923018,0.9606328,16.446858,12.4854643,52.7270882,12.3433379,30.5571655,64.7973197,33.9975548,41.4955741,18.3830611,4.4561396,12.6409977,9.814529,33.6122684,14.3518519,0.9981503,1.0249177,16.4726986,12.3750124,53.2324782,12.2991627,30.080189,64.6906579,34.841556,41.2458358,18.7258886,4.5664265,12.5172864,10.396628,33.7409373,14.6969697,0.9772143,1.025331,17.0493289,13.193895,53.5712107,12.6433292,30.2913418,65.6515632,35.6341406,41.4174965,18.4989817,4.3897693,12.8646133,10.8214683,33.8584789,13.9254221,1.0648986,1.1406124,17.4706873,13.469593,53.9028153,12.2531473,30.6873099,66.3382676,35.6206945,40.6869949,18.4703007,4.3173948,13.3364309,11.6137819,34.4160612,14.3529937 +2516,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.593813,0.593813,8.8318513,5.6790622,43.3910473,22.1331689,31.2576065,64.8478702,32.5557809,44.3610548,15.7200811,6.3083164,10.2443609,7.3501577,35.3889943,4.0322581,0.5590306,0.5590306,8.5674157,5.5176565,43.2460954,22.6713172,30.7521229,65.8511929,32.5313385,44.298423,16.5183987,6.0857258,9.7188995,6.7209162,35.2923448,5.3846154,0.5308147,0.4934873,8.3802251,5.5667203,43.3305192,22.5256674,30.2498992,64.9536477,31.5397017,43.7525191,16.2636034,5.2599758,9.4951234,6.7958357,35.7101617,5.4404145,0.7298258,0.7119559,9.0195327,5.9555726,43.6867665,22.9330709,30.7915058,65.3088803,30.6370656,43.6872587,16.6216216,5.03861,9.6590909,6.908793,35.1902174,5.0970874,0.6604565,0.6431554,8.9140104,5.948851,44.372549,22.190367,31.3648294,65.8230221,29.9025122,43.7007874,17.0041245,5.0431196,9.8492723,7.435628,36.1474124,6.5533981 +2517,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.923018,0.9606328,16.446858,12.4854643,52.7270882,12.3433379,30.5571655,64.7973197,33.9975548,41.4955741,18.3830611,4.4561396,12.6409977,9.814529,33.6122684,14.3518519,0.9981503,1.0249177,16.4726986,12.3750124,53.2324782,12.2991627,30.080189,64.6906579,34.841556,41.2458358,18.7258886,4.5664265,12.5172864,10.396628,33.7409373,14.6969697,0.9772143,1.025331,17.0493289,13.193895,53.5712107,12.6433292,30.2913418,65.6515632,35.6341406,41.4174965,18.4989817,4.3897693,12.8646133,10.8214683,33.8584789,13.9254221,1.0648986,1.1406124,17.4706873,13.469593,53.9028153,12.2531473,30.6873099,66.3382676,35.6206945,40.6869949,18.4703007,4.3173948,13.3364309,11.6137819,34.4160612,14.3529937,1.1002983,1.1947341,17.8071478,13.8149183,54.5770151,12.3999589,30.8094222,66.4254012,35.8088273,40.3636142,18.4063678,4.2811023,13.1290512,11.3855476,34.2295184,13.7588059 +2518,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5618189,1.6009566,24.2150614,19.010358,45.7986336,15.8370069,41.1465001,67.5090001,39.1909718,50.1820188,30.0122189,4.0601172,11.5656475,9.4337033,34.6464079,22.1784455,1.4326034,1.4709855,23.5585273,18.8486131,46.7169131,15.5408555,40.9924894,67.6564562,39.5681103,50.8353029,30.5702588,4.144263,11.7142091,9.8067824,34.6646404,23.9542771,1.4315768,1.4503626,23.416286,19.0668969,46.1209916,15.0344144,41.3936224,67.2362167,39.1973578,51.2631056,30.1543147,4.4554841,12.0960499,10.5063122,34.834503,22.9214558,1.7951625,1.8633956,22.9846725,18.3894857,45.4954636,15.5469292,41.1436242,66.7214185,39.4104729,51.6428009,31.2946466,4.1891698,12.1240827,10.5135751,34.9158904,23.7005593,1.6378724,1.6315152,23.1926731,18.3824584,45.6506034,15.2512871,41.4305301,65.9903436,38.6859266,50.9381473,31.1939188,3.9898232,12.8037565,10.477903,35.022618,23.245453 +2519,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9836092,1.0267511,15.024151,11.1415577,44.1204402,10.2659679,28.7674404,68.1441866,40.1069779,41.9953499,20.8139568,4.8232557,10.2338109,8.1905612,36.7176488,13.5087688,1.0350195,1.0785399,15.7389214,11.7003224,44.3920913,10.2971082,29.1260812,67.7464021,39.5630401,41.8505935,20.7443487,4.9280671,9.8484833,8.0690956,36.9900957,14.4039719,1.1472795,1.2039612,16.4975091,12.4376994,44.6708716,10.420778,28.4904269,67.5904938,39.3949005,41.4360898,20.4254762,5.0122463,10.0454702,8.1265876,37.1494142,14.1440486,1.1645911,1.2259466,17.0247391,12.8301706,44.8556699,10.4408241,28.8665031,67.448014,39.5794649,41.3897184,20.5764972,4.9990709,10.1327194,8.1839941,37.1244607,14.4859798,1.2664749,1.296593,18.5383923,14.1492124,45.0040319,10.3345164,29.6481319,67.3197229,39.3614243,41.6116451,20.3605571,4.8523017,10.0828518,8.0467491,37.1997576,15.4030614 +2520,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.9342685,0.9570535,12.7770831,8.8478534,45.4793716,11.681092,31.162233,66.3372127,41.1413581,43.9938346,24.1405899,4.507782,10.3231269,8.7772023,40.9618321,7.9091833,0.9889426,0.9934449,13.1591631,9.1296089,45.6549551,11.6704386,31.2287806,66.0499191,40.7768142,43.9970936,23.6863907,4.4679962,10.2830006,8.7565286,40.3504869,8.4189918,0.9580962,0.9773962,13.32997,9.362669,45.9522677,11.6578777,31.1045843,66.0133483,40.9554006,43.7817921,23.4778595,4.5269151,10.1053757,8.5988182,40.0973656,9.3556259,1.0020319,1.0154868,13.8964381,9.7839884,45.9265148,11.6722741,31.0732873,65.6894178,40.7668974,43.5481792,23.3311577,4.5823559,10.2806257,8.7553034,39.9127757,9.3091198,0.947497,0.9707941,14.2737329,10.0742678,46.1080431,11.7697001,30.9425786,65.1655995,40.1633336,42.5733581,22.9536296,4.6103842,10.1978723,9.0856258,40.2308277,9.9004504 +2521,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7465911,1.7698904,25.1196861,20.3327703,54.7655917,15.9662595,39.2468459,64.6067437,36.7940959,46.6981325,22.0344071,3.5770006,13.5319424,11.8216118,34.8693522,17.1480021,1.7284565,1.7400791,25.3377664,20.4283242,54.4908804,15.9583464,39.5866055,64.8216664,36.9811699,46.3943274,22.3569258,3.6306565,13.2970056,10.7690722,34.3966343,17.5471698,1.6567518,1.6375682,24.9976182,19.9233889,54.0892221,15.9311757,40.843496,64.9322252,37.15849,46.5154234,23.0696125,3.6587477,13.4584239,11.1397609,34.6271972,17.0329546,1.6994976,1.6446769,24.9351749,20.0001214,54.563895,15.8537303,42.0608732,66.2145193,37.5649571,46.0942739,22.8030776,3.9597317,13.7953117,10.7296928,34.5889639,17.8571227,1.6874936,1.663398,25.0462995,19.9801529,55.3780065,15.8256356,42.0410658,66.4483735,36.8534316,45.4970579,23.0744311,3.8518973,13.1817202,10.7464351,34.9587338,18.3071437 +2522,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9179713,1.9417618,31.4209245,26.1779056,46.9023943,14.0961191,35.8897921,64.6686582,31.7360856,43.6956663,22.262212,3.5135872,13.7944995,9.2834409,43.2589667,20.2770883,2.0703164,2.1467027,32.496331,27.3972619,49.1931232,13.9015758,35.8084339,64.0355313,31.4504201,43.8960744,21.223592,3.2394677,13.4794298,8.8072332,43.894698,22.3192187,2.1603275,2.1824279,33.194136,28.0341031,50.3410083,14.3460678,35.6196842,62.9498754,30.3558542,42.8703528,20.6857382,3.4451626,13.8900062,9.8247629,44.4145451,22.2906377,2.3641026,2.3860472,34.7425138,29.4987239,52.4881714,13.9108298,36.265094,62.0004507,29.143966,42.4191839,20.1179644,3.3847462,14.2162382,9.7469231,44.8390758,23.3634244,2.3333136,2.3549898,36.8658077,31.8238469,53.821329,14.2605159,37.0840858,61.324897,28.7487271,41.8967906,19.6350248,3.2942778,14.4076489,10.1558246,44.1258068,23.4716093 +2523,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9365836,0.986046,16.1394615,12.4417311,40.5413712,18.709568,32.3825892,66.7030551,37.4059943,48.2049732,20.3652299,4.4941218,13.9012069,9.9776984,27.7907738,10.0293907,0.7577073,0.7872262,15.715352,12.2263791,40.6900104,18.5317616,32.4148336,66.4470814,37.5393476,48.2837038,20.4000069,4.7106603,13.8462398,9.8785849,27.2342464,9.8055706,0.8439673,0.8439673,15.9184602,12.7051381,41.718435,18.0288264,32.8609095,65.6621924,36.8266879,48.4041781,20.4748651,4.5758102,13.9049241,10.0531849,28.0441647,11.1268558,0.9651216,0.9651216,15.4921364,12.3095061,42.757786,17.9893675,32.672091,65.573287,35.8306131,48.3019141,20.6477835,4.8397719,14.1046411,10.6758981,27.7257432,10.9926584,0.9107055,0.9237553,15.5850469,12.5159151,43.8924257,18.2001253,32.8037389,65.3837314,35.2002005,48.0742972,20.3196459,4.8708012,13.5294187,10.5009567,26.9272467,11.0258648 +2524,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2958423,2.3095237,37.8180178,32.9052312,62.4309599,14.791019,34.7568339,64.3513601,29.5307735,40.0839004,18.085647,1.7970808,17.7704093,12.4224159,39.2949772,25.9291379,2.2881062,2.2959292,37.3275916,32.6969667,62.4998138,14.7395834,34.6505228,64.4913545,30.0301417,40.5072677,17.9121883,1.7546133,17.9404574,12.8534183,38.2473037,26.0138727,2.3224622,2.3028945,37.5397731,32.570313,63.1557184,14.7308548,33.9404275,63.9754336,30.2735717,40.5446583,17.641929,1.8207375,18.1657154,13.3315454,38.5496583,27.2156148,2.2690616,2.2494666,37.9272626,32.9849654,64.4635844,14.8743784,33.1111345,63.4131619,29.6095199,39.8109298,17.367823,1.8514314,17.6575446,12.9056,38.4084034,27.3288053,2.2646236,2.2905893,38.1902724,33.2560884,64.7857415,14.3440291,33.7796796,63.2914915,28.9234755,39.6619825,16.9837458,1.8398082,18.6929283,13.4839433,38.7753836,26.9290099 +2525,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.029597,2.0352054,30.7974684,25.79885,71.3142677,13.6107293,33.5671482,64.3069144,26.8228667,39.2171788,16.3704991,1.4714647,16.4971554,13.4062772,40.745072,25.7007872,1.847353,1.8429965,31.2709952,26.2789691,71.344087,14.0998621,33.1756198,63.6720157,26.9903219,39.0038079,16.3243622,1.773484,16.845778,13.7565527,42.2709697,23.8473202,1.9056347,1.9012565,30.7366391,25.4174092,71.3196634,14.9857231,33.8702221,63.9136188,27.446974,39.5358138,16.9745174,1.584272,17.0929805,13.0599931,41.9252976,21.865222,2.0464636,2.0421003,30.7323026,25.4085853,71.2173544,15.4307746,33.8424876,64.1234911,27.734481,40.706861,17.4527248,1.8829479,17.4372157,12.2683386,42.016642,21.3858629,1.9285225,1.90017,29.4429987,24.1189237,69.9584491,15.0203058,35.2002646,64.9394549,28.7316722,40.8763022,17.8821645,2.0863152,17.2162973,12.2154717,42.5155858,21.73659 +2526,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.5143346,1.5939163,19.4741536,15.0346609,66.8971736,11.7422613,30.1843337,61.007371,29.4515378,37.5071259,16.5475983,2.8364529,16.8155672,13.4491091,40.8730937,10.2863604,1.4617016,1.5246013,20.1004041,15.6163388,68.6216498,11.2310662,31.1817153,60.9321802,29.6750971,37.1150031,16.5333567,3.331862,15.7329906,12.7576864,40.8886037,10.146697,1.4020597,1.4122732,20.4703293,15.9062166,70.9834977,11.5931858,31.2251491,60.8971288,29.8402714,37.2382299,16.3659332,3.1248089,15.7534674,12.4923283,40.7657017,10.3176241,1.4137558,1.4236764,20.737958,16.2898053,73.010245,11.3780422,31.9118466,60.749693,30.0626052,37.2162816,16.5817905,3.3213708,14.8357741,11.8558812,39.8963214,10.4143022,1.4071126,1.4012576,21.3599367,17.0558296,75.1516447,11.3988495,32.2276567,61.2031587,29.5952968,37.8839906,16.2721164,3.297237,14.4633451,11.6383378,39.2043519,10.1882025 +2527,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6887594,0.6861527,13.8762742,10.2600761,47.4871222,17.6154187,33.2134933,62.8912024,30.8728625,41.581702,18.0992868,4.5390078,11.0666469,8.4282268,32.385743,7.6343226,0.6657058,0.6631333,13.9276805,10.545975,49.0084007,17.6874729,32.4854392,63.1933274,30.6571564,41.2033021,18.1615731,4.3360372,10.6940796,8.3612196,31.639131,7.9752482,0.6334656,0.6507214,13.8185091,10.4170357,49.8723833,17.3804841,32.5363314,64.1062804,30.6290008,41.3091013,18.1111559,4.2523394,10.6512608,8.4360563,31.7871445,8.3135354,0.7268376,0.7473512,14.3184371,10.7485981,50.7252365,17.5797432,32.2893335,65.4332362,31.4711227,41.6770174,18.4497354,4.1766208,11.5337649,9.1309533,31.914514,7.941252,0.6833994,0.7044598,14.4821838,10.9785243,51.6266348,17.7894486,31.8315767,66.187818,31.7356005,41.6426284,18.2397514,4.2163923,11.6286451,9.5511255,31.7174929,8.310188 +2528,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7812206,0.8067357,12.0511742,8.3244607,22.6261893,16.6484704,35.6702739,66.2844187,38.6255352,49.2766134,22.7105072,3.9787635,11.7931029,10.535243,33.1263254,8.8509765,0.7831021,0.8135569,12.0284049,8.2709182,22.7491063,16.3907561,36.1068698,66.0551233,37.7816735,48.9418491,21.6885043,3.966203,11.4172534,10.3042844,32.7259285,9.2532882,0.8437412,0.8675702,12.4626843,8.2729338,23.1677899,16.5710275,36.0649697,65.2491012,36.989172,48.4404453,21.5523589,3.8772596,11.4618763,10.1284993,32.7354937,9.7597927,0.8710019,0.8999081,12.8258207,8.5258974,23.941136,16.6433638,35.8719403,65.1700037,36.7493807,48.7181369,21.4902764,3.73595,11.4534701,9.9018432,33.1166536,9.5833584,0.8402576,0.8831387,12.7094813,8.4983668,24.1844464,16.5062968,35.3260699,64.9421317,36.1730619,48.2001846,21.3791812,3.6490719,11.3143118,10.0985342,33.3497441,8.739255 +2529,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2881062,2.2959292,37.3275916,32.6969667,62.4998138,14.7395834,34.6505228,64.4913545,30.0301417,40.5072677,17.9121883,1.7546133,17.9404574,12.8534183,38.2473037,26.0138727,2.3224622,2.3028945,37.5397731,32.570313,63.1557184,14.7308548,33.9404275,63.9754336,30.2735717,40.5446583,17.641929,1.8207375,18.1657154,13.3315454,38.5496583,27.2156148,2.2690616,2.2494666,37.9272626,32.9849654,64.4635844,14.8743784,33.1111345,63.4131619,29.6095199,39.8109298,17.367823,1.8514314,17.6575446,12.9056,38.4084034,27.3288053,2.2646236,2.2905893,38.1902724,33.2560884,64.7857415,14.3440291,33.7796796,63.2914915,28.9234755,39.6619825,16.9837458,1.8398082,18.6929283,13.4839433,38.7753836,26.9290099,2.3670836,2.4242403,38.3279198,33.0454223,65.5009241,14.0578677,33.9639389,63.6556292,28.9524008,39.8523195,16.4998161,1.8917616,18.737514,13.5579373,39.9337591,25.9919165 +2530,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.847353,1.8429965,31.2709952,26.2789691,71.344087,14.0998621,33.1756198,63.6720157,26.9903219,39.0038079,16.3243622,1.773484,16.845778,13.7565527,42.2709697,23.8473202,1.9056347,1.9012565,30.7366391,25.4174092,71.3196634,14.9857231,33.8702221,63.9136188,27.446974,39.5358138,16.9745174,1.584272,17.0929805,13.0599931,41.9252976,21.865222,2.0464636,2.0421003,30.7323026,25.4085853,71.2173544,15.4307746,33.8424876,64.1234911,27.734481,40.706861,17.4527248,1.8829479,17.4372157,12.2683386,42.016642,21.3858629,1.9285225,1.90017,29.4429987,24.1189237,69.9584491,15.0203058,35.2002646,64.9394549,28.7316722,40.8763022,17.8821645,2.0863152,17.2162973,12.2154717,42.5155858,21.73659,1.777638,1.7493287,29.1423294,23.6827236,70.3073686,14.428784,35.3846925,65.4338144,27.8983897,40.0493872,17.6025628,2.3403001,17.4997566,11.9434062,44.594622,21.40869 +2531,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0703164,2.1467027,32.496331,27.3972619,49.1931232,13.9015758,35.8084339,64.0355313,31.4504201,43.8960744,21.223592,3.2394677,13.4794298,8.8072332,43.894698,22.3192187,2.1603275,2.1824279,33.194136,28.0341031,50.3410083,14.3460678,35.6196842,62.9498754,30.3558542,42.8703528,20.6857382,3.4451626,13.8900062,9.8247629,44.4145451,22.2906377,2.3641026,2.3860472,34.7425138,29.4987239,52.4881714,13.9108298,36.265094,62.0004507,29.143966,42.4191839,20.1179644,3.3847462,14.2162382,9.7469231,44.8390758,23.3634244,2.3333136,2.3549898,36.8658077,31.8238469,53.821329,14.2605159,37.0840858,61.324897,28.7487271,41.8967906,19.6350248,3.2942778,14.4076489,10.1558246,44.1258068,23.4716093,2.4251937,2.4464119,37.5761701,32.3970941,54.7891404,14.2148596,36.6638258,61.7536599,28.5176232,41.4091412,19.8466761,3.1433409,15.0273751,10.2564135,44.9543055,24.8958281 +2532,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5590306,0.5590306,8.5674157,5.5176565,43.2460954,22.6713172,30.7521229,65.8511929,32.5313385,44.298423,16.5183987,6.0857258,9.7188995,6.7209162,35.2923448,5.3846154,0.5308147,0.4934873,8.3802251,5.5667203,43.3305192,22.5256674,30.2498992,64.9536477,31.5397017,43.7525191,16.2636034,5.2599758,9.4951234,6.7958357,35.7101617,5.4404145,0.7298258,0.7119559,9.0195327,5.9555726,43.6867665,22.9330709,30.7915058,65.3088803,30.6370656,43.6872587,16.6216216,5.03861,9.6590909,6.908793,35.1902174,5.0970874,0.6604565,0.6431554,8.9140104,5.948851,44.372549,22.190367,31.3648294,65.8230221,29.9025122,43.7007874,17.0041245,5.0431196,9.8492723,7.435628,36.1474124,6.5533981,0.7197357,0.7018402,9.0160796,5.9915773,45.147594,22.3601261,29.8915149,65.381635,29.4653235,43.4134057,16.7183262,4.668733,10.5161999,7.6859046,36.3611264,6.4903846 +2533,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1603275,2.1824279,33.194136,28.0341031,50.3410083,14.3460678,35.6196842,62.9498754,30.3558542,42.8703528,20.6857382,3.4451626,13.8900062,9.8247629,44.4145451,22.2906377,2.3641026,2.3860472,34.7425138,29.4987239,52.4881714,13.9108298,36.265094,62.0004507,29.143966,42.4191839,20.1179644,3.3847462,14.2162382,9.7469231,44.8390758,23.3634244,2.3333136,2.3549898,36.8658077,31.8238469,53.821329,14.2605159,37.0840858,61.324897,28.7487271,41.8967906,19.6350248,3.2942778,14.4076489,10.1558246,44.1258068,23.4716093,2.4251937,2.4464119,37.5761701,32.3970941,54.7891404,14.2148596,36.6638258,61.7536599,28.5176232,41.4091412,19.8466761,3.1433409,15.0273751,10.2564135,44.9543055,24.8958281,2.5041393,2.5262977,37.8217492,32.804446,56.7337663,14.2123307,36.2081884,62.1740475,28.5624554,41.8452993,18.9391976,3.3264368,14.7015983,10.31629,44.4726544,24.5951364 +2534,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.5746796,0.5777174,10.6411626,6.9790579,46.9758557,13.2210124,29.63981,62.5248507,29.8736996,40.1415086,16.974623,13.7820153,11.6895877,8.5747148,37.1197272,4.9472296,0.6313117,0.6378859,10.7300378,7.1552933,47.8411985,13.5396874,29.5311769,62.8839006,29.7754777,39.8732013,16.6530929,13.8727325,12.2745112,8.831482,37.126929,4.9251864,0.6298789,0.6467967,11.1816065,7.4097788,49.1489356,13.5594229,28.7905282,63.278517,29.9451829,39.6955941,16.2642855,13.908328,12.6041498,9.0224965,37.2525017,5.7159347,0.6930434,0.6983676,11.6415323,7.8944315,49.8313056,13.3423309,29.4687412,63.6063084,29.9211191,39.8851669,16.3612079,13.7049071,13.0247126,9.5429672,37.5275821,5.8011043,0.6555507,0.66084,11.5194382,7.9192528,50.658992,13.2766382,28.9233774,64.4299549,30.3773343,40.047315,16.2416311,13.8645297,12.9052814,9.569775,37.4177677,6.0622305 +2535,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1579484,1.2108248,20.9090615,16.729342,41.215522,19.1892944,39.3126515,66.0309866,38.1707424,47.6082515,22.6136324,3.8676938,13.2186212,11.045743,33.8941908,11.6621953,1.184062,1.231298,20.9687197,16.7934899,42.0536791,19.1225493,38.7155308,65.6793467,38.6093887,47.314184,22.3885268,3.5987214,13.9489583,11.9212431,34.2664885,11.8925831,1.1214199,1.1619819,21.7119923,17.7848155,42.3777012,18.3882957,38.823185,66.1419219,38.2527357,46.7462157,22.5966488,3.7713856,14.5654013,12.327876,34.6369847,13.2575691,1.1479008,1.1884238,22.3595362,18.5188914,43.1395073,18.6866628,39.0349536,65.9903138,38.0887895,47.6135258,22.9920074,3.5849384,14.307422,12.2231845,34.2128127,13.1009375,1.1946921,1.224272,23.1095887,18.9869503,43.5927734,18.8273625,39.2217588,66.2793362,38.6460702,47.579962,23.0810344,3.3582041,14.8123809,11.8891744,33.1504959,11.2047979 +2536,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7577073,0.7872262,15.715352,12.2263791,40.6900104,18.5317616,32.4148336,66.4470814,37.5393476,48.2837038,20.4000069,4.7106603,13.8462398,9.8785849,27.2342464,9.8055706,0.8439673,0.8439673,15.9184602,12.7051381,41.718435,18.0288264,32.8609095,65.6621924,36.8266879,48.4041781,20.4748651,4.5758102,13.9049241,10.0531849,28.0441647,11.1268558,0.9651216,0.9651216,15.4921364,12.3095061,42.757786,17.9893675,32.672091,65.573287,35.8306131,48.3019141,20.6477835,4.8397719,14.1046411,10.6758981,27.7257432,10.9926584,0.9107055,0.9237553,15.5850469,12.5159151,43.8924257,18.2001253,32.8037389,65.3837314,35.2002005,48.0742972,20.3196459,4.8708012,13.5294187,10.5009567,26.9272467,11.0258648,0.9025059,0.909059,15.7503933,12.8588862,45.0454013,17.7865433,33.1036415,65.3323073,35.0838719,47.4688181,20.0874325,4.9468325,13.0316293,10.3717161,26.9445419,12.4984724 +2537,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.9889426,0.9934449,13.1591631,9.1296089,45.6549551,11.6704386,31.2287806,66.0499191,40.7768142,43.9970936,23.6863907,4.4679962,10.2830006,8.7565286,40.3504869,8.4189918,0.9580962,0.9773962,13.32997,9.362669,45.9522677,11.6578777,31.1045843,66.0133483,40.9554006,43.7817921,23.4778595,4.5269151,10.1053757,8.5988182,40.0973656,9.3556259,1.0020319,1.0154868,13.8964381,9.7839884,45.9265148,11.6722741,31.0732873,65.6894178,40.7668974,43.5481792,23.3311577,4.5823559,10.2806257,8.7553034,39.9127757,9.3091198,0.947497,0.9707941,14.2737329,10.0742678,46.1080431,11.7697001,30.9425786,65.1655995,40.1633336,42.5733581,22.9536296,4.6103842,10.1978723,9.0856258,40.2308277,9.9004504,0.9965754,1.0125267,14.7532138,10.5289745,46.2850307,11.8775826,30.7921457,64.9647224,39.897939,42.4346135,22.3971658,4.4931297,10.1195329,8.882586,40.012577,10.3932681 +2538,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3224622,2.3028945,37.5397731,32.570313,63.1557184,14.7308548,33.9404275,63.9754336,30.2735717,40.5446583,17.641929,1.8207375,18.1657154,13.3315454,38.5496583,27.2156148,2.2690616,2.2494666,37.9272626,32.9849654,64.4635844,14.8743784,33.1111345,63.4131619,29.6095199,39.8109298,17.367823,1.8514314,17.6575446,12.9056,38.4084034,27.3288053,2.2646236,2.2905893,38.1902724,33.2560884,64.7857415,14.3440291,33.7796796,63.2914915,28.9234755,39.6619825,16.9837458,1.8398082,18.6929283,13.4839433,38.7753836,26.9290099,2.3670836,2.4242403,38.3279198,33.0454223,65.5009241,14.0578677,33.9639389,63.6556292,28.9524008,39.8523195,16.4998161,1.8917616,18.737514,13.5579373,39.9337591,25.9919165,2.4856141,2.5637916,38.8383704,33.5230889,66.2587261,13.1650145,34.3525673,62.3533659,28.3876836,38.8697608,15.8348834,1.734478,18.4332739,13.4058088,40.9791597,26.1694444 +2539,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4434924,0.4563299,9.6431162,6.5631856,47.5873285,21.0429937,30.4457266,63.5633884,31.6199424,39.7675599,17.4095395,6.9853835,10.0735039,7.5168926,35.6830285,3.9358612,0.3942102,0.4028672,9.8416276,6.5987933,47.6258014,21.1113899,30.6622398,63.4785871,31.7208297,39.9433791,17.5898556,6.8808476,9.522982,7.6014112,35.3323823,3.868196,0.4563416,0.4789378,10.2361194,6.8889491,48.0273744,21.4210951,30.5030666,63.5980648,31.0393283,39.9004096,17.4795679,7.0863129,9.5936401,7.4704403,35.0535615,4.3661972,0.5417096,0.5828728,10.4741087,6.9183227,48.6605941,21.4248377,30.5147081,62.3859051,30.6414856,39.8199832,17.1019238,7.1374243,9.9630417,7.8615312,34.5672689,4.7813947,0.6026025,0.6409893,10.690791,7.0217613,49.6307081,21.069588,30.5272317,61.7881047,30.5769706,39.1817962,17.3712927,7.5478717,10.2624963,7.829585,35.1141362,5.4089474 +2540,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.932504,0.9736277,17.2126998,13.8734261,73.6544011,8.3161692,26.4384026,63.0914946,28.7072398,36.8279796,14.5961883,5.2890627,13.7069168,9.3563641,36.0103931,8.6652396,0.9506713,1.0003499,17.4397133,14.1255482,74.1756725,8.4610872,27.0749885,63.2466862,28.698646,37.233118,14.6303388,5.4328214,13.728934,9.5588521,36.4041896,9.0507999,0.9368441,0.9827643,17.5633616,14.2773336,74.6140095,8.4196277,27.5684526,63.434021,28.6024417,37.3336127,14.6310425,5.383548,13.7602921,9.6233333,36.4449122,9.0590835,0.9763652,1.0175991,17.7098592,14.4405076,75.1719018,8.3925269,27.9766888,63.508164,28.1419007,37.5452243,14.7975288,5.4430059,14.0305599,9.5904857,36.2782102,9.3176778,0.9400678,0.9628661,17.7274343,14.3988416,75.6506894,8.4069443,28.0319008,63.5043565,28.0368012,37.1041256,14.6391878,5.5454142,14.0746186,9.4779647,36.2992813,9.2795364 +2541,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.3942102,0.4028672,9.8416276,6.5987933,47.6258014,21.1113899,30.6622398,63.4785871,31.7208297,39.9433791,17.5898556,6.8808476,9.522982,7.6014112,35.3323823,3.868196,0.4563416,0.4789378,10.2361194,6.8889491,48.0273744,21.4210951,30.5030666,63.5980648,31.0393283,39.9004096,17.4795679,7.0863129,9.5936401,7.4704403,35.0535615,4.3661972,0.5417096,0.5828728,10.4741087,6.9183227,48.6605941,21.4248377,30.5147081,62.3859051,30.6414856,39.8199832,17.1019238,7.1374243,9.9630417,7.8615312,34.5672689,4.7813947,0.6026025,0.6409893,10.690791,7.0217613,49.6307081,21.069588,30.5272317,61.7881047,30.5769706,39.1817962,17.3712927,7.5478717,10.2624963,7.829585,35.1141362,5.4089474,0.6598208,0.7059125,10.8029367,6.9022262,50.3168829,20.8075302,30.1922098,61.6450265,30.1672497,39.2036982,17.1367883,7.6510211,10.2784109,7.7796078,34.8312811,5.8423689 +2542,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3371767,0.3363886,9.2877609,5.5655005,49.1269195,22.7997721,30.594153,61.4215684,29.0906538,41.6217531,17.1321592,6.6774288,10.2025305,6.6544211,31.6381009,4.8837209,0.3383378,0.3375836,9.8251045,5.8127602,49.3378808,21.6277457,30.7388234,60.6701,29.1924343,41.3573821,17.164947,6.5120308,10.3321931,6.5131282,32.4742313,5.5555556,0.3391277,0.358721,9.6160233,5.9086428,49.5506531,21.940147,31.3845589,60.8313923,28.8671709,40.7585191,17.0420699,6.4756578,10.6507499,6.5320699,32.1512519,6.7099567,0.3474496,0.3467138,9.7278416,6.3004187,49.6860008,22.6809902,31.5992755,61.3082709,29.8260952,40.8331474,17.4808087,6.6744932,10.6285949,6.7298623,32.249644,6.8075117,0.4622796,0.4535092,10.2165773,6.9682333,51.0246649,23.0564883,31.6789394,61.1809163,28.7531065,40.6653696,17.0150202,6.4611836,10.8980603,7.0447033,32.9835223,6.4903877 +2543,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5308147,0.4934873,8.3802251,5.5667203,43.3305192,22.5256674,30.2498992,64.9536477,31.5397017,43.7525191,16.2636034,5.2599758,9.4951234,6.7958357,35.7101617,5.4404145,0.7298258,0.7119559,9.0195327,5.9555726,43.6867665,22.9330709,30.7915058,65.3088803,30.6370656,43.6872587,16.6216216,5.03861,9.6590909,6.908793,35.1902174,5.0970874,0.6604565,0.6431554,8.9140104,5.948851,44.372549,22.190367,31.3648294,65.8230221,29.9025122,43.7007874,17.0041245,5.0431196,9.8492723,7.435628,36.1474124,6.5533981,0.7197357,0.7018402,9.0160796,5.9915773,45.147594,22.3601261,29.8915149,65.381635,29.4653235,43.4134057,16.7183262,4.668733,10.5161999,7.6859046,36.3611264,6.4903846,0.8435966,0.8250092,9.3362655,6.177529,44.4280908,22.602459,30.0402414,65.8551308,29.8390342,42.6760563,17.0422535,4.4064386,10.7541899,7.9199549,35.7862339,8.0097087 +2544,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7298258,0.7119559,9.0195327,5.9555726,43.6867665,22.9330709,30.7915058,65.3088803,30.6370656,43.6872587,16.6216216,5.03861,9.6590909,6.908793,35.1902174,5.0970874,0.6604565,0.6431554,8.9140104,5.948851,44.372549,22.190367,31.3648294,65.8230221,29.9025122,43.7007874,17.0041245,5.0431196,9.8492723,7.435628,36.1474124,6.5533981,0.7197357,0.7018402,9.0160796,5.9915773,45.147594,22.3601261,29.8915149,65.381635,29.4653235,43.4134057,16.7183262,4.668733,10.5161999,7.6859046,36.3611264,6.4903846,0.8435966,0.8250092,9.3362655,6.177529,44.4280908,22.602459,30.0402414,65.8551308,29.8390342,42.6760563,17.0422535,4.4064386,10.7541899,7.9199549,35.7862339,8.0097087,0.7484308,0.7609012,10.2507076,6.9753336,45.3676158,22.3902237,30.5150041,65.7137064,29.5823195,42.5587997,16.7680454,4.3187348,10.9036797,8.1693989,35.7954545,7.3232323 +2545,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6780107,1.6040982,30.7157254,26.5266903,65.6163938,13.0242047,32.2563556,64.4944753,28.9652887,38.8834924,17.2389859,2.5104869,16.7678223,13.4759264,38.7741502,17.164133,1.784678,1.7109277,29.3790066,25.2911346,64.5462042,13.4456402,32.8197224,64.9427286,30.0340103,39.8266979,17.7502686,2.5960443,16.7542231,13.1371288,39.726895,15.4411401,1.7696561,1.6644804,28.859638,24.5565542,64.4266799,13.5600625,32.5339366,64.4560868,29.948443,39.9942909,17.8673549,2.5221887,16.1007157,12.3376244,39.023173,16.7177811,1.8002537,1.7036724,28.7552185,24.4053355,64.8534533,14.2823476,31.782079,63.7599439,29.4249325,39.6684703,18.3664985,2.3359854,17.0329061,13.336153,40.5135783,15.3225783,1.74326,1.6953216,29.0941213,24.1993413,64.1507988,14.2338555,32.4508451,63.1624135,30.1713196,40.1063044,18.8597843,2.2149981,16.7729329,12.8419913,39.5096498,14.8692894 +2546,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.727103,0.7628817,11.9260447,8.5758121,35.9015168,11.1872327,30.5064729,65.6775436,34.1593916,45.9328645,19.0181845,3.2387255,11.0161297,8.9954128,29.8743686,8.0219727,0.7682719,0.809046,11.6316173,8.5384506,36.4476193,11.1030989,30.5053505,66.4012017,34.5200962,46.1959402,18.9350558,3.3105065,11.1930184,9.2404987,29.4724885,8.6999965,0.7635369,0.8036341,11.4746415,8.5759217,37.1416234,11.2127015,30.5673255,66.5047152,34.661123,47.0851823,19.2705827,3.2063637,11.4536425,9.5956495,29.7603303,9.772296,0.7372494,0.7607564,11.4647278,8.5970048,37.8440038,11.0535795,30.4382471,66.5803384,34.8849496,47.4545905,19.6879243,3.0255074,11.6751454,9.4037415,29.4733102,9.3466459,0.7289335,0.7425419,12.3111383,9.3978207,38.6374531,10.8734938,30.5636398,66.5050773,34.991661,47.0060906,19.7319545,2.9752015,11.7906865,9.7235464,29.6057669,10.0700543 +2547,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.184062,1.231298,20.9687197,16.7934899,42.0536791,19.1225493,38.7155308,65.6793467,38.6093887,47.314184,22.3885268,3.5987214,13.9489583,11.9212431,34.2664885,11.8925831,1.1214199,1.1619819,21.7119923,17.7848155,42.3777012,18.3882957,38.823185,66.1419219,38.2527357,46.7462157,22.5966488,3.7713856,14.5654013,12.327876,34.6369847,13.2575691,1.1479008,1.1884238,22.3595362,18.5188914,43.1395073,18.6866628,39.0349536,65.9903138,38.0887895,47.6135258,22.9920074,3.5849384,14.307422,12.2231845,34.2128127,13.1009375,1.1946921,1.224272,23.1095887,18.9869503,43.5927734,18.8273625,39.2217588,66.2793362,38.6460702,47.579962,23.0810344,3.3582041,14.8123809,11.8891744,33.1504959,11.2047979,1.1451215,1.1474145,23.4826485,19.4570592,43.9675317,18.467811,39.679352,66.3304489,38.1503547,47.2605603,22.8817244,3.4295998,14.820469,11.0551547,33.4581321,10.7888424 +2548,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5462209,0.5323246,8.3966036,5.4490534,48.7878269,13.7122037,25.0254877,70.1150172,32.0111143,46.2999926,15.9758185,4.7828791,12.2758356,11.6523015,31.5643629,4.9241566,0.5155956,0.5294513,8.338397,5.2572231,47.1393897,13.5759389,25.4305394,69.5730096,31.9114468,45.5059639,16.024889,4.5248903,11.4901309,10.6191489,30.6387317,4.1352637,0.5580181,0.5766977,7.7737745,4.929224,44.7186668,13.4104,24.9668289,68.6593522,31.6031341,44.7961794,15.0919602,4.7774208,12.1566005,11.4112822,31.0776383,4.2306879,0.5896881,0.6080248,8.1263994,5.1151824,43.4613257,13.1278953,24.663381,68.1386945,31.6481714,44.7155834,15.2060325,4.8070348,12.2455969,11.5324401,31.6180643,4.7100937,0.4565768,0.4747797,8.056648,5.0185977,41.8800103,12.7887074,25.2897984,68.5224436,31.8123076,44.8965239,15.134718,4.9407327,12.1036285,11.7079644,31.5360851,4.7444736 +2549,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6190379,1.6190379,19.6125041,15.5694009,84.6616109,13.1116274,33.9001488,61.7958321,36.6671279,40.6522136,19.6993561,5.5595772,14.1493355,13.0298988,38.2570145,12.7732872,1.7845498,1.7845498,19.5546477,15.6367182,85.4743046,13.3274519,32.7570053,63.0797052,36.7294007,39.46241,19.1614574,5.6933761,12.5008885,11.6146203,37.9281524,13.3539647,1.4223981,1.4846702,18.7595774,15.0805165,85.3984554,12.5256455,32.3495077,64.3312504,36.9604226,39.8741724,19.2760281,6.0642563,13.3116131,11.586066,37.8573785,13.4310274,1.2966052,1.3584922,19.5119611,15.3894062,85.2256079,12.6416686,32.2859609,63.6659083,36.5405492,38.901996,18.9951603,5.702315,13.7064424,11.6723025,37.5175744,14.4989546,1.1536573,1.215014,19.4899138,15.5318366,84.6424823,12.7779655,32.9593179,64.6174275,36.2558787,38.2045859,18.9190312,5.1417607,13.5522088,11.3125897,35.9182102,12.2040009 +2550,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9056347,1.9012565,30.7366391,25.4174092,71.3196634,14.9857231,33.8702221,63.9136188,27.446974,39.5358138,16.9745174,1.584272,17.0929805,13.0599931,41.9252976,21.865222,2.0464636,2.0421003,30.7323026,25.4085853,71.2173544,15.4307746,33.8424876,64.1234911,27.734481,40.706861,17.4527248,1.8829479,17.4372157,12.2683386,42.016642,21.3858629,1.9285225,1.90017,29.4429987,24.1189237,69.9584491,15.0203058,35.2002646,64.9394549,28.7316722,40.8763022,17.8821645,2.0863152,17.2162973,12.2154717,42.5155858,21.73659,1.777638,1.7493287,29.1423294,23.6827236,70.3073686,14.428784,35.3846925,65.4338144,27.8983897,40.0493872,17.6025628,2.3403001,17.4997566,11.9434062,44.594622,21.40869,1.7733777,1.7618099,29.0600207,23.9451667,69.6522726,14.4834148,34.8917287,66.7539722,28.5611454,40.0830651,18.2550892,2.5030911,16.9418471,10.7476616,43.0258885,20.9208599 +2551,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.9580962,0.9773962,13.32997,9.362669,45.9522677,11.6578777,31.1045843,66.0133483,40.9554006,43.7817921,23.4778595,4.5269151,10.1053757,8.5988182,40.0973656,9.3556259,1.0020319,1.0154868,13.8964381,9.7839884,45.9265148,11.6722741,31.0732873,65.6894178,40.7668974,43.5481792,23.3311577,4.5823559,10.2806257,8.7553034,39.9127757,9.3091198,0.947497,0.9707941,14.2737329,10.0742678,46.1080431,11.7697001,30.9425786,65.1655995,40.1633336,42.5733581,22.9536296,4.6103842,10.1978723,9.0856258,40.2308277,9.9004504,0.9965754,1.0125267,14.7532138,10.5289745,46.2850307,11.8775826,30.7921457,64.9647224,39.897939,42.4346135,22.3971658,4.4931297,10.1195329,8.882586,40.012577,10.3932681,0.9736286,0.9939667,15.0005459,10.9592699,46.3564836,11.851655,31.0040155,64.4639888,39.7233896,42.314371,22.4694162,4.4799618,10.1177141,8.8813684,40.0471092,10.4820735 +2552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4326034,1.4709855,23.5585273,18.8486131,46.7169131,15.5408555,40.9924894,67.6564562,39.5681103,50.8353029,30.5702588,4.144263,11.7142091,9.8067824,34.6646404,23.9542771,1.4315768,1.4503626,23.416286,19.0668969,46.1209916,15.0344144,41.3936224,67.2362167,39.1973578,51.2631056,30.1543147,4.4554841,12.0960499,10.5063122,34.834503,22.9214558,1.7951625,1.8633956,22.9846725,18.3894857,45.4954636,15.5469292,41.1436242,66.7214185,39.4104729,51.6428009,31.2946466,4.1891698,12.1240827,10.5135751,34.9158904,23.7005593,1.6378724,1.6315152,23.1926731,18.3824584,45.6506034,15.2512871,41.4305301,65.9903436,38.6859266,50.9381473,31.1939188,3.9898232,12.8037565,10.477903,35.022618,23.245453,1.6527549,1.6559724,23.1638525,18.1248704,46.3853773,15.700623,41.9494373,66.819473,39.0873082,50.4933944,31.1683007,4.5395452,12.8678336,10.119058,34.2553481,16.1621625 +2553,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3654145,1.4369518,26.7351174,22.843847,39.0123694,15.0076428,34.0411851,63.3560872,34.182849,45.327943,19.8354467,3.3357727,13.9462168,10.0553992,35.9915856,20.4871243,1.3173801,1.3857586,27.223223,23.3262211,39.6778012,14.9203228,34.5287781,62.9585958,32.9946989,44.9132752,18.9047422,3.1679193,13.6482835,9.795464,36.0287536,19.1057002,1.4499624,1.4848306,27.6668199,23.5799977,39.9640052,15.0675769,34.9013253,63.09455,33.2158414,44.8974209,18.8803705,3.2060516,13.5478582,9.7932216,36.173515,19.2408206,1.5389159,1.5725505,27.1279809,23.0432476,41.1699074,14.8566101,34.9405145,62.928795,32.7825577,44.6118568,18.7756681,3.1903909,13.7201263,10.1813226,37.1358693,19.3409668,1.6840654,1.7157536,27.5543068,23.5155297,41.7453256,15.2401672,34.8977575,61.7179848,32.5833091,44.8045539,18.5637618,3.1192453,14.1355617,10.1405631,36.3786596,20.7352253 +2554,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8439673,0.8439673,15.9184602,12.7051381,41.718435,18.0288264,32.8609095,65.6621924,36.8266879,48.4041781,20.4748651,4.5758102,13.9049241,10.0531849,28.0441647,11.1268558,0.9651216,0.9651216,15.4921364,12.3095061,42.757786,17.9893675,32.672091,65.573287,35.8306131,48.3019141,20.6477835,4.8397719,14.1046411,10.6758981,27.7257432,10.9926584,0.9107055,0.9237553,15.5850469,12.5159151,43.8924257,18.2001253,32.8037389,65.3837314,35.2002005,48.0742972,20.3196459,4.8708012,13.5294187,10.5009567,26.9272467,11.0258648,0.9025059,0.909059,15.7503933,12.8588862,45.0454013,17.7865433,33.1036415,65.3323073,35.0838719,47.4688181,20.0874325,4.9468325,13.0316293,10.3717161,26.9445419,12.4984724,0.8035985,0.8101081,15.7114085,12.5774736,44.8757888,17.4051727,33.2144081,64.6970545,34.7409882,47.0965894,20.3535168,4.780815,12.7551489,10.6308586,27.1865073,12.498548 +2555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.0591245,2.1001416,35.5158961,30.8063451,56.20733,11.2424207,39.091192,63.9676141,34.8903926,43.4000584,21.3253812,3.017907,18.2232722,12.653362,40.839216,19.8422682,2.2075038,2.2366109,36.0056791,31.0311256,56.5651879,10.6719523,39.1890868,63.5549266,34.6816171,43.4066109,20.6505449,2.8730106,18.2875364,13.4225146,40.2461474,20.2735719,2.2290376,2.2608529,35.9271186,30.9634242,57.4792336,10.1302024,38.5248336,63.3369688,34.706437,43.23985,20.2027975,2.8092457,17.9706927,14.1426558,40.511076,19.7345813,2.205053,2.2416714,35.4679876,30.2801616,57.232213,10.0786523,38.9271081,62.3503555,34.7487364,43.389726,19.9697048,2.4586994,18.0851298,14.028134,39.2228411,18.6738216,2.1056372,2.1097168,35.5411837,30.2030806,57.016586,9.9419737,38.8099048,62.1723746,34.368253,43.5326829,19.6392684,2.5159997,18.5156894,14.2964424,39.3236544,18.9245635 +2556,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9506713,1.0003499,17.4397133,14.1255482,74.1756725,8.4610872,27.0749885,63.2466862,28.698646,37.233118,14.6303388,5.4328214,13.728934,9.5588521,36.4041896,9.0507999,0.9368441,0.9827643,17.5633616,14.2773336,74.6140095,8.4196277,27.5684526,63.434021,28.6024417,37.3336127,14.6310425,5.383548,13.7602921,9.6233333,36.4449122,9.0590835,0.9763652,1.0175991,17.7098592,14.4405076,75.1719018,8.3925269,27.9766888,63.508164,28.1419007,37.5452243,14.7975288,5.4430059,14.0305599,9.5904857,36.2782102,9.3176778,0.9400678,0.9628661,17.7274343,14.3988416,75.6506894,8.4069443,28.0319008,63.5043565,28.0368012,37.1041256,14.6391878,5.5454142,14.0746186,9.4779647,36.2992813,9.2795364,0.9422958,0.9645676,18.1567494,14.7158142,76.2262776,8.1174687,28.0391001,63.5716463,27.948738,37.1036659,14.7042012,5.491194,14.3561876,9.8443005,37.063479,9.6648081 +2557,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9731446,1.9417153,35.1650661,29.9633514,51.5387628,19.1812117,38.0351919,64.8764643,34.1843042,46.1384306,20.7274666,3.5093983,14.5723659,12.3196374,34.0357576,28.1566596,2.0655007,2.0116889,34.1457297,29.089749,49.0765619,19.8635756,38.1798905,66.468056,35.4865064,47.2236038,20.6551187,3.7987772,13.1304366,12.09726,33.671219,27.1492831,1.9154936,1.8613906,34.6222649,29.4877612,50.0838704,19.362473,38.0281204,66.8546232,34.8893139,47.758139,20.5123299,3.9577753,12.8776152,11.6795354,33.7693369,24.2336476,1.8476081,1.7937986,34.6857621,29.6542716,48.8544584,18.8346157,38.9188626,67.6005749,35.2187329,48.4557533,20.9862683,3.7932318,12.190335,12.1377949,32.6579908,26.5127723,1.4458578,1.4458578,33.9489748,29.2383929,49.0854068,19.0102416,39.222007,68.1858207,36.1116527,49.3703606,22.3331154,4.0375439,10.7823699,12.0152097,31.8130417,24.7372916 +2558,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7682719,0.809046,11.6316173,8.5384506,36.4476193,11.1030989,30.5053505,66.4012017,34.5200962,46.1959402,18.9350558,3.3105065,11.1930184,9.2404987,29.4724885,8.6999965,0.7635369,0.8036341,11.4746415,8.5759217,37.1416234,11.2127015,30.5673255,66.5047152,34.661123,47.0851823,19.2705827,3.2063637,11.4536425,9.5956495,29.7603303,9.772296,0.7372494,0.7607564,11.4647278,8.5970048,37.8440038,11.0535795,30.4382471,66.5803384,34.8849496,47.4545905,19.6879243,3.0255074,11.6751454,9.4037415,29.4733102,9.3466459,0.7289335,0.7425419,12.3111383,9.3978207,38.6374531,10.8734938,30.5636398,66.5050773,34.991661,47.0060906,19.7319545,2.9752015,11.7906865,9.7235464,29.6057669,10.0700543,0.7446169,0.7579469,12.5181958,9.748464,39.0421697,10.84491,30.7385049,66.7383119,34.984448,47.0093969,19.3291458,2.97229,12.2410298,10.0442784,29.3471791,9.0983621 +2559,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8446798,0.8601692,13.6093726,9.7455101,44.5476326,19.1179907,33.7019632,61.0818786,32.7097552,44.1739107,19.8913347,6.6304458,10.7805336,8.2359605,34.2114489,8.6998437,0.8251938,0.858366,13.6054746,9.85649,45.0239106,19.6097436,33.5745903,61.7284547,32.8309657,44.6378415,19.9412359,6.620987,10.9050555,8.1211559,33.8007125,8.6995018,0.8970814,0.9330311,14.0448791,10.3782116,46.019557,19.3656857,33.2706471,62.1384991,33.0112878,44.3327731,19.8871729,6.5944767,11.1523859,8.3333346,33.7186112,8.6325054,0.9683807,0.9923242,14.1622976,10.6169235,46.8961337,19.5623591,32.7042755,62.9766486,33.1841807,44.0012972,19.9286625,6.2581081,11.0786939,8.1785462,33.4690456,8.7209439,0.9617202,0.9853162,14.2812279,10.6245305,47.5511012,19.2922515,32.617337,64.4075376,33.5278357,44.1972358,19.7294171,6.0720704,11.1923872,8.8063629,32.8600181,8.7732919 +2560,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1214199,1.1619819,21.7119923,17.7848155,42.3777012,18.3882957,38.823185,66.1419219,38.2527357,46.7462157,22.5966488,3.7713856,14.5654013,12.327876,34.6369847,13.2575691,1.1479008,1.1884238,22.3595362,18.5188914,43.1395073,18.6866628,39.0349536,65.9903138,38.0887895,47.6135258,22.9920074,3.5849384,14.307422,12.2231845,34.2128127,13.1009375,1.1946921,1.224272,23.1095887,18.9869503,43.5927734,18.8273625,39.2217588,66.2793362,38.6460702,47.579962,23.0810344,3.3582041,14.8123809,11.8891744,33.1504959,11.2047979,1.1451215,1.1474145,23.4826485,19.4570592,43.9675317,18.467811,39.679352,66.3304489,38.1503547,47.2605603,22.8817244,3.4295998,14.820469,11.0551547,33.4581321,10.7888424,1.1714999,1.1639628,23.8169308,19.7073499,44.616522,18.3159003,39.5005407,66.1317889,37.5026554,47.0881944,22.6248719,3.3687567,14.9322051,11.2106522,33.6047345,11.047798 +2561,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9651216,0.9651216,15.4921364,12.3095061,42.757786,17.9893675,32.672091,65.573287,35.8306131,48.3019141,20.6477835,4.8397719,14.1046411,10.6758981,27.7257432,10.9926584,0.9107055,0.9237553,15.5850469,12.5159151,43.8924257,18.2001253,32.8037389,65.3837314,35.2002005,48.0742972,20.3196459,4.8708012,13.5294187,10.5009567,26.9272467,11.0258648,0.9025059,0.909059,15.7503933,12.8588862,45.0454013,17.7865433,33.1036415,65.3323073,35.0838719,47.4688181,20.0874325,4.9468325,13.0316293,10.3717161,26.9445419,12.4984724,0.8035985,0.8101081,15.7114085,12.5774736,44.8757888,17.4051727,33.2144081,64.6970545,34.7409882,47.0965894,20.3535168,4.780815,12.7551489,10.6308586,27.1865073,12.498548,0.9007856,0.907333,15.8281542,12.709333,46.0004882,16.7075836,34.216201,64.8179789,34.7586838,47.0950754,20.7465453,5.0335251,13.179764,11.1778689,27.6145346,10.9681918 +2562,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0464636,2.0421003,30.7323026,25.4085853,71.2173544,15.4307746,33.8424876,64.1234911,27.734481,40.706861,17.4527248,1.8829479,17.4372157,12.2683386,42.016642,21.3858629,1.9285225,1.90017,29.4429987,24.1189237,69.9584491,15.0203058,35.2002646,64.9394549,28.7316722,40.8763022,17.8821645,2.0863152,17.2162973,12.2154717,42.5155858,21.73659,1.777638,1.7493287,29.1423294,23.6827236,70.3073686,14.428784,35.3846925,65.4338144,27.8983897,40.0493872,17.6025628,2.3403001,17.4997566,11.9434062,44.594622,21.40869,1.7733777,1.7618099,29.0600207,23.9451667,69.6522726,14.4834148,34.8917287,66.7539722,28.5611454,40.0830651,18.2550892,2.5030911,16.9418471,10.7476616,43.0258885,20.9208599,1.7124921,1.700971,28.2762642,23.7375606,70.5987902,14.7060461,35.185466,67.4054343,29.1825133,40.1881335,18.1654858,2.6835542,15.5286845,9.8835413,42.1556617,18.7551332 +2563,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.7831021,0.8135569,12.0284049,8.2709182,22.7491063,16.3907561,36.1068698,66.0551233,37.7816735,48.9418491,21.6885043,3.966203,11.4172534,10.3042844,32.7259285,9.2532882,0.8437412,0.8675702,12.4626843,8.2729338,23.1677899,16.5710275,36.0649697,65.2491012,36.989172,48.4404453,21.5523589,3.8772596,11.4618763,10.1284993,32.7354937,9.7597927,0.8710019,0.8999081,12.8258207,8.5258974,23.941136,16.6433638,35.8719403,65.1700037,36.7493807,48.7181369,21.4902764,3.73595,11.4534701,9.9018432,33.1166536,9.5833584,0.8402576,0.8831387,12.7094813,8.4983668,24.1844464,16.5062968,35.3260699,64.9421317,36.1730619,48.2001846,21.3791812,3.6490719,11.3143118,10.0985342,33.3497441,8.739255,0.856898,0.9106611,12.9527747,8.4499568,24.4588248,16.4018896,35.3921467,64.3580942,34.9955707,47.7452882,21.2911352,3.7676287,11.7465138,10.3396342,33.7981484,8.83233 +2564,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8399183,0.9793636,13.5836843,10.271563,25.7721512,20.0865722,35.6892012,67.4436019,39.6689466,48.1021325,23.0178101,3.3399013,13.5999896,12.4280874,38.851308,7.3664155,0.7710512,0.8916014,14.0028945,10.667877,25.8053701,19.7730312,35.0363114,68.0171815,39.6981313,47.9212291,23.0996257,3.3213102,13.4880718,11.7623372,38.8653025,7.5757998,0.8521769,0.9778609,14.0173715,10.5077663,25.7037808,20.0301314,34.1548049,67.5983978,39.2507985,46.9613943,22.2653651,3.1661542,13.8446867,11.499874,37.8844988,8.3851397,0.8411963,0.9588668,15.2621497,11.4220799,26.5760877,19.6859809,34.4383596,66.0718287,37.4915183,46.2095998,21.8507692,3.2341722,14.1675884,11.342638,36.8012187,9.6491587,0.8038456,0.88081,15.8394979,12.1943125,27.4156481,20.0301455,34.0327074,65.455358,36.7654949,44.5404546,21.0494737,2.9830023,14.3380817,11.7953844,36.30713,8.4795173 +2565,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.7268726,0.7391338,10.1321059,6.8394235,38.056543,16.6015616,30.1121138,69.7425885,38.2291688,46.8029847,21.1438643,3.7471464,9.5842086,7.9308902,33.4100445,10.5172232,0.6802212,0.687499,9.9940609,6.8109857,38.3168963,16.3906602,30.2238929,69.8769621,37.6058739,46.5005996,21.571196,3.9834628,9.3341415,7.534794,33.3399694,9.5317534,0.6795521,0.6893425,10.0116886,6.7361968,38.3197606,16.2020551,30.6210223,69.8981579,37.7096467,46.9348922,21.2360247,3.9836304,9.5728262,8.0802163,33.4955154,10.8695696,0.6523959,0.654979,10.0636716,6.8409777,38.3540986,16.2983959,31.066158,70.2764121,38.2329508,46.8213166,21.0167879,3.9782871,9.3738143,7.6908274,33.224817,11.6242098,0.6497783,0.6567813,9.9447972,6.9185326,38.6359207,15.8386312,30.4750082,70.0506285,38.1837479,47.0994723,21.2867439,3.980928,9.1335343,8.0444563,33.9305699,10.5345746 +2566,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5155956,0.5294513,8.338397,5.2572231,47.1393897,13.5759389,25.4305394,69.5730096,31.9114468,45.5059639,16.024889,4.5248903,11.4901309,10.6191489,30.6387317,4.1352637,0.5580181,0.5766977,7.7737745,4.929224,44.7186668,13.4104,24.9668289,68.6593522,31.6031341,44.7961794,15.0919602,4.7774208,12.1566005,11.4112822,31.0776383,4.2306879,0.5896881,0.6080248,8.1263994,5.1151824,43.4613257,13.1278953,24.663381,68.1386945,31.6481714,44.7155834,15.2060325,4.8070348,12.2455969,11.5324401,31.6180643,4.7100937,0.4565768,0.4747797,8.056648,5.0185977,41.8800103,12.7887074,25.2897984,68.5224436,31.8123076,44.8965239,15.134718,4.9407327,12.1036285,11.7079644,31.5360851,4.7444736,0.4887805,0.5010901,8.3778773,5.2533106,40.7326742,12.5972906,25.5620506,68.3925383,32.6216993,44.3615432,15.0119652,4.6998593,11.8400404,11.9860979,31.1380662,4.0145546 +2567,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6604565,0.6431554,8.9140104,5.948851,44.372549,22.190367,31.3648294,65.8230221,29.9025122,43.7007874,17.0041245,5.0431196,9.8492723,7.435628,36.1474124,6.5533981,0.7197357,0.7018402,9.0160796,5.9915773,45.147594,22.3601261,29.8915149,65.381635,29.4653235,43.4134057,16.7183262,4.668733,10.5161999,7.6859046,36.3611264,6.4903846,0.8435966,0.8250092,9.3362655,6.177529,44.4280908,22.602459,30.0402414,65.8551308,29.8390342,42.6760563,17.0422535,4.4064386,10.7541899,7.9199549,35.7862339,8.0097087,0.7484308,0.7609012,10.2507076,6.9753336,45.3676158,22.3902237,30.5150041,65.7137064,29.5823195,42.5587997,16.7680454,4.3187348,10.9036797,8.1693989,35.7954545,7.3232323,0.746611,0.771184,11.3437002,7.6355662,46.8527067,22.8145425,30.6908946,65.1158147,29.293131,42.3921725,16.6333866,3.9337061,10.7124682,8.0976864,35.4961832,6.8527919 +2568,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3173801,1.3857586,27.223223,23.3262211,39.6778012,14.9203228,34.5287781,62.9585958,32.9946989,44.9132752,18.9047422,3.1679193,13.6482835,9.795464,36.0287536,19.1057002,1.4499624,1.4848306,27.6668199,23.5799977,39.9640052,15.0675769,34.9013253,63.09455,33.2158414,44.8974209,18.8803705,3.2060516,13.5478582,9.7932216,36.173515,19.2408206,1.5389159,1.5725505,27.1279809,23.0432476,41.1699074,14.8566101,34.9405145,62.928795,32.7825577,44.6118568,18.7756681,3.1903909,13.7201263,10.1813226,37.1358693,19.3409668,1.6840654,1.7157536,27.5543068,23.5155297,41.7453256,15.2401672,34.8977575,61.7179848,32.5833091,44.8045539,18.5637618,3.1192453,14.1355617,10.1405631,36.3786596,20.7352253,1.4826655,1.5107886,28.1537097,24.2541981,43.7350109,15.292235,35.7834773,62.1572705,32.0409682,44.7933052,18.6018826,2.9346266,14.2225723,10.3847342,36.015574,17.7468339 +2569,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4315768,1.4503626,23.416286,19.0668969,46.1209916,15.0344144,41.3936224,67.2362167,39.1973578,51.2631056,30.1543147,4.4554841,12.0960499,10.5063122,34.834503,22.9214558,1.7951625,1.8633956,22.9846725,18.3894857,45.4954636,15.5469292,41.1436242,66.7214185,39.4104729,51.6428009,31.2946466,4.1891698,12.1240827,10.5135751,34.9158904,23.7005593,1.6378724,1.6315152,23.1926731,18.3824584,45.6506034,15.2512871,41.4305301,65.9903436,38.6859266,50.9381473,31.1939188,3.9898232,12.8037565,10.477903,35.022618,23.245453,1.6527549,1.6559724,23.1638525,18.1248704,46.3853773,15.700623,41.9494373,66.819473,39.0873082,50.4933944,31.1683007,4.5395452,12.8678336,10.119058,34.2553481,16.1621625,1.6608824,1.7225805,23.9492049,19.334097,45.0005549,16.2779007,42.444164,66.9368708,39.7978614,51.17426,30.8589712,4.4241419,11.673904,9.0136045,32.3592572,15.5979303 +2570,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7630632,0.7878999,11.5786449,7.4900961,25.5478037,14.109359,30.157993,67.8929449,40.6269073,48.4614767,21.2286284,7.3727158,10.2371786,9.2863682,34.313715,8.0110122,0.8371178,0.8691402,11.5237097,7.6661307,25.1354075,14.6242462,30.1684233,67.9565108,40.2189796,47.2208628,20.9553801,7.7891837,10.6023731,9.497927,34.9761768,9.2178418,0.7096643,0.7636085,12.245038,8.2218997,25.4741104,14.3986518,30.516739,67.3256467,40.1290754,47.3202729,20.7755515,8.1565839,10.4438075,9.7464655,33.3217389,9.0205856,0.8014133,0.8411834,12.6790247,8.5349308,25.4167575,14.0459657,30.3868089,67.4060084,40.4460007,47.5609001,20.6656862,8.3364557,11.1080412,9.459818,32.734073,9.6353847,0.8312468,0.8500403,12.7484533,8.6966526,25.9147032,13.9861975,30.4994024,67.2391995,40.2341446,46.6625919,20.8730406,8.2206365,10.6715182,9.7012128,33.9189163,10.8938171 +2571,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3383378,0.3375836,9.8251045,5.8127602,49.3378808,21.6277457,30.7388234,60.6701,29.1924343,41.3573821,17.164947,6.5120308,10.3321931,6.5131282,32.4742313,5.5555556,0.3391277,0.358721,9.6160233,5.9086428,49.5506531,21.940147,31.3845589,60.8313923,28.8671709,40.7585191,17.0420699,6.4756578,10.6507499,6.5320699,32.1512519,6.7099567,0.3474496,0.3467138,9.7278416,6.3004187,49.6860008,22.6809902,31.5992755,61.3082709,29.8260952,40.8331474,17.4808087,6.6744932,10.6285949,6.7298623,32.249644,6.8075117,0.4622796,0.4535092,10.2165773,6.9682333,51.0246649,23.0564883,31.6789394,61.1809163,28.7531065,40.6653696,17.0150202,6.4611836,10.8980603,7.0447033,32.9835223,6.4903877,0.5156285,0.5069056,10.4979298,7.1553114,52.2081788,24.3603871,32.10206,60.1631673,28.4946849,40.704227,16.5626532,6.3649175,11.2064945,7.223559,33.9637047,6.8720412 +2572,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9981503,1.0249177,16.4726986,12.3750124,53.2324782,12.2991627,30.080189,64.6906579,34.841556,41.2458358,18.7258886,4.5664265,12.5172864,10.396628,33.7409373,14.6969697,0.9772143,1.025331,17.0493289,13.193895,53.5712107,12.6433292,30.2913418,65.6515632,35.6341406,41.4174965,18.4989817,4.3897693,12.8646133,10.8214683,33.8584789,13.9254221,1.0648986,1.1406124,17.4706873,13.469593,53.9028153,12.2531473,30.6873099,66.3382676,35.6206945,40.6869949,18.4703007,4.3173948,13.3364309,11.6137819,34.4160612,14.3529937,1.1002983,1.1947341,17.8071478,13.8149183,54.5770151,12.3999589,30.8094222,66.4254012,35.8088273,40.3636142,18.4063678,4.2811023,13.1290512,11.3855476,34.2295184,13.7588059,1.1531021,1.2429776,18.0163168,13.8938448,55.8837076,12.0791427,31.573215,66.2408594,35.1273576,40.3520241,18.0104311,4.3056942,13.4406817,11.1802983,34.4927061,13.3831076 +2573,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8437412,0.8675702,12.4626843,8.2729338,23.1677899,16.5710275,36.0649697,65.2491012,36.989172,48.4404453,21.5523589,3.8772596,11.4618763,10.1284993,32.7354937,9.7597927,0.8710019,0.8999081,12.8258207,8.5258974,23.941136,16.6433638,35.8719403,65.1700037,36.7493807,48.7181369,21.4902764,3.73595,11.4534701,9.9018432,33.1166536,9.5833584,0.8402576,0.8831387,12.7094813,8.4983668,24.1844464,16.5062968,35.3260699,64.9421317,36.1730619,48.2001846,21.3791812,3.6490719,11.3143118,10.0985342,33.3497441,8.739255,0.856898,0.9106611,12.9527747,8.4499568,24.4588248,16.4018896,35.3921467,64.3580942,34.9955707,47.7452882,21.2911352,3.7676287,11.7465138,10.3396342,33.7981484,8.83233,0.8435173,0.8950856,13.2728509,8.7462168,25.348308,16.1033495,35.3775566,64.3023519,34.7083004,47.6284189,21.409864,3.7028964,11.9449781,9.982809,33.7745201,8.5507147 +2574,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3391277,0.358721,9.6160233,5.9086428,49.5506531,21.940147,31.3845589,60.8313923,28.8671709,40.7585191,17.0420699,6.4756578,10.6507499,6.5320699,32.1512519,6.7099567,0.3474496,0.3467138,9.7278416,6.3004187,49.6860008,22.6809902,31.5992755,61.3082709,29.8260952,40.8331474,17.4808087,6.6744932,10.6285949,6.7298623,32.249644,6.8075117,0.4622796,0.4535092,10.2165773,6.9682333,51.0246649,23.0564883,31.6789394,61.1809163,28.7531065,40.6653696,17.0150202,6.4611836,10.8980603,7.0447033,32.9835223,6.4903877,0.5156285,0.5069056,10.4979298,7.1553114,52.2081788,24.3603871,32.10206,60.1631673,28.4946849,40.704227,16.5626532,6.3649175,11.2064945,7.223559,33.9637047,6.8720412,0.6870327,0.6977337,11.1637124,7.8689315,54.3159088,23.5727584,32.4197806,60.1083872,28.1948966,40.1362679,16.567779,6.1627289,11.3768422,7.1558665,34.6033684,9.3181861 +2575,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9368441,0.9827643,17.5633616,14.2773336,74.6140095,8.4196277,27.5684526,63.434021,28.6024417,37.3336127,14.6310425,5.383548,13.7602921,9.6233333,36.4449122,9.0590835,0.9763652,1.0175991,17.7098592,14.4405076,75.1719018,8.3925269,27.9766888,63.508164,28.1419007,37.5452243,14.7975288,5.4430059,14.0305599,9.5904857,36.2782102,9.3176778,0.9400678,0.9628661,17.7274343,14.3988416,75.6506894,8.4069443,28.0319008,63.5043565,28.0368012,37.1041256,14.6391878,5.5454142,14.0746186,9.4779647,36.2992813,9.2795364,0.9422958,0.9645676,18.1567494,14.7158142,76.2262776,8.1174687,28.0391001,63.5716463,27.948738,37.1036659,14.7042012,5.491194,14.3561876,9.8443005,37.063479,9.6648081,0.9783996,0.9898469,18.2803015,14.9361121,76.7667212,8.2630038,28.1649363,63.7852163,28.2592481,37.3104815,14.519936,5.7159467,14.4850662,9.9553866,37.0573558,9.4718153 +2576,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8251938,0.858366,13.6054746,9.85649,45.0239106,19.6097436,33.5745903,61.7284547,32.8309657,44.6378415,19.9412359,6.620987,10.9050555,8.1211559,33.8007125,8.6995018,0.8970814,0.9330311,14.0448791,10.3782116,46.019557,19.3656857,33.2706471,62.1384991,33.0112878,44.3327731,19.8871729,6.5944767,11.1523859,8.3333346,33.7186112,8.6325054,0.9683807,0.9923242,14.1622976,10.6169235,46.8961337,19.5623591,32.7042755,62.9766486,33.1841807,44.0012972,19.9286625,6.2581081,11.0786939,8.1785462,33.4690456,8.7209439,0.9617202,0.9853162,14.2812279,10.6245305,47.5511012,19.2922515,32.617337,64.4075376,33.5278357,44.1972358,19.7294171,6.0720704,11.1923872,8.8063629,32.8600181,8.7732919,0.9652315,0.9886599,14.2156875,10.6912401,48.9158655,19.6200922,32.2011395,64.9525585,34.2251823,43.6875467,19.614167,6.2555349,11.3919922,8.9125218,33.1902187,8.2481752 +2577,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6648024,1.6648024,34.9557522,30.3539823,65.9554731,8.1834532,37.9528986,66.2137681,29.2572464,45.3804348,20.7427536,7.8804348,15.2877698,11.3309353,37.1376812,18.1481481,2.0299517,2.0299517,34.5238095,30.6776557,65.9351145,8.4259259,36.4564007,65.3988868,29.9628942,45.1762523,20.5009276,7.8849722,16.3003663,11.9047619,36.2132353,18.8461538,2.4280576,2.4280576,33.5538752,29.2060491,66.2324649,8.07393,36.4257812,64.3554687,29.1992188,44.8242188,19.6289062,7.3242187,16.4092664,12.9343629,36.627907,16.9291339,3.1269398,3.1269398,32.5831703,28.2778865,67.7385892,7.3293173,35.5983773,63.1845842,28.7018256,43.9148073,18.7626775,7.8093306,16.9201521,15.0190114,38.740458,16.4,3.0616943,3.0616943,33.8178295,30.1356589,69.2386831,7.6693227,36.3179074,63.6820926,29.2756539,45.3722334,17.806841,7.7464789,13.8257576,13.8257576,39.7338403,17.0833333 +2578,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8371178,0.8691402,11.5237097,7.6661307,25.1354075,14.6242462,30.1684233,67.9565108,40.2189796,47.2208628,20.9553801,7.7891837,10.6023731,9.497927,34.9761768,9.2178418,0.7096643,0.7636085,12.245038,8.2218997,25.4741104,14.3986518,30.516739,67.3256467,40.1290754,47.3202729,20.7755515,8.1565839,10.4438075,9.7464655,33.3217389,9.0205856,0.8014133,0.8411834,12.6790247,8.5349308,25.4167575,14.0459657,30.3868089,67.4060084,40.4460007,47.5609001,20.6656862,8.3364557,11.1080412,9.459818,32.734073,9.6353847,0.8312468,0.8500403,12.7484533,8.6966526,25.9147032,13.9861975,30.4994024,67.2391995,40.2341446,46.6625919,20.8730406,8.2206365,10.6715182,9.7012128,33.9189163,10.8938171,0.8371631,0.8546972,13.1276545,8.8945835,26.3786772,13.8982216,31.6557215,65.8835424,38.5155794,46.149027,20.7545628,8.1044985,10.8412545,9.3031272,33.7463916,9.7499695 +2579,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6657058,0.6631333,13.9276805,10.545975,49.0084007,17.6874729,32.4854392,63.1933274,30.6571564,41.2033021,18.1615731,4.3360372,10.6940796,8.3612196,31.639131,7.9752482,0.6334656,0.6507214,13.8185091,10.4170357,49.8723833,17.3804841,32.5363314,64.1062804,30.6290008,41.3091013,18.1111559,4.2523394,10.6512608,8.4360563,31.7871445,8.3135354,0.7268376,0.7473512,14.3184371,10.7485981,50.7252365,17.5797432,32.2893335,65.4332362,31.4711227,41.6770174,18.4497354,4.1766208,11.5337649,9.1309533,31.914514,7.941252,0.6833994,0.7044598,14.4821838,10.9785243,51.6266348,17.7894486,31.8315767,66.187818,31.7356005,41.6426284,18.2397514,4.2163923,11.6286451,9.5511255,31.7174929,8.310188,0.6954471,0.6932804,14.3817833,11.0501831,52.0109718,18.0763021,32.1692913,66.6749472,32.1961339,41.7084787,18.5020431,4.1571083,11.7629849,9.5090792,31.7318026,8.1771241 +2580,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4499624,1.4848306,27.6668199,23.5799977,39.9640052,15.0675769,34.9013253,63.09455,33.2158414,44.8974209,18.8803705,3.2060516,13.5478582,9.7932216,36.173515,19.2408206,1.5389159,1.5725505,27.1279809,23.0432476,41.1699074,14.8566101,34.9405145,62.928795,32.7825577,44.6118568,18.7756681,3.1903909,13.7201263,10.1813226,37.1358693,19.3409668,1.6840654,1.7157536,27.5543068,23.5155297,41.7453256,15.2401672,34.8977575,61.7179848,32.5833091,44.8045539,18.5637618,3.1192453,14.1355617,10.1405631,36.3786596,20.7352253,1.4826655,1.5107886,28.1537097,24.2541981,43.7350109,15.292235,35.7834773,62.1572705,32.0409682,44.7933052,18.6018826,2.9346266,14.2225723,10.3847342,36.015574,17.7468339,1.4672963,1.5092001,29.5243414,25.2272618,45.7246478,15.3814424,35.9230555,61.5298603,31.4673408,44.8626607,18.5065627,2.9502669,13.9606784,10.524292,35.7905024,19.0961447 +2581,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6313117,0.6378859,10.7300378,7.1552933,47.8411985,13.5396874,29.5311769,62.8839006,29.7754777,39.8732013,16.6530929,13.8727325,12.2745112,8.831482,37.126929,4.9251864,0.6298789,0.6467967,11.1816065,7.4097788,49.1489356,13.5594229,28.7905282,63.278517,29.9451829,39.6955941,16.2642855,13.908328,12.6041498,9.0224965,37.2525017,5.7159347,0.6930434,0.6983676,11.6415323,7.8944315,49.8313056,13.3423309,29.4687412,63.6063084,29.9211191,39.8851669,16.3612079,13.7049071,13.0247126,9.5429672,37.5275821,5.8011043,0.6555507,0.66084,11.5194382,7.9192528,50.658992,13.2766382,28.9233774,64.4299549,30.3773343,40.047315,16.2416311,13.8645297,12.9052814,9.569775,37.4177677,6.0622305,0.6351283,0.6351283,11.5145691,8.0359141,51.2453702,13.4524315,28.578727,64.8711537,30.5880311,40.1464443,16.352592,14.048134,13.0610246,10.0059394,37.6062512,5.1810855 +2582,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7845498,1.7845498,19.5546477,15.6367182,85.4743046,13.3274519,32.7570053,63.0797052,36.7294007,39.46241,19.1614574,5.6933761,12.5008885,11.6146203,37.9281524,13.3539647,1.4223981,1.4846702,18.7595774,15.0805165,85.3984554,12.5256455,32.3495077,64.3312504,36.9604226,39.8741724,19.2760281,6.0642563,13.3116131,11.586066,37.8573785,13.4310274,1.2966052,1.3584922,19.5119611,15.3894062,85.2256079,12.6416686,32.2859609,63.6659083,36.5405492,38.901996,18.9951603,5.702315,13.7064424,11.6723025,37.5175744,14.4989546,1.1536573,1.215014,19.4899138,15.5318366,84.6424823,12.7779655,32.9593179,64.6174275,36.2558787,38.2045859,18.9190312,5.1417607,13.5522088,11.3125897,35.9182102,12.2040009,1.2156684,1.2777901,19.4971043,15.4832207,84.4636124,12.9818767,32.975739,65.9977769,36.1760547,38.1453873,19.3293146,5.1979209,13.8155617,11.5709247,36.7994519,13.1160582 +2583,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4483604,0.4708346,9.9591442,6.605406,36.3705285,22.4383752,31.1011044,62.9430989,29.1255279,42.8675064,16.2260372,7.5392184,11.2095117,8.6187241,34.1201206,6.1258075,0.5308456,0.5657667,10.6167252,6.9162949,37.5423893,22.9762428,30.8987128,62.895242,29.1422912,43.2523284,16.0567979,7.625875,10.9872357,8.2103523,33.6323746,5.8729972,0.5364199,0.5441742,11.0074109,7.1555682,38.7212036,23.1855682,30.9158149,62.319103,29.2319336,42.348583,15.9084161,7.2230427,11.0671339,8.0418463,32.9116197,5.9815767,0.5403665,0.5616016,10.7121965,7.1365894,39.8803866,23.7361867,30.6938042,63.5099987,28.9373822,42.2862863,15.3834872,7.5965886,11.2695439,8.4088419,32.5967948,5.425204,0.5829931,0.5950776,10.5911405,6.9110552,41.0811516,23.7426431,30.0785621,64.5082068,28.9435528,41.6035677,15.2357227,7.3486463,11.7803173,8.9843789,33.231084,5.477505 +2584,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7951625,1.8633956,22.9846725,18.3894857,45.4954636,15.5469292,41.1436242,66.7214185,39.4104729,51.6428009,31.2946466,4.1891698,12.1240827,10.5135751,34.9158904,23.7005593,1.6378724,1.6315152,23.1926731,18.3824584,45.6506034,15.2512871,41.4305301,65.9903436,38.6859266,50.9381473,31.1939188,3.9898232,12.8037565,10.477903,35.022618,23.245453,1.6527549,1.6559724,23.1638525,18.1248704,46.3853773,15.700623,41.9494373,66.819473,39.0873082,50.4933944,31.1683007,4.5395452,12.8678336,10.119058,34.2553481,16.1621625,1.6608824,1.7225805,23.9492049,19.334097,45.0005549,16.2779007,42.444164,66.9368708,39.7978614,51.17426,30.8589712,4.4241419,11.673904,9.0136045,32.3592572,15.5979303,1.8723496,1.9345341,23.9012285,19.5854182,44.5476548,14.9997609,41.7154583,66.8785729,40.7478299,52.3716474,31.2390705,4.3694639,11.8453746,8.1103958,30.618664,18.2324431 +2585,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7284565,1.7400791,25.3377664,20.4283242,54.4908804,15.9583464,39.5866055,64.8216664,36.9811699,46.3943274,22.3569258,3.6306565,13.2970056,10.7690722,34.3966343,17.5471698,1.6567518,1.6375682,24.9976182,19.9233889,54.0892221,15.9311757,40.843496,64.9322252,37.15849,46.5154234,23.0696125,3.6587477,13.4584239,11.1397609,34.6271972,17.0329546,1.6994976,1.6446769,24.9351749,20.0001214,54.563895,15.8537303,42.0608732,66.2145193,37.5649571,46.0942739,22.8030776,3.9597317,13.7953117,10.7296928,34.5889639,17.8571227,1.6874936,1.663398,25.0462995,19.9801529,55.3780065,15.8256356,42.0410658,66.4483735,36.8534316,45.4970579,23.0744311,3.8518973,13.1817202,10.7464351,34.9587338,18.3071437,1.7001876,1.6761154,25.2546172,20.2898138,53.9846197,16.6679138,41.5800722,65.1908894,35.9648633,45.1462322,22.8470414,4.1725143,12.2128582,10.1428421,34.6006864,17.1487875 +2586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6334656,0.6507214,13.8185091,10.4170357,49.8723833,17.3804841,32.5363314,64.1062804,30.6290008,41.3091013,18.1111559,4.2523394,10.6512608,8.4360563,31.7871445,8.3135354,0.7268376,0.7473512,14.3184371,10.7485981,50.7252365,17.5797432,32.2893335,65.4332362,31.4711227,41.6770174,18.4497354,4.1766208,11.5337649,9.1309533,31.914514,7.941252,0.6833994,0.7044598,14.4821838,10.9785243,51.6266348,17.7894486,31.8315767,66.187818,31.7356005,41.6426284,18.2397514,4.2163923,11.6286451,9.5511255,31.7174929,8.310188,0.6954471,0.6932804,14.3817833,11.0501831,52.0109718,18.0763021,32.1692913,66.6749472,32.1961339,41.7084787,18.5020431,4.1571083,11.7629849,9.5090792,31.7318026,8.1771241,0.7102743,0.7240316,14.5616417,11.1175833,52.9058154,17.842008,31.7333285,66.9642023,31.8637288,41.5639747,18.7579293,4.1010579,11.7455548,9.2002811,31.2324546,7.465515 +2587,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.784678,1.7109277,29.3790066,25.2911346,64.5462042,13.4456402,32.8197224,64.9427286,30.0340103,39.8266979,17.7502686,2.5960443,16.7542231,13.1371288,39.726895,15.4411401,1.7696561,1.6644804,28.859638,24.5565542,64.4266799,13.5600625,32.5339366,64.4560868,29.948443,39.9942909,17.8673549,2.5221887,16.1007157,12.3376244,39.023173,16.7177811,1.8002537,1.7036724,28.7552185,24.4053355,64.8534533,14.2823476,31.782079,63.7599439,29.4249325,39.6684703,18.3664985,2.3359854,17.0329061,13.336153,40.5135783,15.3225783,1.74326,1.6953216,29.0941213,24.1993413,64.1507988,14.2338555,32.4508451,63.1624135,30.1713196,40.1063044,18.8597843,2.2149981,16.7729329,12.8419913,39.5096498,14.8692894,1.8140517,1.7710103,29.5470185,24.1158537,63.9799541,14.1527623,33.1627057,63.0702848,30.068706,40.9431552,18.6203078,2.3518079,16.3745291,12.3567147,41.1394071,13.8796135 +2588,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.554371,1.5461611,27.2719357,21.2166244,47.8129178,13.0551476,38.8552798,66.8924993,34.5872166,48.931695,25.5180446,5.7200089,15.0468657,12.2509538,33.6264739,20.3247767,1.5221876,1.5134898,26.9534936,21.1741025,47.5437626,13.3314163,37.7640748,67.4019049,34.7747883,48.2241865,24.5635845,5.3858662,14.3468472,12.1639291,33.9240011,20.452008,1.4928467,1.4126088,26.741526,20.9720527,46.9307973,13.4181069,38.9076262,65.9812925,35.4748504,48.4793308,25.2099053,5.4844472,14.8541009,12.1993797,33.5211892,18.7463017,1.7405061,1.7248456,27.5126639,21.6198015,48.1631717,13.1736427,38.7100357,65.4909754,35.0718717,48.4064147,25.5049352,5.4750446,15.612498,12.7049638,34.1957375,18.9116819,1.6134522,1.5780904,26.6648253,20.8780642,46.5453958,12.4603311,38.474031,66.0076712,35.3149948,48.7418235,25.429565,5.1979699,16.2831834,13.3289135,36.031666,18.9116819 +2589,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8144658,0.8376017,17.2594398,14.0953757,58.1099109,13.3410626,26.9343425,66.0448167,29.8565602,42.0418611,13.8485486,4.8244523,14.0763706,11.7635667,30.6186848,8.3481464,0.8184939,0.8552641,17.6034073,14.4360231,59.0481206,13.4674931,27.2344769,66.2584984,30.1304241,41.9467225,13.9166999,4.7640105,14.2367372,11.1931991,30.1486761,8.3046687,0.8792837,0.9353223,17.6334856,14.3256121,59.7468867,13.5303043,27.2402347,66.3389537,29.537068,41.6652201,13.8072223,5.037409,14.0581973,10.6543523,30.510585,9.8184073,0.8571643,0.9052268,18.2125253,14.8395037,60.4831175,13.9754177,27.6310692,65.7271673,29.4702856,41.0677854,14.0242103,5.1004784,14.2196338,10.8502423,31.7195447,9.0689404,0.8776239,0.9248742,18.0570304,14.794566,61.1536804,13.9033887,27.5363332,65.4103808,29.1074295,41.1248303,13.881023,5.055974,14.3558033,10.4899104,31.2903441,9.0693229 +2590,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5389159,1.5725505,27.1279809,23.0432476,41.1699074,14.8566101,34.9405145,62.928795,32.7825577,44.6118568,18.7756681,3.1903909,13.7201263,10.1813226,37.1358693,19.3409668,1.6840654,1.7157536,27.5543068,23.5155297,41.7453256,15.2401672,34.8977575,61.7179848,32.5833091,44.8045539,18.5637618,3.1192453,14.1355617,10.1405631,36.3786596,20.7352253,1.4826655,1.5107886,28.1537097,24.2541981,43.7350109,15.292235,35.7834773,62.1572705,32.0409682,44.7933052,18.6018826,2.9346266,14.2225723,10.3847342,36.015574,17.7468339,1.4672963,1.5092001,29.5243414,25.2272618,45.7246478,15.3814424,35.9230555,61.5298603,31.4673408,44.8626607,18.5065627,2.9502669,13.9606784,10.524292,35.7905024,19.0961447,1.5591412,1.5848058,29.8736793,25.2658371,46.7360156,15.8283157,36.5023755,61.770542,31.5049172,44.4134105,18.7953282,2.9407104,14.1291843,10.6735668,36.0827399,20.2548729 +2591,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3641026,2.3860472,34.7425138,29.4987239,52.4881714,13.9108298,36.265094,62.0004507,29.143966,42.4191839,20.1179644,3.3847462,14.2162382,9.7469231,44.8390758,23.3634244,2.3333136,2.3549898,36.8658077,31.8238469,53.821329,14.2605159,37.0840858,61.324897,28.7487271,41.8967906,19.6350248,3.2942778,14.4076489,10.1558246,44.1258068,23.4716093,2.4251937,2.4464119,37.5761701,32.3970941,54.7891404,14.2148596,36.6638258,61.7536599,28.5176232,41.4091412,19.8466761,3.1433409,15.0273751,10.2564135,44.9543055,24.8958281,2.5041393,2.5262977,37.8217492,32.804446,56.7337663,14.2123307,36.2081884,62.1740475,28.5624554,41.8452993,18.9391976,3.3264368,14.7015983,10.31629,44.4726544,24.5951364,2.5459352,2.5905474,38.3842088,33.5945992,58.5671998,14.45348,35.3610408,62.0761099,29.0280011,41.7336439,18.6590519,3.1614642,14.715095,9.9868625,43.9103721,25.7281415 +2592,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.0020319,1.0154868,13.8964381,9.7839884,45.9265148,11.6722741,31.0732873,65.6894178,40.7668974,43.5481792,23.3311577,4.5823559,10.2806257,8.7553034,39.9127757,9.3091198,0.947497,0.9707941,14.2737329,10.0742678,46.1080431,11.7697001,30.9425786,65.1655995,40.1633336,42.5733581,22.9536296,4.6103842,10.1978723,9.0856258,40.2308277,9.9004504,0.9965754,1.0125267,14.7532138,10.5289745,46.2850307,11.8775826,30.7921457,64.9647224,39.897939,42.4346135,22.3971658,4.4931297,10.1195329,8.882586,40.012577,10.3932681,0.9736286,0.9939667,15.0005459,10.9592699,46.3564836,11.851655,31.0040155,64.4639888,39.7233896,42.314371,22.4694162,4.4799618,10.1177141,8.8813684,40.0471092,10.4820735,0.9671638,1.007116,15.7731311,11.7111859,46.8505119,11.604015,31.920069,63.6890605,38.867116,42.1645539,22.0534446,4.3857263,10.4180907,8.8683953,40.1463836,12.0143116 +2593,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6378724,1.6315152,23.1926731,18.3824584,45.6506034,15.2512871,41.4305301,65.9903436,38.6859266,50.9381473,31.1939188,3.9898232,12.8037565,10.477903,35.022618,23.245453,1.6527549,1.6559724,23.1638525,18.1248704,46.3853773,15.700623,41.9494373,66.819473,39.0873082,50.4933944,31.1683007,4.5395452,12.8678336,10.119058,34.2553481,16.1621625,1.6608824,1.7225805,23.9492049,19.334097,45.0005549,16.2779007,42.444164,66.9368708,39.7978614,51.17426,30.8589712,4.4241419,11.673904,9.0136045,32.3592572,15.5979303,1.8723496,1.9345341,23.9012285,19.5854182,44.5476548,14.9997609,41.7154583,66.8785729,40.7478299,52.3716474,31.2390705,4.3694639,11.8453746,8.1103958,30.618664,18.2324431,1.8449033,1.9067627,24.9397098,20.1442606,45.1616156,15.4346003,41.7106921,65.9182605,40.4088396,51.8997015,30.4328992,4.3512807,11.9539362,8.2395958,31.8772668,18.096341 +2594,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6567518,1.6375682,24.9976182,19.9233889,54.0892221,15.9311757,40.843496,64.9322252,37.15849,46.5154234,23.0696125,3.6587477,13.4584239,11.1397609,34.6271972,17.0329546,1.6994976,1.6446769,24.9351749,20.0001214,54.563895,15.8537303,42.0608732,66.2145193,37.5649571,46.0942739,22.8030776,3.9597317,13.7953117,10.7296928,34.5889639,17.8571227,1.6874936,1.663398,25.0462995,19.9801529,55.3780065,15.8256356,42.0410658,66.4483735,36.8534316,45.4970579,23.0744311,3.8518973,13.1817202,10.7464351,34.9587338,18.3071437,1.7001876,1.6761154,25.2546172,20.2898138,53.9846197,16.6679138,41.5800722,65.1908894,35.9648633,45.1462322,22.8470414,4.1725143,12.2128582,10.1428421,34.6006864,17.1487875,1.7590737,1.7284651,24.657776,19.883662,54.4357775,16.3742794,41.6094511,65.5218004,35.1089468,45.2814958,22.8898109,3.9604582,12.9830094,10.7850412,34.8742477,15.4618813 +2595,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6527549,1.6559724,23.1638525,18.1248704,46.3853773,15.700623,41.9494373,66.819473,39.0873082,50.4933944,31.1683007,4.5395452,12.8678336,10.119058,34.2553481,16.1621625,1.6608824,1.7225805,23.9492049,19.334097,45.0005549,16.2779007,42.444164,66.9368708,39.7978614,51.17426,30.8589712,4.4241419,11.673904,9.0136045,32.3592572,15.5979303,1.8723496,1.9345341,23.9012285,19.5854182,44.5476548,14.9997609,41.7154583,66.8785729,40.7478299,52.3716474,31.2390705,4.3694639,11.8453746,8.1103958,30.618664,18.2324431,1.8449033,1.9067627,24.9397098,20.1442606,45.1616156,15.4346003,41.7106921,65.9182605,40.4088396,51.8997015,30.4328992,4.3512807,11.9539362,8.2395958,31.8772668,18.096341,1.9005907,1.9652301,25.6432754,20.5399924,44.7606314,14.8880567,41.1780714,66.1478614,42.2883011,51.5354686,31.0961818,4.3594371,10.7271174,6.5527571,30.1790694,18.3979793 +2596,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6298789,0.6467967,11.1816065,7.4097788,49.1489356,13.5594229,28.7905282,63.278517,29.9451829,39.6955941,16.2642855,13.908328,12.6041498,9.0224965,37.2525017,5.7159347,0.6930434,0.6983676,11.6415323,7.8944315,49.8313056,13.3423309,29.4687412,63.6063084,29.9211191,39.8851669,16.3612079,13.7049071,13.0247126,9.5429672,37.5275821,5.8011043,0.6555507,0.66084,11.5194382,7.9192528,50.658992,13.2766382,28.9233774,64.4299549,30.3773343,40.047315,16.2416311,13.8645297,12.9052814,9.569775,37.4177677,6.0622305,0.6351283,0.6351283,11.5145691,8.0359141,51.2453702,13.4524315,28.578727,64.8711537,30.5880311,40.1464443,16.352592,14.048134,13.0610246,10.0059394,37.6062512,5.1810855,0.5632093,0.5750105,11.5006,8.2959613,51.6441137,13.5374706,29.1170637,65.7793173,31.0791449,40.0738576,16.5399015,13.7951957,13.0430166,10.3348991,36.7760594,5.0329252 +2597,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4617016,1.5246013,20.1004041,15.6163388,68.6216498,11.2310662,31.1817153,60.9321802,29.6750971,37.1150031,16.5333567,3.331862,15.7329906,12.7576864,40.8886037,10.146697,1.4020597,1.4122732,20.4703293,15.9062166,70.9834977,11.5931858,31.2251491,60.8971288,29.8402714,37.2382299,16.3659332,3.1248089,15.7534674,12.4923283,40.7657017,10.3176241,1.4137558,1.4236764,20.737958,16.2898053,73.010245,11.3780422,31.9118466,60.749693,30.0626052,37.2162816,16.5817905,3.3213708,14.8357741,11.8558812,39.8963214,10.4143022,1.4071126,1.4012576,21.3599367,17.0558296,75.1516447,11.3988495,32.2276567,61.2031587,29.5952968,37.8839906,16.2721164,3.297237,14.4633451,11.6383378,39.2043519,10.1882025,1.2680963,1.2622575,22.3940729,18.0422366,77.4050493,11.537342,32.9269159,61.795854,29.8069457,38.912088,16.2679442,3.4379036,14.2379189,11.1871936,40.2697673,10.1923006 +2598,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9763652,1.0175991,17.7098592,14.4405076,75.1719018,8.3925269,27.9766888,63.508164,28.1419007,37.5452243,14.7975288,5.4430059,14.0305599,9.5904857,36.2782102,9.3176778,0.9400678,0.9628661,17.7274343,14.3988416,75.6506894,8.4069443,28.0319008,63.5043565,28.0368012,37.1041256,14.6391878,5.5454142,14.0746186,9.4779647,36.2992813,9.2795364,0.9422958,0.9645676,18.1567494,14.7158142,76.2262776,8.1174687,28.0391001,63.5716463,27.948738,37.1036659,14.7042012,5.491194,14.3561876,9.8443005,37.063479,9.6648081,0.9783996,0.9898469,18.2803015,14.9361121,76.7667212,8.2630038,28.1649363,63.7852163,28.2592481,37.3104815,14.519936,5.7159467,14.4850662,9.9553866,37.0573558,9.4718153,0.9797999,0.9978858,18.213374,14.8092666,77.0585084,8.0685856,28.4540546,63.707739,28.086473,37.1357374,14.2255976,5.7301134,14.6405538,9.9226458,36.9817583,9.9164657 +2599,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7096643,0.7636085,12.245038,8.2218997,25.4741104,14.3986518,30.516739,67.3256467,40.1290754,47.3202729,20.7755515,8.1565839,10.4438075,9.7464655,33.3217389,9.0205856,0.8014133,0.8411834,12.6790247,8.5349308,25.4167575,14.0459657,30.3868089,67.4060084,40.4460007,47.5609001,20.6656862,8.3364557,11.1080412,9.459818,32.734073,9.6353847,0.8312468,0.8500403,12.7484533,8.6966526,25.9147032,13.9861975,30.4994024,67.2391995,40.2341446,46.6625919,20.8730406,8.2206365,10.6715182,9.7012128,33.9189163,10.8938171,0.8371631,0.8546972,13.1276545,8.8945835,26.3786772,13.8982216,31.6557215,65.8835424,38.5155794,46.149027,20.7545628,8.1044985,10.8412545,9.3031272,33.7463916,9.7499695,0.7769544,0.8032662,13.684103,9.3697717,26.8092903,13.6982958,32.1047762,65.9204749,37.96288,46.3769018,20.8854433,7.6297624,11.0703675,8.9454312,33.6386307,9.1584294 +2600,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0350195,1.0785399,15.7389214,11.7003224,44.3920913,10.2971082,29.1260812,67.7464021,39.5630401,41.8505935,20.7443487,4.9280671,9.8484833,8.0690956,36.9900957,14.4039719,1.1472795,1.2039612,16.4975091,12.4376994,44.6708716,10.420778,28.4904269,67.5904938,39.3949005,41.4360898,20.4254762,5.0122463,10.0454702,8.1265876,37.1494142,14.1440486,1.1645911,1.2259466,17.0247391,12.8301706,44.8556699,10.4408241,28.8665031,67.448014,39.5794649,41.3897184,20.5764972,4.9990709,10.1327194,8.1839941,37.1244607,14.4859798,1.2664749,1.296593,18.5383923,14.1492124,45.0040319,10.3345164,29.6481319,67.3197229,39.3614243,41.6116451,20.3605571,4.8523017,10.0828518,8.0467491,37.1997576,15.4030614,1.3312598,1.3671187,19.3541734,15.0596443,45.2742821,10.5507211,30.1324507,66.6625798,38.529148,41.4806672,19.9370477,4.9096552,10.3931114,7.8703108,36.913415,16.207805 +2601,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9285225,1.90017,29.4429987,24.1189237,69.9584491,15.0203058,35.2002646,64.9394549,28.7316722,40.8763022,17.8821645,2.0863152,17.2162973,12.2154717,42.5155858,21.73659,1.777638,1.7493287,29.1423294,23.6827236,70.3073686,14.428784,35.3846925,65.4338144,27.8983897,40.0493872,17.6025628,2.3403001,17.4997566,11.9434062,44.594622,21.40869,1.7733777,1.7618099,29.0600207,23.9451667,69.6522726,14.4834148,34.8917287,66.7539722,28.5611454,40.0830651,18.2550892,2.5030911,16.9418471,10.7476616,43.0258885,20.9208599,1.7124921,1.700971,28.2762642,23.7375606,70.5987902,14.7060461,35.185466,67.4054343,29.1825133,40.1881335,18.1654858,2.6835542,15.5286845,9.8835413,42.1556617,18.7551332,1.6608324,1.6706658,27.4393998,22.9586099,70.2640974,14.3772149,35.9869337,67.5361737,28.9843398,40.4453833,18.4922818,2.4503327,15.7598611,9.8891204,41.9726847,18.460174 +2602,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9107055,0.9237553,15.5850469,12.5159151,43.8924257,18.2001253,32.8037389,65.3837314,35.2002005,48.0742972,20.3196459,4.8708012,13.5294187,10.5009567,26.9272467,11.0258648,0.9025059,0.909059,15.7503933,12.8588862,45.0454013,17.7865433,33.1036415,65.3323073,35.0838719,47.4688181,20.0874325,4.9468325,13.0316293,10.3717161,26.9445419,12.4984724,0.8035985,0.8101081,15.7114085,12.5774736,44.8757888,17.4051727,33.2144081,64.6970545,34.7409882,47.0965894,20.3535168,4.780815,12.7551489,10.6308586,27.1865073,12.498548,0.9007856,0.907333,15.8281542,12.709333,46.0004882,16.7075836,34.216201,64.8179789,34.7586838,47.0950754,20.7465453,5.0335251,13.179764,11.1778689,27.6145346,10.9681918,0.932398,0.932398,16.4703868,13.2626638,47.0915399,16.3673519,34.9832239,65.2128517,34.8440519,46.7562496,20.8704159,4.8995878,13.9055606,11.8406693,27.7936657,11.0366488 +2603,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5308456,0.5657667,10.6167252,6.9162949,37.5423893,22.9762428,30.8987128,62.895242,29.1422912,43.2523284,16.0567979,7.625875,10.9872357,8.2103523,33.6323746,5.8729972,0.5364199,0.5441742,11.0074109,7.1555682,38.7212036,23.1855682,30.9158149,62.319103,29.2319336,42.348583,15.9084161,7.2230427,11.0671339,8.0418463,32.9116197,5.9815767,0.5403665,0.5616016,10.7121965,7.1365894,39.8803866,23.7361867,30.6938042,63.5099987,28.9373822,42.2862863,15.3834872,7.5965886,11.2695439,8.4088419,32.5967948,5.425204,0.5829931,0.5950776,10.5911405,6.9110552,41.0811516,23.7426431,30.0785621,64.5082068,28.9435528,41.6035677,15.2357227,7.3486463,11.7803173,8.9843789,33.231084,5.477505,0.5687121,0.5808069,10.8519402,7.3167382,42.9888074,23.4661419,30.0929772,64.9375451,29.6280113,41.1362609,14.8939169,7.396094,12.1100579,8.9978314,33.4129178,5.8265346 +2604,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.4563416,0.4789378,10.2361194,6.8889491,48.0273744,21.4210951,30.5030666,63.5980648,31.0393283,39.9004096,17.4795679,7.0863129,9.5936401,7.4704403,35.0535615,4.3661972,0.5417096,0.5828728,10.4741087,6.9183227,48.6605941,21.4248377,30.5147081,62.3859051,30.6414856,39.8199832,17.1019238,7.1374243,9.9630417,7.8615312,34.5672689,4.7813947,0.6026025,0.6409893,10.690791,7.0217613,49.6307081,21.069588,30.5272317,61.7881047,30.5769706,39.1817962,17.3712927,7.5478717,10.2624963,7.829585,35.1141362,5.4089474,0.6598208,0.7059125,10.8029367,6.9022262,50.3168829,20.8075302,30.1922098,61.6450265,30.1672497,39.2036982,17.1367883,7.6510211,10.2784109,7.7796078,34.8312811,5.8423689,0.7634891,0.8015394,10.8988752,6.978774,50.7938641,20.8301561,29.7433996,61.8924181,30.1875152,39.2918853,17.0120854,7.9570665,10.4655099,8.1434917,34.9395608,5.528235 +2605,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6802212,0.687499,9.9940609,6.8109857,38.3168963,16.3906602,30.2238929,69.8769621,37.6058739,46.5005996,21.571196,3.9834628,9.3341415,7.534794,33.3399694,9.5317534,0.6795521,0.6893425,10.0116886,6.7361968,38.3197606,16.2020551,30.6210223,69.8981579,37.7096467,46.9348922,21.2360247,3.9836304,9.5728262,8.0802163,33.4955154,10.8695696,0.6523959,0.654979,10.0636716,6.8409777,38.3540986,16.2983959,31.066158,70.2764121,38.2329508,46.8213166,21.0167879,3.9782871,9.3738143,7.6908274,33.224817,11.6242098,0.6497783,0.6567813,9.9447972,6.9185326,38.6359207,15.8386312,30.4750082,70.0506285,38.1837479,47.0994723,21.2867439,3.980928,9.1335343,8.0444563,33.9305699,10.5345746,0.6949748,0.6993896,10.1033816,6.9454884,38.8965182,15.6625359,30.3255131,69.2122554,37.5673937,46.5042347,21.1575477,3.8617093,9.1521125,7.7639686,33.8278147,10.0318312 +2606,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6795521,0.6893425,10.0116886,6.7361968,38.3197606,16.2020551,30.6210223,69.8981579,37.7096467,46.9348922,21.2360247,3.9836304,9.5728262,8.0802163,33.4955154,10.8695696,0.6523959,0.654979,10.0636716,6.8409777,38.3540986,16.2983959,31.066158,70.2764121,38.2329508,46.8213166,21.0167879,3.9782871,9.3738143,7.6908274,33.224817,11.6242098,0.6497783,0.6567813,9.9447972,6.9185326,38.6359207,15.8386312,30.4750082,70.0506285,38.1837479,47.0994723,21.2867439,3.980928,9.1335343,8.0444563,33.9305699,10.5345746,0.6949748,0.6993896,10.1033816,6.9454884,38.8965182,15.6625359,30.3255131,69.2122554,37.5673937,46.5042347,21.1575477,3.8617093,9.1521125,7.7639686,33.8278147,10.0318312,0.6673783,0.6845577,10.8803097,7.3847023,39.5440027,15.7235569,30.5971624,68.5417515,37.7854579,46.4339044,21.6304723,3.6971165,8.8853819,7.8965845,33.7389411,9.3846009 +2607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6523959,0.654979,10.0636716,6.8409777,38.3540986,16.2983959,31.066158,70.2764121,38.2329508,46.8213166,21.0167879,3.9782871,9.3738143,7.6908274,33.224817,11.6242098,0.6497783,0.6567813,9.9447972,6.9185326,38.6359207,15.8386312,30.4750082,70.0506285,38.1837479,47.0994723,21.2867439,3.980928,9.1335343,8.0444563,33.9305699,10.5345746,0.6949748,0.6993896,10.1033816,6.9454884,38.8965182,15.6625359,30.3255131,69.2122554,37.5673937,46.5042347,21.1575477,3.8617093,9.1521125,7.7639686,33.8278147,10.0318312,0.6673783,0.6845577,10.8803097,7.3847023,39.5440027,15.7235569,30.5971624,68.5417515,37.7854579,46.4339044,21.6304723,3.6971165,8.8853819,7.8965845,33.7389411,9.3846009,0.717325,0.7350087,11.1875615,7.7191368,40.1712127,15.4736798,30.5619926,68.3758112,37.3020349,46.4368418,21.4465039,3.9107745,9.4356615,8.1261282,33.7974351,9.6721153 +2608,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4223981,1.4846702,18.7595774,15.0805165,85.3984554,12.5256455,32.3495077,64.3312504,36.9604226,39.8741724,19.2760281,6.0642563,13.3116131,11.586066,37.8573785,13.4310274,1.2966052,1.3584922,19.5119611,15.3894062,85.2256079,12.6416686,32.2859609,63.6659083,36.5405492,38.901996,18.9951603,5.702315,13.7064424,11.6723025,37.5175744,14.4989546,1.1536573,1.215014,19.4899138,15.5318366,84.6424823,12.7779655,32.9593179,64.6174275,36.2558787,38.2045859,18.9190312,5.1417607,13.5522088,11.3125897,35.9182102,12.2040009,1.2156684,1.2777901,19.4971043,15.4832207,84.4636124,12.9818767,32.975739,65.9977769,36.1760547,38.1453873,19.3293146,5.1979209,13.8155617,11.5709247,36.7994519,13.1160582,1.2195861,1.283302,20.1525768,16.0694173,83.7750265,12.4409249,33.1341151,66.1108658,36.6271981,38.2308546,19.3421673,4.9148079,12.9383987,10.3521005,36.164635,13.6108118 +2609,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3333136,2.3549898,36.8658077,31.8238469,53.821329,14.2605159,37.0840858,61.324897,28.7487271,41.8967906,19.6350248,3.2942778,14.4076489,10.1558246,44.1258068,23.4716093,2.4251937,2.4464119,37.5761701,32.3970941,54.7891404,14.2148596,36.6638258,61.7536599,28.5176232,41.4091412,19.8466761,3.1433409,15.0273751,10.2564135,44.9543055,24.8958281,2.5041393,2.5262977,37.8217492,32.804446,56.7337663,14.2123307,36.2081884,62.1740475,28.5624554,41.8452993,18.9391976,3.3264368,14.7015983,10.31629,44.4726544,24.5951364,2.5459352,2.5905474,38.3842088,33.5945992,58.5671998,14.45348,35.3610408,62.0761099,29.0280011,41.7336439,18.6590519,3.1614642,14.715095,9.9868625,43.9103721,25.7281415,2.6607714,2.6905373,38.4319073,33.549121,60.696609,14.080126,35.2966407,62.7706036,28.8832246,41.311758,18.3255702,3.2426924,14.8446794,10.0392072,43.3761948,25.1872613 +2610,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8038515,1.8883243,28.6297926,24.4198913,43.894995,17.3642029,40.153428,66.8487803,37.1783195,48.4111178,25.0910931,3.7654026,12.0703406,9.5240671,32.2386914,28.2808653,1.6271361,1.7122231,28.1112217,24.1324414,43.5664818,17.2818709,40.2292307,67.2449019,36.5863595,48.2223264,25.2056282,3.7356374,11.9114728,9.3681112,30.0985858,28.8454618,1.6361009,1.7514714,27.3969919,23.4283117,44.0227184,17.3817291,39.833366,65.7853514,35.9556386,48.0211588,24.8548714,3.557537,11.979023,9.5746519,30.9487679,29.815664,1.7397315,1.8194445,27.068009,23.3913166,44.1182905,17.7301686,39.7722111,66.1183706,36.0755154,48.1286568,25.0222938,3.8003391,12.1191263,10.1538861,30.3539613,28.9214895,1.6170708,1.7039089,26.661641,22.8182944,43.4829529,18.1564074,39.5209006,66.2734704,36.3240778,48.1823334,25.3191981,3.6053755,12.3340307,10.6045591,29.9126661,25.3225084 +2611,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.9564009,0.9435765,13.0370147,8.4765416,35.7093552,19.2551615,29.9797092,70.4937467,39.9222084,46.6181829,22.1001102,3.2296224,10.1689548,9.3730411,33.3018805,9.5628962,0.974609,0.9670767,12.989326,8.6865139,35.6222376,19.0249383,30.1062859,70.2922758,40.4350565,46.0146076,22.2351489,3.2049164,10.4923055,9.2729501,33.5083322,10.7143407,1.0432437,1.0457984,13.3825915,9.1789843,35.4611057,19.230749,29.7675301,70.0303339,40.8524126,46.0747917,22.2877366,3.2850385,10.2812485,8.7867351,32.8633963,11.9680915,1.1041043,1.0883065,13.1899752,9.3972268,36.0588782,19.4949957,29.9132039,69.1840326,40.0867868,45.5381875,22.204863,3.3506897,10.5513325,8.375793,33.1317612,13.6627986,1.0767341,1.0747249,13.6922111,9.7478248,36.2192515,19.0042801,30.7807503,68.5880538,39.6511536,45.4651256,22.2093104,3.3056437,9.5596629,7.7117257,34.1100634,12.6343684 +2612,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0655007,2.0116889,34.1457297,29.089749,49.0765619,19.8635756,38.1798905,66.468056,35.4865064,47.2236038,20.6551187,3.7987772,13.1304366,12.09726,33.671219,27.1492831,1.9154936,1.8613906,34.6222649,29.4877612,50.0838704,19.362473,38.0281204,66.8546232,34.8893139,47.758139,20.5123299,3.9577753,12.8776152,11.6795354,33.7693369,24.2336476,1.8476081,1.7937986,34.6857621,29.6542716,48.8544584,18.8346157,38.9188626,67.6005749,35.2187329,48.4557533,20.9862683,3.7932318,12.190335,12.1377949,32.6579908,26.5127723,1.4458578,1.4458578,33.9489748,29.2383929,49.0854068,19.0102416,39.222007,68.1858207,36.1116527,49.3703606,22.3331154,4.0375439,10.7823699,12.0152097,31.8130417,24.7372916,1.3182535,1.3532987,34.0765465,29.5079547,49.6832026,18.1475266,38.9245006,69.2570262,36.0044664,49.6166243,21.531563,3.782622,11.2818154,11.6506314,31.4155587,25.2580476 +2613,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5364199,0.5441742,11.0074109,7.1555682,38.7212036,23.1855682,30.9158149,62.319103,29.2319336,42.348583,15.9084161,7.2230427,11.0671339,8.0418463,32.9116197,5.9815767,0.5403665,0.5616016,10.7121965,7.1365894,39.8803866,23.7361867,30.6938042,63.5099987,28.9373822,42.2862863,15.3834872,7.5965886,11.2695439,8.4088419,32.5967948,5.425204,0.5829931,0.5950776,10.5911405,6.9110552,41.0811516,23.7426431,30.0785621,64.5082068,28.9435528,41.6035677,15.2357227,7.3486463,11.7803173,8.9843789,33.231084,5.477505,0.5687121,0.5808069,10.8519402,7.3167382,42.9888074,23.4661419,30.0929772,64.9375451,29.6280113,41.1362609,14.8939169,7.396094,12.1100579,8.9978314,33.4129178,5.8265346,0.6722542,0.6844109,10.730938,7.382079,44.2208728,23.9735026,29.7007691,65.5471126,30.6688225,40.4663705,14.8870521,7.5241874,12.0599495,9.1364612,33.0071365,6.3801834 +2614,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5580181,0.5766977,7.7737745,4.929224,44.7186668,13.4104,24.9668289,68.6593522,31.6031341,44.7961794,15.0919602,4.7774208,12.1566005,11.4112822,31.0776383,4.2306879,0.5896881,0.6080248,8.1263994,5.1151824,43.4613257,13.1278953,24.663381,68.1386945,31.6481714,44.7155834,15.2060325,4.8070348,12.2455969,11.5324401,31.6180643,4.7100937,0.4565768,0.4747797,8.056648,5.0185977,41.8800103,12.7887074,25.2897984,68.5224436,31.8123076,44.8965239,15.134718,4.9407327,12.1036285,11.7079644,31.5360851,4.7444736,0.4887805,0.5010901,8.3778773,5.2533106,40.7326742,12.5972906,25.5620506,68.3925383,32.6216993,44.3615432,15.0119652,4.6998593,11.8400404,11.9860979,31.1380662,4.0145546,0.4855065,0.5070525,8.3865324,5.4446321,40.2906966,12.6186175,25.2769369,68.2570519,32.807762,44.5869099,14.6177635,5.0784873,11.908322,11.7405015,31.588979,3.9285097 +2615,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.7268376,0.7473512,14.3184371,10.7485981,50.7252365,17.5797432,32.2893335,65.4332362,31.4711227,41.6770174,18.4497354,4.1766208,11.5337649,9.1309533,31.914514,7.941252,0.6833994,0.7044598,14.4821838,10.9785243,51.6266348,17.7894486,31.8315767,66.187818,31.7356005,41.6426284,18.2397514,4.2163923,11.6286451,9.5511255,31.7174929,8.310188,0.6954471,0.6932804,14.3817833,11.0501831,52.0109718,18.0763021,32.1692913,66.6749472,32.1961339,41.7084787,18.5020431,4.1571083,11.7629849,9.5090792,31.7318026,8.1771241,0.7102743,0.7240316,14.5616417,11.1175833,52.9058154,17.842008,31.7333285,66.9642023,31.8637288,41.5639747,18.7579293,4.1010579,11.7455548,9.2002811,31.2324546,7.465515,0.6557869,0.6700901,14.3128492,10.8830534,53.6328023,18.3920395,32.0097957,66.6768566,31.9128609,42.1337758,18.8001219,3.8787749,11.8581916,9.1275922,30.7006016,7.5618364 +2616,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1479008,1.1884238,22.3595362,18.5188914,43.1395073,18.6866628,39.0349536,65.9903138,38.0887895,47.6135258,22.9920074,3.5849384,14.307422,12.2231845,34.2128127,13.1009375,1.1946921,1.224272,23.1095887,18.9869503,43.5927734,18.8273625,39.2217588,66.2793362,38.6460702,47.579962,23.0810344,3.3582041,14.8123809,11.8891744,33.1504959,11.2047979,1.1451215,1.1474145,23.4826485,19.4570592,43.9675317,18.467811,39.679352,66.3304489,38.1503547,47.2605603,22.8817244,3.4295998,14.820469,11.0551547,33.4581321,10.7888424,1.1714999,1.1639628,23.8169308,19.7073499,44.616522,18.3159003,39.5005407,66.1317889,37.5026554,47.0881944,22.6248719,3.3687567,14.9322051,11.2106522,33.6047345,11.047798,1.1961154,1.1638425,24.4027615,20.1068797,45.160201,18.5002054,39.4286407,66.3492532,37.4384718,47.0896567,22.5872038,3.1564282,14.6475671,11.4317074,33.0444207,12.3059505 +2617,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7635369,0.8036341,11.4746415,8.5759217,37.1416234,11.2127015,30.5673255,66.5047152,34.661123,47.0851823,19.2705827,3.2063637,11.4536425,9.5956495,29.7603303,9.772296,0.7372494,0.7607564,11.4647278,8.5970048,37.8440038,11.0535795,30.4382471,66.5803384,34.8849496,47.4545905,19.6879243,3.0255074,11.6751454,9.4037415,29.4733102,9.3466459,0.7289335,0.7425419,12.3111383,9.3978207,38.6374531,10.8734938,30.5636398,66.5050773,34.991661,47.0060906,19.7319545,2.9752015,11.7906865,9.7235464,29.6057669,10.0700543,0.7446169,0.7579469,12.5181958,9.748464,39.0421697,10.84491,30.7385049,66.7383119,34.984448,47.0093969,19.3291458,2.97229,12.2410298,10.0442784,29.3471791,9.0983621,0.825505,0.8433299,12.735582,9.9401577,39.3349566,10.8218956,30.758436,66.8033278,34.972873,46.9555672,19.3395359,3.0078219,12.2907515,10.1500082,29.5433767,8.7955626 +2618,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5403665,0.5616016,10.7121965,7.1365894,39.8803866,23.7361867,30.6938042,63.5099987,28.9373822,42.2862863,15.3834872,7.5965886,11.2695439,8.4088419,32.5967948,5.425204,0.5829931,0.5950776,10.5911405,6.9110552,41.0811516,23.7426431,30.0785621,64.5082068,28.9435528,41.6035677,15.2357227,7.3486463,11.7803173,8.9843789,33.231084,5.477505,0.5687121,0.5808069,10.8519402,7.3167382,42.9888074,23.4661419,30.0929772,64.9375451,29.6280113,41.1362609,14.8939169,7.396094,12.1100579,8.9978314,33.4129178,5.8265346,0.6722542,0.6844109,10.730938,7.382079,44.2208728,23.9735026,29.7007691,65.5471126,30.6688225,40.4663705,14.8870521,7.5241874,12.0599495,9.1364612,33.0071365,6.3801834,0.7758143,0.7878247,11.2945111,7.7640785,44.6629324,25.0505551,29.6644178,66.6329574,31.5736127,41.6401095,14.8828307,7.4486398,12.0779521,9.1927176,33.2549287,6.3749761 +2619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7372494,0.7607564,11.4647278,8.5970048,37.8440038,11.0535795,30.4382471,66.5803384,34.8849496,47.4545905,19.6879243,3.0255074,11.6751454,9.4037415,29.4733102,9.3466459,0.7289335,0.7425419,12.3111383,9.3978207,38.6374531,10.8734938,30.5636398,66.5050773,34.991661,47.0060906,19.7319545,2.9752015,11.7906865,9.7235464,29.6057669,10.0700543,0.7446169,0.7579469,12.5181958,9.748464,39.0421697,10.84491,30.7385049,66.7383119,34.984448,47.0093969,19.3291458,2.97229,12.2410298,10.0442784,29.3471791,9.0983621,0.825505,0.8433299,12.735582,9.9401577,39.3349566,10.8218956,30.758436,66.8033278,34.972873,46.9555672,19.3395359,3.0078219,12.2907515,10.1500082,29.5433767,8.7955626,0.8405834,0.8298432,13.2052917,10.3907923,40.1280051,10.7140028,30.2031317,66.7635674,34.6352464,46.4469195,18.763089,2.9775749,11.9764812,9.6560368,29.3832846,9.1121524 +2620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8710019,0.8999081,12.8258207,8.5258974,23.941136,16.6433638,35.8719403,65.1700037,36.7493807,48.7181369,21.4902764,3.73595,11.4534701,9.9018432,33.1166536,9.5833584,0.8402576,0.8831387,12.7094813,8.4983668,24.1844464,16.5062968,35.3260699,64.9421317,36.1730619,48.2001846,21.3791812,3.6490719,11.3143118,10.0985342,33.3497441,8.739255,0.856898,0.9106611,12.9527747,8.4499568,24.4588248,16.4018896,35.3921467,64.3580942,34.9955707,47.7452882,21.2911352,3.7676287,11.7465138,10.3396342,33.7981484,8.83233,0.8435173,0.8950856,13.2728509,8.7462168,25.348308,16.1033495,35.3775566,64.3023519,34.7083004,47.6284189,21.409864,3.7028964,11.9449781,9.982809,33.7745201,8.5507147,0.7817873,0.8500594,13.6791167,9.117073,26.0906104,15.7008412,35.4041231,63.922342,34.3006787,46.8974146,21.1307043,3.6471774,12.0813186,9.9566785,33.4921709,9.3390697 +2621,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1472795,1.2039612,16.4975091,12.4376994,44.6708716,10.420778,28.4904269,67.5904938,39.3949005,41.4360898,20.4254762,5.0122463,10.0454702,8.1265876,37.1494142,14.1440486,1.1645911,1.2259466,17.0247391,12.8301706,44.8556699,10.4408241,28.8665031,67.448014,39.5794649,41.3897184,20.5764972,4.9990709,10.1327194,8.1839941,37.1244607,14.4859798,1.2664749,1.296593,18.5383923,14.1492124,45.0040319,10.3345164,29.6481319,67.3197229,39.3614243,41.6116451,20.3605571,4.8523017,10.0828518,8.0467491,37.1997576,15.4030614,1.3312598,1.3671187,19.3541734,15.0596443,45.2742821,10.5507211,30.1324507,66.6625798,38.529148,41.4806672,19.9370477,4.9096552,10.3931114,7.8703108,36.913415,16.207805,1.3879515,1.4027738,20.2483607,15.7842173,45.6514492,10.3866455,30.3257832,66.1382619,37.9221316,40.893922,19.296783,4.7794989,10.6901664,7.9342461,37.2823804,16.709612 +2622,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.777638,1.7493287,29.1423294,23.6827236,70.3073686,14.428784,35.3846925,65.4338144,27.8983897,40.0493872,17.6025628,2.3403001,17.4997566,11.9434062,44.594622,21.40869,1.7733777,1.7618099,29.0600207,23.9451667,69.6522726,14.4834148,34.8917287,66.7539722,28.5611454,40.0830651,18.2550892,2.5030911,16.9418471,10.7476616,43.0258885,20.9208599,1.7124921,1.700971,28.2762642,23.7375606,70.5987902,14.7060461,35.185466,67.4054343,29.1825133,40.1881335,18.1654858,2.6835542,15.5286845,9.8835413,42.1556617,18.7551332,1.6608324,1.6706658,27.4393998,22.9586099,70.2640974,14.3772149,35.9869337,67.5361737,28.9843398,40.4453833,18.4922818,2.4503327,15.7598611,9.8891204,41.9726847,18.460174,1.6324511,1.6424314,26.8215492,22.1071066,69.7956235,14.1411345,36.0528659,67.5835462,29.0688171,40.5501318,18.3512262,2.7064356,15.5222176,9.6302768,41.9817406,18.9820158 +2623,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7289335,0.7425419,12.3111383,9.3978207,38.6374531,10.8734938,30.5636398,66.5050773,34.991661,47.0060906,19.7319545,2.9752015,11.7906865,9.7235464,29.6057669,10.0700543,0.7446169,0.7579469,12.5181958,9.748464,39.0421697,10.84491,30.7385049,66.7383119,34.984448,47.0093969,19.3291458,2.97229,12.2410298,10.0442784,29.3471791,9.0983621,0.825505,0.8433299,12.735582,9.9401577,39.3349566,10.8218956,30.758436,66.8033278,34.972873,46.9555672,19.3395359,3.0078219,12.2907515,10.1500082,29.5433767,8.7955626,0.8405834,0.8298432,13.2052917,10.3907923,40.1280051,10.7140028,30.2031317,66.7635674,34.6352464,46.4469195,18.763089,2.9775749,11.9764812,9.6560368,29.3832846,9.1121524,0.7793939,0.7629632,13.9227507,10.8479062,40.8343076,10.7311984,30.1476675,66.8269602,34.1479502,46.1371143,18.5085328,3.0191178,12.5408366,10.0553341,30.0074309,8.4234996 +2624,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8970814,0.9330311,14.0448791,10.3782116,46.019557,19.3656857,33.2706471,62.1384991,33.0112878,44.3327731,19.8871729,6.5944767,11.1523859,8.3333346,33.7186112,8.6325054,0.9683807,0.9923242,14.1622976,10.6169235,46.8961337,19.5623591,32.7042755,62.9766486,33.1841807,44.0012972,19.9286625,6.2581081,11.0786939,8.1785462,33.4690456,8.7209439,0.9617202,0.9853162,14.2812279,10.6245305,47.5511012,19.2922515,32.617337,64.4075376,33.5278357,44.1972358,19.7294171,6.0720704,11.1923872,8.8063629,32.8600181,8.7732919,0.9652315,0.9886599,14.2156875,10.6912401,48.9158655,19.6200922,32.2011395,64.9525585,34.2251823,43.6875467,19.614167,6.2555349,11.3919922,8.9125218,33.1902187,8.2481752,0.9526125,0.978372,14.0810324,10.6803501,49.993418,20.2508043,31.8132143,65.6623133,34.6347184,43.6572178,19.3996471,6.00863,10.8922706,8.7728834,33.3694989,8.698538 +2625,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.2075038,2.2366109,36.0056791,31.0311256,56.5651879,10.6719523,39.1890868,63.5549266,34.6816171,43.4066109,20.6505449,2.8730106,18.2875364,13.4225146,40.2461474,20.2735719,2.2290376,2.2608529,35.9271186,30.9634242,57.4792336,10.1302024,38.5248336,63.3369688,34.706437,43.23985,20.2027975,2.8092457,17.9706927,14.1426558,40.511076,19.7345813,2.205053,2.2416714,35.4679876,30.2801616,57.232213,10.0786523,38.9271081,62.3503555,34.7487364,43.389726,19.9697048,2.4586994,18.0851298,14.028134,39.2228411,18.6738216,2.1056372,2.1097168,35.5411837,30.2030806,57.016586,9.9419737,38.8099048,62.1723746,34.368253,43.5326829,19.6392684,2.5159997,18.5156894,14.2964424,39.3236544,18.9245635,2.0073545,1.9811462,35.6375956,30.5200864,57.0483552,9.7940003,38.7839743,61.8706449,34.1445262,42.5695456,19.2884874,2.3498151,18.1820439,14.1827879,39.7424026,19.7934791 +2626,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2690616,2.2494666,37.9272626,32.9849654,64.4635844,14.8743784,33.1111345,63.4131619,29.6095199,39.8109298,17.367823,1.8514314,17.6575446,12.9056,38.4084034,27.3288053,2.2646236,2.2905893,38.1902724,33.2560884,64.7857415,14.3440291,33.7796796,63.2914915,28.9234755,39.6619825,16.9837458,1.8398082,18.6929283,13.4839433,38.7753836,26.9290099,2.3670836,2.4242403,38.3279198,33.0454223,65.5009241,14.0578677,33.9639389,63.6556292,28.9524008,39.8523195,16.4998161,1.8917616,18.737514,13.5579373,39.9337591,25.9919165,2.4856141,2.5637916,38.8383704,33.5230889,66.2587261,13.1650145,34.3525673,62.3533659,28.3876836,38.8697608,15.8348834,1.734478,18.4332739,13.4058088,40.9791597,26.1694444,2.5187758,2.5916753,39.0475915,34.1255699,66.6711113,13.4149772,34.9111533,62.7039274,29.1362936,39.8571165,16.5830319,1.9457855,17.6213851,13.0286976,40.2453054,26.7873991 +2627,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8783554,0.8940492,14.0553773,10.2682559,45.0405496,18.5452789,33.3446877,66.2396283,35.6994061,43.3171368,20.9716795,4.2590223,10.4523307,9.3921175,36.8700424,9.5775052,0.8932547,0.9085579,14.4759664,10.733184,45.961586,18.4743986,33.2693802,65.6054524,34.8446286,43.1930553,20.7582232,4.489272,10.4567885,9.2617998,36.3243313,10.5179139,0.9940409,0.9889729,15.0251351,11.0417886,45.9854168,18.1847357,33.0613703,65.1732716,34.2904209,43.1173903,20.5697877,4.4804779,10.1163265,9.2351202,36.0246427,12.0987823,1.0725516,1.0892451,16.0393156,12.0159396,46.4280563,17.9339396,33.7203696,64.5100779,34.0963795,43.8068064,20.9577824,4.4791118,10.3697767,8.8950058,36.5738169,13.1211462,1.1688389,1.1784011,16.2605739,12.5232069,46.0681072,17.9809799,33.6404011,64.2842801,33.8945167,44.2292701,21.039867,4.5002267,10.3287769,8.7003353,36.3345147,15.2892795 +2628,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6497783,0.6567813,9.9447972,6.9185326,38.6359207,15.8386312,30.4750082,70.0506285,38.1837479,47.0994723,21.2867439,3.980928,9.1335343,8.0444563,33.9305699,10.5345746,0.6949748,0.6993896,10.1033816,6.9454884,38.8965182,15.6625359,30.3255131,69.2122554,37.5673937,46.5042347,21.1575477,3.8617093,9.1521125,7.7639686,33.8278147,10.0318312,0.6673783,0.6845577,10.8803097,7.3847023,39.5440027,15.7235569,30.5971624,68.5417515,37.7854579,46.4339044,21.6304723,3.6971165,8.8853819,7.8965845,33.7389411,9.3846009,0.717325,0.7350087,11.1875615,7.7191368,40.1712127,15.4736798,30.5619926,68.3758112,37.3020349,46.4368418,21.4465039,3.9107745,9.4356615,8.1261282,33.7974351,9.6721153,0.8249406,0.843179,11.8992129,8.2214513,40.1642829,15.7702137,30.8067696,67.9183277,37.6195076,46.4840535,21.3047744,3.615539,9.8381801,8.1704161,34.561257,9.7269833 +2629,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8184939,0.8552641,17.6034073,14.4360231,59.0481206,13.4674931,27.2344769,66.2584984,30.1304241,41.9467225,13.9166999,4.7640105,14.2367372,11.1931991,30.1486761,8.3046687,0.8792837,0.9353223,17.6334856,14.3256121,59.7468867,13.5303043,27.2402347,66.3389537,29.537068,41.6652201,13.8072223,5.037409,14.0581973,10.6543523,30.510585,9.8184073,0.8571643,0.9052268,18.2125253,14.8395037,60.4831175,13.9754177,27.6310692,65.7271673,29.4702856,41.0677854,14.0242103,5.1004784,14.2196338,10.8502423,31.7195447,9.0689404,0.8776239,0.9248742,18.0570304,14.794566,61.1536804,13.9033887,27.5363332,65.4103808,29.1074295,41.1248303,13.881023,5.055974,14.3558033,10.4899104,31.2903441,9.0693229,0.9042173,0.9438384,18.3144485,15.1165275,61.705658,14.4539989,27.8838115,65.9552056,29.3068581,41.0932713,13.9712572,5.248605,14.3077643,10.6299464,32.0764733,9.2248865 +2630,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0.5896881,0.6080248,8.1263994,5.1151824,43.4613257,13.1278953,24.663381,68.1386945,31.6481714,44.7155834,15.2060325,4.8070348,12.2455969,11.5324401,31.6180643,4.7100937,0.4565768,0.4747797,8.056648,5.0185977,41.8800103,12.7887074,25.2897984,68.5224436,31.8123076,44.8965239,15.134718,4.9407327,12.1036285,11.7079644,31.5360851,4.7444736,0.4887805,0.5010901,8.3778773,5.2533106,40.7326742,12.5972906,25.5620506,68.3925383,32.6216993,44.3615432,15.0119652,4.6998593,11.8400404,11.9860979,31.1380662,4.0145546,0.4855065,0.5070525,8.3865324,5.4446321,40.2906966,12.6186175,25.2769369,68.2570519,32.807762,44.5869099,14.6177635,5.0784873,11.908322,11.7405015,31.588979,3.9285097,0.5299748,0.5513293,8.7415135,6.0110657,39.2776498,12.5202232,25.3659528,67.9902831,32.0096631,43.6077981,14.5359801,5.3572889,12.0549198,11.8889959,31.8149936,5.86198 +2631,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0299517,2.0299517,34.5238095,30.6776557,65.9351145,8.4259259,36.4564007,65.3988868,29.9628942,45.1762523,20.5009276,7.8849722,16.3003663,11.9047619,36.2132353,18.8461538,2.4280576,2.4280576,33.5538752,29.2060491,66.2324649,8.07393,36.4257812,64.3554687,29.1992188,44.8242188,19.6289062,7.3242187,16.4092664,12.9343629,36.627907,16.9291339,3.1269398,3.1269398,32.5831703,28.2778865,67.7385892,7.3293173,35.5983773,63.1845842,28.7018256,43.9148073,18.7626775,7.8093306,16.9201521,15.0190114,38.740458,16.4,3.0616943,3.0616943,33.8178295,30.1356589,69.2386831,7.6693227,36.3179074,63.6820926,29.2756539,45.3722334,17.806841,7.7464789,13.8257576,13.8257576,39.7338403,17.0833333,3.2019736,3.2019736,35.177453,32.2546973,68.1015453,7.9281184,37.7419355,62.688172,30.2150538,45.483871,18.8172043,8.4946237,14.375,12.7083333,39.7058824,15.9836066 +2632,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7733777,1.7618099,29.0600207,23.9451667,69.6522726,14.4834148,34.8917287,66.7539722,28.5611454,40.0830651,18.2550892,2.5030911,16.9418471,10.7476616,43.0258885,20.9208599,1.7124921,1.700971,28.2762642,23.7375606,70.5987902,14.7060461,35.185466,67.4054343,29.1825133,40.1881335,18.1654858,2.6835542,15.5286845,9.8835413,42.1556617,18.7551332,1.6608324,1.6706658,27.4393998,22.9586099,70.2640974,14.3772149,35.9869337,67.5361737,28.9843398,40.4453833,18.4922818,2.4503327,15.7598611,9.8891204,41.9726847,18.460174,1.6324511,1.6424314,26.8215492,22.1071066,69.7956235,14.1411345,36.0528659,67.5835462,29.0688171,40.5501318,18.3512262,2.7064356,15.5222176,9.6302768,41.9817406,18.9820158,1.4686237,1.478914,26.0093253,20.9961763,69.3573171,13.3931389,35.9270233,67.4641235,29.3238796,40.3837351,18.9930184,2.7841387,15.1449603,9.8696465,40.6620572,19.3492879 +2633,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4020597,1.4122732,20.4703293,15.9062166,70.9834977,11.5931858,31.2251491,60.8971288,29.8402714,37.2382299,16.3659332,3.1248089,15.7534674,12.4923283,40.7657017,10.3176241,1.4137558,1.4236764,20.737958,16.2898053,73.010245,11.3780422,31.9118466,60.749693,30.0626052,37.2162816,16.5817905,3.3213708,14.8357741,11.8558812,39.8963214,10.4143022,1.4071126,1.4012576,21.3599367,17.0558296,75.1516447,11.3988495,32.2276567,61.2031587,29.5952968,37.8839906,16.2721164,3.297237,14.4633451,11.6383378,39.2043519,10.1882025,1.2680963,1.2622575,22.3940729,18.0422366,77.4050493,11.537342,32.9269159,61.795854,29.8069457,38.912088,16.2679442,3.4379036,14.2379189,11.1871936,40.2697673,10.1923006,1.1720551,1.16233,21.8429382,17.9019305,78.4685133,11.7682889,33.0472518,61.6739417,30.4255374,39.1084988,16.2220651,3.2501401,13.9924628,11.5458799,39.6113337,8.8014936 +2634,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7710512,0.8916014,14.0028945,10.667877,25.8053701,19.7730312,35.0363114,68.0171815,39.6981313,47.9212291,23.0996257,3.3213102,13.4880718,11.7623372,38.8653025,7.5757998,0.8521769,0.9778609,14.0173715,10.5077663,25.7037808,20.0301314,34.1548049,67.5983978,39.2507985,46.9613943,22.2653651,3.1661542,13.8446867,11.499874,37.8844988,8.3851397,0.8411963,0.9588668,15.2621497,11.4220799,26.5760877,19.6859809,34.4383596,66.0718287,37.4915183,46.2095998,21.8507692,3.2341722,14.1675884,11.342638,36.8012187,9.6491587,0.8038456,0.88081,15.8394979,12.1943125,27.4156481,20.0301455,34.0327074,65.455358,36.7654949,44.5404546,21.0494737,2.9830023,14.3380817,11.7953844,36.30713,8.4795173,0.8099415,0.8844855,16.7075028,12.8366791,27.5627085,20.3371202,33.5873607,65.2879792,36.042013,44.5886659,21.5850976,3.4392895,14.2338445,11.0550786,36.4044442,9.7058595 +2635,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2966052,1.3584922,19.5119611,15.3894062,85.2256079,12.6416686,32.2859609,63.6659083,36.5405492,38.901996,18.9951603,5.702315,13.7064424,11.6723025,37.5175744,14.4989546,1.1536573,1.215014,19.4899138,15.5318366,84.6424823,12.7779655,32.9593179,64.6174275,36.2558787,38.2045859,18.9190312,5.1417607,13.5522088,11.3125897,35.9182102,12.2040009,1.2156684,1.2777901,19.4971043,15.4832207,84.4636124,12.9818767,32.975739,65.9977769,36.1760547,38.1453873,19.3293146,5.1979209,13.8155617,11.5709247,36.7994519,13.1160582,1.2195861,1.283302,20.1525768,16.0694173,83.7750265,12.4409249,33.1341151,66.1108658,36.6271981,38.2308546,19.3421673,4.9148079,12.9383987,10.3521005,36.164635,13.6108118,1.1669668,1.2637247,20.3226677,16.3122431,82.8123787,13.102513,33.3525093,66.1834949,37.9554382,39.3708896,20.0571091,5.0593533,13.2208086,10.5352143,36.3546298,12.5121499 +2636,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6608824,1.7225805,23.9492049,19.334097,45.0005549,16.2779007,42.444164,66.9368708,39.7978614,51.17426,30.8589712,4.4241419,11.673904,9.0136045,32.3592572,15.5979303,1.8723496,1.9345341,23.9012285,19.5854182,44.5476548,14.9997609,41.7154583,66.8785729,40.7478299,52.3716474,31.2390705,4.3694639,11.8453746,8.1103958,30.618664,18.2324431,1.8449033,1.9067627,24.9397098,20.1442606,45.1616156,15.4346003,41.7106921,65.9182605,40.4088396,51.8997015,30.4328992,4.3512807,11.9539362,8.2395958,31.8772668,18.096341,1.9005907,1.9652301,25.6432754,20.5399924,44.7606314,14.8880567,41.1780714,66.1478614,42.2883011,51.5354686,31.0961818,4.3594371,10.7271174,6.5527571,30.1790694,18.3979793,1.6303891,1.6407106,26.203067,21.3736414,45.6055219,14.1761503,42.0105293,66.0005796,41.2963979,50.8059293,28.9380485,4.667235,9.8394744,6.7268894,30.198196,19.7493167 +2637,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9683807,0.9923242,14.1622976,10.6169235,46.8961337,19.5623591,32.7042755,62.9766486,33.1841807,44.0012972,19.9286625,6.2581081,11.0786939,8.1785462,33.4690456,8.7209439,0.9617202,0.9853162,14.2812279,10.6245305,47.5511012,19.2922515,32.617337,64.4075376,33.5278357,44.1972358,19.7294171,6.0720704,11.1923872,8.8063629,32.8600181,8.7732919,0.9652315,0.9886599,14.2156875,10.6912401,48.9158655,19.6200922,32.2011395,64.9525585,34.2251823,43.6875467,19.614167,6.2555349,11.3919922,8.9125218,33.1902187,8.2481752,0.9526125,0.978372,14.0810324,10.6803501,49.993418,20.2508043,31.8132143,65.6623133,34.6347184,43.6572178,19.3996471,6.00863,10.8922706,8.7728834,33.3694989,8.698538,1.0101614,1.030556,14.5272927,11.0761552,50.6071343,20.6781173,31.8088416,65.9930976,35.0938542,43.6065372,19.4735158,5.9904386,11.0827269,8.7550541,33.353829,8.6352636 +2638,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5829931,0.5950776,10.5911405,6.9110552,41.0811516,23.7426431,30.0785621,64.5082068,28.9435528,41.6035677,15.2357227,7.3486463,11.7803173,8.9843789,33.231084,5.477505,0.5687121,0.5808069,10.8519402,7.3167382,42.9888074,23.4661419,30.0929772,64.9375451,29.6280113,41.1362609,14.8939169,7.396094,12.1100579,8.9978314,33.4129178,5.8265346,0.6722542,0.6844109,10.730938,7.382079,44.2208728,23.9735026,29.7007691,65.5471126,30.6688225,40.4663705,14.8870521,7.5241874,12.0599495,9.1364612,33.0071365,6.3801834,0.7758143,0.7878247,11.2945111,7.7640785,44.6629324,25.0505551,29.6644178,66.6329574,31.5736127,41.6401095,14.8828307,7.4486398,12.0779521,9.1927176,33.2549287,6.3749761,0.7353211,0.6906754,11.1561093,7.7771571,44.3217923,24.3572609,29.9320522,67.3790343,32.451167,41.4236796,15.1004654,7.345018,12.7677631,9.6674019,33.5702099,6.3095013 +2639,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6994976,1.6446769,24.9351749,20.0001214,54.563895,15.8537303,42.0608732,66.2145193,37.5649571,46.0942739,22.8030776,3.9597317,13.7953117,10.7296928,34.5889639,17.8571227,1.6874936,1.663398,25.0462995,19.9801529,55.3780065,15.8256356,42.0410658,66.4483735,36.8534316,45.4970579,23.0744311,3.8518973,13.1817202,10.7464351,34.9587338,18.3071437,1.7001876,1.6761154,25.2546172,20.2898138,53.9846197,16.6679138,41.5800722,65.1908894,35.9648633,45.1462322,22.8470414,4.1725143,12.2128582,10.1428421,34.6006864,17.1487875,1.7590737,1.7284651,24.657776,19.883662,54.4357775,16.3742794,41.6094511,65.5218004,35.1089468,45.2814958,22.8898109,3.9604582,12.9830094,10.7850412,34.8742477,15.4618813,1.7486129,1.7004254,24.3156713,19.4683394,53.0600873,16.4001928,42.2724563,66.0244054,35.2770074,45.8530984,24.3229075,3.716229,12.900963,11.2954883,34.8226542,14.0756664 +2640,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6840654,1.7157536,27.5543068,23.5155297,41.7453256,15.2401672,34.8977575,61.7179848,32.5833091,44.8045539,18.5637618,3.1192453,14.1355617,10.1405631,36.3786596,20.7352253,1.4826655,1.5107886,28.1537097,24.2541981,43.7350109,15.292235,35.7834773,62.1572705,32.0409682,44.7933052,18.6018826,2.9346266,14.2225723,10.3847342,36.015574,17.7468339,1.4672963,1.5092001,29.5243414,25.2272618,45.7246478,15.3814424,35.9230555,61.5298603,31.4673408,44.8626607,18.5065627,2.9502669,13.9606784,10.524292,35.7905024,19.0961447,1.5591412,1.5848058,29.8736793,25.2658371,46.7360156,15.8283157,36.5023755,61.770542,31.5049172,44.4134105,18.7953282,2.9407104,14.1291843,10.6735668,36.0827399,20.2548729,1.6450265,1.6707403,29.8213404,25.2823572,47.3011291,15.9833299,36.2296325,62.0023042,32.660913,45.0686972,19.3178437,3.1403981,14.4768105,10.9276026,35.856789,20.2478352 +2641,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7124921,1.700971,28.2762642,23.7375606,70.5987902,14.7060461,35.185466,67.4054343,29.1825133,40.1881335,18.1654858,2.6835542,15.5286845,9.8835413,42.1556617,18.7551332,1.6608324,1.6706658,27.4393998,22.9586099,70.2640974,14.3772149,35.9869337,67.5361737,28.9843398,40.4453833,18.4922818,2.4503327,15.7598611,9.8891204,41.9726847,18.460174,1.6324511,1.6424314,26.8215492,22.1071066,69.7956235,14.1411345,36.0528659,67.5835462,29.0688171,40.5501318,18.3512262,2.7064356,15.5222176,9.6302768,41.9817406,18.9820158,1.4686237,1.478914,26.0093253,20.9961763,69.3573171,13.3931389,35.9270233,67.4641235,29.3238796,40.3837351,18.9930184,2.7841387,15.1449603,9.8696465,40.6620572,19.3492879,1.4750788,1.4873947,26.0596581,21.0723723,69.7365998,13.3848314,35.5093361,66.4642206,28.6682569,40.2880607,19.2018648,2.7788296,15.1544589,9.6406634,40.9012313,18.0399321 +2642,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6271361,1.7122231,28.1112217,24.1324414,43.5664818,17.2818709,40.2292307,67.2449019,36.5863595,48.2223264,25.2056282,3.7356374,11.9114728,9.3681112,30.0985858,28.8454618,1.6361009,1.7514714,27.3969919,23.4283117,44.0227184,17.3817291,39.833366,65.7853514,35.9556386,48.0211588,24.8548714,3.557537,11.979023,9.5746519,30.9487679,29.815664,1.7397315,1.8194445,27.068009,23.3913166,44.1182905,17.7301686,39.7722111,66.1183706,36.0755154,48.1286568,25.0222938,3.8003391,12.1191263,10.1538861,30.3539613,28.9214895,1.6170708,1.7039089,26.661641,22.8182944,43.4829529,18.1564074,39.5209006,66.2734704,36.3240778,48.1823334,25.3191981,3.6053755,12.3340307,10.6045591,29.9126661,25.3225084,1.5972206,1.6569772,25.9305924,22.1177779,42.8860561,17.6745693,39.5655067,67.1762044,36.9394301,48.6898746,27.4575185,3.5690086,12.2506711,10.8740879,30.2608752,23.2727216 +2643,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9772143,1.025331,17.0493289,13.193895,53.5712107,12.6433292,30.2913418,65.6515632,35.6341406,41.4174965,18.4989817,4.3897693,12.8646133,10.8214683,33.8584789,13.9254221,1.0648986,1.1406124,17.4706873,13.469593,53.9028153,12.2531473,30.6873099,66.3382676,35.6206945,40.6869949,18.4703007,4.3173948,13.3364309,11.6137819,34.4160612,14.3529937,1.1002983,1.1947341,17.8071478,13.8149183,54.5770151,12.3999589,30.8094222,66.4254012,35.8088273,40.3636142,18.4063678,4.2811023,13.1290512,11.3855476,34.2295184,13.7588059,1.1531021,1.2429776,18.0163168,13.8938448,55.8837076,12.0791427,31.573215,66.2408594,35.1273576,40.3520241,18.0104311,4.3056942,13.4406817,11.1802983,34.4927061,13.3831076,1.1919549,1.2818408,17.80445,13.6897426,56.3545717,11.9701172,32.0478148,66.3274565,35.3008988,39.8872795,18.2679412,4.3648356,13.6180859,11.568318,34.9019253,12.3963342 +2644,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9025059,0.909059,15.7503933,12.8588862,45.0454013,17.7865433,33.1036415,65.3323073,35.0838719,47.4688181,20.0874325,4.9468325,13.0316293,10.3717161,26.9445419,12.4984724,0.8035985,0.8101081,15.7114085,12.5774736,44.8757888,17.4051727,33.2144081,64.6970545,34.7409882,47.0965894,20.3535168,4.780815,12.7551489,10.6308586,27.1865073,12.498548,0.9007856,0.907333,15.8281542,12.709333,46.0004882,16.7075836,34.216201,64.8179789,34.7586838,47.0950754,20.7465453,5.0335251,13.179764,11.1778689,27.6145346,10.9681918,0.932398,0.932398,16.4703868,13.2626638,47.0915399,16.3673519,34.9832239,65.2128517,34.8440519,46.7562496,20.8704159,4.8995878,13.9055606,11.8406693,27.7936657,11.0366488,0.8859989,0.9083033,16.5362495,13.125043,47.1616225,15.9986952,34.9076733,65.3492076,34.5666635,46.6247249,21.0091238,5.0971817,13.6960261,11.2972374,26.4639606,10.2489457 +2645,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8402576,0.8831387,12.7094813,8.4983668,24.1844464,16.5062968,35.3260699,64.9421317,36.1730619,48.2001846,21.3791812,3.6490719,11.3143118,10.0985342,33.3497441,8.739255,0.856898,0.9106611,12.9527747,8.4499568,24.4588248,16.4018896,35.3921467,64.3580942,34.9955707,47.7452882,21.2911352,3.7676287,11.7465138,10.3396342,33.7981484,8.83233,0.8435173,0.8950856,13.2728509,8.7462168,25.348308,16.1033495,35.3775566,64.3023519,34.7083004,47.6284189,21.409864,3.7028964,11.9449781,9.982809,33.7745201,8.5507147,0.7817873,0.8500594,13.6791167,9.117073,26.0906104,15.7008412,35.4041231,63.922342,34.3006787,46.8974146,21.1307043,3.6471774,12.0813186,9.9566785,33.4921709,9.3390697,0.7373015,0.7957448,14.0577127,9.4577665,26.9335072,16.1933152,35.1487224,63.7747966,34.4263616,46.8484627,21.5793329,3.6756355,12.2572951,9.9671171,33.2878148,9.3575314 +2646,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8932547,0.9085579,14.4759664,10.733184,45.961586,18.4743986,33.2693802,65.6054524,34.8446286,43.1930553,20.7582232,4.489272,10.4567885,9.2617998,36.3243313,10.5179139,0.9940409,0.9889729,15.0251351,11.0417886,45.9854168,18.1847357,33.0613703,65.1732716,34.2904209,43.1173903,20.5697877,4.4804779,10.1163265,9.2351202,36.0246427,12.0987823,1.0725516,1.0892451,16.0393156,12.0159396,46.4280563,17.9339396,33.7203696,64.5100779,34.0963795,43.8068064,20.9577824,4.4791118,10.3697767,8.8950058,36.5738169,13.1211462,1.1688389,1.1784011,16.2605739,12.5232069,46.0681072,17.9809799,33.6404011,64.2842801,33.8945167,44.2292701,21.039867,4.5002267,10.3287769,8.7003353,36.3345147,15.2892795,1.2576409,1.2666941,17.0934435,13.1645788,46.8299808,17.8002826,33.8719378,63.6994334,33.0891448,44.0086036,20.8050076,4.3656823,10.1664438,8.5134116,36.4318689,14.8101735 +2647,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.947497,0.9707941,14.2737329,10.0742678,46.1080431,11.7697001,30.9425786,65.1655995,40.1633336,42.5733581,22.9536296,4.6103842,10.1978723,9.0856258,40.2308277,9.9004504,0.9965754,1.0125267,14.7532138,10.5289745,46.2850307,11.8775826,30.7921457,64.9647224,39.897939,42.4346135,22.3971658,4.4931297,10.1195329,8.882586,40.012577,10.3932681,0.9736286,0.9939667,15.0005459,10.9592699,46.3564836,11.851655,31.0040155,64.4639888,39.7233896,42.314371,22.4694162,4.4799618,10.1177141,8.8813684,40.0471092,10.4820735,0.9671638,1.007116,15.7731311,11.7111859,46.8505119,11.604015,31.920069,63.6890605,38.867116,42.1645539,22.0534446,4.3857263,10.4180907,8.8683953,40.1463836,12.0143116,1.0045728,1.0487466,16.7132687,12.3354799,46.7807535,11.4585833,32.1517071,63.1202626,38.000665,41.8861954,21.5922039,4.2270821,10.5758633,8.84363,40.6542816,12.9441581 +2648,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0648986,1.1406124,17.4706873,13.469593,53.9028153,12.2531473,30.6873099,66.3382676,35.6206945,40.6869949,18.4703007,4.3173948,13.3364309,11.6137819,34.4160612,14.3529937,1.1002983,1.1947341,17.8071478,13.8149183,54.5770151,12.3999589,30.8094222,66.4254012,35.8088273,40.3636142,18.4063678,4.2811023,13.1290512,11.3855476,34.2295184,13.7588059,1.1531021,1.2429776,18.0163168,13.8938448,55.8837076,12.0791427,31.573215,66.2408594,35.1273576,40.3520241,18.0104311,4.3056942,13.4406817,11.1802983,34.4927061,13.3831076,1.1919549,1.2818408,17.80445,13.6897426,56.3545717,11.9701172,32.0478148,66.3274565,35.3008988,39.8872795,18.2679412,4.3648356,13.6180859,11.568318,34.9019253,12.3963342,1.1934957,1.3118415,18.1987806,14.0083441,56.5514696,12.000489,32.4426578,66.3323349,34.3205055,39.8483992,17.7789777,4.2954969,13.2304183,11.1042916,34.5293069,10.5623412 +2649,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7197357,0.7018402,9.0160796,5.9915773,45.147594,22.3601261,29.8915149,65.381635,29.4653235,43.4134057,16.7183262,4.668733,10.5161999,7.6859046,36.3611264,6.4903846,0.8435966,0.8250092,9.3362655,6.177529,44.4280908,22.602459,30.0402414,65.8551308,29.8390342,42.6760563,17.0422535,4.4064386,10.7541899,7.9199549,35.7862339,8.0097087,0.7484308,0.7609012,10.2507076,6.9753336,45.3676158,22.3902237,30.5150041,65.7137064,29.5823195,42.5587997,16.7680454,4.3187348,10.9036797,8.1693989,35.7954545,7.3232323,0.746611,0.771184,11.3437002,7.6355662,46.8527067,22.8145425,30.6908946,65.1158147,29.293131,42.3921725,16.6333866,3.9337061,10.7124682,8.0976864,35.4961832,6.8527919,0.7966989,0.8389694,11.7406542,8.0412773,48.4656301,23.4318817,31.0176125,64.9902153,29.334638,43.3855186,17.0841487,4.3639922,10.7232546,7.6825558,34.7640562,6.712963 +2650,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4826655,1.5107886,28.1537097,24.2541981,43.7350109,15.292235,35.7834773,62.1572705,32.0409682,44.7933052,18.6018826,2.9346266,14.2225723,10.3847342,36.015574,17.7468339,1.4672963,1.5092001,29.5243414,25.2272618,45.7246478,15.3814424,35.9230555,61.5298603,31.4673408,44.8626607,18.5065627,2.9502669,13.9606784,10.524292,35.7905024,19.0961447,1.5591412,1.5848058,29.8736793,25.2658371,46.7360156,15.8283157,36.5023755,61.770542,31.5049172,44.4134105,18.7953282,2.9407104,14.1291843,10.6735668,36.0827399,20.2548729,1.6450265,1.6707403,29.8213404,25.2823572,47.3011291,15.9833299,36.2296325,62.0023042,32.660913,45.0686972,19.3178437,3.1403981,14.4768105,10.9276026,35.856789,20.2478352,1.6631371,1.6890126,29.3705457,25.0015976,49.0387766,16.4777609,36.1916809,61.5116311,32.079392,44.8269278,19.3667426,3.2377828,14.7067195,11.3750645,35.9739766,19.4623617 +2651,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.974609,0.9670767,12.989326,8.6865139,35.6222376,19.0249383,30.1062859,70.2922758,40.4350565,46.0146076,22.2351489,3.2049164,10.4923055,9.2729501,33.5083322,10.7143407,1.0432437,1.0457984,13.3825915,9.1789843,35.4611057,19.230749,29.7675301,70.0303339,40.8524126,46.0747917,22.2877366,3.2850385,10.2812485,8.7867351,32.8633963,11.9680915,1.1041043,1.0883065,13.1899752,9.3972268,36.0588782,19.4949957,29.9132039,69.1840326,40.0867868,45.5381875,22.204863,3.3506897,10.5513325,8.375793,33.1317612,13.6627986,1.0767341,1.0747249,13.6922111,9.7478248,36.2192515,19.0042801,30.7807503,68.5880538,39.6511536,45.4651256,22.2093104,3.3056437,9.5596629,7.7117257,34.1100634,12.6343684,1.0991725,1.1189334,14.0538139,10.1577066,36.0711837,19.0664423,30.478179,67.7802534,39.3445193,44.5693646,21.2634662,3.3723911,9.7935786,8.0718619,35.6313279,12.6942619 +2652,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.0432437,1.0457984,13.3825915,9.1789843,35.4611057,19.230749,29.7675301,70.0303339,40.8524126,46.0747917,22.2877366,3.2850385,10.2812485,8.7867351,32.8633963,11.9680915,1.1041043,1.0883065,13.1899752,9.3972268,36.0588782,19.4949957,29.9132039,69.1840326,40.0867868,45.5381875,22.204863,3.3506897,10.5513325,8.375793,33.1317612,13.6627986,1.0767341,1.0747249,13.6922111,9.7478248,36.2192515,19.0042801,30.7807503,68.5880538,39.6511536,45.4651256,22.2093104,3.3056437,9.5596629,7.7117257,34.1100634,12.6343684,1.0991725,1.1189334,14.0538139,10.1577066,36.0711837,19.0664423,30.478179,67.7802534,39.3445193,44.5693646,21.2634662,3.3723911,9.7935786,8.0718619,35.6313279,12.6942619,1.1465771,1.1661289,14.4539728,10.4466283,36.2556787,18.4011221,30.8357222,67.1536401,39.0983387,44.2193092,20.5623738,3.1888185,10.0435886,8.1955237,36.0436982,12.8787944 +2653,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8435966,0.8250092,9.3362655,6.177529,44.4280908,22.602459,30.0402414,65.8551308,29.8390342,42.6760563,17.0422535,4.4064386,10.7541899,7.9199549,35.7862339,8.0097087,0.7484308,0.7609012,10.2507076,6.9753336,45.3676158,22.3902237,30.5150041,65.7137064,29.5823195,42.5587997,16.7680454,4.3187348,10.9036797,8.1693989,35.7954545,7.3232323,0.746611,0.771184,11.3437002,7.6355662,46.8527067,22.8145425,30.6908946,65.1158147,29.293131,42.3921725,16.6333866,3.9337061,10.7124682,8.0976864,35.4961832,6.8527919,0.7966989,0.8389694,11.7406542,8.0412773,48.4656301,23.4318817,31.0176125,64.9902153,29.334638,43.3855186,17.0841487,4.3639922,10.7232546,7.6825558,34.7640562,6.712963,0.6033505,0.627177,11.3058552,7.9545455,49.98,22.4326435,30.3036126,65.5457341,29.8039969,42.7555726,16.7371253,4.3620292,11.4657814,8.114374,35.2022529,7.5342466 +2654,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6608324,1.6706658,27.4393998,22.9586099,70.2640974,14.3772149,35.9869337,67.5361737,28.9843398,40.4453833,18.4922818,2.4503327,15.7598611,9.8891204,41.9726847,18.460174,1.6324511,1.6424314,26.8215492,22.1071066,69.7956235,14.1411345,36.0528659,67.5835462,29.0688171,40.5501318,18.3512262,2.7064356,15.5222176,9.6302768,41.9817406,18.9820158,1.4686237,1.478914,26.0093253,20.9961763,69.3573171,13.3931389,35.9270233,67.4641235,29.3238796,40.3837351,18.9930184,2.7841387,15.1449603,9.8696465,40.6620572,19.3492879,1.4750788,1.4873947,26.0596581,21.0723723,69.7365998,13.3848314,35.5093361,66.4642206,28.6682569,40.2880607,19.2018648,2.7788296,15.1544589,9.6406634,40.9012313,18.0399321,1.4588643,1.4964178,25.1810462,20.1594936,68.6891612,13.9403433,37.3610579,66.8033006,29.3555383,41.2674195,19.2755944,2.9164375,14.9226341,9.5444899,39.4010197,17.3214011 +2655,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.2290376,2.2608529,35.9271186,30.9634242,57.4792336,10.1302024,38.5248336,63.3369688,34.706437,43.23985,20.2027975,2.8092457,17.9706927,14.1426558,40.511076,19.7345813,2.205053,2.2416714,35.4679876,30.2801616,57.232213,10.0786523,38.9271081,62.3503555,34.7487364,43.389726,19.9697048,2.4586994,18.0851298,14.028134,39.2228411,18.6738216,2.1056372,2.1097168,35.5411837,30.2030806,57.016586,9.9419737,38.8099048,62.1723746,34.368253,43.5326829,19.6392684,2.5159997,18.5156894,14.2964424,39.3236544,18.9245635,2.0073545,1.9811462,35.6375956,30.5200864,57.0483552,9.7940003,38.7839743,61.8706449,34.1445262,42.5695456,19.2884874,2.3498151,18.1820439,14.1827879,39.7424026,19.7934791,1.9752713,1.9719622,35.8808669,30.8612659,57.0795697,9.7869237,37.8380227,62.0458658,33.6278577,42.1900002,18.7400813,2.1639596,19.0649342,14.9660877,40.6841826,20.240426 +2656,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6949748,0.6993896,10.1033816,6.9454884,38.8965182,15.6625359,30.3255131,69.2122554,37.5673937,46.5042347,21.1575477,3.8617093,9.1521125,7.7639686,33.8278147,10.0318312,0.6673783,0.6845577,10.8803097,7.3847023,39.5440027,15.7235569,30.5971624,68.5417515,37.7854579,46.4339044,21.6304723,3.6971165,8.8853819,7.8965845,33.7389411,9.3846009,0.717325,0.7350087,11.1875615,7.7191368,40.1712127,15.4736798,30.5619926,68.3758112,37.3020349,46.4368418,21.4465039,3.9107745,9.4356615,8.1261282,33.7974351,9.6721153,0.8249406,0.843179,11.8992129,8.2214513,40.1642829,15.7702137,30.8067696,67.9183277,37.6195076,46.4840535,21.3047744,3.615539,9.8381801,8.1704161,34.561257,9.7269833,0.9092151,0.9362347,12.8397276,9.0312606,40.2106781,15.9347819,31.2629588,67.8133854,36.7860475,45.9849208,20.9519265,3.496699,10.1926261,8.0910815,33.9100704,9.5161198 +2657,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8521769,0.9778609,14.0173715,10.5077663,25.7037808,20.0301314,34.1548049,67.5983978,39.2507985,46.9613943,22.2653651,3.1661542,13.8446867,11.499874,37.8844988,8.3851397,0.8411963,0.9588668,15.2621497,11.4220799,26.5760877,19.6859809,34.4383596,66.0718287,37.4915183,46.2095998,21.8507692,3.2341722,14.1675884,11.342638,36.8012187,9.6491587,0.8038456,0.88081,15.8394979,12.1943125,27.4156481,20.0301455,34.0327074,65.455358,36.7654949,44.5404546,21.0494737,2.9830023,14.3380817,11.7953844,36.30713,8.4795173,0.8099415,0.8844855,16.7075028,12.8366791,27.5627085,20.3371202,33.5873607,65.2879792,36.042013,44.5886659,21.5850976,3.4392895,14.2338445,11.0550786,36.4044442,9.7058595,0.8557831,0.8875209,17.3645389,13.2766247,27.8282899,20.461285,33.1313023,64.7928908,35.2594123,44.9118235,21.2631004,3.4583917,13.9310285,10.873573,36.9103534,12.9517838 +2658,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8014133,0.8411834,12.6790247,8.5349308,25.4167575,14.0459657,30.3868089,67.4060084,40.4460007,47.5609001,20.6656862,8.3364557,11.1080412,9.459818,32.734073,9.6353847,0.8312468,0.8500403,12.7484533,8.6966526,25.9147032,13.9861975,30.4994024,67.2391995,40.2341446,46.6625919,20.8730406,8.2206365,10.6715182,9.7012128,33.9189163,10.8938171,0.8371631,0.8546972,13.1276545,8.8945835,26.3786772,13.8982216,31.6557215,65.8835424,38.5155794,46.149027,20.7545628,8.1044985,10.8412545,9.3031272,33.7463916,9.7499695,0.7769544,0.8032662,13.684103,9.3697717,26.8092903,13.6982958,32.1047762,65.9204749,37.96288,46.3769018,20.8854433,7.6297624,11.0703675,8.9454312,33.6386307,9.1584294,0.8355664,0.8619769,13.8903113,9.5379232,26.850639,13.2064236,31.8020561,64.9183341,37.0598219,46.2110833,20.6098751,6.9421349,11.2874324,9.1537259,33.2622482,6.783923 +2659,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8035985,0.8101081,15.7114085,12.5774736,44.8757888,17.4051727,33.2144081,64.6970545,34.7409882,47.0965894,20.3535168,4.780815,12.7551489,10.6308586,27.1865073,12.498548,0.9007856,0.907333,15.8281542,12.709333,46.0004882,16.7075836,34.216201,64.8179789,34.7586838,47.0950754,20.7465453,5.0335251,13.179764,11.1778689,27.6145346,10.9681918,0.932398,0.932398,16.4703868,13.2626638,47.0915399,16.3673519,34.9832239,65.2128517,34.8440519,46.7562496,20.8704159,4.8995878,13.9055606,11.8406693,27.7936657,11.0366488,0.8859989,0.9083033,16.5362495,13.125043,47.1616225,15.9986952,34.9076733,65.3492076,34.5666635,46.6247249,21.0091238,5.0971817,13.6960261,11.2972374,26.4639606,10.2489457,0.8049486,0.8274952,16.3108284,13.0115346,46.8541828,15.8190671,34.7739447,65.5434771,34.4601088,47.0185616,21.1436871,4.8188529,13.4969846,11.1843232,27.0938075,9.5596625 +2660,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9007856,0.907333,15.8281542,12.709333,46.0004882,16.7075836,34.216201,64.8179789,34.7586838,47.0950754,20.7465453,5.0335251,13.179764,11.1778689,27.6145346,10.9681918,0.932398,0.932398,16.4703868,13.2626638,47.0915399,16.3673519,34.9832239,65.2128517,34.8440519,46.7562496,20.8704159,4.8995878,13.9055606,11.8406693,27.7936657,11.0366488,0.8859989,0.9083033,16.5362495,13.125043,47.1616225,15.9986952,34.9076733,65.3492076,34.5666635,46.6247249,21.0091238,5.0971817,13.6960261,11.2972374,26.4639606,10.2489457,0.8049486,0.8274952,16.3108284,13.0115346,46.8541828,15.8190671,34.7739447,65.5434771,34.4601088,47.0185616,21.1436871,4.8188529,13.4969846,11.1843232,27.0938075,9.5596625,0.8691302,0.8847695,16.4035023,12.9395425,46.4183364,15.3967547,35.7610097,65.469395,34.7348939,47.4217191,21.8422331,4.6832297,13.1245319,10.8202843,27.6712838,9.6495547 +2661,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9154936,1.8613906,34.6222649,29.4877612,50.0838704,19.362473,38.0281204,66.8546232,34.8893139,47.758139,20.5123299,3.9577753,12.8776152,11.6795354,33.7693369,24.2336476,1.8476081,1.7937986,34.6857621,29.6542716,48.8544584,18.8346157,38.9188626,67.6005749,35.2187329,48.4557533,20.9862683,3.7932318,12.190335,12.1377949,32.6579908,26.5127723,1.4458578,1.4458578,33.9489748,29.2383929,49.0854068,19.0102416,39.222007,68.1858207,36.1116527,49.3703606,22.3331154,4.0375439,10.7823699,12.0152097,31.8130417,24.7372916,1.3182535,1.3532987,34.0765465,29.5079547,49.6832026,18.1475266,38.9245006,69.2570262,36.0044664,49.6166243,21.531563,3.782622,11.2818154,11.6506314,31.4155587,25.2580476,1.6662571,1.7751781,33.840293,29.0029911,48.998996,18.072249,38.7361267,69.1273712,35.6309332,49.9240668,21.2429162,3.6898103,11.5628991,10.306276,31.4149271,24.2990983 +2662,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8411963,0.9588668,15.2621497,11.4220799,26.5760877,19.6859809,34.4383596,66.0718287,37.4915183,46.2095998,21.8507692,3.2341722,14.1675884,11.342638,36.8012187,9.6491587,0.8038456,0.88081,15.8394979,12.1943125,27.4156481,20.0301455,34.0327074,65.455358,36.7654949,44.5404546,21.0494737,2.9830023,14.3380817,11.7953844,36.30713,8.4795173,0.8099415,0.8844855,16.7075028,12.8366791,27.5627085,20.3371202,33.5873607,65.2879792,36.042013,44.5886659,21.5850976,3.4392895,14.2338445,11.0550786,36.4044442,9.7058595,0.8557831,0.8875209,17.3645389,13.2766247,27.8282899,20.461285,33.1313023,64.7928908,35.2594123,44.9118235,21.2631004,3.4583917,13.9310285,10.873573,36.9103534,12.9517838,0.9792551,0.976399,18.1470779,13.9609034,27.750494,21.1719965,33.3078632,64.7520906,34.626954,44.6904565,21.2036768,3.3062654,13.983171,10.7927188,37.5115584,13.6871203 +2663,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9400678,0.9628661,17.7274343,14.3988416,75.6506894,8.4069443,28.0319008,63.5043565,28.0368012,37.1041256,14.6391878,5.5454142,14.0746186,9.4779647,36.2992813,9.2795364,0.9422958,0.9645676,18.1567494,14.7158142,76.2262776,8.1174687,28.0391001,63.5716463,27.948738,37.1036659,14.7042012,5.491194,14.3561876,9.8443005,37.063479,9.6648081,0.9783996,0.9898469,18.2803015,14.9361121,76.7667212,8.2630038,28.1649363,63.7852163,28.2592481,37.3104815,14.519936,5.7159467,14.4850662,9.9553866,37.0573558,9.4718153,0.9797999,0.9978858,18.213374,14.8092666,77.0585084,8.0685856,28.4540546,63.707739,28.086473,37.1357374,14.2255976,5.7301134,14.6405538,9.9226458,36.9817583,9.9164657,0.9961764,1.0150422,18.2071173,14.7024224,77.4151929,7.9152977,28.157223,63.4373856,28.1055283,36.949006,13.9656487,5.5438349,14.7382346,9.7307661,36.8833954,9.5727572 +2664,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7446169,0.7579469,12.5181958,9.748464,39.0421697,10.84491,30.7385049,66.7383119,34.984448,47.0093969,19.3291458,2.97229,12.2410298,10.0442784,29.3471791,9.0983621,0.825505,0.8433299,12.735582,9.9401577,39.3349566,10.8218956,30.758436,66.8033278,34.972873,46.9555672,19.3395359,3.0078219,12.2907515,10.1500082,29.5433767,8.7955626,0.8405834,0.8298432,13.2052917,10.3907923,40.1280051,10.7140028,30.2031317,66.7635674,34.6352464,46.4469195,18.763089,2.9775749,11.9764812,9.6560368,29.3832846,9.1121524,0.7793939,0.7629632,13.9227507,10.8479062,40.8343076,10.7311984,30.1476675,66.8269602,34.1479502,46.1371143,18.5085328,3.0191178,12.5408366,10.0553341,30.0074309,8.4234996,0.782203,0.7656823,14.0297236,10.9243754,41.4182019,10.687252,30.1630906,67.1535301,34.1879458,45.8244531,18.5516478,3.12851,12.3730017,10.0913148,29.5590874,8.9116761 +2665,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.6673783,0.6845577,10.8803097,7.3847023,39.5440027,15.7235569,30.5971624,68.5417515,37.7854579,46.4339044,21.6304723,3.6971165,8.8853819,7.8965845,33.7389411,9.3846009,0.717325,0.7350087,11.1875615,7.7191368,40.1712127,15.4736798,30.5619926,68.3758112,37.3020349,46.4368418,21.4465039,3.9107745,9.4356615,8.1261282,33.7974351,9.6721153,0.8249406,0.843179,11.8992129,8.2214513,40.1642829,15.7702137,30.8067696,67.9183277,37.6195076,46.4840535,21.3047744,3.615539,9.8381801,8.1704161,34.561257,9.7269833,0.9092151,0.9362347,12.8397276,9.0312606,40.2106781,15.9347819,31.2629588,67.8133854,36.7860475,45.9849208,20.9519265,3.496699,10.1926261,8.0910815,33.9100704,9.5161198,0.856117,0.8730154,13.0855162,9.2721748,40.6250191,15.2988224,30.7439593,67.4982283,36.0706671,45.800783,20.6942326,3.4002095,10.1014408,7.9178426,33.3569549,9.2532702 +2666,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0.717325,0.7350087,11.1875615,7.7191368,40.1712127,15.4736798,30.5619926,68.3758112,37.3020349,46.4368418,21.4465039,3.9107745,9.4356615,8.1261282,33.7974351,9.6721153,0.8249406,0.843179,11.8992129,8.2214513,40.1642829,15.7702137,30.8067696,67.9183277,37.6195076,46.4840535,21.3047744,3.615539,9.8381801,8.1704161,34.561257,9.7269833,0.9092151,0.9362347,12.8397276,9.0312606,40.2106781,15.9347819,31.2629588,67.8133854,36.7860475,45.9849208,20.9519265,3.496699,10.1926261,8.0910815,33.9100704,9.5161198,0.856117,0.8730154,13.0855162,9.2721748,40.6250191,15.2988224,30.7439593,67.4982283,36.0706671,45.800783,20.6942326,3.4002095,10.1014408,7.9178426,33.3569549,9.2532702,0.8985756,0.9206935,13.7226361,9.548058,40.7674225,15.1480015,31.1609433,66.7282321,35.417764,45.0043981,20.0615542,3.2981497,10.5128915,7.8826364,33.5535191,10.3279209 +2667,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7696561,1.6644804,28.859638,24.5565542,64.4266799,13.5600625,32.5339366,64.4560868,29.948443,39.9942909,17.8673549,2.5221887,16.1007157,12.3376244,39.023173,16.7177811,1.8002537,1.7036724,28.7552185,24.4053355,64.8534533,14.2823476,31.782079,63.7599439,29.4249325,39.6684703,18.3664985,2.3359854,17.0329061,13.336153,40.5135783,15.3225783,1.74326,1.6953216,29.0941213,24.1993413,64.1507988,14.2338555,32.4508451,63.1624135,30.1713196,40.1063044,18.8597843,2.2149981,16.7729329,12.8419913,39.5096498,14.8692894,1.8140517,1.7710103,29.5470185,24.1158537,63.9799541,14.1527623,33.1627057,63.0702848,30.068706,40.9431552,18.6203078,2.3518079,16.3745291,12.3567147,41.1394071,13.8796135,1.7287773,1.7217866,29.2072829,23.8680968,64.3915156,13.8903073,33.9215999,62.4599982,30.3733889,40.5740563,18.6205966,2.4402406,15.8588578,11.0498993,40.7809105,13.8596599 +2668,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9940409,0.9889729,15.0251351,11.0417886,45.9854168,18.1847357,33.0613703,65.1732716,34.2904209,43.1173903,20.5697877,4.4804779,10.1163265,9.2351202,36.0246427,12.0987823,1.0725516,1.0892451,16.0393156,12.0159396,46.4280563,17.9339396,33.7203696,64.5100779,34.0963795,43.8068064,20.9577824,4.4791118,10.3697767,8.8950058,36.5738169,13.1211462,1.1688389,1.1784011,16.2605739,12.5232069,46.0681072,17.9809799,33.6404011,64.2842801,33.8945167,44.2292701,21.039867,4.5002267,10.3287769,8.7003353,36.3345147,15.2892795,1.2576409,1.2666941,17.0934435,13.1645788,46.8299808,17.8002826,33.8719378,63.6994334,33.0891448,44.0086036,20.8050076,4.3656823,10.1664438,8.5134116,36.4318689,14.8101735,1.2570566,1.2524036,18.1589335,14.034207,47.793051,17.8078177,33.9745299,63.8243911,33.7070859,43.4377262,21.2817134,4.4126354,10.708,8.5702407,36.6030289,13.9162986 +2669,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8002537,1.7036724,28.7552185,24.4053355,64.8534533,14.2823476,31.782079,63.7599439,29.4249325,39.6684703,18.3664985,2.3359854,17.0329061,13.336153,40.5135783,15.3225783,1.74326,1.6953216,29.0941213,24.1993413,64.1507988,14.2338555,32.4508451,63.1624135,30.1713196,40.1063044,18.8597843,2.2149981,16.7729329,12.8419913,39.5096498,14.8692894,1.8140517,1.7710103,29.5470185,24.1158537,63.9799541,14.1527623,33.1627057,63.0702848,30.068706,40.9431552,18.6203078,2.3518079,16.3745291,12.3567147,41.1394071,13.8796135,1.7287773,1.7217866,29.2072829,23.8680968,64.3915156,13.8903073,33.9215999,62.4599982,30.3733889,40.5740563,18.6205966,2.4402406,15.8588578,11.0498993,40.7809105,13.8596599,1.6972137,1.7506822,28.3395833,23.089998,64.4061665,14.2814708,34.4654664,62.8958795,31.2748495,41.0566747,19.4688649,2.3807619,16.6661842,11.8948151,41.4909165,14.0071482 +2670,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5687121,0.5808069,10.8519402,7.3167382,42.9888074,23.4661419,30.0929772,64.9375451,29.6280113,41.1362609,14.8939169,7.396094,12.1100579,8.9978314,33.4129178,5.8265346,0.6722542,0.6844109,10.730938,7.382079,44.2208728,23.9735026,29.7007691,65.5471126,30.6688225,40.4663705,14.8870521,7.5241874,12.0599495,9.1364612,33.0071365,6.3801834,0.7758143,0.7878247,11.2945111,7.7640785,44.6629324,25.0505551,29.6644178,66.6329574,31.5736127,41.6401095,14.8828307,7.4486398,12.0779521,9.1927176,33.2549287,6.3749761,0.7353211,0.6906754,11.1561093,7.7771571,44.3217923,24.3572609,29.9320522,67.3790343,32.451167,41.4236796,15.1004654,7.345018,12.7677631,9.6674019,33.5702099,6.3095013,0.6858407,0.654356,11.2548612,7.8603075,45.6447645,24.2940941,29.2145669,67.3632804,32.66477,41.500656,15.4978636,7.6156923,13.7980543,10.0114572,34.3840641,5.5282352 +2671,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4672963,1.5092001,29.5243414,25.2272618,45.7246478,15.3814424,35.9230555,61.5298603,31.4673408,44.8626607,18.5065627,2.9502669,13.9606784,10.524292,35.7905024,19.0961447,1.5591412,1.5848058,29.8736793,25.2658371,46.7360156,15.8283157,36.5023755,61.770542,31.5049172,44.4134105,18.7953282,2.9407104,14.1291843,10.6735668,36.0827399,20.2548729,1.6450265,1.6707403,29.8213404,25.2823572,47.3011291,15.9833299,36.2296325,62.0023042,32.660913,45.0686972,19.3178437,3.1403981,14.4768105,10.9276026,35.856789,20.2478352,1.6631371,1.6890126,29.3705457,25.0015976,49.0387766,16.4777609,36.1916809,61.5116311,32.079392,44.8269278,19.3667426,3.2377828,14.7067195,11.3750645,35.9739766,19.4623617,1.6115726,1.6112123,29.5231634,25.326582,50.857844,16.1460953,35.756289,61.8528529,32.1216016,44.4320497,19.2564923,3.058142,14.31871,10.9116734,35.4076008,18.8734489 +2672,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9422958,0.9645676,18.1567494,14.7158142,76.2262776,8.1174687,28.0391001,63.5716463,27.948738,37.1036659,14.7042012,5.491194,14.3561876,9.8443005,37.063479,9.6648081,0.9783996,0.9898469,18.2803015,14.9361121,76.7667212,8.2630038,28.1649363,63.7852163,28.2592481,37.3104815,14.519936,5.7159467,14.4850662,9.9553866,37.0573558,9.4718153,0.9797999,0.9978858,18.213374,14.8092666,77.0585084,8.0685856,28.4540546,63.707739,28.086473,37.1357374,14.2255976,5.7301134,14.6405538,9.9226458,36.9817583,9.9164657,0.9961764,1.0150422,18.2071173,14.7024224,77.4151929,7.9152977,28.157223,63.4373856,28.1055283,36.949006,13.9656487,5.5438349,14.7382346,9.7307661,36.8833954,9.5727572,1.0539836,1.0684388,18.6349036,15.033556,77.7818187,7.8229659,27.9809317,63.5828237,28.0479648,36.7841253,13.8688237,5.4649213,14.8989885,9.8703113,36.9294971,9.639956 +2673,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6874936,1.663398,25.0462995,19.9801529,55.3780065,15.8256356,42.0410658,66.4483735,36.8534316,45.4970579,23.0744311,3.8518973,13.1817202,10.7464351,34.9587338,18.3071437,1.7001876,1.6761154,25.2546172,20.2898138,53.9846197,16.6679138,41.5800722,65.1908894,35.9648633,45.1462322,22.8470414,4.1725143,12.2128582,10.1428421,34.6006864,17.1487875,1.7590737,1.7284651,24.657776,19.883662,54.4357775,16.3742794,41.6094511,65.5218004,35.1089468,45.2814958,22.8898109,3.9604582,12.9830094,10.7850412,34.8742477,15.4618813,1.7486129,1.7004254,24.3156713,19.4683394,53.0600873,16.4001928,42.2724563,66.0244054,35.2770074,45.8530984,24.3229075,3.716229,12.900963,11.2954883,34.8226542,14.0756664,1.6466416,1.6356321,24.0346406,19.3619811,52.6723705,16.3242234,42.5483099,66.3656731,35.3425933,46.5653264,24.9465649,3.9345083,13.0906794,11.5912949,35.6083028,12.1795299 +2674,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8476081,1.7937986,34.6857621,29.6542716,48.8544584,18.8346157,38.9188626,67.6005749,35.2187329,48.4557533,20.9862683,3.7932318,12.190335,12.1377949,32.6579908,26.5127723,1.4458578,1.4458578,33.9489748,29.2383929,49.0854068,19.0102416,39.222007,68.1858207,36.1116527,49.3703606,22.3331154,4.0375439,10.7823699,12.0152097,31.8130417,24.7372916,1.3182535,1.3532987,34.0765465,29.5079547,49.6832026,18.1475266,38.9245006,69.2570262,36.0044664,49.6166243,21.531563,3.782622,11.2818154,11.6506314,31.4155587,25.2580476,1.6662571,1.7751781,33.840293,29.0029911,48.998996,18.072249,38.7361267,69.1273712,35.6309332,49.9240668,21.2429162,3.6898103,11.5628991,10.306276,31.4149271,24.2990983,1.5670995,1.6744657,32.7446593,27.7918038,47.9476628,18.1082006,37.7999773,70.0430809,35.6534248,49.387662,21.825468,3.7972665,11.5275942,10.5632266,30.8706309,23.8221589 +2675,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1536573,1.215014,19.4899138,15.5318366,84.6424823,12.7779655,32.9593179,64.6174275,36.2558787,38.2045859,18.9190312,5.1417607,13.5522088,11.3125897,35.9182102,12.2040009,1.2156684,1.2777901,19.4971043,15.4832207,84.4636124,12.9818767,32.975739,65.9977769,36.1760547,38.1453873,19.3293146,5.1979209,13.8155617,11.5709247,36.7994519,13.1160582,1.2195861,1.283302,20.1525768,16.0694173,83.7750265,12.4409249,33.1341151,66.1108658,36.6271981,38.2308546,19.3421673,4.9148079,12.9383987,10.3521005,36.164635,13.6108118,1.1669668,1.2637247,20.3226677,16.3122431,82.8123787,13.102513,33.3525093,66.1834949,37.9554382,39.3708896,20.0571091,5.0593533,13.2208086,10.5352143,36.3546298,12.5121499,0.9096312,1.0419079,20.0755138,16.1010303,81.4108751,13.68152,33.6596543,66.2236861,37.8138497,41.0349615,20.067369,5.8314911,13.8571708,10.7609204,36.3359494,10.0360557 +2676,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6722542,0.6844109,10.730938,7.382079,44.2208728,23.9735026,29.7007691,65.5471126,30.6688225,40.4663705,14.8870521,7.5241874,12.0599495,9.1364612,33.0071365,6.3801834,0.7758143,0.7878247,11.2945111,7.7640785,44.6629324,25.0505551,29.6644178,66.6329574,31.5736127,41.6401095,14.8828307,7.4486398,12.0779521,9.1927176,33.2549287,6.3749761,0.7353211,0.6906754,11.1561093,7.7771571,44.3217923,24.3572609,29.9320522,67.3790343,32.451167,41.4236796,15.1004654,7.345018,12.7677631,9.6674019,33.5702099,6.3095013,0.6858407,0.654356,11.2548612,7.8603075,45.6447645,24.2940941,29.2145669,67.3632804,32.66477,41.500656,15.4978636,7.6156923,13.7980543,10.0114572,34.3840641,5.5282352,0.7968108,0.7744624,11.8859047,8.1741088,46.7733043,24.3906637,29.1723726,66.7717454,32.9816397,41.8333443,15.9358609,7.4129716,13.6464715,9.9722028,34.8179149,6.9086408 +2677,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6833994,0.7044598,14.4821838,10.9785243,51.6266348,17.7894486,31.8315767,66.187818,31.7356005,41.6426284,18.2397514,4.2163923,11.6286451,9.5511255,31.7174929,8.310188,0.6954471,0.6932804,14.3817833,11.0501831,52.0109718,18.0763021,32.1692913,66.6749472,32.1961339,41.7084787,18.5020431,4.1571083,11.7629849,9.5090792,31.7318026,8.1771241,0.7102743,0.7240316,14.5616417,11.1175833,52.9058154,17.842008,31.7333285,66.9642023,31.8637288,41.5639747,18.7579293,4.1010579,11.7455548,9.2002811,31.2324546,7.465515,0.6557869,0.6700901,14.3128492,10.8830534,53.6328023,18.3920395,32.0097957,66.6768566,31.9128609,42.1337758,18.8001219,3.8787749,11.8581916,9.1275922,30.7006016,7.5618364,0.7798426,0.8020755,15.2175422,11.6238472,55.0071919,18.4977082,33.0006874,66.2156248,31.7826106,42.3976095,18.7605596,3.7457525,12.9024374,9.5381241,31.3370242,8.4235115 +2678,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7484308,0.7609012,10.2507076,6.9753336,45.3676158,22.3902237,30.5150041,65.7137064,29.5823195,42.5587997,16.7680454,4.3187348,10.9036797,8.1693989,35.7954545,7.3232323,0.746611,0.771184,11.3437002,7.6355662,46.8527067,22.8145425,30.6908946,65.1158147,29.293131,42.3921725,16.6333866,3.9337061,10.7124682,8.0976864,35.4961832,6.8527919,0.7966989,0.8389694,11.7406542,8.0412773,48.4656301,23.4318817,31.0176125,64.9902153,29.334638,43.3855186,17.0841487,4.3639922,10.7232546,7.6825558,34.7640562,6.712963,0.6033505,0.627177,11.3058552,7.9545455,49.98,22.4326435,30.3036126,65.5457341,29.8039969,42.7555726,16.7371253,4.3620292,11.4657814,8.114374,35.2022529,7.5342466,0.5478651,0.6007193,11.354127,7.8927349,51.4740566,23.5147566,30.0756144,65.3875236,30.2646503,42.3251418,16.2003781,3.9886578,11.3732768,8.0395299,34.3168527,6.5400844 +2679,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1946921,1.224272,23.1095887,18.9869503,43.5927734,18.8273625,39.2217588,66.2793362,38.6460702,47.579962,23.0810344,3.3582041,14.8123809,11.8891744,33.1504959,11.2047979,1.1451215,1.1474145,23.4826485,19.4570592,43.9675317,18.467811,39.679352,66.3304489,38.1503547,47.2605603,22.8817244,3.4295998,14.820469,11.0551547,33.4581321,10.7888424,1.1714999,1.1639628,23.8169308,19.7073499,44.616522,18.3159003,39.5005407,66.1317889,37.5026554,47.0881944,22.6248719,3.3687567,14.9322051,11.2106522,33.6047345,11.047798,1.1961154,1.1638425,24.4027615,20.1068797,45.160201,18.5002054,39.4286407,66.3492532,37.4384718,47.0896567,22.5872038,3.1564282,14.6475671,11.4317074,33.0444207,12.3059505,1.2350341,1.2127288,25.6477242,21.239042,46.172997,17.9710395,39.6224432,66.0942832,36.87073,46.6616741,22.4082751,3.2103225,13.8398503,10.4390774,32.7608445,12.9629222 +2680,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9617202,0.9853162,14.2812279,10.6245305,47.5511012,19.2922515,32.617337,64.4075376,33.5278357,44.1972358,19.7294171,6.0720704,11.1923872,8.8063629,32.8600181,8.7732919,0.9652315,0.9886599,14.2156875,10.6912401,48.9158655,19.6200922,32.2011395,64.9525585,34.2251823,43.6875467,19.614167,6.2555349,11.3919922,8.9125218,33.1902187,8.2481752,0.9526125,0.978372,14.0810324,10.6803501,49.993418,20.2508043,31.8132143,65.6623133,34.6347184,43.6572178,19.3996471,6.00863,10.8922706,8.7728834,33.3694989,8.698538,1.0101614,1.030556,14.5272927,11.0761552,50.6071343,20.6781173,31.8088416,65.9930976,35.0938542,43.6065372,19.4735158,5.9904386,11.0827269,8.7550541,33.353829,8.6352636,1.0280993,1.0399204,14.997221,11.5158916,52.219085,20.5061403,32.1394974,65.710502,34.9659936,43.1203572,19.2376378,5.9736322,11.1788895,8.4170559,33.0642989,8.6931145 +2681,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9783996,0.9898469,18.2803015,14.9361121,76.7667212,8.2630038,28.1649363,63.7852163,28.2592481,37.3104815,14.519936,5.7159467,14.4850662,9.9553866,37.0573558,9.4718153,0.9797999,0.9978858,18.213374,14.8092666,77.0585084,8.0685856,28.4540546,63.707739,28.086473,37.1357374,14.2255976,5.7301134,14.6405538,9.9226458,36.9817583,9.9164657,0.9961764,1.0150422,18.2071173,14.7024224,77.4151929,7.9152977,28.157223,63.4373856,28.1055283,36.949006,13.9656487,5.5438349,14.7382346,9.7307661,36.8833954,9.5727572,1.0539836,1.0684388,18.6349036,15.033556,77.7818187,7.8229659,27.9809317,63.5828237,28.0479648,36.7841253,13.8688237,5.4649213,14.8989885,9.8703113,36.9294971,9.639956,1.0141947,1.0383756,18.7359669,15.0839764,78.1466887,7.7184995,27.7576089,63.2895589,28.3409566,36.7588231,13.6311186,5.4152961,14.7255312,9.9302304,36.9109151,9.6707495 +2682,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.74326,1.6953216,29.0941213,24.1993413,64.1507988,14.2338555,32.4508451,63.1624135,30.1713196,40.1063044,18.8597843,2.2149981,16.7729329,12.8419913,39.5096498,14.8692894,1.8140517,1.7710103,29.5470185,24.1158537,63.9799541,14.1527623,33.1627057,63.0702848,30.068706,40.9431552,18.6203078,2.3518079,16.3745291,12.3567147,41.1394071,13.8796135,1.7287773,1.7217866,29.2072829,23.8680968,64.3915156,13.8903073,33.9215999,62.4599982,30.3733889,40.5740563,18.6205966,2.4402406,15.8588578,11.0498993,40.7809105,13.8596599,1.6972137,1.7506822,28.3395833,23.089998,64.4061665,14.2814708,34.4654664,62.8958795,31.2748495,41.0566747,19.4688649,2.3807619,16.6661842,11.8948151,41.4909165,14.0071482,1.5627028,1.617447,27.9200691,22.2618791,64.8006363,13.9349579,34.0690398,62.7685372,30.8415112,41.2849691,19.829244,2.395942,16.6176795,12.5569687,41.5952281,14.982 +2683,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8792837,0.9353223,17.6334856,14.3256121,59.7468867,13.5303043,27.2402347,66.3389537,29.537068,41.6652201,13.8072223,5.037409,14.0581973,10.6543523,30.510585,9.8184073,0.8571643,0.9052268,18.2125253,14.8395037,60.4831175,13.9754177,27.6310692,65.7271673,29.4702856,41.0677854,14.0242103,5.1004784,14.2196338,10.8502423,31.7195447,9.0689404,0.8776239,0.9248742,18.0570304,14.794566,61.1536804,13.9033887,27.5363332,65.4103808,29.1074295,41.1248303,13.881023,5.055974,14.3558033,10.4899104,31.2903441,9.0693229,0.9042173,0.9438384,18.3144485,15.1165275,61.705658,14.4539989,27.8838115,65.9552056,29.3068581,41.0932713,13.9712572,5.248605,14.3077643,10.6299464,32.0764733,9.2248865,0.9624227,1.0112969,18.647339,15.3504282,62.7913485,14.0942543,28.0873835,66.2903011,29.4229288,41.3438045,14.2540044,5.3174058,14.6642041,10.9632613,32.1537174,9.365114 +2684,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1041043,1.0883065,13.1899752,9.3972268,36.0588782,19.4949957,29.9132039,69.1840326,40.0867868,45.5381875,22.204863,3.3506897,10.5513325,8.375793,33.1317612,13.6627986,1.0767341,1.0747249,13.6922111,9.7478248,36.2192515,19.0042801,30.7807503,68.5880538,39.6511536,45.4651256,22.2093104,3.3056437,9.5596629,7.7117257,34.1100634,12.6343684,1.0991725,1.1189334,14.0538139,10.1577066,36.0711837,19.0664423,30.478179,67.7802534,39.3445193,44.5693646,21.2634662,3.3723911,9.7935786,8.0718619,35.6313279,12.6942619,1.1465771,1.1661289,14.4539728,10.4466283,36.2556787,18.4011221,30.8357222,67.1536401,39.0983387,44.2193092,20.5623738,3.1888185,10.0435886,8.1955237,36.0436982,12.8787944,1.0862793,1.1128321,14.2531257,10.7544922,36.4627148,18.2922836,31.2871271,67.2446131,38.5973109,44.6579322,20.5404642,3.1396468,9.7125796,8.1389864,36.3192267,13.5467914 +2685,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.4137558,1.4236764,20.737958,16.2898053,73.010245,11.3780422,31.9118466,60.749693,30.0626052,37.2162816,16.5817905,3.3213708,14.8357741,11.8558812,39.8963214,10.4143022,1.4071126,1.4012576,21.3599367,17.0558296,75.1516447,11.3988495,32.2276567,61.2031587,29.5952968,37.8839906,16.2721164,3.297237,14.4633451,11.6383378,39.2043519,10.1882025,1.2680963,1.2622575,22.3940729,18.0422366,77.4050493,11.537342,32.9269159,61.795854,29.8069457,38.912088,16.2679442,3.4379036,14.2379189,11.1871936,40.2697673,10.1923006,1.1720551,1.16233,21.8429382,17.9019305,78.4685133,11.7682889,33.0472518,61.6739417,30.4255374,39.1084988,16.2220651,3.2501401,13.9924628,11.5458799,39.6113337,8.8014936,1.012701,1.0470232,22.2783904,18.3266412,80.1735968,11.5308658,32.5574778,61.3873563,29.723322,38.2594605,15.3710151,3.3609247,14.1940142,11.8862826,39.0739549,9.3406535 +2686,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2646236,2.2905893,38.1902724,33.2560884,64.7857415,14.3440291,33.7796796,63.2914915,28.9234755,39.6619825,16.9837458,1.8398082,18.6929283,13.4839433,38.7753836,26.9290099,2.3670836,2.4242403,38.3279198,33.0454223,65.5009241,14.0578677,33.9639389,63.6556292,28.9524008,39.8523195,16.4998161,1.8917616,18.737514,13.5579373,39.9337591,25.9919165,2.4856141,2.5637916,38.8383704,33.5230889,66.2587261,13.1650145,34.3525673,62.3533659,28.3876836,38.8697608,15.8348834,1.734478,18.4332739,13.4058088,40.9791597,26.1694444,2.5187758,2.5916753,39.0475915,34.1255699,66.6711113,13.4149772,34.9111533,62.7039274,29.1362936,39.8571165,16.5830319,1.9457855,17.6213851,13.0286976,40.2453054,26.7873991,2.6273872,2.6755901,39.441909,34.4918684,67.8462055,13.1449255,35.4351734,62.0080408,28.0897264,38.8445454,16.1318837,2.2687709,16.9619769,12.5323472,40.5001029,25.3086655 +2687,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5591412,1.5848058,29.8736793,25.2658371,46.7360156,15.8283157,36.5023755,61.770542,31.5049172,44.4134105,18.7953282,2.9407104,14.1291843,10.6735668,36.0827399,20.2548729,1.6450265,1.6707403,29.8213404,25.2823572,47.3011291,15.9833299,36.2296325,62.0023042,32.660913,45.0686972,19.3178437,3.1403981,14.4768105,10.9276026,35.856789,20.2478352,1.6631371,1.6890126,29.3705457,25.0015976,49.0387766,16.4777609,36.1916809,61.5116311,32.079392,44.8269278,19.3667426,3.2377828,14.7067195,11.3750645,35.9739766,19.4623617,1.6115726,1.6112123,29.5231634,25.326582,50.857844,16.1460953,35.756289,61.8528529,32.1216016,44.4320497,19.2564923,3.058142,14.31871,10.9116734,35.4076008,18.8734489,1.4886874,1.4811877,28.774845,24.7816248,51.9439793,16.2625464,35.2321743,62.8077309,32.1392669,44.2461542,19.2301952,3.1296606,13.9967868,11.1184323,35.3627074,18.8282198 +2688,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8723496,1.9345341,23.9012285,19.5854182,44.5476548,14.9997609,41.7154583,66.8785729,40.7478299,52.3716474,31.2390705,4.3694639,11.8453746,8.1103958,30.618664,18.2324431,1.8449033,1.9067627,24.9397098,20.1442606,45.1616156,15.4346003,41.7106921,65.9182605,40.4088396,51.8997015,30.4328992,4.3512807,11.9539362,8.2395958,31.8772668,18.096341,1.9005907,1.9652301,25.6432754,20.5399924,44.7606314,14.8880567,41.1780714,66.1478614,42.2883011,51.5354686,31.0961818,4.3594371,10.7271174,6.5527571,30.1790694,18.3979793,1.6303891,1.6407106,26.203067,21.3736414,45.6055219,14.1761503,42.0105293,66.0005796,41.2963979,50.8059293,28.9380485,4.667235,9.8394744,6.7268894,30.198196,19.7493167,1.9523187,2.002437,27.2262689,22.2128866,46.039426,14.0214927,41.6339982,66.5385617,41.6311542,51.5954713,29.1712341,4.7686025,10.3318628,7.5468174,31.5371531,19.1514391 +2689,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.8571643,0.9052268,18.2125253,14.8395037,60.4831175,13.9754177,27.6310692,65.7271673,29.4702856,41.0677854,14.0242103,5.1004784,14.2196338,10.8502423,31.7195447,9.0689404,0.8776239,0.9248742,18.0570304,14.794566,61.1536804,13.9033887,27.5363332,65.4103808,29.1074295,41.1248303,13.881023,5.055974,14.3558033,10.4899104,31.2903441,9.0693229,0.9042173,0.9438384,18.3144485,15.1165275,61.705658,14.4539989,27.8838115,65.9552056,29.3068581,41.0932713,13.9712572,5.248605,14.3077643,10.6299464,32.0764733,9.2248865,0.9624227,1.0112969,18.647339,15.3504282,62.7913485,14.0942543,28.0873835,66.2903011,29.4229288,41.3438045,14.2540044,5.3174058,14.6642041,10.9632613,32.1537174,9.365114,0.8328044,0.8861369,18.8132645,15.6253444,63.8306636,13.8273721,28.3561057,66.6695635,29.4268509,41.3029557,13.9599057,5.3945254,14.4851948,10.9636631,31.7076385,8.98772 +2690,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0.6954471,0.6932804,14.3817833,11.0501831,52.0109718,18.0763021,32.1692913,66.6749472,32.1961339,41.7084787,18.5020431,4.1571083,11.7629849,9.5090792,31.7318026,8.1771241,0.7102743,0.7240316,14.5616417,11.1175833,52.9058154,17.842008,31.7333285,66.9642023,31.8637288,41.5639747,18.7579293,4.1010579,11.7455548,9.2002811,31.2324546,7.465515,0.6557869,0.6700901,14.3128492,10.8830534,53.6328023,18.3920395,32.0097957,66.6768566,31.9128609,42.1337758,18.8001219,3.8787749,11.8581916,9.1275922,30.7006016,7.5618364,0.7798426,0.8020755,15.2175422,11.6238472,55.0071919,18.4977082,33.0006874,66.2156248,31.7826106,42.3976095,18.7605596,3.7457525,12.9024374,9.5381241,31.3370242,8.4235115,0.7655268,0.7884725,15.8402616,12.1423361,56.4132617,19.1534658,32.6866733,65.9456588,31.6992483,42.2746916,18.4655022,3.6237835,13.0087374,9.8571052,31.347696,8.3570209 +2691,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2156684,1.2777901,19.4971043,15.4832207,84.4636124,12.9818767,32.975739,65.9977769,36.1760547,38.1453873,19.3293146,5.1979209,13.8155617,11.5709247,36.7994519,13.1160582,1.2195861,1.283302,20.1525768,16.0694173,83.7750265,12.4409249,33.1341151,66.1108658,36.6271981,38.2308546,19.3421673,4.9148079,12.9383987,10.3521005,36.164635,13.6108118,1.1669668,1.2637247,20.3226677,16.3122431,82.8123787,13.102513,33.3525093,66.1834949,37.9554382,39.3708896,20.0571091,5.0593533,13.2208086,10.5352143,36.3546298,12.5121499,0.9096312,1.0419079,20.0755138,16.1010303,81.4108751,13.68152,33.6596543,66.2236861,37.8138497,41.0349615,20.067369,5.8314911,13.8571708,10.7609204,36.3359494,10.0360557,1.1297048,1.198219,20.6448702,16.2450896,82.0148983,13.5255997,33.8104601,65.3418918,37.527423,39.9308866,19.2525861,5.3507225,12.7226702,9.5874354,36.8115606,10.3365638 +2692,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3670836,2.4242403,38.3279198,33.0454223,65.5009241,14.0578677,33.9639389,63.6556292,28.9524008,39.8523195,16.4998161,1.8917616,18.737514,13.5579373,39.9337591,25.9919165,2.4856141,2.5637916,38.8383704,33.5230889,66.2587261,13.1650145,34.3525673,62.3533659,28.3876836,38.8697608,15.8348834,1.734478,18.4332739,13.4058088,40.9791597,26.1694444,2.5187758,2.5916753,39.0475915,34.1255699,66.6711113,13.4149772,34.9111533,62.7039274,29.1362936,39.8571165,16.5830319,1.9457855,17.6213851,13.0286976,40.2453054,26.7873991,2.6273872,2.6755901,39.441909,34.4918684,67.8462055,13.1449255,35.4351734,62.0080408,28.0897264,38.8445454,16.1318837,2.2687709,16.9619769,12.5323472,40.5001029,25.3086655,2.5942801,2.650486,39.9633982,34.9695211,67.7964978,12.9779891,35.6043348,62.6516126,27.6920767,38.7136682,16.1399529,2.3129257,17.2585568,12.6172818,40.1526002,24.9995733 +2693,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.205053,2.2416714,35.4679876,30.2801616,57.232213,10.0786523,38.9271081,62.3503555,34.7487364,43.389726,19.9697048,2.4586994,18.0851298,14.028134,39.2228411,18.6738216,2.1056372,2.1097168,35.5411837,30.2030806,57.016586,9.9419737,38.8099048,62.1723746,34.368253,43.5326829,19.6392684,2.5159997,18.5156894,14.2964424,39.3236544,18.9245635,2.0073545,1.9811462,35.6375956,30.5200864,57.0483552,9.7940003,38.7839743,61.8706449,34.1445262,42.5695456,19.2884874,2.3498151,18.1820439,14.1827879,39.7424026,19.7934791,1.9752713,1.9719622,35.8808669,30.8612659,57.0795697,9.7869237,37.8380227,62.0458658,33.6278577,42.1900002,18.7400813,2.1639596,19.0649342,14.9660877,40.6841826,20.240426,1.9290523,1.9259316,35.364422,30.3545441,56.8861008,9.6398622,37.8602321,62.4353005,33.3295777,42.6797455,18.398518,2.0908443,19.4429537,15.676377,41.0942877,18.3375336 +2694,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0.5417096,0.5828728,10.4741087,6.9183227,48.6605941,21.4248377,30.5147081,62.3859051,30.6414856,39.8199832,17.1019238,7.1374243,9.9630417,7.8615312,34.5672689,4.7813947,0.6026025,0.6409893,10.690791,7.0217613,49.6307081,21.069588,30.5272317,61.7881047,30.5769706,39.1817962,17.3712927,7.5478717,10.2624963,7.829585,35.1141362,5.4089474,0.6598208,0.7059125,10.8029367,6.9022262,50.3168829,20.8075302,30.1922098,61.6450265,30.1672497,39.2036982,17.1367883,7.6510211,10.2784109,7.7796078,34.8312811,5.8423689,0.7634891,0.8015394,10.8988752,6.978774,50.7938641,20.8301561,29.7433996,61.8924181,30.1875152,39.2918853,17.0120854,7.9570665,10.4655099,8.1434917,34.9395608,5.528235,0.6669827,0.6944613,10.5036842,6.7444692,51.9597906,20.5545871,29.3325238,62.0995075,30.1577668,38.7985487,16.5169882,8.0218448,10.9781516,8.2805933,35.4608749,5.5687006 +2695,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1451215,1.1474145,23.4826485,19.4570592,43.9675317,18.467811,39.679352,66.3304489,38.1503547,47.2605603,22.8817244,3.4295998,14.820469,11.0551547,33.4581321,10.7888424,1.1714999,1.1639628,23.8169308,19.7073499,44.616522,18.3159003,39.5005407,66.1317889,37.5026554,47.0881944,22.6248719,3.3687567,14.9322051,11.2106522,33.6047345,11.047798,1.1961154,1.1638425,24.4027615,20.1068797,45.160201,18.5002054,39.4286407,66.3492532,37.4384718,47.0896567,22.5872038,3.1564282,14.6475671,11.4317074,33.0444207,12.3059505,1.2350341,1.2127288,25.6477242,21.239042,46.172997,17.9710395,39.6224432,66.0942832,36.87073,46.6616741,22.4082751,3.2103225,13.8398503,10.4390774,32.7608445,12.9629222,1.4174469,1.4014165,26.3555906,21.6163633,47.3440316,17.5031159,39.2092784,65.8150963,37.0468269,46.7776371,21.9524987,2.7241874,14.658436,11.0993082,33.1549102,13.437482 +2696,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0.6930434,0.6983676,11.6415323,7.8944315,49.8313056,13.3423309,29.4687412,63.6063084,29.9211191,39.8851669,16.3612079,13.7049071,13.0247126,9.5429672,37.5275821,5.8011043,0.6555507,0.66084,11.5194382,7.9192528,50.658992,13.2766382,28.9233774,64.4299549,30.3773343,40.047315,16.2416311,13.8645297,12.9052814,9.569775,37.4177677,6.0622305,0.6351283,0.6351283,11.5145691,8.0359141,51.2453702,13.4524315,28.578727,64.8711537,30.5880311,40.1464443,16.352592,14.048134,13.0610246,10.0059394,37.6062512,5.1810855,0.5632093,0.5750105,11.5006,8.2959613,51.6441137,13.5374706,29.1170637,65.7793173,31.0791449,40.0738576,16.5399015,13.7951957,13.0430166,10.3348991,36.7760594,5.0329252,0.6052973,0.6089202,11.1355338,8.1331724,52.4866432,13.8049781,28.9844911,66.1264272,31.2998068,40.3995273,16.7833274,14.0587989,13.1290314,10.4928964,36.6702818,5.0401427 +2697,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8140517,1.7710103,29.5470185,24.1158537,63.9799541,14.1527623,33.1627057,63.0702848,30.068706,40.9431552,18.6203078,2.3518079,16.3745291,12.3567147,41.1394071,13.8796135,1.7287773,1.7217866,29.2072829,23.8680968,64.3915156,13.8903073,33.9215999,62.4599982,30.3733889,40.5740563,18.6205966,2.4402406,15.8588578,11.0498993,40.7809105,13.8596599,1.6972137,1.7506822,28.3395833,23.089998,64.4061665,14.2814708,34.4654664,62.8958795,31.2748495,41.0566747,19.4688649,2.3807619,16.6661842,11.8948151,41.4909165,14.0071482,1.5627028,1.617447,27.9200691,22.2618791,64.8006363,13.9349579,34.0690398,62.7685372,30.8415112,41.2849691,19.829244,2.395942,16.6176795,12.5569687,41.5952281,14.982,1.4770888,1.566401,27.5714928,21.8742538,63.9699563,14.5354342,34.3460999,63.4562703,30.829009,41.8289079,20.5977136,2.391852,16.9408963,12.8882747,42.4524509,13.6182563 +2698,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.825505,0.8433299,12.735582,9.9401577,39.3349566,10.8218956,30.758436,66.8033278,34.972873,46.9555672,19.3395359,3.0078219,12.2907515,10.1500082,29.5433767,8.7955626,0.8405834,0.8298432,13.2052917,10.3907923,40.1280051,10.7140028,30.2031317,66.7635674,34.6352464,46.4469195,18.763089,2.9775749,11.9764812,9.6560368,29.3832846,9.1121524,0.7793939,0.7629632,13.9227507,10.8479062,40.8343076,10.7311984,30.1476675,66.8269602,34.1479502,46.1371143,18.5085328,3.0191178,12.5408366,10.0553341,30.0074309,8.4234996,0.782203,0.7656823,14.0297236,10.9243754,41.4182019,10.687252,30.1630906,67.1535301,34.1879458,45.8244531,18.5516478,3.12851,12.3730017,10.0913148,29.5590874,8.9116761,0.8299673,0.8250775,14.4248987,11.1891045,41.7412312,10.9930133,30.4510712,67.4771769,33.9753328,45.8375353,18.4372598,3.0886657,12.6211437,10.0969392,29.6688018,9.5125846 +2699,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2195861,1.283302,20.1525768,16.0694173,83.7750265,12.4409249,33.1341151,66.1108658,36.6271981,38.2308546,19.3421673,4.9148079,12.9383987,10.3521005,36.164635,13.6108118,1.1669668,1.2637247,20.3226677,16.3122431,82.8123787,13.102513,33.3525093,66.1834949,37.9554382,39.3708896,20.0571091,5.0593533,13.2208086,10.5352143,36.3546298,12.5121499,0.9096312,1.0419079,20.0755138,16.1010303,81.4108751,13.68152,33.6596543,66.2236861,37.8138497,41.0349615,20.067369,5.8314911,13.8571708,10.7609204,36.3359494,10.0360557,1.1297048,1.198219,20.6448702,16.2450896,82.0148983,13.5255997,33.8104601,65.3418918,37.527423,39.9308866,19.2525861,5.3507225,12.7226702,9.5874354,36.8115606,10.3365638,1.0587989,1.1395153,20.2991024,15.8281579,81.4819937,13.5282167,33.8038541,66.3745382,38.4931756,41.2905285,19.2252675,5.3262406,13.1578646,9.6181139,37.7441952,11.0694227 diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/main.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/main.py" new file mode 100644 index 00000000..90ffb6fd --- /dev/null +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/main.py" @@ -0,0 +1,16 @@ +# 这是一个示例 Python 脚本。 + +# 按 Shift+F10 执行或将其替换为您的代码。 +# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。 + + +def print_hi(name): + # 在下面的代码行中使用断点来调试脚本。 + print(f'Hi, {name}') # 按 Ctrl+F8 切换断点。 + + +# 按间距中的绿色按钮以运行脚本。 +if __name__ == '__main__': + print_hi('PyCharm') + +# 访问 https://www.jetbrains.com/help/pycharm/ 获取 PyCharm 帮助 diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" new file mode 100644 index 00000000..ea12668f --- /dev/null +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" @@ -0,0 +1,21 @@ +import torch.nn as nn + + +class My_Model(nn.Module): + def __init__(self, input_dim): + super(My_Model, self).__init__() + # TODO: modify model's structure, be aware of dimensions. + self.layers = nn.Sequential( + nn.Linear(input_dim, 32), + # nn.ReLU(), + nn.LeakyReLU(0.2), + nn.Linear(32, 16), + # nn.ReLU(), + nn.LeakyReLU(0.2), + nn.Linear(16, 1) + ) + + def forward(self, x): + x = self.layers(x) + x = x.squeeze(1) # (B, 1) -> (B) + return x diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/utility.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/utility.py" new file mode 100644 index 00000000..9a62a88a --- /dev/null +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/utility.py" @@ -0,0 +1,55 @@ +# Numerical Operations +import math +import numpy as np + +# Reading/Writing Data +import pandas as pd +import os +import csv + +# For Progress Bar +from tqdm import tqdm + +# Pytorch +import torch +import torch.nn as nn +from torch.utils.data import Dataset, DataLoader, random_split +# random_split随机将一个数据集分割成给定长度的不重叠的新数据集。可选择固定生成器以获得可复现的结果 + +# For plotting learning curve +from torch.utils.tensorboard import SummaryWriter + + +# 设置相同的随机种子 +# 参考阅读 https://pytorch.org/docs/stable/notes/randomness.html +def same_seed(seed): + '''Fixes random number generator seeds for reproducibility.''' + torch.backends.cudnn.deterministic = True + '''cuDNN to deterministically select an algorithm, possibly at the cost of reduced performance''' + torch.backends.cudnn.benchmark = False + np.random.seed(seed) + torch.manual_seed(seed) + if torch.cuda.is_available(): + # Sets the seed for generating random numbers on all GPUs. It’s safe to call this function if CUDA is not available; in that case, it is silently ignored. + torch.cuda.manual_seed_all(seed) + + +def train_valid_split(data_set, valid_ratio, seed): + '''Split provided training data into training set and validation set''' + valid_set_size = int(valid_ratio * len(data_set)) + train_set_size = len(data_set) - valid_set_size + train_set, valid_set = random_split(data_set, [train_set_size, valid_set_size], + generator=torch.Generator().manual_seed(seed)) + return np.array(train_set), np.array(valid_set) + + +def predict(test_loader, model, device): + model.eval() # Set your model to evaluation mode. + preds = [] + for x in tqdm(test_loader): + x = x.to(device) + with torch.no_grad(): + pred = model(x) + preds.append(pred.detach().cpu()) + preds = torch.cat(preds, dim=0).numpy() + return preds From d488771d2de233c83e7480feed07815a87ca9767 Mon Sep 17 00:00:00 2001 From: kk Date: Sat, 24 Sep 2022 22:05:58 +0800 Subject: [PATCH 04/36] 0.807 --- .../config.py" | 18 ++-- .../dataset.py" | 25 +++++ .../main.py" | 100 ++++++++++++++++-- .../model.py" | 78 ++++++++++++++ .../utility.py" | 27 ++--- 5 files changed, 219 insertions(+), 29 deletions(-) create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/dataset.py" diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" index a5f428f1..139f21ce 100644 --- "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" @@ -1,12 +1,14 @@ +version = 12 config = { - 'seed': 220418, # Your seed number, you can pick your lucky number. :) - 'select_all': False, # Whether to use all features. - 'valid_ratio': 0.2, # validation_size = train_size * valid_ratio - 'n_epochs': 3000, # Number of epochs. + 'seed': 220418, # Your seed number, you can pick your lucky number. :) + 'select_all': False, # Whether to use all features. + 'valid_ratio': 0.2, # validation_size = train_size * valid_ratio + 'n_epochs': 10000, # Number of epochs. 'batch_size': 256, 'learning_rate': 1e-5, 'weight_decay': 1e-4, - 'early_stop': 500, # If model has not improved for this many consecutive epochs, stop training. - 'save_path': './models/model-v10.ckpt', # Your model will be saved here. - 'pred_path': 'pred-v11.csv' # Your model will be saved here. -} \ No newline at end of file + 'feature_k': 24, + 'early_stop': 500, # If model has not improved for this many consecutive epochs, stop training. + 'save_path': './models/model-v%d.ckpt' % version, # Your model will be saved here. + 'pred_path': 'pred-v%d.csv' % version # Your model will be saved here. +} diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/dataset.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/dataset.py" new file mode 100644 index 00000000..210fdd51 --- /dev/null +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/dataset.py" @@ -0,0 +1,25 @@ +import torch +from torch.utils.data import Dataset + + +class COVID19Dataset(Dataset): + ''' + x: Features. + y: Targets, if none, do prediction. + ''' + + def __init__(self, x, y=None): + if y is None: + self.y = y + else: + self.y = torch.FloatTensor(y) + self.x = torch.FloatTensor(x) + + def __getitem__(self, idx): + if self.y is None: + return self.x[idx] + else: + return self.x[idx], self.y[idx] + + def __len__(self): + return len(self.x) diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/main.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/main.py" index 90ffb6fd..5f78d1da 100644 --- "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/main.py" +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/main.py" @@ -1,16 +1,98 @@ -# 这是一个示例 Python 脚本。 +# Numerical Operations +import math +import time -# 按 Shift+F10 执行或将其替换为您的代码。 -# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。 +import numpy as np +# Reading/Writing Data +import pandas as pd +import os +import csv -def print_hi(name): - # 在下面的代码行中使用断点来调试脚本。 - print(f'Hi, {name}') # 按 Ctrl+F8 切换断点。 +# For Progress Bar +from tqdm import tqdm + +# Pytorch +import torch +import torch.nn as nn +from torch.utils.data import Dataset, DataLoader, random_split +# random_split随机将一个数据集分割成给定长度的不重叠的新数据集。可选择固定生成器以获得可复现的结果 + +from sklearn.feature_selection import SelectKBest +from sklearn.feature_selection import f_regression +# For plotting learning curve +from torch.utils.tensorboard import SummaryWriter + +from utility import * +from config import config +from dataset import COVID19Dataset +from model import trainer, My_Model + +device = 'cuda' if torch.cuda.is_available() else 'cpu' + + +# Choose features you deem useful by modifying the function below. +def select_feat(train_data, valid_data, test_data, select_all=True, feature_idx=None): + '''Selects useful features to perform regression''' + y_train, y_valid = train_data[:, -1], valid_data[:, -1] + raw_x_train, raw_x_valid, raw_x_test = train_data[:, :-1], valid_data[:, :-1], test_data + + if select_all: + feat_idx = list(range(raw_x_train.shape[1])) + else: + # feat_idx = list(range(raw_x_train.shape[1]))[1:] # TODO: Select suitable feature columns. + feat_idx = feature_idx + # print(feat_idx) + + return raw_x_train[:, feat_idx], raw_x_valid[:, feat_idx], raw_x_test[:, feat_idx], y_train, y_valid -# 按间距中的绿色按钮以运行脚本。 if __name__ == '__main__': - print_hi('PyCharm') + # Set seed for reproducibility + same_seed(config['seed']) + + features = pd.read_csv('./covid.train.csv') + x_data, y_data = features.iloc[:, :-1], features.iloc[:, -1] + k=config['feature_k'] + selector = SelectKBest(score_func=f_regression, k=config['feature_k']) + result = selector.fit(x_data, y_data) + idx = np.argsort(result.scores_)[::-1] + print(x_data.columns[idx[:k]]) + selected_idx = list(np.sort(idx[:k])) + print(selected_idx) + time.sleep(3) + + # train_data size: 2699 x 118 (id + 37 states + 16 features x 5 days) + # test_data size: 1078 x 117 (without last day's positive rate) + train_data, test_data = pd.read_csv('./covid.train.csv').values, pd.read_csv('./covid.test.csv').values + train_data, valid_data = train_valid_split(train_data, config['valid_ratio'], config['seed']) + + # Print out the data size. + print(f"""train_data size: {train_data.shape} + valid_data size: {valid_data.shape} + test_data size: {test_data.shape}""") + + # Select features + x_train, x_valid, x_test, y_train, y_valid = select_feat(train_data, valid_data, test_data, config['select_all'], + selected_idx) + + # Print out the number of features. + print(f'number of features: {x_train.shape[1]}') + + # init dataset + train_dataset = COVID19Dataset(x_train, y_train) + valid_dataset = COVID19Dataset(x_valid, y_valid) + test_dataset = COVID19Dataset(x_test) + + # Pytorch data loader loads pytorch dataset into batches. + train_loader = DataLoader(train_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True) + valid_loader = DataLoader(valid_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True) + test_loader = DataLoader(test_dataset, batch_size=config['batch_size'], shuffle=False, pin_memory=True) + + model = My_Model(input_dim=x_train.shape[1]).to(device) # put your model and data on the same computation device. + trainer(train_loader, valid_loader, model, config, device) -# 访问 https://www.jetbrains.com/help/pycharm/ 获取 PyCharm 帮助 + model = My_Model(input_dim=x_train.shape[1]).to(device) + model.load_state_dict(torch.load(config['save_path'])) + preds = predict(test_loader, model, device) + save_pred(preds, config['pred_path']) diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" index ea12668f..976f8ce2 100644 --- "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" @@ -1,4 +1,10 @@ +import math +import os + +import torch import torch.nn as nn +from torch.utils.tensorboard import SummaryWriter +from tqdm import tqdm class My_Model(nn.Module): @@ -19,3 +25,75 @@ def forward(self, x): x = self.layers(x) x = x.squeeze(1) # (B, 1) -> (B) return x + + +def trainer(train_loader, valid_loader, model, config, device): + criterion = nn.MSELoss(reduction='mean') # Define your loss function, do not modify this. + + # Define your optimization algorithm. + # TODO: Please check https://pytorch.org/docs/stable/optim.html to get more available algorithms. + # TODO: L2 regularization (optimizer(weight decay...) or implement by your self). + # optimizer = torch.optim.SGD(model.parameters(), lr=config['learning_rate'], momentum=0.9) + # optimizer = torch.optim.ASGD(model.parameters(), lr=config['learning_rate']) + # optimizer = torch.optim.SGD(model.parameters(), lr=config['learning_rate'], momentum=0.9, weight_decay=config['weight_decay']) + optimizer = torch.optim.Adam(model.parameters(), betas=[0.9, 0.999], lr=config['learning_rate'], eps=1e-6, + weight_decay=config['weight_decay']) + + writer = SummaryWriter() # Writer of tensoboard. + + if not os.path.isdir('./models'): + os.mkdir('./models') # Create directory of saving models. + + n_epochs, best_loss, step, early_stop_count = config['n_epochs'], math.inf, 0, 0 + + for epoch in range(n_epochs): + model.train() # Set your model to train mode. + loss_record = [] + + # tqdm is a package to visualize your training progress. + train_pbar = tqdm(train_loader, position=0, leave=True) + + for x, y in train_pbar: + optimizer.zero_grad() # Set gradient to zero. + x, y = x.to(device), y.to(device) # Move your data to device. + pred = model(x) + loss = criterion(pred, y) + loss.backward() # Compute gradient(backpropagation). + optimizer.step() # Update parameters. + step += 1 + loss_record.append(loss.detach().item()) + + # Display current epoch number and loss on tqdm progress bar. + train_pbar.set_description(f'Epoch [{epoch + 1}/{n_epochs}]') + train_pbar.set_postfix({'loss': loss.detach().item()}) + + mean_train_loss = sum(loss_record) / len(loss_record) + writer.add_scalar('Loss/train', mean_train_loss, step) + + model.eval() # Set your model to evaluation mode. + loss_record = [] + for x, y in valid_loader: + x, y = x.to(device), y.to(device) + # 验证的时候无需计算梯度下降 + with torch.no_grad(): + pred = model(x) + loss = criterion(pred, y) + + loss_record.append(loss.item()) + + mean_valid_loss = sum(loss_record) / len(loss_record) + print(f'Epoch [{epoch + 1}/{n_epochs}]: Train loss: {mean_train_loss:.4f}, Valid loss: {mean_valid_loss:.4f}') + writer.add_scalar('Loss/valid', mean_valid_loss, step) + + if mean_valid_loss < best_loss: + best_loss = mean_valid_loss + torch.save(model.state_dict(), config['save_path']) # Save your best model + print('Saving model with loss {:.3f}...'.format(best_loss)) + early_stop_count = 0 + else: + early_stop_count += 1 + + # 训练一定次数后没有更好的loss 则退出训练 + if early_stop_count >= config['early_stop']: + print('\nModel is not improving, so we halt the training session.') + return \ No newline at end of file diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/utility.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/utility.py" index 9a62a88a..44f0b8d7 100644 --- "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/utility.py" +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/utility.py" @@ -1,23 +1,17 @@ # Numerical Operations -import math import numpy as np - -# Reading/Writing Data -import pandas as pd -import os -import csv - +# Pytorch +import torch +from torch.utils.data import random_split # For Progress Bar from tqdm import tqdm +import csv -# Pytorch -import torch -import torch.nn as nn -from torch.utils.data import Dataset, DataLoader, random_split + +# Reading/Writing Data # random_split随机将一个数据集分割成给定长度的不重叠的新数据集。可选择固定生成器以获得可复现的结果 # For plotting learning curve -from torch.utils.tensorboard import SummaryWriter # 设置相同的随机种子 @@ -53,3 +47,12 @@ def predict(test_loader, model, device): preds.append(pred.detach().cpu()) preds = torch.cat(preds, dim=0).numpy() return preds + + +def save_pred(preds, file): + ''' Save predictions to specified file ''' + with open(file, 'w') as fp: + writer = csv.writer(fp) + writer.writerow(['id', 'tested_positive']) + for i, p in enumerate(preds): + writer.writerow([i, p]) From 09b63698561ee224d7f7669f6fdae0b78a47b5fb Mon Sep 17 00:00:00 2001 From: kk Date: Sun, 25 Sep 2022 09:44:46 +0800 Subject: [PATCH 05/36] <1.10 --- .../config.py" | 12 ++--- .../model.py" | 45 ++++++++++++++----- .../version_note" | 17 +++++++ 3 files changed, 57 insertions(+), 17 deletions(-) create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/version_note" diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" index 139f21ce..d4f578ae 100644 --- "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" @@ -1,14 +1,14 @@ -version = 12 +version = 18 config = { 'seed': 220418, # Your seed number, you can pick your lucky number. :) 'select_all': False, # Whether to use all features. 'valid_ratio': 0.2, # validation_size = train_size * valid_ratio 'n_epochs': 10000, # Number of epochs. - 'batch_size': 256, - 'learning_rate': 1e-5, - 'weight_decay': 1e-4, - 'feature_k': 24, - 'early_stop': 500, # If model has not improved for this many consecutive epochs, stop training. + 'batch_size': 100, + 'learning_rate': 1e-4, + 'weight_decay': 1e-3, + 'feature_k': 20, + 'early_stop': 1000, # If model has not improved for this many consecutive epochs, stop training. 'save_path': './models/model-v%d.ckpt' % version, # Your model will be saved here. 'pred_path': 'pred-v%d.csv' % version # Your model will be saved here. } diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" index 976f8ce2..ac4ec634 100644 --- "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" @@ -6,20 +6,43 @@ from torch.utils.tensorboard import SummaryWriter from tqdm import tqdm - +# tensorboard --logdir=./runs/ class My_Model(nn.Module): def __init__(self, input_dim): super(My_Model, self).__init__() + d1 = 64 + d2 = 16 + d3 = 8 + layer = 3 # TODO: modify model's structure, be aware of dimensions. - self.layers = nn.Sequential( - nn.Linear(input_dim, 32), - # nn.ReLU(), - nn.LeakyReLU(0.2), - nn.Linear(32, 16), - # nn.ReLU(), - nn.LeakyReLU(0.2), - nn.Linear(16, 1) - ) + if 3 == layer: + self.layers = nn.Sequential( + nn.Linear(input_dim, d1), + nn.ReLU(), + # nn.BatchNorm1d(d1), + # nn.LeakyReLU(0.2), + # nn.Dropout(0.1), + nn.Linear(d1, d2), + # nn.ReLU(), + nn.LeakyReLU(), + # nn.Dropout(0.2), + nn.Linear(d2, 1) + ) + elif 2 == layer: + self.layers = nn.Sequential( + # 肥肠重要的改动 https://blog.csdn.net/qq_23262411/article/details/100175943 + # nn.BatchNorm1d(input_dim), + nn.Linear(input_dim, d1), + nn.BatchNorm1d(d1), + nn.LeakyReLU(), + nn.Dropout(0.2), + nn.Linear(d1, 1) + ) + elif 1==layer: + self.layers = nn.Sequential( + nn.BatchNorm1d(input_dim), + nn.Linear(input_dim, 1) + ) def forward(self, x): x = self.layers(x) @@ -96,4 +119,4 @@ def trainer(train_loader, valid_loader, model, config, device): # 训练一定次数后没有更好的loss 则退出训练 if early_stop_count >= config['early_stop']: print('\nModel is not improving, so we halt the training session.') - return \ No newline at end of file + return diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/version_note" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/version_note" new file mode 100644 index 00000000..c74841e8 --- /dev/null +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/version_note" @@ -0,0 +1,17 @@ +v15: + 修改模型 不同层采用不同的激活函数 + 修改batch_size更小 + 修改 + +v16: + 不考虑dropOut 和BatchNorm1d + 取得了较低的train loss但是无法下降到1.10一下 + +v17 加大学习率 更快收敛 + +v18 学习率1e-4 + batch_size 为100 + 获得较为理想的结果 + train_loss最后稳定在1.10以内 + valid_loss曲线波动较小 + 说明2个数据集都拟合较好 \ No newline at end of file From 98b182ad455a4527a90321fd7630474f5d1d7f1a Mon Sep 17 00:00:00 2001 From: kk Date: Sun, 25 Sep 2022 13:11:16 +0800 Subject: [PATCH 06/36] =?UTF-8?q?v20=20=E5=8F=8Cboss=20line?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config.py" | 6 +++--- .../model.py" | 18 ++++++++++-------- .../version_note" | 12 +++++++++++- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" index d4f578ae..9f95da85 100644 --- "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/config.py" @@ -1,6 +1,6 @@ -version = 18 +version = 21 config = { - 'seed': 220418, # Your seed number, you can pick your lucky number. :) + 'seed': 1, # Your seed number, you can pick your lucky number. :) 'select_all': False, # Whether to use all features. 'valid_ratio': 0.2, # validation_size = train_size * valid_ratio 'n_epochs': 10000, # Number of epochs. @@ -8,7 +8,7 @@ 'learning_rate': 1e-4, 'weight_decay': 1e-3, 'feature_k': 20, - 'early_stop': 1000, # If model has not improved for this many consecutive epochs, stop training. + 'early_stop': 3000, # If model has not improved for this many consecutive epochs, stop training. 'save_path': './models/model-v%d.ckpt' % version, # Your model will be saved here. 'pred_path': 'pred-v%d.csv' % version # Your model will be saved here. } diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" index ac4ec634..39dc34df 100644 --- "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/model.py" @@ -6,22 +6,23 @@ from torch.utils.tensorboard import SummaryWriter from tqdm import tqdm -# tensorboard --logdir=./runs/ + +# tensorboard --logdir=D:\projects\ML2022-Spring\HW01\洪钦敏-HW1\runs class My_Model(nn.Module): def __init__(self, input_dim): super(My_Model, self).__init__() d1 = 64 d2 = 16 d3 = 8 - layer = 3 + layer = 2 # TODO: modify model's structure, be aware of dimensions. if 3 == layer: self.layers = nn.Sequential( + # nn.BatchNorm1d(input_dim), nn.Linear(input_dim, d1), nn.ReLU(), - # nn.BatchNorm1d(d1), # nn.LeakyReLU(0.2), - # nn.Dropout(0.1), + nn.Dropout(0.2), nn.Linear(d1, d2), # nn.ReLU(), nn.LeakyReLU(), @@ -30,15 +31,16 @@ def __init__(self, input_dim): ) elif 2 == layer: self.layers = nn.Sequential( - # 肥肠重要的改动 https://blog.csdn.net/qq_23262411/article/details/100175943 + # 重要的改动 https://blog.csdn.net/qq_23262411/article/details/100175943 + # 然而没啥用貌似 # nn.BatchNorm1d(input_dim), nn.Linear(input_dim, d1), - nn.BatchNorm1d(d1), + # nn.BatchNorm1d(d1), nn.LeakyReLU(), - nn.Dropout(0.2), + # nn.Dropout(0.2), nn.Linear(d1, 1) ) - elif 1==layer: + elif 1 == layer: self.layers = nn.Sequential( nn.BatchNorm1d(input_dim), nn.Linear(input_dim, 1) diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/version_note" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/version_note" index c74841e8..f2794d58 100644 --- "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/version_note" +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/version_note" @@ -14,4 +14,14 @@ v18 学习率1e-4 获得较为理想的结果 train_loss最后稳定在1.10以内 valid_loss曲线波动较小 - 说明2个数据集都拟合较好 \ No newline at end of file + 说明2个数据集都拟合较好 + 得分双strong + +v19 feature_k = 30 +Epoch [1394/10000]: Train loss: 1.0615, Valid loss: 0.9043 +Saving model with loss 0.904... +测试结果 过拟合太严重 得分1.8 +后续降低模型复杂度测试一下 + +v20 +v19降低复杂度之后 采用更小的batch_size 获得比最佳更小的valid_loss From 7b9e700698cd5d3f03af3a433ba3c827d88140f9 Mon Sep 17 00:00:00 2001 From: kk Date: Sun, 25 Sep 2022 13:11:57 +0800 Subject: [PATCH 07/36] =?UTF-8?q?v20=20=E5=8F=8Cboss=20line?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HW1-\346\264\252\351\222\246\346\225\217.ipynb" | 1 - 1 file changed, 1 deletion(-) delete mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/HW1-\346\264\252\351\222\246\346\225\217.ipynb" diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/HW1-\346\264\252\351\222\246\346\225\217.ipynb" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/HW1-\346\264\252\351\222\246\346\225\217.ipynb" deleted file mode 100644 index 5b7a8aa6..00000000 --- "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/HW1-\346\264\252\351\222\246\346\225\217.ipynb" +++ /dev/null @@ -1 +0,0 @@ -{"cells":[{"cell_type":"markdown","metadata":{"id":"guE34D3Fj2R9"},"source":["# **Homework 1: COVID-19 Cases Prediction (Regression)**"]},{"cell_type":"markdown","source":["# 一些思考项\n","* 如何筛选有用的数据(feature) \n"," 每行为一个地区的一批人 数据大多以百分比形式展示 \n"," 数据一共划分为5个大区块 1+37+16*5=118 \n"," 1 为id \n"," 2-38 为States的ont-hot编码 \n"," 后续是5天的数据 \n"," 每天数据包含了 \n"," covid-like illness 新冠症状 1-4 \n"," behavior indicators 个人行为 5-12 \n"," mental health 心理健康 13-15 \n"," tested_positive 检测阳性 \n","\n","* 如何选定模型有几层,中间层的维度有几个,激活函数怎么选?sigmod or relu or other?\n","* 如何优化,LR如何选择,BATCH数量是否有影响"],"metadata":{"id":"tH0z0rfKm1WF"}},{"cell_type":"markdown","source":["# 学习结果\n","* v1 无任何优化 \n","Epoch [1483/3000]: Train loss: 1.7857, Valid loss: 1.6509 \n","Saving model with loss 1.651...\n","* v2 修改了Feature个数 \n","考虑到虽然不同州的法律不同,限制不同\n","但是这些因素在行为里面已经有充分展示-例如戴口罩比例 \n","是否乘坐交通工具,是否有大事件等 所以直接删除州的feature \n","只考虑后面的因素 \n","Epoch [1443/3000]: Train loss: 1.0971, Valid loss: 1.0070 \n","Saving model with loss 1.007...\n","* v3 V2基础上 反悔了 还是继续考虑州 \n","因为第一列ID 根本没用 删掉再试试 果然结果更好 \n","Epoch [1369/3000]: Train loss: 1.0856, Valid loss: 0.9820 \n","Saving model with loss 0.982... \n","* v4 v3的Feature选择基础上 更改激活函数为sigmoid \n","第一次尝试的结果epoch选择3000 跑完没收敛完 并且收敛速度慢 结果差 \n","第二次尝试的结果 修改lr为1e-4 结果跑了600次就没有优化Loss 结果为5 更差 \n","第三次尝试的结果 lr=1e-5 epoch=5000 没收敛 后续改10000 \n","Epoch [5221/10000]: Train loss: 1.2713, Valid loss: 1.2518 \n","Saving model with loss 1.252... \n","好吧 后面忘记改配置了 被relu修改batch=100给覆盖了 \n","Epoch [1945/3000]: Train loss: 1.0990, Valid loss: 1.1068 \n","Saving model with loss 1.107... \n","* v5 v3的feature选择基础上 模型复杂化 117-32-16-1 \n","Epoch [1069/3000]: Train loss: 1.0996, Valid loss: 0.9925 \n","Saving model with loss 0.992... \n","* v6 修改了幸运种子 \n","Epoch [2233/3000]: Train loss: 1.1151, Valid loss: 0.8652 \n","Saving model with loss 0.865... \n","* v7 v6基础上修改激活函数 感觉没啥变化啊 很机车 \n","Epoch [2233/3000]: Train loss: 1.1144, Valid loss: 0.8618 \n","Saving model with loss 0.862... \n","* v8 修改优化函数 \n","Epoch [2233/3000]: Train loss: 1.1155, Valid loss: 0.8664 \n","Saving model with loss 0.866... \n","* v9 修改幸运种子,修改模型还是4层 \n","Epoch [1222/3000]: Train loss: 1.1733, Valid loss: 0.8240 \n","Saving model with loss 0.824... \n"],"metadata":{"id":"_DIaYgdKBlpM"}},{"cell_type":"markdown","source":["# 下载训练数据和测试数据\n","* 方式1: gdown\n","* 方式2: 直接挂载云盘\n"],"metadata":{"id":"2BtXg7FhEH1a"}},{"cell_type":"code","source":["# 方式1 gdown\n","# !gdown --id '1kLSW_-cW2Huj7bh84YTdimGBOJaODiOS' --output covid.train.csv\n","# !gdown --id '1iiI5qROrAhZn-o4FPqsE97bMzDEFvIdg' --output covid.test.csv\n","# 方式2 cloud\n","from google.colab import drive\n","drive.mount('/content/drive')\n","%cd /content/drive/MyDrive/ML2022/HW1\n","# 已经下载到云盘 没必要再执行一次\n","# !gdown --id '1kLSW_-cW2Huj7bh84YTdimGBOJaODiOS' --output covid.train.csv\n","# !gdown --id '1iiI5qROrAhZn-o4FPqsE97bMzDEFvIdg' --output covid.test.csv"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"2Ia30hWPEmFd","executionInfo":{"status":"ok","timestamp":1663919901283,"user_tz":-480,"elapsed":28254,"user":{"displayName":"jon","userId":"02515558245111120108"}},"outputId":"73d3974c-336e-43bd-a29e-758ea479641c"},"execution_count":1,"outputs":[{"output_type":"stream","name":"stdout","text":["Mounted at /content/drive\n","/content/drive/MyDrive/ML2022/HW1\n"]}]},{"cell_type":"markdown","source":["# 导入包\n","* 数据处理 numpy pandas\n","* 深度学习 pytorch\n","* 进度条 tqdm\n","* random_split 数据切分\n","* Dataset, DataLoader 数据载入"],"metadata":{"id":"wkX9LNhTbcuv"}},{"cell_type":"code","source":["# Numerical Operations\n","import math\n","import numpy as np\n","\n","# Reading/Writing Data\n","import pandas as pd\n","import os\n","import csv\n","\n","# For Progress Bar\n","from tqdm import tqdm\n","\n","# Pytorch\n","import torch \n","import torch.nn as nn\n","from torch.utils.data import Dataset, DataLoader, random_split\n","# random_split随机将一个数据集分割成给定长度的不重叠的新数据集。可选择固定生成器以获得可复现的结果\n","\n","# For plotting learning curve\n","from torch.utils.tensorboard import SummaryWriter"],"metadata":{"id":"Jwp1ID7ub0cA","executionInfo":{"status":"ok","timestamp":1663919907615,"user_tz":-480,"elapsed":2727,"user":{"displayName":"jon","userId":"02515558245111120108"}}},"execution_count":2,"outputs":[]},{"cell_type":"code","source":["# 一些状态检查\n","print('has cuda GPU?: ',torch.cuda.is_available())\n","!nvidia-smi\n","!pwd"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"ybjSCUUocTsI","executionInfo":{"status":"ok","timestamp":1663739200986,"user_tz":-480,"elapsed":397,"user":{"displayName":"jon","userId":"02515558245111120108"}},"outputId":"8262eb80-42ad-4bcb-ba47-38843e5d99d9"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["has cuda GPU?: False\n","NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.\n","\n","/content/drive/MyDrive/ML2022/HW1\n"]}]},{"cell_type":"markdown","source":["# 配置项与一些功能性函数\n","`config` contains hyper-parameters for training and the path to save your model. \n","`functions`\n","You do not need to modify this part."],"metadata":{"id":"khdPtuWqnrQW"}},{"cell_type":"code","source":["device = 'cuda' if torch.cuda.is_available() else 'cpu'\n","config = {\n"," 'seed': 220418, # Your seed number, you can pick your lucky number. :)\n"," 'select_all': False, # Whether to use all features.\n"," 'valid_ratio': 0.2, # validation_size = train_size * valid_ratio\n"," 'n_epochs': 3000, # Number of epochs. \n"," 'batch_size': 256, \n"," 'learning_rate': 1e-5, \n"," 'weight_decay': 1e-4, \n"," 'early_stop': 500, # If model has not improved for this many consecutive epochs, stop training. \n"," 'save_path': './models/model-v10.ckpt', # Your model will be saved here.\n"," 'pred_path': 'pred-v11.csv' # Your model will be saved here.\n","}\n","\n","# 设置相同的随机种子\n","# 参考阅读 https://pytorch.org/docs/stable/notes/randomness.html\n","def same_seed(seed): \n"," '''Fixes random number generator seeds for reproducibility.'''\n"," torch.backends.cudnn.deterministic = True\n"," '''cuDNN to deterministically select an algorithm, possibly at the cost of reduced performance'''\n"," torch.backends.cudnn.benchmark = False\n"," np.random.seed(seed)\n"," torch.manual_seed(seed)\n"," if torch.cuda.is_available():\n"," # Sets the seed for generating random numbers on all GPUs. It’s safe to call this function if CUDA is not available; in that case, it is silently ignored.\n"," torch.cuda.manual_seed_all(seed)\n","\n","def train_valid_split(data_set, valid_ratio, seed):\n"," '''Split provided training data into training set and validation set'''\n"," valid_set_size = int(valid_ratio * len(data_set)) \n"," train_set_size = len(data_set) - valid_set_size\n"," train_set, valid_set = random_split(data_set, [train_set_size, valid_set_size], generator=torch.Generator().manual_seed(seed))\n"," return np.array(train_set), np.array(valid_set)\n","\n","def predict(test_loader, model, device):\n"," model.eval() # Set your model to evaluation mode.\n"," preds = []\n"," for x in tqdm(test_loader):\n"," x = x.to(device) \n"," with torch.no_grad(): \n"," pred = model(x) \n"," preds.append(pred.detach().cpu()) \n"," preds = torch.cat(preds, dim=0).numpy() \n"," return preds"],"metadata":{"id":"sZ4xJC60nwOD","executionInfo":{"status":"ok","timestamp":1663925567988,"user_tz":-480,"elapsed":348,"user":{"displayName":"jon","userId":"02515558245111120108"}}},"execution_count":52,"outputs":[]},{"cell_type":"markdown","source":["# 导入数据并进行预处理\n","* 导入数据并且进行切换 训练数据切为训练数据+验证数据\n","* 定义feature选择函数Feature Selection\n"],"metadata":{"id":"9JHxpHlWigWf"}},{"cell_type":"code","source":["# 检查分析数据\n","train_csv = pd.read_csv('./covid.train.csv')\n","column_list = []\n","print(len(train_csv.columns),)\n","for i,column in enumerate(train_csv.columns):\n"," if column.startswith('cli') :\n"," print(len(column_list),column_list)\n"," column_list = []\n"," column_list.append(column)\n"," if i==len(train_csv.columns)-1:\n"," print(len(column_list),column_list)\n","\n","cor = train_csv.corr()\n","# print(cor)\n","# print(cor.iloc[-1])\n","feature_idx = []\n","for i,item in enumerate(cor.iloc[-1]):\n"," if abs(item)>0.5 and not 1==item:\n"," feature_idx.append(i)\n"," print(i,item)\n","print(len(feature_idx),feature_idx)\n"],"metadata":{"id":"Z5erE9LQ0k4m","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1663923766534,"user_tz":-480,"elapsed":647,"user":{"displayName":"jon","userId":"02515558245111120108"}},"outputId":"a32e20e2-63e7-4ab3-f9e2-e66d1239133b"},"execution_count":33,"outputs":[{"output_type":"stream","name":"stdout","text":["118\n","38 ['id', 'AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'FL', 'GA', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'NE', 'NV', 'NJ', 'NM', 'NY', 'NC', 'OH', 'OK', 'OR', 'RI', 'SC', 'TX', 'UT', 'VA', 'WA']\n","16 ['cli', 'ili', 'hh_cmnty_cli', 'nohh_cmnty_cli', 'wearing_mask', 'travel_outside_state', 'work_outside_home', 'shop', 'restaurant', 'spent_time', 'large_event', 'public_transit', 'anxious', 'depressed', 'worried_finances', 'tested_positive']\n","16 ['cli.1', 'ili.1', 'hh_cmnty_cli.1', 'nohh_cmnty_cli.1', 'wearing_mask.1', 'travel_outside_state.1', 'work_outside_home.1', 'shop.1', 'restaurant.1', 'spent_time.1', 'large_event.1', 'public_transit.1', 'anxious.1', 'depressed.1', 'worried_finances.1', 'tested_positive.1']\n","16 ['cli.2', 'ili.2', 'hh_cmnty_cli.2', 'nohh_cmnty_cli.2', 'wearing_mask.2', 'travel_outside_state.2', 'work_outside_home.2', 'shop.2', 'restaurant.2', 'spent_time.2', 'large_event.2', 'public_transit.2', 'anxious.2', 'depressed.2', 'worried_finances.2', 'tested_positive.2']\n","16 ['cli.3', 'ili.3', 'hh_cmnty_cli.3', 'nohh_cmnty_cli.3', 'wearing_mask.3', 'travel_outside_state.3', 'work_outside_home.3', 'shop.3', 'restaurant.3', 'spent_time.3', 'large_event.3', 'public_transit.3', 'anxious.3', 'depressed.3', 'worried_finances.3', 'tested_positive.3']\n","16 ['cli.4', 'ili.4', 'hh_cmnty_cli.4', 'nohh_cmnty_cli.4', 'wearing_mask.4', 'travel_outside_state.4', 'work_outside_home.4', 'shop.4', 'restaurant.4', 'spent_time.4', 'large_event.4', 'public_transit.4', 'anxious.4', 'depressed.4', 'worried_finances.4', 'tested_positive.4']\n","38 0.8527660436572426\n","39 0.8529337233839103\n","40 0.8807771527994981\n","41 0.8737503963391973\n","44 0.5726626435849136\n","50 0.6120317799793138\n","53 0.9353881937492188\n","54 0.8553205300296827\n","55 0.8557742334440945\n","56 0.8861224621021346\n","57 0.8791618580308304\n","60 0.5825747229844043\n","66 0.6175093871166315\n","69 0.9533331989512744\n","70 0.8565189953962328\n","71 0.8571813072436573\n","72 0.8908015063170087\n","73 0.8839264439226101\n","76 0.590628206515631\n","82 0.6210182805112958\n","85 0.9695932562431359\n","86 0.8596172211459052\n","87 0.8601411114157022\n","88 0.8949356631064201\n","89 0.8879852840661054\n","92 0.5977710189331574\n","98 0.6255526192480557\n","101 0.985356749806574\n","102 0.8625840290775398\n","103 0.8628207789330068\n","104 0.8984370377908398\n","105 0.8912879466250279\n","108 0.6037204377323714\n","114 0.6314441548996362\n","34 [38, 39, 40, 41, 44, 50, 53, 54, 55, 56, 57, 60, 66, 69, 70, 71, 72, 73, 76, 82, 85, 86, 87, 88, 89, 92, 98, 101, 102, 103, 104, 105, 108, 114]\n"]}]},{"cell_type":"code","source":["from sklearn.feature_selection import SelectKBest\n","from sklearn.feature_selection import f_regression\n","\n","features = pd.read_csv('./covid.train.csv')\n","x_data, y_data = features.iloc[:, 0:117], features.iloc[:, 117]\n","\n","#try choose your k best features\n","k = 24\n","selector = SelectKBest(score_func=f_regression, k=k)\n","result = selector.fit(x_data, y_data)\n","\n","#result.scores_ inclues scores for each features\n","#np.argsort sort scores in ascending order by index, we reverse it to make it descending.\n","idx = np.argsort(result.scores_)[::-1]\n","print(f'Top {k} Best feature score ')\n","print(result.scores_[idx[:k]])\n","\n","print(f'\\nTop {k} Best feature index ')\n","print(idx[:k])\n","\n","print(f'\\nTop {k} Best feature name')\n","print(x_data.columns[idx[:k]])\n","\n","selected_idx = list(np.sort(idx[:k]))\n","print(selected_idx)\n","print(x_data.columns[selected_idx])"],"metadata":{"id":"QwMqVVaCwVeV"},"execution_count":null,"outputs":[]},{"cell_type":"code","execution_count":4,"metadata":{"id":"2kuSZfWf2h08","executionInfo":{"status":"ok","timestamp":1663919917916,"user_tz":-480,"elapsed":353,"user":{"displayName":"jon","userId":"02515558245111120108"}}},"outputs":[],"source":["class COVID19Dataset(Dataset):\n"," '''\n"," x: Features.\n"," y: Targets, if none, do prediction.\n"," '''\n"," def __init__(self, x, y=None):\n"," if y is None:\n"," self.y = y\n"," else:\n"," self.y = torch.FloatTensor(y)\n"," self.x = torch.FloatTensor(x)\n","\n"," def __getitem__(self, idx):\n"," if self.y is None:\n"," return self.x[idx]\n"," else:\n"," return self.x[idx], self.y[idx]\n","\n"," def __len__(self):\n"," return len(self.x)"]},{"cell_type":"code","source":["# Set seed for reproducibility\n","same_seed(config['seed'])\n","\n","# train_data size: 2699 x 118 (id + 37 states + 16 features x 5 days) \n","# test_data size: 1078 x 117 (without last day's positive rate)\n","train_data, test_data = pd.read_csv('./covid.train.csv').values, pd.read_csv('./covid.test.csv').values\n","train_data, valid_data = train_valid_split(train_data, config['valid_ratio'], config['seed'])\n","\n","# Print out the data size.\n","print(f\"\"\"train_data size: {train_data.shape} \n","valid_data size: {valid_data.shape} \n","test_data size: {test_data.shape}\"\"\")\n","\n","# Choose features you deem useful by modifying the function below.\n","def select_feat(train_data, valid_data, test_data, select_all=True,feature_idx=None):\n"," '''Selects useful features to perform regression'''\n"," y_train, y_valid = train_data[:,-1], valid_data[:,-1]\n"," raw_x_train, raw_x_valid, raw_x_test = train_data[:,:-1], valid_data[:,:-1], test_data\n","\n"," if select_all:\n"," feat_idx = list(range(raw_x_train.shape[1]))\n"," else:\n"," # feat_idx = list(range(raw_x_train.shape[1]))[1:] # TODO: Select suitable feature columns.\n"," feat_idx = feature_idx\n"," # print(feat_idx)\n"," \n"," return raw_x_train[:,feat_idx], raw_x_valid[:,feat_idx], raw_x_test[:,feat_idx], y_train, y_valid\n","\n","# Select features\n","x_train, x_valid, x_test, y_train, y_valid = select_feat(train_data, valid_data, test_data, config['select_all'],feature_idx)\n","\n","# Print out the number of features.\n","print(f'number of features: {x_train.shape[1]}')\n","\n","# init dataset\n","train_dataset = COVID19Dataset(x_train, y_train)\n","valid_dataset = COVID19Dataset(x_valid, y_valid)\n","test_dataset = COVID19Dataset(x_test)\n","\n","# Pytorch data loader loads pytorch dataset into batches.\n","train_loader = DataLoader(train_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True)\n","valid_loader = DataLoader(valid_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True)\n","test_loader = DataLoader(test_dataset, batch_size=config['batch_size'], shuffle=False, pin_memory=True)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"iHkhlzQakJVd","executionInfo":{"status":"ok","timestamp":1663924961048,"user_tz":-480,"elapsed":533,"user":{"displayName":"jon","userId":"02515558245111120108"}},"outputId":"9eeb1fe5-4511-44a4-bc01-7d67f259e525"},"execution_count":42,"outputs":[{"output_type":"stream","name":"stdout","text":["train_data size: (2160, 118) \n","valid_data size: (539, 118) \n","test_data size: (1078, 117)\n","number of features: 34\n"]}]},{"cell_type":"markdown","source":["# 定义DNN模型\n"],"metadata":{"id":"Iafe6DNpvsux"}},{"cell_type":"code","source":["class My_Model(nn.Module):\n"," def __init__(self, input_dim):\n"," super(My_Model, self).__init__()\n"," # TODO: modify model's structure, be aware of dimensions. \n"," self.layers = nn.Sequential(\n"," nn.Linear(input_dim, 32),\n"," # nn.ReLU(),\n"," nn.LeakyReLU(0.2),\n"," nn.Linear(32, 16),\n"," # nn.ReLU(),\n"," nn.LeakyReLU(0.2),\n"," nn.Linear(16, 1)\n"," )\n","\n"," def forward(self, x):\n"," x = self.layers(x)\n"," x = x.squeeze(1) # (B, 1) -> (B)\n"," return x"],"metadata":{"id":"F024w1Vkvzhg","executionInfo":{"status":"ok","timestamp":1663925434191,"user_tz":-480,"elapsed":383,"user":{"displayName":"jon","userId":"02515558245111120108"}}},"execution_count":48,"outputs":[]},{"cell_type":"markdown","source":["# 训练循环"],"metadata":{"id":"RqvA2xU0C5zG"}},{"cell_type":"code","execution_count":44,"metadata":{"id":"-l1nYALVDBqZ","executionInfo":{"status":"ok","timestamp":1663925003698,"user_tz":-480,"elapsed":628,"user":{"displayName":"jon","userId":"02515558245111120108"}}},"outputs":[],"source":["def trainer(train_loader, valid_loader, model, config, device):\n","\n"," criterion = nn.MSELoss(reduction='mean') # Define your loss function, do not modify this.\n","\n"," # Define your optimization algorithm. \n"," # TODO: Please check https://pytorch.org/docs/stable/optim.html to get more available algorithms.\n"," # TODO: L2 regularization (optimizer(weight decay...) or implement by your self).\n"," # optimizer = torch.optim.SGD(model.parameters(), lr=config['learning_rate'], momentum=0.9) \n"," # optimizer = torch.optim.ASGD(model.parameters(), lr=config['learning_rate']) \n"," # optimizer = torch.optim.SGD(model.parameters(), lr=config['learning_rate'], momentum=0.9, weight_decay=config['weight_decay']) \n"," optimizer = torch.optim.Adam(model.parameters(),betas=[0.9,0.999],lr=config['learning_rate'],eps=1e-6,weight_decay=config['weight_decay'])\n","\n"," writer = SummaryWriter() # Writer of tensoboard.\n","\n"," if not os.path.isdir('./models'):\n"," os.mkdir('./models') # Create directory of saving models.\n","\n"," n_epochs, best_loss, step, early_stop_count = config['n_epochs'], math.inf, 0, 0\n","\n"," for epoch in range(n_epochs):\n"," model.train() # Set your model to train mode.\n"," loss_record = []\n","\n"," # tqdm is a package to visualize your training progress.\n"," train_pbar = tqdm(train_loader, position=0, leave=True)\n","\n"," for x, y in train_pbar:\n"," optimizer.zero_grad() # Set gradient to zero.\n"," x, y = x.to(device), y.to(device) # Move your data to device. \n"," pred = model(x) \n"," loss = criterion(pred, y)\n"," loss.backward() # Compute gradient(backpropagation).\n"," optimizer.step() # Update parameters.\n"," step += 1\n"," loss_record.append(loss.detach().item())\n"," \n"," # Display current epoch number and loss on tqdm progress bar.\n"," train_pbar.set_description(f'Epoch [{epoch+1}/{n_epochs}]')\n"," train_pbar.set_postfix({'loss': loss.detach().item()})\n","\n"," mean_train_loss = sum(loss_record)/len(loss_record)\n"," writer.add_scalar('Loss/train', mean_train_loss, step)\n","\n"," model.eval() # Set your model to evaluation mode.\n"," loss_record = []\n"," for x, y in valid_loader:\n"," x, y = x.to(device), y.to(device)\n"," # 验证的时候无需计算梯度下降\n"," with torch.no_grad():\n"," pred = model(x)\n"," loss = criterion(pred, y)\n","\n"," loss_record.append(loss.item())\n"," \n"," mean_valid_loss = sum(loss_record)/len(loss_record)\n"," print(f'Epoch [{epoch+1}/{n_epochs}]: Train loss: {mean_train_loss:.4f}, Valid loss: {mean_valid_loss:.4f}')\n"," writer.add_scalar('Loss/valid', mean_valid_loss, step)\n","\n"," if mean_valid_loss < best_loss:\n"," best_loss = mean_valid_loss\n"," torch.save(model.state_dict(), config['save_path']) # Save your best model\n"," print('Saving model with loss {:.3f}...'.format(best_loss))\n"," early_stop_count = 0\n"," else: \n"," early_stop_count += 1\n","\n"," # 训练一定次数后没有更好的loss 则退出训练\n"," if early_stop_count >= config['early_stop']:\n"," print('\\nModel is not improving, so we halt the training session.')\n"," return"]},{"cell_type":"markdown","source":["# 开始训练"],"metadata":{"id":"yYnSqKD-DNxj"}},{"cell_type":"code","source":["model = My_Model(input_dim=x_train.shape[1]).to(device) # put your model and data on the same computation device.\n","trainer(train_loader, valid_loader, model, config, device)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"-185Jwa42QMb","executionInfo":{"status":"ok","timestamp":1663925299038,"user_tz":-480,"elapsed":58683,"user":{"displayName":"jon","userId":"02515558245111120108"}},"outputId":"205a91ec-06e5-43cc-9f43-17a8bdceff30"},"execution_count":45,"outputs":[{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.35it/s, loss=68.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1/3000]: Train loss: 102.3300, Valid loss: 90.7502\n","Saving model with loss 90.750...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [2/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.70it/s, loss=83.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [2/3000]: Train loss: 94.3550, Valid loss: 92.1067\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [3/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.49it/s, loss=89.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [3/3000]: Train loss: 86.7297, Valid loss: 85.9884\n","Saving model with loss 85.988...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [4/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.09it/s, loss=97.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [4/3000]: Train loss: 79.5711, Valid loss: 86.5213\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [5/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.00it/s, loss=62.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [5/3000]: Train loss: 70.3092, Valid loss: 59.4489\n","Saving model with loss 59.449...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [6/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.30it/s, loss=60.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [6/3000]: Train loss: 63.4977, Valid loss: 49.9502\n","Saving model with loss 49.950...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [7/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.24it/s, loss=38.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [7/3000]: Train loss: 56.0024, Valid loss: 55.5791\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [8/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.36it/s, loss=43.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [8/3000]: Train loss: 50.4700, Valid loss: 43.9627\n","Saving model with loss 43.963...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [9/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.57it/s, loss=44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [9/3000]: Train loss: 45.3076, Valid loss: 47.6587\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [10/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.97it/s, loss=37.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [10/3000]: Train loss: 40.1765, Valid loss: 31.0763\n","Saving model with loss 31.076...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [11/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.14it/s, loss=33.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [11/3000]: Train loss: 35.7168, Valid loss: 27.1647\n","Saving model with loss 27.165...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [12/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.46it/s, loss=29.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [12/3000]: Train loss: 31.7978, Valid loss: 30.4352\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [13/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.42it/s, loss=28.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [13/3000]: Train loss: 28.4811, Valid loss: 27.1349\n","Saving model with loss 27.135...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [14/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.74it/s, loss=22.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [14/3000]: Train loss: 25.5459, Valid loss: 19.8595\n","Saving model with loss 19.860...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [15/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.13it/s, loss=23.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [15/3000]: Train loss: 23.3783, Valid loss: 21.7151\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [16/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.69it/s, loss=26.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [16/3000]: Train loss: 21.8134, Valid loss: 18.7749\n","Saving model with loss 18.775...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [17/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.80it/s, loss=14.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [17/3000]: Train loss: 19.7269, Valid loss: 19.4817\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [18/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.47it/s, loss=16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [18/3000]: Train loss: 18.7107, Valid loss: 22.9882\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [19/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.62it/s, loss=17.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [19/3000]: Train loss: 17.9697, Valid loss: 16.6041\n","Saving model with loss 16.604...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [20/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.36it/s, loss=17.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [20/3000]: Train loss: 17.3193, Valid loss: 16.3062\n","Saving model with loss 16.306...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [21/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.88it/s, loss=16.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [21/3000]: Train loss: 16.7789, Valid loss: 15.7777\n","Saving model with loss 15.778...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [22/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.59it/s, loss=15.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [22/3000]: Train loss: 16.3000, Valid loss: 15.2237\n","Saving model with loss 15.224...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [23/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.55it/s, loss=15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [23/3000]: Train loss: 15.9067, Valid loss: 13.6420\n","Saving model with loss 13.642...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [24/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.28it/s, loss=15.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [24/3000]: Train loss: 15.6262, Valid loss: 16.8376\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [25/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.66it/s, loss=13.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [25/3000]: Train loss: 15.2388, Valid loss: 13.7909\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [26/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.57it/s, loss=13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [26/3000]: Train loss: 14.9277, Valid loss: 14.4791\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [27/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.48it/s, loss=19.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [27/3000]: Train loss: 15.0536, Valid loss: 14.3722\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [28/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.48it/s, loss=15.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [28/3000]: Train loss: 14.5936, Valid loss: 12.8515\n","Saving model with loss 12.852...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [29/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.63it/s, loss=10.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [29/3000]: Train loss: 14.0511, Valid loss: 12.5402\n","Saving model with loss 12.540...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [30/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.15it/s, loss=18.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [30/3000]: Train loss: 14.2695, Valid loss: 11.9850\n","Saving model with loss 11.985...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [31/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.73it/s, loss=12.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [31/3000]: Train loss: 13.6687, Valid loss: 11.1174\n","Saving model with loss 11.117...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [32/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.59it/s, loss=12.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [32/3000]: Train loss: 13.4559, Valid loss: 11.4826\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [33/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.97it/s, loss=13.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [33/3000]: Train loss: 13.2483, Valid loss: 12.2617\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [34/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.75it/s, loss=10.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [34/3000]: Train loss: 12.8664, Valid loss: 11.3347\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [35/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.96it/s, loss=12.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [35/3000]: Train loss: 12.7248, Valid loss: 11.6268\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [36/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.64it/s, loss=9.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [36/3000]: Train loss: 12.3120, Valid loss: 12.0783\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [37/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.59it/s, loss=13.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [37/3000]: Train loss: 12.3597, Valid loss: 10.1467\n","Saving model with loss 10.147...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [38/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.54it/s, loss=13.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [38/3000]: Train loss: 12.1078, Valid loss: 10.7343\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [39/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.84it/s, loss=13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [39/3000]: Train loss: 11.8846, Valid loss: 11.4296\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [40/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.79it/s, loss=13.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [40/3000]: Train loss: 11.6876, Valid loss: 11.9738\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [41/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.52it/s, loss=12.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [41/3000]: Train loss: 11.4443, Valid loss: 11.0933\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [42/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.33it/s, loss=12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [42/3000]: Train loss: 11.1770, Valid loss: 9.6613\n","Saving model with loss 9.661...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [43/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.66it/s, loss=10.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [43/3000]: Train loss: 10.8587, Valid loss: 11.0814\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [44/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.83it/s, loss=10.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [44/3000]: Train loss: 10.6604, Valid loss: 11.2116\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [45/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.87it/s, loss=8.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [45/3000]: Train loss: 10.3338, Valid loss: 11.2753\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [46/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.20it/s, loss=9.94]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [46/3000]: Train loss: 10.2360, Valid loss: 8.7506\n","Saving model with loss 8.751...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [47/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.49it/s, loss=8.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [47/3000]: Train loss: 9.9558, Valid loss: 11.2605\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [48/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.06it/s, loss=10.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [48/3000]: Train loss: 9.8766, Valid loss: 10.5831\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [49/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.72it/s, loss=10.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [49/3000]: Train loss: 9.6900, Valid loss: 8.5747\n","Saving model with loss 8.575...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [50/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.23it/s, loss=7.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [50/3000]: Train loss: 9.3093, Valid loss: 7.8541\n","Saving model with loss 7.854...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [51/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.92it/s, loss=7.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [51/3000]: Train loss: 9.1242, Valid loss: 9.5229\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [52/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.61it/s, loss=9.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [52/3000]: Train loss: 9.0886, Valid loss: 8.6211\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [53/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.64it/s, loss=9.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [53/3000]: Train loss: 8.9033, Valid loss: 7.5151\n","Saving model with loss 7.515...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [54/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.23it/s, loss=9.96]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [54/3000]: Train loss: 8.7798, Valid loss: 7.5234\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [55/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.85it/s, loss=7.68]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [55/3000]: Train loss: 8.4708, Valid loss: 6.9850\n","Saving model with loss 6.985...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [56/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.23it/s, loss=6.72]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [56/3000]: Train loss: 8.2524, Valid loss: 7.1387\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [57/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.84it/s, loss=7.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [57/3000]: Train loss: 8.1350, Valid loss: 7.9483\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [58/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.14it/s, loss=9.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [58/3000]: Train loss: 8.0980, Valid loss: 7.3092\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [59/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.95it/s, loss=8.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [59/3000]: Train loss: 7.8802, Valid loss: 7.9239\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [60/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.00it/s, loss=8.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [60/3000]: Train loss: 7.7470, Valid loss: 8.7651\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [61/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.49it/s, loss=7.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [61/3000]: Train loss: 7.5607, Valid loss: 6.6855\n","Saving model with loss 6.686...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [62/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.88it/s, loss=5.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [62/3000]: Train loss: 7.3082, Valid loss: 5.9255\n","Saving model with loss 5.926...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [63/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.57it/s, loss=6.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [63/3000]: Train loss: 7.2498, Valid loss: 6.5306\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [64/3000]: 100%|██████████| 9/9 [00:00<00:00, 46.77it/s, loss=8.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [64/3000]: Train loss: 7.2452, Valid loss: 7.0303\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [65/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.17it/s, loss=8.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [65/3000]: Train loss: 7.1339, Valid loss: 6.5065\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [66/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.07it/s, loss=7.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [66/3000]: Train loss: 6.9423, Valid loss: 6.2619\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [67/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.83it/s, loss=7.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [67/3000]: Train loss: 6.8281, Valid loss: 6.5414\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [68/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.42it/s, loss=5.98]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [68/3000]: Train loss: 6.6449, Valid loss: 6.8527\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [69/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.51it/s, loss=6.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [69/3000]: Train loss: 6.5888, Valid loss: 5.9687\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [70/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.21it/s, loss=5.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [70/3000]: Train loss: 6.4228, Valid loss: 5.3358\n","Saving model with loss 5.336...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [71/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.77it/s, loss=6.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [71/3000]: Train loss: 6.4019, Valid loss: 6.3896\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [72/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.90it/s, loss=6.83]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [72/3000]: Train loss: 6.3158, Valid loss: 6.0776\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [73/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.12it/s, loss=6.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [73/3000]: Train loss: 6.1795, Valid loss: 5.7771\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [74/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.41it/s, loss=4.86]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [74/3000]: Train loss: 6.0048, Valid loss: 5.4154\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [75/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.12it/s, loss=6.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [75/3000]: Train loss: 6.0155, Valid loss: 6.3635\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [76/3000]: 100%|██████████| 9/9 [00:00<00:00, 40.74it/s, loss=6.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [76/3000]: Train loss: 5.9185, Valid loss: 4.9914\n","Saving model with loss 4.991...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [77/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.09it/s, loss=5.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [77/3000]: Train loss: 5.7404, Valid loss: 5.6749\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [78/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.29it/s, loss=5.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [78/3000]: Train loss: 5.6428, Valid loss: 4.6682\n","Saving model with loss 4.668...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [79/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.87it/s, loss=5.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [79/3000]: Train loss: 5.5777, Valid loss: 5.6831\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [80/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.06it/s, loss=6.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [80/3000]: Train loss: 5.5845, Valid loss: 5.1140\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [81/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.25it/s, loss=6.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [81/3000]: Train loss: 5.5159, Valid loss: 5.3771\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [82/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.88it/s, loss=7.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [82/3000]: Train loss: 5.5211, Valid loss: 6.2207\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [83/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.33it/s, loss=5.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [83/3000]: Train loss: 5.3695, Valid loss: 4.9399\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [84/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.01it/s, loss=6.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [84/3000]: Train loss: 5.3879, Valid loss: 4.0910\n","Saving model with loss 4.091...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [85/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.86it/s, loss=6.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [85/3000]: Train loss: 5.3349, Valid loss: 4.1465\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [86/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.40it/s, loss=4.93]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [86/3000]: Train loss: 5.2198, Valid loss: 4.8424\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [87/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.48it/s, loss=5.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [87/3000]: Train loss: 5.2306, Valid loss: 4.3672\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [88/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.18it/s, loss=5.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [88/3000]: Train loss: 5.2162, Valid loss: 4.6519\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [89/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.65it/s, loss=5.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [89/3000]: Train loss: 5.1378, Valid loss: 5.6692\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [90/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.39it/s, loss=4.88]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [90/3000]: Train loss: 5.0979, Valid loss: 5.0911\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [91/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.75it/s, loss=4.65]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [91/3000]: Train loss: 5.0588, Valid loss: 4.2286\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [92/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.16it/s, loss=5.43]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [92/3000]: Train loss: 5.0823, Valid loss: 4.2534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [93/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.32it/s, loss=5.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [93/3000]: Train loss: 5.0531, Valid loss: 5.4466\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [94/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.02it/s, loss=5.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [94/3000]: Train loss: 5.0057, Valid loss: 4.6564\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [95/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.71it/s, loss=5.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [95/3000]: Train loss: 4.9991, Valid loss: 4.7245\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [96/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.58it/s, loss=5.89]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [96/3000]: Train loss: 5.0146, Valid loss: 5.4145\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [97/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.30it/s, loss=5.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [97/3000]: Train loss: 4.9873, Valid loss: 5.3756\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [98/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.36it/s, loss=3.82]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [98/3000]: Train loss: 4.8405, Valid loss: 4.4113\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [99/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.29it/s, loss=5.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [99/3000]: Train loss: 4.9135, Valid loss: 3.9061\n","Saving model with loss 3.906...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [100/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.74it/s, loss=4.72]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [100/3000]: Train loss: 4.8534, Valid loss: 5.3158\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [101/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.99it/s, loss=4.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [101/3000]: Train loss: 4.7946, Valid loss: 4.7518\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [102/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.83it/s, loss=3.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [102/3000]: Train loss: 4.7430, Valid loss: 4.0827\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [103/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.48it/s, loss=4.94]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [103/3000]: Train loss: 4.8042, Valid loss: 4.2330\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [104/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.97it/s, loss=5.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [104/3000]: Train loss: 4.8051, Valid loss: 3.9607\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [105/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.43it/s, loss=3.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [105/3000]: Train loss: 4.6761, Valid loss: 4.7101\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [106/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.04it/s, loss=3.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [106/3000]: Train loss: 4.6516, Valid loss: 4.5679\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [107/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.07it/s, loss=4.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [107/3000]: Train loss: 4.7117, Valid loss: 4.9997\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [108/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.12it/s, loss=4.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [108/3000]: Train loss: 4.6875, Valid loss: 5.2498\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [109/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.76it/s, loss=4.99]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [109/3000]: Train loss: 4.6871, Valid loss: 4.3954\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [110/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.37it/s, loss=4.51]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [110/3000]: Train loss: 4.6360, Valid loss: 4.9618\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [111/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.38it/s, loss=4.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [111/3000]: Train loss: 4.5908, Valid loss: 3.7747\n","Saving model with loss 3.775...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [112/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.45it/s, loss=3.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [112/3000]: Train loss: 4.5416, Valid loss: 4.0824\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [113/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.98it/s, loss=3.95]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [113/3000]: Train loss: 4.5419, Valid loss: 6.2941\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [114/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.74it/s, loss=3.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [114/3000]: Train loss: 4.5055, Valid loss: 3.7965\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [115/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.77it/s, loss=4.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [115/3000]: Train loss: 4.5292, Valid loss: 4.4478\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [116/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.08it/s, loss=5.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [116/3000]: Train loss: 4.5724, Valid loss: 4.1618\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [117/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.48it/s, loss=5.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [117/3000]: Train loss: 4.5493, Valid loss: 5.0178\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [118/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.18it/s, loss=4.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [118/3000]: Train loss: 4.4480, Valid loss: 3.9176\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [119/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.73it/s, loss=4.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [119/3000]: Train loss: 4.4438, Valid loss: 4.4856\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [120/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.61it/s, loss=5.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [120/3000]: Train loss: 4.5147, Valid loss: 3.7673\n","Saving model with loss 3.767...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [121/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.72it/s, loss=4.72]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [121/3000]: Train loss: 4.4266, Valid loss: 4.2565\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [122/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.00it/s, loss=4.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [122/3000]: Train loss: 4.3774, Valid loss: 4.5458\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [123/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.53it/s, loss=4.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [123/3000]: Train loss: 4.3756, Valid loss: 4.2537\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [124/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.88it/s, loss=4.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [124/3000]: Train loss: 4.3367, Valid loss: 4.2312\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [125/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.49it/s, loss=4.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [125/3000]: Train loss: 4.3250, Valid loss: 3.7762\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [126/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.59it/s, loss=4.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [126/3000]: Train loss: 4.2758, Valid loss: 3.7347\n","Saving model with loss 3.735...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [127/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.70it/s, loss=4.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [127/3000]: Train loss: 4.2836, Valid loss: 4.0785\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [128/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.48it/s, loss=4.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [128/3000]: Train loss: 4.2568, Valid loss: 3.4148\n","Saving model with loss 3.415...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [129/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.24it/s, loss=4.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [129/3000]: Train loss: 4.2198, Valid loss: 3.8468\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [130/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.61it/s, loss=4.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [130/3000]: Train loss: 4.2155, Valid loss: 4.8297\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [131/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.70it/s, loss=4.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [131/3000]: Train loss: 4.1644, Valid loss: 3.7268\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [132/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.16it/s, loss=4.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [132/3000]: Train loss: 4.1597, Valid loss: 4.8462\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [133/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.68it/s, loss=4.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [133/3000]: Train loss: 4.1594, Valid loss: 4.0144\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [134/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.80it/s, loss=3.97]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [134/3000]: Train loss: 4.0917, Valid loss: 3.3114\n","Saving model with loss 3.311...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [135/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.53it/s, loss=3.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [135/3000]: Train loss: 4.0589, Valid loss: 3.6059\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [136/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.51it/s, loss=4.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [136/3000]: Train loss: 4.0510, Valid loss: 3.9385\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [137/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.48it/s, loss=4.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [137/3000]: Train loss: 4.0578, Valid loss: 3.9826\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [138/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.04it/s, loss=5.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [138/3000]: Train loss: 4.0854, Valid loss: 4.2640\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [139/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.45it/s, loss=3.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [139/3000]: Train loss: 3.9248, Valid loss: 4.3259\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [140/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.68it/s, loss=3.79]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [140/3000]: Train loss: 3.9425, Valid loss: 3.6833\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [141/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.00it/s, loss=2.43]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [141/3000]: Train loss: 3.8340, Valid loss: 3.6717\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [142/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.01it/s, loss=4.74]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [142/3000]: Train loss: 3.9550, Valid loss: 4.2052\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [143/3000]: 100%|██████████| 9/9 [00:00<00:00, 41.34it/s, loss=3.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [143/3000]: Train loss: 3.8806, Valid loss: 3.9680\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [144/3000]: 100%|██████████| 9/9 [00:00<00:00, 43.21it/s, loss=4.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [144/3000]: Train loss: 3.8752, Valid loss: 4.1676\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [145/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.92it/s, loss=3.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [145/3000]: Train loss: 3.8207, Valid loss: 4.6534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [146/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.03it/s, loss=3.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [146/3000]: Train loss: 3.7736, Valid loss: 3.4446\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [147/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.67it/s, loss=3.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [147/3000]: Train loss: 3.7890, Valid loss: 3.7053\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [148/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.04it/s, loss=4.53]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [148/3000]: Train loss: 3.8157, Valid loss: 3.2888\n","Saving model with loss 3.289...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [149/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.31it/s, loss=4.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [149/3000]: Train loss: 3.7716, Valid loss: 3.4744\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [150/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.83it/s, loss=3.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [150/3000]: Train loss: 3.7171, Valid loss: 3.7196\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [151/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.73it/s, loss=4.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [151/3000]: Train loss: 3.7596, Valid loss: 3.7900\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [152/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.98it/s, loss=3.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [152/3000]: Train loss: 3.6639, Valid loss: 3.1129\n","Saving model with loss 3.113...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [153/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.19it/s, loss=3.43]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [153/3000]: Train loss: 3.6467, Valid loss: 3.2851\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [154/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.72it/s, loss=4.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [154/3000]: Train loss: 3.6885, Valid loss: 3.3179\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [155/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.74it/s, loss=2.98]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [155/3000]: Train loss: 3.5798, Valid loss: 4.3759\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [156/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.27it/s, loss=3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [156/3000]: Train loss: 3.5620, Valid loss: 4.3854\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [157/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.38it/s, loss=3.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [157/3000]: Train loss: 3.5678, Valid loss: 3.7499\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [158/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.70it/s, loss=4.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [158/3000]: Train loss: 3.5900, Valid loss: 2.9090\n","Saving model with loss 2.909...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [159/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.30it/s, loss=4.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [159/3000]: Train loss: 3.5726, Valid loss: 2.9426\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [160/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.09it/s, loss=4.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [160/3000]: Train loss: 3.5658, Valid loss: 3.1990\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [161/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.79it/s, loss=2.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [161/3000]: Train loss: 3.4343, Valid loss: 3.0783\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [162/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.55it/s, loss=3.46]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [162/3000]: Train loss: 3.4781, Valid loss: 3.2201\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [163/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.60it/s, loss=4.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [163/3000]: Train loss: 3.5141, Valid loss: 3.6085\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [164/3000]: 100%|██████████| 9/9 [00:00<00:00, 37.41it/s, loss=3.84]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [164/3000]: Train loss: 3.4679, Valid loss: 3.1304\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [165/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.43it/s, loss=2.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [165/3000]: Train loss: 3.3760, Valid loss: 3.0491\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [166/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.43it/s, loss=3.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [166/3000]: Train loss: 3.3980, Valid loss: 3.8072\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [167/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.86it/s, loss=3.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [167/3000]: Train loss: 3.3730, Valid loss: 3.0305\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [168/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.63it/s, loss=3.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [168/3000]: Train loss: 3.3427, Valid loss: 3.5726\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [169/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.83it/s, loss=2.91]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [169/3000]: Train loss: 3.3151, Valid loss: 3.8707\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [170/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.93it/s, loss=2.88]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [170/3000]: Train loss: 3.2947, Valid loss: 3.1752\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [171/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.47it/s, loss=4.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [171/3000]: Train loss: 3.3670, Valid loss: 3.3711\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [172/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.56it/s, loss=3.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [172/3000]: Train loss: 3.2964, Valid loss: 3.4758\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [173/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.03it/s, loss=3.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [173/3000]: Train loss: 3.2771, Valid loss: 3.9031\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [174/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.28it/s, loss=3.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [174/3000]: Train loss: 3.2729, Valid loss: 3.4066\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [175/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.17it/s, loss=4.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [175/3000]: Train loss: 3.2797, Valid loss: 2.8044\n","Saving model with loss 2.804...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [176/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.49it/s, loss=2.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [176/3000]: Train loss: 3.1798, Valid loss: 3.6221\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [177/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.26it/s, loss=2.79]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [177/3000]: Train loss: 3.1644, Valid loss: 2.5880\n","Saving model with loss 2.588...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [178/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.28it/s, loss=3.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [178/3000]: Train loss: 3.1807, Valid loss: 2.9561\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [179/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.51it/s, loss=3.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [179/3000]: Train loss: 3.1524, Valid loss: 2.8925\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [180/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.88it/s, loss=3.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [180/3000]: Train loss: 3.1341, Valid loss: 2.6106\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [181/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.51it/s, loss=4.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [181/3000]: Train loss: 3.1681, Valid loss: 3.1881\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [182/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.38it/s, loss=2.77]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [182/3000]: Train loss: 3.0679, Valid loss: 2.9289\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [183/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.37it/s, loss=3.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [183/3000]: Train loss: 3.1029, Valid loss: 2.5139\n","Saving model with loss 2.514...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [184/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.51it/s, loss=2.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [184/3000]: Train loss: 2.9993, Valid loss: 2.4737\n","Saving model with loss 2.474...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [185/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.32it/s, loss=3.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [185/3000]: Train loss: 3.0269, Valid loss: 2.6258\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [186/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.81it/s, loss=3.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [186/3000]: Train loss: 3.0160, Valid loss: 2.6190\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [187/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.93it/s, loss=3.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [187/3000]: Train loss: 2.9936, Valid loss: 2.3858\n","Saving model with loss 2.386...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [188/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.57it/s, loss=3.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [188/3000]: Train loss: 2.9641, Valid loss: 3.4272\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [189/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.54it/s, loss=2.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [189/3000]: Train loss: 2.8582, Valid loss: 2.4968\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [190/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.36it/s, loss=2.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [190/3000]: Train loss: 2.8383, Valid loss: 3.4671\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [191/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.09it/s, loss=3.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [191/3000]: Train loss: 2.9007, Valid loss: 2.3069\n","Saving model with loss 2.307...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [192/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.65it/s, loss=2.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [192/3000]: Train loss: 2.7613, Valid loss: 2.5347\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [193/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.43it/s, loss=2.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [193/3000]: Train loss: 2.7461, Valid loss: 2.4413\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [194/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.80it/s, loss=2.96]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [194/3000]: Train loss: 2.7600, Valid loss: 2.5830\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [195/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.32it/s, loss=2.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [195/3000]: Train loss: 2.7051, Valid loss: 3.2773\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [196/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.66it/s, loss=3.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [196/3000]: Train loss: 2.7644, Valid loss: 2.4200\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [197/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.44it/s, loss=2.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [197/3000]: Train loss: 2.6708, Valid loss: 2.3952\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [198/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.11it/s, loss=3.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [198/3000]: Train loss: 2.7139, Valid loss: 2.6107\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [199/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.36it/s, loss=3.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [199/3000]: Train loss: 2.6888, Valid loss: 2.6592\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [200/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.04it/s, loss=2.78]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [200/3000]: Train loss: 2.6312, Valid loss: 2.2689\n","Saving model with loss 2.269...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [201/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.43it/s, loss=2.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [201/3000]: Train loss: 2.6008, Valid loss: 2.2690\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [202/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.92it/s, loss=3.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [202/3000]: Train loss: 2.6457, Valid loss: 2.4910\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [203/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.21it/s, loss=2.68]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [203/3000]: Train loss: 2.5746, Valid loss: 2.8441\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [204/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.81it/s, loss=2.88]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [204/3000]: Train loss: 2.5724, Valid loss: 2.2727\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [205/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.01it/s, loss=2.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [205/3000]: Train loss: 2.5307, Valid loss: 2.2369\n","Saving model with loss 2.237...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [206/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.94it/s, loss=2.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [206/3000]: Train loss: 2.4913, Valid loss: 2.0869\n","Saving model with loss 2.087...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [207/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.01it/s, loss=2.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [207/3000]: Train loss: 2.4937, Valid loss: 2.2477\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [208/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.72it/s, loss=2.71]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [208/3000]: Train loss: 2.4966, Valid loss: 2.4314\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [209/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.74it/s, loss=2.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [209/3000]: Train loss: 2.4672, Valid loss: 2.0021\n","Saving model with loss 2.002...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [210/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.59it/s, loss=2.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [210/3000]: Train loss: 2.4721, Valid loss: 2.1981\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [211/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.36it/s, loss=2.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [211/3000]: Train loss: 2.4446, Valid loss: 2.0383\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [212/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.62it/s, loss=2.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [212/3000]: Train loss: 2.4474, Valid loss: 1.9384\n","Saving model with loss 1.938...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [213/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.32it/s, loss=2.65]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [213/3000]: Train loss: 2.4225, Valid loss: 2.2203\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [214/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.50it/s, loss=1.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [214/3000]: Train loss: 2.3637, Valid loss: 2.3671\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [215/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.76it/s, loss=2.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [215/3000]: Train loss: 2.3628, Valid loss: 2.1691\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [216/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.55it/s, loss=2.63]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [216/3000]: Train loss: 2.3817, Valid loss: 2.2756\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [217/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.10it/s, loss=2.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [217/3000]: Train loss: 2.3302, Valid loss: 2.4765\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [218/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.28it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [218/3000]: Train loss: 2.3016, Valid loss: 2.1533\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [219/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.10it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [219/3000]: Train loss: 2.2870, Valid loss: 2.2743\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [220/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.94it/s, loss=3.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [220/3000]: Train loss: 2.3623, Valid loss: 2.2594\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [221/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.34it/s, loss=1.87]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [221/3000]: Train loss: 2.2750, Valid loss: 2.0041\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [222/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.63it/s, loss=2.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [222/3000]: Train loss: 2.3201, Valid loss: 2.1146\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [223/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.84it/s, loss=2.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [223/3000]: Train loss: 2.2861, Valid loss: 2.4085\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [224/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.55it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [224/3000]: Train loss: 2.2184, Valid loss: 2.9590\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [225/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.60it/s, loss=2.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [225/3000]: Train loss: 2.2432, Valid loss: 2.0328\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [226/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.79it/s, loss=1.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [226/3000]: Train loss: 2.2250, Valid loss: 2.1913\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [227/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.12it/s, loss=1.84]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [227/3000]: Train loss: 2.2089, Valid loss: 2.1578\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [228/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.62it/s, loss=2.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [228/3000]: Train loss: 2.2326, Valid loss: 2.1649\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [229/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.46it/s, loss=2.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [229/3000]: Train loss: 2.2237, Valid loss: 1.8149\n","Saving model with loss 1.815...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [230/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.11it/s, loss=2.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [230/3000]: Train loss: 2.2071, Valid loss: 1.9766\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [231/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.60it/s, loss=1.99]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [231/3000]: Train loss: 2.1808, Valid loss: 2.1959\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [232/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.78it/s, loss=1.95]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [232/3000]: Train loss: 2.1685, Valid loss: 2.1950\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [233/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.87it/s, loss=2.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [233/3000]: Train loss: 2.1705, Valid loss: 1.8119\n","Saving model with loss 1.812...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [234/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.00it/s, loss=2.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [234/3000]: Train loss: 2.1827, Valid loss: 1.7546\n","Saving model with loss 1.755...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [235/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.24it/s, loss=2.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [235/3000]: Train loss: 2.1488, Valid loss: 2.2591\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [236/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.55it/s, loss=1.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [236/3000]: Train loss: 2.1360, Valid loss: 2.7075\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [237/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.66it/s, loss=2.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [237/3000]: Train loss: 2.1341, Valid loss: 2.1344\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [238/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.85it/s, loss=2.78]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [238/3000]: Train loss: 2.1721, Valid loss: 1.7024\n","Saving model with loss 1.702...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [239/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.35it/s, loss=2.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [239/3000]: Train loss: 2.1209, Valid loss: 2.0241\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [240/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.50it/s, loss=2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [240/3000]: Train loss: 2.1077, Valid loss: 1.7369\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [241/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.39it/s, loss=2.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [241/3000]: Train loss: 2.1090, Valid loss: 2.5490\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [242/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.78it/s, loss=2.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [242/3000]: Train loss: 2.0988, Valid loss: 1.7098\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [243/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.94it/s, loss=2.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [243/3000]: Train loss: 2.1102, Valid loss: 2.3951\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [244/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.81it/s, loss=2.68]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [244/3000]: Train loss: 2.1241, Valid loss: 1.8229\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [245/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.44it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [245/3000]: Train loss: 2.0565, Valid loss: 1.8056\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [246/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.57it/s, loss=1.87]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [246/3000]: Train loss: 2.0658, Valid loss: 2.0239\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [247/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.26it/s, loss=1.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [247/3000]: Train loss: 2.0547, Valid loss: 1.8720\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [248/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.47it/s, loss=1.97]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [248/3000]: Train loss: 2.0600, Valid loss: 2.1331\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [249/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.75it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [249/3000]: Train loss: 2.0324, Valid loss: 2.0340\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [250/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.46it/s, loss=2.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [250/3000]: Train loss: 2.0577, Valid loss: 1.8715\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [251/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.33it/s, loss=2.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [251/3000]: Train loss: 2.0711, Valid loss: 1.7533\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [252/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.54it/s, loss=2.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [252/3000]: Train loss: 2.0696, Valid loss: 1.7833\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [253/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.21it/s, loss=2.53]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [253/3000]: Train loss: 2.0596, Valid loss: 2.0861\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [254/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.58it/s, loss=1.74]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [254/3000]: Train loss: 2.0056, Valid loss: 2.0254\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [255/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.69it/s, loss=2.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [255/3000]: Train loss: 2.0400, Valid loss: 1.8268\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [256/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.88it/s, loss=2.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [256/3000]: Train loss: 2.0178, Valid loss: 2.0083\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [257/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.58it/s, loss=2.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [257/3000]: Train loss: 2.0251, Valid loss: 1.9133\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [258/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.01it/s, loss=2.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [258/3000]: Train loss: 2.0225, Valid loss: 1.7619\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [259/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.84it/s, loss=2.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [259/3000]: Train loss: 2.0092, Valid loss: 1.9053\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [260/3000]: 100%|██████████| 9/9 [00:00<00:00, 121.77it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [260/3000]: Train loss: 1.9779, Valid loss: 1.7524\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [261/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.36it/s, loss=2.59]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [261/3000]: Train loss: 2.0280, Valid loss: 1.6776\n","Saving model with loss 1.678...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [262/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.20it/s, loss=2.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [262/3000]: Train loss: 2.0142, Valid loss: 1.5059\n","Saving model with loss 1.506...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [263/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.31it/s, loss=2.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [263/3000]: Train loss: 2.0054, Valid loss: 1.8798\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [264/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.85it/s, loss=1.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [264/3000]: Train loss: 1.9513, Valid loss: 1.5369\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [265/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.71it/s, loss=1.84]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [265/3000]: Train loss: 1.9627, Valid loss: 1.8709\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [266/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.54it/s, loss=1.87]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [266/3000]: Train loss: 1.9596, Valid loss: 2.1541\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [267/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.76it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [267/3000]: Train loss: 1.9286, Valid loss: 1.9529\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [268/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.42it/s, loss=1.63]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [268/3000]: Train loss: 1.9366, Valid loss: 1.6802\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [269/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.77it/s, loss=2.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [269/3000]: Train loss: 1.9595, Valid loss: 1.7121\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [270/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.55it/s, loss=2.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [270/3000]: Train loss: 1.9747, Valid loss: 1.5838\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [271/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.74it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [271/3000]: Train loss: 1.9329, Valid loss: 2.1791\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [272/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.40it/s, loss=2.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [272/3000]: Train loss: 1.9511, Valid loss: 1.8556\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [273/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.97it/s, loss=1.64]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [273/3000]: Train loss: 1.9256, Valid loss: 2.0335\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [274/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.20it/s, loss=2.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [274/3000]: Train loss: 1.9556, Valid loss: 1.9792\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [275/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.27it/s, loss=2.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [275/3000]: Train loss: 1.9546, Valid loss: 1.6934\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [276/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.46it/s, loss=2.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [276/3000]: Train loss: 1.9356, Valid loss: 2.0433\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [277/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.21it/s, loss=1.98]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [277/3000]: Train loss: 1.9285, Valid loss: 1.5199\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [278/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.06it/s, loss=2.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [278/3000]: Train loss: 1.9503, Valid loss: 2.1107\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [279/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.50it/s, loss=2.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [279/3000]: Train loss: 1.9634, Valid loss: 1.7593\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [280/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.18it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [280/3000]: Train loss: 1.9055, Valid loss: 1.6384\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [281/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.12it/s, loss=1.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [281/3000]: Train loss: 1.9057, Valid loss: 2.1245\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [282/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.69it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [282/3000]: Train loss: 1.8892, Valid loss: 1.9556\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [283/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.71it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [283/3000]: Train loss: 1.8726, Valid loss: 1.6907\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [284/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.86it/s, loss=1.95]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [284/3000]: Train loss: 1.9020, Valid loss: 1.9060\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [285/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.63it/s, loss=2.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [285/3000]: Train loss: 1.9089, Valid loss: 1.7064\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [286/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.91it/s, loss=1.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [286/3000]: Train loss: 1.8969, Valid loss: 1.8052\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [287/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.81it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [287/3000]: Train loss: 1.8514, Valid loss: 1.8590\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [288/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.99it/s, loss=2.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [288/3000]: Train loss: 1.9154, Valid loss: 1.8100\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [289/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.27it/s, loss=2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [289/3000]: Train loss: 1.8925, Valid loss: 1.9285\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [290/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.57it/s, loss=2.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [290/3000]: Train loss: 1.9074, Valid loss: 1.6389\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [291/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.06it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [291/3000]: Train loss: 1.8469, Valid loss: 1.5133\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [292/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.36it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [292/3000]: Train loss: 1.8535, Valid loss: 2.0724\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [293/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.85it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [293/3000]: Train loss: 1.8705, Valid loss: 1.7549\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [294/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.28it/s, loss=1.77]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [294/3000]: Train loss: 1.8674, Valid loss: 1.5701\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [295/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.56it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [295/3000]: Train loss: 1.8483, Valid loss: 1.9619\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [296/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.91it/s, loss=2.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [296/3000]: Train loss: 1.8996, Valid loss: 1.8342\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [297/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.59it/s, loss=1.93]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [297/3000]: Train loss: 1.8700, Valid loss: 1.6277\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [298/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.88it/s, loss=2.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [298/3000]: Train loss: 1.8692, Valid loss: 1.8859\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [299/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.72it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [299/3000]: Train loss: 1.8520, Valid loss: 1.6131\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [300/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.22it/s, loss=1.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [300/3000]: Train loss: 1.8388, Valid loss: 1.6019\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [301/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.53it/s, loss=2.66]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [301/3000]: Train loss: 1.9022, Valid loss: 1.7899\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [302/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.89it/s, loss=1.88]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [302/3000]: Train loss: 1.8546, Valid loss: 1.7025\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [303/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.13it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [303/3000]: Train loss: 1.8272, Valid loss: 1.9653\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [304/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.87it/s, loss=1.51]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [304/3000]: Train loss: 1.8215, Valid loss: 1.9267\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [305/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.23it/s, loss=2.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [305/3000]: Train loss: 1.8746, Valid loss: 1.5204\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [306/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.42it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [306/3000]: Train loss: 1.8126, Valid loss: 1.6623\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [307/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.36it/s, loss=2.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [307/3000]: Train loss: 1.8604, Valid loss: 1.8252\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [308/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.08it/s, loss=1.97]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [308/3000]: Train loss: 1.8409, Valid loss: 1.5465\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [309/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.35it/s, loss=1.96]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [309/3000]: Train loss: 1.8396, Valid loss: 1.9116\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [310/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.42it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [310/3000]: Train loss: 1.8187, Valid loss: 1.6488\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [311/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.80it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [311/3000]: Train loss: 1.8019, Valid loss: 1.8243\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [312/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.97it/s, loss=1.63]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [312/3000]: Train loss: 1.8098, Valid loss: 1.6476\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [313/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.82it/s, loss=1.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [313/3000]: Train loss: 1.8193, Valid loss: 1.5330\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [314/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.93it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [314/3000]: Train loss: 1.7926, Valid loss: 1.5089\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [315/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.60it/s, loss=2.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [315/3000]: Train loss: 1.8314, Valid loss: 1.4625\n","Saving model with loss 1.462...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [316/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.07it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [316/3000]: Train loss: 1.8041, Valid loss: 1.7297\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [317/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.14it/s, loss=2.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [317/3000]: Train loss: 1.8367, Valid loss: 1.6204\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [318/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.95it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [318/3000]: Train loss: 1.7902, Valid loss: 1.5821\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [319/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.15it/s, loss=1.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [319/3000]: Train loss: 1.8056, Valid loss: 1.4934\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [320/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.43it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [320/3000]: Train loss: 1.7671, Valid loss: 1.6936\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [321/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.73it/s, loss=1.89]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [321/3000]: Train loss: 1.8041, Valid loss: 1.5574\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [322/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.39it/s, loss=1.78]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [322/3000]: Train loss: 1.7951, Valid loss: 1.3734\n","Saving model with loss 1.373...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [323/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.37it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [323/3000]: Train loss: 1.7824, Valid loss: 1.4009\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [324/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.00it/s, loss=2.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [324/3000]: Train loss: 1.8356, Valid loss: 1.5775\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [325/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.96it/s, loss=1.97]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [325/3000]: Train loss: 1.7997, Valid loss: 1.4159\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [326/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.26it/s, loss=1.64]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [326/3000]: Train loss: 1.7792, Valid loss: 1.6963\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [327/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.39it/s, loss=2.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [327/3000]: Train loss: 1.8284, Valid loss: 1.7070\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [328/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.51it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [328/3000]: Train loss: 1.7779, Valid loss: 1.5623\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [329/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.13it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [329/3000]: Train loss: 1.7464, Valid loss: 1.3942\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [330/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.91it/s, loss=1.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [330/3000]: Train loss: 1.7627, Valid loss: 1.7383\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [331/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.26it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [331/3000]: Train loss: 1.7692, Valid loss: 1.7182\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [332/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.34it/s, loss=1.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [332/3000]: Train loss: 1.7800, Valid loss: 1.7148\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [333/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.22it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [333/3000]: Train loss: 1.7631, Valid loss: 1.6517\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [334/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.42it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [334/3000]: Train loss: 1.7677, Valid loss: 1.5271\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [335/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.62it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [335/3000]: Train loss: 1.7517, Valid loss: 1.5672\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [336/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.60it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [336/3000]: Train loss: 1.7555, Valid loss: 1.7828\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [337/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.32it/s, loss=1.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [337/3000]: Train loss: 1.7668, Valid loss: 1.8456\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [338/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.44it/s, loss=2.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [338/3000]: Train loss: 1.7825, Valid loss: 1.5792\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [339/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.98it/s, loss=1.74]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [339/3000]: Train loss: 1.7549, Valid loss: 1.8324\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [340/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.91it/s, loss=1.51]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [340/3000]: Train loss: 1.7443, Valid loss: 1.6375\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [341/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.14it/s, loss=1.79]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [341/3000]: Train loss: 1.7572, Valid loss: 1.7923\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [342/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.88it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [342/3000]: Train loss: 1.7467, Valid loss: 1.4935\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [343/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.70it/s, loss=2.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [343/3000]: Train loss: 1.7731, Valid loss: 1.6459\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [344/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.51it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [344/3000]: Train loss: 1.7275, Valid loss: 1.7927\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [345/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.52it/s, loss=1.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [345/3000]: Train loss: 1.7171, Valid loss: 1.4003\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [346/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.42it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [346/3000]: Train loss: 1.7398, Valid loss: 1.4322\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [347/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.97it/s, loss=1.97]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [347/3000]: Train loss: 1.7500, Valid loss: 1.5548\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [348/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.11it/s, loss=1.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [348/3000]: Train loss: 1.7273, Valid loss: 1.6667\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [349/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.16it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [349/3000]: Train loss: 1.7143, Valid loss: 1.6987\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [350/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.89it/s, loss=1.83]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [350/3000]: Train loss: 1.7375, Valid loss: 1.6837\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [351/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.42it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [351/3000]: Train loss: 1.7236, Valid loss: 1.4310\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [352/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.34it/s, loss=1.86]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [352/3000]: Train loss: 1.7329, Valid loss: 1.6573\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [353/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.76it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [353/3000]: Train loss: 1.6999, Valid loss: 1.3473\n","Saving model with loss 1.347...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [354/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.06it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [354/3000]: Train loss: 1.7217, Valid loss: 1.4837\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [355/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.25it/s, loss=1.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [355/3000]: Train loss: 1.7315, Valid loss: 1.3767\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [356/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.79it/s, loss=1.87]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [356/3000]: Train loss: 1.7306, Valid loss: 1.4161\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [357/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.94it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [357/3000]: Train loss: 1.6884, Valid loss: 1.6740\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [358/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.85it/s, loss=2.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [358/3000]: Train loss: 1.7294, Valid loss: 1.7281\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [359/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.56it/s, loss=2.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [359/3000]: Train loss: 1.7424, Valid loss: 1.3971\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [360/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.41it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [360/3000]: Train loss: 1.6724, Valid loss: 1.8572\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [361/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.52it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [361/3000]: Train loss: 1.6857, Valid loss: 1.8471\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [362/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.58it/s, loss=1.86]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [362/3000]: Train loss: 1.7197, Valid loss: 1.4068\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [363/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.73it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [363/3000]: Train loss: 1.7222, Valid loss: 1.4832\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [364/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.01it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [364/3000]: Train loss: 1.7126, Valid loss: 1.4542\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [365/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.76it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [365/3000]: Train loss: 1.7022, Valid loss: 1.6559\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [366/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.51it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [366/3000]: Train loss: 1.6799, Valid loss: 1.3032\n","Saving model with loss 1.303...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [367/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.02it/s, loss=2.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [367/3000]: Train loss: 1.7316, Valid loss: 1.4619\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [368/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.21it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [368/3000]: Train loss: 1.6824, Valid loss: 1.5022\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [369/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.25it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [369/3000]: Train loss: 1.6616, Valid loss: 1.7001\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [370/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.71it/s, loss=2.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [370/3000]: Train loss: 1.7359, Valid loss: 1.5377\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [371/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.88it/s, loss=1.95]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [371/3000]: Train loss: 1.6981, Valid loss: 1.2799\n","Saving model with loss 1.280...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [372/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.52it/s, loss=2.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [372/3000]: Train loss: 1.7122, Valid loss: 1.4119\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [373/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.63it/s, loss=1.66]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [373/3000]: Train loss: 1.6746, Valid loss: 1.2976\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [374/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.47it/s, loss=1.86]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [374/3000]: Train loss: 1.6850, Valid loss: 1.3491\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [375/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.14it/s, loss=1.59]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [375/3000]: Train loss: 1.6701, Valid loss: 1.6931\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [376/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.74it/s, loss=1.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [376/3000]: Train loss: 1.6855, Valid loss: 1.4953\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [377/3000]: 100%|██████████| 9/9 [00:00<00:00, 35.85it/s, loss=1.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [377/3000]: Train loss: 1.6600, Valid loss: 1.7917\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [378/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.12it/s, loss=1.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [378/3000]: Train loss: 1.6522, Valid loss: 1.2332\n","Saving model with loss 1.233...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [379/3000]: 100%|██████████| 9/9 [00:00<00:00, 53.86it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [379/3000]: Train loss: 1.6526, Valid loss: 1.6291\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [380/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.34it/s, loss=1.66]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [380/3000]: Train loss: 1.6617, Valid loss: 1.2662\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [381/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.82it/s, loss=1.59]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [381/3000]: Train loss: 1.6546, Valid loss: 1.5321\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [382/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.33it/s, loss=1.82]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [382/3000]: Train loss: 1.6677, Valid loss: 1.3574\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [383/3000]: 100%|██████████| 9/9 [00:00<00:00, 41.47it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [383/3000]: Train loss: 1.6378, Valid loss: 1.4439\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [384/3000]: 100%|██████████| 9/9 [00:00<00:00, 26.62it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [384/3000]: Train loss: 1.6372, Valid loss: 1.5505\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [385/3000]: 100%|██████████| 9/9 [00:00<00:00, 36.98it/s, loss=1.77]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [385/3000]: Train loss: 1.6574, Valid loss: 1.5875\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [386/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.74it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [386/3000]: Train loss: 1.6395, Valid loss: 1.2796\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [387/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.07it/s, loss=1.83]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [387/3000]: Train loss: 1.6577, Valid loss: 1.3824\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [388/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.27it/s, loss=2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [388/3000]: Train loss: 1.6657, Valid loss: 1.6007\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [389/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.06it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [389/3000]: Train loss: 1.6245, Valid loss: 1.9032\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [390/3000]: 100%|██████████| 9/9 [00:00<00:00, 31.64it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [390/3000]: Train loss: 1.6301, Valid loss: 1.5113\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [391/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.39it/s, loss=1.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [391/3000]: Train loss: 1.6351, Valid loss: 1.4514\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [392/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.97it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [392/3000]: Train loss: 1.6155, Valid loss: 1.3156\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [393/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.76it/s, loss=2.53]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [393/3000]: Train loss: 1.6888, Valid loss: 1.4435\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [394/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.00it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [394/3000]: Train loss: 1.6138, Valid loss: 1.6768\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [395/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.64it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [395/3000]: Train loss: 1.6324, Valid loss: 1.5139\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [396/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.51it/s, loss=1.9]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [396/3000]: Train loss: 1.6482, Valid loss: 1.2509\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [397/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.59it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [397/3000]: Train loss: 1.6032, Valid loss: 1.5841\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [398/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.38it/s, loss=1.74]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [398/3000]: Train loss: 1.6288, Valid loss: 1.4757\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [399/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.19it/s, loss=1.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [399/3000]: Train loss: 1.6394, Valid loss: 1.5212\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [400/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.27it/s, loss=1.93]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [400/3000]: Train loss: 1.6377, Valid loss: 1.3181\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [401/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.09it/s, loss=1.65]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [401/3000]: Train loss: 1.6192, Valid loss: 1.8579\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [402/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.11it/s, loss=1.84]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [402/3000]: Train loss: 1.6288, Valid loss: 1.4036\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [403/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.12it/s, loss=1.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [403/3000]: Train loss: 1.6014, Valid loss: 1.4778\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [404/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.02it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [404/3000]: Train loss: 1.6163, Valid loss: 1.3152\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [405/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.83it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [405/3000]: Train loss: 1.5927, Valid loss: 1.6644\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [406/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.79it/s, loss=1.96]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [406/3000]: Train loss: 1.6286, Valid loss: 1.2764\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [407/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.11it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [407/3000]: Train loss: 1.5827, Valid loss: 1.4491\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [408/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.91it/s, loss=1.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [408/3000]: Train loss: 1.5997, Valid loss: 1.2987\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [409/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.92it/s, loss=2.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [409/3000]: Train loss: 1.6408, Valid loss: 1.2948\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [410/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.40it/s, loss=2.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [410/3000]: Train loss: 1.6271, Valid loss: 1.5785\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [411/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.55it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [411/3000]: Train loss: 1.5861, Valid loss: 1.6633\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [412/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.06it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [412/3000]: Train loss: 1.5820, Valid loss: 1.3160\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [413/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.04it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [413/3000]: Train loss: 1.5761, Valid loss: 1.5272\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [414/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.11it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [414/3000]: Train loss: 1.5828, Valid loss: 1.5463\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [415/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.61it/s, loss=2.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [415/3000]: Train loss: 1.6432, Valid loss: 1.3586\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [416/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.82it/s, loss=1.91]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [416/3000]: Train loss: 1.6052, Valid loss: 1.7427\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [417/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.02it/s, loss=1.84]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [417/3000]: Train loss: 1.5990, Valid loss: 1.4532\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [418/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.02it/s, loss=1.64]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [418/3000]: Train loss: 1.5858, Valid loss: 1.3630\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [419/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.95it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [419/3000]: Train loss: 1.5629, Valid loss: 1.4345\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [420/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.75it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [420/3000]: Train loss: 1.5617, Valid loss: 1.2184\n","Saving model with loss 1.218...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [421/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.09it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [421/3000]: Train loss: 1.5724, Valid loss: 1.2252\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [422/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.80it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [422/3000]: Train loss: 1.5603, Valid loss: 1.5043\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [423/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.63it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [423/3000]: Train loss: 1.5668, Valid loss: 1.4716\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [424/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.19it/s, loss=2.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [424/3000]: Train loss: 1.6065, Valid loss: 1.4235\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [425/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.19it/s, loss=1.63]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [425/3000]: Train loss: 1.5722, Valid loss: 1.2347\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [426/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.70it/s, loss=2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [426/3000]: Train loss: 1.5932, Valid loss: 1.3587\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [427/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.31it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [427/3000]: Train loss: 1.5465, Valid loss: 1.4908\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [428/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.94it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [428/3000]: Train loss: 1.5510, Valid loss: 1.3754\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [429/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.13it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [429/3000]: Train loss: 1.5391, Valid loss: 1.4613\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [430/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.28it/s, loss=1.46]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [430/3000]: Train loss: 1.5498, Valid loss: 1.4674\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [431/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.74it/s, loss=1.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [431/3000]: Train loss: 1.5591, Valid loss: 1.4344\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [432/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.52it/s, loss=2.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [432/3000]: Train loss: 1.5938, Valid loss: 1.3671\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [433/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.84it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [433/3000]: Train loss: 1.5337, Valid loss: 1.3050\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [434/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.17it/s, loss=1.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [434/3000]: Train loss: 1.5665, Valid loss: 1.7183\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [435/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.10it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [435/3000]: Train loss: 1.5469, Valid loss: 1.4337\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [436/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.43it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [436/3000]: Train loss: 1.5317, Valid loss: 1.4001\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [437/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.31it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [437/3000]: Train loss: 1.5374, Valid loss: 1.3455\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [438/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.13it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [438/3000]: Train loss: 1.5335, Valid loss: 1.2348\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [439/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.65it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [439/3000]: Train loss: 1.5542, Valid loss: 1.3887\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [440/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.35it/s, loss=0.813]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [440/3000]: Train loss: 1.4939, Valid loss: 1.3201\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [441/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.01it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [441/3000]: Train loss: 1.5246, Valid loss: 1.6163\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [442/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.34it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [442/3000]: Train loss: 1.5187, Valid loss: 1.1969\n","Saving model with loss 1.197...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [443/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.93it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [443/3000]: Train loss: 1.5173, Valid loss: 1.5699\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [444/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.11it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [444/3000]: Train loss: 1.5397, Valid loss: 1.4589\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [445/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.34it/s, loss=1.79]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [445/3000]: Train loss: 1.5492, Valid loss: 1.5020\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [446/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.74it/s, loss=1.71]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [446/3000]: Train loss: 1.5356, Valid loss: 1.3496\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [447/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.55it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [447/3000]: Train loss: 1.5263, Valid loss: 1.6037\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [448/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.83it/s, loss=1.65]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [448/3000]: Train loss: 1.5330, Valid loss: 1.7810\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [449/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.85it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [449/3000]: Train loss: 1.5145, Valid loss: 1.2239\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [450/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.09it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [450/3000]: Train loss: 1.5321, Valid loss: 1.4046\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [451/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.75it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [451/3000]: Train loss: 1.5317, Valid loss: 1.6209\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [452/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.51it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [452/3000]: Train loss: 1.5410, Valid loss: 1.1476\n","Saving model with loss 1.148...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [453/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.43it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [453/3000]: Train loss: 1.5249, Valid loss: 1.3955\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [454/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.75it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [454/3000]: Train loss: 1.4973, Valid loss: 1.1792\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [455/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.94it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [455/3000]: Train loss: 1.4968, Valid loss: 1.3506\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [456/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.27it/s, loss=1.76]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [456/3000]: Train loss: 1.5236, Valid loss: 1.1709\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [457/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.46it/s, loss=1.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [457/3000]: Train loss: 1.5138, Valid loss: 1.2123\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [458/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.96it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [458/3000]: Train loss: 1.5154, Valid loss: 1.1269\n","Saving model with loss 1.127...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [459/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.98it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [459/3000]: Train loss: 1.5064, Valid loss: 1.2338\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [460/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.88it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [460/3000]: Train loss: 1.4802, Valid loss: 1.5514\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [461/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.60it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [461/3000]: Train loss: 1.5104, Valid loss: 1.2088\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [462/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.03it/s, loss=1.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [462/3000]: Train loss: 1.5038, Valid loss: 1.4272\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [463/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.65it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [463/3000]: Train loss: 1.5032, Valid loss: 1.3670\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [464/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.33it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [464/3000]: Train loss: 1.4796, Valid loss: 1.4763\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [465/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.39it/s, loss=1.53]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [465/3000]: Train loss: 1.4940, Valid loss: 1.7818\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [466/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.38it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [466/3000]: Train loss: 1.4789, Valid loss: 1.6051\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [467/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.53it/s, loss=1.66]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [467/3000]: Train loss: 1.5007, Valid loss: 1.6533\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [468/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.75it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [468/3000]: Train loss: 1.4791, Valid loss: 1.5292\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [469/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.88it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [469/3000]: Train loss: 1.4745, Valid loss: 1.1039\n","Saving model with loss 1.104...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [470/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.65it/s, loss=1.66]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [470/3000]: Train loss: 1.4959, Valid loss: 1.3389\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [471/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.34it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [471/3000]: Train loss: 1.4768, Valid loss: 1.2958\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [472/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.59it/s, loss=1.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [472/3000]: Train loss: 1.4847, Valid loss: 1.1467\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [473/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.32it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [473/3000]: Train loss: 1.4729, Valid loss: 1.6342\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [474/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.03it/s, loss=1.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [474/3000]: Train loss: 1.4749, Valid loss: 1.5426\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [475/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.71it/s, loss=1.86]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [475/3000]: Train loss: 1.5032, Valid loss: 1.4020\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [476/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.52it/s, loss=1.89]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [476/3000]: Train loss: 1.5023, Valid loss: 1.5297\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [477/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.41it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [477/3000]: Train loss: 1.4689, Valid loss: 1.1289\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [478/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.88it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [478/3000]: Train loss: 1.4642, Valid loss: 1.2445\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [479/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.87it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [479/3000]: Train loss: 1.4454, Valid loss: 1.3608\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [480/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.47it/s, loss=1.72]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [480/3000]: Train loss: 1.4815, Valid loss: 1.2788\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [481/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.16it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [481/3000]: Train loss: 1.4529, Valid loss: 1.3623\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [482/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.23it/s, loss=1.51]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [482/3000]: Train loss: 1.4679, Valid loss: 1.4591\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [483/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.77it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [483/3000]: Train loss: 1.4704, Valid loss: 1.2434\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [484/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.38it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [484/3000]: Train loss: 1.4782, Valid loss: 1.2663\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [485/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.11it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [485/3000]: Train loss: 1.4546, Valid loss: 1.3623\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [486/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.53it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [486/3000]: Train loss: 1.4339, Valid loss: 1.5560\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [487/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.79it/s, loss=2.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [487/3000]: Train loss: 1.5238, Valid loss: 1.6056\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [488/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.71it/s, loss=0.798]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [488/3000]: Train loss: 1.4123, Valid loss: 1.4357\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [489/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.79it/s, loss=1.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [489/3000]: Train loss: 1.4748, Valid loss: 1.2171\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [490/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.25it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [490/3000]: Train loss: 1.4348, Valid loss: 1.2066\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [491/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.54it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [491/3000]: Train loss: 1.4252, Valid loss: 1.4430\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [492/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.47it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [492/3000]: Train loss: 1.4402, Valid loss: 1.3268\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [493/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.02it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [493/3000]: Train loss: 1.4426, Valid loss: 1.2280\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [494/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.91it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [494/3000]: Train loss: 1.4384, Valid loss: 1.2238\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [495/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.00it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [495/3000]: Train loss: 1.4393, Valid loss: 1.1492\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [496/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.63it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [496/3000]: Train loss: 1.4229, Valid loss: 1.1658\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [497/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.04it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [497/3000]: Train loss: 1.4252, Valid loss: 1.1641\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [498/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.37it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [498/3000]: Train loss: 1.4315, Valid loss: 1.2977\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [499/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.17it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [499/3000]: Train loss: 1.4257, Valid loss: 1.4406\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [500/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.40it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [500/3000]: Train loss: 1.4493, Valid loss: 1.2903\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [501/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.10it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [501/3000]: Train loss: 1.4255, Valid loss: 1.1247\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [502/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.95it/s, loss=1.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [502/3000]: Train loss: 1.4280, Valid loss: 1.2377\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [503/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.75it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [503/3000]: Train loss: 1.4453, Valid loss: 1.2582\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [504/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.54it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [504/3000]: Train loss: 1.4207, Valid loss: 1.1991\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [505/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.14it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [505/3000]: Train loss: 1.4159, Valid loss: 1.0664\n","Saving model with loss 1.066...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [506/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.70it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [506/3000]: Train loss: 1.4269, Valid loss: 1.2994\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [507/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.48it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [507/3000]: Train loss: 1.4173, Valid loss: 1.2729\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [508/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.03it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [508/3000]: Train loss: 1.4226, Valid loss: 1.0468\n","Saving model with loss 1.047...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [509/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.78it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [509/3000]: Train loss: 1.4244, Valid loss: 1.1022\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [510/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.45it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [510/3000]: Train loss: 1.3972, Valid loss: 1.3111\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [511/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.52it/s, loss=1.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [511/3000]: Train loss: 1.3939, Valid loss: 1.4402\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [512/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.34it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [512/3000]: Train loss: 1.4210, Valid loss: 1.1781\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [513/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.85it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [513/3000]: Train loss: 1.4250, Valid loss: 1.2369\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [514/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.48it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [514/3000]: Train loss: 1.4160, Valid loss: 1.0918\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [515/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.93it/s, loss=1.96]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [515/3000]: Train loss: 1.4538, Valid loss: 1.4507\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [516/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.51it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [516/3000]: Train loss: 1.4112, Valid loss: 1.7685\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [517/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.08it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [517/3000]: Train loss: 1.4017, Valid loss: 1.4805\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [518/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.45it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [518/3000]: Train loss: 1.4163, Valid loss: 1.2311\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [519/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.17it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [519/3000]: Train loss: 1.4186, Valid loss: 1.4156\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [520/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.05it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [520/3000]: Train loss: 1.3894, Valid loss: 1.1618\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [521/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.71it/s, loss=0.923]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [521/3000]: Train loss: 1.3731, Valid loss: 1.3050\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [522/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.04it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [522/3000]: Train loss: 1.3962, Valid loss: 1.1158\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [523/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.52it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [523/3000]: Train loss: 1.3896, Valid loss: 1.4363\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [524/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.92it/s, loss=1.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [524/3000]: Train loss: 1.4107, Valid loss: 1.5277\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [525/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.96it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [525/3000]: Train loss: 1.4080, Valid loss: 1.0786\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [526/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.50it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [526/3000]: Train loss: 1.3798, Valid loss: 1.0782\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [527/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.61it/s, loss=0.984]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [527/3000]: Train loss: 1.3690, Valid loss: 1.1500\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [528/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.30it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [528/3000]: Train loss: 1.3893, Valid loss: 1.1002\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [529/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.27it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [529/3000]: Train loss: 1.3734, Valid loss: 1.2109\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [530/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.56it/s, loss=1.46]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [530/3000]: Train loss: 1.3937, Valid loss: 1.0512\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [531/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.90it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [531/3000]: Train loss: 1.3927, Valid loss: 1.4759\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [532/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.31it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [532/3000]: Train loss: 1.3875, Valid loss: 1.2825\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [533/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.69it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [533/3000]: Train loss: 1.3901, Valid loss: 1.1640\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [534/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.51it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [534/3000]: Train loss: 1.4057, Valid loss: 0.9851\n","Saving model with loss 0.985...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [535/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.18it/s, loss=1.81]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [535/3000]: Train loss: 1.4180, Valid loss: 1.0500\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [536/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.71it/s, loss=1.77]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [536/3000]: Train loss: 1.4088, Valid loss: 1.3282\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [537/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.24it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [537/3000]: Train loss: 1.3910, Valid loss: 1.3713\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [538/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.52it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [538/3000]: Train loss: 1.3709, Valid loss: 1.2475\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [539/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.79it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [539/3000]: Train loss: 1.3665, Valid loss: 1.1727\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [540/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.56it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [540/3000]: Train loss: 1.3998, Valid loss: 1.2965\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [541/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.38it/s, loss=1.64]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [541/3000]: Train loss: 1.4031, Valid loss: 1.0456\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [542/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.10it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [542/3000]: Train loss: 1.4025, Valid loss: 1.3915\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [543/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.75it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [543/3000]: Train loss: 1.3890, Valid loss: 1.3249\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [544/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.42it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [544/3000]: Train loss: 1.3874, Valid loss: 1.3103\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [545/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.10it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [545/3000]: Train loss: 1.3582, Valid loss: 1.4439\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [546/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.52it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [546/3000]: Train loss: 1.3873, Valid loss: 1.1816\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [547/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.35it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [547/3000]: Train loss: 1.3743, Valid loss: 1.2358\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [548/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.36it/s, loss=2.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [548/3000]: Train loss: 1.4170, Valid loss: 1.2482\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [549/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.46it/s, loss=1.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [549/3000]: Train loss: 1.3753, Valid loss: 1.0476\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [550/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.83it/s, loss=1.97]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [550/3000]: Train loss: 1.4017, Valid loss: 1.2200\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [551/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.67it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [551/3000]: Train loss: 1.3425, Valid loss: 1.2013\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [552/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.60it/s, loss=1.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [552/3000]: Train loss: 1.3754, Valid loss: 1.0870\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [553/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.50it/s, loss=0.837]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [553/3000]: Train loss: 1.3277, Valid loss: 1.0599\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [554/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.69it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [554/3000]: Train loss: 1.3646, Valid loss: 1.2212\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [555/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.63it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [555/3000]: Train loss: 1.3440, Valid loss: 1.2064\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [556/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.99it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [556/3000]: Train loss: 1.3618, Valid loss: 1.1661\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [557/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.99it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [557/3000]: Train loss: 1.3413, Valid loss: 1.4354\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [558/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.77it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [558/3000]: Train loss: 1.3655, Valid loss: 1.2814\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [559/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.40it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [559/3000]: Train loss: 1.3444, Valid loss: 1.2398\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [560/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.23it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [560/3000]: Train loss: 1.3421, Valid loss: 1.2426\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [561/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.11it/s, loss=1.62]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [561/3000]: Train loss: 1.3662, Valid loss: 1.1741\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [562/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.47it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [562/3000]: Train loss: 1.3612, Valid loss: 1.3226\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [563/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.79it/s, loss=1.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [563/3000]: Train loss: 1.3670, Valid loss: 1.1413\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [564/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.00it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [564/3000]: Train loss: 1.3550, Valid loss: 1.0400\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [565/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.86it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [565/3000]: Train loss: 1.3267, Valid loss: 1.2294\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [566/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.84it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [566/3000]: Train loss: 1.3390, Valid loss: 1.5528\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [567/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.20it/s, loss=1.68]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [567/3000]: Train loss: 1.3656, Valid loss: 1.0883\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [568/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.05it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [568/3000]: Train loss: 1.3532, Valid loss: 1.1869\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [569/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.11it/s, loss=1.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [569/3000]: Train loss: 1.3604, Valid loss: 1.1430\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [570/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.68it/s, loss=0.939]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [570/3000]: Train loss: 1.3199, Valid loss: 1.1211\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [571/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.73it/s, loss=1.58]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [571/3000]: Train loss: 1.3536, Valid loss: 1.2297\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [572/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.24it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [572/3000]: Train loss: 1.3196, Valid loss: 1.0923\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [573/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.72it/s, loss=1.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [573/3000]: Train loss: 1.3528, Valid loss: 1.1358\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [574/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.31it/s, loss=0.992]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [574/3000]: Train loss: 1.3136, Valid loss: 1.2407\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [575/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.63it/s, loss=1.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [575/3000]: Train loss: 1.3373, Valid loss: 1.2849\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [576/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.56it/s, loss=1.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [576/3000]: Train loss: 1.3467, Valid loss: 1.2280\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [577/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.36it/s, loss=1.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [577/3000]: Train loss: 1.3685, Valid loss: 1.6080\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [578/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.05it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [578/3000]: Train loss: 1.3327, Valid loss: 1.0858\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [579/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.12it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [579/3000]: Train loss: 1.3336, Valid loss: 1.1457\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [580/3000]: 100%|██████████| 9/9 [00:00<00:00, 120.69it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [580/3000]: Train loss: 1.3365, Valid loss: 1.2165\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [581/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.26it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [581/3000]: Train loss: 1.3283, Valid loss: 1.6431\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [582/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.60it/s, loss=1.68]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [582/3000]: Train loss: 1.3509, Valid loss: 1.3183\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [583/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.05it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [583/3000]: Train loss: 1.3219, Valid loss: 1.1271\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [584/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.59it/s, loss=0.83]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [584/3000]: Train loss: 1.2958, Valid loss: 1.2281\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [585/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.34it/s, loss=0.988]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [585/3000]: Train loss: 1.3031, Valid loss: 1.3489\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [586/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.24it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [586/3000]: Train loss: 1.3067, Valid loss: 1.2259\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [587/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.45it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [587/3000]: Train loss: 1.3132, Valid loss: 1.1473\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [588/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.25it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [588/3000]: Train loss: 1.3387, Valid loss: 1.2899\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [589/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.44it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [589/3000]: Train loss: 1.3167, Valid loss: 1.1012\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [590/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.58it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [590/3000]: Train loss: 1.3187, Valid loss: 1.1820\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [591/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.86it/s, loss=1.66]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [591/3000]: Train loss: 1.3385, Valid loss: 1.3214\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [592/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.29it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [592/3000]: Train loss: 1.3274, Valid loss: 1.0740\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [593/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.99it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [593/3000]: Train loss: 1.3148, Valid loss: 1.1434\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [594/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.86it/s, loss=0.826]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [594/3000]: Train loss: 1.2939, Valid loss: 1.1845\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [595/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.69it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [595/3000]: Train loss: 1.3166, Valid loss: 1.1836\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [596/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.02it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [596/3000]: Train loss: 1.3204, Valid loss: 1.0008\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [597/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.21it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [597/3000]: Train loss: 1.3178, Valid loss: 1.0950\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [598/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.19it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [598/3000]: Train loss: 1.3085, Valid loss: 1.3837\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [599/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.75it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [599/3000]: Train loss: 1.3230, Valid loss: 0.9921\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [600/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.72it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [600/3000]: Train loss: 1.3004, Valid loss: 1.1791\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [601/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.35it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [601/3000]: Train loss: 1.2985, Valid loss: 1.1616\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [602/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.30it/s, loss=1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [602/3000]: Train loss: 1.2866, Valid loss: 1.2326\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [603/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.75it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [603/3000]: Train loss: 1.2918, Valid loss: 1.2868\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [604/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.52it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [604/3000]: Train loss: 1.3092, Valid loss: 1.0215\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [605/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.68it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [605/3000]: Train loss: 1.2915, Valid loss: 1.2462\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [606/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.36it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [606/3000]: Train loss: 1.2914, Valid loss: 1.0083\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [607/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.76it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [607/3000]: Train loss: 1.3055, Valid loss: 1.2235\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [608/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.83it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [608/3000]: Train loss: 1.2833, Valid loss: 1.1957\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [609/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.78it/s, loss=1.85]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [609/3000]: Train loss: 1.3320, Valid loss: 1.1822\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [610/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.23it/s, loss=0.998]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [610/3000]: Train loss: 1.2801, Valid loss: 1.3656\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [611/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.35it/s, loss=1.46]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [611/3000]: Train loss: 1.3061, Valid loss: 1.3814\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [612/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.54it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [612/3000]: Train loss: 1.2919, Valid loss: 0.9598\n","Saving model with loss 0.960...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [613/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.01it/s, loss=0.787]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [613/3000]: Train loss: 1.2682, Valid loss: 0.9439\n","Saving model with loss 0.944...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [614/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.98it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [614/3000]: Train loss: 1.3095, Valid loss: 1.1438\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [615/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.03it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [615/3000]: Train loss: 1.2907, Valid loss: 1.0603\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [616/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.35it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [616/3000]: Train loss: 1.2762, Valid loss: 1.2782\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [617/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.00it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [617/3000]: Train loss: 1.2938, Valid loss: 1.0560\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [618/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.55it/s, loss=1.7]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [618/3000]: Train loss: 1.3212, Valid loss: 1.1229\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [619/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.50it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [619/3000]: Train loss: 1.3131, Valid loss: 1.1532\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [620/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.09it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [620/3000]: Train loss: 1.2954, Valid loss: 1.0045\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [621/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.56it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [621/3000]: Train loss: 1.2814, Valid loss: 0.9920\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [622/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.14it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [622/3000]: Train loss: 1.2928, Valid loss: 1.0734\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [623/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.32it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [623/3000]: Train loss: 1.2863, Valid loss: 1.1098\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [624/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.59it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [624/3000]: Train loss: 1.2804, Valid loss: 1.1534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [625/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.48it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [625/3000]: Train loss: 1.3174, Valid loss: 1.4720\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [626/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.25it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [626/3000]: Train loss: 1.3091, Valid loss: 1.1547\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [627/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.34it/s, loss=1.68]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [627/3000]: Train loss: 1.3158, Valid loss: 1.0639\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [628/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.48it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [628/3000]: Train loss: 1.2735, Valid loss: 1.0489\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [629/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.01it/s, loss=1.74]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [629/3000]: Train loss: 1.3135, Valid loss: 1.0835\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [630/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.74it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [630/3000]: Train loss: 1.3046, Valid loss: 1.3417\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [631/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.44it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [631/3000]: Train loss: 1.2969, Valid loss: 0.9411\n","Saving model with loss 0.941...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [632/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.67it/s, loss=1.43]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [632/3000]: Train loss: 1.2869, Valid loss: 1.0059\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [633/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.57it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [633/3000]: Train loss: 1.2730, Valid loss: 1.2826\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [634/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.14it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [634/3000]: Train loss: 1.2630, Valid loss: 1.0997\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [635/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.06it/s, loss=1.75]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [635/3000]: Train loss: 1.3044, Valid loss: 1.3230\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [636/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.64it/s, loss=0.882]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [636/3000]: Train loss: 1.2501, Valid loss: 1.0643\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [637/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.35it/s, loss=0.88]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [637/3000]: Train loss: 1.2504, Valid loss: 1.0289\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [638/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.73it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [638/3000]: Train loss: 1.2688, Valid loss: 1.3076\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [639/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.53it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [639/3000]: Train loss: 1.2971, Valid loss: 1.7491\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [640/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.94it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [640/3000]: Train loss: 1.2706, Valid loss: 1.0962\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [641/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.44it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [641/3000]: Train loss: 1.2639, Valid loss: 1.0423\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [642/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.81it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [642/3000]: Train loss: 1.2664, Valid loss: 1.2110\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [643/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.12it/s, loss=0.959]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [643/3000]: Train loss: 1.2503, Valid loss: 0.9723\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [644/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.89it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [644/3000]: Train loss: 1.2614, Valid loss: 1.0256\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [645/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.57it/s, loss=1.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [645/3000]: Train loss: 1.2752, Valid loss: 1.1229\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [646/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.36it/s, loss=1.43]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [646/3000]: Train loss: 1.2787, Valid loss: 1.2156\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [647/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.56it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [647/3000]: Train loss: 1.2560, Valid loss: 1.0003\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [648/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.01it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [648/3000]: Train loss: 1.2763, Valid loss: 1.0011\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [649/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.07it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [649/3000]: Train loss: 1.2774, Valid loss: 1.0135\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [650/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.48it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [650/3000]: Train loss: 1.2696, Valid loss: 1.1040\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [651/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.98it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [651/3000]: Train loss: 1.2650, Valid loss: 1.3627\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [652/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.21it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [652/3000]: Train loss: 1.2807, Valid loss: 1.1586\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [653/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.08it/s, loss=2.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [653/3000]: Train loss: 1.3261, Valid loss: 1.3106\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [654/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.31it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [654/3000]: Train loss: 1.2572, Valid loss: 1.1035\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [655/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.99it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [655/3000]: Train loss: 1.2664, Valid loss: 0.9888\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [656/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.41it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [656/3000]: Train loss: 1.2677, Valid loss: 1.1246\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [657/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.05it/s, loss=0.947]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [657/3000]: Train loss: 1.2432, Valid loss: 1.3285\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [658/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.52it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [658/3000]: Train loss: 1.2691, Valid loss: 1.1330\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [659/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.65it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [659/3000]: Train loss: 1.2588, Valid loss: 1.0580\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [660/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.82it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [660/3000]: Train loss: 1.2650, Valid loss: 1.3768\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [661/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.21it/s, loss=0.878]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [661/3000]: Train loss: 1.2312, Valid loss: 1.1908\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [662/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.29it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [662/3000]: Train loss: 1.2510, Valid loss: 1.1246\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [663/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.94it/s, loss=1.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [663/3000]: Train loss: 1.2398, Valid loss: 1.2094\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [664/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.50it/s, loss=1.78]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [664/3000]: Train loss: 1.2896, Valid loss: 1.1665\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [665/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.53it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [665/3000]: Train loss: 1.2570, Valid loss: 1.0673\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [666/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.11it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [666/3000]: Train loss: 1.2602, Valid loss: 1.2130\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [667/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.89it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [667/3000]: Train loss: 1.2685, Valid loss: 1.1139\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [668/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.58it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [668/3000]: Train loss: 1.2548, Valid loss: 1.2016\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [669/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.62it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [669/3000]: Train loss: 1.2478, Valid loss: 1.0814\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [670/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.56it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [670/3000]: Train loss: 1.2725, Valid loss: 1.0938\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [671/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.56it/s, loss=0.937]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [671/3000]: Train loss: 1.2333, Valid loss: 1.2244\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [672/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.49it/s, loss=1.44]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [672/3000]: Train loss: 1.2697, Valid loss: 1.1959\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [673/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.45it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [673/3000]: Train loss: 1.2402, Valid loss: 1.3501\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [674/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.17it/s, loss=2.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [674/3000]: Train loss: 1.2958, Valid loss: 1.0961\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [675/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.99it/s, loss=0.986]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [675/3000]: Train loss: 1.2387, Valid loss: 1.0754\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [676/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.57it/s, loss=0.809]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [676/3000]: Train loss: 1.2225, Valid loss: 1.0907\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [677/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.90it/s, loss=0.924]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [677/3000]: Train loss: 1.2294, Valid loss: 1.2167\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [678/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.04it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [678/3000]: Train loss: 1.2475, Valid loss: 1.4257\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [679/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.23it/s, loss=0.852]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [679/3000]: Train loss: 1.2262, Valid loss: 1.0014\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [680/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.57it/s, loss=0.953]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [680/3000]: Train loss: 1.2295, Valid loss: 1.0132\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [681/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.60it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [681/3000]: Train loss: 1.2508, Valid loss: 1.1898\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [682/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.51it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [682/3000]: Train loss: 1.2468, Valid loss: 1.1162\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [683/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.07it/s, loss=1.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [683/3000]: Train loss: 1.2682, Valid loss: 1.0199\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [684/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.72it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [684/3000]: Train loss: 1.2589, Valid loss: 1.0691\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [685/3000]: 100%|██████████| 9/9 [00:00<00:00, 33.70it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [685/3000]: Train loss: 1.2398, Valid loss: 1.3248\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [686/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.97it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [686/3000]: Train loss: 1.2402, Valid loss: 1.3579\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [687/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.27it/s, loss=0.986]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [687/3000]: Train loss: 1.2295, Valid loss: 1.2738\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [688/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.62it/s, loss=1.51]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [688/3000]: Train loss: 1.2586, Valid loss: 1.0881\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [689/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.49it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [689/3000]: Train loss: 1.2304, Valid loss: 1.3232\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [690/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.51it/s, loss=0.906]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [690/3000]: Train loss: 1.2199, Valid loss: 1.2411\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [691/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.59it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [691/3000]: Train loss: 1.2319, Valid loss: 1.2189\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [692/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.76it/s, loss=0.996]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [692/3000]: Train loss: 1.2251, Valid loss: 1.2201\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [693/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.12it/s, loss=0.915]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [693/3000]: Train loss: 1.2196, Valid loss: 1.0748\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [694/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.07it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [694/3000]: Train loss: 1.2461, Valid loss: 1.0973\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [695/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.38it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [695/3000]: Train loss: 1.2530, Valid loss: 1.0038\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [696/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.33it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [696/3000]: Train loss: 1.2307, Valid loss: 1.2439\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [697/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.95it/s, loss=1.78]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [697/3000]: Train loss: 1.2749, Valid loss: 1.0976\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [698/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.03it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [698/3000]: Train loss: 1.2295, Valid loss: 1.2019\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [699/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.35it/s, loss=0.787]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [699/3000]: Train loss: 1.2114, Valid loss: 0.9502\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [700/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.55it/s, loss=1.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [700/3000]: Train loss: 1.2580, Valid loss: 1.1959\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [701/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.40it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [701/3000]: Train loss: 1.2387, Valid loss: 1.2799\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [702/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.03it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [702/3000]: Train loss: 1.2429, Valid loss: 1.3158\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [703/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.78it/s, loss=1.63]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [703/3000]: Train loss: 1.2641, Valid loss: 1.2043\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [704/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.03it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [704/3000]: Train loss: 1.2556, Valid loss: 1.1396\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [705/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.14it/s, loss=0.851]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [705/3000]: Train loss: 1.2169, Valid loss: 1.2407\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [706/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.88it/s, loss=1.46]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [706/3000]: Train loss: 1.2527, Valid loss: 1.3540\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [707/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.68it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [707/3000]: Train loss: 1.2471, Valid loss: 1.0218\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [708/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.77it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [708/3000]: Train loss: 1.2422, Valid loss: 1.0801\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [709/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.39it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [709/3000]: Train loss: 1.2284, Valid loss: 1.0472\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [710/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.46it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [710/3000]: Train loss: 1.2343, Valid loss: 1.2944\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [711/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.96it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [711/3000]: Train loss: 1.2438, Valid loss: 1.0067\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [712/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.95it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [712/3000]: Train loss: 1.2496, Valid loss: 1.0459\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [713/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.83it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [713/3000]: Train loss: 1.2168, Valid loss: 1.2189\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [714/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.99it/s, loss=1.67]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [714/3000]: Train loss: 1.2612, Valid loss: 1.0434\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [715/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.75it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [715/3000]: Train loss: 1.2271, Valid loss: 1.1077\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [716/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.71it/s, loss=0.988]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [716/3000]: Train loss: 1.2157, Valid loss: 1.1794\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [717/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.63it/s, loss=0.905]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [717/3000]: Train loss: 1.2150, Valid loss: 1.3901\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [718/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.11it/s, loss=1.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [718/3000]: Train loss: 1.2525, Valid loss: 1.0664\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [719/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.61it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [719/3000]: Train loss: 1.2465, Valid loss: 1.0859\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [720/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.24it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [720/3000]: Train loss: 1.2168, Valid loss: 1.0653\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [721/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.54it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [721/3000]: Train loss: 1.2329, Valid loss: 1.0002\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [722/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.77it/s, loss=0.892]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [722/3000]: Train loss: 1.2079, Valid loss: 1.1703\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [723/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.23it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [723/3000]: Train loss: 1.2134, Valid loss: 1.2517\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [724/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.54it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [724/3000]: Train loss: 1.2208, Valid loss: 1.0003\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [725/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.88it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [725/3000]: Train loss: 1.2293, Valid loss: 1.1252\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [726/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.67it/s, loss=0.699]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [726/3000]: Train loss: 1.1962, Valid loss: 1.1126\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [727/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.53it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [727/3000]: Train loss: 1.2169, Valid loss: 1.2687\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [728/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.27it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [728/3000]: Train loss: 1.2287, Valid loss: 1.1470\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [729/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.28it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [729/3000]: Train loss: 1.2433, Valid loss: 1.1166\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [730/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.57it/s, loss=1.8]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [730/3000]: Train loss: 1.2601, Valid loss: 1.0800\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [731/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.23it/s, loss=1.93]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [731/3000]: Train loss: 1.2727, Valid loss: 1.1782\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [732/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.12it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [732/3000]: Train loss: 1.2257, Valid loss: 1.1472\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [733/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.32it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [733/3000]: Train loss: 1.2276, Valid loss: 1.2227\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [734/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.82it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [734/3000]: Train loss: 1.2250, Valid loss: 1.0232\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [735/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.67it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [735/3000]: Train loss: 1.2316, Valid loss: 1.0454\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [736/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.96it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [736/3000]: Train loss: 1.2155, Valid loss: 1.0782\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [737/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.83it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [737/3000]: Train loss: 1.2291, Valid loss: 1.2367\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [738/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.33it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [738/3000]: Train loss: 1.2234, Valid loss: 0.9991\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [739/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.31it/s, loss=0.868]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [739/3000]: Train loss: 1.2072, Valid loss: 1.1879\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [740/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.98it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [740/3000]: Train loss: 1.2273, Valid loss: 1.0485\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [741/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.96it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [741/3000]: Train loss: 1.2367, Valid loss: 0.9940\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [742/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.40it/s, loss=1.45]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [742/3000]: Train loss: 1.2347, Valid loss: 1.0413\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [743/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.37it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [743/3000]: Train loss: 1.2420, Valid loss: 1.0366\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [744/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.10it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [744/3000]: Train loss: 1.2398, Valid loss: 1.0177\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [745/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.42it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [745/3000]: Train loss: 1.2309, Valid loss: 1.4567\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [746/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.45it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [746/3000]: Train loss: 1.2267, Valid loss: 1.2311\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [747/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.58it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [747/3000]: Train loss: 1.2069, Valid loss: 1.4562\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [748/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.30it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [748/3000]: Train loss: 1.2280, Valid loss: 1.0077\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [749/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.14it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [749/3000]: Train loss: 1.2244, Valid loss: 1.0100\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [750/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.90it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [750/3000]: Train loss: 1.2123, Valid loss: 1.3640\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [751/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.88it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [751/3000]: Train loss: 1.2328, Valid loss: 1.1903\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [752/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.06it/s, loss=1.5]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [752/3000]: Train loss: 1.2366, Valid loss: 0.9894\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [753/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.13it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [753/3000]: Train loss: 1.2230, Valid loss: 1.2219\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [754/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.44it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [754/3000]: Train loss: 1.2198, Valid loss: 1.1271\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [755/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.67it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [755/3000]: Train loss: 1.2347, Valid loss: 1.0720\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [756/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.57it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [756/3000]: Train loss: 1.2170, Valid loss: 1.0587\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [757/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.52it/s, loss=0.995]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [757/3000]: Train loss: 1.2015, Valid loss: 1.2412\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [758/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.30it/s, loss=1.95]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [758/3000]: Train loss: 1.2596, Valid loss: 1.2009\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [759/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.08it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [759/3000]: Train loss: 1.2420, Valid loss: 1.4040\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [760/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.15it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [760/3000]: Train loss: 1.2187, Valid loss: 1.5993\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [761/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.94it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [761/3000]: Train loss: 1.2197, Valid loss: 1.3633\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [762/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.88it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [762/3000]: Train loss: 1.2260, Valid loss: 1.0207\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [763/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.13it/s, loss=0.876]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [763/3000]: Train loss: 1.2040, Valid loss: 1.3403\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [764/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.42it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [764/3000]: Train loss: 1.2136, Valid loss: 1.0550\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [765/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.94it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [765/3000]: Train loss: 1.2176, Valid loss: 1.1405\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [766/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.25it/s, loss=0.915]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [766/3000]: Train loss: 1.1921, Valid loss: 1.4272\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [767/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.65it/s, loss=1.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [767/3000]: Train loss: 1.1992, Valid loss: 1.0651\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [768/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.89it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [768/3000]: Train loss: 1.2029, Valid loss: 1.1973\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [769/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.63it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [769/3000]: Train loss: 1.2203, Valid loss: 0.9463\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [770/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.98it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [770/3000]: Train loss: 1.2380, Valid loss: 0.9634\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [771/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.17it/s, loss=0.788]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [771/3000]: Train loss: 1.1824, Valid loss: 1.1515\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [772/3000]: 100%|██████████| 9/9 [00:00<00:00, 26.57it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [772/3000]: Train loss: 1.2124, Valid loss: 1.3297\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [773/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.84it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [773/3000]: Train loss: 1.2037, Valid loss: 1.2990\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [774/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.89it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [774/3000]: Train loss: 1.2012, Valid loss: 1.0287\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [775/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.58it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [775/3000]: Train loss: 1.2189, Valid loss: 1.2615\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [776/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.81it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [776/3000]: Train loss: 1.2075, Valid loss: 1.0148\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [777/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.21it/s, loss=0.816]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [777/3000]: Train loss: 1.1873, Valid loss: 1.1404\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [778/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.65it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [778/3000]: Train loss: 1.2027, Valid loss: 1.0903\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [779/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.14it/s, loss=1.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [779/3000]: Train loss: 1.1956, Valid loss: 1.1113\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [780/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.72it/s, loss=0.883]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [780/3000]: Train loss: 1.1940, Valid loss: 1.1167\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [781/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.95it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [781/3000]: Train loss: 1.2097, Valid loss: 1.0233\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [782/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.08it/s, loss=0.949]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [782/3000]: Train loss: 1.1964, Valid loss: 1.0548\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [783/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.13it/s, loss=0.823]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [783/3000]: Train loss: 1.1966, Valid loss: 1.3692\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [784/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.95it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [784/3000]: Train loss: 1.2138, Valid loss: 1.1736\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [785/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.07it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [785/3000]: Train loss: 1.1968, Valid loss: 1.1268\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [786/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.11it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [786/3000]: Train loss: 1.1982, Valid loss: 1.0543\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [787/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.21it/s, loss=0.963]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [787/3000]: Train loss: 1.1908, Valid loss: 0.9906\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [788/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.19it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [788/3000]: Train loss: 1.2155, Valid loss: 1.1788\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [789/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.33it/s, loss=1.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [789/3000]: Train loss: 1.1951, Valid loss: 1.1256\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [790/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.96it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [790/3000]: Train loss: 1.1957, Valid loss: 1.1359\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [791/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.55it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [791/3000]: Train loss: 1.2075, Valid loss: 0.9159\n","Saving model with loss 0.916...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [792/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.02it/s, loss=0.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [792/3000]: Train loss: 1.1854, Valid loss: 1.1425\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [793/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.29it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [793/3000]: Train loss: 1.2076, Valid loss: 1.2287\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [794/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.39it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [794/3000]: Train loss: 1.2129, Valid loss: 1.1581\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [795/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.56it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [795/3000]: Train loss: 1.2142, Valid loss: 1.0919\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [796/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.24it/s, loss=1.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [796/3000]: Train loss: 1.1973, Valid loss: 1.0040\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [797/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.06it/s, loss=1.69]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [797/3000]: Train loss: 1.2347, Valid loss: 1.0883\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [798/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.23it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [798/3000]: Train loss: 1.2013, Valid loss: 1.0534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [799/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.79it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [799/3000]: Train loss: 1.2009, Valid loss: 1.0817\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [800/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.29it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [800/3000]: Train loss: 1.2016, Valid loss: 1.0226\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [801/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.73it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [801/3000]: Train loss: 1.2144, Valid loss: 1.1192\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [802/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.46it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [802/3000]: Train loss: 1.1968, Valid loss: 1.2360\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [803/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.95it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [803/3000]: Train loss: 1.2005, Valid loss: 1.1838\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [804/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.43it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [804/3000]: Train loss: 1.2080, Valid loss: 1.2426\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [805/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.12it/s, loss=1.61]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [805/3000]: Train loss: 1.2269, Valid loss: 1.0930\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [806/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.62it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [806/3000]: Train loss: 1.2066, Valid loss: 1.4689\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [807/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.31it/s, loss=1.64]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [807/3000]: Train loss: 1.2401, Valid loss: 1.4066\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [808/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.70it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [808/3000]: Train loss: 1.1980, Valid loss: 0.9656\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [809/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.01it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [809/3000]: Train loss: 1.2043, Valid loss: 0.9947\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [810/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.61it/s, loss=0.924]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [810/3000]: Train loss: 1.1814, Valid loss: 1.0704\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [811/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.79it/s, loss=0.978]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [811/3000]: Train loss: 1.1867, Valid loss: 0.9625\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [812/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.47it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [812/3000]: Train loss: 1.2201, Valid loss: 0.9411\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [813/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.84it/s, loss=0.889]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [813/3000]: Train loss: 1.1872, Valid loss: 1.0798\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [814/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.81it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [814/3000]: Train loss: 1.1978, Valid loss: 1.0215\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [815/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.15it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [815/3000]: Train loss: 1.2137, Valid loss: 1.0792\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [816/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.61it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [816/3000]: Train loss: 1.1966, Valid loss: 1.0846\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [817/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.01it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [817/3000]: Train loss: 1.2198, Valid loss: 1.0018\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [818/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.15it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [818/3000]: Train loss: 1.2117, Valid loss: 1.1181\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [819/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.10it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [819/3000]: Train loss: 1.2099, Valid loss: 0.8999\n","Saving model with loss 0.900...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [820/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.09it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [820/3000]: Train loss: 1.1969, Valid loss: 1.0407\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [821/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.33it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [821/3000]: Train loss: 1.2102, Valid loss: 1.0402\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [822/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.67it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [822/3000]: Train loss: 1.1851, Valid loss: 1.0024\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [823/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.88it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [823/3000]: Train loss: 1.1889, Valid loss: 1.0127\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [824/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.59it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [824/3000]: Train loss: 1.2035, Valid loss: 1.0833\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [825/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.93it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [825/3000]: Train loss: 1.1898, Valid loss: 1.0485\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [826/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.09it/s, loss=1.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [826/3000]: Train loss: 1.1819, Valid loss: 0.9462\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [827/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.74it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [827/3000]: Train loss: 1.2090, Valid loss: 1.2904\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [828/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.59it/s, loss=0.871]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [828/3000]: Train loss: 1.1759, Valid loss: 1.1773\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [829/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.19it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [829/3000]: Train loss: 1.2004, Valid loss: 1.2761\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [830/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.19it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [830/3000]: Train loss: 1.1872, Valid loss: 1.2846\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [831/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.00it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [831/3000]: Train loss: 1.1906, Valid loss: 1.0063\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [832/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.15it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [832/3000]: Train loss: 1.2013, Valid loss: 1.1320\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [833/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.55it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [833/3000]: Train loss: 1.1961, Valid loss: 1.0530\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [834/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.22it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [834/3000]: Train loss: 1.1942, Valid loss: 0.9209\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [835/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.53it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [835/3000]: Train loss: 1.1999, Valid loss: 0.8993\n","Saving model with loss 0.899...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [836/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.60it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [836/3000]: Train loss: 1.1899, Valid loss: 1.0450\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [837/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.96it/s, loss=0.861]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [837/3000]: Train loss: 1.1673, Valid loss: 1.1470\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [838/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.40it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [838/3000]: Train loss: 1.1830, Valid loss: 0.8520\n","Saving model with loss 0.852...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [839/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.37it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [839/3000]: Train loss: 1.1917, Valid loss: 1.1480\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [840/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.27it/s, loss=0.878]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [840/3000]: Train loss: 1.1700, Valid loss: 1.1691\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [841/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.68it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [841/3000]: Train loss: 1.1887, Valid loss: 1.1604\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [842/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.20it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [842/3000]: Train loss: 1.2037, Valid loss: 0.9927\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [843/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.70it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [843/3000]: Train loss: 1.1973, Valid loss: 0.9580\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [844/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.64it/s, loss=0.944]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [844/3000]: Train loss: 1.1763, Valid loss: 1.2632\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [845/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.59it/s, loss=0.984]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [845/3000]: Train loss: 1.1815, Valid loss: 1.3452\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [846/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.71it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [846/3000]: Train loss: 1.2024, Valid loss: 1.3770\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [847/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.90it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [847/3000]: Train loss: 1.2114, Valid loss: 1.0374\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [848/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.65it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [848/3000]: Train loss: 1.1841, Valid loss: 1.3501\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [849/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.19it/s, loss=0.687]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [849/3000]: Train loss: 1.1556, Valid loss: 1.0730\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [850/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.62it/s, loss=0.955]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [850/3000]: Train loss: 1.1740, Valid loss: 1.5151\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [851/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.02it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [851/3000]: Train loss: 1.2023, Valid loss: 1.0576\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [852/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.44it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [852/3000]: Train loss: 1.1855, Valid loss: 1.2897\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [853/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.49it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [853/3000]: Train loss: 1.1772, Valid loss: 1.1698\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [854/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.40it/s, loss=0.835]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [854/3000]: Train loss: 1.1640, Valid loss: 0.9871\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [855/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.97it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [855/3000]: Train loss: 1.1877, Valid loss: 1.1528\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [856/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.50it/s, loss=1.73]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [856/3000]: Train loss: 1.2225, Valid loss: 0.8347\n","Saving model with loss 0.835...\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [857/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.47it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [857/3000]: Train loss: 1.2015, Valid loss: 0.9527\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [858/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.49it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [858/3000]: Train loss: 1.2089, Valid loss: 1.0143\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [859/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.79it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [859/3000]: Train loss: 1.1902, Valid loss: 1.0776\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [860/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.08it/s, loss=0.984]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [860/3000]: Train loss: 1.1707, Valid loss: 0.9908\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [861/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.89it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [861/3000]: Train loss: 1.2071, Valid loss: 1.1542\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [862/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.75it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [862/3000]: Train loss: 1.1989, Valid loss: 1.2500\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [863/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.12it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [863/3000]: Train loss: 1.1974, Valid loss: 1.2104\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [864/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.66it/s, loss=0.926]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [864/3000]: Train loss: 1.1759, Valid loss: 1.1305\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [865/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.54it/s, loss=0.797]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [865/3000]: Train loss: 1.1610, Valid loss: 1.5059\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [866/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.28it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [866/3000]: Train loss: 1.1862, Valid loss: 1.0740\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [867/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.11it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [867/3000]: Train loss: 1.2034, Valid loss: 1.0825\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [868/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.47it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [868/3000]: Train loss: 1.1817, Valid loss: 0.9536\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [869/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.28it/s, loss=0.869]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [869/3000]: Train loss: 1.1655, Valid loss: 1.1465\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [870/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.60it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [870/3000]: Train loss: 1.1766, Valid loss: 1.0534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [871/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.47it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [871/3000]: Train loss: 1.2036, Valid loss: 1.3305\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [872/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.91it/s, loss=0.838]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [872/3000]: Train loss: 1.1709, Valid loss: 1.0143\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [873/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.30it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [873/3000]: Train loss: 1.1879, Valid loss: 1.2861\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [874/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.05it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [874/3000]: Train loss: 1.1773, Valid loss: 0.9498\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [875/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.05it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [875/3000]: Train loss: 1.1840, Valid loss: 1.2499\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [876/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.64it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [876/3000]: Train loss: 1.1772, Valid loss: 1.2560\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [877/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.56it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [877/3000]: Train loss: 1.2046, Valid loss: 0.9689\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [878/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.51it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [878/3000]: Train loss: 1.1774, Valid loss: 0.9244\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [879/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.05it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [879/3000]: Train loss: 1.1956, Valid loss: 1.0801\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [880/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.01it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [880/3000]: Train loss: 1.1978, Valid loss: 1.0360\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [881/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.73it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [881/3000]: Train loss: 1.1845, Valid loss: 1.0203\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [882/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.19it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [882/3000]: Train loss: 1.1753, Valid loss: 1.1703\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [883/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.85it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [883/3000]: Train loss: 1.1776, Valid loss: 1.1288\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [884/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.96it/s, loss=0.918]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [884/3000]: Train loss: 1.1666, Valid loss: 0.9817\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [885/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.23it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [885/3000]: Train loss: 1.1860, Valid loss: 1.2093\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [886/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.71it/s, loss=1.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [886/3000]: Train loss: 1.2064, Valid loss: 1.0984\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [887/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.13it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [887/3000]: Train loss: 1.1772, Valid loss: 0.9506\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [888/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.95it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [888/3000]: Train loss: 1.1965, Valid loss: 0.9632\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [889/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.24it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [889/3000]: Train loss: 1.1940, Valid loss: 1.1273\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [890/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.84it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [890/3000]: Train loss: 1.1771, Valid loss: 1.1648\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [891/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.01it/s, loss=1.4]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [891/3000]: Train loss: 1.1949, Valid loss: 1.0643\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [892/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.75it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [892/3000]: Train loss: 1.1780, Valid loss: 1.0920\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [893/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.83it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [893/3000]: Train loss: 1.1788, Valid loss: 1.2398\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [894/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.62it/s, loss=1.52]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [894/3000]: Train loss: 1.2006, Valid loss: 0.9964\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [895/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.26it/s, loss=1.57]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [895/3000]: Train loss: 1.2074, Valid loss: 1.0266\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [896/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.02it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [896/3000]: Train loss: 1.1897, Valid loss: 1.0043\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [897/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.69it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [897/3000]: Train loss: 1.1938, Valid loss: 1.1403\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [898/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.28it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [898/3000]: Train loss: 1.1929, Valid loss: 1.1004\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [899/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.99it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [899/3000]: Train loss: 1.1954, Valid loss: 1.0668\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [900/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.47it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [900/3000]: Train loss: 1.1832, Valid loss: 1.0973\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [901/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.79it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [901/3000]: Train loss: 1.1754, Valid loss: 1.1721\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [902/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.32it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [902/3000]: Train loss: 1.1737, Valid loss: 0.9098\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [903/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.74it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [903/3000]: Train loss: 1.1714, Valid loss: 1.5008\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [904/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.44it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [904/3000]: Train loss: 1.1789, Valid loss: 1.1971\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [905/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.19it/s, loss=0.884]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [905/3000]: Train loss: 1.1591, Valid loss: 0.9658\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [906/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.50it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [906/3000]: Train loss: 1.1793, Valid loss: 1.1093\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [907/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.23it/s, loss=0.883]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [907/3000]: Train loss: 1.1574, Valid loss: 1.1254\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [908/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.56it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [908/3000]: Train loss: 1.1731, Valid loss: 1.3191\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [909/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.67it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [909/3000]: Train loss: 1.1991, Valid loss: 1.0326\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [910/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.85it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [910/3000]: Train loss: 1.1764, Valid loss: 1.0701\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [911/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.07it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [911/3000]: Train loss: 1.1693, Valid loss: 0.9919\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [912/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.22it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [912/3000]: Train loss: 1.1678, Valid loss: 1.0374\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [913/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.05it/s, loss=1.41]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [913/3000]: Train loss: 1.1901, Valid loss: 1.0530\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [914/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.34it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [914/3000]: Train loss: 1.1867, Valid loss: 1.0883\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [915/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.28it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [915/3000]: Train loss: 1.1759, Valid loss: 1.0396\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [916/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.60it/s, loss=0.971]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [916/3000]: Train loss: 1.1619, Valid loss: 1.0273\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [917/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.32it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [917/3000]: Train loss: 1.1750, Valid loss: 1.2843\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [918/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.50it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [918/3000]: Train loss: 1.1752, Valid loss: 1.0907\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [919/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.99it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [919/3000]: Train loss: 1.2051, Valid loss: 1.1173\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [920/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.34it/s, loss=1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [920/3000]: Train loss: 1.1649, Valid loss: 1.0676\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [921/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.73it/s, loss=0.949]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [921/3000]: Train loss: 1.1620, Valid loss: 0.9941\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [922/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.80it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [922/3000]: Train loss: 1.1724, Valid loss: 1.0745\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [923/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.32it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [923/3000]: Train loss: 1.1789, Valid loss: 1.0597\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [924/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.30it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [924/3000]: Train loss: 1.1947, Valid loss: 1.3838\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [925/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.46it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [925/3000]: Train loss: 1.1748, Valid loss: 1.0909\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [926/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.56it/s, loss=0.818]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [926/3000]: Train loss: 1.1552, Valid loss: 1.0254\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [927/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.18it/s, loss=0.999]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [927/3000]: Train loss: 1.1622, Valid loss: 1.0408\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [928/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.74it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [928/3000]: Train loss: 1.1634, Valid loss: 1.0885\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [929/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.88it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [929/3000]: Train loss: 1.1745, Valid loss: 1.0897\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [930/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.62it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [930/3000]: Train loss: 1.1805, Valid loss: 0.9985\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [931/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.67it/s, loss=1.55]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [931/3000]: Train loss: 1.2094, Valid loss: 0.8949\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [932/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.14it/s, loss=0.934]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [932/3000]: Train loss: 1.1772, Valid loss: 1.2122\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [933/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.53it/s, loss=0.986]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [933/3000]: Train loss: 1.1688, Valid loss: 1.2760\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [934/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.32it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [934/3000]: Train loss: 1.1765, Valid loss: 1.0312\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [935/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.80it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [935/3000]: Train loss: 1.1842, Valid loss: 0.9231\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [936/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.46it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [936/3000]: Train loss: 1.1692, Valid loss: 1.0831\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [937/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.37it/s, loss=1.1]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [937/3000]: Train loss: 1.1699, Valid loss: 1.0712\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [938/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.03it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [938/3000]: Train loss: 1.1810, Valid loss: 1.1510\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [939/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.38it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [939/3000]: Train loss: 1.1717, Valid loss: 1.1394\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [940/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.85it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [940/3000]: Train loss: 1.1696, Valid loss: 1.0332\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [941/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.70it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [941/3000]: Train loss: 1.1828, Valid loss: 1.0466\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [942/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.31it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [942/3000]: Train loss: 1.1726, Valid loss: 1.1583\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [943/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.56it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [943/3000]: Train loss: 1.1642, Valid loss: 1.0147\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [944/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.45it/s, loss=1.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [944/3000]: Train loss: 1.1880, Valid loss: 1.0705\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [945/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.33it/s, loss=0.965]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [945/3000]: Train loss: 1.1671, Valid loss: 1.0721\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [946/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.57it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [946/3000]: Train loss: 1.1749, Valid loss: 0.9840\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [947/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.15it/s, loss=1.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [947/3000]: Train loss: 1.2046, Valid loss: 1.1416\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [948/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.51it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [948/3000]: Train loss: 1.1799, Valid loss: 1.1056\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [949/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.70it/s, loss=1.42]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [949/3000]: Train loss: 1.1846, Valid loss: 1.2076\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [950/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.15it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [950/3000]: Train loss: 1.1792, Valid loss: 1.2290\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [951/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.54it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [951/3000]: Train loss: 1.1775, Valid loss: 1.0692\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [952/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.90it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [952/3000]: Train loss: 1.1753, Valid loss: 1.1678\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [953/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.85it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [953/3000]: Train loss: 1.1805, Valid loss: 0.9269\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [954/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.18it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [954/3000]: Train loss: 1.1832, Valid loss: 1.5008\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [955/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.01it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [955/3000]: Train loss: 1.1752, Valid loss: 0.9158\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [956/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.80it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [956/3000]: Train loss: 1.1734, Valid loss: 1.1634\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [957/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.52it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [957/3000]: Train loss: 1.1715, Valid loss: 1.0144\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [958/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.39it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [958/3000]: Train loss: 1.1739, Valid loss: 1.2029\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [959/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.25it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [959/3000]: Train loss: 1.1748, Valid loss: 1.4277\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [960/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.80it/s, loss=1.93]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [960/3000]: Train loss: 1.2154, Valid loss: 0.9450\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [961/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.37it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [961/3000]: Train loss: 1.1666, Valid loss: 1.0625\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [962/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.01it/s, loss=1.01]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [962/3000]: Train loss: 1.1585, Valid loss: 0.9229\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [963/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.53it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [963/3000]: Train loss: 1.1822, Valid loss: 1.4355\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [964/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.32it/s, loss=0.889]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [964/3000]: Train loss: 1.1555, Valid loss: 0.9912\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [965/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.96it/s, loss=0.852]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [965/3000]: Train loss: 1.1562, Valid loss: 1.0286\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [966/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.80it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [966/3000]: Train loss: 1.1640, Valid loss: 0.9592\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [967/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.82it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [967/3000]: Train loss: 1.1756, Valid loss: 1.1809\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [968/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.80it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [968/3000]: Train loss: 1.1945, Valid loss: 0.9663\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [969/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.92it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [969/3000]: Train loss: 1.1581, Valid loss: 0.9376\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [970/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.74it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [970/3000]: Train loss: 1.1664, Valid loss: 0.9588\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [971/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.57it/s, loss=1.47]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [971/3000]: Train loss: 1.1922, Valid loss: 1.0769\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [972/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.20it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [972/3000]: Train loss: 1.1714, Valid loss: 1.0375\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [973/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.54it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [973/3000]: Train loss: 1.1853, Valid loss: 1.5292\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [974/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.36it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [974/3000]: Train loss: 1.1765, Valid loss: 1.3429\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [975/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.74it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [975/3000]: Train loss: 1.1776, Valid loss: 1.0415\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [976/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.49it/s, loss=0.931]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [976/3000]: Train loss: 1.1559, Valid loss: 0.9425\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [977/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.63it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [977/3000]: Train loss: 1.1686, Valid loss: 1.5640\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [978/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.11it/s, loss=1.48]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [978/3000]: Train loss: 1.1975, Valid loss: 1.2018\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [979/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.57it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [979/3000]: Train loss: 1.1908, Valid loss: 1.0964\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [980/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.76it/s, loss=0.864]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [980/3000]: Train loss: 1.1591, Valid loss: 1.1848\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [981/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.99it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [981/3000]: Train loss: 1.1786, Valid loss: 1.0534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [982/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.60it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [982/3000]: Train loss: 1.2001, Valid loss: 1.2452\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [983/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.27it/s, loss=0.807]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [983/3000]: Train loss: 1.1508, Valid loss: 1.5370\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [984/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.86it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [984/3000]: Train loss: 1.1745, Valid loss: 1.0330\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [985/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.73it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [985/3000]: Train loss: 1.1744, Valid loss: 0.9686\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [986/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.15it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [986/3000]: Train loss: 1.1580, Valid loss: 1.0783\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [987/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.47it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [987/3000]: Train loss: 1.1754, Valid loss: 1.0218\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [988/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.38it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [988/3000]: Train loss: 1.1793, Valid loss: 0.9934\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [989/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.50it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [989/3000]: Train loss: 1.1628, Valid loss: 1.0301\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [990/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.40it/s, loss=0.98]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [990/3000]: Train loss: 1.1545, Valid loss: 0.9962\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [991/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.75it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [991/3000]: Train loss: 1.1673, Valid loss: 0.9948\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [992/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.99it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [992/3000]: Train loss: 1.1706, Valid loss: 0.9373\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [993/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.20it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [993/3000]: Train loss: 1.1703, Valid loss: 1.0785\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [994/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.10it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [994/3000]: Train loss: 1.1789, Valid loss: 1.1320\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [995/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.76it/s, loss=0.936]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [995/3000]: Train loss: 1.1499, Valid loss: 1.1614\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [996/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.12it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [996/3000]: Train loss: 1.1708, Valid loss: 1.0017\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [997/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.95it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [997/3000]: Train loss: 1.1650, Valid loss: 0.9878\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [998/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.77it/s, loss=1.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [998/3000]: Train loss: 1.1583, Valid loss: 1.3733\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [999/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.45it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [999/3000]: Train loss: 1.1822, Valid loss: 1.0614\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1000/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.56it/s, loss=0.944]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1000/3000]: Train loss: 1.1495, Valid loss: 0.9133\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1001/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.91it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1001/3000]: Train loss: 1.1672, Valid loss: 0.9683\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1002/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.12it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1002/3000]: Train loss: 1.1739, Valid loss: 0.9352\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1003/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.56it/s, loss=0.855]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1003/3000]: Train loss: 1.1512, Valid loss: 1.1690\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1004/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.28it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1004/3000]: Train loss: 1.1778, Valid loss: 1.1502\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1005/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.03it/s, loss=1.3]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1005/3000]: Train loss: 1.1897, Valid loss: 0.8996\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1006/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.67it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1006/3000]: Train loss: 1.1769, Valid loss: 0.9698\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1007/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.95it/s, loss=0.869]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1007/3000]: Train loss: 1.1477, Valid loss: 0.9363\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1008/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.59it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1008/3000]: Train loss: 1.1736, Valid loss: 1.0049\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1009/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.29it/s, loss=1.6]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1009/3000]: Train loss: 1.1917, Valid loss: 1.4070\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1010/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.57it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1010/3000]: Train loss: 1.1617, Valid loss: 0.9823\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1011/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.93it/s, loss=1.32]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1011/3000]: Train loss: 1.1727, Valid loss: 0.9203\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1012/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.25it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1012/3000]: Train loss: 1.1705, Valid loss: 1.2079\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1013/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.07it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1013/3000]: Train loss: 1.1659, Valid loss: 1.0052\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1014/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.26it/s, loss=1.29]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1014/3000]: Train loss: 1.1708, Valid loss: 1.0585\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1015/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.43it/s, loss=1.23]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1015/3000]: Train loss: 1.1666, Valid loss: 1.1291\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1016/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.86it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1016/3000]: Train loss: 1.1646, Valid loss: 0.9270\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1017/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.04it/s, loss=1.03]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1017/3000]: Train loss: 1.1590, Valid loss: 1.1084\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1018/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.03it/s, loss=1.77]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1018/3000]: Train loss: 1.2025, Valid loss: 0.9276\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1019/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.39it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1019/3000]: Train loss: 1.1689, Valid loss: 1.0878\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1020/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.42it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1020/3000]: Train loss: 1.1657, Valid loss: 1.0388\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1021/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.14it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1021/3000]: Train loss: 1.1715, Valid loss: 1.3755\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1022/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.99it/s, loss=0.874]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1022/3000]: Train loss: 1.1516, Valid loss: 1.0015\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1023/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.02it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1023/3000]: Train loss: 1.1627, Valid loss: 0.9256\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1024/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.62it/s, loss=0.875]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1024/3000]: Train loss: 1.1436, Valid loss: 0.9615\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1025/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.45it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1025/3000]: Train loss: 1.1765, Valid loss: 0.9305\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1026/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.91it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1026/3000]: Train loss: 1.1644, Valid loss: 1.1322\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1027/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.80it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1027/3000]: Train loss: 1.1538, Valid loss: 1.0254\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1028/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.12it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1028/3000]: Train loss: 1.1670, Valid loss: 1.1042\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1029/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.55it/s, loss=1.74]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1029/3000]: Train loss: 1.1987, Valid loss: 1.0882\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1030/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.68it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1030/3000]: Train loss: 1.1636, Valid loss: 1.1303\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1031/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.01it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1031/3000]: Train loss: 1.1690, Valid loss: 0.9605\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1032/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.20it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1032/3000]: Train loss: 1.1597, Valid loss: 1.1895\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1033/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.43it/s, loss=0.899]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1033/3000]: Train loss: 1.1481, Valid loss: 1.0899\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1034/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.92it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1034/3000]: Train loss: 1.1712, Valid loss: 1.2752\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1035/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.88it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1035/3000]: Train loss: 1.1684, Valid loss: 1.0874\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1036/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.13it/s, loss=0.984]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1036/3000]: Train loss: 1.1492, Valid loss: 1.1569\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1037/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.85it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1037/3000]: Train loss: 1.1644, Valid loss: 0.9231\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1038/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.54it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1038/3000]: Train loss: 1.1760, Valid loss: 0.9926\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1039/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.63it/s, loss=0.811]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1039/3000]: Train loss: 1.1449, Valid loss: 0.9394\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1040/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.94it/s, loss=1.02]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1040/3000]: Train loss: 1.1505, Valid loss: 1.0835\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1041/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.71it/s, loss=1.06]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1041/3000]: Train loss: 1.1531, Valid loss: 1.1110\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1042/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.41it/s, loss=0.925]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1042/3000]: Train loss: 1.1464, Valid loss: 1.0605\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1043/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.29it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1043/3000]: Train loss: 1.1623, Valid loss: 0.8507\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1044/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.03it/s, loss=0.974]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1044/3000]: Train loss: 1.1468, Valid loss: 1.0351\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1045/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.37it/s, loss=1.27]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1045/3000]: Train loss: 1.1659, Valid loss: 1.1522\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1046/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.02it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1046/3000]: Train loss: 1.1801, Valid loss: 0.9734\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1047/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.05it/s, loss=1.34]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1047/3000]: Train loss: 1.1699, Valid loss: 1.1370\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1048/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.81it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1048/3000]: Train loss: 1.1529, Valid loss: 1.2201\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1049/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.57it/s, loss=1.36]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1049/3000]: Train loss: 1.1709, Valid loss: 1.0139\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1050/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.28it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1050/3000]: Train loss: 1.1570, Valid loss: 0.9970\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1051/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.59it/s, loss=1.37]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1051/3000]: Train loss: 1.1745, Valid loss: 0.9772\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1052/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.52it/s, loss=1.21]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1052/3000]: Train loss: 1.1663, Valid loss: 0.9522\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1053/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.37it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1053/3000]: Train loss: 1.1832, Valid loss: 1.0616\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1054/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.73it/s, loss=1.49]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1054/3000]: Train loss: 1.1815, Valid loss: 1.0818\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1055/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.34it/s, loss=1.11]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1055/3000]: Train loss: 1.1561, Valid loss: 0.9957\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1056/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.92it/s, loss=0.732]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1056/3000]: Train loss: 1.1317, Valid loss: 0.9376\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1057/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.61it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1057/3000]: Train loss: 1.1630, Valid loss: 1.2833\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1058/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.95it/s, loss=0.974]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1058/3000]: Train loss: 1.1441, Valid loss: 1.1771\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1059/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.85it/s, loss=1.25]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1059/3000]: Train loss: 1.1624, Valid loss: 0.9771\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1060/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.01it/s, loss=1.04]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1060/3000]: Train loss: 1.1656, Valid loss: 0.8986\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1061/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.96it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1061/3000]: Train loss: 1.1842, Valid loss: 1.1943\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1062/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.62it/s, loss=1.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1062/3000]: Train loss: 1.1856, Valid loss: 0.9250\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1063/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.50it/s, loss=0.976]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1063/3000]: Train loss: 1.1504, Valid loss: 1.1975\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1064/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.18it/s, loss=1.13]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1064/3000]: Train loss: 1.1709, Valid loss: 1.1485\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1065/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.49it/s, loss=0.843]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1065/3000]: Train loss: 1.1538, Valid loss: 1.1657\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1066/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.48it/s, loss=1.18]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1066/3000]: Train loss: 1.1823, Valid loss: 0.9497\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1067/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.49it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1067/3000]: Train loss: 1.1757, Valid loss: 1.3488\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1068/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.45it/s, loss=1.17]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1068/3000]: Train loss: 1.1640, Valid loss: 0.9018\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1069/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.90it/s, loss=0.736]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1069/3000]: Train loss: 1.1306, Valid loss: 1.0774\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1070/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.04it/s, loss=1.15]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1070/3000]: Train loss: 1.1559, Valid loss: 0.9930\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1071/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.18it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1071/3000]: Train loss: 1.1543, Valid loss: 1.0157\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1072/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.25it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1072/3000]: Train loss: 1.1668, Valid loss: 1.0238\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1073/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.42it/s, loss=1.51]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1073/3000]: Train loss: 1.1812, Valid loss: 0.9644\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1074/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.28it/s, loss=1.38]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1074/3000]: Train loss: 1.1771, Valid loss: 1.1563\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1075/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.19it/s, loss=1.08]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1075/3000]: Train loss: 1.1534, Valid loss: 1.1524\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1076/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.94it/s, loss=1.2]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1076/3000]: Train loss: 1.1619, Valid loss: 1.1223\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1077/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.59it/s, loss=1.12]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1077/3000]: Train loss: 1.1506, Valid loss: 1.4990\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1078/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.31it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1078/3000]: Train loss: 1.1602, Valid loss: 0.9167\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1079/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.50it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1079/3000]: Train loss: 1.1574, Valid loss: 0.9832\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1080/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.53it/s, loss=0.87]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1080/3000]: Train loss: 1.1380, Valid loss: 1.1275\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1081/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.57it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1081/3000]: Train loss: 1.1663, Valid loss: 1.1052\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1082/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.74it/s, loss=1.56]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1082/3000]: Train loss: 1.1819, Valid loss: 1.1299\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1083/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.54it/s, loss=1.05]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1083/3000]: Train loss: 1.1478, Valid loss: 0.9625\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1084/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.38it/s, loss=0.89]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1084/3000]: Train loss: 1.1400, Valid loss: 1.0373\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1085/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.44it/s, loss=0.912]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1085/3000]: Train loss: 1.1436, Valid loss: 0.8575\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1086/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.91it/s, loss=0.891]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1086/3000]: Train loss: 1.1377, Valid loss: 1.1123\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1087/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.54it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1087/3000]: Train loss: 1.1496, Valid loss: 1.1308\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1088/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.66it/s, loss=1.22]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1088/3000]: Train loss: 1.1561, Valid loss: 1.0171\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1089/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.36it/s, loss=0.92]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1089/3000]: Train loss: 1.1402, Valid loss: 0.9219\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1090/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.17it/s, loss=0.867]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1090/3000]: Train loss: 1.1345, Valid loss: 0.9517\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1091/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.88it/s, loss=1.28]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1091/3000]: Train loss: 1.1593, Valid loss: 1.0570\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1092/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.76it/s, loss=0.906]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1092/3000]: Train loss: 1.1390, Valid loss: 0.8534\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1093/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.21it/s, loss=1.39]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1093/3000]: Train loss: 1.1698, Valid loss: 0.9225\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1094/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.66it/s, loss=1.33]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1094/3000]: Train loss: 1.1623, Valid loss: 0.9688\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1095/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.23it/s, loss=0.851]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1095/3000]: Train loss: 1.1335, Valid loss: 0.9501\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1096/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.93it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1096/3000]: Train loss: 1.1642, Valid loss: 1.4272\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1097/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.42it/s, loss=1.19]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1097/3000]: Train loss: 1.1571, Valid loss: 0.9971\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1098/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.22it/s, loss=1.54]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1098/3000]: Train loss: 1.1769, Valid loss: 1.0271\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1099/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.49it/s, loss=1.16]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1099/3000]: Train loss: 1.1703, Valid loss: 1.1544\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1100/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.17it/s, loss=1.31]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1100/3000]: Train loss: 1.1679, Valid loss: 1.0769\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1101/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.96it/s, loss=1.26]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1101/3000]: Train loss: 1.1677, Valid loss: 0.8616\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1102/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.81it/s, loss=0.781]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1102/3000]: Train loss: 1.1314, Valid loss: 1.1113\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1103/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.12it/s, loss=1.07]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1103/3000]: Train loss: 1.1453, Valid loss: 1.0341\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1104/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.29it/s, loss=1.24]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1104/3000]: Train loss: 1.1578, Valid loss: 0.9803\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1105/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.58it/s, loss=0.784]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1105/3000]: Train loss: 1.1300, Valid loss: 1.4212\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1106/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.74it/s, loss=1.14]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1106/3000]: Train loss: 1.1486, Valid loss: 1.3953\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1107/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.91it/s, loss=1.35]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1107/3000]: Train loss: 1.1692, Valid loss: 1.0191\n"]},{"metadata":{"tags":null},"name":"stderr","output_type":"stream","text":["Epoch [1108/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.02it/s, loss=1.09]\n"]},{"metadata":{"tags":null},"name":"stdout","output_type":"stream","text":["Epoch [1108/3000]: Train loss: 1.1499, Valid loss: 0.9598\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1109/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.29it/s, loss=1.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1109/3000]: Train loss: 1.1535, Valid loss: 0.9287\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1110/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.26it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1110/3000]: Train loss: 1.1514, Valid loss: 1.1017\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1111/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.30it/s, loss=1.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1111/3000]: Train loss: 1.1500, Valid loss: 1.1279\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1112/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.68it/s, loss=1.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1112/3000]: Train loss: 1.1540, Valid loss: 1.0756\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1113/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.76it/s, loss=1.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1113/3000]: Train loss: 1.1677, Valid loss: 1.1796\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1114/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.98it/s, loss=0.965]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1114/3000]: Train loss: 1.1397, Valid loss: 1.1363\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1115/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.73it/s, loss=1.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1115/3000]: Train loss: 1.1456, Valid loss: 1.1358\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1116/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.77it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1116/3000]: Train loss: 1.1629, Valid loss: 0.8908\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1117/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.26it/s, loss=0.844]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1117/3000]: Train loss: 1.1362, Valid loss: 1.0750\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1118/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.17it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1118/3000]: Train loss: 1.1544, Valid loss: 1.4007\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1119/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.26it/s, loss=1.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1119/3000]: Train loss: 1.1533, Valid loss: 0.9434\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1120/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.96it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1120/3000]: Train loss: 1.1468, Valid loss: 1.0439\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1121/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.41it/s, loss=1.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1121/3000]: Train loss: 1.1477, Valid loss: 0.8863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1122/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.44it/s, loss=1.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1122/3000]: Train loss: 1.1540, Valid loss: 1.0167\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1123/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.52it/s, loss=1.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1123/3000]: Train loss: 1.1675, Valid loss: 0.9350\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1124/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.19it/s, loss=1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1124/3000]: Train loss: 1.1405, Valid loss: 0.9972\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1125/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.27it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1125/3000]: Train loss: 1.1515, Valid loss: 0.8629\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1126/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.18it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1126/3000]: Train loss: 1.1642, Valid loss: 1.0158\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1127/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.14it/s, loss=1.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1127/3000]: Train loss: 1.1553, Valid loss: 1.0727\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1128/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.99it/s, loss=0.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1128/3000]: Train loss: 1.1321, Valid loss: 1.1363\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1129/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.36it/s, loss=0.967]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1129/3000]: Train loss: 1.1378, Valid loss: 0.9811\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1130/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.07it/s, loss=1.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1130/3000]: Train loss: 1.1611, Valid loss: 1.1401\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1131/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.75it/s, loss=1.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1131/3000]: Train loss: 1.1596, Valid loss: 1.0750\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1132/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.56it/s, loss=1.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1132/3000]: Train loss: 1.1462, Valid loss: 0.8962\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1133/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.40it/s, loss=0.989]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1133/3000]: Train loss: 1.1367, Valid loss: 1.0669\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1134/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.21it/s, loss=1.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1134/3000]: Train loss: 1.1454, Valid loss: 0.9654\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1135/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.41it/s, loss=1.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1135/3000]: Train loss: 1.1408, Valid loss: 1.0786\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1136/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.61it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1136/3000]: Train loss: 1.1571, Valid loss: 0.9623\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1137/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.79it/s, loss=0.951]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1137/3000]: Train loss: 1.1385, Valid loss: 1.0087\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1138/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.80it/s, loss=1.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1138/3000]: Train loss: 1.1436, Valid loss: 1.1630\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1139/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.70it/s, loss=1.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1139/3000]: Train loss: 1.1590, Valid loss: 1.2307\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1140/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.70it/s, loss=1.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1140/3000]: Train loss: 1.1426, Valid loss: 1.0144\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1141/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.02it/s, loss=0.712]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1141/3000]: Train loss: 1.1197, Valid loss: 0.8797\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1142/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.97it/s, loss=0.793]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1142/3000]: Train loss: 1.1278, Valid loss: 1.3405\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1143/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.46it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1143/3000]: Train loss: 1.1797, Valid loss: 0.9175\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1144/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.79it/s, loss=0.863]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1144/3000]: Train loss: 1.1323, Valid loss: 1.0893\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1145/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.17it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1145/3000]: Train loss: 1.1813, Valid loss: 1.0363\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1146/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.53it/s, loss=0.949]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1146/3000]: Train loss: 1.1488, Valid loss: 1.0278\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1147/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.27it/s, loss=1.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1147/3000]: Train loss: 1.1482, Valid loss: 1.0883\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1148/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.72it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1148/3000]: Train loss: 1.1665, Valid loss: 1.0023\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1149/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.57it/s, loss=1.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1149/3000]: Train loss: 1.1561, Valid loss: 1.0780\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1150/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.67it/s, loss=1.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1150/3000]: Train loss: 1.1607, Valid loss: 0.9633\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1151/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.07it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1151/3000]: Train loss: 1.1504, Valid loss: 0.9150\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1152/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.23it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1152/3000]: Train loss: 1.1791, Valid loss: 0.9866\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1153/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.88it/s, loss=1.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1153/3000]: Train loss: 1.1453, Valid loss: 0.9652\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1154/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.95it/s, loss=0.873]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1154/3000]: Train loss: 1.1289, Valid loss: 0.9842\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1155/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.10it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1155/3000]: Train loss: 1.1689, Valid loss: 1.1004\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1156/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.65it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1156/3000]: Train loss: 1.1591, Valid loss: 1.0548\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1157/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.25it/s, loss=1.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1157/3000]: Train loss: 1.1702, Valid loss: 1.0239\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1158/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.78it/s, loss=0.919]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1158/3000]: Train loss: 1.1343, Valid loss: 0.8938\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1159/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.66it/s, loss=0.995]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1159/3000]: Train loss: 1.1402, Valid loss: 1.0093\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1160/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.57it/s, loss=0.914]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1160/3000]: Train loss: 1.1419, Valid loss: 1.0837\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1161/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.56it/s, loss=1.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1161/3000]: Train loss: 1.1471, Valid loss: 1.1840\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1162/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.07it/s, loss=1.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1162/3000]: Train loss: 1.1587, Valid loss: 1.0308\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1163/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.86it/s, loss=0.913]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1163/3000]: Train loss: 1.1335, Valid loss: 0.9363\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1164/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.47it/s, loss=0.997]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1164/3000]: Train loss: 1.1412, Valid loss: 1.1017\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1165/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.16it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1165/3000]: Train loss: 1.1494, Valid loss: 1.2449\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1166/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.73it/s, loss=1.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1166/3000]: Train loss: 1.1588, Valid loss: 0.9028\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1167/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.70it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1167/3000]: Train loss: 1.1542, Valid loss: 1.2127\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1168/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.39it/s, loss=1.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1168/3000]: Train loss: 1.1489, Valid loss: 0.8953\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1169/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.03it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1169/3000]: Train loss: 1.1600, Valid loss: 1.1813\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1170/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.76it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1170/3000]: Train loss: 1.1479, Valid loss: 0.9819\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1171/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.08it/s, loss=0.957]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1171/3000]: Train loss: 1.1354, Valid loss: 0.9750\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1172/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.96it/s, loss=1.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1172/3000]: Train loss: 1.1385, Valid loss: 0.9696\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1173/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.67it/s, loss=1.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1173/3000]: Train loss: 1.1502, Valid loss: 1.2385\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1174/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.17it/s, loss=0.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1174/3000]: Train loss: 1.1233, Valid loss: 0.9737\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1175/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.38it/s, loss=0.901]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1175/3000]: Train loss: 1.1292, Valid loss: 1.2514\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1176/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.09it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1176/3000]: Train loss: 1.1693, Valid loss: 1.1752\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1177/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.77it/s, loss=1.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1177/3000]: Train loss: 1.1443, Valid loss: 1.0288\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1178/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.55it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1178/3000]: Train loss: 1.1640, Valid loss: 1.0209\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1179/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.18it/s, loss=0.946]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1179/3000]: Train loss: 1.1302, Valid loss: 1.1544\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1180/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.43it/s, loss=0.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1180/3000]: Train loss: 1.1398, Valid loss: 1.1075\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1181/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.59it/s, loss=1.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1181/3000]: Train loss: 1.1572, Valid loss: 0.9402\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1182/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.92it/s, loss=0.951]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1182/3000]: Train loss: 1.1306, Valid loss: 0.9438\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1183/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.32it/s, loss=0.871]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1183/3000]: Train loss: 1.1314, Valid loss: 0.9438\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1184/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.79it/s, loss=0.844]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1184/3000]: Train loss: 1.1358, Valid loss: 0.9468\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1185/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.90it/s, loss=0.948]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1185/3000]: Train loss: 1.1393, Valid loss: 1.3387\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1186/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.62it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1186/3000]: Train loss: 1.1490, Valid loss: 1.3172\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1187/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.02it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1187/3000]: Train loss: 1.1480, Valid loss: 1.1386\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1188/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.74it/s, loss=1.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1188/3000]: Train loss: 1.1379, Valid loss: 0.9586\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1189/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.97it/s, loss=0.964]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1189/3000]: Train loss: 1.1315, Valid loss: 1.0126\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1190/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.94it/s, loss=0.904]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1190/3000]: Train loss: 1.1326, Valid loss: 1.0234\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1191/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.95it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1191/3000]: Train loss: 1.1757, Valid loss: 0.9469\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1192/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.59it/s, loss=1.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1192/3000]: Train loss: 1.1473, Valid loss: 1.0296\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1193/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.84it/s, loss=0.983]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1193/3000]: Train loss: 1.1360, Valid loss: 0.9755\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1194/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.40it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1194/3000]: Train loss: 1.1497, Valid loss: 1.1011\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1195/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.95it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1195/3000]: Train loss: 1.1598, Valid loss: 1.2821\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1196/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.71it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1196/3000]: Train loss: 1.1486, Valid loss: 1.2703\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1197/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.84it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1197/3000]: Train loss: 1.1497, Valid loss: 1.1015\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1198/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.89it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1198/3000]: Train loss: 1.1491, Valid loss: 1.0278\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1199/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.98it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1199/3000]: Train loss: 1.1638, Valid loss: 1.0407\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1200/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.24it/s, loss=1.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1200/3000]: Train loss: 1.1539, Valid loss: 0.9334\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1201/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.67it/s, loss=1.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1201/3000]: Train loss: 1.1571, Valid loss: 1.1358\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1202/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.62it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1202/3000]: Train loss: 1.1488, Valid loss: 0.9855\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1203/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.58it/s, loss=1.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1203/3000]: Train loss: 1.1607, Valid loss: 0.8960\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1204/3000]: 100%|██████████| 9/9 [00:00<00:00, 31.57it/s, loss=1.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1204/3000]: Train loss: 1.1395, Valid loss: 1.0432\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1205/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.64it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1205/3000]: Train loss: 1.1468, Valid loss: 1.0427\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1206/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.60it/s, loss=0.956]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1206/3000]: Train loss: 1.1307, Valid loss: 0.9914\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1207/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.09it/s, loss=0.852]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1207/3000]: Train loss: 1.1221, Valid loss: 0.9224\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1208/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.05it/s, loss=1.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1208/3000]: Train loss: 1.1538, Valid loss: 1.1003\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1209/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.45it/s, loss=1.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1209/3000]: Train loss: 1.1427, Valid loss: 1.1206\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1210/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.71it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1210/3000]: Train loss: 1.1715, Valid loss: 1.0672\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1211/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.20it/s, loss=0.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1211/3000]: Train loss: 1.1304, Valid loss: 1.2072\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1212/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.73it/s, loss=0.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1212/3000]: Train loss: 1.1222, Valid loss: 1.4677\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1213/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.70it/s, loss=0.877]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1213/3000]: Train loss: 1.1234, Valid loss: 1.2427\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1214/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.16it/s, loss=1.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1214/3000]: Train loss: 1.1358, Valid loss: 1.1989\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1215/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.46it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1215/3000]: Train loss: 1.1364, Valid loss: 1.0408\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1216/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.94it/s, loss=0.958]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1216/3000]: Train loss: 1.1293, Valid loss: 1.0390\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1217/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.48it/s, loss=1.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1217/3000]: Train loss: 1.1458, Valid loss: 1.4511\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1218/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.09it/s, loss=0.963]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1218/3000]: Train loss: 1.1349, Valid loss: 1.0146\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1219/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.29it/s, loss=0.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1219/3000]: Train loss: 1.1309, Valid loss: 1.0908\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1220/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.36it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1220/3000]: Train loss: 1.1733, Valid loss: 0.8574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1221/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.89it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1221/3000]: Train loss: 1.1643, Valid loss: 1.0699\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1222/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.19it/s, loss=1.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1222/3000]: Train loss: 1.1415, Valid loss: 0.9842\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1223/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.85it/s, loss=1.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1223/3000]: Train loss: 1.1511, Valid loss: 1.2986\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1224/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.56it/s, loss=0.832]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1224/3000]: Train loss: 1.1202, Valid loss: 0.9844\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1225/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.25it/s, loss=1.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1225/3000]: Train loss: 1.1386, Valid loss: 1.0721\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1226/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.05it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1226/3000]: Train loss: 1.1356, Valid loss: 1.0095\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1227/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.11it/s, loss=0.908]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1227/3000]: Train loss: 1.1273, Valid loss: 1.1359\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1228/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.48it/s, loss=1.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1228/3000]: Train loss: 1.1344, Valid loss: 1.1878\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1229/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.08it/s, loss=1.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1229/3000]: Train loss: 1.1381, Valid loss: 0.9811\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1230/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.93it/s, loss=0.953]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1230/3000]: Train loss: 1.1298, Valid loss: 1.2105\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1231/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.79it/s, loss=1.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1231/3000]: Train loss: 1.1615, Valid loss: 1.2165\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1232/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.42it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1232/3000]: Train loss: 1.1449, Valid loss: 1.0531\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1233/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.32it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1233/3000]: Train loss: 1.1530, Valid loss: 0.9709\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1234/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.75it/s, loss=1.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1234/3000]: Train loss: 1.1326, Valid loss: 1.0008\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1235/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.12it/s, loss=1.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1235/3000]: Train loss: 1.1412, Valid loss: 1.0531\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1236/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.79it/s, loss=0.789]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1236/3000]: Train loss: 1.1156, Valid loss: 0.9719\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1237/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.01it/s, loss=0.825]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1237/3000]: Train loss: 1.1195, Valid loss: 1.1755\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1238/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.84it/s, loss=1.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1238/3000]: Train loss: 1.1418, Valid loss: 0.9253\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1239/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.14it/s, loss=1.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1239/3000]: Train loss: 1.1457, Valid loss: 1.1528\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1240/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.95it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1240/3000]: Train loss: 1.1333, Valid loss: 0.9638\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1241/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.17it/s, loss=1.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1241/3000]: Train loss: 1.1398, Valid loss: 0.9491\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1242/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.86it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1242/3000]: Train loss: 1.1443, Valid loss: 1.0919\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1243/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.41it/s, loss=1.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1243/3000]: Train loss: 1.1508, Valid loss: 0.9756\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1244/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.31it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1244/3000]: Train loss: 1.1640, Valid loss: 1.4103\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1245/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.65it/s, loss=1.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1245/3000]: Train loss: 1.1551, Valid loss: 0.9386\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1246/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.01it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1246/3000]: Train loss: 1.1473, Valid loss: 1.1923\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1247/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.20it/s, loss=1.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1247/3000]: Train loss: 1.1505, Valid loss: 1.0373\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1248/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.38it/s, loss=1.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1248/3000]: Train loss: 1.1461, Valid loss: 0.9789\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1249/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.65it/s, loss=0.857]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1249/3000]: Train loss: 1.1205, Valid loss: 1.2842\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1250/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.36it/s, loss=1.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1250/3000]: Train loss: 1.1516, Valid loss: 1.1078\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1251/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.14it/s, loss=1.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1251/3000]: Train loss: 1.1499, Valid loss: 1.0562\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1252/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.21it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1252/3000]: Train loss: 1.1408, Valid loss: 1.0457\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1253/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.65it/s, loss=1.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1253/3000]: Train loss: 1.1456, Valid loss: 1.0877\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1254/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.27it/s, loss=0.813]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1254/3000]: Train loss: 1.1199, Valid loss: 1.1994\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1255/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.11it/s, loss=1.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1255/3000]: Train loss: 1.1333, Valid loss: 0.9746\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1256/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.60it/s, loss=0.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1256/3000]: Train loss: 1.1299, Valid loss: 1.2158\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1257/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.71it/s, loss=0.984]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1257/3000]: Train loss: 1.1310, Valid loss: 0.9585\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1258/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.54it/s, loss=1.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1258/3000]: Train loss: 1.1466, Valid loss: 0.9822\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1259/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.04it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1259/3000]: Train loss: 1.1430, Valid loss: 0.9205\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1260/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.09it/s, loss=0.993]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1260/3000]: Train loss: 1.1301, Valid loss: 1.1749\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1261/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.31it/s, loss=0.939]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1261/3000]: Train loss: 1.1261, Valid loss: 0.9624\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1262/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.61it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1262/3000]: Train loss: 1.1389, Valid loss: 0.9594\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1263/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.74it/s, loss=0.737]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1263/3000]: Train loss: 1.1149, Valid loss: 1.4297\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1264/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.83it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1264/3000]: Train loss: 1.1571, Valid loss: 1.1985\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1265/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.46it/s, loss=1.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1265/3000]: Train loss: 1.1391, Valid loss: 1.0026\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1266/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.18it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1266/3000]: Train loss: 1.1843, Valid loss: 1.0137\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1267/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.58it/s, loss=1.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1267/3000]: Train loss: 1.1565, Valid loss: 1.1974\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1268/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.96it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1268/3000]: Train loss: 1.1870, Valid loss: 0.9258\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1269/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.13it/s, loss=1.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1269/3000]: Train loss: 1.1472, Valid loss: 1.0589\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1270/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.24it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1270/3000]: Train loss: 1.1498, Valid loss: 1.1676\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1271/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.28it/s, loss=1.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1271/3000]: Train loss: 1.1333, Valid loss: 1.0882\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1272/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.75it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1272/3000]: Train loss: 1.1404, Valid loss: 1.1445\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1273/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.42it/s, loss=0.973]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1273/3000]: Train loss: 1.1286, Valid loss: 1.1444\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1274/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.94it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1274/3000]: Train loss: 1.1907, Valid loss: 0.9071\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1275/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.27it/s, loss=1.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1275/3000]: Train loss: 1.1709, Valid loss: 1.1175\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1276/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.00it/s, loss=1.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1276/3000]: Train loss: 1.1612, Valid loss: 1.0905\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1277/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.59it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1277/3000]: Train loss: 1.1759, Valid loss: 1.0951\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1278/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.89it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1278/3000]: Train loss: 1.1553, Valid loss: 1.0591\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1279/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.11it/s, loss=0.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1279/3000]: Train loss: 1.1409, Valid loss: 1.0857\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1280/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.73it/s, loss=1.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1280/3000]: Train loss: 1.1448, Valid loss: 0.8764\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1281/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.89it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1281/3000]: Train loss: 1.1364, Valid loss: 1.2895\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1282/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.33it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1282/3000]: Train loss: 1.1630, Valid loss: 0.9469\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1283/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.29it/s, loss=1.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1283/3000]: Train loss: 1.1571, Valid loss: 0.9696\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1284/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.16it/s, loss=1.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1284/3000]: Train loss: 1.1466, Valid loss: 0.9475\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1285/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.21it/s, loss=0.956]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1285/3000]: Train loss: 1.1265, Valid loss: 0.9790\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1286/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.40it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1286/3000]: Train loss: 1.1648, Valid loss: 1.0140\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1287/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.20it/s, loss=0.868]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1287/3000]: Train loss: 1.1237, Valid loss: 1.0575\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1288/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.02it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1288/3000]: Train loss: 1.1614, Valid loss: 1.1124\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1289/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.18it/s, loss=1.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1289/3000]: Train loss: 1.1372, Valid loss: 1.1503\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1290/3000]: 100%|██████████| 9/9 [00:00<00:00, 116.01it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1290/3000]: Train loss: 1.1343, Valid loss: 0.9464\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1291/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.30it/s, loss=1.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1291/3000]: Train loss: 1.1367, Valid loss: 1.1283\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1292/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.98it/s, loss=1.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1292/3000]: Train loss: 1.1390, Valid loss: 1.3286\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1293/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.88it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1293/3000]: Train loss: 1.1386, Valid loss: 1.0154\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1294/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.58it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1294/3000]: Train loss: 1.1441, Valid loss: 0.9585\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1295/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.83it/s, loss=1.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1295/3000]: Train loss: 1.1372, Valid loss: 1.0840\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1296/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.76it/s, loss=1.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1296/3000]: Train loss: 1.1629, Valid loss: 1.0520\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1297/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.84it/s, loss=0.917]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1297/3000]: Train loss: 1.1262, Valid loss: 0.8638\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1298/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.47it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1298/3000]: Train loss: 1.1466, Valid loss: 1.0312\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1299/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.57it/s, loss=1.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1299/3000]: Train loss: 1.1270, Valid loss: 0.9168\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1300/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.99it/s, loss=0.864]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1300/3000]: Train loss: 1.1184, Valid loss: 0.9795\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1301/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.65it/s, loss=1.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1301/3000]: Train loss: 1.1524, Valid loss: 1.2099\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1302/3000]: 100%|██████████| 9/9 [00:00<00:00, 107.90it/s, loss=0.822]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1302/3000]: Train loss: 1.1152, Valid loss: 0.8696\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1303/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.85it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1303/3000]: Train loss: 1.1294, Valid loss: 1.2702\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1304/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.88it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1304/3000]: Train loss: 1.1566, Valid loss: 0.9394\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1305/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.14it/s, loss=1.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1305/3000]: Train loss: 1.1298, Valid loss: 1.1371\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1306/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.78it/s, loss=1.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1306/3000]: Train loss: 1.1308, Valid loss: 0.8759\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1307/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.29it/s, loss=0.906]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1307/3000]: Train loss: 1.1210, Valid loss: 0.8953\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1308/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.65it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1308/3000]: Train loss: 1.1742, Valid loss: 1.0650\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1309/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.80it/s, loss=0.766]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1309/3000]: Train loss: 1.1140, Valid loss: 1.2162\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1310/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.51it/s, loss=1.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1310/3000]: Train loss: 1.1373, Valid loss: 0.9129\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1311/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.08it/s, loss=0.944]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1311/3000]: Train loss: 1.1216, Valid loss: 0.9195\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1312/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.12it/s, loss=1.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1312/3000]: Train loss: 1.1467, Valid loss: 1.1872\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1313/3000]: 100%|██████████| 9/9 [00:00<00:00, 115.73it/s, loss=0.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1313/3000]: Train loss: 1.1250, Valid loss: 0.9553\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1314/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.79it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1314/3000]: Train loss: 1.1362, Valid loss: 0.9336\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1315/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.01it/s, loss=0.973]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1315/3000]: Train loss: 1.1234, Valid loss: 1.1268\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1316/3000]: 100%|██████████| 9/9 [00:00<00:00, 106.20it/s, loss=0.576]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1316/3000]: Train loss: 1.1022, Valid loss: 1.0063\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1317/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.62it/s, loss=1.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1317/3000]: Train loss: 1.1321, Valid loss: 1.1093\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1318/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.06it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1318/3000]: Train loss: 1.1497, Valid loss: 1.3225\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1319/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.88it/s, loss=1.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1319/3000]: Train loss: 1.1292, Valid loss: 0.8753\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1320/3000]: 100%|██████████| 9/9 [00:00<00:00, 114.41it/s, loss=1.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1320/3000]: Train loss: 1.1344, Valid loss: 0.9711\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1321/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.24it/s, loss=1.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1321/3000]: Train loss: 1.1300, Valid loss: 0.8943\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1322/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.67it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1322/3000]: Train loss: 1.1860, Valid loss: 0.9357\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1323/3000]: 100%|██████████| 9/9 [00:00<00:00, 117.76it/s, loss=1.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1323/3000]: Train loss: 1.1616, Valid loss: 1.0379\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1324/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.77it/s, loss=0.914]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1324/3000]: Train loss: 1.1400, Valid loss: 0.9673\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1325/3000]: 100%|██████████| 9/9 [00:00<00:00, 113.91it/s, loss=0.974]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1325/3000]: Train loss: 1.1477, Valid loss: 1.0153\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1326/3000]: 100%|██████████| 9/9 [00:00<00:00, 118.96it/s, loss=1.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1326/3000]: Train loss: 1.1382, Valid loss: 1.1180\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1327/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.36it/s, loss=1.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1327/3000]: Train loss: 1.1543, Valid loss: 1.0474\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1328/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.02it/s, loss=1.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1328/3000]: Train loss: 1.1489, Valid loss: 0.9716\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1329/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.89it/s, loss=1.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1329/3000]: Train loss: 1.1355, Valid loss: 0.9863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1330/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.99it/s, loss=1.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1330/3000]: Train loss: 1.1680, Valid loss: 1.0220\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1331/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.88it/s, loss=1.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1331/3000]: Train loss: 1.1366, Valid loss: 0.8628\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1332/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.85it/s, loss=1.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1332/3000]: Train loss: 1.1385, Valid loss: 0.9490\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1333/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.44it/s, loss=0.978]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1333/3000]: Train loss: 1.1345, Valid loss: 1.1450\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1334/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.75it/s, loss=0.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1334/3000]: Train loss: 1.1231, Valid loss: 1.0863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1335/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.07it/s, loss=0.881]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1335/3000]: Train loss: 1.1245, Valid loss: 0.9549\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1336/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.85it/s, loss=1.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1336/3000]: Train loss: 1.1327, Valid loss: 1.4862\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1337/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.89it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1337/3000]: Train loss: 1.1435, Valid loss: 1.3628\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1338/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.06it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1338/3000]: Train loss: 1.1413, Valid loss: 1.2779\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1339/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.75it/s, loss=0.999]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1339/3000]: Train loss: 1.1238, Valid loss: 0.9742\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1340/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.73it/s, loss=0.897]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1340/3000]: Train loss: 1.1208, Valid loss: 1.1041\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1341/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.28it/s, loss=1.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1341/3000]: Train loss: 1.1492, Valid loss: 1.1431\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1342/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.84it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1342/3000]: Train loss: 1.1519, Valid loss: 1.0766\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1343/3000]: 100%|██████████| 9/9 [00:00<00:00, 110.80it/s, loss=1.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1343/3000]: Train loss: 1.1523, Valid loss: 1.0480\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1344/3000]: 100%|██████████| 9/9 [00:00<00:00, 119.15it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1344/3000]: Train loss: 1.1520, Valid loss: 1.0429\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1345/3000]: 100%|██████████| 9/9 [00:00<00:00, 121.03it/s, loss=1.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1345/3000]: Train loss: 1.1413, Valid loss: 1.0531\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1346/3000]: 100%|██████████| 9/9 [00:00<00:00, 111.47it/s, loss=1.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1346/3000]: Train loss: 1.1237, Valid loss: 1.0341\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1347/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.39it/s, loss=1.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1347/3000]: Train loss: 1.1281, Valid loss: 1.0292\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1348/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.76it/s, loss=1.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1348/3000]: Train loss: 1.1410, Valid loss: 1.0575\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1349/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.15it/s, loss=1.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1349/3000]: Train loss: 1.1388, Valid loss: 1.3954\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1350/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.35it/s, loss=1.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1350/3000]: Train loss: 1.1458, Valid loss: 1.3832\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1351/3000]: 100%|██████████| 9/9 [00:00<00:00, 109.19it/s, loss=1.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1351/3000]: Train loss: 1.1551, Valid loss: 1.0420\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1352/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.10it/s, loss=1.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1352/3000]: Train loss: 1.1388, Valid loss: 1.0565\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1353/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.19it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1353/3000]: Train loss: 1.1499, Valid loss: 1.0780\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1354/3000]: 100%|██████████| 9/9 [00:00<00:00, 112.21it/s, loss=1.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1354/3000]: Train loss: 1.1345, Valid loss: 1.3517\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1355/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.49it/s, loss=1.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1355/3000]: Train loss: 1.1554, Valid loss: 1.1956\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1356/3000]: 100%|██████████| 9/9 [00:00<00:00, 108.09it/s, loss=0.804]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1356/3000]: Train loss: 1.1139, Valid loss: 1.1297\n","\n","Model is not improving, so we halt the training session.\n"]}]},{"cell_type":"markdown","source":["# 测试结果"],"metadata":{"id":"vCkj-S90AgBp"}},{"cell_type":"code","source":["def save_pred(preds, file):\n"," ''' Save predictions to specified file '''\n"," with open(file, 'w') as fp:\n"," writer = csv.writer(fp)\n"," writer.writerow(['id', 'tested_positive'])\n"," for i, p in enumerate(preds):\n"," writer.writerow([i, p])\n","\n","model = My_Model(input_dim=x_train.shape[1]).to(device)\n","model.load_state_dict(torch.load(config['save_path']))\n","preds = predict(test_loader, model, device) \n","save_pred(preds, config['pred_path']) "],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"vjrXToa1AoHg","executionInfo":{"status":"ok","timestamp":1663925573531,"user_tz":-480,"elapsed":360,"user":{"displayName":"jon","userId":"02515558245111120108"}},"outputId":"885effda-8f22-48c8-df8a-9fff8f9a45a3"},"execution_count":53,"outputs":[{"output_type":"stream","name":"stderr","text":["100%|██████████| 5/5 [00:00<00:00, 727.75it/s]\n"]}]},{"cell_type":"markdown","source":["Objectives:\n","* Solve a regression problem with deep neural networks (DNN).\n","* Understand basic DNN training tips.\n","* Familiarize yourself with PyTorch.\n","\n","If you have any questions, please contact the TAs via TA hours, NTU COOL, or email to mlta-2022-spring@googlegroups.com"],"metadata":{"id":"V57zhcTp1Xxb"}},{"cell_type":"markdown","metadata":{"id":"Tm2aXcb-j9Fc"},"source":["# Download data\n","If the Google Drive links below do not work, you can download data from [Kaggle](https://www.kaggle.com/t/a3ebd5b5542f0f55e828d4f00de8e59a), and upload data manually to the workspace."]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"YPmfl-awlKZA","outputId":"71e77d1b-5543-4b3e-dc70-604bd7952f2b"},"outputs":[{"output_type":"stream","name":"stdout","text":["Downloading...\n","From: https://drive.google.com/uc?id=1kLSW_-cW2Huj7bh84YTdimGBOJaODiOS\n","To: /content/covid.train.csv\n","100% 2.49M/2.49M [00:00<00:00, 195MB/s]\n","Downloading...\n","From: https://drive.google.com/uc?id=1iiI5qROrAhZn-o4FPqsE97bMzDEFvIdg\n","To: /content/covid.test.csv\n","100% 993k/993k [00:00<00:00, 118MB/s]\n"]}],"source":["!gdown --id '1kLSW_-cW2Huj7bh84YTdimGBOJaODiOS' --output covid.train.csv\n","!gdown --id '1iiI5qROrAhZn-o4FPqsE97bMzDEFvIdg' --output covid.test.csv"]},{"cell_type":"markdown","metadata":{"id":"igqIMEgu64-F"},"source":["# Import packages"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"xybQNYCXYu13"},"outputs":[],"source":["# Numerical Operations\n","import math\n","import numpy as np\n","\n","# Reading/Writing Data\n","import pandas as pd\n","import os\n","import csv\n","\n","# For Progress Bar\n","from tqdm import tqdm\n","\n","# Pytorch\n","import torch \n","import torch.nn as nn\n","from torch.utils.data import Dataset, DataLoader, random_split\n","\n","# For plotting learning curve\n","from torch.utils.tensorboard import SummaryWriter"]},{"cell_type":"markdown","source":["# Some Utility Functions\n","\n","You do not need to modify this part."],"metadata":{"id":"fTAVqRfc2KK3"}},{"cell_type":"code","source":["def same_seed(seed): \n"," '''Fixes random number generator seeds for reproducibility.'''\n"," torch.backends.cudnn.deterministic = True\n"," torch.backends.cudnn.benchmark = False\n"," np.random.seed(seed)\n"," torch.manual_seed(seed)\n"," if torch.cuda.is_available():\n"," torch.cuda.manual_seed_all(seed)\n","\n","def train_valid_split(data_set, valid_ratio, seed):\n"," '''Split provided training data into training set and validation set'''\n"," valid_set_size = int(valid_ratio * len(data_set)) \n"," train_set_size = len(data_set) - valid_set_size\n"," train_set, valid_set = random_split(data_set, [train_set_size, valid_set_size], generator=torch.Generator().manual_seed(seed))\n"," return np.array(train_set), np.array(valid_set)\n","\n","def predict(test_loader, model, device):\n"," model.eval() # Set your model to evaluation mode.\n"," preds = []\n"," for x in tqdm(test_loader):\n"," x = x.to(device) \n"," with torch.no_grad(): \n"," pred = model(x) \n"," preds.append(pred.detach().cpu()) \n"," preds = torch.cat(preds, dim=0).numpy() \n"," return preds"],"metadata":{"id":"RbrcpfYN2I-H"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"IqO3lTm78nNO"},"source":["# Dataset"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"-mjaJM0wprMs"},"outputs":[],"source":["class COVID19Dataset(Dataset):\n"," '''\n"," x: Features.\n"," y: Targets, if none, do prediction.\n"," '''\n"," def __init__(self, x, y=None):\n"," if y is None:\n"," self.y = y\n"," else:\n"," self.y = torch.FloatTensor(y)\n"," self.x = torch.FloatTensor(x)\n","\n"," def __getitem__(self, idx):\n"," if self.y is None:\n"," return self.x[idx]\n"," else:\n"," return self.x[idx], self.y[idx]\n","\n"," def __len__(self):\n"," return len(self.x)"]},{"cell_type":"markdown","source":["# Neural Network Model\n","Try out different model architectures by modifying the class below."],"metadata":{"id":"m73ooU75CL_j"}},{"cell_type":"code","execution_count":null,"metadata":{"id":"Qn97_WvvrEkG"},"outputs":[],"source":["class My_Model(nn.Module):\n"," def __init__(self, input_dim):\n"," super(My_Model, self).__init__()\n"," # TODO: modify model's structure, be aware of dimensions. \n"," self.layers = nn.Sequential(\n"," nn.Linear(input_dim, 16),\n"," nn.ReLU(),\n"," nn.Linear(16, 8),\n"," nn.ReLU(),\n"," nn.Linear(8, 1)\n"," )\n","\n"," def forward(self, x):\n"," x = self.layers(x)\n"," x = x.squeeze(1) # (B, 1) -> (B)\n"," return x"]},{"cell_type":"markdown","metadata":{"id":"x5-LKF6R8xeq"},"source":["# Feature Selection\n","Choose features you deem useful by modifying the function below."]},{"cell_type":"code","source":["def select_feat(train_data, valid_data, test_data, select_all=True):\n"," '''Selects useful features to perform regression'''\n"," y_train, y_valid = train_data[:,-1], valid_data[:,-1]\n"," raw_x_train, raw_x_valid, raw_x_test = train_data[:,:-1], valid_data[:,:-1], test_data\n","\n"," if select_all:\n"," feat_idx = list(range(raw_x_train.shape[1]))\n"," else:\n"," feat_idx = [0,1,2,3,4] # TODO: Select suitable feature columns.\n"," \n"," return raw_x_train[:,feat_idx], raw_x_valid[:,feat_idx], raw_x_test[:,feat_idx], y_train, y_valid"],"metadata":{"id":"0FEnKRaIIeKp"},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":["# Training Loop"],"metadata":{"id":"kADIPNQ2Ih5X"}},{"cell_type":"code","execution_count":null,"metadata":{"id":"k4Rq8_TztAhq"},"outputs":[],"source":["def trainer(train_loader, valid_loader, model, config, device):\n","\n"," criterion = nn.MSELoss(reduction='mean') # Define your loss function, do not modify this.\n","\n"," # Define your optimization algorithm. \n"," # TODO: Please check https://pytorch.org/docs/stable/optim.html to get more available algorithms.\n"," # TODO: L2 regularization (optimizer(weight decay...) or implement by your self).\n"," optimizer = torch.optim.SGD(model.parameters(), lr=config['learning_rate'], momentum=0.9) \n","\n"," writer = SummaryWriter() # Writer of tensoboard.\n","\n"," if not os.path.isdir('./models'):\n"," os.mkdir('./models') # Create directory of saving models.\n","\n"," n_epochs, best_loss, step, early_stop_count = config['n_epochs'], math.inf, 0, 0\n","\n"," for epoch in range(n_epochs):\n"," model.train() # Set your model to train mode.\n"," loss_record = []\n","\n"," # tqdm is a package to visualize your training progress.\n"," train_pbar = tqdm(train_loader, position=0, leave=True)\n","\n"," for x, y in train_pbar:\n"," optimizer.zero_grad() # Set gradient to zero.\n"," x, y = x.to(device), y.to(device) # Move your data to device. \n"," pred = model(x) \n"," loss = criterion(pred, y)\n"," loss.backward() # Compute gradient(backpropagation).\n"," optimizer.step() # Update parameters.\n"," step += 1\n"," loss_record.append(loss.detach().item())\n"," \n"," # Display current epoch number and loss on tqdm progress bar.\n"," train_pbar.set_description(f'Epoch [{epoch+1}/{n_epochs}]')\n"," train_pbar.set_postfix({'loss': loss.detach().item()})\n","\n"," mean_train_loss = sum(loss_record)/len(loss_record)\n"," writer.add_scalar('Loss/train', mean_train_loss, step)\n","\n"," model.eval() # Set your model to evaluation mode.\n"," loss_record = []\n"," for x, y in valid_loader:\n"," x, y = x.to(device), y.to(device)\n"," with torch.no_grad():\n"," pred = model(x)\n"," loss = criterion(pred, y)\n","\n"," loss_record.append(loss.item())\n"," \n"," mean_valid_loss = sum(loss_record)/len(loss_record)\n"," print(f'Epoch [{epoch+1}/{n_epochs}]: Train loss: {mean_train_loss:.4f}, Valid loss: {mean_valid_loss:.4f}')\n"," writer.add_scalar('Loss/valid', mean_valid_loss, step)\n","\n"," if mean_valid_loss < best_loss:\n"," best_loss = mean_valid_loss\n"," torch.save(model.state_dict(), config['save_path']) # Save your best model\n"," print('Saving model with loss {:.3f}...'.format(best_loss))\n"," early_stop_count = 0\n"," else: \n"," early_stop_count += 1\n","\n"," if early_stop_count >= config['early_stop']:\n"," print('\\nModel is not improving, so we halt the training session.')\n"," return"]},{"cell_type":"markdown","metadata":{"id":"0pgkOh2e9UjE"},"source":["# Configurations\n","`config` contains hyper-parameters for training and the path to save your model."]},{"cell_type":"code","execution_count":null,"metadata":{"id":"QoWPUahCtoT6"},"outputs":[],"source":["device = 'cuda' if torch.cuda.is_available() else 'cpu'\n","config = {\n"," 'seed': 5201314, # Your seed number, you can pick your lucky number. :)\n"," 'select_all': True, # Whether to use all features.\n"," 'valid_ratio': 0.2, # validation_size = train_size * valid_ratio\n"," 'n_epochs': 3000, # Number of epochs. \n"," 'batch_size': 256, \n"," 'learning_rate': 1e-5, \n"," 'early_stop': 400, # If model has not improved for this many consecutive epochs, stop training. \n"," 'save_path': './models/model.ckpt' # Your model will be saved here.\n","}"]},{"cell_type":"markdown","metadata":{"id":"lrS-aJJh9XkW"},"source":["# Dataloader\n","Read data from files and set up training, validation, and testing sets. You do not need to modify this part."]},{"cell_type":"code","execution_count":null,"metadata":{"id":"2jc7ZfDot2t9","colab":{"base_uri":"https://localhost:8080/"},"outputId":"62d291db-61c8-424d-ec87-2cfce6dd330d"},"outputs":[{"output_type":"stream","name":"stdout","text":["train_data size: (2160, 118) \n","valid_data size: (539, 118) \n","test_data size: (1078, 117)\n","number of features: 117\n"]}],"source":["# Set seed for reproducibility\n","same_seed(config['seed'])\n","\n","\n","# train_data size: 2699 x 118 (id + 37 states + 16 features x 5 days) \n","# test_data size: 1078 x 117 (without last day's positive rate)\n","train_data, test_data = pd.read_csv('./covid.train.csv').values, pd.read_csv('./covid.test.csv').values\n","train_data, valid_data = train_valid_split(train_data, config['valid_ratio'], config['seed'])\n","\n","# Print out the data size.\n","print(f\"\"\"train_data size: {train_data.shape} \n","valid_data size: {valid_data.shape} \n","test_data size: {test_data.shape}\"\"\")\n","\n","# Select features\n","x_train, x_valid, x_test, y_train, y_valid = select_feat(train_data, valid_data, test_data, config['select_all'])\n","\n","# Print out the number of features.\n","print(f'number of features: {x_train.shape[1]}')\n","\n","train_dataset, valid_dataset, test_dataset = COVID19Dataset(x_train, y_train), \\\n"," COVID19Dataset(x_valid, y_valid), \\\n"," COVID19Dataset(x_test)\n","\n","# Pytorch data loader loads pytorch dataset into batches.\n","train_loader = DataLoader(train_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True)\n","valid_loader = DataLoader(valid_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True)\n","test_loader = DataLoader(test_dataset, batch_size=config['batch_size'], shuffle=False, pin_memory=True)"]},{"cell_type":"markdown","metadata":{"id":"0OBYgjCA-YwD"},"source":["# Start training!"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"YdttVRkAfu2t","outputId":"864a1214-e69e-4197-dda0-ce2f6fe07d3c"},"outputs":[{"output_type":"stream","name":"stderr","text":["Epoch [1/3000]: 100%|██████████| 9/9 [00:02<00:00, 3.51it/s, loss=60.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1/3000]: Train loss: 134.2442, Valid loss: 107.2154\n","Saving model with loss 107.215...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [2/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.73it/s, loss=65.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [2/3000]: Train loss: 69.8928, Valid loss: 50.8182\n","Saving model with loss 50.818...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [3/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.78it/s, loss=61.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [3/3000]: Train loss: 48.5299, Valid loss: 39.1162\n","Saving model with loss 39.116...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [4/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.48it/s, loss=42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [4/3000]: Train loss: 39.2690, Valid loss: 39.9758\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [5/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.07it/s, loss=37.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [5/3000]: Train loss: 34.3680, Valid loss: 34.5855\n","Saving model with loss 34.586...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [6/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.92it/s, loss=35.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [6/3000]: Train loss: 32.7019, Valid loss: 34.4896\n","Saving model with loss 34.490...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [7/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.79it/s, loss=30.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [7/3000]: Train loss: 31.6557, Valid loss: 32.7823\n","Saving model with loss 32.782...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [8/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.05it/s, loss=31.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [8/3000]: Train loss: 31.0152, Valid loss: 28.5507\n","Saving model with loss 28.551...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [9/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.43it/s, loss=28.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [9/3000]: Train loss: 30.0828, Valid loss: 29.0465\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [10/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.52it/s, loss=30]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [10/3000]: Train loss: 29.1485, Valid loss: 29.9683\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [11/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.94it/s, loss=30.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [11/3000]: Train loss: 27.2044, Valid loss: 34.4240\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [12/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.10it/s, loss=28.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [12/3000]: Train loss: 30.4587, Valid loss: 30.5449\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [13/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.05it/s, loss=26.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [13/3000]: Train loss: 28.8501, Valid loss: 38.8159\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [14/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.25it/s, loss=25.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [14/3000]: Train loss: 30.4944, Valid loss: 23.6367\n","Saving model with loss 23.637...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [15/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.22it/s, loss=20]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [15/3000]: Train loss: 22.0876, Valid loss: 21.6634\n","Saving model with loss 21.663...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [16/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.33it/s, loss=27.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [16/3000]: Train loss: 21.9709, Valid loss: 21.4196\n","Saving model with loss 21.420...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [17/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.51it/s, loss=18.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [17/3000]: Train loss: 18.8819, Valid loss: 17.4513\n","Saving model with loss 17.451...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [18/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.76it/s, loss=16.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [18/3000]: Train loss: 19.4507, Valid loss: 16.2923\n","Saving model with loss 16.292...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [19/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.55it/s, loss=18.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [19/3000]: Train loss: 17.1157, Valid loss: 12.4208\n","Saving model with loss 12.421...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [20/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.15it/s, loss=16.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [20/3000]: Train loss: 14.4298, Valid loss: 12.4150\n","Saving model with loss 12.415...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [21/3000]: 100%|██████████| 9/9 [00:00<00:00, 56.46it/s, loss=11.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [21/3000]: Train loss: 12.4320, Valid loss: 10.2074\n","Saving model with loss 10.207...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [22/3000]: 100%|██████████| 9/9 [00:00<00:00, 53.86it/s, loss=8.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [22/3000]: Train loss: 9.8818, Valid loss: 8.9815\n","Saving model with loss 8.982...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [23/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.82it/s, loss=9.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [23/3000]: Train loss: 9.4202, Valid loss: 8.1944\n","Saving model with loss 8.194...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [24/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.29it/s, loss=5.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [24/3000]: Train loss: 9.9787, Valid loss: 11.8254\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [25/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.85it/s, loss=11.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [25/3000]: Train loss: 13.3498, Valid loss: 18.9990\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [26/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.09it/s, loss=33.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [26/3000]: Train loss: 32.1958, Valid loss: 16.0473\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [27/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.65it/s, loss=12.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [27/3000]: Train loss: 22.0563, Valid loss: 33.8580\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [28/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.02it/s, loss=12.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [28/3000]: Train loss: 24.0252, Valid loss: 16.7239\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [29/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.78it/s, loss=14.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [29/3000]: Train loss: 16.1765, Valid loss: 16.0472\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [30/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.62it/s, loss=10.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [30/3000]: Train loss: 13.3738, Valid loss: 12.4264\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [31/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.53it/s, loss=9.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [31/3000]: Train loss: 10.5927, Valid loss: 8.4381\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [32/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.14it/s, loss=5.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [32/3000]: Train loss: 8.7088, Valid loss: 7.7009\n","Saving model with loss 7.701...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [33/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.19it/s, loss=7.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [33/3000]: Train loss: 7.5685, Valid loss: 9.8440\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [34/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.50it/s, loss=6.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [34/3000]: Train loss: 6.5751, Valid loss: 6.4251\n","Saving model with loss 6.425...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [35/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.68it/s, loss=5.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [35/3000]: Train loss: 6.4591, Valid loss: 7.3667\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [36/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.18it/s, loss=10.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [36/3000]: Train loss: 8.9118, Valid loss: 5.4373\n","Saving model with loss 5.437...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [37/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.66it/s, loss=12.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [37/3000]: Train loss: 11.4654, Valid loss: 11.2931\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [38/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.60it/s, loss=15.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [38/3000]: Train loss: 10.1454, Valid loss: 10.1152\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [39/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.95it/s, loss=8.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [39/3000]: Train loss: 7.9754, Valid loss: 5.3838\n","Saving model with loss 5.384...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [40/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.97it/s, loss=5.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [40/3000]: Train loss: 5.9771, Valid loss: 7.2963\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [41/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.22it/s, loss=6.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [41/3000]: Train loss: 9.5937, Valid loss: 5.5865\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [42/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.19it/s, loss=6.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [42/3000]: Train loss: 6.1208, Valid loss: 5.6068\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [43/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.79it/s, loss=8.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [43/3000]: Train loss: 6.5059, Valid loss: 5.4390\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [44/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.68it/s, loss=6.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [44/3000]: Train loss: 8.7822, Valid loss: 6.1507\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [45/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.89it/s, loss=5.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [45/3000]: Train loss: 5.7645, Valid loss: 5.8273\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [46/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.09it/s, loss=6.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [46/3000]: Train loss: 6.5125, Valid loss: 5.7721\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [47/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.44it/s, loss=10.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [47/3000]: Train loss: 7.8976, Valid loss: 10.6389\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [48/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.76it/s, loss=5.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [48/3000]: Train loss: 6.8367, Valid loss: 5.6704\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [49/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.62it/s, loss=5.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [49/3000]: Train loss: 5.7062, Valid loss: 5.0708\n","Saving model with loss 5.071...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [50/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.23it/s, loss=5.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [50/3000]: Train loss: 5.2814, Valid loss: 5.3736\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [51/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.16it/s, loss=7.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [51/3000]: Train loss: 7.2379, Valid loss: 5.4500\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [52/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.25it/s, loss=9.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [52/3000]: Train loss: 6.0749, Valid loss: 5.2415\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [53/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.91it/s, loss=7.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [53/3000]: Train loss: 5.5730, Valid loss: 5.9925\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [54/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.17it/s, loss=6.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [54/3000]: Train loss: 6.3573, Valid loss: 6.8643\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [55/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.36it/s, loss=6.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [55/3000]: Train loss: 5.5011, Valid loss: 5.3129\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [56/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.00it/s, loss=5.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [56/3000]: Train loss: 5.5338, Valid loss: 4.9076\n","Saving model with loss 4.908...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [57/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.47it/s, loss=5.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [57/3000]: Train loss: 5.2906, Valid loss: 7.1043\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [58/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.70it/s, loss=9.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [58/3000]: Train loss: 8.1648, Valid loss: 6.4059\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [59/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.50it/s, loss=7.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [59/3000]: Train loss: 6.8555, Valid loss: 8.4045\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [60/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.47it/s, loss=3.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [60/3000]: Train loss: 5.8161, Valid loss: 5.4324\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [61/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.92it/s, loss=7.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [61/3000]: Train loss: 6.1007, Valid loss: 5.6772\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [62/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.78it/s, loss=6.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [62/3000]: Train loss: 6.2688, Valid loss: 11.8861\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [63/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.84it/s, loss=16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [63/3000]: Train loss: 9.3666, Valid loss: 5.2015\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [64/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.71it/s, loss=15.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [64/3000]: Train loss: 9.7231, Valid loss: 9.9735\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [65/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.73it/s, loss=20]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [65/3000]: Train loss: 16.2965, Valid loss: 9.9444\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [66/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.92it/s, loss=10]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [66/3000]: Train loss: 11.0266, Valid loss: 9.3559\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [67/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.45it/s, loss=11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [67/3000]: Train loss: 9.7844, Valid loss: 7.1001\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [68/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.27it/s, loss=8.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [68/3000]: Train loss: 7.4477, Valid loss: 7.6549\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [69/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.92it/s, loss=6.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [69/3000]: Train loss: 6.2854, Valid loss: 6.9688\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [70/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.71it/s, loss=4.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [70/3000]: Train loss: 5.5861, Valid loss: 4.4508\n","Saving model with loss 4.451...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [71/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.76it/s, loss=8.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [71/3000]: Train loss: 5.8853, Valid loss: 4.8953\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [72/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.10it/s, loss=6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [72/3000]: Train loss: 5.3305, Valid loss: 6.5556\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [73/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.83it/s, loss=7.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [73/3000]: Train loss: 5.5661, Valid loss: 6.9747\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [74/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.91it/s, loss=4.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [74/3000]: Train loss: 5.2628, Valid loss: 4.5224\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [75/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.90it/s, loss=4.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [75/3000]: Train loss: 5.0282, Valid loss: 4.4667\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [76/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.36it/s, loss=5.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [76/3000]: Train loss: 5.2533, Valid loss: 5.5808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [77/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.42it/s, loss=4.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [77/3000]: Train loss: 8.2466, Valid loss: 10.7261\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [78/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.95it/s, loss=3.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [78/3000]: Train loss: 7.2868, Valid loss: 8.4281\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [79/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.58it/s, loss=5.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [79/3000]: Train loss: 6.9504, Valid loss: 5.3363\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [80/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.66it/s, loss=6.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [80/3000]: Train loss: 5.2380, Valid loss: 5.6747\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [81/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.48it/s, loss=6.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [81/3000]: Train loss: 5.5891, Valid loss: 5.6174\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [82/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.62it/s, loss=6.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [82/3000]: Train loss: 5.4303, Valid loss: 5.1562\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [83/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.79it/s, loss=4.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [83/3000]: Train loss: 4.9677, Valid loss: 6.0496\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [84/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.99it/s, loss=5.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [84/3000]: Train loss: 5.7508, Valid loss: 6.0604\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [85/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.02it/s, loss=5.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [85/3000]: Train loss: 5.2115, Valid loss: 4.5274\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [86/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.71it/s, loss=5.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [86/3000]: Train loss: 5.0080, Valid loss: 4.9097\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [87/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.67it/s, loss=7.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [87/3000]: Train loss: 5.0228, Valid loss: 4.6723\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [88/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.62it/s, loss=3.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [88/3000]: Train loss: 5.2372, Valid loss: 7.8722\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [89/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.84it/s, loss=7.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [89/3000]: Train loss: 6.7827, Valid loss: 5.7613\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [90/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.93it/s, loss=6.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [90/3000]: Train loss: 6.0041, Valid loss: 4.9902\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [91/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.06it/s, loss=8.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [91/3000]: Train loss: 6.8558, Valid loss: 5.1602\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [92/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.00it/s, loss=6.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [92/3000]: Train loss: 6.2335, Valid loss: 5.1861\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [93/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.46it/s, loss=5.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [93/3000]: Train loss: 6.4318, Valid loss: 4.8951\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [94/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.74it/s, loss=4.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [94/3000]: Train loss: 4.6933, Valid loss: 4.9935\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [95/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.68it/s, loss=5.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [95/3000]: Train loss: 4.9823, Valid loss: 4.8480\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [96/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.71it/s, loss=4.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [96/3000]: Train loss: 4.9856, Valid loss: 5.4775\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [97/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.41it/s, loss=6.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [97/3000]: Train loss: 5.0282, Valid loss: 7.7357\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [98/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.02it/s, loss=9.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [98/3000]: Train loss: 6.3964, Valid loss: 12.3827\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [99/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.92it/s, loss=9.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [99/3000]: Train loss: 7.8921, Valid loss: 8.9927\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [100/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.72it/s, loss=5.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [100/3000]: Train loss: 6.4389, Valid loss: 4.3409\n","Saving model with loss 4.341...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [101/3000]: 100%|██████████| 9/9 [00:00<00:00, 36.45it/s, loss=5.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [101/3000]: Train loss: 5.6297, Valid loss: 5.6269\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [102/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.79it/s, loss=5.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [102/3000]: Train loss: 5.0151, Valid loss: 5.7860\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [103/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.62it/s, loss=9.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [103/3000]: Train loss: 5.8818, Valid loss: 5.3487\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [104/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.28it/s, loss=5.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [104/3000]: Train loss: 8.1942, Valid loss: 9.5055\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [105/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.39it/s, loss=5.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [105/3000]: Train loss: 5.7229, Valid loss: 6.1507\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [106/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.74it/s, loss=6.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [106/3000]: Train loss: 4.7533, Valid loss: 8.4970\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [107/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.22it/s, loss=11.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [107/3000]: Train loss: 8.5811, Valid loss: 13.7362\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [108/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.86it/s, loss=7.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [108/3000]: Train loss: 10.3410, Valid loss: 9.2626\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [109/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.38it/s, loss=6.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [109/3000]: Train loss: 9.2514, Valid loss: 16.0276\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [110/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.22it/s, loss=15.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [110/3000]: Train loss: 10.0316, Valid loss: 4.5253\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [111/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.53it/s, loss=9.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [111/3000]: Train loss: 8.9933, Valid loss: 5.1573\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [112/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.76it/s, loss=3.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [112/3000]: Train loss: 5.0132, Valid loss: 6.8230\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [113/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.89it/s, loss=4.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [113/3000]: Train loss: 4.7149, Valid loss: 5.0164\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [114/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.68it/s, loss=8.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [114/3000]: Train loss: 5.5852, Valid loss: 5.0920\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [115/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.54it/s, loss=5.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [115/3000]: Train loss: 5.0552, Valid loss: 4.2040\n","Saving model with loss 4.204...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [116/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.79it/s, loss=5.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [116/3000]: Train loss: 4.7343, Valid loss: 6.2218\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [117/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.19it/s, loss=6.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [117/3000]: Train loss: 5.6630, Valid loss: 5.0344\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [118/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.08it/s, loss=11.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [118/3000]: Train loss: 7.4919, Valid loss: 8.8715\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [119/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.22it/s, loss=9.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [119/3000]: Train loss: 7.9488, Valid loss: 8.0967\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [120/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.15it/s, loss=7.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [120/3000]: Train loss: 7.1190, Valid loss: 7.2470\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [121/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.88it/s, loss=4.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [121/3000]: Train loss: 6.2364, Valid loss: 4.7989\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [122/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.83it/s, loss=3.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [122/3000]: Train loss: 4.7021, Valid loss: 4.3818\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [123/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.56it/s, loss=6.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [123/3000]: Train loss: 4.8892, Valid loss: 4.0485\n","Saving model with loss 4.048...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [124/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.38it/s, loss=3.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [124/3000]: Train loss: 4.7228, Valid loss: 5.2480\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [125/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.83it/s, loss=5.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [125/3000]: Train loss: 4.7390, Valid loss: 5.5564\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [126/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.43it/s, loss=6.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [126/3000]: Train loss: 5.5245, Valid loss: 4.2328\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [127/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.37it/s, loss=6.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [127/3000]: Train loss: 5.1780, Valid loss: 4.1613\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [128/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.82it/s, loss=4.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [128/3000]: Train loss: 5.0525, Valid loss: 8.7827\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [129/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.39it/s, loss=3.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [129/3000]: Train loss: 6.6621, Valid loss: 4.4047\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [130/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.37it/s, loss=5.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [130/3000]: Train loss: 5.3509, Valid loss: 6.7665\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [131/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.72it/s, loss=6.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [131/3000]: Train loss: 6.1347, Valid loss: 5.3160\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [132/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.96it/s, loss=4.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [132/3000]: Train loss: 4.7012, Valid loss: 4.3805\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [133/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.56it/s, loss=5.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [133/3000]: Train loss: 4.7215, Valid loss: 4.4664\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [134/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.91it/s, loss=6.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [134/3000]: Train loss: 4.9867, Valid loss: 4.1537\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [135/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.76it/s, loss=5.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [135/3000]: Train loss: 4.7668, Valid loss: 4.8251\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [136/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.98it/s, loss=4.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [136/3000]: Train loss: 4.3274, Valid loss: 5.3113\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [137/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.42it/s, loss=3.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [137/3000]: Train loss: 4.1863, Valid loss: 3.9598\n","Saving model with loss 3.960...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [138/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.34it/s, loss=4.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [138/3000]: Train loss: 4.5788, Valid loss: 4.3185\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [139/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.43it/s, loss=5.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [139/3000]: Train loss: 4.4785, Valid loss: 4.2048\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [140/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.01it/s, loss=4.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [140/3000]: Train loss: 4.8288, Valid loss: 4.2352\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [141/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.65it/s, loss=4.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [141/3000]: Train loss: 4.3181, Valid loss: 4.0168\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [142/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.01it/s, loss=4.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [142/3000]: Train loss: 4.7471, Valid loss: 4.9416\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [143/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.48it/s, loss=4.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [143/3000]: Train loss: 4.9457, Valid loss: 4.4161\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [144/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.84it/s, loss=8.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [144/3000]: Train loss: 4.8698, Valid loss: 4.8862\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [145/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.72it/s, loss=5.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [145/3000]: Train loss: 5.0283, Valid loss: 6.0260\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [146/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.84it/s, loss=6.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [146/3000]: Train loss: 4.9807, Valid loss: 6.3077\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [147/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.21it/s, loss=5.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [147/3000]: Train loss: 5.4250, Valid loss: 6.9116\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [148/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.57it/s, loss=5.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [148/3000]: Train loss: 6.6490, Valid loss: 5.8872\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [149/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.99it/s, loss=5.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [149/3000]: Train loss: 4.7447, Valid loss: 4.0451\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [150/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.15it/s, loss=4.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [150/3000]: Train loss: 4.1997, Valid loss: 4.3530\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [151/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.87it/s, loss=3.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [151/3000]: Train loss: 4.1187, Valid loss: 3.9976\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [152/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.53it/s, loss=3.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [152/3000]: Train loss: 4.5858, Valid loss: 5.1132\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [153/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.20it/s, loss=5.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [153/3000]: Train loss: 4.7696, Valid loss: 4.2695\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [154/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.57it/s, loss=5.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [154/3000]: Train loss: 4.4546, Valid loss: 4.9587\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [155/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.45it/s, loss=4.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [155/3000]: Train loss: 4.4625, Valid loss: 4.0940\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [156/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.91it/s, loss=3.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [156/3000]: Train loss: 4.5735, Valid loss: 3.9244\n","Saving model with loss 3.924...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [157/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.69it/s, loss=4.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [157/3000]: Train loss: 4.6392, Valid loss: 3.9679\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [158/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.69it/s, loss=4.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [158/3000]: Train loss: 4.2545, Valid loss: 3.8743\n","Saving model with loss 3.874...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [159/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.85it/s, loss=2.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [159/3000]: Train loss: 4.0276, Valid loss: 4.2865\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [160/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.12it/s, loss=3.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [160/3000]: Train loss: 4.6547, Valid loss: 4.5539\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [161/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.48it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [161/3000]: Train loss: 4.4779, Valid loss: 6.3560\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [162/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.76it/s, loss=4.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [162/3000]: Train loss: 5.1291, Valid loss: 3.7049\n","Saving model with loss 3.705...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [163/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.54it/s, loss=5.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [163/3000]: Train loss: 4.6142, Valid loss: 4.3763\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [164/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.74it/s, loss=3.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [164/3000]: Train loss: 4.1758, Valid loss: 3.8802\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [165/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.18it/s, loss=2.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [165/3000]: Train loss: 5.1900, Valid loss: 6.8408\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [166/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.46it/s, loss=6.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [166/3000]: Train loss: 4.9200, Valid loss: 4.0806\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [167/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.83it/s, loss=7.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [167/3000]: Train loss: 5.0129, Valid loss: 3.6053\n","Saving model with loss 3.605...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [168/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.21it/s, loss=3.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [168/3000]: Train loss: 5.2935, Valid loss: 6.0032\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [169/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.07it/s, loss=5.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [169/3000]: Train loss: 5.1583, Valid loss: 3.4403\n","Saving model with loss 3.440...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [170/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.96it/s, loss=3.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [170/3000]: Train loss: 5.0289, Valid loss: 4.1749\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [171/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.15it/s, loss=4.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [171/3000]: Train loss: 3.9826, Valid loss: 6.5205\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [172/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.09it/s, loss=4.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [172/3000]: Train loss: 4.3278, Valid loss: 4.3774\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [173/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.51it/s, loss=4.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [173/3000]: Train loss: 4.0427, Valid loss: 4.1318\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [174/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.77it/s, loss=4.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [174/3000]: Train loss: 4.4056, Valid loss: 4.5461\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [175/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.42it/s, loss=3.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [175/3000]: Train loss: 4.3563, Valid loss: 3.5622\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [176/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.96it/s, loss=3.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [176/3000]: Train loss: 3.9047, Valid loss: 3.8109\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [177/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.03it/s, loss=5.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [177/3000]: Train loss: 4.0716, Valid loss: 4.5546\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [178/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.47it/s, loss=3.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [178/3000]: Train loss: 3.8638, Valid loss: 3.9721\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [179/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.42it/s, loss=5.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [179/3000]: Train loss: 4.3446, Valid loss: 4.0761\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [180/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.13it/s, loss=4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [180/3000]: Train loss: 4.1985, Valid loss: 6.3824\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [181/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.97it/s, loss=8.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [181/3000]: Train loss: 6.1550, Valid loss: 3.9348\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [182/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.01it/s, loss=8.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [182/3000]: Train loss: 5.9717, Valid loss: 3.9886\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [183/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.58it/s, loss=3.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [183/3000]: Train loss: 4.8822, Valid loss: 5.6737\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [184/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.58it/s, loss=4.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [184/3000]: Train loss: 3.9290, Valid loss: 5.9611\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [185/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.71it/s, loss=4.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [185/3000]: Train loss: 4.8483, Valid loss: 3.7475\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [186/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.85it/s, loss=3.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [186/3000]: Train loss: 4.4228, Valid loss: 4.6504\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [187/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.02it/s, loss=4.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [187/3000]: Train loss: 3.9548, Valid loss: 3.6585\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [188/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.94it/s, loss=4.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [188/3000]: Train loss: 3.8721, Valid loss: 3.9798\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [189/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.94it/s, loss=4.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [189/3000]: Train loss: 4.0171, Valid loss: 3.4131\n","Saving model with loss 3.413...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [190/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.30it/s, loss=3.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [190/3000]: Train loss: 3.6938, Valid loss: 4.1580\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [191/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.11it/s, loss=4.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [191/3000]: Train loss: 3.9996, Valid loss: 3.4940\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [192/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.16it/s, loss=3.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [192/3000]: Train loss: 4.1949, Valid loss: 4.6346\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [193/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.30it/s, loss=3.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [193/3000]: Train loss: 4.9444, Valid loss: 8.2765\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [194/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.44it/s, loss=5.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [194/3000]: Train loss: 5.9377, Valid loss: 7.4225\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [195/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.46it/s, loss=7.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [195/3000]: Train loss: 6.5531, Valid loss: 7.2571\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [196/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.62it/s, loss=4.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [196/3000]: Train loss: 6.5491, Valid loss: 7.2811\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [197/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.34it/s, loss=11.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [197/3000]: Train loss: 8.1468, Valid loss: 8.3875\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [198/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.00it/s, loss=6.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [198/3000]: Train loss: 6.5703, Valid loss: 7.1935\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [199/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.93it/s, loss=4.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [199/3000]: Train loss: 4.4460, Valid loss: 3.4754\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [200/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.38it/s, loss=3.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [200/3000]: Train loss: 3.6791, Valid loss: 3.6701\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [201/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.69it/s, loss=3.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [201/3000]: Train loss: 3.7644, Valid loss: 3.9912\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [202/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.69it/s, loss=5.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [202/3000]: Train loss: 3.9099, Valid loss: 4.2044\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [203/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.70it/s, loss=4.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [203/3000]: Train loss: 3.6676, Valid loss: 5.5986\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [204/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.10it/s, loss=3.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [204/3000]: Train loss: 4.9000, Valid loss: 3.5194\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [205/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.27it/s, loss=4.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [205/3000]: Train loss: 3.6632, Valid loss: 3.3738\n","Saving model with loss 3.374...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [206/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.04it/s, loss=2.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [206/3000]: Train loss: 3.5304, Valid loss: 5.9122\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [207/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.52it/s, loss=5.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [207/3000]: Train loss: 5.4523, Valid loss: 3.5001\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [208/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.20it/s, loss=4.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [208/3000]: Train loss: 4.6917, Valid loss: 4.8013\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [209/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.44it/s, loss=4.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [209/3000]: Train loss: 4.3004, Valid loss: 3.5578\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [210/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.66it/s, loss=3.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [210/3000]: Train loss: 3.5338, Valid loss: 3.5734\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [211/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.31it/s, loss=4.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [211/3000]: Train loss: 3.7495, Valid loss: 3.3519\n","Saving model with loss 3.352...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [212/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.66it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [212/3000]: Train loss: 3.6416, Valid loss: 4.0881\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [213/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.45it/s, loss=3.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [213/3000]: Train loss: 3.5650, Valid loss: 3.7518\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [214/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.32it/s, loss=3.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [214/3000]: Train loss: 3.4926, Valid loss: 4.2678\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [215/3000]: 100%|██████████| 9/9 [00:00<00:00, 39.99it/s, loss=4.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [215/3000]: Train loss: 3.8258, Valid loss: 4.2703\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [216/3000]: 100%|██████████| 9/9 [00:00<00:00, 47.28it/s, loss=4.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [216/3000]: Train loss: 3.6890, Valid loss: 4.3295\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [217/3000]: 100%|██████████| 9/9 [00:00<00:00, 47.02it/s, loss=4.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [217/3000]: Train loss: 3.8726, Valid loss: 3.7328\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [218/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.71it/s, loss=5.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [218/3000]: Train loss: 4.1992, Valid loss: 3.3399\n","Saving model with loss 3.340...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [219/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.00it/s, loss=3.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [219/3000]: Train loss: 4.4095, Valid loss: 5.0709\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [220/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.03it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [220/3000]: Train loss: 4.1126, Valid loss: 3.9341\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [221/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.06it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [221/3000]: Train loss: 3.4783, Valid loss: 3.4383\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [222/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.55it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [222/3000]: Train loss: 3.5582, Valid loss: 3.0444\n","Saving model with loss 3.044...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [223/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.34it/s, loss=3.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [223/3000]: Train loss: 3.4898, Valid loss: 3.8371\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [224/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.19it/s, loss=3.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [224/3000]: Train loss: 4.0799, Valid loss: 4.1598\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [225/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.91it/s, loss=4.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [225/3000]: Train loss: 3.6707, Valid loss: 4.0218\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [226/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.22it/s, loss=4.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [226/3000]: Train loss: 4.8209, Valid loss: 6.3212\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [227/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.42it/s, loss=4.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [227/3000]: Train loss: 5.1429, Valid loss: 2.9458\n","Saving model with loss 2.946...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [228/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.04it/s, loss=7.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [228/3000]: Train loss: 4.6438, Valid loss: 5.4586\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [229/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.50it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [229/3000]: Train loss: 4.6738, Valid loss: 5.0494\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [230/3000]: 100%|██████████| 9/9 [00:00<00:00, 60.22it/s, loss=3.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [230/3000]: Train loss: 4.0212, Valid loss: 4.3414\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [231/3000]: 100%|██████████| 9/9 [00:00<00:00, 39.97it/s, loss=3.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [231/3000]: Train loss: 4.1219, Valid loss: 3.3806\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [232/3000]: 100%|██████████| 9/9 [00:00<00:00, 54.45it/s, loss=4.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [232/3000]: Train loss: 4.5933, Valid loss: 4.8276\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [233/3000]: 100%|██████████| 9/9 [00:00<00:00, 49.07it/s, loss=3.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [233/3000]: Train loss: 3.7843, Valid loss: 2.9574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [234/3000]: 100%|██████████| 9/9 [00:00<00:00, 56.39it/s, loss=4.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [234/3000]: Train loss: 3.4174, Valid loss: 3.9382\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [235/3000]: 100%|██████████| 9/9 [00:00<00:00, 46.62it/s, loss=3.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [235/3000]: Train loss: 4.3026, Valid loss: 6.3384\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [236/3000]: 100%|██████████| 9/9 [00:00<00:00, 52.46it/s, loss=4.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [236/3000]: Train loss: 4.3730, Valid loss: 4.6402\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [237/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.20it/s, loss=3.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [237/3000]: Train loss: 3.6237, Valid loss: 2.8956\n","Saving model with loss 2.896...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [238/3000]: 100%|██████████| 9/9 [00:00<00:00, 57.56it/s, loss=4.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [238/3000]: Train loss: 3.8093, Valid loss: 4.0464\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [239/3000]: 100%|██████████| 9/9 [00:00<00:00, 42.56it/s, loss=4.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [239/3000]: Train loss: 4.1029, Valid loss: 3.7426\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [240/3000]: 100%|██████████| 9/9 [00:00<00:00, 53.41it/s, loss=3.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [240/3000]: Train loss: 5.0146, Valid loss: 9.4341\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [241/3000]: 100%|██████████| 9/9 [00:00<00:00, 42.03it/s, loss=3.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [241/3000]: Train loss: 4.9201, Valid loss: 3.0731\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [242/3000]: 100%|██████████| 9/9 [00:00<00:00, 61.58it/s, loss=3.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [242/3000]: Train loss: 3.4346, Valid loss: 3.6923\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [243/3000]: 100%|██████████| 9/9 [00:00<00:00, 45.81it/s, loss=3.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [243/3000]: Train loss: 3.5190, Valid loss: 3.2713\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [244/3000]: 100%|██████████| 9/9 [00:00<00:00, 37.23it/s, loss=3.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [244/3000]: Train loss: 3.3508, Valid loss: 3.1727\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [245/3000]: 100%|██████████| 9/9 [00:00<00:00, 48.68it/s, loss=3.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [245/3000]: Train loss: 3.3315, Valid loss: 3.6895\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [246/3000]: 100%|██████████| 9/9 [00:00<00:00, 53.66it/s, loss=4.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [246/3000]: Train loss: 3.3921, Valid loss: 4.2456\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [247/3000]: 100%|██████████| 9/9 [00:00<00:00, 40.07it/s, loss=3.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [247/3000]: Train loss: 4.2760, Valid loss: 6.1583\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [248/3000]: 100%|██████████| 9/9 [00:00<00:00, 56.22it/s, loss=4.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [248/3000]: Train loss: 4.9837, Valid loss: 3.3405\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [249/3000]: 100%|██████████| 9/9 [00:00<00:00, 60.56it/s, loss=3.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [249/3000]: Train loss: 4.7788, Valid loss: 4.9403\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [250/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.86it/s, loss=3.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [250/3000]: Train loss: 3.6472, Valid loss: 3.8557\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [251/3000]: 100%|██████████| 9/9 [00:00<00:00, 61.47it/s, loss=3.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [251/3000]: Train loss: 3.3906, Valid loss: 3.0172\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [252/3000]: 100%|██████████| 9/9 [00:00<00:00, 48.02it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [252/3000]: Train loss: 3.2192, Valid loss: 3.5355\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [253/3000]: 100%|██████████| 9/9 [00:00<00:00, 62.48it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [253/3000]: Train loss: 3.4683, Valid loss: 4.1498\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [254/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.70it/s, loss=3.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [254/3000]: Train loss: 3.6597, Valid loss: 3.3394\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [255/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.74it/s, loss=3.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [255/3000]: Train loss: 3.3103, Valid loss: 3.5301\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [256/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.83it/s, loss=3.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [256/3000]: Train loss: 3.4361, Valid loss: 3.0123\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [257/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.95it/s, loss=3.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [257/3000]: Train loss: 3.4800, Valid loss: 3.8175\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [258/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.40it/s, loss=3.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [258/3000]: Train loss: 3.8395, Valid loss: 2.5276\n","Saving model with loss 2.528...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [259/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.10it/s, loss=3.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [259/3000]: Train loss: 4.3030, Valid loss: 3.0591\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [260/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.55it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [260/3000]: Train loss: 3.4950, Valid loss: 4.2664\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [261/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.29it/s, loss=3.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [261/3000]: Train loss: 3.9587, Valid loss: 3.4317\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [262/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.93it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [262/3000]: Train loss: 3.2323, Valid loss: 4.4916\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [263/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.62it/s, loss=2.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [263/3000]: Train loss: 3.4952, Valid loss: 3.2968\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [264/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.32it/s, loss=3.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [264/3000]: Train loss: 3.3283, Valid loss: 3.4397\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [265/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.29it/s, loss=3.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [265/3000]: Train loss: 4.5021, Valid loss: 4.9784\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [266/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.83it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [266/3000]: Train loss: 3.7076, Valid loss: 3.7710\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [267/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.47it/s, loss=3.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [267/3000]: Train loss: 3.4497, Valid loss: 2.8816\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [268/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.26it/s, loss=5.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [268/3000]: Train loss: 3.5112, Valid loss: 8.4790\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [269/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.92it/s, loss=5.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [269/3000]: Train loss: 4.1863, Valid loss: 3.1717\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [270/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.99it/s, loss=5.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [270/3000]: Train loss: 4.0492, Valid loss: 4.3236\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [271/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.42it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [271/3000]: Train loss: 3.7381, Valid loss: 4.1159\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [272/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.83it/s, loss=5.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [272/3000]: Train loss: 3.7223, Valid loss: 3.6569\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [273/3000]: 100%|██████████| 9/9 [00:00<00:00, 50.84it/s, loss=2.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [273/3000]: Train loss: 3.1746, Valid loss: 2.7714\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [274/3000]: 100%|██████████| 9/9 [00:00<00:00, 42.52it/s, loss=3.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [274/3000]: Train loss: 3.4894, Valid loss: 2.7665\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [275/3000]: 100%|██████████| 9/9 [00:00<00:00, 46.02it/s, loss=3.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [275/3000]: Train loss: 3.2404, Valid loss: 3.3999\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [276/3000]: 100%|██████████| 9/9 [00:00<00:00, 40.83it/s, loss=4.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [276/3000]: Train loss: 4.5767, Valid loss: 3.9863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [277/3000]: 100%|██████████| 9/9 [00:00<00:00, 42.10it/s, loss=3.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [277/3000]: Train loss: 3.4395, Valid loss: 3.6469\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [278/3000]: 100%|██████████| 9/9 [00:00<00:00, 58.94it/s, loss=2.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [278/3000]: Train loss: 3.5752, Valid loss: 2.9786\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [279/3000]: 100%|██████████| 9/9 [00:00<00:00, 57.29it/s, loss=4.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [279/3000]: Train loss: 3.2304, Valid loss: 3.0359\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [280/3000]: 100%|██████████| 9/9 [00:00<00:00, 40.36it/s, loss=3.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [280/3000]: Train loss: 3.8118, Valid loss: 5.9162\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [281/3000]: 100%|██████████| 9/9 [00:00<00:00, 39.93it/s, loss=6.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [281/3000]: Train loss: 5.5708, Valid loss: 6.5362\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [282/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.38it/s, loss=5.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [282/3000]: Train loss: 6.4286, Valid loss: 7.8136\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [283/3000]: 100%|██████████| 9/9 [00:00<00:00, 40.07it/s, loss=4.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [283/3000]: Train loss: 4.8939, Valid loss: 3.3537\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [284/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.86it/s, loss=11.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [284/3000]: Train loss: 5.8876, Valid loss: 2.9153\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [285/3000]: 100%|██████████| 9/9 [00:00<00:00, 51.43it/s, loss=3.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [285/3000]: Train loss: 5.0978, Valid loss: 4.6149\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [286/3000]: 100%|██████████| 9/9 [00:00<00:00, 50.02it/s, loss=3.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [286/3000]: Train loss: 3.9952, Valid loss: 3.8707\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [287/3000]: 100%|██████████| 9/9 [00:00<00:00, 43.43it/s, loss=2.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [287/3000]: Train loss: 3.4296, Valid loss: 3.3218\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [288/3000]: 100%|██████████| 9/9 [00:00<00:00, 48.90it/s, loss=3.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [288/3000]: Train loss: 3.4757, Valid loss: 3.5550\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [289/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.57it/s, loss=3.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [289/3000]: Train loss: 3.1907, Valid loss: 5.4147\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [290/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.55it/s, loss=5.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [290/3000]: Train loss: 4.1561, Valid loss: 5.1818\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [291/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.54it/s, loss=2.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [291/3000]: Train loss: 3.7913, Valid loss: 3.6906\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [292/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.15it/s, loss=4.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [292/3000]: Train loss: 4.0492, Valid loss: 4.1079\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [293/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.29it/s, loss=5.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [293/3000]: Train loss: 3.9136, Valid loss: 3.4841\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [294/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.73it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [294/3000]: Train loss: 3.2029, Valid loss: 3.7437\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [295/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.85it/s, loss=4.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [295/3000]: Train loss: 4.0350, Valid loss: 3.2916\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [296/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.62it/s, loss=2.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [296/3000]: Train loss: 3.3533, Valid loss: 2.6893\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [297/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.09it/s, loss=4.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [297/3000]: Train loss: 3.4227, Valid loss: 3.9507\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [298/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.00it/s, loss=2.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [298/3000]: Train loss: 3.6680, Valid loss: 2.9965\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [299/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.12it/s, loss=3.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [299/3000]: Train loss: 2.9809, Valid loss: 3.4871\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [300/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.82it/s, loss=3.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [300/3000]: Train loss: 3.3157, Valid loss: 2.6141\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [301/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.34it/s, loss=2.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [301/3000]: Train loss: 3.1305, Valid loss: 3.2472\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [302/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.06it/s, loss=2.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [302/3000]: Train loss: 3.0435, Valid loss: 3.5501\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [303/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.38it/s, loss=2.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [303/3000]: Train loss: 3.1173, Valid loss: 3.2593\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [304/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.42it/s, loss=3.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [304/3000]: Train loss: 3.1487, Valid loss: 3.2269\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [305/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.91it/s, loss=3.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [305/3000]: Train loss: 3.1107, Valid loss: 4.1307\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [306/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.55it/s, loss=5.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [306/3000]: Train loss: 3.8624, Valid loss: 7.0359\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [307/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.13it/s, loss=4.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [307/3000]: Train loss: 4.0011, Valid loss: 3.4742\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [308/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.09it/s, loss=2.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [308/3000]: Train loss: 3.2856, Valid loss: 4.5149\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [309/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.15it/s, loss=3.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [309/3000]: Train loss: 4.3294, Valid loss: 2.7490\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [310/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.25it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [310/3000]: Train loss: 3.6393, Valid loss: 7.6842\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [311/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.90it/s, loss=8.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [311/3000]: Train loss: 5.5008, Valid loss: 4.4912\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [312/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.73it/s, loss=3.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [312/3000]: Train loss: 3.7752, Valid loss: 3.5605\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [313/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.64it/s, loss=3.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [313/3000]: Train loss: 3.1032, Valid loss: 2.7339\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [314/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.07it/s, loss=4.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [314/3000]: Train loss: 4.0669, Valid loss: 4.9895\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [315/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.55it/s, loss=3.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [315/3000]: Train loss: 3.3604, Valid loss: 2.6040\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [316/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.79it/s, loss=4.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [316/3000]: Train loss: 3.1595, Valid loss: 4.4552\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [317/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.01it/s, loss=3.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [317/3000]: Train loss: 3.7944, Valid loss: 5.0003\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [318/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.91it/s, loss=3.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [318/3000]: Train loss: 3.3974, Valid loss: 2.9101\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [319/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.47it/s, loss=4.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [319/3000]: Train loss: 3.1737, Valid loss: 2.8386\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [320/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.81it/s, loss=4.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [320/3000]: Train loss: 3.1526, Valid loss: 2.4730\n","Saving model with loss 2.473...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [321/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.42it/s, loss=4.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [321/3000]: Train loss: 3.4378, Valid loss: 3.7026\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [322/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.44it/s, loss=3.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [322/3000]: Train loss: 3.3329, Valid loss: 2.4137\n","Saving model with loss 2.414...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [323/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.33it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [323/3000]: Train loss: 2.8110, Valid loss: 2.6225\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [324/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.10it/s, loss=3.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [324/3000]: Train loss: 2.8820, Valid loss: 3.2172\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [325/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.29it/s, loss=3.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [325/3000]: Train loss: 3.8495, Valid loss: 5.0202\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [326/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.79it/s, loss=10.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [326/3000]: Train loss: 4.8967, Valid loss: 5.8372\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [327/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.14it/s, loss=6.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [327/3000]: Train loss: 4.9654, Valid loss: 3.6057\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [328/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.86it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [328/3000]: Train loss: 4.2714, Valid loss: 3.4472\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [329/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.90it/s, loss=4.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [329/3000]: Train loss: 3.4928, Valid loss: 4.1994\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [330/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.62it/s, loss=2.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [330/3000]: Train loss: 3.3419, Valid loss: 3.0758\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [331/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.05it/s, loss=3.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [331/3000]: Train loss: 3.3467, Valid loss: 4.1721\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [332/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.30it/s, loss=6.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [332/3000]: Train loss: 3.7445, Valid loss: 2.7762\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [333/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.09it/s, loss=2.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [333/3000]: Train loss: 3.1968, Valid loss: 3.2574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [334/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.77it/s, loss=2.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [334/3000]: Train loss: 3.0888, Valid loss: 3.8165\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [335/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.22it/s, loss=2.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [335/3000]: Train loss: 2.7953, Valid loss: 3.2832\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [336/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.54it/s, loss=2.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [336/3000]: Train loss: 2.8403, Valid loss: 2.9455\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [337/3000]: 100%|██████████| 9/9 [00:00<00:00, 61.13it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [337/3000]: Train loss: 3.2623, Valid loss: 3.9293\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [338/3000]: 100%|██████████| 9/9 [00:00<00:00, 35.14it/s, loss=3.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [338/3000]: Train loss: 3.2274, Valid loss: 3.1271\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [339/3000]: 100%|██████████| 9/9 [00:00<00:00, 60.84it/s, loss=3.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [339/3000]: Train loss: 3.0637, Valid loss: 3.2921\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [340/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.18it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [340/3000]: Train loss: 3.4228, Valid loss: 3.1396\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [341/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.79it/s, loss=2.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [341/3000]: Train loss: 3.2492, Valid loss: 3.3540\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [342/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.61it/s, loss=2.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [342/3000]: Train loss: 3.3362, Valid loss: 7.7144\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [343/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.96it/s, loss=4.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [343/3000]: Train loss: 3.6798, Valid loss: 4.2511\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [344/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.86it/s, loss=4.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [344/3000]: Train loss: 3.2202, Valid loss: 4.3694\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [345/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.19it/s, loss=5.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [345/3000]: Train loss: 4.0447, Valid loss: 3.4016\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [346/3000]: 100%|██████████| 9/9 [00:00<00:00, 29.64it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [346/3000]: Train loss: 3.4655, Valid loss: 2.7713\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [347/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.63it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [347/3000]: Train loss: 2.7256, Valid loss: 2.6298\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [348/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.45it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [348/3000]: Train loss: 3.0849, Valid loss: 4.6719\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [349/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.52it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [349/3000]: Train loss: 3.8688, Valid loss: 4.5862\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [350/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.47it/s, loss=3.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [350/3000]: Train loss: 3.3804, Valid loss: 4.1999\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [351/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.82it/s, loss=4.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [351/3000]: Train loss: 3.3918, Valid loss: 3.7226\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [352/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.22it/s, loss=6.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [352/3000]: Train loss: 5.9444, Valid loss: 4.5500\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [353/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.33it/s, loss=5.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [353/3000]: Train loss: 6.8269, Valid loss: 5.4659\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [354/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.01it/s, loss=3.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [354/3000]: Train loss: 4.2422, Valid loss: 6.6832\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [355/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.60it/s, loss=6.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [355/3000]: Train loss: 6.9264, Valid loss: 7.0664\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [356/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.27it/s, loss=3.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [356/3000]: Train loss: 4.7819, Valid loss: 4.4121\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [357/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.21it/s, loss=3.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [357/3000]: Train loss: 3.3615, Valid loss: 2.7007\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [358/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.92it/s, loss=3.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [358/3000]: Train loss: 2.9294, Valid loss: 4.5442\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [359/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.56it/s, loss=2.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [359/3000]: Train loss: 3.2014, Valid loss: 5.9390\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [360/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.66it/s, loss=3.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [360/3000]: Train loss: 4.2830, Valid loss: 4.8864\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [361/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.76it/s, loss=3.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [361/3000]: Train loss: 3.8395, Valid loss: 3.5155\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [362/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.45it/s, loss=2.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [362/3000]: Train loss: 3.2829, Valid loss: 3.3866\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [363/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.50it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [363/3000]: Train loss: 2.8841, Valid loss: 2.7371\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [364/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.16it/s, loss=2.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [364/3000]: Train loss: 2.7143, Valid loss: 4.2909\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [365/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.90it/s, loss=4.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [365/3000]: Train loss: 3.3546, Valid loss: 4.3713\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [366/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.68it/s, loss=3.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [366/3000]: Train loss: 3.4113, Valid loss: 2.8656\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [367/3000]: 100%|██████████| 9/9 [00:00<00:00, 104.10it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [367/3000]: Train loss: 3.1073, Valid loss: 2.4400\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [368/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.47it/s, loss=3.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [368/3000]: Train loss: 2.6780, Valid loss: 2.9070\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [369/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.81it/s, loss=4.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [369/3000]: Train loss: 3.1987, Valid loss: 3.8945\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [370/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.12it/s, loss=3.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [370/3000]: Train loss: 3.5759, Valid loss: 2.8903\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [371/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.43it/s, loss=2.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [371/3000]: Train loss: 2.8186, Valid loss: 2.8779\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [372/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.59it/s, loss=2.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [372/3000]: Train loss: 2.7295, Valid loss: 2.7854\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [373/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.60it/s, loss=3.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [373/3000]: Train loss: 2.9153, Valid loss: 2.5482\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [374/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.57it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [374/3000]: Train loss: 2.6961, Valid loss: 2.7216\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [375/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.62it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [375/3000]: Train loss: 2.6552, Valid loss: 2.7595\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [376/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.11it/s, loss=3.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [376/3000]: Train loss: 2.7381, Valid loss: 3.4166\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [377/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.09it/s, loss=2.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [377/3000]: Train loss: 2.8744, Valid loss: 3.2158\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [378/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.00it/s, loss=3.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [378/3000]: Train loss: 3.1821, Valid loss: 2.6680\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [379/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.23it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [379/3000]: Train loss: 2.7821, Valid loss: 2.9126\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [380/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.19it/s, loss=3.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [380/3000]: Train loss: 3.3442, Valid loss: 3.5432\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [381/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.42it/s, loss=3.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [381/3000]: Train loss: 2.9719, Valid loss: 3.9551\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [382/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.25it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [382/3000]: Train loss: 3.0767, Valid loss: 2.7709\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [383/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.20it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [383/3000]: Train loss: 2.9274, Valid loss: 3.1822\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [384/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.92it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [384/3000]: Train loss: 2.7626, Valid loss: 3.3786\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [385/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.32it/s, loss=2.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [385/3000]: Train loss: 2.7007, Valid loss: 2.7628\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [386/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.40it/s, loss=2.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [386/3000]: Train loss: 2.6443, Valid loss: 3.0541\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [387/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.29it/s, loss=3.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [387/3000]: Train loss: 2.8822, Valid loss: 3.1246\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [388/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.02it/s, loss=4.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [388/3000]: Train loss: 3.4384, Valid loss: 2.6751\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [389/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.43it/s, loss=3.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [389/3000]: Train loss: 3.3321, Valid loss: 5.4000\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [390/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.44it/s, loss=3.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [390/3000]: Train loss: 3.6552, Valid loss: 5.4030\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [391/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.06it/s, loss=8.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [391/3000]: Train loss: 4.8898, Valid loss: 8.8884\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [392/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.10it/s, loss=4.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [392/3000]: Train loss: 5.4056, Valid loss: 3.9562\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [393/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.02it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [393/3000]: Train loss: 2.9389, Valid loss: 2.5429\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [394/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.13it/s, loss=2.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [394/3000]: Train loss: 3.1959, Valid loss: 3.1855\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [395/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.47it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [395/3000]: Train loss: 2.6716, Valid loss: 2.3349\n","Saving model with loss 2.335...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [396/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.58it/s, loss=3.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [396/3000]: Train loss: 2.6878, Valid loss: 3.9064\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [397/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.95it/s, loss=3.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [397/3000]: Train loss: 2.8313, Valid loss: 4.8819\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [398/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.36it/s, loss=5.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [398/3000]: Train loss: 3.4957, Valid loss: 8.7173\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [399/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.63it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [399/3000]: Train loss: 4.0952, Valid loss: 2.7853\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [400/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.29it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [400/3000]: Train loss: 2.8081, Valid loss: 3.6416\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [401/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.05it/s, loss=4.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [401/3000]: Train loss: 4.3881, Valid loss: 3.0769\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [402/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.22it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [402/3000]: Train loss: 3.0619, Valid loss: 3.2772\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [403/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.51it/s, loss=2.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [403/3000]: Train loss: 2.9258, Valid loss: 3.0334\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [404/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.97it/s, loss=7.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [404/3000]: Train loss: 3.9431, Valid loss: 4.3994\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [405/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.31it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [405/3000]: Train loss: 3.1195, Valid loss: 2.4389\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [406/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.80it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [406/3000]: Train loss: 2.5934, Valid loss: 3.3173\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [407/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.75it/s, loss=3.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [407/3000]: Train loss: 3.0450, Valid loss: 5.0986\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [408/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.02it/s, loss=3.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [408/3000]: Train loss: 3.0803, Valid loss: 3.1451\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [409/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.86it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [409/3000]: Train loss: 2.6895, Valid loss: 2.3550\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [410/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.06it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [410/3000]: Train loss: 2.8075, Valid loss: 2.8771\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [411/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.64it/s, loss=2.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [411/3000]: Train loss: 2.8620, Valid loss: 5.5950\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [412/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.45it/s, loss=2.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [412/3000]: Train loss: 3.2575, Valid loss: 2.7236\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [413/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.83it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [413/3000]: Train loss: 2.8629, Valid loss: 3.3850\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [414/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.74it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [414/3000]: Train loss: 3.0126, Valid loss: 3.8483\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [415/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.42it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [415/3000]: Train loss: 3.0565, Valid loss: 2.8977\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [416/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.25it/s, loss=2.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [416/3000]: Train loss: 3.5367, Valid loss: 6.4985\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [417/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.91it/s, loss=3.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [417/3000]: Train loss: 4.7057, Valid loss: 4.5070\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [418/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.77it/s, loss=2.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [418/3000]: Train loss: 3.1368, Valid loss: 2.5385\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [419/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.47it/s, loss=5.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [419/3000]: Train loss: 3.5836, Valid loss: 4.1490\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [420/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.13it/s, loss=6.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [420/3000]: Train loss: 7.2945, Valid loss: 7.9461\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [421/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.42it/s, loss=7.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [421/3000]: Train loss: 9.7838, Valid loss: 9.0926\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [422/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.20it/s, loss=4.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [422/3000]: Train loss: 8.6534, Valid loss: 13.6624\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [423/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.07it/s, loss=6.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [423/3000]: Train loss: 6.4982, Valid loss: 3.4814\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [424/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.87it/s, loss=4.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [424/3000]: Train loss: 4.1262, Valid loss: 5.7505\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [425/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.61it/s, loss=3.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [425/3000]: Train loss: 3.6347, Valid loss: 3.4201\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [426/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.78it/s, loss=3.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [426/3000]: Train loss: 3.0578, Valid loss: 2.5210\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [427/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.81it/s, loss=2.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [427/3000]: Train loss: 3.1902, Valid loss: 4.4117\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [428/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.98it/s, loss=3.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [428/3000]: Train loss: 3.3554, Valid loss: 3.0155\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [429/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.84it/s, loss=4.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [429/3000]: Train loss: 3.3362, Valid loss: 2.8366\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [430/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.42it/s, loss=3.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [430/3000]: Train loss: 3.0886, Valid loss: 2.8634\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [431/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.99it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [431/3000]: Train loss: 2.9112, Valid loss: 5.7716\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [432/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.09it/s, loss=4.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [432/3000]: Train loss: 3.7315, Valid loss: 3.2584\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [433/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.79it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [433/3000]: Train loss: 3.4225, Valid loss: 2.9989\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [434/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.99it/s, loss=3.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [434/3000]: Train loss: 2.9445, Valid loss: 3.1980\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [435/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.21it/s, loss=3.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [435/3000]: Train loss: 4.7376, Valid loss: 4.0600\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [436/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.12it/s, loss=3.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [436/3000]: Train loss: 3.1405, Valid loss: 6.3339\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [437/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.56it/s, loss=7.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [437/3000]: Train loss: 6.8387, Valid loss: 3.9810\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [438/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.42it/s, loss=6.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [438/3000]: Train loss: 4.4463, Valid loss: 2.9052\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [439/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.85it/s, loss=2.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [439/3000]: Train loss: 3.5113, Valid loss: 3.4428\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [440/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.79it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [440/3000]: Train loss: 2.7461, Valid loss: 2.4012\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [441/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.33it/s, loss=4.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [441/3000]: Train loss: 2.8547, Valid loss: 4.0141\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [442/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.72it/s, loss=2.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [442/3000]: Train loss: 2.8760, Valid loss: 2.5630\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [443/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.60it/s, loss=3.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [443/3000]: Train loss: 2.6121, Valid loss: 3.4837\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [444/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.81it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [444/3000]: Train loss: 2.6857, Valid loss: 3.5205\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [445/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.81it/s, loss=3.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [445/3000]: Train loss: 3.2338, Valid loss: 2.3839\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [446/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.92it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [446/3000]: Train loss: 2.6223, Valid loss: 2.4910\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [447/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.96it/s, loss=2.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [447/3000]: Train loss: 2.5500, Valid loss: 2.7873\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [448/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.93it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [448/3000]: Train loss: 2.5641, Valid loss: 2.8546\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [449/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.99it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [449/3000]: Train loss: 3.1814, Valid loss: 2.5863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [450/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.76it/s, loss=2.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [450/3000]: Train loss: 2.8768, Valid loss: 3.8085\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [451/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.12it/s, loss=3.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [451/3000]: Train loss: 3.3718, Valid loss: 2.2657\n","Saving model with loss 2.266...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [452/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.27it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [452/3000]: Train loss: 2.5533, Valid loss: 2.4994\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [453/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.70it/s, loss=3.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [453/3000]: Train loss: 2.6841, Valid loss: 4.6000\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [454/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.36it/s, loss=2.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [454/3000]: Train loss: 3.0783, Valid loss: 2.2682\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [455/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.83it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [455/3000]: Train loss: 2.6196, Valid loss: 2.9087\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [456/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.75it/s, loss=3.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [456/3000]: Train loss: 2.5872, Valid loss: 2.5078\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [457/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.46it/s, loss=3.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [457/3000]: Train loss: 3.0023, Valid loss: 3.0531\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [458/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.23it/s, loss=3.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [458/3000]: Train loss: 3.9407, Valid loss: 5.0663\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [459/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.80it/s, loss=2.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [459/3000]: Train loss: 2.6574, Valid loss: 2.3974\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [460/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.33it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [460/3000]: Train loss: 2.4463, Valid loss: 3.1808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [461/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.19it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [461/3000]: Train loss: 2.9044, Valid loss: 2.9009\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [462/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.00it/s, loss=2.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [462/3000]: Train loss: 2.6820, Valid loss: 2.3554\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [463/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.51it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [463/3000]: Train loss: 2.5131, Valid loss: 2.6812\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [464/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.43it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [464/3000]: Train loss: 2.5665, Valid loss: 3.6920\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [465/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.98it/s, loss=4.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [465/3000]: Train loss: 3.3191, Valid loss: 4.3673\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [466/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.39it/s, loss=3.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [466/3000]: Train loss: 3.0353, Valid loss: 2.6042\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [467/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.13it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [467/3000]: Train loss: 3.1104, Valid loss: 5.4196\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [468/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.74it/s, loss=3.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [468/3000]: Train loss: 3.4903, Valid loss: 3.1843\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [469/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.88it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [469/3000]: Train loss: 2.9087, Valid loss: 2.2026\n","Saving model with loss 2.203...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [470/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.19it/s, loss=2.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [470/3000]: Train loss: 2.4449, Valid loss: 3.1258\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [471/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.98it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [471/3000]: Train loss: 3.0016, Valid loss: 2.4402\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [472/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.50it/s, loss=3.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [472/3000]: Train loss: 2.6275, Valid loss: 2.8707\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [473/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.61it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [473/3000]: Train loss: 2.4667, Valid loss: 4.3807\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [474/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.75it/s, loss=3.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [474/3000]: Train loss: 2.6445, Valid loss: 3.5018\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [475/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.88it/s, loss=3.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [475/3000]: Train loss: 3.4930, Valid loss: 3.2811\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [476/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.44it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [476/3000]: Train loss: 2.6079, Valid loss: 2.6721\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [477/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.69it/s, loss=3.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [477/3000]: Train loss: 2.9418, Valid loss: 2.8649\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [478/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.33it/s, loss=2.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [478/3000]: Train loss: 2.5319, Valid loss: 2.9696\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [479/3000]: 100%|██████████| 9/9 [00:00<00:00, 57.98it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [479/3000]: Train loss: 2.3926, Valid loss: 2.2828\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [480/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.73it/s, loss=2.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [480/3000]: Train loss: 2.4849, Valid loss: 3.1369\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [481/3000]: 100%|██████████| 9/9 [00:00<00:00, 26.66it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [481/3000]: Train loss: 3.1436, Valid loss: 4.4983\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [482/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.22it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [482/3000]: Train loss: 2.8134, Valid loss: 2.6143\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [483/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.59it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [483/3000]: Train loss: 2.7179, Valid loss: 3.0479\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [484/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.88it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [484/3000]: Train loss: 2.5529, Valid loss: 2.7505\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [485/3000]: 100%|██████████| 9/9 [00:00<00:00, 25.54it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [485/3000]: Train loss: 2.4631, Valid loss: 2.5675\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [486/3000]: 100%|██████████| 9/9 [00:00<00:00, 26.99it/s, loss=2.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [486/3000]: Train loss: 2.5650, Valid loss: 2.6683\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [487/3000]: 100%|██████████| 9/9 [00:00<00:00, 43.12it/s, loss=7.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [487/3000]: Train loss: 3.5135, Valid loss: 12.7937\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [488/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.77it/s, loss=4.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [488/3000]: Train loss: 5.8556, Valid loss: 2.8951\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [489/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.72it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [489/3000]: Train loss: 2.7042, Valid loss: 3.1004\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [490/3000]: 100%|██████████| 9/9 [00:00<00:00, 38.87it/s, loss=2.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [490/3000]: Train loss: 2.7922, Valid loss: 2.5991\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [491/3000]: 100%|██████████| 9/9 [00:00<00:00, 25.71it/s, loss=4.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [491/3000]: Train loss: 3.4452, Valid loss: 2.1881\n","Saving model with loss 2.188...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [492/3000]: 100%|██████████| 9/9 [00:00<00:00, 43.96it/s, loss=3.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [492/3000]: Train loss: 3.7142, Valid loss: 2.7302\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [493/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.31it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [493/3000]: Train loss: 2.4222, Valid loss: 3.7926\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [494/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.56it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [494/3000]: Train loss: 2.6205, Valid loss: 2.4950\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [495/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.63it/s, loss=3.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [495/3000]: Train loss: 2.9130, Valid loss: 2.6595\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [496/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.38it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [496/3000]: Train loss: 2.8835, Valid loss: 3.7974\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [497/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.95it/s, loss=2.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [497/3000]: Train loss: 2.9608, Valid loss: 3.0914\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [498/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.30it/s, loss=2.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [498/3000]: Train loss: 3.5106, Valid loss: 3.0821\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [499/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.83it/s, loss=1.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [499/3000]: Train loss: 2.6130, Valid loss: 2.3542\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [500/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.83it/s, loss=3.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [500/3000]: Train loss: 2.5831, Valid loss: 3.0960\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [501/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.91it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [501/3000]: Train loss: 2.7657, Valid loss: 2.0236\n","Saving model with loss 2.024...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [502/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.58it/s, loss=4.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [502/3000]: Train loss: 3.8087, Valid loss: 5.7615\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [503/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.96it/s, loss=4.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [503/3000]: Train loss: 3.6371, Valid loss: 3.7004\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [504/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.39it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [504/3000]: Train loss: 2.7272, Valid loss: 2.2424\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [505/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.25it/s, loss=2.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [505/3000]: Train loss: 2.3132, Valid loss: 5.1341\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [506/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.54it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [506/3000]: Train loss: 2.8177, Valid loss: 4.3139\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [507/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.64it/s, loss=3.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [507/3000]: Train loss: 2.8701, Valid loss: 3.0193\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [508/3000]: 100%|██████████| 9/9 [00:00<00:00, 31.25it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [508/3000]: Train loss: 2.5912, Valid loss: 2.6018\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [509/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.84it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [509/3000]: Train loss: 2.5063, Valid loss: 2.4309\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [510/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.03it/s, loss=2.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [510/3000]: Train loss: 2.3569, Valid loss: 3.1123\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [511/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.45it/s, loss=2.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [511/3000]: Train loss: 2.7835, Valid loss: 4.1474\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [512/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.02it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [512/3000]: Train loss: 2.5744, Valid loss: 2.4015\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [513/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.39it/s, loss=3.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [513/3000]: Train loss: 2.8057, Valid loss: 4.1827\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [514/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.02it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [514/3000]: Train loss: 3.5565, Valid loss: 3.7459\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [515/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.96it/s, loss=4.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [515/3000]: Train loss: 3.6713, Valid loss: 3.0093\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [516/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.20it/s, loss=4.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [516/3000]: Train loss: 3.8464, Valid loss: 2.5236\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [517/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.32it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [517/3000]: Train loss: 2.8090, Valid loss: 2.5821\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [518/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.00it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [518/3000]: Train loss: 3.1136, Valid loss: 2.4577\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [519/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.16it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [519/3000]: Train loss: 2.3502, Valid loss: 2.3480\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [520/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.09it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [520/3000]: Train loss: 2.6203, Valid loss: 3.1046\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [521/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.98it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [521/3000]: Train loss: 2.5967, Valid loss: 3.2642\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [522/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.06it/s, loss=3.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [522/3000]: Train loss: 2.7627, Valid loss: 4.5831\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [523/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.19it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [523/3000]: Train loss: 3.1940, Valid loss: 2.1843\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [524/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.91it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [524/3000]: Train loss: 2.3771, Valid loss: 6.0662\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [525/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.13it/s, loss=8.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [525/3000]: Train loss: 7.5726, Valid loss: 8.6743\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [526/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.49it/s, loss=7.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [526/3000]: Train loss: 6.0032, Valid loss: 5.8777\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [527/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.55it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [527/3000]: Train loss: 4.7861, Valid loss: 6.0426\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [528/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.31it/s, loss=3.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [528/3000]: Train loss: 3.8823, Valid loss: 4.5145\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [529/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.28it/s, loss=4.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [529/3000]: Train loss: 3.2913, Valid loss: 3.4748\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [530/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.79it/s, loss=2.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [530/3000]: Train loss: 3.1092, Valid loss: 3.0008\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [531/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.98it/s, loss=3.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [531/3000]: Train loss: 2.8346, Valid loss: 5.2005\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [532/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.08it/s, loss=2.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [532/3000]: Train loss: 3.5591, Valid loss: 2.2378\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [533/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.92it/s, loss=3.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [533/3000]: Train loss: 3.2358, Valid loss: 6.6763\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [534/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.38it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [534/3000]: Train loss: 3.2221, Valid loss: 3.3324\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [535/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.01it/s, loss=3.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [535/3000]: Train loss: 3.8104, Valid loss: 3.3713\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [536/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.84it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [536/3000]: Train loss: 2.6213, Valid loss: 3.4646\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [537/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.16it/s, loss=2.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [537/3000]: Train loss: 2.5302, Valid loss: 2.1455\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [538/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.15it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [538/3000]: Train loss: 2.5025, Valid loss: 2.1652\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [539/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.12it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [539/3000]: Train loss: 2.2519, Valid loss: 2.5045\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [540/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.00it/s, loss=2.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [540/3000]: Train loss: 2.5393, Valid loss: 2.7191\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [541/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.51it/s, loss=5.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [541/3000]: Train loss: 3.3325, Valid loss: 2.5974\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [542/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.38it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [542/3000]: Train loss: 3.1489, Valid loss: 3.1521\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [543/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.52it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [543/3000]: Train loss: 2.5822, Valid loss: 2.6455\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [544/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.99it/s, loss=3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [544/3000]: Train loss: 2.6063, Valid loss: 2.1542\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [545/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.28it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [545/3000]: Train loss: 2.4566, Valid loss: 2.9115\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [546/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.83it/s, loss=7.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [546/3000]: Train loss: 3.5478, Valid loss: 5.3384\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [547/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.13it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [547/3000]: Train loss: 4.8739, Valid loss: 4.2502\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [548/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.38it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [548/3000]: Train loss: 2.7967, Valid loss: 2.4756\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [549/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.83it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [549/3000]: Train loss: 2.5234, Valid loss: 2.5773\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [550/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.15it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [550/3000]: Train loss: 2.2962, Valid loss: 2.4551\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [551/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.09it/s, loss=2.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [551/3000]: Train loss: 2.8768, Valid loss: 2.4721\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [552/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.64it/s, loss=2.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [552/3000]: Train loss: 3.2098, Valid loss: 6.1867\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [553/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.77it/s, loss=2.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [553/3000]: Train loss: 3.4704, Valid loss: 2.2285\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [554/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.60it/s, loss=2.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [554/3000]: Train loss: 2.3139, Valid loss: 2.7732\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [555/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.03it/s, loss=3.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [555/3000]: Train loss: 2.7826, Valid loss: 2.7185\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [556/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.32it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [556/3000]: Train loss: 2.6312, Valid loss: 2.6677\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [557/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.85it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [557/3000]: Train loss: 2.4949, Valid loss: 2.6363\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [558/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.53it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [558/3000]: Train loss: 2.3865, Valid loss: 2.6815\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [559/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.03it/s, loss=3.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [559/3000]: Train loss: 2.6617, Valid loss: 5.8324\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [560/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.46it/s, loss=3.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [560/3000]: Train loss: 3.6686, Valid loss: 2.7987\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [561/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.62it/s, loss=2.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [561/3000]: Train loss: 2.6060, Valid loss: 3.6764\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [562/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.93it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [562/3000]: Train loss: 2.5196, Valid loss: 2.4097\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [563/3000]: 100%|██████████| 9/9 [00:00<00:00, 49.71it/s, loss=3.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [563/3000]: Train loss: 2.5637, Valid loss: 2.4547\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [564/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.56it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [564/3000]: Train loss: 2.3403, Valid loss: 2.4729\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [565/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.12it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [565/3000]: Train loss: 2.2940, Valid loss: 2.4682\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [566/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.95it/s, loss=4.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [566/3000]: Train loss: 3.3562, Valid loss: 2.4907\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [567/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.66it/s, loss=3.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [567/3000]: Train loss: 3.3504, Valid loss: 3.0001\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [568/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.66it/s, loss=3.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [568/3000]: Train loss: 2.8974, Valid loss: 6.3127\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [569/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.43it/s, loss=3.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [569/3000]: Train loss: 3.2235, Valid loss: 2.5907\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [570/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.92it/s, loss=3.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [570/3000]: Train loss: 3.5432, Valid loss: 5.4796\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [571/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.86it/s, loss=5.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [571/3000]: Train loss: 4.5984, Valid loss: 4.9210\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [572/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.31it/s, loss=4.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [572/3000]: Train loss: 3.9686, Valid loss: 2.6539\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [573/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.01it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [573/3000]: Train loss: 2.8949, Valid loss: 4.3502\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [574/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.17it/s, loss=2.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [574/3000]: Train loss: 3.1320, Valid loss: 3.3334\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [575/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.80it/s, loss=4.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [575/3000]: Train loss: 2.9265, Valid loss: 2.5418\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [576/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.31it/s, loss=3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [576/3000]: Train loss: 2.9213, Valid loss: 2.6308\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [577/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.53it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [577/3000]: Train loss: 2.6463, Valid loss: 2.3805\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [578/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.12it/s, loss=2.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [578/3000]: Train loss: 2.3612, Valid loss: 3.9643\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [579/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.85it/s, loss=3.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [579/3000]: Train loss: 3.3746, Valid loss: 3.3926\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [580/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.20it/s, loss=3.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [580/3000]: Train loss: 2.9425, Valid loss: 2.4442\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [581/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.42it/s, loss=2.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [581/3000]: Train loss: 2.5113, Valid loss: 3.1970\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [582/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.96it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [582/3000]: Train loss: 2.5468, Valid loss: 2.5142\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [583/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.49it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [583/3000]: Train loss: 2.2659, Valid loss: 2.1117\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [584/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.77it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [584/3000]: Train loss: 2.4385, Valid loss: 6.9489\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [585/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.17it/s, loss=4.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [585/3000]: Train loss: 4.5328, Valid loss: 2.9510\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [586/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.17it/s, loss=3.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [586/3000]: Train loss: 4.0889, Valid loss: 3.8582\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [587/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.42it/s, loss=5.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [587/3000]: Train loss: 3.7466, Valid loss: 3.5808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [588/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.04it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [588/3000]: Train loss: 2.6502, Valid loss: 2.6529\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [589/3000]: 100%|██████████| 9/9 [00:00<00:00, 27.16it/s, loss=2.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [589/3000]: Train loss: 2.4570, Valid loss: 2.4066\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [590/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.55it/s, loss=2.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [590/3000]: Train loss: 2.5934, Valid loss: 2.2669\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [591/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.74it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [591/3000]: Train loss: 2.3520, Valid loss: 2.8885\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [592/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.04it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [592/3000]: Train loss: 2.2327, Valid loss: 2.4426\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [593/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.68it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [593/3000]: Train loss: 2.3127, Valid loss: 2.0617\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [594/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.27it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [594/3000]: Train loss: 2.1726, Valid loss: 2.6183\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [595/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.47it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [595/3000]: Train loss: 2.2187, Valid loss: 2.1861\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [596/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.95it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [596/3000]: Train loss: 2.5373, Valid loss: 3.1444\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [597/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.71it/s, loss=4.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [597/3000]: Train loss: 3.9493, Valid loss: 3.1783\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [598/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.56it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [598/3000]: Train loss: 4.6627, Valid loss: 4.4816\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [599/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.84it/s, loss=6.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [599/3000]: Train loss: 3.5566, Valid loss: 3.4652\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [600/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.86it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [600/3000]: Train loss: 2.8590, Valid loss: 3.9248\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [601/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.95it/s, loss=3.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [601/3000]: Train loss: 3.5480, Valid loss: 3.7100\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [602/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.32it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [602/3000]: Train loss: 2.5348, Valid loss: 3.0981\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [603/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.43it/s, loss=3.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [603/3000]: Train loss: 2.4395, Valid loss: 2.5912\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [604/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.07it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [604/3000]: Train loss: 2.4718, Valid loss: 2.1511\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [605/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.03it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [605/3000]: Train loss: 2.9767, Valid loss: 2.4476\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [606/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.07it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [606/3000]: Train loss: 2.2655, Valid loss: 2.9852\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [607/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.24it/s, loss=2.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [607/3000]: Train loss: 2.1491, Valid loss: 2.3984\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [608/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.65it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [608/3000]: Train loss: 2.2377, Valid loss: 2.1177\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [609/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.49it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [609/3000]: Train loss: 2.3383, Valid loss: 2.7523\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [610/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.39it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [610/3000]: Train loss: 2.5915, Valid loss: 2.5009\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [611/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.16it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [611/3000]: Train loss: 2.2108, Valid loss: 2.9372\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [612/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.82it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [612/3000]: Train loss: 2.4580, Valid loss: 2.4541\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [613/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.51it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [613/3000]: Train loss: 2.8888, Valid loss: 7.5345\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [614/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.86it/s, loss=3.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [614/3000]: Train loss: 4.1837, Valid loss: 3.5008\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [615/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.42it/s, loss=2.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [615/3000]: Train loss: 3.3763, Valid loss: 5.1557\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [616/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.06it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [616/3000]: Train loss: 2.6360, Valid loss: 2.5353\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [617/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.44it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [617/3000]: Train loss: 2.3854, Valid loss: 2.4468\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [618/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.65it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [618/3000]: Train loss: 2.1955, Valid loss: 2.1048\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [619/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.59it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [619/3000]: Train loss: 2.3510, Valid loss: 4.2053\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [620/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.11it/s, loss=3.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [620/3000]: Train loss: 2.9306, Valid loss: 2.8500\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [621/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.58it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [621/3000]: Train loss: 2.4428, Valid loss: 2.7754\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [622/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.80it/s, loss=3.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [622/3000]: Train loss: 2.4533, Valid loss: 2.2321\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [623/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.58it/s, loss=2.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [623/3000]: Train loss: 2.4791, Valid loss: 2.3249\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [624/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.71it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [624/3000]: Train loss: 2.4776, Valid loss: 3.2686\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [625/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.37it/s, loss=3.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [625/3000]: Train loss: 3.4760, Valid loss: 3.8594\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [626/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.01it/s, loss=2.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [626/3000]: Train loss: 3.1287, Valid loss: 5.7027\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [627/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.88it/s, loss=6.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [627/3000]: Train loss: 4.5345, Valid loss: 4.9285\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [628/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.94it/s, loss=5.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [628/3000]: Train loss: 4.9189, Valid loss: 2.6321\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [629/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.63it/s, loss=6.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [629/3000]: Train loss: 4.2030, Valid loss: 3.6118\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [630/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.72it/s, loss=2.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [630/3000]: Train loss: 3.3485, Valid loss: 2.2453\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [631/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.23it/s, loss=3.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [631/3000]: Train loss: 3.2558, Valid loss: 4.0259\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [632/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.07it/s, loss=2.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [632/3000]: Train loss: 2.9990, Valid loss: 2.9340\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [633/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.05it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [633/3000]: Train loss: 2.9245, Valid loss: 2.4144\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [634/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.51it/s, loss=3.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [634/3000]: Train loss: 2.4658, Valid loss: 2.7822\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [635/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.74it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [635/3000]: Train loss: 2.5455, Valid loss: 3.9560\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [636/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.46it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [636/3000]: Train loss: 2.7745, Valid loss: 2.8479\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [637/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.33it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [637/3000]: Train loss: 2.3338, Valid loss: 2.8540\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [638/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.46it/s, loss=3.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [638/3000]: Train loss: 2.3138, Valid loss: 2.2989\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [639/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.98it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [639/3000]: Train loss: 2.4318, Valid loss: 2.7092\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [640/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.97it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [640/3000]: Train loss: 2.6786, Valid loss: 2.5801\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [641/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.49it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [641/3000]: Train loss: 2.4858, Valid loss: 3.2657\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [642/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.89it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [642/3000]: Train loss: 2.8626, Valid loss: 3.5528\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [643/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.58it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [643/3000]: Train loss: 2.4289, Valid loss: 2.4374\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [644/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.19it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [644/3000]: Train loss: 2.2349, Valid loss: 2.0281\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [645/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.61it/s, loss=3.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [645/3000]: Train loss: 2.3572, Valid loss: 2.1921\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [646/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.65it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [646/3000]: Train loss: 2.2329, Valid loss: 3.0051\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [647/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.91it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [647/3000]: Train loss: 2.2845, Valid loss: 3.1970\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [648/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.90it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [648/3000]: Train loss: 2.3422, Valid loss: 2.3759\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [649/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.49it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [649/3000]: Train loss: 2.1459, Valid loss: 3.2756\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [650/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.93it/s, loss=3.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [650/3000]: Train loss: 2.6184, Valid loss: 4.9956\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [651/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.84it/s, loss=2.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [651/3000]: Train loss: 3.4151, Valid loss: 2.5844\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [652/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.40it/s, loss=3.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [652/3000]: Train loss: 3.0992, Valid loss: 3.8989\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [653/3000]: 100%|██████████| 9/9 [00:00<00:00, 43.80it/s, loss=4.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [653/3000]: Train loss: 3.5218, Valid loss: 3.3696\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [654/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.36it/s, loss=3.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [654/3000]: Train loss: 3.6657, Valid loss: 5.3648\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [655/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.27it/s, loss=1.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [655/3000]: Train loss: 3.7884, Valid loss: 3.8208\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [656/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.02it/s, loss=3.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [656/3000]: Train loss: 3.1191, Valid loss: 2.4265\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [657/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.24it/s, loss=3.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [657/3000]: Train loss: 3.4353, Valid loss: 4.2409\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [658/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.03it/s, loss=3.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [658/3000]: Train loss: 3.1164, Valid loss: 2.8399\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [659/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.63it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [659/3000]: Train loss: 2.4971, Valid loss: 3.5639\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [660/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.29it/s, loss=2.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [660/3000]: Train loss: 2.6930, Valid loss: 3.1295\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [661/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.18it/s, loss=2.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [661/3000]: Train loss: 2.7106, Valid loss: 3.9444\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [662/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.26it/s, loss=3.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [662/3000]: Train loss: 2.8945, Valid loss: 2.2209\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [663/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.39it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [663/3000]: Train loss: 2.4954, Valid loss: 2.6484\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [664/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.78it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [664/3000]: Train loss: 2.5066, Valid loss: 2.1231\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [665/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.85it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [665/3000]: Train loss: 2.8528, Valid loss: 3.0324\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [666/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.99it/s, loss=2.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [666/3000]: Train loss: 2.3831, Valid loss: 2.5688\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [667/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.59it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [667/3000]: Train loss: 2.2332, Valid loss: 2.6069\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [668/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.69it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [668/3000]: Train loss: 2.3604, Valid loss: 2.9896\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [669/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.63it/s, loss=2.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [669/3000]: Train loss: 2.4338, Valid loss: 3.2115\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [670/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.14it/s, loss=2.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [670/3000]: Train loss: 2.1930, Valid loss: 2.4128\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [671/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.77it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [671/3000]: Train loss: 2.1332, Valid loss: 2.3929\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [672/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.52it/s, loss=2.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [672/3000]: Train loss: 2.1169, Valid loss: 2.2621\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [673/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.11it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [673/3000]: Train loss: 2.3060, Valid loss: 3.5425\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [674/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.42it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [674/3000]: Train loss: 2.2514, Valid loss: 2.7882\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [675/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.82it/s, loss=2.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [675/3000]: Train loss: 2.4386, Valid loss: 2.0191\n","Saving model with loss 2.019...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [676/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.88it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [676/3000]: Train loss: 2.0688, Valid loss: 2.2273\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [677/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.86it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [677/3000]: Train loss: 2.1311, Valid loss: 2.0712\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [678/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.17it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [678/3000]: Train loss: 2.1467, Valid loss: 2.2294\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [679/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.28it/s, loss=3.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [679/3000]: Train loss: 2.6385, Valid loss: 2.4866\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [680/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.40it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [680/3000]: Train loss: 2.8597, Valid loss: 2.4719\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [681/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.77it/s, loss=3.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [681/3000]: Train loss: 2.6514, Valid loss: 2.4151\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [682/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.87it/s, loss=4.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [682/3000]: Train loss: 2.3955, Valid loss: 7.8327\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [683/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.71it/s, loss=2.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [683/3000]: Train loss: 6.1089, Valid loss: 7.4767\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [684/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.48it/s, loss=2.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [684/3000]: Train loss: 4.2867, Valid loss: 5.8076\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [685/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.02it/s, loss=4.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [685/3000]: Train loss: 4.0257, Valid loss: 2.5738\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [686/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.13it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [686/3000]: Train loss: 2.5146, Valid loss: 2.6760\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [687/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.51it/s, loss=3.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [687/3000]: Train loss: 2.6958, Valid loss: 2.2343\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [688/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.47it/s, loss=2.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [688/3000]: Train loss: 3.4447, Valid loss: 5.9020\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [689/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.18it/s, loss=3.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [689/3000]: Train loss: 3.6762, Valid loss: 2.5242\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [690/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.71it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [690/3000]: Train loss: 2.5212, Valid loss: 2.4753\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [691/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.56it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [691/3000]: Train loss: 2.4130, Valid loss: 2.8838\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [692/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.28it/s, loss=2.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [692/3000]: Train loss: 2.2380, Valid loss: 2.2883\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [693/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.55it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [693/3000]: Train loss: 2.0583, Valid loss: 2.6045\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [694/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.44it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [694/3000]: Train loss: 2.1053, Valid loss: 2.6360\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [695/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.75it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [695/3000]: Train loss: 2.2185, Valid loss: 2.8083\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [696/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.46it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [696/3000]: Train loss: 2.6080, Valid loss: 2.9089\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [697/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.72it/s, loss=2.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [697/3000]: Train loss: 2.3129, Valid loss: 3.2569\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [698/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.14it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [698/3000]: Train loss: 2.3242, Valid loss: 2.6769\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [699/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.60it/s, loss=3.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [699/3000]: Train loss: 2.4686, Valid loss: 2.5527\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [700/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.75it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [700/3000]: Train loss: 2.5123, Valid loss: 4.3454\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [701/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.71it/s, loss=2.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [701/3000]: Train loss: 2.8854, Valid loss: 2.8889\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [702/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.85it/s, loss=3.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [702/3000]: Train loss: 2.9625, Valid loss: 2.9299\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [703/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.05it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [703/3000]: Train loss: 2.6883, Valid loss: 2.8693\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [704/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.85it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [704/3000]: Train loss: 2.3183, Valid loss: 3.3897\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [705/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.88it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [705/3000]: Train loss: 2.4742, Valid loss: 3.4635\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [706/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.96it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [706/3000]: Train loss: 3.2832, Valid loss: 3.5180\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [707/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.49it/s, loss=7.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [707/3000]: Train loss: 3.3976, Valid loss: 5.3223\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [708/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.75it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [708/3000]: Train loss: 3.5228, Valid loss: 3.0592\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [709/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.96it/s, loss=2.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [709/3000]: Train loss: 2.4990, Valid loss: 2.9356\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [710/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.67it/s, loss=3.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [710/3000]: Train loss: 3.0601, Valid loss: 4.0160\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [711/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.15it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [711/3000]: Train loss: 2.8290, Valid loss: 5.0934\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [712/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.14it/s, loss=5.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [712/3000]: Train loss: 4.4952, Valid loss: 2.9255\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [713/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.87it/s, loss=7.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [713/3000]: Train loss: 4.6889, Valid loss: 3.4537\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [714/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.98it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [714/3000]: Train loss: 2.8917, Valid loss: 2.3618\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [715/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.62it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [715/3000]: Train loss: 2.1407, Valid loss: 2.9220\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [716/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.52it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [716/3000]: Train loss: 2.3841, Valid loss: 2.5192\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [717/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.59it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [717/3000]: Train loss: 2.6739, Valid loss: 2.1183\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [718/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.42it/s, loss=2.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [718/3000]: Train loss: 2.4462, Valid loss: 3.0077\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [719/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.51it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [719/3000]: Train loss: 2.5019, Valid loss: 2.9567\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [720/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.94it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [720/3000]: Train loss: 2.2752, Valid loss: 2.2882\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [721/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.11it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [721/3000]: Train loss: 2.4381, Valid loss: 2.3435\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [722/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.47it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [722/3000]: Train loss: 2.3125, Valid loss: 3.2713\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [723/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.11it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [723/3000]: Train loss: 2.4214, Valid loss: 2.4491\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [724/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.38it/s, loss=3.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [724/3000]: Train loss: 3.2532, Valid loss: 3.8454\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [725/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.90it/s, loss=3.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [725/3000]: Train loss: 2.9803, Valid loss: 3.4384\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [726/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.72it/s, loss=3.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [726/3000]: Train loss: 2.8173, Valid loss: 2.4218\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [727/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.18it/s, loss=5.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [727/3000]: Train loss: 3.1136, Valid loss: 7.2313\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [728/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.98it/s, loss=4.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [728/3000]: Train loss: 4.7185, Valid loss: 2.8864\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [729/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.24it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [729/3000]: Train loss: 2.7232, Valid loss: 3.0081\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [730/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.75it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [730/3000]: Train loss: 2.5186, Valid loss: 4.2936\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [731/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.97it/s, loss=5.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [731/3000]: Train loss: 3.4209, Valid loss: 3.2657\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [732/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.95it/s, loss=2.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [732/3000]: Train loss: 3.3279, Valid loss: 2.1338\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [733/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.23it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [733/3000]: Train loss: 2.5016, Valid loss: 3.2329\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [734/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.23it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [734/3000]: Train loss: 2.1969, Valid loss: 3.1147\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [735/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.11it/s, loss=5.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [735/3000]: Train loss: 3.4103, Valid loss: 2.4432\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [736/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.85it/s, loss=3.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [736/3000]: Train loss: 2.6897, Valid loss: 3.3306\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [737/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.55it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [737/3000]: Train loss: 2.2550, Valid loss: 2.2783\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [738/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.18it/s, loss=2.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [738/3000]: Train loss: 2.2040, Valid loss: 2.0431\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [739/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.17it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [739/3000]: Train loss: 2.1500, Valid loss: 3.1045\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [740/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.07it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [740/3000]: Train loss: 2.4574, Valid loss: 2.7667\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [741/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.72it/s, loss=2.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [741/3000]: Train loss: 2.7564, Valid loss: 4.1795\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [742/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.03it/s, loss=3.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [742/3000]: Train loss: 2.8109, Valid loss: 4.3256\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [743/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.35it/s, loss=3.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [743/3000]: Train loss: 2.8118, Valid loss: 2.2945\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [744/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.13it/s, loss=1.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [744/3000]: Train loss: 2.0774, Valid loss: 2.8815\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [745/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.62it/s, loss=2.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [745/3000]: Train loss: 2.6405, Valid loss: 2.5757\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [746/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.20it/s, loss=2.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [746/3000]: Train loss: 2.6401, Valid loss: 4.1651\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [747/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.74it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [747/3000]: Train loss: 2.5667, Valid loss: 2.2661\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [748/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.40it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [748/3000]: Train loss: 2.0754, Valid loss: 2.2789\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [749/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.14it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [749/3000]: Train loss: 2.0704, Valid loss: 2.1094\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [750/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.80it/s, loss=2.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [750/3000]: Train loss: 2.1733, Valid loss: 2.2499\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [751/3000]: 100%|██████████| 9/9 [00:00<00:00, 28.69it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [751/3000]: Train loss: 2.3863, Valid loss: 2.7968\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [752/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.19it/s, loss=2.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [752/3000]: Train loss: 2.2728, Valid loss: 2.6953\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [753/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.21it/s, loss=2.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [753/3000]: Train loss: 2.2409, Valid loss: 2.3074\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [754/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.28it/s, loss=2.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [754/3000]: Train loss: 2.2006, Valid loss: 2.4795\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [755/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.38it/s, loss=2.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [755/3000]: Train loss: 2.1878, Valid loss: 4.3938\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [756/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.99it/s, loss=3.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [756/3000]: Train loss: 2.9412, Valid loss: 2.2368\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [757/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.55it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [757/3000]: Train loss: 3.0926, Valid loss: 2.0056\n","Saving model with loss 2.006...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [758/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.58it/s, loss=2.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [758/3000]: Train loss: 2.5417, Valid loss: 4.1278\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [759/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.55it/s, loss=3.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [759/3000]: Train loss: 2.8302, Valid loss: 3.1804\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [760/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.29it/s, loss=4.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [760/3000]: Train loss: 3.5235, Valid loss: 3.1352\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [761/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.55it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [761/3000]: Train loss: 2.6848, Valid loss: 2.8343\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [762/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.52it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [762/3000]: Train loss: 2.1252, Valid loss: 2.5088\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [763/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.46it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [763/3000]: Train loss: 2.2089, Valid loss: 3.5312\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [764/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.73it/s, loss=3.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [764/3000]: Train loss: 2.6971, Valid loss: 2.9652\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [765/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.31it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [765/3000]: Train loss: 2.4587, Valid loss: 2.3187\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [766/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.92it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [766/3000]: Train loss: 2.0723, Valid loss: 2.0449\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [767/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.24it/s, loss=2.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [767/3000]: Train loss: 2.2693, Valid loss: 2.3833\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [768/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.13it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [768/3000]: Train loss: 2.2991, Valid loss: 4.3948\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [769/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.56it/s, loss=4.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [769/3000]: Train loss: 3.0139, Valid loss: 2.3133\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [770/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.72it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [770/3000]: Train loss: 2.6722, Valid loss: 4.0894\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [771/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.27it/s, loss=3.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [771/3000]: Train loss: 2.9648, Valid loss: 2.3354\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [772/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.57it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [772/3000]: Train loss: 2.2789, Valid loss: 2.5318\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [773/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.50it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [773/3000]: Train loss: 2.1787, Valid loss: 2.2302\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [774/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.16it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [774/3000]: Train loss: 2.1616, Valid loss: 2.8262\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [775/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.79it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [775/3000]: Train loss: 2.2408, Valid loss: 2.9589\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [776/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.55it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [776/3000]: Train loss: 2.1131, Valid loss: 2.0886\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [777/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.00it/s, loss=2.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [777/3000]: Train loss: 2.0725, Valid loss: 2.0656\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [778/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.38it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [778/3000]: Train loss: 2.1800, Valid loss: 2.1977\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [779/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.25it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [779/3000]: Train loss: 2.3609, Valid loss: 2.5520\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [780/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.98it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [780/3000]: Train loss: 2.2054, Valid loss: 2.2317\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [781/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.76it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [781/3000]: Train loss: 2.4600, Valid loss: 3.5421\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [782/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.59it/s, loss=3.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [782/3000]: Train loss: 4.2549, Valid loss: 2.2227\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [783/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.41it/s, loss=2.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [783/3000]: Train loss: 2.9930, Valid loss: 5.8177\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [784/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.79it/s, loss=4.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [784/3000]: Train loss: 4.1692, Valid loss: 2.2403\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [785/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.59it/s, loss=4.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [785/3000]: Train loss: 3.1116, Valid loss: 3.3281\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [786/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.26it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [786/3000]: Train loss: 3.4126, Valid loss: 4.7294\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [787/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.84it/s, loss=3.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [787/3000]: Train loss: 2.9617, Valid loss: 2.7887\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [788/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.79it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [788/3000]: Train loss: 2.5833, Valid loss: 2.3164\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [789/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.86it/s, loss=1.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [789/3000]: Train loss: 2.5098, Valid loss: 3.2451\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [790/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.61it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [790/3000]: Train loss: 2.3870, Valid loss: 2.3456\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [791/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.86it/s, loss=3.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [791/3000]: Train loss: 2.7319, Valid loss: 5.5246\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [792/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.51it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [792/3000]: Train loss: 3.8125, Valid loss: 3.5039\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [793/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.34it/s, loss=2.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [793/3000]: Train loss: 2.6162, Valid loss: 2.4483\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [794/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.93it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [794/3000]: Train loss: 2.2050, Valid loss: 2.8519\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [795/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.77it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [795/3000]: Train loss: 2.3792, Valid loss: 2.4993\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [796/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.81it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [796/3000]: Train loss: 2.3069, Valid loss: 2.5252\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [797/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.61it/s, loss=1.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [797/3000]: Train loss: 2.1116, Valid loss: 2.5650\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [798/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.47it/s, loss=2.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [798/3000]: Train loss: 2.1347, Valid loss: 2.3246\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [799/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.24it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [799/3000]: Train loss: 2.1265, Valid loss: 1.9271\n","Saving model with loss 1.927...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [800/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.78it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [800/3000]: Train loss: 2.0805, Valid loss: 2.5318\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [801/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.64it/s, loss=2.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [801/3000]: Train loss: 2.3856, Valid loss: 2.4075\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [802/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.39it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [802/3000]: Train loss: 2.7554, Valid loss: 4.9569\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [803/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.24it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [803/3000]: Train loss: 2.7603, Valid loss: 2.5180\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [804/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.59it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [804/3000]: Train loss: 2.2372, Valid loss: 2.3064\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [805/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.90it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [805/3000]: Train loss: 2.1144, Valid loss: 2.1779\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [806/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.35it/s, loss=3.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [806/3000]: Train loss: 2.3426, Valid loss: 2.6774\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [807/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.42it/s, loss=1.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [807/3000]: Train loss: 2.9800, Valid loss: 3.2533\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [808/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.05it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [808/3000]: Train loss: 2.2229, Valid loss: 1.9915\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [809/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.56it/s, loss=1.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [809/3000]: Train loss: 2.2037, Valid loss: 2.2927\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [810/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.66it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [810/3000]: Train loss: 2.1896, Valid loss: 2.3471\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [811/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.28it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [811/3000]: Train loss: 2.0300, Valid loss: 2.4161\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [812/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.22it/s, loss=2.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [812/3000]: Train loss: 2.1873, Valid loss: 2.7962\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [813/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.24it/s, loss=2.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [813/3000]: Train loss: 2.5141, Valid loss: 2.4116\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [814/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.85it/s, loss=2.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [814/3000]: Train loss: 3.2306, Valid loss: 3.1286\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [815/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.43it/s, loss=2.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [815/3000]: Train loss: 2.7566, Valid loss: 3.7469\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [816/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.54it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [816/3000]: Train loss: 2.2489, Valid loss: 2.3342\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [817/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.54it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [817/3000]: Train loss: 2.1012, Valid loss: 2.0867\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [818/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.01it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [818/3000]: Train loss: 1.9881, Valid loss: 2.5827\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [819/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.03it/s, loss=2.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [819/3000]: Train loss: 2.0257, Valid loss: 3.3691\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [820/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.93it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [820/3000]: Train loss: 2.3318, Valid loss: 2.3723\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [821/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.21it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [821/3000]: Train loss: 2.2691, Valid loss: 2.5148\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [822/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.20it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [822/3000]: Train loss: 2.1552, Valid loss: 2.7301\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [823/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.78it/s, loss=3.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [823/3000]: Train loss: 2.5324, Valid loss: 3.6366\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [824/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.54it/s, loss=2.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [824/3000]: Train loss: 2.3406, Valid loss: 2.1745\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [825/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.83it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [825/3000]: Train loss: 2.2964, Valid loss: 2.3780\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [826/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.79it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [826/3000]: Train loss: 1.9988, Valid loss: 2.5302\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [827/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.02it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [827/3000]: Train loss: 2.0729, Valid loss: 2.2791\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [828/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.91it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [828/3000]: Train loss: 2.2773, Valid loss: 3.5011\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [829/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.86it/s, loss=3.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [829/3000]: Train loss: 3.0928, Valid loss: 6.6994\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [830/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.37it/s, loss=3.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [830/3000]: Train loss: 3.3702, Valid loss: 3.3844\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [831/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.98it/s, loss=2.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [831/3000]: Train loss: 2.5378, Valid loss: 2.4294\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [832/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.09it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [832/3000]: Train loss: 2.1700, Valid loss: 2.3347\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [833/3000]: 100%|██████████| 9/9 [00:00<00:00, 27.59it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [833/3000]: Train loss: 2.1401, Valid loss: 3.3164\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [834/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.28it/s, loss=3.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [834/3000]: Train loss: 3.0614, Valid loss: 2.4845\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [835/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.43it/s, loss=1.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [835/3000]: Train loss: 2.7310, Valid loss: 3.0333\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [836/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.94it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [836/3000]: Train loss: 2.1159, Valid loss: 2.9415\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [837/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.04it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [837/3000]: Train loss: 2.1596, Valid loss: 2.1337\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [838/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.44it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [838/3000]: Train loss: 2.1362, Valid loss: 2.5503\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [839/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.58it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [839/3000]: Train loss: 1.9749, Valid loss: 1.9835\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [840/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.12it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [840/3000]: Train loss: 2.4268, Valid loss: 3.6997\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [841/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.10it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [841/3000]: Train loss: 2.4254, Valid loss: 3.8676\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [842/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.83it/s, loss=3.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [842/3000]: Train loss: 3.4052, Valid loss: 3.4764\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [843/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.79it/s, loss=2.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [843/3000]: Train loss: 2.4428, Valid loss: 2.2842\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [844/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.39it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [844/3000]: Train loss: 2.3357, Valid loss: 2.7472\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [845/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.20it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [845/3000]: Train loss: 2.1522, Valid loss: 2.7681\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [846/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.94it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [846/3000]: Train loss: 2.4198, Valid loss: 2.4574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [847/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.41it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [847/3000]: Train loss: 2.1592, Valid loss: 2.9632\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [848/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.71it/s, loss=3.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [848/3000]: Train loss: 2.7779, Valid loss: 6.5302\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [849/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.79it/s, loss=4.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [849/3000]: Train loss: 4.2970, Valid loss: 5.5490\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [850/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.24it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [850/3000]: Train loss: 3.1741, Valid loss: 2.8981\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [851/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.47it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [851/3000]: Train loss: 2.3556, Valid loss: 4.6231\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [852/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.13it/s, loss=2.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [852/3000]: Train loss: 3.4664, Valid loss: 3.2766\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [853/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.41it/s, loss=3.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [853/3000]: Train loss: 3.1204, Valid loss: 3.0106\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [854/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.84it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [854/3000]: Train loss: 2.5248, Valid loss: 2.6808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [855/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.49it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [855/3000]: Train loss: 2.6559, Valid loss: 3.2108\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [856/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.79it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [856/3000]: Train loss: 2.4069, Valid loss: 2.4954\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [857/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.72it/s, loss=1.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [857/3000]: Train loss: 2.0790, Valid loss: 2.0174\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [858/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.08it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [858/3000]: Train loss: 2.1023, Valid loss: 2.4891\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [859/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.44it/s, loss=4.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [859/3000]: Train loss: 2.6051, Valid loss: 2.5995\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [860/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.32it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [860/3000]: Train loss: 2.4962, Valid loss: 1.9409\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [861/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.50it/s, loss=1.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [861/3000]: Train loss: 1.9669, Valid loss: 2.6938\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [862/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.15it/s, loss=3.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [862/3000]: Train loss: 2.5273, Valid loss: 2.5854\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [863/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.00it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [863/3000]: Train loss: 2.6167, Valid loss: 3.0765\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [864/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.45it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [864/3000]: Train loss: 2.6654, Valid loss: 2.4279\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [865/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.44it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [865/3000]: Train loss: 2.1728, Valid loss: 2.4906\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [866/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.32it/s, loss=2.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [866/3000]: Train loss: 2.1836, Valid loss: 2.5089\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [867/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.14it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [867/3000]: Train loss: 2.2711, Valid loss: 2.5775\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [868/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.84it/s, loss=3.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [868/3000]: Train loss: 2.4872, Valid loss: 3.2266\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [869/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.33it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [869/3000]: Train loss: 2.5476, Valid loss: 3.0413\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [870/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.01it/s, loss=3.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [870/3000]: Train loss: 2.8294, Valid loss: 2.4574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [871/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.66it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [871/3000]: Train loss: 2.7648, Valid loss: 3.7627\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [872/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.39it/s, loss=2.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [872/3000]: Train loss: 2.6523, Valid loss: 2.1148\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [873/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.61it/s, loss=2.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [873/3000]: Train loss: 2.3125, Valid loss: 4.1013\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [874/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.72it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [874/3000]: Train loss: 2.7305, Valid loss: 2.1188\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [875/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.50it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [875/3000]: Train loss: 2.0141, Valid loss: 2.0757\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [876/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.99it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [876/3000]: Train loss: 2.1243, Valid loss: 2.1909\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [877/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.34it/s, loss=1.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [877/3000]: Train loss: 1.9596, Valid loss: 2.6916\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [878/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.82it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [878/3000]: Train loss: 2.0430, Valid loss: 2.7461\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [879/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.71it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [879/3000]: Train loss: 2.1890, Valid loss: 2.3214\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [880/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.66it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [880/3000]: Train loss: 2.2604, Valid loss: 2.2821\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [881/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.81it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [881/3000]: Train loss: 1.9983, Valid loss: 2.4321\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [882/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.99it/s, loss=2.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [882/3000]: Train loss: 2.2390, Valid loss: 1.8994\n","Saving model with loss 1.899...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [883/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.27it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [883/3000]: Train loss: 2.0119, Valid loss: 3.3893\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [884/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.08it/s, loss=4.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [884/3000]: Train loss: 3.2144, Valid loss: 2.5633\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [885/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.42it/s, loss=3.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [885/3000]: Train loss: 2.7645, Valid loss: 2.9300\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [886/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.85it/s, loss=1.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [886/3000]: Train loss: 2.5876, Valid loss: 2.6069\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [887/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.47it/s, loss=2.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [887/3000]: Train loss: 2.2316, Valid loss: 2.2555\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [888/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.21it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [888/3000]: Train loss: 2.3320, Valid loss: 3.9101\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [889/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.97it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [889/3000]: Train loss: 2.9474, Valid loss: 4.0524\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [890/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.96it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [890/3000]: Train loss: 2.6510, Valid loss: 1.8655\n","Saving model with loss 1.866...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [891/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.60it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [891/3000]: Train loss: 2.1388, Valid loss: 2.7709\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [892/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.43it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [892/3000]: Train loss: 2.3449, Valid loss: 2.3431\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [893/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.22it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [893/3000]: Train loss: 2.0594, Valid loss: 2.2145\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [894/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.51it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [894/3000]: Train loss: 2.2061, Valid loss: 3.6788\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [895/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.50it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [895/3000]: Train loss: 2.3682, Valid loss: 3.0259\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [896/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.11it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [896/3000]: Train loss: 2.3997, Valid loss: 2.1155\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [897/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.37it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [897/3000]: Train loss: 2.4067, Valid loss: 2.3754\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [898/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.87it/s, loss=2.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [898/3000]: Train loss: 2.2324, Valid loss: 2.5542\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [899/3000]: 100%|██████████| 9/9 [00:00<00:00, 62.56it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [899/3000]: Train loss: 2.3801, Valid loss: 2.6868\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [900/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.00it/s, loss=2.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [900/3000]: Train loss: 2.2491, Valid loss: 2.3987\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [901/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.00it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [901/3000]: Train loss: 2.0699, Valid loss: 2.2695\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [902/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.38it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [902/3000]: Train loss: 2.0134, Valid loss: 2.2696\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [903/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.83it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [903/3000]: Train loss: 2.0136, Valid loss: 2.0623\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [904/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.63it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [904/3000]: Train loss: 2.1568, Valid loss: 2.1390\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [905/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.56it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [905/3000]: Train loss: 2.1386, Valid loss: 3.1726\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [906/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.29it/s, loss=2.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [906/3000]: Train loss: 2.0941, Valid loss: 2.9118\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [907/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.77it/s, loss=3.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [907/3000]: Train loss: 2.2723, Valid loss: 3.0735\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [908/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.03it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [908/3000]: Train loss: 2.3947, Valid loss: 2.3762\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [909/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.07it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [909/3000]: Train loss: 2.1071, Valid loss: 2.2922\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [910/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.39it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [910/3000]: Train loss: 2.4909, Valid loss: 3.4064\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [911/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.47it/s, loss=2.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [911/3000]: Train loss: 2.6505, Valid loss: 2.3406\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [912/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.45it/s, loss=4.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [912/3000]: Train loss: 2.9082, Valid loss: 3.0724\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [913/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.44it/s, loss=2.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [913/3000]: Train loss: 2.9384, Valid loss: 3.7632\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [914/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.27it/s, loss=4.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [914/3000]: Train loss: 3.5041, Valid loss: 3.3147\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [915/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.49it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [915/3000]: Train loss: 2.6498, Valid loss: 5.4848\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [916/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.67it/s, loss=3.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [916/3000]: Train loss: 3.5499, Valid loss: 2.6835\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [917/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.52it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [917/3000]: Train loss: 3.0441, Valid loss: 3.2629\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [918/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.69it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [918/3000]: Train loss: 2.0758, Valid loss: 1.9692\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [919/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.23it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [919/3000]: Train loss: 2.2139, Valid loss: 2.9148\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [920/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.65it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [920/3000]: Train loss: 2.3617, Valid loss: 2.1199\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [921/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.90it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [921/3000]: Train loss: 2.0094, Valid loss: 2.2146\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [922/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.45it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [922/3000]: Train loss: 2.0271, Valid loss: 2.0514\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [923/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.21it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [923/3000]: Train loss: 2.7538, Valid loss: 4.1808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [924/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.20it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [924/3000]: Train loss: 2.4229, Valid loss: 2.4929\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [925/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.22it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [925/3000]: Train loss: 2.0871, Valid loss: 2.0863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [926/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.46it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [926/3000]: Train loss: 1.9263, Valid loss: 3.3704\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [927/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.48it/s, loss=4.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [927/3000]: Train loss: 3.2195, Valid loss: 2.1934\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [928/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.23it/s, loss=2.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [928/3000]: Train loss: 2.9524, Valid loss: 4.7998\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [929/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.02it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [929/3000]: Train loss: 3.8852, Valid loss: 7.2963\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [930/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.74it/s, loss=2.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [930/3000]: Train loss: 4.8194, Valid loss: 7.3358\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [931/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.32it/s, loss=4.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [931/3000]: Train loss: 4.0961, Valid loss: 2.4450\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [932/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.91it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [932/3000]: Train loss: 2.4766, Valid loss: 3.7648\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [933/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.18it/s, loss=2.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [933/3000]: Train loss: 2.0832, Valid loss: 2.5129\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [934/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.38it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [934/3000]: Train loss: 2.1965, Valid loss: 2.3045\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [935/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.77it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [935/3000]: Train loss: 2.1194, Valid loss: 2.1405\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [936/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.18it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [936/3000]: Train loss: 2.3978, Valid loss: 5.8812\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [937/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.39it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [937/3000]: Train loss: 2.8761, Valid loss: 4.3951\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [938/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.15it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [938/3000]: Train loss: 2.4705, Valid loss: 3.1398\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [939/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.28it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [939/3000]: Train loss: 2.0387, Valid loss: 2.1034\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [940/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.03it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [940/3000]: Train loss: 2.2453, Valid loss: 3.7693\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [941/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.39it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [941/3000]: Train loss: 2.6891, Valid loss: 2.3142\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [942/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.77it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [942/3000]: Train loss: 2.2676, Valid loss: 2.7103\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [943/3000]: 100%|██████████| 9/9 [00:00<00:00, 62.36it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [943/3000]: Train loss: 2.1749, Valid loss: 3.1823\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [944/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.70it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [944/3000]: Train loss: 2.1452, Valid loss: 2.8646\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [945/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.84it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [945/3000]: Train loss: 2.0509, Valid loss: 2.0713\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [946/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.94it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [946/3000]: Train loss: 2.1428, Valid loss: 2.5889\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [947/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.86it/s, loss=2.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [947/3000]: Train loss: 2.3680, Valid loss: 3.1993\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [948/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.76it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [948/3000]: Train loss: 2.6478, Valid loss: 3.4362\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [949/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.46it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [949/3000]: Train loss: 2.5017, Valid loss: 2.8125\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [950/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.31it/s, loss=4.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [950/3000]: Train loss: 2.8402, Valid loss: 4.4943\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [951/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.67it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [951/3000]: Train loss: 2.6335, Valid loss: 1.9808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [952/3000]: 100%|██████████| 9/9 [00:00<00:00, 33.72it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [952/3000]: Train loss: 2.2013, Valid loss: 3.2791\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [953/3000]: 100%|██████████| 9/9 [00:00<00:00, 49.52it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [953/3000]: Train loss: 2.0537, Valid loss: 2.2033\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [954/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.54it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [954/3000]: Train loss: 2.0524, Valid loss: 3.0260\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [955/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.85it/s, loss=3.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [955/3000]: Train loss: 2.4825, Valid loss: 2.7987\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [956/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.46it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [956/3000]: Train loss: 2.2088, Valid loss: 2.4564\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [957/3000]: 100%|██████████| 9/9 [00:00<00:00, 30.04it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [957/3000]: Train loss: 2.0674, Valid loss: 2.3736\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [958/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.22it/s, loss=2.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [958/3000]: Train loss: 2.1774, Valid loss: 2.8542\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [959/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.07it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [959/3000]: Train loss: 2.7230, Valid loss: 3.0924\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [960/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.84it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [960/3000]: Train loss: 2.5025, Valid loss: 2.1126\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [961/3000]: 100%|██████████| 9/9 [00:00<00:00, 40.39it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [961/3000]: Train loss: 2.0010, Valid loss: 2.2725\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [962/3000]: 100%|██████████| 9/9 [00:00<00:00, 41.28it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [962/3000]: Train loss: 1.9543, Valid loss: 2.4129\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [963/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.71it/s, loss=2.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [963/3000]: Train loss: 2.2461, Valid loss: 2.9050\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [964/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.48it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [964/3000]: Train loss: 2.4138, Valid loss: 3.7543\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [965/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.15it/s, loss=4.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [965/3000]: Train loss: 4.0723, Valid loss: 2.5305\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [966/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.41it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [966/3000]: Train loss: 2.5014, Valid loss: 1.8658\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [967/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.85it/s, loss=1.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [967/3000]: Train loss: 2.3448, Valid loss: 2.0422\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [968/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.20it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [968/3000]: Train loss: 1.9152, Valid loss: 3.0478\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [969/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.80it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [969/3000]: Train loss: 2.2145, Valid loss: 3.5928\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [970/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.75it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [970/3000]: Train loss: 2.7094, Valid loss: 3.1508\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [971/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.97it/s, loss=3.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [971/3000]: Train loss: 2.5107, Valid loss: 4.0072\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [972/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.79it/s, loss=2.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [972/3000]: Train loss: 2.4170, Valid loss: 2.0086\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [973/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.76it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [973/3000]: Train loss: 2.1308, Valid loss: 2.4113\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [974/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.18it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [974/3000]: Train loss: 2.1108, Valid loss: 1.9834\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [975/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.26it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [975/3000]: Train loss: 1.9826, Valid loss: 2.3178\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [976/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.63it/s, loss=2.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [976/3000]: Train loss: 2.3080, Valid loss: 2.5055\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [977/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.87it/s, loss=2.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [977/3000]: Train loss: 2.1176, Valid loss: 2.4202\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [978/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.25it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [978/3000]: Train loss: 2.1344, Valid loss: 2.2198\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [979/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.97it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [979/3000]: Train loss: 1.9718, Valid loss: 1.9694\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [980/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.51it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [980/3000]: Train loss: 1.9883, Valid loss: 2.4143\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [981/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.64it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [981/3000]: Train loss: 1.9652, Valid loss: 4.2776\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [982/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.24it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [982/3000]: Train loss: 2.3692, Valid loss: 1.9951\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [983/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.13it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [983/3000]: Train loss: 2.2706, Valid loss: 2.3390\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [984/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.17it/s, loss=2.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [984/3000]: Train loss: 2.8773, Valid loss: 3.3431\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [985/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.23it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [985/3000]: Train loss: 2.0221, Valid loss: 2.1252\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [986/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.39it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [986/3000]: Train loss: 1.9778, Valid loss: 2.0505\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [987/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.75it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [987/3000]: Train loss: 1.9789, Valid loss: 2.5463\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [988/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.90it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [988/3000]: Train loss: 1.9331, Valid loss: 2.0761\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [989/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.85it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [989/3000]: Train loss: 1.9568, Valid loss: 2.0866\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [990/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.83it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [990/3000]: Train loss: 2.0339, Valid loss: 2.0961\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [991/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.26it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [991/3000]: Train loss: 1.9088, Valid loss: 2.0609\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [992/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.96it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [992/3000]: Train loss: 1.9831, Valid loss: 2.3941\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [993/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.30it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [993/3000]: Train loss: 2.0154, Valid loss: 2.4396\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [994/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.60it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [994/3000]: Train loss: 2.1410, Valid loss: 2.2497\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [995/3000]: 100%|██████████| 9/9 [00:00<00:00, 28.45it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [995/3000]: Train loss: 1.9522, Valid loss: 2.3503\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [996/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.98it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [996/3000]: Train loss: 2.0230, Valid loss: 3.1901\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [997/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.99it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [997/3000]: Train loss: 2.3264, Valid loss: 2.7104\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [998/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.13it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [998/3000]: Train loss: 1.9885, Valid loss: 2.2395\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [999/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.13it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [999/3000]: Train loss: 2.0250, Valid loss: 2.3162\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1000/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.50it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1000/3000]: Train loss: 1.9987, Valid loss: 3.0802\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1001/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.44it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1001/3000]: Train loss: 2.4063, Valid loss: 3.8003\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1002/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.35it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1002/3000]: Train loss: 2.3583, Valid loss: 2.1770\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1003/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.44it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1003/3000]: Train loss: 2.2540, Valid loss: 2.0715\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1004/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.17it/s, loss=2.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1004/3000]: Train loss: 2.1473, Valid loss: 2.9766\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1005/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.23it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1005/3000]: Train loss: 2.4543, Valid loss: 2.4079\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1006/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.82it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1006/3000]: Train loss: 2.0063, Valid loss: 2.6190\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1007/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.33it/s, loss=2.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1007/3000]: Train loss: 2.1568, Valid loss: 2.8640\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1008/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.38it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1008/3000]: Train loss: 2.1419, Valid loss: 2.5436\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1009/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.06it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1009/3000]: Train loss: 2.1312, Valid loss: 2.1208\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1010/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.22it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1010/3000]: Train loss: 2.0151, Valid loss: 2.6966\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1011/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.89it/s, loss=1.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1011/3000]: Train loss: 2.0970, Valid loss: 2.1983\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1012/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.92it/s, loss=2.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1012/3000]: Train loss: 2.5448, Valid loss: 3.7331\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1013/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.06it/s, loss=3.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1013/3000]: Train loss: 2.7780, Valid loss: 1.9809\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1014/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.09it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1014/3000]: Train loss: 2.0813, Valid loss: 1.9204\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1015/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.58it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1015/3000]: Train loss: 1.9272, Valid loss: 4.0480\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1016/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.84it/s, loss=3.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1016/3000]: Train loss: 2.7544, Valid loss: 2.2074\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1017/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.28it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1017/3000]: Train loss: 2.0908, Valid loss: 2.0794\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1018/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.13it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1018/3000]: Train loss: 2.1453, Valid loss: 2.1348\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1019/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.56it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1019/3000]: Train loss: 2.1382, Valid loss: 3.5728\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1020/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.86it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1020/3000]: Train loss: 2.3271, Valid loss: 2.0523\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1021/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.28it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1021/3000]: Train loss: 1.9671, Valid loss: 2.3647\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1022/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.79it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1022/3000]: Train loss: 2.2733, Valid loss: 2.3128\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1023/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.95it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1023/3000]: Train loss: 2.0178, Valid loss: 2.1516\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1024/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.93it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1024/3000]: Train loss: 2.1405, Valid loss: 2.7382\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1025/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.83it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1025/3000]: Train loss: 2.1489, Valid loss: 2.2944\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1026/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.22it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1026/3000]: Train loss: 1.9950, Valid loss: 2.2836\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1027/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.05it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1027/3000]: Train loss: 1.8271, Valid loss: 2.5746\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1028/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.84it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1028/3000]: Train loss: 1.9128, Valid loss: 1.8517\n","Saving model with loss 1.852...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1029/3000]: 100%|██████████| 9/9 [00:00<00:00, 61.22it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1029/3000]: Train loss: 1.9766, Valid loss: 2.7722\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1030/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.25it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1030/3000]: Train loss: 1.9679, Valid loss: 1.7509\n","Saving model with loss 1.751...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1031/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.07it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1031/3000]: Train loss: 1.9113, Valid loss: 2.0578\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1032/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.59it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1032/3000]: Train loss: 2.0085, Valid loss: 1.9539\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1033/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.87it/s, loss=1.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1033/3000]: Train loss: 2.0172, Valid loss: 2.1456\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1034/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.17it/s, loss=1.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1034/3000]: Train loss: 1.9396, Valid loss: 2.2702\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1035/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.55it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1035/3000]: Train loss: 2.3108, Valid loss: 2.0772\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1036/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.74it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1036/3000]: Train loss: 2.1021, Valid loss: 2.9708\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1037/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.39it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1037/3000]: Train loss: 1.9938, Valid loss: 2.7187\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1038/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.29it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1038/3000]: Train loss: 2.0077, Valid loss: 2.0984\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1039/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.90it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1039/3000]: Train loss: 2.1290, Valid loss: 2.5362\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1040/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.87it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1040/3000]: Train loss: 2.1271, Valid loss: 1.9845\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1041/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.03it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1041/3000]: Train loss: 2.0463, Valid loss: 2.7205\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1042/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.08it/s, loss=2.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1042/3000]: Train loss: 1.9061, Valid loss: 2.5048\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1043/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.74it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1043/3000]: Train loss: 1.9163, Valid loss: 2.0038\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1044/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.27it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1044/3000]: Train loss: 1.9794, Valid loss: 2.2592\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1045/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.36it/s, loss=2.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1045/3000]: Train loss: 2.1429, Valid loss: 2.2464\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1046/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.32it/s, loss=2.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1046/3000]: Train loss: 2.2355, Valid loss: 3.4972\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1047/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.82it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1047/3000]: Train loss: 2.4169, Valid loss: 3.3791\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1048/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.83it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1048/3000]: Train loss: 2.5443, Valid loss: 4.4864\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1049/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.00it/s, loss=3.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1049/3000]: Train loss: 3.1802, Valid loss: 2.4339\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1050/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.92it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1050/3000]: Train loss: 2.2613, Valid loss: 2.3549\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1051/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.08it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1051/3000]: Train loss: 2.0711, Valid loss: 2.2711\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1052/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.87it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1052/3000]: Train loss: 2.0508, Valid loss: 2.6453\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1053/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.90it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1053/3000]: Train loss: 2.1760, Valid loss: 2.3368\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1054/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.09it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1054/3000]: Train loss: 2.0077, Valid loss: 3.1555\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1055/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.29it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1055/3000]: Train loss: 2.4477, Valid loss: 2.1474\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1056/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.63it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1056/3000]: Train loss: 2.0822, Valid loss: 2.4020\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1057/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.07it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1057/3000]: Train loss: 2.0071, Valid loss: 1.9189\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1058/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.00it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1058/3000]: Train loss: 2.0672, Valid loss: 4.3809\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1059/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.41it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1059/3000]: Train loss: 2.5570, Valid loss: 1.9087\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1060/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.76it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1060/3000]: Train loss: 2.0920, Valid loss: 2.3944\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1061/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.60it/s, loss=2.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1061/3000]: Train loss: 1.9437, Valid loss: 2.3908\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1062/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.23it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1062/3000]: Train loss: 1.9694, Valid loss: 2.4869\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1063/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.03it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1063/3000]: Train loss: 2.0162, Valid loss: 2.0955\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1064/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.11it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1064/3000]: Train loss: 1.9003, Valid loss: 2.1930\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1065/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.80it/s, loss=1.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1065/3000]: Train loss: 1.9511, Valid loss: 1.8596\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1066/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.96it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1066/3000]: Train loss: 1.9929, Valid loss: 2.8524\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1067/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.53it/s, loss=2.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1067/3000]: Train loss: 2.4080, Valid loss: 2.3072\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1068/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.57it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1068/3000]: Train loss: 2.5970, Valid loss: 2.5849\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1069/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.14it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1069/3000]: Train loss: 2.0325, Valid loss: 2.0238\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1070/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.16it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1070/3000]: Train loss: 1.8491, Valid loss: 2.2624\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1071/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.17it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1071/3000]: Train loss: 2.0713, Valid loss: 2.5419\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1072/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.17it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1072/3000]: Train loss: 1.8962, Valid loss: 2.7000\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1073/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.99it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1073/3000]: Train loss: 1.9237, Valid loss: 2.0890\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1074/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.13it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1074/3000]: Train loss: 2.1816, Valid loss: 2.7366\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1075/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.61it/s, loss=4.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1075/3000]: Train loss: 2.6934, Valid loss: 2.4267\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1076/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.75it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1076/3000]: Train loss: 2.6330, Valid loss: 3.6394\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1077/3000]: 100%|██████████| 9/9 [00:00<00:00, 28.23it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1077/3000]: Train loss: 1.9593, Valid loss: 2.5836\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1078/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.91it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1078/3000]: Train loss: 1.9938, Valid loss: 2.9714\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1079/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.90it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1079/3000]: Train loss: 2.3804, Valid loss: 2.6557\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1080/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.57it/s, loss=2.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1080/3000]: Train loss: 1.9837, Valid loss: 2.0860\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1081/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.13it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1081/3000]: Train loss: 2.3044, Valid loss: 2.2433\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1082/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.73it/s, loss=2.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1082/3000]: Train loss: 2.0181, Valid loss: 1.9862\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1083/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.49it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1083/3000]: Train loss: 2.1116, Valid loss: 2.4781\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1084/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.86it/s, loss=2.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1084/3000]: Train loss: 2.3535, Valid loss: 2.0009\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1085/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.03it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1085/3000]: Train loss: 1.9274, Valid loss: 2.2875\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1086/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.41it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1086/3000]: Train loss: 2.1093, Valid loss: 2.6882\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1087/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.92it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1087/3000]: Train loss: 2.1457, Valid loss: 1.9789\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1088/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.28it/s, loss=2.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1088/3000]: Train loss: 2.6227, Valid loss: 3.1312\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1089/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.66it/s, loss=2.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1089/3000]: Train loss: 2.3895, Valid loss: 2.2035\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1090/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.21it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1090/3000]: Train loss: 1.8721, Valid loss: 2.2064\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1091/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.11it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1091/3000]: Train loss: 2.0833, Valid loss: 2.3651\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1092/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.55it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1092/3000]: Train loss: 2.1667, Valid loss: 2.8872\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1093/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.59it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1093/3000]: Train loss: 2.2811, Valid loss: 2.6080\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1094/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.99it/s, loss=2.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1094/3000]: Train loss: 2.3756, Valid loss: 2.1886\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1095/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.15it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1095/3000]: Train loss: 1.8605, Valid loss: 2.0873\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1096/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.03it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1096/3000]: Train loss: 2.1586, Valid loss: 3.8380\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1097/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.11it/s, loss=3.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1097/3000]: Train loss: 2.4100, Valid loss: 2.2934\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1098/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.04it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1098/3000]: Train loss: 2.3831, Valid loss: 2.6685\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1099/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.92it/s, loss=3.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1099/3000]: Train loss: 2.1075, Valid loss: 3.6833\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1100/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.28it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1100/3000]: Train loss: 2.0696, Valid loss: 2.5014\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1101/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.05it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1101/3000]: Train loss: 2.0567, Valid loss: 2.2606\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1102/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.42it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1102/3000]: Train loss: 2.9652, Valid loss: 2.9685\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1103/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.62it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1103/3000]: Train loss: 2.3145, Valid loss: 3.0782\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1104/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.96it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1104/3000]: Train loss: 2.3954, Valid loss: 2.5675\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1105/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.24it/s, loss=2.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1105/3000]: Train loss: 2.3433, Valid loss: 3.9837\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1106/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.69it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1106/3000]: Train loss: 3.1436, Valid loss: 2.8343\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1107/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.48it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1107/3000]: Train loss: 2.5390, Valid loss: 2.4612\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1108/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.10it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1108/3000]: Train loss: 2.3416, Valid loss: 2.6487\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1109/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.35it/s, loss=3.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1109/3000]: Train loss: 2.5371, Valid loss: 2.8291\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1110/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.64it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1110/3000]: Train loss: 2.3055, Valid loss: 2.6299\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1111/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.71it/s, loss=1.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1111/3000]: Train loss: 2.0525, Valid loss: 2.5327\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1112/3000]: 100%|██████████| 9/9 [00:00<00:00, 62.49it/s, loss=1.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1112/3000]: Train loss: 1.9484, Valid loss: 1.9999\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1113/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.06it/s, loss=2.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1113/3000]: Train loss: 2.2078, Valid loss: 2.1697\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1114/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.84it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1114/3000]: Train loss: 1.8237, Valid loss: 2.1764\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1115/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.12it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1115/3000]: Train loss: 1.9018, Valid loss: 2.3617\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1116/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.18it/s, loss=3.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1116/3000]: Train loss: 2.3502, Valid loss: 1.9826\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1117/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.18it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1117/3000]: Train loss: 2.1696, Valid loss: 4.0485\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1118/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.86it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1118/3000]: Train loss: 2.8980, Valid loss: 1.9033\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1119/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.95it/s, loss=2.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1119/3000]: Train loss: 1.9501, Valid loss: 2.5217\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1120/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.56it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1120/3000]: Train loss: 1.8634, Valid loss: 1.9648\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1121/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.14it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1121/3000]: Train loss: 2.8252, Valid loss: 4.2061\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1122/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.33it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1122/3000]: Train loss: 2.9342, Valid loss: 2.2338\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1123/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.31it/s, loss=3.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1123/3000]: Train loss: 2.2951, Valid loss: 1.9772\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1124/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.14it/s, loss=1.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1124/3000]: Train loss: 2.0058, Valid loss: 2.0332\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1125/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.43it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1125/3000]: Train loss: 1.9803, Valid loss: 2.9488\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1126/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.39it/s, loss=2.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1126/3000]: Train loss: 2.5142, Valid loss: 1.9238\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1127/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.40it/s, loss=3.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1127/3000]: Train loss: 2.2414, Valid loss: 2.2980\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1128/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.40it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1128/3000]: Train loss: 2.5137, Valid loss: 3.6682\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1129/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.74it/s, loss=2.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1129/3000]: Train loss: 2.2769, Valid loss: 2.4254\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1130/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.46it/s, loss=3.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1130/3000]: Train loss: 2.2070, Valid loss: 3.9353\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1131/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.34it/s, loss=1.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1131/3000]: Train loss: 2.3788, Valid loss: 3.2254\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1132/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.75it/s, loss=3.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1132/3000]: Train loss: 2.6656, Valid loss: 2.2448\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1133/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.59it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1133/3000]: Train loss: 2.2866, Valid loss: 2.7894\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1134/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.51it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1134/3000]: Train loss: 1.8792, Valid loss: 2.4911\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1135/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.90it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1135/3000]: Train loss: 1.9388, Valid loss: 2.0538\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1136/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.40it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1136/3000]: Train loss: 1.9475, Valid loss: 2.7204\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1137/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.38it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1137/3000]: Train loss: 2.2473, Valid loss: 2.8188\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1138/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.53it/s, loss=2.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1138/3000]: Train loss: 2.4517, Valid loss: 1.9688\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1139/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.03it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1139/3000]: Train loss: 2.0236, Valid loss: 2.5063\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1140/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.30it/s, loss=3.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1140/3000]: Train loss: 2.7519, Valid loss: 2.0792\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1141/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.54it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1141/3000]: Train loss: 2.0821, Valid loss: 2.8341\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1142/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.22it/s, loss=2.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1142/3000]: Train loss: 2.2124, Valid loss: 2.0844\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1143/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.40it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1143/3000]: Train loss: 3.2358, Valid loss: 4.4010\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1144/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.86it/s, loss=4.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1144/3000]: Train loss: 3.8953, Valid loss: 2.3026\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1145/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.21it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1145/3000]: Train loss: 2.5971, Valid loss: 2.2103\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1146/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.56it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1146/3000]: Train loss: 1.9871, Valid loss: 2.3856\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1147/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.78it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1147/3000]: Train loss: 1.9988, Valid loss: 2.2844\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1148/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.64it/s, loss=1.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1148/3000]: Train loss: 1.8713, Valid loss: 1.9611\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1149/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.91it/s, loss=3.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1149/3000]: Train loss: 2.3000, Valid loss: 2.7089\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1150/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.20it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1150/3000]: Train loss: 2.3951, Valid loss: 2.2000\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1151/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.23it/s, loss=2.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1151/3000]: Train loss: 1.9803, Valid loss: 1.9529\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1152/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.92it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1152/3000]: Train loss: 1.9688, Valid loss: 2.6047\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1153/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.71it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1153/3000]: Train loss: 2.0592, Valid loss: 2.1032\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1154/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.03it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1154/3000]: Train loss: 1.8383, Valid loss: 2.1383\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1155/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.44it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1155/3000]: Train loss: 1.9011, Valid loss: 2.2195\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1156/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.74it/s, loss=2.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1156/3000]: Train loss: 2.0752, Valid loss: 2.1364\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1157/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.57it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1157/3000]: Train loss: 1.9201, Valid loss: 2.1416\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1158/3000]: 100%|██████████| 9/9 [00:00<00:00, 31.75it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1158/3000]: Train loss: 1.9943, Valid loss: 2.2130\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1159/3000]: 100%|██████████| 9/9 [00:00<00:00, 105.66it/s, loss=2.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1159/3000]: Train loss: 2.0453, Valid loss: 2.5141\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1160/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.92it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1160/3000]: Train loss: 1.9659, Valid loss: 2.1075\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1161/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.09it/s, loss=2.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1161/3000]: Train loss: 2.0213, Valid loss: 2.4682\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1162/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.22it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1162/3000]: Train loss: 1.8583, Valid loss: 2.1070\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1163/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.86it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1163/3000]: Train loss: 1.9329, Valid loss: 2.3202\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1164/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.79it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1164/3000]: Train loss: 2.1029, Valid loss: 2.1605\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1165/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.25it/s, loss=1.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1165/3000]: Train loss: 1.9616, Valid loss: 2.2039\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1166/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.80it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1166/3000]: Train loss: 2.1028, Valid loss: 1.9874\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1167/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.52it/s, loss=1.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1167/3000]: Train loss: 1.7964, Valid loss: 2.2850\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1168/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.99it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1168/3000]: Train loss: 1.8563, Valid loss: 1.9638\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1169/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.85it/s, loss=3.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1169/3000]: Train loss: 2.2847, Valid loss: 2.6403\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1170/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.41it/s, loss=3.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1170/3000]: Train loss: 2.3050, Valid loss: 5.4251\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1171/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.07it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1171/3000]: Train loss: 2.5465, Valid loss: 2.7616\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1172/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.58it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1172/3000]: Train loss: 2.1887, Valid loss: 2.2944\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1173/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.20it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1173/3000]: Train loss: 1.9096, Valid loss: 2.3593\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1174/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.73it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1174/3000]: Train loss: 2.0845, Valid loss: 2.2816\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1175/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.19it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1175/3000]: Train loss: 1.9583, Valid loss: 2.1214\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1176/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.65it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1176/3000]: Train loss: 1.8225, Valid loss: 2.5981\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1177/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.40it/s, loss=2.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1177/3000]: Train loss: 1.9235, Valid loss: 2.2526\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1178/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.08it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1178/3000]: Train loss: 1.8690, Valid loss: 2.2732\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1179/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.84it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1179/3000]: Train loss: 2.2242, Valid loss: 3.9317\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1180/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.34it/s, loss=1.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1180/3000]: Train loss: 2.2291, Valid loss: 2.1254\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1181/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.91it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1181/3000]: Train loss: 1.8548, Valid loss: 1.9572\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1182/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.70it/s, loss=2.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1182/3000]: Train loss: 1.8788, Valid loss: 2.2625\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1183/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.92it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1183/3000]: Train loss: 1.9098, Valid loss: 2.0689\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1184/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.37it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1184/3000]: Train loss: 1.8043, Valid loss: 2.0779\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1185/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.88it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1185/3000]: Train loss: 1.8573, Valid loss: 2.7872\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1186/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.70it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1186/3000]: Train loss: 1.9684, Valid loss: 2.1622\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1187/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.10it/s, loss=2.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1187/3000]: Train loss: 2.0812, Valid loss: 2.2868\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1188/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.04it/s, loss=3.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1188/3000]: Train loss: 2.5542, Valid loss: 4.6282\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1189/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.72it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1189/3000]: Train loss: 2.7085, Valid loss: 2.1380\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1190/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.39it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1190/3000]: Train loss: 1.9866, Valid loss: 2.2532\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1191/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.50it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1191/3000]: Train loss: 1.9345, Valid loss: 2.0031\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1192/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.84it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1192/3000]: Train loss: 2.0621, Valid loss: 2.0691\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1193/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.55it/s, loss=1.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1193/3000]: Train loss: 1.9261, Valid loss: 2.2144\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1194/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.79it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1194/3000]: Train loss: 2.0104, Valid loss: 2.2442\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1195/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.51it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1195/3000]: Train loss: 1.8602, Valid loss: 2.3614\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1196/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.97it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1196/3000]: Train loss: 1.9366, Valid loss: 3.1045\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1197/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.00it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1197/3000]: Train loss: 2.0542, Valid loss: 2.3801\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1198/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.31it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1198/3000]: Train loss: 1.9477, Valid loss: 2.2343\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1199/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.46it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1199/3000]: Train loss: 2.2733, Valid loss: 1.9407\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1200/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.06it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1200/3000]: Train loss: 2.1662, Valid loss: 2.6009\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1201/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.00it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1201/3000]: Train loss: 2.0794, Valid loss: 2.3342\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1202/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.09it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1202/3000]: Train loss: 2.3831, Valid loss: 2.1581\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1203/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.33it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1203/3000]: Train loss: 2.0663, Valid loss: 2.8825\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1204/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.87it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1204/3000]: Train loss: 2.3224, Valid loss: 2.7017\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1205/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.35it/s, loss=3.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1205/3000]: Train loss: 3.7256, Valid loss: 2.0855\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1206/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.32it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1206/3000]: Train loss: 2.3870, Valid loss: 3.5931\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1207/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.86it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1207/3000]: Train loss: 2.0620, Valid loss: 1.9196\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1208/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.24it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1208/3000]: Train loss: 1.8243, Valid loss: 1.8160\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1209/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.02it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1209/3000]: Train loss: 1.8883, Valid loss: 2.3435\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1210/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.62it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1210/3000]: Train loss: 1.8966, Valid loss: 2.3393\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1211/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.56it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1211/3000]: Train loss: 1.8879, Valid loss: 2.1984\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1212/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.97it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1212/3000]: Train loss: 1.9123, Valid loss: 2.5267\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1213/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.68it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1213/3000]: Train loss: 2.2859, Valid loss: 1.8460\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1214/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.85it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1214/3000]: Train loss: 1.8310, Valid loss: 2.3911\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1215/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.45it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1215/3000]: Train loss: 2.0682, Valid loss: 2.4759\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1216/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.43it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1216/3000]: Train loss: 2.4854, Valid loss: 2.9661\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1217/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.75it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1217/3000]: Train loss: 2.2207, Valid loss: 3.7046\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1218/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.45it/s, loss=3.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1218/3000]: Train loss: 2.5550, Valid loss: 2.7515\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1219/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.59it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1219/3000]: Train loss: 2.1415, Valid loss: 2.4944\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1220/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.62it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1220/3000]: Train loss: 1.9623, Valid loss: 2.6244\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1221/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.72it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1221/3000]: Train loss: 2.3773, Valid loss: 1.9502\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1222/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.80it/s, loss=1.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1222/3000]: Train loss: 1.8900, Valid loss: 2.3294\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1223/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.15it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1223/3000]: Train loss: 1.7990, Valid loss: 2.0697\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1224/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.52it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1224/3000]: Train loss: 1.8246, Valid loss: 2.3110\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1225/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.16it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1225/3000]: Train loss: 2.0779, Valid loss: 2.2507\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1226/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.21it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1226/3000]: Train loss: 1.8400, Valid loss: 2.2618\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1227/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.07it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1227/3000]: Train loss: 1.8467, Valid loss: 2.1562\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1228/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.99it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1228/3000]: Train loss: 1.7839, Valid loss: 2.4594\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1229/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.26it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1229/3000]: Train loss: 1.8158, Valid loss: 2.1246\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1230/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.67it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1230/3000]: Train loss: 2.0574, Valid loss: 2.7417\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1231/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.31it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1231/3000]: Train loss: 2.2102, Valid loss: 2.9289\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1232/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.67it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1232/3000]: Train loss: 2.5712, Valid loss: 2.6468\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1233/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.12it/s, loss=2.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1233/3000]: Train loss: 3.1132, Valid loss: 2.4617\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1234/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.40it/s, loss=2.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1234/3000]: Train loss: 2.7885, Valid loss: 4.1456\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1235/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.25it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1235/3000]: Train loss: 2.7299, Valid loss: 4.3823\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1236/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.23it/s, loss=3.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1236/3000]: Train loss: 4.1314, Valid loss: 4.7505\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1237/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.58it/s, loss=4.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1237/3000]: Train loss: 3.7124, Valid loss: 2.3139\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1238/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.26it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1238/3000]: Train loss: 2.6598, Valid loss: 3.6276\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1239/3000]: 100%|██████████| 9/9 [00:00<00:00, 31.79it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1239/3000]: Train loss: 2.7750, Valid loss: 2.4462\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1240/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.60it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1240/3000]: Train loss: 2.4425, Valid loss: 2.3192\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1241/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.58it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1241/3000]: Train loss: 1.9740, Valid loss: 2.7929\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1242/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.85it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1242/3000]: Train loss: 1.9085, Valid loss: 2.0244\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1243/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.64it/s, loss=3.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1243/3000]: Train loss: 2.3867, Valid loss: 2.2837\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1244/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.13it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1244/3000]: Train loss: 2.5179, Valid loss: 3.6851\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1245/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.93it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1245/3000]: Train loss: 2.5121, Valid loss: 4.8987\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1246/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.74it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1246/3000]: Train loss: 2.8869, Valid loss: 2.7063\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1247/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.64it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1247/3000]: Train loss: 2.0031, Valid loss: 1.9598\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1248/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.90it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1248/3000]: Train loss: 1.8688, Valid loss: 2.1348\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1249/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.19it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1249/3000]: Train loss: 1.8422, Valid loss: 2.5784\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1250/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.02it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1250/3000]: Train loss: 1.9888, Valid loss: 1.9596\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1251/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.49it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1251/3000]: Train loss: 2.6063, Valid loss: 3.0439\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1252/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.65it/s, loss=3.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1252/3000]: Train loss: 2.7248, Valid loss: 2.0823\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1253/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.18it/s, loss=3.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1253/3000]: Train loss: 2.3228, Valid loss: 2.4062\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1254/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.89it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1254/3000]: Train loss: 1.9401, Valid loss: 2.6471\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1255/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.84it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1255/3000]: Train loss: 1.9852, Valid loss: 2.1369\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1256/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.59it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1256/3000]: Train loss: 2.0642, Valid loss: 2.1673\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1257/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.87it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1257/3000]: Train loss: 1.9721, Valid loss: 3.6357\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1258/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.23it/s, loss=3.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1258/3000]: Train loss: 2.1563, Valid loss: 3.6856\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1259/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.45it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1259/3000]: Train loss: 2.6050, Valid loss: 2.1975\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1260/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.67it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1260/3000]: Train loss: 1.8530, Valid loss: 1.7362\n","Saving model with loss 1.736...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1261/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.70it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1261/3000]: Train loss: 1.8973, Valid loss: 2.1759\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1262/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.07it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1262/3000]: Train loss: 1.8839, Valid loss: 4.2732\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1263/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.14it/s, loss=3.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1263/3000]: Train loss: 3.2782, Valid loss: 2.9567\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1264/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.51it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1264/3000]: Train loss: 4.2108, Valid loss: 3.7755\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1265/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.02it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1265/3000]: Train loss: 2.2654, Valid loss: 1.8475\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1266/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.71it/s, loss=2.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1266/3000]: Train loss: 2.1598, Valid loss: 2.5086\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1267/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.86it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1267/3000]: Train loss: 2.1793, Valid loss: 2.5825\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1268/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.31it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1268/3000]: Train loss: 2.2587, Valid loss: 2.1215\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1269/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.32it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1269/3000]: Train loss: 1.8921, Valid loss: 2.0007\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1270/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.29it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1270/3000]: Train loss: 1.8511, Valid loss: 4.5397\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1271/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.68it/s, loss=4.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1271/3000]: Train loss: 3.3434, Valid loss: 3.1190\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1272/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.69it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1272/3000]: Train loss: 2.7672, Valid loss: 3.5366\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1273/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.85it/s, loss=2.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1273/3000]: Train loss: 2.5447, Valid loss: 4.3256\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1274/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.62it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1274/3000]: Train loss: 2.3203, Valid loss: 2.0023\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1275/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.80it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1275/3000]: Train loss: 2.1983, Valid loss: 2.3470\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1276/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.31it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1276/3000]: Train loss: 1.9180, Valid loss: 3.7519\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1277/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.47it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1277/3000]: Train loss: 2.6164, Valid loss: 2.2126\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1278/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.70it/s, loss=4.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1278/3000]: Train loss: 2.5767, Valid loss: 1.9839\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1279/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.71it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1279/3000]: Train loss: 2.4382, Valid loss: 2.6399\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1280/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.83it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1280/3000]: Train loss: 1.9640, Valid loss: 2.4538\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1281/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.00it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1281/3000]: Train loss: 2.0926, Valid loss: 2.4732\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1282/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.92it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1282/3000]: Train loss: 1.9960, Valid loss: 2.1156\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1283/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.44it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1283/3000]: Train loss: 1.8931, Valid loss: 1.8286\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1284/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.70it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1284/3000]: Train loss: 1.8287, Valid loss: 1.9704\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1285/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.26it/s, loss=2.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1285/3000]: Train loss: 1.9435, Valid loss: 2.3558\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1286/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.45it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1286/3000]: Train loss: 2.0547, Valid loss: 2.0594\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1287/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.19it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1287/3000]: Train loss: 1.8113, Valid loss: 2.0230\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1288/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.17it/s, loss=2.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1288/3000]: Train loss: 1.9696, Valid loss: 1.8164\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1289/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.73it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1289/3000]: Train loss: 1.9363, Valid loss: 2.0558\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1290/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.59it/s, loss=1.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1290/3000]: Train loss: 1.7923, Valid loss: 2.4245\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1291/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.87it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1291/3000]: Train loss: 2.0768, Valid loss: 4.2036\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1292/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.68it/s, loss=2.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1292/3000]: Train loss: 2.4143, Valid loss: 3.0121\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1293/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.05it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1293/3000]: Train loss: 1.9543, Valid loss: 1.8978\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1294/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.14it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1294/3000]: Train loss: 1.8953, Valid loss: 2.8367\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1295/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.92it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1295/3000]: Train loss: 2.1560, Valid loss: 1.8522\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1296/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.38it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1296/3000]: Train loss: 2.3118, Valid loss: 3.7393\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1297/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.10it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1297/3000]: Train loss: 2.2986, Valid loss: 2.3459\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1298/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.98it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1298/3000]: Train loss: 1.8954, Valid loss: 2.5559\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1299/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.03it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1299/3000]: Train loss: 1.9465, Valid loss: 2.7344\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1300/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.02it/s, loss=3.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1300/3000]: Train loss: 2.4285, Valid loss: 2.5994\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1301/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.16it/s, loss=1.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1301/3000]: Train loss: 2.3315, Valid loss: 2.8238\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1302/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.62it/s, loss=2.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1302/3000]: Train loss: 2.1927, Valid loss: 2.2212\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1303/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.81it/s, loss=1.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1303/3000]: Train loss: 1.9803, Valid loss: 1.8520\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1304/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.86it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1304/3000]: Train loss: 1.7986, Valid loss: 3.1522\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1305/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.56it/s, loss=2.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1305/3000]: Train loss: 2.3877, Valid loss: 2.3430\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1306/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.42it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1306/3000]: Train loss: 1.8328, Valid loss: 2.5362\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1307/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.23it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1307/3000]: Train loss: 1.8112, Valid loss: 1.9414\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1308/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.15it/s, loss=1.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1308/3000]: Train loss: 1.8589, Valid loss: 2.5385\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1309/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.17it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1309/3000]: Train loss: 1.9906, Valid loss: 3.2339\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1310/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.01it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1310/3000]: Train loss: 2.0841, Valid loss: 2.1166\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1311/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.48it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1311/3000]: Train loss: 1.9462, Valid loss: 2.4488\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1312/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.49it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1312/3000]: Train loss: 1.7556, Valid loss: 2.1443\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1313/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.02it/s, loss=1.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1313/3000]: Train loss: 1.7558, Valid loss: 2.3627\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1314/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.89it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1314/3000]: Train loss: 2.0889, Valid loss: 2.3009\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1315/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.87it/s, loss=2.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1315/3000]: Train loss: 2.1838, Valid loss: 2.0505\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1316/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.25it/s, loss=2.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1316/3000]: Train loss: 2.8137, Valid loss: 3.2737\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1317/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.06it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1317/3000]: Train loss: 2.0036, Valid loss: 2.4079\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1318/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.99it/s, loss=2.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1318/3000]: Train loss: 1.9670, Valid loss: 3.6020\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1319/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.07it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1319/3000]: Train loss: 2.4781, Valid loss: 2.0852\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1320/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.03it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1320/3000]: Train loss: 1.9163, Valid loss: 2.0916\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1321/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.33it/s, loss=4.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1321/3000]: Train loss: 3.0958, Valid loss: 2.4634\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1322/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.01it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1322/3000]: Train loss: 2.6015, Valid loss: 3.3587\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1323/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.13it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1323/3000]: Train loss: 2.0273, Valid loss: 2.1224\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1324/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.39it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1324/3000]: Train loss: 2.4289, Valid loss: 2.7442\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1325/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.30it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1325/3000]: Train loss: 3.1296, Valid loss: 3.8595\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1326/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.91it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1326/3000]: Train loss: 2.0219, Valid loss: 2.3978\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1327/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.72it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1327/3000]: Train loss: 1.9016, Valid loss: 2.6393\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1328/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.70it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1328/3000]: Train loss: 2.1447, Valid loss: 2.2200\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1329/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.92it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1329/3000]: Train loss: 2.0263, Valid loss: 3.2150\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1330/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.44it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1330/3000]: Train loss: 2.2545, Valid loss: 2.5257\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1331/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.87it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1331/3000]: Train loss: 2.0045, Valid loss: 1.7488\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1332/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.70it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1332/3000]: Train loss: 1.7991, Valid loss: 2.7746\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1333/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.57it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1333/3000]: Train loss: 1.9179, Valid loss: 2.3753\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1334/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.05it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1334/3000]: Train loss: 1.9511, Valid loss: 1.9336\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1335/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.84it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1335/3000]: Train loss: 1.9577, Valid loss: 2.4569\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1336/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.32it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1336/3000]: Train loss: 1.9301, Valid loss: 1.9938\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1337/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.72it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1337/3000]: Train loss: 1.8962, Valid loss: 2.3140\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1338/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.62it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1338/3000]: Train loss: 1.8386, Valid loss: 2.4749\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1339/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.60it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1339/3000]: Train loss: 1.8444, Valid loss: 1.8335\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1340/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.41it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1340/3000]: Train loss: 1.9915, Valid loss: 1.8877\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1341/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.59it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1341/3000]: Train loss: 1.9775, Valid loss: 2.2939\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1342/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.93it/s, loss=3.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1342/3000]: Train loss: 1.9485, Valid loss: 2.4297\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1343/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.49it/s, loss=2.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1343/3000]: Train loss: 1.9662, Valid loss: 2.2087\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1344/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.41it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1344/3000]: Train loss: 2.5213, Valid loss: 4.6405\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1345/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.20it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1345/3000]: Train loss: 2.9292, Valid loss: 4.6132\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1346/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.31it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1346/3000]: Train loss: 3.2568, Valid loss: 4.6461\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1347/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.07it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1347/3000]: Train loss: 2.7344, Valid loss: 2.4054\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1348/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.77it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1348/3000]: Train loss: 2.2766, Valid loss: 1.9032\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1349/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.29it/s, loss=1.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1349/3000]: Train loss: 2.0206, Valid loss: 2.5092\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1350/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.36it/s, loss=2.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1350/3000]: Train loss: 2.2752, Valid loss: 2.3688\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1351/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.14it/s, loss=3.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1351/3000]: Train loss: 3.4274, Valid loss: 4.1532\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1352/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.91it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1352/3000]: Train loss: 2.7761, Valid loss: 2.4912\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1353/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.35it/s, loss=1.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1353/3000]: Train loss: 1.8889, Valid loss: 1.9074\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1354/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.91it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1354/3000]: Train loss: 1.7873, Valid loss: 2.4347\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1355/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.49it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1355/3000]: Train loss: 1.8979, Valid loss: 2.5905\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1356/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.35it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1356/3000]: Train loss: 1.9119, Valid loss: 1.9211\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1357/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.33it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1357/3000]: Train loss: 1.7931, Valid loss: 2.1575\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1358/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.91it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1358/3000]: Train loss: 1.8209, Valid loss: 2.0722\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1359/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.29it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1359/3000]: Train loss: 1.8943, Valid loss: 2.0560\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1360/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.76it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1360/3000]: Train loss: 1.8628, Valid loss: 2.3596\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1361/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.21it/s, loss=1.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1361/3000]: Train loss: 1.8714, Valid loss: 2.6313\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1362/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.99it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1362/3000]: Train loss: 1.9207, Valid loss: 3.0034\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1363/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.57it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1363/3000]: Train loss: 2.0354, Valid loss: 2.3995\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1364/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.36it/s, loss=3.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1364/3000]: Train loss: 2.3516, Valid loss: 1.9039\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1365/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.69it/s, loss=2.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1365/3000]: Train loss: 2.0923, Valid loss: 1.7311\n","Saving model with loss 1.731...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1366/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.68it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1366/3000]: Train loss: 1.9977, Valid loss: 2.0161\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1367/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.33it/s, loss=1.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1367/3000]: Train loss: 1.9289, Valid loss: 2.4847\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1368/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.84it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1368/3000]: Train loss: 1.9327, Valid loss: 2.0236\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1369/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.87it/s, loss=2.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1369/3000]: Train loss: 1.8254, Valid loss: 2.0020\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1370/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.24it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1370/3000]: Train loss: 1.8673, Valid loss: 1.9408\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1371/3000]: 100%|██████████| 9/9 [00:00<00:00, 60.64it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1371/3000]: Train loss: 1.7763, Valid loss: 1.7744\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1372/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.23it/s, loss=2.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1372/3000]: Train loss: 2.0149, Valid loss: 2.8773\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1373/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.53it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1373/3000]: Train loss: 1.9737, Valid loss: 1.8288\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1374/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.69it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1374/3000]: Train loss: 2.0295, Valid loss: 2.1504\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1375/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.49it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1375/3000]: Train loss: 2.0928, Valid loss: 2.1458\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1376/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.79it/s, loss=1.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1376/3000]: Train loss: 1.8823, Valid loss: 2.1014\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1377/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.00it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1377/3000]: Train loss: 1.8496, Valid loss: 3.1399\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1378/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.64it/s, loss=2.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1378/3000]: Train loss: 2.1048, Valid loss: 3.1076\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1379/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.60it/s, loss=3.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1379/3000]: Train loss: 2.6317, Valid loss: 2.0500\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1380/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.25it/s, loss=2.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1380/3000]: Train loss: 2.4284, Valid loss: 2.5539\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1381/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.36it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1381/3000]: Train loss: 2.6359, Valid loss: 3.7967\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1382/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.77it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1382/3000]: Train loss: 2.3463, Valid loss: 2.0455\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1383/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.82it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1383/3000]: Train loss: 1.8732, Valid loss: 1.8775\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1384/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.91it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1384/3000]: Train loss: 1.7724, Valid loss: 2.1091\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1385/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.09it/s, loss=2.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1385/3000]: Train loss: 2.2274, Valid loss: 2.5945\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1386/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.94it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1386/3000]: Train loss: 1.9993, Valid loss: 3.2317\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1387/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.87it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1387/3000]: Train loss: 2.2212, Valid loss: 2.0591\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1388/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.67it/s, loss=2.2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1388/3000]: Train loss: 2.2146, Valid loss: 2.3368\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1389/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.70it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1389/3000]: Train loss: 1.9401, Valid loss: 2.3631\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1390/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.67it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1390/3000]: Train loss: 1.8121, Valid loss: 2.1690\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1391/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.55it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1391/3000]: Train loss: 1.8418, Valid loss: 1.9014\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1392/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.77it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1392/3000]: Train loss: 1.9081, Valid loss: 1.9295\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1393/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.81it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1393/3000]: Train loss: 1.8962, Valid loss: 1.9879\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1394/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.82it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1394/3000]: Train loss: 1.9454, Valid loss: 2.7752\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1395/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.98it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1395/3000]: Train loss: 2.4390, Valid loss: 3.4716\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1396/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.12it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1396/3000]: Train loss: 2.5263, Valid loss: 2.1547\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1397/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.99it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1397/3000]: Train loss: 1.9365, Valid loss: 2.2199\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1398/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.63it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1398/3000]: Train loss: 1.8186, Valid loss: 1.7843\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1399/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.35it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1399/3000]: Train loss: 1.7860, Valid loss: 2.2128\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1400/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.18it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1400/3000]: Train loss: 1.9752, Valid loss: 2.4944\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1401/3000]: 100%|██████████| 9/9 [00:00<00:00, 28.01it/s, loss=1.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1401/3000]: Train loss: 2.0287, Valid loss: 3.6195\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1402/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.18it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1402/3000]: Train loss: 2.3356, Valid loss: 1.9141\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1403/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.78it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1403/3000]: Train loss: 1.8555, Valid loss: 2.4301\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1404/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.03it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1404/3000]: Train loss: 1.8404, Valid loss: 2.1546\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1405/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.48it/s, loss=2.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1405/3000]: Train loss: 2.0327, Valid loss: 2.4043\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1406/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.15it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1406/3000]: Train loss: 2.4050, Valid loss: 2.3792\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1407/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.41it/s, loss=3.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1407/3000]: Train loss: 2.0130, Valid loss: 2.3751\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1408/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.65it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1408/3000]: Train loss: 2.2792, Valid loss: 2.9841\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1409/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.76it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1409/3000]: Train loss: 2.1873, Valid loss: 2.7055\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1410/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.83it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1410/3000]: Train loss: 2.1205, Valid loss: 2.3454\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1411/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.24it/s, loss=1.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1411/3000]: Train loss: 1.7741, Valid loss: 2.4808\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1412/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.45it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1412/3000]: Train loss: 1.7725, Valid loss: 2.7569\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1413/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.58it/s, loss=2.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1413/3000]: Train loss: 1.9248, Valid loss: 2.5408\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1414/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.11it/s, loss=1.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1414/3000]: Train loss: 2.0068, Valid loss: 2.8860\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1415/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.77it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1415/3000]: Train loss: 2.1569, Valid loss: 1.8836\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1416/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.09it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1416/3000]: Train loss: 1.9867, Valid loss: 2.3142\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1417/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.13it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1417/3000]: Train loss: 2.2071, Valid loss: 2.2050\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1418/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.98it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1418/3000]: Train loss: 1.9090, Valid loss: 2.1755\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1419/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.50it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1419/3000]: Train loss: 1.7691, Valid loss: 2.5342\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1420/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.80it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1420/3000]: Train loss: 2.2600, Valid loss: 2.4200\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1421/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.10it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1421/3000]: Train loss: 1.9235, Valid loss: 1.9654\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1422/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.91it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1422/3000]: Train loss: 1.8147, Valid loss: 2.5551\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1423/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.80it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1423/3000]: Train loss: 1.9827, Valid loss: 1.8963\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1424/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.03it/s, loss=4.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1424/3000]: Train loss: 3.5479, Valid loss: 3.4359\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1425/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.06it/s, loss=4.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1425/3000]: Train loss: 3.1021, Valid loss: 3.3884\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1426/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.42it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1426/3000]: Train loss: 2.7190, Valid loss: 2.6595\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1427/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.49it/s, loss=2.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1427/3000]: Train loss: 2.0869, Valid loss: 2.2874\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1428/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.19it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1428/3000]: Train loss: 1.7653, Valid loss: 2.1425\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1429/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.43it/s, loss=1.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1429/3000]: Train loss: 1.8219, Valid loss: 1.9474\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1430/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.41it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1430/3000]: Train loss: 1.7269, Valid loss: 1.9433\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1431/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.95it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1431/3000]: Train loss: 2.0206, Valid loss: 2.1486\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1432/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.15it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1432/3000]: Train loss: 1.7150, Valid loss: 1.9320\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1433/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.38it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1433/3000]: Train loss: 1.8913, Valid loss: 2.2670\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1434/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.32it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1434/3000]: Train loss: 1.8180, Valid loss: 2.2770\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1435/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.45it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1435/3000]: Train loss: 2.1051, Valid loss: 2.1933\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1436/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.81it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1436/3000]: Train loss: 2.0719, Valid loss: 2.6506\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1437/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.07it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1437/3000]: Train loss: 2.1872, Valid loss: 2.9334\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1438/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.73it/s, loss=2.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1438/3000]: Train loss: 2.3918, Valid loss: 1.7930\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1439/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.90it/s, loss=1.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1439/3000]: Train loss: 2.1583, Valid loss: 2.0172\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1440/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.43it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1440/3000]: Train loss: 1.8992, Valid loss: 3.3030\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1441/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.30it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1441/3000]: Train loss: 2.4890, Valid loss: 3.6599\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1442/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.25it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1442/3000]: Train loss: 2.3387, Valid loss: 2.3542\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1443/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.95it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1443/3000]: Train loss: 1.8001, Valid loss: 1.9318\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1444/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.69it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1444/3000]: Train loss: 1.8024, Valid loss: 2.1405\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1445/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.91it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1445/3000]: Train loss: 1.7688, Valid loss: 2.0754\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1446/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.58it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1446/3000]: Train loss: 1.9955, Valid loss: 1.9249\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1447/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.30it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1447/3000]: Train loss: 1.8522, Valid loss: 2.4840\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1448/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.63it/s, loss=1.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1448/3000]: Train loss: 1.8268, Valid loss: 2.5599\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1449/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.59it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1449/3000]: Train loss: 1.8528, Valid loss: 2.1618\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1450/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.55it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1450/3000]: Train loss: 1.7801, Valid loss: 1.8956\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1451/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.02it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1451/3000]: Train loss: 1.7491, Valid loss: 1.8454\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1452/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.19it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1452/3000]: Train loss: 1.9060, Valid loss: 1.9412\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1453/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.45it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1453/3000]: Train loss: 2.0327, Valid loss: 2.2147\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1454/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.87it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1454/3000]: Train loss: 1.9480, Valid loss: 2.3384\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1455/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.70it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1455/3000]: Train loss: 1.7843, Valid loss: 1.9855\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1456/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.83it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1456/3000]: Train loss: 1.8847, Valid loss: 2.8371\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1457/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.85it/s, loss=1.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1457/3000]: Train loss: 1.9195, Valid loss: 2.5639\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1458/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.19it/s, loss=3.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1458/3000]: Train loss: 2.2985, Valid loss: 2.1127\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1459/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.95it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1459/3000]: Train loss: 2.2937, Valid loss: 1.8889\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1460/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.04it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1460/3000]: Train loss: 1.7483, Valid loss: 2.3353\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1461/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.91it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1461/3000]: Train loss: 1.8145, Valid loss: 1.9952\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1462/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.74it/s, loss=1.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1462/3000]: Train loss: 1.7501, Valid loss: 1.9806\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1463/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.08it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1463/3000]: Train loss: 1.8422, Valid loss: 2.0184\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1464/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.24it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1464/3000]: Train loss: 1.7667, Valid loss: 2.4219\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1465/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.75it/s, loss=2.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1465/3000]: Train loss: 2.3921, Valid loss: 1.8370\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1466/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.90it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1466/3000]: Train loss: 2.6680, Valid loss: 3.5953\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1467/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.27it/s, loss=1.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1467/3000]: Train loss: 2.2072, Valid loss: 2.6788\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1468/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.60it/s, loss=2.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1468/3000]: Train loss: 2.1990, Valid loss: 2.4254\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1469/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.64it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1469/3000]: Train loss: 1.8788, Valid loss: 2.8391\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1470/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.09it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1470/3000]: Train loss: 2.4526, Valid loss: 2.0502\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1471/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.77it/s, loss=3.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1471/3000]: Train loss: 3.0386, Valid loss: 2.0070\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1472/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.57it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1472/3000]: Train loss: 2.4544, Valid loss: 2.1758\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1473/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.12it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1473/3000]: Train loss: 1.9687, Valid loss: 2.6396\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1474/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.39it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1474/3000]: Train loss: 2.0513, Valid loss: 3.0415\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1475/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.27it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1475/3000]: Train loss: 2.2353, Valid loss: 1.7483\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1476/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.11it/s, loss=1.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1476/3000]: Train loss: 2.1715, Valid loss: 2.3501\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1477/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.20it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1477/3000]: Train loss: 1.9536, Valid loss: 1.8922\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1478/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.14it/s, loss=1.91]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1478/3000]: Train loss: 1.8216, Valid loss: 2.0559\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1479/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.13it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1479/3000]: Train loss: 1.8174, Valid loss: 1.9946\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1480/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.44it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1480/3000]: Train loss: 1.7599, Valid loss: 2.2487\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1481/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.93it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1481/3000]: Train loss: 1.8062, Valid loss: 1.7218\n","Saving model with loss 1.722...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1482/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.93it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1482/3000]: Train loss: 1.7246, Valid loss: 2.3966\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1483/3000]: 100%|██████████| 9/9 [00:00<00:00, 29.70it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1483/3000]: Train loss: 1.7363, Valid loss: 1.6272\n","Saving model with loss 1.627...\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1484/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.56it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1484/3000]: Train loss: 1.7284, Valid loss: 1.9830\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1485/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.46it/s, loss=2.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1485/3000]: Train loss: 1.8361, Valid loss: 3.7253\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1486/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.20it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1486/3000]: Train loss: 2.3987, Valid loss: 2.5974\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1487/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.63it/s, loss=2.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1487/3000]: Train loss: 2.3695, Valid loss: 2.3688\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1488/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.12it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1488/3000]: Train loss: 1.8377, Valid loss: 2.6417\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1489/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.83it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1489/3000]: Train loss: 1.8688, Valid loss: 2.2295\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1490/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.16it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1490/3000]: Train loss: 1.7608, Valid loss: 2.1687\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1491/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.58it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1491/3000]: Train loss: 1.8530, Valid loss: 1.8633\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1492/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.53it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1492/3000]: Train loss: 1.7641, Valid loss: 2.1231\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1493/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.63it/s, loss=2.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1493/3000]: Train loss: 1.8125, Valid loss: 2.4234\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1494/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.32it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1494/3000]: Train loss: 1.9852, Valid loss: 2.2969\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1495/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.21it/s, loss=2.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1495/3000]: Train loss: 1.9719, Valid loss: 2.7215\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1496/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.00it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1496/3000]: Train loss: 2.2357, Valid loss: 1.8807\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1497/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.63it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1497/3000]: Train loss: 1.8821, Valid loss: 1.9447\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1498/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.00it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1498/3000]: Train loss: 2.1692, Valid loss: 3.0157\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1499/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.77it/s, loss=3.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1499/3000]: Train loss: 2.3044, Valid loss: 2.7877\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1500/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.89it/s, loss=2.02]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1500/3000]: Train loss: 2.2162, Valid loss: 1.9155\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1501/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.57it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1501/3000]: Train loss: 1.9173, Valid loss: 1.9047\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1502/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.34it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1502/3000]: Train loss: 2.1816, Valid loss: 2.6362\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1503/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.64it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1503/3000]: Train loss: 1.9845, Valid loss: 3.0660\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1504/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.18it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1504/3000]: Train loss: 2.1090, Valid loss: 2.3136\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1505/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.54it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1505/3000]: Train loss: 2.2183, Valid loss: 1.7646\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1506/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.11it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1506/3000]: Train loss: 2.0376, Valid loss: 2.1503\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1507/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.64it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1507/3000]: Train loss: 2.3879, Valid loss: 2.1784\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1508/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.77it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1508/3000]: Train loss: 1.9978, Valid loss: 2.3620\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1509/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.62it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1509/3000]: Train loss: 2.2572, Valid loss: 2.4431\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1510/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.09it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1510/3000]: Train loss: 2.1530, Valid loss: 2.8780\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1511/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.09it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1511/3000]: Train loss: 2.2510, Valid loss: 1.9548\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1512/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.86it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1512/3000]: Train loss: 1.7976, Valid loss: 1.8802\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1513/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.55it/s, loss=2.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1513/3000]: Train loss: 1.8211, Valid loss: 3.8803\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1514/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.79it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1514/3000]: Train loss: 2.2717, Valid loss: 2.0853\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1515/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.36it/s, loss=2.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1515/3000]: Train loss: 2.1635, Valid loss: 1.8125\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1516/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.95it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1516/3000]: Train loss: 1.7962, Valid loss: 2.6561\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1517/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.38it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1517/3000]: Train loss: 1.7501, Valid loss: 2.4163\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1518/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.99it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1518/3000]: Train loss: 1.7524, Valid loss: 2.3366\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1519/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.69it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1519/3000]: Train loss: 1.8708, Valid loss: 1.8383\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1520/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.26it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1520/3000]: Train loss: 1.9890, Valid loss: 2.1681\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1521/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.35it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1521/3000]: Train loss: 1.8540, Valid loss: 1.7917\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1522/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.32it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1522/3000]: Train loss: 1.7683, Valid loss: 2.0206\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1523/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.09it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1523/3000]: Train loss: 1.9465, Valid loss: 3.9866\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1524/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.81it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1524/3000]: Train loss: 2.1115, Valid loss: 2.8652\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1525/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.56it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1525/3000]: Train loss: 2.3415, Valid loss: 1.9781\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1526/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.73it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1526/3000]: Train loss: 2.2108, Valid loss: 2.1657\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1527/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.21it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1527/3000]: Train loss: 1.7750, Valid loss: 1.8818\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1528/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.04it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1528/3000]: Train loss: 1.7652, Valid loss: 1.9014\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1529/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.08it/s, loss=1.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1529/3000]: Train loss: 1.7300, Valid loss: 1.9630\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1530/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.89it/s, loss=1.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1530/3000]: Train loss: 1.7132, Valid loss: 2.3060\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1531/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.72it/s, loss=2.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1531/3000]: Train loss: 1.9987, Valid loss: 3.0986\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1532/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.20it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1532/3000]: Train loss: 2.0343, Valid loss: 2.3279\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1533/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.20it/s, loss=2.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1533/3000]: Train loss: 2.2248, Valid loss: 1.8651\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1534/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.19it/s, loss=2.89]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1534/3000]: Train loss: 1.8794, Valid loss: 2.7338\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1535/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.76it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1535/3000]: Train loss: 2.0740, Valid loss: 1.8327\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1536/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.25it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1536/3000]: Train loss: 1.9346, Valid loss: 2.6537\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1537/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.36it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1537/3000]: Train loss: 1.9563, Valid loss: 1.8528\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1538/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.92it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1538/3000]: Train loss: 1.8982, Valid loss: 2.0864\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1539/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.30it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1539/3000]: Train loss: 2.1492, Valid loss: 2.2820\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1540/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.35it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1540/3000]: Train loss: 2.0066, Valid loss: 1.6735\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1541/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.56it/s, loss=1.29]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1541/3000]: Train loss: 2.1635, Valid loss: 2.3534\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1542/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.47it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1542/3000]: Train loss: 1.8724, Valid loss: 2.0537\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1543/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.79it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1543/3000]: Train loss: 1.7637, Valid loss: 2.0338\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1544/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.82it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1544/3000]: Train loss: 1.8288, Valid loss: 1.8406\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1545/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.26it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1545/3000]: Train loss: 1.9593, Valid loss: 2.5093\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1546/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.41it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1546/3000]: Train loss: 1.9364, Valid loss: 2.4834\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1547/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.40it/s, loss=2.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1547/3000]: Train loss: 2.0358, Valid loss: 2.0220\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1548/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.90it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1548/3000]: Train loss: 1.9036, Valid loss: 2.1722\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1549/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.38it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1549/3000]: Train loss: 1.8329, Valid loss: 2.1125\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1550/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.27it/s, loss=2.21]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1550/3000]: Train loss: 1.8219, Valid loss: 1.8065\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1551/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.43it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1551/3000]: Train loss: 2.0332, Valid loss: 2.9656\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1552/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.25it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1552/3000]: Train loss: 1.9771, Valid loss: 1.8458\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1553/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.12it/s, loss=3.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1553/3000]: Train loss: 2.5656, Valid loss: 2.5655\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1554/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.96it/s, loss=3.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1554/3000]: Train loss: 2.7799, Valid loss: 4.0161\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1555/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.26it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1555/3000]: Train loss: 2.4229, Valid loss: 2.1327\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1556/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.08it/s, loss=2.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1556/3000]: Train loss: 1.9472, Valid loss: 2.2191\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1557/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.01it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1557/3000]: Train loss: 1.8403, Valid loss: 2.5795\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1558/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.57it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1558/3000]: Train loss: 1.9398, Valid loss: 2.1768\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1559/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.06it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1559/3000]: Train loss: 2.0185, Valid loss: 1.7636\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1560/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.71it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1560/3000]: Train loss: 1.8461, Valid loss: 1.9448\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1561/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.79it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1561/3000]: Train loss: 1.8879, Valid loss: 2.1162\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1562/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.38it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1562/3000]: Train loss: 1.7549, Valid loss: 2.1846\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1563/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.96it/s, loss=1.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1563/3000]: Train loss: 1.8194, Valid loss: 2.2550\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1564/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.59it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1564/3000]: Train loss: 1.7346, Valid loss: 1.8574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1565/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.04it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1565/3000]: Train loss: 1.7957, Valid loss: 1.9794\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1566/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.23it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1566/3000]: Train loss: 1.9295, Valid loss: 2.3496\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1567/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.39it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1567/3000]: Train loss: 2.1192, Valid loss: 1.9833\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1568/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.21it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1568/3000]: Train loss: 1.8913, Valid loss: 1.9422\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1569/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.52it/s, loss=1.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1569/3000]: Train loss: 1.8018, Valid loss: 2.0185\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1570/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.13it/s, loss=1.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1570/3000]: Train loss: 1.7381, Valid loss: 2.0727\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1571/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.55it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1571/3000]: Train loss: 1.7250, Valid loss: 1.9851\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1572/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.11it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1572/3000]: Train loss: 1.8357, Valid loss: 1.7438\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1573/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.16it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1573/3000]: Train loss: 1.7708, Valid loss: 2.3798\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1574/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.14it/s, loss=2.08]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1574/3000]: Train loss: 1.7969, Valid loss: 1.9211\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1575/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.62it/s, loss=1.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1575/3000]: Train loss: 1.7100, Valid loss: 2.0950\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1576/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.69it/s, loss=1.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1576/3000]: Train loss: 1.6914, Valid loss: 2.1936\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1577/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.78it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1577/3000]: Train loss: 1.7132, Valid loss: 2.0272\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1578/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.86it/s, loss=3.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1578/3000]: Train loss: 1.9260, Valid loss: 3.0740\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1579/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.86it/s, loss=1.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1579/3000]: Train loss: 1.9132, Valid loss: 2.1365\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1580/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.80it/s, loss=2.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1580/3000]: Train loss: 1.8984, Valid loss: 2.8558\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1581/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.15it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1581/3000]: Train loss: 2.0790, Valid loss: 2.6107\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1582/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.08it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1582/3000]: Train loss: 1.9615, Valid loss: 2.1489\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1583/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.32it/s, loss=2.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1583/3000]: Train loss: 2.0527, Valid loss: 2.1188\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1584/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.46it/s, loss=2.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1584/3000]: Train loss: 2.0446, Valid loss: 4.9272\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1585/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.85it/s, loss=2.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1585/3000]: Train loss: 2.6878, Valid loss: 2.9764\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1586/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.25it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1586/3000]: Train loss: 2.5982, Valid loss: 2.0423\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1587/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.19it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1587/3000]: Train loss: 2.0522, Valid loss: 3.0381\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1588/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.99it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1588/3000]: Train loss: 2.0564, Valid loss: 1.9870\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1589/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.09it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1589/3000]: Train loss: 2.3165, Valid loss: 2.5813\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1590/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.90it/s, loss=1.88]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1590/3000]: Train loss: 1.8799, Valid loss: 1.9735\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1591/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.19it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1591/3000]: Train loss: 2.0912, Valid loss: 3.0172\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1592/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.69it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1592/3000]: Train loss: 2.1556, Valid loss: 2.1342\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1593/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.31it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1593/3000]: Train loss: 1.7593, Valid loss: 2.4390\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1594/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.27it/s, loss=1.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1594/3000]: Train loss: 1.7450, Valid loss: 2.1496\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1595/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.79it/s, loss=1.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1595/3000]: Train loss: 1.8884, Valid loss: 1.9343\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1596/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.33it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1596/3000]: Train loss: 1.8357, Valid loss: 1.9313\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1597/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.97it/s, loss=3.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1597/3000]: Train loss: 2.3687, Valid loss: 2.9185\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1598/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.55it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1598/3000]: Train loss: 2.0960, Valid loss: 2.3433\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1599/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.76it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1599/3000]: Train loss: 1.8314, Valid loss: 2.3063\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1600/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.71it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1600/3000]: Train loss: 1.8864, Valid loss: 1.7534\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1601/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.80it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1601/3000]: Train loss: 1.7619, Valid loss: 2.6291\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1602/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.82it/s, loss=1.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1602/3000]: Train loss: 1.8781, Valid loss: 2.8574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1603/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.90it/s, loss=2.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1603/3000]: Train loss: 2.1514, Valid loss: 2.5264\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1604/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.66it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1604/3000]: Train loss: 1.9262, Valid loss: 2.6980\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1605/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.86it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1605/3000]: Train loss: 1.8310, Valid loss: 1.7798\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1606/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.29it/s, loss=1.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1606/3000]: Train loss: 1.6877, Valid loss: 2.6763\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1607/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.16it/s, loss=2.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1607/3000]: Train loss: 1.9398, Valid loss: 2.6095\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1608/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.40it/s, loss=1.37]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1608/3000]: Train loss: 1.7391, Valid loss: 2.0340\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1609/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.55it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1609/3000]: Train loss: 1.7663, Valid loss: 2.2467\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1610/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.14it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1610/3000]: Train loss: 1.7392, Valid loss: 1.8085\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1611/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.78it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1611/3000]: Train loss: 1.7519, Valid loss: 1.8575\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1612/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.33it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1612/3000]: Train loss: 1.7263, Valid loss: 1.9273\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1613/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.15it/s, loss=1.52]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1613/3000]: Train loss: 1.7219, Valid loss: 1.8950\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1614/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.90it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1614/3000]: Train loss: 1.7936, Valid loss: 2.1623\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1615/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.88it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1615/3000]: Train loss: 1.9070, Valid loss: 1.8244\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1616/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.98it/s, loss=1.84]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1616/3000]: Train loss: 1.9844, Valid loss: 3.1008\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1617/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.70it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1617/3000]: Train loss: 2.2552, Valid loss: 2.1426\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1618/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.81it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1618/3000]: Train loss: 1.7289, Valid loss: 1.8277\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1619/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.03it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1619/3000]: Train loss: 1.7639, Valid loss: 1.8436\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1620/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.37it/s, loss=1.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1620/3000]: Train loss: 1.6780, Valid loss: 2.6639\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1621/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.32it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1621/3000]: Train loss: 2.0410, Valid loss: 3.2088\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1622/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.63it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1622/3000]: Train loss: 2.4499, Valid loss: 2.9460\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1623/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.44it/s, loss=2.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1623/3000]: Train loss: 2.3300, Valid loss: 2.1197\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1624/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.04it/s, loss=6.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1624/3000]: Train loss: 3.4310, Valid loss: 2.0968\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1625/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.30it/s, loss=5.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1625/3000]: Train loss: 3.0238, Valid loss: 3.2104\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1626/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.52it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1626/3000]: Train loss: 2.1462, Valid loss: 2.0146\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1627/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.63it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1627/3000]: Train loss: 1.7639, Valid loss: 2.2317\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1628/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.20it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1628/3000]: Train loss: 1.8892, Valid loss: 2.0399\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1629/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.64it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1629/3000]: Train loss: 1.8549, Valid loss: 2.0776\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1630/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.35it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1630/3000]: Train loss: 1.9299, Valid loss: 1.8902\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1631/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.59it/s, loss=1.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1631/3000]: Train loss: 1.8967, Valid loss: 3.0401\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1632/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.85it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1632/3000]: Train loss: 1.8832, Valid loss: 2.6950\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1633/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.65it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1633/3000]: Train loss: 1.8925, Valid loss: 1.7759\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1634/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.79it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1634/3000]: Train loss: 1.7327, Valid loss: 1.8744\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1635/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.04it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1635/3000]: Train loss: 1.9268, Valid loss: 2.2321\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1636/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.26it/s, loss=1.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1636/3000]: Train loss: 1.6946, Valid loss: 2.0889\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1637/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.43it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1637/3000]: Train loss: 1.7495, Valid loss: 2.0030\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1638/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.30it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1638/3000]: Train loss: 1.7474, Valid loss: 2.2508\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1639/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.36it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1639/3000]: Train loss: 1.9296, Valid loss: 1.8268\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1640/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.27it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1640/3000]: Train loss: 1.7877, Valid loss: 1.9096\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1641/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.13it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1641/3000]: Train loss: 1.7398, Valid loss: 1.7449\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1642/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.24it/s, loss=2.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1642/3000]: Train loss: 1.7944, Valid loss: 2.2653\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1643/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.44it/s, loss=2.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1643/3000]: Train loss: 2.0673, Valid loss: 3.4761\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1644/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.93it/s, loss=3.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1644/3000]: Train loss: 2.9611, Valid loss: 2.1480\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1645/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.60it/s, loss=3.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1645/3000]: Train loss: 2.7090, Valid loss: 4.4880\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1646/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.49it/s, loss=2.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1646/3000]: Train loss: 2.6806, Valid loss: 3.3580\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1647/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.73it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1647/3000]: Train loss: 2.1119, Valid loss: 3.1748\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1648/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.95it/s, loss=3.13]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1648/3000]: Train loss: 2.3044, Valid loss: 1.9723\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1649/3000]: 100%|██████████| 9/9 [00:00<00:00, 102.81it/s, loss=1.32]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1649/3000]: Train loss: 1.9358, Valid loss: 2.8132\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1650/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.72it/s, loss=2.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1650/3000]: Train loss: 2.2356, Valid loss: 2.2442\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1651/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.62it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1651/3000]: Train loss: 2.0699, Valid loss: 4.2553\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1652/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.13it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1652/3000]: Train loss: 2.5399, Valid loss: 3.0780\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1653/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.17it/s, loss=1.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1653/3000]: Train loss: 2.0160, Valid loss: 2.3221\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1654/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.29it/s, loss=1.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1654/3000]: Train loss: 1.6827, Valid loss: 2.1306\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1655/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.20it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1655/3000]: Train loss: 1.8714, Valid loss: 2.1838\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1656/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.21it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1656/3000]: Train loss: 2.0907, Valid loss: 2.8705\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1657/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.81it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1657/3000]: Train loss: 2.0486, Valid loss: 1.8291\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1658/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.20it/s, loss=1.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1658/3000]: Train loss: 1.7994, Valid loss: 2.4245\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1659/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.57it/s, loss=1.65]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1659/3000]: Train loss: 2.2423, Valid loss: 2.5959\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1660/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.93it/s, loss=3.11]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1660/3000]: Train loss: 2.3558, Valid loss: 2.7119\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1661/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.49it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1661/3000]: Train loss: 2.1885, Valid loss: 2.1148\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1662/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.73it/s, loss=2.82]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1662/3000]: Train loss: 1.9448, Valid loss: 2.1179\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1663/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.37it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1663/3000]: Train loss: 2.0372, Valid loss: 2.2402\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1664/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.63it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1664/3000]: Train loss: 1.9926, Valid loss: 2.5258\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1665/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.84it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1665/3000]: Train loss: 1.9374, Valid loss: 1.6642\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1666/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.84it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1666/3000]: Train loss: 1.8902, Valid loss: 1.8506\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1667/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.47it/s, loss=3.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1667/3000]: Train loss: 2.2511, Valid loss: 1.9798\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1668/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.32it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1668/3000]: Train loss: 2.3744, Valid loss: 2.6453\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1669/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.30it/s, loss=3.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1669/3000]: Train loss: 2.1774, Valid loss: 2.5122\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1670/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.52it/s, loss=2.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1670/3000]: Train loss: 2.0043, Valid loss: 2.7789\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1671/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.18it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1671/3000]: Train loss: 2.0392, Valid loss: 3.4357\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1672/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.21it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1672/3000]: Train loss: 2.6071, Valid loss: 3.6096\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1673/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.35it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1673/3000]: Train loss: 2.4582, Valid loss: 2.4661\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1674/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.32it/s, loss=1.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1674/3000]: Train loss: 1.7309, Valid loss: 2.3366\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1675/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.84it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1675/3000]: Train loss: 1.7207, Valid loss: 1.6644\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1676/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.70it/s, loss=1.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1676/3000]: Train loss: 1.7637, Valid loss: 1.8561\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1677/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.00it/s, loss=1.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1677/3000]: Train loss: 1.6980, Valid loss: 2.7669\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1678/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.84it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1678/3000]: Train loss: 1.8595, Valid loss: 2.4080\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1679/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.31it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1679/3000]: Train loss: 2.0525, Valid loss: 1.9530\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1680/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.23it/s, loss=2.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1680/3000]: Train loss: 1.9737, Valid loss: 2.4009\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1681/3000]: 100%|██████████| 9/9 [00:00<00:00, 88.05it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1681/3000]: Train loss: 1.7976, Valid loss: 2.0465\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1682/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.11it/s, loss=1.46]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1682/3000]: Train loss: 1.6768, Valid loss: 1.9138\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1683/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.83it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1683/3000]: Train loss: 1.7005, Valid loss: 1.8962\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1684/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.22it/s, loss=1.61]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1684/3000]: Train loss: 1.7045, Valid loss: 2.0998\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1685/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.91it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1685/3000]: Train loss: 1.7592, Valid loss: 2.9235\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1686/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.61it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1686/3000]: Train loss: 1.9402, Valid loss: 2.3819\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1687/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.21it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1687/3000]: Train loss: 1.7632, Valid loss: 2.0958\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1688/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.55it/s, loss=2.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1688/3000]: Train loss: 2.0000, Valid loss: 2.2178\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1689/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.65it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1689/3000]: Train loss: 1.7478, Valid loss: 1.7998\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1690/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.52it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1690/3000]: Train loss: 1.6917, Valid loss: 2.0285\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1691/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.89it/s, loss=1.66]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1691/3000]: Train loss: 2.2122, Valid loss: 2.7103\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1692/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.83it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1692/3000]: Train loss: 1.9003, Valid loss: 1.9837\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1693/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.15it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1693/3000]: Train loss: 1.7658, Valid loss: 1.7776\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1694/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.83it/s, loss=1.27]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1694/3000]: Train loss: 1.6877, Valid loss: 2.6313\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1695/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.62it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1695/3000]: Train loss: 1.7620, Valid loss: 2.4440\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1696/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.99it/s, loss=1.34]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1696/3000]: Train loss: 1.7977, Valid loss: 2.4217\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1697/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.09it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1697/3000]: Train loss: 1.9647, Valid loss: 2.2475\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1698/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.55it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1698/3000]: Train loss: 1.8713, Valid loss: 2.0203\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1699/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.47it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1699/3000]: Train loss: 1.7949, Valid loss: 2.2472\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1700/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.66it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1700/3000]: Train loss: 2.0216, Valid loss: 2.5277\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1701/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.75it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1701/3000]: Train loss: 2.0366, Valid loss: 2.2055\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1702/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.70it/s, loss=1.56]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1702/3000]: Train loss: 2.0060, Valid loss: 2.4934\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1703/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.23it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1703/3000]: Train loss: 1.8290, Valid loss: 1.9927\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1704/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.92it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1704/3000]: Train loss: 1.7384, Valid loss: 2.0010\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1705/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.46it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1705/3000]: Train loss: 1.7150, Valid loss: 2.1442\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1706/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.93it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1706/3000]: Train loss: 1.8154, Valid loss: 2.4872\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1707/3000]: 100%|██████████| 9/9 [00:00<00:00, 100.39it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1707/3000]: Train loss: 1.9110, Valid loss: 2.6682\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1708/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.45it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1708/3000]: Train loss: 1.9878, Valid loss: 3.8404\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1709/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.94it/s, loss=2.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1709/3000]: Train loss: 2.7374, Valid loss: 1.9552\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1710/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.93it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1710/3000]: Train loss: 1.9759, Valid loss: 2.0928\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1711/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.43it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1711/3000]: Train loss: 1.6954, Valid loss: 1.8356\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1712/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.56it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1712/3000]: Train loss: 1.7444, Valid loss: 1.9170\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1713/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.81it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1713/3000]: Train loss: 1.7655, Valid loss: 1.8095\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1714/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.73it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1714/3000]: Train loss: 1.8353, Valid loss: 2.2284\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1715/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.63it/s, loss=3.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1715/3000]: Train loss: 2.1043, Valid loss: 1.9145\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1716/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.22it/s, loss=1.8]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1716/3000]: Train loss: 2.2323, Valid loss: 3.2942\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1717/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.98it/s, loss=3.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1717/3000]: Train loss: 2.3050, Valid loss: 2.0118\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1718/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.12it/s, loss=1.71]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1718/3000]: Train loss: 2.2949, Valid loss: 3.0459\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1719/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.06it/s, loss=2.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1719/3000]: Train loss: 2.3781, Valid loss: 2.7773\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1720/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.42it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1720/3000]: Train loss: 1.8444, Valid loss: 1.8263\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1721/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.20it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1721/3000]: Train loss: 1.7224, Valid loss: 2.0255\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1722/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.59it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1722/3000]: Train loss: 1.7631, Valid loss: 2.1803\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1723/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.37it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1723/3000]: Train loss: 1.7723, Valid loss: 2.3386\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1724/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.32it/s, loss=1.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1724/3000]: Train loss: 1.6919, Valid loss: 1.7835\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1725/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.66it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1725/3000]: Train loss: 2.0366, Valid loss: 1.9427\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1726/3000]: 100%|██████████| 9/9 [00:00<00:00, 89.58it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1726/3000]: Train loss: 1.7071, Valid loss: 2.1373\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1727/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.21it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1727/3000]: Train loss: 1.7061, Valid loss: 1.9154\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1728/3000]: 100%|██████████| 9/9 [00:00<00:00, 32.68it/s, loss=1.73]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1728/3000]: Train loss: 1.7984, Valid loss: 2.6073\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1729/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.57it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1729/3000]: Train loss: 2.2537, Valid loss: 2.3603\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1730/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.29it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1730/3000]: Train loss: 1.7604, Valid loss: 1.7280\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1731/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.81it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1731/3000]: Train loss: 1.9340, Valid loss: 2.5522\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1732/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.42it/s, loss=3.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1732/3000]: Train loss: 2.7051, Valid loss: 1.9549\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1733/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.64it/s, loss=3.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1733/3000]: Train loss: 2.2780, Valid loss: 3.2502\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1734/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.04it/s, loss=1.68]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1734/3000]: Train loss: 2.2852, Valid loss: 3.0276\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1735/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.42it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1735/3000]: Train loss: 2.1141, Valid loss: 2.2074\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1736/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.25it/s, loss=2.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1736/3000]: Train loss: 1.9206, Valid loss: 3.6417\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1737/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.67it/s, loss=1.4]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1737/3000]: Train loss: 2.0212, Valid loss: 1.9345\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1738/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.32it/s, loss=2.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1738/3000]: Train loss: 1.8832, Valid loss: 3.7284\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1739/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.15it/s, loss=3.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1739/3000]: Train loss: 2.6505, Valid loss: 1.7948\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1740/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.80it/s, loss=3.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1740/3000]: Train loss: 2.1527, Valid loss: 3.2843\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1741/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.19it/s, loss=1.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1741/3000]: Train loss: 2.3662, Valid loss: 2.0382\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1742/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.79it/s, loss=1.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1742/3000]: Train loss: 1.8375, Valid loss: 3.8907\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1743/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.66it/s, loss=5.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1743/3000]: Train loss: 3.1187, Valid loss: 4.1624\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1744/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.99it/s, loss=3.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1744/3000]: Train loss: 2.6998, Valid loss: 4.1647\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1745/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.09it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1745/3000]: Train loss: 2.6232, Valid loss: 2.4282\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1746/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.70it/s, loss=5.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1746/3000]: Train loss: 3.0686, Valid loss: 3.4069\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1747/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.57it/s, loss=4.58]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1747/3000]: Train loss: 3.0461, Valid loss: 3.2609\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1748/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.40it/s, loss=4.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1748/3000]: Train loss: 3.0288, Valid loss: 4.1358\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1749/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.36it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1749/3000]: Train loss: 2.7410, Valid loss: 2.1218\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1750/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.46it/s, loss=1.93]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1750/3000]: Train loss: 1.7423, Valid loss: 2.6285\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1751/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.08it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1751/3000]: Train loss: 1.6878, Valid loss: 2.2599\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1752/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.34it/s, loss=1.25]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1752/3000]: Train loss: 1.7352, Valid loss: 2.0077\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1753/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.48it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1753/3000]: Train loss: 1.8228, Valid loss: 2.2391\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1754/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.00it/s, loss=2.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1754/3000]: Train loss: 2.0538, Valid loss: 2.1892\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1755/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.70it/s, loss=2.09]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1755/3000]: Train loss: 1.9220, Valid loss: 2.1247\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1756/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.16it/s, loss=2.06]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1756/3000]: Train loss: 1.8473, Valid loss: 2.2840\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1757/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.17it/s, loss=2.26]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1757/3000]: Train loss: 1.9791, Valid loss: 1.7479\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1758/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.64it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1758/3000]: Train loss: 1.7929, Valid loss: 1.9353\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1759/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.32it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1759/3000]: Train loss: 1.8190, Valid loss: 2.2017\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1760/3000]: 100%|██████████| 9/9 [00:00<00:00, 66.98it/s, loss=1.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1760/3000]: Train loss: 1.8138, Valid loss: 2.7741\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1761/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.29it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1761/3000]: Train loss: 1.9952, Valid loss: 2.5063\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1762/3000]: 100%|██████████| 9/9 [00:00<00:00, 68.51it/s, loss=1.83]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1762/3000]: Train loss: 2.0931, Valid loss: 2.1551\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1763/3000]: 100%|██████████| 9/9 [00:00<00:00, 65.02it/s, loss=2.03]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1763/3000]: Train loss: 1.7443, Valid loss: 2.2235\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1764/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.93it/s, loss=2.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1764/3000]: Train loss: 1.7343, Valid loss: 1.9766\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1765/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.96it/s, loss=1.81]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1765/3000]: Train loss: 1.6638, Valid loss: 2.4393\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1766/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.70it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1766/3000]: Train loss: 1.8689, Valid loss: 1.9970\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1767/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.86it/s, loss=1.5]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1767/3000]: Train loss: 1.7343, Valid loss: 2.1709\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1768/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.68it/s, loss=1.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1768/3000]: Train loss: 1.8019, Valid loss: 2.3670\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1769/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.72it/s, loss=1.54]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1769/3000]: Train loss: 1.6761, Valid loss: 1.8411\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1770/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.11it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1770/3000]: Train loss: 1.7435, Valid loss: 2.4475\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1771/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.56it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1771/3000]: Train loss: 1.7288, Valid loss: 2.1937\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1772/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.95it/s, loss=2.15]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1772/3000]: Train loss: 1.8008, Valid loss: 2.2449\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1773/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.23it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1773/3000]: Train loss: 1.7580, Valid loss: 2.0296\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1774/3000]: 100%|██████████| 9/9 [00:00<00:00, 94.03it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1774/3000]: Train loss: 1.6561, Valid loss: 2.1574\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1775/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.74it/s, loss=1.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1775/3000]: Train loss: 1.7334, Valid loss: 1.8307\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1776/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.97it/s, loss=2]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1776/3000]: Train loss: 1.6830, Valid loss: 2.3805\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1777/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.36it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1777/3000]: Train loss: 1.7520, Valid loss: 2.1814\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1778/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.45it/s, loss=1.17]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1778/3000]: Train loss: 1.7674, Valid loss: 2.3177\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1779/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.20it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1779/3000]: Train loss: 1.7544, Valid loss: 1.9649\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1780/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.68it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1780/3000]: Train loss: 1.8256, Valid loss: 2.4297\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1781/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.17it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1781/3000]: Train loss: 1.8847, Valid loss: 2.0022\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1782/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.72it/s, loss=1.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1782/3000]: Train loss: 1.6836, Valid loss: 1.8618\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1783/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.02it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1783/3000]: Train loss: 1.8254, Valid loss: 2.4461\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1784/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.41it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1784/3000]: Train loss: 1.9225, Valid loss: 2.5845\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1785/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.76it/s, loss=1.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1785/3000]: Train loss: 2.0960, Valid loss: 3.3690\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1786/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.99it/s, loss=2.7]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1786/3000]: Train loss: 2.3632, Valid loss: 1.8645\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1787/3000]: 100%|██████████| 9/9 [00:00<00:00, 64.69it/s, loss=2.33]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1787/3000]: Train loss: 1.9469, Valid loss: 2.1255\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1788/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.72it/s, loss=2.14]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1788/3000]: Train loss: 2.1595, Valid loss: 2.5406\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1789/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.23it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1789/3000]: Train loss: 1.9184, Valid loss: 1.8546\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1790/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.96it/s, loss=2.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1790/3000]: Train loss: 1.7629, Valid loss: 1.6514\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1791/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.51it/s, loss=1.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1791/3000]: Train loss: 1.8265, Valid loss: 2.4558\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1792/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.28it/s, loss=1.35]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1792/3000]: Train loss: 1.9503, Valid loss: 2.4979\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1793/3000]: 100%|██████████| 9/9 [00:00<00:00, 95.99it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1793/3000]: Train loss: 1.8439, Valid loss: 1.9599\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1794/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.49it/s, loss=1.22]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1794/3000]: Train loss: 1.6456, Valid loss: 2.0389\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1795/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.43it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1795/3000]: Train loss: 1.7603, Valid loss: 1.8843\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1796/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.60it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1796/3000]: Train loss: 1.7093, Valid loss: 2.2557\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1797/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.28it/s, loss=1.62]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1797/3000]: Train loss: 1.8242, Valid loss: 2.1518\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1798/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.82it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1798/3000]: Train loss: 1.7888, Valid loss: 2.2248\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1799/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.24it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1799/3000]: Train loss: 1.6570, Valid loss: 1.7649\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1800/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.03it/s, loss=1.79]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1800/3000]: Train loss: 1.7421, Valid loss: 1.8562\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1801/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.95it/s, loss=1.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1801/3000]: Train loss: 1.7413, Valid loss: 2.1200\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1802/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.07it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1802/3000]: Train loss: 1.7034, Valid loss: 2.1952\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1803/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.59it/s, loss=2.16]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1803/3000]: Train loss: 1.8857, Valid loss: 2.0429\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1804/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.49it/s, loss=1.55]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1804/3000]: Train loss: 1.6822, Valid loss: 1.7286\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1805/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.36it/s, loss=1.94]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1805/3000]: Train loss: 1.7285, Valid loss: 1.8921\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1806/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.04it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1806/3000]: Train loss: 1.8009, Valid loss: 2.0744\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1807/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.13it/s, loss=2.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1807/3000]: Train loss: 2.3723, Valid loss: 3.0493\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1808/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.79it/s, loss=2.04]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1808/3000]: Train loss: 2.0647, Valid loss: 2.3484\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1809/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.83it/s, loss=2.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1809/3000]: Train loss: 2.0300, Valid loss: 1.9964\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1810/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.06it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1810/3000]: Train loss: 1.6737, Valid loss: 1.7465\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1811/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.67it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1811/3000]: Train loss: 1.7229, Valid loss: 1.9634\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1812/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.29it/s, loss=1.75]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1812/3000]: Train loss: 1.6911, Valid loss: 3.1975\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1813/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.16it/s, loss=1.97]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1813/3000]: Train loss: 1.8734, Valid loss: 2.1753\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1814/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.00it/s, loss=1.39]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1814/3000]: Train loss: 1.6724, Valid loss: 1.9079\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1815/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.52it/s, loss=2.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1815/3000]: Train loss: 1.8036, Valid loss: 3.8255\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1816/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.73it/s, loss=1.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1816/3000]: Train loss: 2.2216, Valid loss: 2.4159\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1817/3000]: 100%|██████████| 9/9 [00:00<00:00, 92.88it/s, loss=2.23]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1817/3000]: Train loss: 2.3274, Valid loss: 1.9261\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1818/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.19it/s, loss=2.19]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1818/3000]: Train loss: 2.1238, Valid loss: 1.9688\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1819/3000]: 100%|██████████| 9/9 [00:00<00:00, 71.89it/s, loss=1.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1819/3000]: Train loss: 1.6448, Valid loss: 1.9294\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1820/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.86it/s, loss=2.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1820/3000]: Train loss: 1.8035, Valid loss: 2.3348\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1821/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.68it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1821/3000]: Train loss: 1.7817, Valid loss: 2.5863\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1822/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.98it/s, loss=1.63]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1822/3000]: Train loss: 1.7762, Valid loss: 2.1959\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1823/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.81it/s, loss=1.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1823/3000]: Train loss: 1.7301, Valid loss: 1.6369\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1824/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.65it/s, loss=1.9]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1824/3000]: Train loss: 1.6675, Valid loss: 1.8072\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1825/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.58it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1825/3000]: Train loss: 1.7322, Valid loss: 2.7034\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1826/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.71it/s, loss=1.72]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1826/3000]: Train loss: 2.0585, Valid loss: 3.9792\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1827/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.74it/s, loss=2.05]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1827/3000]: Train loss: 2.6774, Valid loss: 2.2500\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1828/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.58it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1828/3000]: Train loss: 2.3133, Valid loss: 3.4827\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1829/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.04it/s, loss=1.85]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1829/3000]: Train loss: 2.1390, Valid loss: 2.2475\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1830/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.63it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1830/3000]: Train loss: 1.9427, Valid loss: 1.9202\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1831/3000]: 100%|██████████| 9/9 [00:00<00:00, 72.70it/s, loss=1.86]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1831/3000]: Train loss: 1.8411, Valid loss: 2.8178\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1832/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.24it/s, loss=2.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1832/3000]: Train loss: 2.3032, Valid loss: 1.9464\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1833/3000]: 100%|██████████| 9/9 [00:00<00:00, 74.81it/s, loss=1.78]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1833/3000]: Train loss: 1.9076, Valid loss: 2.4799\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1834/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.57it/s, loss=1.36]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1834/3000]: Train loss: 1.7986, Valid loss: 1.8563\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1835/3000]: 100%|██████████| 9/9 [00:00<00:00, 87.16it/s, loss=1.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1835/3000]: Train loss: 1.8218, Valid loss: 2.5300\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1836/3000]: 100%|██████████| 9/9 [00:00<00:00, 81.30it/s, loss=1.51]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1836/3000]: Train loss: 1.8577, Valid loss: 2.5342\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1837/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.90it/s, loss=1.43]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1837/3000]: Train loss: 1.7576, Valid loss: 1.8998\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1838/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.18it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1838/3000]: Train loss: 1.7605, Valid loss: 2.2139\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1839/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.96it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1839/3000]: Train loss: 2.0826, Valid loss: 2.9585\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1840/3000]: 100%|██████████| 9/9 [00:00<00:00, 80.22it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1840/3000]: Train loss: 2.0511, Valid loss: 2.1386\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1841/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.59it/s, loss=2.76]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1841/3000]: Train loss: 2.2079, Valid loss: 2.3381\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1842/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.91it/s, loss=3.1]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1842/3000]: Train loss: 2.2406, Valid loss: 2.0421\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1843/3000]: 100%|██████████| 9/9 [00:00<00:00, 70.83it/s, loss=1.77]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1843/3000]: Train loss: 1.7971, Valid loss: 1.8073\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1844/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.02it/s, loss=2.07]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1844/3000]: Train loss: 1.6827, Valid loss: 2.1621\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1845/3000]: 100%|██████████| 9/9 [00:00<00:00, 69.22it/s, loss=2.38]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1845/3000]: Train loss: 2.0108, Valid loss: 2.2008\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1846/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.25it/s, loss=2.48]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1846/3000]: Train loss: 1.7609, Valid loss: 2.8731\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1847/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.00it/s, loss=2.42]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1847/3000]: Train loss: 2.3906, Valid loss: 2.7436\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1848/3000]: 100%|██████████| 9/9 [00:00<00:00, 86.23it/s, loss=1.92]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1848/3000]: Train loss: 2.4560, Valid loss: 1.7991\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1849/3000]: 100%|██████████| 9/9 [00:00<00:00, 76.17it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1849/3000]: Train loss: 1.8570, Valid loss: 1.9329\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1850/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.71it/s, loss=3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1850/3000]: Train loss: 1.8630, Valid loss: 1.8623\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1851/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.02it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1851/3000]: Train loss: 2.0719, Valid loss: 2.1294\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1852/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.00it/s, loss=1.87]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1852/3000]: Train loss: 2.0159, Valid loss: 2.4490\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1853/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.10it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1853/3000]: Train loss: 1.9266, Valid loss: 2.0831\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1854/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.89it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1854/3000]: Train loss: 1.7136, Valid loss: 2.1380\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1855/3000]: 100%|██████████| 9/9 [00:00<00:00, 96.17it/s, loss=1.41]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1855/3000]: Train loss: 1.7171, Valid loss: 1.9395\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1856/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.93it/s, loss=1.67]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1856/3000]: Train loss: 1.7994, Valid loss: 2.1777\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1857/3000]: 100%|██████████| 9/9 [00:00<00:00, 99.64it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1857/3000]: Train loss: 1.7475, Valid loss: 1.8626\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1858/3000]: 100%|██████████| 9/9 [00:00<00:00, 93.18it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1858/3000]: Train loss: 1.6456, Valid loss: 1.9568\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1859/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.52it/s, loss=1.96]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1859/3000]: Train loss: 1.7254, Valid loss: 1.9918\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1860/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.94it/s, loss=1.99]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1860/3000]: Train loss: 1.7861, Valid loss: 1.8181\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1861/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.49it/s, loss=1.45]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1861/3000]: Train loss: 1.6892, Valid loss: 1.8816\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1862/3000]: 100%|██████████| 9/9 [00:00<00:00, 79.27it/s, loss=1.6]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1862/3000]: Train loss: 1.6252, Valid loss: 1.9818\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1863/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.89it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1863/3000]: Train loss: 1.6723, Valid loss: 2.3293\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1864/3000]: 100%|██████████| 9/9 [00:00<00:00, 78.11it/s, loss=1.31]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1864/3000]: Train loss: 1.6585, Valid loss: 2.5187\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1865/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.11it/s, loss=1.47]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1865/3000]: Train loss: 1.6926, Valid loss: 2.0945\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1866/3000]: 100%|██████████| 9/9 [00:00<00:00, 73.56it/s, loss=2.49]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1866/3000]: Train loss: 1.8650, Valid loss: 3.2989\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1867/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.67it/s, loss=1.64]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1867/3000]: Train loss: 1.9180, Valid loss: 2.0471\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1868/3000]: 100%|██████████| 9/9 [00:00<00:00, 82.81it/s, loss=1.59]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1868/3000]: Train loss: 1.8552, Valid loss: 2.2137\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1869/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.22it/s, loss=1.98]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1869/3000]: Train loss: 1.6767, Valid loss: 1.8809\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1870/3000]: 100%|██████████| 9/9 [00:00<00:00, 90.78it/s, loss=2.28]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1870/3000]: Train loss: 1.7033, Valid loss: 2.7594\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1871/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.26it/s, loss=1.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1871/3000]: Train loss: 1.7522, Valid loss: 1.9301\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1872/3000]: 100%|██████████| 9/9 [00:00<00:00, 63.07it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1872/3000]: Train loss: 1.6861, Valid loss: 3.1541\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1873/3000]: 100%|██████████| 9/9 [00:00<00:00, 85.36it/s, loss=2.24]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1873/3000]: Train loss: 2.1815, Valid loss: 1.8528\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1874/3000]: 100%|██████████| 9/9 [00:00<00:00, 75.38it/s, loss=1.57]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1874/3000]: Train loss: 1.8303, Valid loss: 2.0746\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1875/3000]: 100%|██████████| 9/9 [00:00<00:00, 67.52it/s, loss=1.53]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1875/3000]: Train loss: 1.8559, Valid loss: 2.4715\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1876/3000]: 100%|██████████| 9/9 [00:00<00:00, 98.76it/s, loss=2.12]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1876/3000]: Train loss: 1.9996, Valid loss: 2.1386\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1877/3000]: 100%|██████████| 9/9 [00:00<00:00, 103.46it/s, loss=2.3]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1877/3000]: Train loss: 2.5319, Valid loss: 2.2137\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1878/3000]: 100%|██████████| 9/9 [00:00<00:00, 101.66it/s, loss=2.01]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1878/3000]: Train loss: 1.8005, Valid loss: 2.2831\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1879/3000]: 100%|██████████| 9/9 [00:00<00:00, 97.50it/s, loss=2.44]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1879/3000]: Train loss: 1.8971, Valid loss: 2.2999\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1880/3000]: 100%|██████████| 9/9 [00:00<00:00, 77.99it/s, loss=1.69]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1880/3000]: Train loss: 1.6671, Valid loss: 1.9465\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1881/3000]: 100%|██████████| 9/9 [00:00<00:00, 83.42it/s, loss=2.18]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1881/3000]: Train loss: 1.8515, Valid loss: 2.3277\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1882/3000]: 100%|██████████| 9/9 [00:00<00:00, 91.39it/s, loss=1.74]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1882/3000]: Train loss: 1.8015, Valid loss: 2.1103\n"]},{"output_type":"stream","name":"stderr","text":["Epoch [1883/3000]: 100%|██████████| 9/9 [00:00<00:00, 84.04it/s, loss=1.95]\n"]},{"output_type":"stream","name":"stdout","text":["Epoch [1883/3000]: Train loss: 1.7741, Valid loss: 2.4238\n","\n","Model is not improving, so we halt the training session.\n"]}],"source":["model = My_Model(input_dim=x_train.shape[1]).to(device) # put your model and data on the same computation device.\n","trainer(train_loader, valid_loader, model, config, device)"]},{"cell_type":"markdown","metadata":{"id":"Ik09KPqU-di-"},"source":["# Plot learning curves with `tensorboard` (optional)\n","\n","`tensorboard` is a tool that allows you to visualize your training progress.\n","\n","If this block does not display your learning curve, please wait for few minutes, and re-run this block. It might take some time to load your logging information. "]},{"cell_type":"code","execution_count":49,"metadata":{"id":"loA4nKmLGQ-n","colab":{"resources":{"https://localhost:6006/?tensorboardColab=true":{"data":"PCFkb2N0eXBlIGh0bWw+PG1ldGEgbmFtZT0idGItcmVsYXRpdmUtcm9vdCIgY29udGVudD0iLi8iPjwhZG9jdHlwZSBodG1sPjwhLS0KQGxpY2Vuc2UKQ29weXJpZ2h0IDIwMTkgVGhlIFRlbnNvckZsb3cgQXV0aG9ycy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KCkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwp5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQpkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLApXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZApsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLS0+PGh0bWw+PGhlYWQ+PG1ldGEgY2hhcnNldD0idXRmLTgiPgo8dGl0bGU+VGVuc29yQm9hcmQ8L3RpdGxlPgo8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBTVFBQUFERUNBWUFBQURBcG81ckFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUFBbHdTRmx6QUFCYWJnQUFXbTRCeFdzak9BQUFBQmwwUlZoMFUyOW1kSGRoY21VQWQzZDNMbWx1YTNOallYQmxMbTl5WjV2dVBCb0FBQmwwU1VSQlZIaWM3WjE1ZUZUVjNjYy92NXNGQ1ZSeHFWdHB0VlcyVmx4ZjYxcXRpcTBMOUdsOU5YVUJGRXBGUlRJaGhCQURDVGRBTUFFa0NZc0s3cUI5K2tENzJxZkJXaXZxVzdWYTY3NGlyZTlyYXhYMWJaVldaVEhML040LzVnNEdTR0R1ekwxejc1MDVuMzg0ek13NTU4dk0vWEsyM3prSERJR2ppemhQRjNGZTBEb01JRUVMeUdkMFBvT3dhQUF1Y1Y1YWgwVzVWUEI2a0xyeUdXT0lBRkNiL3ZTakVxZ0crdXp3S3dnZHdDMTBVQ2ZWL0RzWWhmbUxNVVFXVVJ1TEVrWUQ4eEVPMnY3R2pvWndQc3hIV014aElFdWxsSzVzNnN4bmpDR3loQzdnSkpSVzRDU2daeFAwbkg0Smk1aVU4N2pmR2czR0VMNmpUUXdFNWdHamtXN2ZkK3FHU0xLV0lzcGtNbS83SU5QZ1lBemhFMnBUUWgrcXNLZ0MrZ0x1VGJCcmVpdXdtSFlhWkRxZmVpcllBQmhEZUk0cVFpTVhBd3NRRHZQQUJEMmxOeUxVczRuYnhTYWV1V3BERW1NSUQ5RWJPUUZvUlRodCs0ditHQ0w1NTdOQXVjUjRLaTNCaGwwd2h2QUFiZUFRTEd4Z0FtRDVhb0x1NmNTZml2QUxsRXFKOFk1TDZZYWRNSWJJQUxVcHBvaHJFV1lqN0wzOWpld2FJcG5lakxLUXZXbVVjV3hMNlI5ZzJBVmppRFRSdVl6Q29nWDRCcEE5RTNSUDkveiszNEdaVXNiS1hxUWJkb014aEV1MGdhTVJtbEhPOXZBQi82T1RPdGtEUXlUU3lpTW81UkxqdFo3K0hZYWVzWUlXRUJYVVpqK2RTeXZ3UE1yWkhoVzdFV0VpbjNFYVV6a1ZvUlQ0bXljbEMrZGc4Ykl1WmFYZXdvR2VsSmtIbUJaaUQ2aE5JVVdNUjJrQUR2Q29WZGlLc0pqNHJ1c0p1cHdTUHFNS3FFS2M5WXZleWttOXprMUFFd2ZTTEtXMFkrZ1ZZNGpkb1BXY2cwVUx3bEhiWDh6Y0VHc1J5bVRhN2xlY3RZbUJGRGtyM095d3hwMk9JWkxwRFFoVDVUb2UyRjNkK1l3eFJBL29IQVpCdDdCc2IxcUZGeW1nWENyZHhTVHBJczRFV2hDTzNhWE05TFdzbzRDWVhNTWJiclRrQThZUTNWQ2IvZ2lWeUU1aDJaa1o0aU9FT1J5ZWZ0U3EybGdNWURUS2ZPQWdqM1Ixb054Q0lYVXkwWVNaSnpHR3dIbmdMT2VCNnlrc083MEhML0hBaVhmN0duUVovV252d2JEcGF3U2NNUFA5VEpnNUdFT2dzMU1JeTNiL3NLMGpUa3hxL09tU2FDdURVQnFRN1R2dHZPald2WWhRTHRma2Q1aDUzaHBDYlJkaDJhay9WQnRRS3FTRzMzZ3F0aGUwbFhPQUZ1QW9EOWRFMWxKQW1mdzBQOFBNODg0UWFsTUN6clJtcW1IWmUzNlFOaUUwOFRuTlltZDNXbE50Q3RtWDhZZ3pMZHk3UmpmcFJKaDVFUTN5ay93S004OGJReWdJZFZ5TXhRTFVaVmgyNys5M290eUpNRk5xK0lmWG10MmdpOWlQUW1ZQjF5RVVibjhqTTNPOGgxTERSRmFKb0o0S0RpbDVZUWl0NVFRa2c3RHNubDk3Rkl0eXFlWlZUOFZtaUM1aEtFb3o0aHhyNDAxWDZsbVVtRnpEMHg1S0RTVTViUWl0NFJDS3NORU13N0ozZk8wdGxCcVp5UnFQNVhxS0xtWVVRZ3ZpQkI5Q3B1WlE0RjQ2cUpKSmZPQ3AyQkNSazRaUW0ySTZQUXpMVHZ5WkNLL2VoeHVsak04OWx1d0xhbFBNL3M3M0FIdDcxRnBzUmxoSVlXNkdtZWVjSVhTRzUySFpjWVQ3RUtiSkRENzBWbTEyME9VY1FnYzI0clNVNE1YMzhoWkNqVXdJZDB2cGxwd3hoTjdBVUFwb0JzN3pjQXJ5R1pTWTFQR01oMUlEUTI5MnRyZ3FwM24ySFZrOFNwd3A4bE5lOFZCcVlFVGVFR3F6SHgzTVFyZ09uTm1Wekgvc2Q0RVoxT2JlN0lvcXdpM09JUWh3R09ERjk5V0pPTE50NDRPZGJjdVV5QnBDYlFycFlEeDRHcGE5QlZqQWwyaVNDclo2S0RkMDZISks2S1FLU1NITVBOVzB4U2JpTkxGM2RNUE1JMmtJclhGV2FMMEx5MWJnRnhRd1RXWjZ0RUVuSXVqaUZNTE0zYVlUWWVZVk1pNDdLL1plRWlsRDZFd0dFZmM4TFBzNUxNcWxqajk0cHpSNjZNMmM2VXhHN0JwbTdqYjl4V3ZyS0tSTXhyTGVPNlgrRWdsRHFPMUVlU3JWQ0gyMnY1R1pJVFlDOVdBTyswcWlOaFlITzRjeGR3OHpoMHpXYlJKUnZ4M1JDRE1QdFNIVXhtSXJvN0djSHdpOGFCWGFnVnNwWWFZNURySm5kQm45c2FqRWNzTE1JUk5ESkVtRW1mY05kNWg1YUEyaE4zUUx5L1p1R25VdFFreHMvdGREcVRtTDNzb2d4T21pWm02SVpQb0ZsSElaeHhOZWF2V0swQmxDcXhpSTFXMlFCMTYwQ2kraGxNc2NmdStwMkR4QlZ6RENpWTlLVEdKa1pvaGtlaTF4SnNzNC91cWwxa3dKalNIVXBvUXR6alFnOVBXb1ZVaHMzMXpQVWxrVDNtWTZDcWhOSVY5eFRoOFJKOHdjTWpFRUpLYTVsOUNYdVZMS1o5NHFUby9BRGFFZ1RPTml4RmtvY3YrbDlwUk9YRXZWVHAwMGhYOGdGeVgwZHZaRG1RVk1BZ295TkVReS9SNUNEYU9EWHdnTjFCQTZsUk93ZWduTFR0OFE2eERLWlk2NXVOQlA5RGFHQVl1UWJyZW5adjdiL1FtTG1JemVmcEpoMWduRUVGcnVoR1h2N3JSczkxL3FCdUpNbFhubXpLRnNvcmN6Q3B4Z1NtOWFkMFdjTVBOeDJROHp6Nm9obk83Uk5KUmFoUDQ5cW5EL3BYNE0xRlBFeldMVDZhMWlReXJvWGV4Rm5BcmdCcUMvUitPL1Q3Q1lReEdMc3hrR2t2VVdRaXM0emprTjc0d2VWYVJ1aUVSWWRoR1ZZdk4vZm1nMXVFT1hjd2lGUG9XWlg1R2RNUFBBeGhCYXlTaUVWdURycmcyaFBJb3dSZWJsUnNoeHJxRjNjd0pkenRqUXV6V2tSMUhLWmJTL1czYURIVlRiRkxPWmF4SG1BRi9hUVZIUFg4eGJXTlJJUTI1dFNzbEZWQkh1OWlITUhPNmtpSmxTNmsrWWVlRFRyZ0JheGFIQUxHQUMwbU5UbTlpMldFeWoyTG0zYlRHWDBlV1VVSnppYWVhcHB6ZWgxSE1veStRc2I4ZU5vVEJFRXEzaVA1eHUxS21Pc3NURzlpNnFaRUh1Ym16UEIvUTJCbExNUE5URE1ITjRFNHNLdVpRSHZkSVpLa09BTXhNMW5URUlGMk5oeXp4ZUNGcVR3VHYwTHI3cmhKa2ZzLzNGek0xeFAzRXE1WXJNWTlSQ1p3aEQ3cU0yRm9jN1llYVNRWmo1anVrT0xHNmhnMW9aelNmcGFqT0dNQVNHcnFZL1c3dWRaZzZadHhiQyt5ZzJGbmVrRTJadURHRUlITDJQUVhTbEVXYSt1elE4ajBXNWxQS2tHeTNHRUliUW9QZHdQc0lpaEtGQXBvYUF4S1gyRStUSDNKbXFCdGUza0dvNUU3U2NIN3JOWnpEc0NibVNCOW5LMGNCRTRKOWVGQWtjNmlhRCsydDVsU05SN3RjWTYvUjZ4OGtHZzBmSVJEcGtEQ3Zvd3hCZ01XUjNIMHM2aGloeVV1ZFF3Q3NhbzFXdjZ4YW9aekI0Z0pUeXNZd21ScHpod0crelZhOTdRMWpiRFFGUUJKUlJ4SHFOTWRZelZRYURnNHhsdll6bWZJUWZnUDk3NFROcElib3pFTGhIeTNqWWRLTU1maUNYMDBZUnc0QnlTSCtkWVUrNE53UTlHaUtCTUlJQ1h0WXBOS3JOWHVuTE1oaDJSVXBwbHl0b1JSZ0cvcHlsNWEwaEVoU2pUT2Rmdks0eFJxWWp5bURZSFhJWkc4R2Z2ZGQrR0NMSk54RGFkQXB0V3NuWDA2akhZTWc2WG8waGRzZEl1bmhkSzdCTk44b1FkaktkWlVxVnZpaXorSVRYdEpJTDA4aHZNR1NGYkxRUTNUbUNPR3UxZ2pZdDUvQU15akVZZk1IUE1jVHVHRWtCYjJpbDZVWVp3a1ZRaG9Ca04rcFRYdFZwWE9CUm1RWkRSZ1JwaUNSSG9qeWdVMm5UYXRPTk1nUkx0c2NRdlNPTXBKUFh0UXBiSjNlN0ZNVmd5Q0x1RFNFK0dTSkJDY29zK3ZDYVR1dDJacWpCa0NYQzBHWGFGZUZJNEVHdG9rMm5PbWY2R0F4WklKeUcrSUxFYkpUcFJobXlSTmdOQVZBQ3pLS0VWM1U2Mzg5eTNZWThJd3FHU0RJSStLMVcwNmJUK1ZwQUdndzVUcFFNa1VBWmliQmVxN0hWcGpoUUxZYWNJM3FHU0pEb1JtM2pWYTNtZTBHTE1lUU9VVFZFa3NFSUQra050T2tNdmhxMEdFUDBpYm9oa293a3pucXRNZDBvUTJia2lpRUErZ0d6YU9jVnJlSGNvTVVZb29rclEyamk0S2RDbjdSNHhSRGdkenJEZEtNTTduSFhRbHdkZWpOMFp5U3dYbWVhYmxSZUUzZDNHSUhiTGxOWXUwdTkwUTlsRmwyOHJETVpFYlFZUTFiWmpGTFBOaGE1eWVUT0VQdEd6aEFKbEtIQTczUW1LN1dHZzRLV1kvQVZCVmJSd1NDNURGdkd1YnVDelowaE9pTnFpQVFDaktHQURUcVRtTnFSNnY0WlVrSDVFeGFueWFXTWxURzhuMDRSN2d6UkZXbERKTmtIb1lVdW50TmFUZ3Rhak1FVDNrVzRra3M1V1VwNU9wT0MzQm5DcjgxQndYQU13aE5hWjdwUmtVWFpBdFJUd0dDNWxKVWltUjllNXM0UThad3lCQ1M3VVlXOHFYWEU5QklLZ2haa1NCRmhGVVVNbHN1d3BaU3QzaFhyQXIyZW9SU3czbFdwMFVxL2hEQkpiSjdDa0plNGF5R0tjcTZGMkpsamdTZlZacVhhSEJpMEdFUDJ5ZWN4Uk0rbzA0MkNEVnBQVEZlYmJsUStZUXpST3dOUVdsalBzenFiVTRJV1k4Z091YjVTN1FYSG9meEI2MW1wOC9oeTBHSU0vbUphaU5SSWRLTTYyYUJ6VERjcWwzRm5DTW43SUxsOVVWcll3SjkwTGljSExjYmdQYWJMbEE3SzhTaFA2UnpUamNvMVRKY3BmUkxkcUM3VGpjb2xUQXVST2ZzaXRQQVhudEhabkJTMEdFTm11RE5FZXJjSDVRZktDVmc4cFhOWnFUWUhCQzNIa0I2bWhmQVdDMkVNUld6UUJtSnFwN1ZuUFZSb013T0MxcEFKdXBxRDNYemU3USsyNXowRXJxS2pjcGI5Z0JhS2VWSWJPU1pvTWVtZ1N6aFVsN0tjWXVZRXJTVWRkQlZEOUdjOFFBZFQzZVJ6TzZoMk4rMXF6SEVLU2xuUUl0eWdOc1c2aEJnV2J5SmNUWG9uc3dTRzNzZStlaCtOV0x3QzdtK21jcmRyVENsSyt5SGZNZDltNERHZ2pTNmVvSWpIMEJ6ZGt4Q25QV2dKcWFMTEdJWFNDdEc3VjF4dExJNWdOTEFBMGcvTWRMdU5NcE14eE5zb0R3TnIyWWVIeFA3aVFkRktLb0Q3TWlnN3ZBZ2RRVXZZRTdxTVk0blRnbkptMEZyU1FlL2pMT0swSUJ5ZGFWbnVER0ZSNUdKUFVoZUovUVZyRWRya0pwN3Y3WU95a0o5cEpaZEREdDVoTGVGdElYUXArd04xeEprRTBWdEgwWlY4RFl1NUtHTzg2cDY3N3pMdG5zMkkweFVxNU5leWdBOWNLTG1lTHI1TDRnUyszRUhEMTBMb2NvcG81enJpMUNQc0U3UWV0K2hLK2lGTUE2YWo3T1hsV05XTEx0UGJDQThqdTNhRjNDQ04vRldyYUVDWmwzZ2huVkpDU01nTW9Zc1p3ZWUwQU44S1dvdGJWQkh1WlF4S0U3aWJUazJWZEF6eFJWY29UcHNzN3IwcjVKb1NGckNaVWhJNzEzSURLeHlHMEtVTXBvdEZLQmRHOFQ4YnZZc1RXVVVyK0xzM3haMGh1cmliSXVaTE14LzdJVVpzT3JXUzZ4Q2VwUHQwWDIvN29LTkJvR01JYldZQVFqVmRUSUhvUlN2clBYd0Z1QkVZVFJaK2ZWZUdrS1c4NlplUTdYVXM1R21keG5MZ1dyL3J5Z29CZFpuVXhtSkE1dE9RUWFHcjZjdFd5b0Fad0pleVZXODRGMTIyVVkzdzNoNC9GNFhXSW9CWkpyMkpzOWlIRjRCN2lLSVo3bUlVVzNnRHBaRXNtZ0ZDYWdoWndpZEFoYnRNL21qSm1DeTJFSG9UWDlWbVZtTHhLRVF2WkVUdjVIaTlpOGNSZmcwY0hvU0cwSjV2S2syczFtbU1SaGpsUHJNUGd0SWxDNGJRQmZURFlockNkR0F2dit2ekdyMkgvZW1pRGdsK1BTUzBoZ0RBNG5xVXM0RCthWmNSdkRsODZ6S3BJaXppWW9TRkVMMnJpblU1UlJSekhWM2hXUThKWlpjcGlUVHhEa0s5ZHdWNlZsTHErRFR0cWdzNWtVVThDYXdtaW1hNGt4RVU4UkpLQzRURERKQmxRNmhOb2JwOUxQdlNBcnpvdVpqc21HTVR5cXRlRnFoTkhLb0xXWTd3UitCVUw4dk9Cbm9IUS9SMkhuRGkycjRadEo2ZDhkMFFPcGsrT29VUldrRXJuL0F1VTdqS1RYNng2VVM1bXNTQ29ELzRZUTdsQXl6T2tocmU4S3pJaFZ4RUFYK0c2SVZsQStqdGpBZGVROXlIWldjTFg3NVVuVUpmbmNJb25jSktDdmtRZUJnb0F3NUNhTllxQnJvcFQrYnpISEN6SDFwM3JjeVRVdDZtZ085SU5TOTdVdG9YSEVPMFk3MkdFZkp4cTJmaXRKd0JLT2NpakVMNUVkQy9sNGRySDdxNEJWek9IaWt6RUg0RTdzeVVFZW1aNHpVSytiNU1aNlBIYWd4WklLTVdRaWV4djhZWXF6SGFVRDRrTWNBYnc1NW5oVVpxQlQ5MlU1Zk01MU1rOUx2UEhxZUEwNDBab290clEraGtCbW9aVjJ1TU5ncDVuOFJxNkVqY3hza0lTN1hTM1NxcU5ISS95cTljMWVNVmUyNHQxbExDZVZMTnY3T2d4dUFUN2k1dUwrY2lMTjVCV0U3Q0JKbnNvRHVBT00ydWN5bVRJT0NIYm1kektQZnlaUzZTQ3U5dXNqRUVnOXNydGZyaDVaeU1jTGxPNVlldXNzeG5JOG9zenpSa2lzVVN1cmhTSm9ZanpOdVFHY0ZQM1FrM2F6WDd1c3JUbHlYQUgvMFJsRElLMU1zTXlzUW1IckFXZzBjRWJ3ZzRoRTZhM0dRUW16Z1dFeUd3LzVXN1VLNlJXdXlBNmpmNFJCZ01BVEJCcC9FOU54bGtIcThBUzN6U3N6dmFFUzZUT2xZRVVMZkJaOEppQ0NIT2NyVmRCdkgxb1JaNDJ4OUpQYklaWVpUTVpFMFc2elJra2JBWUFvVEQyY3hjVjFsc3RqZ2h3OW5nWXl4R1NDMi95MUo5aGdBSWp5RVNUTmJwbk80bWc4empRZUFYUHVsSjhnN0NxVEl6OElHOHdXZkNaZ2lMT0xlcjdYS1RTeWVUZ1gvNUk0bjFGSEM2MUxMQnAvSU5JU0pzaGdBWXdtWnEzV1J3RGtTYjZZT1c1eWppVEpuSjM5TXRRQnM0eWt0QkJuOEpveUVBcXJTYUUxemxLT1lXNENrUE5UekdYcHd0TmZ3ajNRTDBScVlqVkhxb3llQXpZVFZFSVhIdTBLdFREdzBSbXpnRlhJTTNheE8vQWk2UTZYeWFiZ0hhd0d6bjFBaERoQWlySVFDT1lRQlZiakxJSEY1RjBvaVAycEc3Z1V2RVpsczZtVlVSYmFBRmNkZnRNNFNETUJzQ29GYW51enlEZEFzMjhEOXAxU1kwaWMwNHNlbE1KN3V1cG9CNTNBN0UwcXJmRURoaE4wUWY0QTY5SlBXalNhU1pyVTVFYk9vSWlsSXBOdFZ1QlNiUjFSVHdaKzRDeHFkYmhpRjR3bTRJVUU3aTYweDJrMFhtOFJEQ3oxUDhlQmN3UVdaemszdHhDZFNtbUQrekJtRk11bVVZd2tINERRRWdOR2cxUjdyS0U2Y2MyTFNIVDMxT1lyeHdaN3JTMUthRVF0cUFINlZiaGlFOFJNTVFVSUp5bTVzamJHUWVIOEp1dTBEL3dtS0V6T2IrZEVYcEF2bzVabkFWbUdnSUwxRXhCTUIzcWVhbnJuSTBjQnZ3WkEvdkpJNklzWHQ4THlYVVpnRGJXQWVjblc0Wmh2QVJKVU9Bc2tCbjhOVlVQeTZKVFR3VFNIU05raVNPaUxGNUtXMFpOZ2RTd0g4REo2ZGJoaUdjUk1zUXNEZGQzT29tZzh4bEE3RFErZXZyeFBtTzJMeVZyZ0MxT1pnQ0hpR0NwMnNiOWt6VURBRndnVlp6aGFzY2hjeEZ1WnNDVHBlR0ZPNmQ2QVdkeTJGWVBBRW1QaWxYQ2ZVcGFydWhWV3RZNXd5Yzk0aXo2and1a3dyVlpqQngxa0hxWFRaRDlJaGlDd0d3UDhyaWJGV21jeGlHeFdNWU0rUThVVFVFS0tWNkF4ZjVYbzNOOGNSNUhEalU3N29Nd1JOZFF5UllwamI3K1ZXNHp1WkVoSWVCQS95cXd4QXVvbTZJZzltV2ZzakY3dERabklueUNQaG5PRVA0aUxvaFFMaEtxem5QeXlLMW52T0o4eUJadmdIVEVEelJOd1NBc0Z5cnZIbDQxZVlIS1BjRGZiMG96eEF0Y3NNUThEVUt1VEhUUXJTT3k0QmZrZ2c3TitRaHVXSUlnR3QxQm1la20xbHRya2E0bCtpdXpSZzhJSmNNWWFIY3BsUGNkM1cwamtuQXJlVFc5MkZJZzF4N0FBWlQ0dTRBWXExak9zSlNOQVEzV2hzQ0o5Y01BY3BVcmVYRWxENDZpM293SjJQa01HK2cvTkpOQm5lRzZPSnhKUFJubXhZUTV3NjFlNy9pUzBGMEZxMG9kZGtVWnNnYW00QnFDamxPUnJzN2Z0VFZBRktXOFRmZyt6cUZFY1JwQVpjblltU1A0YlJ6QTFDLzh4dHFZOUhKQ3BTZkJLREw0Qzl4NEQ2S21DcWw2UjB3bDFhWFNacFp4MWFPUXlrbjZQdmVla09vMFZxR2QzOUpMNkdBVHU1RWpCbHlEdUZSTEk2VEt4aWJyaGtnZ3pHRXJLQkRGdE5LSjBjQWkwbWNYaEVtaW9semo5cUpWbEJ0aWhuS2FvUXJneFptOEpTM0VFcmxDczZSeTNrbDA4SXlIbFRMTWo2U1ZtSUl3NEdITWkzUFk0NmpnM0tkVEI4NldRUCtSOGNhc3NabW9KNU9oc3NWM2wxZzQ5a2lsTFN3SGpoUFkxeUNNQjg0M0t1eU0wS1l6VDVjQkp3U3RCU0RKeWh3TDUxVXlUZys4THB3ejZkZHBaVTFER0FJUWpud2lkZmxwMEZmakJseWhXZFJUcE94alBYRERPRFRPb1RZdEVzenJSUXhERmdCNXRwYVEwYThoM0lsWXpoSnJ1UnBQeXZ5ZFdGTzVyTlJtcGtJbkFUOHdjKzZERG5KVnFDSnZneVZxMWdwZ3ZwZFlWWUMyYVNaNXhTK1F3VVhBd3VBdzdKUnJ5SFNyRVdaTEZmeDEyeFdtclhRRFFHVlJhemhNNzZKVUUvQy9RYkR6cnlBY29aY3hTZ1psMTB6UUFDeFRMS0NMYklRbXdJR0E2dkEvMmJRRUFrK0FzcnB4N2RsSEU4RUpTS3c0RDZaejd0eUUyT0JVeEJ6M1cwZTB3RXNwcDBqWkJ5dFVocnNBbS9nMGE2eWtHZm94Mm5PQ25KS0I0OFpjb1oxd0xFeW5waE1ERWNJVU9DR2dNU0ZpYktBbFNoSE9PT0x6L2VZeVJCbE5tQnhvWXpuWEJuUEcwR0w2VTRvREpGRUZySlo1bU5Ud0ZHSWQ4dnhodER3TWNway9zNVJNbzdmQkMybUowSzVmMWdhZVFzbzFXck9kc0xNaCs4cGp5SDh5SVRNRDRMd20xQzFFRHNqalR4S0NjY2pUSVQwUTNvTmhsUUp0U0VBeEtaVEdsbUJNQVNsQ1dnUFdwTWhkd205SVpKSUk1dGtQdFhFT1JyQzJmODBSSi9JR0NLSnpHZUROSEloY0M2RWE0YkNFSDBpWjRnazBzZzZQdUpZSjh3OEZIUFlodWdUV1VPQXM0MTFIcTNBRWM0RkttSGJ4bXFJR0pFMlJCSzVrWS9rUm1MRU9SRjRQR2c5aHVpU0U0WklJbzI4S1BNNEUvZ0I4SGJRZWd6Ukk2Y01rVVFhYUdNTDMwS3BCajROV284aE91U2tJUUNrbWEweWp5WUtHWXFhYmF5RzFNaFpReVFSbTQzU3dFU1VreENlQ2xwUHhQZ3Y0dHN2dmM4TGN0NFFTYVNCNTVqTjZRaWx3RHRCNndrNWJ3TG55eVQrVXlibjExZ3Nid3dCempiVzJheWhnR0Vrem4zZEZyU21rUEV4U2puL1pMaE00cmRCaXdtQ3ZESkVFckhaSXJPeHNSZ0VyQ0lMcHptRW5FNWdCVVVNa2NtMGlrMW4wSUtDSWk4TmtVUnMzcFhaaktXTHM0Q1hndFlUQ01vanhEbE9Kak5SSnZMUG9PVUVUVjRiSW9uTTRmY0lKK1RaTnRhL0lKUktHU01reG10Qml3a0x4aEFPWWhNWG01WEFrWkRUMjFnL1E2a0hoc3Rrc3l0eFo0d2hka0pzUGhNYm13S0dRMDQ5TUhGZ0ZjcVJFc09Xc3B3MWZFYUVjZ3RwR0pCYS9nS1VhajNuQU0xRWV4dnJNeWd4S2VlWm9JV0VIZE5DN0FHWnhTTW94ME1rdDdHK0MxeEpqRk9NR1ZMREdDSUZ4S1pUNmxoQm5LRWtia3NLKzdUa0ZxQ2VPSU9sUER1SEJPY0t4aEF1RUp1UHBZNFlCUXhIZVRCb1BUMmd3QnE2K0taTXdaWUtjMzZ1Vzh3WUlnMmtoamVCQzNRT0kwaTBHTU1DbGdUQzgwQk1wcGhyQnpMQnRCQVpJTFdzNDhzY0UvQnRyTzhqVE9UZmZOdVlJWE9NSVRKRUp0SWh0YlJpY1FTUzFXMnM3Y0JpaWhncVUxZ2h0Z2x2OXdKakNJK1FHajZTR21MQXQ4SDM0OXpYWWpGTXBoS1RzbERjNDVjem1ER0V4OGdNWGdETzBMbU13cUxWNCtMZlJEaGJwdktZeCtVYURQNmpOaVhheUJsQjZ6Q2t6djhEUWQ3UXJNYkxSMUFBQUFBQVNVVk9SSzVDWUlJPSI+CjxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgaHJlZj0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNUUFBQURFQ0FZQUFBREFwbzVyQUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBQUFsd1NGbHpBQUJhYmdBQVdtNEJ4V3NqT0FBQUFCbDBSVmgwVTI5bWRIZGhjbVVBZDNkM0xtbHVhM05qWVhCbExtOXlaNXZ1UEJvQUFCbDBTVVJCVkhpYzdaMTVlRlRWM2NjL3Y1c0ZDVlJ4cVZ0cHRWVzJWbHhmNjFxdGlxMEw5R2w5TlhVQkZFcEZSVEloaEJBRENUZEFNQUVrQ1lzSzdxQjkra0Q3MnFmQldpdnFXN1ZhNjc0aXJlOXJheFgxYlpWV1pUSEwvTjQvNWc0R1NHRHV6TDF6NzUwNW4zODR6TXc1NTh2TS9YSzIzemtIRElHaml6aFBGM0ZlMERvTUlFRUx5R2QwUG9Pd2FBQXVjVjVhaDBXNVZQQjZrTHJ5R1dPSUFGQ2IvdlNqRXFnRyt1endLd2dkd0MxMFVDZlYvRHNZaGZtTE1VUVdVUnVMRWtZRDh4RU8ydjdHam9ad1BzeEhXTXhoSUV1bGxLNXM2c3huakNHeWhDN2dKSlJXNENTZ1p4UDBuSDRKaTVpVTg3amZHZzNHRUw2alRRd0U1Z0dqa1c3ZmQrcUdTTEtXSXNwa01tLzdJTlBnWUF6aEUycFRRaCtxc0tnQytnTHVUYkJyZWl1d21IWWFaRHFmZWlyWUFCaERlSTRxUWlNWEF3c1FEdlBBQkQybE55TFVzNG5ieFNhZXVXcERFbU1JRDlFYk9RRm9SVGh0KzR2K0dDTDU1N05BdWNSNEtpM0JobDB3aHZBQWJlQVFMR3hnQW1ENWFvTHU2Y1NmaXZBTGxFcUo4WTVMNllhZE1JYklBTFVwcG9ockVXWWo3TDM5amV3YUlwbmVqTEtRdldtVWNXeEw2UjlnMkFWamlEVFJ1WXpDb2dYNEJwQTlFM1JQOS96KzM0R1pVc2JLWHFRYmRvTXhoRXUwZ2FNUm1sSE85dkFCLzZPVE90a0RReVRTeWlNbzVSTGp0WjcrSFlhZXNZSVdFQlhVWmorZFN5dndQTXJaSGhXN0VXRWluM0VhVXprVm9SVDRteWNsQytkZzhiSXVaYVhld29HZWxKa0htQlppRDZoTklVV01SMmtBRHZDb1ZkaUtzSmo0cnVzSnVwd1NQcU1LcUVLYzlZdmV5a205emsxQUV3ZlNMS1cwWStnVlk0amRvUFdjZzBVTHdsSGJYOHpjRUdzUnltVGE3bGVjdFltQkZEa3IzT3l3eHAyT0laTHBEUWhUNVRvZTJGM2QrWXd4UkEvb0hBWkJ0N0JzYjFxRkZ5bWdYQ3JkeFNUcElzNEVXaENPM2FYTTlMV3NvNENZWE1NYmJyVGtBOFlRM1ZDYi9naVZ5RTVoMlprWjRpT0VPUnllZnRTcTJsZ01ZRFRLZk9BZ2ozUjFvTnhDSVhVeTBZU1pKekdHd0huZ0xPZUI2eWtzTzcwSEwvSEFpWGY3R25RWi9XbnZ3YkRwYXdTY01QUDlUSmc1R0VPZ3MxTUl5M2Ivc0swalRreHEvT21TYUN1RFVCcVE3VHZ0dk9qV3ZZaFFMdGZrZDVoNTNocENiUmRoMmFrL1ZCdFFLcVNHMzNncXRoZTBsWE9BRnVBb0Q5ZEUxbEpBbWZ3MFA4UE04ODRRYWxNQ3pyUm1xbUhaZTM2UU5pRTA4VG5OWW1kM1dsTnRDdG1YOFlnekxkeTdSamZwUkpoNUVRM3lrL3dLTTg4YlF5Z0lkVnlNeFFMVVpWaDI3Kzkzb3R5Sk1GTnErSWZYbXQyZ2k5aVBRbVlCMXlFVWJuOGpNM084aDFMRFJGYUpvSjRLRGlsNVlRaXQ1UVFrZzdEc25sOTdGSXR5cWVaVlQ4Vm1pQzVoS0VvejRoeHI0MDFYNmxtVW1GekQweDVLRFNVNWJRaXQ0UkNLc05FTXc3SjNmTzB0bEJxWnlScVA1WHFLTG1ZVVFndmlCQjlDcHVaUTRGNDZxSkpKZk9DcDJCQ1JrNFpRbTJJNlBRekxUdnlaQ0svZWh4dWxqTTg5bHV3TGFsUE0vczczQUh0NzFGcHNSbGhJWVc2R21lZWNJWFNHNTJIWmNZVDdFS2JKREQ3MFZtMTIwT1VjUWdjMjRyU1U0TVgzOGhaQ2pVd0lkMHZwbHB3eGhON0FVQXBvQnM3emNBcnlHWlNZMVBHTWgxSURRMjkydHJncXAzbjJIVms4U3B3cDhsTmU4VkJxWUVUZUVHcXpIeDNNUXJnT25ObVZ6SC9zZDRFWjFPYmU3SW9xd2kzT0lRaHdHT0RGOTlXSk9MTnQ0NE9kYmN1VXlCcENiUXJwWUR4NEdwYTlCVmpBbDJpU0NyWjZLRGQwNkhKSzZLUUtTU0hNUE5XMHhTYmlOTEYzZE1QTUkya0lyWEZXYUwwTHkxYmdGeFF3VFdaNnRFRW5JdWppRk1MTTNhWVRZZVlWTWk0N0svWmVFaWxENkV3R0VmYzhMUHM1TE1xbGpqOTRwelI2Nk0yYzZVeEc3QnBtN2piOXhXdnJLS1JNeHJMZU82WCtFZ2xEcU8xRWVTclZDSDIydjVHWklUWUM5V0FPKzBxaU5oWUhPNGN4ZHc4emgweldiUkpSdngzUkNETVB0U0hVeG1Jcm83R2NId2k4YUJYYWdWc3BZYVk1RHJKbmRCbjlzYWpFY3NMTUlSTkRKRW1FbWZjTmQ1aDVhQTJoTjNRTHkvWnVHblV0UWt4cy90ZERxVG1MM3NvZ3hPbWlabTZJWlBvRmxISVp4eE5lYXZXSzBCbENxeGlJMVcyUUIxNjBDaStobE1zY2Z1K3AyRHhCVnpEQ2lZOUtUR0prWm9oa2VpMXhKc3M0L3VxbDFrd0pqU0hVcG9RdHpqUWc5UFdvVlVoczMxelBVbGtUM21ZNkNxaE5JVjl4VGg4Uko4d2NNakVFSkthNWw5Q1h1VkxLWjk0cVRvL0FEYUVnVE9OaXhGa29jditsOXBST1hFdlZUcDAwaFg4Z0Z5WDBkdlpEbVFWTUFnb3lORVF5L1I1Q0RhT0RYd2dOMUJBNmxST3dlZ25MVHQ4UTZ4REtaWTY1dU5CUDlEYUdBWXVRYnJlblp2N2IvUW1MbUl6ZWZwSmgxZ25FRUZydWhHWHY3clJzOTEvcUJ1Sk1sWG5tektGc29yY3pDcHhnU205YWQwV2NNUE54MlE4eno2b2huTzdSTkpSYWhQNDlxbkQvcFg0TTFGUEV6V0xUNmExaVF5cm9YZXhGbkFyZ0JxQy9SK08vVDdDWVF4R0xzeGtHa3ZVV1FpczR6amtONzR3ZVZhUnVpRVJZZGhHVll2Ti9mbWcxdUVPWGN3aUZQb1daWDVHZE1QUEF4aEJheVNpRVZ1RHJyZzJoUElvd1JlYmxSc2h4cnFGM2N3SmR6dGpRdXpXa1IxSEtaYlMvVzNhREhWVGJGTE9aYXhIbUFGL2FRVkhQWDh4YldOUklRMjV0U3NsRlZCSHU5aUhNSE82a2lKbFM2aytZZWVEVHJnQmF4YUhBTEdBQzBtTlRtOWkyV0V5ajJMbTNiVEdYMGVXVVVKemlhZWFwcHplaDFITW95K1FzYjhlTm9UQkVFcTNpUDV4dTFLbU9zc1RHOWk2cVpFSHVibXpQQi9RMkJsTE1QTlRETUhONEU0c0t1WlFIdmRJWktrT0FNeE0xblRFSUYyTmh5enhlQ0ZxVHdUdjBMcjdyaEprZnMvM0Z6TTF4UDNFcTVZck1ZOVJDWndoRDdxTTJGb2M3WWVhU1FaajVqdWtPTEc2aGcxb1p6U2ZwYWpPR01BU0dycVkvVzd1ZFpnNlp0eGJDK3lnMkZuZWtFMlp1REdFSUhMMlBRWFNsRVdhK3V6UThqMFc1bFBLa0d5M0dFSWJRb1Bkd1BzSWloS0ZBcG9hQXhLWDJFK1RIM0ptcUJ0ZTNrR281RTdTY0g3ck5aekRzQ2JtU0I5bkswY0JFNEo5ZUZBa2M2aWFEKzJ0NWxTTlI3dGNZNi9SNng4a0dnMGZJUkRwa0RDdm93eEJnTVdSM0gwczZoaWh5VXVkUXdDc2FvMVd2Nnhhb1p6QjRnSlR5c1l3bVJwemh3Ryt6VmE5N1ExamJEUUZRQkpSUnhIcU5NZFl6VlFhRGc0eGx2WXptZklRZmdQOTc0VE5wSWJvekVMaEh5M2pZZEtNTWZpQ1gwMFlSdzRCeVNIK2RZVSs0TndROUdpS0JNSUlDWHRZcE5Lck5YdW5MTWhoMlJVcHBseXRvUlJnRy9weWw1YTBoRWhTalRPZGZ2SzR4UnFZanltRFlIWElaRzhHZnZkZCtHQ0xKTnhEYWRBcHRXc25YMDZqSFlNZzZYbzBoZHNkSXVuaGRLN0JOTjhvUWRqS2RaVXFWdmlpeitJVFh0SklMMDhodk1HU0ZiTFFRM1RtQ09HdTFnall0NS9BTXlqRVlmTUhQTWNUdUdFa0JiMmlsNlVZWndrVlFob0JrTitwVFh0VnBYT0JSbVFaRFJnUnBpQ1JIb2p5Z1UyblRhdE9OTWdSTHRzY1F2U09NcEpQWHRRcGJKM2U3Rk1WZ3lDTHVEU0UrR1NKQkNjb3MrdkNhVHV0MlpxakJrQ1hDMEdYYUZlRkk0RUd0b2sybk9tZjZHQXhaSUp5RytJTEViSlRwUmhteVJOZ05BVkFDektLRVYzVTYzODl5M1lZOEl3cUdTRElJK0sxVzA2YlQrVnBBR2d3NVRwUU1rVUFaaWJCZXE3SFZwamhRTFlhY0kzcUdTSkRvUm0zalZhM21lMEdMTWVRT1VUVkVrc0VJRCtrTnRPa012aHEwR0VQMGlib2hrb3drem5xdE1kMG9RMmJraWlFQStnR3phT2NWcmVIY29NVVlvb2tyUTJqaTRLZENuN1I0eFJEZ2R6ckRkS01NN25IWFFsd2Rlak4wWnlTd1htZWFibFJlRTNkM0dJSGJMbE5ZdTB1OTBROWxGbDI4ckRNWkViUVlRMWJaakZMUE5oYTV5ZVRPRVB0R3poQUpsS0hBNzNRbUs3V0dnNEtXWS9BVkJWYlJ3U0M1REZ2R3VidUN6WjBoT2lOcWlBUUNqS0dBRFRxVG1OcVI2djRaVWtINUV4YW55YVdNbFRHOG4wNFI3Z3pSRldsREpOa0hvWVV1bnROYVRndGFqTUVUM2tXNGtrczVXVXA1T3BPQzNCbkNyODFCd1hBTXdoTmFaN3BSa1VYWkF0UlR3R0M1bEpVaW1SOWU1czRROFp3eUJDUzdVWVc4cVhYRTlCSUtnaFprU0JGaEZVVU1sc3V3cFpTdDNoWHJBcjJlb1JTdzNsV3AwVXEvaERCSmJKN0NrSmU0YXlHS2NxNkYySmxqZ1NmVlpxWGFIQmkwR0VQMnllY3hSTStvMDQyQ0RWcFBURmViYmxRK1lRelJPd05RV2xqUHN6cWJVNElXWThnT3ViNVM3UVhIb2Z4QjYxbXA4L2h5MEdJTS9tSmFpTlJJZEtNNjJhQnpURGNxbDNGbkNNbjdJTGw5VVZyWXdKOTBMaWNITGNiZ1BhYkxsQTdLOFNoUDZSelRqY28xVEpjcGZSTGRxQzdUamNvbFRBdVJPZnNpdFBBWG50SFpuQlMwR0VObXVETkVlcmNINVFmS0NWZzhwWE5acVRZSEJDM0hrQjZtaGZBV0MyRU1SV3pRQm1KcXA3Vm5QVlJvTXdPQzFwQUp1cHFEM1h6ZTdRKzI1ejBFcnFLamNwYjlnQmFLZVZJYk9TWm9NZW1nU3poVWw3S2NZdVlFclNVZGRCVkQ5R2M4UUFkVDNlUnpPNmgyTisxcXpIRUtTbG5RSXR5Z05zVzZoQmdXYnlKY1RYb25zd1NHM3NlK2VoK05XTHdDN20rbWNyZHJUQ2xLK3lIZk1kOW00REdnalM2ZW9JakgwQnpka3hDblBXZ0pxYUxMR0lYU0N0RzdWMXh0TEk1Z05MQUEwZy9NZEx1Tk1wTXh4TnNvRHdOcjJZZUh4UDdpUWRGS0tvRDdNaWc3dkFnZFFVdllFN3FNWTRuVGduSm0wRnJTUWUvakxPSzBJQnlkYVZudURHRlI1R0pQVWhlSi9RVnJFZHJrSnA3djdZT3lrSjlwSlpkRER0NWhMZUZ0SVhRcCt3TjF4SmtFMFZ0SDBaVjhEWXU1S0dPODZwNjc3ekx0bnMySTB4VXE1TmV5Z0E5Y0tMbWVMcjVMNGdTKzNFSEQxMExvY29wbzV6cmkxQ1BzRTdRZXQraEsraUZNQTZhajdPWGxXTldMTHRQYkNBOGp1M2FGM0NDTi9GV3JhRUNabDNnaG5WSkNTTWdNb1lzWndlZTBBTjhLV290YlZCSHVaUXhLRTdpYlRrMlZkQXp4UlZjb1Rwc3M3cjByNUpvU0ZyQ1pVaEk3MTNJREt4eUcwS1VNcG90RktCZEc4VDhidllzVFdVVXIrTHMzeFowaHVyaWJJdVpMTXgvN0lVWnNPcldTNnhDZXBQdDBYMi83b0tOQm9HTUliV1lBUWpWZFRJSG9SU3ZyUFh3RnVCRVlUUlorZlZlR2tLVzg2WmVRN1hVczVHbWR4bkxnV3Ivcnlnb0JkWm5VeG1KQTV0T1FRYUdyNmN0V3lvQVp3SmV5Vlc4NEYxMjJVWTN3M2g0L0Y0WFdJb0JaSnIySnM5aUhGNEI3aUtJWjdtSVVXM2dEcFpFc21nRkNhZ2had2lkQWhidE0vbWpKbUN5MkVIb1RYOVZtVm1MeEtFUXZaRVR2NUhpOWk4Y1JmZzBjSG9TRzBKNXZLazJzMW1tTVJoamxQck1QZ3RJbEM0YlFCZlREWWhyQ2RHQXZ2K3Z6R3IySC9lbWlEZ2wrUFNTMGhnREE0bnFVczREK2FaY1J2RGw4NnpLcElpemlZb1NGRUwycmluVTVSUlJ6SFYzaFdROEpaWmNwaVRUeERrSzlkd1Y2VmxMcStEVHRxZ3M1a1VVOENhd21pbWE0a3hFVThSSktDNFREREpCbFE2aE5vYnA5TFB2U0Fyem91WmpzbUdNVHlxdGVGcWhOSEtvTFdZN3dSK0JVTDh2T0Jub0hRL1IySG5EaTJyNFp0SjZkOGQwUU9waytPb1VSV2tFcm4vQXVVN2pLVFg2eDZVUzVtc1NDb0QvNFlRN2xBeXpPa2hyZThLekloVnhFQVgrRzZJVmxBK2p0akFkZVE5eUhaV2NMWDc1VW5VSmZuY0lvbmNKS0N2a1FlQmdvQXc1Q2FOWXFCcm9wVCtiekhIQ3pIMXAzcmN5VFV0Nm1nTzlJTlM5N1V0b1hIRU8wWTcyR0VmSnhxMmZpdEp3QktPY2lqRUw1RWRDL2w0ZHJIN3E0QlZ6T0hpa3pFSDRFN3N5VUVlbVo0elVLK2I1TVo2UEhhZ3haSUtNV1FpZXh2OFlZcXpIYVVENGtNY0FidzU1bmhVWnFCVDkyVTVmTTUxTWs5THZQSHFlQTA0MFpvb3RyUStoa0Jtb1pWMnVNTmdwNW44UnE2RWpjeHNrSVM3WFMzU3FxTkhJL3lxOWMxZU1WZTI0dDFsTENlVkxOdjdPZ3h1QVQ3aTV1TCtjaUxONUJXRTdDQkpuc29EdUFPTTJ1Y3ltVElPQ0hibWR6S1BmeVpTNlNDdTl1c2pFRWc5c3J0ZnJoNVp5TWNMbE81WWV1c3N4bkk4b3N6elJraXNVU3VyaFNKb1lqek51UUdjRlAzUWszYXpYN3VzclRseVhBSC8wUmxESUsxTXNNeXNRbUhyQVdnMGNFYndnNGhFNmEzR1FRbXpnV0V5R3cvNVc3VUs2Uld1eUE2amY0UkJnTUFUQkJwL0U5Tnhsa0hxOEFTM3pTc3p2YUVTNlRPbFlFVUxmQlo4SmlDQ0hPY3JWZEJ2SDFvUlo0Mng5SlBiSVpZWlRNWkUwVzZ6UmtrYkFZQW9URDJjeGNWMWxzdGpnaHc5bmdZeXhHU0MyL3kxSjloZ0FJanlFU1ROYnBuTzRtZzh6alFlQVhQdWxKOGc3Q3FUSXo4SUc4d1dmQ1pnaUxPTGVyN1hLVFN5ZVRnWC81STRuMUZIQzYxTExCcC9JTklTSnNoZ0FZd21acTNXUndEa1NiNllPVzV5amlUSm5KMzlNdFFCczR5a3RCQm44Sm95RUFxclNhRTF6bEtPWVc0Q2tQTlR6R1hwd3ROZndqM1FMMFJxWWpWSHFveWVBellUVkVJWEh1MEt0VER3MFJtemdGWElNM2F4Ty9BaTZRNlh5YWJnSGF3R3puMUFoRGhBaXJJUUNPWVFCVmJqTElIRjVGMG9pUDJwRzdnVXZFWmxzNm1WVVJiYUFGY2RmdE00U0RNQnNDb0ZhbnV6eURkQXMyOEQ5cDFTWTBpYzA0c2VsTUo3dXVwb0I1M0E3RTBxcmZFRGhoTjBRZjRBNjlKUFdqU2FTWnJVNUViT29JaWxJcE50VnVCU2JSMVJUd1orNEN4cWRiaGlGNHdtNElVRTdpNjB4MmswWG04UkRDejFQOGVCY3dRV1p6azN0eENkU21tRCt6Qm1GTXVtVVl3a0g0RFFFZ05HZzFSN3JLRTZjYzJMU0hUMzFPWXJ4d1o3clMxS2FFUXRxQUg2VmJoaUU4Uk1NUVVJSnltNXNqYkdRZUg4SnV1MEQvd21LRXpPYitkRVhwQXZvNVpuQVZtR2dJTDFFeEJNQjNxZWFucm5JMGNCdndaQS92Skk2SXNYdDhMeVhVWmdEYldBZWNuVzRaaHZBUkpVT0Fza0JuOE5WVVB5NkpUVHdUU0hTTmtpU09pTEY1S1cwWk5nZFN3SDhESjZkYmhpR2NSTXNRc0RkZDNPb21nOHhsQTdEUStldnJ4UG1PMkx5VnJnQzFPWmdDSGlHQ3Ayc2I5a3pVREFGd2dWWnpoYXNjaGN4RnVac0NUcGVHRk82ZDZBV2R5MkZZUEFFbVBpbFhDZlVwYXJ1aFZXdFk1d3ljOTRpejZqd3Vrd3JWWmpCeDFrSHFYVFpEOUloaUN3R3dQOHJpYkZXbWN4aUd4V01ZTStROFVUVUVLS1Y2QXhmNVhvM044Y1I1SERqVTc3b013Uk5kUXlSWXBqYjcrVlc0enVaRWhJZUJBL3lxd3hBdW9tNklnOW1XZnNqRjd0RFpuSW55Q1Bobk9FUDRpTG9oUUxoS3F6blB5eUsxbnZPSjh5Qlp2Z0hURUR6Uk53U0FzRnlydkhsNDFlWUhLUGNEZmIwb3p4QXRjc01ROERVS3VUSFRRclNPeTRCZmtnZzdOK1FodVdJSWdHdDFCbWVrbTFsdHJrYTRsK2l1elJnOElKY01ZYUhjcGxQY2QzVzBqa25BcmVUVzkyRklnMXg3QUFaVDR1NEFZcTFqT3NKU05BUTNXaHNDSjljTUFjcFVyZVhFbEQ0Nmkzb3dKMlBrTUcrZy9OSk5CbmVHNk9KeEpQUm5teFlRNXc2MWU3L2lTMEYwRnEwb2Rka1Vac2dhbTRCcUNqbE9ScnM3ZnRUVkFGS1c4VGZnK3pxRkVjUnBBWmNuWW1TUDRiUnpBMUMvOHh0cVk5SEpDcFNmQktETDRDOXg0RDZLbUNxbDZSMHdsMWFYU1pwWngxYU9ReWtuNlB2ZWVrT28wVnFHZDM5Skw2R0FUdTVFakJseUR1RlJMSTZUS3hpYnJoa2dnekdFcktCREZ0TktKMGNBaTBtY1hoRW1pb2x6ajlxSlZsQnRpaG5LYW9Rcmd4Wm04SlMzRUVybENzNlJ5M2tsMDhJeUhsVExNajZTVm1JSXc0R0hNaTNQWTQ2amczS2RUQjg2V1FQK1I4Y2Fzc1ptb0o1T2hzc1YzbDFnNDlraWxMU3dIamhQWTF5Q01CODQzS3V5TTBLWXpUNWNCSndTdEJTREp5aHdMNTFVeVRnKzhMcHd6NmRkcFpVMURHQUlRam53aWRmbHAwRmZqQmx5aFdkUlRwT3hqUFhERE9EVE9vVFl0RXN6clJReERGZ0I1dHBhUTBhOGgzSWxZemhKcnVScFB5dnlkV0ZPNXJOUm1wa0luQVQ4d2MrNkREbkpWcUNKdmd5VnExZ3BndnBkWVZZQzJhU1o1eFMrUXdVWEF3dUF3N0pScnlIU3JFV1pMRmZ4MTJ4V21yWFFEUUdWUmF6aE03NkpVRS9DL1FiRHpyeUFjb1pjeFNnWmwxMHpRQUN4VExLQ0xiSVFtd0lHQTZ2QS8yYlFFQWsrQXNycHg3ZGxIRThFSlNLdzRENlp6N3R5RTJPQlV4QnozVzBlMHdFc3BwMGpaQnl0VWhyc0FtL2cwYTZ5a0dmb3gybk9DbkpLQjQ4WmNvWjF3TEV5bnBoTURFY0lVT0NHZ01TRmliS0FsU2hIT09PTHovZVl5UkJsTm1CeG9Zem5YQm5QRzBHTDZVNG9ESkZFRnJKWjVtTlR3RkdJZDh2eGh0RHdNY3BrL3M1Uk1vN2ZCQzJtSjBLNWYxZ2FlUXNvMVdyT2RzTE1oKzhwanlIOHlJVE1ENEx3bTFDMUVEc2pqVHhLQ2NjalRJVDBRM29OaGxRSnRTRUF4S1pUR2xtQk1BU2xDV2dQV3BNaGR3bTlJWkpJSTV0a1B0WEVPUnJDMmY4MFJKL0lHQ0tKekdlRE5ISWhjQzZFYTRiQ0VIMGlaNGdrMHNnNlB1SllKOHc4RkhQWWh1Z1RXVU9BczQxMUhxM0FFYzRGS21IYnhtcUlHSkUyUkJLNWtZL2tSbUxFT1JGNFBHZzlodWlTRTRaSUlvMjhLUE00RS9nQjhIYlFlZ3pSSTZjTWtVUWFhR01MMzBLcEJqNE5XbzhoT3VTa0lRQ2ttYTB5anlZS0dZcWFiYXlHMU1oWlF5UVJtNDNTd0VTVWt4Q2VDbHBQeFBndjR0c3Z2YzhMY3Q0UVNhU0I1NWpONlFpbHdEdEI2d2s1YndMbnl5VCtVeWJuMTFnc2J3d0J6amJXMmF5aGdHRWt6bjNkRnJTbWtQRXhTam4vWkxoTTRyZEJpd21DdkRKRUVySFpJck94c1JnRXJDSUxwem1FbkU1Z0JVVU1rY20waWsxbjBJS0NJaThOa1VSczNwWFpqS1dMczRDWGd0WVRDTW9qeERsT0pqTlJKdkxQb09VRVRWNGJJb25NNGZjSUorVFpOdGEvSUpSS0dTTWt4bXRCaXdrTHhoQU9ZaE1YbTVYQWtaRFQyMWcvUTZrSGhzdGtzeXR4WjR3aGRrSnNQaE1ibXdLR1EwNDlNSEZnRmNxUkVzT1dzcHcxZkVhRWNndHBHSkJhL2dLVWFqM25BTTFFZXh2ck15Z3hLZWVab0lXRUhkTkM3QUdaeFNNb3gwTWt0N0crQzF4SmpGT01HVkxER0NJRnhLWlQ2bGhCbktFa2Jrc0srN1RrRnFDZU9JT2xQRHVIQk9jS3hoQXVFSnVQcFk0WUJReEhlVEJvUFQyZ3dCcTYrS1pNd1pZS2MzNnVXOHdZSWcya2hqZUJDM1FPSTBpMEdNTUNsZ1RDODBCTXBwaHJCekxCdEJBWklMV3M0OHNjRS9CdHJPOGpUT1RmZk51WUlYT01JVEpFSnRJaHRiUmljUVNTMVcyczdjQmlpaGdxVTFnaHRnbHY5d0pqQ0krUUdqNlNHbUxBdDhIMzQ5elhZakZNcGhLVHNsRGM0NWN6bURHRXg4Z01YZ0RPMExtTXdxTFY0K0xmUkRoYnB2S1l4K1VhRFA2ak5pWGF5QmxCNnpDa3p2OERRZDdRck1iTFIxQUFBQUFBU1VWT1JLNUNZSUk9Ij4KCjxzdHlsZT4KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90bycpLCBsb2NhbCgnUm9ib3RvLVJlZ3VsYXInKSwgdXJsKC9mb250LXJvYm90by91WUVDTUtvSGNPOXgxd2RtYnlISW0zLV9rZjZCeVlPNkNMWWRCNEhRRS1ZLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vc1RkYUE2ajBQc2I5MjBWanYtbXJ6SC1fa2Y2QnlZTzZDTFlkQjRIUUUtWS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL19WWUZ4LXM4MjRrWHFfVWwyQkhxWUgtX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL3RuajRTQjZETmJkYVFuc004Q0ZxQlgtX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL29NTWdmWk1RdGhPcnlRbzluMjJkY3V2dkRpbjFwSzhhS3RlTHBlWjVjMEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvJyksIGxvY2FsKCdSb2JvdG8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL0tzX2NWeGlDaXdVV1ZzRldGQTNCam4tX2tmNkJ5WU82Q0xZZEI0SFFFLVkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8nKSwgbG9jYWwoJ1JvYm90by1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vTko0dnhsZ1d3V2JFc3YxOGRBaHFubi1fa2Y2QnlZTzZDTFlkQjRIUUUtWS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9pc1otd2JDWE5LQWJuam82X1R3SFRvWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by83N0ZYRmpSYkd6TjRhQ3JTRmhsaDNvWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9qU04yQ0dWRGJjVnlDbmZKZmpTZGZJWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkJyksIGxvY2FsKCdSb2JvdG8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL1VYNmk0SnhRRG0zZlZUYzFDUHV3cW9YMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vZC02SVlwbE9Gb2NDYWNLenh3WFNPSkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by85N3VhaHhpcVpSb25jQmFDRUkzYVc0WDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMUUwMC0xRUZGLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQ0YsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQnKSwgbG9jYWwoJ1JvYm90by1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vUHdaYy1ZYklMNDE0d0I5ckIxSUFQWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gQm9sZCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1Cb2xkSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdDZOZDRjZlBSaFpQNDRRNVFBamNDMTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tQm9sZEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL3Q2TmQ0Y2ZQUmhaUDQ0UTVRQWpjQ19acmFSMlRnOHcybHptN2tMTkwwLXcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0N3dF9SbTY5MUxUZWJLZlkyWmtLU21JLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0MxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0M0Z3A5UThnYllyaHFHbFJhdl9JWGZrLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMjEyLCBVKzIyMTU7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBCb2xkIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUJvbGRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by90Nk5kNGNmUFJoWlA0NFE1UUFqY0M2RThrTTR4V1IxXzFiWVVSUm9qUkdjLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyNEYsIFUrMUUwMC0xRUZGLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQ0YsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEJvbGQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tQm9sZEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL3Q2TmQ0Y2ZQUmhaUDQ0UTVRQWpjQzlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09wWFVxVG8wVWdRUWhHal9TRmRMV0JrQXo0clluNDdaeTJydmlnV1FmNncud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9XeHJYSmEwQzNLZHRDN2xNYWZHNGRSa0F6NHJZbjQ3WnkycnZpZ1dRZjZ3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vY0RLaFJhWG5RVE9WYmFveHdkT3I5eGtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vMWhaZjAyUE9BTmgzMmsyVmtnRW9VQmtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdlBjeW5TTDBxSHFfNmRYN2xLVkJ5WFloamJTcHZjNDdlZTZ4Ul84MEhudy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vdlN6dWxmS1NLMExMampmZWF4Y1JFaGtBejRyWW40N1p5MnJ2aWdXUWY2dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9LMjNjeFdWVHJJRkQ2REpzRVZpMDdSa0F6NHJZbjQ3WnkycnZpZ1dRZjZ3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCcpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0JyksIHVybCgvZm9udC1yb2JvdG8vRmw0eTBRZE94eXlUSEVHTVhYOGtjWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0JyksIGxvY2FsKCdSb2JvdG8tTGlnaHQnKSwgdXJsKC9mb250LXJvYm90by8wZUM2ZmwwNmx1WEVZV3BCU0p2WENJWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL0kzUzF3c2dTZzlZQ3VyVjZQVWtUT1lYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0JyksIGxvY2FsKCdSb2JvdG8tTGlnaHQnKSwgdXJsKC9mb250LXJvYm90by8tTDE0SmswNm02cFVIQi01bVhRUW5ZWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCcpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0JyksIHVybCgvZm9udC1yb2JvdG8vSGdvMTNrLXRmU3BuMHFpMVNGZFVmWkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL1BydTMzcWpTaHBaU21HM3o2Vll3bllYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQnKSwgbG9jYWwoJ1JvYm90by1MaWdodCcpLCB1cmwoL2ZvbnQtcm9ib3RvL05ZRFdCZEQ0Z0lxMjZHNVhZYkhzRklYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0MTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0X1pyYVIyVGc4dzJsem03a0xOTDAtdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0d3RfUm02OTFMVGViS2ZZMlprS1NtSS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTGlnaHQgSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTGlnaHRJdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by83bThsN1RsRk8tUzNWa2hIdVIwYXQxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1MaWdodEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvLzdtOGw3VGxGTy1TM1ZraEh1UjBhdDRncDlROGdiWXJocUdsUmF2X0lYZmsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIExpZ2h0IEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLUxpZ2h0SXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vN204bDdUbEZPLVMzVmtoSHVSMGF0NkU4a000eFdSMV8xYllVUlJvalJHYy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBMaWdodCBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1MaWdodEl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvLzdtOGw3VGxGTy1TM1ZraEh1UjBhdDlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bScpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bScpLCB1cmwoL2ZvbnQtcm9ib3RvL29IaTMwa3dRV3ZwQ1dxQWh6SGNDU0lYMGhWZ3paUVVmUkR1WnJQdkgzRDgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJsKC9mb250LXJvYm90by9aTHFLZWVsWWJBVEc2MEVwWkJTRHk0WDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vbXg5VWNrNnVCNjNWSUtGWW5FTVhyWVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vckd2SGRKbnIybDc1cWIwWU5EOU55SVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vUnhaSmRuemVvM1I1elNleGdlOFVVWkJ3MXhVMXJLcHRKal8wamFuczkyMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtJyksIHVybCgvZm9udC1yb2JvdG8vb09lRndaTmxyVGVmekxZbWxWVjFVSVgwaFZnelpRVWZSRHVaclB2SDNEOC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0nKSwgbG9jYWwoJ1JvYm90by1NZWRpdW0nKSwgdXJsKC9mb250LXJvYm90by9tYm1ocHJNSDY5Wmk2ZUVQQllWRmhZWDBoVmd6WlFVZlJEdVpyUHZIM0Q4LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vT0xmZkdCVGFGMFhGT1cxZ251SEYwVjRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9PTGZmR0JUYUYwWEZPVzFnbnVIRjBmWnJhUjJUZzh3Mmx6bTdrTE5MMC13LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMFF0X1JtNjkxTFRlYktmWTJaa0tTbUkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDNGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1lZGl1bSBJdGFsaWMnKSwgbG9jYWwoJ1JvYm90by1NZWRpdW1JdGFsaWMnKSwgdXJsKC9mb250LXJvYm90by9PTGZmR0JUYUYwWEZPVzFnbnVIRjBWQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNZWRpdW0gSXRhbGljJyksIGxvY2FsKCdSb2JvdG8tTWVkaXVtSXRhbGljJyksIHVybCgvZm9udC1yb2JvdG8vT0xmZkdCVGFGMFhGT1cxZ251SEYwWWdwOVE4Z2JZcmhxR2xSYXZfSVhmay53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzIwMDAtMjA2RiwgVSsyMDc0LCBVKzIwQUMsIFUrMjIxMiwgVSsyMjE1Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMGFFOGtNNHhXUjFfMWJZVVJSb2pSR2Mud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDI0RiwgVSsxRTAwLTFFRkYsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDRiwgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTWVkaXVtIEl0YWxpYycpLCBsb2NhbCgnUm9ib3RvLU1lZGl1bUl0YWxpYycpLCB1cmwoL2ZvbnQtcm9ib3RvL09MZmZHQlRhRjBYRk9XMWdudUhGMGREaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZMTRzWVlkSmc1ZFUycXpKRVZTdXRhMC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZX1pyYVIyVGc4dzJsem03a0xOTDAtdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZd3RfUm02OTFMVGViS2ZZMlprS1NtSS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vJyksIGxvY2FsKCdSb2JvdG9Nb25vLVJlZ3VsYXInKSwgdXJsKC9mb250LXJvYm90by9oTXFQTkxzdV9keXdNYTRDX0RFcFkxQlcyNlF4cFNqLV9aS21feFQ0aFd3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8nKSwgbG9jYWwoJ1JvYm90b01vbm8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL2hNcVBOTHN1X2R5d01hNENfREVwWTRncDlROGdiWXJocUdsUmF2X0lYZmsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSsyMDAwLTIwNkYsIFUrMjA3NCwgVSsyMEFDLCBVKzIyMTIsIFUrMjIxNTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubycpLCBsb2NhbCgnUm9ib3RvTW9uby1SZWd1bGFyJyksIHVybCgvZm9udC1yb2JvdG8vaE1xUE5Mc3VfZHl3TWE0Q19ERXBZNkU4a000eFdSMV8xYllVUlJvalJHYy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8nKSwgbG9jYWwoJ1JvYm90b01vbm8tUmVndWxhcicpLCB1cmwoL2ZvbnQtcm9ib3RvL2hNcVBOTHN1X2R5d01hNENfREVwWTlEaU5zUjVhLTlPZV9JdnB1OFhXbFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubyBCb2xkJyksIGxvY2FsKCdSb2JvdG9Nb25vLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9ONGR1VmM5QzU4dXdQaVk4XzU5RnoxeC1NMUkxdzVPTWlxblZGOHhCTGhVLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vIEJvbGQnKSwgbG9jYWwoJ1JvYm90b01vbm8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL040ZHVWYzlDNTh1d1BpWThfNTlGendYYUFYdXA1bVpsZks2eFJMcmhzY28ud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6d242V3F4by14d3hpbERYUFU4Y2hWVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wM0ZGOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogbG9jYWwoJ1JvYm90byBNb25vIEJvbGQnKSwgbG9jYWwoJ1JvYm90b01vbm8tQm9sZCcpLCB1cmwoL2ZvbnQtcm9ib3RvL040ZHVWYzlDNTh1d1BpWThfNTlGejFUN2FKTEs2bktwbjM2SU13VGNNTWMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IGxvY2FsKCdSb2JvdG8gTW9ubyBCb2xkJyksIGxvY2FsKCdSb2JvdG9Nb25vLUJvbGQnKSwgdXJsKC9mb250LXJvYm90by9ONGR1VmM5QzU4dXdQaVk4XzU5RnpfNzlfWnVVeENpZ00yRGVzcFRuRmF3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMjAwMC0yMDZGLCBVKzIwNzQsIFUrMjBBQywgVSsyMjEyLCBVKzIyMTU7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6NGdkOU9FUFVDTjNBZFlXMGU4dGF0NC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMjRGLCBVKzFFMDAtMUVGRiwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMENGLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiBsb2NhbCgnUm9ib3RvIE1vbm8gQm9sZCcpLCBsb2NhbCgnUm9ib3RvTW9uby1Cb2xkJyksIHVybCgvZm9udC1yb2JvdG8vTjRkdVZjOUM1OHV3UGlZOF81OUZ6OGJJUVNZWm5XTGFXQzlRTkNwVEtfVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Cjwvc3R5bGU+CgoKCjxzdHlsZT4ubWF0LWJhZGdlLWNvbnRlbnR7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsIC5tYXQtYmFkZ2UtY29udGVudHtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2UgLm1hdC1iYWRnZS1jb250ZW50e2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDEsLm1hdC1oZWFkbGluZSwubWF0LXR5cG9ncmFwaHkgaDF7Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDIsLm1hdC10aXRsZSwubWF0LXR5cG9ncmFwaHkgaDJ7Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDMsLm1hdC1zdWJoZWFkaW5nLTIsLm1hdC10eXBvZ3JhcGh5IGgze2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0LC5tYXQtc3ViaGVhZGluZy0xLC5tYXQtdHlwb2dyYXBoeSBoNHtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNSwubWF0LXR5cG9ncmFwaHkgaDV7Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDYsLm1hdC10eXBvZ3JhcGh5IGg2e2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nLC5tYXQtYm9keS0ye2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keSwubWF0LWJvZHktMSwubWF0LXR5cG9ncmFwaHl7Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5IHAsLm1hdC1ib2R5LTEgcCwubWF0LXR5cG9ncmFwaHkgcHttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbCwubWF0LWNhcHRpb257Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTQsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS00e2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktMywubWF0LXR5cG9ncmFwaHkgLm1hdC1kaXNwbGF5LTN7Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMiwubWF0LXR5cG9ncmFwaHkgLm1hdC1kaXNwbGF5LTJ7Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTEsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0xe2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJ7Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b24sLm1hdC1yYWlzZWQtYnV0dG9uLC5tYXQtaWNvbi1idXR0b24sLm1hdC1zdHJva2VkLWJ1dHRvbiwubWF0LWZsYXQtYnV0dG9uLC5tYXQtZmFiLC5tYXQtbWluaS1mYWJ7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGV7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxle2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyIC5tYXQtY2FyZC10aXRsZXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGUsLm1hdC1jYXJkLWNvbnRlbnR7Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXQgLm1hdC1jaGVja2JveC1sYWJlbHtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uLC5tYXQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29ue2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGV7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGx7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbCwubWF0LWZvb3Rlci1jZWxse2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwsLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9ue2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlciB0aHtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGV7Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudHtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGR7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJ7cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29ue2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiwubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b257aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb24sLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24tYnV0dG9uIC5tYXQtaWNvbntoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cysubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJ7dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVse3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcntmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtd3JhcHBlcntwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1pbmZpeHtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cysubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtbGFiZWx7dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJ7bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC1pbmZpeHtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1pbmZpeHtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXIsLm1hdC1ncmlkLXRpbGUtZm9vdGVye2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlciAubWF0LWxpbmUsLm1hdC1ncmlkLXRpbGUtZm9vdGVyIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyIC5tYXQtbGluZTpudGgtY2hpbGQobisyKSwubWF0LWdyaWQtdGlsZS1mb290ZXIgLm1hdC1saW5lOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50e21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVte2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3IsLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIC5tYXQtc2VsZWN0LXRyaWdnZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9ue2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcntoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50e2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsLC5tYXQtc3RlcHBlci1ob3Jpem9udGFse2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWx7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3J7Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcntmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWR7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3Vwe2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1saW5re2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyLC5tYXQtdG9vbGJhciBoMSwubWF0LXRvb2xiYXIgaDIsLm1hdC10b29sYmFyIGgzLC5tYXQtdG9vbGJhciBoNCwubWF0LXRvb2xiYXIgaDUsLm1hdC10b29sYmFyIGg2e2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldHtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVte2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9ue2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbSAubWF0LWxpbmV7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9ue2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1vcHRpb24gLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZSAubWF0LXN1YmhlYWRlcntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3QtaXRlbXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LWl0ZW0gLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LWl0ZW0gLm1hdC1saW5lOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3Qtb3B0aW9ue2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1vcHRpb24gLm1hdC1saW5lOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LXN1YmhlYWRlcntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9ue2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVse2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFye2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb257bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWV7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlLC5tYXQtbmVzdGVkLXRyZWUtbm9kZXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGV7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVke292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtcmlwcGxlLWVsZW1lbnR7ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVue2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lciwuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJ7cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJ7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3B7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmd7b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmd7b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AsLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmd7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94e3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2t7cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemV7cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ3twYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94e3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0ey8qISovfUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5key8qISovfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcntwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3J7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjEpfS5tYXQtb3B0aW9ue2NvbG9yOiMyMTIxMjF9Lm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSwubWF0LW9wdGlvbjpmb2N1czpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCl9Lm1hdC1vcHRpb24ubWF0LWFjdGl2ZXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA0KTtjb2xvcjojMjEyMTIxfS5tYXQtb3B0aW9uLm1hdC1vcHRpb24tZGlzYWJsZWR7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcHJpbWFyeSAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjojZjU3YzAwfS5tYXQtYWNjZW50IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiNmZjk4MDB9Lm1hdC13YXJuIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiNmNDQzMzZ9Lm1hdC1vcHRncm91cC1sYWJlbHtjb2xvcjojNjE2MTYxfS5tYXQtb3B0Z3JvdXAtZGlzYWJsZWQgLm1hdC1vcHRncm91cC1sYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1wc2V1ZG8tY2hlY2tib3h7Y29sb3I6IzYxNjE2MX0ubWF0LXBzZXVkby1jaGVja2JveDo6YWZ0ZXJ7Y29sb3I6I2ZmZn0ubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZHtjb2xvcjojYjBiMGIwfS5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRle2JhY2tncm91bmQ6I2Y1N2MwMH0ubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRle2JhY2tncm91bmQ6I2ZmOTgwMH0ubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kOiNmNDQzMzZ9Lm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZC5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkLC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZHtiYWNrZ3JvdW5kOiNiMGIwYjB9Lm1hdC1hcHAtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIxMjEyMX0ubWF0LWVsZXZhdGlvbi16MHtib3gtc2hhZG93OjBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejF7Ym94LXNoYWRvdzowcHggMnB4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMXB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16Mntib3gtc2hhZG93OjBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoze2JveC1zaGFkb3c6MHB4IDNweCAzcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDNweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejR7Ym94LXNoYWRvdzowcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejV7Ym94LXNoYWRvdzowcHggM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNXB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDE0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejZ7Ym94LXNoYWRvdzowcHggM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNnB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXo3e2JveC1zaGFkb3c6MHB4IDRweCA1cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDdweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAycHggMTZweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16OHtib3gtc2hhZG93OjBweCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejl7Ym94LXNoYWRvdzowcHggNXB4IDZweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggOXB4IDEycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDNweCAxNnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxMHtib3gtc2hhZG93OjBweCA2cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxMHB4IDE0cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDRweCAxOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxMXtib3gtc2hhZG93OjBweCA2cHggN3B4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxMXB4IDE1cHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDRweCAyMHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxMntib3gtc2hhZG93OjBweCA3cHggOHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxMnB4IDE3cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDVweCAyMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxM3tib3gtc2hhZG93OjBweCA3cHggOHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxM3B4IDE5cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDVweCAyNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxNHtib3gtc2hhZG93OjBweCA3cHggOXB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxNHB4IDIxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDVweCAyNnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxNXtib3gtc2hhZG93OjBweCA4cHggOXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxNXB4IDIycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDZweCAyOHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxNntib3gtc2hhZG93OjBweCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MTd7Ym94LXNoYWRvdzowcHggOHB4IDExcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE3cHggMjZweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNnB4IDMycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejE4e2JveC1zaGFkb3c6MHB4IDlweCAxMXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxOHB4IDI4cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDdweCAzNHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoxOXtib3gtc2hhZG93OjBweCA5cHggMTJweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTlweCAyOXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA3cHggMzZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MjB7Ym94LXNoYWRvdzowcHggMTBweCAxM3B4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAyMHB4IDMxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDhweCAzOHB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoyMXtib3gtc2hhZG93OjBweCAxMHB4IDEzcHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDIxcHggMzNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOHB4IDQwcHggN3B4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1lbGV2YXRpb24tejIye2JveC1zaGFkb3c6MHB4IDEwcHggMTRweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjJweCAzNXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA4cHggNDJweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWVsZXZhdGlvbi16MjN7Ym94LXNoYWRvdzowcHggMTFweCAxNHB4IC03cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAyM3B4IDM2cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDlweCA0NHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZWxldmF0aW9uLXoyNHtib3gtc2hhZG93OjBweCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC10aGVtZS1sb2FkZWQtbWFya2Vye2Rpc3BsYXk6bm9uZX0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbHtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzIxMjEyMX0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA0cHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LWFjdGl2ZSk6bm90KDpob3Zlcik6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjojMjEyMTIxfS5tYXQtYmFkZ2V7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1iYWRnZS1oaWRkZW4gLm1hdC1iYWRnZS1jb250ZW50e2Rpc3BsYXk6bm9uZX0ubWF0LWJhZGdlLWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMjAwbXMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKDAuNik7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm5nLWFuaW1hdGUtZGlzYWJsZWQgLm1hdC1iYWRnZS1jb250ZW50LC5tYXQtYmFkZ2UtY29udGVudC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZXt0cmFuc2l0aW9uOm5vbmV9Lm1hdC1iYWRnZS1jb250ZW50Lm1hdC1iYWRnZS1hY3RpdmV7dHJhbnNmb3JtOm5vbmV9Lm1hdC1iYWRnZS1zbWFsbCAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtsaW5lLWhlaWdodDoxNnB4fS5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWFib3ZlIC5tYXQtYmFkZ2UtY29udGVudHt0b3A6LThweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1iZWxvdyAubWF0LWJhZGdlLWNvbnRlbnR7Ym90dG9tOi04cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi0xNnB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotMTZweH0ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnR7cmlnaHQ6LTE2cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LTE2cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi04cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi04cHh9Lm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi04cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LThweH0ubWF0LWJhZGdlLW1lZGl1bSAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDtsaW5lLWhlaWdodDoyMnB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1hYm92ZSAubWF0LWJhZGdlLWNvbnRlbnR7dG9wOi0xMXB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWxvdyAubWF0LWJhZGdlLWNvbnRlbnR7Ym90dG9tOi0xMXB4fS5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTIycHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6YXV0bztyaWdodDotMjJweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0Oi0yMnB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMjJweH0ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0Oi0xMXB4fVtkaXI9cnRsXSAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudHtsZWZ0OmF1dG87cmlnaHQ6LTExcHh9Lm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMTFweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDphdXRvO2xlZnQ6LTExcHh9Lm1hdC1iYWRnZS1sYXJnZSAubWF0LWJhZGdlLWNvbnRlbnR7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtsaW5lLWhlaWdodDoyOHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWFib3ZlIC5tYXQtYmFkZ2UtY29udGVudHt0b3A6LTE0cHh9Lm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYmVsb3cgLm1hdC1iYWRnZS1jb250ZW50e2JvdHRvbTotMTRweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTI4cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi0yOHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMjhweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMjhweH0ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50e2xlZnQ6LTE0cHh9W2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnR7bGVmdDphdXRvO3JpZ2h0Oi0xNHB4fS5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudHtyaWdodDotMTRweH1bZGlyPXJ0bF0gLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50e3JpZ2h0OmF1dG87bGVmdDotMTRweH0ubWF0LWJhZGdlLWNvbnRlbnR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiNmNTdjMDB9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJhZGdlLWNvbnRlbnR7b3V0bGluZTpzb2xpZCAxcHg7Ym9yZGVyLXJhZGl1czowfS5tYXQtYmFkZ2UtYWNjZW50IC5tYXQtYmFkZ2UtY29udGVudHtiYWNrZ3JvdW5kOiNmZjk4MDA7Y29sb3I6I2ZmZn0ubWF0LWJhZGdlLXdhcm4gLm1hdC1iYWRnZS1jb250ZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZDojZjQ0MzM2fS5tYXQtYmFkZ2UtZGlzYWJsZWQgLm1hdC1iYWRnZS1jb250ZW50e2JhY2tncm91bmQ6I2JkYmRiZDtjb2xvcjojNzU3NTc1fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcntib3gtc2hhZG93OjBweCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzIxMjEyMX0ubWF0LWJ1dHRvbiwubWF0LWljb24tYnV0dG9uLC5tYXQtc3Ryb2tlZC1idXR0b257Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS5tYXQtYnV0dG9uLm1hdC1wcmltYXJ5LC5tYXQtaWNvbi1idXR0b24ubWF0LXByaW1hcnksLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeXtjb2xvcjojZjU3YzAwfS5tYXQtYnV0dG9uLm1hdC1hY2NlbnQsLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWFjY2VudHtjb2xvcjojZmY5ODAwfS5tYXQtYnV0dG9uLm1hdC13YXJuLC5tYXQtaWNvbi1idXR0b24ubWF0LXdhcm4sLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fS5tYXQtYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtaWNvbi1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWljb24tYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWljb24tYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1pY29uLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMH0ubWF0LWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwfS5tYXQtYnV0dG9uLm1hdC13YXJuIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm1hdC1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWljb24tYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50e29wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9Lm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kOiMwMDB9Lm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpe2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1mbGF0LWJ1dHRvbiwubWF0LXJhaXNlZC1idXR0b24sLm1hdC1mYWIsLm1hdC1taW5pLWZhYntjb2xvcjojMjEyMTIxO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeSwubWF0LWZhYi5tYXQtcHJpbWFyeSwubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5e2NvbG9yOiNmZmZ9Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50LC5tYXQtZmFiLm1hdC1hY2NlbnQsLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50e2NvbG9yOiNmZmZ9Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybiwubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4sLm1hdC1mYWIubWF0LXdhcm4sLm1hdC1taW5pLWZhYi5tYXQtd2Fybntjb2xvcjojZmZmfS5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZsYXQtYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXJhaXNlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmFiLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mYWIubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmFiLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtbWluaS1mYWIubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LW1pbmktZmFiLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LW1pbmktZmFiLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1taW5pLWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWR7Y29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnksLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5LC5tYXQtZmFiLm1hdC1wcmltYXJ5LC5tYXQtbWluaS1mYWIubWF0LXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjojZjU3YzAwfS5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCwubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudCwubWF0LWZhYi5tYXQtYWNjZW50LC5tYXQtbWluaS1mYWIubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDB9Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybiwubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4sLm1hdC1mYWIubWF0LXdhcm4sLm1hdC1taW5pLWZhYi5tYXQtd2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZsYXQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mYWIubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZhYi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mYWIubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtbWluaS1mYWIubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtbWluaS1mYWIubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LW1pbmktZmFiLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1mYWIubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWZsYXQtYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtZmFiLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LW1pbmktZmFiLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWZhYi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtbWluaS1mYWIubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtc3Ryb2tlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksLm1hdC1mbGF0LWJ1dHRvbjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1yYWlzZWQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6YWN0aXZlOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LXJhaXNlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1mYWI6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksLm1hdC1taW5pLWZhYjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA2cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1mYWI6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmU6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksLm1hdC1taW5pLWZhYjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmFjdGl2ZTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCA3cHggOHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxMnB4IDE3cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDVweCAyMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtZmFiLm1hdC1idXR0b24tZGlzYWJsZWQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksLm1hdC1taW5pLWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZSwubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXB7Ym94LXNoYWRvdzowcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJke2JveC1zaGFkb3c6bm9uZX0ubWF0LWJ1dHRvbi10b2dnbGV7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtYnV0dG9uLXRvZ2dsZSAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZHtjb2xvcjojMjEyMTIxO2JhY2tncm91bmQ6I2ZmZn0ubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlKy5tYXQtYnV0dG9uLXRvZ2dsZXtib3JkZXItbGVmdDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfVtkaXI9cnRsXSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUrLm1hdC1idXR0b24tdG9nZ2xle2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLXJpZ2h0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMil9Lm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWJ1dHRvbi10b2dnbGUtdmVydGljYWwgLm1hdC1idXR0b24tdG9nZ2xlKy5tYXQtYnV0dG9uLXRvZ2dsZXtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodDpub25lO2JvcmRlci10b3A6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Y29sb3I6IzYxNjE2MX0ubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJke2NvbG9yOiMyMTIxMjF9Lm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVke2NvbG9yOnJnYmEoMCwwLDAsLjI2KTtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9Lm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7YmFja2dyb3VuZDojZmZmfS5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZC5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2Vke2JhY2tncm91bmQtY29sb3I6I2JkYmRiZH0ubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJke2JvcmRlcjpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZS1sYWJlbC1jb250ZW50e2xpbmUtaGVpZ2h0OjQ4cHh9Lm1hdC1jYXJke2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMjEyMTIxfS5tYXQtY2FyZDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKXtib3gtc2hhZG93OjBweCAycHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtY2FyZC5tYXQtY2FyZC1mbGF0Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWNhcmQtc3VidGl0bGV7Y29sb3I6IzYxNjE2MX0ubWF0LWNoZWNrYm94LWZyYW1le2JvcmRlci1jb2xvcjojNjE2MTYxfS5tYXQtY2hlY2tib3gtY2hlY2ttYXJre2ZpbGw6I2ZmZn0ubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe3N0cm9rZTojZmZmICFpbXBvcnRhbnR9Lm1hdC1jaGVja2JveC1taXhlZG1hcmt7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtcHJpbWFyeSAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1wcmltYXJ5IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9Lm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDB9Lm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC13YXJuIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCwubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXdhcm4gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LWNoZWNrYm94LWRpc2FibGVkLm1hdC1jaGVja2JveC1jaGVja2VkIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCwubWF0LWNoZWNrYm94LWRpc2FibGVkLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNiMGIwYjB9Lm1hdC1jaGVja2JveC1kaXNhYmxlZDpub3QoLm1hdC1jaGVja2JveC1jaGVja2VkKSAubWF0LWNoZWNrYm94LWZyYW1le2JvcmRlci1jb2xvcjojYjBiMGIwfS5tYXQtY2hlY2tib3gtZGlzYWJsZWQgLm1hdC1jaGVja2JveC1sYWJlbHtjb2xvcjojNjE2MTYxfS5tYXQtY2hlY2tib3ggLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1hdC1jaGVja2JveC1jaGVja2VkOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6I2Y1N2MwMH0ubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LWNoZWNrYm94OmFjdGl2ZTpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQ6I2ZmOTgwMH0ubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1jaGVja2JveDphY3RpdmU6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDojZjQ0MzM2fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcHtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Y29sb3I6IzIxMjEyMX0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAgLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojMjEyMTIxO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpOmFjdGl2ZXtib3gtc2hhZG93OjBweCAzcHggM3B4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAzcHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcDpub3QoLm1hdC1jaGlwLWRpc2FibGVkKSAubWF0LWNoaXAtcmVtb3ZlOmhvdmVye29wYWNpdHk6LjU0fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1kaXNhYmxlZHtvcGFjaXR5Oi40fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcDo6YWZ0ZXJ7YmFja2dyb3VuZDojMDAwfS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDA7Y29sb3I6I2ZmZn0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXByaW1hcnkgLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXdhcm57YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2O2NvbG9yOiNmZmZ9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC13YXJuIC5tYXQtY2hpcC1yZW1vdmV7Y29sb3I6I2ZmZjtvcGFjaXR5Oi40fS5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwO2NvbG9yOiNmZmZ9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnQgLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Lm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tYXQtdGFibGV7YmFja2dyb3VuZDojZmZmfS5tYXQtdGFibGUgdGhlYWQsLm1hdC10YWJsZSB0Ym9keSwubWF0LXRhYmxlIHRmb290LG1hdC1oZWFkZXItcm93LG1hdC1yb3csbWF0LWZvb3Rlci1yb3csW21hdC1oZWFkZXItcm93XSxbbWF0LXJvd10sW21hdC1mb290ZXItcm93XSwubWF0LXRhYmxlLXN0aWNreXtiYWNrZ3JvdW5kOmluaGVyaXR9bWF0LXJvdyxtYXQtaGVhZGVyLXJvdyxtYXQtZm9vdGVyLXJvdyx0aC5tYXQtaGVhZGVyLWNlbGwsdGQubWF0LWNlbGwsdGQubWF0LWZvb3Rlci1jZWxse2JvcmRlci1ib3R0b20tY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtaGVhZGVyLWNlbGx7Y29sb3I6IzYxNjE2MX0ubWF0LWNlbGwsLm1hdC1mb290ZXItY2VsbHtjb2xvcjojMjEyMTIxfS5tYXQtY2FsZW5kYXItYXJyb3d7ZmlsbDpyZ2JhKDAsMCwwLC41NCl9Lm1hdC1kYXRlcGlja2VyLXRvZ2dsZSwubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9ue2NvbG9yOnJnYmEoMCwwLDAsLjU0KX0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcntjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcjo6YWZ0ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVse2NvbG9yOiM2MTYxNjF9Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCwubWF0LWRhdGUtcmFuZ2UtaW5wdXQtc2VwYXJhdG9ye2NvbG9yOiMyMTIxMjE7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpe2NvbG9yOiM3NTc1NzV9Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3J7Y29sb3I6Izc1NzU3NX0ubWF0LWNhbGVuZGFyLWJvZHktaW4tcHJldmlld3tjb2xvcjpyZ2JhKDAsMCwwLC4yNCl9Lm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpe2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS10b2RheTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMTgpfS5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNDUsMTI0LDAsLjIpfS5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCwubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNDksMTcxLDAsLjIpfS5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlLFtkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjQ1LCAxMjQsIDAsIDAuMikgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSl9Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLFtkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDI0NSwgMTI0LCAwLCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfS5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZT4ubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVye2JhY2tncm91bmQ6I2E4ZGFiNX0ubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQsLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQ6IzQ2YTM1ZX0ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojZjU3YzAwO2NvbG9yOiNmZmZ9Lm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ1LDEyNCwwLC40KX0ubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZn0ubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3Zlcj4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCksLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDUsMTI0LDAsLjMpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50e2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMjEyMTIxfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjpiZWZvcmV7YmFja2dyb3VuZDpyZ2JhKDI1NSwxNTIsMCwuMil9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNDksMTcxLDAsLjIpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmUsLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMTUyLCAwLCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgW2Rpcj1ydGxdIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMjU1LCAxNTIsIDAsIDAuMikgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSl9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVye2JhY2tncm91bmQ6I2E4ZGFiNX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kOiM0NmEzNWV9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwO2NvbG9yOiNmZmZ9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQ+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMTUyLDAsLjQpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3Zlcj4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDE1MiwwLC4zKX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ0LDY3LDU0LC4yKX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ5LDE3MSwwLC4yKX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI0NCwgNjcsIDU0LCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgyNDQsIDY3LCA1NCwgMC4yKSA1MCUsIHJnYmEoMjQ5LCAxNzEsIDAsIDAuMikgNTAlKX0ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjphZnRlcntiYWNrZ3JvdW5kOiNhOGRhYjV9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kOiM0NmEzNWV9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNjtjb2xvcjojZmZmfS5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuNCl9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Lm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXI+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSwubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ0LDY3LDU0LC4zKX0ubWF0LWRhdGVwaWNrZXItY29udGVudC10b3VjaHtib3gtc2hhZG93OjBweCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmV7Y29sb3I6I2Y1N2MwMH0ubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZS5tYXQtYWNjZW50e2NvbG9yOiNmZjk4MDB9Lm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmUubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn0ubWF0LWRhdGUtcmFuZ2UtaW5wdXQtaW5uZXJbZGlzYWJsZWRde2NvbG9yOiM3NTc1NzV9Lm1hdC1kaWFsb2ctY29udGFpbmVye2JveC1zaGFkb3c6MHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzIxMjEyMX0ubWF0LWRpdmlkZXJ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1kaXZpZGVyLXZlcnRpY2Fse2JvcmRlci1yaWdodC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1leHBhbnNpb24tcGFuZWx7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyMTIxMjF9Lm1hdC1leHBhbnNpb24tcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LWFjdGlvbi1yb3d7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1leHBhbnNpb24tcGFuZWwgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSksLm1hdC1leHBhbnNpb24tcGFuZWwgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSwubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wNCl9QG1lZGlhKGhvdmVyOiBub25lKXsubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCk6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDojZmZmfX0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGV7Y29sb3I6IzIxMjEyMX0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24sLm1hdC1leHBhbnNpb24taW5kaWNhdG9yOjphZnRlcntjb2xvcjojNjE2MTYxfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlclthcmlhLWRpc2FibGVkPXRydWVde2NvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUsLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9ue2NvbG9yOmluaGVyaXR9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVye2hlaWdodDo0OHB4fS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5tYXQtZXhwYW5kZWR7aGVpZ2h0OjY0cHh9Lm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOnJnYmEoOTcsOTcsOTcsLjYpfS5tYXQtaGludHtjb2xvcjpyZ2JhKDk3LDk3LDk3LC42KX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiNmNTdjMDB9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtYWNjZW50e2NvbG9yOiNmZjk4MDB9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fS5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2Vye2NvbG9yOiNmZjk4MDB9Lm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDB9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LXdhcm57YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb2N1c2VkOm5vdCgubWF0LWZvcm0tZmllbGQtaW52YWxpZCkgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZjU3YzAwfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb2N1c2VkOm5vdCgubWF0LWZvcm0tZmllbGQtaW52YWxpZCkubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOiNmZjk4MDB9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvY3VzZWQ6bm90KC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkKS5tYXQtd2FybiAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLm1hdC1hY2NlbnQsLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIC5tYXQtZm9ybS1maWVsZC1yZXF1aXJlZC1tYXJrZXJ7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1lcnJvcntjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6IzYxNjE2MX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1oaW50e2NvbG9yOiM2MTYxNjF9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC40MikgMCUsIHJnYmEoMCwgMCwgMCwgMC40MikgMzMlLCB0cmFuc3BhcmVudCAwJSk7YmFja2dyb3VuZC1zaXplOjRweCAxMDAlO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC40Mil9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjQyKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjQyKSAzMyUsIHRyYW5zcGFyZW50IDAlKTtiYWNrZ3JvdW5kLXNpemU6NHB4IDEwMCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtZmxleHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA0KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1mbGV4e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDIpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNDIpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiM3NTc1NzV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2NvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmNTdjMDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZC5tYXQtYWNjZW50IC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmZjk4MDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZC5tYXQtd2FybiAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtaW52YWxpZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtbGFiZWx7Y29sb3I6Izc1NzU3NX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2NvbG9yOnJnYmEoMCwwLDAsLjA2KX0ubWF0LWljb24ubWF0LXByaW1hcnl7Y29sb3I6I2Y1N2MwMH0ubWF0LWljb24ubWF0LWFjY2VudHtjb2xvcjojZmY5ODAwfS5tYXQtaWNvbi5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6IzYxNjE2MX0ubWF0LWlucHV0LWVsZW1lbnQ6ZGlzYWJsZWQsLm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojNzU3NTc1fS5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjojZjU3YzAwfS5tYXQtaW5wdXQtZWxlbWVudDo6cGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSg5Nyw5Nyw5NywuNDIpfS5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDk3LDk3LDk3LC40Mil9Lm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoOTcsOTcsOTcsLjQyKX0ubWF0LWlucHV0LWVsZW1lbnQ6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoOTcsOTcsOTcsLjQyKX0ubWF0LWZvcm0tZmllbGQubWF0LWFjY2VudCAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6I2ZmOTgwMH0ubWF0LWZvcm0tZmllbGQubWF0LXdhcm4gLm1hdC1pbnB1dC1lbGVtZW50LC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtaW5wdXQtZWxlbWVudHtjYXJldC1jb2xvcjojZjQ0MzM2fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZjQ0MzM2fS5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVte2NvbG9yOiMyMTIxMjF9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbntjb2xvcjojMjEyMTIxfS5tYXQtbGlzdC1iYXNlIC5tYXQtc3ViaGVhZGVye2NvbG9yOiM2MTYxNjF9Lm1hdC1saXN0LWl0ZW0tZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5tYXQtbGlzdC1vcHRpb246aG92ZXIsLm1hdC1saXN0LW9wdGlvbjpmb2N1cywubWF0LW5hdi1saXN0IC5tYXQtbGlzdC1pdGVtOmhvdmVyLC5tYXQtbmF2LWxpc3QgLm1hdC1saXN0LWl0ZW06Zm9jdXMsLm1hdC1hY3Rpb24tbGlzdCAubWF0LWxpc3QtaXRlbTpob3ZlciwubWF0LWFjdGlvbi1saXN0IC5tYXQtbGlzdC1pdGVtOmZvY3Vze2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uLC5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uOmhvdmVyLC5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uOmZvY3Vze2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTIpfS5tYXQtbWVudS1wYW5lbHtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1tZW51LXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtbWVudS1pdGVte2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzIxMjEyMX0ubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF0sLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdIC5tYXQtbWVudS1zdWJtZW51LWljb24sLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdIC5tYXQtaWNvbi1uby1jb2xvcntjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLW5vLWNvbG9yLC5tYXQtbWVudS1zdWJtZW51LWljb257Y29sb3I6cmdiYSgwLDAsMCwuNTQpfS5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwubWF0LW1lbnUtaXRlbS5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSwubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2Rpc2FibGVkXSksLm1hdC1tZW51LWl0ZW0taGlnaGxpZ2h0ZWQ6bm90KFtkaXNhYmxlZF0pe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMDQpfS5tYXQtcGFnaW5hdG9ye2JhY2tncm91bmQ6I2ZmZn0ubWF0LXBhZ2luYXRvciwubWF0LXBhZ2luYXRvci1wYWdlLXNpemUgLm1hdC1zZWxlY3QtdHJpZ2dlcntjb2xvcjojNjE2MTYxfS5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCwubWF0LXBhZ2luYXRvci1pbmNyZW1lbnR7Ym9yZGVyLXRvcDoycHggc29saWQgcmdiYSgwLDAsMCwuNTQpO2JvcmRlci1yaWdodDoycHggc29saWQgcmdiYSgwLDAsMCwuNTQpfS5tYXQtcGFnaW5hdG9yLWZpcnN0LC5tYXQtcGFnaW5hdG9yLWxhc3R7Ym9yZGVyLXRvcDoycHggc29saWQgcmdiYSgwLDAsMCwuNTQpfS5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCwubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnQsLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItZmlyc3QsLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItbGFzdHtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcGFnaW5hdG9yLWNvbnRhaW5lcnttaW4taGVpZ2h0OjU2cHh9Lm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZHtmaWxsOiNmZGRlYmZ9Lm1hdC1wcm9ncmVzcy1iYXItYnVmZmVye2JhY2tncm91bmQtY29sb3I6I2ZkZGViZn0ubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5ke2ZpbGw6I2ZmZTViZn0ubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmU1YmZ9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDB9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZHtmaWxsOiNmY2QwY2R9Lm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVye2JhY2tncm91bmQtY29sb3I6I2ZjZDBjZH0ubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZSwubWF0LXNwaW5uZXIgY2lyY2xle3N0cm9rZTojZjU3YzAwfS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtYWNjZW50IGNpcmNsZSwubWF0LXNwaW5uZXIubWF0LWFjY2VudCBjaXJjbGV7c3Ryb2tlOiNmZjk4MDB9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC13YXJuIGNpcmNsZSwubWF0LXNwaW5uZXIubWF0LXdhcm4gY2lyY2xle3N0cm9rZTojZjQ0MzM2fS5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjojNjE2MTYxfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjojZjU3YzAwfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUpLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LXByaW1hcnk6YWN0aXZlIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojZjU3YzAwfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOiNmZjk4MDB9Lm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudCAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUpLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50OmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMH0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2Fybi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6I2Y0NDMzNn0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2FybiAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2FybiAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSwubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2Fybi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLC5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuOmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUsLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8taW5uZXItY2lyY2xle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCAubWF0LXJhZGlvLWxhYmVsLWNvbnRlbnR7Y29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtcmFkaW8tYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5tYXQtc2VsZWN0LXZhbHVle2NvbG9yOiMyMTIxMjF9Lm1hdC1zZWxlY3QtcGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSg5Nyw5Nyw5NywuNDIpfS5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LXZhbHVle2NvbG9yOiM3NTc1NzV9Lm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6IzYxNjE2MX0ubWF0LXNlbGVjdC1wYW5lbHtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC1zZWxlY3QtcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSl7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkLm1hdC1wcmltYXJ5IC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiNmNTdjMDB9Lm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkLm1hdC1hY2NlbnQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6I2ZmOTgwMH0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQubWF0LXdhcm4gLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6I2Y0NDMzNn0ubWF0LWZvcm0tZmllbGQgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1pbnZhbGlkIC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiNmNDQzMzZ9Lm1hdC1mb3JtLWZpZWxkIC5tYXQtc2VsZWN0Lm1hdC1zZWxlY3QtZGlzYWJsZWQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6Izc1NzU3NX0ubWF0LWRyYXdlci1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMyMTIxMjF9Lm1hdC1kcmF3ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMyMTIxMjF9Lm1hdC1kcmF3ZXIubWF0LWRyYXdlci1wdXNoe2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LWRyYXdlcjpub3QoLm1hdC1kcmF3ZXItc2lkZSl7Ym94LXNoYWRvdzowcHggOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Lm1hdC1kcmF3ZXItc2lkZXtib3JkZXItcmlnaHQ6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKX0ubWF0LWRyYXdlci1zaWRlLm1hdC1kcmF3ZXItZW5ke2JvcmRlci1sZWZ0OnNvbGlkIDFweCByZ2JhKDAsMCwwLC4xMik7Ym9yZGVyLXJpZ2h0Om5vbmV9W2Rpcj1ydGxdIC5tYXQtZHJhd2VyLXNpZGV7Ym9yZGVyLWxlZnQ6c29saWQgMXB4IHJnYmEoMCwwLDAsLjEyKTtib3JkZXItcmlnaHQ6bm9uZX1bZGlyPXJ0bF0gLm1hdC1kcmF3ZXItc2lkZS5tYXQtZHJhd2VyLWVuZHtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodDpzb2xpZCAxcHggcmdiYSgwLDAsMCwuMTIpfS5tYXQtZHJhd2VyLWJhY2tkcm9wLm1hdC1kcmF3ZXItc2hvd257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDB9Lm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMTUyLDAsLjU0KX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMH0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtcHJpbWFyeS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXByaW1hcnkubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDUsMTI0LDAsLjU0KX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtcHJpbWFyeS5tYXQtY2hlY2tlZCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMH0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtd2Fybi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC1zbGlkZS10b2dnbGUubWF0LXdhcm4ubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDQsNjcsNTQsLjU0KX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtd2Fybi5tYXQtY2hlY2tlZCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn0ubWF0LXNsaWRlLXRvZ2dsZTpub3QoLm1hdC1jaGVja2VkKSAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6IzAwMH0ubWF0LXNsaWRlLXRvZ2dsZS10aHVtYntib3gtc2hhZG93OjBweCAycHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO2JhY2tncm91bmQtY29sb3I6I2ZhZmFmYX0ubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdHJhY2stZmlsbCwubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1wcmltYXJ5IC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMH0ubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtjb2xvcjojZmZmfS5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci1mb2N1cy1yaW5ne2JhY2tncm91bmQtY29sb3I6cmdiYSgyNDUsMTI0LDAsLjIpfS5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsLm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwfS5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Y29sb3I6I2ZmZn0ubWF0LWFjY2VudCAubWF0LXNsaWRlci1mb2N1cy1yaW5ne2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMTUyLDAsLjIpfS5tYXQtd2FybiAubWF0LXNsaWRlci10cmFjay1maWxsLC5tYXQtd2FybiAubWF0LXNsaWRlci10aHVtYiwubWF0LXdhcm4gLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtd2FybiAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e2NvbG9yOiNmZmZ9Lm1hdC13YXJuIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuMil9Lm1hdC1zbGlkZXI6aG92ZXIgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCwubWF0LXNsaWRlci5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMzgpfS5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdHJhY2stZmlsbCwubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjI2KX0ubWF0LXNsaWRlci1kaXNhYmxlZDpob3ZlciAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtc2xpZGVyLW1pbi12YWx1ZSAubWF0LXNsaWRlci1mb2N1cy1yaW5ne2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMTIpfS5tYXQtc2xpZGVyLW1pbi12YWx1ZS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjg3KX0ubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyLW1pbi12YWx1ZS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yNil9Lm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKSAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMjYpO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKTpob3ZlciAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1ie2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Lm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKTpob3Zlci5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZykuY2RrLWZvY3VzZWQubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMjYpfS5tYXQtc2xpZGVyLWhhcy10aWNrcyAubWF0LXNsaWRlci13cmFwcGVyOjphZnRlcntib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNyl9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10aWNrc3tiYWNrZ3JvdW5kLWltYWdlOnJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC43KSwgcmdiYSgwLCAwLCAwLCAwLjcpIDJweCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LW1vei1yZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDAuMDAwMWRlZywgcmdiYSgwLCAwLCAwLCAwLjcpLCByZ2JhKDAsIDAsIDAsIDAuNykgMnB4LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCl9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3N7YmFja2dyb3VuZC1pbWFnZTpyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjcpLCByZ2JhKDAsIDAsIDAsIDAuNykgMnB4LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCl9Lm1hdC1zdGVwLWhlYWRlci5jZGsta2V5Ym9hcmQtZm9jdXNlZCwubWF0LXN0ZXAtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQsLm1hdC1zdGVwLWhlYWRlcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWRdKSwubWF0LXN0ZXAtaGVhZGVyOmhvdmVyW2FyaWEtZGlzYWJsZWQ9ZmFsc2Vde2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDQpfS5tYXQtc3RlcC1oZWFkZXI6aG92ZXJbYXJpYS1kaXNhYmxlZD10cnVlXXtjdXJzb3I6ZGVmYXVsdH1AbWVkaWEoaG92ZXI6IG5vbmUpey5tYXQtc3RlcC1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDpub25lfX0ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1sYWJlbCwubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1vcHRpb25hbHtjb2xvcjojNjE2MTYxfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb257YmFja2dyb3VuZC1jb2xvcjojNjE2MTYxO2NvbG9yOiNmZmZ9Lm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCwubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsLm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0e2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMDtjb2xvcjojZmZmfS5tYXQtc3RlcC1oZWFkZXIubWF0LWFjY2VudCAubWF0LXN0ZXAtaWNvbntjb2xvcjojZmZmfS5tYXQtc3RlcC1oZWFkZXIubWF0LWFjY2VudCAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCwubWF0LXN0ZXAtaGVhZGVyLm1hdC1hY2NlbnQgLm1hdC1zdGVwLWljb24tc3RhdGUtZG9uZSwubWF0LXN0ZXAtaGVhZGVyLm1hdC1hY2NlbnQgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdHtiYWNrZ3JvdW5kLWNvbG9yOiNmZjk4MDA7Y29sb3I6I2ZmZn0ubWF0LXN0ZXAtaGVhZGVyLm1hdC13YXJuIC5tYXQtc3RlcC1pY29ue2NvbG9yOiNmZmZ9Lm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCwubWF0LXN0ZXAtaGVhZGVyLm1hdC13YXJuIC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsLm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0e2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNjtjb2xvcjojZmZmfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc3RhdGUtZXJyb3J7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjojZjQ0MzM2fS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWFjdGl2ZXtjb2xvcjojMjEyMTIxfS5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWVycm9ye2NvbG9yOiNmNDQzMzZ9Lm1hdC1zdGVwcGVyLWhvcml6b250YWwsLm1hdC1zdGVwcGVyLXZlcnRpY2Fse2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubWF0LXN0ZXBwZXItdmVydGljYWwtbGluZTo6YmVmb3Jle2JvcmRlci1sZWZ0LWNvbG9yOnJnYmEoMCwwLDAsLjEyKX0ubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmJlZm9yZSwubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmFmdGVyLC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmV7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9Lm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVye2hlaWdodDo3MnB4fS5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyLC5tYXQtdmVydGljYWwtc3RlcHBlci1oZWFkZXJ7cGFkZGluZzoyNHB4IDI0cHh9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsLWxpbmU6OmJlZm9yZXt0b3A6LTE2cHg7Ym90dG9tOi0xNnB4fS5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjphZnRlciwubWF0LXN0ZXBwZXItbGFiZWwtcG9zaXRpb24tYm90dG9tIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcjo6YmVmb3Jle3RvcDozNnB4fS5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1zdGVwcGVyLWhvcml6b250YWwtbGluZXt0b3A6MzZweH0ubWF0LXNvcnQtaGVhZGVyLWFycm93e2NvbG9yOiM2MTYxNjF9Lm1hdC10YWItbmF2LWJhciwubWF0LXRhYi1oZWFkZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpfS5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciAubWF0LXRhYi1uYXYtYmFyLC5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciAubWF0LXRhYi1oZWFkZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpO2JvcmRlci1ib3R0b206bm9uZX0ubWF0LXRhYi1sYWJlbCwubWF0LXRhYi1saW5re2NvbG9yOiMyMTIxMjF9Lm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y29sb3I6Izc1NzU3NX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjojMjEyMTIxfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOiM3NTc1NzV9Lm1hdC10YWItZ3JvdXBbY2xhc3MqPW1hdC1iYWNrZ3JvdW5kLV0gLm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXJbY2xhc3MqPW1hdC1iYWNrZ3JvdW5kLV17Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci10b3A6bm9uZX0ubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwxNjcsMzgsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9Lm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5Lm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyMjQsMTc4LC4zKX0ubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2ZmOTgwMH0ubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50Lm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LWluay1iYXIsLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50Lm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIwNSwyMTAsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtaW5rLWJhciwubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Lm1hdC10YWItZ3JvdXAubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwxNjcsMzgsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZC1jb2xvcjojZjU3YzAwfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluaywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5re2NvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3Jle2JvcmRlci1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIyNCwxNzgsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmssLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmt7Y29sb3I6I2ZmZn0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmV7Ym9yZGVyLWNvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDIwNSwyMTAsLjMpfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluaywubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5re2NvbG9yOiNmZmZ9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3Jle2JvcmRlci1jb2xvcjojZmZmfS5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXJpcHBsZS1lbGVtZW50LC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX0ubWF0LXRvb2xiYXJ7YmFja2dyb3VuZDojZjU3YzAwO2NvbG9yOiMyMTIxMjF9Lm1hdC10b29sYmFyLm1hdC1wcmltYXJ5e2JhY2tncm91bmQ6I2Y1N2MwMDtjb2xvcjojZmZmfS5tYXQtdG9vbGJhci5tYXQtYWNjZW50e2JhY2tncm91bmQ6I2ZmOTgwMDtjb2xvcjojZmZmfS5tYXQtdG9vbGJhci5tYXQtd2FybntiYWNrZ3JvdW5kOiNmNDQzMzY7Y29sb3I6I2ZmZn0ubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSwubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LXRvb2xiYXIgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9Lm1hdC10b29sYmFyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LXRvb2xiYXIgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LXRvb2xiYXIgLm1hdC1zZWxlY3QtdmFsdWUsLm1hdC10b29sYmFyIC5tYXQtc2VsZWN0LWFycm93LC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6aW5oZXJpdH0ubWF0LXRvb2xiYXIgLm1hdC1pbnB1dC1lbGVtZW50e2NhcmV0LWNvbG9yOmN1cnJlbnRDb2xvcn0ubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93c3ttaW4taGVpZ2h0OjY0cHh9Lm1hdC10b29sYmFyLXJvdywubWF0LXRvb2xiYXItc2luZ2xlLXJvd3toZWlnaHQ6NjRweH1AbWVkaWEobWF4LXdpZHRoOiA1OTlweCl7Lm1hdC10b29sYmFyLW11bHRpcGxlLXJvd3N7bWluLWhlaWdodDo1NnB4fS5tYXQtdG9vbGJhci1yb3csLm1hdC10b29sYmFyLXNpbmdsZS1yb3d7aGVpZ2h0OjU2cHh9fS5tYXQtdG9vbHRpcHtiYWNrZ3JvdW5kOnJnYmEoOTcsOTcsOTcsLjkpfS5tYXQtdHJlZXtiYWNrZ3JvdW5kOiNmZmZ9Lm1hdC10cmVlLW5vZGUsLm1hdC1uZXN0ZWQtdHJlZS1ub2Rle2NvbG9yOiMyMTIxMjF9Lm1hdC10cmVlLW5vZGV7bWluLWhlaWdodDo0OHB4fS5tYXQtc25hY2stYmFyLWNvbnRhaW5lcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtiYWNrZ3JvdW5kOiMzMjMyMzI7Ym94LXNoYWRvdzowcHggM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNnB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbntjb2xvcjojZmY5ODAwfWJvZHl7b3ZlcmZsb3c6aGlkZGVufS5jZGstb3ZlcmxheS1jb250YWluZXJ7Y29udGFpbjpzdHJpY3R9YTpub3QoLm1hdC1idXR0b24sLm1hdC1pY29uLWJ1dHRvbil7Y29sb3I6IzE5NzZkMn1hOm5vdCgubWF0LWJ1dHRvbiwubWF0LWljb24tYnV0dG9uKTp2aXNpdGVke2NvbG9yOiM3YjFmYTJ9Ym9keS5kYXJrLW1vZGV7YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwfWJvZHkuZGFyay1tb2RlIGE6bm90KC5tYXQtYnV0dG9uLC5tYXQtaWNvbi1idXR0b24pe2NvbG9yOiM0MmE1ZjV9Ym9keS5kYXJrLW1vZGUgYTpub3QoLm1hdC1idXR0b24sLm1hdC1pY29uLWJ1dHRvbik6dmlzaXRlZHtjb2xvcjojYmE2OGM4fWJvZHkuZGFyay1tb2RlIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX1ib2R5LmRhcmstbW9kZSAubWF0LW9wdGlvbntjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC1vcHRpb246Zm9jdXM6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjA0KX1ib2R5LmRhcmstbW9kZSAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKTpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMDQpfWJvZHkuZGFyay1tb2RlIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmV7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCk7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LW9wdGlvbi5tYXQtb3B0aW9uLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJpbWFyeSAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKXtjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtYWNjZW50IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1vcHRncm91cC1sYWJlbHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LW9wdGdyb3VwLWRpc2FibGVkIC5tYXQtb3B0Z3JvdXAtbGFiZWx7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1wc2V1ZG8tY2hlY2tib3h7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1wc2V1ZG8tY2hlY2tib3g6OmFmdGVye2NvbG9yOiMzMDMwMzB9Ym9keS5kYXJrLW1vZGUgLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWR7Y29sb3I6IzY4Njg2OH1ib2R5LmRhcmstbW9kZSAubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxib2R5LmRhcmstbW9kZSAubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxib2R5LmRhcmstbW9kZSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlLGJvZHkuZGFyay1tb2RlIC5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1hY2NlbnQgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZXtiYWNrZ3JvdW5kOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsYm9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGV7YmFja2dyb3VuZDojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWR7YmFja2dyb3VuZDojNjg2ODY4fWJvZHkuZGFyay1tb2RlIC5tYXQtYXBwLWJhY2tncm91bmQsYm9keS5kYXJrLW1vZGUubWF0LWFwcC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6IzMwMzAzMDtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXowe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16MXtib3gtc2hhZG93OjBweCAycHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxcHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXoye2JveC1zaGFkb3c6MHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejN7Ym94LXNoYWRvdzowcHggM3B4IDNweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggM3B4IDRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16NHtib3gtc2hhZG93OjBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA0cHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16NXtib3gtc2hhZG93OjBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA1cHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMTRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16Nntib3gtc2hhZG93OjBweCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA2cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejd7Ym94LXNoYWRvdzowcHggNHB4IDVweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggN3B4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDJweCAxNnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXo4e2JveC1zaGFkb3c6MHB4IDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16OXtib3gtc2hhZG93OjBweCA1cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCA5cHggMTJweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggM3B4IDE2cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejEwe2JveC1zaGFkb3c6MHB4IDZweCA2cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDEwcHggMTRweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNHB4IDE4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejExe2JveC1zaGFkb3c6MHB4IDZweCA3cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDExcHggMTVweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNHB4IDIwcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejEye2JveC1zaGFkb3c6MHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDEycHggMTdweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNXB4IDIycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejEze2JveC1zaGFkb3c6MHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDEzcHggMTlweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNXB4IDI0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejE0e2JveC1zaGFkb3c6MHB4IDdweCA5cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE0cHggMjFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNXB4IDI2cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejE1e2JveC1zaGFkb3c6MHB4IDhweCA5cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE1cHggMjJweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNnB4IDI4cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejE2e2JveC1zaGFkb3c6MHB4IDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXoxN3tib3gtc2hhZG93OjBweCA4cHggMTFweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMTdweCAyNnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA2cHggMzJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16MTh7Ym94LXNoYWRvdzowcHggOXB4IDExcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE4cHggMjhweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggN3B4IDM0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejE5e2JveC1zaGFkb3c6MHB4IDlweCAxMnB4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxOXB4IDI5cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDdweCAzNnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXoyMHtib3gtc2hhZG93OjBweCAxMHB4IDEzcHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDIwcHggMzFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOHB4IDM4cHggN3B4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejIxe2JveC1zaGFkb3c6MHB4IDEwcHggMTNweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjFweCAzM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA4cHggNDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWVsZXZhdGlvbi16MjJ7Ym94LXNoYWRvdzowcHggMTBweCAxNHB4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAyMnB4IDM1cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDhweCA0MnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZWxldmF0aW9uLXoyM3tib3gtc2hhZG93OjBweCAxMXB4IDE0cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDIzcHggMzZweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOXB4IDQ0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1lbGV2YXRpb24tejI0e2JveC1zaGFkb3c6MHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKX0ubWF0LXRoZW1lLWxvYWRlZC1tYXJrZXJ7ZGlzcGxheTpub25lfWJvZHkuZGFyay1tb2RlIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVse2JhY2tncm91bmQ6IzQyNDI0Mjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1hY3RpdmUpOm5vdCg6aG92ZXIpe2JhY2tncm91bmQ6IzQyNDI0Mn1ib2R5LmRhcmstbW9kZSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKTpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpe2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1iYWRnZS1jb250ZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZDojZWY2YzAwfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgYm9keS5kYXJrLW1vZGUgLm1hdC1iYWRnZS1jb250ZW50e291dGxpbmU6c29saWQgMXB4O2JvcmRlci1yYWRpdXM6MH1ib2R5LmRhcmstbW9kZSAubWF0LWJhZGdlLWFjY2VudCAubWF0LWJhZGdlLWNvbnRlbnR7YmFja2dyb3VuZDojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1iYWRnZS13YXJuIC5tYXQtYmFkZ2UtY29udGVudHtjb2xvcjojZmZmO2JhY2tncm91bmQ6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWJhZGdlLWRpc2FibGVkIC5tYXQtYmFkZ2UtY29udGVudHtiYWNrZ3JvdW5kOiM2ZTZlNmU7Y29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZSAubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJ7Ym94LXNoYWRvdzowcHggOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7YmFja2dyb3VuZDojNDI0MjQyO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24sYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbixib2R5LmRhcmstbW9kZSAubWF0LXN0cm9rZWQtYnV0dG9ue2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtcHJpbWFyeSxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5LGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXByaW1hcnl7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b24ubWF0LWFjY2VudCxib2R5LmRhcmstbW9kZSAubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1hY2NlbnR7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtd2Fybixib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uLm1hdC13YXJuLGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uLm1hdC1wcmltYXJ5IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksYm9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksYm9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLm1hdC13YXJuIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LGJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LGJvZHkuZGFyay1tb2RlIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50e29wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpjdXJyZW50Q29sb3J9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtiYWNrZ3JvdW5kOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpe2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbixib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24sYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mn1ib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5LGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeSxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtcHJpbWFyeSxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5e2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1hY2NlbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50e2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2Fybixib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4sYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LXdhcm4sYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtd2Fybntjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeSxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnksYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LXByaW1hcnksYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1hY2NlbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50e2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2Fybixib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtd2Fybixib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC13YXJue2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LWZhYi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfWJvZHkuZGFyay1tb2RlIC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtbWluaS1mYWIubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtZmFiLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1taW5pLWZhYi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxib2R5LmRhcmstbW9kZSAubWF0LWZsYXQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LXJhaXNlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmU6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWZhYjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDZweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggMThweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWZhYjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmFjdGl2ZTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6YWN0aXZlOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDdweCA4cHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDEycHggMTdweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggNXB4IDIycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxib2R5LmRhcmstbW9kZSAubWF0LW1pbmktZmFiLm1hdC1idXR0b24tZGlzYWJsZWQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLGJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cHtib3gtc2hhZG93OjBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsYm9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmR7Ym94LXNoYWRvdzpub25lfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZSsubWF0LWJ1dHRvbi10b2dnbGV7Ym9yZGVyLWxlZnQ6c29saWQgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSBbZGlyPXJ0bF0gLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlKy5tYXQtYnV0dG9uLXRvZ2dsZXtib3JkZXItbGVmdDpub25lO2JvcmRlci1yaWdodDpzb2xpZCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkLm1hdC1idXR0b24tdG9nZ2xlLXZlcnRpY2FsIC5tYXQtYnV0dG9uLXRvZ2dsZSsubWF0LWJ1dHRvbi10b2dnbGV7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItcmlnaHQ6bm9uZTtib3JkZXItdG9wOnNvbGlkIDFweCByZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWR7YmFja2dyb3VuZC1jb2xvcjojMjEyMTIxO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmR7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyk7YmFja2dyb3VuZC1jb2xvcjojMDAwfWJvZHkuZGFyay1tb2RlIC5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJke2JhY2tncm91bmQ6IzQyNDI0Mn1ib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZHtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCxib2R5LmRhcmstbW9kZSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZHtib3JkZXI6c29saWQgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWNhcmR7YmFja2dyb3VuZDojNDI0MjQyO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYXJkOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYXJkLm1hdC1jYXJkLWZsYXQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FyZC1zdWJ0aXRsZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWZyYW1le2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWNoZWNrbWFya3tmaWxsOiMzMDMwMzB9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2U6IzMwMzAzMCAhaW1wb3J0YW50fWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2JhY2tncm91bmQtY29sb3I6IzMwMzAzMH1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LXByaW1hcnkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLGJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtcHJpbWFyeSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCxib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtd2FybiAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsYm9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC13YXJuIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1kaXNhYmxlZC5tYXQtY2hlY2tib3gtY2hlY2tlZCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsYm9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveC1kaXNhYmxlZC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjojNjg2ODY4fWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtZGlzYWJsZWQ6bm90KC5tYXQtY2hlY2tib3gtY2hlY2tlZCkgLm1hdC1jaGVja2JveC1mcmFtZXtib3JkZXItY29sb3I6IzY4Njg2OH1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWRpc2FibGVkIC5tYXQtY2hlY2tib3gtbGFiZWx7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94LWNoZWNrZWQ6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1jaGVja2JveDphY3RpdmU6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtY2hlY2tlZDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZDojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hlY2tib3gtY2hlY2tlZDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LWNoZWNrYm94OmFjdGl2ZTpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCkubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwe2JhY2tncm91bmQtY29sb3I6IzYxNjE2MTtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOiNmZmY7b3BhY2l0eTouNH1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXA6bm90KC5tYXQtY2hpcC1kaXNhYmxlZCk6YWN0aXZle2JveC1zaGFkb3c6MHB4IDNweCAzcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDNweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpIC5tYXQtY2hpcC1yZW1vdmU6aG92ZXJ7b3BhY2l0eTouNTR9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLWRpc2FibGVke29wYWNpdHk6LjR9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOjphZnRlcntiYWNrZ3JvdW5kOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6I2VmNmMwMDtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtcHJpbWFyeSAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOiNmZmY7b3BhY2l0eTouNH1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtd2FybntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXdhcm4gLm1hdC1jaGlwLXJlbW92ZXtjb2xvcjojZmZmO29wYWNpdHk6LjR9Ym9keS5kYXJrLW1vZGUgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudHtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDA7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudCAubWF0LWNoaXAtcmVtb3Zle2NvbG9yOiNmZmY7b3BhY2l0eTouNH1ib2R5LmRhcmstbW9kZSAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LWFjY2VudCAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWJsZXtiYWNrZ3JvdW5kOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWJsZSB0aGVhZCxib2R5LmRhcmstbW9kZSAubWF0LXRhYmxlIHRib2R5LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFibGUgdGZvb3QsYm9keS5kYXJrLW1vZGUgbWF0LWhlYWRlci1yb3csYm9keS5kYXJrLW1vZGUgbWF0LXJvdyxib2R5LmRhcmstbW9kZSBtYXQtZm9vdGVyLXJvdyxib2R5LmRhcmstbW9kZSBbbWF0LWhlYWRlci1yb3ddLGJvZHkuZGFyay1tb2RlIFttYXQtcm93XSxib2R5LmRhcmstbW9kZSBbbWF0LWZvb3Rlci1yb3ddLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFibGUtc3RpY2t5e2JhY2tncm91bmQ6aW5oZXJpdH1ib2R5LmRhcmstbW9kZSBtYXQtcm93LGJvZHkuZGFyay1tb2RlIG1hdC1oZWFkZXItcm93LGJvZHkuZGFyay1tb2RlIG1hdC1mb290ZXItcm93LGJvZHkuZGFyay1tb2RlIHRoLm1hdC1oZWFkZXItY2VsbCxib2R5LmRhcmstbW9kZSB0ZC5tYXQtY2VsbCxib2R5LmRhcmstbW9kZSB0ZC5tYXQtZm9vdGVyLWNlbGx7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1oZWFkZXItY2VsbHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWNlbGwsYm9keS5kYXJrLW1vZGUgLm1hdC1mb290ZXItY2VsbHtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYXJyb3d7ZmlsbDojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUsYm9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbixib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbntjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXI6OmFmdGVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1sYWJlbHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3J7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCl7Y29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvcntjb2xvcjojNjE2MTYxfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1pbi1wcmV2aWV3e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI0KX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCl7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCl7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyMzksMTA4LDAsLjIpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNDksMTcxLDAsLjIpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIFtkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjM5LCAxMDgsIDAsIDAuMikgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIFtkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDIzOSwgMTA4LCAwLCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfWJvZHkuZGFyay1tb2RlIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZT4ubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsYm9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVye2JhY2tncm91bmQ6I2E4ZGFiNX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQ6IzQ2YTM1ZX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjM5LDEwOCwwLC40KX1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3Zlcj4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLGJvZHkuZGFyay1tb2RlIC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlPi5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCksYm9keS5kYXJrLW1vZGUgLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyMzksMTA4LDAsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50e2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjpiZWZvcmV7YmFja2dyb3VuZDpyZ2JhKDIzOSwxMDgsMCwuMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsYm9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgyNDksMTcxLDAsLjIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmUsYm9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDIzOSwgMTA4LCAwLCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgW2Rpcj1ydGxdIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMjM5LCAxMDgsIDAsIDAuMikgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVye2JhY2tncm91bmQ6I2E4ZGFiNX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kOiM0NmEzNWV9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQ+Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgyMzksMTA4LDAsLjQpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkKTpob3Zlcj4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjM5LDEwOCwwLC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ0LDY3LDU0LC4yKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsYm9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ5LDE3MSwwLC4yKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI0NCwgNjcsIDU0LCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgyNDQsIDY3LCA1NCwgMC4yKSA1MCUsIHJnYmEoMjQ5LCAxNzEsIDAsIDAuMikgNTAlKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U+Lm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjphZnRlcntiYWNrZ3JvdW5kOiNhOGRhYjV9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlPi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZHtiYWNrZ3JvdW5kOiM0NmEzNWV9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZD4ubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI0NCw2Nyw1NCwuNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXRvZGF5Lm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVke2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXI+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSxib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZT4ubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLGJvZHkuZGFyay1tb2RlIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmU+Lm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ0LDY3LDU0LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItY29udGVudC10b3VjaHtib3gtc2hhZG93OjBweCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmV7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZS5tYXQtYWNjZW50e2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1hY3RpdmUubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWRhdGUtcmFuZ2UtaW5wdXQtaW5uZXJbZGlzYWJsZWRde2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgLm1hdC1kaWFsb2ctY29udGFpbmVye2JveC1zaGFkb3c6MHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLDBweCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtiYWNrZ3JvdW5kOiM0MjQyNDI7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWRpdmlkZXJ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1kaXZpZGVyLXZlcnRpY2Fse2JvcmRlci1yaWdodC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWx7YmFja2dyb3VuZDojNDI0MjQyO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWFjdGlvbi1yb3d7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWwgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSksYm9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWwgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSxib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSl7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCl9QG1lZGlhKGhvdmVyOiBub25lKXtib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCk6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXJ7YmFja2dyb3VuZDojNDI0MjQyfX1ib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGV7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24sYm9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24taW5kaWNhdG9yOjphZnRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUsYm9keS5kYXJrLW1vZGUgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9ue2NvbG9yOmluaGVyaXR9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtaGludHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtYWNjZW50e2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtd2Fybntjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2Vye2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC13YXJue2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpLm1hdC1hY2NlbnQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb2N1c2VkOm5vdCgubWF0LWZvcm0tZmllbGQtaW52YWxpZCkubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcntjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtYWNjZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2Vye2NvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSxib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnR7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZXJyb3J7Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWhpbnR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgMzMlLCB0cmFuc3BhcmVudCAwJSk7YmFja2dyb3VuZC1zaXplOjRweCAxMDAlO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAzMyUsIHRyYW5zcGFyZW50IDAlKTtiYWNrZ3JvdW5kLXNpemU6NHB4IDEwMCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtZmxleHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXh7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4wNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1sYWJlbHtjb2xvcjojNjE2MTYxfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWludmFsaWQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja3tjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1pY29uLm1hdC1wcmltYXJ5e2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1pY29uLm1hdC1hY2NlbnR7Y29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LWljb24ubWF0LXdhcm57Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtaW5wdXQtZWxlbWVudDpkaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgLm1hdC1pbnB1dC1lbGVtZW50e2NhcmV0LWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1pbnB1dC1lbGVtZW50OjpwbGFjZWhvbGRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LWlucHV0LWVsZW1lbnQ6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtaW5wdXQtZWxlbWVudDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1pbnB1dC1lbGVtZW50IG9wdGlvbntjb2xvcjpyZ2JhKDAsMCwwLC44Nyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1pbnB1dC1lbGVtZW50IG9wdGlvbjpkaXNhYmxlZHtjb2xvcjpyZ2JhKDAsMCwwLC4zOCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1hY2NlbnQgLm1hdC1pbnB1dC1lbGVtZW50e2NhcmV0LWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC13YXJuIC5tYXQtaW5wdXQtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbXtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1vcHRpb257Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LWxpc3QtYmFzZSAubWF0LXN1YmhlYWRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LWxpc3QtaXRlbS1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1saXN0LW9wdGlvbjpob3Zlcixib2R5LmRhcmstbW9kZSAubWF0LWxpc3Qtb3B0aW9uOmZvY3VzLGJvZHkuZGFyay1tb2RlIC5tYXQtbmF2LWxpc3QgLm1hdC1saXN0LWl0ZW06aG92ZXIsYm9keS5kYXJrLW1vZGUgLm1hdC1uYXYtbGlzdCAubWF0LWxpc3QtaXRlbTpmb2N1cyxib2R5LmRhcmstbW9kZSAubWF0LWFjdGlvbi1saXN0IC5tYXQtbGlzdC1pdGVtOmhvdmVyLGJvZHkuZGFyay1tb2RlIC5tYXQtYWN0aW9uLWxpc3QgLm1hdC1saXN0LWl0ZW06Zm9jdXN7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1saXN0LXNpbmdsZS1zZWxlY3RlZC1vcHRpb24sYm9keS5kYXJrLW1vZGUgLm1hdC1saXN0LXNpbmdsZS1zZWxlY3RlZC1vcHRpb246aG92ZXIsYm9keS5kYXJrLW1vZGUgLm1hdC1saXN0LXNpbmdsZS1zZWxlY3RlZC1vcHRpb246Zm9jdXN7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1tZW51LXBhbmVse2JhY2tncm91bmQ6IzQyNDI0Mn1ib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSl7Ym94LXNoYWRvdzowcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1tZW51LWl0ZW17YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXSxib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF0gLm1hdC1tZW51LXN1Ym1lbnUtaWNvbixib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF0gLm1hdC1pY29uLW5vLWNvbG9ye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbi1uby1jb2xvcixib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtc3VibWVudS1pY29ue2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLGJvZHkuZGFyay1tb2RlIC5tYXQtbWVudS1pdGVtLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KFtkaXNhYmxlZF0pLGJvZHkuZGFyay1tb2RlIC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSxib2R5LmRhcmstbW9kZSAubWF0LW1lbnUtaXRlbS1oaWdobGlnaHRlZDpub3QoW2Rpc2FibGVkXSl7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1wYWdpbmF0b3J7YmFja2dyb3VuZDojNDI0MjQyfWJvZHkuZGFyay1tb2RlIC5tYXQtcGFnaW5hdG9yLGJvZHkuZGFyay1tb2RlIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2Vye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnR7Ym9yZGVyLXRvcDoycHggc29saWQgI2ZmZjtib3JkZXItcmlnaHQ6MnB4IHNvbGlkICNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1wYWdpbmF0b3ItZmlyc3QsYm9keS5kYXJrLW1vZGUgLm1hdC1wYWdpbmF0b3ItbGFzdHtib3JkZXItdG9wOjJweCBzb2xpZCAjZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItZmlyc3QsYm9keS5kYXJrLW1vZGUgLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0gLm1hdC1wYWdpbmF0b3ItbGFzdHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZHtmaWxsOiM2MDNmMjR9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVye2JhY2tncm91bmQtY29sb3I6IzYwM2YyNH1ib2R5LmRhcmstbW9kZSAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5ke2ZpbGw6IzYwM2YyNH1ib2R5LmRhcmstbW9kZSAubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2MDNmMjR9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZHtmaWxsOiM2MTM1MzJ9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVye2JhY2tncm91bmQtY29sb3I6IzYxMzUzMn1ib2R5LmRhcmstbW9kZSAubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZSxib2R5LmRhcmstbW9kZSAubWF0LXNwaW5uZXIgY2lyY2xle3N0cm9rZTojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtYWNjZW50IGNpcmNsZSxib2R5LmRhcmstbW9kZSAubWF0LXNwaW5uZXIubWF0LWFjY2VudCBjaXJjbGV7c3Ryb2tlOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC13YXJuIGNpcmNsZSxib2R5LmRhcmstbW9kZSAubWF0LXNwaW5uZXIubWF0LXdhcm4gY2lyY2xle3N0cm9rZTojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSxib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSxib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1wcmltYXJ5OmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxle2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xle2JvcmRlci1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudCAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSxib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudDphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4ubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGV7Ym9yZGVyLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4gLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4gLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSksYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4ubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSxib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2FybjphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlLGJvZHkuZGFyay1tb2RlIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZXtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8taW5uZXItY2lyY2xle2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX1ib2R5LmRhcmstbW9kZSAubWF0LXJhZGlvLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXNlbGVjdC12YWx1ZXtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtc2VsZWN0LXBsYWNlaG9sZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LXZhbHVle2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgLm1hdC1zZWxlY3QtYXJyb3d7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zZWxlY3QtcGFuZWx7YmFja2dyb3VuZDojNDI0MjQyfWJvZHkuZGFyay1tb2RlIC5tYXQtc2VsZWN0LXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pe2JveC1zaGFkb3c6MHB4IDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpe2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZC5tYXQtcHJpbWFyeSAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZC5tYXQtYWNjZW50IC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkLm1hdC13YXJuIC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1mb3JtLWZpZWxkIC5tYXQtc2VsZWN0Lm1hdC1zZWxlY3QtaW52YWxpZCAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtZm9ybS1maWVsZCAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LWFycm93e2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgLm1hdC1kcmF3ZXItY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6IzMwMzAzMDtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZHJhd2Vye2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtZHJhd2VyLm1hdC1kcmF3ZXItcHVzaHtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC1kcmF3ZXI6bm90KC5tYXQtZHJhd2VyLXNpZGUpe2JveC1zaGFkb3c6MHB4IDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLDBweCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtZHJhd2VyLXNpZGV7Ym9yZGVyLXJpZ2h0OnNvbGlkIDFweCByZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1kcmF3ZXItc2lkZS5tYXQtZHJhd2VyLWVuZHtib3JkZXItbGVmdDpzb2xpZCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuMTIpO2JvcmRlci1yaWdodDpub25lfWJvZHkuZGFyay1tb2RlIFtkaXI9cnRsXSAubWF0LWRyYXdlci1zaWRle2JvcmRlci1sZWZ0OnNvbGlkIDFweCByZ2JhKDI1NSwyNTUsMjU1LC4xMik7Ym9yZGVyLXJpZ2h0Om5vbmV9Ym9keS5kYXJrLW1vZGUgW2Rpcj1ydGxdIC5tYXQtZHJhd2VyLXNpZGUubWF0LWRyYXdlci1lbmR7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItcmlnaHQ6c29saWQgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LWRyYXdlci1iYWNrZHJvcC5tYXQtZHJhd2VyLXNob3due2JhY2tncm91bmQtY29sb3I6cmdiYSgxODksMTg5LDE4OSwuNil9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjM5LDEwOCwwLC41NCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUubWF0LXByaW1hcnkubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1wcmltYXJ5Lm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjM5LDEwOCwwLC41NCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUubWF0LXByaW1hcnkubWF0LWNoZWNrZWQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUubWF0LXdhcm4ubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC13YXJuLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ0LDY3LDU0LC41NCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUubWF0LXdhcm4ubWF0LWNoZWNrZWQgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGU6bm90KC5tYXQtY2hlY2tlZCkgLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7Ym94LXNoYWRvdzowcHggMnB4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggMXB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwwcHggMXB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtiYWNrZ3JvdW5kLWNvbG9yOiNiZGJkYmR9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10cmFjay1maWxsLGJvZHkuZGFyay1tb2RlIC5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10aHVtYixib2R5LmRhcmstbW9kZSAubWF0LXByaW1hcnkgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtcHJpbWFyeSAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1wcmltYXJ5IC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIzOSwxMDgsMCwuMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdHJhY2stZmlsbCxib2R5LmRhcmstbW9kZSAubWF0LWFjY2VudCAubWF0LXNsaWRlci10aHVtYixib2R5LmRhcmstbW9kZSAubWF0LWFjY2VudCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC1hY2NlbnQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIzOSwxMDgsMCwuMil9Ym9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsYm9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtc2xpZGVyLXRodW1iLGJvZHkuZGFyay1tb2RlIC5tYXQtd2FybiAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC13YXJuIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXdhcm4gLm1hdC1zbGlkZXItZm9jdXMtcmluZ3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjQ0LDY3LDU0LC4yKX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlcjpob3ZlciAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kLGJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kLGJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsYm9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1kaXNhYmxlZDpob3ZlciAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItbWluLXZhbHVlIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyAubWF0LXNsaWRlci10aHVtYixib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2JhY2tncm91bmQtY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLGJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLW1pbi12YWx1ZS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpIC5tYXQtc2xpZGVyLXRodW1ie2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyk6aG92ZXIgLm1hdC1zbGlkZXItdGh1bWIsYm9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKS5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItbWluLXZhbHVlOm5vdCgubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nKTpob3Zlci5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iLGJvZHkuZGFyay1tb2RlIC5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZykuY2RrLWZvY3VzZWQubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVye2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tze2JhY2tncm91bmQtaW1hZ2U6cmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgMnB4LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotbW96LXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMC4wMDAxZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAycHgsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50KX1ib2R5LmRhcmstbW9kZSAubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aWNrc3tiYWNrZ3JvdW5kLWltYWdlOnJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAycHgsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50KX1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIuY2RrLXByb2dyYW0tZm9jdXNlZCxib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZF0pLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXI6aG92ZXJbYXJpYS1kaXNhYmxlZD1mYWxzZV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4wNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlcjpob3ZlclthcmlhLWRpc2FibGVkPXRydWVde2N1cnNvcjpkZWZhdWx0fUBtZWRpYShob3Zlcjogbm9uZSl7Ym9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlcjpob3ZlcntiYWNrZ3JvdW5kOm5vbmV9fWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLW9wdGlvbmFse2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdHtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDA7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyLm1hdC1hY2NlbnQgLm1hdC1zdGVwLWljb257Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyLm1hdC1hY2NlbnQgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlci5tYXQtYWNjZW50IC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsYm9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlci5tYXQtYWNjZW50IC5tYXQtc3RlcC1pY29uLXN0YXRlLWVkaXR7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbntjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIubWF0LXdhcm4gLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsYm9keS5kYXJrLW1vZGUgLm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcC1oZWFkZXIubWF0LXdhcm4gLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdHtiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzY7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVycm9ye2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1sYWJlbC5tYXQtc3RlcC1sYWJlbC1hY3RpdmV7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1sYWJlbC5tYXQtc3RlcC1sYWJlbC1lcnJvcntjb2xvcjojZjQ0MzM2fWJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLGJvZHkuZGFyay1tb2RlIC5tYXQtc3RlcHBlci12ZXJ0aWNhbHtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zdGVwcGVyLXZlcnRpY2FsLWxpbmU6OmJlZm9yZXtib3JkZXItbGVmdC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjpiZWZvcmUsYm9keS5kYXJrLW1vZGUgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjphZnRlcixib2R5LmRhcmstbW9kZSAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbC1saW5le2JvcmRlci10b3AtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtc29ydC1oZWFkZXItYXJyb3d7Y29sb3I6I2M2YzZjNn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWhlYWRlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIC5tYXQtdGFiLW5hdi1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIC5tYXQtdGFiLWhlYWRlcntib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4xMik7Ym9yZGVyLWJvdHRvbTpub25lfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWxhYmVsLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWxpbmt7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjojNjE2MTYxfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cFtjbGFzcyo9bWF0LWJhY2tncm91bmQtXSAubWF0LXRhYi1oZWFkZXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhcltjbGFzcyo9bWF0LWJhY2tncm91bmQtXXtib3JkZXItYm90dG9tOm5vbmU7Ym9yZGVyLXRvcDpub25lfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjUxLDE0MCwwLC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeSAubWF0LWluay1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5Lm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtaW5rLWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtcHJpbWFyeS5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtaW5rLWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5Lm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtaW5rLWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5Lm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTEsMTQwLDAsLjMpfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQgLm1hdC1pbmstYmFyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LWluay1iYXJ7YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LWluay1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtaW5rLWJhcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjA1LDIxMCwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC1pbmstYmFyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6I2Y0NDMzNn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtd2Fybi5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LWluay1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LXdhcm4ubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtd2Fybi5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LWluay1iYXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtd2Fybi5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtaW5rLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjUxLDE0MCwwLC4zKX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9ue2JhY2tncm91bmQtY29sb3I6I2VmNmMwMH1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmssYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGlua3tjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZXtib3JkZXItY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnk+Lm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtcmlwcGxlLWVsZW1lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xMil9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1MSwxNDAsMCwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbntiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluayxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGlua3tjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZXtib3JkZXItY29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudD4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWhlYWRlciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtYWNjZW50Pi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQ+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC1yaXBwbGUtZWxlbWVudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEyKX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjA1LDIxMCwuMyl9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lcixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbntiYWNrZ3JvdW5kLWNvbG9yOiNmNDQzMzZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmt7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVkLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfWJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItaGVhZGVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmV7Ym9yZGVyLWNvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX1ib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCxib2R5LmRhcmstbW9kZSAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIC5tYXQtcmlwcGxlLWVsZW1lbnQsYm9keS5kYXJrLW1vZGUgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuPi5tYXQtdGFiLWhlYWRlciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXJpcHBsZS1lbGVtZW50LGJvZHkuZGFyay1tb2RlIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2Fybj4ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXJpcHBsZS1lbGVtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhcntiYWNrZ3JvdW5kOiNlZjZjMDA7Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZSAubWF0LXRvb2xiYXIubWF0LXByaW1hcnl7YmFja2dyb3VuZDojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10b29sYmFyLm1hdC1hY2NlbnR7YmFja2dyb3VuZDojZWY2YzAwO2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC10b29sYmFyLm1hdC13YXJue2JhY2tncm91bmQ6I2Y0NDMzNjtjb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lLGJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQtcmlwcGxlLGJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcn1ib2R5LmRhcmstbW9kZSAubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLGJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLGJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LXNlbGVjdC12YWx1ZSxib2R5LmRhcmstbW9kZSAubWF0LXRvb2xiYXIgLm1hdC1zZWxlY3QtYXJyb3csYm9keS5kYXJrLW1vZGUgLm1hdC10b29sYmFyIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvd3tjb2xvcjppbmhlcml0fWJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbGJhciAubWF0LWlucHV0LWVsZW1lbnR7Y2FyZXQtY29sb3I6Y3VycmVudENvbG9yfWJvZHkuZGFyay1tb2RlIC5tYXQtdG9vbHRpcHtiYWNrZ3JvdW5kOnJnYmEoOTcsOTcsOTcsLjkpfWJvZHkuZGFyay1tb2RlIC5tYXQtdHJlZXtiYWNrZ3JvdW5kOiM0MjQyNDJ9Ym9keS5kYXJrLW1vZGUgLm1hdC10cmVlLW5vZGUsYm9keS5kYXJrLW1vZGUgLm1hdC1uZXN0ZWQtdHJlZS1ub2Rle2NvbG9yOiNmZmZ9Ym9keS5kYXJrLW1vZGUgLm1hdC1zbmFjay1iYXItY29udGFpbmVye2NvbG9yOnJnYmEoMCwwLDAsLjg3KTtiYWNrZ3JvdW5kOiNmYWZhZmE7Ym94LXNoYWRvdzowcHggM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwwcHggNnB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksMHB4IDFweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpfWJvZHkuZGFyay1tb2RlIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbntjb2xvcjppbmhlcml0fQo8L3N0eWxlPgoKPHN0eWxlPgogIGh0bWwsCiAgYm9keSB7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwOwogICAgaGVpZ2h0OiAxMDAlOwogICAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjsKICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpOwoKICAgIC8qIExlZ2FjeSBtZWNoYW5pc20gdG8gYXZvaWQgaXNzdWVzIHdpdGggc3VicGl4ZWwgYW50aS1hbGlhc2luZyBvbiBtYWNPUy4KICAgICAqCiAgICAgKiBJbiB0aGUgcGFzdCBbMV0sIG1hY09TIHN1YnBpeGVsIEFBIGNhdXNlZCBleGNlc3NpdmUgYm9sZGluZyBmb3IgbGlnaHQtb24tZGFyayB0ZXh0OyB0aGlzIHJ1bGUKICAgICAqIGF2b2lkcyB0aGF0IGJ5IHJlcXVlc3Rpbmcgbm9uLXN1YnBpeGVsIEFBIGFsd2F5cywgcmF0aGVyIHRoYW4gdGhlIGRlZmF1bHQgYmVoYXZpb3IsIHdoaWNoIGlzCiAgICAgKiB0byB1c2Ugc3VicGl4ZWwgQUEgd2hlbiBhdmFpbGFibGUuIFRoZSBvcmlnaW5hbCBpc3N1ZSB3YXMgImZpeGVkIiBieSByZW1vdmluZyBzdWJwaXhlbCBBQSBpbgogICAgICogbWFjT1MgMTQgKE1vamF2ZSksIGJ1dCBmb3IgbGVnYWN5IHJlYXNvbnMgdGhleSBwcmVzZXJ2ZWQgdGhlIGJvbGRpbmcgZWZmZWN0IGFzIGFuIG9wdGlvbi4KICAgICAqIENocm9tZSB0aGVuIGluIHR1cm4gdXBkYXRlZCBpdHMgZm9udCByZW5kZXJpbmcgdG8gYXBwbHkgdGhhdCBib2xkaW5nIGVmZmVjdCBbMl0sIHdoaWNoIG1lYW5zCiAgICAgKiB0aGF0IGV2ZW4gdGhvdWdoIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgZG9jcyBbM10gc3VnZ2VzdCB0aGF0IHNldHRpbmcgYGFudGlhbGlhc2VkYAogICAgICogd291bGQgaGF2ZSBubyBlZmZlY3QgZm9yIHJlY2VudCB2ZXJzaW9ucyBvZiBtYWNPUywgaXQgc3RpbGwgaXMgbmVlZGVkIHRvIGF2b2lkIHRoZSBib2xkaW5nLgogICAgICoKICAgICAqIFsxXTogaHR0cDovL3d3dy5saWdodGVycmEuY29tL2FydGljbGVzL21hY29zeHRleHRhYWJ1Zy8KICAgICAqIFsyXTogaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9ODU4ODYxCiAgICAgKiBbM106IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9mb250LXNtb290aAogICAgICoKICAgICAqLwoKICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogIH0KICBub3NjcmlwdCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICAgIHBhZGRpbmc6IDEwcHg7CiAgfQo8L3N0eWxlPgoKPC9oZWFkPjxib2R5Pjxub3NjcmlwdD4KICAgIDxoMT5UZW5zb3JCb2FyZCByZXF1aXJlcyBKYXZhU2NyaXB0PC9oMT4KICAgIDxwPlBsZWFzZSBlbmFibGUgSmF2YVNjcmlwdCBhbmQgcmVsb2FkIHRoaXMgcGFnZS48L3A+CiAgPC9ub3NjcmlwdD48dGItd2ViYXBwPjwvdGItd2ViYXBwPjxzY3JpcHQgc3JjPSJpbmRleC5qcz9fZmlsZV9oYXNoPTRhMzY2Y2JlIj48L3NjcmlwdD48L2JvZHk+PC9odG1sPg==","ok":true,"headers":[["content-type","text/html; charset=utf-8"]],"status":200,"status_text":""},"https://localhost:6006/font-roboto/oMMgfZMQthOryQo9n22dcuvvDin1pK8aKteLpeZ5c0A.woff2":{"data":"d09GMgABAAAAACn8AA4AAAAAUjgAACmjAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmQbmUAcg0oGYACGTBEMCu1810YLg14AATYCJAOHNgQgBYJ0ByAbL0RFB2LYOGCA7DduwB2DjQOQz3hJ9n+ZwI0hWB/YxYSYMBRSFENBsWqrAkWbJBHpUKamYBECLd7YUy2OVYvlKX1dMf05+T/7LtU4wMKUW3v6cz1MLF0FGyHJLEG01r/VMHufgpZJIoGKBHQMKsYkFpgU4tsDmtv9xsaIGoiNiIJRtJKSElLSIdGjQuiRIypl0JtBlKISJSqZZnH/Oq0ZWaYZyYoPCFpukb7+N+xuwk6iBRZMI8WdlLQH1F3R7l157zoCyXjA9AD36nWBrP07PZhwgBLSeMnLEQ4VqJsqlv8siGuabsED3LeKFnxrugO3hMah9NJJ/ipRkvNo0bWSH6xvN8TX2qedvrqte1s1/yDEW6dCUB4tkIxQEeoDTSYMiiaAuBEGJLK/dSEgoaIi0Ua4CGXj/7vX2aa3YewLW7L1Fw6EC+fgxB/7NWWpMKZaUyFMhaxEyArLmA7J/62Zdje5MjlgYyvcOTf7ZycwswkX9oD2CklKoSNIzN4VWFXVET5/gKgKaO9USZgKCaxcreurQxDS1KS6SqUxAJqz+B+OtbQOoul9mcsgjITAKKN32318dn4Bhdn5t38EFHq8pCEUmUMECIAIFw4RKRIiRgxEnDiIBEkQpSqgdDmAQKCAVcCaECAgAiDACvyk0ex3gJounDg3gOACJy4k2DnDicusvN3gBBrAILTCpecT3AAH9C0NYpDo+7rNUJuyf/BUQ/cM42KIV0v11FyNhkyiUDj0XDKjjuX1lEnr9K7FjMnEPpZVifqZhCWKr4SbqzTQwLYaKjSBrueqpWpPjRbN9WixjymuFFH/CwqFBhYDRux4XXDRJZfdwE+IMBGibhEnQYq021SoUqPpHm069BkyZsKMhXQZsmTrQkH1yGNPPNWtR68+/Z4b8cJLr0x66515C1atWbdh05Z9BxC3mkNDHAcJeFI4TeKEYI8bP9Y44ePEm77r41+ewEGxRUrtUWZUuIsOetH6bTJql3HbzKjlpPZkximHvICSPiqPeMwTngZTLZpmhlleMxe8ac9b3jHPAmuss8EmW8F2u3bYZS/Yb9vBNIRJvask5+7FELPwimHcaoZ46yTaJ9WCSTY0DsjmwGD82Y7DoWmOfu1MGuY6fi64i8JTF1OyuErRYMJBFtuDaaussAMsMLJnmS0vuQHreu+JDYwyxjgTDXPAYsWQxpkTT6ltykCFu+glcU3S4tKxymCyyA7etO0t75hnoWEGSu1TRoW76JHEG97yjnkWzo2mioUhQSbYYOmYZg2ss8EmWw1jsBYFTyY55CV9Yp999tlnP46GGajhpolWtE5hDEphgsHaYdbBBptsWWTntaOdq59hH5i0BI2pTbJ9tW44FNXel24XIjwwjRl9q3SNYW6MMqPqdvrNMVySVP2Trj0U3CvhlYipV1w9cpuCyIgMoYoJ6uAoNADzvug45Zj7yoBXfrjWup4FNpUP90w83Gjmo+puO/m8JAbcN3D4dUpCw6N96EFl/RgLIB76ETisxR/w6aPfR7D+NjfOfbeHOYYeHrwM6cPqaG0C4EDa+qeN8E9UN/umlSM27Cex9S8bW/9cmENaN4plychcK2z/rnfLbrbSThvtiLBzSrZHuO7Wmpvu9U1ldbZfCTb4hlrtIxcAHO5g65ppXrrnhMPC1kvnK5fWHKkuAKxYS2ygcV0rlvjEtGOxglUm6USA2od7bZ7ZA0zgcMNXu6Vq96DjVnaFuUnt8GvYm+2/bLjrmx9odH8OHtYJcBgN/b8kxzn07RsPkp7oNsv+PxY7vLXhbI0B2O6kbBr78YIaGQ9mNpD/ZDn01If3Bh8OOu7XP4HYqD7kLYGVOfcyTk47aKYl0X7mMjiMDjPg7M42er6j3/abnabFTbZeexnmm/4ZPQMO37lXsuKw1GmniQNWEawkgpUo+P+g8bqExlXC6NwiDU+RkuNUiKeoeU+7RxcXffIw9p5jytx58d4L0uW4KO/t67osuGHVFr1lzLkJFBG7OIqjOKlO+kwUPh53gWwuEnGJGNdJ7wYZ8JOTEBHC5HCLTMRIT5wnSPAYSbKSIiNpslAk1h3SUiqP+NULp2hOtdHQAdF0S1ofe7ErOh/EMyMdczKLF9olnjsqE3JyqeeOygFPyuNJXV4ExVMo3X9j06MfxnOvIEZNoDdJXkZT5mC98R7x1gKc1fs01mxBk9dJBzawOQ5sKDkp7MUhWOFQrjBRrvMoIaKIEOVmyUxYL3rQ4QjYwQIGsIZUnapA3GVBSAIaNA5ND0QYkJFRiSHMgAOcYxIJoiQSJek+IlUaTgrBBg6wgcNx6IRwArCCIg8o0IFB0e4sQGgD2sfstj0Yi/vtsrpEq52XqxUx7wXavU9R5AbVfbV1p6EDtGWnJA/XVOMRsvo8RlPdHad9NxBpoVtpYHLL0QrVHnveFe6uwPf/7jyBq5c52luBaALJx8pX+LgSQAvlHBSU/jQISHSdPDXyK0T8EDNBpjzkeaygcCLzJqgiKV9QtldXCkW9eOkpVFBLmWjZoyokvMYGYuM3q7LDGjTAj7sPXGsYBaVQYdkTHmY1/zyKJHrVqlSqUatOvQaNHgpOvOwmgbx4I2vWolWbdigIDqeB6phIgQHjoSEEYoO3GfWG+xmO9H2b14EtgH09CwceqakEMmDjtbHwH1ywyEvghjwO6F0GGbeagAYru65f6TdFf8NxEZpQA3bCjcYxgDMmoUrc/1DdhozZ9MEhMsFlbnKRv254PFwOt8PD8DLMhvlhdVifRh0CAEy4lSj1fMkew8Zt+fiWtyg/Gs6H67an546+N+CsD3294PDnwOcHM058+/z/7Vt/15TJ8MUb+x/6/XXxtmRzAC4jjHlHw5q/XvcP1+XZL9e/HyHSqDHjJkyKEm3KtBmzXpsTI/YX7U0Txdm2Y9eeffEOMAIAZPHeNcAFkH5MT6DhJhQar4QOSmnAxmukk4d0404Pg1C8IcIZ7jem0m8c6GKCWZ7xmjkieMMCoyyyRBTLbDDlbRLDFh94430klk98Z5Uf/ITIL/6x7f0n3jtUBxqZCCT4yEItBRI1aiOQrFEfAiSN+hJI8bmP1LFAqs99ri4F0n3ua3UrkKW5HwRyNfeLQJ7PPVUzgXzNPRco1NwrgSLNvRYo1jyHQ6BkqJuBg+pwqVfwfijyRYUwvQnHv6TWp0PyKigaNh96H4GBhmyOegPVB40f59xGEvqhc+sAD9WxCKjVXrZAVDdIs68AhHKCotyajCaMMM33GHhE96JFqxBPQEEEoqpC8iJOGGL05OS/t6P7dswwoetDgYYOgzlyg98MT+zFf0ajcoEikxZ3w24atFBdBAG0lP/g72LZuroeHO2D0lGazKLkzmMauyiDCdhr2a5txrOVjSChgd2ova0t77MhhbcusVxATqdNzYG/FtlUbXRQPRO4OeZ3jE2LIpfa374QSXm/jXcJ1RlLGxZ+dBY1t4Brn0S4YIb5A885pd4Nm4nTxHTsncPU/uJFsrvfCo55+xh0RpRwlNVFmRZ5JT0a8vqz7YKjXITu0NETuTeLgWx0wlG1ZKwnE8zEIEPVAl29KW8grf5KvdJSAaHPwFwMFyKZcNGCzUM5o39uRYwWpCG2syOpPpQYJcOaFn+YiakAyoJBWW1PdQ3gky5Lyrv1Qu08YS8gSdFMp6Xw8V//1cwtjV/OeuogqHw10Ysw1TOlp8shZnahTTWfy4ZZH3Bv01/rq0FPiwuORTUH3Rr39SnJaRmeqQkMhbRqn4TlQFNuBzh2XJgnuDqHspyu0HjUXsMzfPUKBo4oQFl/59ra8oQdbCz13uBAOQ+7IIF6czUJA1lU66Bw5NYfWV31oNN7ypngGeWsuTqsEsrhFQEqG1WQZkIcz5vH8rsZjFklUsoKdqUiEv68IaVRHWA1ltQdWoR4IBbvBaMNWXDw7xohT2WjEINN7BucggQF7qiNneY8xhDhaJpbjN+TprJdqRJ68eUpZ5QTOoqiy71R/rGSuGKW/zv5f6bK+V+XqNf9bxu3tMVwufyHCz+PSnKjrh9+fWXoqLsUjumye4LFDWIi7dtumjw+brjklOBI+ScdTjXMTJQ4+jRhyjVAOkeCkt30cx/S2Z8qaXHhEDOrpWN7sCJd6FjeIVEmfARcWahxPLsI1sVRRvQyvF1z0BOqq/mw7dXZ5YiDWzSTRl1gQmV52yFfjGnz20KQxu571VcjSo6/lSSUtDza2mZJtR3ssJefgx5bpVWyM8HDYK/wkP5JPnL6UqVarauNUmfRkTOho3FTlGoP6PIFDRtZeBq6BcMRkGuIiNY4MYmDV0ujHNQz+aSb3NheHTbPCEeU8Mg3wvEIObtW60VLwLt7tL9LwT6HZUmRTfWEN7twFXImIwjFDI64QVhZ3NhBFt8eBbxHMZ8CaIe7H1C8xvXMdyxLPb6VIsSjjQ5Tu6SCqgAr05exOiWSIOmZeqYl2yAKsJ4IfFNStZo5LrDOMVUi2QHIrmqZ8dR/Sd8CWKfN1Wr8Mskb5eGEuUnILSj6pq4YSmagxspkGt6pTX8GqCojM8mUjwKb6kdQiWqQsEttHrQP39bBMb/jp+WMbYfEKRvFj3/DjHhrj/gV5E+5wKkhbQbvSCZBg9oF+S042qt+KCNAGgjS24pSDB1vg0HdlcYmpwORmpccTd0pV+zgEtazSNPfQ0pIHnElz5rKRywGsg04LtCsfnVCrglVCXW2UwSoJrdok1FMXuGCi+3BkEsTB73xIylxRo9pfLYQYxLuUC1A6WAXzk0miNkeiw1OG6sUC1JVAcxx+9QSh5gpb4ljMlXlQ8qQQ3dgkoicYMp93+rZewvB1cgE6qFuCI/w2OaxiJkb+/Jx6REGfgqeugr5MzGoCXlAhbvvgpRRatUGSqa0aT40UTVEIniStK2KkQNSWnadTS44MC0ZcShqn/tNbjSpzhJPWqmVtdIahqMy4JIurfISwFqdDknlN/ZkJWaJOfPmu0hCIViLEiCXeDo1fx31S8zs39RXB2funyM/h/4qJvzk1FE1AlLSBoRckNzDUC2Vie0A3dVydpP2+nlQlXWLmsM6kpxf2qNAnzxXE9I8zbaSdNBbUmBp9qN4v7SdxKEPSQw7OPKYqmGDHU1G25UrXOzQT8UESQ8gg7ZI7KplJNU1l8Ei8eqUd9TGu/Hq7MDh3qFLtVYpmTYB1RVu8jGGn+HIKixbp7pl08klbTB60qEpikY9sjLo9EaglvU96Bz3EvfEcLRjtkf+1rba2RopIJY4orU7uObY3Y9SlGnOR8UZRdWYYRWrEpkS6FgkfdvN4lxqew4RQe5mP6W+wnEkhvXYbXxIZd2qOGV+DxkBE9TT6D3p7Zq2VzJUAseOmluQLiocOOkAKDVWaXR015dYYhhgYrCcD6ml8QGDF/GOWXf4pN3DFIOvh2olo92vyup7stXa0MvaZcUB90LXMpfiqT0HdGwvKlR7KYetkJMa2zJ/eArTc+pPLwuQVoRD7jxII8nWDhElbFkfTa6MUhEyZ1g5yvyhBBlM5pzxUDZLT/37WD/EMrpTwTbt4IhlG7ZotGO0+OI4aZ8Go5MwWJcz21FJpnoSIFY/ccFOPVCPGOEsSkbF/PQIj5jGOrVbVnfwRTqNq6nNasQEQSYH7oLXLiW31UgXpk8J44vqKc0GKe+BUadt3wUGAkJHB7zFtQeGQxccdSieReslSPWf21E+PxPTi3gAyczhLgUOemFaBT28Nb0szb2eFfH0QV74/FTUWTUSxGVUnmvtGSxEF+eUJztVfeYpr5KlNEbYbqQ/w8UBwJAH0HamgKFli1D0/cDgt1aKRsyIiBkajPOqYfpIH2OmzjUXl2DjQBcnYNPzP23nDgeJTLHZjvA3F6eZS+qL+hBHp2CFSjh9r5hEHI5LWf8yYeu+fiXuj2dEpxTy4BSscCAS7mcaFpIjOC3TN15a8XSiiv1d5nw1J3XvVVdSdCXBLyTQ7X6UP791na9WoVPtyKsOfHdGN4V1cnOIkpCaGROZGQLYjJzIqtrI6Io6olJUVVV4RG1VQhxWw8BWVUnfSk9FQ88uQ89O+1zrjciqGmx1dYKSoDTFEzCaH0DKetZ6qpr6NipKhta6Pz/vyl71JjjIgm2Mo3dThbeljyxJqar/UU1W/8NoQ8MMt3tOGvIR8uHF1YdJ9djPRUuCiuyQgv0MsjKrmh7gbl1DWxUY4ZuThDq3YelD8tGWvyGgLy1vY6imbeEGLDOpHO7hsJgJURqr/sUfdMIUeQNS3akvcKdANyLxpG6ttwWvR5SKf+OeDogqLHnnfDSKVObzyPWhfkSuc08aOBScttLk84hUfq/nmw8c5a+vGV3LuuaOM8ilM73oei1b0HiQOciMcqb1WLAxXFpjymrKekl9Wf4AqqVC9FkHJbMIdHx1e6qd9XNg5NrO3gaSJT+J0MR/vZGQBOTgYj7stSKQKXNVXJDY31kSRgv+kF24ebC3cBUl1sW4FzlLSg6fQRYu7hOXE+KiplBr8IY64U2sYRs6DULU6B833EN1i/QIcale8TkFiZTnqB9vXuxNN79muxhd9Q6O2QgmRCCZ0QQ4jJKJnpTGv+v9oztv+iwCmx2v+PFGND0YOBw/gIUOqldmXGhMUkLkg/zYNCQBblntjGSPaFO1s10v9n8avPBleHDEAF69UZnZrVe/kugkTRzewS6vfEa97f0yw/q4iTWYFOobntaUn1ZEjgpQEKYF4W/NhTyv0Yd/jpcJkcNPVxmmV74yjU6gZf4ppenXaNNMkCyKPbn0FNpK3wWEJHdmZqV0gZyeMm+7ch9v5jGOnDmQHhB2JdRa3fDkj3rk9+T/0vjk3+XHvmFPPPktb7jXunTtve7t2X9N52URmJf7Oyv7Z1pSZER6MpvtCdeYGG/3KOJiemfEJYDQapiYQomOZSg1yG6ZmOa28yKIOPdT7qhorWaMNs35ggvr6G+bbL/MCjzP6ah2FK4FBKZTczOTe4A20vPvgNDZoDTV5MABkCq/LlcqJyNXIgcCLfEZqKciVoFpdFmDesA2F/EViFPTiYjRMXd1dPV1vB/kbEJBSleHOp5MjjQ3lda6OCtr5fRIdt1PHpfS7wyfXh9tfyRcLaIbr62anLqFf8lc4Y96mu5478FlTWmhS/jNdM+EJUwrPupOtsbzm0OtfvTfGH6QXPh6JozbrrScJ8y+FHD8bb/cUsVwggG/0BH0/sMvm6XGSpkVD6YkrWxDSTe7c+a4a9+DZXxyDkByItiaGDTEM0iu4ZkhD7Yc//CjBmoBQ54/eN/fc9+rwOayDzexK2zg39L2rRpGqZi8+EBartu5PKFZIS7+CS6kU6AePnpik+v3e5Sop2jiixQhuoqm7aMozvXeY41V+Vld4yx/kg4Gj7aU1KWcbDU7WvOfnqsuEoFnZqNFInyV/QiTCN5nZPE7+yH+3MbPICCNKvWjWSgsBAw5vWhq2g8k+yJtInsAQ44pGvpsA+o93SqOOAdyC3tVlhAy8kBF0JFz/cg210yPCDdP7xAzQPhtibvbpfSGstK9AlbQCoPe0sXS0v49hEVCL/h99hL428m9tBO/9ybefFp41hNCTIjwS8uEGDhR0dy1v7/a8ZixbckIvvJrm+BY0FLoZabrhRNHyKcHKnr6S5R8k83m9Hp++unpHLzlzRK4Kve1aWvrXsVreu2rvX03aKXVzpKkaavJDXQ1abeQV46TqbL0dQ1N9DUkmZmnCHqM41HHOAfqm/OfSS4K9QUz6i84iIkjPTGOf2D+8nwat/5Dv8AorzwlLqI8PxllC1r42qlofn899IsIf8EvSmxaRteT6WtFppluQF5yPm0H5ff4GW+Z9FRNX92p9/Tqd9zSLDHteYSAniPjaOrOBVJNenBsCSkb+ECP+P3O8mhOA355PmvXK+xFQG9UdVZuclGwu1FWoJPdy0Drcvdm9umtLDQhcfhBb1RfTnlOadBspjeo+OCnAYPvBgx+qug+qFaSF+EVYN6xnP1wEkFWlp++LWp8WFre0Fj0DuL/n6Bpnjw7SK47206egNWRk90XG/Don2Vs6T8vNHH1M59b7+U8Qm7CD/ByunG6sXvzNnHWWfcvykeYXlt9MTG7sG530/7m2uuFlxMrYDsd9PbtGZvUMz1npmGdh1sFsoXnUwTWI9iKfiQBd/t2N2CJ3TkBQNsVAKhoMpkPe40M8E5YoCEH5vQGfmL1womKR09WGi7PPrg0Ww9iYdkZ2RlwuuJtMcK7BBcPd0eHRbeWvGxLqAXqTpuelRfB0ybaRol6j5A1YOD7aIqKLv+cyWvA+jXRIN+IR2kxVXfYwMsK5FBsP9eu9rxyT8EF1wEWKFLu8fHLl9BdNE9SX8V1atZO69a2Rae/AqkIm3Q/WqMmGlOf6gEbtwUaPjhT5PVtLjaj4+Mb2sYmWofkGMekvJGec49yn4M576+9691P3cKFKYCFOpyXW+zQ432hn13YruyxGLJW4SftnAZi9gSosc+zc3/mKQ38O58cPrVzBK2+gC5uGYi3jtUUlPUwiB3He414ZJexpXEx0ybG5sFWfT2p3v0h5UmdzDJd5raIsZWDNWGLtFUPFrz/di73Drkl4PxquSd/fvrZZ8lGXN/CzTetITYrO97M7UHP010ByufOzPHYpntF73Xz6mKzJ4BDpzMwa9AAFfGC8hK8HdzdjWMteNXRFMACBfQo4pRhrmuuLiHGQS7OwNEm3nnrpJRAxg9haRk5nUd4rqtuIqKZvwlQvnr5B2uUXmrtq2WzUtE/4/MG9JI3MrBXiNP4+SaMrN1rFFFvsPC1xfjPUEa8HQkh9rGB9Paj1MH9rQ65PE6KOLC3iWNig/KfOSOIf67GfMXB/xbjSAusAv+Zivx/LyekzbMK/KXg2qreJCZVzg+31MwnxlW/AdlVth8r13oHPYLpKIB5W4vz80h43r/Ki+1Cd+ZPEWt0MjDa6fXRBZNgznu4PjDY4xZG61IHmLcUGnc/6sA2/98uWmrBVHSlfireILkspnAaLnllZAl0yOQBRbwNFWycUi36BPjPnrnroX1MokJHw0srermzqWv9SQZVLczV2s7TQEneUZ5Dql5P298gdeshJWLYxKPCkkJjGu9CcAzVhWM+MtgR0kixrIiMLHdQljK7YnBIZnzxIGkQC4Jhzs6hE41tz2Cgh/Lo+7NpxUJ2ijgZPv5e6b/95JiCeNKxKPEnoFBy6JYEhb1NPIvVS5gVLZzFXiHexaRzmaX/ciZ8f/ghfs6K04Vn9lfGr4zXLjxWnLNwwMzSf2XopPCKLdM8jwJjFru5w92zthddj52/PgJiWQHZJkReneNqucKR4OdKFmhZfzz8ZTp1+vM40vFwuUWQlzAud2JkrcqwymhjFIV/JQvyTJmAfZoJ+N8jMli6+a02nbZ7Oy9OjMvxEsgCzcvQNflhOnX6y8jjtpWHAqDxha6IOhen/EC4Jl3l3GUNHSfzEqSk81WCWsLtppJfvWrmXhZQW18D0xx9jJlqUfd4qETYpvvTGjZhQgafkY7vUHZbzg6fnD83/fwUmXuVspTJ2T2FyWx/XN5I63GlfZcnZbwABbhCdX+BCMQCRztfWViCQw9/PXj2dGGquds5NMjdMTw3BIe+XQgKHz2KIifGisKjY8Nj4hPt80dG3cvSssJj0zIL/foHivwzsiOJWbmuZS8G7IqSSZGx4qigIMJUf8Bqf6DHZNCww4C/h2e/370LcLb1uFDWjNsYJkShUiFYQa5XTjpYulI6hJZG+RykMR2lHn1G/U4FpdSmJxRdBX6lWNsa9NC6x7ObirfiPV5RkIjWrAJipbelUZLDuFT7jW430zx3aruBLP+dWNsq+uHFbfTKK0pIdV5CcgnBWvGmZowMl2aNkoelWBhXndFR1ROaeFVbxTsimlGyJ++R1dl1bBUN410Aq2cyj4Fgrmu8HNb/FBQ/6+U2lBQVPp7scCM/ncwvqS/PTLMx1zUxd44L8vR3jjM3NdWx+x/ZUHweXynDVll8vqGu8Cy+qrSEvaLoHKF2hGqkOhSmMkQ1GhlsNVAdHxpUHW03AMeeZr27emF+4UH27lV+DS7CscGKGiJCJQz29eFx0bnJMZJWx7VMAq8YXKAme2iDobSQOUis+FFx0aW3wWgO0UEYcqC8klL2moKzDfUF3Ozpp1v3V+2kexy5NREhQQ9kAgQgV0ofw5o6ReFmsSCgmx4UKCEGsqIq6pK28SC4wVlCKgHc+R6HjHwnh7Q8R6e0TAfHzMz/R0RV7oiJq6iK3lTVcFFVgYvp+i7ZLkXVReHZ4YXVHBxf5HPkoS7PwOXKcRc7RYG/knfv3BUrJFSl43JD3RycnHQ0mlJIwJpxX1dVSZL/2s4dMVXBS4XWZYHBcfn+DjcVjWWPZVwkOdUGE6MqQ5yLrmlIyN9RlhDyzEcMgX0Ilhl4M+GIsHgAlN3P9x6WyuamilfjCKYxdelayjMUwLyFGJzuJu7f7Azd/00mwJAhbe73yGi98ZCQDKdbc06kWRV7kLBOmvpCN67+ssKdiYb3eYVGr2+FWXvjgbbCpuhRX17+o54q1WJqr/CT3soyjK2lp66OOcFOw8bSU+eehStiCXerwfFiqIVPZw+9NYerF8HVNtjDhIKULL/oHJh51tpY/NDFQ1Y9rUcyfuzXrqbD6OMBXsyWwi8tV29iyJ05reyzGtnKR/C9emz+z7jmwVBZRVNJwzdQWUN5mq+koaJpVdXq8iy6yqyPuGeZl0zafNLtoDNDavVsevD9iqSi/0QqwislY/PVKvGcPNHOrWoRVqaAFlPHzQgeHU/j2wGzsc9NTgyZ92j6Owff3tA+2s01vBgVMGTKY54jycVZ/kHFWbEAz1AMxkd3qW0DLcUhD0YUhVTNH5H0YtWKR5o77rVdMbmcxxJzRcTZw0xbWMXicZp+3D2j+FFdc3snw7e8oLHMgYltldFbMUuqftSQXbjauLCk5+wa6OCY4HqvE0/61PbIq0lbQFtao1HfcXILdrzmsE2NTzMz/O++vx1b6H/bI0u5UOXIwbo3kuCqo+5oKoIW9sqoY40/cSYqOg2EFI/8pM01K/L++5oUE/suzH8pJt19ezQ8vNzf80ZfYuKbdGXr7ohI4w7+W0XvRR7GPw5TtsFGMh1ljFc2TS19Wp1Y1R8WkrPSBXKThptdmxZiMZHcSEhC/WAVfhwwcr7SgX+X40luZpeU04PtXvblyhQF/Vsipjjo8ahkBNuMvMzoEu2zdNNvX1KOr35j19ah76bT5CCXUPWWAnKE0fTiaUsooh6RfbKHelRxKnikgFYzB6HsX2YCM9SJNMSz/ssqC65lv/Nj4Uuu0I9mQUnmpKcdU7ILs0tj7zoyKjbVtwuWfCX+/94Sk+OeeUvayNj1EzzGdv7teY9ia8sHYh77OauEECO/xb50l7aRsh7yiJmnvfG/C9dZ/Dohrnh2tKNkLj62dEZufNYms+xIHPOJEGIm8Nu+p8/NrM2ozWX8xuIBPD5hBkHeJqaBPg2BAV2BAap6N+TkBfjlZa3lFAQEZRVBaGPeJTDa9FKrpVTDqUtFAkFYZ/8Es3NeFmJnz1y5JX8NWDfZHZVMQ1FpxC7v+5bDQJfB6aBkGo4ipXRGgI3lECSecFA2DkWl+lJs7ayfQ+JVByVjIiqHQqlwsZ6cv50bQmqFs+U44MppDNzcTU08Xcx4DVxdzc3c3AzhNC+SmMQXyc4XlQTMXu2zkGVMRpKQZChztf9XC2d/bUXwp8PQfa0Tld52Z9mL/U77/zx1HsPQEtwS1xLSQoc5xfXFKYaLvdSFx62CPIJ59CAkLC4MpFsS5LPlYWTu2FLT9tHnTzzqJLnygwU8/RycnM0XSAv1Ko2WUQhjE8Su9mzSeT5JKQc+HL7Q0N3ZbHdZEjBzlLlngRRjHMHL0cV8kbT46iml1KdRxEuEMJrPJpQ6HKgfYi0ferUX0wUKZdmNSQn59VCcXJ7XmJCUXY8UFGB74qPRra19CVHoNsCNDMfvAs3LzhHOtYW1fhg7f0xp0M7SWQZwjxBIXYwyO7JVVStzSjUsmRgQXJwSE1AVgrF9mM76elklVQVpdTVVlTrguZFrzMYI54dKhxF8Y1L8vItyoxKqKrOFflz46uUOuVPolSssPMdp696WUtcIvnMXKp40pVaZpg1GBBC/j6+vaLz42KnYn7Uv2klOxfL31Tv42mf5hISqKoiDwupi0rdVxYRF7oqF4k2b8OHmOv/1LY/vTvvDtz33k7HzTYwLDSgrDo/Lr0Cl7/5RIvvag6xIq8BC80t3JHU0NCUl7urIy6qow/BDX2R/8eCH/sKLD/7dvqB0/Tw9bdbyF/8BbA7/B8ACfv5RXi4s/FISFuuq3TPy/xld+aEw/7/MKFgNXAXhBB65quZ3mSNchXEMzjWjNmffEVy77YdFatbn0cri6o3s6doSBL/VEMh8d5R8AGqv7OXj7Ca4f4GMTaYvg+n0kAfMWAUnGXGbq5WubLETFC6/WIYgF1AL8uFFVasHdK2u0/W6QTfiIbHA5gvygmuF4A/RnOkT3Way54spBkO81cmv3dOk0ApZXJgOiMn5By5dK/gTcmD6RLyZLGPEyQCumQpztelDxEyeZUacZg8r6CL+WCHfqB23tFDzijCT7c2n2ArJAFtxcrcVQzi4EqKJ6RNUM9nAiJOvVkoJxLqiODYDRAJrtvBsknxFNpJyCU2M1VykPk3yDYNVohi3tQoHgVZp6OZCZDnjOkFDskq4nijcegh9PuvE5JKvQ50g+jd1bdeqZ1sdixjTOjCv6diLvkJ1nJdYR4410sawNoJ+zUjOShINpFgzFZyEmXM6HtqB8mpjAeduDMj/r/PZkuf+D7hl/haureDS0u+otzR8X3bZVuu5csq/2umBcedopEW8gHvF349HyjOhk4pHKvnj+bNyaIF8NLGTbM6MmQDumb/1qAmimZ+PBplWJmXh6LqSU9bIxFQDfVc/Ooi7qETTFD9xKpmamfyj8OaZZEJ1OAXGegvRs0KesdMf8OOk8lvar+fGgFrQByzkYE7awz8Q118VeWAeDX/e4QBmRp+xoE2+m7GMlofvvD/oaG9B4fka2H8Se6HrFqJLTH+wgH5KKNfdqN0JIDb2+w0mUSZMl/ar/dZgRnxZN8SfnmUeAnHhOHQfyB3h9xrb8lTF+40BiaA+G/tMsBstPAFki2qMQUS/5tcNCQScSy8XOQVfxRiEALnJ2ldCUowtWCR/bx1fBoCnf+puD8A7of3bP+v8X7X5l3kBy6EAAiwuW1oFsPzgUpZe2gHEfVPfVyJbQ+Pfi3eaa0BJkhD7gF+HchvzHPsXu7Bjn49F5zN8RXCq42hEmtMpgjdPSik1+KfGC9Rhhjki5BGFOh7P2jY+iolml5qNctvK6etiatjdxQ1O45ZT/UftEOE3bqvtRDIu1wZeAkdbRF7T2U5EBo1LadSY/qpN8LQwvoPx7dm69oGa7qbVQwQGv8Rx1KnFcVKDBsR6FEuP0M8z0krZRXo2dGVIpgrQZACxNubaIRKbn2lHsmgpZjlM0jyXZTtIjE+SYmfuBjMu9EnBAg0J7SSxU5jouEQW2Q64r7UQXTsi1rKzExqu1A+X6jlOatkw28nEF02OfXiKPKIS2pJjVzEZbbh3ISyxJ723GZchu0mFSaVLr173282DSdX1rOok5z8RfYdVfiCXH0hnhKAmyqsd8skpPf7wplGBVT7cT4/7Y57eJEJrEuNezyksAufPrcCIunfeVFXdJ2HqpdFkoZ1KqYlMukBm/Ja/KOWwUGBVA2qzUUANCRoyyqbbUiKXJc7FH9nO5zSHfEcye4+oFvHDWEbe54KHMapyEvmBaIey6DQ17eZMJ5Ccps8yPphAoIU0opigjziaqITS2h0IHAZOJg0ztFwK+wTcwrzSCwDrvIzxyBPmHfMMp0JDJH6JwCfgTFgBHAL+5BPz43dD42VNaMz8iDuhIZIjIvBGKEtHgB+QcNKFyZXG6iChNoVd1bfMfWhI0wE4A1wvQzAyX4bCzEmN3qWmgWUYfPyXYZ1S1F1muqjkufMQgMCRPQfeuAniJ9At5KbEXeAZLuxWVeHGxnWjrMG7WLQ1mFfOaLe47BD4atnWdUN2Z13y3lDgbc+HC6sgr7+IwIsjc7PHX98u5CYJ6wVv6hZ2bQUWvb15EHej0/q5rrPikXjbcGDnOhsJmr8hO7LRvBu4V/sNalTIU6RBh6Jrts38i4GTzfts3QMAAAA=","ok":true,"headers":[["content-type","font/woff2"]],"status":200,"status_text":""},"https://localhost:6006/index.js?_file_hash=4a366cbe":{"data":"dmFyIENMT1NVUkVfTk9fREVQUyA9IHRydWU7CndpbmRvdy5wb2x5bWVyU2tpcExvYWRpbmdGb250Um9ib3RvID0gdHJ1ZTsKLyoqIHZpbTogZXQ6dHM9NDpzdz00OnN0cz00CiAqIEBsaWNlbnNlIFJlcXVpcmVKUyAyLjMuNiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycy4KICogUmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UsIGh0dHBzOi8vZ2l0aHViLmNvbS9yZXF1aXJlanMvcmVxdWlyZWpzL2Jsb2IvbWFzdGVyL0xJQ0VOU0UKICovCi8vTm90IHVzaW5nIHN0cmljdDogdW5ldmVuIHN0cmljdCBzdXBwb3J0IGluIGJyb3dzZXJzLCAjMzkyLCBhbmQgY2F1c2VzCi8vcHJvYmxlbXMgd2l0aCByZXF1aXJlanMuZXhlYygpL3RyYW5zcGlsZXIgcGx1Z2lucyB0aGF0IG1heSBub3QgYmUgc3RyaWN0LgovKmpzbGludCByZWdleHA6IHRydWUsIG5vbWVuOiB0cnVlLCBzbG9wcHk6IHRydWUgKi8KLypnbG9iYWwgd2luZG93LCBuYXZpZ2F0b3IsIGRvY3VtZW50LCBpbXBvcnRTY3JpcHRzLCBzZXRUaW1lb3V0LCBvcGVyYSAqLwoKdmFyIHJlcXVpcmVqcywgcmVxdWlyZSwgZGVmaW5lOwooZnVuY3Rpb24gKGdsb2JhbCwgc2V0VGltZW91dCkgewogICAgdmFyIHJlcSwgcywgaGVhZCwgYmFzZUVsZW1lbnQsIGRhdGFNYWluLCBzcmMsCiAgICAgICAgaW50ZXJhY3RpdmVTY3JpcHQsIGN1cnJlbnRseUFkZGluZ1NjcmlwdCwgbWFpblNjcmlwdCwgc3ViUGF0aCwKICAgICAgICB2ZXJzaW9uID0gJzIuMy42JywKICAgICAgICBjb21tZW50UmVnRXhwID0gL1wvXCpbXHNcU10qP1wqXC98KFteOiInPV18XilcL1wvLiokL21nLAogICAgICAgIGNqc1JlcXVpcmVSZWdFeHAgPSAvW14uXVxzKnJlcXVpcmVccypcKFxzKlsiJ10oW14nIlxzXSspWyInXVxzKlwpL2csCiAgICAgICAganNTdWZmaXhSZWdFeHAgPSAvXC5qcyQvLAogICAgICAgIGN1cnJEaXJSZWdFeHAgPSAvXlwuXC8vLAogICAgICAgIG9wID0gT2JqZWN0LnByb3RvdHlwZSwKICAgICAgICBvc3RyaW5nID0gb3AudG9TdHJpbmcsCiAgICAgICAgaGFzT3duID0gb3AuaGFzT3duUHJvcGVydHksCiAgICAgICAgaXNCcm93c2VyID0gISEodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmRvY3VtZW50KSwKICAgICAgICBpc1dlYldvcmtlciA9ICFpc0Jyb3dzZXIgJiYgdHlwZW9mIGltcG9ydFNjcmlwdHMgIT09ICd1bmRlZmluZWQnLAogICAgICAgIC8vUFMzIGluZGljYXRlcyBsb2FkZWQgYW5kIGNvbXBsZXRlLCBidXQgbmVlZCB0byB3YWl0IGZvciBjb21wbGV0ZQogICAgICAgIC8vc3BlY2lmaWNhbGx5LiBTZXF1ZW5jZSBpcyAnbG9hZGluZycsICdsb2FkZWQnLCBleGVjdXRpb24sCiAgICAgICAgLy8gdGhlbiAnY29tcGxldGUnLiBUaGUgVUEgY2hlY2sgaXMgdW5mb3J0dW5hdGUsIGJ1dCBub3Qgc3VyZSBob3cKICAgICAgICAvL3RvIGZlYXR1cmUgdGVzdCB3L28gY2F1c2luZyBwZXJmIGlzc3Vlcy4KICAgICAgICByZWFkeVJlZ0V4cCA9IGlzQnJvd3NlciAmJiBuYXZpZ2F0b3IucGxhdGZvcm0gPT09ICdQTEFZU1RBVElPTiAzJyA/CiAgICAgICAgICAgICAgICAgICAgICAvXmNvbXBsZXRlJC8gOiAvXihjb21wbGV0ZXxsb2FkZWQpJC8sCiAgICAgICAgZGVmQ29udGV4dE5hbWUgPSAnXycsCiAgICAgICAgLy9PaCB0aGUgdHJhZ2VkeSwgZGV0ZWN0aW5nIG9wZXJhLiBTZWUgdGhlIHVzYWdlIG9mIGlzT3BlcmEgZm9yIHJlYXNvbi4KICAgICAgICBpc09wZXJhID0gdHlwZW9mIG9wZXJhICE9PSAndW5kZWZpbmVkJyAmJiBvcGVyYS50b1N0cmluZygpID09PSAnW29iamVjdCBPcGVyYV0nLAogICAgICAgIGNvbnRleHRzID0ge30sCiAgICAgICAgY2ZnID0ge30sCiAgICAgICAgZ2xvYmFsRGVmUXVldWUgPSBbXSwKICAgICAgICB1c2VJbnRlcmFjdGl2ZSA9IGZhbHNlOwoKICAgIC8vQ291bGQgbWF0Y2ggc29tZXRoaW5nIGxpa2UgJykvL2NvbW1lbnQnLCBkbyBub3QgbG9zZSB0aGUgcHJlZml4IHRvIGNvbW1lbnQuCiAgICBmdW5jdGlvbiBjb21tZW50UmVwbGFjZShtYXRjaCwgc2luZ2xlUHJlZml4KSB7CiAgICAgICAgcmV0dXJuIHNpbmdsZVByZWZpeCB8fCAnJzsKICAgIH0KCiAgICBmdW5jdGlvbiBpc0Z1bmN0aW9uKGl0KSB7CiAgICAgICAgcmV0dXJuIG9zdHJpbmcuY2FsbChpdCkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7CiAgICB9CgogICAgZnVuY3Rpb24gaXNBcnJheShpdCkgewogICAgICAgIHJldHVybiBvc3RyaW5nLmNhbGwoaXQpID09PSAnW29iamVjdCBBcnJheV0nOwogICAgfQoKICAgIC8qKgogICAgICogSGVscGVyIGZ1bmN0aW9uIGZvciBpdGVyYXRpbmcgb3ZlciBhbiBhcnJheS4gSWYgdGhlIGZ1bmMgcmV0dXJucwogICAgICogYSB0cnVlIHZhbHVlLCBpdCB3aWxsIGJyZWFrIG91dCBvZiB0aGUgbG9vcC4KICAgICAqLwogICAgZnVuY3Rpb24gZWFjaChhcnksIGZ1bmMpIHsKICAgICAgICBpZiAoYXJ5KSB7CiAgICAgICAgICAgIHZhciBpOwogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXJ5Lmxlbmd0aDsgaSArPSAxKSB7CiAgICAgICAgICAgICAgICBpZiAoYXJ5W2ldICYmIGZ1bmMoYXJ5W2ldLCBpLCBhcnkpKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIGl0ZXJhdGluZyBvdmVyIGFuIGFycmF5IGJhY2t3YXJkcy4gSWYgdGhlIGZ1bmMKICAgICAqIHJldHVybnMgYSB0cnVlIHZhbHVlLCBpdCB3aWxsIGJyZWFrIG91dCBvZiB0aGUgbG9vcC4KICAgICAqLwogICAgZnVuY3Rpb24gZWFjaFJldmVyc2UoYXJ5LCBmdW5jKSB7CiAgICAgICAgaWYgKGFyeSkgewogICAgICAgICAgICB2YXIgaTsKICAgICAgICAgICAgZm9yIChpID0gYXJ5Lmxlbmd0aCAtIDE7IGkgPiAtMTsgaSAtPSAxKSB7CiAgICAgICAgICAgICAgICBpZiAoYXJ5W2ldICYmIGZ1bmMoYXJ5W2ldLCBpLCBhcnkpKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgZnVuY3Rpb24gaGFzUHJvcChvYmosIHByb3ApIHsKICAgICAgICByZXR1cm4gaGFzT3duLmNhbGwob2JqLCBwcm9wKTsKICAgIH0KCiAgICBmdW5jdGlvbiBnZXRPd24ob2JqLCBwcm9wKSB7CiAgICAgICAgcmV0dXJuIGhhc1Byb3Aob2JqLCBwcm9wKSAmJiBvYmpbcHJvcF07CiAgICB9CgogICAgLyoqCiAgICAgKiBDeWNsZXMgb3ZlciBwcm9wZXJ0aWVzIGluIGFuIG9iamVjdCBhbmQgY2FsbHMgYSBmdW5jdGlvbiBmb3IgZWFjaAogICAgICogcHJvcGVydHkgdmFsdWUuIElmIHRoZSBmdW5jdGlvbiByZXR1cm5zIGEgdHJ1dGh5IHZhbHVlLCB0aGVuIHRoZQogICAgICogaXRlcmF0aW9uIGlzIHN0b3BwZWQuCiAgICAgKi8KICAgIGZ1bmN0aW9uIGVhY2hQcm9wKG9iaiwgZnVuYykgewogICAgICAgIHZhciBwcm9wOwogICAgICAgIGZvciAocHJvcCBpbiBvYmopIHsKICAgICAgICAgICAgaWYgKGhhc1Byb3Aob2JqLCBwcm9wKSkgewogICAgICAgICAgICAgICAgaWYgKGZ1bmMob2JqW3Byb3BdLCBwcm9wKSkgewogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogU2ltcGxlIGZ1bmN0aW9uIHRvIG1peCBpbiBwcm9wZXJ0aWVzIGZyb20gc291cmNlIGludG8gdGFyZ2V0LAogICAgICogYnV0IG9ubHkgaWYgdGFyZ2V0IGRvZXMgbm90IGFscmVhZHkgaGF2ZSBhIHByb3BlcnR5IG9mIHRoZSBzYW1lIG5hbWUuCiAgICAgKi8KICAgIGZ1bmN0aW9uIG1peGluKHRhcmdldCwgc291cmNlLCBmb3JjZSwgZGVlcFN0cmluZ01peGluKSB7CiAgICAgICAgaWYgKHNvdXJjZSkgewogICAgICAgICAgICBlYWNoUHJvcChzb3VyY2UsIGZ1bmN0aW9uICh2YWx1ZSwgcHJvcCkgewogICAgICAgICAgICAgICAgaWYgKGZvcmNlIHx8ICFoYXNQcm9wKHRhcmdldCwgcHJvcCkpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoZGVlcFN0cmluZ01peGluICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYKICAgICAgICAgICAgICAgICAgICAgICAgIWlzQXJyYXkodmFsdWUpICYmICFpc0Z1bmN0aW9uKHZhbHVlKSAmJgogICAgICAgICAgICAgICAgICAgICAgICAhKHZhbHVlIGluc3RhbmNlb2YgUmVnRXhwKSkgewoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0YXJnZXRbcHJvcF0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldFtwcm9wXSA9IHt9OwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIG1peGluKHRhcmdldFtwcm9wXSwgdmFsdWUsIGZvcmNlLCBkZWVwU3RyaW5nTWl4aW4pOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldFtwcm9wXSA9IHZhbHVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiB0YXJnZXQ7CiAgICB9CgogICAgLy9TaW1pbGFyIHRvIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLCBidXQgdGhlICd0aGlzJyBvYmplY3QgaXMgc3BlY2lmaWVkCiAgICAvL2ZpcnN0LCBzaW5jZSBpdCBpcyBlYXNpZXIgdG8gcmVhZC9maWd1cmUgb3V0IHdoYXQgJ3RoaXMnIHdpbGwgYmUuCiAgICBmdW5jdGlvbiBiaW5kKG9iaiwgZm4pIHsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gZm4uYXBwbHkob2JqLCBhcmd1bWVudHMpOwogICAgICAgIH07CiAgICB9CgogICAgZnVuY3Rpb24gc2NyaXB0cygpIHsKICAgICAgICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NjcmlwdCcpOwogICAgfQoKICAgIGZ1bmN0aW9uIGRlZmF1bHRPbkVycm9yKGVycikgewogICAgICAgIHRocm93IGVycjsKICAgIH0KCiAgICAvL0FsbG93IGdldHRpbmcgYSBnbG9iYWwgdGhhdCBpcyBleHByZXNzZWQgaW4KICAgIC8vZG90IG5vdGF0aW9uLCBsaWtlICdhLmIuYycuCiAgICBmdW5jdGlvbiBnZXRHbG9iYWwodmFsdWUpIHsKICAgICAgICBpZiAoIXZhbHVlKSB7CiAgICAgICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgICB9CiAgICAgICAgdmFyIGcgPSBnbG9iYWw7CiAgICAgICAgZWFjaCh2YWx1ZS5zcGxpdCgnLicpLCBmdW5jdGlvbiAocGFydCkgewogICAgICAgICAgICBnID0gZ1twYXJ0XTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gZzsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnN0cnVjdHMgYW4gZXJyb3Igd2l0aCBhIHBvaW50ZXIgdG8gYW4gVVJMIHdpdGggbW9yZSBpbmZvcm1hdGlvbi4KICAgICAqIEBwYXJhbSB7U3RyaW5nfSBpZCB0aGUgZXJyb3IgSUQgdGhhdCBtYXBzIHRvIGFuIElEIG9uIGEgd2ViIHBhZ2UuCiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbWVzc2FnZSBodW1hbiByZWFkYWJsZSBlcnJvci4KICAgICAqIEBwYXJhbSB7RXJyb3J9IFtlcnJdIHRoZSBvcmlnaW5hbCBlcnJvciwgaWYgdGhlcmUgaXMgb25lLgogICAgICoKICAgICAqIEByZXR1cm5zIHtFcnJvcn0KICAgICAqLwogICAgZnVuY3Rpb24gbWFrZUVycm9yKGlkLCBtc2csIGVyciwgcmVxdWlyZU1vZHVsZXMpIHsKICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtc2cgKyAnXG5odHRwczovL3JlcXVpcmVqcy5vcmcvZG9jcy9lcnJvcnMuaHRtbCMnICsgaWQpOwogICAgICAgIGUucmVxdWlyZVR5cGUgPSBpZDsKICAgICAgICBlLnJlcXVpcmVNb2R1bGVzID0gcmVxdWlyZU1vZHVsZXM7CiAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICBlLm9yaWdpbmFsRXJyb3IgPSBlcnI7CiAgICAgICAgfQogICAgICAgIHJldHVybiBlOwogICAgfQoKICAgIGlmICh0eXBlb2YgZGVmaW5lICE9PSAndW5kZWZpbmVkJykgewogICAgICAgIC8vSWYgYSBkZWZpbmUgaXMgYWxyZWFkeSBpbiBwbGF5IHZpYSBhbm90aGVyIEFNRCBsb2FkZXIsCiAgICAgICAgLy9kbyBub3Qgb3ZlcndyaXRlLgogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBpZiAodHlwZW9mIHJlcXVpcmVqcyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICBpZiAoaXNGdW5jdGlvbihyZXF1aXJlanMpKSB7CiAgICAgICAgICAgIC8vRG8gbm90IG92ZXJ3cml0ZSBhbiBleGlzdGluZyByZXF1aXJlanMgaW5zdGFuY2UuCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgY2ZnID0gcmVxdWlyZWpzOwogICAgICAgIHJlcXVpcmVqcyA9IHVuZGVmaW5lZDsKICAgIH0KCiAgICAvL0FsbG93IGZvciBhIHJlcXVpcmUgY29uZmlnIG9iamVjdAogICAgaWYgKHR5cGVvZiByZXF1aXJlICE9PSAndW5kZWZpbmVkJyAmJiAhaXNGdW5jdGlvbihyZXF1aXJlKSkgewogICAgICAgIC8vYXNzdW1lIGl0IGlzIGEgY29uZmlnIG9iamVjdC4KICAgICAgICBjZmcgPSByZXF1aXJlOwogICAgICAgIHJlcXVpcmUgPSB1bmRlZmluZWQ7CiAgICB9CgogICAgZnVuY3Rpb24gbmV3Q29udGV4dChjb250ZXh0TmFtZSkgewogICAgICAgIHZhciBpbkNoZWNrTG9hZGVkLCBNb2R1bGUsIGNvbnRleHQsIGhhbmRsZXJzLAogICAgICAgICAgICBjaGVja0xvYWRlZFRpbWVvdXRJZCwKICAgICAgICAgICAgY29uZmlnID0gewogICAgICAgICAgICAgICAgLy9EZWZhdWx0cy4gRG8gbm90IHNldCBhIGRlZmF1bHQgZm9yIG1hcAogICAgICAgICAgICAgICAgLy9jb25maWcgdG8gc3BlZWQgdXAgbm9ybWFsaXplKCksIHdoaWNoCiAgICAgICAgICAgICAgICAvL3dpbGwgcnVuIGZhc3RlciBpZiB0aGVyZSBpcyBubyBkZWZhdWx0LgogICAgICAgICAgICAgICAgd2FpdFNlY29uZHM6IDcsCiAgICAgICAgICAgICAgICBiYXNlVXJsOiAnLi8nLAogICAgICAgICAgICAgICAgcGF0aHM6IHt9LAogICAgICAgICAgICAgICAgYnVuZGxlczoge30sCiAgICAgICAgICAgICAgICBwa2dzOiB7fSwKICAgICAgICAgICAgICAgIHNoaW06IHt9LAogICAgICAgICAgICAgICAgY29uZmlnOiB7fQogICAgICAgICAgICB9LAogICAgICAgICAgICByZWdpc3RyeSA9IHt9LAogICAgICAgICAgICAvL3JlZ2lzdHJ5IG9mIGp1c3QgZW5hYmxlZCBtb2R1bGVzLCB0byBzcGVlZAogICAgICAgICAgICAvL2N5Y2xlIGJyZWFraW5nIGNvZGUgd2hlbiBsb3RzIG9mIG1vZHVsZXMKICAgICAgICAgICAgLy9hcmUgcmVnaXN0ZXJlZCwgYnV0IG5vdCBhY3RpdmF0ZWQuCiAgICAgICAgICAgIGVuYWJsZWRSZWdpc3RyeSA9IHt9LAogICAgICAgICAgICB1bmRlZkV2ZW50cyA9IHt9LAogICAgICAgICAgICBkZWZRdWV1ZSA9IFtdLAogICAgICAgICAgICBkZWZpbmVkID0ge30sCiAgICAgICAgICAgIHVybEZldGNoZWQgPSB7fSwKICAgICAgICAgICAgYnVuZGxlc01hcCA9IHt9LAogICAgICAgICAgICByZXF1aXJlQ291bnRlciA9IDEsCiAgICAgICAgICAgIHVubm9ybWFsaXplZENvdW50ZXIgPSAxOwoKICAgICAgICAvKioKICAgICAgICAgKiBUcmltcyB0aGUgLiBhbmQgLi4gZnJvbSBhbiBhcnJheSBvZiBwYXRoIHNlZ21lbnRzLgogICAgICAgICAqIEl0IHdpbGwga2VlcCBhIGxlYWRpbmcgcGF0aCBzZWdtZW50IGlmIGEgLi4gd2lsbCBiZWNvbWUKICAgICAgICAgKiB0aGUgZmlyc3QgcGF0aCBzZWdtZW50LCB0byBoZWxwIHdpdGggbW9kdWxlIG5hbWUgbG9va3VwcywKICAgICAgICAgKiB3aGljaCBhY3QgbGlrZSBwYXRocywgYnV0IGNhbiBiZSByZW1hcHBlZC4gQnV0IHRoZSBlbmQgcmVzdWx0LAogICAgICAgICAqIGFsbCBwYXRocyB0aGF0IHVzZSB0aGlzIGZ1bmN0aW9uIHNob3VsZCBsb29rIG5vcm1hbGl6ZWQuCiAgICAgICAgICogTk9URTogdGhpcyBtZXRob2QgTU9ESUZJRVMgdGhlIGlucHV0IGFycmF5LgogICAgICAgICAqIEBwYXJhbSB7QXJyYXl9IGFyeSB0aGUgYXJyYXkgb2YgcGF0aCBzZWdtZW50cy4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiB0cmltRG90cyhhcnkpIHsKICAgICAgICAgICAgdmFyIGksIHBhcnQ7CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhcnkubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIHBhcnQgPSBhcnlbaV07CiAgICAgICAgICAgICAgICBpZiAocGFydCA9PT0gJy4nKSB7CiAgICAgICAgICAgICAgICAgICAgYXJ5LnNwbGljZShpLCAxKTsKICAgICAgICAgICAgICAgICAgICBpIC09IDE7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhcnQgPT09ICcuLicpIHsKICAgICAgICAgICAgICAgICAgICAvLyBJZiBhdCB0aGUgc3RhcnQsIG9yIHByZXZpb3VzIHZhbHVlIGlzIHN0aWxsIC4uLAogICAgICAgICAgICAgICAgICAgIC8vIGtlZXAgdGhlbSBzbyB0aGF0IHdoZW4gY29udmVydGVkIHRvIGEgcGF0aCBpdCBtYXkKICAgICAgICAgICAgICAgICAgICAvLyBzdGlsbCB3b3JrIHdoZW4gY29udmVydGVkIHRvIGEgcGF0aCwgZXZlbiB0aG91Z2gKICAgICAgICAgICAgICAgICAgICAvLyBhcyBhbiBJRCBpdCBpcyBsZXNzIHRoYW4gaWRlYWwuIEluIGxhcmdlciBwb2ludAogICAgICAgICAgICAgICAgICAgIC8vIHJlbGVhc2VzLCBtYXkgYmUgYmV0dGVyIHRvIGp1c3Qga2ljayBvdXQgYW4gZXJyb3IuCiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IDAgfHwgKGkgPT09IDEgJiYgYXJ5WzJdID09PSAnLi4nKSB8fCBhcnlbaSAtIDFdID09PSAnLi4nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaSA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgYXJ5LnNwbGljZShpIC0gMSwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgIGkgLT0gMjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8qKgogICAgICAgICAqIEdpdmVuIGEgcmVsYXRpdmUgbW9kdWxlIG5hbWUsIGxpa2UgLi9zb21ldGhpbmcsIG5vcm1hbGl6ZSBpdCB0bwogICAgICAgICAqIGEgcmVhbCBuYW1lIHRoYXQgY2FuIGJlIG1hcHBlZCB0byBhIHBhdGguCiAgICAgICAgICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgdGhlIHJlbGF0aXZlIG5hbWUKICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30gYmFzZU5hbWUgYSByZWFsIG5hbWUgdGhhdCB0aGUgbmFtZSBhcmcgaXMgcmVsYXRpdmUKICAgICAgICAgKiB0by4KICAgICAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IGFwcGx5TWFwIGFwcGx5IHRoZSBtYXAgY29uZmlnIHRvIHRoZSB2YWx1ZS4gU2hvdWxkCiAgICAgICAgICogb25seSBiZSBkb25lIGlmIHRoaXMgbm9ybWFsaXphdGlvbiBpcyBmb3IgYSBkZXBlbmRlbmN5IElELgogICAgICAgICAqIEByZXR1cm5zIHtTdHJpbmd9IG5vcm1hbGl6ZWQgbmFtZQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIG5vcm1hbGl6ZShuYW1lLCBiYXNlTmFtZSwgYXBwbHlNYXApIHsKICAgICAgICAgICAgdmFyIHBrZ01haW4sIG1hcFZhbHVlLCBuYW1lUGFydHMsIGksIGosIG5hbWVTZWdtZW50LCBsYXN0SW5kZXgsCiAgICAgICAgICAgICAgICBmb3VuZE1hcCwgZm91bmRJLCBmb3VuZFN0YXJNYXAsIHN0YXJJLCBub3JtYWxpemVkQmFzZVBhcnRzLAogICAgICAgICAgICAgICAgYmFzZVBhcnRzID0gKGJhc2VOYW1lICYmIGJhc2VOYW1lLnNwbGl0KCcvJykpLAogICAgICAgICAgICAgICAgbWFwID0gY29uZmlnLm1hcCwKICAgICAgICAgICAgICAgIHN0YXJNYXAgPSBtYXAgJiYgbWFwWycqJ107CgogICAgICAgICAgICAvL0FkanVzdCBhbnkgcmVsYXRpdmUgcGF0aHMuCiAgICAgICAgICAgIGlmIChuYW1lKSB7CiAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5zcGxpdCgnLycpOwogICAgICAgICAgICAgICAgbGFzdEluZGV4ID0gbmFtZS5sZW5ndGggLSAxOwoKICAgICAgICAgICAgICAgIC8vIElmIHdhbnRpbmcgbm9kZSBJRCBjb21wYXRpYmlsaXR5LCBzdHJpcCAuanMgZnJvbSBlbmQKICAgICAgICAgICAgICAgIC8vIG9mIElEcy4gSGF2ZSB0byBkbyB0aGlzIGhlcmUsIGFuZCBub3QgaW4gbmFtZVRvVXJsCiAgICAgICAgICAgICAgICAvLyBiZWNhdXNlIG5vZGUgYWxsb3dzIGVpdGhlciAuanMgb3Igbm9uIC5qcyB0byBtYXAKICAgICAgICAgICAgICAgIC8vIHRvIHNhbWUgZmlsZS4KICAgICAgICAgICAgICAgIGlmIChjb25maWcubm9kZUlkQ29tcGF0ICYmIGpzU3VmZml4UmVnRXhwLnRlc3QobmFtZVtsYXN0SW5kZXhdKSkgewogICAgICAgICAgICAgICAgICAgIG5hbWVbbGFzdEluZGV4XSA9IG5hbWVbbGFzdEluZGV4XS5yZXBsYWNlKGpzU3VmZml4UmVnRXhwLCAnJyk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gU3RhcnRzIHdpdGggYSAnLicgc28gbmVlZCB0aGUgYmFzZU5hbWUKICAgICAgICAgICAgICAgIGlmIChuYW1lWzBdLmNoYXJBdCgwKSA9PT0gJy4nICYmIGJhc2VQYXJ0cykgewogICAgICAgICAgICAgICAgICAgIC8vQ29udmVydCBiYXNlTmFtZSB0byBhcnJheSwgYW5kIGxvcCBvZmYgdGhlIGxhc3QgcGFydCwKICAgICAgICAgICAgICAgICAgICAvL3NvIHRoYXQgLiBtYXRjaGVzIHRoYXQgJ2RpcmVjdG9yeScgYW5kIG5vdCBuYW1lIG9mIHRoZSBiYXNlTmFtZSdzCiAgICAgICAgICAgICAgICAgICAgLy9tb2R1bGUuIEZvciBpbnN0YW5jZSwgYmFzZU5hbWUgb2YgJ29uZS90d28vdGhyZWUnLCBtYXBzIHRvCiAgICAgICAgICAgICAgICAgICAgLy8nb25lL3R3by90aHJlZS5qcycsIGJ1dCB3ZSB3YW50IHRoZSBkaXJlY3RvcnksICdvbmUvdHdvJyBmb3IKICAgICAgICAgICAgICAgICAgICAvL3RoaXMgbm9ybWFsaXphdGlvbi4KICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkQmFzZVBhcnRzID0gYmFzZVBhcnRzLnNsaWNlKDAsIGJhc2VQYXJ0cy5sZW5ndGggLSAxKTsKICAgICAgICAgICAgICAgICAgICBuYW1lID0gbm9ybWFsaXplZEJhc2VQYXJ0cy5jb25jYXQobmFtZSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdHJpbURvdHMobmFtZSk7CiAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5qb2luKCcvJyk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vQXBwbHkgbWFwIGNvbmZpZyBpZiBhdmFpbGFibGUuCiAgICAgICAgICAgIGlmIChhcHBseU1hcCAmJiBtYXAgJiYgKGJhc2VQYXJ0cyB8fCBzdGFyTWFwKSkgewogICAgICAgICAgICAgICAgbmFtZVBhcnRzID0gbmFtZS5zcGxpdCgnLycpOwoKICAgICAgICAgICAgICAgIG91dGVyTG9vcDogZm9yIChpID0gbmFtZVBhcnRzLmxlbmd0aDsgaSA+IDA7IGkgLT0gMSkgewogICAgICAgICAgICAgICAgICAgIG5hbWVTZWdtZW50ID0gbmFtZVBhcnRzLnNsaWNlKDAsIGkpLmpvaW4oJy8nKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGJhc2VQYXJ0cykgewogICAgICAgICAgICAgICAgICAgICAgICAvL0ZpbmQgdGhlIGxvbmdlc3QgYmFzZU5hbWUgc2VnbWVudCBtYXRjaCBpbiB0aGUgY29uZmlnLgogICAgICAgICAgICAgICAgICAgICAgICAvL1NvLCBkbyBqb2lucyBvbiB0aGUgYmlnZ2VzdCB0byBzbWFsbGVzdCBsZW5ndGhzIG9mIGJhc2VQYXJ0cy4KICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChqID0gYmFzZVBhcnRzLmxlbmd0aDsgaiA+IDA7IGogLT0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwVmFsdWUgPSBnZXRPd24obWFwLCBiYXNlUGFydHMuc2xpY2UoMCwgaikuam9pbignLycpKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2Jhc2VOYW1lIHNlZ21lbnQgaGFzIGNvbmZpZywgZmluZCBpZiBpdCBoYXMgb25lIGZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy90aGlzIG5hbWUuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWFwVmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBWYWx1ZSA9IGdldE93bihtYXBWYWx1ZSwgbmFtZVNlZ21lbnQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXBWYWx1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL01hdGNoLCB1cGRhdGUgbmFtZSB0byB0aGUgbmV3IHZhbHVlLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZE1hcCA9IG1hcFZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3VuZEkgPSBpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhayBvdXRlckxvb3A7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAvL0NoZWNrIGZvciBhIHN0YXIgbWFwIG1hdGNoLCBidXQganVzdCBob2xkIG9uIHRvIGl0LAogICAgICAgICAgICAgICAgICAgIC8vaWYgdGhlcmUgaXMgYSBzaG9ydGVyIHNlZ21lbnQgbWF0Y2ggbGF0ZXIgaW4gYSBtYXRjaGluZwogICAgICAgICAgICAgICAgICAgIC8vY29uZmlnLCB0aGVuIGZhdm9yIG92ZXIgdGhpcyBzdGFyIG1hcC4KICAgICAgICAgICAgICAgICAgICBpZiAoIWZvdW5kU3Rhck1hcCAmJiBzdGFyTWFwICYmIGdldE93bihzdGFyTWFwLCBuYW1lU2VnbWVudCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZm91bmRTdGFyTWFwID0gZ2V0T3duKHN0YXJNYXAsIG5hbWVTZWdtZW50KTsKICAgICAgICAgICAgICAgICAgICAgICAgc3RhckkgPSBpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIWZvdW5kTWFwICYmIGZvdW5kU3Rhck1hcCkgewogICAgICAgICAgICAgICAgICAgIGZvdW5kTWFwID0gZm91bmRTdGFyTWFwOwogICAgICAgICAgICAgICAgICAgIGZvdW5kSSA9IHN0YXJJOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChmb3VuZE1hcCkgewogICAgICAgICAgICAgICAgICAgIG5hbWVQYXJ0cy5zcGxpY2UoMCwgZm91bmRJLCBmb3VuZE1hcCk7CiAgICAgICAgICAgICAgICAgICAgbmFtZSA9IG5hbWVQYXJ0cy5qb2luKCcvJyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIElmIHRoZSBuYW1lIHBvaW50cyB0byBhIHBhY2thZ2UncyBuYW1lLCB1c2UKICAgICAgICAgICAgLy8gdGhlIHBhY2thZ2UgbWFpbiBpbnN0ZWFkLgogICAgICAgICAgICBwa2dNYWluID0gZ2V0T3duKGNvbmZpZy5wa2dzLCBuYW1lKTsKCiAgICAgICAgICAgIHJldHVybiBwa2dNYWluID8gcGtnTWFpbiA6IG5hbWU7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiByZW1vdmVTY3JpcHQobmFtZSkgewogICAgICAgICAgICBpZiAoaXNCcm93c2VyKSB7CiAgICAgICAgICAgICAgICBlYWNoKHNjcmlwdHMoKSwgZnVuY3Rpb24gKHNjcmlwdE5vZGUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoc2NyaXB0Tm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtcmVxdWlyZW1vZHVsZScpID09PSBuYW1lICYmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHROb2RlLmdldEF0dHJpYnV0ZSgnZGF0YS1yZXF1aXJlY29udGV4dCcpID09PSBjb250ZXh0LmNvbnRleHROYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdE5vZGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzY3JpcHROb2RlKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGhhc1BhdGhGYWxsYmFjayhpZCkgewogICAgICAgICAgICB2YXIgcGF0aENvbmZpZyA9IGdldE93bihjb25maWcucGF0aHMsIGlkKTsKICAgICAgICAgICAgaWYgKHBhdGhDb25maWcgJiYgaXNBcnJheShwYXRoQ29uZmlnKSAmJiBwYXRoQ29uZmlnLmxlbmd0aCA+IDEpIHsKICAgICAgICAgICAgICAgIC8vUG9wIG9mZiB0aGUgZmlyc3QgYXJyYXkgdmFsdWUsIHNpbmNlIGl0IGZhaWxlZCwgYW5kCiAgICAgICAgICAgICAgICAvL3JldHJ5CiAgICAgICAgICAgICAgICBwYXRoQ29uZmlnLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICBjb250ZXh0LnJlcXVpcmUudW5kZWYoaWQpOwoKICAgICAgICAgICAgICAgIC8vQ3VzdG9tIHJlcXVpcmUgdGhhdCBkb2VzIG5vdCBkbyBtYXAgdHJhbnNsYXRpb24sIHNpbmNlCiAgICAgICAgICAgICAgICAvL0lEIGlzICJhYnNvbHV0ZSIsIGFscmVhZHkgbWFwcGVkL3Jlc29sdmVkLgogICAgICAgICAgICAgICAgY29udGV4dC5tYWtlUmVxdWlyZShudWxsLCB7CiAgICAgICAgICAgICAgICAgICAgc2tpcE1hcDogdHJ1ZQogICAgICAgICAgICAgICAgfSkoW2lkXSk7CgogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC8vVHVybnMgYSBwbHVnaW4hcmVzb3VyY2UgdG8gW3BsdWdpbiwgcmVzb3VyY2VdCiAgICAgICAgLy93aXRoIHRoZSBwbHVnaW4gYmVpbmcgdW5kZWZpbmVkIGlmIHRoZSBuYW1lCiAgICAgICAgLy9kaWQgbm90IGhhdmUgYSBwbHVnaW4gcHJlZml4LgogICAgICAgIGZ1bmN0aW9uIHNwbGl0UHJlZml4KG5hbWUpIHsKICAgICAgICAgICAgdmFyIHByZWZpeCwKICAgICAgICAgICAgICAgIGluZGV4ID0gbmFtZSA/IG5hbWUuaW5kZXhPZignIScpIDogLTE7CiAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7CiAgICAgICAgICAgICAgICBwcmVmaXggPSBuYW1lLnN1YnN0cmluZygwLCBpbmRleCk7CiAgICAgICAgICAgICAgICBuYW1lID0gbmFtZS5zdWJzdHJpbmcoaW5kZXggKyAxLCBuYW1lLmxlbmd0aCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIFtwcmVmaXgsIG5hbWVdOwogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogQ3JlYXRlcyBhIG1vZHVsZSBtYXBwaW5nIHRoYXQgaW5jbHVkZXMgcGx1Z2luIHByZWZpeCwgbW9kdWxlCiAgICAgICAgICogbmFtZSwgYW5kIHBhdGguIElmIHBhcmVudE1vZHVsZU1hcCBpcyBwcm92aWRlZCBpdCB3aWxsCiAgICAgICAgICogYWxzbyBub3JtYWxpemUgdGhlIG5hbWUgdmlhIHJlcXVpcmUubm9ybWFsaXplKCkKICAgICAgICAgKgogICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIHRoZSBtb2R1bGUgbmFtZQogICAgICAgICAqIEBwYXJhbSB7U3RyaW5nfSBbcGFyZW50TW9kdWxlTWFwXSBwYXJlbnQgbW9kdWxlIG1hcAogICAgICAgICAqIGZvciB0aGUgbW9kdWxlIG5hbWUsIHVzZWQgdG8gcmVzb2x2ZSByZWxhdGl2ZSBuYW1lcy4KICAgICAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IGlzTm9ybWFsaXplZDogaXMgdGhlIElEIGFscmVhZHkgbm9ybWFsaXplZC4KICAgICAgICAgKiBUaGlzIGlzIHRydWUgaWYgdGhpcyBjYWxsIGlzIGRvbmUgZm9yIGEgZGVmaW5lKCkgbW9kdWxlIElELgogICAgICAgICAqIEBwYXJhbSB7Qm9vbGVhbn0gYXBwbHlNYXA6IGFwcGx5IHRoZSBtYXAgY29uZmlnIHRvIHRoZSBJRC4KICAgICAgICAgKiBTaG91bGQgb25seSBiZSB0cnVlIGlmIHRoaXMgbWFwIGlzIGZvciBhIGRlcGVuZGVuY3kuCiAgICAgICAgICoKICAgICAgICAgKiBAcmV0dXJucyB7T2JqZWN0fQogICAgICAgICAqLwogICAgICAgIGZ1bmN0aW9uIG1ha2VNb2R1bGVNYXAobmFtZSwgcGFyZW50TW9kdWxlTWFwLCBpc05vcm1hbGl6ZWQsIGFwcGx5TWFwKSB7CiAgICAgICAgICAgIHZhciB1cmwsIHBsdWdpbk1vZHVsZSwgc3VmZml4LCBuYW1lUGFydHMsCiAgICAgICAgICAgICAgICBwcmVmaXggPSBudWxsLAogICAgICAgICAgICAgICAgcGFyZW50TmFtZSA9IHBhcmVudE1vZHVsZU1hcCA/IHBhcmVudE1vZHVsZU1hcC5uYW1lIDogbnVsbCwKICAgICAgICAgICAgICAgIG9yaWdpbmFsTmFtZSA9IG5hbWUsCiAgICAgICAgICAgICAgICBpc0RlZmluZSA9IHRydWUsCiAgICAgICAgICAgICAgICBub3JtYWxpemVkTmFtZSA9ICcnOwoKICAgICAgICAgICAgLy9JZiBubyBuYW1lLCB0aGVuIGl0IG1lYW5zIGl0IGlzIGEgcmVxdWlyZSBjYWxsLCBnZW5lcmF0ZSBhbgogICAgICAgICAgICAvL2ludGVybmFsIG5hbWUuCiAgICAgICAgICAgIGlmICghbmFtZSkgewogICAgICAgICAgICAgICAgaXNEZWZpbmUgPSBmYWxzZTsKICAgICAgICAgICAgICAgIG5hbWUgPSAnX0ByJyArIChyZXF1aXJlQ291bnRlciArPSAxKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbmFtZVBhcnRzID0gc3BsaXRQcmVmaXgobmFtZSk7CiAgICAgICAgICAgIHByZWZpeCA9IG5hbWVQYXJ0c1swXTsKICAgICAgICAgICAgbmFtZSA9IG5hbWVQYXJ0c1sxXTsKCiAgICAgICAgICAgIGlmIChwcmVmaXgpIHsKICAgICAgICAgICAgICAgIHByZWZpeCA9IG5vcm1hbGl6ZShwcmVmaXgsIHBhcmVudE5hbWUsIGFwcGx5TWFwKTsKICAgICAgICAgICAgICAgIHBsdWdpbk1vZHVsZSA9IGdldE93bihkZWZpbmVkLCBwcmVmaXgpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvL0FjY291bnQgZm9yIHJlbGF0aXZlIHBhdGhzIGlmIHRoZXJlIGlzIGEgYmFzZSBuYW1lLgogICAgICAgICAgICBpZiAobmFtZSkgewogICAgICAgICAgICAgICAgaWYgKHByZWZpeCkgewogICAgICAgICAgICAgICAgICAgIGlmIChpc05vcm1hbGl6ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZE5hbWUgPSBuYW1lOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocGx1Z2luTW9kdWxlICYmIHBsdWdpbk1vZHVsZS5ub3JtYWxpemUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy9QbHVnaW4gaXMgbG9hZGVkLCB1c2UgaXRzIG5vcm1hbGl6ZSBtZXRob2QuCiAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWROYW1lID0gcGx1Z2luTW9kdWxlLm5vcm1hbGl6ZShuYW1lLCBmdW5jdGlvbiAobmFtZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZShuYW1lLCBwYXJlbnROYW1lLCBhcHBseU1hcCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIG5lc3RlZCBwbHVnaW4gcmVmZXJlbmNlcywgdGhlbiBkbyBub3QgdHJ5IHRvCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSwgYXMgaXQgd2lsbCBub3Qgbm9ybWFsaXplIGNvcnJlY3RseS4gVGhpcwogICAgICAgICAgICAgICAgICAgICAgICAvLyBwbGFjZXMgYSByZXN0cmljdGlvbiBvbiByZXNvdXJjZUlkcywgYW5kIHRoZSBsb25nZXIKICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGVybSBzb2x1dGlvbiBpcyBub3QgdG8gbm9ybWFsaXplIHVudGlsIHBsdWdpbnMgYXJlCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxvYWRlZCBhbmQgYWxsIG5vcm1hbGl6YXRpb25zIHRvIGFsbG93IGZvciBhc3luYwogICAgICAgICAgICAgICAgICAgICAgICAvLyBsb2FkaW5nIG9mIGEgbG9hZGVyIHBsdWdpbi4gQnV0IGZvciBub3csIGZpeGVzIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvLyBjb21tb24gdXNlcy4gRGV0YWlscyBpbiAjMTEzMQogICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkTmFtZSA9IG5hbWUuaW5kZXhPZignIScpID09PSAtMSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplKG5hbWUsIHBhcmVudE5hbWUsIGFwcGx5TWFwKSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vQSByZWd1bGFyIG1vZHVsZS4KICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZShuYW1lLCBwYXJlbnROYW1lLCBhcHBseU1hcCk7CgogICAgICAgICAgICAgICAgICAgIC8vTm9ybWFsaXplZCBuYW1lIG1heSBiZSBhIHBsdWdpbiBJRCBkdWUgdG8gbWFwIGNvbmZpZwogICAgICAgICAgICAgICAgICAgIC8vYXBwbGljYXRpb24gaW4gbm9ybWFsaXplLiBUaGUgbWFwIGNvbmZpZyB2YWx1ZXMgbXVzdAogICAgICAgICAgICAgICAgICAgIC8vYWxyZWFkeSBiZSBub3JtYWxpemVkLCBzbyBkbyBub3QgbmVlZCB0byByZWRvIHRoYXQgcGFydC4KICAgICAgICAgICAgICAgICAgICBuYW1lUGFydHMgPSBzcGxpdFByZWZpeChub3JtYWxpemVkTmFtZSk7CiAgICAgICAgICAgICAgICAgICAgcHJlZml4ID0gbmFtZVBhcnRzWzBdOwogICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWROYW1lID0gbmFtZVBhcnRzWzFdOwogICAgICAgICAgICAgICAgICAgIGlzTm9ybWFsaXplZCA9IHRydWU7CgogICAgICAgICAgICAgICAgICAgIHVybCA9IGNvbnRleHQubmFtZVRvVXJsKG5vcm1hbGl6ZWROYW1lKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy9JZiB0aGUgaWQgaXMgYSBwbHVnaW4gaWQgdGhhdCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCBpZiBpdCBuZWVkcwogICAgICAgICAgICAvL25vcm1hbGl6YXRpb24sIHN0YW1wIGl0IHdpdGggYSB1bmlxdWUgSUQgc28gdHdvIG1hdGNoaW5nIHJlbGF0aXZlCiAgICAgICAgICAgIC8vaWRzIHRoYXQgbWF5IGNvbmZsaWN0IGNhbiBiZSBzZXBhcmF0ZS4KICAgICAgICAgICAgc3VmZml4ID0gcHJlZml4ICYmICFwbHVnaW5Nb2R1bGUgJiYgIWlzTm9ybWFsaXplZCA/CiAgICAgICAgICAgICAgICAgICAgICdfdW5ub3JtYWxpemVkJyArICh1bm5vcm1hbGl6ZWRDb3VudGVyICs9IDEpIDoKICAgICAgICAgICAgICAgICAgICAgJyc7CgogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgcHJlZml4OiBwcmVmaXgsCiAgICAgICAgICAgICAgICBuYW1lOiBub3JtYWxpemVkTmFtZSwKICAgICAgICAgICAgICAgIHBhcmVudE1hcDogcGFyZW50TW9kdWxlTWFwLAogICAgICAgICAgICAgICAgdW5ub3JtYWxpemVkOiAhIXN1ZmZpeCwKICAgICAgICAgICAgICAgIHVybDogdXJsLAogICAgICAgICAgICAgICAgb3JpZ2luYWxOYW1lOiBvcmlnaW5hbE5hbWUsCiAgICAgICAgICAgICAgICBpc0RlZmluZTogaXNEZWZpbmUsCiAgICAgICAgICAgICAgICBpZDogKHByZWZpeCA/CiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCArICchJyArIG5vcm1hbGl6ZWROYW1lIDoKICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplZE5hbWUpICsgc3VmZml4CiAgICAgICAgICAgIH07CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBnZXRNb2R1bGUoZGVwTWFwKSB7CiAgICAgICAgICAgIHZhciBpZCA9IGRlcE1hcC5pZCwKICAgICAgICAgICAgICAgIG1vZCA9IGdldE93bihyZWdpc3RyeSwgaWQpOwoKICAgICAgICAgICAgaWYgKCFtb2QpIHsKICAgICAgICAgICAgICAgIG1vZCA9IHJlZ2lzdHJ5W2lkXSA9IG5ldyBjb250ZXh0Lk1vZHVsZShkZXBNYXApOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gbW9kOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gb24oZGVwTWFwLCBuYW1lLCBmbikgewogICAgICAgICAgICB2YXIgaWQgPSBkZXBNYXAuaWQsCiAgICAgICAgICAgICAgICBtb2QgPSBnZXRPd24ocmVnaXN0cnksIGlkKTsKCiAgICAgICAgICAgIGlmIChoYXNQcm9wKGRlZmluZWQsIGlkKSAmJgogICAgICAgICAgICAgICAgICAgICghbW9kIHx8IG1vZC5kZWZpbmVFbWl0Q29tcGxldGUpKSB7CiAgICAgICAgICAgICAgICBpZiAobmFtZSA9PT0gJ2RlZmluZWQnKSB7CiAgICAgICAgICAgICAgICAgICAgZm4oZGVmaW5lZFtpZF0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbW9kID0gZ2V0TW9kdWxlKGRlcE1hcCk7CiAgICAgICAgICAgICAgICBpZiAobW9kLmVycm9yICYmIG5hbWUgPT09ICdlcnJvcicpIHsKICAgICAgICAgICAgICAgICAgICBmbihtb2QuZXJyb3IpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBtb2Qub24obmFtZSwgZm4pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBvbkVycm9yKGVyciwgZXJyYmFjaykgewogICAgICAgICAgICB2YXIgaWRzID0gZXJyLnJlcXVpcmVNb2R1bGVzLAogICAgICAgICAgICAgICAgbm90aWZpZWQgPSBmYWxzZTsKCiAgICAgICAgICAgIGlmIChlcnJiYWNrKSB7CiAgICAgICAgICAgICAgICBlcnJiYWNrKGVycik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBlYWNoKGlkcywgZnVuY3Rpb24gKGlkKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG1vZCA9IGdldE93bihyZWdpc3RyeSwgaWQpOwogICAgICAgICAgICAgICAgICAgIGlmIChtb2QpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy9TZXQgZXJyb3Igb24gbW9kdWxlLCBzbyBpdCBza2lwcyB0aW1lb3V0IGNoZWNrcy4KICAgICAgICAgICAgICAgICAgICAgICAgbW9kLmVycm9yID0gZXJyOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kLmV2ZW50cy5lcnJvcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kLmVtaXQoJ2Vycm9yJywgZXJyKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIGlmICghbm90aWZpZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXEub25FcnJvcihlcnIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvKioKICAgICAgICAgKiBJbnRlcm5hbCBtZXRob2QgdG8gdHJhbnNmZXIgZ2xvYmFsUXVldWUgaXRlbXMgdG8gdGhpcyBjb250ZXh0J3MKICAgICAgICAgKiBkZWZRdWV1ZS4KICAgICAgICAgKi8KICAgICAgICBmdW5jdGlvbiB0YWtlR2xvYmFsUXVldWUoKSB7CiAgICAgICAgICAgIC8vUHVzaCBhbGwgdGhlIGdsb2JhbERlZlF1ZXVlIGl0ZW1zIGludG8gdGhlIGNvbnRleHQncyBkZWZRdWV1ZQogICAgICAgICAgICBpZiAoZ2xvYmFsRGVmUXVldWUubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICBlYWNoKGdsb2JhbERlZlF1ZXVlLCBmdW5jdGlvbihxdWV1ZUl0ZW0pIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaWQgPSBxdWV1ZUl0ZW1bMF07CiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBpZCA9PT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5kZWZRdWV1ZU1hcFtpZF0gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBkZWZRdWV1ZS5wdXNoKHF1ZXVlSXRlbSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGdsb2JhbERlZlF1ZXVlID0gW107CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGhhbmRsZXJzID0gewogICAgICAgICAgICAncmVxdWlyZSc6IGZ1bmN0aW9uIChtb2QpIHsKICAgICAgICAgICAgICAgIGlmIChtb2QucmVxdWlyZSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBtb2QucmVxdWlyZTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChtb2QucmVxdWlyZSA9IGNvbnRleHQubWFrZVJlcXVpcmUobW9kLm1hcCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAnZXhwb3J0cyc6IGZ1bmN0aW9uIChtb2QpIHsKICAgICAgICAgICAgICAgIG1vZC51c2luZ0V4cG9ydHMgPSB0cnVlOwogICAgICAgICAgICAgICAgaWYgKG1vZC5tYXAuaXNEZWZpbmUpIHsKICAgICAgICAgICAgICAgICAgICBpZiAobW9kLmV4cG9ydHMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChkZWZpbmVkW21vZC5tYXAuaWRdID0gbW9kLmV4cG9ydHMpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAobW9kLmV4cG9ydHMgPSBkZWZpbmVkW21vZC5tYXAuaWRdID0ge30pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgJ21vZHVsZSc6IGZ1bmN0aW9uIChtb2QpIHsKICAgICAgICAgICAgICAgIGlmIChtb2QubW9kdWxlKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1vZC5tb2R1bGU7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAobW9kLm1vZHVsZSA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IG1vZC5tYXAuaWQsCiAgICAgICAgICAgICAgICAgICAgICAgIHVyaTogbW9kLm1hcC51cmwsCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZzogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldE93bihjb25maWcuY29uZmlnLCBtb2QubWFwLmlkKSB8fCB7fTsKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0czogbW9kLmV4cG9ydHMgfHwgKG1vZC5leHBvcnRzID0ge30pCiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBmdW5jdGlvbiBjbGVhblJlZ2lzdHJ5KGlkKSB7CiAgICAgICAgICAgIC8vQ2xlYW4gdXAgbWFjaGluZXJ5IHVzZWQgZm9yIHdhaXRpbmcgbW9kdWxlcy4KICAgICAgICAgICAgZGVsZXRlIHJlZ2lzdHJ5W2lkXTsKICAgICAgICAgICAgZGVsZXRlIGVuYWJsZWRSZWdpc3RyeVtpZF07CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBicmVha0N5Y2xlKG1vZCwgdHJhY2VkLCBwcm9jZXNzZWQpIHsKICAgICAgICAgICAgdmFyIGlkID0gbW9kLm1hcC5pZDsKCiAgICAgICAgICAgIGlmIChtb2QuZXJyb3IpIHsKICAgICAgICAgICAgICAgIG1vZC5lbWl0KCdlcnJvcicsIG1vZC5lcnJvcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0cmFjZWRbaWRdID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGVhY2gobW9kLmRlcE1hcHMsIGZ1bmN0aW9uIChkZXBNYXAsIGkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZGVwSWQgPSBkZXBNYXAuaWQsCiAgICAgICAgICAgICAgICAgICAgICAgIGRlcCA9IGdldE93bihyZWdpc3RyeSwgZGVwSWQpOwoKICAgICAgICAgICAgICAgICAgICAvL09ubHkgZm9yY2UgdGhpbmdzIHRoYXQgaGF2ZSBub3QgY29tcGxldGVkCiAgICAgICAgICAgICAgICAgICAgLy9iZWluZyBkZWZpbmVkLCBzbyBzdGlsbCBpbiB0aGUgcmVnaXN0cnksCiAgICAgICAgICAgICAgICAgICAgLy9hbmQgb25seSBpZiBpdCBoYXMgbm90IGJlZW4gbWF0Y2hlZCB1cAogICAgICAgICAgICAgICAgICAgIC8vaW4gdGhlIG1vZHVsZSBhbHJlYWR5LgogICAgICAgICAgICAgICAgICAgIGlmIChkZXAgJiYgIW1vZC5kZXBNYXRjaGVkW2ldICYmICFwcm9jZXNzZWRbZGVwSWRdKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRPd24odHJhY2VkLCBkZXBJZCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZC5kZWZpbmVEZXAoaSwgZGVmaW5lZFtkZXBJZF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kLmNoZWNrKCk7IC8vcGFzcyBmYWxzZT8KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrQ3ljbGUoZGVwLCB0cmFjZWQsIHByb2Nlc3NlZCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHByb2Nlc3NlZFtpZF0gPSB0cnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjaGVja0xvYWRlZCgpIHsKICAgICAgICAgICAgdmFyIGVyciwgdXNpbmdQYXRoRmFsbGJhY2ssCiAgICAgICAgICAgICAgICB3YWl0SW50ZXJ2YWwgPSBjb25maWcud2FpdFNlY29uZHMgKiAxMDAwLAogICAgICAgICAgICAgICAgLy9JdCBpcyBwb3NzaWJsZSB0byBkaXNhYmxlIHRoZSB3YWl0IGludGVydmFsIGJ5IHVzaW5nIHdhaXRTZWNvbmRzIG9mIDAuCiAgICAgICAgICAgICAgICBleHBpcmVkID0gd2FpdEludGVydmFsICYmIChjb250ZXh0LnN0YXJ0VGltZSArIHdhaXRJbnRlcnZhbCkgPCBuZXcgRGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAgICAgICAgIG5vTG9hZHMgPSBbXSwKICAgICAgICAgICAgICAgIHJlcUNhbGxzID0gW10sCiAgICAgICAgICAgICAgICBzdGlsbExvYWRpbmcgPSBmYWxzZSwKICAgICAgICAgICAgICAgIG5lZWRDeWNsZUNoZWNrID0gdHJ1ZTsKCiAgICAgICAgICAgIC8vRG8gbm90IGJvdGhlciBpZiB0aGlzIGNhbGwgd2FzIGEgcmVzdWx0IG9mIGEgY3ljbGUgYnJlYWsuCiAgICAgICAgICAgIGlmIChpbkNoZWNrTG9hZGVkKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGluQ2hlY2tMb2FkZWQgPSB0cnVlOwoKICAgICAgICAgICAgLy9GaWd1cmUgb3V0IHRoZSBzdGF0ZSBvZiBhbGwgdGhlIG1vZHVsZXMuCiAgICAgICAgICAgIGVhY2hQcm9wKGVuYWJsZWRSZWdpc3RyeSwgZnVuY3Rpb24gKG1vZCkgewogICAgICAgICAgICAgICAgdmFyIG1hcCA9IG1vZC5tYXAsCiAgICAgICAgICAgICAgICAgICAgbW9kSWQgPSBtYXAuaWQ7CgogICAgICAgICAgICAgICAgLy9Ta2lwIHRoaW5ncyB0aGF0IGFyZSBub3QgZW5hYmxlZCBvciBpbiBlcnJvciBzdGF0ZS4KICAgICAgICAgICAgICAgIGlmICghbW9kLmVuYWJsZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCFtYXAuaXNEZWZpbmUpIHsKICAgICAgICAgICAgICAgICAgICByZXFDYWxscy5wdXNoKG1vZCk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCFtb2QuZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICAvL0lmIHRoZSBtb2R1bGUgc2hvdWxkIGJlIGV4ZWN1dGVkLCBhbmQgaXQgaGFzIG5vdAogICAgICAgICAgICAgICAgICAgIC8vYmVlbiBpbml0ZWQgYW5kIHRpbWUgaXMgdXAsIHJlbWVtYmVyIGl0LgogICAgICAgICAgICAgICAgICAgIGlmICghbW9kLmluaXRlZCAmJiBleHBpcmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNQYXRoRmFsbGJhY2sobW9kSWQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2luZ1BhdGhGYWxsYmFjayA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGlsbExvYWRpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9Mb2Fkcy5wdXNoKG1vZElkKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZVNjcmlwdChtb2RJZCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFtb2QuaW5pdGVkICYmIG1vZC5mZXRjaGVkICYmIG1hcC5pc0RlZmluZSkgewogICAgICAgICAgICAgICAgICAgICAgICBzdGlsbExvYWRpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1hcC5wcmVmaXgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vTm8gcmVhc29uIHRvIGtlZXAgbG9va2luZyBmb3IgdW5maW5pc2hlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9sb2FkaW5nLiBJZiB0aGUgb25seSBzdGlsbExvYWRpbmcgaXMgYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9wbHVnaW4gcmVzb3VyY2UgdGhvdWdoLCBrZWVwIGdvaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9iZWNhdXNlIGl0IG1heSBiZSB0aGF0IGEgcGx1Z2luIHJlc291cmNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2lzIHdhaXRpbmcgb24gYSBub24tcGx1Z2luIGN5Y2xlLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChuZWVkQ3ljbGVDaGVjayA9IGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBpZiAoZXhwaXJlZCAmJiBub0xvYWRzLmxlbmd0aCkgewogICAgICAgICAgICAgICAgLy9JZiB3YWl0IHRpbWUgZXhwaXJlZCwgdGhyb3cgZXJyb3Igb2YgdW5sb2FkZWQgbW9kdWxlcy4KICAgICAgICAgICAgICAgIGVyciA9IG1ha2VFcnJvcigndGltZW91dCcsICdMb2FkIHRpbWVvdXQgZm9yIG1vZHVsZXM6ICcgKyBub0xvYWRzLCBudWxsLCBub0xvYWRzKTsKICAgICAgICAgICAgICAgIGVyci5jb250ZXh0TmFtZSA9IGNvbnRleHQuY29udGV4dE5hbWU7CiAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihlcnIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvL05vdCBleHBpcmVkLCBjaGVjayBmb3IgYSBjeWNsZS4KICAgICAgICAgICAgaWYgKG5lZWRDeWNsZUNoZWNrKSB7CiAgICAgICAgICAgICAgICBlYWNoKHJlcUNhbGxzLCBmdW5jdGlvbiAobW9kKSB7CiAgICAgICAgICAgICAgICAgICAgYnJlYWtDeWNsZShtb2QsIHt9LCB7fSk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy9JZiBzdGlsbCB3YWl0aW5nIG9uIGxvYWRzLCBhbmQgdGhlIHdhaXRpbmcgbG9hZCBpcyBzb21ldGhpbmcKICAgICAgICAgICAgLy9vdGhlciB0aGFuIGEgcGx1Z2luIHJlc291cmNlLCBvciB0aGVyZSBhcmUgc3RpbGwgb3V0c3RhbmRpbmcKICAgICAgICAgICAgLy9zY3JpcHRzLCB0aGVuIGp1c3QgdHJ5IGJhY2sgbGF0ZXIuCiAgICAgICAgICAgIGlmICgoIWV4cGlyZWQgfHwgdXNpbmdQYXRoRmFsbGJhY2spICYmIHN0aWxsTG9hZGluZykgewogICAgICAgICAgICAgICAgLy9Tb21ldGhpbmcgaXMgc3RpbGwgd2FpdGluZyB0byBsb2FkLiBXYWl0IGZvciBpdCwgYnV0IG9ubHkKICAgICAgICAgICAgICAgIC8vaWYgYSB0aW1lb3V0IGlzIG5vdCBhbHJlYWR5IGluIGVmZmVjdC4KICAgICAgICAgICAgICAgIGlmICgoaXNCcm93c2VyIHx8IGlzV2ViV29ya2VyKSAmJiAhY2hlY2tMb2FkZWRUaW1lb3V0SWQpIHsKICAgICAgICAgICAgICAgICAgICBjaGVja0xvYWRlZFRpbWVvdXRJZCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICBjaGVja0xvYWRlZFRpbWVvdXRJZCA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrTG9hZGVkKCk7CiAgICAgICAgICAgICAgICAgICAgfSwgNTApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBpbkNoZWNrTG9hZGVkID0gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBNb2R1bGUgPSBmdW5jdGlvbiAobWFwKSB7CiAgICAgICAgICAgIHRoaXMuZXZlbnRzID0gZ2V0T3duKHVuZGVmRXZlbnRzLCBtYXAuaWQpIHx8IHt9OwogICAgICAgICAgICB0aGlzLm1hcCA9IG1hcDsKICAgICAgICAgICAgdGhpcy5zaGltID0gZ2V0T3duKGNvbmZpZy5zaGltLCBtYXAuaWQpOwogICAgICAgICAgICB0aGlzLmRlcEV4cG9ydHMgPSBbXTsKICAgICAgICAgICAgdGhpcy5kZXBNYXBzID0gW107CiAgICAgICAgICAgIHRoaXMuZGVwTWF0Y2hlZCA9IFtdOwogICAgICAgICAgICB0aGlzLnBsdWdpbk1hcHMgPSB7fTsKICAgICAgICAgICAgdGhpcy5kZXBDb3VudCA9IDA7CgogICAgICAgICAgICAvKiB0aGlzLmV4cG9ydHMgdGhpcy5mYWN0b3J5CiAgICAgICAgICAgICAgIHRoaXMuZGVwTWFwcyA9IFtdLAogICAgICAgICAgICAgICB0aGlzLmVuYWJsZWQsIHRoaXMuZmV0Y2hlZAogICAgICAgICAgICAqLwogICAgICAgIH07CgogICAgICAgIE1vZHVsZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgIGluaXQ6IGZ1bmN0aW9uIChkZXBNYXBzLCBmYWN0b3J5LCBlcnJiYWNrLCBvcHRpb25zKSB7CiAgICAgICAgICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsKCiAgICAgICAgICAgICAgICAvL0RvIG5vdCBkbyBtb3JlIGluaXRzIGlmIGFscmVhZHkgZG9uZS4gQ2FuIGhhcHBlbiBpZiB0aGVyZQogICAgICAgICAgICAgICAgLy9hcmUgbXVsdGlwbGUgZGVmaW5lIGNhbGxzIGZvciB0aGUgc2FtZSBtb2R1bGUuIFRoYXQgaXMgbm90CiAgICAgICAgICAgICAgICAvL2Egbm9ybWFsLCBjb21tb24gY2FzZSwgYnV0IGl0IGlzIGFsc28gbm90IHVuZXhwZWN0ZWQuCiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbml0ZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdGhpcy5mYWN0b3J5ID0gZmFjdG9yeTsKCiAgICAgICAgICAgICAgICBpZiAoZXJyYmFjaykgewogICAgICAgICAgICAgICAgICAgIC8vUmVnaXN0ZXIgZm9yIGVycm9ycyBvbiB0aGlzIG1vZHVsZS4KICAgICAgICAgICAgICAgICAgICB0aGlzLm9uKCdlcnJvcicsIGVycmJhY2spOwogICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmV2ZW50cy5lcnJvcikgewogICAgICAgICAgICAgICAgICAgIC8vSWYgbm8gZXJyYmFjayBhbHJlYWR5LCBidXQgdGhlcmUgYXJlIGVycm9yIGxpc3RlbmVycwogICAgICAgICAgICAgICAgICAgIC8vb24gdGhpcyBtb2R1bGUsIHNldCB1cCBhbiBlcnJiYWNrIHRvIHBhc3MgdG8gdGhlIGRlcHMuCiAgICAgICAgICAgICAgICAgICAgZXJyYmFjayA9IGJpbmQodGhpcywgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ2Vycm9yJywgZXJyKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvL0RvIGEgY29weSBvZiB0aGUgZGVwZW5kZW5jeSBhcnJheSwgc28gdGhhdAogICAgICAgICAgICAgICAgLy9zb3VyY2UgaW5wdXRzIGFyZSBub3QgbW9kaWZpZWQuIEZvciBleGFtcGxlCiAgICAgICAgICAgICAgICAvLyJzaGltIiBkZXBzIGFyZSBwYXNzZWQgaW4gaGVyZSBkaXJlY3RseSwgYW5kCiAgICAgICAgICAgICAgICAvL2RvaW5nIGEgZGlyZWN0IG1vZGlmaWNhdGlvbiBvZiB0aGUgZGVwTWFwcyBhcnJheQogICAgICAgICAgICAgICAgLy93b3VsZCBhZmZlY3QgdGhhdCBjb25maWcuCiAgICAgICAgICAgICAgICB0aGlzLmRlcE1hcHMgPSBkZXBNYXBzICYmIGRlcE1hcHMuc2xpY2UoMCk7CgogICAgICAgICAgICAgICAgdGhpcy5lcnJiYWNrID0gZXJyYmFjazsKCiAgICAgICAgICAgICAgICAvL0luZGljYXRlIHRoaXMgbW9kdWxlIGhhcyBiZSBpbml0aWFsaXplZAogICAgICAgICAgICAgICAgdGhpcy5pbml0ZWQgPSB0cnVlOwoKICAgICAgICAgICAgICAgIHRoaXMuaWdub3JlID0gb3B0aW9ucy5pZ25vcmU7CgogICAgICAgICAgICAgICAgLy9Db3VsZCBoYXZlIG9wdGlvbiB0byBpbml0IHRoaXMgbW9kdWxlIGluIGVuYWJsZWQgbW9kZSwKICAgICAgICAgICAgICAgIC8vb3IgY291bGQgaGF2ZSBiZWVuIHByZXZpb3VzbHkgbWFya2VkIGFzIGVuYWJsZWQuIEhvd2V2ZXIsCiAgICAgICAgICAgICAgICAvL3RoZSBkZXBlbmRlbmNpZXMgYXJlIG5vdCBrbm93biB1bnRpbCBpbml0IGlzIGNhbGxlZC4gU28KICAgICAgICAgICAgICAgIC8vaWYgZW5hYmxlZCBwcmV2aW91c2x5LCBub3cgdHJpZ2dlciBkZXBlbmRlbmNpZXMgYXMgZW5hYmxlZC4KICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmVuYWJsZWQgfHwgdGhpcy5lbmFibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgLy9FbmFibGUgdGhpcyBtb2R1bGUgYW5kIGRlcGVuZGVuY2llcy4KICAgICAgICAgICAgICAgICAgICAvL1dpbGwgY2FsbCB0aGlzLmNoZWNrKCkKICAgICAgICAgICAgICAgICAgICB0aGlzLmVuYWJsZSgpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBkZWZpbmVEZXA6IGZ1bmN0aW9uIChpLCBkZXBFeHBvcnRzKSB7CiAgICAgICAgICAgICAgICAvL0JlY2F1c2Ugb2YgY3ljbGVzLCBkZWZpbmVkIGNhbGxiYWNrIGZvciBhIGdpdmVuCiAgICAgICAgICAgICAgICAvL2V4cG9ydCBjYW4gYmUgY2FsbGVkIG1vcmUgdGhhbiBvbmNlLgogICAgICAgICAgICAgICAgaWYgKCF0aGlzLmRlcE1hdGNoZWRbaV0pIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcE1hdGNoZWRbaV0gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIHRoaXMuZGVwQ291bnQgLT0gMTsKICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcEV4cG9ydHNbaV0gPSBkZXBFeHBvcnRzOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAoKICAgICAgICAgICAgZmV0Y2g6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLmZldGNoZWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB0aGlzLmZldGNoZWQgPSB0cnVlOwoKICAgICAgICAgICAgICAgIGNvbnRleHQuc3RhcnRUaW1lID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTsKCiAgICAgICAgICAgICAgICB2YXIgbWFwID0gdGhpcy5tYXA7CgogICAgICAgICAgICAgICAgLy9JZiB0aGUgbWFuYWdlciBpcyBmb3IgYSBwbHVnaW4gbWFuYWdlZCByZXNvdXJjZSwKICAgICAgICAgICAgICAgIC8vYXNrIHRoZSBwbHVnaW4gdG8gbG9hZCBpdCBub3cuCiAgICAgICAgICAgICAgICBpZiAodGhpcy5zaGltKSB7CiAgICAgICAgICAgICAgICAgICAgY29udGV4dC5tYWtlUmVxdWlyZSh0aGlzLm1hcCwgewogICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVCdWlsZENhbGxiYWNrOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgfSkodGhpcy5zaGltLmRlcHMgfHwgW10sIGJpbmQodGhpcywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFwLnByZWZpeCA/IHRoaXMuY2FsbFBsdWdpbigpIDogdGhpcy5sb2FkKCk7CiAgICAgICAgICAgICAgICAgICAgfSkpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvL1JlZ3VsYXIgZGVwZW5kZW5jeS4KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFwLnByZWZpeCA/IHRoaXMuY2FsbFBsdWdpbigpIDogdGhpcy5sb2FkKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICB2YXIgdXJsID0gdGhpcy5tYXAudXJsOwoKICAgICAgICAgICAgICAgIC8vUmVndWxhciBkZXBlbmRlbmN5LgogICAgICAgICAgICAgICAgaWYgKCF1cmxGZXRjaGVkW3VybF0pIHsKICAgICAgICAgICAgICAgICAgICB1cmxGZXRjaGVkW3VybF0gPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIGNvbnRleHQubG9hZCh0aGlzLm1hcC5pZCwgdXJsKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDaGVja3MgaWYgdGhlIG1vZHVsZSBpcyByZWFkeSB0byBkZWZpbmUgaXRzZWxmLCBhbmQgaWYgc28sCiAgICAgICAgICAgICAqIGRlZmluZSBpdC4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGNoZWNrOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZW5hYmxlZCB8fCB0aGlzLmVuYWJsaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBlcnIsIGNqc01vZHVsZSwKICAgICAgICAgICAgICAgICAgICBpZCA9IHRoaXMubWFwLmlkLAogICAgICAgICAgICAgICAgICAgIGRlcEV4cG9ydHMgPSB0aGlzLmRlcEV4cG9ydHMsCiAgICAgICAgICAgICAgICAgICAgZXhwb3J0cyA9IHRoaXMuZXhwb3J0cywKICAgICAgICAgICAgICAgICAgICBmYWN0b3J5ID0gdGhpcy5mYWN0b3J5OwoKICAgICAgICAgICAgICAgIGlmICghdGhpcy5pbml0ZWQpIHsKICAgICAgICAgICAgICAgICAgICAvLyBPbmx5IGZldGNoIGlmIG5vdCBhbHJlYWR5IGluIHRoZSBkZWZRdWV1ZS4KICAgICAgICAgICAgICAgICAgICBpZiAoIWhhc1Byb3AoY29udGV4dC5kZWZRdWV1ZU1hcCwgaWQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmV0Y2goKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ2Vycm9yJywgdGhpcy5lcnJvcik7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmRlZmluaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgLy9UaGUgZmFjdG9yeSBjb3VsZCB0cmlnZ2VyIGFub3RoZXIgcmVxdWlyZSBjYWxsCiAgICAgICAgICAgICAgICAgICAgLy90aGF0IHdvdWxkIHJlc3VsdCBpbiBjaGVja2luZyB0aGlzIG1vZHVsZSB0bwogICAgICAgICAgICAgICAgICAgIC8vZGVmaW5lIGl0c2VsZiBhZ2Fpbi4gSWYgYWxyZWFkeSBpbiB0aGUgcHJvY2VzcwogICAgICAgICAgICAgICAgICAgIC8vb2YgZG9pbmcgdGhhdCwgc2tpcCB0aGlzIHdvcmsuCiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWZpbmluZyA9IHRydWU7CgogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlcENvdW50IDwgMSAmJiAhdGhpcy5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKGZhY3RvcnkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0lmIHRoZXJlIGlzIGFuIGVycm9yIGxpc3RlbmVyLCBmYXZvciBwYXNzaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3RvIHRoYXQgaW5zdGVhZCBvZiB0aHJvd2luZyBhbiBlcnJvci4gSG93ZXZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vb25seSBkbyBpdCBmb3IgZGVmaW5lKCknZCAgbW9kdWxlcy4gcmVxdWlyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9lcnJiYWNrcyBzaG91bGQgbm90IGJlIGNhbGxlZCBmb3IgZmFpbHVyZXMgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vdGhlaXIgY2FsbGJhY2tzICgjNjk5KS4gSG93ZXZlciBpZiBhIGdsb2JhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9vbkVycm9yIGlzIHNldCwgdXNlIHRoYXQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHRoaXMuZXZlbnRzLmVycm9yICYmIHRoaXMubWFwLmlzRGVmaW5lKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcS5vbkVycm9yICE9PSBkZWZhdWx0T25FcnJvcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9ydHMgPSBjb250ZXh0LmV4ZWNDYihpZCwgZmFjdG9yeSwgZGVwRXhwb3J0cywgZXhwb3J0cyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnIgPSBlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0cyA9IGNvbnRleHQuZXhlY0NiKGlkLCBmYWN0b3J5LCBkZXBFeHBvcnRzLCBleHBvcnRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGYXZvciByZXR1cm4gdmFsdWUgb3ZlciBleHBvcnRzLiBJZiBub2RlL2NqcyBpbiBwbGF5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlbiB3aWxsIG5vdCBoYXZlIGEgcmV0dXJuIHZhbHVlIGFueXdheS4gRmF2b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1vZHVsZS5leHBvcnRzIGFzc2lnbm1lbnQgb3ZlciBleHBvcnRzIG9iamVjdC4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1hcC5pc0RlZmluZSAmJiBleHBvcnRzID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjanNNb2R1bGUgPSB0aGlzLm1vZHVsZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2pzTW9kdWxlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9ydHMgPSBjanNNb2R1bGUuZXhwb3J0czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudXNpbmdFeHBvcnRzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vZXhwb3J0cyBhbHJlYWR5IHNldCB0aGUgZGVmaW5lZCB2YWx1ZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0cyA9IHRoaXMuZXhwb3J0czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyci5yZXF1aXJlTWFwID0gdGhpcy5tYXA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyLnJlcXVpcmVNb2R1bGVzID0gdGhpcy5tYXAuaXNEZWZpbmUgPyBbdGhpcy5tYXAuaWRdIDogbnVsbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnIucmVxdWlyZVR5cGUgPSB0aGlzLm1hcC5pc0RlZmluZSA/ICdkZWZpbmUnIDogJ3JlcXVpcmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvbkVycm9yKCh0aGlzLmVycm9yID0gZXJyKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9KdXN0IGEgbGl0ZXJhbCB2YWx1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwb3J0cyA9IGZhY3Rvcnk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwb3J0cyA9IGV4cG9ydHM7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXAuaXNEZWZpbmUgJiYgIXRoaXMuaWdub3JlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVkW2lkXSA9IGV4cG9ydHM7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcS5vblJlc291cmNlTG9hZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXNMb2FkTWFwcyA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhY2godGhpcy5kZXBNYXBzLCBmdW5jdGlvbiAoZGVwTWFwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc0xvYWRNYXBzLnB1c2goZGVwTWFwLm5vcm1hbGl6ZWRNYXAgfHwgZGVwTWFwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEub25SZXNvdXJjZUxvYWQoY29udGV4dCwgdGhpcy5tYXAsIHJlc0xvYWRNYXBzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgLy9DbGVhbiB1cAogICAgICAgICAgICAgICAgICAgICAgICBjbGVhblJlZ2lzdHJ5KGlkKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAvL0ZpbmlzaGVkIHRoZSBkZWZpbmUgc3RhZ2UuIEFsbG93IGNhbGxpbmcgY2hlY2sgYWdhaW4KICAgICAgICAgICAgICAgICAgICAvL3RvIGFsbG93IGRlZmluZSBub3RpZmljYXRpb25zIGJlbG93IGluIHRoZSBjYXNlIG9mIGEKICAgICAgICAgICAgICAgICAgICAvL2N5Y2xlLgogICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5pbmcgPSBmYWxzZTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmaW5lZCAmJiAhdGhpcy5kZWZpbmVFbWl0dGVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lRW1pdHRlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdCgnZGVmaW5lZCcsIHRoaXMuZXhwb3J0cyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lRW1pdENvbXBsZXRlID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAoKICAgICAgICAgICAgY2FsbFBsdWdpbjogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgdmFyIG1hcCA9IHRoaXMubWFwLAogICAgICAgICAgICAgICAgICAgIGlkID0gbWFwLmlkLAogICAgICAgICAgICAgICAgICAgIC8vTWFwIGFscmVhZHkgbm9ybWFsaXplZCB0aGUgcHJlZml4LgogICAgICAgICAgICAgICAgICAgIHBsdWdpbk1hcCA9IG1ha2VNb2R1bGVNYXAobWFwLnByZWZpeCk7CgogICAgICAgICAgICAgICAgLy9NYXJrIHRoaXMgYXMgYSBkZXBlbmRlbmN5IGZvciB0aGlzIHBsdWdpbiwgc28gaXQKICAgICAgICAgICAgICAgIC8vY2FuIGJlIHRyYWNlZCBmb3IgY3ljbGVzLgogICAgICAgICAgICAgICAgdGhpcy5kZXBNYXBzLnB1c2gocGx1Z2luTWFwKTsKCiAgICAgICAgICAgICAgICBvbihwbHVnaW5NYXAsICdkZWZpbmVkJywgYmluZCh0aGlzLCBmdW5jdGlvbiAocGx1Z2luKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGxvYWQsIG5vcm1hbGl6ZWRNYXAsIG5vcm1hbGl6ZWRNb2QsCiAgICAgICAgICAgICAgICAgICAgICAgIGJ1bmRsZUlkID0gZ2V0T3duKGJ1bmRsZXNNYXAsIHRoaXMubWFwLmlkKSwKICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHRoaXMubWFwLm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudE5hbWUgPSB0aGlzLm1hcC5wYXJlbnRNYXAgPyB0aGlzLm1hcC5wYXJlbnRNYXAubmFtZSA6IG51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsUmVxdWlyZSA9IGNvbnRleHQubWFrZVJlcXVpcmUobWFwLnBhcmVudE1hcCwgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlQnVpbGRDYWxsYmFjazogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgLy9JZiBjdXJyZW50IG1hcCBpcyBub3Qgbm9ybWFsaXplZCwgd2FpdCBmb3IgdGhhdAogICAgICAgICAgICAgICAgICAgIC8vbm9ybWFsaXplZCBuYW1lIHRvIGxvYWQgaW5zdGVhZCBvZiBjb250aW51aW5nLgogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1hcC51bm5vcm1hbGl6ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy9Ob3JtYWxpemUgdGhlIElEIGlmIHRoZSBwbHVnaW4gYWxsb3dzIGl0LgogICAgICAgICAgICAgICAgICAgICAgICBpZiAocGx1Z2luLm5vcm1hbGl6ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IHBsdWdpbi5ub3JtYWxpemUobmFtZSwgZnVuY3Rpb24gKG5hbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9ybWFsaXplKG5hbWUsIHBhcmVudE5hbWUsIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIC8vcHJlZml4IGFuZCBuYW1lIHNob3VsZCBhbHJlYWR5IGJlIG5vcm1hbGl6ZWQsIG5vIG5lZWQKICAgICAgICAgICAgICAgICAgICAgICAgLy9mb3IgYXBwbHlpbmcgbWFwIGNvbmZpZyBhZ2FpbiBlaXRoZXIuCiAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRNYXAgPSBtYWtlTW9kdWxlTWFwKG1hcC5wcmVmaXggKyAnIScgKyBuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcC5wYXJlbnRNYXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUpOwogICAgICAgICAgICAgICAgICAgICAgICBvbihub3JtYWxpemVkTWFwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlZmluZWQnLCBiaW5kKHRoaXMsIGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWFwLm5vcm1hbGl6ZWRNYXAgPSBub3JtYWxpemVkTWFwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdChbXSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdmFsdWU7IH0sIG51bGwsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7CgogICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVkTW9kID0gZ2V0T3duKHJlZ2lzdHJ5LCBub3JtYWxpemVkTWFwLmlkKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vcm1hbGl6ZWRNb2QpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vTWFyayB0aGlzIGFzIGEgZGVwZW5kZW5jeSBmb3IgdGhpcyBwbHVnaW4sIHNvIGl0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2NhbiBiZSB0cmFjZWQgZm9yIGN5Y2xlcy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVwTWFwcy5wdXNoKG5vcm1hbGl6ZWRNYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmV2ZW50cy5lcnJvcikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRNb2Qub24oJ2Vycm9yJywgYmluZCh0aGlzLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdCgnZXJyb3InLCBlcnIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRNb2QuZW5hYmxlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIC8vSWYgYSBwYXRocyBjb25maWcsIHRoZW4ganVzdCBsb2FkIHRoYXQgZmlsZSBpbnN0ZWFkIHRvCiAgICAgICAgICAgICAgICAgICAgLy9yZXNvbHZlIHRoZSBwbHVnaW4sIGFzIGl0IGlzIGJ1aWx0IGludG8gdGhhdCBwYXRocyBsYXllci4KICAgICAgICAgICAgICAgICAgICBpZiAoYnVuZGxlSWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXAudXJsID0gY29udGV4dC5uYW1lVG9VcmwoYnVuZGxlSWQpOwogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWQoKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgbG9hZCA9IGJpbmQodGhpcywgZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdChbXSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdmFsdWU7IH0sIG51bGwsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgIGxvYWQuZXJyb3IgPSBiaW5kKHRoaXMsIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0ZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yID0gZXJyOwogICAgICAgICAgICAgICAgICAgICAgICBlcnIucmVxdWlyZU1vZHVsZXMgPSBbaWRdOwoKICAgICAgICAgICAgICAgICAgICAgICAgLy9SZW1vdmUgdGVtcCB1bm5vcm1hbGl6ZWQgbW9kdWxlcyBmb3IgdGhpcyBtb2R1bGUsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vc2luY2UgdGhleSB3aWxsIG5ldmVyIGJlIHJlc29sdmVkIG90aGVyd2lzZSBub3cuCiAgICAgICAgICAgICAgICAgICAgICAgIGVhY2hQcm9wKHJlZ2lzdHJ5LCBmdW5jdGlvbiAobW9kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kLm1hcC5pZC5pbmRleE9mKGlkICsgJ191bm5vcm1hbGl6ZWQnKSA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFuUmVnaXN0cnkobW9kLm1hcC5pZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgb25FcnJvcihlcnIpOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAvL0FsbG93IHBsdWdpbnMgdG8gbG9hZCBvdGhlciBjb2RlIHdpdGhvdXQgaGF2aW5nIHRvIGtub3cgdGhlCiAgICAgICAgICAgICAgICAgICAgLy9jb250ZXh0IG9yIGhvdyB0byAnY29tcGxldGUnIHRoZSBsb2FkLgogICAgICAgICAgICAgICAgICAgIGxvYWQuZnJvbVRleHQgPSBiaW5kKHRoaXMsIGZ1bmN0aW9uICh0ZXh0LCB0ZXh0QWx0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8qanNsaW50IGV2aWw6IHRydWUgKi8KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1vZHVsZU5hbWUgPSBtYXAubmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZU1hcCA9IG1ha2VNb2R1bGVNYXAobW9kdWxlTmFtZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNJbnRlcmFjdGl2ZSA9IHVzZUludGVyYWN0aXZlOwoKICAgICAgICAgICAgICAgICAgICAgICAgLy9BcyBvZiAyLjEuMCwgc3VwcG9ydCBqdXN0IHBhc3NpbmcgdGhlIHRleHQsIHRvIHJlaW5mb3JjZQogICAgICAgICAgICAgICAgICAgICAgICAvL2Zyb21UZXh0IG9ubHkgYmVpbmcgY2FsbGVkIG9uY2UgcGVyIHJlc291cmNlLiBTdGlsbAogICAgICAgICAgICAgICAgICAgICAgICAvL3N1cHBvcnQgb2xkIHN0eWxlIG9mIHBhc3NpbmcgbW9kdWxlTmFtZSBidXQgZGlzY2FyZAogICAgICAgICAgICAgICAgICAgICAgICAvL3RoYXQgbW9kdWxlTmFtZSBpbiBmYXZvciBvZiB0aGUgaW50ZXJuYWwgcmVmLgogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGV4dEFsdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA9IHRleHRBbHQ7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIC8vVHVybiBvZmYgaW50ZXJhY3RpdmUgc2NyaXB0IG1hdGNoaW5nIGZvciBJRSBmb3IgYW55IGRlZmluZQogICAgICAgICAgICAgICAgICAgICAgICAvL2NhbGxzIGluIHRoZSB0ZXh0LCB0aGVuIHR1cm4gaXQgYmFjayBvbiBhdCB0aGUgZW5kLgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzSW50ZXJhY3RpdmUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZUludGVyYWN0aXZlID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIC8vUHJpbWUgdGhlIHN5c3RlbSBieSBjcmVhdGluZyBhIG1vZHVsZSBpbnN0YW5jZSBmb3IKICAgICAgICAgICAgICAgICAgICAgICAgLy9pdC4KICAgICAgICAgICAgICAgICAgICAgICAgZ2V0TW9kdWxlKG1vZHVsZU1hcCk7CgogICAgICAgICAgICAgICAgICAgICAgICAvL1RyYW5zZmVyIGFueSBjb25maWcgdG8gdGhpcyBvdGhlciBtb2R1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNQcm9wKGNvbmZpZy5jb25maWcsIGlkKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLmNvbmZpZ1ttb2R1bGVOYW1lXSA9IGNvbmZpZy5jb25maWdbaWRdOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxLmV4ZWModGV4dCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvbkVycm9yKG1ha2VFcnJvcignZnJvbXRleHRldmFsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zyb21UZXh0IGV2YWwgZm9yICcgKyBpZCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBmYWlsZWQ6ICcgKyBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNJbnRlcmFjdGl2ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlSW50ZXJhY3RpdmUgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAvL01hcmsgdGhpcyBhcyBhIGRlcGVuZGVuY3kgZm9yIHRoZSBwbHVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgLy9yZXNvdXJjZQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcE1hcHMucHVzaChtb2R1bGVNYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgLy9TdXBwb3J0IGFub255bW91cyBtb2R1bGVzLgogICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmNvbXBsZXRlTG9hZChtb2R1bGVOYW1lKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIC8vQmluZCB0aGUgdmFsdWUgb2YgdGhhdCBtb2R1bGUgdG8gdGhlIHZhbHVlIGZvciB0aGlzCiAgICAgICAgICAgICAgICAgICAgICAgIC8vcmVzb3VyY2UgSUQuCiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsUmVxdWlyZShbbW9kdWxlTmFtZV0sIGxvYWQpOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAvL1VzZSBwYXJlbnROYW1lIGhlcmUgc2luY2UgdGhlIHBsdWdpbidzIG5hbWUgaXMgbm90IHJlbGlhYmxlLAogICAgICAgICAgICAgICAgICAgIC8vY291bGQgYmUgc29tZSB3ZWlyZCBzdHJpbmcgd2l0aCBubyBwYXRoIHRoYXQgYWN0dWFsbHkgd2FudHMgdG8KICAgICAgICAgICAgICAgICAgICAvL3JlZmVyZW5jZSB0aGUgcGFyZW50TmFtZSdzIHBhdGguCiAgICAgICAgICAgICAgICAgICAgcGx1Z2luLmxvYWQobWFwLm5hbWUsIGxvY2FsUmVxdWlyZSwgbG9hZCwgY29uZmlnKTsKICAgICAgICAgICAgICAgIH0pKTsKCiAgICAgICAgICAgICAgICBjb250ZXh0LmVuYWJsZShwbHVnaW5NYXAsIHRoaXMpOwogICAgICAgICAgICAgICAgdGhpcy5wbHVnaW5NYXBzW3BsdWdpbk1hcC5pZF0gPSBwbHVnaW5NYXA7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBlbmFibGU6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGVuYWJsZWRSZWdpc3RyeVt0aGlzLm1hcC5pZF0gPSB0aGlzOwogICAgICAgICAgICAgICAgdGhpcy5lbmFibGVkID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICAvL1NldCBmbGFnIG1lbnRpb25pbmcgdGhhdCB0aGUgbW9kdWxlIGlzIGVuYWJsaW5nLAogICAgICAgICAgICAgICAgLy9zbyB0aGF0IGltbWVkaWF0ZSBjYWxscyB0byB0aGUgZGVmaW5lZCBjYWxsYmFja3MKICAgICAgICAgICAgICAgIC8vZm9yIGRlcGVuZGVuY2llcyBkbyBub3QgdHJpZ2dlciBpbmFkdmVydGVudCBsb2FkCiAgICAgICAgICAgICAgICAvL3dpdGggdGhlIGRlcENvdW50IHN0aWxsIGJlaW5nIHplcm8uCiAgICAgICAgICAgICAgICB0aGlzLmVuYWJsaW5nID0gdHJ1ZTsKCiAgICAgICAgICAgICAgICAvL0VuYWJsZSBlYWNoIGRlcGVuZGVuY3kKICAgICAgICAgICAgICAgIGVhY2godGhpcy5kZXBNYXBzLCBiaW5kKHRoaXMsIGZ1bmN0aW9uIChkZXBNYXAsIGkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaWQsIG1vZCwgaGFuZGxlcjsKCiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBkZXBNYXAgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vRGVwZW5kZW5jeSBuZWVkcyB0byBiZSBjb252ZXJ0ZWQgdG8gYSBkZXBNYXAKICAgICAgICAgICAgICAgICAgICAgICAgLy9hbmQgd2lyZWQgdXAgdG8gdGhpcyBtb2R1bGUuCiAgICAgICAgICAgICAgICAgICAgICAgIGRlcE1hcCA9IG1ha2VNb2R1bGVNYXAoZGVwTWFwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLm1hcC5pc0RlZmluZSA/IHRoaXMubWFwIDogdGhpcy5tYXAucGFyZW50TWFwKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5za2lwTWFwKTsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXBNYXBzW2ldID0gZGVwTWFwOwoKICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlciA9IGdldE93bihoYW5kbGVycywgZGVwTWFwLmlkKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYW5kbGVyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcEV4cG9ydHNbaV0gPSBoYW5kbGVyKHRoaXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlcENvdW50ICs9IDE7CgogICAgICAgICAgICAgICAgICAgICAgICBvbihkZXBNYXAsICdkZWZpbmVkJywgYmluZCh0aGlzLCBmdW5jdGlvbiAoZGVwRXhwb3J0cykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudW5kZWZlZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmaW5lRGVwKGksIGRlcEV4cG9ydHMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVjaygpOwogICAgICAgICAgICAgICAgICAgICAgICB9KSk7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5lcnJiYWNrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbihkZXBNYXAsICdlcnJvcicsIGJpbmQodGhpcywgdGhpcy5lcnJiYWNrKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5ldmVudHMuZXJyb3IpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vIGRpcmVjdCBlcnJiYWNrIG9uIHRoaXMgbW9kdWxlLCBidXQgc29tZXRoaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlbHNlIGlzIGxpc3RlbmluZyBmb3IgZXJyb3JzLCBzbyBiZSBzdXJlIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwcm9wYWdhdGUgdGhlIGVycm9yIGNvcnJlY3RseS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uKGRlcE1hcCwgJ2Vycm9yJywgYmluZCh0aGlzLCBmdW5jdGlvbihlcnIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXQoJ2Vycm9yJywgZXJyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWQgPSBkZXBNYXAuaWQ7CiAgICAgICAgICAgICAgICAgICAgbW9kID0gcmVnaXN0cnlbaWRdOwoKICAgICAgICAgICAgICAgICAgICAvL1NraXAgc3BlY2lhbCBtb2R1bGVzIGxpa2UgJ3JlcXVpcmUnLCAnZXhwb3J0cycsICdtb2R1bGUnCiAgICAgICAgICAgICAgICAgICAgLy9BbHNvLCBkb24ndCBjYWxsIGVuYWJsZSBpZiBpdCBpcyBhbHJlYWR5IGVuYWJsZWQsCiAgICAgICAgICAgICAgICAgICAgLy9pbXBvcnRhbnQgaW4gY2lyY3VsYXIgZGVwZW5kZW5jeSBjYXNlcy4KICAgICAgICAgICAgICAgICAgICBpZiAoIWhhc1Byb3AoaGFuZGxlcnMsIGlkKSAmJiBtb2QgJiYgIW1vZC5lbmFibGVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuZW5hYmxlKGRlcE1hcCwgdGhpcyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkpOwoKICAgICAgICAgICAgICAgIC8vRW5hYmxlIGVhY2ggcGx1Z2luIHRoYXQgaXMgdXNlZCBpbgogICAgICAgICAgICAgICAgLy9hIGRlcGVuZGVuY3kKICAgICAgICAgICAgICAgIGVhY2hQcm9wKHRoaXMucGx1Z2luTWFwcywgYmluZCh0aGlzLCBmdW5jdGlvbiAocGx1Z2luTWFwKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIG1vZCA9IGdldE93bihyZWdpc3RyeSwgcGx1Z2luTWFwLmlkKTsKICAgICAgICAgICAgICAgICAgICBpZiAobW9kICYmICFtb2QuZW5hYmxlZCkgewogICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmVuYWJsZShwbHVnaW5NYXAsIHRoaXMpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pKTsKCiAgICAgICAgICAgICAgICB0aGlzLmVuYWJsaW5nID0gZmFsc2U7CgogICAgICAgICAgICAgICAgdGhpcy5jaGVjaygpOwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgb246IGZ1bmN0aW9uIChuYW1lLCBjYikgewogICAgICAgICAgICAgICAgdmFyIGNicyA9IHRoaXMuZXZlbnRzW25hbWVdOwogICAgICAgICAgICAgICAgaWYgKCFjYnMpIHsKICAgICAgICAgICAgICAgICAgICBjYnMgPSB0aGlzLmV2ZW50c1tuYW1lXSA9IFtdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY2JzLnB1c2goY2IpOwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgZW1pdDogZnVuY3Rpb24gKG5hbWUsIGV2dCkgewogICAgICAgICAgICAgICAgZWFjaCh0aGlzLmV2ZW50c1tuYW1lXSwgZnVuY3Rpb24gKGNiKSB7CiAgICAgICAgICAgICAgICAgICAgY2IoZXZ0KTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgaWYgKG5hbWUgPT09ICdlcnJvcicpIHsKICAgICAgICAgICAgICAgICAgICAvL05vdyB0aGF0IHRoZSBlcnJvciBoYW5kbGVyIHdhcyB0cmlnZ2VyZWQsIHJlbW92ZQogICAgICAgICAgICAgICAgICAgIC8vdGhlIGxpc3RlbmVycywgc2luY2UgdGhpcyBicm9rZW4gTW9kdWxlIGluc3RhbmNlCiAgICAgICAgICAgICAgICAgICAgLy9jYW4gc3RheSBhcm91bmQgZm9yIGEgd2hpbGUgaW4gdGhlIHJlZ2lzdHJ5LgogICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmV2ZW50c1tuYW1lXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH07CgogICAgICAgIGZ1bmN0aW9uIGNhbGxHZXRNb2R1bGUoYXJncykgewogICAgICAgICAgICAvL1NraXAgbW9kdWxlcyBhbHJlYWR5IGRlZmluZWQuCiAgICAgICAgICAgIGlmICghaGFzUHJvcChkZWZpbmVkLCBhcmdzWzBdKSkgewogICAgICAgICAgICAgICAgZ2V0TW9kdWxlKG1ha2VNb2R1bGVNYXAoYXJnc1swXSwgbnVsbCwgdHJ1ZSkpLmluaXQoYXJnc1sxXSwgYXJnc1syXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHJlbW92ZUxpc3RlbmVyKG5vZGUsIGZ1bmMsIG5hbWUsIGllTmFtZSkgewogICAgICAgICAgICAvL0Zhdm9yIGRldGFjaEV2ZW50IGJlY2F1c2Ugb2YgSUU5CiAgICAgICAgICAgIC8vaXNzdWUsIHNlZSBhdHRhY2hFdmVudC9hZGRFdmVudExpc3RlbmVyIGNvbW1lbnQgZWxzZXdoZXJlCiAgICAgICAgICAgIC8vaW4gdGhpcyBmaWxlLgogICAgICAgICAgICBpZiAobm9kZS5kZXRhY2hFdmVudCAmJiAhaXNPcGVyYSkgewogICAgICAgICAgICAgICAgLy9Qcm9iYWJseSBJRS4gSWYgbm90IGl0IHdpbGwgdGhyb3cgYW4gZXJyb3IsIHdoaWNoIHdpbGwgYmUKICAgICAgICAgICAgICAgIC8vdXNlZnVsIHRvIGtub3cuCiAgICAgICAgICAgICAgICBpZiAoaWVOYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgbm9kZS5kZXRhY2hFdmVudChpZU5hbWUsIGZ1bmMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgbm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKG5hbWUsIGZ1bmMsIGZhbHNlKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLyoqCiAgICAgICAgICogR2l2ZW4gYW4gZXZlbnQgZnJvbSBhIHNjcmlwdCBub2RlLCBnZXQgdGhlIHJlcXVpcmVqcyBpbmZvIGZyb20gaXQsCiAgICAgICAgICogYW5kIHRoZW4gcmVtb3ZlcyB0aGUgZXZlbnQgbGlzdGVuZXJzIG9uIHRoZSBub2RlLgogICAgICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2dAogICAgICAgICAqIEByZXR1cm5zIHtPYmplY3R9CiAgICAgICAgICovCiAgICAgICAgZnVuY3Rpb24gZ2V0U2NyaXB0RGF0YShldnQpIHsKICAgICAgICAgICAgLy9Vc2luZyBjdXJyZW50VGFyZ2V0IGluc3RlYWQgb2YgdGFyZ2V0IGZvciBGaXJlZm94IDIuMCdzIHNha2UuIE5vdAogICAgICAgICAgICAvL2FsbCBvbGQgYnJvd3NlcnMgd2lsbCBiZSBzdXBwb3J0ZWQsIGJ1dCB0aGlzIG9uZSB3YXMgZWFzeSBlbm91Z2gKICAgICAgICAgICAgLy90byBzdXBwb3J0IGFuZCBzdGlsbCBtYWtlcyBzZW5zZS4KICAgICAgICAgICAgdmFyIG5vZGUgPSBldnQuY3VycmVudFRhcmdldCB8fCBldnQuc3JjRWxlbWVudDsKCiAgICAgICAgICAgIC8vUmVtb3ZlIHRoZSBsaXN0ZW5lcnMgb25jZSBoZXJlLgogICAgICAgICAgICByZW1vdmVMaXN0ZW5lcihub2RlLCBjb250ZXh0Lm9uU2NyaXB0TG9hZCwgJ2xvYWQnLCAnb25yZWFkeXN0YXRlY2hhbmdlJyk7CiAgICAgICAgICAgIHJlbW92ZUxpc3RlbmVyKG5vZGUsIGNvbnRleHQub25TY3JpcHRFcnJvciwgJ2Vycm9yJyk7CgogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgbm9kZTogbm9kZSwKICAgICAgICAgICAgICAgIGlkOiBub2RlICYmIG5vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLXJlcXVpcmVtb2R1bGUnKQogICAgICAgICAgICB9OwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gaW50YWtlRGVmaW5lcygpIHsKICAgICAgICAgICAgdmFyIGFyZ3M7CgogICAgICAgICAgICAvL0FueSBkZWZpbmVkIG1vZHVsZXMgaW4gdGhlIGdsb2JhbCBxdWV1ZSwgaW50YWtlIHRoZW0gbm93LgogICAgICAgICAgICB0YWtlR2xvYmFsUXVldWUoKTsKCiAgICAgICAgICAgIC8vTWFrZSBzdXJlIGFueSByZW1haW5pbmcgZGVmUXVldWUgaXRlbXMgZ2V0IHByb3Blcmx5IHByb2Nlc3NlZC4KICAgICAgICAgICAgd2hpbGUgKGRlZlF1ZXVlLmxlbmd0aCkgewogICAgICAgICAgICAgICAgYXJncyA9IGRlZlF1ZXVlLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICBpZiAoYXJnc1swXSA9PT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBvbkVycm9yKG1ha2VFcnJvcignbWlzbWF0Y2gnLCAnTWlzbWF0Y2hlZCBhbm9ueW1vdXMgZGVmaW5lKCkgbW9kdWxlOiAnICsKICAgICAgICAgICAgICAgICAgICAgICAgYXJnc1thcmdzLmxlbmd0aCAtIDFdKSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIC8vYXJncyBhcmUgaWQsIGRlcHMsIGZhY3RvcnkuIFNob3VsZCBiZSBub3JtYWxpemVkIGJ5IHRoZQogICAgICAgICAgICAgICAgICAgIC8vZGVmaW5lKCkgZnVuY3Rpb24uCiAgICAgICAgICAgICAgICAgICAgY2FsbEdldE1vZHVsZShhcmdzKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBjb250ZXh0LmRlZlF1ZXVlTWFwID0ge307CiAgICAgICAgfQoKICAgICAgICBjb250ZXh0ID0gewogICAgICAgICAgICBjb25maWc6IGNvbmZpZywKICAgICAgICAgICAgY29udGV4dE5hbWU6IGNvbnRleHROYW1lLAogICAgICAgICAgICByZWdpc3RyeTogcmVnaXN0cnksCiAgICAgICAgICAgIGRlZmluZWQ6IGRlZmluZWQsCiAgICAgICAgICAgIHVybEZldGNoZWQ6IHVybEZldGNoZWQsCiAgICAgICAgICAgIGRlZlF1ZXVlOiBkZWZRdWV1ZSwKICAgICAgICAgICAgZGVmUXVldWVNYXA6IHt9LAogICAgICAgICAgICBNb2R1bGU6IE1vZHVsZSwKICAgICAgICAgICAgbWFrZU1vZHVsZU1hcDogbWFrZU1vZHVsZU1hcCwKICAgICAgICAgICAgbmV4dFRpY2s6IHJlcS5uZXh0VGljaywKICAgICAgICAgICAgb25FcnJvcjogb25FcnJvciwKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBTZXQgYSBjb25maWd1cmF0aW9uIGZvciB0aGUgY29udGV4dC4KICAgICAgICAgICAgICogQHBhcmFtIHtPYmplY3R9IGNmZyBjb25maWcgb2JqZWN0IHRvIGludGVncmF0ZS4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIGNvbmZpZ3VyZTogZnVuY3Rpb24gKGNmZykgewogICAgICAgICAgICAgICAgLy9NYWtlIHN1cmUgdGhlIGJhc2VVcmwgZW5kcyBpbiBhIHNsYXNoLgogICAgICAgICAgICAgICAgaWYgKGNmZy5iYXNlVXJsKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGNmZy5iYXNlVXJsLmNoYXJBdChjZmcuYmFzZVVybC5sZW5ndGggLSAxKSAhPT0gJy8nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNmZy5iYXNlVXJsICs9ICcvJzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gQ29udmVydCBvbGQgc3R5bGUgdXJsQXJncyBzdHJpbmcgdG8gYSBmdW5jdGlvbi4KICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2ZnLnVybEFyZ3MgPT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHVybEFyZ3MgPSBjZmcudXJsQXJnczsKICAgICAgICAgICAgICAgICAgICBjZmcudXJsQXJncyA9IGZ1bmN0aW9uKGlkLCB1cmwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh1cmwuaW5kZXhPZignPycpID09PSAtMSA/ICc/JyA6ICcmJykgKyB1cmxBcmdzOwogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy9TYXZlIG9mZiB0aGUgcGF0aHMgc2luY2UgdGhleSByZXF1aXJlIHNwZWNpYWwgcHJvY2Vzc2luZywKICAgICAgICAgICAgICAgIC8vdGhleSBhcmUgYWRkaXRpdmUuCiAgICAgICAgICAgICAgICB2YXIgc2hpbSA9IGNvbmZpZy5zaGltLAogICAgICAgICAgICAgICAgICAgIG9ianMgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhzOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICBidW5kbGVzOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICBjb25maWc6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcDogdHJ1ZQogICAgICAgICAgICAgICAgICAgIH07CgogICAgICAgICAgICAgICAgZWFjaFByb3AoY2ZnLCBmdW5jdGlvbiAodmFsdWUsIHByb3ApIHsKICAgICAgICAgICAgICAgICAgICBpZiAob2Jqc1twcm9wXSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmZpZ1twcm9wXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnW3Byb3BdID0ge307CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgbWl4aW4oY29uZmlnW3Byb3BdLCB2YWx1ZSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnW3Byb3BdID0gdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgLy9SZXZlcnNlIG1hcCB0aGUgYnVuZGxlcwogICAgICAgICAgICAgICAgaWYgKGNmZy5idW5kbGVzKSB7CiAgICAgICAgICAgICAgICAgICAgZWFjaFByb3AoY2ZnLmJ1bmRsZXMsIGZ1bmN0aW9uICh2YWx1ZSwgcHJvcCkgewogICAgICAgICAgICAgICAgICAgICAgICBlYWNoKHZhbHVlLCBmdW5jdGlvbiAodikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYgIT09IHByb3ApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidW5kbGVzTWFwW3ZdID0gcHJvcDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy9NZXJnZSBzaGltCiAgICAgICAgICAgICAgICBpZiAoY2ZnLnNoaW0pIHsKICAgICAgICAgICAgICAgICAgICBlYWNoUHJvcChjZmcuc2hpbSwgZnVuY3Rpb24gKHZhbHVlLCBpZCkgewogICAgICAgICAgICAgICAgICAgICAgICAvL05vcm1hbGl6ZSB0aGUgc3RydWN0dXJlCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwczogdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCh2YWx1ZS5leHBvcnRzIHx8IHZhbHVlLmluaXQpICYmICF2YWx1ZS5leHBvcnRzRm4pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmV4cG9ydHNGbiA9IGNvbnRleHQubWFrZVNoaW1FeHBvcnRzKHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBzaGltW2lkXSA9IHZhbHVlOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIGNvbmZpZy5zaGltID0gc2hpbTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvL0FkanVzdCBwYWNrYWdlcyBpZiBuZWNlc3NhcnkuCiAgICAgICAgICAgICAgICBpZiAoY2ZnLnBhY2thZ2VzKSB7CiAgICAgICAgICAgICAgICAgICAgZWFjaChjZmcucGFja2FnZXMsIGZ1bmN0aW9uIChwa2dPYmopIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxvY2F0aW9uLCBuYW1lOwoKICAgICAgICAgICAgICAgICAgICAgICAgcGtnT2JqID0gdHlwZW9mIHBrZ09iaiA9PT0gJ3N0cmluZycgPyB7bmFtZTogcGtnT2JqfSA6IHBrZ09iajsKCiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBwa2dPYmoubmFtZTsKICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24gPSBwa2dPYmoubG9jYXRpb247CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvbikgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLnBhdGhzW25hbWVdID0gcGtnT2JqLmxvY2F0aW9uOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAvL1NhdmUgcG9pbnRlciB0byBtYWluIG1vZHVsZSBJRCBmb3IgcGtnIG5hbWUuCiAgICAgICAgICAgICAgICAgICAgICAgIC8vUmVtb3ZlIGxlYWRpbmcgZG90IGluIG1haW4sIHNvIG1haW4gcGF0aHMgYXJlIG5vcm1hbGl6ZWQsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vYW5kIHJlbW92ZSBhbnkgdHJhaWxpbmcgLmpzLCBzaW5jZSBkaWZmZXJlbnQgcGFja2FnZQogICAgICAgICAgICAgICAgICAgICAgICAvL2VudnMgaGF2ZSBkaWZmZXJlbnQgY29udmVudGlvbnM6IHNvbWUgdXNlIGEgbW9kdWxlIG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vc29tZSB1c2UgYSBmaWxlIG5hbWUuCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5wa2dzW25hbWVdID0gcGtnT2JqLm5hbWUgKyAnLycgKyAocGtnT2JqLm1haW4gfHwgJ21haW4nKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoY3VyckRpclJlZ0V4cCwgJycpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZShqc1N1ZmZpeFJlZ0V4cCwgJycpOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vSWYgdGhlcmUgYXJlIGFueSAid2FpdGluZyB0byBleGVjdXRlIiBtb2R1bGVzIGluIHRoZSByZWdpc3RyeSwKICAgICAgICAgICAgICAgIC8vdXBkYXRlIHRoZSBtYXBzIGZvciB0aGVtLCBzaW5jZSB0aGVpciBpbmZvLCBsaWtlIFVSTHMgdG8gbG9hZCwKICAgICAgICAgICAgICAgIC8vbWF5IGhhdmUgY2hhbmdlZC4KICAgICAgICAgICAgICAgIGVhY2hQcm9wKHJlZ2lzdHJ5LCBmdW5jdGlvbiAobW9kLCBpZCkgewogICAgICAgICAgICAgICAgICAgIC8vSWYgbW9kdWxlIGFscmVhZHkgaGFzIGluaXQgY2FsbGVkLCBzaW5jZSBpdCBpcyB0b28KICAgICAgICAgICAgICAgICAgICAvL2xhdGUgdG8gbW9kaWZ5IHRoZW0sIGFuZCBpZ25vcmUgdW5ub3JtYWxpemVkIG9uZXMKICAgICAgICAgICAgICAgICAgICAvL3NpbmNlIHRoZXkgYXJlIHRyYW5zaWVudC4KICAgICAgICAgICAgICAgICAgICBpZiAoIW1vZC5pbml0ZWQgJiYgIW1vZC5tYXAudW5ub3JtYWxpemVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1vZC5tYXAgPSBtYWtlTW9kdWxlTWFwKGlkLCBudWxsLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAvL0lmIGEgZGVwcyBhcnJheSBvciBhIGNvbmZpZyBjYWxsYmFjayBpcyBzcGVjaWZpZWQsIHRoZW4gY2FsbAogICAgICAgICAgICAgICAgLy9yZXF1aXJlIHdpdGggdGhvc2UgYXJncy4gVGhpcyBpcyB1c2VmdWwgd2hlbiByZXF1aXJlIGlzIGRlZmluZWQgYXMgYQogICAgICAgICAgICAgICAgLy9jb25maWcgb2JqZWN0IGJlZm9yZSByZXF1aXJlLmpzIGlzIGxvYWRlZC4KICAgICAgICAgICAgICAgIGlmIChjZmcuZGVwcyB8fCBjZmcuY2FsbGJhY2spIHsKICAgICAgICAgICAgICAgICAgICBjb250ZXh0LnJlcXVpcmUoY2ZnLmRlcHMgfHwgW10sIGNmZy5jYWxsYmFjayk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICBtYWtlU2hpbUV4cG9ydHM6IGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgICAgICAgICAgZnVuY3Rpb24gZm4oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHJldDsKICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUuaW5pdCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXQgPSB2YWx1ZS5pbml0LmFwcGx5KGdsb2JhbCwgYXJndW1lbnRzKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldCB8fCAodmFsdWUuZXhwb3J0cyAmJiBnZXRHbG9iYWwodmFsdWUuZXhwb3J0cykpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcmV0dXJuIGZuOwogICAgICAgICAgICB9LAoKICAgICAgICAgICAgbWFrZVJlcXVpcmU6IGZ1bmN0aW9uIChyZWxNYXAsIG9wdGlvbnMpIHsKICAgICAgICAgICAgICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OwoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGxvY2FsUmVxdWlyZShkZXBzLCBjYWxsYmFjaywgZXJyYmFjaykgewogICAgICAgICAgICAgICAgICAgIHZhciBpZCwgbWFwLCByZXF1aXJlTW9kOwoKICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5lbmFibGVCdWlsZENhbGxiYWNrICYmIGNhbGxiYWNrICYmIGlzRnVuY3Rpb24oY2FsbGJhY2spKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrLl9fcmVxdWlyZUpzQnVpbGQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBkZXBzID09PSAnc3RyaW5nJykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNGdW5jdGlvbihjYWxsYmFjaykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vSW52YWxpZCBjYWxsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihtYWtlRXJyb3IoJ3JlcXVpcmVhcmdzJywgJ0ludmFsaWQgcmVxdWlyZSBjYWxsJyksIGVycmJhY2spOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAvL0lmIHJlcXVpcmV8ZXhwb3J0c3xtb2R1bGUgYXJlIHJlcXVlc3RlZCwgZ2V0IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvL3ZhbHVlIGZvciB0aGVtIGZyb20gdGhlIHNwZWNpYWwgaGFuZGxlcnMuIENhdmVhdDoKICAgICAgICAgICAgICAgICAgICAgICAgLy90aGlzIG9ubHkgd29ya3Mgd2hpbGUgbW9kdWxlIGlzIGJlaW5nIGRlZmluZWQuCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZWxNYXAgJiYgaGFzUHJvcChoYW5kbGVycywgZGVwcykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBoYW5kbGVyc1tkZXBzXShyZWdpc3RyeVtyZWxNYXAuaWRdKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgLy9TeW5jaHJvbm91cyBhY2Nlc3MgdG8gb25lIG1vZHVsZS4gSWYgcmVxdWlyZS5nZXQgaXMKICAgICAgICAgICAgICAgICAgICAgICAgLy9hdmFpbGFibGUgKGFzIGluIHRoZSBOb2RlIGFkYXB0ZXIpLCBwcmVmZXIgdGhhdC4KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcS5nZXQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXEuZ2V0KGNvbnRleHQsIGRlcHMsIHJlbE1hcCwgbG9jYWxSZXF1aXJlKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgLy9Ob3JtYWxpemUgbW9kdWxlIG5hbWUsIGlmIGl0IGNvbnRhaW5zIC4gb3IgLi4KICAgICAgICAgICAgICAgICAgICAgICAgbWFwID0gbWFrZU1vZHVsZU1hcChkZXBzLCByZWxNYXAsIGZhbHNlLCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWQgPSBtYXAuaWQ7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWhhc1Byb3AoZGVmaW5lZCwgaWQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihtYWtlRXJyb3IoJ25vdGxvYWRlZCcsICdNb2R1bGUgbmFtZSAiJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZCArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIiBoYXMgbm90IGJlZW4gbG9hZGVkIHlldCBmb3IgY29udGV4dDogJyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0TmFtZSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVsTWFwID8gJycgOiAnLiBVc2UgcmVxdWlyZShbXSknKSkpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkZWZpbmVkW2lkXTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIC8vR3JhYiBkZWZpbmVzIHdhaXRpbmcgaW4gdGhlIGdsb2JhbCBxdWV1ZS4KICAgICAgICAgICAgICAgICAgICBpbnRha2VEZWZpbmVzKCk7CgogICAgICAgICAgICAgICAgICAgIC8vTWFyayBhbGwgdGhlIGRlcGVuZGVuY2llcyBhcyBuZWVkaW5nIHRvIGJlIGxvYWRlZC4KICAgICAgICAgICAgICAgICAgICBjb250ZXh0Lm5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy9Tb21lIGRlZmluZXMgY291bGQgaGF2ZSBiZWVuIGFkZGVkIHNpbmNlIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvL3JlcXVpcmUgY2FsbCwgY29sbGVjdCB0aGVtLgogICAgICAgICAgICAgICAgICAgICAgICBpbnRha2VEZWZpbmVzKCk7CgogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlTW9kID0gZ2V0TW9kdWxlKG1ha2VNb2R1bGVNYXAobnVsbCwgcmVsTWFwKSk7CgogICAgICAgICAgICAgICAgICAgICAgICAvL1N0b3JlIGlmIG1hcCBjb25maWcgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdGhpcyByZXF1aXJlCiAgICAgICAgICAgICAgICAgICAgICAgIC8vY2FsbCBmb3IgZGVwZW5kZW5jaWVzLgogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlTW9kLnNraXBNYXAgPSBvcHRpb25zLnNraXBNYXA7CgogICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlTW9kLmluaXQoZGVwcywgY2FsbGJhY2ssIGVycmJhY2ssIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICBjaGVja0xvYWRlZCgpOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxSZXF1aXJlOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIG1peGluKGxvY2FsUmVxdWlyZSwgewogICAgICAgICAgICAgICAgICAgIGlzQnJvd3NlcjogaXNCcm93c2VyLAoKICAgICAgICAgICAgICAgICAgICAvKioKICAgICAgICAgICAgICAgICAgICAgKiBDb252ZXJ0cyBhIG1vZHVsZSBuYW1lICsgLmV4dGVuc2lvbiBpbnRvIGFuIFVSTCBwYXRoLgogICAgICAgICAgICAgICAgICAgICAqICpSZXF1aXJlcyogdGhlIHVzZSBvZiBhIG1vZHVsZSBuYW1lLiBJdCBkb2VzIG5vdCBzdXBwb3J0IHVzaW5nCiAgICAgICAgICAgICAgICAgICAgICogcGxhaW4gVVJMcyBsaWtlIG5hbWVUb1VybC4KICAgICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICAgICB0b1VybDogZnVuY3Rpb24gKG1vZHVsZU5hbWVQbHVzRXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCA9IG1vZHVsZU5hbWVQbHVzRXh0Lmxhc3RJbmRleE9mKCcuJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWdtZW50ID0gbW9kdWxlTmFtZVBsdXNFeHQuc3BsaXQoJy8nKVswXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUmVsYXRpdmUgPSBzZWdtZW50ID09PSAnLicgfHwgc2VnbWVudCA9PT0gJy4uJzsKCiAgICAgICAgICAgICAgICAgICAgICAgIC8vSGF2ZSBhIGZpbGUgZXh0ZW5zaW9uIGFsaWFzLCBhbmQgaXQgaXMgbm90IHRoZQogICAgICAgICAgICAgICAgICAgICAgICAvL2RvdHMgZnJvbSBhIHJlbGF0aXZlIHBhdGguCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEgJiYgKCFpc1JlbGF0aXZlIHx8IGluZGV4ID4gMSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dCA9IG1vZHVsZU5hbWVQbHVzRXh0LnN1YnN0cmluZyhpbmRleCwgbW9kdWxlTmFtZVBsdXNFeHQubGVuZ3RoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZU5hbWVQbHVzRXh0ID0gbW9kdWxlTmFtZVBsdXNFeHQuc3Vic3RyaW5nKDAsIGluZGV4KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQubmFtZVRvVXJsKG5vcm1hbGl6ZShtb2R1bGVOYW1lUGx1c0V4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsTWFwICYmIHJlbE1hcC5pZCwgdHJ1ZSksIGV4dCwgIHRydWUpOwogICAgICAgICAgICAgICAgICAgIH0sCgogICAgICAgICAgICAgICAgICAgIGRlZmluZWQ6IGZ1bmN0aW9uIChpZCkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaGFzUHJvcChkZWZpbmVkLCBtYWtlTW9kdWxlTWFwKGlkLCByZWxNYXAsIGZhbHNlLCB0cnVlKS5pZCk7CiAgICAgICAgICAgICAgICAgICAgfSwKCiAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVkOiBmdW5jdGlvbiAoaWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWQgPSBtYWtlTW9kdWxlTWFwKGlkLCByZWxNYXAsIGZhbHNlLCB0cnVlKS5pZDsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhhc1Byb3AoZGVmaW5lZCwgaWQpIHx8IGhhc1Byb3AocmVnaXN0cnksIGlkKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAvL09ubHkgYWxsb3cgdW5kZWYgb24gdG9wIGxldmVsIHJlcXVpcmUgY2FsbHMKICAgICAgICAgICAgICAgIGlmICghcmVsTWFwKSB7CiAgICAgICAgICAgICAgICAgICAgbG9jYWxSZXF1aXJlLnVuZGVmID0gZnVuY3Rpb24gKGlkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vQmluZCBhbnkgd2FpdGluZyBkZWZpbmUoKSBjYWxscyB0byB0aGlzIGNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAgIC8vZml4IGZvciAjNDA4CiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VHbG9iYWxRdWV1ZSgpOwoKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1hcCA9IG1ha2VNb2R1bGVNYXAoaWQsIHJlbE1hcCwgdHJ1ZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2QgPSBnZXRPd24ocmVnaXN0cnksIGlkKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIG1vZC51bmRlZmVkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlU2NyaXB0KGlkKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBkZWZpbmVkW2lkXTsKICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHVybEZldGNoZWRbbWFwLnVybF07CiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB1bmRlZkV2ZW50c1tpZF07CgogICAgICAgICAgICAgICAgICAgICAgICAvL0NsZWFuIHF1ZXVlZCBkZWZpbmVzIHRvby4gR28gYmFja3dhcmRzCiAgICAgICAgICAgICAgICAgICAgICAgIC8vaW4gYXJyYXkgc28gdGhhdCB0aGUgc3BsaWNlcyBkbyBub3QKICAgICAgICAgICAgICAgICAgICAgICAgLy9tZXNzIHVwIHRoZSBpdGVyYXRpb24uCiAgICAgICAgICAgICAgICAgICAgICAgIGVhY2hSZXZlcnNlKGRlZlF1ZXVlLCBmdW5jdGlvbihhcmdzLCBpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJnc1swXSA9PT0gaWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZRdWV1ZS5zcGxpY2UoaSwgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgY29udGV4dC5kZWZRdWV1ZU1hcFtpZF07CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0hvbGQgb24gdG8gbGlzdGVuZXJzIGluIGNhc2UgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL21vZHVsZSB3aWxsIGJlIGF0dGVtcHRlZCB0byBiZSByZWxvYWRlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy91c2luZyBhIGRpZmZlcmVudCBjb25maWcuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobW9kLmV2ZW50cy5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZWZFdmVudHNbaWRdID0gbW9kLmV2ZW50czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhblJlZ2lzdHJ5KGlkKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgcmV0dXJuIGxvY2FsUmVxdWlyZTsKICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDYWxsZWQgdG8gZW5hYmxlIGEgbW9kdWxlIGlmIGl0IGlzIHN0aWxsIGluIHRoZSByZWdpc3RyeQogICAgICAgICAgICAgKiBhd2FpdGluZyBlbmFibGVtZW50LiBBIHNlY29uZCBhcmcsIHBhcmVudCwgdGhlIHBhcmVudCBtb2R1bGUsCiAgICAgICAgICAgICAqIGlzIHBhc3NlZCBpbiBmb3IgY29udGV4dCwgd2hlbiB0aGlzIG1ldGhvZCBpcyBvdmVycmlkZGVuIGJ5CiAgICAgICAgICAgICAqIHRoZSBvcHRpbWl6ZXIuIE5vdCBzaG93biBoZXJlIHRvIGtlZXAgY29kZSBjb21wYWN0LgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgZW5hYmxlOiBmdW5jdGlvbiAoZGVwTWFwKSB7CiAgICAgICAgICAgICAgICB2YXIgbW9kID0gZ2V0T3duKHJlZ2lzdHJ5LCBkZXBNYXAuaWQpOwogICAgICAgICAgICAgICAgaWYgKG1vZCkgewogICAgICAgICAgICAgICAgICAgIGdldE1vZHVsZShkZXBNYXApLmVuYWJsZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAoKICAgICAgICAgICAgLyoqCiAgICAgICAgICAgICAqIEludGVybmFsIG1ldGhvZCB1c2VkIGJ5IGVudmlyb25tZW50IGFkYXB0ZXJzIHRvIGNvbXBsZXRlIGEgbG9hZCBldmVudC4KICAgICAgICAgICAgICogQSBsb2FkIGV2ZW50IGNvdWxkIGJlIGEgc2NyaXB0IGxvYWQgb3IganVzdCBhIGxvYWQgcGFzcyBmcm9tIGEgc3luY2hyb25vdXMKICAgICAgICAgICAgICogbG9hZCBjYWxsLgogICAgICAgICAgICAgKiBAcGFyYW0ge1N0cmluZ30gbW9kdWxlTmFtZSB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRvIHBvdGVudGlhbGx5IGNvbXBsZXRlLgogICAgICAgICAgICAgKi8KICAgICAgICAgICAgY29tcGxldGVMb2FkOiBmdW5jdGlvbiAobW9kdWxlTmFtZSkgewogICAgICAgICAgICAgICAgdmFyIGZvdW5kLCBhcmdzLCBtb2QsCiAgICAgICAgICAgICAgICAgICAgc2hpbSA9IGdldE93bihjb25maWcuc2hpbSwgbW9kdWxlTmFtZSkgfHwge30sCiAgICAgICAgICAgICAgICAgICAgc2hFeHBvcnRzID0gc2hpbS5leHBvcnRzOwoKICAgICAgICAgICAgICAgIHRha2VHbG9iYWxRdWV1ZSgpOwoKICAgICAgICAgICAgICAgIHdoaWxlIChkZWZRdWV1ZS5sZW5ndGgpIHsKICAgICAgICAgICAgICAgICAgICBhcmdzID0gZGVmUXVldWUuc2hpZnQoKTsKICAgICAgICAgICAgICAgICAgICBpZiAoYXJnc1swXSA9PT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgICAgICBhcmdzWzBdID0gbW9kdWxlTmFtZTsKICAgICAgICAgICAgICAgICAgICAgICAgLy9JZiBhbHJlYWR5IGZvdW5kIGFuIGFub255bW91cyBtb2R1bGUgYW5kIGJvdW5kIGl0CiAgICAgICAgICAgICAgICAgICAgICAgIC8vdG8gdGhpcyBuYW1lLCB0aGVuIHRoaXMgaXMgc29tZSBvdGhlciBhbm9uIG1vZHVsZQogICAgICAgICAgICAgICAgICAgICAgICAvL3dhaXRpbmcgZm9yIGl0cyBjb21wbGV0ZUxvYWQgdG8gZmlyZS4KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvdW5kKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChhcmdzWzBdID09PSBtb2R1bGVOYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vRm91bmQgbWF0Y2hpbmcgZGVmaW5lIGNhbGwgZm9yIHRoaXMgc2NyaXB0IQogICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBjYWxsR2V0TW9kdWxlKGFyZ3MpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY29udGV4dC5kZWZRdWV1ZU1hcCA9IHt9OwoKICAgICAgICAgICAgICAgIC8vRG8gdGhpcyBhZnRlciB0aGUgY3ljbGUgb2YgY2FsbEdldE1vZHVsZSBpbiBjYXNlIHRoZSByZXN1bHQKICAgICAgICAgICAgICAgIC8vb2YgdGhvc2UgY2FsbHMvaW5pdCBjYWxscyBjaGFuZ2VzIHRoZSByZWdpc3RyeS4KICAgICAgICAgICAgICAgIG1vZCA9IGdldE93bihyZWdpc3RyeSwgbW9kdWxlTmFtZSk7CgogICAgICAgICAgICAgICAgaWYgKCFmb3VuZCAmJiAhaGFzUHJvcChkZWZpbmVkLCBtb2R1bGVOYW1lKSAmJiBtb2QgJiYgIW1vZC5pbml0ZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLmVuZm9yY2VEZWZpbmUgJiYgKCFzaEV4cG9ydHMgfHwgIWdldEdsb2JhbChzaEV4cG9ydHMpKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzUGF0aEZhbGxiYWNrKG1vZHVsZU5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihtYWtlRXJyb3IoJ25vZGVmaW5lJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ05vIGRlZmluZSBjYWxsIGZvciAnICsgbW9kdWxlTmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZHVsZU5hbWVdKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAvL0Egc2NyaXB0IHRoYXQgZG9lcyBub3QgY2FsbCBkZWZpbmUoKSwgc28ganVzdCBzaW11bGF0ZQogICAgICAgICAgICAgICAgICAgICAgICAvL3RoZSBjYWxsIGZvciBpdC4KICAgICAgICAgICAgICAgICAgICAgICAgY2FsbEdldE1vZHVsZShbbW9kdWxlTmFtZSwgKHNoaW0uZGVwcyB8fCBbXSksIHNoaW0uZXhwb3J0c0ZuXSk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGNoZWNrTG9hZGVkKCk7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogQ29udmVydHMgYSBtb2R1bGUgbmFtZSB0byBhIGZpbGUgcGF0aC4gU3VwcG9ydHMgY2FzZXMgd2hlcmUKICAgICAgICAgICAgICogbW9kdWxlTmFtZSBtYXkgYWN0dWFsbHkgYmUganVzdCBhbiBVUkwuCiAgICAgICAgICAgICAqIE5vdGUgdGhhdCBpdCAqKmRvZXMgbm90KiogY2FsbCBub3JtYWxpemUgb24gdGhlIG1vZHVsZU5hbWUsCiAgICAgICAgICAgICAqIGl0IGlzIGFzc3VtZWQgdG8gaGF2ZSBhbHJlYWR5IGJlZW4gbm9ybWFsaXplZC4gVGhpcyBpcyBhbgogICAgICAgICAgICAgKiBpbnRlcm5hbCBBUEksIG5vdCBhIHB1YmxpYyBvbmUuIFVzZSB0b1VybCBmb3IgdGhlIHB1YmxpYyBBUEkuCiAgICAgICAgICAgICAqLwogICAgICAgICAgICBuYW1lVG9Vcmw6IGZ1bmN0aW9uIChtb2R1bGVOYW1lLCBleHQsIHNraXBFeHQpIHsKICAgICAgICAgICAgICAgIHZhciBwYXRocywgc3ltcywgaSwgcGFyZW50TW9kdWxlLCB1cmwsCiAgICAgICAgICAgICAgICAgICAgcGFyZW50UGF0aCwgYnVuZGxlSWQsCiAgICAgICAgICAgICAgICAgICAgcGtnTWFpbiA9IGdldE93bihjb25maWcucGtncywgbW9kdWxlTmFtZSk7CgogICAgICAgICAgICAgICAgaWYgKHBrZ01haW4pIHsKICAgICAgICAgICAgICAgICAgICBtb2R1bGVOYW1lID0gcGtnTWFpbjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBidW5kbGVJZCA9IGdldE93bihidW5kbGVzTWFwLCBtb2R1bGVOYW1lKTsKCiAgICAgICAgICAgICAgICBpZiAoYnVuZGxlSWQpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGV4dC5uYW1lVG9VcmwoYnVuZGxlSWQsIGV4dCwgc2tpcEV4dCk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy9JZiBhIGNvbG9uIGlzIGluIHRoZSBVUkwsIGl0IGluZGljYXRlcyBhIHByb3RvY29sIGlzIHVzZWQgYW5kIGl0IGlzIGp1c3QKICAgICAgICAgICAgICAgIC8vYW4gVVJMIHRvIGEgZmlsZSwgb3IgaWYgaXQgc3RhcnRzIHdpdGggYSBzbGFzaCwgY29udGFpbnMgYSBxdWVyeSBhcmcgKGkuZS4gPykKICAgICAgICAgICAgICAgIC8vb3IgZW5kcyB3aXRoIC5qcywgdGhlbiBhc3N1bWUgdGhlIHVzZXIgbWVhbnQgdG8gdXNlIGFuIHVybCBhbmQgbm90IGEgbW9kdWxlIGlkLgogICAgICAgICAgICAgICAgLy9UaGUgc2xhc2ggaXMgaW1wb3J0YW50IGZvciBwcm90b2NvbC1sZXNzIFVSTHMgYXMgd2VsbCBhcyBmdWxsIHBhdGhzLgogICAgICAgICAgICAgICAgaWYgKHJlcS5qc0V4dFJlZ0V4cC50ZXN0KG1vZHVsZU5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgLy9KdXN0IGEgcGxhaW4gcGF0aCwgbm90IG1vZHVsZSBuYW1lIGxvb2t1cCwgc28ganVzdCByZXR1cm4gaXQuCiAgICAgICAgICAgICAgICAgICAgLy9BZGQgZXh0ZW5zaW9uIGlmIGl0IGlzIGluY2x1ZGVkLiBUaGlzIGlzIGEgYml0IHdvbmt5LCBvbmx5IG5vbi0uanMgdGhpbmdzIHBhc3MKICAgICAgICAgICAgICAgICAgICAvL2FuIGV4dGVuc2lvbiwgdGhpcyBtZXRob2QgcHJvYmFibHkgbmVlZHMgdG8gYmUgcmV3b3JrZWQuCiAgICAgICAgICAgICAgICAgICAgdXJsID0gbW9kdWxlTmFtZSArIChleHQgfHwgJycpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvL0EgbW9kdWxlIHRoYXQgbmVlZHMgdG8gYmUgY29udmVydGVkIHRvIGEgcGF0aC4KICAgICAgICAgICAgICAgICAgICBwYXRocyA9IGNvbmZpZy5wYXRoczsKCiAgICAgICAgICAgICAgICAgICAgc3ltcyA9IG1vZHVsZU5hbWUuc3BsaXQoJy8nKTsKICAgICAgICAgICAgICAgICAgICAvL0ZvciBlYWNoIG1vZHVsZSBuYW1lIHNlZ21lbnQsIHNlZSBpZiB0aGVyZSBpcyBhIHBhdGgKICAgICAgICAgICAgICAgICAgICAvL3JlZ2lzdGVyZWQgZm9yIGl0LiBTdGFydCB3aXRoIG1vc3Qgc3BlY2lmaWMgbmFtZQogICAgICAgICAgICAgICAgICAgIC8vYW5kIHdvcmsgdXAgZnJvbSBpdC4KICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSBzeW1zLmxlbmd0aDsgaSA+IDA7IGkgLT0gMSkgewogICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRNb2R1bGUgPSBzeW1zLnNsaWNlKDAsIGkpLmpvaW4oJy8nKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFBhdGggPSBnZXRPd24ocGF0aHMsIHBhcmVudE1vZHVsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnRQYXRoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL0lmIGFuIGFycmF5LCBpdCBtZWFucyB0aGVyZSBhcmUgYSBmZXcgY2hvaWNlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vQ2hvb3NlIHRoZSBvbmUgdGhhdCBpcyBkZXNpcmVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNBcnJheShwYXJlbnRQYXRoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFBhdGggPSBwYXJlbnRQYXRoWzBdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ltcy5zcGxpY2UoMCwgaSwgcGFyZW50UGF0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgLy9Kb2luIHRoZSBwYXRoIHBhcnRzIHRvZ2V0aGVyLCB0aGVuIGZpZ3VyZSBvdXQgaWYgYmFzZVVybCBpcyBuZWVkZWQuCiAgICAgICAgICAgICAgICAgICAgdXJsID0gc3ltcy5qb2luKCcvJyk7CiAgICAgICAgICAgICAgICAgICAgdXJsICs9IChleHQgfHwgKC9eZGF0YVw6fF5ibG9iXDp8XD8vLnRlc3QodXJsKSB8fCBza2lwRXh0ID8gJycgOiAnLmpzJykpOwogICAgICAgICAgICAgICAgICAgIHVybCA9ICh1cmwuY2hhckF0KDApID09PSAnLycgfHwgdXJsLm1hdGNoKC9eW1x3XCtcLlwtXSs6LykgPyAnJyA6IGNvbmZpZy5iYXNlVXJsKSArIHVybDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gY29uZmlnLnVybEFyZ3MgJiYgIS9eYmxvYlw6Ly50ZXN0KHVybCkgPwogICAgICAgICAgICAgICAgICAgICAgIHVybCArIGNvbmZpZy51cmxBcmdzKG1vZHVsZU5hbWUsIHVybCkgOiB1cmw7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvL0RlbGVnYXRlcyB0byByZXEubG9hZC4gQnJva2VuIG91dCBhcyBhIHNlcGFyYXRlIGZ1bmN0aW9uIHRvCiAgICAgICAgICAgIC8vYWxsb3cgb3ZlcnJpZGluZyBpbiB0aGUgb3B0aW1pemVyLgogICAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoaWQsIHVybCkgewogICAgICAgICAgICAgICAgcmVxLmxvYWQoY29udGV4dCwgaWQsIHVybCk7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogRXhlY3V0ZXMgYSBtb2R1bGUgY2FsbGJhY2sgZnVuY3Rpb24uIEJyb2tlbiBvdXQgYXMgYSBzZXBhcmF0ZSBmdW5jdGlvbgogICAgICAgICAgICAgKiBzb2xlbHkgdG8gYWxsb3cgdGhlIGJ1aWxkIHN5c3RlbSB0byBzZXF1ZW5jZSB0aGUgZmlsZXMgaW4gdGhlIGJ1aWx0CiAgICAgICAgICAgICAqIGxheWVyIGluIHRoZSByaWdodCBzZXF1ZW5jZS4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHByaXZhdGUKICAgICAgICAgICAgICovCiAgICAgICAgICAgIGV4ZWNDYjogZnVuY3Rpb24gKG5hbWUsIGNhbGxiYWNrLCBhcmdzLCBleHBvcnRzKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2suYXBwbHkoZXhwb3J0cywgYXJncyk7CiAgICAgICAgICAgIH0sCgogICAgICAgICAgICAvKioKICAgICAgICAgICAgICogY2FsbGJhY2sgZm9yIHNjcmlwdCBsb2FkcywgdXNlZCB0byBjaGVjayBzdGF0dXMgb2YgbG9hZGluZy4KICAgICAgICAgICAgICoKICAgICAgICAgICAgICogQHBhcmFtIHtFdmVudH0gZXZ0IHRoZSBldmVudCBmcm9tIHRoZSBicm93c2VyIGZvciB0aGUgc2NyaXB0CiAgICAgICAgICAgICAqIHRoYXQgd2FzIGxvYWRlZC4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIG9uU2NyaXB0TG9hZDogZnVuY3Rpb24gKGV2dCkgewogICAgICAgICAgICAgICAgLy9Vc2luZyBjdXJyZW50VGFyZ2V0IGluc3RlYWQgb2YgdGFyZ2V0IGZvciBGaXJlZm94IDIuMCdzIHNha2UuIE5vdAogICAgICAgICAgICAgICAgLy9hbGwgb2xkIGJyb3dzZXJzIHdpbGwgYmUgc3VwcG9ydGVkLCBidXQgdGhpcyBvbmUgd2FzIGVhc3kgZW5vdWdoCiAgICAgICAgICAgICAgICAvL3RvIHN1cHBvcnQgYW5kIHN0aWxsIG1ha2VzIHNlbnNlLgogICAgICAgICAgICAgICAgaWYgKGV2dC50eXBlID09PSAnbG9hZCcgfHwKICAgICAgICAgICAgICAgICAgICAgICAgKHJlYWR5UmVnRXhwLnRlc3QoKGV2dC5jdXJyZW50VGFyZ2V0IHx8IGV2dC5zcmNFbGVtZW50KS5yZWFkeVN0YXRlKSkpIHsKICAgICAgICAgICAgICAgICAgICAvL1Jlc2V0IGludGVyYWN0aXZlIHNjcmlwdCBzbyBhIHNjcmlwdCBub2RlIGlzIG5vdCBoZWxkIG9udG8gZm9yCiAgICAgICAgICAgICAgICAgICAgLy90byBsb25nLgogICAgICAgICAgICAgICAgICAgIGludGVyYWN0aXZlU2NyaXB0ID0gbnVsbDsKCiAgICAgICAgICAgICAgICAgICAgLy9QdWxsIG91dCB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIGFuZCB0aGUgY29udGV4dC4KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IGdldFNjcmlwdERhdGEoZXZ0KTsKICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmNvbXBsZXRlTG9hZChkYXRhLmlkKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKCiAgICAgICAgICAgIC8qKgogICAgICAgICAgICAgKiBDYWxsYmFjayBmb3Igc2NyaXB0IGVycm9ycy4KICAgICAgICAgICAgICovCiAgICAgICAgICAgIG9uU2NyaXB0RXJyb3I6IGZ1bmN0aW9uIChldnQpIHsKICAgICAgICAgICAgICAgIHZhciBkYXRhID0gZ2V0U2NyaXB0RGF0YShldnQpOwogICAgICAgICAgICAgICAgaWYgKCFoYXNQYXRoRmFsbGJhY2soZGF0YS5pZCkpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50cyA9IFtdOwogICAgICAgICAgICAgICAgICAgIGVhY2hQcm9wKHJlZ2lzdHJ5LCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXkuaW5kZXhPZignX0ByJykgIT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVhY2godmFsdWUuZGVwTWFwcywgZnVuY3Rpb24oZGVwTWFwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlcE1hcC5pZCA9PT0gZGF0YS5pZCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRzLnB1c2goa2V5KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gb25FcnJvcihtYWtlRXJyb3IoJ3NjcmlwdGVycm9yJywgJ1NjcmlwdCBlcnJvciBmb3IgIicgKyBkYXRhLmlkICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhcmVudHMubGVuZ3RoID8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyIsIG5lZWRlZCBieTogJyArIHBhcmVudHMuam9pbignLCAnKSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICciJyksIGV2dCwgW2RhdGEuaWRdKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9OwoKICAgICAgICBjb250ZXh0LnJlcXVpcmUgPSBjb250ZXh0Lm1ha2VSZXF1aXJlKCk7CiAgICAgICAgcmV0dXJuIGNvbnRleHQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBNYWluIGVudHJ5IHBvaW50LgogICAgICoKICAgICAqIElmIHRoZSBvbmx5IGFyZ3VtZW50IHRvIHJlcXVpcmUgaXMgYSBzdHJpbmcsIHRoZW4gdGhlIG1vZHVsZSB0aGF0CiAgICAgKiBpcyByZXByZXNlbnRlZCBieSB0aGF0IHN0cmluZyBpcyBmZXRjaGVkIGZvciB0aGUgYXBwcm9wcmlhdGUgY29udGV4dC4KICAgICAqCiAgICAgKiBJZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgYW4gYXJyYXksIHRoZW4gaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGFuIGFycmF5CiAgICAgKiBvZiBkZXBlbmRlbmN5IHN0cmluZyBuYW1lcyB0byBmZXRjaC4gQW4gb3B0aW9uYWwgZnVuY3Rpb24gY2FsbGJhY2sgY2FuCiAgICAgKiBiZSBzcGVjaWZpZWQgdG8gZXhlY3V0ZSB3aGVuIGFsbCBvZiB0aG9zZSBkZXBlbmRlbmNpZXMgYXJlIGF2YWlsYWJsZS4KICAgICAqCiAgICAgKiBNYWtlIGEgbG9jYWwgcmVxIHZhcmlhYmxlIHRvIGhlbHAgQ2FqYSBjb21wbGlhbmNlIChpdCBhc3N1bWVzIHRoaW5ncwogICAgICogb24gYSByZXF1aXJlIHRoYXQgYXJlIG5vdCBzdGFuZGFyZGl6ZWQpLCBhbmQgdG8gZ2l2ZSBhIHNob3J0CiAgICAgKiBuYW1lIGZvciBtaW5pZmljYXRpb24vbG9jYWwgc2NvcGUgdXNlLgogICAgICovCiAgICByZXEgPSByZXF1aXJlanMgPSBmdW5jdGlvbiAoZGVwcywgY2FsbGJhY2ssIGVycmJhY2ssIG9wdGlvbmFsKSB7CgogICAgICAgIC8vRmluZCB0aGUgcmlnaHQgY29udGV4dCwgdXNlIGRlZmF1bHQKICAgICAgICB2YXIgY29udGV4dCwgY29uZmlnLAogICAgICAgICAgICBjb250ZXh0TmFtZSA9IGRlZkNvbnRleHROYW1lOwoKICAgICAgICAvLyBEZXRlcm1pbmUgaWYgaGF2ZSBjb25maWcgb2JqZWN0IGluIHRoZSBjYWxsLgogICAgICAgIGlmICghaXNBcnJheShkZXBzKSAmJiB0eXBlb2YgZGVwcyAhPT0gJ3N0cmluZycpIHsKICAgICAgICAgICAgLy8gZGVwcyBpcyBhIGNvbmZpZyBvYmplY3QKICAgICAgICAgICAgY29uZmlnID0gZGVwczsKICAgICAgICAgICAgaWYgKGlzQXJyYXkoY2FsbGJhY2spKSB7CiAgICAgICAgICAgICAgICAvLyBBZGp1c3QgYXJncyBpZiB0aGVyZSBhcmUgZGVwZW5kZW5jaWVzCiAgICAgICAgICAgICAgICBkZXBzID0gY2FsbGJhY2s7CiAgICAgICAgICAgICAgICBjYWxsYmFjayA9IGVycmJhY2s7CiAgICAgICAgICAgICAgICBlcnJiYWNrID0gb3B0aW9uYWw7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkZXBzID0gW107CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChjb25maWcgJiYgY29uZmlnLmNvbnRleHQpIHsKICAgICAgICAgICAgY29udGV4dE5hbWUgPSBjb25maWcuY29udGV4dDsKICAgICAgICB9CgogICAgICAgIGNvbnRleHQgPSBnZXRPd24oY29udGV4dHMsIGNvbnRleHROYW1lKTsKICAgICAgICBpZiAoIWNvbnRleHQpIHsKICAgICAgICAgICAgY29udGV4dCA9IGNvbnRleHRzW2NvbnRleHROYW1lXSA9IHJlcS5zLm5ld0NvbnRleHQoY29udGV4dE5hbWUpOwogICAgICAgIH0KCiAgICAgICAgaWYgKGNvbmZpZykgewogICAgICAgICAgICBjb250ZXh0LmNvbmZpZ3VyZShjb25maWcpOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGNvbnRleHQucmVxdWlyZShkZXBzLCBjYWxsYmFjaywgZXJyYmFjayk7CiAgICB9OwoKICAgIC8qKgogICAgICogU3VwcG9ydCByZXF1aXJlLmNvbmZpZygpIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGNvb3BlcmF0ZSB3aXRoIG90aGVyCiAgICAgKiBBTUQgbG9hZGVycyBvbiBnbG9iYWxseSBhZ3JlZWQgbmFtZXMuCiAgICAgKi8KICAgIHJlcS5jb25maWcgPSBmdW5jdGlvbiAoY29uZmlnKSB7CiAgICAgICAgcmV0dXJuIHJlcShjb25maWcpOwogICAgfTsKCiAgICAvKioKICAgICAqIEV4ZWN1dGUgc29tZXRoaW5nIGFmdGVyIHRoZSBjdXJyZW50IHRpY2sKICAgICAqIG9mIHRoZSBldmVudCBsb29wLiBPdmVycmlkZSBmb3Igb3RoZXIgZW52cwogICAgICogdGhhdCBoYXZlIGEgYmV0dGVyIHNvbHV0aW9uIHRoYW4gc2V0VGltZW91dC4KICAgICAqIEBwYXJhbSAge0Z1bmN0aW9ufSBmbiBmdW5jdGlvbiB0byBleGVjdXRlIGxhdGVyLgogICAgICovCiAgICByZXEubmV4dFRpY2sgPSB0eXBlb2Ygc2V0VGltZW91dCAhPT0gJ3VuZGVmaW5lZCcgPyBmdW5jdGlvbiAoZm4pIHsKICAgICAgICBzZXRUaW1lb3V0KGZuLCA0KTsKICAgIH0gOiBmdW5jdGlvbiAoZm4pIHsgZm4oKTsgfTsKCiAgICAvKioKICAgICAqIEV4cG9ydCByZXF1aXJlIGFzIGEgZ2xvYmFsLCBidXQgb25seSBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LgogICAgICovCiAgICBpZiAoIXJlcXVpcmUpIHsKICAgICAgICByZXF1aXJlID0gcmVxOwogICAgfQoKICAgIHJlcS52ZXJzaW9uID0gdmVyc2lvbjsKCiAgICAvL1VzZWQgdG8gZmlsdGVyIG91dCBkZXBlbmRlbmNpZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXRocy4KICAgIHJlcS5qc0V4dFJlZ0V4cCA9IC9eXC98OnxcP3xcLmpzJC87CiAgICByZXEuaXNCcm93c2VyID0gaXNCcm93c2VyOwogICAgcyA9IHJlcS5zID0gewogICAgICAgIGNvbnRleHRzOiBjb250ZXh0cywKICAgICAgICBuZXdDb250ZXh0OiBuZXdDb250ZXh0CiAgICB9OwoKICAgIC8vQ3JlYXRlIGRlZmF1bHQgY29udGV4dC4KICAgIHJlcSh7fSk7CgogICAgLy9FeHBvcnRzIHNvbWUgY29udGV4dC1zZW5zaXRpdmUgbWV0aG9kcyBvbiBnbG9iYWwgcmVxdWlyZS4KICAgIGVhY2goWwogICAgICAgICd0b1VybCcsCiAgICAgICAgJ3VuZGVmJywKICAgICAgICAnZGVmaW5lZCcsCiAgICAgICAgJ3NwZWNpZmllZCcKICAgIF0sIGZ1bmN0aW9uIChwcm9wKSB7CiAgICAgICAgLy9SZWZlcmVuY2UgZnJvbSBjb250ZXh0cyBpbnN0ZWFkIG9mIGVhcmx5IGJpbmRpbmcgdG8gZGVmYXVsdCBjb250ZXh0LAogICAgICAgIC8vc28gdGhhdCBkdXJpbmcgYnVpbGRzLCB0aGUgbGF0ZXN0IGluc3RhbmNlIG9mIHRoZSBkZWZhdWx0IGNvbnRleHQKICAgICAgICAvL3dpdGggaXRzIGNvbmZpZyBnZXRzIHVzZWQuCiAgICAgICAgcmVxW3Byb3BdID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgY3R4ID0gY29udGV4dHNbZGVmQ29udGV4dE5hbWVdOwogICAgICAgICAgICByZXR1cm4gY3R4LnJlcXVpcmVbcHJvcF0uYXBwbHkoY3R4LCBhcmd1bWVudHMpOwogICAgICAgIH07CiAgICB9KTsKCiAgICBpZiAoaXNCcm93c2VyKSB7CiAgICAgICAgaGVhZCA9IHMuaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07CiAgICAgICAgLy9JZiBCQVNFIHRhZyBpcyBpbiBwbGF5LCB1c2luZyBhcHBlbmRDaGlsZCBpcyBhIHByb2JsZW0gZm9yIElFNi4KICAgICAgICAvL1doZW4gdGhhdCBicm93c2VyIGRpZXMsIHRoaXMgY2FuIGJlIHJlbW92ZWQuIERldGFpbHMgaW4gdGhpcyBqUXVlcnkgYnVnOgogICAgICAgIC8vaHR0cDovL2Rldi5qcXVlcnkuY29tL3RpY2tldC8yNzA5CiAgICAgICAgYmFzZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYmFzZScpWzBdOwogICAgICAgIGlmIChiYXNlRWxlbWVudCkgewogICAgICAgICAgICBoZWFkID0gcy5oZWFkID0gYmFzZUVsZW1lbnQucGFyZW50Tm9kZTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBBbnkgZXJyb3JzIHRoYXQgcmVxdWlyZSBleHBsaWNpdGx5IGdlbmVyYXRlcyB3aWxsIGJlIHBhc3NlZCB0byB0aGlzCiAgICAgKiBmdW5jdGlvbi4gSW50ZXJjZXB0L292ZXJyaWRlIGl0IGlmIHlvdSB3YW50IGN1c3RvbSBlcnJvciBoYW5kbGluZy4KICAgICAqIEBwYXJhbSB7RXJyb3J9IGVyciB0aGUgZXJyb3Igb2JqZWN0LgogICAgICovCiAgICByZXEub25FcnJvciA9IGRlZmF1bHRPbkVycm9yOwoKICAgIC8qKgogICAgICogQ3JlYXRlcyB0aGUgbm9kZSBmb3IgdGhlIGxvYWQgY29tbWFuZC4gT25seSB1c2VkIGluIGJyb3dzZXIgZW52cy4KICAgICAqLwogICAgcmVxLmNyZWF0ZU5vZGUgPSBmdW5jdGlvbiAoY29uZmlnLCBtb2R1bGVOYW1lLCB1cmwpIHsKICAgICAgICB2YXIgbm9kZSA9IGNvbmZpZy54aHRtbCA/CiAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnaHRtbDpzY3JpcHQnKSA6CiAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBub2RlLnR5cGUgPSBjb25maWcuc2NyaXB0VHlwZSB8fCAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBub2RlLmNoYXJzZXQgPSAndXRmLTgnOwogICAgICAgIG5vZGUuYXN5bmMgPSB0cnVlOwogICAgICAgIHJldHVybiBub2RlOwogICAgfTsKCiAgICAvKioKICAgICAqIERvZXMgdGhlIHJlcXVlc3QgdG8gbG9hZCBhIG1vZHVsZSBmb3IgdGhlIGJyb3dzZXIgY2FzZS4KICAgICAqIE1ha2UgdGhpcyBhIHNlcGFyYXRlIGZ1bmN0aW9uIHRvIGFsbG93IG90aGVyIGVudmlyb25tZW50cwogICAgICogdG8gb3ZlcnJpZGUgaXQuCiAgICAgKgogICAgICogQHBhcmFtIHtPYmplY3R9IGNvbnRleHQgdGhlIHJlcXVpcmUgY29udGV4dCB0byBmaW5kIHN0YXRlLgogICAgICogQHBhcmFtIHtTdHJpbmd9IG1vZHVsZU5hbWUgdGhlIG5hbWUgb2YgdGhlIG1vZHVsZS4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSB1cmwgdGhlIFVSTCB0byB0aGUgbW9kdWxlLgogICAgICovCiAgICByZXEubG9hZCA9IGZ1bmN0aW9uIChjb250ZXh0LCBtb2R1bGVOYW1lLCB1cmwpIHsKICAgICAgICB2YXIgY29uZmlnID0gKGNvbnRleHQgJiYgY29udGV4dC5jb25maWcpIHx8IHt9LAogICAgICAgICAgICBub2RlOwogICAgICAgIGlmIChpc0Jyb3dzZXIpIHsKICAgICAgICAgICAgLy9JbiB0aGUgYnJvd3NlciBzbyB1c2UgYSBzY3JpcHQgdGFnCiAgICAgICAgICAgIG5vZGUgPSByZXEuY3JlYXRlTm9kZShjb25maWcsIG1vZHVsZU5hbWUsIHVybCk7CgogICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgnZGF0YS1yZXF1aXJlY29udGV4dCcsIGNvbnRleHQuY29udGV4dE5hbWUpOwogICAgICAgICAgICBub2RlLnNldEF0dHJpYnV0ZSgnZGF0YS1yZXF1aXJlbW9kdWxlJywgbW9kdWxlTmFtZSk7CgogICAgICAgICAgICAvL1NldCB1cCBsb2FkIGxpc3RlbmVyLiBUZXN0IGF0dGFjaEV2ZW50IGZpcnN0IGJlY2F1c2UgSUU5IGhhcwogICAgICAgICAgICAvL2Egc3VidGxlIGlzc3VlIGluIGl0cyBhZGRFdmVudExpc3RlbmVyIGFuZCBzY3JpcHQgb25sb2FkIGZpcmluZ3MKICAgICAgICAgICAgLy90aGF0IGRvIG5vdCBtYXRjaCB0aGUgYmVoYXZpb3Igb2YgYWxsIG90aGVyIGJyb3dzZXJzIHdpdGgKICAgICAgICAgICAgLy9hZGRFdmVudExpc3RlbmVyIHN1cHBvcnQsIHdoaWNoIGZpcmUgdGhlIG9ubG9hZCBldmVudCBmb3IgYQogICAgICAgICAgICAvL3NjcmlwdCByaWdodCBhZnRlciB0aGUgc2NyaXB0IGV4ZWN1dGlvbi4gU2VlOgogICAgICAgICAgICAvL2h0dHBzOi8vY29ubmVjdC5taWNyb3NvZnQuY29tL0lFL2ZlZWRiYWNrL2RldGFpbHMvNjQ4MDU3L3NjcmlwdC1vbmxvYWQtZXZlbnQtaXMtbm90LWZpcmVkLWltbWVkaWF0ZWx5LWFmdGVyLXNjcmlwdC1leGVjdXRpb24KICAgICAgICAgICAgLy9VTkZPUlRVTkFURUxZIE9wZXJhIGltcGxlbWVudHMgYXR0YWNoRXZlbnQgYnV0IGRvZXMgbm90IGZvbGxvdyB0aGUgc2NyaXB0CiAgICAgICAgICAgIC8vc2NyaXB0IGV4ZWN1dGlvbiBtb2RlLgogICAgICAgICAgICBpZiAobm9kZS5hdHRhY2hFdmVudCAmJgogICAgICAgICAgICAgICAgICAgIC8vQ2hlY2sgaWYgbm9kZS5hdHRhY2hFdmVudCBpcyBhcnRpZmljaWFsbHkgYWRkZWQgYnkgY3VzdG9tIHNjcmlwdCBvcgogICAgICAgICAgICAgICAgICAgIC8vbmF0aXZlbHkgc3VwcG9ydGVkIGJ5IGJyb3dzZXIKICAgICAgICAgICAgICAgICAgICAvL3JlYWQgaHR0cHM6Ly9naXRodWIuY29tL3JlcXVpcmVqcy9yZXF1aXJlanMvaXNzdWVzLzE4NwogICAgICAgICAgICAgICAgICAgIC8vaWYgd2UgY2FuIE5PVCBmaW5kIFtuYXRpdmUgY29kZV0gdGhlbiBpdCBtdXN0IE5PVCBuYXRpdmVseSBzdXBwb3J0ZWQuCiAgICAgICAgICAgICAgICAgICAgLy9pbiBJRTgsIG5vZGUuYXR0YWNoRXZlbnQgZG9lcyBub3QgaGF2ZSB0b1N0cmluZygpCiAgICAgICAgICAgICAgICAgICAgLy9Ob3RlIHRoZSB0ZXN0IGZvciAiW25hdGl2ZSBjb2RlIiB3aXRoIG5vIGNsb3NpbmcgYnJhY2UsIHNlZToKICAgICAgICAgICAgICAgICAgICAvL2h0dHBzOi8vZ2l0aHViLmNvbS9yZXF1aXJlanMvcmVxdWlyZWpzL2lzc3Vlcy8yNzMKICAgICAgICAgICAgICAgICAgICAhKG5vZGUuYXR0YWNoRXZlbnQudG9TdHJpbmcgJiYgbm9kZS5hdHRhY2hFdmVudC50b1N0cmluZygpLmluZGV4T2YoJ1tuYXRpdmUgY29kZScpIDwgMCkgJiYKICAgICAgICAgICAgICAgICAgICAhaXNPcGVyYSkgewogICAgICAgICAgICAgICAgLy9Qcm9iYWJseSBJRS4gSUUgKGF0IGxlYXN0IDYtOCkgZG8gbm90IGZpcmUKICAgICAgICAgICAgICAgIC8vc2NyaXB0IG9ubG9hZCByaWdodCBhZnRlciBleGVjdXRpbmcgdGhlIHNjcmlwdCwgc28KICAgICAgICAgICAgICAgIC8vd2UgY2Fubm90IHRpZSB0aGUgYW5vbnltb3VzIGRlZmluZSBjYWxsIHRvIGEgbmFtZS4KICAgICAgICAgICAgICAgIC8vSG93ZXZlciwgSUUgcmVwb3J0cyB0aGUgc2NyaXB0IGFzIGJlaW5nIGluICdpbnRlcmFjdGl2ZScKICAgICAgICAgICAgICAgIC8vcmVhZHlTdGF0ZSBhdCB0aGUgdGltZSBvZiB0aGUgZGVmaW5lIGNhbGwuCiAgICAgICAgICAgICAgICB1c2VJbnRlcmFjdGl2ZSA9IHRydWU7CgogICAgICAgICAgICAgICAgbm9kZS5hdHRhY2hFdmVudCgnb25yZWFkeXN0YXRlY2hhbmdlJywgY29udGV4dC5vblNjcmlwdExvYWQpOwogICAgICAgICAgICAgICAgLy9JdCB3b3VsZCBiZSBncmVhdCB0byBhZGQgYW4gZXJyb3IgaGFuZGxlciBoZXJlIHRvIGNhdGNoCiAgICAgICAgICAgICAgICAvLzQwNHMgaW4gSUU5Ky4gSG93ZXZlciwgb25yZWFkeXN0YXRlY2hhbmdlIHdpbGwgZmlyZSBiZWZvcmUKICAgICAgICAgICAgICAgIC8vdGhlIGVycm9yIGhhbmRsZXIsIHNvIHRoYXQgZG9lcyBub3QgaGVscC4gSWYgYWRkRXZlbnRMaXN0ZW5lcgogICAgICAgICAgICAgICAgLy9pcyB1c2VkLCB0aGVuIElFIHdpbGwgZmlyZSBlcnJvciBiZWZvcmUgbG9hZCwgYnV0IHdlIGNhbm5vdAogICAgICAgICAgICAgICAgLy91c2UgdGhhdCBwYXRod2F5IGdpdmVuIHRoZSBjb25uZWN0Lm1pY3Jvc29mdC5jb20gaXNzdWUKICAgICAgICAgICAgICAgIC8vbWVudGlvbmVkIGFib3ZlIGFib3V0IG5vdCBkb2luZyB0aGUgJ3NjcmlwdCBleGVjdXRlLAogICAgICAgICAgICAgICAgLy90aGVuIGZpcmUgdGhlIHNjcmlwdCBsb2FkIGV2ZW50IGxpc3RlbmVyIGJlZm9yZSBleGVjdXRlCiAgICAgICAgICAgICAgICAvL25leHQgc2NyaXB0JyB0aGF0IG90aGVyIGJyb3dzZXJzIGRvLgogICAgICAgICAgICAgICAgLy9CZXN0IGhvcGU6IElFMTAgZml4ZXMgdGhlIGlzc3VlcywKICAgICAgICAgICAgICAgIC8vYW5kIHRoZW4gZGVzdHJveXMgYWxsIGluc3RhbGxzIG9mIElFIDYtOS4KICAgICAgICAgICAgICAgIC8vbm9kZS5hdHRhY2hFdmVudCgnb25lcnJvcicsIGNvbnRleHQub25TY3JpcHRFcnJvcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBjb250ZXh0Lm9uU2NyaXB0TG9hZCwgZmFsc2UpOwogICAgICAgICAgICAgICAgbm9kZS5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGNvbnRleHQub25TY3JpcHRFcnJvciwgZmFsc2UpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG5vZGUuc3JjID0gdXJsOwoKICAgICAgICAgICAgLy9DYWxsaW5nIG9uTm9kZUNyZWF0ZWQgYWZ0ZXIgYWxsIHByb3BlcnRpZXMgb24gdGhlIG5vZGUgaGF2ZSBiZWVuCiAgICAgICAgICAgIC8vc2V0LCBidXQgYmVmb3JlIGl0IGlzIHBsYWNlZCBpbiB0aGUgRE9NLgogICAgICAgICAgICBpZiAoY29uZmlnLm9uTm9kZUNyZWF0ZWQpIHsKICAgICAgICAgICAgICAgIGNvbmZpZy5vbk5vZGVDcmVhdGVkKG5vZGUsIGNvbmZpZywgbW9kdWxlTmFtZSwgdXJsKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy9Gb3Igc29tZSBjYWNoZSBjYXNlcyBpbiBJRSA2LTgsIHRoZSBzY3JpcHQgZXhlY3V0ZXMgYmVmb3JlIHRoZSBlbmQKICAgICAgICAgICAgLy9vZiB0aGUgYXBwZW5kQ2hpbGQgZXhlY3V0aW9uLCBzbyB0byB0aWUgYW4gYW5vbnltb3VzIGRlZmluZQogICAgICAgICAgICAvL2NhbGwgdG8gdGhlIG1vZHVsZSBuYW1lICh3aGljaCBpcyBzdG9yZWQgb24gdGhlIG5vZGUpLCBob2xkIG9uCiAgICAgICAgICAgIC8vdG8gYSByZWZlcmVuY2UgdG8gdGhpcyBub2RlLCBidXQgY2xlYXIgYWZ0ZXIgdGhlIERPTSBpbnNlcnRpb24uCiAgICAgICAgICAgIGN1cnJlbnRseUFkZGluZ1NjcmlwdCA9IG5vZGU7CiAgICAgICAgICAgIGlmIChiYXNlRWxlbWVudCkgewogICAgICAgICAgICAgICAgaGVhZC5pbnNlcnRCZWZvcmUobm9kZSwgYmFzZUVsZW1lbnQpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChub2RlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjdXJyZW50bHlBZGRpbmdTY3JpcHQgPSBudWxsOwoKICAgICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgICAgfSBlbHNlIGlmIChpc1dlYldvcmtlcikgewogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgLy9JbiBhIHdlYiB3b3JrZXIsIHVzZSBpbXBvcnRTY3JpcHRzLiBUaGlzIGlzIG5vdCBhIHZlcnkKICAgICAgICAgICAgICAgIC8vZWZmaWNpZW50IHVzZSBvZiBpbXBvcnRTY3JpcHRzLCBpbXBvcnRTY3JpcHRzIHdpbGwgYmxvY2sgdW50aWwKICAgICAgICAgICAgICAgIC8vaXRzIHNjcmlwdCBpcyBkb3dubG9hZGVkIGFuZCBldmFsdWF0ZWQuIEhvd2V2ZXIsIGlmIHdlYiB3b3JrZXJzCiAgICAgICAgICAgICAgICAvL2FyZSBpbiBwbGF5LCB0aGUgZXhwZWN0YXRpb24gaXMgdGhhdCBhIGJ1aWxkIGhhcyBiZWVuIGRvbmUgc28KICAgICAgICAgICAgICAgIC8vdGhhdCBvbmx5IG9uZSBzY3JpcHQgbmVlZHMgdG8gYmUgbG9hZGVkIGFueXdheS4gVGhpcyBtYXkgbmVlZAogICAgICAgICAgICAgICAgLy90byBiZSByZWV2YWx1YXRlZCBpZiBvdGhlciB1c2UgY2FzZXMgYmVjb21lIGNvbW1vbi4KCiAgICAgICAgICAgICAgICAvLyBQb3N0IGEgdGFzayB0byB0aGUgZXZlbnQgbG9vcCB0byB3b3JrIGFyb3VuZCBhIGJ1ZyBpbiBXZWJLaXQKICAgICAgICAgICAgICAgIC8vIHdoZXJlIHRoZSB3b3JrZXIgZ2V0cyBnYXJiYWdlLWNvbGxlY3RlZCBhZnRlciBjYWxsaW5nCiAgICAgICAgICAgICAgICAvLyBpbXBvcnRTY3JpcHRzKCk6IGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MzMxNwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHt9LCAwKTsKICAgICAgICAgICAgICAgIGltcG9ydFNjcmlwdHModXJsKTsKCiAgICAgICAgICAgICAgICAvL0FjY291bnQgZm9yIGFub255bW91cyBtb2R1bGVzCiAgICAgICAgICAgICAgICBjb250ZXh0LmNvbXBsZXRlTG9hZChtb2R1bGVOYW1lKTsKICAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgICAgY29udGV4dC5vbkVycm9yKG1ha2VFcnJvcignaW1wb3J0c2NyaXB0cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ltcG9ydFNjcmlwdHMgZmFpbGVkIGZvciAnICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlTmFtZSArICcgYXQgJyArIHVybCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2R1bGVOYW1lXSkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfTsKCiAgICBmdW5jdGlvbiBnZXRJbnRlcmFjdGl2ZVNjcmlwdCgpIHsKICAgICAgICBpZiAoaW50ZXJhY3RpdmVTY3JpcHQgJiYgaW50ZXJhY3RpdmVTY3JpcHQucmVhZHlTdGF0ZSA9PT0gJ2ludGVyYWN0aXZlJykgewogICAgICAgICAgICByZXR1cm4gaW50ZXJhY3RpdmVTY3JpcHQ7CiAgICAgICAgfQoKICAgICAgICBlYWNoUmV2ZXJzZShzY3JpcHRzKCksIGZ1bmN0aW9uIChzY3JpcHQpIHsKICAgICAgICAgICAgaWYgKHNjcmlwdC5yZWFkeVN0YXRlID09PSAnaW50ZXJhY3RpdmUnKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gKGludGVyYWN0aXZlU2NyaXB0ID0gc2NyaXB0KTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgICAgIHJldHVybiBpbnRlcmFjdGl2ZVNjcmlwdDsKICAgIH0KCiAgICAvL0xvb2sgZm9yIGEgZGF0YS1tYWluIHNjcmlwdCBhdHRyaWJ1dGUsIHdoaWNoIGNvdWxkIGFsc28gYWRqdXN0IHRoZSBiYXNlVXJsLgogICAgaWYgKGlzQnJvd3NlciAmJiAhY2ZnLnNraXBEYXRhTWFpbikgewogICAgICAgIC8vRmlndXJlIG91dCBiYXNlVXJsLiBHZXQgaXQgZnJvbSB0aGUgc2NyaXB0IHRhZyB3aXRoIHJlcXVpcmUuanMgaW4gaXQuCiAgICAgICAgZWFjaFJldmVyc2Uoc2NyaXB0cygpLCBmdW5jdGlvbiAoc2NyaXB0KSB7CiAgICAgICAgICAgIC8vU2V0IHRoZSAnaGVhZCcgd2hlcmUgd2UgY2FuIGFwcGVuZCBjaGlsZHJlbiBieQogICAgICAgICAgICAvL3VzaW5nIHRoZSBzY3JpcHQncyBwYXJlbnQuCiAgICAgICAgICAgIGlmICghaGVhZCkgewogICAgICAgICAgICAgICAgaGVhZCA9IHNjcmlwdC5wYXJlbnROb2RlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvL0xvb2sgZm9yIGEgZGF0YS1tYWluIGF0dHJpYnV0ZSB0byBzZXQgbWFpbiBzY3JpcHQgZm9yIHRoZSBwYWdlCiAgICAgICAgICAgIC8vdG8gbG9hZC4gSWYgaXQgaXMgdGhlcmUsIHRoZSBwYXRoIHRvIGRhdGEgbWFpbiBiZWNvbWVzIHRoZQogICAgICAgICAgICAvL2Jhc2VVcmwsIGlmIGl0IGlzIG5vdCBhbHJlYWR5IHNldC4KICAgICAgICAgICAgZGF0YU1haW4gPSBzY3JpcHQuZ2V0QXR0cmlidXRlKCdkYXRhLW1haW4nKTsKICAgICAgICAgICAgaWYgKGRhdGFNYWluKSB7CiAgICAgICAgICAgICAgICAvL1ByZXNlcnZlIGRhdGFNYWluIGluIGNhc2UgaXQgaXMgYSBwYXRoIChpLmUuIGNvbnRhaW5zICc/JykKICAgICAgICAgICAgICAgIG1haW5TY3JpcHQgPSBkYXRhTWFpbjsKCiAgICAgICAgICAgICAgICAvL1NldCBmaW5hbCBiYXNlVXJsIGlmIHRoZXJlIGlzIG5vdCBhbHJlYWR5IGFuIGV4cGxpY2l0IG9uZSwKICAgICAgICAgICAgICAgIC8vYnV0IG9ubHkgZG8gc28gaWYgdGhlIGRhdGEtbWFpbiB2YWx1ZSBpcyBub3QgYSBsb2FkZXIgcGx1Z2luCiAgICAgICAgICAgICAgICAvL21vZHVsZSBJRC4KICAgICAgICAgICAgICAgIGlmICghY2ZnLmJhc2VVcmwgJiYgbWFpblNjcmlwdC5pbmRleE9mKCchJykgPT09IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgLy9QdWxsIG9mZiB0aGUgZGlyZWN0b3J5IG9mIGRhdGEtbWFpbiBmb3IgdXNlIGFzIHRoZQogICAgICAgICAgICAgICAgICAgIC8vYmFzZVVybC4KICAgICAgICAgICAgICAgICAgICBzcmMgPSBtYWluU2NyaXB0LnNwbGl0KCcvJyk7CiAgICAgICAgICAgICAgICAgICAgbWFpblNjcmlwdCA9IHNyYy5wb3AoKTsKICAgICAgICAgICAgICAgICAgICBzdWJQYXRoID0gc3JjLmxlbmd0aCA/IHNyYy5qb2luKCcvJykgICsgJy8nIDogJy4vJzsKCiAgICAgICAgICAgICAgICAgICAgY2ZnLmJhc2VVcmwgPSBzdWJQYXRoOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vU3RyaXAgb2ZmIGFueSB0cmFpbGluZyAuanMgc2luY2UgbWFpblNjcmlwdCBpcyBub3cKICAgICAgICAgICAgICAgIC8vbGlrZSBhIG1vZHVsZSBuYW1lLgogICAgICAgICAgICAgICAgbWFpblNjcmlwdCA9IG1haW5TY3JpcHQucmVwbGFjZShqc1N1ZmZpeFJlZ0V4cCwgJycpOwoKICAgICAgICAgICAgICAgIC8vSWYgbWFpblNjcmlwdCBpcyBzdGlsbCBhIHBhdGgsIGZhbGwgYmFjayB0byBkYXRhTWFpbgogICAgICAgICAgICAgICAgaWYgKHJlcS5qc0V4dFJlZ0V4cC50ZXN0KG1haW5TY3JpcHQpKSB7CiAgICAgICAgICAgICAgICAgICAgbWFpblNjcmlwdCA9IGRhdGFNYWluOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vUHV0IHRoZSBkYXRhLW1haW4gc2NyaXB0IGluIHRoZSBmaWxlcyB0byBsb2FkLgogICAgICAgICAgICAgICAgY2ZnLmRlcHMgPSBjZmcuZGVwcyA/IGNmZy5kZXBzLmNvbmNhdChtYWluU2NyaXB0KSA6IFttYWluU2NyaXB0XTsKCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQoKICAgIC8qKgogICAgICogVGhlIGZ1bmN0aW9uIHRoYXQgaGFuZGxlcyBkZWZpbml0aW9ucyBvZiBtb2R1bGVzLiBEaWZmZXJzIGZyb20KICAgICAqIHJlcXVpcmUoKSBpbiB0aGF0IGEgc3RyaW5nIGZvciB0aGUgbW9kdWxlIHNob3VsZCBiZSB0aGUgZmlyc3QgYXJndW1lbnQsCiAgICAgKiBhbmQgdGhlIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgYWZ0ZXIgZGVwZW5kZW5jaWVzIGFyZSBsb2FkZWQgc2hvdWxkCiAgICAgKiByZXR1cm4gYSB2YWx1ZSB0byBkZWZpbmUgdGhlIG1vZHVsZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBmaXJzdCBhcmd1bWVudCdzCiAgICAgKiBuYW1lLgogICAgICovCiAgICBkZWZpbmUgPSBmdW5jdGlvbiAobmFtZSwgZGVwcywgY2FsbGJhY2spIHsKICAgICAgICB2YXIgbm9kZSwgY29udGV4dDsKCiAgICAgICAgLy9BbGxvdyBmb3IgYW5vbnltb3VzIG1vZHVsZXMKICAgICAgICBpZiAodHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnKSB7CiAgICAgICAgICAgIC8vQWRqdXN0IGFyZ3MgYXBwcm9wcmlhdGVseQogICAgICAgICAgICBjYWxsYmFjayA9IGRlcHM7CiAgICAgICAgICAgIGRlcHMgPSBuYW1lOwogICAgICAgICAgICBuYW1lID0gbnVsbDsKICAgICAgICB9CgogICAgICAgIC8vVGhpcyBtb2R1bGUgbWF5IG5vdCBoYXZlIGRlcGVuZGVuY2llcwogICAgICAgIGlmICghaXNBcnJheShkZXBzKSkgewogICAgICAgICAgICBjYWxsYmFjayA9IGRlcHM7CiAgICAgICAgICAgIGRlcHMgPSBudWxsOwogICAgICAgIH0KCiAgICAgICAgLy9JZiBubyBuYW1lLCBhbmQgY2FsbGJhY2sgaXMgYSBmdW5jdGlvbiwgdGhlbiBmaWd1cmUgb3V0IGlmIGl0IGEKICAgICAgICAvL0NvbW1vbkpTIHRoaW5nIHdpdGggZGVwZW5kZW5jaWVzLgogICAgICAgIGlmICghZGVwcyAmJiBpc0Z1bmN0aW9uKGNhbGxiYWNrKSkgewogICAgICAgICAgICBkZXBzID0gW107CiAgICAgICAgICAgIC8vUmVtb3ZlIGNvbW1lbnRzIGZyb20gdGhlIGNhbGxiYWNrIHN0cmluZywKICAgICAgICAgICAgLy9sb29rIGZvciByZXF1aXJlIGNhbGxzLCBhbmQgcHVsbCB0aGVtIGludG8gdGhlIGRlcGVuZGVuY2llcywKICAgICAgICAgICAgLy9idXQgb25seSBpZiB0aGVyZSBhcmUgZnVuY3Rpb24gYXJncy4KICAgICAgICAgICAgaWYgKGNhbGxiYWNrLmxlbmd0aCkgewogICAgICAgICAgICAgICAgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAudG9TdHJpbmcoKQogICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKGNvbW1lbnRSZWdFeHAsIGNvbW1lbnRSZXBsYWNlKQogICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKGNqc1JlcXVpcmVSZWdFeHAsIGZ1bmN0aW9uIChtYXRjaCwgZGVwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGRlcHMucHVzaChkZXApOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIC8vTWF5IGJlIGEgQ29tbW9uSlMgdGhpbmcgZXZlbiB3aXRob3V0IHJlcXVpcmUgY2FsbHMsIGJ1dCBzdGlsbAogICAgICAgICAgICAgICAgLy9jb3VsZCB1c2UgZXhwb3J0cywgYW5kIG1vZHVsZS4gQXZvaWQgZG9pbmcgZXhwb3J0cyBhbmQgbW9kdWxlCiAgICAgICAgICAgICAgICAvL3dvcmsgdGhvdWdoIGlmIGl0IGp1c3QgbmVlZHMgcmVxdWlyZS4KICAgICAgICAgICAgICAgIC8vUkVRVUlSRVMgdGhlIGZ1bmN0aW9uIHRvIGV4cGVjdCB0aGUgQ29tbW9uSlMgdmFyaWFibGVzIGluIHRoZQogICAgICAgICAgICAgICAgLy9vcmRlciBsaXN0ZWQgYmVsb3cuCiAgICAgICAgICAgICAgICBkZXBzID0gKGNhbGxiYWNrLmxlbmd0aCA9PT0gMSA/IFsncmVxdWlyZSddIDogWydyZXF1aXJlJywgJ2V4cG9ydHMnLCAnbW9kdWxlJ10pLmNvbmNhdChkZXBzKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy9JZiBpbiBJRSA2LTggYW5kIGhpdCBhbiBhbm9ueW1vdXMgZGVmaW5lKCkgY2FsbCwgZG8gdGhlIGludGVyYWN0aXZlCiAgICAgICAgLy93b3JrLgogICAgICAgIGlmICh1c2VJbnRlcmFjdGl2ZSkgewogICAgICAgICAgICBub2RlID0gY3VycmVudGx5QWRkaW5nU2NyaXB0IHx8IGdldEludGVyYWN0aXZlU2NyaXB0KCk7CiAgICAgICAgICAgIGlmIChub2RlKSB7CiAgICAgICAgICAgICAgICBpZiAoIW5hbWUpIHsKICAgICAgICAgICAgICAgICAgICBuYW1lID0gbm9kZS5nZXRBdHRyaWJ1dGUoJ2RhdGEtcmVxdWlyZW1vZHVsZScpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY29udGV4dCA9IGNvbnRleHRzW25vZGUuZ2V0QXR0cmlidXRlKCdkYXRhLXJlcXVpcmVjb250ZXh0JyldOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvL0Fsd2F5cyBzYXZlIG9mZiBldmFsdWF0aW5nIHRoZSBkZWYgY2FsbCB1bnRpbCB0aGUgc2NyaXB0IG9ubG9hZCBoYW5kbGVyLgogICAgICAgIC8vVGhpcyBhbGxvd3MgbXVsdGlwbGUgbW9kdWxlcyB0byBiZSBpbiBhIGZpbGUgd2l0aG91dCBwcmVtYXR1cmVseQogICAgICAgIC8vdHJhY2luZyBkZXBlbmRlbmNpZXMsIGFuZCBhbGxvd3MgZm9yIGFub255bW91cyBtb2R1bGUgc3VwcG9ydCwKICAgICAgICAvL3doZXJlIHRoZSBtb2R1bGUgbmFtZSBpcyBub3Qga25vd24gdW50aWwgdGhlIHNjcmlwdCBvbmxvYWQgZXZlbnQKICAgICAgICAvL29jY3Vycy4gSWYgbm8gY29udGV4dCwgdXNlIHRoZSBnbG9iYWwgcXVldWUsIGFuZCBnZXQgaXQgcHJvY2Vzc2VkCiAgICAgICAgLy9pbiB0aGUgb25zY3JpcHQgbG9hZCBjYWxsYmFjay4KICAgICAgICBpZiAoY29udGV4dCkgewogICAgICAgICAgICBjb250ZXh0LmRlZlF1ZXVlLnB1c2goW25hbWUsIGRlcHMsIGNhbGxiYWNrXSk7CiAgICAgICAgICAgIGNvbnRleHQuZGVmUXVldWVNYXBbbmFtZV0gPSB0cnVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGdsb2JhbERlZlF1ZXVlLnB1c2goW25hbWUsIGRlcHMsIGNhbGxiYWNrXSk7CiAgICAgICAgfQogICAgfTsKCiAgICBkZWZpbmUuYW1kID0gewogICAgICAgIGpRdWVyeTogdHJ1ZQogICAgfTsKCiAgICAvKioKICAgICAqIEV4ZWN1dGVzIHRoZSB0ZXh0LiBOb3JtYWxseSBqdXN0IHVzZXMgZXZhbCwgYnV0IGNhbiBiZSBtb2RpZmllZAogICAgICogdG8gdXNlIGEgYmV0dGVyLCBlbnZpcm9ubWVudC1zcGVjaWZpYyBjYWxsLiBPbmx5IHVzZWQgZm9yIHRyYW5zcGlsaW5nCiAgICAgKiBsb2FkZXIgcGx1Z2lucywgbm90IGZvciBwbGFpbiBKUyBtb2R1bGVzLgogICAgICogQHBhcmFtIHtTdHJpbmd9IHRleHQgdGhlIHRleHQgdG8gZXhlY3V0ZS9ldmFsdWF0ZS4KICAgICAqLwogICAgcmVxLmV4ZWMgPSBmdW5jdGlvbiAodGV4dCkgewogICAgICAgIC8qanNsaW50IGV2aWw6IHRydWUgKi8KICAgICAgICByZXR1cm4gZXZhbCh0ZXh0KTsKICAgIH07CgogICAgLy9TZXQgdXAgd2l0aCBjb25maWcgaW5mby4KICAgIHJlcShjZmcpOwp9KHRoaXMsICh0eXBlb2Ygc2V0VGltZW91dCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBzZXRUaW1lb3V0KSkpOwoKLy8gQ29weXJpZ2h0IDIwMTQgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLy8KLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci8vIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KLy8gICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAovLwovLyBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKLy8KLy8gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQovLyBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAovLyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLy8gICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKLy8gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgohZnVuY3Rpb24oKXt2YXIgYT17fSxiPXt9LGM9e307IWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXtpZigibnVtYmVyIj09dHlwZW9mIGEpcmV0dXJuIGE7dmFyIGI9e307Zm9yKHZhciBjIGluIGEpYltjXT1hW2NdO3JldHVybiBifWZ1bmN0aW9uIGQoKXt0aGlzLl9kZWxheT0wLHRoaXMuX2VuZERlbGF5PTAsdGhpcy5fZmlsbD0ibm9uZSIsdGhpcy5faXRlcmF0aW9uU3RhcnQ9MCx0aGlzLl9pdGVyYXRpb25zPTEsdGhpcy5fZHVyYXRpb249MCx0aGlzLl9wbGF5YmFja1JhdGU9MSx0aGlzLl9kaXJlY3Rpb249Im5vcm1hbCIsdGhpcy5fZWFzaW5nPSJsaW5lYXIiLHRoaXMuX2Vhc2luZ0Z1bmN0aW9uPXh9ZnVuY3Rpb24gZSgpe3JldHVybiBhLmlzRGVwcmVjYXRlZCgiSW52YWxpZCB0aW1pbmcgaW5wdXRzIiwiMjAxNi0wMy0wMiIsIlR5cGVFcnJvciBleGNlcHRpb25zIHdpbGwgYmUgdGhyb3duIGluc3RlYWQuIiwhMCl9ZnVuY3Rpb24gZihiLGMsZSl7dmFyIGY9bmV3IGQ7cmV0dXJuIGMmJihmLmZpbGw9ImJvdGgiLGYuZHVyYXRpb249ImF1dG8iKSwibnVtYmVyIiE9dHlwZW9mIGJ8fGlzTmFOKGIpP3ZvaWQgMCE9PWImJk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGIpLmZvckVhY2goZnVuY3Rpb24oYyl7aWYoImF1dG8iIT1iW2NdKXtpZigoIm51bWJlciI9PXR5cGVvZiBmW2NdfHwiZHVyYXRpb24iPT1jKSYmKCJudW1iZXIiIT10eXBlb2YgYltjXXx8aXNOYU4oYltjXSkpKXJldHVybjtpZigiZmlsbCI9PWMmJi0xPT12LmluZGV4T2YoYltjXSkpcmV0dXJuO2lmKCJkaXJlY3Rpb24iPT1jJiYtMT09dy5pbmRleE9mKGJbY10pKXJldHVybjtpZigicGxheWJhY2tSYXRlIj09YyYmMSE9PWJbY10mJmEuaXNEZXByZWNhdGVkKCJBbmltYXRpb25FZmZlY3RUaW1pbmcucGxheWJhY2tSYXRlIiwiMjAxNC0xMS0yOCIsIlVzZSBBbmltYXRpb24ucGxheWJhY2tSYXRlIGluc3RlYWQuIikpcmV0dXJuO2ZbY109YltjXX19KTpmLmR1cmF0aW9uPWIsZn1mdW5jdGlvbiBnKGEpe3JldHVybiJudW1iZXIiPT10eXBlb2YgYSYmKGE9aXNOYU4oYSk/e2R1cmF0aW9uOjB9OntkdXJhdGlvbjphfSksYX1mdW5jdGlvbiBoKGIsYyl7cmV0dXJuIGI9YS5udW1lcmljVGltaW5nVG9PYmplY3QoYiksZihiLGMpfWZ1bmN0aW9uIGkoYSxiLGMsZCl7cmV0dXJuIGE8MHx8YT4xfHxjPDB8fGM+MT94OmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGYoYSxiLGMpe3JldHVybiAzKmEqKDEtYykqKDEtYykqYyszKmIqKDEtYykqYypjK2MqYypjfWlmKGU8PTApe3ZhciBnPTA7cmV0dXJuIGE+MD9nPWIvYTohYiYmYz4wJiYoZz1kL2MpLGcqZX1pZihlPj0xKXt2YXIgaD0wO3JldHVybiBjPDE/aD0oZC0xKS8oYy0xKToxPT1jJiZhPDEmJihoPShiLTEpLyhhLTEpKSwxK2gqKGUtMSl9Zm9yKHZhciBpPTAsaj0xO2k8ajspe3ZhciBrPShpK2opLzIsbD1mKGEsYyxrKTtpZihNYXRoLmFicyhlLWwpPDFlLTUpcmV0dXJuIGYoYixkLGspO2w8ZT9pPWs6aj1rfXJldHVybiBmKGIsZCxrKX19ZnVuY3Rpb24gaihhLGIpe3JldHVybiBmdW5jdGlvbihjKXtpZihjPj0xKXJldHVybiAxO3ZhciBkPTEvYTtyZXR1cm4oYys9YipkKS1jJWR9fWZ1bmN0aW9uIGsoYSl7Q3x8KEM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGUpLEMuYW5pbWF0aW9uVGltaW5nRnVuY3Rpb249IiIsQy5hbmltYXRpb25UaW1pbmdGdW5jdGlvbj1hO3ZhciBiPUMuYW5pbWF0aW9uVGltaW5nRnVuY3Rpb247aWYoIiI9PWImJmUoKSl0aHJvdyBuZXcgVHlwZUVycm9yKGErIiBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgZWFzaW5nIik7cmV0dXJuIGJ9ZnVuY3Rpb24gbChhKXtpZigibGluZWFyIj09YSlyZXR1cm4geDt2YXIgYj1FLmV4ZWMoYSk7aWYoYilyZXR1cm4gaS5hcHBseSh0aGlzLGIuc2xpY2UoMSkubWFwKE51bWJlcikpO3ZhciBjPUYuZXhlYyhhKTtpZihjKXJldHVybiBqKE51bWJlcihjWzFdKSxBKTt2YXIgZD1HLmV4ZWMoYSk7cmV0dXJuIGQ/aihOdW1iZXIoZFsxXSkse3N0YXJ0OnksbWlkZGxlOnosZW5kOkF9W2RbMl1dKTpCW2FdfHx4fWZ1bmN0aW9uIG0oYSl7cmV0dXJuIE1hdGguYWJzKG4oYSkvYS5wbGF5YmFja1JhdGUpfWZ1bmN0aW9uIG4oYSl7cmV0dXJuIDA9PT1hLmR1cmF0aW9ufHwwPT09YS5pdGVyYXRpb25zPzA6YS5kdXJhdGlvbiphLml0ZXJhdGlvbnN9ZnVuY3Rpb24gbyhhLGIsYyl7aWYobnVsbD09YilyZXR1cm4gSDt2YXIgZD1jLmRlbGF5K2ErYy5lbmREZWxheTtyZXR1cm4gYjxNYXRoLm1pbihjLmRlbGF5LGQpP0k6Yj49TWF0aC5taW4oYy5kZWxheSthLGQpP0o6S31mdW5jdGlvbiBwKGEsYixjLGQsZSl7c3dpdGNoKGQpe2Nhc2UgSTpyZXR1cm4iYmFja3dhcmRzIj09Ynx8ImJvdGgiPT1iPzA6bnVsbDtjYXNlIEs6cmV0dXJuIGMtZTtjYXNlIEo6cmV0dXJuImZvcndhcmRzIj09Ynx8ImJvdGgiPT1iP2E6bnVsbDtjYXNlIEg6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHEoYSxiLGMsZCxlKXt2YXIgZj1lO3JldHVybiAwPT09YT9iIT09SSYmKGYrPWMpOmYrPWQvYSxmfWZ1bmN0aW9uIHIoYSxiLGMsZCxlLGYpe3ZhciBnPWE9PT0xLzA/YiUxOmElMTtyZXR1cm4gMCE9PWd8fGMhPT1KfHwwPT09ZHx8MD09PWUmJjAhPT1mfHwoZz0xKSxnfWZ1bmN0aW9uIHMoYSxiLGMsZCl7cmV0dXJuIGE9PT1KJiZiPT09MS8wPzEvMDoxPT09Yz9NYXRoLmZsb29yKGQpLTE6TWF0aC5mbG9vcihkKX1mdW5jdGlvbiB0KGEsYixjKXt2YXIgZD1hO2lmKCJub3JtYWwiIT09YSYmInJldmVyc2UiIT09YSl7dmFyIGU9YjsiYWx0ZXJuYXRlLXJldmVyc2UiPT09YSYmKGUrPTEpLGQ9Im5vcm1hbCIsZSE9PTEvMCYmZSUyIT0wJiYoZD0icmV2ZXJzZSIpfXJldHVybiJub3JtYWwiPT09ZD9jOjEtY31mdW5jdGlvbiB1KGEsYixjKXt2YXIgZD1vKGEsYixjKSxlPXAoYSxjLmZpbGwsYixkLGMuZGVsYXkpO2lmKG51bGw9PT1lKXJldHVybiBudWxsO3ZhciBmPXEoYy5kdXJhdGlvbixkLGMuaXRlcmF0aW9ucyxlLGMuaXRlcmF0aW9uU3RhcnQpLGc9cihmLGMuaXRlcmF0aW9uU3RhcnQsZCxjLml0ZXJhdGlvbnMsZSxjLmR1cmF0aW9uKSxoPXMoZCxjLml0ZXJhdGlvbnMsZyxmKSxpPXQoYy5kaXJlY3Rpb24saCxnKTtyZXR1cm4gYy5fZWFzaW5nRnVuY3Rpb24oaSl9dmFyIHY9ImJhY2t3YXJkc3xmb3J3YXJkc3xib3RofG5vbmUiLnNwbGl0KCJ8Iiksdz0icmV2ZXJzZXxhbHRlcm5hdGV8YWx0ZXJuYXRlLXJldmVyc2UiLnNwbGl0KCJ8IikseD1mdW5jdGlvbihhKXtyZXR1cm4gYX07ZC5wcm90b3R5cGU9e19zZXRNZW1iZXI6ZnVuY3Rpb24oYixjKXt0aGlzWyJfIitiXT1jLHRoaXMuX2VmZmVjdCYmKHRoaXMuX2VmZmVjdC5fdGltaW5nSW5wdXRbYl09Yyx0aGlzLl9lZmZlY3QuX3RpbWluZz1hLm5vcm1hbGl6ZVRpbWluZ0lucHV0KHRoaXMuX2VmZmVjdC5fdGltaW5nSW5wdXQpLHRoaXMuX2VmZmVjdC5hY3RpdmVEdXJhdGlvbj1hLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKHRoaXMuX2VmZmVjdC5fdGltaW5nKSx0aGlzLl9lZmZlY3QuX2FuaW1hdGlvbiYmdGhpcy5fZWZmZWN0Ll9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCkpfSxnZXQgcGxheWJhY2tSYXRlKCl7cmV0dXJuIHRoaXMuX3BsYXliYWNrUmF0ZX0sc2V0IGRlbGF5KGEpe3RoaXMuX3NldE1lbWJlcigiZGVsYXkiLGEpfSxnZXQgZGVsYXkoKXtyZXR1cm4gdGhpcy5fZGVsYXl9LHNldCBlbmREZWxheShhKXt0aGlzLl9zZXRNZW1iZXIoImVuZERlbGF5IixhKX0sZ2V0IGVuZERlbGF5KCl7cmV0dXJuIHRoaXMuX2VuZERlbGF5fSxzZXQgZmlsbChhKXt0aGlzLl9zZXRNZW1iZXIoImZpbGwiLGEpfSxnZXQgZmlsbCgpe3JldHVybiB0aGlzLl9maWxsfSxzZXQgaXRlcmF0aW9uU3RhcnQoYSl7aWYoKGlzTmFOKGEpfHxhPDApJiZlKCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiaXRlcmF0aW9uU3RhcnQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIsIHJlY2VpdmVkOiAiK2EpO3RoaXMuX3NldE1lbWJlcigiaXRlcmF0aW9uU3RhcnQiLGEpfSxnZXQgaXRlcmF0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy5faXRlcmF0aW9uU3RhcnR9LHNldCBkdXJhdGlvbihhKXtpZigiYXV0byIhPWEmJihpc05hTihhKXx8YTwwKSYmZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoImR1cmF0aW9uIG11c3QgYmUgbm9uLW5lZ2F0aXZlIG9yIGF1dG8sIHJlY2VpdmVkOiAiK2EpO3RoaXMuX3NldE1lbWJlcigiZHVyYXRpb24iLGEpfSxnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy5fZHVyYXRpb259LHNldCBkaXJlY3Rpb24oYSl7dGhpcy5fc2V0TWVtYmVyKCJkaXJlY3Rpb24iLGEpfSxnZXQgZGlyZWN0aW9uKCl7cmV0dXJuIHRoaXMuX2RpcmVjdGlvbn0sc2V0IGVhc2luZyhhKXt0aGlzLl9lYXNpbmdGdW5jdGlvbj1sKGsoYSkpLHRoaXMuX3NldE1lbWJlcigiZWFzaW5nIixhKX0sZ2V0IGVhc2luZygpe3JldHVybiB0aGlzLl9lYXNpbmd9LHNldCBpdGVyYXRpb25zKGEpe2lmKChpc05hTihhKXx8YTwwKSYmZSgpKXRocm93IG5ldyBUeXBlRXJyb3IoIml0ZXJhdGlvbnMgbXVzdCBiZSBub24tbmVnYXRpdmUsIHJlY2VpdmVkOiAiK2EpO3RoaXMuX3NldE1lbWJlcigiaXRlcmF0aW9ucyIsYSl9LGdldCBpdGVyYXRpb25zKCl7cmV0dXJuIHRoaXMuX2l0ZXJhdGlvbnN9fTt2YXIgeT0xLHo9LjUsQT0wLEI9e2Vhc2U6aSguMjUsLjEsLjI1LDEpLCJlYXNlLWluIjppKC40MiwwLDEsMSksImVhc2Utb3V0IjppKDAsMCwuNTgsMSksImVhc2UtaW4tb3V0IjppKC40MiwwLC41OCwxKSwic3RlcC1zdGFydCI6aigxLHkpLCJzdGVwLW1pZGRsZSI6aigxLHopLCJzdGVwLWVuZCI6aigxLEEpfSxDPW51bGwsRD0iXFxzKigtP1xcZCtcXC4/XFxkKnwtP1xcLlxcZCspXFxzKiIsRT1uZXcgUmVnRXhwKCJjdWJpYy1iZXppZXJcXCgiK0QrIiwiK0QrIiwiK0QrIiwiK0QrIlxcKSIpLEY9L3N0ZXBzXChccyooXGQrKVxzKlwpLyxHPS9zdGVwc1woXHMqKFxkKylccyosXHMqKHN0YXJ0fG1pZGRsZXxlbmQpXHMqXCkvLEg9MCxJPTEsSj0yLEs9MzthLmNsb25lVGltaW5nSW5wdXQ9YyxhLm1ha2VUaW1pbmc9ZixhLm51bWVyaWNUaW1pbmdUb09iamVjdD1nLGEubm9ybWFsaXplVGltaW5nSW5wdXQ9aCxhLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uPW0sYS5jYWxjdWxhdGVJdGVyYXRpb25Qcm9ncmVzcz11LGEuY2FsY3VsYXRlUGhhc2U9byxhLm5vcm1hbGl6ZUVhc2luZz1rLGEucGFyc2VFYXNpbmdGdW5jdGlvbj1sfShhKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiKXtyZXR1cm4gYSBpbiBrP2tbYV1bYl18fGI6Yn1mdW5jdGlvbiBkKGEpe3JldHVybiJkaXNwbGF5Ij09PWF8fDA9PT1hLmxhc3RJbmRleE9mKCJhbmltYXRpb24iLDApfHwwPT09YS5sYXN0SW5kZXhPZigidHJhbnNpdGlvbiIsMCl9ZnVuY3Rpb24gZShhLGIsZSl7aWYoIWQoYSkpe3ZhciBmPWhbYV07aWYoZil7aS5zdHlsZVthXT1iO2Zvcih2YXIgZyBpbiBmKXt2YXIgaj1mW2ddLGs9aS5zdHlsZVtqXTtlW2pdPWMoaixrKX19ZWxzZSBlW2FdPWMoYSxiKX19ZnVuY3Rpb24gZihhKXt2YXIgYj1bXTtmb3IodmFyIGMgaW4gYSlpZighKGMgaW5bImVhc2luZyIsIm9mZnNldCIsImNvbXBvc2l0ZSJdKSl7dmFyIGQ9YVtjXTtBcnJheS5pc0FycmF5KGQpfHwoZD1bZF0pO2Zvcih2YXIgZSxmPWQubGVuZ3RoLGc9MDtnPGY7ZysrKWU9e30sZS5vZmZzZXQ9Im9mZnNldCJpbiBhP2Eub2Zmc2V0OjE9PWY/MTpnLyhmLTEpLCJlYXNpbmciaW4gYSYmKGUuZWFzaW5nPWEuZWFzaW5nKSwiY29tcG9zaXRlImluIGEmJihlLmNvbXBvc2l0ZT1hLmNvbXBvc2l0ZSksZVtjXT1kW2ddLGIucHVzaChlKX1yZXR1cm4gYi5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEub2Zmc2V0LWIub2Zmc2V0fSksYn1mdW5jdGlvbiBnKGIpe2Z1bmN0aW9uIGMoKXt2YXIgYT1kLmxlbmd0aDtudWxsPT1kW2EtMV0ub2Zmc2V0JiYoZFthLTFdLm9mZnNldD0xKSxhPjEmJm51bGw9PWRbMF0ub2Zmc2V0JiYoZFswXS5vZmZzZXQ9MCk7Zm9yKHZhciBiPTAsYz1kWzBdLm9mZnNldCxlPTE7ZTxhO2UrKyl7dmFyIGY9ZFtlXS5vZmZzZXQ7aWYobnVsbCE9Zil7Zm9yKHZhciBnPTE7ZzxlLWI7ZysrKWRbYitnXS5vZmZzZXQ9YysoZi1jKSpnLyhlLWIpO2I9ZSxjPWZ9fX1pZihudWxsPT1iKXJldHVybltdO3dpbmRvdy5TeW1ib2wmJlN5bWJvbC5pdGVyYXRvciYmQXJyYXkucHJvdG90eXBlLmZyb20mJmJbU3ltYm9sLml0ZXJhdG9yXSYmKGI9QXJyYXkuZnJvbShiKSksQXJyYXkuaXNBcnJheShiKXx8KGI9ZihiKSk7Zm9yKHZhciBkPWIubWFwKGZ1bmN0aW9uKGIpe3ZhciBjPXt9O2Zvcih2YXIgZCBpbiBiKXt2YXIgZj1iW2RdO2lmKCJvZmZzZXQiPT1kKXtpZihudWxsIT1mKXtpZihmPU51bWJlcihmKSwhaXNGaW5pdGUoZikpdGhyb3cgbmV3IFR5cGVFcnJvcigiS2V5ZnJhbWUgb2Zmc2V0cyBtdXN0IGJlIG51bWJlcnMuIik7aWYoZjwwfHxmPjEpdGhyb3cgbmV3IFR5cGVFcnJvcigiS2V5ZnJhbWUgb2Zmc2V0cyBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMS4iKX19ZWxzZSBpZigiY29tcG9zaXRlIj09ZCl7aWYoImFkZCI9PWZ8fCJhY2N1bXVsYXRlIj09Zil0aHJvd3t0eXBlOkRPTUV4Y2VwdGlvbi5OT1RfU1VQUE9SVEVEX0VSUixuYW1lOiJOb3RTdXBwb3J0ZWRFcnJvciIsbWVzc2FnZToiYWRkIGNvbXBvc2l0aW5nIGlzIG5vdCBzdXBwb3J0ZWQifTtpZigicmVwbGFjZSIhPWYpdGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBjb21wb3NpdGUgbW9kZSAiK2YrIi4iKX1lbHNlIGY9ImVhc2luZyI9PWQ/YS5ub3JtYWxpemVFYXNpbmcoZik6IiIrZjtlKGQsZixjKX1yZXR1cm4gdm9pZCAwPT1jLm9mZnNldCYmKGMub2Zmc2V0PW51bGwpLHZvaWQgMD09Yy5lYXNpbmcmJihjLmVhc2luZz0ibGluZWFyIiksY30pLGc9ITAsaD0tMS8wLGk9MDtpPGQubGVuZ3RoO2krKyl7dmFyIGo9ZFtpXS5vZmZzZXQ7aWYobnVsbCE9ail7aWYoajxoKXRocm93IG5ldyBUeXBlRXJyb3IoIktleWZyYW1lcyBhcmUgbm90IGxvb3NlbHkgc29ydGVkIGJ5IG9mZnNldC4gU29ydCBvciBzcGVjaWZ5IG9mZnNldHMuIik7aD1qfWVsc2UgZz0hMX1yZXR1cm4gZD1kLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5vZmZzZXQ+PTAmJmEub2Zmc2V0PD0xfSksZ3x8YygpLGR9dmFyIGg9e2JhY2tncm91bmQ6WyJiYWNrZ3JvdW5kSW1hZ2UiLCJiYWNrZ3JvdW5kUG9zaXRpb24iLCJiYWNrZ3JvdW5kU2l6ZSIsImJhY2tncm91bmRSZXBlYXQiLCJiYWNrZ3JvdW5kQXR0YWNobWVudCIsImJhY2tncm91bmRPcmlnaW4iLCJiYWNrZ3JvdW5kQ2xpcCIsImJhY2tncm91bmRDb2xvciJdLGJvcmRlcjpbImJvcmRlclRvcENvbG9yIiwiYm9yZGVyVG9wU3R5bGUiLCJib3JkZXJUb3BXaWR0aCIsImJvcmRlclJpZ2h0Q29sb3IiLCJib3JkZXJSaWdodFN0eWxlIiwiYm9yZGVyUmlnaHRXaWR0aCIsImJvcmRlckJvdHRvbUNvbG9yIiwiYm9yZGVyQm90dG9tU3R5bGUiLCJib3JkZXJCb3R0b21XaWR0aCIsImJvcmRlckxlZnRDb2xvciIsImJvcmRlckxlZnRTdHlsZSIsImJvcmRlckxlZnRXaWR0aCJdLGJvcmRlckJvdHRvbTpbImJvcmRlckJvdHRvbVdpZHRoIiwiYm9yZGVyQm90dG9tU3R5bGUiLCJib3JkZXJCb3R0b21Db2xvciJdLGJvcmRlckNvbG9yOlsiYm9yZGVyVG9wQ29sb3IiLCJib3JkZXJSaWdodENvbG9yIiwiYm9yZGVyQm90dG9tQ29sb3IiLCJib3JkZXJMZWZ0Q29sb3IiXSxib3JkZXJMZWZ0OlsiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyTGVmdFN0eWxlIiwiYm9yZGVyTGVmdENvbG9yIl0sYm9yZGVyUmFkaXVzOlsiYm9yZGVyVG9wTGVmdFJhZGl1cyIsImJvcmRlclRvcFJpZ2h0UmFkaXVzIiwiYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMiLCJib3JkZXJCb3R0b21MZWZ0UmFkaXVzIl0sYm9yZGVyUmlnaHQ6WyJib3JkZXJSaWdodFdpZHRoIiwiYm9yZGVyUmlnaHRTdHlsZSIsImJvcmRlclJpZ2h0Q29sb3IiXSxib3JkZXJUb3A6WyJib3JkZXJUb3BXaWR0aCIsImJvcmRlclRvcFN0eWxlIiwiYm9yZGVyVG9wQ29sb3IiXSxib3JkZXJXaWR0aDpbImJvcmRlclRvcFdpZHRoIiwiYm9yZGVyUmlnaHRXaWR0aCIsImJvcmRlckJvdHRvbVdpZHRoIiwiYm9yZGVyTGVmdFdpZHRoIl0sZmxleDpbImZsZXhHcm93IiwiZmxleFNocmluayIsImZsZXhCYXNpcyJdLGZvbnQ6WyJmb250RmFtaWx5IiwiZm9udFNpemUiLCJmb250U3R5bGUiLCJmb250VmFyaWFudCIsImZvbnRXZWlnaHQiLCJsaW5lSGVpZ2h0Il0sbWFyZ2luOlsibWFyZ2luVG9wIiwibWFyZ2luUmlnaHQiLCJtYXJnaW5Cb3R0b20iLCJtYXJnaW5MZWZ0Il0sb3V0bGluZTpbIm91dGxpbmVDb2xvciIsIm91dGxpbmVTdHlsZSIsIm91dGxpbmVXaWR0aCJdLHBhZGRpbmc6WyJwYWRkaW5nVG9wIiwicGFkZGluZ1JpZ2h0IiwicGFkZGluZ0JvdHRvbSIsInBhZGRpbmdMZWZ0Il19LGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiZGl2Iiksaj17dGhpbjoiMXB4IixtZWRpdW06IjNweCIsdGhpY2s6IjVweCJ9LGs9e2JvcmRlckJvdHRvbVdpZHRoOmosYm9yZGVyTGVmdFdpZHRoOmosYm9yZGVyUmlnaHRXaWR0aDpqLGJvcmRlclRvcFdpZHRoOmosZm9udFNpemU6eyJ4eC1zbWFsbCI6IjYwJSIsIngtc21hbGwiOiI3NSUiLHNtYWxsOiI4OSUiLG1lZGl1bToiMTAwJSIsbGFyZ2U6IjEyMCUiLCJ4LWxhcmdlIjoiMTUwJSIsInh4LWxhcmdlIjoiMjAwJSJ9LGZvbnRXZWlnaHQ6e25vcm1hbDoiNDAwIixib2xkOiI3MDAifSxvdXRsaW5lV2lkdGg6aix0ZXh0U2hhZG93Ontub25lOiIwcHggMHB4IDBweCB0cmFuc3BhcmVudCJ9LGJveFNoYWRvdzp7bm9uZToiMHB4IDBweCAwcHggMHB4IHRyYW5zcGFyZW50In19O2EuY29udmVydFRvQXJyYXlGb3JtPWYsYS5ub3JtYWxpemVLZXlmcmFtZXM9Z30oYSksZnVuY3Rpb24oYSl7dmFyIGI9e307YS5pc0RlcHJlY2F0ZWQ9ZnVuY3Rpb24oYSxjLGQsZSl7dmFyIGY9ZT8iYXJlIjoiaXMiLGc9bmV3IERhdGUsaD1uZXcgRGF0ZShjKTtyZXR1cm4gaC5zZXRNb250aChoLmdldE1vbnRoKCkrMyksIShnPGgmJihhIGluIGJ8fGNvbnNvbGUud2FybigiV2ViIEFuaW1hdGlvbnM6ICIrYSsiICIrZisiIGRlcHJlY2F0ZWQgYW5kIHdpbGwgc3RvcCB3b3JraW5nIG9uICIraC50b0RhdGVTdHJpbmcoKSsiLiAiK2QpLGJbYV09ITAsMSkpfSxhLmRlcHJlY2F0ZWQ9ZnVuY3Rpb24oYixjLGQsZSl7dmFyIGY9ZT8iYXJlIjoiaXMiO2lmKGEuaXNEZXByZWNhdGVkKGIsYyxkLGUpKXRocm93IG5ldyBFcnJvcihiKyIgIitmKyIgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gIitkKX19KGEpLGZ1bmN0aW9uKCl7aWYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFuaW1hdGUpe3ZhciBjPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hbmltYXRlKFtdLDApLGQ9ITA7aWYoYyYmKGQ9ITEsInBsYXl8Y3VycmVudFRpbWV8cGF1c2V8cmV2ZXJzZXxwbGF5YmFja1JhdGV8Y2FuY2VsfGZpbmlzaHxzdGFydFRpbWV8cGxheVN0YXRlIi5zcGxpdCgifCIpLmZvckVhY2goZnVuY3Rpb24oYSl7dm9pZCAwPT09Y1thXSYmKGQ9ITApfSkpLCFkKXJldHVybn0hZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7Zm9yKHZhciBiPXt9LGM9MDtjPGEubGVuZ3RoO2MrKylmb3IodmFyIGQgaW4gYVtjXSlpZigib2Zmc2V0IiE9ZCYmImVhc2luZyIhPWQmJiJjb21wb3NpdGUiIT1kKXt2YXIgZT17b2Zmc2V0OmFbY10ub2Zmc2V0LGVhc2luZzphW2NdLmVhc2luZyx2YWx1ZTphW2NdW2RdfTtiW2RdPWJbZF18fFtdLGJbZF0ucHVzaChlKX1mb3IodmFyIGYgaW4gYil7dmFyIGc9YltmXTtpZigwIT1nWzBdLm9mZnNldHx8MSE9Z1tnLmxlbmd0aC0xXS5vZmZzZXQpdGhyb3d7dHlwZTpET01FeGNlcHRpb24uTk9UX1NVUFBPUlRFRF9FUlIsbmFtZToiTm90U3VwcG9ydGVkRXJyb3IiLG1lc3NhZ2U6IlBhcnRpYWwga2V5ZnJhbWVzIGFyZSBub3Qgc3VwcG9ydGVkIn19cmV0dXJuIGJ9ZnVuY3Rpb24gZShjKXt2YXIgZD1bXTtmb3IodmFyIGUgaW4gYylmb3IodmFyIGY9Y1tlXSxnPTA7ZzxmLmxlbmd0aC0xO2crKyl7dmFyIGg9ZyxpPWcrMSxqPWZbaF0ub2Zmc2V0LGs9ZltpXS5vZmZzZXQsbD1qLG09azswPT1nJiYobD0tMS8wLDA9PWsmJihpPWgpKSxnPT1mLmxlbmd0aC0yJiYobT0xLzAsMT09aiYmKGg9aSkpLGQucHVzaCh7YXBwbHlGcm9tOmwsYXBwbHlUbzptLHN0YXJ0T2Zmc2V0OmZbaF0ub2Zmc2V0LGVuZE9mZnNldDpmW2ldLm9mZnNldCxlYXNpbmdGdW5jdGlvbjphLnBhcnNlRWFzaW5nRnVuY3Rpb24oZltoXS5lYXNpbmcpLHByb3BlcnR5OmUsaW50ZXJwb2xhdGlvbjpiLnByb3BlcnR5SW50ZXJwb2xhdGlvbihlLGZbaF0udmFsdWUsZltpXS52YWx1ZSl9KX1yZXR1cm4gZC5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc3RhcnRPZmZzZXQtYi5zdGFydE9mZnNldH0pLGR9Yi5jb252ZXJ0RWZmZWN0SW5wdXQ9ZnVuY3Rpb24oYyl7dmFyIGY9YS5ub3JtYWxpemVLZXlmcmFtZXMoYyksZz1kKGYpLGg9ZShnKTtyZXR1cm4gZnVuY3Rpb24oYSxjKXtpZihudWxsIT1jKWguZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBjPj1hLmFwcGx5RnJvbSYmYzxhLmFwcGx5VG99KS5mb3JFYWNoKGZ1bmN0aW9uKGQpe3ZhciBlPWMtZC5zdGFydE9mZnNldCxmPWQuZW5kT2Zmc2V0LWQuc3RhcnRPZmZzZXQsZz0wPT1mPzA6ZC5lYXNpbmdGdW5jdGlvbihlL2YpO2IuYXBwbHkoYSxkLnByb3BlcnR5LGQuaW50ZXJwb2xhdGlvbihnKSl9KTtlbHNlIGZvcih2YXIgZCBpbiBnKSJvZmZzZXQiIT1kJiYiZWFzaW5nIiE9ZCYmImNvbXBvc2l0ZSIhPWQmJmIuY2xlYXIoYSxkKX19fShhLGIpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEpe3JldHVybiBhLnJlcGxhY2UoLy0oLikvZyxmdW5jdGlvbihhLGIpe3JldHVybiBiLnRvVXBwZXJDYXNlKCl9KX1mdW5jdGlvbiBlKGEsYixjKXtoW2NdPWhbY118fFtdLGhbY10ucHVzaChbYSxiXSl9ZnVuY3Rpb24gZihhLGIsYyl7Zm9yKHZhciBmPTA7ZjxjLmxlbmd0aDtmKyspe2UoYSxiLGQoY1tmXSkpfX1mdW5jdGlvbiBnKGMsZSxmKXt2YXIgZz1jOy8tLy50ZXN0KGMpJiYhYS5pc0RlcHJlY2F0ZWQoIkh5cGhlbmF0ZWQgcHJvcGVydHkgbmFtZXMiLCIyMDE2LTAzLTIyIiwiVXNlIGNhbWVsQ2FzZSBpbnN0ZWFkLiIsITApJiYoZz1kKGMpKSwiaW5pdGlhbCIhPWUmJiJpbml0aWFsIiE9Znx8KCJpbml0aWFsIj09ZSYmKGU9aVtnXSksImluaXRpYWwiPT1mJiYoZj1pW2ddKSk7Zm9yKHZhciBqPWU9PWY/W106aFtnXSxrPTA7aiYmazxqLmxlbmd0aDtrKyspe3ZhciBsPWpba11bMF0oZSksbT1qW2tdWzBdKGYpO2lmKHZvaWQgMCE9PWwmJnZvaWQgMCE9PW0pe3ZhciBuPWpba11bMV0obCxtKTtpZihuKXt2YXIgbz1iLkludGVycG9sYXRpb24uYXBwbHkobnVsbCxuKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIDA9PWE/ZToxPT1hP2Y6byhhKX19fX1yZXR1cm4gYi5JbnRlcnBvbGF0aW9uKCExLCEwLGZ1bmN0aW9uKGEpe3JldHVybiBhP2Y6ZX0pfXZhciBoPXt9O2IuYWRkUHJvcGVydGllc0hhbmRsZXI9Zjt2YXIgaT17YmFja2dyb3VuZENvbG9yOiJ0cmFuc3BhcmVudCIsYmFja2dyb3VuZFBvc2l0aW9uOiIwJSAwJSIsYm9yZGVyQm90dG9tQ29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyQm90dG9tTGVmdFJhZGl1czoiMHB4Iixib3JkZXJCb3R0b21SaWdodFJhZGl1czoiMHB4Iixib3JkZXJCb3R0b21XaWR0aDoiM3B4Iixib3JkZXJMZWZ0Q29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyTGVmdFdpZHRoOiIzcHgiLGJvcmRlclJpZ2h0Q29sb3I6ImN1cnJlbnRDb2xvciIsYm9yZGVyUmlnaHRXaWR0aDoiM3B4Iixib3JkZXJTcGFjaW5nOiIycHgiLGJvcmRlclRvcENvbG9yOiJjdXJyZW50Q29sb3IiLGJvcmRlclRvcExlZnRSYWRpdXM6IjBweCIsYm9yZGVyVG9wUmlnaHRSYWRpdXM6IjBweCIsYm9yZGVyVG9wV2lkdGg6IjNweCIsYm90dG9tOiJhdXRvIixjbGlwOiJyZWN0KDBweCwgMHB4LCAwcHgsIDBweCkiLGNvbG9yOiJibGFjayIsZm9udFNpemU6IjEwMCUiLGZvbnRXZWlnaHQ6IjQwMCIsaGVpZ2h0OiJhdXRvIixsZWZ0OiJhdXRvIixsZXR0ZXJTcGFjaW5nOiJub3JtYWwiLGxpbmVIZWlnaHQ6IjEyMCUiLG1hcmdpbkJvdHRvbToiMHB4IixtYXJnaW5MZWZ0OiIwcHgiLG1hcmdpblJpZ2h0OiIwcHgiLG1hcmdpblRvcDoiMHB4IixtYXhIZWlnaHQ6Im5vbmUiLG1heFdpZHRoOiJub25lIixtaW5IZWlnaHQ6IjBweCIsbWluV2lkdGg6IjBweCIsb3BhY2l0eToiMS4wIixvdXRsaW5lQ29sb3I6ImludmVydCIsb3V0bGluZU9mZnNldDoiMHB4IixvdXRsaW5lV2lkdGg6IjNweCIscGFkZGluZ0JvdHRvbToiMHB4IixwYWRkaW5nTGVmdDoiMHB4IixwYWRkaW5nUmlnaHQ6IjBweCIscGFkZGluZ1RvcDoiMHB4IixyaWdodDoiYXV0byIsc3Ryb2tlRGFzaGFycmF5OiJub25lIixzdHJva2VEYXNob2Zmc2V0OiIwcHgiLHRleHRJbmRlbnQ6IjBweCIsdGV4dFNoYWRvdzoiMHB4IDBweCAwcHggdHJhbnNwYXJlbnQiLHRvcDoiYXV0byIsdHJhbnNmb3JtOiIiLHZlcnRpY2FsQWxpZ246IjBweCIsdmlzaWJpbGl0eToidmlzaWJsZSIsd2lkdGg6ImF1dG8iLHdvcmRTcGFjaW5nOiJub3JtYWwiLHpJbmRleDoiYXV0byJ9O2IucHJvcGVydHlJbnRlcnBvbGF0aW9uPWd9KGEsYiksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYil7dmFyIGM9YS5jYWxjdWxhdGVBY3RpdmVEdXJhdGlvbihiKSxkPWZ1bmN0aW9uKGQpe3JldHVybiBhLmNhbGN1bGF0ZUl0ZXJhdGlvblByb2dyZXNzKGMsZCxiKX07cmV0dXJuIGQuX3RvdGFsRHVyYXRpb249Yi5kZWxheStjK2IuZW5kRGVsYXksZH1iLktleWZyYW1lRWZmZWN0PWZ1bmN0aW9uKGMsZSxmLGcpe3ZhciBoLGk9ZChhLm5vcm1hbGl6ZVRpbWluZ0lucHV0KGYpKSxqPWIuY29udmVydEVmZmVjdElucHV0KGUpLGs9ZnVuY3Rpb24oKXtqKGMsaCl9O3JldHVybiBrLl91cGRhdGU9ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPT0oaD1pKGEpKX0say5fY2xlYXI9ZnVuY3Rpb24oKXtqKGMsbnVsbCl9LGsuX2hhc1NhbWVUYXJnZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGM9PT1hfSxrLl90YXJnZXQ9YyxrLl90b3RhbER1cmF0aW9uPWkuX3RvdGFsRHVyYXRpb24say5faWQ9ZyxrfX0oYSxiKSxmdW5jdGlvbihhLGIpe2EuYXBwbHk9ZnVuY3Rpb24oYixjLGQpe2Iuc3R5bGVbYS5wcm9wZXJ0eU5hbWUoYyldPWR9LGEuY2xlYXI9ZnVuY3Rpb24oYixjKXtiLnN0eWxlW2EucHJvcGVydHlOYW1lKGMpXT0iIn19KGIpLGZ1bmN0aW9uKGEpe3dpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9IiI7cmV0dXJuIGMmJmMuaWQmJihkPWMuaWQpLGEudGltZWxpbmUuX3BsYXkoYS5LZXlmcmFtZUVmZmVjdCh0aGlzLGIsYyxkKSl9fShiKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSxiLGQpe2lmKCJudW1iZXIiPT10eXBlb2YgYSYmIm51bWJlciI9PXR5cGVvZiBiKXJldHVybiBhKigxLWQpK2IqZDtpZigiYm9vbGVhbiI9PXR5cGVvZiBhJiYiYm9vbGVhbiI9PXR5cGVvZiBiKXJldHVybiBkPC41P2E6YjtpZihhLmxlbmd0aD09Yi5sZW5ndGgpe2Zvcih2YXIgZT1bXSxmPTA7ZjxhLmxlbmd0aDtmKyspZS5wdXNoKGMoYVtmXSxiW2ZdLGQpKTtyZXR1cm4gZX10aHJvdyJNaXNtYXRjaGVkIGludGVycG9sYXRpb24gYXJndW1lbnRzICIrYSsiOiIrYn1hLkludGVycG9sYXRpb249ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZChjKGEsYixlKSl9fX0oYiksZnVuY3Rpb24oYSxiLGMpe2Euc2VxdWVuY2VOdW1iZXI9MDt2YXIgZD1mdW5jdGlvbihhLGIsYyl7dGhpcy50YXJnZXQ9YSx0aGlzLmN1cnJlbnRUaW1lPWIsdGhpcy50aW1lbGluZVRpbWU9Yyx0aGlzLnR5cGU9ImZpbmlzaCIsdGhpcy5idWJibGVzPSExLHRoaXMuY2FuY2VsYWJsZT0hMSx0aGlzLmN1cnJlbnRUYXJnZXQ9YSx0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9ITEsdGhpcy5ldmVudFBoYXNlPUV2ZW50LkFUX1RBUkdFVCx0aGlzLnRpbWVTdGFtcD1EYXRlLm5vdygpfTtiLkFuaW1hdGlvbj1mdW5jdGlvbihiKXt0aGlzLmlkPSIiLGImJmIuX2lkJiYodGhpcy5pZD1iLl9pZCksdGhpcy5fc2VxdWVuY2VOdW1iZXI9YS5zZXF1ZW5jZU51bWJlcisrLHRoaXMuX2N1cnJlbnRUaW1lPTAsdGhpcy5fc3RhcnRUaW1lPW51bGwsdGhpcy5fcGF1c2VkPSExLHRoaXMuX3BsYXliYWNrUmF0ZT0xLHRoaXMuX2luVGltZWxpbmU9ITAsdGhpcy5fZmluaXNoZWRGbGFnPSEwLHRoaXMub25maW5pc2g9bnVsbCx0aGlzLl9maW5pc2hIYW5kbGVycz1bXSx0aGlzLl9lZmZlY3Q9Yix0aGlzLl9pbkVmZmVjdD10aGlzLl9lZmZlY3QuX3VwZGF0ZSgwKSx0aGlzLl9pZGxlPSEwLHRoaXMuX2N1cnJlbnRUaW1lUGVuZGluZz0hMX0sYi5BbmltYXRpb24ucHJvdG90eXBlPXtfZW5zdXJlQWxpdmU6ZnVuY3Rpb24oKXt0aGlzLnBsYXliYWNrUmF0ZTwwJiYwPT09dGhpcy5jdXJyZW50VGltZT90aGlzLl9pbkVmZmVjdD10aGlzLl9lZmZlY3QuX3VwZGF0ZSgtMSk6dGhpcy5faW5FZmZlY3Q9dGhpcy5fZWZmZWN0Ll91cGRhdGUodGhpcy5jdXJyZW50VGltZSksdGhpcy5faW5UaW1lbGluZXx8IXRoaXMuX2luRWZmZWN0JiZ0aGlzLl9maW5pc2hlZEZsYWd8fCh0aGlzLl9pblRpbWVsaW5lPSEwLGIudGltZWxpbmUuX2FuaW1hdGlvbnMucHVzaCh0aGlzKSl9LF90aWNrQ3VycmVudFRpbWU6ZnVuY3Rpb24oYSxiKXthIT10aGlzLl9jdXJyZW50VGltZSYmKHRoaXMuX2N1cnJlbnRUaW1lPWEsdGhpcy5faXNGaW5pc2hlZCYmIWImJih0aGlzLl9jdXJyZW50VGltZT10aGlzLl9wbGF5YmFja1JhdGU+MD90aGlzLl90b3RhbER1cmF0aW9uOjApLHRoaXMuX2Vuc3VyZUFsaXZlKCkpfSxnZXQgY3VycmVudFRpbWUoKXtyZXR1cm4gdGhpcy5faWRsZXx8dGhpcy5fY3VycmVudFRpbWVQZW5kaW5nP251bGw6dGhpcy5fY3VycmVudFRpbWV9LHNldCBjdXJyZW50VGltZShhKXthPSthLGlzTmFOKGEpfHwoYi5yZXN0YXJ0KCksdGhpcy5fcGF1c2VkfHxudWxsPT10aGlzLl9zdGFydFRpbWV8fCh0aGlzLl9zdGFydFRpbWU9dGhpcy5fdGltZWxpbmUuY3VycmVudFRpbWUtYS90aGlzLl9wbGF5YmFja1JhdGUpLHRoaXMuX2N1cnJlbnRUaW1lUGVuZGluZz0hMSx0aGlzLl9jdXJyZW50VGltZSE9YSYmKHRoaXMuX2lkbGUmJih0aGlzLl9pZGxlPSExLHRoaXMuX3BhdXNlZD0hMCksdGhpcy5fdGlja0N1cnJlbnRUaW1lKGEsITApLGIuYXBwbHlEaXJ0aWVkQW5pbWF0aW9uKHRoaXMpKSl9LGdldCBzdGFydFRpbWUoKXtyZXR1cm4gdGhpcy5fc3RhcnRUaW1lfSxzZXQgc3RhcnRUaW1lKGEpe2E9K2EsaXNOYU4oYSl8fHRoaXMuX3BhdXNlZHx8dGhpcy5faWRsZXx8KHRoaXMuX3N0YXJ0VGltZT1hLHRoaXMuX3RpY2tDdXJyZW50VGltZSgodGhpcy5fdGltZWxpbmUuY3VycmVudFRpbWUtdGhpcy5fc3RhcnRUaW1lKSp0aGlzLnBsYXliYWNrUmF0ZSksYi5hcHBseURpcnRpZWRBbmltYXRpb24odGhpcykpfSxnZXQgcGxheWJhY2tSYXRlKCl7cmV0dXJuIHRoaXMuX3BsYXliYWNrUmF0ZX0sc2V0IHBsYXliYWNrUmF0ZShhKXtpZihhIT10aGlzLl9wbGF5YmFja1JhdGUpe3ZhciBjPXRoaXMuY3VycmVudFRpbWU7dGhpcy5fcGxheWJhY2tSYXRlPWEsdGhpcy5fc3RhcnRUaW1lPW51bGwsInBhdXNlZCIhPXRoaXMucGxheVN0YXRlJiYiaWRsZSIhPXRoaXMucGxheVN0YXRlJiYodGhpcy5fZmluaXNoZWRGbGFnPSExLHRoaXMuX2lkbGU9ITEsdGhpcy5fZW5zdXJlQWxpdmUoKSxiLmFwcGx5RGlydGllZEFuaW1hdGlvbih0aGlzKSksbnVsbCE9YyYmKHRoaXMuY3VycmVudFRpbWU9Yyl9fSxnZXQgX2lzRmluaXNoZWQoKXtyZXR1cm4hdGhpcy5faWRsZSYmKHRoaXMuX3BsYXliYWNrUmF0ZT4wJiZ0aGlzLl9jdXJyZW50VGltZT49dGhpcy5fdG90YWxEdXJhdGlvbnx8dGhpcy5fcGxheWJhY2tSYXRlPDAmJnRoaXMuX2N1cnJlbnRUaW1lPD0wKX0sZ2V0IF90b3RhbER1cmF0aW9uKCl7cmV0dXJuIHRoaXMuX2VmZmVjdC5fdG90YWxEdXJhdGlvbn0sZ2V0IHBsYXlTdGF0ZSgpe3JldHVybiB0aGlzLl9pZGxlPyJpZGxlIjpudWxsPT10aGlzLl9zdGFydFRpbWUmJiF0aGlzLl9wYXVzZWQmJjAhPXRoaXMucGxheWJhY2tSYXRlfHx0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc/InBlbmRpbmciOnRoaXMuX3BhdXNlZD8icGF1c2VkIjp0aGlzLl9pc0ZpbmlzaGVkPyJmaW5pc2hlZCI6InJ1bm5pbmcifSxfcmV3aW5kOmZ1bmN0aW9uKCl7aWYodGhpcy5fcGxheWJhY2tSYXRlPj0wKXRoaXMuX2N1cnJlbnRUaW1lPTA7ZWxzZXtpZighKHRoaXMuX3RvdGFsRHVyYXRpb248MS8wKSl0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKCJVbmFibGUgdG8gcmV3aW5kIG5lZ2F0aXZlIHBsYXliYWNrIHJhdGUgYW5pbWF0aW9uIHdpdGggaW5maW5pdGUgZHVyYXRpb24iLCJJbnZhbGlkU3RhdGVFcnJvciIpO3RoaXMuX2N1cnJlbnRUaW1lPXRoaXMuX3RvdGFsRHVyYXRpb259fSxwbGF5OmZ1bmN0aW9uKCl7dGhpcy5fcGF1c2VkPSExLCh0aGlzLl9pc0ZpbmlzaGVkfHx0aGlzLl9pZGxlKSYmKHRoaXMuX3Jld2luZCgpLHRoaXMuX3N0YXJ0VGltZT1udWxsKSx0aGlzLl9maW5pc2hlZEZsYWc9ITEsdGhpcy5faWRsZT0hMSx0aGlzLl9lbnN1cmVBbGl2ZSgpLGIuYXBwbHlEaXJ0aWVkQW5pbWF0aW9uKHRoaXMpfSxwYXVzZTpmdW5jdGlvbigpe3RoaXMuX2lzRmluaXNoZWR8fHRoaXMuX3BhdXNlZHx8dGhpcy5faWRsZT90aGlzLl9pZGxlJiYodGhpcy5fcmV3aW5kKCksdGhpcy5faWRsZT0hMSk6dGhpcy5fY3VycmVudFRpbWVQZW5kaW5nPSEwLHRoaXMuX3N0YXJ0VGltZT1udWxsLHRoaXMuX3BhdXNlZD0hMH0sZmluaXNoOmZ1bmN0aW9uKCl7dGhpcy5faWRsZXx8KHRoaXMuY3VycmVudFRpbWU9dGhpcy5fcGxheWJhY2tSYXRlPjA/dGhpcy5fdG90YWxEdXJhdGlvbjowLHRoaXMuX3N0YXJ0VGltZT10aGlzLl90b3RhbER1cmF0aW9uLXRoaXMuY3VycmVudFRpbWUsdGhpcy5fY3VycmVudFRpbWVQZW5kaW5nPSExLGIuYXBwbHlEaXJ0aWVkQW5pbWF0aW9uKHRoaXMpKX0sY2FuY2VsOmZ1bmN0aW9uKCl7dGhpcy5faW5FZmZlY3QmJih0aGlzLl9pbkVmZmVjdD0hMSx0aGlzLl9pZGxlPSEwLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9maW5pc2hlZEZsYWc9ITAsdGhpcy5fY3VycmVudFRpbWU9MCx0aGlzLl9zdGFydFRpbWU9bnVsbCx0aGlzLl9lZmZlY3QuX3VwZGF0ZShudWxsKSxiLmFwcGx5RGlydGllZEFuaW1hdGlvbih0aGlzKSl9LHJldmVyc2U6ZnVuY3Rpb24oKXt0aGlzLnBsYXliYWNrUmF0ZSo9LTEsdGhpcy5wbGF5KCl9LGFkZEV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiKXsiZnVuY3Rpb24iPT10eXBlb2YgYiYmImZpbmlzaCI9PWEmJnRoaXMuX2ZpbmlzaEhhbmRsZXJzLnB1c2goYil9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiKXtpZigiZmluaXNoIj09YSl7dmFyIGM9dGhpcy5fZmluaXNoSGFuZGxlcnMuaW5kZXhPZihiKTtjPj0wJiZ0aGlzLl9maW5pc2hIYW5kbGVycy5zcGxpY2UoYywxKX19LF9maXJlRXZlbnRzOmZ1bmN0aW9uKGEpe2lmKHRoaXMuX2lzRmluaXNoZWQpe2lmKCF0aGlzLl9maW5pc2hlZEZsYWcpe3ZhciBiPW5ldyBkKHRoaXMsdGhpcy5fY3VycmVudFRpbWUsYSksYz10aGlzLl9maW5pc2hIYW5kbGVycy5jb25jYXQodGhpcy5vbmZpbmlzaD9bdGhpcy5vbmZpbmlzaF06W10pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtjLmZvckVhY2goZnVuY3Rpb24oYSl7YS5jYWxsKGIudGFyZ2V0LGIpfSl9LDApLHRoaXMuX2ZpbmlzaGVkRmxhZz0hMH19ZWxzZSB0aGlzLl9maW5pc2hlZEZsYWc9ITF9LF90aWNrOmZ1bmN0aW9uKGEsYil7dGhpcy5faWRsZXx8dGhpcy5fcGF1c2VkfHwobnVsbD09dGhpcy5fc3RhcnRUaW1lP2ImJih0aGlzLnN0YXJ0VGltZT1hLXRoaXMuX2N1cnJlbnRUaW1lL3RoaXMucGxheWJhY2tSYXRlKTp0aGlzLl9pc0ZpbmlzaGVkfHx0aGlzLl90aWNrQ3VycmVudFRpbWUoKGEtdGhpcy5fc3RhcnRUaW1lKSp0aGlzLnBsYXliYWNrUmF0ZSkpLGImJih0aGlzLl9jdXJyZW50VGltZVBlbmRpbmc9ITEsdGhpcy5fZmlyZUV2ZW50cyhhKSl9LGdldCBfbmVlZHNUaWNrKCl7cmV0dXJuIHRoaXMucGxheVN0YXRlIGlue3BlbmRpbmc6MSxydW5uaW5nOjF9fHwhdGhpcy5fZmluaXNoZWRGbGFnfSxfdGFyZ2V0QW5pbWF0aW9uczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuX2VmZmVjdC5fdGFyZ2V0O3JldHVybiBhLl9hY3RpdmVBbmltYXRpb25zfHwoYS5fYWN0aXZlQW5pbWF0aW9ucz1bXSksYS5fYWN0aXZlQW5pbWF0aW9uc30sX21hcmtUYXJnZXQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLl90YXJnZXRBbmltYXRpb25zKCk7LTE9PT1hLmluZGV4T2YodGhpcykmJmEucHVzaCh0aGlzKX0sX3VubWFya1RhcmdldDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuX3RhcmdldEFuaW1hdGlvbnMoKSxiPWEuaW5kZXhPZih0aGlzKTstMSE9PWImJmEuc3BsaWNlKGIsMSl9fX0oYSxiKSxmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChhKXt2YXIgYj1qO2o9W10sYTxxLmN1cnJlbnRUaW1lJiYoYT1xLmN1cnJlbnRUaW1lKSxxLl9hbmltYXRpb25zLnNvcnQoZSkscS5fYW5pbWF0aW9ucz1oKGEsITAscS5fYW5pbWF0aW9ucylbMF0sYi5mb3JFYWNoKGZ1bmN0aW9uKGIpe2JbMV0oYSl9KSxnKCksbD12b2lkIDB9ZnVuY3Rpb24gZShhLGIpe3JldHVybiBhLl9zZXF1ZW5jZU51bWJlci1iLl9zZXF1ZW5jZU51bWJlcn1mdW5jdGlvbiBmKCl7dGhpcy5fYW5pbWF0aW9ucz1bXSx0aGlzLmN1cnJlbnRUaW1lPXdpbmRvdy5wZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlLm5vdygpOjB9ZnVuY3Rpb24gZygpe28uZm9yRWFjaChmdW5jdGlvbihhKXthKCl9KSxvLmxlbmd0aD0wfWZ1bmN0aW9uIGgoYSxjLGQpe3A9ITAsbj0hMSxiLnRpbWVsaW5lLmN1cnJlbnRUaW1lPWEsbT0hMTt2YXIgZT1bXSxmPVtdLGc9W10saD1bXTtyZXR1cm4gZC5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IuX3RpY2soYSxjKSxiLl9pbkVmZmVjdD8oZi5wdXNoKGIuX2VmZmVjdCksYi5fbWFya1RhcmdldCgpKTooZS5wdXNoKGIuX2VmZmVjdCksYi5fdW5tYXJrVGFyZ2V0KCkpLGIuX25lZWRzVGljayYmKG09ITApO3ZhciBkPWIuX2luRWZmZWN0fHxiLl9uZWVkc1RpY2s7Yi5faW5UaW1lbGluZT1kLGQ/Zy5wdXNoKGIpOmgucHVzaChiKX0pLG8ucHVzaC5hcHBseShvLGUpLG8ucHVzaC5hcHBseShvLGYpLG0mJnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe30pLHA9ITEsW2csaF19dmFyIGk9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSxqPVtdLGs9MDt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lPWZ1bmN0aW9uKGEpe3ZhciBiPWsrKztyZXR1cm4gMD09ai5sZW5ndGgmJmkoZCksai5wdXNoKFtiLGFdKSxifSx3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oYSl7ai5mb3JFYWNoKGZ1bmN0aW9uKGIpe2JbMF09PWEmJihiWzFdPWZ1bmN0aW9uKCl7fSl9KX0sZi5wcm90b3R5cGU9e19wbGF5OmZ1bmN0aW9uKGMpe2MuX3RpbWluZz1hLm5vcm1hbGl6ZVRpbWluZ0lucHV0KGMudGltaW5nKTt2YXIgZD1uZXcgYi5BbmltYXRpb24oYyk7cmV0dXJuIGQuX2lkbGU9ITEsZC5fdGltZWxpbmU9dGhpcyx0aGlzLl9hbmltYXRpb25zLnB1c2goZCksYi5yZXN0YXJ0KCksYi5hcHBseURpcnRpZWRBbmltYXRpb24oZCksZH19O3ZhciBsPXZvaWQgMCxtPSExLG49ITE7Yi5yZXN0YXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIG18fChtPSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe30pLG49ITApLG59LGIuYXBwbHlEaXJ0aWVkQW5pbWF0aW9uPWZ1bmN0aW9uKGEpe2lmKCFwKXthLl9tYXJrVGFyZ2V0KCk7dmFyIGM9YS5fdGFyZ2V0QW5pbWF0aW9ucygpO2Muc29ydChlKSxoKGIudGltZWxpbmUuY3VycmVudFRpbWUsITEsYy5zbGljZSgpKVsxXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPXEuX2FuaW1hdGlvbnMuaW5kZXhPZihhKTstMSE9PWImJnEuX2FuaW1hdGlvbnMuc3BsaWNlKGIsMSl9KSxnKCl9fTt2YXIgbz1bXSxwPSExLHE9bmV3IGY7Yi50aW1lbGluZT1xfShhLGIpLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYSxiKXt2YXIgYz1hLmV4ZWMoYik7aWYoYylyZXR1cm4gYz1hLmlnbm9yZUNhc2U/Y1swXS50b0xvd2VyQ2FzZSgpOmNbMF0sW2MsYi5zdWJzdHIoYy5sZW5ndGgpXX1mdW5jdGlvbiBjKGEsYil7Yj1iLnJlcGxhY2UoL15ccyovLCIiKTt2YXIgYz1hKGIpO2lmKGMpcmV0dXJuW2NbMF0sY1sxXS5yZXBsYWNlKC9eXHMqLywiIildfWZ1bmN0aW9uIGQoYSxkLGUpe2E9Yy5iaW5kKG51bGwsYSk7Zm9yKHZhciBmPVtdOzspe3ZhciBnPWEoZSk7aWYoIWcpcmV0dXJuW2YsZV07aWYoZi5wdXNoKGdbMF0pLGU9Z1sxXSwhKGc9YihkLGUpKXx8IiI9PWdbMV0pcmV0dXJuW2YsZV07ZT1nWzFdfX1mdW5jdGlvbiBlKGEsYil7Zm9yKHZhciBjPTAsZD0wO2Q8Yi5sZW5ndGgmJighL1xzfCwvLnRlc3QoYltkXSl8fDAhPWMpO2QrKylpZigiKCI9PWJbZF0pYysrO2Vsc2UgaWYoIikiPT1iW2RdJiYoYy0tLDA9PWMmJmQrKyxjPD0wKSlicmVhazt2YXIgZT1hKGIuc3Vic3RyKDAsZCkpO3JldHVybiB2b2lkIDA9PWU/dm9pZCAwOltlLGIuc3Vic3RyKGQpXX1mdW5jdGlvbiBmKGEsYil7Zm9yKHZhciBjPWEsZD1iO2MmJmQ7KWM+ZD9jJT1kOmQlPWM7cmV0dXJuIGM9YSpiLyhjK2QpfWZ1bmN0aW9uIGcoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWEoYik7cmV0dXJuIGMmJihjWzBdPXZvaWQgMCksY319ZnVuY3Rpb24gaChhLGIpe3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gYShjKXx8W2IsY119fWZ1bmN0aW9uIGkoYixjKXtmb3IodmFyIGQ9W10sZT0wO2U8Yi5sZW5ndGg7ZSsrKXt2YXIgZj1hLmNvbnN1bWVUcmltbWVkKGJbZV0sYyk7aWYoIWZ8fCIiPT1mWzBdKXJldHVybjt2b2lkIDAhPT1mWzBdJiZkLnB1c2goZlswXSksYz1mWzFdfWlmKCIiPT1jKXJldHVybiBkfWZ1bmN0aW9uIGooYSxiLGMsZCxlKXtmb3IodmFyIGc9W10saD1bXSxpPVtdLGo9ZihkLmxlbmd0aCxlLmxlbmd0aCksaz0wO2s8ajtrKyspe3ZhciBsPWIoZFtrJWQubGVuZ3RoXSxlW2slZS5sZW5ndGhdKTtpZighbClyZXR1cm47Zy5wdXNoKGxbMF0pLGgucHVzaChsWzFdKSxpLnB1c2gobFsyXSl9cmV0dXJuW2csaCxmdW5jdGlvbihiKXt2YXIgZD1iLm1hcChmdW5jdGlvbihhLGIpe3JldHVybiBpW2JdKGEpfSkuam9pbihjKTtyZXR1cm4gYT9hKGQpOmR9XX1mdW5jdGlvbiBrKGEsYixjKXtmb3IodmFyIGQ9W10sZT1bXSxmPVtdLGc9MCxoPTA7aDxjLmxlbmd0aDtoKyspaWYoImZ1bmN0aW9uIj09dHlwZW9mIGNbaF0pe3ZhciBpPWNbaF0oYVtnXSxiW2crK10pO2QucHVzaChpWzBdKSxlLnB1c2goaVsxXSksZi5wdXNoKGlbMl0pfWVsc2UhZnVuY3Rpb24oYSl7ZC5wdXNoKCExKSxlLnB1c2goITEpLGYucHVzaChmdW5jdGlvbigpe3JldHVybiBjW2FdfSl9KGgpO3JldHVybltkLGUsZnVuY3Rpb24oYSl7Zm9yKHZhciBiPSIiLGM9MDtjPGEubGVuZ3RoO2MrKyliKz1mW2NdKGFbY10pO3JldHVybiBifV19YS5jb25zdW1lVG9rZW49YixhLmNvbnN1bWVUcmltbWVkPWMsYS5jb25zdW1lUmVwZWF0ZWQ9ZCxhLmNvbnN1bWVQYXJlbnRoZXNpc2VkPWUsYS5pZ25vcmU9ZyxhLm9wdGlvbmFsPWgsYS5jb25zdW1lTGlzdD1pLGEubWVyZ2VOZXN0ZWRSZXBlYXRlZD1qLmJpbmQobnVsbCxudWxsKSxhLm1lcmdlV3JhcHBlZE5lc3RlZFJlcGVhdGVkPWosYS5tZXJnZUxpc3Q9a30oYiksZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihiKXtmdW5jdGlvbiBjKGIpe3ZhciBjPWEuY29uc3VtZVRva2VuKC9eaW5zZXQvaSxiKTtyZXR1cm4gYz8oZC5pbnNldD0hMCxjKTooYz1hLmNvbnN1bWVMZW5ndGhPclBlcmNlbnQoYikpPyhkLmxlbmd0aHMucHVzaChjWzBdKSxjKTooYz1hLmNvbnN1bWVDb2xvcihiKSxjPyhkLmNvbG9yPWNbMF0sYyk6dm9pZCAwKX12YXIgZD17aW5zZXQ6ITEsbGVuZ3RoczpbXSxjb2xvcjpudWxsfSxlPWEuY29uc3VtZVJlcGVhdGVkKGMsL14vLGIpO2lmKGUmJmVbMF0ubGVuZ3RoKXJldHVybltkLGVbMV1dfWZ1bmN0aW9uIGMoYyl7dmFyIGQ9YS5jb25zdW1lUmVwZWF0ZWQoYiwvXiwvLGMpO2lmKGQmJiIiPT1kWzFdKXJldHVybiBkWzBdfWZ1bmN0aW9uIGQoYixjKXtmb3IoO2IubGVuZ3Rocy5sZW5ndGg8TWF0aC5tYXgoYi5sZW5ndGhzLmxlbmd0aCxjLmxlbmd0aHMubGVuZ3RoKTspYi5sZW5ndGhzLnB1c2goe3B4OjB9KTtmb3IoO2MubGVuZ3Rocy5sZW5ndGg8TWF0aC5tYXgoYi5sZW5ndGhzLmxlbmd0aCxjLmxlbmd0aHMubGVuZ3RoKTspYy5sZW5ndGhzLnB1c2goe3B4OjB9KTtpZihiLmluc2V0PT1jLmluc2V0JiYhIWIuY29sb3I9PSEhYy5jb2xvcil7Zm9yKHZhciBkLGU9W10sZj1bW10sMF0sZz1bW10sMF0saD0wO2g8Yi5sZW5ndGhzLmxlbmd0aDtoKyspe3ZhciBpPWEubWVyZ2VEaW1lbnNpb25zKGIubGVuZ3Roc1toXSxjLmxlbmd0aHNbaF0sMj09aCk7ZlswXS5wdXNoKGlbMF0pLGdbMF0ucHVzaChpWzFdKSxlLnB1c2goaVsyXSl9aWYoYi5jb2xvciYmYy5jb2xvcil7dmFyIGo9YS5tZXJnZUNvbG9ycyhiLmNvbG9yLGMuY29sb3IpO2ZbMV09alswXSxnWzFdPWpbMV0sZD1qWzJdfXJldHVybltmLGcsZnVuY3Rpb24oYSl7Zm9yKHZhciBjPWIuaW5zZXQ/Imluc2V0ICI6IiAiLGY9MDtmPGUubGVuZ3RoO2YrKyljKz1lW2ZdKGFbMF1bZl0pKyIgIjtyZXR1cm4gZCYmKGMrPWQoYVsxXSkpLGN9XX19ZnVuY3Rpb24gZShiLGMsZCxlKXtmdW5jdGlvbiBmKGEpe3JldHVybntpbnNldDphLGNvbG9yOlswLDAsMCwwXSxsZW5ndGhzOlt7cHg6MH0se3B4OjB9LHtweDowfSx7cHg6MH1dfX1mb3IodmFyIGc9W10saD1bXSxpPTA7aTxkLmxlbmd0aHx8aTxlLmxlbmd0aDtpKyspe3ZhciBqPWRbaV18fGYoZVtpXS5pbnNldCksaz1lW2ldfHxmKGRbaV0uaW5zZXQpO2cucHVzaChqKSxoLnB1c2goayl9cmV0dXJuIGEubWVyZ2VOZXN0ZWRSZXBlYXRlZChiLGMsZyxoKX12YXIgZj1lLmJpbmQobnVsbCxkLCIsICIpO2EuYWRkUHJvcGVydGllc0hhbmRsZXIoYyxmLFsiYm94LXNoYWRvdyIsInRleHQtc2hhZG93Il0pfShiKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSl7cmV0dXJuIGEudG9GaXhlZCgzKS5yZXBsYWNlKC8wKyQvLCIiKS5yZXBsYWNlKC9cLiQvLCIiKX1mdW5jdGlvbiBkKGEsYixjKXtyZXR1cm4gTWF0aC5taW4oYixNYXRoLm1heChhLGMpKX1mdW5jdGlvbiBlKGEpe2lmKC9eXHMqWy0rXT8oXGQqXC4pP1xkK1xzKiQvLnRlc3QoYSkpcmV0dXJuIE51bWJlcihhKX1mdW5jdGlvbiBmKGEsYil7cmV0dXJuW2EsYixjXX1mdW5jdGlvbiBnKGEsYil7aWYoMCE9YSlyZXR1cm4gaSgwLDEvMCkoYSxiKX1mdW5jdGlvbiBoKGEsYil7cmV0dXJuW2EsYixmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5yb3VuZChkKDEsMS8wLGEpKX1dfWZ1bmN0aW9uIGkoYSxiKXtyZXR1cm4gZnVuY3Rpb24oZSxmKXtyZXR1cm5bZSxmLGZ1bmN0aW9uKGUpe3JldHVybiBjKGQoYSxiLGUpKX1dfX1mdW5jdGlvbiBqKGEpe3ZhciBiPWEudHJpbSgpLnNwbGl0KC9ccypbXHMsXVxzKi8pO2lmKDAhPT1iLmxlbmd0aCl7Zm9yKHZhciBjPVtdLGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGY9ZShiW2RdKTtpZih2b2lkIDA9PT1mKXJldHVybjtjLnB1c2goZil9cmV0dXJuIGN9fWZ1bmN0aW9uIGsoYSxiKXtpZihhLmxlbmd0aD09Yi5sZW5ndGgpcmV0dXJuW2EsYixmdW5jdGlvbihhKXtyZXR1cm4gYS5tYXAoYykuam9pbigiICIpfV19ZnVuY3Rpb24gbChhLGIpe3JldHVyblthLGIsTWF0aC5yb3VuZF19YS5jbGFtcD1kLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoaixrLFsic3Ryb2tlLWRhc2hhcnJheSJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsaSgwLDEvMCksWyJib3JkZXItaW1hZ2Utd2lkdGgiLCJsaW5lLWhlaWdodCJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsaSgwLDEpLFsib3BhY2l0eSIsInNoYXBlLWltYWdlLXRocmVzaG9sZCJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsZyxbImZsZXgtZ3JvdyIsImZsZXgtc2hyaW5rIl0pLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoZSxoLFsib3JwaGFucyIsIndpZG93cyJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsbCxbInotaW5kZXgiXSksYS5wYXJzZU51bWJlcj1lLGEucGFyc2VOdW1iZXJMaXN0PWosYS5tZXJnZU51bWJlcnM9ZixhLm51bWJlclRvU3RyaW5nPWN9KGIpLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhLGIpe2lmKCJ2aXNpYmxlIj09YXx8InZpc2libGUiPT1iKXJldHVyblswLDEsZnVuY3Rpb24oYyl7cmV0dXJuIGM8PTA/YTpjPj0xP2I6InZpc2libGUifV19YS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihTdHJpbmcsYyxbInZpc2liaWxpdHkiXSl9KGIpLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhhKXthPWEudHJpbSgpLGYuZmlsbFN0eWxlPSIjMDAwIixmLmZpbGxTdHlsZT1hO3ZhciBiPWYuZmlsbFN0eWxlO2lmKGYuZmlsbFN0eWxlPSIjZmZmIixmLmZpbGxTdHlsZT1hLGI9PWYuZmlsbFN0eWxlKXtmLmZpbGxSZWN0KDAsMCwxLDEpO3ZhciBjPWYuZ2V0SW1hZ2VEYXRhKDAsMCwxLDEpLmRhdGE7Zi5jbGVhclJlY3QoMCwwLDEsMSk7dmFyIGQ9Y1szXS8yNTU7cmV0dXJuW2NbMF0qZCxjWzFdKmQsY1syXSpkLGRdfX1mdW5jdGlvbiBkKGIsYyl7cmV0dXJuW2IsYyxmdW5jdGlvbihiKXtmdW5jdGlvbiBjKGEpe3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKDI1NSxhKSl9aWYoYlszXSlmb3IodmFyIGQ9MDtkPDM7ZCsrKWJbZF09TWF0aC5yb3VuZChjKGJbZF0vYlszXSkpO3JldHVybiBiWzNdPWEubnVtYmVyVG9TdHJpbmcoYS5jbGFtcCgwLDEsYlszXSkpLCJyZ2JhKCIrYi5qb2luKCIsIikrIikifV19dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiY2FudmFzIik7ZS53aWR0aD1lLmhlaWdodD0xO3ZhciBmPWUuZ2V0Q29udGV4dCgiMmQiKTthLmFkZFByb3BlcnRpZXNIYW5kbGVyKGMsZCxbImJhY2tncm91bmQtY29sb3IiLCJib3JkZXItYm90dG9tLWNvbG9yIiwiYm9yZGVyLWxlZnQtY29sb3IiLCJib3JkZXItcmlnaHQtY29sb3IiLCJib3JkZXItdG9wLWNvbG9yIiwiY29sb3IiLCJmaWxsIiwiZmxvb2QtY29sb3IiLCJsaWdodGluZy1jb2xvciIsIm91dGxpbmUtY29sb3IiLCJzdG9wLWNvbG9yIiwic3Ryb2tlIiwidGV4dC1kZWNvcmF0aW9uLWNvbG9yIl0pLGEuY29uc3VtZUNvbG9yPWEuY29uc3VtZVBhcmVudGhlc2lzZWQuYmluZChudWxsLGMpLGEubWVyZ2VDb2xvcnM9ZH0oYiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEpe2Z1bmN0aW9uIGIoKXt2YXIgYj1oLmV4ZWMoYSk7Zz1iP2JbMF06dm9pZCAwfWZ1bmN0aW9uIGMoKXt2YXIgYT1OdW1iZXIoZyk7cmV0dXJuIGIoKSxhfWZ1bmN0aW9uIGQoKXtpZigiKCIhPT1nKXJldHVybiBjKCk7YigpO3ZhciBhPWYoKTtyZXR1cm4iKSIhPT1nP05hTjooYigpLGEpfWZ1bmN0aW9uIGUoKXtmb3IodmFyIGE9ZCgpOyIqIj09PWd8fCIvIj09PWc7KXt2YXIgYz1nO2IoKTt2YXIgZT1kKCk7IioiPT09Yz9hKj1lOmEvPWV9cmV0dXJuIGF9ZnVuY3Rpb24gZigpe2Zvcih2YXIgYT1lKCk7IisiPT09Z3x8Ii0iPT09Zzspe3ZhciBjPWc7YigpO3ZhciBkPWUoKTsiKyI9PT1jP2ErPWQ6YS09ZH1yZXR1cm4gYX12YXIgZyxoPS8oW1wrXC1cd1wuXSt8W1woXClcKlwvXSkvZztyZXR1cm4gYigpLGYoKX1mdW5jdGlvbiBkKGEsYil7aWYoIjAiPT0oYj1iLnRyaW0oKS50b0xvd2VyQ2FzZSgpKSYmInB4Ii5zZWFyY2goYSk+PTApcmV0dXJue3B4OjB9O2lmKC9eW14oXSokfF5jYWxjLy50ZXN0KGIpKXtiPWIucmVwbGFjZSgvY2FsY1woL2csIigiKTt2YXIgZD17fTtiPWIucmVwbGFjZShhLGZ1bmN0aW9uKGEpe3JldHVybiBkW2FdPW51bGwsIlUiK2F9KTtmb3IodmFyIGU9IlUoIithLnNvdXJjZSsiKSIsZj1iLnJlcGxhY2UoL1stK10/KFxkKlwuKT9cZCsoW0VlXVstK10/XGQrKT8vZywiTiIpLnJlcGxhY2UobmV3IFJlZ0V4cCgiTiIrZSwiZyIpLCJEIikucmVwbGFjZSgvXHNbKy1dXHMvZywiTyIpLnJlcGxhY2UoL1xzL2csIiIpLGc9Wy9OXCooRCkvZywvKE58RClbKlwvXU4vZywvKE58RClPXDEvZywvXCgoTnxEKVwpL2ddLGg9MDtoPGcubGVuZ3RoOylnW2hdLnRlc3QoZik/KGY9Zi5yZXBsYWNlKGdbaF0sIiQxIiksaD0wKTpoKys7aWYoIkQiPT1mKXtmb3IodmFyIGkgaW4gZCl7dmFyIGo9YyhiLnJlcGxhY2UobmV3IFJlZ0V4cCgiVSIraSwiZyIpLCIiKS5yZXBsYWNlKG5ldyBSZWdFeHAoZSwiZyIpLCIqMCIpKTtpZighaXNGaW5pdGUoaikpcmV0dXJuO2RbaV09an1yZXR1cm4gZH19fWZ1bmN0aW9uIGUoYSxiKXtyZXR1cm4gZihhLGIsITApfWZ1bmN0aW9uIGYoYixjLGQpe3ZhciBlLGY9W107Zm9yKGUgaW4gYilmLnB1c2goZSk7Zm9yKGUgaW4gYylmLmluZGV4T2YoZSk8MCYmZi5wdXNoKGUpO3JldHVybiBiPWYubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBiW2FdfHwwfSksYz1mLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gY1thXXx8MH0pLFtiLGMsZnVuY3Rpb24oYil7dmFyIGM9Yi5tYXAoZnVuY3Rpb24oYyxlKXtyZXR1cm4gMT09Yi5sZW5ndGgmJmQmJihjPU1hdGgubWF4KGMsMCkpLGEubnVtYmVyVG9TdHJpbmcoYykrZltlXX0pLmpvaW4oIiArICIpO3JldHVybiBiLmxlbmd0aD4xPyJjYWxjKCIrYysiKSI6Y31dfXZhciBnPSJweHxlbXxleHxjaHxyZW18dnd8dmh8dm1pbnx2bWF4fGNtfG1tfGlufHB0fHBjIixoPWQuYmluZChudWxsLG5ldyBSZWdFeHAoZywiZyIpKSxpPWQuYmluZChudWxsLG5ldyBSZWdFeHAoZysifCUiLCJnIikpLGo9ZC5iaW5kKG51bGwsL2RlZ3xyYWR8Z3JhZHx0dXJuL2cpO2EucGFyc2VMZW5ndGg9aCxhLnBhcnNlTGVuZ3RoT3JQZXJjZW50PWksYS5jb25zdW1lTGVuZ3RoT3JQZXJjZW50PWEuY29uc3VtZVBhcmVudGhlc2lzZWQuYmluZChudWxsLGkpLGEucGFyc2VBbmdsZT1qLGEubWVyZ2VEaW1lbnNpb25zPWY7dmFyIGs9YS5jb25zdW1lUGFyZW50aGVzaXNlZC5iaW5kKG51bGwsaCksbD1hLmNvbnN1bWVSZXBlYXRlZC5iaW5kKHZvaWQgMCxrLC9eLyksbT1hLmNvbnN1bWVSZXBlYXRlZC5iaW5kKHZvaWQgMCxsLC9eLC8pO2EuY29uc3VtZVNpemVQYWlyTGlzdD1tO3ZhciBuPWZ1bmN0aW9uKGEpe3ZhciBiPW0oYSk7aWYoYiYmIiI9PWJbMV0pcmV0dXJuIGJbMF19LG89YS5tZXJnZU5lc3RlZFJlcGVhdGVkLmJpbmQodm9pZCAwLGUsIiAiKSxwPWEubWVyZ2VOZXN0ZWRSZXBlYXRlZC5iaW5kKHZvaWQgMCxvLCIsIik7YS5tZXJnZU5vbk5lZ2F0aXZlU2l6ZVBhaXI9byxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKG4scCxbImJhY2tncm91bmQtc2l6ZSJdKSxhLmFkZFByb3BlcnRpZXNIYW5kbGVyKGksZSxbImJvcmRlci1ib3R0b20td2lkdGgiLCJib3JkZXItaW1hZ2Utd2lkdGgiLCJib3JkZXItbGVmdC13aWR0aCIsImJvcmRlci1yaWdodC13aWR0aCIsImJvcmRlci10b3Atd2lkdGgiLCJmbGV4LWJhc2lzIiwiZm9udC1zaXplIiwiaGVpZ2h0IiwibGluZS1oZWlnaHQiLCJtYXgtaGVpZ2h0IiwibWF4LXdpZHRoIiwib3V0bGluZS13aWR0aCIsIndpZHRoIl0pLGEuYWRkUHJvcGVydGllc0hhbmRsZXIoaSxmLFsiYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyIsImJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzIiwiYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cyIsImJvcmRlci10b3AtcmlnaHQtcmFkaXVzIiwiYm90dG9tIiwibGVmdCIsImxldHRlci1zcGFjaW5nIiwibWFyZ2luLWJvdHRvbSIsIm1hcmdpbi1sZWZ0IiwibWFyZ2luLXJpZ2h0IiwibWFyZ2luLXRvcCIsIm1pbi1oZWlnaHQiLCJtaW4td2lkdGgiLCJvdXRsaW5lLW9mZnNldCIsInBhZGRpbmctYm90dG9tIiwicGFkZGluZy1sZWZ0IiwicGFkZGluZy1yaWdodCIsInBhZGRpbmctdG9wIiwicGVyc3BlY3RpdmUiLCJyaWdodCIsInNoYXBlLW1hcmdpbiIsInN0cm9rZS1kYXNob2Zmc2V0IiwidGV4dC1pbmRlbnQiLCJ0b3AiLCJ2ZXJ0aWNhbC1hbGlnbiIsIndvcmQtc3BhY2luZyJdKX0oYiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGIpe3JldHVybiBhLmNvbnN1bWVMZW5ndGhPclBlcmNlbnQoYil8fGEuY29uc3VtZVRva2VuKC9eYXV0by8sYil9ZnVuY3Rpb24gZChiKXt2YXIgZD1hLmNvbnN1bWVMaXN0KFthLmlnbm9yZShhLmNvbnN1bWVUb2tlbi5iaW5kKG51bGwsL15yZWN0LykpLGEuaWdub3JlKGEuY29uc3VtZVRva2VuLmJpbmQobnVsbCwvXlwoLykpLGEuY29uc3VtZVJlcGVhdGVkLmJpbmQobnVsbCxjLC9eLC8pLGEuaWdub3JlKGEuY29uc3VtZVRva2VuLmJpbmQobnVsbCwvXlwpLykpXSxiKTtpZihkJiY0PT1kWzBdLmxlbmd0aClyZXR1cm4gZFswXX1mdW5jdGlvbiBlKGIsYyl7cmV0dXJuImF1dG8iPT1ifHwiYXV0byI9PWM/WyEwLCExLGZ1bmN0aW9uKGQpe3ZhciBlPWQ/YjpjO2lmKCJhdXRvIj09ZSlyZXR1cm4iYXV0byI7dmFyIGY9YS5tZXJnZURpbWVuc2lvbnMoZSxlKTtyZXR1cm4gZlsyXShmWzBdKX1dOmEubWVyZ2VEaW1lbnNpb25zKGIsYyl9ZnVuY3Rpb24gZihhKXtyZXR1cm4icmVjdCgiK2ErIikifXZhciBnPWEubWVyZ2VXcmFwcGVkTmVzdGVkUmVwZWF0ZWQuYmluZChudWxsLGYsZSwiLCAiKTthLnBhcnNlQm94PWQsYS5tZXJnZUJveGVzPWcsYS5hZGRQcm9wZXJ0aWVzSGFuZGxlcihkLGcsWyJjbGlwIl0pfShiKSxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPTA7cmV0dXJuIGEubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhPT09az9iW2MrK106YX0pfX1mdW5jdGlvbiBkKGEpe3JldHVybiBhfWZ1bmN0aW9uIGUoYil7aWYoIm5vbmUiPT0oYj1iLnRvTG93ZXJDYXNlKCkudHJpbSgpKSlyZXR1cm5bXTtmb3IodmFyIGMsZD0vXHMqKFx3KylcKChbXildKilcKS9nLGU9W10sZj0wO2M9ZC5leGVjKGIpOyl7aWYoYy5pbmRleCE9ZilyZXR1cm47Zj1jLmluZGV4K2NbMF0ubGVuZ3RoO3ZhciBnPWNbMV0saD1uW2ddO2lmKCFoKXJldHVybjt2YXIgaT1jWzJdLnNwbGl0KCIsIiksaj1oWzBdO2lmKGoubGVuZ3RoPGkubGVuZ3RoKXJldHVybjtmb3IodmFyIGs9W10sbz0wO288ai5sZW5ndGg7bysrKXt2YXIgcCxxPWlbb10scj1qW29dO2lmKHZvaWQgMD09PShwPXE/e0E6ZnVuY3Rpb24oYil7cmV0dXJuIjAiPT1iLnRyaW0oKT9tOmEucGFyc2VBbmdsZShiKX0sTjphLnBhcnNlTnVtYmVyLFQ6YS5wYXJzZUxlbmd0aE9yUGVyY2VudCxMOmEucGFyc2VMZW5ndGh9W3IudG9VcHBlckNhc2UoKV0ocSk6e2E6bSxuOmtbMF0sdDpsfVtyXSkpcmV0dXJuO2sucHVzaChwKX1pZihlLnB1c2goe3Q6ZyxkOmt9KSxkLmxhc3RJbmRleD09Yi5sZW5ndGgpcmV0dXJuIGV9fWZ1bmN0aW9uIGYoYSl7cmV0dXJuIGEudG9GaXhlZCg2KS5yZXBsYWNlKCIuMDAwMDAwIiwiIil9ZnVuY3Rpb24gZyhiLGMpe2lmKGIuZGVjb21wb3NpdGlvblBhaXIhPT1jKXtiLmRlY29tcG9zaXRpb25QYWlyPWM7dmFyIGQ9YS5tYWtlTWF0cml4RGVjb21wb3NpdGlvbihiKX1pZihjLmRlY29tcG9zaXRpb25QYWlyIT09Yil7Yy5kZWNvbXBvc2l0aW9uUGFpcj1iO3ZhciBlPWEubWFrZU1hdHJpeERlY29tcG9zaXRpb24oYyl9cmV0dXJuIG51bGw9PWRbMF18fG51bGw9PWVbMF0/W1shMV0sWyEwXSxmdW5jdGlvbihhKXtyZXR1cm4gYT9jWzBdLmQ6YlswXS5kfV06KGRbMF0ucHVzaCgwKSxlWzBdLnB1c2goMSksW2QsZSxmdW5jdGlvbihiKXt2YXIgYz1hLnF1YXQoZFswXVszXSxlWzBdWzNdLGJbNV0pO3JldHVybiBhLmNvbXBvc2VNYXRyaXgoYlswXSxiWzFdLGJbMl0sYyxiWzRdKS5tYXAoZikuam9pbigiLCIpfV0pfWZ1bmN0aW9uIGgoYSl7cmV0dXJuIGEucmVwbGFjZSgvW3h5XS8sIiIpfWZ1bmN0aW9uIGkoYSl7cmV0dXJuIGEucmVwbGFjZSgvKHh8eXx6fDNkKT8kLywiM2QiKX1mdW5jdGlvbiBqKGIsYyl7dmFyIGQ9YS5tYWtlTWF0cml4RGVjb21wb3NpdGlvbiYmITAsZT0hMTtpZighYi5sZW5ndGh8fCFjLmxlbmd0aCl7Yi5sZW5ndGh8fChlPSEwLGI9YyxjPVtdKTtmb3IodmFyIGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGo9YltmXS50LGs9YltmXS5kLGw9InNjYWxlIj09ai5zdWJzdHIoMCw1KT8xOjA7Yy5wdXNoKHt0OmosZDprLm1hcChmdW5jdGlvbihhKXtpZigibnVtYmVyIj09dHlwZW9mIGEpcmV0dXJuIGw7dmFyIGI9e307Zm9yKHZhciBjIGluIGEpYltjXT1sO3JldHVybiBifSl9KX19dmFyIG09ZnVuY3Rpb24oYSxiKXtyZXR1cm4icGVyc3BlY3RpdmUiPT1hJiYicGVyc3BlY3RpdmUiPT1ifHwoIm1hdHJpeCI9PWF8fCJtYXRyaXgzZCI9PWEpJiYoIm1hdHJpeCI9PWJ8fCJtYXRyaXgzZCI9PWIpfSxvPVtdLHA9W10scT1bXTtpZihiLmxlbmd0aCE9Yy5sZW5ndGgpe2lmKCFkKXJldHVybjt2YXIgcj1nKGIsYyk7bz1bclswXV0scD1bclsxXV0scT1bWyJtYXRyaXgiLFtyWzJdXV1dfWVsc2UgZm9yKHZhciBmPTA7ZjxiLmxlbmd0aDtmKyspe3ZhciBqLHM9YltmXS50LHQ9Y1tmXS50LHU9YltmXS5kLHY9Y1tmXS5kLHc9bltzXSx4PW5bdF07aWYobShzLHQpKXtpZighZClyZXR1cm47dmFyIHI9ZyhbYltmXV0sW2NbZl1dKTtvLnB1c2goclswXSkscC5wdXNoKHJbMV0pLHEucHVzaChbIm1hdHJpeCIsW3JbMl1dXSl9ZWxzZXtpZihzPT10KWo9cztlbHNlIGlmKHdbMl0mJnhbMl0mJmgocyk9PWgodCkpaj1oKHMpLHU9d1syXSh1KSx2PXhbMl0odik7ZWxzZXtpZighd1sxXXx8IXhbMV18fGkocykhPWkodCkpe2lmKCFkKXJldHVybjt2YXIgcj1nKGIsYyk7bz1bclswXV0scD1bclsxXV0scT1bWyJtYXRyaXgiLFtyWzJdXV1dO2JyZWFrfWo9aShzKSx1PXdbMV0odSksdj14WzFdKHYpfWZvcih2YXIgeT1bXSx6PVtdLEE9W10sQj0wO0I8dS5sZW5ndGg7QisrKXt2YXIgQz0ibnVtYmVyIj09dHlwZW9mIHVbQl0/YS5tZXJnZU51bWJlcnM6YS5tZXJnZURpbWVuc2lvbnMscj1DKHVbQl0sdltCXSk7eVtCXT1yWzBdLHpbQl09clsxXSxBLnB1c2goclsyXSl9by5wdXNoKHkpLHAucHVzaCh6KSxxLnB1c2goW2osQV0pfX1pZihlKXt2YXIgRD1vO289cCxwPUR9cmV0dXJuW28scCxmdW5jdGlvbihhKXtyZXR1cm4gYS5tYXAoZnVuY3Rpb24oYSxiKXt2YXIgYz1hLm1hcChmdW5jdGlvbihhLGMpe3JldHVybiBxW2JdWzFdW2NdKGEpfSkuam9pbigiLCIpO3JldHVybiJtYXRyaXgiPT1xW2JdWzBdJiYxNj09Yy5zcGxpdCgiLCIpLmxlbmd0aCYmKHFbYl1bMF09Im1hdHJpeDNkIikscVtiXVswXSsiKCIrYysiKSJ9KS5qb2luKCIgIil9XX12YXIgaz1udWxsLGw9e3B4OjB9LG09e2RlZzowfSxuPXttYXRyaXg6WyJOTk5OTk4iLFtrLGssMCwwLGssaywwLDAsMCwwLDEsMCxrLGssMCwxXSxkXSxtYXRyaXgzZDpbIk5OTk5OTk5OTk5OTk5OTk4iLGRdLHJvdGF0ZTpbIkEiXSxyb3RhdGV4OlsiQSJdLHJvdGF0ZXk6WyJBIl0scm90YXRlejpbIkEiXSxyb3RhdGUzZDpbIk5OTkEiXSxwZXJzcGVjdGl2ZTpbIkwiXSxzY2FsZTpbIk5uIixjKFtrLGssMV0pLGRdLHNjYWxleDpbIk4iLGMoW2ssMSwxXSksYyhbaywxXSldLHNjYWxleTpbIk4iLGMoWzEsaywxXSksYyhbMSxrXSldLHNjYWxlejpbIk4iLGMoWzEsMSxrXSldLHNjYWxlM2Q6WyJOTk4iLGRdLHNrZXc6WyJBYSIsbnVsbCxkXSxza2V3eDpbIkEiLG51bGwsYyhbayxtXSldLHNrZXd5OlsiQSIsbnVsbCxjKFttLGtdKV0sdHJhbnNsYXRlOlsiVHQiLGMoW2ssayxsXSksZF0sdHJhbnNsYXRleDpbIlQiLGMoW2ssbCxsXSksYyhbayxsXSldLHRyYW5zbGF0ZXk6WyJUIixjKFtsLGssbF0pLGMoW2wsa10pXSx0cmFuc2xhdGV6OlsiTCIsYyhbbCxsLGtdKV0sdHJhbnNsYXRlM2Q6WyJUVEwiLGRdfTthLmFkZFByb3BlcnRpZXNIYW5kbGVyKGUsaixbInRyYW5zZm9ybSJdKSxhLnRyYW5zZm9ybVRvU3ZnTWF0cml4PWZ1bmN0aW9uKGIpe3ZhciBjPWEudHJhbnNmb3JtTGlzdFRvTWF0cml4KGUoYikpO3JldHVybiJtYXRyaXgoIitmKGNbMF0pKyIgIitmKGNbMV0pKyIgIitmKGNbNF0pKyIgIitmKGNbNV0pKyIgIitmKGNbMTJdKSsiICIrZihjWzEzXSkrIikifX0oYiksZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEsYil7Yi5jb25jYXQoW2FdKS5mb3JFYWNoKGZ1bmN0aW9uKGIpe2IgaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoZFthXT1iKSxlW2JdPWF9KX12YXIgZD17fSxlPXt9O2MoInRyYW5zZm9ybSIsWyJ3ZWJraXRUcmFuc2Zvcm0iLCJtc1RyYW5zZm9ybSJdKSxjKCJ0cmFuc2Zvcm1PcmlnaW4iLFsid2Via2l0VHJhbnNmb3JtT3JpZ2luIl0pLGMoInBlcnNwZWN0aXZlIixbIndlYmtpdFBlcnNwZWN0aXZlIl0pLGMoInBlcnNwZWN0aXZlT3JpZ2luIixbIndlYmtpdFBlcnNwZWN0aXZlT3JpZ2luIl0pLGEucHJvcGVydHlOYW1lPWZ1bmN0aW9uKGEpe3JldHVybiBkW2FdfHxhfSxhLnVucHJlZml4ZWRQcm9wZXJ0eU5hbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIGVbYV18fGF9fShiKX0oKSxmdW5jdGlvbigpe2lmKHZvaWQgMD09PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLmFuaW1hdGUoW10pLm9uY2FuY2VsKXt2YXIgYTtpZih3aW5kb3cucGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm5vdyl2YXIgYT1mdW5jdGlvbigpe3JldHVybiBwZXJmb3JtYW5jZS5ub3coKX07ZWxzZSB2YXIgYT1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTt2YXIgYj1mdW5jdGlvbihhLGIsYyl7dGhpcy50YXJnZXQ9YSx0aGlzLmN1cnJlbnRUaW1lPWIsdGhpcy50aW1lbGluZVRpbWU9Yyx0aGlzLnR5cGU9ImNhbmNlbCIsdGhpcy5idWJibGVzPSExLHRoaXMuY2FuY2VsYWJsZT0hMSx0aGlzLmN1cnJlbnRUYXJnZXQ9YSx0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9ITEsdGhpcy5ldmVudFBoYXNlPUV2ZW50LkFUX1RBUkdFVCx0aGlzLnRpbWVTdGFtcD1EYXRlLm5vdygpfSxjPXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlO3dpbmRvdy5FbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGQsZSl7dmFyIGY9Yy5jYWxsKHRoaXMsZCxlKTtmLl9jYW5jZWxIYW5kbGVycz1bXSxmLm9uY2FuY2VsPW51bGw7dmFyIGc9Zi5jYW5jZWw7Zi5jYW5jZWw9ZnVuY3Rpb24oKXtnLmNhbGwodGhpcyk7dmFyIGM9bmV3IGIodGhpcyxudWxsLGEoKSksZD10aGlzLl9jYW5jZWxIYW5kbGVycy5jb25jYXQodGhpcy5vbmNhbmNlbD9bdGhpcy5vbmNhbmNlbF06W10pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtkLmZvckVhY2goZnVuY3Rpb24oYSl7YS5jYWxsKGMudGFyZ2V0LGMpfSl9LDApfTt2YXIgaD1mLmFkZEV2ZW50TGlzdGVuZXI7Zi5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYil7ImZ1bmN0aW9uIj09dHlwZW9mIGImJiJjYW5jZWwiPT1hP3RoaXMuX2NhbmNlbEhhbmRsZXJzLnB1c2goYik6aC5jYWxsKHRoaXMsYSxiKX07dmFyIGk9Zi5yZW1vdmVFdmVudExpc3RlbmVyO3JldHVybiBmLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXtpZigiY2FuY2VsIj09YSl7dmFyIGM9dGhpcy5fY2FuY2VsSGFuZGxlcnMuaW5kZXhPZihiKTtjPj0wJiZ0aGlzLl9jYW5jZWxIYW5kbGVycy5zcGxpY2UoYywxKX1lbHNlIGkuY2FsbCh0aGlzLGEsYil9LGZ9fX0oKSxmdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYz1udWxsLGQ9ITE7dHJ5e3ZhciBlPWdldENvbXB1dGVkU3R5bGUoYikuZ2V0UHJvcGVydHlWYWx1ZSgib3BhY2l0eSIpLGY9IjAiPT1lPyIxIjoiMCI7Yz1iLmFuaW1hdGUoe29wYWNpdHk6W2YsZl19LHtkdXJhdGlvbjoxfSksYy5jdXJyZW50VGltZT0wLGQ9Z2V0Q29tcHV0ZWRTdHlsZShiKS5nZXRQcm9wZXJ0eVZhbHVlKCJvcGFjaXR5Iik9PWZ9Y2F0Y2goYSl7fWZpbmFsbHl7YyYmYy5jYW5jZWwoKX1pZighZCl7dmFyIGc9d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGU7d2luZG93LkVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24oYixjKXtyZXR1cm4gd2luZG93LlN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yJiZBcnJheS5wcm90b3R5cGUuZnJvbSYmYltTeW1ib2wuaXRlcmF0b3JdJiYoYj1BcnJheS5mcm9tKGIpKSxBcnJheS5pc0FycmF5KGIpfHxudWxsPT09Ynx8KGI9YS5jb252ZXJ0VG9BcnJheUZvcm0oYikpLGcuY2FsbCh0aGlzLGIsYyl9fX0oYSksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7dmFyIGM9Yi50aW1lbGluZTtjLmN1cnJlbnRUaW1lPWEsYy5fZGlzY2FyZEFuaW1hdGlvbnMoKSwwPT1jLl9hbmltYXRpb25zLmxlbmd0aD9mPSExOnJlcXVlc3RBbmltYXRpb25GcmFtZShkKX12YXIgZT13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIGUoZnVuY3Rpb24oYyl7Yi50aW1lbGluZS5fdXBkYXRlQW5pbWF0aW9uc1Byb21pc2VzKCksYShjKSxiLnRpbWVsaW5lLl91cGRhdGVBbmltYXRpb25zUHJvbWlzZXMoKX0pfSxiLkFuaW1hdGlvblRpbWVsaW5lPWZ1bmN0aW9uKCl7dGhpcy5fYW5pbWF0aW9ucz1bXSx0aGlzLmN1cnJlbnRUaW1lPXZvaWQgMH0sYi5BbmltYXRpb25UaW1lbGluZS5wcm90b3R5cGU9e2dldEFuaW1hdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGlzY2FyZEFuaW1hdGlvbnMoKSx0aGlzLl9hbmltYXRpb25zLnNsaWNlKCl9LF91cGRhdGVBbmltYXRpb25zUHJvbWlzZXM6ZnVuY3Rpb24oKXtiLmFuaW1hdGlvbnNXaXRoUHJvbWlzZXM9Yi5hbmltYXRpb25zV2l0aFByb21pc2VzLmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYS5fdXBkYXRlUHJvbWlzZXMoKX0pfSxfZGlzY2FyZEFuaW1hdGlvbnM6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVBbmltYXRpb25zUHJvbWlzZXMoKSx0aGlzLl9hbmltYXRpb25zPXRoaXMuX2FuaW1hdGlvbnMuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiJmaW5pc2hlZCIhPWEucGxheVN0YXRlJiYiaWRsZSIhPWEucGxheVN0YXRlfSl9LF9wbGF5OmZ1bmN0aW9uKGEpe3ZhciBjPW5ldyBiLkFuaW1hdGlvbihhLHRoaXMpO3JldHVybiB0aGlzLl9hbmltYXRpb25zLnB1c2goYyksYi5yZXN0YXJ0V2ViQW5pbWF0aW9uc05leHRUaWNrKCksYy5fdXBkYXRlUHJvbWlzZXMoKSxjLl9hbmltYXRpb24ucGxheSgpLGMuX3VwZGF0ZVByb21pc2VzKCksY30scGxheTpmdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5yZW1vdmUoKSx0aGlzLl9wbGF5KGEpfX07dmFyIGY9ITE7Yi5yZXN0YXJ0V2ViQW5pbWF0aW9uc05leHRUaWNrPWZ1bmN0aW9uKCl7Znx8KGY9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGQpKX07dmFyIGc9bmV3IGIuQW5pbWF0aW9uVGltZWxpbmU7Yi50aW1lbGluZT1nO3RyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LmRvY3VtZW50LCJ0aW1lbGluZSIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZ319KX1jYXRjaChhKXt9dHJ5e3dpbmRvdy5kb2N1bWVudC50aW1lbGluZT1nfWNhdGNoKGEpe319KDAsYyksZnVuY3Rpb24oYSxiLGMpe2IuYW5pbWF0aW9uc1dpdGhQcm9taXNlcz1bXSxiLkFuaW1hdGlvbj1mdW5jdGlvbihiLGMpe2lmKHRoaXMuaWQ9IiIsYiYmYi5faWQmJih0aGlzLmlkPWIuX2lkKSx0aGlzLmVmZmVjdD1iLGImJihiLl9hbmltYXRpb249dGhpcyksIWMpdGhyb3cgbmV3IEVycm9yKCJBbmltYXRpb24gd2l0aCBudWxsIHRpbWVsaW5lIGlzIG5vdCBzdXBwb3J0ZWQiKTt0aGlzLl90aW1lbGluZT1jLHRoaXMuX3NlcXVlbmNlTnVtYmVyPWEuc2VxdWVuY2VOdW1iZXIrKyx0aGlzLl9ob2xkVGltZT0wLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9pc0dyb3VwPSExLHRoaXMuX2FuaW1hdGlvbj1udWxsLHRoaXMuX2NoaWxkQW5pbWF0aW9ucz1bXSx0aGlzLl9jYWxsYmFjaz1udWxsLHRoaXMuX29sZFBsYXlTdGF0ZT0iaWRsZSIsdGhpcy5fcmVidWlsZFVuZGVybHlpbmdBbmltYXRpb24oKSx0aGlzLl9hbmltYXRpb24uY2FuY2VsKCksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0sYi5BbmltYXRpb24ucHJvdG90eXBlPXtfdXBkYXRlUHJvbWlzZXM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLl9vbGRQbGF5U3RhdGUsYj10aGlzLnBsYXlTdGF0ZTtyZXR1cm4gdGhpcy5fcmVhZHlQcm9taXNlJiZiIT09YSYmKCJpZGxlIj09Yj8odGhpcy5fcmVqZWN0UmVhZHlQcm9taXNlKCksdGhpcy5fcmVhZHlQcm9taXNlPXZvaWQgMCk6InBlbmRpbmciPT1hP3RoaXMuX3Jlc29sdmVSZWFkeVByb21pc2UoKToicGVuZGluZyI9PWImJih0aGlzLl9yZWFkeVByb21pc2U9dm9pZCAwKSksdGhpcy5fZmluaXNoZWRQcm9taXNlJiZiIT09YSYmKCJpZGxlIj09Yj8odGhpcy5fcmVqZWN0RmluaXNoZWRQcm9taXNlKCksdGhpcy5fZmluaXNoZWRQcm9taXNlPXZvaWQgMCk6ImZpbmlzaGVkIj09Yj90aGlzLl9yZXNvbHZlRmluaXNoZWRQcm9taXNlKCk6ImZpbmlzaGVkIj09YSYmKHRoaXMuX2ZpbmlzaGVkUHJvbWlzZT12b2lkIDApKSx0aGlzLl9vbGRQbGF5U3RhdGU9dGhpcy5wbGF5U3RhdGUsdGhpcy5fcmVhZHlQcm9taXNlfHx0aGlzLl9maW5pc2hlZFByb21pc2V9LF9yZWJ1aWxkVW5kZXJseWluZ0FuaW1hdGlvbjpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCk7dmFyIGEsYyxkLGUsZj0hIXRoaXMuX2FuaW1hdGlvbjtmJiYoYT10aGlzLnBsYXliYWNrUmF0ZSxjPXRoaXMuX3BhdXNlZCxkPXRoaXMuc3RhcnRUaW1lLGU9dGhpcy5jdXJyZW50VGltZSx0aGlzLl9hbmltYXRpb24uY2FuY2VsKCksdGhpcy5fYW5pbWF0aW9uLl93cmFwcGVyPW51bGwsdGhpcy5fYW5pbWF0aW9uPW51bGwpLCghdGhpcy5lZmZlY3R8fHRoaXMuZWZmZWN0IGluc3RhbmNlb2Ygd2luZG93LktleWZyYW1lRWZmZWN0KSYmKHRoaXMuX2FuaW1hdGlvbj1iLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdCh0aGlzLmVmZmVjdCksYi5iaW5kQW5pbWF0aW9uRm9yS2V5ZnJhbWVFZmZlY3QodGhpcykpLCh0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdHx8dGhpcy5lZmZlY3QgaW5zdGFuY2VvZiB3aW5kb3cuR3JvdXBFZmZlY3QpJiYodGhpcy5fYW5pbWF0aW9uPWIubmV3VW5kZXJseWluZ0FuaW1hdGlvbkZvckdyb3VwKHRoaXMuZWZmZWN0KSxiLmJpbmRBbmltYXRpb25Gb3JHcm91cCh0aGlzKSksdGhpcy5lZmZlY3QmJnRoaXMuZWZmZWN0Ll9vbnNhbXBsZSYmYi5iaW5kQW5pbWF0aW9uRm9yQ3VzdG9tRWZmZWN0KHRoaXMpLGYmJigxIT1hJiYodGhpcy5wbGF5YmFja1JhdGU9YSksbnVsbCE9PWQ/dGhpcy5zdGFydFRpbWU9ZDpudWxsIT09ZT90aGlzLmN1cnJlbnRUaW1lPWU6bnVsbCE9PXRoaXMuX2hvbGRUaW1lJiYodGhpcy5jdXJyZW50VGltZT10aGlzLl9ob2xkVGltZSksYyYmdGhpcy5wYXVzZSgpKSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxfdXBkYXRlQ2hpbGRyZW46ZnVuY3Rpb24oKXtpZih0aGlzLmVmZmVjdCYmImlkbGUiIT10aGlzLnBsYXlTdGF0ZSl7dmFyIGE9dGhpcy5lZmZlY3QuX3RpbWluZy5kZWxheTt0aGlzLl9jaGlsZEFuaW1hdGlvbnMuZm9yRWFjaChmdW5jdGlvbihjKXt0aGlzLl9hcnJhbmdlQ2hpbGRyZW4oYyxhKSx0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdCYmKGErPWIuZ3JvdXBDaGlsZER1cmF0aW9uKGMuZWZmZWN0KSl9LmJpbmQodGhpcykpfX0sX3NldEV4dGVybmFsQW5pbWF0aW9uOmZ1bmN0aW9uKGEpe2lmKHRoaXMuZWZmZWN0JiZ0aGlzLl9pc0dyb3VwKWZvcih2YXIgYj0wO2I8dGhpcy5lZmZlY3QuY2hpbGRyZW4ubGVuZ3RoO2IrKyl0aGlzLmVmZmVjdC5jaGlsZHJlbltiXS5fYW5pbWF0aW9uPWEsdGhpcy5fY2hpbGRBbmltYXRpb25zW2JdLl9zZXRFeHRlcm5hbEFuaW1hdGlvbihhKX0sX2NvbnN0cnVjdENoaWxkQW5pbWF0aW9uczpmdW5jdGlvbigpe2lmKHRoaXMuZWZmZWN0JiZ0aGlzLl9pc0dyb3VwKXt2YXIgYT10aGlzLmVmZmVjdC5fdGltaW5nLmRlbGF5O3RoaXMuX3JlbW92ZUNoaWxkQW5pbWF0aW9ucygpLHRoaXMuZWZmZWN0LmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGQ9Yi50aW1lbGluZS5fcGxheShjKTt0aGlzLl9jaGlsZEFuaW1hdGlvbnMucHVzaChkKSxkLnBsYXliYWNrUmF0ZT10aGlzLnBsYXliYWNrUmF0ZSx0aGlzLl9wYXVzZWQmJmQucGF1c2UoKSxjLl9hbmltYXRpb249dGhpcy5lZmZlY3QuX2FuaW1hdGlvbix0aGlzLl9hcnJhbmdlQ2hpbGRyZW4oZCxhKSx0aGlzLmVmZmVjdCBpbnN0YW5jZW9mIHdpbmRvdy5TZXF1ZW5jZUVmZmVjdCYmKGErPWIuZ3JvdXBDaGlsZER1cmF0aW9uKGMpKX0uYmluZCh0aGlzKSl9fSxfYXJyYW5nZUNoaWxkcmVuOmZ1bmN0aW9uKGEsYil7bnVsbD09PXRoaXMuc3RhcnRUaW1lP2EuY3VycmVudFRpbWU9dGhpcy5jdXJyZW50VGltZS1iL3RoaXMucGxheWJhY2tSYXRlOmEuc3RhcnRUaW1lIT09dGhpcy5zdGFydFRpbWUrYi90aGlzLnBsYXliYWNrUmF0ZSYmKGEuc3RhcnRUaW1lPXRoaXMuc3RhcnRUaW1lK2IvdGhpcy5wbGF5YmFja1JhdGUpfSxnZXQgdGltZWxpbmUoKXtyZXR1cm4gdGhpcy5fdGltZWxpbmV9LGdldCBwbGF5U3RhdGUoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uP3RoaXMuX2FuaW1hdGlvbi5wbGF5U3RhdGU6ImlkbGUifSxnZXQgZmluaXNoZWQoKXtyZXR1cm4gd2luZG93LlByb21pc2U/KHRoaXMuX2ZpbmlzaGVkUHJvbWlzZXx8KC0xPT1iLmFuaW1hdGlvbnNXaXRoUHJvbWlzZXMuaW5kZXhPZih0aGlzKSYmYi5hbmltYXRpb25zV2l0aFByb21pc2VzLnB1c2godGhpcyksdGhpcy5fZmluaXNoZWRQcm9taXNlPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGEsYil7dGhpcy5fcmVzb2x2ZUZpbmlzaGVkUHJvbWlzZT1mdW5jdGlvbigpe2EodGhpcyl9LHRoaXMuX3JlamVjdEZpbmlzaGVkUHJvbWlzZT1mdW5jdGlvbigpe2Ioe3R5cGU6RE9NRXhjZXB0aW9uLkFCT1JUX0VSUixuYW1lOiJBYm9ydEVycm9yIn0pfX0uYmluZCh0aGlzKSksImZpbmlzaGVkIj09dGhpcy5wbGF5U3RhdGUmJnRoaXMuX3Jlc29sdmVGaW5pc2hlZFByb21pc2UoKSksdGhpcy5fZmluaXNoZWRQcm9taXNlKTooY29uc29sZS53YXJuKCJBbmltYXRpb24gUHJvbWlzZXMgcmVxdWlyZSBKYXZhU2NyaXB0IFByb21pc2UgY29uc3RydWN0b3IiKSxudWxsKX0sZ2V0IHJlYWR5KCl7cmV0dXJuIHdpbmRvdy5Qcm9taXNlPyh0aGlzLl9yZWFkeVByb21pc2V8fCgtMT09Yi5hbmltYXRpb25zV2l0aFByb21pc2VzLmluZGV4T2YodGhpcykmJmIuYW5pbWF0aW9uc1dpdGhQcm9taXNlcy5wdXNoKHRoaXMpLHRoaXMuX3JlYWR5UHJvbWlzZT1uZXcgUHJvbWlzZShmdW5jdGlvbihhLGIpe3RoaXMuX3Jlc29sdmVSZWFkeVByb21pc2U9ZnVuY3Rpb24oKXthKHRoaXMpfSx0aGlzLl9yZWplY3RSZWFkeVByb21pc2U9ZnVuY3Rpb24oKXtiKHt0eXBlOkRPTUV4Y2VwdGlvbi5BQk9SVF9FUlIsbmFtZToiQWJvcnRFcnJvciJ9KX19LmJpbmQodGhpcykpLCJwZW5kaW5nIiE9PXRoaXMucGxheVN0YXRlJiZ0aGlzLl9yZXNvbHZlUmVhZHlQcm9taXNlKCkpLHRoaXMuX3JlYWR5UHJvbWlzZSk6KGNvbnNvbGUud2FybigiQW5pbWF0aW9uIFByb21pc2VzIHJlcXVpcmUgSmF2YVNjcmlwdCBQcm9taXNlIGNvbnN0cnVjdG9yIiksbnVsbCl9LGdldCBvbmZpbmlzaCgpe3JldHVybiB0aGlzLl9hbmltYXRpb24ub25maW5pc2h9LHNldCBvbmZpbmlzaChhKXt0aGlzLl9hbmltYXRpb24ub25maW5pc2g9ImZ1bmN0aW9uIj09dHlwZW9mIGE/ZnVuY3Rpb24oYil7Yi50YXJnZXQ9dGhpcyxhLmNhbGwodGhpcyxiKX0uYmluZCh0aGlzKTphfSxnZXQgb25jYW5jZWwoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uLm9uY2FuY2VsfSxzZXQgb25jYW5jZWwoYSl7dGhpcy5fYW5pbWF0aW9uLm9uY2FuY2VsPSJmdW5jdGlvbiI9PXR5cGVvZiBhP2Z1bmN0aW9uKGIpe2IudGFyZ2V0PXRoaXMsYS5jYWxsKHRoaXMsYil9LmJpbmQodGhpcyk6YX0sZ2V0IGN1cnJlbnRUaW1lKCl7dGhpcy5fdXBkYXRlUHJvbWlzZXMoKTt2YXIgYT10aGlzLl9hbmltYXRpb24uY3VycmVudFRpbWU7cmV0dXJuIHRoaXMuX3VwZGF0ZVByb21pc2VzKCksYX0sc2V0IGN1cnJlbnRUaW1lKGEpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5fYW5pbWF0aW9uLmN1cnJlbnRUaW1lPWlzRmluaXRlKGEpP2E6TWF0aC5zaWduKGEpKk51bWJlci5NQVhfVkFMVUUsdGhpcy5fcmVnaXN0ZXIoKSx0aGlzLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYixjKXtiLmN1cnJlbnRUaW1lPWEtY30pLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LGdldCBzdGFydFRpbWUoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uLnN0YXJ0VGltZX0sc2V0IHN0YXJ0VGltZShhKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX2FuaW1hdGlvbi5zdGFydFRpbWU9aXNGaW5pdGUoYSk/YTpNYXRoLnNpZ24oYSkqTnVtYmVyLk1BWF9WQUxVRSx0aGlzLl9yZWdpc3RlcigpLHRoaXMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihiLGMpe2Iuc3RhcnRUaW1lPWErY30pLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LGdldCBwbGF5YmFja1JhdGUoKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uLnBsYXliYWNrUmF0ZX0sc2V0IHBsYXliYWNrUmF0ZShhKXt0aGlzLl91cGRhdGVQcm9taXNlcygpO3ZhciBiPXRoaXMuY3VycmVudFRpbWU7dGhpcy5fYW5pbWF0aW9uLnBsYXliYWNrUmF0ZT1hLHRoaXMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihiKXtiLnBsYXliYWNrUmF0ZT1hfSksbnVsbCE9PWImJih0aGlzLmN1cnJlbnRUaW1lPWIpLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LHBsYXk6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX3BhdXNlZD0hMSx0aGlzLl9hbmltYXRpb24ucGxheSgpLC0xPT10aGlzLl90aW1lbGluZS5fYW5pbWF0aW9ucy5pbmRleE9mKHRoaXMpJiZ0aGlzLl90aW1lbGluZS5fYW5pbWF0aW9ucy5wdXNoKHRoaXMpLHRoaXMuX3JlZ2lzdGVyKCksYi5hd2FpdFN0YXJ0VGltZSh0aGlzKSx0aGlzLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYSl7dmFyIGI9YS5jdXJyZW50VGltZTthLnBsYXkoKSxhLmN1cnJlbnRUaW1lPWJ9KSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxwYXVzZTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5jdXJyZW50VGltZSYmKHRoaXMuX2hvbGRUaW1lPXRoaXMuY3VycmVudFRpbWUpLHRoaXMuX2FuaW1hdGlvbi5wYXVzZSgpLHRoaXMuX3JlZ2lzdGVyKCksdGhpcy5fZm9yRWFjaENoaWxkKGZ1bmN0aW9uKGEpe2EucGF1c2UoKX0pLHRoaXMuX3BhdXNlZD0hMCx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxmaW5pc2g6ZnVuY3Rpb24oKXt0aGlzLl91cGRhdGVQcm9taXNlcygpLHRoaXMuX2FuaW1hdGlvbi5maW5pc2goKSx0aGlzLl9yZWdpc3RlcigpLHRoaXMuX3VwZGF0ZVByb21pc2VzKCl9LGNhbmNlbDpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCksdGhpcy5fYW5pbWF0aW9uLmNhbmNlbCgpLHRoaXMuX3JlZ2lzdGVyKCksdGhpcy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCksdGhpcy5fdXBkYXRlUHJvbWlzZXMoKX0scmV2ZXJzZTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZVByb21pc2VzKCk7dmFyIGE9dGhpcy5jdXJyZW50VGltZTt0aGlzLl9hbmltYXRpb24ucmV2ZXJzZSgpLHRoaXMuX2ZvckVhY2hDaGlsZChmdW5jdGlvbihhKXthLnJldmVyc2UoKX0pLG51bGwhPT1hJiYodGhpcy5jdXJyZW50VGltZT1hKSx0aGlzLl91cGRhdGVQcm9taXNlcygpfSxhZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YjsiZnVuY3Rpb24iPT10eXBlb2YgYiYmKGM9ZnVuY3Rpb24oYSl7YS50YXJnZXQ9dGhpcyxiLmNhbGwodGhpcyxhKX0uYmluZCh0aGlzKSxiLl93cmFwcGVyPWMpLHRoaXMuX2FuaW1hdGlvbi5hZGRFdmVudExpc3RlbmVyKGEsYyl9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oYSxiKXt0aGlzLl9hbmltYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGImJmIuX3dyYXBwZXJ8fGIpfSxfcmVtb3ZlQ2hpbGRBbmltYXRpb25zOmZ1bmN0aW9uKCl7Zm9yKDt0aGlzLl9jaGlsZEFuaW1hdGlvbnMubGVuZ3RoOyl0aGlzLl9jaGlsZEFuaW1hdGlvbnMucG9wKCkuY2FuY2VsKCl9LF9mb3JFYWNoQ2hpbGQ6ZnVuY3Rpb24oYil7dmFyIGM9MDtpZih0aGlzLmVmZmVjdC5jaGlsZHJlbiYmdGhpcy5fY2hpbGRBbmltYXRpb25zLmxlbmd0aDx0aGlzLmVmZmVjdC5jaGlsZHJlbi5sZW5ndGgmJnRoaXMuX2NvbnN0cnVjdENoaWxkQW5pbWF0aW9ucygpLHRoaXMuX2NoaWxkQW5pbWF0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKGEpe2IuY2FsbCh0aGlzLGEsYyksdGhpcy5lZmZlY3QgaW5zdGFuY2VvZiB3aW5kb3cuU2VxdWVuY2VFZmZlY3QmJihjKz1hLmVmZmVjdC5hY3RpdmVEdXJhdGlvbil9LmJpbmQodGhpcykpLCJwZW5kaW5nIiE9dGhpcy5wbGF5U3RhdGUpe3ZhciBkPXRoaXMuZWZmZWN0Ll90aW1pbmcsZT10aGlzLmN1cnJlbnRUaW1lO251bGwhPT1lJiYoZT1hLmNhbGN1bGF0ZUl0ZXJhdGlvblByb2dyZXNzKGEuY2FsY3VsYXRlQWN0aXZlRHVyYXRpb24oZCksZSxkKSksKG51bGw9PWV8fGlzTmFOKGUpKSYmdGhpcy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCl9fX0sd2luZG93LkFuaW1hdGlvbj1iLkFuaW1hdGlvbn0oYSxjKSxmdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZChiKXt0aGlzLl9mcmFtZXM9YS5ub3JtYWxpemVLZXlmcmFtZXMoYil9ZnVuY3Rpb24gZSgpe2Zvcih2YXIgYT0hMTtpLmxlbmd0aDspaS5zaGlmdCgpLl91cGRhdGVDaGlsZHJlbigpLGE9ITA7cmV0dXJuIGF9dmFyIGY9ZnVuY3Rpb24oYSl7aWYoYS5fYW5pbWF0aW9uPXZvaWQgMCxhIGluc3RhbmNlb2Ygd2luZG93LlNlcXVlbmNlRWZmZWN0fHxhIGluc3RhbmNlb2Ygd2luZG93Lkdyb3VwRWZmZWN0KWZvcih2YXIgYj0wO2I8YS5jaGlsZHJlbi5sZW5ndGg7YisrKWYoYS5jaGlsZHJlbltiXSl9O2IucmVtb3ZlTXVsdGk9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9YVtjXTtkLl9wYXJlbnQ/KC0xPT1iLmluZGV4T2YoZC5fcGFyZW50KSYmYi5wdXNoKGQuX3BhcmVudCksZC5fcGFyZW50LmNoaWxkcmVuLnNwbGljZShkLl9wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZihkKSwxKSxkLl9wYXJlbnQ9bnVsbCxmKGQpKTpkLl9hbmltYXRpb24mJmQuX2FuaW1hdGlvbi5lZmZlY3Q9PWQmJihkLl9hbmltYXRpb24uY2FuY2VsKCksZC5fYW5pbWF0aW9uLmVmZmVjdD1uZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCxbXSksZC5fYW5pbWF0aW9uLl9jYWxsYmFjayYmKGQuX2FuaW1hdGlvbi5fY2FsbGJhY2suX2FuaW1hdGlvbj1udWxsKSxkLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCksZihkKSl9Zm9yKGM9MDtjPGIubGVuZ3RoO2MrKyliW2NdLl9yZWJ1aWxkKCl9LGIuS2V5ZnJhbWVFZmZlY3Q9ZnVuY3Rpb24oYixjLGUsZil7cmV0dXJuIHRoaXMudGFyZ2V0PWIsdGhpcy5fcGFyZW50PW51bGwsZT1hLm51bWVyaWNUaW1pbmdUb09iamVjdChlKSx0aGlzLl90aW1pbmdJbnB1dD1hLmNsb25lVGltaW5nSW5wdXQoZSksdGhpcy5fdGltaW5nPWEubm9ybWFsaXplVGltaW5nSW5wdXQoZSksdGhpcy50aW1pbmc9YS5tYWtlVGltaW5nKGUsITEsdGhpcyksdGhpcy50aW1pbmcuX2VmZmVjdD10aGlzLCJmdW5jdGlvbiI9PXR5cGVvZiBjPyhhLmRlcHJlY2F0ZWQoIkN1c3RvbSBLZXlmcmFtZUVmZmVjdCIsIjIwMTUtMDYtMjIiLCJVc2UgS2V5ZnJhbWVFZmZlY3Qub25zYW1wbGUgaW5zdGVhZC4iKSx0aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzPWMpOnRoaXMuX25vcm1hbGl6ZWRLZXlmcmFtZXM9bmV3IGQoYyksdGhpcy5fa2V5ZnJhbWVzPWMsdGhpcy5hY3RpdmVEdXJhdGlvbj1hLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKHRoaXMuX3RpbWluZyksdGhpcy5faWQ9Zix0aGlzfSxiLktleWZyYW1lRWZmZWN0LnByb3RvdHlwZT17Z2V0RnJhbWVzOmZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX25vcm1hbGl6ZWRLZXlmcmFtZXM/dGhpcy5fbm9ybWFsaXplZEtleWZyYW1lczp0aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzLl9mcmFtZXN9LHNldCBvbnNhbXBsZShhKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5nZXRGcmFtZXMoKSl0aHJvdyBuZXcgRXJyb3IoIlNldHRpbmcgb25zYW1wbGUgb24gY3VzdG9tIGVmZmVjdCBLZXlmcmFtZUVmZmVjdCBpcyBub3Qgc3VwcG9ydGVkLiIpO3RoaXMuX29uc2FtcGxlPWEsdGhpcy5fYW5pbWF0aW9uJiZ0aGlzLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCl9LGdldCBwYXJlbnQoKXtyZXR1cm4gdGhpcy5fcGFyZW50fSxjbG9uZTpmdW5jdGlvbigpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmdldEZyYW1lcygpKXRocm93IG5ldyBFcnJvcigiQ2xvbmluZyBjdXN0b20gZWZmZWN0cyBpcyBub3Qgc3VwcG9ydGVkLiIpO3ZhciBiPW5ldyBLZXlmcmFtZUVmZmVjdCh0aGlzLnRhcmdldCxbXSxhLmNsb25lVGltaW5nSW5wdXQodGhpcy5fdGltaW5nSW5wdXQpLHRoaXMuX2lkKTtyZXR1cm4gYi5fbm9ybWFsaXplZEtleWZyYW1lcz10aGlzLl9ub3JtYWxpemVkS2V5ZnJhbWVzLGIuX2tleWZyYW1lcz10aGlzLl9rZXlmcmFtZXMsYn0scmVtb3ZlOmZ1bmN0aW9uKCl7Yi5yZW1vdmVNdWx0aShbdGhpc10pfX07dmFyIGc9RWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZTtFbGVtZW50LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGEsYyl7dmFyIGQ9IiI7cmV0dXJuIGMmJmMuaWQmJihkPWMuaWQpLGIudGltZWxpbmUuX3BsYXkobmV3IGIuS2V5ZnJhbWVFZmZlY3QodGhpcyxhLGMsZCkpfTt2YXIgaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJkaXYiKTtiLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdD1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1hLnRhcmdldHx8aCxjPWEuX2tleWZyYW1lczsiZnVuY3Rpb24iPT10eXBlb2YgYyYmKGM9W10pO3ZhciBkPWEuX3RpbWluZ0lucHV0O2QuaWQ9YS5faWR9ZWxzZSB2YXIgYj1oLGM9W10sZD0wO3JldHVybiBnLmFwcGx5KGIsW2MsZF0pfSxiLmJpbmRBbmltYXRpb25Gb3JLZXlmcmFtZUVmZmVjdD1mdW5jdGlvbihhKXthLmVmZmVjdCYmImZ1bmN0aW9uIj09dHlwZW9mIGEuZWZmZWN0Ll9ub3JtYWxpemVkS2V5ZnJhbWVzJiZiLmJpbmRBbmltYXRpb25Gb3JDdXN0b21FZmZlY3QoYSl9O3ZhciBpPVtdO2IuYXdhaXRTdGFydFRpbWU9ZnVuY3Rpb24oYSl7bnVsbD09PWEuc3RhcnRUaW1lJiZhLl9pc0dyb3VwJiYoMD09aS5sZW5ndGgmJnJlcXVlc3RBbmltYXRpb25GcmFtZShlKSxpLnB1c2goYSkpfTt2YXIgaj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZTtPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJnZXRDb21wdXRlZFN0eWxlIix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6ZnVuY3Rpb24oKXtiLnRpbWVsaW5lLl91cGRhdGVBbmltYXRpb25zUHJvbWlzZXMoKTt2YXIgYT1qLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gZSgpJiYoYT1qLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksYi50aW1lbGluZS5fdXBkYXRlQW5pbWF0aW9uc1Byb21pc2VzKCksYX19KSx3aW5kb3cuS2V5ZnJhbWVFZmZlY3Q9Yi5LZXlmcmFtZUVmZmVjdCx3aW5kb3cuRWxlbWVudC5wcm90b3R5cGUuZ2V0QW5pbWF0aW9ucz1mdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC50aW1lbGluZS5nZXRBbmltYXRpb25zKCkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT09YS5lZmZlY3QmJmEuZWZmZWN0LnRhcmdldD09dGhpc30uYmluZCh0aGlzKSl9fShhLGMpLGZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGEpe2EuX3JlZ2lzdGVyZWR8fChhLl9yZWdpc3RlcmVkPSEwLGcucHVzaChhKSxofHwoaD0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZSkpKX1mdW5jdGlvbiBlKGEpe3ZhciBiPWc7Zz1bXSxiLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5fc2VxdWVuY2VOdW1iZXItYi5fc2VxdWVuY2VOdW1iZXJ9KSxiPWIuZmlsdGVyKGZ1bmN0aW9uKGEpe2EoKTt2YXIgYj1hLl9hbmltYXRpb24/YS5fYW5pbWF0aW9uLnBsYXlTdGF0ZToiaWRsZSI7cmV0dXJuInJ1bm5pbmciIT1iJiYicGVuZGluZyIhPWImJihhLl9yZWdpc3RlcmVkPSExKSxhLl9yZWdpc3RlcmVkfSksZy5wdXNoLmFwcGx5KGcsYiksZy5sZW5ndGg/KGg9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpKTpoPSExfXZhciBmPShkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJkaXYiKSwwKTtiLmJpbmRBbmltYXRpb25Gb3JDdXN0b21FZmZlY3Q9ZnVuY3Rpb24oYil7dmFyIGMsZT1iLmVmZmVjdC50YXJnZXQsZz0iZnVuY3Rpb24iPT10eXBlb2YgYi5lZmZlY3QuZ2V0RnJhbWVzKCk7Yz1nP2IuZWZmZWN0LmdldEZyYW1lcygpOmIuZWZmZWN0Ll9vbnNhbXBsZTt2YXIgaD1iLmVmZmVjdC50aW1pbmcsaT1udWxsO2g9YS5ub3JtYWxpemVUaW1pbmdJbnB1dChoKTt2YXIgaj1mdW5jdGlvbigpe3ZhciBkPWouX2FuaW1hdGlvbj9qLl9hbmltYXRpb24uY3VycmVudFRpbWU6bnVsbDtudWxsIT09ZCYmKGQ9YS5jYWxjdWxhdGVJdGVyYXRpb25Qcm9ncmVzcyhhLmNhbGN1bGF0ZUFjdGl2ZUR1cmF0aW9uKGgpLGQsaCksaXNOYU4oZCkmJihkPW51bGwpKSxkIT09aSYmKGc/YyhkLGUsYi5lZmZlY3QpOmMoZCxiLmVmZmVjdCxiLmVmZmVjdC5fYW5pbWF0aW9uKSksaT1kfTtqLl9hbmltYXRpb249YixqLl9yZWdpc3RlcmVkPSExLGouX3NlcXVlbmNlTnVtYmVyPWYrKyxiLl9jYWxsYmFjaz1qLGQoail9O3ZhciBnPVtdLGg9ITE7Yi5BbmltYXRpb24ucHJvdG90eXBlLl9yZWdpc3Rlcj1mdW5jdGlvbigpe3RoaXMuX2NhbGxiYWNrJiZkKHRoaXMuX2NhbGxiYWNrKX19KGEsYyksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7cmV0dXJuIGEuX3RpbWluZy5kZWxheSthLmFjdGl2ZUR1cmF0aW9uK2EuX3RpbWluZy5lbmREZWxheX1mdW5jdGlvbiBlKGIsYyxkKXt0aGlzLl9pZD1kLHRoaXMuX3BhcmVudD1udWxsLHRoaXMuY2hpbGRyZW49Ynx8W10sdGhpcy5fcmVwYXJlbnQodGhpcy5jaGlsZHJlbiksYz1hLm51bWVyaWNUaW1pbmdUb09iamVjdChjKSx0aGlzLl90aW1pbmdJbnB1dD1hLmNsb25lVGltaW5nSW5wdXQoYyksdGhpcy5fdGltaW5nPWEubm9ybWFsaXplVGltaW5nSW5wdXQoYywhMCksdGhpcy50aW1pbmc9YS5tYWtlVGltaW5nKGMsITAsdGhpcyksdGhpcy50aW1pbmcuX2VmZmVjdD10aGlzLCJhdXRvIj09PXRoaXMuX3RpbWluZy5kdXJhdGlvbiYmKHRoaXMuX3RpbWluZy5kdXJhdGlvbj10aGlzLmFjdGl2ZUR1cmF0aW9uKX13aW5kb3cuU2VxdWVuY2VFZmZlY3Q9ZnVuY3Rpb24oKXtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sd2luZG93Lkdyb3VwRWZmZWN0PWZ1bmN0aW9uKCl7ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUucHJvdG90eXBlPXtfaXNBbmNlc3RvcjpmdW5jdGlvbihhKXtmb3IodmFyIGI9dGhpcztudWxsIT09Yjspe2lmKGI9PWEpcmV0dXJuITA7Yj1iLl9wYXJlbnR9cmV0dXJuITF9LF9yZWJ1aWxkOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXM7YTspImF1dG8iPT09YS50aW1pbmcuZHVyYXRpb24mJihhLl90aW1pbmcuZHVyYXRpb249YS5hY3RpdmVEdXJhdGlvbiksYT1hLl9wYXJlbnQ7dGhpcy5fYW5pbWF0aW9uJiZ0aGlzLl9hbmltYXRpb24uX3JlYnVpbGRVbmRlcmx5aW5nQW5pbWF0aW9uKCl9LF9yZXBhcmVudDpmdW5jdGlvbihhKXtiLnJlbW92ZU11bHRpKGEpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY10uX3BhcmVudD10aGlzfSxfcHV0Q2hpbGQ6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Yj8iQ2Fubm90IGFwcGVuZCBhbiBhbmNlc3RvciBvciBzZWxmIjoiQ2Fubm90IHByZXBlbmQgYW4gYW5jZXN0b3Igb3Igc2VsZiIsZD0wO2Q8YS5sZW5ndGg7ZCsrKWlmKHRoaXMuX2lzQW5jZXN0b3IoYVtkXSkpdGhyb3d7dHlwZTpET01FeGNlcHRpb24uSElFUkFSQ0hZX1JFUVVFU1RfRVJSLG5hbWU6IkhpZXJhcmNoeVJlcXVlc3RFcnJvciIsbWVzc2FnZTpjfTtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoO2QrKyliP3RoaXMuY2hpbGRyZW4ucHVzaChhW2RdKTp0aGlzLmNoaWxkcmVuLnVuc2hpZnQoYVtkXSk7dGhpcy5fcmVwYXJlbnQoYSksdGhpcy5fcmVidWlsZCgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXt0aGlzLl9wdXRDaGlsZChhcmd1bWVudHMsITApfSxwcmVwZW5kOmZ1bmN0aW9uKCl7dGhpcy5fcHV0Q2hpbGQoYXJndW1lbnRzLCExKX0sZ2V0IHBhcmVudCgpe3JldHVybiB0aGlzLl9wYXJlbnR9LGdldCBmaXJzdENoaWxkKCl7cmV0dXJuIHRoaXMuY2hpbGRyZW4ubGVuZ3RoP3RoaXMuY2hpbGRyZW5bMF06bnVsbH0sZ2V0IGxhc3RDaGlsZCgpe3JldHVybiB0aGlzLmNoaWxkcmVuLmxlbmd0aD90aGlzLmNoaWxkcmVuW3RoaXMuY2hpbGRyZW4ubGVuZ3RoLTFdOm51bGx9LGNsb25lOmZ1bmN0aW9uKCl7Zm9yKHZhciBiPWEuY2xvbmVUaW1pbmdJbnB1dCh0aGlzLl90aW1pbmdJbnB1dCksYz1bXSxkPTA7ZDx0aGlzLmNoaWxkcmVuLmxlbmd0aDtkKyspYy5wdXNoKHRoaXMuY2hpbGRyZW5bZF0uY2xvbmUoKSk7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBHcm91cEVmZmVjdD9uZXcgR3JvdXBFZmZlY3QoYyxiKTpuZXcgU2VxdWVuY2VFZmZlY3QoYyxiKX0scmVtb3ZlOmZ1bmN0aW9uKCl7Yi5yZW1vdmVNdWx0aShbdGhpc10pfX0sd2luZG93LlNlcXVlbmNlRWZmZWN0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LlNlcXVlbmNlRWZmZWN0LnByb3RvdHlwZSwiYWN0aXZlRHVyYXRpb24iLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYT0wO3JldHVybiB0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYil7YSs9ZChiKX0pLE1hdGgubWF4KGEsMCl9fSksd2luZG93Lkdyb3VwRWZmZWN0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93Lkdyb3VwRWZmZWN0LnByb3RvdHlwZSwiYWN0aXZlRHVyYXRpb24iLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYT0wO3JldHVybiB0aGlzLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oYil7YT1NYXRoLm1heChhLGQoYikpfSksYX19KSxiLm5ld1VuZGVybHlpbmdBbmltYXRpb25Gb3JHcm91cD1mdW5jdGlvbihjKXt2YXIgZCxlPW51bGwsZj1mdW5jdGlvbihiKXt2YXIgYz1kLl93cmFwcGVyO2lmKGMmJiJwZW5kaW5nIiE9Yy5wbGF5U3RhdGUmJmMuZWZmZWN0KXJldHVybiBudWxsPT1iP3ZvaWQgYy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCk6MD09YiYmYy5wbGF5YmFja1JhdGU8MCYmKGV8fChlPWEubm9ybWFsaXplVGltaW5nSW5wdXQoYy5lZmZlY3QudGltaW5nKSksYj1hLmNhbGN1bGF0ZUl0ZXJhdGlvblByb2dyZXNzKGEuY2FsY3VsYXRlQWN0aXZlRHVyYXRpb24oZSksLTEsZSksaXNOYU4oYil8fG51bGw9PWIpPyhjLl9mb3JFYWNoQ2hpbGQoZnVuY3Rpb24oYSl7YS5jdXJyZW50VGltZT0tMX0pLHZvaWQgYy5fcmVtb3ZlQ2hpbGRBbmltYXRpb25zKCkpOnZvaWQgMH0sZz1uZXcgS2V5ZnJhbWVFZmZlY3QobnVsbCxbXSxjLl90aW1pbmcsYy5faWQpO3JldHVybiBnLm9uc2FtcGxlPWYsZD1iLnRpbWVsaW5lLl9wbGF5KGcpfSxiLmJpbmRBbmltYXRpb25Gb3JHcm91cD1mdW5jdGlvbihhKXthLl9hbmltYXRpb24uX3dyYXBwZXI9YSxhLl9pc0dyb3VwPSEwLGIuYXdhaXRTdGFydFRpbWUoYSksYS5fY29uc3RydWN0Q2hpbGRBbmltYXRpb25zKCksYS5fc2V0RXh0ZXJuYWxBbmltYXRpb24oYSl9LGIuZ3JvdXBDaGlsZER1cmF0aW9uPWR9KGEsYyl9KCk7CgohKGZ1bmN0aW9uKCl7Ci8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uCgogICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55CiAgICBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuCgogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEgKICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWQogICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULAogICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NCiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUgogICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUgogICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCmZ1bmN0aW9uIHQodCxlLG4saSl7dmFyIHIsbz1hcmd1bWVudHMubGVuZ3RoLGE9bzwzP2U6bnVsbD09PWk/aT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsbik6aTtpZigib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJiJmdW5jdGlvbiI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKWE9UmVmbGVjdC5kZWNvcmF0ZSh0LGUsbixpKTtlbHNlIGZvcih2YXIgcz10Lmxlbmd0aC0xO3M+PTA7cy0tKShyPXRbc10pJiYoYT0obzwzP3IoYSk6bz4zP3IoZSxuLGEpOnIoZSxuKSl8fGEpO3JldHVybiBvPjMmJmEmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4sYSksYX1mdW5jdGlvbiBlKHQsZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSlyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YSh0LGUpfWZ1bmN0aW9uIG4odCxlLG4saSl7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKHIsbyl7ZnVuY3Rpb24gYSh0KXt0cnl7bChpLm5leHQodCkpfWNhdGNoKHQpe28odCl9fWZ1bmN0aW9uIHModCl7dHJ5e2woaS50aHJvdyh0KSl9Y2F0Y2godCl7byh0KX19ZnVuY3Rpb24gbCh0KXt0LmRvbmU/cih0LnZhbHVlKTooZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIG4/dDpuZXcgbigoZnVuY3Rpb24oZSl7ZSh0KX0pKX0pKHQudmFsdWUpLnRoZW4oYSxzKX1sKChpPWkuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kCiAgICAgKiBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5CiAgICAgKiBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5CiAgICAgKiBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQCiAgICAgKiByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAgKi9mdW5jdGlvbiBpKHQpe3JldHVybiBlPT57aWYodClpZihlLmhhc093blByb3BlcnR5KCJpcyIpKXtpZih0IT09ZS5pcyl0aHJvdyBuZXcgRXJyb3IoYGN1c3RvbSBlbGVtZW50IHRhZyBuYW1lcyBkbyBub3QgbWF0Y2g6ICgke3R9ICE9PSAke2UuaXN9KWApfWVsc2UgT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImlzIix7dmFsdWU6dH0pO3dpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoZS5pcyxlKX19ZnVuY3Rpb24gcih0LGUsbil7dC5jb25zdHJ1Y3Rvci5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydGllcyIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5jb25zdHJ1Y3RvciwicHJvcGVydGllcyIse3ZhbHVlOnt9fSksdC5jb25zdHJ1Y3Rvci5wcm9wZXJ0aWVzW2VdPU9iamVjdC5hc3NpZ24oe30sdC5jb25zdHJ1Y3Rvci5wcm9wZXJ0aWVzW2VdLG4pfWZ1bmN0aW9uIG8odCl7cmV0dXJuKGUsbik9PntyKGUsbix0KX19ZnVuY3Rpb24gYSguLi50KXtyZXR1cm4oZSxuKT0+e2UuY29uc3RydWN0b3IuaGFzT3duUHJvcGVydHkoIm9ic2VydmVycyIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5jb25zdHJ1Y3Rvciwib2JzZXJ2ZXJzIix7dmFsdWU6W119KSxlLmNvbnN0cnVjdG9yLm9ic2VydmVycy5wdXNoKGAke259KCR7dC5qb2luKCIsIil9KWApfX1mdW5jdGlvbiBzKHQsLi4uZSl7cmV0dXJuKG4saSxvKT0+e2NvbnN0IGE9YF9fY29tcHV0ZSR7aX1gO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLGEse3ZhbHVlOm8uZ2V0fSksby5nZXQ9dm9pZCAwO3IobixpLHtjb21wdXRlZDpgJHthfSgke1t0LC4uLmVdLmpvaW4oIiwiKX0pYH0pfX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi93aW5kb3cuSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eT1mdW5jdGlvbih0LGUpe3JldHVybiB0fTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KbGV0IGwsYyx1PS8odXJsXCgpKFteKV0qKShcKSkvZyxoPS8oXlwvW15cL10pfCheIyl8KF5bXHctXGRdKjopLztmdW5jdGlvbiBkKHQsZSl7aWYodCYmaC50ZXN0KHQpKXJldHVybiB0O2lmKCIvLyI9PT10KXJldHVybiB0O2lmKHZvaWQgMD09PWwpe2w9ITE7dHJ5e2NvbnN0IHQ9bmV3IFVSTCgiYiIsImh0dHA6Ly9hIik7dC5wYXRobmFtZT0iYyUyMGQiLGw9Imh0dHA6Ly9hL2MlMjBkIj09PXQuaHJlZn1jYXRjaCh0KXt9fWlmKGV8fChlPWRvY3VtZW50LmJhc2VVUkl8fHdpbmRvdy5sb2NhdGlvbi5ocmVmKSxsKXRyeXtyZXR1cm4gbmV3IFVSTCh0LGUpLmhyZWZ9Y2F0Y2goZSl7cmV0dXJuIHR9cmV0dXJuIGN8fChjPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgidGVtcCIpLGMuYmFzZT1jLmNyZWF0ZUVsZW1lbnQoImJhc2UiKSxjLmhlYWQuYXBwZW5kQ2hpbGQoYy5iYXNlKSxjLmFuY2hvcj1jLmNyZWF0ZUVsZW1lbnQoImEiKSxjLmJvZHkuYXBwZW5kQ2hpbGQoYy5hbmNob3IpKSxjLmJhc2UuaHJlZj1lLGMuYW5jaG9yLmhyZWY9dCxjLmFuY2hvci5ocmVmfHx0fWZ1bmN0aW9uIHAodCxlKXtyZXR1cm4gdC5yZXBsYWNlKHUsKGZ1bmN0aW9uKHQsbixpLHIpe3JldHVybiBuKyInIitkKGkucmVwbGFjZSgvWyInXS9nLCIiKSxlKSsiJyIrcn0pKX1mdW5jdGlvbiBmKHQpe3JldHVybiB0LnN1YnN0cmluZygwLHQubGFzdEluZGV4T2YoIi8iKSsxKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9jb25zdCBtPSF3aW5kb3cuU2hhZHlET018fCF3aW5kb3cuU2hhZHlET00uaW5Vc2U7Qm9vbGVhbighd2luZG93LlNoYWR5Q1NTfHx3aW5kb3cuU2hhZHlDU1MubmF0aXZlQ3NzKTtjb25zdCBnPW0mJiJhZG9wdGVkU3R5bGVTaGVldHMiaW4gRG9jdW1lbnQucHJvdG90eXBlJiYicmVwbGFjZVN5bmMiaW4gQ1NTU3R5bGVTaGVldC5wcm90b3R5cGUmJigoKT0+e3RyeXtjb25zdCB0PW5ldyBDU1NTdHlsZVNoZWV0O3QucmVwbGFjZVN5bmMoIiIpO2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGUuYXR0YWNoU2hhZG93KHttb2RlOiJvcGVuIn0pLGUuc2hhZG93Um9vdC5hZG9wdGVkU3R5bGVTaGVldHM9W3RdLGUuc2hhZG93Um9vdC5hZG9wdGVkU3R5bGVTaGVldHNbMF09PT10fWNhdGNoKHQpe3JldHVybiExfX0pKCk7bGV0IF89d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLnJvb3RQYXRofHxmKGRvY3VtZW50LmJhc2VVUkl8fHdpbmRvdy5sb2NhdGlvbi5ocmVmKSx5PXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5zYW5pdGl6ZURPTVZhbHVlfHx2b2lkIDAsdj13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIuc2V0UGFzc2l2ZVRvdWNoR2VzdHVyZXN8fCExLGI9d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLnN0cmljdFRlbXBsYXRlUG9saWN5fHwhMSx4PXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5hbGxvd1RlbXBsYXRlRnJvbURvbU1vZHVsZXx8ITEsdz13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIubGVnYWN5T3B0aW1pemF0aW9uc3x8ITEsUz13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIubGVnYWN5V2FybmluZ3N8fCExLE09d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLnN5bmNJbml0aWFsUmVuZGVyfHwhMSxFPXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5sZWdhY3lVbmRlZmluZWR8fCExLFQ9d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLm9yZGVyZWRDb21wdXRlZHx8ITEsQz13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIucmVtb3ZlTmVzdGVkVGVtcGxhdGVzfHwhMSxBPXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5mYXN0RG9tSWZ8fCExLGs9d2luZG93LlBvbHltZXImJndpbmRvdy5Qb2x5bWVyLnN1cHByZXNzVGVtcGxhdGVOb3RpZmljYXRpb25zfHwhMSxMPXdpbmRvdy5Qb2x5bWVyJiZ3aW5kb3cuUG9seW1lci5sZWdhY3lOb09ic2VydmVkQXR0cmlidXRlc3x8ITEsUD13aW5kb3cuUG9seW1lciYmd2luZG93LlBvbHltZXIudXNlQWRvcHRlZFN0eWxlU2hlZXRzV2l0aEJ1aWx0Q1NTfHwhMSxOPTA7Y29uc3QgST1mdW5jdGlvbih0KXtsZXQgZT10Ll9fbWl4aW5BcHBsaWNhdGlvbnM7ZXx8KGU9bmV3IFdlYWtNYXAsdC5fX21peGluQXBwbGljYXRpb25zPWUpO2xldCBuPU4rKztyZXR1cm4gZnVuY3Rpb24gaShyKXtsZXQgbz1yLl9fbWl4aW5TZXQ7aWYobyYmb1tuXSlyZXR1cm4gcjtsZXQgYT1lLHM9YS5nZXQocik7aWYoIXMpe3M9dChyKSxhLnNldChyLHMpO2xldCBlPU9iamVjdC5jcmVhdGUocy5fX21peGluU2V0fHxvfHxudWxsKTtlW25dPSEwLHMuX19taXhpblNldD1lfXJldHVybiBzfX07Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovbGV0IFI9e30sTz17fTtmdW5jdGlvbiB6KHQsZSl7Ult0XT1PW3QudG9Mb3dlckNhc2UoKV09ZX1mdW5jdGlvbiBEKHQpe3JldHVybiBSW3RdfHxPW3QudG9Mb3dlckNhc2UoKV19Y2xhc3MgQiBleHRlbmRzIEhUTUxFbGVtZW50e3N0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCl7cmV0dXJuWyJpZCJdfXN0YXRpYyBpbXBvcnQodCxlKXtpZih0KXtsZXQgbj1EKHQpO3JldHVybiBuJiZlP24ucXVlcnlTZWxlY3RvcihlKTpufXJldHVybiBudWxsfWF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LGUsbixpKXtlIT09biYmdGhpcy5yZWdpc3RlcigpfWdldCBhc3NldHBhdGgoKXtpZighdGhpcy5fX2Fzc2V0cGF0aCl7Y29uc3QgdD13aW5kb3cuSFRNTEltcG9ydHMmJkhUTUxJbXBvcnRzLmltcG9ydEZvckVsZW1lbnQ/SFRNTEltcG9ydHMuaW1wb3J0Rm9yRWxlbWVudCh0aGlzKXx8ZG9jdW1lbnQ6dGhpcy5vd25lckRvY3VtZW50LGU9ZCh0aGlzLmdldEF0dHJpYnV0ZSgiYXNzZXRwYXRoIil8fCIiLHQuYmFzZVVSSSk7dGhpcy5fX2Fzc2V0cGF0aD1mKGUpfXJldHVybiB0aGlzLl9fYXNzZXRwYXRofXJlZ2lzdGVyKHQpe2lmKHQ9dHx8dGhpcy5pZCl7aWYoYiYmdm9pZCAwIT09RCh0KSl0aHJvdyB6KHQsbnVsbCksbmV3IEVycm9yKGBzdHJpY3RUZW1wbGF0ZVBvbGljeTogZG9tLW1vZHVsZSAke3R9IHJlLXJlZ2lzdGVyZWRgKTt0aGlzLmlkPXQseih0LHRoaXMpLChmdW5jdGlvbiBlKHQpe3QucXVlcnlTZWxlY3Rvcigic3R5bGUiKSYmY29uc29sZS53YXJuKCJkb20tbW9kdWxlICVzIGhhcyBzdHlsZSBvdXRzaWRlIHRlbXBsYXRlIix0LmlkKX0pKHRoaXMpfX19Qi5wcm90b3R5cGUubW9kdWxlcz1SLGN1c3RvbUVsZW1lbnRzLmRlZmluZSgiZG9tLW1vZHVsZSIsQik7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IEg9InNoYWR5LXVuc2NvcGVkIjtmdW5jdGlvbiBGKHQpe3JldHVybiBCLmltcG9ydCh0KX1mdW5jdGlvbiBWKHQpe2NvbnN0IGU9cCgodC5ib2R5P3QuYm9keTp0KS50ZXh0Q29udGVudCx0LmJhc2VVUkkpLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtyZXR1cm4gbi50ZXh0Q29udGVudD1lLG59ZnVuY3Rpb24gVSh0KXtjb25zdCBlPXQudHJpbSgpLnNwbGl0KC9ccysvKSxuPVtdO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKW4ucHVzaCguLi5qKGVbdF0pKTtyZXR1cm4gbn1mdW5jdGlvbiBqKHQpe2NvbnN0IGU9Rih0KTtpZighZSlyZXR1cm4gY29uc29sZS53YXJuKCJDb3VsZCBub3QgZmluZCBzdHlsZSBkYXRhIGluIG1vZHVsZSBuYW1lZCIsdCksW107aWYodm9pZCAwPT09ZS5fc3R5bGVzKXtjb25zdCB0PVtdO3QucHVzaCguLi5XKGUpKTtjb25zdCBuPWUucXVlcnlTZWxlY3RvcigidGVtcGxhdGUiKTtuJiZ0LnB1c2goLi4uRyhuLGUuYXNzZXRwYXRoKSksZS5fc3R5bGVzPXR9cmV0dXJuIGUuX3N0eWxlc31mdW5jdGlvbiBHKHQsZSl7aWYoIXQuX3N0eWxlcyl7Y29uc3Qgbj1bXSxpPXQuY29udGVudC5xdWVyeVNlbGVjdG9yQWxsKCJzdHlsZSIpO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtsZXQgcj1pW3RdLG89ci5nZXRBdHRyaWJ1dGUoImluY2x1ZGUiKTtvJiZuLnB1c2goLi4uVShvKS5maWx0ZXIoKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbi5pbmRleE9mKHQpPT09ZX0pKSksZSYmKHIudGV4dENvbnRlbnQ9cChyLnRleHRDb250ZW50LGUpKSxuLnB1c2gocil9dC5fc3R5bGVzPW59cmV0dXJuIHQuX3N0eWxlc31mdW5jdGlvbiBXKHQpe2NvbnN0IGU9W10sbj10LnF1ZXJ5U2VsZWN0b3JBbGwoImxpbmtbcmVsPWltcG9ydF1bdHlwZX49Y3NzXSIpO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXtsZXQgaT1uW3RdO2lmKGkuaW1wb3J0KXtjb25zdCB0PWkuaW1wb3J0LG49aS5oYXNBdHRyaWJ1dGUoSCk7aWYobiYmIXQuX3Vuc2NvcGVkU3R5bGUpe2NvbnN0IGU9Vih0KTtlLnNldEF0dHJpYnV0ZShILCIiKSx0Ll91bnNjb3BlZFN0eWxlPWV9ZWxzZSB0Ll9zdHlsZXx8KHQuX3N0eWxlPVYodCkpO2UucHVzaChuP3QuX3Vuc2NvcGVkU3R5bGU6dC5fc3R5bGUpfX1yZXR1cm4gZX1mdW5jdGlvbiBxKHQpe2xldCBlPUYodCk7aWYoZSYmdm9pZCAwPT09ZS5fY3NzVGV4dCl7bGV0IHQ9KGZ1bmN0aW9uIG4odCl7bGV0IGU9IiIsbj1XKHQpO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKWUrPW5bdF0udGV4dENvbnRlbnQ7cmV0dXJuIGV9Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovKShlKSxuPWUucXVlcnlTZWxlY3RvcigidGVtcGxhdGUiKTtuJiYodCs9KGZ1bmN0aW9uIGkodCxlKXtsZXQgbj0iIjtjb25zdCBpPUcodCxlKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7bGV0IGU9aVt0XTtlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKSxuKz1lLnRleHRDb250ZW50fXJldHVybiBufSkobixlLmFzc2V0cGF0aCkpLGUuX2Nzc1RleHQ9dHx8bnVsbH1yZXR1cm4gZXx8Y29uc29sZS53YXJuKCJDb3VsZCBub3QgZmluZCBzdHlsZSBkYXRhIGluIG1vZHVsZSBuYW1lZCIsdCksZSYmZS5fY3NzVGV4dHx8IiJ9Y29uc3QgWT13aW5kb3cuU2hhZHlET00mJndpbmRvdy5TaGFkeURPTS5ub1BhdGNoJiZ3aW5kb3cuU2hhZHlET00ud3JhcD93aW5kb3cuU2hhZHlET00ud3JhcDp3aW5kb3cuU2hhZHlET00/dD0+U2hhZHlET00ucGF0Y2godCk6dD0+dDsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9mdW5jdGlvbiBYKHQpe3JldHVybiB0LmluZGV4T2YoIi4iKT49MH1mdW5jdGlvbiAkKHQpe2xldCBlPXQuaW5kZXhPZigiLiIpO3JldHVybi0xPT09ZT90OnQuc2xpY2UoMCxlKX1mdW5jdGlvbiBLKHQsZSl7cmV0dXJuIDA9PT10LmluZGV4T2YoZSsiLiIpfWZ1bmN0aW9uIFoodCxlKXtyZXR1cm4gMD09PWUuaW5kZXhPZih0KyIuIil9ZnVuY3Rpb24gSih0LGUsbil7cmV0dXJuIGUrbi5zbGljZSh0Lmxlbmd0aCl9ZnVuY3Rpb24gUSh0LGUpe3JldHVybiB0PT09ZXx8Syh0LGUpfHxaKHQsZSl9ZnVuY3Rpb24gdHQodCl7aWYoQXJyYXkuaXNBcnJheSh0KSl7bGV0IGU9W107Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspe2xldCBpPXRbbl0udG9TdHJpbmcoKS5zcGxpdCgiLiIpO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKWUucHVzaChpW3RdKX1yZXR1cm4gZS5qb2luKCIuIil9cmV0dXJuIHR9ZnVuY3Rpb24gZXQodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dHQodCkuc3BsaXQoIi4iKTp0LnRvU3RyaW5nKCkuc3BsaXQoIi4iKX1mdW5jdGlvbiBudCh0LGUsbil7bGV0IGk9dCxyPWV0KGUpO2ZvcihsZXQgdD0wO3Q8ci5sZW5ndGg7dCsrKXtpZighaSlyZXR1cm47aT1pW3JbdF1dfXJldHVybiBuJiYobi5wYXRoPXIuam9pbigiLiIpKSxpfWZ1bmN0aW9uIGl0KHQsZSxuKXtsZXQgaT10LHI9ZXQoZSksbz1yW3IubGVuZ3RoLTFdO2lmKHIubGVuZ3RoPjEpe2ZvcihsZXQgdD0wO3Q8ci5sZW5ndGgtMTt0Kyspe2lmKGk9aVtyW3RdXSwhaSlyZXR1cm59aVtvXT1ufWVsc2UgaVtlXT1uO3JldHVybiByLmpvaW4oIi4iKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9jb25zdCBydD17fSxvdD0vLVthLXpdL2csYXQ9LyhbQS1aXSkvZztmdW5jdGlvbiBzdCh0KXtyZXR1cm4gcnRbdF18fChydFt0XT10LmluZGV4T2YoIi0iKTwwP3Q6dC5yZXBsYWNlKG90LCh0PT50WzFdLnRvVXBwZXJDYXNlKCkpKSl9ZnVuY3Rpb24gbHQodCl7cmV0dXJuIHJ0W3RdfHwocnRbdF09dC5yZXBsYWNlKGF0LCItJDEiKS50b0xvd2VyQ2FzZSgpKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9sZXQgY3Q9MCx1dD0wLGh0PVtdLGR0PTAscHQ9ITEsZnQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpO25ldyB3aW5kb3cuTXV0YXRpb25PYnNlcnZlcigoZnVuY3Rpb24gbXQoKXtwdD0hMTtjb25zdCB0PWh0Lmxlbmd0aDtmb3IobGV0IGU9MDtlPHQ7ZSsrKXtsZXQgdD1odFtlXTtpZih0KXRyeXt0KCl9Y2F0Y2godCl7c2V0VGltZW91dCgoKCk9Pnt0aHJvdyB0fSkpfX1odC5zcGxpY2UoMCx0KSx1dCs9dH0pKS5vYnNlcnZlKGZ0LHtjaGFyYWN0ZXJEYXRhOiEwfSk7Y29uc3QgZ3Q9e2FmdGVyOnQ9Pih7cnVuOmU9PndpbmRvdy5zZXRUaW1lb3V0KGUsdCksY2FuY2VsKHQpe3dpbmRvdy5jbGVhclRpbWVvdXQodCl9fSkscnVuOih0LGUpPT53aW5kb3cuc2V0VGltZW91dCh0LGUpLGNhbmNlbCh0KXt3aW5kb3cuY2xlYXJUaW1lb3V0KHQpfX0sX3Q9e3J1bjp0PT53aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpLGNhbmNlbCh0KXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodCl9fSx5dD17cnVuOnQ9PndpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrP3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrKHQpOndpbmRvdy5zZXRUaW1lb3V0KHQsMTYpLGNhbmNlbCh0KXt3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrP3dpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2sodCk6d2luZG93LmNsZWFyVGltZW91dCh0KX19LHZ0PXtydW46dD0+KHB0fHwocHQ9ITAsZnQudGV4dENvbnRlbnQ9ZHQrKyksaHQucHVzaCh0KSxjdCsrKSxjYW5jZWwodCl7Y29uc3QgZT10LXV0O2lmKGU+PTApe2lmKCFodFtlXSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgYXN5bmMgaGFuZGxlOiAiK3QpO2h0W2VdPW51bGx9fX0sYnQ9dnQseHQ9SSgodD0+Y2xhc3MgZXh0ZW5kcyB0e3N0YXRpYyBjcmVhdGVQcm9wZXJ0aWVzKHQpe2NvbnN0IGU9dGhpcy5wcm90b3R5cGU7Zm9yKGxldCBuIGluIHQpbiBpbiBlfHxlLl9jcmVhdGVQcm9wZXJ0eUFjY2Vzc29yKG4pfXN0YXRpYyBhdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkodCl7cmV0dXJuIHQudG9Mb3dlckNhc2UoKX1zdGF0aWMgdHlwZUZvclByb3BlcnR5KHQpe31fY3JlYXRlUHJvcGVydHlBY2Nlc3Nvcih0LGUpe3RoaXMuX2FkZFByb3BlcnR5VG9BdHRyaWJ1dGVNYXAodCksdGhpcy5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJfX2RhdGFIYXNBY2Nlc3NvciIsdGhpcykpfHwodGhpcy5fX2RhdGFIYXNBY2Nlc3Nvcj1PYmplY3QuYXNzaWduKHt9LHRoaXMuX19kYXRhSGFzQWNjZXNzb3IpKSx0aGlzLl9fZGF0YUhhc0FjY2Vzc29yW3RdfHwodGhpcy5fX2RhdGFIYXNBY2Nlc3Nvclt0XT0hMCx0aGlzLl9kZWZpbmVQcm9wZXJ0eUFjY2Vzc29yKHQsZSkpfV9hZGRQcm9wZXJ0eVRvQXR0cmlidXRlTWFwKHQpe3RoaXMuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgiX19kYXRhQXR0cmlidXRlcyIsdGhpcykpfHwodGhpcy5fX2RhdGFBdHRyaWJ1dGVzPU9iamVjdC5hc3NpZ24oe30sdGhpcy5fX2RhdGFBdHRyaWJ1dGVzKSk7bGV0IGU9dGhpcy5fX2RhdGFBdHRyaWJ1dGVzW3RdO3JldHVybiBlfHwoZT10aGlzLmNvbnN0cnVjdG9yLmF0dHJpYnV0ZU5hbWVGb3JQcm9wZXJ0eSh0KSx0aGlzLl9fZGF0YUF0dHJpYnV0ZXNbZV09dCksZX1fZGVmaW5lUHJvcGVydHlBY2Nlc3Nvcih0LGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLHQse2dldCgpe3JldHVybiB0aGlzLl9fZGF0YVt0XX0sc2V0OmU/ZnVuY3Rpb24oKXt9OmZ1bmN0aW9uKGUpe3RoaXMuX3NldFBlbmRpbmdQcm9wZXJ0eSh0LGUsITApJiZ0aGlzLl9pbnZhbGlkYXRlUHJvcGVydGllcygpfX0pfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9fZGF0YUVuYWJsZWQ9ITEsdGhpcy5fX2RhdGFSZWFkeT0hMSx0aGlzLl9fZGF0YUludmFsaWQ9ITEsdGhpcy5fX2RhdGE9e30sdGhpcy5fX2RhdGFQZW5kaW5nPW51bGwsdGhpcy5fX2RhdGFPbGQ9bnVsbCx0aGlzLl9fZGF0YUluc3RhbmNlUHJvcHM9bnVsbCx0aGlzLl9fZGF0YUNvdW50ZXI9MCx0aGlzLl9fc2VyaWFsaXppbmc9ITEsdGhpcy5faW5pdGlhbGl6ZVByb3BlcnRpZXMoKX1yZWFkeSgpe3RoaXMuX19kYXRhUmVhZHk9ITAsdGhpcy5fZmx1c2hQcm9wZXJ0aWVzKCl9X2luaXRpYWxpemVQcm9wZXJ0aWVzKCl7Zm9yKGxldCB0IGluIHRoaXMuX19kYXRhSGFzQWNjZXNzb3IpdGhpcy5oYXNPd25Qcm9wZXJ0eSh0KSYmKHRoaXMuX19kYXRhSW5zdGFuY2VQcm9wcz10aGlzLl9fZGF0YUluc3RhbmNlUHJvcHN8fHt9LHRoaXMuX19kYXRhSW5zdGFuY2VQcm9wc1t0XT10aGlzW3RdLGRlbGV0ZSB0aGlzW3RdKX1faW5pdGlhbGl6ZUluc3RhbmNlUHJvcGVydGllcyh0KXtPYmplY3QuYXNzaWduKHRoaXMsdCl9X3NldFByb3BlcnR5KHQsZSl7dGhpcy5fc2V0UGVuZGluZ1Byb3BlcnR5KHQsZSkmJnRoaXMuX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCl9X2dldFByb3BlcnR5KHQpe3JldHVybiB0aGlzLl9fZGF0YVt0XX1fc2V0UGVuZGluZ1Byb3BlcnR5KHQsZSxuKXtsZXQgaT10aGlzLl9fZGF0YVt0XSxyPXRoaXMuX3Nob3VsZFByb3BlcnR5Q2hhbmdlKHQsZSxpKTtyZXR1cm4gciYmKHRoaXMuX19kYXRhUGVuZGluZ3x8KHRoaXMuX19kYXRhUGVuZGluZz17fSx0aGlzLl9fZGF0YU9sZD17fSksdGhpcy5fX2RhdGFPbGQmJiEodCBpbiB0aGlzLl9fZGF0YU9sZCkmJih0aGlzLl9fZGF0YU9sZFt0XT1pKSx0aGlzLl9fZGF0YVt0XT1lLHRoaXMuX19kYXRhUGVuZGluZ1t0XT1lKSxyfV9pc1Byb3BlcnR5UGVuZGluZyh0KXtyZXR1cm4hKCF0aGlzLl9fZGF0YVBlbmRpbmd8fCF0aGlzLl9fZGF0YVBlbmRpbmcuaGFzT3duUHJvcGVydHkodCkpfV9pbnZhbGlkYXRlUHJvcGVydGllcygpeyF0aGlzLl9fZGF0YUludmFsaWQmJnRoaXMuX19kYXRhUmVhZHkmJih0aGlzLl9fZGF0YUludmFsaWQ9ITAsYnQucnVuKCgoKT0+e3RoaXMuX19kYXRhSW52YWxpZCYmKHRoaXMuX19kYXRhSW52YWxpZD0hMSx0aGlzLl9mbHVzaFByb3BlcnRpZXMoKSl9KSkpfV9lbmFibGVQcm9wZXJ0aWVzKCl7dGhpcy5fX2RhdGFFbmFibGVkfHwodGhpcy5fX2RhdGFFbmFibGVkPSEwLHRoaXMuX19kYXRhSW5zdGFuY2VQcm9wcyYmKHRoaXMuX2luaXRpYWxpemVJbnN0YW5jZVByb3BlcnRpZXModGhpcy5fX2RhdGFJbnN0YW5jZVByb3BzKSx0aGlzLl9fZGF0YUluc3RhbmNlUHJvcHM9bnVsbCksdGhpcy5yZWFkeSgpKX1fZmx1c2hQcm9wZXJ0aWVzKCl7dGhpcy5fX2RhdGFDb3VudGVyKys7Y29uc3QgdD10aGlzLl9fZGF0YSxlPXRoaXMuX19kYXRhUGVuZGluZyxuPXRoaXMuX19kYXRhT2xkO3RoaXMuX3Nob3VsZFByb3BlcnRpZXNDaGFuZ2UodCxlLG4pJiYodGhpcy5fX2RhdGFQZW5kaW5nPW51bGwsdGhpcy5fX2RhdGFPbGQ9bnVsbCx0aGlzLl9wcm9wZXJ0aWVzQ2hhbmdlZCh0LGUsbikpLHRoaXMuX19kYXRhQ291bnRlci0tfV9zaG91bGRQcm9wZXJ0aWVzQ2hhbmdlKHQsZSxuKXtyZXR1cm4gQm9vbGVhbihlKX1fcHJvcGVydGllc0NoYW5nZWQodCxlLG4pe31fc2hvdWxkUHJvcGVydHlDaGFuZ2UodCxlLG4pe3JldHVybiBuIT09ZSYmKG49PW58fGU9PWUpfWF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LGUsbixpKXtlIT09biYmdGhpcy5fYXR0cmlidXRlVG9Qcm9wZXJ0eSh0LG4pLHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayYmc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHQsZSxuLGkpfV9hdHRyaWJ1dGVUb1Byb3BlcnR5KHQsZSxuKXtpZighdGhpcy5fX3NlcmlhbGl6aW5nKXtjb25zdCBpPXRoaXMuX19kYXRhQXR0cmlidXRlcyxyPWkmJmlbdF18fHQ7dGhpc1tyXT10aGlzLl9kZXNlcmlhbGl6ZVZhbHVlKGUsbnx8dGhpcy5jb25zdHJ1Y3Rvci50eXBlRm9yUHJvcGVydHkocikpfX1fcHJvcGVydHlUb0F0dHJpYnV0ZSh0LGUsbil7dGhpcy5fX3NlcmlhbGl6aW5nPSEwLHRoaXMuX3ZhbHVlVG9Ob2RlQXR0cmlidXRlKHRoaXMsbj1hcmd1bWVudHMubGVuZ3RoPDM/dGhpc1t0XTpuLGV8fHRoaXMuY29uc3RydWN0b3IuYXR0cmlidXRlTmFtZUZvclByb3BlcnR5KHQpKSx0aGlzLl9fc2VyaWFsaXppbmc9ITF9X3ZhbHVlVG9Ob2RlQXR0cmlidXRlKHQsZSxuKXtjb25zdCBpPXRoaXMuX3NlcmlhbGl6ZVZhbHVlKGUpOyJjbGFzcyIhPT1uJiYibmFtZSIhPT1uJiYic2xvdCIhPT1ufHwodD1ZKHQpKSx2b2lkIDA9PT1pP3QucmVtb3ZlQXR0cmlidXRlKG4pOnQuc2V0QXR0cmlidXRlKG4saSl9X3NlcmlhbGl6ZVZhbHVlKHQpe3N3aXRjaCh0eXBlb2YgdCl7Y2FzZSJib29sZWFuIjpyZXR1cm4gdD8iIjp2b2lkIDA7ZGVmYXVsdDpyZXR1cm4gbnVsbCE9dD90LnRvU3RyaW5nKCk6dm9pZCAwfX1fZGVzZXJpYWxpemVWYWx1ZSh0LGUpe3N3aXRjaChlKXtjYXNlIEJvb2xlYW46cmV0dXJuIG51bGwhPT10O2Nhc2UgTnVtYmVyOnJldHVybiBOdW1iZXIodCk7ZGVmYXVsdDpyZXR1cm4gdH19fSkpLHd0PXt9O2xldCBTdD1IVE1MRWxlbWVudC5wcm90b3R5cGU7Zm9yKDtTdDspe2xldCB0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKFN0KTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl3dFt0W2VdXT0hMDtTdD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoU3QpfWNvbnN0IE10PUkoKHQ9Pntjb25zdCBlPXh0KHQpO3JldHVybiBjbGFzcyBleHRlbmRzIGV7c3RhdGljIGNyZWF0ZVByb3BlcnRpZXNGb3JBdHRyaWJ1dGVzKCl7bGV0IHQ9dGhpcy5vYnNlcnZlZEF0dHJpYnV0ZXM7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspdGhpcy5wcm90b3R5cGUuX2NyZWF0ZVByb3BlcnR5QWNjZXNzb3Ioc3QodFtlXSkpfXN0YXRpYyBhdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkodCl7cmV0dXJuIGx0KHQpfV9pbml0aWFsaXplUHJvcGVydGllcygpe3RoaXMuX19kYXRhUHJvdG8mJih0aGlzLl9pbml0aWFsaXplUHJvdG9Qcm9wZXJ0aWVzKHRoaXMuX19kYXRhUHJvdG8pLHRoaXMuX19kYXRhUHJvdG89bnVsbCksc3VwZXIuX2luaXRpYWxpemVQcm9wZXJ0aWVzKCl9X2luaXRpYWxpemVQcm90b1Byb3BlcnRpZXModCl7Zm9yKGxldCBlIGluIHQpdGhpcy5fc2V0UHJvcGVydHkoZSx0W2VdKX1fZW5zdXJlQXR0cmlidXRlKHQsZSl7Y29uc3Qgbj10aGlzO24uaGFzQXR0cmlidXRlKHQpfHx0aGlzLl92YWx1ZVRvTm9kZUF0dHJpYnV0ZShuLGUsdCl9X3NlcmlhbGl6ZVZhbHVlKHQpe3N3aXRjaCh0eXBlb2YgdCl7Y2FzZSJvYmplY3QiOmlmKHQgaW5zdGFuY2VvZiBEYXRlKXJldHVybiB0LnRvU3RyaW5nKCk7aWYodCl0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpfWNhdGNoKHQpe3JldHVybiIifWRlZmF1bHQ6cmV0dXJuIHN1cGVyLl9zZXJpYWxpemVWYWx1ZSh0KX19X2Rlc2VyaWFsaXplVmFsdWUodCxlKXtsZXQgbjtzd2l0Y2goZSl7Y2FzZSBPYmplY3Q6dHJ5e249SlNPTi5wYXJzZSh0KX1jYXRjaChlKXtuPXR9YnJlYWs7Y2FzZSBBcnJheTp0cnl7bj1KU09OLnBhcnNlKHQpfWNhdGNoKGUpe249bnVsbCxjb25zb2xlLndhcm4oYFBvbHltZXI6OkF0dHJpYnV0ZXM6IGNvdWxkbid0IGRlY29kZSBBcnJheSBhcyBKU09OOiAke3R9YCl9YnJlYWs7Y2FzZSBEYXRlOm49aXNOYU4odCk/U3RyaW5nKHQpOk51bWJlcih0KSxuPW5ldyBEYXRlKG4pO2JyZWFrO2RlZmF1bHQ6bj1zdXBlci5fZGVzZXJpYWxpemVWYWx1ZSh0LGUpfXJldHVybiBufV9kZWZpbmVQcm9wZXJ0eUFjY2Vzc29yKHQsZSl7IShmdW5jdGlvbiBuKHQsZSl7aWYoIXd0W2VdKXtsZXQgbj10W2VdO3ZvaWQgMCE9PW4mJih0Ll9fZGF0YT90Ll9zZXRQZW5kaW5nUHJvcGVydHkoZSxuKToodC5fX2RhdGFQcm90bz90Lmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9fZGF0YVByb3RvIix0KSl8fCh0Ll9fZGF0YVByb3RvPU9iamVjdC5jcmVhdGUodC5fX2RhdGFQcm90bykpOnQuX19kYXRhUHJvdG89e30sdC5fX2RhdGFQcm90b1tlXT1uKSl9fSkodGhpcyx0KSxzdXBlci5fZGVmaW5lUHJvcGVydHlBY2Nlc3Nvcih0LGUpfV9oYXNBY2Nlc3Nvcih0KXtyZXR1cm4gdGhpcy5fX2RhdGFIYXNBY2Nlc3NvciYmdGhpcy5fX2RhdGFIYXNBY2Nlc3Nvclt0XX1faXNQcm9wZXJ0eVBlbmRpbmcodCl7cmV0dXJuIEJvb2xlYW4odGhpcy5fX2RhdGFQZW5kaW5nJiZ0IGluIHRoaXMuX19kYXRhUGVuZGluZyl9fX0pKSxFdD17ImRvbS1pZiI6ITAsImRvbS1yZXBlYXQiOiEwfTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9sZXQgVHQ9ITEsQ3Q9ITE7ZnVuY3Rpb24gQXQodCl7KGZ1bmN0aW9uIGUoKXtpZighVHQpe1R0PSEwO2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTt0LnBsYWNlaG9sZGVyPSJhIixDdD10LnBsYWNlaG9sZGVyPT09dC50ZXh0Q29udGVudH1yZXR1cm4gQ3R9KSgpJiYidGV4dGFyZWEiPT09dC5sb2NhbE5hbWUmJnQucGxhY2Vob2xkZXImJnQucGxhY2Vob2xkZXI9PT10LnRleHRDb250ZW50JiYodC50ZXh0Q29udGVudD1udWxsKX1mdW5jdGlvbiBrdCh0KXtsZXQgZT10LmdldEF0dHJpYnV0ZSgiaXMiKTtpZihlJiZFdFtlXSl7bGV0IG49dDtmb3Iobi5yZW1vdmVBdHRyaWJ1dGUoImlzIiksdD1uLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChlKSxuLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKHQsbiksdC5hcHBlbmRDaGlsZChuKTtuLmF0dHJpYnV0ZXMubGVuZ3RoOyl0LnNldEF0dHJpYnV0ZShuLmF0dHJpYnV0ZXNbMF0ubmFtZSxuLmF0dHJpYnV0ZXNbMF0udmFsdWUpLG4ucmVtb3ZlQXR0cmlidXRlKG4uYXR0cmlidXRlc1swXS5uYW1lKX1yZXR1cm4gdH1mdW5jdGlvbiBMdCh0LGUpe2xldCBuPWUucGFyZW50SW5mbyYmTHQodCxlLnBhcmVudEluZm8pO2lmKCFuKXJldHVybiB0O2ZvcihsZXQgdD1uLmZpcnN0Q2hpbGQsaT0wO3Q7dD10Lm5leHRTaWJsaW5nKWlmKGUucGFyZW50SW5kZXg9PT1pKyspcmV0dXJuIHR9ZnVuY3Rpb24gUHQodCxlLG4saSl7aS5pZCYmKGVbaS5pZF09bil9ZnVuY3Rpb24gTnQodCxlLG4pe2lmKG4uZXZlbnRzJiZuLmV2ZW50cy5sZW5ndGgpZm9yKGxldCBpLHI9MCxvPW4uZXZlbnRzO3I8by5sZW5ndGgmJihpPW9bcl0pO3IrKyl0Ll9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKGUsaS5uYW1lLGkudmFsdWUsdCl9ZnVuY3Rpb24gSXQodCxlLG4saSl7bi50ZW1wbGF0ZUluZm8mJihlLl90ZW1wbGF0ZUluZm89bi50ZW1wbGF0ZUluZm8sZS5fcGFyZW50VGVtcGxhdGVJbmZvPWkpfWNvbnN0IFJ0PUkoKHQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgX3BhcnNlVGVtcGxhdGUodCxlKXtpZighdC5fdGVtcGxhdGVJbmZvKXtsZXQgbj10Ll90ZW1wbGF0ZUluZm89e307bi5ub2RlSW5mb0xpc3Q9W10sbi5uZXN0ZWRUZW1wbGF0ZT1Cb29sZWFuKGUpLG4uc3RyaXBXaGl0ZVNwYWNlPWUmJmUuc3RyaXBXaGl0ZVNwYWNlfHx0Lmhhc0F0dHJpYnV0ZSgic3RyaXAtd2hpdGVzcGFjZSIpLHRoaXMuX3BhcnNlVGVtcGxhdGVDb250ZW50KHQsbix7cGFyZW50Om51bGx9KX1yZXR1cm4gdC5fdGVtcGxhdGVJbmZvfXN0YXRpYyBfcGFyc2VUZW1wbGF0ZUNvbnRlbnQodCxlLG4pe3JldHVybiB0aGlzLl9wYXJzZVRlbXBsYXRlTm9kZSh0LmNvbnRlbnQsZSxuKX1zdGF0aWMgX3BhcnNlVGVtcGxhdGVOb2RlKHQsZSxuKXtsZXQgaT0hMSxyPXQ7cmV0dXJuInRlbXBsYXRlIiE9ci5sb2NhbE5hbWV8fHIuaGFzQXR0cmlidXRlKCJwcmVzZXJ2ZS1jb250ZW50Iik/InNsb3QiPT09ci5sb2NhbE5hbWUmJihlLmhhc0luc2VydGlvblBvaW50PSEwKTppPXRoaXMuX3BhcnNlVGVtcGxhdGVOZXN0ZWRUZW1wbGF0ZShyLGUsbil8fGksQXQociksci5maXJzdENoaWxkJiZ0aGlzLl9wYXJzZVRlbXBsYXRlQ2hpbGROb2RlcyhyLGUsbiksci5oYXNBdHRyaWJ1dGVzJiZyLmhhc0F0dHJpYnV0ZXMoKSYmKGk9dGhpcy5fcGFyc2VUZW1wbGF0ZU5vZGVBdHRyaWJ1dGVzKHIsZSxuKXx8aSksaXx8bi5ub3RlZH1zdGF0aWMgX3BhcnNlVGVtcGxhdGVDaGlsZE5vZGVzKHQsZSxuKXtpZigic2NyaXB0IiE9PXQubG9jYWxOYW1lJiYic3R5bGUiIT09dC5sb2NhbE5hbWUpZm9yKGxldCBpLHI9dC5maXJzdENoaWxkLG89MDtyO3I9aSl7aWYoInRlbXBsYXRlIj09ci5sb2NhbE5hbWUmJihyPWt0KHIpKSxpPXIubmV4dFNpYmxpbmcsci5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXtsZXQgbj1pO2Zvcig7biYmbi5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFOylyLnRleHRDb250ZW50Kz1uLnRleHRDb250ZW50LGk9bi5uZXh0U2libGluZyx0LnJlbW92ZUNoaWxkKG4pLG49aTtpZihlLnN0cmlwV2hpdGVTcGFjZSYmIXIudGV4dENvbnRlbnQudHJpbSgpKXt0LnJlbW92ZUNoaWxkKHIpO2NvbnRpbnVlfX1sZXQgYT17cGFyZW50SW5kZXg6byxwYXJlbnRJbmZvOm59O3RoaXMuX3BhcnNlVGVtcGxhdGVOb2RlKHIsZSxhKSYmKGEuaW5mb0luZGV4PWUubm9kZUluZm9MaXN0LnB1c2goYSktMSksci5wYXJlbnROb2RlJiZvKyt9fXN0YXRpYyBfcGFyc2VUZW1wbGF0ZU5lc3RlZFRlbXBsYXRlKHQsZSxuKXtsZXQgaT10LHI9dGhpcy5fcGFyc2VUZW1wbGF0ZShpLGUpO3JldHVybihyLmNvbnRlbnQ9aS5jb250ZW50Lm93bmVyRG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKS5hcHBlbmRDaGlsZChpLmNvbnRlbnQpLG4udGVtcGxhdGVJbmZvPXIsITB9c3RhdGljIF9wYXJzZVRlbXBsYXRlTm9kZUF0dHJpYnV0ZXModCxlLG4pe2xldCBpPSExLHI9QXJyYXkuZnJvbSh0LmF0dHJpYnV0ZXMpO2ZvcihsZXQgbyxhPXIubGVuZ3RoLTE7bz1yW2FdO2EtLSlpPXRoaXMuX3BhcnNlVGVtcGxhdGVOb2RlQXR0cmlidXRlKHQsZSxuLG8ubmFtZSxvLnZhbHVlKXx8aTtyZXR1cm4gaX1zdGF0aWMgX3BhcnNlVGVtcGxhdGVOb2RlQXR0cmlidXRlKHQsZSxuLGkscil7cmV0dXJuIm9uLSI9PT1pLnNsaWNlKDAsMyk/KHQucmVtb3ZlQXR0cmlidXRlKGkpLG4uZXZlbnRzPW4uZXZlbnRzfHxbXSxuLmV2ZW50cy5wdXNoKHtuYW1lOmkuc2xpY2UoMyksdmFsdWU6cn0pLCEwKToiaWQiPT09aSYmKG4uaWQ9ciwhMCl9c3RhdGljIF9jb250ZW50Rm9yVGVtcGxhdGUodCl7bGV0IGU9dC5fdGVtcGxhdGVJbmZvO3JldHVybiBlJiZlLmNvbnRlbnR8fHQuY29udGVudH1fc3RhbXBUZW1wbGF0ZSh0LGUpe3QmJiF0LmNvbnRlbnQmJndpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50JiZIVE1MVGVtcGxhdGVFbGVtZW50LmRlY29yYXRlJiZIVE1MVGVtcGxhdGVFbGVtZW50LmRlY29yYXRlKHQpO2xldCBuPShlPWV8fHRoaXMuY29uc3RydWN0b3IuX3BhcnNlVGVtcGxhdGUodCkpLm5vZGVJbmZvTGlzdCxpPWRvY3VtZW50LmltcG9ydE5vZGUoZS5jb250ZW50fHx0LmNvbnRlbnQsITApO2kuX19ub0luc2VydGlvblBvaW50PSFlLmhhc0luc2VydGlvblBvaW50O2xldCByPWkubm9kZUxpc3Q9bmV3IEFycmF5KG4ubGVuZ3RoKTtpLiQ9e307Zm9yKGxldCB0LG89MCxhPW4ubGVuZ3RoO288YSYmKHQ9bltvXSk7bysrKXtsZXQgbj1yW29dPUx0KGksdCk7UHQoMCxpLiQsbix0KSxJdCgwLG4sdCxlKSxOdCh0aGlzLG4sdCl9cmV0dXJuIGk9aSxpfV9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKHQsZSxuLGkpe2xldCByPShmdW5jdGlvbiBvKHQsZSxuKXtyZXR1cm4gdD10Ll9tZXRob2RIb3N0fHx0LGZ1bmN0aW9uKGUpe3Rbbl0/dFtuXShlLGUuZGV0YWlsKTpjb25zb2xlLndhcm4oImxpc3RlbmVyIG1ldGhvZCBgIituKyJgIG5vdCBkZWZpbmVkIil9fSkoaT1pfHx0LDAsbik7cmV0dXJuIHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJUb05vZGUodCxlLHIpLHJ9X2FkZEV2ZW50TGlzdGVuZXJUb05vZGUodCxlLG4pe3QuYWRkRXZlbnRMaXN0ZW5lcihlLG4pfV9yZW1vdmVFdmVudExpc3RlbmVyRnJvbU5vZGUodCxlLG4pe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4pfX0pKTsKLyoqCiAgICAgKiBAZmlsZW92ZXJ2aWV3CiAgICAgKiBAc3VwcHJlc3Mge2NoZWNrUHJvdG90eXBhbFR5cGVzfQogICAgICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgICAqIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQKICAgICAqIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkKICAgICAqIGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkKICAgICAqIEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAKICAgICAqIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICAqL2xldCBPdD0wO2NvbnN0IHp0PVtdLER0PXtDT01QVVRFOiJfX2NvbXB1dGVFZmZlY3RzIixSRUZMRUNUOiJfX3JlZmxlY3RFZmZlY3RzIixOT1RJRlk6Il9fbm90aWZ5RWZmZWN0cyIsUFJPUEFHQVRFOiJfX3Byb3BhZ2F0ZUVmZmVjdHMiLE9CU0VSVkU6Il9fb2JzZXJ2ZUVmZmVjdHMiLFJFQURfT05MWToiX19yZWFkT25seSJ9LEJ0PSJfX2NvbXB1dGVJbmZvIixIdD0vW0EtWl0vO2Z1bmN0aW9uIEZ0KHQsZSxuKXtsZXQgaT10W2VdO2lmKGkpe2lmKCF0Lmhhc093blByb3BlcnR5KGUpJiYoaT10W2VdPU9iamVjdC5jcmVhdGUodFtlXSksbikpZm9yKGxldCB0IGluIGkpe2xldCBlPWlbdF0sbj1pW3RdPUFycmF5KGUubGVuZ3RoKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyluW3RdPWVbdF19fWVsc2UgaT10W2VdPXt9O3JldHVybiBpfWZ1bmN0aW9uIFZ0KHQsZSxuLGkscixvKXtpZihlKXtsZXQgYT0hMTtjb25zdCBzPU90Kys7Zm9yKGxldCBsIGluIG4pe2xldCBjPWVbcj8kKGwpOmxdO2lmKGMpZm9yKGxldCBlLHU9MCxoPWMubGVuZ3RoO3U8aCYmKGU9Y1t1XSk7dSsrKWUuaW5mbyYmZS5pbmZvLmxhc3RSdW49PT1zfHxyJiYhanQobCxlLnRyaWdnZXIpfHwoZS5pbmZvJiYoZS5pbmZvLmxhc3RSdW49cyksZS5mbih0LGwsbixpLGUuaW5mbyxyLG8pLGE9ITApfXJldHVybiBhfXJldHVybiExfWZ1bmN0aW9uIFV0KHQsZSxuLGkscixvLGEscyl7bGV0IGw9ITEsYz1lW2E/JChpKTppXTtpZihjKWZvcihsZXQgZSx1PTAsaD1jLmxlbmd0aDt1PGgmJihlPWNbdV0pO3UrKyllLmluZm8mJmUuaW5mby5sYXN0UnVuPT09bnx8YSYmIWp0KGksZS50cmlnZ2VyKXx8KGUuaW5mbyYmKGUuaW5mby5sYXN0UnVuPW4pLGUuZm4odCxpLHIsbyxlLmluZm8sYSxzKSxsPSEwKTtyZXR1cm4gbH1mdW5jdGlvbiBqdCh0LGUpe2lmKGUpe2xldCBuPWUubmFtZTtyZXR1cm4gbj09dHx8ISghZS5zdHJ1Y3R1cmVkfHwhSyhuLHQpKXx8ISghZS53aWxkY2FyZHx8IVoobix0KSl9cmV0dXJuITB9ZnVuY3Rpb24gR3QodCxlLG4saSxyKXtsZXQgbz0ic3RyaW5nIj09dHlwZW9mIHIubWV0aG9kP3Rbci5tZXRob2RdOnIubWV0aG9kLGE9ci5wcm9wZXJ0eTtvP28uY2FsbCh0LHQuX19kYXRhW2FdLGlbYV0pOnIuZHluYW1pY0ZufHxjb25zb2xlLndhcm4oIm9ic2VydmVyIG1ldGhvZCBgIityLm1ldGhvZCsiYCBub3QgZGVmaW5lZCIpfWZ1bmN0aW9uIFd0KHQsZSxuKXtsZXQgaT0kKGUpO2lmKGkhPT1lKXtyZXR1cm4gcXQodCxsdChpKSsiLWNoYW5nZWQiLG5bZV0sZSksITB9cmV0dXJuITF9ZnVuY3Rpb24gcXQodCxlLG4saSl7bGV0IHI9e3ZhbHVlOm4scXVldWVQcm9wZXJ0eTohMH07aSYmKHIucGF0aD1pKSxZKHQpLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KGUse2RldGFpbDpyfSkpfWZ1bmN0aW9uIFl0KHQsZSxuLGkscixvKXtsZXQgYT0obz8kKGUpOmUpIT1lP2U6bnVsbCxzPWE/bnQodCxhKTp0Ll9fZGF0YVtlXTthJiZ2b2lkIDA9PT1zJiYocz1uW2VdKSxxdCh0LHIuZXZlbnROYW1lLHMsYSl9ZnVuY3Rpb24gWHQodCxlLG4saSxyKXtsZXQgbz10Ll9fZGF0YVtlXTt5JiYobz15KG8sci5hdHRyTmFtZSwiYXR0cmlidXRlIix0KSksdC5fcHJvcGVydHlUb0F0dHJpYnV0ZShlLHIuYXR0ck5hbWUsbyl9ZnVuY3Rpb24gJHQodCxlLG4saSl7bGV0IHI9dFtEdC5DT01QVVRFXTtpZihyKWlmKFQpe090Kys7Y29uc3Qgbz0oZnVuY3Rpb24gbyh0KXtsZXQgZT10LmNvbnN0cnVjdG9yLl9fb3JkZXJlZENvbXB1dGVkRGVwcztpZighZSl7ZT1uZXcgTWFwO2NvbnN0IG49dFtEdC5DT01QVVRFXTtsZXQgaSx7Y291bnRzOnIscmVhZHk6byx0b3RhbDphfT0oZnVuY3Rpb24gbih0KXtjb25zdCBlPXQuX19jb21wdXRlSW5mbyxuPXt9LGk9dFtEdC5DT01QVVRFXSxyPVtdO2xldCBvPTA7Zm9yKGxldCB0IGluIGUpe2NvbnN0IGk9ZVt0XTtvKz1uW3RdPWkuYXJncy5maWx0ZXIoKHQ9PiF0LmxpdGVyYWwpKS5sZW5ndGgrKGkuZHluYW1pY0ZuPzE6MCl9Zm9yKGxldCB0IGluIGkpZVt0XXx8ci5wdXNoKHQpO3JldHVybntjb3VudHM6bixyZWFkeTpyLHRvdGFsOm99fSkodCk7Zm9yKDtpPW8uc2hpZnQoKTspe2Uuc2V0KGksZS5zaXplKTtjb25zdCB0PW5baV07dCYmdC5mb3JFYWNoKCh0PT57Y29uc3QgZT10LmluZm8ubWV0aG9kSW5mbzstLWEsMD09LS1yW2VdJiZvLnB1c2goZSl9KSl9aWYoMCE9PWEpe2NvbnNvbGUud2FybihgQ29tcHV0ZWQgZ3JhcGggZm9yICR7dC5sb2NhbE5hbWV9IGluY29tcGxldGU7IGNpcmN1bGFyP2ApfXQuY29uc3RydWN0b3IuX19vcmRlcmVkQ29tcHV0ZWREZXBzPWV9cmV0dXJuIGV9KSh0KSxhPVtdO2ZvcihsZXQgdCBpbiBlKVp0KHQscixhLG8saSk7bGV0IHM7Zm9yKDtzPWEuc2hpZnQoKTspSnQodCwiIixlLG4scykmJlp0KHMubWV0aG9kSW5mbyxyLGEsbyxpKTtPYmplY3QuYXNzaWduKG4sdC5fX2RhdGFPbGQpLE9iamVjdC5hc3NpZ24oZSx0Ll9fZGF0YVBlbmRpbmcpLHQuX19kYXRhUGVuZGluZz1udWxsfWVsc2V7bGV0IG89ZTtmb3IoO1Z0KHQscixvLG4saSk7KU9iamVjdC5hc3NpZ24obix0Ll9fZGF0YU9sZCksT2JqZWN0LmFzc2lnbihlLHQuX19kYXRhUGVuZGluZyksbz10Ll9fZGF0YVBlbmRpbmcsdC5fX2RhdGFQZW5kaW5nPW51bGx9fWNvbnN0IEt0PSh0LGUsbik9PntsZXQgaT0wLHI9ZS5sZW5ndGgtMSxvPS0xO2Zvcig7aTw9cjspe2NvbnN0IGE9aStyPj4xLHM9bi5nZXQoZVthXS5tZXRob2RJbmZvKS1uLmdldCh0Lm1ldGhvZEluZm8pO2lmKHM8MClpPWErMTtlbHNle2lmKCEocz4wKSl7bz1hO2JyZWFrfXI9YS0xfX1vPDAmJihvPXIrMSksZS5zcGxpY2UobywwLHQpfSxadD0odCxlLG4saSxyKT0+e2NvbnN0IG89ZVtyPyQodCk6dF07aWYobylmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7Y29uc3QgYT1vW2VdO2EuaW5mby5sYXN0UnVuPT09T3R8fHImJiFqdCh0LGEudHJpZ2dlcil8fChhLmluZm8ubGFzdFJ1bj1PdCxLdChhLmluZm8sbixpKSl9fTtmdW5jdGlvbiBKdCh0LGUsbixpLHIpe2xldCBvPW9lKHQsZSxuLGkscik7aWYobz09PXp0KXJldHVybiExO2xldCBhPXIubWV0aG9kSW5mbztyZXR1cm4gdC5fX2RhdGFIYXNBY2Nlc3NvciYmdC5fX2RhdGFIYXNBY2Nlc3NvclthXT90Ll9zZXRQZW5kaW5nUHJvcGVydHkoYSxvLCEwKToodFthXT1vLCExKX1mdW5jdGlvbiBRdCh0LGUsbixpLHIsbyxhKXtuLmJpbmRpbmdzPW4uYmluZGluZ3N8fFtdO2xldCBzPXtraW5kOmksdGFyZ2V0OnIscGFydHM6byxsaXRlcmFsOmEsaXNDb21wb3VuZDoxIT09by5sZW5ndGh9O2lmKG4uYmluZGluZ3MucHVzaChzKSwoZnVuY3Rpb24gbCh0KXtyZXR1cm4gQm9vbGVhbih0LnRhcmdldCkmJiJhdHRyaWJ1dGUiIT10LmtpbmQmJiJ0ZXh0IiE9dC5raW5kJiYhdC5pc0NvbXBvdW5kJiYieyI9PT10LnBhcnRzWzBdLm1vZGV9KShzKSl7bGV0e2V2ZW50OnQsbmVnYXRlOmV9PXMucGFydHNbMF07cy5saXN0ZW5lckV2ZW50PXR8fGx0KHIpKyItY2hhbmdlZCIscy5saXN0ZW5lck5lZ2F0ZT1lfWxldCBjPWUubm9kZUluZm9MaXN0Lmxlbmd0aDtmb3IobGV0IG49MDtuPHMucGFydHMubGVuZ3RoO24rKyl7bGV0IGk9cy5wYXJ0c1tuXTtpLmNvbXBvdW5kSW5kZXg9bix0ZSh0LGUscyxpLGMpfX1mdW5jdGlvbiB0ZSh0LGUsbixpLHIpe2lmKCFpLmxpdGVyYWwpaWYoImF0dHJpYnV0ZSI9PT1uLmtpbmQmJiItIj09PW4udGFyZ2V0WzBdKWNvbnNvbGUud2FybigiQ2Fubm90IHNldCBhdHRyaWJ1dGUgIituLnRhcmdldCsnIGJlY2F1c2UgIi0iIGlzIG5vdCBhIHZhbGlkIGF0dHJpYnV0ZSBzdGFydGluZyBjaGFyYWN0ZXInKTtlbHNle2xldCBvPWkuZGVwZW5kZW5jaWVzLGE9e2luZGV4OnIsYmluZGluZzpuLHBhcnQ6aSxldmFsdWF0b3I6dH07Zm9yKGxldCBuPTA7bjxvLmxlbmd0aDtuKyspe2xldCBpPW9bbl07InN0cmluZyI9PXR5cGVvZiBpJiYoaT11ZShpKSxpLndpbGRjYXJkPSEwKSx0Ll9hZGRUZW1wbGF0ZVByb3BlcnR5RWZmZWN0KGUsaS5yb290UHJvcGVydHkse2ZuOmVlLGluZm86YSx0cmlnZ2VyOml9KX19fWZ1bmN0aW9uIGVlKHQsZSxuLGkscixvLGEpe2xldCBzPWFbci5pbmRleF0sbD1yLmJpbmRpbmcsYz1yLnBhcnQ7aWYobyYmYy5zb3VyY2UmJmUubGVuZ3RoPmMuc291cmNlLmxlbmd0aCYmInByb3BlcnR5Ij09bC5raW5kJiYhbC5pc0NvbXBvdW5kJiZzLl9faXNQcm9wZXJ0eUVmZmVjdHNDbGllbnQmJnMuX19kYXRhSGFzQWNjZXNzb3ImJnMuX19kYXRhSGFzQWNjZXNzb3JbbC50YXJnZXRdKXtsZXQgaT1uW2VdO2U9SihjLnNvdXJjZSxsLnRhcmdldCxlKSxzLl9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgoZSxpLCExLCEwKSYmdC5fZW5xdWV1ZUNsaWVudChzKX1lbHNle2xldCBhPXIuZXZhbHVhdG9yLl9ldmFsdWF0ZUJpbmRpbmcodCxjLGUsbixpLG8pO2EhPT16dCYmKGZ1bmN0aW9uIHUodCxlLG4saSxyKXtyPShmdW5jdGlvbiBvKHQsZSxuLGkpe2lmKG4uaXNDb21wb3VuZCl7bGV0IHI9dC5fX2RhdGFDb21wb3VuZFN0b3JhZ2Vbbi50YXJnZXRdO3JbaS5jb21wb3VuZEluZGV4XT1lLGU9ci5qb2luKCIiKX0iYXR0cmlidXRlIiE9PW4ua2luZCYmKCJ0ZXh0Q29udGVudCIhPT1uLnRhcmdldCYmKCJ2YWx1ZSIhPT1uLnRhcmdldHx8ImlucHV0IiE9PXQubG9jYWxOYW1lJiYidGV4dGFyZWEiIT09dC5sb2NhbE5hbWUpfHwoZT1udWxsPT1lPyIiOmUpKTtyZXR1cm4gZX0pKGUscixuLGkpLHkmJihyPXkocixuLnRhcmdldCxuLmtpbmQsZSkpO2lmKCJhdHRyaWJ1dGUiPT1uLmtpbmQpdC5fdmFsdWVUb05vZGVBdHRyaWJ1dGUoZSxyLG4udGFyZ2V0KTtlbHNle2xldCBpPW4udGFyZ2V0O2UuX19pc1Byb3BlcnR5RWZmZWN0c0NsaWVudCYmZS5fX2RhdGFIYXNBY2Nlc3NvciYmZS5fX2RhdGFIYXNBY2Nlc3NvcltpXT9lW0R0LlJFQURfT05MWV0mJmVbRHQuUkVBRF9PTkxZXVtpXXx8ZS5fc2V0UGVuZGluZ1Byb3BlcnR5KGkscikmJnQuX2VucXVldWVDbGllbnQoZSk6dC5fc2V0VW5tYW5hZ2VkUHJvcGVydHlUb05vZGUoZSxpLHIpfX0pKHQscyxsLGMsYSl9fWZ1bmN0aW9uIG5lKHQsZSl7aWYoZS5pc0NvbXBvdW5kKXtsZXQgbj10Ll9fZGF0YUNvbXBvdW5kU3RvcmFnZXx8KHQuX19kYXRhQ29tcG91bmRTdG9yYWdlPXt9KSxpPWUucGFydHMscj1uZXcgQXJyYXkoaS5sZW5ndGgpO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXJbdF09aVt0XS5saXRlcmFsO2xldCBvPWUudGFyZ2V0O25bb109cixlLmxpdGVyYWwmJiJwcm9wZXJ0eSI9PWUua2luZCYmKCJjbGFzc05hbWUiPT09byYmKHQ9WSh0KSksdFtvXT1lLmxpdGVyYWwpfX1mdW5jdGlvbiBpZSh0LGUsbil7aWYobi5saXN0ZW5lckV2ZW50KXtsZXQgaT1uLnBhcnRzWzBdO3QuYWRkRXZlbnRMaXN0ZW5lcihuLmxpc3RlbmVyRXZlbnQsKGZ1bmN0aW9uKHQpeyEoZnVuY3Rpb24gcih0LGUsbixpLG8pe2xldCBhLHM9dC5kZXRhaWwsbD1zJiZzLnBhdGg7bD8oaT1KKG4saSxsKSxhPXMmJnMudmFsdWUpOmE9dC5jdXJyZW50VGFyZ2V0W25dLGE9bz8hYTphLGVbRHQuUkVBRF9PTkxZXSYmZVtEdC5SRUFEX09OTFldW2ldfHwhZS5fc2V0UGVuZGluZ1Byb3BlcnR5T3JQYXRoKGksYSwhMCxCb29sZWFuKGwpKXx8cyYmcy5xdWV1ZVByb3BlcnR5fHxlLl9pbnZhbGlkYXRlUHJvcGVydGllcygpfSkodCxlLG4udGFyZ2V0LGkuc291cmNlLGkubmVnYXRlKX0pKX19ZnVuY3Rpb24gcmUodCxlLG4saSxyLG8pe2xldCBhPXttZXRob2ROYW1lOmUubWV0aG9kTmFtZSxhcmdzOmUuYXJncyxtZXRob2RJbmZvOnIsZHluYW1pY0ZuOm89ZS5zdGF0aWN8fG8mJigib2JqZWN0IiE9dHlwZW9mIG98fG9bZS5tZXRob2ROYW1lXSl9O2ZvcihsZXQgcixvPTA7bzxlLmFyZ3MubGVuZ3RoJiYocj1lLmFyZ3Nbb10pO28rKylyLmxpdGVyYWx8fHQuX2FkZFByb3BlcnR5RWZmZWN0KHIucm9vdFByb3BlcnR5LG4se2ZuOmksaW5mbzphLHRyaWdnZXI6cn0pO3JldHVybiBvJiZ0Ll9hZGRQcm9wZXJ0eUVmZmVjdChlLm1ldGhvZE5hbWUsbix7Zm46aSxpbmZvOmF9KSxhfWZ1bmN0aW9uIG9lKHQsZSxuLGkscil7bGV0IG89dC5fbWV0aG9kSG9zdHx8dCxhPW9bci5tZXRob2ROYW1lXTtpZihhKXtsZXQgaT10Ll9tYXJzaGFsQXJncyhyLmFyZ3MsZSxuKTtyZXR1cm4gaT09PXp0P3p0OmEuYXBwbHkobyxpKX1yLmR5bmFtaWNGbnx8Y29uc29sZS53YXJuKCJtZXRob2QgYCIrci5tZXRob2ROYW1lKyJgIG5vdCBkZWZpbmVkIil9Y29uc3QgYWU9W10sc2U9bmV3IFJlZ0V4cCgiKFxcW1xcW3x7eylcXHMqKD86KCEpXFxzKik/KCg/OlthLXpBLVpfJF1bXFx3LjokXFwtKl0qKVxccyooPzpcXChcXHMqKD86KD86KD86KCg/OlthLXpBLVpfJF1bXFx3LjokXFwtKl0qKXwoPzpbLStdP1swLTldKlxcLj9bMC05XSsoPzpbZUVdWy0rXT9bMC05XSspPyl8KD86KD86Jyg/OlteJ1xcXFxdfFxcXFwuKSonKXwoPzpcIig/OlteXCJcXFxcXXxcXFxcLikqXCIpKSlcXHMqKSg/OixcXHMqKD86KCg/OlthLXpBLVpfJF1bXFx3LjokXFwtKl0qKXwoPzpbLStdP1swLTldKlxcLj9bMC05XSsoPzpbZUVdWy0rXT9bMC05XSspPyl8KD86KD86Jyg/OlteJ1xcXFxdfFxcXFwuKSonKXwoPzpcIig/OlteXCJcXFxcXXxcXFxcLikqXCIpKSlcXHMqKSkqKT8pXFwpXFxzKik/KSg/Ol1dfH19KSIsImciKTtmdW5jdGlvbiBsZSh0KXtsZXQgZT0iIjtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7ZSs9dFtuXS5saXRlcmFsfHwiIn1yZXR1cm4gZX1mdW5jdGlvbiBjZSh0KXtsZXQgZT10Lm1hdGNoKC8oW15cc10rPylcKChbXHNcU10qKVwpLyk7aWYoZSl7bGV0IHQ9e21ldGhvZE5hbWU6ZVsxXSxzdGF0aWM6ITAsYXJnczphZX07aWYoZVsyXS50cmltKCkpe3JldHVybihmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIGUuYXJncz10Lm1hcCgoZnVuY3Rpb24odCl7bGV0IG49dWUodCk7cmV0dXJuIG4ubGl0ZXJhbHx8KGUuc3RhdGljPSExKSxufSksdGhpcyksZX0pKGVbMl0ucmVwbGFjZSgvXFwsL2csIiZjb21tYTsiKS5zcGxpdCgiLCIpLHQpfXJldHVybiB0fXJldHVybiBudWxsfWZ1bmN0aW9uIHVlKHQpe2xldCBlPXQudHJpbSgpLnJlcGxhY2UoLyZjb21tYTsvZywiLCIpLnJlcGxhY2UoL1xcKC4pL2csIiQxIiksbj17bmFtZTplLHZhbHVlOiIiLGxpdGVyYWw6ITF9LGk9ZVswXTtzd2l0Y2goIi0iPT09aSYmKGk9ZVsxXSksaT49IjAiJiZpPD0iOSImJihpPSIjIiksaSl7Y2FzZSInIjpjYXNlJyInOm4udmFsdWU9ZS5zbGljZSgxLC0xKSxuLmxpdGVyYWw9ITA7YnJlYWs7Y2FzZSIjIjpuLnZhbHVlPU51bWJlcihlKSxuLmxpdGVyYWw9ITB9cmV0dXJuIG4ubGl0ZXJhbHx8KG4ucm9vdFByb3BlcnR5PSQoZSksbi5zdHJ1Y3R1cmVkPVgoZSksbi5zdHJ1Y3R1cmVkJiYobi53aWxkY2FyZD0iLioiPT1lLnNsaWNlKC0yKSxuLndpbGRjYXJkJiYobi5uYW1lPWUuc2xpY2UoMCwtMikpKSksbn1mdW5jdGlvbiBoZSh0LGUsbil7bGV0IGk9bnQodCxuKTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9ZVtuXSksaX1mdW5jdGlvbiBkZSh0LGUsbixpKXtjb25zdCByPXtpbmRleFNwbGljZXM6aX07RSYmIXQuX292ZXJyaWRlTGVnYWN5VW5kZWZpbmVkJiYoZS5zcGxpY2VzPXIpLHQubm90aWZ5UGF0aChuKyIuc3BsaWNlcyIsciksdC5ub3RpZnlQYXRoKG4rIi5sZW5ndGgiLGUubGVuZ3RoKSxFJiYhdC5fb3ZlcnJpZGVMZWdhY3lVbmRlZmluZWQmJihyLmluZGV4U3BsaWNlcz1bXSl9ZnVuY3Rpb24gcGUodCxlLG4saSxyLG8pe2RlKHQsZSxuLFt7aW5kZXg6aSxhZGRlZENvdW50OnIscmVtb3ZlZDpvLG9iamVjdDplLHR5cGU6InNwbGljZSJ9XSl9Y29uc3QgZmU9SSgodD0+e2NvbnN0IGU9UnQoTXQodCkpO3JldHVybiBjbGFzcyBleHRlbmRzIGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX19pc1Byb3BlcnR5RWZmZWN0c0NsaWVudD0hMH1nZXQgUFJPUEVSVFlfRUZGRUNUX1RZUEVTKCl7cmV0dXJuIER0fV9pbml0aWFsaXplUHJvcGVydGllcygpe3N1cGVyLl9pbml0aWFsaXplUHJvcGVydGllcygpLHRoaXMuX3JlZ2lzdGVySG9zdCgpLHRoaXMuX19kYXRhQ2xpZW50c1JlYWR5PSExLHRoaXMuX19kYXRhUGVuZGluZ0NsaWVudHM9bnVsbCx0aGlzLl9fZGF0YVRvTm90aWZ5PW51bGwsdGhpcy5fX2RhdGFMaW5rZWRQYXRocz1udWxsLHRoaXMuX19kYXRhSGFzUGF0aHM9ITEsdGhpcy5fX2RhdGFDb21wb3VuZFN0b3JhZ2U9dGhpcy5fX2RhdGFDb21wb3VuZFN0b3JhZ2V8fG51bGwsdGhpcy5fX2RhdGFIb3N0PXRoaXMuX19kYXRhSG9zdHx8bnVsbCx0aGlzLl9fZGF0YVRlbXA9e30sdGhpcy5fX2RhdGFDbGllbnRzSW5pdGlhbGl6ZWQ9ITF9X3JlZ2lzdGVySG9zdCgpe2lmKG1lLmxlbmd0aCl7bGV0IHQ9bWVbbWUubGVuZ3RoLTFdO3QuX2VucXVldWVDbGllbnQodGhpcyksdGhpcy5fX2RhdGFIb3N0PXR9fV9pbml0aWFsaXplUHJvdG9Qcm9wZXJ0aWVzKHQpe3RoaXMuX19kYXRhPU9iamVjdC5jcmVhdGUodCksdGhpcy5fX2RhdGFQZW5kaW5nPU9iamVjdC5jcmVhdGUodCksdGhpcy5fX2RhdGFPbGQ9e319X2luaXRpYWxpemVJbnN0YW5jZVByb3BlcnRpZXModCl7bGV0IGU9dGhpc1tEdC5SRUFEX09OTFldO2ZvcihsZXQgbiBpbiB0KWUmJmVbbl18fCh0aGlzLl9fZGF0YVBlbmRpbmc9dGhpcy5fX2RhdGFQZW5kaW5nfHx7fSx0aGlzLl9fZGF0YU9sZD10aGlzLl9fZGF0YU9sZHx8e30sdGhpcy5fX2RhdGFbbl09dGhpcy5fX2RhdGFQZW5kaW5nW25dPXRbbl0pfV9hZGRQcm9wZXJ0eUVmZmVjdCh0LGUsbil7dGhpcy5fY3JlYXRlUHJvcGVydHlBY2Nlc3Nvcih0LGU9PUR0LlJFQURfT05MWSk7bGV0IGk9RnQodGhpcyxlLCEwKVt0XTtpfHwoaT10aGlzW2VdW3RdPVtdKSxpLnB1c2gobil9X3JlbW92ZVByb3BlcnR5RWZmZWN0KHQsZSxuKXtsZXQgaT1GdCh0aGlzLGUsITApW3RdLHI9aS5pbmRleE9mKG4pO3I+PTAmJmkuc3BsaWNlKHIsMSl9X2hhc1Byb3BlcnR5RWZmZWN0KHQsZSl7bGV0IG49dGhpc1tlXTtyZXR1cm4gQm9vbGVhbihuJiZuW3RdKX1faGFzUmVhZE9ubHlFZmZlY3QodCl7cmV0dXJuIHRoaXMuX2hhc1Byb3BlcnR5RWZmZWN0KHQsRHQuUkVBRF9PTkxZKX1faGFzTm90aWZ5RWZmZWN0KHQpe3JldHVybiB0aGlzLl9oYXNQcm9wZXJ0eUVmZmVjdCh0LER0Lk5PVElGWSl9X2hhc1JlZmxlY3RFZmZlY3QodCl7cmV0dXJuIHRoaXMuX2hhc1Byb3BlcnR5RWZmZWN0KHQsRHQuUkVGTEVDVCl9X2hhc0NvbXB1dGVkRWZmZWN0KHQpe3JldHVybiB0aGlzLl9oYXNQcm9wZXJ0eUVmZmVjdCh0LER0LkNPTVBVVEUpfV9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgodCxlLG4saSl7aWYoaXx8JChBcnJheS5pc0FycmF5KHQpP3RbMF06dCkhPT10KXtpZighaSl7bGV0IG49bnQodGhpcyx0KTtpZighKHQ9aXQodGhpcyx0LGUpKXx8IXN1cGVyLl9zaG91bGRQcm9wZXJ0eUNoYW5nZSh0LGUsbikpcmV0dXJuITF9aWYodGhpcy5fX2RhdGFIYXNQYXRocz0hMCx0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkodCxlLG4pKXJldHVybihmdW5jdGlvbiByKHQsZSxuKXtsZXQgaT10Ll9fZGF0YUxpbmtlZFBhdGhzO2lmKGkpe2xldCByO2ZvcihsZXQgbyBpbiBpKXtsZXQgYT1pW29dO1oobyxlKT8ocj1KKG8sYSxlKSx0Ll9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgocixuLCEwLCEwKSk6WihhLGUpJiYocj1KKGEsbyxlKSx0Ll9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgocixuLCEwLCEwKSl9fX0pKHRoaXMsdCxlKSwhMH1lbHNle2lmKHRoaXMuX19kYXRhSGFzQWNjZXNzb3ImJnRoaXMuX19kYXRhSGFzQWNjZXNzb3JbdF0pcmV0dXJuIHRoaXMuX3NldFBlbmRpbmdQcm9wZXJ0eSh0LGUsbik7dGhpc1t0XT1lfXJldHVybiExfV9zZXRVbm1hbmFnZWRQcm9wZXJ0eVRvTm9kZSh0LGUsbil7bj09PXRbZV0mJiJvYmplY3QiIT10eXBlb2Ygbnx8KCJjbGFzc05hbWUiPT09ZSYmKHQ9WSh0KSksdFtlXT1uKX1fc2V0UGVuZGluZ1Byb3BlcnR5KHQsZSxuKXtsZXQgaT10aGlzLl9fZGF0YUhhc1BhdGhzJiZYKHQpO3JldHVybiEhdGhpcy5fc2hvdWxkUHJvcGVydHlDaGFuZ2UodCxlLChpP3RoaXMuX19kYXRhVGVtcDp0aGlzLl9fZGF0YSlbdF0pJiYodGhpcy5fX2RhdGFQZW5kaW5nfHwodGhpcy5fX2RhdGFQZW5kaW5nPXt9LHRoaXMuX19kYXRhT2xkPXt9KSx0IGluIHRoaXMuX19kYXRhT2xkfHwodGhpcy5fX2RhdGFPbGRbdF09dGhpcy5fX2RhdGFbdF0pLGk/dGhpcy5fX2RhdGFUZW1wW3RdPWU6dGhpcy5fX2RhdGFbdF09ZSx0aGlzLl9fZGF0YVBlbmRpbmdbdF09ZSwoaXx8dGhpc1tEdC5OT1RJRlldJiZ0aGlzW0R0Lk5PVElGWV1bdF0pJiYodGhpcy5fX2RhdGFUb05vdGlmeT10aGlzLl9fZGF0YVRvTm90aWZ5fHx7fSx0aGlzLl9fZGF0YVRvTm90aWZ5W3RdPW4pLCEwKX1fc2V0UHJvcGVydHkodCxlKXt0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkodCxlLCEwKSYmdGhpcy5faW52YWxpZGF0ZVByb3BlcnRpZXMoKX1faW52YWxpZGF0ZVByb3BlcnRpZXMoKXt0aGlzLl9fZGF0YVJlYWR5JiZ0aGlzLl9mbHVzaFByb3BlcnRpZXMoKX1fZW5xdWV1ZUNsaWVudCh0KXt0aGlzLl9fZGF0YVBlbmRpbmdDbGllbnRzPXRoaXMuX19kYXRhUGVuZGluZ0NsaWVudHN8fFtdLHQhPT10aGlzJiZ0aGlzLl9fZGF0YVBlbmRpbmdDbGllbnRzLnB1c2godCl9X2ZsdXNoQ2xpZW50cygpe3RoaXMuX19kYXRhQ2xpZW50c1JlYWR5P3RoaXMuX19lbmFibGVPckZsdXNoQ2xpZW50cygpOih0aGlzLl9fZGF0YUNsaWVudHNSZWFkeT0hMCx0aGlzLl9yZWFkeUNsaWVudHMoKSx0aGlzLl9fZGF0YVJlYWR5PSEwKX1fX2VuYWJsZU9yRmx1c2hDbGllbnRzKCl7bGV0IHQ9dGhpcy5fX2RhdGFQZW5kaW5nQ2xpZW50cztpZih0KXt0aGlzLl9fZGF0YVBlbmRpbmdDbGllbnRzPW51bGw7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2xldCBuPXRbZV07bi5fX2RhdGFFbmFibGVkP24uX19kYXRhUGVuZGluZyYmbi5fZmx1c2hQcm9wZXJ0aWVzKCk6bi5fZW5hYmxlUHJvcGVydGllcygpfX19X3JlYWR5Q2xpZW50cygpe3RoaXMuX19lbmFibGVPckZsdXNoQ2xpZW50cygpfXNldFByb3BlcnRpZXModCxlKXtmb3IobGV0IG4gaW4gdCkhZSYmdGhpc1tEdC5SRUFEX09OTFldJiZ0aGlzW0R0LlJFQURfT05MWV1bbl18fHRoaXMuX3NldFBlbmRpbmdQcm9wZXJ0eU9yUGF0aChuLHRbbl0sITApO3RoaXMuX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCl9cmVhZHkoKXt0aGlzLl9mbHVzaFByb3BlcnRpZXMoKSx0aGlzLl9fZGF0YUNsaWVudHNSZWFkeXx8dGhpcy5fZmx1c2hDbGllbnRzKCksdGhpcy5fX2RhdGFQZW5kaW5nJiZ0aGlzLl9mbHVzaFByb3BlcnRpZXMoKX1fcHJvcGVydGllc0NoYW5nZWQodCxlLG4pe2xldCBpLHI9dGhpcy5fX2RhdGFIYXNQYXRoczt0aGlzLl9fZGF0YUhhc1BhdGhzPSExLCR0KHRoaXMsZSxuLHIpLGk9dGhpcy5fX2RhdGFUb05vdGlmeSx0aGlzLl9fZGF0YVRvTm90aWZ5PW51bGwsdGhpcy5fcHJvcGFnYXRlUHJvcGVydHlDaGFuZ2VzKGUsbixyKSx0aGlzLl9mbHVzaENsaWVudHMoKSxWdCh0aGlzLHRoaXNbRHQuUkVGTEVDVF0sZSxuLHIpLFZ0KHRoaXMsdGhpc1tEdC5PQlNFUlZFXSxlLG4sciksaSYmKGZ1bmN0aW9uIG8odCxlLG4saSxyKXtsZXQgbyxhLHM9dFtEdC5OT1RJRlldLGw9T3QrKztmb3IobGV0IGEgaW4gZSllW2FdJiYocyYmVXQodCxzLGwsYSxuLGkscil8fHImJld0KHQsYSxuKSkmJihvPSEwKTtvJiYoYT10Ll9fZGF0YUhvc3QpJiZhLl9pbnZhbGlkYXRlUHJvcGVydGllcyYmYS5faW52YWxpZGF0ZVByb3BlcnRpZXMoKX0pKHRoaXMsaSxlLG4sciksMT09dGhpcy5fX2RhdGFDb3VudGVyJiYodGhpcy5fX2RhdGFUZW1wPXt9KX1fcHJvcGFnYXRlUHJvcGVydHlDaGFuZ2VzKHQsZSxuKXt0aGlzW0R0LlBST1BBR0FURV0mJlZ0KHRoaXMsdGhpc1tEdC5QUk9QQUdBVEVdLHQsZSxuKSx0aGlzLl9fdGVtcGxhdGVJbmZvJiZ0aGlzLl9ydW5FZmZlY3RzRm9yVGVtcGxhdGUodGhpcy5fX3RlbXBsYXRlSW5mbyx0LGUsbil9X3J1bkVmZmVjdHNGb3JUZW1wbGF0ZSh0LGUsbixpKXtjb25zdCByPShlLGkpPT57VnQodGhpcyx0LnByb3BlcnR5RWZmZWN0cyxlLG4saSx0Lm5vZGVMaXN0KTtmb3IobGV0IHI9dC5maXJzdENoaWxkO3I7cj1yLm5leHRTaWJsaW5nKXRoaXMuX3J1bkVmZmVjdHNGb3JUZW1wbGF0ZShyLGUsbixpKX07dC5ydW5FZmZlY3RzP3QucnVuRWZmZWN0cyhyLGUsaSk6cihlLGkpfWxpbmtQYXRocyh0LGUpe3Q9dHQodCksZT10dChlKSx0aGlzLl9fZGF0YUxpbmtlZFBhdGhzPXRoaXMuX19kYXRhTGlua2VkUGF0aHN8fHt9LHRoaXMuX19kYXRhTGlua2VkUGF0aHNbdF09ZX11bmxpbmtQYXRocyh0KXt0PXR0KHQpLHRoaXMuX19kYXRhTGlua2VkUGF0aHMmJmRlbGV0ZSB0aGlzLl9fZGF0YUxpbmtlZFBhdGhzW3RdfW5vdGlmeVNwbGljZXModCxlKXtsZXQgbj17cGF0aDoiIn07ZGUodGhpcyxudCh0aGlzLHQsbiksbi5wYXRoLGUpfWdldCh0LGUpe3JldHVybiBudChlfHx0aGlzLHQpfXNldCh0LGUsbil7bj9pdChuLHQsZSk6dGhpc1tEdC5SRUFEX09OTFldJiZ0aGlzW0R0LlJFQURfT05MWV1bdF18fHRoaXMuX3NldFBlbmRpbmdQcm9wZXJ0eU9yUGF0aCh0LGUsITApJiZ0aGlzLl9pbnZhbGlkYXRlUHJvcGVydGllcygpfXB1c2godCwuLi5lKXtsZXQgbj17cGF0aDoiIn0saT1udCh0aGlzLHQsbikscj1pLmxlbmd0aCxvPWkucHVzaCguLi5lKTtyZXR1cm4gZS5sZW5ndGgmJnBlKHRoaXMsaSxuLnBhdGgscixlLmxlbmd0aCxbXSksb31wb3AodCl7bGV0IGU9e3BhdGg6IiJ9LG49bnQodGhpcyx0LGUpLGk9Qm9vbGVhbihuLmxlbmd0aCkscj1uLnBvcCgpO3JldHVybiBpJiZwZSh0aGlzLG4sZS5wYXRoLG4ubGVuZ3RoLDAsW3JdKSxyfXNwbGljZSh0LGUsbiwuLi5pKXtsZXQgcixvPXtwYXRoOiIifSxhPW50KHRoaXMsdCxvKTtyZXR1cm4gZTwwP2U9YS5sZW5ndGgtTWF0aC5mbG9vcigtZSk6ZSYmKGU9TWF0aC5mbG9vcihlKSkscj0yPT09YXJndW1lbnRzLmxlbmd0aD9hLnNwbGljZShlKTphLnNwbGljZShlLG4sLi4uaSksKGkubGVuZ3RofHxyLmxlbmd0aCkmJnBlKHRoaXMsYSxvLnBhdGgsZSxpLmxlbmd0aCxyKSxyfXNoaWZ0KHQpe2xldCBlPXtwYXRoOiIifSxuPW50KHRoaXMsdCxlKSxpPUJvb2xlYW4obi5sZW5ndGgpLHI9bi5zaGlmdCgpO3JldHVybiBpJiZwZSh0aGlzLG4sZS5wYXRoLDAsMCxbcl0pLHJ9dW5zaGlmdCh0LC4uLmUpe2xldCBuPXtwYXRoOiIifSxpPW50KHRoaXMsdCxuKSxyPWkudW5zaGlmdCguLi5lKTtyZXR1cm4gZS5sZW5ndGgmJnBlKHRoaXMsaSxuLnBhdGgsMCxlLmxlbmd0aCxbXSkscn1ub3RpZnlQYXRoKHQsZSl7bGV0IG47aWYoMT09YXJndW1lbnRzLmxlbmd0aCl7bGV0IGk9e3BhdGg6IiJ9O2U9bnQodGhpcyx0LGkpLG49aS5wYXRofWVsc2Ugbj1BcnJheS5pc0FycmF5KHQpP3R0KHQpOnQ7dGhpcy5fc2V0UGVuZGluZ1Byb3BlcnR5T3JQYXRoKG4sZSwhMCwhMCkmJnRoaXMuX2ludmFsaWRhdGVQcm9wZXJ0aWVzKCl9X2NyZWF0ZVJlYWRPbmx5UHJvcGVydHkodCxlKXt0aGlzLl9hZGRQcm9wZXJ0eUVmZmVjdCh0LER0LlJFQURfT05MWSksZSYmKHRoaXNbIl9zZXQiKyhmdW5jdGlvbiBuKHQpe3JldHVybiB0WzBdLnRvVXBwZXJDYXNlKCkrdC5zdWJzdHJpbmcoMSl9KSh0KV09ZnVuY3Rpb24oZSl7dGhpcy5fc2V0UHJvcGVydHkodCxlKX0pfV9jcmVhdGVQcm9wZXJ0eU9ic2VydmVyKHQsZSxuKXtsZXQgaT17cHJvcGVydHk6dCxtZXRob2Q6ZSxkeW5hbWljRm46Qm9vbGVhbihuKX07dGhpcy5fYWRkUHJvcGVydHlFZmZlY3QodCxEdC5PQlNFUlZFLHtmbjpHdCxpbmZvOmksdHJpZ2dlcjp7bmFtZTp0fX0pLG4mJnRoaXMuX2FkZFByb3BlcnR5RWZmZWN0KGUsRHQuT0JTRVJWRSx7Zm46R3QsaW5mbzppLHRyaWdnZXI6e25hbWU6ZX19KX1fY3JlYXRlTWV0aG9kT2JzZXJ2ZXIodCxlKXtsZXQgbj1jZSh0KTtpZighbil0aHJvdyBuZXcgRXJyb3IoIk1hbGZvcm1lZCBvYnNlcnZlciBleHByZXNzaW9uICciK3QrIiciKTtyZSh0aGlzLG4sRHQuT0JTRVJWRSxvZSxudWxsLGUpfV9jcmVhdGVOb3RpZnlpbmdQcm9wZXJ0eSh0KXt0aGlzLl9hZGRQcm9wZXJ0eUVmZmVjdCh0LER0Lk5PVElGWSx7Zm46WXQsaW5mbzp7ZXZlbnROYW1lOmx0KHQpKyItY2hhbmdlZCIscHJvcGVydHk6dH19KX1fY3JlYXRlUmVmbGVjdGVkUHJvcGVydHkodCl7bGV0IGU9dGhpcy5jb25zdHJ1Y3Rvci5hdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkodCk7Ii0iPT09ZVswXT9jb25zb2xlLndhcm4oIlByb3BlcnR5ICIrdCsiIGNhbm5vdCBiZSByZWZsZWN0ZWQgdG8gYXR0cmlidXRlICIrZSsnIGJlY2F1c2UgIi0iIGlzIG5vdCBhIHZhbGlkIHN0YXJ0aW5nIGF0dHJpYnV0ZSBuYW1lLiBVc2UgYSBsb3dlcmNhc2UgZmlyc3QgbGV0dGVyIGZvciB0aGUgcHJvcGVydHkgaW5zdGVhZC4nKTp0aGlzLl9hZGRQcm9wZXJ0eUVmZmVjdCh0LER0LlJFRkxFQ1Qse2ZuOlh0LGluZm86e2F0dHJOYW1lOmV9fSl9X2NyZWF0ZUNvbXB1dGVkUHJvcGVydHkodCxlLG4pe2xldCBpPWNlKGUpO2lmKCFpKXRocm93IG5ldyBFcnJvcigiTWFsZm9ybWVkIGNvbXB1dGVkIGV4cHJlc3Npb24gJyIrZSsiJyIpO2NvbnN0IHI9cmUodGhpcyxpLER0LkNPTVBVVEUsSnQsdCxuKTtGdCh0aGlzLEJ0KVt0XT1yfV9tYXJzaGFsQXJncyh0LGUsbil7Y29uc3QgaT10aGlzLl9fZGF0YSxyPVtdO2ZvcihsZXQgbz0wLGE9dC5sZW5ndGg7bzxhO28rKyl7bGV0e25hbWU6YSxzdHJ1Y3R1cmVkOnMsd2lsZGNhcmQ6bCx2YWx1ZTpjLGxpdGVyYWw6dX09dFtvXTtpZighdSlpZihsKXtjb25zdCB0PVooYSxlKSxyPWhlKGksbix0P2U6YSk7Yz17cGF0aDp0P2U6YSx2YWx1ZTpyLGJhc2U6dD9udChpLGEpOnJ9fWVsc2UgYz1zP2hlKGksbixhKTppW2FdO2lmKEUmJiF0aGlzLl9vdmVycmlkZUxlZ2FjeVVuZGVmaW5lZCYmdm9pZCAwPT09YyYmdC5sZW5ndGg+MSlyZXR1cm4genQ7cltvXT1jfXJldHVybiByfXN0YXRpYyBhZGRQcm9wZXJ0eUVmZmVjdCh0LGUsbil7dGhpcy5wcm90b3R5cGUuX2FkZFByb3BlcnR5RWZmZWN0KHQsZSxuKX1zdGF0aWMgY3JlYXRlUHJvcGVydHlPYnNlcnZlcih0LGUsbil7dGhpcy5wcm90b3R5cGUuX2NyZWF0ZVByb3BlcnR5T2JzZXJ2ZXIodCxlLG4pfXN0YXRpYyBjcmVhdGVNZXRob2RPYnNlcnZlcih0LGUpe3RoaXMucHJvdG90eXBlLl9jcmVhdGVNZXRob2RPYnNlcnZlcih0LGUpfXN0YXRpYyBjcmVhdGVOb3RpZnlpbmdQcm9wZXJ0eSh0KXt0aGlzLnByb3RvdHlwZS5fY3JlYXRlTm90aWZ5aW5nUHJvcGVydHkodCl9c3RhdGljIGNyZWF0ZVJlYWRPbmx5UHJvcGVydHkodCxlKXt0aGlzLnByb3RvdHlwZS5fY3JlYXRlUmVhZE9ubHlQcm9wZXJ0eSh0LGUpfXN0YXRpYyBjcmVhdGVSZWZsZWN0ZWRQcm9wZXJ0eSh0KXt0aGlzLnByb3RvdHlwZS5fY3JlYXRlUmVmbGVjdGVkUHJvcGVydHkodCl9c3RhdGljIGNyZWF0ZUNvbXB1dGVkUHJvcGVydHkodCxlLG4pe3RoaXMucHJvdG90eXBlLl9jcmVhdGVDb21wdXRlZFByb3BlcnR5KHQsZSxuKX1zdGF0aWMgYmluZFRlbXBsYXRlKHQpe3JldHVybiB0aGlzLnByb3RvdHlwZS5fYmluZFRlbXBsYXRlKHQpfV9iaW5kVGVtcGxhdGUodCxlKXtsZXQgbj10aGlzLmNvbnN0cnVjdG9yLl9wYXJzZVRlbXBsYXRlKHQpLGk9dGhpcy5fX3ByZUJvdW5kVGVtcGxhdGVJbmZvPT1uO2lmKCFpKWZvcihsZXQgdCBpbiBuLnByb3BlcnR5RWZmZWN0cyl0aGlzLl9jcmVhdGVQcm9wZXJ0eUFjY2Vzc29yKHQpO2lmKGUpaWYobj1PYmplY3QuY3JlYXRlKG4pLG4ud2FzUHJlQm91bmQ9aSx0aGlzLl9fdGVtcGxhdGVJbmZvKXtjb25zdCBlPXQuX3BhcmVudFRlbXBsYXRlSW5mb3x8dGhpcy5fX3RlbXBsYXRlSW5mbyxpPWUubGFzdENoaWxkO24ucGFyZW50PWUsZS5sYXN0Q2hpbGQ9bixuLnByZXZpb3VzU2libGluZz1pLGk/aS5uZXh0U2libGluZz1uOmUuZmlyc3RDaGlsZD1ufWVsc2UgdGhpcy5fX3RlbXBsYXRlSW5mbz1uO2Vsc2UgdGhpcy5fX3ByZUJvdW5kVGVtcGxhdGVJbmZvPW47cmV0dXJuIG59c3RhdGljIF9hZGRUZW1wbGF0ZVByb3BlcnR5RWZmZWN0KHQsZSxuKXsodC5ob3N0UHJvcHM9dC5ob3N0UHJvcHN8fHt9KVtlXT0hMDtsZXQgaT10LnByb3BlcnR5RWZmZWN0cz10LnByb3BlcnR5RWZmZWN0c3x8e307KGlbZV09aVtlXXx8W10pLnB1c2gobil9X3N0YW1wVGVtcGxhdGUodCxlKXtlPWV8fHRoaXMuX2JpbmRUZW1wbGF0ZSh0LCEwKSxtZS5wdXNoKHRoaXMpO2xldCBuPXN1cGVyLl9zdGFtcFRlbXBsYXRlKHQsZSk7aWYobWUucG9wKCksZS5ub2RlTGlzdD1uLm5vZGVMaXN0LCFlLndhc1ByZUJvdW5kKXtsZXQgdD1lLmNoaWxkTm9kZXM9W107Zm9yKGxldCBlPW4uZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZyl0LnB1c2goZSl9cmV0dXJuIG4udGVtcGxhdGVJbmZvPWUsKGZ1bmN0aW9uIGkodCxlKXtsZXR7bm9kZUxpc3Q6bixub2RlSW5mb0xpc3Q6aX09ZTtpZihpLmxlbmd0aClmb3IobGV0IGU9MDtlPGkubGVuZ3RoO2UrKyl7bGV0IHI9bltlXSxvPWlbZV0uYmluZGluZ3M7aWYobylmb3IobGV0IGU9MDtlPG8ubGVuZ3RoO2UrKyl7bGV0IG49b1tlXTtuZShyLG4pLGllKHIsdCxuKX1yLl9fZGF0YUhvc3Q9dH19KSh0aGlzLGUpLHRoaXMuX19kYXRhQ2xpZW50c1JlYWR5JiYodGhpcy5fcnVuRWZmZWN0c0ZvclRlbXBsYXRlKGUsdGhpcy5fX2RhdGEsbnVsbCwhMSksdGhpcy5fZmx1c2hDbGllbnRzKCkpLG59X3JlbW92ZUJvdW5kRG9tKHQpe2NvbnN0IGU9dC50ZW1wbGF0ZUluZm8se3ByZXZpb3VzU2libGluZzpuLG5leHRTaWJsaW5nOmkscGFyZW50OnJ9PWU7bj9uLm5leHRTaWJsaW5nPWk6ciYmKHIuZmlyc3RDaGlsZD1pKSxpP2kucHJldmlvdXNTaWJsaW5nPW46ciYmKHIubGFzdENoaWxkPW4pLGUubmV4dFNpYmxpbmc9ZS5wcmV2aW91c1NpYmxpbmc9bnVsbDtsZXQgbz1lLmNoaWxkTm9kZXM7Zm9yKGxldCB0PTA7dDxvLmxlbmd0aDt0Kyspe2xldCBlPW9bdF07WShZKGUpLnBhcmVudE5vZGUpLnJlbW92ZUNoaWxkKGUpfX1zdGF0aWMgX3BhcnNlVGVtcGxhdGVOb2RlKHQsbixpKXtsZXQgcj1lLl9wYXJzZVRlbXBsYXRlTm9kZS5jYWxsKHRoaXMsdCxuLGkpO2lmKHQubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSl7bGV0IGU9dGhpcy5fcGFyc2VCaW5kaW5ncyh0LnRleHRDb250ZW50LG4pO2UmJih0LnRleHRDb250ZW50PWxlKGUpfHwiICIsUXQodGhpcyxuLGksInRleHQiLCJ0ZXh0Q29udGVudCIsZSkscj0hMCl9cmV0dXJuIHJ9c3RhdGljIF9wYXJzZVRlbXBsYXRlTm9kZUF0dHJpYnV0ZSh0LG4saSxyLG8pe2xldCBhPXRoaXMuX3BhcnNlQmluZGluZ3MobyxuKTtpZihhKXtsZXQgZT1yLG89InByb3BlcnR5IjtIdC50ZXN0KHIpP289ImF0dHJpYnV0ZSI6IiQiPT1yW3IubGVuZ3RoLTFdJiYocj1yLnNsaWNlKDAsLTEpLG89ImF0dHJpYnV0ZSIpO2xldCBzPWxlKGEpO3JldHVybiBzJiYiYXR0cmlidXRlIj09byYmKCJjbGFzcyI9PXImJnQuaGFzQXR0cmlidXRlKCJjbGFzcyIpJiYocys9IiAiK3QuZ2V0QXR0cmlidXRlKHIpKSx0LnNldEF0dHJpYnV0ZShyLHMpKSwiYXR0cmlidXRlIj09byYmImRpc2FibGUtdXBncmFkZSQiPT1lJiZ0LnNldEF0dHJpYnV0ZShyLCIiKSwiaW5wdXQiPT09dC5sb2NhbE5hbWUmJiJ2YWx1ZSI9PT1lJiZ0LnNldEF0dHJpYnV0ZShlLCIiKSx0LnJlbW92ZUF0dHJpYnV0ZShlKSwicHJvcGVydHkiPT09byYmKHI9c3QocikpLFF0KHRoaXMsbixpLG8scixhLHMpLCEwfXJldHVybiBlLl9wYXJzZVRlbXBsYXRlTm9kZUF0dHJpYnV0ZS5jYWxsKHRoaXMsdCxuLGkscixvKX1zdGF0aWMgX3BhcnNlVGVtcGxhdGVOZXN0ZWRUZW1wbGF0ZSh0LG4saSl7bGV0IHI9ZS5fcGFyc2VUZW1wbGF0ZU5lc3RlZFRlbXBsYXRlLmNhbGwodGhpcyx0LG4saSk7Y29uc3Qgbz10LnBhcmVudE5vZGUsYT1pLnRlbXBsYXRlSW5mbyxzPSJkb20taWYiPT09by5sb2NhbE5hbWU7QyYmKHN8fCJkb20tcmVwZWF0Ij09PW8ubG9jYWxOYW1lKSYmKG8ucmVtb3ZlQ2hpbGQodCksKGk9aS5wYXJlbnRJbmZvKS50ZW1wbGF0ZUluZm89YSxpLm5vdGVkPSEwLHI9ITEpO2xldCBsPWEuaG9zdFByb3BzO2lmKEEmJnMpbCYmKG4uaG9zdFByb3BzPU9iamVjdC5hc3NpZ24obi5ob3N0UHJvcHN8fHt9LGwpLEN8fChpLnBhcmVudEluZm8ubm90ZWQ9ITApKTtlbHNle2xldCB0PSJ7Ijtmb3IobGV0IGUgaW4gbCl7UXQodGhpcyxuLGksInByb3BlcnR5IiwiX2hvc3RfIitlLFt7bW9kZTp0LHNvdXJjZTplLGRlcGVuZGVuY2llczpbZV0saG9zdFByb3A6ITB9XSl9fXJldHVybiByfXN0YXRpYyBfcGFyc2VCaW5kaW5ncyh0LGUpe2xldCBuLGk9W10scj0wO2Zvcig7bnVsbCE9PShuPXNlLmV4ZWModCkpOyl7bi5pbmRleD5yJiZpLnB1c2goe2xpdGVyYWw6dC5zbGljZShyLG4uaW5kZXgpfSk7bGV0IG89blsxXVswXSxhPUJvb2xlYW4oblsyXSkscz1uWzNdLnRyaW0oKSxsPSExLGM9IiIsdT0tMTsieyI9PW8mJih1PXMuaW5kZXhPZigiOjoiKSk+MCYmKGM9cy5zdWJzdHJpbmcodSsyKSxzPXMuc3Vic3RyaW5nKDAsdSksbD0hMCk7bGV0IGg9Y2UocyksZD1bXTtpZihoKXtsZXR7YXJnczp0LG1ldGhvZE5hbWU6bn09aDtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7bGV0IG49dFtlXTtuLmxpdGVyYWx8fGQucHVzaChuKX1sZXQgaT1lLmR5bmFtaWNGbnM7KGkmJmlbbl18fGguc3RhdGljKSYmKGQucHVzaChuKSxoLmR5bmFtaWNGbj0hMCl9ZWxzZSBkLnB1c2gocyk7aS5wdXNoKHtzb3VyY2U6cyxtb2RlOm8sbmVnYXRlOmEsY3VzdG9tRXZlbnQ6bCxzaWduYXR1cmU6aCxkZXBlbmRlbmNpZXM6ZCxldmVudDpjfSkscj1zZS5sYXN0SW5kZXh9aWYociYmcjx0Lmxlbmd0aCl7bGV0IGU9dC5zdWJzdHJpbmcocik7ZSYmaS5wdXNoKHtsaXRlcmFsOmV9KX1yZXR1cm4gaS5sZW5ndGg/aTpudWxsfXN0YXRpYyBfZXZhbHVhdGVCaW5kaW5nKHQsZSxuLGkscixvKXtsZXQgYTtyZXR1cm4gYT1lLnNpZ25hdHVyZT9vZSh0LG4saSwwLGUuc2lnbmF0dXJlKTpuIT1lLnNvdXJjZT9udCh0LGUuc291cmNlKTpvJiZYKG4pP250KHQsbik6dC5fX2RhdGFbbl0sZS5uZWdhdGUmJihhPSFhKSxhfX19KSksbWU9W107Y29uc3QgZ2U9SSgodD0+e2NvbnN0IGU9eHQodCk7ZnVuY3Rpb24gbih0KXtjb25zdCBlPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtyZXR1cm4gZS5wcm90b3R5cGUgaW5zdGFuY2VvZiByP2U6bnVsbH1mdW5jdGlvbiBpKHQpe2lmKCF0Lmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9fb3duUHJvcGVydGllcyIsdCkpKXtsZXQgZT1udWxsO2lmKHQuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgicHJvcGVydGllcyIsdCkpKXtjb25zdCBuPXQucHJvcGVydGllcztuJiYoZT0oCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmZ1bmN0aW9uIGUodCl7Y29uc3QgZT17fTtmb3IobGV0IG4gaW4gdCl7Y29uc3QgaT10W25dO2Vbbl09ImZ1bmN0aW9uIj09dHlwZW9mIGk/e3R5cGU6aX06aX1yZXR1cm4gZX0pKG4pKX10Ll9fb3duUHJvcGVydGllcz1lfXJldHVybiB0Ll9fb3duUHJvcGVydGllc31jbGFzcyByIGV4dGVuZHMgZXtzdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe2lmKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9fb2JzZXJ2ZWRBdHRyaWJ1dGVzIix0aGlzKSkpe2NvbnN0IHQ9dGhpcy5fcHJvcGVydGllczt0aGlzLl9fb2JzZXJ2ZWRBdHRyaWJ1dGVzPXQ/T2JqZWN0LmtleXModCkubWFwKCh0PT50aGlzLnByb3RvdHlwZS5fYWRkUHJvcGVydHlUb0F0dHJpYnV0ZU1hcCh0KSkpOltdfXJldHVybiB0aGlzLl9fb2JzZXJ2ZWRBdHRyaWJ1dGVzfXN0YXRpYyBmaW5hbGl6ZSgpe2lmKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9fZmluYWxpemVkIix0aGlzKSkpe2NvbnN0IHQ9bih0aGlzKTt0JiZ0LmZpbmFsaXplKCksdGhpcy5fX2ZpbmFsaXplZD0hMCx0aGlzLl9maW5hbGl6ZUNsYXNzKCl9fXN0YXRpYyBfZmluYWxpemVDbGFzcygpe2NvbnN0IHQ9aSh0aGlzKTt0JiZ0aGlzLmNyZWF0ZVByb3BlcnRpZXModCl9c3RhdGljIGdldCBfcHJvcGVydGllcygpe2lmKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9fcHJvcGVydGllcyIsdGhpcykpKXtjb25zdCB0PW4odGhpcyk7dGhpcy5fX3Byb3BlcnRpZXM9T2JqZWN0LmFzc2lnbih7fSx0JiZ0Ll9wcm9wZXJ0aWVzLGkodGhpcykpfXJldHVybiB0aGlzLl9fcHJvcGVydGllc31zdGF0aWMgdHlwZUZvclByb3BlcnR5KHQpe2NvbnN0IGU9dGhpcy5fcHJvcGVydGllc1t0XTtyZXR1cm4gZSYmZS50eXBlfV9pbml0aWFsaXplUHJvcGVydGllcygpe3RoaXMuY29uc3RydWN0b3IuZmluYWxpemUoKSxzdXBlci5faW5pdGlhbGl6ZVByb3BlcnRpZXMoKX1jb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrJiZzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuX2VuYWJsZVByb3BlcnRpZXMoKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrJiZzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpfX1yZXR1cm4gcn0pKSxfZT13aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5jc3NCdWlsZCx5ZT1JKCh0PT57Y29uc3QgZT1nZShmZSh0KSk7ZnVuY3Rpb24gbih0LGUsbixpKXtuLmNvbXB1dGVkJiYobi5yZWFkT25seT0hMCksbi5jb21wdXRlZCYmKHQuX2hhc1JlYWRPbmx5RWZmZWN0KGUpP2NvbnNvbGUud2FybihgQ2Fubm90IHJlZGVmaW5lIGNvbXB1dGVkIHByb3BlcnR5ICcke2V9Jy5gKTp0Ll9jcmVhdGVDb21wdXRlZFByb3BlcnR5KGUsbi5jb21wdXRlZCxpKSksbi5yZWFkT25seSYmIXQuX2hhc1JlYWRPbmx5RWZmZWN0KGUpP3QuX2NyZWF0ZVJlYWRPbmx5UHJvcGVydHkoZSwhbi5jb21wdXRlZCk6ITE9PT1uLnJlYWRPbmx5JiZ0Ll9oYXNSZWFkT25seUVmZmVjdChlKSYmY29uc29sZS53YXJuKGBDYW5ub3QgbWFrZSByZWFkT25seSBwcm9wZXJ0eSAnJHtlfScgbm9uLXJlYWRPbmx5LmApLG4ucmVmbGVjdFRvQXR0cmlidXRlJiYhdC5faGFzUmVmbGVjdEVmZmVjdChlKT90Ll9jcmVhdGVSZWZsZWN0ZWRQcm9wZXJ0eShlKTohMT09PW4ucmVmbGVjdFRvQXR0cmlidXRlJiZ0Ll9oYXNSZWZsZWN0RWZmZWN0KGUpJiZjb25zb2xlLndhcm4oYENhbm5vdCBtYWtlIHJlZmxlY3RlZCBwcm9wZXJ0eSAnJHtlfScgbm9uLXJlZmxlY3RlZC5gKSxuLm5vdGlmeSYmIXQuX2hhc05vdGlmeUVmZmVjdChlKT90Ll9jcmVhdGVOb3RpZnlpbmdQcm9wZXJ0eShlKTohMT09PW4ubm90aWZ5JiZ0Ll9oYXNOb3RpZnlFZmZlY3QoZSkmJmNvbnNvbGUud2FybihgQ2Fubm90IG1ha2Ugbm90aWZ5IHByb3BlcnR5ICcke2V9JyBub24tbm90aWZ5LmApLG4ub2JzZXJ2ZXImJnQuX2NyZWF0ZVByb3BlcnR5T2JzZXJ2ZXIoZSxuLm9ic2VydmVyLGlbbi5vYnNlcnZlcl0pLHQuX2FkZFByb3BlcnR5VG9BdHRyaWJ1dGVNYXAoZSl9ZnVuY3Rpb24gaSh0LGUsbixpKXtpZighX2Upe2NvbnN0IHI9ZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlIiksbz1HKGUpLGE9KGZ1bmN0aW9uIHIodCl7bGV0IGU9Rih0KTtyZXR1cm4gZT9XKGUpOltdfSkobikscz1lLmNvbnRlbnQuZmlyc3RFbGVtZW50Q2hpbGQ7Zm9yKGxldCBuPTA7bjxhLmxlbmd0aDtuKyspe2xldCByPWFbbl07ci50ZXh0Q29udGVudD10Ll9wcm9jZXNzU3R5bGVUZXh0KHIudGV4dENvbnRlbnQsaSksZS5jb250ZW50Lmluc2VydEJlZm9yZShyLHMpfWxldCBsPTA7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2xldCBuPW9bZV0sYT1yW2xdO2EhPT1uPyhuPW4uY2xvbmVOb2RlKCEwKSxhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG4sYSkpOmwrKyxuLnRleHRDb250ZW50PXQuX3Byb2Nlc3NTdHlsZVRleHQobi50ZXh0Q29udGVudCxpKX19aWYod2luZG93LlNoYWR5Q1NTJiZ3aW5kb3cuU2hhZHlDU1MucHJlcGFyZVRlbXBsYXRlKGUsbiksUCYmX2UmJmcpe2NvbnN0IG49ZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlIik7aWYobil7bGV0IGU9IiI7QXJyYXkuZnJvbShuKS5mb3JFYWNoKCh0PT57ZSs9dC50ZXh0Q29udGVudCx0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCl9KSksdC5fc3R5bGVTaGVldD1uZXcgQ1NTU3R5bGVTaGVldCx0Ll9zdHlsZVNoZWV0LnJlcGxhY2VTeW5jKGUpfX19cmV0dXJuIGNsYXNzIGV4dGVuZHMgZXtzdGF0aWMgZ2V0IHBvbHltZXJFbGVtZW50VmVyc2lvbigpe3JldHVybiIzLjQuMSJ9c3RhdGljIF9maW5hbGl6ZUNsYXNzKCl7ZS5fZmluYWxpemVDbGFzcy5jYWxsKHRoaXMpO2NvbnN0IHQ9KGZ1bmN0aW9uIG4odCl7cmV0dXJuIHQuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgiX19vd25PYnNlcnZlcnMiLHQpKXx8KHQuX19vd25PYnNlcnZlcnM9dC5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJvYnNlcnZlcnMiLHQpKT90Lm9ic2VydmVyczpudWxsKSx0Ll9fb3duT2JzZXJ2ZXJzfSkodGhpcyk7dCYmdGhpcy5jcmVhdGVPYnNlcnZlcnModCx0aGlzLl9wcm9wZXJ0aWVzKSx0aGlzLl9wcmVwYXJlVGVtcGxhdGUoKX1zdGF0aWMgX3ByZXBhcmVUZW1wbGF0ZSgpe2xldCB0PXRoaXMudGVtcGxhdGU7dCYmKCJzdHJpbmciPT10eXBlb2YgdD8oY29uc29sZS5lcnJvcigidGVtcGxhdGUgZ2V0dGVyIG11c3QgcmV0dXJuIEhUTUxUZW1wbGF0ZUVsZW1lbnQiKSx0PW51bGwpOnd8fCh0PXQuY2xvbmVOb2RlKCEwKSkpLHRoaXMucHJvdG90eXBlLl90ZW1wbGF0ZT10fXN0YXRpYyBjcmVhdGVQcm9wZXJ0aWVzKHQpe2ZvcihsZXQgZSBpbiB0KW4odGhpcy5wcm90b3R5cGUsZSx0W2VdLHQpfXN0YXRpYyBjcmVhdGVPYnNlcnZlcnModCxlKXtjb25zdCBuPXRoaXMucHJvdG90eXBlO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKW4uX2NyZWF0ZU1ldGhvZE9ic2VydmVyKHRbaV0sZSl9c3RhdGljIGdldCB0ZW1wbGF0ZSgpe2lmKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl90ZW1wbGF0ZSIsdGhpcykpKXtjb25zdCB0PXRoaXMucHJvdG90eXBlLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl90ZW1wbGF0ZSIsdGhpcy5wcm90b3R5cGUpKT90aGlzLnByb3RvdHlwZS5fdGVtcGxhdGU6dm9pZCAwO3RoaXMuX3RlbXBsYXRlPXZvaWQgMCE9PXQ/dDp0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoImlzIix0aGlzKSkmJihmdW5jdGlvbiBlKHQpe2xldCBlPW51bGw7aWYodCYmKCFifHx4KSYmKGU9Qi5pbXBvcnQodCwidGVtcGxhdGUiKSxiJiYhZSkpdGhyb3cgbmV3IEVycm9yKGBzdHJpY3RUZW1wbGF0ZVBvbGljeTogZXhwZWN0aW5nIGRvbS1tb2R1bGUgb3IgbnVsbCB0ZW1wbGF0ZSBmb3IgJHt0fWApO3JldHVybiBlfSkodGhpcy5pcyl8fE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzLnByb3RvdHlwZSkuY29uc3RydWN0b3IudGVtcGxhdGV9cmV0dXJuIHRoaXMuX3RlbXBsYXRlfXN0YXRpYyBzZXQgdGVtcGxhdGUodCl7dGhpcy5fdGVtcGxhdGU9dH1zdGF0aWMgZ2V0IGltcG9ydFBhdGgoKXtpZighdGhpcy5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJfaW1wb3J0UGF0aCIsdGhpcykpKXtjb25zdCB0PXRoaXMuaW1wb3J0TWV0YTtpZih0KXRoaXMuX2ltcG9ydFBhdGg9Zih0LnVybCk7ZWxzZXtjb25zdCB0PUIuaW1wb3J0KHRoaXMuaXMpO3RoaXMuX2ltcG9ydFBhdGg9dCYmdC5hc3NldHBhdGh8fE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzLnByb3RvdHlwZSkuY29uc3RydWN0b3IuaW1wb3J0UGF0aH19cmV0dXJuIHRoaXMuX2ltcG9ydFBhdGh9Y29uc3RydWN0b3IoKXtzdXBlcigpfV9pbml0aWFsaXplUHJvcGVydGllcygpe3RoaXMuY29uc3RydWN0b3IuZmluYWxpemUoKSx0aGlzLmNvbnN0cnVjdG9yLl9maW5hbGl6ZVRlbXBsYXRlKHRoaXMubG9jYWxOYW1lKSxzdXBlci5faW5pdGlhbGl6ZVByb3BlcnRpZXMoKSx0aGlzLnJvb3RQYXRoPV8sdGhpcy5pbXBvcnRQYXRoPXRoaXMuY29uc3RydWN0b3IuaW1wb3J0UGF0aDtsZXQgdD0oZnVuY3Rpb24gZSh0KXtpZighdC5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJfX3Byb3BlcnR5RGVmYXVsdHMiLHQpKSl7dC5fX3Byb3BlcnR5RGVmYXVsdHM9bnVsbDtsZXQgZT10Ll9wcm9wZXJ0aWVzO2ZvcihsZXQgbiBpbiBlKXtsZXQgaT1lW25dOyJ2YWx1ZSJpbiBpJiYodC5fX3Byb3BlcnR5RGVmYXVsdHM9dC5fX3Byb3BlcnR5RGVmYXVsdHN8fHt9LHQuX19wcm9wZXJ0eURlZmF1bHRzW25dPWkpfX1yZXR1cm4gdC5fX3Byb3BlcnR5RGVmYXVsdHN9KSh0aGlzLmNvbnN0cnVjdG9yKTtpZih0KWZvcihsZXQgZSBpbiB0KXtsZXQgbj10W2VdO2lmKHRoaXMuX2NhbkFwcGx5UHJvcGVydHlEZWZhdWx0KGUpKXtsZXQgdD0iZnVuY3Rpb24iPT10eXBlb2Ygbi52YWx1ZT9uLnZhbHVlLmNhbGwodGhpcyk6bi52YWx1ZTt0aGlzLl9oYXNBY2Nlc3NvcihlKT90aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkoZSx0LCEwKTp0aGlzW2VdPXR9fX1fY2FuQXBwbHlQcm9wZXJ0eURlZmF1bHQodCl7cmV0dXJuIXRoaXMuaGFzT3duUHJvcGVydHkodCl9c3RhdGljIF9wcm9jZXNzU3R5bGVUZXh0KHQsZSl7cmV0dXJuIHAodCxlKX1zdGF0aWMgX2ZpbmFsaXplVGVtcGxhdGUodCl7Y29uc3QgZT10aGlzLnByb3RvdHlwZS5fdGVtcGxhdGU7aWYoZSYmIWUuX19wb2x5bWVyRmluYWxpemVkKXtlLl9fcG9seW1lckZpbmFsaXplZD0hMDtjb25zdCBuPXRoaXMuaW1wb3J0UGF0aDtpKHRoaXMsZSx0LG4/ZChuKToiIiksdGhpcy5wcm90b3R5cGUuX2JpbmRUZW1wbGF0ZShlKX19Y29ubmVjdGVkQ2FsbGJhY2soKXt3aW5kb3cuU2hhZHlDU1MmJnRoaXMuX3RlbXBsYXRlJiZ3aW5kb3cuU2hhZHlDU1Muc3R5bGVFbGVtZW50KHRoaXMpLHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCl9cmVhZHkoKXt0aGlzLl90ZW1wbGF0ZSYmKHRoaXMucm9vdD10aGlzLl9zdGFtcFRlbXBsYXRlKHRoaXMuX3RlbXBsYXRlKSx0aGlzLiQ9dGhpcy5yb290LiQpLHN1cGVyLnJlYWR5KCl9X3JlYWR5Q2xpZW50cygpe3RoaXMuX3RlbXBsYXRlJiYodGhpcy5yb290PXRoaXMuX2F0dGFjaERvbSh0aGlzLnJvb3QpKSxzdXBlci5fcmVhZHlDbGllbnRzKCl9X2F0dGFjaERvbSh0KXtjb25zdCBlPVkodGhpcyk7aWYoZS5hdHRhY2hTaGFkb3cpcmV0dXJuIHQ/KGUuc2hhZG93Um9vdHx8KGUuYXR0YWNoU2hhZG93KHttb2RlOiJvcGVuIixzaGFkeVVwZ3JhZGVGcmFnbWVudDp0fSksZS5zaGFkb3dSb290LmFwcGVuZENoaWxkKHQpLHRoaXMuY29uc3RydWN0b3IuX3N0eWxlU2hlZXQmJihlLnNoYWRvd1Jvb3QuYWRvcHRlZFN0eWxlU2hlZXRzPVt0aGlzLmNvbnN0cnVjdG9yLl9zdHlsZVNoZWV0XSkpLE0mJndpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLmZsdXNoSW5pdGlhbChlLnNoYWRvd1Jvb3QpLGUuc2hhZG93Um9vdCk6bnVsbDt0aHJvdyBuZXcgRXJyb3IoIlNoYWRvd0RPTSBub3QgYXZhaWxhYmxlLiBQb2x5bWVyRWxlbWVudCBjYW4gY3JlYXRlIGRvbSBhcyBjaGlsZHJlbiBpbnN0ZWFkIG9mIGluIFNoYWRvd0RPTSBieSBzZXR0aW5nIGB0aGlzLnJvb3QgPSB0aGlzO2AgYmVmb3JlIGByZWFkeWAuIil9dXBkYXRlU3R5bGVzKHQpe3dpbmRvdy5TaGFkeUNTUyYmd2luZG93LlNoYWR5Q1NTLnN0eWxlU3VidHJlZSh0aGlzLHQpfXJlc29sdmVVcmwodCxlKXtyZXR1cm4hZSYmdGhpcy5pbXBvcnRQYXRoJiYoZT1kKHRoaXMuaW1wb3J0UGF0aCkpLGQodCxlKX1zdGF0aWMgX3BhcnNlVGVtcGxhdGVDb250ZW50KHQsbixpKXtyZXR1cm4gbi5keW5hbWljRm5zPW4uZHluYW1pY0Zuc3x8dGhpcy5fcHJvcGVydGllcyxlLl9wYXJzZVRlbXBsYXRlQ29udGVudC5jYWxsKHRoaXMsdCxuLGkpfXN0YXRpYyBfYWRkVGVtcGxhdGVQcm9wZXJ0eUVmZmVjdCh0LG4saSl7cmV0dXJuIVN8fG4gaW4gdGhpcy5fcHJvcGVydGllc3x8aS5pbmZvLnBhcnQuc2lnbmF0dXJlJiZpLmluZm8ucGFydC5zaWduYXR1cmUuc3RhdGljfHxpLmluZm8ucGFydC5ob3N0UHJvcHx8dC5uZXN0ZWRUZW1wbGF0ZXx8Y29uc29sZS53YXJuKGBQcm9wZXJ0eSAnJHtufScgdXNlZCBpbiB0ZW1wbGF0ZSBidXQgbm90IGRlY2xhcmVkIGluICdwcm9wZXJ0aWVzJzsgYXR0cmlidXRlIHdpbGwgbm90IGJlIG9ic2VydmVkLmApLGUuX2FkZFRlbXBsYXRlUHJvcGVydHlFZmZlY3QuY2FsbCh0aGlzLHQsbixpKX19fSkpOwovKioKICAgICAqIEBmaWxlb3ZlcnZpZXcKICAgICAqIEBzdXBwcmVzcyB7Y2hlY2tQcm90b3R5cGFsVHlwZXN9CiAgICAgKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgICogVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZAogICAgICogYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heQogICAgICogYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieQogICAgICogR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUAogICAgICogcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgICovCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNsYXNzIHZle2NvbnN0cnVjdG9yKHQpe3RoaXMudmFsdWU9dC50b1N0cmluZygpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudmFsdWV9fWZ1bmN0aW9uIGJlKHQpe2lmKHQgaW5zdGFuY2VvZiBIVE1MVGVtcGxhdGVFbGVtZW50KXJldHVybiB0LmlubmVySFRNTDtpZih0IGluc3RhbmNlb2YgdmUpcmV0dXJuKGZ1bmN0aW9uIGUodCl7aWYodCBpbnN0YW5jZW9mIHZlKXJldHVybiB0LnZhbHVlO3Rocm93IG5ldyBFcnJvcihgbm9uLWxpdGVyYWwgdmFsdWUgcGFzc2VkIHRvIFBvbHltZXIncyBodG1sTGl0ZXJhbCBmdW5jdGlvbjogJHt0fWApfSkodCk7dGhyb3cgbmV3IEVycm9yKGBub24tdGVtcGxhdGUgdmFsdWUgcGFzc2VkIHRvIFBvbHltZXIncyBodG1sIGZ1bmN0aW9uOiAke3R9YCl9Y29uc3QgeGU9ZnVuY3Rpb24gdChlLC4uLm4pe2NvbnN0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtyZXR1cm4gaS5pbm5lckhUTUw9bi5yZWR1Y2UoKCh0LG4saSk9PnQrYmUobikrZVtpKzFdKSxlWzBdKSxpfSx3ZT15ZShIVE1MRWxlbWVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovdmFyIFNlPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6e307ZnVuY3Rpb24gTWUodCl7aWYodC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLGkuZ2V0P2k6e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSl9KSksZX12YXIgRWUsVGUsQ2U9e2V4cG9ydHM6e319OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBMb2Rhc2ggPGh0dHBzOi8vbG9kYXNoLmNvbS8+CiAgICAgKiBDb3B5cmlnaHQgT3BlbkpTIEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycyA8aHR0cHM6Ly9vcGVuanNmLm9yZy8+CiAgICAgKiBSZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZSA8aHR0cHM6Ly9sb2Rhc2guY29tL2xpY2Vuc2U+CiAgICAgKiBCYXNlZCBvbiBVbmRlcnNjb3JlLmpzIDEuOC4zIDxodHRwOi8vdW5kZXJzY29yZWpzLm9yZy9MSUNFTlNFPgogICAgICogQ29weXJpZ2h0IEplcmVteSBBc2hrZW5hcywgRG9jdW1lbnRDbG91ZCBhbmQgSW52ZXN0aWdhdGl2ZSBSZXBvcnRlcnMgJiBFZGl0b3JzCiAgICAgKi9FZT1DZSxUZT1DZS5leHBvcnRzLGZ1bmN0aW9uKCl7dmFyIHQsZT0iRXhwZWN0ZWQgYSBmdW5jdGlvbiIsbj0iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIsaT0iX19sb2Rhc2hfcGxhY2Vob2xkZXJfXyIscj0xNixvPTMyLGE9NjQscz0xMjgsbD0yNTYsYz0xLzAsdT05MDA3MTk5MjU0NzQwOTkxLGg9TmFOLGQ9NDI5NDk2NzI5NSxwPVtbImFyeSIsc10sWyJiaW5kIiwxXSxbImJpbmRLZXkiLDJdLFsiY3VycnkiLDhdLFsiY3VycnlSaWdodCIscl0sWyJmbGlwIiw1MTJdLFsicGFydGlhbCIsb10sWyJwYXJ0aWFsUmlnaHQiLGFdLFsicmVhcmciLGxdXSxmPSJbb2JqZWN0IEFyZ3VtZW50c10iLG09IltvYmplY3QgQXJyYXldIixnPSJbb2JqZWN0IEJvb2xlYW5dIixfPSJbb2JqZWN0IERhdGVdIix5PSJbb2JqZWN0IEVycm9yXSIsdj0iW29iamVjdCBGdW5jdGlvbl0iLGI9IltvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dIix4PSJbb2JqZWN0IE1hcF0iLHc9IltvYmplY3QgTnVtYmVyXSIsUz0iW29iamVjdCBPYmplY3RdIixNPSJbb2JqZWN0IFByb21pc2VdIixFPSJbb2JqZWN0IFJlZ0V4cF0iLFQ9IltvYmplY3QgU2V0XSIsQz0iW29iamVjdCBTdHJpbmddIixBPSJbb2JqZWN0IFN5bWJvbF0iLGs9IltvYmplY3QgV2Vha01hcF0iLEw9IltvYmplY3QgQXJyYXlCdWZmZXJdIixQPSJbb2JqZWN0IERhdGFWaWV3XSIsTj0iW29iamVjdCBGbG9hdDMyQXJyYXldIixJPSJbb2JqZWN0IEZsb2F0NjRBcnJheV0iLFI9IltvYmplY3QgSW50OEFycmF5XSIsTz0iW29iamVjdCBJbnQxNkFycmF5XSIsej0iW29iamVjdCBJbnQzMkFycmF5XSIsRD0iW29iamVjdCBVaW50OEFycmF5XSIsQj0iW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iLEg9IltvYmplY3QgVWludDE2QXJyYXldIixGPSJbb2JqZWN0IFVpbnQzMkFycmF5XSIsVj0vXGJfX3AgXCs9ICcnOy9nLFU9L1xiKF9fcCBcKz0pICcnIFwrL2csaj0vKF9fZVwoLio/XCl8XGJfX3RcKSkgXCtcbicnOy9nLEc9LyYoPzphbXB8bHR8Z3R8cXVvdHwjMzkpOy9nLFc9L1smPD4iJ10vZyxxPVJlZ0V4cChHLnNvdXJjZSksWT1SZWdFeHAoVy5zb3VyY2UpLFg9LzwlLShbXHNcU10rPyklPi9nLCQ9LzwlKFtcc1xTXSs/KSU+L2csSz0vPCU9KFtcc1xTXSs/KSU+L2csWj0vXC58XFsoPzpbXltcXV0qfChbIiddKSg/Oig/IVwxKVteXFxdfFxcLikqP1wxKVxdLyxKPS9eXHcqJC8sUT0vW14uW1xdXSt8XFsoPzooLT9cZCsoPzpcLlxkKyk/KXwoWyInXSkoKD86KD8hXDIpW15cXF18XFwuKSo/KVwyKVxdfCg/PSg/OlwufFxbXF0pKD86XC58XFtcXXwkKSkvZyx0dD0vW1xcXiQuKis/KClbXF17fXxdL2csZXQ9UmVnRXhwKHR0LnNvdXJjZSksbnQ9L15ccysvLGl0PS9ccy8scnQ9L1x7KD86XG5cL1wqIFxbd3JhcHBlZCB3aXRoIC4rXF0gXCpcLyk/XG4/LyxvdD0vXHtcblwvXCogXFt3cmFwcGVkIHdpdGggKC4rKVxdIFwqLyxhdD0vLD8gJiAvLHN0PS9bXlx4MDAtXHgyZlx4M2EtXHg0MFx4NWItXHg2MFx4N2ItXHg3Zl0rL2csbHQ9L1soKT0se31cW1xdXC9cc10vLGN0PS9cXChcXCk/L2csdXQ9L1wkXHsoW15cXH1dKig/OlxcLlteXFx9XSopKilcfS9nLGh0PS9cdyokLyxkdD0vXlstK10weFswLTlhLWZdKyQvaSxwdD0vXjBiWzAxXSskL2ksZnQ9L15cW29iamVjdCAuKz9Db25zdHJ1Y3RvclxdJC8sbXQ9L14wb1swLTddKyQvaSxndD0vXig/OjB8WzEtOV1cZCopJC8sX3Q9L1tceGMwLVx4ZDZceGQ4LVx4ZjZceGY4LVx4ZmZcdTAxMDAtXHUwMTdmXS9nLHl0PS8oJF4pLyx2dD0vWydcblxyXHUyMDI4XHUyMDI5XFxdL2csYnQ9IlxcdTAzMDAtXFx1MDM2ZlxcdWZlMjAtXFx1ZmUyZlxcdTIwZDAtXFx1MjBmZiIseHQ9IlxcdTI3MDAtXFx1MjdiZiIsd3Q9ImEtelxceGRmLVxceGY2XFx4ZjgtXFx4ZmYiLFN0PSJBLVpcXHhjMC1cXHhkNlxceGQ4LVxceGRlIixNdD0iXFx1ZmUwZVxcdWZlMGYiLEV0PSJcXHhhY1xceGIxXFx4ZDdcXHhmN1xceDAwLVxceDJmXFx4M2EtXFx4NDBcXHg1Yi1cXHg2MFxceDdiLVxceGJmXFx1MjAwMC1cXHUyMDZmIFxcdFxceDBiXFxmXFx4YTBcXHVmZWZmXFxuXFxyXFx1MjAyOFxcdTIwMjlcXHUxNjgwXFx1MTgwZVxcdTIwMDBcXHUyMDAxXFx1MjAwMlxcdTIwMDNcXHUyMDA0XFx1MjAwNVxcdTIwMDZcXHUyMDA3XFx1MjAwOFxcdTIwMDlcXHUyMDBhXFx1MjAyZlxcdTIwNWZcXHUzMDAwIixUdD0iWyfigJldIixDdD0iW1xcdWQ4MDAtXFx1ZGZmZl0iLEF0PSJbIitFdCsiXSIsa3Q9IlsiK2J0KyJdIixMdD0iXFxkKyIsUHQ9IltcXHUyNzAwLVxcdTI3YmZdIixOdD0iWyIrd3QrIl0iLEl0PSJbXlxcdWQ4MDAtXFx1ZGZmZiIrRXQrTHQreHQrd3QrU3QrIl0iLFJ0PSJcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl0iLE90PSJbXlxcdWQ4MDAtXFx1ZGZmZl0iLHp0PSIoPzpcXHVkODNjW1xcdWRkZTYtXFx1ZGRmZl0pezJ9IixEdD0iW1xcdWQ4MDAtXFx1ZGJmZl1bXFx1ZGMwMC1cXHVkZmZmXSIsQnQ9IlsiK1N0KyJdIixIdD0iKD86IitOdCsifCIrSXQrIikiLEZ0PSIoPzoiK0J0KyJ8IitJdCsiKSIsVnQ9Iig/Olsn4oCZXSg/OmR8bGx8bXxyZXxzfHR8dmUpKT8iLFV0PSIoPzpbJ+KAmV0oPzpEfExMfE18UkV8U3xUfFZFKSk/IixqdD0iKD86IitrdCsifCIrUnQrIik/IixHdD0iW1xcdWZlMGVcXHVmZTBmXT8iLFd0PUd0K2p0KyIoPzpcXHUyMDBkKD86IitbT3QsenQsRHRdLmpvaW4oInwiKSsiKSIrR3QranQrIikqIixxdD0iKD86IitbUHQsenQsRHRdLmpvaW4oInwiKSsiKSIrV3QsWXQ9Iig/OiIrW090K2t0KyI/IixrdCx6dCxEdCxDdF0uam9pbigifCIpKyIpIixYdD1SZWdFeHAoVHQsImciKSwkdD1SZWdFeHAoa3QsImciKSxLdD1SZWdFeHAoUnQrIig/PSIrUnQrIil8IitZdCtXdCwiZyIpLFp0PVJlZ0V4cChbQnQrIj8iK050KyIrIitWdCsiKD89IitbQXQsQnQsIiQiXS5qb2luKCJ8IikrIikiLEZ0KyIrIitVdCsiKD89IitbQXQsQnQrSHQsIiQiXS5qb2luKCJ8IikrIikiLEJ0KyI/IitIdCsiKyIrVnQsQnQrIisiK1V0LCJcXGQqKD86MVNUfDJORHwzUkR8KD8hWzEyM10pXFxkVEgpKD89XFxifFthLXpfXSkiLCJcXGQqKD86MXN0fDJuZHwzcmR8KD8hWzEyM10pXFxkdGgpKD89XFxifFtBLVpfXSkiLEx0LHF0XS5qb2luKCJ8IiksImciKSxKdD1SZWdFeHAoIltcXHUyMDBkXFx1ZDgwMC1cXHVkZmZmIitidCtNdCsiXSIpLFF0PS9bYS16XVtBLVpdfFtBLVpdezJ9W2Etel18WzAtOV1bYS16QS1aXXxbYS16QS1aXVswLTldfFteYS16QS1aMC05IF0vLHRlPVsiQXJyYXkiLCJCdWZmZXIiLCJEYXRhVmlldyIsIkRhdGUiLCJFcnJvciIsIkZsb2F0MzJBcnJheSIsIkZsb2F0NjRBcnJheSIsIkZ1bmN0aW9uIiwiSW50OEFycmF5IiwiSW50MTZBcnJheSIsIkludDMyQXJyYXkiLCJNYXAiLCJNYXRoIiwiT2JqZWN0IiwiUHJvbWlzZSIsIlJlZ0V4cCIsIlNldCIsIlN0cmluZyIsIlN5bWJvbCIsIlR5cGVFcnJvciIsIlVpbnQ4QXJyYXkiLCJVaW50OENsYW1wZWRBcnJheSIsIlVpbnQxNkFycmF5IiwiVWludDMyQXJyYXkiLCJXZWFrTWFwIiwiXyIsImNsZWFyVGltZW91dCIsImlzRmluaXRlIiwicGFyc2VJbnQiLCJzZXRUaW1lb3V0Il0sZWU9LTEsbmU9e307bmVbTl09bmVbSV09bmVbUl09bmVbT109bmVbel09bmVbRF09bmVbQl09bmVbSF09bmVbRl09ITAsbmVbZl09bmVbbV09bmVbTF09bmVbZ109bmVbUF09bmVbX109bmVbeV09bmVbdl09bmVbeF09bmVbd109bmVbU109bmVbRV09bmVbVF09bmVbQ109bmVba109ITE7dmFyIGllPXt9O2llW2ZdPWllW21dPWllW0xdPWllW1BdPWllW2ddPWllW19dPWllW05dPWllW0ldPWllW1JdPWllW09dPWllW3pdPWllW3hdPWllW3ddPWllW1NdPWllW0VdPWllW1RdPWllW0NdPWllW0FdPWllW0RdPWllW0JdPWllW0hdPWllW0ZdPSEwLGllW3ldPWllW3ZdPWllW2tdPSExO3ZhciByZT17IlxcIjoiXFwiLCInIjoiJyIsIlxuIjoibiIsIlxyIjoiciIsIlx1MjAyOCI6InUyMDI4IiwiXHUyMDI5IjoidTIwMjkifSxvZT1wYXJzZUZsb2F0LGFlPXBhcnNlSW50LHNlPSJvYmplY3QiPT10eXBlb2YgU2UmJlNlJiZTZS5PYmplY3Q9PT1PYmplY3QmJlNlLGxlPSJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGYsY2U9c2V8fGxlfHxGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpLHVlPVRlJiYhVGUubm9kZVR5cGUmJlRlLGhlPXVlJiZFZSYmIUVlLm5vZGVUeXBlJiZFZSxkZT1oZSYmaGUuZXhwb3J0cz09PXVlLHBlPWRlJiZzZS5wcm9jZXNzLGZlPShmdW5jdGlvbigpe3RyeXt2YXIgdD1oZSYmaGUucmVxdWlyZSYmaGUucmVxdWlyZSgidXRpbCIpLnR5cGVzO3JldHVybiB0fHxwZSYmcGUuYmluZGluZyYmcGUuYmluZGluZygidXRpbCIpfWNhdGNoKHQpe319KSgpLG1lPWZlJiZmZS5pc0FycmF5QnVmZmVyLGdlPWZlJiZmZS5pc0RhdGUsX2U9ZmUmJmZlLmlzTWFwLHllPWZlJiZmZS5pc1JlZ0V4cCx2ZT1mZSYmZmUuaXNTZXQsYmU9ZmUmJmZlLmlzVHlwZWRBcnJheTtmdW5jdGlvbiB4ZSh0LGUsbil7c3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHQuY2FsbChlKTtjYXNlIDE6cmV0dXJuIHQuY2FsbChlLG5bMF0pO2Nhc2UgMjpyZXR1cm4gdC5jYWxsKGUsblswXSxuWzFdKTtjYXNlIDM6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSxuWzJdKX1yZXR1cm4gdC5hcHBseShlLG4pfWZ1bmN0aW9uIHdlKHQsZSxuLGkpe2Zvcih2YXIgcj0tMSxvPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK3I8bzspe3ZhciBhPXRbcl07ZShpLGEsbihhKSx0KX1yZXR1cm4gaX1mdW5jdGlvbiBNZSh0LGUpe2Zvcih2YXIgbj0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK248aSYmITEhPT1lKHRbbl0sbix0KTspO3JldHVybiB0fWZ1bmN0aW9uIENlKHQsZSl7Zm9yKHZhciBuPW51bGw9PXQ/MDp0Lmxlbmd0aDtuLS0mJiExIT09ZSh0W25dLG4sdCk7KTtyZXR1cm4gdH1mdW5jdGlvbiBBZSh0LGUpe2Zvcih2YXIgbj0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK248aTspaWYoIWUodFtuXSxuLHQpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGtlKHQsZSl7Zm9yKHZhciBuPS0xLGk9bnVsbD09dD8wOnQubGVuZ3RoLHI9MCxvPVtdOysrbjxpOyl7dmFyIGE9dFtuXTtlKGEsbix0KSYmKG9bcisrXT1hKX1yZXR1cm4gb31mdW5jdGlvbiBMZSh0LGUpe3JldHVybiEobnVsbD09dHx8IXQubGVuZ3RoKSYmRmUodCxlLDApPi0xfWZ1bmN0aW9uIFBlKHQsZSxuKXtmb3IodmFyIGk9LTEscj1udWxsPT10PzA6dC5sZW5ndGg7KytpPHI7KWlmKG4oZSx0W2ldKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBOZSh0LGUpe2Zvcih2YXIgbj0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aCxyPUFycmF5KGkpOysrbjxpOylyW25dPWUodFtuXSxuLHQpO3JldHVybiByfWZ1bmN0aW9uIEllKHQsZSl7Zm9yKHZhciBuPS0xLGk9ZS5sZW5ndGgscj10Lmxlbmd0aDsrK248aTspdFtyK25dPWVbbl07cmV0dXJuIHR9ZnVuY3Rpb24gUmUodCxlLG4saSl7dmFyIHI9LTEsbz1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKGkmJm8mJihuPXRbKytyXSk7KytyPG87KW49ZShuLHRbcl0scix0KTtyZXR1cm4gbn1mdW5jdGlvbiBPZSh0LGUsbixpKXt2YXIgcj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKGkmJnImJihuPXRbLS1yXSk7ci0tOyluPWUobix0W3JdLHIsdCk7cmV0dXJuIG59ZnVuY3Rpb24gemUodCxlKXtmb3IodmFyIG49LTEsaT1udWxsPT10PzA6dC5sZW5ndGg7KytuPGk7KWlmKGUodFtuXSxuLHQpKXJldHVybiEwO3JldHVybiExfXZhciBEZT1HZSgibGVuZ3RoIik7ZnVuY3Rpb24gQmUodCxlLG4pe3ZhciBpO3JldHVybiBuKHQsKGZ1bmN0aW9uKHQsbixyKXtpZihlKHQsbixyKSlyZXR1cm4gaT1uLCExfSkpLGl9ZnVuY3Rpb24gSGUodCxlLG4saSl7Zm9yKHZhciByPXQubGVuZ3RoLG89bisoaT8xOi0xKTtpP28tLTorK288cjspaWYoZSh0W29dLG8sdCkpcmV0dXJuIG87cmV0dXJuLTF9ZnVuY3Rpb24gRmUodCxlLG4pe3JldHVybiBlPT1lPyhmdW5jdGlvbiBpKHQsZSxuKXtmb3IodmFyIGk9bi0xLHI9dC5sZW5ndGg7KytpPHI7KWlmKHRbaV09PT1lKXJldHVybiBpO3JldHVybi0xfSkodCxlLG4pOkhlKHQsVWUsbil9ZnVuY3Rpb24gVmUodCxlLG4saSl7Zm9yKHZhciByPW4tMSxvPXQubGVuZ3RoOysrcjxvOylpZihpKHRbcl0sZSkpcmV0dXJuIHI7cmV0dXJuLTF9ZnVuY3Rpb24gVWUodCl7cmV0dXJuIHQhPXR9ZnVuY3Rpb24gamUodCxlKXt2YXIgbj1udWxsPT10PzA6dC5sZW5ndGg7cmV0dXJuIG4/WWUodCxlKS9uOmh9ZnVuY3Rpb24gR2UoZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBudWxsPT1uP3Q6bltlXX19ZnVuY3Rpb24gV2UoZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBudWxsPT1lP3Q6ZVtuXX19ZnVuY3Rpb24gcWUodCxlLG4saSxyKXtyZXR1cm4gcih0LChmdW5jdGlvbih0LHIsbyl7bj1pPyhpPSExLHQpOmUobix0LHIsbyl9KSksbn1mdW5jdGlvbiBZZShlLG4pe2Zvcih2YXIgaSxyPS0xLG89ZS5sZW5ndGg7KytyPG87KXt2YXIgYT1uKGVbcl0pO2EhPT10JiYoaT1pPT09dD9hOmkrYSl9cmV0dXJuIGl9ZnVuY3Rpb24gWGUodCxlKXtmb3IodmFyIG49LTEsaT1BcnJheSh0KTsrK248dDspaVtuXT1lKG4pO3JldHVybiBpfWZ1bmN0aW9uICRlKHQpe3JldHVybiB0P3Quc2xpY2UoMCxmbih0KSsxKS5yZXBsYWNlKG50LCIiKTp0fWZ1bmN0aW9uIEtlKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdChlKX19ZnVuY3Rpb24gWmUodCxlKXtyZXR1cm4gTmUoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSl9ZnVuY3Rpb24gSmUodCxlKXtyZXR1cm4gdC5oYXMoZSl9ZnVuY3Rpb24gUWUodCxlKXtmb3IodmFyIG49LTEsaT10Lmxlbmd0aDsrK248aSYmRmUoZSx0W25dLDApPi0xOyk7cmV0dXJuIG59ZnVuY3Rpb24gdG4odCxlKXtmb3IodmFyIG49dC5sZW5ndGg7bi0tJiZGZShlLHRbbl0sMCk+LTE7KTtyZXR1cm4gbn1mdW5jdGlvbiBlbih0LGUpe2Zvcih2YXIgbj10Lmxlbmd0aCxpPTA7bi0tOyl0W25dPT09ZSYmKytpO3JldHVybiBpfXZhciBubj1XZSh7IsOAIjoiQSIsIsOBIjoiQSIsIsOCIjoiQSIsIsODIjoiQSIsIsOEIjoiQSIsIsOFIjoiQSIsIsOgIjoiYSIsIsOhIjoiYSIsIsOiIjoiYSIsIsOjIjoiYSIsIsOkIjoiYSIsIsOlIjoiYSIsIsOHIjoiQyIsIsOnIjoiYyIsIsOQIjoiRCIsIsOwIjoiZCIsIsOIIjoiRSIsIsOJIjoiRSIsIsOKIjoiRSIsIsOLIjoiRSIsIsOoIjoiZSIsIsOpIjoiZSIsIsOqIjoiZSIsIsOrIjoiZSIsIsOMIjoiSSIsIsONIjoiSSIsIsOOIjoiSSIsIsOPIjoiSSIsIsOsIjoiaSIsIsOtIjoiaSIsIsOuIjoiaSIsIsOvIjoiaSIsIsORIjoiTiIsIsOxIjoibiIsIsOSIjoiTyIsIsOTIjoiTyIsIsOUIjoiTyIsIsOVIjoiTyIsIsOWIjoiTyIsIsOYIjoiTyIsIsOyIjoibyIsIsOzIjoibyIsIsO0IjoibyIsIsO1IjoibyIsIsO2IjoibyIsIsO4IjoibyIsIsOZIjoiVSIsIsOaIjoiVSIsIsObIjoiVSIsIsOcIjoiVSIsIsO5IjoidSIsIsO6IjoidSIsIsO7IjoidSIsIsO8IjoidSIsIsOdIjoiWSIsIsO9IjoieSIsIsO/IjoieSIsIsOGIjoiQWUiLCLDpiI6ImFlIiwiw54iOiJUaCIsIsO+IjoidGgiLCLDnyI6InNzIiwixIAiOiJBIiwixIIiOiJBIiwixIQiOiJBIiwixIEiOiJhIiwixIMiOiJhIiwixIUiOiJhIiwixIYiOiJDIiwixIgiOiJDIiwixIoiOiJDIiwixIwiOiJDIiwixIciOiJjIiwixIkiOiJjIiwixIsiOiJjIiwixI0iOiJjIiwixI4iOiJEIiwixJAiOiJEIiwixI8iOiJkIiwixJEiOiJkIiwixJIiOiJFIiwixJQiOiJFIiwixJYiOiJFIiwixJgiOiJFIiwixJoiOiJFIiwixJMiOiJlIiwixJUiOiJlIiwixJciOiJlIiwixJkiOiJlIiwixJsiOiJlIiwixJwiOiJHIiwixJ4iOiJHIiwixKAiOiJHIiwixKIiOiJHIiwixJ0iOiJnIiwixJ8iOiJnIiwixKEiOiJnIiwixKMiOiJnIiwixKQiOiJIIiwixKYiOiJIIiwixKUiOiJoIiwixKciOiJoIiwixKgiOiJJIiwixKoiOiJJIiwixKwiOiJJIiwixK4iOiJJIiwixLAiOiJJIiwixKkiOiJpIiwixKsiOiJpIiwixK0iOiJpIiwixK8iOiJpIiwixLEiOiJpIiwixLQiOiJKIiwixLUiOiJqIiwixLYiOiJLIiwixLciOiJrIiwixLgiOiJrIiwixLkiOiJMIiwixLsiOiJMIiwixL0iOiJMIiwixL8iOiJMIiwixYEiOiJMIiwixLoiOiJsIiwixLwiOiJsIiwixL4iOiJsIiwixYAiOiJsIiwixYIiOiJsIiwixYMiOiJOIiwixYUiOiJOIiwixYciOiJOIiwixYoiOiJOIiwixYQiOiJuIiwixYYiOiJuIiwixYgiOiJuIiwixYsiOiJuIiwixYwiOiJPIiwixY4iOiJPIiwixZAiOiJPIiwixY0iOiJvIiwixY8iOiJvIiwixZEiOiJvIiwixZQiOiJSIiwixZYiOiJSIiwixZgiOiJSIiwixZUiOiJyIiwixZciOiJyIiwixZkiOiJyIiwixZoiOiJTIiwixZwiOiJTIiwixZ4iOiJTIiwixaAiOiJTIiwixZsiOiJzIiwixZ0iOiJzIiwixZ8iOiJzIiwixaEiOiJzIiwixaIiOiJUIiwixaQiOiJUIiwixaYiOiJUIiwixaMiOiJ0IiwixaUiOiJ0IiwixaciOiJ0IiwixagiOiJVIiwixaoiOiJVIiwixawiOiJVIiwixa4iOiJVIiwixbAiOiJVIiwixbIiOiJVIiwixakiOiJ1IiwixasiOiJ1Iiwixa0iOiJ1Iiwixa8iOiJ1IiwixbEiOiJ1IiwixbMiOiJ1IiwixbQiOiJXIiwixbUiOiJ3IiwixbYiOiJZIiwixbciOiJ5IiwixbgiOiJZIiwixbkiOiJaIiwixbsiOiJaIiwixb0iOiJaIiwixboiOiJ6IiwixbwiOiJ6Iiwixb4iOiJ6IiwixLIiOiJJSiIsIsSzIjoiaWoiLCLFkiI6Ik9lIiwixZMiOiJvZSIsIsWJIjoiJ24iLCLFvyI6InMifSkscm49V2UoeyImIjoiJmFtcDsiLCI8IjoiJmx0OyIsIj4iOiImZ3Q7IiwnIic6IiZxdW90OyIsIiciOiImIzM5OyJ9KTtmdW5jdGlvbiBvbih0KXtyZXR1cm4iXFwiK3JlW3RdfWZ1bmN0aW9uIGFuKHQpe3JldHVybiBKdC50ZXN0KHQpfWZ1bmN0aW9uIHNuKHQpe3ZhciBlPS0xLG49QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0LGkpe25bKytlXT1baSx0XX0pKSxufWZ1bmN0aW9uIGxuKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0KGUobikpfX1mdW5jdGlvbiBjbih0LGUpe2Zvcih2YXIgbj0tMSxyPXQubGVuZ3RoLG89MCxhPVtdOysrbjxyOyl7dmFyIHM9dFtuXTtzIT09ZSYmcyE9PWl8fCh0W25dPWksYVtvKytdPW4pfXJldHVybiBhfWZ1bmN0aW9uIHVuKHQpe3ZhciBlPS0xLG49QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtuWysrZV09dH0pKSxufWZ1bmN0aW9uIGhuKHQpe3ZhciBlPS0xLG49QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtuWysrZV09W3QsdF19KSksbn1mdW5jdGlvbiBkbih0KXtyZXR1cm4gYW4odCk/KGZ1bmN0aW9uIGUodCl7Zm9yKHZhciBlPUt0Lmxhc3RJbmRleD0wO0t0LnRlc3QodCk7KSsrZTtyZXR1cm4gZX0pKHQpOkRlKHQpfWZ1bmN0aW9uIHBuKHQpe3JldHVybiBhbih0KT8oZnVuY3Rpb24gZSh0KXtyZXR1cm4gdC5tYXRjaChLdCl8fFtdfSkodCk6KGZ1bmN0aW9uIG4odCl7cmV0dXJuIHQuc3BsaXQoIiIpfSkodCl9ZnVuY3Rpb24gZm4odCl7Zm9yKHZhciBlPXQubGVuZ3RoO2UtLSYmaXQudGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX12YXIgbW49V2UoeyImYW1wOyI6IiYiLCImbHQ7IjoiPCIsIiZndDsiOiI+IiwiJnF1b3Q7IjonIicsIiYjMzk7IjoiJyJ9KSxnbj0oZnVuY3Rpb24gaXQoYnQpe3ZhciB4dCx3dD0oYnQ9bnVsbD09YnQ/Y2U6Z24uZGVmYXVsdHMoY2UuT2JqZWN0KCksYnQsZ24ucGljayhjZSx0ZSkpKS5BcnJheSxTdD1idC5EYXRlLE10PWJ0LkVycm9yLEV0PWJ0LkZ1bmN0aW9uLFR0PWJ0Lk1hdGgsQ3Q9YnQuT2JqZWN0LEF0PWJ0LlJlZ0V4cCxrdD1idC5TdHJpbmcsTHQ9YnQuVHlwZUVycm9yLFB0PXd0LnByb3RvdHlwZSxOdD1DdC5wcm90b3R5cGUsSXQ9YnRbIl9fY29yZS1qc19zaGFyZWRfXyJdLFJ0PUV0LnByb3RvdHlwZS50b1N0cmluZyxPdD1OdC5oYXNPd25Qcm9wZXJ0eSx6dD0wLER0PSh4dD0vW14uXSskLy5leGVjKEl0JiZJdC5rZXlzJiZJdC5rZXlzLklFX1BST1RPfHwiIikpPyJTeW1ib2woc3JjKV8xLiIreHQ6IiIsQnQ9TnQudG9TdHJpbmcsSHQ9UnQuY2FsbChDdCksRnQ9Y2UuXyxWdD1BdCgiXiIrUnQuY2FsbChPdCkucmVwbGFjZSh0dCwiXFwkJiIpLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFwoKXwgZm9yIC4rPyg/PVxcXF0pL2csIiQxLio/IikrIiQiKSxVdD1kZT9idC5CdWZmZXI6dCxqdD1idC5TeW1ib2wsR3Q9YnQuVWludDhBcnJheSxXdD1VdD9VdC5hbGxvY1Vuc2FmZTp0LHF0PWxuKEN0LmdldFByb3RvdHlwZU9mLEN0KSxZdD1DdC5jcmVhdGUsS3Q9TnQucHJvcGVydHlJc0VudW1lcmFibGUsSnQ9UHQuc3BsaWNlLHJlPWp0P2p0LmlzQ29uY2F0U3ByZWFkYWJsZTp0LHNlPWp0P2p0Lml0ZXJhdG9yOnQsbGU9anQ/anQudG9TdHJpbmdUYWc6dCx1ZT0oZnVuY3Rpb24oKXt0cnl7dmFyIHQ9T28oQ3QsImRlZmluZVByb3BlcnR5Iik7cmV0dXJuIHQoe30sIiIse30pLHR9Y2F0Y2godCl7fX0pKCksaGU9YnQuY2xlYXJUaW1lb3V0IT09Y2UuY2xlYXJUaW1lb3V0JiZidC5jbGVhclRpbWVvdXQscGU9U3QmJlN0Lm5vdyE9PWNlLkRhdGUubm93JiZTdC5ub3csZmU9YnQuc2V0VGltZW91dCE9PWNlLnNldFRpbWVvdXQmJmJ0LnNldFRpbWVvdXQsU2U9VHQuY2VpbCxFZT1UdC5mbG9vcixUZT1DdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsRGU9VXQ/VXQuaXNCdWZmZXI6dCxXZT1idC5pc0Zpbml0ZSxfbj1QdC5qb2luLHluPWxuKEN0LmtleXMsQ3QpLHZuPVR0Lm1heCxibj1UdC5taW4seG49U3Qubm93LHduPWJ0LnBhcnNlSW50LFNuPVR0LnJhbmRvbSxNbj1QdC5yZXZlcnNlLEVuPU9vKGJ0LCJEYXRhVmlldyIpLFRuPU9vKGJ0LCJNYXAiKSxDbj1PbyhidCwiUHJvbWlzZSIpLEFuPU9vKGJ0LCJTZXQiKSxrbj1PbyhidCwiV2Vha01hcCIpLExuPU9vKEN0LCJjcmVhdGUiKSxQbj1rbiYmbmV3IGtuLE5uPXt9LEluPWNhKEVuKSxSbj1jYShUbiksT249Y2EoQ24pLHpuPWNhKEFuKSxEbj1jYShrbiksQm49anQ/anQucHJvdG90eXBlOnQsSG49Qm4/Qm4udmFsdWVPZjp0LEZuPUJuP0JuLnRvU3RyaW5nOnQ7ZnVuY3Rpb24gVm4odCl7aWYoQXModCkmJiFtcyh0KSYmISh0IGluc3RhbmNlb2YgV24pKXtpZih0IGluc3RhbmNlb2YgR24pcmV0dXJuIHQ7aWYoT3QuY2FsbCh0LCJfX3dyYXBwZWRfXyIpKXJldHVybiB1YSh0KX1yZXR1cm4gbmV3IEduKHQpfXZhciBVbj0oZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7fXJldHVybiBmdW5jdGlvbihuKXtpZighQ3MobikpcmV0dXJue307aWYoWXQpcmV0dXJuIFl0KG4pO2UucHJvdG90eXBlPW47dmFyIGk9bmV3IGU7cmV0dXJuIGUucHJvdG90eXBlPXQsaX19KSgpO2Z1bmN0aW9uIGpuKCl7fWZ1bmN0aW9uIEduKGUsbil7dGhpcy5fX3dyYXBwZWRfXz1lLHRoaXMuX19hY3Rpb25zX189W10sdGhpcy5fX2NoYWluX189ISFuLHRoaXMuX19pbmRleF9fPTAsdGhpcy5fX3ZhbHVlc19fPXR9ZnVuY3Rpb24gV24odCl7dGhpcy5fX3dyYXBwZWRfXz10LHRoaXMuX19hY3Rpb25zX189W10sdGhpcy5fX2Rpcl9fPTEsdGhpcy5fX2ZpbHRlcmVkX189ITEsdGhpcy5fX2l0ZXJhdGVlc19fPVtdLHRoaXMuX190YWtlQ291bnRfXz1kLHRoaXMuX192aWV3c19fPVtdfWZ1bmN0aW9uIHFuKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgaT10W2VdO3RoaXMuc2V0KGlbMF0saVsxXSl9fWZ1bmN0aW9uIFluKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgaT10W2VdO3RoaXMuc2V0KGlbMF0saVsxXSl9fWZ1bmN0aW9uIFhuKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgaT10W2VdO3RoaXMuc2V0KGlbMF0saVsxXSl9fWZ1bmN0aW9uICRuKHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLl9fZGF0YV9fPW5ldyBYbjsrK2U8bjspdGhpcy5hZGQodFtlXSl9ZnVuY3Rpb24gS24odCl7dmFyIGU9dGhpcy5fX2RhdGFfXz1uZXcgWW4odCk7dGhpcy5zaXplPWUuc2l6ZX1mdW5jdGlvbiBabih0LGUpe3ZhciBuPW1zKHQpLGk9IW4mJmZzKHQpLHI9IW4mJiFpJiZicyh0KSxvPSFuJiYhaSYmIXImJkhzKHQpLGE9bnx8aXx8cnx8byxzPWE/WGUodC5sZW5ndGgsa3QpOltdLGw9cy5sZW5ndGg7Zm9yKHZhciBjIGluIHQpIWUmJiFPdC5jYWxsKHQsYyl8fGEmJigibGVuZ3RoIj09Y3x8ciYmKCJvZmZzZXQiPT1jfHwicGFyZW50Ij09Yyl8fG8mJigiYnVmZmVyIj09Y3x8ImJ5dGVMZW5ndGgiPT1jfHwiYnl0ZU9mZnNldCI9PWMpfHxVbyhjLGwpKXx8cy5wdXNoKGMpO3JldHVybiBzfWZ1bmN0aW9uIEpuKGUpe3ZhciBuPWUubGVuZ3RoO3JldHVybiBuP2VbX3IoMCxuLTEpXTp0fWZ1bmN0aW9uIFFuKHQsZSl7cmV0dXJuIG9hKEpyKHQpLGxpKGUsMCx0Lmxlbmd0aCkpfWZ1bmN0aW9uIHRpKHQpe3JldHVybiBvYShKcih0KSl9ZnVuY3Rpb24gZWkoZSxuLGkpeyhpIT09dCYmIWhzKGVbbl0saSl8fGk9PT10JiYhKG4gaW4gZSkpJiZhaShlLG4saSl9ZnVuY3Rpb24gbmkoZSxuLGkpe3ZhciByPWVbbl07T3QuY2FsbChlLG4pJiZocyhyLGkpJiYoaSE9PXR8fG4gaW4gZSl8fGFpKGUsbixpKX1mdW5jdGlvbiBpaSh0LGUpe2Zvcih2YXIgbj10Lmxlbmd0aDtuLS07KWlmKGhzKHRbbl1bMF0sZSkpcmV0dXJuIG47cmV0dXJuLTF9ZnVuY3Rpb24gcmkodCxlLG4saSl7cmV0dXJuIE9pKHQsKGZ1bmN0aW9uKHQscixvKXtlKGksdCxuKHQpLG8pfSkpLGl9ZnVuY3Rpb24gb2kodCxlKXtyZXR1cm4gdCYmUXIoZSxsbChlKSx0KX1mdW5jdGlvbiBhaSh0LGUsbil7Il9fcHJvdG9fXyI9PWUmJnVlP3VlKHQsZSx7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6bix3cml0YWJsZTohMH0pOnRbZV09bn1mdW5jdGlvbiBzaShlLG4pe2Zvcih2YXIgaT0tMSxyPW4ubGVuZ3RoLG89d3QociksYT1udWxsPT1lOysraTxyOylvW2ldPWE/dDppbChlLG5baV0pO3JldHVybiBvfWZ1bmN0aW9uIGxpKGUsbixpKXtyZXR1cm4gZT09ZSYmKGkhPT10JiYoZT1lPD1pP2U6aSksbiE9PXQmJihlPWU+PW4/ZTpuKSksZX1mdW5jdGlvbiBjaShlLG4saSxyLG8sYSl7dmFyIHMsbD0xJm4sYz0yJm4sdT00Jm47aWYoaSYmKHM9bz9pKGUscixvLGEpOmkoZSkpLHMhPT10KXJldHVybiBzO2lmKCFDcyhlKSlyZXR1cm4gZTt2YXIgaD1tcyhlKTtpZihoKXtpZihzPShmdW5jdGlvbiBkKHQpe3ZhciBlPXQubGVuZ3RoLG49bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIGUmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmT3QuY2FsbCh0LCJpbmRleCIpJiYobi5pbmRleD10LmluZGV4LG4uaW5wdXQ9dC5pbnB1dCksbn0pKGUpLCFsKXJldHVybiBKcihlLHMpfWVsc2V7dmFyIHA9Qm8oZSksbT1wPT12fHxwPT1iO2lmKGJzKGUpKXJldHVybiBxcihlLGwpO2lmKHA9PVN8fHA9PWZ8fG0mJiFvKXtpZihzPWN8fG0/e306Rm8oZSksIWwpcmV0dXJuIGM/KGZ1bmN0aW9uIE0odCxlKXtyZXR1cm4gUXIodCxEbyh0KSxlKX0pKGUsKGZ1bmN0aW9uIHkodCxlKXtyZXR1cm4gdCYmUXIoZSxjbChlKSx0KX0pKHMsZSkpOihmdW5jdGlvbiBrKHQsZSl7cmV0dXJuIFFyKHQsem8odCksZSl9KShlLG9pKHMsZSkpfWVsc2V7aWYoIWllW3BdKXJldHVybiBvP2U6e307cz0oZnVuY3Rpb24gVih0LGUsbil7dmFyIGk9dC5jb25zdHJ1Y3Rvcjtzd2l0Y2goZSl7Y2FzZSBMOnJldHVybiBZcih0KTtjYXNlIGc6Y2FzZSBfOnJldHVybiBuZXcgaSgrdCk7Y2FzZSBQOnJldHVybihmdW5jdGlvbiByKHQsZSl7dmFyIG49ZT9Zcih0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKG4sdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9KSh0LG4pO2Nhc2UgTjpjYXNlIEk6Y2FzZSBSOmNhc2UgTzpjYXNlIHo6Y2FzZSBEOmNhc2UgQjpjYXNlIEg6Y2FzZSBGOnJldHVybiBYcih0LG4pO2Nhc2UgeDpyZXR1cm4gbmV3IGk7Y2FzZSB3OmNhc2UgQzpyZXR1cm4gbmV3IGkodCk7Y2FzZSBFOnJldHVybihmdW5jdGlvbiBvKHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLGh0LmV4ZWModCkpO3JldHVybiBlLmxhc3RJbmRleD10Lmxhc3RJbmRleCxlfSkodCk7Y2FzZSBUOnJldHVybiBuZXcgaTtjYXNlIEE6cmV0dXJuKGZ1bmN0aW9uIGEodCl7cmV0dXJuIEhuP0N0KEhuLmNhbGwodCkpOnt9fSkodCl9fSkoZSxwLGwpfX1hfHwoYT1uZXcgS24pO3ZhciBVPWEuZ2V0KGUpO2lmKFUpcmV0dXJuIFU7YS5zZXQoZSxzKSxPcyhlKT9lLmZvckVhY2goKGZ1bmN0aW9uKHQpe3MuYWRkKGNpKHQsbixpLHQsZSxhKSl9KSk6a3MoZSkmJmUuZm9yRWFjaCgoZnVuY3Rpb24odCxyKXtzLnNldChyLGNpKHQsbixpLHIsZSxhKSl9KSk7dmFyIGo9aD90Oih1P2M/QW86Q286Yz9jbDpsbCkoZSk7cmV0dXJuIE1lKGp8fGUsKGZ1bmN0aW9uKHQscil7aiYmKHQ9ZVtyPXRdKSxuaShzLHIsY2kodCxuLGkscixlLGEpKX0pKSxzfWZ1bmN0aW9uIHVpKGUsbixpKXt2YXIgcj1pLmxlbmd0aDtpZihudWxsPT1lKXJldHVybiFyO2ZvcihlPUN0KGUpO3ItLTspe3ZhciBvPWlbcl0sYT1lW29dO2lmKGE9PT10JiYhKG8gaW4gZSl8fCEoMCxuW29dKShhKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBoaShuLGkscil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEx0KGUpO3JldHVybiBlYSgoZnVuY3Rpb24oKXtuLmFwcGx5KHQscil9KSxpKX1mdW5jdGlvbiBkaSh0LGUsbixpKXt2YXIgcj0tMSxvPUxlLGE9ITAscz10Lmxlbmd0aCxsPVtdLGM9ZS5sZW5ndGg7aWYoIXMpcmV0dXJuIGw7biYmKGU9TmUoZSxLZShuKSkpLGk/KG89UGUsYT0hMSk6ZS5sZW5ndGg+PTIwMCYmKG89SmUsYT0hMSxlPW5ldyAkbihlKSk7dDpmb3IoOysrcjxzOyl7dmFyIHU9dFtyXSxoPW51bGw9PW4/dTpuKHUpO2lmKHU9aXx8MCE9PXU/dTowLGEmJmg9PWgpe2Zvcih2YXIgZD1jO2QtLTspaWYoZVtkXT09PWgpY29udGludWUgdDtsLnB1c2godSl9ZWxzZSBvKGUsaCxpKXx8bC5wdXNoKHUpfXJldHVybiBsfVZuLnRlbXBsYXRlU2V0dGluZ3M9e2VzY2FwZTpYLGV2YWx1YXRlOiQsaW50ZXJwb2xhdGU6Syx2YXJpYWJsZToiIixpbXBvcnRzOntfOlZufX0sKFZuLnByb3RvdHlwZT1qbi5wcm90b3R5cGUpLmNvbnN0cnVjdG9yPVZuLChHbi5wcm90b3R5cGU9VW4oam4ucHJvdG90eXBlKSkuY29uc3RydWN0b3I9R24sKFduLnByb3RvdHlwZT1Vbihqbi5wcm90b3R5cGUpKS5jb25zdHJ1Y3Rvcj1Xbixxbi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24gcGkoKXt0aGlzLl9fZGF0YV9fPUxuP0xuKG51bGwpOnt9LHRoaXMuc2l6ZT0wfSxxbi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uIGZpKHQpe3ZhciBlPXRoaXMuaGFzKHQpJiZkZWxldGUgdGhpcy5fX2RhdGFfX1t0XTtyZXR1cm4gdGhpcy5zaXplLT1lPzE6MCxlfSxxbi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uIG1pKGUpe3ZhciBpPXRoaXMuX19kYXRhX187aWYoTG4pe3ZhciByPWlbZV07cmV0dXJuIHI9PT1uP3Q6cn1yZXR1cm4gT3QuY2FsbChpLGUpP2lbZV06dH0scW4ucHJvdG90eXBlLmhhcz1mdW5jdGlvbiBnaShlKXt2YXIgbj10aGlzLl9fZGF0YV9fO3JldHVybiBMbj9uW2VdIT09dDpPdC5jYWxsKG4sZSl9LHFuLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24gX2koZSxpKXt2YXIgcj10aGlzLl9fZGF0YV9fO3JldHVybiB0aGlzLnNpemUrPXRoaXMuaGFzKGUpPzA6MSxyW2VdPUxuJiZpPT09dD9uOmksdGhpc30sWW4ucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uIHlpKCl7dGhpcy5fX2RhdGFfXz1bXSx0aGlzLnNpemU9MH0sWW4ucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbiB2aSh0KXt2YXIgZT10aGlzLl9fZGF0YV9fLG49aWkoZSx0KTtyZXR1cm4hKG48MHx8KG49PWUubGVuZ3RoLTE/ZS5wb3AoKTpKdC5jYWxsKGUsbiwxKSwtLXRoaXMuc2l6ZSwwKSl9LFluLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24gYmkoZSl7dmFyIG49dGhpcy5fX2RhdGFfXyxpPWlpKG4sZSk7cmV0dXJuIGk8MD90Om5baV1bMV19LFluLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24geGkodCl7cmV0dXJuIGlpKHRoaXMuX19kYXRhX18sdCk+LTF9LFluLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24gd2kodCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fLGk9aWkobix0KTtyZXR1cm4gaTwwPygrK3RoaXMuc2l6ZSxuLnB1c2goW3QsZV0pKTpuW2ldWzFdPWUsdGhpc30sWG4ucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uIFNpKCl7dGhpcy5zaXplPTAsdGhpcy5fX2RhdGFfXz17aGFzaDpuZXcgcW4sbWFwOm5ldyhUbnx8WW4pLHN0cmluZzpuZXcgcW59fSxYbi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uIE1pKHQpe3ZhciBlPUlvKHRoaXMsdCkuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemUtPWU/MTowLGV9LFhuLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24gRWkodCl7cmV0dXJuIElvKHRoaXMsdCkuZ2V0KHQpfSxYbi5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uIFRpKHQpe3JldHVybiBJbyh0aGlzLHQpLmhhcyh0KX0sWG4ucHJvdG90eXBlLnNldD1mdW5jdGlvbiBDaSh0LGUpe3ZhciBuPUlvKHRoaXMsdCksaT1uLnNpemU7cmV0dXJuIG4uc2V0KHQsZSksdGhpcy5zaXplKz1uLnNpemU9PWk/MDoxLHRoaXN9LCRuLnByb3RvdHlwZS5hZGQ9JG4ucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24gQWkodCl7cmV0dXJuIHRoaXMuX19kYXRhX18uc2V0KHQsbiksdGhpc30sJG4ucHJvdG90eXBlLmhhcz1mdW5jdGlvbiBraSh0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9LEtuLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbiBMaSgpe3RoaXMuX19kYXRhX189bmV3IFluLHRoaXMuc2l6ZT0wfSxLbi5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uIFBpKHQpe3ZhciBlPXRoaXMuX19kYXRhX18sbj1lLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPWUuc2l6ZSxufSxLbi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uIE5pKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX0sS24ucHJvdG90eXBlLmhhcz1mdW5jdGlvbiBJaSh0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXModCl9LEtuLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24gUmkodCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fO2lmKG4gaW5zdGFuY2VvZiBZbil7dmFyIGk9bi5fX2RhdGFfXztpZighVG58fGkubGVuZ3RoPDE5OSlyZXR1cm4gaS5wdXNoKFt0LGVdKSx0aGlzLnNpemU9KytuLnNpemUsdGhpcztuPXRoaXMuX19kYXRhX189bmV3IFhuKGkpfXJldHVybiBuLnNldCh0LGUpLHRoaXMuc2l6ZT1uLnNpemUsdGhpc307dmFyIE9pPW5vKGppKSx6aT1ubyhHaSwhMCk7ZnVuY3Rpb24gRGkodCxlKXt2YXIgbj0hMDtyZXR1cm4gT2kodCwoZnVuY3Rpb24odCxpLHIpe3JldHVybiBuPSEhZSh0LGkscil9KSksbn1mdW5jdGlvbiBCaShlLG4saSl7Zm9yKHZhciByPS0xLG89ZS5sZW5ndGg7KytyPG87KXt2YXIgYT1lW3JdLHM9bihhKTtpZihudWxsIT1zJiYobD09PXQ/cz09cyYmIUJzKHMpOmkocyxsKSkpdmFyIGw9cyxjPWF9cmV0dXJuIGN9ZnVuY3Rpb24gSGkodCxlKXt2YXIgbj1bXTtyZXR1cm4gT2kodCwoZnVuY3Rpb24odCxpLHIpe2UodCxpLHIpJiZuLnB1c2godCl9KSksbn1mdW5jdGlvbiBGaSh0LGUsbixpLHIpe3ZhciBvPS0xLGE9dC5sZW5ndGg7Zm9yKG58fChuPVZvKSxyfHwocj1bXSk7KytvPGE7KXt2YXIgcz10W29dO2U+MCYmbihzKT9lPjE/RmkocyxlLTEsbixpLHIpOkllKHIscyk6aXx8KHJbci5sZW5ndGhdPXMpfXJldHVybiByfXZhciBWaT1pbygpLFVpPWlvKCEwKTtmdW5jdGlvbiBqaSh0LGUpe3JldHVybiB0JiZWaSh0LGUsbGwpfWZ1bmN0aW9uIEdpKHQsZSl7cmV0dXJuIHQmJlVpKHQsZSxsbCl9ZnVuY3Rpb24gV2kodCxlKXtyZXR1cm4ga2UoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIE1zKHRbZV0pfSkpfWZ1bmN0aW9uIHFpKGUsbil7Zm9yKHZhciBpPTAscj0obj1VcihuLGUpKS5sZW5ndGg7bnVsbCE9ZSYmaTxyOyllPWVbbGEobltpKytdKV07cmV0dXJuIGkmJmk9PXI/ZTp0fWZ1bmN0aW9uIFlpKHQsZSxuKXt2YXIgaT1lKHQpO3JldHVybiBtcyh0KT9pOkllKGksbih0KSl9ZnVuY3Rpb24gWGkoZSl7cmV0dXJuIG51bGw9PWU/ZT09PXQ/IltvYmplY3QgVW5kZWZpbmVkXSI6IltvYmplY3QgTnVsbF0iOmxlJiZsZSBpbiBDdChlKT8oZnVuY3Rpb24gbihlKXt2YXIgbj1PdC5jYWxsKGUsbGUpLGk9ZVtsZV07dHJ5e2VbbGVdPXQ7dmFyIHI9ITB9Y2F0Y2godCl7fXZhciBvPUJ0LmNhbGwoZSk7cmV0dXJuIHImJihuP2VbbGVdPWk6ZGVsZXRlIGVbbGVdKSxvfSkoZSk6KGZ1bmN0aW9uIGkodCl7cmV0dXJuIEJ0LmNhbGwodCl9KShlKX1mdW5jdGlvbiAkaSh0LGUpe3JldHVybiB0PmV9ZnVuY3Rpb24gS2kodCxlKXtyZXR1cm4gbnVsbCE9dCYmT3QuY2FsbCh0LGUpfWZ1bmN0aW9uIFppKHQsZSl7cmV0dXJuIG51bGwhPXQmJmUgaW4gQ3QodCl9ZnVuY3Rpb24gSmkoZSxuLGkpe2Zvcih2YXIgcj1pP1BlOkxlLG89ZVswXS5sZW5ndGgsYT1lLmxlbmd0aCxzPWEsbD13dChhKSxjPTEvMCx1PVtdO3MtLTspe3ZhciBoPWVbc107cyYmbiYmKGg9TmUoaCxLZShuKSkpLGM9Ym4oaC5sZW5ndGgsYyksbFtzXT0haSYmKG58fG8+PTEyMCYmaC5sZW5ndGg+PTEyMCk/bmV3ICRuKHMmJmgpOnR9aD1lWzBdO3ZhciBkPS0xLHA9bFswXTt0OmZvcig7KytkPG8mJnUubGVuZ3RoPGM7KXt2YXIgZj1oW2RdLG09bj9uKGYpOmY7aWYoZj1pfHwwIT09Zj9mOjAsIShwP0plKHAsbSk6cih1LG0saSkpKXtmb3Iocz1hOy0tczspe3ZhciBnPWxbc107aWYoIShnP0plKGcsbSk6cihlW3NdLG0saSkpKWNvbnRpbnVlIHR9cCYmcC5wdXNoKG0pLHUucHVzaChmKX19cmV0dXJuIHV9ZnVuY3Rpb24gUWkoZSxuLGkpe3ZhciByPW51bGw9PShlPVpvKGUsbj1VcihuLGUpKSk/ZTplW2xhKHhhKG4pKV07cmV0dXJuIG51bGw9PXI/dDp4ZShyLGUsaSl9ZnVuY3Rpb24gdHIodCl7cmV0dXJuIEFzKHQpJiZYaSh0KT09Zn1mdW5jdGlvbiBlcihlLG4saSxyLG8pe3JldHVybiBlPT09bnx8KG51bGw9PWV8fG51bGw9PW58fCFBcyhlKSYmIUFzKG4pP2UhPWUmJm4hPW46KGZ1bmN0aW9uIGEoZSxuLGkscixvLHMpe3ZhciBsPW1zKGUpLGM9bXMobiksdT1sP206Qm8oZSksaD1jP206Qm8obiksZD0odT11PT1mP1M6dSk9PVMscD0oaD1oPT1mP1M6aCk9PVMsdj11PT1oO2lmKHYmJmJzKGUpKXtpZighYnMobikpcmV0dXJuITE7bD0hMCxkPSExfWlmKHYmJiFkKXJldHVybiBzfHwocz1uZXcgS24pLGx8fEhzKGUpP0VvKGUsbixpLHIsbyxzKTooZnVuY3Rpb24gYih0LGUsbixpLHIsbyxhKXtzd2l0Y2gobil7Y2FzZSBQOmlmKHQuYnl0ZUxlbmd0aCE9ZS5ieXRlTGVuZ3RofHx0LmJ5dGVPZmZzZXQhPWUuYnl0ZU9mZnNldClyZXR1cm4hMTt0PXQuYnVmZmVyLGU9ZS5idWZmZXI7Y2FzZSBMOnJldHVybiEodC5ieXRlTGVuZ3RoIT1lLmJ5dGVMZW5ndGh8fCFvKG5ldyBHdCh0KSxuZXcgR3QoZSkpKTtjYXNlIGc6Y2FzZSBfOmNhc2UgdzpyZXR1cm4gaHMoK3QsK2UpO2Nhc2UgeTpyZXR1cm4gdC5uYW1lPT1lLm5hbWUmJnQubWVzc2FnZT09ZS5tZXNzYWdlO2Nhc2UgRTpjYXNlIEM6cmV0dXJuIHQ9PWUrIiI7Y2FzZSB4OnZhciBzPXNuO2Nhc2UgVDppZihzfHwocz11biksdC5zaXplIT1lLnNpemUmJiEoMSZpKSlyZXR1cm4hMTt2YXIgbD1hLmdldCh0KTtpZihsKXJldHVybiBsPT1lO2l8PTIsYS5zZXQodCxlKTt2YXIgYz1FbyhzKHQpLHMoZSksaSxyLG8sYSk7cmV0dXJuIGEuZGVsZXRlKHQpLGM7Y2FzZSBBOmlmKEhuKXJldHVybiBIbi5jYWxsKHQpPT1Ibi5jYWxsKGUpfXJldHVybiExfSkoZSxuLHUsaSxyLG8scyk7aWYoISgxJmkpKXt2YXIgTT1kJiZPdC5jYWxsKGUsIl9fd3JhcHBlZF9fIiksaz1wJiZPdC5jYWxsKG4sIl9fd3JhcHBlZF9fIik7aWYoTXx8ayl7dmFyIE49TT9lLnZhbHVlKCk6ZSxJPWs/bi52YWx1ZSgpOm47cmV0dXJuIHN8fChzPW5ldyBLbiksbyhOLEksaSxyLHMpfX1yZXR1cm4hIXYmJihzfHwocz1uZXcgS24pLChmdW5jdGlvbiBSKGUsbixpLHIsbyxhKXt2YXIgcz0xJmksbD1DbyhlKSxjPWwubGVuZ3RoLHU9Q28obik7aWYoYyE9dS5sZW5ndGgmJiFzKXJldHVybiExO2Zvcih2YXIgaD1jO2gtLTspe3ZhciBkPWxbaF07aWYoIShzP2QgaW4gbjpPdC5jYWxsKG4sZCkpKXJldHVybiExfXZhciBwPWEuZ2V0KGUpLGY9YS5nZXQobik7aWYocCYmZilyZXR1cm4gcD09biYmZj09ZTt2YXIgbT0hMDthLnNldChlLG4pLGEuc2V0KG4sZSk7Zm9yKHZhciBnPXM7KytoPGM7KXt2YXIgXz1lW2Q9bFtoXV0seT1uW2RdO2lmKHIpdmFyIHY9cz9yKHksXyxkLG4sZSxhKTpyKF8seSxkLGUsbixhKTtpZighKHY9PT10P189PT15fHxvKF8seSxpLHIsYSk6dikpe209ITE7YnJlYWt9Z3x8KGc9ImNvbnN0cnVjdG9yIj09ZCl9aWYobSYmIWcpe3ZhciBiPWUuY29uc3RydWN0b3IseD1uLmNvbnN0cnVjdG9yO2I9PXh8fCEoImNvbnN0cnVjdG9yImluIGUpfHwhKCJjb25zdHJ1Y3RvciJpbiBuKXx8ImZ1bmN0aW9uIj09dHlwZW9mIGImJmIgaW5zdGFuY2VvZiBiJiYiZnVuY3Rpb24iPT10eXBlb2YgeCYmeCBpbnN0YW5jZW9mIHh8fChtPSExKX1yZXR1cm4gYS5kZWxldGUoZSksYS5kZWxldGUobiksbX0pKGUsbixpLHIsbyxzKSl9KShlLG4saSxyLGVyLG8pKX1mdW5jdGlvbiBucihlLG4saSxyKXt2YXIgbz1pLmxlbmd0aCxhPW8scz0hcjtpZihudWxsPT1lKXJldHVybiFhO2ZvcihlPUN0KGUpO28tLTspe3ZhciBsPWlbb107aWYocyYmbFsyXT9sWzFdIT09ZVtsWzBdXTohKGxbMF1pbiBlKSlyZXR1cm4hMX1mb3IoOysrbzxhOyl7dmFyIGM9KGw9aVtvXSlbMF0sdT1lW2NdLGg9bFsxXTtpZihzJiZsWzJdKXtpZih1PT09dCYmIShjIGluIGUpKXJldHVybiExfWVsc2V7dmFyIGQ9bmV3IEtuO2lmKHIpdmFyIHA9cih1LGgsYyxlLG4sZCk7aWYoIShwPT09dD9lcihoLHUsMyxyLGQpOnApKXJldHVybiExfX1yZXR1cm4hMH1mdW5jdGlvbiBpcih0KXtyZXR1cm4hKCFDcyh0KXx8KGZ1bmN0aW9uIGUodCl7cmV0dXJuISFEdCYmRHQgaW4gdH0pKHQpKSYmKE1zKHQpP1Z0OmZ0KS50ZXN0KGNhKHQpKX1mdW5jdGlvbiBycih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90Om51bGw9PXQ/Umw6Im9iamVjdCI9PXR5cGVvZiB0P21zKHQpP3VyKHRbMF0sdFsxXSk6Y3IodCk6amwodCl9ZnVuY3Rpb24gb3IodCl7aWYoIVlvKHQpKXJldHVybiB5bih0KTt2YXIgZT1bXTtmb3IodmFyIG4gaW4gQ3QodCkpT3QuY2FsbCh0LG4pJiYiY29uc3RydWN0b3IiIT1uJiZlLnB1c2gobik7cmV0dXJuIGV9ZnVuY3Rpb24gYXIodCl7aWYoIUNzKHQpKXJldHVybihmdW5jdGlvbiBlKHQpe3ZhciBlPVtdO2lmKG51bGwhPXQpZm9yKHZhciBuIGluIEN0KHQpKWUucHVzaChuKTtyZXR1cm4gZX0pKHQpO3ZhciBuPVlvKHQpLGk9W107Zm9yKHZhciByIGluIHQpKCJjb25zdHJ1Y3RvciIhPXJ8fCFuJiZPdC5jYWxsKHQscikpJiZpLnB1c2gocik7cmV0dXJuIGl9ZnVuY3Rpb24gc3IodCxlKXtyZXR1cm4gdDxlfWZ1bmN0aW9uIGxyKHQsZSl7dmFyIG49LTEsaT15cyh0KT93dCh0Lmxlbmd0aCk6W107cmV0dXJuIE9pKHQsKGZ1bmN0aW9uKHQscixvKXtpWysrbl09ZSh0LHIsbyl9KSksaX1mdW5jdGlvbiBjcih0KXt2YXIgZT1Sbyh0KTtyZXR1cm4gMT09ZS5sZW5ndGgmJmVbMF1bMl0/JG8oZVswXVswXSxlWzBdWzFdKTpmdW5jdGlvbihuKXtyZXR1cm4gbj09PXR8fG5yKG4sdCxlKX19ZnVuY3Rpb24gdXIoZSxuKXtyZXR1cm4gR28oZSkmJlhvKG4pPyRvKGxhKGUpLG4pOmZ1bmN0aW9uKGkpe3ZhciByPWlsKGksZSk7cmV0dXJuIHI9PT10JiZyPT09bj9ybChpLGUpOmVyKG4sciwzKX19ZnVuY3Rpb24gaHIoZSxuLGkscixvKXtlIT09biYmVmkobiwoZnVuY3Rpb24oYSxzKXtpZihvfHwobz1uZXcgS24pLENzKGEpKSEoZnVuY3Rpb24gbChlLG4saSxyLG8sYSxzKXt2YXIgbD1RbyhlLGkpLGM9UW8obixpKSx1PXMuZ2V0KGMpO2lmKHUpZWkoZSxpLHUpO2Vsc2V7dmFyIGg9YT9hKGwsYyxpKyIiLGUsbixzKTp0LGQ9aD09PXQ7aWYoZCl7dmFyIHA9bXMoYyksZj0hcCYmYnMoYyksbT0hcCYmIWYmJkhzKGMpO2g9YyxwfHxmfHxtP21zKGwpP2g9bDp2cyhsKT9oPUpyKGwpOmY/KGQ9ITEsaD1xcihjLCEwKSk6bT8oZD0hMSxoPVhyKGMsITApKTpoPVtdOk5zKGMpfHxmcyhjKT8oaD1sLGZzKGwpP2g9WHMobCk6Q3MobCkmJiFNcyhsKXx8KGg9Rm8oYykpKTpkPSExfWQmJihzLnNldChjLGgpLG8oaCxjLHIsYSxzKSxzLmRlbGV0ZShjKSksZWkoZSxpLGgpfX0pKGUsbixzLGksaHIscixvKTtlbHNle3ZhciBjPXI/cihRbyhlLHMpLGEscysiIixlLG4sbyk6dDtjPT09dCYmKGM9YSksZWkoZSxzLGMpfX0pLGNsKX1mdW5jdGlvbiBkcihlLG4pe3ZhciBpPWUubGVuZ3RoO2lmKGkpcmV0dXJuIFVvKG4rPW48MD9pOjAsaSk/ZVtuXTp0fWZ1bmN0aW9uIHByKHQsZSxuKXtlPWUubGVuZ3RoP05lKGUsKGZ1bmN0aW9uKHQpe3JldHVybiBtcyh0KT9mdW5jdGlvbihlKXtyZXR1cm4gcWkoZSwxPT09dC5sZW5ndGg/dFswXTp0KX06dH0pKTpbUmxdO3ZhciBpPS0xO3JldHVybiBlPU5lKGUsS2UoTm8oKSkpLChmdW5jdGlvbiByKHQsZSl7dmFyIG49dC5sZW5ndGg7Zm9yKHQuc29ydChlKTtuLS07KXRbbl09dFtuXS52YWx1ZTtyZXR1cm4gdH0pKGxyKHQsKGZ1bmN0aW9uKHQsbixyKXtyZXR1cm57Y3JpdGVyaWE6TmUoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUodCl9KSksaW5kZXg6KytpLHZhbHVlOnR9fSkpLChmdW5jdGlvbih0LGUpe3JldHVybihmdW5jdGlvbiBpKHQsZSxuKXtmb3IodmFyIGk9LTEscj10LmNyaXRlcmlhLG89ZS5jcml0ZXJpYSxhPXIubGVuZ3RoLHM9bi5sZW5ndGg7KytpPGE7KXt2YXIgbD0kcihyW2ldLG9baV0pO2lmKGwpcmV0dXJuIGk+PXM/bDpsKigiZGVzYyI9PW5baV0/LTE6MSl9cmV0dXJuIHQuaW5kZXgtZS5pbmRleH0pKHQsZSxuKX0pKX1mdW5jdGlvbiBmcih0LGUsbil7Zm9yKHZhciBpPS0xLHI9ZS5sZW5ndGgsbz17fTsrK2k8cjspe3ZhciBhPWVbaV0scz1xaSh0LGEpO24ocyxhKSYmd3IobyxVcihhLHQpLHMpfXJldHVybiBvfWZ1bmN0aW9uIG1yKHQsZSxuLGkpe3ZhciByPWk/VmU6RmUsbz0tMSxhPWUubGVuZ3RoLHM9dDtmb3IodD09PWUmJihlPUpyKGUpKSxuJiYocz1OZSh0LEtlKG4pKSk7KytvPGE7KWZvcih2YXIgbD0wLGM9ZVtvXSx1PW4/bihjKTpjOyhsPXIocyx1LGwsaSkpPi0xOylzIT09dCYmSnQuY2FsbChzLGwsMSksSnQuY2FsbCh0LGwsMSk7cmV0dXJuIHR9ZnVuY3Rpb24gZ3IodCxlKXtmb3IodmFyIG49dD9lLmxlbmd0aDowLGk9bi0xO24tLTspe3ZhciByPWVbbl07aWYobj09aXx8ciE9PW8pe3ZhciBvPXI7VW8ocik/SnQuY2FsbCh0LHIsMSk6UnIodCxyKX19cmV0dXJuIHR9ZnVuY3Rpb24gX3IodCxlKXtyZXR1cm4gdCtFZShTbigpKihlLXQrMSkpfWZ1bmN0aW9uIHlyKHQsZSl7dmFyIG49IiI7aWYoIXR8fGU8MXx8ZT51KXJldHVybiBuO2Rve2UlMiYmKG4rPXQpLChlPUVlKGUvMikpJiYodCs9dCl9d2hpbGUoZSk7cmV0dXJuIG59ZnVuY3Rpb24gdnIodCxlKXtyZXR1cm4gbmEoS28odCxlLFJsKSx0KyIiKX1mdW5jdGlvbiBicih0KXtyZXR1cm4gSm4oX2wodCkpfWZ1bmN0aW9uIHhyKHQsZSl7dmFyIG49X2wodCk7cmV0dXJuIG9hKG4sbGkoZSwwLG4ubGVuZ3RoKSl9ZnVuY3Rpb24gd3IoZSxuLGkscil7aWYoIUNzKGUpKXJldHVybiBlO2Zvcih2YXIgbz0tMSxhPShuPVVyKG4sZSkpLmxlbmd0aCxzPWEtMSxsPWU7bnVsbCE9bCYmKytvPGE7KXt2YXIgYz1sYShuW29dKSx1PWk7aWYoIl9fcHJvdG9fXyI9PT1jfHwiY29uc3RydWN0b3IiPT09Y3x8InByb3RvdHlwZSI9PT1jKXJldHVybiBlO2lmKG8hPXMpe3ZhciBoPWxbY107KHU9cj9yKGgsYyxsKTp0KT09PXQmJih1PUNzKGgpP2g6VW8obltvKzFdKT9bXTp7fSl9bmkobCxjLHUpLGw9bFtjXX1yZXR1cm4gZX12YXIgU3I9UG4/ZnVuY3Rpb24odCxlKXtyZXR1cm4gUG4uc2V0KHQsZSksdH06UmwsTXI9dWU/ZnVuY3Rpb24odCxlKXtyZXR1cm4gdWUodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTpQbChlKSx3cml0YWJsZTohMH0pfTpSbDtmdW5jdGlvbiBFcih0KXtyZXR1cm4gb2EoX2wodCkpfWZ1bmN0aW9uIFRyKHQsZSxuKXt2YXIgaT0tMSxyPXQubGVuZ3RoO2U8MCYmKGU9LWU+cj8wOnIrZSksKG49bj5yP3I6bik8MCYmKG4rPXIpLHI9ZT5uPzA6bi1lPj4+MCxlPj4+PTA7Zm9yKHZhciBvPXd0KHIpOysraTxyOylvW2ldPXRbaStlXTtyZXR1cm4gb31mdW5jdGlvbiBDcih0LGUpe3ZhciBuO3JldHVybiBPaSh0LChmdW5jdGlvbih0LGkscil7cmV0dXJuIShuPWUodCxpLHIpKX0pKSwhIW59ZnVuY3Rpb24gQXIodCxlLG4pe3ZhciBpPTAscj1udWxsPT10P2k6dC5sZW5ndGg7aWYoIm51bWJlciI9PXR5cGVvZiBlJiZlPT1lJiZyPD0yMTQ3NDgzNjQ3KXtmb3IoO2k8cjspe3ZhciBvPWkrcj4+PjEsYT10W29dO251bGwhPT1hJiYhQnMoYSkmJihuP2E8PWU6YTxlKT9pPW8rMTpyPW99cmV0dXJuIHJ9cmV0dXJuIGtyKHQsZSxSbCxuKX1mdW5jdGlvbiBrcihlLG4saSxyKXt2YXIgbz0wLGE9bnVsbD09ZT8wOmUubGVuZ3RoO2lmKDA9PT1hKXJldHVybiAwO2Zvcih2YXIgcz0obj1pKG4pKSE9bixsPW51bGw9PT1uLGM9QnMobiksdT1uPT09dDtvPGE7KXt2YXIgaD1FZSgobythKS8yKSxkPWkoZVtoXSkscD1kIT09dCxmPW51bGw9PT1kLG09ZD09ZCxnPUJzKGQpO2lmKHMpdmFyIF89cnx8bTtlbHNlIF89dT9tJiYocnx8cCk6bD9tJiZwJiYocnx8IWYpOmM/bSYmcCYmIWYmJihyfHwhZyk6IWYmJiFnJiYocj9kPD1uOmQ8bik7Xz9vPWgrMTphPWh9cmV0dXJuIGJuKGEsNDI5NDk2NzI5NCl9ZnVuY3Rpb24gTHIodCxlKXtmb3IodmFyIG49LTEsaT10Lmxlbmd0aCxyPTAsbz1bXTsrK248aTspe3ZhciBhPXRbbl0scz1lP2UoYSk6YTtpZighbnx8IWhzKHMsbCkpe3ZhciBsPXM7b1tyKytdPTA9PT1hPzA6YX19cmV0dXJuIG99ZnVuY3Rpb24gUHIodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0P3Q6QnModCk/aDordH1mdW5jdGlvbiBOcih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYobXModCkpcmV0dXJuIE5lKHQsTnIpKyIiO2lmKEJzKHQpKXJldHVybiBGbj9Gbi5jYWxsKHQpOiIiO3ZhciBlPXQrIiI7cmV0dXJuIjAiPT1lJiYxL3Q9PS0xLzA/Ii0wIjplfWZ1bmN0aW9uIElyKHQsZSxuKXt2YXIgaT0tMSxyPUxlLG89dC5sZW5ndGgsYT0hMCxzPVtdLGw9cztpZihuKWE9ITEscj1QZTtlbHNlIGlmKG8+PTIwMCl7dmFyIGM9ZT9udWxsOnZvKHQpO2lmKGMpcmV0dXJuIHVuKGMpO2E9ITEscj1KZSxsPW5ldyAkbn1lbHNlIGw9ZT9bXTpzO3Q6Zm9yKDsrK2k8bzspe3ZhciB1PXRbaV0saD1lP2UodSk6dTtpZih1PW58fDAhPT11P3U6MCxhJiZoPT1oKXtmb3IodmFyIGQ9bC5sZW5ndGg7ZC0tOylpZihsW2RdPT09aCljb250aW51ZSB0O2UmJmwucHVzaChoKSxzLnB1c2godSl9ZWxzZSByKGwsaCxuKXx8KGwhPT1zJiZsLnB1c2goaCkscy5wdXNoKHUpKX1yZXR1cm4gc31mdW5jdGlvbiBScih0LGUpe3JldHVybiBudWxsPT0odD1abyh0LGU9VXIoZSx0KSkpfHxkZWxldGUgdFtsYSh4YShlKSldfWZ1bmN0aW9uIE9yKHQsZSxuLGkpe3JldHVybiB3cih0LGUsbihxaSh0LGUpKSxpKX1mdW5jdGlvbiB6cih0LGUsbixpKXtmb3IodmFyIHI9dC5sZW5ndGgsbz1pP3I6LTE7KGk/by0tOisrbzxyKSYmZSh0W29dLG8sdCk7KTtyZXR1cm4gbj9Ucih0LGk/MDpvLGk/bysxOnIpOlRyKHQsaT9vKzE6MCxpP3I6byl9ZnVuY3Rpb24gRHIodCxlKXt2YXIgbj10O3JldHVybiBuIGluc3RhbmNlb2YgV24mJihuPW4udmFsdWUoKSksUmUoZSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5mdW5jLmFwcGx5KGUudGhpc0FyZyxJZShbdF0sZS5hcmdzKSl9KSxuKX1mdW5jdGlvbiBCcih0LGUsbil7dmFyIGk9dC5sZW5ndGg7aWYoaTwyKXJldHVybiBpP0lyKHRbMF0pOltdO2Zvcih2YXIgcj0tMSxvPXd0KGkpOysrcjxpOylmb3IodmFyIGE9dFtyXSxzPS0xOysrczxpOylzIT1yJiYob1tyXT1kaShvW3JdfHxhLHRbc10sZSxuKSk7cmV0dXJuIElyKEZpKG8sMSksZSxuKX1mdW5jdGlvbiBIcihlLG4saSl7Zm9yKHZhciByPS0xLG89ZS5sZW5ndGgsYT1uLmxlbmd0aCxzPXt9OysrcjxvOylpKHMsZVtyXSxyPGE/bltyXTp0KTtyZXR1cm4gc31mdW5jdGlvbiBGcih0KXtyZXR1cm4gdnModCk/dDpbXX1mdW5jdGlvbiBWcih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90OlJsfWZ1bmN0aW9uIFVyKHQsZSl7cmV0dXJuIG1zKHQpP3Q6R28odCxlKT9bdF06YWEoJHModCkpfXZhciBqcj12cjtmdW5jdGlvbiBHcihlLG4saSl7dmFyIHI9ZS5sZW5ndGg7cmV0dXJuIGk9aT09PXQ/cjppLCFuJiZpPj1yP2U6VHIoZSxuLGkpfXZhciBXcj1oZXx8ZnVuY3Rpb24odCl7cmV0dXJuIGNlLmNsZWFyVGltZW91dCh0KX07ZnVuY3Rpb24gcXIodCxlKXtpZihlKXJldHVybiB0LnNsaWNlKCk7dmFyIG49dC5sZW5ndGgsaT1XdD9XdChuKTpuZXcgdC5jb25zdHJ1Y3RvcihuKTtyZXR1cm4gdC5jb3B5KGkpLGl9ZnVuY3Rpb24gWXIodCl7dmFyIGU9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IEd0KGUpLnNldChuZXcgR3QodCkpLGV9ZnVuY3Rpb24gWHIodCxlKXt2YXIgbj1lP1lyKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3Iobix0LmJ5dGVPZmZzZXQsdC5sZW5ndGgpfWZ1bmN0aW9uICRyKGUsbil7aWYoZSE9PW4pe3ZhciBpPWUhPT10LHI9bnVsbD09PWUsbz1lPT1lLGE9QnMoZSkscz1uIT09dCxsPW51bGw9PT1uLGM9bj09bix1PUJzKG4pO2lmKCFsJiYhdSYmIWEmJmU+bnx8YSYmcyYmYyYmIWwmJiF1fHxyJiZzJiZjfHwhaSYmY3x8IW8pcmV0dXJuIDE7aWYoIXImJiFhJiYhdSYmZTxufHx1JiZpJiZvJiYhciYmIWF8fGwmJmkmJm98fCFzJiZvfHwhYylyZXR1cm4tMX1yZXR1cm4gMH1mdW5jdGlvbiBLcih0LGUsbixpKXtmb3IodmFyIHI9LTEsbz10Lmxlbmd0aCxhPW4ubGVuZ3RoLHM9LTEsbD1lLmxlbmd0aCxjPXZuKG8tYSwwKSx1PXd0KGwrYyksaD0haTsrK3M8bDspdVtzXT1lW3NdO2Zvcig7KytyPGE7KShofHxyPG8pJiYodVtuW3JdXT10W3JdKTtmb3IoO2MtLTspdVtzKytdPXRbcisrXTtyZXR1cm4gdX1mdW5jdGlvbiBacih0LGUsbixpKXtmb3IodmFyIHI9LTEsbz10Lmxlbmd0aCxhPS0xLHM9bi5sZW5ndGgsbD0tMSxjPWUubGVuZ3RoLHU9dm4oby1zLDApLGg9d3QodStjKSxkPSFpOysrcjx1OyloW3JdPXRbcl07Zm9yKHZhciBwPXI7KytsPGM7KWhbcCtsXT1lW2xdO2Zvcig7KythPHM7KShkfHxyPG8pJiYoaFtwK25bYV1dPXRbcisrXSk7cmV0dXJuIGh9ZnVuY3Rpb24gSnIodCxlKXt2YXIgbj0tMSxpPXQubGVuZ3RoO2ZvcihlfHwoZT13dChpKSk7KytuPGk7KWVbbl09dFtuXTtyZXR1cm4gZX1mdW5jdGlvbiBRcihlLG4saSxyKXt2YXIgbz0haTtpfHwoaT17fSk7Zm9yKHZhciBhPS0xLHM9bi5sZW5ndGg7KythPHM7KXt2YXIgbD1uW2FdLGM9cj9yKGlbbF0sZVtsXSxsLGksZSk6dDtjPT09dCYmKGM9ZVtsXSksbz9haShpLGwsYyk6bmkoaSxsLGMpfXJldHVybiBpfWZ1bmN0aW9uIHRvKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSl7dmFyIHI9bXMobik/d2U6cmksbz1lP2UoKTp7fTtyZXR1cm4gcihuLHQsTm8oaSwyKSxvKX19ZnVuY3Rpb24gZW8oZSl7cmV0dXJuIHZyKChmdW5jdGlvbihuLGkpe3ZhciByPS0xLG89aS5sZW5ndGgsYT1vPjE/aVtvLTFdOnQscz1vPjI/aVsyXTp0O2ZvcihhPWUubGVuZ3RoPjMmJiJmdW5jdGlvbiI9PXR5cGVvZiBhPyhvLS0sYSk6dCxzJiZqbyhpWzBdLGlbMV0scykmJihhPW88Mz90OmEsbz0xKSxuPUN0KG4pOysrcjxvOyl7dmFyIGw9aVtyXTtsJiZlKG4sbCxyLGEpfXJldHVybiBufSkpfWZ1bmN0aW9uIG5vKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSl7aWYobnVsbD09bilyZXR1cm4gbjtpZigheXMobikpcmV0dXJuIHQobixpKTtmb3IodmFyIHI9bi5sZW5ndGgsbz1lP3I6LTEsYT1DdChuKTsoZT9vLS06KytvPHIpJiYhMSE9PWkoYVtvXSxvLGEpOyk7cmV0dXJuIG59fWZ1bmN0aW9uIGlvKHQpe3JldHVybiBmdW5jdGlvbihlLG4saSl7Zm9yKHZhciByPS0xLG89Q3QoZSksYT1pKGUpLHM9YS5sZW5ndGg7cy0tOyl7dmFyIGw9YVt0P3M6KytyXTtpZighMT09PW4ob1tsXSxsLG8pKWJyZWFrfXJldHVybiBlfX1mdW5jdGlvbiBybyhlKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGk9YW4obj0kcyhuKSk/cG4obik6dCxyPWk/aVswXTpuLmNoYXJBdCgwKSxvPWk/R3IoaSwxKS5qb2luKCIiKTpuLnNsaWNlKDEpO3JldHVybiByW2VdKCkrb319ZnVuY3Rpb24gb28odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBSZShBbChibChlKS5yZXBsYWNlKFh0LCIiKSksdCwiIil9fWZ1bmN0aW9uIGFvKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cztzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gbmV3IHQ7Y2FzZSAxOnJldHVybiBuZXcgdChlWzBdKTtjYXNlIDI6cmV0dXJuIG5ldyB0KGVbMF0sZVsxXSk7Y2FzZSAzOnJldHVybiBuZXcgdChlWzBdLGVbMV0sZVsyXSk7Y2FzZSA0OnJldHVybiBuZXcgdChlWzBdLGVbMV0sZVsyXSxlWzNdKTtjYXNlIDU6cmV0dXJuIG5ldyB0KGVbMF0sZVsxXSxlWzJdLGVbM10sZVs0XSk7Y2FzZSA2OnJldHVybiBuZXcgdChlWzBdLGVbMV0sZVsyXSxlWzNdLGVbNF0sZVs1XSk7Y2FzZSA3OnJldHVybiBuZXcgdChlWzBdLGVbMV0sZVsyXSxlWzNdLGVbNF0sZVs1XSxlWzZdKX12YXIgbj1Vbih0LnByb3RvdHlwZSksaT10LmFwcGx5KG4sZSk7cmV0dXJuIENzKGkpP2k6bn19ZnVuY3Rpb24gc28oZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSxyKXt2YXIgbz1DdChuKTtpZigheXMobikpe3ZhciBhPU5vKGksMyk7bj1sbChuKSxpPWZ1bmN0aW9uKHQpe3JldHVybiBhKG9bdF0sdCxvKX19dmFyIHM9ZShuLGkscik7cmV0dXJuIHM+LTE/b1thP25bc106c106dH19ZnVuY3Rpb24gbG8obil7cmV0dXJuIFRvKChmdW5jdGlvbihpKXt2YXIgcj1pLmxlbmd0aCxvPXIsYT1Hbi5wcm90b3R5cGUudGhydTtmb3IobiYmaS5yZXZlcnNlKCk7by0tOyl7dmFyIHM9aVtvXTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygcyl0aHJvdyBuZXcgTHQoZSk7aWYoYSYmIWwmJiJ3cmFwcGVyIj09TG8ocykpdmFyIGw9bmV3IEduKFtdLCEwKX1mb3Iobz1sP286cjsrK288cjspe3ZhciBjPUxvKHM9aVtvXSksdT0id3JhcHBlciI9PWM/a28ocyk6dDtsPXUmJldvKHVbMF0pJiY0MjQ9PXVbMV0mJiF1WzRdLmxlbmd0aCYmMT09dVs5XT9sW0xvKHVbMF0pXS5hcHBseShsLHVbM10pOjE9PXMubGVuZ3RoJiZXbyhzKT9sW2NdKCk6bC50aHJ1KHMpfXJldHVybiBmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cyxlPXRbMF07aWYobCYmMT09dC5sZW5ndGgmJm1zKGUpKXJldHVybiBsLnBsYW50KGUpLnZhbHVlKCk7Zm9yKHZhciBuPTAsbz1yP2lbbl0uYXBwbHkodGhpcyx0KTplOysrbjxyOylvPWlbbl0uY2FsbCh0aGlzLG8pO3JldHVybiBvfX0pKX1mdW5jdGlvbiBjbyhlLG4saSxyLG8sYSxsLGMsdSxoKXt2YXIgZD1uJnMscD0xJm4sZj0yJm4sbT0yNCZuLGc9NTEyJm4sXz1mP3Q6YW8oZSk7cmV0dXJuIGZ1bmN0aW9uIHQoKXtmb3IodmFyIHM9YXJndW1lbnRzLmxlbmd0aCx5PXd0KHMpLHY9czt2LS07KXlbdl09YXJndW1lbnRzW3ZdO2lmKG0pdmFyIGI9UG8odCkseD1lbih5LGIpO2lmKHImJih5PUtyKHkscixvLG0pKSxhJiYoeT1acih5LGEsbCxtKSkscy09eCxtJiZzPGgpe3ZhciB3PWNuKHksYik7cmV0dXJuIF9vKGUsbixjbyx0LnBsYWNlaG9sZGVyLGkseSx3LGMsdSxoLXMpfXZhciBTPXA/aTp0aGlzLE09Zj9TW2VdOmU7cmV0dXJuIHM9eS5sZW5ndGgsYz95PUpvKHksYyk6ZyYmcz4xJiZ5LnJldmVyc2UoKSxkJiZ1PHMmJih5Lmxlbmd0aD11KSx0aGlzJiZ0aGlzIT09Y2UmJnRoaXMgaW5zdGFuY2VvZiB0JiYoTT1ffHxhbyhNKSksTS5hcHBseShTLHkpfX1mdW5jdGlvbiB1byh0LGUpe3JldHVybiBmdW5jdGlvbihuLGkpe3JldHVybihmdW5jdGlvbiByKHQsZSxuLGkpe3JldHVybiBqaSh0LChmdW5jdGlvbih0LHIsbyl7ZShpLG4odCkscixvKX0pKSxpfSkobix0LGUoaSkse30pfX1mdW5jdGlvbiBobyhlLG4pe3JldHVybiBmdW5jdGlvbihpLHIpe3ZhciBvO2lmKGk9PT10JiZyPT09dClyZXR1cm4gbjtpZihpIT09dCYmKG89aSksciE9PXQpe2lmKG89PT10KXJldHVybiByOyJzdHJpbmciPT10eXBlb2YgaXx8InN0cmluZyI9PXR5cGVvZiByPyhpPU5yKGkpLHI9TnIocikpOihpPVByKGkpLHI9UHIocikpLG89ZShpLHIpfXJldHVybiBvfX1mdW5jdGlvbiBwbyh0KXtyZXR1cm4gVG8oKGZ1bmN0aW9uKGUpe3JldHVybiBlPU5lKGUsS2UoTm8oKSkpLHZyKChmdW5jdGlvbihuKXt2YXIgaT10aGlzO3JldHVybiB0KGUsKGZ1bmN0aW9uKHQpe3JldHVybiB4ZSh0LGksbil9KSl9KSl9KSl9ZnVuY3Rpb24gZm8oZSxuKXt2YXIgaT0obj1uPT09dD8iICI6TnIobikpLmxlbmd0aDtpZihpPDIpcmV0dXJuIGk/eXIobixlKTpuO3ZhciByPXlyKG4sU2UoZS9kbihuKSkpO3JldHVybiBhbihuKT9HcihwbihyKSwwLGUpLmpvaW4oIiIpOnIuc2xpY2UoMCxlKX1mdW5jdGlvbiBtbyhlKXtyZXR1cm4gZnVuY3Rpb24obixpLHIpe3JldHVybiByJiYibnVtYmVyIiE9dHlwZW9mIHImJmpvKG4saSxyKSYmKGk9cj10KSxuPUdzKG4pLGk9PT10PyhpPW4sbj0wKTppPUdzKGkpLChmdW5jdGlvbiBvKHQsZSxuLGkpe2Zvcih2YXIgcj0tMSxvPXZuKFNlKChlLXQpLyhufHwxKSksMCksYT13dChvKTtvLS07KWFbaT9vOisrcl09dCx0Kz1uO3JldHVybiBhfSkobixpLHI9cj09PXQ/bjxpPzE6LTE6R3MociksZSl9fWZ1bmN0aW9uIGdvKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmInN0cmluZyI9PXR5cGVvZiBufHwoZT1ZcyhlKSxuPVlzKG4pKSx0KGUsbil9fWZ1bmN0aW9uIF9vKGUsbixpLHIscyxsLGMsdSxoLGQpe3ZhciBwPTgmbjtufD1wP286YSw0JihuJj1+KHA/YTpvKSl8fChuJj0tNCk7dmFyIGY9W2UsbixzLHA/bDp0LHA/Yzp0LHA/dDpsLHA/dDpjLHUsaCxkXSxtPWkuYXBwbHkodCxmKTtyZXR1cm4gV28oZSkmJnRhKG0sZiksbS5wbGFjZWhvbGRlcj1yLGlhKG0sZSxuKX1mdW5jdGlvbiB5byh0KXt2YXIgZT1UdFt0XTtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZih0PVlzKHQpLChuPW51bGw9PW4/MDpibihXcyhuKSwyOTIpKSYmV2UodCkpe3ZhciBpPSgkcyh0KSsiZSIpLnNwbGl0KCJlIik7cmV0dXJuKygoaT0oJHMoZShpWzBdKyJlIisoK2lbMV0rbikpKSsiZSIpLnNwbGl0KCJlIikpWzBdKyJlIisoK2lbMV0tbikpfXJldHVybiBlKHQpfX12YXIgdm89QW4mJjEvdW4obmV3IEFuKFssLTBdKSlbMV09PWM/ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBBbih0KX06SGw7ZnVuY3Rpb24gYm8odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPUJvKGUpO3JldHVybiBuPT14P3NuKGUpOm49PVQ/aG4oZSk6KGZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gTmUoZSwoZnVuY3Rpb24oZSl7cmV0dXJuW2UsdFtlXV19KSl9KShlLHQoZSkpfX1mdW5jdGlvbiB4byhuLGMsdSxoLGQscCxmLG0pe3ZhciBnPTImYztpZighZyYmImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEx0KGUpO3ZhciBfPWg/aC5sZW5ndGg6MDtpZihffHwoYyY9LTk3LGg9ZD10KSxmPWY9PT10P2Y6dm4oV3MoZiksMCksbT1tPT09dD9tOldzKG0pLF8tPWQ/ZC5sZW5ndGg6MCxjJmEpe3ZhciB5PWgsdj1kO2g9ZD10fXZhciBiPWc/dDprbyhuKSx4PVtuLGMsdSxoLGQseSx2LHAsZixtXTtpZihiJiYoZnVuY3Rpb24gdyh0LGUpe3ZhciBuPXRbMV0scj1lWzFdLG89bnxyLGE9cj09cyYmOD09bnx8cj09cyYmbj09bCYmdFs3XS5sZW5ndGg8PWVbOF18fDM4ND09ciYmZVs3XS5sZW5ndGg8PWVbOF0mJjg9PW47aWYoIShvPDEzMXx8YSkpcmV0dXJuIHQ7MSZyJiYodFsyXT1lWzJdLG98PTEmbj8wOjQpO3ZhciBjPWVbM107aWYoYyl7dmFyIHU9dFszXTt0WzNdPXU/S3IodSxjLGVbNF0pOmMsdFs0XT11P2NuKHRbM10saSk6ZVs0XX1yZXR1cm4oYz1lWzVdKSYmKHRbNV09KHU9dFs1XSk/WnIodSxjLGVbNl0pOmMsdFs2XT11P2NuKHRbNV0saSk6ZVs2XSksKGM9ZVs3XSkmJih0WzddPWMpLHImcyYmKHRbOF09bnVsbD09dFs4XT9lWzhdOmJuKHRbOF0sZVs4XSkpLG51bGw9PXRbOV0mJih0WzldPWVbOV0pLHRbMF09ZVswXSx0WzFdPW8sdH0pKHgsYiksbj14WzBdLGM9eFsxXSx1PXhbMl0saD14WzNdLGQ9eFs0XSwhKG09eFs5XT14WzldPT09dD9nPzA6bi5sZW5ndGg6dm4oeFs5XS1fLDApKSYmMjQmYyYmKGMmPS0yNSksYyYmMSE9YylFPTg9PWN8fGM9PXI/KGZ1bmN0aW9uIFMoZSxuLGkpe3ZhciByPWFvKGUpO3JldHVybiBmdW5jdGlvbiBvKCl7Zm9yKHZhciBhPWFyZ3VtZW50cy5sZW5ndGgscz13dChhKSxsPWEsYz1QbyhvKTtsLS07KXNbbF09YXJndW1lbnRzW2xdO3ZhciB1PWE8MyYmc1swXSE9PWMmJnNbYS0xXSE9PWM/W106Y24ocyxjKTtyZXR1cm4oYS09dS5sZW5ndGgpPGk/X28oZSxuLGNvLG8ucGxhY2Vob2xkZXIsdCxzLHUsdCx0LGktYSk6eGUodGhpcyYmdGhpcyE9PWNlJiZ0aGlzIGluc3RhbmNlb2Ygbz9yOmUsdGhpcyxzKX19KShuLGMsbSk6YyE9byYmMzMhPWN8fGQubGVuZ3RoP2NvLmFwcGx5KHQseCk6KGZ1bmN0aW9uIE0odCxlLG4saSl7dmFyIHI9MSZlLG89YW8odCk7cmV0dXJuIGZ1bmN0aW9uIGUoKXtmb3IodmFyIGE9LTEscz1hcmd1bWVudHMubGVuZ3RoLGw9LTEsYz1pLmxlbmd0aCx1PXd0KGMrcyksaD10aGlzJiZ0aGlzIT09Y2UmJnRoaXMgaW5zdGFuY2VvZiBlP286dDsrK2w8YzspdVtsXT1pW2xdO2Zvcig7cy0tOyl1W2wrK109YXJndW1lbnRzWysrYV07cmV0dXJuIHhlKGgscj9uOnRoaXMsdSl9fSkobixjLHUsaCk7ZWxzZSB2YXIgRT0oZnVuY3Rpb24gVCh0LGUsbil7dmFyIGk9MSZlLHI9YW8odCk7cmV0dXJuIGZ1bmN0aW9uIGUoKXtyZXR1cm4odGhpcyYmdGhpcyE9PWNlJiZ0aGlzIGluc3RhbmNlb2YgZT9yOnQpLmFwcGx5KGk/bjp0aGlzLGFyZ3VtZW50cyl9fSkobixjLHUpO3JldHVybiBpYSgoYj9Tcjp0YSkoRSx4KSxuLGMpfWZ1bmN0aW9uIHdvKGUsbixpLHIpe3JldHVybiBlPT09dHx8aHMoZSxOdFtpXSkmJiFPdC5jYWxsKHIsaSk/bjplfWZ1bmN0aW9uIFNvKGUsbixpLHIsbyxhKXtyZXR1cm4gQ3MoZSkmJkNzKG4pJiYoYS5zZXQobixlKSxocihlLG4sdCxTbyxhKSxhLmRlbGV0ZShuKSksZX1mdW5jdGlvbiBNbyhlKXtyZXR1cm4gTnMoZSk/dDplfWZ1bmN0aW9uIEVvKGUsbixpLHIsbyxhKXt2YXIgcz0xJmksbD1lLmxlbmd0aCxjPW4ubGVuZ3RoO2lmKGwhPWMmJiEocyYmYz5sKSlyZXR1cm4hMTt2YXIgdT1hLmdldChlKSxoPWEuZ2V0KG4pO2lmKHUmJmgpcmV0dXJuIHU9PW4mJmg9PWU7dmFyIGQ9LTEscD0hMCxmPTImaT9uZXcgJG46dDtmb3IoYS5zZXQoZSxuKSxhLnNldChuLGUpOysrZDxsOyl7dmFyIG09ZVtkXSxnPW5bZF07aWYocil2YXIgXz1zP3IoZyxtLGQsbixlLGEpOnIobSxnLGQsZSxuLGEpO2lmKF8hPT10KXtpZihfKWNvbnRpbnVlO3A9ITE7YnJlYWt9aWYoZil7aWYoIXplKG4sKGZ1bmN0aW9uKHQsZSl7aWYoIUplKGYsZSkmJihtPT09dHx8byhtLHQsaSxyLGEpKSlyZXR1cm4gZi5wdXNoKGUpfSkpKXtwPSExO2JyZWFrfX1lbHNlIGlmKG0hPT1nJiYhbyhtLGcsaSxyLGEpKXtwPSExO2JyZWFrfX1yZXR1cm4gYS5kZWxldGUoZSksYS5kZWxldGUobikscH1mdW5jdGlvbiBUbyhlKXtyZXR1cm4gbmEoS28oZSx0LGdhKSxlKyIiKX1mdW5jdGlvbiBDbyh0KXtyZXR1cm4gWWkodCxsbCx6byl9ZnVuY3Rpb24gQW8odCl7cmV0dXJuIFlpKHQsY2wsRG8pfXZhciBrbz1Qbj9mdW5jdGlvbih0KXtyZXR1cm4gUG4uZ2V0KHQpfTpIbDtmdW5jdGlvbiBMbyh0KXtmb3IodmFyIGU9dC5uYW1lKyIiLG49Tm5bZV0saT1PdC5jYWxsKE5uLGUpP24ubGVuZ3RoOjA7aS0tOyl7dmFyIHI9bltpXSxvPXIuZnVuYztpZihudWxsPT1vfHxvPT10KXJldHVybiByLm5hbWV9cmV0dXJuIGV9ZnVuY3Rpb24gUG8odCl7cmV0dXJuKE90LmNhbGwoVm4sInBsYWNlaG9sZGVyIik/Vm46dCkucGxhY2Vob2xkZXJ9ZnVuY3Rpb24gTm8oKXt2YXIgdD1Wbi5pdGVyYXRlZXx8T2w7cmV0dXJuIHQ9dD09PU9sP3JyOnQsYXJndW1lbnRzLmxlbmd0aD90KGFyZ3VtZW50c1swXSxhcmd1bWVudHNbMV0pOnR9ZnVuY3Rpb24gSW8odCxlKXt2YXIgbj10Ll9fZGF0YV9fO3JldHVybihmdW5jdGlvbiBpKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiJzdHJpbmciPT1lfHwibnVtYmVyIj09ZXx8InN5bWJvbCI9PWV8fCJib29sZWFuIj09ZT8iX19wcm90b19fIiE9PXQ6bnVsbD09PXR9KShlKT9uWyJzdHJpbmciPT10eXBlb2YgZT8ic3RyaW5nIjoiaGFzaCJdOm4ubWFwfWZ1bmN0aW9uIFJvKHQpe2Zvcih2YXIgZT1sbCh0KSxuPWUubGVuZ3RoO24tLTspe3ZhciBpPWVbbl0scj10W2ldO2Vbbl09W2kscixYbyhyKV19cmV0dXJuIGV9ZnVuY3Rpb24gT28oZSxuKXt2YXIgaT0oZnVuY3Rpb24gcihlLG4pe3JldHVybiBudWxsPT1lP3Q6ZVtuXX0pKGUsbik7cmV0dXJuIGlyKGkpP2k6dH12YXIgem89VGU/ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/W106KHQ9Q3QodCksa2UoVGUodCksKGZ1bmN0aW9uKGUpe3JldHVybiBLdC5jYWxsKHQsZSl9KSkpfTpxbCxEbz1UZT9mdW5jdGlvbih0KXtmb3IodmFyIGU9W107dDspSWUoZSx6byh0KSksdD1xdCh0KTtyZXR1cm4gZX06cWwsQm89WGk7ZnVuY3Rpb24gSG8odCxlLG4pe2Zvcih2YXIgaT0tMSxyPShlPVVyKGUsdCkpLmxlbmd0aCxvPSExOysraTxyOyl7dmFyIGE9bGEoZVtpXSk7aWYoIShvPW51bGwhPXQmJm4odCxhKSkpYnJlYWs7dD10W2FdfXJldHVybiBvfHwrK2khPXI/bzohIShyPW51bGw9PXQ/MDp0Lmxlbmd0aCkmJlRzKHIpJiZVbyhhLHIpJiYobXModCl8fGZzKHQpKX1mdW5jdGlvbiBGbyh0KXtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdC5jb25zdHJ1Y3Rvcnx8WW8odCk/e306VW4ocXQodCkpfWZ1bmN0aW9uIFZvKHQpe3JldHVybiBtcyh0KXx8ZnModCl8fCEhKHJlJiZ0JiZ0W3JlXSl9ZnVuY3Rpb24gVW8odCxlKXt2YXIgbj10eXBlb2YgdDtyZXR1cm4hIShlPW51bGw9PWU/dTplKSYmKCJudW1iZXIiPT1ufHwic3ltYm9sIiE9biYmZ3QudGVzdCh0KSkmJnQ+LTEmJnQlMT09MCYmdDxlfWZ1bmN0aW9uIGpvKHQsZSxuKXtpZighQ3MobikpcmV0dXJuITE7dmFyIGk9dHlwZW9mIGU7cmV0dXJuISEoIm51bWJlciI9PWk/eXMobikmJlVvKGUsbi5sZW5ndGgpOiJzdHJpbmciPT1pJiZlIGluIG4pJiZocyhuW2VdLHQpfWZ1bmN0aW9uIEdvKHQsZSl7aWYobXModCkpcmV0dXJuITE7dmFyIG49dHlwZW9mIHQ7cmV0dXJuISgibnVtYmVyIiE9biYmInN5bWJvbCIhPW4mJiJib29sZWFuIiE9biYmbnVsbCE9dCYmIUJzKHQpKXx8Si50ZXN0KHQpfHwhWi50ZXN0KHQpfHxudWxsIT1lJiZ0IGluIEN0KGUpfWZ1bmN0aW9uIFdvKHQpe3ZhciBlPUxvKHQpLG49Vm5bZV07aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG58fCEoZSBpbiBXbi5wcm90b3R5cGUpKXJldHVybiExO2lmKHQ9PT1uKXJldHVybiEwO3ZhciBpPWtvKG4pO3JldHVybiEhaSYmdD09PWlbMF19KEVuJiZCbyhuZXcgRW4obmV3IEFycmF5QnVmZmVyKDEpKSkhPVB8fFRuJiZCbyhuZXcgVG4pIT14fHxDbiYmQm8oQ24ucmVzb2x2ZSgpKSE9TXx8QW4mJkJvKG5ldyBBbikhPVR8fGtuJiZCbyhuZXcga24pIT1rKSYmKEJvPWZ1bmN0aW9uKGUpe3ZhciBuPVhpKGUpLGk9bj09Uz9lLmNvbnN0cnVjdG9yOnQscj1pP2NhKGkpOiIiO2lmKHIpc3dpdGNoKHIpe2Nhc2UgSW46cmV0dXJuIFA7Y2FzZSBSbjpyZXR1cm4geDtjYXNlIE9uOnJldHVybiBNO2Nhc2Ugem46cmV0dXJuIFQ7Y2FzZSBEbjpyZXR1cm4ga31yZXR1cm4gbn0pO3ZhciBxbz1JdD9NczpZbDtmdW5jdGlvbiBZbyh0KXt2YXIgZT10JiZ0LmNvbnN0cnVjdG9yO3JldHVybiB0PT09KCJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLnByb3RvdHlwZXx8TnQpfWZ1bmN0aW9uIFhvKHQpe3JldHVybiB0PT10JiYhQ3ModCl9ZnVuY3Rpb24gJG8oZSxuKXtyZXR1cm4gZnVuY3Rpb24oaSl7cmV0dXJuIG51bGwhPWkmJmlbZV09PT1uJiYobiE9PXR8fGUgaW4gQ3QoaSkpfX1mdW5jdGlvbiBLbyhlLG4saSl7cmV0dXJuIG49dm4obj09PXQ/ZS5sZW5ndGgtMTpuLDApLGZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cyxyPS0xLG89dm4odC5sZW5ndGgtbiwwKSxhPXd0KG8pOysrcjxvOylhW3JdPXRbbityXTtyPS0xO2Zvcih2YXIgcz13dChuKzEpOysrcjxuOylzW3JdPXRbcl07cmV0dXJuIHNbbl09aShhKSx4ZShlLHRoaXMscyl9fWZ1bmN0aW9uIFpvKHQsZSl7cmV0dXJuIGUubGVuZ3RoPDI/dDpxaSh0LFRyKGUsMCwtMSkpfWZ1bmN0aW9uIEpvKGUsbil7Zm9yKHZhciBpPWUubGVuZ3RoLHI9Ym4obi5sZW5ndGgsaSksbz1KcihlKTtyLS07KXt2YXIgYT1uW3JdO2Vbcl09VW8oYSxpKT9vW2FdOnR9cmV0dXJuIGV9ZnVuY3Rpb24gUW8odCxlKXtpZigoImNvbnN0cnVjdG9yIiE9PWV8fCJmdW5jdGlvbiIhPXR5cGVvZiB0W2VdKSYmIl9fcHJvdG9fXyIhPWUpcmV0dXJuIHRbZV19dmFyIHRhPXJhKFNyKSxlYT1mZXx8ZnVuY3Rpb24odCxlKXtyZXR1cm4gY2Uuc2V0VGltZW91dCh0LGUpfSxuYT1yYShNcik7ZnVuY3Rpb24gaWEodCxlLG4pe3ZhciBpPWUrIiI7cmV0dXJuIG5hKHQsKGZ1bmN0aW9uIGEodCxlKXt2YXIgbj1lLmxlbmd0aDtpZighbilyZXR1cm4gdDt2YXIgaT1uLTE7cmV0dXJuIGVbaV09KG4+MT8iJiAiOiIiKStlW2ldLGU9ZS5qb2luKG4+Mj8iLCAiOiIgIiksdC5yZXBsYWNlKHJ0LCJ7XG4vKiBbd3JhcHBlZCB3aXRoICIrZSsiXSAqL1xuIil9KShpLChmdW5jdGlvbiBvKHQsZSl7cmV0dXJuIE1lKHAsKGZ1bmN0aW9uKG4pe3ZhciBpPSJfLiIrblswXTtlJm5bMV0mJiFMZSh0LGkpJiZ0LnB1c2goaSl9KSksdC5zb3J0KCl9KSgoZnVuY3Rpb24gcih0KXt2YXIgZT10Lm1hdGNoKG90KTtyZXR1cm4gZT9lWzFdLnNwbGl0KGF0KTpbXX0pKGkpLG4pKSl9ZnVuY3Rpb24gcmEoZSl7dmFyIG49MCxpPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9eG4oKSxvPTE2LShyLWkpO2lmKGk9cixvPjApe2lmKCsrbj49ODAwKXJldHVybiBhcmd1bWVudHNbMF19ZWxzZSBuPTA7cmV0dXJuIGUuYXBwbHkodCxhcmd1bWVudHMpfX1mdW5jdGlvbiBvYShlLG4pe3ZhciBpPS0xLHI9ZS5sZW5ndGgsbz1yLTE7Zm9yKG49bj09PXQ/cjpuOysraTxuOyl7dmFyIGE9X3IoaSxvKSxzPWVbYV07ZVthXT1lW2ldLGVbaV09c31yZXR1cm4gZS5sZW5ndGg9bixlfXZhciBhYT0oZnVuY3Rpb24gc2EodCl7dmFyIGU9b3ModCwoZnVuY3Rpb24odCl7cmV0dXJuIDUwMD09PW4uc2l6ZSYmbi5jbGVhcigpLHR9KSksbj1lLmNhY2hlO3JldHVybiBlfSkoKGZ1bmN0aW9uKHQpe3ZhciBlPVtdO3JldHVybiA0Nj09PXQuY2hhckNvZGVBdCgwKSYmZS5wdXNoKCIiKSx0LnJlcGxhY2UoUSwoZnVuY3Rpb24odCxuLGkscil7ZS5wdXNoKGk/ci5yZXBsYWNlKGN0LCIkMSIpOm58fHQpfSkpLGV9KSk7ZnVuY3Rpb24gbGEodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0fHxCcyh0KSlyZXR1cm4gdDt2YXIgZT10KyIiO3JldHVybiIwIj09ZSYmMS90PT0tMS8wPyItMCI6ZX1mdW5jdGlvbiBjYSh0KXtpZihudWxsIT10KXt0cnl7cmV0dXJuIFJ0LmNhbGwodCl9Y2F0Y2godCl7fXRyeXtyZXR1cm4gdCsiIn1jYXRjaCh0KXt9fXJldHVybiIifWZ1bmN0aW9uIHVhKHQpe2lmKHQgaW5zdGFuY2VvZiBXbilyZXR1cm4gdC5jbG9uZSgpO3ZhciBlPW5ldyBHbih0Ll9fd3JhcHBlZF9fLHQuX19jaGFpbl9fKTtyZXR1cm4gZS5fX2FjdGlvbnNfXz1Kcih0Ll9fYWN0aW9uc19fKSxlLl9faW5kZXhfXz10Ll9faW5kZXhfXyxlLl9fdmFsdWVzX189dC5fX3ZhbHVlc19fLGV9dmFyIGhhPXZyKChmdW5jdGlvbih0LGUpe3JldHVybiB2cyh0KT9kaSh0LEZpKGUsMSx2cywhMCkpOltdfSkpLGRhPXZyKChmdW5jdGlvbihlLG4pe3ZhciBpPXhhKG4pO3JldHVybiB2cyhpKSYmKGk9dCksdnMoZSk/ZGkoZSxGaShuLDEsdnMsITApLE5vKGksMikpOltdfSkpLHBhPXZyKChmdW5jdGlvbihlLG4pe3ZhciBpPXhhKG4pO3JldHVybiB2cyhpKSYmKGk9dCksdnMoZSk/ZGkoZSxGaShuLDEsdnMsITApLHQsaSk6W119KSk7ZnVuY3Rpb24gZmEodCxlLG4pe3ZhciBpPW51bGw9PXQ/MDp0Lmxlbmd0aDtpZighaSlyZXR1cm4tMTt2YXIgcj1udWxsPT1uPzA6V3Mobik7cmV0dXJuIHI8MCYmKHI9dm4oaStyLDApKSxIZSh0LE5vKGUsMykscil9ZnVuY3Rpb24gbWEoZSxuLGkpe3ZhciByPW51bGw9PWU/MDplLmxlbmd0aDtpZighcilyZXR1cm4tMTt2YXIgbz1yLTE7cmV0dXJuIGkhPT10JiYobz1XcyhpKSxvPWk8MD92bihyK28sMCk6Ym4obyxyLTEpKSxIZShlLE5vKG4sMyksbywhMCl9ZnVuY3Rpb24gZ2EodCl7cmV0dXJuIG51bGwhPXQmJnQubGVuZ3RoP0ZpKHQsMSk6W119ZnVuY3Rpb24gX2EoZSl7cmV0dXJuIGUmJmUubGVuZ3RoP2VbMF06dH12YXIgeWE9dnIoKGZ1bmN0aW9uKHQpe3ZhciBlPU5lKHQsRnIpO3JldHVybiBlLmxlbmd0aCYmZVswXT09PXRbMF0/SmkoZSk6W119KSksdmE9dnIoKGZ1bmN0aW9uKGUpe3ZhciBuPXhhKGUpLGk9TmUoZSxGcik7cmV0dXJuIG49PT14YShpKT9uPXQ6aS5wb3AoKSxpLmxlbmd0aCYmaVswXT09PWVbMF0/SmkoaSxObyhuLDIpKTpbXX0pKSxiYT12cigoZnVuY3Rpb24oZSl7dmFyIG49eGEoZSksaT1OZShlLEZyKTtyZXR1cm4obj0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOnQpJiZpLnBvcCgpLGkubGVuZ3RoJiZpWzBdPT09ZVswXT9KaShpLHQsbik6W119KSk7ZnVuY3Rpb24geGEoZSl7dmFyIG49bnVsbD09ZT8wOmUubGVuZ3RoO3JldHVybiBuP2Vbbi0xXTp0fXZhciB3YT12cihTYSk7ZnVuY3Rpb24gU2EodCxlKXtyZXR1cm4gdCYmdC5sZW5ndGgmJmUmJmUubGVuZ3RoP21yKHQsZSk6dH12YXIgTWE9VG8oKGZ1bmN0aW9uKHQsZSl7dmFyIG49bnVsbD09dD8wOnQubGVuZ3RoLGk9c2kodCxlKTtyZXR1cm4gZ3IodCxOZShlLChmdW5jdGlvbih0KXtyZXR1cm4gVW8odCxuKT8rdDp0fSkpLnNvcnQoJHIpKSxpfSkpO2Z1bmN0aW9uIEVhKHQpe3JldHVybiBudWxsPT10P3Q6TW4uY2FsbCh0KX12YXIgVGE9dnIoKGZ1bmN0aW9uKHQpe3JldHVybiBJcihGaSh0LDEsdnMsITApKX0pKSxDYT12cigoZnVuY3Rpb24oZSl7dmFyIG49eGEoZSk7cmV0dXJuIHZzKG4pJiYobj10KSxJcihGaShlLDEsdnMsITApLE5vKG4sMikpfSkpLEFhPXZyKChmdW5jdGlvbihlKXt2YXIgbj14YShlKTtyZXR1cm4gbj0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOnQsSXIoRmkoZSwxLHZzLCEwKSx0LG4pfSkpO2Z1bmN0aW9uIGthKHQpe2lmKCF0fHwhdC5sZW5ndGgpcmV0dXJuW107dmFyIGU9MDtyZXR1cm4gdD1rZSh0LChmdW5jdGlvbih0KXtpZih2cyh0KSlyZXR1cm4gZT12bih0Lmxlbmd0aCxlKSwhMH0pKSxYZShlLChmdW5jdGlvbihlKXtyZXR1cm4gTmUodCxHZShlKSl9KSl9ZnVuY3Rpb24gTGEoZSxuKXtpZighZXx8IWUubGVuZ3RoKXJldHVybltdO3ZhciBpPWthKGUpO3JldHVybiBudWxsPT1uP2k6TmUoaSwoZnVuY3Rpb24oZSl7cmV0dXJuIHhlKG4sdCxlKX0pKX12YXIgUGE9dnIoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZzKHQpP2RpKHQsZSk6W119KSksTmE9dnIoKGZ1bmN0aW9uKHQpe3JldHVybiBCcihrZSh0LHZzKSl9KSksSWE9dnIoKGZ1bmN0aW9uKGUpe3ZhciBuPXhhKGUpO3JldHVybiB2cyhuKSYmKG49dCksQnIoa2UoZSx2cyksTm8obiwyKSl9KSksUmE9dnIoKGZ1bmN0aW9uKGUpe3ZhciBuPXhhKGUpO3JldHVybiBuPSJmdW5jdGlvbiI9PXR5cGVvZiBuP246dCxCcihrZShlLHZzKSx0LG4pfSkpLE9hPXZyKGthKSx6YT12cigoZnVuY3Rpb24oZSl7dmFyIG49ZS5sZW5ndGgsaT1uPjE/ZVtuLTFdOnQ7cmV0dXJuIGk9ImZ1bmN0aW9uIj09dHlwZW9mIGk/KGUucG9wKCksaSk6dCxMYShlLGkpfSkpO2Z1bmN0aW9uIERhKHQpe3ZhciBlPVZuKHQpO3JldHVybiBlLl9fY2hhaW5fXz0hMCxlfWZ1bmN0aW9uIEJhKHQsZSl7cmV0dXJuIGUodCl9dmFyIEhhPVRvKChmdW5jdGlvbihlKXt2YXIgbj1lLmxlbmd0aCxpPW4/ZVswXTowLHI9dGhpcy5fX3dyYXBwZWRfXyxvPWZ1bmN0aW9uKHQpe3JldHVybiBzaSh0LGUpfTtyZXR1cm4hKG4+MXx8dGhpcy5fX2FjdGlvbnNfXy5sZW5ndGgpJiZyIGluc3RhbmNlb2YgV24mJlVvKGkpPygocj1yLnNsaWNlKGksK2krKG4/MTowKSkpLl9fYWN0aW9uc19fLnB1c2goe2Z1bmM6QmEsYXJnczpbb10sdGhpc0FyZzp0fSksbmV3IEduKHIsdGhpcy5fX2NoYWluX18pLnRocnUoKGZ1bmN0aW9uKGUpe3JldHVybiBuJiYhZS5sZW5ndGgmJmUucHVzaCh0KSxlfSkpKTp0aGlzLnRocnUobyl9KSksRmE9dG8oKGZ1bmN0aW9uKHQsZSxuKXtPdC5jYWxsKHQsbik/Kyt0W25dOmFpKHQsbiwxKX0pKSxWYT1zbyhmYSksVWE9c28obWEpO2Z1bmN0aW9uIGphKHQsZSl7cmV0dXJuKG1zKHQpP01lOk9pKSh0LE5vKGUsMykpfWZ1bmN0aW9uIEdhKHQsZSl7cmV0dXJuKG1zKHQpP0NlOnppKSh0LE5vKGUsMykpfXZhciBXYT10bygoZnVuY3Rpb24odCxlLG4pe090LmNhbGwodCxuKT90W25dLnB1c2goZSk6YWkodCxuLFtlXSl9KSkscWE9dnIoKGZ1bmN0aW9uKHQsZSxuKXt2YXIgaT0tMSxyPSJmdW5jdGlvbiI9PXR5cGVvZiBlLG89eXModCk/d3QodC5sZW5ndGgpOltdO3JldHVybiBPaSh0LChmdW5jdGlvbih0KXtvWysraV09cj94ZShlLHQsbik6UWkodCxlLG4pfSkpLG99KSksWWE9dG8oKGZ1bmN0aW9uKHQsZSxuKXthaSh0LG4sZSl9KSk7ZnVuY3Rpb24gWGEodCxlKXtyZXR1cm4obXModCk/TmU6bHIpKHQsTm8oZSwzKSl9dmFyICRhPXRvKChmdW5jdGlvbih0LGUsbil7dFtuPzA6MV0ucHVzaChlKX0pLChmdW5jdGlvbigpe3JldHVybltbXSxbXV19KSksS2E9dnIoKGZ1bmN0aW9uKHQsZSl7aWYobnVsbD09dClyZXR1cm5bXTt2YXIgbj1lLmxlbmd0aDtyZXR1cm4gbj4xJiZqbyh0LGVbMF0sZVsxXSk/ZT1bXTpuPjImJmpvKGVbMF0sZVsxXSxlWzJdKSYmKGU9W2VbMF1dKSxwcih0LEZpKGUsMSksW10pfSkpLFphPXBlfHxmdW5jdGlvbigpe3JldHVybiBjZS5EYXRlLm5vdygpfTtmdW5jdGlvbiBKYShlLG4saSl7cmV0dXJuIG49aT90Om4seG8oZSxzLHQsdCx0LHQsbj1lJiZudWxsPT1uP2UubGVuZ3RoOm4pfWZ1bmN0aW9uIFFhKG4saSl7dmFyIHI7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGkpdGhyb3cgbmV3IEx0KGUpO3JldHVybiBuPVdzKG4pLGZ1bmN0aW9uKCl7cmV0dXJuLS1uPjAmJihyPWkuYXBwbHkodGhpcyxhcmd1bWVudHMpKSxuPD0xJiYoaT10KSxyfX12YXIgdHM9dnIoKGZ1bmN0aW9uKHQsZSxuKXt2YXIgaT0xO2lmKG4ubGVuZ3RoKXt2YXIgcj1jbihuLFBvKHRzKSk7aXw9b31yZXR1cm4geG8odCxpLGUsbixyKX0pKSxlcz12cigoZnVuY3Rpb24odCxlLG4pe3ZhciBpPTM7aWYobi5sZW5ndGgpe3ZhciByPWNuKG4sUG8oZXMpKTtpfD1vfXJldHVybiB4byhlLGksdCxuLHIpfSkpO2Z1bmN0aW9uIG5zKG4saSxyKXt2YXIgbyxhLHMsbCxjLHUsaD0wLGQ9ITEscD0hMSxmPSEwO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IG5ldyBMdChlKTtmdW5jdGlvbiBtKGUpe3ZhciBpPW8scj1hO3JldHVybiBvPWE9dCxoPWUsbD1uLmFwcGx5KHIsaSl9ZnVuY3Rpb24gZyh0KXtyZXR1cm4gaD10LGM9ZWEoeSxpKSxkP20odCk6bH1mdW5jdGlvbiBfKGUpe3ZhciBuPWUtdTtyZXR1cm4gdT09PXR8fG4+PWl8fG48MHx8cCYmZS1oPj1zfWZ1bmN0aW9uIHkoKXt2YXIgdD1aYSgpO2lmKF8odCkpcmV0dXJuIHYodCk7Yz1lYSh5LChmdW5jdGlvbiBlKHQpe3ZhciBlPWktKHQtdSk7cmV0dXJuIHA/Ym4oZSxzLSh0LWgpKTplfSkodCkpfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIGM9dCxmJiZvP20oZSk6KG89YT10LGwpfWZ1bmN0aW9uIGIoKXt2YXIgZT1aYSgpLG49XyhlKTtpZihvPWFyZ3VtZW50cyxhPXRoaXMsdT1lLG4pe2lmKGM9PT10KXJldHVybiBnKHUpO2lmKHApcmV0dXJuIFdyKGMpLGM9ZWEoeSxpKSxtKHUpfXJldHVybiBjPT09dCYmKGM9ZWEoeSxpKSksbH1yZXR1cm4gaT1ZcyhpKXx8MCxDcyhyKSYmKGQ9ISFyLmxlYWRpbmcscz0ocD0ibWF4V2FpdCJpbiByKT92bihZcyhyLm1heFdhaXQpfHwwLGkpOnMsZj0idHJhaWxpbmciaW4gcj8hIXIudHJhaWxpbmc6ZiksYi5jYW5jZWw9ZnVuY3Rpb24geCgpe2MhPT10JiZXcihjKSxoPTAsbz11PWE9Yz10fSxiLmZsdXNoPWZ1bmN0aW9uIHcoKXtyZXR1cm4gYz09PXQ/bDp2KFphKCkpfSxifXZhciBpcz12cigoZnVuY3Rpb24odCxlKXtyZXR1cm4gaGkodCwxLGUpfSkpLHJzPXZyKChmdW5jdGlvbih0LGUsbil7cmV0dXJuIGhpKHQsWXMoZSl8fDAsbil9KSk7ZnVuY3Rpb24gb3ModCxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdHx8bnVsbCE9biYmImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEx0KGUpO3ZhciBpPWZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLHI9bj9uLmFwcGx5KHRoaXMsZSk6ZVswXSxvPWkuY2FjaGU7aWYoby5oYXMocikpcmV0dXJuIG8uZ2V0KHIpO3ZhciBhPXQuYXBwbHkodGhpcyxlKTtyZXR1cm4gaS5jYWNoZT1vLnNldChyLGEpfHxvLGF9O3JldHVybiBpLmNhY2hlPW5ldyhvcy5DYWNoZXx8WG4pLGl9ZnVuY3Rpb24gYXModCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEx0KGUpO3JldHVybiBmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cztzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4hdC5jYWxsKHRoaXMpO2Nhc2UgMTpyZXR1cm4hdC5jYWxsKHRoaXMsZVswXSk7Y2FzZSAyOnJldHVybiF0LmNhbGwodGhpcyxlWzBdLGVbMV0pO2Nhc2UgMzpyZXR1cm4hdC5jYWxsKHRoaXMsZVswXSxlWzFdLGVbMl0pfXJldHVybiF0LmFwcGx5KHRoaXMsZSl9fW9zLkNhY2hlPVhuO3ZhciBzcz1qcigoZnVuY3Rpb24odCxlKXt2YXIgbj0oZT0xPT1lLmxlbmd0aCYmbXMoZVswXSk/TmUoZVswXSxLZShObygpKSk6TmUoRmkoZSwxKSxLZShObygpKSkpLmxlbmd0aDtyZXR1cm4gdnIoKGZ1bmN0aW9uKGkpe2Zvcih2YXIgcj0tMSxvPWJuKGkubGVuZ3RoLG4pOysrcjxvOylpW3JdPWVbcl0uY2FsbCh0aGlzLGlbcl0pO3JldHVybiB4ZSh0LHRoaXMsaSl9KSl9KSksbHM9dnIoKGZ1bmN0aW9uKGUsbil7dmFyIGk9Y24obixQbyhscykpO3JldHVybiB4byhlLG8sdCxuLGkpfSkpLGNzPXZyKChmdW5jdGlvbihlLG4pe3ZhciBpPWNuKG4sUG8oY3MpKTtyZXR1cm4geG8oZSxhLHQsbixpKX0pKSx1cz1UbygoZnVuY3Rpb24oZSxuKXtyZXR1cm4geG8oZSxsLHQsdCx0LG4pfSkpO2Z1bmN0aW9uIGhzKHQsZSl7cmV0dXJuIHQ9PT1lfHx0IT10JiZlIT1lfXZhciBkcz1nbygkaSkscHM9Z28oKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ+PWV9KSksZnM9dHIoKGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30pKCkpP3RyOmZ1bmN0aW9uKHQpe3JldHVybiBBcyh0KSYmT3QuY2FsbCh0LCJjYWxsZWUiKSYmIUt0LmNhbGwodCwiY2FsbGVlIil9LG1zPXd0LmlzQXJyYXksZ3M9bWU/S2UobWUpOmZ1bmN0aW9uIF9zKHQpe3JldHVybiBBcyh0KSYmWGkodCk9PUx9O2Z1bmN0aW9uIHlzKHQpe3JldHVybiBudWxsIT10JiZUcyh0Lmxlbmd0aCkmJiFNcyh0KX1mdW5jdGlvbiB2cyh0KXtyZXR1cm4gQXModCkmJnlzKHQpfXZhciBicz1EZXx8WWwseHM9Z2U/S2UoZ2UpOmZ1bmN0aW9uIHdzKHQpe3JldHVybiBBcyh0KSYmWGkodCk9PV99O2Z1bmN0aW9uIFNzKHQpe2lmKCFBcyh0KSlyZXR1cm4hMTt2YXIgZT1YaSh0KTtyZXR1cm4gZT09eXx8IltvYmplY3QgRE9NRXhjZXB0aW9uXSI9PWV8fCJzdHJpbmciPT10eXBlb2YgdC5tZXNzYWdlJiYic3RyaW5nIj09dHlwZW9mIHQubmFtZSYmIU5zKHQpfWZ1bmN0aW9uIE1zKHQpe2lmKCFDcyh0KSlyZXR1cm4hMTt2YXIgZT1YaSh0KTtyZXR1cm4gZT09dnx8ZT09Ynx8IltvYmplY3QgQXN5bmNGdW5jdGlvbl0iPT1lfHwiW29iamVjdCBQcm94eV0iPT1lfWZ1bmN0aW9uIEVzKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdCYmdD09V3ModCl9ZnVuY3Rpb24gVHModCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0JiZ0Pi0xJiZ0JTE9PTAmJnQ8PXV9ZnVuY3Rpb24gQ3ModCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuIG51bGwhPXQmJigib2JqZWN0Ij09ZXx8ImZ1bmN0aW9uIj09ZSl9ZnVuY3Rpb24gQXModCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH12YXIga3M9X2U/S2UoX2UpOmZ1bmN0aW9uIExzKHQpe3JldHVybiBBcyh0KSYmQm8odCk9PXh9O2Z1bmN0aW9uIFBzKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdHx8QXModCkmJlhpKHQpPT13fWZ1bmN0aW9uIE5zKHQpe2lmKCFBcyh0KXx8WGkodCkhPVMpcmV0dXJuITE7dmFyIGU9cXQodCk7aWYobnVsbD09PWUpcmV0dXJuITA7dmFyIG49T3QuY2FsbChlLCJjb25zdHJ1Y3RvciIpJiZlLmNvbnN0cnVjdG9yO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBuJiZuIGluc3RhbmNlb2YgbiYmUnQuY2FsbChuKT09SHR9dmFyIElzPXllP0tlKHllKTpmdW5jdGlvbiBScyh0KXtyZXR1cm4gQXModCkmJlhpKHQpPT1FfSxPcz12ZT9LZSh2ZSk6ZnVuY3Rpb24genModCl7cmV0dXJuIEFzKHQpJiZCbyh0KT09VH07ZnVuY3Rpb24gRHModCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fHwhbXModCkmJkFzKHQpJiZYaSh0KT09Q31mdW5jdGlvbiBCcyh0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR8fEFzKHQpJiZYaSh0KT09QX12YXIgSHM9YmU/S2UoYmUpOmZ1bmN0aW9uIEZzKHQpe3JldHVybiBBcyh0KSYmVHModC5sZW5ndGgpJiYhIW5lW1hpKHQpXX0sVnM9Z28oc3IpLFVzPWdvKChmdW5jdGlvbih0LGUpe3JldHVybiB0PD1lfSkpO2Z1bmN0aW9uIGpzKHQpe2lmKCF0KXJldHVybltdO2lmKHlzKHQpKXJldHVybiBEcyh0KT9wbih0KTpKcih0KTtpZihzZSYmdFtzZV0pcmV0dXJuKGZ1bmN0aW9uIGUodCl7Zm9yKHZhciBlLG49W107IShlPXQubmV4dCgpKS5kb25lOyluLnB1c2goZS52YWx1ZSk7cmV0dXJuIG59KSh0W3NlXSgpKTt2YXIgbj1Cbyh0KTtyZXR1cm4obj09eD9zbjpuPT1UP3VuOl9sKSh0KX1mdW5jdGlvbiBHcyh0KXtyZXR1cm4gdD8odD1Zcyh0KSk9PT1jfHx0PT09LTEvMD8xNzk3NjkzMTM0ODYyMzE1N2UyOTIqKHQ8MD8tMToxKTp0PT10P3Q6MDowPT09dD90OjB9ZnVuY3Rpb24gV3ModCl7dmFyIGU9R3ModCksbj1lJTE7cmV0dXJuIGU9PWU/bj9lLW46ZTowfWZ1bmN0aW9uIHFzKHQpe3JldHVybiB0P2xpKFdzKHQpLDAsZCk6MH1mdW5jdGlvbiBZcyh0KXtpZigibnVtYmVyIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoQnModCkpcmV0dXJuIGg7aWYoQ3ModCkpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0LnZhbHVlT2Y/dC52YWx1ZU9mKCk6dDt0PUNzKGUpP2UrIiI6ZX1pZigic3RyaW5nIiE9dHlwZW9mIHQpcmV0dXJuIDA9PT10P3Q6K3Q7dD0kZSh0KTt2YXIgbj1wdC50ZXN0KHQpO3JldHVybiBufHxtdC50ZXN0KHQpP2FlKHQuc2xpY2UoMiksbj8yOjgpOmR0LnRlc3QodCk/aDordH1mdW5jdGlvbiBYcyh0KXtyZXR1cm4gUXIodCxjbCh0KSl9ZnVuY3Rpb24gJHModCl7cmV0dXJuIG51bGw9PXQ/IiI6TnIodCl9dmFyIEtzPWVvKChmdW5jdGlvbih0LGUpe2lmKFlvKGUpfHx5cyhlKSlRcihlLGxsKGUpLHQpO2Vsc2UgZm9yKHZhciBuIGluIGUpT3QuY2FsbChlLG4pJiZuaSh0LG4sZVtuXSl9KSksWnM9ZW8oKGZ1bmN0aW9uKHQsZSl7UXIoZSxjbChlKSx0KX0pKSxKcz1lbygoZnVuY3Rpb24odCxlLG4saSl7UXIoZSxjbChlKSx0LGkpfSkpLFFzPWVvKChmdW5jdGlvbih0LGUsbixpKXtRcihlLGxsKGUpLHQsaSl9KSksdGw9VG8oc2kpLGVsPXZyKChmdW5jdGlvbihlLG4pe2U9Q3QoZSk7dmFyIGk9LTEscj1uLmxlbmd0aCxvPXI+Mj9uWzJdOnQ7Zm9yKG8mJmpvKG5bMF0sblsxXSxvKSYmKHI9MSk7KytpPHI7KWZvcih2YXIgYT1uW2ldLHM9Y2woYSksbD0tMSxjPXMubGVuZ3RoOysrbDxjOyl7dmFyIHU9c1tsXSxoPWVbdV07KGg9PT10fHxocyhoLE50W3VdKSYmIU90LmNhbGwoZSx1KSkmJihlW3VdPWFbdV0pfXJldHVybiBlfSkpLG5sPXZyKChmdW5jdGlvbihlKXtyZXR1cm4gZS5wdXNoKHQsU28pLHhlKGhsLHQsZSl9KSk7ZnVuY3Rpb24gaWwoZSxuLGkpe3ZhciByPW51bGw9PWU/dDpxaShlLG4pO3JldHVybiByPT09dD9pOnJ9ZnVuY3Rpb24gcmwodCxlKXtyZXR1cm4gbnVsbCE9dCYmSG8odCxlLFppKX12YXIgb2w9dW8oKGZ1bmN0aW9uKHQsZSxuKXtudWxsIT1lJiYiZnVuY3Rpb24iIT10eXBlb2YgZS50b1N0cmluZyYmKGU9QnQuY2FsbChlKSksdFtlXT1ufSksUGwoUmwpKSxhbD11bygoZnVuY3Rpb24odCxlLG4pe251bGwhPWUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlLnRvU3RyaW5nJiYoZT1CdC5jYWxsKGUpKSxPdC5jYWxsKHQsZSk/dFtlXS5wdXNoKG4pOnRbZV09W25dfSksTm8pLHNsPXZyKFFpKTtmdW5jdGlvbiBsbCh0KXtyZXR1cm4geXModCk/Wm4odCk6b3IodCl9ZnVuY3Rpb24gY2wodCl7cmV0dXJuIHlzKHQpP1puKHQsITApOmFyKHQpfXZhciB1bD1lbygoZnVuY3Rpb24odCxlLG4pe2hyKHQsZSxuKX0pKSxobD1lbygoZnVuY3Rpb24odCxlLG4saSl7aHIodCxlLG4saSl9KSksZGw9VG8oKGZ1bmN0aW9uKHQsZSl7dmFyIG49e307aWYobnVsbD09dClyZXR1cm4gbjt2YXIgaT0hMTtlPU5lKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlPVVyKGUsdCksaXx8KGk9ZS5sZW5ndGg+MSksZX0pKSxRcih0LEFvKHQpLG4pLGkmJihuPWNpKG4sNyxNbykpO2Zvcih2YXIgcj1lLmxlbmd0aDtyLS07KVJyKG4sZVtyXSk7cmV0dXJuIG59KSkscGw9VG8oKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQ/e306KGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4gZnIodCxlLChmdW5jdGlvbihlLG4pe3JldHVybiBybCh0LG4pfSkpfSkodCxlKX0pKTtmdW5jdGlvbiBmbCh0LGUpe2lmKG51bGw9PXQpcmV0dXJue307dmFyIG49TmUoQW8odCksKGZ1bmN0aW9uKHQpe3JldHVyblt0XX0pKTtyZXR1cm4gZT1ObyhlKSxmcih0LG4sKGZ1bmN0aW9uKHQsbil7cmV0dXJuIGUodCxuWzBdKX0pKX12YXIgbWw9Ym8obGwpLGdsPWJvKGNsKTtmdW5jdGlvbiBfbCh0KXtyZXR1cm4gbnVsbD09dD9bXTpaZSh0LGxsKHQpKX12YXIgeWw9b28oKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1lLnRvTG93ZXJDYXNlKCksdCsobj92bChlKTplKX0pKTtmdW5jdGlvbiB2bCh0KXtyZXR1cm4gQ2woJHModCkudG9Mb3dlckNhc2UoKSl9ZnVuY3Rpb24gYmwodCl7cmV0dXJuKHQ9JHModCkpJiZ0LnJlcGxhY2UoX3Qsbm4pLnJlcGxhY2UoJHQsIiIpfXZhciB4bD1vbygoZnVuY3Rpb24odCxlLG4pe3JldHVybiB0KyhuPyItIjoiIikrZS50b0xvd2VyQ2FzZSgpfSkpLHdsPW9vKChmdW5jdGlvbih0LGUsbil7cmV0dXJuIHQrKG4/IiAiOiIiKStlLnRvTG93ZXJDYXNlKCl9KSksU2w9cm8oInRvTG93ZXJDYXNlIiksTWw9b28oKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdCsobj8iXyI6IiIpK2UudG9Mb3dlckNhc2UoKX0pKSxFbD1vbygoZnVuY3Rpb24odCxlLG4pe3JldHVybiB0KyhuPyIgIjoiIikrQ2woZSl9KSksVGw9b28oKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdCsobj8iICI6IiIpK2UudG9VcHBlckNhc2UoKX0pKSxDbD1ybygidG9VcHBlckNhc2UiKTtmdW5jdGlvbiBBbChlLG4saSl7cmV0dXJuIGU9JHMoZSksKG49aT90Om4pPT09dD8oZnVuY3Rpb24gcih0KXtyZXR1cm4gUXQudGVzdCh0KX0pKGUpPyhmdW5jdGlvbiBvKHQpe3JldHVybiB0Lm1hdGNoKFp0KXx8W119KShlKTooZnVuY3Rpb24gYSh0KXtyZXR1cm4gdC5tYXRjaChzdCl8fFtdfSkoZSk6ZS5tYXRjaChuKXx8W119dmFyIGtsPXZyKChmdW5jdGlvbihlLG4pe3RyeXtyZXR1cm4geGUoZSx0LG4pfWNhdGNoKHQpe3JldHVybiBTcyh0KT90Om5ldyBNdCh0KX19KSksTGw9VG8oKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1lKGUsKGZ1bmN0aW9uKGUpe2U9bGEoZSksYWkodCxlLHRzKHRbZV0sdCkpfSkpLHR9KSk7ZnVuY3Rpb24gUGwodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fXZhciBObD1sbygpLElsPWxvKCEwKTtmdW5jdGlvbiBSbCh0KXtyZXR1cm4gdH1mdW5jdGlvbiBPbCh0KXtyZXR1cm4gcnIoImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpjaSh0LDEpKX12YXIgemw9dnIoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBRaShuLHQsZSl9fSkpLERsPXZyKChmdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gUWkodCxuLGUpfX0pKTtmdW5jdGlvbiBCbCh0LGUsbil7dmFyIGk9bGwoZSkscj1XaShlLGkpO251bGwhPW58fENzKGUpJiYoci5sZW5ndGh8fCFpLmxlbmd0aCl8fChuPWUsZT10LHQ9dGhpcyxyPVdpKGUsbGwoZSkpKTt2YXIgbz0hKENzKG4pJiYiY2hhaW4iaW4gbiYmIW4uY2hhaW4pLGE9TXModCk7cmV0dXJuIE1lKHIsKGZ1bmN0aW9uKG4pe3ZhciBpPWVbbl07dFtuXT1pLGEmJih0LnByb3RvdHlwZVtuXT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX19jaGFpbl9fO2lmKG98fGUpe3ZhciBuPXQodGhpcy5fX3dyYXBwZWRfXykscj1uLl9fYWN0aW9uc19fPUpyKHRoaXMuX19hY3Rpb25zX18pO3JldHVybiByLnB1c2goe2Z1bmM6aSxhcmdzOmFyZ3VtZW50cyx0aGlzQXJnOnR9KSxuLl9fY2hhaW5fXz1lLG59cmV0dXJuIGkuYXBwbHkodCxJZShbdGhpcy52YWx1ZSgpXSxhcmd1bWVudHMpKX0pfSkpLHR9ZnVuY3Rpb24gSGwoKXt9dmFyIEZsPXBvKE5lKSxWbD1wbyhBZSksVWw9cG8oemUpO2Z1bmN0aW9uIGpsKHQpe3JldHVybiBHbyh0KT9HZShsYSh0KSk6KGZ1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBxaShlLHQpfX0pKHQpfXZhciBHbD1tbygpLFdsPW1vKCEwKTtmdW5jdGlvbiBxbCgpe3JldHVybltdfWZ1bmN0aW9uIFlsKCl7cmV0dXJuITF9dmFyIFhsLCRsPWhvKChmdW5jdGlvbih0LGUpe3JldHVybiB0K2V9KSwwKSxLbD15bygiY2VpbCIpLFpsPWhvKChmdW5jdGlvbih0LGUpe3JldHVybiB0L2V9KSwxKSxKbD15bygiZmxvb3IiKSxRbD1obygoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCplfSksMSksdGM9eW8oInJvdW5kIiksZWM9aG8oKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQtZX0pLDApO3JldHVybiBWbi5hZnRlcj1mdW5jdGlvbiBuYyh0LG4pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IG5ldyBMdChlKTtyZXR1cm4gdD1Xcyh0KSxmdW5jdGlvbigpe2lmKC0tdDwxKXJldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LFZuLmFyeT1KYSxWbi5hc3NpZ249S3MsVm4uYXNzaWduSW49WnMsVm4uYXNzaWduSW5XaXRoPUpzLFZuLmFzc2lnbldpdGg9UXMsVm4uYXQ9dGwsVm4uYmVmb3JlPVFhLFZuLmJpbmQ9dHMsVm4uYmluZEFsbD1MbCxWbi5iaW5kS2V5PWVzLFZuLmNhc3RBcnJheT1mdW5jdGlvbiBpYygpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybltdO3ZhciB0PWFyZ3VtZW50c1swXTtyZXR1cm4gbXModCk/dDpbdF19LFZuLmNoYWluPURhLFZuLmNodW5rPWZ1bmN0aW9uIHJjKGUsbixpKXtuPShpP2pvKGUsbixpKTpuPT09dCk/MTp2bihXcyhuKSwwKTt2YXIgcj1udWxsPT1lPzA6ZS5sZW5ndGg7aWYoIXJ8fG48MSlyZXR1cm5bXTtmb3IodmFyIG89MCxhPTAscz13dChTZShyL24pKTtvPHI7KXNbYSsrXT1UcihlLG8sbys9bik7cmV0dXJuIHN9LFZuLmNvbXBhY3Q9ZnVuY3Rpb24gb2ModCl7Zm9yKHZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoLGk9MCxyPVtdOysrZTxuOyl7dmFyIG89dFtlXTtvJiYocltpKytdPW8pfXJldHVybiByfSxWbi5jb25jYXQ9ZnVuY3Rpb24gYWMoKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoO2lmKCF0KXJldHVybltdO2Zvcih2YXIgZT13dCh0LTEpLG49YXJndW1lbnRzWzBdLGk9dDtpLS07KWVbaS0xXT1hcmd1bWVudHNbaV07cmV0dXJuIEllKG1zKG4pP0pyKG4pOltuXSxGaShlLDEpKX0sVm4uY29uZD1mdW5jdGlvbiBzYyh0KXt2YXIgbj1udWxsPT10PzA6dC5sZW5ndGgsaT1ObygpO3JldHVybiB0PW4/TmUodCwoZnVuY3Rpb24odCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHRbMV0pdGhyb3cgbmV3IEx0KGUpO3JldHVybltpKHRbMF0pLHRbMV1dfSkpOltdLHZyKChmdW5jdGlvbihlKXtmb3IodmFyIGk9LTE7KytpPG47KXt2YXIgcj10W2ldO2lmKHhlKHJbMF0sdGhpcyxlKSlyZXR1cm4geGUoclsxXSx0aGlzLGUpfX0pKX0sVm4uY29uZm9ybXM9ZnVuY3Rpb24gbGModCl7cmV0dXJuKGZ1bmN0aW9uIGUodCl7dmFyIGU9bGwodCk7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB1aShuLHQsZSl9fSkoY2kodCwxKSl9LFZuLmNvbnN0YW50PVBsLFZuLmNvdW50Qnk9RmEsVm4uY3JlYXRlPWZ1bmN0aW9uIGNjKHQsZSl7dmFyIG49VW4odCk7cmV0dXJuIG51bGw9PWU/bjpvaShuLGUpfSxWbi5jdXJyeT1mdW5jdGlvbiBlKG4saSxyKXt2YXIgbz14byhuLDgsdCx0LHQsdCx0LGk9cj90OmkpO3JldHVybiBvLnBsYWNlaG9sZGVyPWUucGxhY2Vob2xkZXIsb30sVm4uY3VycnlSaWdodD1mdW5jdGlvbiBlKG4saSxvKXt2YXIgYT14byhuLHIsdCx0LHQsdCx0LGk9bz90OmkpO3JldHVybiBhLnBsYWNlaG9sZGVyPWUucGxhY2Vob2xkZXIsYX0sVm4uZGVib3VuY2U9bnMsVm4uZGVmYXVsdHM9ZWwsVm4uZGVmYXVsdHNEZWVwPW5sLFZuLmRlZmVyPWlzLFZuLmRlbGF5PXJzLFZuLmRpZmZlcmVuY2U9aGEsVm4uZGlmZmVyZW5jZUJ5PWRhLFZuLmRpZmZlcmVuY2VXaXRoPXBhLFZuLmRyb3A9ZnVuY3Rpb24gdWMoZSxuLGkpe3ZhciByPW51bGw9PWU/MDplLmxlbmd0aDtyZXR1cm4gcj9UcihlLChuPWl8fG49PT10PzE6V3MobikpPDA/MDpuLHIpOltdfSxWbi5kcm9wUmlnaHQ9ZnVuY3Rpb24gaGMoZSxuLGkpe3ZhciByPW51bGw9PWU/MDplLmxlbmd0aDtyZXR1cm4gcj9UcihlLDAsKG49ci0obj1pfHxuPT09dD8xOldzKG4pKSk8MD8wOm4pOltdfSxWbi5kcm9wUmlnaHRXaGlsZT1mdW5jdGlvbiBkYyh0LGUpe3JldHVybiB0JiZ0Lmxlbmd0aD96cih0LE5vKGUsMyksITAsITApOltdfSxWbi5kcm9wV2hpbGU9ZnVuY3Rpb24gcGModCxlKXtyZXR1cm4gdCYmdC5sZW5ndGg/enIodCxObyhlLDMpLCEwKTpbXX0sVm4uZmlsbD1mdW5jdGlvbiBmYyhlLG4saSxyKXt2YXIgbz1udWxsPT1lPzA6ZS5sZW5ndGg7cmV0dXJuIG8/KGkmJiJudW1iZXIiIT10eXBlb2YgaSYmam8oZSxuLGkpJiYoaT0wLHI9byksKGZ1bmN0aW9uIGEoZSxuLGkscil7dmFyIG89ZS5sZW5ndGg7Zm9yKChpPVdzKGkpKTwwJiYoaT0taT5vPzA6bytpKSwocj1yPT09dHx8cj5vP286V3MocikpPDAmJihyKz1vKSxyPWk+cj8wOnFzKHIpO2k8cjspZVtpKytdPW47cmV0dXJuIGV9KShlLG4saSxyKSk6W119LFZuLmZpbHRlcj1mdW5jdGlvbiBtYyh0LGUpe3JldHVybihtcyh0KT9rZTpIaSkodCxObyhlLDMpKX0sVm4uZmxhdE1hcD1mdW5jdGlvbiBnYyh0LGUpe3JldHVybiBGaShYYSh0LGUpLDEpfSxWbi5mbGF0TWFwRGVlcD1mdW5jdGlvbiBfYyh0LGUpe3JldHVybiBGaShYYSh0LGUpLGMpfSxWbi5mbGF0TWFwRGVwdGg9ZnVuY3Rpb24geWMoZSxuLGkpe3JldHVybiBpPWk9PT10PzE6V3MoaSksRmkoWGEoZSxuKSxpKX0sVm4uZmxhdHRlbj1nYSxWbi5mbGF0dGVuRGVlcD1mdW5jdGlvbiB2Yyh0KXtyZXR1cm4gbnVsbCE9dCYmdC5sZW5ndGg/RmkodCxjKTpbXX0sVm4uZmxhdHRlbkRlcHRoPWZ1bmN0aW9uIGJjKGUsbil7cmV0dXJuIG51bGwhPWUmJmUubGVuZ3RoP0ZpKGUsbj1uPT09dD8xOldzKG4pKTpbXX0sVm4uZmxpcD1mdW5jdGlvbiB4Yyh0KXtyZXR1cm4geG8odCw1MTIpfSxWbi5mbG93PU5sLFZuLmZsb3dSaWdodD1JbCxWbi5mcm9tUGFpcnM9ZnVuY3Rpb24gd2ModCl7Zm9yKHZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoLGk9e307KytlPG47KXt2YXIgcj10W2VdO2lbclswXV09clsxXX1yZXR1cm4gaX0sVm4uZnVuY3Rpb25zPWZ1bmN0aW9uIFNjKHQpe3JldHVybiBudWxsPT10P1tdOldpKHQsbGwodCkpfSxWbi5mdW5jdGlvbnNJbj1mdW5jdGlvbiBNYyh0KXtyZXR1cm4gbnVsbD09dD9bXTpXaSh0LGNsKHQpKX0sVm4uZ3JvdXBCeT1XYSxWbi5pbml0aWFsPWZ1bmN0aW9uIEVjKHQpe3JldHVybiBudWxsIT10JiZ0Lmxlbmd0aD9Ucih0LDAsLTEpOltdfSxWbi5pbnRlcnNlY3Rpb249eWEsVm4uaW50ZXJzZWN0aW9uQnk9dmEsVm4uaW50ZXJzZWN0aW9uV2l0aD1iYSxWbi5pbnZlcnQ9b2wsVm4uaW52ZXJ0Qnk9YWwsVm4uaW52b2tlTWFwPXFhLFZuLml0ZXJhdGVlPU9sLFZuLmtleUJ5PVlhLFZuLmtleXM9bGwsVm4ua2V5c0luPWNsLFZuLm1hcD1YYSxWbi5tYXBLZXlzPWZ1bmN0aW9uIFRjKHQsZSl7dmFyIG49e307cmV0dXJuIGU9Tm8oZSwzKSxqaSh0LChmdW5jdGlvbih0LGkscil7YWkobixlKHQsaSxyKSx0KX0pKSxufSxWbi5tYXBWYWx1ZXM9ZnVuY3Rpb24gQ2ModCxlKXt2YXIgbj17fTtyZXR1cm4gZT1ObyhlLDMpLGppKHQsKGZ1bmN0aW9uKHQsaSxyKXthaShuLGksZSh0LGkscikpfSkpLG59LFZuLm1hdGNoZXM9ZnVuY3Rpb24gQWModCl7cmV0dXJuIGNyKGNpKHQsMSkpfSxWbi5tYXRjaGVzUHJvcGVydHk9ZnVuY3Rpb24ga2ModCxlKXtyZXR1cm4gdXIodCxjaShlLDEpKX0sVm4ubWVtb2l6ZT1vcyxWbi5tZXJnZT11bCxWbi5tZXJnZVdpdGg9aGwsVm4ubWV0aG9kPXpsLFZuLm1ldGhvZE9mPURsLFZuLm1peGluPUJsLFZuLm5lZ2F0ZT1hcyxWbi5udGhBcmc9ZnVuY3Rpb24gTGModCl7cmV0dXJuIHQ9V3ModCksdnIoKGZ1bmN0aW9uKGUpe3JldHVybiBkcihlLHQpfSkpfSxWbi5vbWl0PWRsLFZuLm9taXRCeT1mdW5jdGlvbiBQYyh0LGUpe3JldHVybiBmbCh0LGFzKE5vKGUpKSl9LFZuLm9uY2U9ZnVuY3Rpb24gTmModCl7cmV0dXJuIFFhKDIsdCl9LFZuLm9yZGVyQnk9ZnVuY3Rpb24gSWMoZSxuLGkscil7cmV0dXJuIG51bGw9PWU/W106KG1zKG4pfHwobj1udWxsPT1uP1tdOltuXSksbXMoaT1yP3Q6aSl8fChpPW51bGw9PWk/W106W2ldKSxwcihlLG4saSkpfSxWbi5vdmVyPUZsLFZuLm92ZXJBcmdzPXNzLFZuLm92ZXJFdmVyeT1WbCxWbi5vdmVyU29tZT1VbCxWbi5wYXJ0aWFsPWxzLFZuLnBhcnRpYWxSaWdodD1jcyxWbi5wYXJ0aXRpb249JGEsVm4ucGljaz1wbCxWbi5waWNrQnk9ZmwsVm4ucHJvcGVydHk9amwsVm4ucHJvcGVydHlPZj1mdW5jdGlvbiBSYyhlKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIG51bGw9PWU/dDpxaShlLG4pfX0sVm4ucHVsbD13YSxWbi5wdWxsQWxsPVNhLFZuLnB1bGxBbGxCeT1mdW5jdGlvbiBPYyh0LGUsbil7cmV0dXJuIHQmJnQubGVuZ3RoJiZlJiZlLmxlbmd0aD9tcih0LGUsTm8obiwyKSk6dH0sVm4ucHVsbEFsbFdpdGg9ZnVuY3Rpb24gemMoZSxuLGkpe3JldHVybiBlJiZlLmxlbmd0aCYmbiYmbi5sZW5ndGg/bXIoZSxuLHQsaSk6ZX0sVm4ucHVsbEF0PU1hLFZuLnJhbmdlPUdsLFZuLnJhbmdlUmlnaHQ9V2wsVm4ucmVhcmc9dXMsVm4ucmVqZWN0PWZ1bmN0aW9uIERjKHQsZSl7cmV0dXJuKG1zKHQpP2tlOkhpKSh0LGFzKE5vKGUsMykpKX0sVm4ucmVtb3ZlPWZ1bmN0aW9uIEJjKHQsZSl7dmFyIG49W107aWYoIXR8fCF0Lmxlbmd0aClyZXR1cm4gbjt2YXIgaT0tMSxyPVtdLG89dC5sZW5ndGg7Zm9yKGU9Tm8oZSwzKTsrK2k8bzspe3ZhciBhPXRbaV07ZShhLGksdCkmJihuLnB1c2goYSksci5wdXNoKGkpKX1yZXR1cm4gZ3IodCxyKSxufSxWbi5yZXN0PWZ1bmN0aW9uIEhjKG4saSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEx0KGUpO3JldHVybiB2cihuLGk9aT09PXQ/aTpXcyhpKSl9LFZuLnJldmVyc2U9RWEsVm4uc2FtcGxlU2l6ZT1mdW5jdGlvbiBGYyhlLG4saSl7cmV0dXJuIG49KGk/am8oZSxuLGkpOm49PT10KT8xOldzKG4pLChtcyhlKT9Rbjp4cikoZSxuKX0sVm4uc2V0PWZ1bmN0aW9uIFZjKHQsZSxuKXtyZXR1cm4gbnVsbD09dD90OndyKHQsZSxuKX0sVm4uc2V0V2l0aD1mdW5jdGlvbiBVYyhlLG4saSxyKXtyZXR1cm4gcj0iZnVuY3Rpb24iPT10eXBlb2Ygcj9yOnQsbnVsbD09ZT9lOndyKGUsbixpLHIpfSxWbi5zaHVmZmxlPWZ1bmN0aW9uIGpjKHQpe3JldHVybihtcyh0KT90aTpFcikodCl9LFZuLnNsaWNlPWZ1bmN0aW9uIEdjKGUsbixpKXt2YXIgcj1udWxsPT1lPzA6ZS5sZW5ndGg7cmV0dXJuIHI/KGkmJiJudW1iZXIiIT10eXBlb2YgaSYmam8oZSxuLGkpPyhuPTAsaT1yKToobj1udWxsPT1uPzA6V3MobiksaT1pPT09dD9yOldzKGkpKSxUcihlLG4saSkpOltdfSxWbi5zb3J0Qnk9S2EsVm4uc29ydGVkVW5pcT1mdW5jdGlvbiBXYyh0KXtyZXR1cm4gdCYmdC5sZW5ndGg/THIodCk6W119LFZuLnNvcnRlZFVuaXFCeT1mdW5jdGlvbiBxYyh0LGUpe3JldHVybiB0JiZ0Lmxlbmd0aD9Mcih0LE5vKGUsMikpOltdfSxWbi5zcGxpdD1mdW5jdGlvbiBZYyhlLG4saSl7cmV0dXJuIGkmJiJudW1iZXIiIT10eXBlb2YgaSYmam8oZSxuLGkpJiYobj1pPXQpLChpPWk9PT10P2Q6aT4+PjApPyhlPSRzKGUpKSYmKCJzdHJpbmciPT10eXBlb2Ygbnx8bnVsbCE9biYmIUlzKG4pKSYmIShuPU5yKG4pKSYmYW4oZSk/R3IocG4oZSksMCxpKTplLnNwbGl0KG4saSk6W119LFZuLnNwcmVhZD1mdW5jdGlvbiBYYyh0LG4pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBMdChlKTtyZXR1cm4gbj1udWxsPT1uPzA6dm4oV3MobiksMCksdnIoKGZ1bmN0aW9uKGUpe3ZhciBpPWVbbl0scj1HcihlLDAsbik7cmV0dXJuIGkmJkllKHIsaSkseGUodCx0aGlzLHIpfSkpfSxWbi50YWlsPWZ1bmN0aW9uICRjKHQpe3ZhciBlPW51bGw9PXQ/MDp0Lmxlbmd0aDtyZXR1cm4gZT9Ucih0LDEsZSk6W119LFZuLnRha2U9ZnVuY3Rpb24gS2MoZSxuLGkpe3JldHVybiBlJiZlLmxlbmd0aD9UcihlLDAsKG49aXx8bj09PXQ/MTpXcyhuKSk8MD8wOm4pOltdfSxWbi50YWtlUmlnaHQ9ZnVuY3Rpb24gWmMoZSxuLGkpe3ZhciByPW51bGw9PWU/MDplLmxlbmd0aDtyZXR1cm4gcj9UcihlLChuPXItKG49aXx8bj09PXQ/MTpXcyhuKSkpPDA/MDpuLHIpOltdfSxWbi50YWtlUmlnaHRXaGlsZT1mdW5jdGlvbiBKYyh0LGUpe3JldHVybiB0JiZ0Lmxlbmd0aD96cih0LE5vKGUsMyksITEsITApOltdfSxWbi50YWtlV2hpbGU9ZnVuY3Rpb24gUWModCxlKXtyZXR1cm4gdCYmdC5sZW5ndGg/enIodCxObyhlLDMpKTpbXX0sVm4udGFwPWZ1bmN0aW9uIHR1KHQsZSl7cmV0dXJuIGUodCksdH0sVm4udGhyb3R0bGU9ZnVuY3Rpb24gZXUodCxuLGkpe3ZhciByPSEwLG89ITA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEx0KGUpO3JldHVybiBDcyhpKSYmKHI9ImxlYWRpbmciaW4gaT8hIWkubGVhZGluZzpyLG89InRyYWlsaW5nImluIGk/ISFpLnRyYWlsaW5nOm8pLG5zKHQsbix7bGVhZGluZzpyLG1heFdhaXQ6bix0cmFpbGluZzpvfSl9LFZuLnRocnU9QmEsVm4udG9BcnJheT1qcyxWbi50b1BhaXJzPW1sLFZuLnRvUGFpcnNJbj1nbCxWbi50b1BhdGg9ZnVuY3Rpb24gbnUodCl7cmV0dXJuIG1zKHQpP05lKHQsbGEpOkJzKHQpP1t0XTpKcihhYSgkcyh0KSkpfSxWbi50b1BsYWluT2JqZWN0PVhzLFZuLnRyYW5zZm9ybT1mdW5jdGlvbiBpdSh0LGUsbil7dmFyIGk9bXModCkscj1pfHxicyh0KXx8SHModCk7aWYoZT1ObyhlLDQpLG51bGw9PW4pe3ZhciBvPXQmJnQuY29uc3RydWN0b3I7bj1yP2k/bmV3IG86W106Q3ModCkmJk1zKG8pP1VuKHF0KHQpKTp7fX1yZXR1cm4ocj9NZTpqaSkodCwoZnVuY3Rpb24odCxpLHIpe3JldHVybiBlKG4sdCxpLHIpfSkpLG59LFZuLnVuYXJ5PWZ1bmN0aW9uIHJ1KHQpe3JldHVybiBKYSh0LDEpfSxWbi51bmlvbj1UYSxWbi51bmlvbkJ5PUNhLFZuLnVuaW9uV2l0aD1BYSxWbi51bmlxPWZ1bmN0aW9uIG91KHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9Jcih0KTpbXX0sVm4udW5pcUJ5PWZ1bmN0aW9uIGF1KHQsZSl7cmV0dXJuIHQmJnQubGVuZ3RoP0lyKHQsTm8oZSwyKSk6W119LFZuLnVuaXFXaXRoPWZ1bmN0aW9uIHN1KGUsbil7cmV0dXJuIG49ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjp0LGUmJmUubGVuZ3RoP0lyKGUsdCxuKTpbXX0sVm4udW5zZXQ9ZnVuY3Rpb24gbHUodCxlKXtyZXR1cm4gbnVsbD09dHx8UnIodCxlKX0sVm4udW56aXA9a2EsVm4udW56aXBXaXRoPUxhLFZuLnVwZGF0ZT1mdW5jdGlvbiBjdSh0LGUsbil7cmV0dXJuIG51bGw9PXQ/dDpPcih0LGUsVnIobikpfSxWbi51cGRhdGVXaXRoPWZ1bmN0aW9uIHV1KGUsbixpLHIpe3JldHVybiByPSJmdW5jdGlvbiI9PXR5cGVvZiByP3I6dCxudWxsPT1lP2U6T3IoZSxuLFZyKGkpLHIpfSxWbi52YWx1ZXM9X2wsVm4udmFsdWVzSW49ZnVuY3Rpb24gaHUodCl7cmV0dXJuIG51bGw9PXQ/W106WmUodCxjbCh0KSl9LFZuLndpdGhvdXQ9UGEsVm4ud29yZHM9QWwsVm4ud3JhcD1mdW5jdGlvbiBkdSh0LGUpe3JldHVybiBscyhWcihlKSx0KX0sVm4ueG9yPU5hLFZuLnhvckJ5PUlhLFZuLnhvcldpdGg9UmEsVm4uemlwPU9hLFZuLnppcE9iamVjdD1mdW5jdGlvbiBwdSh0LGUpe3JldHVybiBIcih0fHxbXSxlfHxbXSxuaSl9LFZuLnppcE9iamVjdERlZXA9ZnVuY3Rpb24gZnUodCxlKXtyZXR1cm4gSHIodHx8W10sZXx8W10sd3IpfSxWbi56aXBXaXRoPXphLFZuLmVudHJpZXM9bWwsVm4uZW50cmllc0luPWdsLFZuLmV4dGVuZD1acyxWbi5leHRlbmRXaXRoPUpzLEJsKFZuLFZuKSxWbi5hZGQ9JGwsVm4uYXR0ZW1wdD1rbCxWbi5jYW1lbENhc2U9eWwsVm4uY2FwaXRhbGl6ZT12bCxWbi5jZWlsPUtsLFZuLmNsYW1wPWZ1bmN0aW9uIG11KGUsbixpKXtyZXR1cm4gaT09PXQmJihpPW4sbj10KSxpIT09dCYmKGk9KGk9WXMoaSkpPT1pP2k6MCksbiE9PXQmJihuPShuPVlzKG4pKT09bj9uOjApLGxpKFlzKGUpLG4saSl9LFZuLmNsb25lPWZ1bmN0aW9uIGd1KHQpe3JldHVybiBjaSh0LDQpfSxWbi5jbG9uZURlZXA9ZnVuY3Rpb24gX3UodCl7cmV0dXJuIGNpKHQsNSl9LFZuLmNsb25lRGVlcFdpdGg9ZnVuY3Rpb24geXUoZSxuKXtyZXR1cm4gY2koZSw1LG49ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjp0KX0sVm4uY2xvbmVXaXRoPWZ1bmN0aW9uIHZ1KGUsbil7cmV0dXJuIGNpKGUsNCxuPSJmdW5jdGlvbiI9PXR5cGVvZiBuP246dCl9LFZuLmNvbmZvcm1zVG89ZnVuY3Rpb24gYnUodCxlKXtyZXR1cm4gbnVsbD09ZXx8dWkodCxlLGxsKGUpKX0sVm4uZGVidXJyPWJsLFZuLmRlZmF1bHRUbz1mdW5jdGlvbiB4dSh0LGUpe3JldHVybiBudWxsPT10fHx0IT10P2U6dH0sVm4uZGl2aWRlPVpsLFZuLmVuZHNXaXRoPWZ1bmN0aW9uIHd1KGUsbixpKXtlPSRzKGUpLG49TnIobik7dmFyIHI9ZS5sZW5ndGgsbz1pPWk9PT10P3I6bGkoV3MoaSksMCxyKTtyZXR1cm4oaS09bi5sZW5ndGgpPj0wJiZlLnNsaWNlKGksbyk9PW59LFZuLmVxPWhzLFZuLmVzY2FwZT1mdW5jdGlvbiBTdSh0KXtyZXR1cm4odD0kcyh0KSkmJlkudGVzdCh0KT90LnJlcGxhY2UoVyxybik6dH0sVm4uZXNjYXBlUmVnRXhwPWZ1bmN0aW9uIE11KHQpe3JldHVybih0PSRzKHQpKSYmZXQudGVzdCh0KT90LnJlcGxhY2UodHQsIlxcJCYiKTp0fSxWbi5ldmVyeT1mdW5jdGlvbiBFdShlLG4saSl7dmFyIHI9bXMoZSk/QWU6RGk7cmV0dXJuIGkmJmpvKGUsbixpKSYmKG49dCkscihlLE5vKG4sMykpfSxWbi5maW5kPVZhLFZuLmZpbmRJbmRleD1mYSxWbi5maW5kS2V5PWZ1bmN0aW9uIFR1KHQsZSl7cmV0dXJuIEJlKHQsTm8oZSwzKSxqaSl9LFZuLmZpbmRMYXN0PVVhLFZuLmZpbmRMYXN0SW5kZXg9bWEsVm4uZmluZExhc3RLZXk9ZnVuY3Rpb24gQ3UodCxlKXtyZXR1cm4gQmUodCxObyhlLDMpLEdpKX0sVm4uZmxvb3I9SmwsVm4uZm9yRWFjaD1qYSxWbi5mb3JFYWNoUmlnaHQ9R2EsVm4uZm9ySW49ZnVuY3Rpb24gQXUodCxlKXtyZXR1cm4gbnVsbD09dD90OlZpKHQsTm8oZSwzKSxjbCl9LFZuLmZvckluUmlnaHQ9ZnVuY3Rpb24ga3UodCxlKXtyZXR1cm4gbnVsbD09dD90OlVpKHQsTm8oZSwzKSxjbCl9LFZuLmZvck93bj1mdW5jdGlvbiBMdSh0LGUpe3JldHVybiB0JiZqaSh0LE5vKGUsMykpfSxWbi5mb3JPd25SaWdodD1mdW5jdGlvbiBQdSh0LGUpe3JldHVybiB0JiZHaSh0LE5vKGUsMykpfSxWbi5nZXQ9aWwsVm4uZ3Q9ZHMsVm4uZ3RlPXBzLFZuLmhhcz1mdW5jdGlvbiBOdSh0LGUpe3JldHVybiBudWxsIT10JiZIbyh0LGUsS2kpfSxWbi5oYXNJbj1ybCxWbi5oZWFkPV9hLFZuLmlkZW50aXR5PVJsLFZuLmluY2x1ZGVzPWZ1bmN0aW9uIEl1KHQsZSxuLGkpe3Q9eXModCk/dDpfbCh0KSxuPW4mJiFpP1dzKG4pOjA7dmFyIHI9dC5sZW5ndGg7cmV0dXJuIG48MCYmKG49dm4ocituLDApKSxEcyh0KT9uPD1yJiZ0LmluZGV4T2YoZSxuKT4tMTohIXImJkZlKHQsZSxuKT4tMX0sVm4uaW5kZXhPZj1mdW5jdGlvbiBSdSh0LGUsbil7dmFyIGk9bnVsbD09dD8wOnQubGVuZ3RoO2lmKCFpKXJldHVybi0xO3ZhciByPW51bGw9PW4/MDpXcyhuKTtyZXR1cm4gcjwwJiYocj12bihpK3IsMCkpLEZlKHQsZSxyKX0sVm4uaW5SYW5nZT1mdW5jdGlvbiBPdShlLG4saSl7cmV0dXJuIG49R3MobiksaT09PXQ/KGk9bixuPTApOmk9R3MoaSksKGZ1bmN0aW9uIHIodCxlLG4pe3JldHVybiB0Pj1ibihlLG4pJiZ0PHZuKGUsbil9KShlPVlzKGUpLG4saSl9LFZuLmludm9rZT1zbCxWbi5pc0FyZ3VtZW50cz1mcyxWbi5pc0FycmF5PW1zLFZuLmlzQXJyYXlCdWZmZXI9Z3MsVm4uaXNBcnJheUxpa2U9eXMsVm4uaXNBcnJheUxpa2VPYmplY3Q9dnMsVm4uaXNCb29sZWFuPWZ1bmN0aW9uIHp1KHQpe3JldHVybiEwPT09dHx8ITE9PT10fHxBcyh0KSYmWGkodCk9PWd9LFZuLmlzQnVmZmVyPWJzLFZuLmlzRGF0ZT14cyxWbi5pc0VsZW1lbnQ9ZnVuY3Rpb24gRHUodCl7cmV0dXJuIEFzKHQpJiYxPT09dC5ub2RlVHlwZSYmIU5zKHQpfSxWbi5pc0VtcHR5PWZ1bmN0aW9uIEJ1KHQpe2lmKG51bGw9PXQpcmV0dXJuITA7aWYoeXModCkmJihtcyh0KXx8InN0cmluZyI9PXR5cGVvZiB0fHwiZnVuY3Rpb24iPT10eXBlb2YgdC5zcGxpY2V8fGJzKHQpfHxIcyh0KXx8ZnModCkpKXJldHVybiF0Lmxlbmd0aDt2YXIgZT1Cbyh0KTtpZihlPT14fHxlPT1UKXJldHVybiF0LnNpemU7aWYoWW8odCkpcmV0dXJuIW9yKHQpLmxlbmd0aDtmb3IodmFyIG4gaW4gdClpZihPdC5jYWxsKHQsbikpcmV0dXJuITE7cmV0dXJuITB9LFZuLmlzRXF1YWw9ZnVuY3Rpb24gSHUodCxlKXtyZXR1cm4gZXIodCxlKX0sVm4uaXNFcXVhbFdpdGg9ZnVuY3Rpb24gRnUoZSxuLGkpe3ZhciByPShpPSJmdW5jdGlvbiI9PXR5cGVvZiBpP2k6dCk/aShlLG4pOnQ7cmV0dXJuIHI9PT10P2VyKGUsbix0LGkpOiEhcn0sVm4uaXNFcnJvcj1TcyxWbi5pc0Zpbml0ZT1mdW5jdGlvbiBWdSh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJldlKHQpfSxWbi5pc0Z1bmN0aW9uPU1zLFZuLmlzSW50ZWdlcj1FcyxWbi5pc0xlbmd0aD1UcyxWbi5pc01hcD1rcyxWbi5pc01hdGNoPWZ1bmN0aW9uIFV1KHQsZSl7cmV0dXJuIHQ9PT1lfHxucih0LGUsUm8oZSkpfSxWbi5pc01hdGNoV2l0aD1mdW5jdGlvbiBqdShlLG4saSl7cmV0dXJuIGk9ImZ1bmN0aW9uIj09dHlwZW9mIGk/aTp0LG5yKGUsbixSbyhuKSxpKX0sVm4uaXNOYU49ZnVuY3Rpb24gR3UodCl7cmV0dXJuIFBzKHQpJiZ0IT0rdH0sVm4uaXNOYXRpdmU9ZnVuY3Rpb24gV3UodCl7aWYocW8odCkpdGhyb3cgbmV3IE10KCJVbnN1cHBvcnRlZCBjb3JlLWpzIHVzZS4gVHJ5IGh0dHBzOi8vbnBtcy5pby9zZWFyY2g/cT1wb255ZmlsbC4iKTtyZXR1cm4gaXIodCl9LFZuLmlzTmlsPWZ1bmN0aW9uIHF1KHQpe3JldHVybiBudWxsPT10fSxWbi5pc051bGw9ZnVuY3Rpb24gWXUodCl7cmV0dXJuIG51bGw9PT10fSxWbi5pc051bWJlcj1QcyxWbi5pc09iamVjdD1DcyxWbi5pc09iamVjdExpa2U9QXMsVm4uaXNQbGFpbk9iamVjdD1OcyxWbi5pc1JlZ0V4cD1JcyxWbi5pc1NhZmVJbnRlZ2VyPWZ1bmN0aW9uIFh1KHQpe3JldHVybiBFcyh0KSYmdD49LTkwMDcxOTkyNTQ3NDA5OTEmJnQ8PXV9LFZuLmlzU2V0PU9zLFZuLmlzU3RyaW5nPURzLFZuLmlzU3ltYm9sPUJzLFZuLmlzVHlwZWRBcnJheT1IcyxWbi5pc1VuZGVmaW5lZD1mdW5jdGlvbiAkdShlKXtyZXR1cm4gZT09PXR9LFZuLmlzV2Vha01hcD1mdW5jdGlvbiBLdSh0KXtyZXR1cm4gQXModCkmJkJvKHQpPT1rfSxWbi5pc1dlYWtTZXQ9ZnVuY3Rpb24gWnUodCl7cmV0dXJuIEFzKHQpJiYiW29iamVjdCBXZWFrU2V0XSI9PVhpKHQpfSxWbi5qb2luPWZ1bmN0aW9uIEp1KHQsZSl7cmV0dXJuIG51bGw9PXQ/IiI6X24uY2FsbCh0LGUpfSxWbi5rZWJhYkNhc2U9eGwsVm4ubGFzdD14YSxWbi5sYXN0SW5kZXhPZj1mdW5jdGlvbiBRdShlLG4saSl7dmFyIHI9bnVsbD09ZT8wOmUubGVuZ3RoO2lmKCFyKXJldHVybi0xO3ZhciBvPXI7cmV0dXJuIGkhPT10JiYobz0obz1XcyhpKSk8MD92bihyK28sMCk6Ym4obyxyLTEpKSxuPT1uPyhmdW5jdGlvbiBhKHQsZSxuKXtmb3IodmFyIGk9bisxO2ktLTspaWYodFtpXT09PWUpcmV0dXJuIGk7cmV0dXJuIGl9KShlLG4sbyk6SGUoZSxVZSxvLCEwKX0sVm4ubG93ZXJDYXNlPXdsLFZuLmxvd2VyRmlyc3Q9U2wsVm4ubHQ9VnMsVm4ubHRlPVVzLFZuLm1heD1mdW5jdGlvbiB0aChlKXtyZXR1cm4gZSYmZS5sZW5ndGg/QmkoZSxSbCwkaSk6dH0sVm4ubWF4Qnk9ZnVuY3Rpb24gZWgoZSxuKXtyZXR1cm4gZSYmZS5sZW5ndGg/QmkoZSxObyhuLDIpLCRpKTp0fSxWbi5tZWFuPWZ1bmN0aW9uIG5oKHQpe3JldHVybiBqZSh0LFJsKX0sVm4ubWVhbkJ5PWZ1bmN0aW9uIGloKHQsZSl7cmV0dXJuIGplKHQsTm8oZSwyKSl9LFZuLm1pbj1mdW5jdGlvbiByaChlKXtyZXR1cm4gZSYmZS5sZW5ndGg/QmkoZSxSbCxzcik6dH0sVm4ubWluQnk9ZnVuY3Rpb24gb2goZSxuKXtyZXR1cm4gZSYmZS5sZW5ndGg/QmkoZSxObyhuLDIpLHNyKTp0fSxWbi5zdHViQXJyYXk9cWwsVm4uc3R1YkZhbHNlPVlsLFZuLnN0dWJPYmplY3Q9ZnVuY3Rpb24gYWgoKXtyZXR1cm57fX0sVm4uc3R1YlN0cmluZz1mdW5jdGlvbiBzaCgpe3JldHVybiIifSxWbi5zdHViVHJ1ZT1mdW5jdGlvbiBsaCgpe3JldHVybiEwfSxWbi5tdWx0aXBseT1RbCxWbi5udGg9ZnVuY3Rpb24gY2goZSxuKXtyZXR1cm4gZSYmZS5sZW5ndGg/ZHIoZSxXcyhuKSk6dH0sVm4ubm9Db25mbGljdD1mdW5jdGlvbiB1aCgpe3JldHVybiBjZS5fPT09dGhpcyYmKGNlLl89RnQpLHRoaXN9LFZuLm5vb3A9SGwsVm4ubm93PVphLFZuLnBhZD1mdW5jdGlvbiBoaCh0LGUsbil7dD0kcyh0KTt2YXIgaT0oZT1XcyhlKSk/ZG4odCk6MDtpZighZXx8aT49ZSlyZXR1cm4gdDt2YXIgcj0oZS1pKS8yO3JldHVybiBmbyhFZShyKSxuKSt0K2ZvKFNlKHIpLG4pfSxWbi5wYWRFbmQ9ZnVuY3Rpb24gZGgodCxlLG4pe3Q9JHModCk7dmFyIGk9KGU9V3MoZSkpP2RuKHQpOjA7cmV0dXJuIGUmJmk8ZT90K2ZvKGUtaSxuKTp0fSxWbi5wYWRTdGFydD1mdW5jdGlvbiBwaCh0LGUsbil7dD0kcyh0KTt2YXIgaT0oZT1XcyhlKSk/ZG4odCk6MDtyZXR1cm4gZSYmaTxlP2ZvKGUtaSxuKSt0OnR9LFZuLnBhcnNlSW50PWZ1bmN0aW9uIGZoKHQsZSxuKXtyZXR1cm4gbnx8bnVsbD09ZT9lPTA6ZSYmKGU9K2UpLHduKCRzKHQpLnJlcGxhY2UobnQsIiIpLGV8fDApfSxWbi5yYW5kb209ZnVuY3Rpb24gbWgoZSxuLGkpe2lmKGkmJiJib29sZWFuIiE9dHlwZW9mIGkmJmpvKGUsbixpKSYmKG49aT10KSxpPT09dCYmKCJib29sZWFuIj09dHlwZW9mIG4/KGk9bixuPXQpOiJib29sZWFuIj09dHlwZW9mIGUmJihpPWUsZT10KSksZT09PXQmJm49PT10PyhlPTAsbj0xKTooZT1HcyhlKSxuPT09dD8obj1lLGU9MCk6bj1HcyhuKSksZT5uKXt2YXIgcj1lO2U9bixuPXJ9aWYoaXx8ZSUxfHxuJTEpe3ZhciBvPVNuKCk7cmV0dXJuIGJuKGUrbyoobi1lK29lKCIxZS0iKygobysiIikubGVuZ3RoLTEpKSksbil9cmV0dXJuIF9yKGUsbil9LFZuLnJlZHVjZT1mdW5jdGlvbiBnaCh0LGUsbil7dmFyIGk9bXModCk/UmU6cWUscj1hcmd1bWVudHMubGVuZ3RoPDM7cmV0dXJuIGkodCxObyhlLDQpLG4scixPaSl9LFZuLnJlZHVjZVJpZ2h0PWZ1bmN0aW9uIF9oKHQsZSxuKXt2YXIgaT1tcyh0KT9PZTpxZSxyPWFyZ3VtZW50cy5sZW5ndGg8MztyZXR1cm4gaSh0LE5vKGUsNCksbixyLHppKX0sVm4ucmVwZWF0PWZ1bmN0aW9uIHloKGUsbixpKXtyZXR1cm4gbj0oaT9qbyhlLG4saSk6bj09PXQpPzE6V3MobikseXIoJHMoZSksbil9LFZuLnJlcGxhY2U9ZnVuY3Rpb24gdmgoKXt2YXIgdD1hcmd1bWVudHMsZT0kcyh0WzBdKTtyZXR1cm4gdC5sZW5ndGg8Mz9lOmUucmVwbGFjZSh0WzFdLHRbMl0pfSxWbi5yZXN1bHQ9ZnVuY3Rpb24gYmgoZSxuLGkpe3ZhciByPS0xLG89KG49VXIobixlKSkubGVuZ3RoO2ZvcihvfHwobz0xLGU9dCk7KytyPG87KXt2YXIgYT1udWxsPT1lP3Q6ZVtsYShuW3JdKV07YT09PXQmJihyPW8sYT1pKSxlPU1zKGEpP2EuY2FsbChlKTphfXJldHVybiBlfSxWbi5yb3VuZD10YyxWbi5ydW5JbkNvbnRleHQ9aXQsVm4uc2FtcGxlPWZ1bmN0aW9uIHhoKHQpe3JldHVybihtcyh0KT9KbjpicikodCl9LFZuLnNpemU9ZnVuY3Rpb24gd2godCl7aWYobnVsbD09dClyZXR1cm4gMDtpZih5cyh0KSlyZXR1cm4gRHModCk/ZG4odCk6dC5sZW5ndGg7dmFyIGU9Qm8odCk7cmV0dXJuIGU9PXh8fGU9PVQ/dC5zaXplOm9yKHQpLmxlbmd0aH0sVm4uc25ha2VDYXNlPU1sLFZuLnNvbWU9ZnVuY3Rpb24gU2goZSxuLGkpe3ZhciByPW1zKGUpP3plOkNyO3JldHVybiBpJiZqbyhlLG4saSkmJihuPXQpLHIoZSxObyhuLDMpKX0sVm4uc29ydGVkSW5kZXg9ZnVuY3Rpb24gTWgodCxlKXtyZXR1cm4gQXIodCxlKX0sVm4uc29ydGVkSW5kZXhCeT1mdW5jdGlvbiBFaCh0LGUsbil7cmV0dXJuIGtyKHQsZSxObyhuLDIpKX0sVm4uc29ydGVkSW5kZXhPZj1mdW5jdGlvbiBUaCh0LGUpe3ZhciBuPW51bGw9PXQ/MDp0Lmxlbmd0aDtpZihuKXt2YXIgaT1Bcih0LGUpO2lmKGk8biYmaHModFtpXSxlKSlyZXR1cm4gaX1yZXR1cm4tMX0sVm4uc29ydGVkTGFzdEluZGV4PWZ1bmN0aW9uIENoKHQsZSl7cmV0dXJuIEFyKHQsZSwhMCl9LFZuLnNvcnRlZExhc3RJbmRleEJ5PWZ1bmN0aW9uIEFoKHQsZSxuKXtyZXR1cm4ga3IodCxlLE5vKG4sMiksITApfSxWbi5zb3J0ZWRMYXN0SW5kZXhPZj1mdW5jdGlvbiBraCh0LGUpe2lmKG51bGwhPXQmJnQubGVuZ3RoKXt2YXIgbj1Bcih0LGUsITApLTE7aWYoaHModFtuXSxlKSlyZXR1cm4gbn1yZXR1cm4tMX0sVm4uc3RhcnRDYXNlPUVsLFZuLnN0YXJ0c1dpdGg9ZnVuY3Rpb24gTGgodCxlLG4pe3JldHVybiB0PSRzKHQpLG49bnVsbD09bj8wOmxpKFdzKG4pLDAsdC5sZW5ndGgpLGU9TnIoZSksdC5zbGljZShuLG4rZS5sZW5ndGgpPT1lfSxWbi5zdWJ0cmFjdD1lYyxWbi5zdW09ZnVuY3Rpb24gUGgodCl7cmV0dXJuIHQmJnQubGVuZ3RoP1llKHQsUmwpOjB9LFZuLnN1bUJ5PWZ1bmN0aW9uIE5oKHQsZSl7cmV0dXJuIHQmJnQubGVuZ3RoP1llKHQsTm8oZSwyKSk6MH0sVm4udGVtcGxhdGU9ZnVuY3Rpb24gSWgoZSxuLGkpe3ZhciByPVZuLnRlbXBsYXRlU2V0dGluZ3M7aSYmam8oZSxuLGkpJiYobj10KSxlPSRzKGUpLG49SnMoe30sbixyLHdvKTt2YXIgbyxhLHM9SnMoe30sbi5pbXBvcnRzLHIuaW1wb3J0cyx3byksbD1sbChzKSxjPVplKHMsbCksdT0wLGg9bi5pbnRlcnBvbGF0ZXx8eXQsZD0iX19wICs9ICciLHA9QXQoKG4uZXNjYXBlfHx5dCkuc291cmNlKyJ8IitoLnNvdXJjZSsifCIrKGg9PT1LP3V0Onl0KS5zb3VyY2UrInwiKyhuLmV2YWx1YXRlfHx5dCkuc291cmNlKyJ8JCIsImciKSxmPSIvLyMgc291cmNlVVJMPSIrKE90LmNhbGwobiwic291cmNlVVJMIik/KG4uc291cmNlVVJMKyIiKS5yZXBsYWNlKC9ccy9nLCIgIik6ImxvZGFzaC50ZW1wbGF0ZVNvdXJjZXNbIisgKytlZSsiXSIpKyJcbiI7ZS5yZXBsYWNlKHAsKGZ1bmN0aW9uKHQsbixpLHIscyxsKXtyZXR1cm4gaXx8KGk9ciksZCs9ZS5zbGljZSh1LGwpLnJlcGxhY2UodnQsb24pLG4mJihvPSEwLGQrPSInICtcbl9fZSgiK24rIikgK1xuJyIpLHMmJihhPSEwLGQrPSInO1xuIitzKyI7XG5fX3AgKz0gJyIpLGkmJihkKz0iJyArXG4oKF9fdCA9ICgiK2krIikpID09IG51bGwgPyAnJyA6IF9fdCkgK1xuJyIpLHU9bCt0Lmxlbmd0aCx0fSkpLGQrPSInO1xuIjt2YXIgbT1PdC5jYWxsKG4sInZhcmlhYmxlIikmJm4udmFyaWFibGU7aWYobSl7aWYobHQudGVzdChtKSl0aHJvdyBuZXcgTXQoIkludmFsaWQgYHZhcmlhYmxlYCBvcHRpb24gcGFzc2VkIGludG8gYF8udGVtcGxhdGVgIil9ZWxzZSBkPSJ3aXRoIChvYmopIHtcbiIrZCsiXG59XG4iO2Q9KGE/ZC5yZXBsYWNlKFYsIiIpOmQpLnJlcGxhY2UoVSwiJDEiKS5yZXBsYWNlKGosIiQxOyIpLGQ9ImZ1bmN0aW9uKCIrKG18fCJvYmoiKSsiKSB7XG4iKyhtPyIiOiJvYmogfHwgKG9iaiA9IHt9KTtcbiIpKyJ2YXIgX190LCBfX3AgPSAnJyIrKG8/IiwgX19lID0gXy5lc2NhcGUiOiIiKSsoYT8iLCBfX2ogPSBBcnJheS5wcm90b3R5cGUuam9pbjtcbmZ1bmN0aW9uIHByaW50KCkgeyBfX3AgKz0gX19qLmNhbGwoYXJndW1lbnRzLCAnJykgfVxuIjoiO1xuIikrZCsicmV0dXJuIF9fcFxufSI7dmFyIGc9a2woKGZ1bmN0aW9uKCl7cmV0dXJuIEV0KGwsZisicmV0dXJuICIrZCkuYXBwbHkodCxjKX0pKTtpZihnLnNvdXJjZT1kLFNzKGcpKXRocm93IGc7cmV0dXJuIGd9LFZuLnRpbWVzPWZ1bmN0aW9uIFJoKHQsZSl7aWYoKHQ9V3ModCkpPDF8fHQ+dSlyZXR1cm5bXTt2YXIgbj1kLGk9Ym4odCxkKTtlPU5vKGUpLHQtPWQ7Zm9yKHZhciByPVhlKGksZSk7KytuPHQ7KWUobik7cmV0dXJuIHJ9LFZuLnRvRmluaXRlPUdzLFZuLnRvSW50ZWdlcj1XcyxWbi50b0xlbmd0aD1xcyxWbi50b0xvd2VyPWZ1bmN0aW9uIE9oKHQpe3JldHVybiAkcyh0KS50b0xvd2VyQ2FzZSgpfSxWbi50b051bWJlcj1ZcyxWbi50b1NhZmVJbnRlZ2VyPWZ1bmN0aW9uIHpoKHQpe3JldHVybiB0P2xpKFdzKHQpLC05MDA3MTk5MjU0NzQwOTkxLHUpOjA9PT10P3Q6MH0sVm4udG9TdHJpbmc9JHMsVm4udG9VcHBlcj1mdW5jdGlvbiBEaCh0KXtyZXR1cm4gJHModCkudG9VcHBlckNhc2UoKX0sVm4udHJpbT1mdW5jdGlvbiBCaChlLG4saSl7aWYoKGU9JHMoZSkpJiYoaXx8bj09PXQpKXJldHVybiAkZShlKTtpZighZXx8IShuPU5yKG4pKSlyZXR1cm4gZTt2YXIgcj1wbihlKSxvPXBuKG4pO3JldHVybiBHcihyLFFlKHIsbyksdG4ocixvKSsxKS5qb2luKCIiKX0sVm4udHJpbUVuZD1mdW5jdGlvbiBIaChlLG4saSl7aWYoKGU9JHMoZSkpJiYoaXx8bj09PXQpKXJldHVybiBlLnNsaWNlKDAsZm4oZSkrMSk7aWYoIWV8fCEobj1OcihuKSkpcmV0dXJuIGU7dmFyIHI9cG4oZSk7cmV0dXJuIEdyKHIsMCx0bihyLHBuKG4pKSsxKS5qb2luKCIiKX0sVm4udHJpbVN0YXJ0PWZ1bmN0aW9uIEZoKGUsbixpKXtpZigoZT0kcyhlKSkmJihpfHxuPT09dCkpcmV0dXJuIGUucmVwbGFjZShudCwiIik7aWYoIWV8fCEobj1OcihuKSkpcmV0dXJuIGU7dmFyIHI9cG4oZSk7cmV0dXJuIEdyKHIsUWUocixwbihuKSkpLmpvaW4oIiIpfSxWbi50cnVuY2F0ZT1mdW5jdGlvbiBWaChlLG4pe3ZhciBpPTMwLHI9Ii4uLiI7aWYoQ3Mobikpe3ZhciBvPSJzZXBhcmF0b3IiaW4gbj9uLnNlcGFyYXRvcjpvO2k9Imxlbmd0aCJpbiBuP1dzKG4ubGVuZ3RoKTppLHI9Im9taXNzaW9uImluIG4/TnIobi5vbWlzc2lvbik6cn12YXIgYT0oZT0kcyhlKSkubGVuZ3RoO2lmKGFuKGUpKXt2YXIgcz1wbihlKTthPXMubGVuZ3RofWlmKGk+PWEpcmV0dXJuIGU7dmFyIGw9aS1kbihyKTtpZihsPDEpcmV0dXJuIHI7dmFyIGM9cz9HcihzLDAsbCkuam9pbigiIik6ZS5zbGljZSgwLGwpO2lmKG89PT10KXJldHVybiBjK3I7aWYocyYmKGwrPWMubGVuZ3RoLWwpLElzKG8pKXtpZihlLnNsaWNlKGwpLnNlYXJjaChvKSl7dmFyIHUsaD1jO2ZvcihvLmdsb2JhbHx8KG89QXQoby5zb3VyY2UsJHMoaHQuZXhlYyhvKSkrImciKSksby5sYXN0SW5kZXg9MDt1PW8uZXhlYyhoKTspdmFyIGQ9dS5pbmRleDtjPWMuc2xpY2UoMCxkPT09dD9sOmQpfX1lbHNlIGlmKGUuaW5kZXhPZihOcihvKSxsKSE9bCl7dmFyIHA9Yy5sYXN0SW5kZXhPZihvKTtwPi0xJiYoYz1jLnNsaWNlKDAscCkpfXJldHVybiBjK3J9LFZuLnVuZXNjYXBlPWZ1bmN0aW9uIFVoKHQpe3JldHVybih0PSRzKHQpKSYmcS50ZXN0KHQpP3QucmVwbGFjZShHLG1uKTp0fSxWbi51bmlxdWVJZD1mdW5jdGlvbiBqaCh0KXt2YXIgZT0rK3p0O3JldHVybiAkcyh0KStlfSxWbi51cHBlckNhc2U9VGwsVm4udXBwZXJGaXJzdD1DbCxWbi5lYWNoPWphLFZuLmVhY2hSaWdodD1HYSxWbi5maXJzdD1fYSxCbChWbiwoWGw9e30samkoVm4sKGZ1bmN0aW9uKHQsZSl7T3QuY2FsbChWbi5wcm90b3R5cGUsZSl8fChYbFtlXT10KX0pKSxYbCkse2NoYWluOiExfSksVm4uVkVSU0lPTj0iNC4xNy4yMSIsTWUoWyJiaW5kIiwiYmluZEtleSIsImN1cnJ5IiwiY3VycnlSaWdodCIsInBhcnRpYWwiLCJwYXJ0aWFsUmlnaHQiXSwoZnVuY3Rpb24odCl7Vm5bdF0ucGxhY2Vob2xkZXI9Vm59KSksTWUoWyJkcm9wIiwidGFrZSJdLChmdW5jdGlvbihlLG4pe1duLnByb3RvdHlwZVtlXT1mdW5jdGlvbihpKXtpPWk9PT10PzE6dm4oV3MoaSksMCk7dmFyIHI9dGhpcy5fX2ZpbHRlcmVkX18mJiFuP25ldyBXbih0aGlzKTp0aGlzLmNsb25lKCk7cmV0dXJuIHIuX19maWx0ZXJlZF9fP3IuX190YWtlQ291bnRfXz1ibihpLHIuX190YWtlQ291bnRfXyk6ci5fX3ZpZXdzX18ucHVzaCh7c2l6ZTpibihpLGQpLHR5cGU6ZSsoci5fX2Rpcl9fPDA/IlJpZ2h0IjoiIil9KSxyfSxXbi5wcm90b3R5cGVbZSsiUmlnaHQiXT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZXZlcnNlKClbZV0odCkucmV2ZXJzZSgpfX0pKSxNZShbImZpbHRlciIsIm1hcCIsInRha2VXaGlsZSJdLChmdW5jdGlvbih0LGUpe3ZhciBuPWUrMSxpPTE9PW58fDM9PW47V24ucHJvdG90eXBlW3RdPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2xvbmUoKTtyZXR1cm4gZS5fX2l0ZXJhdGVlc19fLnB1c2goe2l0ZXJhdGVlOk5vKHQsMyksdHlwZTpufSksZS5fX2ZpbHRlcmVkX189ZS5fX2ZpbHRlcmVkX198fGksZX19KSksTWUoWyJoZWFkIiwibGFzdCJdLChmdW5jdGlvbih0LGUpe3ZhciBuPSJ0YWtlIisoZT8iUmlnaHQiOiIiKTtXbi5wcm90b3R5cGVbdF09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tuXSgxKS52YWx1ZSgpWzBdfX0pKSxNZShbImluaXRpYWwiLCJ0YWlsIl0sKGZ1bmN0aW9uKHQsZSl7dmFyIG49ImRyb3AiKyhlPyIiOiJSaWdodCIpO1duLnByb3RvdHlwZVt0XT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9fZmlsdGVyZWRfXz9uZXcgV24odGhpcyk6dGhpc1tuXSgxKX19KSksV24ucHJvdG90eXBlLmNvbXBhY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maWx0ZXIoUmwpfSxXbi5wcm90b3R5cGUuZmluZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5maWx0ZXIodCkuaGVhZCgpfSxXbi5wcm90b3R5cGUuZmluZExhc3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmV2ZXJzZSgpLmZpbmQodCl9LFduLnByb3RvdHlwZS5pbnZva2VNYXA9dnIoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/bmV3IFduKHRoaXMpOnRoaXMubWFwKChmdW5jdGlvbihuKXtyZXR1cm4gUWkobix0LGUpfSkpfSkpLFduLnByb3RvdHlwZS5yZWplY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZmlsdGVyKGFzKE5vKHQpKSl9LFduLnByb3RvdHlwZS5zbGljZT1mdW5jdGlvbihlLG4pe2U9V3MoZSk7dmFyIGk9dGhpcztyZXR1cm4gaS5fX2ZpbHRlcmVkX18mJihlPjB8fG48MCk/bmV3IFduKGkpOihlPDA/aT1pLnRha2VSaWdodCgtZSk6ZSYmKGk9aS5kcm9wKGUpKSxuIT09dCYmKGk9KG49V3MobikpPDA/aS5kcm9wUmlnaHQoLW4pOmkudGFrZShuLWUpKSxpKX0sV24ucHJvdG90eXBlLnRha2VSaWdodFdoaWxlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJldmVyc2UoKS50YWtlV2hpbGUodCkucmV2ZXJzZSgpfSxXbi5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRha2UoZCl9LGppKFduLnByb3RvdHlwZSwoZnVuY3Rpb24oZSxuKXt2YXIgaT0vXig/OmZpbHRlcnxmaW5kfG1hcHxyZWplY3QpfFdoaWxlJC8udGVzdChuKSxyPS9eKD86aGVhZHxsYXN0KSQvLnRlc3Qobiksbz1WbltyPyJ0YWtlIisoImxhc3QiPT1uPyJSaWdodCI6IiIpOm5dLGE9cnx8L15maW5kLy50ZXN0KG4pO28mJihWbi5wcm90b3R5cGVbbl09ZnVuY3Rpb24oKXt2YXIgbj10aGlzLl9fd3JhcHBlZF9fLHM9cj9bMV06YXJndW1lbnRzLGw9biBpbnN0YW5jZW9mIFduLGM9c1swXSx1PWx8fG1zKG4pLGg9ZnVuY3Rpb24odCl7dmFyIGU9by5hcHBseShWbixJZShbdF0scykpO3JldHVybiByJiZkP2VbMF06ZX07dSYmaSYmImZ1bmN0aW9uIj09dHlwZW9mIGMmJjEhPWMubGVuZ3RoJiYobD11PSExKTt2YXIgZD10aGlzLl9fY2hhaW5fXyxwPSEhdGhpcy5fX2FjdGlvbnNfXy5sZW5ndGgsZj1hJiYhZCxtPWwmJiFwO2lmKCFhJiZ1KXtuPW0/bjpuZXcgV24odGhpcyk7dmFyIGc9ZS5hcHBseShuLHMpO3JldHVybiBnLl9fYWN0aW9uc19fLnB1c2goe2Z1bmM6QmEsYXJnczpbaF0sdGhpc0FyZzp0fSksbmV3IEduKGcsZCl9cmV0dXJuIGYmJm0/ZS5hcHBseSh0aGlzLHMpOihnPXRoaXMudGhydShoKSxmP3I/Zy52YWx1ZSgpWzBdOmcudmFsdWUoKTpnKX0pfSkpLE1lKFsicG9wIiwicHVzaCIsInNoaWZ0Iiwic29ydCIsInNwbGljZSIsInVuc2hpZnQiXSwoZnVuY3Rpb24odCl7dmFyIGU9UHRbdF0sbj0vXig/OnB1c2h8c29ydHx1bnNoaWZ0KSQvLnRlc3QodCk/InRhcCI6InRocnUiLGk9L14oPzpwb3B8c2hpZnQpJC8udGVzdCh0KTtWbi5wcm90b3R5cGVbdF09ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHM7aWYoaSYmIXRoaXMuX19jaGFpbl9fKXt2YXIgcj10aGlzLnZhbHVlKCk7cmV0dXJuIGUuYXBwbHkobXMocik/cjpbXSx0KX1yZXR1cm4gdGhpc1tuXSgoZnVuY3Rpb24obil7cmV0dXJuIGUuYXBwbHkobXMobik/bjpbXSx0KX0pKX19KSksamkoV24ucHJvdG90eXBlLChmdW5jdGlvbih0LGUpe3ZhciBuPVZuW2VdO2lmKG4pe3ZhciBpPW4ubmFtZSsiIjtPdC5jYWxsKE5uLGkpfHwoTm5baV09W10pLE5uW2ldLnB1c2goe25hbWU6ZSxmdW5jOm59KX19KSksTm5bY28odCwyKS5uYW1lXT1be25hbWU6IndyYXBwZXIiLGZ1bmM6dH1dLFduLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbiBHaCgpe3ZhciB0PW5ldyBXbih0aGlzLl9fd3JhcHBlZF9fKTtyZXR1cm4gdC5fX2FjdGlvbnNfXz1Kcih0aGlzLl9fYWN0aW9uc19fKSx0Ll9fZGlyX189dGhpcy5fX2Rpcl9fLHQuX19maWx0ZXJlZF9fPXRoaXMuX19maWx0ZXJlZF9fLHQuX19pdGVyYXRlZXNfXz1Kcih0aGlzLl9faXRlcmF0ZWVzX18pLHQuX190YWtlQ291bnRfXz10aGlzLl9fdGFrZUNvdW50X18sdC5fX3ZpZXdzX189SnIodGhpcy5fX3ZpZXdzX18pLHR9LFduLnByb3RvdHlwZS5yZXZlcnNlPWZ1bmN0aW9uIFdoKCl7aWYodGhpcy5fX2ZpbHRlcmVkX18pe3ZhciB0PW5ldyBXbih0aGlzKTt0Ll9fZGlyX189LTEsdC5fX2ZpbHRlcmVkX189ITB9ZWxzZSh0PXRoaXMuY2xvbmUoKSkuX19kaXJfXyo9LTE7cmV0dXJuIHR9LFduLnByb3RvdHlwZS52YWx1ZT1mdW5jdGlvbiBxaCgpe3ZhciB0PXRoaXMuX193cmFwcGVkX18udmFsdWUoKSxlPXRoaXMuX19kaXJfXyxuPW1zKHQpLGk9ZTwwLHI9bj90Lmxlbmd0aDowLG89KGZ1bmN0aW9uIGEodCxlLG4pe2Zvcih2YXIgaT0tMSxyPW4ubGVuZ3RoOysraTxyOyl7dmFyIG89bltpXSxhPW8uc2l6ZTtzd2l0Y2goby50eXBlKXtjYXNlImRyb3AiOnQrPWE7YnJlYWs7Y2FzZSJkcm9wUmlnaHQiOmUtPWE7YnJlYWs7Y2FzZSJ0YWtlIjplPWJuKGUsdCthKTticmVhaztjYXNlInRha2VSaWdodCI6dD12bih0LGUtYSl9fXJldHVybntzdGFydDp0LGVuZDplfX0pKDAscix0aGlzLl9fdmlld3NfXykscz1vLnN0YXJ0LGw9by5lbmQsYz1sLXMsdT1pP2w6cy0xLGg9dGhpcy5fX2l0ZXJhdGVlc19fLGQ9aC5sZW5ndGgscD0wLGY9Ym4oYyx0aGlzLl9fdGFrZUNvdW50X18pO2lmKCFufHwhaSYmcj09YyYmZj09YylyZXR1cm4gRHIodCx0aGlzLl9fYWN0aW9uc19fKTt2YXIgbT1bXTt0OmZvcig7Yy0tJiZwPGY7KXtmb3IodmFyIGc9LTEsXz10W3UrPWVdOysrZzxkOyl7dmFyIHk9aFtnXSx2PXkudHlwZSxiPSgwLHkuaXRlcmF0ZWUpKF8pO2lmKDI9PXYpXz1iO2Vsc2UgaWYoIWIpe2lmKDE9PXYpY29udGludWUgdDticmVhayB0fX1tW3ArK109X31yZXR1cm4gbX0sVm4ucHJvdG90eXBlLmF0PUhhLFZuLnByb3RvdHlwZS5jaGFpbj1mdW5jdGlvbiBZaCgpe3JldHVybiBEYSh0aGlzKX0sVm4ucHJvdG90eXBlLmNvbW1pdD1mdW5jdGlvbiBYaCgpe3JldHVybiBuZXcgR24odGhpcy52YWx1ZSgpLHRoaXMuX19jaGFpbl9fKX0sVm4ucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24gJGgoKXt0aGlzLl9fdmFsdWVzX189PT10JiYodGhpcy5fX3ZhbHVlc19fPWpzKHRoaXMudmFsdWUoKSkpO3ZhciBlPXRoaXMuX19pbmRleF9fPj10aGlzLl9fdmFsdWVzX18ubGVuZ3RoO3JldHVybntkb25lOmUsdmFsdWU6ZT90OnRoaXMuX192YWx1ZXNfX1t0aGlzLl9faW5kZXhfXysrXX19LFZuLnByb3RvdHlwZS5wbGFudD1mdW5jdGlvbiBLaChlKXtmb3IodmFyIG4saT10aGlzO2kgaW5zdGFuY2VvZiBqbjspe3ZhciByPXVhKGkpO3IuX19pbmRleF9fPTAsci5fX3ZhbHVlc19fPXQsbj9vLl9fd3JhcHBlZF9fPXI6bj1yO3ZhciBvPXI7aT1pLl9fd3JhcHBlZF9ffXJldHVybiBvLl9fd3JhcHBlZF9fPWUsbn0sVm4ucHJvdG90eXBlLnJldmVyc2U9ZnVuY3Rpb24gWmgoKXt2YXIgZT10aGlzLl9fd3JhcHBlZF9fO2lmKGUgaW5zdGFuY2VvZiBXbil7dmFyIG49ZTtyZXR1cm4gdGhpcy5fX2FjdGlvbnNfXy5sZW5ndGgmJihuPW5ldyBXbih0aGlzKSksKG49bi5yZXZlcnNlKCkpLl9fYWN0aW9uc19fLnB1c2goe2Z1bmM6QmEsYXJnczpbRWFdLHRoaXNBcmc6dH0pLG5ldyBHbihuLHRoaXMuX19jaGFpbl9fKX1yZXR1cm4gdGhpcy50aHJ1KEVhKX0sVm4ucHJvdG90eXBlLnRvSlNPTj1Wbi5wcm90b3R5cGUudmFsdWVPZj1Wbi5wcm90b3R5cGUudmFsdWU9ZnVuY3Rpb24gSmgoKXtyZXR1cm4gRHIodGhpcy5fX3dyYXBwZWRfXyx0aGlzLl9fYWN0aW9uc19fKX0sVm4ucHJvdG90eXBlLmZpcnN0PVZuLnByb3RvdHlwZS5oZWFkLHNlJiYoVm4ucHJvdG90eXBlW3NlXT1mdW5jdGlvbiBRaCgpe3JldHVybiB0aGlzfSksVm59KSgpO2hlPygoaGUuZXhwb3J0cz1nbikuXz1nbix1ZS5fPWduKTpjZS5fPWdufS5jYWxsKFNlKTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgQWU9ISh3aW5kb3cuU2hhZHlET00mJndpbmRvdy5TaGFkeURPTS5pblVzZSk7bGV0IGtlLExlO2Z1bmN0aW9uIFBlKHQpe2tlPSghdHx8IXQuc2hpbWNzc3Byb3BlcnRpZXMpJiYoQWV8fEJvb2xlYW4oIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0FwcGxlV2ViS2l0XC82MDF8RWRnZVwvMTUvKSYmd2luZG93LkNTUyYmQ1NTLnN1cHBvcnRzJiZDU1Muc3VwcG9ydHMoImJveC1zaGFkb3ciLCIwIDAgMCB2YXIoLS1mb28pIikpKX13aW5kb3cuU2hhZHlDU1MmJnZvaWQgMCE9PXdpbmRvdy5TaGFkeUNTUy5jc3NCdWlsZCYmKExlPXdpbmRvdy5TaGFkeUNTUy5jc3NCdWlsZCk7Y29uc3QgTmU9Qm9vbGVhbih3aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5kaXNhYmxlUnVudGltZSk7d2luZG93LlNoYWR5Q1NTJiZ2b2lkIDAhPT13aW5kb3cuU2hhZHlDU1MubmF0aXZlQ3NzP2tlPXdpbmRvdy5TaGFkeUNTUy5uYXRpdmVDc3M6d2luZG93LlNoYWR5Q1NTPyhQZSh3aW5kb3cuU2hhZHlDU1MpLHdpbmRvdy5TaGFkeUNTUz12b2lkIDApOlBlKHdpbmRvdy5XZWJDb21wb25lbnRzJiZ3aW5kb3cuV2ViQ29tcG9uZW50cy5mbGFncyk7Y29uc3QgSWU9a2U7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovY2xhc3MgUmV7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXJ0PTAsdGhpcy5lbmQ9MCx0aGlzLnByZXZpb3VzPW51bGwsdGhpcy5wYXJlbnQ9bnVsbCx0aGlzLnJ1bGVzPW51bGwsdGhpcy5wYXJzZWRDc3NUZXh0PSIiLHRoaXMuY3NzVGV4dD0iIix0aGlzLmF0UnVsZT0hMSx0aGlzLnR5cGU9MCx0aGlzLmtleWZyYW1lc05hbWU9IiIsdGhpcy5zZWxlY3Rvcj0iIix0aGlzLnBhcnNlZFNlbGVjdG9yPSIifX1mdW5jdGlvbiBPZSh0KXtyZXR1cm4gemUoKGZ1bmN0aW9uIG4odCl7bGV0IGU9bmV3IFJlO2Uuc3RhcnQ9MCxlLmVuZD10Lmxlbmd0aDtsZXQgbj1lO2ZvcihsZXQgaT0wLHI9dC5sZW5ndGg7aTxyO2krKylpZih0W2ldPT09SGUpe24ucnVsZXN8fChuLnJ1bGVzPVtdKTtsZXQgdD1uLGU9dC5ydWxlc1t0LnJ1bGVzLmxlbmd0aC0xXXx8bnVsbDtuPW5ldyBSZSxuLnN0YXJ0PWkrMSxuLnBhcmVudD10LG4ucHJldmlvdXM9ZSx0LnJ1bGVzLnB1c2gobil9ZWxzZSB0W2ldPT09RmUmJihuLmVuZD1pKzEsbj1uLnBhcmVudHx8ZSk7cmV0dXJuIGV9KSh0PShmdW5jdGlvbiBlKHQpe3JldHVybiB0LnJlcGxhY2UoVmUuY29tbWVudHMsIiIpLnJlcGxhY2UoVmUucG9ydCwiIil9KSh0KSksdCl9ZnVuY3Rpb24gemUodCxlKXtsZXQgbj1lLnN1YnN0cmluZyh0LnN0YXJ0LHQuZW5kLTEpO2lmKHQucGFyc2VkQ3NzVGV4dD10LmNzc1RleHQ9bi50cmltKCksdC5wYXJlbnQpe249ZS5zdWJzdHJpbmcodC5wcmV2aW91cz90LnByZXZpb3VzLmVuZDp0LnBhcmVudC5zdGFydCx0LnN0YXJ0LTEpLG49KGZ1bmN0aW9uIGkodCl7cmV0dXJuIHQucmVwbGFjZSgvXFwoWzAtOWEtZl17MSw2fSlccy9naSwoZnVuY3Rpb24oKXtsZXQgdD1hcmd1bWVudHNbMV0sZT02LXQubGVuZ3RoO2Zvcig7ZS0tOyl0PSIwIit0O3JldHVybiJcXCIrdH0pKX0pKG4pLG49bi5yZXBsYWNlKFZlLm11bHRpcGxlU3BhY2VzLCIgIiksbj1uLnN1YnN0cmluZyhuLmxhc3RJbmRleE9mKCI7IikrMSk7bGV0IGk9dC5wYXJzZWRTZWxlY3Rvcj10LnNlbGVjdG9yPW4udHJpbSgpO3QuYXRSdWxlPTA9PT1pLmluZGV4T2YoR2UpLHQuYXRSdWxlPzA9PT1pLmluZGV4T2YoamUpP3QudHlwZT1CZS5NRURJQV9SVUxFOmkubWF0Y2goVmUua2V5ZnJhbWVzUnVsZSkmJih0LnR5cGU9QmUuS0VZRlJBTUVTX1JVTEUsdC5rZXlmcmFtZXNOYW1lPXQuc2VsZWN0b3Iuc3BsaXQoVmUubXVsdGlwbGVTcGFjZXMpLnBvcCgpKTp0LnR5cGU9MD09PWkuaW5kZXhPZihVZSk/QmUuTUlYSU5fUlVMRTpCZS5TVFlMRV9SVUxFfWxldCByPXQucnVsZXM7aWYocilmb3IobGV0IHQsbj0wLGk9ci5sZW5ndGg7bjxpJiYodD1yW25dKTtuKyspemUodCxlKTtyZXR1cm4gdH1mdW5jdGlvbiBEZSh0LGUsbj0iIil7bGV0IGk9IiI7aWYodC5jc3NUZXh0fHx0LnJ1bGVzKXtsZXQgbj10LnJ1bGVzO2lmKG4mJiEoZnVuY3Rpb24gcih0KXtsZXQgZT10WzBdO3JldHVybiBCb29sZWFuKGUpJiZCb29sZWFuKGUuc2VsZWN0b3IpJiYwPT09ZS5zZWxlY3Rvci5pbmRleE9mKFVlKX0pKG4pKWZvcihsZXQgdCxyPTAsbz1uLmxlbmd0aDtyPG8mJih0PW5bcl0pO3IrKylpPURlKHQsZSxpKTtlbHNlIGk9ZT90LmNzc1RleHQ6KGZ1bmN0aW9uIG8odCl7cmV0dXJuKGZ1bmN0aW9uIG4odCl7cmV0dXJuIHQucmVwbGFjZShWZS5taXhpbkFwcGx5LCIiKS5yZXBsYWNlKFZlLnZhckFwcGx5LCIiKX0pKHQ9KGZ1bmN0aW9uIGUodCl7cmV0dXJuIHQucmVwbGFjZShWZS5jdXN0b21Qcm9wLCIiKS5yZXBsYWNlKFZlLm1peGluUHJvcCwiIil9KSh0KSl9KSh0LmNzc1RleHQpLGk9aS50cmltKCksaSYmKGk9IiAgIitpKyJcbiIpfXJldHVybiBpJiYodC5zZWxlY3RvciYmKG4rPXQuc2VsZWN0b3IrIiAiK0hlKyJcbiIpLG4rPWksdC5zZWxlY3RvciYmKG4rPUZlKyJcblxuIikpLG59Y29uc3QgQmU9e1NUWUxFX1JVTEU6MSxLRVlGUkFNRVNfUlVMRTo3LE1FRElBX1JVTEU6NCxNSVhJTl9SVUxFOjFlM30sSGU9InsiLEZlPSJ9IixWZT17Y29tbWVudHM6L1wvXCpbXipdKlwqKyhbXi8qXVteKl0qXCorKSpcLy9naW0scG9ydDovQGltcG9ydFteO10qOy9naW0sY3VzdG9tUHJvcDovKD86XlteO1wtXHN9XSspPy0tW147e31dKj86W157fTtdKj8oPzpbO1xuXXwkKS9naW0sbWl4aW5Qcm9wOi8oPzpeW147XC1cc31dKyk/LS1bXjt7fV0qPzpbXnt9O10qP3tbXn1dKj99KD86Wztcbl18JCk/L2dpbSxtaXhpbkFwcGx5Oi9AYXBwbHlccypcKD9bXik7XSpcKT9ccyooPzpbO1xuXXwkKT8vZ2ltLHZhckFwcGx5Oi9bXjs6XSo/OlteO10qP3ZhclwoW147XSpcKSg/Ols7XG5dfCQpPy9naW0sa2V5ZnJhbWVzUnVsZTovXkBbXlxzXSprZXlmcmFtZXMvLG11bHRpcGxlU3BhY2VzOi9ccysvZ30sVWU9Ii0tIixqZT0iQG1lZGlhIixHZT0iQCIsV2U9Lyg/Ol58Wztcc3tdXHMqKSgtLVtcdy1dKj8pXHMqOlxzKig/OigoPzonKD86XFwnfC4pKj8nfCIoPzpcXCJ8LikqPyJ8XChbXildKj9cKXxbXn07e10pKyl8XHsoW159XSopXH0oPzooPz1bO1xzfV0pfCQpKS9naSxxZT0vKD86XnxcVyspQGFwcGx5XHMqXCg/KFteKTtcbl0qKVwpPy9naSxZZT0vQG1lZGlhXHMoLiopLyxYZT1uZXcgU2V0O2Z1bmN0aW9uICRlKHQpe2NvbnN0IGU9dC50ZXh0Q29udGVudDtpZighWGUuaGFzKGUpKXtYZS5hZGQoZSk7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3Quc2V0QXR0cmlidXRlKCJzaGFkeS11bnNjb3BlZCIsIiIpLHQudGV4dENvbnRlbnQ9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpfX1mdW5jdGlvbiBLZSh0KXtyZXR1cm4gdC5oYXNBdHRyaWJ1dGUoInNoYWR5LXVuc2NvcGVkIil9Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovZnVuY3Rpb24gWmUodCxlKXtyZXR1cm4gdD8oInN0cmluZyI9PXR5cGVvZiB0JiYodD1PZSh0KSksZSYmUWUodCxlKSxEZSh0LEllKSk6IiJ9ZnVuY3Rpb24gSmUodCl7cmV0dXJuIXQuX19jc3NSdWxlcyYmdC50ZXh0Q29udGVudCYmKHQuX19jc3NSdWxlcz1PZSh0LnRleHRDb250ZW50KSksdC5fX2Nzc1J1bGVzfHxudWxsfWZ1bmN0aW9uIFFlKHQsZSxuLGkpe2lmKCF0KXJldHVybjtsZXQgcj0hMSxvPXQudHlwZTtpZihpJiZvPT09QmUuTUVESUFfUlVMRSl7bGV0IGU9dC5zZWxlY3Rvci5tYXRjaChZZSk7ZSYmKHdpbmRvdy5tYXRjaE1lZGlhKGVbMV0pLm1hdGNoZXN8fChyPSEwKSl9bz09PUJlLlNUWUxFX1JVTEU/ZSh0KTpuJiZvPT09QmUuS0VZRlJBTUVTX1JVTEU/bih0KTpvPT09QmUuTUlYSU5fUlVMRSYmKHI9ITApO2xldCBhPXQucnVsZXM7aWYoYSYmIXIpZm9yKGxldCB0LHI9MCxvPWEubGVuZ3RoO3I8byYmKHQ9YVtyXSk7cisrKVFlKHQsZSxuLGkpfWZ1bmN0aW9uIHRuKHQsZSl7bGV0IG49dC5pbmRleE9mKCJ2YXIoIik7aWYoLTE9PT1uKXJldHVybiBlKHQsIiIsIiIsIiIpO2xldCBpPShmdW5jdGlvbiByKHQsZSl7bGV0IG49MDtmb3IobGV0IGk9ZSxyPXQubGVuZ3RoO2k8cjtpKyspaWYoIigiPT09dFtpXSluKys7ZWxzZSBpZigiKSI9PT10W2ldJiYwPT0tLW4pcmV0dXJuIGk7cmV0dXJuLTF9KSh0LG4rMyksbz10LnN1YnN0cmluZyhuKzQsaSksYT10LnN1YnN0cmluZygwLG4pLHM9dG4odC5zdWJzdHJpbmcoaSsxKSxlKSxsPW8uaW5kZXhPZigiLCIpO3JldHVybi0xPT09bD9lKGEsby50cmltKCksIiIscyk6ZShhLG8uc3Vic3RyaW5nKDAsbCkudHJpbSgpLG8uc3Vic3RyaW5nKGwrMSkudHJpbSgpLHMpfXdpbmRvdy5TaGFkeURPTSYmd2luZG93O2NvbnN0IGVuPSJjc3MtYnVpbGQiO2Z1bmN0aW9uIG5uKHQpe2lmKHZvaWQgMCE9PUxlKXJldHVybiBMZTtpZih2b2lkIDA9PT10Ll9fY3NzQnVpbGQpe2NvbnN0IGU9dC5nZXRBdHRyaWJ1dGUoZW4pO2lmKGUpdC5fX2Nzc0J1aWxkPWU7ZWxzZXtjb25zdCBlPShmdW5jdGlvbiBlKHQpe2NvbnN0IGU9InRlbXBsYXRlIj09PXQubG9jYWxOYW1lP3QuY29udGVudC5maXJzdENoaWxkOnQuZmlyc3RDaGlsZDtpZihlIGluc3RhbmNlb2YgQ29tbWVudCl7Y29uc3QgdD1lLnRleHRDb250ZW50LnRyaW0oKS5zcGxpdCgiOiIpO2lmKHRbMF09PT1lbilyZXR1cm4gdFsxXX1yZXR1cm4iIn0pKHQpOyIiIT09ZSYmKGZ1bmN0aW9uIG4odCl7Y29uc3QgZT0idGVtcGxhdGUiPT09dC5sb2NhbE5hbWU/dC5jb250ZW50LmZpcnN0Q2hpbGQ6dC5maXJzdENoaWxkO2UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8pKHQpLHQuX19jc3NCdWlsZD1lfX1yZXR1cm4gdC5fX2Nzc0J1aWxkfHwiIn1mdW5jdGlvbiBybih0KXtyZXR1cm4iIiE9PW5uKHQpfWZ1bmN0aW9uIG9uKHQsZSl7Zm9yKGxldCBuIGluIGUpbnVsbD09PW4/dC5zdHlsZS5yZW1vdmVQcm9wZXJ0eShuKTp0LnN0eWxlLnNldFByb3BlcnR5KG4sZVtuXSl9ZnVuY3Rpb24gYW4odCxlKXtjb25zdCBuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLmdldFByb3BlcnR5VmFsdWUoZSk7cmV0dXJuIG4/bi50cmltKCk6IiJ9Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IHNuPS87XHMqL20sbG49L15ccyooaW5pdGlhbCl8KGluaGVyaXQpXHMqJC8sY249L1xzKiFpbXBvcnRhbnQvLHVuPSJfLV8iO2NsYXNzIGhue2NvbnN0cnVjdG9yKCl7dGhpcy5fbWFwPXt9fXNldCh0LGUpe3Q9dC50cmltKCksdGhpcy5fbWFwW3RdPXtwcm9wZXJ0aWVzOmUsZGVwZW5kYW50czp7fX19Z2V0KHQpe3JldHVybiB0PXQudHJpbSgpLHRoaXMuX21hcFt0XXx8bnVsbH19bGV0IGRuPW51bGw7Y2xhc3MgcG57Y29uc3RydWN0b3IoKXt0aGlzLl9jdXJyZW50RWxlbWVudD1udWxsLHRoaXMuX21lYXN1cmVFbGVtZW50PW51bGwsdGhpcy5fbWFwPW5ldyBobn1kZXRlY3RNaXhpbih0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtjb25zdCBlPXFlLnRlc3QodCl8fFdlLnRlc3QodCk7cmV0dXJuIHFlLmxhc3RJbmRleD0wLFdlLmxhc3RJbmRleD0wLGV9KSh0KX1nYXRoZXJTdHlsZXModCl7Y29uc3QgZT0oZnVuY3Rpb24gbih0KXtjb25zdCBlPVtdLG49dC5xdWVyeVNlbGVjdG9yQWxsKCJzdHlsZSIpO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXtjb25zdCBpPW5bdF07S2UoaSk/QWV8fCgkZShpKSxpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSkpOihlLnB1c2goaS50ZXh0Q29udGVudCksaS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGkpKX1yZXR1cm4gZS5qb2luKCIiKS50cmltKCl9KSh0LmNvbnRlbnQpO2lmKGUpe2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtyZXR1cm4gbi50ZXh0Q29udGVudD1lLHQuY29udGVudC5pbnNlcnRCZWZvcmUobix0LmNvbnRlbnQuZmlyc3RDaGlsZCksbn1yZXR1cm4gbnVsbH10cmFuc2Zvcm1UZW1wbGF0ZSh0LGUpe3ZvaWQgMD09PXQuX2dhdGhlcmVkU3R5bGUmJih0Ll9nYXRoZXJlZFN0eWxlPXRoaXMuZ2F0aGVyU3R5bGVzKHQpKTtjb25zdCBuPXQuX2dhdGhlcmVkU3R5bGU7cmV0dXJuIG4/dGhpcy50cmFuc2Zvcm1TdHlsZShuLGUpOm51bGx9dHJhbnNmb3JtU3R5bGUodCxlPSIiKXtsZXQgbj1KZSh0KTtyZXR1cm4gdGhpcy50cmFuc2Zvcm1SdWxlcyhuLGUpLHQudGV4dENvbnRlbnQ9WmUobiksbn10cmFuc2Zvcm1DdXN0b21TdHlsZSh0KXtsZXQgZT1KZSh0KTtyZXR1cm4gUWUoZSwodD0+eyI6cm9vdCI9PT10LnNlbGVjdG9yJiYodC5zZWxlY3Rvcj0iaHRtbCIpLHRoaXMudHJhbnNmb3JtUnVsZSh0KX0pKSx0LnRleHRDb250ZW50PVplKGUpLGV9dHJhbnNmb3JtUnVsZXModCxlKXt0aGlzLl9jdXJyZW50RWxlbWVudD1lLFFlKHQsKHQ9Pnt0aGlzLnRyYW5zZm9ybVJ1bGUodCl9KSksdGhpcy5fY3VycmVudEVsZW1lbnQ9bnVsbH10cmFuc2Zvcm1SdWxlKHQpe3QuY3NzVGV4dD10aGlzLnRyYW5zZm9ybUNzc1RleHQodC5wYXJzZWRDc3NUZXh0LHQpLCI6cm9vdCI9PT10LnNlbGVjdG9yJiYodC5zZWxlY3Rvcj0iOmhvc3QgPiAqIil9dHJhbnNmb3JtQ3NzVGV4dCh0LGUpe3JldHVybiB0PXQucmVwbGFjZShXZSwoKHQsbixpLHIpPT50aGlzLl9wcm9kdWNlQ3NzUHJvcGVydGllcyh0LG4saSxyLGUpKSksdGhpcy5fY29uc3VtZUNzc1Byb3BlcnRpZXModCxlKX1fZ2V0SW5pdGlhbFZhbHVlRm9yUHJvcGVydHkodCl7cmV0dXJuIHRoaXMuX21lYXN1cmVFbGVtZW50fHwodGhpcy5fbWVhc3VyZUVsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibWV0YSIpLHRoaXMuX21lYXN1cmVFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXBwbHktc2hpbS1tZWFzdXJlIiwiIiksdGhpcy5fbWVhc3VyZUVsZW1lbnQuc3R5bGUuYWxsPSJpbml0aWFsIixkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHRoaXMuX21lYXN1cmVFbGVtZW50KSksd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5fbWVhc3VyZUVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUodCl9X2ZhbGxiYWNrc0Zyb21QcmV2aW91c1J1bGVzKHQpe2xldCBlPXQ7Zm9yKDtlLnBhcmVudDspZT1lLnBhcmVudDtjb25zdCBuPXt9O2xldCBpPSExO3JldHVybiBRZShlLChlPT57aT1pfHxlPT09dCxpfHxlLnNlbGVjdG9yPT09dC5zZWxlY3RvciYmT2JqZWN0LmFzc2lnbihuLHRoaXMuX2Nzc1RleHRUb01hcChlLnBhcnNlZENzc1RleHQpKX0pKSxufV9jb25zdW1lQ3NzUHJvcGVydGllcyh0LGUpe2xldCBuPW51bGw7Zm9yKDtuPXFlLmV4ZWModCk7KXtsZXQgaT1uWzBdLHI9blsxXSxvPW4uaW5kZXgsYT1vK2kuaW5kZXhPZigiQGFwcGx5Iikscz1vK2kubGVuZ3RoLGw9dC5zbGljZSgwLGEpLGM9dC5zbGljZShzKSx1PWU/dGhpcy5fZmFsbGJhY2tzRnJvbVByZXZpb3VzUnVsZXMoZSk6e307T2JqZWN0LmFzc2lnbih1LHRoaXMuX2Nzc1RleHRUb01hcChsKSk7bGV0IGg9dGhpcy5fYXRBcHBseVRvQ3NzUHJvcGVydGllcyhyLHUpO3Q9YCR7bH0ke2h9JHtjfWAscWUubGFzdEluZGV4PW8raC5sZW5ndGh9cmV0dXJuIHR9X2F0QXBwbHlUb0Nzc1Byb3BlcnRpZXModCxlKXt0PXQucmVwbGFjZShzbiwiIik7bGV0IG49W10saT10aGlzLl9tYXAuZ2V0KHQpO2lmKGl8fCh0aGlzLl9tYXAuc2V0KHQse30pLGk9dGhpcy5fbWFwLmdldCh0KSksaSl7bGV0IHIsbyxhO3RoaXMuX2N1cnJlbnRFbGVtZW50JiYoaS5kZXBlbmRhbnRzW3RoaXMuX2N1cnJlbnRFbGVtZW50XT0hMCk7Y29uc3Qgcz1pLnByb3BlcnRpZXM7Zm9yKHIgaW4gcylhPWUmJmVbcl0sbz1bciwiOiB2YXIoIix0LHVuLHJdLGEmJm8ucHVzaCgiLCIsYS5yZXBsYWNlKGNuLCIiKSksby5wdXNoKCIpIiksY24udGVzdChzW3JdKSYmby5wdXNoKCIgIWltcG9ydGFudCIpLG4ucHVzaChvLmpvaW4oIiIpKX1yZXR1cm4gbi5qb2luKCI7ICIpfV9yZXBsYWNlSW5pdGlhbE9ySW5oZXJpdCh0LGUpe2xldCBuPWxuLmV4ZWMoZSk7cmV0dXJuIG4mJihlPW5bMV0/dGhpcy5fZ2V0SW5pdGlhbFZhbHVlRm9yUHJvcGVydHkodCk6ImFwcGx5LXNoaW0taW5oZXJpdCIpLGV9X2Nzc1RleHRUb01hcCh0LGU9ITEpe2xldCBuLGkscj10LnNwbGl0KCI7Iiksbz17fTtmb3IobGV0IHQsYSxzPTA7czxyLmxlbmd0aDtzKyspdD1yW3NdLHQmJihhPXQuc3BsaXQoIjoiKSxhLmxlbmd0aD4xJiYobj1hWzBdLnRyaW0oKSxpPWEuc2xpY2UoMSkuam9pbigiOiIpLGUmJihpPXRoaXMuX3JlcGxhY2VJbml0aWFsT3JJbmhlcml0KG4saSkpLG9bbl09aSkpO3JldHVybiBvfV9pbnZhbGlkYXRlTWl4aW5FbnRyeSh0KXtpZihkbilmb3IobGV0IGUgaW4gdC5kZXBlbmRhbnRzKWUhPT10aGlzLl9jdXJyZW50RWxlbWVudCYmZG4oZSl9X3Byb2R1Y2VDc3NQcm9wZXJ0aWVzKHQsZSxuLGkscil7aWYobiYmdG4obiwoKHQsZSk9PntlJiZ0aGlzLl9tYXAuZ2V0KGUpJiYoaT1gQGFwcGx5ICR7ZX07YCl9KSksIWkpcmV0dXJuIHQ7bGV0IG89dGhpcy5fY29uc3VtZUNzc1Byb3BlcnRpZXMoIiIraSxyKSxhPXQuc2xpY2UoMCx0LmluZGV4T2YoIi0tIikpLHM9dGhpcy5fY3NzVGV4dFRvTWFwKG8sITApLGw9cyxjPXRoaXMuX21hcC5nZXQoZSksdT1jJiZjLnByb3BlcnRpZXM7dT9sPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZSh1KSxzKTp0aGlzLl9tYXAuc2V0KGUsbCk7bGV0IGgsZCxwPVtdLGY9ITE7Zm9yKGggaW4gbClkPXNbaF0sdm9pZCAwPT09ZCYmKGQ9ImluaXRpYWwiKSx1JiYhKGggaW4gdSkmJihmPSEwKSxwLnB1c2goYCR7ZX1fLV8ke2h9OiAke2R9YCk7cmV0dXJuIGYmJnRoaXMuX2ludmFsaWRhdGVNaXhpbkVudHJ5KGMpLGMmJihjLnByb3BlcnRpZXM9bCksbiYmKGE9YCR7dH07JHthfWApLGAke2F9JHtwLmpvaW4oIjsgIil9O2B9fXBuLnByb3RvdHlwZS5kZXRlY3RNaXhpbj1wbi5wcm90b3R5cGUuZGV0ZWN0TWl4aW4scG4ucHJvdG90eXBlLnRyYW5zZm9ybVN0eWxlPXBuLnByb3RvdHlwZS50cmFuc2Zvcm1TdHlsZSxwbi5wcm90b3R5cGUudHJhbnNmb3JtQ3VzdG9tU3R5bGU9cG4ucHJvdG90eXBlLnRyYW5zZm9ybUN1c3RvbVN0eWxlLHBuLnByb3RvdHlwZS50cmFuc2Zvcm1SdWxlcz1wbi5wcm90b3R5cGUudHJhbnNmb3JtUnVsZXMscG4ucHJvdG90eXBlLnRyYW5zZm9ybVJ1bGU9cG4ucHJvdG90eXBlLnRyYW5zZm9ybVJ1bGUscG4ucHJvdG90eXBlLnRyYW5zZm9ybVRlbXBsYXRlPXBuLnByb3RvdHlwZS50cmFuc2Zvcm1UZW1wbGF0ZSxwbi5wcm90b3R5cGUuX3NlcGFyYXRvcj11bixPYmplY3QuZGVmaW5lUHJvcGVydHkocG4ucHJvdG90eXBlLCJpbnZhbGlkQ2FsbGJhY2siLHtnZXQ6KCk9PmRuLHNldCh0KXtkbj10fX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBmbj17fSxtbj0iX2FwcGx5U2hpbUN1cnJlbnRWZXJzaW9uIixnbj0iX2FwcGx5U2hpbU5leHRWZXJzaW9uIixfbj0iX2FwcGx5U2hpbVZhbGlkYXRpbmdWZXJzaW9uIix5bj1Qcm9taXNlLnJlc29sdmUoKTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9mdW5jdGlvbiB2bih0KXtsZXQgZT1mblt0XTtlJiYoZnVuY3Rpb24gbih0KXt0W21uXT10W21uXXx8MCx0W19uXT10W19uXXx8MCx0W2duXT0odFtnbl18fDApKzF9KShlKX1mdW5jdGlvbiBibih0KXtyZXR1cm4gdFttbl09PT10W2duXX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KbGV0IHhuLHduPW51bGwsU249d2luZG93LkhUTUxJbXBvcnRzJiZ3aW5kb3cuSFRNTEltcG9ydHMud2hlblJlYWR5fHxudWxsO2Z1bmN0aW9uIE1uKHQpe3JlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24oKXtTbj9Tbih0KTood258fCh3bj1uZXcgUHJvbWlzZSgodD0+e3huPXR9KSksImNvbXBsZXRlIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/eG4oKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIiwoKCk9PnsiY29tcGxldGUiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSYmeG4oKX0pKSksd24udGhlbigoZnVuY3Rpb24oKXt0JiZ0KCl9KSkpfSkpfQovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2NvbnN0IEVuPSJfX3NlZW5CeVNoYWR5Q1NTIixUbj0iX19zaGFkeUNTU0NhY2hlZFN0eWxlIjtsZXQgQ249bnVsbCxBbj1udWxsO2NsYXNzIGtue2NvbnN0cnVjdG9yKCl7dGhpcy5jdXN0b21TdHlsZXM9W10sdGhpcy5lbnF1ZXVlZD0hMSxNbigoKCk9Pnt3aW5kb3cuU2hhZHlDU1MuZmx1c2hDdXN0b21TdHlsZXMmJndpbmRvdy5TaGFkeUNTUy5mbHVzaEN1c3RvbVN0eWxlcygpfSkpfWVucXVldWVEb2N1bWVudFZhbGlkYXRpb24oKXshdGhpcy5lbnF1ZXVlZCYmQW4mJih0aGlzLmVucXVldWVkPSEwLE1uKEFuKSl9YWRkQ3VzdG9tU3R5bGUodCl7dFtFbl18fCh0W0VuXT0hMCx0aGlzLmN1c3RvbVN0eWxlcy5wdXNoKHQpLHRoaXMuZW5xdWV1ZURvY3VtZW50VmFsaWRhdGlvbigpKX1nZXRTdHlsZUZvckN1c3RvbVN0eWxlKHQpe2lmKHRbVG5dKXJldHVybiB0W1RuXTtsZXQgZTtyZXR1cm4gZT10LmdldFN0eWxlP3QuZ2V0U3R5bGUoKTp0LGV9cHJvY2Vzc1N0eWxlcygpe2NvbnN0IHQ9dGhpcy5jdXN0b21TdHlsZXM7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2NvbnN0IG49dFtlXTtpZihuW1RuXSljb250aW51ZTtjb25zdCBpPXRoaXMuZ2V0U3R5bGVGb3JDdXN0b21TdHlsZShuKTtpZihpKXtjb25zdCB0PWkuX19hcHBsaWVkRWxlbWVudHx8aTtDbiYmQ24odCksbltUbl09dH19cmV0dXJuIHR9fWtuLnByb3RvdHlwZS5hZGRDdXN0b21TdHlsZT1rbi5wcm90b3R5cGUuYWRkQ3VzdG9tU3R5bGUsa24ucHJvdG90eXBlLmdldFN0eWxlRm9yQ3VzdG9tU3R5bGU9a24ucHJvdG90eXBlLmdldFN0eWxlRm9yQ3VzdG9tU3R5bGUsa24ucHJvdG90eXBlLnByb2Nlc3NTdHlsZXM9a24ucHJvdG90eXBlLnByb2Nlc3NTdHlsZXMsT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoa24ucHJvdG90eXBlLHt0cmFuc2Zvcm1DYWxsYmFjazp7Z2V0OigpPT5DbixzZXQodCl7Q249dH19LHZhbGlkYXRlQ2FsbGJhY2s6e2dldDooKT0+QW4sc2V0KHQpe2xldCBlPSExO0FufHwoZT0hMCksQW49dCxlJiZ0aGlzLmVucXVldWVEb2N1bWVudFZhbGlkYXRpb24oKX19fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IExuPW5ldyBwbjtjbGFzcyBQbntjb25zdHJ1Y3Rvcigpe3RoaXMuY3VzdG9tU3R5bGVJbnRlcmZhY2U9bnVsbCxMbi5pbnZhbGlkQ2FsbGJhY2s9dm59ZW5zdXJlKCl7dGhpcy5jdXN0b21TdHlsZUludGVyZmFjZXx8d2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlJiYodGhpcy5jdXN0b21TdHlsZUludGVyZmFjZT13aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2UsdGhpcy5jdXN0b21TdHlsZUludGVyZmFjZS50cmFuc2Zvcm1DYWxsYmFjaz10PT57TG4udHJhbnNmb3JtQ3VzdG9tU3R5bGUodCl9LHRoaXMuY3VzdG9tU3R5bGVJbnRlcmZhY2UudmFsaWRhdGVDYWxsYmFjaz0oKT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLmN1c3RvbVN0eWxlSW50ZXJmYWNlLmVucXVldWVkJiZ0aGlzLmZsdXNoQ3VzdG9tU3R5bGVzKCl9KSl9KX1wcmVwYXJlVGVtcGxhdGUodCxlKXtpZih0aGlzLmVuc3VyZSgpLHJuKHQpKXJldHVybjtmbltlXT10O2xldCBuPUxuLnRyYW5zZm9ybVRlbXBsYXRlKHQsZSk7dC5fc3R5bGVBc3Q9bn1mbHVzaEN1c3RvbVN0eWxlcygpe2lmKHRoaXMuZW5zdXJlKCksIXRoaXMuY3VzdG9tU3R5bGVJbnRlcmZhY2UpcmV0dXJuO2xldCB0PXRoaXMuY3VzdG9tU3R5bGVJbnRlcmZhY2UucHJvY2Vzc1N0eWxlcygpO2lmKHRoaXMuY3VzdG9tU3R5bGVJbnRlcmZhY2UuZW5xdWV1ZWQpe2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtsZXQgbj10aGlzLmN1c3RvbVN0eWxlSW50ZXJmYWNlLmdldFN0eWxlRm9yQ3VzdG9tU3R5bGUodFtlXSk7biYmTG4udHJhbnNmb3JtQ3VzdG9tU3R5bGUobil9dGhpcy5jdXN0b21TdHlsZUludGVyZmFjZS5lbnF1ZXVlZD0hMX19c3R5bGVTdWJ0cmVlKHQsZSl7aWYodGhpcy5lbnN1cmUoKSxlJiZvbih0LGUpLHQuc2hhZG93Um9vdCl7dGhpcy5zdHlsZUVsZW1lbnQodCk7bGV0IGU9dC5zaGFkb3dSb290LmNoaWxkcmVufHx0LnNoYWRvd1Jvb3QuY2hpbGROb2Rlcztmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLnN0eWxlU3VidHJlZShlW3RdKX1lbHNle2xldCBlPXQuY2hpbGRyZW58fHQuY2hpbGROb2Rlcztmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl0aGlzLnN0eWxlU3VidHJlZShlW3RdKX19c3R5bGVFbGVtZW50KHQpe3RoaXMuZW5zdXJlKCk7bGV0e2lzOmV9PShmdW5jdGlvbiBuKHQpe2xldCBlPXQubG9jYWxOYW1lLG49IiIsaT0iIjtyZXR1cm4gZT9lLmluZGV4T2YoIi0iKT4tMT9uPWU6KGk9ZSxuPXQuZ2V0QXR0cmlidXRlJiZ0LmdldEF0dHJpYnV0ZSgiaXMiKXx8IiIpOihuPXQuaXMsaT10LmV4dGVuZHMpLHtpczpuLHR5cGVFeHRlbnNpb246aX19KSh0KSxpPWZuW2VdO2lmKCghaXx8IXJuKGkpKSYmaSYmIWJuKGkpKXsoZnVuY3Rpb24gbih0KXtyZXR1cm4hYm4odCkmJnRbX25dPT09dFtnbl19KShpKXx8KHRoaXMucHJlcGFyZVRlbXBsYXRlKGksZSksKGZ1bmN0aW9uIHIodCl7dFtfbl09dFtnbl0sdC5fdmFsaWRhdGluZ3x8KHQuX3ZhbGlkYXRpbmc9ITAseW4udGhlbigoZnVuY3Rpb24oKXt0W21uXT10W2duXSx0Ll92YWxpZGF0aW5nPSExfSkpKX0pKGkpKTtsZXQgbz10LnNoYWRvd1Jvb3Q7aWYobyl7bGV0IHQ9by5xdWVyeVNlbGVjdG9yKCJzdHlsZSIpO3QmJih0Ll9fY3NzUnVsZXM9aS5fc3R5bGVBc3QsdC50ZXh0Q29udGVudD1aZShpLl9zdHlsZUFzdCkpfX19c3R5bGVEb2N1bWVudCh0KXt0aGlzLmVuc3VyZSgpLHRoaXMuc3R5bGVTdWJ0cmVlKGRvY3VtZW50LmJvZHksdCl9fWlmKCF3aW5kb3cuU2hhZHlDU1N8fCF3aW5kb3cuU2hhZHlDU1MuU2NvcGluZ1NoaW0pe2NvbnN0IHQ9bmV3IFBuO2xldCBlPXdpbmRvdy5TaGFkeUNTUyYmd2luZG93LlNoYWR5Q1NTLkN1c3RvbVN0eWxlSW50ZXJmYWNlO3dpbmRvdy5TaGFkeUNTUz17cHJlcGFyZVRlbXBsYXRlKGUsbixpKXt0LmZsdXNoQ3VzdG9tU3R5bGVzKCksdC5wcmVwYXJlVGVtcGxhdGUoZSxuKX0scHJlcGFyZVRlbXBsYXRlU3R5bGVzKHQsZSxuKXt3aW5kb3cuU2hhZHlDU1MucHJlcGFyZVRlbXBsYXRlKHQsZSxuKX0scHJlcGFyZVRlbXBsYXRlRG9tKHQsZSl7fSxzdHlsZVN1YnRyZWUoZSxuKXt0LmZsdXNoQ3VzdG9tU3R5bGVzKCksdC5zdHlsZVN1YnRyZWUoZSxuKX0sc3R5bGVFbGVtZW50KGUpe3QuZmx1c2hDdXN0b21TdHlsZXMoKSx0LnN0eWxlRWxlbWVudChlKX0sc3R5bGVEb2N1bWVudChlKXt0LmZsdXNoQ3VzdG9tU3R5bGVzKCksdC5zdHlsZURvY3VtZW50KGUpfSxnZXRDb21wdXRlZFN0eWxlVmFsdWU6KHQsZSk9PmFuKHQsZSksZmx1c2hDdXN0b21TdHlsZXMoKXt0LmZsdXNoQ3VzdG9tU3R5bGVzKCl9LG5hdGl2ZUNzczpJZSxuYXRpdmVTaGFkb3c6QWUsY3NzQnVpbGQ6TGUsZGlzYWJsZVJ1bnRpbWU6TmV9LGUmJih3aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2U9ZSl9d2luZG93LlNoYWR5Q1NTLkFwcGx5U2hpbT1MbjsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY2xhc3MgTm57Y29uc3RydWN0b3IoKXt0aGlzLl9hc3luY01vZHVsZT1udWxsLHRoaXMuX2NhbGxiYWNrPW51bGwsdGhpcy5fdGltZXI9bnVsbH1zZXRDb25maWcodCxlKXt0aGlzLl9hc3luY01vZHVsZT10LHRoaXMuX2NhbGxiYWNrPWUsdGhpcy5fdGltZXI9dGhpcy5fYXN5bmNNb2R1bGUucnVuKCgoKT0+e3RoaXMuX3RpbWVyPW51bGwsSW4uZGVsZXRlKHRoaXMpLHRoaXMuX2NhbGxiYWNrKCl9KSl9Y2FuY2VsKCl7dGhpcy5pc0FjdGl2ZSgpJiYodGhpcy5fY2FuY2VsQXN5bmMoKSxJbi5kZWxldGUodGhpcykpfV9jYW5jZWxBc3luYygpe3RoaXMuaXNBY3RpdmUoKSYmKHRoaXMuX2FzeW5jTW9kdWxlLmNhbmNlbCh0aGlzLl90aW1lciksdGhpcy5fdGltZXI9bnVsbCl9Zmx1c2goKXt0aGlzLmlzQWN0aXZlKCkmJih0aGlzLmNhbmNlbCgpLHRoaXMuX2NhbGxiYWNrKCkpfWlzQWN0aXZlKCl7cmV0dXJuIG51bGwhPXRoaXMuX3RpbWVyfXN0YXRpYyBkZWJvdW5jZSh0LGUsbil7cmV0dXJuIHQgaW5zdGFuY2VvZiBObj90Ll9jYW5jZWxBc3luYygpOnQ9bmV3IE5uLHQuc2V0Q29uZmlnKGUsbiksdH19bGV0IEluPW5ldyBTZXQ7Y29uc3QgUm49ZnVuY3Rpb24odCl7SW4uYWRkKHQpfSxPbj1mdW5jdGlvbigpe2NvbnN0IHQ9Qm9vbGVhbihJbi5zaXplKTtyZXR1cm4gSW4uZm9yRWFjaCgodD0+e3RyeXt0LmZsdXNoKCl9Y2F0Y2godCl7c2V0VGltZW91dCgoKCk9Pnt0aHJvdyB0fSkpfX0pKSx0fTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KbGV0IHpuPSJzdHJpbmciPT10eXBlb2YgZG9jdW1lbnQuaGVhZC5zdHlsZS50b3VjaEFjdGlvbixEbj0iX19wb2x5bWVyR2VzdHVyZXMiLEJuPSJfX3BvbHltZXJHZXN0dXJlc0hhbmRsZWQiLEhuPSJfX3BvbHltZXJHZXN0dXJlc1RvdWNoQWN0aW9uIixGbj1bIm1vdXNlZG93biIsIm1vdXNlbW92ZSIsIm1vdXNldXAiLCJjbGljayJdLFZuPVswLDEsNCwyXSxVbj0oZnVuY3Rpb24oKXt0cnl7cmV0dXJuIDE9PT1uZXcgTW91c2VFdmVudCgidGVzdCIse2J1dHRvbnM6MX0pLmJ1dHRvbnN9Y2F0Y2godCl7cmV0dXJuITF9fSkoKTtmdW5jdGlvbiBqbih0KXtyZXR1cm4gRm4uaW5kZXhPZih0KT4tMX1sZXQgR249ITE7ZnVuY3Rpb24gV24odCl7aWYoIWpuKHQpJiYidG91Y2hlbmQiIT09dClyZXR1cm4gem4mJkduJiZ2P3twYXNzaXZlOiEwfTp2b2lkIDB9IShmdW5jdGlvbigpe3RyeXtsZXQgdD1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQoKXtHbj0hMH19KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCx0KSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCx0KX1jYXRjaCh0KXt9fSkoKTtsZXQgcW49bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVAoPzpbb2FdZHxob25lKXxBbmRyb2lkLyk7Y29uc3QgWW49W10sWG49e2J1dHRvbjohMCxpbnB1dDohMCxrZXlnZW46ITAsbWV0ZXI6ITAsb3V0cHV0OiEwLHRleHRhcmVhOiEwLHByb2dyZXNzOiEwLHNlbGVjdDohMH0sJG49e2J1dHRvbjohMCxjb21tYW5kOiEwLGZpZWxkc2V0OiEwLGlucHV0OiEwLGtleWdlbjohMCxvcHRncm91cDohMCxvcHRpb246ITAsc2VsZWN0OiEwLHRleHRhcmVhOiEwfTtmdW5jdGlvbiBLbih0KXtsZXQgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0LmxhYmVsc3x8W10pO2lmKCFlLmxlbmd0aCl7ZT1bXTtsZXQgbj10LmdldFJvb3ROb2RlKCk7aWYodC5pZCl7bGV0IGk9bi5xdWVyeVNlbGVjdG9yQWxsKGBsYWJlbFtmb3IgPSAke3QuaWR9XWApO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKWUucHVzaChpW3RdKX19cmV0dXJuIGV9bGV0IFpuPWZ1bmN0aW9uKHQpe2xldCBlPXQuc291cmNlQ2FwYWJpbGl0aWVzO2lmKCghZXx8ZS5maXJlc1RvdWNoRXZlbnRzKSYmKHRbQm5dPXtza2lwOiEwfSwiY2xpY2siPT09dC50eXBlKSl7bGV0IGU9ITEsbj1yaSh0KTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7aWYoblt0XS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKWlmKCJsYWJlbCI9PT1uW3RdLmxvY2FsTmFtZSlZbi5wdXNoKG5bdF0pO2Vsc2UgaWYoWG5bblt0XS5sb2NhbE5hbWVdKXtsZXQgaT1LbihuW3RdKTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyllPWV8fFluLmluZGV4T2YoaVt0XSk+LTF9aWYoblt0XT09PXRpLm1vdXNlLnRhcmdldClyZXR1cm59aWYoZSlyZXR1cm47dC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCl9fTtmdW5jdGlvbiBKbih0KXtsZXQgZT1xbj9bImNsaWNrIl06Rm47Zm9yKGxldCBuLGk9MDtpPGUubGVuZ3RoO2krKyluPWVbaV0sdD8oWW4ubGVuZ3RoPTAsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihuLFpuLCEwKSk6ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihuLFpuLCEwKX1mdW5jdGlvbiBRbih0KXtsZXQgZT10LnR5cGU7aWYoIWpuKGUpKXJldHVybiExO2lmKCJtb3VzZW1vdmUiPT09ZSl7bGV0IGU9dm9pZCAwPT09dC5idXR0b25zPzE6dC5idXR0b25zO3JldHVybiB0IGluc3RhbmNlb2Ygd2luZG93Lk1vdXNlRXZlbnQmJiFVbiYmKGU9Vm5bdC53aGljaF18fDApLEJvb2xlYW4oMSZlKX1yZXR1cm4gMD09PSh2b2lkIDA9PT10LmJ1dHRvbj8wOnQuYnV0dG9uKX1sZXQgdGk9e21vdXNlOnt0YXJnZXQ6bnVsbCxtb3VzZUlnbm9yZUpvYjpudWxsfSx0b3VjaDp7eDowLHk6MCxpZDotMSxzY3JvbGxEZWNpZGVkOiExfX07ZnVuY3Rpb24gZWkodCxlLG4pe3QubW92ZWZuPWUsdC51cGZuPW4sZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixlKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixuKX1mdW5jdGlvbiBuaSh0KXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHQubW92ZWZuKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0LnVwZm4pLHQubW92ZWZuPW51bGwsdC51cGZuPW51bGx9ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLChmdW5jdGlvbiBpaSh0KXt0aS5tb3VzZS5tb3VzZUlnbm9yZUpvYnx8Sm4oITApLHRpLm1vdXNlLnRhcmdldD1yaSh0KVswXSx0aS5tb3VzZS5tb3VzZUlnbm9yZUpvYj1Obi5kZWJvdW5jZSh0aS5tb3VzZS5tb3VzZUlnbm9yZUpvYixndC5hZnRlcigyNTAwKSwoZnVuY3Rpb24oKXtKbigpLHRpLm1vdXNlLnRhcmdldD1udWxsLHRpLm1vdXNlLm1vdXNlSWdub3JlSm9iPW51bGx9KSl9KSwhIUduJiZ7cGFzc2l2ZTohMH0pO2NvbnN0IHJpPXdpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLm5vUGF0Y2g/d2luZG93LlNoYWR5RE9NLmNvbXBvc2VkUGF0aDp0PT50LmNvbXBvc2VkUGF0aCYmdC5jb21wb3NlZFBhdGgoKXx8W10sb2k9e30sYWk9W107ZnVuY3Rpb24gc2kodCl7Y29uc3QgZT1yaSh0KTtyZXR1cm4gZS5sZW5ndGg+MD9lWzBdOnQudGFyZ2V0fWZ1bmN0aW9uIGxpKHQpe2xldCBlLG49dC50eXBlLGk9dC5jdXJyZW50VGFyZ2V0W0RuXTtpZighaSlyZXR1cm47bGV0IHI9aVtuXTtpZihyKXtpZighdFtCbl0mJih0W0JuXT17fSwidG91Y2giPT09bi5zbGljZSgwLDUpKSl7bGV0IGU9KHQ9dCkuY2hhbmdlZFRvdWNoZXNbMF07aWYoInRvdWNoc3RhcnQiPT09biYmMT09PXQudG91Y2hlcy5sZW5ndGgmJih0aS50b3VjaC5pZD1lLmlkZW50aWZpZXIpLHRpLnRvdWNoLmlkIT09ZS5pZGVudGlmaWVyKXJldHVybjt6bnx8InRvdWNoc3RhcnQiIT09biYmInRvdWNobW92ZSIhPT1ufHwoZnVuY3Rpb24gbyh0KXtsZXQgZT10LmNoYW5nZWRUb3VjaGVzWzBdLG49dC50eXBlO2lmKCJ0b3VjaHN0YXJ0Ij09PW4pdGkudG91Y2gueD1lLmNsaWVudFgsdGkudG91Y2gueT1lLmNsaWVudFksdGkudG91Y2guc2Nyb2xsRGVjaWRlZD0hMTtlbHNlIGlmKCJ0b3VjaG1vdmUiPT09bil7aWYodGkudG91Y2guc2Nyb2xsRGVjaWRlZClyZXR1cm47dGkudG91Y2guc2Nyb2xsRGVjaWRlZD0hMDtsZXQgbj0oZnVuY3Rpb24gaSh0KXtsZXQgZT0iYXV0byIsbj1yaSh0KTtmb3IobGV0IHQsaT0wO2k8bi5sZW5ndGg7aSsrKWlmKHQ9bltpXSx0W0huXSl7ZT10W0huXTticmVha31yZXR1cm4gZX0pKHQpLGk9ITEscj1NYXRoLmFicyh0aS50b3VjaC54LWUuY2xpZW50WCksbz1NYXRoLmFicyh0aS50b3VjaC55LWUuY2xpZW50WSk7dC5jYW5jZWxhYmxlJiYoIm5vbmUiPT09bj9pPSEwOiJwYW4teCI9PT1uP2k9bz5yOiJwYW4teSI9PT1uJiYoaT1yPm8pKSxpP3QucHJldmVudERlZmF1bHQoKTpmaSgidHJhY2siKX19KSh0KX1pZihlPXRbQm5dLCFlLnNraXApe2ZvcihsZXQgbixpPTA7aTxhaS5sZW5ndGg7aSsrKW49YWlbaV0scltuLm5hbWVdJiYhZVtuLm5hbWVdJiZuLmZsb3cmJm4uZmxvdy5zdGFydC5pbmRleE9mKHQudHlwZSk+LTEmJm4ucmVzZXQmJm4ucmVzZXQoKTtmb3IobGV0IGksbz0wO288YWkubGVuZ3RoO28rKylpPWFpW29dLHJbaS5uYW1lXSYmIWVbaS5uYW1lXSYmKGVbaS5uYW1lXT0hMCxpW25dKHQpKX19fWZ1bmN0aW9uIGNpKHQsZSxuKXtyZXR1cm4hIW9pW2VdJiYoKGZ1bmN0aW9uIGkodCxlLG4pe2xldCBpPW9pW2VdLHI9aS5kZXBzLG89aS5uYW1lLGE9dFtEbl07YXx8KHRbRG5dPWE9e30pO2ZvcihsZXQgZSxuLGk9MDtpPHIubGVuZ3RoO2krKyllPXJbaV0scW4mJmpuKGUpJiYiY2xpY2siIT09ZXx8KG49YVtlXSxufHwoYVtlXT1uPXtfY291bnQ6MH0pLDA9PT1uLl9jb3VudCYmdC5hZGRFdmVudExpc3RlbmVyKGUsbGksV24oZSkpLG5bb109KG5bb118fDApKzEsbi5fY291bnQ9KG4uX2NvdW50fHwwKSsxKTt0LmFkZEV2ZW50TGlzdGVuZXIoZSxuKSxpLnRvdWNoQWN0aW9uJiZkaSh0LGkudG91Y2hBY3Rpb24pfSkodCxlLG4pLCEwKX1mdW5jdGlvbiB1aSh0LGUsbil7cmV0dXJuISFvaVtlXSYmKChmdW5jdGlvbiBpKHQsZSxuKXtsZXQgaT1vaVtlXSxyPWkuZGVwcyxvPWkubmFtZSxhPXRbRG5dO2lmKGEpZm9yKGxldCBlLG4saT0wO2k8ci5sZW5ndGg7aSsrKWU9cltpXSxuPWFbZV0sbiYmbltvXSYmKG5bb109KG5bb118fDEpLTEsbi5fY291bnQ9KG4uX2NvdW50fHwxKS0xLDA9PT1uLl9jb3VudCYmdC5yZW1vdmVFdmVudExpc3RlbmVyKGUsbGksV24oZSkpKTt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxuKX0pKHQsZSxuKSwhMCl9ZnVuY3Rpb24gaGkodCl7YWkucHVzaCh0KTtmb3IobGV0IGU9MDtlPHQuZW1pdHMubGVuZ3RoO2UrKylvaVt0LmVtaXRzW2VdXT10fWZ1bmN0aW9uIGRpKHQsZSl7em4mJnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdnQucnVuKCgoKT0+e3Quc3R5bGUudG91Y2hBY3Rpb249ZX0pKSx0W0huXT1lfWZ1bmN0aW9uIHBpKHQsZSxuKXtsZXQgaT1uZXcgRXZlbnQoZSx7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLGNvbXBvc2VkOiEwfSk7aWYoaS5kZXRhaWw9bixZKHQpLmRpc3BhdGNoRXZlbnQoaSksaS5kZWZhdWx0UHJldmVudGVkKXtsZXQgdD1uLnByZXZlbnRlcnx8bi5zb3VyY2VFdmVudDt0JiZ0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCl9fWZ1bmN0aW9uIGZpKHQpe2xldCBlPShmdW5jdGlvbiBuKHQpe2ZvcihsZXQgZSxuPTA7bjxhaS5sZW5ndGg7bisrKXtlPWFpW25dO2ZvcihsZXQgbixpPTA7aTxlLmVtaXRzLmxlbmd0aDtpKyspaWYobj1lLmVtaXRzW2ldLG49PT10KXJldHVybiBlfXJldHVybiBudWxsfSkodCk7ZS5pbmZvJiYoZS5pbmZvLnByZXZlbnQ9ITApfWZ1bmN0aW9uIG1pKHQsZSxuLGkpe2UmJnBpKGUsdCx7eDpuLmNsaWVudFgseTpuLmNsaWVudFksc291cmNlRXZlbnQ6bixwcmV2ZW50ZXI6aSxwcmV2ZW50OmZ1bmN0aW9uKHQpe3JldHVybiBmaSh0KX19KX1mdW5jdGlvbiBnaSh0LGUsbil7aWYodC5wcmV2ZW50KXJldHVybiExO2lmKHQuc3RhcnRlZClyZXR1cm4hMDtsZXQgaT1NYXRoLmFicyh0LngtZSkscj1NYXRoLmFicyh0Lnktbik7cmV0dXJuIGk+PTV8fHI+PTV9ZnVuY3Rpb24gX2kodCxlLG4pe2lmKCFlKXJldHVybjtsZXQgaSxyPXQubW92ZXNbdC5tb3Zlcy5sZW5ndGgtMl0sbz10Lm1vdmVzW3QubW92ZXMubGVuZ3RoLTFdLGE9MDtyJiYoaT1vLngtci54LGE9by55LXIueSkscGkoZSwidHJhY2siLHtzdGF0ZTp0LnN0YXRlLHg6bi5jbGllbnRYLHk6bi5jbGllbnRZLGR4Om8ueC10LngsZHk6by55LXQueSxkZHg6aSxkZHk6YSxzb3VyY2VFdmVudDpuLGhvdmVyOmZ1bmN0aW9uKCl7cmV0dXJuKGZ1bmN0aW9uIHQoZSxuKXtsZXQgaT1kb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGUsbikscj1pO2Zvcig7ciYmci5zaGFkb3dSb290JiYhd2luZG93LlNoYWR5RE9NOyl7bGV0IHQ9cjtpZihyPXIuc2hhZG93Um9vdC5lbGVtZW50RnJvbVBvaW50KGUsbiksdD09PXIpYnJlYWs7ciYmKGk9cil9cmV0dXJuIGl9KShuLmNsaWVudFgsbi5jbGllbnRZKX19KX1mdW5jdGlvbiB5aSh0LGUsbil7bGV0IGk9TWF0aC5hYnMoZS5jbGllbnRYLXQueCkscj1NYXRoLmFicyhlLmNsaWVudFktdC55KSxvPXNpKG58fGUpOyFvfHwkbltvLmxvY2FsTmFtZV0mJm8uaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpfHwoaXNOYU4oaSl8fGlzTmFOKHIpfHxpPD0yNSYmcjw9MjV8fChmdW5jdGlvbiBhKHQpe2lmKCJjbGljayI9PT10LnR5cGUpe2lmKDA9PT10LmRldGFpbClyZXR1cm4hMDtsZXQgZT1zaSh0KTtpZighZS5ub2RlVHlwZXx8ZS5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFKXJldHVybiEwO2xldCBuPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT10LnBhZ2VYLHI9dC5wYWdlWTtyZXR1cm4hKGk+PW4ubGVmdCYmaTw9bi5yaWdodCYmcj49bi50b3AmJnI8PW4uYm90dG9tKX1yZXR1cm4hMX0pKGUpKSYmKHQucHJldmVudHx8cGkobywidGFwIix7eDplLmNsaWVudFgseTplLmNsaWVudFksc291cmNlRXZlbnQ6ZSxwcmV2ZW50ZXI6bn0pKX1oaSh7bmFtZToiZG93bnVwIixkZXBzOlsibW91c2Vkb3duIiwidG91Y2hzdGFydCIsInRvdWNoZW5kIl0sZmxvdzp7c3RhcnQ6WyJtb3VzZWRvd24iLCJ0b3VjaHN0YXJ0Il0sZW5kOlsibW91c2V1cCIsInRvdWNoZW5kIl19LGVtaXRzOlsiZG93biIsInVwIl0saW5mbzp7bW92ZWZuOm51bGwsdXBmbjpudWxsfSxyZXNldDpmdW5jdGlvbigpe25pKHRoaXMuaW5mbyl9LG1vdXNlZG93bjpmdW5jdGlvbih0KXtpZighUW4odCkpcmV0dXJuO2xldCBlPXNpKHQpLG49dGhpcztlaSh0aGlzLmluZm8sKGZ1bmN0aW9uIHQoaSl7UW4oaSl8fChtaSgidXAiLGUsaSksbmkobi5pbmZvKSl9KSwoZnVuY3Rpb24gdChpKXtRbihpKSYmbWkoInVwIixlLGkpLG5pKG4uaW5mbyl9KSksbWkoImRvd24iLGUsdCl9LHRvdWNoc3RhcnQ6ZnVuY3Rpb24odCl7bWkoImRvd24iLHNpKHQpLHQuY2hhbmdlZFRvdWNoZXNbMF0sdCl9LHRvdWNoZW5kOmZ1bmN0aW9uKHQpe21pKCJ1cCIsc2kodCksdC5jaGFuZ2VkVG91Y2hlc1swXSx0KX19KSxoaSh7bmFtZToidHJhY2siLHRvdWNoQWN0aW9uOiJub25lIixkZXBzOlsibW91c2Vkb3duIiwidG91Y2hzdGFydCIsInRvdWNobW92ZSIsInRvdWNoZW5kIl0sZmxvdzp7c3RhcnQ6WyJtb3VzZWRvd24iLCJ0b3VjaHN0YXJ0Il0sZW5kOlsibW91c2V1cCIsInRvdWNoZW5kIl19LGVtaXRzOlsidHJhY2siXSxpbmZvOnt4OjAseTowLHN0YXRlOiJzdGFydCIsc3RhcnRlZDohMSxtb3ZlczpbXSxhZGRNb3ZlOmZ1bmN0aW9uKHQpe3RoaXMubW92ZXMubGVuZ3RoPjImJnRoaXMubW92ZXMuc2hpZnQoKSx0aGlzLm1vdmVzLnB1c2godCl9LG1vdmVmbjpudWxsLHVwZm46bnVsbCxwcmV2ZW50OiExfSxyZXNldDpmdW5jdGlvbigpe3RoaXMuaW5mby5zdGF0ZT0ic3RhcnQiLHRoaXMuaW5mby5zdGFydGVkPSExLHRoaXMuaW5mby5tb3Zlcz1bXSx0aGlzLmluZm8ueD0wLHRoaXMuaW5mby55PTAsdGhpcy5pbmZvLnByZXZlbnQ9ITEsbmkodGhpcy5pbmZvKX0sbW91c2Vkb3duOmZ1bmN0aW9uKHQpe2lmKCFRbih0KSlyZXR1cm47bGV0IGU9c2kodCksbj10aGlzLGk9ZnVuY3Rpb24gdChpKXtsZXQgcj1pLmNsaWVudFgsbz1pLmNsaWVudFk7Z2kobi5pbmZvLHIsbykmJihuLmluZm8uc3RhdGU9bi5pbmZvLnN0YXJ0ZWQ/Im1vdXNldXAiPT09aS50eXBlPyJlbmQiOiJ0cmFjayI6InN0YXJ0Iiwic3RhcnQiPT09bi5pbmZvLnN0YXRlJiZmaSgidGFwIiksbi5pbmZvLmFkZE1vdmUoe3g6cix5Om99KSxRbihpKXx8KG4uaW5mby5zdGF0ZT0iZW5kIixuaShuLmluZm8pKSxlJiZfaShuLmluZm8sZSxpKSxuLmluZm8uc3RhcnRlZD0hMCl9O2VpKHRoaXMuaW5mbyxpLChmdW5jdGlvbiB0KGUpe24uaW5mby5zdGFydGVkJiZpKGUpLG5pKG4uaW5mbyl9KSksdGhpcy5pbmZvLng9dC5jbGllbnRYLHRoaXMuaW5mby55PXQuY2xpZW50WX0sdG91Y2hzdGFydDpmdW5jdGlvbih0KXtsZXQgZT10LmNoYW5nZWRUb3VjaGVzWzBdO3RoaXMuaW5mby54PWUuY2xpZW50WCx0aGlzLmluZm8ueT1lLmNsaWVudFl9LHRvdWNobW92ZTpmdW5jdGlvbih0KXtsZXQgZT1zaSh0KSxuPXQuY2hhbmdlZFRvdWNoZXNbMF0saT1uLmNsaWVudFgscj1uLmNsaWVudFk7Z2kodGhpcy5pbmZvLGkscikmJigic3RhcnQiPT09dGhpcy5pbmZvLnN0YXRlJiZmaSgidGFwIiksdGhpcy5pbmZvLmFkZE1vdmUoe3g6aSx5OnJ9KSxfaSh0aGlzLmluZm8sZSxuKSx0aGlzLmluZm8uc3RhdGU9InRyYWNrIix0aGlzLmluZm8uc3RhcnRlZD0hMCl9LHRvdWNoZW5kOmZ1bmN0aW9uKHQpe2xldCBlPXNpKHQpLG49dC5jaGFuZ2VkVG91Y2hlc1swXTt0aGlzLmluZm8uc3RhcnRlZCYmKHRoaXMuaW5mby5zdGF0ZT0iZW5kIix0aGlzLmluZm8uYWRkTW92ZSh7eDpuLmNsaWVudFgseTpuLmNsaWVudFl9KSxfaSh0aGlzLmluZm8sZSxuKSl9fSksaGkoe25hbWU6InRhcCIsZGVwczpbIm1vdXNlZG93biIsImNsaWNrIiwidG91Y2hzdGFydCIsInRvdWNoZW5kIl0sZmxvdzp7c3RhcnQ6WyJtb3VzZWRvd24iLCJ0b3VjaHN0YXJ0Il0sZW5kOlsiY2xpY2siLCJ0b3VjaGVuZCJdfSxlbWl0czpbInRhcCJdLGluZm86e3g6TmFOLHk6TmFOLHByZXZlbnQ6ITF9LHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy5pbmZvLng9TmFOLHRoaXMuaW5mby55PU5hTix0aGlzLmluZm8ucHJldmVudD0hMX0sbW91c2Vkb3duOmZ1bmN0aW9uKHQpe1FuKHQpJiYodGhpcy5pbmZvLng9dC5jbGllbnRYLHRoaXMuaW5mby55PXQuY2xpZW50WSl9LGNsaWNrOmZ1bmN0aW9uKHQpe1FuKHQpJiZ5aSh0aGlzLmluZm8sdCl9LHRvdWNoc3RhcnQ6ZnVuY3Rpb24odCl7Y29uc3QgZT10LmNoYW5nZWRUb3VjaGVzWzBdO3RoaXMuaW5mby54PWUuY2xpZW50WCx0aGlzLmluZm8ueT1lLmNsaWVudFl9LHRvdWNoZW5kOmZ1bmN0aW9uKHQpe3lpKHRoaXMuaW5mbyx0LmNoYW5nZWRUb3VjaGVzWzBdLHQpfX0pO2NvbnN0IHZpPXNpLGJpPUkoKHQ9PmNsYXNzIGV4dGVuZHMgdHtfYWRkRXZlbnRMaXN0ZW5lclRvTm9kZSh0LGUsbil7Y2kodCxlLG4pfHxzdXBlci5fYWRkRXZlbnRMaXN0ZW5lclRvTm9kZSh0LGUsbil9X3JlbW92ZUV2ZW50TGlzdGVuZXJGcm9tTm9kZSh0LGUsbil7dWkodCxlLG4pfHxzdXBlci5fcmVtb3ZlRXZlbnRMaXN0ZW5lckZyb21Ob2RlKHQsZSxuKX19KSkseGk9Lzpob3N0XCg6ZGlyXCgobHRyfHJ0bClcKVwpL2csd2k9LyhbXHNcdy0jXC5cW1xdXCpdKik6ZGlyXCgobHRyfHJ0bClcKS9nLFNpPS86ZGlyXCgoPzpsdHJ8cnRsKVwpLyxNaT1Cb29sZWFuKHdpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLmluVXNlKSxFaT1bXTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9sZXQgVGk9bnVsbCxDaT0iIjtmdW5jdGlvbiBBaSgpe0NpPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoImRpciIpfWZ1bmN0aW9uIGtpKHQpe2lmKCF0Ll9fYXV0b0Rpck9wdE91dCl7dC5zZXRBdHRyaWJ1dGUoImRpciIsQ2kpfX1mdW5jdGlvbiBMaSgpe0FpKCksQ2k9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgiZGlyIik7Zm9yKGxldCB0PTA7dDxFaS5sZW5ndGg7dCsrKWtpKEVpW3RdKX1jb25zdCBQaT1JKCh0PT57TWl8fFRpfHwoQWkoKSxUaT1uZXcgTXV0YXRpb25PYnNlcnZlcihMaSksVGkub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQse2F0dHJpYnV0ZXM6ITAsYXR0cmlidXRlRmlsdGVyOlsiZGlyIl19KSk7Y29uc3QgZT1NdCh0KTtjbGFzcyBuIGV4dGVuZHMgZXtzdGF0aWMgX3Byb2Nlc3NTdHlsZVRleHQodCxuKXtyZXR1cm4gdD1lLl9wcm9jZXNzU3R5bGVUZXh0LmNhbGwodGhpcyx0LG4pLCFNaSYmU2kudGVzdCh0KSYmKHQ9dGhpcy5fcmVwbGFjZURpckluQ3NzVGV4dCh0KSx0aGlzLl9fYWN0aXZhdGVEaXI9ITApLHR9c3RhdGljIF9yZXBsYWNlRGlySW5Dc3NUZXh0KHQpe2xldCBlPXQ7cmV0dXJuIGU9ZS5yZXBsYWNlKHhpLCc6aG9zdChbZGlyPSIkMSJdKScpLGU9ZS5yZXBsYWNlKHdpLCc6aG9zdChbZGlyPSIkMiJdKSAkMScpLGV9Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX19hdXRvRGlyT3B0T3V0PSExfXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLl9fYXV0b0Rpck9wdE91dD10aGlzLmhhc0F0dHJpYnV0ZSgiZGlyIil9Y29ubmVjdGVkQ2FsbGJhY2soKXtlLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjayYmc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmNvbnN0cnVjdG9yLl9fYWN0aXZhdGVEaXImJighKGZ1bmN0aW9uIHQoKXtUaSYmVGkudGFrZVJlY29yZHMoKS5sZW5ndGgmJkxpKCl9KSgpLEVpLnB1c2godGhpcyksa2kodGhpcykpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7aWYoZS5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2smJnN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jb25zdHJ1Y3Rvci5fX2FjdGl2YXRlRGlyKXtjb25zdCB0PUVpLmluZGV4T2YodGhpcyk7dD4tMSYmRWkuc3BsaWNlKHQsMSl9fX1yZXR1cm4gbi5fX2FjdGl2YXRlRGlyPSExLG59KSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovbGV0IE5pPSExLElpPVtdLFJpPVtdO2Z1bmN0aW9uIE9pKCl7Tmk9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe05pPSExLChmdW5jdGlvbiB0KGUpe2Zvcig7ZS5sZW5ndGg7KXppKGUuc2hpZnQoKSl9KShJaSksc2V0VGltZW91dCgoZnVuY3Rpb24oKXshKGZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0PG47dCsrKXppKGUuc2hpZnQoKSl9KShSaSl9KSl9KSl9ZnVuY3Rpb24gemkodCl7Y29uc3QgZT10WzBdLG49dFsxXSxpPXRbMl07dHJ5e24uYXBwbHkoZSxpKX1jYXRjaCh0KXtzZXRUaW1lb3V0KCgoKT0+e3Rocm93IHR9KSl9fWZ1bmN0aW9uIERpKHQsZSxuKXtOaXx8T2koKSxSaS5wdXNoKFt0LGUsbl0pfQovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2Z1bmN0aW9uIEJpKCl7ZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoInVucmVzb2x2ZWQiKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KZnVuY3Rpb24gSGkodCxlLG4pe3JldHVybntpbmRleDp0LHJlbW92ZWQ6ZSxhZGRlZENvdW50Om59fSJpbnRlcmFjdGl2ZSI9PT1kb2N1bWVudC5yZWFkeVN0YXRlfHwiY29tcGxldGUiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZT9CaSgpOndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixCaSk7ZnVuY3Rpb24gRmkodCxlLG4saSxyLG8pe2xldCBhLHM9MCxsPTAsYz1NYXRoLm1pbihuLWUsby1yKTtpZigwPT1lJiYwPT1yJiYocz0oZnVuY3Rpb24gdSh0LGUsbil7Zm9yKGxldCBpPTA7aTxuO2krKylpZighVWkodFtpXSxlW2ldKSlyZXR1cm4gaTtyZXR1cm4gbn0pKHQsaSxjKSksbj09dC5sZW5ndGgmJm89PWkubGVuZ3RoJiYobD0oZnVuY3Rpb24gaCh0LGUsbil7bGV0IGk9dC5sZW5ndGgscj1lLmxlbmd0aCxvPTA7Zm9yKDtvPG4mJlVpKHRbLS1pXSxlWy0tcl0pOylvKys7cmV0dXJuIG99KSh0LGksYy1zKSkscis9cyxvLT1sLChuLT1sKS0oZSs9cyk9PTAmJm8tcj09MClyZXR1cm5bXTtpZihlPT1uKXtmb3IoYT1IaShlLFtdLDApO3I8bzspYS5yZW1vdmVkLnB1c2goaVtyKytdKTtyZXR1cm5bYV19aWYocj09bylyZXR1cm5bSGkoZSxbXSxuLWUpXTtsZXQgZD0oZnVuY3Rpb24gZih0KXtsZXQgZT10Lmxlbmd0aC0xLG49dFswXS5sZW5ndGgtMSxpPXRbZV1bbl0scj1bXTtmb3IoO2U+MHx8bj4wOyl7aWYoMD09ZSl7ci5wdXNoKDIpLG4tLTtjb250aW51ZX1pZigwPT1uKXtyLnB1c2goMyksZS0tO2NvbnRpbnVlfWxldCBvLGE9dFtlLTFdW24tMV0scz10W2UtMV1bbl0sbD10W2VdW24tMV07bz1zPGw/czxhP3M6YTpsPGE/bDphLG89PWE/KGE9PWk/ci5wdXNoKDApOihyLnB1c2goMSksaT1hKSxlLS0sbi0tKTpvPT1zPyhyLnB1c2goMyksZS0tLGk9cyk6KHIucHVzaCgyKSxuLS0saT1sKX1yZXR1cm4gci5yZXZlcnNlKCkscn0pKChmdW5jdGlvbiBwKHQsZSxuLGkscixvKXtsZXQgYT1vLXIrMSxzPW4tZSsxLGw9bmV3IEFycmF5KGEpO2ZvcihsZXQgdD0wO3Q8YTt0KyspbFt0XT1uZXcgQXJyYXkocyksbFt0XVswXT10O2ZvcihsZXQgdD0wO3Q8czt0KyspbFswXVt0XT10O2ZvcihsZXQgbj0xO248YTtuKyspZm9yKGxldCBvPTE7bzxzO28rKylpZihVaSh0W2Urby0xXSxpW3Irbi0xXSkpbFtuXVtvXT1sW24tMV1bby0xXTtlbHNle2xldCB0PWxbbi0xXVtvXSsxLGU9bFtuXVtvLTFdKzE7bFtuXVtvXT10PGU/dDplfXJldHVybiBsfSkodCxlLG4saSxyLG8pKTthPXZvaWQgMDtsZXQgbT1bXSxnPWUsXz1yO2ZvcihsZXQgdD0wO3Q8ZC5sZW5ndGg7dCsrKXN3aXRjaChkW3RdKXtjYXNlIDA6YSYmKG0ucHVzaChhKSxhPXZvaWQgMCksZysrLF8rKzticmVhaztjYXNlIDE6YXx8KGE9SGkoZyxbXSwwKSksYS5hZGRlZENvdW50KyssZysrLGEucmVtb3ZlZC5wdXNoKGlbX10pLF8rKzticmVhaztjYXNlIDI6YXx8KGE9SGkoZyxbXSwwKSksYS5hZGRlZENvdW50KyssZysrO2JyZWFrO2Nhc2UgMzphfHwoYT1IaShnLFtdLDApKSxhLnJlbW92ZWQucHVzaChpW19dKSxfKyt9cmV0dXJuIGEmJm0ucHVzaChhKSxtfWZ1bmN0aW9uIFZpKHQsZSl7cmV0dXJuIEZpKHQsMCx0Lmxlbmd0aCxlLDAsZS5sZW5ndGgpfWZ1bmN0aW9uIFVpKHQsZSl7cmV0dXJuIHQ9PT1lfQovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2Z1bmN0aW9uIGppKHQpe3JldHVybiJzbG90Ij09PXQubG9jYWxOYW1lfWxldCBHaT1jbGFzc3tzdGF0aWMgZ2V0RmxhdHRlbmVkTm9kZXModCl7Y29uc3QgZT1ZKHQpO3JldHVybiBqaSh0KT8odD10LGUuYXNzaWduZWROb2Rlcyh7ZmxhdHRlbjohMH0pKTpBcnJheS5mcm9tKGUuY2hpbGROb2RlcykubWFwKCh0PT5qaSh0KT9ZKHQ9dCkuYXNzaWduZWROb2Rlcyh7ZmxhdHRlbjohMH0pOlt0XSkpLnJlZHVjZSgoKHQsZSk9PnQuY29uY2F0KGUpKSxbXSl9Y29uc3RydWN0b3IodCxlKXt0aGlzLl9zaGFkeUNoaWxkcmVuT2JzZXJ2ZXI9bnVsbCx0aGlzLl9uYXRpdmVDaGlsZHJlbk9ic2VydmVyPW51bGwsdGhpcy5fY29ubmVjdGVkPSExLHRoaXMuX3RhcmdldD10LHRoaXMuY2FsbGJhY2s9ZSx0aGlzLl9lZmZlY3RpdmVOb2Rlcz1bXSx0aGlzLl9vYnNlcnZlcj1udWxsLHRoaXMuX3NjaGVkdWxlZD0hMSx0aGlzLl9ib3VuZFNjaGVkdWxlPSgpPT57dGhpcy5fc2NoZWR1bGUoKX0sdGhpcy5jb25uZWN0KCksdGhpcy5fc2NoZWR1bGUoKX1jb25uZWN0KCl7amkodGhpcy5fdGFyZ2V0KT90aGlzLl9saXN0ZW5TbG90cyhbdGhpcy5fdGFyZ2V0XSk6WSh0aGlzLl90YXJnZXQpLmNoaWxkcmVuJiYodGhpcy5fbGlzdGVuU2xvdHMoWSh0aGlzLl90YXJnZXQpLmNoaWxkcmVuKSx3aW5kb3cuU2hhZHlET00/dGhpcy5fc2hhZHlDaGlsZHJlbk9ic2VydmVyPXdpbmRvdy5TaGFkeURPTS5vYnNlcnZlQ2hpbGRyZW4odGhpcy5fdGFyZ2V0LCh0PT57dGhpcy5fcHJvY2Vzc011dGF0aW9ucyh0KX0pKToodGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlcj1uZXcgTXV0YXRpb25PYnNlcnZlcigodD0+e3RoaXMuX3Byb2Nlc3NNdXRhdGlvbnModCl9KSksdGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlci5vYnNlcnZlKHRoaXMuX3RhcmdldCx7Y2hpbGRMaXN0OiEwfSkpKSx0aGlzLl9jb25uZWN0ZWQ9ITB9ZGlzY29ubmVjdCgpe2ppKHRoaXMuX3RhcmdldCk/dGhpcy5fdW5saXN0ZW5TbG90cyhbdGhpcy5fdGFyZ2V0XSk6WSh0aGlzLl90YXJnZXQpLmNoaWxkcmVuJiYodGhpcy5fdW5saXN0ZW5TbG90cyhZKHRoaXMuX3RhcmdldCkuY2hpbGRyZW4pLHdpbmRvdy5TaGFkeURPTSYmdGhpcy5fc2hhZHlDaGlsZHJlbk9ic2VydmVyPyh3aW5kb3cuU2hhZHlET00udW5vYnNlcnZlQ2hpbGRyZW4odGhpcy5fc2hhZHlDaGlsZHJlbk9ic2VydmVyKSx0aGlzLl9zaGFkeUNoaWxkcmVuT2JzZXJ2ZXI9bnVsbCk6dGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlciYmKHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXI9bnVsbCkpLHRoaXMuX2Nvbm5lY3RlZD0hMX1fc2NoZWR1bGUoKXt0aGlzLl9zY2hlZHVsZWR8fCh0aGlzLl9zY2hlZHVsZWQ9ITAsdnQucnVuKCgoKT0+dGhpcy5mbHVzaCgpKSkpfV9wcm9jZXNzTXV0YXRpb25zKHQpe3RoaXMuX3Byb2Nlc3NTbG90TXV0YXRpb25zKHQpLHRoaXMuZmx1c2goKX1fcHJvY2Vzc1Nsb3RNdXRhdGlvbnModCl7aWYodClmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7bGV0IG49dFtlXTtuLmFkZGVkTm9kZXMmJnRoaXMuX2xpc3RlblNsb3RzKG4uYWRkZWROb2Rlcyksbi5yZW1vdmVkTm9kZXMmJnRoaXMuX3VubGlzdGVuU2xvdHMobi5yZW1vdmVkTm9kZXMpfX1mbHVzaCgpe2lmKCF0aGlzLl9jb25uZWN0ZWQpcmV0dXJuITE7d2luZG93LlNoYWR5RE9NJiZTaGFkeURPTS5mbHVzaCgpLHRoaXMuX25hdGl2ZUNoaWxkcmVuT2JzZXJ2ZXI/dGhpcy5fcHJvY2Vzc1Nsb3RNdXRhdGlvbnModGhpcy5fbmF0aXZlQ2hpbGRyZW5PYnNlcnZlci50YWtlUmVjb3JkcygpKTp0aGlzLl9zaGFkeUNoaWxkcmVuT2JzZXJ2ZXImJnRoaXMuX3Byb2Nlc3NTbG90TXV0YXRpb25zKHRoaXMuX3NoYWR5Q2hpbGRyZW5PYnNlcnZlci50YWtlUmVjb3JkcygpKSx0aGlzLl9zY2hlZHVsZWQ9ITE7bGV0IHQ9e3RhcmdldDp0aGlzLl90YXJnZXQsYWRkZWROb2RlczpbXSxyZW1vdmVkTm9kZXM6W119LGU9dGhpcy5jb25zdHJ1Y3Rvci5nZXRGbGF0dGVuZWROb2Rlcyh0aGlzLl90YXJnZXQpLG49VmkoZSx0aGlzLl9lZmZlY3RpdmVOb2Rlcyk7Zm9yKGxldCBlLGk9MDtpPG4ubGVuZ3RoJiYoZT1uW2ldKTtpKyspZm9yKGxldCBuLGk9MDtpPGUucmVtb3ZlZC5sZW5ndGgmJihuPWUucmVtb3ZlZFtpXSk7aSsrKXQucmVtb3ZlZE5vZGVzLnB1c2gobik7Zm9yKGxldCBpLHI9MDtyPG4ubGVuZ3RoJiYoaT1uW3JdKTtyKyspZm9yKGxldCBuPWkuaW5kZXg7bjxpLmluZGV4K2kuYWRkZWRDb3VudDtuKyspdC5hZGRlZE5vZGVzLnB1c2goZVtuXSk7dGhpcy5fZWZmZWN0aXZlTm9kZXM9ZTtsZXQgaT0hMTtyZXR1cm4odC5hZGRlZE5vZGVzLmxlbmd0aHx8dC5yZW1vdmVkTm9kZXMubGVuZ3RoKSYmKGk9ITAsdGhpcy5jYWxsYmFjay5jYWxsKHRoaXMuX3RhcmdldCx0KSksaX1fbGlzdGVuU2xvdHModCl7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2xldCBuPXRbZV07amkobikmJm4uYWRkRXZlbnRMaXN0ZW5lcigic2xvdGNoYW5nZSIsdGhpcy5fYm91bmRTY2hlZHVsZSl9fV91bmxpc3RlblNsb3RzKHQpe2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtsZXQgbj10W2VdO2ppKG4pJiZuLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNsb3RjaGFuZ2UiLHRoaXMuX2JvdW5kU2NoZWR1bGUpfX19OwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2NvbnN0IFdpPWZ1bmN0aW9uKCl7bGV0IHQsZTtkb3t0PXdpbmRvdy5TaGFkeURPTSYmU2hhZHlET00uZmx1c2goKSx3aW5kb3cuU2hhZHlDU1MmJndpbmRvdy5TaGFkeUNTUy5TY29waW5nU2hpbSYmd2luZG93LlNoYWR5Q1NTLlNjb3BpbmdTaGltLmZsdXNoKCksZT1PbigpfXdoaWxlKHR8fGUpfSxxaT1FbGVtZW50LnByb3RvdHlwZSxZaT1xaS5tYXRjaGVzfHxxaS5tYXRjaGVzU2VsZWN0b3J8fHFpLm1vek1hdGNoZXNTZWxlY3Rvcnx8cWkubXNNYXRjaGVzU2VsZWN0b3J8fHFpLm9NYXRjaGVzU2VsZWN0b3J8fHFpLndlYmtpdE1hdGNoZXNTZWxlY3RvcixYaT1mdW5jdGlvbih0LGUpe3JldHVybiBZaS5jYWxsKHQsZSl9OwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2NsYXNzICRpe2NvbnN0cnVjdG9yKHQpe3dpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLmluVXNlJiZ3aW5kb3cuU2hhZHlET00ucGF0Y2godCksdGhpcy5ub2RlPXR9b2JzZXJ2ZU5vZGVzKHQpe3JldHVybiBuZXcgR2kodGhpcy5ub2RlLHQpfXVub2JzZXJ2ZU5vZGVzKHQpe3QuZGlzY29ubmVjdCgpfW5vdGlmeU9ic2VydmVyKCl7fWRlZXBDb250YWlucyh0KXtpZihZKHRoaXMubm9kZSkuY29udGFpbnModCkpcmV0dXJuITA7bGV0IGU9dCxuPXQub3duZXJEb2N1bWVudDtmb3IoO2UmJmUhPT1uJiZlIT09dGhpcy5ub2RlOyllPVkoZSkucGFyZW50Tm9kZXx8WShlKS5ob3N0O3JldHVybiBlPT09dGhpcy5ub2RlfWdldE93bmVyUm9vdCgpe3JldHVybiBZKHRoaXMubm9kZSkuZ2V0Um9vdE5vZGUoKX1nZXREaXN0cmlidXRlZE5vZGVzKCl7cmV0dXJuInNsb3QiPT09dGhpcy5ub2RlLmxvY2FsTmFtZT9ZKHRoaXMubm9kZSkuYXNzaWduZWROb2Rlcyh7ZmxhdHRlbjohMH0pOltdfWdldERlc3RpbmF0aW9uSW5zZXJ0aW9uUG9pbnRzKCl7bGV0IHQ9W10sZT1ZKHRoaXMubm9kZSkuYXNzaWduZWRTbG90O2Zvcig7ZTspdC5wdXNoKGUpLGU9WShlKS5hc3NpZ25lZFNsb3Q7cmV0dXJuIHR9aW1wb3J0Tm9kZSh0LGUpe2xldCBuPXRoaXMubm9kZSBpbnN0YW5jZW9mIERvY3VtZW50P3RoaXMubm9kZTp0aGlzLm5vZGUub3duZXJEb2N1bWVudDtyZXR1cm4gWShuKS5pbXBvcnROb2RlKHQsZSl9Z2V0RWZmZWN0aXZlQ2hpbGROb2Rlcygpe3JldHVybiBHaS5nZXRGbGF0dGVuZWROb2Rlcyh0aGlzLm5vZGUpfXF1ZXJ5RGlzdHJpYnV0ZWRFbGVtZW50cyh0KXtsZXQgZT10aGlzLmdldEVmZmVjdGl2ZUNoaWxkTm9kZXMoKSxuPVtdO2ZvcihsZXQgaSxyPTAsbz1lLmxlbmd0aDtyPG8mJihpPWVbcl0pO3IrKylpLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJlhpKGksdCkmJm4ucHVzaChpKTtyZXR1cm4gbn1nZXQgYWN0aXZlRWxlbWVudCgpe2xldCB0PXRoaXMubm9kZTtyZXR1cm4gdm9pZCAwIT09dC5fYWN0aXZlRWxlbWVudD90Ll9hY3RpdmVFbGVtZW50OnQuYWN0aXZlRWxlbWVudH19ZnVuY3Rpb24gS2kodCxlKXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7bGV0IGk9ZVtuXTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlW2ldfSxjb25maWd1cmFibGU6ITB9KX19Y2xhc3MgWml7Y29uc3RydWN0b3IodCl7dGhpcy5ldmVudD10fWdldCByb290VGFyZ2V0KCl7cmV0dXJuIHRoaXMucGF0aFswXX1nZXQgbG9jYWxUYXJnZXQoKXtyZXR1cm4gdGhpcy5ldmVudC50YXJnZXR9Z2V0IHBhdGgoKXtyZXR1cm4gdGhpcy5ldmVudC5jb21wb3NlZFBhdGgoKX19bGV0IEppPSRpO2lmKHdpbmRvdy5TaGFkeURPTSYmd2luZG93LlNoYWR5RE9NLmluVXNlJiZ3aW5kb3cuU2hhZHlET00ubm9QYXRjaCYmd2luZG93LlNoYWR5RE9NLldyYXBwZXIpe2NsYXNzIHQgZXh0ZW5kcyB3aW5kb3cuU2hhZHlET00uV3JhcHBlcnt9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoJGkucHJvdG90eXBlKS5mb3JFYWNoKChlPT57ImFjdGl2ZUVsZW1lbnQiIT1lJiYodC5wcm90b3R5cGVbZV09JGkucHJvdG90eXBlW2VdKX0pKSxLaSh0LnByb3RvdHlwZSxbImNsYXNzTGlzdCJdKSxKaT10LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFppLnByb3RvdHlwZSx7bG9jYWxUYXJnZXQ6e2dldCgpe2NvbnN0IHQ9dGhpcy5ldmVudC5jdXJyZW50VGFyZ2V0LGU9dCYmZXIodCkuZ2V0T3duZXJSb290KCksbj10aGlzLnBhdGg7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspe2NvbnN0IGk9blt0XTtpZihlcihpKS5nZXRPd25lclJvb3QoKT09PWUpcmV0dXJuIGl9fSxjb25maWd1cmFibGU6ITB9LHBhdGg6e2dldCgpe3JldHVybiB3aW5kb3cuU2hhZHlET00uY29tcG9zZWRQYXRoKHRoaXMuZXZlbnQpfSxjb25maWd1cmFibGU6ITB9fSl9ZWxzZSEoZnVuY3Rpb24gUWkodCxlKXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7bGV0IGk9ZVtuXTt0W2ldPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZVtpXS5hcHBseSh0aGlzLm5vZGUsYXJndW1lbnRzKX19fSkoJGkucHJvdG90eXBlLFsiY2xvbmVOb2RlIiwiYXBwZW5kQ2hpbGQiLCJpbnNlcnRCZWZvcmUiLCJyZW1vdmVDaGlsZCIsInJlcGxhY2VDaGlsZCIsInNldEF0dHJpYnV0ZSIsInJlbW92ZUF0dHJpYnV0ZSIsInF1ZXJ5U2VsZWN0b3IiLCJxdWVyeVNlbGVjdG9yQWxsIl0pLEtpKCRpLnByb3RvdHlwZSxbInBhcmVudE5vZGUiLCJmaXJzdENoaWxkIiwibGFzdENoaWxkIiwibmV4dFNpYmxpbmciLCJwcmV2aW91c1NpYmxpbmciLCJmaXJzdEVsZW1lbnRDaGlsZCIsImxhc3RFbGVtZW50Q2hpbGQiLCJuZXh0RWxlbWVudFNpYmxpbmciLCJwcmV2aW91c0VsZW1lbnRTaWJsaW5nIiwiY2hpbGROb2RlcyIsImNoaWxkcmVuIiwiY2xhc3NMaXN0Il0pLChmdW5jdGlvbiB0cih0LGUpe2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXtsZXQgaT1lW25dO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGkse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGVbaV19LHNldDpmdW5jdGlvbih0KXt0aGlzLm5vZGVbaV09dH0sY29uZmlndXJhYmxlOiEwfSl9fSkoJGkucHJvdG90eXBlLFsidGV4dENvbnRlbnQiLCJpbm5lckhUTUwiLCJjbGFzc05hbWUiXSk7Y29uc3QgZXI9ZnVuY3Rpb24odCl7aWYoKHQ9dHx8ZG9jdW1lbnQpaW5zdGFuY2VvZiBKaSlyZXR1cm4gdDtpZih0IGluc3RhbmNlb2YgWmkpcmV0dXJuIHQ7bGV0IGU9dC5fX2RvbUFwaTtyZXR1cm4gZXx8KGU9dCBpbnN0YW5jZW9mIEV2ZW50P25ldyBaaSh0KTpuZXcgSmkodCksdC5fX2RvbUFwaT1lKSxlfSxucj13aW5kb3cuU2hhZHlET00saXI9d2luZG93LlNoYWR5Q1NTOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTkgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2Z1bmN0aW9uIHJyKHQsZSl7cmV0dXJuIFkodCkuZ2V0Um9vdE5vZGUoKT09PWV9Ci8qKgogICAgICogQGZpbGVvdmVydmlldwogICAgICogQHN1cHByZXNzIHtjaGVja1Byb3RvdHlwYWxUeXBlc30KICAgICAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kCiAgICAgKiBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5CiAgICAgKiBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5CiAgICAgKiBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQCiAgICAgKiByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAgKi8KY29uc3Qgb3I9ImRpc2FibGUtdXBncmFkZSIsYXI9dD0+e2Zvcig7dDspe2NvbnN0IGU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LCJvYnNlcnZlZEF0dHJpYnV0ZXMiKTtpZihlKXJldHVybiBlLmdldDt0PU9iamVjdC5nZXRQcm90b3R5cGVPZih0LnByb3RvdHlwZSkuY29uc3RydWN0b3J9cmV0dXJuKCk9PltdfTtJKCh0PT57Y29uc3QgZT15ZSh0KTtsZXQgbj1hcihlKTtyZXR1cm4gY2xhc3MgZXh0ZW5kcyBle2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1zdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe3JldHVybiBuLmNhbGwodGhpcykuY29uY2F0KG9yKX1faW5pdGlhbGl6ZVByb3BlcnRpZXMoKXt0aGlzLmhhc0F0dHJpYnV0ZShvcik/dGhpcy5fX2lzVXBncmFkZURpc2FibGVkPSEwOnN1cGVyLl9pbml0aWFsaXplUHJvcGVydGllcygpfV9lbmFibGVQcm9wZXJ0aWVzKCl7dGhpcy5fX2lzVXBncmFkZURpc2FibGVkfHxzdXBlci5fZW5hYmxlUHJvcGVydGllcygpfV9jYW5BcHBseVByb3BlcnR5RGVmYXVsdCh0KXtyZXR1cm4gc3VwZXIuX2NhbkFwcGx5UHJvcGVydHlEZWZhdWx0KHQpJiYhKHRoaXMuX19pc1VwZ3JhZGVEaXNhYmxlZCYmdGhpcy5faXNQcm9wZXJ0eVBlbmRpbmcodCkpfWF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LGUsbixpKXt0PT1vcj90aGlzLl9faXNVcGdyYWRlRGlzYWJsZWQmJm51bGw9PW4mJihzdXBlci5faW5pdGlhbGl6ZVByb3BlcnRpZXMoKSx0aGlzLl9faXNVcGdyYWRlRGlzYWJsZWQ9ITEsWSh0aGlzKS5pc0Nvbm5lY3RlZCYmc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSk6c3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHQsZSxuLGkpfWNvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5fX2lzVXBncmFkZURpc2FibGVkfHxzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5fX2lzVXBncmFkZURpc2FibGVkfHxzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpfX19KSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IHNyPSJkaXNhYmxlLXVwZ3JhZGUiO2xldCBscj13aW5kb3cuU2hhZHlDU1M7Y29uc3QgY3I9SSgodD0+e2NvbnN0IGU9YmkoeWUodCkpLG49X2U/ZTpQaShlKSxpPWFyKG4pLHI9e3g6InBhbi14Iix5OiJwYW4teSIsbm9uZToibm9uZSIsYWxsOiJhdXRvIn07Y2xhc3MgbyBleHRlbmRzIG57Y29uc3RydWN0b3IoKXtzdXBlcigpfXN0YXRpYyBnZXQgaW1wb3J0TWV0YSgpe3JldHVybiB0aGlzLnByb3RvdHlwZS5pbXBvcnRNZXRhfWNyZWF0ZWQoKXt9X19hdHRyaWJ1dGVSZWFjdGlvbih0LGUsbil7KHRoaXMuX19kYXRhQXR0cmlidXRlcyYmdGhpcy5fX2RhdGFBdHRyaWJ1dGVzW3RdfHx0PT09c3IpJiZ0aGlzLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LGUsbixudWxsKX1zZXRBdHRyaWJ1dGUodCxlKXtpZihMJiYhdGhpcy5fbGVnYWN5Rm9yY2VPYnNlcnZlZEF0dHJpYnV0ZXMpe2NvbnN0IG49dGhpcy5nZXRBdHRyaWJ1dGUodCk7c3VwZXIuc2V0QXR0cmlidXRlKHQsZSksdGhpcy5fX2F0dHJpYnV0ZVJlYWN0aW9uKHQsbixTdHJpbmcoZSkpfWVsc2Ugc3VwZXIuc2V0QXR0cmlidXRlKHQsZSl9cmVtb3ZlQXR0cmlidXRlKHQpe2lmKEwmJiF0aGlzLl9sZWdhY3lGb3JjZU9ic2VydmVkQXR0cmlidXRlcyl7Y29uc3QgZT10aGlzLmdldEF0dHJpYnV0ZSh0KTtzdXBlci5yZW1vdmVBdHRyaWJ1dGUodCksdGhpcy5fX2F0dHJpYnV0ZVJlYWN0aW9uKHQsZSxudWxsKX1lbHNlIHN1cGVyLnJlbW92ZUF0dHJpYnV0ZSh0KX1zdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe3JldHVybiBMJiYhdGhpcy5wcm90b3R5cGUuX2xlZ2FjeUZvcmNlT2JzZXJ2ZWRBdHRyaWJ1dGVzPyh0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9fb2JzZXJ2ZWRBdHRyaWJ1dGVzIix0aGlzKSl8fCh0aGlzLl9fb2JzZXJ2ZWRBdHRyaWJ1dGVzPVtdKSx0aGlzLl9fb2JzZXJ2ZWRBdHRyaWJ1dGVzKTppLmNhbGwodGhpcykuY29uY2F0KHNyKX1fZW5hYmxlUHJvcGVydGllcygpe3RoaXMuX19pc1VwZ3JhZGVEaXNhYmxlZHx8c3VwZXIuX2VuYWJsZVByb3BlcnRpZXMoKX1fY2FuQXBwbHlQcm9wZXJ0eURlZmF1bHQodCl7cmV0dXJuIHN1cGVyLl9jYW5BcHBseVByb3BlcnR5RGVmYXVsdCh0KSYmISh0aGlzLl9faXNVcGdyYWRlRGlzYWJsZWQmJnRoaXMuX2lzUHJvcGVydHlQZW5kaW5nKHQpKX1jb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMuX19uZWVkc0F0dHJpYnV0ZXNBdENvbm5lY3RlZCYmdGhpcy5fdGFrZUF0dHJpYnV0ZXMoKSx0aGlzLl9faXNVcGdyYWRlRGlzYWJsZWR8fChzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaXNBdHRhY2hlZD0hMCx0aGlzLmF0dGFjaGVkKCkpfWF0dGFjaGVkKCl7fWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5fX2lzVXBncmFkZURpc2FibGVkfHwoc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmlzQXR0YWNoZWQ9ITEsdGhpcy5kZXRhY2hlZCgpKX1kZXRhY2hlZCgpe31hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4saSl7ZSE9PW4mJih0PT1zcj90aGlzLl9faXNVcGdyYWRlRGlzYWJsZWQmJm51bGw9PW4mJih0aGlzLl9pbml0aWFsaXplUHJvcGVydGllcygpLHRoaXMuX19pc1VwZ3JhZGVEaXNhYmxlZD0hMSxZKHRoaXMpLmlzQ29ubmVjdGVkJiZ0aGlzLmNvbm5lY3RlZENhbGxiYWNrKCkpOihzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4saSksdGhpcy5hdHRyaWJ1dGVDaGFuZ2VkKHQsZSxuKSkpfWF0dHJpYnV0ZUNoYW5nZWQodCxlLG4pe31faW5pdGlhbGl6ZVByb3BlcnRpZXMoKXtpZih3JiZ0aGlzLmhhc0F0dHJpYnV0ZShzcikpdGhpcy5fX2lzVXBncmFkZURpc2FibGVkPSEwO2Vsc2V7bGV0IHQ9T2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpO3QuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgiX19oYXNSZWdpc3RlckZpbmlzaGVkIix0KSl8fCh0aGlzLl9yZWdpc3RlcmVkKCksdC5fX2hhc1JlZ2lzdGVyRmluaXNoZWQ9ITApLHN1cGVyLl9pbml0aWFsaXplUHJvcGVydGllcygpLHRoaXMucm9vdD10aGlzLHRoaXMuY3JlYXRlZCgpLEwmJiF0aGlzLl9sZWdhY3lGb3JjZU9ic2VydmVkQXR0cmlidXRlcyYmKHRoaXMuaGFzQXR0cmlidXRlcygpP3RoaXMuX3Rha2VBdHRyaWJ1dGVzKCk6dGhpcy5wYXJlbnROb2RlfHwodGhpcy5fX25lZWRzQXR0cmlidXRlc0F0Q29ubmVjdGVkPSEwKSksdGhpcy5fYXBwbHlMaXN0ZW5lcnMoKX19X3Rha2VBdHRyaWJ1dGVzKCl7Y29uc3QgdD10aGlzLmF0dHJpYnV0ZXM7Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXtjb25zdCBuPXRbZV07dGhpcy5fX2F0dHJpYnV0ZVJlYWN0aW9uKG4ubmFtZSxudWxsLG4udmFsdWUpfX1fcmVnaXN0ZXJlZCgpe31yZWFkeSgpe3RoaXMuX2Vuc3VyZUF0dHJpYnV0ZXMoKSxzdXBlci5yZWFkeSgpfV9lbnN1cmVBdHRyaWJ1dGVzKCl7fV9hcHBseUxpc3RlbmVycygpe31zZXJpYWxpemUodCl7cmV0dXJuIHRoaXMuX3NlcmlhbGl6ZVZhbHVlKHQpfWRlc2VyaWFsaXplKHQsZSl7cmV0dXJuIHRoaXMuX2Rlc2VyaWFsaXplVmFsdWUodCxlKX1yZWZsZWN0UHJvcGVydHlUb0F0dHJpYnV0ZSh0LGUsbil7dGhpcy5fcHJvcGVydHlUb0F0dHJpYnV0ZSh0LGUsbil9c2VyaWFsaXplVmFsdWVUb0F0dHJpYnV0ZSh0LGUsbil7dGhpcy5fdmFsdWVUb05vZGVBdHRyaWJ1dGUobnx8dGhpcyx0LGUpfWV4dGVuZCh0LGUpe2lmKCF0fHwhZSlyZXR1cm4gdHx8ZTtsZXQgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKTtmb3IobGV0IGkscj0wO3I8bi5sZW5ndGgmJihpPW5bcl0pO3IrKyl7bGV0IG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLGkpO24mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksbil9cmV0dXJuIHR9bWl4aW4odCxlKXtmb3IobGV0IG4gaW4gZSl0W25dPWVbbl07cmV0dXJuIHR9Y2hhaW5PYmplY3QodCxlKXtyZXR1cm4gdCYmZSYmdCE9PWUmJih0Ll9fcHJvdG9fXz1lKSx0fWluc3RhbmNlVGVtcGxhdGUodCl7bGV0IGU9dGhpcy5jb25zdHJ1Y3Rvci5fY29udGVudEZvclRlbXBsYXRlKHQpO3JldHVybiBkb2N1bWVudC5pbXBvcnROb2RlKGUsITApfWZpcmUodCxlLG4pe249bnx8e30sZT1udWxsPT1lP3t9OmU7bGV0IGk9bmV3IEV2ZW50KHQse2J1YmJsZXM6dm9pZCAwPT09bi5idWJibGVzfHxuLmJ1YmJsZXMsY2FuY2VsYWJsZTpCb29sZWFuKG4uY2FuY2VsYWJsZSksY29tcG9zZWQ6dm9pZCAwPT09bi5jb21wb3NlZHx8bi5jb21wb3NlZH0pO3JldHVybiBpLmRldGFpbD1lLFkobi5ub2RlfHx0aGlzKS5kaXNwYXRjaEV2ZW50KGkpLGl9bGlzdGVuKHQsZSxuKXt0PXR8fHRoaXM7bGV0IGk9dGhpcy5fX2JvdW5kTGlzdGVuZXJzfHwodGhpcy5fX2JvdW5kTGlzdGVuZXJzPW5ldyBXZWFrTWFwKSxyPWkuZ2V0KHQpO3J8fChyPXt9LGkuc2V0KHQscikpO2xldCBvPWUrbjtyW29dfHwocltvXT10aGlzLl9hZGRNZXRob2RFdmVudExpc3RlbmVyVG9Ob2RlKHQsZSxuLHRoaXMpKX11bmxpc3Rlbih0LGUsbil7dD10fHx0aGlzO2xldCBpPXRoaXMuX19ib3VuZExpc3RlbmVycyYmdGhpcy5fX2JvdW5kTGlzdGVuZXJzLmdldCh0KSxyPWUrbixvPWkmJmlbcl07byYmKHRoaXMuX3JlbW92ZUV2ZW50TGlzdGVuZXJGcm9tTm9kZSh0LGUsbyksaVtyXT1udWxsKX1zZXRTY3JvbGxEaXJlY3Rpb24odCxlKXtkaShlfHx0aGlzLHJbdF18fCJhdXRvIil9JCQodCl7cmV0dXJuIHRoaXMucm9vdC5xdWVyeVNlbGVjdG9yKHQpfWdldCBkb21Ib3N0KCl7bGV0IHQ9WSh0aGlzKS5nZXRSb290Tm9kZSgpO3JldHVybiB0IGluc3RhbmNlb2YgRG9jdW1lbnRGcmFnbWVudD90Lmhvc3Q6dH1kaXN0cmlidXRlQ29udGVudCgpe2NvbnN0IHQ9ZXIodGhpcyk7d2luZG93LlNoYWR5RE9NJiZ0LnNoYWRvd1Jvb3QmJlNoYWR5RE9NLmZsdXNoKCl9Z2V0RWZmZWN0aXZlQ2hpbGROb2Rlcygpe3JldHVybiBlcih0aGlzKS5nZXRFZmZlY3RpdmVDaGlsZE5vZGVzKCl9cXVlcnlEaXN0cmlidXRlZEVsZW1lbnRzKHQpe3JldHVybiBlcih0aGlzKS5xdWVyeURpc3RyaWJ1dGVkRWxlbWVudHModCl9Z2V0RWZmZWN0aXZlQ2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5nZXRFZmZlY3RpdmVDaGlsZE5vZGVzKCkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFfSkpfWdldEVmZmVjdGl2ZVRleHRDb250ZW50KCl7bGV0IHQ9dGhpcy5nZXRFZmZlY3RpdmVDaGlsZE5vZGVzKCksZT1bXTtmb3IobGV0IG4saT0wO249dFtpXTtpKyspbi5ub2RlVHlwZSE9PU5vZGUuQ09NTUVOVF9OT0RFJiZlLnB1c2gobi50ZXh0Q29udGVudCk7cmV0dXJuIGUuam9pbigiIil9cXVlcnlFZmZlY3RpdmVDaGlsZHJlbih0KXtsZXQgZT10aGlzLnF1ZXJ5RGlzdHJpYnV0ZWRFbGVtZW50cyh0KTtyZXR1cm4gZSYmZVswXX1xdWVyeUFsbEVmZmVjdGl2ZUNoaWxkcmVuKHQpe3JldHVybiB0aGlzLnF1ZXJ5RGlzdHJpYnV0ZWRFbGVtZW50cyh0KX1nZXRDb250ZW50Q2hpbGROb2Rlcyh0KXtsZXQgZT10aGlzLnJvb3QucXVlcnlTZWxlY3Rvcih0fHwic2xvdCIpO3JldHVybiBlP2VyKGUpLmdldERpc3RyaWJ1dGVkTm9kZXMoKTpbXX1nZXRDb250ZW50Q2hpbGRyZW4odCl7cmV0dXJuIHRoaXMuZ2V0Q29udGVudENoaWxkTm9kZXModCkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFfSkpfWlzTGlnaHREZXNjZW5kYW50KHQpe2NvbnN0IGU9dGhpcztyZXR1cm4gZSE9PXQmJlkoZSkuY29udGFpbnModCkmJlkoZSkuZ2V0Um9vdE5vZGUoKT09PVkodCkuZ2V0Um9vdE5vZGUoKX1pc0xvY2FsRGVzY2VuZGFudCh0KXtyZXR1cm4gdGhpcy5yb290PT09WSh0KS5nZXRSb290Tm9kZSgpfXNjb3BlU3VidHJlZSh0LGU9ITEpe3JldHVybihmdW5jdGlvbiBuKHQsZT0hMSl7aWYoIW5yfHwhaXIpcmV0dXJuIG51bGw7aWYoIW5yLmhhbmRsZXNEeW5hbWljU2NvcGluZylyZXR1cm4gbnVsbDtjb25zdCBuPWlyLlNjb3BpbmdTaGltO2lmKCFuKXJldHVybiBudWxsO2NvbnN0IGk9bi5zY29wZUZvck5vZGUodCkscj1ZKHQpLmdldFJvb3ROb2RlKCksbz10PT57aWYoIXJyKHQscikpcmV0dXJuO2NvbnN0IGU9QXJyYXkuZnJvbShuci5uYXRpdmVNZXRob2RzLnF1ZXJ5U2VsZWN0b3JBbGwuY2FsbCh0LCIqIikpO2UucHVzaCh0KTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl7Y29uc3Qgbz1lW3RdO2lmKCFycihvLHIpKWNvbnRpbnVlO2NvbnN0IGE9bi5jdXJyZW50U2NvcGVGb3JOb2RlKG8pO2EhPT1pJiYoIiIhPT1hJiZuLnVuc2NvcGVOb2RlKG8sYSksbi5zY29wZU5vZGUobyxpKSl9fTtpZihvKHQpLGUpe2NvbnN0IGU9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKHQ9Pntmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7Y29uc3Qgbj10W2VdO2ZvcihsZXQgdD0wO3Q8bi5hZGRlZE5vZGVzLmxlbmd0aDt0Kyspe2NvbnN0IGU9bi5hZGRlZE5vZGVzW3RdO2Uubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmbyhlKX19fSkpO3JldHVybiBlLm9ic2VydmUodCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KSxlfXJldHVybiBudWxsfSkodCxlKX1nZXRDb21wdXRlZFN0eWxlVmFsdWUodCl7cmV0dXJuIGxyLmdldENvbXB1dGVkU3R5bGVWYWx1ZSh0aGlzLHQpfWRlYm91bmNlKHQsZSxuKXtyZXR1cm4gdGhpcy5fZGVib3VuY2Vycz10aGlzLl9kZWJvdW5jZXJzfHx7fSx0aGlzLl9kZWJvdW5jZXJzW3RdPU5uLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlcnNbdF0sbj4wP2d0LmFmdGVyKG4pOnZ0LGUuYmluZCh0aGlzKSl9aXNEZWJvdW5jZXJBY3RpdmUodCl7dGhpcy5fZGVib3VuY2Vycz10aGlzLl9kZWJvdW5jZXJzfHx7fTtsZXQgZT10aGlzLl9kZWJvdW5jZXJzW3RdO3JldHVybiEoIWV8fCFlLmlzQWN0aXZlKCkpfWZsdXNoRGVib3VuY2VyKHQpe3RoaXMuX2RlYm91bmNlcnM9dGhpcy5fZGVib3VuY2Vyc3x8e307bGV0IGU9dGhpcy5fZGVib3VuY2Vyc1t0XTtlJiZlLmZsdXNoKCl9Y2FuY2VsRGVib3VuY2VyKHQpe3RoaXMuX2RlYm91bmNlcnM9dGhpcy5fZGVib3VuY2Vyc3x8e307bGV0IGU9dGhpcy5fZGVib3VuY2Vyc1t0XTtlJiZlLmNhbmNlbCgpfWFzeW5jKHQsZSl7cmV0dXJuIGU+MD9ndC5ydW4odC5iaW5kKHRoaXMpLGUpOn52dC5ydW4odC5iaW5kKHRoaXMpKX1jYW5jZWxBc3luYyh0KXt0PDA/dnQuY2FuY2VsKH50KTpndC5jYW5jZWwodCl9Y3JlYXRlKHQsZSl7bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0KTtpZihlKWlmKG4uc2V0UHJvcGVydGllcyluLnNldFByb3BlcnRpZXMoZSk7ZWxzZSBmb3IobGV0IHQgaW4gZSluW3RdPWVbdF07cmV0dXJuIG59ZWxlbWVudE1hdGNoZXModCxlKXtyZXR1cm4gWGkoZXx8dGhpcyx0KX10b2dnbGVBdHRyaWJ1dGUodCxlKXtsZXQgbj10aGlzO3JldHVybiAzPT09YXJndW1lbnRzLmxlbmd0aCYmKG49YXJndW1lbnRzWzJdKSwxPT1hcmd1bWVudHMubGVuZ3RoJiYoZT0hbi5oYXNBdHRyaWJ1dGUodCkpLGU/KFkobikuc2V0QXR0cmlidXRlKHQsIiIpLCEwKTooWShuKS5yZW1vdmVBdHRyaWJ1dGUodCksITEpfXRvZ2dsZUNsYXNzKHQsZSxuKXtuPW58fHRoaXMsMT09YXJndW1lbnRzLmxlbmd0aCYmKGU9IW4uY2xhc3NMaXN0LmNvbnRhaW5zKHQpKSxlP24uY2xhc3NMaXN0LmFkZCh0KTpuLmNsYXNzTGlzdC5yZW1vdmUodCl9dHJhbnNmb3JtKHQsZSl7KGU9ZXx8dGhpcykuc3R5bGUud2Via2l0VHJhbnNmb3JtPXQsZS5zdHlsZS50cmFuc2Zvcm09dH10cmFuc2xhdGUzZCh0LGUsbixpKXt0aGlzLnRyYW5zZm9ybSgidHJhbnNsYXRlM2QoIit0KyIsIitlKyIsIituKyIpIixpPWl8fHRoaXMpfWFycmF5RGVsZXRlKHQsZSl7bGV0IG47aWYoQXJyYXkuaXNBcnJheSh0KSl7aWYobj10LmluZGV4T2YoZSksbj49MClyZXR1cm4gdC5zcGxpY2UobiwxKX1lbHNle2lmKG49bnQodGhpcyx0KS5pbmRleE9mKGUpLG4+PTApcmV0dXJuIHRoaXMuc3BsaWNlKHQsbiwxKX1yZXR1cm4gbnVsbH1fbG9nZ2VyKHQsZSl7c3dpdGNoKEFycmF5LmlzQXJyYXkoZSkmJjE9PT1lLmxlbmd0aCYmQXJyYXkuaXNBcnJheShlWzBdKSYmKGU9ZVswXSksdCl7Y2FzZSJsb2ciOmNhc2Uid2FybiI6Y2FzZSJlcnJvciI6Y29uc29sZVt0XSguLi5lKX19X2xvZyguLi50KXt0aGlzLl9sb2dnZXIoImxvZyIsdCl9X3dhcm4oLi4udCl7dGhpcy5fbG9nZ2VyKCJ3YXJuIix0KX1fZXJyb3IoLi4udCl7dGhpcy5fbG9nZ2VyKCJlcnJvciIsdCl9X2xvZ2YodCwuLi5lKXtyZXR1cm5bIlslczo6JXNdIix0aGlzLmlzLHQsLi4uZV19fXJldHVybiBvLnByb3RvdHlwZS5pcz0iIixvfSkpO2Z1bmN0aW9uIHVyKHQsZSl7bGV0IG49MCxpPTA7Zm9yKDs7KXtpZihuPT09dC5sZW5ndGgpcmV0dXJuIGk9PT1lLmxlbmd0aD8wOi0xO2lmKGk9PT1lLmxlbmd0aClyZXR1cm4gMTtpZihkcih0W25dKSYmZHIoZVtpXSkpe2NvbnN0IHI9bixvPWk7bj1ocih0LG4rMSksaT1ocihlLGkrMSk7Y29uc3QgYT1wYXJzZUZsb2F0KHQuc2xpY2UocixuKSkscz1wYXJzZUZsb2F0KGUuc2xpY2UobyxpKSk7aWYoYTxzKXJldHVybi0xO2lmKGE+cylyZXR1cm4gMX1lbHNle2lmKHByKHRbbl0pKXtpZighcHIoZVtpXSkpcmV0dXJuLTF9ZWxzZXtpZihwcihlW2ldKSlyZXR1cm4gMTtpZih0W25dPGVbaV0pcmV0dXJuLTE7aWYodFtuXT5lW2ldKXJldHVybiAxfW4rKyxpKyt9fX1mdW5jdGlvbiBocih0LGUpe2xldCBuOyEoZnVuY3Rpb24odCl7dFt0Lk5BVFVSQUw9MF09Ik5BVFVSQUwiLHRbdC5SRUFMPTFdPSJSRUFMIix0W3QuRVhQT05FTlRfU0lHTj0yXT0iRVhQT05FTlRfU0lHTiIsdFt0LkVYUE9ORU5UPTNdPSJFWFBPTkVOVCJ9KShufHwobj17fSkpO2xldCBpPW4uTkFUVVJBTDtmb3IoO2U8dC5sZW5ndGg7ZSsrKWlmKGk9PT1uLk5BVFVSQUwpe2lmKCIuIj09PXRbZV0paT1uLlJFQUw7ZWxzZSBpZigiZSI9PT10W2VdfHwiRSI9PT10W2VdKWk9bi5FWFBPTkVOVF9TSUdOO2Vsc2UgaWYoIWRyKHRbZV0pKWJyZWFrfWVsc2UgaWYoaT09PW4uUkVBTCl7aWYoImUiPT09dFtlXXx8IkUiPT09dFtlXSlpPW4uRVhQT05FTlRfU0lHTjtlbHNlIGlmKCFkcih0W2VdKSlicmVha31lbHNlIGlmKGk9PT1uLkVYUE9ORU5UX1NJR04pe2lmKCFkcih0W2VdKSYmIisiIT09dFtlXSYmIi0iIT09dFtlXSlicmVhaztpPW4uRVhQT05FTlR9ZWxzZSBpZihpPT09bi5FWFBPTkVOVCYmIWRyKHRbZV0pKWJyZWFrO3JldHVybiBlfWZ1bmN0aW9uIGRyKHQpe3JldHVybiIwIjw9dCYmdDw9IjkifWZ1bmN0aW9uIHByKHQpe3JldHVybiIvIj09PXR8fCJfIj09PXR8fGRyKHQpfWZ1bmN0aW9uIGZyKHQpe3JldHVybiBDZS5leHBvcnRzLnVuaW9uLmFwcGx5KG51bGwsQ2UuZXhwb3J0cy52YWx1ZXModCkpLnNvcnQodXIpfWNsYXNzIG1yIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubmFtZT0iUmVxdWVzdENhbmNlbGxhdGlvbkVycm9yIn19Y2xhc3MgZ3IgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLm5hbWU9IkludmFsaWRSZXF1ZXN0T3B0aW9uc0Vycm9yIixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxnci5wcm90b3R5cGUpfX1jbGFzcyBfciBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLm1lc3NhZ2U9YFJlcXVlc3ROZXR3b3JrRXJyb3I6ICR7dC5zdGF0dXN9IGF0ICR7ZX1gLHRoaXMubmFtZT0iUmVxdWVzdE5ldHdvcmtFcnJvciIsdGhpcy5yZXE9dCx0aGlzLnVybD1lfX12YXIgeXI7IShmdW5jdGlvbih0KXt0LkdFVD0iR0VUIix0LlBPU1Q9IlBPU1QifSkoeXJ8fCh5cj17fSkpO2NsYXNzIHZye3ZhbGlkYXRlKCl7aWYodGhpcy5tZXRob2RUeXBlPT09eXIuR0VUJiZ0aGlzLmJvZHkpdGhyb3cgbmV3IGdyKCJib2R5IG11c3QgYmUgbWlzc2luZyBmb3IgYSBHRVQgcmVxdWVzdC4iKX19Y2xhc3MgYnJ7Y29uc3RydWN0b3IodD0xZTMsZT0zKXt0aGlzLl9xdWV1ZT1bXSx0aGlzLl9uQWN0aXZlUmVxdWVzdHM9MCx0aGlzLl9uU2ltdWx0YW5lb3VzUmVxdWVzdHM9dCx0aGlzLl9tYXhSZXRyaWVzPWV9cmVxdWVzdCh0LGUpe2NvbnN0IG49KGZ1bmN0aW9uIGkodCl7Y29uc3QgZT1uZXcgdnI7aWYoIXQpcmV0dXJuIGUubWV0aG9kVHlwZT15ci5HRVQsZTtyZXR1cm4gZS5tZXRob2RUeXBlPXlyLlBPU1QsZS5ib2R5PShmdW5jdGlvbiBuKHQpe2NvbnN0IGU9bmV3IEZvcm1EYXRhO2Zvcihjb25zdFtuLGldb2YgT2JqZWN0LmVudHJpZXModCkpe2NvbnN0IHQ9QXJyYXkuaXNBcnJheShpKT9pOltpXTtmb3IoY29uc3QgaSBvZiB0KWUuYXBwZW5kKG4saSl9cmV0dXJuIGV9KSh0KSxlfSkoZSk7cmV0dXJuIHRoaXMucmVxdWVzdFdpdGhPcHRpb25zKHQsbil9cmVxdWVzdFdpdGhPcHRpb25zKHQsZSl7ZS52YWxpZGF0ZSgpO3JldHVybiBuZXcgUHJvbWlzZSgoKHQsZSk9Pnt0aGlzLl9xdWV1ZS5wdXNoKHtyZXNvbHZlOnQscmVqZWN0OmV9KSx0aGlzLmxhdW5jaFJlcXVlc3RzKCl9KSkudGhlbigoKCk9PnRoaXMucHJvbWlzZVdpdGhSZXRyaWVzKHQsdGhpcy5fbWF4UmV0cmllcyxlKSkpLnRoZW4oKHQ9Pih0aGlzLl9uQWN0aXZlUmVxdWVzdHMtLSx0aGlzLmxhdW5jaFJlcXVlc3RzKCksdCkpLCh0PT4oIlJlcXVlc3ROZXR3b3JrRXJyb3IiPT09dC5uYW1lJiYodGhpcy5fbkFjdGl2ZVJlcXVlc3RzLS0sdGhpcy5sYXVuY2hSZXF1ZXN0cygpKSxQcm9taXNlLnJlamVjdCh0KSkpKX1mZXRjaCh0LGUpe3JldHVybiBuZXcgUHJvbWlzZSgoKHQsZSk9Pnt0aGlzLl9xdWV1ZS5wdXNoKHtyZXNvbHZlOnQscmVqZWN0OmV9KSx0aGlzLmxhdW5jaFJlcXVlc3RzKCl9KSkudGhlbigoKCk9PntsZXQgbj0xO3JldHVybiBuZXcgUHJvbWlzZSgoaT0+e2NvbnN0IHI9KCk9PntmZXRjaCh0LGUpLnRoZW4oKHQ9PntpZighdC5vayYmdGhpcy5fbWF4UmV0cmllcz5uKXJldHVybiBuKyssdm9pZCByKCk7aSh0KSx0aGlzLl9uQWN0aXZlUmVxdWVzdHMtLSx0aGlzLmxhdW5jaFJlcXVlc3RzKCl9KSl9O3IoKX0pKX0pKX1jbGVhclF1ZXVlKCl7Zm9yKDt0aGlzLl9xdWV1ZS5sZW5ndGg+MDspdGhpcy5fcXVldWUucG9wKCkucmVqZWN0KG5ldyBtcigiUmVxdWVzdCBjYW5jZWxsZWQgYnkgY2xlYXJRdWV1ZSIpKX1hY3RpdmVSZXF1ZXN0cygpe3JldHVybiB0aGlzLl9uQWN0aXZlUmVxdWVzdHN9b3V0c3RhbmRpbmdSZXF1ZXN0cygpe3JldHVybiB0aGlzLl9uQWN0aXZlUmVxdWVzdHMrdGhpcy5fcXVldWUubGVuZ3RofWxhdW5jaFJlcXVlc3RzKCl7Zm9yKDt0aGlzLl9uQWN0aXZlUmVxdWVzdHM8dGhpcy5fblNpbXVsdGFuZW91c1JlcXVlc3RzJiZ0aGlzLl9xdWV1ZS5sZW5ndGg+MDspdGhpcy5fbkFjdGl2ZVJlcXVlc3RzKyssdGhpcy5fcXVldWUucG9wKCkucmVzb2x2ZSh2b2lkIDApfXByb21pc2VXaXRoUmV0cmllcyh0LGUsbil7cmV0dXJuIHRoaXMuX3Byb21pc2VGcm9tVXJsKHQsbikudGhlbigodD0+dCksKGk9PmU+MD90aGlzLnByb21pc2VXaXRoUmV0cmllcyh0LGUtMSxuKTpQcm9taXNlLnJlamVjdChpKSkpfV9wcm9taXNlRnJvbVVybCh0LGUpe3JldHVybiBuZXcgUHJvbWlzZSgoKG4saSk9Pntjb25zdCByPShmdW5jdGlvbiBvKHQsZSxuLGkpe2NvbnN0IHI9bmV3IFhNTEh0dHBSZXF1ZXN0O3Iub3Blbih0LGUpLG4mJihyLndpdGhDcmVkZW50aWFscz1uKTtpJiZyLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsaSk7cmV0dXJuIHJ9KShlLm1ldGhvZFR5cGUsdCxlLndpdGhDcmVkZW50aWFscyxlLmNvbnRlbnRUeXBlKTtyLm9ubG9hZD1mdW5jdGlvbigpezIwMD09PXIuc3RhdHVzP24oSlNPTi5wYXJzZShyLnJlc3BvbnNlVGV4dCkpOmkobmV3IF9yKHIsdCkpfSxyLm9uZXJyb3I9ZnVuY3Rpb24oKXtpKG5ldyBfcihyLHQpKX0sZS5ib2R5P3Iuc2VuZChlLmJvZHkpOnIuc2VuZCgpfSkpfX1jb25zdCB4cj0iZXhwZXJpbWVudGFsUGx1Z2luIix3cj1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO2xldCBTcj1NcigpO2Z1bmN0aW9uIE1yKHQ9ImRhdGEiLGU9d3Ipe3JldHVybiIvIj09PXRbdC5sZW5ndGgtMV0mJih0PXQuc2xpY2UoMCx0Lmxlbmd0aC0xKSkse2Vudmlyb25tZW50OigpPT5Ucih0LCIvZW52aXJvbm1lbnQiKSxleHBlcmltZW50czooKT0+VHIodCwiL2V4cGVyaW1lbnRzIikscGx1Z2luUm91dGU6KGUsbixpKT0+VHIodCsiL3BsdWdpbiIsYC8ke2V9JHtufWAsaSkscGx1Z2luc0xpc3Rpbmc6KCk9PlRyKHQsIi9wbHVnaW5zX2xpc3RpbmciLENyKHtbeHJdOmUuZ2V0QWxsKHhyKX0pKSxydW5zOigpPT5Ucih0LCIvcnVucyIpLHJ1bnNGb3JFeHBlcmltZW50OmU9PlRyKHQsIi9leHBlcmltZW50X3J1bnMiLENyKHtleHBlcmltZW50OlN0cmluZyhlKX0pKX19ZnVuY3Rpb24gRXIoKXtyZXR1cm4gU3J9ZnVuY3Rpb24gVHIodCxlLG49bmV3IFVSTFNlYXJjaFBhcmFtcyl7bGV0IGk9dCtlO2lmKFN0cmluZyhuKSl7aSs9KGUuaW5jbHVkZXMoIj8iKT8iJiI6Ij8iKStTdHJpbmcobil9cmV0dXJuIGl9ZnVuY3Rpb24gQ3IodD17fSl7Y29uc3QgZT1PYmplY3Qua2V5cyh0KS5zb3J0KCkuZmlsdGVyKChlPT50W2VdKSksbj1uZXcgVVJMU2VhcmNoUGFyYW1zO3JldHVybiBlLmZvckVhY2goKGU9Pntjb25zdCBpPXRbZV07KEFycmF5LmlzQXJyYXkoaSk/aTpbaV0pLmZvckVhY2goKHQ9Pm4uYXBwZW5kKGUsdCkpKX0pKSxufXZhciBBcjtmdW5jdGlvbiBrcih0LGUpe2NvbnN0IG49KCgpPT57dHJ5e3JldHVybiBuZXcgUmVnRXhwKGUpfWNhdGNoKHQpe3JldHVybiBudWxsfX0pKCk7cmV0dXJue25hbWU6ZSxtZXRhZGF0YTp7dHlwZTpBci5TRUFSQ0hfUkVTVUxUUyx2YWxpZFJlZ2V4OiEhbix1bml2ZXJzYWxSZWdleDoiLioiPT09ZX0saXRlbXM6bj90LmZpbHRlcigodD0+dC5tYXRjaChuKSkpOltdfX1mdW5jdGlvbiBMcih0LGU9IiIpe2NvbnN0IG49W2tyKHQsZSldLGk9KGZ1bmN0aW9uIHIodCxlPSIvIil7Y29uc3Qgbj1bXSxpPXt9O3JldHVybiB0LmZvckVhY2goKHQ9Pntjb25zdCByPXQuaW5kZXhPZihlKSxvPXI+PTA/dC5zbGljZSgwLHIpOnQ7aWYoIWlbb10pe2NvbnN0IHQ9e25hbWU6byxtZXRhZGF0YTp7dHlwZTpBci5QUkVGSVhfR1JPVVB9LGl0ZW1zOltdfTtpW29dPXQsbi5wdXNoKHQpfWlbb10uaXRlbXMucHVzaCh0KX0pKSxufSkodCk7cmV0dXJuW10uY29uY2F0KG4saSl9ZnVuY3Rpb24gUHIodCxlLG4pe2NvbnN0IGk9THIoZnIodCksbikscj0oZnVuY3Rpb24gbyh0KXtjb25zdCBlPW5ldyBNYXA7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKG49Pnt0W25dLmZvckVhY2goKHQ9Pntjb25zdCBpPWUuZ2V0KHQpfHxbXTtpLnB1c2gobiksZS5zZXQodCxpKX0pKX0pKSxlfSkoQ2UuZXhwb3J0cy5waWNrKHQsZSkpO3JldHVybiBpLm1hcCgoKHtuYW1lOnQsbWV0YWRhdGE6ZSxpdGVtczpufSk9Pih7bmFtZTp0LG1ldGFkYXRhOmUsaXRlbXM6bi5tYXAoKHQ9Pih7dGFnOnQscnVuczooci5nZXQodCl8fFtdKS5zbGljZSgpfSkpKX0pKSl9ZnVuY3Rpb24gTnIodCxlKXtjb25zdCBuPXVyKHQudGFnLGUudGFnKTtyZXR1cm4gMCE9bj9uOnVyKHQucnVuLGUucnVuKX1mdW5jdGlvbiBJcih0LGUsbil7cmV0dXJuIFByKHQsZSxuKS5tYXAoKGZ1bmN0aW9uIGkodCl7Y29uc3QgZT1DZS5leHBvcnRzLmZsYXR0ZW4odC5pdGVtcy5tYXAoKCh7dGFnOnQscnVuczplfSk9PmUubWFwKChlPT4oe3RhZzp0LHJ1bjplfSkpKSkpKTtyZXR1cm4gZS5zb3J0KE5yKSx7bmFtZTp0Lm5hbWUsbWV0YWRhdGE6dC5tZXRhZGF0YSxpdGVtczplfX0pKX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8hKGZ1bmN0aW9uKHQpe3RbdC5TRUFSQ0hfUkVTVUxUUz0wXT0iU0VBUkNIX1JFU1VMVFMiLHRbdC5QUkVGSVhfR1JPVVA9MV09IlBSRUZJWF9HUk9VUCJ9KShBcnx8KEFyPXt9KSk7Y29uc3QgUnI9e2F0dGFjaGVkOiEwLGRldGFjaGVkOiEwLHJlYWR5OiEwLGNyZWF0ZWQ6ITAsYmVmb3JlUmVnaXN0ZXI6ITAscmVnaXN0ZXJlZDohMCxhdHRyaWJ1dGVDaGFuZ2VkOiEwLGxpc3RlbmVyczohMCxob3N0QXR0cmlidXRlczohMH0sT3I9e2F0dGFjaGVkOiEwLGRldGFjaGVkOiEwLHJlYWR5OiEwLGNyZWF0ZWQ6ITAsYmVmb3JlUmVnaXN0ZXI6ITAscmVnaXN0ZXJlZDohMCxhdHRyaWJ1dGVDaGFuZ2VkOiEwLGJlaGF2aW9yczohMCxfbm9BY2Nlc3NvcnM6ITB9LHpyPU9iamVjdC5hc3NpZ24oe2xpc3RlbmVyczohMCxob3N0QXR0cmlidXRlczohMCxwcm9wZXJ0aWVzOiEwLG9ic2VydmVyczohMH0sT3IpO2Z1bmN0aW9uIERyKHQsZSxuLGkpeyEoZnVuY3Rpb24gcih0LGUsbil7Y29uc3QgaT10Ll9ub0FjY2Vzc29ycyxyPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpO2ZvcihsZXQgbz0wO288ci5sZW5ndGg7bysrKXtsZXQgYT1yW29dO2lmKCEoYSBpbiBuKSlpZihpKWVbYV09dFthXTtlbHNle2xldCBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxhKTtuJiYobi5jb25maWd1cmFibGU9ITAsT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYSxuKSl9fX0pKGUsdCxpKTtmb3IobGV0IHQgaW4gUnIpZVt0XSYmKG5bdF09blt0XXx8W10sblt0XS5wdXNoKGVbdF0pKX1mdW5jdGlvbiBCcih0LGUsbil7ZT1lfHxbXTtmb3IobGV0IGk9dC5sZW5ndGgtMTtpPj0wO2ktLSl7bGV0IHI9dFtpXTtyP0FycmF5LmlzQXJyYXkocik/QnIocixlKTplLmluZGV4T2Yocik8MCYmKCFufHxuLmluZGV4T2Yocik8MCkmJmUudW5zaGlmdChyKTpjb25zb2xlLndhcm4oImJlaGF2aW9yIGlzIG51bGwsIGNoZWNrIGZvciBtaXNzaW5nIG9yIDQwNCBpbXBvcnQiKX1yZXR1cm4gZX1mdW5jdGlvbiBIcih0LGUpe2Zvcihjb25zdCBuIGluIGUpe2NvbnN0IGk9dFtuXSxyPWVbbl07dFtuXT0hKCJ2YWx1ZSJpbiByKSYmaSYmInZhbHVlImluIGk/T2JqZWN0LmFzc2lnbih7dmFsdWU6aS52YWx1ZX0scik6cn19Y29uc3QgRnI9Y3IoSFRNTEVsZW1lbnQpO2Z1bmN0aW9uIFZyKHQsZSxuKXtsZXQgaTtjb25zdCByPXt9O2NsYXNzIG8gZXh0ZW5kcyBle3N0YXRpYyBfZmluYWxpemVDbGFzcygpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgiZ2VuZXJhdGVkRnJvbSIsdGhpcykpKXtpZihpKWZvcihsZXQgdCxlPTA7ZTxpLmxlbmd0aDtlKyspdD1pW2VdLHQucHJvcGVydGllcyYmdGhpcy5jcmVhdGVQcm9wZXJ0aWVzKHQucHJvcGVydGllcyksdC5vYnNlcnZlcnMmJnRoaXMuY3JlYXRlT2JzZXJ2ZXJzKHQub2JzZXJ2ZXJzLHQucHJvcGVydGllcyk7dC5wcm9wZXJ0aWVzJiZ0aGlzLmNyZWF0ZVByb3BlcnRpZXModC5wcm9wZXJ0aWVzKSx0Lm9ic2VydmVycyYmdGhpcy5jcmVhdGVPYnNlcnZlcnModC5vYnNlcnZlcnMsdC5wcm9wZXJ0aWVzKSx0aGlzLl9wcmVwYXJlVGVtcGxhdGUoKX1lbHNlIGUuX2ZpbmFsaXplQ2xhc3MuY2FsbCh0aGlzKX1zdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtjb25zdCBlPXt9O2lmKGkpZm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0KyspSHIoZSxpW3RdLnByb3BlcnRpZXMpO3JldHVybiBIcihlLHQucHJvcGVydGllcyksZX1zdGF0aWMgZ2V0IG9ic2VydmVycygpe2xldCBlPVtdO2lmKGkpZm9yKGxldCB0LG49MDtuPGkubGVuZ3RoO24rKyl0PWlbbl0sdC5vYnNlcnZlcnMmJihlPWUuY29uY2F0KHQub2JzZXJ2ZXJzKSk7cmV0dXJuIHQub2JzZXJ2ZXJzJiYoZT1lLmNvbmNhdCh0Lm9ic2VydmVycykpLGV9Y3JlYXRlZCgpe3N1cGVyLmNyZWF0ZWQoKTtjb25zdCB0PXIuY3JlYXRlZDtpZih0KWZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uY2FsbCh0aGlzKX1fcmVnaXN0ZXJlZCgpe2NvbnN0IHQ9by5wcm90b3R5cGU7aWYoIXQuaGFzT3duUHJvcGVydHkoSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgiX19oYXNSZWdpc3RlckZpbmlzaGVkIix0KSkpe3QuX19oYXNSZWdpc3RlckZpbmlzaGVkPSEwLHN1cGVyLl9yZWdpc3RlcmVkKCksdyYmYSh0KTtjb25zdCBlPU9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKTtsZXQgbj1yLmJlZm9yZVJlZ2lzdGVyO2lmKG4pZm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspblt0XS5jYWxsKGUpO2lmKG49ci5yZWdpc3RlcmVkLG4pZm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspblt0XS5jYWxsKGUpfX1fYXBwbHlMaXN0ZW5lcnMoKXtzdXBlci5fYXBwbHlMaXN0ZW5lcnMoKTtjb25zdCB0PXIubGlzdGVuZXJzO2lmKHQpZm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2NvbnN0IG49dFtlXTtpZihuKWZvcihsZXQgdCBpbiBuKXRoaXMuX2FkZE1ldGhvZEV2ZW50TGlzdGVuZXJUb05vZGUodGhpcyx0LG5bdF0pfX1fZW5zdXJlQXR0cmlidXRlcygpe2NvbnN0IHQ9ci5ob3N0QXR0cmlidXRlcztpZih0KWZvcihsZXQgZT10Lmxlbmd0aC0xO2U+PTA7ZS0tKXtjb25zdCBuPXRbZV07Zm9yKGxldCB0IGluIG4pdGhpcy5fZW5zdXJlQXR0cmlidXRlKHQsblt0XSl9c3VwZXIuX2Vuc3VyZUF0dHJpYnV0ZXMoKX1yZWFkeSgpe3N1cGVyLnJlYWR5KCk7bGV0IHQ9ci5yZWFkeTtpZih0KWZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uY2FsbCh0aGlzKX1hdHRhY2hlZCgpe3N1cGVyLmF0dGFjaGVkKCk7bGV0IHQ9ci5hdHRhY2hlZDtpZih0KWZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uY2FsbCh0aGlzKX1kZXRhY2hlZCgpe3N1cGVyLmRldGFjaGVkKCk7bGV0IHQ9ci5kZXRhY2hlZDtpZih0KWZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0uY2FsbCh0aGlzKX1hdHRyaWJ1dGVDaGFuZ2VkKHQsZSxuKXtzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkKCk7bGV0IGk9ci5hdHRyaWJ1dGVDaGFuZ2VkO2lmKGkpZm9yKGxldCByPTA7cjxpLmxlbmd0aDtyKyspaVtyXS5jYWxsKHRoaXMsdCxlLG4pfX1pZihuKXtBcnJheS5pc0FycmF5KG4pfHwobj1bbl0pO2xldCB0PWUucHJvdG90eXBlLmJlaGF2aW9ycztpPUJyKG4sbnVsbCx0KSxvLnByb3RvdHlwZS5iZWhhdmlvcnM9dD90LmNvbmNhdChuKTppfWNvbnN0IGE9ZT0+e2kmJihmdW5jdGlvbiBuKHQsZSxpKXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKylEcih0LGVbbl0saSx6cil9KShlLGksciksRHIoZSx0LHIsT3IpfTtyZXR1cm4gd3x8YShvLnByb3RvdHlwZSksby5nZW5lcmF0ZWRGcm9tPXQsb31jb25zdCBVcj1mdW5jdGlvbih0LGUpe3R8fGNvbnNvbGUud2FybigiUG9seW1lci5DbGFzcyByZXF1aXJlcyBgaW5mb2AgYXJndW1lbnQiKTtsZXQgbj1lP2UoRnIpOkZyO3JldHVybiBuPVZyKHQsbix0LmJlaGF2aW9ycyksbi5pcz1uLnByb3RvdHlwZS5pcz10LmlzLG59LGpyPWZ1bmN0aW9uKHQpe2xldCBlO3JldHVybiBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6anIuQ2xhc3ModCksdC5fbGVnYWN5Rm9yY2VPYnNlcnZlZEF0dHJpYnV0ZXMmJihlLnByb3RvdHlwZS5fbGVnYWN5Rm9yY2VPYnNlcnZlZEF0dHJpYnV0ZXM9dC5fbGVnYWN5Rm9yY2VPYnNlcnZlZEF0dHJpYnV0ZXMpLGN1c3RvbUVsZW1lbnRzLmRlZmluZShlLmlzLGUpLGV9OwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpmdW5jdGlvbiBHcih0LGUsbixpLHIpe2xldCBvO3ImJihvPSJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4sbyYmKGk9dC5fX2RhdGFUZW1wW2VdKSk7bGV0IGE9aSE9PW4mJihpPT1pfHxuPT1uKTtyZXR1cm4gbyYmYSYmKHQuX19kYXRhVGVtcFtlXT1uKSxhfWpyLkNsYXNzPVVyO2NvbnN0IFdyPUkoKHQ9PmNsYXNzIGV4dGVuZHMgdHtfc2hvdWxkUHJvcGVydHlDaGFuZ2UodCxlLG4pe3JldHVybiBHcih0aGlzLHQsZSxuLCEwKX19KSkscXI9SSgodD0+Y2xhc3MgZXh0ZW5kcyB0e3N0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybnttdXRhYmxlRGF0YTpCb29sZWFufX1fc2hvdWxkUHJvcGVydHlDaGFuZ2UodCxlLG4pe3JldHVybiBHcih0aGlzLHQsZSxuLHRoaXMubXV0YWJsZURhdGEpfX0pKTtXci5fbXV0YWJsZVByb3BlcnR5Q2hhbmdlPUdyOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpsZXQgWXI9bnVsbDtmdW5jdGlvbiBYcigpe3JldHVybiBZcn1Yci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShIVE1MVGVtcGxhdGVFbGVtZW50LnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOlhyLHdyaXRhYmxlOiEwfX0pO2NvbnN0ICRyPWZlKFhyKSxLcj1Xcigkcik7Y29uc3QgWnI9ZmUoY2xhc3N7fSk7ZnVuY3Rpb24gSnIodCxlKXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7bGV0IGk9ZVtuXTtpZihCb29sZWFuKHQpIT1Cb29sZWFuKGkuX19oaWRlVGVtcGxhdGVDaGlsZHJlbl9fKSlpZihpLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpdD8oaS5fX3BvbHltZXJUZXh0Q29udGVudF9fPWkudGV4dENvbnRlbnQsaS50ZXh0Q29udGVudD0iIik6aS50ZXh0Q29udGVudD1pLl9fcG9seW1lclRleHRDb250ZW50X187ZWxzZSBpZigic2xvdCI9PT1pLmxvY2FsTmFtZSlpZih0KWkuX19wb2x5bWVyUmVwbGFjZWRfXz1kb2N1bWVudC5jcmVhdGVDb21tZW50KCJoaWRkZW4tc2xvdCIpLFkoWShpKS5wYXJlbnROb2RlKS5yZXBsYWNlQ2hpbGQoaS5fX3BvbHltZXJSZXBsYWNlZF9fLGkpO2Vsc2V7Y29uc3QgdD1pLl9fcG9seW1lclJlcGxhY2VkX187dCYmWShZKHQpLnBhcmVudE5vZGUpLnJlcGxhY2VDaGlsZChpLHQpfWVsc2UgaS5zdHlsZSYmKHQ/KGkuX19wb2x5bWVyRGlzcGxheV9fPWkuc3R5bGUuZGlzcGxheSxpLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTppLnN0eWxlLmRpc3BsYXk9aS5fX3BvbHltZXJEaXNwbGF5X18pO2kuX19oaWRlVGVtcGxhdGVDaGlsZHJlbl9fPXQsaS5fc2hvd0hpZGVDaGlsZHJlbiYmaS5fc2hvd0hpZGVDaGlsZHJlbih0KX19Y2xhc3MgUXIgZXh0ZW5kcyBacntjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuX2NvbmZpZ3VyZVByb3BlcnRpZXModCksdGhpcy5yb290PXRoaXMuX3N0YW1wVGVtcGxhdGUodGhpcy5fX2RhdGFIb3N0KTtsZXQgZT1bXTt0aGlzLmNoaWxkcmVuPWU7Zm9yKGxldCB0PXRoaXMucm9vdC5maXJzdENoaWxkO3Q7dD10Lm5leHRTaWJsaW5nKWUucHVzaCh0KSx0Ll9fdGVtcGxhdGl6ZUluc3RhbmNlPXRoaXM7dGhpcy5fX3RlbXBsYXRpemVPd25lciYmdGhpcy5fX3RlbXBsYXRpemVPd25lci5fX2hpZGVUZW1wbGF0ZUNoaWxkcmVuX18mJnRoaXMuX3Nob3dIaWRlQ2hpbGRyZW4oITApO2xldCBuPXRoaXMuX190ZW1wbGF0aXplT3B0aW9uczsodCYmbi5pbnN0YW5jZVByb3BzfHwhbi5pbnN0YW5jZVByb3BzKSYmdGhpcy5fZW5hYmxlUHJvcGVydGllcygpfV9jb25maWd1cmVQcm9wZXJ0aWVzKHQpe2lmKHRoaXMuX190ZW1wbGF0aXplT3B0aW9ucy5mb3J3YXJkSG9zdFByb3ApZm9yKGxldCB0IGluIHRoaXMuX19ob3N0UHJvcHMpdGhpcy5fc2V0UGVuZGluZ1Byb3BlcnR5KHQsdGhpcy5fX2RhdGFIb3N0WyJfaG9zdF8iK3RdKTtmb3IobGV0IGUgaW4gdCl0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHkoZSx0W2VdKX1mb3J3YXJkSG9zdFByb3AodCxlKXt0aGlzLl9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgodCxlLCExLCEwKSYmdGhpcy5fX2RhdGFIb3N0Ll9lbnF1ZXVlQ2xpZW50KHRoaXMpfV9hZGRFdmVudExpc3RlbmVyVG9Ob2RlKHQsZSxuKXtpZih0aGlzLl9tZXRob2RIb3N0JiZ0aGlzLl9fdGVtcGxhdGl6ZU9wdGlvbnMucGFyZW50TW9kZWwpdGhpcy5fbWV0aG9kSG9zdC5fYWRkRXZlbnRMaXN0ZW5lclRvTm9kZSh0LGUsKHQ9Pnt0Lm1vZGVsPXRoaXMsbih0KX0pKTtlbHNle2xldCBpPXRoaXMuX19kYXRhSG9zdC5fX2RhdGFIb3N0O2kmJmkuX2FkZEV2ZW50TGlzdGVuZXJUb05vZGUodCxlLG4pfX1fc2hvd0hpZGVDaGlsZHJlbih0KXtKcih0LHRoaXMuY2hpbGRyZW4pfV9zZXRVbm1hbmFnZWRQcm9wZXJ0eVRvTm9kZSh0LGUsbil7dC5fX2hpZGVUZW1wbGF0ZUNoaWxkcmVuX18mJnQubm9kZVR5cGU9PU5vZGUuVEVYVF9OT0RFJiYidGV4dENvbnRlbnQiPT1lP3QuX19wb2x5bWVyVGV4dENvbnRlbnRfXz1uOnN1cGVyLl9zZXRVbm1hbmFnZWRQcm9wZXJ0eVRvTm9kZSh0LGUsbil9Z2V0IHBhcmVudE1vZGVsKCl7bGV0IHQ9dGhpcy5fX3BhcmVudE1vZGVsO2lmKCF0KXtsZXQgZTt0PXRoaXM7ZG97dD10Ll9fZGF0YUhvc3QuX19kYXRhSG9zdH13aGlsZSgoZT10Ll9fdGVtcGxhdGl6ZU9wdGlvbnMpJiYhZS5wYXJlbnRNb2RlbCk7dGhpcy5fX3BhcmVudE1vZGVsPXR9cmV0dXJuIHR9ZGlzcGF0Y2hFdmVudCh0KXtyZXR1cm4hMH19Y29uc3QgdG89V3IoUXIpO2Z1bmN0aW9uIGVvKHQpe2xldCBlPXQuX19kYXRhSG9zdDtyZXR1cm4gZSYmZS5fbWV0aG9kSG9zdHx8ZX1mdW5jdGlvbiBubyh0LGUsbil7bGV0IGk9bi5tdXRhYmxlRGF0YT90bzpRcjthby5taXhpbiYmKGk9YW8ubWl4aW4oaSkpO2xldCByPWNsYXNzIGV4dGVuZHMgaXt9O3JldHVybiByLnByb3RvdHlwZS5fX3RlbXBsYXRpemVPcHRpb25zPW4sci5wcm90b3R5cGUuX2JpbmRUZW1wbGF0ZSh0KSwoZnVuY3Rpb24gbyh0LGUsbixpKXtsZXQgcj1uLmhvc3RQcm9wc3x8e307Zm9yKGxldCBlIGluIGkuaW5zdGFuY2VQcm9wcyl7ZGVsZXRlIHJbZV07bGV0IG49aS5ub3RpZnlJbnN0YW5jZVByb3A7biYmdC5wcm90b3R5cGUuX2FkZFByb3BlcnR5RWZmZWN0KGUsdC5wcm90b3R5cGUuUFJPUEVSVFlfRUZGRUNUX1RZUEVTLk5PVElGWSx7Zm46b28oZSxuKX0pfWlmKGkuZm9yd2FyZEhvc3RQcm9wJiZlLl9fZGF0YUhvc3QpZm9yKGxldCBlIGluIHIpbi5oYXNIb3N0UHJvcHN8fChuLmhhc0hvc3RQcm9wcz0hMCksdC5wcm90b3R5cGUuX2FkZFByb3BlcnR5RWZmZWN0KGUsdC5wcm90b3R5cGUuUFJPUEVSVFlfRUZGRUNUX1RZUEVTLk5PVElGWSx7Zm46ZnVuY3Rpb24gdChlLG4saSl7ZS5fX2RhdGFIb3N0Ll9zZXRQZW5kaW5nUHJvcGVydHlPclBhdGgoIl9ob3N0XyIrbixpW25dLCEwLCEwKX19KX0pKHIsdCxlLG4pLHJ9ZnVuY3Rpb24gaW8odCxlLG4saSl7bGV0IHI9bi5mb3J3YXJkSG9zdFByb3A7aWYociYmZS5oYXNIb3N0UHJvcHMpe2NvbnN0IG89InRlbXBsYXRlIj09dC5sb2NhbE5hbWU7bGV0IGE9ZS50ZW1wbGF0aXplVGVtcGxhdGVDbGFzcztpZighYSl7aWYobyl7bGV0IHQ9bi5tdXRhYmxlRGF0YT9LcjokcjtjbGFzcyBpIGV4dGVuZHMgdHt9YT1lLnRlbXBsYXRpemVUZW1wbGF0ZUNsYXNzPWl9ZWxzZXtjb25zdCBuPXQuY29uc3RydWN0b3I7Y2xhc3MgaSBleHRlbmRzIG57fWE9ZS50ZW1wbGF0aXplVGVtcGxhdGVDbGFzcz1pfWxldCBzPWUuaG9zdFByb3BzO2ZvcihsZXQgdCBpbiBzKWEucHJvdG90eXBlLl9hZGRQcm9wZXJ0eUVmZmVjdCgiX2hvc3RfIit0LGEucHJvdG90eXBlLlBST1BFUlRZX0VGRkVDVF9UWVBFUy5QUk9QQUdBVEUse2ZuOnJvKHQscil9KSxhLnByb3RvdHlwZS5fY3JlYXRlTm90aWZ5aW5nUHJvcGVydHkoIl9ob3N0XyIrdCk7UyYmaSYmKGZ1bmN0aW9uIG8odCxlLG4pe2NvbnN0IGk9bi5jb25zdHJ1Y3Rvci5fcHJvcGVydGllcyx7cHJvcGVydHlFZmZlY3RzOnJ9PXQse2luc3RhbmNlUHJvcHM6b309ZTtmb3IobGV0IHQgaW4gcilpZighKGlbdF18fG8mJm9bdF0pKXtjb25zdCBlPXJbdF07Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspe2NvbnN0e3BhcnQ6aX09ZVtuXS5pbmZvO2lmKCFpLnNpZ25hdHVyZXx8IWkuc2lnbmF0dXJlLnN0YXRpYyl7Y29uc29sZS53YXJuKGBQcm9wZXJ0eSAnJHt0fScgdXNlZCBpbiB0ZW1wbGF0ZSBidXQgbm90IGRlY2xhcmVkIGluICdwcm9wZXJ0aWVzJzsgYXR0cmlidXRlIHdpbGwgbm90IGJlIG9ic2VydmVkLmApO2JyZWFrfX19fSkoZSxuLGkpfWlmKHQuX19kYXRhUHJvdG8mJk9iamVjdC5hc3NpZ24odC5fX2RhdGEsdC5fX2RhdGFQcm90byksbykhKGZ1bmN0aW9uIGEodCxlKXtZcj10LE9iamVjdC5zZXRQcm90b3R5cGVPZih0LGUucHJvdG90eXBlKSxuZXcgZSxZcj1udWxsfSkodCxhKSx0Ll9fZGF0YVRlbXA9e30sdC5fX2RhdGFQZW5kaW5nPW51bGwsdC5fX2RhdGFPbGQ9bnVsbCx0Ll9lbmFibGVQcm9wZXJ0aWVzKCk7ZWxzZXtPYmplY3Quc2V0UHJvdG90eXBlT2YodCxhLnByb3RvdHlwZSk7Y29uc3Qgbj1lLmhvc3RQcm9wcztmb3IobGV0IGUgaW4gbilpZihlPSJfaG9zdF8iK2UsZSBpbiB0KXtjb25zdCBuPXRbZV07ZGVsZXRlIHRbZV0sdC5fX2RhdGFbZV09bn19fX1mdW5jdGlvbiBybyh0LGUpe3JldHVybiBmdW5jdGlvbiB0KG4saSxyKXtlLmNhbGwobi5fX3RlbXBsYXRpemVPd25lcixpLnN1YnN0cmluZygiX2hvc3RfIi5sZW5ndGgpLHJbaV0pfX1mdW5jdGlvbiBvbyh0LGUpe3JldHVybiBmdW5jdGlvbiB0KG4saSxyKXtlLmNhbGwobi5fX3RlbXBsYXRpemVPd25lcixuLGkscltpXSl9fWZ1bmN0aW9uIGFvKHQsZSxuKXtpZihiJiYhZW8odCkpdGhyb3cgbmV3IEVycm9yKCJzdHJpY3RUZW1wbGF0ZVBvbGljeTogdGVtcGxhdGUgb3duZXIgbm90IHRydXN0ZWQiKTtpZihuPW58fHt9LHQuX190ZW1wbGF0aXplT3duZXIpdGhyb3cgbmV3IEVycm9yKCJBIDx0ZW1wbGF0ZT4gY2FuIG9ubHkgYmUgdGVtcGxhdGl6ZWQgb25jZSIpO3QuX190ZW1wbGF0aXplT3duZXI9ZTtsZXQgaT0oZT9lLmNvbnN0cnVjdG9yOlFyKS5fcGFyc2VUZW1wbGF0ZSh0KSxyPWkudGVtcGxhdGl6ZUluc3RhbmNlQ2xhc3M7cnx8KHI9bm8odCxpLG4pLGkudGVtcGxhdGl6ZUluc3RhbmNlQ2xhc3M9cik7Y29uc3Qgbz1lbyh0KTtpbyh0LGksbixvKTtsZXQgYT1jbGFzcyBleHRlbmRzIHJ7fTtyZXR1cm4gYS5wcm90b3R5cGUuX21ldGhvZEhvc3Q9byxhLnByb3RvdHlwZS5fX2RhdGFIb3N0PXQsYS5wcm90b3R5cGUuX190ZW1wbGF0aXplT3duZXI9ZSxhLnByb3RvdHlwZS5fX2hvc3RQcm9wcz1pLmhvc3RQcm9wcyxhPWEsYX1mdW5jdGlvbiBzbyh0LGUpe2xldCBuO2Zvcig7ZTspaWYobj1lLl9fZGF0YUhvc3Q/ZTplLl9fdGVtcGxhdGl6ZUluc3RhbmNlKXtpZihuLl9fZGF0YUhvc3Q9PXQpcmV0dXJuIG47ZT1uLl9fZGF0YUhvc3R9ZWxzZSBlPVkoZSkucGFyZW50Tm9kZTtyZXR1cm4gbnVsbH0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9jb25zdCBsbz17dGVtcGxhdGl6ZSh0LGUpe3RoaXMuX3RlbXBsYXRpemVyVGVtcGxhdGU9dCx0aGlzLmN0b3I9YW8odCx0aGlzLHttdXRhYmxlRGF0YTpCb29sZWFuKGUpLHBhcmVudE1vZGVsOnRoaXMuX3BhcmVudE1vZGVsLGluc3RhbmNlUHJvcHM6dGhpcy5faW5zdGFuY2VQcm9wcyxmb3J3YXJkSG9zdFByb3A6dGhpcy5fZm9yd2FyZEhvc3RQcm9wVjIsbm90aWZ5SW5zdGFuY2VQcm9wOnRoaXMuX25vdGlmeUluc3RhbmNlUHJvcFYyfSl9LHN0YW1wKHQpe3JldHVybiBuZXcgdGhpcy5jdG9yKHQpfSxtb2RlbEZvckVsZW1lbnQodCl7cmV0dXJuIHNvKHRoaXMuX3RlbXBsYXRpemVyVGVtcGxhdGUsdCl9fTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9sZXQgY289ITE7ZnVuY3Rpb24gdW8oKXtpZih3JiYhbSl7aWYoIWNvKXtjbz0hMDtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7dC50ZXh0Q29udGVudD0iZG9tLWJpbmQsZG9tLWlmLGRvbS1yZXBlYXR7ZGlzcGxheTpub25lO30iLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodCl9cmV0dXJuITB9cmV0dXJuITF9Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovY29uc3QgaG89YmkocXIoZmUoSFRNTEVsZW1lbnQpKSk7Y3VzdG9tRWxlbWVudHMuZGVmaW5lKCJkb20tYmluZCIsY2xhc3MgZXh0ZW5kcyBob3tzdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe3JldHVyblsibXV0YWJsZS1kYXRhIl19Y29uc3RydWN0b3IoKXtpZihzdXBlcigpLGIpdGhyb3cgbmV3IEVycm9yKCJzdHJpY3RUZW1wbGF0ZVBvbGljeTogZG9tLWJpbmQgbm90IGFsbG93ZWQiKTt0aGlzLnJvb3Q9bnVsbCx0aGlzLiQ9bnVsbCx0aGlzLl9fY2hpbGRyZW49bnVsbH1hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4saSl7dGhpcy5tdXRhYmxlRGF0YT0hMH1jb25uZWN0ZWRDYWxsYmFjaygpe3VvKCl8fCh0aGlzLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSx0aGlzLnJlbmRlcigpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5fX3JlbW92ZUNoaWxkcmVuKCl9X19pbnNlcnRDaGlsZHJlbigpe1koWSh0aGlzKS5wYXJlbnROb2RlKS5pbnNlcnRCZWZvcmUodGhpcy5yb290LHRoaXMpfV9fcmVtb3ZlQ2hpbGRyZW4oKXtpZih0aGlzLl9fY2hpbGRyZW4pZm9yKGxldCB0PTA7dDx0aGlzLl9fY2hpbGRyZW4ubGVuZ3RoO3QrKyl0aGlzLnJvb3QuYXBwZW5kQ2hpbGQodGhpcy5fX2NoaWxkcmVuW3RdKX1yZW5kZXIoKXtsZXQgdDtpZighdGhpcy5fX2NoaWxkcmVuKXtpZih0PXR8fHRoaXMucXVlcnlTZWxlY3RvcigidGVtcGxhdGUiKSwhdCl7bGV0IGU9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCgpPT57aWYodD10aGlzLnF1ZXJ5U2VsZWN0b3IoInRlbXBsYXRlIiksIXQpdGhyb3cgbmV3IEVycm9yKCJkb20tYmluZCByZXF1aXJlcyBhIDx0ZW1wbGF0ZT4gY2hpbGQiKTtlLmRpc2Nvbm5lY3QoKSx0aGlzLnJlbmRlcigpfSkpO3JldHVybiB2b2lkIGUub2JzZXJ2ZSh0aGlzLHtjaGlsZExpc3Q6ITB9KX10aGlzLnJvb3Q9dGhpcy5fc3RhbXBUZW1wbGF0ZSh0KSx0aGlzLiQ9dGhpcy5yb290LiQsdGhpcy5fX2NoaWxkcmVuPVtdO2ZvcihsZXQgdD10aGlzLnJvb3QuZmlyc3RDaGlsZDt0O3Q9dC5uZXh0U2libGluZyl0aGlzLl9fY2hpbGRyZW5bdGhpcy5fX2NoaWxkcmVuLmxlbmd0aF09dDt0aGlzLl9lbmFibGVQcm9wZXJ0aWVzKCl9dGhpcy5fX2luc2VydENoaWxkcmVuKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZG9tLWNoYW5nZSIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IHBvPXFyKHdlKTtjbGFzcyBmbyBleHRlbmRzIHBve3N0YXRpYyBnZXQgaXMoKXtyZXR1cm4iZG9tLXJlcGVhdCJ9c3RhdGljIGdldCB0ZW1wbGF0ZSgpe3JldHVybiBudWxsfXN0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybntpdGVtczp7dHlwZTpBcnJheX0sYXM6e3R5cGU6U3RyaW5nLHZhbHVlOiJpdGVtIn0saW5kZXhBczp7dHlwZTpTdHJpbmcsdmFsdWU6ImluZGV4In0saXRlbXNJbmRleEFzOnt0eXBlOlN0cmluZyx2YWx1ZToiaXRlbXNJbmRleCJ9LHNvcnQ6e3R5cGU6RnVuY3Rpb24sb2JzZXJ2ZXI6Il9fc29ydENoYW5nZWQifSxmaWx0ZXI6e3R5cGU6RnVuY3Rpb24sb2JzZXJ2ZXI6Il9fZmlsdGVyQ2hhbmdlZCJ9LG9ic2VydmU6e3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfX29ic2VydmVDaGFuZ2VkIn0sZGVsYXk6TnVtYmVyLHJlbmRlcmVkSXRlbUNvdW50Ont0eXBlOk51bWJlcixub3RpZnk6IWsscmVhZE9ubHk6ITB9LGluaXRpYWxDb3VudDp7dHlwZTpOdW1iZXJ9LHRhcmdldEZyYW1lcmF0ZTp7dHlwZTpOdW1iZXIsdmFsdWU6MjB9LF90YXJnZXRGcmFtZVRpbWU6e3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfX2NvbXB1dGVGcmFtZVRpbWUodGFyZ2V0RnJhbWVyYXRlKSJ9LG5vdGlmeURvbUNoYW5nZTp7dHlwZTpCb29sZWFufSxyZXVzZUNodW5rZWRJbnN0YW5jZXM6e3R5cGU6Qm9vbGVhbn19fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfX2l0ZW1zQ2hhbmdlZChpdGVtcy4qKSJdfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9faW5zdGFuY2VzPVtdLHRoaXMuX19yZW5kZXJEZWJvdW5jZXI9bnVsbCx0aGlzLl9faXRlbXNJZHhUb0luc3RJZHg9e30sdGhpcy5fX2NodW5rQ291bnQ9bnVsbCx0aGlzLl9fcmVuZGVyU3RhcnRUaW1lPW51bGwsdGhpcy5fX2l0ZW1zQXJyYXlDaGFuZ2VkPSExLHRoaXMuX19zaG91bGRNZWFzdXJlQ2h1bms9ITEsdGhpcy5fX3Nob3VsZENvbnRpbnVlQ2h1bmtpbmc9ITEsdGhpcy5fX2NodW5raW5nSWQ9MCx0aGlzLl9fc29ydEZuPW51bGwsdGhpcy5fX2ZpbHRlckZuPW51bGwsdGhpcy5fX29ic2VydmVQYXRocz1udWxsLHRoaXMuX19jdG9yPW51bGwsdGhpcy5fX2lzRGV0YWNoZWQ9ITAsdGhpcy50ZW1wbGF0ZT1udWxsfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl9faXNEZXRhY2hlZD0hMDtmb3IobGV0IHQ9MDt0PHRoaXMuX19pbnN0YW5jZXMubGVuZ3RoO3QrKyl0aGlzLl9fZGV0YWNoSW5zdGFuY2UodCl9Y29ubmVjdGVkQ2FsbGJhY2soKXtpZihzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHVvKCl8fCh0aGlzLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSx0aGlzLl9faXNEZXRhY2hlZCl7dGhpcy5fX2lzRGV0YWNoZWQ9ITE7bGV0IHQ9WShZKHRoaXMpLnBhcmVudE5vZGUpO2ZvcihsZXQgZT0wO2U8dGhpcy5fX2luc3RhbmNlcy5sZW5ndGg7ZSsrKXRoaXMuX19hdHRhY2hJbnN0YW5jZShlLHQpfX1fX2Vuc3VyZVRlbXBsYXRpemVkKCl7aWYoIXRoaXMuX19jdG9yKXtjb25zdCB0PXRoaXM7bGV0IGU9dGhpcy50ZW1wbGF0ZT10Ll90ZW1wbGF0ZUluZm8/dDp0aGlzLnF1ZXJ5U2VsZWN0b3IoInRlbXBsYXRlIik7aWYoIWUpe2xldCB0PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgoKT0+e2lmKCF0aGlzLnF1ZXJ5U2VsZWN0b3IoInRlbXBsYXRlIikpdGhyb3cgbmV3IEVycm9yKCJkb20tcmVwZWF0IHJlcXVpcmVzIGEgPHRlbXBsYXRlPiBjaGlsZCIpO3QuZGlzY29ubmVjdCgpLHRoaXMuX19yZW5kZXIoKX0pKTtyZXR1cm4gdC5vYnNlcnZlKHRoaXMse2NoaWxkTGlzdDohMH0pLCExfWxldCBuPXt9O25bdGhpcy5hc109ITAsblt0aGlzLmluZGV4QXNdPSEwLG5bdGhpcy5pdGVtc0luZGV4QXNdPSEwLHRoaXMuX19jdG9yPWFvKGUsdGhpcyx7bXV0YWJsZURhdGE6dGhpcy5tdXRhYmxlRGF0YSxwYXJlbnRNb2RlbDohMCxpbnN0YW5jZVByb3BzOm4sZm9yd2FyZEhvc3RQcm9wOmZ1bmN0aW9uKHQsZSl7bGV0IG49dGhpcy5fX2luc3RhbmNlcztmb3IobGV0IGkscj0wO3I8bi5sZW5ndGgmJihpPW5bcl0pO3IrKylpLmZvcndhcmRIb3N0UHJvcCh0LGUpfSxub3RpZnlJbnN0YW5jZVByb3A6ZnVuY3Rpb24odCxlLG4pe2lmKFEodGhpcy5hcyxlKSl7bGV0IGk9dFt0aGlzLml0ZW1zSW5kZXhBc107ZT09dGhpcy5hcyYmKHRoaXMuaXRlbXNbaV09bik7bGV0IHI9Sih0aGlzLmFzLGAke0pTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIml0ZW1zIix0aGlzKX0uJHtpfWAsZSk7dGhpcy5ub3RpZnlQYXRoKHIsbil9fX0pfXJldHVybiEwfV9fZ2V0TWV0aG9kSG9zdCgpe3JldHVybiB0aGlzLl9fZGF0YUhvc3QuX21ldGhvZEhvc3R8fHRoaXMuX19kYXRhSG9zdH1fX2Z1bmN0aW9uRnJvbVByb3BlcnR5VmFsdWUodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtsZXQgZT10LG49dGhpcy5fX2dldE1ldGhvZEhvc3QoKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbltlXS5hcHBseShuLGFyZ3VtZW50cyl9fXJldHVybiB0fV9fc29ydENoYW5nZWQodCl7dGhpcy5fX3NvcnRGbj10aGlzLl9fZnVuY3Rpb25Gcm9tUHJvcGVydHlWYWx1ZSh0KSx0aGlzLml0ZW1zJiZ0aGlzLl9fZGVib3VuY2VSZW5kZXIodGhpcy5fX3JlbmRlcil9X19maWx0ZXJDaGFuZ2VkKHQpe3RoaXMuX19maWx0ZXJGbj10aGlzLl9fZnVuY3Rpb25Gcm9tUHJvcGVydHlWYWx1ZSh0KSx0aGlzLml0ZW1zJiZ0aGlzLl9fZGVib3VuY2VSZW5kZXIodGhpcy5fX3JlbmRlcil9X19jb21wdXRlRnJhbWVUaW1lKHQpe3JldHVybiBNYXRoLmNlaWwoMWUzL3QpfV9fb2JzZXJ2ZUNoYW5nZWQoKXt0aGlzLl9fb2JzZXJ2ZVBhdGhzPXRoaXMub2JzZXJ2ZSYmdGhpcy5vYnNlcnZlLnJlcGxhY2UoIi4qIiwiLiIpLnNwbGl0KCIgIil9X19oYW5kbGVPYnNlcnZlZFBhdGhzKHQpe2lmKHRoaXMuX19zb3J0Rm58fHRoaXMuX19maWx0ZXJGbilpZih0KXtpZih0aGlzLl9fb2JzZXJ2ZVBhdGhzKXtsZXQgZT10aGlzLl9fb2JzZXJ2ZVBhdGhzO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKTA9PT10LmluZGV4T2YoZVtuXSkmJnRoaXMuX19kZWJvdW5jZVJlbmRlcih0aGlzLl9fcmVuZGVyLHRoaXMuZGVsYXkpfX1lbHNlIHRoaXMuX19kZWJvdW5jZVJlbmRlcih0aGlzLl9fcmVuZGVyLHRoaXMuZGVsYXkpfV9faXRlbXNDaGFuZ2VkKHQpe3RoaXMuaXRlbXMmJiFBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpJiZjb25zb2xlLndhcm4oImRvbS1yZXBlYXQgZXhwZWN0ZWQgYXJyYXkgZm9yIGBpdGVtc2AsIGZvdW5kIix0aGlzLml0ZW1zKSx0aGlzLl9faGFuZGxlSXRlbVBhdGgodC5wYXRoLHQudmFsdWUpfHwoIml0ZW1zIj09PXQucGF0aCYmKHRoaXMuX19pdGVtc0FycmF5Q2hhbmdlZD0hMCksdGhpcy5fX2RlYm91bmNlUmVuZGVyKHRoaXMuX19yZW5kZXIpKX1fX2RlYm91bmNlUmVuZGVyKHQsZT0wKXt0aGlzLl9fcmVuZGVyRGVib3VuY2VyPU5uLmRlYm91bmNlKHRoaXMuX19yZW5kZXJEZWJvdW5jZXIsZT4wP2d0LmFmdGVyKGUpOnZ0LHQuYmluZCh0aGlzKSksUm4odGhpcy5fX3JlbmRlckRlYm91bmNlcil9cmVuZGVyKCl7dGhpcy5fX2RlYm91bmNlUmVuZGVyKHRoaXMuX19yZW5kZXIpLFdpKCl9X19yZW5kZXIoKXtpZighdGhpcy5fX2Vuc3VyZVRlbXBsYXRpemVkKCkpcmV0dXJuO2xldCB0PXRoaXMuaXRlbXN8fFtdO2NvbnN0IGU9dGhpcy5fX3NvcnRBbmRGaWx0ZXJJdGVtcyh0KSxuPXRoaXMuX19jYWxjdWxhdGVMaW1pdChlLmxlbmd0aCk7dGhpcy5fX3VwZGF0ZUluc3RhbmNlcyh0LG4sZSksdGhpcy5pbml0aWFsQ291bnQmJih0aGlzLl9fc2hvdWxkTWVhc3VyZUNodW5rfHx0aGlzLl9fc2hvdWxkQ29udGludWVDaHVua2luZykmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9fY2h1bmtpbmdJZCksdGhpcy5fX2NodW5raW5nSWQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5fX2NvbnRpbnVlQ2h1bmtpbmcoKSkpKSx0aGlzLl9zZXRSZW5kZXJlZEl0ZW1Db3VudCh0aGlzLl9faW5zdGFuY2VzLmxlbmd0aCksayYmIXRoaXMubm90aWZ5RG9tQ2hhbmdlfHx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkb20tY2hhbmdlIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1fX3NvcnRBbmRGaWx0ZXJJdGVtcyh0KXtsZXQgZT1uZXcgQXJyYXkodC5sZW5ndGgpO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKWVbbl09bjtyZXR1cm4gdGhpcy5fX2ZpbHRlckZuJiYoZT1lLmZpbHRlcigoKGUsbixpKT0+dGhpcy5fX2ZpbHRlckZuKHRbZV0sbixpKSkpKSx0aGlzLl9fc29ydEZuJiZlLnNvcnQoKChlLG4pPT50aGlzLl9fc29ydEZuKHRbZV0sdFtuXSkpKSxlfV9fY2FsY3VsYXRlTGltaXQodCl7bGV0IGU9dDtjb25zdCBuPXRoaXMuX19pbnN0YW5jZXMubGVuZ3RoO2lmKHRoaXMuaW5pdGlhbENvdW50KXtsZXQgaTshdGhpcy5fX2NodW5rQ291bnR8fHRoaXMuX19pdGVtc0FycmF5Q2hhbmdlZCYmIXRoaXMucmV1c2VDaHVua2VkSW5zdGFuY2VzPyhlPU1hdGgubWluKHQsdGhpcy5pbml0aWFsQ291bnQpLGk9TWF0aC5tYXgoZS1uLDApLHRoaXMuX19jaHVua0NvdW50PWl8fDEpOihpPU1hdGgubWluKE1hdGgubWF4KHQtbiwwKSx0aGlzLl9fY2h1bmtDb3VudCksZT1NYXRoLm1pbihuK2ksdCkpLHRoaXMuX19zaG91bGRNZWFzdXJlQ2h1bms9aT09PXRoaXMuX19jaHVua0NvdW50LHRoaXMuX19zaG91bGRDb250aW51ZUNodW5raW5nPWU8dCx0aGlzLl9fcmVuZGVyU3RhcnRUaW1lPXBlcmZvcm1hbmNlLm5vdygpfXJldHVybiB0aGlzLl9faXRlbXNBcnJheUNoYW5nZWQ9ITEsZX1fX2NvbnRpbnVlQ2h1bmtpbmcoKXtpZih0aGlzLl9fc2hvdWxkTWVhc3VyZUNodW5rKXtjb25zdCB0PXBlcmZvcm1hbmNlLm5vdygpLXRoaXMuX19yZW5kZXJTdGFydFRpbWU7dGhpcy5fX2NodW5rQ291bnQ9TWF0aC5yb3VuZCh0aGlzLl9fY2h1bmtDb3VudCoodGhpcy5fdGFyZ2V0RnJhbWVUaW1lL3QpKXx8MX10aGlzLl9fc2hvdWxkQ29udGludWVDaHVua2luZyYmdGhpcy5fX2RlYm91bmNlUmVuZGVyKHRoaXMuX19yZW5kZXIpfV9fdXBkYXRlSW5zdGFuY2VzKHQsZSxuKXtjb25zdCBpPXRoaXMuX19pdGVtc0lkeFRvSW5zdElkeD17fTtsZXQgcjtmb3Iocj0wO3I8ZTtyKyspe2xldCBlPXRoaXMuX19pbnN0YW5jZXNbcl0sbz1uW3JdLGE9dFtvXTtpW29dPXIsZT8oZS5fc2V0UGVuZGluZ1Byb3BlcnR5KHRoaXMuYXMsYSksZS5fc2V0UGVuZGluZ1Byb3BlcnR5KHRoaXMuaW5kZXhBcyxyKSxlLl9zZXRQZW5kaW5nUHJvcGVydHkodGhpcy5pdGVtc0luZGV4QXMsbyksZS5fZmx1c2hQcm9wZXJ0aWVzKCkpOnRoaXMuX19pbnNlcnRJbnN0YW5jZShhLHIsbyl9Zm9yKGxldCB0PXRoaXMuX19pbnN0YW5jZXMubGVuZ3RoLTE7dD49cjt0LS0pdGhpcy5fX2RldGFjaEFuZFJlbW92ZUluc3RhbmNlKHQpfV9fZGV0YWNoSW5zdGFuY2UodCl7bGV0IGU9dGhpcy5fX2luc3RhbmNlc1t0XTtjb25zdCBuPVkoZS5yb290KTtmb3IobGV0IHQ9MDt0PGUuY2hpbGRyZW4ubGVuZ3RoO3QrKyl7bi5hcHBlbmRDaGlsZChlLmNoaWxkcmVuW3RdKX1yZXR1cm4gZX1fX2F0dGFjaEluc3RhbmNlKHQsZSl7ZS5pbnNlcnRCZWZvcmUodGhpcy5fX2luc3RhbmNlc1t0XS5yb290LHRoaXMpfV9fZGV0YWNoQW5kUmVtb3ZlSW5zdGFuY2UodCl7dGhpcy5fX2RldGFjaEluc3RhbmNlKHQpLHRoaXMuX19pbnN0YW5jZXMuc3BsaWNlKHQsMSl9X19zdGFtcEluc3RhbmNlKHQsZSxuKXtsZXQgaT17fTtyZXR1cm4gaVt0aGlzLmFzXT10LGlbdGhpcy5pbmRleEFzXT1lLGlbdGhpcy5pdGVtc0luZGV4QXNdPW4sbmV3IHRoaXMuX19jdG9yKGkpfV9faW5zZXJ0SW5zdGFuY2UodCxlLG4pe2NvbnN0IGk9dGhpcy5fX3N0YW1wSW5zdGFuY2UodCxlLG4pO2xldCByPXRoaXMuX19pbnN0YW5jZXNbZSsxXSxvPXI/ci5jaGlsZHJlblswXTp0aGlzO3JldHVybiBZKFkodGhpcykucGFyZW50Tm9kZSkuaW5zZXJ0QmVmb3JlKGkucm9vdCxvKSx0aGlzLl9faW5zdGFuY2VzW2VdPWksaX1fc2hvd0hpZGVDaGlsZHJlbih0KXtmb3IobGV0IGU9MDtlPHRoaXMuX19pbnN0YW5jZXMubGVuZ3RoO2UrKyl0aGlzLl9faW5zdGFuY2VzW2VdLl9zaG93SGlkZUNoaWxkcmVuKHQpfV9faGFuZGxlSXRlbVBhdGgodCxlKXtsZXQgbj10LnNsaWNlKDYpLGk9bi5pbmRleE9mKCIuIikscj1pPDA/bjpuLnN1YnN0cmluZygwLGkpO2lmKHI9PXBhcnNlSW50KHIsMTApKXtsZXQgdD1pPDA/IiI6bi5zdWJzdHJpbmcoaSsxKTt0aGlzLl9faGFuZGxlT2JzZXJ2ZWRQYXRocyh0KTtsZXQgbz10aGlzLl9faW5zdGFuY2VzW3RoaXMuX19pdGVtc0lkeFRvSW5zdElkeFtyXV07aWYobyl7by5fc2V0UGVuZGluZ1Byb3BlcnR5T3JQYXRoKHRoaXMuYXMrKHQ/Ii4iK3Q6IiIpLGUsITEsITApLG8uX2ZsdXNoUHJvcGVydGllcygpfXJldHVybiEwfX1pdGVtRm9yRWxlbWVudCh0KXtsZXQgZT10aGlzLm1vZGVsRm9yRWxlbWVudCh0KTtyZXR1cm4gZSYmZVt0aGlzLmFzXX1pbmRleEZvckVsZW1lbnQodCl7bGV0IGU9dGhpcy5tb2RlbEZvckVsZW1lbnQodCk7cmV0dXJuIGUmJmVbdGhpcy5pbmRleEFzXX1tb2RlbEZvckVsZW1lbnQodCl7cmV0dXJuIHNvKHRoaXMudGVtcGxhdGUsdCl9fWN1c3RvbUVsZW1lbnRzLmRlZmluZShmby5pcyxmbyk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNsYXNzIG1vIGV4dGVuZHMgd2V7c3RhdGljIGdldCBpcygpe3JldHVybiJkb20taWYifXN0YXRpYyBnZXQgdGVtcGxhdGUoKXtyZXR1cm4gbnVsbH1zdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57aWY6e3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX19kZWJvdW5jZVJlbmRlciJ9LHJlc3RhbXA6e3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX19kZWJvdW5jZVJlbmRlciJ9LG5vdGlmeURvbUNoYW5nZTp7dHlwZTpCb29sZWFufX19Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX19yZW5kZXJEZWJvdW5jZXI9bnVsbCx0aGlzLl9sYXN0SWY9ITEsdGhpcy5fX2hpZGVUZW1wbGF0ZUNoaWxkcmVuX189ITF9X19kZWJvdW5jZVJlbmRlcigpe3RoaXMuX19yZW5kZXJEZWJvdW5jZXI9Tm4uZGVib3VuY2UodGhpcy5fX3JlbmRlckRlYm91bmNlcix2dCwoKCk9PnRoaXMuX19yZW5kZXIoKSkpLFJuKHRoaXMuX19yZW5kZXJEZWJvdW5jZXIpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtjb25zdCB0PVkodGhpcykucGFyZW50Tm9kZTt0JiYodC5ub2RlVHlwZSE9Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFfHxZKHQpLmhvc3QpfHx0aGlzLl9fdGVhcmRvd25JbnN0YW5jZSgpfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx1bygpfHwodGhpcy5zdHlsZS5kaXNwbGF5PSJub25lIiksdGhpcy5pZiYmdGhpcy5fX2RlYm91bmNlUmVuZGVyKCl9X19lbnN1cmVUZW1wbGF0ZSgpe2lmKCF0aGlzLl9fdGVtcGxhdGUpe2NvbnN0IHQ9dGhpcztsZXQgZT10Ll90ZW1wbGF0ZUluZm8/dDpZKHQpLnF1ZXJ5U2VsZWN0b3IoInRlbXBsYXRlIik7aWYoIWUpe2xldCB0PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgoKT0+e2lmKCFZKHRoaXMpLnF1ZXJ5U2VsZWN0b3IoInRlbXBsYXRlIikpdGhyb3cgbmV3IEVycm9yKCJkb20taWYgcmVxdWlyZXMgYSA8dGVtcGxhdGU+IGNoaWxkIik7dC5kaXNjb25uZWN0KCksdGhpcy5fX3JlbmRlcigpfSkpO3JldHVybiB0Lm9ic2VydmUodGhpcyx7Y2hpbGRMaXN0OiEwfSksITF9dGhpcy5fX3RlbXBsYXRlPWV9cmV0dXJuITB9X19lbnN1cmVJbnN0YW5jZSgpe2xldCB0PVkodGhpcykucGFyZW50Tm9kZTtpZih0aGlzLl9faGFzSW5zdGFuY2UoKSl7bGV0IGU9dGhpcy5fX2dldEluc3RhbmNlTm9kZXMoKTtpZihlJiZlLmxlbmd0aCl7aWYoWSh0aGlzKS5wcmV2aW91c1NpYmxpbmchPT1lW2UubGVuZ3RoLTFdKWZvcihsZXQgbixpPTA7aTxlLmxlbmd0aCYmKG49ZVtpXSk7aSsrKVkodCkuaW5zZXJ0QmVmb3JlKG4sdGhpcyl9fWVsc2V7aWYoIXQpcmV0dXJuITE7aWYoIXRoaXMuX19lbnN1cmVUZW1wbGF0ZSgpKXJldHVybiExO3RoaXMuX19jcmVhdGVBbmRJbnNlcnRJbnN0YW5jZSh0KX1yZXR1cm4hMH1yZW5kZXIoKXtXaSgpfV9fcmVuZGVyKCl7aWYodGhpcy5pZil7aWYoIXRoaXMuX19lbnN1cmVJbnN0YW5jZSgpKXJldHVybn1lbHNlIHRoaXMucmVzdGFtcCYmdGhpcy5fX3RlYXJkb3duSW5zdGFuY2UoKTt0aGlzLl9zaG93SGlkZUNoaWxkcmVuKCksayYmIXRoaXMubm90aWZ5RG9tQ2hhbmdlfHx0aGlzLmlmPT10aGlzLl9sYXN0SWZ8fCh0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkb20tY2hhbmdlIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKSx0aGlzLl9sYXN0SWY9dGhpcy5pZil9X19oYXNJbnN0YW5jZSgpe31fX2dldEluc3RhbmNlTm9kZXMoKXt9X19jcmVhdGVBbmRJbnNlcnRJbnN0YW5jZSh0KXt9X190ZWFyZG93bkluc3RhbmNlKCl7fV9zaG93SGlkZUNoaWxkcmVuKCl7fX1jb25zdCBnbz1BP2NsYXNzIGV4dGVuZHMgbW97Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX19pbnN0YW5jZT1udWxsLHRoaXMuX19zeW5jSW5mbz1udWxsfV9faGFzSW5zdGFuY2UoKXtyZXR1cm4gQm9vbGVhbih0aGlzLl9faW5zdGFuY2UpfV9fZ2V0SW5zdGFuY2VOb2Rlcygpe3JldHVybiB0aGlzLl9faW5zdGFuY2UudGVtcGxhdGVJbmZvLmNoaWxkTm9kZXN9X19jcmVhdGVBbmRJbnNlcnRJbnN0YW5jZSh0KXtjb25zdCBlPXRoaXMuX19kYXRhSG9zdHx8dGhpcztpZihiJiYhdGhpcy5fX2RhdGFIb3N0KXRocm93IG5ldyBFcnJvcigic3RyaWN0VGVtcGxhdGVQb2xpY3k6IHRlbXBsYXRlIG93bmVyIG5vdCB0cnVzdGVkIik7Y29uc3Qgbj1lLl9iaW5kVGVtcGxhdGUodGhpcy5fX3RlbXBsYXRlLCEwKTtuLnJ1bkVmZmVjdHM9KHQsZSxuKT0+e2xldCBpPXRoaXMuX19zeW5jSW5mbztpZih0aGlzLmlmKWkmJih0aGlzLl9fc3luY0luZm89bnVsbCx0aGlzLl9zaG93SGlkZUNoaWxkcmVuKCksZT1PYmplY3QuYXNzaWduKGkuY2hhbmdlZFByb3BzLGUpKSx0KGUsbik7ZWxzZSBpZih0aGlzLl9faW5zdGFuY2UpaWYoaXx8KGk9dGhpcy5fX3N5bmNJbmZvPXtydW5FZmZlY3RzOnQsY2hhbmdlZFByb3BzOnt9fSksbilmb3IoY29uc3QgdCBpbiBlKXtjb25zdCBlPSQodCk7aS5jaGFuZ2VkUHJvcHNbZV09dGhpcy5fX2RhdGFIb3N0W2VdfWVsc2UgT2JqZWN0LmFzc2lnbihpLmNoYW5nZWRQcm9wcyxlKX0sdGhpcy5fX2luc3RhbmNlPWUuX3N0YW1wVGVtcGxhdGUodGhpcy5fX3RlbXBsYXRlLG4pLFkodCkuaW5zZXJ0QmVmb3JlKHRoaXMuX19pbnN0YW5jZSx0aGlzKX1fX3N5bmNIb3N0UHJvcGVydGllcygpe2NvbnN0IHQ9dGhpcy5fX3N5bmNJbmZvO3QmJih0aGlzLl9fc3luY0luZm89bnVsbCx0LnJ1bkVmZmVjdHModC5jaGFuZ2VkUHJvcHMsITEpKX1fX3RlYXJkb3duSW5zdGFuY2UoKXt0aGlzLl9faW5zdGFuY2UmJigodGhpcy5fX2RhdGFIb3N0fHx0aGlzKS5fcmVtb3ZlQm91bmREb20odGhpcy5fX2luc3RhbmNlKSx0aGlzLl9faW5zdGFuY2U9bnVsbCx0aGlzLl9fc3luY0luZm89bnVsbCl9X3Nob3dIaWRlQ2hpbGRyZW4oKXtjb25zdCB0PXRoaXMuX19oaWRlVGVtcGxhdGVDaGlsZHJlbl9ffHwhdGhpcy5pZjt0aGlzLl9faW5zdGFuY2UmJkJvb2xlYW4odGhpcy5fX2luc3RhbmNlLl9faGlkZGVuKSE9PXQmJih0aGlzLl9faW5zdGFuY2UuX19oaWRkZW49dCxKcih0LHRoaXMuX19pbnN0YW5jZS50ZW1wbGF0ZUluZm8uY2hpbGROb2RlcykpLHR8fHRoaXMuX19zeW5jSG9zdFByb3BlcnRpZXMoKX19OmNsYXNzIGV4dGVuZHMgbW97Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX19jdG9yPW51bGwsdGhpcy5fX2luc3RhbmNlPW51bGwsdGhpcy5fX2ludmFsaWRQcm9wcz1udWxsfV9faGFzSW5zdGFuY2UoKXtyZXR1cm4gQm9vbGVhbih0aGlzLl9faW5zdGFuY2UpfV9fZ2V0SW5zdGFuY2VOb2Rlcygpe3JldHVybiB0aGlzLl9faW5zdGFuY2UuY2hpbGRyZW59X19jcmVhdGVBbmRJbnNlcnRJbnN0YW5jZSh0KXt0aGlzLl9fY3Rvcnx8KHRoaXMuX19jdG9yPWFvKHRoaXMuX190ZW1wbGF0ZSx0aGlzLHttdXRhYmxlRGF0YTohMCxmb3J3YXJkSG9zdFByb3A6ZnVuY3Rpb24odCxlKXt0aGlzLl9faW5zdGFuY2UmJih0aGlzLmlmP3RoaXMuX19pbnN0YW5jZS5mb3J3YXJkSG9zdFByb3AodCxlKToodGhpcy5fX2ludmFsaWRQcm9wcz10aGlzLl9faW52YWxpZFByb3BzfHxPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX19pbnZhbGlkUHJvcHNbJCh0KV09ITApKX19KSksdGhpcy5fX2luc3RhbmNlPW5ldyB0aGlzLl9fY3RvcixZKHQpLmluc2VydEJlZm9yZSh0aGlzLl9faW5zdGFuY2Uucm9vdCx0aGlzKX1fX3RlYXJkb3duSW5zdGFuY2UoKXtpZih0aGlzLl9faW5zdGFuY2Upe2xldCB0PXRoaXMuX19pbnN0YW5jZS5jaGlsZHJlbjtpZih0JiZ0Lmxlbmd0aCl7bGV0IGU9WSh0WzBdKS5wYXJlbnROb2RlO2lmKGUpe2U9WShlKTtmb3IobGV0IG4saT0wO2k8dC5sZW5ndGgmJihuPXRbaV0pO2krKyllLnJlbW92ZUNoaWxkKG4pfX10aGlzLl9faW52YWxpZFByb3BzPW51bGwsdGhpcy5fX2luc3RhbmNlPW51bGx9fV9fc3luY0hvc3RQcm9wZXJ0aWVzKCl7bGV0IHQ9dGhpcy5fX2ludmFsaWRQcm9wcztpZih0KXt0aGlzLl9faW52YWxpZFByb3BzPW51bGw7Zm9yKGxldCBlIGluIHQpdGhpcy5fX2luc3RhbmNlLl9zZXRQZW5kaW5nUHJvcGVydHkoZSx0aGlzLl9fZGF0YUhvc3RbZV0pO3RoaXMuX19pbnN0YW5jZS5fZmx1c2hQcm9wZXJ0aWVzKCl9fV9zaG93SGlkZUNoaWxkcmVuKCl7Y29uc3QgdD10aGlzLl9faGlkZVRlbXBsYXRlQ2hpbGRyZW5fX3x8IXRoaXMuaWY7dGhpcy5fX2luc3RhbmNlJiZCb29sZWFuKHRoaXMuX19pbnN0YW5jZS5fX2hpZGRlbikhPT10JiYodGhpcy5fX2luc3RhbmNlLl9faGlkZGVuPXQsdGhpcy5fX2luc3RhbmNlLl9zaG93SGlkZUNoaWxkcmVuKHQpKSx0fHx0aGlzLl9fc3luY0hvc3RQcm9wZXJ0aWVzKCl9fTtjdXN0b21FbGVtZW50cy5kZWZpbmUoZ28uaXMsZ28pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpsZXQgX289SSgodD0+e2xldCBlPXllKHQpO3JldHVybiBjbGFzcyBleHRlbmRzIGV7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue2l0ZW1zOnt0eXBlOkFycmF5fSxtdWx0aTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzZWxlY3RlZDp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSxzZWxlY3RlZEl0ZW06e3R5cGU6T2JqZWN0LG5vdGlmeTohMH0sdG9nZ2xlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fX1zdGF0aWMgZ2V0IG9ic2VydmVycygpe3JldHVyblsiX191cGRhdGVTZWxlY3Rpb24obXVsdGksIGl0ZW1zLiopIl19Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuX19sYXN0SXRlbXM9bnVsbCx0aGlzLl9fbGFzdE11bHRpPW51bGwsdGhpcy5fX3NlbGVjdGVkTWFwPW51bGx9X191cGRhdGVTZWxlY3Rpb24odCxlKXtsZXQgbj1lLnBhdGg7aWYobj09SlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgiaXRlbXMiLHRoaXMpKXtsZXQgbj1lLmJhc2V8fFtdLGk9dGhpcy5fX2xhc3RJdGVtcztpZih0IT09dGhpcy5fX2xhc3RNdWx0aSYmdGhpcy5jbGVhclNlbGVjdGlvbigpLGkpe2xldCB0PVZpKG4saSk7dGhpcy5fX2FwcGx5U3BsaWNlcyh0KX10aGlzLl9fbGFzdEl0ZW1zPW4sdGhpcy5fX2xhc3RNdWx0aT10fWVsc2UgaWYoZS5wYXRoPT1gJHtKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJpdGVtcyIsdGhpcyl9LnNwbGljZXNgKXRoaXMuX19hcHBseVNwbGljZXMoZS52YWx1ZS5pbmRleFNwbGljZXMpO2Vsc2V7bGV0IHQ9bi5zbGljZShgJHtKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJpdGVtcyIsdGhpcyl9LmAubGVuZ3RoKSxlPXBhcnNlSW50KHQsMTApO3QuaW5kZXhPZigiLiIpPDAmJnQ9PWUmJnRoaXMuX19kZXNlbGVjdENoYW5nZWRJZHgoZSl9fV9fYXBwbHlTcGxpY2VzKHQpe2xldCBlPXRoaXMuX19zZWxlY3RlZE1hcDtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7bGV0IGk9dFtuXTtlLmZvckVhY2goKCh0LG4pPT57dDxpLmluZGV4fHxlLnNldChuLHQ+PWkuaW5kZXgraS5yZW1vdmVkLmxlbmd0aD90K2kuYWRkZWRDb3VudC1pLnJlbW92ZWQubGVuZ3RoOi0xKX0pKTtmb3IobGV0IHQ9MDt0PGkuYWRkZWRDb3VudDt0Kyspe2xldCBuPWkuaW5kZXgrdDtlLmhhcyh0aGlzLml0ZW1zW25dKSYmZS5zZXQodGhpcy5pdGVtc1tuXSxuKX19dGhpcy5fX3VwZGF0ZUxpbmtzKCk7bGV0IG49MDtlLmZvckVhY2goKCh0LGkpPT57dDwwPyh0aGlzLm11bHRpP3RoaXMuc3BsaWNlKEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoInNlbGVjdGVkIix0aGlzKSxuLDEpOnRoaXMuc2VsZWN0ZWQ9dGhpcy5zZWxlY3RlZEl0ZW09bnVsbCxlLmRlbGV0ZShpKSk6bisrfSkpfV9fdXBkYXRlTGlua3MoKXtpZih0aGlzLl9fZGF0YUxpbmtlZFBhdGhzPXt9LHRoaXMubXVsdGkpe2xldCB0PTA7dGhpcy5fX3NlbGVjdGVkTWFwLmZvckVhY2goKGU9PntlPj0wJiZ0aGlzLmxpbmtQYXRocyhgJHtKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJpdGVtcyIsdGhpcyl9LiR7ZX1gLGAke0pTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoInNlbGVjdGVkIix0aGlzKX0uJHt0Kyt9YCl9KSl9ZWxzZSB0aGlzLl9fc2VsZWN0ZWRNYXAuZm9yRWFjaCgodD0+e3RoaXMubGlua1BhdGhzKEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoInNlbGVjdGVkIix0aGlzKSxgJHtKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJpdGVtcyIsdGhpcyl9LiR7dH1gKSx0aGlzLmxpbmtQYXRocyhKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJzZWxlY3RlZEl0ZW0iLHRoaXMpLGAke0pTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIml0ZW1zIix0aGlzKX0uJHt0fWApfSkpfWNsZWFyU2VsZWN0aW9uKCl7dGhpcy5fX2RhdGFMaW5rZWRQYXRocz17fSx0aGlzLl9fc2VsZWN0ZWRNYXA9bmV3IE1hcCx0aGlzLnNlbGVjdGVkPXRoaXMubXVsdGk/W106bnVsbCx0aGlzLnNlbGVjdGVkSXRlbT1udWxsfWlzU2VsZWN0ZWQodCl7cmV0dXJuIHRoaXMuX19zZWxlY3RlZE1hcC5oYXModCl9aXNJbmRleFNlbGVjdGVkKHQpe3JldHVybiB0aGlzLmlzU2VsZWN0ZWQodGhpcy5pdGVtc1t0XSl9X19kZXNlbGVjdENoYW5nZWRJZHgodCl7bGV0IGU9dGhpcy5fX3NlbGVjdGVkSW5kZXhGb3JJdGVtSW5kZXgodCk7aWYoZT49MCl7bGV0IHQ9MDt0aGlzLl9fc2VsZWN0ZWRNYXAuZm9yRWFjaCgoKG4saSk9PntlPT10KysmJnRoaXMuZGVzZWxlY3QoaSl9KSl9fV9fc2VsZWN0ZWRJbmRleEZvckl0ZW1JbmRleCh0KXtsZXQgZT10aGlzLl9fZGF0YUxpbmtlZFBhdGhzW2Ake0pTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIml0ZW1zIix0aGlzKX0uJHt0fWBdO2lmKGUpcmV0dXJuIHBhcnNlSW50KGUuc2xpY2UoYCR7SlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eSgic2VsZWN0ZWQiLHRoaXMpfS5gLmxlbmd0aCksMTApfWRlc2VsZWN0KHQpe2xldCBlPXRoaXMuX19zZWxlY3RlZE1hcC5nZXQodCk7aWYoZT49MCl7bGV0IG47dGhpcy5fX3NlbGVjdGVkTWFwLmRlbGV0ZSh0KSx0aGlzLm11bHRpJiYobj10aGlzLl9fc2VsZWN0ZWRJbmRleEZvckl0ZW1JbmRleChlKSksdGhpcy5fX3VwZGF0ZUxpbmtzKCksdGhpcy5tdWx0aT90aGlzLnNwbGljZShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJzZWxlY3RlZCIsdGhpcyksbiwxKTp0aGlzLnNlbGVjdGVkPXRoaXMuc2VsZWN0ZWRJdGVtPW51bGx9fWRlc2VsZWN0SW5kZXgodCl7dGhpcy5kZXNlbGVjdCh0aGlzLml0ZW1zW3RdKX1zZWxlY3QodCl7dGhpcy5zZWxlY3RJbmRleCh0aGlzLml0ZW1zLmluZGV4T2YodCkpfXNlbGVjdEluZGV4KHQpe2xldCBlPXRoaXMuaXRlbXNbdF07dGhpcy5pc1NlbGVjdGVkKGUpP3RoaXMudG9nZ2xlJiZ0aGlzLmRlc2VsZWN0SW5kZXgodCk6KHRoaXMubXVsdGl8fHRoaXMuX19zZWxlY3RlZE1hcC5jbGVhcigpLHRoaXMuX19zZWxlY3RlZE1hcC5zZXQoZSx0KSx0aGlzLl9fdXBkYXRlTGlua3MoKSx0aGlzLm11bHRpP3RoaXMucHVzaChKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJzZWxlY3RlZCIsdGhpcyksZSk6dGhpcy5zZWxlY3RlZD10aGlzLnNlbGVjdGVkSXRlbT1lKX19fSkpKHdlKTtjbGFzcyB5byBleHRlbmRzIF9ve3N0YXRpYyBnZXQgaXMoKXtyZXR1cm4iYXJyYXktc2VsZWN0b3IifXN0YXRpYyBnZXQgdGVtcGxhdGUoKXtyZXR1cm4gbnVsbH19Y3VzdG9tRWxlbWVudHMuZGVmaW5lKHlvLmlzLHlvKTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3Qgdm89bmV3IGtuO3dpbmRvdy5TaGFkeUNTU3x8KHdpbmRvdy5TaGFkeUNTUz17cHJlcGFyZVRlbXBsYXRlKHQsZSxuKXt9LHByZXBhcmVUZW1wbGF0ZURvbSh0LGUpe30scHJlcGFyZVRlbXBsYXRlU3R5bGVzKHQsZSxuKXt9LHN0eWxlU3VidHJlZSh0LGUpe3ZvLnByb2Nlc3NTdHlsZXMoKSxvbih0LGUpfSxzdHlsZUVsZW1lbnQodCl7dm8ucHJvY2Vzc1N0eWxlcygpfSxzdHlsZURvY3VtZW50KHQpe3ZvLnByb2Nlc3NTdHlsZXMoKSxvbihkb2N1bWVudC5ib2R5LHQpfSxnZXRDb21wdXRlZFN0eWxlVmFsdWU6KHQsZSk9PmFuKHQsZSksZmx1c2hDdXN0b21TdHlsZXMoKXt9LG5hdGl2ZUNzczpJZSxuYXRpdmVTaGFkb3c6QWUsY3NzQnVpbGQ6TGUsZGlzYWJsZVJ1bnRpbWU6TmV9KSx3aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2U9dm87Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IGJvPSJpbmNsdWRlIix4bz13aW5kb3cuU2hhZHlDU1MuQ3VzdG9tU3R5bGVJbnRlcmZhY2U7Y2xhc3Mgd28gZXh0ZW5kcyBIVE1MRWxlbWVudHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5fc3R5bGU9bnVsbCx4by5hZGRDdXN0b21TdHlsZSh0aGlzKX1nZXRTdHlsZSgpe2lmKHRoaXMuX3N0eWxlKXJldHVybiB0aGlzLl9zdHlsZTtjb25zdCB0PXRoaXMucXVlcnlTZWxlY3Rvcigic3R5bGUiKTtpZighdClyZXR1cm4gbnVsbDt0aGlzLl9zdHlsZT10O2NvbnN0IGU9dC5nZXRBdHRyaWJ1dGUoYm8pO3JldHVybiBlJiYodC5yZW1vdmVBdHRyaWJ1dGUoYm8pLHQudGV4dENvbnRlbnQ9KGZ1bmN0aW9uIG4odCl7bGV0IGU9dC50cmltKCkuc3BsaXQoL1xzKy8pLG49IiI7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspbis9cShlW3RdKTtyZXR1cm4gbn0pKGUpK3QudGV4dENvbnRlbnQpLHRoaXMub3duZXJEb2N1bWVudCE9PXdpbmRvdy5kb2N1bWVudCYmd2luZG93LmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodGhpcyksdGhpcy5fc3R5bGV9fQovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpsZXQgU287d2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgiY3VzdG9tLXN0eWxlIix3byksU289V3IuX211dGFibGVQcm9wZXJ0eUNoYW5nZTtjb25zdCBNbz17cHJvcGVydGllczp7bXV0YWJsZURhdGE6Qm9vbGVhbn0sX3Nob3VsZFByb3BlcnR5Q2hhbmdlKHQsZSxuKXtyZXR1cm4gU28odGhpcyx0LGUsbix0aGlzLm11dGFibGVEYXRhKX19LEVvPWNyKEhUTUxFbGVtZW50KS5wcm90b3R5cGU7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwp2YXIgVG89bmV3IFNldDtjb25zdCBDbz17cHJvcGVydGllczp7X3BhcmVudFJlc2l6YWJsZTp7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il9wYXJlbnRSZXNpemFibGVDaGFuZ2VkIn0sX25vdGlmeWluZ0Rlc2NlbmRhbnQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX19LGxpc3RlbmVyczp7Imlyb24tcmVxdWVzdC1yZXNpemUtbm90aWZpY2F0aW9ucyI6Il9vbklyb25SZXF1ZXN0UmVzaXplTm90aWZpY2F0aW9ucyJ9LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9pbnRlcmVzdGVkUmVzaXphYmxlcz1bXSx0aGlzLl9ib3VuZE5vdGlmeVJlc2l6ZT10aGlzLm5vdGlmeVJlc2l6ZS5iaW5kKHRoaXMpLHRoaXMuX2JvdW5kT25EZXNjZW5kYW50SXJvblJlc2l6ZT10aGlzLl9vbkRlc2NlbmRhbnRJcm9uUmVzaXplLmJpbmQodGhpcyl9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fcmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnMoKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9wYXJlbnRSZXNpemFibGU/dGhpcy5fcGFyZW50UmVzaXphYmxlLnN0b3BSZXNpemVOb3RpZmljYXRpb25zRm9yKHRoaXMpOihUby5kZWxldGUodGhpcyksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fYm91bmROb3RpZnlSZXNpemUpKSx0aGlzLl9wYXJlbnRSZXNpemFibGU9bnVsbH0sbm90aWZ5UmVzaXplOmZ1bmN0aW9uKCl7dGhpcy5pc0F0dGFjaGVkJiYodGhpcy5faW50ZXJlc3RlZFJlc2l6YWJsZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dGhpcy5yZXNpemVyU2hvdWxkTm90aWZ5KHQpJiZ0aGlzLl9ub3RpZnlEZXNjZW5kYW50KHQpfSksdGhpcyksdGhpcy5fZmlyZVJlc2l6ZSgpKX0sYXNzaWduUGFyZW50UmVzaXphYmxlOmZ1bmN0aW9uKHQpe3RoaXMuX3BhcmVudFJlc2l6YWJsZSYmdGhpcy5fcGFyZW50UmVzaXphYmxlLnN0b3BSZXNpemVOb3RpZmljYXRpb25zRm9yKHRoaXMpLHRoaXMuX3BhcmVudFJlc2l6YWJsZT10LHQmJi0xPT09dC5faW50ZXJlc3RlZFJlc2l6YWJsZXMuaW5kZXhPZih0aGlzKSYmKHQuX2ludGVyZXN0ZWRSZXNpemFibGVzLnB1c2godGhpcyksdC5fc3Vic2NyaWJlSXJvblJlc2l6ZSh0aGlzKSl9LHN0b3BSZXNpemVOb3RpZmljYXRpb25zRm9yOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzLmluZGV4T2YodCk7ZT4tMSYmKHRoaXMuX2ludGVyZXN0ZWRSZXNpemFibGVzLnNwbGljZShlLDEpLHRoaXMuX3Vuc3Vic2NyaWJlSXJvblJlc2l6ZSh0KSl9LF9zdWJzY3JpYmVJcm9uUmVzaXplOmZ1bmN0aW9uKHQpe3QuYWRkRXZlbnRMaXN0ZW5lcigiaXJvbi1yZXNpemUiLHRoaXMuX2JvdW5kT25EZXNjZW5kYW50SXJvblJlc2l6ZSl9LF91bnN1YnNjcmliZUlyb25SZXNpemU6ZnVuY3Rpb24odCl7dC5yZW1vdmVFdmVudExpc3RlbmVyKCJpcm9uLXJlc2l6ZSIsdGhpcy5fYm91bmRPbkRlc2NlbmRhbnRJcm9uUmVzaXplKX0scmVzaXplclNob3VsZE5vdGlmeTpmdW5jdGlvbih0KXtyZXR1cm4hMH0sX29uRGVzY2VuZGFudElyb25SZXNpemU6ZnVuY3Rpb24odCl7dGhpcy5fbm90aWZ5aW5nRGVzY2VuZGFudD90LnN0b3BQcm9wYWdhdGlvbigpOm18fHRoaXMuX2ZpcmVSZXNpemUoKX0sX2ZpcmVSZXNpemU6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoImlyb24tcmVzaXplIixudWxsLHtub2RlOnRoaXMsYnViYmxlczohMX0pfSxfb25Jcm9uUmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnM6ZnVuY3Rpb24odCl7dmFyIGU9ZXIodCkucm9vdFRhcmdldDtlIT09dGhpcyYmKGUuYXNzaWduUGFyZW50UmVzaXphYmxlKHRoaXMpLHRoaXMuX25vdGlmeURlc2NlbmRhbnQoZSksdC5zdG9wUHJvcGFnYXRpb24oKSl9LF9wYXJlbnRSZXNpemFibGVDaGFuZ2VkOmZ1bmN0aW9uKHQpe3QmJndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuX2JvdW5kTm90aWZ5UmVzaXplKX0sX25vdGlmeURlc2NlbmRhbnQ6ZnVuY3Rpb24odCl7dGhpcy5pc0F0dGFjaGVkJiYodGhpcy5fbm90aWZ5aW5nRGVzY2VuZGFudD0hMCx0Lm5vdGlmeVJlc2l6ZSgpLHRoaXMuX25vdGlmeWluZ0Rlc2NlbmRhbnQ9ITEpfSxfcmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnM6ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXR0YWNoZWQpaWYoImxvYWRpbmciPT09ZG9jdW1lbnQucmVhZHlTdGF0ZSl7dmFyIHQ9dGhpcy5fcmVxdWVzdFJlc2l6ZU5vdGlmaWNhdGlvbnMuYmluZCh0aGlzKTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJyZWFkeXN0YXRlY2hhbmdlIiwoZnVuY3Rpb24gZSgpe2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLGUpLHQoKX0pKX1lbHNlIHRoaXMuX2ZpbmRQYXJlbnQoKSx0aGlzLl9wYXJlbnRSZXNpemFibGU/dGhpcy5fcGFyZW50UmVzaXphYmxlLl9pbnRlcmVzdGVkUmVzaXphYmxlcy5mb3JFYWNoKChmdW5jdGlvbih0KXt0IT09dGhpcyYmdC5fZmluZFBhcmVudCgpfSksdGhpcyk6KFRvLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QhPT10aGlzJiZ0Ll9maW5kUGFyZW50KCl9KSx0aGlzKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9ib3VuZE5vdGlmeVJlc2l6ZSksdGhpcy5ub3RpZnlSZXNpemUoKSl9LF9maW5kUGFyZW50OmZ1bmN0aW9uKCl7dGhpcy5hc3NpZ25QYXJlbnRSZXNpemFibGUobnVsbCksdGhpcy5maXJlKCJpcm9uLXJlcXVlc3QtcmVzaXplLW5vdGlmaWNhdGlvbnMiLG51bGwse25vZGU6dGhpcyxidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9KSx0aGlzLl9wYXJlbnRSZXNpemFibGU/VG8uZGVsZXRlKHRoaXMpOlRvLmFkZCh0aGlzKX19O3ZhciBBbz1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxJcm9uUmVzaXphYmxlQmVoYXZpb3I6Q299KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLWlyb24tY29sbGFwc2UtdHJhbnNpdGlvbi1kdXJhdGlvbiwgMzAwbXMpOwogICAgICAgIC8qIFNhZmFyaSAxMCBuZWVkcyB0aGlzIHByb3BlcnR5IHByZWZpeGVkIHRvIGNvcnJlY3RseSBhcHBseSB0aGUgY3VzdG9tIHByb3BlcnR5ICovCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1pcm9uLWNvbGxhcHNlLXRyYW5zaXRpb24tZHVyYXRpb24sIDMwMG1zKTsKICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgICAgfQoKICAgICAgOmhvc3QoLmlyb24tY29sbGFwc2UtY2xvc2VkKSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoOm5vdCguaXJvbi1jb2xsYXBzZS1vcGVuZWQpKSB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CmAsaXM6Imlyb24tY29sbGFwc2UiLGJlaGF2aW9yczpbQ29dLHByb3BlcnRpZXM6e2hvcml6b250YWw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX2hvcml6b250YWxDaGFuZ2VkIn0sb3BlbmVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwLG9ic2VydmVyOiJfb3BlbmVkQ2hhbmdlZCJ9LHRyYW5zaXRpb25pbmc6e3R5cGU6Qm9vbGVhbixub3RpZnk6ITAscmVhZE9ubHk6ITB9LG5vQW5pbWF0aW9uOnt0eXBlOkJvb2xlYW59LF9kZXNpcmVkU2l6ZTp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9fSxnZXQgZGltZW5zaW9uKCl7cmV0dXJuIHRoaXMuaG9yaXpvbnRhbD8id2lkdGgiOiJoZWlnaHQifSxnZXQgX2RpbWVuc2lvbk1heCgpe3JldHVybiB0aGlzLmhvcml6b250YWw/Im1heFdpZHRoIjoibWF4SGVpZ2h0In0sZ2V0IF9kaW1lbnNpb25NYXhDc3MoKXtyZXR1cm4gdGhpcy5ob3Jpem9udGFsPyJtYXgtd2lkdGgiOiJtYXgtaGVpZ2h0In0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6Imdyb3VwIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sbGlzdGVuZXJzOnt0cmFuc2l0aW9uZW5kOiJfb25UcmFuc2l0aW9uRW5kIn0sdG9nZ2xlOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ9IXRoaXMub3BlbmVkfSxzaG93OmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ9ITB9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZD0hMX0sdXBkYXRlU2l6ZTpmdW5jdGlvbih0LGUpe3Q9ImF1dG8iPT09dD8iIjp0O3ZhciBuPWUmJiF0aGlzLm5vQW5pbWF0aW9uJiZ0aGlzLmlzQXR0YWNoZWQmJnRoaXMuX2Rlc2lyZWRTaXplIT09dDtpZih0aGlzLl9kZXNpcmVkU2l6ZT10LHRoaXMuX3VwZGF0ZVRyYW5zaXRpb24oITEpLG4pe3ZhciBpPXRoaXMuX2NhbGNTaXplKCk7IiI9PT10JiYodGhpcy5zdHlsZVt0aGlzLl9kaW1lbnNpb25NYXhdPSIiLHQ9dGhpcy5fY2FsY1NpemUoKSksdGhpcy5zdHlsZVt0aGlzLl9kaW1lbnNpb25NYXhdPWksdGhpcy5zY3JvbGxUb3A9dGhpcy5zY3JvbGxUb3AsdGhpcy5fdXBkYXRlVHJhbnNpdGlvbighMCksbj10IT09aX10aGlzLnN0eWxlW3RoaXMuX2RpbWVuc2lvbk1heF09dCxufHx0aGlzLl90cmFuc2l0aW9uRW5kKCl9LGVuYWJsZVRyYW5zaXRpb246ZnVuY3Rpb24odCl7RW8uX3dhcm4oImBlbmFibGVUcmFuc2l0aW9uKClgIGlzIGRlcHJlY2F0ZWQsIHVzZSBgbm9BbmltYXRpb25gIGluc3RlYWQuIiksdGhpcy5ub0FuaW1hdGlvbj0hdH0sX3VwZGF0ZVRyYW5zaXRpb246ZnVuY3Rpb24odCl7dGhpcy5zdHlsZS50cmFuc2l0aW9uRHVyYXRpb249dCYmIXRoaXMubm9BbmltYXRpb24/IiI6IjBzIn0sX2hvcml6b250YWxDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5zdHlsZS50cmFuc2l0aW9uUHJvcGVydHk9dGhpcy5fZGltZW5zaW9uTWF4Q3NzLHRoaXMuc3R5bGVbIm1heFdpZHRoIj09PXRoaXMuX2RpbWVuc2lvbk1heD8ibWF4SGVpZ2h0IjoibWF4V2lkdGgiXT0iIix0aGlzLnVwZGF0ZVNpemUodGhpcy5vcGVuZWQ/ImF1dG8iOiIwcHgiLCExKX0sX29wZW5lZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCF0aGlzLm9wZW5lZCksdGhpcy5fc2V0VHJhbnNpdGlvbmluZyghMCksdGhpcy50b2dnbGVDbGFzcygiaXJvbi1jb2xsYXBzZS1jbG9zZWQiLCExKSx0aGlzLnRvZ2dsZUNsYXNzKCJpcm9uLWNvbGxhcHNlLW9wZW5lZCIsITEpLHRoaXMudXBkYXRlU2l6ZSh0aGlzLm9wZW5lZD8iYXV0byI6IjBweCIsITApLHRoaXMub3BlbmVkJiZ0aGlzLmZvY3VzKCl9LF90cmFuc2l0aW9uRW5kOmZ1bmN0aW9uKCl7dGhpcy5zdHlsZVt0aGlzLl9kaW1lbnNpb25NYXhdPXRoaXMuX2Rlc2lyZWRTaXplLHRoaXMudG9nZ2xlQ2xhc3MoImlyb24tY29sbGFwc2UtY2xvc2VkIiwhdGhpcy5vcGVuZWQpLHRoaXMudG9nZ2xlQ2xhc3MoImlyb24tY29sbGFwc2Utb3BlbmVkIix0aGlzLm9wZW5lZCksdGhpcy5fdXBkYXRlVHJhbnNpdGlvbighMSksdGhpcy5ub3RpZnlSZXNpemUoKSx0aGlzLl9zZXRUcmFuc2l0aW9uaW5nKCExKX0sX29uVHJhbnNpdGlvbkVuZDpmdW5jdGlvbih0KXtlcih0KS5yb290VGFyZ2V0PT09dGhpcyYmdGhpcy5fdHJhbnNpdGlvbkVuZCgpfSxfY2FsY1NpemU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVt0aGlzLmRpbWVuc2lvbl0rInB4In19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IGtvPXhlYAovKiBNb3N0IGNvbW1vbiB1c2VkIGZsZXggc3R5bGVzKi8KPGRvbS1tb2R1bGUgaWQ9Imlyb24tZmxleCI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICAubGF5b3V0Lmhvcml6b250YWwsCiAgICAgIC5sYXlvdXQudmVydGljYWwgewogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICAubGF5b3V0LmlubGluZSB7CiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuaG9yaXpvbnRhbCB7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQudmVydGljYWwgewogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICAubGF5b3V0LndyYXAgewogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CgogICAgICAubGF5b3V0Lm5vLXdyYXAgewogICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsKICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogbm93cmFwOwogICAgICAgIGZsZXgtd3JhcDogbm93cmFwOwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlciwKICAgICAgLmxheW91dC5jZW50ZXItY2VudGVyIHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlci1qdXN0aWZpZWQsCiAgICAgIC5sYXlvdXQuY2VudGVyLWNlbnRlciB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5mbGV4IHsKICAgICAgICAtbXMtZmxleDogMSAxIDAuMDAwMDAwMDAxcHg7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAwLjAwMDAwMDAwMXB4OwogICAgICAgIGZsZXgtYmFzaXM6IDAuMDAwMDAwMDAxcHg7CiAgICAgIH0KCiAgICAgIC5mbGV4LWF1dG8gewogICAgICAgIC1tcy1mbGV4OiAxIDEgYXV0bzsKICAgICAgICAtd2Via2l0LWZsZXg6IDEgMSBhdXRvOwogICAgICAgIGZsZXg6IDEgMSBhdXRvOwogICAgICB9CgogICAgICAuZmxleC1ub25lIHsKICAgICAgICAtbXMtZmxleDogbm9uZTsKICAgICAgICAtd2Via2l0LWZsZXg6IG5vbmU7CiAgICAgICAgZmxleDogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+Ci8qIEJhc2ljIGZsZXhib3ggcmV2ZXJzZSBzdHlsZXMgKi8KPGRvbS1tb2R1bGUgaWQ9Imlyb24tZmxleC1yZXZlcnNlIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC5sYXlvdXQuaG9yaXpvbnRhbC1yZXZlcnNlLAogICAgICAubGF5b3V0LnZlcnRpY2FsLXJldmVyc2UgewogICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICAubGF5b3V0Lmhvcml6b250YWwtcmV2ZXJzZSB7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQudmVydGljYWwtcmV2ZXJzZSB7CiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQud3JhcC1yZXZlcnNlIHsKICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwLXJldmVyc2U7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsKICAgICAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+Ci8qIEZsZXhib3ggYWxpZ25tZW50ICovCjxkb20tbW9kdWxlIGlkPSJpcm9uLWZsZXgtYWxpZ25tZW50Ij4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC8qKgogICAgICAgKiBBbGlnbm1lbnQgaW4gY3Jvc3MgYXhpcy4KICAgICAgICovCiAgICAgIC5sYXlvdXQuc3RhcnQgewogICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICB9CgogICAgICAubGF5b3V0LmNlbnRlciwKICAgICAgLmxheW91dC5jZW50ZXItY2VudGVyIHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAubGF5b3V0LmVuZCB7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuYmFzZWxpbmUgewogICAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZTsKICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBBbGlnbm1lbnQgaW4gbWFpbiBheGlzLgogICAgICAgKi8KICAgICAgLmxheW91dC5zdGFydC1qdXN0aWZpZWQgewogICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0OwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICAgICAgfQoKICAgICAgLmxheW91dC5jZW50ZXItanVzdGlmaWVkLAogICAgICAubGF5b3V0LmNlbnRlci1jZW50ZXIgewogICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAubGF5b3V0LmVuZC1qdXN0aWZpZWQgewogICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLmxheW91dC5hcm91bmQtanVzdGlmaWVkIHsKICAgICAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlOwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuanVzdGlmaWVkIHsKICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5OwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFNlbGYgYWxpZ25tZW50LgogICAgICAgKi8KICAgICAgLnNlbGYtc3RhcnQgewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OwogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OwogICAgICB9CgogICAgICAuc2VsZi1jZW50ZXIgewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyOwogICAgICB9CgogICAgICAuc2VsZi1lbmQgewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBmbGV4LWVuZDsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAuc2VsZi1zdHJldGNoIHsKICAgICAgICAtbXMtYWxpZ24tc2VsZjogc3RyZXRjaDsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IHN0cmV0Y2g7CiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLnNlbGYtYmFzZWxpbmUgewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBiYXNlbGluZTsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGJhc2VsaW5lOwogICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lOwogICAgICB9CgogICAgICAvKioKICAgICAgICogbXVsdGktbGluZSBhbGlnbm1lbnQgaW4gbWFpbiBheGlzLgogICAgICAgKi8KICAgICAgLmxheW91dC5zdGFydC1hbGlnbmVkIHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0OyAgLyogSUUxMCAqLwogICAgICAgIC1tcy1hbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1zdGFydDsKICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICB9CgogICAgICAubGF5b3V0LmVuZC1hbGlnbmVkIHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZDsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLmxheW91dC5jZW50ZXItYWxpZ25lZCB7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXI7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuYmV0d2Vlbi1hbGlnbmVkIHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnk7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH0KCiAgICAgIC5sYXlvdXQuYXJvdW5kLWFsaWduZWQgewogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZTsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+Ci8qIE5vbi1mbGV4Ym94IHBvc2l0aW9uaW5nIGhlbHBlciBzdHlsZXMgKi8KPGRvbS1tb2R1bGUgaWQ9Imlyb24tZmxleC1mYWN0b3JzIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC5mbGV4LAogICAgICAuZmxleC0xIHsKICAgICAgICAtbXMtZmxleDogMSAxIDAuMDAwMDAwMDAxcHg7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAwLjAwMDAwMDAwMXB4OwogICAgICAgIGZsZXgtYmFzaXM6IDAuMDAwMDAwMDAxcHg7CiAgICAgIH0KCiAgICAgIC5mbGV4LTIgewogICAgICAgIC1tcy1mbGV4OiAyOwogICAgICAgIC13ZWJraXQtZmxleDogMjsKICAgICAgICBmbGV4OiAyOwogICAgICB9CgogICAgICAuZmxleC0zIHsKICAgICAgICAtbXMtZmxleDogMzsKICAgICAgICAtd2Via2l0LWZsZXg6IDM7CiAgICAgICAgZmxleDogMzsKICAgICAgfQoKICAgICAgLmZsZXgtNCB7CiAgICAgICAgLW1zLWZsZXg6IDQ7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA0OwogICAgICAgIGZsZXg6IDQ7CiAgICAgIH0KCiAgICAgIC5mbGV4LTUgewogICAgICAgIC1tcy1mbGV4OiA1OwogICAgICAgIC13ZWJraXQtZmxleDogNTsKICAgICAgICBmbGV4OiA1OwogICAgICB9CgogICAgICAuZmxleC02IHsKICAgICAgICAtbXMtZmxleDogNjsKICAgICAgICAtd2Via2l0LWZsZXg6IDY7CiAgICAgICAgZmxleDogNjsKICAgICAgfQoKICAgICAgLmZsZXgtNyB7CiAgICAgICAgLW1zLWZsZXg6IDc7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA3OwogICAgICAgIGZsZXg6IDc7CiAgICAgIH0KCiAgICAgIC5mbGV4LTggewogICAgICAgIC1tcy1mbGV4OiA4OwogICAgICAgIC13ZWJraXQtZmxleDogODsKICAgICAgICBmbGV4OiA4OwogICAgICB9CgogICAgICAuZmxleC05IHsKICAgICAgICAtbXMtZmxleDogOTsKICAgICAgICAtd2Via2l0LWZsZXg6IDk7CiAgICAgICAgZmxleDogOTsKICAgICAgfQoKICAgICAgLmZsZXgtMTAgewogICAgICAgIC1tcy1mbGV4OiAxMDsKICAgICAgICAtd2Via2l0LWZsZXg6IDEwOwogICAgICAgIGZsZXg6IDEwOwogICAgICB9CgogICAgICAuZmxleC0xMSB7CiAgICAgICAgLW1zLWZsZXg6IDExOwogICAgICAgIC13ZWJraXQtZmxleDogMTE7CiAgICAgICAgZmxleDogMTE7CiAgICAgIH0KCiAgICAgIC5mbGV4LTEyIHsKICAgICAgICAtbXMtZmxleDogMTI7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxMjsKICAgICAgICBmbGV4OiAxMjsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+Cjxkb20tbW9kdWxlIGlkPSJpcm9uLXBvc2l0aW9uaW5nIj4KICA8dGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC5ibG9jayB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIFtoaWRkZW5dIHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5pbnZpc2libGUgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAucmVsYXRpdmUgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmZpdCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgfQoKICAgICAgYm9keS5mdWxsYmxlZWQgewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICB9CgogICAgICAuc2Nyb2xsIHsKICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KCiAgICAgIC8qIGZpeGVkIHBvc2l0aW9uICovCiAgICAgIC5maXhlZC1ib3R0b20sCiAgICAgIC5maXhlZC1sZWZ0LAogICAgICAuZml4ZWQtcmlnaHQsCiAgICAgIC5maXhlZC10b3AgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgfQoKICAgICAgLmZpeGVkLXRvcCB7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC5maXhlZC1yaWdodCB7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLmZpeGVkLWJvdHRvbSB7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIC5maXhlZC1sZWZ0IHsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC90ZW1wbGF0ZT4KPC9kb20tbW9kdWxlPgpgO2tvLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJkaXNwbGF5OiBub25lOyIpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoa28uY29udGVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBMbz14ZWAKPGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBbaGlkZGVuXSB7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT4KPGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBodG1sIHsKCiAgICAgIC0tbGF5b3V0OiB7CiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIH07CgogICAgICAtLWxheW91dC1pbmxpbmU6IHsKICAgICAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWhvcml6b250YWw6IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQ7CgogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtaG9yaXpvbnRhbC1yZXZlcnNlOiB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0OwoKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOwogICAgICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LXZlcnRpY2FsOiB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0OwoKICAgICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LXZlcnRpY2FsLXJldmVyc2U6IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQ7CgogICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7CiAgICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtd3JhcDogewogICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtd3JhcC1yZXZlcnNlOiB7CiAgICAgICAgLW1zLWZsZXgtd3JhcDogd3JhcC1yZXZlcnNlOwogICAgICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwLXJldmVyc2U7CiAgICAgICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LWF1dG86IHsKICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxIDEgYXV0bzsKICAgICAgICBmbGV4OiAxIDEgYXV0bzsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtbm9uZTogewogICAgICAgIC1tcy1mbGV4OiBub25lOwogICAgICAgIC13ZWJraXQtZmxleDogbm9uZTsKICAgICAgICBmbGV4OiBub25lOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleDogewogICAgICAgIC1tcy1mbGV4OiAxIDEgMC4wMDAwMDAwMDFweDsKICAgICAgICAtd2Via2l0LWZsZXg6IDE7CiAgICAgICAgZmxleDogMTsKICAgICAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDAuMDAwMDAwMDAxcHg7CiAgICAgICAgZmxleC1iYXNpczogMC4wMDAwMDAwMDFweDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtMjogewogICAgICAgIC1tcy1mbGV4OiAyOwogICAgICAgIC13ZWJraXQtZmxleDogMjsKICAgICAgICBmbGV4OiAyOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC0zOiB7CiAgICAgICAgLW1zLWZsZXg6IDM7CiAgICAgICAgLXdlYmtpdC1mbGV4OiAzOwogICAgICAgIGZsZXg6IDM7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTQ6IHsKICAgICAgICAtbXMtZmxleDogNDsKICAgICAgICAtd2Via2l0LWZsZXg6IDQ7CiAgICAgICAgZmxleDogNDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtNTogewogICAgICAgIC1tcy1mbGV4OiA1OwogICAgICAgIC13ZWJraXQtZmxleDogNTsKICAgICAgICBmbGV4OiA1OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC02OiB7CiAgICAgICAgLW1zLWZsZXg6IDY7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA2OwogICAgICAgIGZsZXg6IDY7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTc6IHsKICAgICAgICAtbXMtZmxleDogNzsKICAgICAgICAtd2Via2l0LWZsZXg6IDc7CiAgICAgICAgZmxleDogNzsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZsZXgtODogewogICAgICAgIC1tcy1mbGV4OiA4OwogICAgICAgIC13ZWJraXQtZmxleDogODsKICAgICAgICBmbGV4OiA4OwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZmxleC05OiB7CiAgICAgICAgLW1zLWZsZXg6IDk7CiAgICAgICAgLXdlYmtpdC1mbGV4OiA5OwogICAgICAgIGZsZXg6IDk7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTEwOiB7CiAgICAgICAgLW1zLWZsZXg6IDEwOwogICAgICAgIC13ZWJraXQtZmxleDogMTA7CiAgICAgICAgZmxleDogMTA7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTExOiB7CiAgICAgICAgLW1zLWZsZXg6IDExOwogICAgICAgIC13ZWJraXQtZmxleDogMTE7CiAgICAgICAgZmxleDogMTE7CiAgICAgIH07CgogICAgICAtLWxheW91dC1mbGV4LTEyOiB7CiAgICAgICAgLW1zLWZsZXg6IDEyOwogICAgICAgIC13ZWJraXQtZmxleDogMTI7CiAgICAgICAgZmxleDogMTI7CiAgICAgIH07CgogICAgICAvKiBhbGlnbm1lbnQgaW4gY3Jvc3MgYXhpcyAqLwoKICAgICAgLS1sYXlvdXQtc3RhcnQ6IHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWNlbnRlcjogewogICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH07CgogICAgICAtLWxheW91dC1lbmQ6IHsKICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWJhc2VsaW5lOiB7CiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lOwogICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgfTsKCiAgICAgIC8qIGFsaWdubWVudCBpbiBtYWluIGF4aXMgKi8KCiAgICAgIC0tbGF5b3V0LXN0YXJ0LWp1c3RpZmllZDogewogICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0OwogICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWNlbnRlci1qdXN0aWZpZWQ6IHsKICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWVuZC1qdXN0aWZpZWQ6IHsKICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7CiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgIH07CgogICAgICAtLWxheW91dC1hcm91bmQtanVzdGlmaWVkOiB7CiAgICAgICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtanVzdGlmaWVkOiB7CiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTsKICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH07CgogICAgICAtLWxheW91dC1jZW50ZXItY2VudGVyOiB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyLWp1c3RpZmllZDsKICAgICAgfTsKCiAgICAgIC8qIHNlbGYgYWxpZ25tZW50ICovCgogICAgICAtLWxheW91dC1zZWxmLXN0YXJ0OiB7CiAgICAgICAgLW1zLWFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OwogICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7CiAgICAgIH07CgogICAgICAtLWxheW91dC1zZWxmLWNlbnRlcjogewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtc2VsZi1lbmQ6IHsKICAgICAgICAtbXMtYWxpZ24tc2VsZjogZmxleC1lbmQ7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LXNlbGYtc3RyZXRjaDogewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBzdHJldGNoOwogICAgICAgIC13ZWJraXQtYWxpZ24tc2VsZjogc3RyZXRjaDsKICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtc2VsZi1iYXNlbGluZTogewogICAgICAgIC1tcy1hbGlnbi1zZWxmOiBiYXNlbGluZTsKICAgICAgICAtd2Via2l0LWFsaWduLXNlbGY6IGJhc2VsaW5lOwogICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lOwogICAgICB9OwoKICAgICAgLyogbXVsdGktbGluZSBhbGlnbm1lbnQgaW4gbWFpbiBheGlzICovCgogICAgICAtLWxheW91dC1zdGFydC1hbGlnbmVkOiB7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydDsgIC8qIElFMTAgKi8KICAgICAgICAtbXMtYWxpZ24tY29udGVudDogZmxleC1zdGFydDsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWVuZC1hbGlnbmVkOiB7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQ7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7CiAgICAgIH07CgogICAgICAtLWxheW91dC1jZW50ZXItYWxpZ25lZDogewogICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyOyAgLyogSUUxMCAqLwogICAgICAgIC1tcy1hbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtYmV0d2Vlbi1hbGlnbmVkOiB7CiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5OyAgLyogSUUxMCAqLwogICAgICAgIC1tcy1hbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtYXJvdW5kLWFsaWduZWQ6IHsKICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGU7ICAvKiBJRTEwICovCiAgICAgICAgLW1zLWFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsKICAgICAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7CiAgICAgIH07CgogICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgICAgICAgICAgICAgT3RoZXIgTGF5b3V0CiAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgogICAgICAtLWxheW91dC1ibG9jazogewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtaW52aXNpYmxlOiB7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7CiAgICAgIH07CgogICAgICAtLWxheW91dC1yZWxhdGl2ZTogewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfTsKCiAgICAgIC0tbGF5b3V0LWZpdDogewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH07CgogICAgICAtLWxheW91dC1zY3JvbGw6IHsKICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH07CgogICAgICAtLWxheW91dC1mdWxsYmxlZWQ6IHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAgfTsKCiAgICAgIC8qIGZpeGVkIHBvc2l0aW9uICovCgogICAgICAtLWxheW91dC1maXhlZC10b3A6IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgIH07CgogICAgICAtLWxheW91dC1maXhlZC1yaWdodDogewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZml4ZWQtYm90dG9tOiB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICB9OwoKICAgICAgLS1sYXlvdXQtZml4ZWQtbGVmdDogewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH07CgogICAgfQogIDwvc3R5bGU+CjwvY3VzdG9tLXN0eWxlPmA7TG8uc2V0QXR0cmlidXRlKCJzdHlsZSIsImRpc3BsYXk6IG5vbmU7IiksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChMby5jb250ZW50KTt2YXIgUG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtQby50ZXh0Q29udGVudD0iW2hpZGRlbl0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0iLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoUG8pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY2xhc3MgTm97Y29uc3RydWN0b3IodCl7Tm9bIiAiXSh0KSx0aGlzLnR5cGU9dCYmdC50eXBlfHwiZGVmYXVsdCIsdGhpcy5rZXk9dCYmdC5rZXksdCYmInZhbHVlImluIHQmJih0aGlzLnZhbHVlPXQudmFsdWUpfWdldCB2YWx1ZSgpe3ZhciB0PXRoaXMudHlwZSxlPXRoaXMua2V5O2lmKHQmJmUpcmV0dXJuIE5vLnR5cGVzW3RdJiZOby50eXBlc1t0XVtlXX1zZXQgdmFsdWUodCl7dmFyIGU9dGhpcy50eXBlLG49dGhpcy5rZXk7ZSYmbiYmKGU9Tm8udHlwZXNbZV09Tm8udHlwZXNbZV18fHt9LG51bGw9PXQ/ZGVsZXRlIGVbbl06ZVtuXT10KX1nZXQgbGlzdCgpe2lmKHRoaXMudHlwZSl7dmFyIHQ9Tm8udHlwZXNbdGhpcy50eXBlXTtyZXR1cm4gdD9PYmplY3Qua2V5cyh0KS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBJb1t0aGlzLnR5cGVdW3RdfSksdGhpcyk6W119fWJ5S2V5KHQpe3JldHVybiB0aGlzLmtleT10LHRoaXMudmFsdWV9fU5vWyIgIl09ZnVuY3Rpb24oKXt9LE5vLnR5cGVzPXt9O3ZhciBJbz1Oby50eXBlcztqcih7aXM6Imlyb24tbWV0YSIscHJvcGVydGllczp7dHlwZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImRlZmF1bHQifSxrZXk6e3R5cGU6U3RyaW5nfSx2YWx1ZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxzZWxmOnt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9zZWxmQ2hhbmdlZCJ9LF9fbWV0YTp7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfX2NvbXB1dGVNZXRhKHR5cGUsIGtleSwgdmFsdWUpIn19LGhvc3RBdHRyaWJ1dGVzOntoaWRkZW46ITB9LF9fY29tcHV0ZU1ldGE6ZnVuY3Rpb24odCxlLG4pe3ZhciBpPW5ldyBObyh7dHlwZTp0LGtleTplfSk7cmV0dXJuIHZvaWQgMCE9PW4mJm4hPT1pLnZhbHVlP2kudmFsdWU9bjp0aGlzLnZhbHVlIT09aS52YWx1ZSYmKHRoaXMudmFsdWU9aS52YWx1ZSksaX0sZ2V0IGxpc3QoKXtyZXR1cm4gdGhpcy5fX21ldGEmJnRoaXMuX19tZXRhLmxpc3R9LF9zZWxmQ2hhbmdlZDpmdW5jdGlvbih0KXt0JiYodGhpcy52YWx1ZT10aGlzKX0sYnlLZXk6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBObyh7dHlwZTp0aGlzLnR5cGUsa2V5OnR9KS52YWx1ZX19KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaW5saW5lOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKCiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKCiAgICAgICAgZmlsbDogdmFyKC0taXJvbi1pY29uLWZpbGwtY29sb3IsIGN1cnJlbnRjb2xvcik7CiAgICAgICAgc3Ryb2tlOiB2YXIoLS1pcm9uLWljb24tc3Ryb2tlLWNvbG9yLCBub25lKTsKCiAgICAgICAgd2lkdGg6IHZhcigtLWlyb24taWNvbi13aWR0aCwgMjRweCk7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1pcm9uLWljb24taGVpZ2h0LCAyNHB4KTsKICAgICAgICBAYXBwbHkgLS1pcm9uLWljb247CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KYCxpczoiaXJvbi1pY29uIixwcm9wZXJ0aWVzOntpY29uOnt0eXBlOlN0cmluZ30sdGhlbWU6e3R5cGU6U3RyaW5nfSxzcmM6e3R5cGU6U3RyaW5nfSxfbWV0YTp7dmFsdWU6RW8uY3JlYXRlKCJpcm9uLW1ldGEiLHt0eXBlOiJpY29uc2V0In0pfX0sb2JzZXJ2ZXJzOlsiX3VwZGF0ZUljb24oX21ldGEsIGlzQXR0YWNoZWQpIiwiX3VwZGF0ZUljb24odGhlbWUsIGlzQXR0YWNoZWQpIiwiX3NyY0NoYW5nZWQoc3JjLCBpc0F0dGFjaGVkKSIsIl9pY29uQ2hhbmdlZChpY29uLCBpc0F0dGFjaGVkKSJdLF9ERUZBVUxUX0lDT05TRVQ6Imljb25zIixfaWNvbkNoYW5nZWQ6ZnVuY3Rpb24odCl7dmFyIGU9KHR8fCIiKS5zcGxpdCgiOiIpO3RoaXMuX2ljb25OYW1lPWUucG9wKCksdGhpcy5faWNvbnNldE5hbWU9ZS5wb3AoKXx8dGhpcy5fREVGQVVMVF9JQ09OU0VULHRoaXMuX3VwZGF0ZUljb24oKX0sX3NyY0NoYW5nZWQ6ZnVuY3Rpb24odCl7dGhpcy5fdXBkYXRlSWNvbigpfSxfdXNlc0ljb25zZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pY29ufHwhdGhpcy5zcmN9LF91cGRhdGVJY29uOmZ1bmN0aW9uKCl7dGhpcy5fdXNlc0ljb25zZXQoKT8odGhpcy5faW1nJiZ0aGlzLl9pbWcucGFyZW50Tm9kZSYmZXIodGhpcy5yb290KS5yZW1vdmVDaGlsZCh0aGlzLl9pbWcpLCIiPT09dGhpcy5faWNvbk5hbWU/dGhpcy5faWNvbnNldCYmdGhpcy5faWNvbnNldC5yZW1vdmVJY29uKHRoaXMpOnRoaXMuX2ljb25zZXROYW1lJiZ0aGlzLl9tZXRhJiYodGhpcy5faWNvbnNldD10aGlzLl9tZXRhLmJ5S2V5KHRoaXMuX2ljb25zZXROYW1lKSx0aGlzLl9pY29uc2V0Pyh0aGlzLl9pY29uc2V0LmFwcGx5SWNvbih0aGlzLHRoaXMuX2ljb25OYW1lLHRoaXMudGhlbWUpLHRoaXMudW5saXN0ZW4od2luZG93LCJpcm9uLWljb25zZXQtYWRkZWQiLCJfdXBkYXRlSWNvbiIpKTp0aGlzLmxpc3Rlbih3aW5kb3csImlyb24taWNvbnNldC1hZGRlZCIsIl91cGRhdGVJY29uIikpKToodGhpcy5faWNvbnNldCYmdGhpcy5faWNvbnNldC5yZW1vdmVJY29uKHRoaXMpLHRoaXMuX2ltZ3x8KHRoaXMuX2ltZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSx0aGlzLl9pbWcuc3R5bGUud2lkdGg9IjEwMCUiLHRoaXMuX2ltZy5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMuX2ltZy5kcmFnZ2FibGU9ITEpLHRoaXMuX2ltZy5zcmM9dGhpcy5zcmMsZXIodGhpcy5yb290KS5hcHBlbmRDaGlsZCh0aGlzLl9pbWcpKX19KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtpczoiaXJvbi1pY29uc2V0LXN2ZyIscHJvcGVydGllczp7bmFtZTp7dHlwZTpTdHJpbmcsb2JzZXJ2ZXI6Il9uYW1lQ2hhbmdlZCJ9LHNpemU6e3R5cGU6TnVtYmVyLHZhbHVlOjI0fSxydGxNaXJyb3Jpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sdXNlR2xvYmFsUnRsQXR0cmlidXRlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5fbWV0YT1uZXcgTm8oe3R5cGU6Imljb25zZXQiLGtleTpudWxsLHZhbHVlOm51bGx9KX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnN0eWxlLmRpc3BsYXk9Im5vbmUifSxnZXRJY29uTmFtZXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faWNvbnM9dGhpcy5fY3JlYXRlSWNvbk1hcCgpLE9iamVjdC5rZXlzKHRoaXMuX2ljb25zKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm5hbWUrIjoiK3R9KSx0aGlzKX0sYXBwbHlJY29uOmZ1bmN0aW9uKHQsZSl7dGhpcy5yZW1vdmVJY29uKHQpO3ZhciBuPXRoaXMuX2Nsb25lSWNvbihlLHRoaXMucnRsTWlycm9yaW5nJiZ0aGlzLl90YXJnZXRJc1JUTCh0KSk7aWYobil7dmFyIGk9ZXIodC5yb290fHx0KTtyZXR1cm4gaS5pbnNlcnRCZWZvcmUobixpLmNoaWxkTm9kZXNbMF0pLHQuX3N2Z0ljb249bn1yZXR1cm4gbnVsbH0scmVtb3ZlSWNvbjpmdW5jdGlvbih0KXt0Ll9zdmdJY29uJiYoZXIodC5yb290fHx0KS5yZW1vdmVDaGlsZCh0Ll9zdmdJY29uKSx0Ll9zdmdJY29uPW51bGwpfSxfdGFyZ2V0SXNSVEw6ZnVuY3Rpb24odCl7aWYobnVsbD09dGhpcy5fX3RhcmdldElzUlRMKWlmKHRoaXMudXNlR2xvYmFsUnRsQXR0cmlidXRlKXt2YXIgZT1kb2N1bWVudC5ib2R5JiZkb2N1bWVudC5ib2R5Lmhhc0F0dHJpYnV0ZSgiZGlyIik/ZG9jdW1lbnQuYm9keTpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7dGhpcy5fX3RhcmdldElzUlRMPSJydGwiPT09ZS5nZXRBdHRyaWJ1dGUoImRpciIpfWVsc2UgdCYmdC5ub2RlVHlwZSE9PU5vZGUuRUxFTUVOVF9OT0RFJiYodD10Lmhvc3QpLHRoaXMuX190YXJnZXRJc1JUTD10JiYicnRsIj09PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLmRpcmVjdGlvbjtyZXR1cm4gdGhpcy5fX3RhcmdldElzUlRMfSxfbmFtZUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLl9tZXRhLnZhbHVlPW51bGwsdGhpcy5fbWV0YS5rZXk9dGhpcy5uYW1lLHRoaXMuX21ldGEudmFsdWU9dGhpcyx0aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuZmlyZSgiaXJvbi1pY29uc2V0LWFkZGVkIix0aGlzLHtub2RlOndpbmRvd30pfSkpfSxfY3JlYXRlSWNvbk1hcDpmdW5jdGlvbigpe3ZhciB0PU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIGVyKHRoaXMpLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZF0iKS5mb3JFYWNoKChmdW5jdGlvbihlKXt0W2UuaWRdPWV9KSksdH0sX2Nsb25lSWNvbjpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9pY29ucz10aGlzLl9pY29uc3x8dGhpcy5fY3JlYXRlSWNvbk1hcCgpLHRoaXMuX3ByZXBhcmVTdmdDbG9uZSh0aGlzLl9pY29uc1t0XSx0aGlzLnNpemUsZSl9LF9wcmVwYXJlU3ZnQ2xvbmU6ZnVuY3Rpb24odCxlLG4pe2lmKHQpe3ZhciBpPXQuY2xvbmVOb2RlKCEwKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJzdmciKSxvPWkuZ2V0QXR0cmlidXRlKCJ2aWV3Qm94Iil8fCIwIDAgIitlKyIgIitlLGE9InBvaW50ZXItZXZlbnRzOiBub25lOyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsiO3JldHVybiBuJiZpLmhhc0F0dHJpYnV0ZSgibWlycm9yLWluLXJ0bCIpJiYoYSs9Ii13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC0xLDEpO3RyYW5zZm9ybTpzY2FsZSgtMSwxKTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjsiKSxyLnNldEF0dHJpYnV0ZSgidmlld0JveCIsbyksci5zZXRBdHRyaWJ1dGUoInByZXNlcnZlQXNwZWN0UmF0aW8iLCJ4TWlkWU1pZCBtZWV0Iiksci5zZXRBdHRyaWJ1dGUoImZvY3VzYWJsZSIsImZhbHNlIiksci5zdHlsZS5jc3NUZXh0PWEsci5hcHBlbmRDaGlsZChpKS5yZW1vdmVBdHRyaWJ1dGUoImlkIikscn1yZXR1cm4gbnVsbH19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE0IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IFJvPXhlYDxpcm9uLWljb25zZXQtc3ZnIG5hbWU9ImltYWdlIiBzaXplPSIyNCI+Cjxzdmc+PGRlZnM+CjxnIGlkPSJhZGQtYS1waG90byI+PHBhdGggZD0iTTMgNFYxaDJ2M2gzdjJINXYzSDNWNkgwVjRoM3ptMyA2VjdoM1Y0aDdsMS44MyAySDIxYzEuMSAwIDIgLjkgMiAydjEyYzAgMS4xLS45IDItMiAySDVjLTEuMSAwLTItLjktMi0yVjEwaDN6bTcgOWMyLjc2IDAgNS0yLjI0IDUtNXMtMi4yNC01LTUtNS01IDIuMjQtNSA1IDIuMjQgNSA1IDV6bS0zLjItNWMwIDEuNzcgMS40MyAzLjIgMy4yIDMuMnMzLjItMS40MyAzLjItMy4yLTEuNDMtMy4yLTMuMi0zLjItMy4yIDEuNDMtMy4yIDMuMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJhZGQtdG8tcGhvdG9zIj48cGF0aCBkPSJNNCA2SDJ2MTRjMCAxLjEuOSAyIDIgMmgxNHYtMkg0VjZ6bTE2LTRIOGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0yem0tMSA5aC00djRoLTJ2LTRIOVY5aDRWNWgydjRoNHYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFkanVzdCI+PHBhdGggZD0iTTEyIDJDNi40OSAyIDIgNi40OSAyIDEyczQuNDkgMTAgMTAgMTAgMTAtNC40OSAxMC0xMFMxNy41MSAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4em0zLThjMCAxLjY2LTEuMzQgMy0zIDNzLTMtMS4zNC0zLTMgMS4zNC0zIDMtMyAzIDEuMzQgMyAzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFzc2lzdGFudCI+PHBhdGggZD0iTTE5IDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmg0bDMgMyAzLTNoNGMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0yem0tNS4xMiAxMC44OEwxMiAxN2wtMS44OC00LjEyTDYgMTFsNC4xMi0xLjg4TDEyIDVsMS44OCA0LjEyTDE4IDExbC00LjEyIDEuODh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYXNzaXN0YW50LXBob3RvIj48cGF0aCBkPSJNMTQuNCA2TDE0IDRINXYxN2gydi03aDUuNmwuNCAyaDdWNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJhdWRpb3RyYWNrIj48cGF0aCBkPSJNMTIgM3Y5LjI4Yy0uNDctLjE3LS45Ny0uMjgtMS41LS4yOEM4LjAxIDEyIDYgMTQuMDEgNiAxNi41UzguMDEgMjEgMTAuNSAyMWMyLjMxIDAgNC4yLTEuNzUgNC40NS00SDE1VjZoNFYzaC03eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJsdXItY2lyY3VsYXIiPjxwYXRoIGQ9Ik0xMCA5Yy0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMS0uNDUtMS0xLTF6bTAgNGMtLjU1IDAtMSAuNDUtMSAxcy40NSAxIDEgMSAxLS40NSAxLTEtLjQ1LTEtMS0xek03IDkuNWMtLjI4IDAtLjUuMjItLjUuNXMuMjIuNS41LjUuNS0uMjIuNS0uNS0uMjItLjUtLjUtLjV6bTMgN2MtLjI4IDAtLjUuMjItLjUuNXMuMjIuNS41LjUuNS0uMjIuNS0uNS0uMjItLjUtLjUtLjV6bS0zLTNjLS4yOCAwLS41LjIyLS41LjVzLjIyLjUuNS41LjUtLjIyLjUtLjUtLjIyLS41LS41LS41em0zLTZjLjI4IDAgLjUtLjIyLjUtLjVzLS4yMi0uNS0uNS0uNS0uNS4yMi0uNS41LjIyLjUuNS41ek0xNCA5Yy0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMS0uNDUtMS0xLTF6bTAtMS41Yy4yOCAwIC41LS4yMi41LS41cy0uMjItLjUtLjUtLjUtLjUuMjItLjUuNS4yMi41LjUuNXptMyA2Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXptMC00Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXpNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MiAwLTgtMy41OC04LThzMy41OC04IDgtOCA4IDMuNTggOCA4LTMuNTggOC04IDh6bTItMy41Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXptMC0zLjVjLS41NSAwLTEgLjQ1LTEgMXMuNDUgMSAxIDEgMS0uNDUgMS0xLS40NS0xLTEtMXoiPjwvcGF0aD48L2c+CjxnIGlkPSJibHVyLWxpbmVhciI+PHBhdGggZD0iTTUgMTcuNWMuODMgMCAxLjUtLjY3IDEuNS0xLjVzLS42Ny0xLjUtMS41LTEuNS0xLjUuNjctMS41IDEuNS42NyAxLjUgMS41IDEuNXpNOSAxM2MuNTUgMCAxLS40NSAxLTFzLS40NS0xLTEtMS0xIC40NS0xIDEgLjQ1IDEgMSAxem0wLTRjLjU1IDAgMS0uNDUgMS0xcy0uNDUtMS0xLTEtMSAuNDUtMSAxIC40NSAxIDEgMXpNMyAyMWgxOHYtMkgzdjJ6TTUgOS41Yy44MyAwIDEuNS0uNjcgMS41LTEuNVM1LjgzIDYuNSA1IDYuNSAzLjUgNy4xNyAzLjUgOCA0LjE3IDkuNSA1IDkuNXptMCA0Yy44MyAwIDEuNS0uNjcgMS41LTEuNXMtLjY3LTEuNS0xLjUtMS41LTEuNS42Ny0xLjUgMS41LjY3IDEuNSAxLjUgMS41ek05IDE3Yy41NSAwIDEtLjQ1IDEtMXMtLjQ1LTEtMS0xLTEgLjQ1LTEgMSAuNDUgMSAxIDF6bTgtLjVjLjI4IDAgLjUtLjIyLjUtLjVzLS4yMi0uNS0uNS0uNS0uNS4yMi0uNS41LjIyLjUuNS41ek0zIDN2MmgxOFYzSDN6bTE0IDUuNWMuMjggMCAuNS0uMjIuNS0uNXMtLjIyLS41LS41LS41LS41LjIyLS41LjUuMjIuNS41LjV6bTAgNGMuMjggMCAuNS0uMjIuNS0uNXMtLjIyLS41LS41LS41LS41LjIyLS41LjUuMjIuNS41LjV6TTEzIDljLjU1IDAgMS0uNDUgMS0xcy0uNDUtMS0xLTEtMSAuNDUtMSAxIC40NSAxIDEgMXptMCA0Yy41NSAwIDEtLjQ1IDEtMXMtLjQ1LTEtMS0xLTEgLjQ1LTEgMSAuNDUgMSAxIDF6bTAgNGMuNTUgMCAxLS40NSAxLTFzLS40NS0xLTEtMS0xIC40NS0xIDEgLjQ1IDEgMSAxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJsdXItb2ZmIj48cGF0aCBkPSJNMTQgN2MuNTUgMCAxLS40NSAxLTFzLS40NS0xLTEtMS0xIC40NS0xIDEgLjQ1IDEgMSAxem0tLjIgNC40OGwuMi4wMmMuODMgMCAxLjUtLjY3IDEuNS0xLjVzLS42Ny0xLjUtMS41LTEuNS0xLjUuNjctMS41IDEuNWwuMDIuMmMuMDkuNjcuNjEgMS4xOSAxLjI4IDEuMjh6TTE0IDMuNWMuMjggMCAuNS0uMjIuNS0uNXMtLjIyLS41LS41LS41LS41LjIyLS41LjUuMjIuNS41LjV6bS00IDBjLjI4IDAgLjUtLjIyLjUtLjVzLS4yMi0uNS0uNS0uNS0uNS4yMi0uNS41LjIyLjUuNS41em0xMSA3Yy4yOCAwIC41LS4yMi41LS41cy0uMjItLjUtLjUtLjUtLjUuMjItLjUuNS4yMi41LjUuNXpNMTAgN2MuNTUgMCAxLS40NSAxLTFzLS40NS0xLTEtMS0xIC40NS0xIDEgLjQ1IDEgMSAxem04IDhjLjU1IDAgMS0uNDUgMS0xcy0uNDUtMS0xLTEtMSAuNDUtMSAxIC40NSAxIDEgMXptMC00Yy41NSAwIDEtLjQ1IDEtMXMtLjQ1LTEtMS0xLTEgLjQ1LTEgMSAuNDUgMSAxIDF6bTAtNGMuNTUgMCAxLS40NSAxLTFzLS40NS0xLTEtMS0xIC40NS0xIDEgLjQ1IDEgMSAxem0tNCAxMy41Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXpNMi41IDUuMjdsMy43OCAzLjc4TDYgOWMtLjU1IDAtMSAuNDUtMSAxcy40NSAxIDEgMSAxLS40NSAxLTFjMC0uMS0uMDMtLjE5LS4wNi0uMjhsMi44MSAyLjgxYy0uNzEuMTEtMS4yNS43My0xLjI1IDEuNDcgMCAuODMuNjcgMS41IDEuNSAxLjUuNzQgMCAxLjM2LS41NCAxLjQ3LTEuMjVsMi44MSAyLjgxYy0uMDktLjAzLS4xOC0uMDYtLjI4LS4wNi0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMWMwLS4xLS4wMy0uMTktLjA2LS4yOGwzLjc4IDMuNzhMMjAgMjAuMjMgMy43NyA0IDIuNSA1LjI3ek0xMCAxN2MtLjU1IDAtMSAuNDUtMSAxcy40NSAxIDEgMSAxLS40NSAxLTEtLjQ1LTEtMS0xem0xMS0zLjVjLS4yOCAwLS41LjIyLS41LjVzLjIyLjUuNS41LjUtLjIyLjUtLjUtLjIyLS41LS41LS41ek02IDEzYy0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMS0uNDUtMS0xLTF6TTMgOS41Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXptNyAxMWMtLjI4IDAtLjUuMjItLjUuNXMuMjIuNS41LjUuNS0uMjIuNS0uNS0uMjItLjUtLjUtLjV6TTYgMTdjLS41NSAwLTEgLjQ1LTEgMXMuNDUgMSAxIDEgMS0uNDUgMS0xLS40NS0xLTEtMXptLTMtMy41Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJibHVyLW9uIj48cGF0aCBkPSJNNiAxM2MtLjU1IDAtMSAuNDUtMSAxcy40NSAxIDEgMSAxLS40NSAxLTEtLjQ1LTEtMS0xem0wIDRjLS41NSAwLTEgLjQ1LTEgMXMuNDUgMSAxIDEgMS0uNDUgMS0xLS40NS0xLTEtMXptMC04Yy0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMS0uNDUtMS0xLTF6bS0zIC41Yy0uMjggMC0uNS4yMi0uNS41cy4yMi41LjUuNS41LS4yMi41LS41LS4yMi0uNS0uNS0uNXpNNiA1Yy0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMS0uNDUtMS0xLTF6bTE1IDUuNWMuMjggMCAuNS0uMjIuNS0uNXMtLjIyLS41LS41LS41LS41LjIyLS41LjUuMjIuNS41LjV6TTE0IDdjLjU1IDAgMS0uNDUgMS0xcy0uNDUtMS0xLTEtMSAuNDUtMSAxIC40NSAxIDEgMXptMC0zLjVjLjI4IDAgLjUtLjIyLjUtLjVzLS4yMi0uNS0uNS0uNS0uNS4yMi0uNS41LjIyLjUuNS41em0tMTEgMTBjLS4yOCAwLS41LjIyLS41LjVzLjIyLjUuNS41LjUtLjIyLjUtLjUtLjIyLS41LS41LS41em03IDdjLS4yOCAwLS41LjIyLS41LjVzLjIyLjUuNS41LjUtLjIyLjUtLjUtLjIyLS41LS41LS41em0wLTE3Yy4yOCAwIC41LS4yMi41LS41cy0uMjItLjUtLjUtLjUtLjUuMjItLjUuNS4yMi41LjUuNXpNMTAgN2MuNTUgMCAxLS40NSAxLTFzLS40NS0xLTEtMS0xIC40NS0xIDEgLjQ1IDEgMSAxem0wIDUuNWMtLjgzIDAtMS41LjY3LTEuNSAxLjVzLjY3IDEuNSAxLjUgMS41IDEuNS0uNjcgMS41LTEuNS0uNjctMS41LTEuNS0xLjV6bTggLjVjLS41NSAwLTEgLjQ1LTEgMXMuNDUgMSAxIDEgMS0uNDUgMS0xLS40NS0xLTEtMXptMCA0Yy0uNTUgMC0xIC40NS0xIDFzLjQ1IDEgMSAxIDEtLjQ1IDEtMS0uNDUtMS0xLTF6bTAtOGMtLjU1IDAtMSAuNDUtMSAxcy40NSAxIDEgMSAxLS40NSAxLTEtLjQ1LTEtMS0xem0wLTRjLS41NSAwLTEgLjQ1LTEgMXMuNDUgMSAxIDEgMS0uNDUgMS0xLS40NS0xLTEtMXptMyA4LjVjLS4yOCAwLS41LjIyLS41LjVzLjIyLjUuNS41LjUtLjIyLjUtLjUtLjIyLS41LS41LS41ek0xNCAxN2MtLjU1IDAtMSAuNDUtMSAxcy40NSAxIDEgMSAxLS40NSAxLTEtLjQ1LTEtMS0xem0wIDMuNWMtLjI4IDAtLjUuMjItLjUuNXMuMjIuNS41LjUuNS0uMjIuNS0uNS0uMjItLjUtLjUtLjV6bS00LTEyYy0uODMgMC0xLjUuNjctMS41IDEuNXMuNjcgMS41IDEuNSAxLjUgMS41LS42NyAxLjUtMS41LS42Ny0xLjUtMS41LTEuNXptMCA4LjVjLS41NSAwLTEgLjQ1LTEgMXMuNDUgMSAxIDEgMS0uNDUgMS0xLS40NS0xLTEtMXptNC00LjVjLS44MyAwLTEuNS42Ny0xLjUgMS41cy42NyAxLjUgMS41IDEuNSAxLjUtLjY3IDEuNS0xLjUtLjY3LTEuNS0xLjUtMS41em0wLTRjLS44MyAwLTEuNS42Ny0xLjUgMS41cy42NyAxLjUgMS41IDEuNSAxLjUtLjY3IDEuNS0xLjUtLjY3LTEuNS0xLjUtMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJyaWdodG5lc3MtMSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPjwvZz4KPGcgaWQ9ImJyaWdodG5lc3MtMiI+PHBhdGggZD0iTTEwIDJjLTEuODIgMC0zLjUzLjUtNSAxLjM1QzcuOTkgNS4wOCAxMCA4LjMgMTAgMTJzLTIuMDEgNi45Mi01IDguNjVDNi40NyAyMS41IDguMTggMjIgMTAgMjJjNS41MiAwIDEwLTQuNDggMTAtMTBTMTUuNTIgMiAxMCAyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJyaWdodG5lc3MtMyI+PHBhdGggZD0iTTkgMmMtMS4wNSAwLTIuMDUuMTYtMyAuNDYgNC4wNiAxLjI3IDcgNS4wNiA3IDkuNTQgMCA0LjQ4LTIuOTQgOC4yNy03IDkuNTQuOTUuMyAxLjk1LjQ2IDMgLjQ2IDUuNTIgMCAxMC00LjQ4IDEwLTEwUzE0LjUyIDIgOSAyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJyaWdodG5lc3MtNCI+PHBhdGggZD0iTTIwIDguNjlWNGgtNC42OUwxMiAuNjkgOC42OSA0SDR2NC42OUwuNjkgMTIgNCAxNS4zMVYyMGg0LjY5TDEyIDIzLjMxIDE1LjMxIDIwSDIwdi00LjY5TDIzLjMxIDEyIDIwIDguNjl6TTEyIDE4Yy0uODkgMC0xLjc0LS4yLTIuNS0uNTVDMTEuNTYgMTYuNSAxMyAxNC40MiAxMyAxMnMtMS40NC00LjUtMy41LTUuNDVDMTAuMjYgNi4yIDExLjExIDYgMTIgNmMzLjMxIDAgNiAyLjY5IDYgNnMtMi42OSA2LTYgNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJicmlnaHRuZXNzLTUiPjxwYXRoIGQ9Ik0yMCAxNS4zMUwyMy4zMSAxMiAyMCA4LjY5VjRoLTQuNjlMMTIgLjY5IDguNjkgNEg0djQuNjlMLjY5IDEyIDQgMTUuMzFWMjBoNC42OUwxMiAyMy4zMSAxNS4zMSAyMEgyMHYtNC42OXpNMTIgMThjLTMuMzEgMC02LTIuNjktNi02czIuNjktNiA2LTYgNiAyLjY5IDYgNi0yLjY5IDYtNiA2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJyaWdodG5lc3MtNiI+PHBhdGggZD0iTTIwIDE1LjMxTDIzLjMxIDEyIDIwIDguNjlWNGgtNC42OUwxMiAuNjkgOC42OSA0SDR2NC42OUwuNjkgMTIgNCAxNS4zMVYyMGg0LjY5TDEyIDIzLjMxIDE1LjMxIDIwSDIwdi00LjY5ek0xMiAxOFY2YzMuMzEgMCA2IDIuNjkgNiA2cy0yLjY5IDYtNiA2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJyaWdodG5lc3MtNyI+PHBhdGggZD0iTTIwIDguNjlWNGgtNC42OUwxMiAuNjkgOC42OSA0SDR2NC42OUwuNjkgMTIgNCAxNS4zMVYyMGg0LjY5TDEyIDIzLjMxIDE1LjMxIDIwSDIwdi00LjY5TDIzLjMxIDEyIDIwIDguNjl6TTEyIDE4Yy0zLjMxIDAtNi0yLjY5LTYtNnMyLjY5LTYgNi02IDYgMi42OSA2IDYtMi42OSA2LTYgNnptMC0xMGMtMi4yMSAwLTQgMS43OS00IDRzMS43OSA0IDQgNCA0LTEuNzkgNC00LTEuNzktNC00LTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYnJva2VuLWltYWdlIj48cGF0aCBkPSJNMjEgNXY2LjU5bC0zLTMuMDEtNCA0LjAxLTQtNC00IDQtMy0zLjAxVjVjMC0xLjEuOS0yIDItMmgxNGMxLjEgMCAyIC45IDIgMnptLTMgNi40MmwzIDMuMDFWMTljMCAxLjEtLjkgMi0yIDJINWMtMS4xIDAtMi0uOS0yLTJ2LTYuNThsMyAyLjk5IDQtNCA0IDQgNC0zLjk5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJydXNoIj48cGF0aCBkPSJNNyAxNGMtMS42NiAwLTMgMS4zNC0zIDMgMCAxLjMxLTEuMTYgMi0yIDIgLjkyIDEuMjIgMi40OSAyIDQgMiAyLjIxIDAgNC0xLjc5IDQtNCAwLTEuNjYtMS4zNC0zLTMtM3ptMTMuNzEtOS4zN2wtMS4zNC0xLjM0Yy0uMzktLjM5LTEuMDItLjM5LTEuNDEgMEw5IDEyLjI1IDExLjc1IDE1bDguOTYtOC45NmMuMzktLjM5LjM5LTEuMDIgMC0xLjQxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJ1cnN0LW1vZGUiPjxwYXRoIGQ9Ik0xIDVoMnYxNEgxem00IDBoMnYxNEg1em0xNyAwSDEwYy0uNTUgMC0xIC40NS0xIDF2MTJjMCAuNTUuNDUgMSAxIDFoMTJjLjU1IDAgMS0uNDUgMS0xVjZjMC0uNTUtLjQ1LTEtMS0xek0xMSAxN2wyLjUtMy4xNUwxNS4yOSAxNmwyLjUtMy4yMkwyMSAxN0gxMXoiPjwvcGF0aD48L2c+CjxnIGlkPSJjYW1lcmEiPjxwYXRoIGQ9Ik05LjQgMTAuNWw0Ljc3LTguMjZDMTMuNDcgMi4wOSAxMi43NSAyIDEyIDJjLTIuNCAwLTQuNi44NS02LjMyIDIuMjVsMy42NiA2LjM1LjA2LS4xek0yMS41NCA5Yy0uOTItMi45Mi0zLjE1LTUuMjYtNi02LjM0TDExLjg4IDloOS42NnptLjI2IDFoLTcuNDlsLjI5LjUgNC43NiA4LjI1QzIxIDE2Ljk3IDIyIDE0LjYxIDIyIDEyYzAtLjY5LS4wNy0xLjM1LS4yLTJ6TTguNTQgMTJsLTMuOS02Ljc1QzMuMDEgNy4wMyAyIDkuMzkgMiAxMmMwIC42OS4wNyAxLjM1LjIgMmg3LjQ5bC0xLjE1LTJ6bS02LjA4IDNjLjkyIDIuOTIgMy4xNSA1LjI2IDYgNi4zNEwxMi4xMiAxNUgyLjQ2em0xMS4yNyAwbC0zLjkgNi43NmMuNy4xNSAxLjQyLjI0IDIuMTcuMjQgMi40IDAgNC42LS44NSA2LjMyLTIuMjVsLTMuNjYtNi4zNS0uOTMgMS42eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNhbWVyYS1hbHQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMuMiI+PC9jaXJjbGU+PHBhdGggZD0iTTkgMkw3LjE3IDRINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yaC0zLjE3TDE1IDJIOXptMyAxNWMtMi43NiAwLTUtMi4yNC01LTVzMi4yNC01IDUtNSA1IDIuMjQgNSA1LTIuMjQgNS01IDV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2FtZXJhLWZyb250Ij48cGF0aCBkPSJNMTAgMjBINXYyaDV2MmwzLTMtMy0zdjJ6bTQgMHYyaDV2LTJoLTV6TTEyIDhjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0yLTEuOTkuOS0xLjk5IDJTMTAuOSA4IDEyIDh6bTUtOEg3QzUuOSAwIDUgLjkgNSAydjE0YzAgMS4xLjkgMiAyIDJoMTBjMS4xIDAgMi0uOSAyLTJWMmMwLTEuMS0uOS0yLTItMnpNNyAyaDEwdjEwLjVjMC0xLjY3LTMuMzMtMi41LTUtMi41cy01IC44My01IDIuNVYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNhbWVyYS1yZWFyIj48cGF0aCBkPSJNMTAgMjBINXYyaDV2MmwzLTMtMy0zdjJ6bTQgMHYyaDV2LTJoLTV6bTMtMjBIN0M1LjkgMCA1IC45IDUgMnYxNGMwIDEuMS45IDIgMiAyaDEwYzEuMSAwIDItLjkgMi0yVjJjMC0xLjEtLjktMi0yLTJ6bS01IDZjLTEuMTEgMC0yLS45LTItMnMuODktMiAxLjk5LTIgMiAuOSAyIDJDMTQgNS4xIDEzLjEgNiAxMiA2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNhbWVyYS1yb2xsIj48cGF0aCBkPSJNMTQgNWMwLTEuMS0uOS0yLTItMmgtMVYyYzAtLjU1LS40NS0xLTEtMUg2Yy0uNTUgMC0xIC40NS0xIDF2MUg0Yy0xLjEgMC0yIC45LTIgMnYxNWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJoOFY1aC04em0tMiAxM2gtMnYtMmgydjJ6bTAtOWgtMlY3aDJ2MnptNCA5aC0ydi0yaDJ2MnptMC05aC0yVjdoMnYyem00IDloLTJ2LTJoMnYyem0wLTloLTJWN2gydjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2VudGVyLWZvY3VzLXN0cm9uZyI+PHBhdGggZD0iTTEyIDhjLTIuMjEgMC00IDEuNzktNCA0czEuNzkgNCA0IDQgNC0xLjc5IDQtNC0xLjc5LTQtNC00em0tNyA3SDN2NGMwIDEuMS45IDIgMiAyaDR2LTJINXYtNHpNNSA1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnY0aDJWNXptMTQtMmgtNHYyaDR2NGgyVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2VudGVyLWZvY3VzLXdlYWsiPjxwYXRoIGQ9Ik01IDE1SDN2NGMwIDEuMS45IDIgMiAyaDR2LTJINXYtNHpNNSA1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnY0aDJWNXptMTQtMmgtNHYyaDR2NGgyVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6TTEyIDhjLTIuMjEgMC00IDEuNzktNCA0czEuNzkgNCA0IDQgNC0xLjc5IDQtNC0xLjc5LTQtNC00em0wIDZjLTEuMSAwLTItLjktMi0ycy45LTIgMi0yIDIgLjkgMiAyLS45IDItMiAyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNvbGxlY3Rpb25zIj48cGF0aCBkPSJNMjIgMTZWNGMwLTEuMS0uOS0yLTItMkg4Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yem0tMTEtNGwyLjAzIDIuNzFMMTYgMTFsNCA1SDhsMy00ek0yIDZ2MTRjMCAxLjEuOSAyIDIgMmgxNHYtMkg0VjZIMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJjb2xsZWN0aW9ucy1ib29rbWFyayI+PHBhdGggZD0iTTQgNkgydjE0YzAgMS4xLjkgMiAyIDJoMTR2LTJINFY2em0xNi00SDhjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnptMCAxMGwtMi41LTEuNUwxNSAxMlY0aDV2OHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjb2xvci1sZW5zIj48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNvbG9yaXplIj48cGF0aCBkPSJNMjAuNzEgNS42M2wtMi4zNC0yLjM0Yy0uMzktLjM5LTEuMDItLjM5LTEuNDEgMGwtMy4xMiAzLjEyLTEuOTMtMS45MS0xLjQxIDEuNDEgMS40MiAxLjQyTDMgMTYuMjVWMjFoNC43NWw4LjkyLTguOTIgMS40MiAxLjQyIDEuNDEtMS40MS0xLjkyLTEuOTIgMy4xMi0zLjEyYy40LS40LjQtMS4wMy4wMS0xLjQyek02LjkyIDE5TDUgMTcuMDhsOC4wNi04LjA2IDEuOTIgMS45Mkw2LjkyIDE5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNvbXBhcmUiPjxwYXRoIGQ9Ik0xMCAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoNXYyaDJWMWgtMnYyem0wIDE1SDVsNS02djZ6bTktMTVoLTV2Mmg1djEzbC01LTZ2OWg1YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY29udHJvbC1wb2ludCI+PHBhdGggZD0iTTEzIDdoLTJ2NEg3djJoNHY0aDJ2LTRoNHYtMmgtNFY3em0tMS01QzYuNDkgMiAyIDYuNDkgMiAxMnM0LjQ5IDEwIDEwIDEwIDEwLTQuNDkgMTAtMTBTMTcuNTEgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjb250cm9sLXBvaW50LWR1cGxpY2F0ZSI+PHBhdGggZD0iTTE2IDhoLTJ2M2gtM3YyaDN2M2gydi0zaDN2LTJoLTN6TTIgMTJjMC0yLjc5IDEuNjQtNS4yIDQuMDEtNi4zMlYzLjUyQzIuNTIgNC43NiAwIDguMDkgMCAxMnMyLjUyIDcuMjQgNi4wMSA4LjQ4di0yLjE2QzMuNjQgMTcuMiAyIDE0Ljc5IDIgMTJ6bTEzLTljLTQuOTYgMC05IDQuMDQtOSA5czQuMDQgOSA5IDkgOS00LjA0IDktOS00LjA0LTktOS05em0wIDE2Yy0zLjg2IDAtNy0zLjE0LTctN3MzLjE0LTcgNy03IDcgMy4xNCA3IDctMy4xNCA3LTcgN3oiPjwvcGF0aD48L2c+CjxnIGlkPSJjcm9wIj48cGF0aCBkPSJNMTcgMTVoMlY3YzAtMS4xLS45LTItMi0ySDl2Mmg4djh6TTcgMTdWMUg1djRIMXYyaDR2MTBjMCAxLjEuOSAyIDIgMmgxMHY0aDJ2LTRoNHYtMkg3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNyb3AtMTYtOSI+PHBhdGggZD0iTTE5IDZINWMtMS4xIDAtMiAuOS0yIDJ2OGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bTAgMTBINVY4aDE0djh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC0zLTIiPjxwYXRoIGQ9Ik0xOSA0SDVjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptMCAxNEg1VjZoMTR2MTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC01LTQiPjxwYXRoIGQ9Ik0xOSA1SDVjLTEuMSAwLTIgLjktMiAydjEwYzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWN2MwLTEuMS0uOS0yLTItMnptMCAxMkg1VjdoMTR2MTB6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC03LTUiPjxwYXRoIGQ9Ik0xOSA3SDVjLTEuMSAwLTIgLjktMiAydjZjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY5YzAtMS4xLS45LTItMi0yem0wIDhINVY5aDE0djZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC1kaW4iPjxwYXRoIGQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNkg1VjVoMTR2MTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC1mcmVlIj48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNyb3AtbGFuZHNjYXBlIj48cGF0aCBkPSJNMTkgNUg1Yy0xLjEgMC0yIC45LTIgMnYxMGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdjMC0xLjEtLjktMi0yLTJ6bTAgMTJINVY3aDE0djEweiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNyb3Atb3JpZ2luYWwiPjxwYXRoIGQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNkg1VjVoMTR2MTR6bS01LjA0LTYuNzFsLTIuNzUgMy41NC0xLjk2LTIuMzZMNi41IDE3aDExbC0zLjU0LTQuNzF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC1wb3J0cmFpdCI+PHBhdGggZD0iTTE3IDNIN2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxMGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDdWNWgxMHYxNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjcm9wLXJvdGF0ZSI+PHBhdGggZD0iTTcuNDcgMjEuNDlDNC4yIDE5LjkzIDEuODYgMTYuNzYgMS41IDEzSDBjLjUxIDYuMTYgNS42NiAxMSAxMS45NSAxMSAuMjMgMCAuNDQtLjAyLjY2LS4wM0w4LjggMjAuMTVsLTEuMzMgMS4zNHpNMTIuMDUgMGMtLjIzIDAtLjQ0LjAyLS42Ni4wNGwzLjgxIDMuODEgMS4zMy0xLjMzQzE5LjggNC4wNyAyMi4xNCA3LjI0IDIyLjUgMTFIMjRjLS41MS02LjE2LTUuNjYtMTEtMTEuOTUtMTF6TTE2IDE0aDJWOGMwLTEuMTEtLjktMi0yLTJoLTZ2Mmg2djZ6bS04IDJWNEg2djJINHYyaDJ2OGMwIDEuMS44OSAyIDIgMmg4djJoMnYtMmgydi0ySDh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JvcC1zcXVhcmUiPjxwYXRoIGQ9Ik0xOCA0SDZjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptMCAxNEg2VjZoMTJ2MTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZGVoYXplIj48cGF0aCBkPSJNMiAxNS41djJoMjB2LTJIMnptMC01djJoMjB2LTJIMnptMC01djJoMjB2LTJIMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJkZXRhaWxzIj48cGF0aCBkPSJNMyA0bDkgMTYgOS0xNkgzem0zLjM4IDJoMTEuMjVMMTIgMTYgNi4zOCA2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImVkaXQiPjxwYXRoIGQ9Ik0zIDE3LjI1VjIxaDMuNzVMMTcuODEgOS45NGwtMy43NS0zLjc1TDMgMTcuMjV6TTIwLjcxIDcuMDRjLjM5LS4zOS4zOS0xLjAyIDAtMS40MWwtMi4zNC0yLjM0Yy0uMzktLjM5LTEuMDItLjM5LTEuNDEgMGwtMS44MyAxLjgzIDMuNzUgMy43NSAxLjgzLTEuODN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXhwb3N1cmUiPjxwYXRoIGQ9Ik0xNSAxN3YyaDJ2LTJoMnYtMmgtMnYtMmgtMnYyaC0ydjJoMnptNS0xNUg0Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6TTUgNWg2djJINVY1em0xNSAxNUg0TDIwIDR2MTZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXhwb3N1cmUtbmVnLTEiPjxwYXRoIGQ9Ik00IDExdjJoOHYtMkg0em0xNSA3aC0yVjcuMzhMMTQgOC40VjYuN0wxOC43IDVoLjN2MTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXhwb3N1cmUtbmVnLTIiPjxwYXRoIGQ9Ik0xNS4wNSAxNi4yOWwyLjg2LTMuMDdjLjM4LS4zOS43Mi0uNzkgMS4wNC0xLjE4LjMyLS4zOS41OS0uNzguODItMS4xNy4yMy0uMzkuNDEtLjc4LjU0LTEuMTdzLjE5LS43OS4xOS0xLjE4YzAtLjUzLS4wOS0xLjAyLS4yNy0xLjQ2LS4xOC0uNDQtLjQ0LS44MS0uNzgtMS4xMS0uMzQtLjMxLS43Ny0uNTQtMS4yNi0uNzEtLjUxLS4xNi0xLjA4LS4yNC0xLjcyLS4yNC0uNjkgMC0xLjMxLjExLTEuODUuMzItLjU0LjIxLTEgLjUxLTEuMzYuODgtLjM3LjM3LS42NS44LS44NCAxLjMtLjE4LjQ3LS4yNy45Ny0uMjggMS41aDIuMTRjLjAxLS4zMS4wNS0uNi4xMy0uODcuMDktLjI5LjIzLS41NC40LS43NS4xOC0uMjEuNDEtLjM3LjY4LS40OS4yNy0uMTIuNi0uMTguOTYtLjE4LjMxIDAgLjU4LjA1LjgxLjE1LjIzLjEuNDMuMjUuNTkuNDMuMTYuMTguMjguNC4zNy42NS4wOC4yNS4xMy41Mi4xMy44MSAwIC4yMi0uMDMuNDMtLjA4LjY1LS4wNi4yMi0uMTUuNDUtLjI5LjctLjE0LjI1LS4zMi41My0uNTYuODMtLjIzLjMtLjUyLjY1LS44OCAxLjAzbC00LjE3IDQuNTVWMThIMjF2LTEuNzFoLTUuOTV6TTIgMTF2Mmg4di0ySDJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXhwb3N1cmUtcGx1cy0xIj48cGF0aCBkPSJNMTAgN0g4djRINHYyaDR2NGgydi00aDR2LTJoLTRWN3ptMTAgMTFoLTJWNy4zOEwxNSA4LjRWNi43TDE5LjcgNWguM3YxM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJleHBvc3VyZS1wbHVzLTIiPjxwYXRoIGQ9Ik0xNi4wNSAxNi4yOWwyLjg2LTMuMDdjLjM4LS4zOS43Mi0uNzkgMS4wNC0xLjE4LjMyLS4zOS41OS0uNzguODItMS4xNy4yMy0uMzkuNDEtLjc4LjU0LTEuMTcuMTMtLjM5LjE5LS43OS4xOS0xLjE4IDAtLjUzLS4wOS0xLjAyLS4yNy0xLjQ2LS4xOC0uNDQtLjQ0LS44MS0uNzgtMS4xMS0uMzQtLjMxLS43Ny0uNTQtMS4yNi0uNzEtLjUxLS4xNi0xLjA4LS4yNC0xLjcyLS4yNC0uNjkgMC0xLjMxLjExLTEuODUuMzItLjU0LjIxLTEgLjUxLTEuMzYuODgtLjM3LjM3LS42NS44LS44NCAxLjMtLjE4LjQ3LS4yNy45Ny0uMjggMS41aDIuMTRjLjAxLS4zMS4wNS0uNi4xMy0uODcuMDktLjI5LjIzLS41NC40LS43NS4xOC0uMjEuNDEtLjM3LjY4LS40OS4yNy0uMTIuNi0uMTguOTYtLjE4LjMxIDAgLjU4LjA1LjgxLjE1LjIzLjEuNDMuMjUuNTkuNDMuMTYuMTguMjguNC4zNy42NS4wOC4yNS4xMy41Mi4xMy44MSAwIC4yMi0uMDMuNDMtLjA4LjY1LS4wNi4yMi0uMTUuNDUtLjI5LjctLjE0LjI1LS4zMi41My0uNTYuODMtLjIzLjMtLjUyLjY1LS44OCAxLjAzbC00LjE3IDQuNTVWMThIMjJ2LTEuNzFoLTUuOTV6TTggN0g2djRIMnYyaDR2NGgydi00aDR2LTJIOFY3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImV4cG9zdXJlLXplcm8iPjxwYXRoIGQ9Ik0xNi4xNCAxMi41YzAgMS0uMSAxLjg1LS4zIDIuNTUtLjIuNy0uNDggMS4yNy0uODMgMS43LS4zNi40NC0uNzkuNzUtMS4zLjk1LS41MS4yLTEuMDcuMy0xLjcuMy0uNjIgMC0xLjE4LS4xLTEuNjktLjMtLjUxLS4yLS45NS0uNTEtMS4zMS0uOTUtLjM2LS40NC0uNjUtMS4wMS0uODUtMS43LS4yLS43LS4zLTEuNTUtLjMtMi41NXYtMi4wNGMwLTEgLjEtMS44NS4zLTIuNTUuMi0uNy40OC0xLjI2Ljg0LTEuNjkuMzYtLjQzLjgtLjc0IDEuMzEtLjkzQzEwLjgxIDUuMSAxMS4zOCA1IDEyIDVjLjYzIDAgMS4xOS4xIDEuNy4yOS41MS4xOS45NS41IDEuMzEuOTMuMzYuNDMuNjQuOTkuODQgMS42OS4yLjcuMyAxLjU0LjMgMi41NXYyLjA0em0tMi4xMS0yLjM2YzAtLjY0LS4wNS0xLjE4LS4xMy0xLjYyLS4wOS0uNDQtLjIyLS43OS0uNC0xLjA2LS4xNy0uMjctLjM5LS40Ni0uNjQtLjU4LS4yNS0uMTMtLjU0LS4xOS0uODYtLjE5LS4zMiAwLS42MS4wNi0uODYuMThzLS40Ny4zMS0uNjQuNThjLS4xNy4yNy0uMzEuNjItLjQgMS4wNnMtLjEzLjk4LS4xMyAxLjYydjIuNjdjMCAuNjQuMDUgMS4xOC4xNCAxLjYyLjA5LjQ1LjIzLjgxLjQgMS4wOXMuMzkuNDguNjQuNjEuNTQuMTkuODcuMTljLjMzIDAgLjYyLS4wNi44Ny0uMTlzLjQ2LS4zMy42My0uNjFjLjE3LS4yOC4zLS42NC4zOS0xLjA5LjA5LS40NS4xMy0uOTkuMTMtMS42MnYtMi42NnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXIiPjxwYXRoIGQ9Ik0xNS45NiAxMC4yOWwtMi43NSAzLjU0LTEuOTYtMi4zNkw4LjUgMTVoMTFsLTMuNTQtNC43MXpNMyA1SDF2MTZjMCAxLjEuOSAyIDIgMmgxNnYtMkgzVjV6bTE4LTRIN2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlYzYzAtMS4xLS45LTItMi0yem0wIDE2SDdWM2gxNHYxNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItMSI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xMSAxMGgyVjVoLTR2Mmgydjh6bTctMTRIN2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlYzYzAtMS4xLS45LTItMi0yem0wIDE2SDdWM2gxNHYxNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItMiI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xOC00SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6bS00LTRoLTR2LTJoMmMxLjEgMCAyLS44OSAyLTJWN2MwLTEuMTEtLjktMi0yLTJoLTR2Mmg0djJoLTJjLTEuMSAwLTIgLjg5LTIgMnY0aDZ2LTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLTMiPjxwYXRoIGQ9Ik0yMSAxSDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6TTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xNCA4di0xLjVjMC0uODMtLjY3LTEuNS0xLjUtMS41LjgzIDAgMS41LS42NyAxLjUtMS41VjdjMC0xLjExLS45LTItMi0yaC00djJoNHYyaC0ydjJoMnYyaC00djJoNGMxLjEgMCAyLS44OSAyLTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLTQiPjxwYXRoIGQ9Ik0zIDVIMXYxNmMwIDEuMS45IDIgMiAyaDE2di0ySDNWNXptMTIgMTBoMlY1aC0ydjRoLTJWNWgtMnY2aDR2NHptNi0xNEg3Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjNjMC0xLjEtLjktMi0yLTJ6bTAgMTZIN1YzaDE0djE0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZpbHRlci01Ij48cGF0aCBkPSJNMjEgMUg3Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjNjMC0xLjEtLjktMi0yLTJ6bTAgMTZIN1YzaDE0djE0ek0zIDVIMXYxNmMwIDEuMS45IDIgMiAyaDE2di0ySDNWNXptMTQgOHYtMmMwLTEuMTEtLjktMi0yLTJoLTJWN2g0VjVoLTZ2Nmg0djJoLTR2Mmg0YzEuMSAwIDItLjg5IDItMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItNiI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xOC00SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6bS04LTJoMmMxLjEgMCAyLS44OSAyLTJ2LTJjMC0xLjExLS45LTItMi0yaC0yVjdoNFY1aC00Yy0xLjEgMC0yIC44OS0yIDJ2NmMwIDEuMTEuOSAyIDIgMnptMC00aDJ2MmgtMnYtMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItNyI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xOC00SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6bS04LTJsNC04VjVoLTZ2Mmg0bC00IDhoMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItOCI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xOC00SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6bS04LTJoMmMxLjEgMCAyLS44OSAyLTJ2LTEuNWMwLS44My0uNjctMS41LTEuNS0xLjUuODMgMCAxLjUtLjY3IDEuNS0xLjVWN2MwLTEuMTEtLjktMi0yLTJoLTJjLTEuMSAwLTIgLjg5LTIgMnYxLjVjMCAuODMuNjcgMS41IDEuNSAxLjUtLjgzIDAtMS41LjY3LTEuNSAxLjVWMTNjMCAxLjExLjkgMiAyIDJ6bTAtOGgydjJoLTJWN3ptMCA0aDJ2MmgtMnYtMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItOSI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xOC00SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6TTE1IDVoLTJjLTEuMSAwLTIgLjg5LTIgMnYyYzAgMS4xMS45IDIgMiAyaDJ2MmgtNHYyaDRjMS4xIDAgMi0uODkgMi0yVjdjMC0xLjExLS45LTItMi0yem0wIDRoLTJWN2gydjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLTktcGx1cyI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xMSA3VjhjMC0xLjExLS45LTItMi0yaC0xYy0xLjEgMC0yIC44OS0yIDJ2MWMwIDEuMTEuOSAyIDIgMmgxdjFIOXYyaDNjMS4xIDAgMi0uODkgMi0yem0tMy0zVjhoMXYxaC0xem0xMC04SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCA4aC0yVjdoLTJ2MmgtMnYyaDJ2Mmgydi0yaDJ2Nkg3VjNoMTR2NnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItYi1hbmQtdyI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2bC03LTh2OEg1bDctOFY1aDd2MTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLWNlbnRlci1mb2N1cyI+PHBhdGggZD0iTTUgMTVIM3Y0YzAgMS4xLjkgMiAyIDJoNHYtMkg1di00ek01IDVoNFYzSDVjLTEuMSAwLTIgLjktMiAydjRoMlY1em0xNC0yaC00djJoNHY0aDJWNWMwLTEuMS0uOS0yLTItMnptMCAxNmgtNHYyaDRjMS4xIDAgMi0uOSAyLTJ2LTRoLTJ2NHpNMTIgOWMtMS42NiAwLTMgMS4zNC0zIDNzMS4zNCAzIDMgMyAzLTEuMzQgMy0zLTEuMzQtMy0zLTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLWRyYW1hIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNjEgNS42NCA1LjM2IDguMDQgMi4zNSA4LjM2IDAgMTAuOSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0xOSAxOEg2Yy0yLjIxIDAtNC0xLjc5LTQtNHMxLjc5LTQgNC00IDQgMS43OSA0IDRoMmMwLTIuNzYtMS44Ni01LjA4LTQuNC01Ljc4QzguNjEgNi44OCAxMC4yIDYgMTIgNmMzLjAzIDAgNS41IDIuNDcgNS41IDUuNXYuNUgxOWMxLjY1IDAgMyAxLjM1IDMgM3MtMS4zNSAzLTMgM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItZnJhbWVzIj48cGF0aCBkPSJNMjAgNGgtNGwtNC00LTQgNEg0Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJ6bTAgMTZINFY2aDQuNTJsMy41Mi0zLjVMMTUuNTIgNkgyMHYxNHpNMTggOEg2djEwaDEyIj48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLWhkciI+PHBhdGggZD0iTTE0IDZsLTMuNzUgNSAyLjg1IDMuOC0xLjYgMS4yQzkuODEgMTMuNzUgNyAxMCA3IDEwbC02IDhoMjJMMTQgNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWx0ZXItbm9uZSI+PHBhdGggZD0iTTMgNUgxdjE2YzAgMS4xLjkgMiAyIDJoMTZ2LTJIM1Y1em0xOC00SDdjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMnptMCAxNkg3VjNoMTR2MTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLXRpbHQtc2hpZnQiPjxwYXRoIGQ9Ik0xMSA0LjA3VjIuMDVjLTIuMDEuMi0zLjg0IDEtNS4zMiAyLjIxTDcuMSA1LjY5YzEuMTEtLjg2IDIuNDQtMS40NCAzLjktMS42MnptNy4zMi4xOUMxNi44NCAzLjA1IDE1LjAxIDIuMjUgMTMgMi4wNXYyLjAyYzEuNDYuMTggMi43OS43NiAzLjkgMS42MmwxLjQyLTEuNDN6TTE5LjkzIDExaDIuMDJjLS4yLTIuMDEtMS0zLjg0LTIuMjEtNS4zMkwxOC4zMSA3LjFjLjg2IDEuMTEgMS40NCAyLjQ0IDEuNjIgMy45ek01LjY5IDcuMUw0LjI2IDUuNjhDMy4wNSA3LjE2IDIuMjUgOC45OSAyLjA1IDExaDIuMDJjLjE4LTEuNDYuNzYtMi43OSAxLjYyLTMuOXpNNC4wNyAxM0gyLjA1Yy4yIDIuMDEgMSAzLjg0IDIuMjEgNS4zMmwxLjQzLTEuNDNjLS44Ni0xLjEtMS40NC0yLjQzLTEuNjItMy44OXpNMTUgMTJjMC0xLjY2LTEuMzQtMy0zLTNzLTMgMS4zNC0zIDMgMS4zNCAzIDMgMyAzLTEuMzQgMy0zem0zLjMxIDQuOWwxLjQzIDEuNDNjMS4yMS0xLjQ4IDIuMDEtMy4zMiAyLjIxLTUuMzJoLTIuMDJjLS4xOCAxLjQ1LS43NiAyLjc4LTEuNjIgMy44OXpNMTMgMTkuOTN2Mi4wMmMyLjAxLS4yIDMuODQtMSA1LjMyLTIuMjFsLTEuNDMtMS40M2MtMS4xLjg2LTIuNDMgMS40NC0zLjg5IDEuNjJ6bS03LjMyLS4xOUM3LjE2IDIwLjk1IDkgMjEuNzUgMTEgMjEuOTV2LTIuMDJjLTEuNDYtLjE4LTIuNzktLjc2LTMuOS0xLjYybC0xLjQyIDEuNDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsdGVyLXZpbnRhZ2UiPjxwYXRoIGQ9Ik0xOC43IDEyLjRjLS4yOC0uMTYtLjU3LS4yOS0uODYtLjQuMjktLjExLjU4LS4yNC44Ni0uNCAxLjkyLTEuMTEgMi45OS0zLjEyIDMtNS4xOS0xLjc5LTEuMDMtNC4wNy0xLjExLTYgMC0uMjguMTYtLjU0LjM1LS43OC41NC4wNS0uMzEuMDgtLjYzLjA4LS45NSAwLTIuMjItMS4yMS00LjE1LTMtNS4xOUMxMC4yMSAxLjg1IDkgMy43OCA5IDZjMCAuMzIuMDMuNjQuMDguOTUtLjI0LS4yLS41LS4zOS0uNzgtLjU1LTEuOTItMS4xMS00LjItMS4wMy02IDAgMCAyLjA3IDEuMDcgNC4wOCAzIDUuMTkuMjguMTYuNTcuMjkuODYuNC0uMjkuMTEtLjU4LjI0LS44Ni40LTEuOTIgMS4xMS0yLjk5IDMuMTItMyA1LjE5IDEuNzkgMS4wMyA0LjA3IDEuMTEgNiAwIC4yOC0uMTYuNTQtLjM1Ljc4LS41NC0uMDUuMzItLjA4LjY0LS4wOC45NiAwIDIuMjIgMS4yMSA0LjE1IDMgNS4xOSAxLjc5LTEuMDQgMy0yLjk3IDMtNS4xOSAwLS4zMi0uMDMtLjY0LS4wOC0uOTUuMjQuMi41LjM4Ljc4LjU0IDEuOTIgMS4xMSA0LjIgMS4wMyA2IDAtLjAxLTIuMDctMS4wOC00LjA4LTMtNS4xOXpNMTIgMTZjLTIuMjEgMC00LTEuNzktNC00czEuNzktNCA0LTQgNCAxLjc5IDQgNC0xLjc5IDQtNCA0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZsYXJlIj48cGF0aCBkPSJNNyAxMUgxdjJoNnYtMnptMi4xNy0zLjI0TDcuMDUgNS42NCA1LjY0IDcuMDVsMi4xMiAyLjEyIDEuNDEtMS40MXpNMTMgMWgtMnY2aDJWMXptNS4zNiA2LjA1bC0xLjQxLTEuNDEtMi4xMiAyLjEyIDEuNDEgMS40MSAyLjEyLTIuMTJ6TTE3IDExdjJoNnYtMmgtNnptLTUtMmMtMS42NiAwLTMgMS4zNC0zIDNzMS4zNCAzIDMgMyAzLTEuMzQgMy0zLTEuMzQtMy0zLTN6bTIuODMgNy4yNGwyLjEyIDIuMTIgMS40MS0xLjQxLTIuMTItMi4xMi0xLjQxIDEuNDF6bS05LjE5LjcxbDEuNDEgMS40MSAyLjEyLTIuMTItMS40MS0xLjQxLTIuMTIgMi4xMnpNMTEgMjNoMnYtNmgtMnY2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZsYXNoLWF1dG8iPjxwYXRoIGQ9Ik0zIDJ2MTJoM3Y5bDctMTJIOWw0LTlIM3ptMTYgMGgtMmwtMy4yIDloMS45bC43LTJoMy4ybC43IDJoMS45TDE5IDJ6bS0yLjE1IDUuNjVMMTggNGwxLjE1IDMuNjVoLTIuM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJmbGFzaC1vZmYiPjxwYXRoIGQ9Ik0zLjI3IDNMMiA0LjI3bDUgNVYxM2gzdjlsMy41OC02LjE0TDE3LjczIDIwIDE5IDE4LjczIDMuMjcgM3pNMTcgMTBoLTRsNC04SDd2Mi4xOGw4LjQ2IDguNDZMMTcgMTB6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmxhc2gtb24iPjxwYXRoIGQ9Ik03IDJ2MTFoM3Y5bDctMTJoLTRsNC04eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZsaXAiPjxwYXRoIGQ9Ik0xNSAyMWgydi0yaC0ydjJ6bTQtMTJoMlY3aC0ydjJ6TTMgNXYxNGMwIDEuMS45IDIgMiAyaDR2LTJINVY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMTYtMnYyaDJjMC0xLjEtLjktMi0yLTJ6bS04IDIwaDJWMWgtMnYyMnptOC02aDJ2LTJoLTJ2MnpNMTUgNWgyVjNoLTJ2MnptNCA4aDJ2LTJoLTJ2MnptMCA4YzEuMSAwIDItLjkgMi0yaC0ydjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZ3JhZGllbnQiPjxwYXRoIGQ9Ik0xMSA5aDJ2MmgtMnptLTIgMmgydjJIOXptNCAwaDJ2MmgtMnptMi0yaDJ2MmgtMnpNNyA5aDJ2Mkg3em0xMi02SDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnpNOSAxOEg3di0yaDJ2MnptNCAwaC0ydi0yaDJ2MnptNCAwaC0ydi0yaDJ2MnptMi03aC0ydjJoMnYyaC0ydi0yaC0ydjJoLTJ2LTJoLTJ2Mkg5di0ySDd2Mkg1di0yaDJ2LTJINVY1aDE0djZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZ3JhaW4iPjxwYXRoIGQ9Ik0xMCAxMmMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6TTYgOGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bTAgOGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bTEyLThjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0yLTIgLjktMiAyIC45IDIgMiAyem0tNCA4Yy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptNC00Yy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptLTQtNGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bS00LTRjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImdyaWQtb2ZmIj48cGF0aCBkPSJNOCA0djEuNDVsMiAyVjRoNHY0aC0zLjQ1bDIgMkgxNHYxLjQ1bDIgMlYxMGg0djRoLTMuNDVsMiAySDIwdjEuNDVsMiAyVjRjMC0xLjEtLjktMi0yLTJINC41NWwyIDJIOHptOCAwaDR2NGgtNFY0ek0xLjI3IDEuMjdMMCAyLjU1bDIgMlYyMGMwIDEuMS45IDIgMiAyaDE1LjQ2bDIgMiAxLjI3LTEuMjdMMS4yNyAxLjI3ek0xMCAxMi41NUwxMS40NSAxNEgxMHYtMS40NXptLTYtNkw1LjQ1IDhINFY2LjU1ek04IDIwSDR2LTRoNHY0em0wLTZINHYtNGgzLjQ1bC41NS41NVYxNHptNiA2aC00di00aDMuNDVsLjU1LjU0VjIwem0yIDB2LTEuNDZMMTcuNDYgMjBIMTZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZ3JpZC1vbiI+PHBhdGggZD0iTTIwIDJINGMtMS4xIDAtMiAuOS0yIDJ2MTZjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0yek04IDIwSDR2LTRoNHY0em0wLTZINHYtNGg0djR6bTAtNkg0VjRoNHY0em02IDEyaC00di00aDR2NHptMC02aC00di00aDR2NHptMC02aC00VjRoNHY0em02IDEyaC00di00aDR2NHptMC02aC00di00aDR2NHptMC02aC00VjRoNHY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imhkci1vZmYiPjxwYXRoIGQ9Ik0xNy41IDE1di0yaDEuMWwuOSAySDIxbC0uOS0yLjFjLjUtLjIuOS0uOC45LTEuNHYtMWMwLS44LS43LTEuNS0xLjUtMS41SDE2djQuOWwxLjEgMS4xaC40em0wLTQuNWgydjFoLTJ2LTF6bS00LjUgMHYuNGwxLjUgMS41di0xLjljMC0uOC0uNy0xLjUtMS41LTEuNWgtMS45bDEuNSAxLjVoLjR6bS0zLjUtMWwtNy03LTEuMSAxTDYuOSA5aC0uNHYyaC0yVjlIM3Y2aDEuNXYtMi41aDJWMTVIOHYtNC45bDEuNSAxLjVWMTVoMy40bDcuNiA3LjYgMS4xLTEuMS0xMi4xLTEyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imhkci1vbiI+PHBhdGggZD0iTTIxIDExLjV2LTFjMC0uOC0uNy0xLjUtMS41LTEuNUgxNnY2aDEuNXYtMmgxLjFsLjkgMkgyMWwtLjktMi4xYy41LS4zLjktLjguOS0xLjR6bS0xLjUgMGgtMnYtMWgydjF6bS0xMy0uNWgtMlY5SDN2NmgxLjV2LTIuNWgyVjE1SDhWOUg2LjV2MnpNMTMgOUg5LjV2NkgxM2MuOCAwIDEuNS0uNyAxLjUtMS41di0zYzAtLjgtLjctMS41LTEuNS0xLjV6bTAgNC41aC0ydi0zaDJ2M3oiPjwvcGF0aD48L2c+CjxnIGlkPSJoZHItc3Ryb25nIj48cGF0aCBkPSJNMTcgNmMtMy4zMSAwLTYgMi42OS02IDZzMi42OSA2IDYgNiA2LTIuNjkgNi02LTIuNjktNi02LTZ6TTUgOGMtMi4yMSAwLTQgMS43OS00IDRzMS43OSA0IDQgNCA0LTEuNzkgNC00LTEuNzktNC00LTR6bTAgNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaGRyLXdlYWsiPjxwYXRoIGQ9Ik01IDhjLTIuMjEgMC00IDEuNzktNCA0czEuNzkgNCA0IDQgNC0xLjc5IDQtNC0xLjc5LTQtNC00em0xMi0yYy0zLjMxIDAtNiAyLjY5LTYgNnMyLjY5IDYgNiA2IDYtMi42OSA2LTYtMi42OS02LTYtNnptMCAxMGMtMi4yMSAwLTQtMS43OS00LTRzMS43OS00IDQtNCA0IDEuNzkgNCA0LTEuNzkgNC00IDR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaGVhbGluZyI+PHBhdGggZD0iTTE3LjczIDEyLjAybDMuOTgtMy45OGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC00LjM0LTQuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0zLjk4IDMuOThMOCAyLjI5QzcuOCAyLjEgNy41NSAyIDcuMjkgMmMtLjI1IDAtLjUxLjEtLjcuMjlMMi4yNSA2LjYzYy0uMzkuMzktLjM5IDEuMDIgMCAxLjQxbDMuOTggMy45OEwyLjI1IDE2Yy0uMzkuMzktLjM5IDEuMDIgMCAxLjQxbDQuMzQgNC4zNGMuMzkuMzkgMS4wMi4zOSAxLjQxIDBsMy45OC0zLjk4IDMuOTggMy45OGMuMi4yLjQ1LjI5LjcxLjI5LjI2IDAgLjUxLS4xLjcxLS4yOWw0LjM0LTQuMzRjLjM5LS4zOS4zOS0xLjAyIDAtMS40MWwtMy45OS0zLjk4ek0xMiA5Yy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bS00LjcxIDEuOTZMMy42NiA3LjM0bDMuNjMtMy42MyAzLjYyIDMuNjItMy42MiAzLjYzek0xMCAxM2MtLjU1IDAtMS0uNDUtMS0xcy40NS0xIDEtMSAxIC40NSAxIDEtLjQ1IDEtMSAxem0yIDJjLS41NSAwLTEtLjQ1LTEtMXMuNDUtMSAxLTEgMSAuNDUgMSAxLS40NSAxLTEgMXptMi00Yy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bTIuNjYgOS4zNGwtMy42My0zLjYyIDMuNjMtMy42MyAzLjYyIDMuNjItMy42MiAzLjYzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImltYWdlIj48cGF0aCBkPSJNMjEgMTlWNWMwLTEuMS0uOS0yLTItMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yek04LjUgMTMuNWwyLjUgMy4wMUwxNC41IDEybDQuNSA2SDVsMy41LTQuNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJpbWFnZS1hc3BlY3QtcmF0aW8iPjxwYXRoIGQ9Ik0xNiAxMGgtMnYyaDJ2LTJ6bTAgNGgtMnYyaDJ2LTJ6bS04LTRINnYyaDJ2LTJ6bTQgMGgtMnYyaDJ2LTJ6bTgtNkg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJ6bTAgMTRINFY2aDE2djEyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImlzbyI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yek01LjUgNy41aDJ2LTJIOXYyaDJWOUg5djJINy41VjloLTJWNy41ek0xOSAxOUg1TDE5IDV2MTR6bS0yLTJ2LTEuNWgtNVYxN2g1eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxhbmRzY2FwZSI+PHBhdGggZD0iTTE0IDZsLTMuNzUgNSAyLjg1IDMuOC0xLjYgMS4yQzkuODEgMTMuNzUgNyAxMCA3IDEwbC02IDhoMjJMMTQgNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJsZWFrLWFkZCI+PHBhdGggZD0iTTYgM0gzdjNjMS42NiAwIDMtMS4zNCAzLTN6bTggMGgtMmMwIDQuOTctNC4wMyA5LTkgOXYyYzYuMDggMCAxMS00LjkzIDExLTExem0tNCAwSDhjMCAyLjc2LTIuMjQgNS01IDV2MmMzLjg3IDAgNy0zLjEzIDctN3ptMCAxOGgyYzAtNC45NyA0LjAzLTkgOS05di0yYy02LjA3IDAtMTEgNC45My0xMSAxMXptOCAwaDN2LTNjLTEuNjYgMC0zIDEuMzQtMyAzem0tNCAwaDJjMC0yLjc2IDIuMjQtNSA1LTV2LTJjLTMuODcgMC03IDMuMTMtNyA3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxlYWstcmVtb3ZlIj48cGF0aCBkPSJNMTAgM0g4YzAgLjM3LS4wNC43Mi0uMTIgMS4wNmwxLjU5IDEuNTlDOS44MSA0Ljg0IDEwIDMuOTQgMTAgM3pNMyA0LjI3bDIuODQgMi44NEM1LjAzIDcuNjcgNC4wNiA4IDMgOHYyYzEuNjEgMCAzLjA5LS41NSA0LjI3LTEuNDZMOC43IDkuOTdDNy4xNCAxMS4yNCA1LjE2IDEyIDMgMTJ2MmMyLjcxIDAgNS4xOS0uOTkgNy4xMS0yLjYybDIuNSAyLjVDMTAuOTkgMTUuODEgMTAgMTguMjkgMTAgMjFoMmMwLTIuMTYuNzYtNC4xNCAyLjAzLTUuNjlsMS40MyAxLjQzQzE0LjU1IDE3LjkxIDE0IDE5LjM5IDE0IDIxaDJjMC0xLjA2LjMzLTIuMDMuODktMi44NEwxOS43MyAyMSAyMSAxOS43MyA0LjI3IDMgMyA0LjI3ek0xNCAzaC0yYzAgMS41LS4zNyAyLjkxLTEuMDIgNC4xNmwxLjQ2IDEuNDZDMTMuNDIgNi45OCAxNCA1LjA2IDE0IDN6bTUuOTQgMTMuMTJjLjM0LS4wOC42OS0uMTIgMS4wNi0uMTJ2LTJjLS45NCAwLTEuODQuMTktMi42Ni41MmwxLjYgMS42em0tNC41Ni00LjU2bDEuNDYgMS40NkMxOC4wOSAxMi4zNyAxOS41IDEyIDIxIDEydi0yYy0yLjA2IDAtMy45OC41OC01LjYyIDEuNTZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibGVucyI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibGlua2VkLWNhbWVyYSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxNCIgcj0iMy4yIj48L2NpcmNsZT48cGF0aCBkPSJNMTYgMy4zM2MyLjU4IDAgNC42NyAyLjA5IDQuNjcgNC42N0gyMmMwLTMuMzEtMi42OS02LTYtNnYxLjMzTTE2IDZjMS4xMSAwIDIgLjg5IDIgMmgxLjMzYzAtMS44NC0xLjQ5LTMuMzMtMy4zMy0zLjMzVjYiPjwvcGF0aD48cGF0aCBkPSJNMTcgOWMwLTEuMTEtLjg5LTItMi0yVjRIOUw3LjE3IDZINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY5aC01em0tNSAxMGMtMi43NiAwLTUtMi4yNC01LTVzMi4yNC01IDUtNSA1IDIuMjQgNSA1LTIuMjQgNS01IDV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibG9va3MiPjxwYXRoIGQ9Ik0xMiAxMGMtMy44NiAwLTcgMy4xNC03IDdoMmMwLTIuNzYgMi4yNC01IDUtNXM1IDIuMjQgNSA1aDJjMC0zLjg2LTMuMTQtNy03LTd6bTAtNEM1LjkzIDYgMSAxMC45MyAxIDE3aDJjMC00Ljk2IDQuMDQtOSA5LTlzOSA0LjA0IDkgOWgyYzAtNi4wNy00LjkzLTExLTExLTExeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imxvb2tzLTMiPjxwYXRoIGQ9Ik0xOS4wMSAzaC0xNGMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNCA3LjVjMCAuODMtLjY3IDEuNS0xLjUgMS41LjgzIDAgMS41LjY3IDEuNSAxLjVWMTVjMCAxLjExLS45IDItMiAyaC00di0yaDR2LTJoLTJ2LTJoMlY5aC00VjdoNGMxLjEgMCAyIC44OSAyIDJ2MS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imxvb2tzLTQiPjxwYXRoIGQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptLTQgMTRoLTJ2LTRIOVY3aDJ2NGgyVjdoMnYxMHoiPjwvcGF0aD48L2c+CjxnIGlkPSJsb29rcy01Ij48cGF0aCBkPSJNMTkgM0g1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS00IDZoLTR2MmgyYzEuMSAwIDIgLjg5IDIgMnYyYzAgMS4xMS0uOSAyLTIgMkg5di0yaDR2LTJIOVY3aDZ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJsb29rcy02Ij48cGF0aCBkPSJNMTEgMTVoMnYtMmgtMnYyem04LTEySDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptLTQgNmgtNHYyaDJjMS4xIDAgMiAuODkgMiAydjJjMCAxLjExLS45IDItMiAyaC0yYy0xLjEgMC0yLS44OS0yLTJWOWMwLTEuMTEuOS0yIDItMmg0djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibG9va3Mtb25lIj48cGF0aCBkPSJNMTkgM0g1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS01IDE0aC0yVjloLTJWN2g0djEweiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imxvb2tzLXR3byI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNCA4YzAgMS4xMS0uOSAyLTIgMmgtMnYyaDR2Mkg5di00YzAtMS4xMS45LTIgMi0yaDJWOUg5VjdoNGMxLjEgMCAyIC44OSAyIDJ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJsb3VwZSI+PHBhdGggZD0iTTEzIDdoLTJ2NEg3djJoNHY0aDJ2LTRoNHYtMmgtNFY3em0tMS01QzYuNDkgMiAyIDYuNDkgMiAxMnM0LjQ5IDEwIDEwIDEwaDhjMS4xIDAgMi0uOSAyLTJ2LThjMC01LjUxLTQuNDktMTAtMTAtMTB6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1vbm9jaHJvbWUtcGhvdG9zIj48cGF0aCBkPSJNMjAgNWgtMy4yTDE1IDNIOUw3LjIgNUg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjdjMC0xLjEtLjktMi0yLTJ6bTAgMTRoLTh2LTFjLTIuOCAwLTUtMi4yLTUtNXMyLjItNSA1LTVWN2g4djEyem0tMy02YzAtMi44LTIuMi01LTUtNXYxLjhjMS44IDAgMy4yIDEuNCAzLjIgMy4ycy0xLjQgMy4yLTMuMiAzLjJWMThjMi44IDAgNS0yLjIgNS01em0tOC4yIDBjMCAxLjggMS40IDMuMiAzLjIgMy4yVjkuOGMtMS44IDAtMy4yIDEuNC0zLjIgMy4yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1vdmllLWNyZWF0aW9uIj48cGF0aCBkPSJNMTggNGwyIDRoLTNsLTItNGgtMmwyIDRoLTNsLTItNEg4bDIgNEg3TDUgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY0aC00eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1vdmllLWZpbHRlciI+PHBhdGggZD0iTTE4IDRsMiAzaC0zbC0yLTNoLTJsMiAzaC0zbC0yLTNIOGwyIDNIN0w1IDRINGMtMS4xIDAtMS45OS45LTEuOTkgMkwyIDE4YzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWNGgtNHptLTYuNzUgMTEuMjVMMTAgMThsLTEuMjUtMi43NUw2IDE0bDIuNzUtMS4yNUwxMCAxMGwxLjI1IDIuNzVMMTQgMTRsLTIuNzUgMS4yNXptNS42OS0zLjMxTDE2IDE0bC0uOTQtMi4wNkwxMyAxMWwyLjA2LS45NEwxNiA4bC45NCAyLjA2TDE5IDExbC0yLjA2Ljk0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im11c2ljLW5vdGUiPjxwYXRoIGQ9Ik0xMiAzdjEwLjU1Yy0uNTktLjM0LTEuMjctLjU1LTItLjU1LTIuMjEgMC00IDEuNzktNCA0czEuNzkgNCA0IDQgNC0xLjc5IDQtNFY3aDRWM2gtNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJuYXR1cmUiPjxwYXRoIGQ9Ik0xMyAxNi4xMmMzLjQ3LS40MSA2LjE3LTMuMzYgNi4xNy02Ljk1IDAtMy44Ny0zLjEzLTctNy03cy03IDMuMTMtNyA3YzAgMy40NyAyLjUyIDYuMzQgNS44MyA2Ljg5VjIwSDV2MmgxNHYtMmgtNnYtMy44OHoiPjwvcGF0aD48L2c+CjxnIGlkPSJuYXR1cmUtcGVvcGxlIj48cGF0aCBkPSJNMjIuMTcgOS4xN2MwLTMuODctMy4xMy03LTctN3MtNyAzLjEzLTcgN2MwIDMuNDcgMi41MiA2LjM0IDUuODMgNi44OVYyMEg2di0zaDF2LTRjMC0uNTUtLjQ1LTEtMS0xSDNjLS41NSAwLTEgLjQ1LTEgMXY0aDF2NWgxNnYtMmgtM3YtMy44OGMzLjQ3LS40MSA2LjE3LTMuMzYgNi4xNy02Ljk1ek00LjUgMTFjLjgzIDAgMS41LS42NyAxLjUtMS41UzUuMzMgOCA0LjUgOCAzIDguNjcgMyA5LjUgMy42NyAxMSA0LjUgMTF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibmF2aWdhdGUtYmVmb3JlIj48cGF0aCBkPSJNMTUuNDEgNy40MUwxNCA2bC02IDYgNiA2IDEuNDEtMS40MUwxMC44MyAxMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJuYXZpZ2F0ZS1uZXh0Ij48cGF0aCBkPSJNMTAgNkw4LjU5IDcuNDEgMTMuMTcgMTJsLTQuNTggNC41OUwxMCAxOGw2LTZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGFsZXR0ZSI+PHBhdGggZD0iTTEyIDNjLTQuOTcgMC05IDQuMDMtOSA5czQuMDMgOSA5IDljLjgzIDAgMS41LS42NyAxLjUtMS41IDAtLjM5LS4xNS0uNzQtLjM5LTEuMDEtLjIzLS4yNi0uMzgtLjYxLS4zOC0uOTkgMC0uODMuNjctMS41IDEuNS0xLjVIMTZjMi43NiAwIDUtMi4yNCA1LTUgMC00LjQyLTQuMDMtOC05LTh6bS01LjUgOWMtLjgzIDAtMS41LS42Ny0xLjUtMS41UzUuNjcgOSA2LjUgOSA4IDkuNjcgOCAxMC41IDcuMzMgMTIgNi41IDEyem0zLTRDOC42NyA4IDggNy4zMyA4IDYuNVM4LjY3IDUgOS41IDVzMS41LjY3IDEuNSAxLjVTMTAuMzMgOCA5LjUgOHptNSAwYy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTMuNjcgNSAxNC41IDVzMS41LjY3IDEuNSAxLjVTMTUuMzMgOCAxNC41IDh6bTMgNGMtLjgzIDAtMS41LS42Ny0xLjUtMS41UzE2LjY3IDkgMTcuNSA5czEuNS42NyAxLjUgMS41LS42NyAxLjUtMS41IDEuNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJwYW5vcmFtYSI+PHBhdGggZD0iTTIzIDE4VjZjMC0xLjEtLjktMi0yLTJIM2MtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMnpNOC41IDEyLjVsMi41IDMuMDFMMTQuNSAxMWw0LjUgNkg1bDMuNS00LjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGFub3JhbWEtZmlzaC1leWUiPjxwYXRoIGQ9Ik0xMiAyQzYuNDcgMiAyIDYuNDcgMiAxMnM0LjQ3IDEwIDEwIDEwIDEwLTQuNDcgMTAtMTBTMTcuNTMgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJwYW5vcmFtYS1ob3Jpem9udGFsIj48cGF0aCBkPSJNMjAgNi41NHYxMC45MWMtMi42LS43Ny01LjI4LTEuMTYtOC0xLjE2LTIuNzIgMC01LjQuMzktOCAxLjE2VjYuNTRjMi42Ljc3IDUuMjggMS4xNiA4IDEuMTYgMi43Mi4wMSA1LjQtLjM4IDgtMS4xNk0yMS40MyA0Yy0uMSAwLS4yLjAyLS4zMS4wNkMxOC4xOCA1LjE2IDE1LjA5IDUuNyAxMiA1LjdjLTMuMDkgMC02LjE4LS41NS05LjEyLTEuNjQtLjExLS4wNC0uMjItLjA2LS4zMS0uMDYtLjM0IDAtLjU3LjIzLS41Ny42M3YxNC43NWMwIC4zOS4yMy42Mi41Ny42Mi4xIDAgLjItLjAyLjMxLS4wNiAyLjk0LTEuMSA2LjAzLTEuNjQgOS4xMi0xLjY0IDMuMDkgMCA2LjE4LjU1IDkuMTIgMS42NC4xMS4wNC4yMS4wNi4zMS4wNi4zMyAwIC41Ny0uMjMuNTctLjYzVjQuNjNjMC0uNC0uMjQtLjYzLS41Ny0uNjN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGFub3JhbWEtdmVydGljYWwiPjxwYXRoIGQ9Ik0xOS45NCAyMS4xMmMtMS4xLTIuOTQtMS42NC02LjAzLTEuNjQtOS4xMiAwLTMuMDkuNTUtNi4xOCAxLjY0LTkuMTIuMDQtLjExLjA2LS4yMi4wNi0uMzEgMC0uMzQtLjIzLS41Ny0uNjMtLjU3SDQuNjNjLS40IDAtLjYzLjIzLS42My41NyAwIC4xLjAyLjIuMDYuMzFDNS4xNiA1LjgyIDUuNzEgOC45MSA1LjcxIDEyYzAgMy4wOS0uNTUgNi4xOC0xLjY0IDkuMTItLjA1LjExLS4wNy4yMi0uMDcuMzEgMCAuMzMuMjMuNTcuNjMuNTdoMTQuNzVjLjM5IDAgLjYzLS4yNC42My0uNTctLjAxLS4xLS4wMy0uMi0uMDctLjMxek02LjU0IDIwYy43Ny0yLjYgMS4xNi01LjI4IDEuMTYtOCAwLTIuNzItLjM5LTUuNC0xLjE2LThoMTAuOTFjLS43NyAyLjYtMS4xNiA1LjI4LTEuMTYgOCAwIDIuNzIuMzkgNS40IDEuMTYgOEg2LjU0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBhbm9yYW1hLXdpZGUtYW5nbGUiPjxwYXRoIGQ9Ik0xMiA2YzIuNDUgMCA0LjcxLjIgNy4yOS42NC40NyAxLjc4LjcxIDMuNTguNzEgNS4zNiAwIDEuNzgtLjI0IDMuNTgtLjcxIDUuMzYtMi41OC40NC00Ljg0LjY0LTcuMjkuNjRzLTQuNzEtLjItNy4yOS0uNjRDNC4yNCAxNS41OCA0IDEzLjc4IDQgMTJjMC0xLjc4LjI0LTMuNTguNzEtNS4zNkM3LjI5IDYuMiA5LjU1IDYgMTIgNm0wLTJjLTIuNzMgMC01LjIyLjI0LTcuOTUuNzJsLS45My4xNi0uMjUuOUMyLjI5IDcuODUgMiA5LjkzIDIgMTJzLjI5IDQuMTUuODcgNi4yMmwuMjUuODkuOTMuMTZjMi43My40OSA1LjIyLjczIDcuOTUuNzNzNS4yMi0uMjQgNy45NS0uNzJsLjkzLS4xNi4yNS0uODljLjU4LTIuMDguODctNC4xNi44Ny02LjIzcy0uMjktNC4xNS0uODctNi4yMmwtLjI1LS44OS0uOTMtLjE2QzE3LjIyIDQuMjQgMTQuNzMgNCAxMiA0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBob3RvIj48cGF0aCBkPSJNMjEgMTlWNWMwLTEuMS0uOS0yLTItMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yek04LjUgMTMuNWwyLjUgMy4wMUwxNC41IDEybDQuNSA2SDVsMy41LTQuNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJwaG90by1hbGJ1bSI+PHBhdGggZD0iTTE4IDJINmMtMS4xIDAtMiAuOS0yIDJ2MTZjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0yek02IDRoNXY4bC0yLjUtMS41TDYgMTJWNHptMCAxNWwzLTMuODYgMi4xNCAyLjU4IDMtMy44NkwxOCAxOUg2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBob3RvLWNhbWVyYSI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMy4yIj48L2NpcmNsZT48cGF0aCBkPSJNOSAyTDcuMTcgNEg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJoLTMuMTdMMTUgMkg5em0zIDE1Yy0yLjc2IDAtNS0yLjI0LTUtNXMyLjI0LTUgNS01IDUgMi4yNCA1IDUtMi4yNCA1LTUgNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJwaG90by1maWx0ZXIiPjxwYXRoIGQ9Ik0xOS4wMiAxMHY5SDVWNWg5VjNINS4wMmMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtOWgtMnpNMTcgMTBsLjk0LTIuMDZMMjAgN2wtMi4wNi0uOTRMMTcgNGwtLjk0IDIuMDZMMTQgN2wyLjA2Ljk0em0tMy43NS43NUwxMiA4bC0xLjI1IDIuNzVMOCAxMmwyLjc1IDEuMjVMMTIgMTZsMS4yNS0yLjc1TDE2IDEyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBob3RvLWxpYnJhcnkiPjxwYXRoIGQ9Ik0yMiAxNlY0YzAtMS4xLS45LTItMi0ySDhjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJ6bS0xMS00bDIuMDMgMi43MUwxNiAxMWw0IDVIOGwzLTR6TTIgNnYxNGMwIDEuMS45IDIgMiAyaDE0di0ySDRWNkgyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBob3RvLXNpemUtc2VsZWN0LWFjdHVhbCI+PHBhdGggZD0iTTIxIDNIM0MyIDMgMSA0IDEgNXYxNGMwIDEuMS45IDIgMiAyaDE4YzEgMCAyLTEgMi0yVjVjMC0xLTEtMi0yLTJ6TTUgMTdsMy41LTQuNSAyLjUgMy4wMUwxNC41IDExbDQuNSA2SDV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGhvdG8tc2l6ZS1zZWxlY3QtbGFyZ2UiPjxwYXRoIGQ9Ik0yMSAxNWgydjJoLTJ2LTJ6bTAtNGgydjJoLTJ2LTJ6bTIgOGgtMnYyYzEgMCAyLTEgMi0yek0xMyAzaDJ2MmgtMlYzem04IDRoMnYyaC0yVjd6bTAtNHYyaDJjMC0xLTEtMi0yLTJ6TTEgN2gydjJIMVY3em0xNi00aDJ2MmgtMlYzem0wIDE2aDJ2MmgtMnYtMnpNMyAzQzIgMyAxIDQgMSA1aDJWM3ptNiAwaDJ2Mkg5VjN6TTUgM2gydjJINVYzem0tNCA4djhjMCAxLjEuOSAyIDIgMmgxMlYxMUgxem0yIDhsMi41LTMuMjEgMS43OSAyLjE1IDIuNS0zLjIyTDEzIDE5SDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGhvdG8tc2l6ZS1zZWxlY3Qtc21hbGwiPjxwYXRoIGQ9Ik0yMyAxNWgtMnYyaDJ2LTJ6bTAtNGgtMnYyaDJ2LTJ6bTAgOGgtMnYyYzEgMCAyLTEgMi0yek0xNSAzaC0ydjJoMlYzem04IDRoLTJ2MmgyVjd6bS0yLTR2MmgyYzAtMS0xLTItMi0yek0zIDIxaDh2LTZIMXY0YzAgMS4xLjkgMiAyIDJ6TTMgN0gxdjJoMlY3em0xMiAxMmgtMnYyaDJ2LTJ6bTQtMTZoLTJ2MmgyVjN6bTAgMTZoLTJ2Mmgydi0yek0zIDNDMiAzIDEgNCAxIDVoMlYzem0wIDhIMXYyaDJ2LTJ6bTgtOEg5djJoMlYzek03IDNINXYyaDJWM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJwaWN0dXJlLWFzLXBkZiI+PHBhdGggZD0iTTIwIDJIOGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlY0YzAtMS4xLS45LTItMi0yem0tOC41IDcuNWMwIC44My0uNjcgMS41LTEuNSAxLjVIOXYySDcuNVY3SDEwYy44MyAwIDEuNS42NyAxLjUgMS41djF6bTUgMmMwIC44My0uNjcgMS41LTEuNSAxLjVoLTIuNVY3SDE1Yy44MyAwIDEuNS42NyAxLjUgMS41djN6bTQtM0gxOXYxaDEuNVYxMUgxOXYyaC0xLjVWN2gzdjEuNXpNOSA5LjVoMXYtMUg5djF6TTQgNkgydjE0YzAgMS4xLjkgMiAyIDJoMTR2LTJINFY2em0xMCA1LjVoMXYtM2gtMXYzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBvcnRyYWl0Ij48cGF0aCBkPSJNMTIgMTIuMjVjMS4yNCAwIDIuMjUtMS4wMSAyLjI1LTIuMjVTMTMuMjQgNy43NSAxMiA3Ljc1IDkuNzUgOC43NiA5Ljc1IDEwczEuMDEgMi4yNSAyLjI1IDIuMjV6bTQuNSA0YzAtMS41LTMtMi4yNS00LjUtMi4yNXMtNC41Ljc1LTQuNSAyLjI1VjE3aDl2LS43NXpNMTkgM0g1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY1aDE0djE0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlbW92ZS1yZWQtZXllIj48cGF0aCBkPSJNMTIgNC41QzcgNC41IDIuNzMgNy42MSAxIDEyYzEuNzMgNC4zOSA2IDcuNSAxMSA3LjVzOS4yNy0zLjExIDExLTcuNWMtMS43My00LjM5LTYtNy41LTExLTcuNXpNMTIgMTdjLTIuNzYgMC01LTIuMjQtNS01czIuMjQtNSA1LTUgNSAyLjI0IDUgNS0yLjI0IDUtNSA1em0wLThjLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDMgMy0xLjM0IDMtMy0xLjM0LTMtMy0zeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJvdGF0ZS05MC1kZWdyZWVzLWNjdyI+PHBhdGggZD0iTTcuMzQgNi40MUwuODYgMTIuOWw2LjQ5IDYuNDggNi40OS02LjQ4LTYuNS02LjQ5ek0zLjY5IDEyLjlsMy42Ni0zLjY2TDExIDEyLjlsLTMuNjYgMy42Ni0zLjY1LTMuNjZ6bTE1LjY3LTYuMjZDMTcuNjEgNC44OCAxNS4zIDQgMTMgNFYuNzZMOC43NiA1IDEzIDkuMjRWNmMxLjc5IDAgMy41OC42OCA0Ljk1IDIuMDUgMi43MyAyLjczIDIuNzMgNy4xNyAwIDkuOUMxNi41OCAxOS4zMiAxNC43OSAyMCAxMyAyMGMtLjk3IDAtMS45NC0uMjEtMi44NC0uNjFsLTEuNDkgMS40OUMxMC4wMiAyMS42MiAxMS41MSAyMiAxMyAyMmMyLjMgMCA0LjYxLS44OCA2LjM2LTIuNjQgMy41Mi0zLjUxIDMuNTItOS4yMSAwLTEyLjcyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJvdGF0ZS1sZWZ0Ij48cGF0aCBkPSJNNy4xMSA4LjUzTDUuNyA3LjExQzQuOCA4LjI3IDQuMjQgOS42MSA0LjA3IDExaDIuMDJjLjE0LS44Ny40OS0xLjcyIDEuMDItMi40N3pNNi4wOSAxM0g0LjA3Yy4xNyAxLjM5LjcyIDIuNzMgMS42MiAzLjg5bDEuNDEtMS40MmMtLjUyLS43NS0uODctMS41OS0xLjAxLTIuNDd6bTEuMDEgNS4zMmMxLjE2LjkgMi41MSAxLjQ0IDMuOSAxLjYxVjE3LjljLS44Ny0uMTUtMS43MS0uNDktMi40Ni0xLjAzTDcuMSAxOC4zMnpNMTMgNC4wN1YxTDguNDUgNS41NSAxMyAxMFY2LjA5YzIuODQuNDggNSAyLjk0IDUgNS45MXMtMi4xNiA1LjQzLTUgNS45MXYyLjAyYzMuOTUtLjQ5IDctMy44NSA3LTcuOTNzLTMuMDUtNy40NC03LTcuOTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icm90YXRlLXJpZ2h0Ij48cGF0aCBkPSJNMTUuNTUgNS41NUwxMSAxdjMuMDdDNy4wNiA0LjU2IDQgNy45MiA0IDEyczMuMDUgNy40NCA3IDcuOTN2LTIuMDJjLTIuODQtLjQ4LTUtMi45NC01LTUuOTFzMi4xNi01LjQzIDUtNS45MVYxMGw0LjU1LTQuNDV6TTE5LjkzIDExYy0uMTctMS4zOS0uNzItMi43My0xLjYyLTMuODlsLTEuNDIgMS40MmMuNTQuNzUuODggMS42IDEuMDIgMi40N2gyLjAyek0xMyAxNy45djIuMDJjMS4zOS0uMTcgMi43NC0uNzEgMy45LTEuNjFsLTEuNDQtMS40NGMtLjc1LjU0LTEuNTkuODktMi40NiAxLjAzem0zLjg5LTIuNDJsMS40MiAxLjQxYy45LTEuMTYgMS40NS0yLjUgMS42Mi0zLjg5aC0yLjAyYy0uMTQuODctLjQ4IDEuNzItMS4wMiAyLjQ4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNsaWRlc2hvdyI+PHBhdGggZD0iTTEwIDh2OGw1LTQtNS00em05LTVINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDVWNWgxNHYxNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzdHJhaWdodGVuIj48cGF0aCBkPSJNMjEgNkgzYy0xLjEgMC0yIC45LTIgMnY4YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWOGMwLTEuMS0uOS0yLTItMnptMCAxMEgzVjhoMnY0aDJWOGgydjRoMlY4aDJ2NGgyVjhoMnY0aDJWOGgydjh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic3R5bGUiPjxwYXRoIGQ9Ik0yLjUzIDE5LjY1bDEuMzQuNTZ2LTkuMDNsLTIuNDMgNS44NmMtLjQxIDEuMDIuMDggMi4xOSAxLjA5IDIuNjF6bTE5LjUtMy43TDE3LjA3IDMuOThjLS4zMS0uNzUtMS4wNC0xLjIxLTEuODEtMS4yMy0uMjYgMC0uNTMuMDQtLjc5LjE1TDcuMSA1Ljk1Yy0uNzUuMzEtMS4yMSAxLjAzLTEuMjMgMS44LS4wMS4yNy4wNC41NC4xNS44bDQuOTYgMTEuOTdjLjMxLjc2IDEuMDUgMS4yMiAxLjgzIDEuMjMuMjYgMCAuNTItLjA1Ljc3LS4xNWw3LjM2LTMuMDVjMS4wMi0uNDIgMS41MS0xLjU5IDEuMDktMi42ek03Ljg4IDguNzVjLS41NSAwLTEtLjQ1LTEtMXMuNDUtMSAxLTEgMSAuNDUgMSAxLS40NSAxLTEgMXptLTIgMTFjMCAxLjEuOSAyIDIgMmgxLjQ1bC0zLjQ1LTguMzR2Ni4zNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzd2l0Y2gtY2FtZXJhIj48cGF0aCBkPSJNMjAgNGgtMy4xN0wxNSAySDlMNy4xNyA0SDRjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptLTUgMTEuNVYxM0g5djIuNUw1LjUgMTIgOSA4LjVWMTFoNlY4LjVsMy41IDMuNS0zLjUgMy41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InN3aXRjaC12aWRlbyI+PHBhdGggZD0iTTE4IDkuNVY2YzAtLjU1LS40NS0xLTEtMUgzYy0uNTUgMC0xIC40NS0xIDF2MTJjMCAuNTUuNDUgMSAxIDFoMTRjLjU1IDAgMS0uNDUgMS0xdi0zLjVsNCA0di0xM2wtNCA0em0tNSA2VjEzSDd2Mi41TDMuNSAxMiA3IDguNVYxMWg2VjguNWwzLjUgMy41LTMuNSAzLjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGFnLWZhY2VzIj48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnpNMTIgMjBjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4em0zLjUtOWMuODMgMCAxLjUtLjY3IDEuNS0xLjVTMTYuMzMgOCAxNS41IDggMTQgOC42NyAxNCA5LjVzLjY3IDEuNSAxLjUgMS41em0tNyAwYy44MyAwIDEuNS0uNjcgMS41LTEuNVM5LjMzIDggOC41IDggNyA4LjY3IDcgOS41IDcuNjcgMTEgOC41IDExem0zLjUgNi41YzIuMzMgMCA0LjMxLTEuNDYgNS4xMS0zLjVINi44OWMuOCAyLjA0IDIuNzggMy41IDUuMTEgMy41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRleHR1cmUiPjxwYXRoIGQ9Ik0xOS41MSAzLjA4TDMuMDggMTkuNTFjLjA5LjM0LjI3LjY1LjUxLjkuMjUuMjQuNTYuNDIuOS41MUwyMC45MyA0LjQ5Yy0uMTktLjY5LS43My0xLjIzLTEuNDItMS40MXpNMTEuODggM0wzIDExLjg4djIuODNMMTQuNzEgM2gtMi44M3pNNSAzYy0xLjEgMC0yIC45LTIgMnYybDQtNEg1em0xNCAxOGMuNTUgMCAxLjA1LS4yMiAxLjQxLS41OS4zNy0uMzYuNTktLjg2LjU5LTEuNDF2LTJsLTQgNGgyem0tOS43MSAwaDIuODNMMjEgMTIuMTJWOS4yOUw5LjI5IDIxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRpbWVsYXBzZSI+PHBhdGggZD0iTTE2LjI0IDcuNzZDMTUuMDcgNi41OSAxMy41NCA2IDEyIDZ2NmwtNC4yNCA0LjI0YzIuMzQgMi4zNCA2LjE0IDIuMzQgOC40OSAwIDIuMzQtMi4zNCAyLjM0LTYuMTQtLjAxLTguNDh6TTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRpbWVyIj48cGF0aCBkPSJNMTUgMUg5djJoNlYxem0tNCAxM2gyVjhoLTJ2NnptOC4wMy02LjYxbDEuNDItMS40MmMtLjQzLS41MS0uOS0uOTktMS40MS0xLjQxbC0xLjQyIDEuNDJDMTYuMDcgNC43NCAxNC4xMiA0IDEyIDRjLTQuOTcgMC05IDQuMDMtOSA5czQuMDIgOSA5IDkgOS00LjAzIDktOWMwLTIuMTItLjc0LTQuMDctMS45Ny01LjYxek0xMiAyMGMtMy44NyAwLTctMy4xMy03LTdzMy4xMy03IDctNyA3IDMuMTMgNyA3LTMuMTMgNy03IDd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGltZXItMTAiPjxwYXRoIGQ9Ik0wIDcuNzJWOS40bDMtMVYxOGgyVjZoLS4yNUwwIDcuNzJ6bTIzLjc4IDYuNjVjLS4xNC0uMjgtLjM1LS41My0uNjMtLjc0LS4yOC0uMjEtLjYxLS4zOS0xLjAxLS41M3MtLjg1LS4yNy0xLjM1LS4zOGMtLjM1LS4wNy0uNjQtLjE1LS44Ny0uMjMtLjIzLS4wOC0uNDEtLjE2LS41NS0uMjUtLjE0LS4wOS0uMjMtLjE5LS4yOC0uMy0uMDUtLjExLS4wOC0uMjQtLjA4LS4zOSAwLS4xNC4wMy0uMjguMDktLjQxLjA2LS4xMy4xNS0uMjUuMjctLjM0LjEyLS4xLjI3LS4xOC40NS0uMjRzLjQtLjA5LjY0LS4wOWMuMjUgMCAuNDcuMDQuNjYuMTEuMTkuMDcuMzUuMTcuNDguMjkuMTMuMTIuMjIuMjYuMjkuNDIuMDYuMTYuMS4zMi4xLjQ5aDEuOTVjMC0uMzktLjA4LS43NS0uMjQtMS4wOS0uMTYtLjM0LS4zOS0uNjMtLjY5LS44OC0uMy0uMjUtLjY2LS40NC0xLjA5LS41OUMyMS40OSA5LjA3IDIxIDkgMjAuNDYgOWMtLjUxIDAtLjk4LjA3LTEuMzkuMjEtLjQxLjE0LS43Ny4zMy0xLjA2LjU3LS4yOS4yNC0uNTEuNTItLjY3Ljg0LS4xNi4zMi0uMjMuNjUtLjIzIDEuMDFzLjA4LjY5LjIzLjk2Yy4xNS4yOC4zNi41Mi42NC43My4yNy4yMS42LjM4Ljk4LjUzLjM4LjE0LjgxLjI2IDEuMjcuMzYuMzkuMDguNzEuMTcuOTUuMjZzLjQzLjE5LjU3LjI5Yy4xMy4xLjIyLjIyLjI3LjM0LjA1LjEyLjA3LjI1LjA3LjM5IDAgLjMyLS4xMy41Ny0uNC43Ny0uMjcuMi0uNjYuMjktMS4xNy4yOS0uMjIgMC0uNDMtLjAyLS42NC0uMDgtLjIxLS4wNS0uNC0uMTMtLjU2LS4yNC0uMTctLjExLS4zLS4yNi0uNDEtLjQ0LS4xMS0uMTgtLjE3LS40MS0uMTgtLjY3aC0xLjg5YzAgLjM2LjA4LjcxLjI0IDEuMDUuMTYuMzQuMzkuNjUuNy45My4zMS4yNy42OS40OSAxLjE1LjY2LjQ2LjE3Ljk4LjI1IDEuNTguMjUuNTMgMCAxLjAxLS4wNiAxLjQ0LS4xOS40My0uMTMuOC0uMzEgMS4xMS0uNTQuMzEtLjIzLjU0LS41MS43MS0uODMuMTctLjMyLjI1LS42Ny4yNS0xLjA2LS4wMi0uNC0uMDktLjc0LS4yNC0xLjAyem0tOS45Ni03LjMyYy0uMzQtLjQtLjc1LS43LTEuMjMtLjg4LS40Ny0uMTgtMS4wMS0uMjctMS41OS0uMjctLjU4IDAtMS4xMS4wOS0xLjU5LjI3LS40OC4xOC0uODkuNDctMS4yMy44OC0uMzQuNDEtLjYuOTMtLjc5IDEuNTktLjE4LjY1LS4yOCAxLjQ1LS4yOCAyLjM5djEuOTJjMCAuOTQuMDkgMS43NC4yOCAyLjM5LjE5LjY2LjQ1IDEuMTkuOCAxLjYuMzQuNDEuNzUuNzEgMS4yMy44OS40OC4xOCAxLjAxLjI4IDEuNTkuMjguNTkgMCAxLjEyLS4wOSAxLjU5LS4yOC40OC0uMTguODgtLjQ4IDEuMjItLjg5LjM0LS40MS42LS45NC43OC0xLjYuMTgtLjY1LjI4LTEuNDUuMjgtMi4zOXYtMS45MmMwLS45NC0uMDktMS43NC0uMjgtMi4zOS0uMTgtLjY2LS40NC0xLjE5LS43OC0xLjU5em0tLjkyIDYuMTdjMCAuNi0uMDQgMS4xMS0uMTIgMS41My0uMDguNDItLjIuNzYtLjM2IDEuMDItLjE2LjI2LS4zNi40NS0uNTkuNTctLjIzLjEyLS41MS4xOC0uODIuMTgtLjMgMC0uNTgtLjA2LS44Mi0uMThzLS40NC0uMzEtLjYtLjU3Yy0uMTYtLjI2LS4yOS0uNi0uMzgtMS4wMi0uMDktLjQyLS4xMy0uOTMtLjEzLTEuNTN2LTIuNWMwLS42LjA0LTEuMTEuMTMtMS41Mi4wOS0uNDEuMjEtLjc0LjM4LTEgLjE2LS4yNS4zNi0uNDMuNi0uNTUuMjQtLjExLjUxLS4xNy44MS0uMTcuMzEgMCAuNTguMDYuODEuMTcuMjQuMTEuNDQuMjkuNi41NS4xNi4yNS4yOS41OC4zNy45OS4wOC40MS4xMy45Mi4xMyAxLjUydjIuNTF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGltZXItMyI+PHBhdGggZD0iTTExLjYxIDEyLjk3Yy0uMTYtLjI0LS4zNi0uNDYtLjYyLS42NS0uMjUtLjE5LS41Ni0uMzUtLjkzLS40OC4zLS4xNC41Ny0uMy44LS41LjIzLS4yLjQyLS40MS41Ny0uNjQuMTUtLjIzLjI3LS40Ni4zNC0uNzEuMDgtLjI0LjExLS40OS4xMS0uNzMgMC0uNTUtLjA5LTEuMDQtLjI4LTEuNDYtLjE4LS40Mi0uNDQtLjc3LS43OC0xLjA2LS4zMy0uMjgtLjczLS41LTEuMi0uNjQtLjQ1LS4xMy0uOTctLjItMS41My0uMi0uNTUgMC0xLjA2LjA4LTEuNTIuMjQtLjQ3LjE3LS44Ny40LTEuMi42OS0uMzMuMjktLjYuNjMtLjc4IDEuMDMtLjIuMzktLjI5LjgzLS4yOSAxLjI5aDEuOThjMC0uMjYuMDUtLjQ5LjE0LS42OS4wOS0uMi4yMi0uMzguMzgtLjUyLjE3LS4xNC4zNi0uMjUuNTgtLjMzLjIyLS4wOC40Ni0uMTIuNzMtLjEyLjYxIDAgMS4wNi4xNiAxLjM2LjQ3LjMuMzEuNDQuNzUuNDQgMS4zMiAwIC4yNy0uMDQuNTItLjEyLjc0LS4wOC4yMi0uMjEuNDEtLjM4LjU3LS4xNy4xNi0uMzguMjgtLjYzLjM3LS4yNS4wOS0uNTUuMTMtLjg5LjEzSDYuNzJ2MS41N0g3LjljLjM0IDAgLjY0LjA0LjkxLjExLjI3LjA4LjUuMTkuNjkuMzUuMTkuMTYuMzQuMzYuNDQuNjEuMS4yNC4xNi41NC4xNi44NyAwIC42Mi0uMTggMS4wOS0uNTMgMS40Mi0uMzUuMzMtLjg0LjQ5LTEuNDUuNDktLjI5IDAtLjU2LS4wNC0uOC0uMTMtLjI0LS4wOC0uNDQtLjItLjYxLS4zNi0uMTctLjE2LS4zLS4zNC0uMzktLjU2LS4wOS0uMjItLjE0LS40Ni0uMTQtLjcySDQuMTljMCAuNTUuMTEgMS4wMy4zMiAxLjQ1LjIxLjQyLjUuNzcuODYgMS4wNXMuNzcuNDkgMS4yNC42My45Ni4yMSAxLjQ4LjIxYy41NyAwIDEuMDktLjA4IDEuNTgtLjIzLjQ5LS4xNS45MS0uMzggMS4yNi0uNjguMzYtLjMuNjQtLjY2Ljg0LTEuMS4yLS40My4zLS45My4zLTEuNDggMC0uMjktLjA0LS41OC0uMTEtLjg2LS4wOC0uMjUtLjE5LS41MS0uMzUtLjc2em05LjI2IDEuNGMtLjE0LS4yOC0uMzUtLjUzLS42My0uNzQtLjI4LS4yMS0uNjEtLjM5LTEuMDEtLjUzcy0uODUtLjI3LTEuMzUtLjM4Yy0uMzUtLjA3LS42NC0uMTUtLjg3LS4yMy0uMjMtLjA4LS40MS0uMTYtLjU1LS4yNS0uMTQtLjA5LS4yMy0uMTktLjI4LS4zLS4wNS0uMTEtLjA4LS4yNC0uMDgtLjM5cy4wMy0uMjguMDktLjQxYy4wNi0uMTMuMTUtLjI1LjI3LS4zNC4xMi0uMS4yNy0uMTguNDUtLjI0cy40LS4wOS42NC0uMDljLjI1IDAgLjQ3LjA0LjY2LjExLjE5LjA3LjM1LjE3LjQ4LjI5LjEzLjEyLjIyLjI2LjI5LjQyLjA2LjE2LjEuMzIuMS40OWgxLjk1YzAtLjM5LS4wOC0uNzUtLjI0LTEuMDktLjE2LS4zNC0uMzktLjYzLS42OS0uODgtLjMtLjI1LS42Ni0uNDQtMS4wOS0uNTktLjQzLS4xNS0uOTItLjIyLTEuNDYtLjIyLS41MSAwLS45OC4wNy0xLjM5LjIxLS40MS4xNC0uNzcuMzMtMS4wNi41Ny0uMjkuMjQtLjUxLjUyLS42Ny44NC0uMTYuMzItLjIzLjY1LS4yMyAxLjAxcy4wOC42OC4yMy45NmMuMTUuMjguMzcuNTIuNjQuNzMuMjcuMjEuNi4zOC45OC41My4zOC4xNC44MS4yNiAxLjI3LjM2LjM5LjA4LjcxLjE3Ljk1LjI2cy40My4xOS41Ny4yOWMuMTMuMS4yMi4yMi4yNy4zNC4wNS4xMi4wNy4yNS4wNy4zOSAwIC4zMi0uMTMuNTctLjQuNzctLjI3LjItLjY2LjI5LTEuMTcuMjktLjIyIDAtLjQzLS4wMi0uNjQtLjA4LS4yMS0uMDUtLjQtLjEzLS41Ni0uMjQtLjE3LS4xMS0uMy0uMjYtLjQxLS40NC0uMTEtLjE4LS4xNy0uNDEtLjE4LS42N2gtMS44OWMwIC4zNi4wOC43MS4yNCAxLjA1LjE2LjM0LjM5LjY1LjcuOTMuMzEuMjcuNjkuNDkgMS4xNS42Ni40Ni4xNy45OC4yNSAxLjU4LjI1LjUzIDAgMS4wMS0uMDYgMS40NC0uMTkuNDMtLjEzLjgtLjMxIDEuMTEtLjU0LjMxLS4yMy41NC0uNTEuNzEtLjgzLjE3LS4zMi4yNS0uNjcuMjUtMS4wNi0uMDItLjQtLjA5LS43NC0uMjQtMS4wMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0aW1lci1vZmYiPjxwYXRoIGQ9Ik0xOS4wNCA0LjU1bC0xLjQyIDEuNDJDMTYuMDcgNC43NCAxNC4xMiA0IDEyIDRjLTEuODMgMC0zLjUzLjU1LTQuOTUgMS40OGwxLjQ2IDEuNDZDOS41MyA2LjM1IDEwLjczIDYgMTIgNmMzLjg3IDAgNyAzLjEzIDcgNyAwIDEuMjctLjM1IDIuNDctLjk0IDMuNDlsMS40NSAxLjQ1QzIwLjQ1IDE2LjUzIDIxIDE0LjgzIDIxIDEzYzAtMi4xMi0uNzQtNC4wNy0xLjk3LTUuNjFsMS40Mi0xLjQyLTEuNDEtMS40MnpNMTUgMUg5djJoNlYxem0tNCA4LjQ0bDIgMlY4aC0ydjEuNDR6TTMuMDIgNEwxLjc1IDUuMjcgNC41IDguMDNDMy41NSA5LjQ1IDMgMTEuMTYgMyAxM2MwIDQuOTcgNC4wMiA5IDkgOSAxLjg0IDAgMy41NS0uNTUgNC45OC0xLjVsMi41IDIuNSAxLjI3LTEuMjctNy43MS03LjcxTDMuMDIgNHpNMTIgMjBjLTMuODcgMC03LTMuMTMtNy03IDAtMS4yOC4zNS0yLjQ4Ljk1LTMuNTJsOS41NiA5LjU2Yy0xLjAzLjYxLTIuMjMuOTYtMy41MS45NnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0b25hbGl0eSI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0xIDE3LjkzYy0zLjk0LS40OS03LTMuODUtNy03LjkzczMuMDUtNy40NCA3LTcuOTN2MTUuODZ6bTItMTUuODZjMS4wMy4xMyAyIC40NSAyLjg3LjkzSDEzdi0uOTN6TTEzIDdoNS4yNGMuMjUuMzEuNDguNjUuNjggMUgxM1Y3em0wIDNoNi43NGMuMDguMzMuMTUuNjYuMTkgMUgxM3YtMXptMCA5LjkzVjE5aDIuODdjLS44Ny40OC0xLjg0LjgtMi44Ny45M3pNMTguMjQgMTdIMTN2LTFoNS45MmMtLjIuMzUtLjQzLjY5LS42OCAxem0xLjUtM0gxM3YtMWg2LjkzYy0uMDQuMzQtLjExLjY3LS4xOSAxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRyYW5zZm9ybSI+PHBhdGggZD0iTTIyIDE4di0ySDhWNGgyTDcgMSA0IDRoMnYySDJ2Mmg0djhjMCAxLjEuOSAyIDIgMmg4djJoLTJsMyAzIDMtM2gtMnYtMmg0ek0xMCA4aDZ2NmgyVjhjMC0xLjEtLjktMi0yLTJoLTZ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0dW5lIj48cGF0aCBkPSJNMyAxN3YyaDZ2LTJIM3pNMyA1djJoMTBWNUgzem0xMCAxNnYtMmg4di0yaC04di0yaC0ydjZoMnpNNyA5djJIM3YyaDR2MmgyVjlIN3ptMTQgNHYtMkgxMXYyaDEwem0tNi00aDJWN2g0VjVoLTRWM2gtMnY2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZXctY29tZnkiPjxwYXRoIGQ9Ik0zIDloNFY1SDN2NHptMCA1aDR2LTRIM3Y0em01IDBoNHYtNEg4djR6bTUgMGg0di00aC00djR6TTggOWg0VjVIOHY0em01LTR2NGg0VjVoLTR6bTUgOWg0di00aC00djR6TTMgMTloNHYtNEgzdjR6bTUgMGg0di00SDh2NHptNSAwaDR2LTRoLTR2NHptNSAwaDR2LTRoLTR2NHptMC0xNHY0aDRWNWgtNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJ2aWV3LWNvbXBhY3QiPjxwYXRoIGQ9Ik0zIDE5aDZ2LTdIM3Y3em03IDBoMTJ2LTdIMTB2N3pNMyA1djZoMTlWNUgzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZ25ldHRlIj48cGF0aCBkPSJNMjEgM0gzYy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE4YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS05IDE1Yy00LjQyIDAtOC0yLjY5LTgtNnMzLjU4LTYgOC02IDggMi42OSA4IDYtMy41OCA2LTggNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ3Yi1hdXRvIj48cGF0aCBkPSJNNi44NSAxMi42NWgyLjNMOCA5bC0xLjE1IDMuNjV6TTIyIDdsLTEuMiA2LjI5TDE5LjMgN2gtMS42bC0xLjQ5IDYuMjlMMTUgN2gtLjc2QzEyLjc3IDUuMTcgMTAuNTMgNCA4IDRjLTQuNDIgMC04IDMuNTgtOCA4czMuNTggOCA4IDhjMy4xMyAwIDUuODQtMS44MSA3LjE1LTQuNDNsLjEuNDNIMTdsMS41LTYuMUwyMCAxNmgxLjc1bDIuMDUtOUgyMnptLTExLjcgOWwtLjctMkg2LjRsLS43IDJIMy44TDcgN2gybDMuMiA5aC0xLjl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0id2ItY2xvdWR5Ij48cGF0aCBkPSJNMTkuMzYgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NC00Ljk2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9IndiLWluY2FuZGVzY2VudCI+PHBhdGggZD0iTTMuNTUgMTguNTRsMS40MSAxLjQxIDEuNzktMS44LTEuNDEtMS40MS0xLjc5IDEuOHpNMTEgMjIuNDVoMlYxOS41aC0ydjIuOTV6TTQgMTAuNUgxdjJoM3YtMnptMTEtNC4xOVYxLjVIOXY0LjgxQzcuMjEgNy4zNSA2IDkuMjggNiAxMS41YzAgMy4zMSAyLjY5IDYgNiA2czYtMi42OSA2LTZjMC0yLjIyLTEuMjEtNC4xNS0zLTUuMTl6bTUgNC4xOXYyaDN2LTJoLTN6bS0yLjc2IDcuNjZsMS43OSAxLjggMS40MS0xLjQxLTEuOC0xLjc5LTEuNCAxLjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0id2ItaXJpZGVzY2VudCI+PHBhdGggZD0iTTUgMTQuNWgxNHYtNkg1djZ6TTExIC41NVYzLjVoMlYuNTVoLTJ6bTguMDQgMi41bC0xLjc5IDEuNzkgMS40MSAxLjQxIDEuOC0xLjc5LTEuNDItMS40MXpNMTMgMjIuNDVWMTkuNWgtMnYyLjk1aDJ6bTcuNDUtMy45MWwtMS44LTEuNzktMS40MSAxLjQxIDEuNzkgMS44IDEuNDItMS40MnpNMy41NSA0LjQ2bDEuNzkgMS43OSAxLjQxLTEuNDEtMS43OS0xLjc5LTEuNDEgMS40MXptMS40MSAxNS40OWwxLjc5LTEuOC0xLjQxLTEuNDEtMS43OSAxLjc5IDEuNDEgMS40MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ3Yi1zdW5ueSI+PHBhdGggZD0iTTYuNzYgNC44NGwtMS44LTEuNzktMS40MSAxLjQxIDEuNzkgMS43OSAxLjQyLTEuNDF6TTQgMTAuNUgxdjJoM3YtMnptOS05Ljk1aC0yVjMuNWgyVi41NXptNy40NSAzLjkxbC0xLjQxLTEuNDEtMS43OSAxLjc5IDEuNDEgMS40MSAxLjc5LTEuNzl6bS0zLjIxIDEzLjdsMS43OSAxLjggMS40MS0xLjQxLTEuOC0xLjc5LTEuNCAxLjR6TTIwIDEwLjV2Mmgzdi0yaC0zem0tOC01Yy0zLjMxIDAtNiAyLjY5LTYgNnMyLjY5IDYgNiA2IDYtMi42OSA2LTYtMi42OS02LTYtNnptLTEgMTYuOTVoMlYxOS41aC0ydjIuOTV6bS03LjQ1LTMuOTFsMS40MSAxLjQxIDEuNzktMS44LTEuNDEtMS40MS0xLjc5IDEuOHoiPjwvcGF0aD48L2c+CjwvZGVmcz48L3N2Zz4KPC9pcm9uLWljb25zZXQtc3ZnPmA7ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChSby5jb250ZW50KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE0IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IE9vPXhlYDxpcm9uLWljb25zZXQtc3ZnIG5hbWU9Imljb25zIiBzaXplPSIyNCI+Cjxzdmc+PGRlZnM+CjxnIGlkPSIzZC1yb3RhdGlvbiI+PHBhdGggZD0iTTcuNTIgMjEuNDhDNC4yNSAxOS45NCAxLjkxIDE2Ljc2IDEuNTUgMTNILjA1Qy41NiAxOS4xNiA1LjcxIDI0IDEyIDI0bC42Ni0uMDMtMy44MS0zLjgxLTEuMzMgMS4zMnptLjg5LTYuNTJjLS4xOSAwLS4zNy0uMDMtLjUyLS4wOC0uMTYtLjA2LS4yOS0uMTMtLjQtLjI0LS4xMS0uMS0uMi0uMjItLjI2LS4zNy0uMDYtLjE0LS4wOS0uMy0uMDktLjQ3aC0xLjNjMCAuMzYuMDcuNjguMjEuOTUuMTQuMjcuMzMuNS41Ni42OS4yNC4xOC41MS4zMi44Mi40MS4zLjEuNjIuMTUuOTYuMTUuMzcgMCAuNzItLjA1IDEuMDMtLjE1LjMyLS4xLjYtLjI1LjgzLS40NHMuNDItLjQzLjU1LS43MmMuMTMtLjI5LjItLjYxLjItLjk3IDAtLjE5LS4wMi0uMzgtLjA3LS41Ni0uMDUtLjE4LS4xMi0uMzUtLjIzLS41MS0uMS0uMTYtLjI0LS4zLS40LS40My0uMTctLjEzLS4zNy0uMjMtLjYxLS4zMS4yLS4wOS4zNy0uMi41Mi0uMzMuMTUtLjEzLjI3LS4yNy4zNy0uNDIuMS0uMTUuMTctLjMuMjItLjQ2LjA1LS4xNi4wNy0uMzIuMDctLjQ4IDAtLjM2LS4wNi0uNjgtLjE4LS45Ni0uMTItLjI4LS4yOS0uNTEtLjUxLS42OS0uMi0uMTktLjQ3LS4zMy0uNzctLjQzQzkuMSA4LjA1IDguNzYgOCA4LjM5IDhjLS4zNiAwLS42OS4wNS0xIC4xNi0uMy4xMS0uNTcuMjYtLjc5LjQ1LS4yMS4xOS0uMzguNDEtLjUxLjY3LS4xMi4yNi0uMTguNTQtLjE4Ljg1aDEuM2MwLS4xNy4wMy0uMzIuMDktLjQ1cy4xNC0uMjUuMjUtLjM0Yy4xMS0uMDkuMjMtLjE3LjM4LS4yMi4xNS0uMDUuMy0uMDguNDgtLjA4LjQgMCAuNy4xLjg5LjMxLjE5LjIuMjkuNDkuMjkuODYgMCAuMTgtLjAzLjM0LS4wOC40OS0uMDUuMTUtLjE0LjI3LS4yNS4zNy0uMTEuMS0uMjUuMTgtLjQxLjI0LS4xNi4wNi0uMzYuMDktLjU4LjA5SDcuNXYxLjAzaC43N2MuMjIgMCAuNDIuMDIuNi4wN3MuMzMuMTMuNDUuMjNjLjEyLjExLjIyLjI0LjI5LjQuMDcuMTYuMS4zNS4xLjU3IDAgLjQxLS4xMi43Mi0uMzUuOTMtLjIzLjIzLS41NS4zMy0uOTUuMzN6bTguNTUtNS45MmMtLjMyLS4zMy0uNy0uNTktMS4xNC0uNzctLjQzLS4xOC0uOTItLjI3LTEuNDYtLjI3SDEydjhoMi4zYy41NSAwIDEuMDYtLjA5IDEuNTEtLjI3LjQ1LS4xOC44NC0uNDMgMS4xNi0uNzYuMzItLjMzLjU3LS43My43NC0xLjE5LjE3LS40Ny4yNi0uOTkuMjYtMS41N3YtLjRjMC0uNTgtLjA5LTEuMS0uMjYtMS41Ny0uMTgtLjQ3LS40My0uODctLjc1LTEuMnptLS4zOSAzLjE2YzAgLjQyLS4wNS43OS0uMTQgMS4xMy0uMS4zMy0uMjQuNjItLjQzLjg1LS4xOS4yMy0uNDMuNDEtLjcxLjUzLS4yOS4xMi0uNjIuMTgtLjk5LjE4aC0uOTFWOS4xMmguOTdjLjcyIDAgMS4yNy4yMyAxLjY0LjY5LjM4LjQ2LjU3IDEuMTIuNTcgMS45OXYuNHpNMTIgMGwtLjY2LjAzIDMuODEgMy44MSAxLjMzLTEuMzNjMy4yNyAxLjU1IDUuNjEgNC43MiA1Ljk2IDguNDhoMS41QzIzLjQ0IDQuODQgMTguMjkgMCAxMiAweiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFjY2Vzc2liaWxpdHkiPjxwYXRoIGQ9Ik0xMiAyYzEuMSAwIDIgLjkgMiAycy0uOSAyLTIgMi0yLS45LTItMiAuOS0yIDItMnptOSA3aC02djEzaC0ydi02aC0ydjZIOVY5SDNWN2gxOHYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFjY2Vzc2libGUiPjxjaXJjbGUgY3g9IjEyIiBjeT0iNCIgcj0iMiI+PC9jaXJjbGU+PHBhdGggZD0iTTE5IDEzdi0yYy0xLjU0LjAyLTMuMDktLjc1LTQuMDctMS44M2wtMS4yOS0xLjQzYy0uMTctLjE5LS4zOC0uMzQtLjYxLS40NS0uMDEgMC0uMDEtLjAxLS4wMi0uMDFIMTNjLS4zNS0uMi0uNzUtLjMtMS4xOS0uMjZDMTAuNzYgNy4xMSAxMCA4LjA0IDEwIDkuMDlWMTVjMCAxLjEuOSAyIDIgMmg1djVoMnYtNS41YzAtMS4xLS45LTItMi0yaC0zdi0zLjQ1YzEuMjkgMS4wNyAzLjI1IDEuOTQgNSAxLjk1em0tNi4xNyA1Yy0uNDEgMS4xNi0xLjUyIDItMi44MyAyLTEuNjYgMC0zLTEuMzQtMy0zIDAtMS4zMS44NC0yLjQxIDItMi44M1YxMi4xYy0yLjI4LjQ2LTQgMi40OC00IDQuOSAwIDIuNzYgMi4yNCA1IDUgNSAyLjQyIDAgNC40NC0xLjcyIDQuOS00aC0yLjA3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFjY291bnQtYmFsYW5jZSI+PHBhdGggZD0iTTQgMTB2N2gzdi03SDR6bTYgMHY3aDN2LTdoLTN6TTIgMjJoMTl2LTNIMnYzem0xNC0xMnY3aDN2LTdoLTN6bS00LjUtOUwyIDZ2MmgxOVY2bC05LjUtNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJhY2NvdW50LWJhbGFuY2Utd2FsbGV0Ij48cGF0aCBkPSJNMjEgMTh2MWMwIDEuMS0uOSAyLTIgMkg1Yy0xLjExIDAtMi0uOS0yLTJWNWMwLTEuMS44OS0yIDItMmgxNGMxLjEgMCAyIC45IDIgMnYxaC05Yy0xLjExIDAtMiAuOS0yIDJ2OGMwIDEuMS44OSAyIDIgMmg5em0tOS0yaDEwVjhIMTJ2OHptNC0yLjVjLS44MyAwLTEuNS0uNjctMS41LTEuNXMuNjctMS41IDEuNS0xLjUgMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFjY291bnQtYm94Ij48cGF0aCBkPSJNMyA1djE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJINWMtMS4xMSAwLTIgLjktMiAyem0xMiA0YzAgMS42Ni0xLjM0IDMtMyAzcy0zLTEuMzQtMy0zIDEuMzQtMyAzLTMgMyAxLjM0IDMgM3ptLTkgOGMwLTIgNC0zLjEgNi0zLjFzNiAxLjEgNiAzLjF2MUg2di0xeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFjY291bnQtY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAzYzEuNjYgMCAzIDEuMzQgMyAzcy0xLjM0IDMtMyAzLTMtMS4zNC0zLTMgMS4zNC0zIDMtM3ptMCAxNC4yYy0yLjUgMC00LjcxLTEuMjgtNi0zLjIyLjAzLTEuOTkgNC0zLjA4IDYtMy4wOCAxLjk5IDAgNS45NyAxLjA5IDYgMy4wOC0xLjI5IDEuOTQtMy41IDMuMjItNiAzLjIyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFkZCI+PHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJhZGQtYWxlcnQiPjxwYXRoIGQ9Ik0xMC4wMSAyMS4wMWMwIDEuMS44OSAxLjk5IDEuOTkgMS45OXMxLjk5LS44OSAxLjk5LTEuOTloLTMuOTh6bTguODctNC4xOVYxMWMwLTMuMjUtMi4yNS01Ljk3LTUuMjktNi42OXYtLjcyQzEzLjU5IDIuNzEgMTIuODggMiAxMiAycy0xLjU5LjcxLTEuNTkgMS41OXYuNzJDNy4zNyA1LjAzIDUuMTIgNy43NSA1LjEyIDExdjUuODJMMyAxOC45NFYyMGgxOHYtMS4wNmwtMi4xMi0yLjEyek0xNiAxMy4wMWgtM3YzaC0ydi0zSDhWMTFoM1Y4aDJ2M2gzdjIuMDF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYWRkLWJveCI+PHBhdGggZD0iTTE5IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS0yIDEwaC00djRoLTJ2LTRIN3YtMmg0VjdoMnY0aDR2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJhZGQtY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptNSAxMWgtNHY0aC0ydi00SDd2LTJoNFY3aDJ2NGg0djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYWRkLWNpcmNsZS1vdXRsaW5lIj48cGF0aCBkPSJNMTMgN2gtMnY0SDd2Mmg0djRoMnYtNGg0di0yaC00Vjd6bS0xLTVDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFkZC1zaG9wcGluZy1jYXJ0Ij48cGF0aCBkPSJNMTEgOWgyVjZoM1Y0aC0zVjFoLTJ2M0g4djJoM3Yzem0tNCA5Yy0xLjEgMC0xLjk5LjktMS45OSAyUzUuOSAyMiA3IDIyczItLjkgMi0yLS45LTItMi0yem0xMCAwYy0xLjEgMC0xLjk5LjktMS45OSAycy44OSAyIDEuOTkgMiAyLS45IDItMi0uOS0yLTItMnptLTkuODMtMy4yNWwuMDMtLjEyLjktMS42M2g3LjQ1Yy43NSAwIDEuNDEtLjQxIDEuNzUtMS4wM2wzLjg2LTcuMDFMMTkuNDIgNGgtLjAxbC0xLjEgMi0yLjc2IDVIOC41M2wtLjEzLS4yN0w2LjE2IDZsLS45NS0yLS45NC0ySDF2MmgybDMuNiA3LjU5LTEuMzUgMi40NWMtLjE2LjI4LS4yNS42MS0uMjUuOTYgMCAxLjEuOSAyIDIgMmgxMnYtMkg3LjQyYy0uMTMgMC0uMjUtLjExLS4yNS0uMjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYWxhcm0iPjxwYXRoIGQ9Ik0yMiA1LjcybC00LjYtMy44Ni0xLjI5IDEuNTMgNC42IDMuODZMMjIgNS43MnpNNy44OCAzLjM5TDYuNiAxLjg2IDIgNS43MWwxLjI5IDEuNTMgNC41OS0zLjg1ek0xMi41IDhIMTF2Nmw0Ljc1IDIuODUuNzUtMS4yMy00LTIuMzdWOHpNMTIgNGMtNC45NyAwLTkgNC4wMy05IDlzNC4wMiA5IDkgOWM0Ljk3IDAgOS00LjAzIDktOXMtNC4wMy05LTktOXptMCAxNmMtMy44NyAwLTctMy4xMy03LTdzMy4xMy03IDctNyA3IDMuMTMgNyA3LTMuMTMgNy03IDd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYWxhcm0tYWRkIj48cGF0aCBkPSJNNy44OCAzLjM5TDYuNiAxLjg2IDIgNS43MWwxLjI5IDEuNTMgNC41OS0zLjg1ek0yMiA1LjcybC00LjYtMy44Ni0xLjI5IDEuNTMgNC42IDMuODZMMjIgNS43MnpNMTIgNGMtNC45NyAwLTkgNC4wMy05IDlzNC4wMiA5IDkgOWM0Ljk3IDAgOS00LjAzIDktOXMtNC4wMy05LTktOXptMCAxNmMtMy44NyAwLTctMy4xMy03LTdzMy4xMy03IDctNyA3IDMuMTMgNyA3LTMuMTMgNy03IDd6bTEtMTFoLTJ2M0g4djJoM3YzaDJ2LTNoM3YtMmgtM1Y5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFsYXJtLW9mZiI+PHBhdGggZD0iTTEyIDZjMy44NyAwIDcgMy4xMyA3IDcgMCAuODQtLjE2IDEuNjUtLjQzIDIuNGwxLjUyIDEuNTJjLjU4LTEuMTkuOTEtMi41MS45MS0zLjkyIDAtNC45Ny00LjAzLTktOS05LTEuNDEgMC0yLjczLjMzLTMuOTIuOTFMOS42IDYuNDNDMTAuMzUgNi4xNiAxMS4xNiA2IDEyIDZ6bTEwLS4yOGwtNC42LTMuODYtMS4yOSAxLjUzIDQuNiAzLjg2TDIyIDUuNzJ6TTIuOTIgMi4yOUwxLjY1IDMuNTcgMi45OCA0LjlsLTEuMTEuOTMgMS40MiAxLjQyIDEuMTEtLjk0LjguOEMzLjgzIDguNjkgMyAxMC43NSAzIDEzYzAgNC45NyA0LjAyIDkgOSA5IDIuMjUgMCA0LjMxLS44MyA1Ljg5LTIuMmwyLjIgMi4yIDEuMjctMS4yN0wzLjg5IDMuMjdsLS45Ny0uOTh6bTEzLjU1IDE2LjFDMTUuMjYgMTkuMzkgMTMuNyAyMCAxMiAyMGMtMy44NyAwLTctMy4xMy03LTcgMC0xLjcuNjEtMy4yNiAxLjYxLTQuNDdsOS44NiA5Ljg2ek04LjAyIDMuMjhMNi42IDEuODZsLS44Ni43MSAxLjQyIDEuNDIuODYtLjcxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFsYXJtLW9uIj48cGF0aCBkPSJNMjIgNS43MmwtNC42LTMuODYtMS4yOSAxLjUzIDQuNiAzLjg2TDIyIDUuNzJ6TTcuODggMy4zOUw2LjYgMS44NiAyIDUuNzFsMS4yOSAxLjUzIDQuNTktMy44NXpNMTIgNGMtNC45NyAwLTkgNC4wMy05IDlzNC4wMiA5IDkgOWM0Ljk3IDAgOS00LjAzIDktOXMtNC4wMy05LTktOXptMCAxNmMtMy44NyAwLTctMy4xMy03LTdzMy4xMy03IDctNyA3IDMuMTMgNyA3LTMuMTMgNy03IDd6bS0xLjQ2LTUuNDdMOC40MSAxMi40bC0xLjA2IDEuMDYgMy4xOCAzLjE4IDYtNi0xLjA2LTEuMDYtNC45MyA0Ljk1eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFsbC1vdXQiPjxwYXRoIGQ9Ik0xNi4yMSA0LjE2bDQgNHYtNHptNCAxMmwtNCA0aDR6bS0xMiA0bC00LTR2NHptLTQtMTJsNC00aC00em0xMi45NS0uOTVjLTIuNzMtMi43My03LjE3LTIuNzMtOS45IDBzLTIuNzMgNy4xNyAwIDkuOSA3LjE3IDIuNzMgOS45IDAgMi43My03LjE2IDAtOS45em0tMS4xIDguOGMtMi4xMyAyLjEzLTUuNTcgMi4xMy03LjcgMHMtMi4xMy01LjU3IDAtNy43IDUuNTctMi4xMyA3LjcgMCAyLjEzIDUuNTcgMCA3Ljd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYW5kcm9pZCI+PHBhdGggZD0iTTYgMThjMCAuNTUuNDUgMSAxIDFoMXYzLjVjMCAuODMuNjcgMS41IDEuNSAxLjVzMS41LS42NyAxLjUtMS41VjE5aDJ2My41YzAgLjgzLjY3IDEuNSAxLjUgMS41czEuNS0uNjcgMS41LTEuNVYxOWgxYy41NSAwIDEtLjQ1IDEtMVY4SDZ2MTB6TTMuNSA4QzIuNjcgOCAyIDguNjcgMiA5LjV2N2MwIC44My42NyAxLjUgMS41IDEuNVM1IDE3LjMzIDUgMTYuNXYtN0M1IDguNjcgNC4zMyA4IDMuNSA4em0xNyAwYy0uODMgMC0xLjUuNjctMS41IDEuNXY3YzAgLjgzLjY3IDEuNSAxLjUgMS41czEuNS0uNjcgMS41LTEuNXYtN2MwLS44My0uNjctMS41LTEuNS0xLjV6bS00Ljk3LTUuODRsMS4zLTEuM2MuMi0uMi4yLS41MSAwLS43MS0uMi0uMi0uNTEtLjItLjcxIDBsLTEuNDggMS40OEMxMy44NSAxLjIzIDEyLjk1IDEgMTIgMWMtLjk2IDAtMS44Ni4yMy0yLjY2LjYzTDcuODUuMTVjLS4yLS4yLS41MS0uMi0uNzEgMC0uMi4yLS4yLjUxIDAgLjcxbDEuMzEgMS4zMUM2Ljk3IDMuMjYgNiA1LjAxIDYgN2gxMmMwLTEuOTktLjk3LTMuNzUtMi40Ny00Ljg0ek0xMCA1SDlWNGgxdjF6bTUgMGgtMVY0aDF2MXoiPjwvcGF0aD48L2c+CjxnIGlkPSJhbm5vdW5jZW1lbnQiPjxwYXRoIGQ9Ik0yMCAySDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAyMmw0LTRoMTRjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnptLTcgOWgtMlY1aDJ2NnptMCA0aC0ydi0yaDJ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJhcHBzIj48cGF0aCBkPSJNNCA4aDRWNEg0djR6bTYgMTJoNHYtNGgtNHY0em0tNiAwaDR2LTRINHY0em0wLTZoNHYtNEg0djR6bTYgMGg0di00aC00djR6bTYtMTB2NGg0VjRoLTR6bS02IDRoNFY0aC00djR6bTYgNmg0di00aC00djR6bTAgNmg0di00aC00djR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYXJjaGl2ZSI+PHBhdGggZD0iTTIwLjU0IDUuMjNsLTEuMzktMS42OEMxOC44OCAzLjIxIDE4LjQ3IDMgMTggM0g2Yy0uNDcgMC0uODguMjEtMS4xNi41NUwzLjQ2IDUuMjNDMy4xNyA1LjU3IDMgNi4wMiAzIDYuNVYxOWMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjYuNWMwLS40OC0uMTctLjkzLS40Ni0xLjI3ek0xMiAxNy41TDYuNSAxMkgxMHYtMmg0djJoMy41TDEyIDE3LjV6TTUuMTIgNWwuODEtMWgxMmwuOTQgMUg1LjEyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFycm93LWJhY2siPjxwYXRoIGQ9Ik0yMCAxMUg3LjgzbDUuNTktNS41OUwxMiA0bC04IDggOCA4IDEuNDEtMS40MUw3LjgzIDEzSDIwdi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFycm93LWRvd253YXJkIj48cGF0aCBkPSJNMjAgMTJsLTEuNDEtMS40MUwxMyAxNi4xN1Y0aC0ydjEyLjE3bC01LjU4LTUuNTlMNCAxMmw4IDggOC04eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFycm93LWRyb3AtZG93biI+PHBhdGggZD0iTTcgMTBsNSA1IDUtNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJhcnJvdy1kcm9wLWRvd24tY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxMmwtNC00aDhsLTQgNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJhcnJvdy1kcm9wLXVwIj48cGF0aCBkPSJNNyAxNGw1LTUgNSA1eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFycm93LWZvcndhcmQiPjxwYXRoIGQ9Ik0xMiA0bC0xLjQxIDEuNDFMMTYuMTcgMTFINHYyaDEyLjE3bC01LjU4IDUuNTlMMTIgMjBsOC04eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFycm93LXVwd2FyZCI+PHBhdGggZD0iTTQgMTJsMS40MSAxLjQxTDExIDcuODNWMjBoMlY3LjgzbDUuNTggNS41OUwyMCAxMmwtOC04LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJhc3BlY3QtcmF0aW8iPjxwYXRoIGQ9Ik0xOSAxMmgtMnYzaC0zdjJoNXYtNXpNNyA5aDNWN0g1djVoMlY5em0xNC02SDNjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNi4wMUgzVjQuOTloMTh2MTQuMDJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYXNzZXNzbWVudCI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yek05IDE3SDd2LTdoMnY3em00IDBoLTJWN2gydjEwem00IDBoLTJ2LTRoMnY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFzc2lnbm1lbnQiPjxwYXRoIGQ9Ik0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptMiAxNEg3di0yaDd2MnptMy00SDd2LTJoMTB2MnptMC00SDdWN2gxMHYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFzc2lnbm1lbnQtaW5kIj48cGF0aCBkPSJNMTkgM2gtNC4xOEMxNC40IDEuODQgMTMuMyAxIDEyIDFjLTEuMyAwLTIuNC44NC0yLjgyIDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNyAwYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bTAgNGMxLjY2IDAgMyAxLjM0IDMgM3MtMS4zNCAzLTMgMy0zLTEuMzQtMy0zIDEuMzQtMyAzLTN6bTYgMTJINnYtMS40YzAtMiA0LTMuMSA2LTMuMXM2IDEuMSA2IDMuMVYxOXoiPjwvcGF0aD48L2c+CjxnIGlkPSJhc3NpZ25tZW50LWxhdGUiPjxwYXRoIGQ9Ik0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS02IDE1aC0ydi0yaDJ2MnptMC00aC0yVjhoMnY2em0tMS05Yy0uNTUgMC0xLS40NS0xLTFzLjQ1LTEgMS0xIDEgLjQ1IDEgMS0uNDUgMS0xIDF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYXNzaWdubWVudC1yZXR1cm4iPjxwYXRoIGQ9Ik0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptNCAxMmgtNHYzbC01LTUgNS01djNoNHY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFzc2lnbm1lbnQtcmV0dXJuZWQiPjxwYXRoIGQ9Ik0xOSAzaC00LjE4QzE0LjQgMS44NCAxMy4zIDEgMTIgMWMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptMCAxNWwtNS01aDNWOWg0djRoM2wtNSA1eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImFzc2lnbm1lbnQtdHVybmVkLWluIj48cGF0aCBkPSJNMTkgM2gtNC4xOEMxNC40IDEuODQgMTMuMyAxIDEyIDFjLTEuMyAwLTIuNC44NC0yLjgyIDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNyAwYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bS0yIDE0bC00LTQgMS40MS0xLjQxTDEwIDE0LjE3bDYuNTktNi41OUwxOCA5bC04IDh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYXR0YWNobWVudCI+PHBhdGggZD0iTTIgMTIuNUMyIDkuNDYgNC40NiA3IDcuNSA3SDE4YzIuMjEgMCA0IDEuNzkgNCA0cy0xLjc5IDQtNCA0SDkuNUM4LjEyIDE1IDcgMTMuODggNyAxMi41UzguMTIgMTAgOS41IDEwSDE3djJIOS40MWMtLjU1IDAtLjU1IDEgMCAxSDE4YzEuMSAwIDItLjkgMi0ycy0uOS0yLTItMkg3LjVDNS41NyA5IDQgMTAuNTcgNCAxMi41UzUuNTcgMTYgNy41IDE2SDE3djJINy41QzQuNDYgMTggMiAxNS41NCAyIDEyLjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYXV0b3JlbmV3Ij48cGF0aCBkPSJNMTIgNnYzbDQtNC00LTR2M2MtNC40MiAwLTggMy41OC04IDggMCAxLjU3LjQ2IDMuMDMgMS4yNCA0LjI2TDYuNyAxNC44Yy0uNDUtLjgzLS43LTEuNzktLjctMi44IDAtMy4zMSAyLjY5LTYgNi02em02Ljc2IDEuNzRMMTcuMyA5LjJjLjQ0Ljg0LjcgMS43OS43IDIuOCAwIDMuMzEtMi42OSA2LTYgNnYtM2wtNCA0IDQgNHYtM2M0LjQyIDAgOC0zLjU4IDgtOCAwLTEuNTctLjQ2LTMuMDMtMS4yNC00LjI2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJhY2tzcGFjZSI+PHBhdGggZD0iTTIyIDNIN2MtLjY5IDAtMS4yMy4zNS0xLjU5Ljg4TDAgMTJsNS40MSA4LjExYy4zNi41My45Ljg5IDEuNTkuODloMTVjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptLTMgMTIuNTlMMTcuNTkgMTcgMTQgMTMuNDEgMTAuNDEgMTcgOSAxNS41OSAxMi41OSAxMiA5IDguNDEgMTAuNDEgNyAxNCAxMC41OSAxNy41OSA3IDE5IDguNDEgMTUuNDEgMTIgMTkgMTUuNTl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iYmFja3VwIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0xNCAxM3Y0aC00di00SDdsNS01IDUgNWgtM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJibG9jayI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6TTQgMTJjMC00LjQyIDMuNTgtOCA4LTggMS44NSAwIDMuNTUuNjMgNC45IDEuNjlMNS42OSAxNi45QzQuNjMgMTUuNTUgNCAxMy44NSA0IDEyem04IDhjLTEuODUgMC0zLjU1LS42My00LjktMS42OUwxOC4zMSA3LjFDMTkuMzcgOC40NSAyMCAxMC4xNSAyMCAxMmMwIDQuNDItMy41OCA4LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJib29rIj48cGF0aCBkPSJNMTggMkg2Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6TTYgNGg1djhsLTIuNS0xLjVMNiAxMlY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJvb2ttYXJrIj48cGF0aCBkPSJNMTcgM0g3Yy0xLjEgMC0xLjk5LjktMS45OSAyTDUgMjFsNy0zIDcgM1Y1YzAtMS4xLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJvb2ttYXJrLWJvcmRlciI+PHBhdGggZD0iTTE3IDNIN2MtMS4xIDAtMS45OS45LTEuOTkgMkw1IDIxbDctMyA3IDNWNWMwLTEuMS0uOS0yLTItMnptMCAxNWwtNS0yLjE4TDcgMThWNWgxMHYxM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJidWctcmVwb3J0Ij48cGF0aCBkPSJNMjAgOGgtMi44MWMtLjQ1LS43OC0xLjA3LTEuNDUtMS44Mi0xLjk2TDE3IDQuNDEgMTUuNTkgM2wtMi4xNyAyLjE3QzEyLjk2IDUuMDYgMTIuNDkgNSAxMiA1Yy0uNDkgMC0uOTYuMDYtMS40MS4xN0w4LjQxIDMgNyA0LjQxbDEuNjIgMS42M0M3Ljg4IDYuNTUgNy4yNiA3LjIyIDYuODEgOEg0djJoMi4wOWMtLjA1LjMzLS4wOS42Ni0uMDkgMXYxSDR2MmgydjFjMCAuMzQuMDQuNjcuMDkgMUg0djJoMi44MWMxLjA0IDEuNzkgMi45NyAzIDUuMTkgM3M0LjE1LTEuMjEgNS4xOS0zSDIwdi0yaC0yLjA5Yy4wNS0uMzMuMDktLjY2LjA5LTF2LTFoMnYtMmgtMnYtMWMwLS4zNC0uMDQtLjY3LS4wOS0xSDIwVjh6bS02IDhoLTR2LTJoNHYyem0wLTRoLTR2LTJoNHYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImJ1aWxkIj48cGF0aCBkPSJNMjIuNyAxOWwtOS4xLTkuMWMuOS0yLjMuNC01LTEuNS02LjktMi0yLTUtMi40LTcuNC0xLjNMOSA2IDYgOSAxLjYgNC43Qy40IDcuMS45IDEwLjEgMi45IDEyLjFjMS45IDEuOSA0LjYgMi40IDYuOSAxLjVsOS4xIDkuMWMuNC40IDEgLjQgMS40IDBsMi4zLTIuM2MuNS0uNC41LTEuMS4xLTEuNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjYWNoZWQiPjxwYXRoIGQ9Ik0xOSA4bC00IDRoM2MwIDMuMzEtMi42OSA2LTYgNi0xLjAxIDAtMS45Ny0uMjUtMi44LS43bC0xLjQ2IDEuNDZDOC45NyAxOS41NCAxMC40MyAyMCAxMiAyMGM0LjQyIDAgOC0zLjU4IDgtOGgzbC00LTR6TTYgMTJjMC0zLjMxIDIuNjktNiA2LTYgMS4wMSAwIDEuOTcuMjUgMi44LjdsMS40Ni0xLjQ2QzE1LjAzIDQuNDYgMTMuNTcgNCAxMiA0Yy00LjQyIDAtOCAzLjU4LTggOEgxbDQgNCA0LTRINnoiPjwvcGF0aD48L2c+CjxnIGlkPSJjYW1lcmEtZW5oYW5jZSI+PHBhdGggZD0iTTkgM0w3LjE3IDVINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yaC0zLjE3TDE1IDNIOXptMyAxNWMtMi43NiAwLTUtMi4yNC01LTVzMi4yNC01IDUtNSA1IDIuMjQgNSA1LTIuMjQgNS01IDV6bTAtMWwxLjI1LTIuNzVMMTYgMTNsLTIuNzUtMS4yNUwxMiA5bC0xLjI1IDIuNzVMOCAxM2wyLjc1IDEuMjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2FuY2VsIj48cGF0aCBkPSJNMTIgMkM2LjQ3IDIgMiA2LjQ3IDIgMTJzNC40NyAxMCAxMCAxMCAxMC00LjQ3IDEwLTEwUzE3LjUzIDIgMTIgMnptNSAxMy41OUwxNS41OSAxNyAxMiAxMy40MSA4LjQxIDE3IDcgMTUuNTkgMTAuNTkgMTIgNyA4LjQxIDguNDEgNyAxMiAxMC41OSAxNS41OSA3IDE3IDguNDEgMTMuNDEgMTIgMTcgMTUuNTl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2FyZC1naWZ0Y2FyZCI+PHBhdGggZD0iTTIwIDZoLTIuMThjLjExLS4zMS4xOC0uNjUuMTgtMSAwLTEuNjYtMS4zNC0zLTMtMy0xLjA1IDAtMS45Ni41NC0yLjUgMS4zNWwtLjUuNjctLjUtLjY4QzEwLjk2IDIuNTQgMTAuMDUgMiA5IDIgNy4zNCAyIDYgMy4zNCA2IDVjMCAuMzUuMDcuNjkuMTggMUg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOWMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS01LTJjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXpNOSA0Yy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bTExIDE1SDR2LTJoMTZ2MnptMC01SDRWOGg1LjA4TDcgMTAuODMgOC42MiAxMiAxMSA4Ljc2bDEtMS4zNiAxIDEuMzZMMTUuMzggMTIgMTcgMTAuODMgMTQuOTIgOEgyMHY2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNhcmQtbWVtYmVyc2hpcCI+PHBhdGggZD0iTTIwIDJINGMtMS4xMSAwLTIgLjg5LTIgMnYxMWMwIDEuMTEuODkgMiAyIDJoNHY1bDQtMiA0IDJ2LTVoNGMxLjExIDAgMi0uODkgMi0yVjRjMC0xLjExLS44OS0yLTItMnptMCAxM0g0di0yaDE2djJ6bTAtNUg0VjRoMTZ2NnoiPjwvcGF0aD48L2c+CjxnIGlkPSJjYXJkLXRyYXZlbCI+PHBhdGggZD0iTTIwIDZoLTNWNGMwLTEuMTEtLjg5LTItMi0ySDljLTEuMTEgMC0yIC44OS0yIDJ2Mkg0Yy0xLjExIDAtMiAuODktMiAydjExYzAgMS4xMS44OSAyIDIgMmgxNmMxLjExIDAgMi0uODkgMi0yVjhjMC0xLjExLS44OS0yLTItMnpNOSA0aDZ2Mkg5VjR6bTExIDE1SDR2LTJoMTZ2MnptMC01SDRWOGgzdjJoMlY4aDZ2MmgyVjhoM3Y2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNoYW5nZS1oaXN0b3J5Ij48cGF0aCBkPSJNMTIgNy43N0wxOC4zOSAxOEg1LjYxTDEyIDcuNzdNMTIgNEwyIDIwaDIwTDEyIDR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2hlY2siPjxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiPjwvcGF0aD48L2c+CjxnIGlkPSJjaGVjay1ib3giPjxwYXRoIGQ9Ik0xOSAzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjExIDAgMi0uOSAyLTJWNWMwLTEuMS0uODktMi0yLTJ6bS05IDE0bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2hlY2stYm94LW91dGxpbmUtYmxhbmsiPjxwYXRoIGQ9Ik0xOSA1djE0SDVWNWgxNG0wLTJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNoZWNrLWNpcmNsZSI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0yIDE1bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2hldnJvbi1sZWZ0Ij48cGF0aCBkPSJNMTUuNDEgNy40MUwxNCA2bC02IDYgNiA2IDEuNDEtMS40MUwxMC44MyAxMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJjaGV2cm9uLXJpZ2h0Ij48cGF0aCBkPSJNMTAgNkw4LjU5IDcuNDEgMTMuMTcgMTJsLTQuNTggNC41OUwxMCAxOGw2LTZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2hyb21lLXJlYWRlci1tb2RlIj48cGF0aCBkPSJNMTMgMTJoN3YxLjVoLTd6bTAtMi41aDdWMTFoLTd6bTAgNWg3VjE2aC03ek0yMSA0SDNjLTEuMSAwLTIgLjktMiAydjEzYzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptMCAxNWgtOVY2aDl2MTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xhc3MiPjxwYXRoIGQ9Ik0xOCAySDZjLTEuMSAwLTIgLjktMiAydjE2YzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnpNNiA0aDV2OGwtMi41LTEuNUw2IDEyVjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xlYXIiPjxwYXRoIGQ9Ik0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xvc2UiPjxwYXRoIGQ9Ik0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xvdWQiPjxwYXRoIGQ9Ik0xOS4zNSAxMC4wNEMxOC42NyA2LjU5IDE1LjY0IDQgMTIgNCA5LjExIDQgNi42IDUuNjQgNS4zNSA4LjA0IDIuMzQgOC4zNiAwIDEwLjkxIDAgMTRjMCAzLjMxIDIuNjkgNiA2IDZoMTNjMi43NiAwIDUtMi4yNCA1LTUgMC0yLjY0LTIuMDUtNC43OC00LjY1LTQuOTZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xvdWQtY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptNC41IDE0SDhjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTNsLjE0LjAxQzguNTggOC4yOCAxMC4xMyA3IDEyIDdjMi4yMSAwIDQgMS43OSA0IDRoLjVjMS4zOCAwIDIuNSAxLjEyIDIuNSAyLjVTMTcuODggMTYgMTYuNSAxNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJjbG91ZC1kb25lIj48cGF0aCBkPSJNMTkuMzUgMTAuMDRDMTguNjcgNi41OSAxNS42NCA0IDEyIDQgOS4xMSA0IDYuNiA1LjY0IDUuMzUgOC4wNCAyLjM0IDguMzYgMCAxMC45MSAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDEzYzIuNzYgMCA1LTIuMjQgNS01IDAtMi42NC0yLjA1LTQuNzgtNC42NS00Ljk2ek0xMCAxN2wtMy41LTMuNSAxLjQxLTEuNDFMMTAgMTQuMTcgMTUuMTggOWwxLjQxIDEuNDFMMTAgMTd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xvdWQtZG93bmxvYWQiPjxwYXRoIGQ9Ik0xOS4zNSAxMC4wNEMxOC42NyA2LjU5IDE1LjY0IDQgMTIgNCA5LjExIDQgNi42IDUuNjQgNS4zNSA4LjA0IDIuMzQgOC4zNiAwIDEwLjkxIDAgMTRjMCAzLjMxIDIuNjkgNiA2IDZoMTNjMi43NiAwIDUtMi4yNCA1LTUgMC0yLjY0LTIuMDUtNC43OC00LjY1LTQuOTZ6TTE3IDEzbC01IDUtNS01aDNWOWg0djRoM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJjbG91ZC1vZmYiPjxwYXRoIGQ9Ik0xOS4zNSAxMC4wNEMxOC42NyA2LjU5IDE1LjY0IDQgMTIgNGMtMS40OCAwLTIuODUuNDMtNC4wMSAxLjE3bDEuNDYgMS40NkMxMC4yMSA2LjIzIDExLjA4IDYgMTIgNmMzLjA0IDAgNS41IDIuNDYgNS41IDUuNXYuNUgxOWMxLjY2IDAgMyAxLjM0IDMgMyAwIDEuMTMtLjY0IDIuMTEtMS41NiAyLjYybDEuNDUgMS40NUMyMy4xNiAxOC4xNiAyNCAxNi42OCAyNCAxNWMwLTIuNjQtMi4wNS00Ljc4LTQuNjUtNC45NnpNMyA1LjI3bDIuNzUgMi43NEMyLjU2IDguMTUgMCAxMC43NyAwIDE0YzAgMy4zMSAyLjY5IDYgNiA2aDExLjczbDIgMkwyMSAyMC43MyA0LjI3IDQgMyA1LjI3ek03LjczIDEwbDggOEg2Yy0yLjIxIDAtNC0xLjc5LTQtNHMxLjc5LTQgNC00aDEuNzN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY2xvdWQtcXVldWUiPjxwYXRoIGQ9Ik0xOS4zNSAxMC4wNEMxOC42NyA2LjU5IDE1LjY0IDQgMTIgNCA5LjExIDQgNi42IDUuNjQgNS4zNSA4LjA0IDIuMzQgOC4zNiAwIDEwLjkxIDAgMTRjMCAzLjMxIDIuNjkgNiA2IDZoMTNjMi43NiAwIDUtMi4yNCA1LTUgMC0yLjY0LTIuMDUtNC43OC00LjY1LTQuOTZ6TTE5IDE4SDZjLTIuMjEgMC00LTEuNzktNC00czEuNzktNCA0LTRoLjcxQzcuMzcgNy42OSA5LjQ4IDYgMTIgNmMzLjA0IDAgNS41IDIuNDYgNS41IDUuNXYuNUgxOWMxLjY2IDAgMyAxLjM0IDMgM3MtMS4zNCAzLTMgM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJjbG91ZC11cGxvYWQiPjxwYXRoIGQ9Ik0xOS4zNSAxMC4wNEMxOC42NyA2LjU5IDE1LjY0IDQgMTIgNCA5LjExIDQgNi42IDUuNjQgNS4zNSA4LjA0IDIuMzQgOC4zNiAwIDEwLjkxIDAgMTRjMCAzLjMxIDIuNjkgNiA2IDZoMTNjMi43NiAwIDUtMi4yNCA1LTUgMC0yLjY0LTIuMDUtNC43OC00LjY1LTQuOTZ6TTE0IDEzdjRoLTR2LTRIN2w1LTUgNSA1aC0zeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNvZGUiPjxwYXRoIGQ9Ik05LjQgMTYuNkw0LjggMTJsNC42LTQuNkw4IDZsLTYgNiA2IDYgMS40LTEuNHptNS4yIDBsNC42LTQuNi00LjYtNC42TDE2IDZsNiA2LTYgNi0xLjQtMS40eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNvbXBhcmUtYXJyb3dzIj48cGF0aCBkPSJNOS4wMSAxNEgydjJoNy4wMXYzTDEzIDE1bC0zLjk5LTR2M3ptNS45OC0xdi0zSDIyVjhoLTcuMDFWNUwxMSA5bDMuOTkgNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjb250ZW50LWNvcHkiPjxwYXRoIGQ9Ik0xNiAxSDRjLTEuMSAwLTIgLjktMiAydjE0aDJWM2gxMlYxem0zIDRIOGMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxMWMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0wIDE2SDhWN2gxMXYxNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjb250ZW50LWN1dCI+PHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJjb250ZW50LXBhc3RlIj48cGF0aCBkPSJNMTkgMmgtNC4xOEMxNC40Ljg0IDEzLjMgMCAxMiAwYy0xLjMgMC0yLjQuODQtMi44MiAySDVjLTEuMSAwLTIgLjktMiAydjE2YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnptLTcgMGMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xem03IDE4SDVWNGgydjNoMTBWNGgydjE2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNvcHlyaWdodCI+PHBhdGggZD0iTTEwLjA4IDEwLjg2Yy4wNS0uMzMuMTYtLjYyLjMtLjg3cy4zNC0uNDYuNTktLjYyYy4yNC0uMTUuNTQtLjIyLjkxLS4yMy4yMy4wMS40NC4wNS42My4xMy4yLjA5LjM4LjIxLjUyLjM2cy4yNS4zMy4zNC41My4xMy40Mi4xNC42NGgxLjc5Yy0uMDItLjQ3LS4xMS0uOS0uMjgtMS4yOXMtLjQtLjczLS43LTEuMDEtLjY2LS41LTEuMDgtLjY2LS44OC0uMjMtMS4zOS0uMjNjLS42NSAwLTEuMjIuMTEtMS43LjM0cy0uODguNTMtMS4yLjkyLS41Ni44NC0uNzEgMS4zNlM4IDExLjI5IDggMTEuODd2LjI3YzAgLjU4LjA4IDEuMTIuMjMgMS42NHMuMzkuOTcuNzEgMS4zNS43Mi42OSAxLjIuOTEgMS4wNS4zNCAxLjcuMzRjLjQ3IDAgLjkxLS4wOCAxLjMyLS4yM3MuNzctLjM2IDEuMDgtLjYzLjU2LS41OC43NC0uOTQuMjktLjc0LjMtMS4xNWgtMS43OWMtLjAxLjIxLS4wNi40LS4xNS41OHMtLjIxLjMzLS4zNi40Ni0uMzIuMjMtLjUyLjNjLS4xOS4wNy0uMzkuMDktLjYuMS0uMzYtLjAxLS42Ni0uMDgtLjg5LS4yMy0uMjUtLjE2LS40NS0uMzctLjU5LS42MnMtLjI1LS41NS0uMy0uODgtLjA4LS42Ny0uMDgtMXYtLjI3YzAtLjM1LjAzLS42OC4wOC0xLjAxek0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJjcmVhdGUiPjxwYXRoIGQ9Ik0zIDE3LjI1VjIxaDMuNzVMMTcuODEgOS45NGwtMy43NS0zLjc1TDMgMTcuMjV6TTIwLjcxIDcuMDRjLjM5LS4zOS4zOS0xLjAyIDAtMS40MWwtMi4zNC0yLjM0Yy0uMzktLjM5LTEuMDItLjM5LTEuNDEgMGwtMS44MyAxLjgzIDMuNzUgMy43NSAxLjgzLTEuODN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JlYXRlLW5ldy1mb2xkZXIiPjxwYXRoIGQ9Ik0yMCA2aC04bC0yLTJINGMtMS4xMSAwLTEuOTkuODktMS45OSAyTDIgMThjMCAxLjExLjg5IDIgMiAyaDE2YzEuMTEgMCAyLS44OSAyLTJWOGMwLTEuMTEtLjg5LTItMi0yem0tMSA4aC0zdjNoLTJ2LTNoLTN2LTJoM1Y5aDJ2M2gzdjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iY3JlZGl0LWNhcmQiPjxwYXRoIGQ9Ik0yMCA0SDRjLTEuMTEgMC0xLjk5Ljg5LTEuOTkgMkwyIDE4YzAgMS4xMS44OSAyIDIgMmgxNmMxLjExIDAgMi0uODkgMi0yVjZjMC0xLjExLS44OS0yLTItMnptMCAxNEg0di02aDE2djZ6bTAtMTBINFY2aDE2djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZGFzaGJvYXJkIj48cGF0aCBkPSJNMyAxM2g4VjNIM3YxMHptMCA4aDh2LTZIM3Y2em0xMCAwaDhWMTFoLTh2MTB6bTAtMTh2Nmg4VjNoLTh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZGF0ZS1yYW5nZSI+PHBhdGggZD0iTTkgMTFIN3YyaDJ2LTJ6bTQgMGgtMnYyaDJ2LTJ6bTQgMGgtMnYyaDJ2LTJ6bTItN2gtMVYyaC0ydjJIOFYySDZ2Mkg1Yy0xLjExIDAtMS45OS45LTEuOTkgMkwzIDIwYzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY5aDE0djExeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImRlbGV0ZSI+PHBhdGggZD0iTTYgMTljMCAxLjEuOSAyIDIgMmg4YzEuMSAwIDItLjkgMi0yVjdINnYxMnpNMTkgNGgtMy41bC0xLTFoLTVsLTEgMUg1djJoMTRWNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJkZWxldGUtZm9yZXZlciI+PHBhdGggZD0iTTYgMTljMCAxLjEuOSAyIDIgMmg4YzEuMSAwIDItLjkgMi0yVjdINnYxMnptMi40Ni03LjEybDEuNDEtMS40MUwxMiAxMi41OWwyLjEyLTIuMTIgMS40MSAxLjQxTDEzLjQxIDE0bDIuMTIgMi4xMi0xLjQxIDEuNDFMMTIgMTUuNDFsLTIuMTIgMi4xMi0xLjQxLTEuNDFMMTAuNTkgMTRsLTIuMTMtMi4xMnpNMTUuNSA0bC0xLTFoLTVsLTEgMUg1djJoMTRWNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJkZWxldGUtc3dlZXAiPjxwYXRoIGQ9Ik0xNSAxNmg0djJoLTR6bTAtOGg3djJoLTd6bTAgNGg2djJoLTZ6TTMgMThjMCAxLjEuOSAyIDIgMmg2YzEuMSAwIDItLjkgMi0yVjhIM3YxMHpNMTQgNWgtM2wtMS0xSDZMNSA1SDJ2MmgxMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJkZXNjcmlwdGlvbiI+PHBhdGggZD0iTTE0IDJINmMtMS4xIDAtMS45OS45LTEuOTkgMkw0IDIwYzAgMS4xLjg5IDIgMS45OSAySDE4YzEuMSAwIDItLjkgMi0yVjhsLTYtNnptMiAxNkg4di0yaDh2MnptMC00SDh2LTJoOHYyem0tMy01VjMuNUwxOC41IDlIMTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZG5zIj48cGF0aCBkPSJNMjAgMTNINGMtLjU1IDAtMSAuNDUtMSAxdjZjMCAuNTUuNDUgMSAxIDFoMTZjLjU1IDAgMS0uNDUgMS0xdi02YzAtLjU1LS40NS0xLTEtMXpNNyAxOWMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6TTIwIDNINGMtLjU1IDAtMSAuNDUtMSAxdjZjMCAuNTUuNDUgMSAxIDFoMTZjLjU1IDAgMS0uNDUgMS0xVjRjMC0uNTUtLjQ1LTEtMS0xek03IDljLTEuMSAwLTItLjktMi0ycy45LTIgMi0yIDIgLjkgMiAyLS45IDItMiAyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImRvbmUiPjxwYXRoIGQ9Ik05IDE2LjJMNC44IDEybC0xLjQgMS40TDkgMTkgMjEgN2wtMS40LTEuNEw5IDE2LjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZG9uZS1hbGwiPjxwYXRoIGQ9Ik0xOCA3bC0xLjQxLTEuNDEtNi4zNCA2LjM0IDEuNDEgMS40MUwxOCA3em00LjI0LTEuNDFMMTEuNjYgMTYuMTcgNy40OCAxMmwtMS40MSAxLjQxTDExLjY2IDE5bDEyLTEyLTEuNDItMS40MXpNLjQxIDEzLjQxTDYgMTlsMS40MS0xLjQxTDEuODMgMTIgLjQxIDEzLjQxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImRvbnV0LWxhcmdlIj48cGF0aCBkPSJNMTEgNS4wOFYyYy01IC41LTkgNC44MS05IDEwczQgOS41IDkgMTB2LTMuMDhjLTMtLjQ4LTYtMy40LTYtNi45MnMzLTYuNDQgNi02Ljkyek0xOC45NyAxMUgyMmMtLjQ3LTUtNC04LjUzLTktOXYzLjA4QzE2IDUuNTEgMTguNTQgOCAxOC45NyAxMXpNMTMgMTguOTJWMjJjNS0uNDcgOC41My00IDktOWgtMy4wM2MtLjQzIDMtMi45NyA1LjQ5LTUuOTcgNS45MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJkb251dC1zbWFsbCI+PHBhdGggZD0iTTExIDkuMTZWMmMtNSAuNS05IDQuNzktOSAxMHM0IDkuNSA5IDEwdi03LjE2Yy0xLS40MS0yLTEuNTItMi0yLjg0czEtMi40MyAyLTIuODR6TTE0Ljg2IDExSDIyYy0uNDgtNC43NS00LTguNTMtOS05djcuMTZjMSAuMyAxLjUyLjk4IDEuODYgMS44NHpNMTMgMTQuODRWMjJjNS0uNDcgOC41Mi00LjI1IDktOWgtNy4xNGMtLjM0Ljg2LS44NiAxLjU0LTEuODYgMS44NHoiPjwvcGF0aD48L2c+CjxnIGlkPSJkcmFmdHMiPjxwYXRoIGQ9Ik0yMS45OSA4YzAtLjcyLS4zNy0xLjM1LS45NC0xLjdMMTIgMSAyLjk1IDYuM0MyLjM4IDYuNjUgMiA3LjI4IDIgOHYxMGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0ybC0uMDEtMTB6TTEyIDEzTDMuNzQgNy44NCAxMiAzbDguMjYgNC44NEwxMiAxM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJlamVjdCI+PHBhdGggZD0iTTUgMTdoMTR2Mkg1em03LTEyTDUuMzMgMTVoMTMuMzR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXJyb3IiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0xIDE1aC0ydi0yaDJ2MnptMC00aC0yVjdoMnY2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImVycm9yLW91dGxpbmUiPjxwYXRoIGQ9Ik0xMSAxNWgydjJoLTJ6bTAtOGgydjZoLTJ6bS45OS01QzYuNDcgMiAyIDYuNDggMiAxMnM0LjQ3IDEwIDkuOTkgMTBDMTcuNTIgMjIgMjIgMTcuNTIgMjIgMTJTMTcuNTIgMiAxMS45OSAyek0xMiAyMGMtNC40MiAwLTgtMy41OC04LThzMy41OC04IDgtOCA4IDMuNTggOCA4LTMuNTggOC04IDh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXVyby1zeW1ib2wiPjxwYXRoIGQ9Ik0xNSAxOC41Yy0yLjUxIDAtNC42OC0xLjQyLTUuNzYtMy41SDE1di0ySDguNThjLS4wNS0uMzMtLjA4LS42Ni0uMDgtMXMuMDMtLjY3LjA4LTFIMTVWOUg5LjI0QzEwLjMyIDYuOTIgMTIuNSA1LjUgMTUgNS41YzEuNjEgMCAzLjA5LjU5IDQuMjMgMS41N0wyMSA1LjNDMTkuNDEgMy44NyAxNy4zIDMgMTUgM2MtMy45MiAwLTcuMjQgMi41MS04LjQ4IDZIM3YyaDMuMDZjLS4wNC4zMy0uMDYuNjYtLjA2IDEgMCAuMzQuMDIuNjcuMDYgMUgzdjJoMy41MmMxLjI0IDMuNDkgNC41NiA2IDguNDggNiAyLjMxIDAgNC40MS0uODcgNi0yLjNsLTEuNzgtMS43N2MtMS4xMy45OC0yLjYgMS41Ny00LjIyIDEuNTd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZXZlbnQiPjxwYXRoIGQ9Ik0xNyAxMmgtNXY1aDV2LTV6TTE2IDF2Mkg4VjFINnYySDVjLTEuMTEgMC0xLjk5LjktMS45OSAyTDMgMTljMCAxLjEuODkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMmgtMVYxaC0yem0zIDE4SDVWOGgxNHYxMXoiPjwvcGF0aD48L2c+CjxnIGlkPSJldmVudC1zZWF0Ij48cGF0aCBkPSJNNCAxOHYzaDN2LTNoMTB2M2gzdi02SDR6bTE1LThoM3YzaC0zek0yIDEwaDN2M0gyem0xNSAzSDdWNWMwLTEuMS45LTIgMi0yaDZjMS4xIDAgMiAuOSAyIDJ2OHoiPjwvcGF0aD48L2c+CjxnIGlkPSJleGl0LXRvLWFwcCI+PHBhdGggZD0iTTEwLjA5IDE1LjU5TDExLjUgMTdsNS01LTUtNS0xLjQxIDEuNDFMMTIuNjcgMTFIM3YyaDkuNjdsLTIuNTggMi41OXpNMTkgM0g1Yy0xLjExIDAtMiAuOS0yIDJ2NGgyVjVoMTR2MTRINXYtNEgzdjRjMCAxLjEuODkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJleHBhbmQtbGVzcyI+PHBhdGggZD0iTTEyIDhsLTYgNiAxLjQxIDEuNDFMMTIgMTAuODNsNC41OSA0LjU4TDE4IDE0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImV4cGFuZC1tb3JlIj48cGF0aCBkPSJNMTYuNTkgOC41OUwxMiAxMy4xNyA3LjQxIDguNTkgNiAxMGw2IDYgNi02eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImV4cGxvcmUiPjxwYXRoIGQ9Ik0xMiAxMC45Yy0uNjEgMC0xLjEuNDktMS4xIDEuMXMuNDkgMS4xIDEuMSAxLjFjLjYxIDAgMS4xLS40OSAxLjEtMS4xcy0uNDktMS4xLTEuMS0xLjF6TTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTIuMTkgMTIuMTlMNiAxOGwzLjgxLTguMTlMMTggNmwtMy44MSA4LjE5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImV4dGVuc2lvbiI+PHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZhY2UiPjxwYXRoIGQ9Ik05IDExLjc1Yy0uNjkgMC0xLjI1LjU2LTEuMjUgMS4yNXMuNTYgMS4yNSAxLjI1IDEuMjUgMS4yNS0uNTYgMS4yNS0xLjI1LS41Ni0xLjI1LTEuMjUtMS4yNXptNiAwYy0uNjkgMC0xLjI1LjU2LTEuMjUgMS4yNXMuNTYgMS4yNSAxLjI1IDEuMjUgMS4yNS0uNTYgMS4yNS0xLjI1LS41Ni0xLjI1LTEuMjUtMS4yNXpNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MSAwLTgtMy41OS04LTggMC0uMjkuMDItLjU4LjA1LS44NiAyLjM2LTEuMDUgNC4yMy0yLjk4IDUuMjEtNS4zN0MxMS4wNyA4LjMzIDE0LjA1IDEwIDE3LjQyIDEwYy43OCAwIDEuNTMtLjA5IDIuMjUtLjI2LjIxLjcxLjMzIDEuNDcuMzMgMi4yNiAwIDQuNDEtMy41OSA4LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJmYXZvcml0ZSI+PHBhdGggZD0iTTEyIDIxLjM1bC0xLjQ1LTEuMzJDNS40IDE1LjM2IDIgMTIuMjggMiA4LjUgMiA1LjQyIDQuNDIgMyA3LjUgM2MxLjc0IDAgMy40MS44MSA0LjUgMi4wOUMxMy4wOSAzLjgxIDE0Ljc2IDMgMTYuNSAzIDE5LjU4IDMgMjIgNS40MiAyMiA4LjVjMCAzLjc4LTMuNCA2Ljg2LTguNTUgMTEuNTRMMTIgMjEuMzV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmF2b3JpdGUtYm9yZGVyIj48cGF0aCBkPSJNMTYuNSAzYy0xLjc0IDAtMy40MS44MS00LjUgMi4wOUMxMC45MSAzLjgxIDkuMjQgMyA3LjUgMyA0LjQyIDMgMiA1LjQyIDIgOC41YzAgMy43OCAzLjQgNi44NiA4LjU1IDExLjU0TDEyIDIxLjM1bDEuNDUtMS4zMkMxOC42IDE1LjM2IDIyIDEyLjI4IDIyIDguNSAyMiA1LjQyIDE5LjU4IDMgMTYuNSAzem0tNC40IDE1LjU1bC0uMS4xLS4xLS4xQzcuMTQgMTQuMjQgNCAxMS4zOSA0IDguNSA0IDYuNSA1LjUgNSA3LjUgNWMxLjU0IDAgMy4wNC45OSAzLjU3IDIuMzZoMS44N0MxMy40NiA1Ljk5IDE0Ljk2IDUgMTYuNSA1YzIgMCAzLjUgMS41IDMuNSAzLjUgMCAyLjg5LTMuMTQgNS43NC03LjkgMTAuMDV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmVlZGJhY2siPjxwYXRoIGQ9Ik0yMCAySDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAyMmw0LTRoMTRjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnptLTcgMTJoLTJ2LTJoMnYyem0wLTRoLTJWNmgydjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmlsZS1kb3dubG9hZCI+PHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiPjwvcGF0aD48L2c+CjxnIGlkPSJmaWxlLXVwbG9hZCI+PHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZpbHRlci1saXN0Ij48cGF0aCBkPSJNMTAgMThoNHYtMmgtNHYyek0zIDZ2MmgxOFY2SDN6bTMgN2gxMnYtMkg2djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmluZC1pbi1wYWdlIj48cGF0aCBkPSJNMjAgMTkuNTlWOGwtNi02SDZjLTEuMSAwLTEuOTkuOS0xLjk5IDJMNCAyMGMwIDEuMS44OSAyIDEuOTkgMkgxOGMuNDUgMCAuODUtLjE1IDEuMTktLjRsLTQuNDMtNC40M2MtLjguNTItMS43NC44My0yLjc2LjgzLTIuNzYgMC01LTIuMjQtNS01czIuMjQtNSA1LTUgNSAyLjI0IDUgNWMwIDEuMDItLjMxIDEuOTYtLjgzIDIuNzVMMjAgMTkuNTl6TTkgMTNjMCAxLjY2IDEuMzQgMyAzIDNzMy0xLjM0IDMtMy0xLjM0LTMtMy0zLTMgMS4zNC0zIDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmluZC1yZXBsYWNlIj48cGF0aCBkPSJNMTEgNmMxLjM4IDAgMi42My41NiAzLjU0IDEuNDZMMTIgMTBoNlY0bC0yLjA1IDIuMDVDMTQuNjggNC43OCAxMi45MyA0IDExIDRjLTMuNTMgMC02LjQzIDIuNjEtNi45MiA2SDYuMWMuNDYtMi4yOCAyLjQ4LTQgNC45LTR6bTUuNjQgOS4xNGMuNjYtLjkgMS4xMi0xLjk3IDEuMjgtMy4xNEgxNS45Yy0uNDYgMi4yOC0yLjQ4IDQtNC45IDQtMS4zOCAwLTIuNjMtLjU2LTMuNTQtMS40NkwxMCAxMkg0djZsMi4wNS0yLjA1QzcuMzIgMTcuMjIgOS4wNyAxOCAxMSAxOGMxLjU1IDAgMi45OC0uNTEgNC4xNC0xLjM2TDIwIDIxLjQ5IDIxLjQ5IDIwbC00Ljg1LTQuODZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmluZ2VycHJpbnQiPjxwYXRoIGQ9Ik0xNy44MSA0LjQ3Yy0uMDggMC0uMTYtLjAyLS4yMy0uMDZDMTUuNjYgMy40MiAxNCAzIDEyLjAxIDNjLTEuOTggMC0zLjg2LjQ3LTUuNTcgMS40MS0uMjQuMTMtLjU0LjA0LS42OC0uMi0uMTMtLjI0LS4wNC0uNTUuMi0uNjhDNy44MiAyLjUyIDkuODYgMiAxMi4wMSAyYzIuMTMgMCAzLjk5LjQ3IDYuMDMgMS41Mi4yNS4xMy4zNC40My4yMS42Ny0uMDkuMTgtLjI2LjI4LS40NC4yOHpNMy41IDkuNzJjLS4xIDAtLjItLjAzLS4yOS0uMDktLjIzLS4xNi0uMjgtLjQ3LS4xMi0uNy45OS0xLjQgMi4yNS0yLjUgMy43NS0zLjI3QzkuOTggNC4wNCAxNCA0LjAzIDE3LjE1IDUuNjVjMS41Ljc3IDIuNzYgMS44NiAzLjc1IDMuMjUuMTYuMjIuMTEuNTQtLjEyLjctLjIzLjE2LS41NC4xMS0uNy0uMTItLjktMS4yNi0yLjA0LTIuMjUtMy4zOS0yLjk0LTIuODctMS40Ny02LjU0LTEuNDctOS40LjAxLTEuMzYuNy0yLjUgMS43LTMuNCAyLjk2LS4wOC4xNC0uMjMuMjEtLjM5LjIxem02LjI1IDEyLjA3Yy0uMTMgMC0uMjYtLjA1LS4zNS0uMTUtLjg3LS44Ny0xLjM0LTEuNDMtMi4wMS0yLjY0LS42OS0xLjIzLTEuMDUtMi43My0xLjA1LTQuMzQgMC0yLjk3IDIuNTQtNS4zOSA1LjY2LTUuMzlzNS42NiAyLjQyIDUuNjYgNS4zOWMwIC4yOC0uMjIuNS0uNS41cy0uNS0uMjItLjUtLjVjMC0yLjQyLTIuMDktNC4zOS00LjY2LTQuMzktMi41NyAwLTQuNjYgMS45Ny00LjY2IDQuMzkgMCAxLjQ0LjMyIDIuNzcuOTMgMy44NS42NCAxLjE1IDEuMDggMS42NCAxLjg1IDIuNDIuMTkuMi4xOS41MSAwIC43MS0uMTEuMS0uMjQuMTUtLjM3LjE1em03LjE3LTEuODVjLTEuMTkgMC0yLjI0LS4zLTMuMS0uODktMS40OS0xLjAxLTIuMzgtMi42NS0yLjM4LTQuMzkgMC0uMjguMjItLjUuNS0uNXMuNS4yMi41LjVjMCAxLjQxLjcyIDIuNzQgMS45NCAzLjU2LjcxLjQ4IDEuNTQuNzEgMi41NC43MS4yNCAwIC42NC0uMDMgMS4wNC0uMS4yNy0uMDUuNTMuMTMuNTguNDEuMDUuMjctLjEzLjUzLS40MS41OC0uNTcuMTEtMS4wNy4xMi0xLjIxLjEyek0xNC45MSAyMmMtLjA0IDAtLjA5LS4wMS0uMTMtLjAyLTEuNTktLjQ0LTIuNjMtMS4wMy0zLjcyLTIuMS0xLjQtMS4zOS0yLjE3LTMuMjQtMi4xNy01LjIyIDAtMS42MiAxLjM4LTIuOTQgMy4wOC0yLjk0IDEuNyAwIDMuMDggMS4zMiAzLjA4IDIuOTQgMCAxLjA3LjkzIDEuOTQgMi4wOCAxLjk0czIuMDgtLjg3IDIuMDgtMS45NGMwLTMuNzctMy4yNS02LjgzLTcuMjUtNi44My0yLjg0IDAtNS40NCAxLjU4LTYuNjEgNC4wMy0uMzkuODEtLjU5IDEuNzYtLjU5IDIuOCAwIC43OC4wNyAyLjAxLjY3IDMuNjEuMS4yNi0uMDMuNTUtLjI5LjY0LS4yNi4xLS41NS0uMDQtLjY0LS4yOS0uNDktMS4zMS0uNzMtMi42MS0uNzMtMy45NiAwLTEuMi4yMy0yLjI5LjY4LTMuMjQgMS4zMy0yLjc5IDQuMjgtNC42IDcuNTEtNC42IDQuNTUgMCA4LjI1IDMuNTEgOC4yNSA3LjgzIDAgMS42Mi0xLjM4IDIuOTQtMy4wOCAyLjk0cy0zLjA4LTEuMzItMy4wOC0yLjk0YzAtMS4wNy0uOTMtMS45NC0yLjA4LTEuOTRzLTIuMDguODctMi4wOCAxLjk0YzAgMS43MS42NiAzLjMxIDEuODcgNC41MS45NS45NCAxLjg2IDEuNDYgMy4yNyAxLjg1LjI3LjA3LjQyLjM1LjM1LjYxLS4wNS4yMy0uMjYuMzgtLjQ3LjM4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZpcnN0LXBhZ2UiPjxwYXRoIGQ9Ik0xOC40MSAxNi41OUwxMy44MiAxMmw0LjU5LTQuNTlMMTcgNmwtNiA2IDYgNnpNNiA2aDJ2MTJINnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmbGFnIj48cGF0aCBkPSJNMTQuNCA2TDE0IDRINXYxN2gydi03aDUuNmwuNCAyaDdWNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmbGlnaHQtbGFuZCI+PHBhdGggZD0iTTIuNSAxOWgxOXYyaC0xOXptNy4xOC01LjczbDQuMzUgMS4xNiA1LjMxIDEuNDJjLjguMjEgMS42Mi0uMjYgMS44NC0xLjA2LjIxLS44LS4yNi0xLjYyLTEuMDYtMS44NGwtNS4zMS0xLjQyLTIuNzYtOS4wMkwxMC4xMiAydjguMjhMNS4xNSA4Ljk1bC0uOTMtMi4zMi0xLjQ1LS4zOXY1LjE3bDEuNi40MyA1LjMxIDEuNDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZmxpZ2h0LXRha2VvZmYiPjxwYXRoIGQ9Ik0yLjUgMTloMTl2MmgtMTl6bTE5LjU3LTkuMzZjLS4yMS0uOC0xLjA0LTEuMjgtMS44NC0xLjA2TDE0LjkyIDEwbC02LjktNi40My0xLjkzLjUxIDQuMTQgNy4xNy00Ljk3IDEuMzMtMS45Ny0xLjU0LTEuNDUuMzkgMS44MiAzLjE2Ljc3IDEuMzMgMS42LS40MyA1LjMxLTEuNDIgNC4zNS0xLjE2TDIxIDExLjQ5Yy44MS0uMjMgMS4yOC0xLjA1IDEuMDctMS44NXoiPjwvcGF0aD48L2c+CjxnIGlkPSJmbGlwLXRvLWJhY2siPjxwYXRoIGQ9Ik05IDdIN3YyaDJWN3ptMCA0SDd2Mmgydi0yem0wLThjLTEuMTEgMC0yIC45LTIgMmgyVjN6bTQgMTJoLTJ2Mmgydi0yem02LTEydjJoMmMwLTEuMS0uOS0yLTItMnptLTYgMGgtMnYyaDJWM3pNOSAxN3YtMkg3YzAgMS4xLjg5IDIgMiAyem0xMC00aDJ2LTJoLTJ2MnptMC00aDJWN2gtMnYyem0wIDhjMS4xIDAgMi0uOSAyLTJoLTJ2MnpNNSA3SDN2MTJjMCAxLjEuODkgMiAyIDJoMTJ2LTJINVY3em0xMC0yaDJWM2gtMnYyem0wIDEyaDJ2LTJoLTJ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJmbGlwLXRvLWZyb250Ij48cGF0aCBkPSJNMyAxM2gydi0ySDN2MnptMCA0aDJ2LTJIM3Yyem0yIDR2LTJIM2MwIDEuMS44OSAyIDIgMnpNMyA5aDJWN0gzdjJ6bTEyIDEyaDJ2LTJoLTJ2MnptNC0xOEg5Yy0xLjExIDAtMiAuOS0yIDJ2MTBjMCAxLjEuODkgMiAyIDJoMTBjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxMkg5VjVoMTB2MTB6bS04IDZoMnYtMmgtMnYyem0tNCAwaDJ2LTJIN3YyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZvbGRlciI+PHBhdGggZD0iTTEwIDRINGMtMS4xIDAtMS45OS45LTEuOTkgMkwyIDE4YzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWOGMwLTEuMS0uOS0yLTItMmgtOGwtMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZvbGRlci1vcGVuIj48cGF0aCBkPSJNMjAgNmgtOGwtMi0ySDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAxOGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bTAgMTJINFY4aDE2djEweiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZvbGRlci1zaGFyZWQiPjxwYXRoIGQ9Ik0yMCA2aC04bC0yLTJINGMtMS4xIDAtMS45OS45LTEuOTkgMkwyIDE4YzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWOGMwLTEuMS0uOS0yLTItMnptLTUgM2MxLjEgMCAyIC45IDIgMnMtLjkgMi0yIDItMi0uOS0yLTIgLjktMiAyLTJ6bTQgOGgtOHYtMWMwLTEuMzMgMi42Ny0yIDQtMnM0IC42NyA0IDJ2MXoiPjwvcGF0aD48L2c+CjxnIGlkPSJmb250LWRvd25sb2FkIj48cGF0aCBkPSJNOS45MyAxMy41aDQuMTRMMTIgNy45OHpNMjAgMkg0Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS00LjA1IDE2LjVsLTEuMTQtM0g5LjE3bC0xLjEyIDNINS45Nmw1LjExLTEzaDEuODZsNS4xMSAxM2gtMi4wOXoiPjwvcGF0aD48L2c+CjxnIGlkPSJmb3J3YXJkIj48cGF0aCBkPSJNMTIgOFY0bDggOC04IDh2LTRINFY4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZ1bGxzY3JlZW4iPjxwYXRoIGQ9Ik03IDE0SDV2NWg1di0ySDd2LTN6bS0yLTRoMlY3aDNWNUg1djV6bTEyIDdoLTN2Mmg1di01aC0ydjN6TTE0IDV2MmgzdjNoMlY1aC01eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImZ1bGxzY3JlZW4tZXhpdCI+PHBhdGggZD0iTTUgMTZoM3YzaDJ2LTVINXYyem0zLThINXYyaDVWNUg4djN6bTYgMTFoMnYtM2gzdi0yaC01djV6bTItMTFWNWgtMnY1aDVWOGgtM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJnLXRyYW5zbGF0ZSI+PHBhdGggZD0iTTIwIDVoLTkuMTJMMTAgMkg0Yy0xLjEgMC0yIC45LTIgMnYxM2MwIDEuMS45IDIgMiAyaDdsMSAzaDhjMS4xIDAgMi0uOSAyLTJWN2MwLTEuMS0uOS0yLTItMnpNNy4xNyAxNC41OWMtMi4yNSAwLTQuMDktMS44My00LjA5LTQuMDlzMS44My00LjA5IDQuMDktNC4wOWMxLjA0IDAgMS45OS4zNyAyLjc0IDEuMDdsLjA3LjA2LTEuMjMgMS4xOC0uMDYtLjA1Yy0uMjktLjI3LS43OC0uNTktMS41Mi0uNTktMS4zMSAwLTIuMzggMS4wOS0yLjM4IDIuNDJzMS4wNyAyLjQyIDIuMzggMi40MmMxLjM3IDAgMS45Ni0uODcgMi4xMi0xLjQ2SDcuMDhWOS45MWgzLjk1bC4wMS4wN2MuMDQuMjEuMDUuNC4wNS42MSAwIDIuMzUtMS42MSA0LTMuOTIgNHptNi4wMy0xLjcxYy4zMy42Ljc0IDEuMTggMS4xOSAxLjdsLS41NC41My0uNjUtMi4yM3ptLjc3LS43NmgtLjk5bC0uMzEtMS4wNGgzLjk5cy0uMzQgMS4zMS0xLjU2IDIuNzRjLS41Mi0uNjItLjg5LTEuMjMtMS4xMy0xLjd6TTIxIDIwYzAgLjU1LS40NSAxLTEgMWgtN2wyLTItLjgxLTIuNzcuOTItLjkyTDE3Ljc5IDE4bC43My0uNzMtMi43MS0yLjY4Yy45LTEuMDMgMS42LTIuMjUgMS45Mi0zLjUxSDE5di0xLjA0aC0zLjY0VjloLTEuMDR2MS4wNGgtMS45NkwxMS4xOCA2SDIwYy41NSAwIDEgLjQ1IDEgMXYxM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJnYXZlbCI+PHBhdGggZD0iTTEgMjFoMTJ2Mkgxek01LjI0NSA4LjA3bDIuODMtMi44MjcgMTQuMTQgMTQuMTQyLTIuODI4IDIuODI4ek0xMi4zMTcgMWw1LjY1NyA1LjY1Ni0yLjgzIDIuODMtNS42NTQtNS42NnpNMy44MjUgOS40ODVsNS42NTcgNS42NTctMi44MjggMi44MjgtNS42NTctNS42NTd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZ2VzdHVyZSI+PHBhdGggZD0iTTQuNTkgNi44OWMuNy0uNzEgMS40LTEuMzUgMS43MS0xLjIyLjUuMiAwIDEuMDMtLjMgMS41Mi0uMjUuNDItMi44NiAzLjg5LTIuODYgNi4zMSAwIDEuMjguNDggMi4zNCAxLjM0IDIuOTguNzUuNTYgMS43NC43MyAyLjY0LjQ2IDEuMDctLjMxIDEuOTUtMS40IDMuMDYtMi43NyAxLjIxLTEuNDkgMi44My0zLjQ0IDQuMDgtMy40NCAxLjYzIDAgMS42NSAxLjAxIDEuNzYgMS43OS0zLjc4LjY0LTUuMzggMy42Ny01LjM4IDUuMzcgMCAxLjcgMS40NCAzLjA5IDMuMjEgMy4wOSAxLjYzIDAgNC4yOS0xLjMzIDQuNjktNi4xSDIxdi0yLjVoLTIuNDdjLS4xNS0xLjY1LTEuMDktNC4yLTQuMDMtNC4yLTIuMjUgMC00LjE4IDEuOTEtNC45NCAyLjg0LS41OC43My0yLjA2IDIuNDgtMi4yOSAyLjcyLS4yNS4zLS42OC44NC0xLjExLjg0LS40NSAwLS43Mi0uODMtLjM2LTEuOTIuMzUtMS4wOSAxLjQtMi44NiAxLjg1LTMuNTIuNzgtMS4xNCAxLjMtMS45MiAxLjMtMy4yOEM4Ljk1IDMuNjkgNy4zMSAzIDYuNDQgMyA1LjEyIDMgMy45NyA0IDMuNzIgNC4yNWMtLjM2LjM2LS42Ni42Ni0uODguOTNsMS43NSAxLjcxem05LjI5IDExLjY2Yy0uMzEgMC0uNzQtLjI2LS43NC0uNzIgMC0uNi43My0yLjIgMi44Ny0yLjc2LS4zIDIuNjktMS40MyAzLjQ4LTIuMTMgMy40OHoiPjwvcGF0aD48L2c+CjxnIGlkPSJnZXQtYXBwIj48cGF0aCBkPSJNMTkgOWgtNFYzSDl2Nkg1bDcgNyA3LTd6TTUgMTh2MmgxNHYtMkg1eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImdpZiI+PHBhdGggZD0iTTExLjUgOUgxM3Y2aC0xLjV6TTkgOUg2Yy0uNiAwLTEgLjUtMSAxdjRjMCAuNS40IDEgMSAxaDNjLjYgMCAxLS41IDEtMXYtMkg4LjV2MS41aC0ydi0zSDEwVjEwYzAtLjUtLjQtMS0xLTF6bTEwIDEuNVY5aC00LjV2NkgxNnYtMmgydi0xLjVoLTJ2LTF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iZ3JhZGUiPjxwYXRoIGQ9Ik0xMiAxNy4yN0wxOC4xOCAyMWwtMS42NC03LjAzTDIyIDkuMjRsLTcuMTktLjYxTDEyIDIgOS4xOSA4LjYzIDIgOS4yNGw1LjQ2IDQuNzNMNS44MiAyMXoiPjwvcGF0aD48L2c+CjxnIGlkPSJncm91cC13b3JrIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnpNOCAxNy41Yy0xLjM4IDAtMi41LTEuMTItMi41LTIuNXMxLjEyLTIuNSAyLjUtMi41IDIuNSAxLjEyIDIuNSAyLjUtMS4xMiAyLjUtMi41IDIuNXpNOS41IDhjMC0xLjM4IDEuMTItMi41IDIuNS0yLjVzMi41IDEuMTIgMi41IDIuNS0xLjEyIDIuNS0yLjUgMi41UzkuNSA5LjM4IDkuNSA4em02LjUgOS41Yy0xLjM4IDAtMi41LTEuMTItMi41LTIuNXMxLjEyLTIuNSAyLjUtMi41IDIuNSAxLjEyIDIuNSAyLjUtMS4xMiAyLjUtMi41IDIuNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJoZWxwIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMSAxN2gtMnYtMmgydjJ6bTIuMDctNy43NWwtLjkuOTJDMTMuNDUgMTIuOSAxMyAxMy41IDEzIDE1aC0ydi0uNWMwLTEuMS40NS0yLjEgMS4xNy0yLjgzbDEuMjQtMS4yNmMuMzctLjM2LjU5LS44Ni41OS0xLjQxIDAtMS4xLS45LTItMi0ycy0yIC45LTIgMkg4YzAtMi4yMSAxLjc5LTQgNC00czQgMS43OSA0IDRjMCAuODgtLjM2IDEuNjgtLjkzIDIuMjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaGVscC1vdXRsaW5lIj48cGF0aCBkPSJNMTEgMThoMnYtMmgtMnYyem0xLTE2QzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHptMC0xNGMtMi4yMSAwLTQgMS43OS00IDRoMmMwLTEuMS45LTIgMi0yczIgLjkgMiAyYzAgMi0zIDEuNzUtMyA1aDJjMC0yLjI1IDMtMi41IDMtNSAwLTIuMjEtMS43OS00LTQtNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJoaWdobGlnaHQtb2ZmIj48cGF0aCBkPSJNMTQuNTkgOEwxMiAxMC41OSA5LjQxIDggOCA5LjQxIDEwLjU5IDEyIDggMTQuNTkgOS40MSAxNiAxMiAxMy40MSAxNC41OSAxNiAxNiAxNC41OSAxMy40MSAxMiAxNiA5LjQxIDE0LjU5IDh6TTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imhpc3RvcnkiPjxwYXRoIGQ9Ik0xMyAzYy00Ljk3IDAtOSA0LjAzLTkgOUgxbDMuODkgMy44OS4wNy4xNEw5IDEySDZjMC0zLjg3IDMuMTMtNyA3LTdzNyAzLjEzIDcgNy0zLjEzIDctNyA3Yy0xLjkzIDAtMy42OC0uNzktNC45NC0yLjA2bC0xLjQyIDEuNDJDOC4yNyAxOS45OSAxMC41MSAyMSAxMyAyMWM0Ljk3IDAgOS00LjAzIDktOXMtNC4wMy05LTktOXptLTEgNXY1bDQuMjggMi41NC43Mi0xLjIxLTMuNS0yLjA4VjhIMTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaG9tZSI+PHBhdGggZD0iTTEwIDIwdi02aDR2Nmg1di04aDNMMTIgMyAyIDEyaDN2OHoiPjwvcGF0aD48L2c+CjxnIGlkPSJob3VyZ2xhc3MtZW1wdHkiPjxwYXRoIGQ9Ik02IDJ2NmguMDFMNiA4LjAxIDEwIDEybC00IDQgLjAxLjAxSDZWMjJoMTJ2LTUuOTloLS4wMUwxOCAxNmwtNC00IDQtMy45OS0uMDEtLjAxSDE4VjJINnptMTAgMTQuNVYyMEg4di0zLjVsNC00IDQgNHptLTQtNWwtNC00VjRoOHYzLjVsLTQgNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJob3VyZ2xhc3MtZnVsbCI+PHBhdGggZD0iTTYgMnY2aC4wMUw2IDguMDEgMTAgMTJsLTQgNCAuMDEuMDFINlYyMmgxMnYtNS45OWgtLjAxTDE4IDE2bC00LTQgNC0zLjk5LS4wMS0uMDFIMThWMkg2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imh0dHAiPjxwYXRoIGQ9Ik00LjUgMTFoLTJWOUgxdjZoMS41di0yLjVoMlYxNUg2VjlINC41djJ6bTIuNS0uNWgxLjVWMTVIMTB2LTQuNWgxLjVWOUg3djEuNXptNS41IDBIMTRWMTVoMS41di00LjVIMTdWOWgtNC41djEuNXptOS0xLjVIMTh2NmgxLjV2LTJoMmMuOCAwIDEuNS0uNyAxLjUtMS41di0xYzAtLjgtLjctMS41LTEuNS0xLjV6bTAgMi41aC0ydi0xaDJ2MXoiPjwvcGF0aD48L2c+CjxnIGlkPSJodHRwcyI+PHBhdGggZD0iTTE4IDhoLTFWNmMwLTIuNzYtMi4yNC01LTUtNVM3IDMuMjQgNyA2djJINmMtMS4xIDAtMiAuOS0yIDJ2MTBjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlYxMGMwLTEuMS0uOS0yLTItMnptLTYgOWMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6bTMuMS05SDguOVY2YzAtMS43MSAxLjM5LTMuMSAzLjEtMy4xIDEuNzEgMCAzLjEgMS4zOSAzLjEgMy4xdjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaW1wb3J0YW50LWRldmljZXMiPjxwYXRoIGQ9Ik0yMyAxMS4wMUwxOCAxMWMtLjU1IDAtMSAuNDUtMSAxdjljMCAuNTUuNDUgMSAxIDFoNWMuNTUgMCAxLS40NSAxLTF2LTljMC0uNTUtLjQ1LS45OS0xLS45OXpNMjMgMjBoLTV2LTdoNXY3ek0yMCAySDJDLjg5IDIgMCAyLjg5IDAgNHYxMmMwIDEuMS44OSAyIDIgMmg3djJIN3YyaDh2LTJoLTJ2LTJoMnYtMkgyVjRoMTh2NWgyVjRjMC0xLjExLS45LTItMi0yem0tOC4wMyA3TDExIDZsLS45NyAzSDdsMi40NyAxLjc2LS45NCAyLjkxIDIuNDctMS44IDIuNDcgMS44LS45NC0yLjkxTDE1IDloLTMuMDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaW5ib3giPjxwYXRoIGQ9Ik0xOSAzSDQuOTljLTEuMTEgMC0xLjk4Ljg5LTEuOTggMkwzIDE5YzAgMS4xLjg4IDIgMS45OSAySDE5YzEuMSAwIDItLjkgMi0yVjVjMC0xLjExLS45LTItMi0yem0wIDEyaC00YzAgMS42Ni0xLjM1IDMtMyAzcy0zLTEuMzQtMy0zSDQuOTlWNUgxOXYxMHoiPjwvcGF0aD48L2c+CjxnIGlkPSJpbmRldGVybWluYXRlLWNoZWNrLWJveCI+PHBhdGggZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tMiAxMEg3di0yaDEwdjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaW5mbyI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTEgMTVoLTJ2LTZoMnY2em0wLThoLTJWN2gydjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iaW5mby1vdXRsaW5lIj48cGF0aCBkPSJNMTEgMTdoMnYtNmgtMnY2em0xLTE1QzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHpNMTEgOWgyVjdoLTJ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJpbnB1dCI+PHBhdGggZD0iTTIxIDMuMDFIM2MtMS4xIDAtMiAuOS0yIDJWOWgyVjQuOTloMTh2MTQuMDNIM1YxNUgxdjQuMDFjMCAxLjEuOSAxLjk4IDIgMS45OGgxOGMxLjEgMCAyLS44OCAyLTEuOTh2LTE0YzAtMS4xMS0uOS0yLTItMnpNMTEgMTZsNC00LTQtNHYzSDF2MmgxMHYzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImludmVydC1jb2xvcnMiPjxwYXRoIGQ9Ik0xNy42NiA3LjkzTDEyIDIuMjcgNi4zNCA3LjkzYy0zLjEyIDMuMTItMy4xMiA4LjE5IDAgMTEuMzFDNy45IDIwLjggOS45NSAyMS41OCAxMiAyMS41OGMyLjA1IDAgNC4xLS43OCA1LjY2LTIuMzQgMy4xMi0zLjEyIDMuMTItOC4xOSAwLTExLjMxek0xMiAxOS41OWMtMS42IDAtMy4xMS0uNjItNC4yNC0xLjc2QzYuNjIgMTYuNjkgNiAxNS4xOSA2IDEzLjU5cy42Mi0zLjExIDEuNzYtNC4yNEwxMiA1LjF2MTQuNDl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibGFiZWwiPjxwYXRoIGQ9Ik0xNy42MyA1Ljg0QzE3LjI3IDUuMzMgMTYuNjcgNSAxNiA1TDUgNS4wMUMzLjkgNS4wMSAzIDUuOSAzIDd2MTBjMCAxLjEuOSAxLjk5IDIgMS45OUwxNiAxOWMuNjcgMCAxLjI3LS4zMyAxLjYzLS44NEwyMiAxMmwtNC4zNy02LjE2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxhYmVsLW91dGxpbmUiPjxwYXRoIGQ9Ik0xNy42MyA1Ljg0QzE3LjI3IDUuMzMgMTYuNjcgNSAxNiA1TDUgNS4wMUMzLjkgNS4wMSAzIDUuOSAzIDd2MTBjMCAxLjEuOSAxLjk5IDIgMS45OUwxNiAxOWMuNjcgMCAxLjI3LS4zMyAxLjYzLS44NEwyMiAxMmwtNC4zNy02LjE2ek0xNiAxN0g1VjdoMTFsMy41NSA1TDE2IDE3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imxhbmd1YWdlIj48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9Imxhc3QtcGFnZSI+PHBhdGggZD0iTTUuNTkgNy40MUwxMC4xOCAxMmwtNC41OSA0LjU5TDcgMThsNi02LTYtNnpNMTYgNmgydjEyaC0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxhdW5jaCI+PHBhdGggZD0iTTE5IDE5SDVWNWg3VjNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0ydi03aC0ydjd6TTE0IDN2MmgzLjU5bC05LjgzIDkuODMgMS40MSAxLjQxTDE5IDYuNDFWMTBoMlYzaC03eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxpZ2h0YnVsYi1vdXRsaW5lIj48cGF0aCBkPSJNOSAyMWMwIC41NS40NSAxIDEgMWg0Yy41NSAwIDEtLjQ1IDEtMXYtMUg5djF6bTMtMTlDOC4xNCAyIDUgNS4xNCA1IDljMCAyLjM4IDEuMTkgNC40NyAzIDUuNzRWMTdjMCAuNTUuNDUgMSAxIDFoNmMuNTUgMCAxLS40NSAxLTF2LTIuMjZjMS44MS0xLjI3IDMtMy4zNiAzLTUuNzQgMC0zLjg2LTMuMTQtNy03LTd6bTIuODUgMTEuMWwtLjg1LjZWMTZoLTR2LTIuM2wtLjg1LS42QzcuOCAxMi4xNiA3IDEwLjYzIDcgOWMwLTIuNzYgMi4yNC01IDUtNXM1IDIuMjQgNSA1YzAgMS42My0uOCAzLjE2LTIuMTUgNC4xeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxpbmUtc3R5bGUiPjxwYXRoIGQ9Ik0zIDE2aDV2LTJIM3Yyem02LjUgMGg1di0yaC01djJ6bTYuNSAwaDV2LTJoLTV2MnpNMyAyMGgydi0ySDN2MnptNCAwaDJ2LTJIN3Yyem00IDBoMnYtMmgtMnYyem00IDBoMnYtMmgtMnYyem00IDBoMnYtMmgtMnYyek0zIDEyaDh2LTJIM3Yyem0xMCAwaDh2LTJoLTh2MnpNMyA0djRoMThWNEgzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxpbmUtd2VpZ2h0Ij48cGF0aCBkPSJNMyAxN2gxOHYtMkgzdjJ6bTAgM2gxOHYtMUgzdjF6bTAtN2gxOHYtM0gzdjN6bTAtOXY0aDE4VjRIM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJsaW5rIj48cGF0aCBkPSJNMy45IDEyYzAtMS43MSAxLjM5LTMuMSAzLjEtMy4xaDRWN0g3Yy0yLjc2IDAtNSAyLjI0LTUgNXMyLjI0IDUgNSA1aDR2LTEuOUg3Yy0xLjcxIDAtMy4xLTEuMzktMy4xLTMuMXpNOCAxM2g4di0ySDh2MnptOS02aC00djEuOWg0YzEuNzEgMCAzLjEgMS4zOSAzLjEgMy4xcy0xLjM5IDMuMS0zLjEgMy4xaC00VjE3aDRjMi43NiAwIDUtMi4yNCA1LTVzLTIuMjQtNS01LTV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibGlzdCI+PHBhdGggZD0iTTMgMTNoMnYtMkgzdjJ6bTAgNGgydi0ySDN2MnptMC04aDJWN0gzdjJ6bTQgNGgxNHYtMkg3djJ6bTAgNGgxNHYtMkg3djJ6TTcgN3YyaDE0VjdIN3oiPjwvcGF0aD48L2c+CjxnIGlkPSJsb2NrIj48cGF0aCBkPSJNMTggOGgtMVY2YzAtMi43Ni0yLjI0LTUtNS01UzcgMy4yNCA3IDZ2Mkg2Yy0xLjEgMC0yIC45LTIgMnYxMGMwIDEuMS45IDIgMiAyaDEyYzEuMSAwIDItLjkgMi0yVjEwYzAtMS4xLS45LTItMi0yem0tNiA5Yy0xLjEgMC0yLS45LTItMnMuOS0yIDItMiAyIC45IDIgMi0uOSAyLTIgMnptMy4xLTlIOC45VjZjMC0xLjcxIDEuMzktMy4xIDMuMS0zLjEgMS43MSAwIDMuMSAxLjM5IDMuMSAzLjF2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJsb2NrLW9wZW4iPjxwYXRoIGQ9Ik0xMiAxN2MxLjEgMCAyLS45IDItMnMtLjktMi0yLTItMiAuOS0yIDIgLjkgMiAyIDJ6bTYtOWgtMVY2YzAtMi43Ni0yLjI0LTUtNS01UzcgMy4yNCA3IDZoMS45YzAtMS43MSAxLjM5LTMuMSAzLjEtMy4xIDEuNzEgMCAzLjEgMS4zOSAzLjEgMy4xdjJINmMtMS4xIDAtMiAuOS0yIDJ2MTBjMCAxLjEuOSAyIDIgMmgxMmMxLjEgMCAyLS45IDItMlYxMGMwLTEuMS0uOS0yLTItMnptMCAxMkg2VjEwaDEydjEweiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxvY2stb3V0bGluZSI+PHBhdGggZD0iTTEyIDE3YzEuMSAwIDItLjkgMi0ycy0uOS0yLTItMi0yIC45LTIgMiAuOSAyIDIgMnptNi05aC0xVjZjMC0yLjc2LTIuMjQtNS01LTVTNyAzLjI0IDcgNnYySDZjLTEuMSAwLTIgLjktMiAydjEwYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWMTBjMC0xLjEtLjktMi0yLTJ6TTguOSA2YzAtMS43MSAxLjM5LTMuMSAzLjEtMy4xczMuMSAxLjM5IDMuMSAzLjF2Mkg4LjlWNnpNMTggMjBINlYxMGgxMnYxMHoiPjwvcGF0aD48L2c+CjxnIGlkPSJsb3ctcHJpb3JpdHkiPjxwYXRoIGQ9Ik0xNCA1aDh2MmgtOHptMCA1LjVoOHYyaC04em0wIDUuNWg4djJoLTh6TTIgMTEuNUMyIDE1LjA4IDQuOTIgMTggOC41IDE4SDl2MmwzLTMtMy0zdjJoLS41QzYuMDIgMTYgNCAxMy45OCA0IDExLjVTNi4wMiA3IDguNSA3SDEyVjVIOC41QzQuOTIgNSAyIDcuOTIgMiAxMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImxveWFsdHkiPjxwYXRoIGQ9Ik0yMS40MSAxMS41OGwtOS05QzEyLjA1IDIuMjIgMTEuNTUgMiAxMSAySDRjLTEuMSAwLTIgLjktMiAydjdjMCAuNTUuMjIgMS4wNS41OSAxLjQybDkgOWMuMzYuMzYuODYuNTggMS40MS41OC41NSAwIDEuMDUtLjIyIDEuNDEtLjU5bDctN2MuMzctLjM2LjU5LS44Ni41OS0xLjQxIDAtLjU1LS4yMy0xLjA2LS41OS0xLjQyek01LjUgN0M0LjY3IDcgNCA2LjMzIDQgNS41UzQuNjcgNCA1LjUgNCA3IDQuNjcgNyA1LjUgNi4zMyA3IDUuNSA3em0xMS43NyA4LjI3TDEzIDE5LjU0bC00LjI3LTQuMjdDOC4yOCAxNC44MSA4IDE0LjE5IDggMTMuNWMwLTEuMzggMS4xMi0yLjUgMi41LTIuNS42OSAwIDEuMzIuMjggMS43Ny43NGwuNzMuNzIuNzMtLjczYy40NS0uNDUgMS4wOC0uNzMgMS43Ny0uNzMgMS4zOCAwIDIuNSAxLjEyIDIuNSAyLjUgMCAuNjktLjI4IDEuMzItLjczIDEuNzd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibWFpbCI+PHBhdGggZD0iTTIwIDRINGMtMS4xIDAtMS45OS45LTEuOTkgMkwyIDE4YzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptMCA0bC04IDUtOC01VjZsOCA1IDgtNXYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1hcmt1bnJlYWQiPjxwYXRoIGQ9Ik0yMCA0SDRjLTEuMSAwLTEuOTkuOS0xLjk5IDJMMiAxOGMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjZjMC0xLjEtLjktMi0yLTJ6bTAgNGwtOCA1LTgtNVY2bDggNSA4LTV2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJtYXJrdW5yZWFkLW1haWxib3giPjxwYXRoIGQ9Ik0yMCA2SDEwdjZIOFY0aDZWMEg2djZINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1lbnUiPjxwYXRoIGQ9Ik0zIDE4aDE4di0ySDN2MnptMC01aDE4di0ySDN2MnptMC03djJoMThWNkgzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1vcmUtaG9yaXoiPjxwYXRoIGQ9Ik02IDEwYy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptMTIgMGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bS02IDBjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1vcmUtdmVydCI+PHBhdGggZD0iTTEyIDhjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0yLTIgLjktMiAyIC45IDIgMiAyem0wIDJjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yem0wIDZjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9Im1vdG9yY3ljbGUiPjxwYXRoIGQ9Ik0xOS40NCA5LjAzTDE1LjQxIDVIMTF2MmgzLjU5bDIgMkg1Yy0yLjggMC01IDIuMi01IDVzMi4yIDUgNSA1YzIuNDYgMCA0LjQ1LTEuNjkgNC45LTRoMS42NWwyLjc3LTIuNzdjLS4yMS41NC0uMzIgMS4xNC0uMzIgMS43NyAwIDIuOCAyLjIgNSA1IDVzNS0yLjIgNS01YzAtMi42NS0xLjk3LTQuNzctNC41Ni00Ljk3ek03LjgyIDE1QzcuNCAxNi4xNSA2LjI4IDE3IDUgMTdjLTEuNjMgMC0zLTEuMzctMy0zczEuMzctMyAzLTNjMS4yOCAwIDIuNC44NSAyLjgyIDJINXYyaDIuODJ6TTE5IDE3Yy0xLjY2IDAtMy0xLjM0LTMtM3MxLjM0LTMgMy0zIDMgMS4zNCAzIDMtMS4zNCAzLTMgM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJtb3ZlLXRvLWluYm94Ij48cGF0aCBkPSJNMTkgM0g0Ljk5Yy0xLjExIDAtMS45OC45LTEuOTggMkwzIDE5YzAgMS4xLjg4IDIgMS45OSAySDE5YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTJoLTRjMCAxLjY2LTEuMzUgMy0zIDNzLTMtMS4zNC0zLTNINC45OVY1SDE5djEwem0tMy01aC0yVjdoLTR2M0g4bDQgNCA0LTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ibmV4dC13ZWVrIj48cGF0aCBkPSJNMjAgN2gtNFY1YzAtLjU1LS4yMi0xLjA1LS41OS0xLjQxQzE1LjA1IDMuMjIgMTQuNTUgMyAxNCAzaC00Yy0xLjEgMC0yIC45LTIgMnYySDRjLTEuMSAwLTIgLjktMiAydjExYzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWOWMwLTEuMS0uOS0yLTItMnpNMTAgNWg0djJoLTRWNXptMSAxMy41bC0xLTEgMy0zLTMtMyAxLTEgNCA0LTQgNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJub3RlLWFkZCI+PHBhdGggZD0iTTE0IDJINmMtMS4xIDAtMS45OS45LTEuOTkgMkw0IDIwYzAgMS4xLjg5IDIgMS45OSAySDE4YzEuMSAwIDItLjkgMi0yVjhsLTYtNnptMiAxNGgtM3YzaC0ydi0zSDh2LTJoM3YtM2gydjNoM3Yyem0tMy03VjMuNUwxOC41IDlIMTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ib2ZmbGluZS1waW4iPjxwYXRoIGQ9Ik0xMiAyQzYuNSAyIDIgNi41IDIgMTJzNC41IDEwIDEwIDEwIDEwLTQuNSAxMC0xMFMxNy41IDIgMTIgMnptNSAxNkg3di0yaDEwdjJ6bS02LjctNEw3IDEwLjdsMS40LTEuNCAxLjkgMS45IDUuMy01LjNMMTcgNy4zIDEwLjMgMTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ib3BhY2l0eSI+PHBhdGggZD0iTTE3LjY2IDhMMTIgMi4zNSA2LjM0IDhDNC43OCA5LjU2IDQgMTEuNjQgNCAxMy42NHMuNzggNC4xMSAyLjM0IDUuNjcgMy42MSAyLjM1IDUuNjYgMi4zNSA0LjEtLjc5IDUuNjYtMi4zNVMyMCAxNS42NCAyMCAxMy42NCAxOS4yMiA5LjU2IDE3LjY2IDh6TTYgMTRjLjAxLTIgLjYyLTMuMjcgMS43Ni00LjRMMTIgNS4yN2w0LjI0IDQuMzhDMTcuMzggMTAuNzcgMTcuOTkgMTIgMTggMTRINnoiPjwvcGF0aD48L2c+CjxnIGlkPSJvcGVuLWluLWJyb3dzZXIiPjxwYXRoIGQ9Ik0xOSA0SDVjLTEuMTEgMC0yIC45LTIgMnYxMmMwIDEuMS44OSAyIDIgMmg0di0ySDVWOGgxNHYxMGgtNHYyaDRjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uODktMi0yLTJ6bS03IDZsLTQgNGgzdjZoMnYtNmgzbC00LTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ib3Blbi1pbi1uZXciPjxwYXRoIGQ9Ik0xOSAxOUg1VjVoN1YzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiPjwvcGF0aD48L2c+CjxnIGlkPSJvcGVuLXdpdGgiPjxwYXRoIGQ9Ik0xMCA5aDRWNmgzbC01LTUtNSA1aDN2M3ptLTEgMUg2VjdsLTUgNSA1IDV2LTNoM3YtNHptMTQgMmwtNS01djNoLTN2NGgzdjNsNS01em0tOSAzaC00djNIN2w1IDUgNS01aC0zdi0zeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBhZ2V2aWV3Ij48cGF0aCBkPSJNMTEuNSA5QzEwLjEyIDkgOSAxMC4xMiA5IDExLjVzMS4xMiAyLjUgMi41IDIuNSAyLjUtMS4xMiAyLjUtMi41UzEyLjg4IDkgMTEuNSA5ek0yMCA0SDRjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoMTZjMS4xIDAgMi0uOSAyLTJWNmMwLTEuMS0uOS0yLTItMnptLTMuMjEgMTQuMjFsLTIuOTEtMi45MWMtLjY5LjQ0LTEuNTEuNy0yLjM5LjdDOS4wMSAxNiA3IDEzLjk5IDcgMTEuNVM5LjAxIDcgMTEuNSA3IDE2IDkuMDEgMTYgMTEuNWMwIC44OC0uMjYgMS42OS0uNyAyLjM5bDIuOTEgMi45LTEuNDIgMS40MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJwYW4tdG9vbCI+PHBhdGggZD0iTTIzIDUuNVYyMGMwIDIuMi0xLjggNC00IDRoLTcuM2MtMS4wOCAwLTIuMS0uNDMtMi44NS0xLjE5TDEgMTQuODNzMS4yNi0xLjIzIDEuMy0xLjI1Yy4yMi0uMTkuNDktLjI5Ljc5LS4yOS4yMiAwIC40Mi4wNi42LjE2LjA0LjAxIDQuMzEgMi40NiA0LjMxIDIuNDZWNGMwLS44My42Ny0xLjUgMS41LTEuNVMxMSAzLjE3IDExIDR2N2gxVjEuNWMwLS44My42Ny0xLjUgMS41LTEuNVMxNSAuNjcgMTUgMS41VjExaDFWMi41YzAtLjgzLjY3LTEuNSAxLjUtMS41czEuNS42NyAxLjUgMS41VjExaDFWNS41YzAtLjgzLjY3LTEuNSAxLjUtMS41czEuNS42NyAxLjUgMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBheW1lbnQiPjxwYXRoIGQ9Ik0yMCA0SDRjLTEuMTEgMC0xLjk5Ljg5LTEuOTkgMkwyIDE4YzAgMS4xMS44OSAyIDIgMmgxNmMxLjExIDAgMi0uODkgMi0yVjZjMC0xLjExLS44OS0yLTItMnptMCAxNEg0di02aDE2djZ6bTAtMTBINFY2aDE2djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGVybS1jYW1lcmEtbWljIj48cGF0aCBkPSJNMjAgNWgtMy4xN0wxNSAzSDlMNy4xNyA1SDRjLTEuMSAwLTIgLjktMiAydjEyYzAgMS4xLjkgMiAyIDJoN3YtMi4wOWMtMi44My0uNDgtNS0yLjk0LTUtNS45MWgyYzAgMi4yMSAxLjc5IDQgNCA0czQtMS43OSA0LTRoMmMwIDIuOTctMi4xNyA1LjQzLTUgNS45MVYyMWg3YzEuMSAwIDItLjkgMi0yVjdjMC0xLjEtLjktMi0yLTJ6bS02IDhjMCAxLjEtLjkgMi0yIDJzLTItLjktMi0yVjljMC0xLjEuOS0yIDItMnMyIC45IDIgMnY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBlcm0tY29udGFjdC1jYWxlbmRhciI+PHBhdGggZD0iTTE5IDNoLTFWMWgtMnYySDhWMUg2djJINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bS03IDNjMS42NiAwIDMgMS4zNCAzIDNzLTEuMzQgMy0zIDMtMy0xLjM0LTMtMyAxLjM0LTMgMy0zem02IDEySDZ2LTFjMC0yIDQtMy4xIDYtMy4xczYgMS4xIDYgMy4xdjF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGVybS1kYXRhLXNldHRpbmciPjxwYXRoIGQ9Ik0xOC45OSAxMS41Yy4zNCAwIC42Ny4wMyAxIC4wN0wyMCAwIDAgMjBoMTEuNTZjLS4wNC0uMzMtLjA3LS42Ni0uMDctMSAwLTQuMTQgMy4zNi03LjUgNy41LTcuNXptMy43MSA3Ljk5Yy4wMi0uMTYuMDQtLjMyLjA0LS40OSAwLS4xNy0uMDEtLjMzLS4wNC0uNDlsMS4wNi0uODNjLjA5LS4wOC4xMi0uMjEuMDYtLjMybC0xLTEuNzNjLS4wNi0uMTEtLjE5LS4xNS0uMzEtLjExbC0xLjI0LjVjLS4yNi0uMi0uNTQtLjM3LS44NS0uNDlsLS4xOS0xLjMyYy0uMDEtLjEyLS4xMi0uMjEtLjI0LS4yMWgtMmMtLjEyIDAtLjIzLjA5LS4yNS4yMWwtLjE5IDEuMzJjLS4zLjEzLS41OS4yOS0uODUuNDlsLTEuMjQtLjVjLS4xMS0uMDQtLjI0IDAtLjMxLjExbC0xIDEuNzNjLS4wNi4xMS0uMDQuMjQuMDYuMzJsMS4wNi44M2MtLjAyLjE2LS4wMy4zMi0uMDMuNDkgMCAuMTcuMDEuMzMuMDMuNDlsLTEuMDYuODNjLS4wOS4wOC0uMTIuMjEtLjA2LjMybDEgMS43M2MuMDYuMTEuMTkuMTUuMzEuMTFsMS4yNC0uNWMuMjYuMi41NC4zNy44NS40OWwuMTkgMS4zMmMuMDIuMTIuMTIuMjEuMjUuMjFoMmMuMTIgMCAuMjMtLjA5LjI1LS4yMWwuMTktMS4zMmMuMy0uMTMuNTktLjI5Ljg0LS40OWwxLjI1LjVjLjExLjA0LjI0IDAgLjMxLS4xMWwxLTEuNzNjLjA2LS4xMS4wMy0uMjQtLjA2LS4zMmwtMS4wNy0uODN6bS0zLjcxIDEuMDFjLS44MyAwLTEuNS0uNjctMS41LTEuNXMuNjctMS41IDEuNS0xLjUgMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBlcm0tZGV2aWNlLWluZm9ybWF0aW9uIj48cGF0aCBkPSJNMTMgN2gtMnYyaDJWN3ptMCA0aC0ydjZoMnYtNnptNC05Ljk5TDcgMWMtMS4xIDAtMiAuOS0yIDJ2MThjMCAxLjEuOSAyIDIgMmgxMGMxLjEgMCAyLS45IDItMlYzYzAtMS4xLS45LTEuOTktMi0xLjk5ek0xNyAxOUg3VjVoMTB2MTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGVybS1pZGVudGl0eSI+PHBhdGggZD0iTTEyIDUuOWMxLjE2IDAgMi4xLjk0IDIuMSAyLjFzLS45NCAyLjEtMi4xIDIuMVM5LjkgOS4xNiA5LjkgOHMuOTQtMi4xIDIuMS0yLjFtMCA5YzIuOTcgMCA2LjEgMS40NiA2LjEgMi4xdjEuMUg1LjlWMTdjMC0uNjQgMy4xMy0yLjEgNi4xLTIuMU0xMiA0QzkuNzkgNCA4IDUuNzkgOCA4czEuNzkgNCA0IDQgNC0xLjc5IDQtNC0xLjc5LTQtNC00em0wIDljLTIuNjcgMC04IDEuMzQtOCA0djNoMTZ2LTNjMC0yLjY2LTUuMzMtNC04LTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGVybS1tZWRpYSI+PHBhdGggZD0iTTIgNkgwdjVoLjAxTDAgMjBjMCAxLjEuOSAyIDIgMmgxOHYtMkgyVjZ6bTIwLTJoLThsLTItMkg2Yy0xLjEgMC0xLjk5LjktMS45OSAyTDQgMTZjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yek03IDE1bDQuNS02IDMuNSA0LjUxIDIuNS0zLjAxTDIxIDE1SDd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGVybS1waG9uZS1tc2ciPjxwYXRoIGQ9Ik0yMCAxNS41Yy0xLjI1IDAtMi40NS0uMi0zLjU3LS41Ny0uMzUtLjExLS43NC0uMDMtMS4wMi4yNGwtMi4yIDIuMmMtMi44My0xLjQ0LTUuMTUtMy43NS02LjU5LTYuNThsMi4yLTIuMjFjLjI4LS4yNy4zNi0uNjYuMjUtMS4wMUM4LjcgNi40NSA4LjUgNS4yNSA4LjUgNGMwLS41NS0uNDUtMS0xLTFINGMtLjU1IDAtMSAuNDUtMSAxIDAgOS4zOSA3LjYxIDE3IDE3IDE3IC41NSAwIDEtLjQ1IDEtMXYtMy41YzAtLjU1LS40NS0xLTEtMXpNMTIgM3YxMGwzLTNoNlYzaC05eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBlcm0tc2Nhbi13aWZpIj48cGF0aCBkPSJNMTIgM0M2Ljk1IDMgMy4xNSA0Ljg1IDAgNy4yM0wxMiAyMiAyNCA3LjI1QzIwLjg1IDQuODcgMTcuMDUgMyAxMiAzem0xIDEzaC0ydi02aDJ2NnptLTItOFY2aDJ2MmgtMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJwZXRzIj48Y2lyY2xlIGN4PSI0LjUiIGN5PSI5LjUiIHI9IjIuNSI+PC9jaXJjbGU+PGNpcmNsZSBjeD0iOSIgY3k9IjUuNSIgcj0iMi41Ij48L2NpcmNsZT48Y2lyY2xlIGN4PSIxNSIgY3k9IjUuNSIgcj0iMi41Ij48L2NpcmNsZT48Y2lyY2xlIGN4PSIxOS41IiBjeT0iOS41IiByPSIyLjUiPjwvY2lyY2xlPjxwYXRoIGQ9Ik0xNy4zNCAxNC44NmMtLjg3LTEuMDItMS42LTEuODktMi40OC0yLjkxLS40Ni0uNTQtMS4wNS0xLjA4LTEuNzUtMS4zMi0uMTEtLjA0LS4yMi0uMDctLjMzLS4wOS0uMjUtLjA0LS41Mi0uMDQtLjc4LS4wNHMtLjUzIDAtLjc5LjA1Yy0uMTEuMDItLjIyLjA1LS4zMy4wOS0uNy4yNC0xLjI4Ljc4LTEuNzUgMS4zMi0uODcgMS4wMi0xLjYgMS44OS0yLjQ4IDIuOTEtMS4zMSAxLjMxLTIuOTIgMi43Ni0yLjYyIDQuNzkuMjkgMS4wMiAxLjAyIDIuMDMgMi4zMyAyLjMyLjczLjE1IDMuMDYtLjQ0IDUuNTQtLjQ0aC4xOGMyLjQ4IDAgNC44MS41OCA1LjU0LjQ0IDEuMzEtLjI5IDIuMDQtMS4zMSAyLjMzLTIuMzIuMzEtMi4wNC0xLjMtMy40OS0yLjYxLTQuOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJwaWN0dXJlLWluLXBpY3R1cmUiPjxwYXRoIGQ9Ik0xOSA3aC04djZoOFY3em0yLTRIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAxLjk4IDIgMS45OGgxOGMxLjEgMCAyLS44OCAyLTEuOThWNWMwLTEuMS0uOS0yLTItMnptMCAxNi4wMUgzVjQuOThoMTh2MTQuMDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icGljdHVyZS1pbi1waWN0dXJlLWFsdCI+PHBhdGggZD0iTTE5IDExaC04djZoOHYtNnptNCA4VjQuOThDMjMgMy44OCAyMi4xIDMgMjEgM0gzYy0xLjEgMC0yIC44OC0yIDEuOThWMTljMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMnptLTIgLjAySDNWNC45N2gxOHYxNC4wNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJwbGF5LWZvci13b3JrIj48cGF0aCBkPSJNMTEgNXY1LjU5SDcuNWw0LjUgNC41IDQuNS00LjVIMTNWNWgtMnptLTUgOWMwIDMuMzEgMi42OSA2IDYgNnM2LTIuNjkgNi02aC0yYzAgMi4yMS0xLjc5IDQtNCA0cy00LTEuNzktNC00SDZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icG9seW1lciI+PHBhdGggZD0iTTE5IDRoLTRMNy4xMSAxNi42MyA0LjUgMTIgOSA0SDVMLjUgMTIgNSAyMGg0bDcuODktMTIuNjNMMTkuNSAxMiAxNSAyMGg0bDQuNS04eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InBvd2VyLXNldHRpbmdzLW5ldyI+PHBhdGggZD0iTTEzIDNoLTJ2MTBoMlYzem00LjgzIDIuMTdsLTEuNDIgMS40MkMxNy45OSA3Ljg2IDE5IDkuODEgMTkgMTJjMCAzLjg3LTMuMTMgNy03IDdzLTctMy4xMy03LTdjMC0yLjE5IDEuMDEtNC4xNCAyLjU4LTUuNDJMNi4xNyA1LjE3QzQuMjMgNi44MiAzIDkuMjYgMyAxMmMwIDQuOTcgNC4wMyA5IDkgOXM5LTQuMDMgOS05YzAtMi43NC0xLjIzLTUuMTgtMy4xNy02LjgzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InByZWduYW50LXdvbWFuIj48cGF0aCBkPSJNOSA0YzAtMS4xMS44OS0yIDItMnMyIC44OSAyIDItLjg5IDItMiAyLTItLjg5LTItMnptNyA5Yy0uMDEtMS4zNC0uODMtMi41MS0yLTMgMC0xLjY2LTEuMzQtMy0zLTNzLTMgMS4zNC0zIDN2N2gydjVoM3YtNWgzdi00eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InByaW50Ij48cGF0aCBkPSJNMTkgOEg1Yy0xLjY2IDAtMyAxLjM0LTMgM3Y2aDR2NGgxMnYtNGg0di02YzAtMS42Ni0xLjM0LTMtMy0zem0tMyAxMUg4di01aDh2NXptMy03Yy0uNTUgMC0xLS40NS0xLTFzLjQ1LTEgMS0xIDEgLjQ1IDEgMS0uNDUgMS0xIDF6bS0xLTlINnY0aDEyVjN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icXVlcnktYnVpbGRlciI+PHBhdGggZD0iTTExLjk5IDJDNi40NyAyIDIgNi40OCAyIDEyczQuNDcgMTAgOS45OSAxMEMxNy41MiAyMiAyMiAxNy41MiAyMiAxMlMxNy41MiAyIDExLjk5IDJ6TTEyIDIwYy00LjQyIDAtOC0zLjU4LTgtOHMzLjU4LTggOC04IDggMy41OCA4IDgtMy41OCA4LTggOHptLjUtMTNIMTF2Nmw1LjI1IDMuMTUuNzUtMS4yMy00LjUtMi42N3oiPjwvcGF0aD48L2c+CjxnIGlkPSJxdWVzdGlvbi1hbnN3ZXIiPjxwYXRoIGQ9Ik0yMSA2aC0ydjlINnYyYzAgLjU1LjQ1IDEgMSAxaDExbDQgNFY3YzAtLjU1LS40NS0xLTEtMXptLTQgNlYzYzAtLjU1LS40NS0xLTEtMUgzYy0uNTUgMC0xIC40NS0xIDF2MTRsNC00aDEwYy41NSAwIDEtLjQ1IDEtMXoiPjwvcGF0aD48L2c+CjxnIGlkPSJyYWRpby1idXR0b24tY2hlY2tlZCI+PHBhdGggZD0iTTEyIDdjLTIuNzYgMC01IDIuMjQtNSA1czIuMjQgNSA1IDUgNS0yLjI0IDUtNS0yLjI0LTUtNS01em0wLTVDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJhZGlvLWJ1dHRvbi11bmNoZWNrZWQiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQyIDAtOC0zLjU4LTgtOHMzLjU4LTggOC04IDggMy41OCA4IDgtMy41OCA4LTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJyZWNlaXB0Ij48cGF0aCBkPSJNMTggMTdINnYtMmgxMnYyem0wLTRINnYtMmgxMnYyem0wLTRINlY3aDEydjJ6TTMgMjJsMS41LTEuNUw2IDIybDEuNS0xLjVMOSAyMmwxLjUtMS41TDEyIDIybDEuNS0xLjVMMTUgMjJsMS41LTEuNUwxOCAyMmwxLjUtMS41TDIxIDIyVjJsLTEuNSAxLjVMMTggMmwtMS41IDEuNUwxNSAybC0xLjUgMS41TDEyIDJsLTEuNSAxLjVMOSAyIDcuNSAzLjUgNiAyIDQuNSAzLjUgMyAydjIweiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlY29yZC12b2ljZS1vdmVyIj48Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iNCI+PC9jaXJjbGU+PHBhdGggZD0iTTkgMTVjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6bTcuNzYtOS42NGwtMS42OCAxLjY5Yy44NCAxLjE4Ljg0IDIuNzEgMCAzLjg5bDEuNjggMS42OWMyLjAyLTIuMDIgMi4wMi01LjA3IDAtNy4yN3pNMjAuMDcgMmwtMS42MyAxLjYzYzIuNzcgMy4wMiAyLjc3IDcuNTYgMCAxMC43NEwyMC4wNyAxNmMzLjktMy44OSAzLjkxLTkuOTUgMC0xNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJyZWRlZW0iPjxwYXRoIGQ9Ik0yMCA2aC0yLjE4Yy4xMS0uMzEuMTgtLjY1LjE4LTEgMC0xLjY2LTEuMzQtMy0zLTMtMS4wNSAwLTEuOTYuNTQtMi41IDEuMzVsLS41LjY3LS41LS42OEMxMC45NiAyLjU0IDEwLjA1IDIgOSAyIDcuMzQgMiA2IDMuMzQgNiA1YzAgLjM1LjA3LjY5LjE4IDFINGMtMS4xMSAwLTEuOTkuODktMS45OSAyTDIgMTljMCAxLjExLjg5IDIgMiAyaDE2YzEuMTEgMCAyLS44OSAyLTJWOGMwLTEuMTEtLjg5LTItMi0yem0tNS0yYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6TTkgNGMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xem0xMSAxNUg0di0yaDE2djJ6bTAtNUg0VjhoNS4wOEw3IDEwLjgzIDguNjIgMTIgMTEgOC43NmwxLTEuMzYgMSAxLjM2TDE1LjM4IDEyIDE3IDEwLjgzIDE0LjkyIDhIMjB2NnoiPjwvcGF0aD48L2c+CjxnIGlkPSJyZWRvIj48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlZnJlc2giPjxwYXRoIGQ9Ik0xNy42NSA2LjM1QzE2LjIgNC45IDE0LjIxIDQgMTIgNGMtNC40MiAwLTcuOTkgMy41OC03Ljk5IDhzMy41NyA4IDcuOTkgOGMzLjczIDAgNi44NC0yLjU1IDcuNzMtNmgtMi4wOGMtLjgyIDIuMzMtMy4wNCA0LTUuNjUgNC0zLjMxIDAtNi0yLjY5LTYtNnMyLjY5LTYgNi02YzEuNjYgMCAzLjE0LjY5IDQuMjIgMS43OEwxMyAxMWg3VjRsLTIuMzUgMi4zNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJyZW1vdmUiPjxwYXRoIGQ9Ik0xOSAxM0g1di0yaDE0djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icmVtb3ZlLWNpcmNsZSI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTUgMTFIN3YtMmgxMHYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlbW92ZS1jaXJjbGUtb3V0bGluZSI+PHBhdGggZD0iTTcgMTF2MmgxMHYtMkg3em01LTlDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlbW92ZS1zaG9wcGluZy1jYXJ0Ij48cGF0aCBkPSJNMjIuNzMgMjIuNzNMMi43NyAyLjc3IDIgMmwtLjczLS43M0wwIDIuNTRsNC4zOSA0LjM5IDIuMjEgNC42Ni0xLjM1IDIuNDVjLS4xNi4yOC0uMjUuNjEtLjI1Ljk2IDAgMS4xLjkgMiAyIDJoNy40NmwxLjM4IDEuMzhjLS41LjM2LS44My45NS0uODMgMS42MiAwIDEuMS44OSAyIDEuOTkgMiAuNjcgMCAxLjI2LS4zMyAxLjYyLS44NEwyMS40NiAyNGwxLjI3LTEuMjd6TTcuNDIgMTVjLS4xNCAwLS4yNS0uMTEtLjI1LS4yNWwuMDMtLjEyLjktMS42M2gyLjM2bDIgMkg3LjQyem04LjEzLTJjLjc1IDAgMS40MS0uNDEgMS43NS0xLjAzbDMuNTgtNi40OWMuMDgtLjE0LjEyLS4zMS4xMi0uNDggMC0uNTUtLjQ1LTEtMS0xSDYuNTRsOS4wMSA5ek03IDE4Yy0xLjEgMC0xLjk5LjktMS45OSAyUzUuOSAyMiA3IDIyczItLjkgMi0yLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlb3JkZXIiPjxwYXRoIGQ9Ik0zIDE1aDE4di0ySDN2MnptMCA0aDE4di0ySDN2MnptMC04aDE4VjlIM3Yyem0wLTZ2MmgxOFY1SDN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icmVwbHkiPjxwYXRoIGQ9Ik0xMCA5VjVsLTcgNyA3IDd2LTQuMWM1IDAgOC41IDEuNiAxMSA1LjEtMS01LTQtMTAtMTEtMTF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icmVwbHktYWxsIj48cGF0aCBkPSJNNyA4VjVsLTcgNyA3IDd2LTNsLTQtNCA0LTR6bTYgMVY1bC03IDcgNyA3di00LjFjNSAwIDguNSAxLjYgMTEgNS4xLTEtNS00LTEwLTExLTExeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlcG9ydCI+PHBhdGggZD0iTTE1LjczIDNIOC4yN0wzIDguMjd2Ny40Nkw4LjI3IDIxaDcuNDZMMjEgMTUuNzNWOC4yN0wxNS43MyAzek0xMiAxNy4zYy0uNzIgMC0xLjMtLjU4LTEuMy0xLjMgMC0uNzIuNTgtMS4zIDEuMy0xLjMuNzIgMCAxLjMuNTggMS4zIDEuMyAwIC43Mi0uNTggMS4zLTEuMyAxLjN6bTEtNC4zaC0yVjdoMnY2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlcG9ydC1wcm9ibGVtIj48cGF0aCBkPSJNMSAyMWgyMkwxMiAyIDEgMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJlc3RvcmUiPjxwYXRoIGQ9Ik0xMyAzYy00Ljk3IDAtOSA0LjAzLTkgOUgxbDMuODkgMy44OS4wNy4xNEw5IDEySDZjMC0zLjg3IDMuMTMtNyA3LTdzNyAzLjEzIDcgNy0zLjEzIDctNyA3Yy0xLjkzIDAtMy42OC0uNzktNC45NC0yLjA2bC0xLjQyIDEuNDJDOC4yNyAxOS45OSAxMC41MSAyMSAxMyAyMWM0Ljk3IDAgOS00LjAzIDktOXMtNC4wMy05LTktOXptLTEgNXY1bDQuMjggMi41NC43Mi0xLjIxLTMuNS0yLjA4VjhIMTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icmVzdG9yZS1wYWdlIj48cGF0aCBkPSJNMTQgMkg2Yy0xLjEgMC0xLjk5LjktMS45OSAyTDQgMjBjMCAxLjEuODkgMiAxLjk5IDJIMThjMS4xIDAgMi0uOSAyLTJWOGwtNi02em0tMiAxNmMtMi4wNSAwLTMuODEtMS4yNC00LjU4LTNoMS43MWMuNjMuOSAxLjY4IDEuNSAyLjg3IDEuNSAxLjkzIDAgMy41LTEuNTcgMy41LTMuNVMxMy45MyA5LjUgMTIgOS41Yy0xLjM1IDAtMi41Mi43OC0zLjEgMS45bDEuNiAxLjZoLTRWOWwxLjMgMS4zQzguNjkgOC45MiAxMC4yMyA4IDEyIDhjMi43NiAwIDUgMi4yNCA1IDVzLTIuMjQgNS01IDV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icm9vbSI+PHBhdGggZD0iTTEyIDJDOC4xMyAyIDUgNS4xMyA1IDljMCA1LjI1IDcgMTMgNyAxM3M3LTcuNzUgNy0xM2MwLTMuODctMy4xMy03LTctN3ptMCA5LjVjLTEuMzggMC0yLjUtMS4xMi0yLjUtMi41czEuMTItMi41IDIuNS0yLjUgMi41IDEuMTIgMi41IDIuNS0xLjEyIDIuNS0yLjUgMi41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InJvdW5kZWQtY29ybmVyIj48cGF0aCBkPSJNMTkgMTloMnYyaC0ydi0yem0wLTJoMnYtMmgtMnYyek0zIDEzaDJ2LTJIM3Yyem0wIDRoMnYtMkgzdjJ6bTAtOGgyVjdIM3Yyem0wLTRoMlYzSDN2MnptNCAwaDJWM0g3djJ6bTggMTZoMnYtMmgtMnYyem0tNCAwaDJ2LTJoLTJ2MnptNCAwaDJ2LTJoLTJ2MnptLTggMGgydi0ySDd2MnptLTQgMGgydi0ySDN2MnpNMjEgOGMwLTIuNzYtMi4yNC01LTUtNWgtNXYyaDVjMS42NSAwIDMgMS4zNSAzIDN2NWgyVjh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0icm93aW5nIj48cGF0aCBkPSJNOC41IDE0LjVMNCAxOWwxLjUgMS41TDkgMTdoMmwtMi41LTIuNXpNMTUgMWMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bTYgMjAuMDFMMTggMjRsLTIuOTktMy4wMVYxOS41bC03LjEtNy4wOWMtLjMxLjA1LS42MS4wNy0uOTEuMDd2LTIuMTZjMS42Ni4wMyAzLjYxLS44NyA0LjY3LTIuMDRsMS40LTEuNTVjLjE5LS4yMS40My0uMzguNjktLjUuMjktLjE0LjYyLS4yMy45Ni0uMjNoLjAzQzE1Ljk5IDYuMDEgMTcgNy4wMiAxNyA4LjI2djUuNzVjMCAuODQtLjM1IDEuNjEtLjkyIDIuMTZsLTMuNTgtMy41OHYtMi4yN2MtLjYzLjUyLTEuNDMgMS4wMi0yLjI5IDEuMzlMMTYuNSAxOEgxOGwzIDMuMDF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2F2ZSI+PHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNjaGVkdWxlIj48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnpNMTIgMjBjLTQuNDIgMC04LTMuNTgtOC04czMuNTgtOCA4LTggOCAzLjU4IDggOC0zLjU4IDgtOCA4em0uNS0xM0gxMXY2bDUuMjUgMy4xNS43NS0xLjIzLTQuNS0yLjY3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNlYXJjaCI+PHBhdGggZD0iTTE1LjUgMTRoLS43OWwtLjI4LS4yN0MxNS40MSAxMi41OSAxNiAxMS4xMSAxNiA5LjUgMTYgNS45MSAxMy4wOSAzIDkuNSAzUzMgNS45MSAzIDkuNSA1LjkxIDE2IDkuNSAxNmMxLjYxIDAgMy4wOS0uNTkgNC4yMy0xLjU3bC4yNy4yOHYuNzlsNSA0Ljk5TDIwLjQ5IDE5bC00Ljk5LTV6bS02IDBDNy4wMSAxNCA1IDExLjk5IDUgOS41UzcuMDEgNSA5LjUgNSAxNCA3LjAxIDE0IDkuNSAxMS45OSAxNCA5LjUgMTR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2VsZWN0LWFsbCI+PHBhdGggZD0iTTMgNWgyVjNjLTEuMSAwLTIgLjktMiAyem0wIDhoMnYtMkgzdjJ6bTQgOGgydi0ySDd2MnpNMyA5aDJWN0gzdjJ6bTEwLTZoLTJ2MmgyVjN6bTYgMHYyaDJjMC0xLjEtLjktMi0yLTJ6TTUgMjF2LTJIM2MwIDEuMS45IDIgMiAyem0tMi00aDJ2LTJIM3Yyek05IDNIN3YyaDJWM3ptMiAxOGgydi0yaC0ydjJ6bTgtOGgydi0yaC0ydjJ6bTAgOGMxLjEgMCAyLS45IDItMmgtMnYyem0wLTEyaDJWN2gtMnYyem0wIDhoMnYtMmgtMnYyem0tNCA0aDJ2LTJoLTJ2MnptMC0xNmgyVjNoLTJ2MnpNNyAxN2gxMFY3SDd2MTB6bTItOGg2djZIOVY5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNlbmQiPjxwYXRoIGQ9Ik0yLjAxIDIxTDIzIDEyIDIuMDEgMyAyIDEwbDE1IDItMTUgMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncyI+PHBhdGggZD0iTTE5LjQzIDEyLjk4Yy4wNC0uMzIuMDctLjY0LjA3LS45OHMtLjAzLS42Ni0uMDctLjk4bDIuMTEtMS42NWMuMTktLjE1LjI0LS40Mi4xMi0uNjRsLTItMy40NmMtLjEyLS4yMi0uMzktLjMtLjYxLS4yMmwtMi40OSAxYy0uNTItLjQtMS4wOC0uNzMtMS42OS0uOThsLS4zOC0yLjY1QzE0LjQ2IDIuMTggMTQuMjUgMiAxNCAyaC00Yy0uMjUgMC0uNDYuMTgtLjQ5LjQybC0uMzggMi42NWMtLjYxLjI1LTEuMTcuNTktMS42OS45OGwtMi40OS0xYy0uMjMtLjA5LS40OSAwLS42MS4yMmwtMiAzLjQ2Yy0uMTMuMjItLjA3LjQ5LjEyLjY0bDIuMTEgMS42NWMtLjA0LjMyLS4wNy42NS0uMDcuOThzLjAzLjY2LjA3Ljk4bC0yLjExIDEuNjVjLS4xOS4xNS0uMjQuNDItLjEyLjY0bDIgMy40NmMuMTIuMjIuMzkuMy42MS4yMmwyLjQ5LTFjLjUyLjQgMS4wOC43MyAxLjY5Ljk4bC4zOCAyLjY1Yy4wMy4yNC4yNC40Mi40OS40Mmg0Yy4yNSAwIC40Ni0uMTguNDktLjQybC4zOC0yLjY1Yy42MS0uMjUgMS4xNy0uNTkgMS42OS0uOThsMi40OSAxYy4yMy4wOS40OSAwIC42MS0uMjJsMi0zLjQ2Yy4xMi0uMjIuMDctLjQ5LS4xMi0uNjRsLTIuMTEtMS42NXpNMTIgMTUuNWMtMS45MyAwLTMuNS0xLjU3LTMuNS0zLjVzMS41Ny0zLjUgMy41LTMuNSAzLjUgMS41NyAzLjUgMy41LTEuNTcgMy41LTMuNSAzLjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtYXBwbGljYXRpb25zIj48cGF0aCBkPSJNMTIgMTBjLTEuMSAwLTIgLjktMiAycy45IDIgMiAyIDItLjkgMi0yLS45LTItMi0yem03LTdINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMTEgMCAyLS45IDItMlY1YzAtMS4xLS44OS0yLTItMnptLTEuNzUgOWMwIC4yMy0uMDIuNDYtLjA1LjY4bDEuNDggMS4xNmMuMTMuMTEuMTcuMy4wOC40NWwtMS40IDIuNDJjLS4wOS4xNS0uMjcuMjEtLjQzLjE1bC0xLjc0LS43Yy0uMzYuMjgtLjc2LjUxLTEuMTguNjlsLS4yNiAxLjg1Yy0uMDMuMTctLjE4LjMtLjM1LjNoLTIuOGMtLjE3IDAtLjMyLS4xMy0uMzUtLjI5bC0uMjYtMS44NWMtLjQzLS4xOC0uODItLjQxLTEuMTgtLjY5bC0xLjc0LjdjLS4xNi4wNi0uMzQgMC0uNDMtLjE1bC0xLjQtMi40MmMtLjA5LS4xNS0uMDUtLjM0LjA4LS40NWwxLjQ4LTEuMTZjLS4wMy0uMjMtLjA1LS40Ni0uMDUtLjY5IDAtLjIzLjAyLS40Ni4wNS0uNjhsLTEuNDgtMS4xNmMtLjEzLS4xMS0uMTctLjMtLjA4LS40NWwxLjQtMi40MmMuMDktLjE1LjI3LS4yMS40My0uMTVsMS43NC43Yy4zNi0uMjguNzYtLjUxIDEuMTgtLjY5bC4yNi0xLjg1Yy4wMy0uMTcuMTgtLjMuMzUtLjNoMi44Yy4xNyAwIC4zMi4xMy4zNS4yOWwuMjYgMS44NWMuNDMuMTguODIuNDEgMS4xOC42OWwxLjc0LS43Yy4xNi0uMDYuMzQgMCAuNDMuMTVsMS40IDIuNDJjLjA5LjE1LjA1LjM0LS4wOC40NWwtMS40OCAxLjE2Yy4wMy4yMy4wNS40Ni4wNS42OXoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy1iYWNrdXAtcmVzdG9yZSI+PHBhdGggZD0iTTE0IDEyYzAtMS4xLS45LTItMi0ycy0yIC45LTIgMiAuOSAyIDIgMiAyLS45IDItMnptLTItOWMtNC45NyAwLTkgNC4wMy05IDlIMGw0IDQgNC00SDVjMC0zLjg3IDMuMTMtNyA3LTdzNyAzLjEzIDcgNy0zLjEzIDctNyA3Yy0xLjUxIDAtMi45MS0uNDktNC4wNi0xLjNsLTEuNDIgMS40NEM4LjA0IDIwLjMgOS45NCAyMSAxMiAyMWM0Ljk3IDAgOS00LjAzIDktOXMtNC4wMy05LTktOXoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy1ibHVldG9vdGgiPjxwYXRoIGQ9Ik0xMSAyNGgydi0yaC0ydjJ6bS00IDBoMnYtMkg3djJ6bTggMGgydi0yaC0ydjJ6bTIuNzEtMTguMjlMMTIgMGgtMXY3LjU5TDYuNDEgMyA1IDQuNDEgMTAuNTkgMTAgNSAxNS41OSA2LjQxIDE3IDExIDEyLjQxVjIwaDFsNS43MS01LjcxLTQuMy00LjI5IDQuMy00LjI5ek0xMyAzLjgzbDEuODggMS44OEwxMyA3LjU5VjMuODN6bTEuODggMTAuNDZMMTMgMTYuMTd2LTMuNzZsMS44OCAxLjg4eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNldHRpbmdzLWJyaWdodG5lc3MiPjxwYXRoIGQ9Ik0yMSAzSDNjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNi4wMUgzVjQuOTloMTh2MTQuMDJ6TTggMTZoMi41bDEuNSAxLjUgMS41LTEuNUgxNnYtMi41bDEuNS0xLjUtMS41LTEuNVY4aC0yLjVMMTIgNi41IDEwLjUgOEg4djIuNUw2LjUgMTIgOCAxMy41VjE2em00LTdjMS42NiAwIDMgMS4zNCAzIDNzLTEuMzQgMy0zIDNWOXoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy1jZWxsIj48cGF0aCBkPSJNNyAyNGgydi0ySDd2MnptNCAwaDJ2LTJoLTJ2MnptNCAwaDJ2LTJoLTJ2MnpNMTYgLjAxTDggMEM2LjkgMCA2IC45IDYgMnYxNmMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWMmMwLTEuMS0uOS0xLjk5LTItMS45OXpNMTYgMTZIOFY0aDh2MTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtZXRoZXJuZXQiPjxwYXRoIGQ9Ik03Ljc3IDYuNzZMNi4yMyA1LjQ4LjgyIDEybDUuNDEgNi41MiAxLjU0LTEuMjhMMy40MiAxMmw0LjM1LTUuMjR6TTcgMTNoMnYtMkg3djJ6bTEwLTJoLTJ2Mmgydi0yem0tNiAyaDJ2LTJoLTJ2MnptNi43Ny03LjUybC0xLjU0IDEuMjhMMjAuNTggMTJsLTQuMzUgNS4yNCAxLjU0IDEuMjhMMjMuMTggMTJsLTUuNDEtNi41MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy1pbnB1dC1hbnRlbm5hIj48cGF0aCBkPSJNMTIgNWMtMy44NyAwLTcgMy4xMy03IDdoMmMwLTIuNzYgMi4yNC01IDUtNXM1IDIuMjQgNSA1aDJjMC0zLjg3LTMuMTMtNy03LTd6bTEgOS4yOWMuODgtLjM5IDEuNS0xLjI2IDEuNS0yLjI5IDAtMS4zOC0xLjEyLTIuNS0yLjUtMi41UzkuNSAxMC42MiA5LjUgMTJjMCAxLjAyLjYyIDEuOSAxLjUgMi4yOXYzLjNMNy41OSAyMSA5IDIyLjQxbDMtMyAzIDNMMTYuNDEgMjEgMTMgMTcuNTl2LTMuM3pNMTIgMUM1LjkzIDEgMSA1LjkzIDEgMTJoMmMwLTQuOTcgNC4wMy05IDktOXM5IDQuMDMgOSA5aDJjMC02LjA3LTQuOTMtMTEtMTEtMTF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtaW5wdXQtY29tcG9uZW50Ij48cGF0aCBkPSJNNSAyYzAtLjU1LS40NS0xLTEtMXMtMSAuNDUtMSAxdjRIMXY2aDZWNkg1VjJ6bTQgMTRjMCAxLjMuODQgMi40IDIgMi44MlYyM2gydi00LjE4YzEuMTYtLjQxIDItMS41MSAyLTIuODJ2LTJIOXYyem0tOCAwYzAgMS4zLjg0IDIuNCAyIDIuODJWMjNoMnYtNC4xOEM2LjE2IDE4LjQgNyAxNy4zIDcgMTZ2LTJIMXYyek0yMSA2VjJjMC0uNTUtLjQ1LTEtMS0xcy0xIC40NS0xIDF2NGgtMnY2aDZWNmgtMnptLTgtNGMwLS41NS0uNDUtMS0xLTFzLTEgLjQ1LTEgMXY0SDl2Nmg2VjZoLTJWMnptNCAxNGMwIDEuMy44NCAyLjQgMiAyLjgyVjIzaDJ2LTQuMThjMS4xNi0uNDEgMi0xLjUxIDItMi44MnYtMmgtNnYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNldHRpbmdzLWlucHV0LWNvbXBvc2l0ZSI+PHBhdGggZD0iTTUgMmMwLS41NS0uNDUtMS0xLTFzLTEgLjQ1LTEgMXY0SDF2Nmg2VjZINVYyem00IDE0YzAgMS4zLjg0IDIuNCAyIDIuODJWMjNoMnYtNC4xOGMxLjE2LS40MSAyLTEuNTEgMi0yLjgydi0ySDl2MnptLTggMGMwIDEuMy44NCAyLjQgMiAyLjgyVjIzaDJ2LTQuMThDNi4xNiAxOC40IDcgMTcuMyA3IDE2di0ySDF2MnpNMjEgNlYyYzAtLjU1LS40NS0xLTEtMXMtMSAuNDUtMSAxdjRoLTJ2Nmg2VjZoLTJ6bS04LTRjMC0uNTUtLjQ1LTEtMS0xcy0xIC40NS0xIDF2NEg5djZoNlY2aC0yVjJ6bTQgMTRjMCAxLjMuODQgMi40IDIgMi44MlYyM2gydi00LjE4YzEuMTYtLjQxIDItMS41MSAyLTIuODJ2LTJoLTZ2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy1pbnB1dC1oZG1pIj48cGF0aCBkPSJNMTggN1Y0YzAtMS4xLS45LTItMi0ySDhjLTEuMSAwLTIgLjktMiAydjNINXY2bDMgNnYzaDh2LTNsMy02VjdoLTF6TTggNGg4djNoLTJWNWgtMXYyaC0yVjVoLTF2Mkg4VjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtaW5wdXQtc3ZpZGVvIj48cGF0aCBkPSJNOCAxMS41YzAtLjgzLS42Ny0xLjUtMS41LTEuNVM1IDEwLjY3IDUgMTEuNSA1LjY3IDEzIDYuNSAxMyA4IDEyLjMzIDggMTEuNXptNy01YzAtLjgzLS42Ny0xLjUtMS41LTEuNWgtM0M5LjY3IDUgOSA1LjY3IDkgNi41UzkuNjcgOCAxMC41IDhoM2MuODMgMCAxLjUtLjY3IDEuNS0xLjV6TTguNSAxNWMtLjgzIDAtMS41LjY3LTEuNSAxLjVTNy42NyAxOCA4LjUgMThzMS41LS42NyAxLjUtMS41UzkuMzMgMTUgOC41IDE1ek0xMiAxQzUuOTMgMSAxIDUuOTMgMSAxMnM0LjkzIDExIDExIDExIDExLTQuOTMgMTEtMTFTMTguMDcgMSAxMiAxem0wIDIwYy00Ljk2IDAtOS00LjA0LTktOXM0LjA0LTkgOS05IDkgNC4wNCA5IDktNC4wNCA5LTkgOXptNS41LTExYy0uODMgMC0xLjUuNjctMS41IDEuNXMuNjcgMS41IDEuNSAxLjUgMS41LS42NyAxLjUtMS41LS42Ny0xLjUtMS41LTEuNXptLTIgNWMtLjgzIDAtMS41LjY3LTEuNSAxLjVzLjY3IDEuNSAxLjUgMS41IDEuNS0uNjcgMS41LTEuNS0uNjctMS41LTEuNS0xLjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3Mtb3ZlcnNjYW4iPjxwYXRoIGQ9Ik0xMi4wMSA1LjVMMTAgOGg0bC0xLjk5LTIuNXpNMTggMTB2NGwyLjUtMS45OUwxOCAxMHpNNiAxMGwtMi41IDIuMDFMNiAxNHYtNHptOCA2aC00bDIuMDEgMi41TDE0IDE2em03LTEzSDNjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNi4wMUgzVjQuOTloMTh2MTQuMDJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtcGhvbmUiPjxwYXRoIGQ9Ik0xMyA5aC0ydjJoMlY5em00IDBoLTJ2MmgyVjl6bTMgNi41Yy0xLjI1IDAtMi40NS0uMi0zLjU3LS41Ny0uMzUtLjExLS43NC0uMDMtMS4wMi4yNGwtMi4yIDIuMmMtMi44My0xLjQ0LTUuMTUtMy43NS02LjU5LTYuNThsMi4yLTIuMjFjLjI4LS4yNy4zNi0uNjYuMjUtMS4wMUM4LjcgNi40NSA4LjUgNS4yNSA4LjUgNGMwLS41NS0uNDUtMS0xLTFINGMtLjU1IDAtMSAuNDUtMSAxIDAgOS4zOSA3LjYxIDE3IDE3IDE3IC41NSAwIDEtLjQ1IDEtMXYtMy41YzAtLjU1LS40NS0xLTEtMXpNMTkgOXYyaDJWOWgtMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy1wb3dlciI+PHBhdGggZD0iTTcgMjRoMnYtMkg3djJ6bTQgMGgydi0yaC0ydjJ6bTItMjJoLTJ2MTBoMlYyem0zLjU2IDIuNDRsLTEuNDUgMS40NUMxNi44NCA2Ljk0IDE4IDguODMgMTggMTFjMCAzLjMxLTIuNjkgNi02IDZzLTYtMi42OS02LTZjMC0yLjE3IDEuMTYtNC4wNiAyLjg4LTUuMTJMNy40NCA0LjQ0QzUuMzYgNS44OCA0IDguMjggNCAxMWMwIDQuNDIgMy41OCA4IDggOHM4LTMuNTggOC04YzAtMi43Mi0xLjM2LTUuMTItMy40NC02LjU2ek0xNSAyNGgydi0yaC0ydjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2V0dGluZ3MtcmVtb3RlIj48cGF0aCBkPSJNMTUgOUg5Yy0uNTUgMC0xIC40NS0xIDF2MTJjMCAuNTUuNDUgMSAxIDFoNmMuNTUgMCAxLS40NSAxLTFWMTBjMC0uNTUtLjQ1LTEtMS0xem0tMyA2Yy0xLjEgMC0yLS45LTItMnMuOS0yIDItMiAyIC45IDIgMi0uOSAyLTIgMnpNNy4wNSA2LjA1bDEuNDEgMS40MUM5LjM3IDYuNTYgMTAuNjIgNiAxMiA2czIuNjMuNTYgMy41NCAxLjQ2bDEuNDEtMS40MUMxNS42OCA0Ljc4IDEzLjkzIDQgMTIgNHMtMy42OC43OC00Ljk1IDIuMDV6TTEyIDBDOC45NiAwIDYuMjEgMS4yMyA0LjIyIDMuMjJsMS40MSAxLjQxQzcuMjYgMy4wMSA5LjUxIDIgMTIgMnM0Ljc0IDEuMDEgNi4zNiAyLjY0bDEuNDEtMS40MUMxNy43OSAxLjIzIDE1LjA0IDAgMTIgMHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzZXR0aW5ncy12b2ljZSI+PHBhdGggZD0iTTcgMjRoMnYtMkg3djJ6bTUtMTFjMS42NiAwIDIuOTktMS4zNCAyLjk5LTNMMTUgNGMwLTEuNjYtMS4zNC0zLTMtM1M5IDIuMzQgOSA0djZjMCAxLjY2IDEuMzQgMyAzIDN6bS0xIDExaDJ2LTJoLTJ2MnptNCAwaDJ2LTJoLTJ2MnptNC0xNGgtMS43YzAgMy0yLjU0IDUuMS01LjMgNS4xUzYuNyAxMyA2LjcgMTBINWMwIDMuNDEgMi43MiA2LjIzIDYgNi43MlYyMGgydi0zLjI4YzMuMjgtLjQ5IDYtMy4zMSA2LTYuNzJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2hvcCI+PHBhdGggZD0iTTE2IDZWNGMwLTEuMTEtLjg5LTItMi0yaC00Yy0xLjExIDAtMiAuODktMiAydjJIMnYxM2MwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY2aC02em0tNi0yaDR2MmgtNFY0ek05IDE4VjlsNy41IDRMOSAxOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzaG9wLXR3byI+PHBhdGggZD0iTTMgOUgxdjExYzAgMS4xMS44OSAyIDIgMmgxNGMxLjExIDAgMi0uODkgMi0ySDNWOXptMTUtNFYzYzAtMS4xMS0uODktMi0yLTJoLTRjLTEuMTEgMC0yIC44OS0yIDJ2Mkg1djExYzAgMS4xMS44OSAyIDIgMmgxNGMxLjExIDAgMi0uODkgMi0yVjVoLTV6bS02LTJoNHYyaC00VjN6bTAgMTJWOGw1LjUgMy01LjUgNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzaG9wcGluZy1iYXNrZXQiPjxwYXRoIGQ9Ik0xNy4yMSA5bC00LjM4LTYuNTZjLS4xOS0uMjgtLjUxLS40Mi0uODMtLjQyLS4zMiAwLS42NC4xNC0uODMuNDNMNi43OSA5SDJjLS41NSAwLTEgLjQ1LTEgMSAwIC4wOS4wMS4xOC4wNC4yN2wyLjU0IDkuMjdjLjIzLjg0IDEgMS40NiAxLjkyIDEuNDZoMTNjLjkyIDAgMS42OS0uNjIgMS45My0xLjQ2bDIuNTQtOS4yN0wyMyAxMGMwLS41NS0uNDUtMS0xLTFoLTQuNzl6TTkgOWwzLTQuNEwxNSA5SDl6bTMgOGMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTIgMiAuOSAyIDItLjkgMi0yIDJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic2hvcHBpbmctY2FydCI+PHBhdGggZD0iTTcgMThjLTEuMSAwLTEuOTkuOS0xLjk5IDJTNS45IDIyIDcgMjJzMi0uOSAyLTItLjktMi0yLTJ6TTEgMnYyaDJsMy42IDcuNTktMS4zNSAyLjQ1Yy0uMTYuMjgtLjI1LjYxLS4yNS45NiAwIDEuMS45IDIgMiAyaDEydi0ySDcuNDJjLS4xNCAwLS4yNS0uMTEtLjI1LS4yNWwuMDMtLjEyLjktMS42M2g3LjQ1Yy43NSAwIDEuNDEtLjQxIDEuNzUtMS4wM2wzLjU4LTYuNDljLjA4LS4xNC4xMi0uMzEuMTItLjQ4IDAtLjU1LS40NS0xLTEtMUg1LjIxbC0uOTQtMkgxem0xNiAxNmMtMS4xIDAtMS45OS45LTEuOTkgMnMuODkgMiAxLjk5IDIgMi0uOSAyLTItLjktMi0yLTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic29ydCI+PHBhdGggZD0iTTMgMThoNnYtMkgzdjJ6TTMgNnYyaDE4VjZIM3ptMCA3aDEydi0ySDN2MnoiPjwvcGF0aD48L2c+CjxnIGlkPSJzcGVha2VyLW5vdGVzIj48cGF0aCBkPSJNMjAgMkg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMjJsNC00aDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6TTggMTRINnYtMmgydjJ6bTAtM0g2VjloMnYyem0wLTNINlY2aDJ2MnptNyA2aC01di0yaDV2MnptMy0zaC04VjloOHYyem0wLTNoLThWNmg4djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic3BlYWtlci1ub3Rlcy1vZmYiPjxwYXRoIGQ9Ik0xMC41NCAxMWwtLjU0LS41NEw3LjU0IDggNiA2LjQ2IDIuMzggMi44NCAxLjI3IDEuNzMgMCAzbDIuMDEgMi4wMUwyIDIybDQtNGg5bDUuNzMgNS43M0wyMiAyMi40NiAxNy41NCAxOGwtNy03ek04IDE0SDZ2LTJoMnYyem0tMi0zVjlsMiAySDZ6bTE0LTlINC4wOEwxMCA3LjkyVjZoOHYyaC03LjkybDEgMUgxOHYyaC00LjkybDYuOTkgNi45OUMyMS4xNCAxNy45NSAyMiAxNy4wOCAyMiAxNlY0YzAtMS4xLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InNwZWxsY2hlY2siPjxwYXRoIGQ9Ik0xMi40NSAxNmgyLjA5TDkuNDMgM0g3LjU3TDIuNDYgMTZoMi4wOWwxLjEyLTNoNS42NGwxLjE0IDN6bS02LjAyLTVMOC41IDUuNDggMTAuNTcgMTFINi40M3ptMTUuMTYuNTlsLTguMDkgOC4wOUw5LjgzIDE2bC0xLjQxIDEuNDEgNS4wOSA1LjA5TDIzIDEzbC0xLjQxLTEuNDF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic3RhciI+PHBhdGggZD0iTTEyIDE3LjI3TDE4LjE4IDIxbC0xLjY0LTcuMDNMMjIgOS4yNGwtNy4xOS0uNjFMMTIgMiA5LjE5IDguNjMgMiA5LjI0bDUuNDYgNC43M0w1LjgyIDIxeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InN0YXItYm9yZGVyIj48cGF0aCBkPSJNMjIgOS4yNGwtNy4xOS0uNjJMMTIgMiA5LjE5IDguNjMgMiA5LjI0bDUuNDYgNC43M0w1LjgyIDIxIDEyIDE3LjI3IDE4LjE4IDIxbC0xLjYzLTcuMDNMMjIgOS4yNHpNMTIgMTUuNGwtMy43NiAyLjI3IDEtNC4yOC0zLjMyLTIuODggNC4zOC0uMzhMMTIgNi4xbDEuNzEgNC4wNCA0LjM4LjM4LTMuMzIgMi44OCAxIDQuMjhMMTIgMTUuNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzdGFyLWhhbGYiPjxwYXRoIGQ9Ik0yMiA5LjI0bC03LjE5LS42MkwxMiAyIDkuMTkgOC42MyAyIDkuMjRsNS40NiA0LjczTDUuODIgMjEgMTIgMTcuMjcgMTguMTggMjFsLTEuNjMtNy4wM0wyMiA5LjI0ek0xMiAxNS40VjYuMWwxLjcxIDQuMDQgNC4zOC4zOC0zLjMyIDIuODggMSA0LjI4TDEyIDE1LjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic3RhcnMiPjxwYXRoIGQ9Ik0xMS45OSAyQzYuNDcgMiAyIDYuNDggMiAxMnM0LjQ3IDEwIDkuOTkgMTBDMTcuNTIgMjIgMjIgMTcuNTIgMjIgMTJTMTcuNTIgMiAxMS45OSAyem00LjI0IDE2TDEyIDE1LjQ1IDcuNzcgMThsMS4xMi00LjgxLTMuNzMtMy4yMyA0LjkyLS40MkwxMiA1bDEuOTIgNC41MyA0LjkyLjQyLTMuNzMgMy4yM0wxNi4yMyAxOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzdG9yZSI+PHBhdGggZD0iTTIwIDRINHYyaDE2VjR6bTEgMTB2LTJsLTEtNUg0bC0xIDV2MmgxdjZoMTB2LTZoNHY2aDJ2LTZoMXptLTkgNEg2di00aDZ2NHoiPjwvcGF0aD48L2c+CjxnIGlkPSJzdWJkaXJlY3RvcnktYXJyb3ctbGVmdCI+PHBhdGggZD0iTTExIDlsMS40MiAxLjQyTDguODMgMTRIMThWNGgydjEySDguODNsMy41OSAzLjU4TDExIDIxbC02LTYgNi02eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InN1YmRpcmVjdG9yeS1hcnJvdy1yaWdodCI+PHBhdGggZD0iTTE5IDE1bC02IDYtMS40Mi0xLjQyTDE1LjE3IDE2SDRWNGgydjEwaDkuMTdsLTMuNTktMy41OEwxMyA5bDYgNnoiPjwvcGF0aD48L2c+CjxnIGlkPSJzdWJqZWN0Ij48cGF0aCBkPSJNMTQgMTdINHYyaDEwdi0yem02LThINHYyaDE2Vjl6TTQgMTVoMTZ2LTJINHYyek00IDV2MmgxNlY1SDR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic3VwZXJ2aXNvci1hY2NvdW50Ij48cGF0aCBkPSJNMTYuNSAxMmMxLjM4IDAgMi40OS0xLjEyIDIuNDktMi41UzE3Ljg4IDcgMTYuNSA3QzE1LjEyIDcgMTQgOC4xMiAxNCA5LjVzMS4xMiAyLjUgMi41IDIuNXpNOSAxMWMxLjY2IDAgMi45OS0xLjM0IDIuOTktM1MxMC42NiA1IDkgNUM3LjM0IDUgNiA2LjM0IDYgOHMxLjM0IDMgMyAzem03LjUgM2MtMS44MyAwLTUuNS45Mi01LjUgMi43NVYxOWgxMXYtMi4yNWMwLTEuODMtMy42Ny0yLjc1LTUuNS0yLjc1ek05IDEzYy0yLjMzIDAtNyAxLjE3LTcgMy41VjE5aDd2LTIuMjVjMC0uODUuMzMtMi4zNCAyLjM3LTMuNDdDMTAuNSAxMy4xIDkuNjYgMTMgOSAxM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJzd2FwLWhvcml6Ij48cGF0aCBkPSJNNi45OSAxMUwzIDE1bDMuOTkgNHYtM0gxNHYtMkg2Ljk5di0zek0yMSA5bC0zLjk5LTR2M0gxMHYyaDcuMDF2M0wyMSA5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InN3YXAtdmVydCI+PHBhdGggZD0iTTE2IDE3LjAxVjEwaC0ydjcuMDFoLTNMMTUgMjFsNC0zLjk5aC0zek05IDNMNSA2Ljk5aDNWMTRoMlY2Ljk5aDNMOSAzeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InN3YXAtdmVydGljYWwtY2lyY2xlIj48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnpNNi41IDlMMTAgNS41IDEzLjUgOUgxMXY0SDlWOUg2LjV6bTExIDZMMTQgMTguNSAxMC41IDE1SDEzdi00aDJ2NGgyLjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ic3lzdGVtLXVwZGF0ZS1hbHQiPjxwYXRoIGQ9Ik0xMiAxNi41bDQtNGgtM3YtOWgtMnY5SDhsNCA0em05LTEzaC02djEuOTloNnYxNC4wM0gzVjUuNDloNlYzLjVIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMnYtMTRjMC0xLjEtLjktMi0yLTJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGFiIj48cGF0aCBkPSJNMjEgM0gzYy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE4YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZIM1Y1aDEwdjRoOHYxMHoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0YWItdW5zZWxlY3RlZCI+PHBhdGggZD0iTTEgOWgyVjdIMXYyem0wIDRoMnYtMkgxdjJ6bTAtOGgyVjNjLTEuMSAwLTIgLjktMiAyem04IDE2aDJ2LTJIOXYyem0tOC00aDJ2LTJIMXYyem0yIDR2LTJIMWMwIDEuMS45IDIgMiAyek0yMSAzaC04djZoMTBWNWMwLTEuMS0uOS0yLTItMnptMCAxNGgydi0yaC0ydjJ6TTkgNWgyVjNIOXYyek01IDIxaDJ2LTJINXYyek01IDVoMlYzSDV2MnptMTYgMTZjMS4xIDAgMi0uOSAyLTJoLTJ2MnptMC04aDJ2LTJoLTJ2MnptLTggOGgydi0yaC0ydjJ6bTQgMGgydi0yaC0ydjJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGV4dC1mb3JtYXQiPjxwYXRoIGQ9Ik01IDE3djJoMTR2LTJINXptNC41LTQuMmg1bC45IDIuMmgyLjFMMTIuNzUgNGgtMS41TDYuNSAxNWgyLjFsLjktMi4yek0xMiA1Ljk4TDEzLjg3IDExaC0zLjc0TDEyIDUuOTh6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGhlYXRlcnMiPjxwYXRoIGQ9Ik0xOCAzdjJoLTJWM0g4djJINlYzSDR2MThoMnYtMmgydjJoOHYtMmgydjJoMlYzaC0yek04IDE3SDZ2LTJoMnYyem0wLTRINnYtMmgydjJ6bTAtNEg2VjdoMnYyem0xMCA4aC0ydi0yaDJ2MnptMC00aC0ydi0yaDJ2MnptMC00aC0yVjdoMnYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRodW1iLWRvd24iPjxwYXRoIGQ9Ik0xNSAzSDZjLS44MyAwLTEuNTQuNS0xLjg0IDEuMjJsLTMuMDIgNy4wNWMtLjA5LjIzLS4xNC40Ny0uMTQuNzN2MS45MWwuMDEuMDFMMSAxNGMwIDEuMS45IDIgMiAyaDYuMzFsLS45NSA0LjU3LS4wMy4zMmMwIC40MS4xNy43OS40NCAxLjA2TDkuODMgMjNsNi41OS02LjU5Yy4zNi0uMzYuNTgtLjg2LjU4LTEuNDFWNWMwLTEuMS0uOS0yLTItMnptNCAwdjEyaDRWM2gtNHoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0aHVtYi11cCI+PHBhdGggZD0iTTEgMjFoNFY5SDF2MTJ6bTIyLTExYzAtMS4xLS45LTItMi0yaC02LjMxbC45NS00LjU3LjAzLS4zMmMwLS40MS0uMTctLjc5LS40NC0xLjA2TDE0LjE3IDEgNy41OSA3LjU5QzcuMjIgNy45NSA3IDguNDUgNyA5djEwYzAgMS4xLjkgMiAyIDJoOWMuODMgMCAxLjU0LS41IDEuODQtMS4yMmwzLjAyLTcuMDVjLjA5LS4yMy4xNC0uNDcuMTQtLjczdi0xLjkxbC0uMDEtLjAxTDIzIDEweiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRodW1icy11cC1kb3duIj48cGF0aCBkPSJNMTIgNmMwLS41NS0uNDUtMS0xLTFINS44MmwuNjYtMy4xOC4wMi0uMjNjMC0uMzEtLjEzLS41OS0uMzMtLjhMNS4zOCAwIC40NCA0Ljk0Qy4xNyA1LjIxIDAgNS41OSAwIDZ2Ni41YzAgLjgzLjY3IDEuNSAxLjUgMS41aDYuNzVjLjYyIDAgMS4xNS0uMzggMS4zOC0uOTFsMi4yNi01LjI5Yy4wNy0uMTcuMTEtLjM2LjExLS41NVY2em0xMC41IDRoLTYuNzVjLS42MiAwLTEuMTUuMzgtMS4zOC45MWwtMi4yNiA1LjI5Yy0uMDcuMTctLjExLjM2LS4xMS41NVYxOGMwIC41NS40NSAxIDEgMWg1LjE4bC0uNjYgMy4xOC0uMDIuMjRjMCAuMzEuMTMuNTkuMzMuOGwuNzkuNzggNC45NC00Ljk0Yy4yNy0uMjcuNDQtLjY1LjQ0LTEuMDZ2LTYuNWMwLS44My0uNjctMS41LTEuNS0xLjV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idGltZWxpbmUiPjxwYXRoIGQ9Ik0yMyA4YzAgMS4xLS45IDItMiAyLS4xOCAwLS4zNS0uMDItLjUxLS4wN2wtMy41NiAzLjU1Yy4wNS4xNi4wNy4zNC4wNy41MiAwIDEuMS0uOSAyLTIgMnMtMi0uOS0yLTJjMC0uMTguMDItLjM2LjA3LS41MmwtMi41NS0yLjU1Yy0uMTYuMDUtLjM0LjA3LS41Mi4wN3MtLjM2LS4wMi0uNTItLjA3bC00LjU1IDQuNTZjLjA1LjE2LjA3LjMzLjA3LjUxIDAgMS4xLS45IDItMiAycy0yLS45LTItMiAuOS0yIDItMmMuMTggMCAuMzUuMDIuNTEuMDdsNC41Ni00LjU1QzguMDIgOS4zNiA4IDkuMTggOCA5YzAtMS4xLjktMiAyLTJzMiAuOSAyIDJjMCAuMTgtLjAyLjM2LS4wNy41MmwyLjU1IDIuNTVjLjE2LS4wNS4zNC0uMDcuNTItLjA3cy4zNi4wMi41Mi4wN2wzLjU1LTMuNTZDMTkuMDIgOC4zNSAxOSA4LjE4IDE5IDhjMC0xLjEuOS0yIDItMnMyIC45IDIgMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0b2MiPjxwYXRoIGQ9Ik0zIDloMTRWN0gzdjJ6bTAgNGgxNHYtMkgzdjJ6bTAgNGgxNHYtMkgzdjJ6bTE2IDBoMnYtMmgtMnYyem0wLTEwdjJoMlY3aC0yem0wIDZoMnYtMmgtMnYyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRvZGF5Ij48cGF0aCBkPSJNMTkgM2gtMVYxaC0ydjJIOFYxSDZ2Mkg1Yy0xLjExIDAtMS45OS45LTEuOTkgMkwzIDE5YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY4aDE0djExek03IDEwaDV2NUg3eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRvbGwiPjxwYXRoIGQ9Ik0xNSA0Yy00LjQyIDAtOCAzLjU4LTggOHMzLjU4IDggOCA4IDgtMy41OCA4LTgtMy41OC04LTgtOHptMCAxNGMtMy4zMSAwLTYtMi42OS02LTZzMi42OS02IDYtNiA2IDIuNjkgNiA2LTIuNjkgNi02IDZ6TTMgMTJjMC0yLjYxIDEuNjctNC44MyA0LTUuNjVWNC4yNkMzLjU1IDUuMTUgMSA4LjI3IDEgMTJzMi41NSA2Ljg1IDYgNy43NHYtMi4wOWMtMi4zMy0uODItNC0zLjA0LTQtNS42NXoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0b3VjaC1hcHAiPjxwYXRoIGQ9Ik05IDExLjI0VjcuNUM5IDYuMTIgMTAuMTIgNSAxMS41IDVTMTQgNi4xMiAxNCA3LjV2My43NGMxLjIxLS44MSAyLTIuMTggMi0zLjc0QzE2IDUuMDEgMTMuOTkgMyAxMS41IDNTNyA1LjAxIDcgNy41YzAgMS41Ni43OSAyLjkzIDIgMy43NHptOS44NCA0LjYzbC00LjU0LTIuMjZjLS4xNy0uMDctLjM1LS4xMS0uNTQtLjExSDEzdi02YzAtLjgzLS42Ny0xLjUtMS41LTEuNVMxMCA2LjY3IDEwIDcuNXYxMC43NGwtMy40My0uNzJjLS4wOC0uMDEtLjE1LS4wMy0uMjQtLjAzLS4zMSAwLS41OS4xMy0uNzkuMzNsLS43OS44IDQuOTQgNC45NGMuMjcuMjcuNjUuNDQgMS4wNi40NGg2Ljc5Yy43NSAwIDEuMzMtLjU1IDEuNDQtMS4yOGwuNzUtNS4yN2MuMDEtLjA3LjAyLS4xNC4wMi0uMiAwLS42Mi0uMzgtMS4xNi0uOTEtMS4zOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJ0cmFjay1jaGFuZ2VzIj48cGF0aCBkPSJNMTkuMDcgNC45M2wtMS40MSAxLjQxQzE5LjEgNy43OSAyMCA5Ljc5IDIwIDEyYzAgNC40Mi0zLjU4IDgtOCA4cy04LTMuNTgtOC04YzAtNC4wOCAzLjA1LTcuNDQgNy03LjkzdjIuMDJDOC4xNiA2LjU3IDYgOS4wMyA2IDEyYzAgMy4zMSAyLjY5IDYgNiA2czYtMi42OSA2LTZjMC0xLjY2LS42Ny0zLjE2LTEuNzYtNC4yNGwtMS40MSAxLjQxQzE1LjU1IDkuOSAxNiAxMC45IDE2IDEyYzAgMi4yMS0xLjc5IDQtNCA0cy00LTEuNzktNC00YzAtMS44NiAxLjI4LTMuNDEgMy0zLjg2djIuMTRjLS42LjM1LTEgLjk4LTEgMS43MiAwIDEuMS45IDIgMiAyczItLjkgMi0yYzAtLjc0LS40LTEuMzgtMS0xLjcyVjJoLTFDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMGMwLTIuNzYtMS4xMi01LjI2LTIuOTMtNy4wN3oiPjwvcGF0aD48L2c+CjxnIGlkPSJ0cmFuc2xhdGUiPjxwYXRoIGQ9Ik0xMi44NyAxNS4wN2wtMi41NC0yLjUxLjAzLS4wM2MxLjc0LTEuOTQgMi45OC00LjE3IDMuNzEtNi41M0gxN1Y0aC03VjJIOHYySDF2MS45OWgxMS4xN0MxMS41IDcuOTIgMTAuNDQgOS43NSA5IDExLjM1IDguMDcgMTAuMzIgNy4zIDkuMTkgNi42OSA4aC0yYy43MyAxLjYzIDEuNzMgMy4xNyAyLjk4IDQuNTZsLTUuMDkgNS4wMkw0IDE5bDUtNSAzLjExIDMuMTEuNzYtMi4wNHpNMTguNSAxMGgtMkwxMiAyMmgybDEuMTItM2g0Ljc1TDIxIDIyaDJsLTQuNS0xMnptLTIuNjIgN2wxLjYyLTQuMzNMMTkuMTIgMTdoLTMuMjR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idHJlbmRpbmctZG93biI+PHBhdGggZD0iTTE2IDE4bDIuMjktMi4yOS00Ljg4LTQuODgtNCA0TDIgNy40MSAzLjQxIDZsNiA2IDQtNCA2LjMgNi4yOUwyMiAxMnY2eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InRyZW5kaW5nLWZsYXQiPjxwYXRoIGQ9Ik0yMiAxMmwtNC00djNIM3YyaDE1djN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idHJlbmRpbmctdXAiPjxwYXRoIGQ9Ik0xNiA2bDIuMjkgMi4yOS00Ljg4IDQuODgtNC00TDIgMTYuNTkgMy40MSAxOGw2LTYgNCA0IDYuMy02LjI5TDIyIDEyVjZ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idHVybmVkLWluIj48cGF0aCBkPSJNMTcgM0g3Yy0xLjEgMC0xLjk5LjktMS45OSAyTDUgMjFsNy0zIDcgM1Y1YzAtMS4xLS45LTItMi0yeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InR1cm5lZC1pbi1ub3QiPjxwYXRoIGQ9Ik0xNyAzSDdjLTEuMSAwLTEuOTkuOS0xLjk5IDJMNSAyMWw3LTMgNyAzVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTVsLTUtMi4xOEw3IDE4VjVoMTB2MTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idW5hcmNoaXZlIj48cGF0aCBkPSJNMjAuNTUgNS4yMmwtMS4zOS0xLjY4QzE4Ljg4IDMuMjEgMTguNDcgMyAxOCAzSDZjLS40NyAwLS44OC4yMS0xLjE1LjU1TDMuNDYgNS4yMkMzLjE3IDUuNTcgMyA2LjAxIDMgNi41VjE5YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjYuNWMwLS40OS0uMTctLjkzLS40NS0xLjI4ek0xMiA5LjVsNS41IDUuNUgxNHYyaC00di0ySDYuNUwxMiA5LjV6TTUuMTIgNWwuODItMWgxMmwuOTMgMUg1LjEyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InVuZG8iPjxwYXRoIGQ9Ik0xMi41IDhjLTIuNjUgMC01LjA1Ljk5LTYuOSAyLjZMMiA3djloOWwtMy42Mi0zLjYyYzEuMzktMS4xNiAzLjE2LTEuODggNS4xMi0xLjg4IDMuNTQgMCA2LjU1IDIuMzEgNy42IDUuNWwyLjM3LS43OEMyMS4wOCAxMS4wMyAxNy4xNSA4IDEyLjUgOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJ1bmZvbGQtbGVzcyI+PHBhdGggZD0iTTcuNDEgMTguNTlMOC44MyAyMCAxMiAxNi44MyAxNS4xNyAyMGwxLjQxLTEuNDFMMTIgMTRsLTQuNTkgNC41OXptOS4xOC0xMy4xOEwxNS4xNyA0IDEyIDcuMTcgOC44MyA0IDcuNDEgNS40MSAxMiAxMGw0LjU5LTQuNTl6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idW5mb2xkLW1vcmUiPjxwYXRoIGQ9Ik0xMiA1LjgzTDE1LjE3IDlsMS40MS0xLjQxTDEyIDMgNy40MSA3LjU5IDguODMgOSAxMiA1Ljgzem0wIDEyLjM0TDguODMgMTVsLTEuNDEgMS40MUwxMiAyMWw0LjU5LTQuNTlMMTUuMTcgMTUgMTIgMTguMTd6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idXBkYXRlIj48cGF0aCBkPSJNMjEgMTAuMTJoLTYuNzhsMi43NC0yLjgyYy0yLjczLTIuNy03LjE1LTIuOC05Ljg4LS4xLTIuNzMgMi43MS0yLjczIDcuMDggMCA5Ljc5IDIuNzMgMi43MSA3LjE1IDIuNzEgOS44OCAwQzE4LjMyIDE1LjY1IDE5IDE0LjA4IDE5IDEyLjFoMmMwIDEuOTgtLjg4IDQuNTUtMi42NCA2LjI5LTMuNTEgMy40OC05LjIxIDMuNDgtMTIuNzIgMC0zLjUtMy40Ny0zLjUzLTkuMTEtLjAyLTEyLjU4IDMuNTEtMy40NyA5LjE0LTMuNDcgMTIuNjUgMEwyMSAzdjcuMTJ6TTEyLjUgOHY0LjI1bDMuNSAyLjA4LS43MiAxLjIxTDExIDEzVjhoMS41eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZlcmlmaWVkLXVzZXIiPjxwYXRoIGQ9Ik0xMiAxTDMgNXY2YzAgNS41NSAzLjg0IDEwLjc0IDkgMTIgNS4xNi0xLjI2IDktNi40NSA5LTEyVjVsLTktNHptLTIgMTZsLTQtNCAxLjQxLTEuNDFMMTAgMTQuMTdsNi41OS02LjU5TDE4IDlsLTggOHoiPjwvcGF0aD48L2c+CjxnIGlkPSJ2aWV3LWFnZW5kYSI+PHBhdGggZD0iTTIwIDEzSDNjLS41NSAwLTEgLjQ1LTEgMXY2YzAgLjU1LjQ1IDEgMSAxaDE3Yy41NSAwIDEtLjQ1IDEtMXYtNmMwLS41NS0uNDUtMS0xLTF6bTAtMTBIM2MtLjU1IDAtMSAuNDUtMSAxdjZjMCAuNTUuNDUgMSAxIDFoMTdjLjU1IDAgMS0uNDUgMS0xVjRjMC0uNTUtLjQ1LTEtMS0xeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZXctYXJyYXkiPjxwYXRoIGQ9Ik00IDE4aDNWNUg0djEzek0xOCA1djEzaDNWNWgtM3pNOCAxOGg5VjVIOHYxM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJ2aWV3LWNhcm91c2VsIj48cGF0aCBkPSJNNyAxOWgxMFY0SDd2MTV6bS01LTJoNFY2SDJ2MTF6TTE4IDZ2MTFoNFY2aC00eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZXctY29sdW1uIj48cGF0aCBkPSJNMTAgMThoNVY1aC01djEzem0tNiAwaDVWNUg0djEzek0xNiA1djEzaDVWNWgtNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJ2aWV3LWRheSI+PHBhdGggZD0iTTIgMjFoMTl2LTNIMnYzek0yMCA4SDNjLS41NSAwLTEgLjQ1LTEgMXY2YzAgLjU1LjQ1IDEgMSAxaDE3Yy41NSAwIDEtLjQ1IDEtMVY5YzAtLjU1LS40NS0xLTEtMXpNMiAzdjNoMTlWM0gyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZXctaGVhZGxpbmUiPjxwYXRoIGQ9Ik00IDE1aDE2di0ySDR2MnptMCA0aDE2di0ySDR2MnptMC04aDE2VjlINHYyem0wLTZ2MmgxNlY1SDR6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idmlldy1saXN0Ij48cGF0aCBkPSJNNCAxNGg0di00SDR2NHptMCA1aDR2LTRINHY0ek00IDloNFY1SDR2NHptNSA1aDEydi00SDl2NHptMCA1aDEydi00SDl2NHpNOSA1djRoMTJWNUg5eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZXctbW9kdWxlIj48cGF0aCBkPSJNNCAxMWg1VjVINHY2em0wIDdoNXYtNkg0djZ6bTYgMGg1di02aC01djZ6bTYgMGg1di02aC01djZ6bS02LTdoNVY1aC01djZ6bTYtNnY2aDVWNWgtNXoiPjwvcGF0aD48L2c+CjxnIGlkPSJ2aWV3LXF1aWx0Ij48cGF0aCBkPSJNMTAgMThoNXYtNmgtNXY2em0tNiAwaDVWNUg0djEzem0xMiAwaDV2LTZoLTV2NnpNMTAgNXY2aDExVjVIMTB6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idmlldy1zdHJlYW0iPjxwYXRoIGQ9Ik00IDE4aDE3di02SDR2NnpNNCA1djZoMTdWNUg0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpZXctd2VlayI+PHBhdGggZD0iTTYgNUgzYy0uNTUgMC0xIC40NS0xIDF2MTJjMCAuNTUuNDUgMSAxIDFoM2MuNTUgMCAxLS40NSAxLTFWNmMwLS41NS0uNDUtMS0xLTF6bTE0IDBoLTNjLS41NSAwLTEgLjQ1LTEgMXYxMmMwIC41NS40NSAxIDEgMWgzYy41NSAwIDEtLjQ1IDEtMVY2YzAtLjU1LS40NS0xLTEtMXptLTcgMGgtM2MtLjU1IDAtMSAuNDUtMSAxdjEyYzAgLjU1LjQ1IDEgMSAxaDNjLjU1IDAgMS0uNDUgMS0xVjZjMC0uNTUtLjQ1LTEtMS0xeiI+PC9wYXRoPjwvZz4KPGcgaWQ9InZpc2liaWxpdHkiPjxwYXRoIGQ9Ik0xMiA0LjVDNyA0LjUgMi43MyA3LjYxIDEgMTJjMS43MyA0LjM5IDYgNy41IDExIDcuNXM5LjI3LTMuMTEgMTEtNy41Yy0xLjczLTQuMzktNi03LjUtMTEtNy41ek0xMiAxN2MtMi43NiAwLTUtMi4yNC01LTVzMi4yNC01IDUtNSA1IDIuMjQgNSA1LTIuMjQgNS01IDV6bTAtOGMtMS42NiAwLTMgMS4zNC0zIDNzMS4zNCAzIDMgMyAzLTEuMzQgMy0zLTEuMzQtMy0zLTN6Ij48L3BhdGg+PC9nPgo8ZyBpZD0idmlzaWJpbGl0eS1vZmYiPjxwYXRoIGQ9Ik0xMiA3YzIuNzYgMCA1IDIuMjQgNSA1IDAgLjY1LS4xMyAxLjI2LS4zNiAxLjgzbDIuOTIgMi45MmMxLjUxLTEuMjYgMi43LTIuODkgMy40My00Ljc1LTEuNzMtNC4zOS02LTcuNS0xMS03LjUtMS40IDAtMi43NC4yNS0zLjk4LjdsMi4xNiAyLjE2QzEwLjc0IDcuMTMgMTEuMzUgNyAxMiA3ek0yIDQuMjdsMi4yOCAyLjI4LjQ2LjQ2QzMuMDggOC4zIDEuNzggMTAuMDIgMSAxMmMxLjczIDQuMzkgNiA3LjUgMTEgNy41IDEuNTUgMCAzLjAzLS4zIDQuMzgtLjg0bC40Mi40MkwxOS43MyAyMiAyMSAyMC43MyAzLjI3IDMgMiA0LjI3ek03LjUzIDkuOGwxLjU1IDEuNTVjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42NiAxLjM0IDMgMyAzIC4yMiAwIC40NC0uMDMuNjUtLjA4bDEuNTUgMS41NWMtLjY3LjMzLTEuNDEuNTMtMi4yLjUzLTIuNzYgMC01LTIuMjQtNS01IDAtLjc5LjItMS41My41My0yLjJ6bTQuMzEtLjc4bDMuMTUgMy4xNS4wMi0uMTZjMC0xLjY2LTEuMzQtMy0zLTNsLS4xNy4wMXoiPjwvcGF0aD48L2c+CjxnIGlkPSJ3YXJuaW5nIj48cGF0aCBkPSJNMSAyMWgyMkwxMiAyIDEgMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0eiI+PC9wYXRoPjwvZz4KPGcgaWQ9IndhdGNoLWxhdGVyIj48cGF0aCBkPSJNMTIgMkM2LjUgMiAyIDYuNSAyIDEyczQuNSAxMCAxMCAxMCAxMC00LjUgMTAtMTBTMTcuNSAyIDEyIDJ6bTQuMiAxNC4yTDExIDEzVjdoMS41djUuMmw0LjUgMi43LS44IDEuM3oiPjwvcGF0aD48L2c+CjxnIGlkPSJ3ZWVrZW5kIj48cGF0aCBkPSJNMjEgMTBjLTEuMSAwLTIgLjktMiAydjNINXYtM2MwLTEuMS0uOS0yLTItMnMtMiAuOS0yIDJ2NWMwIDEuMS45IDIgMiAyaDE4YzEuMSAwIDItLjkgMi0ydi01YzAtMS4xLS45LTItMi0yem0tMy01SDZjLTEuMSAwLTIgLjktMiAydjIuMTVjMS4xNi40MSAyIDEuNTEgMiAyLjgyVjE0aDEydi0yLjAzYzAtMS4zLjg0LTIuNCAyLTIuODJWN2MwLTEuMS0uOS0yLTItMnoiPjwvcGF0aD48L2c+CjxnIGlkPSJ3b3JrIj48cGF0aCBkPSJNMjAgNmgtNFY0YzAtMS4xMS0uODktMi0yLTJoLTRjLTEuMTEgMC0yIC44OS0yIDJ2Mkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOWMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS02IDBoLTRWNGg0djJ6Ij48L3BhdGg+PC9nPgo8ZyBpZD0ieW91dHViZS1zZWFyY2hlZC1mb3IiPjxwYXRoIGQ9Ik0xNy4wMSAxNGgtLjhsLS4yNy0uMjdjLjk4LTEuMTQgMS41Ny0yLjYxIDEuNTctNC4yMyAwLTMuNTktMi45MS02LjUtNi41LTYuNXMtNi41IDMtNi41IDYuNUgybDMuODQgNCA0LjE2LTRINi41MUM2LjUxIDcgOC41MyA1IDExLjAxIDVzNC41IDIuMDEgNC41IDQuNWMwIDIuNDgtMi4wMiA0LjUtNC41IDQuNS0uNjUgMC0xLjI2LS4xNC0xLjgyLS4zOEw3LjcxIDE1LjFjLjk3LjU3IDIuMDkuOSAzLjMuOSAxLjYxIDAgMy4wOC0uNTkgNC4yMi0xLjU3bC4yNy4yN3YuNzlsNS4wMSA0Ljk5TDIyIDE5bC00Ljk5LTV6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iem9vbS1pbiI+PHBhdGggZD0iTTE1LjUgMTRoLS43OWwtLjI4LS4yN0MxNS40MSAxMi41OSAxNiAxMS4xMSAxNiA5LjUgMTYgNS45MSAxMy4wOSAzIDkuNSAzUzMgNS45MSAzIDkuNSA1LjkxIDE2IDkuNSAxNmMxLjYxIDAgMy4wOS0uNTkgNC4yMy0xLjU3bC4yNy4yOHYuNzlsNSA0Ljk5TDIwLjQ5IDE5bC00Ljk5LTV6bS02IDBDNy4wMSAxNCA1IDExLjk5IDUgOS41UzcuMDEgNSA5LjUgNSAxNCA3LjAxIDE0IDkuNSAxMS45OSAxNCA5LjUgMTR6bTIuNS00aC0ydjJIOXYtMkg3VjloMlY3aDF2MmgydjF6Ij48L3BhdGg+PC9nPgo8ZyBpZD0iem9vbS1vdXQiPjxwYXRoIGQ9Ik0xNS41IDE0aC0uNzlsLS4yOC0uMjdDMTUuNDEgMTIuNTkgMTYgMTEuMTEgMTYgOS41IDE2IDUuOTEgMTMuMDkgMyA5LjUgM1MzIDUuOTEgMyA5LjUgNS45MSAxNiA5LjUgMTZjMS42MSAwIDMuMDktLjU5IDQuMjMtMS41N2wuMjcuMjh2Ljc5bDUgNC45OUwyMC40OSAxOWwtNC45OS01em0tNiAwQzcuMDEgMTQgNSAxMS45OSA1IDkuNVM3LjAxIDUgOS41IDUgMTQgNy4wMSAxNCA5LjUgMTEuOTkgMTQgOS41IDE0ek03IDloNXYxSDd6Ij48L3BhdGg+PC9nPgo8L2RlZnM+PC9zdmc+CjwvaXJvbi1pY29uc2V0LXN2Zz5gO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoT28uY29udGVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwp2YXIgem89eyJVKzAwMDgiOiJiYWNrc3BhY2UiLCJVKzAwMDkiOiJ0YWIiLCJVKzAwMUIiOiJlc2MiLCJVKzAwMjAiOiJzcGFjZSIsIlUrMDA3RiI6ImRlbCJ9LERvPXs4OiJiYWNrc3BhY2UiLDk6InRhYiIsMTM6ImVudGVyIiwyNzoiZXNjIiwzMzoicGFnZXVwIiwzNDoicGFnZWRvd24iLDM1OiJlbmQiLDM2OiJob21lIiwzMjoic3BhY2UiLDM3OiJsZWZ0IiwzODoidXAiLDM5OiJyaWdodCIsNDA6ImRvd24iLDQ2OiJkZWwiLDEwNjoiKiJ9LEJvPXtzaGlmdDoic2hpZnRLZXkiLGN0cmw6ImN0cmxLZXkiLGFsdDoiYWx0S2V5IixtZXRhOiJtZXRhS2V5In0sSG89L1thLXowLTkqXS8sRm89L1VcKy8sVm89L15hcnJvdy8sVW89L15zcGFjZShiYXIpPy8sam89L15lc2NhcGUkLztmdW5jdGlvbiBHbyh0LGUpe3ZhciBuPSIiO2lmKHQpe3ZhciBpPXQudG9Mb3dlckNhc2UoKTsiICI9PT1pfHxVby50ZXN0KGkpP249InNwYWNlIjpqby50ZXN0KGkpP249ImVzYyI6MT09aS5sZW5ndGg/ZSYmIUhvLnRlc3QoaSl8fChuPWkpOm49Vm8udGVzdChpKT9pLnJlcGxhY2UoImFycm93IiwiIik6Im11bHRpcGx5Ij09aT8iKiI6aX1yZXR1cm4gbn1mdW5jdGlvbiBXbyh0LGUpe3JldHVybiB0LmtleT9Hbyh0LmtleSxlKTp0LmRldGFpbCYmdC5kZXRhaWwua2V5P0dvKHQuZGV0YWlsLmtleSxlKTooZnVuY3Rpb24gbih0KXt2YXIgZT0iIjtyZXR1cm4gdCYmKHQgaW4gem8/ZT16b1t0XTpGby50ZXN0KHQpPyh0PXBhcnNlSW50KHQucmVwbGFjZSgiVSsiLCIweCIpLDE2KSxlPVN0cmluZy5mcm9tQ2hhckNvZGUodCkudG9Mb3dlckNhc2UoKSk6ZT10LnRvTG93ZXJDYXNlKCkpLGV9KSh0LmtleUlkZW50aWZpZXIpfHwoZnVuY3Rpb24gaSh0KXt2YXIgZT0iIjtyZXR1cm4gTnVtYmVyKHQpJiYoZT10Pj02NSYmdDw9OTA/U3RyaW5nLmZyb21DaGFyQ29kZSgzMit0KTp0Pj0xMTImJnQ8PTEyMz8iZiIrKHQtMTEyKzEpOnQ+PTQ4JiZ0PD01Nz9TdHJpbmcodC00OCk6dD49OTYmJnQ8PTEwNT9TdHJpbmcodC05Nik6RG9bdF0pLGV9KSh0LmtleUNvZGUpfHwiIn1mdW5jdGlvbiBxbyh0LGUpe3JldHVybiBXbyhlLHQuaGFzTW9kaWZpZXJzKT09PXQua2V5JiYoIXQuaGFzTW9kaWZpZXJzfHwhIWUuc2hpZnRLZXk9PSEhdC5zaGlmdEtleSYmISFlLmN0cmxLZXk9PSEhdC5jdHJsS2V5JiYhIWUuYWx0S2V5PT0hIXQuYWx0S2V5JiYhIWUubWV0YUtleT09ISF0Lm1ldGFLZXkpfWZ1bmN0aW9uIFlvKHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgiICIpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuKGZ1bmN0aW9uIGUodCl7cmV0dXJuIDE9PT10Lmxlbmd0aD97Y29tYm86dCxrZXk6dCxldmVudDoia2V5ZG93biJ9OnQuc3BsaXQoIisiKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7dmFyIG49ZS5zcGxpdCgiOiIpLGk9blswXSxyPW5bMV07cmV0dXJuIGkgaW4gQm8/KHRbQm9baV1dPSEwLHQuaGFzTW9kaWZpZXJzPSEwKToodC5rZXk9aSx0LmV2ZW50PXJ8fCJrZXlkb3duIiksdH0pLHtjb21ibzp0LnNwbGl0KCI6Iikuc2hpZnQoKX0pfSkodCl9KSl9Y29uc3QgWG89e3Byb3BlcnRpZXM6e2tleUV2ZW50VGFyZ2V0Ont0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzfX0sc3RvcEtleWJvYXJkRXZlbnRQcm9wYWdhdGlvbjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfYm91bmRLZXlIYW5kbGVyczp7dHlwZTpBcnJheSx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX0sX2ltcGVyYXRpdmVLZXlCaW5kaW5nczp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57fX19fSxvYnNlcnZlcnM6WyJfcmVzZXRLZXlFdmVudExpc3RlbmVycyhrZXlFdmVudFRhcmdldCwgX2JvdW5kS2V5SGFuZGxlcnMpIl0sa2V5QmluZGluZ3M6e30scmVnaXN0ZXJlZDpmdW5jdGlvbigpe3RoaXMuX3ByZXBLZXlCaW5kaW5ncygpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2xpc3RlbktleUV2ZW50TGlzdGVuZXJzKCl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fdW5saXN0ZW5LZXlFdmVudExpc3RlbmVycygpfSxhZGRPd25LZXlCaW5kaW5nOmZ1bmN0aW9uKHQsZSl7dGhpcy5faW1wZXJhdGl2ZUtleUJpbmRpbmdzW3RdPWUsdGhpcy5fcHJlcEtleUJpbmRpbmdzKCksdGhpcy5fcmVzZXRLZXlFdmVudExpc3RlbmVycygpfSxyZW1vdmVPd25LZXlCaW5kaW5nczpmdW5jdGlvbigpe3RoaXMuX2ltcGVyYXRpdmVLZXlCaW5kaW5ncz17fSx0aGlzLl9wcmVwS2V5QmluZGluZ3MoKSx0aGlzLl9yZXNldEtleUV2ZW50TGlzdGVuZXJzKCl9LGtleWJvYXJkRXZlbnRNYXRjaGVzS2V5czpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj1ZbyhlKSxpPTA7aTxuLmxlbmd0aDsrK2kpaWYocW8obltpXSx0KSlyZXR1cm4hMDtyZXR1cm4hMX0sX2NvbGxlY3RLZXlCaW5kaW5nczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuYmVoYXZpb3JzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQua2V5QmluZGluZ3N9KSk7cmV0dXJuLTE9PT10LmluZGV4T2YodGhpcy5rZXlCaW5kaW5ncykmJnQucHVzaCh0aGlzLmtleUJpbmRpbmdzKSx0fSxfcHJlcEtleUJpbmRpbmdzOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuX2tleUJpbmRpbmdzPXt9LHRoaXMuX2NvbGxlY3RLZXlCaW5kaW5ncygpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0KXRoaXMuX2FkZEtleUJpbmRpbmcoZSx0W2VdKX0pLHRoaXMpLHRoaXMuX2ltcGVyYXRpdmVLZXlCaW5kaW5ncyl0aGlzLl9hZGRLZXlCaW5kaW5nKHQsdGhpcy5faW1wZXJhdGl2ZUtleUJpbmRpbmdzW3RdKTtmb3IodmFyIGUgaW4gdGhpcy5fa2V5QmluZGluZ3MpdGhpcy5fa2V5QmluZGluZ3NbZV0uc29ydCgoZnVuY3Rpb24odCxlKXt2YXIgbj10WzBdLmhhc01vZGlmaWVycztyZXR1cm4gbj09PWVbMF0uaGFzTW9kaWZpZXJzPzA6bj8tMToxfSkpfSxfYWRkS2V5QmluZGluZzpmdW5jdGlvbih0LGUpe1lvKHQpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3RoaXMuX2tleUJpbmRpbmdzW3QuZXZlbnRdPXRoaXMuX2tleUJpbmRpbmdzW3QuZXZlbnRdfHxbXSx0aGlzLl9rZXlCaW5kaW5nc1t0LmV2ZW50XS5wdXNoKFt0LGVdKX0pLHRoaXMpfSxfcmVzZXRLZXlFdmVudExpc3RlbmVyczpmdW5jdGlvbigpe3RoaXMuX3VubGlzdGVuS2V5RXZlbnRMaXN0ZW5lcnMoKSx0aGlzLmlzQXR0YWNoZWQmJnRoaXMuX2xpc3RlbktleUV2ZW50TGlzdGVuZXJzKCl9LF9saXN0ZW5LZXlFdmVudExpc3RlbmVyczpmdW5jdGlvbigpe3RoaXMua2V5RXZlbnRUYXJnZXQmJk9iamVjdC5rZXlzKHRoaXMuX2tleUJpbmRpbmdzKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9vbktleUJpbmRpbmdFdmVudC5iaW5kKHRoaXMsdGhpcy5fa2V5QmluZGluZ3NbdF0pO3RoaXMuX2JvdW5kS2V5SGFuZGxlcnMucHVzaChbdGhpcy5rZXlFdmVudFRhcmdldCx0LGVdKSx0aGlzLmtleUV2ZW50VGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIodCxlKX0pLHRoaXMpfSxfdW5saXN0ZW5LZXlFdmVudExpc3RlbmVyczpmdW5jdGlvbigpe2Zvcih2YXIgdDt0aGlzLl9ib3VuZEtleUhhbmRsZXJzLmxlbmd0aDspKHQ9dGhpcy5fYm91bmRLZXlIYW5kbGVycy5wb3AoKSlbMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcih0WzFdLHRbMl0pfSxfb25LZXlCaW5kaW5nRXZlbnQ6ZnVuY3Rpb24odCxlKXtpZih0aGlzLnN0b3BLZXlib2FyZEV2ZW50UHJvcGFnYXRpb24mJmUuc3RvcFByb3BhZ2F0aW9uKCksIWUuZGVmYXVsdFByZXZlbnRlZClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGk9dFtuXVswXSxyPXRbbl1bMV07aWYocW8oaSxlKSYmKHRoaXMuX3RyaWdnZXJLZXlIYW5kbGVyKGkscixlKSxlLmRlZmF1bHRQcmV2ZW50ZWQpKXJldHVybn19LF90cmlnZ2VyS2V5SGFuZGxlcjpmdW5jdGlvbih0LGUsbil7dmFyIGk9T2JqZWN0LmNyZWF0ZSh0KTtpLmtleWJvYXJkRXZlbnQ9bjt2YXIgcj1uZXcgQ3VzdG9tRXZlbnQodC5ldmVudCx7ZGV0YWlsOmksY2FuY2VsYWJsZTohMH0pO3RoaXNbZV0uY2FsbCh0aGlzLHIpLHIuZGVmYXVsdFByZXZlbnRlZCYmbi5wcmV2ZW50RGVmYXVsdCgpfX0sJG89e3Byb3BlcnRpZXM6e3Njcm9sbFRhcmdldDp7dHlwZTpIVE1MRWxlbWVudCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9kZWZhdWx0U2Nyb2xsVGFyZ2V0fX19LG9ic2VydmVyczpbIl9zY3JvbGxUYXJnZXRDaGFuZ2VkKHNjcm9sbFRhcmdldCwgaXNBdHRhY2hlZCkiXSxfc2hvdWxkSGF2ZUxpc3RlbmVyOiEwLF9zY3JvbGxUYXJnZXRDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7aWYodGhpcy5fb2xkU2Nyb2xsVGFyZ2V0JiYodGhpcy5fdG9nZ2xlU2Nyb2xsTGlzdGVuZXIoITEsdGhpcy5fb2xkU2Nyb2xsVGFyZ2V0KSx0aGlzLl9vbGRTY3JvbGxUYXJnZXQ9bnVsbCksZSlpZigiZG9jdW1lbnQiPT09dCl0aGlzLnNjcm9sbFRhcmdldD10aGlzLl9kb2M7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBuPXRoaXMuZG9tSG9zdDt0aGlzLnNjcm9sbFRhcmdldD1uJiZuLiQ/bi4kW3RdOmVyKHRoaXMub3duZXJEb2N1bWVudCkucXVlcnlTZWxlY3RvcigiIyIrdCl9ZWxzZSB0aGlzLl9pc1ZhbGlkU2Nyb2xsVGFyZ2V0KCkmJih0aGlzLl9vbGRTY3JvbGxUYXJnZXQ9dCx0aGlzLl90b2dnbGVTY3JvbGxMaXN0ZW5lcih0aGlzLl9zaG91bGRIYXZlTGlzdGVuZXIsdCkpfSxfc2Nyb2xsSGFuZGxlcjpmdW5jdGlvbiB0KCl7fSxnZXQgX2RlZmF1bHRTY3JvbGxUYXJnZXQoKXtyZXR1cm4gdGhpcy5fZG9jfSxnZXQgX2RvYygpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fSxnZXQgX3Njcm9sbFRvcCgpe3JldHVybiB0aGlzLl9pc1ZhbGlkU2Nyb2xsVGFyZ2V0KCk/dGhpcy5zY3JvbGxUYXJnZXQ9PT10aGlzLl9kb2M/d2luZG93LnBhZ2VZT2Zmc2V0OnRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbFRvcDowfSxnZXQgX3Njcm9sbExlZnQoKXtyZXR1cm4gdGhpcy5faXNWYWxpZFNjcm9sbFRhcmdldCgpP3RoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcy5fZG9jP3dpbmRvdy5wYWdlWE9mZnNldDp0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxMZWZ0OjB9LHNldCBfc2Nyb2xsVG9wKHQpe3RoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcy5fZG9jP3dpbmRvdy5zY3JvbGxUbyh3aW5kb3cucGFnZVhPZmZzZXQsdCk6dGhpcy5faXNWYWxpZFNjcm9sbFRhcmdldCgpJiYodGhpcy5zY3JvbGxUYXJnZXQuc2Nyb2xsVG9wPXQpfSxzZXQgX3Njcm9sbExlZnQodCl7dGhpcy5zY3JvbGxUYXJnZXQ9PT10aGlzLl9kb2M/d2luZG93LnNjcm9sbFRvKHQsd2luZG93LnBhZ2VZT2Zmc2V0KTp0aGlzLl9pc1ZhbGlkU2Nyb2xsVGFyZ2V0KCkmJih0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxMZWZ0PXQpfSxzY3JvbGw6ZnVuY3Rpb24odCxlKXt2YXIgbjsib2JqZWN0Ij09dHlwZW9mIHQ/KG49dC5sZWZ0LGU9dC50b3ApOm49dCxuPW58fDAsZT1lfHwwLHRoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcy5fZG9jP3dpbmRvdy5zY3JvbGxUbyhuLGUpOnRoaXMuX2lzVmFsaWRTY3JvbGxUYXJnZXQoKSYmKHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbExlZnQ9bix0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxUb3A9ZSl9LGdldCBfc2Nyb2xsVGFyZ2V0V2lkdGgoKXtyZXR1cm4gdGhpcy5faXNWYWxpZFNjcm9sbFRhcmdldCgpP3RoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcy5fZG9jP3dpbmRvdy5pbm5lcldpZHRoOnRoaXMuc2Nyb2xsVGFyZ2V0Lm9mZnNldFdpZHRoOjB9LGdldCBfc2Nyb2xsVGFyZ2V0SGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2lzVmFsaWRTY3JvbGxUYXJnZXQoKT90aGlzLnNjcm9sbFRhcmdldD09PXRoaXMuX2RvYz93aW5kb3cuaW5uZXJIZWlnaHQ6dGhpcy5zY3JvbGxUYXJnZXQub2Zmc2V0SGVpZ2h0OjB9LF9pc1ZhbGlkU2Nyb2xsVGFyZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2Nyb2xsVGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnR9LF90b2dnbGVTY3JvbGxMaXN0ZW5lcjpmdW5jdGlvbih0LGUpe3ZhciBuPWU9PT10aGlzLl9kb2M/d2luZG93OmU7dD90aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXJ8fCh0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXI9dGhpcy5fc2Nyb2xsSGFuZGxlci5iaW5kKHRoaXMpLG4uYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXIpKTp0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXImJihuLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5fYm91bmRTY3JvbGxIYW5kbGVyKSx0aGlzLl9ib3VuZFNjcm9sbEhhbmRsZXI9bnVsbCl9LHRvZ2dsZVNjcm9sbExpc3RlbmVyOmZ1bmN0aW9uKHQpe3RoaXMuX3Nob3VsZEhhdmVMaXN0ZW5lcj10LHRoaXMuX3RvZ2dsZVNjcm9sbExpc3RlbmVyKHQsdGhpcy5zY3JvbGxUYXJnZXQpfX07Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTYgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KdmFyIEtvPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lQKD86aG9uZXxhZDsoPzogVTspPyBDUFUpIE9TIChcZCspLyksWm89S28mJktvWzFdPj04LEpvPSItMTAwMDBweCIsUW89LTEwMDtqcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbzogMSkgewogICAgICAgIDpob3N0IHsKICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgICAgfQogICAgICB9CgogICAgICAjaXRlbXMgewogICAgICAgIEBhcHBseSAtLWlyb24tbGlzdC1pdGVtcy1jb250YWluZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICA6aG9zdCg6bm90KFtncmlkXSkpICNpdGVtcyA+IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNpdGVtcyA+IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxhcnJheS1zZWxlY3RvciBpZD0ic2VsZWN0b3IiIGl0ZW1zPSJ7e2l0ZW1zfX0iIHNlbGVjdGVkPSJ7e3NlbGVjdGVkSXRlbXN9fSIgc2VsZWN0ZWQtaXRlbT0ie3tzZWxlY3RlZEl0ZW19fSI+PC9hcnJheS1zZWxlY3Rvcj4KCiAgICA8ZGl2IGlkPSJpdGVtcyI+CiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIDwvZGl2PgpgLGlzOiJpcm9uLWxpc3QiLHByb3BlcnRpZXM6e2l0ZW1zOnt0eXBlOkFycmF5fSxhczp7dHlwZTpTdHJpbmcsdmFsdWU6Iml0ZW0ifSxpbmRleEFzOnt0eXBlOlN0cmluZyx2YWx1ZToiaW5kZXgifSxzZWxlY3RlZEFzOnt0eXBlOlN0cmluZyx2YWx1ZToic2VsZWN0ZWQifSxncmlkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwLG9ic2VydmVyOiJfZ3JpZENoYW5nZWQifSxzZWxlY3Rpb25FbmFibGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LHNlbGVjdGVkSXRlbTp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSxzZWxlY3RlZEl0ZW1zOnt0eXBlOk9iamVjdCxub3RpZnk6ITB9LG11bHRpU2VsZWN0aW9uOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LHNjcm9sbE9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MH19LG9ic2VydmVyczpbIl9pdGVtc0NoYW5nZWQoaXRlbXMuKikiLCJfc2VsZWN0aW9uRW5hYmxlZENoYW5nZWQoc2VsZWN0aW9uRW5hYmxlZCkiLCJfbXVsdGlTZWxlY3Rpb25DaGFuZ2VkKG11bHRpU2VsZWN0aW9uKSIsIl9zZXRPdmVyZmxvdyhzY3JvbGxUYXJnZXQsIHNjcm9sbE9mZnNldCkiXSxiZWhhdmlvcnM6W2xvLENvLCRvLE1vXSxfcmF0aW86LjUsX3Njcm9sbGVyUGFkZGluZ1RvcDowLF9zY3JvbGxQb3NpdGlvbjowLF9waHlzaWNhbFNpemU6MCxfcGh5c2ljYWxBdmVyYWdlOjAsX3BoeXNpY2FsQXZlcmFnZUNvdW50OjAsX3BoeXNpY2FsVG9wOjAsX3ZpcnR1YWxDb3VudDowLF9lc3RTY3JvbGxIZWlnaHQ6MCxfc2Nyb2xsSGVpZ2h0OjAsX3ZpZXdwb3J0SGVpZ2h0OjAsX3ZpZXdwb3J0V2lkdGg6MCxfcGh5c2ljYWxJdGVtczpudWxsLF9waHlzaWNhbFNpemVzOm51bGwsX2ZpcnN0VmlzaWJsZUluZGV4VmFsOm51bGwsX2xhc3RWaXNpYmxlSW5kZXhWYWw6bnVsbCxfbWF4UGFnZXM6MixfZm9jdXNlZEl0ZW06bnVsbCxfZm9jdXNlZFZpcnR1YWxJbmRleDotMSxfZm9jdXNlZFBoeXNpY2FsSW5kZXg6LTEsX29mZnNjcmVlbkZvY3VzZWRJdGVtOm51bGwsX2ZvY3VzQmFja2ZpbGxJdGVtOm51bGwsX2l0ZW1zUGVyUm93OjEsX2l0ZW1XaWR0aDowLF9yb3dIZWlnaHQ6MCxfdGVtcGxhdGVDb3N0OjAsX3BhcmVudE1vZGVsOiEwLGdldCBfcGh5c2ljYWxCb3R0b20oKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fcGh5c2ljYWxTaXplfSxnZXQgX3Njcm9sbEJvdHRvbSgpe3JldHVybiB0aGlzLl9zY3JvbGxQb3NpdGlvbit0aGlzLl92aWV3cG9ydEhlaWdodH0sZ2V0IF92aXJ0dWFsRW5kKCl7cmV0dXJuIHRoaXMuX3ZpcnR1YWxTdGFydCt0aGlzLl9waHlzaWNhbENvdW50LTF9LGdldCBfaGlkZGVuQ29udGVudFNpemUoKXtyZXR1cm4odGhpcy5ncmlkP3RoaXMuX3BoeXNpY2FsUm93cyp0aGlzLl9yb3dIZWlnaHQ6dGhpcy5fcGh5c2ljYWxTaXplKS10aGlzLl92aWV3cG9ydEhlaWdodH0sZ2V0IF9pdGVtc1BhcmVudCgpe3JldHVybiBlcihlcih0aGlzLl91c2VyVGVtcGxhdGUpLnBhcmVudE5vZGUpfSxnZXQgX21heFNjcm9sbFRvcCgpe3JldHVybiB0aGlzLl9lc3RTY3JvbGxIZWlnaHQtdGhpcy5fdmlld3BvcnRIZWlnaHQrdGhpcy5fc2Nyb2xsT2Zmc2V0fSxnZXQgX21heFZpcnR1YWxTdGFydCgpe3ZhciB0PXRoaXMuX2NvbnZlcnRJbmRleFRvQ29tcGxldGVSb3codGhpcy5fdmlydHVhbENvdW50KTtyZXR1cm4gTWF0aC5tYXgoMCx0LXRoaXMuX3BoeXNpY2FsQ291bnQpfSxzZXQgX3ZpcnR1YWxTdGFydCh0KXt0PXRoaXMuX2NsYW1wKHQsMCx0aGlzLl9tYXhWaXJ0dWFsU3RhcnQpLHRoaXMuZ3JpZCYmKHQtPXQldGhpcy5faXRlbXNQZXJSb3cpLHRoaXMuX3ZpcnR1YWxTdGFydFZhbD10fSxnZXQgX3ZpcnR1YWxTdGFydCgpe3JldHVybiB0aGlzLl92aXJ0dWFsU3RhcnRWYWx8fDB9LHNldCBfcGh5c2ljYWxTdGFydCh0KXsodCU9dGhpcy5fcGh5c2ljYWxDb3VudCk8MCYmKHQ9dGhpcy5fcGh5c2ljYWxDb3VudCt0KSx0aGlzLmdyaWQmJih0LT10JXRoaXMuX2l0ZW1zUGVyUm93KSx0aGlzLl9waHlzaWNhbFN0YXJ0VmFsPXR9LGdldCBfcGh5c2ljYWxTdGFydCgpe3JldHVybiB0aGlzLl9waHlzaWNhbFN0YXJ0VmFsfHwwfSxnZXQgX3BoeXNpY2FsRW5kKCl7cmV0dXJuKHRoaXMuX3BoeXNpY2FsU3RhcnQrdGhpcy5fcGh5c2ljYWxDb3VudC0xKSV0aGlzLl9waHlzaWNhbENvdW50fSxzZXQgX3BoeXNpY2FsQ291bnQodCl7dGhpcy5fcGh5c2ljYWxDb3VudFZhbD10fSxnZXQgX3BoeXNpY2FsQ291bnQoKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxDb3VudFZhbHx8MH0sZ2V0IF9vcHRQaHlzaWNhbFNpemUoKXtyZXR1cm4gMD09PXRoaXMuX3ZpZXdwb3J0SGVpZ2h0PzEvMDp0aGlzLl92aWV3cG9ydEhlaWdodCp0aGlzLl9tYXhQYWdlc30sZ2V0IF9pc1Zpc2libGUoKXtyZXR1cm4gQm9vbGVhbih0aGlzLm9mZnNldFdpZHRofHx0aGlzLm9mZnNldEhlaWdodCl9LGdldCBmaXJzdFZpc2libGVJbmRleCgpe3ZhciB0PXRoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsO2lmKG51bGw9PXQpe3ZhciBlPXRoaXMuX3BoeXNpY2FsVG9wK3RoaXMuX3Njcm9sbE9mZnNldDt0PXRoaXMuX2l0ZXJhdGVJdGVtcygoZnVuY3Rpb24odCxuKXtyZXR1cm4oZSs9dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KHQpKT50aGlzLl9zY3JvbGxQb3NpdGlvbj90aGlzLmdyaWQ/bi1uJXRoaXMuX2l0ZW1zUGVyUm93Om46dGhpcy5ncmlkJiZ0aGlzLl92aXJ0dWFsQ291bnQtMT09PW4/bi1uJXRoaXMuX2l0ZW1zUGVyUm93OnZvaWQgMH0pKXx8MCx0aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD10fXJldHVybiB0fSxnZXQgbGFzdFZpc2libGVJbmRleCgpe3ZhciB0PXRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw7aWYobnVsbD09dCl7aWYodGhpcy5ncmlkKXQ9TWF0aC5taW4odGhpcy5fdmlydHVhbENvdW50LHRoaXMuZmlyc3RWaXNpYmxlSW5kZXgrdGhpcy5fZXN0Um93c0luVmlldyp0aGlzLl9pdGVtc1BlclJvdy0xKTtlbHNle3ZhciBlPXRoaXMuX3BoeXNpY2FsVG9wK3RoaXMuX3Njcm9sbE9mZnNldDt0aGlzLl9pdGVyYXRlSXRlbXMoKGZ1bmN0aW9uKG4saSl7ZTx0aGlzLl9zY3JvbGxCb3R0b20mJih0PWkpLGUrPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChuKX0pKX10aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPXR9cmV0dXJuIHR9LGdldCBfZGVmYXVsdFNjcm9sbFRhcmdldCgpe3JldHVybiB0aGlzfSxnZXQgX3ZpcnR1YWxSb3dDb3VudCgpe3JldHVybiBNYXRoLmNlaWwodGhpcy5fdmlydHVhbENvdW50L3RoaXMuX2l0ZW1zUGVyUm93KX0sZ2V0IF9lc3RSb3dzSW5WaWV3KCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLl92aWV3cG9ydEhlaWdodC90aGlzLl9yb3dIZWlnaHQpfSxnZXQgX3BoeXNpY2FsUm93cygpe3JldHVybiBNYXRoLmNlaWwodGhpcy5fcGh5c2ljYWxDb3VudC90aGlzLl9pdGVtc1BlclJvdyl9LGdldCBfc2Nyb2xsT2Zmc2V0KCl7cmV0dXJuIHRoaXMuX3Njcm9sbGVyUGFkZGluZ1RvcCt0aGlzLnNjcm9sbE9mZnNldH0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9kaWRGb2N1cy5iaW5kKHRoaXMpLCEwKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9kZWJvdW5jZSgiX3JlbmRlciIsdGhpcy5fcmVuZGVyLF90KSx0aGlzLmxpc3Rlbih0aGlzLCJpcm9uLXJlc2l6ZSIsIl9yZXNpemVIYW5kbGVyIiksdGhpcy5saXN0ZW4odGhpcywia2V5ZG93biIsIl9rZXlkb3duSGFuZGxlciIpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMudW5saXN0ZW4odGhpcywiaXJvbi1yZXNpemUiLCJfcmVzaXplSGFuZGxlciIpLHRoaXMudW5saXN0ZW4odGhpcywia2V5ZG93biIsIl9rZXlkb3duSGFuZGxlciIpfSxfc2V0T3ZlcmZsb3c6ZnVuY3Rpb24odCl7dGhpcy5zdHlsZS53ZWJraXRPdmVyZmxvd1Njcm9sbGluZz10PT09dGhpcz8idG91Y2giOiIiLHRoaXMuc3R5bGUub3ZlcmZsb3dZPXQ9PT10aGlzPyJhdXRvIjoiIix0aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPW51bGwsdGhpcy5fZmlyc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLl9kZWJvdW5jZSgiX3JlbmRlciIsdGhpcy5fcmVuZGVyLF90KX0sdXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzOmZ1bmN0aW9uKCl7dmFyIHQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcyk7dGhpcy5fc2Nyb2xsZXJQYWRkaW5nVG9wPXRoaXMuc2Nyb2xsVGFyZ2V0PT09dGhpcz8wOnBhcnNlSW50KHRbInBhZGRpbmctdG9wIl0sMTApLHRoaXMuX2lzUlRMPUJvb2xlYW4oInJ0bCI9PT10LmRpcmVjdGlvbiksdGhpcy5fdmlld3BvcnRXaWR0aD10aGlzLiQuaXRlbXMub2Zmc2V0V2lkdGgsdGhpcy5fdmlld3BvcnRIZWlnaHQ9dGhpcy5fc2Nyb2xsVGFyZ2V0SGVpZ2h0LHRoaXMuZ3JpZCYmdGhpcy5fdXBkYXRlR3JpZE1ldHJpY3MoKX0sX3Njcm9sbEhhbmRsZXI6ZnVuY3Rpb24oKXt2YXIgdD1NYXRoLm1heCgwLE1hdGgubWluKHRoaXMuX21heFNjcm9sbFRvcCx0aGlzLl9zY3JvbGxUb3ApKSxlPXQtdGhpcy5fc2Nyb2xsUG9zaXRpb24sbj1lPj0wO2lmKHRoaXMuX3Njcm9sbFBvc2l0aW9uPXQsdGhpcy5fZmlyc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPW51bGwsTWF0aC5hYnMoZSk+dGhpcy5fcGh5c2ljYWxTaXplJiZ0aGlzLl9waHlzaWNhbFNpemU+MCl7ZS09dGhpcy5fc2Nyb2xsT2Zmc2V0O3ZhciBpPU1hdGgucm91bmQoZS90aGlzLl9waHlzaWNhbEF2ZXJhZ2UpKnRoaXMuX2l0ZW1zUGVyUm93O3RoaXMuX3ZpcnR1YWxTdGFydD10aGlzLl92aXJ0dWFsU3RhcnQraSx0aGlzLl9waHlzaWNhbFN0YXJ0PXRoaXMuX3BoeXNpY2FsU3RhcnQraSx0aGlzLl9waHlzaWNhbFRvcD1NYXRoLm1pbihNYXRoLmZsb29yKHRoaXMuX3ZpcnR1YWxTdGFydC90aGlzLl9pdGVtc1BlclJvdykqdGhpcy5fcGh5c2ljYWxBdmVyYWdlLHRoaXMuX3Njcm9sbFBvc2l0aW9uKSx0aGlzLl91cGRhdGUoKX1lbHNlIGlmKHRoaXMuX3BoeXNpY2FsQ291bnQ+MCl7dmFyIHI9dGhpcy5fZ2V0UmV1c2FibGVzKG4pO24/KHRoaXMuX3BoeXNpY2FsVG9wPXIucGh5c2ljYWxUb3AsdGhpcy5fdmlydHVhbFN0YXJ0PXRoaXMuX3ZpcnR1YWxTdGFydCtyLmluZGV4ZXMubGVuZ3RoLHRoaXMuX3BoeXNpY2FsU3RhcnQ9dGhpcy5fcGh5c2ljYWxTdGFydCtyLmluZGV4ZXMubGVuZ3RoKToodGhpcy5fdmlydHVhbFN0YXJ0PXRoaXMuX3ZpcnR1YWxTdGFydC1yLmluZGV4ZXMubGVuZ3RoLHRoaXMuX3BoeXNpY2FsU3RhcnQ9dGhpcy5fcGh5c2ljYWxTdGFydC1yLmluZGV4ZXMubGVuZ3RoKSx0aGlzLl91cGRhdGUoci5pbmRleGVzLG4/bnVsbDpyLmluZGV4ZXMpLHRoaXMuX2RlYm91bmNlKCJfaW5jcmVhc2VQb29sSWZOZWVkZWQiLHRoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkLmJpbmQodGhpcywwKSx2dCl9fSxfZ2V0UmV1c2FibGVzOmZ1bmN0aW9uKHQpe3ZhciBlLG4saSxyPVtdLG89dGhpcy5faGlkZGVuQ29udGVudFNpemUqdGhpcy5fcmF0aW8sYT10aGlzLl92aXJ0dWFsU3RhcnQscz10aGlzLl92aXJ0dWFsRW5kLGw9dGhpcy5fcGh5c2ljYWxDb3VudCxjPXRoaXMuX3BoeXNpY2FsVG9wK3RoaXMuX3Njcm9sbE9mZnNldCx1PXRoaXMuX3Njcm9sbFBvc2l0aW9uLGg9dGhpcy5fc2Nyb2xsQm90dG9tO2Zvcih0PyhlPXRoaXMuX3BoeXNpY2FsU3RhcnQsbj11LWMpOihlPXRoaXMuX3BoeXNpY2FsRW5kLG49dGhpcy5fcGh5c2ljYWxCb3R0b20rdGhpcy5fc2Nyb2xsT2Zmc2V0LWgpO24tPWk9dGhpcy5fZ2V0UGh5c2ljYWxTaXplSW5jcmVtZW50KGUpLCEoci5sZW5ndGg+PWx8fG48PW8pOylpZih0KXtpZihzK3IubGVuZ3RoKzE+PXRoaXMuX3ZpcnR1YWxDb3VudClicmVhaztpZihjK2k+PXUtdGhpcy5fc2Nyb2xsT2Zmc2V0KWJyZWFrO3IucHVzaChlKSxjKz1pLGU9KGUrMSklbH1lbHNle2lmKGEtci5sZW5ndGg8PTApYnJlYWs7aWYoYyt0aGlzLl9waHlzaWNhbFNpemUtaTw9aClicmVhaztyLnB1c2goZSksYy09aSxlPTA9PT1lP2wtMTplLTF9cmV0dXJue2luZGV4ZXM6cixwaHlzaWNhbFRvcDpjLXRoaXMuX3Njcm9sbE9mZnNldH19LF91cGRhdGU6ZnVuY3Rpb24odCxlKXtpZighKHQmJjA9PT10Lmxlbmd0aHx8MD09PXRoaXMuX3BoeXNpY2FsQ291bnQpKXtpZih0aGlzLl9tYW5hZ2VGb2N1cygpLHRoaXMuX2Fzc2lnbk1vZGVscyh0KSx0aGlzLl91cGRhdGVNZXRyaWNzKHQpLGUpZm9yKDtlLmxlbmd0aDspe3ZhciBuPWUucG9wKCk7dGhpcy5fcGh5c2ljYWxUb3AtPXRoaXMuX2dldFBoeXNpY2FsU2l6ZUluY3JlbWVudChuKX10aGlzLl9wb3NpdGlvbkl0ZW1zKCksdGhpcy5fdXBkYXRlU2Nyb2xsZXJTaXplKCl9fSxfY3JlYXRlUG9vbDpmdW5jdGlvbih0KXt2YXIgZSxuO3RoaXMuX2Vuc3VyZVRlbXBsYXRpemVkKCk7dmFyIGk9bmV3IEFycmF5KHQpO2ZvcihlPTA7ZTx0O2UrKyluPXRoaXMuc3RhbXAobnVsbCksaVtlXT1uLnJvb3QucXVlcnlTZWxlY3RvcigiKiIpLHRoaXMuX2l0ZW1zUGFyZW50LmFwcGVuZENoaWxkKG4ucm9vdCk7cmV0dXJuIGl9LF9pc0NsaWVudEZ1bGw6ZnVuY3Rpb24oKXtyZXR1cm4gMCE9dGhpcy5fc2Nyb2xsQm90dG9tJiZ0aGlzLl9waHlzaWNhbEJvdHRvbS0xPj10aGlzLl9zY3JvbGxCb3R0b20mJnRoaXMuX3BoeXNpY2FsVG9wPD10aGlzLl9zY3JvbGxQb3NpdGlvbn0sX2luY3JlYXNlUG9vbElmTmVlZGVkOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2NsYW1wKHRoaXMuX3BoeXNpY2FsQ291bnQrdCwzLHRoaXMuX3ZpcnR1YWxDb3VudC10aGlzLl92aXJ0dWFsU3RhcnQpO2lmKGU9dGhpcy5fY29udmVydEluZGV4VG9Db21wbGV0ZVJvdyhlKSx0aGlzLmdyaWQpe3ZhciBuPWUldGhpcy5faXRlbXNQZXJSb3c7biYmZS1uPD10aGlzLl9waHlzaWNhbENvdW50JiYoZSs9dGhpcy5faXRlbXNQZXJSb3cpLGUtPW59dmFyIGk9ZS10aGlzLl9waHlzaWNhbENvdW50LHI9TWF0aC5yb3VuZCguNSp0aGlzLl9waHlzaWNhbENvdW50KTtpZighKGk8MCkpe2lmKGk+MCl7dmFyIG89d2luZG93LnBlcmZvcm1hbmNlLm5vdygpO1tdLnB1c2guYXBwbHkodGhpcy5fcGh5c2ljYWxJdGVtcyx0aGlzLl9jcmVhdGVQb29sKGkpKTtmb3IodmFyIGE9MDthPGk7YSsrKXRoaXMuX3BoeXNpY2FsU2l6ZXMucHVzaCgwKTt0aGlzLl9waHlzaWNhbENvdW50PXRoaXMuX3BoeXNpY2FsQ291bnQraSx0aGlzLl9waHlzaWNhbFN0YXJ0PnRoaXMuX3BoeXNpY2FsRW5kJiZ0aGlzLl9pc0luZGV4UmVuZGVyZWQodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCkmJnRoaXMuX2dldFBoeXNpY2FsSW5kZXgodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCk8dGhpcy5fcGh5c2ljYWxFbmQmJih0aGlzLl9waHlzaWNhbFN0YXJ0PXRoaXMuX3BoeXNpY2FsU3RhcnQraSksdGhpcy5fdXBkYXRlKCksdGhpcy5fdGVtcGxhdGVDb3N0PSh3aW5kb3cucGVyZm9ybWFuY2Uubm93KCktbykvaSxyPU1hdGgucm91bmQoLjUqdGhpcy5fcGh5c2ljYWxDb3VudCl9dGhpcy5fdmlydHVhbEVuZD49dGhpcy5fdmlydHVhbENvdW50LTF8fDA9PT1yfHwodGhpcy5faXNDbGllbnRGdWxsKCk/dGhpcy5fcGh5c2ljYWxTaXplPHRoaXMuX29wdFBoeXNpY2FsU2l6ZSYmdGhpcy5fZGVib3VuY2UoIl9pbmNyZWFzZVBvb2xJZk5lZWRlZCIsdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQuYmluZCh0aGlzLHRoaXMuX2NsYW1wKE1hdGgucm91bmQoNTAvdGhpcy5fdGVtcGxhdGVDb3N0KSwxLHIpKSx5dCk6dGhpcy5fZGVib3VuY2UoIl9pbmNyZWFzZVBvb2xJZk5lZWRlZCIsdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQuYmluZCh0aGlzLHIpLHZ0KSl9fSxfcmVuZGVyOmZ1bmN0aW9uKCl7aWYodGhpcy5pc0F0dGFjaGVkJiZ0aGlzLl9pc1Zpc2libGUpaWYoMCE9PXRoaXMuX3BoeXNpY2FsQ291bnQpe3ZhciB0PXRoaXMuX2dldFJldXNhYmxlcyghMCk7dGhpcy5fcGh5c2ljYWxUb3A9dC5waHlzaWNhbFRvcCx0aGlzLl92aXJ0dWFsU3RhcnQ9dGhpcy5fdmlydHVhbFN0YXJ0K3QuaW5kZXhlcy5sZW5ndGgsdGhpcy5fcGh5c2ljYWxTdGFydD10aGlzLl9waHlzaWNhbFN0YXJ0K3QuaW5kZXhlcy5sZW5ndGgsdGhpcy5fdXBkYXRlKHQuaW5kZXhlcyksdGhpcy5fdXBkYXRlKCksdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQoMCl9ZWxzZSB0aGlzLl92aXJ0dWFsQ291bnQ+MCYmKHRoaXMudXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzKCksdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQoMykpfSxfZW5zdXJlVGVtcGxhdGl6ZWQ6ZnVuY3Rpb24oKXtpZighdGhpcy5jdG9yKXt0aGlzLl91c2VyVGVtcGxhdGU9dGhpcy5xdWVyeUVmZmVjdGl2ZUNoaWxkcmVuKCJ0ZW1wbGF0ZSIpLHRoaXMuX3VzZXJUZW1wbGF0ZXx8Y29uc29sZS53YXJuKCJpcm9uLWxpc3QgcmVxdWlyZXMgYSB0ZW1wbGF0ZSB0byBiZSBwcm92aWRlZCBpbiBsaWdodC1kb20iKTt2YXIgdD17X19rZXlfXzohMH07dFt0aGlzLmFzXT0hMCx0W3RoaXMuaW5kZXhBc109ITAsdFt0aGlzLnNlbGVjdGVkQXNdPSEwLHQudGFiSW5kZXg9ITAsdGhpcy5faW5zdGFuY2VQcm9wcz10LHRoaXMudGVtcGxhdGl6ZSh0aGlzLl91c2VyVGVtcGxhdGUsdGhpcy5tdXRhYmxlRGF0YSl9fSxfZ3JpZENoYW5nZWQ6ZnVuY3Rpb24odCxlKXt2b2lkIDAhPT1lJiYodGhpcy5ub3RpZnlSZXNpemUoKSxXaSgpLHQmJnRoaXMuX3VwZGF0ZUdyaWRNZXRyaWNzKCkpfSxfaXRlbXNDaGFuZ2VkOmZ1bmN0aW9uKHQpe2lmKCJpdGVtcyI9PT10LnBhdGgpdGhpcy5fdmlydHVhbFN0YXJ0PTAsdGhpcy5fcGh5c2ljYWxUb3A9MCx0aGlzLl92aXJ0dWFsQ291bnQ9dGhpcy5pdGVtcz90aGlzLml0ZW1zLmxlbmd0aDowLHRoaXMuX3BoeXNpY2FsSW5kZXhGb3JLZXk9e30sdGhpcy5fZmlyc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPW51bGwsdGhpcy5fcGh5c2ljYWxDb3VudD10aGlzLl9waHlzaWNhbENvdW50fHwwLHRoaXMuX3BoeXNpY2FsSXRlbXM9dGhpcy5fcGh5c2ljYWxJdGVtc3x8W10sdGhpcy5fcGh5c2ljYWxTaXplcz10aGlzLl9waHlzaWNhbFNpemVzfHxbXSx0aGlzLl9waHlzaWNhbFN0YXJ0PTAsdGhpcy5fc2Nyb2xsVG9wPnRoaXMuX3Njcm9sbE9mZnNldCYmdGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbigwKSx0aGlzLl9yZW1vdmVGb2N1c2VkSXRlbSgpLHRoaXMuX2RlYm91bmNlKCJfcmVuZGVyIix0aGlzLl9yZW5kZXIsX3QpO2Vsc2UgaWYoIml0ZW1zLnNwbGljZXMiPT09dC5wYXRoKXtpZih0aGlzLl9hZGp1c3RWaXJ0dWFsSW5kZXgodC52YWx1ZS5pbmRleFNwbGljZXMpLHRoaXMuX3ZpcnR1YWxDb3VudD10aGlzLml0ZW1zP3RoaXMuaXRlbXMubGVuZ3RoOjAsdC52YWx1ZS5pbmRleFNwbGljZXMuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQuYWRkZWRDb3VudD4wfHx0LnJlbW92ZWQubGVuZ3RoPjB9KSkpe3ZhciBlPXRoaXMuX2dldEFjdGl2ZUVsZW1lbnQoKTt0aGlzLmNvbnRhaW5zKGUpJiZlLmJsdXIoKX12YXIgbj10LnZhbHVlLmluZGV4U3BsaWNlcy5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gdC5pbmRleCt0LmFkZGVkQ291bnQ+PXRoaXMuX3ZpcnR1YWxTdGFydCYmdC5pbmRleDw9dGhpcy5fdmlydHVhbEVuZH0pLHRoaXMpO3RoaXMuX2lzQ2xpZW50RnVsbCgpJiYhbnx8dGhpcy5fZGVib3VuY2UoIl9yZW5kZXIiLHRoaXMuX3JlbmRlcixfdCl9ZWxzZSJpdGVtcy5sZW5ndGgiIT09dC5wYXRoJiZ0aGlzLl9mb3J3YXJkSXRlbVBhdGgodC5wYXRoLHQudmFsdWUpfSxfZm9yd2FyZEl0ZW1QYXRoOmZ1bmN0aW9uKHQsZSl7dmFyIG4saSxyLG89KHQ9dC5zbGljZSg2KSkuaW5kZXhPZigiLiIpOy0xPT09byYmKG89dC5sZW5ndGgpO3ZhciBhPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtKSxzPXBhcnNlSW50KHQuc3Vic3RyaW5nKDAsbyksMTApOyhuPXRoaXMuX2lzSW5kZXhSZW5kZXJlZChzKSk/KGk9dGhpcy5fZ2V0UGh5c2ljYWxJbmRleChzKSxyPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX3BoeXNpY2FsSXRlbXNbaV0pKTphJiYocj1hKSxyJiZyW3RoaXMuaW5kZXhBc109PT1zJiYodD10LnN1YnN0cmluZyhvKzEpLHIuX3NldFBlbmRpbmdQcm9wZXJ0eU9yUGF0aCh0PXRoaXMuYXMrKHQ/Ii4iK3Q6IiIpLGUsITEsITApLHIuX2ZsdXNoUHJvcGVydGllcyYmci5fZmx1c2hQcm9wZXJ0aWVzKCksbiYmKHRoaXMuX3VwZGF0ZU1ldHJpY3MoW2ldKSx0aGlzLl9wb3NpdGlvbkl0ZW1zKCksdGhpcy5fdXBkYXRlU2Nyb2xsZXJTaXplKCkpKX0sX2FkanVzdFZpcnR1YWxJbmRleDpmdW5jdGlvbih0KXt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKHQucmVtb3ZlZC5mb3JFYWNoKHRoaXMuX3JlbW92ZUl0ZW0sdGhpcyksdC5pbmRleDx0aGlzLl92aXJ0dWFsU3RhcnQpe3ZhciBlPU1hdGgubWF4KHQuYWRkZWRDb3VudC10LnJlbW92ZWQubGVuZ3RoLHQuaW5kZXgtdGhpcy5fdmlydHVhbFN0YXJ0KTt0aGlzLl92aXJ0dWFsU3RhcnQ9dGhpcy5fdmlydHVhbFN0YXJ0K2UsdGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleD49MCYmKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9dGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCtlKX19KSx0aGlzKX0sX3JlbW92ZUl0ZW06ZnVuY3Rpb24odCl7dGhpcy4kLnNlbGVjdG9yLmRlc2VsZWN0KHQpLHRoaXMuX2ZvY3VzZWRJdGVtJiZ0aGlzLm1vZGVsRm9yRWxlbWVudCh0aGlzLl9mb2N1c2VkSXRlbSlbdGhpcy5hc109PT10JiZ0aGlzLl9yZW1vdmVGb2N1c2VkSXRlbSgpfSxfaXRlcmF0ZUl0ZW1zOmZ1bmN0aW9uKHQsZSl7dmFyIG4saSxyLG87aWYoMj09PWFyZ3VtZW50cy5sZW5ndGgmJmUpe2ZvcihvPTA7bzxlLmxlbmd0aDtvKyspaWYoaT10aGlzLl9jb21wdXRlVmlkeChuPWVbb10pLG51bGwhPShyPXQuY2FsbCh0aGlzLG4saSkpKXJldHVybiByfWVsc2V7Zm9yKG49dGhpcy5fcGh5c2ljYWxTdGFydCxpPXRoaXMuX3ZpcnR1YWxTdGFydDtuPHRoaXMuX3BoeXNpY2FsQ291bnQ7bisrLGkrKylpZihudWxsIT0ocj10LmNhbGwodGhpcyxuLGkpKSlyZXR1cm4gcjtmb3Iobj0wO248dGhpcy5fcGh5c2ljYWxTdGFydDtuKyssaSsrKWlmKG51bGwhPShyPXQuY2FsbCh0aGlzLG4saSkpKXJldHVybiByfX0sX2NvbXB1dGVWaWR4OmZ1bmN0aW9uKHQpe3JldHVybiB0Pj10aGlzLl9waHlzaWNhbFN0YXJ0P3RoaXMuX3ZpcnR1YWxTdGFydCsodC10aGlzLl9waHlzaWNhbFN0YXJ0KTp0aGlzLl92aXJ0dWFsU3RhcnQrKHRoaXMuX3BoeXNpY2FsQ291bnQtdGhpcy5fcGh5c2ljYWxTdGFydCkrdH0sX2Fzc2lnbk1vZGVsczpmdW5jdGlvbih0KXt0aGlzLl9pdGVyYXRlSXRlbXMoKGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fcGh5c2ljYWxJdGVtc1t0XSxpPXRoaXMuaXRlbXMmJnRoaXMuaXRlbXNbZV07aWYobnVsbCE9aSl7dmFyIHI9dGhpcy5tb2RlbEZvckVsZW1lbnQobik7ci5fX2tleV9fPW51bGwsdGhpcy5fZm9yd2FyZFByb3BlcnR5KHIsdGhpcy5hcyxpKSx0aGlzLl9mb3J3YXJkUHJvcGVydHkocix0aGlzLnNlbGVjdGVkQXMsdGhpcy4kLnNlbGVjdG9yLmlzU2VsZWN0ZWQoaSkpLHRoaXMuX2ZvcndhcmRQcm9wZXJ0eShyLHRoaXMuaW5kZXhBcyxlKSx0aGlzLl9mb3J3YXJkUHJvcGVydHkociwidGFiSW5kZXgiLHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9PT1lPzA6LTEpLHRoaXMuX3BoeXNpY2FsSW5kZXhGb3JLZXlbci5fX2tleV9fXT10LHIuX2ZsdXNoUHJvcGVydGllcyYmci5fZmx1c2hQcm9wZXJ0aWVzKCEwKSxuLnJlbW92ZUF0dHJpYnV0ZSgiaGlkZGVuIil9ZWxzZSBuLnNldEF0dHJpYnV0ZSgiaGlkZGVuIiwiIil9KSx0KX0sX3VwZGF0ZU1ldHJpY3M6ZnVuY3Rpb24odCl7V2koKTt2YXIgZT0wLG49MCxpPXRoaXMuX3BoeXNpY2FsQXZlcmFnZUNvdW50LHI9dGhpcy5fcGh5c2ljYWxBdmVyYWdlO3RoaXMuX2l0ZXJhdGVJdGVtcygoZnVuY3Rpb24odCxpKXtuKz10aGlzLl9waHlzaWNhbFNpemVzW3RdLHRoaXMuX3BoeXNpY2FsU2l6ZXNbdF09dGhpcy5fcGh5c2ljYWxJdGVtc1t0XS5vZmZzZXRIZWlnaHQsZSs9dGhpcy5fcGh5c2ljYWxTaXplc1t0XSx0aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudCs9dGhpcy5fcGh5c2ljYWxTaXplc1t0XT8xOjB9KSx0KSx0aGlzLmdyaWQ/KHRoaXMuX3VwZGF0ZUdyaWRNZXRyaWNzKCksdGhpcy5fcGh5c2ljYWxTaXplPU1hdGguY2VpbCh0aGlzLl9waHlzaWNhbENvdW50L3RoaXMuX2l0ZW1zUGVyUm93KSp0aGlzLl9yb3dIZWlnaHQpOihuPTE9PT10aGlzLl9pdGVtc1BlclJvdz9uOk1hdGguY2VpbCh0aGlzLl9waHlzaWNhbENvdW50L3RoaXMuX2l0ZW1zUGVyUm93KSp0aGlzLl9yb3dIZWlnaHQsdGhpcy5fcGh5c2ljYWxTaXplPXRoaXMuX3BoeXNpY2FsU2l6ZStlLW4sdGhpcy5faXRlbXNQZXJSb3c9MSksdGhpcy5fcGh5c2ljYWxBdmVyYWdlQ291bnQhPT1pJiYodGhpcy5fcGh5c2ljYWxBdmVyYWdlPU1hdGgucm91bmQoKHIqaStlKS90aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudCkpfSxfdXBkYXRlR3JpZE1ldHJpY3M6ZnVuY3Rpb24oKXt0aGlzLl9pdGVtV2lkdGg9dGhpcy5fcGh5c2ljYWxDb3VudD4wP3RoaXMuX3BoeXNpY2FsSXRlbXNbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg6MjAwLHRoaXMuX3Jvd0hlaWdodD10aGlzLl9waHlzaWNhbENvdW50PjA/dGhpcy5fcGh5c2ljYWxJdGVtc1swXS5vZmZzZXRIZWlnaHQ6MjAwLHRoaXMuX2l0ZW1zUGVyUm93PXRoaXMuX2l0ZW1XaWR0aD9NYXRoLmZsb29yKHRoaXMuX3ZpZXdwb3J0V2lkdGgvdGhpcy5faXRlbVdpZHRoKTp0aGlzLl9pdGVtc1BlclJvd30sX3Bvc2l0aW9uSXRlbXM6ZnVuY3Rpb24oKXt0aGlzLl9hZGp1c3RTY3JvbGxQb3NpdGlvbigpO3ZhciB0PXRoaXMuX3BoeXNpY2FsVG9wO2lmKHRoaXMuZ3JpZCl7dmFyIGU9KHRoaXMuX3ZpZXdwb3J0V2lkdGgtdGhpcy5faXRlbXNQZXJSb3cqdGhpcy5faXRlbVdpZHRoKS8yO3RoaXMuX2l0ZXJhdGVJdGVtcygoZnVuY3Rpb24obixpKXt2YXIgcj1NYXRoLmZsb29yKGkldGhpcy5faXRlbXNQZXJSb3cqdGhpcy5faXRlbVdpZHRoK2UpO3RoaXMuX2lzUlRMJiYocio9LTEpLHRoaXMudHJhbnNsYXRlM2QocisicHgiLHQrInB4IiwwLHRoaXMuX3BoeXNpY2FsSXRlbXNbbl0pLHRoaXMuX3Nob3VsZFJlbmRlck5leHRSb3coaSkmJih0Kz10aGlzLl9yb3dIZWlnaHQpfSkpfWVsc2V7Y29uc3QgZT1bXTt0aGlzLl9pdGVyYXRlSXRlbXMoKGZ1bmN0aW9uKG4saSl7Y29uc3Qgcj10aGlzLl9waHlzaWNhbEl0ZW1zW25dO3RoaXMudHJhbnNsYXRlM2QoMCx0KyJweCIsMCxyKSx0Kz10aGlzLl9waHlzaWNhbFNpemVzW25dO2NvbnN0IG89ci5pZDtvJiZlLnB1c2gobyl9KSksZS5sZW5ndGgmJnRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLW93bnMiLGUuam9pbigiICIpKX19LF9nZXRQaHlzaWNhbFNpemVJbmNyZW1lbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZ3JpZD90aGlzLl9jb21wdXRlVmlkeCh0KSV0aGlzLl9pdGVtc1BlclJvdyE9dGhpcy5faXRlbXNQZXJSb3ctMT8wOnRoaXMuX3Jvd0hlaWdodDp0aGlzLl9waHlzaWNhbFNpemVzW3RdfSxfc2hvdWxkUmVuZGVyTmV4dFJvdzpmdW5jdGlvbih0KXtyZXR1cm4gdCV0aGlzLl9pdGVtc1BlclJvdz09dGhpcy5faXRlbXNQZXJSb3ctMX0sX2FkanVzdFNjcm9sbFBvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9MD09PXRoaXMuX3ZpcnR1YWxTdGFydD90aGlzLl9waHlzaWNhbFRvcDpNYXRoLm1pbih0aGlzLl9zY3JvbGxQb3NpdGlvbit0aGlzLl9waHlzaWNhbFRvcCwwKTtpZigwIT09dCl7dGhpcy5fcGh5c2ljYWxUb3A9dGhpcy5fcGh5c2ljYWxUb3AtdDt2YXIgZT10aGlzLl9zY3JvbGxQb3NpdGlvbjshWm8mJmU+MCYmdGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbihlLXQpfX0sX3Jlc2V0U2Nyb2xsUG9zaXRpb246ZnVuY3Rpb24odCl7dGhpcy5zY3JvbGxUYXJnZXQmJnQ+PTAmJih0aGlzLl9zY3JvbGxUb3A9dCx0aGlzLl9zY3JvbGxQb3NpdGlvbj10aGlzLl9zY3JvbGxUb3ApfSxfdXBkYXRlU2Nyb2xsZXJTaXplOmZ1bmN0aW9uKHQpe3RoaXMuX2VzdFNjcm9sbEhlaWdodD10aGlzLmdyaWQ/dGhpcy5fdmlydHVhbFJvd0NvdW50KnRoaXMuX3Jvd0hlaWdodDp0aGlzLl9waHlzaWNhbEJvdHRvbStNYXRoLm1heCh0aGlzLl92aXJ0dWFsQ291bnQtdGhpcy5fcGh5c2ljYWxDb3VudC10aGlzLl92aXJ0dWFsU3RhcnQsMCkqdGhpcy5fcGh5c2ljYWxBdmVyYWdlLCgodD0odD0odD10fHwwPT09dGhpcy5fc2Nyb2xsSGVpZ2h0KXx8dGhpcy5fc2Nyb2xsUG9zaXRpb24+PXRoaXMuX2VzdFNjcm9sbEhlaWdodC10aGlzLl9waHlzaWNhbFNpemUpfHx0aGlzLmdyaWQmJnRoaXMuJC5pdGVtcy5zdHlsZS5oZWlnaHQ8dGhpcy5fZXN0U2Nyb2xsSGVpZ2h0KXx8TWF0aC5hYnModGhpcy5fZXN0U2Nyb2xsSGVpZ2h0LXRoaXMuX3Njcm9sbEhlaWdodCk+PXRoaXMuX3ZpZXdwb3J0SGVpZ2h0KSYmKHRoaXMuJC5pdGVtcy5zdHlsZS5oZWlnaHQ9dGhpcy5fZXN0U2Nyb2xsSGVpZ2h0KyJweCIsdGhpcy5fc2Nyb2xsSGVpZ2h0PXRoaXMuX2VzdFNjcm9sbEhlaWdodCl9LHNjcm9sbFRvSXRlbTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zY3JvbGxUb0luZGV4KHRoaXMuaXRlbXMuaW5kZXhPZih0KSl9LHNjcm9sbFRvSW5kZXg6ZnVuY3Rpb24odCl7aWYoISgibnVtYmVyIiE9dHlwZW9mIHR8fHQ8MHx8dD50aGlzLml0ZW1zLmxlbmd0aC0xKSYmKFdpKCksMCE9PXRoaXMuX3BoeXNpY2FsQ291bnQpKXt0PXRoaXMuX2NsYW1wKHQsMCx0aGlzLl92aXJ0dWFsQ291bnQtMSksKCF0aGlzLl9pc0luZGV4UmVuZGVyZWQodCl8fHQ+PXRoaXMuX21heFZpcnR1YWxTdGFydCkmJih0aGlzLl92aXJ0dWFsU3RhcnQ9dGhpcy5ncmlkP3QtMip0aGlzLl9pdGVtc1BlclJvdzp0LTEpLHRoaXMuX21hbmFnZUZvY3VzKCksdGhpcy5fYXNzaWduTW9kZWxzKCksdGhpcy5fdXBkYXRlTWV0cmljcygpLHRoaXMuX3BoeXNpY2FsVG9wPU1hdGguZmxvb3IodGhpcy5fdmlydHVhbFN0YXJ0L3RoaXMuX2l0ZW1zUGVyUm93KSp0aGlzLl9waHlzaWNhbEF2ZXJhZ2U7Zm9yKHZhciBlPXRoaXMuX3BoeXNpY2FsU3RhcnQsbj10aGlzLl92aXJ0dWFsU3RhcnQsaT0wLHI9dGhpcy5faGlkZGVuQ29udGVudFNpemU7bjx0JiZpPD1yOylpKz10aGlzLl9nZXRQaHlzaWNhbFNpemVJbmNyZW1lbnQoZSksZT0oZSsxKSV0aGlzLl9waHlzaWNhbENvdW50LG4rKzt0aGlzLl91cGRhdGVTY3JvbGxlclNpemUoITApLHRoaXMuX3Bvc2l0aW9uSXRlbXMoKSx0aGlzLl9yZXNldFNjcm9sbFBvc2l0aW9uKHRoaXMuX3BoeXNpY2FsVG9wK3RoaXMuX3Njcm9sbE9mZnNldCtpKSx0aGlzLl9pbmNyZWFzZVBvb2xJZk5lZWRlZCgwKSx0aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsLHRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9bnVsbH19LF9yZXNldEF2ZXJhZ2U6ZnVuY3Rpb24oKXt0aGlzLl9waHlzaWNhbEF2ZXJhZ2U9MCx0aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudD0wfSxfcmVzaXplSGFuZGxlcjpmdW5jdGlvbigpe3RoaXMuX2RlYm91bmNlKCJfcmVuZGVyIiwoZnVuY3Rpb24oKXt0aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsLHRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLl9pc1Zpc2libGU/KHRoaXMudXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzKCksdGhpcy50b2dnbGVTY3JvbGxMaXN0ZW5lcighMCksdGhpcy5fcmVzZXRBdmVyYWdlKCksdGhpcy5fcmVuZGVyKCkpOnRoaXMudG9nZ2xlU2Nyb2xsTGlzdGVuZXIoITEpfSksX3QpfSxzZWxlY3RJdGVtOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnNlbGVjdEluZGV4KHRoaXMuaXRlbXMuaW5kZXhPZih0KSl9LHNlbGVjdEluZGV4OmZ1bmN0aW9uKHQpe2lmKCEodDwwfHx0Pj10aGlzLl92aXJ0dWFsQ291bnQpKXtpZighdGhpcy5tdWx0aVNlbGVjdGlvbiYmdGhpcy5zZWxlY3RlZEl0ZW0mJnRoaXMuY2xlYXJTZWxlY3Rpb24oKSx0aGlzLl9pc0luZGV4UmVuZGVyZWQodCkpe3ZhciBlPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX3BoeXNpY2FsSXRlbXNbdGhpcy5fZ2V0UGh5c2ljYWxJbmRleCh0KV0pO2UmJihlW3RoaXMuc2VsZWN0ZWRBc109ITApLHRoaXMudXBkYXRlU2l6ZUZvckluZGV4KHQpfXRoaXMuJC5zZWxlY3Rvci5zZWxlY3RJbmRleCh0KX19LGRlc2VsZWN0SXRlbTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kZXNlbGVjdEluZGV4KHRoaXMuaXRlbXMuaW5kZXhPZih0KSl9LGRlc2VsZWN0SW5kZXg6ZnVuY3Rpb24odCl7aWYoISh0PDB8fHQ+PXRoaXMuX3ZpcnR1YWxDb3VudCkpe2lmKHRoaXMuX2lzSW5kZXhSZW5kZXJlZCh0KSl0aGlzLm1vZGVsRm9yRWxlbWVudCh0aGlzLl9waHlzaWNhbEl0ZW1zW3RoaXMuX2dldFBoeXNpY2FsSW5kZXgodCldKVt0aGlzLnNlbGVjdGVkQXNdPSExLHRoaXMudXBkYXRlU2l6ZUZvckluZGV4KHQpO3RoaXMuJC5zZWxlY3Rvci5kZXNlbGVjdEluZGV4KHQpfX0sdG9nZ2xlU2VsZWN0aW9uRm9ySXRlbTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50b2dnbGVTZWxlY3Rpb25Gb3JJbmRleCh0aGlzLml0ZW1zLmluZGV4T2YodCkpfSx0b2dnbGVTZWxlY3Rpb25Gb3JJbmRleDpmdW5jdGlvbih0KXsodGhpcy4kLnNlbGVjdG9yLmlzSW5kZXhTZWxlY3RlZD90aGlzLiQuc2VsZWN0b3IuaXNJbmRleFNlbGVjdGVkKHQpOnRoaXMuJC5zZWxlY3Rvci5pc1NlbGVjdGVkKHRoaXMuaXRlbXNbdF0pKT90aGlzLmRlc2VsZWN0SW5kZXgodCk6dGhpcy5zZWxlY3RJbmRleCh0KX0sY2xlYXJTZWxlY3Rpb246ZnVuY3Rpb24oKXt0aGlzLl9pdGVyYXRlSXRlbXMoKGZ1bmN0aW9uKHQsZSl7dGhpcy5tb2RlbEZvckVsZW1lbnQodGhpcy5fcGh5c2ljYWxJdGVtc1t0XSlbdGhpcy5zZWxlY3RlZEFzXT0hMX0pKSx0aGlzLiQuc2VsZWN0b3IuY2xlYXJTZWxlY3Rpb24oKX0sX3NlbGVjdGlvbkVuYWJsZWRDaGFuZ2VkOmZ1bmN0aW9uKHQpeyh0P3RoaXMubGlzdGVuOnRoaXMudW5saXN0ZW4pLmNhbGwodGhpcyx0aGlzLCJ0YXAiLCJfc2VsZWN0aW9uSGFuZGxlciIpfSxfc2VsZWN0aW9uSGFuZGxlcjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLm1vZGVsRm9yRWxlbWVudCh0LnRhcmdldCk7aWYoZSl7dmFyIG4saSxyPWVyKHQpLnBhdGhbMF0sbz10aGlzLl9nZXRBY3RpdmVFbGVtZW50KCksYT10aGlzLl9waHlzaWNhbEl0ZW1zW3RoaXMuX2dldFBoeXNpY2FsSW5kZXgoZVt0aGlzLmluZGV4QXNdKV07ImlucHV0IiE9PXIubG9jYWxOYW1lJiYiYnV0dG9uIiE9PXIubG9jYWxOYW1lJiYic2VsZWN0IiE9PXIubG9jYWxOYW1lJiYobj1lLnRhYkluZGV4LGUudGFiSW5kZXg9UW8saT1vP28udGFiSW5kZXg6LTEsZS50YWJJbmRleD1uLG8mJmEhPT1vJiZhLmNvbnRhaW5zKG8pJiZpIT09UW98fHRoaXMudG9nZ2xlU2VsZWN0aW9uRm9ySXRlbShlW3RoaXMuYXNdKSl9fSxfbXVsdGlTZWxlY3Rpb25DaGFuZ2VkOmZ1bmN0aW9uKHQpe3RoaXMuY2xlYXJTZWxlY3Rpb24oKSx0aGlzLiQuc2VsZWN0b3IubXVsdGk9dH0sdXBkYXRlU2l6ZUZvckl0ZW06ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudXBkYXRlU2l6ZUZvckluZGV4KHRoaXMuaXRlbXMuaW5kZXhPZih0KSl9LHVwZGF0ZVNpemVGb3JJbmRleDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5faXNJbmRleFJlbmRlcmVkKHQpPyh0aGlzLl91cGRhdGVNZXRyaWNzKFt0aGlzLl9nZXRQaHlzaWNhbEluZGV4KHQpXSksdGhpcy5fcG9zaXRpb25JdGVtcygpLG51bGwpOm51bGx9LF9tYW5hZ2VGb2N1czpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg7dD49MCYmdDx0aGlzLl92aXJ0dWFsQ291bnQ/dGhpcy5faXNJbmRleFJlbmRlcmVkKHQpP3RoaXMuX3Jlc3RvcmVGb2N1c2VkSXRlbSgpOnRoaXMuX2NyZWF0ZUZvY3VzQmFja2ZpbGxJdGVtKCk6dGhpcy5fdmlydHVhbENvdW50PjAmJnRoaXMuX3BoeXNpY2FsQ291bnQ+MCYmKHRoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4PXRoaXMuX3BoeXNpY2FsU3RhcnQsdGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleD10aGlzLl92aXJ0dWFsU3RhcnQsdGhpcy5fZm9jdXNlZEl0ZW09dGhpcy5fcGh5c2ljYWxJdGVtc1t0aGlzLl9waHlzaWNhbFN0YXJ0XSl9LF9jb252ZXJ0SW5kZXhUb0NvbXBsZXRlUm93OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pdGVtc1BlclJvdz10aGlzLl9pdGVtc1BlclJvd3x8MSx0aGlzLmdyaWQ/TWF0aC5jZWlsKHQvdGhpcy5faXRlbXNQZXJSb3cpKnRoaXMuX2l0ZW1zUGVyUm93OnR9LF9pc0luZGV4UmVuZGVyZWQ6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PXRoaXMuX3ZpcnR1YWxTdGFydCYmdDw9dGhpcy5fdmlydHVhbEVuZH0sX2lzSW5kZXhWaXNpYmxlOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj10aGlzLmZpcnN0VmlzaWJsZUluZGV4JiZ0PD10aGlzLmxhc3RWaXNpYmxlSW5kZXh9LF9nZXRQaHlzaWNhbEluZGV4OmZ1bmN0aW9uKHQpe3JldHVybih0aGlzLl9waHlzaWNhbFN0YXJ0Kyh0LXRoaXMuX3ZpcnR1YWxTdGFydCkpJXRoaXMuX3BoeXNpY2FsQ291bnR9LGZvY3VzSXRlbTpmdW5jdGlvbih0KXt0aGlzLl9mb2N1c1BoeXNpY2FsSXRlbSh0KX0sX2ZvY3VzUGh5c2ljYWxJdGVtOmZ1bmN0aW9uKHQpe2lmKCEodDwwfHx0Pj10aGlzLl92aXJ0dWFsQ291bnQpKXt0aGlzLl9yZXN0b3JlRm9jdXNlZEl0ZW0oKSx0aGlzLl9pc0luZGV4UmVuZGVyZWQodCl8fHRoaXMuc2Nyb2xsVG9JbmRleCh0KTt2YXIgZSxuPXRoaXMuX3BoeXNpY2FsSXRlbXNbdGhpcy5fZ2V0UGh5c2ljYWxJbmRleCh0KV0saT10aGlzLm1vZGVsRm9yRWxlbWVudChuKTtpLnRhYkluZGV4PVFvLG4udGFiSW5kZXg9PT1RbyYmKGU9biksZXx8KGU9ZXIobikucXVlcnlTZWxlY3RvcignW3RhYmluZGV4PSItMTAwIl0nKSksaS50YWJJbmRleD0wLHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9dCxlJiZlLmZvY3VzKCl9fSxfcmVtb3ZlRm9jdXNlZEl0ZW06ZnVuY3Rpb24oKXt0aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSYmdGhpcy5faXRlbXNQYXJlbnQucmVtb3ZlQ2hpbGQodGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0pLHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtPW51bGwsdGhpcy5fZm9jdXNCYWNrZmlsbEl0ZW09bnVsbCx0aGlzLl9mb2N1c2VkSXRlbT1udWxsLHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg9LTEsdGhpcy5fZm9jdXNlZFBoeXNpY2FsSW5kZXg9LTF9LF9jcmVhdGVGb2N1c0JhY2tmaWxsSXRlbTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4O2lmKCEodGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW18fHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg8MCkpe2lmKCF0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbSl7dmFyIGU9dGhpcy5zdGFtcChudWxsKTt0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbT1lLnJvb3QucXVlcnlTZWxlY3RvcigiKiIpLHRoaXMuX2l0ZW1zUGFyZW50LmFwcGVuZENoaWxkKGUucm9vdCl9dGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW09dGhpcy5fcGh5c2ljYWxJdGVtc1t0XSx0aGlzLm1vZGVsRm9yRWxlbWVudCh0aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSkudGFiSW5kZXg9MCx0aGlzLl9waHlzaWNhbEl0ZW1zW3RdPXRoaXMuX2ZvY3VzQmFja2ZpbGxJdGVtLHRoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4PXQsdGhpcy50cmFuc2xhdGUzZCgwLEpvLDAsdGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0pfX0sX3Jlc3RvcmVGb2N1c2VkSXRlbTpmdW5jdGlvbigpe2lmKHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtJiYhKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg8MCkpe3RoaXMuX2Fzc2lnbk1vZGVscygpO3ZhciB0PXRoaXMuX2ZvY3VzZWRQaHlzaWNhbEluZGV4PXRoaXMuX2dldFBoeXNpY2FsSW5kZXgodGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleCksZT10aGlzLl9waHlzaWNhbEl0ZW1zW3RdO2lmKGUpe3ZhciBuPXRoaXMubW9kZWxGb3JFbGVtZW50KGUpLGk9dGhpcy5tb2RlbEZvckVsZW1lbnQodGhpcy5fb2Zmc2NyZWVuRm9jdXNlZEl0ZW0pO25bdGhpcy5hc109PT1pW3RoaXMuYXNdPyh0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbT1lLG4udGFiSW5kZXg9LTEsdGhpcy5fcGh5c2ljYWxJdGVtc1t0XT10aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSx0aGlzLnRyYW5zbGF0ZTNkKDAsSm8sMCx0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbSkpOih0aGlzLl9yZW1vdmVGb2N1c2VkSXRlbSgpLHRoaXMuX2ZvY3VzQmFja2ZpbGxJdGVtPW51bGwpLHRoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtPW51bGx9fX0sX2RpZEZvY3VzOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubW9kZWxGb3JFbGVtZW50KHQudGFyZ2V0KSxuPXRoaXMubW9kZWxGb3JFbGVtZW50KHRoaXMuX2ZvY3VzZWRJdGVtKSxpPW51bGwhPT10aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSxyPXRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg7ZSYmKG49PT1lP3RoaXMuX2lzSW5kZXhWaXNpYmxlKHIpfHx0aGlzLnNjcm9sbFRvSW5kZXgocik6KHRoaXMuX3Jlc3RvcmVGb2N1c2VkSXRlbSgpLG4mJihuLnRhYkluZGV4PS0xKSxlLnRhYkluZGV4PTAsdGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleD1yPWVbdGhpcy5pbmRleEFzXSx0aGlzLl9mb2N1c2VkUGh5c2ljYWxJbmRleD10aGlzLl9nZXRQaHlzaWNhbEluZGV4KHIpLHRoaXMuX2ZvY3VzZWRJdGVtPXRoaXMuX3BoeXNpY2FsSXRlbXNbdGhpcy5fZm9jdXNlZFBoeXNpY2FsSW5kZXhdLGkmJiF0aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSYmdGhpcy5fdXBkYXRlKCkpKX0sX2tleWRvd25IYW5kbGVyOmZ1bmN0aW9uKHQpe3N3aXRjaCh0LmtleUNvZGUpe2Nhc2UgNDA6dGhpcy5fZm9jdXNlZFZpcnR1YWxJbmRleDx0aGlzLl92aXJ0dWFsQ291bnQtMSYmdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2ZvY3VzUGh5c2ljYWxJdGVtKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXgrKHRoaXMuZ3JpZD90aGlzLl9pdGVtc1BlclJvdzoxKSk7YnJlYWs7Y2FzZSAzOTp0aGlzLmdyaWQmJnRoaXMuX2ZvY3VzUGh5c2ljYWxJdGVtKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXgrKHRoaXMuX2lzUlRMPy0xOjEpKTticmVhaztjYXNlIDM4OnRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXg+MCYmdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2ZvY3VzUGh5c2ljYWxJdGVtKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXgtKHRoaXMuZ3JpZD90aGlzLl9pdGVtc1BlclJvdzoxKSk7YnJlYWs7Y2FzZSAzNzp0aGlzLmdyaWQmJnRoaXMuX2ZvY3VzUGh5c2ljYWxJdGVtKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXgrKHRoaXMuX2lzUlRMPzE6LTEpKTticmVhaztjYXNlIDEzOnRoaXMuX2ZvY3VzUGh5c2ljYWxJdGVtKHRoaXMuX2ZvY3VzZWRWaXJ0dWFsSW5kZXgpLHRoaXMuc2VsZWN0aW9uRW5hYmxlZCYmdGhpcy5fc2VsZWN0aW9uSGFuZGxlcih0KX19LF9jbGFtcDpmdW5jdGlvbih0LGUsbil7cmV0dXJuIE1hdGgubWluKG4sTWF0aC5tYXgoZSx0KSl9LF9kZWJvdW5jZTpmdW5jdGlvbih0LGUsbil7dGhpcy5fZGVib3VuY2Vycz10aGlzLl9kZWJvdW5jZXJzfHx7fSx0aGlzLl9kZWJvdW5jZXJzW3RdPU5uLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlcnNbdF0sbixlLmJpbmQodGhpcykpLFJuKHRoaXMuX2RlYm91bmNlcnNbdF0pfSxfZm9yd2FyZFByb3BlcnR5OmZ1bmN0aW9uKHQsZSxuKXt0Ll9zZXRQZW5kaW5nUHJvcGVydHkoZSxuKX0sX2ZvcndhcmRIb3N0UHJvcFYyOmZ1bmN0aW9uKHQsZSl7KHRoaXMuX3BoeXNpY2FsSXRlbXN8fFtdKS5jb25jYXQoW3RoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtLHRoaXMuX2ZvY3VzQmFja2ZpbGxJdGVtXSkuZm9yRWFjaCgoZnVuY3Rpb24obil7biYmdGhpcy5tb2RlbEZvckVsZW1lbnQobikuZm9yd2FyZEhvc3RQcm9wKHQsZSl9KSx0aGlzKX0sX25vdGlmeUluc3RhbmNlUHJvcFYyOmZ1bmN0aW9uKHQsZSxuKXtpZihRKHRoaXMuYXMsZSkpe3ZhciBpPXRbdGhpcy5pbmRleEFzXTtlPT10aGlzLmFzJiYodGhpcy5pdGVtc1tpXT1uKSx0aGlzLm5vdGlmeVBhdGgoSih0aGlzLmFzLCJpdGVtcy4iK2ksZSksbil9fSxfZ2V0U3RhbXBlZENoaWxkcmVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3BoeXNpY2FsSXRlbXN9LF9mb3J3YXJkSW5zdGFuY2VQYXRoOmZ1bmN0aW9uKHQsZSxuKXswPT09ZS5pbmRleE9mKHRoaXMuYXMrIi4iKSYmdGhpcy5ub3RpZnlQYXRoKCJpdGVtcy4iK3QuX19rZXlfXysiLiIrZS5zbGljZSh0aGlzLmFzLmxlbmd0aCsxKSxuKX0sX2ZvcndhcmRQYXJlbnRQYXRoOmZ1bmN0aW9uKHQsZSl7KHRoaXMuX3BoeXNpY2FsSXRlbXN8fFtdKS5jb25jYXQoW3RoaXMuX29mZnNjcmVlbkZvY3VzZWRJdGVtLHRoaXMuX2ZvY3VzQmFja2ZpbGxJdGVtXSkuZm9yRWFjaCgoZnVuY3Rpb24obil7biYmdGhpcy5tb2RlbEZvckVsZW1lbnQobikubm90aWZ5UGF0aCh0LGUpfSksdGhpcyl9LF9mb3J3YXJkUGFyZW50UHJvcDpmdW5jdGlvbih0LGUpeyh0aGlzLl9waHlzaWNhbEl0ZW1zfHxbXSkuY29uY2F0KFt0aGlzLl9vZmZzY3JlZW5Gb2N1c2VkSXRlbSx0aGlzLl9mb2N1c0JhY2tmaWxsSXRlbV0pLmZvckVhY2goKGZ1bmN0aW9uKG4pe24mJih0aGlzLm1vZGVsRm9yRWxlbWVudChuKVt0XT1lKX0pLHRoaXMpfSxfZ2V0QWN0aXZlRWxlbWVudDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2l0ZW1zUGFyZW50Lm5vZGUuZG9tSG9zdDtyZXR1cm4gZXIodD90LnJvb3Q6ZG9jdW1lbnQpLmFjdGl2ZUVsZW1lbnR9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjbGFzcyB0YXtjb25zdHJ1Y3Rvcih0KXt0aGlzLnNlbGVjdGlvbj1bXSx0aGlzLnNlbGVjdENhbGxiYWNrPXR9Z2V0KCl7cmV0dXJuIHRoaXMubXVsdGk/dGhpcy5zZWxlY3Rpb24uc2xpY2UoKTp0aGlzLnNlbGVjdGlvblswXX1jbGVhcih0KXt0aGlzLnNlbGVjdGlvbi5zbGljZSgpLmZvckVhY2goKGZ1bmN0aW9uKGUpeyghdHx8dC5pbmRleE9mKGUpPDApJiZ0aGlzLnNldEl0ZW1TZWxlY3RlZChlLCExKX0pLHRoaXMpfWlzU2VsZWN0ZWQodCl7cmV0dXJuIHRoaXMuc2VsZWN0aW9uLmluZGV4T2YodCk+PTB9c2V0SXRlbVNlbGVjdGVkKHQsZSl7aWYobnVsbCE9dCYmZSE9PXRoaXMuaXNTZWxlY3RlZCh0KSl7aWYoZSl0aGlzLnNlbGVjdGlvbi5wdXNoKHQpO2Vsc2V7dmFyIG49dGhpcy5zZWxlY3Rpb24uaW5kZXhPZih0KTtuPj0wJiZ0aGlzLnNlbGVjdGlvbi5zcGxpY2UobiwxKX10aGlzLnNlbGVjdENhbGxiYWNrJiZ0aGlzLnNlbGVjdENhbGxiYWNrKHQsZSl9fXNlbGVjdCh0KXt0aGlzLm11bHRpP3RoaXMudG9nZ2xlKHQpOnRoaXMuZ2V0KCkhPT10JiYodGhpcy5zZXRJdGVtU2VsZWN0ZWQodGhpcy5nZXQoKSwhMSksdGhpcy5zZXRJdGVtU2VsZWN0ZWQodCwhMCkpfXRvZ2dsZSh0KXt0aGlzLnNldEl0ZW1TZWxlY3RlZCh0LCF0aGlzLmlzU2VsZWN0ZWQodCkpfX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovY29uc3QgZWE9e3Byb3BlcnRpZXM6e2F0dHJGb3JTZWxlY3RlZDp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0sc2VsZWN0ZWQ6e3R5cGU6U3RyaW5nLG5vdGlmeTohMH0sc2VsZWN0ZWRJdGVtOnt0eXBlOk9iamVjdCxyZWFkT25seTohMCxub3RpZnk6ITB9LGFjdGl2YXRlRXZlbnQ6e3R5cGU6U3RyaW5nLHZhbHVlOiJ0YXAiLG9ic2VydmVyOiJfYWN0aXZhdGVFdmVudENoYW5nZWQifSxzZWxlY3RhYmxlOlN0cmluZyxzZWxlY3RlZENsYXNzOnt0eXBlOlN0cmluZyx2YWx1ZToiaXJvbi1zZWxlY3RlZCJ9LHNlbGVjdGVkQXR0cmlidXRlOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxmYWxsYmFja1NlbGVjdGlvbjp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH0saXRlbXM6e3R5cGU6QXJyYXkscmVhZE9ubHk6ITAsbm90aWZ5OiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fSxfZXhjbHVkZWRMb2NhbE5hbWVzOnt0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybnt0ZW1wbGF0ZToxLCJkb20tYmluZCI6MSwiZG9tLWlmIjoxLCJkb20tcmVwZWF0IjoxfX19fSxvYnNlcnZlcnM6WyJfdXBkYXRlQXR0ckZvclNlbGVjdGVkKGF0dHJGb3JTZWxlY3RlZCkiLCJfdXBkYXRlU2VsZWN0ZWQoc2VsZWN0ZWQpIiwiX2NoZWNrRmFsbGJhY2soZmFsbGJhY2tTZWxlY3Rpb24pIl0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuX2JpbmRGaWx0ZXJJdGVtPXRoaXMuX2ZpbHRlckl0ZW0uYmluZCh0aGlzKSx0aGlzLl9zZWxlY3Rpb249bmV3IHRhKHRoaXMuX2FwcGx5U2VsZWN0aW9uLmJpbmQodGhpcykpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyPXRoaXMuX29ic2VydmVJdGVtcyh0aGlzKSx0aGlzLl9hZGRMaXN0ZW5lcih0aGlzLmFjdGl2YXRlRXZlbnQpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyJiZlcih0aGlzKS51bm9ic2VydmVOb2Rlcyh0aGlzLl9vYnNlcnZlciksdGhpcy5fcmVtb3ZlTGlzdGVuZXIodGhpcy5hY3RpdmF0ZUV2ZW50KX0saW5kZXhPZjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pdGVtcz90aGlzLml0ZW1zLmluZGV4T2YodCk6LTF9LHNlbGVjdDpmdW5jdGlvbih0KXt0aGlzLnNlbGVjdGVkPXR9LHNlbGVjdFByZXZpb3VzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5pdGVtcy5sZW5ndGgsZT10LTE7dm9pZCAwIT09dGhpcy5zZWxlY3RlZCYmKGU9KE51bWJlcih0aGlzLl92YWx1ZVRvSW5kZXgodGhpcy5zZWxlY3RlZCkpLTErdCkldCksdGhpcy5zZWxlY3RlZD10aGlzLl9pbmRleFRvVmFsdWUoZSl9LHNlbGVjdE5leHQ6ZnVuY3Rpb24oKXt2YXIgdD0wO3ZvaWQgMCE9PXRoaXMuc2VsZWN0ZWQmJih0PShOdW1iZXIodGhpcy5fdmFsdWVUb0luZGV4KHRoaXMuc2VsZWN0ZWQpKSsxKSV0aGlzLml0ZW1zLmxlbmd0aCksdGhpcy5zZWxlY3RlZD10aGlzLl9pbmRleFRvVmFsdWUodCl9LHNlbGVjdEluZGV4OmZ1bmN0aW9uKHQpe3RoaXMuc2VsZWN0KHRoaXMuX2luZGV4VG9WYWx1ZSh0KSl9LGZvcmNlU3luY2hyb25vdXNJdGVtVXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXImJiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLl9vYnNlcnZlci5mbHVzaD90aGlzLl9vYnNlcnZlci5mbHVzaCgpOnRoaXMuX3VwZGF0ZUl0ZW1zKCl9LGdldCBfc2hvdWxkVXBkYXRlU2VsZWN0aW9uKCl7cmV0dXJuIG51bGwhPXRoaXMuc2VsZWN0ZWR9LF9jaGVja0ZhbGxiYWNrOmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlU2VsZWN0ZWQoKX0sX2FkZExpc3RlbmVyOmZ1bmN0aW9uKHQpe3RoaXMubGlzdGVuKHRoaXMsdCwiX2FjdGl2YXRlSGFuZGxlciIpfSxfcmVtb3ZlTGlzdGVuZXI6ZnVuY3Rpb24odCl7dGhpcy51bmxpc3Rlbih0aGlzLHQsIl9hY3RpdmF0ZUhhbmRsZXIiKX0sX2FjdGl2YXRlRXZlbnRDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7dGhpcy5fcmVtb3ZlTGlzdGVuZXIoZSksdGhpcy5fYWRkTGlzdGVuZXIodCl9LF91cGRhdGVJdGVtczpmdW5jdGlvbigpe3ZhciB0PWVyKHRoaXMpLnF1ZXJ5RGlzdHJpYnV0ZWRFbGVtZW50cyh0aGlzLnNlbGVjdGFibGV8fCIqIik7dD1BcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwodCx0aGlzLl9iaW5kRmlsdGVySXRlbSksdGhpcy5fc2V0SXRlbXModCl9LF91cGRhdGVBdHRyRm9yU2VsZWN0ZWQ6ZnVuY3Rpb24oKXt0aGlzLnNlbGVjdGVkSXRlbSYmKHRoaXMuc2VsZWN0ZWQ9dGhpcy5fdmFsdWVGb3JJdGVtKHRoaXMuc2VsZWN0ZWRJdGVtKSl9LF91cGRhdGVTZWxlY3RlZDpmdW5jdGlvbigpe3RoaXMuX3NlbGVjdFNlbGVjdGVkKHRoaXMuc2VsZWN0ZWQpfSxfc2VsZWN0U2VsZWN0ZWQ6ZnVuY3Rpb24odCl7aWYodGhpcy5pdGVtcyl7dmFyIGU9dGhpcy5fdmFsdWVUb0l0ZW0odGhpcy5zZWxlY3RlZCk7ZT90aGlzLl9zZWxlY3Rpb24uc2VsZWN0KGUpOnRoaXMuX3NlbGVjdGlvbi5jbGVhcigpLHRoaXMuZmFsbGJhY2tTZWxlY3Rpb24mJnRoaXMuaXRlbXMubGVuZ3RoJiZ2b2lkIDA9PT10aGlzLl9zZWxlY3Rpb24uZ2V0KCkmJih0aGlzLnNlbGVjdGVkPXRoaXMuZmFsbGJhY2tTZWxlY3Rpb24pfX0sX2ZpbHRlckl0ZW06ZnVuY3Rpb24odCl7cmV0dXJuIXRoaXMuX2V4Y2x1ZGVkTG9jYWxOYW1lc1t0LmxvY2FsTmFtZV19LF92YWx1ZVRvSXRlbTpmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9udWxsOnRoaXMuaXRlbXNbdGhpcy5fdmFsdWVUb0luZGV4KHQpXX0sX3ZhbHVlVG9JbmRleDpmdW5jdGlvbih0KXtpZighdGhpcy5hdHRyRm9yU2VsZWN0ZWQpcmV0dXJuIE51bWJlcih0KTtmb3IodmFyIGUsbj0wO2U9dGhpcy5pdGVtc1tuXTtuKyspaWYodGhpcy5fdmFsdWVGb3JJdGVtKGUpPT10KXJldHVybiBufSxfaW5kZXhUb1ZhbHVlOmZ1bmN0aW9uKHQpe2lmKCF0aGlzLmF0dHJGb3JTZWxlY3RlZClyZXR1cm4gdDt2YXIgZT10aGlzLml0ZW1zW3RdO3JldHVybiBlP3RoaXMuX3ZhbHVlRm9ySXRlbShlKTp2b2lkIDB9LF92YWx1ZUZvckl0ZW06ZnVuY3Rpb24odCl7aWYoIXQpcmV0dXJuIG51bGw7aWYoIXRoaXMuYXR0ckZvclNlbGVjdGVkKXt2YXIgZT10aGlzLmluZGV4T2YodCk7cmV0dXJuLTE9PT1lP251bGw6ZX12YXIgbj10W3N0KHRoaXMuYXR0ckZvclNlbGVjdGVkKV07cmV0dXJuIG51bGwhPW4/bjp0LmdldEF0dHJpYnV0ZSh0aGlzLmF0dHJGb3JTZWxlY3RlZCl9LF9hcHBseVNlbGVjdGlvbjpmdW5jdGlvbih0LGUpe3RoaXMuc2VsZWN0ZWRDbGFzcyYmdGhpcy50b2dnbGVDbGFzcyh0aGlzLnNlbGVjdGVkQ2xhc3MsZSx0KSx0aGlzLnNlbGVjdGVkQXR0cmlidXRlJiZ0aGlzLnRvZ2dsZUF0dHJpYnV0ZSh0aGlzLnNlbGVjdGVkQXR0cmlidXRlLGUsdCksdGhpcy5fc2VsZWN0aW9uQ2hhbmdlKCksdGhpcy5maXJlKCJpcm9uLSIrKGU/InNlbGVjdCI6ImRlc2VsZWN0Iikse2l0ZW06dH0pfSxfc2VsZWN0aW9uQ2hhbmdlOmZ1bmN0aW9uKCl7dGhpcy5fc2V0U2VsZWN0ZWRJdGVtKHRoaXMuX3NlbGVjdGlvbi5nZXQoKSl9LF9vYnNlcnZlSXRlbXM6ZnVuY3Rpb24odCl7cmV0dXJuIGVyKHQpLm9ic2VydmVOb2RlcygoZnVuY3Rpb24odCl7dGhpcy5fdXBkYXRlSXRlbXMoKSx0aGlzLl91cGRhdGVTZWxlY3RlZCgpLHRoaXMuZmlyZSgiaXJvbi1pdGVtcy1jaGFuZ2VkIix0LHtidWJibGVzOiExLGNhbmNlbGFibGU6ITF9KX0pKX0sX2FjdGl2YXRlSGFuZGxlcjpmdW5jdGlvbih0KXtmb3IodmFyIGU9dC50YXJnZXQsbj10aGlzLml0ZW1zO2UmJmUhPXRoaXM7KXt2YXIgaT1uLmluZGV4T2YoZSk7aWYoaT49MCl7dmFyIHI9dGhpcy5faW5kZXhUb1ZhbHVlKGkpO3JldHVybiB2b2lkIHRoaXMuX2l0ZW1BY3RpdmF0ZShyLGUpfWU9ZS5wYXJlbnROb2RlfX0sX2l0ZW1BY3RpdmF0ZTpmdW5jdGlvbih0LGUpe3RoaXMuZmlyZSgiaXJvbi1hY3RpdmF0ZSIse3NlbGVjdGVkOnQsaXRlbTplfSx7Y2FuY2VsYWJsZTohMH0pLmRlZmF1bHRQcmV2ZW50ZWR8fHRoaXMuc2VsZWN0KHQpfX07Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2pyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoOm5vdChzbG90KTpub3QoLmlyb24tc2VsZWN0ZWQpKSB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxzbG90Pjwvc2xvdD4KYCxpczoiaXJvbi1wYWdlcyIsYmVoYXZpb3JzOltDbyxlYV0scHJvcGVydGllczp7YWN0aXZhdGVFdmVudDp7dHlwZTpTdHJpbmcsdmFsdWU6bnVsbH19LG9ic2VydmVyczpbIl9zZWxlY3RlZFBhZ2VDaGFuZ2VkKHNlbGVjdGVkKSJdLF9zZWxlY3RlZFBhZ2VDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7dGhpcy5hc3luYyh0aGlzLm5vdGlmeVJlc2l6ZSl9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBuYT14ZWAKPGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBodG1sIHsKCiAgICAgIC0tc2hhZG93LXRyYW5zaXRpb246IHsKICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMjhzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH07CgogICAgICAtLXNoYWRvdy1ub25lOiB7CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgfTsKCiAgICAgIC8qIGZyb20gaHR0cDovL2NvZGVwZW4uaW8vc2h5bmRtYW4vcGVuL2M1Mzk0ZGRmMmU4YjJhNWM5MTg1OTA0YjU3NDIxY2RiICovCgogICAgICAtLXNoYWRvdy1lbGV2YXRpb24tMmRwOiB7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwKICAgICAgICAgICAgICAgICAgICAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLAogICAgICAgICAgICAgICAgICAgIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKICAgICAgfTsKCiAgICAgIC0tc2hhZG93LWVsZXZhdGlvbi0zZHA6IHsKICAgICAgICBib3gtc2hhZG93OiAwIDNweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLAogICAgICAgICAgICAgICAgICAgIDAgMXB4IDhweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCAzcHggM3B4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICB9OwoKICAgICAgLS1zaGFkb3ctZWxldmF0aW9uLTRkcDogewogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksCiAgICAgICAgICAgICAgICAgICAgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICB9OwoKICAgICAgLS1zaGFkb3ctZWxldmF0aW9uLTZkcDogewogICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLAogICAgICAgICAgICAgICAgICAgIDAgMXB4IDE4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLAogICAgICAgICAgICAgICAgICAgIDAgM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC40KTsKICAgICAgfTsKCiAgICAgIC0tc2hhZG93LWVsZXZhdGlvbi04ZHA6IHsKICAgICAgICBib3gtc2hhZG93OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLAogICAgICAgICAgICAgICAgICAgIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICB9OwoKICAgICAgLS1zaGFkb3ctZWxldmF0aW9uLTEyZHA6IHsKICAgICAgICBib3gtc2hhZG93OiAwIDEycHggMTZweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwKICAgICAgICAgICAgICAgICAgICAwIDRweCAyMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLAogICAgICAgICAgICAgICAgICAgIDAgNnB4IDdweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC40KTsKICAgICAgfTsKCiAgICAgIC0tc2hhZG93LWVsZXZhdGlvbi0xNmRwOiB7CiAgICAgICAgYm94LXNoYWRvdzogMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksCiAgICAgICAgICAgICAgICAgICAgMCAgNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAgIH07CgogICAgICAtLXNoYWRvdy1lbGV2YXRpb24tMjRkcDogewogICAgICAgIGJveC1zaGFkb3c6IDAgMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLAogICAgICAgICAgICAgICAgICAgIDAgOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMiksCiAgICAgICAgICAgICAgICAgICAgMCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuNCk7CiAgICAgIH07CiAgICB9CiAgPC9zdHlsZT4KPC9jdXN0b20tc3R5bGU+YDtuYS5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiZGlzcGxheTogbm9uZTsiKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG5hLmNvbnRlbnQpOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgaWE9eGVgCjxkb20tbW9kdWxlIGlkPSJwYXBlci1tYXRlcmlhbC1zdHlsZXMiPgogIDx0ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgaHRtbCB7CiAgICAgICAgLS1wYXBlci1tYXRlcmlhbDogewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgfTsKICAgICAgICAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0xOiB7CiAgICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTJkcDsKICAgICAgICB9OwogICAgICAgIC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTI6IHsKICAgICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tNGRwOwogICAgICAgIH07CiAgICAgICAgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMzogewogICAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi02ZHA7CiAgICAgICAgfTsKICAgICAgICAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi00OiB7CiAgICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLThkcDsKICAgICAgICB9OwogICAgICAgIC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTU6IHsKICAgICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tMTZkcDsKICAgICAgICB9OwogICAgICB9CiAgICAgIC5wYXBlci1tYXRlcmlhbCB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWw7CiAgICAgIH0KICAgICAgLnBhcGVyLW1hdGVyaWFsW2VsZXZhdGlvbj0iMSJdIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMTsKICAgICAgfQogICAgICAucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSIyIl0gewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0yOwogICAgICB9CiAgICAgIC5wYXBlci1tYXRlcmlhbFtlbGV2YXRpb249IjMiXSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTM7CiAgICAgIH0KICAgICAgLnBhcGVyLW1hdGVyaWFsW2VsZXZhdGlvbj0iNCJdIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tNDsKICAgICAgfQogICAgICAucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSI1Il0gewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi01OwogICAgICB9CgogICAgICAvKiBEdXBsaWNhdGUgdGhlIHN0eWxlcyBiZWNhdXNlIG9mIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJjb21wb25lbnRzL3NoYWR5Y3NzL2lzc3Vlcy8xOTMgKi8KICAgICAgOmhvc3QgewogICAgICAgIC0tcGFwZXItbWF0ZXJpYWw6IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIH07CiAgICAgICAgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMTogewogICAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0yZHA7CiAgICAgICAgfTsKICAgICAgICAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0yOiB7CiAgICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTRkcDsKICAgICAgICB9OwogICAgICAgIC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTM6IHsKICAgICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tNmRwOwogICAgICAgIH07CiAgICAgICAgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tNDogewogICAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi04ZHA7CiAgICAgICAgfTsKICAgICAgICAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi01OiB7CiAgICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTE2ZHA7CiAgICAgICAgfTsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWwpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbDsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSIxIl0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMTsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSIyIl0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMjsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSIzIl0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMzsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSI0Il0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tNDsKICAgICAgfQogICAgICA6aG9zdCgucGFwZXItbWF0ZXJpYWxbZWxldmF0aW9uPSI1Il0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tNTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L3RlbXBsYXRlPgo8L2RvbS1tb2R1bGU+YDtpYS5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiZGlzcGxheTogbm9uZTsiKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGlhLmNvbnRlbnQpOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgcmE9e3Byb3BlcnRpZXM6e2ZvY3VzZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITAscmVhZE9ubHk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxkaXNhYmxlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMCxvYnNlcnZlcjoiX2Rpc2FibGVkQ2hhbmdlZCIscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfb2xkVGFiSW5kZXg6e3R5cGU6U3RyaW5nfSxfYm91bmRGb2N1c0JsdXJIYW5kbGVyOnt0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZvY3VzQmx1ckhhbmRsZXIuYmluZCh0aGlzKX19fSxvYnNlcnZlcnM6WyJfY2hhbmdlZENvbnRyb2xTdGF0ZShmb2N1c2VkLCBkaXNhYmxlZCkiXSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMuX2JvdW5kRm9jdXNCbHVySGFuZGxlciwhMCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9ib3VuZEZvY3VzQmx1ckhhbmRsZXIsITApfSxfZm9jdXNCbHVySGFuZGxlcjpmdW5jdGlvbih0KXt0aGlzLl9zZXRGb2N1c2VkKCJmb2N1cyI9PT10LnR5cGUpfSxfZGlzYWJsZWRDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLHQ/InRydWUiOiJmYWxzZSIpLHRoaXMuc3R5bGUucG9pbnRlckV2ZW50cz10PyJub25lIjoiIix0Pyh0aGlzLl9vbGRUYWJJbmRleD10aGlzLmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKSx0aGlzLl9zZXRGb2N1c2VkKCExKSx0aGlzLnRhYkluZGV4PS0xLHRoaXMuYmx1cigpKTp2b2lkIDAhPT10aGlzLl9vbGRUYWJJbmRleCYmKG51bGw9PT10aGlzLl9vbGRUYWJJbmRleD90aGlzLnJlbW92ZUF0dHJpYnV0ZSgidGFiaW5kZXgiKTp0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLHRoaXMuX29sZFRhYkluZGV4KSl9LF9jaGFuZ2VkQ29udHJvbFN0YXRlOmZ1bmN0aW9uKCl7dGhpcy5fY29udHJvbFN0YXRlQ2hhbmdlZCYmdGhpcy5fY29udHJvbFN0YXRlQ2hhbmdlZCgpfX0sb2E9e3Byb3BlcnRpZXM6e3ByZXNzZWQ6e3R5cGU6Qm9vbGVhbixyZWFkT25seTohMCx2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsb2JzZXJ2ZXI6Il9wcmVzc2VkQ2hhbmdlZCJ9LHRvZ2dsZXM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGFjdGl2ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMCxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LHBvaW50ZXJEb3duOnt0eXBlOkJvb2xlYW4scmVhZE9ubHk6ITAsdmFsdWU6ITF9LHJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQ6e3R5cGU6Qm9vbGVhbixyZWFkT25seTohMH0sYXJpYUFjdGl2ZUF0dHJpYnV0ZTp7dHlwZTpTdHJpbmcsdmFsdWU6ImFyaWEtcHJlc3NlZCIsb2JzZXJ2ZXI6Il9hcmlhQWN0aXZlQXR0cmlidXRlQ2hhbmdlZCJ9fSxsaXN0ZW5lcnM6e2Rvd246Il9kb3duSGFuZGxlciIsdXA6Il91cEhhbmRsZXIiLHRhcDoiX3RhcEhhbmRsZXIifSxvYnNlcnZlcnM6WyJfZm9jdXNDaGFuZ2VkKGZvY3VzZWQpIiwiX2FjdGl2ZUNoYW5nZWQoYWN0aXZlLCBhcmlhQWN0aXZlQXR0cmlidXRlKSJdLGtleUJpbmRpbmdzOnsiZW50ZXI6a2V5ZG93biI6Il9hc3luY0NsaWNrIiwic3BhY2U6a2V5ZG93biI6Il9zcGFjZUtleURvd25IYW5kbGVyIiwic3BhY2U6a2V5dXAiOiJfc3BhY2VLZXlVcEhhbmRsZXIifSxfbW91c2VFdmVudFJlOi9ebW91c2UvLF90YXBIYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy50b2dnbGVzP3RoaXMuX3VzZXJBY3RpdmF0ZSghdGhpcy5hY3RpdmUpOnRoaXMuYWN0aXZlPSExfSxfZm9jdXNDaGFuZ2VkOmZ1bmN0aW9uKHQpe3RoaXMuX2RldGVjdEtleWJvYXJkRm9jdXModCksdHx8dGhpcy5fc2V0UHJlc3NlZCghMSl9LF9kZXRlY3RLZXlib2FyZEZvY3VzOmZ1bmN0aW9uKHQpe3RoaXMuX3NldFJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQoIXRoaXMucG9pbnRlckRvd24mJnQpfSxfdXNlckFjdGl2YXRlOmZ1bmN0aW9uKHQpe3RoaXMuYWN0aXZlIT09dCYmKHRoaXMuYWN0aXZlPXQsdGhpcy5maXJlKCJjaGFuZ2UiKSl9LF9kb3duSGFuZGxlcjpmdW5jdGlvbih0KXt0aGlzLl9zZXRQb2ludGVyRG93bighMCksdGhpcy5fc2V0UHJlc3NlZCghMCksdGhpcy5fc2V0UmVjZWl2ZWRGb2N1c0Zyb21LZXlib2FyZCghMSl9LF91cEhhbmRsZXI6ZnVuY3Rpb24oKXt0aGlzLl9zZXRQb2ludGVyRG93bighMSksdGhpcy5fc2V0UHJlc3NlZCghMSl9LF9zcGFjZUtleURvd25IYW5kbGVyOmZ1bmN0aW9uKHQpe3ZhciBlPXQuZGV0YWlsLmtleWJvYXJkRXZlbnQsbj1lcihlKS5sb2NhbFRhcmdldDt0aGlzLmlzTGlnaHREZXNjZW5kYW50KG4pfHwoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5fc2V0UHJlc3NlZCghMCkpfSxfc3BhY2VLZXlVcEhhbmRsZXI6ZnVuY3Rpb24odCl7dmFyIGU9ZXIodC5kZXRhaWwua2V5Ym9hcmRFdmVudCkubG9jYWxUYXJnZXQ7dGhpcy5pc0xpZ2h0RGVzY2VuZGFudChlKXx8KHRoaXMucHJlc3NlZCYmdGhpcy5fYXN5bmNDbGljaygpLHRoaXMuX3NldFByZXNzZWQoITEpKX0sX2FzeW5jQ2xpY2s6ZnVuY3Rpb24oKXt0aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuY2xpY2soKX0pLDEpfSxfcHJlc3NlZENoYW5nZWQ6ZnVuY3Rpb24odCl7dGhpcy5fY2hhbmdlZEJ1dHRvblN0YXRlKCl9LF9hcmlhQWN0aXZlQXR0cmlidXRlQ2hhbmdlZDpmdW5jdGlvbih0LGUpe2UmJmUhPXQmJnRoaXMuaGFzQXR0cmlidXRlKGUpJiZ0aGlzLnJlbW92ZUF0dHJpYnV0ZShlKX0sX2FjdGl2ZUNoYW5nZWQ6ZnVuY3Rpb24odCxlKXt0aGlzLnRvZ2dsZXM/dGhpcy5zZXRBdHRyaWJ1dGUodGhpcy5hcmlhQWN0aXZlQXR0cmlidXRlLHQ/InRydWUiOiJmYWxzZSIpOnRoaXMucmVtb3ZlQXR0cmlidXRlKHRoaXMuYXJpYUFjdGl2ZUF0dHJpYnV0ZSksdGhpcy5fY2hhbmdlZEJ1dHRvblN0YXRlKCl9LF9jb250cm9sU3RhdGVDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5kaXNhYmxlZD90aGlzLl9zZXRQcmVzc2VkKCExKTp0aGlzLl9jaGFuZ2VkQnV0dG9uU3RhdGUoKX0sX2NoYW5nZWRCdXR0b25TdGF0ZTpmdW5jdGlvbigpe3RoaXMuX2J1dHRvblN0YXRlQ2hhbmdlZCYmdGhpcy5fYnV0dG9uU3RhdGVDaGFuZ2VkKCl9fSxhYT1bWG8sb2FdOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE0IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCnZhciBzYT17ZGlzdGFuY2U6ZnVuY3Rpb24odCxlLG4saSl7dmFyIHI9dC1uLG89ZS1pO3JldHVybiBNYXRoLnNxcnQocipyK28qbyl9LG5vdzp3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3c/d2luZG93LnBlcmZvcm1hbmNlLm5vdy5iaW5kKHdpbmRvdy5wZXJmb3JtYW5jZSk6RGF0ZS5ub3d9O2Z1bmN0aW9uIGxhKHQpe3RoaXMuZWxlbWVudD10LHRoaXMud2lkdGg9dGhpcy5ib3VuZGluZ1JlY3Qud2lkdGgsdGhpcy5oZWlnaHQ9dGhpcy5ib3VuZGluZ1JlY3QuaGVpZ2h0LHRoaXMuc2l6ZT1NYXRoLm1heCh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KX1mdW5jdGlvbiBjYSh0KXt0aGlzLmVsZW1lbnQ9dCx0aGlzLmNvbG9yPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLmNvbG9yLHRoaXMud2F2ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLndhdmVDb250YWluZXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy53YXZlLnN0eWxlLmJhY2tncm91bmRDb2xvcj10aGlzLmNvbG9yLHRoaXMud2F2ZS5jbGFzc0xpc3QuYWRkKCJ3YXZlIiksdGhpcy53YXZlQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoIndhdmUtY29udGFpbmVyIiksZXIodGhpcy53YXZlQ29udGFpbmVyKS5hcHBlbmRDaGlsZCh0aGlzLndhdmUpLHRoaXMucmVzZXRJbnRlcmFjdGlvblN0YXRlKCl9bGEucHJvdG90eXBlPXtnZXQgYm91bmRpbmdSZWN0KCl7cmV0dXJuIHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0sZnVydGhlc3RDb3JuZXJEaXN0YW5jZUZyb206ZnVuY3Rpb24odCxlKXt2YXIgbj1zYS5kaXN0YW5jZSh0LGUsMCwwKSxpPXNhLmRpc3RhbmNlKHQsZSx0aGlzLndpZHRoLDApLHI9c2EuZGlzdGFuY2UodCxlLDAsdGhpcy5oZWlnaHQpLG89c2EuZGlzdGFuY2UodCxlLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpO3JldHVybiBNYXRoLm1heChuLGkscixvKX19LGNhLk1BWF9SQURJVVM9MzAwLGNhLnByb3RvdHlwZT17Z2V0IHJlY2VudGVycygpe3JldHVybiB0aGlzLmVsZW1lbnQucmVjZW50ZXJzfSxnZXQgY2VudGVyKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5jZW50ZXJ9LGdldCBtb3VzZURvd25FbGFwc2VkKCl7dmFyIHQ7cmV0dXJuIHRoaXMubW91c2VEb3duU3RhcnQ/KHQ9c2Eubm93KCktdGhpcy5tb3VzZURvd25TdGFydCx0aGlzLm1vdXNlVXBTdGFydCYmKHQtPXRoaXMubW91c2VVcEVsYXBzZWQpLHQpOjB9LGdldCBtb3VzZVVwRWxhcHNlZCgpe3JldHVybiB0aGlzLm1vdXNlVXBTdGFydD9zYS5ub3coKS10aGlzLm1vdXNlVXBTdGFydDowfSxnZXQgbW91c2VEb3duRWxhcHNlZFNlY29uZHMoKXtyZXR1cm4gdGhpcy5tb3VzZURvd25FbGFwc2VkLzFlM30sZ2V0IG1vdXNlVXBFbGFwc2VkU2Vjb25kcygpe3JldHVybiB0aGlzLm1vdXNlVXBFbGFwc2VkLzFlM30sZ2V0IG1vdXNlSW50ZXJhY3Rpb25TZWNvbmRzKCl7cmV0dXJuIHRoaXMubW91c2VEb3duRWxhcHNlZFNlY29uZHMrdGhpcy5tb3VzZVVwRWxhcHNlZFNlY29uZHN9LGdldCBpbml0aWFsT3BhY2l0eSgpe3JldHVybiB0aGlzLmVsZW1lbnQuaW5pdGlhbE9wYWNpdHl9LGdldCBvcGFjaXR5RGVjYXlWZWxvY2l0eSgpe3JldHVybiB0aGlzLmVsZW1lbnQub3BhY2l0eURlY2F5VmVsb2NpdHl9LGdldCByYWRpdXMoKXt2YXIgdD0xLjEqTWF0aC5taW4oTWF0aC5zcXJ0KHRoaXMuY29udGFpbmVyTWV0cmljcy53aWR0aCp0aGlzLmNvbnRhaW5lck1ldHJpY3Mud2lkdGgrdGhpcy5jb250YWluZXJNZXRyaWNzLmhlaWdodCp0aGlzLmNvbnRhaW5lck1ldHJpY3MuaGVpZ2h0KSxjYS5NQVhfUkFESVVTKSs1LGU9dCooMS1NYXRoLnBvdyg4MCwtKHRoaXMubW91c2VJbnRlcmFjdGlvblNlY29uZHMvKDEuMS10L2NhLk1BWF9SQURJVVMqLjIpKSkpO3JldHVybiBNYXRoLmFicyhlKX0sZ2V0IG9wYWNpdHkoKXtyZXR1cm4gdGhpcy5tb3VzZVVwU3RhcnQ/TWF0aC5tYXgoMCx0aGlzLmluaXRpYWxPcGFjaXR5LXRoaXMubW91c2VVcEVsYXBzZWRTZWNvbmRzKnRoaXMub3BhY2l0eURlY2F5VmVsb2NpdHkpOnRoaXMuaW5pdGlhbE9wYWNpdHl9LGdldCBvdXRlck9wYWNpdHkoKXtyZXR1cm4gTWF0aC5tYXgoMCxNYXRoLm1pbiguMyp0aGlzLm1vdXNlVXBFbGFwc2VkU2Vjb25kcyx0aGlzLm9wYWNpdHkpKX0sZ2V0IGlzT3BhY2l0eUZ1bGx5RGVjYXllZCgpe3JldHVybiB0aGlzLm9wYWNpdHk8LjAxJiZ0aGlzLnJhZGl1cz49TWF0aC5taW4odGhpcy5tYXhSYWRpdXMsY2EuTUFYX1JBRElVUyl9LGdldCBpc1Jlc3RpbmdBdE1heFJhZGl1cygpe3JldHVybiB0aGlzLm9wYWNpdHk+PXRoaXMuaW5pdGlhbE9wYWNpdHkmJnRoaXMucmFkaXVzPj1NYXRoLm1pbih0aGlzLm1heFJhZGl1cyxjYS5NQVhfUkFESVVTKX0sZ2V0IGlzQW5pbWF0aW9uQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5tb3VzZVVwU3RhcnQ/dGhpcy5pc09wYWNpdHlGdWxseURlY2F5ZWQ6dGhpcy5pc1Jlc3RpbmdBdE1heFJhZGl1c30sZ2V0IHRyYW5zbGF0aW9uRnJhY3Rpb24oKXtyZXR1cm4gTWF0aC5taW4oMSx0aGlzLnJhZGl1cy90aGlzLmNvbnRhaW5lck1ldHJpY3Muc2l6ZSoyL01hdGguc3FydCgyKSl9LGdldCB4Tm93KCl7cmV0dXJuIHRoaXMueEVuZD90aGlzLnhTdGFydCt0aGlzLnRyYW5zbGF0aW9uRnJhY3Rpb24qKHRoaXMueEVuZC10aGlzLnhTdGFydCk6dGhpcy54U3RhcnR9LGdldCB5Tm93KCl7cmV0dXJuIHRoaXMueUVuZD90aGlzLnlTdGFydCt0aGlzLnRyYW5zbGF0aW9uRnJhY3Rpb24qKHRoaXMueUVuZC10aGlzLnlTdGFydCk6dGhpcy55U3RhcnR9LGdldCBpc01vdXNlRG93bigpe3JldHVybiB0aGlzLm1vdXNlRG93blN0YXJ0JiYhdGhpcy5tb3VzZVVwU3RhcnR9LHJlc2V0SW50ZXJhY3Rpb25TdGF0ZTpmdW5jdGlvbigpe3RoaXMubWF4UmFkaXVzPTAsdGhpcy5tb3VzZURvd25TdGFydD0wLHRoaXMubW91c2VVcFN0YXJ0PTAsdGhpcy54U3RhcnQ9MCx0aGlzLnlTdGFydD0wLHRoaXMueEVuZD0wLHRoaXMueUVuZD0wLHRoaXMuc2xpZGVEaXN0YW5jZT0wLHRoaXMuY29udGFpbmVyTWV0cmljcz1uZXcgbGEodGhpcy5lbGVtZW50KX0sZHJhdzpmdW5jdGlvbigpe3ZhciB0LGUsbjt0aGlzLndhdmUuc3R5bGUub3BhY2l0eT10aGlzLm9wYWNpdHksdD10aGlzLnJhZGl1cy8odGhpcy5jb250YWluZXJNZXRyaWNzLnNpemUvMiksdGhpcy53YXZlQ29udGFpbmVyLnN0eWxlLndlYmtpdFRyYW5zZm9ybT0idHJhbnNsYXRlKCIrKGU9dGhpcy54Tm93LXRoaXMuY29udGFpbmVyTWV0cmljcy53aWR0aC8yKSsicHgsICIrKG49dGhpcy55Tm93LXRoaXMuY29udGFpbmVyTWV0cmljcy5oZWlnaHQvMikrInB4KSIsdGhpcy53YXZlQ29udGFpbmVyLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlM2QoIitlKyJweCwgIituKyJweCwgMCkiLHRoaXMud2F2ZS5zdHlsZS53ZWJraXRUcmFuc2Zvcm09InNjYWxlKCIrdCsiLCIrdCsiKSIsdGhpcy53YXZlLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUzZCgiK3QrIiwiK3QrIiwxKSJ9LGRvd25BY3Rpb246ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jb250YWluZXJNZXRyaWNzLndpZHRoLzIsbj10aGlzLmNvbnRhaW5lck1ldHJpY3MuaGVpZ2h0LzI7dGhpcy5yZXNldEludGVyYWN0aW9uU3RhdGUoKSx0aGlzLm1vdXNlRG93blN0YXJ0PXNhLm5vdygpLHRoaXMuY2VudGVyPyh0aGlzLnhTdGFydD1lLHRoaXMueVN0YXJ0PW4sdGhpcy5zbGlkZURpc3RhbmNlPXNhLmRpc3RhbmNlKHRoaXMueFN0YXJ0LHRoaXMueVN0YXJ0LHRoaXMueEVuZCx0aGlzLnlFbmQpKToodGhpcy54U3RhcnQ9dD90LmRldGFpbC54LXRoaXMuY29udGFpbmVyTWV0cmljcy5ib3VuZGluZ1JlY3QubGVmdDp0aGlzLmNvbnRhaW5lck1ldHJpY3Mud2lkdGgvMix0aGlzLnlTdGFydD10P3QuZGV0YWlsLnktdGhpcy5jb250YWluZXJNZXRyaWNzLmJvdW5kaW5nUmVjdC50b3A6dGhpcy5jb250YWluZXJNZXRyaWNzLmhlaWdodC8yKSx0aGlzLnJlY2VudGVycyYmKHRoaXMueEVuZD1lLHRoaXMueUVuZD1uLHRoaXMuc2xpZGVEaXN0YW5jZT1zYS5kaXN0YW5jZSh0aGlzLnhTdGFydCx0aGlzLnlTdGFydCx0aGlzLnhFbmQsdGhpcy55RW5kKSksdGhpcy5tYXhSYWRpdXM9dGhpcy5jb250YWluZXJNZXRyaWNzLmZ1cnRoZXN0Q29ybmVyRGlzdGFuY2VGcm9tKHRoaXMueFN0YXJ0LHRoaXMueVN0YXJ0KSx0aGlzLndhdmVDb250YWluZXIuc3R5bGUudG9wPSh0aGlzLmNvbnRhaW5lck1ldHJpY3MuaGVpZ2h0LXRoaXMuY29udGFpbmVyTWV0cmljcy5zaXplKS8yKyJweCIsdGhpcy53YXZlQ29udGFpbmVyLnN0eWxlLmxlZnQ9KHRoaXMuY29udGFpbmVyTWV0cmljcy53aWR0aC10aGlzLmNvbnRhaW5lck1ldHJpY3Muc2l6ZSkvMisicHgiLHRoaXMud2F2ZUNvbnRhaW5lci5zdHlsZS53aWR0aD10aGlzLmNvbnRhaW5lck1ldHJpY3Muc2l6ZSsicHgiLHRoaXMud2F2ZUNvbnRhaW5lci5zdHlsZS5oZWlnaHQ9dGhpcy5jb250YWluZXJNZXRyaWNzLnNpemUrInB4In0sdXBBY3Rpb246ZnVuY3Rpb24odCl7dGhpcy5pc01vdXNlRG93biYmKHRoaXMubW91c2VVcFN0YXJ0PXNhLm5vdygpKX0scmVtb3ZlOmZ1bmN0aW9uKCl7ZXIoZXIodGhpcy53YXZlQ29udGFpbmVyKS5wYXJlbnROb2RlKS5yZW1vdmVDaGlsZCh0aGlzLndhdmVDb250YWluZXIpfX0sanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwoKICAgICAgICAvKiBTZWUgUG9seW1lckVsZW1lbnRzL3BhcGVyLWJlaGF2aW9ycy9pc3N1ZXMvMzQuIE9uIG5vbi1DaHJvbWUgYnJvd3NlcnMsCiAgICAgICAgICogY3JlYXRpbmcgYSBub2RlICh3aXRoIGEgcG9zaXRpb246YWJzb2x1dGUpIGluIHRoZSBtaWRkbGUgb2YgYW4gZXZlbnQKICAgICAgICAgKiBoYW5kbGVyICJpbnRlcnJ1cHRzIiB0aGF0IGV2ZW50IGhhbmRsZXIgKHdoaWNoIGhhcHBlbnMgd2hlbiB0aGUKICAgICAgICAgKiByaXBwbGUgaXMgY3JlYXRlZCBvbiBkZW1hbmQpICovCiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFthbmltYXRpbmddKSB7CiAgICAgICAgLyogVGhpcyByZXNvbHZlcyBhIHJlbmRlcmluZyBpc3N1ZSBpbiBDaHJvbWUgKGFzIG9mIDQwKSB3aGVyZSB0aGUKICAgICAgICAgICByaXBwbGUgaXMgbm90IHByb3Blcmx5IGNsaXBwZWQgYnkgaXRzIHBhcmVudCAod2hpY2ggbWF5IGhhdmUKICAgICAgICAgICByb3VuZGVkIGNvcm5lcnMpLiBTZWU6IGh0dHA6Ly9qc2Jpbi5jb20vdGVtZXhhLzQKCiAgICAgICAgICAgTm90ZTogV2Ugb25seSBhcHBseSB0aGlzIHN0eWxlIGNvbmRpdGlvbmFsbHkuIE90aGVyd2lzZSwgdGhlIGJyb3dzZXIKICAgICAgICAgICB3aWxsIGNyZWF0ZSBhIG5ldyBjb21wb3NpdGluZyBsYXllciBmb3IgZXZlcnkgcmlwcGxlIGVsZW1lbnQgb24gdGhlCiAgICAgICAgICAgcGFnZSwgYW5kIHRoYXQgd291bGQgYmUgYmFkLiAqLwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsKICAgICAgfQoKICAgICAgI2JhY2tncm91bmQsCiAgICAgICN3YXZlcywKICAgICAgLndhdmUtY29udGFpbmVyLAogICAgICAud2F2ZSB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgI2JhY2tncm91bmQsCiAgICAgIC53YXZlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAjd2F2ZXMsCiAgICAgIC53YXZlIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAud2F2ZS1jb250YWluZXIsCiAgICAgIC53YXZlIHsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIDpob3N0KC5jaXJjbGUpICNiYWNrZ3JvdW5kLAogICAgICA6aG9zdCguY2lyY2xlKSAjd2F2ZXMgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgOmhvc3QoLmNpcmNsZSkgLndhdmUtY29udGFpbmVyIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9ImJhY2tncm91bmQiPjwvZGl2PgogICAgPGRpdiBpZD0id2F2ZXMiPjwvZGl2PgpgLGlzOiJwYXBlci1yaXBwbGUiLGJlaGF2aW9yczpbWG9dLHByb3BlcnRpZXM6e2luaXRpYWxPcGFjaXR5Ont0eXBlOk51bWJlcix2YWx1ZTouMjV9LG9wYWNpdHlEZWNheVZlbG9jaXR5Ont0eXBlOk51bWJlcix2YWx1ZTouOH0scmVjZW50ZXJzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGNlbnRlcjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxyaXBwbGVzOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fSxhbmltYXRpbmc6e3R5cGU6Qm9vbGVhbixyZWFkT25seTohMCxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdmFsdWU6ITF9LGhvbGREb3duOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9ob2xkRG93bkNoYW5nZWQifSxub2luazp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfYW5pbWF0aW5nOnt0eXBlOkJvb2xlYW59LF9ib3VuZEFuaW1hdGU6e3R5cGU6RnVuY3Rpb24sdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hbmltYXRlLmJpbmQodGhpcyl9fX0sZ2V0IHRhcmdldCgpe3JldHVybiB0aGlzLmtleUV2ZW50VGFyZ2V0fSxrZXlCaW5kaW5nczp7ImVudGVyOmtleWRvd24iOiJfb25FbnRlcktleWRvd24iLCJzcGFjZTprZXlkb3duIjoiX29uU3BhY2VLZXlkb3duIiwic3BhY2U6a2V5dXAiOiJfb25TcGFjZUtleXVwIn0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmtleUV2ZW50VGFyZ2V0PTExPT1lcih0aGlzKS5wYXJlbnROb2RlLm5vZGVUeXBlP2VyKHRoaXMpLmdldE93bmVyUm9vdCgpLmhvc3Q6ZXIodGhpcykucGFyZW50Tm9kZTt2YXIgdD10aGlzLmtleUV2ZW50VGFyZ2V0O3RoaXMubGlzdGVuKHQsInVwIiwidWlVcEFjdGlvbiIpLHRoaXMubGlzdGVuKHQsImRvd24iLCJ1aURvd25BY3Rpb24iKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnVubGlzdGVuKHRoaXMua2V5RXZlbnRUYXJnZXQsInVwIiwidWlVcEFjdGlvbiIpLHRoaXMudW5saXN0ZW4odGhpcy5rZXlFdmVudFRhcmdldCwiZG93biIsInVpRG93bkFjdGlvbiIpLHRoaXMua2V5RXZlbnRUYXJnZXQ9bnVsbH0sZ2V0IHNob3VsZEtlZXBBbmltYXRpbmcoKXtmb3IodmFyIHQ9MDt0PHRoaXMucmlwcGxlcy5sZW5ndGg7Kyt0KWlmKCF0aGlzLnJpcHBsZXNbdF0uaXNBbmltYXRpb25Db21wbGV0ZSlyZXR1cm4hMDtyZXR1cm4hMX0sc2ltdWxhdGVkUmlwcGxlOmZ1bmN0aW9uKCl7dGhpcy5kb3duQWN0aW9uKG51bGwpLHRoaXMuYXN5bmMoKGZ1bmN0aW9uKCl7dGhpcy51cEFjdGlvbigpfSksMSl9LHVpRG93bkFjdGlvbjpmdW5jdGlvbih0KXt0aGlzLm5vaW5rfHx0aGlzLmRvd25BY3Rpb24odCl9LGRvd25BY3Rpb246ZnVuY3Rpb24odCl7dGhpcy5ob2xkRG93biYmdGhpcy5yaXBwbGVzLmxlbmd0aD4wfHwodGhpcy5hZGRSaXBwbGUoKS5kb3duQWN0aW9uKHQpLHRoaXMuX2FuaW1hdGluZ3x8KHRoaXMuX2FuaW1hdGluZz0hMCx0aGlzLmFuaW1hdGUoKSkpfSx1aVVwQWN0aW9uOmZ1bmN0aW9uKHQpe3RoaXMubm9pbmt8fHRoaXMudXBBY3Rpb24odCl9LHVwQWN0aW9uOmZ1bmN0aW9uKHQpe3RoaXMuaG9sZERvd258fCh0aGlzLnJpcHBsZXMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS51cEFjdGlvbih0KX0pKSx0aGlzLl9hbmltYXRpbmc9ITAsdGhpcy5hbmltYXRlKCkpfSxvbkFuaW1hdGlvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7dGhpcy5fYW5pbWF0aW5nPSExLHRoaXMuJC5iYWNrZ3JvdW5kLnN0eWxlLmJhY2tncm91bmRDb2xvcj0iIix0aGlzLmZpcmUoInRyYW5zaXRpb25lbmQiKX0sYWRkUmlwcGxlOmZ1bmN0aW9uKCl7dmFyIHQ9bmV3IGNhKHRoaXMpO3JldHVybiBlcih0aGlzLiQud2F2ZXMpLmFwcGVuZENoaWxkKHQud2F2ZUNvbnRhaW5lciksdGhpcy4kLmJhY2tncm91bmQuc3R5bGUuYmFja2dyb3VuZENvbG9yPXQuY29sb3IsdGhpcy5yaXBwbGVzLnB1c2godCksdGhpcy5fc2V0QW5pbWF0aW5nKCEwKSx0fSxyZW1vdmVSaXBwbGU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5yaXBwbGVzLmluZGV4T2YodCk7ZTwwfHwodGhpcy5yaXBwbGVzLnNwbGljZShlLDEpLHQucmVtb3ZlKCksdGhpcy5yaXBwbGVzLmxlbmd0aHx8dGhpcy5fc2V0QW5pbWF0aW5nKCExKSl9LGFuaW1hdGU6ZnVuY3Rpb24oKXtpZih0aGlzLl9hbmltYXRpbmcpe3ZhciB0LGU7Zm9yKHQ9MDt0PHRoaXMucmlwcGxlcy5sZW5ndGg7Kyt0KShlPXRoaXMucmlwcGxlc1t0XSkuZHJhdygpLHRoaXMuJC5iYWNrZ3JvdW5kLnN0eWxlLm9wYWNpdHk9ZS5vdXRlck9wYWNpdHksZS5pc09wYWNpdHlGdWxseURlY2F5ZWQmJiFlLmlzUmVzdGluZ0F0TWF4UmFkaXVzJiZ0aGlzLnJlbW92ZVJpcHBsZShlKTt0aGlzLnNob3VsZEtlZXBBbmltYXRpbmd8fDAhPT10aGlzLnJpcHBsZXMubGVuZ3RoP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5fYm91bmRBbmltYXRlKTp0aGlzLm9uQW5pbWF0aW9uQ29tcGxldGUoKX19LGFuaW1hdGVSaXBwbGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hbmltYXRlKCl9LF9vbkVudGVyS2V5ZG93bjpmdW5jdGlvbigpe3RoaXMudWlEb3duQWN0aW9uKCksdGhpcy5hc3luYyh0aGlzLnVpVXBBY3Rpb24sMSl9LF9vblNwYWNlS2V5ZG93bjpmdW5jdGlvbigpe3RoaXMudWlEb3duQWN0aW9uKCl9LF9vblNwYWNlS2V5dXA6ZnVuY3Rpb24oKXt0aGlzLnVpVXBBY3Rpb24oKX0sX2hvbGREb3duQ2hhbmdlZDpmdW5jdGlvbih0LGUpe3ZvaWQgMCE9PWUmJih0P3RoaXMuZG93bkFjdGlvbigpOnRoaXMudXBBY3Rpb24oKSl9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCB1YT17cHJvcGVydGllczp7bm9pbms6e3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX25vaW5rQ2hhbmdlZCJ9LF9yaXBwbGVDb250YWluZXI6e3R5cGU6T2JqZWN0fX0sX2J1dHRvblN0YXRlQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuZm9jdXNlZCYmdGhpcy5lbnN1cmVSaXBwbGUoKX0sX2Rvd25IYW5kbGVyOmZ1bmN0aW9uKHQpe29hLl9kb3duSGFuZGxlci5jYWxsKHRoaXMsdCksdGhpcy5wcmVzc2VkJiZ0aGlzLmVuc3VyZVJpcHBsZSh0KX0sZW5zdXJlUmlwcGxlOmZ1bmN0aW9uKHQpe2lmKCF0aGlzLmhhc1JpcHBsZSgpKXt0aGlzLl9yaXBwbGU9dGhpcy5fY3JlYXRlUmlwcGxlKCksdGhpcy5fcmlwcGxlLm5vaW5rPXRoaXMubm9pbms7dmFyIGU9dGhpcy5fcmlwcGxlQ29udGFpbmVyfHx0aGlzLnJvb3Q7aWYoZSYmZXIoZSkuYXBwZW5kQ2hpbGQodGhpcy5fcmlwcGxlKSx0KXt2YXIgbj1lcih0aGlzLl9yaXBwbGVDb250YWluZXJ8fHRoaXMpLGk9ZXIodCkucm9vdFRhcmdldDtuLmRlZXBDb250YWlucyhpKSYmdGhpcy5fcmlwcGxlLnVpRG93bkFjdGlvbih0KX19fSxnZXRSaXBwbGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbnN1cmVSaXBwbGUoKSx0aGlzLl9yaXBwbGV9LGhhc1JpcHBsZTpmdW5jdGlvbigpe3JldHVybiBCb29sZWFuKHRoaXMuX3JpcHBsZSl9LF9jcmVhdGVSaXBwbGU6ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicGFwZXItcmlwcGxlIil9LF9ub2lua0NoYW5nZWQ6ZnVuY3Rpb24odCl7dGhpcy5oYXNSaXBwbGUoKSYmKHRoaXMuX3JpcHBsZS5ub2luaz10KX19LGhhPXtwcm9wZXJ0aWVzOntlbGV2YXRpb246e3R5cGU6TnVtYmVyLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxyZWFkT25seTohMH19LG9ic2VydmVyczpbIl9jYWxjdWxhdGVFbGV2YXRpb24oZm9jdXNlZCwgZGlzYWJsZWQsIGFjdGl2ZSwgcHJlc3NlZCwgcmVjZWl2ZWRGb2N1c0Zyb21LZXlib2FyZCkiLCJfY29tcHV0ZUtleWJvYXJkQ2xhc3MocmVjZWl2ZWRGb2N1c0Zyb21LZXlib2FyZCkiXSxob3N0QXR0cmlidXRlczp7cm9sZToiYnV0dG9uIix0YWJpbmRleDoiMCIsYW5pbWF0ZWQ6ITB9LF9jYWxjdWxhdGVFbGV2YXRpb246ZnVuY3Rpb24oKXt2YXIgdD0xO3RoaXMuZGlzYWJsZWQ/dD0wOnRoaXMuYWN0aXZlfHx0aGlzLnByZXNzZWQ/dD00OnRoaXMucmVjZWl2ZWRGb2N1c0Zyb21LZXlib2FyZCYmKHQ9MyksdGhpcy5fc2V0RWxldmF0aW9uKHQpfSxfY29tcHV0ZUtleWJvYXJkQ2xhc3M6ZnVuY3Rpb24odCl7dGhpcy50b2dnbGVDbGFzcygia2V5Ym9hcmQtZm9jdXMiLHQpfSxfc3BhY2VLZXlEb3duSGFuZGxlcjpmdW5jdGlvbih0KXtvYS5fc3BhY2VLZXlEb3duSGFuZGxlci5jYWxsKHRoaXMsdCksdGhpcy5oYXNSaXBwbGUoKSYmdGhpcy5nZXRSaXBwbGUoKS5yaXBwbGVzLmxlbmd0aDwxJiZ0aGlzLl9yaXBwbGUudWlEb3duQWN0aW9uKCl9LF9zcGFjZUtleVVwSGFuZGxlcjpmdW5jdGlvbih0KXtvYS5fc3BhY2VLZXlVcEhhbmRsZXIuY2FsbCh0aGlzLHQpLHRoaXMuaGFzUmlwcGxlKCkmJnRoaXMuX3JpcHBsZS51aVVwQWN0aW9uKCl9fSxkYT1bYWEscmEsdWEsaGFdLHBhPXhlYAogIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1tYXRlcmlhbC1zdHlsZXMiPgogICAgLyogTmVlZCB0byBzcGVjaWZ5IHRoZSBzYW1lIHNwZWNpZmljaXR5IGFzIHRoZSBzdHlsZXMgaW1wb3J0ZWQgZnJvbSBwYXBlci1tYXRlcmlhbC4gKi8KICAgIDpob3N0IHsKICAgICAgQGFwcGx5IC0tbGF5b3V0LWlubGluZTsKICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlci1jZW50ZXI7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgbWluLXdpZHRoOiA1LjE0ZW07CiAgICAgIG1hcmdpbjogMCAwLjI5ZW07CiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIGZvbnQ6IGluaGVyaXQ7CiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgIG91dGxpbmUtd2lkdGg6IDA7CiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB6LWluZGV4OiAwOwogICAgICBwYWRkaW5nOiAwLjdlbSAwLjU3ZW07CgogICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICBAYXBwbHkgLS1wYXBlci1idXR0b247CiAgICB9CgogICAgOmhvc3QoW2VsZXZhdGlvbj0iMSJdKSB7CiAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi0xOwogICAgfQoKICAgIDpob3N0KFtlbGV2YXRpb249IjIiXSkgewogICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tMjsKICAgIH0KCiAgICA6aG9zdChbZWxldmF0aW9uPSIzIl0pIHsKICAgICAgQGFwcGx5IC0tcGFwZXItbWF0ZXJpYWwtZWxldmF0aW9uLTM7CiAgICB9CgogICAgOmhvc3QoW2VsZXZhdGlvbj0iNCJdKSB7CiAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsLWVsZXZhdGlvbi00OwogICAgfQoKICAgIDpob3N0KFtlbGV2YXRpb249IjUiXSkgewogICAgICBAYXBwbHkgLS1wYXBlci1tYXRlcmlhbC1lbGV2YXRpb24tNTsKICAgIH0KCiAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICB9CgogICAgOmhvc3QoW3JhaXNlZF0ua2V5Ym9hcmQtZm9jdXMpIHsKICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIEBhcHBseSAtLXBhcGVyLWJ1dHRvbi1yYWlzZWQta2V5Ym9hcmQtZm9jdXM7CiAgICB9CgogICAgOmhvc3QoOm5vdChbcmFpc2VkXSkua2V5Ym9hcmQtZm9jdXMpIHsKICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIEBhcHBseSAtLXBhcGVyLWJ1dHRvbi1mbGF0LWtleWJvYXJkLWZvY3VzOwogICAgfQoKICAgIDpob3N0KFtkaXNhYmxlZF0pIHsKICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgY29sb3I6ICNhOGE4YTg7CiAgICAgIGN1cnNvcjogYXV0bzsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CgogICAgICBAYXBwbHkgLS1wYXBlci1idXR0b24tZGlzYWJsZWQ7CiAgICB9CgogICAgOmhvc3QoW2Rpc2FibGVkXVtyYWlzZWRdKSB7CiAgICAgIGJhY2tncm91bmQ6ICNlYWVhZWE7CiAgICB9CgoKICAgIDpob3N0KFthbmltYXRlZF0pIHsKICAgICAgQGFwcGx5IC0tc2hhZG93LXRyYW5zaXRpb247CiAgICB9CgogICAgcGFwZXItcmlwcGxlIHsKICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWJ1dHRvbi1pbmstY29sb3IpOwogICAgfQogIDwvc3R5bGU+CgogIDxzbG90Pjwvc2xvdD5gOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9wYS5zZXRBdHRyaWJ1dGUoInN0cmlwLXdoaXRlc3BhY2UiLCIiKSxqcih7X3RlbXBsYXRlOnBhLGlzOiJwYXBlci1idXR0b24iLGJlaGF2aW9yczpbZGFdLHByb3BlcnRpZXM6e3JhaXNlZDp7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCx2YWx1ZTohMSxvYnNlcnZlcjoiX2NhbGN1bGF0ZUVsZXZhdGlvbiJ9fSxfY2FsY3VsYXRlRWxldmF0aW9uOmZ1bmN0aW9uKCl7dGhpcy5yYWlzZWQ/aGEuX2NhbGN1bGF0ZUVsZXZhdGlvbi5hcHBseSh0aGlzKTp0aGlzLl9zZXRFbGV2YXRpb24oMCl9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBmYT14ZWAKPGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBodG1sIHsKCiAgICAgIC8qIE1hdGVyaWFsIERlc2lnbiBjb2xvciBwYWxldHRlIGZvciBHb29nbGUgcHJvZHVjdHMgKi8KCiAgICAgIC0tZ29vZ2xlLXJlZC0xMDA6ICNmNGM3YzM7CiAgICAgIC0tZ29vZ2xlLXJlZC0zMDA6ICNlNjdjNzM7CiAgICAgIC0tZ29vZ2xlLXJlZC01MDA6ICNkYjQ0Mzc7CiAgICAgIC0tZ29vZ2xlLXJlZC03MDA6ICNjNTM5Mjk7CgogICAgICAtLWdvb2dsZS1ibHVlLTEwMDogI2M2ZGFmYzsKICAgICAgLS1nb29nbGUtYmx1ZS0zMDA6ICM3YmFhZjc7CiAgICAgIC0tZ29vZ2xlLWJsdWUtNTAwOiAjNDI4NWY0OwogICAgICAtLWdvb2dsZS1ibHVlLTcwMDogIzMzNjdkNjsKCiAgICAgIC0tZ29vZ2xlLWdyZWVuLTEwMDogI2I3ZTFjZDsKICAgICAgLS1nb29nbGUtZ3JlZW4tMzAwOiAjNTdiYjhhOwogICAgICAtLWdvb2dsZS1ncmVlbi01MDA6ICMwZjlkNTg7CiAgICAgIC0tZ29vZ2xlLWdyZWVuLTcwMDogIzBiODA0MzsKCiAgICAgIC0tZ29vZ2xlLXllbGxvdy0xMDA6ICNmY2U4YjI7CiAgICAgIC0tZ29vZ2xlLXllbGxvdy0zMDA6ICNmN2NiNGQ7CiAgICAgIC0tZ29vZ2xlLXllbGxvdy01MDA6ICNmNGI0MDA7CiAgICAgIC0tZ29vZ2xlLXllbGxvdy03MDA6ICNmMDkzMDA7CgogICAgICAtLWdvb2dsZS1ncmV5LTEwMDogI2Y1ZjVmNTsKICAgICAgLS1nb29nbGUtZ3JleS0zMDA6ICNlMGUwZTA7CiAgICAgIC0tZ29vZ2xlLWdyZXktNTAwOiAjOWU5ZTllOwogICAgICAtLWdvb2dsZS1ncmV5LTcwMDogIzYxNjE2MTsKCiAgICAgIC8qIE1hdGVyaWFsIERlc2lnbiBjb2xvciBwYWxldHRlIGZyb20gb25saW5lIHNwZWMgZG9jdW1lbnQgKi8KCiAgICAgIC0tcGFwZXItcmVkLTUwOiAjZmZlYmVlOwogICAgICAtLXBhcGVyLXJlZC0xMDA6ICNmZmNkZDI7CiAgICAgIC0tcGFwZXItcmVkLTIwMDogI2VmOWE5YTsKICAgICAgLS1wYXBlci1yZWQtMzAwOiAjZTU3MzczOwogICAgICAtLXBhcGVyLXJlZC00MDA6ICNlZjUzNTA7CiAgICAgIC0tcGFwZXItcmVkLTUwMDogI2Y0NDMzNjsKICAgICAgLS1wYXBlci1yZWQtNjAwOiAjZTUzOTM1OwogICAgICAtLXBhcGVyLXJlZC03MDA6ICNkMzJmMmY7CiAgICAgIC0tcGFwZXItcmVkLTgwMDogI2M2MjgyODsKICAgICAgLS1wYXBlci1yZWQtOTAwOiAjYjcxYzFjOwogICAgICAtLXBhcGVyLXJlZC1hMTAwOiAjZmY4YTgwOwogICAgICAtLXBhcGVyLXJlZC1hMjAwOiAjZmY1MjUyOwogICAgICAtLXBhcGVyLXJlZC1hNDAwOiAjZmYxNzQ0OwogICAgICAtLXBhcGVyLXJlZC1hNzAwOiAjZDUwMDAwOwoKICAgICAgLS1wYXBlci1waW5rLTUwOiAjZmNlNGVjOwogICAgICAtLXBhcGVyLXBpbmstMTAwOiAjZjhiYmQwOwogICAgICAtLXBhcGVyLXBpbmstMjAwOiAjZjQ4ZmIxOwogICAgICAtLXBhcGVyLXBpbmstMzAwOiAjZjA2MjkyOwogICAgICAtLXBhcGVyLXBpbmstNDAwOiAjZWM0MDdhOwogICAgICAtLXBhcGVyLXBpbmstNTAwOiAjZTkxZTYzOwogICAgICAtLXBhcGVyLXBpbmstNjAwOiAjZDgxYjYwOwogICAgICAtLXBhcGVyLXBpbmstNzAwOiAjYzIxODViOwogICAgICAtLXBhcGVyLXBpbmstODAwOiAjYWQxNDU3OwogICAgICAtLXBhcGVyLXBpbmstOTAwOiAjODgwZTRmOwogICAgICAtLXBhcGVyLXBpbmstYTEwMDogI2ZmODBhYjsKICAgICAgLS1wYXBlci1waW5rLWEyMDA6ICNmZjQwODE7CiAgICAgIC0tcGFwZXItcGluay1hNDAwOiAjZjUwMDU3OwogICAgICAtLXBhcGVyLXBpbmstYTcwMDogI2M1MTE2MjsKCiAgICAgIC0tcGFwZXItcHVycGxlLTUwOiAjZjNlNWY1OwogICAgICAtLXBhcGVyLXB1cnBsZS0xMDA6ICNlMWJlZTc7CiAgICAgIC0tcGFwZXItcHVycGxlLTIwMDogI2NlOTNkODsKICAgICAgLS1wYXBlci1wdXJwbGUtMzAwOiAjYmE2OGM4OwogICAgICAtLXBhcGVyLXB1cnBsZS00MDA6ICNhYjQ3YmM7CiAgICAgIC0tcGFwZXItcHVycGxlLTUwMDogIzljMjdiMDsKICAgICAgLS1wYXBlci1wdXJwbGUtNjAwOiAjOGUyNGFhOwogICAgICAtLXBhcGVyLXB1cnBsZS03MDA6ICM3YjFmYTI7CiAgICAgIC0tcGFwZXItcHVycGxlLTgwMDogIzZhMWI5YTsKICAgICAgLS1wYXBlci1wdXJwbGUtOTAwOiAjNGExNDhjOwogICAgICAtLXBhcGVyLXB1cnBsZS1hMTAwOiAjZWE4MGZjOwogICAgICAtLXBhcGVyLXB1cnBsZS1hMjAwOiAjZTA0MGZiOwogICAgICAtLXBhcGVyLXB1cnBsZS1hNDAwOiAjZDUwMGY5OwogICAgICAtLXBhcGVyLXB1cnBsZS1hNzAwOiAjYWEwMGZmOwoKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS01MDogI2VkZTdmNjsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS0xMDA6ICNkMWM0ZTk7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtMjAwOiAjYjM5ZGRiOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTMwMDogIzk1NzVjZDsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS00MDA6ICM3ZTU3YzI7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtNTAwOiAjNjczYWI3OwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTYwMDogIzVlMzViMTsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS03MDA6ICM1MTJkYTg7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtODAwOiAjNDUyN2EwOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLTkwMDogIzMxMWI5MjsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS1hMTAwOiAjYjM4OGZmOwogICAgICAtLXBhcGVyLWRlZXAtcHVycGxlLWEyMDA6ICM3YzRkZmY7CiAgICAgIC0tcGFwZXItZGVlcC1wdXJwbGUtYTQwMDogIzY1MWZmZjsKICAgICAgLS1wYXBlci1kZWVwLXB1cnBsZS1hNzAwOiAjNjIwMGVhOwoKICAgICAgLS1wYXBlci1pbmRpZ28tNTA6ICNlOGVhZjY7CiAgICAgIC0tcGFwZXItaW5kaWdvLTEwMDogI2M1Y2FlOTsKICAgICAgLS1wYXBlci1pbmRpZ28tMjAwOiAjOWZhOGRhOwogICAgICAtLXBhcGVyLWluZGlnby0zMDA6ICM3OTg2Y2I7CiAgICAgIC0tcGFwZXItaW5kaWdvLTQwMDogIzVjNmJjMDsKICAgICAgLS1wYXBlci1pbmRpZ28tNTAwOiAjM2Y1MWI1OwogICAgICAtLXBhcGVyLWluZGlnby02MDA6ICMzOTQ5YWI7CiAgICAgIC0tcGFwZXItaW5kaWdvLTcwMDogIzMwM2Y5ZjsKICAgICAgLS1wYXBlci1pbmRpZ28tODAwOiAjMjgzNTkzOwogICAgICAtLXBhcGVyLWluZGlnby05MDA6ICMxYTIzN2U7CiAgICAgIC0tcGFwZXItaW5kaWdvLWExMDA6ICM4YzllZmY7CiAgICAgIC0tcGFwZXItaW5kaWdvLWEyMDA6ICM1MzZkZmU7CiAgICAgIC0tcGFwZXItaW5kaWdvLWE0MDA6ICMzZDVhZmU7CiAgICAgIC0tcGFwZXItaW5kaWdvLWE3MDA6ICMzMDRmZmU7CgogICAgICAtLXBhcGVyLWJsdWUtNTA6ICNlM2YyZmQ7CiAgICAgIC0tcGFwZXItYmx1ZS0xMDA6ICNiYmRlZmI7CiAgICAgIC0tcGFwZXItYmx1ZS0yMDA6ICM5MGNhZjk7CiAgICAgIC0tcGFwZXItYmx1ZS0zMDA6ICM2NGI1ZjY7CiAgICAgIC0tcGFwZXItYmx1ZS00MDA6ICM0MmE1ZjU7CiAgICAgIC0tcGFwZXItYmx1ZS01MDA6ICMyMTk2ZjM7CiAgICAgIC0tcGFwZXItYmx1ZS02MDA6ICMxZTg4ZTU7CiAgICAgIC0tcGFwZXItYmx1ZS03MDA6ICMxOTc2ZDI7CiAgICAgIC0tcGFwZXItYmx1ZS04MDA6ICMxNTY1YzA7CiAgICAgIC0tcGFwZXItYmx1ZS05MDA6ICMwZDQ3YTE7CiAgICAgIC0tcGFwZXItYmx1ZS1hMTAwOiAjODJiMWZmOwogICAgICAtLXBhcGVyLWJsdWUtYTIwMDogIzQ0OGFmZjsKICAgICAgLS1wYXBlci1ibHVlLWE0MDA6ICMyOTc5ZmY7CiAgICAgIC0tcGFwZXItYmx1ZS1hNzAwOiAjMjk2MmZmOwoKICAgICAgLS1wYXBlci1saWdodC1ibHVlLTUwOiAjZTFmNWZlOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtMTAwOiAjYjNlNWZjOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtMjAwOiAjODFkNGZhOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtMzAwOiAjNGZjM2Y3OwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtNDAwOiAjMjliNmY2OwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtNTAwOiAjMDNhOWY0OwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtNjAwOiAjMDM5YmU1OwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtNzAwOiAjMDI4OGQxOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtODAwOiAjMDI3N2JkOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtOTAwOiAjMDE1NzliOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtYTEwMDogIzgwZDhmZjsKICAgICAgLS1wYXBlci1saWdodC1ibHVlLWEyMDA6ICM0MGM0ZmY7CiAgICAgIC0tcGFwZXItbGlnaHQtYmx1ZS1hNDAwOiAjMDBiMGZmOwogICAgICAtLXBhcGVyLWxpZ2h0LWJsdWUtYTcwMDogIzAwOTFlYTsKCiAgICAgIC0tcGFwZXItY3lhbi01MDogI2UwZjdmYTsKICAgICAgLS1wYXBlci1jeWFuLTEwMDogI2IyZWJmMjsKICAgICAgLS1wYXBlci1jeWFuLTIwMDogIzgwZGVlYTsKICAgICAgLS1wYXBlci1jeWFuLTMwMDogIzRkZDBlMTsKICAgICAgLS1wYXBlci1jeWFuLTQwMDogIzI2YzZkYTsKICAgICAgLS1wYXBlci1jeWFuLTUwMDogIzAwYmNkNDsKICAgICAgLS1wYXBlci1jeWFuLTYwMDogIzAwYWNjMTsKICAgICAgLS1wYXBlci1jeWFuLTcwMDogIzAwOTdhNzsKICAgICAgLS1wYXBlci1jeWFuLTgwMDogIzAwODM4ZjsKICAgICAgLS1wYXBlci1jeWFuLTkwMDogIzAwNjA2NDsKICAgICAgLS1wYXBlci1jeWFuLWExMDA6ICM4NGZmZmY7CiAgICAgIC0tcGFwZXItY3lhbi1hMjAwOiAjMThmZmZmOwogICAgICAtLXBhcGVyLWN5YW4tYTQwMDogIzAwZTVmZjsKICAgICAgLS1wYXBlci1jeWFuLWE3MDA6ICMwMGI4ZDQ7CgogICAgICAtLXBhcGVyLXRlYWwtNTA6ICNlMGYyZjE7CiAgICAgIC0tcGFwZXItdGVhbC0xMDA6ICNiMmRmZGI7CiAgICAgIC0tcGFwZXItdGVhbC0yMDA6ICM4MGNiYzQ7CiAgICAgIC0tcGFwZXItdGVhbC0zMDA6ICM0ZGI2YWM7CiAgICAgIC0tcGFwZXItdGVhbC00MDA6ICMyNmE2OWE7CiAgICAgIC0tcGFwZXItdGVhbC01MDA6ICMwMDk2ODg7CiAgICAgIC0tcGFwZXItdGVhbC02MDA6ICMwMDg5N2I7CiAgICAgIC0tcGFwZXItdGVhbC03MDA6ICMwMDc5NmI7CiAgICAgIC0tcGFwZXItdGVhbC04MDA6ICMwMDY5NWM7CiAgICAgIC0tcGFwZXItdGVhbC05MDA6ICMwMDRkNDA7CiAgICAgIC0tcGFwZXItdGVhbC1hMTAwOiAjYTdmZmViOwogICAgICAtLXBhcGVyLXRlYWwtYTIwMDogIzY0ZmZkYTsKICAgICAgLS1wYXBlci10ZWFsLWE0MDA6ICMxZGU5YjY7CiAgICAgIC0tcGFwZXItdGVhbC1hNzAwOiAjMDBiZmE1OwoKICAgICAgLS1wYXBlci1ncmVlbi01MDogI2U4ZjVlOTsKICAgICAgLS1wYXBlci1ncmVlbi0xMDA6ICNjOGU2Yzk7CiAgICAgIC0tcGFwZXItZ3JlZW4tMjAwOiAjYTVkNmE3OwogICAgICAtLXBhcGVyLWdyZWVuLTMwMDogIzgxYzc4NDsKICAgICAgLS1wYXBlci1ncmVlbi00MDA6ICM2NmJiNmE7CiAgICAgIC0tcGFwZXItZ3JlZW4tNTAwOiAjNGNhZjUwOwogICAgICAtLXBhcGVyLWdyZWVuLTYwMDogIzQzYTA0NzsKICAgICAgLS1wYXBlci1ncmVlbi03MDA6ICMzODhlM2M7CiAgICAgIC0tcGFwZXItZ3JlZW4tODAwOiAjMmU3ZDMyOwogICAgICAtLXBhcGVyLWdyZWVuLTkwMDogIzFiNWUyMDsKICAgICAgLS1wYXBlci1ncmVlbi1hMTAwOiAjYjlmNmNhOwogICAgICAtLXBhcGVyLWdyZWVuLWEyMDA6ICM2OWYwYWU7CiAgICAgIC0tcGFwZXItZ3JlZW4tYTQwMDogIzAwZTY3NjsKICAgICAgLS1wYXBlci1ncmVlbi1hNzAwOiAjMDBjODUzOwoKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi01MDogI2YxZjhlOTsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi0xMDA6ICNkY2VkYzg7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tMjAwOiAjYzVlMWE1OwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTMwMDogI2FlZDU4MTsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi00MDA6ICM5Y2NjNjU7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tNTAwOiAjOGJjMzRhOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTYwMDogIzdjYjM0MjsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi03MDA6ICM2ODlmMzg7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tODAwOiAjNTU4YjJmOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLTkwMDogIzMzNjkxZTsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi1hMTAwOiAjY2NmZjkwOwogICAgICAtLXBhcGVyLWxpZ2h0LWdyZWVuLWEyMDA6ICNiMmZmNTk7CiAgICAgIC0tcGFwZXItbGlnaHQtZ3JlZW4tYTQwMDogIzc2ZmYwMzsKICAgICAgLS1wYXBlci1saWdodC1ncmVlbi1hNzAwOiAjNjRkZDE3OwoKICAgICAgLS1wYXBlci1saW1lLTUwOiAjZjlmYmU3OwogICAgICAtLXBhcGVyLWxpbWUtMTAwOiAjZjBmNGMzOwogICAgICAtLXBhcGVyLWxpbWUtMjAwOiAjZTZlZTljOwogICAgICAtLXBhcGVyLWxpbWUtMzAwOiAjZGNlNzc1OwogICAgICAtLXBhcGVyLWxpbWUtNDAwOiAjZDRlMTU3OwogICAgICAtLXBhcGVyLWxpbWUtNTAwOiAjY2RkYzM5OwogICAgICAtLXBhcGVyLWxpbWUtNjAwOiAjYzBjYTMzOwogICAgICAtLXBhcGVyLWxpbWUtNzAwOiAjYWZiNDJiOwogICAgICAtLXBhcGVyLWxpbWUtODAwOiAjOWU5ZDI0OwogICAgICAtLXBhcGVyLWxpbWUtOTAwOiAjODI3NzE3OwogICAgICAtLXBhcGVyLWxpbWUtYTEwMDogI2Y0ZmY4MTsKICAgICAgLS1wYXBlci1saW1lLWEyMDA6ICNlZWZmNDE7CiAgICAgIC0tcGFwZXItbGltZS1hNDAwOiAjYzZmZjAwOwogICAgICAtLXBhcGVyLWxpbWUtYTcwMDogI2FlZWEwMDsKCiAgICAgIC0tcGFwZXIteWVsbG93LTUwOiAjZmZmZGU3OwogICAgICAtLXBhcGVyLXllbGxvdy0xMDA6ICNmZmY5YzQ7CiAgICAgIC0tcGFwZXIteWVsbG93LTIwMDogI2ZmZjU5ZDsKICAgICAgLS1wYXBlci15ZWxsb3ctMzAwOiAjZmZmMTc2OwogICAgICAtLXBhcGVyLXllbGxvdy00MDA6ICNmZmVlNTg7CiAgICAgIC0tcGFwZXIteWVsbG93LTUwMDogI2ZmZWIzYjsKICAgICAgLS1wYXBlci15ZWxsb3ctNjAwOiAjZmRkODM1OwogICAgICAtLXBhcGVyLXllbGxvdy03MDA6ICNmYmMwMmQ7CiAgICAgIC0tcGFwZXIteWVsbG93LTgwMDogI2Y5YTgyNTsKICAgICAgLS1wYXBlci15ZWxsb3ctOTAwOiAjZjU3ZjE3OwogICAgICAtLXBhcGVyLXllbGxvdy1hMTAwOiAjZmZmZjhkOwogICAgICAtLXBhcGVyLXllbGxvdy1hMjAwOiAjZmZmZjAwOwogICAgICAtLXBhcGVyLXllbGxvdy1hNDAwOiAjZmZlYTAwOwogICAgICAtLXBhcGVyLXllbGxvdy1hNzAwOiAjZmZkNjAwOwoKICAgICAgLS1wYXBlci1hbWJlci01MDogI2ZmZjhlMTsKICAgICAgLS1wYXBlci1hbWJlci0xMDA6ICNmZmVjYjM7CiAgICAgIC0tcGFwZXItYW1iZXItMjAwOiAjZmZlMDgyOwogICAgICAtLXBhcGVyLWFtYmVyLTMwMDogI2ZmZDU0ZjsKICAgICAgLS1wYXBlci1hbWJlci00MDA6ICNmZmNhMjg7CiAgICAgIC0tcGFwZXItYW1iZXItNTAwOiAjZmZjMTA3OwogICAgICAtLXBhcGVyLWFtYmVyLTYwMDogI2ZmYjMwMDsKICAgICAgLS1wYXBlci1hbWJlci03MDA6ICNmZmEwMDA7CiAgICAgIC0tcGFwZXItYW1iZXItODAwOiAjZmY4ZjAwOwogICAgICAtLXBhcGVyLWFtYmVyLTkwMDogI2ZmNmYwMDsKICAgICAgLS1wYXBlci1hbWJlci1hMTAwOiAjZmZlNTdmOwogICAgICAtLXBhcGVyLWFtYmVyLWEyMDA6ICNmZmQ3NDA7CiAgICAgIC0tcGFwZXItYW1iZXItYTQwMDogI2ZmYzQwMDsKICAgICAgLS1wYXBlci1hbWJlci1hNzAwOiAjZmZhYjAwOwoKICAgICAgLS1wYXBlci1vcmFuZ2UtNTA6ICNmZmYzZTA7CiAgICAgIC0tcGFwZXItb3JhbmdlLTEwMDogI2ZmZTBiMjsKICAgICAgLS1wYXBlci1vcmFuZ2UtMjAwOiAjZmZjYzgwOwogICAgICAtLXBhcGVyLW9yYW5nZS0zMDA6ICNmZmI3NGQ7CiAgICAgIC0tcGFwZXItb3JhbmdlLTQwMDogI2ZmYTcyNjsKICAgICAgLS1wYXBlci1vcmFuZ2UtNTAwOiAjZmY5ODAwOwogICAgICAtLXBhcGVyLW9yYW5nZS02MDA6ICNmYjhjMDA7CiAgICAgIC0tcGFwZXItb3JhbmdlLTcwMDogI2Y1N2MwMDsKICAgICAgLS1wYXBlci1vcmFuZ2UtODAwOiAjZWY2YzAwOwogICAgICAtLXBhcGVyLW9yYW5nZS05MDA6ICNlNjUxMDA7CiAgICAgIC0tcGFwZXItb3JhbmdlLWExMDA6ICNmZmQxODA7CiAgICAgIC0tcGFwZXItb3JhbmdlLWEyMDA6ICNmZmFiNDA7CiAgICAgIC0tcGFwZXItb3JhbmdlLWE0MDA6ICNmZjkxMDA7CiAgICAgIC0tcGFwZXItb3JhbmdlLWE3MDA6ICNmZjY1MDA7CgogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTUwOiAjZmJlOWU3OwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTEwMDogI2ZmY2NiYzsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS0yMDA6ICNmZmFiOTE7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtMzAwOiAjZmY4YTY1OwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTQwMDogI2ZmNzA0MzsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS01MDA6ICNmZjU3MjI7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtNjAwOiAjZjQ1MTFlOwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLTcwMDogI2U2NGExOTsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS04MDA6ICNkODQzMTU7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtOTAwOiAjYmYzNjBjOwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLWExMDA6ICNmZjllODA7CiAgICAgIC0tcGFwZXItZGVlcC1vcmFuZ2UtYTIwMDogI2ZmNmU0MDsKICAgICAgLS1wYXBlci1kZWVwLW9yYW5nZS1hNDAwOiAjZmYzZDAwOwogICAgICAtLXBhcGVyLWRlZXAtb3JhbmdlLWE3MDA6ICNkZDJjMDA7CgogICAgICAtLXBhcGVyLWJyb3duLTUwOiAjZWZlYmU5OwogICAgICAtLXBhcGVyLWJyb3duLTEwMDogI2Q3Y2NjODsKICAgICAgLS1wYXBlci1icm93bi0yMDA6ICNiY2FhYTQ7CiAgICAgIC0tcGFwZXItYnJvd24tMzAwOiAjYTE4ODdmOwogICAgICAtLXBhcGVyLWJyb3duLTQwMDogIzhkNmU2MzsKICAgICAgLS1wYXBlci1icm93bi01MDA6ICM3OTU1NDg7CiAgICAgIC0tcGFwZXItYnJvd24tNjAwOiAjNmQ0YzQxOwogICAgICAtLXBhcGVyLWJyb3duLTcwMDogIzVkNDAzNzsKICAgICAgLS1wYXBlci1icm93bi04MDA6ICM0ZTM0MmU7CiAgICAgIC0tcGFwZXItYnJvd24tOTAwOiAjM2UyNzIzOwoKICAgICAgLS1wYXBlci1ncmV5LTUwOiAjZmFmYWZhOwogICAgICAtLXBhcGVyLWdyZXktMTAwOiAjZjVmNWY1OwogICAgICAtLXBhcGVyLWdyZXktMjAwOiAjZWVlZWVlOwogICAgICAtLXBhcGVyLWdyZXktMzAwOiAjZTBlMGUwOwogICAgICAtLXBhcGVyLWdyZXktNDAwOiAjYmRiZGJkOwogICAgICAtLXBhcGVyLWdyZXktNTAwOiAjOWU5ZTllOwogICAgICAtLXBhcGVyLWdyZXktNjAwOiAjNzU3NTc1OwogICAgICAtLXBhcGVyLWdyZXktNzAwOiAjNjE2MTYxOwogICAgICAtLXBhcGVyLWdyZXktODAwOiAjNDI0MjQyOwogICAgICAtLXBhcGVyLWdyZXktOTAwOiAjMjEyMTIxOwoKICAgICAgLS1wYXBlci1ibHVlLWdyZXktNTA6ICNlY2VmZjE7CiAgICAgIC0tcGFwZXItYmx1ZS1ncmV5LTEwMDogI2NmZDhkYzsKICAgICAgLS1wYXBlci1ibHVlLWdyZXktMjAwOiAjYjBiZWM1OwogICAgICAtLXBhcGVyLWJsdWUtZ3JleS0zMDA6ICM5MGE0YWU7CiAgICAgIC0tcGFwZXItYmx1ZS1ncmV5LTQwMDogIzc4OTA5YzsKICAgICAgLS1wYXBlci1ibHVlLWdyZXktNTAwOiAjNjA3ZDhiOwogICAgICAtLXBhcGVyLWJsdWUtZ3JleS02MDA6ICM1NDZlN2E7CiAgICAgIC0tcGFwZXItYmx1ZS1ncmV5LTcwMDogIzQ1NWE2NDsKICAgICAgLS1wYXBlci1ibHVlLWdyZXktODAwOiAjMzc0NzRmOwogICAgICAtLXBhcGVyLWJsdWUtZ3JleS05MDA6ICMyNjMyMzg7CgogICAgICAvKiBvcGFjaXR5IGZvciBkYXJrIHRleHQgb24gYSBsaWdodCBiYWNrZ3JvdW5kICovCiAgICAgIC0tZGFyay1kaXZpZGVyLW9wYWNpdHk6IDAuMTI7CiAgICAgIC0tZGFyay1kaXNhYmxlZC1vcGFjaXR5OiAwLjM4OyAvKiBvciBoaW50IHRleHQgb3IgaWNvbiAqLwogICAgICAtLWRhcmstc2Vjb25kYXJ5LW9wYWNpdHk6IDAuNTQ7CiAgICAgIC0tZGFyay1wcmltYXJ5LW9wYWNpdHk6IDAuODc7CgogICAgICAvKiBvcGFjaXR5IGZvciBsaWdodCB0ZXh0IG9uIGEgZGFyayBiYWNrZ3JvdW5kICovCiAgICAgIC0tbGlnaHQtZGl2aWRlci1vcGFjaXR5OiAwLjEyOwogICAgICAtLWxpZ2h0LWRpc2FibGVkLW9wYWNpdHk6IDAuMzsgLyogb3IgaGludCB0ZXh0IG9yIGljb24gKi8KICAgICAgLS1saWdodC1zZWNvbmRhcnktb3BhY2l0eTogMC43OwogICAgICAtLWxpZ2h0LXByaW1hcnktb3BhY2l0eTogMS4wOwoKICAgIH0KCiAgPC9zdHlsZT4KPC9jdXN0b20tc3R5bGU+CmA7ZmEuc2V0QXR0cmlidXRlKCJzdHlsZSIsImRpc3BsYXk6IG5vbmU7IiksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChmYS5jb250ZW50KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IG1hPXhlYAo8Y3VzdG9tLXN0eWxlPgogIDxzdHlsZSBpcz0iY3VzdG9tLXN0eWxlIj4KICAgIGh0bWwgewogICAgICAvKgogICAgICAgKiBZb3UgY2FuIHVzZSB0aGVzZSBnZW5lcmljIHZhcmlhYmxlcyBpbiB5b3VyIGVsZW1lbnRzIGZvciBlYXN5IHRoZW1pbmcuCiAgICAgICAqIEZvciBleGFtcGxlLCBpZiBhbGwgeW91ciBlbGVtZW50cyB1c2UgXGAtLXByaW1hcnktdGV4dC1jb2xvclxgIGFzIGl0cyBtYWluCiAgICAgICAqIGNvbG9yLCB0aGVuIHN3aXRjaGluZyBmcm9tIGEgbGlnaHQgdG8gYSBkYXJrIHRoZW1lIGlzIGp1c3QgYSBtYXR0ZXIgb2YKICAgICAgICogY2hhbmdpbmcgdGhlIHZhbHVlIG9mIFxgLS1wcmltYXJ5LXRleHQtY29sb3JcYCBpbiB5b3VyIGFwcGxpY2F0aW9uLgogICAgICAgKi8KICAgICAgLS1wcmltYXJ5LXRleHQtY29sb3I6IHZhcigtLWxpZ2h0LXRoZW1lLXRleHQtY29sb3IpOwogICAgICAtLXByaW1hcnktYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtdGhlbWUtYmFja2dyb3VuZC1jb2xvcik7CiAgICAgIC0tc2Vjb25kYXJ5LXRleHQtY29sb3I6IHZhcigtLWxpZ2h0LXRoZW1lLXNlY29uZGFyeS1jb2xvcik7CiAgICAgIC0tZGlzYWJsZWQtdGV4dC1jb2xvcjogdmFyKC0tbGlnaHQtdGhlbWUtZGlzYWJsZWQtY29sb3IpOwogICAgICAtLWRpdmlkZXItY29sb3I6IHZhcigtLWxpZ2h0LXRoZW1lLWRpdmlkZXItY29sb3IpOwogICAgICAtLWVycm9yLWNvbG9yOiB2YXIoLS1wYXBlci1kZWVwLW9yYW5nZS1hNzAwKTsKCiAgICAgIC8qCiAgICAgICAqIFByaW1hcnkgYW5kIGFjY2VudCBjb2xvcnMuIEFsc28gc2VlIGNvbG9yLmpzIGZvciBtb3JlIGNvbG9ycy4KICAgICAgICovCiAgICAgIC0tcHJpbWFyeS1jb2xvcjogdmFyKC0tcGFwZXItaW5kaWdvLTUwMCk7CiAgICAgIC0tbGlnaHQtcHJpbWFyeS1jb2xvcjogdmFyKC0tcGFwZXItaW5kaWdvLTEwMCk7CiAgICAgIC0tZGFyay1wcmltYXJ5LWNvbG9yOiB2YXIoLS1wYXBlci1pbmRpZ28tNzAwKTsKCiAgICAgIC0tYWNjZW50LWNvbG9yOiB2YXIoLS1wYXBlci1waW5rLWEyMDApOwogICAgICAtLWxpZ2h0LWFjY2VudC1jb2xvcjogdmFyKC0tcGFwZXItcGluay1hMTAwKTsKICAgICAgLS1kYXJrLWFjY2VudC1jb2xvcjogdmFyKC0tcGFwZXItcGluay1hNDAwKTsKCgogICAgICAvKgogICAgICAgKiBNYXRlcmlhbCBEZXNpZ24gTGlnaHQgYmFja2dyb3VuZCB0aGVtZQogICAgICAgKi8KICAgICAgLS1saWdodC10aGVtZS1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOwogICAgICAtLWxpZ2h0LXRoZW1lLWJhc2UtY29sb3I6ICMwMDAwMDA7CiAgICAgIC0tbGlnaHQtdGhlbWUtdGV4dC1jb2xvcjogdmFyKC0tcGFwZXItZ3JleS05MDApOwogICAgICAtLWxpZ2h0LXRoZW1lLXNlY29uZGFyeS1jb2xvcjogIzczNzM3MzsgIC8qIGZvciBzZWNvbmRhcnkgdGV4dCBhbmQgaWNvbnMgKi8KICAgICAgLS1saWdodC10aGVtZS1kaXNhYmxlZC1jb2xvcjogIzliOWI5YjsgIC8qIGRpc2FibGVkL2hpbnQgdGV4dCAqLwogICAgICAtLWxpZ2h0LXRoZW1lLWRpdmlkZXItY29sb3I6ICNkYmRiZGI7CgogICAgICAvKgogICAgICAgKiBNYXRlcmlhbCBEZXNpZ24gRGFyayBiYWNrZ3JvdW5kIHRoZW1lCiAgICAgICAqLwogICAgICAtLWRhcmstdGhlbWUtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItZ3JleS05MDApOwogICAgICAtLWRhcmstdGhlbWUtYmFzZS1jb2xvcjogI2ZmZmZmZjsKICAgICAgLS1kYXJrLXRoZW1lLXRleHQtY29sb3I6ICNmZmZmZmY7CiAgICAgIC0tZGFyay10aGVtZS1zZWNvbmRhcnktY29sb3I6ICNiY2JjYmM7ICAvKiBmb3Igc2Vjb25kYXJ5IHRleHQgYW5kIGljb25zICovCiAgICAgIC0tZGFyay10aGVtZS1kaXNhYmxlZC1jb2xvcjogIzY0NjQ2NDsgIC8qIGRpc2FibGVkL2hpbnQgdGV4dCAqLwogICAgICAtLWRhcmstdGhlbWUtZGl2aWRlci1jb2xvcjogIzNjM2MzYzsKCiAgICAgIC8qCiAgICAgICAqIERlcHJlY2F0ZWQgdmFsdWVzIGJlY2F1c2Ugb2YgdGhlaXIgY29uZnVzaW5nIG5hbWVzLgogICAgICAgKi8KICAgICAgLS10ZXh0LXByaW1hcnktY29sb3I6IHZhcigtLWRhcmstdGhlbWUtdGV4dC1jb2xvcik7CiAgICAgIC0tZGVmYXVsdC1wcmltYXJ5LWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTsKICAgIH0KICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT5gO21hLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJkaXNwbGF5OiBub25lOyIpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobWEuY29udGVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBnYT17cHJvcGVydGllczp7bmFtZTp7dHlwZTpTdHJpbmd9LHZhbHVlOntub3RpZnk6ITAsdHlwZTpTdHJpbmd9LHJlcXVpcmVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxhdHRhY2hlZDpmdW5jdGlvbigpe30sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt9fTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovbGV0IF9hPW51bGw7Y29uc3QgeWE9e3Byb3BlcnRpZXM6e3ZhbGlkYXRvcjp7dHlwZTpTdHJpbmd9LGludmFsaWQ6e25vdGlmeTohMCxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfaW52YWxpZENoYW5nZWQifX0scmVnaXN0ZXJlZDpmdW5jdGlvbigpe19hPW5ldyBObyh7dHlwZToidmFsaWRhdG9yIn0pfSxfaW52YWxpZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmludmFsaWQ/dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIsInRydWUiKTp0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIil9LGdldCBfdmFsaWRhdG9yKCl7cmV0dXJuIF9hJiZfYS5ieUtleSh0aGlzLnZhbGlkYXRvcil9LGhhc1ZhbGlkYXRvcjpmdW5jdGlvbigpe3JldHVybiBudWxsIT10aGlzLl92YWxpZGF0b3J9LHZhbGlkYXRlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmludmFsaWQ9dm9pZCAwPT09dCYmdm9pZCAwIT09dGhpcy52YWx1ZT8hdGhpcy5fZ2V0VmFsaWRpdHkodGhpcy52YWx1ZSk6IXRoaXMuX2dldFZhbGlkaXR5KHQpLCF0aGlzLmludmFsaWR9LF9nZXRWYWxpZGl0eTpmdW5jdGlvbih0KXtyZXR1cm4hdGhpcy5oYXNWYWxpZGF0b3IoKXx8dGhpcy5fdmFsaWRhdG9yLnZhbGlkYXRlKHQpfX0sdmE9e3Byb3BlcnRpZXM6e2NoZWNrZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsbm90aWZ5OiEwLG9ic2VydmVyOiJfY2hlY2tlZENoYW5nZWQifSx0b2dnbGVzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwfSx2YWx1ZTp7dHlwZTpTdHJpbmcsdmFsdWU6Im9uIixvYnNlcnZlcjoiX3ZhbHVlQ2hhbmdlZCJ9fSxvYnNlcnZlcnM6WyJfcmVxdWlyZWRDaGFuZ2VkKHJlcXVpcmVkKSJdLGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9oYXNJcm9uQ2hlY2tlZEVsZW1lbnRCZWhhdmlvcj0hMH0sX2dldFZhbGlkaXR5OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpc2FibGVkfHwhdGhpcy5yZXF1aXJlZHx8dGhpcy5jaGVja2VkfSxfcmVxdWlyZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5yZXF1aXJlZD90aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1yZXF1aXJlZCIsInRydWUiKTp0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1yZXF1aXJlZCIpfSxfY2hlY2tlZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmFjdGl2ZT10aGlzLmNoZWNrZWQsdGhpcy5maXJlKCJpcm9uLWNoYW5nZSIpfSxfdmFsdWVDaGFuZ2VkOmZ1bmN0aW9uKCl7bnVsbD09dGhpcy52YWx1ZSYmKHRoaXMudmFsdWU9Im9uIil9fSxiYT17b2JzZXJ2ZXJzOlsiX2ZvY3VzZWRDaGFuZ2VkKHJlY2VpdmVkRm9jdXNGcm9tS2V5Ym9hcmQpIl0sX2ZvY3VzZWRDaGFuZ2VkOmZ1bmN0aW9uKHQpe3QmJnRoaXMuZW5zdXJlUmlwcGxlKCksdGhpcy5oYXNSaXBwbGUoKSYmKHRoaXMuX3JpcHBsZS5ob2xkRG93bj10KX0sX2NyZWF0ZVJpcHBsZTpmdW5jdGlvbigpe3ZhciB0PXVhLl9jcmVhdGVSaXBwbGUoKTtyZXR1cm4gdC5pZD0iaW5rIix0LnNldEF0dHJpYnV0ZSgiY2VudGVyIiwiIiksdC5jbGFzc0xpc3QuYWRkKCJjaXJjbGUiKSx0fX0seGE9W2FhLHJhLHVhLGJhXSx3YT1beGEsW2dhLHlhLHZhXSx7X2NoZWNrZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dmEuX2NoZWNrZWRDaGFuZ2VkLmNhbGwodGhpcyksdGhpcy5oYXNSaXBwbGUoKSYmKHRoaXMuY2hlY2tlZD90aGlzLl9yaXBwbGUuc2V0QXR0cmlidXRlKCJjaGVja2VkIiwiIik6dGhpcy5fcmlwcGxlLnJlbW92ZUF0dHJpYnV0ZSgiY2hlY2tlZCIpKX0sX2J1dHRvblN0YXRlQ2hhbmdlZDpmdW5jdGlvbigpe3VhLl9idXR0b25TdGF0ZUNoYW5nZWQuY2FsbCh0aGlzKSx0aGlzLmRpc2FibGVkfHx0aGlzLmlzQXR0YWNoZWQmJih0aGlzLmNoZWNrZWQ9dGhpcy5hY3RpdmUpfX1dLFNhPXhlYDxzdHlsZT4KICA6aG9zdCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LXNpemU6IHZhcigtLXBhcGVyLWNoZWNrYm94LXNpemUsIDE4cHgpOwogICAgLyogLTFweCBpcyBhIHNlbnRpbmVsIGZvciB0aGUgZGVmYXVsdCBhbmQgaXMgcmVwbGFjZWQgaW4gXGBhdHRhY2hlZFxgLiAqLwogICAgLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplOiB2YXIoLS1wYXBlci1jaGVja2JveC1pbmstc2l6ZSwgLTFweCk7CiAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgbGluZS1oZWlnaHQ6IDA7CiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwogIH0KCiAgOmhvc3QoW2hpZGRlbl0pIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICB9CgogIDpob3N0KDpmb2N1cykgewogICAgb3V0bGluZTogbm9uZTsKICB9CgogIC5oaWRkZW4gewogICAgZGlzcGxheTogbm9uZTsKICB9CgogICNjaGVja2JveENvbnRhaW5lciB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1zaXplKTsKICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1zaXplKTsKICAgIG1pbi13aWR0aDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1zaXplKTsKICAgIG1hcmdpbjogdmFyKC0tcGFwZXItY2hlY2tib3gtbWFyZ2luLCBpbml0aWFsKTsKICAgIHZlcnRpY2FsLWFsaWduOiB2YXIoLS1wYXBlci1jaGVja2JveC12ZXJ0aWNhbC1hbGlnbiwgbWlkZGxlKTsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCk7CiAgfQoKICAjaW5rIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKCiAgICAvKiBDZW50ZXIgdGhlIHJpcHBsZSBpbiB0aGUgY2hlY2tib3ggYnkgbmVnYXRpdmUgb2Zmc2V0dGluZyBpdCBieQogICAgICogKGlua1dpZHRoIC0gcmlwcGxlV2lkdGgpIC8gMiAqLwogICAgdG9wOiBjYWxjKDBweCAtICh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplKSAtIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSkpIC8gMik7CiAgICBsZWZ0OiBjYWxjKDBweCAtICh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplKSAtIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSkpIC8gMik7CiAgICB3aWR0aDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1pbmstc2l6ZSk7CiAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtaW5rLXNpemUpOwogICAgY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3IsIHZhcigtLXByaW1hcnktdGV4dC1jb2xvcikpOwogICAgb3BhY2l0eTogMC42OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgfQoKICAjaW5rOmRpcihydGwpIHsKICAgIHJpZ2h0OiBjYWxjKDBweCAtICh2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLWNoZWNrYm94LWluay1zaXplKSAtIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSkpIC8gMik7CiAgICBsZWZ0OiBhdXRvOwogIH0KCiAgI2lua1tjaGVja2VkXSB7CiAgICBjb2xvcjogdmFyKC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1pbmstY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IpKTsKICB9CgogICNjaGVja2JveCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgaGVpZ2h0OiAxMDAlOwogICAgYm9yZGVyOiBzb2xpZCAycHg7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNDBtcywgYm9yZGVyLWNvbG9yIDE0MG1zOwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNDBtcywgYm9yZGVyLWNvbG9yIDE0MG1zOwoKICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItY2hlY2tib3gtYW5pbWF0aW9uLWR1cmF0aW9uLCAxNDBtcyk7CiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci1jaGVja2JveC1hbmltYXRpb24tZHVyYXRpb24sIDE0MG1zKTsKICB9CgogIC8qIGNoZWNrYm94IGNoZWNrZWQgYW5pbWF0aW9ucyAqLwogICNjaGVja2JveC5jaGVja2VkICNjaGVja21hcmsgewogICAgLXdlYmtpdC1hbmltYXRpb246IGNoZWNrbWFyay1leHBhbmQgMTQwbXMgZWFzZS1vdXQgZm9yd2FyZHM7CiAgICBhbmltYXRpb246IGNoZWNrbWFyay1leHBhbmQgMTQwbXMgZWFzZS1vdXQgZm9yd2FyZHM7CgogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLWNoZWNrYm94LWFuaW1hdGlvbi1kdXJhdGlvbiwgMTQwbXMpOwogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci1jaGVja2JveC1hbmltYXRpb24tZHVyYXRpb24sIDE0MG1zKTsKICB9CgogIEAtd2Via2l0LWtleWZyYW1lcyBjaGVja21hcmstZXhwYW5kIHsKICAgIDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAsIDApIHJvdGF0ZSg0NWRlZyk7CiAgICB9CiAgICAxMDAlIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHJvdGF0ZSg0NWRlZyk7CiAgICB9CiAgfQoKICBAa2V5ZnJhbWVzIGNoZWNrbWFyay1leHBhbmQgewogICAgMCUgewogICAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApIHJvdGF0ZSg0NWRlZyk7CiAgICB9CiAgICAxMDAlIHsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSByb3RhdGUoNDVkZWcpOwogICAgfQogIH0KCiAgI2NoZWNrYm94LmNoZWNrZWQgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CiAgfQoKICAjY2hlY2ttYXJrIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHdpZHRoOiAzNiU7CiAgICBoZWlnaHQ6IDcwJTsKICAgIGJvcmRlci1zdHlsZTogc29saWQ7CiAgICBib3JkZXItdG9wOiBub25lOwogICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICBib3JkZXItcmlnaHQtd2lkdGg6IGNhbGMoMi8xNSAqIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSkpOwogICAgYm9yZGVyLWJvdHRvbS13aWR0aDogY2FsYygyLzE1ICogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1jaGVja2JveC1zaXplKSk7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LWNoZWNrbWFyay1jb2xvciwgd2hpdGUpOwogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA5NyUgODYlOwogICAgdHJhbnNmb3JtLW9yaWdpbjogOTclIDg2JTsKICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiBwcm90ZWN0IGFnYWluc3QgcGFnZS1sZXZlbCBib3gtc2l6aW5nICovCiAgfQoKICAjY2hlY2ttYXJrOmRpcihydGwpIHsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDE0JTsKICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxNCU7CiAgfQoKICAvKiBsYWJlbCAqLwogICNjaGVja2JveExhYmVsIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLXNwYWNpbmcsIDhweCk7CiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgIGNvbG9yOiB2YXIoLS1wYXBlci1jaGVja2JveC1sYWJlbC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICBAYXBwbHkgLS1wYXBlci1jaGVja2JveC1sYWJlbDsKICB9CgogIDpob3N0KFtjaGVja2VkXSkgI2NoZWNrYm94TGFiZWwgewogICAgY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLWNoZWNrZWQtY29sb3IsIHZhcigtLXBhcGVyLWNoZWNrYm94LWxhYmVsLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKSk7CiAgICBAYXBwbHkgLS1wYXBlci1jaGVja2JveC1sYWJlbC1jaGVja2VkOwogIH0KCiAgI2NoZWNrYm94TGFiZWw6ZGlyKHJ0bCkgewogICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFwZXItY2hlY2tib3gtbGFiZWwtc3BhY2luZywgOHB4KTsKICAgIHBhZGRpbmctbGVmdDogMDsKICB9CgogICNjaGVja2JveExhYmVsW2hpZGRlbl0gewogICAgZGlzcGxheTogbm9uZTsKICB9CgogIC8qIGRpc2FibGVkIHN0YXRlICovCgogIDpob3N0KFtkaXNhYmxlZF0pICNjaGVja2JveCB7CiAgICBvcGFjaXR5OiAwLjU7CiAgICBib3JkZXItY29sb3I6IHZhcigtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgfQoKICA6aG9zdChbZGlzYWJsZWRdW2NoZWNrZWRdKSAjY2hlY2tib3ggewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgIG9wYWNpdHk6IDAuNTsKICB9CgogIDpob3N0KFtkaXNhYmxlZF0pICNjaGVja2JveExhYmVsICB7CiAgICBvcGFjaXR5OiAwLjY1OwogIH0KCiAgLyogaW52YWxpZCBzdGF0ZSAqLwogICNjaGVja2JveC5pbnZhbGlkOm5vdCguY2hlY2tlZCkgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1jaGVja2JveC1lcnJvci1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICB9Cjwvc3R5bGU+Cgo8ZGl2IGlkPSJjaGVja2JveENvbnRhaW5lciI+CiAgPGRpdiBpZD0iY2hlY2tib3giIGNsYXNzJD0iW1tfY29tcHV0ZUNoZWNrYm94Q2xhc3MoY2hlY2tlZCwgaW52YWxpZCldXSI+CiAgICA8ZGl2IGlkPSJjaGVja21hcmsiIGNsYXNzJD0iW1tfY29tcHV0ZUNoZWNrbWFya0NsYXNzKGNoZWNrZWQpXV0iPjwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgaWQ9ImNoZWNrYm94TGFiZWwiPjxzbG90Pjwvc2xvdD48L2Rpdj5gOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmlmKFNhLnNldEF0dHJpYnV0ZSgic3RyaXAtd2hpdGVzcGFjZSIsIiIpLGpyKHtfdGVtcGxhdGU6U2EsaXM6InBhcGVyLWNoZWNrYm94IixiZWhhdmlvcnM6W3dhXSxob3N0QXR0cmlidXRlczp7cm9sZToiY2hlY2tib3giLCJhcmlhLWNoZWNrZWQiOiExLHRhYmluZGV4OjB9LHByb3BlcnRpZXM6e2FyaWFBY3RpdmVBdHRyaWJ1dGU6e3R5cGU6U3RyaW5nLHZhbHVlOiJhcmlhLWNoZWNrZWQifX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXtEaSh0aGlzLChmdW5jdGlvbigpe2lmKCItMXB4Ij09PXRoaXMuZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtaW5rLXNpemUiKS50cmltKCkpe3ZhciB0PXRoaXMuZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItLWNhbGN1bGF0ZWQtcGFwZXItY2hlY2tib3gtc2l6ZSIpLnRyaW0oKSxlPSJweCIsbj10Lm1hdGNoKC9bQS1aYS16XSskLyk7bnVsbCE9PW4mJihlPW5bMF0pO3ZhciBpPXBhcnNlRmxvYXQodCkscj04LzMqaTsicHgiPT09ZSYmKHI9TWF0aC5mbG9vcihyKSklMiE9aSUyJiZyKyssdGhpcy51cGRhdGVTdHlsZXMoeyItLXBhcGVyLWNoZWNrYm94LWluay1zaXplIjpyK2V9KX19KSl9LF9jb21wdXRlQ2hlY2tib3hDbGFzczpmdW5jdGlvbih0LGUpe3ZhciBuPSIiO3JldHVybiB0JiYobis9ImNoZWNrZWQgIiksZSYmKG4rPSJpbnZhbGlkIiksbn0sX2NvbXB1dGVDaGVja21hcmtDbGFzczpmdW5jdGlvbih0KXtyZXR1cm4gdD8iIjoiaGlkZGVuIn0sX2NyZWF0ZVJpcHBsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yaXBwbGVDb250YWluZXI9dGhpcy4kLmNoZWNrYm94Q29udGFpbmVyLGJhLl9jcmVhdGVSaXBwbGUuY2FsbCh0aGlzKX19KSwhd2luZG93LnBvbHltZXJTa2lwTG9hZGluZ0ZvbnRSb2JvdG8pe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpO3QucmVsPSJzdHlsZXNoZWV0Iix0LnR5cGU9InRleHQvY3NzIix0LmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLHQuaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bytNb25vOjQwMCw3MDB8Um9ib3RvOjQwMCwzMDAsMzAwaXRhbGljLDQwMGl0YWxpYyw1MDAsNTAwaXRhbGljLDcwMCw3MDBpdGFsaWMiLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQodCl9Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2NvbnN0IE1hPXhlYDxjdXN0b20tc3R5bGU+CiAgPHN0eWxlIGlzPSJjdXN0b20tc3R5bGUiPgogICAgaHRtbCB7CgogICAgICAvKiBTaGFyZWQgU3R5bGVzICovCiAgICAgIC0tcGFwZXItZm9udC1jb21tb24tYmFzZTogewogICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgJ05vdG8nLCBzYW5zLXNlcmlmOwogICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWNvbW1vbi1jb2RlOiB7CiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubycsICdDb25zb2xhcycsICdNZW5sbycsIG1vbm9zcGFjZTsKICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1jb21tb24tZXhwZW5zaXZlLWtlcm5pbmc6IHsKICAgICAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWNvbW1vbi1ub3dyYXA6IHsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH07CgogICAgICAvKiBNYXRlcmlhbCBGb250IFN0eWxlcyAqLwoKICAgICAgLS1wYXBlci1mb250LWRpc3BsYXk0OiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tYmFzZTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1ub3dyYXA7CgogICAgICAgIGZvbnQtc2l6ZTogMTEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wNDRlbTsKICAgICAgICBsaW5lLWhlaWdodDogMTIwcHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtZGlzcGxheTM6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLW5vd3JhcDsKCiAgICAgICAgZm9udC1zaXplOiA1NnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDI2ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtZGlzcGxheTI6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwoKICAgICAgICBmb250LXNpemU6IDQ1cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMThlbTsKICAgICAgICBsaW5lLWhlaWdodDogNDhweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1kaXNwbGF5MTogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CgogICAgICAgIGZvbnQtc2l6ZTogMzRweDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtaGVhZGxpbmU6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwoKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMTJlbTsKICAgICAgICBsaW5lLWhlaWdodDogMzJweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC10aXRsZTogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tbm93cmFwOwoKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMjhweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1zdWJoZWFkOiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tYmFzZTsKCiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtYm9keTI6IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwoKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1ib2R5MTogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWNhcHRpb246IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLW5vd3JhcDsKCiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDExZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgIH07CgogICAgICAtLXBhcGVyLWZvbnQtbWVudTogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tbm93cmFwOwoKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1idXR0b246IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLW5vd3JhcDsKCiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDE4ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgfTsKCiAgICAgIC0tcGFwZXItZm9udC1jb2RlMjogewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWNvZGU7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICB9OwoKICAgICAgLS1wYXBlci1mb250LWNvZGUxOiB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jb21tb24tY29kZTsKCiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgIH07CgogICAgfQoKICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT5gO01hLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJkaXNwbGF5OiBub25lOyIpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoTWEuY29udGVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBFYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO0VhLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJkaXNwbGF5OiBub25lOyIpLEVhLmlubmVySFRNTD0nPGRvbS1tb2R1bGUgaWQ9InBhcGVyLWRpYWxvZy1zaGFyZWQtc3R5bGVzIj5cbiAgPHRlbXBsYXRlPlxuICAgIDxzdHlsZT5cbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMjRweCA0MHB4O1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLWRpYWxvZy1iYWNrZ3JvdW5kLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWJhY2tncm91bmQtY29sb3IpKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWRpYWxvZy1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7XG5cbiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1ib2R5MTtcbiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0xNmRwO1xuICAgICAgICBAYXBwbHkgLS1wYXBlci1kaWFsb2c7XG4gICAgICB9XG5cbiAgICAgIDpob3N0ID4gOjpzbG90dGVkKCopIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMCAyNHB4O1xuICAgICAgfVxuXG4gICAgICA6aG9zdCA+IDo6c2xvdHRlZCgubm8tcGFkZGluZykge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICBcbiAgICAgIDpob3N0ID4gOjpzbG90dGVkKCo6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgIH1cblxuICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoKjpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICB9XG5cbiAgICAgIC8qIEluIDEueCwgdGhpcyBzZWxlY3RvciB3YXMgYDpob3N0ID4gOjpjb250ZW50IGgyYC4gSW4gMi54IDxzbG90PiBhbGxvd3NcbiAgICAgIHRvIHNlbGVjdCBkaXJlY3QgY2hpbGRyZW4gb25seSwgd2hpY2ggaW5jcmVhc2VzIHRoZSB3ZWlnaHQgb2YgdGhpc1xuICAgICAgc2VsZWN0b3IsIHNvIHdlIGhhdmUgdG8gcmUtZGVmaW5lIGZpcnN0LWNoaWxkL2xhc3QtY2hpbGQgbWFyZ2lucyBiZWxvdy4gKi9cbiAgICAgIDpob3N0ID4gOjpzbG90dGVkKGgyKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtdGl0bGU7XG4gICAgICAgIEBhcHBseSAtLXBhcGVyLWRpYWxvZy10aXRsZTtcbiAgICAgIH1cblxuICAgICAgLyogQXBwbHkgbWl4aW4gYWdhaW4sIGluIGNhc2UgaXQgc2V0cyBtYXJnaW4tdG9wLiAqL1xuICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoaDI6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAgICAgQGFwcGx5IC0tcGFwZXItZGlhbG9nLXRpdGxlO1xuICAgICAgfVxuXG4gICAgICAvKiBBcHBseSBtaXhpbiBhZ2FpbiwgaW4gY2FzZSBpdCBzZXRzIG1hcmdpbi1ib3R0b20uICovXG4gICAgICA6aG9zdCA+IDo6c2xvdHRlZChoMjpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIEBhcHBseSAtLXBhcGVyLWRpYWxvZy10aXRsZTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoLnBhcGVyLWRpYWxvZy1idXR0b25zKSxcbiAgICAgIDpob3N0ID4gOjpzbG90dGVkKC5idXR0b25zKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogOHB4IDhweCA4cHggMjRweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1kaWFsb2ctYnV0dG9uLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7XG5cbiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7XG4gICAgICAgIEBhcHBseSAtLWxheW91dC1lbmQtanVzdGlmaWVkO1xuICAgICAgfVxuICAgIDwvc3R5bGU+XG4gIDwvdGVtcGxhdGU+XG48L2RvbS1tb2R1bGU+Jyxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKEVhLmNvbnRlbnQpOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgVGE9W3twcm9wZXJ0aWVzOnthbmltYXRpb25Db25maWc6e3R5cGU6T2JqZWN0fSxlbnRyeUFuaW1hdGlvbjp7b2JzZXJ2ZXI6Il9lbnRyeUFuaW1hdGlvbkNoYW5nZWQiLHR5cGU6U3RyaW5nfSxleGl0QW5pbWF0aW9uOntvYnNlcnZlcjoiX2V4aXRBbmltYXRpb25DaGFuZ2VkIix0eXBlOlN0cmluZ319LF9lbnRyeUFuaW1hdGlvbkNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmFuaW1hdGlvbkNvbmZpZz10aGlzLmFuaW1hdGlvbkNvbmZpZ3x8e30sdGhpcy5hbmltYXRpb25Db25maWcuZW50cnk9W3tuYW1lOnRoaXMuZW50cnlBbmltYXRpb24sbm9kZTp0aGlzfV19LF9leGl0QW5pbWF0aW9uQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuYW5pbWF0aW9uQ29uZmlnPXRoaXMuYW5pbWF0aW9uQ29uZmlnfHx7fSx0aGlzLmFuaW1hdGlvbkNvbmZpZy5leGl0PVt7bmFtZTp0aGlzLmV4aXRBbmltYXRpb24sbm9kZTp0aGlzfV19LF9jb3B5UHJvcGVydGllczpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKXRbbl09ZVtuXX0sX2Nsb25lQ29uZmlnOmZ1bmN0aW9uKHQpe3ZhciBlPXtpc0Nsb25lOiEwfTtyZXR1cm4gdGhpcy5fY29weVByb3BlcnRpZXMoZSx0KSxlfSxfZ2V0QW5pbWF0aW9uQ29uZmlnUmVjdXJzaXZlOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaTtpZih0aGlzLmFuaW1hdGlvbkNvbmZpZylpZih0aGlzLmFuaW1hdGlvbkNvbmZpZy52YWx1ZSYmImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuYW5pbWF0aW9uQ29uZmlnLnZhbHVlKXRoaXMuX3dhcm4odGhpcy5fbG9nZigicGxheUFuaW1hdGlvbiIsIlBsZWFzZSBwdXQgJ2FuaW1hdGlvbkNvbmZpZycgaW5zaWRlIG9mIHlvdXIgY29tcG9uZW50cyAncHJvcGVydGllcycgb2JqZWN0IGluc3RlYWQgb2Ygb3V0c2lkZSBvZiBpdC4iKSk7ZWxzZSBpZihpPXQ/dGhpcy5hbmltYXRpb25Db25maWdbdF06dGhpcy5hbmltYXRpb25Db25maWcsQXJyYXkuaXNBcnJheShpKXx8KGk9W2ldKSxpKWZvcih2YXIgcixvPTA7cj1pW29dO28rKylpZihyLmFuaW1hdGFibGUpci5hbmltYXRhYmxlLl9nZXRBbmltYXRpb25Db25maWdSZWN1cnNpdmUoci50eXBlfHx0LGUsbik7ZWxzZSBpZihyLmlkKXt2YXIgYT1lW3IuaWRdO2E/KGEuaXNDbG9uZXx8KGVbci5pZF09dGhpcy5fY2xvbmVDb25maWcoYSksYT1lW3IuaWRdKSx0aGlzLl9jb3B5UHJvcGVydGllcyhhLHIpKTplW3IuaWRdPXJ9ZWxzZSBuLnB1c2gocil9LGdldEFuaW1hdGlvbkNvbmZpZzpmdW5jdGlvbih0KXt2YXIgZT17fSxuPVtdO2Zvcih2YXIgaSBpbiB0aGlzLl9nZXRBbmltYXRpb25Db25maWdSZWN1cnNpdmUodCxlLG4pLGUpbi5wdXNoKGVbaV0pO3JldHVybiBufX0se19jb25maWd1cmVBbmltYXRpb25zOmZ1bmN0aW9uKHQpe3ZhciBlPVtdLG49W107aWYodC5sZW5ndGg+MClmb3IobGV0IGUsaT0wO2U9dFtpXTtpKyspe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZS5uYW1lKTtpZih0LmlzTmVvbkFuaW1hdGlvbil7bGV0IGk9bnVsbDt0LmNvbmZpZ3VyZXx8KHQuY29uZmlndXJlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsfSksaT10LmNvbmZpZ3VyZShlKSxuLnB1c2goe3Jlc3VsdDppLGNvbmZpZzplLG5lb25BbmltYXRpb246dH0pfWVsc2UgY29uc29sZS53YXJuKHRoaXMuaXMrIjoiLGUubmFtZSwibm90IGZvdW5kISIpfWZvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXtsZXQgdD1uW2ldLnJlc3VsdCxyPW5baV0uY29uZmlnLG89bltpXS5uZW9uQW5pbWF0aW9uO3RyeXsiZnVuY3Rpb24iIT10eXBlb2YgdC5jYW5jZWwmJih0PWRvY3VtZW50LnRpbWVsaW5lLnBsYXkodCkpfWNhdGNoKGUpe3Q9bnVsbCxjb25zb2xlLndhcm4oIkNvdWxkbnQgcGxheSIsIigiLHIubmFtZSwiKS4iLGUpfXQmJmUucHVzaCh7bmVvbkFuaW1hdGlvbjpvLGNvbmZpZzpyLGFuaW1hdGlvbjp0fSl9cmV0dXJuIGV9LF9zaG91bGRDb21wbGV0ZTpmdW5jdGlvbih0KXtmb3IodmFyIGU9ITAsbj0wO248dC5sZW5ndGg7bisrKWlmKCJmaW5pc2hlZCIhPXRbbl0uYW5pbWF0aW9uLnBsYXlTdGF0ZSl7ZT0hMTticmVha31yZXR1cm4gZX0sX2NvbXBsZXRlOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0ubmVvbkFuaW1hdGlvbi5jb21wbGV0ZSh0W2VdLmNvbmZpZyk7Zm9yKGU9MDtlPHQubGVuZ3RoO2UrKyl0W2VdLmFuaW1hdGlvbi5jYW5jZWwoKX0scGxheUFuaW1hdGlvbjpmdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuZ2V0QW5pbWF0aW9uQ29uZmlnKHQpO2lmKG4pe3RoaXMuX2FjdGl2ZT10aGlzLl9hY3RpdmV8fHt9LHRoaXMuX2FjdGl2ZVt0XSYmKHRoaXMuX2NvbXBsZXRlKHRoaXMuX2FjdGl2ZVt0XSksZGVsZXRlIHRoaXMuX2FjdGl2ZVt0XSk7dmFyIGk9dGhpcy5fY29uZmlndXJlQW5pbWF0aW9ucyhuKTtpZigwIT1pLmxlbmd0aCl7dGhpcy5fYWN0aXZlW3RdPWk7Zm9yKHZhciByPTA7cjxpLmxlbmd0aDtyKyspaVtyXS5hbmltYXRpb24ub25maW5pc2g9ZnVuY3Rpb24oKXt0aGlzLl9zaG91bGRDb21wbGV0ZShpKSYmKHRoaXMuX2NvbXBsZXRlKGkpLGRlbGV0ZSB0aGlzLl9hY3RpdmVbdF0sdGhpcy5maXJlKCJuZW9uLWFuaW1hdGlvbi1maW5pc2giLGUse2J1YmJsZXM6ITF9KSl9LmJpbmQodGhpcyl9ZWxzZSB0aGlzLmZpcmUoIm5lb24tYW5pbWF0aW9uLWZpbmlzaCIsZSx7YnViYmxlczohMX0pfX0sY2FuY2VsQW5pbWF0aW9uOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuX2FjdGl2ZSl7dmFyIGU9dGhpcy5fYWN0aXZlW3RdO2Zvcih2YXIgbiBpbiBlKWVbbl0uYW5pbWF0aW9uLmNhbmNlbCgpfXRoaXMuX2FjdGl2ZT17fX19XTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpsZXQgQ2E7Y29uc3QgQWE9e3Byb3BlcnRpZXM6e3NpemluZ1RhcmdldDp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319LGZpdEludG86e3R5cGU6T2JqZWN0LHZhbHVlOndpbmRvd30sbm9PdmVybGFwOnt0eXBlOkJvb2xlYW59LHBvc2l0aW9uVGFyZ2V0Ont0eXBlOkVsZW1lbnR9LGhvcml6b250YWxBbGlnbjp7dHlwZTpTdHJpbmd9LHZlcnRpY2FsQWxpZ246e3R5cGU6U3RyaW5nfSxkeW5hbWljQWxpZ246e3R5cGU6Qm9vbGVhbn0saG9yaXpvbnRhbE9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITB9LHZlcnRpY2FsT2Zmc2V0Ont0eXBlOk51bWJlcix2YWx1ZTowLG5vdGlmeTohMH0sYXV0b0ZpdE9uQXR0YWNoOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGV4cGFuZFNpemluZ1RhcmdldEZvclNjcm9sbGJhcnM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX2ZpdEluZm86e3R5cGU6T2JqZWN0fX0sZ2V0IF9maXRXaWR0aCgpe3JldHVybiB0aGlzLmZpdEludG89PT13aW5kb3c/dGhpcy5maXRJbnRvLmlubmVyV2lkdGg6dGhpcy5maXRJbnRvLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRofSxnZXQgX2ZpdEhlaWdodCgpe3JldHVybiB0aGlzLmZpdEludG89PT13aW5kb3c/dGhpcy5maXRJbnRvLmlubmVySGVpZ2h0OnRoaXMuZml0SW50by5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHR9LGdldCBfZml0TGVmdCgpe3JldHVybiB0aGlzLmZpdEludG89PT13aW5kb3c/MDp0aGlzLmZpdEludG8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdH0sZ2V0IF9maXRUb3AoKXtyZXR1cm4gdGhpcy5maXRJbnRvPT09d2luZG93PzA6dGhpcy5maXRJbnRvLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcH0sZ2V0IF9kZWZhdWx0UG9zaXRpb25UYXJnZXQoKXt2YXIgdD1lcih0aGlzKS5wYXJlbnROb2RlO3JldHVybiB0JiZ0Lm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFJiYodD10Lmhvc3QpLHR9LGdldCBfbG9jYWxlSG9yaXpvbnRhbEFsaWduKCl7aWYodGhpcy5faXNSVEwpe2lmKCJyaWdodCI9PT10aGlzLmhvcml6b250YWxBbGlnbilyZXR1cm4ibGVmdCI7aWYoImxlZnQiPT09dGhpcy5ob3Jpem9udGFsQWxpZ24pcmV0dXJuInJpZ2h0In1yZXR1cm4gdGhpcy5ob3Jpem9udGFsQWxpZ259LGdldCBfX3Nob3VsZFBvc2l0aW9uKCl7cmV0dXJuKHRoaXMuaG9yaXpvbnRhbEFsaWdufHx0aGlzLnZlcnRpY2FsQWxpZ24pJiZ0aGlzLnBvc2l0aW9uVGFyZ2V0fSxnZXQgX2lzUlRMKCl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX21lbW9pemVkSXNSVEwmJih0aGlzLl9tZW1vaXplZElzUlRMPSJydGwiPT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKS5kaXJlY3Rpb24pLHRoaXMuX21lbW9pemVkSXNSVEx9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5wb3NpdGlvblRhcmdldD10aGlzLnBvc2l0aW9uVGFyZ2V0fHx0aGlzLl9kZWZhdWx0UG9zaXRpb25UYXJnZXQsdGhpcy5hdXRvRml0T25BdHRhY2gmJigibm9uZSI9PT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKS5kaXNwbGF5P3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLmZpdCgpfS5iaW5kKHRoaXMpKTood2luZG93LlNoYWR5RE9NJiZTaGFkeURPTS5mbHVzaCgpLHRoaXMuZml0KCkpKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9fZGVmZXJyZWRGaXQmJihjbGVhclRpbWVvdXQodGhpcy5fX2RlZmVycmVkRml0KSx0aGlzLl9fZGVmZXJyZWRGaXQ9bnVsbCl9LGZpdDpmdW5jdGlvbigpe3RoaXMucG9zaXRpb24oKSx0aGlzLmNvbnN0cmFpbigpLHRoaXMuY2VudGVyKCl9LF9kaXNjb3ZlckluZm86ZnVuY3Rpb24oKXtpZighdGhpcy5fZml0SW5mbyl7dmFyIHQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcyksZT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnNpemluZ1RhcmdldCk7dGhpcy5fZml0SW5mbz17aW5saW5lU3R5bGU6e3RvcDp0aGlzLnN0eWxlLnRvcHx8IiIsbGVmdDp0aGlzLnN0eWxlLmxlZnR8fCIiLHBvc2l0aW9uOnRoaXMuc3R5bGUucG9zaXRpb258fCIifSxzaXplcklubGluZVN0eWxlOnttYXhXaWR0aDp0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5tYXhXaWR0aHx8IiIsbWF4SGVpZ2h0OnRoaXMuc2l6aW5nVGFyZ2V0LnN0eWxlLm1heEhlaWdodHx8IiIsYm94U2l6aW5nOnRoaXMuc2l6aW5nVGFyZ2V0LnN0eWxlLmJveFNpemluZ3x8IiJ9LHBvc2l0aW9uZWRCeTp7dmVydGljYWxseToiYXV0byIhPT10LnRvcD8idG9wIjoiYXV0byIhPT10LmJvdHRvbT8iYm90dG9tIjpudWxsLGhvcml6b250YWxseToiYXV0byIhPT10LmxlZnQ/ImxlZnQiOiJhdXRvIiE9PXQucmlnaHQ/InJpZ2h0IjpudWxsfSxzaXplZEJ5OntoZWlnaHQ6Im5vbmUiIT09ZS5tYXhIZWlnaHQsd2lkdGg6Im5vbmUiIT09ZS5tYXhXaWR0aCxtaW5XaWR0aDpwYXJzZUludChlLm1pbldpZHRoLDEwKXx8MCxtaW5IZWlnaHQ6cGFyc2VJbnQoZS5taW5IZWlnaHQsMTApfHwwfSxtYXJnaW46e3RvcDpwYXJzZUludCh0Lm1hcmdpblRvcCwxMCl8fDAscmlnaHQ6cGFyc2VJbnQodC5tYXJnaW5SaWdodCwxMCl8fDAsYm90dG9tOnBhcnNlSW50KHQubWFyZ2luQm90dG9tLDEwKXx8MCxsZWZ0OnBhcnNlSW50KHQubWFyZ2luTGVmdCwxMCl8fDB9fX19LHJlc2V0Rml0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZml0SW5mb3x8e307Zm9yKHZhciBlIGluIHQuc2l6ZXJJbmxpbmVTdHlsZSl0aGlzLnNpemluZ1RhcmdldC5zdHlsZVtlXT10LnNpemVySW5saW5lU3R5bGVbZV07Zm9yKHZhciBlIGluIHQuaW5saW5lU3R5bGUpdGhpcy5zdHlsZVtlXT10LmlubGluZVN0eWxlW2VdO3RoaXMuX2ZpdEluZm89bnVsbH0scmVmaXQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnNpemluZ1RhcmdldC5zY3JvbGxMZWZ0LGU9dGhpcy5zaXppbmdUYXJnZXQuc2Nyb2xsVG9wO3RoaXMucmVzZXRGaXQoKSx0aGlzLmZpdCgpLHRoaXMuc2l6aW5nVGFyZ2V0LnNjcm9sbExlZnQ9dCx0aGlzLnNpemluZ1RhcmdldC5zY3JvbGxUb3A9ZX0scG9zaXRpb246ZnVuY3Rpb24oKXtpZighdGhpcy5fX3Nob3VsZFBvc2l0aW9uKXJldHVybjt0aGlzLl9kaXNjb3ZlckluZm8oKSx3aW5kb3cuU2hhZHlET00mJndpbmRvdy5TaGFkeURPTS5mbHVzaCgpLHRoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIix0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5ib3hTaXppbmc9ImJvcmRlci1ib3giLHRoaXMuc3R5bGUubGVmdD0iMHB4Iix0aGlzLnN0eWxlLnRvcD0iMHB4Ijt2YXIgdD10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGU9dGhpcy5fX2dldE5vcm1hbGl6ZWRSZWN0KHRoaXMucG9zaXRpb25UYXJnZXQpLG49dGhpcy5fX2dldE5vcm1hbGl6ZWRSZWN0KHRoaXMuZml0SW50byk7bGV0IGkscixvLGE7dGhpcy5leHBhbmRTaXppbmdUYXJnZXRGb3JTY3JvbGxiYXJzJiYoaT10aGlzLnNpemluZ1RhcmdldC5vZmZzZXRXaWR0aCxyPXRoaXMuc2l6aW5nVGFyZ2V0Lm9mZnNldEhlaWdodCxvPXRoaXMuc2l6aW5nVGFyZ2V0LmNsaWVudFdpZHRoLGE9dGhpcy5zaXppbmdUYXJnZXQuY2xpZW50SGVpZ2h0KTt2YXIgcz10aGlzLl9maXRJbmZvLm1hcmdpbixsPXRoaXMuX19nZXRQb3NpdGlvbih0aGlzLl9sb2NhbGVIb3Jpem9udGFsQWxpZ24sdGhpcy52ZXJ0aWNhbEFsaWduLHt3aWR0aDp0LndpZHRoK3MubGVmdCtzLnJpZ2h0LGhlaWdodDp0LmhlaWdodCtzLnRvcCtzLmJvdHRvbX0sdCxlLG4pLGM9bC5sZWZ0K3MubGVmdCx1PWwudG9wK3MudG9wLGg9TWF0aC5taW4obi5yaWdodC1zLnJpZ2h0LGMrdC53aWR0aCksZD1NYXRoLm1pbihuLmJvdHRvbS1zLmJvdHRvbSx1K3QuaGVpZ2h0KTtjPU1hdGgubWF4KG4ubGVmdCtzLmxlZnQsTWF0aC5taW4oYyxoLXRoaXMuX2ZpdEluZm8uc2l6ZWRCeS5taW5XaWR0aCkpLHU9TWF0aC5tYXgobi50b3Arcy50b3AsTWF0aC5taW4odSxkLXRoaXMuX2ZpdEluZm8uc2l6ZWRCeS5taW5IZWlnaHQpKTtjb25zdCBwPU1hdGgubWF4KGgtYyx0aGlzLl9maXRJbmZvLnNpemVkQnkubWluV2lkdGgpLGY9TWF0aC5tYXgoZC11LHRoaXMuX2ZpdEluZm8uc2l6ZWRCeS5taW5IZWlnaHQpO3RoaXMuc2l6aW5nVGFyZ2V0LnN0eWxlLm1heFdpZHRoPXArInB4Iix0aGlzLnNpemluZ1RhcmdldC5zdHlsZS5tYXhIZWlnaHQ9ZisicHgiO2NvbnN0IG09Yy10LmxlZnQsZz11LXQudG9wO2lmKHRoaXMuc3R5bGUubGVmdD1gJHttfXB4YCx0aGlzLnN0eWxlLnRvcD1gJHtnfXB4YCx0aGlzLmV4cGFuZFNpemluZ1RhcmdldEZvclNjcm9sbGJhcnMpe2NvbnN0IHQ9dGhpcy5zaXppbmdUYXJnZXQub2Zmc2V0SGVpZ2h0LGU9dC10aGlzLnNpemluZ1RhcmdldC5jbGllbnRIZWlnaHQtKHItYSk7aWYoZT4wKXtjb25zdCBpPU1hdGgubWluKG4uaGVpZ2h0LXMudG9wLXMuYm90dG9tLGYrZSk7dGhpcy5zaXppbmdUYXJnZXQuc3R5bGUubWF4SGVpZ2h0PWAke2l9cHhgO2NvbnN0IHI9dGhpcy5zaXppbmdUYXJnZXQub2Zmc2V0SGVpZ2h0LG89ci10O2xldCBhOyJ0b3AiPT09bC52ZXJ0aWNhbEFsaWduP2E9ZzoibWlkZGxlIj09PWwudmVydGljYWxBbGlnbj9hPWctby8yOiJib3R0b20iPT09bC52ZXJ0aWNhbEFsaWduJiYoYT1nLW8pLGE9TWF0aC5tYXgobi50b3Arcy50b3AsTWF0aC5taW4oYSxuLmJvdHRvbS1zLmJvdHRvbS1yKSksdGhpcy5zdHlsZS50b3A9YCR7YX1weGB9Y29uc3QgYz10aGlzLnNpemluZ1RhcmdldC5vZmZzZXRXaWR0aCx1PWMtdGhpcy5zaXppbmdUYXJnZXQuY2xpZW50V2lkdGgtKGktbyk7aWYodT4wKXtjb25zdCB0PSgoKT0+e2lmKHZvaWQgMCE9PUNhKXJldHVybiBDYTtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO09iamVjdC5hc3NpZ24odC5zdHlsZSx7b3ZlcmZsb3c6ImF1dG8iLHBvc2l0aW9uOiJmaXhlZCIsbGVmdDoiMHB4Iix0b3A6IjBweCIsbWF4V2lkdGg6IjEwMHB4IixtYXhIZWlnaHQ6IjEwMHB4In0pO2NvbnN0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGUuc3R5bGUud2lkdGg9IjIwMHB4IixlLnN0eWxlLmhlaWdodD0iMjAwcHgiLHQuYXBwZW5kQ2hpbGQoZSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KSxDYT1NYXRoLmFicyh0Lm9mZnNldFdpZHRoLTEwMCk+MT90Lm9mZnNldFdpZHRoLXQuY2xpZW50V2lkdGg6MCxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLENhfSkoKSxlPU1hdGgubWluKG4ud2lkdGgtcy5sZWZ0LXMucmlnaHQscCt1LXQpO3RoaXMuc2l6aW5nVGFyZ2V0LnN0eWxlLm1heFdpZHRoPWAke2V9cHhgO2NvbnN0IGk9dGhpcy5zaXppbmdUYXJnZXQub2Zmc2V0V2lkdGgrdCxyPWktYztsZXQgbzsibGVmdCI9PT1sLmhvcml6b250YWxBbGlnbj9vPW06ImNlbnRlciI9PT1sLmhvcml6b250YWxBbGlnbj9vPW0tci8yOiJyaWdodCI9PT1sLmhvcml6b250YWxBbGlnbiYmKG89bS1yKSxvPU1hdGgubWF4KG4ubGVmdCtzLmxlZnQsTWF0aC5taW4obyxuLnJpZ2h0LXMucmlnaHQtaSkpLHRoaXMuc3R5bGUubGVmdD1gJHtvfXB4YH19fSxjb25zdHJhaW46ZnVuY3Rpb24oKXtpZighdGhpcy5fX3Nob3VsZFBvc2l0aW9uKXt0aGlzLl9kaXNjb3ZlckluZm8oKTt2YXIgdD10aGlzLl9maXRJbmZvO3QucG9zaXRpb25lZEJ5LnZlcnRpY2FsbHl8fCh0aGlzLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdGhpcy5zdHlsZS50b3A9IjBweCIpLHQucG9zaXRpb25lZEJ5Lmhvcml6b250YWxseXx8KHRoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIix0aGlzLnN0eWxlLmxlZnQ9IjBweCIpLHRoaXMuc2l6aW5nVGFyZ2V0LnN0eWxlLmJveFNpemluZz0iYm9yZGVyLWJveCI7dmFyIGU9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0LnNpemVkQnkuaGVpZ2h0fHx0aGlzLl9fc2l6ZURpbWVuc2lvbihlLHQucG9zaXRpb25lZEJ5LnZlcnRpY2FsbHksInRvcCIsImJvdHRvbSIsIkhlaWdodCIpLHQuc2l6ZWRCeS53aWR0aHx8dGhpcy5fX3NpemVEaW1lbnNpb24oZSx0LnBvc2l0aW9uZWRCeS5ob3Jpem9udGFsbHksImxlZnQiLCJyaWdodCIsIldpZHRoIil9fSxfc2l6ZURpbWVuc2lvbjpmdW5jdGlvbih0LGUsbixpLHIpe3RoaXMuX19zaXplRGltZW5zaW9uKHQsZSxuLGkscil9LF9fc2l6ZURpbWVuc2lvbjpmdW5jdGlvbih0LGUsbixpLHIpe3ZhciBvPXRoaXMuX2ZpdEluZm8sYT10aGlzLl9fZ2V0Tm9ybWFsaXplZFJlY3QodGhpcy5maXRJbnRvKSxzPSJXaWR0aCI9PT1yP2Eud2lkdGg6YS5oZWlnaHQsbD1lPT09aSxjPSJvZmZzZXQiK3I7dGhpcy5zaXppbmdUYXJnZXQuc3R5bGVbIm1heCIrcl09cy1vLm1hcmdpbltsP246aV0tKGw/cy10W2ldOnRbbl0pLSh0aGlzW2NdLXRoaXMuc2l6aW5nVGFyZ2V0W2NdKSsicHgifSxjZW50ZXI6ZnVuY3Rpb24oKXtpZighdGhpcy5fX3Nob3VsZFBvc2l0aW9uKXt0aGlzLl9kaXNjb3ZlckluZm8oKTt2YXIgdD10aGlzLl9maXRJbmZvLnBvc2l0aW9uZWRCeTtpZighdC52ZXJ0aWNhbGx5fHwhdC5ob3Jpem9udGFsbHkpe3RoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIix0LnZlcnRpY2FsbHl8fCh0aGlzLnN0eWxlLnRvcD0iMHB4IiksdC5ob3Jpem9udGFsbHl8fCh0aGlzLnN0eWxlLmxlZnQ9IjBweCIpO3ZhciBlPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj10aGlzLl9fZ2V0Tm9ybWFsaXplZFJlY3QodGhpcy5maXRJbnRvKTtpZighdC52ZXJ0aWNhbGx5KXRoaXMuc3R5bGUudG9wPW4udG9wLWUudG9wKyhuLmhlaWdodC1lLmhlaWdodCkvMisicHgiO2lmKCF0Lmhvcml6b250YWxseSl0aGlzLnN0eWxlLmxlZnQ9bi5sZWZ0LWUubGVmdCsobi53aWR0aC1lLndpZHRoKS8yKyJweCJ9fX0sX19nZXROb3JtYWxpemVkUmVjdDpmdW5jdGlvbih0KXtyZXR1cm4gdD09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8dD09PXdpbmRvdz97dG9wOjAsbGVmdDowLHdpZHRoOndpbmRvdy5pbm5lcldpZHRoLGhlaWdodDp3aW5kb3cuaW5uZXJIZWlnaHQscmlnaHQ6d2luZG93LmlubmVyV2lkdGgsYm90dG9tOndpbmRvdy5pbm5lckhlaWdodH06dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0sX19nZXRPZmZzY3JlZW5BcmVhOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1NYXRoLm1pbigwLHQudG9wKStNYXRoLm1pbigwLG4uYm90dG9tLSh0LnRvcCtlLmhlaWdodCkpLHI9TWF0aC5taW4oMCx0LmxlZnQpK01hdGgubWluKDAsbi5yaWdodC0odC5sZWZ0K2Uud2lkdGgpKTtyZXR1cm4gTWF0aC5hYnMoaSkqZS53aWR0aCtNYXRoLmFicyhyKSplLmhlaWdodH0sX19nZXRQb3NpdGlvbjpmdW5jdGlvbih0LGUsbixpLHIsbyl7dmFyIGEscz1be3ZlcnRpY2FsQWxpZ246InRvcCIsaG9yaXpvbnRhbEFsaWduOiJsZWZ0Iix0b3A6ci50b3ArdGhpcy52ZXJ0aWNhbE9mZnNldCxsZWZ0OnIubGVmdCt0aGlzLmhvcml6b250YWxPZmZzZXR9LHt2ZXJ0aWNhbEFsaWduOiJ0b3AiLGhvcml6b250YWxBbGlnbjoicmlnaHQiLHRvcDpyLnRvcCt0aGlzLnZlcnRpY2FsT2Zmc2V0LGxlZnQ6ci5yaWdodC1uLndpZHRoLXRoaXMuaG9yaXpvbnRhbE9mZnNldH0se3ZlcnRpY2FsQWxpZ246ImJvdHRvbSIsaG9yaXpvbnRhbEFsaWduOiJsZWZ0Iix0b3A6ci5ib3R0b20tbi5oZWlnaHQtdGhpcy52ZXJ0aWNhbE9mZnNldCxsZWZ0OnIubGVmdCt0aGlzLmhvcml6b250YWxPZmZzZXR9LHt2ZXJ0aWNhbEFsaWduOiJib3R0b20iLGhvcml6b250YWxBbGlnbjoicmlnaHQiLHRvcDpyLmJvdHRvbS1uLmhlaWdodC10aGlzLnZlcnRpY2FsT2Zmc2V0LGxlZnQ6ci5yaWdodC1uLndpZHRoLXRoaXMuaG9yaXpvbnRhbE9mZnNldH1dO2lmKHRoaXMubm9PdmVybGFwKXtmb3IodmFyIGw9MCxjPXMubGVuZ3RoO2w8YztsKyspe3ZhciB1PXt9O2Zvcih2YXIgaCBpbiBzW2xdKXVbaF09c1tsXVtoXTtzLnB1c2godSl9c1swXS50b3A9c1sxXS50b3ArPXIuaGVpZ2h0LHNbMl0udG9wPXNbM10udG9wLT1yLmhlaWdodCxzWzRdLmxlZnQ9c1s2XS5sZWZ0Kz1yLndpZHRoLHNbNV0ubGVmdD1zWzddLmxlZnQtPXIud2lkdGh9ZT0iYXV0byI9PT1lP251bGw6ZSwodD0iYXV0byI9PT10P251bGw6dCkmJiJjZW50ZXIiIT09dHx8KHMucHVzaCh7dmVydGljYWxBbGlnbjoidG9wIixob3Jpem9udGFsQWxpZ246ImNlbnRlciIsdG9wOnIudG9wK3RoaXMudmVydGljYWxPZmZzZXQrKHRoaXMubm9PdmVybGFwP3IuaGVpZ2h0OjApLGxlZnQ6ci5sZWZ0LWkud2lkdGgvMityLndpZHRoLzIrdGhpcy5ob3Jpem9udGFsT2Zmc2V0fSkscy5wdXNoKHt2ZXJ0aWNhbEFsaWduOiJib3R0b20iLGhvcml6b250YWxBbGlnbjoiY2VudGVyIix0b3A6ci5ib3R0b20tbi5oZWlnaHQtdGhpcy52ZXJ0aWNhbE9mZnNldC0odGhpcy5ub092ZXJsYXA/ci5oZWlnaHQ6MCksbGVmdDpyLmxlZnQtaS53aWR0aC8yK3Iud2lkdGgvMit0aGlzLmhvcml6b250YWxPZmZzZXR9KSksZSYmIm1pZGRsZSIhPT1lfHwocy5wdXNoKHt2ZXJ0aWNhbEFsaWduOiJtaWRkbGUiLGhvcml6b250YWxBbGlnbjoibGVmdCIsdG9wOnIudG9wLWkuaGVpZ2h0LzIrci5oZWlnaHQvMit0aGlzLnZlcnRpY2FsT2Zmc2V0LGxlZnQ6ci5sZWZ0K3RoaXMuaG9yaXpvbnRhbE9mZnNldCsodGhpcy5ub092ZXJsYXA/ci53aWR0aDowKX0pLHMucHVzaCh7dmVydGljYWxBbGlnbjoibWlkZGxlIixob3Jpem9udGFsQWxpZ246InJpZ2h0Iix0b3A6ci50b3AtaS5oZWlnaHQvMityLmhlaWdodC8yK3RoaXMudmVydGljYWxPZmZzZXQsbGVmdDpyLnJpZ2h0LW4ud2lkdGgtdGhpcy5ob3Jpem9udGFsT2Zmc2V0LSh0aGlzLm5vT3ZlcmxhcD9yLndpZHRoOjApfSkpLCJtaWRkbGUiPT09ZSYmImNlbnRlciI9PT10JiZzLnB1c2goe3ZlcnRpY2FsQWxpZ246Im1pZGRsZSIsaG9yaXpvbnRhbEFsaWduOiJjZW50ZXIiLHRvcDpyLnRvcC1pLmhlaWdodC8yK3IuaGVpZ2h0LzIrdGhpcy52ZXJ0aWNhbE9mZnNldCxsZWZ0OnIubGVmdC1pLndpZHRoLzIrci53aWR0aC8yK3RoaXMuaG9yaXpvbnRhbE9mZnNldH0pO2ZvcihsPTA7bDxzLmxlbmd0aDtsKyspe3ZhciBkPXNbbF0scD1kLnZlcnRpY2FsQWxpZ249PT1lLGY9ZC5ob3Jpem9udGFsQWxpZ249PT10O2lmKCF0aGlzLmR5bmFtaWNBbGlnbiYmIXRoaXMubm9PdmVybGFwJiZwJiZmKXthPWQ7YnJlYWt9dmFyIG09KCFlfHxwKSYmKCF0fHxmKTtpZih0aGlzLmR5bmFtaWNBbGlnbnx8bSl7aWYoZC5vZmZzY3JlZW5BcmVhPXRoaXMuX19nZXRPZmZzY3JlZW5BcmVhKGQsbixvKSwwPT09ZC5vZmZzY3JlZW5BcmVhJiZtKXthPWQ7YnJlYWt9dmFyIGc9ZC5vZmZzY3JlZW5BcmVhLShhPWF8fGQpLm9mZnNjcmVlbkFyZWE7KGc8MHx8MD09PWcmJihwfHxmKSkmJihhPWQpfX1yZXR1cm4gYX19OwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTYgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KdmFyIGthPUVsZW1lbnQucHJvdG90eXBlLExhPWthLm1hdGNoZXN8fGthLm1hdGNoZXNTZWxlY3Rvcnx8a2EubW96TWF0Y2hlc1NlbGVjdG9yfHxrYS5tc01hdGNoZXNTZWxlY3Rvcnx8a2Eub01hdGNoZXNTZWxlY3Rvcnx8a2Eud2Via2l0TWF0Y2hlc1NlbGVjdG9yO2NvbnN0IFBhPW5ldyBjbGFzc3tnZXRUYWJiYWJsZU5vZGVzKHQpe3ZhciBlPVtdO3JldHVybiB0aGlzLl9jb2xsZWN0VGFiYmFibGVOb2Rlcyh0LGUpP3RoaXMuX3NvcnRCeVRhYkluZGV4KGUpOmV9aXNGb2N1c2FibGUodCl7cmV0dXJuIExhLmNhbGwodCwiaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGJ1dHRvbiwgb2JqZWN0Iik/TGEuY2FsbCh0LCI6bm90KFtkaXNhYmxlZF0pIik6TGEuY2FsbCh0LCJhW2hyZWZdLCBhcmVhW2hyZWZdLCBpZnJhbWUsIFt0YWJpbmRleF0sIFtjb250ZW50RWRpdGFibGVdIil9aXNUYWJiYWJsZSh0KXtyZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0KSYmTGEuY2FsbCh0LCc6bm90KFt0YWJpbmRleD0iLTEiXSknKSYmdGhpcy5faXNWaXNpYmxlKHQpfV9ub3JtYWxpemVkVGFiSW5kZXgodCl7aWYodGhpcy5pc0ZvY3VzYWJsZSh0KSl7dmFyIGU9dC5nZXRBdHRyaWJ1dGUoInRhYmluZGV4Iil8fDA7cmV0dXJuIE51bWJlcihlKX1yZXR1cm4tMX1fY29sbGVjdFRhYmJhYmxlTm9kZXModCxlKXtpZih0Lm5vZGVUeXBlIT09Tm9kZS5FTEVNRU5UX05PREUpcmV0dXJuITE7dmFyIG49dDtpZighdGhpcy5faXNWaXNpYmxlKG4pKXJldHVybiExO3ZhciBpLHI9dGhpcy5fbm9ybWFsaXplZFRhYkluZGV4KG4pLG89cj4wO3I+PTAmJmUucHVzaChuKSxpPSJjb250ZW50Ij09PW4ubG9jYWxOYW1lfHwic2xvdCI9PT1uLmxvY2FsTmFtZT9lcihuKS5nZXREaXN0cmlidXRlZE5vZGVzKCk6ZXIobi5yb290fHxuKS5jaGlsZHJlbjtmb3IodmFyIGE9MDthPGkubGVuZ3RoO2ErKylvPXRoaXMuX2NvbGxlY3RUYWJiYWJsZU5vZGVzKGlbYV0sZSl8fG87cmV0dXJuIG99X2lzVmlzaWJsZSh0KXt2YXIgZT10LnN0eWxlO3JldHVybiJoaWRkZW4iIT09ZS52aXNpYmlsaXR5JiYibm9uZSIhPT1lLmRpc3BsYXkmJigiaGlkZGVuIiE9PShlPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpKS52aXNpYmlsaXR5JiYibm9uZSIhPT1lLmRpc3BsYXkpfV9zb3J0QnlUYWJJbmRleCh0KXt2YXIgZT10Lmxlbmd0aDtpZihlPDIpcmV0dXJuIHQ7dmFyIG49TWF0aC5jZWlsKGUvMiksaT10aGlzLl9zb3J0QnlUYWJJbmRleCh0LnNsaWNlKDAsbikpLHI9dGhpcy5fc29ydEJ5VGFiSW5kZXgodC5zbGljZShuKSk7cmV0dXJuIHRoaXMuX21lcmdlU29ydEJ5VGFiSW5kZXgoaSxyKX1fbWVyZ2VTb3J0QnlUYWJJbmRleCh0LGUpe2Zvcih2YXIgbj1bXTt0Lmxlbmd0aD4wJiZlLmxlbmd0aD4wOyl0aGlzLl9oYXNMb3dlclRhYk9yZGVyKHRbMF0sZVswXSk/bi5wdXNoKGUuc2hpZnQoKSk6bi5wdXNoKHQuc2hpZnQoKSk7cmV0dXJuIG4uY29uY2F0KHQsZSl9X2hhc0xvd2VyVGFiT3JkZXIodCxlKXt2YXIgbj1NYXRoLm1heCh0LnRhYkluZGV4LDApLGk9TWF0aC5tYXgoZS50YWJJbmRleCwwKTtyZXR1cm4gMD09PW58fDA9PT1pP2k+bjpuPml9fTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taXJvbi1vdmVybGF5LWJhY2tkcm9wLWJhY2tncm91bmQtY29sb3IsICMwMDApOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIEBhcHBseSAtLWlyb24tb3ZlcmxheS1iYWNrZHJvcDsKICAgICAgfQoKICAgICAgOmhvc3QoLm9wZW5lZCkgewogICAgICAgIG9wYWNpdHk6IHZhcigtLWlyb24tb3ZlcmxheS1iYWNrZHJvcC1vcGFjaXR5LCAwLjYpOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICAgIEBhcHBseSAtLWlyb24tb3ZlcmxheS1iYWNrZHJvcC1vcGVuZWQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPHNsb3Q+PC9zbG90PgpgLGlzOiJpcm9uLW92ZXJsYXktYmFja2Ryb3AiLHByb3BlcnRpZXM6e29wZW5lZDp7cmVmbGVjdFRvQXR0cmlidXRlOiEwLHR5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX29wZW5lZENoYW5nZWQifX0sbGlzdGVuZXJzOnt0cmFuc2l0aW9uZW5kOiJfb25UcmFuc2l0aW9uZW5kIn0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuX19vcGVuZWRSYWY9bnVsbH0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZCYmdGhpcy5fb3BlbmVkQ2hhbmdlZCh0aGlzLm9wZW5lZCl9LHByZXBhcmU6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZCYmIXRoaXMucGFyZW50Tm9kZSYmZXIoZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQodGhpcyl9LG9wZW46ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZD0hMH0sY2xvc2U6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZD0hMX0sY29tcGxldGU6ZnVuY3Rpb24oKXt0aGlzLm9wZW5lZHx8dGhpcy5wYXJlbnROb2RlIT09ZG9jdW1lbnQuYm9keXx8ZXIodGhpcy5wYXJlbnROb2RlKS5yZW1vdmVDaGlsZCh0aGlzKX0sX29uVHJhbnNpdGlvbmVuZDpmdW5jdGlvbih0KXt0JiZ0LnRhcmdldD09PXRoaXMmJnRoaXMuY29tcGxldGUoKX0sX29wZW5lZENoYW5nZWQ6ZnVuY3Rpb24odCl7aWYodCl0aGlzLnByZXBhcmUoKTtlbHNle3ZhciBlPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpOyIwcyIhPT1lLnRyYW5zaXRpb25EdXJhdGlvbiYmMCE9ZS5vcGFjaXR5fHx0aGlzLmNvbXBsZXRlKCl9dGhpcy5pc0F0dGFjaGVkJiYodGhpcy5fX29wZW5lZFJhZiYmKHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9fb3BlbmVkUmFmKSx0aGlzLl9fb3BlbmVkUmFmPW51bGwpLHRoaXMuc2Nyb2xsVG9wPXRoaXMuc2Nyb2xsVG9wLHRoaXMuX19vcGVuZWRSYWY9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3RoaXMuX19vcGVuZWRSYWY9bnVsbCx0aGlzLnRvZ2dsZUNsYXNzKCJvcGVuZWQiLHRoaXMub3BlbmVkKX0uYmluZCh0aGlzKSkpfX0pO2NvbnN0IE5hPW5ldwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9vdmVybGF5cz1bXSx0aGlzLl9taW5pbXVtWj0xMDEsdGhpcy5fYmFja2Ryb3BFbGVtZW50PW51bGwsY2koZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCJ0YXAiLChmdW5jdGlvbigpe30pKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0YXAiLHRoaXMuX29uQ2FwdHVyZUNsaWNrLmJpbmQodGhpcyksITApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9vbkNhcHR1cmVGb2N1cy5iaW5kKHRoaXMpLCEwKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9vbkNhcHR1cmVLZXlEb3duLmJpbmQodGhpcyksITApfWdldCBiYWNrZHJvcEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fYmFja2Ryb3BFbGVtZW50fHwodGhpcy5fYmFja2Ryb3BFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlyb24tb3ZlcmxheS1iYWNrZHJvcCIpKSx0aGlzLl9iYWNrZHJvcEVsZW1lbnR9Z2V0IGRlZXBBY3RpdmVFbGVtZW50KCl7dmFyIHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtmb3IodCYmdCBpbnN0YW5jZW9mIEVsZW1lbnQhPSExfHwodD1kb2N1bWVudC5ib2R5KTt0LnJvb3QmJmVyKHQucm9vdCkuYWN0aXZlRWxlbWVudDspdD1lcih0LnJvb3QpLmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIHR9X2JyaW5nT3ZlcmxheUF0SW5kZXhUb0Zyb250KHQpe3ZhciBlPXRoaXMuX292ZXJsYXlzW3RdO2lmKGUpe3ZhciBuPXRoaXMuX292ZXJsYXlzLmxlbmd0aC0xLGk9dGhpcy5fb3ZlcmxheXNbbl07aWYoaSYmdGhpcy5fc2hvdWxkQmVCZWhpbmRPdmVybGF5KGUsaSkmJm4tLSwhKHQ+PW4pKXt2YXIgcj1NYXRoLm1heCh0aGlzLmN1cnJlbnRPdmVybGF5WigpLHRoaXMuX21pbmltdW1aKTtmb3IodGhpcy5fZ2V0WihlKTw9ciYmdGhpcy5fYXBwbHlPdmVybGF5WihlLHIpO3Q8bjspdGhpcy5fb3ZlcmxheXNbdF09dGhpcy5fb3ZlcmxheXNbdCsxXSx0Kys7dGhpcy5fb3ZlcmxheXNbbl09ZX19fWFkZE9yUmVtb3ZlT3ZlcmxheSh0KXt0Lm9wZW5lZD90aGlzLmFkZE92ZXJsYXkodCk6dGhpcy5yZW1vdmVPdmVybGF5KHQpfWFkZE92ZXJsYXkodCl7dmFyIGU9dGhpcy5fb3ZlcmxheXMuaW5kZXhPZih0KTtpZihlPj0wKXJldHVybiB0aGlzLl9icmluZ092ZXJsYXlBdEluZGV4VG9Gcm9udChlKSx2b2lkIHRoaXMudHJhY2tCYWNrZHJvcCgpO3ZhciBuPXRoaXMuX292ZXJsYXlzLmxlbmd0aCxpPXRoaXMuX292ZXJsYXlzW24tMV0scj1NYXRoLm1heCh0aGlzLl9nZXRaKGkpLHRoaXMuX21pbmltdW1aKSxvPXRoaXMuX2dldFoodCk7aSYmdGhpcy5fc2hvdWxkQmVCZWhpbmRPdmVybGF5KHQsaSkmJih0aGlzLl9hcHBseU92ZXJsYXlaKGksciksbi0tLHI9TWF0aC5tYXgodGhpcy5fZ2V0Wih0aGlzLl9vdmVybGF5c1tuLTFdKSx0aGlzLl9taW5pbXVtWikpO288PXImJnRoaXMuX2FwcGx5T3ZlcmxheVoodCxyKSx0aGlzLl9vdmVybGF5cy5zcGxpY2UobiwwLHQpLHRoaXMudHJhY2tCYWNrZHJvcCgpfXJlbW92ZU92ZXJsYXkodCl7dmFyIGU9dGhpcy5fb3ZlcmxheXMuaW5kZXhPZih0KTstMSE9PWUmJih0aGlzLl9vdmVybGF5cy5zcGxpY2UoZSwxKSx0aGlzLnRyYWNrQmFja2Ryb3AoKSl9Y3VycmVudE92ZXJsYXkoKXtyZXR1cm4gdGhpcy5fb3ZlcmxheXNbdGhpcy5fb3ZlcmxheXMubGVuZ3RoLTFdfWN1cnJlbnRPdmVybGF5Wigpe3JldHVybiB0aGlzLl9nZXRaKHRoaXMuY3VycmVudE92ZXJsYXkoKSl9ZW5zdXJlTWluaW11bVoodCl7dGhpcy5fbWluaW11bVo9TWF0aC5tYXgodGhpcy5fbWluaW11bVosdCl9Zm9jdXNPdmVybGF5KCl7dmFyIHQ9dGhpcy5jdXJyZW50T3ZlcmxheSgpO3QmJnQuX2FwcGx5Rm9jdXMoKX10cmFja0JhY2tkcm9wKCl7dmFyIHQ9dGhpcy5fb3ZlcmxheVdpdGhCYWNrZHJvcCgpOyh0fHx0aGlzLl9iYWNrZHJvcEVsZW1lbnQpJiYodGhpcy5iYWNrZHJvcEVsZW1lbnQuc3R5bGUuekluZGV4PXRoaXMuX2dldFoodCktMSx0aGlzLmJhY2tkcm9wRWxlbWVudC5vcGVuZWQ9ISF0LHRoaXMuYmFja2Ryb3BFbGVtZW50LnByZXBhcmUoKSl9Z2V0QmFja2Ryb3BzKCl7Zm9yKHZhciB0PVtdLGU9MDtlPHRoaXMuX292ZXJsYXlzLmxlbmd0aDtlKyspdGhpcy5fb3ZlcmxheXNbZV0ud2l0aEJhY2tkcm9wJiZ0LnB1c2godGhpcy5fb3ZlcmxheXNbZV0pO3JldHVybiB0fWJhY2tkcm9wWigpe3JldHVybiB0aGlzLl9nZXRaKHRoaXMuX292ZXJsYXlXaXRoQmFja2Ryb3AoKSktMX1fb3ZlcmxheVdpdGhCYWNrZHJvcCgpe2Zvcih2YXIgdD10aGlzLl9vdmVybGF5cy5sZW5ndGgtMTt0Pj0wO3QtLSlpZih0aGlzLl9vdmVybGF5c1t0XS53aXRoQmFja2Ryb3ApcmV0dXJuIHRoaXMuX292ZXJsYXlzW3RdfV9nZXRaKHQpe3ZhciBlPXRoaXMuX21pbmltdW1aO2lmKHQpe3ZhciBuPU51bWJlcih0LnN0eWxlLnpJbmRleHx8d2luZG93LmdldENvbXB1dGVkU3R5bGUodCkuekluZGV4KTtuPT1uJiYoZT1uKX1yZXR1cm4gZX1fc2V0Wih0LGUpe3Quc3R5bGUuekluZGV4PWV9X2FwcGx5T3ZlcmxheVoodCxlKXt0aGlzLl9zZXRaKHQsZSsyKX1fb3ZlcmxheUluUGF0aCh0KXt0PXR8fFtdO2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKHRbZV0uX21hbmFnZXI9PT10aGlzKXJldHVybiB0W2VdfV9vbkNhcHR1cmVDbGljayh0KXt2YXIgZT10aGlzLl9vdmVybGF5cy5sZW5ndGgtMTtpZigtMSE9PWUpZm9yKHZhciBuLGk9ZXIodCkucGF0aDsobj10aGlzLl9vdmVybGF5c1tlXSkmJnRoaXMuX292ZXJsYXlJblBhdGgoaSkhPT1uJiYobi5fb25DYXB0dXJlQ2xpY2sodCksbi5hbGxvd0NsaWNrVGhyb3VnaCk7KWUtLX1fb25DYXB0dXJlRm9jdXModCl7dmFyIGU9dGhpcy5jdXJyZW50T3ZlcmxheSgpO2UmJmUuX29uQ2FwdHVyZUZvY3VzKHQpfV9vbkNhcHR1cmVLZXlEb3duKHQpe3ZhciBlPXRoaXMuY3VycmVudE92ZXJsYXkoKTtlJiYoWG8ua2V5Ym9hcmRFdmVudE1hdGNoZXNLZXlzKHQsImVzYyIpP2UuX29uQ2FwdHVyZUVzYyh0KTpYby5rZXlib2FyZEV2ZW50TWF0Y2hlc0tleXModCwidGFiIikmJmUuX29uQ2FwdHVyZVRhYih0KSl9X3Nob3VsZEJlQmVoaW5kT3ZlcmxheSh0LGUpe3JldHVybiF0LmFsd2F5c09uVG9wJiZlLmFsd2F5c09uVG9wfX07Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL3ZhciBJYSxSYSxPYT17cGFnZVg6MCxwYWdlWTowfSx6YT1udWxsLERhPVtdLEJhPVsid2hlZWwiLCJtb3VzZXdoZWVsIiwiRE9NTW91c2VTY3JvbGwiLCJ0b3VjaHN0YXJ0IiwidG91Y2htb3ZlIl07ZnVuY3Rpb24gSGEodCl7VmEuaW5kZXhPZih0KT49MHx8KDA9PT1WYS5sZW5ndGgmJihmdW5jdGlvbiBlKCl7SWE9SWF8fFVhLmJpbmQodm9pZCAwKTtmb3IodmFyIHQ9MCxlPUJhLmxlbmd0aDt0PGU7dCsrKWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoQmFbdF0sSWEse2NhcHR1cmU6ITAscGFzc2l2ZTohMX0pfSkoKSxWYS5wdXNoKHQpLFJhPVZhW1ZhLmxlbmd0aC0xXSl9ZnVuY3Rpb24gRmEodCl7dmFyIGU9VmEuaW5kZXhPZih0KTstMSE9PWUmJihWYS5zcGxpY2UoZSwxKSxSYT1WYVtWYS5sZW5ndGgtMV0sMD09PVZhLmxlbmd0aCYmKGZ1bmN0aW9uIG4oKXtmb3IodmFyIHQ9MCxlPUJhLmxlbmd0aDt0PGU7dCsrKWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoQmFbdF0sSWEse2NhcHR1cmU6ITAscGFzc2l2ZTohMX0pfSkoKSl9Y29uc3QgVmE9W107ZnVuY3Rpb24gVWEodCl7aWYodC5jYW5jZWxhYmxlJiYoZnVuY3Rpb24gZSh0KXt2YXIgZT1lcih0KS5yb290VGFyZ2V0OyJ0b3VjaG1vdmUiIT09dC50eXBlJiZ6YSE9PWUmJih6YT1lLERhPShmdW5jdGlvbiBuKHQpe2Zvcih2YXIgZT1bXSxuPXQuaW5kZXhPZihSYSksaT0wO2k8PW47aSsrKWlmKHRbaV0ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSl7dmFyIHI9dFtpXSxvPXIuc3R5bGU7InNjcm9sbCIhPT1vLm92ZXJmbG93JiYiYXV0byIhPT1vLm92ZXJmbG93JiYobz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShyKSksInNjcm9sbCIhPT1vLm92ZXJmbG93JiYiYXV0byIhPT1vLm92ZXJmbG93fHxlLnB1c2gocil9cmV0dXJuIGV9KShlcih0KS5wYXRoKSk7aWYoIURhLmxlbmd0aClyZXR1cm4hMDtpZigidG91Y2hzdGFydCI9PT10LnR5cGUpcmV0dXJuITE7dmFyIGk9KGZ1bmN0aW9uIHIodCl7dmFyIGU9e2RlbHRhWDp0LmRlbHRhWCxkZWx0YVk6dC5kZWx0YVl9O2lmKCJkZWx0YVgiaW4gdCk7ZWxzZSBpZigid2hlZWxEZWx0YVgiaW4gdCYmIndoZWVsRGVsdGFZImluIHQpZS5kZWx0YVg9LXQud2hlZWxEZWx0YVgsZS5kZWx0YVk9LXQud2hlZWxEZWx0YVk7ZWxzZSBpZigid2hlZWxEZWx0YSJpbiB0KWUuZGVsdGFYPTAsZS5kZWx0YVk9LXQud2hlZWxEZWx0YTtlbHNlIGlmKCJheGlzImluIHQpZS5kZWx0YVg9MT09PXQuYXhpcz90LmRldGFpbDowLGUuZGVsdGFZPTI9PT10LmF4aXM/dC5kZXRhaWw6MDtlbHNlIGlmKHQudGFyZ2V0VG91Y2hlcyl7dmFyIG49dC50YXJnZXRUb3VjaGVzWzBdO2UuZGVsdGFYPU9hLnBhZ2VYLW4ucGFnZVgsZS5kZWx0YVk9T2EucGFnZVktbi5wYWdlWX1yZXR1cm4gZX0KLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovKSh0KTtyZXR1cm4hKGZ1bmN0aW9uIG8odCxlLG4pe2lmKCFlJiYhbilyZXR1cm47Zm9yKHZhciBpPU1hdGguYWJzKG4pPj1NYXRoLmFicyhlKSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBvPXRbcl07aWYoaT9uPDA/by5zY3JvbGxUb3A+MDpvLnNjcm9sbFRvcDxvLnNjcm9sbEhlaWdodC1vLmNsaWVudEhlaWdodDplPDA/by5zY3JvbGxMZWZ0PjA6by5zY3JvbGxMZWZ0PG8uc2Nyb2xsV2lkdGgtby5jbGllbnRXaWR0aClyZXR1cm4gb319KShEYSxpLmRlbHRhWCxpLmRlbHRhWSl9KSh0KSYmdC5wcmV2ZW50RGVmYXVsdCgpLHQudGFyZ2V0VG91Y2hlcyl7dmFyIG49dC50YXJnZXRUb3VjaGVzWzBdO09hLnBhZ2VYPW4ucGFnZVgsT2EucGFnZVk9bi5wYWdlWX19Y29uc3QgamE9e3Byb3BlcnRpZXM6e29wZW5lZDp7b2JzZXJ2ZXI6Il9vcGVuZWRDaGFuZ2VkIix0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwfSxjYW5jZWxlZDp7b2JzZXJ2ZXI6Il9jYW5jZWxlZENoYW5nZWQiLHJlYWRPbmx5OiEwLHR5cGU6Qm9vbGVhbix2YWx1ZTohMX0sd2l0aEJhY2tkcm9wOntvYnNlcnZlcjoiX3dpdGhCYWNrZHJvcENoYW5nZWQiLHR5cGU6Qm9vbGVhbn0sbm9BdXRvRm9jdXM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sbm9DYW5jZWxPbkVzY0tleTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxub0NhbmNlbE9uT3V0c2lkZUNsaWNrOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGNsb3NpbmdSZWFzb246e3R5cGU6T2JqZWN0fSxyZXN0b3JlRm9jdXNPbkNsb3NlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGFsbG93Q2xpY2tUaHJvdWdoOnt0eXBlOkJvb2xlYW59LGFsd2F5c09uVG9wOnt0eXBlOkJvb2xlYW59LHNjcm9sbEFjdGlvbjp7dHlwZTpTdHJpbmd9LF9tYW5hZ2VyOnt0eXBlOk9iamVjdCx2YWx1ZTpOYX0sX2ZvY3VzZWRDaGlsZDp7dHlwZTpPYmplY3R9fSxsaXN0ZW5lcnM6eyJpcm9uLXJlc2l6ZSI6Il9vbklyb25SZXNpemUifSxvYnNlcnZlcnM6WyJfX3VwZGF0ZVNjcm9sbE9ic2VydmVycyhpc0F0dGFjaGVkLCBvcGVuZWQsIHNjcm9sbEFjdGlvbikiXSxnZXQgYmFja2Ryb3BFbGVtZW50KCl7cmV0dXJuIHRoaXMuX21hbmFnZXIuYmFja2Ryb3BFbGVtZW50fSxnZXQgX2ZvY3VzTm9kZSgpe3JldHVybiB0aGlzLl9mb2N1c2VkQ2hpbGR8fGVyKHRoaXMpLnF1ZXJ5U2VsZWN0b3IoIlthdXRvZm9jdXNdIil8fHRoaXN9LGdldCBfZm9jdXNhYmxlTm9kZXMoKXtyZXR1cm4gUGEuZ2V0VGFiYmFibGVOb2Rlcyh0aGlzKX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl9faXNBbmltYXRpbmc9ITEsdGhpcy5fX3Nob3VsZFJlbW92ZVRhYkluZGV4PSExLHRoaXMuX19maXJzdEZvY3VzYWJsZU5vZGU9dGhpcy5fX2xhc3RGb2N1c2FibGVOb2RlPW51bGwsdGhpcy5fX3JhZnM9e30sdGhpcy5fX3Jlc3RvcmVGb2N1c05vZGU9bnVsbCx0aGlzLl9fc2Nyb2xsVG9wPXRoaXMuX19zY3JvbGxMZWZ0PW51bGwsdGhpcy5fX29uQ2FwdHVyZVNjcm9sbD10aGlzLl9fb25DYXB0dXJlU2Nyb2xsLmJpbmQodGhpcyksdGhpcy5fX3Jvb3ROb2Rlcz1udWxsLHRoaXMuX2Vuc3VyZVNldHVwKCl9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQmJnRoaXMuX29wZW5lZENoYW5nZWQodGhpcy5vcGVuZWQpLHRoaXMuX29ic2VydmVyPWVyKHRoaXMpLm9ic2VydmVOb2Rlcyh0aGlzLl9vbk5vZGVzQ2hhbmdlKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcy5fb2JzZXJ2ZXImJmVyKHRoaXMpLnVub2JzZXJ2ZU5vZGVzKHRoaXMuX29ic2VydmVyKSx0aGlzLl9vYnNlcnZlcj1udWxsLHRoaXMuX19yYWZzKW51bGwhPT10aGlzLl9fcmFmc1t0XSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fX3JhZnNbdF0pO3RoaXMuX19yYWZzPXt9LHRoaXMuX21hbmFnZXIucmVtb3ZlT3ZlcmxheSh0aGlzKSx0aGlzLl9faXNBbmltYXRpbmcmJih0aGlzLm9wZW5lZD90aGlzLl9maW5pc2hSZW5kZXJPcGVuZWQoKToodGhpcy5fYXBwbHlGb2N1cygpLHRoaXMuX2ZpbmlzaFJlbmRlckNsb3NlZCgpKSl9LHRvZ2dsZTpmdW5jdGlvbigpe3RoaXMuX3NldENhbmNlbGVkKCExKSx0aGlzLm9wZW5lZD0hdGhpcy5vcGVuZWR9LG9wZW46ZnVuY3Rpb24oKXt0aGlzLl9zZXRDYW5jZWxlZCghMSksdGhpcy5vcGVuZWQ9ITB9LGNsb3NlOmZ1bmN0aW9uKCl7dGhpcy5fc2V0Q2FuY2VsZWQoITEpLHRoaXMub3BlbmVkPSExfSxjYW5jZWw6ZnVuY3Rpb24odCl7dGhpcy5maXJlKCJpcm9uLW92ZXJsYXktY2FuY2VsZWQiLHQse2NhbmNlbGFibGU6ITB9KS5kZWZhdWx0UHJldmVudGVkfHwodGhpcy5fc2V0Q2FuY2VsZWQoITApLHRoaXMub3BlbmVkPSExKX0saW52YWxpZGF0ZVRhYmJhYmxlczpmdW5jdGlvbigpe3RoaXMuX19maXJzdEZvY3VzYWJsZU5vZGU9dGhpcy5fX2xhc3RGb2N1c2FibGVOb2RlPW51bGx9LF9lbnN1cmVTZXR1cDpmdW5jdGlvbigpe3RoaXMuX292ZXJsYXlTZXR1cHx8KHRoaXMuX292ZXJsYXlTZXR1cD0hMCx0aGlzLnN0eWxlLm91dGxpbmU9Im5vbmUiLHRoaXMuc3R5bGUuZGlzcGxheT0ibm9uZSIpfSxfb3BlbmVkQ2hhbmdlZDpmdW5jdGlvbih0KXt0P3RoaXMucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpOnRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0aGlzLmlzQXR0YWNoZWQmJih0aGlzLl9faXNBbmltYXRpbmc9ITAsdGhpcy5fX2RlcmFmKCJfX29wZW5lZENoYW5nZWQiLHRoaXMuX19vcGVuZWRDaGFuZ2VkKSl9LF9jYW5jZWxlZENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmNsb3NpbmdSZWFzb249dGhpcy5jbG9zaW5nUmVhc29ufHx7fSx0aGlzLmNsb3NpbmdSZWFzb24uY2FuY2VsZWQ9dGhpcy5jYW5jZWxlZH0sX3dpdGhCYWNrZHJvcENoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLndpdGhCYWNrZHJvcCYmIXRoaXMuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpPyh0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCItMSIpLHRoaXMuX19zaG91bGRSZW1vdmVUYWJJbmRleD0hMCk6dGhpcy5fX3Nob3VsZFJlbW92ZVRhYkluZGV4JiYodGhpcy5yZW1vdmVBdHRyaWJ1dGUoInRhYmluZGV4IiksdGhpcy5fX3Nob3VsZFJlbW92ZVRhYkluZGV4PSExKSx0aGlzLm9wZW5lZCYmdGhpcy5pc0F0dGFjaGVkJiZ0aGlzLl9tYW5hZ2VyLnRyYWNrQmFja2Ryb3AoKX0sX3ByZXBhcmVSZW5kZXJPcGVuZWQ6ZnVuY3Rpb24oKXt0aGlzLl9fcmVzdG9yZUZvY3VzTm9kZT10aGlzLl9tYW5hZ2VyLmRlZXBBY3RpdmVFbGVtZW50LHRoaXMuX3ByZXBhcmVQb3NpdGlvbmluZygpLHRoaXMucmVmaXQoKSx0aGlzLl9maW5pc2hQb3NpdGlvbmluZygpLHRoaXMubm9BdXRvRm9jdXMmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT10aGlzLl9mb2N1c05vZGUmJih0aGlzLl9mb2N1c05vZGUuYmx1cigpLHRoaXMuX19yZXN0b3JlRm9jdXNOb2RlLmZvY3VzKCkpfSxfcmVuZGVyT3BlbmVkOmZ1bmN0aW9uKCl7dGhpcy5fZmluaXNoUmVuZGVyT3BlbmVkKCl9LF9yZW5kZXJDbG9zZWQ6ZnVuY3Rpb24oKXt0aGlzLl9maW5pc2hSZW5kZXJDbG9zZWQoKX0sX2ZpbmlzaFJlbmRlck9wZW5lZDpmdW5jdGlvbigpe3RoaXMubm90aWZ5UmVzaXplKCksdGhpcy5fX2lzQW5pbWF0aW5nPSExLHRoaXMuZmlyZSgiaXJvbi1vdmVybGF5LW9wZW5lZCIpfSxfZmluaXNoUmVuZGVyQ2xvc2VkOmZ1bmN0aW9uKCl7dGhpcy5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLnN0eWxlLnpJbmRleD0iIix0aGlzLm5vdGlmeVJlc2l6ZSgpLHRoaXMuX19pc0FuaW1hdGluZz0hMSx0aGlzLmZpcmUoImlyb24tb3ZlcmxheS1jbG9zZWQiLHRoaXMuY2xvc2luZ1JlYXNvbil9LF9wcmVwYXJlUG9zaXRpb25pbmc6ZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnRyYW5zaXRpb249dGhpcy5zdHlsZS53ZWJraXRUcmFuc2l0aW9uPSJub25lIix0aGlzLnN0eWxlLnRyYW5zZm9ybT10aGlzLnN0eWxlLndlYmtpdFRyYW5zZm9ybT0ibm9uZSIsdGhpcy5zdHlsZS5kaXNwbGF5PSIifSxfZmluaXNoUG9zaXRpb25pbmc6ZnVuY3Rpb24oKXt0aGlzLnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuc2Nyb2xsVG9wPXRoaXMuc2Nyb2xsVG9wLHRoaXMuc3R5bGUudHJhbnNpdGlvbj10aGlzLnN0eWxlLndlYmtpdFRyYW5zaXRpb249IiIsdGhpcy5zdHlsZS50cmFuc2Zvcm09dGhpcy5zdHlsZS53ZWJraXRUcmFuc2Zvcm09IiIsdGhpcy5zdHlsZS5kaXNwbGF5PSIiLHRoaXMuc2Nyb2xsVG9wPXRoaXMuc2Nyb2xsVG9wfSxfYXBwbHlGb2N1czpmdW5jdGlvbigpe2lmKHRoaXMub3BlbmVkKXRoaXMubm9BdXRvRm9jdXN8fHRoaXMuX2ZvY3VzTm9kZS5mb2N1cygpO2Vsc2V7aWYodGhpcy5yZXN0b3JlRm9jdXNPbkNsb3NlJiZ0aGlzLl9fcmVzdG9yZUZvY3VzTm9kZSl7dmFyIHQ9dGhpcy5fbWFuYWdlci5kZWVwQWN0aXZlRWxlbWVudDsodD09PWRvY3VtZW50LmJvZHl8fEdhKHRoaXMsdCkpJiZ0aGlzLl9fcmVzdG9yZUZvY3VzTm9kZS5mb2N1cygpfXRoaXMuX19yZXN0b3JlRm9jdXNOb2RlPW51bGwsdGhpcy5fZm9jdXNOb2RlLmJsdXIoKSx0aGlzLl9mb2N1c2VkQ2hpbGQ9bnVsbH19LF9vbkNhcHR1cmVDbGljazpmdW5jdGlvbih0KXt0aGlzLm5vQ2FuY2VsT25PdXRzaWRlQ2xpY2t8fHRoaXMuY2FuY2VsKHQpfSxfb25DYXB0dXJlRm9jdXM6ZnVuY3Rpb24odCl7aWYodGhpcy53aXRoQmFja2Ryb3Ape3ZhciBlPWVyKHQpLnBhdGg7LTE9PT1lLmluZGV4T2YodGhpcyk/KHQuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5fYXBwbHlGb2N1cygpKTp0aGlzLl9mb2N1c2VkQ2hpbGQ9ZVswXX19LF9vbkNhcHR1cmVFc2M6ZnVuY3Rpb24odCl7dGhpcy5ub0NhbmNlbE9uRXNjS2V5fHx0aGlzLmNhbmNlbCh0KX0sX29uQ2FwdHVyZVRhYjpmdW5jdGlvbih0KXtpZih0aGlzLndpdGhCYWNrZHJvcCl7dGhpcy5fX2Vuc3VyZUZpcnN0TGFzdEZvY3VzYWJsZXMoKTt2YXIgZT10LnNoaWZ0S2V5LG49ZT90aGlzLl9fZmlyc3RGb2N1c2FibGVOb2RlOnRoaXMuX19sYXN0Rm9jdXNhYmxlTm9kZSxpPWU/dGhpcy5fX2xhc3RGb2N1c2FibGVOb2RlOnRoaXMuX19maXJzdEZvY3VzYWJsZU5vZGUscj0hMTtpZihuPT09aSlyPSEwO2Vsc2V7dmFyIG89dGhpcy5fbWFuYWdlci5kZWVwQWN0aXZlRWxlbWVudDtyPW89PT1ufHxvPT09dGhpc31yJiYodC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2ZvY3VzZWRDaGlsZD1pLHRoaXMuX2FwcGx5Rm9jdXMoKSl9fSxfb25Jcm9uUmVzaXplOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQmJiF0aGlzLl9faXNBbmltYXRpbmcmJnRoaXMuX19kZXJhZigicmVmaXQiLHRoaXMucmVmaXQpfSxfb25Ob2Rlc0NoYW5nZTpmdW5jdGlvbigpe3RoaXMub3BlbmVkJiYhdGhpcy5fX2lzQW5pbWF0aW5nJiYodGhpcy5pbnZhbGlkYXRlVGFiYmFibGVzKCksdGhpcy5ub3RpZnlSZXNpemUoKSl9LF9fZW5zdXJlRmlyc3RMYXN0Rm9jdXNhYmxlczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2ZvY3VzYWJsZU5vZGVzO3RoaXMuX19maXJzdEZvY3VzYWJsZU5vZGU9dFswXSx0aGlzLl9fbGFzdEZvY3VzYWJsZU5vZGU9dFt0Lmxlbmd0aC0xXX0sX19vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ/KHRoaXMuX3ByZXBhcmVSZW5kZXJPcGVuZWQoKSx0aGlzLl9tYW5hZ2VyLmFkZE92ZXJsYXkodGhpcyksdGhpcy5fYXBwbHlGb2N1cygpLHRoaXMuX3JlbmRlck9wZW5lZCgpKToodGhpcy5fbWFuYWdlci5yZW1vdmVPdmVybGF5KHRoaXMpLHRoaXMuX2FwcGx5Rm9jdXMoKSx0aGlzLl9yZW5kZXJDbG9zZWQoKSl9LF9fZGVyYWY6ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9fcmFmcztudWxsIT09blt0XSYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoblt0XSksblt0XT1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24gaSgpe25bdF09bnVsbCxlLmNhbGwodGhpcyl9LmJpbmQodGhpcykpfSxfX3VwZGF0ZVNjcm9sbE9ic2VydmVyczpmdW5jdGlvbih0LGUsbil7dCYmZSYmdGhpcy5fX2lzVmFsaWRTY3JvbGxBY3Rpb24obik/KCJsb2NrIj09PW4mJih0aGlzLl9fc2F2ZVNjcm9sbFBvc2l0aW9uKCksSGEodGhpcykpLHRoaXMuX19hZGRTY3JvbGxMaXN0ZW5lcnMoKSk6KEZhKHRoaXMpLHRoaXMuX19yZW1vdmVTY3JvbGxMaXN0ZW5lcnMoKSl9LF9fYWRkU2Nyb2xsTGlzdGVuZXJzOmZ1bmN0aW9uKCl7aWYoIXRoaXMuX19yb290Tm9kZXMpe2lmKHRoaXMuX19yb290Tm9kZXM9W10sbSlmb3IodmFyIHQ9dGhpczt0Oyl0Lm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFJiZ0Lmhvc3QmJnRoaXMuX19yb290Tm9kZXMucHVzaCh0KSx0PXQuaG9zdHx8dC5hc3NpZ25lZFNsb3R8fHQucGFyZW50Tm9kZTt0aGlzLl9fcm9vdE5vZGVzLnB1c2goZG9jdW1lbnQpfXRoaXMuX19yb290Tm9kZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX19vbkNhcHR1cmVTY3JvbGwse2NhcHR1cmU6ITAscGFzc2l2ZTohMH0pfSksdGhpcyl9LF9fcmVtb3ZlU2Nyb2xsTGlzdGVuZXJzOmZ1bmN0aW9uKCl7dGhpcy5fX3Jvb3ROb2RlcyYmdGhpcy5fX3Jvb3ROb2Rlcy5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5fX29uQ2FwdHVyZVNjcm9sbCx7Y2FwdHVyZTohMCxwYXNzaXZlOiEwfSl9KSx0aGlzKSx0aGlzLmlzQXR0YWNoZWR8fCh0aGlzLl9fcm9vdE5vZGVzPW51bGwpfSxfX2lzVmFsaWRTY3JvbGxBY3Rpb246ZnVuY3Rpb24odCl7cmV0dXJuImxvY2siPT09dHx8InJlZml0Ij09PXR8fCJjYW5jZWwiPT09dH0sX19vbkNhcHR1cmVTY3JvbGw6ZnVuY3Rpb24odCl7aWYoISh0aGlzLl9faXNBbmltYXRpbmd8fGVyKHQpLnBhdGguaW5kZXhPZih0aGlzKT49MCkpc3dpdGNoKHRoaXMuc2Nyb2xsQWN0aW9uKXtjYXNlImxvY2siOnRoaXMuX19yZXN0b3JlU2Nyb2xsUG9zaXRpb24oKTticmVhaztjYXNlInJlZml0Ijp0aGlzLl9fZGVyYWYoInJlZml0Iix0aGlzLnJlZml0KTticmVhaztjYXNlImNhbmNlbCI6dGhpcy5jYW5jZWwodCl9fSxfX3NhdmVTY3JvbGxQb3NpdGlvbjpmdW5jdGlvbigpe2RvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQ/KHRoaXMuX19zY3JvbGxUb3A9ZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AsdGhpcy5fX3Njcm9sbExlZnQ9ZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxMZWZ0KToodGhpcy5fX3Njcm9sbFRvcD1NYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wLGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKSx0aGlzLl9fc2Nyb2xsTGVmdD1NYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCxkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQpKX0sX19yZXN0b3JlU2Nyb2xsUG9zaXRpb246ZnVuY3Rpb24oKXtkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50Pyhkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcD10aGlzLl9fc2Nyb2xsVG9wLGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsTGVmdD10aGlzLl9fc2Nyb2xsTGVmdCk6KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A9dGhpcy5fX3Njcm9sbFRvcCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdD1kb2N1bWVudC5ib2R5LnNjcm9sbExlZnQ9dGhpcy5fX3Njcm9sbExlZnQpfX0sR2E9KHQsZSk9Pntmb3IobGV0IGk9ZTtpO2k9KG49aSkuYXNzaWduZWRTbG90fHxuLnBhcmVudE5vZGV8fG4uaG9zdClpZihpPT09dClyZXR1cm4hMDt2YXIgbjtyZXR1cm4hMX0sV2E9W0FhLENvLGphXSxxYT17aG9zdEF0dHJpYnV0ZXM6e3JvbGU6ImRpYWxvZyIsdGFiaW5kZXg6Ii0xIn0scHJvcGVydGllczp7bW9kYWw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX19yZWFkaWVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxvYnNlcnZlcnM6WyJfbW9kYWxDaGFuZ2VkKG1vZGFsLCBfX3JlYWRpZWQpIl0sbGlzdGVuZXJzOnt0YXA6Il9vbkRpYWxvZ0NsaWNrIn0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl9fcHJldk5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s9dGhpcy5ub0NhbmNlbE9uT3V0c2lkZUNsaWNrLHRoaXMuX19wcmV2Tm9DYW5jZWxPbkVzY0tleT10aGlzLm5vQ2FuY2VsT25Fc2NLZXksdGhpcy5fX3ByZXZXaXRoQmFja2Ryb3A9dGhpcy53aXRoQmFja2Ryb3AsdGhpcy5fX3JlYWRpZWQ9ITB9LF9tb2RhbENoYW5nZWQ6ZnVuY3Rpb24odCxlKXtlJiYodD8odGhpcy5fX3ByZXZOb0NhbmNlbE9uT3V0c2lkZUNsaWNrPXRoaXMubm9DYW5jZWxPbk91dHNpZGVDbGljayx0aGlzLl9fcHJldk5vQ2FuY2VsT25Fc2NLZXk9dGhpcy5ub0NhbmNlbE9uRXNjS2V5LHRoaXMuX19wcmV2V2l0aEJhY2tkcm9wPXRoaXMud2l0aEJhY2tkcm9wLHRoaXMubm9DYW5jZWxPbk91dHNpZGVDbGljaz0hMCx0aGlzLm5vQ2FuY2VsT25Fc2NLZXk9ITAsdGhpcy53aXRoQmFja2Ryb3A9ITApOih0aGlzLm5vQ2FuY2VsT25PdXRzaWRlQ2xpY2s9dGhpcy5ub0NhbmNlbE9uT3V0c2lkZUNsaWNrJiZ0aGlzLl9fcHJldk5vQ2FuY2VsT25PdXRzaWRlQ2xpY2ssdGhpcy5ub0NhbmNlbE9uRXNjS2V5PXRoaXMubm9DYW5jZWxPbkVzY0tleSYmdGhpcy5fX3ByZXZOb0NhbmNlbE9uRXNjS2V5LHRoaXMud2l0aEJhY2tkcm9wPXRoaXMud2l0aEJhY2tkcm9wJiZ0aGlzLl9fcHJldldpdGhCYWNrZHJvcCkpfSxfdXBkYXRlQ2xvc2luZ1JlYXNvbkNvbmZpcm1lZDpmdW5jdGlvbih0KXt0aGlzLmNsb3NpbmdSZWFzb249dGhpcy5jbG9zaW5nUmVhc29ufHx7fSx0aGlzLmNsb3NpbmdSZWFzb24uY29uZmlybWVkPXR9LF9vbkRpYWxvZ0NsaWNrOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1lcih0KS5wYXRoLG49MCxpPWUuaW5kZXhPZih0aGlzKTtuPGk7bisrKXt2YXIgcj1lW25dO2lmKHIuaGFzQXR0cmlidXRlJiYoci5oYXNBdHRyaWJ1dGUoImRpYWxvZy1kaXNtaXNzIil8fHIuaGFzQXR0cmlidXRlKCJkaWFsb2ctY29uZmlybSIpKSl7dGhpcy5fdXBkYXRlQ2xvc2luZ1JlYXNvbkNvbmZpcm1lZChyLmhhc0F0dHJpYnV0ZSgiZGlhbG9nLWNvbmZpcm0iKSksdGhpcy5jbG9zZSgpLHQuc3RvcFByb3BhZ2F0aW9uKCk7YnJlYWt9fX19OwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1kaWFsb2ctc2hhcmVkLXN0eWxlcyI+PC9zdHlsZT4KICAgIDxzbG90Pjwvc2xvdD4KYCxpczoicGFwZXItZGlhbG9nIixiZWhhdmlvcnM6W1tXYSxxYV0sVGFdLGxpc3RlbmVyczp7Im5lb24tYW5pbWF0aW9uLWZpbmlzaCI6Il9vbk5lb25BbmltYXRpb25GaW5pc2gifSxfcmVuZGVyT3BlbmVkOmZ1bmN0aW9uKCl7dGhpcy5jYW5jZWxBbmltYXRpb24oKSx0aGlzLnBsYXlBbmltYXRpb24oImVudHJ5Iil9LF9yZW5kZXJDbG9zZWQ6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbEFuaW1hdGlvbigpLHRoaXMucGxheUFuaW1hdGlvbigiZXhpdCIpfSxfb25OZW9uQW5pbWF0aW9uRmluaXNoOmZ1bmN0aW9uKCl7dGhpcy5vcGVuZWQ/dGhpcy5fZmluaXNoUmVuZGVyT3BlbmVkKCk6dGhpcy5fZmluaXNoUmVuZGVyQ2xvc2VkKCl9fSksCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpqcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgoKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIEBhcHBseSAtLWxheW91dC1yZWxhdGl2ZTsKICAgICAgfQoKICAgICAgOmhvc3QoLmlzLXNjcm9sbGVkOm5vdCg6Zmlyc3QtY2hpbGQpKTo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGl2aWRlci1jb2xvcik7CiAgICAgIH0KCiAgICAgIDpob3N0KC5jYW4tc2Nyb2xsOm5vdCguc2Nyb2xsZWQtdG8tYm90dG9tKTpub3QoOmxhc3QtY2hpbGQpKTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kaXZpZGVyLWNvbG9yKTsKICAgICAgfQoKICAgICAgLnNjcm9sbGFibGUgewogICAgICAgIHBhZGRpbmc6IDAgMjRweDsKCiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXNjcm9sbDsKICAgICAgICBAYXBwbHkgLS1wYXBlci1kaWFsb2ctc2Nyb2xsYWJsZTsKICAgICAgfQoKICAgICAgLmZpdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZpdDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJzY3JvbGxhYmxlIiBjbGFzcz0ic2Nyb2xsYWJsZSIgb24tc2Nyb2xsPSJ1cGRhdGVTY3JvbGxTdGF0ZSI+CiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIDwvZGl2PgpgLGlzOiJwYXBlci1kaWFsb2ctc2Nyb2xsYWJsZSIscHJvcGVydGllczp7ZGlhbG9nRWxlbWVudDp7dHlwZTpPYmplY3R9fSxnZXQgc2Nyb2xsVGFyZ2V0KCl7cmV0dXJuIHRoaXMuJC5zY3JvbGxhYmxlfSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuX2Vuc3VyZVRhcmdldCgpLHRoaXMuY2xhc3NMaXN0LmFkZCgibm8tcGFkZGluZyIpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2Vuc3VyZVRhcmdldCgpLHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnVwZGF0ZVNjcm9sbFN0YXRlLmJpbmQodGhpcykpfSx1cGRhdGVTY3JvbGxTdGF0ZTpmdW5jdGlvbigpe3RoaXMudG9nZ2xlQ2xhc3MoImlzLXNjcm9sbGVkIix0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxUb3A+MCksdGhpcy50b2dnbGVDbGFzcygiY2FuLXNjcm9sbCIsdGhpcy5zY3JvbGxUYXJnZXQub2Zmc2V0SGVpZ2h0PHRoaXMuc2Nyb2xsVGFyZ2V0LnNjcm9sbEhlaWdodCksdGhpcy50b2dnbGVDbGFzcygic2Nyb2xsZWQtdG8tYm90dG9tIix0aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxUb3ArdGhpcy5zY3JvbGxUYXJnZXQub2Zmc2V0SGVpZ2h0Pj10aGlzLnNjcm9sbFRhcmdldC5zY3JvbGxIZWlnaHQpfSxfZW5zdXJlVGFyZ2V0OmZ1bmN0aW9uKCl7dGhpcy5kaWFsb2dFbGVtZW50PXRoaXMuZGlhbG9nRWxlbWVudHx8dGhpcy5wYXJlbnRFbGVtZW50LHRoaXMuZGlhbG9nRWxlbWVudCYmdGhpcy5kaWFsb2dFbGVtZW50LmJlaGF2aW9ycyYmdGhpcy5kaWFsb2dFbGVtZW50LmJlaGF2aW9ycy5pbmRleE9mKHFhKT49MD8odGhpcy5kaWFsb2dFbGVtZW50LnNpemluZ1RhcmdldD10aGlzLnNjcm9sbFRhcmdldCx0aGlzLnNjcm9sbFRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKCJmaXQiKSk6dGhpcy5kaWFsb2dFbGVtZW50JiZ0aGlzLnNjcm9sbFRhcmdldC5jbGFzc0xpc3QuYWRkKCJmaXQiKX19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IFlhPWpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIGNsaXA6IHJlY3QoMHB4LDBweCwwcHgsMHB4KTsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxkaXYgYXJpYS1saXZlJD0iW1ttb2RlXV0iPltbX3RleHRdXTwvZGl2PgpgLGlzOiJpcm9uLWExMXktYW5ub3VuY2VyIixwcm9wZXJ0aWVzOnttb2RlOnt0eXBlOlN0cmluZyx2YWx1ZToicG9saXRlIn0sdGltZW91dDp7dHlwZTpOdW1iZXIsdmFsdWU6MTUwfSxfdGV4dDp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7WWEuaW5zdGFuY2V8fChZYS5pbnN0YW5jZT10aGlzKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJpcm9uLWFubm91bmNlIix0aGlzLl9vbklyb25Bbm5vdW5jZS5iaW5kKHRoaXMpKX0sYW5ub3VuY2U6ZnVuY3Rpb24odCl7dGhpcy5fdGV4dD0iIix0aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuX3RleHQ9dH0pLHRoaXMudGltZW91dCl9LF9vbklyb25Bbm5vdW5jZTpmdW5jdGlvbih0KXt0LmRldGFpbCYmdC5kZXRhaWwudGV4dCYmdGhpcy5hbm5vdW5jZSh0LmRldGFpbC50ZXh0KX19KTtZYS5pbnN0YW5jZT1udWxsLFlhLnJlcXVlc3RBdmFpbGFiaWxpdHk9ZnVuY3Rpb24oKXtZYS5pbnN0YW5jZXx8KFlhLmluc3RhbmNlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlyb24tYTExeS1hbm5vdW5jZXIiKSksZG9jdW1lbnQuYm9keT9kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKFlhLmluc3RhbmNlKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoZnVuY3Rpb24oKXtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKFlhLmluc3RhbmNlKX0pKX0sCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpqcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPHNsb3QgaWQ9ImNvbnRlbnQiPjwvc2xvdD4KYCxpczoiaXJvbi1pbnB1dCIsYmVoYXZpb3JzOlt5YV0scHJvcGVydGllczp7YmluZFZhbHVlOnt0eXBlOlN0cmluZyx2YWx1ZToiIn0sdmFsdWU6e3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVZhbHVlKGJpbmRWYWx1ZSkifSxhbGxvd2VkUGF0dGVybjp7dHlwZTpTdHJpbmd9LGF1dG9WYWxpZGF0ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfaW5wdXRFbGVtZW50Ok9iamVjdH0sb2JzZXJ2ZXJzOlsiX2JpbmRWYWx1ZUNoYW5nZWQoYmluZFZhbHVlLCBfaW5wdXRFbGVtZW50KSJdLGxpc3RlbmVyczp7aW5wdXQ6Il9vbklucHV0IixrZXlwcmVzczoiX29uS2V5cHJlc3MifSxjcmVhdGVkOmZ1bmN0aW9uKCl7WWEucmVxdWVzdEF2YWlsYWJpbGl0eSgpLHRoaXMuX3ByZXZpb3VzVmFsaWRJbnB1dD0iIix0aGlzLl9wYXR0ZXJuQWxyZWFkeUNoZWNrZWQ9ITF9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXI9ZXIodGhpcykub2JzZXJ2ZU5vZGVzKGZ1bmN0aW9uKHQpe3RoaXMuX2luaXRTbG90dGVkSW5wdXQoKX0uYmluZCh0aGlzKSl9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXImJihlcih0aGlzKS51bm9ic2VydmVOb2Rlcyh0aGlzLl9vYnNlcnZlciksdGhpcy5fb2JzZXJ2ZXI9bnVsbCl9LGdldCBpbnB1dEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5faW5wdXRFbGVtZW50fSxfaW5pdFNsb3R0ZWRJbnB1dDpmdW5jdGlvbigpe3RoaXMuX2lucHV0RWxlbWVudD10aGlzLmdldEVmZmVjdGl2ZUNoaWxkcmVuKClbMF0sdGhpcy5pbnB1dEVsZW1lbnQmJnRoaXMuaW5wdXRFbGVtZW50LnZhbHVlJiYodGhpcy5iaW5kVmFsdWU9dGhpcy5pbnB1dEVsZW1lbnQudmFsdWUpLHRoaXMuZmlyZSgiaXJvbi1pbnB1dC1yZWFkeSIpfSxnZXQgX3BhdHRlcm5SZWdFeHAoKXt2YXIgdDtpZih0aGlzLmFsbG93ZWRQYXR0ZXJuKXQ9bmV3IFJlZ0V4cCh0aGlzLmFsbG93ZWRQYXR0ZXJuKTtlbHNlIHN3aXRjaCh0aGlzLmlucHV0RWxlbWVudC50eXBlKXtjYXNlIm51bWJlciI6dD0vWzAtOS4sZS1dL31yZXR1cm4gdH0sX2JpbmRWYWx1ZUNoYW5nZWQ6ZnVuY3Rpb24odCxlKXtlJiYodm9pZCAwPT09dD9lLnZhbHVlPW51bGw6dCE9PWUudmFsdWUmJih0aGlzLmlucHV0RWxlbWVudC52YWx1ZT10KSx0aGlzLmF1dG9WYWxpZGF0ZSYmdGhpcy52YWxpZGF0ZSgpLHRoaXMuZmlyZSgiYmluZC12YWx1ZS1jaGFuZ2VkIix7dmFsdWU6dH0pKX0sX29uSW5wdXQ6ZnVuY3Rpb24oKXt0aGlzLmFsbG93ZWRQYXR0ZXJuJiYhdGhpcy5fcGF0dGVybkFscmVhZHlDaGVja2VkJiYodGhpcy5fY2hlY2tQYXR0ZXJuVmFsaWRpdHkoKXx8KHRoaXMuX2Fubm91bmNlSW52YWxpZENoYXJhY3RlcigiSW52YWxpZCBzdHJpbmcgb2YgY2hhcmFjdGVycyBub3QgZW50ZXJlZC4iKSx0aGlzLmlucHV0RWxlbWVudC52YWx1ZT10aGlzLl9wcmV2aW91c1ZhbGlkSW5wdXQpKTt0aGlzLmJpbmRWYWx1ZT10aGlzLl9wcmV2aW91c1ZhbGlkSW5wdXQ9dGhpcy5pbnB1dEVsZW1lbnQudmFsdWUsdGhpcy5fcGF0dGVybkFscmVhZHlDaGVja2VkPSExfSxfaXNQcmludGFibGU6ZnVuY3Rpb24odCl7cmV0dXJuISg4PT10LmtleUNvZGV8fDk9PXQua2V5Q29kZXx8MTM9PXQua2V5Q29kZXx8Mjc9PXQua2V5Q29kZXx8MD09dC5jaGFyQ29kZSYmKDE5PT10LmtleUNvZGV8fDIwPT10LmtleUNvZGV8fDQ1PT10LmtleUNvZGV8fDQ2PT10LmtleUNvZGV8fDE0ND09dC5rZXlDb2RlfHwxNDU9PXQua2V5Q29kZXx8dC5rZXlDb2RlPjMyJiZ0LmtleUNvZGU8NDF8fHQua2V5Q29kZT4xMTEmJnQua2V5Q29kZTwxMjQpKX0sX29uS2V5cHJlc3M6ZnVuY3Rpb24odCl7aWYodGhpcy5hbGxvd2VkUGF0dGVybnx8Im51bWJlciI9PT10aGlzLmlucHV0RWxlbWVudC50eXBlKXt2YXIgZT10aGlzLl9wYXR0ZXJuUmVnRXhwO2lmKGUmJiEodC5tZXRhS2V5fHx0LmN0cmxLZXl8fHQuYWx0S2V5KSl7dGhpcy5fcGF0dGVybkFscmVhZHlDaGVja2VkPSEwO3ZhciBuPVN0cmluZy5mcm9tQ2hhckNvZGUodC5jaGFyQ29kZSk7dGhpcy5faXNQcmludGFibGUodCkmJiFlLnRlc3QobikmJih0LnByZXZlbnREZWZhdWx0KCksdGhpcy5fYW5ub3VuY2VJbnZhbGlkQ2hhcmFjdGVyKCJJbnZhbGlkIGNoYXJhY3RlciAiK24rIiBub3QgZW50ZXJlZC4iKSl9fX0sX2NoZWNrUGF0dGVyblZhbGlkaXR5OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcGF0dGVyblJlZ0V4cDtpZighdClyZXR1cm4hMDtmb3IodmFyIGU9MDtlPHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aDtlKyspaWYoIXQudGVzdCh0aGlzLmlucHV0RWxlbWVudC52YWx1ZVtlXSkpcmV0dXJuITE7cmV0dXJuITB9LHZhbGlkYXRlOmZ1bmN0aW9uKCl7aWYoIXRoaXMuaW5wdXRFbGVtZW50KXJldHVybiB0aGlzLmludmFsaWQ9ITEsITA7dmFyIHQ9dGhpcy5pbnB1dEVsZW1lbnQuY2hlY2tWYWxpZGl0eSgpO3JldHVybiB0JiYodGhpcy5yZXF1aXJlZCYmIiI9PT10aGlzLmJpbmRWYWx1ZT90PSExOnRoaXMuaGFzVmFsaWRhdG9yKCkmJih0PXlhLnZhbGlkYXRlLmNhbGwodGhpcyx0aGlzLmJpbmRWYWx1ZSkpKSx0aGlzLmludmFsaWQ9IXQsdGhpcy5maXJlKCJpcm9uLWlucHV0LXZhbGlkYXRlIiksdH0sX2Fubm91bmNlSW52YWxpZENoYXJhY3RlcjpmdW5jdGlvbih0KXt0aGlzLmZpcmUoImlyb24tYW5ub3VuY2UiLHt0ZXh0OnR9KX0sX2NvbXB1dGVWYWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdH19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IFhhPXthdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuZmlyZSgiYWRkb24tYXR0YWNoZWQiKX0sdXBkYXRlOmZ1bmN0aW9uKHQpe319OwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi9qcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGZsb2F0OiByaWdodDsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1jYXB0aW9uOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNoYXItY291bnRlcjsKICAgICAgfQoKICAgICAgOmhvc3QoW2hpZGRlbl0pIHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIDpob3N0KDpkaXIocnRsKSkgewogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxzcGFuPltbX2NoYXJDb3VudGVyU3RyXV08L3NwYW4+CmAsaXM6InBhcGVyLWlucHV0LWNoYXItY291bnRlciIsYmVoYXZpb3JzOltYYV0scHJvcGVydGllczp7X2NoYXJDb3VudGVyU3RyOnt0eXBlOlN0cmluZyx2YWx1ZToiMCJ9fSx1cGRhdGU6ZnVuY3Rpb24odCl7aWYodC5pbnB1dEVsZW1lbnQpe3QudmFsdWU9dC52YWx1ZXx8IiI7dmFyIGU9dC52YWx1ZS50b1N0cmluZygpLmxlbmd0aC50b1N0cmluZygpO3QuaW5wdXRFbGVtZW50Lmhhc0F0dHJpYnV0ZSgibWF4bGVuZ3RoIikmJihlKz0iLyIrdC5pbnB1dEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJtYXhsZW5ndGgiKSksdGhpcy5fY2hhckNvdW50ZXJTdHI9ZX19fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCAkYT14ZWAKPGN1c3RvbS1zdHlsZT4KICA8c3R5bGUgaXM9ImN1c3RvbS1zdHlsZSI+CiAgICBodG1sIHsKICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItc2hhcmVkLWlucHV0LXN0eWxlOiB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiB0byBtYWtlIGEgc3RhY2tpbmcgY29udGV4dCAqLwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtY29sb3IsIHZhcigtLXByaW1hcnktdGV4dC1jb2xvcikpOwogICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtYWxpZ24sIGJvdHRvbSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtc3ViaGVhZDsKICAgICAgfTsKICAgIH0KICA8L3N0eWxlPgo8L2N1c3RvbS1zdHlsZT4KYDskYS5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiZGlzcGxheTogbm9uZTsiKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKCRhLmNvbnRlbnQpLGpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXI7CiAgICAgIH0KCiAgICAgIDpob3N0KFtpbmxpbmVdKSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMC4zMzsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWRpc2FibGVkOwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmZsb2F0ZWQtbGFiZWwtcGxhY2Vob2xkZXIgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY2FwdGlvbjsKICAgICAgfQoKICAgICAgLnVuZGVybGluZSB7CiAgICAgICAgaGVpZ2h0OiAycHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuZm9jdXNlZC1saW5lIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItZm9jdXMtY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IpKTsKCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMCwxLDEpOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLDEsMSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci11bmRlcmxpbmUtZm9jdXM7CiAgICAgIH0KCiAgICAgIC51bmRlcmxpbmUuaXMtaGlnaGxpZ2h0ZWQgLmZvY3VzZWQtbGluZSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXM7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10cmFuc2l0aW9uLWVhc2luZzsKICAgICAgfQoKICAgICAgLnVuZGVybGluZS5pcy1pbnZhbGlkIC5mb2N1c2VkLWxpbmUgewogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWludmFsaWQtY29sb3IsIHZhcigtLWVycm9yLWNvbG9yKSk7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4yNXM7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10cmFuc2l0aW9uLWVhc2luZzsKICAgICAgfQoKICAgICAgLnVuZm9jdXNlZC1saW5lIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3IsIHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLXVuZGVybGluZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnVuZm9jdXNlZC1saW5lIHsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkOwogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcikpOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci11bmRlcmxpbmUtZGlzYWJsZWQ7CiAgICAgIH0KCiAgICAgIC5pbnB1dC13cmFwcGVyIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQgewogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4LWF1dG87CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXJlbGF0aXZlOwogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKGxhYmVsKSwKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKC5wYXBlci1pbnB1dC1sYWJlbCkgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBmb250OiBpbmhlcml0OwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItY29sb3IsIHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1cywgd2lkdGggMC4yNXM7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzLCB3aWR0aCAwLjI1czsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOwogICAgICAgIC8qIEZpeCBmb3Igc2FmYXJpIG5vdCBmb2N1c2luZyAwLWhlaWdodCBkYXRlL3RpbWUgaW5wdXRzIHdpdGggLXdlYmtpdC1hcHBlcmFuY2U6IG5vbmU7ICovCiAgICAgICAgbWluLWhlaWdodDogMXB4OwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1ub3dyYXA7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1zdWJoZWFkOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDsKICAgICAgICBAYXBwbHkgLS1wYXBlci10cmFuc2l0aW9uLWVhc2luZzsKICAgICAgfQoKCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZChsYWJlbCk6YmVmb3JlLAogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWxhYmVsKTpiZWZvcmUgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbC1iZWZvcmU7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZChsYWJlbCk6YWZ0ZXIsCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZCgucGFwZXItaW5wdXQtbGFiZWwpOmFmdGVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWwtYWZ0ZXI7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50LmxhYmVsLWlzLWZsb2F0aW5nIDo6c2xvdHRlZChsYWJlbCksCiAgICAgIC5pbnB1dC1jb250ZW50LmxhYmVsLWlzLWZsb2F0aW5nIDo6c2xvdHRlZCgucGFwZXItaW5wdXQtbGFiZWwpIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzUlKSBzY2FsZSgwLjc1KTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1JSkgc2NhbGUoMC43NSk7CgogICAgICAgIC8qIFNpbmNlIHdlIHNjYWxlIHRvIDc1LzEwMCBvZiB0aGUgc2l6ZSwgd2UgYWN0dWFsbHkgaGF2ZSAxMDAvNzUgb2YgdGhlCiAgICAgICAgb3JpZ2luYWwgc3BhY2Ugbm93IGF2YWlsYWJsZSAqLwogICAgICAgIHdpZHRoOiAxMzMlOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWwtZmxvYXRpbmc7CiAgICAgIH0KCiAgICAgIDpob3N0KDpkaXIocnRsKSkgLmlucHV0LWNvbnRlbnQubGFiZWwtaXMtZmxvYXRpbmcgOjpzbG90dGVkKGxhYmVsKSwKICAgICAgOmhvc3QoOmRpcihydGwpKSAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1mbG9hdGluZyA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWxhYmVsKSB7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgbGVmdDogYXV0bzsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50LmxhYmVsLWlzLWhpZ2hsaWdodGVkIDo6c2xvdHRlZChsYWJlbCksCiAgICAgIC5pbnB1dC1jb250ZW50LmxhYmVsLWlzLWhpZ2hsaWdodGVkIDo6c2xvdHRlZCgucGFwZXItaW5wdXQtbGFiZWwpIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWZvY3VzLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbC1mb2N1czsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQobGFiZWwpLAogICAgICAuaW5wdXQtY29udGVudC5pcy1pbnZhbGlkIDo6c2xvdHRlZCgucGFwZXItaW5wdXQtbGFiZWwpIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWludmFsaWQtY29sb3IsIHZhcigtLWVycm9yLWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50LmxhYmVsLWlzLWhpZGRlbiA6OnNsb3R0ZWQobGFiZWwpLAogICAgICAuaW5wdXQtY29udGVudC5sYWJlbC1pcy1oaWRkZW4gOjpzbG90dGVkKC5wYXBlci1pbnB1dC1sYWJlbCkgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKGlucHV0KSwKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKGlyb24taW5wdXQpLAogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQodGV4dGFyZWEpLAogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoaXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYSksCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZCgucGFwZXItaW5wdXQtaW5wdXQpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItc2hhcmVkLWlucHV0LXN0eWxlOwogICAgICAgIC8qIFRoZSBhcHBseSBzaGltIGRvZXNuJ3QgYXBwbHkgdGhlIG5lc3RlZCBjb2xvciBjdXN0b20gcHJvcGVydHksCiAgICAgICAgICBzbyB3ZSBoYXZlIHRvIHJlLWFwcGx5IGl0IGhlcmUuICovCiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0OwogICAgICB9CgogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoaW5wdXQpOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLAogICAgICAuaW5wdXQtY29udGVudCA6OnNsb3R0ZWQoaW5wdXQpOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtd2Via2l0LXNwaW5uZXI7CiAgICAgIH0KCiAgICAgIC5pbnB1dC1jb250ZW50LmZvY3VzZWQgOjpzbG90dGVkKGlucHV0KSwKICAgICAgLmlucHV0LWNvbnRlbnQuZm9jdXNlZCA6OnNsb3R0ZWQoaXJvbi1pbnB1dCksCiAgICAgIC5pbnB1dC1jb250ZW50LmZvY3VzZWQgOjpzbG90dGVkKHRleHRhcmVhKSwKICAgICAgLmlucHV0LWNvbnRlbnQuZm9jdXNlZCA6OnNsb3R0ZWQoaXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYSksCiAgICAgIC5pbnB1dC1jb250ZW50LmZvY3VzZWQgOjpzbG90dGVkKC5wYXBlci1pbnB1dC1pbnB1dCkgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC1mb2N1czsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQoaW5wdXQpLAogICAgICAuaW5wdXQtY29udGVudC5pcy1pbnZhbGlkIDo6c2xvdHRlZChpcm9uLWlucHV0KSwKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQodGV4dGFyZWEpLAogICAgICAuaW5wdXQtY29udGVudC5pcy1pbnZhbGlkIDo6c2xvdHRlZChpcm9uLWF1dG9ncm93LXRleHRhcmVhKSwKICAgICAgLmlucHV0LWNvbnRlbnQuaXMtaW52YWxpZCA6OnNsb3R0ZWQoLnBhcGVyLWlucHV0LWlucHV0KSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0LWludmFsaWQ7CiAgICAgIH0KCiAgICAgIC5wcmVmaXggOjpzbG90dGVkKCopIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItZm9udC1zdWJoZWFkOwogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4LW5vbmU7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtcHJlZml4OwogICAgICB9CgogICAgICAuc3VmZml4IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtc3ViaGVhZDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleC1ub25lOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1zdWZmaXg7CiAgICAgIH0KCiAgICAgIC8qIEZpcmVmb3ggc2V0cyBhIG1pbi13aWR0aCBvbiB0aGUgaW5wdXQsIHdoaWNoIGNhbiBjYXVzZSBsYXlvdXQgaXNzdWVzICovCiAgICAgIC5pbnB1dC1jb250ZW50IDo6c2xvdHRlZChpbnB1dCkgewogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRlbnQgOjpzbG90dGVkKHRleHRhcmVhKSB7CiAgICAgICAgcmVzaXplOiBub25lOwogICAgICB9CgogICAgICAuYWRkLW9uLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmFkZC1vbi1jb250ZW50LmlzLWludmFsaWQgOjpzbG90dGVkKCopIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWludmFsaWQtY29sb3IsIHZhcigtLWVycm9yLWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIC5hZGQtb24tY29udGVudC5pcy1oaWdobGlnaHRlZCA6OnNsb3R0ZWQoKikgewogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1pbnB1dC1jb250YWluZXItZm9jdXMtY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IpKTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJmbG9hdGVkLWxhYmVsLXBsYWNlaG9sZGVyIiBhcmlhLWhpZGRlbj0idHJ1ZSIgaGlkZGVuPSJbW25vTGFiZWxGbG9hdF1dIj4mbmJzcDs8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgPHNwYW4gY2xhc3M9InByZWZpeCI+PHNsb3QgbmFtZT0icHJlZml4Ij48L3Nsb3Q+PC9zcGFuPgoKICAgICAgPGRpdiBjbGFzcyQ9IltbX2NvbXB1dGVJbnB1dENvbnRlbnRDbGFzcyhub0xhYmVsRmxvYXQsYWx3YXlzRmxvYXRMYWJlbCxmb2N1c2VkLGludmFsaWQsX2lucHV0SGFzQ29udGVudCldXSIgaWQ9ImxhYmVsQW5kSW5wdXRDb250YWluZXIiPgogICAgICAgIDxzbG90IG5hbWU9ImxhYmVsIj48L3Nsb3Q+CiAgICAgICAgPHNsb3QgbmFtZT0iaW5wdXQiPjwvc2xvdD4KICAgICAgPC9kaXY+CgogICAgICA8c3BhbiBjbGFzcz0ic3VmZml4Ij48c2xvdCBuYW1lPSJzdWZmaXgiPjwvc2xvdD48L3NwYW4+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzJD0iW1tfY29tcHV0ZVVuZGVybGluZUNsYXNzKGZvY3VzZWQsaW52YWxpZCldXSI+CiAgICAgIDxkaXYgY2xhc3M9InVuZm9jdXNlZC1saW5lIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iZm9jdXNlZC1saW5lIj48L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3MkPSJbW19jb21wdXRlQWRkT25Db250ZW50Q2xhc3MoZm9jdXNlZCxpbnZhbGlkKV1dIj4KICAgICAgPHNsb3QgbmFtZT0iYWRkLW9uIj48L3Nsb3Q+CiAgICA8L2Rpdj4KYCxpczoicGFwZXItaW5wdXQtY29udGFpbmVyIixwcm9wZXJ0aWVzOntub0xhYmVsRmxvYXQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sYWx3YXlzRmxvYXRMYWJlbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhdHRyRm9yVmFsdWU6e3R5cGU6U3RyaW5nLHZhbHVlOiJiaW5kLXZhbHVlIn0sYXV0b1ZhbGlkYXRlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGludmFsaWQ6e29ic2VydmVyOiJfaW52YWxpZENoYW5nZWQiLHR5cGU6Qm9vbGVhbix2YWx1ZTohMX0sZm9jdXNlZDp7cmVhZE9ubHk6ITAsdHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMH0sX2FkZG9uczp7dHlwZTpBcnJheX0sX2lucHV0SGFzQ29udGVudDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfaW5wdXRTZWxlY3Rvcjp7dHlwZTpTdHJpbmcsdmFsdWU6ImlucHV0LGlyb24taW5wdXQsdGV4dGFyZWEsLnBhcGVyLWlucHV0LWlucHV0In0sX2JvdW5kT25Gb2N1czp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9vbkZvY3VzLmJpbmQodGhpcyl9fSxfYm91bmRPbkJsdXI6e3R5cGU6RnVuY3Rpb24sdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fb25CbHVyLmJpbmQodGhpcyl9fSxfYm91bmRPbklucHV0Ont0eXBlOkZ1bmN0aW9uLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29uSW5wdXQuYmluZCh0aGlzKX19LF9ib3VuZFZhbHVlQ2hhbmdlZDp7dHlwZTpGdW5jdGlvbix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9vblZhbHVlQ2hhbmdlZC5iaW5kKHRoaXMpfX19LGxpc3RlbmVyczp7ImFkZG9uLWF0dGFjaGVkIjoiX29uQWRkb25BdHRhY2hlZCIsImlyb24taW5wdXQtdmFsaWRhdGUiOiJfb25Jcm9uSW5wdXRWYWxpZGF0ZSJ9LGdldCBfdmFsdWVDaGFuZ2VkRXZlbnQoKXtyZXR1cm4gdGhpcy5hdHRyRm9yVmFsdWUrIi1jaGFuZ2VkIn0sZ2V0IF9wcm9wZXJ0eUZvclZhbHVlKCl7cmV0dXJuIHN0KHRoaXMuYXR0ckZvclZhbHVlKX0sZ2V0IF9pbnB1dEVsZW1lbnQoKXtyZXR1cm4gZXIodGhpcykucXVlcnlTZWxlY3Rvcih0aGlzLl9pbnB1dFNlbGVjdG9yKX0sZ2V0IF9pbnB1dEVsZW1lbnRWYWx1ZSgpe3JldHVybiB0aGlzLl9pbnB1dEVsZW1lbnRbdGhpcy5fcHJvcGVydHlGb3JWYWx1ZV18fHRoaXMuX2lucHV0RWxlbWVudC52YWx1ZX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl9faXNGaXJzdFZhbHVlVXBkYXRlPSEwLHRoaXMuX2FkZG9uc3x8KHRoaXMuX2FkZG9ucz1bXSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fYm91bmRPbkZvY3VzLCEwKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2JvdW5kT25CbHVyLCEwKX0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmF0dHJGb3JWYWx1ZT90aGlzLl9pbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLl92YWx1ZUNoYW5nZWRFdmVudCx0aGlzLl9ib3VuZFZhbHVlQ2hhbmdlZCk6dGhpcy5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsdGhpcy5fb25JbnB1dCksdGhpcy5faW5wdXRFbGVtZW50VmFsdWUmJiIiIT10aGlzLl9pbnB1dEVsZW1lbnRWYWx1ZT90aGlzLl9oYW5kbGVWYWx1ZUFuZEF1dG9WYWxpZGF0ZSh0aGlzLl9pbnB1dEVsZW1lbnQpOnRoaXMuX2hhbmRsZVZhbHVlKHRoaXMuX2lucHV0RWxlbWVudCl9LF9vbkFkZG9uQXR0YWNoZWQ6ZnVuY3Rpb24odCl7dGhpcy5fYWRkb25zfHwodGhpcy5fYWRkb25zPVtdKTt2YXIgZT10LnRhcmdldDstMT09PXRoaXMuX2FkZG9ucy5pbmRleE9mKGUpJiYodGhpcy5fYWRkb25zLnB1c2goZSksdGhpcy5pc0F0dGFjaGVkJiZ0aGlzLl9oYW5kbGVWYWx1ZSh0aGlzLl9pbnB1dEVsZW1lbnQpKX0sX29uRm9jdXM6ZnVuY3Rpb24oKXt0aGlzLl9zZXRGb2N1c2VkKCEwKX0sX29uQmx1cjpmdW5jdGlvbigpe3RoaXMuX3NldEZvY3VzZWQoITEpLHRoaXMuX2hhbmRsZVZhbHVlQW5kQXV0b1ZhbGlkYXRlKHRoaXMuX2lucHV0RWxlbWVudCl9LF9vbklucHV0OmZ1bmN0aW9uKHQpe3RoaXMuX2hhbmRsZVZhbHVlQW5kQXV0b1ZhbGlkYXRlKHQudGFyZ2V0KX0sX29uVmFsdWVDaGFuZ2VkOmZ1bmN0aW9uKHQpe3ZhciBlPXQudGFyZ2V0O3RoaXMuX19pc0ZpcnN0VmFsdWVVcGRhdGUmJih0aGlzLl9faXNGaXJzdFZhbHVlVXBkYXRlPSExLHZvaWQgMD09PWUudmFsdWV8fCIiPT09ZS52YWx1ZSl8fHRoaXMuX2hhbmRsZVZhbHVlQW5kQXV0b1ZhbGlkYXRlKHQudGFyZ2V0KX0sX2hhbmRsZVZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2lucHV0RWxlbWVudFZhbHVlO3RoaXMuX2lucHV0SGFzQ29udGVudD0hKCFlJiYwIT09ZSYmKCJudW1iZXIiIT09dC50eXBlfHx0LmNoZWNrVmFsaWRpdHkoKSkpLHRoaXMudXBkYXRlQWRkb25zKHtpbnB1dEVsZW1lbnQ6dCx2YWx1ZTplLGludmFsaWQ6dGhpcy5pbnZhbGlkfSl9LF9oYW5kbGVWYWx1ZUFuZEF1dG9WYWxpZGF0ZTpmdW5jdGlvbih0KXt2YXIgZTt0aGlzLmF1dG9WYWxpZGF0ZSYmdCYmKGU9dC52YWxpZGF0ZT90LnZhbGlkYXRlKHRoaXMuX2lucHV0RWxlbWVudFZhbHVlKTp0LmNoZWNrVmFsaWRpdHkoKSx0aGlzLmludmFsaWQ9IWUpO3RoaXMuX2hhbmRsZVZhbHVlKHQpfSxfb25Jcm9uSW5wdXRWYWxpZGF0ZTpmdW5jdGlvbih0KXt0aGlzLmludmFsaWQ9dGhpcy5faW5wdXRFbGVtZW50LmludmFsaWR9LF9pbnZhbGlkQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMuX2FkZG9ucyYmdGhpcy51cGRhdGVBZGRvbnMoe2ludmFsaWQ6dGhpcy5pbnZhbGlkfSl9LHVwZGF0ZUFkZG9uczpmdW5jdGlvbih0KXtmb3IodmFyIGUsbj0wO2U9dGhpcy5fYWRkb25zW25dO24rKyllLnVwZGF0ZSh0KX0sX2NvbXB1dGVJbnB1dENvbnRlbnRDbGFzczpmdW5jdGlvbih0LGUsbixpLHIpe3ZhciBvPSJpbnB1dC1jb250ZW50IjtpZih0KXImJihvKz0iIGxhYmVsLWlzLWhpZGRlbiIpLGkmJihvKz0iIGlzLWludmFsaWQiKTtlbHNle3ZhciBhPXRoaXMucXVlcnlTZWxlY3RvcigibGFiZWwiKTtlfHxyPyhvKz0iIGxhYmVsLWlzLWZsb2F0aW5nIix0aGlzLiQubGFiZWxBbmRJbnB1dENvbnRhaW5lci5zdHlsZS5wb3NpdGlvbj0ic3RhdGljIixpP28rPSIgaXMtaW52YWxpZCI6biYmKG8rPSIgbGFiZWwtaXMtaGlnaGxpZ2h0ZWQiKSk6KGEmJih0aGlzLiQubGFiZWxBbmRJbnB1dENvbnRhaW5lci5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxpJiYobys9IiBpcy1pbnZhbGlkIikpfXJldHVybiBuJiYobys9IiBmb2N1c2VkIiksb30sX2NvbXB1dGVVbmRlcmxpbmVDbGFzczpmdW5jdGlvbih0LGUpe3ZhciBuPSJ1bmRlcmxpbmUiO3JldHVybiBlP24rPSIgaXMtaW52YWxpZCI6dCYmKG4rPSIgaXMtaGlnaGxpZ2h0ZWQiKSxufSxfY29tcHV0ZUFkZE9uQ29udGVudENsYXNzOmZ1bmN0aW9uKHQsZSl7dmFyIG49ImFkZC1vbi1jb250ZW50IjtyZXR1cm4gZT9uKz0iIGlzLWludmFsaWQiOnQmJihuKz0iIGlzLWhpZ2hsaWdodGVkIiksbn19KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwoKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWludmFsaWQtY29sb3IsIHZhcigtLWVycm9yLWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY2FwdGlvbjsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1lcnJvcjsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDowOwogICAgICAgIHJpZ2h0OjA7CiAgICAgIH0KCiAgICAgIDpob3N0KFtpbnZhbGlkXSkgewogICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7CiAgICAgIH0KCiAgICAgICNhMTF5V3JhcHBlciB7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICB9CgogICAgICA6aG9zdChbaW52YWxpZF0pICNhMTF5V3JhcHBlciB7CiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8IS0tCiAgICBJZiB0aGUgcGFwZXItaW5wdXQtZXJyb3IgZWxlbWVudCBpcyBkaXJlY3RseSByZWZlcmVuY2VkIGJ5IGFuCiAgICBcYGFyaWEtZGVzY3JpYmVkYnlcYCBhdHRyaWJ1dGUsIHN1Y2ggYXMgd2hlbiB1c2VkIGFzIGEgcGFwZXItaW5wdXQgYWRkLW9uLAogICAgdGhlbiBhcHBseWluZyBcYHZpc2liaWxpdHk6IGhpZGRlbjtcYCB0byB0aGUgcGFwZXItaW5wdXQtZXJyb3IgZWxlbWVudCBpdHNlbGYKICAgIGRvZXMgbm90IGhpZGUgdGhlIGVycm9yLgoKICAgIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWU6CiAgICBodHRwczovL3d3dy53My5vcmcvVFIvYWNjbmFtZS0xLjEvI21hcHBpbmdfYWRkaXRpb25hbF9uZF9kZXNjcmlwdGlvbgogICAgLS0+CiAgICA8ZGl2IGlkPSJhMTF5V3JhcHBlciI+CiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIDwvZGl2PgpgLGlzOiJwYXBlci1pbnB1dC1lcnJvciIsYmVoYXZpb3JzOltYYV0scHJvcGVydGllczp7aW52YWxpZDp7cmVhZE9ubHk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwLHR5cGU6Qm9vbGVhbn19LHVwZGF0ZTpmdW5jdGlvbih0KXt0aGlzLl9zZXRJbnZhbGlkKHQuaW52YWxpZCl9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBLYT17TmV4dExhYmVsSUQ6MSxOZXh0QWRkb25JRDoxLE5leHRJbnB1dElEOjF9LFphPXtwcm9wZXJ0aWVzOntsYWJlbDp7dHlwZTpTdHJpbmd9LHZhbHVlOntub3RpZnk6ITAsdHlwZTpTdHJpbmd9LGRpc2FibGVkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGludmFsaWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxub3RpZnk6ITB9LGFsbG93ZWRQYXR0ZXJuOnt0eXBlOlN0cmluZ30sdHlwZTp7dHlwZTpTdHJpbmd9LGxpc3Q6e3R5cGU6U3RyaW5nfSxwYXR0ZXJuOnt0eXBlOlN0cmluZ30scmVxdWlyZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sZXJyb3JNZXNzYWdlOnt0eXBlOlN0cmluZ30sY2hhckNvdW50ZXI6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sbm9MYWJlbEZsb2F0Ont0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGFsd2F5c0Zsb2F0TGFiZWw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sYXV0b1ZhbGlkYXRlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LHZhbGlkYXRvcjp7dHlwZTpTdHJpbmd9LGF1dG9jb21wbGV0ZTp7dHlwZTpTdHJpbmcsdmFsdWU6Im9mZiJ9LGF1dG9mb2N1czp7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfYXV0b2ZvY3VzQ2hhbmdlZCJ9LGlucHV0bW9kZTp7dHlwZTpTdHJpbmd9LG1pbmxlbmd0aDp7dHlwZTpOdW1iZXJ9LG1heGxlbmd0aDp7dHlwZTpOdW1iZXJ9LG1pbjp7dHlwZTpTdHJpbmd9LG1heDp7dHlwZTpTdHJpbmd9LHN0ZXA6e3R5cGU6U3RyaW5nfSxuYW1lOnt0eXBlOlN0cmluZ30scGxhY2Vob2xkZXI6e3R5cGU6U3RyaW5nLHZhbHVlOiIifSxyZWFkb25seTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzaXplOnt0eXBlOk51bWJlcn0sYXV0b2NhcGl0YWxpemU6e3R5cGU6U3RyaW5nLHZhbHVlOiJub25lIn0sYXV0b2NvcnJlY3Q6e3R5cGU6U3RyaW5nLHZhbHVlOiJvZmYifSxhdXRvc2F2ZTp7dHlwZTpTdHJpbmd9LHJlc3VsdHM6e3R5cGU6TnVtYmVyfSxhY2NlcHQ6e3R5cGU6U3RyaW5nfSxtdWx0aXBsZTp7dHlwZTpCb29sZWFufSxfYXJpYURlc2NyaWJlZEJ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sX2FyaWFMYWJlbGxlZEJ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sX2lucHV0SWQ6e3R5cGU6U3RyaW5nLHZhbHVlOiIifX0sbGlzdGVuZXJzOnsiYWRkb24tYXR0YWNoZWQiOiJfb25BZGRvbkF0dGFjaGVkIn0sa2V5QmluZGluZ3M6eyJzaGlmdCt0YWI6a2V5ZG93biI6Il9vblNoaWZ0VGFiRG93biJ9LGhvc3RBdHRyaWJ1dGVzOnt0YWJpbmRleDowfSxnZXQgaW5wdXRFbGVtZW50KCl7cmV0dXJuIHRoaXMuJHx8KHRoaXMuJD17fSksdGhpcy4kLmlucHV0fHwodGhpcy5fZ2VuZXJhdGVJbnB1dElkKCksdGhpcy4kLmlucHV0PXRoaXMuJCQoIiMiK3RoaXMuX2lucHV0SWQpKSx0aGlzLiQuaW5wdXR9LGdldCBfZm9jdXNhYmxlRWxlbWVudCgpe3JldHVybiB0aGlzLmlucHV0RWxlbWVudH0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuX3R5cGVzVGhhdEhhdmVUZXh0PVsiZGF0ZSIsImRhdGV0aW1lIiwiZGF0ZXRpbWUtbG9jYWwiLCJtb250aCIsInRpbWUiLCJ3ZWVrIiwiZmlsZSJdfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUFyaWFMYWJlbGxlZEJ5KCksIXdlJiZ0aGlzLmlucHV0RWxlbWVudCYmLTEhPT10aGlzLl90eXBlc1RoYXRIYXZlVGV4dC5pbmRleE9mKHRoaXMuaW5wdXRFbGVtZW50LnR5cGUpJiYodGhpcy5hbHdheXNGbG9hdExhYmVsPSEwKX0sX2FwcGVuZFN0cmluZ1dpdGhTcGFjZTpmdW5jdGlvbih0LGUpe3JldHVybiB0PXQ/dCsiICIrZTplfSxfb25BZGRvbkF0dGFjaGVkOmZ1bmN0aW9uKHQpe3ZhciBlPWVyKHQpLnJvb3RUYXJnZXQ7aWYoZS5pZCl0aGlzLl9hcmlhRGVzY3JpYmVkQnk9dGhpcy5fYXBwZW5kU3RyaW5nV2l0aFNwYWNlKHRoaXMuX2FyaWFEZXNjcmliZWRCeSxlLmlkKTtlbHNle3ZhciBuPSJwYXBlci1pbnB1dC1hZGQtb24tIitLYS5OZXh0QWRkb25JRCsrO2UuaWQ9bix0aGlzLl9hcmlhRGVzY3JpYmVkQnk9dGhpcy5fYXBwZW5kU3RyaW5nV2l0aFNwYWNlKHRoaXMuX2FyaWFEZXNjcmliZWRCeSxuKX19LHZhbGlkYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5wdXRFbGVtZW50LnZhbGlkYXRlKCl9LF9mb2N1c0JsdXJIYW5kbGVyOmZ1bmN0aW9uKHQpe3JhLl9mb2N1c0JsdXJIYW5kbGVyLmNhbGwodGhpcyx0KSx0aGlzLmZvY3VzZWQmJiF0aGlzLl9zaGlmdFRhYlByZXNzZWQmJnRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQmJnRoaXMuX2ZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKX0sX29uU2hpZnRUYWJEb3duOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpO3RoaXMuX3NoaWZ0VGFiUHJlc3NlZD0hMCx0aGlzLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCItMSIpLHRoaXMuYXN5bmMoKGZ1bmN0aW9uKCl7dGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IixlKSx0aGlzLl9zaGlmdFRhYlByZXNzZWQ9ITF9KSwxKX0sX2hhbmRsZUF1dG9WYWxpZGF0ZTpmdW5jdGlvbigpe3RoaXMuYXV0b1ZhbGlkYXRlJiZ0aGlzLnZhbGlkYXRlKCl9LHVwZGF0ZVZhbHVlQW5kUHJlc2VydmVDYXJldDpmdW5jdGlvbih0KXt0cnl7dmFyIGU9dGhpcy5pbnB1dEVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7dGhpcy52YWx1ZT10LHRoaXMuaW5wdXRFbGVtZW50LnNlbGVjdGlvblN0YXJ0PWUsdGhpcy5pbnB1dEVsZW1lbnQuc2VsZWN0aW9uRW5kPWV9Y2F0Y2goZSl7dGhpcy52YWx1ZT10fX0sX2NvbXB1dGVBbHdheXNGbG9hdExhYmVsOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fHR9LF91cGRhdGVBcmlhTGFiZWxsZWRCeTpmdW5jdGlvbigpe3ZhciB0LGU9ZXIodGhpcy5yb290KS5xdWVyeVNlbGVjdG9yKCJsYWJlbCIpO2U/KGUuaWQ/dD1lLmlkOih0PSJwYXBlci1pbnB1dC1sYWJlbC0iK0thLk5leHRMYWJlbElEKyssZS5pZD10KSx0aGlzLl9hcmlhTGFiZWxsZWRCeT10KTp0aGlzLl9hcmlhTGFiZWxsZWRCeT0iIn0sX2dlbmVyYXRlSW5wdXRJZDpmdW5jdGlvbigpe3RoaXMuX2lucHV0SWQmJiIiIT09dGhpcy5faW5wdXRJZHx8KHRoaXMuX2lucHV0SWQ9ImlucHV0LSIrS2EuTmV4dElucHV0SUQrKyl9LF9vbkNoYW5nZTpmdW5jdGlvbih0KXt0aGlzLnNoYWRvd1Jvb3QmJnRoaXMuZmlyZSh0LnR5cGUse3NvdXJjZUV2ZW50OnR9LHtub2RlOnRoaXMsYnViYmxlczp0LmJ1YmJsZXMsY2FuY2VsYWJsZTp0LmNhbmNlbGFibGV9KX0sX2F1dG9mb2N1c0NoYW5nZWQ6ZnVuY3Rpb24oKXtpZih0aGlzLmF1dG9mb2N1cyYmdGhpcy5fZm9jdXNhYmxlRWxlbWVudCl7dmFyIHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDt0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnQhPT1kb2N1bWVudC5ib2R5JiZ0IT09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fHx0aGlzLl9mb2N1c2FibGVFbGVtZW50LmZvY3VzKCl9fX0sSmE9W3JhLFhvLFphXTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtpczoicGFwZXItaW5wdXQiLF90ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICA6aG9zdChbZm9jdXNlZF0pIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgaW5wdXQgewogICAgICAgIC8qIEZpcmVmb3ggc2V0cyBhIG1pbi13aWR0aCBvbiB0aGUgaW5wdXQsIHdoaWNoIGNhbiBjYXVzZSBsYXlvdXQgaXNzdWVzICovCiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAvKiBJbiAxLngsIHRoZSA8aW5wdXQ+IGlzIGRpc3RyaWJ1dGVkIHRvIHBhcGVyLWlucHV0LWNvbnRhaW5lciwgd2hpY2ggc3R5bGVzIGl0LgogICAgICBJbiAyLnggdGhlIDxpcm9uLWlucHV0PiBpcyBkaXN0cmlidXRlZCB0byBwYXBlci1pbnB1dC1jb250YWluZXIsIHdoaWNoIHN0eWxlcwogICAgICBpdCwgYnV0IGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgY29ycmVjdGx5LCB3ZSBuZWVkIHRvIHJlc2V0IHNvbWUKICAgICAgb2YgdGhlIG5hdGl2ZSBpbnB1dCdzIHByb3BlcnRpZXMgdG8gaW5oZXJpdCAoZnJvbSB0aGUgaXJvbi1pbnB1dCkgKi8KICAgICAgaXJvbi1pbnB1dCA+IGlucHV0IHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItc2hhcmVkLWlucHV0LXN0eWxlOwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0OwogICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDsKICAgICAgICB3b3JkLXNwYWNpbmc6IGluaGVyaXQ7CiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgICAgICAgdGV4dC1zaGFkb3c6IGluaGVyaXQ7CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgICAgY3Vyc29yOiBpbmhlcml0OwogICAgICB9CgogICAgICBpbnB1dDpkaXNhYmxlZCB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0LWRpc2FibGVkOwogICAgICB9CgogICAgICBpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiwKICAgICAgaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24gewogICAgICAgIEBhcHBseSAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dC13ZWJraXQtc3Bpbm5lcjsKICAgICAgfQoKICAgICAgaW5wdXQ6Oi13ZWJraXQtY2xlYXItYnV0dG9uIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtd2Via2l0LWNsZWFyOwogICAgICB9CgogICAgICBpbnB1dDo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQtd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3I7CiAgICAgIH0KCiAgICAgIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcikpOwogICAgICB9CgogICAgICBpbnB1dDotbW96LXBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcikpOwogICAgICB9CgogICAgICBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1jb2xvciwgdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpKTsKICAgICAgfQoKICAgICAgaW5wdXQ6Oi1tcy1jbGVhciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLW1zLWNsZWFyOwogICAgICB9CgogICAgICBpbnB1dDo6LW1zLXJldmVhbCB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaW5wdXQtY29udGFpbmVyLW1zLXJldmVhbDsKICAgICAgfQoKICAgICAgaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcikpOwogICAgICB9CgogICAgICBsYWJlbCB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPHBhcGVyLWlucHV0LWNvbnRhaW5lciBpZD0iY29udGFpbmVyIiBuby1sYWJlbC1mbG9hdD0iW1tub0xhYmVsRmxvYXRdXSIgYWx3YXlzLWZsb2F0LWxhYmVsPSJbW19jb21wdXRlQWx3YXlzRmxvYXRMYWJlbChhbHdheXNGbG9hdExhYmVsLHBsYWNlaG9sZGVyKV1dIiBhdXRvLXZhbGlkYXRlJD0iW1thdXRvVmFsaWRhdGVdXSIgZGlzYWJsZWQkPSJbW2Rpc2FibGVkXV0iIGludmFsaWQ9IltbaW52YWxpZF1dIj4KCiAgICAgIDxzbG90IG5hbWU9InByZWZpeCIgc2xvdD0icHJlZml4Ij48L3Nsb3Q+CgogICAgICA8bGFiZWwgaGlkZGVuJD0iW1shbGFiZWxdXSIgYXJpYS1oaWRkZW49InRydWUiIGZvciQ9IltbX2lucHV0SWRdXSIgc2xvdD0ibGFiZWwiPltbbGFiZWxdXTwvbGFiZWw+CgogICAgICA8IS0tIE5lZWQgdG8gYmluZCBtYXhsZW5ndGggc28gdGhhdCB0aGUgcGFwZXItaW5wdXQtY2hhci1jb3VudGVyIHdvcmtzIGNvcnJlY3RseSAtLT4KICAgICAgPGlyb24taW5wdXQgYmluZC12YWx1ZT0ie3t2YWx1ZX19IiBzbG90PSJpbnB1dCIgY2xhc3M9ImlucHV0LWVsZW1lbnQiIGlkJD0iW1tfaW5wdXRJZF1dIiBtYXhsZW5ndGgkPSJbW21heGxlbmd0aF1dIiBhbGxvd2VkLXBhdHRlcm49IltbYWxsb3dlZFBhdHRlcm5dXSIgaW52YWxpZD0ie3tpbnZhbGlkfX0iIHZhbGlkYXRvcj0iW1t2YWxpZGF0b3JdXSI+CiAgICAgICAgPGlucHV0IGFyaWEtbGFiZWxsZWRieSQ9IltbX2FyaWFMYWJlbGxlZEJ5XV0iIGFyaWEtZGVzY3JpYmVkYnkkPSJbW19hcmlhRGVzY3JpYmVkQnldXSIgZGlzYWJsZWQkPSJbW2Rpc2FibGVkXV0iIHRpdGxlJD0iW1t0aXRsZV1dIiB0eXBlJD0iW1t0eXBlXV0iIHBhdHRlcm4kPSJbW3BhdHRlcm5dXSIgcmVxdWlyZWQkPSJbW3JlcXVpcmVkXV0iIGF1dG9jb21wbGV0ZSQ9IltbYXV0b2NvbXBsZXRlXV0iIGF1dG9mb2N1cyQ9IltbYXV0b2ZvY3VzXV0iIGlucHV0bW9kZSQ9IltbaW5wdXRtb2RlXV0iIG1pbmxlbmd0aCQ9IltbbWlubGVuZ3RoXV0iIG1heGxlbmd0aCQ9IltbbWF4bGVuZ3RoXV0iIG1pbiQ9IltbbWluXV0iIG1heCQ9IltbbWF4XV0iIHN0ZXAkPSJbW3N0ZXBdXSIgbmFtZSQ9IltbbmFtZV1dIiBwbGFjZWhvbGRlciQ9IltbcGxhY2Vob2xkZXJdXSIgcmVhZG9ubHkkPSJbW3JlYWRvbmx5XV0iIGxpc3QkPSJbW2xpc3RdXSIgc2l6ZSQ9Iltbc2l6ZV1dIiBhdXRvY2FwaXRhbGl6ZSQ9IltbYXV0b2NhcGl0YWxpemVdXSIgYXV0b2NvcnJlY3QkPSJbW2F1dG9jb3JyZWN0XV0iIG9uLWNoYW5nZT0iX29uQ2hhbmdlIiB0YWJpbmRleCQ9IltbdGFiSW5kZXhdXSIgYXV0b3NhdmUkPSJbW2F1dG9zYXZlXV0iIHJlc3VsdHMkPSJbW3Jlc3VsdHNdXSIgYWNjZXB0JD0iW1thY2NlcHRdXSIgbXVsdGlwbGUkPSJbW211bHRpcGxlXV0iIHJvbGUkPSJbW2lucHV0Um9sZV1dIiBhcmlhLWhhc3BvcHVwJD0iW1tpbnB1dEFyaWFIYXNwb3B1cF1dIj4KICAgICAgPC9pcm9uLWlucHV0PgoKICAgICAgPHNsb3QgbmFtZT0ic3VmZml4IiBzbG90PSJzdWZmaXgiPjwvc2xvdD4KCiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tlcnJvck1lc3NhZ2VdXSI+CiAgICAgICAgPHBhcGVyLWlucHV0LWVycm9yIGFyaWEtbGl2ZT0iYXNzZXJ0aXZlIiBzbG90PSJhZGQtb24iPltbZXJyb3JNZXNzYWdlXV08L3BhcGVyLWlucHV0LWVycm9yPgogICAgICA8L3RlbXBsYXRlPgoKICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2NoYXJDb3VudGVyXV0iPgogICAgICAgIDxwYXBlci1pbnB1dC1jaGFyLWNvdW50ZXIgc2xvdD0iYWRkLW9uIj48L3BhcGVyLWlucHV0LWNoYXItY291bnRlcj4KICAgICAgPC90ZW1wbGF0ZT4KCiAgICA8L3BhcGVyLWlucHV0LWNvbnRhaW5lcj4KICBgLGJlaGF2aW9yczpbSmEsZ2FdLHByb3BlcnRpZXM6e3ZhbHVlOnt0eXBlOlN0cmluZ30saW5wdXRSb2xlOnt0eXBlOlN0cmluZyx2YWx1ZTp2b2lkIDB9LGlucHV0QXJpYUhhc3BvcHVwOnt0eXBlOlN0cmluZyx2YWx1ZTp2b2lkIDB9fSxnZXQgX2ZvY3VzYWJsZUVsZW1lbnQoKXtyZXR1cm4gdGhpcy5pbnB1dEVsZW1lbnQuX2lucHV0RWxlbWVudH0sbGlzdGVuZXJzOnsiaXJvbi1pbnB1dC1yZWFkeSI6Il9vbklyb25JbnB1dFJlYWR5In0sX29uSXJvbklucHV0UmVhZHk6ZnVuY3Rpb24oKXt0aGlzLiQubmF0aXZlSW5wdXR8fCh0aGlzLiQubmF0aXZlSW5wdXQ9dGhpcy4kJCgiaW5wdXQiKSksdGhpcy5pbnB1dEVsZW1lbnQmJi0xIT09dGhpcy5fdHlwZXNUaGF0SGF2ZVRleHQuaW5kZXhPZih0aGlzLiQubmF0aXZlSW5wdXQudHlwZSkmJih0aGlzLmFsd2F5c0Zsb2F0TGFiZWw9ITApLHRoaXMuaW5wdXRFbGVtZW50LmJpbmRWYWx1ZSYmdGhpcy4kLmNvbnRhaW5lci5faGFuZGxlVmFsdWVBbmRBdXRvVmFsaWRhdGUodGhpcy5pbnB1dEVsZW1lbnQpfX0pLAovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgfQoKICAgICAgI2NvbnRlbnRXcmFwcGVyIDo6c2xvdHRlZCgqKSB7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KCiAgICAgICNjb250ZW50V3JhcHBlci5hbmltYXRpbmcgOjpzbG90dGVkKCopIHsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9ImNvbnRlbnRXcmFwcGVyIj4KICAgICAgPHNsb3QgaWQ9ImNvbnRlbnQiIG5hbWU9ImRyb3Bkb3duLWNvbnRlbnQiPjwvc2xvdD4KICAgIDwvZGl2PgpgLGlzOiJpcm9uLWRyb3Bkb3duIixiZWhhdmlvcnM6W3JhLFhvLFdhLFRhXSxwcm9wZXJ0aWVzOntob3Jpem9udGFsQWxpZ246e3R5cGU6U3RyaW5nLHZhbHVlOiJsZWZ0IixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LHZlcnRpY2FsQWxpZ246e3R5cGU6U3RyaW5nLHZhbHVlOiJ0b3AiLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sb3BlbkFuaW1hdGlvbkNvbmZpZzp7dHlwZTpPYmplY3R9LGNsb3NlQW5pbWF0aW9uQ29uZmlnOnt0eXBlOk9iamVjdH0sZm9jdXNUYXJnZXQ6e3R5cGU6T2JqZWN0fSxub0FuaW1hdGlvbnM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sYWxsb3dPdXRzaWRlU2Nyb2xsOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9hbGxvd091dHNpZGVTY3JvbGxDaGFuZ2VkIn19LGxpc3RlbmVyczp7Im5lb24tYW5pbWF0aW9uLWZpbmlzaCI6Il9vbk5lb25BbmltYXRpb25GaW5pc2gifSxvYnNlcnZlcnM6WyJfdXBkYXRlT3ZlcmxheVBvc2l0aW9uKHBvc2l0aW9uVGFyZ2V0LCB2ZXJ0aWNhbEFsaWduLCBob3Jpem9udGFsQWxpZ24sIHZlcnRpY2FsT2Zmc2V0LCBob3Jpem9udGFsT2Zmc2V0KSJdLGdldCBjb250YWluZWRFbGVtZW50KCl7Zm9yKHZhciB0PWVyKHRoaXMuJC5jb250ZW50KS5nZXREaXN0cmlidXRlZE5vZGVzKCksZT0wLG49dC5sZW5ndGg7ZTxuO2UrKylpZih0W2VdLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpcmV0dXJuIHRbZV19LHJlYWR5OmZ1bmN0aW9uKCl7dGhpcy5zY3JvbGxBY3Rpb258fCh0aGlzLnNjcm9sbEFjdGlvbj10aGlzLmFsbG93T3V0c2lkZVNjcm9sbD8icmVmaXQiOiJsb2NrIiksdGhpcy5fcmVhZGllZD0hMH0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnNpemluZ1RhcmdldCYmdGhpcy5zaXppbmdUYXJnZXQhPT10aGlzfHwodGhpcy5zaXppbmdUYXJnZXQ9dGhpcy5jb250YWluZWRFbGVtZW50fHx0aGlzKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbEFuaW1hdGlvbigpfSxfb3BlbmVkQ2hhbmdlZDpmdW5jdGlvbigpe3RoaXMub3BlbmVkJiZ0aGlzLmRpc2FibGVkP3RoaXMuY2FuY2VsKCk6KHRoaXMuY2FuY2VsQW5pbWF0aW9uKCksdGhpcy5fdXBkYXRlQW5pbWF0aW9uQ29uZmlnKCksamEuX29wZW5lZENoYW5nZWQuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sX3JlbmRlck9wZW5lZDpmdW5jdGlvbigpeyF0aGlzLm5vQW5pbWF0aW9ucyYmdGhpcy5hbmltYXRpb25Db25maWcub3Blbj8odGhpcy4kLmNvbnRlbnRXcmFwcGVyLmNsYXNzTGlzdC5hZGQoImFuaW1hdGluZyIpLHRoaXMucGxheUFuaW1hdGlvbigib3BlbiIpKTpqYS5fcmVuZGVyT3BlbmVkLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sX3JlbmRlckNsb3NlZDpmdW5jdGlvbigpeyF0aGlzLm5vQW5pbWF0aW9ucyYmdGhpcy5hbmltYXRpb25Db25maWcuY2xvc2U/KHRoaXMuJC5jb250ZW50V3JhcHBlci5jbGFzc0xpc3QuYWRkKCJhbmltYXRpbmciKSx0aGlzLnBsYXlBbmltYXRpb24oImNsb3NlIikpOmphLl9yZW5kZXJDbG9zZWQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfb25OZW9uQW5pbWF0aW9uRmluaXNoOmZ1bmN0aW9uKCl7dGhpcy4kLmNvbnRlbnRXcmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoImFuaW1hdGluZyIpLHRoaXMub3BlbmVkP3RoaXMuX2ZpbmlzaFJlbmRlck9wZW5lZCgpOnRoaXMuX2ZpbmlzaFJlbmRlckNsb3NlZCgpfSxfdXBkYXRlQW5pbWF0aW9uQ29uZmlnOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuY29udGFpbmVkRWxlbWVudCxlPVtdLmNvbmNhdCh0aGlzLm9wZW5BbmltYXRpb25Db25maWd8fFtdKS5jb25jYXQodGhpcy5jbG9zZUFuaW1hdGlvbkNvbmZpZ3x8W10pLG49MDtuPGUubGVuZ3RoO24rKyllW25dLm5vZGU9dDt0aGlzLmFuaW1hdGlvbkNvbmZpZz17b3Blbjp0aGlzLm9wZW5BbmltYXRpb25Db25maWcsY2xvc2U6dGhpcy5jbG9zZUFuaW1hdGlvbkNvbmZpZ319LF91cGRhdGVPdmVybGF5UG9zaXRpb246ZnVuY3Rpb24oKXt0aGlzLmlzQXR0YWNoZWQmJnRoaXMubm90aWZ5UmVzaXplKCl9LF9hbGxvd091dHNpZGVTY3JvbGxDaGFuZ2VkOmZ1bmN0aW9uKHQpe3RoaXMuX3JlYWRpZWQmJih0P3RoaXMuc2Nyb2xsQWN0aW9uJiYibG9jayIhPT10aGlzLnNjcm9sbEFjdGlvbnx8KHRoaXMuc2Nyb2xsQWN0aW9uPSJyZWZpdCIpOnRoaXMuc2Nyb2xsQWN0aW9uPSJsb2NrIil9LF9hcHBseUZvY3VzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5mb2N1c1RhcmdldHx8dGhpcy5jb250YWluZWRFbGVtZW50O3QmJnRoaXMub3BlbmVkJiYhdGhpcy5ub0F1dG9Gb2N1cz90LmZvY3VzKCk6amEuX2FwcGx5Rm9jdXMuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgUWE9e3Byb3BlcnRpZXM6e2FuaW1hdGlvblRpbWluZzp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57ZHVyYXRpb246NTAwLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSIsZmlsbDoiYm90aCJ9fX19LGlzTmVvbkFuaW1hdGlvbjohMCxjcmVhdGVkOmZ1bmN0aW9uKCl7ZG9jdW1lbnQuYm9keS5hbmltYXRlfHxjb25zb2xlLndhcm4oIk5vIHdlYiBhbmltYXRpb25zIGRldGVjdGVkLiBUaGlzIGVsZW1lbnQgd2lsbCBub3QgZnVuY3Rpb24gd2l0aG91dCBhIHdlYiBhbmltYXRpb25zIHBvbHlmaWxsLiIpfSx0aW1pbmdGcm9tQ29uZmlnOmZ1bmN0aW9uKHQpe2lmKHQudGltaW5nKWZvcih2YXIgZSBpbiB0LnRpbWluZyl0aGlzLmFuaW1hdGlvblRpbWluZ1tlXT10LnRpbWluZ1tlXTtyZXR1cm4gdGhpcy5hbmltYXRpb25UaW1pbmd9LHNldFByZWZpeGVkUHJvcGVydHk6ZnVuY3Rpb24odCxlLG4pe2Zvcih2YXIgaSxyPXt0cmFuc2Zvcm06WyJ3ZWJraXRUcmFuc2Zvcm0iXSx0cmFuc2Zvcm1PcmlnaW46WyJtb3pUcmFuc2Zvcm1PcmlnaW4iLCJ3ZWJraXRUcmFuc2Zvcm1PcmlnaW4iXX1bZV0sbz0wO2k9cltvXTtvKyspdC5zdHlsZVtpXT1uO3Quc3R5bGVbZV09bn0sY29tcGxldGU6ZnVuY3Rpb24odCl7fX07Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2pyKHtpczoiZmFkZS1pbi1hbmltYXRpb24iLGJlaGF2aW9yczpbUWFdLGNvbmZpZ3VyZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZWZmZWN0PW5ldyBLZXlmcmFtZUVmZmVjdCh0Lm5vZGUsW3tvcGFjaXR5OiIwIn0se29wYWNpdHk6IjEifV0sdGhpcy50aW1pbmdGcm9tQ29uZmlnKHQpKSx0aGlzLl9lZmZlY3R9fSksCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpqcih7aXM6ImZhZGUtb3V0LWFuaW1hdGlvbiIsYmVoYXZpb3JzOltRYV0sY29uZmlndXJlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KHQubm9kZSxbe29wYWNpdHk6IjEifSx7b3BhY2l0eToiMCJ9XSx0aGlzLnRpbWluZ0Zyb21Db25maWcodCkpLHRoaXMuX2VmZmVjdH19KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtpczoicGFwZXItbWVudS1ncm93LWhlaWdodC1hbmltYXRpb24iLF90ZW1wbGF0ZTpudWxsLGJlaGF2aW9yczpbUWFdLGNvbmZpZ3VyZTpmdW5jdGlvbih0KXt2YXIgZT10Lm5vZGUsbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtyZXR1cm4gdGhpcy5fZWZmZWN0PW5ldyBLZXlmcmFtZUVmZmVjdChlLFt7aGVpZ2h0Om4vMisicHgifSx7aGVpZ2h0Om4rInB4In1dLHRoaXMudGltaW5nRnJvbUNvbmZpZyh0KSksdGhpcy5fZWZmZWN0fX0pLGpyKHtpczoicGFwZXItbWVudS1ncm93LXdpZHRoLWFuaW1hdGlvbiIsX3RlbXBsYXRlOm51bGwsYmVoYXZpb3JzOltRYV0sY29uZmlndXJlOmZ1bmN0aW9uKHQpe3ZhciBlPXQubm9kZSxuPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7cmV0dXJuIHRoaXMuX2VmZmVjdD1uZXcgS2V5ZnJhbWVFZmZlY3QoZSxbe3dpZHRoOm4vMisicHgifSx7d2lkdGg6bisicHgifV0sdGhpcy50aW1pbmdGcm9tQ29uZmlnKHQpKSx0aGlzLl9lZmZlY3R9fSksanIoe2lzOiJwYXBlci1tZW51LXNocmluay13aWR0aC1hbmltYXRpb24iLF90ZW1wbGF0ZTpudWxsLGJlaGF2aW9yczpbUWFdLGNvbmZpZ3VyZTpmdW5jdGlvbih0KXt2YXIgZT10Lm5vZGUsbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO3JldHVybiB0aGlzLl9lZmZlY3Q9bmV3IEtleWZyYW1lRWZmZWN0KGUsW3t3aWR0aDpuKyJweCJ9LHt3aWR0aDpuLW4vMjArInB4In1dLHRoaXMudGltaW5nRnJvbUNvbmZpZyh0KSksdGhpcy5fZWZmZWN0fX0pLGpyKHtpczoicGFwZXItbWVudS1zaHJpbmstaGVpZ2h0LWFuaW1hdGlvbiIsX3RlbXBsYXRlOm51bGwsYmVoYXZpb3JzOltRYV0sY29uZmlndXJlOmZ1bmN0aW9uKHQpe3ZhciBlPXQubm9kZSxuPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O3JldHVybiB0aGlzLnNldFByZWZpeGVkUHJvcGVydHkoZSwidHJhbnNmb3JtT3JpZ2luIiwiMCAwIiksdGhpcy5fZWZmZWN0PW5ldyBLZXlmcmFtZUVmZmVjdChlLFt7aGVpZ2h0Om4rInB4Iix0cmFuc2Zvcm06InRyYW5zbGF0ZVkoMCkifSx7aGVpZ2h0Om4vMisicHgiLHRyYW5zZm9ybToidHJhbnNsYXRlWSgtMjBweCkifV0sdGhpcy50aW1pbmdGcm9tQ29uZmlnKHQpKSx0aGlzLl9lZmZlY3R9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwp2YXIgdHM9e0FOSU1BVElPTl9DVUJJQ19CRVpJRVI6ImN1YmljLWJlemllciguMywuOTUsLjUsMSkiLE1BWF9BTklNQVRJT05fVElNRV9NUzo0MDB9O2NvbnN0IGVzPWpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBvdXRsaW5lOiBub25lOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1tZW51LWJ1dHRvbjsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgewogICAgICAgIGN1cnNvcjogYXV0bzsKICAgICAgICBjb2xvcjogdmFyKC0tZGlzYWJsZWQtdGV4dC1jb2xvcik7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLW1lbnUtYnV0dG9uLWRpc2FibGVkOwogICAgICB9CgogICAgICBpcm9uLWRyb3Bkb3duIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1tZW51LWJ1dHRvbi1kcm9wZG93bjsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLWNvbnRlbnQgewogICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tMmRwOwoKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLW1lbnUtYnV0dG9uLWRyb3Bkb3duLWJhY2tncm91bmQsIHZhcigtLXByaW1hcnktYmFja2dyb3VuZC1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1tZW51LWJ1dHRvbi1jb250ZW50OwogICAgICB9CgogICAgICA6aG9zdChbdmVydGljYWwtYWxpZ249InRvcCJdKSAuZHJvcGRvd24tY29udGVudCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDsKICAgICAgICB0b3A6IDEwcHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFt2ZXJ0aWNhbC1hbGlnbj0iYm90dG9tIl0pIC5kcm9wZG93bi1jb250ZW50IHsKICAgICAgICBib3R0b206IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEwcHg7CiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsKICAgICAgfQoKICAgICAgI3RyaWdnZXIgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJ0cmlnZ2VyIiBvbi10YXA9InRvZ2dsZSI+CiAgICAgIDxzbG90IG5hbWU9ImRyb3Bkb3duLXRyaWdnZXIiPjwvc2xvdD4KICAgIDwvZGl2PgoKICAgIDxpcm9uLWRyb3Bkb3duIGlkPSJkcm9wZG93biIgb3BlbmVkPSJ7e29wZW5lZH19IiBob3Jpem9udGFsLWFsaWduPSJbW2hvcml6b250YWxBbGlnbl1dIiB2ZXJ0aWNhbC1hbGlnbj0iW1t2ZXJ0aWNhbEFsaWduXV0iIGR5bmFtaWMtYWxpZ249IltbZHluYW1pY0FsaWduXV0iIGhvcml6b250YWwtb2Zmc2V0PSJbW2hvcml6b250YWxPZmZzZXRdXSIgdmVydGljYWwtb2Zmc2V0PSJbW3ZlcnRpY2FsT2Zmc2V0XV0iIG5vLW92ZXJsYXA9Iltbbm9PdmVybGFwXV0iIG9wZW4tYW5pbWF0aW9uLWNvbmZpZz0iW1tvcGVuQW5pbWF0aW9uQ29uZmlnXV0iIGNsb3NlLWFuaW1hdGlvbi1jb25maWc9IltbY2xvc2VBbmltYXRpb25Db25maWddXSIgbm8tYW5pbWF0aW9ucz0iW1tub0FuaW1hdGlvbnNdXSIgZm9jdXMtdGFyZ2V0PSJbW19kcm9wZG93bkNvbnRlbnRdXSIgYWxsb3ctb3V0c2lkZS1zY3JvbGw9IltbYWxsb3dPdXRzaWRlU2Nyb2xsXV0iIHJlc3RvcmUtZm9jdXMtb24tY2xvc2U9IltbcmVzdG9yZUZvY3VzT25DbG9zZV1dIiBvbi1pcm9uLW92ZXJsYXktY2FuY2VsZWQ9Il9fb25Jcm9uT3ZlcmxheUNhbmNlbGVkIiBleHBhbmQtc2l6aW5nLXRhcmdldC1mb3Itc2Nyb2xsYmFycz0iW1tleHBhbmRTaXppbmdUYXJnZXRGb3JTY3JvbGxiYXJzXV0iPgogICAgICA8ZGl2IHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiIGNsYXNzPSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICA8c2xvdCBpZD0iY29udGVudCIgbmFtZT0iZHJvcGRvd24tY29udGVudCI+PC9zbG90PgogICAgICA8L2Rpdj4KICAgIDwvaXJvbi1kcm9wZG93bj4KYCxpczoicGFwZXItbWVudS1idXR0b24iLGJlaGF2aW9yczpbWG8scmFdLHByb3BlcnRpZXM6e29wZW5lZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMCxvYnNlcnZlcjoiX29wZW5lZENoYW5nZWQifSxob3Jpem9udGFsQWxpZ246e3R5cGU6U3RyaW5nLHZhbHVlOiJsZWZ0IixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LHZlcnRpY2FsQWxpZ246e3R5cGU6U3RyaW5nLHZhbHVlOiJ0b3AiLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sZHluYW1pY0FsaWduOnt0eXBlOkJvb2xlYW59LGhvcml6b250YWxPZmZzZXQ6e3R5cGU6TnVtYmVyLHZhbHVlOjAsbm90aWZ5OiEwfSx2ZXJ0aWNhbE9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITB9LG5vT3ZlcmxhcDp7dHlwZTpCb29sZWFufSxub0FuaW1hdGlvbnM6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0saWdub3JlU2VsZWN0Ont0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGNsb3NlT25BY3RpdmF0ZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxvcGVuQW5pbWF0aW9uQ29uZmlnOnt0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3JldHVyblt7bmFtZToiZmFkZS1pbi1hbmltYXRpb24iLHRpbWluZzp7ZGVsYXk6MTAwLGR1cmF0aW9uOjIwMH19LHtuYW1lOiJwYXBlci1tZW51LWdyb3ctd2lkdGgtYW5pbWF0aW9uIix0aW1pbmc6e2RlbGF5OjEwMCxkdXJhdGlvbjoxNTAsZWFzaW5nOnRzLkFOSU1BVElPTl9DVUJJQ19CRVpJRVJ9fSx7bmFtZToicGFwZXItbWVudS1ncm93LWhlaWdodC1hbmltYXRpb24iLHRpbWluZzp7ZGVsYXk6MTAwLGR1cmF0aW9uOjI3NSxlYXNpbmc6dHMuQU5JTUFUSU9OX0NVQklDX0JFWklFUn19XX19LGNsb3NlQW5pbWF0aW9uQ29uZmlnOnt0eXBlOk9iamVjdCx2YWx1ZTpmdW5jdGlvbigpe3JldHVyblt7bmFtZToiZmFkZS1vdXQtYW5pbWF0aW9uIix0aW1pbmc6e2R1cmF0aW9uOjE1MH19LHtuYW1lOiJwYXBlci1tZW51LXNocmluay13aWR0aC1hbmltYXRpb24iLHRpbWluZzp7ZGVsYXk6MTAwLGR1cmF0aW9uOjUwLGVhc2luZzp0cy5BTklNQVRJT05fQ1VCSUNfQkVaSUVSfX0se25hbWU6InBhcGVyLW1lbnUtc2hyaW5rLWhlaWdodC1hbmltYXRpb24iLHRpbWluZzp7ZHVyYXRpb246MjAwLGVhc2luZzoiZWFzZS1pbiJ9fV19fSxhbGxvd091dHNpZGVTY3JvbGw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0scmVzdG9yZUZvY3VzT25DbG9zZTp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfSxleHBhbmRTaXppbmdUYXJnZXRGb3JTY3JvbGxiYXJzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9kcm9wZG93bkNvbnRlbnQ6e3R5cGU6T2JqZWN0fX0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6Imdyb3VwIiwiYXJpYS1oYXNwb3B1cCI6InRydWUifSxsaXN0ZW5lcnM6eyJpcm9uLWFjdGl2YXRlIjoiX29uSXJvbkFjdGl2YXRlIiwiaXJvbi1zZWxlY3QiOiJfb25Jcm9uU2VsZWN0In0sZ2V0IGNvbnRlbnRFbGVtZW50KCl7Zm9yKHZhciB0PWVyKHRoaXMuJC5jb250ZW50KS5nZXREaXN0cmlidXRlZE5vZGVzKCksZT0wLG49dC5sZW5ndGg7ZTxuO2UrKylpZih0W2VdLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpcmV0dXJuIHRbZV19LHRvZ2dsZTpmdW5jdGlvbigpe3RoaXMub3BlbmVkP3RoaXMuY2xvc2UoKTp0aGlzLm9wZW4oKX0sb3BlbjpmdW5jdGlvbigpe3RoaXMuZGlzYWJsZWR8fHRoaXMuJC5kcm9wZG93bi5vcGVuKCl9LGNsb3NlOmZ1bmN0aW9uKCl7dGhpcy4kLmRyb3Bkb3duLmNsb3NlKCl9LF9vbklyb25TZWxlY3Q6ZnVuY3Rpb24odCl7dGhpcy5pZ25vcmVTZWxlY3R8fHRoaXMuY2xvc2UoKX0sX29uSXJvbkFjdGl2YXRlOmZ1bmN0aW9uKHQpe3RoaXMuY2xvc2VPbkFjdGl2YXRlJiZ0aGlzLmNsb3NlKCl9LF9vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7dD8odGhpcy5fZHJvcGRvd25Db250ZW50PXRoaXMuY29udGVudEVsZW1lbnQsdGhpcy5maXJlKCJwYXBlci1kcm9wZG93bi1vcGVuIikpOm51bGwhPWUmJnRoaXMuZmlyZSgicGFwZXItZHJvcGRvd24tY2xvc2UiKX0sX2Rpc2FibGVkQ2hhbmdlZDpmdW5jdGlvbih0KXtyYS5fZGlzYWJsZWRDaGFuZ2VkLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0JiZ0aGlzLm9wZW5lZCYmdGhpcy5jbG9zZSgpfSxfX29uSXJvbk92ZXJsYXlDYW5jZWxlZDpmdW5jdGlvbih0KXt2YXIgZT10aGlzLiQudHJpZ2dlcjtlcih0LmRldGFpbCkucGF0aC5pbmRleE9mKGUpPi0xJiZ0LnByZXZlbnREZWZhdWx0KCl9fSk7T2JqZWN0LmtleXModHMpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2VzW3RdPXRzW3RdfSkpOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTYgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgbnM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtucy5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiZGlzcGxheTogbm9uZTsiKSxucy5pbm5lckhUTUw9Jzxpcm9uLWljb25zZXQtc3ZnIG5hbWU9InBhcGVyLWRyb3Bkb3duLW1lbnUiIHNpemU9IjI0Ij5cbjxzdmc+PGRlZnM+XG48ZyBpZD0iYXJyb3ctZHJvcC1kb3duIj48cGF0aCBkPSJNNyAxMGw1IDUgNS01eiI+PC9wYXRoPjwvZz5cbjwvZGVmcz48L3N2Zz5cbjwvaXJvbi1pY29uc2V0LXN2Zz4nLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobnMuY29udGVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNiBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBpcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO2lzLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJkaXNwbGF5OiBub25lOyIpLGlzLmlubmVySFRNTD0nPGRvbS1tb2R1bGUgaWQ9InBhcGVyLWRyb3Bkb3duLW1lbnUtc2hhcmVkLXN0eWxlcyI+XG4gIDx0ZW1wbGF0ZT5cbiAgICA8c3R5bGU+XG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIC8qIE5PVEUoY2RhdGEpOiBCb3RoIHZhbHVlcyBhcmUgbmVlZGVkLCBzaW5jZSBzb21lIHBob25lcyByZXF1aXJlIHRoZVxuICAgICAgICAgKiB2YWx1ZSB0byBiZSBgdHJhbnNwYXJlbnRgLlxuICAgICAgICAgKi9cbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0OiB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfTtcblxuICAgICAgICBAYXBwbHkgLS1wYXBlci1kcm9wZG93bi1tZW51O1xuICAgICAgfVxuXG4gICAgICAvKiBwYXBlci1kcm9wZG93bi1tZW51IGFuZCBwYXBlci1kcm9wZG93bi1tZW51LWxpZ2h0IGJvdGggZGVsZWdhdGUgZm9jdXNcbiAgICAgICAqIHRvIG90aGVyIGludGVybmFsIGVsZW1lbnRzIHdoaWNoIG1hbmFnZSBmb2N1cyBzdHlsaW5nLiAqL1xuICAgICAgOmhvc3QoOmZvY3VzKSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIDpob3N0KDpkaXIocnRsKSkge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICBAYXBwbHkoLS1wYXBlci1kcm9wZG93bi1tZW51KTtcbiAgICAgIH1cblxuICAgICAgOmhvc3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBAYXBwbHkgLS1wYXBlci1kcm9wZG93bi1tZW51LWRpc2FibGVkO1xuICAgICAgfVxuXG4gICAgICA6aG9zdChbbm9pbmtdKSBwYXBlci1yaXBwbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICA6aG9zdChbbm8tbGFiZWwtZmxvYXRdKSBwYXBlci1yaXBwbGUge1xuICAgICAgICB0b3A6IDhweDtcbiAgICAgIH1cblxuICAgICAgcGFwZXItcmlwcGxlIHtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIGJvdHRvbTogOHB4O1xuICAgICAgICByaWdodDogMHB4O1xuXG4gICAgICAgIEBhcHBseSAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtcmlwcGxlO1xuICAgICAgfVxuXG4gICAgICBwYXBlci1tZW51LWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIEBhcHBseSAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtYnV0dG9uO1xuICAgICAgfVxuXG4gICAgICBwYXBlci1pbnB1dCB7XG4gICAgICAgIEBhcHBseSAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtaW5wdXQ7XG4gICAgICB9XG5cbiAgICAgIGlyb24taWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1kaXNhYmxlZC10ZXh0LWNvbG9yKTtcblxuICAgICAgICBAYXBwbHkgLS1wYXBlci1kcm9wZG93bi1tZW51LWljb247XG4gICAgICB9XG4gICAgPC9zdHlsZT5cbiAgPC90ZW1wbGF0ZT5cbjwvZG9tLW1vZHVsZT4nLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoaXMuY29udGVudCk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBycz1jcihIVE1MRWxlbWVudCk7anIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1kcm9wZG93bi1tZW51LXNoYXJlZC1zdHlsZXMiPjwvc3R5bGU+CgogICAgPHBhcGVyLW1lbnUtYnV0dG9uIGlkPSJtZW51QnV0dG9uIiB2ZXJ0aWNhbC1hbGlnbj0iW1t2ZXJ0aWNhbEFsaWduXV0iIGhvcml6b250YWwtYWxpZ249IltbaG9yaXpvbnRhbEFsaWduXV0iIGR5bmFtaWMtYWxpZ249IltbZHluYW1pY0FsaWduXV0iIHZlcnRpY2FsLW9mZnNldD0iW1tfY29tcHV0ZU1lbnVWZXJ0aWNhbE9mZnNldChub0xhYmVsRmxvYXQsIHZlcnRpY2FsT2Zmc2V0KV1dIiBkaXNhYmxlZD0iW1tkaXNhYmxlZF1dIiBuby1hbmltYXRpb25zPSJbW25vQW5pbWF0aW9uc11dIiBvbi1pcm9uLXNlbGVjdD0iX29uSXJvblNlbGVjdCIgb24taXJvbi1kZXNlbGVjdD0iX29uSXJvbkRlc2VsZWN0IiBvcGVuZWQ9Int7b3BlbmVkfX0iIGNsb3NlLW9uLWFjdGl2YXRlIGFsbG93LW91dHNpZGUtc2Nyb2xsPSJbW2FsbG93T3V0c2lkZVNjcm9sbF1dIiByZXN0b3JlLWZvY3VzLW9uLWNsb3NlPSJbW3Jlc3RvcmVGb2N1c09uQ2xvc2VdXSIgZXhwYW5kLXNpemluZy10YXJnZXQtZm9yLXNjcm9sbGJhcnM9IltbZXhwYW5kU2l6aW5nVGFyZ2V0Rm9yU2Nyb2xsYmFyc11dIj4KICAgICAgPCEtLSBzdXBwb3J0IGh5YnJpZCBtb2RlOiB1c2VyIG1pZ2h0IGJlIHVzaW5nIHBhcGVyLW1lbnUtYnV0dG9uIDEueCB3aGljaCBkaXN0cmlidXRlcyB2aWEgPGNvbnRlbnQ+IC0tPgogICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bi10cmlnZ2VyIiBzbG90PSJkcm9wZG93bi10cmlnZ2VyIj4KICAgICAgICA8cGFwZXItcmlwcGxlPjwvcGFwZXItcmlwcGxlPgogICAgICAgIDwhLS0gcGFwZXItaW5wdXQgaGFzIHR5cGU9InRleHQiIGZvciBhMTF5LCBkbyBub3QgcmVtb3ZlIC0tPgogICAgICAgIDxwYXBlci1pbnB1dCBpZD0iaW5wdXQiIHR5cGU9InRleHQiIGludmFsaWQ9IltbaW52YWxpZF1dIiByZWFkb25seSBkaXNhYmxlZD0iW1tkaXNhYmxlZF1dIiB2YWx1ZT0iW1t2YWx1ZV1dIiBwbGFjZWhvbGRlcj0iW1twbGFjZWhvbGRlcl1dIiBlcnJvci1tZXNzYWdlPSJbW2Vycm9yTWVzc2FnZV1dIiBhbHdheXMtZmxvYXQtbGFiZWw9IltbYWx3YXlzRmxvYXRMYWJlbF1dIiBuby1sYWJlbC1mbG9hdD0iW1tub0xhYmVsRmxvYXRdXSIgbGFiZWw9IltbbGFiZWxdXSIgaW5wdXQtcm9sZT0iYnV0dG9uIiBpbnB1dC1hcmlhLWhhc3BvcHVwPSJsaXN0Ym94IiBhdXRvY29tcGxldGU9Im9mZiI+CiAgICAgICAgICA8IS0tIHN1cHBvcnQgaHlicmlkIG1vZGU6IHVzZXIgbWlnaHQgYmUgdXNpbmcgcGFwZXItaW5wdXQgMS54IHdoaWNoIGRpc3RyaWJ1dGVzIHZpYSA8Y29udGVudD4gLS0+CiAgICAgICAgICA8aXJvbi1pY29uIGljb249InBhcGVyLWRyb3Bkb3duLW1lbnU6YXJyb3ctZHJvcC1kb3duIiBzdWZmaXggc2xvdD0ic3VmZml4Ij48L2lyb24taWNvbj4KICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICA8L2Rpdj4KICAgICAgPHNsb3QgaWQ9ImNvbnRlbnQiIG5hbWU9ImRyb3Bkb3duLWNvbnRlbnQiIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiPjwvc2xvdD4KICAgIDwvcGFwZXItbWVudS1idXR0b24+CmAsaXM6InBhcGVyLWRyb3Bkb3duLW1lbnUiLGJlaGF2aW9yczpbYWEscmEsZ2EseWFdLHByb3BlcnRpZXM6e3NlbGVjdGVkSXRlbUxhYmVsOnt0eXBlOlN0cmluZyxub3RpZnk6ITAscmVhZE9ubHk6ITB9LHNlbGVjdGVkSXRlbTp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwLHJlYWRPbmx5OiEwfSx2YWx1ZTp7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSxsYWJlbDp7dHlwZTpTdHJpbmd9LHBsYWNlaG9sZGVyOnt0eXBlOlN0cmluZ30sZXJyb3JNZXNzYWdlOnt0eXBlOlN0cmluZ30sb3BlbmVkOnt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwLHZhbHVlOiExLG9ic2VydmVyOiJfb3BlbmVkQ2hhbmdlZCJ9LGFsbG93T3V0c2lkZVNjcm9sbDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxub0xhYmVsRmxvYXQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9LGFsd2F5c0Zsb2F0TGFiZWw6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sbm9BbmltYXRpb25zOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGhvcml6b250YWxBbGlnbjp7dHlwZTpTdHJpbmcsdmFsdWU6InJpZ2h0In0sdmVydGljYWxBbGlnbjp7dHlwZTpTdHJpbmcsdmFsdWU6InRvcCJ9LHZlcnRpY2FsT2Zmc2V0Ok51bWJlcixkeW5hbWljQWxpZ246e3R5cGU6Qm9vbGVhbn0scmVzdG9yZUZvY3VzT25DbG9zZTp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfSxleHBhbmRTaXppbmdUYXJnZXRGb3JTY3JvbGxiYXJzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxsaXN0ZW5lcnM6e3RhcDoiX29uVGFwIn0sa2V5QmluZGluZ3M6eyJ1cCBkb3duIjoib3BlbiIsZXNjOiJjbG9zZSJ9LG9ic2VydmVyczpbIl9zZWxlY3RlZEl0ZW1DaGFuZ2VkKHNlbGVjdGVkSXRlbSkiXSxfYXR0YWNoRG9tKHQpe2NvbnN0IGU9WSh0aGlzKTtyZXR1cm4gZS5hdHRhY2hTaGFkb3coe21vZGU6Im9wZW4iLGRlbGVnYXRlc0ZvY3VzOiEwLHNoYWR5VXBncmFkZUZyYWdtZW50OnR9KSxlLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQodCkscnMucHJvdG90eXBlLl9hdHRhY2hEb20uY2FsbCh0aGlzLHQpfSxmb2N1cygpe3RoaXMuJC5pbnB1dC5fZm9jdXNhYmxlRWxlbWVudC5mb2N1cygpfSxhdHRhY2hlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuY29udGVudEVsZW1lbnQ7dCYmdC5zZWxlY3RlZEl0ZW0mJnRoaXMuX3NldFNlbGVjdGVkSXRlbSh0LnNlbGVjdGVkSXRlbSl9LGdldCBjb250ZW50RWxlbWVudCgpe2Zvcih2YXIgdD1lcih0aGlzLiQuY29udGVudCkuZ2V0RGlzdHJpYnV0ZWROb2RlcygpLGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspaWYodFtlXS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKXJldHVybiB0W2VdfSxvcGVuOmZ1bmN0aW9uKCl7dGhpcy4kLm1lbnVCdXR0b24ub3BlbigpfSxjbG9zZTpmdW5jdGlvbigpe3RoaXMuJC5tZW51QnV0dG9uLmNsb3NlKCl9LF9vbklyb25TZWxlY3Q6ZnVuY3Rpb24odCl7dGhpcy5fc2V0U2VsZWN0ZWRJdGVtKHQuZGV0YWlsLml0ZW0pfSxfb25Jcm9uRGVzZWxlY3Q6ZnVuY3Rpb24odCl7dGhpcy5fc2V0U2VsZWN0ZWRJdGVtKG51bGwpfSxfb25UYXA6ZnVuY3Rpb24odCl7dmkodCk9PT10aGlzJiZ0aGlzLm9wZW4oKX0sX3NlbGVjdGVkSXRlbUNoYW5nZWQ6ZnVuY3Rpb24odCl7dmFyIGU9IiI7ZT10P3QubGFiZWx8fHQuZ2V0QXR0cmlidXRlKCJsYWJlbCIpfHx0LnRleHRDb250ZW50LnRyaW0oKToiIix0aGlzLnZhbHVlPWUsdGhpcy5fc2V0U2VsZWN0ZWRJdGVtTGFiZWwoZSl9LF9jb21wdXRlTWVudVZlcnRpY2FsT2Zmc2V0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fCh0Py00OjgpfSxfZ2V0VmFsaWRpdHk6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZGlzYWJsZWR8fCF0aGlzLnJlcXVpcmVkfHx0aGlzLnJlcXVpcmVkJiYhIXRoaXMudmFsdWV9LF9vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jb250ZW50RWxlbWVudDt0JiZ0LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsdGhpcy5vcGVuZWQ/InRydWUiOiJmYWxzZSIpfX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KdmFyIG9zPXtvdXRlclNjcm9sbDp7c2Nyb2xsOiEwfSxzaGFkb3dNb2RlOntzdGFuZGFyZDoyLHdhdGVyZmFsbDoxLCJ3YXRlcmZhbGwtdGFsbCI6MX0sdGFsbE1vZGU6eyJ3YXRlcmZhbGwtdGFsbCI6ITB9fTtqcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsOwogICAgICB9CgogICAgICAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKICAgICAgfQoKICAgICAgI21haW5QYW5lbCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1ib2R5OwogICAgICB9CgogICAgICAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsLWNvbnRhaW5lcjsKICAgICAgfQoKICAgICAgLyoKICAgICAgICogbW9kZTogc2Nyb2xsCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT1zY3JvbGxdKSAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsLXNjcm9sbC1jb250YWluZXI7CiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgIH0KCiAgICAgIDpob3N0KFttb2RlPXNjcm9sbF0pIHsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1vZGU6IGNvdmVyCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT1jb3Zlcl0pICNtYWluQ29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1oZWFkZXItcGFuZWwtY292ZXItY29udGFpbmVyOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIDpob3N0KFttb2RlPWNvdmVyXSkgI21haW5QYW5lbCB7CiAgICAgICAgcG9zaXRpb246IHN0YXRpYzsKICAgICAgfQoKICAgICAgLyoKICAgICAgICogbW9kZTogc3RhbmRhcmQKICAgICAgICovCiAgICAgIDpob3N0KFttb2RlPXN0YW5kYXJkXSkgI21haW5Db250YWluZXIgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1zdGFuZGFyZC1jb250YWluZXI7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1vZGU6IHNlYW1lZAogICAgICAgKi8KICAgICAgOmhvc3QoW21vZGU9c2VhbWVkXSkgI21haW5Db250YWluZXIgewogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1zZWFtZWQtY29udGFpbmVyOwogICAgICB9CgoKICAgICAgLyoKICAgICAgICogbW9kZTogd2F0ZXJmYWxsCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT13YXRlcmZhbGxdKSAjbWFpbkNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaGVhZGVyLXBhbmVsLXdhdGVyZmFsbC1jb250YWluZXI7CiAgICAgIH0KCiAgICAgIC8qCiAgICAgICAqIG1vZGU6IHdhdGVyZmFsbC10YWxsCiAgICAgICAqLwogICAgICA6aG9zdChbbW9kZT13YXRlcmZhbGwtdGFsbF0pICNtYWluQ29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1oZWFkZXItcGFuZWwtd2F0ZXJmYWxsLXRhbGwtY29udGFpbmVyOwogICAgICB9CgogICAgICAjZHJvcFNoYWRvdyB7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzOwogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCA1cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWhlYWRlci1wYW5lbC1zaGFkb3c7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgICNkcm9wU2hhZG93Lmhhcy1zaGFkb3cgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgICNtYWluQ29udGFpbmVyID4gOjpzbG90dGVkKC5maXQpIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICB9CgogICAgPC9zdHlsZT4KCiAgICA8c2xvdCBpZD0iaGVhZGVyU2xvdCIgbmFtZT0iaGVhZGVyIj48L3Nsb3Q+CgogICAgPGRpdiBpZD0ibWFpblBhbmVsIj4KICAgICAgPGRpdiBpZD0ibWFpbkNvbnRhaW5lciIgY2xhc3NcJD0iW1tfY29tcHV0ZU1haW5Db250YWluZXJDbGFzcyhtb2RlKV1dIj4KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGlkPSJkcm9wU2hhZG93Ij48L2Rpdj4KICAgIDwvZGl2PgpgLGlzOiJwYXBlci1oZWFkZXItcGFuZWwiLHByb3BlcnRpZXM6e21vZGU6e3R5cGU6U3RyaW5nLHZhbHVlOiJzdGFuZGFyZCIsb2JzZXJ2ZXI6Il9tb2RlQ2hhbmdlZCIscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxzaGFkb3c6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sdGFsbENsYXNzOnt0eXBlOlN0cmluZyx2YWx1ZToidGFsbCJ9LGF0VG9wOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITAsbm90aWZ5OiEwLHJlYWRPbmx5OiEwLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH19LG9ic2VydmVyczpbIl9jb21wdXRlRHJvcFNoYWRvd0hpZGRlbihhdFRvcCwgbW9kZSwgc2hhZG93KSJdLGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fYWRkTGlzdGVuZXIoKSx0aGlzLl9rZWVwU2Nyb2xsaW5nU3RhdGUoKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLl9yZW1vdmVMaXN0ZW5lcigpfSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuc2Nyb2xsSGFuZGxlcj10aGlzLl9zY3JvbGwuYmluZCh0aGlzKSxjb25zb2xlLndhcm4odGhpcy5pcywiaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBhcHAtbGF5b3V0IGluc3RlYWQhIil9LGdldCBoZWFkZXIoKXtyZXR1cm4gZXIodGhpcy4kLmhlYWRlclNsb3QpLmdldERpc3RyaWJ1dGVkTm9kZXMoKVswXX0sZ2V0IHNjcm9sbGVyKCl7cmV0dXJuIHRoaXMuX2dldFNjcm9sbGVyRm9yTW9kZSh0aGlzLm1vZGUpfSxnZXQgdmlzaWJsZVNoYWRvdygpe3JldHVybiB0aGlzLiQuZHJvcFNoYWRvdy5jbGFzc0xpc3QuY29udGFpbnMoImhhcy1zaGFkb3ciKX0sX2NvbXB1dGVEcm9wU2hhZG93SGlkZGVuOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1vcy5zaGFkb3dNb2RlW2VdO3RoaXMudG9nZ2xlQ2xhc3MoImhhcy1zaGFkb3ciLCEhdGhpcy5zaGFkb3d8fCgyPT09aXx8MT09PWkmJiF0KSx0aGlzLiQuZHJvcFNoYWRvdyl9LF9jb21wdXRlTWFpbkNvbnRhaW5lckNsYXNzOmZ1bmN0aW9uKHQpe3ZhciBlPXt9O3JldHVybiBlLmZsZXg9ImNvdmVyIiE9PXQsT2JqZWN0LmtleXMoZSkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX0pKS5qb2luKCIgIil9LF9hZGRMaXN0ZW5lcjpmdW5jdGlvbigpe3RoaXMuc2Nyb2xsZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLnNjcm9sbEhhbmRsZXIpfSxfcmVtb3ZlTGlzdGVuZXI6ZnVuY3Rpb24oKXt0aGlzLnNjcm9sbGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5zY3JvbGxIYW5kbGVyKX0sX21vZGVDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7dmFyIG49b3MsaT10aGlzLmhlYWRlcjtpJiYobi50YWxsTW9kZVtlXSYmIW4udGFsbE1vZGVbdF0/KGkuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLnRhbGxDbGFzcyksdGhpcy5hc3luYygoZnVuY3Rpb24oKXtpLmNsYXNzTGlzdC5yZW1vdmUoImFuaW1hdGUiKX0pLDIwMCkpOnRoaXMudG9nZ2xlQ2xhc3MoImFuaW1hdGUiLG4udGFsbE1vZGVbdF0saSkpLHRoaXMuX2tlZXBTY3JvbGxpbmdTdGF0ZSgpfSxfa2VlcFNjcm9sbGluZ1N0YXRlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5zY3JvbGxlcixlPXRoaXMuaGVhZGVyO3RoaXMuX3NldEF0VG9wKDA9PT10LnNjcm9sbFRvcCksZSYmdGhpcy50YWxsQ2xhc3MmJm9zLnRhbGxNb2RlW3RoaXMubW9kZV0mJnRoaXMudG9nZ2xlQ2xhc3ModGhpcy50YWxsQ2xhc3MsdGhpcy5hdFRvcHx8ZS5jbGFzc0xpc3QuY29udGFpbnModGhpcy50YWxsQ2xhc3MpJiZ0LnNjcm9sbEhlaWdodDx0aGlzLm9mZnNldEhlaWdodCxlKX0sX3Njcm9sbDpmdW5jdGlvbigpe3RoaXMuX2tlZXBTY3JvbGxpbmdTdGF0ZSgpLHRoaXMuZmlyZSgiY29udGVudC1zY3JvbGwiLHt0YXJnZXQ6dGhpcy5zY3JvbGxlcn0se2J1YmJsZXM6ITF9KX0sX2dldFNjcm9sbGVyRm9yTW9kZTpmdW5jdGlvbih0KXtyZXR1cm4gb3Mub3V0ZXJTY3JvbGxbdF0/dGhpczp0aGlzLiQubWFpbkNvbnRhaW5lcn19KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtpczoicGFwZXItaWNvbi1idXR0b24iLF90ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgei1pbmRleDogMDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKCiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwoKICAgICAgICAvKgogICAgICAgICAgTk9URTogQm90aCB2YWx1ZXMgYXJlIG5lZWRlZCwgc2luY2Ugc29tZSBwaG9uZXMgcmVxdWlyZSB0aGUgdmFsdWUgdG8KICAgICAgICAgIGJlIFxgdHJhbnNwYXJlbnRcYC4KICAgICAgICAqLwogICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwoKICAgICAgICAvKiBCZWNhdXNlIG9mIHBvbHltZXIvMjU1OCwgdGhpcyBzdHlsZSBoYXMgbG93ZXIgc3BlY2lmaWNpdHkgdGhhbiAqICovCiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OwoKICAgICAgICBAYXBwbHkgLS1wYXBlci1pY29uLWJ1dHRvbjsKICAgICAgfQoKICAgICAgOmhvc3QgI2luayB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWljb24tYnV0dG9uLWluay1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWljb24tYnV0dG9uLWRpc2FibGVkLXRleHQsIHZhcigtLWRpc2FibGVkLXRleHQtY29sb3IpKTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjdXJzb3I6IGF1dG87CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWljb24tYnV0dG9uLWRpc2FibGVkOwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgOmhvc3QoOmhvdmVyKSB7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaWNvbi1idXR0b24taG92ZXI7CiAgICAgIH0KCiAgICAgIGlyb24taWNvbiB7CiAgICAgICAgLS1pcm9uLWljb24td2lkdGg6IDEwMCU7CiAgICAgICAgLS1pcm9uLWljb24taGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxpcm9uLWljb24gaWQ9Imljb24iIHNyYz0iW1tzcmNdXSIgaWNvbj0iW1tpY29uXV0iCiAgICAgICAgICAgICAgIGFsdCQ9IltbYWx0XV0iPjwvaXJvbi1pY29uPgogIGAsaG9zdEF0dHJpYnV0ZXM6e3JvbGU6ImJ1dHRvbiIsdGFiaW5kZXg6IjAifSxiZWhhdmlvcnM6W3hhXSxyZWdpc3RlcmVkOmZ1bmN0aW9uKCl7dGhpcy5fdGVtcGxhdGUuc2V0QXR0cmlidXRlKCJzdHJpcC13aGl0ZXNwYWNlIiwiIil9LHByb3BlcnRpZXM6e3NyYzp7dHlwZTpTdHJpbmd9LGljb246e3R5cGU6U3RyaW5nfSxhbHQ6e3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfYWx0Q2hhbmdlZCJ9fSxfYWx0Q2hhbmdlZDpmdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIik7biYmZSE9bnx8dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQpfX0pLAovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDQwMHB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkOwogICAgICAgIHBhZGRpbmc6IDJweDsKICAgICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRhcmVhOwogICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGFyZWE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLm1pcnJvci10ZXh0IHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIEBhcHBseSAtLWlyb24tYXV0b2dyb3ctdGV4dGFyZWE7CiAgICAgIH0KCiAgICAgIC5maXQgewogICAgICAgIEBhcHBseSAtLWxheW91dC1maXQ7CiAgICAgIH0KCiAgICAgIHRleHRhcmVhIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgcmVzaXplOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgICAgLyogc2VlIGNvbW1lbnRzIGluIHRlbXBsYXRlICovCiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsKICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0OwogICAgICAgIEBhcHBseSAtLWlyb24tYXV0b2dyb3ctdGV4dGFyZWE7CiAgICAgIH0KCiAgICAgIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsKICAgICAgICBAYXBwbHkgLS1pcm9uLWF1dG9ncm93LXRleHRhcmVhLXBsYWNlaG9sZGVyOwogICAgICB9CgogICAgICB0ZXh0YXJlYTotbW96LXBsYWNlaG9sZGVyIHsKICAgICAgICBAYXBwbHkgLS1pcm9uLWF1dG9ncm93LXRleHRhcmVhLXBsYWNlaG9sZGVyOwogICAgICB9CgogICAgICB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7CiAgICAgICAgQGFwcGx5IC0taXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYS1wbGFjZWhvbGRlcjsKICAgICAgfQoKICAgICAgdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsKICAgICAgICBAYXBwbHkgLS1pcm9uLWF1dG9ncm93LXRleHRhcmVhLXBsYWNlaG9sZGVyOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDwhLS0gdGhlIG1pcnJvciBzaXplcyB0aGUgaW5wdXQvdGV4dGFyZWEgc28gaXQgZ3Jvd3Mgd2l0aCB0eXBpbmcgLS0+CiAgICA8IS0tIHVzZSAmIzE2MDsgaW5zdGVhZCAmbmJzcDsgb2YgdG8gYWxsb3cgdGhpcyBlbGVtZW50IHRvIGJlIHVzZWQgaW4gWEhUTUwgLS0+CiAgICA8ZGl2IGlkPSJtaXJyb3IiIGNsYXNzPSJtaXJyb3ItdGV4dCIgYXJpYS1oaWRkZW49InRydWUiPiZuYnNwOzwvZGl2PgoKICAgIDwhLS0gc2l6ZSB0aGUgaW5wdXQvdGV4dGFyZWEgd2l0aCBhIGRpdiwgYmVjYXVzZSB0aGUgdGV4dGFyZWEgaGFzIGludHJpbnNpYyBzaXplIGluIGZmIC0tPgogICAgPGRpdiBjbGFzcz0idGV4dGFyZWEtY29udGFpbmVyIGZpdCI+CiAgICAgIDx0ZXh0YXJlYSBpZD0idGV4dGFyZWEiIG5hbWUkPSJbW25hbWVdXSIgYXJpYS1sYWJlbCQ9IltbbGFiZWxdXSIgYXV0b2NvbXBsZXRlJD0iW1thdXRvY29tcGxldGVdXSIgYXV0b2ZvY3VzJD0iW1thdXRvZm9jdXNdXSIgYXV0b2NhcGl0YWxpemUkPSJbW2F1dG9jYXBpdGFsaXplXV0iIGlucHV0bW9kZSQ9IltbaW5wdXRtb2RlXV0iIHBsYWNlaG9sZGVyJD0iW1twbGFjZWhvbGRlcl1dIiByZWFkb25seSQ9IltbcmVhZG9ubHldXSIgcmVxdWlyZWQkPSJbW3JlcXVpcmVkXV0iIGRpc2FibGVkJD0iW1tkaXNhYmxlZF1dIiByb3dzJD0iW1tyb3dzXV0iIG1pbmxlbmd0aCQ9IltbbWlubGVuZ3RoXV0iIG1heGxlbmd0aCQ9IltbbWF4bGVuZ3RoXV0iPjwvdGV4dGFyZWE+CiAgICA8L2Rpdj4KYCxpczoiaXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYSIsYmVoYXZpb3JzOlt5YSxyYV0scHJvcGVydGllczp7dmFsdWU6e29ic2VydmVyOiJfdmFsdWVDaGFuZ2VkIix0eXBlOlN0cmluZyxub3RpZnk6ITB9LGJpbmRWYWx1ZTp7b2JzZXJ2ZXI6Il9iaW5kVmFsdWVDaGFuZ2VkIix0eXBlOlN0cmluZyxub3RpZnk6ITB9LHJvd3M6e3R5cGU6TnVtYmVyLHZhbHVlOjEsb2JzZXJ2ZXI6Il91cGRhdGVDYWNoZWQifSxtYXhSb3dzOnt0eXBlOk51bWJlcix2YWx1ZTowLG9ic2VydmVyOiJfdXBkYXRlQ2FjaGVkIn0sYXV0b2NvbXBsZXRlOnt0eXBlOlN0cmluZyx2YWx1ZToib2ZmIn0sYXV0b2ZvY3VzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGF1dG9jYXBpdGFsaXplOnt0eXBlOlN0cmluZyx2YWx1ZToibm9uZSJ9LGlucHV0bW9kZTp7dHlwZTpTdHJpbmd9LHBsYWNlaG9sZGVyOnt0eXBlOlN0cmluZ30scmVhZG9ubHk6e3R5cGU6U3RyaW5nfSxyZXF1aXJlZDp7dHlwZTpCb29sZWFufSxtaW5sZW5ndGg6e3R5cGU6TnVtYmVyfSxtYXhsZW5ndGg6e3R5cGU6TnVtYmVyfSxsYWJlbDp7dHlwZTpTdHJpbmd9fSxsaXN0ZW5lcnM6e2lucHV0OiJfb25JbnB1dCJ9LGdldCB0ZXh0YXJlYSgpe3JldHVybiB0aGlzLiQudGV4dGFyZWF9LGdldCBzZWxlY3Rpb25TdGFydCgpe3JldHVybiB0aGlzLiQudGV4dGFyZWEuc2VsZWN0aW9uU3RhcnR9LGdldCBzZWxlY3Rpb25FbmQoKXtyZXR1cm4gdGhpcy4kLnRleHRhcmVhLnNlbGVjdGlvbkVuZH0sc2V0IHNlbGVjdGlvblN0YXJ0KHQpe3RoaXMuJC50ZXh0YXJlYS5zZWxlY3Rpb25TdGFydD10fSxzZXQgc2VsZWN0aW9uRW5kKHQpe3RoaXMuJC50ZXh0YXJlYS5zZWxlY3Rpb25FbmQ9dH0sYXR0YWNoZWQ6ZnVuY3Rpb24oKXtuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUCg/OltvYV1kfGhvbmUpLykmJiFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9PUyAxWzM0NTY3ODldLykmJih0aGlzLiQudGV4dGFyZWEuc3R5bGUubWFyZ2luTGVmdD0iLTNweCIpfSx2YWxpZGF0ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuJC50ZXh0YXJlYS52YWxpZGl0eS52YWxpZDtyZXR1cm4gdCYmKHRoaXMucmVxdWlyZWQmJiIiPT09dGhpcy52YWx1ZT90PSExOnRoaXMuaGFzVmFsaWRhdG9yKCkmJih0PXlhLnZhbGlkYXRlLmNhbGwodGhpcyx0aGlzLnZhbHVlKSkpLHRoaXMuaW52YWxpZD0hdCx0aGlzLmZpcmUoImlyb24taW5wdXQtdmFsaWRhdGUiKSx0fSxfYmluZFZhbHVlQ2hhbmdlZDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlPXR9LF92YWx1ZUNoYW5nZWQ6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy50ZXh0YXJlYTtlJiYoZS52YWx1ZSE9PXQmJihlLnZhbHVlPXR8fDA9PT10P3Q6IiIpLHRoaXMuYmluZFZhbHVlPXQsdGhpcy4kLm1pcnJvci5pbm5lckhUTUw9dGhpcy5fdmFsdWVGb3JNaXJyb3IoKSx0aGlzLmZpcmUoImJpbmQtdmFsdWUtY2hhbmdlZCIse3ZhbHVlOnRoaXMuYmluZFZhbHVlfSkpfSxfb25JbnB1dDpmdW5jdGlvbih0KXt2YXIgZT1lcih0KS5wYXRoO3RoaXMudmFsdWU9ZT9lWzBdLnZhbHVlOnQudGFyZ2V0LnZhbHVlfSxfY29uc3RyYWluOmZ1bmN0aW9uKHQpe3ZhciBlO2Zvcih0PXR8fFsiIl0sZT10aGlzLm1heFJvd3M+MCYmdC5sZW5ndGg+dGhpcy5tYXhSb3dzP3Quc2xpY2UoMCx0aGlzLm1heFJvd3MpOnQuc2xpY2UoMCk7dGhpcy5yb3dzPjAmJmUubGVuZ3RoPHRoaXMucm93czspZS5wdXNoKCIiKTtyZXR1cm4gZS5qb2luKCI8YnIvPiIpKyImIzE2MDsifSxfdmFsdWVGb3JNaXJyb3I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnRleHRhcmVhO2lmKHQpcmV0dXJuIHRoaXMudG9rZW5zPXQmJnQudmFsdWU/dC52YWx1ZS5yZXBsYWNlKC8mL2dtLCImYW1wOyIpLnJlcGxhY2UoLyIvZ20sIiZxdW90OyIpLnJlcGxhY2UoLycvZ20sIiYjMzk7IikucmVwbGFjZSgvPC9nbSwiJmx0OyIpLnJlcGxhY2UoLz4vZ20sIiZndDsiKS5zcGxpdCgiXG4iKTpbIiJdLHRoaXMuX2NvbnN0cmFpbih0aGlzLnRva2Vucyl9LF91cGRhdGVDYWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLiQubWlycm9yLmlubmVySFRNTD10aGlzLl9jb25zdHJhaW4odGhpcy50b2tlbnMpfX0pLAovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgbGFiZWwgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxwYXBlci1pbnB1dC1jb250YWluZXIgbm8tbGFiZWwtZmxvYXQkPSJbW25vTGFiZWxGbG9hdF1dIiBhbHdheXMtZmxvYXQtbGFiZWw9IltbX2NvbXB1dGVBbHdheXNGbG9hdExhYmVsKGFsd2F5c0Zsb2F0TGFiZWwscGxhY2Vob2xkZXIpXV0iIGF1dG8tdmFsaWRhdGUkPSJbW2F1dG9WYWxpZGF0ZV1dIiBkaXNhYmxlZCQ9IltbZGlzYWJsZWRdXSIgaW52YWxpZD0iW1tpbnZhbGlkXV0iPgoKICAgICAgPGxhYmVsIGhpZGRlbiQ9IltbIWxhYmVsXV0iIGFyaWEtaGlkZGVuPSJ0cnVlIiBmb3IkPSJbW19pbnB1dElkXV0iIHNsb3Q9ImxhYmVsIj5bW2xhYmVsXV08L2xhYmVsPgoKICAgICAgPGlyb24tYXV0b2dyb3ctdGV4dGFyZWEgY2xhc3M9InBhcGVyLWlucHV0LWlucHV0IiBzbG90PSJpbnB1dCIgaWQkPSJbW19pbnB1dElkXV0iIGFyaWEtbGFiZWxsZWRieSQ9IltbX2FyaWFMYWJlbGxlZEJ5XV0iIGFyaWEtZGVzY3JpYmVkYnkkPSJbW19hcmlhRGVzY3JpYmVkQnldXSIgYmluZC12YWx1ZT0ie3t2YWx1ZX19IiBpbnZhbGlkPSJ7e2ludmFsaWR9fSIgdmFsaWRhdG9yJD0iW1t2YWxpZGF0b3JdXSIgZGlzYWJsZWQkPSJbW2Rpc2FibGVkXV0iIGF1dG9jb21wbGV0ZSQ9IltbYXV0b2NvbXBsZXRlXV0iIGF1dG9mb2N1cyQ9IltbYXV0b2ZvY3VzXV0iIGlucHV0bW9kZSQ9IltbaW5wdXRtb2RlXV0iIG5hbWUkPSJbW25hbWVdXSIgcGxhY2Vob2xkZXIkPSJbW3BsYWNlaG9sZGVyXV0iIHJlYWRvbmx5JD0iW1tyZWFkb25seV1dIiByZXF1aXJlZCQ9IltbcmVxdWlyZWRdXSIgbWlubGVuZ3RoJD0iW1ttaW5sZW5ndGhdXSIgbWF4bGVuZ3RoJD0iW1ttYXhsZW5ndGhdXSIgYXV0b2NhcGl0YWxpemUkPSJbW2F1dG9jYXBpdGFsaXplXV0iIHJvd3MkPSJbW3Jvd3NdXSIgbWF4LXJvd3MkPSJbW21heFJvd3NdXSIgb24tY2hhbmdlPSJfb25DaGFuZ2UiPjwvaXJvbi1hdXRvZ3Jvdy10ZXh0YXJlYT4KCiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tlcnJvck1lc3NhZ2VdXSI+CiAgICAgICAgPHBhcGVyLWlucHV0LWVycm9yIGFyaWEtbGl2ZT0iYXNzZXJ0aXZlIiBzbG90PSJhZGQtb24iPltbZXJyb3JNZXNzYWdlXV08L3BhcGVyLWlucHV0LWVycm9yPgogICAgICA8L3RlbXBsYXRlPgoKICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2NoYXJDb3VudGVyXV0iPgogICAgICAgIDxwYXBlci1pbnB1dC1jaGFyLWNvdW50ZXIgc2xvdD0iYWRkLW9uIj48L3BhcGVyLWlucHV0LWNoYXItY291bnRlcj4KICAgICAgPC90ZW1wbGF0ZT4KCiAgICA8L3BhcGVyLWlucHV0LWNvbnRhaW5lcj4KYCxpczoicGFwZXItdGV4dGFyZWEiLGJlaGF2aW9yczpbSmEsZ2FdLHByb3BlcnRpZXM6e19hcmlhTGFiZWxsZWRCeTp7b2JzZXJ2ZXI6Il9hcmlhTGFiZWxsZWRCeUNoYW5nZWQiLHR5cGU6U3RyaW5nfSxfYXJpYURlc2NyaWJlZEJ5OntvYnNlcnZlcjoiX2FyaWFEZXNjcmliZWRCeUNoYW5nZWQiLHR5cGU6U3RyaW5nfSx2YWx1ZTp7dHlwZTpTdHJpbmd9LHJvd3M6e3R5cGU6TnVtYmVyLHZhbHVlOjF9LG1heFJvd3M6e3R5cGU6TnVtYmVyLHZhbHVlOjB9fSxnZXQgc2VsZWN0aW9uU3RhcnQoKXtyZXR1cm4gdGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvblN0YXJ0fSxzZXQgc2VsZWN0aW9uU3RhcnQodCl7dGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvblN0YXJ0PXR9LGdldCBzZWxlY3Rpb25FbmQoKXtyZXR1cm4gdGhpcy4kLmlucHV0LnRleHRhcmVhLnNlbGVjdGlvbkVuZH0sc2V0IHNlbGVjdGlvbkVuZCh0KXt0aGlzLiQuaW5wdXQudGV4dGFyZWEuc2VsZWN0aW9uRW5kPXR9LF9hcmlhTGFiZWxsZWRCeUNoYW5nZWQ6ZnVuY3Rpb24odCl7dGhpcy5fZm9jdXNhYmxlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWxsZWRieSIsdCl9LF9hcmlhRGVzY3JpYmVkQnlDaGFuZ2VkOmZ1bmN0aW9uKHQpe3RoaXMuX2ZvY3VzYWJsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5Iix0KX0sZ2V0IF9mb2N1c2FibGVFbGVtZW50KCl7cmV0dXJuIHRoaXMuaW5wdXRFbGVtZW50LnRleHRhcmVhfX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgYXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTthcy5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiZGlzcGxheTogbm9uZTsiKSxhcy5pbm5lckhUTUw9Ijxkb20tbW9kdWxlIGlkPVwicGFwZXItaXRlbS1zaGFyZWQtc3R5bGVzXCI+XG4gIDx0ZW1wbGF0ZT5cbiAgICA8c3R5bGU+XG4gICAgICA6aG9zdCwgLnBhcGVyLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS1wYXBlci1pdGVtLW1pbi1oZWlnaHQsIDQ4cHgpO1xuICAgICAgICBwYWRkaW5nOiAwcHggMTZweDtcbiAgICAgIH1cblxuICAgICAgLnBhcGVyLWl0ZW0ge1xuICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7XG4gICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG5cbiAgICAgIDpob3N0KFtoaWRkZW5dKSwgLnBhcGVyLWl0ZW1baGlkZGVuXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgOmhvc3QoLmlyb24tc2VsZWN0ZWQpLCAucGFwZXItaXRlbS5pcm9uLXNlbGVjdGVkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXBhcGVyLWl0ZW0tc2VsZWN0ZWQtd2VpZ2h0LCBib2xkKTtcblxuICAgICAgICBAYXBwbHkgLS1wYXBlci1pdGVtLXNlbGVjdGVkO1xuICAgICAgfVxuXG4gICAgICA6aG9zdChbZGlzYWJsZWRdKSwgLnBhcGVyLWl0ZW1bZGlzYWJsZWRdIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLWl0ZW0tZGlzYWJsZWQtY29sb3IsIHZhcigtLWRpc2FibGVkLXRleHQtY29sb3IpKTtcblxuICAgICAgICBAYXBwbHkgLS1wYXBlci1pdGVtLWRpc2FibGVkO1xuICAgICAgfVxuXG4gICAgICA6aG9zdCg6Zm9jdXMpLCAucGFwZXItaXRlbTpmb2N1cyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3V0bGluZTogMDtcblxuICAgICAgICBAYXBwbHkgLS1wYXBlci1pdGVtLWZvY3VzZWQ7XG4gICAgICB9XG5cbiAgICAgIDpob3N0KDpmb2N1cyk6YmVmb3JlLCAucGFwZXItaXRlbTpmb2N1czpiZWZvcmUge1xuICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0O1xuXG4gICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IHZhcigtLWRhcmstZGl2aWRlci1vcGFjaXR5KTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgQGFwcGx5IC0tcGFwZXItaXRlbS1mb2N1c2VkLWJlZm9yZTtcbiAgICAgIH1cbiAgICA8L3N0eWxlPlxuICA8L3RlbXBsYXRlPlxuPC9kb20tbW9kdWxlPiIsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChhcy5jb250ZW50KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IHNzPVthYSxyYSx7aG9zdEF0dHJpYnV0ZXM6e3JvbGU6Im9wdGlvbiIsdGFiaW5kZXg6IjAifX1dOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1pdGVtLXNoYXJlZC1zdHlsZXMiPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWl0ZW07CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8c2xvdD48L3Nsb3Q+CmAsaXM6InBhcGVyLWl0ZW0iLGJlaGF2aW9yczpbc3NdfSksCi8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpqcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogbmVlZGVkIGZvciB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyB0byB3b3JrIG9uIGZmICovCiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItanVzdGlmaWVkOwogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4OwogICAgICB9CgogICAgICA6aG9zdChbdHdvLWxpbmVdKSB7CiAgICAgICAgbWluLWhlaWdodDogdmFyKC0tcGFwZXItaXRlbS1ib2R5LXR3by1saW5lLW1pbi1oZWlnaHQsIDcycHgpOwogICAgICB9CgogICAgICA6aG9zdChbdGhyZWUtbGluZV0pIHsKICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS1wYXBlci1pdGVtLWJvZHktdGhyZWUtbGluZS1taW4taGVpZ2h0LCA4OHB4KTsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoKikgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgOmhvc3QgPiA6OnNsb3R0ZWQoW3NlY29uZGFyeV0pIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWJvZHkxOwoKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItaXRlbS1ib2R5LXNlY29uZGFyeS1jb2xvciwgdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItaXRlbS1ib2R5LXNlY29uZGFyeTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CmAsaXM6InBhcGVyLWl0ZW0tYm9keSJ9KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGUgaW5jbHVkZT0icGFwZXItaXRlbS1zaGFyZWQtc3R5bGVzIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LXN1YmhlYWQ7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWl0ZW07CiAgICAgICAgQGFwcGx5IC0tcGFwZXItaWNvbi1pdGVtOwogICAgICB9CgogICAgICAuY29udGVudC1pY29uIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwoKICAgICAgICB3aWR0aDogdmFyKC0tcGFwZXItaXRlbS1pY29uLXdpZHRoLCA1NnB4KTsKICAgICAgICBAYXBwbHkgLS1wYXBlci1pdGVtLWljb247CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBpZD0iY29udGVudEljb24iIGNsYXNzPSJjb250ZW50LWljb24iPgogICAgICA8c2xvdCBuYW1lPSJpdGVtLWljb24iPjwvc2xvdD4KICAgIDwvZGl2PgogICAgPHNsb3Q+PC9zbG90PgpgLGlzOiJwYXBlci1pY29uLWl0ZW0iLGJlaGF2aW9yczpbc3NdfSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBscz17cHJvcGVydGllczp7bXVsdGk6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoibXVsdGlDaGFuZ2VkIn0sc2VsZWN0ZWRWYWx1ZXM6e3R5cGU6QXJyYXksbm90aWZ5OiEwLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fSxzZWxlY3RlZEl0ZW1zOnt0eXBlOkFycmF5LHJlYWRPbmx5OiEwLG5vdGlmeTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX19LG9ic2VydmVyczpbIl91cGRhdGVTZWxlY3RlZChzZWxlY3RlZFZhbHVlcy5zcGxpY2VzKSJdLHNlbGVjdDpmdW5jdGlvbih0KXt0aGlzLm11bHRpP3RoaXMuX3RvZ2dsZVNlbGVjdGVkKHQpOnRoaXMuc2VsZWN0ZWQ9dH0sbXVsdGlDaGFuZ2VkOmZ1bmN0aW9uKHQpe3RoaXMuX3NlbGVjdGlvbi5tdWx0aT10LHRoaXMuX3VwZGF0ZVNlbGVjdGVkKCl9LGdldCBfc2hvdWxkVXBkYXRlU2VsZWN0aW9uKCl7cmV0dXJuIG51bGwhPXRoaXMuc2VsZWN0ZWR8fG51bGwhPXRoaXMuc2VsZWN0ZWRWYWx1ZXMmJnRoaXMuc2VsZWN0ZWRWYWx1ZXMubGVuZ3RofSxfdXBkYXRlQXR0ckZvclNlbGVjdGVkOmZ1bmN0aW9uKCl7dGhpcy5tdWx0aT90aGlzLnNlbGVjdGVkSXRlbXMmJnRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGg+MCYmKHRoaXMuc2VsZWN0ZWRWYWx1ZXM9dGhpcy5zZWxlY3RlZEl0ZW1zLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2luZGV4VG9WYWx1ZSh0aGlzLmluZGV4T2YodCkpfSksdGhpcykuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dH0pLHRoaXMpKTplYS5fdXBkYXRlQXR0ckZvclNlbGVjdGVkLmFwcGx5KHRoaXMpfSxfdXBkYXRlU2VsZWN0ZWQ6ZnVuY3Rpb24oKXt0aGlzLm11bHRpP3RoaXMuX3NlbGVjdE11bHRpKHRoaXMuc2VsZWN0ZWRWYWx1ZXMpOnRoaXMuX3NlbGVjdFNlbGVjdGVkKHRoaXMuc2VsZWN0ZWQpfSxfc2VsZWN0TXVsdGk6ZnVuY3Rpb24odCl7dmFyIGU9KHRoaXMuX3ZhbHVlc1RvSXRlbXModD10fHxbXSl8fFtdKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10fSkpO3RoaXMuX3NlbGVjdGlvbi5jbGVhcihlKTtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl0aGlzLl9zZWxlY3Rpb24uc2V0SXRlbVNlbGVjdGVkKGVbbl0sITApO3RoaXMuZmFsbGJhY2tTZWxlY3Rpb24mJiF0aGlzLl9zZWxlY3Rpb24uZ2V0KCkubGVuZ3RoJiYodGhpcy5fdmFsdWVUb0l0ZW0odGhpcy5mYWxsYmFja1NlbGVjdGlvbikmJnRoaXMuc2VsZWN0KHRoaXMuZmFsbGJhY2tTZWxlY3Rpb24pKX0sX3NlbGVjdGlvbkNoYW5nZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3NlbGVjdGlvbi5nZXQoKTt0aGlzLm11bHRpPyh0aGlzLl9zZXRTZWxlY3RlZEl0ZW1zKHQpLHRoaXMuX3NldFNlbGVjdGVkSXRlbSh0Lmxlbmd0aD90WzBdOm51bGwpKTpudWxsIT10Pyh0aGlzLl9zZXRTZWxlY3RlZEl0ZW1zKFt0XSksdGhpcy5fc2V0U2VsZWN0ZWRJdGVtKHQpKToodGhpcy5fc2V0U2VsZWN0ZWRJdGVtcyhbXSksdGhpcy5fc2V0U2VsZWN0ZWRJdGVtKG51bGwpKX0sX3RvZ2dsZVNlbGVjdGVkOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuc2VsZWN0ZWRWYWx1ZXMuaW5kZXhPZih0KTtlPDA/dGhpcy5wdXNoKCJzZWxlY3RlZFZhbHVlcyIsdCk6dGhpcy5zcGxpY2UoInNlbGVjdGVkVmFsdWVzIixlLDEpfSxfdmFsdWVzVG9JdGVtczpmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9udWxsOnQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdmFsdWVUb0l0ZW0odCl9KSx0aGlzKX19LGNzPXtwcm9wZXJ0aWVzOntmb2N1c2VkSXRlbTp7b2JzZXJ2ZXI6Il9mb2N1c2VkSXRlbUNoYW5nZWQiLHJlYWRPbmx5OiEwLHR5cGU6T2JqZWN0fSxhdHRyRm9ySXRlbVRpdGxlOnt0eXBlOlN0cmluZ30sZGlzYWJsZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX2Rpc2FibGVkQ2hhbmdlZCJ9fSxfTU9ESUZJRVJfS0VZUzpbIkFsdCIsIkFsdEdyYXBoIiwiQ2Fwc0xvY2siLCJDb250cm9sIiwiRm4iLCJGbkxvY2siLCJIeXBlciIsIk1ldGEiLCJOdW1Mb2NrIiwiT1MiLCJTY3JvbGxMb2NrIiwiU2hpZnQiLCJTdXBlciIsIlN5bWJvbCIsIlN5bWJvbExvY2siXSxfU0VBUkNIX1JFU0VUX1RJTUVPVVRfTVM6MWUzLF9wcmV2aW91c1RhYkluZGV4OjAsaG9zdEF0dHJpYnV0ZXM6e3JvbGU6Im1lbnUifSxvYnNlcnZlcnM6WyJfdXBkYXRlTXVsdGlzZWxlY3RhYmxlKG11bHRpKSJdLGxpc3RlbmVyczp7Zm9jdXM6Il9vbkZvY3VzIixrZXlkb3duOiJfb25LZXlkb3duIiwiaXJvbi1pdGVtcy1jaGFuZ2VkIjoiX29uSXJvbkl0ZW1zQ2hhbmdlZCJ9LGtleUJpbmRpbmdzOnt1cDoiX29uVXBLZXkiLGRvd246Il9vbkRvd25LZXkiLGVzYzoiX29uRXNjS2V5Iiwic2hpZnQrdGFiOmtleWRvd24iOiJfb25TaGlmdFRhYkRvd24ifSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX3Jlc2V0VGFiaW5kaWNlcygpfSxzZWxlY3Q6ZnVuY3Rpb24odCl7dGhpcy5fZGVmYXVsdEZvY3VzQXN5bmMmJih0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX2RlZmF1bHRGb2N1c0FzeW5jKSx0aGlzLl9kZWZhdWx0Rm9jdXNBc3luYz1udWxsKTt2YXIgZT10aGlzLl92YWx1ZVRvSXRlbSh0KTtlJiZlLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKXx8KHRoaXMuX3NldEZvY3VzZWRJdGVtKGUpLGxzLnNlbGVjdC5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxfcmVzZXRUYWJpbmRpY2VzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5tdWx0aT90aGlzLnNlbGVjdGVkSXRlbXMmJnRoaXMuc2VsZWN0ZWRJdGVtc1swXTp0aGlzLnNlbGVjdGVkSXRlbTt0aGlzLml0ZW1zLmZvckVhY2goKGZ1bmN0aW9uKGUpe2Uuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsZT09PXQ/IjAiOiItMSIpLGUuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIix0aGlzLl9zZWxlY3Rpb24uaXNTZWxlY3RlZChlKSl9KSx0aGlzKX0sX3VwZGF0ZU11bHRpc2VsZWN0YWJsZTpmdW5jdGlvbih0KXt0P3RoaXMuc2V0QXR0cmlidXRlKCJhcmlhLW11bHRpc2VsZWN0YWJsZSIsInRydWUiKTp0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1tdWx0aXNlbGVjdGFibGUiKX0sX2ZvY3VzV2l0aEtleWJvYXJkRXZlbnQ6ZnVuY3Rpb24odCl7aWYoLTE9PT10aGlzLl9NT0RJRklFUl9LRVlTLmluZGV4T2YodC5rZXkpKXt0aGlzLmNhbmNlbERlYm91bmNlcigiX2NsZWFyU2VhcmNoVGV4dCIpO2Zvcih2YXIgZSxuPXRoaXMuX3NlYXJjaFRleHR8fCIiLGk9KG4rPSh0LmtleSYmMT09dC5rZXkubGVuZ3RoP3Qua2V5OlN0cmluZy5mcm9tQ2hhckNvZGUodC5rZXlDb2RlKSkudG9Mb2NhbGVMb3dlckNhc2UoKSkubGVuZ3RoLHI9MDtlPXRoaXMuaXRlbXNbcl07cisrKWlmKCFlLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKSl7dmFyIG89dGhpcy5hdHRyRm9ySXRlbVRpdGxlfHwidGV4dENvbnRlbnQiLGE9KGVbb118fGUuZ2V0QXR0cmlidXRlKG8pfHwiIikudHJpbSgpO2lmKCEoYS5sZW5ndGg8aSkmJmEuc2xpY2UoMCxpKS50b0xvY2FsZUxvd2VyQ2FzZSgpPT1uKXt0aGlzLl9zZXRGb2N1c2VkSXRlbShlKTticmVha319dGhpcy5fc2VhcmNoVGV4dD1uLHRoaXMuZGVib3VuY2UoIl9jbGVhclNlYXJjaFRleHQiLHRoaXMuX2NsZWFyU2VhcmNoVGV4dCx0aGlzLl9TRUFSQ0hfUkVTRVRfVElNRU9VVF9NUyl9fSxfY2xlYXJTZWFyY2hUZXh0OmZ1bmN0aW9uKCl7dGhpcy5fc2VhcmNoVGV4dD0iIn0sX2ZvY3VzUHJldmlvdXM6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5pdGVtcy5sZW5ndGgsZT1OdW1iZXIodGhpcy5pbmRleE9mKHRoaXMuZm9jdXNlZEl0ZW0pKSxuPTE7bjx0KzE7bisrKXt2YXIgaT10aGlzLml0ZW1zWyhlLW4rdCkldF07aWYoIWkuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpKXt2YXIgcj1lcihpKS5nZXRPd25lclJvb3QoKXx8ZG9jdW1lbnQ7aWYodGhpcy5fc2V0Rm9jdXNlZEl0ZW0oaSksZXIocikuYWN0aXZlRWxlbWVudD09aSlyZXR1cm59fX0sX2ZvY3VzTmV4dDpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLml0ZW1zLmxlbmd0aCxlPU51bWJlcih0aGlzLmluZGV4T2YodGhpcy5mb2N1c2VkSXRlbSkpLG49MTtuPHQrMTtuKyspe3ZhciBpPXRoaXMuaXRlbXNbKGUrbikldF07aWYoIWkuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpKXt2YXIgcj1lcihpKS5nZXRPd25lclJvb3QoKXx8ZG9jdW1lbnQ7aWYodGhpcy5fc2V0Rm9jdXNlZEl0ZW0oaSksZXIocikuYWN0aXZlRWxlbWVudD09aSlyZXR1cm59fX0sX2FwcGx5U2VsZWN0aW9uOmZ1bmN0aW9uKHQsZSl7dC5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLGU/InRydWUiOiJmYWxzZSIpLGVhLl9hcHBseVNlbGVjdGlvbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LF9mb2N1c2VkSXRlbUNoYW5nZWQ6ZnVuY3Rpb24odCxlKXtlJiZlLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCItMSIpLCF0fHx0Lmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKXx8dGhpcy5kaXNhYmxlZHx8KHQuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIjAiKSx0LmZvY3VzKCkpfSxfb25Jcm9uSXRlbXNDaGFuZ2VkOmZ1bmN0aW9uKHQpe3QuZGV0YWlsLmFkZGVkTm9kZXMubGVuZ3RoJiZ0aGlzLl9yZXNldFRhYmluZGljZXMoKX0sX29uU2hpZnRUYWJEb3duOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpO2NzLl9zaGlmdFRhYlByZXNzZWQ9ITAsdGhpcy5fc2V0Rm9jdXNlZEl0ZW0obnVsbCksdGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKSx0aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsZSksY3MuX3NoaWZ0VGFiUHJlc3NlZD0hMX0pLDEpfSxfb25Gb2N1czpmdW5jdGlvbih0KXtpZighY3MuX3NoaWZ0VGFiUHJlc3NlZCl7dmFyIGU9ZXIodCkucm9vdFRhcmdldDsoZT09PXRoaXN8fHZvaWQgMD09PWUudGFiSW5kZXh8fHRoaXMuaXNMaWdodERlc2NlbmRhbnQoZSkpJiYodGhpcy5fZGVmYXVsdEZvY3VzQXN5bmM9dGhpcy5hc3luYygoZnVuY3Rpb24oKXt2YXIgdD10aGlzLm11bHRpP3RoaXMuc2VsZWN0ZWRJdGVtcyYmdGhpcy5zZWxlY3RlZEl0ZW1zWzBdOnRoaXMuc2VsZWN0ZWRJdGVtO3RoaXMuX3NldEZvY3VzZWRJdGVtKG51bGwpLHQ/dGhpcy5fc2V0Rm9jdXNlZEl0ZW0odCk6dGhpcy5pdGVtc1swXSYmdGhpcy5fZm9jdXNOZXh0KCl9KSkpfX0sX29uVXBLZXk6ZnVuY3Rpb24odCl7dGhpcy5fZm9jdXNQcmV2aW91cygpLHQuZGV0YWlsLmtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKX0sX29uRG93bktleTpmdW5jdGlvbih0KXt0aGlzLl9mb2N1c05leHQoKSx0LmRldGFpbC5rZXlib2FyZEV2ZW50LnByZXZlbnREZWZhdWx0KCl9LF9vbkVzY0tleTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLmZvY3VzZWRJdGVtO2UmJmUuYmx1cigpfSxfb25LZXlkb3duOmZ1bmN0aW9uKHQpe3RoaXMua2V5Ym9hcmRFdmVudE1hdGNoZXNLZXlzKHQsInVwIGRvd24gZXNjIil8fHRoaXMuX2ZvY3VzV2l0aEtleWJvYXJkRXZlbnQodCksdC5zdG9wUHJvcGFnYXRpb24oKX0sX2FjdGl2YXRlSGFuZGxlcjpmdW5jdGlvbih0KXtlYS5fYWN0aXZhdGVIYW5kbGVyLmNhbGwodGhpcyx0KSx0LnN0b3BQcm9wYWdhdGlvbigpfSxfZGlzYWJsZWRDaGFuZ2VkOmZ1bmN0aW9uKHQpe3Q/KHRoaXMuX3ByZXZpb3VzVGFiSW5kZXg9dGhpcy5oYXNBdHRyaWJ1dGUoInRhYmluZGV4Iik/dGhpcy50YWJJbmRleDowLHRoaXMucmVtb3ZlQXR0cmlidXRlKCJ0YWJpbmRleCIpKTp0aGlzLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKXx8dGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4Iix0aGlzLl9wcmV2aW91c1RhYkluZGV4KX0sX3NoaWZ0VGFiUHJlc3NlZDohMX0sdXM9W1tlYSxsc10sWG8sY3NdOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwoKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci1saXN0Ym94LWJhY2tncm91bmQtY29sb3IsIHZhcigtLXByaW1hcnktYmFja2dyb3VuZC1jb2xvcikpOwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1saXN0Ym94LWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItbGlzdGJveDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8c2xvdD48L3Nsb3Q+CmAsaXM6InBhcGVyLWxpc3Rib3giLGJlaGF2aW9yczpbdXNdLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJsaXN0Ym94In19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IGhzPXhlYAo8ZG9tLW1vZHVsZSBpZD0icGFwZXItbWF0ZXJpYWwtc2hhcmVkLXN0eWxlcyI+CiAgPHRlbXBsYXRlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICA6aG9zdChbZWxldmF0aW9uPSIxIl0pIHsKICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTJkcDsKICAgICAgfQoKICAgICAgOmhvc3QoW2VsZXZhdGlvbj0iMiJdKSB7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi00ZHA7CiAgICAgIH0KCiAgICAgIDpob3N0KFtlbGV2YXRpb249IjMiXSkgewogICAgICAgIEBhcHBseSAtLXNoYWRvdy1lbGV2YXRpb24tNmRwOwogICAgICB9CgogICAgICA6aG9zdChbZWxldmF0aW9uPSI0Il0pIHsKICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLThkcDsKICAgICAgfQoKICAgICAgOmhvc3QoW2VsZXZhdGlvbj0iNSJdKSB7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LWVsZXZhdGlvbi0xNmRwOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvdGVtcGxhdGU+CjwvZG9tLW1vZHVsZT4KYDtocy5zZXRBdHRyaWJ1dGUoInN0eWxlIiwiZGlzcGxheTogbm9uZTsiKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGhzLmNvbnRlbnQpLAovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZSBpbmNsdWRlPSJwYXBlci1tYXRlcmlhbC1zaGFyZWQtc3R5bGVzIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdChbYW5pbWF0ZWRdKSB7CiAgICAgICAgQGFwcGx5IC0tc2hhZG93LXRyYW5zaXRpb247CiAgICAgIH0KICAgICAgOmhvc3QgewogICAgICAgIEBhcHBseSAtLXBhcGVyLW1hdGVyaWFsOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxzbG90Pjwvc2xvdD4KYCxpczoicGFwZXItbWF0ZXJpYWwiLHByb3BlcnRpZXM6e2VsZXZhdGlvbjp7dHlwZTpOdW1iZXIscmVmbGVjdFRvQXR0cmlidXRlOiEwLHZhbHVlOjF9LGFuaW1hdGVkOnt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwLHZhbHVlOiExfX19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IGRzPXtwcm9wZXJ0aWVzOnt2YWx1ZTp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxtaW46e3R5cGU6TnVtYmVyLHZhbHVlOjAsbm90aWZ5OiEwfSxtYXg6e3R5cGU6TnVtYmVyLHZhbHVlOjEwMCxub3RpZnk6ITB9LHN0ZXA6e3R5cGU6TnVtYmVyLHZhbHVlOjEsbm90aWZ5OiEwfSxyYXRpbzp7dHlwZTpOdW1iZXIsdmFsdWU6MCxyZWFkT25seTohMCxub3RpZnk6ITB9fSxvYnNlcnZlcnM6WyJfdXBkYXRlKHZhbHVlLCBtaW4sIG1heCwgc3RlcCkiXSxfY2FsY1JhdGlvOmZ1bmN0aW9uKHQpe3JldHVybih0aGlzLl9jbGFtcFZhbHVlKHQpLXRoaXMubWluKS8odGhpcy5tYXgtdGhpcy5taW4pfSxfY2xhbXBWYWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5taW4odGhpcy5tYXgsTWF0aC5tYXgodGhpcy5taW4sdGhpcy5fY2FsY1N0ZXAodCkpKX0sX2NhbGNTdGVwOmZ1bmN0aW9uKHQpe2lmKHQ9cGFyc2VGbG9hdCh0KSwhdGhpcy5zdGVwKXJldHVybiB0O3ZhciBlPU1hdGgucm91bmQoKHQtdGhpcy5taW4pL3RoaXMuc3RlcCk7cmV0dXJuIHRoaXMuc3RlcDwxP2UvKDEvdGhpcy5zdGVwKSt0aGlzLm1pbjplKnRoaXMuc3RlcCt0aGlzLm1pbn0sX3ZhbGlkYXRlVmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9jbGFtcFZhbHVlKHRoaXMudmFsdWUpO3JldHVybiB0aGlzLnZhbHVlPXRoaXMub2xkVmFsdWU9aXNOYU4odCk/dGhpcy5vbGRWYWx1ZTp0LHRoaXMudmFsdWUhPT10fSxfdXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5fdmFsaWRhdGVWYWx1ZSgpLHRoaXMuX3NldFJhdGlvKDEwMCp0aGlzLl9jYWxjUmF0aW8odGhpcy52YWx1ZSkpfX07Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqL2pyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMjAwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIDpob3N0KFtoaWRkZW5dKSwgW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgI3Byb2dyZXNzQ29udGFpbmVyIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1wcm9ncmVzcy1jb250YWluZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAjcHJvZ3Jlc3NDb250YWluZXIsCiAgICAgIC8qIHRoZSBzdHJpcGUgZm9yIHRoZSBpbmRldGVybWluYXRlIGFuaW1hdGlvbiovCiAgICAgIC5pbmRldGVybWluYXRlOjphZnRlciB7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1wYXBlci1wcm9ncmVzcy1oZWlnaHQsIDRweCk7CiAgICAgIH0KCiAgICAgICNwcmltYXJ5UHJvZ3Jlc3MsCiAgICAgICNzZWNvbmRhcnlQcm9ncmVzcywKICAgICAgLmluZGV0ZXJtaW5hdGU6OmFmdGVyIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZml0OwogICAgICB9CgogICAgICAjcHJvZ3Jlc3NDb250YWluZXIsCiAgICAgIC5pbmRldGVybWluYXRlOjphZnRlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtY29udGFpbmVyLWNvbG9yLCB2YXIoLS1nb29nbGUtZ3JleS0zMDApKTsKICAgICAgfQoKICAgICAgOmhvc3QoLnRyYW5zaXRpbmcpICNwcmltYXJ5UHJvZ3Jlc3MsCiAgICAgIDpob3N0KC50cmFuc2l0aW5nKSAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07CiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOwoKICAgICAgICAvKiBEdXJhdGlvbiAqLwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4wOHMpOwogICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXByb2dyZXNzLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMDhzKTsKCiAgICAgICAgLyogVGltaW5nIGZ1bmN0aW9uICovCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sIGVhc2UpOwogICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1wYXBlci1wcm9ncmVzcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgZWFzZSk7CgogICAgICAgIC8qIERlbGF5ICovCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci1wcm9ncmVzcy10cmFuc2l0aW9uLWRlbGF5LCAwcyk7CiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogdmFyKC0tcGFwZXItcHJvZ3Jlc3MtdHJhbnNpdGlvbi1kZWxheSwgMHMpOwogICAgICB9CgogICAgICAjcHJpbWFyeVByb2dyZXNzLAogICAgICAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIEBhcHBseSAtLWxheW91dC1maXQ7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApOwogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgIH0KCiAgICAgICNwcmltYXJ5UHJvZ3Jlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXByb2dyZXNzLWFjdGl2ZS1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZWVuLTUwMCkpOwogICAgICB9CgogICAgICAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXByb2dyZXNzLXNlY29uZGFyeS1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZWVuLTEwMCkpOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjcHJpbWFyeVByb2dyZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci1wcm9ncmVzcy1kaXNhYmxlZC1hY3RpdmUtY29sb3IsIHZhcigtLWdvb2dsZS1ncmV5LTUwMCkpOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAjc2Vjb25kYXJ5UHJvZ3Jlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyLXByb2dyZXNzLWRpc2FibGVkLXNlY29uZGFyeS1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZXktMzAwKSk7CiAgICAgIH0KCiAgICAgIDpob3N0KDpub3QoW2Rpc2FibGVkXSkpICNwcmltYXJ5UHJvZ3Jlc3MuaW5kZXRlcm1pbmF0ZSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBpbmRldGVybWluYXRlLWJhciB2YXIoLS1wYXBlci1wcm9ncmVzcy1pbmRldGVybWluYXRlLWN5Y2xlLWR1cmF0aW9uLCAycykgbGluZWFyIGluZmluaXRlOwogICAgICAgIGFuaW1hdGlvbjogaW5kZXRlcm1pbmF0ZS1iYXIgdmFyKC0tcGFwZXItcHJvZ3Jlc3MtaW5kZXRlcm1pbmF0ZS1jeWNsZS1kdXJhdGlvbiwgMnMpIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgOmhvc3QoOm5vdChbZGlzYWJsZWRdKSkgI3ByaW1hcnlQcm9ncmVzcy5pbmRldGVybWluYXRlOjphZnRlciB7CiAgICAgICAgY29udGVudDogIiI7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7CgogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBpbmRldGVybWluYXRlLXNwbGl0dGVyIHZhcigtLXBhcGVyLXByb2dyZXNzLWluZGV0ZXJtaW5hdGUtY3ljbGUtZHVyYXRpb24sIDJzKSBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgYW5pbWF0aW9uOiBpbmRldGVybWluYXRlLXNwbGl0dGVyIHZhcigtLXBhcGVyLXByb2dyZXNzLWluZGV0ZXJtaW5hdGUtY3ljbGUtZHVyYXRpb24sIDJzKSBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBpbmRldGVybWluYXRlLWJhciB7CiAgICAgICAgMCUgewogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKSB0cmFuc2xhdGVYKC0xMDAlKTsKICAgICAgICB9CiAgICAgICAgNTAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSkgdHJhbnNsYXRlWCgwJSk7CiAgICAgICAgfQogICAgICAgIDc1JSB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpIHRyYW5zbGF0ZVgoMCUpOwogICAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoLjI4LC42MiwuMzcsLjkxKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApIHRyYW5zbGF0ZVgoMCUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGluZGV0ZXJtaW5hdGUtc3BsaXR0ZXIgewogICAgICAgIDAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKC0xMjUlKTsKICAgICAgICB9CiAgICAgICAgMzAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKC0xMjUlKTsKICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40MiwwLC42LC44KTsKICAgICAgICB9CiAgICAgICAgOTAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKDEyNSUpOwogICAgICAgIH0KICAgICAgICAxMDAlIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLjc1KSB0cmFuc2xhdGVYKDEyNSUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBpbmRldGVybWluYXRlLWJhciB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMTAwJSk7CiAgICAgICAgfQogICAgICAgIDUwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKSB0cmFuc2xhdGVYKDAlKTsKICAgICAgICB9CiAgICAgICAgNzUlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpIHRyYW5zbGF0ZVgoMCUpOwogICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC4yOCwuNjIsLjM3LC45MSk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCkgdHJhbnNsYXRlWCgwJSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGluZGV0ZXJtaW5hdGUtc3BsaXR0ZXIgewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC43NSkgdHJhbnNsYXRlWCgtMTI1JSk7CiAgICAgICAgfQogICAgICAgIDMwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCguNzUpIHRyYW5zbGF0ZVgoLTEyNSUpOwogICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKC40MiwwLC42LC44KTsKICAgICAgICB9CiAgICAgICAgOTAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC43NSkgdHJhbnNsYXRlWCgxMjUlKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCguNzUpIHRyYW5zbGF0ZVgoMTI1JSk7CiAgICAgICAgfQogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgaWQ9InByb2dyZXNzQ29udGFpbmVyIj4KICAgICAgPGRpdiBpZD0ic2Vjb25kYXJ5UHJvZ3Jlc3MiIGhpZGRlblwkPSJbW19oaWRlU2Vjb25kYXJ5UHJvZ3Jlc3Moc2Vjb25kYXJ5UmF0aW8pXV0iPjwvZGl2PgogICAgICA8ZGl2IGlkPSJwcmltYXJ5UHJvZ3Jlc3MiPjwvZGl2PgogICAgPC9kaXY+CmAsaXM6InBhcGVyLXByb2dyZXNzIixiZWhhdmlvcnM6W2RzXSxwcm9wZXJ0aWVzOntzZWNvbmRhcnlQcm9ncmVzczp7dHlwZTpOdW1iZXIsdmFsdWU6MH0sc2Vjb25kYXJ5UmF0aW86e3R5cGU6TnVtYmVyLHZhbHVlOjAscmVhZE9ubHk6ITB9LGluZGV0ZXJtaW5hdGU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxvYnNlcnZlcjoiX3RvZ2dsZUluZGV0ZXJtaW5hdGUifSxkaXNhYmxlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxvYnNlcnZlcjoiX2Rpc2FibGVkQ2hhbmdlZCJ9fSxvYnNlcnZlcnM6WyJfcHJvZ3Jlc3NDaGFuZ2VkKHNlY29uZGFyeVByb2dyZXNzLCB2YWx1ZSwgbWluLCBtYXgsIGluZGV0ZXJtaW5hdGUpIl0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6InByb2dyZXNzYmFyIn0sX3RvZ2dsZUluZGV0ZXJtaW5hdGU6ZnVuY3Rpb24odCl7dGhpcy50b2dnbGVDbGFzcygiaW5kZXRlcm1pbmF0ZSIsdCx0aGlzLiQucHJpbWFyeVByb2dyZXNzKX0sX3RyYW5zZm9ybVByb2dyZXNzOmZ1bmN0aW9uKHQsZSl7dC5zdHlsZS50cmFuc2Zvcm09dC5zdHlsZS53ZWJraXRUcmFuc2Zvcm09InNjYWxlWCgiK2UvMTAwKyIpIn0sX21haW5SYXRpb0NoYW5nZWQ6ZnVuY3Rpb24odCl7dGhpcy5fdHJhbnNmb3JtUHJvZ3Jlc3ModGhpcy4kLnByaW1hcnlQcm9ncmVzcyx0KX0sX3Byb2dyZXNzQ2hhbmdlZDpmdW5jdGlvbih0LGUsbixpLHIpe3Q9dGhpcy5fY2xhbXBWYWx1ZSh0KSxlPXRoaXMuX2NsYW1wVmFsdWUoZSk7dmFyIG89MTAwKnRoaXMuX2NhbGNSYXRpbyh0KSxhPTEwMCp0aGlzLl9jYWxjUmF0aW8oZSk7dGhpcy5fc2V0U2Vjb25kYXJ5UmF0aW8obyksdGhpcy5fdHJhbnNmb3JtUHJvZ3Jlc3ModGhpcy4kLnNlY29uZGFyeVByb2dyZXNzLG8pLHRoaXMuX3RyYW5zZm9ybVByb2dyZXNzKHRoaXMuJC5wcmltYXJ5UHJvZ3Jlc3MsYSksdGhpcy5zZWNvbmRhcnlQcm9ncmVzcz10LHI/dGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtdmFsdWVub3ciKTp0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW5vdyIsZSksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVtaW4iLG4pLHRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbWF4IixpKX0sX2Rpc2FibGVkQ2hhbmdlZDpmdW5jdGlvbih0KXt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIsdD8idHJ1ZSI6ImZhbHNlIil9LF9oaWRlU2Vjb25kYXJ5UHJvZ3Jlc3M6ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10fX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBwcz14ZWAKPHN0eWxlPgogIDpob3N0IHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIGxpbmUtaGVpZ2h0OiAwOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAtLWNhbGN1bGF0ZWQtcGFwZXItcmFkaW8tYnV0dG9uLXNpemU6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi1zaXplLCAxNnB4KTsKICAgIC8qIC0xcHggaXMgYSBzZW50aW5lbCBmb3IgdGhlIGRlZmF1bHQgYW5kIGlzIHJlcGxhY2UgaW4gXGBhdHRhY2hlZFxgLiAqLwogICAgLS1jYWxjdWxhdGVkLXBhcGVyLXJhZGlvLWJ1dHRvbi1pbmstc2l6ZTogdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLWluay1zaXplLCAtMXB4KTsKICB9CgogIDpob3N0KDpmb2N1cykgewogICAgb3V0bGluZTogbm9uZTsKICB9CgogICNyYWRpb0NvbnRhaW5lciB7CiAgICBAYXBwbHkgLS1sYXlvdXQtaW5saW5lOwogICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlci1jZW50ZXI7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24tc2l6ZSk7CiAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItcmFkaW8tYnV0dG9uLXNpemUpOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKCiAgICBAYXBwbHkgLS1wYXBlci1yYWRpby1idXR0b24tcmFkaW8tY29udGFpbmVyOwogIH0KCiAgI2luayB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDUwJTsKICAgIGxlZnQ6IDUwJTsKICAgIHJpZ2h0OiBhdXRvOwogICAgd2lkdGg6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItcmFkaW8tYnV0dG9uLWluay1zaXplKTsKICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24taW5rLXNpemUpOwogICAgY29sb3I6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi11bmNoZWNrZWQtaW5rLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgIG9wYWNpdHk6IDAuNjsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogIH0KCiAgI2lua1tjaGVja2VkXSB7CiAgICBjb2xvcjogdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLWNoZWNrZWQtaW5rLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CiAgfQoKICAjb2ZmUmFkaW8sICNvblJhZGlvIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgfQoKICAjb2ZmUmFkaW8gewogICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLXVuY2hlY2tlZC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tdW5jaGVja2VkLWJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50KTsKICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjI4czsKICB9CgogICNvblJhZGlvIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi1jaGVja2VkLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gZWFzZSAwLjI4czsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlIDAuMjhzOwogICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICB9CgogIDpob3N0KFtjaGVja2VkXSkgI29mZlJhZGlvIHsKICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGFwZXItcmFkaW8tYnV0dG9uLWNoZWNrZWQtY29sb3IsIHZhcigtLXByaW1hcnktY29sb3IpKTsKICB9CgogIDpob3N0KFtjaGVja2VkXSkgI29uUmFkaW8gewogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7CiAgfQoKICAjcmFkaW9MYWJlbCB7CiAgICBsaW5lLWhlaWdodDogbm9ybWFsOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWwtc3BhY2luZywgMTBweCk7CiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgY29sb3I6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi1sYWJlbC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CgogICAgQGFwcGx5IC0tcGFwZXItcmFkaW8tYnV0dG9uLWxhYmVsOwogIH0KCiAgOmhvc3QoW2NoZWNrZWRdKSAjcmFkaW9MYWJlbCB7CiAgICBAYXBwbHkgLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWwtY2hlY2tlZDsKICB9CgogICNyYWRpb0xhYmVsOmRpcihydGwpIHsKICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tbGFiZWwtc3BhY2luZywgMTBweCk7CiAgfQoKICAjcmFkaW9MYWJlbFtoaWRkZW5dIHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQoKICAvKiBkaXNhYmxlZCBzdGF0ZSAqLwoKICA6aG9zdChbZGlzYWJsZWRdKSAjb2ZmUmFkaW8gewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXBlci1yYWRpby1idXR0b24tdW5jaGVja2VkLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKICAgIG9wYWNpdHk6IDAuNTsKICB9CgogIDpob3N0KFtkaXNhYmxlZF1bY2hlY2tlZF0pICNvblJhZGlvIHsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXJhZGlvLWJ1dHRvbi11bmNoZWNrZWQtY29sb3IsIHZhcigtLXByaW1hcnktdGV4dC1jb2xvcikpOwogICAgb3BhY2l0eTogMC41OwogIH0KCiAgOmhvc3QoW2Rpc2FibGVkXSkgI3JhZGlvTGFiZWwgewogICAgLyogc2xpZ2h0bHkgZGFya2VyIHRoYW4gdGhlIGJ1dHRvbiwgc28gdGhhdCBpdCdzIHJlYWRhYmxlICovCiAgICBvcGFjaXR5OiAwLjY1OwogIH0KPC9zdHlsZT4KCjxkaXYgaWQ9InJhZGlvQ29udGFpbmVyIj4KICA8ZGl2IGlkPSJvZmZSYWRpbyI+PC9kaXY+CiAgPGRpdiBpZD0ib25SYWRpbyI+PC9kaXY+CjwvZGl2PgoKPGRpdiBpZD0icmFkaW9MYWJlbCI+PHNsb3Q+PC9zbG90PjwvZGl2PmA7cHMuc2V0QXR0cmlidXRlKCJzdHJpcC13aGl0ZXNwYWNlIiwiIiksanIoe190ZW1wbGF0ZTpwcyxpczoicGFwZXItcmFkaW8tYnV0dG9uIixiZWhhdmlvcnM6W3dhXSxob3N0QXR0cmlidXRlczp7cm9sZToicmFkaW8iLCJhcmlhLWNoZWNrZWQiOiExLHRhYmluZGV4OjB9LHByb3BlcnRpZXM6e2FyaWFBY3RpdmVBdHRyaWJ1dGU6e3R5cGU6U3RyaW5nLHZhbHVlOiJhcmlhLWNoZWNrZWQifX0scmVhZHk6ZnVuY3Rpb24oKXt0aGlzLl9yaXBwbGVDb250YWluZXI9dGhpcy4kLnJhZGlvQ29udGFpbmVyfSxhdHRhY2hlZDpmdW5jdGlvbigpe0RpKHRoaXMsKGZ1bmN0aW9uKCl7aWYoIi0xcHgiPT09dGhpcy5nZXRDb21wdXRlZFN0eWxlVmFsdWUoIi0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24taW5rLXNpemUiKS50cmltKCkpe3ZhciB0PXBhcnNlRmxvYXQodGhpcy5nZXRDb21wdXRlZFN0eWxlVmFsdWUoIi0tY2FsY3VsYXRlZC1wYXBlci1yYWRpby1idXR0b24tc2l6ZSIpLnRyaW0oKSksZT1NYXRoLmZsb29yKDMqdCk7ZSUyIT10JTImJmUrKyx0aGlzLnVwZGF0ZVN0eWxlcyh7Ii0tcGFwZXItcmFkaW8tYnV0dG9uLWluay1zaXplIjplKyJweCJ9KX19KSl9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBmcz17aG9zdEF0dHJpYnV0ZXM6e3JvbGU6Im1lbnViYXIifSxrZXlCaW5kaW5nczp7bGVmdDoiX29uTGVmdEtleSIscmlnaHQ6Il9vblJpZ2h0S2V5In0sX29uVXBLZXk6ZnVuY3Rpb24odCl7dGhpcy5mb2N1c2VkSXRlbS5jbGljaygpLHQuZGV0YWlsLmtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKX0sX29uRG93bktleTpmdW5jdGlvbih0KXt0aGlzLmZvY3VzZWRJdGVtLmNsaWNrKCksdC5kZXRhaWwua2V5Ym9hcmRFdmVudC5wcmV2ZW50RGVmYXVsdCgpfSxnZXQgX2lzUlRMKCl7cmV0dXJuInJ0bCI9PT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKS5kaXJlY3Rpb259LF9vbkxlZnRLZXk6ZnVuY3Rpb24odCl7dGhpcy5faXNSVEw/dGhpcy5fZm9jdXNOZXh0KCk6dGhpcy5fZm9jdXNQcmV2aW91cygpLHQuZGV0YWlsLmtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKX0sX29uUmlnaHRLZXk6ZnVuY3Rpb24odCl7dGhpcy5faXNSVEw/dGhpcy5fZm9jdXNQcmV2aW91cygpOnRoaXMuX2ZvY3VzTmV4dCgpLHQuZGV0YWlsLmtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKX0sX29uS2V5ZG93bjpmdW5jdGlvbih0KXt0aGlzLmtleWJvYXJkRXZlbnRNYXRjaGVzS2V5cyh0LCJ1cCBkb3duIGxlZnQgcmlnaHQgZXNjIil8fHRoaXMuX2ZvY3VzV2l0aEtleWJvYXJkRXZlbnQodCl9fSxtcz1bdXMsZnNdOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgOmhvc3QgOjpzbG90dGVkKCopIHsKICAgICAgICBwYWRkaW5nOiB2YXIoLS1wYXBlci1yYWRpby1ncm91cC1pdGVtLXBhZGRpbmcsIDEycHgpOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxzbG90Pjwvc2xvdD4KYCxpczoicGFwZXItcmFkaW8tZ3JvdXAiLGJlaGF2aW9yczpbbXNdLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJyYWRpb2dyb3VwIn0scHJvcGVydGllczp7YXR0ckZvclNlbGVjdGVkOnt0eXBlOlN0cmluZyx2YWx1ZToibmFtZSJ9LHNlbGVjdGVkQXR0cmlidXRlOnt0eXBlOlN0cmluZyx2YWx1ZToiY2hlY2tlZCJ9LHNlbGVjdGFibGU6e3R5cGU6U3RyaW5nLHZhbHVlOiJwYXBlci1yYWRpby1idXR0b24ifSxhbGxvd0VtcHR5U2VsZWN0aW9uOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxzZWxlY3Q6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdmFsdWVUb0l0ZW0odCk7aWYoIWV8fCFlLmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKSl7aWYodGhpcy5zZWxlY3RlZCl7dmFyIG49dGhpcy5fdmFsdWVUb0l0ZW0odGhpcy5zZWxlY3RlZCk7aWYodGhpcy5zZWxlY3RlZD09dCl7aWYoIXRoaXMuYWxsb3dFbXB0eVNlbGVjdGlvbilyZXR1cm4gdm9pZChuJiYobi5jaGVja2VkPSEwKSk7dD0iIn1uJiYobi5jaGVja2VkPSExKX1lYS5zZWxlY3QuYXBwbHkodGhpcyxbdF0pLHRoaXMuZmlyZSgicGFwZXItcmFkaW8tZ3JvdXAtY2hhbmdlZCIpfX0sX2FjdGl2YXRlRm9jdXNlZEl0ZW06ZnVuY3Rpb24oKXt0aGlzLl9pdGVtQWN0aXZhdGUodGhpcy5fdmFsdWVGb3JJdGVtKHRoaXMuZm9jdXNlZEl0ZW0pLHRoaXMuZm9jdXNlZEl0ZW0pfSxfb25VcEtleTpmdW5jdGlvbih0KXt0aGlzLl9mb2N1c1ByZXZpb3VzKCksdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2FjdGl2YXRlRm9jdXNlZEl0ZW0oKX0sX29uRG93bktleTpmdW5jdGlvbih0KXt0aGlzLl9mb2N1c05leHQoKSx0LnByZXZlbnREZWZhdWx0KCksdGhpcy5fYWN0aXZhdGVGb2N1c2VkSXRlbSgpfSxfb25MZWZ0S2V5OmZ1bmN0aW9uKHQpe2ZzLl9vbkxlZnRLZXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2FjdGl2YXRlRm9jdXNlZEl0ZW0oKX0sX29uUmlnaHRLZXk6ZnVuY3Rpb24odCl7ZnMuX29uUmlnaHRLZXkuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2FjdGl2YXRlRm9jdXNlZEl0ZW0oKX19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IGdzPXhlYAogIDxzdHlsZT4KICAgIDpob3N0IHsKICAgICAgQGFwcGx5IC0tbGF5b3V0OwogICAgICBAYXBwbHkgLS1sYXlvdXQtanVzdGlmaWVkOwogICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwogICAgICB3aWR0aDogMjAwcHg7CiAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOwogICAgICAtLXBhcGVyLXByb2dyZXNzLWFjdGl2ZS1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWFjdGl2ZS1jb2xvciwgdmFyKC0tZ29vZ2xlLWJsdWUtNzAwKSk7CiAgICAgIC0tcGFwZXItcHJvZ3Jlc3Mtc2Vjb25kYXJ5LWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItc2Vjb25kYXJ5LWNvbG9yLCB2YXIoLS1nb29nbGUtYmx1ZS0zMDApKTsKICAgICAgLS1wYXBlci1wcm9ncmVzcy1kaXNhYmxlZC1hY3RpdmUtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1kaXNhYmxlZC1hY3RpdmUtY29sb3IsIHZhcigtLXBhcGVyLWdyZXktNDAwKSk7CiAgICAgIC0tcGFwZXItcHJvZ3Jlc3MtZGlzYWJsZWQtc2Vjb25kYXJ5LWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItZGlzYWJsZWQtc2Vjb25kYXJ5LWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICAtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodDogdmFyKC0tcGFwZXItc2xpZGVyLWhlaWdodCwgMnB4KTsKICAgIH0KCiAgICAvKiBmb2N1cyBzaG93cyB0aGUgcmlwcGxlICovCiAgICA6aG9zdCg6Zm9jdXMpIHsKICAgICAgb3V0bGluZTogbm9uZTsKICAgIH0KCiAgICAvKioKICAgICAgKiBOT1RFKGtlYW51bGVlKTogVGhvdWdoIDpob3N0LWNvbnRleHQgaXMgbm90IHVuaXZlcnNhbGx5IHN1cHBvcnRlZCwgc29tZSBwYWdlcwogICAgICAqIHN0aWxsIHJlbHkgb24gcGFwZXItc2xpZGVyIGJlaW5nIGZsaXBwZWQgd2hlbiBkaXI9InJ0bCIgaXMgc2V0IG9uIGJvZHkuIEZvciBmdWxsCiAgICAgICogY29tcGF0aWJpbGl0eSwgZGlyPSJydGwiIG11c3QgYmUgZXhwbGljaXRseSBzZXQgb24gcGFwZXItc2xpZGVyLgogICAgICAqLwogICAgOmRpcihydGwpICNzbGlkZXJDb250YWluZXIgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKC0xKTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOwogICAgfQoKICAgIC8qKgogICAgICAqIE5PVEUoa2VhbnVsZWUpOiBUaGlzIGlzIHNlcGFyYXRlIGZyb20gdGhlIHJ1bGUgYWJvdmUgYmVjYXVzZSA6aG9zdC1jb250ZXh0IG1heQogICAgICAqIG5vdCBiZSByZWNvZ25pemVkLgogICAgICAqLwogICAgOmhvc3QoW2Rpcj0icnRsIl0pICNzbGlkZXJDb250YWluZXIgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKC0xKTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOwogICAgfQoKICAgIC8qKgogICAgICAqIE5PVEUoa2VhbnVsZWUpOiBOZWVkZWQgdG8gb3ZlcnJpZGUgdGhlIDpob3N0LWNvbnRleHQgcnVsZSAod2hlcmUgc3VwcG9ydGVkKQogICAgICAqIHRvIHN1cHBvcnQgTFRSIHNsaWRlcnMgaW4gUlRMIHBhZ2VzLgogICAgICAqLwogICAgOmhvc3QoW2Rpcj0ibHRyIl0pICNzbGlkZXJDb250YWluZXIgewogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOwogICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICAgIH0KCiAgICAjc2xpZGVyQ29udGFpbmVyIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiBjYWxjKDMwcHggKyB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpKTsKICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTVweCArIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCkvMik7CiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygxNXB4ICsgdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1zbGlkZXItaGVpZ2h0KS8yKTsKICAgIH0KCiAgICAjc2xpZGVyQ29udGFpbmVyOmZvY3VzIHsKICAgICAgb3V0bGluZTogMDsKICAgIH0KCiAgICAjc2xpZGVyQ29udGFpbmVyLmVkaXRhYmxlIHsKICAgICAgbWFyZ2luLXRvcDogMTJweDsKICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgIH0KCiAgICAuYmFyLWNvbnRhaW5lciB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICBib3R0b206IDA7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHJpZ2h0OiAwOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQoKICAgIC5yaW5nID4gLmJhci1jb250YWluZXIgewogICAgICBsZWZ0OiBjYWxjKDVweCArIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCkvMik7CiAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4xOHMgZWFzZTsKICAgIH0KCiAgICAucmluZy5leHBhbmQuZHJhZ2dpbmcgPiAuYmFyLWNvbnRhaW5lciB7CiAgICAgIHRyYW5zaXRpb246IG5vbmU7CiAgICB9CgogICAgLnJpbmcuZXhwYW5kOm5vdCgucGluKSA+IC5iYXItY29udGFpbmVyIHsKICAgICAgbGVmdDogY2FsYyg4cHggKyB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpLzIpOwogICAgfQoKICAgICNzbGlkZXJCYXIgewogICAgICBwYWRkaW5nOiAxNXB4IDA7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItYmFyLWNvbG9yLCB0cmFuc3BhcmVudCk7CiAgICAgIC0tcGFwZXItcHJvZ3Jlc3MtY29udGFpbmVyLWNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItY29udGFpbmVyLWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICAtLXBhcGVyLXByb2dyZXNzLWhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci1zbGlkZXItaGVpZ2h0KTsKICAgIH0KCiAgICAuc2xpZGVyLW1hcmtlcnMgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIC8qIHNsaWRlci1rbm9iIGlzIDMwcHggKyB0aGUgc2xpZGVyLWhlaWdodCBzbyB0aGF0IHRoZSBtYXJrZXJzIHNob3VsZCBzdGFydCBhdCBhIG9mZnNldCBvZiAxNXB4Ki8KICAgICAgdG9wOiAxNXB4OwogICAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCk7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHJpZ2h0OiAtMXB4OwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICB9CgogICAgLnNsaWRlci1tYXJrZXIgewogICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleDsKICAgIH0KICAgIC5zbGlkZXItbWFya2Vyczo6YWZ0ZXIsCiAgICAuc2xpZGVyLW1hcmtlcjo6YWZ0ZXIgewogICAgICBjb250ZW50OiAiIjsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4OwogICAgICB3aWR0aDogMnB4OwogICAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCk7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLW1hcmtlcnMtY29sb3IsICMwMDApOwogICAgfQoKICAgIC5zbGlkZXIta25vYiB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgbGVmdDogMDsKICAgICAgdG9wOiAwOwogICAgICBtYXJnaW4tbGVmdDogY2FsYygtMTVweCAtIHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItc2xpZGVyLWhlaWdodCkvMik7CiAgICAgIHdpZHRoOiBjYWxjKDMwcHggKyB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpKTsKICAgICAgaGVpZ2h0OiBjYWxjKDMwcHggKyB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXNsaWRlci1oZWlnaHQpKTsKICAgIH0KCiAgICAudHJhbnNpdGluZyA+IC5zbGlkZXIta25vYiB7CiAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4wOHMgZWFzZTsKICAgIH0KCiAgICAuc2xpZGVyLWtub2I6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQoKICAgIC5zbGlkZXIta25vYi5kcmFnZ2luZyB7CiAgICAgIHRyYW5zaXRpb246IG5vbmU7CiAgICB9CgogICAgLnNuYXBzID4gLnNsaWRlci1rbm9iLmRyYWdnaW5nIHsKICAgICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4wOHMgZWFzZTsKICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDhzIGVhc2U7CiAgICB9CgogICAgLnNsaWRlci1rbm9iLWlubmVyIHsKICAgICAgbWFyZ2luOiAxMHB4OwogICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7CiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjBweCk7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1rbm9iLWNvbG9yLCB2YXIoLS1nb29nbGUtYmx1ZS03MDApKTsKICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGFwZXItc2xpZGVyLWtub2ItY29sb3IsIHZhcigtLWdvb2dsZS1ibHVlLTcwMCkpOwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7CgogICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CgogICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyOwogICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjsKICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xOHM7CiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgfQoKICAgIC5leHBhbmQ6bm90KC5waW4pID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyIHsKICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSk7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsKICAgIH0KCiAgICAucmluZyA+IC5zbGlkZXIta25vYiA+IC5zbGlkZXIta25vYi1pbm5lciB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yLCB0cmFuc3BhcmVudCk7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWJvcmRlci1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS00MDApKTsKICAgIH0KCiAgICAuc2xpZGVyLWtub2ItaW5uZXI6OmJlZm9yZSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1waW4tY29sb3IsIHZhcigtLWdvb2dsZS1ibHVlLTcwMCkpOwogICAgfQoKICAgIC5waW4gPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXI6OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICIiOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogNTAlOwogICAgICBtYXJnaW4tbGVmdDogLTEzcHg7CiAgICAgIHdpZHRoOiAyNnB4OwogICAgICBoZWlnaHQ6IDI2cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSA1MCUgNTAlIDA7CgogICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGUoMCkgdHJhbnNsYXRlKDApOwogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDApIHRyYW5zbGF0ZSgwKTsKICAgIH0KCiAgICAuc2xpZGVyLWtub2ItaW5uZXI6OmJlZm9yZSwKICAgIC5zbGlkZXIta25vYi1pbm5lcjo6YWZ0ZXIgewogICAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAuMThzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgLjE4cyBlYXNlOwogICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE4cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC4xOHMgZWFzZTsKICAgIH0KCiAgICAucGluLnJpbmcgPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXI6OmJlZm9yZSB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXNsaWRlci1waW4tc3RhcnQtY29sb3IsIHZhcigtLXBhcGVyLWdyZXktNDAwKSk7CiAgICB9CgogICAgLnBpbi5leHBhbmQgPiAuc2xpZGVyLWtub2IgPiAuc2xpZGVyLWtub2ItaW5uZXI6OmJlZm9yZSB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgxKSB0cmFuc2xhdGUoMTdweCwgLTE3cHgpOwogICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZSgxN3B4LCAtMTdweCk7CiAgICB9CgogICAgLnBpbiA+IC5zbGlkZXIta25vYiA+IC5zbGlkZXIta25vYi1pbm5lcjo6YWZ0ZXIgewogICAgICBjb250ZW50OiBhdHRyKHZhbHVlKTsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDA7CiAgICAgIGxlZnQ6IDUwJTsKICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4OwogICAgICB3aWR0aDogMzJweDsKICAgICAgaGVpZ2h0OiAyNnB4OwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXItZm9udC1jb2xvciwgI2ZmZik7CiAgICAgIGZvbnQtc2l6ZTogMTBweDsKCiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGUoMCk7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlKDApOwogICAgfQoKICAgIC5waW4uZXhwYW5kID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyOjphZnRlciB7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGUoMCwgLTE3cHgpOwogICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZSgwLCAtMTdweCk7CiAgICB9CgogICAgLyogcGFwZXItaW5wdXQgKi8KICAgIC5zbGlkZXItaW5wdXQgewogICAgICB3aWR0aDogNTBweDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItc2xpZGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDsKICAgICAgfTsKICAgICAgQGFwcGx5IC0tcGFwZXItc2xpZGVyLWlucHV0OwogICAgfQoKICAgIC8qIGRpc2FibGVkIHN0YXRlICovCiAgICAjc2xpZGVyQ29udGFpbmVyLmRpc2FibGVkIHsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB9CgogICAgLmRpc2FibGVkID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWRpc2FibGVkLWtub2ItY29sb3IsIHZhcigtLXBhcGVyLWdyZXktNDAwKSk7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBhcGVyLXNsaWRlci1kaXNhYmxlZC1rbm9iLWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAwLjc1LCAxKTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDAuNzUsIDEpOwogICAgfQoKICAgIC5kaXNhYmxlZC5yaW5nID4gLnNsaWRlci1rbm9iID4gLnNsaWRlci1rbm9iLWlubmVyIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtY29sb3IsIHRyYW5zcGFyZW50KTsKICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtYm9yZGVyLWNvbG9yLCB2YXIoLS1wYXBlci1ncmV5LTQwMCkpOwogICAgfQoKICAgIHBhcGVyLXJpcHBsZSB7CiAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zbGlkZXIta25vYi1jb2xvciwgdmFyKC0tZ29vZ2xlLWJsdWUtNzAwKSk7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBpZD0ic2xpZGVyQ29udGFpbmVyIiBjbGFzc1wkPSJbW19nZXRDbGFzc05hbWVzKGRpc2FibGVkLCBwaW4sIHNuYXBzLCBpbW1lZGlhdGVWYWx1ZSwgbWluLCBleHBhbmQsIGRyYWdnaW5nLCB0cmFuc2l0aW5nLCBlZGl0YWJsZSldXSI+CiAgICA8ZGl2IGNsYXNzPSJiYXItY29udGFpbmVyIj4KICAgICAgPHBhcGVyLXByb2dyZXNzIGRpc2FibGVkXCQ9IltbZGlzYWJsZWRdXSIgaWQ9InNsaWRlckJhciIgYXJpYS1oaWRkZW49InRydWUiIG1pbj0iW1ttaW5dXSIgbWF4PSJbW21heF1dIiBzdGVwPSJbW3N0ZXBdXSIgdmFsdWU9IltbaW1tZWRpYXRlVmFsdWVdXSIgc2Vjb25kYXJ5LXByb2dyZXNzPSJbW3NlY29uZGFyeVByb2dyZXNzXV0iIG9uLWRvd249Il9iYXJkb3duIiBvbi11cD0iX3Jlc2V0S25vYiIgb24tdHJhY2s9Il9iYXJ0cmFjayIgb24tdGFwPSJfYmFyY2xpY2siPgogICAgICA8L3BhcGVyLXByb2dyZXNzPgogICAgPC9kaXY+CgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3NuYXBzXV0iPgogICAgICA8ZGl2IGNsYXNzPSJzbGlkZXItbWFya2VycyI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1ttYXJrZXJzXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2xpZGVyLW1hcmtlciI+PC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICA8L3RlbXBsYXRlPgoKICAgIDxkaXYgaWQ9InNsaWRlcktub2IiIGNsYXNzPSJzbGlkZXIta25vYiIgb24tZG93bj0iX2tub2Jkb3duIiBvbi11cD0iX3Jlc2V0S25vYiIgb24tdHJhY2s9Il9vblRyYWNrIiBvbi10cmFuc2l0aW9uZW5kPSJfa25vYlRyYW5zaXRpb25FbmQiPgogICAgICAgIDxkaXYgY2xhc3M9InNsaWRlci1rbm9iLWlubmVyIiB2YWx1ZVwkPSJbW2ltbWVkaWF0ZVZhbHVlXV0iPjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tlZGl0YWJsZV1dIj4KICAgIDxwYXBlci1pbnB1dCBpZD0iaW5wdXQiIHR5cGU9Im51bWJlciIgc3RlcD0iW1tzdGVwXV0iIG1pbj0iW1ttaW5dXSIgbWF4PSJbW21heF1dIiBjbGFzcz0ic2xpZGVyLWlucHV0IiBkaXNhYmxlZFwkPSJbW2Rpc2FibGVkXV0iIHZhbHVlPSJbW2ltbWVkaWF0ZVZhbHVlXV0iIG9uLWNoYW5nZT0iX2NoYW5nZVZhbHVlIiBvbi1rZXlkb3duPSJfaW5wdXRLZXlEb3duIiBuby1sYWJlbC1mbG9hdD4KICAgIDwvcGFwZXItaW5wdXQ+CiAgPC90ZW1wbGF0ZT4KYDtncy5zZXRBdHRyaWJ1dGUoInN0cmlwLXdoaXRlc3BhY2UiLCIiKSxqcih7X3RlbXBsYXRlOmdzLGlzOiJwYXBlci1zbGlkZXIiLGJlaGF2aW9yczpbWG8sZ2EseGEsZHNdLHByb3BlcnRpZXM6e3ZhbHVlOnt0eXBlOk51bWJlcix2YWx1ZTowfSxzbmFwczp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG5vdGlmeTohMH0scGluOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwfSxzZWNvbmRhcnlQcm9ncmVzczp7dHlwZTpOdW1iZXIsdmFsdWU6MCxub3RpZnk6ITAsb2JzZXJ2ZXI6Il9zZWNvbmRhcnlQcm9ncmVzc0NoYW5nZWQifSxlZGl0YWJsZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxpbW1lZGlhdGVWYWx1ZTp7dHlwZTpOdW1iZXIsdmFsdWU6MCxyZWFkT25seTohMCxub3RpZnk6ITB9LG1heE1hcmtlcnM6e3R5cGU6TnVtYmVyLHZhbHVlOjAsbm90aWZ5OiEwfSxleHBhbmQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWFkT25seTohMH0saWdub3JlQmFyVG91Y2g6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sZHJhZ2dpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWFkT25seTohMCxub3RpZnk6ITB9LHRyYW5zaXRpbmc6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWFkT25seTohMH0sbWFya2Vyczp7dHlwZTpBcnJheSxyZWFkT25seTohMCx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX19LG9ic2VydmVyczpbIl91cGRhdGVLbm9iKHZhbHVlLCBtaW4sIG1heCwgc25hcHMsIHN0ZXApIiwiX3ZhbHVlQ2hhbmdlZCh2YWx1ZSkiLCJfaW1tZWRpYXRlVmFsdWVDaGFuZ2VkKGltbWVkaWF0ZVZhbHVlKSIsIl91cGRhdGVNYXJrZXJzKG1heE1hcmtlcnMsIG1pbiwgbWF4LCBzbmFwcykiXSxob3N0QXR0cmlidXRlczp7cm9sZToic2xpZGVyIix0YWJpbmRleDowfSxrZXlCaW5kaW5nczp7bGVmdDoiX2xlZnRLZXkiLHJpZ2h0OiJfcmlnaHRLZXkiLCJkb3duIHBhZ2Vkb3duIGhvbWUiOiJfZGVjcmVtZW50S2V5IiwidXAgcGFnZXVwIGVuZCI6Il9pbmNyZW1lbnRLZXkifSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuaWdub3JlQmFyVG91Y2gmJmRpKHRoaXMuJC5zbGlkZXJCYXIsImF1dG8iKX0saW5jcmVtZW50OmZ1bmN0aW9uKCl7dGhpcy52YWx1ZT10aGlzLl9jbGFtcFZhbHVlKHRoaXMudmFsdWUrdGhpcy5zdGVwKX0sZGVjcmVtZW50OmZ1bmN0aW9uKCl7dGhpcy52YWx1ZT10aGlzLl9jbGFtcFZhbHVlKHRoaXMudmFsdWUtdGhpcy5zdGVwKX0sX3VwZGF0ZUtub2I6ZnVuY3Rpb24odCxlLG4saSxyKXt0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW1pbiIsZSksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVtYXgiLG4pLHRoaXMuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbm93Iix0KSx0aGlzLl9wb3NpdGlvbktub2IoMTAwKnRoaXMuX2NhbGNSYXRpbyh0KSl9LF92YWx1ZUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmZpcmUoInZhbHVlLWNoYW5nZSIse2NvbXBvc2VkOiEwfSl9LF9pbW1lZGlhdGVWYWx1ZUNoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmRyYWdnaW5nP3RoaXMuZmlyZSgiaW1tZWRpYXRlLXZhbHVlLWNoYW5nZSIse2NvbXBvc2VkOiEwfSk6dGhpcy52YWx1ZT10aGlzLmltbWVkaWF0ZVZhbHVlfSxfc2Vjb25kYXJ5UHJvZ3Jlc3NDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5zZWNvbmRhcnlQcm9ncmVzcz10aGlzLl9jbGFtcFZhbHVlKHRoaXMuc2Vjb25kYXJ5UHJvZ3Jlc3MpfSxfZXhwYW5kS25vYjpmdW5jdGlvbigpe3RoaXMuX3NldEV4cGFuZCghMCl9LF9yZXNldEtub2I6ZnVuY3Rpb24oKXt0aGlzLmNhbmNlbERlYm91bmNlcigiZXhwYW5kS25vYiIpLHRoaXMuX3NldEV4cGFuZCghMSl9LF9wb3NpdGlvbktub2I6ZnVuY3Rpb24odCl7dGhpcy5fc2V0SW1tZWRpYXRlVmFsdWUodGhpcy5fY2FsY1N0ZXAodGhpcy5fY2FsY0tub2JQb3NpdGlvbih0KSkpLHRoaXMuX3NldFJhdGlvKDEwMCp0aGlzLl9jYWxjUmF0aW8odGhpcy5pbW1lZGlhdGVWYWx1ZSkpLHRoaXMuJC5zbGlkZXJLbm9iLnN0eWxlLmxlZnQ9dGhpcy5yYXRpbysiJSIsdGhpcy5kcmFnZ2luZyYmKHRoaXMuX2tub2JzdGFydHg9dGhpcy5yYXRpbyp0aGlzLl93LzEwMCx0aGlzLnRyYW5zbGF0ZTNkKDAsMCwwLHRoaXMuJC5zbGlkZXJLbm9iKSl9LF9jYWxjS25vYlBvc2l0aW9uOmZ1bmN0aW9uKHQpe3JldHVybih0aGlzLm1heC10aGlzLm1pbikqdC8xMDArdGhpcy5taW59LF9vblRyYWNrOmZ1bmN0aW9uKHQpe3N3aXRjaCh0LnN0b3BQcm9wYWdhdGlvbigpLHQuZGV0YWlsLnN0YXRlKXtjYXNlInN0YXJ0Ijp0aGlzLl90cmFja1N0YXJ0KHQpO2JyZWFrO2Nhc2UidHJhY2siOnRoaXMuX3RyYWNrWCh0KTticmVhaztjYXNlImVuZCI6dGhpcy5fdHJhY2tFbmQoKX19LF90cmFja1N0YXJ0OmZ1bmN0aW9uKHQpe3RoaXMuX3NldFRyYW5zaXRpbmcoITEpLHRoaXMuX3c9dGhpcy4kLnNsaWRlckJhci5vZmZzZXRXaWR0aCx0aGlzLl94PXRoaXMucmF0aW8qdGhpcy5fdy8xMDAsdGhpcy5fc3RhcnR4PXRoaXMuX3gsdGhpcy5fa25vYnN0YXJ0eD10aGlzLl9zdGFydHgsdGhpcy5fbWlueD0tdGhpcy5fc3RhcnR4LHRoaXMuX21heHg9dGhpcy5fdy10aGlzLl9zdGFydHgsdGhpcy4kLnNsaWRlcktub2IuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKSx0aGlzLl9zZXREcmFnZ2luZyghMCl9LF90cmFja1g6ZnVuY3Rpb24odCl7dGhpcy5kcmFnZ2luZ3x8dGhpcy5fdHJhY2tTdGFydCh0KTt2YXIgZT1NYXRoLm1pbih0aGlzLl9tYXh4LE1hdGgubWF4KHRoaXMuX21pbngsdC5kZXRhaWwuZHgqKHRoaXMuX2lzUlRMPy0xOjEpKSk7dGhpcy5feD10aGlzLl9zdGFydHgrZTt2YXIgbj10aGlzLl9jYWxjU3RlcCh0aGlzLl9jYWxjS25vYlBvc2l0aW9uKHRoaXMuX3gvdGhpcy5fdyoxMDApKTt0aGlzLl9zZXRJbW1lZGlhdGVWYWx1ZShuKTt2YXIgaT10aGlzLl9jYWxjUmF0aW8odGhpcy5pbW1lZGlhdGVWYWx1ZSkqdGhpcy5fdy10aGlzLl9rbm9ic3RhcnR4O3RoaXMudHJhbnNsYXRlM2QoaSsicHgiLDAsMCx0aGlzLiQuc2xpZGVyS25vYil9LF90cmFja0VuZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuJC5zbGlkZXJLbm9iLnN0eWxlO3RoaXMuJC5zbGlkZXJLbm9iLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksdGhpcy5fc2V0RHJhZ2dpbmcoITEpLHRoaXMuX3Jlc2V0S25vYigpLHRoaXMudmFsdWU9dGhpcy5pbW1lZGlhdGVWYWx1ZSx0LnRyYW5zZm9ybT10LndlYmtpdFRyYW5zZm9ybT0iIix0aGlzLmZpcmUoImNoYW5nZSIse2NvbXBvc2VkOiEwfSl9LF9rbm9iZG93bjpmdW5jdGlvbih0KXt0aGlzLl9leHBhbmRLbm9iKCksdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXMoKX0sX2JhcnRyYWNrOmZ1bmN0aW9uKHQpe3RoaXMuX2FsbG93QmFyRXZlbnQodCkmJnRoaXMuX29uVHJhY2sodCl9LF9iYXJjbGljazpmdW5jdGlvbih0KXt0aGlzLl93PXRoaXMuJC5zbGlkZXJCYXIub2Zmc2V0V2lkdGg7dmFyIGU9dGhpcy4kLnNsaWRlckJhci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPSh0LmRldGFpbC54LWUubGVmdCkvdGhpcy5fdyoxMDA7dGhpcy5faXNSVEwmJihuPTEwMC1uKTt2YXIgaT10aGlzLnJhdGlvO3RoaXMuX3NldFRyYW5zaXRpbmcoITApLHRoaXMuX3Bvc2l0aW9uS25vYihuKSxpPT09dGhpcy5yYXRpbyYmdGhpcy5fc2V0VHJhbnNpdGluZyghMSksdGhpcy5hc3luYygoZnVuY3Rpb24oKXt0aGlzLmZpcmUoImNoYW5nZSIse2NvbXBvc2VkOiEwfSl9KSksdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXMoKX0sX2JhcmRvd246ZnVuY3Rpb24odCl7dGhpcy5fYWxsb3dCYXJFdmVudCh0KSYmKHRoaXMuZGVib3VuY2UoImV4cGFuZEtub2IiLHRoaXMuX2V4cGFuZEtub2IsNjApLHRoaXMuX2JhcmNsaWNrKHQpKX0sX2tub2JUcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKHQpe3QudGFyZ2V0PT09dGhpcy4kLnNsaWRlcktub2ImJnRoaXMuX3NldFRyYW5zaXRpbmcoITEpfSxfdXBkYXRlTWFya2VyczpmdW5jdGlvbih0LGUsbixpKXtpfHx0aGlzLl9zZXRNYXJrZXJzKFtdKTt2YXIgcj1NYXRoLnJvdW5kKChuLWUpL3RoaXMuc3RlcCk7cj50JiYocj10KSwocjwwfHwhaXNGaW5pdGUocikpJiYocj0wKSx0aGlzLl9zZXRNYXJrZXJzKG5ldyBBcnJheShyKSl9LF9tZXJnZUNsYXNzZXM6ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSkuam9pbigiICIpfSxfZ2V0Q2xhc3NOYW1lczpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tZXJnZUNsYXNzZXMoe2Rpc2FibGVkOnRoaXMuZGlzYWJsZWQscGluOnRoaXMucGluLHNuYXBzOnRoaXMuc25hcHMscmluZzp0aGlzLmltbWVkaWF0ZVZhbHVlPD10aGlzLm1pbixleHBhbmQ6dGhpcy5leHBhbmQsZHJhZ2dpbmc6dGhpcy5kcmFnZ2luZyx0cmFuc2l0aW5nOnRoaXMudHJhbnNpdGluZyxlZGl0YWJsZTp0aGlzLmVkaXRhYmxlfSl9LF9hbGxvd0JhckV2ZW50OmZ1bmN0aW9uKHQpe3JldHVybiF0aGlzLmlnbm9yZUJhclRvdWNofHx0LmRldGFpbC5zb3VyY2VFdmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnR9LGdldCBfaXNSVEwoKXtyZXR1cm4gdm9pZCAwPT09dGhpcy5fX2lzUlRMJiYodGhpcy5fX2lzUlRMPSJydGwiPT09d2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcykuZGlyZWN0aW9uKSx0aGlzLl9faXNSVEx9LF9sZWZ0S2V5OmZ1bmN0aW9uKHQpe3RoaXMuX2lzUlRMP3RoaXMuX2luY3JlbWVudEtleSh0KTp0aGlzLl9kZWNyZW1lbnRLZXkodCl9LF9yaWdodEtleTpmdW5jdGlvbih0KXt0aGlzLl9pc1JUTD90aGlzLl9kZWNyZW1lbnRLZXkodCk6dGhpcy5faW5jcmVtZW50S2V5KHQpfSxfaW5jcmVtZW50S2V5OmZ1bmN0aW9uKHQpe3RoaXMuZGlzYWJsZWR8fCgiZW5kIj09PXQuZGV0YWlsLmtleT90aGlzLnZhbHVlPXRoaXMubWF4OnRoaXMuaW5jcmVtZW50KCksdGhpcy5maXJlKCJjaGFuZ2UiKSx0LnByZXZlbnREZWZhdWx0KCkpfSxfZGVjcmVtZW50S2V5OmZ1bmN0aW9uKHQpe3RoaXMuZGlzYWJsZWR8fCgiaG9tZSI9PT10LmRldGFpbC5rZXk/dGhpcy52YWx1ZT10aGlzLm1pbjp0aGlzLmRlY3JlbWVudCgpLHRoaXMuZmlyZSgiY2hhbmdlIiksdC5wcmV2ZW50RGVmYXVsdCgpKX0sX2NoYW5nZVZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMudmFsdWU9dC50YXJnZXQudmFsdWUsdGhpcy5maXJlKCJjaGFuZ2UiLHtjb21wb3NlZDohMH0pfSxfaW5wdXRLZXlEb3duOmZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9LF9jcmVhdGVSaXBwbGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmlwcGxlQ29udGFpbmVyPXRoaXMuJC5zbGlkZXJLbm9iLGJhLl9jcmVhdGVSaXBwbGUuY2FsbCh0aGlzKX0sX2ZvY3VzZWRDaGFuZ2VkOmZ1bmN0aW9uKHQpe3QmJnRoaXMuZW5zdXJlUmlwcGxlKCksdGhpcy5oYXNSaXBwbGUoKSYmKHRoaXMuX3JpcHBsZS5zdHlsZS5kaXNwbGF5PXQ/IiI6Im5vbmUiLHRoaXMuX3JpcHBsZS5ob2xkRG93bj10KX19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IF9zPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIik7X3Muc2V0QXR0cmlidXRlKCJzdHlsZSIsImRpc3BsYXk6IG5vbmU7IiksX3MuaW5uZXJIVE1MPSI8ZG9tLW1vZHVsZSBpZD1cInBhcGVyLXNwaW5uZXItc3R5bGVzXCI+XG4gIDx0ZW1wbGF0ZT5cbiAgICA8c3R5bGU+XG4gICAgICAvKlxuICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgICAgLyogU1RZTEVTIEZPUiBUSEUgU1BJTk5FUiAqL1xuICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgICAvKlxuICAgICAgICogQ29uc3RhbnRzOlxuICAgICAgICogICAgICBBUkNTSVpFICAgICA9IDI3MCBkZWdyZWVzIChhbW91bnQgb2YgY2lyY2xlIHRoZSBhcmMgdGFrZXMgdXApXG4gICAgICAgKiAgICAgIEFSQ1RJTUUgICAgID0gMTMzM21zICh0aW1lIGl0IHRha2VzIHRvIGV4cGFuZCBhbmQgY29udHJhY3QgYXJjKVxuICAgICAgICogICAgICBBUkNTVEFSVFJPVCA9IDIxNiBkZWdyZWVzIChob3cgbXVjaCB0aGUgc3RhcnQgbG9jYXRpb24gb2YgdGhlIGFyY1xuICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZCByb3RhdGUgZWFjaCB0aW1lLCAyMTYgZ2l2ZXMgdXMgYVxuICAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUgcG9pbnRlZCBzdGFyIHNoYXBlIChpdCdzIDM2MC81ICogMykuXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9yIGEgNyBwb2ludGVkIHN0YXIsIHdlIG1pZ2h0IGRvXG4gICAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzYwLzcgKiAzID0gMTU0LjI4NilcbiAgICAgICAqICAgICAgU0hSSU5LX1RJTUUgPSA0MDBtc1xuICAgICAgICovXG5cbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG5cbiAgICAgICAgLyogMzYwICogQVJDVElNRSAvIChBUkNTVEFSVFJPVCArICgzNjAtQVJDU0laRSkpICovXG4gICAgICAgIC0tcGFwZXItc3Bpbm5lci1jb250YWluZXItcm90YXRpb24tZHVyYXRpb246IDE1NjhtcztcblxuICAgICAgICAvKiBBUkNUSU1FICovXG4gICAgICAgIC0tcGFwZXItc3Bpbm5lci1leHBhbmQtY29udHJhY3QtZHVyYXRpb246IDEzMzNtcztcblxuICAgICAgICAvKiA0ICogQVJDVElNRSAqL1xuICAgICAgICAtLXBhcGVyLXNwaW5uZXItZnVsbC1jeWNsZS1kdXJhdGlvbjogNTMzMm1zO1xuXG4gICAgICAgIC8qIFNIUklOS19USU1FICovXG4gICAgICAgIC0tcGFwZXItc3Bpbm5lci1jb29sZG93bi1kdXJhdGlvbjogNDAwbXM7XG4gICAgICB9XG5cbiAgICAgICNzcGlubmVyQ29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAvKiBUaGUgc3Bpbm5lciBkb2VzIG5vdCBoYXZlIGFueSBjb250ZW50cyB0aGF0IHdvdWxkIGhhdmUgdG8gYmVcbiAgICAgICAgICogZmxpcHBlZCBpZiB0aGUgZGlyZWN0aW9uIGNoYW5nZXMuIEFsd2F5cyB1c2UgbHRyIHNvIHRoYXQgdGhlXG4gICAgICAgICAqIHN0eWxlIHdvcmtzIG91dCBjb3JyZWN0bHkgaW4gYm90aCBjYXNlcy4gKi9cbiAgICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICB9XG5cbiAgICAgICNzcGlubmVyQ29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBjb250YWluZXItcm90YXRlIHZhcigtLXBhcGVyLXNwaW5uZXItY29udGFpbmVyLXJvdGF0aW9uLWR1cmF0aW9uKSBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbjogY29udGFpbmVyLXJvdGF0ZSB2YXIoLS1wYXBlci1zcGlubmVyLWNvbnRhaW5lci1yb3RhdGlvbi1kdXJhdGlvbikgbGluZWFyIGluZmluaXRlO1xuICAgICAgfVxuXG4gICAgICBALXdlYmtpdC1rZXlmcmFtZXMgY29udGFpbmVyLXJvdGF0ZSB7XG4gICAgICAgIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIH1cbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyBjb250YWluZXItcm90YXRlIHtcbiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIH1cbiAgICAgIH1cblxuICAgICAgLnNwaW5uZXItbGF5ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zcGlubmVyLWNvbG9yLCB2YXIoLS1nb29nbGUtYmx1ZS01MDApKTtcbiAgICAgIH1cblxuICAgICAgLmxheWVyLTEge1xuICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItc3Bpbm5lci1sYXllci0xLWNvbG9yLCB2YXIoLS1nb29nbGUtYmx1ZS01MDApKTtcbiAgICAgIH1cblxuICAgICAgLmxheWVyLTIge1xuICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItc3Bpbm5lci1sYXllci0yLWNvbG9yLCB2YXIoLS1nb29nbGUtcmVkLTUwMCkpO1xuICAgICAgfVxuXG4gICAgICAubGF5ZXItMyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1zcGlubmVyLWxheWVyLTMtY29sb3IsIHZhcigtLWdvb2dsZS15ZWxsb3ctNTAwKSk7XG4gICAgICB9XG5cbiAgICAgIC5sYXllci00IHtcbiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXNwaW5uZXItbGF5ZXItNC1jb2xvciwgdmFyKC0tZ29vZ2xlLWdyZWVuLTUwMCkpO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIElNUE9SVEFOVCBOT1RFIEFCT1VUIENTUyBBTklNQVRJT04gUFJPUEVSVElFUyAoa2VhbnVsZWUpOlxuICAgICAgICpcbiAgICAgICAqIGlPUyBTYWZhcmkgKHRlc3RlZCBvbiBpT1MgOC4xKSBkb2VzIG5vdCBoYW5kbGUgYW5pbWF0aW9uLWRlbGF5IHZlcnkgd2VsbCAtIGl0IGRvZXNuJ3RcbiAgICAgICAqIGd1YXJhbnRlZSB0aGF0IHRoZSBhbmltYXRpb24gd2lsbCBzdGFydCBfZXhhY3RseV8gYWZ0ZXIgdGhhdCB2YWx1ZS4gU28gd2UgYXZvaWQgdXNpbmdcbiAgICAgICAqIGFuaW1hdGlvbi1kZWxheSBhbmQgaW5zdGVhZCBzZXQgY3VzdG9tIGtleWZyYW1lcyBmb3IgZWFjaCBjb2xvciAoYXMgbGF5ZXItMnVuZGFudCBhcyBpdFxuICAgICAgICogc2VlbXMpLlxuICAgICAgICovXG4gICAgICAuYWN0aXZlIC5zcGlubmVyLWxheWVyIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmlsbC11bmZpbGwtcm90YXRlO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItc3Bpbm5lci1mdWxsLWN5Y2xlLWR1cmF0aW9uKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItc3Bpbm5lci1mdWxsLWN5Y2xlLWR1cmF0aW9uKTtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpO1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5sYXllci0xIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmlsbC11bmZpbGwtcm90YXRlLCBsYXllci0xLWZhZGUtaW4tb3V0O1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmlsbC11bmZpbGwtcm90YXRlLCBsYXllci0xLWZhZGUtaW4tb3V0O1xuICAgICAgfVxuXG4gICAgICAuYWN0aXZlIC5zcGlubmVyLWxheWVyLmxheWVyLTIge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGUsIGxheWVyLTItZmFkZS1pbi1vdXQ7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmaWxsLXVuZmlsbC1yb3RhdGUsIGxheWVyLTItZmFkZS1pbi1vdXQ7XG4gICAgICB9XG5cbiAgICAgIC5hY3RpdmUgLnNwaW5uZXItbGF5ZXIubGF5ZXItMyB7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZpbGwtdW5maWxsLXJvdGF0ZSwgbGF5ZXItMy1mYWRlLWluLW91dDtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZpbGwtdW5maWxsLXJvdGF0ZSwgbGF5ZXItMy1mYWRlLWluLW91dDtcbiAgICAgIH1cblxuICAgICAgLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5sYXllci00IHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmlsbC11bmZpbGwtcm90YXRlLCBsYXllci00LWZhZGUtaW4tb3V0O1xuICAgICAgICBhbmltYXRpb24tbmFtZTogZmlsbC11bmZpbGwtcm90YXRlLCBsYXllci00LWZhZGUtaW4tb3V0O1xuICAgICAgfVxuXG4gICAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmlsbC11bmZpbGwtcm90YXRlIHtcbiAgICAgICAgMTIuNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgfSAvKiAwLjUgKiBBUkNTSVpFICovXG4gICAgICAgIDI1JSAgIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpIH0gLyogMSAgICogQVJDU0laRSAqL1xuICAgICAgICAzNy41JSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDA1ZGVnKSB9IC8qIDEuNSAqIEFSQ1NJWkUgKi9cbiAgICAgICAgNTAlICAgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDU0MGRlZykgfSAvKiAyICAgKiBBUkNTSVpFICovXG4gICAgICAgIDYyLjUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg2NzVkZWcpIH0gLyogMi41ICogQVJDU0laRSAqL1xuICAgICAgICA3NSUgICB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoODEwZGVnKSB9IC8qIDMgICAqIEFSQ1NJWkUgKi9cbiAgICAgICAgODcuNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDk0NWRlZykgfSAvKiAzLjUgKiBBUkNTSVpFICovXG4gICAgICAgIHRvICAgIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMDgwZGVnKSB9IC8qIDQgICAqIEFSQ1NJWkUgKi9cbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyBmaWxsLXVuZmlsbC1yb3RhdGUge1xuICAgICAgICAxMi41JSB7IHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgfSAvKiAwLjUgKiBBUkNTSVpFICovXG4gICAgICAgIDI1JSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKSB9IC8qIDEgICAqIEFSQ1NJWkUgKi9cbiAgICAgICAgMzcuNSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpIH0gLyogMS41ICogQVJDU0laRSAqL1xuICAgICAgICA1MCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDU0MGRlZykgfSAvKiAyICAgKiBBUkNTSVpFICovXG4gICAgICAgIDYyLjUlIHsgdHJhbnNmb3JtOiByb3RhdGUoNjc1ZGVnKSB9IC8qIDIuNSAqIEFSQ1NJWkUgKi9cbiAgICAgICAgNzUlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg4MTBkZWcpIH0gLyogMyAgICogQVJDU0laRSAqL1xuICAgICAgICA4Ny41JSB7IHRyYW5zZm9ybTogcm90YXRlKDk0NWRlZykgfSAvKiAzLjUgKiBBUkNTSVpFICovXG4gICAgICAgIHRvICAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMTA4MGRlZykgfSAvKiA0ICAgKiBBUkNTSVpFICovXG4gICAgICB9XG5cbiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBsYXllci0xLWZhZGUtaW4tb3V0IHtcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAxIH1cbiAgICAgICAgMjUlIHsgb3BhY2l0eTogMSB9XG4gICAgICAgIDI2JSB7IG9wYWNpdHk6IDAgfVxuICAgICAgICA4OSUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgOTAlIHsgb3BhY2l0eTogMSB9XG4gICAgICAgIHRvIHsgb3BhY2l0eTogMSB9XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgbGF5ZXItMS1mYWRlLWluLW91dCB7XG4gICAgICAgIDAlIHsgb3BhY2l0eTogMSB9XG4gICAgICAgIDI1JSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICAyNiUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgODklIHsgb3BhY2l0eTogMCB9XG4gICAgICAgIDkwJSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICB0byB7IG9wYWNpdHk6IDEgfVxuICAgICAgfVxuXG4gICAgICBALXdlYmtpdC1rZXlmcmFtZXMgbGF5ZXItMi1mYWRlLWluLW91dCB7XG4gICAgICAgIDAlIHsgb3BhY2l0eTogMCB9XG4gICAgICAgIDE1JSB7IG9wYWNpdHk6IDAgfVxuICAgICAgICAyNSUgeyBvcGFjaXR5OiAxIH1cbiAgICAgICAgNTAlIHsgb3BhY2l0eTogMSB9XG4gICAgICAgIDUxJSB7IG9wYWNpdHk6IDAgfVxuICAgICAgICB0byB7IG9wYWNpdHk6IDAgfVxuICAgICAgfVxuXG4gICAgICBAa2V5ZnJhbWVzIGxheWVyLTItZmFkZS1pbi1vdXQge1xuICAgICAgICAwJSB7IG9wYWNpdHk6IDAgfVxuICAgICAgICAxNSUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgMjUlIHsgb3BhY2l0eTogMSB9XG4gICAgICAgIDUwJSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICA1MSUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH1cbiAgICAgIH1cblxuICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGxheWVyLTMtZmFkZS1pbi1vdXQge1xuICAgICAgICAwJSB7IG9wYWNpdHk6IDAgfVxuICAgICAgICA0MCUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgNTAlIHsgb3BhY2l0eTogMSB9XG4gICAgICAgIDc1JSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICA3NiUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH1cbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyBsYXllci0zLWZhZGUtaW4tb3V0IHtcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgNDAlIHsgb3BhY2l0eTogMCB9XG4gICAgICAgIDUwJSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICA3NSUgeyBvcGFjaXR5OiAxIH1cbiAgICAgICAgNzYlIHsgb3BhY2l0eTogMCB9XG4gICAgICAgIHRvIHsgb3BhY2l0eTogMCB9XG4gICAgICB9XG5cbiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBsYXllci00LWZhZGUtaW4tb3V0IHtcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgNjUlIHsgb3BhY2l0eTogMCB9XG4gICAgICAgIDc1JSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICA5MCUgeyBvcGFjaXR5OiAxIH1cbiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH1cbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyBsYXllci00LWZhZGUtaW4tb3V0IHtcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAwIH1cbiAgICAgICAgNjUlIHsgb3BhY2l0eTogMCB9XG4gICAgICAgIDc1JSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICA5MCUgeyBvcGFjaXR5OiAxIH1cbiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH1cbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1jbGlwcGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBQYXRjaCB0aGUgZ2FwIHRoYXQgYXBwZWFyIGJldHdlZW4gdGhlIHR3byBhZGphY2VudCBkaXYuY2lyY2xlLWNsaXBwZXIgd2hpbGUgdGhlXG4gICAgICAgKiBzcGlubmVyIGlzIHJvdGF0aW5nIChhcHBlYXJzIG9uIENocm9tZSA1MCwgU2FmYXJpIDkuMS4xLCBhbmQgRWRnZSkuXG4gICAgICAgKi9cbiAgICAgIC5zcGlubmVyLWxheWVyOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBsZWZ0OiA0NSU7XG4gICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgfVxuXG4gICAgICAuc3Bpbm5lci1sYXllcjo6YWZ0ZXIsXG4gICAgICAuY2lyY2xlLWNsaXBwZXIgLmNpcmNsZSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IHZhcigtLXBhcGVyLXNwaW5uZXItc3Ryb2tlLXdpZHRoLCAzcHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtY2xpcHBlciAuY2lyY2xlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMjAwJTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1jbGlwcGVyLmxlZnQgLmNpcmNsZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMjlkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMjlkZWcpO1xuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWNsaXBwZXIucmlnaHQgLmNpcmNsZSB7XG4gICAgICAgIGxlZnQ6IC0xMDAlO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTI5ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEyOWRlZyk7XG4gICAgICB9XG5cbiAgICAgIC5hY3RpdmUgLmdhcC1wYXRjaDo6YWZ0ZXIsXG4gICAgICAuYWN0aXZlIC5jaXJjbGUtY2xpcHBlciAuY2lyY2xlIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXNwaW5uZXItZXhwYW5kLWNvbnRyYWN0LWR1cmF0aW9uKTtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSk7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItc3Bpbm5lci1leHBhbmQtY29udHJhY3QtZHVyYXRpb24pO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSk7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgfVxuXG4gICAgICAuYWN0aXZlIC5jaXJjbGUtY2xpcHBlci5sZWZ0IC5jaXJjbGUge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsZWZ0LXNwaW47XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBsZWZ0LXNwaW47XG4gICAgICB9XG5cbiAgICAgIC5hY3RpdmUgLmNpcmNsZS1jbGlwcGVyLnJpZ2h0IC5jaXJjbGUge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByaWdodC1zcGluO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogcmlnaHQtc3BpbjtcbiAgICAgIH1cblxuICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIGxlZnQtc3BpbiB7XG4gICAgICAgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpIH1cbiAgICAgICAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZykgfVxuICAgICAgICB0byB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTMwZGVnKSB9XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgbGVmdC1zcGluIHtcbiAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpIH1cbiAgICAgICAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpIH1cbiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpIH1cbiAgICAgIH1cblxuICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIHJpZ2h0LXNwaW4ge1xuICAgICAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZykgfVxuICAgICAgICA1MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpIH1cbiAgICAgICAgdG8geyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpIH1cbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyByaWdodC1zcGluIHtcbiAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTMwZGVnKSB9XG4gICAgICAgIDUwJSB7IHRyYW5zZm9ybTogcm90YXRlKDVkZWcpIH1cbiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTMwZGVnKSB9XG4gICAgICB9XG5cbiAgICAgICNzcGlubmVyQ29udGFpbmVyLmNvb2xkb3duIHtcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNvbnRhaW5lci1yb3RhdGUgdmFyKC0tcGFwZXItc3Bpbm5lci1jb250YWluZXItcm90YXRpb24tZHVyYXRpb24pIGxpbmVhciBpbmZpbml0ZSwgZmFkZS1vdXQgdmFyKC0tcGFwZXItc3Bpbm5lci1jb29sZG93bi1kdXJhdGlvbikgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpO1xuICAgICAgICBhbmltYXRpb246IGNvbnRhaW5lci1yb3RhdGUgdmFyKC0tcGFwZXItc3Bpbm5lci1jb250YWluZXItcm90YXRpb24tZHVyYXRpb24pIGxpbmVhciBpbmZpbml0ZSwgZmFkZS1vdXQgdmFyKC0tcGFwZXItc3Bpbm5lci1jb29sZG93bi1kdXJhdGlvbikgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpO1xuICAgICAgfVxuXG4gICAgICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZS1vdXQge1xuICAgICAgICAwJSB7IG9wYWNpdHk6IDEgfVxuICAgICAgICB0byB7IG9wYWNpdHk6IDAgfVxuICAgICAgfVxuXG4gICAgICBAa2V5ZnJhbWVzIGZhZGUtb3V0IHtcbiAgICAgICAgMCUgeyBvcGFjaXR5OiAxIH1cbiAgICAgICAgdG8geyBvcGFjaXR5OiAwIH1cbiAgICAgIH1cbiAgICA8L3N0eWxlPlxuICA8L3RlbXBsYXRlPlxuPC9kb20tbW9kdWxlPiIsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChfcy5jb250ZW50KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IHlzPXtwcm9wZXJ0aWVzOnthY3RpdmU6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMSxyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsb2JzZXJ2ZXI6Il9fYWN0aXZlQ2hhbmdlZCJ9LGFsdDp7dHlwZTpTdHJpbmcsdmFsdWU6ImxvYWRpbmciLG9ic2VydmVyOiJfX2FsdENoYW5nZWQifSxfX2Nvb2xpbmdEb3duOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9fSxfX2NvbXB1dGVDb250YWluZXJDbGFzc2VzOmZ1bmN0aW9uKHQsZSl7cmV0dXJuW3R8fGU/ImFjdGl2ZSI6IiIsZT8iY29vbGRvd24iOiIiXS5qb2luKCIgIil9LF9fYWN0aXZlQ2hhbmdlZDpmdW5jdGlvbih0LGUpe3RoaXMuX19zZXRBcmlhSGlkZGVuKCF0KSx0aGlzLl9fY29vbGluZ0Rvd249IXQmJmV9LF9fYWx0Q2hhbmdlZDpmdW5jdGlvbih0KXsibG9hZGluZyI9PT10P3RoaXMuYWx0PXRoaXMuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIil8fHQ6KHRoaXMuX19zZXRBcmlhSGlkZGVuKCIiPT09dCksdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLHQpKX0sX19zZXRBcmlhSGlkZGVuOmZ1bmN0aW9uKHQpe3ZhciBlPSJhcmlhLWhpZGRlbiI7dD90aGlzLnNldEF0dHJpYnV0ZShlLCJ0cnVlIik6dGhpcy5yZW1vdmVBdHRyaWJ1dGUoZSl9LF9fcmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLmFjdGl2ZT0hMSx0aGlzLl9fY29vbGluZ0Rvd249ITF9fSx2cz14ZWAKICA8c3R5bGUgaW5jbHVkZT0icGFwZXItc3Bpbm5lci1zdHlsZXMiPjwvc3R5bGU+CgogIDxkaXYgaWQ9InNwaW5uZXJDb250YWluZXIiIGNsYXNzLW5hbWU9IltbX19jb21wdXRlQ29udGFpbmVyQ2xhc3NlcyhhY3RpdmUsIF9fY29vbGluZ0Rvd24pXV0iIG9uLWFuaW1hdGlvbmVuZD0iX19yZXNldCIgb24td2Via2l0LWFuaW1hdGlvbi1lbmQ9Il9fcmVzZXQiPgogICAgPGRpdiBjbGFzcz0ic3Bpbm5lci1sYXllciBsYXllci0xIj4KICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlLWNsaXBwZXIgbGVmdCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZS1jbGlwcGVyIHJpZ2h0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNwaW5uZXItbGF5ZXIgbGF5ZXItMiI+CiAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZS1jbGlwcGVyIGxlZnQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZSI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUtY2xpcHBlciByaWdodCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzcGlubmVyLWxheWVyIGxheWVyLTMiPgogICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUtY2xpcHBlciBsZWZ0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlLWNsaXBwZXIgcmlnaHQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZSI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic3Bpbm5lci1sYXllciBsYXllci00Ij4KICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlLWNsaXBwZXIgbGVmdCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZS1jbGlwcGVyIHJpZ2h0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgpgOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi92cy5zZXRBdHRyaWJ1dGUoInN0cmlwLXdoaXRlc3BhY2UiLCIiKSxqcih7X3RlbXBsYXRlOnZzLGlzOiJwYXBlci1zcGlubmVyIixiZWhhdmlvcnM6W3lzXX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgYnM9eGVgCiAgPHN0eWxlIGluY2x1ZGU9InBhcGVyLXNwaW5uZXItc3R5bGVzIj48L3N0eWxlPgoKICA8ZGl2IGlkPSJzcGlubmVyQ29udGFpbmVyIiBjbGFzcy1uYW1lPSJbW19fY29tcHV0ZUNvbnRhaW5lckNsYXNzZXMoYWN0aXZlLCBfX2Nvb2xpbmdEb3duKV1dIiBvbi1hbmltYXRpb25lbmQ9Il9fcmVzZXQiIG9uLXdlYmtpdC1hbmltYXRpb24tZW5kPSJfX3Jlc2V0Ij4KICAgIDxkaXYgY2xhc3M9InNwaW5uZXItbGF5ZXIiPgogICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUtY2xpcHBlciBsZWZ0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjaXJjbGUiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2lyY2xlLWNsaXBwZXIgcmlnaHQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNpcmNsZSI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CmA7YnMuc2V0QXR0cmlidXRlKCJzdHJpcC13aGl0ZXNwYWNlIiwiIiksanIoe190ZW1wbGF0ZTpicyxpczoicGFwZXItc3Bpbm5lci1saXRlIixiZWhhdmlvcnM6W3lzXX0pOwovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCB4cz14ZWA8aXJvbi1pY29uc2V0LXN2ZyBuYW1lPSJwYXBlci10YWJzIiBzaXplPSIyNCI+Cjxzdmc+PGRlZnM+CjxnIGlkPSJjaGV2cm9uLWxlZnQiPjxwYXRoIGQ9Ik0xNS40MSA3LjQxTDE0IDZsLTYgNiA2IDYgMS40MS0xLjQxTDEwLjgzIDEyeiI+PC9wYXRoPjwvZz4KPGcgaWQ9ImNoZXZyb24tcmlnaHQiPjxwYXRoIGQ9Ik0xMCA2TDguNTkgNy40MSAxMy4xNyAxMmwtNC41OCA0LjU5TDEwIDE4bDYtNnoiPjwvcGF0aD48L2c+CjwvZGVmcz48L3N2Zz4KPC9pcm9uLWljb25zZXQtc3ZnPmA7ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh4cy5jb250ZW50KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIEBhcHBseSAtLWxheW91dC1pbmxpbmU7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyLWp1c3RpZmllZDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleC1hdXRvOwoKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFiOwogICAgICB9CgogICAgICA6aG9zdCg6Zm9jdXMpIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICA6aG9zdChbbGlua10pIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAudGFiLWNvbnRlbnQgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAxLCAxKTsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyLWNlbnRlcjsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleC1hdXRvOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRhYi1jb250ZW50OwogICAgICB9CgogICAgICA6aG9zdCg6bm90KC5pcm9uLXNlbGVjdGVkKSkgPiAudGFiLWNvbnRlbnQgewogICAgICAgIG9wYWNpdHk6IDAuODsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFiLWNvbnRlbnQtdW5zZWxlY3RlZDsKICAgICAgfQoKICAgICAgOmhvc3QoOmZvY3VzKSAudGFiLWNvbnRlbnQgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFiLWNvbnRlbnQtZm9jdXNlZDsKICAgICAgfQoKICAgICAgcGFwZXItcmlwcGxlIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdGFiLWluaywgdmFyKC0tcGFwZXIteWVsbG93LWExMDApKTsKICAgICAgfQoKICAgICAgLnRhYi1jb250ZW50ID4gOjpzbG90dGVkKGEpIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleC1hdXRvOwoKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0idGFiLWNvbnRlbnQiPgogICAgICA8c2xvdD48L3Nsb3Q+CiAgICA8L2Rpdj4KYCxpczoicGFwZXItdGFiIixiZWhhdmlvcnM6W3JhLGFhLHVhXSxwcm9wZXJ0aWVzOntsaW5rOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEscmVmbGVjdFRvQXR0cmlidXRlOiEwfX0saG9zdEF0dHJpYnV0ZXM6e3JvbGU6InRhYiJ9LGxpc3RlbmVyczp7ZG93bjoiX3VwZGF0ZU5vaW5rIix0YXA6Il9vblRhcCJ9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlTm9pbmsoKX0sZ2V0IF9wYXJlbnROb2luaygpe3ZhciB0PWVyKHRoaXMpLnBhcmVudE5vZGU7cmV0dXJuISF0JiYhIXQubm9pbmt9LF91cGRhdGVOb2luazpmdW5jdGlvbigpe3RoaXMubm9pbms9ISF0aGlzLm5vaW5rfHwhIXRoaXMuX3BhcmVudE5vaW5rfSxfb25UYXA6ZnVuY3Rpb24odCl7aWYodGhpcy5saW5rKXt2YXIgZT10aGlzLnF1ZXJ5RWZmZWN0aXZlQ2hpbGRyZW4oImEiKTtpZighZSlyZXR1cm47aWYodC50YXJnZXQ9PT1lKXJldHVybjtlLmNsaWNrKCl9fX0pLAovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpqcih7X3RlbXBsYXRlOnhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0OwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXI7CgogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CgogICAgICAgIC8qIE5PVEU6IEJvdGggdmFsdWVzIGFyZSBuZWVkZWQsIHNpbmNlIHNvbWUgcGhvbmVzIHJlcXVpcmUgdGhlIHZhbHVlIHRvIGJlIFxgdHJhbnNwYXJlbnRcYC4gKi8KICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFiczsKICAgICAgfQoKICAgICAgOmhvc3QoOmRpcihydGwpKSB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWwtcmV2ZXJzZTsKICAgICAgfQoKICAgICAgI3RhYnNDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIEBhcHBseSAtLWxheW91dC1mbGV4LWF1dG87CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFicy1jb250YWluZXI7CiAgICAgIH0KCiAgICAgICN0YWJzQ29udGVudCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIC1tb3otZmxleC1iYXNpczogYXV0bzsKICAgICAgICAtbXMtZmxleC1iYXNpczogYXV0bzsKICAgICAgICBmbGV4LWJhc2lzOiBhdXRvOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRhYnMtY29udGVudDsKICAgICAgfQoKICAgICAgI3RhYnNDb250ZW50LnNjcm9sbGFibGUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAjdGFic0NvbnRlbnQ6bm90KC5zY3JvbGxhYmxlKSwKICAgICAgI3RhYnNDb250ZW50LnNjcm9sbGFibGUuZml0LWNvbnRhaW5lciB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWhvcml6b250YWw7CiAgICAgIH0KCiAgICAgICN0YWJzQ29udGVudC5zY3JvbGxhYmxlLmZpdC1jb250YWluZXIgewogICAgICAgIG1pbi13aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgI3RhYnNDb250ZW50LnNjcm9sbGFibGUuZml0LWNvbnRhaW5lciA+IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgLyogSUUgLSBwcmV2ZW50IHRhYnMgZnJvbSBjb21wcmVzc2luZyB3aGVuIHRoZXkgc2hvdWxkIHNjcm9sbC4gKi8KICAgICAgICAtbXMtZmxleDogMSAwIGF1dG87CiAgICAgICAgLXdlYmtpdC1mbGV4OiAxIDAgYXV0bzsKICAgICAgICBmbGV4OiAxIDAgYXV0bzsKICAgICAgfQoKICAgICAgLmhpZGRlbiB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLm5vdC12aXNpYmxlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIHdpZHRoOiA0OHB4OwogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIG1hcmdpbjogMCA0cHg7CiAgICAgIH0KCiAgICAgICNzZWxlY3Rpb25CYXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLXBhcGVyLXRhYnMtc2VsZWN0aW9uLWJhci1jb2xvciwgdmFyKC0tcGFwZXIteWVsbG93LWExMDApKTsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKICAgICAgICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdGFicy1zZWxlY3Rpb24tYmFyOwogICAgICB9CgogICAgICAjc2VsZWN0aW9uQmFyLmFsaWduLWJvdHRvbSB7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogYXV0bzsKICAgICAgfQoKICAgICAgI3NlbGVjdGlvbkJhci5leHBhbmQgewogICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzOwogICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDEsIDEpOwogICAgICB9CgogICAgICAjc2VsZWN0aW9uQmFyLmNvbnRyYWN0IHsKICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE4czsKICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMCwgMC4wLCAwLjIsIDEpOwogICAgICB9CgogICAgICAjdGFic0NvbnRlbnQgPiA6OnNsb3R0ZWQoOm5vdCgjc2VsZWN0aW9uQmFyKSkgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0icGFwZXItdGFiczpjaGV2cm9uLWxlZnQiIGNsYXNzJD0iW1tfY29tcHV0ZVNjcm9sbEJ1dHRvbkNsYXNzKF9sZWZ0SGlkZGVuLCBzY3JvbGxhYmxlLCBoaWRlU2Nyb2xsQnV0dG9ucyldXSIgb24tdXA9Il9vblNjcm9sbEJ1dHRvblVwIiBvbi1kb3duPSJfb25MZWZ0U2Nyb2xsQnV0dG9uRG93biIgdGFiaW5kZXg9Ii0xIj48L3BhcGVyLWljb24tYnV0dG9uPgoKICAgIDxkaXYgaWQ9InRhYnNDb250YWluZXIiIG9uLXRyYWNrPSJfc2Nyb2xsIiBvbi1kb3duPSJfZG93biI+CiAgICAgIDxkaXYgaWQ9InRhYnNDb250ZW50IiBjbGFzcyQ9IltbX2NvbXB1dGVUYWJzQ29udGVudENsYXNzKHNjcm9sbGFibGUsIGZpdENvbnRhaW5lcildXSI+CiAgICAgICAgPGRpdiBpZD0ic2VsZWN0aW9uQmFyIiBjbGFzcyQ9IltbX2NvbXB1dGVTZWxlY3Rpb25CYXJDbGFzcyhub0JhciwgYWxpZ25Cb3R0b20pXV0iIG9uLXRyYW5zaXRpb25lbmQ9Il9vbkJhclRyYW5zaXRpb25FbmQiPjwvZGl2PgogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8cGFwZXItaWNvbi1idXR0b24gaWNvbj0icGFwZXItdGFiczpjaGV2cm9uLXJpZ2h0IiBjbGFzcyQ9IltbX2NvbXB1dGVTY3JvbGxCdXR0b25DbGFzcyhfcmlnaHRIaWRkZW4sIHNjcm9sbGFibGUsIGhpZGVTY3JvbGxCdXR0b25zKV1dIiBvbi11cD0iX29uU2Nyb2xsQnV0dG9uVXAiIG9uLWRvd249Il9vblJpZ2h0U2Nyb2xsQnV0dG9uRG93biIgdGFiaW5kZXg9Ii0xIj48L3BhcGVyLWljb24tYnV0dG9uPgpgLGlzOiJwYXBlci10YWJzIixiZWhhdmlvcnM6W0NvLG1zXSxwcm9wZXJ0aWVzOntub2luazp7dHlwZTpCb29sZWFuLHZhbHVlOiExLG9ic2VydmVyOiJfbm9pbmtDaGFuZ2VkIn0sbm9CYXI6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sbm9TbGlkZTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzY3JvbGxhYmxlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGZpdENvbnRhaW5lcjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxkaXNhYmxlRHJhZzp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxoaWRlU2Nyb2xsQnV0dG9uczp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhbGlnbkJvdHRvbTp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxzZWxlY3RhYmxlOnt0eXBlOlN0cmluZyx2YWx1ZToicGFwZXItdGFiIn0sYXV0b3NlbGVjdDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxhdXRvc2VsZWN0RGVsYXk6e3R5cGU6TnVtYmVyLHZhbHVlOjB9LF9zdGVwOnt0eXBlOk51bWJlcix2YWx1ZToxMH0sX2hvbGREZWxheTp7dHlwZTpOdW1iZXIsdmFsdWU6MX0sX2xlZnRIaWRkZW46e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX3JpZ2h0SGlkZGVuOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LF9wcmV2aW91c1RhYjp7dHlwZTpPYmplY3R9fSxob3N0QXR0cmlidXRlczp7cm9sZToidGFibGlzdCJ9LGxpc3RlbmVyczp7Imlyb24tcmVzaXplIjoiX29uVGFiU2l6aW5nQ2hhbmdlZCIsImlyb24taXRlbXMtY2hhbmdlZCI6Il9vblRhYlNpemluZ0NoYW5nZWQiLCJpcm9uLXNlbGVjdCI6Il9vbklyb25TZWxlY3QiLCJpcm9uLWRlc2VsZWN0IjoiX29uSXJvbkRlc2VsZWN0In0sa2V5QmluZGluZ3M6eyJsZWZ0OmtleXVwIHJpZ2h0OmtleXVwIjoiX29uQXJyb3dLZXl1cCJ9LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9ob2xkSm9iPW51bGwsdGhpcy5fcGVuZGluZ0FjdGl2YXRpb25JdGVtPXZvaWQgMCx0aGlzLl9wZW5kaW5nQWN0aXZhdGlvblRpbWVvdXQ9dm9pZCAwLHRoaXMuX2JpbmREZWxheWVkQWN0aXZhdGlvbkhhbmRsZXI9dGhpcy5fZGVsYXllZEFjdGl2YXRpb25IYW5kbGVyLmJpbmQodGhpcyksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl9vbkJsdXJDYXB0dXJlLmJpbmQodGhpcyksITApfSxyZWFkeTpmdW5jdGlvbigpe3RoaXMuc2V0U2Nyb2xsRGlyZWN0aW9uKCJ5Iix0aGlzLiQudGFic0NvbnRhaW5lcil9LGRldGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fY2FuY2VsUGVuZGluZ0FjdGl2YXRpb24oKX0sX25vaW5rQ2hhbmdlZDpmdW5jdGlvbih0KXtlcih0aGlzKS5xdWVyeVNlbGVjdG9yQWxsKCJwYXBlci10YWIiKS5mb3JFYWNoKHQ/dGhpcy5fc2V0Tm9pbmtBdHRyaWJ1dGU6dGhpcy5fcmVtb3ZlTm9pbmtBdHRyaWJ1dGUpfSxfc2V0Tm9pbmtBdHRyaWJ1dGU6ZnVuY3Rpb24odCl7dC5zZXRBdHRyaWJ1dGUoIm5vaW5rIiwiIil9LF9yZW1vdmVOb2lua0F0dHJpYnV0ZTpmdW5jdGlvbih0KXt0LnJlbW92ZUF0dHJpYnV0ZSgibm9pbmsiKX0sX2NvbXB1dGVTY3JvbGxCdXR0b25DbGFzczpmdW5jdGlvbih0LGUsbil7cmV0dXJuIWV8fG4/ImhpZGRlbiI6dD8ibm90LXZpc2libGUiOiIifSxfY29tcHV0ZVRhYnNDb250ZW50Q2xhc3M6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD8ic2Nyb2xsYWJsZSIrKGU/IiBmaXQtY29udGFpbmVyIjoiIik6IiBmaXQtY29udGFpbmVyIn0sX2NvbXB1dGVTZWxlY3Rpb25CYXJDbGFzczpmdW5jdGlvbih0LGUpe3JldHVybiB0PyJoaWRkZW4iOmU/ImFsaWduLWJvdHRvbSI6IiJ9LF9vblRhYlNpemluZ0NoYW5nZWQ6ZnVuY3Rpb24oKXt0aGlzLmRlYm91bmNlKCJfb25UYWJTaXppbmdDaGFuZ2VkIiwoZnVuY3Rpb24oKXt0aGlzLl9zY3JvbGwoKSx0aGlzLl90YWJDaGFuZ2VkKHRoaXMuc2VsZWN0ZWRJdGVtKX0pLDEwKX0sX29uSXJvblNlbGVjdDpmdW5jdGlvbih0KXt0aGlzLl90YWJDaGFuZ2VkKHQuZGV0YWlsLml0ZW0sdGhpcy5fcHJldmlvdXNUYWIpLHRoaXMuX3ByZXZpb3VzVGFiPXQuZGV0YWlsLml0ZW0sdGhpcy5jYW5jZWxEZWJvdW5jZXIoInRhYi1jaGFuZ2VkIil9LF9vbklyb25EZXNlbGVjdDpmdW5jdGlvbih0KXt0aGlzLmRlYm91bmNlKCJ0YWItY2hhbmdlZCIsKGZ1bmN0aW9uKCl7dGhpcy5fdGFiQ2hhbmdlZChudWxsLHRoaXMuX3ByZXZpb3VzVGFiKSx0aGlzLl9wcmV2aW91c1RhYj1udWxsfSksMSl9LF9hY3RpdmF0ZUhhbmRsZXI6ZnVuY3Rpb24oKXt0aGlzLl9jYW5jZWxQZW5kaW5nQWN0aXZhdGlvbigpLGNzLl9hY3RpdmF0ZUhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfc2NoZWR1bGVBY3RpdmF0aW9uOmZ1bmN0aW9uKHQsZSl7dGhpcy5fcGVuZGluZ0FjdGl2YXRpb25JdGVtPXQsdGhpcy5fcGVuZGluZ0FjdGl2YXRpb25UaW1lb3V0PXRoaXMuYXN5bmModGhpcy5fYmluZERlbGF5ZWRBY3RpdmF0aW9uSGFuZGxlcixlKX0sX2RlbGF5ZWRBY3RpdmF0aW9uSGFuZGxlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uSXRlbTt0aGlzLl9wZW5kaW5nQWN0aXZhdGlvbkl0ZW09dm9pZCAwLHRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uVGltZW91dD12b2lkIDAsdC5maXJlKHRoaXMuYWN0aXZhdGVFdmVudCxudWxsLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9KX0sX2NhbmNlbFBlbmRpbmdBY3RpdmF0aW9uOmZ1bmN0aW9uKCl7dm9pZCAwIT09dGhpcy5fcGVuZGluZ0FjdGl2YXRpb25UaW1lb3V0JiYodGhpcy5jYW5jZWxBc3luYyh0aGlzLl9wZW5kaW5nQWN0aXZhdGlvblRpbWVvdXQpLHRoaXMuX3BlbmRpbmdBY3RpdmF0aW9uSXRlbT12b2lkIDAsdGhpcy5fcGVuZGluZ0FjdGl2YXRpb25UaW1lb3V0PXZvaWQgMCl9LF9vbkFycm93S2V5dXA6ZnVuY3Rpb24odCl7dGhpcy5hdXRvc2VsZWN0JiZ0aGlzLl9zY2hlZHVsZUFjdGl2YXRpb24odGhpcy5mb2N1c2VkSXRlbSx0aGlzLmF1dG9zZWxlY3REZWxheSl9LF9vbkJsdXJDYXB0dXJlOmZ1bmN0aW9uKHQpe3QudGFyZ2V0PT09dGhpcy5fcGVuZGluZ0FjdGl2YXRpb25JdGVtJiZ0aGlzLl9jYW5jZWxQZW5kaW5nQWN0aXZhdGlvbigpfSxnZXQgX3RhYkNvbnRhaW5lclNjcm9sbFNpemUoKXtyZXR1cm4gTWF0aC5tYXgoMCx0aGlzLiQudGFic0NvbnRhaW5lci5zY3JvbGxXaWR0aC10aGlzLiQudGFic0NvbnRhaW5lci5vZmZzZXRXaWR0aCl9LF9zY3JvbGw6ZnVuY3Rpb24odCxlKXt0aGlzLnNjcm9sbGFibGUmJnRoaXMuX2FmZmVjdFNjcm9sbChlJiYtZS5kZHh8fDApfSxfZG93bjpmdW5jdGlvbih0KXt0aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuX2RlZmF1bHRGb2N1c0FzeW5jJiYodGhpcy5jYW5jZWxBc3luYyh0aGlzLl9kZWZhdWx0Rm9jdXNBc3luYyksdGhpcy5fZGVmYXVsdEZvY3VzQXN5bmM9bnVsbCl9KSwxKX0sX2FmZmVjdFNjcm9sbDpmdW5jdGlvbih0KXt0aGlzLiQudGFic0NvbnRhaW5lci5zY3JvbGxMZWZ0Kz10O3ZhciBlPXRoaXMuJC50YWJzQ29udGFpbmVyLnNjcm9sbExlZnQ7dGhpcy5fbGVmdEhpZGRlbj0wPT09ZSx0aGlzLl9yaWdodEhpZGRlbj1lPT09dGhpcy5fdGFiQ29udGFpbmVyU2Nyb2xsU2l6ZX0sX29uTGVmdFNjcm9sbEJ1dHRvbkRvd246ZnVuY3Rpb24oKXt0aGlzLl9zY3JvbGxUb0xlZnQoKSx0aGlzLl9ob2xkSm9iPXNldEludGVydmFsKHRoaXMuX3Njcm9sbFRvTGVmdC5iaW5kKHRoaXMpLHRoaXMuX2hvbGREZWxheSl9LF9vblJpZ2h0U2Nyb2xsQnV0dG9uRG93bjpmdW5jdGlvbigpe3RoaXMuX3Njcm9sbFRvUmlnaHQoKSx0aGlzLl9ob2xkSm9iPXNldEludGVydmFsKHRoaXMuX3Njcm9sbFRvUmlnaHQuYmluZCh0aGlzKSx0aGlzLl9ob2xkRGVsYXkpfSxfb25TY3JvbGxCdXR0b25VcDpmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwodGhpcy5faG9sZEpvYiksdGhpcy5faG9sZEpvYj1udWxsfSxfc2Nyb2xsVG9MZWZ0OmZ1bmN0aW9uKCl7dGhpcy5fYWZmZWN0U2Nyb2xsKC10aGlzLl9zdGVwKX0sX3Njcm9sbFRvUmlnaHQ6ZnVuY3Rpb24oKXt0aGlzLl9hZmZlY3RTY3JvbGwodGhpcy5fc3RlcCl9LF90YWJDaGFuZ2VkOmZ1bmN0aW9uKHQsZSl7aWYoIXQpcmV0dXJuIHRoaXMuJC5zZWxlY3Rpb25CYXIuY2xhc3NMaXN0LnJlbW92ZSgiZXhwYW5kIiksdGhpcy4kLnNlbGVjdGlvbkJhci5jbGFzc0xpc3QucmVtb3ZlKCJjb250cmFjdCIpLHZvaWQgdGhpcy5fcG9zaXRpb25CYXIoMCwwKTt2YXIgbj10aGlzLiQudGFic0NvbnRlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT1uLndpZHRoLHI9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPXIubGVmdC1uLmxlZnQ7aWYodGhpcy5fcG9zPXt3aWR0aDp0aGlzLl9jYWxjUGVyY2VudChyLndpZHRoLGkpLGxlZnQ6dGhpcy5fY2FsY1BlcmNlbnQobyxpKX0sdGhpcy5ub1NsaWRlfHxudWxsPT1lKXJldHVybiB0aGlzLiQuc2VsZWN0aW9uQmFyLmNsYXNzTGlzdC5yZW1vdmUoImV4cGFuZCIpLHRoaXMuJC5zZWxlY3Rpb25CYXIuY2xhc3NMaXN0LnJlbW92ZSgiY29udHJhY3QiKSx2b2lkIHRoaXMuX3Bvc2l0aW9uQmFyKHRoaXMuX3Bvcy53aWR0aCx0aGlzLl9wb3MubGVmdCk7dmFyIGE9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxzPXRoaXMuaXRlbXMuaW5kZXhPZihlKSxsPXRoaXMuaXRlbXMuaW5kZXhPZih0KTt0aGlzLiQuc2VsZWN0aW9uQmFyLmNsYXNzTGlzdC5hZGQoImV4cGFuZCIpO3ZhciBjPXM8bDt0aGlzLl9pc1JUTCYmKGM9IWMpLGM/dGhpcy5fcG9zaXRpb25CYXIodGhpcy5fY2FsY1BlcmNlbnQoci5sZWZ0K3Iud2lkdGgtYS5sZWZ0LGkpLTUsdGhpcy5fbGVmdCk6dGhpcy5fcG9zaXRpb25CYXIodGhpcy5fY2FsY1BlcmNlbnQoYS5sZWZ0K2Eud2lkdGgtci5sZWZ0LGkpLTUsdGhpcy5fY2FsY1BlcmNlbnQobyxpKSs1KSx0aGlzLnNjcm9sbGFibGUmJnRoaXMuX3Njcm9sbFRvU2VsZWN0ZWRJZk5lZWRlZChyLndpZHRoLG8pfSxfc2Nyb2xsVG9TZWxlY3RlZElmTmVlZGVkOmZ1bmN0aW9uKHQsZSl7dmFyIG49ZS10aGlzLiQudGFic0NvbnRhaW5lci5zY3JvbGxMZWZ0OyhuPDB8fChuKz10LXRoaXMuJC50YWJzQ29udGFpbmVyLm9mZnNldFdpZHRoKT4wKSYmKHRoaXMuJC50YWJzQ29udGFpbmVyLnNjcm9sbExlZnQrPW4pfSxfY2FsY1BlcmNlbnQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gMTAwKnQvZX0sX3Bvc2l0aW9uQmFyOmZ1bmN0aW9uKHQsZSl7ZT1lfHwwLHRoaXMuX3dpZHRoPXQ9dHx8MCx0aGlzLl9sZWZ0PWUsdGhpcy50cmFuc2Zvcm0oInRyYW5zbGF0ZVgoIitlKyIlKSBzY2FsZVgoIit0LzEwMCsiKSIsdGhpcy4kLnNlbGVjdGlvbkJhcil9LF9vbkJhclRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy4kLnNlbGVjdGlvbkJhci5jbGFzc0xpc3Q7ZS5jb250YWlucygiZXhwYW5kIik/KGUucmVtb3ZlKCJleHBhbmQiKSxlLmFkZCgiY29udHJhY3QiKSx0aGlzLl9wb3NpdGlvbkJhcih0aGlzLl9wb3Mud2lkdGgsdGhpcy5fcG9zLmxlZnQpKTplLmNvbnRhaW5zKCJjb250cmFjdCIpJiZlLnJlbW92ZSgiY29udHJhY3QiKX19KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCnZhciB3cz1udWxsO2pyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9hc3QtYmFja2dyb3VuZC1jb2xvciwgIzMyMzIzMik7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXRvYXN0LWNvbG9yLCAjZjFmMWYxKTsKICAgICAgICBtaW4taGVpZ2h0OiA0OHB4OwogICAgICAgIG1pbi13aWR0aDogMjg4cHg7CiAgICAgICAgcGFkZGluZzogMTZweCAyNHB4OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI2KTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgbWFyZ2luOiAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzLCBvcGFjaXR5IDAuM3M7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIG9wYWNpdHkgMC4zczsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMHB4KTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwcHgpOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KC5jYXBzdWxlKSB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDsKICAgICAgfQoKICAgICAgOmhvc3QoLmZpdC1ib3R0b20pIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIDpob3N0KC5wYXBlci10b2FzdC1vcGVuKSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxzcGFuIGlkPSJsYWJlbCI+e3t0ZXh0fX08L3NwYW4+CiAgICA8c2xvdD48L3Nsb3Q+CmAsaXM6InBhcGVyLXRvYXN0IixiZWhhdmlvcnM6W1dhXSxwcm9wZXJ0aWVzOntmaXRJbnRvOnt0eXBlOk9iamVjdCx2YWx1ZTp3aW5kb3csb2JzZXJ2ZXI6Il9vbkZpdEludG9DaGFuZ2VkIn0saG9yaXpvbnRhbEFsaWduOnt0eXBlOlN0cmluZyx2YWx1ZToibGVmdCJ9LHZlcnRpY2FsQWxpZ246e3R5cGU6U3RyaW5nLHZhbHVlOiJib3R0b20ifSxkdXJhdGlvbjp7dHlwZTpOdW1iZXIsdmFsdWU6M2UzfSx0ZXh0Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sbm9DYW5jZWxPbk91dHNpZGVDbGljazp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfSxub0F1dG9Gb2N1czp7dHlwZTpCb29sZWFuLHZhbHVlOiEwfX0sbGlzdGVuZXJzOnt0cmFuc2l0aW9uZW5kOiJfX29uVHJhbnNpdGlvbkVuZCJ9LGdldCB2aXNpYmxlKCl7cmV0dXJuIEVvLl93YXJuKCJgdmlzaWJsZWAgaXMgZGVwcmVjYXRlZCwgdXNlIGBvcGVuZWRgIGluc3RlYWQiKSx0aGlzLm9wZW5lZH0sZ2V0IF9jYW5BdXRvQ2xvc2UoKXtyZXR1cm4gdGhpcy5kdXJhdGlvbj4wJiZ0aGlzLmR1cmF0aW9uIT09MS8wfSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5fYXV0b0Nsb3NlPW51bGwsWWEucmVxdWVzdEF2YWlsYWJpbGl0eSgpfSxzaG93OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiJzdHJpbmciPT10eXBlb2YgdCYmKHQ9e3RleHQ6dH0pLHQpMD09PWUuaW5kZXhPZigiXyIpP0VvLl93YXJuKCdUaGUgcHJvcGVydHkgIicrZSsnIiBpcyBwcml2YXRlIGFuZCB3YXMgbm90IHNldC4nKTplIGluIHRoaXM/dGhpc1tlXT10W2VdOkVvLl93YXJuKCdUaGUgcHJvcGVydHkgIicrZSsnIiBpcyBub3QgdmFsaWQuJyk7dGhpcy5vcGVuKCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLmNsb3NlKCl9LF9fb25UcmFuc2l0aW9uRW5kOmZ1bmN0aW9uKHQpe3QmJnQudGFyZ2V0PT09dGhpcyYmIm9wYWNpdHkiPT09dC5wcm9wZXJ0eU5hbWUmJih0aGlzLm9wZW5lZD90aGlzLl9maW5pc2hSZW5kZXJPcGVuZWQoKTp0aGlzLl9maW5pc2hSZW5kZXJDbG9zZWQoKSl9LF9vcGVuZWRDaGFuZ2VkOmZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX2F1dG9DbG9zZSYmKHRoaXMuY2FuY2VsQXN5bmModGhpcy5fYXV0b0Nsb3NlKSx0aGlzLl9hdXRvQ2xvc2U9bnVsbCksdGhpcy5vcGVuZWQ/KHdzJiZ3cyE9PXRoaXMmJndzLmNsb3NlKCksd3M9dGhpcyx0aGlzLmZpcmUoImlyb24tYW5ub3VuY2UiLHt0ZXh0OnRoaXMudGV4dH0pLHRoaXMuX2NhbkF1dG9DbG9zZSYmKHRoaXMuX2F1dG9DbG9zZT10aGlzLmFzeW5jKHRoaXMuY2xvc2UsdGhpcy5kdXJhdGlvbikpKTp3cz09PXRoaXMmJih3cz1udWxsKSxqYS5fb3BlbmVkQ2hhbmdlZC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LF9yZW5kZXJPcGVuZWQ6ZnVuY3Rpb24oKXt0aGlzLmNsYXNzTGlzdC5hZGQoInBhcGVyLXRvYXN0LW9wZW4iKX0sX3JlbmRlckNsb3NlZDpmdW5jdGlvbigpe3RoaXMuY2xhc3NMaXN0LnJlbW92ZSgicGFwZXItdG9hc3Qtb3BlbiIpfSxfb25GaXRJbnRvQ2hhbmdlZDpmdW5jdGlvbih0KXt0aGlzLnBvc2l0aW9uVGFyZ2V0PXR9fSk7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxNSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmNvbnN0IFNzPXhlYAoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtaG9yaXpvbnRhbDsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtY2VudGVyOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoOmZvY3VzKSB7CiAgICAgICAgb3V0bGluZTpub25lOwogICAgICB9CgogICAgICAudG9nZ2xlLWJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMC40OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgbGluZWFyIC4wOHM7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtYmFyLWNvbG9yLCAjMDAwMDAwKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtYmFyOwogICAgICB9CgogICAgICAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogLTNweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjYpOwogICAgICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIGxpbmVhciAuMDhzLCBiYWNrZ3JvdW5kLWNvbG9yIGxpbmVhciAuMDhzOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBsaW5lYXIgLjA4cywgYmFja2dyb3VuZC1jb2xvciBsaW5lYXIgLjA4czsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXRvZ2dsZS1idXR0b24tdW5jaGVja2VkLWJ1dHRvbi1jb2xvciwgdmFyKC0tcGFwZXItZ3JleS01MCkpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10b2dnbGUtYnV0dG9uLXVuY2hlY2tlZC1idXR0b247CiAgICAgIH0KCiAgICAgIC50b2dnbGUtYnV0dG9uLmRyYWdnaW5nIHsKICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NoZWNrZWRdOm5vdChbZGlzYWJsZWRdKSkgLnRvZ2dsZS1iYXIgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci10b2dnbGUtYnV0dG9uLWNoZWNrZWQtYmFyLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvZ2dsZS1idXR0b24tY2hlY2tlZC1iYXI7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC50b2dnbGUtYmFyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOwogICAgICAgIG9wYWNpdHk6IDAuMTI7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjaGVja2VkXSkgLnRvZ2dsZS1idXR0b24gewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTZweCwgMCk7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTZweCwgMCk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjaGVja2VkXTpub3QoW2Rpc2FibGVkXSkpIC50b2dnbGUtYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci10b2dnbGUtYnV0dG9uLWNoZWNrZWQtYnV0dG9uLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yKSk7CgogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvZ2dsZS1idXR0b24tY2hlY2tlZC1idXR0b247CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC50b2dnbGUtYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRiZGJkOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtaW5rIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAtMTRweDsKICAgICAgICBsZWZ0OiAtMTRweDsKICAgICAgICByaWdodDogYXV0bzsKICAgICAgICBib3R0b206IGF1dG87CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtaW5rLWNvbG9yLCB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpKTsKCiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi11bmNoZWNrZWQtaW5rOwogICAgICB9CgogICAgICA6aG9zdChbY2hlY2tlZF0pIC50b2dnbGUtaW5rIHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1jaGVja2VkLWluay1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvcikpOwoKICAgICAgICBAYXBwbHkgLS1wYXBlci10b2dnbGUtYnV0dG9uLWNoZWNrZWQtaW5rOwogICAgICB9CgogICAgICAudG9nZ2xlLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgLyogVGhlIHRvZ2dsZSBidXR0b24gaGFzIGFuIGFic29sdXRlIHBvc2l0aW9uIG9mIC0zcHg7IFRoZSBleHRyYSAxcHgKICAgICAgICAvKiBhY2NvdW50cyBmb3IgdGhlIHRvZ2dsZSBidXR0b24gc2hhZG93IGJveC4gKi8KICAgICAgICBtYXJnaW46IDRweCAxcHg7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtbGFiZWwgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhcGVyLXRvZ2dsZS1idXR0b24tbGFiZWwtc3BhY2luZywgOHB4KTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1sYWJlbC1jb2xvciwgdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSk7CiAgICAgIH0KCiAgICAgIC8qIGludmFsaWQgc3RhdGUgKi8KICAgICAgOmhvc3QoW2ludmFsaWRdKSAudG9nZ2xlLWJhciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1pbnZhbGlkLWJhci1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2ludmFsaWRdKSAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFwZXItdG9nZ2xlLWJ1dHRvbi1pbnZhbGlkLWJ1dHRvbi1jb2xvciwgdmFyKC0tZXJyb3ItY29sb3IpKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2ludmFsaWRdKSAudG9nZ2xlLWluayB7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXRvZ2dsZS1idXR0b24taW52YWxpZC1pbmstY29sb3IsIHZhcigtLWVycm9yLWNvbG9yKSk7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0idG9nZ2xlLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9InRvZ2dsZUJhciIgY2xhc3M9InRvZ2dsZS1iYXIiPjwvZGl2PgogICAgICA8ZGl2IGlkPSJ0b2dnbGVCdXR0b24iIGNsYXNzPSJ0b2dnbGUtYnV0dG9uIj48L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1sYWJlbCI+PHNsb3Q+PC9zbG90PjwvZGl2PgoKICBgO1NzLnNldEF0dHJpYnV0ZSgic3RyaXAtd2hpdGVzcGFjZSIsIiIpLGpyKHtfdGVtcGxhdGU6U3MsaXM6InBhcGVyLXRvZ2dsZS1idXR0b24iLGJlaGF2aW9yczpbd2FdLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJidXR0b24iLCJhcmlhLXByZXNzZWQiOiJmYWxzZSIsdGFiaW5kZXg6MH0scHJvcGVydGllczp7fSxsaXN0ZW5lcnM6e3RyYWNrOiJfb250cmFjayJ9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7RGkodGhpcywoZnVuY3Rpb24oKXtkaSh0aGlzLCJwYW4teSIpfSkpfSxfb250cmFjazpmdW5jdGlvbih0KXt2YXIgZT10LmRldGFpbDsic3RhcnQiPT09ZS5zdGF0ZT90aGlzLl90cmFja1N0YXJ0KGUpOiJ0cmFjayI9PT1lLnN0YXRlP3RoaXMuX3RyYWNrTW92ZShlKToiZW5kIj09PWUuc3RhdGUmJnRoaXMuX3RyYWNrRW5kKGUpfSxfdHJhY2tTdGFydDpmdW5jdGlvbih0KXt0aGlzLl93aWR0aD10aGlzLiQudG9nZ2xlQmFyLm9mZnNldFdpZHRoLzIsdGhpcy5fdHJhY2tDaGVja2VkPXRoaXMuY2hlY2tlZCx0aGlzLiQudG9nZ2xlQnV0dG9uLmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIil9LF90cmFja01vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dC5keDt0aGlzLl94PU1hdGgubWluKHRoaXMuX3dpZHRoLE1hdGgubWF4KDAsdGhpcy5fdHJhY2tDaGVja2VkP3RoaXMuX3dpZHRoK2U6ZSkpLHRoaXMudHJhbnNsYXRlM2QodGhpcy5feCsicHgiLDAsMCx0aGlzLiQudG9nZ2xlQnV0dG9uKSx0aGlzLl91c2VyQWN0aXZhdGUodGhpcy5feD50aGlzLl93aWR0aC8yKX0sX3RyYWNrRW5kOmZ1bmN0aW9uKHQpe3RoaXMuJC50b2dnbGVCdXR0b24uY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciKSx0aGlzLnRyYW5zZm9ybSgiIix0aGlzLiQudG9nZ2xlQnV0dG9uKX0sX2NyZWF0ZVJpcHBsZTpmdW5jdGlvbigpe3RoaXMuX3JpcHBsZUNvbnRhaW5lcj10aGlzLiQudG9nZ2xlQnV0dG9uO3ZhciB0PXVhLl9jcmVhdGVSaXBwbGUoKTtyZXR1cm4gdC5pZD0iaW5rIix0LnNldEF0dHJpYnV0ZSgicmVjZW50ZXJzIiwiIiksdC5jbGFzc0xpc3QuYWRkKCJjaXJjbGUiLCJ0b2dnbGUtaW5rIiksdH19KSwKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE1IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0IENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzCiAgICBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbyBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50CiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICovCmpyKHtfdGVtcGxhdGU6eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICAtLWNhbGN1bGF0ZWQtcGFwZXItdG9vbGJhci1oZWlnaHQ6IHZhcigtLXBhcGVyLXRvb2xiYXItaGVpZ2h0LCA2NHB4KTsKICAgICAgICAtLWNhbGN1bGF0ZWQtcGFwZXItdG9vbGJhci1zbS1oZWlnaHQ6IHZhcigtLXBhcGVyLXRvb2xiYXItc20taGVpZ2h0LCA1NnB4KTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgaGVpZ2h0OiB2YXIoLS1jYWxjdWxhdGVkLXBhcGVyLXRvb2xiYXItaGVpZ2h0KTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlci10b29sYmFyLWJhY2tncm91bmQsIHZhcigtLXByaW1hcnktY29sb3IpKTsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItdG9vbGJhci1jb2xvciwgdmFyKC0tZGFyay10aGVtZS10ZXh0LWNvbG9yKSk7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbGJhcjsKICAgICAgfQoKICAgICAgOmhvc3QoLmFuaW1hdGUpIHsKICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS1wYXBlci10b29sYmFyLXRyYW5zaXRpb24sIGhlaWdodCAwLjE4cyBlYXNlLWluKTsKICAgICAgfQoKICAgICAgOmhvc3QoLm1lZGl1bS10YWxsKSB7CiAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItdG9vbGJhci1oZWlnaHQpICogMik7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbGJhci1tZWRpdW07CiAgICAgIH0KCiAgICAgIDpob3N0KC50YWxsKSB7CiAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItdG9vbGJhci1oZWlnaHQpICogMyk7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbGJhci10YWxsOwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLWhlaWdodCk7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIEBhcHBseSAtLWxheW91dC1ob3Jpem9udGFsOwogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXI7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbGJhci1jb250ZW50OwogICAgICB9CgogICAgICAvKgogICAgICAgKiBUT0RPOiBXaGVyZSBzaG91bGQgbWVkaWEgcXVlcnkgYnJlYWtwb2ludHMgbGl2ZSBzbyB0aGV5IGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBlbGVtZW50cz8KICAgICAgICovCgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsKICAgICAgICA6aG9zdCB7CiAgICAgICAgICBoZWlnaHQ6IHZhcigtLWNhbGN1bGF0ZWQtcGFwZXItdG9vbGJhci1zbS1oZWlnaHQpOwogICAgICAgIH0KCiAgICAgICAgOmhvc3QoLm1lZGl1bS10YWxsKSB7CiAgICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLXNtLWhlaWdodCkgKiAyKTsKICAgICAgICB9CgogICAgICAgIDpob3N0KC50YWxsKSB7CiAgICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLXNtLWhlaWdodCkgKiAzKTsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLXRvb2xzIHsKICAgICAgICAgIGhlaWdodDogdmFyKC0tY2FsY3VsYXRlZC1wYXBlci10b29sYmFyLXNtLWhlaWdodCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAjdG9wQmFyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC8qIG1pZGRsZSBiYXIgKi8KICAgICAgI21pZGRsZUJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICB9CgogICAgICA6aG9zdCgudGFsbCkgI21pZGRsZUJhciwKICAgICAgOmhvc3QoLm1lZGl1bS10YWxsKSAjbWlkZGxlQmFyIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7CiAgICAgIH0KCiAgICAgIC8qIGJvdHRvbSBiYXIgKi8KICAgICAgI2JvdHRvbUJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICB9CgogICAgICAvKgogICAgICAgKiBtYWtlIGVsZW1lbnRzIChlLmcuIGJ1dHRvbnMpIHJlc3BvbmQgdG8gbW91c2UvdG91Y2ggZXZlbnRzCiAgICAgICAqCiAgICAgICAqIFxgLnRvb2xiYXItdG9vbHNcYCBkaXNhYmxlcyB0b3VjaCBldmVudHMgc28gbXVsdGlwbGUgdG9vbGJhcnMgY2FuIHN0YWNrIGFuZCBub3QKICAgICAgICogYWJzb3JiIGV2ZW50cy4gQWxsIGNoaWxkcmVuIG11c3QgaGF2ZSBwb2ludGVyIGV2ZW50cyByZS1lbmFibGVkIHRvIHdvcmsgYXMKICAgICAgICogZXhwZWN0ZWQuCiAgICAgICAqLwogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCgqOm5vdChbZGlzYWJsZWRdKSkgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCgudGl0bGUpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci1mb250LWNvbW1vbi1iYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtZmxleDsKICAgICAgfQoKICAgICAgLnRvb2xiYXItdG9vbHMgPiA6OnNsb3R0ZWQoLnRpdGxlKSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDU2cHg7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXRvb2xzID4gOjpzbG90dGVkKHBhcGVyLWljb24tYnV0dG9uICsgLnRpdGxlKSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICAgIH0KCiAgICAgIC8qKgogICAgICAgKiBUaGUgLS1wYXBlci10b29sYmFyLXRpdGxlIG1peGluIGlzIGFwcGxpZWQgaGVyZSBpbnN0ZWFkIG9mIGFib3ZlIHRvCiAgICAgICAqIGZpeCB0aGUgaXNzdWUgd2l0aCBtYXJnaW4tbGVmdCBiZWluZyBpZ25vcmVkIGR1ZSB0byBjc3Mgb3JkZXJpbmcuCiAgICAgICAqLwogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCgudGl0bGUpIHsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sYmFyLXRpdGxlOwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZChwYXBlci1pY29uLWJ1dHRvbltpY29uPW1lbnVdKSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4OwogICAgICB9CgogICAgICAudG9vbGJhci10b29scyA+IDo6c2xvdHRlZCguZml0KSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogYXV0bzsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC8qIFRPRE8obm9tcyk6IFVudGlsIHdlIGhhdmUgYSBiZXR0ZXIgc29sdXRpb24gZm9yIGNsYXNzZXMgdGhhdCBkb24ndCB1c2UKICAgICAgICogL2RlZXAvIGNyZWF0ZSBvdXIgb3duLgogICAgICAgKi8KICAgICAgLnN0YXJ0LWp1c3RpZmllZCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXN0YXJ0LWp1c3RpZmllZDsKICAgICAgfQoKICAgICAgLmNlbnRlci1qdXN0aWZpZWQgewogICAgICAgIEBhcHBseSAtLWxheW91dC1jZW50ZXItanVzdGlmaWVkOwogICAgICB9CgogICAgICAuZW5kLWp1c3RpZmllZCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWVuZC1qdXN0aWZpZWQ7CiAgICAgIH0KCiAgICAgIC5hcm91bmQtanVzdGlmaWVkIHsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtYXJvdW5kLWp1c3RpZmllZDsKICAgICAgfQoKICAgICAgLmp1c3RpZmllZCB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWp1c3RpZmllZDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJ0b3BCYXIiIGNsYXNzXCQ9InRvb2xiYXItdG9vbHMgW1tfY29tcHV0ZUJhckV4dHJhQ2xhc3NlcyhqdXN0aWZ5KV1dIj4KICAgICAgPHNsb3QgbmFtZT0idG9wIj48L3Nsb3Q+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGlkPSJtaWRkbGVCYXIiIGNsYXNzXCQ9InRvb2xiYXItdG9vbHMgW1tfY29tcHV0ZUJhckV4dHJhQ2xhc3NlcyhtaWRkbGVKdXN0aWZ5KV1dIj4KICAgICAgPHNsb3QgbmFtZT0ibWlkZGxlIj48L3Nsb3Q+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGlkPSJib3R0b21CYXIiIGNsYXNzXCQ9InRvb2xiYXItdG9vbHMgW1tfY29tcHV0ZUJhckV4dHJhQ2xhc3Nlcyhib3R0b21KdXN0aWZ5KV1dIj4KICAgICAgPHNsb3QgbmFtZT0iYm90dG9tIj48L3Nsb3Q+CiAgICA8L2Rpdj4KYCxpczoicGFwZXItdG9vbGJhciIsaG9zdEF0dHJpYnV0ZXM6e3JvbGU6InRvb2xiYXIifSxwcm9wZXJ0aWVzOntib3R0b21KdXN0aWZ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sanVzdGlmeTp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LG1pZGRsZUp1c3RpZnk6e3R5cGU6U3RyaW5nLHZhbHVlOiIifX0scmVhZHk6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4odGhpcy5pcywiaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBhcHAtbGF5b3V0IGluc3RlYWQhIil9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2ZXI9dGhpcy5fb2JzZXJ2ZSh0aGlzKSx0aGlzLl91cGRhdGVBcmlhTGFiZWxsZWRCeSgpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX29ic2VydmVyJiZ0aGlzLl9vYnNlcnZlci5kaXNjb25uZWN0KCl9LF9vYnNlcnZlOmZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlQXJpYUxhYmVsbGVkQnkoKX0uYmluZCh0aGlzKSk7cmV0dXJuIGUub2JzZXJ2ZSh0LHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pLGV9LF91cGRhdGVBcmlhTGFiZWxsZWRCeTpmdW5jdGlvbigpe1dpKCk7Zm9yKHZhciB0LGU9W10sbj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlcih0aGlzLnJvb3QpLnF1ZXJ5U2VsZWN0b3JBbGwoInNsb3QiKSkuY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGVyKHRoaXMucm9vdCkucXVlcnlTZWxlY3RvckFsbCgiY29udGVudCIpKSksaT0wO3Q9bltpXTtpKyspZm9yKHZhciByLG89ZXIodCkuZ2V0RGlzdHJpYnV0ZWROb2RlcygpLGE9MDtyPW9bYV07YSsrKWlmKHIuY2xhc3NMaXN0JiZyLmNsYXNzTGlzdC5jb250YWlucygidGl0bGUiKSlpZihyLmlkKWUucHVzaChyLmlkKTtlbHNle3ZhciBzPSJwYXBlci10b29sYmFyLWxhYmVsLSIrTWF0aC5mbG9vcigxZTQqTWF0aC5yYW5kb20oKSk7ci5pZD1zLGUucHVzaChzKX1lLmxlbmd0aD4wJiZ0aGlzLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbGxlZGJ5IixlLmpvaW4oIiAiKSl9LF9jb21wdXRlQmFyRXh0cmFDbGFzc2VzOmZ1bmN0aW9uKHQpe3JldHVybiB0P3QrKCJqdXN0aWZpZWQiPT09dD8iIjoiLWp1c3RpZmllZCIpOiIifX0pLAovKioKICAgIEBsaWNlbnNlCiAgICBDb3B5cmlnaHQgKGMpIDIwMTUgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0IFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZQogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQgQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMKICAgIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQKICAgIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KanIoe190ZW1wbGF0ZTp4ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHotaW5kZXg6IDEwMDI7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgICN0b29sdGlwIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIEBhcHBseSAtLXBhcGVyLWZvbnQtY29tbW9uLWJhc2U7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXRvb2x0aXAtYmFja2dyb3VuZCwgIzYxNjE2MSk7CiAgICAgICAgY29sb3I6IHZhcigtLXBhcGVyLXRvb2x0aXAtdGV4dC1jb2xvciwgd2hpdGUpOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbHRpcDsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBrZXlGcmFtZVNjYWxlVXAgewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4wKTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGtleUZyYW1lU2NhbGVEb3duIHsKICAgICAgICAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjApOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBrZXlGcmFtZUZhZGVJbk9wYWNpdHkgewogICAgICAgIDAlIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgb3BhY2l0eTogdmFyKC0tcGFwZXItdG9vbHRpcC1vcGFjaXR5LCAwLjkpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBrZXlGcmFtZUZhZGVPdXRPcGFjaXR5IHsKICAgICAgICAwJSB7CiAgICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMga2V5RnJhbWVTbGlkZURvd25JbiB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgICAgMTAlIHsKICAgICAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGtleUZyYW1lU2xpZGVEb3duT3V0IHsKICAgICAgICAwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgfQogICAgICAgIDEwJSB7CiAgICAgICAgICBvcGFjaXR5OiAwLjI7CiAgICAgICAgfQogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOwogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5mYWRlLWluLWFuaW1hdGlvbiB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBhbmltYXRpb24tZGVsYXk6IHZhcigtLXBhcGVyLXRvb2x0aXAtZGVsYXktaW4sIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tbmFtZToga2V5RnJhbWVGYWRlSW5PcGFjaXR5OwogICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7CiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXRvb2x0aXAtZHVyYXRpb24taW4sIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sdGlwLWFuaW1hdGlvbjsKICAgICAgfQoKICAgICAgLmZhZGUtb3V0LWFuaW1hdGlvbiB7CiAgICAgICAgb3BhY2l0eTogdmFyKC0tcGFwZXItdG9vbHRpcC1vcGFjaXR5LCAwLjkpOwogICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tcGFwZXItdG9vbHRpcC1kZWxheS1vdXQsIDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGtleUZyYW1lRmFkZU91dE9wYWNpdHk7CiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOwogICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tcGFwZXItdG9vbHRpcC1kdXJhdGlvbi1vdXQsIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKICAgICAgICBAYXBwbHkgLS1wYXBlci10b29sdGlwLWFuaW1hdGlvbjsKICAgICAgfQoKICAgICAgLnNjYWxlLXVwLWFuaW1hdGlvbiB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci10b29sdGlwLWRlbGF5LWluLCA1MDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGtleUZyYW1lU2NhbGVVcDsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci10b29sdGlwLWR1cmF0aW9uLWluLCA1MDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbHRpcC1hbmltYXRpb247CiAgICAgIH0KCiAgICAgIC5zY2FsZS1kb3duLWFuaW1hdGlvbiB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci10b29sdGlwLWRlbGF5LW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1uYW1lOiBrZXlGcmFtZVNjYWxlRG93bjsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47CiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci10b29sdGlwLWR1cmF0aW9uLW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvb2x0aXAtYW5pbWF0aW9uOwogICAgICB9CgogICAgICAuc2xpZGUtZG93bi1hbmltYXRpb24gewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tcGFwZXItdG9vbHRpcC1kZWxheS1vdXQsIDUwMG1zKTsKICAgICAgICBhbmltYXRpb24tbmFtZToga2V5RnJhbWVTbGlkZURvd25JbjsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjAsIDAuMCwgMC4yLCAxKTsKICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLXBhcGVyLXRvb2x0aXAtZHVyYXRpb24tb3V0LCA1MDBtcyk7CiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7CiAgICAgICAgQGFwcGx5IC0tcGFwZXItdG9vbHRpcC1hbmltYXRpb247CiAgICAgIH0KCiAgICAgIC5zbGlkZS1kb3duLWFuaW1hdGlvbi1vdXQgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICBvcGFjaXR5OiB2YXIoLS1wYXBlci10b29sdGlwLW9wYWNpdHksIDAuOSk7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1wYXBlci10b29sdGlwLWRlbGF5LW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1uYW1lOiBrZXlGcmFtZVNsaWRlRG93bk91dDsKICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOwogICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAuMCwgMSwgMSk7CiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1wYXBlci10b29sdGlwLWR1cmF0aW9uLW91dCwgNTAwbXMpOwogICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwogICAgICAgIEBhcHBseSAtLXBhcGVyLXRvb2x0aXAtYW5pbWF0aW9uOwogICAgICB9CgogICAgICAuY2FuY2VsLWFuaW1hdGlvbiB7CiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMzBzICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC8qIFRoYW5rcyBJRSAxMC4gKi8KCiAgICAgIC5oaWRkZW4gewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGlkPSJ0b29sdGlwIiBjbGFzcz0iaGlkZGVuIj4KICAgICAgPHNsb3Q+PC9zbG90PgogICAgPC9kaXY+CmAsaXM6InBhcGVyLXRvb2x0aXAiLGhvc3RBdHRyaWJ1dGVzOntyb2xlOiJ0b29sdGlwIix0YWJpbmRleDotMX0scHJvcGVydGllczp7Zm9yOnt0eXBlOlN0cmluZyxvYnNlcnZlcjoiX2ZpbmRUYXJnZXQifSxtYW51YWxNb2RlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsb2JzZXJ2ZXI6Il9tYW51YWxNb2RlQ2hhbmdlZCJ9LHBvc2l0aW9uOnt0eXBlOlN0cmluZyx2YWx1ZToiYm90dG9tIn0sZml0VG9WaXNpYmxlQm91bmRzOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LG9mZnNldDp7dHlwZTpOdW1iZXIsdmFsdWU6MTR9LG1hcmdpblRvcDp7dHlwZTpOdW1iZXIsdmFsdWU6MTR9LGFuaW1hdGlvbkRlbGF5Ont0eXBlOk51bWJlcix2YWx1ZTo1MDAsb2JzZXJ2ZXI6Il9kZWxheUNoYW5nZSJ9LGFuaW1hdGlvbkVudHJ5Ont0eXBlOlN0cmluZyx2YWx1ZToiIn0sYW5pbWF0aW9uRXhpdDp7dHlwZTpTdHJpbmcsdmFsdWU6IiJ9LGFuaW1hdGlvbkNvbmZpZzp7dHlwZTpPYmplY3QsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57ZW50cnk6W3tuYW1lOiJmYWRlLWluLWFuaW1hdGlvbiIsbm9kZTp0aGlzLHRpbWluZzp7ZGVsYXk6MH19XSxleGl0Olt7bmFtZToiZmFkZS1vdXQtYW5pbWF0aW9uIixub2RlOnRoaXN9XX19fSxfc2hvd2luZzp7dHlwZTpCb29sZWFuLHZhbHVlOiExfX0sbGlzdGVuZXJzOnt3ZWJraXRBbmltYXRpb25FbmQ6Il9vbkFuaW1hdGlvbkVuZCJ9LGdldCB0YXJnZXQoKXt2YXIgdD1lcih0aGlzKS5wYXJlbnROb2RlLGU9ZXIodGhpcykuZ2V0T3duZXJSb290KCk7cmV0dXJuIHRoaXMuZm9yP2VyKGUpLnF1ZXJ5U2VsZWN0b3IoIiMiK3RoaXMuZm9yKTp0Lm5vZGVUeXBlPT1Ob2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREU/ZS5ob3N0OnR9LGF0dGFjaGVkOmZ1bmN0aW9uKCl7dGhpcy5fZmluZFRhcmdldCgpfSxkZXRhY2hlZDpmdW5jdGlvbigpe3RoaXMubWFudWFsTW9kZXx8dGhpcy5fcmVtb3ZlTGlzdGVuZXJzKCl9LHBsYXlBbmltYXRpb246ZnVuY3Rpb24odCl7ImVudHJ5Ij09PXQ/dGhpcy5zaG93KCk6ImV4aXQiPT09dCYmdGhpcy5oaWRlKCl9LGNhbmNlbEFuaW1hdGlvbjpmdW5jdGlvbigpe3RoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5hZGQoImNhbmNlbC1hbmltYXRpb24iKX0sc2hvdzpmdW5jdGlvbigpe2lmKCF0aGlzLl9zaG93aW5nKXtpZigiIj09PWVyKHRoaXMpLnRleHRDb250ZW50LnRyaW0oKSl7Zm9yKHZhciB0PSEwLGU9ZXIodGhpcykuZ2V0RWZmZWN0aXZlQ2hpbGROb2RlcygpLG49MDtuPGUubGVuZ3RoO24rKylpZigiIiE9PWVbbl0udGV4dENvbnRlbnQudHJpbSgpKXt0PSExO2JyZWFrfWlmKHQpcmV0dXJufXRoaXMuX3Nob3dpbmc9ITAsdGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIiksdGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSgiY2FuY2VsLWFuaW1hdGlvbiIpLHRoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fZ2V0QW5pbWF0aW9uVHlwZSgiZXhpdCIpKSx0aGlzLnVwZGF0ZVBvc2l0aW9uKCksdGhpcy5fYW5pbWF0aW9uUGxheWluZz0hMCx0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QuYWRkKHRoaXMuX2dldEFuaW1hdGlvblR5cGUoImVudHJ5IikpfX0saGlkZTpmdW5jdGlvbigpe2lmKHRoaXMuX3Nob3dpbmcpe2lmKHRoaXMuX2FuaW1hdGlvblBsYXlpbmcpcmV0dXJuIHRoaXMuX3Nob3dpbmc9ITEsdm9pZCB0aGlzLl9jYW5jZWxBbmltYXRpb24oKTt0aGlzLl9vbkFuaW1hdGlvbkZpbmlzaCgpLHRoaXMuX3Nob3dpbmc9ITEsdGhpcy5fYW5pbWF0aW9uUGxheWluZz0hMH19LHVwZGF0ZVBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpcy5fdGFyZ2V0JiZ0aGlzLm9mZnNldFBhcmVudCl7dmFyIHQ9dGhpcy5vZmZzZXQ7MTQhPXRoaXMubWFyZ2luVG9wJiYxND09dGhpcy5vZmZzZXQmJih0PXRoaXMubWFyZ2luVG9wKTt2YXIgZSxuLGk9dGhpcy5vZmZzZXRQYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscj10aGlzLl90YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9KHIud2lkdGgtby53aWR0aCkvMixzPShyLmhlaWdodC1vLmhlaWdodCkvMixsPXIubGVmdC1pLmxlZnQsYz1yLnRvcC1pLnRvcDtzd2l0Y2godGhpcy5wb3NpdGlvbil7Y2FzZSJ0b3AiOmU9bCthLG49Yy1vLmhlaWdodC10O2JyZWFrO2Nhc2UiYm90dG9tIjplPWwrYSxuPWMrci5oZWlnaHQrdDticmVhaztjYXNlImxlZnQiOmU9bC1vLndpZHRoLXQsbj1jK3M7YnJlYWs7Y2FzZSJyaWdodCI6ZT1sK3Iud2lkdGgrdCxuPWMrc310aGlzLmZpdFRvVmlzaWJsZUJvdW5kcz8oaS5sZWZ0K2Urby53aWR0aD53aW5kb3cuaW5uZXJXaWR0aD8odGhpcy5zdHlsZS5yaWdodD0iMHB4Iix0aGlzLnN0eWxlLmxlZnQ9ImF1dG8iKToodGhpcy5zdHlsZS5sZWZ0PU1hdGgubWF4KDAsZSkrInB4Iix0aGlzLnN0eWxlLnJpZ2h0PSJhdXRvIiksaS50b3ArbitvLmhlaWdodD53aW5kb3cuaW5uZXJIZWlnaHQ/KHRoaXMuc3R5bGUuYm90dG9tPWkuaGVpZ2h0LWMrdCsicHgiLHRoaXMuc3R5bGUudG9wPSJhdXRvIik6KHRoaXMuc3R5bGUudG9wPU1hdGgubWF4KC1pLnRvcCxuKSsicHgiLHRoaXMuc3R5bGUuYm90dG9tPSJhdXRvIikpOih0aGlzLnN0eWxlLmxlZnQ9ZSsicHgiLHRoaXMuc3R5bGUudG9wPW4rInB4Iil9fSxfYWRkTGlzdGVuZXJzOmZ1bmN0aW9uKCl7dGhpcy5fdGFyZ2V0JiYodGhpcy5saXN0ZW4odGhpcy5fdGFyZ2V0LCJtb3VzZWVudGVyIiwic2hvdyIpLHRoaXMubGlzdGVuKHRoaXMuX3RhcmdldCwiZm9jdXMiLCJzaG93IiksdGhpcy5saXN0ZW4odGhpcy5fdGFyZ2V0LCJtb3VzZWxlYXZlIiwiaGlkZSIpLHRoaXMubGlzdGVuKHRoaXMuX3RhcmdldCwiYmx1ciIsImhpZGUiKSx0aGlzLmxpc3Rlbih0aGlzLl90YXJnZXQsInRhcCIsImhpZGUiKSksdGhpcy5saXN0ZW4odGhpcy4kLnRvb2x0aXAsImFuaW1hdGlvbmVuZCIsIl9vbkFuaW1hdGlvbkVuZCIpLHRoaXMubGlzdGVuKHRoaXMsIm1vdXNlZW50ZXIiLCJoaWRlIil9LF9maW5kVGFyZ2V0OmZ1bmN0aW9uKCl7dGhpcy5tYW51YWxNb2RlfHx0aGlzLl9yZW1vdmVMaXN0ZW5lcnMoKSx0aGlzLl90YXJnZXQ9dGhpcy50YXJnZXQsdGhpcy5tYW51YWxNb2RlfHx0aGlzLl9hZGRMaXN0ZW5lcnMoKX0sX2RlbGF5Q2hhbmdlOmZ1bmN0aW9uKHQpezUwMCE9PXQmJnRoaXMudXBkYXRlU3R5bGVzKHsiLS1wYXBlci10b29sdGlwLWRlbGF5LWluIjp0KyJtcyJ9KX0sX21hbnVhbE1vZGVDaGFuZ2VkOmZ1bmN0aW9uKCl7dGhpcy5tYW51YWxNb2RlP3RoaXMuX3JlbW92ZUxpc3RlbmVycygpOnRoaXMuX2FkZExpc3RlbmVycygpfSxfY2FuY2VsQW5pbWF0aW9uOmZ1bmN0aW9uKCl7dGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9nZXRBbmltYXRpb25UeXBlKCJlbnRyeSIpKSx0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX2dldEFuaW1hdGlvblR5cGUoImV4aXQiKSksdGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSgiY2FuY2VsLWFuaW1hdGlvbiIpLHRoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpfSxfb25BbmltYXRpb25GaW5pc2g6ZnVuY3Rpb24oKXt0aGlzLl9zaG93aW5nJiYodGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9nZXRBbmltYXRpb25UeXBlKCJlbnRyeSIpKSx0aGlzLiQudG9vbHRpcC5jbGFzc0xpc3QucmVtb3ZlKCJjYW5jZWwtYW5pbWF0aW9uIiksdGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LmFkZCh0aGlzLl9nZXRBbmltYXRpb25UeXBlKCJleGl0IikpKX0sX29uQW5pbWF0aW9uRW5kOmZ1bmN0aW9uKCl7dGhpcy5fYW5pbWF0aW9uUGxheWluZz0hMSx0aGlzLl9zaG93aW5nfHwodGhpcy4kLnRvb2x0aXAuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9nZXRBbmltYXRpb25UeXBlKCJleGl0IikpLHRoaXMuJC50b29sdGlwLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpKX0sX2dldEFuaW1hdGlvblR5cGU6ZnVuY3Rpb24odCl7aWYoImVudHJ5Ij09PXQmJiIiIT09dGhpcy5hbmltYXRpb25FbnRyeSlyZXR1cm4gdGhpcy5hbmltYXRpb25FbnRyeTtpZigiZXhpdCI9PT10JiYiIiE9PXRoaXMuYW5pbWF0aW9uRXhpdClyZXR1cm4gdGhpcy5hbmltYXRpb25FeGl0O2lmKHRoaXMuYW5pbWF0aW9uQ29uZmlnW3RdJiYic3RyaW5nIj09dHlwZW9mIHRoaXMuYW5pbWF0aW9uQ29uZmlnW3RdWzBdLm5hbWUpe2lmKHRoaXMuYW5pbWF0aW9uQ29uZmlnW3RdWzBdLnRpbWluZyYmdGhpcy5hbmltYXRpb25Db25maWdbdF1bMF0udGltaW5nLmRlbGF5JiYwIT09dGhpcy5hbmltYXRpb25Db25maWdbdF1bMF0udGltaW5nLmRlbGF5KXt2YXIgZT10aGlzLmFuaW1hdGlvbkNvbmZpZ1t0XVswXS50aW1pbmcuZGVsYXk7ImVudHJ5Ij09PXQ/dGhpcy51cGRhdGVTdHlsZXMoeyItLXBhcGVyLXRvb2x0aXAtZGVsYXktaW4iOmUrIm1zIn0pOiJleGl0Ij09PXQmJnRoaXMudXBkYXRlU3R5bGVzKHsiLS1wYXBlci10b29sdGlwLWRlbGF5LW91dCI6ZSsibXMifSl9cmV0dXJuIHRoaXMuYW5pbWF0aW9uQ29uZmlnW3RdWzBdLm5hbWV9fSxfcmVtb3ZlTGlzdGVuZXJzOmZ1bmN0aW9uKCl7dGhpcy5fdGFyZ2V0JiYodGhpcy51bmxpc3Rlbih0aGlzLl90YXJnZXQsIm1vdXNlZW50ZXIiLCJzaG93IiksdGhpcy51bmxpc3Rlbih0aGlzLl90YXJnZXQsImZvY3VzIiwic2hvdyIpLHRoaXMudW5saXN0ZW4odGhpcy5fdGFyZ2V0LCJtb3VzZWxlYXZlIiwiaGlkZSIpLHRoaXMudW5saXN0ZW4odGhpcy5fdGFyZ2V0LCJibHVyIiwiaGlkZSIpLHRoaXMudW5saXN0ZW4odGhpcy5fdGFyZ2V0LCJ0YXAiLCJoaWRlIikpLHRoaXMudW5saXN0ZW4odGhpcy4kLnRvb2x0aXAsImFuaW1hdGlvbmVuZCIsIl9vbkFuaW1hdGlvbkVuZCIpLHRoaXMudW5saXN0ZW4odGhpcywibW91c2VlbnRlciIsImhpZGUiKX19KTtjbGFzcyBNc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLmxpc3RlbmVyPXR9fWNvbnN0IEVzPW5ldyBTZXQsVHM9bmV3IFNldDtmdW5jdGlvbiBDcyh0KXtjb25zdCBlPW5ldyBNcyh0KTtyZXR1cm4gRXMuYWRkKGUpLGV9ZnVuY3Rpb24gQXModCl7Y29uc3QgZT1uZXcgTXModCk7cmV0dXJuIFRzLmFkZChlKSxlfWZ1bmN0aW9uIGtzKCl7VHMuZm9yRWFjaCgodD0+dC5saXN0ZW5lcigpKSl9ZnVuY3Rpb24gTHModCl7RXMuZGVsZXRlKHQpfWZ1bmN0aW9uIFBzKHQpe1RzLmRlbGV0ZSh0KX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsKCgpPT57RXMuZm9yRWFjaCgodD0+dC5saXN0ZW5lcigpKSl9KSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0b3JhZ2UiLCgoKT0+e1RzLmZvckVhY2goKHQ9PnQubGlzdGVuZXIoKSkpfSkpO2xldCBOcz0hMTtmdW5jdGlvbiBJcygpe3JldHVybiBOc31sZXQgUnM9IiI7ZnVuY3Rpb24gT3ModCl7UnM9dH1mdW5jdGlvbiB6cygpe3JldHVybiBSc312YXIgRHM9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsc2V0VXNlSGFzaDpmdW5jdGlvbiBCcyh0KXtOcz10fSx1c2VIYXNoOklzLHNldEZha2VIYXNoOk9zLGdldEZha2VIYXNoOnpzfSk7Y29uc3QgSHM9Il9fdGFiX18iO2xldCBGcz17fTtmdW5jdGlvbiBWcygpe3JldHVybiBJcygpP3dpbmRvdy5sb2NhdGlvbi5oYXNoLnNsaWNlKDEpOnpzKCl9ZnVuY3Rpb24gVXModCl7Y29uc3QgZT17fTtyZXR1cm4gdC5zcGxpdCgiJiIpLmZvckVhY2goKHQ9Pntjb25zdCBuPXQuc3BsaXQoIj0iKTsxPT09bi5sZW5ndGg/ZS5fX3RhYl9fPW5bMF06Mj09PW4ubGVuZ3RoJiYoZVtkZWNvZGVVUklDb21wb25lbnQoblswXSldPWRlY29kZVVSSUNvbXBvbmVudChuWzFdKSl9KSksZX1mdW5jdGlvbiBqcyh0LGU9ITEpe2lmKElzKCkpaWYoZSl7Y29uc3QgZT1uZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtlLmhhc2g9dCx3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUod2luZG93Lmhpc3Rvcnkuc3RhdGUsIiIsZS50b1N0cmluZygpKX1lbHNlIHdpbmRvdy5sb2NhdGlvbi5oYXNoPXQ7ZWxzZSBPcyh0KX1mdW5jdGlvbiBHcyh0KXtsZXQgZT0iIjt2b2lkIDAhPT10Ll9fdGFiX18mJihlKz10Ll9fdGFiX18pO2NvbnN0IG49T2JqZWN0LmtleXModCkubWFwKChlPT5bZSx0W2VdXSkpLmZpbHRlcigodD0+dFswXSE9PUhzKSkubWFwKCh0PT5lbmNvZGVVUklDb21wb25lbnQodFswXSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudCh0WzFdKSkpLmpvaW4oIiYiKTtyZXR1cm4gbi5sZW5ndGg+MD9lKyImIituOmV9Q3MoKCgpPT57RnM9VXMoVnMoKSl9KSk7Y29uc3QgV3M9ImRpc2FtYmlndWF0b3IiLHtnZXQ6cXMsc2V0OllzLGdldEluaXRpYWxpemVyOlhzLGdldE9ic2VydmVyOiRzLGRpc3Bvc2VCaW5kaW5nOktzfT1kbCgodD0+dCksKHQ9PnQpKSx7Z2V0OlpzLHNldDpKcyxnZXRJbml0aWFsaXplcjpRcyxnZXRPYnNlcnZlcjp0bCxkaXNwb3NlQmluZGluZzplbH09ZGwoKHQ9PiJ0cnVlIj09PXR8fCJmYWxzZSIhPT10JiZ2b2lkIDApLCh0PT50LnRvU3RyaW5nKCkpKSx7Z2V0Om5sLHNldDppbCxnZXRJbml0aWFsaXplcjpybCxnZXRPYnNlcnZlcjpvbCxkaXNwb3NlQmluZGluZzphbH09ZGwoKHQ9Pit0KSwodD0+dC50b1N0cmluZygpKSkse2dldDpzbCxzZXQ6bGwsZ2V0SW5pdGlhbGl6ZXI6Y2wsZ2V0T2JzZXJ2ZXI6dWwsZGlzcG9zZUJpbmRpbmc6aGx9PWRsKCh0PT5KU09OLnBhcnNlKGF0b2IodCkpKSwodD0+YnRvYShKU09OLnN0cmluZ2lmeSh0KSkpKTtmdW5jdGlvbiBkbCh0LGUpe2NvbnN0IG49W10saT1bXTtmdW5jdGlvbiByKGUsbj17fSl7Y29uc3R7ZGVmYXVsdFZhbHVlOmksdXNlTG9jYWxTdG9yYWdlOnI9ITF9PW4sbz1yP3dpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlKTpVcyhWcygpKVtlXTtyZXR1cm4gbnVsbD09bz9DZS5leHBvcnRzLmNsb25lRGVlcChpKTp0KG8pfWZ1bmN0aW9uIG8odCxuLGk9e30pe2NvbnN0e2RlZmF1bHRWYWx1ZTpvLHVzZUxvY2FsU3RvcmFnZTphPSExLHVzZUxvY2F0aW9uUmVwbGFjZTpzPSExfT1pLGw9ZShuKTtpZihhKXdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0LGwpLGtzKCk7ZWxzZSBpZighQ2UuZXhwb3J0cy5pc0VxdWFsKG4scih0LHt1c2VMb2NhbFN0b3JhZ2U6YX0pKSlpZihDZS5leHBvcnRzLmlzRXF1YWwobixvKSkhKGZ1bmN0aW9uIGModCl7Y29uc3QgZT1VcyhWcygpKTtkZWxldGUgZVt0XSxqcyhHcyhlKSl9KSh0KTtlbHNle2NvbnN0IGU9VXMoVnMoKSk7ZVt0XT1sLGpzKEdzKGUpLHMpfX1yZXR1cm57Z2V0OnIsc2V0Om8sZ2V0SW5pdGlhbGl6ZXI6ZnVuY3Rpb24gYSh0LGUpe2NvbnN0IG89T2JqZWN0LmFzc2lnbih7ZGVmYXVsdFZhbHVlOmUuZGVmYXVsdFZhbHVlLHBvbHltZXJQcm9wZXJ0eTp0LHVzZUxvY2FsU3RvcmFnZTohMX0sZSk7cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgZT1wbCh0aGlzLHQpLGE9KCk9Pntjb25zdCB0PXIoZSxvKTtDZS5leHBvcnRzLmlzRXF1YWwodCx0aGlzW28ucG9seW1lclByb3BlcnR5XSl8fCh0aGlzW28ucG9seW1lclByb3BlcnR5XT10KX0scz0oby51c2VMb2NhbFN0b3JhZ2U/QXM6Q3MpKCgoKT0+YSgpKSk7cmV0dXJuIG8udXNlTG9jYWxTdG9yYWdlP2kucHVzaChzKTpuLnB1c2gocyksYSgpLHRoaXNbby5wb2x5bWVyUHJvcGVydHldfX0sZ2V0T2JzZXJ2ZXI6ZnVuY3Rpb24gcyh0LGUpe2NvbnN0IG49T2JqZWN0LmFzc2lnbih7ZGVmYXVsdFZhbHVlOmUuZGVmYXVsdFZhbHVlLHBvbHltZXJQcm9wZXJ0eTp0LHVzZUxvY2FsU3RvcmFnZTohMX0sZSk7cmV0dXJuIGZ1bmN0aW9uKCl7byhwbCh0aGlzLHQpLHRoaXNbbi5wb2x5bWVyUHJvcGVydHldLG4pfX0sZGlzcG9zZUJpbmRpbmc6ZnVuY3Rpb24gbCgpe24uZm9yRWFjaCgodD0+THModCkpKSxpLmZvckVhY2goKHQ9PlBzKHQpKSl9fX1mdW5jdGlvbiBwbCh0LGUpe2NvbnN0IG49dC5kaXNhbWJpZ3VhdG9yO3JldHVybihudWxsPT1uP1tlXTpbbixlXSkuam9pbigiLiIpfWxldCBmbD1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl90YWdGaWx0ZXI9WHMoInRhZ0ZpbHRlciIse2RlZmF1bHRWYWx1ZToiIix1c2VMb2NhbFN0b3JhZ2U6ITEscG9seW1lclByb3BlcnR5OiJfdGFnRmlsdGVyIn0pLmNhbGwodGhpcyksdGhpcy5fdGFnRmlsdGVyT2JzZXJ2ZXI9JHMoInRhZ0ZpbHRlciIse2RlZmF1bHRWYWx1ZToiIix1c2VMb2NhbFN0b3JhZ2U6ITEscG9seW1lclByb3BlcnR5OiJfdGFnRmlsdGVyIn0pfV9jb21wdXRlVGFnRmlsdGVyKCl7cmV0dXJuIHRoaXMuX3RhZ0ZpbHRlcn19O2Z1bmN0aW9uIG1sKHQpe2NvbnN0e21vZHVsZU5hbWU6ZSxzdHlsZUNvbnRlbnQ6bn09dCxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRvbS1tb2R1bGUiKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIiksbz1bXTt0LnN0eWxlRGVwZW5kZW5jaWVzJiZ0LnN0eWxlRGVwZW5kZW5jaWVzLmZvckVhY2goKHQ9Pntjb25zdCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7ZS5zZXRBdHRyaWJ1dGUoImluY2x1ZGUiLHQpLG8ucHVzaChlKX0pKTtjb25zdCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7T2JqZWN0LmFzc2lnbihhLHt0ZXh0Q29udGVudDpufSksby5mb3JFYWNoKCh0PT57ci5jb250ZW50LmFwcGVuZENoaWxkKHQpfSkpLHIuY29udGVudC5hcHBlbmRDaGlsZChhKSxpLmFwcGVuZENoaWxkKHIpLGkucmVnaXN0ZXIoZSl9ZnVuY3Rpb24gZ2wodCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgdHtjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5fbWF5YmVTZXREYXJrTW9kZSgpLHRoaXMub2JzZXJ2ZXI9bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKHQ9Pnt0LnNvbWUoKHQ9PiJjbGFzcyI9PT10LmF0dHJpYnV0ZU5hbWUpKSYmdGhpcy5fbWF5YmVTZXREYXJrTW9kZSgpfSkpLHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5ib2R5LHthdHRyaWJ1dGVzOiEwfSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt2YXIgdDtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLG51bGw9PT0odD10aGlzLm9ic2VydmVyKXx8dm9pZCAwPT09dHx8dC5kaXNjb25uZWN0KCl9X21heWJlU2V0RGFya01vZGUoKXt0aGlzLmNsYXNzTGlzdC50b2dnbGUoImRhcmstbW9kZSIsZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoImRhcmstbW9kZSIpKX19fWZsLnRlbXBsYXRlPXhlYAogICAgPHBhcGVyLWlucHV0CiAgICAgIG5vLWxhYmVsLWZsb2F0PSIiCiAgICAgIGxhYmVsPSJGaWx0ZXIgdGFncyAocmVndWxhciBleHByZXNzaW9ucyBzdXBwb3J0ZWQpIgogICAgICB2YWx1ZT0ie3tfdGFnRmlsdGVyfX0iCiAgICAgIGNsYXNzPSJzZWFyY2gtaW5wdXQiCiAgICA+CiAgICAgIDxpcm9uLWljb24gcHJlZml4PSIiIGljb249InNlYXJjaCIgc2xvdD0icHJlZml4Ij48L2lyb24taWNvbj4KICAgIDwvcGFwZXItaW5wdXQ+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW46IDEwcHggNXB4IDEwcHggMTBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMCxjb21wdXRlZDoiX2NvbXB1dGVUYWdGaWx0ZXIoX3RhZ0ZpbHRlcikifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGZsLnByb3RvdHlwZSwidGFnRmlsdGVyIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG9ic2VydmVyOiJfdGFnRmlsdGVyT2JzZXJ2ZXIifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGZsLnByb3RvdHlwZSwiX3RhZ0ZpbHRlciIsdm9pZCAwKSxmbD10KFtpKCJ0Zi10YWctZmlsdGVyZXIiKV0sZmwpLG1sKHttb2R1bGVOYW1lOiJkYXNoYm9hcmQtc3R5bGUiLHN0eWxlRGVwZW5kZW5jaWVzOlsiaXJvbi1mbGV4Il0sc3R5bGVDb250ZW50OiJcbiAgICAgIDpob3N0IHtcbiAgICAgICAgLS1zaWRlYmFyLXZlcnRpY2FsLXBhZGRpbmc6IDE1cHg7XG4gICAgICAgIC0tc2lkZWJhci1sZWZ0LXBhZGRpbmc6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIFtzbG90PSdzaWRlYmFyJ10ge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB9XG5cbiAgICAgIC5zZXR0aW5ncyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgIH1cblxuICAgICAgLnJ1bnMtc2VsZWN0b3Ige1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgfVxuXG4gICAgICB0Zi1ydW5zLXNlbGVjdG9yIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgbGVmdDogdmFyKC0tc2lkZWJhci1sZWZ0LXBhZGRpbmcpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zaWRlYmFyLXZlcnRpY2FsLXBhZGRpbmcpICogMik7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC5zZWFyY2gtaW5wdXQge1xuICAgICAgICBtYXJnaW46IDEwcHggNXB4IDAgMTBweDtcbiAgICAgIH1cblxuICAgICAgLnNpZGViYXItc2VjdGlvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCB2YXIoLS10Yi11aS1ib3JkZXIpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNpZGViYXItdmVydGljYWwtcGFkZGluZykgMFxuICAgICAgICAgIHZhcigtLXNpZGViYXItdmVydGljYWwtcGFkZGluZykgdmFyKC0tc2lkZWJhci1sZWZ0LXBhZGRpbmcpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC5zaWRlYmFyLXNlY3Rpb246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnNpZGViYXItc2VjdGlvbiBwYXBlci1idXR0b24ge1xuICAgICAgICBtYXJnaW46IDVweDtcbiAgICAgIH1cblxuICAgICAgLnNpZGViYXItc2VjdGlvbiBwYXBlci1idXR0b246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5zaWRlYmFyLXNlY3Rpb24gcGFwZXItYnV0dG9uOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuc2lkZWJhci1zZWN0aW9uID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIC5zaWRlYmFyLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAuc2lkZWJhci1zZWN0aW9uIGgzIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRiLXNlY29uZGFyeS10ZXh0LWNvbG9yKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgNXB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cblxuICAgICAgcGFwZXItY2hlY2tib3gge1xuICAgICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTtcbiAgICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tdGItbGluayk7XG4gICAgICB9XG5cbiAgICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10Yi1saW5rLXZpc2l0ZWQpO1xuICAgICAgfVxuICAifSksbWwoe21vZHVsZU5hbWU6InNjcm9sbGJhci1zdHlsZSIsc3R5bGVDb250ZW50OiJcbiAgICAuc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgfVxuXG4gICAgLnNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXBlci1ncmV5LTUwMCk7XG4gICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS05MDApO1xuICAgIH1cbiAgICAuc2Nyb2xsYmFyIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAifSk7Y29uc3QgX2w9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtfbC5zZXRBdHRyaWJ1dGUoImlzIiwiY3VzdG9tLXN0eWxlIiksX2wudGV4dENvbnRlbnQ9IlxuICA6cm9vdCB7XG4gICAgLS10Yi1vcmFuZ2Utd2VhazogI2ZmYTcyNjtcbiAgICAtLXRiLW9yYW5nZS1zdHJvbmc6ICNmNTdjMDA7XG4gICAgLS10Yi1vcmFuZ2UtZGFyazogI2RjNzMyMDtcbiAgICAtLXRiLWdyZXktZGFya2VyOiAjZTJlMmUyO1xuICAgIC0tdGItZ3JleS1saWdodGVyOiAjZjNmM2YzO1xuICAgIC0tdGItdWktZGFyay1hY2NlbnQ6ICM3NTc1NzU7XG4gICAgLS10Yi11aS1saWdodC1hY2NlbnQ6ICNlMGUwZTA7XG4gICAgLS10Yi11aS1ib3JkZXI6IHZhcigtLXBhcGVyLWdyZXktMzAwKTtcbiAgICAtLXRiLWdyYXBoLWZhZGVkOiAjZTBkNGIzO1xuICAgIC0tdGItc2Vjb25kYXJ5LXRleHQtY29sb3I6IHZhcigtLXBhcGVyLWdyZXktODAwKTtcbiAgICAtLXRiLXJhaXNlZC1idXR0b24tc2hhZG93LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgLS1wcmltYXJ5LWJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgLS1zZWNvbmRhcnktYmFja2dyb3VuZC1jb2xvcjogI2U5ZTllOTtcbiAgICAtLXRiLWxheW91dC1iYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIC0tdGItbGluazogIzE5NzZkMjsgLyogbWF0ZXJpYWwgYmx1ZSA3MDAuICovXG4gICAgLS10Yi1saW5rLXZpc2l0ZWQ6ICM3YjFmYTI7IC8qIG1hdGVyaWFsIHB1cnBsZSA3MDAuICovXG4gIH1cblxuICA6cm9vdCAuZGFyay1tb2RlIHtcbiAgICAtLXRiLXVpLWJvcmRlcjogdmFyKC0tcGFwZXItZ3JleS03MDApO1xuICAgIC0tdGItdWktZGFyay1hY2NlbnQ6IHZhcigtLXBhcGVyLWdyZXktNDAwKTtcbiAgICAtLXRiLXVpLWxpZ2h0LWFjY2VudDogdmFyKC0tcGFwZXItZ3JleS02MDApO1xuICAgIC0tdGItc2Vjb25kYXJ5LXRleHQtY29sb3I6IHZhcigtLXBhcGVyLWdyZXktNDAwKTtcbiAgICAtLXRiLXJhaXNlZC1idXR0b24tc2hhZG93LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgLS1wcmltYXJ5LXRleHQtY29sb3I6ICNmZmY7XG4gICAgLS1zZWNvbmRhcnktdGV4dC1jb2xvcjogdmFyKC0tcGFwZXItZ3JleS00MDApO1xuICAgIC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yOiAjMzAzMDMwOyAgLyogbWF0ZXJpYWwgZ3JleSBBNDAwLiAqL1xuICAgIC0tc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3I6ICMzYTNhM2E7XG4gICAgLS10Yi1sYXlvdXQtYmFja2dyb3VuZC1jb2xvcjogIzNhM2EzYTtcbiAgICAtLXRiLWxpbms6ICM0MmE1ZjU7IC8qIG1hdGVyaWFsIGJsdWUgNDAwLiAqL1xuICAgIC0tdGItbGluay12aXNpdGVkOiAjYmE2OGM4OyAvKiBtYXRlcmlhbCBwdXJwbGUgMzAwLiAqL1xuICAgIC8qIE92ZXJyaWRlcyBwYXBlci1tYXRlcmlhbCAqL1xuICAgIC0tc2hhZG93LWVsZXZhdGlvbi0yZHBfLV9ib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpLFxuICAgICAgMCAxcHggNXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSxcbiAgICAgIDAgM3B4IDFweCAtMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgfVxuIixkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKF9sKTtsZXQgeWw9Y2xhc3MgZXh0ZW5kcyhnbCh3ZSkpe307eWwudGVtcGxhdGU9eGVgCiAgICA8ZGl2IGlkPSJzaWRlYmFyIj4KICAgICAgPHNsb3QgbmFtZT0ic2lkZWJhciI+PC9zbG90PgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0iY2VudGVyIj4KICAgICAgPHNsb3QgbmFtZT0iY2VudGVyIiBjbGFzcz0ic2NvbGxiYXIiPjwvc2xvdD4KICAgIDwvZGl2PgogICAgPHN0eWxlIGluY2x1ZGU9InNjcm9sbGJhci1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgOmhvc3QoLmRhcmstbW9kZSkgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG9yKTsKICAgICAgfQoKICAgICAgI3NpZGViYXIgewogICAgICAgIGZsZXg6IDAgMCB2YXIoLS10Zi1kYXNoYm9hcmQtbGF5b3V0LXNpZGViYXItYmFzaXMsIDI1JSk7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG1heC13aWR0aDogdmFyKC0tdGYtZGFzaGJvYXJkLWxheW91dC1zaWRlYmFyLW1heC13aWR0aCwgMzUwcHgpOwogICAgICAgIG1pbi13aWR0aDogdmFyKC0tdGYtZGFzaGJvYXJkLWxheW91dC1zaWRlYmFyLW1pbi13aWR0aCwgMjcwcHgpOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgICNjZW50ZXIgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgOjpzbG90dGVkKFtzbG90PSdjZW50ZXInXSkgewogICAgICAgIGNvbnRhaW46IHN0cmljdDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQoKICAgICAgLnRmLWdyYXBoLWRhc2hib2FyZCAjY2VudGVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAseWw9dChbaSgidGYtZGFzaGJvYXJkLWxheW91dCIpXSx5bCk7Y29uc3Qgdmw9IlRGLlRlbnNvckJvYXJkLlBhZ2luYXRlZFZpZXcubGltaXQiO2xldCBibD1udWxsO2NvbnN0IHhsPW5ldyBTZXQ7ZnVuY3Rpb24gd2wodCl7eGwuYWRkKHQpfWZ1bmN0aW9uIFNsKHQpe3hsLmRlbGV0ZSh0KX1mdW5jdGlvbiBNbCgpe3JldHVybiBudWxsPT1ibCYmKGJsPW5sKHZsLHt1c2VMb2NhbFN0b3JhZ2U6ITB9KSwobnVsbD09Ymx8fCFpc0Zpbml0ZShibCl8fGJsPD0wKSYmKGJsPTEyKSksYmx9Y2xhc3MgRWwgZXh0ZW5kcyB3ZXt1cGRhdGVBcnJheVByb3AodCxlLG4pe2xldCBpPXRoaXMuZ2V0KHQpO2NvbnN0IHI9ZTtpZighQXJyYXkuaXNBcnJheShyKSl0aHJvdyBSYW5nZUVycm9yKGBFeHBlY3RlZCBuZXcgdmFsdWUgdG8gJyR7dH0nIHRvIGJlIGFuIGFycmF5LmApO0FycmF5LmlzQXJyYXkoaSl8fChpPVtdLHRoaXMuc2V0KHQsaSkpO2NvbnN0IG89bmV3IFNldChyLm1hcCgoKHQsZSk9Pm4odCxlKSkpKTtsZXQgYT0wLHM9MDtmb3IoO2E8aS5sZW5ndGgmJnM8ci5sZW5ndGg7KW8uaGFzKG4oaVthXSxhKSk/KG4oaVthXSxhKT09bihyW3NdLHMpP3RoaXMuc2V0KGAke3R9LiR7YX1gLHJbc10pOnRoaXMuc3BsaWNlKHQsYSwwLHJbc10pLHMrKyxhKyspOnRoaXMuc3BsaWNlKHQsYSwxKTthPGkubGVuZ3RoJiZ0aGlzLnNwbGljZSh0LGEpLHM8ci5sZW5ndGgmJnRoaXMucHVzaCh0LC4uLnIuc2xpY2UocykpfX1jbGFzcyBUbCBleHRlbmRzIEVse2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmFzPSJpdGVtIix0aGlzLl9jb250ZW50QWN0aXZlPSEwLHRoaXMuX2RvbUJvb3RzdHJhcHBlZD0hMSx0aGlzLl9jdG9yPW51bGwsdGhpcy5fcmVuZGVyZWRJdGVtcz1bXSx0aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdD1uZXcgTWFwLHRoaXMuX2xydUNhY2hlZEl0ZW1zPW5ldyBNYXAsdGhpcy5fY2FjaGVTaXplPTEwLHRoaXMuX2dldEl0ZW1LZXk9dD0+SlNPTi5zdHJpbmdpZnkodCksdGhpcy5faXNDb25uZWN0ZWQ9ITF9Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuX2lzQ29ubmVjdGVkPSEwfXNldENhY2hlU2l6ZSh0KXt0aGlzLl9jYWNoZVNpemU9dH1zZXRHZXRJdGVtS2V5KHQpe3RoaXMuX2dldEl0ZW1LZXk9dH11cGRhdGVEb20odCl7dGhpcy51cGRhdGVBcnJheVByb3AoIl9yZW5kZXJlZEl0ZW1zIix0LHRoaXMuX2dldEl0ZW1LZXkpfV9lbnN1cmVUZW1wbGF0aXplZCgpe2lmKCF0aGlzLmlzQ29ubmVjdGVkKXJldHVybiExO2lmKCF0aGlzLl9jdG9yKXtjb25zdCB0PXRoaXMucXVlcnlTZWxlY3RvcigidGVtcGxhdGUiKTt0aGlzLl9jdG9yPWFvKHQsdGhpcyx7cGFyZW50TW9kZWw6ITAsaW5zdGFuY2VQcm9wczp7W3RoaXMuYXNdOiEwLGFjdGl2ZTp0aGlzLl9jb250ZW50QWN0aXZlfSxmb3J3YXJkSG9zdFByb3A6ZnVuY3Rpb24odCxlKXt0aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdC5mb3JFYWNoKChuPT57bi5mb3J3YXJkSG9zdFByb3AodCxlKX0pKX19KX1yZXR1cm4hMH1fYm9vdHN0cmFwRG9tKCl7aWYoIXRoaXMuX2Vuc3VyZVRlbXBsYXRpemVkKCl8fHRoaXMuX2RvbUJvb3RzdHJhcHBlZClyZXR1cm47bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKHQ9Pntmb3IoY29uc3QgZSBvZiB0KWlmKCJjaGlsZExpc3QiPT09ZS50eXBlKWZvcihjb25zdCB0IG9mIEFycmF5LmZyb20oZS5hZGRlZE5vZGVzKSl0IGluc3RhbmNlb2YgRWxlbWVudCYmdC5zZXRBdHRyaWJ1dGUoInNsb3QiLCJpdGVtcyIpfSkpLm9ic2VydmUodGhpcyx7Y2hpbGRMaXN0OiEwfSksQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5mb3JFYWNoKCh0PT57dGhpcy5yZW1vdmVDaGlsZCh0KX0pKSx0aGlzLl9scnVDYWNoZWRJdGVtcy5jbGVhcigpLHRoaXMuX3JlbmRlcmVkSXRlbXMuZm9yRWFjaCgoKHQsZSk9PnRoaXMuX2luc2VydEl0ZW0odCxlKSkpLHRoaXMuX2RvbUJvb3RzdHJhcHBlZD0hMH1fdXBkYXRlQWN0aXZlKCl7dGhpcy5fZG9tQm9vdHN0cmFwcGVkJiZBcnJheS5mcm9tKHRoaXMuX3JlbmRlcmVkVGVtcGxhdGVJbnN0LnZhbHVlcygpKS5mb3JFYWNoKCh0PT57dC5ub3RpZnlQYXRoKCJhY3RpdmUiLHRoaXMuX2NvbnRlbnRBY3RpdmUpfSkpfV91cGRhdGVEb20odCl7aWYodGhpcy5fZG9tQm9vdHN0cmFwcGVkJiYiX3JlbmRlcmVkSXRlbXMiIT10LnBhdGgmJiJfcmVuZGVyZWRJdGVtcy5sZW5ndGgiIT10LnBhdGgpaWYoIl9yZW5kZXJlZEl0ZW1zLnNwbGljZXMiPT09dC5wYXRoKXt0LnZhbHVlLmluZGV4U3BsaWNlcy5mb3JFYWNoKCh0PT57Y29uc3R7aW5kZXg6ZSxhZGRlZENvdW50Om4sb2JqZWN0OmkscmVtb3ZlZDpyfT10O3IuZm9yRWFjaCgodD0+e3RoaXMuX3JlbW92ZUl0ZW0odCx0aGlzLmNoaWxkcmVuW2VdKX0pKSxpLnNsaWNlKGUsZStuKS5mb3JFYWNoKCgodCxuKT0+dGhpcy5faW5zZXJ0SXRlbSh0LGUrbikpKSx0aGlzLl90cmltQ2FjaGUoKX0pKX1lbHNle2NvbnN0IGU9dGhpcy5fZ2V0SXRlbUtleSh0LnZhbHVlKTt0aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdC5oYXMoZSk/dGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3QuZ2V0KGUpLm5vdGlmeVBhdGgodGhpcy5hcyx0LnZhbHVlKTpjb25zb2xlLndhcm4oYEV4cGVjdGVkICcke2V9JyB0byBleGlzdCBpbiB0aGUgRE9NIGJ1dCBjb3VsZCBub3QgZmluZCBvbmUuYCl9fV9pbnNlcnRJdGVtKHQsZSl7aWYoIXRoaXMuX2Vuc3VyZVRlbXBsYXRpemVkKCkpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCB0ZW1wbGF0aXplZCBiZWZvcmUgaW5zZXJ0aW5nIGFuIGl0ZW0iKTtsZXQgbjtjb25zdCBpPXRoaXMuX2dldEl0ZW1LZXkodCk7aWYodGhpcy5fbHJ1Q2FjaGVkSXRlbXMuaGFzKGkpKW49dGhpcy5fbHJ1Q2FjaGVkSXRlbXMuZ2V0KGkpLHRoaXMuX2xydUNhY2hlZEl0ZW1zLmRlbGV0ZShpKSx0aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdC5nZXQoaSkubm90aWZ5UGF0aCgiYWN0aXZlIix0aGlzLl9jb250ZW50QWN0aXZlKTtlbHNle2NvbnN0IGU9bmV3IHRoaXMuX2N0b3Ioe1t0aGlzLmFzXTp0LGFjdGl2ZTp0aGlzLl9jb250ZW50QWN0aXZlfSk7bj1lLnJvb3QsdGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3Quc2V0KGksZSl9aWYodGhpcy5jaGlsZHJlbltlXSl0aGlzLmluc2VydEJlZm9yZShuLHRoaXMuY2hpbGRyZW5bZV0pO2Vsc2V7KG4ubm9kZVR5cGU9PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERT9BcnJheS5mcm9tKG4uY2hpbGRyZW4pOltuXSkuZm9yRWFjaCgodD0+dC5zZXRBdHRyaWJ1dGUoInNsb3QiLCJpdGVtcyIpKSksdGhpcy5hcHBlbmRDaGlsZChuKX19X3JlbW92ZUl0ZW0odCxlKXtlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKTtjb25zdCBuPXRoaXMuX2dldEl0ZW1LZXkodCk7dGhpcy5fbHJ1Q2FjaGVkSXRlbXMuc2V0KG4sZSksdGhpcy5fcmVuZGVyZWRUZW1wbGF0ZUluc3QuZ2V0KG4pLm5vdGlmeVBhdGgoImFjdGl2ZSIsITEpfV90cmltQ2FjaGUoKXtmb3IoO3RoaXMuX2xydUNhY2hlZEl0ZW1zLnNpemU+dGhpcy5fY2FjaGVTaXplOyl7Y29uc3RbdF09dGhpcy5fbHJ1Q2FjaGVkSXRlbXMua2V5cygpO3RoaXMuX2xydUNhY2hlZEl0ZW1zLmRlbGV0ZSh0KSx0aGlzLl9yZW5kZXJlZFRlbXBsYXRlSW5zdC5kZWxldGUodCl9fX10KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxUbC5wcm90b3R5cGUsImFzIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxUbC5wcm90b3R5cGUsIml0ZW1zIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sVGwucHJvdG90eXBlLCJfY29udGVudEFjdGl2ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVGwucHJvdG90eXBlLCJfZG9tQm9vdHN0cmFwcGVkIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFRsLnByb3RvdHlwZSwiX2N0b3IiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLFRsLnByb3RvdHlwZSwiX3JlbmRlcmVkSXRlbXMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVGwucHJvdG90eXBlLCJfcmVuZGVyZWRUZW1wbGF0ZUluc3QiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVGwucHJvdG90eXBlLCJfbHJ1Q2FjaGVkSXRlbXMiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVGwucHJvdG90eXBlLCJfY2FjaGVTaXplIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFRsLnByb3RvdHlwZSwiX2dldEl0ZW1LZXkiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFRsLnByb3RvdHlwZSwiX2lzQ29ubmVjdGVkIix2b2lkIDApLHQoW2EoIl9pc0Nvbm5lY3RlZCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sVGwucHJvdG90eXBlLCJfYm9vdHN0cmFwRG9tIixudWxsKSx0KFthKCJfY29udGVudEFjdGl2ZSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sVGwucHJvdG90eXBlLCJfdXBkYXRlQWN0aXZlIixudWxsKSx0KFthKCJfcmVuZGVyZWRJdGVtcy4qIiwiX2RvbUJvb3RzdHJhcHBlZCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtPYmplY3RdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sVGwucHJvdG90eXBlLCJfdXBkYXRlRG9tIixudWxsKSx0KFthKCJfY2FjaGVTaXplIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxUbC5wcm90b3R5cGUsIl90cmltQ2FjaGUiLG51bGwpO2xldCBDbD1jbGFzcyBleHRlbmRzIFRse2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmRpc2FibGVQYWdpbmF0aW9uPSExLHRoaXMuZ2V0Q2F0ZWdvcnlJdGVtS2V5PXQ9PkpTT04uc3RyaW5naWZ5KHQpLHRoaXMuX2xpbWl0PTEyLHRoaXMuX2FjdGl2ZUluZGV4PTAsdGhpcy5fcGFnZUlucHV0UmF3VmFsdWU9IiIsdGhpcy5fcGFnZUlucHV0Rm9jdXNlZD0hMX1fY29tcHV0ZUNvdW50KCl7cmV0dXJuIHRoaXMuY2F0ZWdvcnkuaXRlbXMubGVuZ3RofWdldCBfaGFzTXVsdGlwbGUoKXtyZXR1cm4gdGhpcy5fY291bnQ+MX1fdG9nZ2xlUGFuZSgpe3RoaXMub3BlbmVkPSF0aGlzLm9wZW5lZH1fY2hhbmdlQ29udGVudEFjdGl2ZSh0KXt0aGlzLl9jb250ZW50QWN0aXZlPXR9X29uUGFuZVJlbmRlcmVkQ2hhbmdlZCh0LGUpe3QmJnQhPT1lJiZ0aGlzLiQuaWZSZW5kZXJlZC5yZW5kZXIoKX1fY29tcHV0ZVBhbmVSZW5kZXJlZCh0KXtyZXR1cm4hKHQubWV0YWRhdGEudHlwZT09PUFyLlNFQVJDSF9SRVNVTFRTJiYiIj09PXQubmFtZSl9Z2V0IF9pdGVtc1JlbmRlcmVkKCl7cmV0dXJuIHRoaXMuX3BhbmVSZW5kZXJlZCYmdGhpcy5vcGVuZWR9X2NvbXB1dGVJc1NlYXJjaFJlc3VsdHModCl7cmV0dXJuIHQ9PT1Bci5TRUFSQ0hfUkVTVUxUU31fY29tcHV0ZUlzSW52YWxpZFNlYXJjaFJlc3VsdHModCl7cmV0dXJuIHQudHlwZT09PUFyLlNFQVJDSF9SRVNVTFRTJiYhdC52YWxpZFJlZ2V4fV9jb21wdXRlSXNVbml2ZXJzYWxTZWFyY2hRdWVyeSh0KXtyZXR1cm4gdC50eXBlPT09QXIuU0VBUkNIX1JFU1VMVFMmJnQudW5pdmVyc2FsUmVnZXh9X2lzQ29tcG9zaXRlU2VhcmNoKCl7Y29uc3R7dHlwZTp0LGNvbXBvc2l0ZVNlYXJjaDplfT10aGlzLmNhdGVnb3J5Lm1ldGFkYXRhO3JldHVybiBlJiZ0PT09QXIuU0VBUkNIX1JFU1VMVFN9cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMub3BlbmVkPW51bGw9PXRoaXMuaW5pdGlhbE9wZW5lZHx8dGhpcy5pbml0aWFsT3BlbmVkLHRoaXMuX2xpbWl0TGlzdGVuZXI9KCk9Pnt0aGlzLnNldCgiX2xpbWl0IixNbCgpKX0sd2wodGhpcy5fbGltaXRMaXN0ZW5lciksdGhpcy5fbGltaXRMaXN0ZW5lcigpfWRldGFjaGVkKCl7U2wodGhpcy5fbGltaXRMaXN0ZW5lcil9X3VwZGF0ZVJlbmRlcmVkSXRlbXMoKXt2YXIgdD10aGlzLl9saW1pdCxlPXRoaXMuZGlzYWJsZVBhZ2luYXRpb247aWYoIXRoaXMuX2l0ZW1zUmVuZGVyZWQpcmV0dXJuO2NvbnN0IG49TWF0aC5mbG9vcih0aGlzLl9hY3RpdmVJbmRleC90KSxpPXRoaXMuY2F0ZWdvcnkuaXRlbXN8fFtdLHI9ZT9pOmkuc2xpY2Uobip0LChuKzEpKnQpO3RoaXMudXBkYXRlRG9tKHIpfV9saW1pdENoYW5nZWQodCl7dGhpcy5zZXRDYWNoZVNpemUoMip0KX1fZ2V0Q2F0ZWdvcnlJdGVtS2V5Q2hhbmdlZCgpe3RoaXMuc2V0R2V0SXRlbUtleSh0aGlzLmdldENhdGVnb3J5SXRlbUtleSl9Z2V0IF9jdXJyZW50UGFnZSgpe3JldHVybiBNYXRoLmZsb29yKHRoaXMuX2FjdGl2ZUluZGV4L3RoaXMuX2xpbWl0KSsxfV9jb21wdXRlUGFnZUNvdW50KHQsZSl7cmV0dXJuIHRoaXMuY2F0ZWdvcnk/TWF0aC5jZWlsKHRoaXMuY2F0ZWdvcnkuaXRlbXMubGVuZ3RoL2UpOjB9Z2V0IF9tdWx0aXBsZVBhZ2VzRXhpc3QoKXtyZXR1cm4hdGhpcy5kaXNhYmxlUGFnaW5hdGlvbiYmdGhpcy5fcGFnZUNvdW50PjF9Z2V0IF9oYXNQcmV2aW91c1BhZ2UoKXtyZXR1cm4gdGhpcy5fY3VycmVudFBhZ2U+MX1nZXQgX2hhc05leHRQYWdlKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRQYWdlPHRoaXMuX3BhZ2VDb3VudH1fY29tcHV0ZUlucHV0V2lkdGgodCl7cmV0dXJuYGNhbGMoJHt0LnRvU3RyaW5nKCkubGVuZ3RofWVtICsgMjBweClgfV9zZXRBY3RpdmVJbmRleCh0KXtjb25zdCBlPSh0aGlzLmNhdGVnb3J5Lml0ZW1zfHxbXSkubGVuZ3RoLTE7dD5lJiYodD1lKSx0PDAmJih0PTApLHRoaXMuc2V0KCJfYWN0aXZlSW5kZXgiLHQpfV9jbGFtcEFjdGl2ZUluZGV4KCl7dGhpcy5fc2V0QWN0aXZlSW5kZXgodGhpcy5fYWN0aXZlSW5kZXgpfV9wZXJmb3JtUHJldmlvdXNQYWdlKCl7dGhpcy5fc2V0QWN0aXZlSW5kZXgodGhpcy5fYWN0aXZlSW5kZXgtdGhpcy5fbGltaXQpfV9wZXJmb3JtTmV4dFBhZ2UoKXt0aGlzLl9zZXRBY3RpdmVJbmRleCh0aGlzLl9hY3RpdmVJbmRleCt0aGlzLl9saW1pdCl9X2NvbXB1dGVQYWdlSW5wdXRWYWx1ZSh0LGUsbil7cmV0dXJuIHQ/ZTpuLnRvU3RyaW5nKCl9X2hhbmRsZVBhZ2VJbnB1dEV2ZW50KHQpe3RoaXMuc2V0KCJfcGFnZUlucHV0UmF3VmFsdWUiLHQudGFyZ2V0LnZhbHVlKTtjb25zdCBlPU51bWJlcih0LnRhcmdldC52YWx1ZXx8TmFOKTtpZihpc05hTihlKSlyZXR1cm47Y29uc3Qgbj1NYXRoLm1heCgxLE1hdGgubWluKGUsdGhpcy5fcGFnZUNvdW50KSktMTt0aGlzLl9zZXRBY3RpdmVJbmRleCh0aGlzLl9saW1pdCpuKX1faGFuZGxlUGFnZUNoYW5nZUV2ZW50KCl7dGhpcy5zZXQoIl9wYWdlSW5wdXRSYXdWYWx1ZSIsdGhpcy5fY3VycmVudFBhZ2UudG9TdHJpbmcoKSl9X2hhbmRsZVBhZ2VGb2N1c0V2ZW50KCl7dGhpcy5zZXQoIl9wYWdlSW5wdXRSYXdWYWx1ZSIsdGhpcy5fcGFnZUlucHV0VmFsdWUpLHRoaXMuc2V0KCJfcGFnZUlucHV0Rm9jdXNlZCIsITApfV9oYW5kbGVQYWdlQmx1ckV2ZW50KCl7dGhpcy5zZXQoIl9wYWdlSW5wdXRGb2N1c2VkIiwhMSl9X3VwZGF0ZVBhZ2VJbnB1dFZhbHVlKHQpe2NvbnN0IGU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIiNwYWdlLWlucHV0IGlucHV0Iik7ZSYmKGUudmFsdWU9dCl9X3VwZGF0ZUlucHV0V2lkdGgoKXt0aGlzLnVwZGF0ZVN0eWxlcyh7Ii0tdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXctcGFnZS1pbnB1dC13aWR0aCI6dGhpcy5faW5wdXRXaWR0aH0pfX07Q2wudGVtcGxhdGU9eGVgCiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3BhbmVSZW5kZXJlZF1dIiBpZD0iaWZSZW5kZXJlZCI+CiAgICAgIDxidXR0b24gY2xhc3M9ImhlYWRpbmciIG9uLXRhcD0iX3RvZ2dsZVBhbmUiIG9wZW4tYnV0dG9uJD0iW1tvcGVuZWRdXSI+CiAgICAgICAgPHNwYW4gY2xhc3M9Im5hbWUiPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1NlYXJjaFJlc3VsdHNdXSI+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNDb21wb3NpdGVTZWFyY2goY2F0ZWdvcnkpXV0iPgogICAgICAgICAgICAgIDxzcGFuPlRhZ3MgbWF0Y2hpbmcgbXVsdGlwbGUgZXhwZXJpbWVudHM8L3NwYW4+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc0ludmFsaWRTZWFyY2hSZXN1bHRzXV0iPgogICAgICAgICAgICAgICAgPHNwYW4KICAgICAgICAgICAgICAgICAgPiZuYnNwOzxzdHJvbmc+KG1hbGZvcm1lZCByZWd1bGFyIGV4cHJlc3Npb24pPC9zdHJvbmc+PC9zcGFuCiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfaXNDb21wb3NpdGVTZWFyY2goY2F0ZWdvcnkpXV0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsaWdodCI+VGFncyBtYXRjaGluZyAvPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS1uYW1lIiB0aXRsZSQ9IltbY2F0ZWdvcnkubmFtZV1dIgogICAgICAgICAgICAgICAgPltbY2F0ZWdvcnkubmFtZV1dPC9zcGFuCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsaWdodCI+Lzwvc3Bhbj4KICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzVW5pdmVyc2FsU2VhcmNoUXVlcnldXSI+CiAgICAgICAgICAgICAgICA8c3Bhbj4gKGFsbCB0YWdzKTwvc3Bhbj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNJbnZhbGlkU2VhcmNoUmVzdWx0c11dIj4KICAgICAgICAgICAgICAgIDxzcGFuPiA8c3Ryb25nPihtYWxmb3JtZWQgcmVndWxhciBleHByZXNzaW9uKTwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2lzU2VhcmNoUmVzdWx0c11dIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhdGVnb3J5LW5hbWUiIHRpdGxlJD0iW1tjYXRlZ29yeS5uYW1lXV0iCiAgICAgICAgICAgICAgPltbY2F0ZWdvcnkubmFtZV1dPC9zcGFuCiAgICAgICAgICAgID4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJjb3VudCI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc011bHRpcGxlXV0iPgogICAgICAgICAgICA8c3Bhbj5bW19jb3VudF1dPC9zcGFuPgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDxpcm9uLWljb24gaWNvbj0iZXhwYW5kLW1vcmUiIGNsYXNzPSJleHBhbmQtYXJyb3ciPjwvaXJvbi1pY29uPgogICAgICAgIDwvc3Bhbj4KICAgICAgPC9idXR0b24+CiAgICAgIDwhLS0gVE9ETyhzdGVwaGFud2xlZSk6IGludmVzdGlnYXRlIGZ1cnRoZXIuIEZvciBzb21lIHJlYXNvbiwKICAgICAgICB0cmFuc2l0aW9uZW5kIHRoYXQgdGhlIGlyb24tY29sbGFwc2UgcmVsaWVzIG9uIHNvbWV0aW1lcyBkb2VzIG5vdAogICAgICAgIHRyaWdnZXIgd2hlbiByZW5kZXJpbmcgYSBjaGFydCB3aXRoIGEgc3Bpbm5lci4gQSB0b3kgZXhhbXBsZSBjYW5ub3QKICAgICAgICByZXByb2R1Y2UgdGhpcyBidWcuIC0tPgogICAgICA8aXJvbi1jb2xsYXBzZSBvcGVuZWQ9Iltbb3BlbmVkXV0iIG5vLWFuaW1hdGlvbj0iIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICAgIDxzcGFuIGlkPSJ0b3Atb2YtY29udGFpbmVyIj48L3NwYW4+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX211bHRpcGxlUGFnZXNFeGlzdF1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmlnLXBhZ2UtYnV0dG9ucyIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDEwcHg7Ij4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgICBvbi10YXA9Il9wZXJmb3JtUHJldmlvdXNQYWdlIgogICAgICAgICAgICAgICAgZGlzYWJsZWQkPSJbWyFfaGFzUHJldmlvdXNQYWdlXV0iCiAgICAgICAgICAgICAgICA+UHJldmlvdXMgcGFnZTwvcGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24KICAgICAgICAgICAgICAgIG9uLXRhcD0iX3BlcmZvcm1OZXh0UGFnZSIKICAgICAgICAgICAgICAgIGRpc2FibGVkJD0iW1shX2hhc05leHRQYWdlXV0iCiAgICAgICAgICAgICAgICA+TmV4dCBwYWdlPC9wYXBlci1idXR0b24KICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgICAgICA8ZGl2IGlkPSJpdGVtcyI+CiAgICAgICAgICAgIDxzbG90IG5hbWU9Iml0ZW1zIj48L3Nsb3Q+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfbXVsdGlwbGVQYWdlc0V4aXN0XV0iPgogICAgICAgICAgICA8ZGl2IGlkPSJjb250cm9scy1jb250YWluZXIiPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgcGFkZGluZzogMCA1cHgiPgogICAgICAgICAgICAgICAgUGFnZQogICAgICAgICAgICAgICAgPHBhcGVyLWlucHV0CiAgICAgICAgICAgICAgICAgIGlkPSJwYWdlLWlucHV0IgogICAgICAgICAgICAgICAgICB0eXBlPSJudW1iZXIiCiAgICAgICAgICAgICAgICAgIG5vLWxhYmVsLWZsb2F0PSIiCiAgICAgICAgICAgICAgICAgIG1pbj0iMSIKICAgICAgICAgICAgICAgICAgbWF4PSJbW19wYWdlQ291bnRdXSIKICAgICAgICAgICAgICAgICAgdmFsdWU9IltbX3BhZ2VJbnB1dFZhbHVlXV0iCiAgICAgICAgICAgICAgICAgIG9uLWlucHV0PSJfaGFuZGxlUGFnZUlucHV0RXZlbnQiCiAgICAgICAgICAgICAgICAgIG9uLWNoYW5nZT0iX2hhbmRsZVBhZ2VDaGFuZ2VFdmVudCIKICAgICAgICAgICAgICAgICAgb24tZm9jdXM9Il9oYW5kbGVQYWdlRm9jdXNFdmVudCIKICAgICAgICAgICAgICAgICAgb24tYmx1cj0iX2hhbmRsZVBhZ2VCbHVyRXZlbnQiCiAgICAgICAgICAgICAgICA+PC9wYXBlci1pbnB1dD4KICAgICAgICAgICAgICAgIG9mIFtbX3BhZ2VDb3VudF1dCiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmlnLXBhZ2UtYnV0dG9ucyIgc3R5bGU9Im1hcmdpbi10b3A6IDEwcHg7Ij4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgICBvbi10YXA9Il9wZXJmb3JtUHJldmlvdXNQYWdlIgogICAgICAgICAgICAgICAgZGlzYWJsZWQkPSJbWyFfaGFzUHJldmlvdXNQYWdlXV0iCiAgICAgICAgICAgICAgICA+UHJldmlvdXMgcGFnZTwvcGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24KICAgICAgICAgICAgICAgIG9uLXRhcD0iX3BlcmZvcm1OZXh0UGFnZSIKICAgICAgICAgICAgICAgIGRpc2FibGVkJD0iW1shX2hhc05leHRQYWdlXV0iCiAgICAgICAgICAgICAgICA+TmV4dCBwYWdlPC9wYXBlci1idXR0b24KICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9pcm9uLWNvbGxhcHNlPgogICAgPC90ZW1wbGF0ZT4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbjogMCA1cHggMXB4IDEwcHg7CiAgICAgIH0KCiAgICAgIDpob3N0KDpmaXJzdC1vZi10eXBlKSB7CiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgfQoKICAgICAgOmhvc3QoOmxhc3Qtb2YtdHlwZSkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJhY2tncm91bmQtY29sb3IpOwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCB2YXIoLS10Yi1yYWlzZWQtYnV0dG9uLXNoYWRvdy1jb2xvcik7CiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nOjotbW96LWZvY3VzLWlubmVyIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7CiAgICAgIH0KCiAgICAgIFtvcGVuLWJ1dHRvbl0gewogICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDsKICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICBbb3Blbi1idXR0b25dIC5leHBhbmQtYXJyb3cgewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpOwogICAgICB9CgogICAgICAubmFtZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmxpZ2h0IHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS01MDApOwogICAgICB9CgogICAgICAuY2F0ZWdvcnktbmFtZSB7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHBhZGRpbmc6IDJweCAwOwogICAgICB9CgogICAgICAuY291bnQgewogICAgICAgIG1hcmdpbjogMCA1cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1wYXBlci1ncmV5LTUwMCk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGZsZXg6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nOjotbW96LWZvY3VzLWlubmVyIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7CiAgICAgIH0KCiAgICAgIC5jb250ZW50IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yKTsKICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDsKICAgICAgICBib3JkZXItdG9wOiBub25lOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWRlZGU7CiAgICAgICAgcGFkZGluZzogMTVweDsKICAgICAgfQoKICAgICAgLmxpZ2h0IHsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItZ3JleS01MDApOwogICAgICB9CgogICAgICAjY29udHJvbHMtY29udGFpbmVyIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAjY29udHJvbHMtY29udGFpbmVyIHBhcGVyLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAuYmlnLXBhZ2UtYnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQoKICAgICAgLmJpZy1wYWdlLWJ1dHRvbnMgcGFwZXItYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10Yi11aS1saWdodC1hY2NlbnQpOwogICAgICAgIGNvbG9yOiB2YXIoLS10Yi11aS1kYXJrLWFjY2VudCk7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGZsZXgtYmFzaXM6IDA7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmJpZy1wYWdlLWJ1dHRvbnMgcGFwZXItYnV0dG9uW2Rpc2FibGVkXSB7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgfQoKICAgICAgc2xvdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgfQoKICAgICAgOjpzbG90dGVkKFtzbG90PSdpdGVtcyddKSB7CiAgICAgICAgLyogVG9vbHRpcCBmb3IgZGVzY3JpcHRpb25zIGFuZCBvdGhlcnMgYnJlYWsgd2l0aCBtb3JlIHN0cmljdCBvbmVzLiAqLwogICAgICAgIGNvbnRhaW46IHN0eWxlOwogICAgICB9CgogICAgICAjcGFnZS1pbnB1dCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiB2YXIoLS10Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldy1wYWdlLWlucHV0LXdpZHRoLCAxMDAlKTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLENsLnByb3RvdHlwZSwiY2F0ZWdvcnkiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDbC5wcm90b3R5cGUsImluaXRpYWxPcGVuZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFuLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sQ2wucHJvdG90eXBlLCJvcGVuZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDbC5wcm90b3R5cGUsImRpc2FibGVQYWdpbmF0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLGNvbXB1dGVkOiJfY29tcHV0ZUNvdW50KGNhdGVnb3J5Lml0ZW1zLiopIn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxDbC5wcm90b3R5cGUsIl9jb3VudCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlUGFuZVJlbmRlcmVkKGNhdGVnb3J5KSIsb2JzZXJ2ZXI6Il9vblBhbmVSZW5kZXJlZENoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDbC5wcm90b3R5cGUsIl9wYW5lUmVuZGVyZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFuLGNvbXB1dGVkOiJfY29tcHV0ZUlzU2VhcmNoUmVzdWx0cyhjYXRlZ29yeS5tZXRhZGF0YS50eXBlKSJ9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLENsLnByb3RvdHlwZSwiX2lzU2VhcmNoUmVzdWx0cyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sY29tcHV0ZWQ6Il9jb21wdXRlSXNJbnZhbGlkU2VhcmNoUmVzdWx0cyhjYXRlZ29yeS5tZXRhZGF0YSkifSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDbC5wcm90b3R5cGUsIl9pc0ludmFsaWRTZWFyY2hSZXN1bHRzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixjb21wdXRlZDoiX2NvbXB1dGVJc1VuaXZlcnNhbFNlYXJjaFF1ZXJ5KGNhdGVnb3J5Lm1ldGFkYXRhKSJ9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLENsLnByb3RvdHlwZSwiX2lzVW5pdmVyc2FsU2VhcmNoUXVlcnkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il9nZXRDYXRlZ29yeUl0ZW1LZXlDaGFuZ2VkIn0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxDbC5wcm90b3R5cGUsImdldENhdGVnb3J5SXRlbUtleSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcixvYnNlcnZlcjoiX2xpbWl0Q2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sQ2wucHJvdG90eXBlLCJfbGltaXQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sQ2wucHJvdG90eXBlLCJfYWN0aXZlSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXIsY29tcHV0ZWQ6Il9jb21wdXRlUGFnZUNvdW50KGNhdGVnb3J5Lml0ZW1zLiosIF9saW1pdCkifSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLENsLnByb3RvdHlwZSwiX3BhZ2VDb3VudCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVJbnB1dFdpZHRoKF9wYWdlQ291bnQpIixvYnNlcnZlcjoiX3VwZGF0ZUlucHV0V2lkdGgifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLENsLnByb3RvdHlwZSwiX2lucHV0V2lkdGgiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9jb21wdXRlUGFnZUlucHV0VmFsdWUoX3BhZ2VJbnB1dEZvY3VzZWQsIF9wYWdlSW5wdXRSYXdWYWx1ZSwgX2N1cnJlbnRQYWdlKSIsb2JzZXJ2ZXI6Il91cGRhdGVQYWdlSW5wdXRWYWx1ZSJ9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQ2wucHJvdG90eXBlLCJfcGFnZUlucHV0VmFsdWUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQ2wucHJvdG90eXBlLCJfcGFnZUlucHV0UmF3VmFsdWUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDbC5wcm90b3R5cGUsIl9wYWdlSW5wdXRGb2N1c2VkIix2b2lkIDApLHQoW3MoIl9jb3VudCIpLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxDbC5wcm90b3R5cGUsIl9oYXNNdWx0aXBsZSIsbnVsbCksdChbYSgib3BlbmVkIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW0Jvb2xlYW5dKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sQ2wucHJvdG90eXBlLCJfY2hhbmdlQ29udGVudEFjdGl2ZSIsbnVsbCksdChbcygib3BlbmVkIiwiX3BhbmVSZW5kZXJlZCIpLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxDbC5wcm90b3R5cGUsIl9pdGVtc1JlbmRlcmVkIixudWxsKSx0KFthKCJfaXRlbXNSZW5kZXJlZCIsImNhdGVnb3J5Lml0ZW1zLioiLCJfbGltaXQiLCJfYWN0aXZlSW5kZXgiLCJfcGFnZUNvdW50IiwiZGlzYWJsZVBhZ2luYXRpb24iKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLENsLnByb3RvdHlwZSwiX3VwZGF0ZVJlbmRlcmVkSXRlbXMiLG51bGwpLHQoW3MoIl9saW1pdCIsIl9hY3RpdmVJbmRleCIpLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLENsLnByb3RvdHlwZSwiX2N1cnJlbnRQYWdlIixudWxsKSx0KFtzKCJfcGFnZUNvdW50IiwiZGlzYWJsZVBhZ2luYXRpb24iKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sQ2wucHJvdG90eXBlLCJfbXVsdGlwbGVQYWdlc0V4aXN0IixudWxsKSx0KFtzKCJfY3VycmVudFBhZ2UiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sQ2wucHJvdG90eXBlLCJfaGFzUHJldmlvdXNQYWdlIixudWxsKSx0KFtzKCJfY3VycmVudFBhZ2UiLCJfcGFnZUNvdW50IiksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLENsLnByb3RvdHlwZSwiX2hhc05leHRQYWdlIixudWxsKSx0KFthKCJjYXRlZ29yeS5pdGVtcy4qIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxDbC5wcm90b3R5cGUsIl9jbGFtcEFjdGl2ZUluZGV4IixudWxsKSxDbD10KFtpKCJ0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldyIpXSxDbCk7Y2xhc3MgQWx7Y29uc3RydWN0b3IodCl7dGhpcy5saXN0ZW5lcj10fX1jbGFzcyBrbHtjb25zdHJ1Y3Rvcigpe3RoaXMucmVxdWVzdE1hbmFnZXI9bmV3IGJyKDEpLHRoaXMuX2xpc3RlbmVycz1uZXcgU2V0LHRoaXMuaW5pdGlhbGl6ZWQ9ITF9cmVmcmVzaCgpe3JldHVybiB0aGlzLmxvYWQoKS50aGVuKCgoKT0+e3RoaXMuaW5pdGlhbGl6ZWQ9ITB9KSl9YWRkTGlzdGVuZXIodCl7Y29uc3QgZT1uZXcgQWwodCk7cmV0dXJuIHRoaXMuX2xpc3RlbmVycy5hZGQoZSksZX1yZW1vdmVMaXN0ZW5lckJ5S2V5KHQpe3RoaXMuX2xpc3RlbmVycy5kZWxldGUodCl9ZW1pdENoYW5nZSgpe3RoaXMuX2xpc3RlbmVycy5mb3JFYWNoKCh0PT57dHJ5e3QubGlzdGVuZXIoKX1jYXRjaCh0KXt9fSkpfX1jbGFzcyBMbCBleHRlbmRzIGtse2xvYWQoKXtjb25zdCB0PUVyKCkuZW52aXJvbm1lbnQoKTtyZXR1cm4gdGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KHQpLnRoZW4oKHQ9Pntjb25zdCBlPXtkYXRhTG9jYXRpb246dC5kYXRhX2xvY2F0aW9uLHdpbmRvd1RpdGxlOnQud2luZG93X3RpdGxlfTt2b2lkIDAhPT10LmV4cGVyaW1lbnRfbmFtZSYmKGUuZXhwZXJpbWVudE5hbWU9dC5leHBlcmltZW50X25hbWUpLHZvaWQgMCE9PXQuZXhwZXJpbWVudF9kZXNjcmlwdGlvbiYmKGUuZXhwZXJpbWVudERlc2NyaXB0aW9uPXQuZXhwZXJpbWVudF9kZXNjcmlwdGlvbiksdm9pZCAwIT09dC5jcmVhdGlvbl90aW1lJiYoZS5jcmVhdGlvblRpbWU9dC5jcmVhdGlvbl90aW1lKSxDZS5leHBvcnRzLmlzRXF1YWwodGhpcy5lbnZpcm9ubWVudCxlKXx8KHRoaXMuZW52aXJvbm1lbnQ9ZSx0aGlzLmVtaXRDaGFuZ2UoKSl9KSl9Z2V0RGF0YUxvY2F0aW9uKCl7cmV0dXJuIHRoaXMuZW52aXJvbm1lbnQ/dGhpcy5lbnZpcm9ubWVudC5kYXRhTG9jYXRpb246IiJ9Z2V0V2luZG93VGl0bGUoKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD90aGlzLmVudmlyb25tZW50LndpbmRvd1RpdGxlOiIifWdldEV4cGVyaW1lbnROYW1lKCl7cmV0dXJuIHRoaXMuZW52aXJvbm1lbnQ/dGhpcy5lbnZpcm9ubWVudC5leHBlcmltZW50TmFtZToiIn1nZXRFeHBlcmltZW50RGVzY3JpcHRpb24oKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD90aGlzLmVudmlyb25tZW50LmV4cGVyaW1lbnREZXNjcmlwdGlvbjoiIn1nZXRDcmVhdGlvblRpbWUoKXtyZXR1cm4gdGhpcy5lbnZpcm9ubWVudD90aGlzLmVudmlyb25tZW50LmNyZWF0aW9uVGltZTpudWxsfX1jb25zdCBQbD1uZXcgTGw7Y2xhc3MgTmwgZXh0ZW5kcyBrbHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fcnVucz1bXX1sb2FkKCl7Y29uc3QgdD1FcigpLnJ1bnMoKTtyZXR1cm4gdGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KHQpLnRoZW4oKHQ9PntDZS5leHBvcnRzLmlzRXF1YWwodGhpcy5fcnVucyx0KXx8KHRoaXMuX3J1bnM9dCx0aGlzLmVtaXRDaGFuZ2UoKSl9KSl9Z2V0UnVucygpe3JldHVybiB0aGlzLl9ydW5zLnNsaWNlKCl9fWNvbnN0IElsPW5ldyBObDtmdW5jdGlvbiBSbCh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBPbCh0KXtyZXR1cm4gMT09PXQubGVuZ3RoJiYodD0oZnVuY3Rpb24gZSh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gUmwodChlKSxuKX19KSh0KSkse2xlZnQ6ZnVuY3Rpb24oZSxuLGkscil7Zm9yKG51bGw9PWkmJihpPTApLG51bGw9PXImJihyPWUubGVuZ3RoKTtpPHI7KXt2YXIgbz1pK3I+Pj4xO3QoZVtvXSxuKTwwP2k9bysxOnI9b31yZXR1cm4gaX0scmlnaHQ6ZnVuY3Rpb24oZSxuLGkscil7Zm9yKG51bGw9PWkmJihpPTApLG51bGw9PXImJihyPWUubGVuZ3RoKTtpPHI7KXt2YXIgbz1pK3I+Pj4xO3QoZVtvXSxuKT4wP3I9bzppPW8rMX1yZXR1cm4gaX19fXZhciB6bD1PbChSbCksRGw9emwucmlnaHQsQmw9emwubGVmdDtmdW5jdGlvbiBIbCh0LGUpe3JldHVyblt0LGVdfWZ1bmN0aW9uIEZsKHQsZSxuKXt2YXIgaSxyLG8sYSxzPXQubGVuZ3RoLGw9ZS5sZW5ndGgsYz1uZXcgQXJyYXkocypsKTtmb3IobnVsbD09biYmKG49SGwpLGk9bz0wO2k8czsrK2kpZm9yKGE9dFtpXSxyPTA7cjxsOysrciwrK28pY1tvXT1uKGEsZVtyXSk7cmV0dXJuIGN9ZnVuY3Rpb24gVmwodCl7cmV0dXJuIG51bGw9PT10P05hTjordH1mdW5jdGlvbiBVbCh0LGUpe3ZhciBuLGkscj10Lmxlbmd0aCxvPTAsYT0tMSxzPTAsbD0wO2lmKG51bGw9PWUpZm9yKDsrK2E8cjspaXNOYU4obj1WbCh0W2FdKSl8fChsKz0oaT1uLXMpKihuLShzKz1pLysrbykpKTtlbHNlIGZvcig7KythPHI7KWlzTmFOKG49VmwoZSh0W2FdLGEsdCkpKXx8KGwrPShpPW4tcykqKG4tKHMrPWkvKytvKSkpO2lmKG8+MSlyZXR1cm4gbC8oby0xKX1mdW5jdGlvbiBqbCh0LGUpe3ZhciBuPVVsKHQsZSk7cmV0dXJuIG4/TWF0aC5zcXJ0KG4pOm59ZnVuY3Rpb24gR2wodCxlKXt2YXIgbixpLHIsbz10Lmxlbmd0aCxhPS0xO2lmKG51bGw9PWUpe2Zvcig7KythPG87KWlmKG51bGwhPShuPXRbYV0pJiZuPj1uKWZvcihpPXI9bjsrK2E8bzspbnVsbCE9KG49dFthXSkmJihpPm4mJihpPW4pLHI8biYmKHI9bikpfWVsc2UgZm9yKDsrK2E8bzspaWYobnVsbCE9KG49ZSh0W2FdLGEsdCkpJiZuPj1uKWZvcihpPXI9bjsrK2E8bzspbnVsbCE9KG49ZSh0W2FdLGEsdCkpJiYoaT5uJiYoaT1uKSxyPG4mJihyPW4pKTtyZXR1cm5baSxyXX12YXIgV2w9QXJyYXkucHJvdG90eXBlLHFsPVdsLnNsaWNlLFlsPVdsLm1hcDtmdW5jdGlvbiBYbCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gJGwodCl7cmV0dXJuIHR9ZnVuY3Rpb24gS2wodCxlLG4pe3Q9K3QsZT0rZSxuPShyPWFyZ3VtZW50cy5sZW5ndGgpPDI/KGU9dCx0PTAsMSk6cjwzPzE6K247Zm9yKHZhciBpPS0xLHI9MHxNYXRoLm1heCgwLE1hdGguY2VpbCgoZS10KS9uKSksbz1uZXcgQXJyYXkocik7KytpPHI7KW9baV09dCtpKm47cmV0dXJuIG99dmFyIFpsPU1hdGguc3FydCg1MCksSmw9TWF0aC5zcXJ0KDEwKSxRbD1NYXRoLnNxcnQoMik7ZnVuY3Rpb24gdGModCxlLG4pe3ZhciBpLHIsbyxhLHM9LTE7aWYobj0rbiwodD0rdCk9PT0oZT0rZSkmJm4+MClyZXR1cm5bdF07aWYoKGk9ZTx0KSYmKHI9dCx0PWUsZT1yKSwwPT09KGE9ZWModCxlLG4pKXx8IWlzRmluaXRlKGEpKXJldHVybltdO2lmKGE+MClmb3IodD1NYXRoLmNlaWwodC9hKSxlPU1hdGguZmxvb3IoZS9hKSxvPW5ldyBBcnJheShyPU1hdGguY2VpbChlLXQrMSkpOysrczxyOylvW3NdPSh0K3MpKmE7ZWxzZSBmb3IodD1NYXRoLmZsb29yKHQqYSksZT1NYXRoLmNlaWwoZSphKSxvPW5ldyBBcnJheShyPU1hdGguY2VpbCh0LWUrMSkpOysrczxyOylvW3NdPSh0LXMpL2E7cmV0dXJuIGkmJm8ucmV2ZXJzZSgpLG99ZnVuY3Rpb24gZWModCxlLG4pe3ZhciBpPShlLXQpL01hdGgubWF4KDAsbikscj1NYXRoLmZsb29yKE1hdGgubG9nKGkpL01hdGguTE4xMCksbz1pL01hdGgucG93KDEwLHIpO3JldHVybiByPj0wPyhvPj1abD8xMDpvPj1KbD81Om8+PVFsPzI6MSkqTWF0aC5wb3coMTAscik6LU1hdGgucG93KDEwLC1yKS8obz49Wmw/MTA6bz49Smw/NTpvPj1RbD8yOjEpfWZ1bmN0aW9uIG5jKHQsZSxuKXt2YXIgaT1NYXRoLmFicyhlLXQpL01hdGgubWF4KDAsbikscj1NYXRoLnBvdygxMCxNYXRoLmZsb29yKE1hdGgubG9nKGkpL01hdGguTE4xMCkpLG89aS9yO3JldHVybiBvPj1abD9yKj0xMDpvPj1KbD9yKj01Om8+PVFsJiYocio9MiksZTx0Py1yOnJ9ZnVuY3Rpb24gaWModCl7cmV0dXJuIE1hdGguY2VpbChNYXRoLmxvZyh0Lmxlbmd0aCkvTWF0aC5MTjIpKzF9ZnVuY3Rpb24gcmModCxlLG4pe2lmKG51bGw9PW4mJihuPVZsKSxpPXQubGVuZ3RoKXtpZigoZT0rZSk8PTB8fGk8MilyZXR1cm4rbih0WzBdLDAsdCk7aWYoZT49MSlyZXR1cm4rbih0W2ktMV0saS0xLHQpO3ZhciBpLHI9KGktMSkqZSxvPU1hdGguZmxvb3IociksYT0rbih0W29dLG8sdCk7cmV0dXJuIGErKCtuKHRbbysxXSxvKzEsdCktYSkqKHItbyl9fWZ1bmN0aW9uIG9jKHQsZSl7dmFyIG4saSxyPXQubGVuZ3RoLG89LTE7aWYobnVsbD09ZSl7Zm9yKDsrK288cjspaWYobnVsbCE9KG49dFtvXSkmJm4+PW4pZm9yKGk9bjsrK288cjspbnVsbCE9KG49dFtvXSkmJm4+aSYmKGk9bil9ZWxzZSBmb3IoOysrbzxyOylpZihudWxsIT0obj1lKHRbb10sbyx0KSkmJm4+PW4pZm9yKGk9bjsrK288cjspbnVsbCE9KG49ZSh0W29dLG8sdCkpJiZuPmkmJihpPW4pO3JldHVybiBpfWZ1bmN0aW9uIGFjKHQpe2Zvcih2YXIgZSxuLGkscj10Lmxlbmd0aCxvPS0xLGE9MDsrK288cjspYSs9dFtvXS5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KGEpOy0tcj49MDspZm9yKGU9KGk9dFtyXSkubGVuZ3RoOy0tZT49MDspblstLWFdPWlbZV07cmV0dXJuIG59ZnVuY3Rpb24gc2ModCxlKXt2YXIgbixpLHI9dC5sZW5ndGgsbz0tMTtpZihudWxsPT1lKXtmb3IoOysrbzxyOylpZihudWxsIT0obj10W29dKSYmbj49bilmb3IoaT1uOysrbzxyOyludWxsIT0obj10W29dKSYmaT5uJiYoaT1uKX1lbHNlIGZvcig7KytvPHI7KWlmKG51bGwhPShuPWUodFtvXSxvLHQpKSYmbj49bilmb3IoaT1uOysrbzxyOyludWxsIT0obj1lKHRbb10sbyx0KSkmJmk+biYmKGk9bik7cmV0dXJuIGl9ZnVuY3Rpb24gbGModCl7aWYoIShyPXQubGVuZ3RoKSlyZXR1cm5bXTtmb3IodmFyIGU9LTEsbj1zYyh0LGNjKSxpPW5ldyBBcnJheShuKTsrK2U8bjspZm9yKHZhciByLG89LTEsYT1pW2VdPW5ldyBBcnJheShyKTsrK288cjspYVtvXT10W29dW2VdO3JldHVybiBpfWZ1bmN0aW9uIGNjKHQpe3JldHVybiB0Lmxlbmd0aH12YXIgdWM9QXJyYXkucHJvdG90eXBlLnNsaWNlO2Z1bmN0aW9uIGhjKHQpe3JldHVybiB0fXZhciBkYz0xZS02O2Z1bmN0aW9uIHBjKHQpe3JldHVybiJ0cmFuc2xhdGUoIisodCsuNSkrIiwwKSJ9ZnVuY3Rpb24gZmModCl7cmV0dXJuInRyYW5zbGF0ZSgwLCIrKHQrLjUpKyIpIn1mdW5jdGlvbiBtYyh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuK3QoZSl9fWZ1bmN0aW9uIGdjKHQpe3ZhciBlPU1hdGgubWF4KDAsdC5iYW5kd2lkdGgoKS0xKS8yO3JldHVybiB0LnJvdW5kKCkmJihlPU1hdGgucm91bmQoZSkpLGZ1bmN0aW9uKG4pe3JldHVybit0KG4pK2V9fWZ1bmN0aW9uIF9jKCl7cmV0dXJuIXRoaXMuX19heGlzfWZ1bmN0aW9uIHljKHQsZSl7dmFyIG49W10saT1udWxsLHI9bnVsbCxvPTYsYT02LHM9MyxsPTE9PT10fHw0PT09dD8tMToxLGM9ND09PXR8fDI9PT10PyJ4IjoieSIsdT0xPT09dHx8Mz09PXQ/cGM6ZmM7ZnVuY3Rpb24gaChoKXt2YXIgZD1udWxsPT1pP2UudGlja3M/ZS50aWNrcy5hcHBseShlLG4pOmUuZG9tYWluKCk6aSxwPW51bGw9PXI/ZS50aWNrRm9ybWF0P2UudGlja0Zvcm1hdC5hcHBseShlLG4pOmhjOnIsZj1NYXRoLm1heChvLDApK3MsbT1lLnJhbmdlKCksZz0rbVswXSsuNSxfPSttW20ubGVuZ3RoLTFdKy41LHk9KGUuYmFuZHdpZHRoP2djOm1jKShlLmNvcHkoKSksdj1oLnNlbGVjdGlvbj9oLnNlbGVjdGlvbigpOmgsYj12LnNlbGVjdEFsbCgiLmRvbWFpbiIpLmRhdGEoW251bGxdKSx4PXYuc2VsZWN0QWxsKCIudGljayIpLmRhdGEoZCxlKS5vcmRlcigpLHc9eC5leGl0KCksUz14LmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJ0aWNrIiksTT14LnNlbGVjdCgibGluZSIpLEU9eC5zZWxlY3QoInRleHQiKTtiPWIubWVyZ2UoYi5lbnRlcigpLmluc2VydCgicGF0aCIsIi50aWNrIikuYXR0cigiY2xhc3MiLCJkb21haW4iKS5hdHRyKCJzdHJva2UiLCJjdXJyZW50Q29sb3IiKSkseD14Lm1lcmdlKFMpLE09TS5tZXJnZShTLmFwcGVuZCgibGluZSIpLmF0dHIoInN0cm9rZSIsImN1cnJlbnRDb2xvciIpLmF0dHIoYysiMiIsbCpvKSksRT1FLm1lcmdlKFMuYXBwZW5kKCJ0ZXh0IikuYXR0cigiZmlsbCIsImN1cnJlbnRDb2xvciIpLmF0dHIoYyxsKmYpLmF0dHIoImR5IiwxPT09dD8iMGVtIjozPT09dD8iMC43MWVtIjoiMC4zMmVtIikpLGghPT12JiYoYj1iLnRyYW5zaXRpb24oaCkseD14LnRyYW5zaXRpb24oaCksTT1NLnRyYW5zaXRpb24oaCksRT1FLnRyYW5zaXRpb24oaCksdz13LnRyYW5zaXRpb24oaCkuYXR0cigib3BhY2l0eSIsZGMpLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQpe3JldHVybiBpc0Zpbml0ZSh0PXkodCkpP3UodCk6dGhpcy5nZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIpfSkpLFMuYXR0cigib3BhY2l0eSIsZGMpLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMucGFyZW50Tm9kZS5fX2F4aXM7cmV0dXJuIHUoZSYmaXNGaW5pdGUoZT1lKHQpKT9lOnkodCkpfSkpKSx3LnJlbW92ZSgpLGIuYXR0cigiZCIsND09PXR8fDI9PXQ/YT8iTSIrbCphKyIsIitnKyJIMC41ViIrXysiSCIrbCphOiJNMC41LCIrZysiViIrXzphPyJNIitnKyIsIitsKmErIlYwLjVIIitfKyJWIitsKmE6Ik0iK2crIiwwLjVIIitfKSx4LmF0dHIoIm9wYWNpdHkiLDEpLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQpe3JldHVybiB1KHkodCkpfSkpLE0uYXR0cihjKyIyIixsKm8pLEUuYXR0cihjLGwqZikudGV4dChwKSx2LmZpbHRlcihfYykuYXR0cigiZmlsbCIsIm5vbmUiKS5hdHRyKCJmb250LXNpemUiLDEwKS5hdHRyKCJmb250LWZhbWlseSIsInNhbnMtc2VyaWYiKS5hdHRyKCJ0ZXh0LWFuY2hvciIsMj09PXQ/InN0YXJ0Ijo0PT09dD8iZW5kIjoibWlkZGxlIiksdi5lYWNoKChmdW5jdGlvbigpe3RoaXMuX19heGlzPXl9KSl9cmV0dXJuIGguc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxoKTplfSxoLnRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIG49dWMuY2FsbChhcmd1bWVudHMpLGh9LGgudGlja0FyZ3VtZW50cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1udWxsPT10P1tdOnVjLmNhbGwodCksaCk6bi5zbGljZSgpfSxoLnRpY2tWYWx1ZXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9bnVsbD09dD9udWxsOnVjLmNhbGwodCksaCk6aSYmaS5zbGljZSgpfSxoLnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxoKTpyfSxoLnRpY2tTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPWE9K3QsaCk6b30saC50aWNrU2l6ZUlubmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSt0LGgpOm99LGgudGlja1NpemVPdXRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0rdCxoKTphfSxoLnRpY2tQYWRkaW5nPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSt0LGgpOnN9LGh9ZnVuY3Rpb24gdmModCl7cmV0dXJuIHljKDMsdCl9ZnVuY3Rpb24gYmModCl7cmV0dXJuIHljKDQsdCl9dmFyIHhjPXt2YWx1ZTpmdW5jdGlvbigpe319O2Z1bmN0aW9uIHdjKCl7Zm9yKHZhciB0LGU9MCxuPWFyZ3VtZW50cy5sZW5ndGgsaT17fTtlPG47KytlKXtpZighKHQ9YXJndW1lbnRzW2VdKyIiKXx8dCBpbiBpfHwvW1xzLl0vLnRlc3QodCkpdGhyb3cgbmV3IEVycm9yKCJpbGxlZ2FsIHR5cGU6ICIrdCk7aVt0XT1bXX1yZXR1cm4gbmV3IFNjKGkpfWZ1bmN0aW9uIFNjKHQpe3RoaXMuXz10fWZ1bmN0aW9uIE1jKHQsZSl7cmV0dXJuIHQudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcCgoZnVuY3Rpb24odCl7dmFyIG49IiIsaT10LmluZGV4T2YoIi4iKTtpZihpPj0wJiYobj10LnNsaWNlKGkrMSksdD10LnNsaWNlKDAsaSkpLHQmJiFlLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO3JldHVybnt0eXBlOnQsbmFtZTpufX0pKX1mdW5jdGlvbiBFYyh0LGUpe2Zvcih2YXIgbixpPTAscj10Lmxlbmd0aDtpPHI7KytpKWlmKChuPXRbaV0pLm5hbWU9PT1lKXJldHVybiBuLnZhbHVlfWZ1bmN0aW9uIFRjKHQsZSxuKXtmb3IodmFyIGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYodFtpXS5uYW1lPT09ZSl7dFtpXT14Yyx0PXQuc2xpY2UoMCxpKS5jb25jYXQodC5zbGljZShpKzEpKTticmVha31yZXR1cm4gbnVsbCE9biYmdC5wdXNoKHtuYW1lOmUsdmFsdWU6bn0pLHR9U2MucHJvdG90eXBlPXdjLnByb3RvdHlwZT17Y29uc3RydWN0b3I6U2Msb246ZnVuY3Rpb24odCxlKXt2YXIgbixpPXRoaXMuXyxyPU1jKHQrIiIsaSksbz0tMSxhPXIubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7aWYobnVsbCE9ZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrOiAiK2UpO2Zvcig7KytvPGE7KWlmKG49KHQ9cltvXSkudHlwZSlpW25dPVRjKGlbbl0sdC5uYW1lLGUpO2Vsc2UgaWYobnVsbD09ZSlmb3IobiBpbiBpKWlbbl09VGMoaVtuXSx0Lm5hbWUsbnVsbCk7cmV0dXJuIHRoaXN9Zm9yKDsrK288YTspaWYoKG49KHQ9cltvXSkudHlwZSkmJihuPUVjKGlbbl0sdC5uYW1lKSkpcmV0dXJuIG59LGNvcHk6ZnVuY3Rpb24oKXt2YXIgdD17fSxlPXRoaXMuXztmb3IodmFyIG4gaW4gZSl0W25dPWVbbl0uc2xpY2UoKTtyZXR1cm4gbmV3IFNjKHQpfSxjYWxsOmZ1bmN0aW9uKHQsZSl7aWYoKG49YXJndW1lbnRzLmxlbmd0aC0yKT4wKWZvcih2YXIgbixpLHI9bmV3IEFycmF5KG4pLG89MDtvPG47KytvKXJbb109YXJndW1lbnRzW28rMl07aWYoIXRoaXMuXy5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtmb3Iobz0wLG49KGk9dGhpcy5fW3RdKS5sZW5ndGg7bzxuOysrbylpW29dLnZhbHVlLmFwcGx5KGUscil9LGFwcGx5OmZ1bmN0aW9uKHQsZSxuKXtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2Zvcih2YXIgaT10aGlzLl9bdF0scj0wLG89aS5sZW5ndGg7cjxvOysrcilpW3JdLnZhbHVlLmFwcGx5KGUsbil9fTt2YXIgQ2M9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLEFjPXtzdmc6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix4aHRtbDpDYyx4bGluazoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIseG1sOiJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLyJ9O2Z1bmN0aW9uIGtjKHQpe3ZhciBlPXQrPSIiLG49ZS5pbmRleE9mKCI6Iik7cmV0dXJuIG4+PTAmJiJ4bWxucyIhPT0oZT10LnNsaWNlKDAsbikpJiYodD10LnNsaWNlKG4rMSkpLEFjLmhhc093blByb3BlcnR5KGUpP3tzcGFjZTpBY1tlXSxsb2NhbDp0fTp0fWZ1bmN0aW9uIExjKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXRoaXMub3duZXJEb2N1bWVudCxuPXRoaXMubmFtZXNwYWNlVVJJO3JldHVybiBuPT09Q2MmJmUuZG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVSST09PUNjP2UuY3JlYXRlRWxlbWVudCh0KTplLmNyZWF0ZUVsZW1lbnROUyhuLHQpfX1mdW5jdGlvbiBQYyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh0LnNwYWNlLHQubG9jYWwpfX1mdW5jdGlvbiBOYyh0KXt2YXIgZT1rYyh0KTtyZXR1cm4oZS5sb2NhbD9QYzpMYykoZSl9ZnVuY3Rpb24gSWMoKXt9ZnVuY3Rpb24gUmModCl7cmV0dXJuIG51bGw9PXQ/SWM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yKHQpfX1mdW5jdGlvbiBPYygpe3JldHVybltdfWZ1bmN0aW9uIHpjKHQpe3JldHVybiBudWxsPT10P09jOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvckFsbCh0KX19ZnVuY3Rpb24gRGModCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWF0Y2hlcyh0KX19ZnVuY3Rpb24gQmModCl7cmV0dXJuIG5ldyBBcnJheSh0Lmxlbmd0aCl9ZnVuY3Rpb24gSGModCxlKXt0aGlzLm93bmVyRG9jdW1lbnQ9dC5vd25lckRvY3VtZW50LHRoaXMubmFtZXNwYWNlVVJJPXQubmFtZXNwYWNlVVJJLHRoaXMuX25leHQ9bnVsbCx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9fZGF0YV9fPWV9SGMucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpIYyxhcHBlbmRDaGlsZDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGFyZW50Lmluc2VydEJlZm9yZSh0LHRoaXMuX25leHQpfSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fcGFyZW50Lmluc2VydEJlZm9yZSh0LGUpfSxxdWVyeVNlbGVjdG9yOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3Rvcih0KX0scXVlcnlTZWxlY3RvckFsbDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3JBbGwodCl9fTtmdW5jdGlvbiBGYyh0LGUsbixpLHIsbyl7Zm9yKHZhciBhLHM9MCxsPWUubGVuZ3RoLGM9by5sZW5ndGg7czxjOysrcykoYT1lW3NdKT8oYS5fX2RhdGFfXz1vW3NdLGlbc109YSk6bltzXT1uZXcgSGModCxvW3NdKTtmb3IoO3M8bDsrK3MpKGE9ZVtzXSkmJihyW3NdPWEpfWZ1bmN0aW9uIFZjKHQsZSxuLGkscixvLGEpe3ZhciBzLGwsYyx1PXt9LGg9ZS5sZW5ndGgsZD1vLmxlbmd0aCxwPW5ldyBBcnJheShoKTtmb3Iocz0wO3M8aDsrK3MpKGw9ZVtzXSkmJihwW3NdPWM9IiQiK2EuY2FsbChsLGwuX19kYXRhX18scyxlKSxjIGluIHU/cltzXT1sOnVbY109bCk7Zm9yKHM9MDtzPGQ7KytzKShsPXVbYz0iJCIrYS5jYWxsKHQsb1tzXSxzLG8pXSk/KGlbc109bCxsLl9fZGF0YV9fPW9bc10sdVtjXT1udWxsKTpuW3NdPW5ldyBIYyh0LG9bc10pO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmdVtwW3NdXT09PWwmJihyW3NdPWwpfWZ1bmN0aW9uIFVjKHQsZSl7cmV0dXJuIHQ8ZT8tMTp0PmU/MTp0Pj1lPzA6TmFOfWZ1bmN0aW9uIGpjKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpfX1mdW5jdGlvbiBHYyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIFdjKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5zZXRBdHRyaWJ1dGUodCxlKX19ZnVuY3Rpb24gcWModCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxlKX19ZnVuY3Rpb24gWWModCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpOnRoaXMuc2V0QXR0cmlidXRlKHQsbil9fWZ1bmN0aW9uIFhjKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09bj90aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCk6dGhpcy5zZXRBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwsbil9fWZ1bmN0aW9uICRjKHQpe3JldHVybiB0Lm93bmVyRG9jdW1lbnQmJnQub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlld3x8dC5kb2N1bWVudCYmdHx8dC5kZWZhdWx0Vmlld31mdW5jdGlvbiBLYyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX1mdW5jdGlvbiBaYyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSh0LGUsbil9fWZ1bmN0aW9uIEpjKHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgaT1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1pP3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCk6dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSh0LGksbil9fWZ1bmN0aW9uIFFjKHQsZSl7cmV0dXJuIHQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShlKXx8JGModCkuZ2V0Q29tcHV0ZWRTdHlsZSh0LG51bGwpLmdldFByb3BlcnR5VmFsdWUoZSl9ZnVuY3Rpb24gdHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXNbdF19fWZ1bmN0aW9uIGV1KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpc1t0XT1lfX1mdW5jdGlvbiBudSh0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/ZGVsZXRlIHRoaXNbdF06dGhpc1t0XT1ufX1mdW5jdGlvbiBpdSh0KXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLyl9ZnVuY3Rpb24gcnUodCl7cmV0dXJuIHQuY2xhc3NMaXN0fHxuZXcgb3UodCl9ZnVuY3Rpb24gb3UodCl7dGhpcy5fbm9kZT10LHRoaXMuX25hbWVzPWl1KHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9ZnVuY3Rpb24gYXUodCxlKXtmb3IodmFyIG49cnUodCksaT0tMSxyPWUubGVuZ3RoOysraTxyOyluLmFkZChlW2ldKX1mdW5jdGlvbiBzdSh0LGUpe2Zvcih2YXIgbj1ydSh0KSxpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KW4ucmVtb3ZlKGVbaV0pfWZ1bmN0aW9uIGx1KHQpe3JldHVybiBmdW5jdGlvbigpe2F1KHRoaXMsdCl9fWZ1bmN0aW9uIGN1KHQpe3JldHVybiBmdW5jdGlvbigpe3N1KHRoaXMsdCl9fWZ1bmN0aW9uIHV1KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7KGUuYXBwbHkodGhpcyxhcmd1bWVudHMpP2F1OnN1KSh0aGlzLHQpfX1mdW5jdGlvbiBodSgpe3RoaXMudGV4dENvbnRlbnQ9IiJ9ZnVuY3Rpb24gZHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy50ZXh0Q29udGVudD10fX1mdW5jdGlvbiBwdSh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLnRleHRDb250ZW50PW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24gZnUoKXt0aGlzLmlubmVySFRNTD0iIn1mdW5jdGlvbiBtdSh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLmlubmVySFRNTD10fX1mdW5jdGlvbiBndSh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLmlubmVySFRNTD1udWxsPT1lPyIiOmV9fWZ1bmN0aW9uIF91KCl7dGhpcy5uZXh0U2libGluZyYmdGhpcy5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHRoaXMpfWZ1bmN0aW9uIHl1KCl7dGhpcy5wcmV2aW91c1NpYmxpbmcmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcyx0aGlzLnBhcmVudE5vZGUuZmlyc3RDaGlsZCl9ZnVuY3Rpb24gdnUoKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiBidSgpe3ZhciB0PXRoaXMucGFyZW50Tm9kZTt0JiZ0LnJlbW92ZUNoaWxkKHRoaXMpfWZ1bmN0aW9uIHh1KCl7dmFyIHQ9dGhpcy5jbG9uZU5vZGUoITEpLGU9dGhpcy5wYXJlbnROb2RlO3JldHVybiBlP2UuaW5zZXJ0QmVmb3JlKHQsdGhpcy5uZXh0U2libGluZyk6dH1mdW5jdGlvbiB3dSgpe3ZhciB0PXRoaXMuY2xvbmVOb2RlKCEwKSxlPXRoaXMucGFyZW50Tm9kZTtyZXR1cm4gZT9lLmluc2VydEJlZm9yZSh0LHRoaXMubmV4dFNpYmxpbmcpOnR9b3UucHJvdG90eXBlPXthZGQ6ZnVuY3Rpb24odCl7dGhpcy5fbmFtZXMuaW5kZXhPZih0KTwwJiYodGhpcy5fbmFtZXMucHVzaCh0KSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbmFtZXMuaW5kZXhPZih0KTtlPj0wJiYodGhpcy5fbmFtZXMuc3BsaWNlKGUsMSksdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLl9uYW1lcy5qb2luKCIgIikpKX0sY29udGFpbnM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX25hbWVzLmluZGV4T2YodCk+PTB9fTt2YXIgU3U9e30sTXU9bnVsbDsidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiYoIm9ubW91c2VlbnRlciJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR8fChTdT17bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9KSk7ZnVuY3Rpb24gRXUodCxlLG4pe3JldHVybiB0PVR1KHQsZSxuKSxmdW5jdGlvbihlKXt2YXIgbj1lLnJlbGF0ZWRUYXJnZXQ7biYmKG49PT10aGlzfHw4Jm4uY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcykpfHx0LmNhbGwodGhpcyxlKX19ZnVuY3Rpb24gVHUodCxlLG4pe3JldHVybiBmdW5jdGlvbihpKXt2YXIgcj1NdTtNdT1pO3RyeXt0LmNhbGwodGhpcyx0aGlzLl9fZGF0YV9fLGUsbil9ZmluYWxseXtNdT1yfX19ZnVuY3Rpb24gQ3UodCl7cmV0dXJuIHQudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9IiIsbj10LmluZGV4T2YoIi4iKTtyZXR1cm4gbj49MCYmKGU9dC5zbGljZShuKzEpLHQ9dC5zbGljZSgwLG4pKSx7dHlwZTp0LG5hbWU6ZX19KSl9ZnVuY3Rpb24gQXUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fX29uO2lmKGUpe2Zvcih2YXIgbixpPTAscj0tMSxvPWUubGVuZ3RoO2k8bzsrK2kpbj1lW2ldLHQudHlwZSYmbi50eXBlIT09dC50eXBlfHxuLm5hbWUhPT10Lm5hbWU/ZVsrK3JdPW46dGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKG4udHlwZSxuLmxpc3RlbmVyLG4uY2FwdHVyZSk7KytyP2UubGVuZ3RoPXI6ZGVsZXRlIHRoaXMuX19vbn19fWZ1bmN0aW9uIGt1KHQsZSxuKXt2YXIgaT1TdS5oYXNPd25Qcm9wZXJ0eSh0LnR5cGUpP0V1OlR1O3JldHVybiBmdW5jdGlvbihyLG8sYSl7dmFyIHMsbD10aGlzLl9fb24sYz1pKGUsbyxhKTtpZihsKWZvcih2YXIgdT0wLGg9bC5sZW5ndGg7dTxoOysrdSlpZigocz1sW3VdKS50eXBlPT09dC50eXBlJiZzLm5hbWU9PT10Lm5hbWUpcmV0dXJuIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcixzLmNhcHR1cmUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcj1jLHMuY2FwdHVyZT1uKSx2b2lkKHMudmFsdWU9ZSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKHQudHlwZSxjLG4pLHM9e3R5cGU6dC50eXBlLG5hbWU6dC5uYW1lLHZhbHVlOmUsbGlzdGVuZXI6YyxjYXB0dXJlOm59LGw/bC5wdXNoKHMpOnRoaXMuX19vbj1bc119fWZ1bmN0aW9uIEx1KHQsZSxuLGkpe3ZhciByPU11O3Quc291cmNlRXZlbnQ9TXUsTXU9dDt0cnl7cmV0dXJuIGUuYXBwbHkobixpKX1maW5hbGx5e011PXJ9fWZ1bmN0aW9uIFB1KHQsZSxuKXt2YXIgaT0kYyh0KSxyPWkuQ3VzdG9tRXZlbnQ7ImZ1bmN0aW9uIj09dHlwZW9mIHI/cj1uZXcgcihlLG4pOihyPWkuZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iiksbj8oci5pbml0RXZlbnQoZSxuLmJ1YmJsZXMsbi5jYW5jZWxhYmxlKSxyLmRldGFpbD1uLmRldGFpbCk6ci5pbml0RXZlbnQoZSwhMSwhMSkpLHQuZGlzcGF0Y2hFdmVudChyKX1mdW5jdGlvbiBOdSh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBQdSh0aGlzLHQsZSl9fWZ1bmN0aW9uIEl1KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIFB1KHRoaXMsdCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXZhciBSdT1bbnVsbF07ZnVuY3Rpb24gT3UodCxlKXt0aGlzLl9ncm91cHM9dCx0aGlzLl9wYXJlbnRzPWV9ZnVuY3Rpb24genUoKXtyZXR1cm4gbmV3IE91KFtbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XV0sUnUpfWZ1bmN0aW9uIER1KHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD9uZXcgT3UoW1tkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpXV0sW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudF0pOm5ldyBPdShbW3RdXSxSdSl9T3UucHJvdG90eXBlPXp1LnByb3RvdHlwZT17Y29uc3RydWN0b3I6T3Usc2VsZWN0OmZ1bmN0aW9uIEJ1KHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1SYyh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhLHM9ZVtyXSxsPXMubGVuZ3RoLGM9aVtyXT1uZXcgQXJyYXkobCksdT0wO3U8bDsrK3UpKG89c1t1XSkmJihhPXQuY2FsbChvLG8uX19kYXRhX18sdSxzKSkmJigiX19kYXRhX18iaW4gbyYmKGEuX19kYXRhX189by5fX2RhdGFfXyksY1t1XT1hKTtyZXR1cm4gbmV3IE91KGksdGhpcy5fcGFyZW50cyl9LHNlbGVjdEFsbDpmdW5jdGlvbiBIdSh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9emModCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPVtdLHI9W10sbz0wO288bjsrK28pZm9yKHZhciBhLHM9ZVtvXSxsPXMubGVuZ3RoLGM9MDtjPGw7KytjKShhPXNbY10pJiYoaS5wdXNoKHQuY2FsbChhLGEuX19kYXRhX18sYyxzKSksci5wdXNoKGEpKTtyZXR1cm4gbmV3IE91KGkscil9LGZpbHRlcjpmdW5jdGlvbiBGdSh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9RGModCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPW5ldyBBcnJheShuKSxyPTA7cjxuOysrcilmb3IodmFyIG8sYT1lW3JdLHM9YS5sZW5ndGgsbD1pW3JdPVtdLGM9MDtjPHM7KytjKShvPWFbY10pJiZ0LmNhbGwobyxvLl9fZGF0YV9fLGMsYSkmJmwucHVzaChvKTtyZXR1cm4gbmV3IE91KGksdGhpcy5fcGFyZW50cyl9LGRhdGE6ZnVuY3Rpb24gVnUodCxlKXtpZighdClyZXR1cm4gZj1uZXcgQXJyYXkodGhpcy5zaXplKCkpLHU9LTEsdGhpcy5lYWNoKChmdW5jdGlvbih0KXtmWysrdV09dH0pKSxmO3ZhciBuPWU/VmM6RmMsaT10aGlzLl9wYXJlbnRzLHI9dGhpcy5fZ3JvdXBzOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD0oZnVuY3Rpb24gbyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19KSh0KSk7Zm9yKHZhciBhPXIubGVuZ3RoLHM9bmV3IEFycmF5KGEpLGw9bmV3IEFycmF5KGEpLGM9bmV3IEFycmF5KGEpLHU9MDt1PGE7Kyt1KXt2YXIgaD1pW3VdLGQ9clt1XSxwPWQubGVuZ3RoLGY9dC5jYWxsKGgsaCYmaC5fX2RhdGFfXyx1LGkpLG09Zi5sZW5ndGgsZz1sW3VdPW5ldyBBcnJheShtKSxfPXNbdV09bmV3IEFycmF5KG0pO24oaCxkLGcsXyxjW3VdPW5ldyBBcnJheShwKSxmLGUpO2Zvcih2YXIgeSx2LGI9MCx4PTA7YjxtOysrYilpZih5PWdbYl0pe2ZvcihiPj14JiYoeD1iKzEpOyEodj1fW3hdKSYmKyt4PG07KTt5Ll9uZXh0PXZ8fG51bGx9fXJldHVybihzPW5ldyBPdShzLGkpKS5fZW50ZXI9bCxzLl9leGl0PWMsc30sZW50ZXI6ZnVuY3Rpb24gVXUoKXtyZXR1cm4gbmV3IE91KHRoaXMuX2VudGVyfHx0aGlzLl9ncm91cHMubWFwKEJjKSx0aGlzLl9wYXJlbnRzKX0sZXhpdDpmdW5jdGlvbiBqdSgpe3JldHVybiBuZXcgT3UodGhpcy5fZXhpdHx8dGhpcy5fZ3JvdXBzLm1hcChCYyksdGhpcy5fcGFyZW50cyl9LGpvaW46ZnVuY3Rpb24gR3UodCxlLG4pe3ZhciBpPXRoaXMuZW50ZXIoKSxyPXRoaXMsbz10aGlzLmV4aXQoKTtyZXR1cm4gaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90KGkpOmkuYXBwZW5kKHQrIiIpLG51bGwhPWUmJihyPWUocikpLG51bGw9PW4/by5yZW1vdmUoKTpuKG8pLGkmJnI/aS5tZXJnZShyKS5vcmRlcigpOnJ9LG1lcmdlOmZ1bmN0aW9uIFd1KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsaT1lLmxlbmd0aCxyPU1hdGgubWluKGksbi5sZW5ndGgpLG89bmV3IEFycmF5KGkpLGE9MDthPHI7KythKWZvcih2YXIgcyxsPWVbYV0sYz1uW2FdLHU9bC5sZW5ndGgsaD1vW2FdPW5ldyBBcnJheSh1KSxkPTA7ZDx1OysrZCkocz1sW2RdfHxjW2RdKSYmKGhbZF09cyk7Zm9yKDthPGk7KythKW9bYV09ZVthXTtyZXR1cm4gbmV3IE91KG8sdGhpcy5fcGFyZW50cyl9LG9yZGVyOmZ1bmN0aW9uIHF1KCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPS0xLG49dC5sZW5ndGg7KytlPG47KWZvcih2YXIgaSxyPXRbZV0sbz1yLmxlbmd0aC0xLGE9cltvXTstLW8+PTA7KShpPXJbb10pJiYoYSYmNF5pLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpJiZhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGksYSksYT1pKTtyZXR1cm4gdGhpc30sc29ydDpmdW5jdGlvbiBZdSh0KXtmdW5jdGlvbiBlKGUsbil7cmV0dXJuIGUmJm4/dChlLl9fZGF0YV9fLG4uX19kYXRhX18pOiFlLSFufXR8fCh0PVVjKTtmb3IodmFyIG49dGhpcy5fZ3JvdXBzLGk9bi5sZW5ndGgscj1uZXcgQXJyYXkoaSksbz0wO288aTsrK28pe2Zvcih2YXIgYSxzPW5bb10sbD1zLmxlbmd0aCxjPXJbb109bmV3IEFycmF5KGwpLHU9MDt1PGw7Kyt1KShhPXNbdV0pJiYoY1t1XT1hKTtjLnNvcnQoZSl9cmV0dXJuIG5ldyBPdShyLHRoaXMuX3BhcmVudHMpLm9yZGVyKCl9LGNhbGw6ZnVuY3Rpb24gWHUoKXt2YXIgdD1hcmd1bWVudHNbMF07cmV0dXJuIGFyZ3VtZW50c1swXT10aGlzLHQuYXBwbHkobnVsbCxhcmd1bWVudHMpLHRoaXN9LG5vZGVzOmZ1bmN0aW9uICR1KCl7dmFyIHQ9bmV3IEFycmF5KHRoaXMuc2l6ZSgpKSxlPS0xO3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dFsrK2VdPXRoaXN9KSksdH0sbm9kZTpmdW5jdGlvbiBLdSgpe2Zvcih2YXIgdD10aGlzLl9ncm91cHMsZT0wLG49dC5sZW5ndGg7ZTxuOysrZSlmb3IodmFyIGk9dFtlXSxyPTAsbz1pLmxlbmd0aDtyPG87KytyKXt2YXIgYT1pW3JdO2lmKGEpcmV0dXJuIGF9cmV0dXJuIG51bGx9LHNpemU6ZnVuY3Rpb24gWnUoKXt2YXIgdD0wO3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7Kyt0fSkpLHR9LGVtcHR5OmZ1bmN0aW9uIEp1KCl7cmV0dXJuIXRoaXMubm9kZSgpfSxlYWNoOmZ1bmN0aW9uIFF1KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj0wLGk9ZS5sZW5ndGg7bjxpOysrbilmb3IodmFyIHIsbz1lW25dLGE9MCxzPW8ubGVuZ3RoO2E8czsrK2EpKHI9b1thXSkmJnQuY2FsbChyLHIuX19kYXRhX18sYSxvKTtyZXR1cm4gdGhpc30sYXR0cjpmdW5jdGlvbiB0aCh0LGUpe3ZhciBuPWtjKHQpO2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7dmFyIGk9dGhpcy5ub2RlKCk7cmV0dXJuIG4ubG9jYWw/aS5nZXRBdHRyaWJ1dGVOUyhuLnNwYWNlLG4ubG9jYWwpOmkuZ2V0QXR0cmlidXRlKG4pfXJldHVybiB0aGlzLmVhY2goKG51bGw9PWU/bi5sb2NhbD9HYzpqYzoiZnVuY3Rpb24iPT10eXBlb2YgZT9uLmxvY2FsP1hjOlljOm4ubG9jYWw/cWM6V2MpKG4sZSkpfSxzdHlsZTpmdW5jdGlvbiBlaCh0LGUsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goKG51bGw9PWU/S2M6ImZ1bmN0aW9uIj09dHlwZW9mIGU/SmM6WmMpKHQsZSxudWxsPT1uPyIiOm4pKTpRYyh0aGlzLm5vZGUoKSx0KX0scHJvcGVydHk6ZnVuY3Rpb24gbmgodCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaCgobnVsbD09ZT90dToiZnVuY3Rpb24iPT10eXBlb2YgZT9udTpldSkodCxlKSk6dGhpcy5ub2RlKClbdF19LGNsYXNzZWQ6ZnVuY3Rpb24gaWgodCxlKXt2YXIgbj1pdSh0KyIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgaT1ydSh0aGlzLm5vZGUoKSkscj0tMSxvPW4ubGVuZ3RoOysrcjxvOylpZighaS5jb250YWlucyhuW3JdKSlyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4gdGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgZT91dTplP2x1OmN1KShuLGUpKX0sdGV4dDpmdW5jdGlvbiByaCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9odTooImZ1bmN0aW9uIj09dHlwZW9mIHQ/cHU6ZHUpKHQpKTp0aGlzLm5vZGUoKS50ZXh0Q29udGVudH0saHRtbDpmdW5jdGlvbiBvaCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9mdTooImZ1bmN0aW9uIj09dHlwZW9mIHQ/Z3U6bXUpKHQpKTp0aGlzLm5vZGUoKS5pbm5lckhUTUx9LHJhaXNlOmZ1bmN0aW9uIGFoKCl7cmV0dXJuIHRoaXMuZWFjaChfdSl9LGxvd2VyOmZ1bmN0aW9uIHNoKCl7cmV0dXJuIHRoaXMuZWFjaCh5dSl9LGFwcGVuZDpmdW5jdGlvbiBsaCh0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90Ok5jKHQpO3JldHVybiB0aGlzLnNlbGVjdCgoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcHBlbmRDaGlsZChlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9KSl9LGluc2VydDpmdW5jdGlvbiBjaCh0LGUpe3ZhciBuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TmModCksaT1udWxsPT1lP3Z1OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6UmMoZSk7cmV0dXJuIHRoaXMuc2VsZWN0KChmdW5jdGlvbigpe3JldHVybiB0aGlzLmluc2VydEJlZm9yZShuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxpLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8bnVsbCl9KSl9LHJlbW92ZTpmdW5jdGlvbiB1aCgpe3JldHVybiB0aGlzLmVhY2goYnUpfSxjbG9uZTpmdW5jdGlvbiBoaCh0KXtyZXR1cm4gdGhpcy5zZWxlY3QodD93dTp4dSl9LGRhdHVtOmZ1bmN0aW9uIGRoKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMucHJvcGVydHkoIl9fZGF0YV9fIix0KTp0aGlzLm5vZGUoKS5fX2RhdGFfX30sb246ZnVuY3Rpb24gcGgodCxlLG4pe3ZhciBpLHIsbz1DdSh0KyIiKSxhPW8ubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7Zm9yKHM9ZT9rdTpBdSxudWxsPT1uJiYobj0hMSksaT0wO2k8YTsrK2kpdGhpcy5lYWNoKHMob1tpXSxlLG4pKTtyZXR1cm4gdGhpc312YXIgcz10aGlzLm5vZGUoKS5fX29uO2lmKHMpZm9yKHZhciBsLGM9MCx1PXMubGVuZ3RoO2M8dTsrK2MpZm9yKGk9MCxsPXNbY107aTxhOysraSlpZigocj1vW2ldKS50eXBlPT09bC50eXBlJiZyLm5hbWU9PT1sLm5hbWUpcmV0dXJuIGwudmFsdWV9LGRpc3BhdGNoOmZ1bmN0aW9uIGZoKHQsZSl7cmV0dXJuIHRoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIGU/SXU6TnUpKHQsZSkpfX07dmFyIG1oPTA7ZnVuY3Rpb24gZ2goKXtyZXR1cm4gbmV3IF9ofWZ1bmN0aW9uIF9oKCl7dGhpcy5fPSJAIisoKyttaCkudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIHloKCl7Zm9yKHZhciB0LGU9TXU7dD1lLnNvdXJjZUV2ZW50OyllPXQ7cmV0dXJuIGV9ZnVuY3Rpb24gdmgodCxlKXt2YXIgbj10Lm93bmVyU1ZHRWxlbWVudHx8dDtpZihuLmNyZWF0ZVNWR1BvaW50KXt2YXIgaT1uLmNyZWF0ZVNWR1BvaW50KCk7cmV0dXJuIGkueD1lLmNsaWVudFgsaS55PWUuY2xpZW50WSxbKGk9aS5tYXRyaXhUcmFuc2Zvcm0odC5nZXRTY3JlZW5DVE0oKS5pbnZlcnNlKCkpKS54LGkueV19dmFyIHI9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm5bZS5jbGllbnRYLXIubGVmdC10LmNsaWVudExlZnQsZS5jbGllbnRZLXIudG9wLXQuY2xpZW50VG9wXX1mdW5jdGlvbiBiaCh0KXt2YXIgZT15aCgpO3JldHVybiBlLmNoYW5nZWRUb3VjaGVzJiYoZT1lLmNoYW5nZWRUb3VjaGVzWzBdKSx2aCh0LGUpfWZ1bmN0aW9uIHhoKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD9uZXcgT3UoW2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodCldLFtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdKTpuZXcgT3UoW251bGw9PXQ/W106dF0sUnUpfWZ1bmN0aW9uIHdoKHQsZSxuKXthcmd1bWVudHMubGVuZ3RoPDMmJihuPWUsZT15aCgpLmNoYW5nZWRUb3VjaGVzKTtmb3IodmFyIGkscj0wLG89ZT9lLmxlbmd0aDowO3I8bzsrK3IpaWYoKGk9ZVtyXSkuaWRlbnRpZmllcj09PW4pcmV0dXJuIHZoKHQsaSk7cmV0dXJuIG51bGx9ZnVuY3Rpb24gU2goKXtNdS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBNaCgpe011LnByZXZlbnREZWZhdWx0KCksTXUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gRWgodCl7dmFyIGU9dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsbj1EdSh0KS5vbigiZHJhZ3N0YXJ0LmRyYWciLE1oLCEwKTsib25zZWxlY3RzdGFydCJpbiBlP24ub24oInNlbGVjdHN0YXJ0LmRyYWciLE1oLCEwKTooZS5fX25vc2VsZWN0PWUuc3R5bGUuTW96VXNlclNlbGVjdCxlLnN0eWxlLk1velVzZXJTZWxlY3Q9Im5vbmUiKX1mdW5jdGlvbiBUaCh0LGUpe3ZhciBuPXQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGk9RHUodCkub24oImRyYWdzdGFydC5kcmFnIixudWxsKTtlJiYoaS5vbigiY2xpY2suZHJhZyIsTWgsITApLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aS5vbigiY2xpY2suZHJhZyIsbnVsbCl9KSwwKSksIm9uc2VsZWN0c3RhcnQiaW4gbj9pLm9uKCJzZWxlY3RzdGFydC5kcmFnIixudWxsKToobi5zdHlsZS5Nb3pVc2VyU2VsZWN0PW4uX19ub3NlbGVjdCxkZWxldGUgbi5fX25vc2VsZWN0KX1mdW5jdGlvbiBDaCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gQWgodCxlLG4saSxyLG8sYSxzLGwsYyl7dGhpcy50YXJnZXQ9dCx0aGlzLnR5cGU9ZSx0aGlzLnN1YmplY3Q9bix0aGlzLmlkZW50aWZpZXI9aSx0aGlzLmFjdGl2ZT1yLHRoaXMueD1vLHRoaXMueT1hLHRoaXMuZHg9cyx0aGlzLmR5PWwsdGhpcy5fPWN9ZnVuY3Rpb24ga2goKXtyZXR1cm4hTXUuY3RybEtleSYmIU11LmJ1dHRvbn1mdW5jdGlvbiBMaCgpe3JldHVybiB0aGlzLnBhcmVudE5vZGV9ZnVuY3Rpb24gUGgodCl7cmV0dXJuIG51bGw9PXQ/e3g6TXUueCx5Ok11Lnl9OnR9ZnVuY3Rpb24gTmgoKXtyZXR1cm4gbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzfHwib250b3VjaHN0YXJ0ImluIHRoaXN9ZnVuY3Rpb24gSWgoKXt2YXIgdCxlLG4saSxyPWtoLG89TGgsYT1QaCxzPU5oLGw9e30sYz13Yygic3RhcnQiLCJkcmFnIiwiZW5kIiksdT0wLGg9MDtmdW5jdGlvbiBkKHQpe3Qub24oIm1vdXNlZG93bi5kcmFnIixwKS5maWx0ZXIocykub24oInRvdWNoc3RhcnQuZHJhZyIsZykub24oInRvdWNobW92ZS5kcmFnIixfKS5vbigidG91Y2hlbmQuZHJhZyB0b3VjaGNhbmNlbC5kcmFnIix5KS5zdHlsZSgidG91Y2gtYWN0aW9uIiwibm9uZSIpLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiLCJyZ2JhKDAsMCwwLDApIil9ZnVuY3Rpb24gcCgpe2lmKCFpJiZyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIGE9digibW91c2UiLG8uYXBwbHkodGhpcyxhcmd1bWVudHMpLGJoLHRoaXMsYXJndW1lbnRzKTthJiYoRHUoTXUudmlldykub24oIm1vdXNlbW92ZS5kcmFnIixmLCEwKS5vbigibW91c2V1cC5kcmFnIixtLCEwKSxFaChNdS52aWV3KSxTaCgpLG49ITEsdD1NdS5jbGllbnRYLGU9TXUuY2xpZW50WSxhKCJzdGFydCIpKX19ZnVuY3Rpb24gZigpe2lmKE1oKCksIW4pe3ZhciBpPU11LmNsaWVudFgtdCxyPU11LmNsaWVudFktZTtuPWkqaStyKnI+aH1sLm1vdXNlKCJkcmFnIil9ZnVuY3Rpb24gbSgpe0R1KE11LnZpZXcpLm9uKCJtb3VzZW1vdmUuZHJhZyBtb3VzZXVwLmRyYWciLG51bGwpLFRoKE11LnZpZXcsbiksTWgoKSxsLm1vdXNlKCJlbmQiKX1mdW5jdGlvbiBnKCl7aWYoci5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciB0LGUsbj1NdS5jaGFuZ2VkVG91Y2hlcyxpPW8uYXBwbHkodGhpcyxhcmd1bWVudHMpLGE9bi5sZW5ndGg7Zm9yKHQ9MDt0PGE7Kyt0KShlPXYoblt0XS5pZGVudGlmaWVyLGksd2gsdGhpcyxhcmd1bWVudHMpKSYmKFNoKCksZSgic3RhcnQiKSl9fWZ1bmN0aW9uIF8oKXt2YXIgdCxlLG49TXUuY2hhbmdlZFRvdWNoZXMsaT1uLmxlbmd0aDtmb3IodD0wO3Q8aTsrK3QpKGU9bFtuW3RdLmlkZW50aWZpZXJdKSYmKE1oKCksZSgiZHJhZyIpKX1mdW5jdGlvbiB5KCl7dmFyIHQsZSxuPU11LmNoYW5nZWRUb3VjaGVzLHI9bi5sZW5ndGg7Zm9yKGkmJmNsZWFyVGltZW91dChpKSxpPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aT1udWxsfSksNTAwKSx0PTA7dDxyOysrdCkoZT1sW25bdF0uaWRlbnRpZmllcl0pJiYoU2goKSxlKCJlbmQiKSl9ZnVuY3Rpb24gdih0LGUsbixpLHIpe3ZhciBvLHMsaCxwPW4oZSx0KSxmPWMuY29weSgpO2lmKEx1KG5ldyBBaChkLCJiZWZvcmVzdGFydCIsbyx0LHUscFswXSxwWzFdLDAsMCxmKSwoZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9KE11LnN1YmplY3Q9bz1hLmFwcGx5KGkscikpJiYocz1vLngtcFswXXx8MCxoPW8ueS1wWzFdfHwwLCEwKX0pKSlyZXR1cm4gZnVuY3Rpb24gYShjKXt2YXIgbSxnPXA7c3dpdGNoKGMpe2Nhc2Uic3RhcnQiOmxbdF09YSxtPXUrKzticmVhaztjYXNlImVuZCI6ZGVsZXRlIGxbdF0sLS11O2Nhc2UiZHJhZyI6cD1uKGUsdCksbT11fUx1KG5ldyBBaChkLGMsbyx0LG0scFswXStzLHBbMV0raCxwWzBdLWdbMF0scFsxXS1nWzFdLGYpLGYuYXBwbHksZixbYyxpLHJdKX19cmV0dXJuIGQuZmlsdGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6Q2goISF0KSxkKTpyfSxkLmNvbnRhaW5lcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkNoKHQpLGQpOm99LGQuc3ViamVjdD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkNoKHQpLGQpOmF9LGQudG91Y2hhYmxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6Q2goISF0KSxkKTpzfSxkLm9uPWZ1bmN0aW9uKCl7dmFyIHQ9Yy5vbi5hcHBseShjLGFyZ3VtZW50cyk7cmV0dXJuIHQ9PT1jP2Q6dH0sZC5jbGlja0Rpc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPSh0PSt0KSp0LGQpOk1hdGguc3FydChoKX0sZH1mdW5jdGlvbiBSaCh0LGUsbil7dC5wcm90b3R5cGU9ZS5wcm90b3R5cGU9bixuLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24gT2godCxlKXt2YXIgbj1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIGkgaW4gZSluW2ldPWVbaV07cmV0dXJuIG59ZnVuY3Rpb24gemgoKXt9X2gucHJvdG90eXBlPWdoLnByb3RvdHlwZT17Y29uc3RydWN0b3I6X2gsZ2V0OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLl87IShlIGluIHQpOylpZighKHQ9dC5wYXJlbnROb2RlKSlyZXR1cm47cmV0dXJuIHRbZV19LHNldDpmdW5jdGlvbih0LGUpe3JldHVybiB0W3RoaXMuX109ZX0scmVtb3ZlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl8gaW4gdCYmZGVsZXRlIHRbdGhpcy5fXX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ffX0sQWgucHJvdG90eXBlLm9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fLm9uLmFwcGx5KHRoaXMuXyxhcmd1bWVudHMpO3JldHVybiB0PT09dGhpcy5fP3RoaXM6dH07dmFyIERoPS43LEJoPTEvRGgsSGg9IlxccyooWystXT9cXGQrKVxccyoiLEZoPSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KVxccyoiLFZoPSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KSVcXHMqIixVaD0vXiMoWzAtOWEtZl17Myw4fSkkLyxqaD1uZXcgUmVnRXhwKCJecmdiXFwoIitbSGgsSGgsSGhdKyJcXCkkIiksR2g9bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW1ZoLFZoLFZoXSsiXFwpJCIpLFdoPW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbSGgsSGgsSGgsRmhdKyJcXCkkIikscWg9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tWaCxWaCxWaCxGaF0rIlxcKSQiKSxZaD1uZXcgUmVnRXhwKCJeaHNsXFwoIitbRmgsVmgsVmhdKyJcXCkkIiksWGg9bmV3IFJlZ0V4cCgiXmhzbGFcXCgiK1tGaCxWaCxWaCxGaF0rIlxcKSQiKSwkaD17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiBLaCgpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdEhleCgpfWZ1bmN0aW9uIFpoKCl7cmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0UmdiKCl9ZnVuY3Rpb24gSmgodCl7dmFyIGUsbjtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKGU9VWguZXhlYyh0KSk/KG49ZVsxXS5sZW5ndGgsZT1wYXJzZUludChlWzFdLDE2KSw2PT09bj9RaChlKTozPT09bj9uZXcgaWQoZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgxNSZlKTw8NHwxNSZlLDEpOjg9PT1uP3RkKGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsKDI1NSZlKS8yNTUpOjQ9PT1uP3RkKGU+PjEyJjE1fGU+PjgmMjQwLGU+PjgmMTV8ZT4+NCYyNDAsZT4+NCYxNXwyNDAmZSwoKDE1JmUpPDw0fDE1JmUpLzI1NSk6bnVsbCk6KGU9amguZXhlYyh0KSk/bmV3IGlkKGVbMV0sZVsyXSxlWzNdLDEpOihlPUdoLmV4ZWModCkpP25ldyBpZCgyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCwxKTooZT1XaC5leGVjKHQpKT90ZChlWzFdLGVbMl0sZVszXSxlWzRdKTooZT1xaC5leGVjKHQpKT90ZCgyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCxlWzRdKTooZT1ZaC5leGVjKHQpKT9zZChlWzFdLGVbMl0vMTAwLGVbM10vMTAwLDEpOihlPVhoLmV4ZWModCkpP3NkKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsZVs0XSk6JGguaGFzT3duUHJvcGVydHkodCk/UWgoJGhbdF0pOiJ0cmFuc3BhcmVudCI9PT10P25ldyBpZChOYU4sTmFOLE5hTiwwKTpudWxsfWZ1bmN0aW9uIFFoKHQpe3JldHVybiBuZXcgaWQodD4+MTYmMjU1LHQ+PjgmMjU1LDI1NSZ0LDEpfWZ1bmN0aW9uIHRkKHQsZSxuLGkpe3JldHVybiBpPD0wJiYodD1lPW49TmFOKSxuZXcgaWQodCxlLG4saSl9ZnVuY3Rpb24gZWQodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiB6aHx8KHQ9SmgodCkpLHQ/bmV3IGlkKCh0PXQucmdiKCkpLnIsdC5nLHQuYix0Lm9wYWNpdHkpOm5ldyBpZH1mdW5jdGlvbiBuZCh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/ZWQodCk6bmV3IGlkKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBpZCh0LGUsbixpKXt0aGlzLnI9K3QsdGhpcy5nPStlLHRoaXMuYj0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24gcmQoKXtyZXR1cm4iIyIrYWQodGhpcy5yKSthZCh0aGlzLmcpK2FkKHRoaXMuYil9ZnVuY3Rpb24gb2QoKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJyZ2IoIjoicmdiYSgiKStNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMucil8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5nKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmIpfHwwKSkrKDE9PT10PyIpIjoiLCAiK3QrIikiKX1mdW5jdGlvbiBhZCh0KXtyZXR1cm4oKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0KXx8MCkpKTwxNj8iMCI6IiIpK3QudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIHNkKHQsZSxuLGkpe3JldHVybiBpPD0wP3Q9ZT1uPU5hTjpuPD0wfHxuPj0xP3Q9ZT1OYU46ZTw9MCYmKHQ9TmFOKSxuZXcgdWQodCxlLG4saSl9ZnVuY3Rpb24gbGQodCl7aWYodCBpbnN0YW5jZW9mIHVkKXJldHVybiBuZXcgdWQodC5oLHQucyx0LmwsdC5vcGFjaXR5KTtpZih0IGluc3RhbmNlb2Ygemh8fCh0PUpoKHQpKSwhdClyZXR1cm4gbmV3IHVkO2lmKHQgaW5zdGFuY2VvZiB1ZClyZXR1cm4gdDt2YXIgZT0odD10LnJnYigpKS5yLzI1NSxuPXQuZy8yNTUsaT10LmIvMjU1LHI9TWF0aC5taW4oZSxuLGkpLG89TWF0aC5tYXgoZSxuLGkpLGE9TmFOLHM9by1yLGw9KG8rcikvMjtyZXR1cm4gcz8oYT1lPT09bz8obi1pKS9zKzYqKG48aSk6bj09PW8/KGktZSkvcysyOihlLW4pL3MrNCxzLz1sPC41P28rcjoyLW8tcixhKj02MCk6cz1sPjAmJmw8MT8wOmEsbmV3IHVkKGEscyxsLHQub3BhY2l0eSl9ZnVuY3Rpb24gY2QodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP2xkKHQpOm5ldyB1ZCh0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24gdWQodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIGhkKHQsZSxuKXtyZXR1cm4gMjU1Kih0PDYwP2UrKG4tZSkqdC82MDp0PDE4MD9uOnQ8MjQwP2UrKG4tZSkqKDI0MC10KS82MDplKX1SaCh6aCxKaCx7Y29weTpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgdGhpcy5jb25zdHJ1Y3Rvcix0aGlzLHQpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJnYigpLmRpc3BsYXlhYmxlKCl9LGhleDpLaCxmb3JtYXRIZXg6S2gsZm9ybWF0SHNsOmZ1bmN0aW9uIGRkKCl7cmV0dXJuIGxkKHRoaXMpLmZvcm1hdEhzbCgpfSxmb3JtYXRSZ2I6WmgsdG9TdHJpbmc6Wmh9KSxSaChpZCxuZCxPaCh6aCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9CaDpNYXRoLnBvdyhCaCx0KSxuZXcgaWQodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/RGg6TWF0aC5wb3coRGgsdCksbmV3IGlkKHRoaXMucip0LHRoaXMuZyp0LHRoaXMuYip0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3JldHVybiB0aGlzfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybi0uNTw9dGhpcy5yJiZ0aGlzLnI8MjU1LjUmJi0uNTw9dGhpcy5nJiZ0aGlzLmc8MjU1LjUmJi0uNTw9dGhpcy5iJiZ0aGlzLmI8MjU1LjUmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxoZXg6cmQsZm9ybWF0SGV4OnJkLGZvcm1hdFJnYjpvZCx0b1N0cmluZzpvZH0pKSxSaCh1ZCxjZCxPaCh6aCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9CaDpNYXRoLnBvdyhCaCx0KSxuZXcgdWQodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9EaDpNYXRoLnBvdyhEaCx0KSxuZXcgdWQodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmglMzYwKzM2MCoodGhpcy5oPDApLGU9aXNOYU4odCl8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsbj10aGlzLmwsaT1uKyhuPC41P246MS1uKSplLHI9MipuLWk7cmV0dXJuIG5ldyBpZChoZCh0Pj0yNDA/dC0yNDA6dCsxMjAscixpKSxoZCh0LHIsaSksaGQodDwxMjA/dCsyNDA6dC0xMjAscixpKSx0aGlzLm9wYWNpdHkpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sZm9ybWF0SHNsOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8iaHNsKCI6ImhzbGEoIikrKHRoaXMuaHx8MCkrIiwgIisxMDAqKHRoaXMuc3x8MCkrIiUsICIrMTAwKih0aGlzLmx8fDApKyIlIisoMT09PXQ/IikiOiIsICIrdCsiKSIpfX0pKTt2YXIgcGQ9TWF0aC5QSS8xODAsZmQ9MTgwL01hdGguUEksbWQ9Ljk2NDIyLGdkPS44MjUyMSxfZD00LzI5LHlkPTYvMjksdmQ9Myp5ZCp5ZDtmdW5jdGlvbiBiZCh0KXtpZih0IGluc3RhbmNlb2Ygd2QpcmV0dXJuIG5ldyB3ZCh0LmwsdC5hLHQuYix0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBrZClyZXR1cm4gTGQodCk7dCBpbnN0YW5jZW9mIGlkfHwodD1lZCh0KSk7dmFyIGUsbixpPVRkKHQucikscj1UZCh0LmcpLG89VGQodC5iKSxhPVNkKCguMjIyNTA0NSppKy43MTY4Nzg2KnIrLjA2MDYxNjkqbykvMSk7cmV0dXJuIGk9PT1yJiZyPT09bz9lPW49YTooZT1TZCgoLjQzNjA3NDcqaSsuMzg1MDY0OSpyKy4xNDMwODA0Km8pL21kKSxuPVNkKCguMDEzOTMyMippKy4wOTcxMDQ1KnIrLjcxNDE3MzMqbykvZ2QpKSxuZXcgd2QoMTE2KmEtMTYsNTAwKihlLWEpLDIwMCooYS1uKSx0Lm9wYWNpdHkpfWZ1bmN0aW9uIHhkKHQsZSxuLGkpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD9iZCh0KTpuZXcgd2QodCxlLG4sbnVsbD09aT8xOmkpfWZ1bmN0aW9uIHdkKHQsZSxuLGkpe3RoaXMubD0rdCx0aGlzLmE9K2UsdGhpcy5iPStuLHRoaXMub3BhY2l0eT0raX1mdW5jdGlvbiBTZCh0KXtyZXR1cm4gdD4uMDA4ODU2NDUxNjc5MDM1NjMxP01hdGgucG93KHQsMS8zKTp0L3ZkK19kfWZ1bmN0aW9uIE1kKHQpe3JldHVybiB0PnlkP3QqdCp0OnZkKih0LV9kKX1mdW5jdGlvbiBFZCh0KXtyZXR1cm4gMjU1Kih0PD0uMDAzMTMwOD8xMi45Mip0OjEuMDU1Kk1hdGgucG93KHQsMS8yLjQpLS4wNTUpfWZ1bmN0aW9uIFRkKHQpe3JldHVybih0Lz0yNTUpPD0uMDQwNDU/dC8xMi45MjpNYXRoLnBvdygodCsuMDU1KS8xLjA1NSwyLjQpfWZ1bmN0aW9uIENkKHQpe2lmKHQgaW5zdGFuY2VvZiBrZClyZXR1cm4gbmV3IGtkKHQuaCx0LmMsdC5sLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIHdkfHwodD1iZCh0KSksMD09PXQuYSYmMD09PXQuYilyZXR1cm4gbmV3IGtkKE5hTiwwPHQubCYmdC5sPDEwMD8wOk5hTix0LmwsdC5vcGFjaXR5KTt2YXIgZT1NYXRoLmF0YW4yKHQuYix0LmEpKmZkO3JldHVybiBuZXcga2QoZTwwP2UrMzYwOmUsTWF0aC5zcXJ0KHQuYSp0LmErdC5iKnQuYiksdC5sLHQub3BhY2l0eSl9ZnVuY3Rpb24gQWQodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP0NkKHQpOm5ldyBrZCh0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24ga2QodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMuYz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIExkKHQpe2lmKGlzTmFOKHQuaCkpcmV0dXJuIG5ldyB3ZCh0LmwsMCwwLHQub3BhY2l0eSk7dmFyIGU9dC5oKnBkO3JldHVybiBuZXcgd2QodC5sLE1hdGguY29zKGUpKnQuYyxNYXRoLnNpbihlKSp0LmMsdC5vcGFjaXR5KX1SaCh3ZCx4ZCxPaCh6aCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB3ZCh0aGlzLmwrMTgqKG51bGw9PXQ/MTp0KSx0aGlzLmEsdGhpcy5iLHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IHdkKHRoaXMubC0xOCoobnVsbD09dD8xOnQpLHRoaXMuYSx0aGlzLmIsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9KHRoaXMubCsxNikvMTE2LGU9aXNOYU4odGhpcy5hKT90OnQrdGhpcy5hLzUwMCxuPWlzTmFOKHRoaXMuYik/dDp0LXRoaXMuYi8yMDA7cmV0dXJuIG5ldyBpZChFZCgzLjEzMzg1NjEqKGU9bWQqTWQoZSkpLTEuNjE2ODY2NyoodD0xKk1kKHQpKS0uNDkwNjE0Nioobj1nZCpNZChuKSkpLEVkKC0uOTc4NzY4NCplKzEuOTE2MTQxNSp0Ky4wMzM0NTQqbiksRWQoLjA3MTk0NTMqZS0uMjI4OTkxNCp0KzEuNDA1MjQyNypuKSx0aGlzLm9wYWNpdHkpfX0pKSxSaChrZCxBZCxPaCh6aCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrZCh0aGlzLmgsdGhpcy5jLHRoaXMubCsxOCoobnVsbD09dD8xOnQpLHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGtkKHRoaXMuaCx0aGlzLmMsdGhpcy5sLTE4KihudWxsPT10PzE6dCksdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIExkKHRoaXMpLnJnYigpfX0pKTt2YXIgUGQ9LS4xNDg2MSxOZD0xLjc4Mjc3LElkPS0uMjkyMjcsUmQ9LS45MDY0OSxPZD0xLjk3Mjk0LHpkPU9kKlJkLERkPU9kKk5kLEJkPU5kKklkLVJkKlBkO2Z1bmN0aW9uIEhkKHQpe2lmKHQgaW5zdGFuY2VvZiBWZClyZXR1cm4gbmV3IFZkKHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7dCBpbnN0YW5jZW9mIGlkfHwodD1lZCh0KSk7dmFyIGU9dC5nLzI1NSxuPXQuYi8yNTUsaT0oQmQqbit6ZCoodC5yLzI1NSktRGQqZSkvLTUuOTYxNTEyMjkxMixyPW4taSxvPShPZCooZS1pKS1JZCpyKS9SZCxhPU1hdGguc3FydChvKm8rcipyKS8oT2QqaSooMS1pKSkscz1hP01hdGguYXRhbjIobyxyKSpmZC0xMjA6TmFOO3JldHVybiBuZXcgVmQoczwwP3MrMzYwOnMsYSxpLHQub3BhY2l0eSl9ZnVuY3Rpb24gRmQodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP0hkKHQpOm5ldyBWZCh0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24gVmQodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIFVkKHQsZSxuLGkscil7dmFyIG89dCp0LGE9byp0O3JldHVybigoMS0zKnQrMypvLWEpKmUrKDQtNipvKzMqYSkqbisoMSszKnQrMypvLTMqYSkqaSthKnIpLzZ9ZnVuY3Rpb24gamQodCl7dmFyIGU9dC5sZW5ndGgtMTtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGk9bjw9MD9uPTA6bj49MT8obj0xLGUtMSk6TWF0aC5mbG9vcihuKmUpLHI9dFtpXSxvPXRbaSsxXTtyZXR1cm4gVWQoKG4taS9lKSplLGk+MD90W2ktMV06MipyLW8scixvLGk8ZS0xP3RbaSsyXToyKm8tcil9fWZ1bmN0aW9uIEdkKHQpe3ZhciBlPXQubGVuZ3RoO3JldHVybiBmdW5jdGlvbihuKXt2YXIgaT1NYXRoLmZsb29yKCgobiU9MSk8MD8rK246bikqZSk7cmV0dXJuIFVkKChuLWkvZSkqZSx0WyhpK2UtMSklZV0sdFtpJWVdLHRbKGkrMSklZV0sdFsoaSsyKSVlXSl9fWZ1bmN0aW9uIFdkKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBxZCh0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdCtuKmV9fWZ1bmN0aW9uIFlkKHQsZSl7dmFyIG49ZS10O3JldHVybiBuP3FkKHQsbj4xODB8fG48LTE4MD9uLTM2MCpNYXRoLnJvdW5kKG4vMzYwKTpuKTpXZChpc05hTih0KT9lOnQpfWZ1bmN0aW9uIFhkKHQpe3JldHVybiAxPT0odD0rdCk/JGQ6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbi1lPyhmdW5jdGlvbiBpKHQsZSxuKXtyZXR1cm4gdD1NYXRoLnBvdyh0LG4pLGU9TWF0aC5wb3coZSxuKS10LG49MS9uLGZ1bmN0aW9uKGkpe3JldHVybiBNYXRoLnBvdyh0K2kqZSxuKX19KShlLG4sdCk6V2QoaXNOYU4oZSk/bjplKX19ZnVuY3Rpb24gJGQodCxlKXt2YXIgbj1lLXQ7cmV0dXJuIG4/cWQodCxuKTpXZChpc05hTih0KT9lOnQpfVJoKFZkLEZkLE9oKHpoLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P0JoOk1hdGgucG93KEJoLHQpLG5ldyBWZCh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P0RoOk1hdGgucG93KERoLHQpLG5ldyBWZCh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3ZhciB0PWlzTmFOKHRoaXMuaCk/MDoodGhpcy5oKzEyMCkqcGQsZT0rdGhpcy5sLG49aXNOYU4odGhpcy5zKT8wOnRoaXMucyplKigxLWUpLGk9TWF0aC5jb3ModCkscj1NYXRoLnNpbih0KTtyZXR1cm4gbmV3IGlkKDI1NSooZStuKihQZCppK05kKnIpKSwyNTUqKGUrbiooSWQqaStSZCpyKSksMjU1KihlK24qKE9kKmkpKSx0aGlzLm9wYWNpdHkpfX0pKTt2YXIgS2Q9KGZ1bmN0aW9uIHQoZSl7dmFyIG49WGQoZSk7ZnVuY3Rpb24gaSh0LGUpe3ZhciBpPW4oKHQ9bmQodCkpLnIsKGU9bmQoZSkpLnIpLHI9bih0LmcsZS5nKSxvPW4odC5iLGUuYiksYT0kZCh0Lm9wYWNpdHksZS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQucj1pKGUpLHQuZz1yKGUpLHQuYj1vKGUpLHQub3BhY2l0eT1hKGUpLHQrIiJ9fXJldHVybiBpLmdhbW1hPXQsaX0pKDEpO2Z1bmN0aW9uIFpkKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgbixpLHI9ZS5sZW5ndGgsbz1uZXcgQXJyYXkociksYT1uZXcgQXJyYXkocikscz1uZXcgQXJyYXkocik7Zm9yKG49MDtuPHI7KytuKWk9bmQoZVtuXSksb1tuXT1pLnJ8fDAsYVtuXT1pLmd8fDAsc1tuXT1pLmJ8fDA7cmV0dXJuIG89dChvKSxhPXQoYSkscz10KHMpLGkub3BhY2l0eT0xLGZ1bmN0aW9uKHQpe3JldHVybiBpLnI9byh0KSxpLmc9YSh0KSxpLmI9cyh0KSxpKyIifX19dmFyIEpkPVpkKGpkKSxRZD1aZChHZCk7ZnVuY3Rpb24gdHAodCxlKXtlfHwoZT1bXSk7dmFyIG4saT10P01hdGgubWluKGUubGVuZ3RoLHQubGVuZ3RoKTowLHI9ZS5zbGljZSgpO3JldHVybiBmdW5jdGlvbihvKXtmb3Iobj0wO248aTsrK24pcltuXT10W25dKigxLW8pK2Vbbl0qbztyZXR1cm4gcn19ZnVuY3Rpb24gZXAodCl7cmV0dXJuIEFycmF5QnVmZmVyLmlzVmlldyh0KSYmISh0IGluc3RhbmNlb2YgRGF0YVZpZXcpfWZ1bmN0aW9uIG5wKHQsZSl7dmFyIG4saT1lP2UubGVuZ3RoOjAscj10P01hdGgubWluKGksdC5sZW5ndGgpOjAsbz1uZXcgQXJyYXkociksYT1uZXcgQXJyYXkoaSk7Zm9yKG49MDtuPHI7KytuKW9bbl09Y3AodFtuXSxlW25dKTtmb3IoO248aTsrK24pYVtuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3Iobj0wO248cjsrK24pYVtuXT1vW25dKHQpO3JldHVybiBhfX1mdW5jdGlvbiBpcCh0LGUpe3ZhciBuPW5ldyBEYXRlO3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24oaSl7cmV0dXJuIG4uc2V0VGltZSh0KigxLWkpK2UqaSksbn19ZnVuY3Rpb24gcnAodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiB0KigxLW4pK2Uqbn19ZnVuY3Rpb24gb3AodCxlKXt2YXIgbixpPXt9LHI9e307Zm9yKG4gaW4gbnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdHx8KHQ9e30pLG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGV8fChlPXt9KSxlKW4gaW4gdD9pW25dPWNwKHRbbl0sZVtuXSk6cltuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3IobiBpbiBpKXJbbl09aVtuXSh0KTtyZXR1cm4gcn19dmFyIGFwPS9bLStdPyg/OlxkK1wuP1xkKnxcLj9cZCspKD86W2VFXVstK10/XGQrKT8vZyxzcD1uZXcgUmVnRXhwKGFwLnNvdXJjZSwiZyIpO2Z1bmN0aW9uIGxwKHQsZSl7dmFyIG4saSxyLG89YXAubGFzdEluZGV4PXNwLmxhc3RJbmRleD0wLGE9LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsobj1hcC5leGVjKHQpKSYmKGk9c3AuZXhlYyhlKSk7KShyPWkuaW5kZXgpPm8mJihyPWUuc2xpY2UobyxyKSxzW2FdP3NbYV0rPXI6c1srK2FdPXIpLChuPW5bMF0pPT09KGk9aVswXSk/c1thXT9zW2FdKz1pOnNbKythXT1pOihzWysrYV09bnVsbCxsLnB1c2goe2k6YSx4OnJwKG4saSl9KSksbz1zcC5sYXN0SW5kZXg7cmV0dXJuIG88ZS5sZW5ndGgmJihyPWUuc2xpY2Uobyksc1thXT9zW2FdKz1yOnNbKythXT1yKSxzLmxlbmd0aDwyP2xbMF0/KGZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpKyIifX0pKGxbMF0ueCk6KGZ1bmN0aW9uIHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkoZSk6KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciBuLGk9MDtpPGU7KytpKXNbKG49bFtpXSkuaV09bi54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9ZnVuY3Rpb24gY3AodCxlKXt2YXIgbixpPXR5cGVvZiBlO3JldHVybiBudWxsPT1lfHwiYm9vbGVhbiI9PT1pP1dkKGUpOigibnVtYmVyIj09PWk/cnA6InN0cmluZyI9PT1pPyhuPUpoKGUpKT8oZT1uLEtkKTpscDplIGluc3RhbmNlb2YgSmg/S2Q6ZSBpbnN0YW5jZW9mIERhdGU/aXA6ZXAoZSk/dHA6QXJyYXkuaXNBcnJheShlKT9ucDoiZnVuY3Rpb24iIT10eXBlb2YgZS52YWx1ZU9mJiYiZnVuY3Rpb24iIT10eXBlb2YgZS50b1N0cmluZ3x8aXNOYU4oZSk/b3A6cnApKHQsZSl9ZnVuY3Rpb24gdXAodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiBNYXRoLnJvdW5kKHQqKDEtbikrZSpuKX19dmFyIGhwLGRwLHBwLGZwLG1wPTE4MC9NYXRoLlBJLGdwPXt0cmFuc2xhdGVYOjAsdHJhbnNsYXRlWTowLHJvdGF0ZTowLHNrZXdYOjAsc2NhbGVYOjEsc2NhbGVZOjF9O2Z1bmN0aW9uIF9wKHQsZSxuLGkscixvKXt2YXIgYSxzLGw7cmV0dXJuKGE9TWF0aC5zcXJ0KHQqdCtlKmUpKSYmKHQvPWEsZS89YSksKGw9dCpuK2UqaSkmJihuLT10KmwsaS09ZSpsKSwocz1NYXRoLnNxcnQobipuK2kqaSkpJiYobi89cyxpLz1zLGwvPXMpLHQqaTxlKm4mJih0PS10LGU9LWUsbD0tbCxhPS1hKSx7dHJhbnNsYXRlWDpyLHRyYW5zbGF0ZVk6byxyb3RhdGU6TWF0aC5hdGFuMihlLHQpKm1wLHNrZXdYOk1hdGguYXRhbihsKSptcCxzY2FsZVg6YSxzY2FsZVk6c319ZnVuY3Rpb24geXAodCxlLG4saSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5sZW5ndGg/dC5wb3AoKSsiICI6IiJ9cmV0dXJuIGZ1bmN0aW9uKG8sYSl7dmFyIHM9W10sbD1bXTtyZXR1cm4gbz10KG8pLGE9dChhKSwoZnVuY3Rpb24gYyh0LGkscixvLGEscyl7aWYodCE9PXJ8fGkhPT1vKXt2YXIgbD1hLnB1c2goInRyYW5zbGF0ZSgiLG51bGwsZSxudWxsLG4pO3MucHVzaCh7aTpsLTQseDpycCh0LHIpfSx7aTpsLTIseDpycChpLG8pfSl9ZWxzZShyfHxvKSYmYS5wdXNoKCJ0cmFuc2xhdGUoIityK2UrbytuKX0pKG8udHJhbnNsYXRlWCxvLnRyYW5zbGF0ZVksYS50cmFuc2xhdGVYLGEudHJhbnNsYXRlWSxzLGwpLChmdW5jdGlvbiB1KHQsZSxuLG8pe3QhPT1lPyh0LWU+MTgwP2UrPTM2MDplLXQ+MTgwJiYodCs9MzYwKSxvLnB1c2goe2k6bi5wdXNoKHIobikrInJvdGF0ZSgiLG51bGwsaSktMix4OnJwKHQsZSl9KSk6ZSYmbi5wdXNoKHIobikrInJvdGF0ZSgiK2UraSl9KShvLnJvdGF0ZSxhLnJvdGF0ZSxzLGwpLChmdW5jdGlvbiBoKHQsZSxuLG8pe3QhPT1lP28ucHVzaCh7aTpuLnB1c2gocihuKSsic2tld1goIixudWxsLGkpLTIseDpycCh0LGUpfSk6ZSYmbi5wdXNoKHIobikrInNrZXdYKCIrZStpKX0pKG8uc2tld1gsYS5za2V3WCxzLGwpLChmdW5jdGlvbiBkKHQsZSxuLGksbyxhKXtpZih0IT09bnx8ZSE9PWkpe3ZhciBzPW8ucHVzaChyKG8pKyJzY2FsZSgiLG51bGwsIiwiLG51bGwsIikiKTthLnB1c2goe2k6cy00LHg6cnAodCxuKX0se2k6cy0yLHg6cnAoZSxpKX0pfWVsc2UgMT09PW4mJjE9PT1pfHxvLnB1c2gocihvKSsic2NhbGUoIituKyIsIitpKyIpIil9KShvLnNjYWxlWCxvLnNjYWxlWSxhLnNjYWxlWCxhLnNjYWxlWSxzLGwpLG89YT1udWxsLGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPS0xLGk9bC5sZW5ndGg7KytuPGk7KXNbKGU9bFtuXSkuaV09ZS54KHQpO3JldHVybiBzLmpvaW4oIiIpfX19dmFyIHZwPXlwKChmdW5jdGlvbiBicCh0KXtyZXR1cm4ibm9uZSI9PT10P2dwOihocHx8KGhwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpLGRwPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxwcD1kb2N1bWVudC5kZWZhdWx0VmlldyksaHAuc3R5bGUudHJhbnNmb3JtPXQsdD1wcC5nZXRDb21wdXRlZFN0eWxlKGRwLmFwcGVuZENoaWxkKGhwKSxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJ0cmFuc2Zvcm0iKSxkcC5yZW1vdmVDaGlsZChocCksX3AoKyh0PXQuc2xpY2UoNywtMSkuc3BsaXQoIiwiKSlbMF0sK3RbMV0sK3RbMl0sK3RbM10sK3RbNF0sK3RbNV0pKX0pLCJweCwgIiwicHgpIiwiZGVnKSIpLHhwPXlwKChmdW5jdGlvbiB3cCh0KXtyZXR1cm4gbnVsbD09dD9ncDooZnB8fChmcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpKSxmcC5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsdCksKHQ9ZnAudHJhbnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKSk/X3AoKHQ9dC5tYXRyaXgpLmEsdC5iLHQuYyx0LmQsdC5lLHQuZik6Z3ApfSksIiwgIiwiKSIsIikiKSxTcD1NYXRoLlNRUlQyO2Z1bmN0aW9uIE1wKHQpe3JldHVybigodD1NYXRoLmV4cCh0KSkrMS90KS8yfWZ1bmN0aW9uIEVwKHQsZSl7dmFyIG4saSxyPXRbMF0sbz10WzFdLGE9dFsyXSxzPWVbMl0sbD1lWzBdLXIsYz1lWzFdLW8sdT1sKmwrYypjO2lmKHU8MWUtMTIpaT1NYXRoLmxvZyhzL2EpL1NwLG49ZnVuY3Rpb24odCl7cmV0dXJuW3IrdCpsLG8rdCpjLGEqTWF0aC5leHAoU3AqdCppKV19O2Vsc2V7dmFyIGg9TWF0aC5zcXJ0KHUpLGQ9KHMqcy1hKmErNCp1KS8oMiphKjIqaCkscD0ocypzLWEqYS00KnUpLygyKnMqMipoKSxmPU1hdGgubG9nKE1hdGguc3FydChkKmQrMSktZCksbT1NYXRoLmxvZyhNYXRoLnNxcnQocCpwKzEpLXApO2k9KG0tZikvU3Asbj1mdW5jdGlvbih0KXt2YXIgZT10Kmksbj1NcChmKSxzPWEvKDIqaCkqKG4qKGZ1bmN0aW9uIHUodCl7cmV0dXJuKCh0PU1hdGguZXhwKDIqdCkpLTEpLyh0KzEpfSkoU3AqZStmKS0oZnVuY3Rpb24gZCh0KXtyZXR1cm4oKHQ9TWF0aC5leHAodCkpLTEvdCkvMn0pKGYpKTtyZXR1cm5bcitzKmwsbytzKmMsYSpuL01wKFNwKmUrZildfX1yZXR1cm4gbi5kdXJhdGlvbj0xZTMqaSxufWZ1bmN0aW9uIFRwKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciBpPXQoKGU9Y2QoZSkpLmgsKG49Y2QobikpLmgpLHI9JGQoZS5zLG4ucyksbz0kZChlLmwsbi5sKSxhPSRkKGUub3BhY2l0eSxuLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZS5oPWkodCksZS5zPXIodCksZS5sPW8odCksZS5vcGFjaXR5PWEodCksZSsiIn19fXZhciBDcD1UcChZZCksQXA9VHAoJGQpO2Z1bmN0aW9uIGtwKHQsZSl7dmFyIG49JGQoKHQ9eGQodCkpLmwsKGU9eGQoZSkpLmwpLGk9JGQodC5hLGUuYSkscj0kZCh0LmIsZS5iKSxvPSRkKHQub3BhY2l0eSxlLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5sPW4oZSksdC5hPWkoZSksdC5iPXIoZSksdC5vcGFjaXR5PW8oZSksdCsiIn19ZnVuY3Rpb24gTHAodCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dmFyIGk9dCgoZT1BZChlKSkuaCwobj1BZChuKSkuaCkscj0kZChlLmMsbi5jKSxvPSRkKGUubCxuLmwpLGE9JGQoZS5vcGFjaXR5LG4ub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBlLmg9aSh0KSxlLmM9cih0KSxlLmw9byh0KSxlLm9wYWNpdHk9YSh0KSxlKyIifX19dmFyIFBwPUxwKFlkKSxOcD1McCgkZCk7ZnVuY3Rpb24gSXAodCl7cmV0dXJuKGZ1bmN0aW9uIGUobil7ZnVuY3Rpb24gaShlLGkpe3ZhciByPXQoKGU9RmQoZSkpLmgsKGk9RmQoaSkpLmgpLG89JGQoZS5zLGkucyksYT0kZChlLmwsaS5sKSxzPSRkKGUub3BhY2l0eSxpLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZS5oPXIodCksZS5zPW8odCksZS5sPWEoTWF0aC5wb3codCxuKSksZS5vcGFjaXR5PXModCksZSsiIn19cmV0dXJuIG49K24saS5nYW1tYT1lLGl9KSgxKX12YXIgUnA9SXAoWWQpLE9wPUlwKCRkKTt2YXIgenAsRHAsQnA9MCxIcD0wLEZwPTAsVnA9MCxVcD0wLGpwPTAsR3A9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlOkRhdGUsV3A9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdyk6ZnVuY3Rpb24odCl7c2V0VGltZW91dCh0LDE3KX07ZnVuY3Rpb24gcXAoKXtyZXR1cm4gVXB8fChXcChZcCksVXA9R3Aubm93KCkranApfWZ1bmN0aW9uIFlwKCl7VXA9MH1mdW5jdGlvbiBYcCgpe3RoaXMuX2NhbGw9dGhpcy5fdGltZT10aGlzLl9uZXh0PW51bGx9ZnVuY3Rpb24gJHAodCxlLG4pe3ZhciBpPW5ldyBYcDtyZXR1cm4gaS5yZXN0YXJ0KHQsZSxuKSxpfWZ1bmN0aW9uIEtwKCl7cXAoKSwrK0JwO2Zvcih2YXIgdCxlPXpwO2U7KSh0PVVwLWUuX3RpbWUpPj0wJiZlLl9jYWxsLmNhbGwobnVsbCx0KSxlPWUuX25leHQ7LS1CcH1mdW5jdGlvbiBacCgpe1VwPShWcD1HcC5ub3coKSkranAsQnA9SHA9MDt0cnl7S3AoKX1maW5hbGx5e0JwPTAsKGZ1bmN0aW9uIHQoKXt2YXIgdCxlLG49enAsaT0xLzA7Zm9yKDtuOyluLl9jYWxsPyhpPm4uX3RpbWUmJihpPW4uX3RpbWUpLHQ9bixuPW4uX25leHQpOihlPW4uX25leHQsbi5fbmV4dD1udWxsLG49dD90Ll9uZXh0PWU6enA9ZSk7RHA9dCxRcChpKX0pKCksVXA9MH19ZnVuY3Rpb24gSnAoKXt2YXIgdD1HcC5ub3coKSxlPXQtVnA7ZT4xZTMmJihqcC09ZSxWcD10KX1mdW5jdGlvbiBRcCh0KXtCcHx8KEhwJiYoSHA9Y2xlYXJUaW1lb3V0KEhwKSksdC1VcD4yND8odDwxLzAmJihIcD1zZXRUaW1lb3V0KFpwLHQtR3Aubm93KCktanApKSxGcCYmKEZwPWNsZWFySW50ZXJ2YWwoRnApKSk6KEZwfHwoVnA9R3Aubm93KCksRnA9c2V0SW50ZXJ2YWwoSnAsMWUzKSksQnA9MSxXcChacCkpKX1mdW5jdGlvbiB0Zih0LGUsbil7dmFyIGk9bmV3IFhwO3JldHVybiBpLnJlc3RhcnQoKGZ1bmN0aW9uKG4pe2kuc3RvcCgpLHQobitlKX0pLGU9bnVsbD09ZT8wOitlLG4pLGl9WHAucHJvdG90eXBlPSRwLnByb3RvdHlwZT17Y29uc3RydWN0b3I6WHAscmVzdGFydDpmdW5jdGlvbih0LGUsbil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiY2FsbGJhY2sgaXMgbm90IGEgZnVuY3Rpb24iKTtuPShudWxsPT1uP3FwKCk6K24pKyhudWxsPT1lPzA6K2UpLHRoaXMuX25leHR8fERwPT09dGhpc3x8KERwP0RwLl9uZXh0PXRoaXM6enA9dGhpcyxEcD10aGlzKSx0aGlzLl9jYWxsPXQsdGhpcy5fdGltZT1uLFFwKCl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLl9jYWxsJiYodGhpcy5fY2FsbD1udWxsLHRoaXMuX3RpbWU9MS8wLFFwKCkpfX07dmFyIGVmPXdjKCJzdGFydCIsImVuZCIsImNhbmNlbCIsImludGVycnVwdCIpLG5mPVtdO2Z1bmN0aW9uIHJmKHQsZSxuLGkscixvKXt2YXIgYT10Ll9fdHJhbnNpdGlvbjtpZihhKXtpZihuIGluIGEpcmV0dXJufWVsc2UgdC5fX3RyYW5zaXRpb249e307IShmdW5jdGlvbiBzKHQsZSxuKXt2YXIgaSxyPXQuX190cmFuc2l0aW9uO2Z1bmN0aW9uIG8odCl7bi5zdGF0ZT0xLG4udGltZXIucmVzdGFydChhLG4uZGVsYXksbi50aW1lKSxuLmRlbGF5PD10JiZhKHQtbi5kZWxheSl9ZnVuY3Rpb24gYShvKXt2YXIgYyx1LGgsZDtpZigxIT09bi5zdGF0ZSlyZXR1cm4gbCgpO2ZvcihjIGluIHIpaWYoKGQ9cltjXSkubmFtZT09PW4ubmFtZSl7aWYoMz09PWQuc3RhdGUpcmV0dXJuIHRmKGEpOzQ9PT1kLnN0YXRlPyhkLnN0YXRlPTYsZC50aW1lci5zdG9wKCksZC5vbi5jYWxsKCJpbnRlcnJ1cHQiLHQsdC5fX2RhdGFfXyxkLmluZGV4LGQuZ3JvdXApLGRlbGV0ZSByW2NdKTorYzxlJiYoZC5zdGF0ZT02LGQudGltZXIuc3RvcCgpLGQub24uY2FsbCgiY2FuY2VsIix0LHQuX19kYXRhX18sZC5pbmRleCxkLmdyb3VwKSxkZWxldGUgcltjXSl9aWYodGYoKGZ1bmN0aW9uKCl7Mz09PW4uc3RhdGUmJihuLnN0YXRlPTQsbi50aW1lci5yZXN0YXJ0KHMsbi5kZWxheSxuLnRpbWUpLHMobykpfSkpLG4uc3RhdGU9MixuLm9uLmNhbGwoInN0YXJ0Iix0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSwyPT09bi5zdGF0ZSl7Zm9yKG4uc3RhdGU9MyxpPW5ldyBBcnJheShoPW4udHdlZW4ubGVuZ3RoKSxjPTAsdT0tMTtjPGg7KytjKShkPW4udHdlZW5bY10udmFsdWUuY2FsbCh0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSkmJihpWysrdV09ZCk7aS5sZW5ndGg9dSsxfX1mdW5jdGlvbiBzKGUpe2Zvcih2YXIgcj1lPG4uZHVyYXRpb24/bi5lYXNlLmNhbGwobnVsbCxlL24uZHVyYXRpb24pOihuLnRpbWVyLnJlc3RhcnQobCksbi5zdGF0ZT01LDEpLG89LTEsYT1pLmxlbmd0aDsrK288YTspaVtvXS5jYWxsKHQscik7NT09PW4uc3RhdGUmJihuLm9uLmNhbGwoImVuZCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksbCgpKX1mdW5jdGlvbiBsKCl7Zm9yKHZhciBpIGluIG4uc3RhdGU9NixuLnRpbWVyLnN0b3AoKSxkZWxldGUgcltlXSxyKXJldHVybjtkZWxldGUgdC5fX3RyYW5zaXRpb259cltlXT1uLG4udGltZXI9JHAobywwLG4udGltZSl9KSh0LG4se25hbWU6ZSxpbmRleDppLGdyb3VwOnIsb246ZWYsdHdlZW46bmYsdGltZTpvLnRpbWUsZGVsYXk6by5kZWxheSxkdXJhdGlvbjpvLmR1cmF0aW9uLGVhc2U6by5lYXNlLHRpbWVyOm51bGwsc3RhdGU6MH0pfWZ1bmN0aW9uIG9mKHQsZSl7dmFyIG49c2YodCxlKTtpZihuLnN0YXRlPjApdGhyb3cgbmV3IEVycm9yKCJ0b28gbGF0ZTsgYWxyZWFkeSBzY2hlZHVsZWQiKTtyZXR1cm4gbn1mdW5jdGlvbiBhZih0LGUpe3ZhciBuPXNmKHQsZSk7aWYobi5zdGF0ZT4zKXRocm93IG5ldyBFcnJvcigidG9vIGxhdGU7IGFscmVhZHkgcnVubmluZyIpO3JldHVybiBufWZ1bmN0aW9uIHNmKHQsZSl7dmFyIG49dC5fX3RyYW5zaXRpb247aWYoIW58fCEobj1uW2VdKSl0aHJvdyBuZXcgRXJyb3IoInRyYW5zaXRpb24gbm90IGZvdW5kIik7cmV0dXJuIG59ZnVuY3Rpb24gbGYodCxlKXt2YXIgbixpLHIsbz10Ll9fdHJhbnNpdGlvbixhPSEwO2lmKG8pe2ZvcihyIGluIGU9bnVsbD09ZT9udWxsOmUrIiIsbykobj1vW3JdKS5uYW1lPT09ZT8oaT1uLnN0YXRlPjImJm4uc3RhdGU8NSxuLnN0YXRlPTYsbi50aW1lci5zdG9wKCksbi5vbi5jYWxsKGk/ImludGVycnVwdCI6ImNhbmNlbCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksZGVsZXRlIG9bcl0pOmE9ITE7YSYmZGVsZXRlIHQuX190cmFuc2l0aW9ufX1mdW5jdGlvbiBjZih0LGUpe3ZhciBuLGk7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9YWYodGhpcyx0KSxvPXIudHdlZW47aWYobyE9PW4pZm9yKHZhciBhPTAscz0oaT1uPW8pLmxlbmd0aDthPHM7KythKWlmKGlbYV0ubmFtZT09PWUpeyhpPWkuc2xpY2UoKSkuc3BsaWNlKGEsMSk7YnJlYWt9ci50d2Vlbj1pfX1mdW5jdGlvbiB1Zih0LGUsbil7dmFyIGkscjtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG89YWYodGhpcyx0KSxhPW8udHdlZW47aWYoYSE9PWkpe3I9KGk9YSkuc2xpY2UoKTtmb3IodmFyIHM9e25hbWU6ZSx2YWx1ZTpufSxsPTAsYz1yLmxlbmd0aDtsPGM7KytsKWlmKHJbbF0ubmFtZT09PWUpe3JbbF09czticmVha31sPT09YyYmci5wdXNoKHMpfW8udHdlZW49cn19ZnVuY3Rpb24gaGYodCxlLG4pe3ZhciBpPXQuX2lkO3JldHVybiB0LmVhY2goKGZ1bmN0aW9uKCl7dmFyIHQ9YWYodGhpcyxpKTsodC52YWx1ZXx8KHQudmFsdWU9e30pKVtlXT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pKSxmdW5jdGlvbih0KXtyZXR1cm4gc2YodCxpKS52YWx1ZVtlXX19ZnVuY3Rpb24gZGYodCxlKXt2YXIgbjtyZXR1cm4oIm51bWJlciI9PXR5cGVvZiBlP3JwOmUgaW5zdGFuY2VvZiBKaD9LZDoobj1KaChlKSk/KGU9bixLZCk6bHApKHQsZSl9ZnVuY3Rpb24gcGYodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIGZmKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19ZnVuY3Rpb24gbWYodCxlLG4pe3ZhciBpLHIsbz1uKyIiO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0QXR0cmlidXRlKHQpO3JldHVybiBhPT09bz9udWxsOmE9PT1pP3I6cj1lKGk9YSxuKX19ZnVuY3Rpb24gZ2YodCxlLG4pe3ZhciBpLHIsbz1uKyIiO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKTtyZXR1cm4gYT09PW8/bnVsbDphPT09aT9yOnI9ZShpPWEsbil9fWZ1bmN0aW9uIF9mKHQsZSxuKXt2YXIgaSxyLG87cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGEscyxsPW4odGhpcyk7aWYobnVsbCE9bClyZXR1cm4oYT10aGlzLmdldEF0dHJpYnV0ZSh0KSk9PT0ocz1sKyIiKT9udWxsOmE9PT1pJiZzPT09cj9vOihyPXMsbz1lKGk9YSxsKSk7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIHlmKHQsZSxuKXt2YXIgaSxyLG87cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGEscyxsPW4odGhpcyk7aWYobnVsbCE9bClyZXR1cm4oYT10aGlzLmdldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCkpPT09KHM9bCsiIik/bnVsbDphPT09aSYmcz09PXI/bzoocj1zLG89ZShpPWEsbCkpO3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19ZnVuY3Rpb24gdmYodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dGhpcy5zZXRBdHRyaWJ1dGUodCxlLmNhbGwodGhpcyxuKSl9fWZ1bmN0aW9uIGJmKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3RoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUuY2FsbCh0aGlzLG4pKX19ZnVuY3Rpb24geGYodCxlKXt2YXIgbixpO2Z1bmN0aW9uIHIoKXt2YXIgcj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gciE9PWkmJihuPShpPXIpJiZiZih0LHIpKSxufXJldHVybiByLl92YWx1ZT1lLHJ9ZnVuY3Rpb24gd2YodCxlKXt2YXIgbixpO2Z1bmN0aW9uIHIoKXt2YXIgcj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gciE9PWkmJihuPShpPXIpJiZ2Zih0LHIpKSxufXJldHVybiByLl92YWx1ZT1lLHJ9ZnVuY3Rpb24gU2YodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtvZih0aGlzLHQpLmRlbGF5PStlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19ZnVuY3Rpb24gTWYodCxlKXtyZXR1cm4gZT0rZSxmdW5jdGlvbigpe29mKHRoaXMsdCkuZGVsYXk9ZX19ZnVuY3Rpb24gRWYodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXthZih0aGlzLHQpLmR1cmF0aW9uPStlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19ZnVuY3Rpb24gVGYodCxlKXtyZXR1cm4gZT0rZSxmdW5jdGlvbigpe2FmKHRoaXMsdCkuZHVyYXRpb249ZX19ZnVuY3Rpb24gQ2YodCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIGZ1bmN0aW9uKCl7YWYodGhpcyx0KS5lYXNlPWV9fWZ1bmN0aW9uIEFmKHQsZSxuKXt2YXIgaSxyLG89KGZ1bmN0aW9uIGEodCl7cmV0dXJuKHQrIiIpLnRyaW0oKS5zcGxpdCgvXnxccysvKS5ldmVyeSgoZnVuY3Rpb24odCl7dmFyIGU9dC5pbmRleE9mKCIuIik7cmV0dXJuIGU+PTAmJih0PXQuc2xpY2UoMCxlKSksIXR8fCJzdGFydCI9PT10fSkpfSkoZSk/b2Y6YWY7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9byh0aGlzLHQpLHM9YS5vbjtzIT09aSYmKHI9KGk9cykuY29weSgpKS5vbihlLG4pLGEub249cn19dmFyIGtmPXp1LnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtmdW5jdGlvbiBMZih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX1mdW5jdGlvbiBQZih0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKGkpe3RoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxlLmNhbGwodGhpcyxpKSxuKX19ZnVuY3Rpb24gTmYodCxlLG4pe3ZhciBpLHI7ZnVuY3Rpb24gbygpe3ZhciBvPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBvIT09ciYmKGk9KHI9bykmJlBmKHQsbyxuKSksaX1yZXR1cm4gby5fdmFsdWU9ZSxvfWZ1bmN0aW9uIElmKHQpe3JldHVybiBmdW5jdGlvbihlKXt0aGlzLnRleHRDb250ZW50PXQuY2FsbCh0aGlzLGUpfX1mdW5jdGlvbiBSZih0KXt2YXIgZSxuO2Z1bmN0aW9uIGkoKXt2YXIgaT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gaSE9PW4mJihlPShuPWkpJiZJZihpKSksZX1yZXR1cm4gaS5fdmFsdWU9dCxpfXZhciBPZj0wO2Z1bmN0aW9uIHpmKHQsZSxuLGkpe3RoaXMuX2dyb3Vwcz10LHRoaXMuX3BhcmVudHM9ZSx0aGlzLl9uYW1lPW4sdGhpcy5faWQ9aX1mdW5jdGlvbiBEZih0KXtyZXR1cm4genUoKS50cmFuc2l0aW9uKHQpfWZ1bmN0aW9uIEJmKCl7cmV0dXJuKytPZn12YXIgSGY9enUucHJvdG90eXBlO2Z1bmN0aW9uIEZmKHQpe3JldHVybit0fWZ1bmN0aW9uIFZmKHQpe3JldHVybiB0KnR9ZnVuY3Rpb24gVWYodCl7cmV0dXJuIHQqKDItdCl9ZnVuY3Rpb24gamYodCl7cmV0dXJuKCh0Kj0yKTw9MT90KnQ6LS10KigyLXQpKzEpLzJ9ZnVuY3Rpb24gR2YodCl7cmV0dXJuIHQqdCp0fWZ1bmN0aW9uIFdmKHQpe3JldHVybi0tdCp0KnQrMX1mdW5jdGlvbiBxZih0KXtyZXR1cm4oKHQqPTIpPD0xP3QqdCp0Oih0LT0yKSp0KnQrMikvMn16Zi5wcm90b3R5cGU9RGYucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp6ZixzZWxlY3Q6ZnVuY3Rpb24gWWYodCl7dmFyIGU9dGhpcy5fbmFtZSxuPXRoaXMuX2lkOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1SYyh0KSk7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89bmV3IEFycmF5KHIpLGE9MDthPHI7KythKWZvcih2YXIgcyxsLGM9aVthXSx1PWMubGVuZ3RoLGg9b1thXT1uZXcgQXJyYXkodSksZD0wO2Q8dTsrK2QpKHM9Y1tkXSkmJihsPXQuY2FsbChzLHMuX19kYXRhX18sZCxjKSkmJigiX19kYXRhX18iaW4gcyYmKGwuX19kYXRhX189cy5fX2RhdGFfXyksaFtkXT1sLHJmKGhbZF0sZSxuLGQsaCxzZihzLG4pKSk7cmV0dXJuIG5ldyB6ZihvLHRoaXMuX3BhcmVudHMsZSxuKX0sc2VsZWN0QWxsOmZ1bmN0aW9uIFhmKHQpe3ZhciBlPXRoaXMuX25hbWUsbj10aGlzLl9pZDsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9emModCkpO2Zvcih2YXIgaT10aGlzLl9ncm91cHMscj1pLmxlbmd0aCxvPVtdLGE9W10scz0wO3M8cjsrK3MpZm9yKHZhciBsLGM9aVtzXSx1PWMubGVuZ3RoLGg9MDtoPHU7KytoKWlmKGw9Y1toXSl7Zm9yKHZhciBkLHA9dC5jYWxsKGwsbC5fX2RhdGFfXyxoLGMpLGY9c2YobCxuKSxtPTAsZz1wLmxlbmd0aDttPGc7KyttKShkPXBbbV0pJiZyZihkLGUsbixtLHAsZik7by5wdXNoKHApLGEucHVzaChsKX1yZXR1cm4gbmV3IHpmKG8sYSxlLG4pfSxmaWx0ZXI6ZnVuY3Rpb24gJGYodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PURjKHQpKTtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49ZS5sZW5ndGgsaT1uZXcgQXJyYXkobikscj0wO3I8bjsrK3IpZm9yKHZhciBvLGE9ZVtyXSxzPWEubGVuZ3RoLGw9aVtyXT1bXSxjPTA7YzxzOysrYykobz1hW2NdKSYmdC5jYWxsKG8sby5fX2RhdGFfXyxjLGEpJiZsLnB1c2gobyk7cmV0dXJuIG5ldyB6ZihpLHRoaXMuX3BhcmVudHMsdGhpcy5fbmFtZSx0aGlzLl9pZCl9LG1lcmdlOmZ1bmN0aW9uIEtmKHQpe2lmKHQuX2lkIT09dGhpcy5faWQpdGhyb3cgbmV3IEVycm9yO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsaT1lLmxlbmd0aCxyPU1hdGgubWluKGksbi5sZW5ndGgpLG89bmV3IEFycmF5KGkpLGE9MDthPHI7KythKWZvcih2YXIgcyxsPWVbYV0sYz1uW2FdLHU9bC5sZW5ndGgsaD1vW2FdPW5ldyBBcnJheSh1KSxkPTA7ZDx1OysrZCkocz1sW2RdfHxjW2RdKSYmKGhbZF09cyk7Zm9yKDthPGk7KythKW9bYV09ZVthXTtyZXR1cm4gbmV3IHpmKG8sdGhpcy5fcGFyZW50cyx0aGlzLl9uYW1lLHRoaXMuX2lkKX0sc2VsZWN0aW9uOmZ1bmN0aW9uIFpmKCl7cmV0dXJuIG5ldyBrZih0aGlzLl9ncm91cHMsdGhpcy5fcGFyZW50cyl9LHRyYW5zaXRpb246ZnVuY3Rpb24gSmYoKXtmb3IodmFyIHQ9dGhpcy5fbmFtZSxlPXRoaXMuX2lkLG49QmYoKSxpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89MDtvPHI7KytvKWZvcih2YXIgYSxzPWlbb10sbD1zLmxlbmd0aCxjPTA7YzxsOysrYylpZihhPXNbY10pe3ZhciB1PXNmKGEsZSk7cmYoYSx0LG4sYyxzLHt0aW1lOnUudGltZSt1LmRlbGF5K3UuZHVyYXRpb24sZGVsYXk6MCxkdXJhdGlvbjp1LmR1cmF0aW9uLGVhc2U6dS5lYXNlfSl9cmV0dXJuIG5ldyB6ZihpLHRoaXMuX3BhcmVudHMsdCxuKX0sY2FsbDpIZi5jYWxsLG5vZGVzOkhmLm5vZGVzLG5vZGU6SGYubm9kZSxzaXplOkhmLnNpemUsZW1wdHk6SGYuZW1wdHksZWFjaDpIZi5lYWNoLG9uOmZ1bmN0aW9uIFFmKHQsZSl7dmFyIG49dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8Mj9zZih0aGlzLm5vZGUoKSxuKS5vbi5vbih0KTp0aGlzLmVhY2goQWYobix0LGUpKX0sYXR0cjpmdW5jdGlvbiB0bSh0LGUpe3ZhciBuPWtjKHQpLGk9InRyYW5zZm9ybSI9PT1uP3hwOmRmO3JldHVybiB0aGlzLmF0dHJUd2Vlbih0LCJmdW5jdGlvbiI9PXR5cGVvZiBlPyhuLmxvY2FsP3lmOl9mKShuLGksaGYodGhpcywiYXR0ci4iK3QsZSkpOm51bGw9PWU/KG4ubG9jYWw/ZmY6cGYpKG4pOihuLmxvY2FsP2dmOm1mKShuLGksZSkpfSxhdHRyVHdlZW46ZnVuY3Rpb24gZW0odCxlKXt2YXIgbj0iYXR0ci4iK3Q7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXJldHVybihuPXRoaXMudHdlZW4obikpJiZuLl92YWx1ZTtpZihudWxsPT1lKXJldHVybiB0aGlzLnR3ZWVuKG4sbnVsbCk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yO3ZhciBpPWtjKHQpO3JldHVybiB0aGlzLnR3ZWVuKG4sKGkubG9jYWw/eGY6d2YpKGksZSkpfSxzdHlsZTpmdW5jdGlvbiBubSh0LGUsbil7dmFyIGk9InRyYW5zZm9ybSI9PSh0Kz0iIik/dnA6ZGY7cmV0dXJuIG51bGw9PWU/dGhpcy5zdHlsZVR3ZWVuKHQsKGZ1bmN0aW9uIHIodCxlKXt2YXIgbixpLHI7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG89UWModGhpcyx0KSxhPSh0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLFFjKHRoaXMsdCkpO3JldHVybiBvPT09YT9udWxsOm89PT1uJiZhPT09aT9yOnI9ZShuPW8saT1hKX19KSh0LGkpKS5vbigiZW5kLnN0eWxlLiIrdCxMZih0KSk6ImZ1bmN0aW9uIj09dHlwZW9mIGU/dGhpcy5zdHlsZVR3ZWVuKHQsKGZ1bmN0aW9uIGEodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYT1RYyh0aGlzLHQpLHM9bih0aGlzKSxsPXMrIiI7cmV0dXJuIG51bGw9PXMmJih0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLGw9cz1RYyh0aGlzLHQpKSxhPT09bD9udWxsOmE9PT1pJiZsPT09cj9vOihyPWwsbz1lKGk9YSxzKSl9fSkodCxpLGhmKHRoaXMsInN0eWxlLiIrdCxlKSkpLmVhY2goKGZ1bmN0aW9uIG8odCxlKXt2YXIgbixpLHIsbyxhPSJzdHlsZS4iK2Uscz0iZW5kLiIrYTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbD1hZih0aGlzLHQpLGM9bC5vbix1PW51bGw9PWwudmFsdWVbYV0/b3x8KG89TGYoZSkpOnZvaWQgMDtjPT09biYmcj09PXV8fChpPShuPWMpLmNvcHkoKSkub24ocyxyPXUpLGwub249aX19KSh0aGlzLl9pZCx0KSk6dGhpcy5zdHlsZVR3ZWVuKHQsKGZ1bmN0aW9uIHModCxlLG4pe3ZhciBpLHIsbz1uKyIiO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPVFjKHRoaXMsdCk7cmV0dXJuIGE9PT1vP251bGw6YT09PWk/cjpyPWUoaT1hLG4pfX0pKHQsaSxlKSxuKS5vbigiZW5kLnN0eWxlLiIrdCxudWxsKX0sc3R5bGVUd2VlbjpmdW5jdGlvbiBpbSh0LGUsbil7dmFyIGk9InN0eWxlLiIrKHQrPSIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKGk9dGhpcy50d2VlbihpKSkmJmkuX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4oaSxudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHRoaXMudHdlZW4oaSxOZih0LGUsbnVsbD09bj8iIjpuKSl9LHRleHQ6ZnVuY3Rpb24gcm0odCl7cmV0dXJuIHRoaXMudHdlZW4oInRleHQiLCJmdW5jdGlvbiI9PXR5cGVvZiB0PyhmdW5jdGlvbiBlKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQodGhpcyk7dGhpcy50ZXh0Q29udGVudD1udWxsPT1lPyIiOmV9fSkoaGYodGhpcywidGV4dCIsdCkpOihmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMudGV4dENvbnRlbnQ9dH19KShudWxsPT10PyIiOnQrIiIpKX0sdGV4dFR3ZWVuOmZ1bmN0aW9uIG9tKHQpe3ZhciBlPSJ0ZXh0IjtpZihhcmd1bWVudHMubGVuZ3RoPDEpcmV0dXJuKGU9dGhpcy50d2VlbihlKSkmJmUuX3ZhbHVlO2lmKG51bGw9PXQpcmV0dXJuIHRoaXMudHdlZW4oZSxudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHRoaXMudHdlZW4oZSxSZih0KSl9LHJlbW92ZTpmdW5jdGlvbiBhbSgpe3JldHVybiB0aGlzLm9uKCJlbmQucmVtb3ZlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD10aGlzLnBhcmVudE5vZGU7Zm9yKHZhciBuIGluIHRoaXMuX190cmFuc2l0aW9uKWlmKCtuIT09ZSlyZXR1cm47dCYmdC5yZW1vdmVDaGlsZCh0aGlzKX19KSh0aGlzLl9pZCkpfSx0d2VlbjpmdW5jdGlvbiBzbSh0LGUpe3ZhciBuPXRoaXMuX2lkO2lmKHQrPSIiLGFyZ3VtZW50cy5sZW5ndGg8Mil7Zm9yKHZhciBpLHI9c2YodGhpcy5ub2RlKCksbikudHdlZW4sbz0wLGE9ci5sZW5ndGg7bzxhOysrbylpZigoaT1yW29dKS5uYW1lPT09dClyZXR1cm4gaS52YWx1ZTtyZXR1cm4gbnVsbH1yZXR1cm4gdGhpcy5lYWNoKChudWxsPT1lP2NmOnVmKShuLHQsZSkpfSxkZWxheTpmdW5jdGlvbiBsbSh0KXt2YXIgZT10aGlzLl9pZDtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2goKCJmdW5jdGlvbiI9PXR5cGVvZiB0P1NmOk1mKShlLHQpKTpzZih0aGlzLm5vZGUoKSxlKS5kZWxheX0sZHVyYXRpb246ZnVuY3Rpb24gY20odCl7dmFyIGU9dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgdD9FZjpUZikoZSx0KSk6c2YodGhpcy5ub2RlKCksZSkuZHVyYXRpb259LGVhc2U6ZnVuY3Rpb24gdW0odCl7dmFyIGU9dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKENmKGUsdCkpOnNmKHRoaXMubm9kZSgpLGUpLmVhc2V9LGVuZDpmdW5jdGlvbiBobSgpe3ZhciB0LGUsbj10aGlzLGk9bi5faWQscj1uLnNpemUoKTtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG8sYSl7dmFyIHM9e3ZhbHVlOmF9LGw9e3ZhbHVlOmZ1bmN0aW9uKCl7MD09LS1yJiZvKCl9fTtuLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49YWYodGhpcyxpKSxyPW4ub247ciE9PXQmJigoZT0odD1yKS5jb3B5KCkpLl8uY2FuY2VsLnB1c2gocyksZS5fLmludGVycnVwdC5wdXNoKHMpLGUuXy5lbmQucHVzaChsKSksbi5vbj1lfSkpfSkpfX07dmFyIGRtPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIE1hdGgucG93KHQsZSl9cmV0dXJuIGU9K2Usbi5leHBvbmVudD10LG59KSgzKSxwbT0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiAxLU1hdGgucG93KDEtdCxlKX1yZXR1cm4gZT0rZSxuLmV4cG9uZW50PXQsbn0pKDMpLGZtPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuKCh0Kj0yKTw9MT9NYXRoLnBvdyh0LGUpOjItTWF0aC5wb3coMi10LGUpKS8yfXJldHVybiBlPStlLG4uZXhwb25lbnQ9dCxufSkoMyksbW09TWF0aC5QSSxnbT1tbS8yO2Z1bmN0aW9uIF9tKHQpe3JldHVybiAxPT0rdD8xOjEtTWF0aC5jb3ModCpnbSl9ZnVuY3Rpb24geW0odCl7cmV0dXJuIE1hdGguc2luKHQqZ20pfWZ1bmN0aW9uIHZtKHQpe3JldHVybigxLU1hdGguY29zKG1tKnQpKS8yfWZ1bmN0aW9uIGJtKHQpe3JldHVybiAxLjAwMDk3NzUxNzEwNjU0OTQqKE1hdGgucG93KDIsLTEwKnQpLS4wMDA5NzY1NjI1KX1mdW5jdGlvbiB4bSh0KXtyZXR1cm4gYm0oMS0rdCl9ZnVuY3Rpb24gd20odCl7cmV0dXJuIDEtYm0odCl9ZnVuY3Rpb24gU20odCl7cmV0dXJuKCh0Kj0yKTw9MT9ibSgxLXQpOjItYm0odC0xKSkvMn1mdW5jdGlvbiBNbSh0KXtyZXR1cm4gMS1NYXRoLnNxcnQoMS10KnQpfWZ1bmN0aW9uIEVtKHQpe3JldHVybiBNYXRoLnNxcnQoMS0gLS10KnQpfWZ1bmN0aW9uIFRtKHQpe3JldHVybigodCo9Mik8PTE/MS1NYXRoLnNxcnQoMS10KnQpOk1hdGguc3FydCgxLSh0LT0yKSp0KSsxKS8yfXZhciBDbT00LzExLEFtPTcuNTYyNTtmdW5jdGlvbiBrbSh0KXtyZXR1cm4gMS1MbSgxLXQpfWZ1bmN0aW9uIExtKHQpe3JldHVybih0PSt0KTxDbT9BbSp0KnQ6dDwuNzI3MjcyNzI3MjcyNzI3Mz9BbSoodC09LjU0NTQ1NDU0NTQ1NDU0NTQpKnQrLjc1OnQ8LjkwOTA5MDkwOTA5MDkwOTE/QW0qKHQtPS44MTgxODE4MTgxODE4MTgyKSp0Ky45Mzc1OkFtKih0LT0uOTU0NTQ1NDU0NTQ1NDU0NikqdCsuOTg0Mzc1fWZ1bmN0aW9uIFBtKHQpe3JldHVybigodCo9Mik8PTE/MS1MbSgxLXQpOkxtKHQtMSkrMSkvMn12YXIgTm09MS43MDE1OCxJbT0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybih0PSt0KSp0KihlKih0LTEpK3QpfXJldHVybiBlPStlLG4ub3ZlcnNob290PXQsbn0pKE5tKSxSbT0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybi0tdCp0KigodCsxKSplK3QpKzF9cmV0dXJuIGU9K2Usbi5vdmVyc2hvb3Q9dCxufSkoTm0pLE9tPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuKCh0Kj0yKTwxP3QqdCooKGUrMSkqdC1lKToodC09MikqdCooKGUrMSkqdCtlKSsyKS8yfXJldHVybiBlPStlLG4ub3ZlcnNob290PXQsbn0pKE5tKSx6bT0yKk1hdGguUEksRG09KGZ1bmN0aW9uIHQoZSxuKXt2YXIgaT1NYXRoLmFzaW4oMS8oZT1NYXRoLm1heCgxLGUpKSkqKG4vPXptKTtmdW5jdGlvbiByKHQpe3JldHVybiBlKmJtKC0gLS10KSpNYXRoLnNpbigoaS10KS9uKX1yZXR1cm4gci5hbXBsaXR1ZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSxuKnptKX0sci5wZXJpb2Q9ZnVuY3Rpb24obil7cmV0dXJuIHQoZSxuKX0scn0pKDEsLjMpLEJtPShmdW5jdGlvbiB0KGUsbil7dmFyIGk9TWF0aC5hc2luKDEvKGU9TWF0aC5tYXgoMSxlKSkpKihuLz16bSk7ZnVuY3Rpb24gcih0KXtyZXR1cm4gMS1lKmJtKHQ9K3QpKk1hdGguc2luKCh0K2kpL24pfXJldHVybiByLmFtcGxpdHVkZT1mdW5jdGlvbihlKXtyZXR1cm4gdChlLG4qem0pfSxyLnBlcmlvZD1mdW5jdGlvbihuKXtyZXR1cm4gdChlLG4pfSxyfSkoMSwuMyksSG09KGZ1bmN0aW9uIHQoZSxuKXt2YXIgaT1NYXRoLmFzaW4oMS8oZT1NYXRoLm1heCgxLGUpKSkqKG4vPXptKTtmdW5jdGlvbiByKHQpe3JldHVybigodD0yKnQtMSk8MD9lKmJtKC10KSpNYXRoLnNpbigoaS10KS9uKToyLWUqYm0odCkqTWF0aC5zaW4oKGkrdCkvbikpLzJ9cmV0dXJuIHIuYW1wbGl0dWRlPWZ1bmN0aW9uKGUpe3JldHVybiB0KGUsbip6bSl9LHIucGVyaW9kPWZ1bmN0aW9uKG4pe3JldHVybiB0KGUsbil9LHJ9KSgxLC4zKSxGbT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxlYXNlTGluZWFyOkZmLGVhc2VRdWFkOmpmLGVhc2VRdWFkSW46VmYsZWFzZVF1YWRPdXQ6VWYsZWFzZVF1YWRJbk91dDpqZixlYXNlQ3ViaWM6cWYsZWFzZUN1YmljSW46R2YsZWFzZUN1YmljT3V0OldmLGVhc2VDdWJpY0luT3V0OnFmLGVhc2VQb2x5OmZtLGVhc2VQb2x5SW46ZG0sZWFzZVBvbHlPdXQ6cG0sZWFzZVBvbHlJbk91dDpmbSxlYXNlU2luOnZtLGVhc2VTaW5JbjpfbSxlYXNlU2luT3V0OnltLGVhc2VTaW5Jbk91dDp2bSxlYXNlRXhwOlNtLGVhc2VFeHBJbjp4bSxlYXNlRXhwT3V0OndtLGVhc2VFeHBJbk91dDpTbSxlYXNlQ2lyY2xlOlRtLGVhc2VDaXJjbGVJbjpNbSxlYXNlQ2lyY2xlT3V0OkVtLGVhc2VDaXJjbGVJbk91dDpUbSxlYXNlQm91bmNlOkxtLGVhc2VCb3VuY2VJbjprbSxlYXNlQm91bmNlT3V0OkxtLGVhc2VCb3VuY2VJbk91dDpQbSxlYXNlQmFjazpPbSxlYXNlQmFja0luOkltLGVhc2VCYWNrT3V0OlJtLGVhc2VCYWNrSW5PdXQ6T20sZWFzZUVsYXN0aWM6Qm0sZWFzZUVsYXN0aWNJbjpEbSxlYXNlRWxhc3RpY091dDpCbSxlYXNlRWxhc3RpY0luT3V0OkhtfSksVm09e3RpbWU6bnVsbCxkZWxheTowLGR1cmF0aW9uOjI1MCxlYXNlOnFmfTtmdW5jdGlvbiBVbSh0LGUpe2Zvcih2YXIgbjshKG49dC5fX3RyYW5zaXRpb24pfHwhKG49bltlXSk7KWlmKCEodD10LnBhcmVudE5vZGUpKXJldHVybiBWbS50aW1lPXFwKCksVm07cmV0dXJuIG59enUucHJvdG90eXBlLmludGVycnVwdD1mdW5jdGlvbiBqbSh0KXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2xmKHRoaXMsdCl9KSl9LHp1LnByb3RvdHlwZS50cmFuc2l0aW9uPWZ1bmN0aW9uIEdtKHQpe3ZhciBlLG47dCBpbnN0YW5jZW9mIHpmPyhlPXQuX2lkLHQ9dC5fbmFtZSk6KGU9QmYoKSwobj1WbSkudGltZT1xcCgpLHQ9bnVsbD09dD9udWxsOnQrIiIpO2Zvcih2YXIgaT10aGlzLl9ncm91cHMscj1pLmxlbmd0aCxvPTA7bzxyOysrbylmb3IodmFyIGEscz1pW29dLGw9cy5sZW5ndGgsYz0wO2M8bDsrK2MpKGE9c1tjXSkmJnJmKGEsdCxlLGMscyxufHxVbShhLGUpKTtyZXR1cm4gbmV3IHpmKGksdGhpcy5fcGFyZW50cyx0LGUpfTt2YXIgV209W251bGxdO2Z1bmN0aW9uIHFtKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBZbSh0LGUsbil7dGhpcy50YXJnZXQ9dCx0aGlzLnR5cGU9ZSx0aGlzLnNlbGVjdGlvbj1ufWZ1bmN0aW9uIFhtKCl7TXUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gJG0oKXtNdS5wcmV2ZW50RGVmYXVsdCgpLE11LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfXZhciBLbT17bmFtZToiZHJhZyJ9LFptPXtuYW1lOiJzcGFjZSJ9LEptPXtuYW1lOiJoYW5kbGUifSxRbT17bmFtZToiY2VudGVyIn07ZnVuY3Rpb24gdGcodCl7cmV0dXJuWyt0WzBdLCt0WzFdXX1mdW5jdGlvbiBlZyh0KXtyZXR1cm5bdGcodFswXSksdGcodFsxXSldfWZ1bmN0aW9uIG5nKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gd2goZSxNdS50b3VjaGVzLHQpfX12YXIgaWc9e25hbWU6IngiLGhhbmRsZXM6WyJ3IiwiZSJdLm1hcChoZyksaW5wdXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbnVsbD09dD9udWxsOltbK3RbMF0sZVswXVsxXV0sWyt0WzFdLGVbMV1bMV1dXX0sb3V0cHV0OmZ1bmN0aW9uKHQpe3JldHVybiB0JiZbdFswXVswXSx0WzFdWzBdXX19LHJnPXtuYW1lOiJ5IixoYW5kbGVzOlsibiIsInMiXS5tYXAoaGcpLGlucHV0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQ/bnVsbDpbW2VbMF1bMF0sK3RbMF1dLFtlWzFdWzBdLCt0WzFdXV19LG91dHB1dDpmdW5jdGlvbih0KXtyZXR1cm4gdCYmW3RbMF1bMV0sdFsxXVsxXV19fSxvZz17bmFtZToieHkiLGhhbmRsZXM6WyJuIiwidyIsImUiLCJzIiwibnciLCJuZSIsInN3Iiwic2UiXS5tYXAoaGcpLGlucHV0OmZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P251bGw6ZWcodCl9LG91dHB1dDpmdW5jdGlvbih0KXtyZXR1cm4gdH19LGFnPXtvdmVybGF5OiJjcm9zc2hhaXIiLHNlbGVjdGlvbjoibW92ZSIsbjoibnMtcmVzaXplIixlOiJldy1yZXNpemUiLHM6Im5zLXJlc2l6ZSIsdzoiZXctcmVzaXplIixudzoibndzZS1yZXNpemUiLG5lOiJuZXN3LXJlc2l6ZSIsc2U6Im53c2UtcmVzaXplIixzdzoibmVzdy1yZXNpemUifSxzZz17ZToidyIsdzoiZSIsbnc6Im5lIixuZToibnciLHNlOiJzdyIsc3c6InNlIn0sbGc9e246InMiLHM6Im4iLG53OiJzdyIsbmU6InNlIixzZToibmUiLHN3OiJudyJ9LGNnPXtvdmVybGF5OjEsc2VsZWN0aW9uOjEsbjpudWxsLGU6MSxzOm51bGwsdzotMSxudzotMSxuZToxLHNlOjEsc3c6LTF9LHVnPXtvdmVybGF5OjEsc2VsZWN0aW9uOjEsbjotMSxlOm51bGwsczoxLHc6bnVsbCxudzotMSxuZTotMSxzZToxLHN3OjF9O2Z1bmN0aW9uIGhnKHQpe3JldHVybnt0eXBlOnR9fWZ1bmN0aW9uIGRnKCl7cmV0dXJuIU11LmN0cmxLZXkmJiFNdS5idXR0b259ZnVuY3Rpb24gcGcoKXt2YXIgdD10aGlzLm93bmVyU1ZHRWxlbWVudHx8dGhpcztyZXR1cm4gdC5oYXNBdHRyaWJ1dGUoInZpZXdCb3giKT9bWyh0PXQudmlld0JveC5iYXNlVmFsKS54LHQueV0sW3QueCt0LndpZHRoLHQueSt0LmhlaWdodF1dOltbMCwwXSxbdC53aWR0aC5iYXNlVmFsLnZhbHVlLHQuaGVpZ2h0LmJhc2VWYWwudmFsdWVdXX1mdW5jdGlvbiBmZygpe3JldHVybiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHN8fCJvbnRvdWNoc3RhcnQiaW4gdGhpc31mdW5jdGlvbiBtZyh0KXtmb3IoOyF0Ll9fYnJ1c2g7KWlmKCEodD10LnBhcmVudE5vZGUpKXJldHVybjtyZXR1cm4gdC5fX2JydXNofWZ1bmN0aW9uIGdnKHQpe3JldHVybiB0WzBdWzBdPT09dFsxXVswXXx8dFswXVsxXT09PXRbMV1bMV19ZnVuY3Rpb24gX2codCl7dmFyIGU9dC5fX2JydXNoO3JldHVybiBlP2UuZGltLm91dHB1dChlLnNlbGVjdGlvbik6bnVsbH1mdW5jdGlvbiB5Zygpe3JldHVybiBiZyhyZyl9ZnVuY3Rpb24gdmcoKXtyZXR1cm4gYmcob2cpfWZ1bmN0aW9uIGJnKHQpe3ZhciBlLG49cGcsaT1kZyxyPWZnLG89ITAsYT13Yygic3RhcnQiLCJicnVzaCIsImVuZCIpLHM9NjtmdW5jdGlvbiBsKGUpe3ZhciBuPWUucHJvcGVydHkoIl9fYnJ1c2giLG0pLnNlbGVjdEFsbCgiLm92ZXJsYXkiKS5kYXRhKFtoZygib3ZlcmxheSIpXSk7bi5lbnRlcigpLmFwcGVuZCgicmVjdCIpLmF0dHIoImNsYXNzIiwib3ZlcmxheSIpLmF0dHIoInBvaW50ZXItZXZlbnRzIiwiYWxsIikuYXR0cigiY3Vyc29yIixhZy5vdmVybGF5KS5tZXJnZShuKS5lYWNoKChmdW5jdGlvbigpe3ZhciB0PW1nKHRoaXMpLmV4dGVudDtEdSh0aGlzKS5hdHRyKCJ4Iix0WzBdWzBdKS5hdHRyKCJ5Iix0WzBdWzFdKS5hdHRyKCJ3aWR0aCIsdFsxXVswXS10WzBdWzBdKS5hdHRyKCJoZWlnaHQiLHRbMV1bMV0tdFswXVsxXSl9KSksZS5zZWxlY3RBbGwoIi5zZWxlY3Rpb24iKS5kYXRhKFtoZygic2VsZWN0aW9uIildKS5lbnRlcigpLmFwcGVuZCgicmVjdCIpLmF0dHIoImNsYXNzIiwic2VsZWN0aW9uIikuYXR0cigiY3Vyc29yIixhZy5zZWxlY3Rpb24pLmF0dHIoImZpbGwiLCIjNzc3IikuYXR0cigiZmlsbC1vcGFjaXR5IiwuMykuYXR0cigic3Ryb2tlIiwiI2ZmZiIpLmF0dHIoInNoYXBlLXJlbmRlcmluZyIsImNyaXNwRWRnZXMiKTt2YXIgaT1lLnNlbGVjdEFsbCgiLmhhbmRsZSIpLmRhdGEodC5oYW5kbGVzLChmdW5jdGlvbih0KXtyZXR1cm4gdC50eXBlfSkpO2kuZXhpdCgpLnJlbW92ZSgpLGkuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsKGZ1bmN0aW9uKHQpe3JldHVybiJoYW5kbGUgaGFuZGxlLS0iK3QudHlwZX0pKS5hdHRyKCJjdXJzb3IiLChmdW5jdGlvbih0KXtyZXR1cm4gYWdbdC50eXBlXX0pKSxlLmVhY2goYykuYXR0cigiZmlsbCIsIm5vbmUiKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpLm9uKCJtb3VzZWRvd24uYnJ1c2giLGQpLmZpbHRlcihyKS5vbigidG91Y2hzdGFydC5icnVzaCIsZCkub24oInRvdWNobW92ZS5icnVzaCIscCkub24oInRvdWNoZW5kLmJydXNoIHRvdWNoY2FuY2VsLmJydXNoIixmKS5zdHlsZSgidG91Y2gtYWN0aW9uIiwibm9uZSIpLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiLCJyZ2JhKDAsMCwwLDApIil9ZnVuY3Rpb24gYygpe3ZhciB0PUR1KHRoaXMpLGU9bWcodGhpcykuc2VsZWN0aW9uO2U/KHQuc2VsZWN0QWxsKCIuc2VsZWN0aW9uIikuc3R5bGUoImRpc3BsYXkiLG51bGwpLmF0dHIoIngiLGVbMF1bMF0pLmF0dHIoInkiLGVbMF1bMV0pLmF0dHIoIndpZHRoIixlWzFdWzBdLWVbMF1bMF0pLmF0dHIoImhlaWdodCIsZVsxXVsxXS1lWzBdWzFdKSx0LnNlbGVjdEFsbCgiLmhhbmRsZSIpLnN0eWxlKCJkaXNwbGF5IixudWxsKS5hdHRyKCJ4IiwoZnVuY3Rpb24odCl7cmV0dXJuImUiPT09dC50eXBlW3QudHlwZS5sZW5ndGgtMV0/ZVsxXVswXS1zLzI6ZVswXVswXS1zLzJ9KSkuYXR0cigieSIsKGZ1bmN0aW9uKHQpe3JldHVybiJzIj09PXQudHlwZVswXT9lWzFdWzFdLXMvMjplWzBdWzFdLXMvMn0pKS5hdHRyKCJ3aWR0aCIsKGZ1bmN0aW9uKHQpe3JldHVybiJuIj09PXQudHlwZXx8InMiPT09dC50eXBlP2VbMV1bMF0tZVswXVswXStzOnN9KSkuYXR0cigiaGVpZ2h0IiwoZnVuY3Rpb24odCl7cmV0dXJuImUiPT09dC50eXBlfHwidyI9PT10LnR5cGU/ZVsxXVsxXS1lWzBdWzFdK3M6c30pKSk6dC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24sLmhhbmRsZSIpLnN0eWxlKCJkaXNwbGF5Iiwibm9uZSIpLmF0dHIoIngiLG51bGwpLmF0dHIoInkiLG51bGwpLmF0dHIoIndpZHRoIixudWxsKS5hdHRyKCJoZWlnaHQiLG51bGwpfWZ1bmN0aW9uIHUodCxlLG4pe3ZhciBpPXQuX19icnVzaC5lbWl0dGVyO3JldHVybiFpfHxuJiZpLmNsZWFuP25ldyBoKHQsZSxuKTppfWZ1bmN0aW9uIGgodCxlLG4pe3RoaXMudGhhdD10LHRoaXMuYXJncz1lLHRoaXMuc3RhdGU9dC5fX2JydXNoLHRoaXMuYWN0aXZlPTAsdGhpcy5jbGVhbj1ufWZ1bmN0aW9uIGQoKXtpZigoIWV8fE11LnRvdWNoZXMpJiZpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIG4scixhLHMsbCxoLGQscCxmLG0sZyxfPXRoaXMseT1NdS50YXJnZXQuX19kYXRhX18udHlwZSx2PSJzZWxlY3Rpb24iPT09KG8mJk11Lm1ldGFLZXk/eT0ib3ZlcmxheSI6eSk/S206byYmTXUuYWx0S2V5P1FtOkptLGI9dD09PXJnP251bGw6Y2dbeV0seD10PT09aWc/bnVsbDp1Z1t5XSx3PW1nKF8pLFM9dy5leHRlbnQsTT13LnNlbGVjdGlvbixFPVNbMF1bMF0sVD1TWzBdWzFdLEM9U1sxXVswXSxBPVNbMV1bMV0saz0wLEw9MCxQPWImJngmJm8mJk11LnNoaWZ0S2V5LE49TXUudG91Y2hlcz9uZyhNdS5jaGFuZ2VkVG91Y2hlc1swXS5pZGVudGlmaWVyKTpiaCxJPU4oXyksUj1JLE89dShfLGFyZ3VtZW50cywhMCkuYmVmb3Jlc3RhcnQoKTsib3ZlcmxheSI9PT15PyhNJiYoZj0hMCksdy5zZWxlY3Rpb249TT1bW249dD09PXJnP0U6SVswXSxhPXQ9PT1pZz9UOklbMV1dLFtsPXQ9PT1yZz9DOm4sZD10PT09aWc/QTphXV0pOihuPU1bMF1bMF0sYT1NWzBdWzFdLGw9TVsxXVswXSxkPU1bMV1bMV0pLHI9bixzPWEsaD1sLHA9ZDt2YXIgej1EdShfKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsIm5vbmUiKSxEPXouc2VsZWN0QWxsKCIub3ZlcmxheSIpLmF0dHIoImN1cnNvciIsYWdbeV0pO2lmKE11LnRvdWNoZXMpTy5tb3ZlZD1ILE8uZW5kZWQ9VjtlbHNle3ZhciBCPUR1KE11LnZpZXcpLm9uKCJtb3VzZW1vdmUuYnJ1c2giLEgsITApLm9uKCJtb3VzZXVwLmJydXNoIixWLCEwKTtvJiZCLm9uKCJrZXlkb3duLmJydXNoIixVLCEwKS5vbigia2V5dXAuYnJ1c2giLGosITApLEVoKE11LnZpZXcpfVhtKCksbGYoXyksYy5jYWxsKF8pLE8uc3RhcnQoKX1mdW5jdGlvbiBIKCl7dmFyIHQ9TihfKTshUHx8bXx8Z3x8KE1hdGguYWJzKHRbMF0tUlswXSk+TWF0aC5hYnModFsxXS1SWzFdKT9nPSEwOm09ITApLFI9dCxmPSEwLCRtKCksRigpfWZ1bmN0aW9uIEYoKXt2YXIgdDtzd2l0Y2goaz1SWzBdLUlbMF0sTD1SWzFdLUlbMV0sdil7Y2FzZSBabTpjYXNlIEttOmImJihrPU1hdGgubWF4KEUtbixNYXRoLm1pbihDLWwsaykpLHI9bitrLGg9bCtrKSx4JiYoTD1NYXRoLm1heChULWEsTWF0aC5taW4oQS1kLEwpKSxzPWErTCxwPWQrTCk7YnJlYWs7Y2FzZSBKbTpiPDA/KGs9TWF0aC5tYXgoRS1uLE1hdGgubWluKEMtbixrKSkscj1uK2ssaD1sKTpiPjAmJihrPU1hdGgubWF4KEUtbCxNYXRoLm1pbihDLWwsaykpLHI9bixoPWwraykseDwwPyhMPU1hdGgubWF4KFQtYSxNYXRoLm1pbihBLWEsTCkpLHM9YStMLHA9ZCk6eD4wJiYoTD1NYXRoLm1heChULWQsTWF0aC5taW4oQS1kLEwpKSxzPWEscD1kK0wpO2JyZWFrO2Nhc2UgUW06YiYmKHI9TWF0aC5tYXgoRSxNYXRoLm1pbihDLG4taypiKSksaD1NYXRoLm1heChFLE1hdGgubWluKEMsbCtrKmIpKSkseCYmKHM9TWF0aC5tYXgoVCxNYXRoLm1pbihBLGEtTCp4KSkscD1NYXRoLm1heChULE1hdGgubWluKEEsZCtMKngpKSl9aDxyJiYoYio9LTEsdD1uLG49bCxsPXQsdD1yLHI9aCxoPXQseSBpbiBzZyYmRC5hdHRyKCJjdXJzb3IiLGFnW3k9c2dbeV1dKSkscDxzJiYoeCo9LTEsdD1hLGE9ZCxkPXQsdD1zLHM9cCxwPXQseSBpbiBsZyYmRC5hdHRyKCJjdXJzb3IiLGFnW3k9bGdbeV1dKSksdy5zZWxlY3Rpb24mJihNPXcuc2VsZWN0aW9uKSxtJiYocj1NWzBdWzBdLGg9TVsxXVswXSksZyYmKHM9TVswXVsxXSxwPU1bMV1bMV0pLE1bMF1bMF09PT1yJiZNWzBdWzFdPT09cyYmTVsxXVswXT09PWgmJk1bMV1bMV09PT1wfHwody5zZWxlY3Rpb249W1tyLHNdLFtoLHBdXSxjLmNhbGwoXyksTy5icnVzaCgpKX1mdW5jdGlvbiBWKCl7aWYoWG0oKSxNdS50b3VjaGVzKXtpZihNdS50b3VjaGVzLmxlbmd0aClyZXR1cm47ZSYmY2xlYXJUaW1lb3V0KGUpLGU9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtlPW51bGx9KSw1MDApfWVsc2UgVGgoTXUudmlldyxmKSxCLm9uKCJrZXlkb3duLmJydXNoIGtleXVwLmJydXNoIG1vdXNlbW92ZS5icnVzaCBtb3VzZXVwLmJydXNoIixudWxsKTt6LmF0dHIoInBvaW50ZXItZXZlbnRzIiwiYWxsIiksRC5hdHRyKCJjdXJzb3IiLGFnLm92ZXJsYXkpLHcuc2VsZWN0aW9uJiYoTT13LnNlbGVjdGlvbiksZ2coTSkmJih3LnNlbGVjdGlvbj1udWxsLGMuY2FsbChfKSksTy5lbmQoKX1mdW5jdGlvbiBVKCl7c3dpdGNoKE11LmtleUNvZGUpe2Nhc2UgMTY6UD1iJiZ4O2JyZWFrO2Nhc2UgMTg6dj09PUptJiYoYiYmKGw9aC1rKmIsbj1yK2sqYikseCYmKGQ9cC1MKngsYT1zK0wqeCksdj1RbSxGKCkpO2JyZWFrO2Nhc2UgMzI6diE9PUptJiZ2IT09UW18fChiPDA/bD1oLWs6Yj4wJiYobj1yLWspLHg8MD9kPXAtTDp4PjAmJihhPXMtTCksdj1abSxELmF0dHIoImN1cnNvciIsYWcuc2VsZWN0aW9uKSxGKCkpO2JyZWFrO2RlZmF1bHQ6cmV0dXJufSRtKCl9ZnVuY3Rpb24gaigpe3N3aXRjaChNdS5rZXlDb2RlKXtjYXNlIDE2OlAmJihtPWc9UD0hMSxGKCkpO2JyZWFrO2Nhc2UgMTg6dj09PVFtJiYoYjwwP2w9aDpiPjAmJihuPXIpLHg8MD9kPXA6eD4wJiYoYT1zKSx2PUptLEYoKSk7YnJlYWs7Y2FzZSAzMjp2PT09Wm0mJihNdS5hbHRLZXk/KGImJihsPWgtaypiLG49citrKmIpLHgmJihkPXAtTCp4LGE9cytMKngpLHY9UW0pOihiPDA/bD1oOmI+MCYmKG49cikseDwwP2Q9cDp4PjAmJihhPXMpLHY9Sm0pLEQuYXR0cigiY3Vyc29yIixhZ1t5XSksRigpKTticmVhaztkZWZhdWx0OnJldHVybn0kbSgpfX1mdW5jdGlvbiBwKCl7dSh0aGlzLGFyZ3VtZW50cykubW92ZWQoKX1mdW5jdGlvbiBmKCl7dSh0aGlzLGFyZ3VtZW50cykuZW5kZWQoKX1mdW5jdGlvbiBtKCl7dmFyIGU9dGhpcy5fX2JydXNofHx7c2VsZWN0aW9uOm51bGx9O3JldHVybiBlLmV4dGVudD1lZyhuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksZS5kaW09dCxlfXJldHVybiBsLm1vdmU9ZnVuY3Rpb24oZSxuKXtlLnNlbGVjdGlvbj9lLm9uKCJzdGFydC5icnVzaCIsKGZ1bmN0aW9uKCl7dSh0aGlzLGFyZ3VtZW50cykuYmVmb3Jlc3RhcnQoKS5zdGFydCgpfSkpLm9uKCJpbnRlcnJ1cHQuYnJ1c2ggZW5kLmJydXNoIiwoZnVuY3Rpb24oKXt1KHRoaXMsYXJndW1lbnRzKS5lbmQoKX0pKS50d2VlbigiYnJ1c2giLChmdW5jdGlvbigpe3ZhciBlPXRoaXMsaT1lLl9fYnJ1c2gscj11KGUsYXJndW1lbnRzKSxvPWkuc2VsZWN0aW9uLGE9dC5pbnB1dCgiZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTpuLGkuZXh0ZW50KSxzPWNwKG8sYSk7ZnVuY3Rpb24gbCh0KXtpLnNlbGVjdGlvbj0xPT09dCYmbnVsbD09PWE/bnVsbDpzKHQpLGMuY2FsbChlKSxyLmJydXNoKCl9cmV0dXJuIG51bGwhPT1vJiZudWxsIT09YT9sOmwoMSl9KSk6ZS5lYWNoKChmdW5jdGlvbigpe3ZhciBlPXRoaXMsaT1hcmd1bWVudHMscj1lLl9fYnJ1c2gsbz10LmlucHV0KCJmdW5jdGlvbiI9PXR5cGVvZiBuP24uYXBwbHkoZSxpKTpuLHIuZXh0ZW50KSxhPXUoZSxpKS5iZWZvcmVzdGFydCgpO2xmKGUpLHIuc2VsZWN0aW9uPW51bGw9PT1vP251bGw6byxjLmNhbGwoZSksYS5zdGFydCgpLmJydXNoKCkuZW5kKCl9KSl9LGwuY2xlYXI9ZnVuY3Rpb24odCl7bC5tb3ZlKHQsbnVsbCl9LGgucHJvdG90eXBlPXtiZWZvcmVzdGFydDpmdW5jdGlvbigpe3JldHVybiAxPT0rK3RoaXMuYWN0aXZlJiYodGhpcy5zdGF0ZS5lbWl0dGVyPXRoaXMsdGhpcy5zdGFydGluZz0hMCksdGhpc30sc3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdGFydGluZz8odGhpcy5zdGFydGluZz0hMSx0aGlzLmVtaXQoInN0YXJ0IikpOnRoaXMuZW1pdCgiYnJ1c2giKSx0aGlzfSxicnVzaDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVtaXQoImJydXNoIiksdGhpc30sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIDA9PS0tdGhpcy5hY3RpdmUmJihkZWxldGUgdGhpcy5zdGF0ZS5lbWl0dGVyLHRoaXMuZW1pdCgiZW5kIikpLHRoaXN9LGVtaXQ6ZnVuY3Rpb24oZSl7THUobmV3IFltKGwsZSx0Lm91dHB1dCh0aGlzLnN0YXRlLnNlbGVjdGlvbikpLGEuYXBwbHksYSxbZSx0aGlzLnRoYXQsdGhpcy5hcmdzXSl9fSxsLmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnFtKGVnKHQpKSxsKTpufSxsLmZpbHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnFtKCEhdCksbCk6aX0sbC50b3VjaGFibGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpxbSghIXQpLGwpOnJ9LGwuaGFuZGxlU2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0rdCxsKTpzfSxsLmtleU1vZGlmaWVycz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0hIXQsbCk6b30sbC5vbj1mdW5jdGlvbigpe3ZhciB0PWEub24uYXBwbHkoYSxhcmd1bWVudHMpO3JldHVybiB0PT09YT9sOnR9LGx9dmFyIHhnPU1hdGguY29zLHdnPU1hdGguc2luLFNnPU1hdGguUEksTWc9U2cvMixFZz0yKlNnLFRnPU1hdGgubWF4O2Z1bmN0aW9uIENnKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiB0KGUuc291cmNlLnZhbHVlK2UudGFyZ2V0LnZhbHVlLG4uc291cmNlLnZhbHVlK24udGFyZ2V0LnZhbHVlKX19dmFyIEFnPUFycmF5LnByb3RvdHlwZS5zbGljZTtmdW5jdGlvbiBrZyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19dmFyIExnPU1hdGguUEksUGc9MipMZyxOZz0xZS02LElnPVBnLU5nO2Z1bmN0aW9uIFJnKCl7dGhpcy5feDA9dGhpcy5feTA9dGhpcy5feDE9dGhpcy5feTE9bnVsbCx0aGlzLl89IiJ9ZnVuY3Rpb24gT2coKXtyZXR1cm4gbmV3IFJnfWZ1bmN0aW9uIHpnKHQpe3JldHVybiB0LnNvdXJjZX1mdW5jdGlvbiBEZyh0KXtyZXR1cm4gdC50YXJnZXR9ZnVuY3Rpb24gQmcodCl7cmV0dXJuIHQucmFkaXVzfWZ1bmN0aW9uIEhnKHQpe3JldHVybiB0LnN0YXJ0QW5nbGV9ZnVuY3Rpb24gRmcodCl7cmV0dXJuIHQuZW5kQW5nbGV9UmcucHJvdG90eXBlPU9nLnByb3RvdHlwZT17Y29uc3RydWN0b3I6UmcsbW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fKz0iTSIrKHRoaXMuX3gwPXRoaXMuX3gxPSt0KSsiLCIrKHRoaXMuX3kwPXRoaXMuX3kxPStlKX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX3gxJiYodGhpcy5feDE9dGhpcy5feDAsdGhpcy5feTE9dGhpcy5feTAsdGhpcy5fKz0iWiIpfSxsaW5lVG86ZnVuY3Rpb24odCxlKXt0aGlzLl8rPSJMIisodGhpcy5feDE9K3QpKyIsIisodGhpcy5feTE9K2UpfSxxdWFkcmF0aWNDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLGkpe3RoaXMuXys9IlEiKyArdCsiLCIrICtlKyIsIisodGhpcy5feDE9K24pKyIsIisodGhpcy5feTE9K2kpfSxiZXppZXJDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLGkscixvKXt0aGlzLl8rPSJDIisgK3QrIiwiKyArZSsiLCIrICtuKyIsIisgK2krIiwiKyh0aGlzLl94MT0rcikrIiwiKyh0aGlzLl95MT0rbyl9LGFyY1RvOmZ1bmN0aW9uKHQsZSxuLGkscil7dmFyIG89dGhpcy5feDEsYT10aGlzLl95MSxzPShuPStuKS0odD0rdCksbD0oaT0raSktKGU9K2UpLGM9by10LHU9YS1lLGg9YypjK3UqdTtpZigocj0rcik8MCl0aHJvdyBuZXcgRXJyb3IoIm5lZ2F0aXZlIHJhZGl1czogIityKTtpZihudWxsPT09dGhpcy5feDEpdGhpcy5fKz0iTSIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZSBpZihoPk5nKWlmKE1hdGguYWJzKHUqcy1sKmMpPk5nJiZyKXt2YXIgZD1uLW8scD1pLWEsZj1zKnMrbCpsLG09ZCpkK3AqcCxnPU1hdGguc3FydChmKSxfPU1hdGguc3FydChoKSx5PXIqTWF0aC50YW4oKExnLU1hdGguYWNvcygoZitoLW0pLygyKmcqXykpKS8yKSx2PXkvXyxiPXkvZztNYXRoLmFicyh2LTEpPk5nJiYodGhpcy5fKz0iTCIrKHQrdipjKSsiLCIrKGUrdip1KSksdGhpcy5fKz0iQSIrcisiLCIrcisiLDAsMCwiKyArKHUqZD5jKnApKyIsIisodGhpcy5feDE9dCtiKnMpKyIsIisodGhpcy5feTE9ZStiKmwpfWVsc2UgdGhpcy5fKz0iTCIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZTt9LGFyYzpmdW5jdGlvbih0LGUsbixpLHIsbyl7dD0rdCxlPStlLG89ISFvO3ZhciBhPShuPStuKSpNYXRoLmNvcyhpKSxzPW4qTWF0aC5zaW4oaSksbD10K2EsYz1lK3MsdT0xXm8saD1vP2ktcjpyLWk7aWYobjwwKXRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiK24pO251bGw9PT10aGlzLl94MT90aGlzLl8rPSJNIitsKyIsIitjOihNYXRoLmFicyh0aGlzLl94MS1sKT5OZ3x8TWF0aC5hYnModGhpcy5feTEtYyk+TmcpJiYodGhpcy5fKz0iTCIrbCsiLCIrYyksbiYmKGg8MCYmKGg9aCVQZytQZyksaD5JZz90aGlzLl8rPSJBIituKyIsIituKyIsMCwxLCIrdSsiLCIrKHQtYSkrIiwiKyhlLXMpKyJBIituKyIsIituKyIsMCwxLCIrdSsiLCIrKHRoaXMuX3gxPWwpKyIsIisodGhpcy5feTE9Yyk6aD5OZyYmKHRoaXMuXys9IkEiK24rIiwiK24rIiwwLCIrICsoaD49TGcpKyIsIit1KyIsIisodGhpcy5feDE9dCtuKk1hdGguY29zKHIpKSsiLCIrKHRoaXMuX3kxPWUrbipNYXRoLnNpbihyKSkpKX0scmVjdDpmdW5jdGlvbih0LGUsbixpKXt0aGlzLl8rPSJNIisodGhpcy5feDA9dGhpcy5feDE9K3QpKyIsIisodGhpcy5feTA9dGhpcy5feTE9K2UpKyJoIisgK24rInYiKyAraSsiaCIrLW4rIloifSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl99fTt2YXIgVmc9IiQiO2Z1bmN0aW9uIFVnKCl7fWZ1bmN0aW9uIGpnKHQsZSl7dmFyIG49bmV3IFVnO2lmKHQgaW5zdGFuY2VvZiBVZyl0LmVhY2goKGZ1bmN0aW9uKHQsZSl7bi5zZXQoZSx0KX0pKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkodCkpe3ZhciBpLHI9LTEsbz10Lmxlbmd0aDtpZihudWxsPT1lKWZvcig7KytyPG87KW4uc2V0KHIsdFtyXSk7ZWxzZSBmb3IoOysrcjxvOyluLnNldChlKGk9dFtyXSxyLHQpLGkpfWVsc2UgaWYodClmb3IodmFyIGEgaW4gdCluLnNldChhLHRbYV0pO3JldHVybiBufWZ1bmN0aW9uIEdnKCl7cmV0dXJue319ZnVuY3Rpb24gV2codCxlLG4pe3RbZV09bn1mdW5jdGlvbiBxZygpe3JldHVybiBqZygpfWZ1bmN0aW9uIFlnKHQsZSxuKXt0LnNldChlLG4pfWZ1bmN0aW9uIFhnKCl7fVVnLnByb3RvdHlwZT1qZy5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlVnLGhhczpmdW5jdGlvbih0KXtyZXR1cm4gVmcrdCBpbiB0aGlzfSxnZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbVmcrdF19LHNldDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzW1ZnK3RdPWUsdGhpc30scmVtb3ZlOmZ1bmN0aW9uKHQpe3ZhciBlPVZnK3Q7cmV0dXJuIGUgaW4gdGhpcyYmZGVsZXRlIHRoaXNbZV19LGNsZWFyOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMpdFswXT09PVZnJiZkZWxldGUgdGhpc1t0XX0sa2V5czpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT1WZyYmdC5wdXNoKGUuc2xpY2UoMSkpO3JldHVybiB0fSx2YWx1ZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09VmcmJnQucHVzaCh0aGlzW2VdKTtyZXR1cm4gdH0sZW50cmllczpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT1WZyYmdC5wdXNoKHtrZXk6ZS5zbGljZSgxKSx2YWx1ZTp0aGlzW2VdfSk7cmV0dXJuIHR9LHNpemU6ZnVuY3Rpb24oKXt2YXIgdD0wO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT1WZyYmKyt0O3JldHVybiB0fSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzKWlmKHRbMF09PT1WZylyZXR1cm4hMTtyZXR1cm4hMH0sZWFjaDpmdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09VmcmJnQodGhpc1tlXSxlLnNsaWNlKDEpLHRoaXMpfX07dmFyICRnPWpnLnByb3RvdHlwZTtmdW5jdGlvbiBLZyh0LGUpe3ZhciBuPW5ldyBYZztpZih0IGluc3RhbmNlb2YgWGcpdC5lYWNoKChmdW5jdGlvbih0KXtuLmFkZCh0KX0pKTtlbHNlIGlmKHQpe3ZhciBpPS0xLHI9dC5sZW5ndGg7aWYobnVsbD09ZSlmb3IoOysraTxyOyluLmFkZCh0W2ldKTtlbHNlIGZvcig7KytpPHI7KW4uYWRkKGUodFtpXSxpLHQpKX1yZXR1cm4gbn1mdW5jdGlvbiBaZyh0KXt2YXIgZT1bXTtmb3IodmFyIG4gaW4gdCllLnB1c2gobik7cmV0dXJuIGV9WGcucHJvdG90eXBlPUtnLnByb3RvdHlwZT17Y29uc3RydWN0b3I6WGcsaGFzOiRnLmhhcyxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbVmcrKHQrPSIiKV09dCx0aGlzfSxyZW1vdmU6JGcucmVtb3ZlLGNsZWFyOiRnLmNsZWFyLHZhbHVlczokZy5rZXlzLHNpemU6JGcuc2l6ZSxlbXB0eTokZy5lbXB0eSxlYWNoOiRnLmVhY2h9O3ZhciBKZz1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gUWcodCxlKXtyZXR1cm4gdC1lfWZ1bmN0aW9uIHRfKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBlXyh0LGUpe2Zvcih2YXIgbixpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KWlmKG49bl8odCxlW2ldKSlyZXR1cm4gbjtyZXR1cm4gMH1mdW5jdGlvbiBuXyh0LGUpe2Zvcih2YXIgbj1lWzBdLGk9ZVsxXSxyPS0xLG89MCxhPXQubGVuZ3RoLHM9YS0xO288YTtzPW8rKyl7dmFyIGw9dFtvXSxjPWxbMF0sdT1sWzFdLGg9dFtzXSxkPWhbMF0scD1oWzFdO2lmKGlfKGwsaCxlKSlyZXR1cm4gMDt1PmkhPXA+aSYmbjwoZC1jKSooaS11KS8ocC11KStjJiYocj0tcil9cmV0dXJuIHJ9ZnVuY3Rpb24gaV8odCxlLG4pe3ZhciBpO3JldHVybihmdW5jdGlvbiByKHQsZSxuKXtyZXR1cm4oZVswXS10WzBdKSooblsxXS10WzFdKT09KG5bMF0tdFswXSkqKGVbMV0tdFsxXSl9KSh0LGUsbikmJihmdW5jdGlvbiBvKHQsZSxuKXtyZXR1cm4gdDw9ZSYmZTw9bnx8bjw9ZSYmZTw9dH0pKHRbaT0rKHRbMF09PT1lWzBdKV0sbltpXSxlW2ldKX1mdW5jdGlvbiByXygpe312YXIgb189W1tdLFtbWzEsMS41XSxbLjUsMV1dXSxbW1sxLjUsMV0sWzEsMS41XV1dLFtbWzEuNSwxXSxbLjUsMV1dXSxbW1sxLC41XSxbMS41LDFdXV0sW1tbMSwxLjVdLFsuNSwxXV0sW1sxLC41XSxbMS41LDFdXV0sW1tbMSwuNV0sWzEsMS41XV1dLFtbWzEsLjVdLFsuNSwxXV1dLFtbWy41LDFdLFsxLC41XV1dLFtbWzEsMS41XSxbMSwuNV1dXSxbW1suNSwxXSxbMSwuNV1dLFtbMS41LDFdLFsxLDEuNV1dXSxbW1sxLjUsMV0sWzEsLjVdXV0sW1tbLjUsMV0sWzEuNSwxXV1dLFtbWzEsMS41XSxbMS41LDFdXV0sW1tbLjUsMV0sWzEsMS41XV1dLFtdXTtmdW5jdGlvbiBhXygpe3ZhciB0PTEsZT0xLG49aWMsaT1zO2Z1bmN0aW9uIHIodCl7dmFyIGU9bih0KTtpZihBcnJheS5pc0FycmF5KGUpKWU9ZS5zbGljZSgpLnNvcnQoUWcpO2Vsc2V7dmFyIGk9R2wodCkscj1pWzBdLGE9aVsxXTtlPW5jKHIsYSxlKSxlPUtsKE1hdGguZmxvb3Ioci9lKSplLE1hdGguZmxvb3IoYS9lKSplLGUpfXJldHVybiBlLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIG8odCxlKX0pKX1mdW5jdGlvbiBvKG4scil7dmFyIG89W10scz1bXTtyZXR1cm4oZnVuY3Rpb24gbChuLGkscil7dmFyIG8scyxsLGMsdSxoPW5ldyBBcnJheSxkPW5ldyBBcnJheTtvPXM9LTEsb19bKGw9blswXT49aSk8PDFdLmZvckVhY2gocCk7Zm9yKDsrK288dC0xOylvX1tsfChsPW5bbysxXT49aSk8PDFdLmZvckVhY2gocCk7b19bbDw8MF0uZm9yRWFjaChwKTtmb3IoOysrczxlLTE7KXtmb3Iobz0tMSxvX1sobD1uW3MqdCt0XT49aSk8PDF8KGM9bltzKnRdPj1pKTw8Ml0uZm9yRWFjaChwKTsrK288dC0xOyl1PWMsb19bbHwobD1uW3MqdCt0K28rMV0+PWkpPDwxfChjPW5bcyp0K28rMV0+PWkpPDwyfHU8PDNdLmZvckVhY2gocCk7b19bbHxjPDwzXS5mb3JFYWNoKHApfW89LTEsb19bKGM9bltzKnRdPj1pKTw8Ml0uZm9yRWFjaChwKTtmb3IoOysrbzx0LTE7KXU9YyxvX1soYz1uW3MqdCtvKzFdPj1pKTw8Mnx1PDwzXS5mb3JFYWNoKHApO2Z1bmN0aW9uIHAodCl7dmFyIGUsbixpPVt0WzBdWzBdK28sdFswXVsxXStzXSxsPVt0WzFdWzBdK28sdFsxXVsxXStzXSxjPWEoaSksdT1hKGwpOyhlPWRbY10pPyhuPWhbdV0pPyhkZWxldGUgZFtlLmVuZF0sZGVsZXRlIGhbbi5zdGFydF0sZT09PW4/KGUucmluZy5wdXNoKGwpLHIoZS5yaW5nKSk6aFtlLnN0YXJ0XT1kW24uZW5kXT17c3RhcnQ6ZS5zdGFydCxlbmQ6bi5lbmQscmluZzplLnJpbmcuY29uY2F0KG4ucmluZyl9KTooZGVsZXRlIGRbZS5lbmRdLGUucmluZy5wdXNoKGwpLGRbZS5lbmQ9dV09ZSk6KGU9aFt1XSk/KG49ZFtjXSk/KGRlbGV0ZSBoW2Uuc3RhcnRdLGRlbGV0ZSBkW24uZW5kXSxlPT09bj8oZS5yaW5nLnB1c2gobCkscihlLnJpbmcpKTpoW24uc3RhcnRdPWRbZS5lbmRdPXtzdGFydDpuLnN0YXJ0LGVuZDplLmVuZCxyaW5nOm4ucmluZy5jb25jYXQoZS5yaW5nKX0pOihkZWxldGUgaFtlLnN0YXJ0XSxlLnJpbmcudW5zaGlmdChpKSxoW2Uuc3RhcnQ9Y109ZSk6aFtjXT1kW3VdPXtzdGFydDpjLGVuZDp1LHJpbmc6W2ksbF19fW9fW2M8PDNdLmZvckVhY2gocCl9KShuLHIsKGZ1bmN0aW9uKHQpe2kodCxuLHIpLChmdW5jdGlvbiBlKHQpe2Zvcih2YXIgZT0wLG49dC5sZW5ndGgsaT10W24tMV1bMV0qdFswXVswXS10W24tMV1bMF0qdFswXVsxXTsrK2U8bjspaSs9dFtlLTFdWzFdKnRbZV1bMF0tdFtlLTFdWzBdKnRbZV1bMV07cmV0dXJuIGl9KSh0KT4wP28ucHVzaChbdF0pOnMucHVzaCh0KX0pKSxzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPTAsaT1vLmxlbmd0aDtuPGk7KytuKWlmKC0xIT09ZV8oKGU9b1tuXSlbMF0sdCkpcmV0dXJuIHZvaWQgZS5wdXNoKHQpfSkpLHt0eXBlOiJNdWx0aVBvbHlnb24iLHZhbHVlOnIsY29vcmRpbmF0ZXM6b319ZnVuY3Rpb24gYShlKXtyZXR1cm4gMiplWzBdK2VbMV0qKHQrMSkqNH1mdW5jdGlvbiBzKG4saSxyKXtuLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciBvLGE9blswXSxzPW5bMV0sbD0wfGEsYz0wfHMsdT1pW2MqdCtsXTthPjAmJmE8dCYmbD09PWEmJihuWzBdPWErKHItKG89aVtjKnQrbC0xXSkpLyh1LW8pLS41KSxzPjAmJnM8ZSYmYz09PXMmJihuWzFdPXMrKHItKG89aVsoYy0xKSp0K2xdKSkvKHUtbyktLjUpfSkpfXJldHVybiByLmNvbnRvdXI9byxyLnNpemU9ZnVuY3Rpb24obil7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuW3QsZV07dmFyIGk9TWF0aC5jZWlsKG5bMF0pLG89TWF0aC5jZWlsKG5bMV0pO2lmKCEoaT4wJiZvPjApKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaXplIik7cmV0dXJuIHQ9aSxlPW8scn0sci50aHJlc2hvbGRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QXJyYXkuaXNBcnJheSh0KT90XyhKZy5jYWxsKHQpKTp0Xyh0KSxyKTpufSxyLnNtb290aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT10P3M6cl8scik6aT09PXN9LHJ9ZnVuY3Rpb24gc18odCxlLG4pe2Zvcih2YXIgaT10LndpZHRoLHI9dC5oZWlnaHQsbz0xKyhuPDwxKSxhPTA7YTxyOysrYSlmb3IodmFyIHM9MCxsPTA7czxpK247KytzKXM8aSYmKGwrPXQuZGF0YVtzK2EqaV0pLHM+PW4mJihzPj1vJiYobC09dC5kYXRhW3MtbythKmldKSxlLmRhdGFbcy1uK2EqaV09bC9NYXRoLm1pbihzKzEsaS0xK28tcyxvKSl9ZnVuY3Rpb24gbF8odCxlLG4pe2Zvcih2YXIgaT10LndpZHRoLHI9dC5oZWlnaHQsbz0xKyhuPDwxKSxhPTA7YTxpOysrYSlmb3IodmFyIHM9MCxsPTA7czxyK247KytzKXM8ciYmKGwrPXQuZGF0YVthK3MqaV0pLHM+PW4mJihzPj1vJiYobC09dC5kYXRhW2ErKHMtbykqaV0pLGUuZGF0YVthKyhzLW4pKmldPWwvTWF0aC5taW4ocysxLHItMStvLXMsbykpfWZ1bmN0aW9uIGNfKHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIHVfKHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIGhfKCl7cmV0dXJuIDF9dmFyIGRfPXt9LHBfPXt9O2Z1bmN0aW9uIGZfKHQpe3JldHVybiBuZXcgRnVuY3Rpb24oImQiLCJyZXR1cm4geyIrdC5tYXAoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpKyI6IGRbIitlKyddIHx8ICIiJ30pKS5qb2luKCIsIikrIn0iKX1mdW5jdGlvbiBtXyh0KXt2YXIgZT1PYmplY3QuY3JlYXRlKG51bGwpLG49W107cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7Zm9yKHZhciBpIGluIHQpaSBpbiBlfHxuLnB1c2goZVtpXT1pKX0pKSxufWZ1bmN0aW9uIGdfKHQsZSl7dmFyIG49dCsiIixpPW4ubGVuZ3RoO3JldHVybiBpPGU/bmV3IEFycmF5KGUtaSsxKS5qb2luKDApK246bn1mdW5jdGlvbiBfXyh0KXt2YXIgZT10LmdldFVUQ0hvdXJzKCksbj10LmdldFVUQ01pbnV0ZXMoKSxpPXQuZ2V0VVRDU2Vjb25kcygpLHI9dC5nZXRVVENNaWxsaXNlY29uZHMoKTtyZXR1cm4gaXNOYU4odCk/IkludmFsaWQgRGF0ZSI6KGZ1bmN0aW9uIG8odCl7cmV0dXJuIHQ8MD8iLSIrZ18oLXQsNik6dD45OTk5PyIrIitnXyh0LDYpOmdfKHQsNCl9KSh0LmdldFVUQ0Z1bGxZZWFyKCkpKyItIitnXyh0LmdldFVUQ01vbnRoKCkrMSwyKSsiLSIrZ18odC5nZXRVVENEYXRlKCksMikrKHI/IlQiK2dfKGUsMikrIjoiK2dfKG4sMikrIjoiK2dfKGksMikrIi4iK2dfKHIsMykrIloiOmk/IlQiK2dfKGUsMikrIjoiK2dfKG4sMikrIjoiK2dfKGksMikrIloiOm58fGU/IlQiK2dfKGUsMikrIjoiK2dfKG4sMikrIloiOiIiKX1mdW5jdGlvbiB5Xyh0KXt2YXIgZT1uZXcgUmVnRXhwKCdbIicrdCsiXG5ccl0iKSxuPXQuY2hhckNvZGVBdCgwKTtmdW5jdGlvbiBpKHQsZSl7dmFyIGkscj1bXSxvPXQubGVuZ3RoLGE9MCxzPTAsbD1vPD0wLGM9ITE7ZnVuY3Rpb24gdSgpe2lmKGwpcmV0dXJuIHBfO2lmKGMpcmV0dXJuIGM9ITEsZF87dmFyIGUsaSxyPWE7aWYoMzQ9PT10LmNoYXJDb2RlQXQocikpe2Zvcig7YSsrPG8mJjM0IT09dC5jaGFyQ29kZUF0KGEpfHwzND09PXQuY2hhckNvZGVBdCgrK2EpOyk7cmV0dXJuKGU9YSk+PW8/bD0hMDoxMD09PShpPXQuY2hhckNvZGVBdChhKyspKT9jPSEwOjEzPT09aSYmKGM9ITAsMTA9PT10LmNoYXJDb2RlQXQoYSkmJisrYSksdC5zbGljZShyKzEsZS0xKS5yZXBsYWNlKC8iIi9nLCciJyl9Zm9yKDthPG87KXtpZigxMD09PShpPXQuY2hhckNvZGVBdChlPWErKykpKWM9ITA7ZWxzZSBpZigxMz09PWkpYz0hMCwxMD09PXQuY2hhckNvZGVBdChhKSYmKythO2Vsc2UgaWYoaSE9PW4pY29udGludWU7cmV0dXJuIHQuc2xpY2UocixlKX1yZXR1cm4gbD0hMCx0LnNsaWNlKHIsbyl9Zm9yKDEwPT09dC5jaGFyQ29kZUF0KG8tMSkmJi0tbywxMz09PXQuY2hhckNvZGVBdChvLTEpJiYtLW87KGk9dSgpKSE9PXBfOyl7Zm9yKHZhciBoPVtdO2khPT1kXyYmaSE9PXBfOyloLnB1c2goaSksaT11KCk7ZSYmbnVsbD09KGg9ZShoLHMrKykpfHxyLnB1c2goaCl9cmV0dXJuIHJ9ZnVuY3Rpb24gcihlLG4pe3JldHVybiBlLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gYShlW3RdKX0pKS5qb2luKHQpfSkpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIGUubWFwKGEpLmpvaW4odCl9ZnVuY3Rpb24gYSh0KXtyZXR1cm4gbnVsbD09dD8iIjp0IGluc3RhbmNlb2YgRGF0ZT9fXyh0KTplLnRlc3QodCs9IiIpPyciJyt0LnJlcGxhY2UoLyIvZywnIiInKSsnIic6dH1yZXR1cm57cGFyc2U6ZnVuY3Rpb24gcyh0LGUpe3ZhciBuLHIsbz1pKHQsKGZ1bmN0aW9uKHQsaSl7aWYobilyZXR1cm4gbih0LGktMSk7cj10LG49ZT8oZnVuY3Rpb24gbyh0LGUpe3ZhciBuPWZfKHQpO3JldHVybiBmdW5jdGlvbihpLHIpe3JldHVybiBlKG4oaSkscix0KX19KSh0LGUpOmZfKHQpfSkpO3JldHVybiBvLmNvbHVtbnM9cnx8W10sb30scGFyc2VSb3dzOmksZm9ybWF0OmZ1bmN0aW9uIGwoZSxuKXtyZXR1cm4gbnVsbD09biYmKG49bV8oZSkpLFtuLm1hcChhKS5qb2luKHQpXS5jb25jYXQocihlLG4pKS5qb2luKCJcbiIpfSxmb3JtYXRCb2R5OmZ1bmN0aW9uIGModCxlKXtyZXR1cm4gbnVsbD09ZSYmKGU9bV8odCkpLHIodCxlKS5qb2luKCJcbiIpfSxmb3JtYXRSb3dzOmZ1bmN0aW9uIHUodCl7cmV0dXJuIHQubWFwKG8pLmpvaW4oIlxuIil9LGZvcm1hdFJvdzpvLGZvcm1hdFZhbHVlOmF9fXZhciB2Xz15XygiLCIpLGJfPXZfLnBhcnNlLHhfPXZfLnBhcnNlUm93cyx3Xz12Xy5mb3JtYXQsU189dl8uZm9ybWF0Qm9keSxNXz12Xy5mb3JtYXRSb3dzLEVfPXZfLmZvcm1hdFJvdyxUXz12Xy5mb3JtYXRWYWx1ZSxDXz15XygiXHQiKSxBXz1DXy5wYXJzZSxrXz1DXy5wYXJzZVJvd3MsTF89Q18uZm9ybWF0LFBfPUNfLmZvcm1hdEJvZHksTl89Q18uZm9ybWF0Um93cyxJXz1DXy5mb3JtYXRSb3csUl89Q18uZm9ybWF0VmFsdWU7dmFyIE9fPW5ldyBEYXRlKCIyMDE5LTAxLTAxVDAwOjAwIikuZ2V0SG91cnMoKXx8bmV3IERhdGUoIjIwMTktMDctMDFUMDA6MDAiKS5nZXRIb3VycygpO2Z1bmN0aW9uIHpfKHQpe2lmKCF0Lm9rKXRocm93IG5ldyBFcnJvcih0LnN0YXR1cysiICIrdC5zdGF0dXNUZXh0KTtyZXR1cm4gdC5ibG9iKCl9ZnVuY3Rpb24gRF8odCl7aWYoIXQub2spdGhyb3cgbmV3IEVycm9yKHQuc3RhdHVzKyIgIit0LnN0YXR1c1RleHQpO3JldHVybiB0LmFycmF5QnVmZmVyKCl9ZnVuY3Rpb24gQl8odCl7aWYoIXQub2spdGhyb3cgbmV3IEVycm9yKHQuc3RhdHVzKyIgIit0LnN0YXR1c1RleHQpO3JldHVybiB0LnRleHQoKX1mdW5jdGlvbiBIXyh0LGUpe3JldHVybiBmZXRjaCh0LGUpLnRoZW4oQl8pfWZ1bmN0aW9uIEZfKHQpe3JldHVybiBmdW5jdGlvbihlLG4saSl7cmV0dXJuIDI9PT1hcmd1bWVudHMubGVuZ3RoJiYiZnVuY3Rpb24iPT10eXBlb2YgbiYmKGk9bixuPXZvaWQgMCksSF8oZSxuKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gdChlLGkpfSkpfX12YXIgVl89Rl8oYl8pLFVfPUZfKEFfKTtmdW5jdGlvbiBqXyh0KXtpZighdC5vayl0aHJvdyBuZXcgRXJyb3IodC5zdGF0dXMrIiAiK3Quc3RhdHVzVGV4dCk7aWYoMjA0IT09dC5zdGF0dXMmJjIwNSE9PXQuc3RhdHVzKXJldHVybiB0Lmpzb24oKX1mdW5jdGlvbiBHXyh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gSF8oZSxuKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUsdCl9KSl9fXZhciBXXz1HXygiYXBwbGljYXRpb24veG1sIikscV89R18oInRleHQvaHRtbCIpLFlfPUdfKCJpbWFnZS9zdmcreG1sIik7ZnVuY3Rpb24gWF8odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uICRfKCl7cmV0dXJuIDFlLTYqKE1hdGgucmFuZG9tKCktLjUpfWZ1bmN0aW9uIEtfKHQsZSxuLGkpe2lmKGlzTmFOKGUpfHxpc05hTihuKSlyZXR1cm4gdDt2YXIgcixvLGEscyxsLGMsdSxoLGQscD10Ll9yb290LGY9e2RhdGE6aX0sbT10Ll94MCxnPXQuX3kwLF89dC5feDEseT10Ll95MTtpZighcClyZXR1cm4gdC5fcm9vdD1mLHQ7Zm9yKDtwLmxlbmd0aDspaWYoKGM9ZT49KG89KG0rXykvMikpP209bzpfPW8sKHU9bj49KGE9KGcreSkvMikpP2c9YTp5PWEscj1wLCEocD1wW2g9dTw8MXxjXSkpcmV0dXJuIHJbaF09Zix0O2lmKHM9K3QuX3guY2FsbChudWxsLHAuZGF0YSksbD0rdC5feS5jYWxsKG51bGwscC5kYXRhKSxlPT09cyYmbj09PWwpcmV0dXJuIGYubmV4dD1wLHI/cltoXT1mOnQuX3Jvb3Q9Zix0O2Rve3I9cj9yW2hdPW5ldyBBcnJheSg0KTp0Ll9yb290PW5ldyBBcnJheSg0KSwoYz1lPj0obz0obStfKS8yKSk/bT1vOl89bywodT1uPj0oYT0oZyt5KS8yKSk/Zz1hOnk9YX13aGlsZSgoaD11PDwxfGMpPT0oZD0obD49YSk8PDF8cz49bykpO3JldHVybiByW2RdPXAscltoXT1mLHR9ZnVuY3Rpb24gWl8odCxlLG4saSxyKXt0aGlzLm5vZGU9dCx0aGlzLngwPWUsdGhpcy55MD1uLHRoaXMueDE9aSx0aGlzLnkxPXJ9ZnVuY3Rpb24gSl8odCl7cmV0dXJuIHRbMF19ZnVuY3Rpb24gUV8odCl7cmV0dXJuIHRbMV19ZnVuY3Rpb24gdHkodCxlLG4pe3ZhciBpPW5ldyBleShudWxsPT1lP0pfOmUsbnVsbD09bj9RXzpuLE5hTixOYU4sTmFOLE5hTik7cmV0dXJuIG51bGw9PXQ/aTppLmFkZEFsbCh0KX1mdW5jdGlvbiBleSh0LGUsbixpLHIsbyl7dGhpcy5feD10LHRoaXMuX3k9ZSx0aGlzLl94MD1uLHRoaXMuX3kwPWksdGhpcy5feDE9cix0aGlzLl95MT1vLHRoaXMuX3Jvb3Q9dm9pZCAwfWZ1bmN0aW9uIG55KHQpe2Zvcih2YXIgZT17ZGF0YTp0LmRhdGF9LG49ZTt0PXQubmV4dDspbj1uLm5leHQ9e2RhdGE6dC5kYXRhfTtyZXR1cm4gZX12YXIgaXk9dHkucHJvdG90eXBlPWV5LnByb3RvdHlwZTtmdW5jdGlvbiByeSh0KXtyZXR1cm4gdC54K3Qudnh9ZnVuY3Rpb24gb3kodCl7cmV0dXJuIHQueSt0LnZ5fWZ1bmN0aW9uIGF5KHQpe3JldHVybiB0LmluZGV4fWZ1bmN0aW9uIHN5KHQsZSl7dmFyIG49dC5nZXQoZSk7aWYoIW4pdGhyb3cgbmV3IEVycm9yKCJtaXNzaW5nOiAiK2UpO3JldHVybiBufWZ1bmN0aW9uIGx5KHQpe3JldHVybiB0Lnh9ZnVuY3Rpb24gY3kodCl7cmV0dXJuIHQueX1peS5jb3B5PWZ1bmN0aW9uKCl7dmFyIHQsZSxuPW5ldyBleSh0aGlzLl94LHRoaXMuX3ksdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpLGk9dGhpcy5fcm9vdDtpZighaSlyZXR1cm4gbjtpZighaS5sZW5ndGgpcmV0dXJuIG4uX3Jvb3Q9bnkoaSksbjtmb3IodD1be3NvdXJjZTppLHRhcmdldDpuLl9yb290PW5ldyBBcnJheSg0KX1dO2k9dC5wb3AoKTspZm9yKHZhciByPTA7cjw0OysrcikoZT1pLnNvdXJjZVtyXSkmJihlLmxlbmd0aD90LnB1c2goe3NvdXJjZTplLHRhcmdldDppLnRhcmdldFtyXT1uZXcgQXJyYXkoNCl9KTppLnRhcmdldFtyXT1ueShlKSk7cmV0dXJuIG59LGl5LmFkZD1mdW5jdGlvbiB1eSh0KXt2YXIgZT0rdGhpcy5feC5jYWxsKG51bGwsdCksbj0rdGhpcy5feS5jYWxsKG51bGwsdCk7cmV0dXJuIEtfKHRoaXMuY292ZXIoZSxuKSxlLG4sdCl9LGl5LmFkZEFsbD1mdW5jdGlvbiBoeSh0KXt2YXIgZSxuLGkscixvPXQubGVuZ3RoLGE9bmV3IEFycmF5KG8pLHM9bmV3IEFycmF5KG8pLGw9MS8wLGM9MS8wLHU9LTEvMCxoPS0xLzA7Zm9yKG49MDtuPG87KytuKWlzTmFOKGk9K3RoaXMuX3guY2FsbChudWxsLGU9dFtuXSkpfHxpc05hTihyPSt0aGlzLl95LmNhbGwobnVsbCxlKSl8fChhW25dPWksc1tuXT1yLGk8bCYmKGw9aSksaT51JiYodT1pKSxyPGMmJihjPXIpLHI+aCYmKGg9cikpO2lmKGw+dXx8Yz5oKXJldHVybiB0aGlzO2Zvcih0aGlzLmNvdmVyKGwsYykuY292ZXIodSxoKSxuPTA7bjxvOysrbilLXyh0aGlzLGFbbl0sc1tuXSx0W25dKTtyZXR1cm4gdGhpc30saXkuY292ZXI9ZnVuY3Rpb24gZHkodCxlKXtpZihpc05hTih0PSt0KXx8aXNOYU4oZT0rZSkpcmV0dXJuIHRoaXM7dmFyIG49dGhpcy5feDAsaT10aGlzLl95MCxyPXRoaXMuX3gxLG89dGhpcy5feTE7aWYoaXNOYU4obikpcj0obj1NYXRoLmZsb29yKHQpKSsxLG89KGk9TWF0aC5mbG9vcihlKSkrMTtlbHNle2Zvcih2YXIgYSxzLGw9ci1uLGM9dGhpcy5fcm9vdDtuPnR8fHQ+PXJ8fGk+ZXx8ZT49bzspc3dpdGNoKHM9KGU8aSk8PDF8dDxuLChhPW5ldyBBcnJheSg0KSlbc109YyxjPWEsbCo9MixzKXtjYXNlIDA6cj1uK2wsbz1pK2w7YnJlYWs7Y2FzZSAxOm49ci1sLG89aStsO2JyZWFrO2Nhc2UgMjpyPW4rbCxpPW8tbDticmVhaztjYXNlIDM6bj1yLWwsaT1vLWx9dGhpcy5fcm9vdCYmdGhpcy5fcm9vdC5sZW5ndGgmJih0aGlzLl9yb290PWMpfXJldHVybiB0aGlzLl94MD1uLHRoaXMuX3kwPWksdGhpcy5feDE9cix0aGlzLl95MT1vLHRoaXN9LGl5LmRhdGE9ZnVuY3Rpb24gcHkoKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy52aXNpdCgoZnVuY3Rpb24oZSl7aWYoIWUubGVuZ3RoKWRve3QucHVzaChlLmRhdGEpfXdoaWxlKGU9ZS5uZXh0KX0pKSx0fSxpeS5leHRlbnQ9ZnVuY3Rpb24gZnkodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5jb3ZlcigrdFswXVswXSwrdFswXVsxXSkuY292ZXIoK3RbMV1bMF0sK3RbMV1bMV0pOmlzTmFOKHRoaXMuX3gwKT92b2lkIDA6W1t0aGlzLl94MCx0aGlzLl95MF0sW3RoaXMuX3gxLHRoaXMuX3kxXV19LGl5LmZpbmQ9ZnVuY3Rpb24gbXkodCxlLG4pe3ZhciBpLHIsbyxhLHMsbCxjLHU9dGhpcy5feDAsaD10aGlzLl95MCxkPXRoaXMuX3gxLHA9dGhpcy5feTEsZj1bXSxtPXRoaXMuX3Jvb3Q7Zm9yKG0mJmYucHVzaChuZXcgWl8obSx1LGgsZCxwKSksbnVsbD09bj9uPTEvMDoodT10LW4saD1lLW4sZD10K24scD1lK24sbio9bik7bD1mLnBvcCgpOylpZighKCEobT1sLm5vZGUpfHwocj1sLngwKT5kfHwobz1sLnkwKT5wfHwoYT1sLngxKTx1fHwocz1sLnkxKTxoKSlpZihtLmxlbmd0aCl7dmFyIGc9KHIrYSkvMixfPShvK3MpLzI7Zi5wdXNoKG5ldyBaXyhtWzNdLGcsXyxhLHMpLG5ldyBaXyhtWzJdLHIsXyxnLHMpLG5ldyBaXyhtWzFdLGcsbyxhLF8pLG5ldyBaXyhtWzBdLHIsbyxnLF8pKSwoYz0oZT49Xyk8PDF8dD49ZykmJihsPWZbZi5sZW5ndGgtMV0sZltmLmxlbmd0aC0xXT1mW2YubGVuZ3RoLTEtY10sZltmLmxlbmd0aC0xLWNdPWwpfWVsc2V7dmFyIHk9dC0rdGhpcy5feC5jYWxsKG51bGwsbS5kYXRhKSx2PWUtK3RoaXMuX3kuY2FsbChudWxsLG0uZGF0YSksYj15Knkrdip2O2lmKGI8bil7dmFyIHg9TWF0aC5zcXJ0KG49Yik7dT10LXgsaD1lLXgsZD10K3gscD1lK3gsaT1tLmRhdGF9fXJldHVybiBpfSxpeS5yZW1vdmU9ZnVuY3Rpb24gZ3kodCl7aWYoaXNOYU4obz0rdGhpcy5feC5jYWxsKG51bGwsdCkpfHxpc05hTihhPSt0aGlzLl95LmNhbGwobnVsbCx0KSkpcmV0dXJuIHRoaXM7dmFyIGUsbixpLHIsbyxhLHMsbCxjLHUsaCxkLHA9dGhpcy5fcm9vdCxmPXRoaXMuX3gwLG09dGhpcy5feTAsZz10aGlzLl94MSxfPXRoaXMuX3kxO2lmKCFwKXJldHVybiB0aGlzO2lmKHAubGVuZ3RoKWZvcig7Oyl7aWYoKGM9bz49KHM9KGYrZykvMikpP2Y9czpnPXMsKHU9YT49KGw9KG0rXykvMikpP209bDpfPWwsZT1wLCEocD1wW2g9dTw8MXxjXSkpcmV0dXJuIHRoaXM7aWYoIXAubGVuZ3RoKWJyZWFrOyhlW2grMSYzXXx8ZVtoKzImM118fGVbaCszJjNdKSYmKG49ZSxkPWgpfWZvcig7cC5kYXRhIT09dDspaWYoaT1wLCEocD1wLm5leHQpKXJldHVybiB0aGlzO3JldHVybihyPXAubmV4dCkmJmRlbGV0ZSBwLm5leHQsaT8ocj9pLm5leHQ9cjpkZWxldGUgaS5uZXh0LHRoaXMpOmU/KHI/ZVtoXT1yOmRlbGV0ZSBlW2hdLChwPWVbMF18fGVbMV18fGVbMl18fGVbM10pJiZwPT09KGVbM118fGVbMl18fGVbMV18fGVbMF0pJiYhcC5sZW5ndGgmJihuP25bZF09cDp0aGlzLl9yb290PXApLHRoaXMpOih0aGlzLl9yb290PXIsdGhpcyl9LGl5LnJlbW92ZUFsbD1mdW5jdGlvbiBfeSh0KXtmb3IodmFyIGU9MCxuPXQubGVuZ3RoO2U8bjsrK2UpdGhpcy5yZW1vdmUodFtlXSk7cmV0dXJuIHRoaXN9LGl5LnJvb3Q9ZnVuY3Rpb24geXkoKXtyZXR1cm4gdGhpcy5fcm9vdH0saXkuc2l6ZT1mdW5jdGlvbiB2eSgpe3ZhciB0PTA7cmV0dXJuIHRoaXMudmlzaXQoKGZ1bmN0aW9uKGUpe2lmKCFlLmxlbmd0aClkb3srK3R9d2hpbGUoZT1lLm5leHQpfSkpLHR9LGl5LnZpc2l0PWZ1bmN0aW9uIGJ5KHQpe3ZhciBlLG4saSxyLG8sYSxzPVtdLGw9dGhpcy5fcm9vdDtmb3IobCYmcy5wdXNoKG5ldyBaXyhsLHRoaXMuX3gwLHRoaXMuX3kwLHRoaXMuX3gxLHRoaXMuX3kxKSk7ZT1zLnBvcCgpOylpZighdChsPWUubm9kZSxpPWUueDAscj1lLnkwLG89ZS54MSxhPWUueTEpJiZsLmxlbmd0aCl7dmFyIGM9KGkrbykvMix1PShyK2EpLzI7KG49bFszXSkmJnMucHVzaChuZXcgWl8obixjLHUsbyxhKSksKG49bFsyXSkmJnMucHVzaChuZXcgWl8obixpLHUsYyxhKSksKG49bFsxXSkmJnMucHVzaChuZXcgWl8obixjLHIsbyx1KSksKG49bFswXSkmJnMucHVzaChuZXcgWl8obixpLHIsYyx1KSl9cmV0dXJuIHRoaXN9LGl5LnZpc2l0QWZ0ZXI9ZnVuY3Rpb24geHkodCl7dmFyIGUsbj1bXSxpPVtdO2Zvcih0aGlzLl9yb290JiZuLnB1c2gobmV3IFpfKHRoaXMuX3Jvb3QsdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpKTtlPW4ucG9wKCk7KXt2YXIgcj1lLm5vZGU7aWYoci5sZW5ndGgpe3ZhciBvLGE9ZS54MCxzPWUueTAsbD1lLngxLGM9ZS55MSx1PShhK2wpLzIsaD0ocytjKS8yOyhvPXJbMF0pJiZuLnB1c2gobmV3IFpfKG8sYSxzLHUsaCkpLChvPXJbMV0pJiZuLnB1c2gobmV3IFpfKG8sdSxzLGwsaCkpLChvPXJbMl0pJiZuLnB1c2gobmV3IFpfKG8sYSxoLHUsYykpLChvPXJbM10pJiZuLnB1c2gobmV3IFpfKG8sdSxoLGwsYykpfWkucHVzaChlKX1mb3IoO2U9aS5wb3AoKTspdChlLm5vZGUsZS54MCxlLnkwLGUueDEsZS55MSk7cmV0dXJuIHRoaXN9LGl5Lng9ZnVuY3Rpb24gd3kodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3g9dCx0aGlzKTp0aGlzLl94fSxpeS55PWZ1bmN0aW9uIFN5KHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl95PXQsdGhpcyk6dGhpcy5feX07dmFyIE15PU1hdGguUEkqKDMtTWF0aC5zcXJ0KDUpKTtmdW5jdGlvbiBFeSh0LGUpe2lmKChuPSh0PWU/dC50b0V4cG9uZW50aWFsKGUtMSk6dC50b0V4cG9uZW50aWFsKCkpLmluZGV4T2YoImUiKSk8MClyZXR1cm4gbnVsbDt2YXIgbixpPXQuc2xpY2UoMCxuKTtyZXR1cm5baS5sZW5ndGg+MT9pWzBdK2kuc2xpY2UoMik6aSwrdC5zbGljZShuKzEpXX1mdW5jdGlvbiBUeSh0KXtyZXR1cm4odD1FeShNYXRoLmFicyh0KSkpP3RbMV06TmFOfXZhciBDeSxBeT0vXig/OiguKT8oWzw+PV5dKSk/KFsrXC0oIF0pPyhbJCNdKT8oMCk/KFxkKyk/KCwpPyhcLlxkKyk/KH4pPyhbYS16JV0pPyQvaTtmdW5jdGlvbiBreSh0KXtpZighKGU9QXkuZXhlYyh0KSkpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGZvcm1hdDogIit0KTt2YXIgZTtyZXR1cm4gbmV3IEx5KHtmaWxsOmVbMV0sYWxpZ246ZVsyXSxzaWduOmVbM10sc3ltYm9sOmVbNF0semVybzplWzVdLHdpZHRoOmVbNl0sY29tbWE6ZVs3XSxwcmVjaXNpb246ZVs4XSYmZVs4XS5zbGljZSgxKSx0cmltOmVbOV0sdHlwZTplWzEwXX0pfWZ1bmN0aW9uIEx5KHQpe3RoaXMuZmlsbD12b2lkIDA9PT10LmZpbGw/IiAiOnQuZmlsbCsiIix0aGlzLmFsaWduPXZvaWQgMD09PXQuYWxpZ24/Ij4iOnQuYWxpZ24rIiIsdGhpcy5zaWduPXZvaWQgMD09PXQuc2lnbj8iLSI6dC5zaWduKyIiLHRoaXMuc3ltYm9sPXZvaWQgMD09PXQuc3ltYm9sPyIiOnQuc3ltYm9sKyIiLHRoaXMuemVybz0hIXQuemVybyx0aGlzLndpZHRoPXZvaWQgMD09PXQud2lkdGg/dm9pZCAwOit0LndpZHRoLHRoaXMuY29tbWE9ISF0LmNvbW1hLHRoaXMucHJlY2lzaW9uPXZvaWQgMD09PXQucHJlY2lzaW9uP3ZvaWQgMDordC5wcmVjaXNpb24sdGhpcy50cmltPSEhdC50cmltLHRoaXMudHlwZT12b2lkIDA9PT10LnR5cGU/IiI6dC50eXBlKyIifWZ1bmN0aW9uIFB5KHQsZSl7dmFyIG49RXkodCxlKTtpZighbilyZXR1cm4gdCsiIjt2YXIgaT1uWzBdLHI9blsxXTtyZXR1cm4gcjwwPyIwLiIrbmV3IEFycmF5KC1yKS5qb2luKCIwIikraTppLmxlbmd0aD5yKzE/aS5zbGljZSgwLHIrMSkrIi4iK2kuc2xpY2UocisxKTppK25ldyBBcnJheShyLWkubGVuZ3RoKzIpLmpvaW4oIjAiKX1reS5wcm90b3R5cGU9THkucHJvdG90eXBlLEx5LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbGwrdGhpcy5hbGlnbit0aGlzLnNpZ24rdGhpcy5zeW1ib2wrKHRoaXMuemVybz8iMCI6IiIpKyh2b2lkIDA9PT10aGlzLndpZHRoPyIiOk1hdGgubWF4KDEsMHx0aGlzLndpZHRoKSkrKHRoaXMuY29tbWE/IiwiOiIiKSsodm9pZCAwPT09dGhpcy5wcmVjaXNpb24/IiI6Ii4iK01hdGgubWF4KDAsMHx0aGlzLnByZWNpc2lvbikpKyh0aGlzLnRyaW0/In4iOiIiKSt0aGlzLnR5cGV9O3ZhciBOeT17IiUiOmZ1bmN0aW9uKHQsZSl7cmV0dXJuKDEwMCp0KS50b0ZpeGVkKGUpfSxiOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDIpfSxjOmZ1bmN0aW9uKHQpe3JldHVybiB0KyIifSxkOmZ1bmN0aW9uIEl5KHQpe3JldHVybiBNYXRoLmFicyh0PU1hdGgucm91bmQodCkpPj0xZTIxP3QudG9Mb2NhbGVTdHJpbmcoImVuIikucmVwbGFjZSgvLC9nLCIiKTp0LnRvU3RyaW5nKDEwKX0sZTpmdW5jdGlvbih0LGUpe3JldHVybiB0LnRvRXhwb25lbnRpYWwoZSl9LGY6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC50b0ZpeGVkKGUpfSxnOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudG9QcmVjaXNpb24oZSl9LG86ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoOCl9LHA6ZnVuY3Rpb24odCxlKXtyZXR1cm4gUHkoMTAwKnQsZSl9LHI6UHksczpmdW5jdGlvbiBSeSh0LGUpe3ZhciBuPUV5KHQsZSk7aWYoIW4pcmV0dXJuIHQrIiI7dmFyIGk9blswXSxyPW5bMV0sbz1yLShDeT0zKk1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihyLzMpKSkpKzEsYT1pLmxlbmd0aDtyZXR1cm4gbz09PWE/aTpvPmE/aStuZXcgQXJyYXkoby1hKzEpLmpvaW4oIjAiKTpvPjA/aS5zbGljZSgwLG8pKyIuIitpLnNsaWNlKG8pOiIwLiIrbmV3IEFycmF5KDEtbykuam9pbigiMCIpK0V5KHQsTWF0aC5tYXgoMCxlK28tMSkpWzBdfSxYOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfSx4OmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDE2KX19O2Z1bmN0aW9uIE95KHQpe3JldHVybiB0fXZhciB6eSxEeSxCeSxIeT1BcnJheS5wcm90b3R5cGUubWFwLEZ5PVsieSIsInoiLCJhIiwiZiIsInAiLCJuIiwiwrUiLCJtIiwiIiwiayIsIk0iLCJHIiwiVCIsIlAiLCJFIiwiWiIsIlkiXTtmdW5jdGlvbiBWeSh0KXt2YXIgZT12b2lkIDA9PT10Lmdyb3VwaW5nfHx2b2lkIDA9PT10LnRob3VzYW5kcz9PeTooZnVuY3Rpb24gbih0LGUpe3JldHVybiBmdW5jdGlvbihuLGkpe2Zvcih2YXIgcj1uLmxlbmd0aCxvPVtdLGE9MCxzPXRbMF0sbD0wO3I+MCYmcz4wJiYobCtzKzE+aSYmKHM9TWF0aC5tYXgoMSxpLWwpKSxvLnB1c2gobi5zdWJzdHJpbmcoci09cyxyK3MpKSwhKChsKz1zKzEpPmkpKTspcz10W2E9KGErMSkldC5sZW5ndGhdO3JldHVybiBvLnJldmVyc2UoKS5qb2luKGUpfX0pKEh5LmNhbGwodC5ncm91cGluZyxOdW1iZXIpLHQudGhvdXNhbmRzKyIiKSxpPXZvaWQgMD09PXQuY3VycmVuY3k/IiI6dC5jdXJyZW5jeVswXSsiIixyPXZvaWQgMD09PXQuY3VycmVuY3k/IiI6dC5jdXJyZW5jeVsxXSsiIixvPXZvaWQgMD09PXQuZGVjaW1hbD8iLiI6dC5kZWNpbWFsKyIiLGE9dm9pZCAwPT09dC5udW1lcmFscz9PeTooZnVuY3Rpb24gcyh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvWzAtOV0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHRbK2VdfSkpfX0pKEh5LmNhbGwodC5udW1lcmFscyxTdHJpbmcpKSxsPXZvaWQgMD09PXQucGVyY2VudD8iJSI6dC5wZXJjZW50KyIiLGM9dm9pZCAwPT09dC5taW51cz8iLSI6dC5taW51cysiIix1PXZvaWQgMD09PXQubmFuPyJOYU4iOnQubmFuKyIiO2Z1bmN0aW9uIGgodCl7dmFyIG49KHQ9a3kodCkpLmZpbGwscz10LmFsaWduLGg9dC5zaWduLGQ9dC5zeW1ib2wscD10Lnplcm8sZj10LndpZHRoLG09dC5jb21tYSxnPXQucHJlY2lzaW9uLF89dC50cmltLHk9dC50eXBlOyJuIj09PXk/KG09ITAseT0iZyIpOk55W3ldfHwodm9pZCAwPT09ZyYmKGc9MTIpLF89ITAseT0iZyIpLChwfHwiMCI9PT1uJiYiPSI9PT1zKSYmKHA9ITAsbj0iMCIscz0iPSIpO3ZhciB2PSIkIj09PWQ/aToiIyI9PT1kJiYvW2JveFhdLy50ZXN0KHkpPyIwIit5LnRvTG93ZXJDYXNlKCk6IiIsYj0iJCI9PT1kP3I6L1slcF0vLnRlc3QoeSk/bDoiIix4PU55W3ldLHc9L1tkZWZncHJzJV0vLnRlc3QoeSk7ZnVuY3Rpb24gUyh0KXt2YXIgaSxyLGwsZD12LFM9YjtpZigiYyI9PT15KVM9eCh0KStTLHQ9IiI7ZWxzZXt2YXIgTT0odD0rdCk8MHx8MS90PDA7aWYodD1pc05hTih0KT91OngoTWF0aC5hYnModCksZyksXyYmKHQ9KGZ1bmN0aW9uIEUodCl7dDpmb3IodmFyIGUsbj10Lmxlbmd0aCxpPTEscj0tMTtpPG47KytpKXN3aXRjaCh0W2ldKXtjYXNlIi4iOnI9ZT1pO2JyZWFrO2Nhc2UiMCI6MD09PXImJihyPWkpLGU9aTticmVhaztkZWZhdWx0OmlmKCErdFtpXSlicmVhayB0O3I+MCYmKHI9MCl9cmV0dXJuIHI+MD90LnNsaWNlKDAscikrdC5zbGljZShlKzEpOnR9KSh0KSksTSYmMD09K3QmJiIrIiE9PWgmJihNPSExKSxkPShNPyIoIj09PWg/aDpjOiItIj09PWh8fCIoIj09PWg/IiI6aCkrZCxTPSgicyI9PT15P0Z5WzgrQ3kvM106IiIpK1MrKE0mJiIoIj09PWg/IikiOiIiKSx3KWZvcihpPS0xLHI9dC5sZW5ndGg7KytpPHI7KWlmKDQ4PihsPXQuY2hhckNvZGVBdChpKSl8fGw+NTcpe1M9KDQ2PT09bD9vK3Quc2xpY2UoaSsxKTp0LnNsaWNlKGkpKStTLHQ9dC5zbGljZSgwLGkpO2JyZWFrfX1tJiYhcCYmKHQ9ZSh0LDEvMCkpO3ZhciBUPWQubGVuZ3RoK3QubGVuZ3RoK1MubGVuZ3RoLEM9VDxmP25ldyBBcnJheShmLVQrMSkuam9pbihuKToiIjtzd2l0Y2gobSYmcCYmKHQ9ZShDK3QsQy5sZW5ndGg/Zi1TLmxlbmd0aDoxLzApLEM9IiIpLHMpe2Nhc2UiPCI6dD1kK3QrUytDO2JyZWFrO2Nhc2UiPSI6dD1kK0MrdCtTO2JyZWFrO2Nhc2UiXiI6dD1DLnNsaWNlKDAsVD1DLmxlbmd0aD4+MSkrZCt0K1MrQy5zbGljZShUKTticmVhaztkZWZhdWx0OnQ9QytkK3QrU31yZXR1cm4gYSh0KX1yZXR1cm4gZz12b2lkIDA9PT1nPzY6L1tncHJzXS8udGVzdCh5KT9NYXRoLm1heCgxLE1hdGgubWluKDIxLGcpKTpNYXRoLm1heCgwLE1hdGgubWluKDIwLGcpKSxTLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHQrIiJ9LFN9cmV0dXJue2Zvcm1hdDpoLGZvcm1hdFByZWZpeDpmdW5jdGlvbiBkKHQsZSl7dmFyIG49aCgoKHQ9a3kodCkpLnR5cGU9ImYiLHQpKSxpPTMqTWF0aC5tYXgoLTgsTWF0aC5taW4oOCxNYXRoLmZsb29yKFR5KGUpLzMpKSkscj1NYXRoLnBvdygxMCwtaSksbz1GeVs4K2kvM107cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuKHIqdCkrb319fX1mdW5jdGlvbiBVeSh0KXtyZXR1cm4genk9VnkodCksRHk9enkuZm9ybWF0LEJ5PXp5LmZvcm1hdFByZWZpeCx6eX1mdW5jdGlvbiBqeSh0KXtyZXR1cm4gTWF0aC5tYXgoMCwtVHkoTWF0aC5hYnModCkpKX1mdW5jdGlvbiBHeSh0LGUpe3JldHVybiBNYXRoLm1heCgwLDMqTWF0aC5tYXgoLTgsTWF0aC5taW4oOCxNYXRoLmZsb29yKFR5KGUpLzMpKSktVHkoTWF0aC5hYnModCkpKX1mdW5jdGlvbiBXeSh0LGUpe3JldHVybiB0PU1hdGguYWJzKHQpLGU9TWF0aC5hYnMoZSktdCxNYXRoLm1heCgwLFR5KGUpLVR5KHQpKSsxfWZ1bmN0aW9uIHF5KCl7cmV0dXJuIG5ldyBZeX1mdW5jdGlvbiBZeSgpe3RoaXMucmVzZXQoKX1VeSh7ZGVjaW1hbDoiLiIsdGhvdXNhbmRzOiIsIixncm91cGluZzpbM10sY3VycmVuY3k6WyIkIiwiIl0sbWludXM6Ii0ifSksWXkucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpZeSxyZXNldDpmdW5jdGlvbigpe3RoaXMucz10aGlzLnQ9MH0sYWRkOmZ1bmN0aW9uKHQpeyR5KFh5LHQsdGhpcy50KSwkeSh0aGlzLFh5LnMsdGhpcy5zKSx0aGlzLnM/dGhpcy50Kz1YeS50OnRoaXMucz1YeS50fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc319O3ZhciBYeT1uZXcgWXk7ZnVuY3Rpb24gJHkodCxlLG4pe3ZhciBpPXQucz1lK24scj1pLWU7dC50PWUtKGktcikrKG4tcil9dmFyIEt5PTFlLTYsWnk9MWUtMTIsSnk9TWF0aC5QSSxReT1KeS8yLHR2PUp5LzQsZXY9MipKeSxudj0xODAvSnksaXY9SnkvMTgwLHJ2PU1hdGguYWJzLG92PU1hdGguYXRhbixhdj1NYXRoLmF0YW4yLHN2PU1hdGguY29zLGx2PU1hdGguY2VpbCxjdj1NYXRoLmV4cCx1dj1NYXRoLmxvZyxodj1NYXRoLnBvdyxkdj1NYXRoLnNpbixwdj1NYXRoLnNpZ258fGZ1bmN0aW9uKHQpe3JldHVybiB0PjA/MTp0PDA/LTE6MH0sZnY9TWF0aC5zcXJ0LG12PU1hdGgudGFuO2Z1bmN0aW9uIGd2KHQpe3JldHVybiB0PjE/MDp0PC0xP0p5Ok1hdGguYWNvcyh0KX1mdW5jdGlvbiBfdih0KXtyZXR1cm4gdD4xP1F5OnQ8LTE/LVF5Ok1hdGguYXNpbih0KX1mdW5jdGlvbiB5dih0KXtyZXR1cm4odD1kdih0LzIpKSp0fWZ1bmN0aW9uIHZ2KCl7fWZ1bmN0aW9uIGJ2KHQsZSl7dCYmd3YuaGFzT3duUHJvcGVydHkodC50eXBlKSYmd3ZbdC50eXBlXSh0LGUpfXZhciB4dj17RmVhdHVyZTpmdW5jdGlvbih0LGUpe2J2KHQuZ2VvbWV0cnksZSl9LEZlYXR1cmVDb2xsZWN0aW9uOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuZmVhdHVyZXMsaT0tMSxyPW4ubGVuZ3RoOysraTxyOylidihuW2ldLmdlb21ldHJ5LGUpfX0sd3Y9e1NwaGVyZTpmdW5jdGlvbih0LGUpe2Uuc3BoZXJlKCl9LFBvaW50OmZ1bmN0aW9uKHQsZSl7ZS5wb2ludCgodD10LmNvb3JkaW5hdGVzKVswXSx0WzFdLHRbMl0pfSxNdWx0aVBvaW50OmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuY29vcmRpbmF0ZXMsaT0tMSxyPW4ubGVuZ3RoOysraTxyOyllLnBvaW50KCh0PW5baV0pWzBdLHRbMV0sdFsyXSl9LExpbmVTdHJpbmc6ZnVuY3Rpb24odCxlKXtTdih0LmNvb3JkaW5hdGVzLGUsMCl9LE11bHRpTGluZVN0cmluZzpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10LmNvb3JkaW5hdGVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspU3YobltpXSxlLDApfSxQb2x5Z29uOmZ1bmN0aW9uKHQsZSl7TXYodC5jb29yZGluYXRlcyxlKX0sTXVsdGlQb2x5Z29uOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuY29vcmRpbmF0ZXMsaT0tMSxyPW4ubGVuZ3RoOysraTxyOylNdihuW2ldLGUpfSxHZW9tZXRyeUNvbGxlY3Rpb246ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC5nZW9tZXRyaWVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspYnYobltpXSxlKX19O2Z1bmN0aW9uIFN2KHQsZSxuKXt2YXIgaSxyPS0xLG89dC5sZW5ndGgtbjtmb3IoZS5saW5lU3RhcnQoKTsrK3I8bzspZS5wb2ludCgoaT10W3JdKVswXSxpWzFdLGlbMl0pO2UubGluZUVuZCgpfWZ1bmN0aW9uIE12KHQsZSl7dmFyIG49LTEsaT10Lmxlbmd0aDtmb3IoZS5wb2x5Z29uU3RhcnQoKTsrK248aTspU3YodFtuXSxlLDEpO2UucG9seWdvbkVuZCgpfWZ1bmN0aW9uIEV2KHQsZSl7dCYmeHYuaGFzT3duUHJvcGVydHkodC50eXBlKT94dlt0LnR5cGVdKHQsZSk6YnYodCxlKX12YXIgVHYsQ3YsQXYsa3YsTHYsUHY9cXkoKSxOdj1xeSgpLEl2PXtwb2ludDp2dixsaW5lU3RhcnQ6dnYsbGluZUVuZDp2dixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtQdi5yZXNldCgpLEl2LmxpbmVTdGFydD1SdixJdi5saW5lRW5kPU92fSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dmFyIHQ9K1B2O052LmFkZCh0PDA/ZXYrdDp0KSx0aGlzLmxpbmVTdGFydD10aGlzLmxpbmVFbmQ9dGhpcy5wb2ludD12dn0sc3BoZXJlOmZ1bmN0aW9uKCl7TnYuYWRkKGV2KX19O2Z1bmN0aW9uIFJ2KCl7SXYucG9pbnQ9enZ9ZnVuY3Rpb24gT3YoKXtEdihUdixDdil9ZnVuY3Rpb24genYodCxlKXtJdi5wb2ludD1EdixUdj10LEN2PWUsQXY9dCo9aXYsa3Y9c3YoZT0oZSo9aXYpLzIrdHYpLEx2PWR2KGUpfWZ1bmN0aW9uIER2KHQsZSl7dmFyIG49KHQqPWl2KS1BdixpPW4+PTA/MTotMSxyPWkqbixvPXN2KGU9KGUqPWl2KS8yK3R2KSxhPWR2KGUpLHM9THYqYSxsPWt2Km8rcypzdihyKSxjPXMqaSpkdihyKTtQdi5hZGQoYXYoYyxsKSksQXY9dCxrdj1vLEx2PWF9ZnVuY3Rpb24gQnYodCl7cmV0dXJuW2F2KHRbMV0sdFswXSksX3YodFsyXSldfWZ1bmN0aW9uIEh2KHQpe3ZhciBlPXRbMF0sbj10WzFdLGk9c3Yobik7cmV0dXJuW2kqc3YoZSksaSpkdihlKSxkdihuKV19ZnVuY3Rpb24gRnYodCxlKXtyZXR1cm4gdFswXSplWzBdK3RbMV0qZVsxXSt0WzJdKmVbMl19ZnVuY3Rpb24gVnYodCxlKXtyZXR1cm5bdFsxXSplWzJdLXRbMl0qZVsxXSx0WzJdKmVbMF0tdFswXSplWzJdLHRbMF0qZVsxXS10WzFdKmVbMF1dfWZ1bmN0aW9uIFV2KHQsZSl7dFswXSs9ZVswXSx0WzFdKz1lWzFdLHRbMl0rPWVbMl19ZnVuY3Rpb24ganYodCxlKXtyZXR1cm5bdFswXSplLHRbMV0qZSx0WzJdKmVdfWZ1bmN0aW9uIEd2KHQpe3ZhciBlPWZ2KHRbMF0qdFswXSt0WzFdKnRbMV0rdFsyXSp0WzJdKTt0WzBdLz1lLHRbMV0vPWUsdFsyXS89ZX12YXIgV3YscXYsWXYsWHYsJHYsS3YsWnYsSnYsUXYsdGIsZWIsbmIsaWIscmIsb2IsYWIsc2IsbGIsY2IsdWIsaGIsZGIscGIsZmIsbWIsZ2IsX2I9cXkoKSx5Yj17cG9pbnQ6dmIsbGluZVN0YXJ0OnhiLGxpbmVFbmQ6d2IscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7eWIucG9pbnQ9U2IseWIubGluZVN0YXJ0PU1iLHliLmxpbmVFbmQ9RWIsX2IucmVzZXQoKSxJdi5wb2x5Z29uU3RhcnQoKX0scG9seWdvbkVuZDpmdW5jdGlvbigpe0l2LnBvbHlnb25FbmQoKSx5Yi5wb2ludD12Yix5Yi5saW5lU3RhcnQ9eGIseWIubGluZUVuZD13YixQdjwwPyhXdj0tKFl2PTE4MCkscXY9LShYdj05MCkpOl9iPkt5P1h2PTkwOl9iPC0xZS02JiYocXY9LTkwKSx0YlswXT1Xdix0YlsxXT1Zdn0sc3BoZXJlOmZ1bmN0aW9uKCl7V3Y9LShZdj0xODApLHF2PS0oWHY9OTApfX07ZnVuY3Rpb24gdmIodCxlKXtRdi5wdXNoKHRiPVtXdj10LFl2PXRdKSxlPHF2JiYocXY9ZSksZT5YdiYmKFh2PWUpfWZ1bmN0aW9uIGJiKHQsZSl7dmFyIG49SHYoW3QqaXYsZSppdl0pO2lmKEp2KXt2YXIgaT1WdihKdixuKSxyPVZ2KFtpWzFdLC1pWzBdLDBdLGkpO0d2KHIpLHI9QnYocik7dmFyIG8sYT10LSR2LHM9YT4wPzE6LTEsbD1yWzBdKm52KnMsYz1ydihhKT4xODA7Y14ocyokdjxsJiZsPHMqdCk/KG89clsxXSpudik+WHYmJihYdj1vKTpjXihzKiR2PChsPShsKzM2MCklMzYwLTE4MCkmJmw8cyp0KT8obz0tclsxXSpudik8cXYmJihxdj1vKTooZTxxdiYmKHF2PWUpLGU+WHYmJihYdj1lKSksYz90PCR2P1RiKFd2LHQpPlRiKFd2LFl2KSYmKFl2PXQpOlRiKHQsWXYpPlRiKFd2LFl2KSYmKFd2PXQpOll2Pj1Xdj8odDxXdiYmKFd2PXQpLHQ+WXYmJihZdj10KSk6dD4kdj9UYihXdix0KT5UYihXdixZdikmJihZdj10KTpUYih0LFl2KT5UYihXdixZdikmJihXdj10KX1lbHNlIFF2LnB1c2godGI9W1d2PXQsWXY9dF0pO2U8cXYmJihxdj1lKSxlPlh2JiYoWHY9ZSksSnY9biwkdj10fWZ1bmN0aW9uIHhiKCl7eWIucG9pbnQ9YmJ9ZnVuY3Rpb24gd2IoKXt0YlswXT1Xdix0YlsxXT1Zdix5Yi5wb2ludD12YixKdj1udWxsfWZ1bmN0aW9uIFNiKHQsZSl7aWYoSnYpe3ZhciBuPXQtJHY7X2IuYWRkKHJ2KG4pPjE4MD9uKyhuPjA/MzYwOi0zNjApOm4pfWVsc2UgS3Y9dCxadj1lO0l2LnBvaW50KHQsZSksYmIodCxlKX1mdW5jdGlvbiBNYigpe0l2LmxpbmVTdGFydCgpfWZ1bmN0aW9uIEViKCl7U2IoS3YsWnYpLEl2LmxpbmVFbmQoKSxydihfYik+S3kmJihXdj0tKFl2PTE4MCkpLHRiWzBdPVd2LHRiWzFdPVl2LEp2PW51bGx9ZnVuY3Rpb24gVGIodCxlKXtyZXR1cm4oZS09dCk8MD9lKzM2MDplfWZ1bmN0aW9uIENiKHQsZSl7cmV0dXJuIHRbMF0tZVswXX1mdW5jdGlvbiBBYih0LGUpe3JldHVybiB0WzBdPD10WzFdP3RbMF08PWUmJmU8PXRbMV06ZTx0WzBdfHx0WzFdPGV9dmFyIGtiPXtzcGhlcmU6dnYscG9pbnQ6TGIsbGluZVN0YXJ0Ok5iLGxpbmVFbmQ6T2IscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7a2IubGluZVN0YXJ0PXpiLGtiLmxpbmVFbmQ9RGJ9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtrYi5saW5lU3RhcnQ9TmIsa2IubGluZUVuZD1PYn19O2Z1bmN0aW9uIExiKHQsZSl7dCo9aXY7dmFyIG49c3YoZSo9aXYpO1BiKG4qc3YodCksbipkdih0KSxkdihlKSl9ZnVuY3Rpb24gUGIodCxlLG4peysrZWIsaWIrPSh0LWliKS9lYixyYis9KGUtcmIpL2ViLG9iKz0obi1vYikvZWJ9ZnVuY3Rpb24gTmIoKXtrYi5wb2ludD1JYn1mdW5jdGlvbiBJYih0LGUpe3QqPWl2O3ZhciBuPXN2KGUqPWl2KTtmYj1uKnN2KHQpLG1iPW4qZHYodCksZ2I9ZHYoZSksa2IucG9pbnQ9UmIsUGIoZmIsbWIsZ2IpfWZ1bmN0aW9uIFJiKHQsZSl7dCo9aXY7dmFyIG49c3YoZSo9aXYpLGk9bipzdih0KSxyPW4qZHYodCksbz1kdihlKSxhPWF2KGZ2KChhPW1iKm8tZ2IqcikqYSsoYT1nYippLWZiKm8pKmErKGE9ZmIqci1tYippKSphKSxmYippK21iKnIrZ2Iqbyk7bmIrPWEsYWIrPWEqKGZiKyhmYj1pKSksc2IrPWEqKG1iKyhtYj1yKSksbGIrPWEqKGdiKyhnYj1vKSksUGIoZmIsbWIsZ2IpfWZ1bmN0aW9uIE9iKCl7a2IucG9pbnQ9TGJ9ZnVuY3Rpb24gemIoKXtrYi5wb2ludD1CYn1mdW5jdGlvbiBEYigpe0hiKGRiLHBiKSxrYi5wb2ludD1MYn1mdW5jdGlvbiBCYih0LGUpe2RiPXQscGI9ZSx0Kj1pdixlKj1pdixrYi5wb2ludD1IYjt2YXIgbj1zdihlKTtmYj1uKnN2KHQpLG1iPW4qZHYodCksZ2I9ZHYoZSksUGIoZmIsbWIsZ2IpfWZ1bmN0aW9uIEhiKHQsZSl7dCo9aXY7dmFyIG49c3YoZSo9aXYpLGk9bipzdih0KSxyPW4qZHYodCksbz1kdihlKSxhPW1iKm8tZ2IqcixzPWdiKmktZmIqbyxsPWZiKnItbWIqaSxjPWZ2KGEqYStzKnMrbCpsKSx1PV92KGMpLGg9YyYmLXUvYztjYis9aCphLHViKz1oKnMsaGIrPWgqbCxuYis9dSxhYis9dSooZmIrKGZiPWkpKSxzYis9dSoobWIrKG1iPXIpKSxsYis9dSooZ2IrKGdiPW8pKSxQYihmYixtYixnYil9ZnVuY3Rpb24gRmIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIFZiKHQsZSl7ZnVuY3Rpb24gbihuLGkpe3JldHVybiBuPXQobixpKSxlKG5bMF0sblsxXSl9cmV0dXJuIHQuaW52ZXJ0JiZlLmludmVydCYmKG4uaW52ZXJ0PWZ1bmN0aW9uKG4saSl7cmV0dXJuKG49ZS5pbnZlcnQobixpKSkmJnQuaW52ZXJ0KG5bMF0sblsxXSl9KSxufWZ1bmN0aW9uIFViKHQsZSl7cmV0dXJuW3J2KHQpPkp5P3QrTWF0aC5yb3VuZCgtdC9ldikqZXY6dCxlXX1mdW5jdGlvbiBqYih0LGUsbil7cmV0dXJuKHQlPWV2KT9lfHxuP1ZiKFdiKHQpLHFiKGUsbikpOldiKHQpOmV8fG4/cWIoZSxuKTpVYn1mdW5jdGlvbiBHYih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm5bKGUrPXQpPkp5P2UtZXY6ZTwtSnk/ZStldjplLG5dfX1mdW5jdGlvbiBXYih0KXt2YXIgZT1HYih0KTtyZXR1cm4gZS5pbnZlcnQ9R2IoLXQpLGV9ZnVuY3Rpb24gcWIodCxlKXt2YXIgbj1zdih0KSxpPWR2KHQpLHI9c3YoZSksbz1kdihlKTtmdW5jdGlvbiBhKHQsZSl7dmFyIGE9c3YoZSkscz1zdih0KSphLGw9ZHYodCkqYSxjPWR2KGUpLHU9YypuK3MqaTtyZXR1cm5bYXYobCpyLXUqbyxzKm4tYyppKSxfdih1KnIrbCpvKV19cmV0dXJuIGEuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIGE9c3YoZSkscz1zdih0KSphLGw9ZHYodCkqYSxjPWR2KGUpLHU9YypyLWwqbztyZXR1cm5bYXYobCpyK2MqbyxzKm4rdSppKSxfdih1Km4tcyppKV19LGF9ZnVuY3Rpb24gWWIodCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4oZT10KGVbMF0qaXYsZVsxXSppdikpWzBdKj1udixlWzFdKj1udixlfXJldHVybiB0PWpiKHRbMF0qaXYsdFsxXSppdix0Lmxlbmd0aD4yP3RbMl0qaXY6MCksZS5pbnZlcnQ9ZnVuY3Rpb24oZSl7cmV0dXJuKGU9dC5pbnZlcnQoZVswXSppdixlWzFdKml2KSlbMF0qPW52LGVbMV0qPW52LGV9LGV9ZnVuY3Rpb24gWGIodCxlLG4saSxyLG8pe2lmKG4pe3ZhciBhPXN2KGUpLHM9ZHYoZSksbD1pKm47bnVsbD09cj8ocj1lK2kqZXYsbz1lLWwvMik6KHI9JGIoYSxyKSxvPSRiKGEsbyksKGk+MD9yPG86cj5vKSYmKHIrPWkqZXYpKTtmb3IodmFyIGMsdT1yO2k+MD91Pm86dTxvO3UtPWwpYz1CdihbYSwtcypzdih1KSwtcypkdih1KV0pLHQucG9pbnQoY1swXSxjWzFdKX19ZnVuY3Rpb24gJGIodCxlKXsoZT1IdihlKSlbMF0tPXQsR3YoZSk7dmFyIG49Z3YoLWVbMV0pO3JldHVybigoLWVbMl08MD8tbjpuKStldi1LeSklZXZ9ZnVuY3Rpb24gS2IoKXt2YXIgdCxlPVtdO3JldHVybntwb2ludDpmdW5jdGlvbihlLG4saSl7dC5wdXNoKFtlLG4saV0pfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXtlLnB1c2godD1bXSl9LGxpbmVFbmQ6dnYscmVqb2luOmZ1bmN0aW9uKCl7ZS5sZW5ndGg+MSYmZS5wdXNoKGUucG9wKCkuY29uY2F0KGUuc2hpZnQoKSkpfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgbj1lO3JldHVybiBlPVtdLHQ9bnVsbCxufX19ZnVuY3Rpb24gWmIodCxlKXtyZXR1cm4gcnYodFswXS1lWzBdKTxLeSYmcnYodFsxXS1lWzFdKTxLeX1mdW5jdGlvbiBKYih0LGUsbixpKXt0aGlzLng9dCx0aGlzLno9ZSx0aGlzLm89bix0aGlzLmU9aSx0aGlzLnY9ITEsdGhpcy5uPXRoaXMucD1udWxsfWZ1bmN0aW9uIFFiKHQsZSxuLGkscil7dmFyIG8sYSxzPVtdLGw9W107aWYodC5mb3JFYWNoKChmdW5jdGlvbih0KXtpZighKChlPXQubGVuZ3RoLTEpPD0wKSl7dmFyIGUsbixpPXRbMF0sYT10W2VdO2lmKFpiKGksYSkpe2lmKCFpWzJdJiYhYVsyXSl7Zm9yKHIubGluZVN0YXJ0KCksbz0wO288ZTsrK28pci5wb2ludCgoaT10W29dKVswXSxpWzFdKTtyZXR1cm4gdm9pZCByLmxpbmVFbmQoKX1hWzBdKz0yZS02fXMucHVzaChuPW5ldyBKYihpLHQsbnVsbCwhMCkpLGwucHVzaChuLm89bmV3IEpiKGksbnVsbCxuLCExKSkscy5wdXNoKG49bmV3IEpiKGEsdCxudWxsLCExKSksbC5wdXNoKG4ubz1uZXcgSmIoYSxudWxsLG4sITApKX19KSkscy5sZW5ndGgpe2ZvcihsLnNvcnQoZSksdHgocyksdHgobCksbz0wLGE9bC5sZW5ndGg7bzxhOysrbylsW29dLmU9bj0hbjtmb3IodmFyIGMsdSxoPXNbMF07Oyl7Zm9yKHZhciBkPWgscD0hMDtkLnY7KWlmKChkPWQubik9PT1oKXJldHVybjtjPWQueixyLmxpbmVTdGFydCgpO2Rve2lmKGQudj1kLm8udj0hMCxkLmUpe2lmKHApZm9yKG89MCxhPWMubGVuZ3RoO288YTsrK28pci5wb2ludCgodT1jW29dKVswXSx1WzFdKTtlbHNlIGkoZC54LGQubi54LDEscik7ZD1kLm59ZWxzZXtpZihwKWZvcihvPShjPWQucC56KS5sZW5ndGgtMTtvPj0wOy0tbylyLnBvaW50KCh1PWNbb10pWzBdLHVbMV0pO2Vsc2UgaShkLngsZC5wLngsLTEscik7ZD1kLnB9Yz0oZD1kLm8pLnoscD0hcH13aGlsZSghZC52KTtyLmxpbmVFbmQoKX19fWZ1bmN0aW9uIHR4KHQpe2lmKGU9dC5sZW5ndGgpe2Zvcih2YXIgZSxuLGk9MCxyPXRbMF07KytpPGU7KXIubj1uPXRbaV0sbi5wPXIscj1uO3Iubj1uPXRbMF0sbi5wPXJ9fVViLmludmVydD1VYjt2YXIgZXg9cXkoKTtmdW5jdGlvbiBueCh0KXtyZXR1cm4gcnYodFswXSk8PUp5P3RbMF06cHYodFswXSkqKChydih0WzBdKStKeSklZXYtSnkpfWZ1bmN0aW9uIGl4KHQsZSl7dmFyIG49bngoZSksaT1lWzFdLHI9ZHYoaSksbz1bZHYobiksLXN2KG4pLDBdLGE9MCxzPTA7ZXgucmVzZXQoKSwxPT09cj9pPVF5K0t5Oi0xPT09ciYmKGk9LVF5LUt5KTtmb3IodmFyIGw9MCxjPXQubGVuZ3RoO2w8YzsrK2wpaWYoaD0odT10W2xdKS5sZW5ndGgpZm9yKHZhciB1LGgsZD11W2gtMV0scD1ueChkKSxmPWRbMV0vMit0dixtPWR2KGYpLGc9c3YoZiksXz0wO188aDsrK18scD12LG09eCxnPXcsZD15KXt2YXIgeT11W19dLHY9bngoeSksYj15WzFdLzIrdHYseD1kdihiKSx3PXN2KGIpLFM9di1wLE09Uz49MD8xOi0xLEU9TSpTLFQ9RT5KeSxDPW0qeDtpZihleC5hZGQoYXYoQypNKmR2KEUpLGcqdytDKnN2KEUpKSksYSs9VD9TK00qZXY6UyxUXnA+PW5edj49bil7dmFyIEE9VnYoSHYoZCksSHYoeSkpO0d2KEEpO3ZhciBrPVZ2KG8sQSk7R3Yoayk7dmFyIEw9KFReUz49MD8tMToxKSpfdihrWzJdKTsoaT5MfHxpPT09TCYmKEFbMF18fEFbMV0pKSYmKHMrPVReUz49MD8xOi0xKX19cmV0dXJuKGE8LTFlLTZ8fGE8S3kmJmV4PC0xZS02KV4xJnN9ZnVuY3Rpb24gcngodCxlLG4saSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3ZhciBvLGEscyxsPWUociksYz1LYigpLHU9ZShjKSxoPSExLGQ9e3BvaW50OnAsbGluZVN0YXJ0Om0sbGluZUVuZDpnLHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2QucG9pbnQ9XyxkLmxpbmVTdGFydD15LGQubGluZUVuZD12LGE9W10sbz1bXX0scG9seWdvbkVuZDpmdW5jdGlvbigpe2QucG9pbnQ9cCxkLmxpbmVTdGFydD1tLGQubGluZUVuZD1nLGE9YWMoYSk7dmFyIHQ9aXgobyxpKTthLmxlbmd0aD8oaHx8KHIucG9seWdvblN0YXJ0KCksaD0hMCksUWIoYSxheCx0LG4scikpOnQmJihofHwoci5wb2x5Z29uU3RhcnQoKSxoPSEwKSxyLmxpbmVTdGFydCgpLG4obnVsbCxudWxsLDEsciksci5saW5lRW5kKCkpLGgmJihyLnBvbHlnb25FbmQoKSxoPSExKSxhPW89bnVsbH0sc3BoZXJlOmZ1bmN0aW9uKCl7ci5wb2x5Z29uU3RhcnQoKSxyLmxpbmVTdGFydCgpLG4obnVsbCxudWxsLDEsciksci5saW5lRW5kKCksci5wb2x5Z29uRW5kKCl9fTtmdW5jdGlvbiBwKGUsbil7dChlLG4pJiZyLnBvaW50KGUsbil9ZnVuY3Rpb24gZih0LGUpe2wucG9pbnQodCxlKX1mdW5jdGlvbiBtKCl7ZC5wb2ludD1mLGwubGluZVN0YXJ0KCl9ZnVuY3Rpb24gZygpe2QucG9pbnQ9cCxsLmxpbmVFbmQoKX1mdW5jdGlvbiBfKHQsZSl7cy5wdXNoKFt0LGVdKSx1LnBvaW50KHQsZSl9ZnVuY3Rpb24geSgpe3UubGluZVN0YXJ0KCkscz1bXX1mdW5jdGlvbiB2KCl7XyhzWzBdWzBdLHNbMF1bMV0pLHUubGluZUVuZCgpO3ZhciB0LGUsbixpLGw9dS5jbGVhbigpLGQ9Yy5yZXN1bHQoKSxwPWQubGVuZ3RoO2lmKHMucG9wKCksby5wdXNoKHMpLHM9bnVsbCxwKWlmKDEmbCl7aWYoKGU9KG49ZFswXSkubGVuZ3RoLTEpPjApe2ZvcihofHwoci5wb2x5Z29uU3RhcnQoKSxoPSEwKSxyLmxpbmVTdGFydCgpLHQ9MDt0PGU7Kyt0KXIucG9pbnQoKGk9blt0XSlbMF0saVsxXSk7ci5saW5lRW5kKCl9fWVsc2UgcD4xJiYyJmwmJmQucHVzaChkLnBvcCgpLmNvbmNhdChkLnNoaWZ0KCkpKSxhLnB1c2goZC5maWx0ZXIob3gpKX1yZXR1cm4gZH19ZnVuY3Rpb24gb3godCl7cmV0dXJuIHQubGVuZ3RoPjF9ZnVuY3Rpb24gYXgodCxlKXtyZXR1cm4oKHQ9dC54KVswXTwwP3RbMV0tUXktS3k6UXktdFsxXSktKChlPWUueClbMF08MD9lWzFdLVF5LUt5OlF5LWVbMV0pfXZhciBzeD1yeCgoZnVuY3Rpb24oKXtyZXR1cm4hMH0pLChmdW5jdGlvbiBseCh0KXt2YXIgZSxuPU5hTixpPU5hTixyPU5hTjtyZXR1cm57bGluZVN0YXJ0OmZ1bmN0aW9uKCl7dC5saW5lU3RhcnQoKSxlPTF9LHBvaW50OmZ1bmN0aW9uKG8sYSl7dmFyIHM9bz4wP0p5Oi1KeSxsPXJ2KG8tbik7cnYobC1KeSk8S3k/KHQucG9pbnQobixpPShpK2EpLzI+MD9ReTotUXkpLHQucG9pbnQocixpKSx0LmxpbmVFbmQoKSx0LmxpbmVTdGFydCgpLHQucG9pbnQocyxpKSx0LnBvaW50KG8saSksZT0wKTpyIT09cyYmbD49SnkmJihydihuLXIpPEt5JiYobi09cipLeSkscnYoby1zKTxLeSYmKG8tPXMqS3kpLGk9KGZ1bmN0aW9uIGModCxlLG4saSl7dmFyIHIsbyxhPWR2KHQtbik7cmV0dXJuIHJ2KGEpPkt5P292KChkdihlKSoobz1zdihpKSkqZHYobiktZHYoaSkqKHI9c3YoZSkpKmR2KHQpKS8ocipvKmEpKTooZStpKS8yfSkobixpLG8sYSksdC5wb2ludChyLGkpLHQubGluZUVuZCgpLHQubGluZVN0YXJ0KCksdC5wb2ludChzLGkpLGU9MCksdC5wb2ludChuPW8saT1hKSxyPXN9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt0LmxpbmVFbmQoKSxuPWk9TmFOfSxjbGVhbjpmdW5jdGlvbigpe3JldHVybiAyLWV9fX0pLChmdW5jdGlvbiBjeCh0LGUsbixpKXt2YXIgcjtpZihudWxsPT10KWkucG9pbnQoLUp5LHI9bipReSksaS5wb2ludCgwLHIpLGkucG9pbnQoSnksciksaS5wb2ludChKeSwwKSxpLnBvaW50KEp5LC1yKSxpLnBvaW50KDAsLXIpLGkucG9pbnQoLUp5LC1yKSxpLnBvaW50KC1KeSwwKSxpLnBvaW50KC1KeSxyKTtlbHNlIGlmKHJ2KHRbMF0tZVswXSk+S3kpe3ZhciBvPXRbMF08ZVswXT9KeTotSnk7aS5wb2ludCgtbyxyPW4qby8yKSxpLnBvaW50KDAsciksaS5wb2ludChvLHIpfWVsc2UgaS5wb2ludChlWzBdLGVbMV0pfSksWy1KeSwtUXldKTtmdW5jdGlvbiB1eCh0KXt2YXIgZT1zdih0KSxuPTYqaXYsaT1lPjAscj1ydihlKT5LeTtmdW5jdGlvbiBvKHQsbil7cmV0dXJuIHN2KHQpKnN2KG4pPmV9ZnVuY3Rpb24gYSh0LG4saSl7dmFyIHI9WzEsMCwwXSxvPVZ2KEh2KHQpLEh2KG4pKSxhPUZ2KG8sbykscz1vWzBdLGw9YS1zKnM7aWYoIWwpcmV0dXJuIWkmJnQ7dmFyIGM9ZSphL2wsdT0tZSpzL2wsaD1WdihyLG8pLGQ9anYocixjKTtVdihkLGp2KG8sdSkpO3ZhciBwPWgsZj1GdihkLHApLG09RnYocCxwKSxnPWYqZi1tKihGdihkLGQpLTEpO2lmKCEoZzwwKSl7dmFyIF89ZnYoZykseT1qdihwLCgtZi1fKS9tKTtpZihVdih5LGQpLHk9QnYoeSksIWkpcmV0dXJuIHk7dmFyIHYsYj10WzBdLHg9blswXSx3PXRbMV0sUz1uWzFdO3g8YiYmKHY9YixiPXgseD12KTt2YXIgTT14LWIsRT1ydihNLUp5KTxLeTtpZighRSYmUzx3JiYodj13LHc9UyxTPXYpLEV8fE08S3k/RT93K1M+MF55WzFdPChydih5WzBdLWIpPEt5P3c6Uyk6dzw9eVsxXSYmeVsxXTw9UzpNPkp5XihiPD15WzBdJiZ5WzBdPD14KSl7dmFyIFQ9anYocCwoLWYrXykvbSk7cmV0dXJuIFV2KFQsZCksW3ksQnYoVCldfX19ZnVuY3Rpb24gcyhlLG4pe3ZhciByPWk/dDpKeS10LG89MDtyZXR1cm4gZTwtcj9vfD0xOmU+ciYmKG98PTIpLG48LXI/b3w9NDpuPnImJihvfD04KSxvfXJldHVybiByeChvLChmdW5jdGlvbiBsKHQpe3ZhciBlLG4sbCxjLHU7cmV0dXJue2xpbmVTdGFydDpmdW5jdGlvbigpe2M9bD0hMSx1PTF9LHBvaW50OmZ1bmN0aW9uKGgsZCl7dmFyIHAsZj1baCxkXSxtPW8oaCxkKSxnPWk/bT8wOnMoaCxkKTptP3MoaCsoaDwwP0p5Oi1KeSksZCk6MDtpZighZSYmKGM9bD1tKSYmdC5saW5lU3RhcnQoKSxtIT09bCYmKCEocD1hKGUsZikpfHxaYihlLHApfHxaYihmLHApKSYmKGZbMl09MSksbSE9PWwpdT0wLG0/KHQubGluZVN0YXJ0KCkscD1hKGYsZSksdC5wb2ludChwWzBdLHBbMV0pKToocD1hKGUsZiksdC5wb2ludChwWzBdLHBbMV0sMiksdC5saW5lRW5kKCkpLGU9cDtlbHNlIGlmKHImJmUmJmlebSl7dmFyIF87ZyZufHwhKF89YShmLGUsITApKXx8KHU9MCxpPyh0LmxpbmVTdGFydCgpLHQucG9pbnQoX1swXVswXSxfWzBdWzFdKSx0LnBvaW50KF9bMV1bMF0sX1sxXVsxXSksdC5saW5lRW5kKCkpOih0LnBvaW50KF9bMV1bMF0sX1sxXVsxXSksdC5saW5lRW5kKCksdC5saW5lU3RhcnQoKSx0LnBvaW50KF9bMF1bMF0sX1swXVsxXSwzKSkpfSFtfHxlJiZaYihlLGYpfHx0LnBvaW50KGZbMF0sZlsxXSksZT1mLGw9bSxuPWd9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtsJiZ0LmxpbmVFbmQoKSxlPW51bGx9LGNsZWFuOmZ1bmN0aW9uKCl7cmV0dXJuIHV8KGMmJmwpPDwxfX19KSwoZnVuY3Rpb24gYyhlLGkscixvKXtYYihvLHQsbixyLGUsaSl9KSxpP1swLC10XTpbLUp5LHQtSnldKX12YXIgaHg9MWU5LGR4PS1oeDtmdW5jdGlvbiBweCh0LGUsbixpKXtmdW5jdGlvbiByKHIsbyl7cmV0dXJuIHQ8PXImJnI8PW4mJmU8PW8mJm88PWl9ZnVuY3Rpb24gbyhyLG8scyxjKXt2YXIgdT0wLGg9MDtpZihudWxsPT1yfHwodT1hKHIscykpIT09KGg9YShvLHMpKXx8bChyLG8pPDBecz4wKWRve2MucG9pbnQoMD09PXV8fDM9PT11P3Q6bix1PjE/aTplKX13aGlsZSgodT0odStzKzQpJTQpIT09aCk7ZWxzZSBjLnBvaW50KG9bMF0sb1sxXSl9ZnVuY3Rpb24gYShpLHIpe3JldHVybiBydihpWzBdLXQpPEt5P3I+MD8wOjM6cnYoaVswXS1uKTxLeT9yPjA/MjoxOnJ2KGlbMV0tZSk8S3k/cj4wPzE6MDpyPjA/MzoyfWZ1bmN0aW9uIHModCxlKXtyZXR1cm4gbCh0LngsZS54KX1mdW5jdGlvbiBsKHQsZSl7dmFyIG49YSh0LDEpLGk9YShlLDEpO3JldHVybiBuIT09aT9uLWk6MD09PW4/ZVsxXS10WzFdOjE9PT1uP3RbMF0tZVswXToyPT09bj90WzFdLWVbMV06ZVswXS10WzBdfXJldHVybiBmdW5jdGlvbihhKXt2YXIgbCxjLHUsaCxkLHAsZixtLGcsXyx5LHY9YSxiPUtiKCkseD17cG9pbnQ6VCxsaW5lU3RhcnQ6ZnVuY3Rpb24gdygpe3gucG9pbnQ9QyxjJiZjLnB1c2godT1bXSk7Xz0hMCxnPSExLGY9bT1OYU59LGxpbmVFbmQ6ZnVuY3Rpb24gUygpe2wmJihDKGgsZCkscCYmZyYmYi5yZWpvaW4oKSxsLnB1c2goYi5yZXN1bHQoKSkpO3gucG9pbnQ9VCxnJiZ2LmxpbmVFbmQoKX0scG9seWdvblN0YXJ0OmZ1bmN0aW9uIE0oKXt2PWIsbD1bXSxjPVtdLHk9ITB9LHBvbHlnb25FbmQ6ZnVuY3Rpb24gRSgpe3ZhciBlPShmdW5jdGlvbiBuKCl7Zm9yKHZhciBlPTAsbj0wLHI9Yy5sZW5ndGg7bjxyOysrbilmb3IodmFyIG8sYSxzPWNbbl0sbD0xLHU9cy5sZW5ndGgsaD1zWzBdLGQ9aFswXSxwPWhbMV07bDx1OysrbClvPWQsYT1wLGQ9KGg9c1tsXSlbMF0scD1oWzFdLGE8PWk/cD5pJiYoZC1vKSooaS1hKT4ocC1hKSoodC1vKSYmKytlOnA8PWkmJihkLW8pKihpLWEpPChwLWEpKih0LW8pJiYtLWU7cmV0dXJuIGV9KSgpLHI9eSYmZSxoPShsPWFjKGwpKS5sZW5ndGg7KHJ8fGgpJiYoYS5wb2x5Z29uU3RhcnQoKSxyJiYoYS5saW5lU3RhcnQoKSxvKG51bGwsbnVsbCwxLGEpLGEubGluZUVuZCgpKSxoJiZRYihsLHMsZSxvLGEpLGEucG9seWdvbkVuZCgpKTt2PWEsbD1jPXU9bnVsbH19O2Z1bmN0aW9uIFQodCxlKXtyKHQsZSkmJnYucG9pbnQodCxlKX1mdW5jdGlvbiBDKG8sYSl7dmFyIHM9cihvLGEpO2lmKGMmJnUucHVzaChbbyxhXSksXyloPW8sZD1hLHA9cyxfPSExLHMmJih2LmxpbmVTdGFydCgpLHYucG9pbnQobyxhKSk7ZWxzZSBpZihzJiZnKXYucG9pbnQobyxhKTtlbHNle3ZhciBsPVtmPU1hdGgubWF4KGR4LE1hdGgubWluKGh4LGYpKSxtPU1hdGgubWF4KGR4LE1hdGgubWluKGh4LG0pKV0sYj1bbz1NYXRoLm1heChkeCxNYXRoLm1pbihoeCxvKSksYT1NYXRoLm1heChkeCxNYXRoLm1pbihoeCxhKSldOyEoZnVuY3Rpb24geCh0LGUsbixpLHIsbyl7dmFyIGEscz10WzBdLGw9dFsxXSxjPTAsdT0xLGg9ZVswXS1zLGQ9ZVsxXS1sO2lmKGE9bi1zLGh8fCEoYT4wKSl7aWYoYS89aCxoPDApe2lmKGE8YylyZXR1cm47YTx1JiYodT1hKX1lbHNlIGlmKGg+MCl7aWYoYT51KXJldHVybjthPmMmJihjPWEpfWlmKGE9ci1zLGh8fCEoYTwwKSl7aWYoYS89aCxoPDApe2lmKGE+dSlyZXR1cm47YT5jJiYoYz1hKX1lbHNlIGlmKGg+MCl7aWYoYTxjKXJldHVybjthPHUmJih1PWEpfWlmKGE9aS1sLGR8fCEoYT4wKSl7aWYoYS89ZCxkPDApe2lmKGE8YylyZXR1cm47YTx1JiYodT1hKX1lbHNlIGlmKGQ+MCl7aWYoYT51KXJldHVybjthPmMmJihjPWEpfWlmKGE9by1sLGR8fCEoYTwwKSl7aWYoYS89ZCxkPDApe2lmKGE+dSlyZXR1cm47YT5jJiYoYz1hKX1lbHNlIGlmKGQ+MCl7aWYoYTxjKXJldHVybjthPHUmJih1PWEpfXJldHVybiBjPjAmJih0WzBdPXMrYypoLHRbMV09bCtjKmQpLHU8MSYmKGVbMF09cyt1KmgsZVsxXT1sK3UqZCksITB9fX19fSkobCxiLHQsZSxuLGkpP3MmJih2LmxpbmVTdGFydCgpLHYucG9pbnQobyxhKSx5PSExKTooZ3x8KHYubGluZVN0YXJ0KCksdi5wb2ludChsWzBdLGxbMV0pKSx2LnBvaW50KGJbMF0sYlsxXSksc3x8di5saW5lRW5kKCkseT0hMSl9Zj1vLG09YSxnPXN9cmV0dXJuIHh9fXZhciBmeCxteCxneCxfeD1xeSgpLHl4PXtzcGhlcmU6dnYscG9pbnQ6dnYsbGluZVN0YXJ0OmZ1bmN0aW9uIHZ4KCl7eXgucG9pbnQ9eHgseXgubGluZUVuZD1ieH0sbGluZUVuZDp2dixwb2x5Z29uU3RhcnQ6dnYscG9seWdvbkVuZDp2dn07ZnVuY3Rpb24gYngoKXt5eC5wb2ludD15eC5saW5lRW5kPXZ2fWZ1bmN0aW9uIHh4KHQsZSl7Zng9dCo9aXYsbXg9ZHYoZSo9aXYpLGd4PXN2KGUpLHl4LnBvaW50PXd4fWZ1bmN0aW9uIHd4KHQsZSl7dCo9aXY7dmFyIG49ZHYoZSo9aXYpLGk9c3YoZSkscj1ydih0LWZ4KSxvPXN2KHIpLGE9aSpkdihyKSxzPWd4Km4tbXgqaSpvLGw9bXgqbitneCppKm87X3guYWRkKGF2KGZ2KGEqYStzKnMpLGwpKSxmeD10LG14PW4sZ3g9aX1mdW5jdGlvbiBTeCh0KXtyZXR1cm4gX3gucmVzZXQoKSxFdih0LHl4KSwrX3h9dmFyIE14PVtudWxsLG51bGxdLEV4PXt0eXBlOiJMaW5lU3RyaW5nIixjb29yZGluYXRlczpNeH07ZnVuY3Rpb24gVHgodCxlKXtyZXR1cm4gTXhbMF09dCxNeFsxXT1lLFN4KEV4KX12YXIgQ3g9e0ZlYXR1cmU6ZnVuY3Rpb24odCxlKXtyZXR1cm4ga3godC5nZW9tZXRyeSxlKX0sRmVhdHVyZUNvbGxlY3Rpb246ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC5mZWF0dXJlcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KWlmKGt4KG5baV0uZ2VvbWV0cnksZSkpcmV0dXJuITA7cmV0dXJuITF9fSxBeD17U3BoZXJlOmZ1bmN0aW9uKCl7cmV0dXJuITB9LFBvaW50OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEx4KHQuY29vcmRpbmF0ZXMsZSl9LE11bHRpUG9pbnQ6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC5jb29yZGluYXRlcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KWlmKEx4KG5baV0sZSkpcmV0dXJuITA7cmV0dXJuITF9LExpbmVTdHJpbmc6ZnVuY3Rpb24odCxlKXtyZXR1cm4gUHgodC5jb29yZGluYXRlcyxlKX0sTXVsdGlMaW5lU3RyaW5nOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuY29vcmRpbmF0ZXMsaT0tMSxyPW4ubGVuZ3RoOysraTxyOylpZihQeChuW2ldLGUpKXJldHVybiEwO3JldHVybiExfSxQb2x5Z29uOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIE54KHQuY29vcmRpbmF0ZXMsZSl9LE11bHRpUG9seWdvbjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10LmNvb3JkaW5hdGVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspaWYoTngobltpXSxlKSlyZXR1cm4hMDtyZXR1cm4hMX0sR2VvbWV0cnlDb2xsZWN0aW9uOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuZ2VvbWV0cmllcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KWlmKGt4KG5baV0sZSkpcmV0dXJuITA7cmV0dXJuITF9fTtmdW5jdGlvbiBreCh0LGUpe3JldHVybiEoIXR8fCFBeC5oYXNPd25Qcm9wZXJ0eSh0LnR5cGUpKSYmQXhbdC50eXBlXSh0LGUpfWZ1bmN0aW9uIEx4KHQsZSl7cmV0dXJuIDA9PT1UeCh0LGUpfWZ1bmN0aW9uIFB4KHQsZSl7Zm9yKHZhciBuLGkscixvPTAsYT10Lmxlbmd0aDtvPGE7bysrKXtpZigwPT09KGk9VHgodFtvXSxlKSkpcmV0dXJuITA7aWYobz4wJiYocj1UeCh0W29dLHRbby0xXSkpPjAmJm48PXImJmk8PXImJihuK2ktcikqKDEtTWF0aC5wb3coKG4taSkvciwyKSk8WnkqcilyZXR1cm4hMDtuPWl9cmV0dXJuITF9ZnVuY3Rpb24gTngodCxlKXtyZXR1cm4hIWl4KHQubWFwKEl4KSxSeChlKSl9ZnVuY3Rpb24gSXgodCl7cmV0dXJuKHQ9dC5tYXAoUngpKS5wb3AoKSx0fWZ1bmN0aW9uIFJ4KHQpe3JldHVyblt0WzBdKml2LHRbMV0qaXZdfWZ1bmN0aW9uIE94KHQsZSxuKXt2YXIgaT1LbCh0LGUtS3ksbikuY29uY2F0KGUpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gaS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVyblt0LGVdfSkpfX1mdW5jdGlvbiB6eCh0LGUsbil7dmFyIGk9S2wodCxlLUt5LG4pLmNvbmNhdChlKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGkubWFwKChmdW5jdGlvbihlKXtyZXR1cm5bZSx0XX0pKX19ZnVuY3Rpb24gRHgoKXt2YXIgdCxlLG4saSxyLG8sYSxzLGwsYyx1LGgsZD0xMCxwPWQsZj05MCxtPTM2MCxnPTIuNTtmdW5jdGlvbiBfKCl7cmV0dXJue3R5cGU6Ik11bHRpTGluZVN0cmluZyIsY29vcmRpbmF0ZXM6eSgpfX1mdW5jdGlvbiB5KCl7cmV0dXJuIEtsKGx2KGkvZikqZixuLGYpLm1hcCh1KS5jb25jYXQoS2wobHYocy9tKSptLGEsbSkubWFwKGgpKS5jb25jYXQoS2wobHYoZS9kKSpkLHQsZCkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gcnYodCVmKT5LeX0pKS5tYXAobCkpLmNvbmNhdChLbChsdihvL3ApKnAscixwKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBydih0JW0pPkt5fSkpLm1hcChjKSl9cmV0dXJuIF8ubGluZXM9ZnVuY3Rpb24oKXtyZXR1cm4geSgpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJue3R5cGU6IkxpbmVTdHJpbmciLGNvb3JkaW5hdGVzOnR9fSkpfSxfLm91dGxpbmU9ZnVuY3Rpb24oKXtyZXR1cm57dHlwZToiUG9seWdvbiIsY29vcmRpbmF0ZXM6W3UoaSkuY29uY2F0KGgoYSkuc2xpY2UoMSksdShuKS5yZXZlcnNlKCkuc2xpY2UoMSksaChzKS5yZXZlcnNlKCkuc2xpY2UoMSkpXX19LF8uZXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP18uZXh0ZW50TWFqb3IodCkuZXh0ZW50TWlub3IodCk6Xy5leHRlbnRNaW5vcigpfSxfLmV4dGVudE1ham9yPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSt0WzBdWzFdLGE9K3RbMV1bMV0sKGk9K3RbMF1bMF0pPihuPSt0WzFdWzBdKSYmKHQ9aSxpPW4sbj10KSxzPmEmJih0PXMscz1hLGE9dCksXy5wcmVjaXNpb24oZykpOltbaSxzXSxbbixhXV19LF8uZXh0ZW50TWlub3I9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89K25bMF1bMV0scj0rblsxXVsxXSwoZT0rblswXVswXSk+KHQ9K25bMV1bMF0pJiYobj1lLGU9dCx0PW4pLG8+ciYmKG49byxvPXIscj1uKSxfLnByZWNpc2lvbihnKSk6W1tlLG9dLFt0LHJdXX0sXy5zdGVwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP18uc3RlcE1ham9yKHQpLnN0ZXBNaW5vcih0KTpfLnN0ZXBNaW5vcigpfSxfLnN0ZXBNYWpvcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZj0rdFswXSxtPSt0WzFdLF8pOltmLG1dfSxfLnN0ZXBNaW5vcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZD0rdFswXSxwPSt0WzFdLF8pOltkLHBdfSxfLnByZWNpc2lvbj1mdW5jdGlvbihkKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZz0rZCxsPU94KG8sciw5MCksYz16eChlLHQsZyksdT1PeChzLGEsOTApLGg9engoaSxuLGcpLF8pOmd9LF8uZXh0ZW50TWFqb3IoW1stMTgwLC04OS45OTk5OTldLFsxODAsODkuOTk5OTk5XV0pLmV4dGVudE1pbm9yKFtbLTE4MCwtODAuMDAwMDAxXSxbMTgwLDgwLjAwMDAwMV1dKX1mdW5jdGlvbiBCeCh0KXtyZXR1cm4gdH12YXIgSHgsRngsVngsVXgsang9cXkoKSxHeD1xeSgpLFd4PXtwb2ludDp2dixsaW5lU3RhcnQ6dnYsbGluZUVuZDp2dixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtXeC5saW5lU3RhcnQ9cXgsV3gubGluZUVuZD0keH0scG9seWdvbkVuZDpmdW5jdGlvbigpe1d4LmxpbmVTdGFydD1XeC5saW5lRW5kPVd4LnBvaW50PXZ2LGp4LmFkZChydihHeCkpLEd4LnJlc2V0KCl9LHJlc3VsdDpmdW5jdGlvbigpe3ZhciB0PWp4LzI7cmV0dXJuIGp4LnJlc2V0KCksdH19O2Z1bmN0aW9uIHF4KCl7V3gucG9pbnQ9WXh9ZnVuY3Rpb24gWXgodCxlKXtXeC5wb2ludD1YeCxIeD1WeD10LEZ4PVV4PWV9ZnVuY3Rpb24gWHgodCxlKXtHeC5hZGQoVXgqdC1WeCplKSxWeD10LFV4PWV9ZnVuY3Rpb24gJHgoKXtYeChIeCxGeCl9dmFyIEt4PVd4LFp4PTEvMCxKeD1aeCxReD0tWngsdHc9UXg7dmFyIGV3LG53LGl3LHJ3LG93PXtwb2ludDpmdW5jdGlvbiBhdyh0LGUpe3Q8WngmJihaeD10KTt0PlF4JiYoUXg9dCk7ZTxKeCYmKEp4PWUpO2U+dHcmJih0dz1lKX0sbGluZVN0YXJ0OnZ2LGxpbmVFbmQ6dnYscG9seWdvblN0YXJ0OnZ2LHBvbHlnb25FbmQ6dnYscmVzdWx0OmZ1bmN0aW9uKCl7dmFyIHQ9W1taeCxKeF0sW1F4LHR3XV07cmV0dXJuIFF4PXR3PS0oSng9Wng9MS8wKSx0fX0sc3c9MCxsdz0wLGN3PTAsdXc9MCxodz0wLGR3PTAscHc9MCxmdz0wLG13PTAsZ3c9e3BvaW50Ol93LGxpbmVTdGFydDp5dyxsaW5lRW5kOnh3LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2d3LmxpbmVTdGFydD13dyxndy5saW5lRW5kPVN3fSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7Z3cucG9pbnQ9X3csZ3cubGluZVN0YXJ0PXl3LGd3LmxpbmVFbmQ9eHd9LHJlc3VsdDpmdW5jdGlvbigpe3ZhciB0PW13P1twdy9tdyxmdy9td106ZHc/W3V3L2R3LGh3L2R3XTpjdz9bc3cvY3csbHcvY3ddOltOYU4sTmFOXTtyZXR1cm4gc3c9bHc9Y3c9dXc9aHc9ZHc9cHc9Znc9bXc9MCx0fX07ZnVuY3Rpb24gX3codCxlKXtzdys9dCxsdys9ZSwrK2N3fWZ1bmN0aW9uIHl3KCl7Z3cucG9pbnQ9dnd9ZnVuY3Rpb24gdncodCxlKXtndy5wb2ludD1idyxfdyhpdz10LHJ3PWUpfWZ1bmN0aW9uIGJ3KHQsZSl7dmFyIG49dC1pdyxpPWUtcncscj1mdihuKm4raSppKTt1dys9ciooaXcrdCkvMixodys9cioocncrZSkvMixkdys9cixfdyhpdz10LHJ3PWUpfWZ1bmN0aW9uIHh3KCl7Z3cucG9pbnQ9X3d9ZnVuY3Rpb24gd3coKXtndy5wb2ludD1Nd31mdW5jdGlvbiBTdygpe0V3KGV3LG53KX1mdW5jdGlvbiBNdyh0LGUpe2d3LnBvaW50PUV3LF93KGV3PWl3PXQsbnc9cnc9ZSl9ZnVuY3Rpb24gRXcodCxlKXt2YXIgbj10LWl3LGk9ZS1ydyxyPWZ2KG4qbitpKmkpO3V3Kz1yKihpdyt0KS8yLGh3Kz1yKihydytlKS8yLGR3Kz1yLHB3Kz0ocj1ydyp0LWl3KmUpKihpdyt0KSxmdys9cioocncrZSksbXcrPTMqcixfdyhpdz10LHJ3PWUpfXZhciBUdz1ndztmdW5jdGlvbiBDdyh0KXt0aGlzLl9jb250ZXh0PXR9Q3cucHJvdG90eXBlPXtfcmFkaXVzOjQuNSxwb2ludFJhZGl1czpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmFkaXVzPXQsdGhpc30scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXswPT09dGhpcy5fbGluZSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9wb2ludD1OYU59LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKSx0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5fY29udGV4dC5tb3ZlVG8odCt0aGlzLl9yYWRpdXMsZSksdGhpcy5fY29udGV4dC5hcmModCxlLHRoaXMuX3JhZGl1cywwLGV2KX19LHJlc3VsdDp2dn07dmFyIEF3LGt3LEx3LFB3LE53LEl3PXF5KCksUnc9e3BvaW50OnZ2LGxpbmVTdGFydDpmdW5jdGlvbigpe1J3LnBvaW50PU93fSxsaW5lRW5kOmZ1bmN0aW9uKCl7QXcmJnp3KGt3LEx3KSxSdy5wb2ludD12dn0scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7QXc9ITB9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtBdz1udWxsfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgdD0rSXc7cmV0dXJuIEl3LnJlc2V0KCksdH19O2Z1bmN0aW9uIE93KHQsZSl7UncucG9pbnQ9encsa3c9UHc9dCxMdz1Odz1lfWZ1bmN0aW9uIHp3KHQsZSl7SXcuYWRkKGZ2KChQdy09dCkqUHcrKE53LT1lKSpOdykpLFB3PXQsTnc9ZX12YXIgRHc9Unc7ZnVuY3Rpb24gQncoKXt0aGlzLl9zdHJpbmc9W119ZnVuY3Rpb24gSHcodCl7cmV0dXJuIm0wLCIrdCsiYSIrdCsiLCIrdCsiIDAgMSwxIDAsIistMip0KyJhIit0KyIsIit0KyIgMCAxLDEgMCwiKzIqdCsieiJ9ZnVuY3Rpb24gRncodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPW5ldyBWdztmb3IodmFyIGkgaW4gdCluW2ldPXRbaV07cmV0dXJuIG4uc3RyZWFtPWUsbn19ZnVuY3Rpb24gVncoKXt9ZnVuY3Rpb24gVXcodCxlLG4pe3ZhciBpPXQuY2xpcEV4dGVudCYmdC5jbGlwRXh0ZW50KCk7cmV0dXJuIHQuc2NhbGUoMTUwKS50cmFuc2xhdGUoWzAsMF0pLG51bGwhPWkmJnQuY2xpcEV4dGVudChudWxsKSxFdihuLHQuc3RyZWFtKG93KSksZShvdy5yZXN1bHQoKSksbnVsbCE9aSYmdC5jbGlwRXh0ZW50KGkpLHR9ZnVuY3Rpb24gancodCxlLG4pe3JldHVybiBVdyh0LChmdW5jdGlvbihuKXt2YXIgaT1lWzFdWzBdLWVbMF1bMF0scj1lWzFdWzFdLWVbMF1bMV0sbz1NYXRoLm1pbihpLyhuWzFdWzBdLW5bMF1bMF0pLHIvKG5bMV1bMV0tblswXVsxXSkpLGE9K2VbMF1bMF0rKGktbyooblsxXVswXStuWzBdWzBdKSkvMixzPStlWzBdWzFdKyhyLW8qKG5bMV1bMV0rblswXVsxXSkpLzI7dC5zY2FsZSgxNTAqbykudHJhbnNsYXRlKFthLHNdKX0pLG4pfWZ1bmN0aW9uIEd3KHQsZSxuKXtyZXR1cm4gancodCxbWzAsMF0sZV0sbil9ZnVuY3Rpb24gV3codCxlLG4pe3JldHVybiBVdyh0LChmdW5jdGlvbihuKXt2YXIgaT0rZSxyPWkvKG5bMV1bMF0tblswXVswXSksbz0oaS1yKihuWzFdWzBdK25bMF1bMF0pKS8yLGE9LXIqblswXVsxXTt0LnNjYWxlKDE1MCpyKS50cmFuc2xhdGUoW28sYV0pfSksbil9ZnVuY3Rpb24gcXcodCxlLG4pe3JldHVybiBVdyh0LChmdW5jdGlvbihuKXt2YXIgaT0rZSxyPWkvKG5bMV1bMV0tblswXVsxXSksbz0tcipuWzBdWzBdLGE9KGktciooblsxXVsxXStuWzBdWzFdKSkvMjt0LnNjYWxlKDE1MCpyKS50cmFuc2xhdGUoW28sYV0pfSksbil9QncucHJvdG90eXBlPXtfcmFkaXVzOjQuNSxfY2lyY2xlOkh3KDQuNSkscG9pbnRSYWRpdXM6ZnVuY3Rpb24odCl7cmV0dXJuKHQ9K3QpIT09dGhpcy5fcmFkaXVzJiYodGhpcy5fcmFkaXVzPXQsdGhpcy5fY2lyY2xlPW51bGwpLHRoaXN9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0scG9seWdvbkVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7MD09PXRoaXMuX2xpbmUmJnRoaXMuX3N0cmluZy5wdXNoKCJaIiksdGhpcy5fcG9pbnQ9TmFOfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3N0cmluZy5wdXNoKCJNIix0LCIsIixlKSx0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9zdHJpbmcucHVzaCgiTCIsdCwiLCIsZSk7YnJlYWs7ZGVmYXVsdDpudWxsPT10aGlzLl9jaXJjbGUmJih0aGlzLl9jaXJjbGU9SHcodGhpcy5fcmFkaXVzKSksdGhpcy5fc3RyaW5nLnB1c2goIk0iLHQsIiwiLGUsdGhpcy5fY2lyY2xlKX19LHJlc3VsdDpmdW5jdGlvbigpe2lmKHRoaXMuX3N0cmluZy5sZW5ndGgpe3ZhciB0PXRoaXMuX3N0cmluZy5qb2luKCIiKTtyZXR1cm4gdGhpcy5fc3RyaW5nPVtdLHR9cmV0dXJuIG51bGx9fSxWdy5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlZ3LHBvaW50OmZ1bmN0aW9uKHQsZSl7dGhpcy5zdHJlYW0ucG9pbnQodCxlKX0sc3BoZXJlOmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0uc3BoZXJlKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuc3RyZWFtLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0ubGluZUVuZCgpfSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLnN0cmVhbS5wb2x5Z29uU3RhcnQoKX0scG9seWdvbkVuZDpmdW5jdGlvbigpe3RoaXMuc3RyZWFtLnBvbHlnb25FbmQoKX19O3ZhciBZdz1zdigzMCppdik7ZnVuY3Rpb24gWHcodCxlKXtyZXR1cm4rZT8oZnVuY3Rpb24gbih0LGUpe2Z1bmN0aW9uIG4oaSxyLG8sYSxzLGwsYyx1LGgsZCxwLGYsbSxnKXt2YXIgXz1jLWkseT11LXIsdj1fKl8reSp5O2lmKHY+NCplJiZtLS0pe3ZhciBiPWErZCx4PXMrcCx3PWwrZixTPWZ2KGIqYit4Kngrdyp3KSxNPV92KHcvPVMpLEU9cnYocnYodyktMSk8S3l8fHJ2KG8taCk8S3k/KG8raCkvMjphdih4LGIpLFQ9dChFLE0pLEM9VFswXSxBPVRbMV0saz1DLWksTD1BLXIsUD15KmstXypMOyhQKlAvdj5lfHxydigoXyprK3kqTCkvdi0uNSk+LjN8fGEqZCtzKnArbCpmPFl3KSYmKG4oaSxyLG8sYSxzLGwsQyxBLEUsYi89Uyx4Lz1TLHcsbSxnKSxnLnBvaW50KEMsQSksbihDLEEsRSxiLHgsdyxjLHUsaCxkLHAsZixtLGcpKX19cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBpLHIsbyxhLHMsbCxjLHUsaCxkLHAsZixtPXtwb2ludDpnLGxpbmVTdGFydDpfLGxpbmVFbmQ6dixwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtlLnBvbHlnb25TdGFydCgpLG0ubGluZVN0YXJ0PWJ9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtlLnBvbHlnb25FbmQoKSxtLmxpbmVTdGFydD1ffX07ZnVuY3Rpb24gZyhuLGkpe249dChuLGkpLGUucG9pbnQoblswXSxuWzFdKX1mdW5jdGlvbiBfKCl7dT1OYU4sbS5wb2ludD15LGUubGluZVN0YXJ0KCl9ZnVuY3Rpb24geShpLHIpe3ZhciBvPUh2KFtpLHJdKSxhPXQoaSxyKTtuKHUsaCxjLGQscCxmLHU9YVswXSxoPWFbMV0sYz1pLGQ9b1swXSxwPW9bMV0sZj1vWzJdLDE2LGUpLGUucG9pbnQodSxoKX1mdW5jdGlvbiB2KCl7bS5wb2ludD1nLGUubGluZUVuZCgpfWZ1bmN0aW9uIGIoKXtfKCksbS5wb2ludD14LG0ubGluZUVuZD13fWZ1bmN0aW9uIHgodCxlKXt5KGk9dCxlKSxyPXUsbz1oLGE9ZCxzPXAsbD1mLG0ucG9pbnQ9eX1mdW5jdGlvbiB3KCl7bih1LGgsYyxkLHAsZixyLG8saSxhLHMsbCwxNixlKSxtLmxpbmVFbmQ9dix2KCl9cmV0dXJuIG19fSkodCxlKTooZnVuY3Rpb24gaSh0KXtyZXR1cm4gRncoe3BvaW50OmZ1bmN0aW9uKGUsbil7ZT10KGUsbiksdGhpcy5zdHJlYW0ucG9pbnQoZVswXSxlWzFdKX19KX0pKHQpfXZhciAkdz1Gdyh7cG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLnN0cmVhbS5wb2ludCh0Kml2LGUqaXYpfX0pO2Z1bmN0aW9uIEt3KHQsZSxuLGkscil7ZnVuY3Rpb24gbyhvLGEpe3JldHVybltlK3QqKG8qPWkpLG4tdCooYSo9cildfXJldHVybiBvLmludmVydD1mdW5jdGlvbihvLGEpe3JldHVyblsoby1lKS90KmksKG4tYSkvdCpyXX0sb31mdW5jdGlvbiBadyh0LGUsbixpLHIsbyl7dmFyIGE9c3Yobykscz1kdihvKSxsPWEqdCxjPXMqdCx1PWEvdCxoPXMvdCxkPShzKm4tYSplKS90LHA9KHMqZSthKm4pL3Q7ZnVuY3Rpb24gZih0LG8pe3JldHVybltsKih0Kj1pKS1jKihvKj1yKStlLG4tYyp0LWwqb119cmV0dXJuIGYuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuW2kqKHUqdC1oKmUrZCkscioocC1oKnQtdSplKV19LGZ9ZnVuY3Rpb24gSncodCl7cmV0dXJuIFF3KChmdW5jdGlvbigpe3JldHVybiB0fSkpKCl9ZnVuY3Rpb24gUXcodCl7dmFyIGUsbixpLHIsbyxhLHMsbCxjLHUsaD0xNTAsZD00ODAscD0yNTAsZj0wLG09MCxnPTAsXz0wLHk9MCx2PTAsYj0xLHg9MSx3PW51bGwsUz1zeCxNPW51bGwsRT1CeCxUPS41O2Z1bmN0aW9uIEModCl7cmV0dXJuIGwodFswXSppdix0WzFdKml2KX1mdW5jdGlvbiBBKHQpe3JldHVybih0PWwuaW52ZXJ0KHRbMF0sdFsxXSkpJiZbdFswXSpudix0WzFdKm52XX1mdW5jdGlvbiBrKCl7dmFyIHQ9WncoaCwwLDAsYix4LHYpLmFwcGx5KG51bGwsZShmLG0pKSxpPSh2P1p3Okt3KShoLGQtdFswXSxwLXRbMV0sYix4LHYpO3JldHVybiBuPWpiKGcsXyx5KSxzPVZiKGUsaSksbD1WYihuLHMpLGE9WHcocyxUKSxMKCl9ZnVuY3Rpb24gTCgpe3JldHVybiBjPXU9bnVsbCxDfXJldHVybiBDLnN0cmVhbT1mdW5jdGlvbih0KXtyZXR1cm4gYyYmdT09PXQ/YzpjPSR3KChmdW5jdGlvbiBlKHQpe3JldHVybiBGdyh7cG9pbnQ6ZnVuY3Rpb24oZSxuKXt2YXIgaT10KGUsbik7cmV0dXJuIHRoaXMuc3RyZWFtLnBvaW50KGlbMF0saVsxXSl9fSl9KShuKShTKGEoRSh1PXQpKSkpKX0sQy5wcmVjbGlwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhTPXQsdz12b2lkIDAsTCgpKTpTfSxDLnBvc3RjbGlwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhFPXQsTT1pPXI9bz1udWxsLEwoKSk6RX0sQy5jbGlwQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KFM9K3Q/dXgodz10Kml2KToodz1udWxsLHN4KSxMKCkpOncqbnZ9LEMuY2xpcEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oRT1udWxsPT10PyhNPWk9cj1vPW51bGwsQngpOnB4KE09K3RbMF1bMF0saT0rdFswXVsxXSxyPSt0WzFdWzBdLG89K3RbMV1bMV0pLEwoKSk6bnVsbD09TT9udWxsOltbTSxpXSxbcixvXV19LEMuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGg9K3QsaygpKTpofSxDLnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZD0rdFswXSxwPSt0WzFdLGsoKSk6W2QscF19LEMuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhmPXRbMF0lMzYwKml2LG09dFsxXSUzNjAqaXYsaygpKTpbZipudixtKm52XX0sQy5yb3RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGc9dFswXSUzNjAqaXYsXz10WzFdJTM2MCppdix5PXQubGVuZ3RoPjI/dFsyXSUzNjAqaXY6MCxrKCkpOltnKm52LF8qbnYseSpudl19LEMuYW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHY9dCUzNjAqaXYsaygpKTp2Km52fSxDLnJlZmxlY3RYPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhiPXQ/LTE6MSxrKCkpOmI8MH0sQy5yZWZsZWN0WT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oeD10Py0xOjEsaygpKTp4PDB9LEMucHJlY2lzaW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPVh3KHMsVD10KnQpLEwoKSk6ZnYoVCl9LEMuZml0RXh0ZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGp3KEMsdCxlKX0sQy5maXRTaXplPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIEd3KEMsdCxlKX0sQy5maXRXaWR0aD1mdW5jdGlvbih0LGUpe3JldHVybiBXdyhDLHQsZSl9LEMuZml0SGVpZ2h0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHF3KEMsdCxlKX0sZnVuY3Rpb24oKXtyZXR1cm4gZT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKSxDLmludmVydD1lLmludmVydCYmQSxrKCl9fWZ1bmN0aW9uIHRTKHQpe3ZhciBlPTAsbj1KeS8zLGk9UXcodCkscj1pKGUsbik7cmV0dXJuIHIucGFyYWxsZWxzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP2koZT10WzBdKml2LG49dFsxXSppdik6W2UqbnYsbipudl19LHJ9ZnVuY3Rpb24gZVModCxlKXt2YXIgbj1kdih0KSxpPShuK2R2KGUpKS8yO2lmKHJ2KGkpPEt5KXJldHVybihmdW5jdGlvbiByKHQpe3ZhciBlPXN2KHQpO2Z1bmN0aW9uIG4odCxuKXtyZXR1cm5bdCplLGR2KG4pL2VdfXJldHVybiBuLmludmVydD1mdW5jdGlvbih0LG4pe3JldHVyblt0L2UsX3YobiplKV19LG59KSh0KTt2YXIgbz0xK24qKDIqaS1uKSxhPWZ2KG8pL2k7ZnVuY3Rpb24gcyh0LGUpe3ZhciBuPWZ2KG8tMippKmR2KGUpKS9pO3JldHVybltuKmR2KHQqPWkpLGEtbipzdih0KV19cmV0dXJuIHMuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIG49YS1lLHI9YXYodCxydihuKSkqcHYobik7cmV0dXJuIG4qaTwwJiYoci09SnkqcHYodCkqcHYobikpLFtyL2ksX3YoKG8tKHQqdCtuKm4pKmkqaSkvKDIqaSkpXX0sc31mdW5jdGlvbiBuUygpe3JldHVybiB0UyhlUykuc2NhbGUoMTU1LjQyNCkuY2VudGVyKFswLDMzLjY0NDJdKX1mdW5jdGlvbiBpUygpe3JldHVybiBuUygpLnBhcmFsbGVscyhbMjkuNSw0NS41XSkuc2NhbGUoMTA3MCkudHJhbnNsYXRlKFs0ODAsMjUwXSkucm90YXRlKFs5NiwwXSkuY2VudGVyKFstLjYsMzguN10pfWZ1bmN0aW9uIHJTKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciBpPXN2KGUpLHI9c3Yobiksbz10KGkqcik7cmV0dXJuW28qcipkdihlKSxvKmR2KG4pXX19ZnVuY3Rpb24gb1ModCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dmFyIGk9ZnYoZSplK24qbikscj10KGkpLG89ZHYociksYT1zdihyKTtyZXR1cm5bYXYoZSpvLGkqYSksX3YoaSYmbipvL2kpXX19dmFyIGFTPXJTKChmdW5jdGlvbih0KXtyZXR1cm4gZnYoMi8oMSt0KSl9KSk7YVMuaW52ZXJ0PW9TKChmdW5jdGlvbih0KXtyZXR1cm4gMipfdih0LzIpfSkpO3ZhciBzUz1yUygoZnVuY3Rpb24odCl7cmV0dXJuKHQ9Z3YodCkpJiZ0L2R2KHQpfSkpO2Z1bmN0aW9uIGxTKHQsZSl7cmV0dXJuW3QsdXYobXYoKFF5K2UpLzIpKV19ZnVuY3Rpb24gY1ModCl7dmFyIGUsbixpLHI9SncodCksbz1yLmNlbnRlcixhPXIuc2NhbGUscz1yLnRyYW5zbGF0ZSxsPXIuY2xpcEV4dGVudCxjPW51bGw7ZnVuY3Rpb24gdSgpe3ZhciBvPUp5KmEoKSxzPXIoWWIoci5yb3RhdGUoKSkuaW52ZXJ0KFswLDBdKSk7cmV0dXJuIGwobnVsbD09Yz9bW3NbMF0tbyxzWzFdLW9dLFtzWzBdK28sc1sxXStvXV06dD09PWxTP1tbTWF0aC5tYXgoc1swXS1vLGMpLGVdLFtNYXRoLm1pbihzWzBdK28sbiksaV1dOltbYyxNYXRoLm1heChzWzFdLW8sZSldLFtuLE1hdGgubWluKHNbMV0rbyxpKV1dKX1yZXR1cm4gci5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYSh0KSx1KCkpOmEoKX0sci50cmFuc2xhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHModCksdSgpKTpzKCl9LHIuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvKHQpLHUoKSk6bygpfSxyLmNsaXBFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG51bGw9PXQ/Yz1lPW49aT1udWxsOihjPSt0WzBdWzBdLGU9K3RbMF1bMV0sbj0rdFsxXVswXSxpPSt0WzFdWzFdKSx1KCkpOm51bGw9PWM/bnVsbDpbW2MsZV0sW24saV1dfSx1KCl9ZnVuY3Rpb24gdVModCl7cmV0dXJuIG12KChReSt0KS8yKX1mdW5jdGlvbiBoUyh0LGUpe3ZhciBuPXN2KHQpLGk9dD09PWU/ZHYodCk6dXYobi9zdihlKSkvdXYodVMoZSkvdVModCkpLHI9bipodih1Uyh0KSxpKS9pO2lmKCFpKXJldHVybiBsUztmdW5jdGlvbiBvKHQsZSl7cj4wP2U8LVF5K0t5JiYoZT0tUXkrS3kpOmU+UXktS3kmJihlPVF5LUt5KTt2YXIgbj1yL2h2KHVTKGUpLGkpO3JldHVybltuKmR2KGkqdCksci1uKnN2KGkqdCldfXJldHVybiBvLmludmVydD1mdW5jdGlvbih0LGUpe3ZhciBuPXItZSxvPXB2KGkpKmZ2KHQqdCtuKm4pLGE9YXYodCxydihuKSkqcHYobik7cmV0dXJuIG4qaTwwJiYoYS09SnkqcHYodCkqcHYobikpLFthL2ksMipvdihodihyL28sMS9pKSktUXldfSxvfWZ1bmN0aW9uIGRTKHQsZSl7cmV0dXJuW3QsZV19ZnVuY3Rpb24gcFModCxlKXt2YXIgbj1zdih0KSxpPXQ9PT1lP2R2KHQpOihuLXN2KGUpKS8oZS10KSxyPW4vaSt0O2lmKHJ2KGkpPEt5KXJldHVybiBkUztmdW5jdGlvbiBvKHQsZSl7dmFyIG49ci1lLG89aSp0O3JldHVybltuKmR2KG8pLHItbipzdihvKV19cmV0dXJuIG8uaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIG49ci1lLG89YXYodCxydihuKSkqcHYobik7cmV0dXJuIG4qaTwwJiYoby09SnkqcHYodCkqcHYobikpLFtvL2ksci1wdihpKSpmdih0KnQrbipuKV19LG99c1MuaW52ZXJ0PW9TKChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKSxsUy5pbnZlcnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm5bdCwyKm92KGN2KGUpKS1ReV19LGRTLmludmVydD1kUzt2YXIgZlM9MS4zNDAyNjQsbVM9LS4wODExMDYsZ1M9ODkzZS02LF9TPS4wMDM3OTYseVM9ZnYoMykvMjtmdW5jdGlvbiB2Uyh0LGUpe3ZhciBuPV92KHlTKmR2KGUpKSxpPW4qbixyPWkqaSppO3JldHVyblt0KnN2KG4pLyh5UyooZlMrMyptUyppK3IqKDcqZ1MrOSpfUyppKSkpLG4qKGZTK21TKmkrciooZ1MrX1MqaSkpXX1mdW5jdGlvbiBiUyh0LGUpe3ZhciBuPXN2KGUpLGk9c3YodCkqbjtyZXR1cm5bbipkdih0KS9pLGR2KGUpL2ldfWZ1bmN0aW9uIHhTKHQsZSl7dmFyIG49ZSplLGk9bipuO3JldHVyblt0KiguODcwNy0uMTMxOTc5Km4raSooaSooLjAwMzk3MSpuLS4wMDE1MjkqaSktLjAxMzc5MSkpLGUqKDEuMDA3MjI2K24qKC4wMTUwODUraSooLjAyODg3NCpuLS4wNDQ0NzUtLjAwNTkxNippKSkpXX1mdW5jdGlvbiB3Uyh0LGUpe3JldHVybltzdihlKSpkdih0KSxkdihlKV19ZnVuY3Rpb24gU1ModCxlKXt2YXIgbj1zdihlKSxpPTErc3YodCkqbjtyZXR1cm5bbipkdih0KS9pLGR2KGUpL2ldfWZ1bmN0aW9uIE1TKHQsZSl7cmV0dXJuW3V2KG12KChReStlKS8yKSksLXRdfWZ1bmN0aW9uIEVTKHQsZSl7cmV0dXJuIHQucGFyZW50PT09ZS5wYXJlbnQ/MToyfWZ1bmN0aW9uIFRTKHQsZSl7cmV0dXJuIHQrZS54fWZ1bmN0aW9uIENTKHQsZSl7cmV0dXJuIE1hdGgubWF4KHQsZS55KX1mdW5jdGlvbiBBUyh0KXt2YXIgZT0wLG49dC5jaGlsZHJlbixpPW4mJm4ubGVuZ3RoO2lmKGkpZm9yKDstLWk+PTA7KWUrPW5baV0udmFsdWU7ZWxzZSBlPTE7dC52YWx1ZT1lfWZ1bmN0aW9uIGtTKHQsZSl7dmFyIG4saSxyLG8sYSxzPW5ldyBJUyh0KSxsPSt0LnZhbHVlJiYocy52YWx1ZT10LnZhbHVlKSxjPVtzXTtmb3IobnVsbD09ZSYmKGU9TFMpO249Yy5wb3AoKTspaWYobCYmKG4udmFsdWU9K24uZGF0YS52YWx1ZSksKHI9ZShuLmRhdGEpKSYmKGE9ci5sZW5ndGgpKWZvcihuLmNoaWxkcmVuPW5ldyBBcnJheShhKSxvPWEtMTtvPj0wOy0tbyljLnB1c2goaT1uLmNoaWxkcmVuW29dPW5ldyBJUyhyW29dKSksaS5wYXJlbnQ9bixpLmRlcHRoPW4uZGVwdGgrMTtyZXR1cm4gcy5lYWNoQmVmb3JlKE5TKX1mdW5jdGlvbiBMUyh0KXtyZXR1cm4gdC5jaGlsZHJlbn1mdW5jdGlvbiBQUyh0KXt0LmRhdGE9dC5kYXRhLmRhdGF9ZnVuY3Rpb24gTlModCl7dmFyIGU9MDtkb3t0LmhlaWdodD1lfXdoaWxlKCh0PXQucGFyZW50KSYmdC5oZWlnaHQ8KytlKX1mdW5jdGlvbiBJUyh0KXt0aGlzLmRhdGE9dCx0aGlzLmRlcHRoPXRoaXMuaGVpZ2h0PTAsdGhpcy5wYXJlbnQ9bnVsbH12Uy5pbnZlcnQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4saT1lLHI9aSppLG89cipyKnIsYT0wO2E8MTImJihvPShyPShpLT1uPShpKihmUyttUypyK28qKGdTK19TKnIpKS1lKS8oZlMrMyptUypyK28qKDcqZ1MrOSpfUypyKSkpKmkpKnIqciwhKHJ2KG4pPFp5KSk7KythKTtyZXR1cm5beVMqdCooZlMrMyptUypyK28qKDcqZ1MrOSpfUypyKSkvc3YoaSksX3YoZHYoaSkveVMpXX0sYlMuaW52ZXJ0PW9TKG92KSx4Uy5pbnZlcnQ9ZnVuY3Rpb24odCxlKXt2YXIgbixpPWUscj0yNTtkb3t2YXIgbz1pKmksYT1vKm87aS09bj0oaSooMS4wMDcyMjYrbyooLjAxNTA4NSthKiguMDI4ODc0Km8tLjA0NDQ3NS0uMDA1OTE2KmEpKSktZSkvKDEuMDA3MjI2K28qKC4wNDUyNTUrYSooLjI1OTg2NipvLS4zMTEzMjUtLjAwNTkxNioxMSphKSkpfXdoaWxlKHJ2KG4pPkt5JiYtLXI+MCk7cmV0dXJuW3QvKC44NzA3KyhvPWkqaSkqKG8qKG8qbypvKiguMDAzOTcxLS4wMDE1MjkqbyktLjAxMzc5MSktLjEzMTk3OSkpLGldfSx3Uy5pbnZlcnQ9b1MoX3YpLFNTLmludmVydD1vUygoZnVuY3Rpb24odCl7cmV0dXJuIDIqb3YodCl9KSksTVMuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuWy1lLDIqb3YoY3YodCkpLVF5XX0sSVMucHJvdG90eXBlPWtTLnByb3RvdHlwZT17Y29uc3RydWN0b3I6SVMsY291bnQ6ZnVuY3Rpb24gUlMoKXtyZXR1cm4gdGhpcy5lYWNoQWZ0ZXIoQVMpfSxlYWNoOmZ1bmN0aW9uIE9TKHQpe3ZhciBlLG4saSxyLG89dGhpcyxhPVtvXTtkb3tmb3IoZT1hLnJldmVyc2UoKSxhPVtdO289ZS5wb3AoKTspaWYodChvKSxuPW8uY2hpbGRyZW4pZm9yKGk9MCxyPW4ubGVuZ3RoO2k8cjsrK2kpYS5wdXNoKG5baV0pfXdoaWxlKGEubGVuZ3RoKTtyZXR1cm4gdGhpc30sZWFjaEFmdGVyOmZ1bmN0aW9uIHpTKHQpe2Zvcih2YXIgZSxuLGkscj10aGlzLG89W3JdLGE9W107cj1vLnBvcCgpOylpZihhLnB1c2gociksZT1yLmNoaWxkcmVuKWZvcihuPTAsaT1lLmxlbmd0aDtuPGk7KytuKW8ucHVzaChlW25dKTtmb3IoO3I9YS5wb3AoKTspdChyKTtyZXR1cm4gdGhpc30sZWFjaEJlZm9yZTpmdW5jdGlvbiBEUyh0KXtmb3IodmFyIGUsbixpPXRoaXMscj1baV07aT1yLnBvcCgpOylpZih0KGkpLGU9aS5jaGlsZHJlbilmb3Iobj1lLmxlbmd0aC0xO24+PTA7LS1uKXIucHVzaChlW25dKTtyZXR1cm4gdGhpc30sc3VtOmZ1bmN0aW9uIEJTKHQpe3JldHVybiB0aGlzLmVhY2hBZnRlcigoZnVuY3Rpb24oZSl7Zm9yKHZhciBuPSt0KGUuZGF0YSl8fDAsaT1lLmNoaWxkcmVuLHI9aSYmaS5sZW5ndGg7LS1yPj0wOyluKz1pW3JdLnZhbHVlO2UudmFsdWU9bn0pKX0sc29ydDpmdW5jdGlvbiBIUyh0KXtyZXR1cm4gdGhpcy5lYWNoQmVmb3JlKChmdW5jdGlvbihlKXtlLmNoaWxkcmVuJiZlLmNoaWxkcmVuLnNvcnQodCl9KSl9LHBhdGg6ZnVuY3Rpb24gRlModCl7Zm9yKHZhciBlPXRoaXMsbj0oZnVuY3Rpb24gaSh0LGUpe2lmKHQ9PT1lKXJldHVybiB0O3ZhciBuPXQuYW5jZXN0b3JzKCksaT1lLmFuY2VzdG9ycygpLHI9bnVsbDt0PW4ucG9wKCksZT1pLnBvcCgpO2Zvcig7dD09PWU7KXI9dCx0PW4ucG9wKCksZT1pLnBvcCgpO3JldHVybiByfSkoZSx0KSxyPVtlXTtlIT09bjspci5wdXNoKGU9ZS5wYXJlbnQpO2Zvcih2YXIgbz1yLmxlbmd0aDt0IT09bjspci5zcGxpY2UobywwLHQpLHQ9dC5wYXJlbnQ7cmV0dXJuIHJ9LGFuY2VzdG9yczpmdW5jdGlvbiBWUygpe2Zvcih2YXIgdD10aGlzLGU9W3RdO3Q9dC5wYXJlbnQ7KWUucHVzaCh0KTtyZXR1cm4gZX0sZGVzY2VuZGFudHM6ZnVuY3Rpb24gVVMoKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbihlKXt0LnB1c2goZSl9KSksdH0sbGVhdmVzOmZ1bmN0aW9uIGpTKCl7dmFyIHQ9W107cmV0dXJuIHRoaXMuZWFjaEJlZm9yZSgoZnVuY3Rpb24oZSl7ZS5jaGlsZHJlbnx8dC5wdXNoKGUpfSkpLHR9LGxpbmtzOmZ1bmN0aW9uIEdTKCl7dmFyIHQ9dGhpcyxlPVtdO3JldHVybiB0LmVhY2goKGZ1bmN0aW9uKG4pe24hPT10JiZlLnB1c2goe3NvdXJjZTpuLnBhcmVudCx0YXJnZXQ6bn0pfSkpLGV9LGNvcHk6ZnVuY3Rpb24gV1MoKXtyZXR1cm4ga1ModGhpcykuZWFjaEJlZm9yZShQUyl9fTt2YXIgcVM9QXJyYXkucHJvdG90eXBlLnNsaWNlO2Z1bmN0aW9uIFlTKHQpe2Zvcih2YXIgZSxuLGk9MCxyPSh0PShmdW5jdGlvbiBvKHQpe2Zvcih2YXIgZSxuLGk9dC5sZW5ndGg7aTspbj1NYXRoLnJhbmRvbSgpKmktLXwwLGU9dFtpXSx0W2ldPXRbbl0sdFtuXT1lO3JldHVybiB0fSkocVMuY2FsbCh0KSkpLmxlbmd0aCxhPVtdO2k8cjspZT10W2ldLG4mJktTKG4sZSk/KytpOihuPUpTKGE9WFMoYSxlKSksaT0wKTtyZXR1cm4gbn1mdW5jdGlvbiBYUyh0LGUpe3ZhciBuLGk7aWYoWlMoZSx0KSlyZXR1cm5bZV07Zm9yKG49MDtuPHQubGVuZ3RoOysrbilpZigkUyhlLHRbbl0pJiZaUyhRUyh0W25dLGUpLHQpKXJldHVyblt0W25dLGVdO2ZvcihuPTA7bjx0Lmxlbmd0aC0xOysrbilmb3IoaT1uKzE7aTx0Lmxlbmd0aDsrK2kpaWYoJFMoUVModFtuXSx0W2ldKSxlKSYmJFMoUVModFtuXSxlKSx0W2ldKSYmJFMoUVModFtpXSxlKSx0W25dKSYmWlModE0odFtuXSx0W2ldLGUpLHQpKXJldHVyblt0W25dLHRbaV0sZV07dGhyb3cgbmV3IEVycm9yfWZ1bmN0aW9uICRTKHQsZSl7dmFyIG49dC5yLWUucixpPWUueC10Lngscj1lLnktdC55O3JldHVybiBuPDB8fG4qbjxpKmkrcipyfWZ1bmN0aW9uIEtTKHQsZSl7dmFyIG49dC5yLWUucisxZS02LGk9ZS54LXQueCxyPWUueS10Lnk7cmV0dXJuIG4+MCYmbipuPmkqaStyKnJ9ZnVuY3Rpb24gWlModCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoOysrbilpZighS1ModCxlW25dKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBKUyh0KXtzd2l0Y2godC5sZW5ndGgpe2Nhc2UgMTpyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm57eDp0LngseTp0Lnkscjp0LnJ9fSkodFswXSk7Y2FzZSAyOnJldHVybiBRUyh0WzBdLHRbMV0pO2Nhc2UgMzpyZXR1cm4gdE0odFswXSx0WzFdLHRbMl0pfX1mdW5jdGlvbiBRUyh0LGUpe3ZhciBuPXQueCxpPXQueSxyPXQucixvPWUueCxhPWUueSxzPWUucixsPW8tbixjPWEtaSx1PXMtcixoPU1hdGguc3FydChsKmwrYypjKTtyZXR1cm57eDoobitvK2wvaCp1KS8yLHk6KGkrYStjL2gqdSkvMixyOihoK3IrcykvMn19ZnVuY3Rpb24gdE0odCxlLG4pe3ZhciBpPXQueCxyPXQueSxvPXQucixhPWUueCxzPWUueSxsPWUucixjPW4ueCx1PW4ueSxoPW4ucixkPWktYSxwPWktYyxmPXItcyxtPXItdSxnPWwtbyxfPWgtbyx5PWkqaStyKnItbypvLHY9eS1hKmEtcypzK2wqbCxiPXktYypjLXUqdStoKmgseD1wKmYtZCptLHc9KGYqYi1tKnYpLygyKngpLWksUz0obSpnLWYqXykveCxNPShwKnYtZCpiKS8oMip4KS1yLEU9KGQqXy1wKmcpL3gsVD1TKlMrRSpFLTEsQz0yKihvK3cqUytNKkUpLEE9dyp3K00qTS1vKm8saz0tKFQ/KEMrTWF0aC5zcXJ0KEMqQy00KlQqQSkpLygyKlQpOkEvQyk7cmV0dXJue3g6aSt3K1Mqayx5OnIrTStFKmsscjprfX1mdW5jdGlvbiBlTSh0LGUsbil7dmFyIGkscixvLGEscz10LngtZS54LGw9dC55LWUueSxjPXMqcytsKmw7Yz8ocj1lLnIrbi5yLGE9dC5yK24uciwocio9cik+KGEqPWEpPyhpPShjK2EtcikvKDIqYyksbz1NYXRoLnNxcnQoTWF0aC5tYXgoMCxhL2MtaSppKSksbi54PXQueC1pKnMtbypsLG4ueT10LnktaSpsK28qcyk6KGk9KGMrci1hKS8oMipjKSxvPU1hdGguc3FydChNYXRoLm1heCgwLHIvYy1pKmkpKSxuLng9ZS54K2kqcy1vKmwsbi55PWUueStpKmwrbypzKSk6KG4ueD1lLngrbi5yLG4ueT1lLnkpfWZ1bmN0aW9uIG5NKHQsZSl7dmFyIG49dC5yK2Uuci0xZS02LGk9ZS54LXQueCxyPWUueS10Lnk7cmV0dXJuIG4+MCYmbipuPmkqaStyKnJ9ZnVuY3Rpb24gaU0odCl7dmFyIGU9dC5fLG49dC5uZXh0Ll8saT1lLnIrbi5yLHI9KGUueCpuLnIrbi54KmUucikvaSxvPShlLnkqbi5yK24ueSplLnIpL2k7cmV0dXJuIHIqcitvKm99ZnVuY3Rpb24gck0odCl7dGhpcy5fPXQsdGhpcy5uZXh0PW51bGwsdGhpcy5wcmV2aW91cz1udWxsfWZ1bmN0aW9uIG9NKHQpe2lmKCEocj10Lmxlbmd0aCkpcmV0dXJuIDA7dmFyIGUsbixpLHIsbyxhLHMsbCxjLHUsaDtpZigoZT10WzBdKS54PTAsZS55PTAsIShyPjEpKXJldHVybiBlLnI7aWYoZS54PS0obj10WzFdKS5yLG4ueD1lLnIsbi55PTAsIShyPjIpKXJldHVybiBlLnIrbi5yO2VNKG4sZSxpPXRbMl0pLGU9bmV3IHJNKGUpLG49bmV3IHJNKG4pLGk9bmV3IHJNKGkpLGUubmV4dD1pLnByZXZpb3VzPW4sbi5uZXh0PWUucHJldmlvdXM9aSxpLm5leHQ9bi5wcmV2aW91cz1lO3Q6Zm9yKHM9MztzPHI7KytzKXtlTShlLl8sbi5fLGk9dFtzXSksaT1uZXcgck0oaSksbD1uLm5leHQsYz1lLnByZXZpb3VzLHU9bi5fLnIsaD1lLl8ucjtkb3tpZih1PD1oKXtpZihuTShsLl8saS5fKSl7ZS5uZXh0PW49bCxuLnByZXZpb3VzPWUsLS1zO2NvbnRpbnVlIHR9dSs9bC5fLnIsbD1sLm5leHR9ZWxzZXtpZihuTShjLl8saS5fKSl7KGU9YykubmV4dD1uLG4ucHJldmlvdXM9ZSwtLXM7Y29udGludWUgdH1oKz1jLl8ucixjPWMucHJldmlvdXN9fXdoaWxlKGwhPT1jLm5leHQpO2ZvcihpLnByZXZpb3VzPWUsaS5uZXh0PW4sZS5uZXh0PW4ucHJldmlvdXM9bj1pLG89aU0oZSk7KGk9aS5uZXh0KSE9PW47KShhPWlNKGkpKTxvJiYoZT1pLG89YSk7bj1lLm5leHR9Zm9yKGU9W24uX10saT1uOyhpPWkubmV4dCkhPT1uOyllLnB1c2goaS5fKTtmb3IoaT1ZUyhlKSxzPTA7czxyOysrcykoZT10W3NdKS54LT1pLngsZS55LT1pLnk7cmV0dXJuIGkucn1mdW5jdGlvbiBhTSh0KXtyZXR1cm4gbnVsbD09dD9udWxsOnNNKHQpfWZ1bmN0aW9uIHNNKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcjtyZXR1cm4gdH1mdW5jdGlvbiBsTSgpe3JldHVybiAwfWZ1bmN0aW9uIGNNKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiB1TSh0KXtyZXR1cm4gTWF0aC5zcXJ0KHQudmFsdWUpfWZ1bmN0aW9uIGhNKHQpe3JldHVybiBmdW5jdGlvbihlKXtlLmNoaWxkcmVufHwoZS5yPU1hdGgubWF4KDAsK3QoZSl8fDApKX19ZnVuY3Rpb24gZE0odCxlKXtyZXR1cm4gZnVuY3Rpb24obil7aWYoaT1uLmNoaWxkcmVuKXt2YXIgaSxyLG8sYT1pLmxlbmd0aCxzPXQobikqZXx8MDtpZihzKWZvcihyPTA7cjxhOysrcilpW3JdLnIrPXM7aWYobz1vTShpKSxzKWZvcihyPTA7cjxhOysrcilpW3JdLnItPXM7bi5yPW8rc319fWZ1bmN0aW9uIHBNKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgbj1lLnBhcmVudDtlLnIqPXQsbiYmKGUueD1uLngrdCplLngsZS55PW4ueSt0KmUueSl9fWZ1bmN0aW9uIGZNKHQpe3QueDA9TWF0aC5yb3VuZCh0LngwKSx0LnkwPU1hdGgucm91bmQodC55MCksdC54MT1NYXRoLnJvdW5kKHQueDEpLHQueTE9TWF0aC5yb3VuZCh0LnkxKX1mdW5jdGlvbiBtTSh0LGUsbixpLHIpe2Zvcih2YXIgbyxhPXQuY2hpbGRyZW4scz0tMSxsPWEubGVuZ3RoLGM9dC52YWx1ZSYmKGktZSkvdC52YWx1ZTsrK3M8bDspKG89YVtzXSkueTA9bixvLnkxPXIsby54MD1lLG8ueDE9ZSs9by52YWx1ZSpjfXZhciBnTT17ZGVwdGg6LTF9LF9NPXt9O2Z1bmN0aW9uIHlNKHQpe3JldHVybiB0LmlkfWZ1bmN0aW9uIHZNKHQpe3JldHVybiB0LnBhcmVudElkfWZ1bmN0aW9uIGJNKHQsZSl7cmV0dXJuIHQucGFyZW50PT09ZS5wYXJlbnQ/MToyfWZ1bmN0aW9uIHhNKHQpe3ZhciBlPXQuY2hpbGRyZW47cmV0dXJuIGU/ZVswXTp0LnR9ZnVuY3Rpb24gd00odCl7dmFyIGU9dC5jaGlsZHJlbjtyZXR1cm4gZT9lW2UubGVuZ3RoLTFdOnQudH1mdW5jdGlvbiBTTSh0LGUsbil7dmFyIGk9bi8oZS5pLXQuaSk7ZS5jLT1pLGUucys9bix0LmMrPWksZS56Kz1uLGUubSs9bn1mdW5jdGlvbiBNTSh0LGUsbil7cmV0dXJuIHQuYS5wYXJlbnQ9PT1lLnBhcmVudD90LmE6bn1mdW5jdGlvbiBFTSh0LGUpe3RoaXMuXz10LHRoaXMucGFyZW50PW51bGwsdGhpcy5jaGlsZHJlbj1udWxsLHRoaXMuQT1udWxsLHRoaXMuYT10aGlzLHRoaXMuej0wLHRoaXMubT0wLHRoaXMuYz0wLHRoaXMucz0wLHRoaXMudD1udWxsLHRoaXMuaT1lfWZ1bmN0aW9uIFRNKHQsZSxuLGkscil7Zm9yKHZhciBvLGE9dC5jaGlsZHJlbixzPS0xLGw9YS5sZW5ndGgsYz10LnZhbHVlJiYoci1uKS90LnZhbHVlOysrczxsOykobz1hW3NdKS54MD1lLG8ueDE9aSxvLnkwPW4sby55MT1uKz1vLnZhbHVlKmN9RU0ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoSVMucHJvdG90eXBlKTt2YXIgQ009KDErTWF0aC5zcXJ0KDUpKS8yO2Z1bmN0aW9uIEFNKHQsZSxuLGkscixvKXtmb3IodmFyIGEscyxsLGMsdSxoLGQscCxmLG0sZyxfPVtdLHk9ZS5jaGlsZHJlbix2PTAsYj0wLHg9eS5sZW5ndGgsdz1lLnZhbHVlO3Y8eDspe2w9ci1uLGM9by1pO2Rve3U9eVtiKytdLnZhbHVlfXdoaWxlKCF1JiZiPHgpO2ZvcihoPWQ9dSxnPXUqdSoobT1NYXRoLm1heChjL2wsbC9jKS8odyp0KSksZj1NYXRoLm1heChkL2csZy9oKTtiPHg7KytiKXtpZih1Kz1zPXlbYl0udmFsdWUsczxoJiYoaD1zKSxzPmQmJihkPXMpLGc9dSp1Km0sKHA9TWF0aC5tYXgoZC9nLGcvaCkpPmYpe3UtPXM7YnJlYWt9Zj1wfV8ucHVzaChhPXt2YWx1ZTp1LGRpY2U6bDxjLGNoaWxkcmVuOnkuc2xpY2UodixiKX0pLGEuZGljZT9tTShhLG4saSxyLHc/aSs9Yyp1L3c6byk6VE0oYSxuLGksdz9uKz1sKnUvdzpyLG8pLHctPXUsdj1ifXJldHVybiBffXZhciBrTT0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQsbixpLHIsbyl7QU0oZSx0LG4saSxyLG8pfXJldHVybiBuLnJhdGlvPWZ1bmN0aW9uKGUpe3JldHVybiB0KChlPStlKT4xP2U6MSl9LG59KShDTSk7dmFyIExNPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCxuLGkscixvKXtpZigoYT10Ll9zcXVhcmlmeSkmJmEucmF0aW89PT1lKWZvcih2YXIgYSxzLGwsYyx1LGg9LTEsZD1hLmxlbmd0aCxwPXQudmFsdWU7KytoPGQ7KXtmb3IobD0ocz1hW2hdKS5jaGlsZHJlbixjPXMudmFsdWU9MCx1PWwubGVuZ3RoO2M8dTsrK2Mpcy52YWx1ZSs9bFtjXS52YWx1ZTtzLmRpY2U/bU0ocyxuLGkscixpKz0oby1pKSpzLnZhbHVlL3ApOlRNKHMsbixpLG4rPShyLW4pKnMudmFsdWUvcCxvKSxwLT1zLnZhbHVlfWVsc2UgdC5fc3F1YXJpZnk9YT1BTShlLHQsbixpLHIsbyksYS5yYXRpbz1lfXJldHVybiBuLnJhdGlvPWZ1bmN0aW9uKGUpe3JldHVybiB0KChlPStlKT4xP2U6MSl9LG59KShDTSk7ZnVuY3Rpb24gUE0odCxlLG4pe3JldHVybihlWzBdLXRbMF0pKihuWzFdLXRbMV0pLShlWzFdLXRbMV0pKihuWzBdLXRbMF0pfWZ1bmN0aW9uIE5NKHQsZSl7cmV0dXJuIHRbMF0tZVswXXx8dFsxXS1lWzFdfWZ1bmN0aW9uIElNKHQpe2Zvcih2YXIgZT10Lmxlbmd0aCxuPVswLDFdLGk9MixyPTI7cjxlOysrcil7Zm9yKDtpPjEmJlBNKHRbbltpLTJdXSx0W25baS0xXV0sdFtyXSk8PTA7KS0taTtuW2krK109cn1yZXR1cm4gbi5zbGljZSgwLGkpfWZ1bmN0aW9uIFJNKCl7cmV0dXJuIE1hdGgucmFuZG9tKCl9dmFyIE9NPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCxuKXtyZXR1cm4gdD1udWxsPT10PzA6K3Qsbj1udWxsPT1uPzE6K24sMT09PWFyZ3VtZW50cy5sZW5ndGg/KG49dCx0PTApOm4tPXQsZnVuY3Rpb24oKXtyZXR1cm4gZSgpKm4rdH19cmV0dXJuIG4uc291cmNlPXQsbn0pKFJNKSx6TT0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQsbil7dmFyIGkscjtyZXR1cm4gdD1udWxsPT10PzA6K3Qsbj1udWxsPT1uPzE6K24sZnVuY3Rpb24oKXt2YXIgbztpZihudWxsIT1pKW89aSxpPW51bGw7ZWxzZSBkb3tpPTIqZSgpLTEsbz0yKmUoKS0xLHI9aSppK28qb313aGlsZSghcnx8cj4xKTtyZXR1cm4gdCtuKm8qTWF0aC5zcXJ0KC0yKk1hdGgubG9nKHIpL3IpfX1yZXR1cm4gbi5zb3VyY2U9dCxufSkoUk0pLERNPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4oKXt2YXIgdD16TS5zb3VyY2UoZSkuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBNYXRoLmV4cCh0KCkpfX1yZXR1cm4gbi5zb3VyY2U9dCxufSkoUk0pLEJNPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBuPTAsaT0wO2k8dDsrK2kpbis9ZSgpO3JldHVybiBufX1yZXR1cm4gbi5zb3VyY2U9dCxufSkoUk0pLEhNPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7dmFyIG49Qk0uc291cmNlKGUpKHQpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuKCkvdH19cmV0dXJuIG4uc291cmNlPXQsbn0pKFJNKSxGTT0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybi1NYXRoLmxvZygxLWUoKSkvdH19cmV0dXJuIG4uc291cmNlPXQsbn0pKFJNKTtmdW5jdGlvbiBWTSh0LGUpe3N3aXRjaChhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnRoaXMucmFuZ2UodCk7YnJlYWs7ZGVmYXVsdDp0aGlzLnJhbmdlKGUpLmRvbWFpbih0KX1yZXR1cm4gdGhpc31mdW5jdGlvbiBVTSh0LGUpe3N3aXRjaChhcmd1bWVudHMubGVuZ3RoKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnRoaXMuaW50ZXJwb2xhdG9yKHQpO2JyZWFrO2RlZmF1bHQ6dGhpcy5pbnRlcnBvbGF0b3IoZSkuZG9tYWluKHQpfXJldHVybiB0aGlzfXZhciBqTT1BcnJheS5wcm90b3R5cGUsR009ak0ubWFwLFdNPWpNLnNsaWNlLHFNPXtuYW1lOiJpbXBsaWNpdCJ9O2Z1bmN0aW9uIFlNKCl7dmFyIHQ9amcoKSxlPVtdLG49W10saT1xTTtmdW5jdGlvbiByKHIpe3ZhciBvPXIrIiIsYT10LmdldChvKTtpZighYSl7aWYoaSE9PXFNKXJldHVybiBpO3Quc2V0KG8sYT1lLnB1c2gocikpfXJldHVybiBuWyhhLTEpJW4ubGVuZ3RoXX1yZXR1cm4gci5kb21haW49ZnVuY3Rpb24obil7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGUuc2xpY2UoKTtlPVtdLHQ9amcoKTtmb3IodmFyIGksbyxhPS0xLHM9bi5sZW5ndGg7KythPHM7KXQuaGFzKG89KGk9blthXSkrIiIpfHx0LnNldChvLGUucHVzaChpKSk7cmV0dXJuIHJ9LHIucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49V00uY2FsbCh0KSxyKTpuLnNsaWNlKCl9LHIudW5rbm93bj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT10LHIpOml9LHIuY29weT1mdW5jdGlvbigpe3JldHVybiBZTShlLG4pLnVua25vd24oaSl9LFZNLmFwcGx5KHIsYXJndW1lbnRzKSxyfWZ1bmN0aW9uIFhNKCl7dmFyIHQsZSxuPVlNKCkudW5rbm93bih2b2lkIDApLGk9bi5kb21haW4scj1uLnJhbmdlLG89WzAsMV0sYT0hMSxzPTAsbD0wLGM9LjU7ZnVuY3Rpb24gdSgpe3ZhciBuPWkoKS5sZW5ndGgsdT1vWzFdPG9bMF0saD1vW3UtMF0sZD1vWzEtdV07dD0oZC1oKS9NYXRoLm1heCgxLG4tcysyKmwpLGEmJih0PU1hdGguZmxvb3IodCkpLGgrPShkLWgtdCoobi1zKSkqYyxlPXQqKDEtcyksYSYmKGg9TWF0aC5yb3VuZChoKSxlPU1hdGgucm91bmQoZSkpO3ZhciBwPUtsKG4pLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGgrdCplfSkpO3JldHVybiByKHU/cC5yZXZlcnNlKCk6cCl9cmV0dXJuIGRlbGV0ZSBuLnVua25vd24sbi5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGkodCksdSgpKTppKCl9LG4ucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89Wyt0WzBdLCt0WzFdXSx1KCkpOm8uc2xpY2UoKX0sbi5yYW5nZVJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBvPVsrdFswXSwrdFsxXV0sYT0hMCx1KCl9LG4uYmFuZHdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIGV9LG4uc3RlcD1mdW5jdGlvbigpe3JldHVybiB0fSxuLnJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSEhdCx1KCkpOmF9LG4ucGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz1NYXRoLm1pbigxLGw9K3QpLHUoKSk6c30sbi5wYWRkaW5nSW5uZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9TWF0aC5taW4oMSx0KSx1KCkpOnN9LG4ucGFkZGluZ091dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhsPSt0LHUoKSk6bH0sbi5hbGlnbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz1NYXRoLm1heCgwLE1hdGgubWluKDEsdCkpLHUoKSk6Y30sbi5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIFhNKGkoKSxvKS5yb3VuZChhKS5wYWRkaW5nSW5uZXIocykucGFkZGluZ091dGVyKGwpLmFsaWduKGMpfSxWTS5hcHBseSh1KCksYXJndW1lbnRzKX1mdW5jdGlvbiAkTSh0KXt2YXIgZT10LmNvcHk7cmV0dXJuIHQucGFkZGluZz10LnBhZGRpbmdPdXRlcixkZWxldGUgdC5wYWRkaW5nSW5uZXIsZGVsZXRlIHQucGFkZGluZ091dGVyLHQuY29weT1mdW5jdGlvbigpe3JldHVybiAkTShlKCkpfSx0fWZ1bmN0aW9uIEtNKCl7cmV0dXJuICRNKFhNLmFwcGx5KG51bGwsYXJndW1lbnRzKS5wYWRkaW5nSW5uZXIoMSkpfWZ1bmN0aW9uIFpNKHQpe3JldHVybit0fXZhciBKTT1bMCwxXTtmdW5jdGlvbiBRTSh0KXtyZXR1cm4gdH1mdW5jdGlvbiB0RSh0LGUpe3JldHVybihlLT10PSt0KT9mdW5jdGlvbihuKXtyZXR1cm4obi10KS9lfTooZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19KShpc05hTihlKT9OYU46LjUpfWZ1bmN0aW9uIGVFKHQpe3ZhciBlLG49dFswXSxpPXRbdC5sZW5ndGgtMV07cmV0dXJuIG4+aSYmKGU9bixuPWksaT1lKSxmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5tYXgobixNYXRoLm1pbihpLHQpKX19ZnVuY3Rpb24gbkUodCxlLG4pe3ZhciBpPXRbMF0scj10WzFdLG89ZVswXSxhPWVbMV07cmV0dXJuIHI8aT8oaT10RShyLGkpLG89bihhLG8pKTooaT10RShpLHIpLG89bihvLGEpKSxmdW5jdGlvbih0KXtyZXR1cm4gbyhpKHQpKX19ZnVuY3Rpb24gaUUodCxlLG4pe3ZhciBpPU1hdGgubWluKHQubGVuZ3RoLGUubGVuZ3RoKS0xLHI9bmV3IEFycmF5KGkpLG89bmV3IEFycmF5KGkpLGE9LTE7Zm9yKHRbaV08dFswXSYmKHQ9dC5zbGljZSgpLnJldmVyc2UoKSxlPWUuc2xpY2UoKS5yZXZlcnNlKCkpOysrYTxpOylyW2FdPXRFKHRbYV0sdFthKzFdKSxvW2FdPW4oZVthXSxlW2ErMV0pO3JldHVybiBmdW5jdGlvbihlKXt2YXIgbj1EbCh0LGUsMSxpKS0xO3JldHVybiBvW25dKHJbbl0oZSkpfX1mdW5jdGlvbiByRSh0LGUpe3JldHVybiBlLmRvbWFpbih0LmRvbWFpbigpKS5yYW5nZSh0LnJhbmdlKCkpLmludGVycG9sYXRlKHQuaW50ZXJwb2xhdGUoKSkuY2xhbXAodC5jbGFtcCgpKS51bmtub3duKHQudW5rbm93bigpKX1mdW5jdGlvbiBvRSgpe3ZhciB0LGUsbixpLHIsbyxhPUpNLHM9Sk0sbD1jcCxjPVFNO2Z1bmN0aW9uIHUoKXtyZXR1cm4gaT1NYXRoLm1pbihhLmxlbmd0aCxzLmxlbmd0aCk+Mj9pRTpuRSxyPW89bnVsbCxofWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGlzTmFOKGU9K2UpP246KHJ8fChyPWkoYS5tYXAodCkscyxsKSkpKHQoYyhlKSkpfXJldHVybiBoLmludmVydD1mdW5jdGlvbihuKXtyZXR1cm4gYyhlKChvfHwobz1pKHMsYS5tYXAodCkscnApKSkobikpKX0saC5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9R00uY2FsbCh0LFpNKSxjPT09UU18fChjPWVFKGEpKSx1KCkpOmEuc2xpY2UoKX0saC5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz1XTS5jYWxsKHQpLHUoKSk6cy5zbGljZSgpfSxoLnJhbmdlUm91bmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHM9V00uY2FsbCh0KSxsPXVwLHUoKX0saC5jbGFtcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz10P2VFKGEpOlFNLGgpOmMhPT1RTX0saC5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD10LHUoKSk6bH0saC51bmtub3duPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsaCk6bn0sZnVuY3Rpb24obixpKXtyZXR1cm4gdD1uLGU9aSx1KCl9fWZ1bmN0aW9uIGFFKHQsZSl7cmV0dXJuIG9FKCkodCxlKX1mdW5jdGlvbiBzRSh0LGUsbixpKXt2YXIgcixvPW5jKHQsZSxuKTtzd2l0Y2goKGk9a3kobnVsbD09aT8iLGYiOmkpKS50eXBlKXtjYXNlInMiOnZhciBhPU1hdGgubWF4KE1hdGguYWJzKHQpLE1hdGguYWJzKGUpKTtyZXR1cm4gbnVsbCE9aS5wcmVjaXNpb258fGlzTmFOKHI9R3kobyxhKSl8fChpLnByZWNpc2lvbj1yKSxCeShpLGEpO2Nhc2UiIjpjYXNlImUiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlInIiOm51bGwhPWkucHJlY2lzaW9ufHxpc05hTihyPVd5KG8sTWF0aC5tYXgoTWF0aC5hYnModCksTWF0aC5hYnMoZSkpKSl8fChpLnByZWNpc2lvbj1yLSgiZSI9PT1pLnR5cGUpKTticmVhaztjYXNlImYiOmNhc2UiJSI6bnVsbCE9aS5wcmVjaXNpb258fGlzTmFOKHI9ankobykpfHwoaS5wcmVjaXNpb249ci0yKigiJSI9PT1pLnR5cGUpKX1yZXR1cm4gRHkoaSl9ZnVuY3Rpb24gbEUodCl7dmFyIGU9dC5kb21haW47cmV0dXJuIHQudGlja3M9ZnVuY3Rpb24odCl7dmFyIG49ZSgpO3JldHVybiB0YyhuWzBdLG5bbi5sZW5ndGgtMV0sbnVsbD09dD8xMDp0KX0sdC50aWNrRm9ybWF0PWZ1bmN0aW9uKHQsbil7dmFyIGk9ZSgpO3JldHVybiBzRShpWzBdLGlbaS5sZW5ndGgtMV0sbnVsbD09dD8xMDp0LG4pfSx0Lm5pY2U9ZnVuY3Rpb24obil7bnVsbD09biYmKG49MTApO3ZhciBpLHI9ZSgpLG89MCxhPXIubGVuZ3RoLTEscz1yW29dLGw9clthXTtyZXR1cm4gbDxzJiYoaT1zLHM9bCxsPWksaT1vLG89YSxhPWkpLChpPWVjKHMsbCxuKSk+MD9pPWVjKHM9TWF0aC5mbG9vcihzL2kpKmksbD1NYXRoLmNlaWwobC9pKSppLG4pOmk8MCYmKGk9ZWMocz1NYXRoLmNlaWwocyppKS9pLGw9TWF0aC5mbG9vcihsKmkpL2ksbikpLGk+MD8ocltvXT1NYXRoLmZsb29yKHMvaSkqaSxyW2FdPU1hdGguY2VpbChsL2kpKmksZShyKSk6aTwwJiYocltvXT1NYXRoLmNlaWwocyppKS9pLHJbYV09TWF0aC5mbG9vcihsKmkpL2ksZShyKSksdH0sdH1mdW5jdGlvbiBjRSgpe3ZhciB0PWFFKFFNLFFNKTtyZXR1cm4gdC5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHJFKHQsY0UoKSl9LFZNLmFwcGx5KHQsYXJndW1lbnRzKSxsRSh0KX1mdW5jdGlvbiB1RSh0LGUpe3ZhciBuLGk9MCxyPSh0PXQuc2xpY2UoKSkubGVuZ3RoLTEsbz10W2ldLGE9dFtyXTtyZXR1cm4gYTxvJiYobj1pLGk9cixyPW4sbj1vLG89YSxhPW4pLHRbaV09ZS5mbG9vcihvKSx0W3JdPWUuY2VpbChhKSx0fWZ1bmN0aW9uIGhFKHQpe3JldHVybiBNYXRoLmxvZyh0KX1mdW5jdGlvbiBkRSh0KXtyZXR1cm4gTWF0aC5leHAodCl9ZnVuY3Rpb24gcEUodCl7cmV0dXJuLU1hdGgubG9nKC10KX1mdW5jdGlvbiBmRSh0KXtyZXR1cm4tTWF0aC5leHAoLXQpfWZ1bmN0aW9uIG1FKHQpe3JldHVybiBpc0Zpbml0ZSh0KT8rKCIxZSIrdCk6dDwwPzA6dH1mdW5jdGlvbiBnRSh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuLXQoLWUpfX1mdW5jdGlvbiBfRSh0KXt2YXIgZSxuLGk9dChoRSxkRSkscj1pLmRvbWFpbixvPTEwO2Z1bmN0aW9uIGEoKXtyZXR1cm4gZT0oZnVuY3Rpb24gYSh0KXtyZXR1cm4gdD09PU1hdGguRT9NYXRoLmxvZzoxMD09PXQmJk1hdGgubG9nMTB8fDI9PT10JiZNYXRoLmxvZzJ8fCh0PU1hdGgubG9nKHQpLGZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLmxvZyhlKS90fSl9KShvKSxuPShmdW5jdGlvbiBzKHQpe3JldHVybiAxMD09PXQ/bUU6dD09PU1hdGguRT9NYXRoLmV4cDpmdW5jdGlvbihlKXtyZXR1cm4gTWF0aC5wb3codCxlKX19KShvKSxyKClbMF08MD8oZT1nRShlKSxuPWdFKG4pLHQocEUsZkUpKTp0KGhFLGRFKSxpfXJldHVybiBpLmJhc2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89K3QsYSgpKTpvfSxpLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocih0KSxhKCkpOnIoKX0saS50aWNrcz1mdW5jdGlvbih0KXt2YXIgaSxhPXIoKSxzPWFbMF0sbD1hW2EubGVuZ3RoLTFdOyhpPWw8cykmJihkPXMscz1sLGw9ZCk7dmFyIGMsdSxoLGQ9ZShzKSxwPWUobCksZj1udWxsPT10PzEwOit0LG09W107aWYoIShvJTEpJiZwLWQ8Zil7aWYoZD1NYXRoLnJvdW5kKGQpLTEscD1NYXRoLnJvdW5kKHApKzEscz4wKXtmb3IoO2Q8cDsrK2QpZm9yKHU9MSxjPW4oZCk7dTxvOysrdSlpZighKChoPWMqdSk8cykpe2lmKGg+bClicmVhazttLnB1c2goaCl9fWVsc2UgZm9yKDtkPHA7KytkKWZvcih1PW8tMSxjPW4oZCk7dT49MTstLXUpaWYoISgoaD1jKnUpPHMpKXtpZihoPmwpYnJlYWs7bS5wdXNoKGgpfX1lbHNlIG09dGMoZCxwLE1hdGgubWluKHAtZCxmKSkubWFwKG4pO3JldHVybiBpP20ucmV2ZXJzZSgpOm19LGkudGlja0Zvcm1hdD1mdW5jdGlvbih0LHIpe2lmKG51bGw9PXImJihyPTEwPT09bz8iLjBlIjoiLCIpLCJmdW5jdGlvbiIhPXR5cGVvZiByJiYocj1EeShyKSksdD09PTEvMClyZXR1cm4gcjtudWxsPT10JiYodD0xMCk7dmFyIGE9TWF0aC5tYXgoMSxvKnQvaS50aWNrcygpLmxlbmd0aCk7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBpPXQvbihNYXRoLnJvdW5kKGUodCkpKTtyZXR1cm4gaSpvPG8tLjUmJihpKj1vKSxpPD1hP3IodCk6IiJ9fSxpLm5pY2U9ZnVuY3Rpb24oKXtyZXR1cm4gcih1RShyKCkse2Zsb29yOmZ1bmN0aW9uKHQpe3JldHVybiBuKE1hdGguZmxvb3IoZSh0KSkpfSxjZWlsOmZ1bmN0aW9uKHQpe3JldHVybiBuKE1hdGguY2VpbChlKHQpKSl9fSkpfSxpfWZ1bmN0aW9uIHlFKCl7dmFyIHQ9X0Uob0UoKSkuZG9tYWluKFsxLDEwXSk7cmV0dXJuIHQuY29weT1mdW5jdGlvbigpe3JldHVybiByRSh0LHlFKCkpLmJhc2UodC5iYXNlKCkpfSxWTS5hcHBseSh0LGFyZ3VtZW50cyksdH1mdW5jdGlvbiB2RSh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGguc2lnbihlKSpNYXRoLmxvZzFwKE1hdGguYWJzKGUvdCkpfX1mdW5jdGlvbiBiRSh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGguc2lnbihlKSpNYXRoLmV4cG0xKE1hdGguYWJzKGUpKSp0fX1mdW5jdGlvbiB4RSh0KXt2YXIgZT0xLG49dCh2RShlKSxiRShlKSk7cmV0dXJuIG4uY29uc3RhbnQ9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dCh2RShlPStuKSxiRShlKSk6ZX0sbEUobil9ZnVuY3Rpb24gd0UodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlPDA/LU1hdGgucG93KC1lLHQpOk1hdGgucG93KGUsdCl9fWZ1bmN0aW9uIFNFKHQpe3JldHVybiB0PDA/LU1hdGguc3FydCgtdCk6TWF0aC5zcXJ0KHQpfWZ1bmN0aW9uIE1FKHQpe3JldHVybiB0PDA/LXQqdDp0KnR9ZnVuY3Rpb24gRUUodCl7dmFyIGU9dChRTSxRTSksbj0xO2Z1bmN0aW9uIGkoKXtyZXR1cm4gMT09PW4/dChRTSxRTSk6LjU9PT1uP3QoU0UsTUUpOnQod0Uobiksd0UoMS9uKSl9cmV0dXJuIGUuZXhwb25lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3QsaSgpKTpufSxsRShlKX1mdW5jdGlvbiBURSgpe3ZhciB0PUVFKG9FKCkpO3JldHVybiB0LmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gckUodCxURSgpKS5leHBvbmVudCh0LmV4cG9uZW50KCkpfSxWTS5hcHBseSh0LGFyZ3VtZW50cyksdH1mdW5jdGlvbiBDRSgpe3ZhciB0LGU9W10sbj1bXSxpPVtdO2Z1bmN0aW9uIHIoKXt2YXIgdD0wLHI9TWF0aC5tYXgoMSxuLmxlbmd0aCk7Zm9yKGk9bmV3IEFycmF5KHItMSk7Kyt0PHI7KWlbdC0xXT1yYyhlLHQvcik7cmV0dXJuIG99ZnVuY3Rpb24gbyhlKXtyZXR1cm4gaXNOYU4oZT0rZSk/dDpuW0RsKGksZSldfXJldHVybiBvLmludmVydEV4dGVudD1mdW5jdGlvbih0KXt2YXIgcj1uLmluZGV4T2YodCk7cmV0dXJuIHI8MD9bTmFOLE5hTl06W3I+MD9pW3ItMV06ZVswXSxyPGkubGVuZ3RoP2lbcl06ZVtlLmxlbmd0aC0xXV19LG8uZG9tYWluPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBlLnNsaWNlKCk7ZT1bXTtmb3IodmFyIG4saT0wLG89dC5sZW5ndGg7aTxvOysraSludWxsPT0obj10W2ldKXx8aXNOYU4obj0rbil8fGUucHVzaChuKTtyZXR1cm4gZS5zb3J0KFJsKSxyKCl9LG8ucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49V00uY2FsbCh0KSxyKCkpOm4uc2xpY2UoKX0sby51bmtub3duPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUsbyk6dH0sby5xdWFudGlsZXM9ZnVuY3Rpb24oKXtyZXR1cm4gaS5zbGljZSgpfSxvLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gQ0UoKS5kb21haW4oZSkucmFuZ2UobikudW5rbm93bih0KX0sVk0uYXBwbHkobyxhcmd1bWVudHMpfWZ1bmN0aW9uIEFFKCl7dmFyIHQsZT0wLG49MSxpPTEscj1bLjVdLG89WzAsMV07ZnVuY3Rpb24gYShlKXtyZXR1cm4gZTw9ZT9vW0RsKHIsZSwwLGkpXTp0fWZ1bmN0aW9uIHMoKXt2YXIgdD0tMTtmb3Iocj1uZXcgQXJyYXkoaSk7Kyt0PGk7KXJbdF09KCh0KzEpKm4tKHQtaSkqZSkvKGkrMSk7cmV0dXJuIGF9cmV0dXJuIGEuZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSt0WzBdLG49K3RbMV0scygpKTpbZSxuXX0sYS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0obz1XTS5jYWxsKHQpKS5sZW5ndGgtMSxzKCkpOm8uc2xpY2UoKX0sYS5pbnZlcnRFeHRlbnQ9ZnVuY3Rpb24odCl7dmFyIGE9by5pbmRleE9mKHQpO3JldHVybiBhPDA/W05hTixOYU5dOmE8MT9bZSxyWzBdXTphPj1pP1tyW2ktMV0sbl06W3JbYS0xXSxyW2FdXX0sYS51bmtub3duPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUsYSk6YX0sYS50aHJlc2hvbGRzPWZ1bmN0aW9uKCl7cmV0dXJuIHIuc2xpY2UoKX0sYS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIEFFKCkuZG9tYWluKFtlLG5dKS5yYW5nZShvKS51bmtub3duKHQpfSxWTS5hcHBseShsRShhKSxhcmd1bWVudHMpfXZhciBrRT1uZXcgRGF0ZSxMRT1uZXcgRGF0ZTtmdW5jdGlvbiBQRSh0LGUsbixpKXtmdW5jdGlvbiByKGUpe3JldHVybiB0KGU9MD09PWFyZ3VtZW50cy5sZW5ndGg/bmV3IERhdGU6bmV3IERhdGUoK2UpKSxlfXJldHVybiByLmZsb29yPWZ1bmN0aW9uKGUpe3JldHVybiB0KGU9bmV3IERhdGUoK2UpKSxlfSxyLmNlaWw9ZnVuY3Rpb24obil7cmV0dXJuIHQobj1uZXcgRGF0ZShuLTEpKSxlKG4sMSksdChuKSxufSxyLnJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXIodCksbj1yLmNlaWwodCk7cmV0dXJuIHQtZTxuLXQ/ZTpufSxyLm9mZnNldD1mdW5jdGlvbih0LG4pe3JldHVybiBlKHQ9bmV3IERhdGUoK3QpLG51bGw9PW4/MTpNYXRoLmZsb29yKG4pKSx0fSxyLnJhbmdlPWZ1bmN0aW9uKG4saSxvKXt2YXIgYSxzPVtdO2lmKG49ci5jZWlsKG4pLG89bnVsbD09bz8xOk1hdGguZmxvb3IobyksIShuPGkmJm8+MCkpcmV0dXJuIHM7ZG97cy5wdXNoKGE9bmV3IERhdGUoK24pKSxlKG4sbyksdChuKX13aGlsZShhPG4mJm48aSk7cmV0dXJuIHN9LHIuZmlsdGVyPWZ1bmN0aW9uKG4pe3JldHVybiBQRSgoZnVuY3Rpb24oZSl7aWYoZT49ZSlmb3IoO3QoZSksIW4oZSk7KWUuc2V0VGltZShlLTEpfSksKGZ1bmN0aW9uKHQsaSl7aWYodD49dClpZihpPDApZm9yKDsrK2k8PTA7KWZvcig7ZSh0LC0xKSwhbih0KTspO2Vsc2UgZm9yKDstLWk+PTA7KWZvcig7ZSh0LDEpLCFuKHQpOyk7fSkpfSxuJiYoci5jb3VudD1mdW5jdGlvbihlLGkpe3JldHVybiBrRS5zZXRUaW1lKCtlKSxMRS5zZXRUaW1lKCtpKSx0KGtFKSx0KExFKSxNYXRoLmZsb29yKG4oa0UsTEUpKX0sci5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP3IuZmlsdGVyKGk/ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSkldD09MH06ZnVuY3Rpb24oZSl7cmV0dXJuIHIuY291bnQoMCxlKSV0PT0wfSk6cjpudWxsfSkscn12YXIgTkU9UEUoKGZ1bmN0aW9uKCl7fSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUtdH0pKTtORS5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP1BFKChmdW5jdGlvbihlKXtlLnNldFRpbWUoTWF0aC5mbG9vcihlL3QpKnQpfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRUaW1lKCtlK24qdCl9KSwoZnVuY3Rpb24oZSxuKXtyZXR1cm4obi1lKS90fSkpOk5FOm51bGx9O3ZhciBJRT1ORSxSRT1ORS5yYW5nZSxPRT0xZTMsekU9NmU0LERFPTM2ZTUsQkU9ODY0ZTUsSEU9NjA0OGU1LEZFPVBFKChmdW5jdGlvbih0KXt0LnNldFRpbWUodC10LmdldE1pbGxpc2Vjb25kcygpKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VGltZSgrdCtlKk9FKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL09FfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ1NlY29uZHMoKX0pKSxWRT1GRSxVRT1GRS5yYW5nZSxqRT1QRSgoZnVuY3Rpb24odCl7dC5zZXRUaW1lKHQtdC5nZXRNaWxsaXNlY29uZHMoKS10LmdldFNlY29uZHMoKSpPRSl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFRpbWUoK3QrZSp6RSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS96RX0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRNaW51dGVzKCl9KSksR0U9akUsV0U9akUucmFuZ2UscUU9UEUoKGZ1bmN0aW9uKHQpe3Quc2V0VGltZSh0LXQuZ2V0TWlsbGlzZWNvbmRzKCktdC5nZXRTZWNvbmRzKCkqT0UtdC5nZXRNaW51dGVzKCkqekUpfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqREUpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvREV9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0SG91cnMoKX0pKSxZRT1xRSxYRT1xRS5yYW5nZSwkRT1QRSgoZnVuY3Rpb24odCl7dC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RGF0ZSh0LmdldERhdGUoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQtKGUuZ2V0VGltZXpvbmVPZmZzZXQoKS10LmdldFRpbWV6b25lT2Zmc2V0KCkpKnpFKS9CRX0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXREYXRlKCktMX0pKSxLRT0kRSxaRT0kRS5yYW5nZTtmdW5jdGlvbiBKRSh0KXtyZXR1cm4gUEUoKGZ1bmN0aW9uKGUpe2Uuc2V0RGF0ZShlLmdldERhdGUoKS0oZS5nZXREYXkoKSs3LXQpJTcpLGUuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldERhdGUodC5nZXREYXRlKCkrNyplKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQtKGUuZ2V0VGltZXpvbmVPZmZzZXQoKS10LmdldFRpbWV6b25lT2Zmc2V0KCkpKnpFKS9IRX0pKX12YXIgUUU9SkUoMCksdFQ9SkUoMSksZVQ9SkUoMiksblQ9SkUoMyksaVQ9SkUoNCksclQ9SkUoNSksb1Q9SkUoNiksYVQ9UUUucmFuZ2Usc1Q9dFQucmFuZ2UsbFQ9ZVQucmFuZ2UsY1Q9blQucmFuZ2UsdVQ9aVQucmFuZ2UsaFQ9clQucmFuZ2UsZFQ9b1QucmFuZ2UscFQ9UEUoKGZ1bmN0aW9uKHQpe3Quc2V0RGF0ZSgxKSx0LnNldEhvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRNb250aCh0LmdldE1vbnRoKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5nZXRNb250aCgpLXQuZ2V0TW9udGgoKSsxMiooZS5nZXRGdWxsWWVhcigpLXQuZ2V0RnVsbFllYXIoKSl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0TW9udGgoKX0pKSxmVD1wVCxtVD1wVC5yYW5nZSxnVD1QRSgoZnVuY3Rpb24odCl7dC5zZXRNb250aCgwLDEpLHQuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldEZ1bGxZZWFyKHQuZ2V0RnVsbFllYXIoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLmdldEZ1bGxZZWFyKCktdC5nZXRGdWxsWWVhcigpfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldEZ1bGxZZWFyKCl9KSk7Z1QuZXZlcnk9ZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9TWF0aC5mbG9vcih0KSkmJnQ+MD9QRSgoZnVuY3Rpb24oZSl7ZS5zZXRGdWxsWWVhcihNYXRoLmZsb29yKGUuZ2V0RnVsbFllYXIoKS90KSp0KSxlLnNldE1vbnRoKDAsMSksZS5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbihlLG4pe2Uuc2V0RnVsbFllYXIoZS5nZXRGdWxsWWVhcigpK24qdCl9KSk6bnVsbH07dmFyIF9UPWdULHlUPWdULnJhbmdlLHZUPVBFKChmdW5jdGlvbih0KXt0LnNldFVUQ1NlY29uZHMoMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VGltZSgrdCtlKnpFKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL3pFfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ01pbnV0ZXMoKX0pKSxiVD12VCx4VD12VC5yYW5nZSx3VD1QRSgoZnVuY3Rpb24odCl7dC5zZXRVVENNaW51dGVzKDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VGltZSgrdCtlKkRFKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL0RFfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ0hvdXJzKCl9KSksU1Q9d1QsTVQ9d1QucmFuZ2UsRVQ9UEUoKGZ1bmN0aW9uKHQpe3Quc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ0RhdGUodC5nZXRVVENEYXRlKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS9CRX0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENEYXRlKCktMX0pKSxUVD1FVCxDVD1FVC5yYW5nZTtmdW5jdGlvbiBBVCh0KXtyZXR1cm4gUEUoKGZ1bmN0aW9uKGUpe2Uuc2V0VVRDRGF0ZShlLmdldFVUQ0RhdGUoKS0oZS5nZXRVVENEYXkoKSs3LXQpJTcpLGUuc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ0RhdGUodC5nZXRVVENEYXRlKCkrNyplKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL0hFfSkpfXZhciBrVD1BVCgwKSxMVD1BVCgxKSxQVD1BVCgyKSxOVD1BVCgzKSxJVD1BVCg0KSxSVD1BVCg1KSxPVD1BVCg2KSx6VD1rVC5yYW5nZSxEVD1MVC5yYW5nZSxCVD1QVC5yYW5nZSxIVD1OVC5yYW5nZSxGVD1JVC5yYW5nZSxWVD1SVC5yYW5nZSxVVD1PVC5yYW5nZSxqVD1QRSgoZnVuY3Rpb24odCl7dC5zZXRVVENEYXRlKDEpLHQuc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ01vbnRoKHQuZ2V0VVRDTW9udGgoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLmdldFVUQ01vbnRoKCktdC5nZXRVVENNb250aCgpKzEyKihlLmdldFVUQ0Z1bGxZZWFyKCktdC5nZXRVVENGdWxsWWVhcigpKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENNb250aCgpfSkpLEdUPWpULFdUPWpULnJhbmdlLHFUPVBFKChmdW5jdGlvbih0KXt0LnNldFVUQ01vbnRoKDAsMSksdC5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VVRDRnVsbFllYXIodC5nZXRVVENGdWxsWWVhcigpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0VVRDRnVsbFllYXIoKS10LmdldFVUQ0Z1bGxZZWFyKCl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDRnVsbFllYXIoKX0pKTtxVC5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gaXNGaW5pdGUodD1NYXRoLmZsb29yKHQpKSYmdD4wP1BFKChmdW5jdGlvbihlKXtlLnNldFVUQ0Z1bGxZZWFyKE1hdGguZmxvb3IoZS5nZXRVVENGdWxsWWVhcigpL3QpKnQpLGUuc2V0VVRDTW9udGgoMCwxKSxlLnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRVVENGdWxsWWVhcihlLmdldFVUQ0Z1bGxZZWFyKCkrbip0KX0pKTpudWxsfTt2YXIgWVQ9cVQsWFQ9cVQucmFuZ2U7ZnVuY3Rpb24gJFQodCl7aWYoMDw9dC55JiZ0Lnk8MTAwKXt2YXIgZT1uZXcgRGF0ZSgtMSx0Lm0sdC5kLHQuSCx0Lk0sdC5TLHQuTCk7cmV0dXJuIGUuc2V0RnVsbFllYXIodC55KSxlfXJldHVybiBuZXcgRGF0ZSh0LnksdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpfWZ1bmN0aW9uIEtUKHQpe2lmKDA8PXQueSYmdC55PDEwMCl7dmFyIGU9bmV3IERhdGUoRGF0ZS5VVEMoLTEsdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpKTtyZXR1cm4gZS5zZXRVVENGdWxsWWVhcih0LnkpLGV9cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKHQueSx0Lm0sdC5kLHQuSCx0Lk0sdC5TLHQuTCkpfWZ1bmN0aW9uIFpUKHQsZSxuKXtyZXR1cm57eTp0LG06ZSxkOm4sSDowLE06MCxTOjAsTDowfX1mdW5jdGlvbiBKVCh0KXt2YXIgZT10LmRhdGVUaW1lLG49dC5kYXRlLGk9dC50aW1lLHI9dC5wZXJpb2RzLG89dC5kYXlzLGE9dC5zaG9ydERheXMscz10Lm1vbnRocyxsPXQuc2hvcnRNb250aHMsYz11QyhyKSx1PWhDKHIpLGg9dUMobyksZD1oQyhvKSxwPXVDKGEpLGY9aEMoYSksbT11QyhzKSxnPWhDKHMpLF89dUMobCkseT1oQyhsKSx2PXthOmZ1bmN0aW9uIGIodCl7cmV0dXJuIGFbdC5nZXREYXkoKV19LEE6ZnVuY3Rpb24geCh0KXtyZXR1cm4gb1t0LmdldERheSgpXX0sYjpmdW5jdGlvbiB3KHQpe3JldHVybiBsW3QuZ2V0TW9udGgoKV19LEI6ZnVuY3Rpb24gUyh0KXtyZXR1cm4gc1t0LmdldE1vbnRoKCldfSxjOm51bGwsZDpOQyxlOk5DLGY6REMsZzpYQyxHOktDLEg6SUMsSTpSQyxqOk9DLEw6ekMsbTpCQyxNOkhDLHA6ZnVuY3Rpb24gTSh0KXtyZXR1cm4gclsrKHQuZ2V0SG91cnMoKT49MTIpXX0scTpmdW5jdGlvbiBFKHQpe3JldHVybiAxK35+KHQuZ2V0TW9udGgoKS8zKX0sUTp2QSxzOmJBLFM6RkMsdTpWQyxVOlVDLFY6R0MsdzpXQyxXOnFDLHg6bnVsbCxYOm51bGwseTpZQyxZOiRDLFo6WkMsIiUiOnlBfSxUPXthOmZ1bmN0aW9uIEModCl7cmV0dXJuIGFbdC5nZXRVVENEYXkoKV19LEE6ZnVuY3Rpb24gQSh0KXtyZXR1cm4gb1t0LmdldFVUQ0RheSgpXX0sYjpmdW5jdGlvbiBrKHQpe3JldHVybiBsW3QuZ2V0VVRDTW9udGgoKV19LEI6ZnVuY3Rpb24gTCh0KXtyZXR1cm4gc1t0LmdldFVUQ01vbnRoKCldfSxjOm51bGwsZDpKQyxlOkpDLGY6aUEsZzpmQSxHOmdBLEg6UUMsSTp0QSxqOmVBLEw6bkEsbTpyQSxNOm9BLHA6ZnVuY3Rpb24gUCh0KXtyZXR1cm4gclsrKHQuZ2V0VVRDSG91cnMoKT49MTIpXX0scTpmdW5jdGlvbiBOKHQpe3JldHVybiAxK35+KHQuZ2V0VVRDTW9udGgoKS8zKX0sUTp2QSxzOmJBLFM6YUEsdTpzQSxVOmxBLFY6dUEsdzpoQSxXOmRBLHg6bnVsbCxYOm51bGwseTpwQSxZOm1BLFo6X0EsIiUiOnlBfSxJPXthOmZ1bmN0aW9uIFIodCxlLG4pe3ZhciBpPXAuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC53PWZbaVswXS50b0xvd2VyQ2FzZSgpXSxuK2lbMF0ubGVuZ3RoKTotMX0sQTpmdW5jdGlvbiBPKHQsZSxuKXt2YXIgaT1oLmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIGk/KHQudz1kW2lbMF0udG9Mb3dlckNhc2UoKV0sbitpWzBdLmxlbmd0aCk6LTF9LGI6ZnVuY3Rpb24geih0LGUsbil7dmFyIGk9Xy5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0Lm09eVtpWzBdLnRvTG93ZXJDYXNlKCldLG4raVswXS5sZW5ndGgpOi0xfSxCOmZ1bmN0aW9uIEQodCxlLG4pe3ZhciBpPW0uZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC5tPWdbaVswXS50b0xvd2VyQ2FzZSgpXSxuK2lbMF0ubGVuZ3RoKTotMX0sYzpmdW5jdGlvbiBCKHQsbixpKXtyZXR1cm4gRyh0LGUsbixpKX0sZDp3QyxlOndDLGY6QUMsZzp5QyxHOl9DLEg6TUMsSTpNQyxqOlNDLEw6Q0MsbTp4QyxNOkVDLHA6ZnVuY3Rpb24gSCh0LGUsbil7dmFyIGk9Yy5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0LnA9dVtpWzBdLnRvTG93ZXJDYXNlKCldLG4raVswXS5sZW5ndGgpOi0xfSxxOmJDLFE6TEMsczpQQyxTOlRDLHU6cEMsVTpmQyxWOm1DLHc6ZEMsVzpnQyx4OmZ1bmN0aW9uIEYodCxlLGkpe3JldHVybiBHKHQsbixlLGkpfSxYOmZ1bmN0aW9uIFYodCxlLG4pe3JldHVybiBHKHQsaSxlLG4pfSx5OnlDLFk6X0MsWjp2QywiJSI6a0N9O2Z1bmN0aW9uIFUodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGkscixvLGE9W10scz0tMSxsPTAsYz10Lmxlbmd0aDtmb3IobiBpbnN0YW5jZW9mIERhdGV8fChuPW5ldyBEYXRlKCtuKSk7KytzPGM7KTM3PT09dC5jaGFyQ29kZUF0KHMpJiYoYS5wdXNoKHQuc2xpY2UobCxzKSksbnVsbCE9KHI9ckNbaT10LmNoYXJBdCgrK3MpXSk/aT10LmNoYXJBdCgrK3MpOnI9ImUiPT09aT8iICI6IjAiLChvPWVbaV0pJiYoaT1vKG4scikpLGEucHVzaChpKSxsPXMrMSk7cmV0dXJuIGEucHVzaCh0LnNsaWNlKGwscykpLGEuam9pbigiIil9fWZ1bmN0aW9uIGoodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGkscixvPVpUKDE5MDAsdm9pZCAwLDEpO2lmKEcobyx0LG4rPSIiLDApIT1uLmxlbmd0aClyZXR1cm4gbnVsbDtpZigiUSJpbiBvKXJldHVybiBuZXcgRGF0ZShvLlEpO2lmKCJzImluIG8pcmV0dXJuIG5ldyBEYXRlKDFlMypvLnMrKCJMImluIG8/by5MOjApKTtpZihlJiYhKCJaImluIG8pJiYoby5aPTApLCJwImluIG8mJihvLkg9by5IJTEyKzEyKm8ucCksdm9pZCAwPT09by5tJiYoby5tPSJxImluIG8/by5xOjApLCJWImluIG8pe2lmKG8uVjwxfHxvLlY+NTMpcmV0dXJuIG51bGw7InciaW4gb3x8KG8udz0xKSwiWiJpbiBvPyhyPShpPUtUKFpUKG8ueSwwLDEpKSkuZ2V0VVRDRGF5KCksaT1yPjR8fDA9PT1yP0xULmNlaWwoaSk6TFQoaSksaT1UVC5vZmZzZXQoaSw3KihvLlYtMSkpLG8ueT1pLmdldFVUQ0Z1bGxZZWFyKCksby5tPWkuZ2V0VVRDTW9udGgoKSxvLmQ9aS5nZXRVVENEYXRlKCkrKG8udys2KSU3KToocj0oaT0kVChaVChvLnksMCwxKSkpLmdldERheSgpLGk9cj40fHwwPT09cj90VC5jZWlsKGkpOnRUKGkpLGk9S0Uub2Zmc2V0KGksNyooby5WLTEpKSxvLnk9aS5nZXRGdWxsWWVhcigpLG8ubT1pLmdldE1vbnRoKCksby5kPWkuZ2V0RGF0ZSgpKyhvLncrNiklNyl9ZWxzZSgiVyJpbiBvfHwiVSJpbiBvKSYmKCJ3ImluIG98fChvLnc9InUiaW4gbz9vLnUlNzoiVyJpbiBvPzE6MCkscj0iWiJpbiBvP0tUKFpUKG8ueSwwLDEpKS5nZXRVVENEYXkoKTokVChaVChvLnksMCwxKSkuZ2V0RGF5KCksby5tPTAsby5kPSJXImluIG8/KG8udys2KSU3Kzcqby5XLShyKzUpJTc6by53Kzcqby5VLShyKzYpJTcpO3JldHVybiJaImluIG8/KG8uSCs9by5aLzEwMHwwLG8uTSs9by5aJTEwMCxLVChvKSk6JFQobyl9fWZ1bmN0aW9uIEcodCxlLG4saSl7Zm9yKHZhciByLG8sYT0wLHM9ZS5sZW5ndGgsbD1uLmxlbmd0aDthPHM7KXtpZihpPj1sKXJldHVybi0xO2lmKDM3PT09KHI9ZS5jaGFyQ29kZUF0KGErKykpKXtpZihyPWUuY2hhckF0KGErKyksIShvPUlbciBpbiByQz9lLmNoYXJBdChhKyspOnJdKXx8KGk9byh0LG4saSkpPDApcmV0dXJuLTF9ZWxzZSBpZihyIT1uLmNoYXJDb2RlQXQoaSsrKSlyZXR1cm4tMX1yZXR1cm4gaX1yZXR1cm4gdi54PVUobix2KSx2Llg9VShpLHYpLHYuYz1VKGUsdiksVC54PVUobixUKSxULlg9VShpLFQpLFQuYz1VKGUsVCkse2Zvcm1hdDpmdW5jdGlvbih0KXt2YXIgZT1VKHQrPSIiLHYpO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9LHBhcnNlOmZ1bmN0aW9uKHQpe3ZhciBlPWoodCs9IiIsITEpO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9LHV0Y0Zvcm1hdDpmdW5jdGlvbih0KXt2YXIgZT1VKHQrPSIiLFQpO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9LHV0Y1BhcnNlOmZ1bmN0aW9uKHQpe3ZhciBlPWoodCs9IiIsITApO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9fX12YXIgUVQsdEMsZUMsbkMsaUMsckM9eyItIjoiIixfOiIgIiwwOiIwIn0sb0M9L15ccypcZCsvLGFDPS9eJS8sc0M9L1tcXF4kKis/fFtcXSgpLnt9XS9nO2Z1bmN0aW9uIGxDKHQsZSxuKXt2YXIgaT10PDA/Ii0iOiIiLHI9KGk/LXQ6dCkrIiIsbz1yLmxlbmd0aDtyZXR1cm4gaSsobzxuP25ldyBBcnJheShuLW8rMSkuam9pbihlKStyOnIpfWZ1bmN0aW9uIGNDKHQpe3JldHVybiB0LnJlcGxhY2Uoc0MsIlxcJCYiKX1mdW5jdGlvbiB1Qyh0KXtyZXR1cm4gbmV3IFJlZ0V4cCgiXig/OiIrdC5tYXAoY0MpLmpvaW4oInwiKSsiKSIsImkiKX1mdW5jdGlvbiBoQyh0KXtmb3IodmFyIGU9e30sbj0tMSxpPXQubGVuZ3RoOysrbjxpOyllW3Rbbl0udG9Mb3dlckNhc2UoKV09bjtyZXR1cm4gZX1mdW5jdGlvbiBkQyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbisxKSk7cmV0dXJuIGk/KHQudz0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBwQyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbisxKSk7cmV0dXJuIGk/KHQudT0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBmQyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuVT0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBtQyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuVj0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBnQyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuVz0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBfQyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbis0KSk7cmV0dXJuIGk/KHQueT0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB5Qyh0LGUsbil7dmFyIGk9b0MuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQueT0raVswXSsoK2lbMF0+Njg/MTkwMDoyZTMpLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHZDKHQsZSxuKXt2YXIgaT0vXihaKXwoWystXVxkXGQpKD86Oj8oXGRcZCkpPy8uZXhlYyhlLnNsaWNlKG4sbis2KSk7cmV0dXJuIGk/KHQuWj1pWzFdPzA6LShpWzJdKyhpWzNdfHwiMDAiKSksbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gYkModCxlLG4pe3ZhciBpPW9DLmV4ZWMoZS5zbGljZShuLG4rMSkpO3JldHVybiBpPyh0LnE9MyppWzBdLTMsbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24geEModCxlLG4pe3ZhciBpPW9DLmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0Lm09aVswXS0xLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHdDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5kPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIFNDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzMpKTtyZXR1cm4gaT8odC5tPTAsdC5kPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIE1DKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5IPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIEVDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5NPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIFRDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5TPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIENDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzMpKTtyZXR1cm4gaT8odC5MPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIEFDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobixuKzYpKTtyZXR1cm4gaT8odC5MPU1hdGguZmxvb3IoaVswXS8xZTMpLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGtDKHQsZSxuKXt2YXIgaT1hQy5leGVjKGUuc2xpY2UobixuKzEpKTtyZXR1cm4gaT9uK2lbMF0ubGVuZ3RoOi0xfWZ1bmN0aW9uIExDKHQsZSxuKXt2YXIgaT1vQy5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0LlE9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gUEModCxlLG4pe3ZhciBpPW9DLmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIGk/KHQucz0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBOQyh0LGUpe3JldHVybiBsQyh0LmdldERhdGUoKSxlLDIpfWZ1bmN0aW9uIElDKHQsZSl7cmV0dXJuIGxDKHQuZ2V0SG91cnMoKSxlLDIpfWZ1bmN0aW9uIFJDKHQsZSl7cmV0dXJuIGxDKHQuZ2V0SG91cnMoKSUxMnx8MTIsZSwyKX1mdW5jdGlvbiBPQyh0LGUpe3JldHVybiBsQygxK0tFLmNvdW50KF9UKHQpLHQpLGUsMyl9ZnVuY3Rpb24gekModCxlKXtyZXR1cm4gbEModC5nZXRNaWxsaXNlY29uZHMoKSxlLDMpfWZ1bmN0aW9uIERDKHQsZSl7cmV0dXJuIHpDKHQsZSkrIjAwMCJ9ZnVuY3Rpb24gQkModCxlKXtyZXR1cm4gbEModC5nZXRNb250aCgpKzEsZSwyKX1mdW5jdGlvbiBIQyh0LGUpe3JldHVybiBsQyh0LmdldE1pbnV0ZXMoKSxlLDIpfWZ1bmN0aW9uIEZDKHQsZSl7cmV0dXJuIGxDKHQuZ2V0U2Vjb25kcygpLGUsMil9ZnVuY3Rpb24gVkModCl7dmFyIGU9dC5nZXREYXkoKTtyZXR1cm4gMD09PWU/NzplfWZ1bmN0aW9uIFVDKHQsZSl7cmV0dXJuIGxDKFFFLmNvdW50KF9UKHQpLTEsdCksZSwyKX1mdW5jdGlvbiBqQyh0KXt2YXIgZT10LmdldERheSgpO3JldHVybiBlPj00fHwwPT09ZT9pVCh0KTppVC5jZWlsKHQpfWZ1bmN0aW9uIEdDKHQsZSl7cmV0dXJuIHQ9akModCksbEMoaVQuY291bnQoX1QodCksdCkrKDQ9PT1fVCh0KS5nZXREYXkoKSksZSwyKX1mdW5jdGlvbiBXQyh0KXtyZXR1cm4gdC5nZXREYXkoKX1mdW5jdGlvbiBxQyh0LGUpe3JldHVybiBsQyh0VC5jb3VudChfVCh0KS0xLHQpLGUsMil9ZnVuY3Rpb24gWUModCxlKXtyZXR1cm4gbEModC5nZXRGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uIFhDKHQsZSl7cmV0dXJuIGxDKCh0PWpDKHQpKS5nZXRGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uICRDKHQsZSl7cmV0dXJuIGxDKHQuZ2V0RnVsbFllYXIoKSUxZTQsZSw0KX1mdW5jdGlvbiBLQyh0LGUpe3ZhciBuPXQuZ2V0RGF5KCk7cmV0dXJuIGxDKCh0PW4+PTR8fDA9PT1uP2lUKHQpOmlULmNlaWwodCkpLmdldEZ1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gWkModCl7dmFyIGU9dC5nZXRUaW1lem9uZU9mZnNldCgpO3JldHVybihlPjA/Ii0iOihlKj0tMSwiKyIpKStsQyhlLzYwfDAsIjAiLDIpK2xDKGUlNjAsIjAiLDIpfWZ1bmN0aW9uIEpDKHQsZSl7cmV0dXJuIGxDKHQuZ2V0VVRDRGF0ZSgpLGUsMil9ZnVuY3Rpb24gUUModCxlKXtyZXR1cm4gbEModC5nZXRVVENIb3VycygpLGUsMil9ZnVuY3Rpb24gdEEodCxlKXtyZXR1cm4gbEModC5nZXRVVENIb3VycygpJTEyfHwxMixlLDIpfWZ1bmN0aW9uIGVBKHQsZSl7cmV0dXJuIGxDKDErVFQuY291bnQoWVQodCksdCksZSwzKX1mdW5jdGlvbiBuQSh0LGUpe3JldHVybiBsQyh0LmdldFVUQ01pbGxpc2Vjb25kcygpLGUsMyl9ZnVuY3Rpb24gaUEodCxlKXtyZXR1cm4gbkEodCxlKSsiMDAwIn1mdW5jdGlvbiByQSh0LGUpe3JldHVybiBsQyh0LmdldFVUQ01vbnRoKCkrMSxlLDIpfWZ1bmN0aW9uIG9BKHQsZSl7cmV0dXJuIGxDKHQuZ2V0VVRDTWludXRlcygpLGUsMil9ZnVuY3Rpb24gYUEodCxlKXtyZXR1cm4gbEModC5nZXRVVENTZWNvbmRzKCksZSwyKX1mdW5jdGlvbiBzQSh0KXt2YXIgZT10LmdldFVUQ0RheSgpO3JldHVybiAwPT09ZT83OmV9ZnVuY3Rpb24gbEEodCxlKXtyZXR1cm4gbEMoa1QuY291bnQoWVQodCktMSx0KSxlLDIpfWZ1bmN0aW9uIGNBKHQpe3ZhciBlPXQuZ2V0VVRDRGF5KCk7cmV0dXJuIGU+PTR8fDA9PT1lP0lUKHQpOklULmNlaWwodCl9ZnVuY3Rpb24gdUEodCxlKXtyZXR1cm4gdD1jQSh0KSxsQyhJVC5jb3VudChZVCh0KSx0KSsoND09PVlUKHQpLmdldFVUQ0RheSgpKSxlLDIpfWZ1bmN0aW9uIGhBKHQpe3JldHVybiB0LmdldFVUQ0RheSgpfWZ1bmN0aW9uIGRBKHQsZSl7cmV0dXJuIGxDKExULmNvdW50KFlUKHQpLTEsdCksZSwyKX1mdW5jdGlvbiBwQSh0LGUpe3JldHVybiBsQyh0LmdldFVUQ0Z1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gZkEodCxlKXtyZXR1cm4gbEMoKHQ9Y0EodCkpLmdldFVUQ0Z1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gbUEodCxlKXtyZXR1cm4gbEModC5nZXRVVENGdWxsWWVhcigpJTFlNCxlLDQpfWZ1bmN0aW9uIGdBKHQsZSl7dmFyIG49dC5nZXRVVENEYXkoKTtyZXR1cm4gbEMoKHQ9bj49NHx8MD09PW4/SVQodCk6SVQuY2VpbCh0KSkuZ2V0VVRDRnVsbFllYXIoKSUxZTQsZSw0KX1mdW5jdGlvbiBfQSgpe3JldHVybiIrMDAwMCJ9ZnVuY3Rpb24geUEoKXtyZXR1cm4iJSJ9ZnVuY3Rpb24gdkEodCl7cmV0dXJuK3R9ZnVuY3Rpb24gYkEodCl7cmV0dXJuIE1hdGguZmxvb3IoK3QvMWUzKX1mdW5jdGlvbiB4QSh0KXtyZXR1cm4gUVQ9SlQodCksdEM9UVQuZm9ybWF0LGVDPVFULnBhcnNlLG5DPVFULnV0Y0Zvcm1hdCxpQz1RVC51dGNQYXJzZSxRVH14QSh7ZGF0ZVRpbWU6IiV4LCAlWCIsZGF0ZToiJS1tLyUtZC8lWSIsdGltZToiJS1JOiVNOiVTICVwIixwZXJpb2RzOlsiQU0iLCJQTSJdLGRheXM6WyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLHNob3J0RGF5czpbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLG1vbnRoczpbIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sc2hvcnRNb250aHM6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXX0pO3ZhciB3QT0iJVktJW0tJWRUJUg6JU06JVMuJUxaIjt2YXIgU0E9RGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmc/ZnVuY3Rpb24gTUEodCl7cmV0dXJuIHQudG9JU09TdHJpbmcoKX06bkMod0EpO3ZhciBFQT0rbmV3IERhdGUoIjIwMDAtMDEtMDFUMDA6MDA6MDAuMDAwWiIpP2Z1bmN0aW9uIFRBKHQpe3ZhciBlPW5ldyBEYXRlKHQpO3JldHVybiBpc05hTihlKT9udWxsOmV9OmlDKHdBKSxDQT0xZTMsQUE9NmU0LGtBPTM2ZTUsTEE9ODY0ZTUsUEE9MjU5MmU2LE5BPTMxNTM2ZTY7ZnVuY3Rpb24gSUEodCl7cmV0dXJuIG5ldyBEYXRlKHQpfWZ1bmN0aW9uIFJBKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRGF0ZT8rdDorbmV3IERhdGUoK3QpfWZ1bmN0aW9uIE9BKHQsZSxuLGkscixvLGEscyxsKXt2YXIgYz1hRShRTSxRTSksdT1jLmludmVydCxoPWMuZG9tYWluLGQ9bCgiLiVMIikscD1sKCI6JVMiKSxmPWwoIiVJOiVNIiksbT1sKCIlSSAlcCIpLGc9bCgiJWEgJWQiKSxfPWwoIiViICVkIikseT1sKCIlQiIpLHY9bCgiJVkiKSxiPVtbYSwxLENBXSxbYSw1LDVlM10sW2EsMTUsMTVlM10sW2EsMzAsM2U0XSxbbywxLEFBXSxbbyw1LDNlNV0sW28sMTUsOWU1XSxbbywzMCwxOGU1XSxbciwxLGtBXSxbciwzLDEwOGU1XSxbciw2LDIxNmU1XSxbciwxMiw0MzJlNV0sW2ksMSxMQV0sW2ksMiwxNzI4ZTVdLFtuLDEsNjA0OGU1XSxbZSwxLFBBXSxbZSwzLDc3NzZlNl0sW3QsMSxOQV1dO2Z1bmN0aW9uIHgocyl7cmV0dXJuKGEocyk8cz9kOm8ocyk8cz9wOnIocyk8cz9mOmkocyk8cz9tOmUocyk8cz9uKHMpPHM/ZzpfOnQocyk8cz95OnYpKHMpfWZ1bmN0aW9uIHcoZSxuLGkscil7aWYobnVsbD09ZSYmKGU9MTApLCJudW1iZXIiPT10eXBlb2YgZSl7dmFyIG89TWF0aC5hYnMoaS1uKS9lLGE9T2woKGZ1bmN0aW9uKHQpe3JldHVybiB0WzJdfSkpLnJpZ2h0KGIsbyk7YT09PWIubGVuZ3RoPyhyPW5jKG4vTkEsaS9OQSxlKSxlPXQpOmE/KHI9KGE9YltvL2JbYS0xXVsyXTxiW2FdWzJdL28/YS0xOmFdKVsxXSxlPWFbMF0pOihyPU1hdGgubWF4KG5jKG4saSxlKSwxKSxlPXMpfXJldHVybiBudWxsPT1yP2U6ZS5ldmVyeShyKX1yZXR1cm4gYy5pbnZlcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBEYXRlKHUodCkpfSxjLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9oKEdNLmNhbGwodCxSQSkpOmgoKS5tYXAoSUEpfSxjLnRpY2tzPWZ1bmN0aW9uKHQsZSl7dmFyIG4saT1oKCkscj1pWzBdLG89aVtpLmxlbmd0aC0xXSxhPW88cjtyZXR1cm4gYSYmKG49cixyPW8sbz1uKSxuPShuPXcodCxyLG8sZSkpP24ucmFuZ2UocixvKzEpOltdLGE/bi5yZXZlcnNlKCk6bn0sYy50aWNrRm9ybWF0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PWU/eDpsKGUpfSxjLm5pY2U9ZnVuY3Rpb24odCxlKXt2YXIgbj1oKCk7cmV0dXJuKHQ9dyh0LG5bMF0sbltuLmxlbmd0aC0xXSxlKSk/aCh1RShuLHQpKTpjfSxjLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gckUoYyxPQSh0LGUsbixpLHIsbyxhLHMsbCkpfSxjfWZ1bmN0aW9uIHpBKCl7cmV0dXJuIFZNLmFwcGx5KE9BKF9ULGZULFFFLEtFLFlFLEdFLFZFLElFLHRDKS5kb21haW4oW25ldyBEYXRlKDJlMywwLDEpLG5ldyBEYXRlKDJlMywwLDIpXSksYXJndW1lbnRzKX1mdW5jdGlvbiBEQSgpe3ZhciB0LGUsbixpLHIsbz0wLGE9MSxzPVFNLGw9ITE7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gaXNOYU4oZT0rZSk/cjpzKDA9PT1uPy41OihlPShpKGUpLXQpKm4sbD9NYXRoLm1heCgwLE1hdGgubWluKDEsZSkpOmUpKX1yZXR1cm4gYy5kb21haW49ZnVuY3Rpb24ocil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9aShvPStyWzBdKSxlPWkoYT0rclsxXSksbj10PT09ZT8wOjEvKGUtdCksYyk6W28sYV19LGMuY2xhbXA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9ISF0LGMpOmx9LGMuaW50ZXJwb2xhdG9yPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPXQsYyk6c30sYy51bmtub3duPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsYyk6cn0sZnVuY3Rpb24ocil7cmV0dXJuIGk9cix0PXIobyksZT1yKGEpLG49dD09PWU/MDoxLyhlLXQpLGN9fWZ1bmN0aW9uIEJBKHQsZSl7cmV0dXJuIGUuZG9tYWluKHQuZG9tYWluKCkpLmludGVycG9sYXRvcih0LmludGVycG9sYXRvcigpKS5jbGFtcCh0LmNsYW1wKCkpLnVua25vd24odC51bmtub3duKCkpfWZ1bmN0aW9uIEhBKCl7dmFyIHQ9RUUoREEoKSk7cmV0dXJuIHQuY29weT1mdW5jdGlvbigpe3JldHVybiBCQSh0LEhBKCkpLmV4cG9uZW50KHQuZXhwb25lbnQoKSl9LFVNLmFwcGx5KHQsYXJndW1lbnRzKX1mdW5jdGlvbiBGQSgpe3ZhciB0LGUsbixpLHIsbyxhLHM9MCxsPS41LGM9MSx1PVFNLGg9ITE7ZnVuY3Rpb24gZCh0KXtyZXR1cm4gaXNOYU4odD0rdCk/YToodD0uNSsoKHQ9K28odCkpLWUpKih0PGU/aTpyKSx1KGg/TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKTp0KSl9cmV0dXJuIGQuZG9tYWluPWZ1bmN0aW9uKGEpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PW8ocz0rYVswXSksZT1vKGw9K2FbMV0pLG49byhjPSthWzJdKSxpPXQ9PT1lPzA6LjUvKGUtdCkscj1lPT09bj8wOi41LyhuLWUpLGQpOltzLGwsY119LGQuY2xhbXA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGg9ISF0LGQpOmh9LGQuaW50ZXJwb2xhdG9yPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PXQsZCk6dX0sZC51bmtub3duPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQsZCk6YX0sZnVuY3Rpb24oYSl7cmV0dXJuIG89YSx0PWEocyksZT1hKGwpLG49YShjKSxpPXQ9PT1lPzA6LjUvKGUtdCkscj1lPT09bj8wOi41LyhuLWUpLGR9fWZ1bmN0aW9uIFZBKCl7dmFyIHQ9RUUoRkEoKSk7cmV0dXJuIHQuY29weT1mdW5jdGlvbigpe3JldHVybiBCQSh0LFZBKCkpLmV4cG9uZW50KHQuZXhwb25lbnQoKSl9LFVNLmFwcGx5KHQsYXJndW1lbnRzKX1mdW5jdGlvbiBVQSh0KXtmb3IodmFyIGU9dC5sZW5ndGgvNnwwLG49bmV3IEFycmF5KGUpLGk9MDtpPGU7KW5baV09IiMiK3Quc2xpY2UoNippLDYqKytpKTtyZXR1cm4gbn12YXIgakE9VUEoIjFmNzdiNGZmN2YwZTJjYTAyY2Q2MjcyODk0NjdiZDhjNTY0YmUzNzdjMjdmN2Y3ZmJjYmQyMjE3YmVjZiIpLEdBPVVBKCI3ZmM5N2ZiZWFlZDRmZGMwODZmZmZmOTkzODZjYjBmMDAyN2ZiZjViMTc2NjY2NjYiKSxXQT1VQSgiMWI5ZTc3ZDk1ZjAyNzU3MGIzZTcyOThhNjZhNjFlZTZhYjAyYTY3NjFkNjY2NjY2IikscUE9VUEoImE2Y2VlMzFmNzhiNGIyZGY4YTMzYTAyY2ZiOWE5OWUzMWExY2ZkYmY2ZmZmN2YwMGNhYjJkNjZhM2Q5YWZmZmY5OWIxNTkyOCIpLFlBPVVBKCJmYmI0YWViM2NkZTNjY2ViYzVkZWNiZTRmZWQ5YTZmZmZmY2NlNWQ4YmRmZGRhZWNmMmYyZjIiKSxYQT1VQSgiYjNlMmNkZmRjZGFjY2JkNWU4ZjRjYWU0ZTZmNWM5ZmZmMmFlZjFlMmNjY2NjY2NjIiksJEE9VUEoImU0MWExYzM3N2ViODRkYWY0YTk4NGVhM2ZmN2YwMGZmZmYzM2E2NTYyOGY3ODFiZjk5OTk5OSIpLEtBPVVBKCI2NmMyYTVmYzhkNjI4ZGEwY2JlNzhhYzNhNmQ4NTRmZmQ5MmZlNWM0OTRiM2IzYjMiKSxaQT1VQSgiOGRkM2M3ZmZmZmIzYmViYWRhZmI4MDcyODBiMWQzZmRiNDYyYjNkZTY5ZmNjZGU1ZDlkOWQ5YmM4MGJkY2NlYmM1ZmZlZDZmIiksSkE9VUEoIjRlNzlhN2YyOGUyY2UxNTc1OTc2YjdiMjU5YTE0ZmVkYzk0OWFmN2FhMWZmOWRhNzljNzU1ZmJhYjBhYiIpO2Z1bmN0aW9uIFFBKHQpe3JldHVybiBKZCh0W3QubGVuZ3RoLTFdKX12YXIgdGs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZDhiMzY1ZjVmNWY1NWFiNGFjIiwiYTY2MTFhZGZjMjdkODBjZGMxMDE4NTcxIiwiYTY2MTFhZGZjMjdkZjVmNWY1ODBjZGMxMDE4NTcxIiwiOGM1MTBhZDhiMzY1ZjZlOGMzYzdlYWU1NWFiNGFjMDE2NjVlIiwiOGM1MTBhZDhiMzY1ZjZlOGMzZjVmNWY1YzdlYWU1NWFiNGFjMDE2NjVlIiwiOGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzYzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlIiwiOGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzZjVmNWY1YzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlIiwiNTQzMDA1OGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzYzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlMDAzYzMwIiwiNTQzMDA1OGM1MTBhYmY4MTJkZGZjMjdkZjZlOGMzZjVmNWY1YzdlYWU1ODBjZGMxMzU5NzhmMDE2NjVlMDAzYzMwIikubWFwKFVBKSxlaz1RQSh0ayksbms9bmV3IEFycmF5KDMpLmNvbmNhdCgiYWY4ZGMzZjdmN2Y3N2ZiZjdiIiwiN2IzMjk0YzJhNWNmYTZkYmEwMDA4ODM3IiwiN2IzMjk0YzJhNWNmZjdmN2Y3YTZkYmEwMDA4ODM3IiwiNzYyYTgzYWY4ZGMzZTdkNGU4ZDlmMGQzN2ZiZjdiMWI3ODM3IiwiNzYyYTgzYWY4ZGMzZTdkNGU4ZjdmN2Y3ZDlmMGQzN2ZiZjdiMWI3ODM3IiwiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3IiwiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZjdmN2Y3ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3IiwiNDAwMDRiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3MDA0NDFiIiwiNDAwMDRiNzYyYTgzOTk3MGFiYzJhNWNmZTdkNGU4ZjdmN2Y3ZDlmMGQzYTZkYmEwNWFhZTYxMWI3ODM3MDA0NDFiIikubWFwKFVBKSxpaz1RQShuaykscms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTlhM2M5ZjdmN2Y3YTFkNzZhIiwiZDAxYzhiZjFiNmRhYjhlMTg2NGRhYzI2IiwiZDAxYzhiZjFiNmRhZjdmN2Y3YjhlMTg2NGRhYzI2IiwiYzUxYjdkZTlhM2M5ZmRlMGVmZTZmNWQwYTFkNzZhNGQ5MjIxIiwiYzUxYjdkZTlhM2M5ZmRlMGVmZjdmN2Y3ZTZmNWQwYTFkNzZhNGQ5MjIxIiwiYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxIiwiYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZjdmN2Y3ZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxIiwiOGUwMTUyYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxMjc2NDE5IiwiOGUwMTUyYzUxYjdkZGU3N2FlZjFiNmRhZmRlMGVmZjdmN2Y3ZTZmNWQwYjhlMTg2N2ZiYzQxNGQ5MjIxMjc2NDE5IikubWFwKFVBKSxvaz1RQShyayksYWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiOTk4ZWMzZjdmN2Y3ZjFhMzQwIiwiNWUzYzk5YjJhYmQyZmRiODYzZTY2MTAxIiwiNWUzYzk5YjJhYmQyZjdmN2Y3ZmRiODYzZTY2MTAxIiwiNTQyNzg4OTk4ZWMzZDhkYWViZmVlMGI2ZjFhMzQwYjM1ODA2IiwiNTQyNzg4OTk4ZWMzZDhkYWViZjdmN2Y3ZmVlMGI2ZjFhMzQwYjM1ODA2IiwiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2IiwiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZjdmN2Y3ZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2IiwiMmQwMDRiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2N2YzYjA4IiwiMmQwMDRiNTQyNzg4ODA3M2FjYjJhYmQyZDhkYWViZjdmN2Y3ZmVlMGI2ZmRiODYzZTA4MjE0YjM1ODA2N2YzYjA4IikubWFwKFVBKSxzaz1RQShhayksbGs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWY4YTYyZjdmN2Y3NjdhOWNmIiwiY2EwMDIwZjRhNTgyOTJjNWRlMDU3MWIwIiwiY2EwMDIwZjRhNTgyZjdmN2Y3OTJjNWRlMDU3MWIwIiwiYjIxODJiZWY4YTYyZmRkYmM3ZDFlNWYwNjdhOWNmMjE2NmFjIiwiYjIxODJiZWY4YTYyZmRkYmM3ZjdmN2Y3ZDFlNWYwNjdhOWNmMjE2NmFjIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZjdmN2Y3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjMDUzMDYxIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZjdmN2Y3ZDFlNWYwOTJjNWRlNDM5M2MzMjE2NmFjMDUzMDYxIikubWFwKFVBKSxjaz1RQShsayksdWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWY4YTYyZmZmZmZmOTk5OTk5IiwiY2EwMDIwZjRhNTgyYmFiYWJhNDA0MDQwIiwiY2EwMDIwZjRhNTgyZmZmZmZmYmFiYWJhNDA0MDQwIiwiYjIxODJiZWY4YTYyZmRkYmM3ZTBlMGUwOTk5OTk5NGQ0ZDRkIiwiYjIxODJiZWY4YTYyZmRkYmM3ZmZmZmZmZTBlMGUwOTk5OTk5NGQ0ZDRkIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkIiwiYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZmZmZmZmZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkMWExYTFhIiwiNjcwMDFmYjIxODJiZDY2MDRkZjRhNTgyZmRkYmM3ZmZmZmZmZTBlMGUwYmFiYWJhODc4Nzg3NGQ0ZDRkMWExYTFhIikubWFwKFVBKSxoaz1RQSh1ayksZGs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmM4ZDU5ZmZmZmJmOTFiZmRiIiwiZDcxOTFjZmRhZTYxYWJkOWU5MmM3YmI2IiwiZDcxOTFjZmRhZTYxZmZmZmJmYWJkOWU5MmM3YmI2IiwiZDczMDI3ZmM4ZDU5ZmVlMDkwZTBmM2Y4OTFiZmRiNDU3NWI0IiwiZDczMDI3ZmM4ZDU5ZmVlMDkwZmZmZmJmZTBmM2Y4OTFiZmRiNDU3NWI0IiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0IiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZmZmZmJmZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0IiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0MzEzNjk1IiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDkwZmZmZmJmZTBmM2Y4YWJkOWU5NzRhZGQxNDU3NWI0MzEzNjk1IikubWFwKFVBKSxwaz1RQShkayksZms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmM4ZDU5ZmZmZmJmOTFjZjYwIiwiZDcxOTFjZmRhZTYxYTZkOTZhMWE5NjQxIiwiZDcxOTFjZmRhZTYxZmZmZmJmYTZkOTZhMWE5NjQxIiwiZDczMDI3ZmM4ZDU5ZmVlMDhiZDllZjhiOTFjZjYwMWE5ODUwIiwiZDczMDI3ZmM4ZDU5ZmVlMDhiZmZmZmJmZDllZjhiOTFjZjYwMWE5ODUwIiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwIiwiZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwIiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwMDA2ODM3IiwiYTUwMDI2ZDczMDI3ZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZDllZjhiYTZkOTZhNjZiZDYzMWE5ODUwMDA2ODM3IikubWFwKFVBKSxtaz1RQShmayksZ2s9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmM4ZDU5ZmZmZmJmOTlkNTk0IiwiZDcxOTFjZmRhZTYxYWJkZGE0MmI4M2JhIiwiZDcxOTFjZmRhZTYxZmZmZmJmYWJkZGE0MmI4M2JhIiwiZDUzZTRmZmM4ZDU5ZmVlMDhiZTZmNTk4OTlkNTk0MzI4OGJkIiwiZDUzZTRmZmM4ZDU5ZmVlMDhiZmZmZmJmZTZmNTk4OTlkNTk0MzI4OGJkIiwiZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkIiwiZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkIiwiOWUwMTQyZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkNWU0ZmEyIiwiOWUwMTQyZDUzZTRmZjQ2ZDQzZmRhZTYxZmVlMDhiZmZmZmJmZTZmNTk4YWJkZGE0NjZjMmE1MzI4OGJkNWU0ZmEyIikubWFwKFVBKSxfaz1RQShnaykseWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTVmNWY5OTlkOGM5MmNhMjVmIiwiZWRmOGZiYjJlMmUyNjZjMmE0MjM4YjQ1IiwiZWRmOGZiYjJlMmUyNjZjMmE0MmNhMjVmMDA2ZDJjIiwiZWRmOGZiY2NlY2U2OTlkOGM5NjZjMmE0MmNhMjVmMDA2ZDJjIiwiZWRmOGZiY2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA1ODI0IiwiZjdmY2ZkZTVmNWY5Y2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA1ODI0IiwiZjdmY2ZkZTVmNWY5Y2NlY2U2OTlkOGM5NjZjMmE0NDFhZTc2MjM4YjQ1MDA2ZDJjMDA0NDFiIikubWFwKFVBKSx2az1RQSh5ayksYms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTBlY2Y0OWViY2RhODg1NmE3IiwiZWRmOGZiYjNjZGUzOGM5NmM2ODg0MTlkIiwiZWRmOGZiYjNjZGUzOGM5NmM2ODg1NmE3ODEwZjdjIiwiZWRmOGZiYmZkM2U2OWViY2RhOGM5NmM2ODg1NmE3ODEwZjdjIiwiZWRmOGZiYmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkNmUwMTZiIiwiZjdmY2ZkZTBlY2Y0YmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkNmUwMTZiIiwiZjdmY2ZkZTBlY2Y0YmZkM2U2OWViY2RhOGM5NmM2OGM2YmIxODg0MTlkODEwZjdjNGQwMDRiIikubWFwKFVBKSx4az1RQShiayksd2s9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTBmM2RiYThkZGI1NDNhMmNhIiwiZjBmOWU4YmFlNGJjN2JjY2M0MmI4Y2JlIiwiZjBmOWU4YmFlNGJjN2JjY2M0NDNhMmNhMDg2OGFjIiwiZjBmOWU4Y2NlYmM1YThkZGI1N2JjY2M0NDNhMmNhMDg2OGFjIiwiZjBmOWU4Y2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg1ODllIiwiZjdmY2YwZTBmM2RiY2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg1ODllIiwiZjdmY2YwZTBmM2RiY2NlYmM1YThkZGI1N2JjY2M0NGViM2QzMmI4Y2JlMDg2OGFjMDg0MDgxIikubWFwKFVBKSxTaz1RQSh3ayksTWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlOGM4ZmRiYjg0ZTM0YTMzIiwiZmVmMGQ5ZmRjYzhhZmM4ZDU5ZDczMDFmIiwiZmVmMGQ5ZmRjYzhhZmM4ZDU5ZTM0YTMzYjMwMDAwIiwiZmVmMGQ5ZmRkNDllZmRiYjg0ZmM4ZDU5ZTM0YTMzYjMwMDAwIiwiZmVmMGQ5ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmOTkwMDAwIiwiZmZmN2VjZmVlOGM4ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmOTkwMDAwIiwiZmZmN2VjZmVlOGM4ZmRkNDllZmRiYjg0ZmM4ZDU5ZWY2NTQ4ZDczMDFmYjMwMDAwN2YwMDAwIikubWFwKFVBKSxFaz1RQShNayksVGs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWNlMmYwYTZiZGRiMWM5MDk5IiwiZjZlZmY3YmRjOWUxNjdhOWNmMDI4MThhIiwiZjZlZmY3YmRjOWUxNjdhOWNmMWM5MDk5MDE2YzU5IiwiZjZlZmY3ZDBkMWU2YTZiZGRiNjdhOWNmMWM5MDk5MDE2YzU5IiwiZjZlZmY3ZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2NDUwIiwiZmZmN2ZiZWNlMmYwZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2NDUwIiwiZmZmN2ZiZWNlMmYwZDBkMWU2YTZiZGRiNjdhOWNmMzY5MGMwMDI4MThhMDE2YzU5MDE0NjM2IikubWFwKFVBKSxDaz1RQShUayksQWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWNlN2YyYTZiZGRiMmI4Y2JlIiwiZjFlZWY2YmRjOWUxNzRhOWNmMDU3MGIwIiwiZjFlZWY2YmRjOWUxNzRhOWNmMmI4Y2JlMDQ1YThkIiwiZjFlZWY2ZDBkMWU2YTZiZGRiNzRhOWNmMmI4Y2JlMDQ1YThkIiwiZjFlZWY2ZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDM0ZTdiIiwiZmZmN2ZiZWNlN2YyZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDM0ZTdiIiwiZmZmN2ZiZWNlN2YyZDBkMWU2YTZiZGRiNzRhOWNmMzY5MGMwMDU3MGIwMDQ1YThkMDIzODU4IikubWFwKFVBKSxraz1RQShBayksTGs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTdlMWVmYzk5NGM3ZGQxYzc3IiwiZjFlZWY2ZDdiNWQ4ZGY2NWIwY2UxMjU2IiwiZjFlZWY2ZDdiNWQ4ZGY2NWIwZGQxYzc3OTgwMDQzIiwiZjFlZWY2ZDRiOWRhYzk5NGM3ZGY2NWIwZGQxYzc3OTgwMDQzIiwiZjFlZWY2ZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTEwMDNmIiwiZjdmNGY5ZTdlMWVmZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTEwMDNmIiwiZjdmNGY5ZTdlMWVmZDRiOWRhYzk5NGM3ZGY2NWIwZTcyOThhY2UxMjU2OTgwMDQzNjcwMDFmIikubWFwKFVBKSxQaz1RQShMayksTms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmRlMGRkZmE5ZmI1YzUxYjhhIiwiZmVlYmUyZmJiNGI5Zjc2OGExYWUwMTdlIiwiZmVlYmUyZmJiNGI5Zjc2OGExYzUxYjhhN2EwMTc3IiwiZmVlYmUyZmNjNWMwZmE5ZmI1Zjc2OGExYzUxYjhhN2EwMTc3IiwiZmVlYmUyZmNjNWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3IiwiZmZmN2YzZmRlMGRkZmNjNWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3IiwiZmZmN2YzZmRlMGRkZmNjNWMwZmE5ZmI1Zjc2OGExZGQzNDk3YWUwMTdlN2EwMTc3NDkwMDZhIikubWFwKFVBKSxJaz1RQShOayksUms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWRmOGIxN2ZjZGJiMmM3ZmI4IiwiZmZmZmNjYTFkYWI0NDFiNmM0MjI1ZWE4IiwiZmZmZmNjYTFkYWI0NDFiNmM0MmM3ZmI4MjUzNDk0IiwiZmZmZmNjYzdlOWI0N2ZjZGJiNDFiNmM0MmM3ZmI4MjUzNDk0IiwiZmZmZmNjYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MGMyYzg0IiwiZmZmZmQ5ZWRmOGIxYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MGMyYzg0IiwiZmZmZmQ5ZWRmOGIxYzdlOWI0N2ZjZGJiNDFiNmM0MWQ5MWMwMjI1ZWE4MjUzNDk0MDgxZDU4IikubWFwKFVBKSxPaz1RQShSayksems9bmV3IEFycmF5KDMpLmNvbmNhdCgiZjdmY2I5YWRkZDhlMzFhMzU0IiwiZmZmZmNjYzJlNjk5NzhjNjc5MjM4NDQzIiwiZmZmZmNjYzJlNjk5NzhjNjc5MzFhMzU0MDA2ODM3IiwiZmZmZmNjZDlmMGEzYWRkZDhlNzhjNjc5MzFhMzU0MDA2ODM3IiwiZmZmZmNjZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA1YTMyIiwiZmZmZmU1ZjdmY2I5ZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA1YTMyIiwiZmZmZmU1ZjdmY2I5ZDlmMGEzYWRkZDhlNzhjNjc5NDFhYjVkMjM4NDQzMDA2ODM3MDA0NTI5IikubWFwKFVBKSxEaz1RQSh6ayksQms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmZmN2JjZmVjNDRmZDk1ZjBlIiwiZmZmZmQ0ZmVkOThlZmU5OTI5Y2M0YzAyIiwiZmZmZmQ0ZmVkOThlZmU5OTI5ZDk1ZjBlOTkzNDA0IiwiZmZmZmQ0ZmVlMzkxZmVjNDRmZmU5OTI5ZDk1ZjBlOTkzNDA0IiwiZmZmZmQ0ZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOGMyZDA0IiwiZmZmZmU1ZmZmN2JjZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOGMyZDA0IiwiZmZmZmU1ZmZmN2JjZmVlMzkxZmVjNDRmZmU5OTI5ZWM3MDE0Y2M0YzAyOTkzNDA0NjYyNTA2IikubWFwKFVBKSxIaz1RQShCayksRms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmZlZGEwZmViMjRjZjAzYjIwIiwiZmZmZmIyZmVjYzVjZmQ4ZDNjZTMxYTFjIiwiZmZmZmIyZmVjYzVjZmQ4ZDNjZjAzYjIwYmQwMDI2IiwiZmZmZmIyZmVkOTc2ZmViMjRjZmQ4ZDNjZjAzYjIwYmQwMDI2IiwiZmZmZmIyZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYjEwMDI2IiwiZmZmZmNjZmZlZGEwZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYjEwMDI2IiwiZmZmZmNjZmZlZGEwZmVkOTc2ZmViMjRjZmQ4ZDNjZmM0ZTJhZTMxYTFjYmQwMDI2ODAwMDI2IikubWFwKFVBKSxWaz1RQShGayksVWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZGVlYmY3OWVjYWUxMzE4MmJkIiwiZWZmM2ZmYmRkN2U3NmJhZWQ2MjE3MWI1IiwiZWZmM2ZmYmRkN2U3NmJhZWQ2MzE4MmJkMDg1MTljIiwiZWZmM2ZmYzZkYmVmOWVjYWUxNmJhZWQ2MzE4MmJkMDg1MTljIiwiZWZmM2ZmYzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0IiwiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0IiwiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg1MTljMDgzMDZiIikubWFwKFVBKSxqaz1RQShVayksR2s9bmV3IEFycmF5KDMpLmNvbmNhdCgiZTVmNWUwYTFkOTliMzFhMzU0IiwiZWRmOGU5YmFlNGIzNzRjNDc2MjM4YjQ1IiwiZWRmOGU5YmFlNGIzNzRjNDc2MzFhMzU0MDA2ZDJjIiwiZWRmOGU5YzdlOWMwYTFkOTliNzRjNDc2MzFhMzU0MDA2ZDJjIiwiZWRmOGU5YzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA1YTMyIiwiZjdmY2Y1ZTVmNWUwYzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA1YTMyIiwiZjdmY2Y1ZTVmNWUwYzdlOWMwYTFkOTliNzRjNDc2NDFhYjVkMjM4YjQ1MDA2ZDJjMDA0NDFiIikubWFwKFVBKSxXaz1RQShHaykscWs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZjBmMGYwYmRiZGJkNjM2MzYzIiwiZjdmN2Y3Y2NjY2NjOTY5Njk2NTI1MjUyIiwiZjdmN2Y3Y2NjY2NjOTY5Njk2NjM2MzYzMjUyNTI1IiwiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NjM2MzYzMjUyNTI1IiwiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1IiwiZmZmZmZmZjBmMGYwZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1IiwiZmZmZmZmZjBmMGYwZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1MDAwMDAwIikubWFwKFVBKSxZaz1RQShxayksWGs9bmV3IEFycmF5KDMpLmNvbmNhdCgiZWZlZGY1YmNiZGRjNzU2YmIxIiwiZjJmMGY3Y2JjOWUyOWU5YWM4NmE1MWEzIiwiZjJmMGY3Y2JjOWUyOWU5YWM4NzU2YmIxNTQyNzhmIiwiZjJmMGY3ZGFkYWViYmNiZGRjOWU5YWM4NzU2YmIxNTQyNzhmIiwiZjJmMGY3ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNGExNDg2IiwiZmNmYmZkZWZlZGY1ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNGExNDg2IiwiZmNmYmZkZWZlZGY1ZGFkYWViYmNiZGRjOWU5YWM4ODA3ZGJhNmE1MWEzNTQyNzhmM2YwMDdkIikubWFwKFVBKSwkaz1RQShYayksS2s9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlMGQyZmM5MjcyZGUyZDI2IiwiZmVlNWQ5ZmNhZTkxZmI2YTRhY2IxODFkIiwiZmVlNWQ5ZmNhZTkxZmI2YTRhZGUyZDI2YTUwZjE1IiwiZmVlNWQ5ZmNiYmExZmM5MjcyZmI2YTRhZGUyZDI2YTUwZjE1IiwiZmVlNWQ5ZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkYTUwZjE1NjcwMDBkIikubWFwKFVBKSxaaz1RQShLayksSms9bmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlNmNlZmRhZTZiZTY1NTBkIiwiZmVlZGRlZmRiZTg1ZmQ4ZDNjZDk0NzAxIiwiZmVlZGRlZmRiZTg1ZmQ4ZDNjZTY1NTBkYTYzNjAzIiwiZmVlZGRlZmRkMGEyZmRhZTZiZmQ4ZDNjZTY1NTBkYTYzNjAzIiwiZmVlZGRlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxOGMyZDA0IiwiZmZmNWViZmVlNmNlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxOGMyZDA0IiwiZmZmNWViZmVlNmNlZmRkMGEyZmRhZTZiZmQ4ZDNjZjE2OTEzZDk0ODAxYTYzNjAzN2YyNzA0IikubWFwKFVBKSxRaz1RQShKayk7dmFyIHRMPU9wKEZkKDMwMCwuNSwwKSxGZCgtMjQwLC41LDEpKSxlTD1PcChGZCgtMTAwLC43NSwuMzUpLEZkKDgwLDEuNSwuOCkpLG5MPU9wKEZkKDI2MCwuNzUsLjM1KSxGZCg4MCwxLjUsLjgpKSxpTD1GZCgpO3ZhciByTD1uZCgpLG9MPU1hdGguUEkvMyxhTD0yKk1hdGguUEkvMztmdW5jdGlvbiBzTCh0KXt2YXIgZT10Lmxlbmd0aDtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHRbTWF0aC5tYXgoMCxNYXRoLm1pbihlLTEsTWF0aC5mbG9vcihuKmUpKSldfX12YXIgbEw9c0woVUEoIjQ0MDE1NDQ0MDI1NjQ1MDQ1NzQ1MDU1OTQ2MDc1YTQ2MDg1YzQ2MGE1ZDQ2MGI1ZTQ3MGQ2MDQ3MGU2MTQ3MTA2MzQ3MTE2NDQ3MTM2NTQ4MTQ2NzQ4MTY2ODQ4MTc2OTQ4MTg2YTQ4MWE2YzQ4MWI2ZDQ4MWM2ZTQ4MWQ2ZjQ4MWY3MDQ4MjA3MTQ4MjE3MzQ4MjM3NDQ4MjQ3NTQ4MjU3NjQ4MjY3NzQ4Mjg3ODQ4Mjk3OTQ3MmE3YTQ3MmM3YTQ3MmQ3YjQ3MmU3YzQ3MmY3ZDQ2MzA3ZTQ2MzI3ZTQ2MzM3ZjQ2MzQ4MDQ1MzU4MTQ1Mzc4MTQ1Mzg4MjQ0Mzk4MzQ0M2E4MzQ0M2I4NDQzM2Q4NDQzM2U4NTQyM2Y4NTQyNDA4NjQyNDE4NjQxNDI4NzQxNDQ4NzQwNDU4ODQwNDY4ODNmNDc4ODNmNDg4OTNlNDk4OTNlNGE4OTNlNGM4YTNkNGQ4YTNkNGU4YTNjNGY4YTNjNTA4YjNiNTE4YjNiNTI4YjNhNTM4YjNhNTQ4YzM5NTU4YzM5NTY4YzM4NTg4YzM4NTk4YzM3NWE4YzM3NWI4ZDM2NWM4ZDM2NWQ4ZDM1NWU4ZDM1NWY4ZDM0NjA4ZDM0NjE4ZDMzNjI4ZDMzNjM4ZDMyNjQ4ZTMyNjU4ZTMxNjY4ZTMxNjc4ZTMxNjg4ZTMwNjk4ZTMwNmE4ZTJmNmI4ZTJmNmM4ZTJlNmQ4ZTJlNmU4ZTJlNmY4ZTJkNzA4ZTJkNzE4ZTJjNzE4ZTJjNzI4ZTJjNzM4ZTJiNzQ4ZTJiNzU4ZTJhNzY4ZTJhNzc4ZTJhNzg4ZTI5Nzk4ZTI5N2E4ZTI5N2I4ZTI4N2M4ZTI4N2Q4ZTI3N2U4ZTI3N2Y4ZTI3ODA4ZTI2ODE4ZTI2ODI4ZTI2ODI4ZTI1ODM4ZTI1ODQ4ZTI1ODU4ZTI0ODY4ZTI0ODc4ZTIzODg4ZTIzODk4ZTIzOGE4ZDIyOGI4ZDIyOGM4ZDIyOGQ4ZDIxOGU4ZDIxOGY4ZDIxOTA4ZDIxOTE4YzIwOTI4YzIwOTI4YzIwOTM4YzFmOTQ4YzFmOTU4YjFmOTY4YjFmOTc4YjFmOTg4YjFmOTk4YTFmOWE4YTFlOWI4YTFlOWM4OTFlOWQ4OTFmOWU4OTFmOWY4ODFmYTA4ODFmYTE4ODFmYTE4NzFmYTI4NzIwYTM4NjIwYTQ4NjIxYTU4NTIxYTY4NTIyYTc4NTIyYTg4NDIzYTk4MzI0YWE4MzI1YWI4MjI1YWM4MjI2YWQ4MTI3YWQ4MTI4YWU4MDI5YWY3ZjJhYjA3ZjJjYjE3ZTJkYjI3ZDJlYjM3YzJmYjQ3YzMxYjU3YjMyYjY3YTM0YjY3OTM1Yjc3OTM3Yjg3ODM4Yjk3NzNhYmE3NjNiYmI3NTNkYmM3NDNmYmM3MzQwYmQ3MjQyYmU3MTQ0YmY3MDQ2YzA2ZjQ4YzE2ZTRhYzE2ZDRjYzI2YzRlYzM2YjUwYzQ2YTUyYzU2OTU0YzU2ODU2YzY2NzU4Yzc2NTVhYzg2NDVjYzg2MzVlYzk2MjYwY2E2MDYzY2I1ZjY1Y2I1ZTY3Y2M1YzY5Y2Q1YjZjY2Q1YTZlY2U1ODcwY2Y1NzczZDA1Njc1ZDA1NDc3ZDE1MzdhZDE1MTdjZDI1MDdmZDM0ZTgxZDM0ZDg0ZDQ0Yjg2ZDU0OTg5ZDU0ODhiZDY0NjhlZDY0NTkwZDc0MzkzZDc0MTk1ZDg0MDk4ZDgzZTliZDkzYzlkZDkzYmEwZGEzOWEyZGEzN2E1ZGIzNmE4ZGIzNGFhZGMzMmFkZGMzMGIwZGQyZmIyZGQyZGI1ZGUyYmI4ZGUyOWJhZGUyOGJkZGYyNmMwZGYyNWMyZGYyM2M1ZTAyMWM4ZTAyMGNhZTExZmNkZTExZGQwZTExY2QyZTIxYmQ1ZTIxYWQ4ZTIxOWRhZTMxOWRkZTMxOGRmZTMxOGUyZTQxOGU1ZTQxOWU3ZTQxOWVhZTUxYWVjZTUxYmVmZTUxY2YxZTUxZGY0ZTYxZWY2ZTYyMGY4ZTYyMWZiZTcyM2ZkZTcyNSIpKSxjTD1zTChVQSgiMDAwMDA0MDEwMDA1MDEwMTA2MDEwMTA4MDIwMTA5MDIwMjBiMDIwMjBkMDMwMzBmMDMwMzEyMDQwNDE0MDUwNDE2MDYwNTE4MDYwNTFhMDcwNjFjMDgwNzFlMDkwNzIwMGEwODIyMGIwOTI0MGMwOTI2MGQwYTI5MGUwYjJiMTAwYjJkMTEwYzJmMTIwZDMxMTMwZDM0MTQwZTM2MTUwZTM4MTYwZjNiMTgwZjNkMTkxMDNmMWExMDQyMWMxMDQ0MWQxMTQ3MWUxMTQ5MjAxMTRiMjExMTRlMjIxMTUwMjQxMjUzMjUxMjU1MjcxMjU4MjkxMTVhMmExMTVjMmMxMTVmMmQxMTYxMmYxMTYzMzExMTY1MzMxMDY3MzQxMDY5MzYxMDZiMzgxMDZjMzkwZjZlM2IwZjcwM2QwZjcxM2YwZjcyNDAwZjc0NDIwZjc1NDQwZjc2NDUxMDc3NDcxMDc4NDkxMDc4NGExMDc5NGMxMTdhNGUxMTdiNGYxMjdiNTExMjdjNTIxMzdjNTQxMzdkNTYxNDdkNTcxNTdlNTkxNTdlNWExNjdlNWMxNjdmNWQxNzdmNWYxODdmNjAxODgwNjIxOTgwNjQxYTgwNjUxYTgwNjcxYjgwNjgxYzgxNmExYzgxNmIxZDgxNmQxZDgxNmUxZTgxNzAxZjgxNzIxZjgxNzMyMDgxNzUyMTgxNzYyMTgxNzgyMjgxNzkyMjgyN2IyMzgyN2MyMzgyN2UyNDgyODAyNTgyODEyNTgxODMyNjgxODQyNjgxODYyNzgxODgyNzgxODkyODgxOGIyOTgxOGMyOTgxOGUyYTgxOTAyYTgxOTEyYjgxOTMyYjgwOTQyYzgwOTYyYzgwOTgyZDgwOTkyZDgwOWIyZTdmOWMyZTdmOWUyZjdmYTAyZjdmYTEzMDdlYTMzMDdlYTUzMTdlYTYzMTdkYTgzMjdkYWEzMzdkYWIzMzdjYWQzNDdjYWUzNDdiYjAzNTdiYjIzNTdiYjMzNjdhYjUzNjdhYjczNzc5YjgzNzc5YmEzODc4YmMzOTc4YmQzOTc3YmYzYTc3YzAzYTc2YzIzYjc1YzQzYzc1YzUzYzc0YzczZDczYzgzZTczY2EzZTcyY2MzZjcxY2Q0MDcxY2Y0MDcwZDA0MTZmZDI0MjZmZDM0MzZlZDU0NDZkZDY0NTZjZDg0NTZjZDk0NjZiZGI0NzZhZGM0ODY5ZGU0OTY4ZGY0YTY4ZTA0YzY3ZTI0ZDY2ZTM0ZTY1ZTQ0ZjY0ZTU1MDY0ZTc1MjYzZTg1MzYyZTk1NDYyZWE1NjYxZWI1NzYwZWM1ODYwZWQ1YTVmZWU1YjVlZWY1ZDVlZjA1ZjVlZjE2MDVkZjI2MjVkZjI2NDVjZjM2NTVjZjQ2NzVjZjQ2OTVjZjU2YjVjZjY2YzVjZjY2ZTVjZjc3MDVjZjc3MjVjZjg3NDVjZjg3NjVjZjk3ODVkZjk3OTVkZjk3YjVkZmE3ZDVlZmE3ZjVlZmE4MTVmZmI4MzVmZmI4NTYwZmI4NzYxZmM4OTYxZmM4YTYyZmM4YzYzZmM4ZTY0ZmM5MDY1ZmQ5MjY2ZmQ5NDY3ZmQ5NjY4ZmQ5ODY5ZmQ5YTZhZmQ5YjZiZmU5ZDZjZmU5ZjZkZmVhMTZlZmVhMzZmZmVhNTcxZmVhNzcyZmVhOTczZmVhYTc0ZmVhYzc2ZmVhZTc3ZmViMDc4ZmViMjdhZmViNDdiZmViNjdjZmViNzdlZmViOTdmZmViYjgxZmViZDgyZmViZjg0ZmVjMTg1ZmVjMjg3ZmVjNDg4ZmVjNjhhZmVjODhjZmVjYThkZmVjYzhmZmVjZDkwZmVjZjkyZmVkMTk0ZmVkMzk1ZmVkNTk3ZmVkNzk5ZmVkODlhZmRkYTljZmRkYzllZmRkZWEwZmRlMGExZmRlMmEzZmRlM2E1ZmRlNWE3ZmRlN2E5ZmRlOWFhZmRlYmFjZmNlY2FlZmNlZWIwZmNmMGIyZmNmMmI0ZmNmNGI2ZmNmNmI4ZmNmN2I5ZmNmOWJiZmNmYmJkZmNmZGJmIikpLHVMPXNMKFVBKCIwMDAwMDQwMTAwMDUwMTAxMDYwMTAxMDgwMjAxMGEwMjAyMGMwMjAyMGUwMzAyMTAwNDAzMTIwNDAzMTQwNTA0MTcwNjA0MTkwNzA1MWIwODA1MWQwOTA2MWYwYTA3MjIwYjA3MjQwYzA4MjYwZDA4MjkwZTA5MmIxMDA5MmQxMTBhMzAxMjBhMzIxNDBiMzQxNTBiMzcxNjBiMzkxODBjM2MxOTBjM2UxYjBjNDExYzBjNDMxZTBjNDUxZjBjNDgyMTBjNGEyMzBjNGMyNDBjNGYyNjBjNTEyODBiNTMyOTBiNTUyYjBiNTcyZDBiNTkyZjBhNWIzMTBhNWMzMjBhNWUzNDBhNWYzNjA5NjEzODA5NjIzOTA5NjMzYjA5NjQzZDA5NjUzZTA5NjY0MDBhNjc0MjBhNjg0NDBhNjg0NTBhNjk0NzBiNmE0OTBiNmE0YTBjNmI0YzBjNmI0ZDBkNmM0ZjBkNmM1MTBlNmM1MjBlNmQ1NDBmNmQ1NTBmNmQ1NzEwNmU1OTEwNmU1YTExNmU1YzEyNmU1ZDEyNmU1ZjEzNmU2MTEzNmU2MjE0NmU2NDE1NmU2NTE1NmU2NzE2NmU2OTE2NmU2YTE3NmU2YzE4NmU2ZDE4NmU2ZjE5NmU3MTE5NmU3MjFhNmU3NDFhNmU3NTFiNmU3NzFjNmQ3ODFjNmQ3YTFkNmQ3YzFkNmQ3ZDFlNmQ3ZjFlNmM4MDFmNmM4MjIwNmM4NDIwNmI4NTIxNmI4NzIxNmI4ODIyNmE4YTIyNmE4YzIzNjk4ZDIzNjk4ZjI0Njk5MDI1Njg5MjI1Njg5MzI2Njc5NTI2Njc5NzI3NjY5ODI3NjY5YTI4NjU5YjI5NjQ5ZDI5NjQ5ZjJhNjNhMDJhNjNhMjJiNjJhMzJjNjFhNTJjNjBhNjJkNjBhODJlNWZhOTJlNWVhYjJmNWVhZDMwNWRhZTMwNWNiMDMxNWJiMTMyNWFiMzMyNWFiNDMzNTliNjM0NThiNzM1NTdiOTM1NTZiYTM2NTViYzM3NTRiZDM4NTNiZjM5NTJjMDNhNTFjMTNhNTBjMzNiNGZjNDNjNGVjNjNkNGRjNzNlNGNjODNmNGJjYTQwNGFjYjQxNDljYzQyNDhjZTQzNDdjZjQ0NDZkMDQ1NDVkMjQ2NDRkMzQ3NDNkNDQ4NDJkNTRhNDFkNzRiM2ZkODRjM2VkOTRkM2RkYTRlM2NkYjUwM2JkZDUxM2FkZTUyMzhkZjUzMzdlMDU1MzZlMTU2MzVlMjU3MzRlMzU5MzNlNDVhMzFlNTVjMzBlNjVkMmZlNzVlMmVlODYwMmRlOTYxMmJlYTYzMmFlYjY0MjllYjY2MjhlYzY3MjZlZDY5MjVlZTZhMjRlZjZjMjNlZjZlMjFmMDZmMjBmMTcxMWZmMTczMWRmMjc0MWNmMzc2MWJmMzc4MTlmNDc5MThmNTdiMTdmNTdkMTVmNjdlMTRmNjgwMTNmNzgyMTJmNzg0MTBmODg1MGZmODg3MGVmODg5MGNmOThiMGJmOThjMGFmOThlMDlmYTkwMDhmYTkyMDdmYTk0MDdmYjk2MDZmYjk3MDZmYjk5MDZmYjliMDZmYjlkMDdmYzlmMDdmY2ExMDhmY2EzMDlmY2E1MGFmY2E2MGNmY2E4MGRmY2FhMGZmY2FjMTFmY2FlMTJmY2IwMTRmY2IyMTZmY2I0MThmYmI2MWFmYmI4MWRmYmJhMWZmYmJjMjFmYmJlMjNmYWMwMjZmYWMyMjhmYWM0MmFmYWM2MmRmOWM3MmZmOWM5MzJmOWNiMzVmOGNkMzdmOGNmM2FmN2QxM2RmN2QzNDBmNmQ1NDNmNmQ3NDZmNWQ5NDlmNWRiNGNmNGRkNGZmNGRmNTNmNGUxNTZmM2UzNWFmM2U1NWRmMmU2NjFmMmU4NjVmMmVhNjlmMWVjNmRmMWVkNzFmMWVmNzVmMWYxNzlmMmYyN2RmMmY0ODJmM2Y1ODZmM2Y2OGFmNGY4OGVmNWY5OTJmNmZhOTZmOGZiOWFmOWZjOWRmYWZkYTFmY2ZmYTQiKSksaEw9c0woVUEoIjBkMDg4NzEwMDc4ODEzMDc4OTE2MDc4YTE5MDY4YzFiMDY4ZDFkMDY4ZTIwMDY4ZjIyMDY5MDI0MDY5MTI2MDU5MTI4MDU5MjJhMDU5MzJjMDU5NDJlMDU5NTJmMDU5NjMxMDU5NzMzMDU5NzM1MDQ5ODM3MDQ5OTM4MDQ5YTNhMDQ5YTNjMDQ5YjNlMDQ5YzNmMDQ5YzQxMDQ5ZDQzMDM5ZTQ0MDM5ZTQ2MDM5ZjQ4MDM5ZjQ5MDNhMDRiMDNhMTRjMDJhMTRlMDJhMjUwMDJhMjUxMDJhMzUzMDJhMzU1MDJhNDU2MDFhNDU4MDFhNDU5MDFhNTViMDFhNTVjMDFhNjVlMDFhNjYwMDFhNjYxMDBhNzYzMDBhNzY0MDBhNzY2MDBhNzY3MDBhODY5MDBhODZhMDBhODZjMDBhODZlMDBhODZmMDBhODcxMDBhODcyMDFhODc0MDFhODc1MDFhODc3MDFhODc4MDFhODdhMDJhODdiMDJhODdkMDNhODdlMDNhODgwMDRhODgxMDRhNzgzMDVhNzg0MDVhNzg2MDZhNjg3MDdhNjg4MDhhNjhhMDlhNThiMGFhNThkMGJhNThlMGNhNDhmMGRhNDkxMGVhMzkyMGZhMzk0MTBhMjk1MTFhMTk2MTNhMTk4MTRhMDk5MTU5ZjlhMTY5ZjljMTc5ZTlkMTg5ZDllMTk5ZGEwMWE5Y2ExMWI5YmEyMWQ5YWEzMWU5YWE1MWY5OWE2MjA5OGE3MjE5N2E4MjI5NmFhMjM5NWFiMjQ5NGFjMjY5NGFkMjc5M2FlMjg5MmIwMjk5MWIxMmE5MGIyMmI4ZmIzMmM4ZWI0MmU4ZGI1MmY4Y2I2MzA4YmI3MzE4YWI4MzI4OWJhMzM4OGJiMzQ4OGJjMzU4N2JkMzc4NmJlMzg4NWJmMzk4NGMwM2E4M2MxM2I4MmMyM2M4MWMzM2Q4MGM0M2U3ZmM1NDA3ZWM2NDE3ZGM3NDI3Y2M4NDM3YmM5NDQ3YWNhNDU3YWNiNDY3OWNjNDc3OGNjNDk3N2NkNGE3NmNlNGI3NWNmNGM3NGQwNGQ3M2QxNGU3MmQyNGY3MWQzNTE3MWQ0NTI3MGQ1NTM2ZmQ1NTQ2ZWQ2NTU2ZGQ3NTY2Y2Q4NTc2YmQ5NTg2YWRhNWE2YWRhNWI2OWRiNWM2OGRjNWQ2N2RkNWU2NmRlNWY2NWRlNjE2NGRmNjI2M2UwNjM2M2UxNjQ2MmUyNjU2MWUyNjY2MGUzNjg1ZmU0Njk1ZWU1NmE1ZGU1NmI1ZGU2NmM1Y2U3NmU1YmU3NmY1YWU4NzA1OWU5NzE1OGU5NzI1N2VhNzQ1N2ViNzU1NmViNzY1NWVjNzc1NGVkNzk1M2VkN2E1MmVlN2I1MWVmN2M1MWVmN2U1MGYwN2Y0ZmYwODA0ZWYxODE0ZGYxODM0Y2YyODQ0YmYzODU0YmYzODc0YWY0ODg0OWY0ODk0OGY1OGI0N2Y1OGM0NmY2OGQ0NWY2OGY0NGY3OTA0NGY3OTE0M2Y3OTM0MmY4OTQ0MWY4OTU0MGY5OTczZmY5OTgzZWY5OWEzZWZhOWIzZGZhOWMzY2ZhOWUzYmZiOWYzYWZiYTEzOWZiYTIzOGZjYTMzOGZjYTUzN2ZjYTYzNmZjYTgzNWZjYTkzNGZkYWIzM2ZkYWMzM2ZkYWUzMmZkYWYzMWZkYjEzMGZkYjIyZmZkYjQyZmZkYjUyZWZlYjcyZGZlYjgyY2ZlYmEyY2ZlYmIyYmZlYmQyYWZlYmUyYWZlYzAyOWZkYzIyOWZkYzMyOGZkYzUyN2ZkYzYyN2ZkYzgyN2ZkY2EyNmZkY2IyNmZjY2QyNWZjY2UyNWZjZDAyNWZjZDIyNWZiZDMyNGZiZDUyNGZiZDcyNGZhZDgyNGZhZGEyNGY5ZGMyNGY5ZGQyNWY4ZGYyNWY4ZTEyNWY3ZTIyNWY3ZTQyNWY2ZTYyNmY2ZTgyNmY1ZTkyNmY1ZWIyN2Y0ZWQyN2YzZWUyN2YzZjAyN2YyZjIyN2YxZjQyNmYxZjUyNWYwZjcyNGYwZjkyMSIpKTtmdW5jdGlvbiBkTCh0KXtyZXR1cm4gZnVuY3Rpb24gZSgpe3JldHVybiB0fX12YXIgcEw9TWF0aC5hYnMsZkw9TWF0aC5hdGFuMixtTD1NYXRoLmNvcyxnTD1NYXRoLm1heCxfTD1NYXRoLm1pbix5TD1NYXRoLnNpbix2TD1NYXRoLnNxcnQsYkw9MWUtMTIseEw9TWF0aC5QSSx3TD14TC8yLFNMPTIqeEw7ZnVuY3Rpb24gTUwodCl7cmV0dXJuIHQ+MT8wOnQ8LTE/eEw6TWF0aC5hY29zKHQpfWZ1bmN0aW9uIEVMKHQpe3JldHVybiB0Pj0xP3dMOnQ8PS0xPy13TDpNYXRoLmFzaW4odCl9ZnVuY3Rpb24gVEwodCl7cmV0dXJuIHQuaW5uZXJSYWRpdXN9ZnVuY3Rpb24gQ0wodCl7cmV0dXJuIHQub3V0ZXJSYWRpdXN9ZnVuY3Rpb24gQUwodCl7cmV0dXJuIHQuc3RhcnRBbmdsZX1mdW5jdGlvbiBrTCh0KXtyZXR1cm4gdC5lbmRBbmdsZX1mdW5jdGlvbiBMTCh0KXtyZXR1cm4gdCYmdC5wYWRBbmdsZX1mdW5jdGlvbiBQTCh0LGUsbixpLHIsbyxhLHMpe3ZhciBsPW4tdCxjPWktZSx1PWEtcixoPXMtbyxkPWgqbC11KmM7aWYoIShkKmQ8YkwpKXJldHVyblt0KyhkPSh1KihlLW8pLWgqKHQtcikpL2QpKmwsZStkKmNdfWZ1bmN0aW9uIE5MKHQsZSxuLGkscixvLGEpe3ZhciBzPXQtbixsPWUtaSxjPShhP286LW8pL3ZMKHMqcytsKmwpLHU9YypsLGg9LWMqcyxkPXQrdSxwPWUraCxmPW4rdSxtPWkraCxnPShkK2YpLzIsXz0ocCttKS8yLHk9Zi1kLHY9bS1wLGI9eSp5K3Yqdix4PXItbyx3PWQqbS1mKnAsUz0odjwwPy0xOjEpKnZMKGdMKDAseCp4KmItdyp3KSksTT0odyp2LXkqUykvYixFPSgtdyp5LXYqUykvYixUPSh3KnYreSpTKS9iLEM9KC13KnkrdipTKS9iLEE9TS1nLGs9RS1fLEw9VC1nLFA9Qy1fO3JldHVybiBBKkErayprPkwqTCtQKlAmJihNPVQsRT1DKSx7Y3g6TSxjeTpFLHgwMTotdSx5MDE6LWgseDExOk0qKHIveC0xKSx5MTE6RSooci94LTEpfX1mdW5jdGlvbiBJTCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gUkwodCl7cmV0dXJuIG5ldyBJTCh0KX1mdW5jdGlvbiBPTCh0KXtyZXR1cm4gdFswXX1mdW5jdGlvbiB6TCh0KXtyZXR1cm4gdFsxXX1mdW5jdGlvbiBETCgpe3ZhciB0PU9MLGU9ekwsbj1kTCghMCksaT1udWxsLHI9Ukwsbz1udWxsO2Z1bmN0aW9uIGEoYSl7dmFyIHMsbCxjLHU9YS5sZW5ndGgsaD0hMTtmb3IobnVsbD09aSYmKG89cihjPU9nKCkpKSxzPTA7czw9dTsrK3MpIShzPHUmJm4obD1hW3NdLHMsYSkpPT09aCYmKChoPSFoKT9vLmxpbmVTdGFydCgpOm8ubGluZUVuZCgpKSxoJiZvLnBvaW50KCt0KGwscyxhKSwrZShsLHMsYSkpO2lmKGMpcmV0dXJuIG89bnVsbCxjKyIifHxudWxsfXJldHVybiBhLng9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpkTCgrZSksYSk6dH0sYS55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoK3QpLGEpOmV9LGEuZGVmaW5lZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCEhdCksYSk6bn0sYS5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LG51bGwhPWkmJihvPXIoaSkpLGEpOnJ9LGEuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obnVsbD09dD9pPW89bnVsbDpvPXIoaT10KSxhKTppfSxhfWZ1bmN0aW9uIEJMKCl7dmFyIHQ9T0wsZT1udWxsLG49ZEwoMCksaT16TCxyPWRMKCEwKSxvPW51bGwsYT1STCxzPW51bGw7ZnVuY3Rpb24gbChsKXt2YXIgYyx1LGgsZCxwLGY9bC5sZW5ndGgsbT0hMSxnPW5ldyBBcnJheShmKSxfPW5ldyBBcnJheShmKTtmb3IobnVsbD09byYmKHM9YShwPU9nKCkpKSxjPTA7Yzw9ZjsrK2Mpe2lmKCEoYzxmJiZyKGQ9bFtjXSxjLGwpKT09PW0paWYobT0hbSl1PWMscy5hcmVhU3RhcnQoKSxzLmxpbmVTdGFydCgpO2Vsc2V7Zm9yKHMubGluZUVuZCgpLHMubGluZVN0YXJ0KCksaD1jLTE7aD49dTstLWgpcy5wb2ludChnW2hdLF9baF0pO3MubGluZUVuZCgpLHMuYXJlYUVuZCgpfW0mJihnW2NdPSt0KGQsYyxsKSxfW2NdPStuKGQsYyxsKSxzLnBvaW50KGU/K2UoZCxjLGwpOmdbY10saT8raShkLGMsbCk6X1tjXSkpfWlmKHApcmV0dXJuIHM9bnVsbCxwKyIifHxudWxsfWZ1bmN0aW9uIGMoKXtyZXR1cm4gREwoKS5kZWZpbmVkKHIpLmN1cnZlKGEpLmNvbnRleHQobyl9cmV0dXJuIGwueD1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOmRMKCtuKSxlPW51bGwsbCk6dH0sbC54MD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOmRMKCtlKSxsKTp0fSxsLngxPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCt0KSxsKTplfSxsLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTCgrdCksaT1udWxsLGwpOm59LGwueTA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTCgrdCksbCk6bn0sbC55MT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT1udWxsPT10P251bGw6ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTCgrdCksbCk6aX0sbC5saW5lWDA9bC5saW5lWTA9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngodCkueShuKX0sbC5saW5lWTE9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngodCkueShpKX0sbC5saW5lWDE9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngoZSkueShuKX0sbC5kZWZpbmVkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoISF0KSxsKTpyfSxsLmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQsbnVsbCE9byYmKHM9YShvKSksbCk6YX0sbC5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P289cz1udWxsOnM9YShvPXQpLGwpOm99LGx9ZnVuY3Rpb24gSEwodCxlKXtyZXR1cm4gZTx0Py0xOmU+dD8xOmU+PXQ/MDpOYU59ZnVuY3Rpb24gRkwodCl7cmV0dXJuIHR9SUwucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpeyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjtkZWZhdWx0OnRoaXMuX2NvbnRleHQubGluZVRvKHQsZSl9fX07dmFyIFZMPWpMKFJMKTtmdW5jdGlvbiBVTCh0KXt0aGlzLl9jdXJ2ZT10fWZ1bmN0aW9uIGpMKHQpe2Z1bmN0aW9uIGUoZSl7cmV0dXJuIG5ldyBVTCh0KGUpKX1yZXR1cm4gZS5fY3VydmU9dCxlfWZ1bmN0aW9uIEdMKHQpe3ZhciBlPXQuY3VydmU7cmV0dXJuIHQuYW5nbGU9dC54LGRlbGV0ZSB0LngsdC5yYWRpdXM9dC55LGRlbGV0ZSB0LnksdC5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9lKGpMKHQpKTplKCkuX2N1cnZlfSx0fWZ1bmN0aW9uIFdMKCl7cmV0dXJuIEdMKERMKCkuY3VydmUoVkwpKX1mdW5jdGlvbiBxTCgpe3ZhciB0PUJMKCkuY3VydmUoVkwpLGU9dC5jdXJ2ZSxuPXQubGluZVgwLGk9dC5saW5lWDEscj10LmxpbmVZMCxvPXQubGluZVkxO3JldHVybiB0LmFuZ2xlPXQueCxkZWxldGUgdC54LHQuc3RhcnRBbmdsZT10LngwLGRlbGV0ZSB0LngwLHQuZW5kQW5nbGU9dC54MSxkZWxldGUgdC54MSx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0LmlubmVyUmFkaXVzPXQueTAsZGVsZXRlIHQueTAsdC5vdXRlclJhZGl1cz10LnkxLGRlbGV0ZSB0LnkxLHQubGluZVN0YXJ0QW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gR0wobigpKX0sZGVsZXRlIHQubGluZVgwLHQubGluZUVuZEFuZ2xlPWZ1bmN0aW9uKCl7cmV0dXJuIEdMKGkoKSl9LGRlbGV0ZSB0LmxpbmVYMSx0LmxpbmVJbm5lclJhZGl1cz1mdW5jdGlvbigpe3JldHVybiBHTChyKCkpfSxkZWxldGUgdC5saW5lWTAsdC5saW5lT3V0ZXJSYWRpdXM9ZnVuY3Rpb24oKXtyZXR1cm4gR0wobygpKX0sZGVsZXRlIHQubGluZVkxLHQuY3VydmU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/ZShqTCh0KSk6ZSgpLl9jdXJ2ZX0sdH1mdW5jdGlvbiBZTCh0LGUpe3JldHVyblsoZT0rZSkqTWF0aC5jb3ModC09TWF0aC5QSS8yKSxlKk1hdGguc2luKHQpXX1VTC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2N1cnZlLmFyZWFTdGFydCgpfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fY3VydmUuYXJlYUVuZCgpfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9jdXJ2ZS5saW5lU3RhcnQoKX0sbGluZUVuZDpmdW5jdGlvbigpe3RoaXMuX2N1cnZlLmxpbmVFbmQoKX0scG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLl9jdXJ2ZS5wb2ludChlKk1hdGguc2luKHQpLGUqLU1hdGguY29zKHQpKX19O3ZhciBYTD1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gJEwodCl7cmV0dXJuIHQuc291cmNlfWZ1bmN0aW9uIEtMKHQpe3JldHVybiB0LnRhcmdldH1mdW5jdGlvbiBaTCh0KXt2YXIgZT0kTCxuPUtMLGk9T0wscj16TCxvPW51bGw7ZnVuY3Rpb24gYSgpe3ZhciBhLHM9WEwuY2FsbChhcmd1bWVudHMpLGw9ZS5hcHBseSh0aGlzLHMpLGM9bi5hcHBseSh0aGlzLHMpO2lmKG98fChvPWE9T2coKSksdChvLCtpLmFwcGx5KHRoaXMsKHNbMF09bCxzKSksK3IuYXBwbHkodGhpcyxzKSwraS5hcHBseSh0aGlzLChzWzBdPWMscykpLCtyLmFwcGx5KHRoaXMscykpLGEpcmV0dXJuIG89bnVsbCxhKyIifHxudWxsfXJldHVybiBhLnNvdXJjZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LGEpOmV9LGEudGFyZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsYSk6bn0sYS54PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoK3QpLGEpOml9LGEueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCt0KSxhKTpyfSxhLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89bnVsbD09dD9udWxsOnQsYSk6b30sYX1mdW5jdGlvbiBKTCh0LGUsbixpLHIpe3QubW92ZVRvKGUsbiksdC5iZXppZXJDdXJ2ZVRvKGU9KGUraSkvMixuLGUscixpLHIpfWZ1bmN0aW9uIFFMKHQsZSxuLGkscil7dC5tb3ZlVG8oZSxuKSx0LmJlemllckN1cnZlVG8oZSxuPShuK3IpLzIsaSxuLGkscil9ZnVuY3Rpb24gdFAodCxlLG4saSxyKXt2YXIgbz1ZTChlLG4pLGE9WUwoZSxuPShuK3IpLzIpLHM9WUwoaSxuKSxsPVlMKGkscik7dC5tb3ZlVG8ob1swXSxvWzFdKSx0LmJlemllckN1cnZlVG8oYVswXSxhWzFdLHNbMF0sc1sxXSxsWzBdLGxbMV0pfXZhciBlUD17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciBuPU1hdGguc3FydChlL3hMKTt0Lm1vdmVUbyhuLDApLHQuYXJjKDAsMCxuLDAsU0wpfX0sblA9e2RyYXc6ZnVuY3Rpb24odCxlKXt2YXIgbj1NYXRoLnNxcnQoZS81KS8yO3QubW92ZVRvKC0zKm4sLW4pLHQubGluZVRvKC1uLC1uKSx0LmxpbmVUbygtbiwtMypuKSx0LmxpbmVUbyhuLC0zKm4pLHQubGluZVRvKG4sLW4pLHQubGluZVRvKDMqbiwtbiksdC5saW5lVG8oMypuLG4pLHQubGluZVRvKG4sbiksdC5saW5lVG8obiwzKm4pLHQubGluZVRvKC1uLDMqbiksdC5saW5lVG8oLW4sbiksdC5saW5lVG8oLTMqbixuKSx0LmNsb3NlUGF0aCgpfX0saVA9TWF0aC5zcXJ0KDEvMyksclA9MippUCxvUD17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciBuPU1hdGguc3FydChlL3JQKSxpPW4qaVA7dC5tb3ZlVG8oMCwtbiksdC5saW5lVG8oaSwwKSx0LmxpbmVUbygwLG4pLHQubGluZVRvKC1pLDApLHQuY2xvc2VQYXRoKCl9fSxhUD1NYXRoLnNpbih4TC8xMCkvTWF0aC5zaW4oNyp4TC8xMCksc1A9TWF0aC5zaW4oU0wvMTApKmFQLGxQPS1NYXRoLmNvcyhTTC8xMCkqYVAsY1A9e2RyYXc6ZnVuY3Rpb24odCxlKXt2YXIgbj1NYXRoLnNxcnQoLjg5MDgxMzA5MTUyOTI4NTIqZSksaT1zUCpuLHI9bFAqbjt0Lm1vdmVUbygwLC1uKSx0LmxpbmVUbyhpLHIpO2Zvcih2YXIgbz0xO288NTsrK28pe3ZhciBhPVNMKm8vNSxzPU1hdGguY29zKGEpLGw9TWF0aC5zaW4oYSk7dC5saW5lVG8obCpuLC1zKm4pLHQubGluZVRvKHMqaS1sKnIsbCppK3Mqcil9dC5jbG9zZVBhdGgoKX19LHVQPXtkcmF3OmZ1bmN0aW9uKHQsZSl7dmFyIG49TWF0aC5zcXJ0KGUpLGk9LW4vMjt0LnJlY3QoaSxpLG4sbil9fSxoUD1NYXRoLnNxcnQoMyksZFA9e2RyYXc6ZnVuY3Rpb24odCxlKXt2YXIgbj0tTWF0aC5zcXJ0KGUvKDMqaFApKTt0Lm1vdmVUbygwLDIqbiksdC5saW5lVG8oLWhQKm4sLW4pLHQubGluZVRvKGhQKm4sLW4pLHQuY2xvc2VQYXRoKCl9fSxwUD0tLjUsZlA9TWF0aC5zcXJ0KDMpLzIsbVA9MS9NYXRoLnNxcnQoMTIpLGdQPTMqKG1QLzIrMSksX1A9e2RyYXc6ZnVuY3Rpb24odCxlKXt2YXIgbj1NYXRoLnNxcnQoZS9nUCksaT1uLzIscj1uKm1QLG89aSxhPW4qbVArbixzPS1vLGw9YTt0Lm1vdmVUbyhpLHIpLHQubGluZVRvKG8sYSksdC5saW5lVG8ocyxsKSx0LmxpbmVUbyhwUCppLWZQKnIsZlAqaStwUCpyKSx0LmxpbmVUbyhwUCpvLWZQKmEsZlAqbytwUCphKSx0LmxpbmVUbyhwUCpzLWZQKmwsZlAqcytwUCpsKSx0LmxpbmVUbyhwUCppK2ZQKnIscFAqci1mUCppKSx0LmxpbmVUbyhwUCpvK2ZQKmEscFAqYS1mUCpvKSx0LmxpbmVUbyhwUCpzK2ZQKmwscFAqbC1mUCpzKSx0LmNsb3NlUGF0aCgpfX0seVA9W2VQLG5QLG9QLHVQLGNQLGRQLF9QXTtmdW5jdGlvbiB2UCgpe31mdW5jdGlvbiBiUCh0LGUsbil7dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKCgyKnQuX3gwK3QuX3gxKS8zLCgyKnQuX3kwK3QuX3kxKS8zLCh0Ll94MCsyKnQuX3gxKS8zLCh0Ll95MCsyKnQuX3kxKS8zLCh0Ll94MCs0KnQuX3gxK2UpLzYsKHQuX3kwKzQqdC5feTErbikvNil9ZnVuY3Rpb24geFAodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIHdQKHQpe3JldHVybiBuZXcgeFAodCl9ZnVuY3Rpb24gU1AodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIE1QKHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBFUCh0LGUpe3RoaXMuX2Jhc2lzPW5ldyB4UCh0KSx0aGlzLl9iZXRhPWV9eFAucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feTA9dGhpcy5feTE9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMzpiUCh0aGlzLHRoaXMuX3gxLHRoaXMuX3kxKTtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDEsdGhpcy5feTEpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl9jb250ZXh0LmxpbmVUbygoNSp0aGlzLl94MCt0aGlzLl94MSkvNiwoNSp0aGlzLl95MCt0aGlzLl95MSkvNik7ZGVmYXVsdDpiUCh0aGlzLHQsZSl9dGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT1lfX0sU1AucHJvdG90eXBlPXthcmVhU3RhcnQ6dlAsYXJlYUVuZDp2UCxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl94Mz10aGlzLl94ND10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj10aGlzLl95Mz10aGlzLl95ND1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAxOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gyLHRoaXMuX3kyKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMjp0aGlzLl9jb250ZXh0Lm1vdmVUbygodGhpcy5feDIrMip0aGlzLl94MykvMywodGhpcy5feTIrMip0aGlzLl95MykvMyksdGhpcy5fY29udGV4dC5saW5lVG8oKHRoaXMuX3gzKzIqdGhpcy5feDIpLzMsKHRoaXMuX3kzKzIqdGhpcy5feTIpLzMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAzOnRoaXMucG9pbnQodGhpcy5feDIsdGhpcy5feTIpLHRoaXMucG9pbnQodGhpcy5feDMsdGhpcy5feTMpLHRoaXMucG9pbnQodGhpcy5feDQsdGhpcy5feTQpfX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl94Mj10LHRoaXMuX3kyPWU7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTIsdGhpcy5feDM9dCx0aGlzLl95Mz1lO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX3g0PXQsdGhpcy5feTQ9ZSx0aGlzLl9jb250ZXh0Lm1vdmVUbygodGhpcy5feDArNCp0aGlzLl94MSt0KS82LCh0aGlzLl95MCs0KnRoaXMuX3kxK2UpLzYpO2JyZWFrO2RlZmF1bHQ6YlAodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9ZX19LE1QLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3kwPXRoaXMuX3kxPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYzPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zO3ZhciBuPSh0aGlzLl94MCs0KnRoaXMuX3gxK3QpLzYsaT0odGhpcy5feTArNCp0aGlzLl95MStlKS82O3RoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8obixpKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyhuLGkpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6YlAodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9ZX19LEVQLnByb3RvdHlwZT17bGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feD1bXSx0aGlzLl95PVtdLHRoaXMuX2Jhc2lzLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5feCxlPXRoaXMuX3ksbj10Lmxlbmd0aC0xO2lmKG4+MClmb3IodmFyIGkscj10WzBdLG89ZVswXSxhPXRbbl0tcixzPWVbbl0tbyxsPS0xOysrbDw9bjspdGhpcy5fYmFzaXMucG9pbnQodGhpcy5fYmV0YSp0W2xdKygxLXRoaXMuX2JldGEpKihyKyhpPWwvbikqYSksdGhpcy5fYmV0YSplW2xdKygxLXRoaXMuX2JldGEpKihvK2kqcykpO3RoaXMuX3g9dGhpcy5feT1udWxsLHRoaXMuX2Jhc2lzLmxpbmVFbmQoKX0scG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLl94LnB1c2goK3QpLHRoaXMuX3kucHVzaCgrZSl9fTt2YXIgVFA9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gMT09PWU/bmV3IHhQKHQpOm5ldyBFUCh0LGUpfXJldHVybiBuLmJldGE9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoLjg1KTtmdW5jdGlvbiBDUCh0LGUsbil7dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKHQuX3gxK3QuX2sqKHQuX3gyLXQuX3gwKSx0Ll95MSt0Ll9rKih0Ll95Mi10Ll95MCksdC5feDIrdC5fayoodC5feDEtZSksdC5feTIrdC5fayoodC5feTEtbiksdC5feDIsdC5feTIpfWZ1bmN0aW9uIEFQKHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2s9KDEtZSkvNn1BUC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTticmVhaztjYXNlIDM6Q1AodGhpcyx0aGlzLl94MSx0aGlzLl95MSl9KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX3gxPXQsdGhpcy5feTE9ZTticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9MztkZWZhdWx0OkNQKHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10aGlzLl94Mix0aGlzLl94Mj10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPXRoaXMuX3kyLHRoaXMuX3kyPWV9fTt2YXIga1A9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gbmV3IEFQKHQsZSl9cmV0dXJuIG4udGVuc2lvbj1mdW5jdGlvbihlKXtyZXR1cm4gdCgrZSl9LG59KSgwKTtmdW5jdGlvbiBMUCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9rPSgxLWUpLzZ9TFAucHJvdG90eXBlPXthcmVhU3RhcnQ6dlAsYXJlYUVuZDp2UCxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl94Mz10aGlzLl94ND10aGlzLl94NT10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj10aGlzLl95Mz10aGlzLl95ND10aGlzLl95NT1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAxOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTticmVhaztjYXNlIDM6dGhpcy5wb2ludCh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5wb2ludCh0aGlzLl94NCx0aGlzLl95NCksdGhpcy5wb2ludCh0aGlzLl94NSx0aGlzLl95NSl9fSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX3gzPXQsdGhpcy5feTM9ZTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9Mix0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94ND10LHRoaXMuX3k0PWUpO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX3g1PXQsdGhpcy5feTU9ZTticmVhaztkZWZhdWx0OkNQKHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10aGlzLl94Mix0aGlzLl94Mj10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPXRoaXMuX3kyLHRoaXMuX3kyPWV9fTt2YXIgUFA9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gbmV3IExQKHQsZSl9cmV0dXJuIG4udGVuc2lvbj1mdW5jdGlvbihlKXtyZXR1cm4gdCgrZSl9LG59KSgwKTtmdW5jdGlvbiBOUCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9rPSgxLWUpLzZ9TlAucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXsodGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjM9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTE7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Mix0aGlzLl95Mik6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6Q1AodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciBJUD0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBuZXcgTlAodCxlKX1yZXR1cm4gbi50ZW5zaW9uPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0sbn0pKDApO2Z1bmN0aW9uIFJQKHQsZSxuKXt2YXIgaT10Ll94MSxyPXQuX3kxLG89dC5feDIsYT10Ll95MjtpZih0Ll9sMDFfYT5iTCl7dmFyIHM9Mip0Ll9sMDFfMmErMyp0Ll9sMDFfYSp0Ll9sMTJfYSt0Ll9sMTJfMmEsbD0zKnQuX2wwMV9hKih0Ll9sMDFfYSt0Ll9sMTJfYSk7aT0oaSpzLXQuX3gwKnQuX2wxMl8yYSt0Ll94Mip0Ll9sMDFfMmEpL2wscj0ocipzLXQuX3kwKnQuX2wxMl8yYSt0Ll95Mip0Ll9sMDFfMmEpL2x9aWYodC5fbDIzX2E+Ykwpe3ZhciBjPTIqdC5fbDIzXzJhKzMqdC5fbDIzX2EqdC5fbDEyX2ErdC5fbDEyXzJhLHU9Myp0Ll9sMjNfYSoodC5fbDIzX2ErdC5fbDEyX2EpO289KG8qYyt0Ll94MSp0Ll9sMjNfMmEtZSp0Ll9sMTJfMmEpL3UsYT0oYSpjK3QuX3kxKnQuX2wyM18yYS1uKnQuX2wxMl8yYSkvdX10Ll9jb250ZXh0LmJlemllckN1cnZlVG8oaSxyLG8sYSx0Ll94Mix0Ll95Mil9ZnVuY3Rpb24gT1AodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5fYWxwaGE9ZX1PUC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj1OYU4sdGhpcy5fbDAxX2E9dGhpcy5fbDEyX2E9dGhpcy5fbDIzX2E9dGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmE9dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTticmVhaztjYXNlIDM6dGhpcy5wb2ludCh0aGlzLl94Mix0aGlzLl95Mil9KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe2lmKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7dmFyIG49dGhpcy5feDItdCxpPXRoaXMuX3kyLWU7dGhpcy5fbDIzX2E9TWF0aC5zcXJ0KHRoaXMuX2wyM18yYT1NYXRoLnBvdyhuKm4raSppLHRoaXMuX2FscGhhKSl9c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9MztkZWZhdWx0OlJQKHRoaXMsdCxlKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX07dmFyIHpQPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIGU/bmV3IE9QKHQsZSk6bmV3IEFQKHQsMCl9cmV0dXJuIG4uYWxwaGE9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoLjUpO2Z1bmN0aW9uIERQKHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2FscGhhPWV9RFAucHJvdG90eXBlPXthcmVhU3RhcnQ6dlAsYXJlYUVuZDp2UCxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl94Mz10aGlzLl94ND10aGlzLl94NT10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj10aGlzLl95Mz10aGlzLl95ND10aGlzLl95NT1OYU4sdGhpcy5fbDAxX2E9dGhpcy5fbDEyX2E9dGhpcy5fbDIzX2E9dGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmE9dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAxOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMjp0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTticmVhaztjYXNlIDM6dGhpcy5wb2ludCh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5wb2ludCh0aGlzLl94NCx0aGlzLl95NCksdGhpcy5wb2ludCh0aGlzLl94NSx0aGlzLl95NSl9fSxwb2ludDpmdW5jdGlvbih0LGUpe2lmKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7dmFyIG49dGhpcy5feDItdCxpPXRoaXMuX3kyLWU7dGhpcy5fbDIzX2E9TWF0aC5zcXJ0KHRoaXMuX2wyM18yYT1NYXRoLnBvdyhuKm4raSppLHRoaXMuX2FscGhhKSl9c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl94Mz10LHRoaXMuX3kzPWU7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTIsdGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDQ9dCx0aGlzLl95ND1lKTticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl94NT10LHRoaXMuX3k1PWU7YnJlYWs7ZGVmYXVsdDpSUCh0aGlzLHQsZSl9dGhpcy5fbDAxX2E9dGhpcy5fbDEyX2EsdGhpcy5fbDEyX2E9dGhpcy5fbDIzX2EsdGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYSx0aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhLHRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciBCUD0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBlP25ldyBEUCh0LGUpOm5ldyBMUCh0LDApfXJldHVybiBuLmFscGhhPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0sbn0pKC41KTtmdW5jdGlvbiBIUCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9hbHBoYT1lfUhQLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9sMDFfYT10aGlzLl9sMTJfYT10aGlzLl9sMjNfYT10aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhPXRoaXMuX2wyM18yYT10aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYzPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe2lmKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7dmFyIG49dGhpcy5feDItdCxpPXRoaXMuX3kyLWU7dGhpcy5fbDIzX2E9TWF0aC5zcXJ0KHRoaXMuX2wyM18yYT1NYXRoLnBvdyhuKm4raSppLHRoaXMuX2FscGhhKSl9c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94Mix0aGlzLl95Mik7YnJlYWs7Y2FzZSAzOnRoaXMuX3BvaW50PTQ7ZGVmYXVsdDpSUCh0aGlzLHQsZSl9dGhpcy5fbDAxX2E9dGhpcy5fbDEyX2EsdGhpcy5fbDEyX2E9dGhpcy5fbDIzX2EsdGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYSx0aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhLHRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciBGUD0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBlP25ldyBIUCh0LGUpOm5ldyBOUCh0LDApfXJldHVybiBuLmFscGhhPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0sbn0pKC41KTtmdW5jdGlvbiBWUCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gVVAodCl7cmV0dXJuIHQ8MD8tMToxfWZ1bmN0aW9uIGpQKHQsZSxuKXt2YXIgaT10Ll94MS10Ll94MCxyPWUtdC5feDEsbz0odC5feTEtdC5feTApLyhpfHxyPDAmJi0wKSxhPShuLXQuX3kxKS8ocnx8aTwwJiYtMCkscz0obypyK2EqaSkvKGkrcik7cmV0dXJuKFVQKG8pK1VQKGEpKSpNYXRoLm1pbihNYXRoLmFicyhvKSxNYXRoLmFicyhhKSwuNSpNYXRoLmFicyhzKSl8fDB9ZnVuY3Rpb24gR1AodCxlKXt2YXIgbj10Ll94MS10Ll94MDtyZXR1cm4gbj8oMyoodC5feTEtdC5feTApL24tZSkvMjplfWZ1bmN0aW9uIFdQKHQsZSxuKXt2YXIgaT10Ll94MCxyPXQuX3gxLG89dC5feTEsYT0oci1pKS8zO3QuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyhpK2EsdC5feTArYSplLHItYSxvLWEqbixyLG8pfWZ1bmN0aW9uIHFQKHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBZUCh0KXt0aGlzLl9jb250ZXh0PW5ldyBYUCh0KX1mdW5jdGlvbiBYUCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gJFAodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIEtQKHQpe3ZhciBlLG4saT10Lmxlbmd0aC0xLHI9bmV3IEFycmF5KGkpLG89bmV3IEFycmF5KGkpLGE9bmV3IEFycmF5KGkpO2ZvcihyWzBdPTAsb1swXT0yLGFbMF09dFswXSsyKnRbMV0sZT0xO2U8aS0xOysrZSlyW2VdPTEsb1tlXT00LGFbZV09NCp0W2VdKzIqdFtlKzFdO2ZvcihyW2ktMV09MixvW2ktMV09NyxhW2ktMV09OCp0W2ktMV0rdFtpXSxlPTE7ZTxpOysrZSlvW2VdLT1uPXJbZV0vb1tlLTFdLGFbZV0tPW4qYVtlLTFdO2ZvcihyW2ktMV09YVtpLTFdL29baS0xXSxlPWktMjtlPj0wOy0tZSlyW2VdPShhW2VdLXJbZSsxXSkvb1tlXTtmb3Iob1tpLTFdPSh0W2ldK3JbaS0xXSkvMixlPTA7ZTxpLTE7KytlKW9bZV09Mip0W2UrMV0tcltlKzFdO3JldHVybltyLG9dfWZ1bmN0aW9uIFpQKHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX3Q9ZX1mdW5jdGlvbiBKUCh0LGUpe2lmKChyPXQubGVuZ3RoKT4xKWZvcih2YXIgbixpLHIsbz0xLGE9dFtlWzBdXSxzPWEubGVuZ3RoO288cjsrK28pZm9yKGk9YSxhPXRbZVtvXV0sbj0wO248czsrK24pYVtuXVsxXSs9YVtuXVswXT1pc05hTihpW25dWzFdKT9pW25dWzBdOmlbbl1bMV19ZnVuY3Rpb24gUVAodCl7Zm9yKHZhciBlPXQubGVuZ3RoLG49bmV3IEFycmF5KGUpOy0tZT49MDspbltlXT1lO3JldHVybiBufWZ1bmN0aW9uIHROKHQsZSl7cmV0dXJuIHRbZV19ZnVuY3Rpb24gZU4odCl7dmFyIGU9dC5tYXAobk4pO3JldHVybiBRUCh0KS5zb3J0KChmdW5jdGlvbih0LG4pe3JldHVybiBlW3RdLWVbbl19KSl9ZnVuY3Rpb24gbk4odCl7Zm9yKHZhciBlLG49LTEsaT0wLHI9dC5sZW5ndGgsbz0tMS8wOysrbjxyOykoZT0rdFtuXVsxXSk+byYmKG89ZSxpPW4pO3JldHVybiBpfWZ1bmN0aW9uIGlOKHQpe3ZhciBlPXQubWFwKHJOKTtyZXR1cm4gUVAodCkuc29ydCgoZnVuY3Rpb24odCxuKXtyZXR1cm4gZVt0XS1lW25dfSkpfWZ1bmN0aW9uIHJOKHQpe2Zvcih2YXIgZSxuPTAsaT0tMSxyPXQubGVuZ3RoOysraTxyOykoZT0rdFtpXVsxXSkmJihuKz1lKTtyZXR1cm4gbn1mdW5jdGlvbiBvTih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gYU4odCl7cmV0dXJuIHRbMF19ZnVuY3Rpb24gc04odCl7cmV0dXJuIHRbMV19ZnVuY3Rpb24gbE4oKXt0aGlzLl89bnVsbH1mdW5jdGlvbiBjTih0KXt0LlU9dC5DPXQuTD10LlI9dC5QPXQuTj1udWxsfWZ1bmN0aW9uIHVOKHQsZSl7dmFyIG49ZSxpPWUuUixyPW4uVTtyP3IuTD09PW4/ci5MPWk6ci5SPWk6dC5fPWksaS5VPXIsbi5VPWksbi5SPWkuTCxuLlImJihuLlIuVT1uKSxpLkw9bn1mdW5jdGlvbiBoTih0LGUpe3ZhciBuPWUsaT1lLkwscj1uLlU7cj9yLkw9PT1uP3IuTD1pOnIuUj1pOnQuXz1pLGkuVT1yLG4uVT1pLG4uTD1pLlIsbi5MJiYobi5MLlU9biksaS5SPW59ZnVuY3Rpb24gZE4odCl7Zm9yKDt0Lkw7KXQ9dC5MO3JldHVybiB0fWZ1bmN0aW9uIHBOKHQsZSxuLGkpe3ZhciByPVtudWxsLG51bGxdLG89RE4ucHVzaChyKS0xO3JldHVybiByLmxlZnQ9dCxyLnJpZ2h0PWUsbiYmbU4ocix0LGUsbiksaSYmbU4ocixlLHQsaSksT05bdC5pbmRleF0uaGFsZmVkZ2VzLnB1c2gobyksT05bZS5pbmRleF0uaGFsZmVkZ2VzLnB1c2gobykscn1mdW5jdGlvbiBmTih0LGUsbil7dmFyIGk9W2Usbl07cmV0dXJuIGkubGVmdD10LGl9ZnVuY3Rpb24gbU4odCxlLG4saSl7dFswXXx8dFsxXT90LmxlZnQ9PT1uP3RbMV09aTp0WzBdPWk6KHRbMF09aSx0LmxlZnQ9ZSx0LnJpZ2h0PW4pfWZ1bmN0aW9uIGdOKHQsZSxuLGkscil7dmFyIG8sYT10WzBdLHM9dFsxXSxsPWFbMF0sYz1hWzFdLHU9MCxoPTEsZD1zWzBdLWwscD1zWzFdLWM7aWYobz1lLWwsZHx8IShvPjApKXtpZihvLz1kLGQ8MCl7aWYobzx1KXJldHVybjtvPGgmJihoPW8pfWVsc2UgaWYoZD4wKXtpZihvPmgpcmV0dXJuO28+dSYmKHU9byl9aWYobz1pLWwsZHx8IShvPDApKXtpZihvLz1kLGQ8MCl7aWYobz5oKXJldHVybjtvPnUmJih1PW8pfWVsc2UgaWYoZD4wKXtpZihvPHUpcmV0dXJuO288aCYmKGg9byl9aWYobz1uLWMscHx8IShvPjApKXtpZihvLz1wLHA8MCl7aWYobzx1KXJldHVybjtvPGgmJihoPW8pfWVsc2UgaWYocD4wKXtpZihvPmgpcmV0dXJuO28+dSYmKHU9byl9aWYobz1yLWMscHx8IShvPDApKXtpZihvLz1wLHA8MCl7aWYobz5oKXJldHVybjtvPnUmJih1PW8pfWVsc2UgaWYocD4wKXtpZihvPHUpcmV0dXJuO288aCYmKGg9byl9cmV0dXJuISh1PjB8fGg8MSl8fCh1PjAmJih0WzBdPVtsK3UqZCxjK3UqcF0pLGg8MSYmKHRbMV09W2wraCpkLGMraCpwXSksITApfX19fX1mdW5jdGlvbiBfTih0LGUsbixpLHIpe3ZhciBvPXRbMV07aWYobylyZXR1cm4hMDt2YXIgYSxzLGw9dFswXSxjPXQubGVmdCx1PXQucmlnaHQsaD1jWzBdLGQ9Y1sxXSxwPXVbMF0sZj11WzFdLG09KGgrcCkvMjtpZihmPT09ZCl7aWYobTxlfHxtPj1pKXJldHVybjtpZihoPnApe2lmKGwpe2lmKGxbMV0+PXIpcmV0dXJufWVsc2UgbD1bbSxuXTtvPVttLHJdfWVsc2V7aWYobCl7aWYobFsxXTxuKXJldHVybn1lbHNlIGw9W20scl07bz1bbSxuXX19ZWxzZSBpZihzPShkK2YpLzItKGE9KGgtcCkvKGYtZCkpKm0sYTwtMXx8YT4xKWlmKGg+cCl7aWYobCl7aWYobFsxXT49cilyZXR1cm59ZWxzZSBsPVsobi1zKS9hLG5dO289WyhyLXMpL2Escl19ZWxzZXtpZihsKXtpZihsWzFdPG4pcmV0dXJufWVsc2UgbD1bKHItcykvYSxyXTtvPVsobi1zKS9hLG5dfWVsc2UgaWYoZDxmKXtpZihsKXtpZihsWzBdPj1pKXJldHVybn1lbHNlIGw9W2UsYSplK3NdO289W2ksYSppK3NdfWVsc2V7aWYobCl7aWYobFswXTxlKXJldHVybn1lbHNlIGw9W2ksYSppK3NdO289W2UsYSplK3NdfXJldHVybiB0WzBdPWwsdFsxXT1vLCEwfWZ1bmN0aW9uIHlOKHQsZSl7dmFyIG49dC5zaXRlLGk9ZS5sZWZ0LHI9ZS5yaWdodDtyZXR1cm4gbj09PXImJihyPWksaT1uKSxyP01hdGguYXRhbjIoclsxXS1pWzFdLHJbMF0taVswXSk6KG49PT1pPyhpPWVbMV0scj1lWzBdKTooaT1lWzBdLHI9ZVsxXSksTWF0aC5hdGFuMihpWzBdLXJbMF0sclsxXS1pWzFdKSl9ZnVuY3Rpb24gdk4odCxlKXtyZXR1cm4gZVsrKGUubGVmdCE9PXQuc2l0ZSldfWZ1bmN0aW9uIGJOKHQsZSl7cmV0dXJuIGVbKyhlLmxlZnQ9PT10LnNpdGUpXX1WUC5wcm90b3R5cGU9e2FyZWFTdGFydDp2UCxhcmVhRW5kOnZQLGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9wb2ludCYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKX0scG9pbnQ6ZnVuY3Rpb24odCxlKXt0PSt0LGU9K2UsdGhpcy5fcG9pbnQ/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKToodGhpcy5fcG9pbnQ9MSx0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpKX19LHFQLnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3QwPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDEsdGhpcy5feTEpO2JyZWFrO2Nhc2UgMzpXUCh0aGlzLHRoaXMuX3QwLEdQKHRoaXMsdGhpcy5fdDApKX0odGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjE9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7dmFyIG49TmFOO2lmKGU9K2UsKHQ9K3QpIT09dGhpcy5feDF8fGUhPT10aGlzLl95MSl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9MyxXUCh0aGlzLEdQKHRoaXMsbj1qUCh0aGlzLHQsZSkpLG4pO2JyZWFrO2RlZmF1bHQ6V1AodGhpcyx0aGlzLl90MCxuPWpQKHRoaXMsdCxlKSl9dGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT1lLHRoaXMuX3QwPW59fX0sKFlQLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHFQLnByb3RvdHlwZSkpLnBvaW50PWZ1bmN0aW9uKHQsZSl7cVAucHJvdG90eXBlLnBvaW50LmNhbGwodGhpcyxlLHQpfSxYUC5wcm90b3R5cGU9e21vdmVUbzpmdW5jdGlvbih0LGUpe3RoaXMuX2NvbnRleHQubW92ZVRvKGUsdCl9LGNsb3NlUGF0aDpmdW5jdGlvbigpe3RoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCl9LGxpbmVUbzpmdW5jdGlvbih0LGUpe3RoaXMuX2NvbnRleHQubGluZVRvKGUsdCl9LGJlemllckN1cnZlVG86ZnVuY3Rpb24odCxlLG4saSxyLG8pe3RoaXMuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyhlLHQsaSxuLG8scil9fSwkUC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94PVtdLHRoaXMuX3k9W119LGxpbmVFbmQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl94LGU9dGhpcy5feSxuPXQubGVuZ3RoO2lmKG4paWYodGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0WzBdLGVbMF0pOnRoaXMuX2NvbnRleHQubW92ZVRvKHRbMF0sZVswXSksMj09PW4pdGhpcy5fY29udGV4dC5saW5lVG8odFsxXSxlWzFdKTtlbHNlIGZvcih2YXIgaT1LUCh0KSxyPUtQKGUpLG89MCxhPTE7YTxuOysrbywrK2EpdGhpcy5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKGlbMF1bb10sclswXVtvXSxpWzFdW29dLHJbMV1bb10sdFthXSxlW2FdKTsodGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjE9PT1uKSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZSx0aGlzLl94PXRoaXMuX3k9bnVsbH0scG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLl94LnB1c2goK3QpLHRoaXMuX3kucHVzaCgrZSl9fSxaUC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94PXRoaXMuX3k9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXswPHRoaXMuX3QmJnRoaXMuX3Q8MSYmMj09PXRoaXMuX3BvaW50JiZ0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94LHRoaXMuX3kpLCh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPj0wJiYodGhpcy5fdD0xLXRoaXMuX3QsdGhpcy5fbGluZT0xLXRoaXMuX2xpbmUpfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2RlZmF1bHQ6aWYodGhpcy5fdDw9MCl0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94LGUpLHRoaXMuX2NvbnRleHQubGluZVRvKHQsZSk7ZWxzZXt2YXIgbj10aGlzLl94KigxLXRoaXMuX3QpK3QqdGhpcy5fdDt0aGlzLl9jb250ZXh0LmxpbmVUbyhuLHRoaXMuX3kpLHRoaXMuX2NvbnRleHQubGluZVRvKG4sZSl9fXRoaXMuX3g9dCx0aGlzLl95PWV9fSxsTi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmxOLGluc2VydDpmdW5jdGlvbih0LGUpe3ZhciBuLGkscjtpZih0KXtpZihlLlA9dCxlLk49dC5OLHQuTiYmKHQuTi5QPWUpLHQuTj1lLHQuUil7Zm9yKHQ9dC5SO3QuTDspdD10Lkw7dC5MPWV9ZWxzZSB0LlI9ZTtuPXR9ZWxzZSB0aGlzLl8/KHQ9ZE4odGhpcy5fKSxlLlA9bnVsbCxlLk49dCx0LlA9dC5MPWUsbj10KTooZS5QPWUuTj1udWxsLHRoaXMuXz1lLG49bnVsbCk7Zm9yKGUuTD1lLlI9bnVsbCxlLlU9bixlLkM9ITAsdD1lO24mJm4uQzspbj09PShpPW4uVSkuTD8ocj1pLlIpJiZyLkM/KG4uQz1yLkM9ITEsaS5DPSEwLHQ9aSk6KHQ9PT1uLlImJih1Tih0aGlzLG4pLG49KHQ9bikuVSksbi5DPSExLGkuQz0hMCxoTih0aGlzLGkpKToocj1pLkwpJiZyLkM/KG4uQz1yLkM9ITEsaS5DPSEwLHQ9aSk6KHQ9PT1uLkwmJihoTih0aGlzLG4pLG49KHQ9bikuVSksbi5DPSExLGkuQz0hMCx1Tih0aGlzLGkpKSxuPXQuVTt0aGlzLl8uQz0hMX0scmVtb3ZlOmZ1bmN0aW9uKHQpe3QuTiYmKHQuTi5QPXQuUCksdC5QJiYodC5QLk49dC5OKSx0Lk49dC5QPW51bGw7dmFyIGUsbixpLHI9dC5VLG89dC5MLGE9dC5SO2lmKG49bz9hP2ROKGEpOm86YSxyP3IuTD09PXQ/ci5MPW46ci5SPW46dGhpcy5fPW4sbyYmYT8oaT1uLkMsbi5DPXQuQyxuLkw9byxvLlU9bixuIT09YT8ocj1uLlUsbi5VPXQuVSxyLkw9dD1uLlIsbi5SPWEsYS5VPW4pOihuLlU9cixyPW4sdD1uLlIpKTooaT10LkMsdD1uKSx0JiYodC5VPXIpLCFpKWlmKHQmJnQuQyl0LkM9ITE7ZWxzZXtkb3tpZih0PT09dGhpcy5fKWJyZWFrO2lmKHQ9PT1yLkwpe2lmKChlPXIuUikuQyYmKGUuQz0hMSxyLkM9ITAsdU4odGhpcyxyKSxlPXIuUiksZS5MJiZlLkwuQ3x8ZS5SJiZlLlIuQyl7ZS5SJiZlLlIuQ3x8KGUuTC5DPSExLGUuQz0hMCxoTih0aGlzLGUpLGU9ci5SKSxlLkM9ci5DLHIuQz1lLlIuQz0hMSx1Tih0aGlzLHIpLHQ9dGhpcy5fO2JyZWFrfX1lbHNlIGlmKChlPXIuTCkuQyYmKGUuQz0hMSxyLkM9ITAsaE4odGhpcyxyKSxlPXIuTCksZS5MJiZlLkwuQ3x8ZS5SJiZlLlIuQyl7ZS5MJiZlLkwuQ3x8KGUuUi5DPSExLGUuQz0hMCx1Tih0aGlzLGUpLGU9ci5MKSxlLkM9ci5DLHIuQz1lLkwuQz0hMSxoTih0aGlzLHIpLHQ9dGhpcy5fO2JyZWFrfWUuQz0hMCx0PXIscj1yLlV9d2hpbGUoIXQuQyk7dCYmKHQuQz0hMSl9fX07dmFyIHhOLHdOPVtdO2Z1bmN0aW9uIFNOKCl7Y04odGhpcyksdGhpcy54PXRoaXMueT10aGlzLmFyYz10aGlzLnNpdGU9dGhpcy5jeT1udWxsfWZ1bmN0aW9uIE1OKHQpe3ZhciBlPXQuUCxuPXQuTjtpZihlJiZuKXt2YXIgaT1lLnNpdGUscj10LnNpdGUsbz1uLnNpdGU7aWYoaSE9PW8pe3ZhciBhPXJbMF0scz1yWzFdLGw9aVswXS1hLGM9aVsxXS1zLHU9b1swXS1hLGg9b1sxXS1zLGQ9MioobCpoLWMqdSk7aWYoIShkPj0tSE4pKXt2YXIgcD1sKmwrYypjLGY9dSp1K2gqaCxtPShoKnAtYypmKS9kLGc9KGwqZi11KnApL2QsXz13Ti5wb3AoKXx8bmV3IFNOO18uYXJjPXQsXy5zaXRlPXIsXy54PW0rYSxfLnk9KF8uY3k9ZytzKStNYXRoLnNxcnQobSptK2cqZyksdC5jaXJjbGU9Xztmb3IodmFyIHk9bnVsbCx2PXpOLl87djspaWYoXy55PHYueXx8Xy55PT09di55JiZfLng8PXYueCl7aWYoIXYuTCl7eT12LlA7YnJlYWt9dj12Lkx9ZWxzZXtpZighdi5SKXt5PXY7YnJlYWt9dj12LlJ9ek4uaW5zZXJ0KHksXykseXx8KHhOPV8pfX19fWZ1bmN0aW9uIEVOKHQpe3ZhciBlPXQuY2lyY2xlO2UmJihlLlB8fCh4Tj1lLk4pLHpOLnJlbW92ZShlKSx3Ti5wdXNoKGUpLGNOKGUpLHQuY2lyY2xlPW51bGwpfXZhciBUTj1bXTtmdW5jdGlvbiBDTigpe2NOKHRoaXMpLHRoaXMuZWRnZT10aGlzLnNpdGU9dGhpcy5jaXJjbGU9bnVsbH1mdW5jdGlvbiBBTih0KXt2YXIgZT1UTi5wb3AoKXx8bmV3IENOO3JldHVybiBlLnNpdGU9dCxlfWZ1bmN0aW9uIGtOKHQpe0VOKHQpLFJOLnJlbW92ZSh0KSxUTi5wdXNoKHQpLGNOKHQpfWZ1bmN0aW9uIExOKHQpe3ZhciBlPXQuY2lyY2xlLG49ZS54LGk9ZS5jeSxyPVtuLGldLG89dC5QLGE9dC5OLHM9W3RdO2tOKHQpO2Zvcih2YXIgbD1vO2wuY2lyY2xlJiZNYXRoLmFicyhuLWwuY2lyY2xlLngpPEJOJiZNYXRoLmFicyhpLWwuY2lyY2xlLmN5KTxCTjspbz1sLlAscy51bnNoaWZ0KGwpLGtOKGwpLGw9bztzLnVuc2hpZnQobCksRU4obCk7Zm9yKHZhciBjPWE7Yy5jaXJjbGUmJk1hdGguYWJzKG4tYy5jaXJjbGUueCk8Qk4mJk1hdGguYWJzKGktYy5jaXJjbGUuY3kpPEJOOylhPWMuTixzLnB1c2goYyksa04oYyksYz1hO3MucHVzaChjKSxFTihjKTt2YXIgdSxoPXMubGVuZ3RoO2Zvcih1PTE7dTxoOysrdSltTigoYz1zW3VdKS5lZGdlLChsPXNbdS0xXSkuc2l0ZSxjLnNpdGUscik7KGM9c1toLTFdKS5lZGdlPXBOKChsPXNbMF0pLnNpdGUsYy5zaXRlLG51bGwsciksTU4obCksTU4oYyl9ZnVuY3Rpb24gUE4odCl7Zm9yKHZhciBlLG4saSxyLG89dFswXSxhPXRbMV0scz1STi5fO3M7KWlmKChpPU5OKHMsYSktbyk+Qk4pcz1zLkw7ZWxzZXtpZighKChyPW8tSU4ocyxhKSk+Qk4pKXtpPi1CTj8oZT1zLlAsbj1zKTpyPi1CTj8oZT1zLG49cy5OKTplPW49czticmVha31pZighcy5SKXtlPXM7YnJlYWt9cz1zLlJ9IShmdW5jdGlvbiBsKHQpe3JldHVybiBPTlt0LmluZGV4XT17c2l0ZTp0LGhhbGZlZGdlczpbXX19KSh0KTt2YXIgYz1BTih0KTtpZihSTi5pbnNlcnQoZSxjKSxlfHxuKXtpZihlPT09bilyZXR1cm4gRU4oZSksbj1BTihlLnNpdGUpLFJOLmluc2VydChjLG4pLGMuZWRnZT1uLmVkZ2U9cE4oZS5zaXRlLGMuc2l0ZSksTU4oZSksdm9pZCBNTihuKTtpZihuKXtFTihlKSxFTihuKTt2YXIgdT1lLnNpdGUsaD11WzBdLGQ9dVsxXSxwPXRbMF0taCxmPXRbMV0tZCxtPW4uc2l0ZSxnPW1bMF0taCxfPW1bMV0tZCx5PTIqKHAqXy1mKmcpLHY9cCpwK2YqZixiPWcqZytfKl8seD1bKF8qdi1mKmIpL3kraCwocCpiLWcqdikveStkXTttTihuLmVkZ2UsdSxtLHgpLGMuZWRnZT1wTih1LHQsbnVsbCx4KSxuLmVkZ2U9cE4odCxtLG51bGwseCksTU4oZSksTU4obil9ZWxzZSBjLmVkZ2U9cE4oZS5zaXRlLGMuc2l0ZSl9fWZ1bmN0aW9uIE5OKHQsZSl7dmFyIG49dC5zaXRlLGk9blswXSxyPW5bMV0sbz1yLWU7aWYoIW8pcmV0dXJuIGk7dmFyIGE9dC5QO2lmKCFhKXJldHVybi0xLzA7dmFyIHM9KG49YS5zaXRlKVswXSxsPW5bMV0sYz1sLWU7aWYoIWMpcmV0dXJuIHM7dmFyIHU9cy1pLGg9MS9vLTEvYyxkPXUvYztyZXR1cm4gaD8oLWQrTWF0aC5zcXJ0KGQqZC0yKmgqKHUqdS8oLTIqYyktbCtjLzIrci1vLzIpKSkvaCtpOihpK3MpLzJ9ZnVuY3Rpb24gSU4odCxlKXt2YXIgbj10Lk47aWYobilyZXR1cm4gTk4obixlKTt2YXIgaT10LnNpdGU7cmV0dXJuIGlbMV09PT1lP2lbMF06MS8wfXZhciBSTixPTix6TixETixCTj0xZS02LEhOPTFlLTEyO2Z1bmN0aW9uIEZOKHQsZSxuKXtyZXR1cm4odFswXS1uWzBdKSooZVsxXS10WzFdKS0odFswXS1lWzBdKSooblsxXS10WzFdKX1mdW5jdGlvbiBWTih0LGUpe3JldHVybiBlWzFdLXRbMV18fGVbMF0tdFswXX1mdW5jdGlvbiBVTih0LGUpe3ZhciBuLGkscixvPXQuc29ydChWTikucG9wKCk7Zm9yKEROPVtdLE9OPW5ldyBBcnJheSh0Lmxlbmd0aCksUk49bmV3IGxOLHpOPW5ldyBsTjs7KWlmKHI9eE4sbyYmKCFyfHxvWzFdPHIueXx8b1sxXT09PXIueSYmb1swXTxyLngpKW9bMF09PT1uJiZvWzFdPT09aXx8KFBOKG8pLG49b1swXSxpPW9bMV0pLG89dC5wb3AoKTtlbHNle2lmKCFyKWJyZWFrO0xOKHIuYXJjKX1pZigoZnVuY3Rpb24gYSgpe2Zvcih2YXIgdCxlLG4saSxyPTAsbz1PTi5sZW5ndGg7cjxvOysrcilpZigodD1PTltyXSkmJihpPShlPXQuaGFsZmVkZ2VzKS5sZW5ndGgpKXt2YXIgYT1uZXcgQXJyYXkoaSkscz1uZXcgQXJyYXkoaSk7Zm9yKG49MDtuPGk7KytuKWFbbl09bixzW25dPXlOKHQsRE5bZVtuXV0pO2ZvcihhLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHNbZV0tc1t0XX0pKSxuPTA7bjxpOysrbilzW25dPWVbYVtuXV07Zm9yKG49MDtuPGk7KytuKWVbbl09c1tuXX19KSgpLGUpe3ZhciBzPStlWzBdWzBdLGw9K2VbMF1bMV0sYz0rZVsxXVswXSx1PStlWzFdWzFdOyEoZnVuY3Rpb24gaCh0LGUsbixpKXtmb3IodmFyIHIsbz1ETi5sZW5ndGg7by0tOylfTihyPUROW29dLHQsZSxuLGkpJiZnTihyLHQsZSxuLGkpJiYoTWF0aC5hYnMoclswXVswXS1yWzFdWzBdKT5CTnx8TWF0aC5hYnMoclswXVsxXS1yWzFdWzFdKT5CTil8fGRlbGV0ZSBETltvXX0pKHMsbCxjLHUpLChmdW5jdGlvbiBkKHQsZSxuLGkpe3ZhciByLG8sYSxzLGwsYyx1LGgsZCxwLGYsbSxnPU9OLmxlbmd0aCxfPSEwO2ZvcihyPTA7cjxnOysrcilpZihvPU9OW3JdKXtmb3IoYT1vLnNpdGUscz0obD1vLmhhbGZlZGdlcykubGVuZ3RoO3MtLTspRE5bbFtzXV18fGwuc3BsaWNlKHMsMSk7Zm9yKHM9MCxjPWwubGVuZ3RoO3M8YzspZj0ocD1iTihvLEROW2xbc11dKSlbMF0sbT1wWzFdLGg9KHU9dk4obyxETltsWysrcyVjXV0pKVswXSxkPXVbMV0sKE1hdGguYWJzKGYtaCk+Qk58fE1hdGguYWJzKG0tZCk+Qk4pJiYobC5zcGxpY2UocywwLEROLnB1c2goZk4oYSxwLE1hdGguYWJzKGYtdCk8Qk4mJmktbT5CTj9bdCxNYXRoLmFicyhoLXQpPEJOP2Q6aV06TWF0aC5hYnMobS1pKTxCTiYmbi1mPkJOP1tNYXRoLmFicyhkLWkpPEJOP2g6bixpXTpNYXRoLmFicyhmLW4pPEJOJiZtLWU+Qk4/W24sTWF0aC5hYnMoaC1uKTxCTj9kOmVdOk1hdGguYWJzKG0tZSk8Qk4mJmYtdD5CTj9bTWF0aC5hYnMoZC1lKTxCTj9oOnQsZV06bnVsbCkpLTEpLCsrYyk7YyYmKF89ITEpfWlmKF8pe3ZhciB5LHYsYix4PTEvMDtmb3Iocj0wLF89bnVsbDtyPGc7KytyKShvPU9OW3JdKSYmKGI9KHk9KGE9by5zaXRlKVswXS10KSp5Kyh2PWFbMV0tZSkqdik8eCYmKHg9YixfPW8pO2lmKF8pe3ZhciB3PVt0LGVdLFM9W3QsaV0sTT1bbixpXSxFPVtuLGVdO18uaGFsZmVkZ2VzLnB1c2goRE4ucHVzaChmTihhPV8uc2l0ZSx3LFMpKS0xLEROLnB1c2goZk4oYSxTLE0pKS0xLEROLnB1c2goZk4oYSxNLEUpKS0xLEROLnB1c2goZk4oYSxFLHcpKS0xKX19Zm9yKHI9MDtyPGc7KytyKShvPU9OW3JdKSYmKG8uaGFsZmVkZ2VzLmxlbmd0aHx8ZGVsZXRlIE9OW3JdKX0pKHMsbCxjLHUpfXRoaXMuZWRnZXM9RE4sdGhpcy5jZWxscz1PTixSTj16Tj1ETj1PTj1udWxsfWZ1bmN0aW9uIGpOKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBHTih0LGUsbil7dGhpcy50YXJnZXQ9dCx0aGlzLnR5cGU9ZSx0aGlzLnRyYW5zZm9ybT1ufWZ1bmN0aW9uIFdOKHQsZSxuKXt0aGlzLms9dCx0aGlzLng9ZSx0aGlzLnk9bn1VTi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlVOLHBvbHlnb25zOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lZGdlcztyZXR1cm4gdGhpcy5jZWxscy5tYXAoKGZ1bmN0aW9uKGUpe3ZhciBuPWUuaGFsZmVkZ2VzLm1hcCgoZnVuY3Rpb24obil7cmV0dXJuIHZOKGUsdFtuXSl9KSk7cmV0dXJuIG4uZGF0YT1lLnNpdGUuZGF0YSxufSkpfSx0cmlhbmdsZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXSxlPXRoaXMuZWRnZXM7cmV0dXJuIHRoaXMuY2VsbHMuZm9yRWFjaCgoZnVuY3Rpb24obixpKXtpZihvPShyPW4uaGFsZmVkZ2VzKS5sZW5ndGgpZm9yKHZhciByLG8sYSxzPW4uc2l0ZSxsPS0xLGM9ZVtyW28tMV1dLHU9Yy5sZWZ0PT09cz9jLnJpZ2h0OmMubGVmdDsrK2w8bzspYT11LHU9KGM9ZVtyW2xdXSkubGVmdD09PXM/Yy5yaWdodDpjLmxlZnQsYSYmdSYmaTxhLmluZGV4JiZpPHUuaW5kZXgmJkZOKHMsYSx1KTwwJiZ0LnB1c2goW3MuZGF0YSxhLmRhdGEsdS5kYXRhXSl9KSksdH0sbGlua3M6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGdlcy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJpZ2h0fSkpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJue3NvdXJjZTp0LmxlZnQuZGF0YSx0YXJnZXQ6dC5yaWdodC5kYXRhfX0pKX0sZmluZDpmdW5jdGlvbih0LGUsbil7Zm9yKHZhciBpLHIsbz10aGlzLGE9by5fZm91bmR8fDAscz1vLmNlbGxzLmxlbmd0aDshKHI9by5jZWxsc1thXSk7KWlmKCsrYT49cylyZXR1cm4gbnVsbDt2YXIgbD10LXIuc2l0ZVswXSxjPWUtci5zaXRlWzFdLHU9bCpsK2MqYztkb3tyPW8uY2VsbHNbaT1hXSxhPW51bGwsci5oYWxmZWRnZXMuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIGk9by5lZGdlc1tuXSxzPWkubGVmdDtpZihzIT09ci5zaXRlJiZzfHwocz1pLnJpZ2h0KSl7dmFyIGw9dC1zWzBdLGM9ZS1zWzFdLGg9bCpsK2MqYztoPHUmJih1PWgsYT1zLmluZGV4KX19KSl9d2hpbGUobnVsbCE9PWEpO3JldHVybiBvLl9mb3VuZD1pLG51bGw9PW58fHU8PW4qbj9yLnNpdGU6bnVsbH19LFdOLnByb3RvdHlwZT17Y29uc3RydWN0b3I6V04sc2NhbGU6ZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10P3RoaXM6bmV3IFdOKHRoaXMuayp0LHRoaXMueCx0aGlzLnkpfSx0cmFuc2xhdGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gMD09PXQmMD09PWU/dGhpczpuZXcgV04odGhpcy5rLHRoaXMueCt0aGlzLmsqdCx0aGlzLnkrdGhpcy5rKmUpfSxhcHBseTpmdW5jdGlvbih0KXtyZXR1cm5bdFswXSp0aGlzLmsrdGhpcy54LHRbMV0qdGhpcy5rK3RoaXMueV19LGFwcGx5WDpmdW5jdGlvbih0KXtyZXR1cm4gdCp0aGlzLmsrdGhpcy54fSxhcHBseVk6ZnVuY3Rpb24odCl7cmV0dXJuIHQqdGhpcy5rK3RoaXMueX0saW52ZXJ0OmZ1bmN0aW9uKHQpe3JldHVyblsodFswXS10aGlzLngpL3RoaXMuaywodFsxXS10aGlzLnkpL3RoaXMua119LGludmVydFg6ZnVuY3Rpb24odCl7cmV0dXJuKHQtdGhpcy54KS90aGlzLmt9LGludmVydFk6ZnVuY3Rpb24odCl7cmV0dXJuKHQtdGhpcy55KS90aGlzLmt9LHJlc2NhbGVYOmZ1bmN0aW9uKHQpe3JldHVybiB0LmNvcHkoKS5kb21haW4odC5yYW5nZSgpLm1hcCh0aGlzLmludmVydFgsdGhpcykubWFwKHQuaW52ZXJ0LHQpKX0scmVzY2FsZVk6ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weSgpLmRvbWFpbih0LnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0WSx0aGlzKS5tYXAodC5pbnZlcnQsdCkpfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJ0cmFuc2xhdGUoIit0aGlzLngrIiwiK3RoaXMueSsiKSBzY2FsZSgiK3RoaXMuaysiKSJ9fTt2YXIgcU49bmV3IFdOKDEsMCwwKTtmdW5jdGlvbiBZTih0KXtmb3IoOyF0Ll9fem9vbTspaWYoISh0PXQucGFyZW50Tm9kZSkpcmV0dXJuIHFOO3JldHVybiB0Ll9fem9vbX1mdW5jdGlvbiBYTigpe011LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfWZ1bmN0aW9uICROKCl7TXUucHJldmVudERlZmF1bHQoKSxNdS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBLTigpe3JldHVybiFNdS5jdHJsS2V5JiYhTXUuYnV0dG9ufWZ1bmN0aW9uIFpOKCl7dmFyIHQ9dGhpcztyZXR1cm4gdCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQ/KHQ9dC5vd25lclNWR0VsZW1lbnR8fHQpLmhhc0F0dHJpYnV0ZSgidmlld0JveCIpP1tbKHQ9dC52aWV3Qm94LmJhc2VWYWwpLngsdC55XSxbdC54K3Qud2lkdGgsdC55K3QuaGVpZ2h0XV06W1swLDBdLFt0LndpZHRoLmJhc2VWYWwudmFsdWUsdC5oZWlnaHQuYmFzZVZhbC52YWx1ZV1dOltbMCwwXSxbdC5jbGllbnRXaWR0aCx0LmNsaWVudEhlaWdodF1dfWZ1bmN0aW9uIEpOKCl7cmV0dXJuIHRoaXMuX196b29tfHxxTn1mdW5jdGlvbiBRTigpe3JldHVybi1NdS5kZWx0YVkqKDE9PT1NdS5kZWx0YU1vZGU/LjA1Ok11LmRlbHRhTW9kZT8xOi4wMDIpfWZ1bmN0aW9uIHRJKCl7cmV0dXJuIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50c3x8Im9udG91Y2hzdGFydCJpbiB0aGlzfWZ1bmN0aW9uIGVJKHQsZSxuKXt2YXIgaT10LmludmVydFgoZVswXVswXSktblswXVswXSxyPXQuaW52ZXJ0WChlWzFdWzBdKS1uWzFdWzBdLG89dC5pbnZlcnRZKGVbMF1bMV0pLW5bMF1bMV0sYT10LmludmVydFkoZVsxXVsxXSktblsxXVsxXTtyZXR1cm4gdC50cmFuc2xhdGUocj5pPyhpK3IpLzI6TWF0aC5taW4oMCxpKXx8TWF0aC5tYXgoMCxyKSxhPm8/KG8rYSkvMjpNYXRoLm1pbigwLG8pfHxNYXRoLm1heCgwLGEpKX1mdW5jdGlvbiBuSSgpe3ZhciB0LGUsbj1LTixpPVpOLHI9ZUksbz1RTixhPXRJLHM9WzAsMS8wXSxsPVtbLTEvMCwtMS8wXSxbMS8wLDEvMF1dLGM9MjUwLHU9RXAsaD13Yygic3RhcnQiLCJ6b29tIiwiZW5kIiksZD01MDAscD0wO2Z1bmN0aW9uIGYodCl7dC5wcm9wZXJ0eSgiX196b29tIixKTikub24oIndoZWVsLnpvb20iLHgpLm9uKCJtb3VzZWRvd24uem9vbSIsdykub24oImRibGNsaWNrLnpvb20iLFMpLmZpbHRlcihhKS5vbigidG91Y2hzdGFydC56b29tIixNKS5vbigidG91Y2htb3ZlLnpvb20iLEUpLm9uKCJ0b3VjaGVuZC56b29tIHRvdWNoY2FuY2VsLnpvb20iLFQpLnN0eWxlKCJ0b3VjaC1hY3Rpb24iLCJub25lIikuc3R5bGUoIi13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvciIsInJnYmEoMCwwLDAsMCkiKX1mdW5jdGlvbiBtKHQsZSl7cmV0dXJuKGU9TWF0aC5tYXgoc1swXSxNYXRoLm1pbihzWzFdLGUpKSk9PT10Lms/dDpuZXcgV04oZSx0LngsdC55KX1mdW5jdGlvbiBnKHQsZSxuKXt2YXIgaT1lWzBdLW5bMF0qdC5rLHI9ZVsxXS1uWzFdKnQuaztyZXR1cm4gaT09PXQueCYmcj09PXQueT90Om5ldyBXTih0LmssaSxyKX1mdW5jdGlvbiBfKHQpe3JldHVyblsoK3RbMF1bMF0rICt0WzFdWzBdKS8yLCgrdFswXVsxXSsgK3RbMV1bMV0pLzJdfWZ1bmN0aW9uIHkodCxlLG4pe3Qub24oInN0YXJ0Lnpvb20iLChmdW5jdGlvbigpe3YodGhpcyxhcmd1bWVudHMpLnN0YXJ0KCl9KSkub24oImludGVycnVwdC56b29tIGVuZC56b29tIiwoZnVuY3Rpb24oKXt2KHRoaXMsYXJndW1lbnRzKS5lbmQoKX0pKS50d2Vlbigiem9vbSIsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxyPWFyZ3VtZW50cyxvPXYodCxyKSxhPWkuYXBwbHkodCxyKSxzPW51bGw9PW4/XyhhKToiZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmFwcGx5KHQscik6bixsPU1hdGgubWF4KGFbMV1bMF0tYVswXVswXSxhWzFdWzFdLWFbMF1bMV0pLGM9dC5fX3pvb20saD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lLmFwcGx5KHQscik6ZSxkPXUoYy5pbnZlcnQocykuY29uY2F0KGwvYy5rKSxoLmludmVydChzKS5jb25jYXQobC9oLmspKTtyZXR1cm4gZnVuY3Rpb24odCl7aWYoMT09PXQpdD1oO2Vsc2V7dmFyIGU9ZCh0KSxuPWwvZVsyXTt0PW5ldyBXTihuLHNbMF0tZVswXSpuLHNbMV0tZVsxXSpuKX1vLnpvb20obnVsbCx0KX19KSl9ZnVuY3Rpb24gdih0LGUsbil7cmV0dXJuIW4mJnQuX196b29taW5nfHxuZXcgYih0LGUpfWZ1bmN0aW9uIGIodCxlKXt0aGlzLnRoYXQ9dCx0aGlzLmFyZ3M9ZSx0aGlzLmFjdGl2ZT0wLHRoaXMuZXh0ZW50PWkuYXBwbHkodCxlKSx0aGlzLnRhcHM9MH1mdW5jdGlvbiB4KCl7aWYobi5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciB0PXYodGhpcyxhcmd1bWVudHMpLGU9dGhpcy5fX3pvb20saT1NYXRoLm1heChzWzBdLE1hdGgubWluKHNbMV0sZS5rKk1hdGgucG93KDIsby5hcHBseSh0aGlzLGFyZ3VtZW50cykpKSksYT1iaCh0aGlzKTtpZih0LndoZWVsKXQubW91c2VbMF1bMF09PT1hWzBdJiZ0Lm1vdXNlWzBdWzFdPT09YVsxXXx8KHQubW91c2VbMV09ZS5pbnZlcnQodC5tb3VzZVswXT1hKSksY2xlYXJUaW1lb3V0KHQud2hlZWwpO2Vsc2V7aWYoZS5rPT09aSlyZXR1cm47dC5tb3VzZT1bYSxlLmludmVydChhKV0sbGYodGhpcyksdC5zdGFydCgpfSROKCksdC53aGVlbD1zZXRUaW1lb3V0KGMsMTUwKSx0Lnpvb20oIm1vdXNlIixyKGcobShlLGkpLHQubW91c2VbMF0sdC5tb3VzZVsxXSksdC5leHRlbnQsbCkpfWZ1bmN0aW9uIGMoKXt0LndoZWVsPW51bGwsdC5lbmQoKX19ZnVuY3Rpb24gdygpe2lmKCFlJiZuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIHQ9dih0aGlzLGFyZ3VtZW50cywhMCksaT1EdShNdS52aWV3KS5vbigibW91c2Vtb3ZlLnpvb20iLGMsITApLm9uKCJtb3VzZXVwLnpvb20iLHUsITApLG89YmgodGhpcyksYT1NdS5jbGllbnRYLHM9TXUuY2xpZW50WTtFaChNdS52aWV3KSxYTigpLHQubW91c2U9W28sdGhpcy5fX3pvb20uaW52ZXJ0KG8pXSxsZih0aGlzKSx0LnN0YXJ0KCl9ZnVuY3Rpb24gYygpe2lmKCROKCksIXQubW92ZWQpe3ZhciBlPU11LmNsaWVudFgtYSxuPU11LmNsaWVudFktczt0Lm1vdmVkPWUqZStuKm4+cH10Lnpvb20oIm1vdXNlIixyKGcodC50aGF0Ll9fem9vbSx0Lm1vdXNlWzBdPWJoKHQudGhhdCksdC5tb3VzZVsxXSksdC5leHRlbnQsbCkpfWZ1bmN0aW9uIHUoKXtpLm9uKCJtb3VzZW1vdmUuem9vbSBtb3VzZXVwLnpvb20iLG51bGwpLFRoKE11LnZpZXcsdC5tb3ZlZCksJE4oKSx0LmVuZCgpfX1mdW5jdGlvbiBTKCl7aWYobi5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciB0PXRoaXMuX196b29tLGU9YmgodGhpcyksbz10LmludmVydChlKSxhPXQuayooTXUuc2hpZnRLZXk/LjU6Mikscz1yKGcobSh0LGEpLGUsbyksaS5hcHBseSh0aGlzLGFyZ3VtZW50cyksbCk7JE4oKSxjPjA/RHUodGhpcykudHJhbnNpdGlvbigpLmR1cmF0aW9uKGMpLmNhbGwoeSxzLGUpOkR1KHRoaXMpLmNhbGwoZi50cmFuc2Zvcm0scyl9fWZ1bmN0aW9uIE0oKXtpZihuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIGUsaSxyLG8sYT1NdS50b3VjaGVzLHM9YS5sZW5ndGgsbD12KHRoaXMsYXJndW1lbnRzLE11LmNoYW5nZWRUb3VjaGVzLmxlbmd0aD09PXMpO2ZvcihYTigpLGk9MDtpPHM7KytpKW89W289d2godGhpcyxhLChyPWFbaV0pLmlkZW50aWZpZXIpLHRoaXMuX196b29tLmludmVydChvKSxyLmlkZW50aWZpZXJdLGwudG91Y2gwP2wudG91Y2gxfHxsLnRvdWNoMFsyXT09PW9bMl18fChsLnRvdWNoMT1vLGwudGFwcz0wKToobC50b3VjaDA9byxlPSEwLGwudGFwcz0xKyEhdCk7dCYmKHQ9Y2xlYXJUaW1lb3V0KHQpKSxlJiYobC50YXBzPDImJih0PXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dD1udWxsfSksZCkpLGxmKHRoaXMpLGwuc3RhcnQoKSl9fWZ1bmN0aW9uIEUoKXtpZih0aGlzLl9fem9vbWluZyl7dmFyIGUsbixpLG8sYT12KHRoaXMsYXJndW1lbnRzKSxzPU11LmNoYW5nZWRUb3VjaGVzLGM9cy5sZW5ndGg7Zm9yKCROKCksdCYmKHQ9Y2xlYXJUaW1lb3V0KHQpKSxhLnRhcHM9MCxlPTA7ZTxjOysrZSlpPXdoKHRoaXMscywobj1zW2VdKS5pZGVudGlmaWVyKSxhLnRvdWNoMCYmYS50b3VjaDBbMl09PT1uLmlkZW50aWZpZXI/YS50b3VjaDBbMF09aTphLnRvdWNoMSYmYS50b3VjaDFbMl09PT1uLmlkZW50aWZpZXImJihhLnRvdWNoMVswXT1pKTtpZihuPWEudGhhdC5fX3pvb20sYS50b3VjaDEpe3ZhciB1PWEudG91Y2gwWzBdLGg9YS50b3VjaDBbMV0sZD1hLnRvdWNoMVswXSxwPWEudG91Y2gxWzFdLGY9KGY9ZFswXS11WzBdKSpmKyhmPWRbMV0tdVsxXSkqZixfPShfPXBbMF0taFswXSkqXysoXz1wWzFdLWhbMV0pKl87bj1tKG4sTWF0aC5zcXJ0KGYvXykpLGk9Wyh1WzBdK2RbMF0pLzIsKHVbMV0rZFsxXSkvMl0sbz1bKGhbMF0rcFswXSkvMiwoaFsxXStwWzFdKS8yXX1lbHNle2lmKCFhLnRvdWNoMClyZXR1cm47aT1hLnRvdWNoMFswXSxvPWEudG91Y2gwWzFdfWEuem9vbSgidG91Y2giLHIoZyhuLGksbyksYS5leHRlbnQsbCkpfX1mdW5jdGlvbiBUKCl7aWYodGhpcy5fX3pvb21pbmcpe3ZhciB0LG4saT12KHRoaXMsYXJndW1lbnRzKSxyPU11LmNoYW5nZWRUb3VjaGVzLG89ci5sZW5ndGg7Zm9yKFhOKCksZSYmY2xlYXJUaW1lb3V0KGUpLGU9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtlPW51bGx9KSxkKSx0PTA7dDxvOysrdCluPXJbdF0saS50b3VjaDAmJmkudG91Y2gwWzJdPT09bi5pZGVudGlmaWVyP2RlbGV0ZSBpLnRvdWNoMDppLnRvdWNoMSYmaS50b3VjaDFbMl09PT1uLmlkZW50aWZpZXImJmRlbGV0ZSBpLnRvdWNoMTtpZihpLnRvdWNoMSYmIWkudG91Y2gwJiYoaS50b3VjaDA9aS50b3VjaDEsZGVsZXRlIGkudG91Y2gxKSxpLnRvdWNoMClpLnRvdWNoMFsxXT10aGlzLl9fem9vbS5pbnZlcnQoaS50b3VjaDBbMF0pO2Vsc2UgaWYoaS5lbmQoKSwyPT09aS50YXBzKXt2YXIgYT1EdSh0aGlzKS5vbigiZGJsY2xpY2suem9vbSIpO2EmJmEuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19cmV0dXJuIGYudHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10LnNlbGVjdGlvbj90LnNlbGVjdGlvbigpOnQ7aS5wcm9wZXJ0eSgiX196b29tIixKTiksdCE9PWk/eSh0LGUsbik6aS5pbnRlcnJ1cHQoKS5lYWNoKChmdW5jdGlvbigpe3YodGhpcyxhcmd1bWVudHMpLnN0YXJ0KCkuem9vbShudWxsLCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UuYXBwbHkodGhpcyxhcmd1bWVudHMpOmUpLmVuZCgpfSkpfSxmLnNjYWxlQnk9ZnVuY3Rpb24odCxlLG4pe2Yuc2NhbGVUbyh0LChmdW5jdGlvbigpe3ZhciB0PXRoaXMuX196b29tLmssbj0iZnVuY3Rpb24iPT10eXBlb2YgZT9lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTplO3JldHVybiB0Km59KSxuKX0sZi5zY2FsZVRvPWZ1bmN0aW9uKHQsZSxuKXtmLnRyYW5zZm9ybSh0LChmdW5jdGlvbigpe3ZhciB0PWkuYXBwbHkodGhpcyxhcmd1bWVudHMpLG89dGhpcy5fX3pvb20sYT1udWxsPT1uP18odCk6ImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6bixzPW8uaW52ZXJ0KGEpLGM9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6ZTtyZXR1cm4gcihnKG0obyxjKSxhLHMpLHQsbCl9KSxuKX0sZi50cmFuc2xhdGVCeT1mdW5jdGlvbih0LGUsbil7Zi50cmFuc2Zvcm0odCwoZnVuY3Rpb24oKXtyZXR1cm4gcih0aGlzLl9fem9vbS50cmFuc2xhdGUoImZ1bmN0aW9uIj09dHlwZW9mIGU/ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6ZSwiZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTpuKSxpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxsKX0pKX0sZi50cmFuc2xhdGVUbz1mdW5jdGlvbih0LGUsbixvKXtmLnRyYW5zZm9ybSh0LChmdW5jdGlvbigpe3ZhciB0PWkuYXBwbHkodGhpcyxhcmd1bWVudHMpLGE9dGhpcy5fX3pvb20scz1udWxsPT1vP18odCk6ImZ1bmN0aW9uIj09dHlwZW9mIG8/by5hcHBseSh0aGlzLGFyZ3VtZW50cyk6bztyZXR1cm4gcihxTi50cmFuc2xhdGUoc1swXSxzWzFdKS5zY2FsZShhLmspLnRyYW5zbGF0ZSgiZnVuY3Rpb24iPT10eXBlb2YgZT8tZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6LWUsImZ1bmN0aW9uIj09dHlwZW9mIG4/LW4uYXBwbHkodGhpcyxhcmd1bWVudHMpOi1uKSx0LGwpfSksbyl9LGIucHJvdG90eXBlPXtzdGFydDpmdW5jdGlvbigpe3JldHVybiAxPT0rK3RoaXMuYWN0aXZlJiYodGhpcy50aGF0Ll9fem9vbWluZz10aGlzLHRoaXMuZW1pdCgic3RhcnQiKSksdGhpc30sem9vbTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLm1vdXNlJiYibW91c2UiIT09dCYmKHRoaXMubW91c2VbMV09ZS5pbnZlcnQodGhpcy5tb3VzZVswXSkpLHRoaXMudG91Y2gwJiYidG91Y2giIT09dCYmKHRoaXMudG91Y2gwWzFdPWUuaW52ZXJ0KHRoaXMudG91Y2gwWzBdKSksdGhpcy50b3VjaDEmJiJ0b3VjaCIhPT10JiYodGhpcy50b3VjaDFbMV09ZS5pbnZlcnQodGhpcy50b3VjaDFbMF0pKSx0aGlzLnRoYXQuX196b29tPWUsdGhpcy5lbWl0KCJ6b29tIiksdGhpc30sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIDA9PS0tdGhpcy5hY3RpdmUmJihkZWxldGUgdGhpcy50aGF0Ll9fem9vbWluZyx0aGlzLmVtaXQoImVuZCIpKSx0aGlzfSxlbWl0OmZ1bmN0aW9uKHQpe0x1KG5ldyBHTihmLHQsdGhpcy50aGF0Ll9fem9vbSksaC5hcHBseSxoLFt0LHRoaXMudGhhdCx0aGlzLmFyZ3NdKX19LGYud2hlZWxEZWx0YT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmpOKCt0KSxmKTpvfSxmLmZpbHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmpOKCEhdCksZik6bn0sZi50b3VjaGFibGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpqTighIXQpLGYpOmF9LGYuZXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ak4oW1srdFswXVswXSwrdFswXVsxXV0sWyt0WzFdWzBdLCt0WzFdWzFdXV0pLGYpOml9LGYuc2NhbGVFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHNbMF09K3RbMF0sc1sxXT0rdFsxXSxmKTpbc1swXSxzWzFdXX0sZi50cmFuc2xhdGVFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGxbMF1bMF09K3RbMF1bMF0sbFsxXVswXT0rdFsxXVswXSxsWzBdWzFdPSt0WzBdWzFdLGxbMV1bMV09K3RbMV1bMV0sZik6W1tsWzBdWzBdLGxbMF1bMV1dLFtsWzFdWzBdLGxbMV1bMV1dXX0sZi5jb25zdHJhaW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9dCxmKTpyfSxmLmR1cmF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPSt0LGYpOmN9LGYuaW50ZXJwb2xhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHU9dCxmKTp1fSxmLm9uPWZ1bmN0aW9uKCl7dmFyIHQ9aC5vbi5hcHBseShoLGFyZ3VtZW50cyk7cmV0dXJuIHQ9PT1oP2Y6dH0sZi5jbGlja0Rpc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhwPSh0PSt0KSp0LGYpOk1hdGguc3FydChwKX0sZn1ZTi5wcm90b3R5cGU9V04ucHJvdG90eXBlO3ZhciBpST1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCx2ZXJzaW9uOiI1LjcuMCIsYmlzZWN0OkRsLGJpc2VjdFJpZ2h0OkRsLGJpc2VjdExlZnQ6QmwsYXNjZW5kaW5nOlJsLGJpc2VjdG9yOk9sLGNyb3NzOkZsLGRlc2NlbmRpbmc6ZnVuY3Rpb24gckkodCxlKXtyZXR1cm4gZTx0Py0xOmU+dD8xOmU+PXQ/MDpOYU59LGRldmlhdGlvbjpqbCxleHRlbnQ6R2wsaGlzdG9ncmFtOmZ1bmN0aW9uIG9JKCl7dmFyIHQ9JGwsZT1HbCxuPWljO2Z1bmN0aW9uIGkoaSl7dmFyIHIsbyxhPWkubGVuZ3RoLHM9bmV3IEFycmF5KGEpO2ZvcihyPTA7cjxhOysrcilzW3JdPXQoaVtyXSxyLGkpO3ZhciBsPWUocyksYz1sWzBdLHU9bFsxXSxoPW4ocyxjLHUpO0FycmF5LmlzQXJyYXkoaCl8fChoPW5jKGMsdSxoKSxoPUtsKE1hdGguY2VpbChjL2gpKmgsdSxoKSk7Zm9yKHZhciBkPWgubGVuZ3RoO2hbMF08PWM7KWguc2hpZnQoKSwtLWQ7Zm9yKDtoW2QtMV0+dTspaC5wb3AoKSwtLWQ7dmFyIHAsZj1uZXcgQXJyYXkoZCsxKTtmb3Iocj0wO3I8PWQ7KytyKShwPWZbcl09W10pLngwPXI+MD9oW3ItMV06YyxwLngxPXI8ZD9oW3JdOnU7Zm9yKHI9MDtyPGE7KytyKWM8PShvPXNbcl0pJiZvPD11JiZmW0RsKGgsbywwLGQpXS5wdXNoKGlbcl0pO3JldHVybiBmfXJldHVybiBpLnZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6WGwoZSksaSk6dH0saS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpYbChbdFswXSx0WzFdXSksaSk6ZX0saS50aHJlc2hvbGRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QXJyYXkuaXNBcnJheSh0KT9YbChxbC5jYWxsKHQpKTpYbCh0KSxpKTpufSxpfSx0aHJlc2hvbGRGcmVlZG1hbkRpYWNvbmlzOmZ1bmN0aW9uIGFJKHQsZSxuKXtyZXR1cm4gdD1ZbC5jYWxsKHQsVmwpLnNvcnQoUmwpLE1hdGguY2VpbCgobi1lKS8oMioocmModCwuNzUpLXJjKHQsLjI1KSkqTWF0aC5wb3codC5sZW5ndGgsLTEvMykpKX0sdGhyZXNob2xkU2NvdHQ6ZnVuY3Rpb24gc0kodCxlLG4pe3JldHVybiBNYXRoLmNlaWwoKG4tZSkvKDMuNSpqbCh0KSpNYXRoLnBvdyh0Lmxlbmd0aCwtMS8zKSkpfSx0aHJlc2hvbGRTdHVyZ2VzOmljLG1heDpvYyxtZWFuOmZ1bmN0aW9uIGxJKHQsZSl7dmFyIG4saT10Lmxlbmd0aCxyPWksbz0tMSxhPTA7aWYobnVsbD09ZSlmb3IoOysrbzxpOylpc05hTihuPVZsKHRbb10pKT8tLXI6YSs9bjtlbHNlIGZvcig7KytvPGk7KWlzTmFOKG49VmwoZSh0W29dLG8sdCkpKT8tLXI6YSs9bjtpZihyKXJldHVybiBhL3J9LG1lZGlhbjpmdW5jdGlvbiBjSSh0LGUpe3ZhciBuLGk9dC5sZW5ndGgscj0tMSxvPVtdO2lmKG51bGw9PWUpZm9yKDsrK3I8aTspaXNOYU4obj1WbCh0W3JdKSl8fG8ucHVzaChuKTtlbHNlIGZvcig7KytyPGk7KWlzTmFOKG49VmwoZSh0W3JdLHIsdCkpKXx8by5wdXNoKG4pO3JldHVybiByYyhvLnNvcnQoUmwpLC41KX0sbWVyZ2U6YWMsbWluOnNjLHBhaXJzOmZ1bmN0aW9uIHVJKHQsZSl7bnVsbD09ZSYmKGU9SGwpO2Zvcih2YXIgbj0wLGk9dC5sZW5ndGgtMSxyPXRbMF0sbz1uZXcgQXJyYXkoaTwwPzA6aSk7bjxpOylvW25dPWUocixyPXRbKytuXSk7cmV0dXJuIG99LHBlcm11dGU6ZnVuY3Rpb24gaEkodCxlKXtmb3IodmFyIG49ZS5sZW5ndGgsaT1uZXcgQXJyYXkobik7bi0tOylpW25dPXRbZVtuXV07cmV0dXJuIGl9LHF1YW50aWxlOnJjLHJhbmdlOktsLHNjYW46ZnVuY3Rpb24gZEkodCxlKXtpZihuPXQubGVuZ3RoKXt2YXIgbixpLHI9MCxvPTAsYT10W29dO2ZvcihudWxsPT1lJiYoZT1SbCk7KytyPG47KShlKGk9dFtyXSxhKTwwfHwwIT09ZShhLGEpKSYmKGE9aSxvPXIpO3JldHVybiAwPT09ZShhLGEpP286dm9pZCAwfX0sc2h1ZmZsZTpmdW5jdGlvbiBwSSh0LGUsbil7Zm9yKHZhciBpLHIsbz0obnVsbD09bj90Lmxlbmd0aDpuKS0oZT1udWxsPT1lPzA6K2UpO287KXI9TWF0aC5yYW5kb20oKSpvLS18MCxpPXRbbytlXSx0W28rZV09dFtyK2VdLHRbcitlXT1pO3JldHVybiB0fSxzdW06ZnVuY3Rpb24gZkkodCxlKXt2YXIgbixpPXQubGVuZ3RoLHI9LTEsbz0wO2lmKG51bGw9PWUpZm9yKDsrK3I8aTspKG49K3Rbcl0pJiYobys9bik7ZWxzZSBmb3IoOysrcjxpOykobj0rZSh0W3JdLHIsdCkpJiYobys9bik7cmV0dXJuIG99LHRpY2tzOnRjLHRpY2tJbmNyZW1lbnQ6ZWMsdGlja1N0ZXA6bmMsdHJhbnNwb3NlOmxjLHZhcmlhbmNlOlVsLHppcDpmdW5jdGlvbiBtSSgpe3JldHVybiBsYyhhcmd1bWVudHMpfSxheGlzVG9wOmZ1bmN0aW9uIGdJKHQpe3JldHVybiB5YygxLHQpfSxheGlzUmlnaHQ6ZnVuY3Rpb24gX0kodCl7cmV0dXJuIHljKDIsdCl9LGF4aXNCb3R0b206dmMsYXhpc0xlZnQ6YmMsYnJ1c2g6dmcsYnJ1c2hYOmZ1bmN0aW9uIHlJKCl7cmV0dXJuIGJnKGlnKX0sYnJ1c2hZOnlnLGJydXNoU2VsZWN0aW9uOl9nLGNob3JkOmZ1bmN0aW9uIHZJKCl7dmFyIHQ9MCxlPW51bGwsbj1udWxsLGk9bnVsbDtmdW5jdGlvbiByKHIpe3ZhciBvLGEscyxsLGMsdSxoPXIubGVuZ3RoLGQ9W10scD1LbChoKSxmPVtdLG09W10sZz1tLmdyb3Vwcz1uZXcgQXJyYXkoaCksXz1uZXcgQXJyYXkoaCpoKTtmb3Iobz0wLGM9LTE7KytjPGg7KXtmb3IoYT0wLHU9LTE7Kyt1PGg7KWErPXJbY11bdV07ZC5wdXNoKGEpLGYucHVzaChLbChoKSksbys9YX1mb3IoZSYmcC5zb3J0KChmdW5jdGlvbih0LG4pe3JldHVybiBlKGRbdF0sZFtuXSl9KSksbiYmZi5mb3JFYWNoKChmdW5jdGlvbih0LGUpe3Quc29ydCgoZnVuY3Rpb24odCxpKXtyZXR1cm4gbihyW2VdW3RdLHJbZV1baV0pfSkpfSkpLGw9KG89VGcoMCxFZy10KmgpL28pP3Q6RWcvaCxhPTAsYz0tMTsrK2M8aDspe2ZvcihzPWEsdT0tMTsrK3U8aDspe3ZhciB5PXBbY10sdj1mW3ldW3VdLGI9clt5XVt2XSx4PWEsdz1hKz1iKm87X1t2KmgreV09e2luZGV4Onksc3ViaW5kZXg6dixzdGFydEFuZ2xlOngsZW5kQW5nbGU6dyx2YWx1ZTpifX1nW3ldPXtpbmRleDp5LHN0YXJ0QW5nbGU6cyxlbmRBbmdsZTphLHZhbHVlOmRbeV19LGErPWx9Zm9yKGM9LTE7KytjPGg7KWZvcih1PWMtMTsrK3U8aDspe3ZhciBTPV9bdSpoK2NdLE09X1tjKmgrdV07KFMudmFsdWV8fE0udmFsdWUpJiZtLnB1c2goUy52YWx1ZTxNLnZhbHVlP3tzb3VyY2U6TSx0YXJnZXQ6U306e3NvdXJjZTpTLHRhcmdldDpNfSl9cmV0dXJuIGk/bS5zb3J0KGkpOm19cmV0dXJuIHIucGFkQW5nbGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9VGcoMCxlKSxyKTp0fSxyLnNvcnRHcm91cHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxyKTplfSxyLnNvcnRTdWJncm91cHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxyKTpufSxyLnNvcnRDaG9yZHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG51bGw9PXQ/aT1udWxsOihpPUNnKHQpKS5fPXQscik6aSYmaS5ffSxyfSxyaWJib246ZnVuY3Rpb24gYkkoKXt2YXIgdD16ZyxlPURnLG49QmcsaT1IZyxyPUZnLG89bnVsbDtmdW5jdGlvbiBhKCl7dmFyIGEscz1BZy5jYWxsKGFyZ3VtZW50cyksbD10LmFwcGx5KHRoaXMscyksYz1lLmFwcGx5KHRoaXMscyksdT0rbi5hcHBseSh0aGlzLChzWzBdPWwscykpLGg9aS5hcHBseSh0aGlzLHMpLU1nLGQ9ci5hcHBseSh0aGlzLHMpLU1nLHA9dSp4ZyhoKSxmPXUqd2coaCksbT0rbi5hcHBseSh0aGlzLChzWzBdPWMscykpLGc9aS5hcHBseSh0aGlzLHMpLU1nLF89ci5hcHBseSh0aGlzLHMpLU1nO2lmKG98fChvPWE9T2coKSksby5tb3ZlVG8ocCxmKSxvLmFyYygwLDAsdSxoLGQpLGg9PT1nJiZkPT09X3x8KG8ucXVhZHJhdGljQ3VydmVUbygwLDAsbSp4ZyhnKSxtKndnKGcpKSxvLmFyYygwLDAsbSxnLF8pKSxvLnF1YWRyYXRpY0N1cnZlVG8oMCwwLHAsZiksby5jbG9zZVBhdGgoKSxhKXJldHVybiBvPW51bGwsYSsiInx8bnVsbH1yZXR1cm4gYS5yYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDprZygrdCksYSk6bn0sYS5zdGFydEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6a2coK3QpLGEpOml9LGEuZW5kQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDprZygrdCksYSk6cn0sYS5zb3VyY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ZSxhKTp0fSxhLnRhcmdldD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LGEpOmV9LGEuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz1udWxsPT10P251bGw6dCxhKTpvfSxhfSxuZXN0OmZ1bmN0aW9uIHhJKCl7dmFyIHQsZSxuLGk9W10scj1bXTtmdW5jdGlvbiBvKG4scixhLHMpe2lmKHI+PWkubGVuZ3RoKXJldHVybiBudWxsIT10JiZuLnNvcnQodCksbnVsbCE9ZT9lKG4pOm47Zm9yKHZhciBsLGMsdSxoPS0xLGQ9bi5sZW5ndGgscD1pW3IrK10sZj1qZygpLG09YSgpOysraDxkOykodT1mLmdldChsPXAoYz1uW2hdKSsiIikpP3UucHVzaChjKTpmLnNldChsLFtjXSk7cmV0dXJuIGYuZWFjaCgoZnVuY3Rpb24odCxlKXtzKG0sZSxvKHQscixhLHMpKX0pKSxtfWZ1bmN0aW9uIGEodCxuKXtpZigrK24+aS5sZW5ndGgpcmV0dXJuIHQ7dmFyIG8scz1yW24tMV07cmV0dXJuIG51bGwhPWUmJm4+PWkubGVuZ3RoP289dC5lbnRyaWVzKCk6KG89W10sdC5lYWNoKChmdW5jdGlvbih0LGUpe28ucHVzaCh7a2V5OmUsdmFsdWVzOmEodCxuKX0pfSkpKSxudWxsIT1zP28uc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gcyh0LmtleSxlLmtleSl9KSk6b31yZXR1cm4gbj17b2JqZWN0OmZ1bmN0aW9uKHQpe3JldHVybiBvKHQsMCxHZyxXZyl9LG1hcDpmdW5jdGlvbih0KXtyZXR1cm4gbyh0LDAscWcsWWcpfSxlbnRyaWVzOmZ1bmN0aW9uKHQpe3JldHVybiBhKG8odCwwLHFnLFlnKSwwKX0sa2V5OmZ1bmN0aW9uKHQpe3JldHVybiBpLnB1c2godCksbn0sc29ydEtleXM6ZnVuY3Rpb24odCl7cmV0dXJuIHJbaS5sZW5ndGgtMV09dCxufSxzb3J0VmFsdWVzOmZ1bmN0aW9uKGUpe3JldHVybiB0PWUsbn0scm9sbHVwOmZ1bmN0aW9uKHQpe3JldHVybiBlPXQsbn19fSxzZXQ6S2csbWFwOmpnLGtleXM6WmcsdmFsdWVzOmZ1bmN0aW9uIHdJKHQpe3ZhciBlPVtdO2Zvcih2YXIgbiBpbiB0KWUucHVzaCh0W25dKTtyZXR1cm4gZX0sZW50cmllczpmdW5jdGlvbiBTSSh0KXt2YXIgZT1bXTtmb3IodmFyIG4gaW4gdCllLnB1c2goe2tleTpuLHZhbHVlOnRbbl19KTtyZXR1cm4gZX0sY29sb3I6SmgscmdiOm5kLGhzbDpjZCxsYWI6eGQsaGNsOkFkLGxjaDpmdW5jdGlvbiBNSSh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/Q2QodCk6bmV3IGtkKG4sZSx0LG51bGw9PWk/MTppKX0sZ3JheTpmdW5jdGlvbiBFSSh0LGUpe3JldHVybiBuZXcgd2QodCwwLDAsbnVsbD09ZT8xOmUpfSxjdWJlaGVsaXg6RmQsY29udG91cnM6YV8sY29udG91ckRlbnNpdHk6ZnVuY3Rpb24gVEkoKXt2YXIgdD1jXyxlPXVfLG49aF8saT05NjAscj01MDAsbz0yMCxhPTIscz0zKm8sbD1pKzIqcz4+YSxjPXIrMipzPj5hLHU9dF8oMjApO2Z1bmN0aW9uIGgoaSl7dmFyIHI9bmV3IEZsb2F0MzJBcnJheShsKmMpLGg9bmV3IEZsb2F0MzJBcnJheShsKmMpO2kuZm9yRWFjaCgoZnVuY3Rpb24oaSxvLHUpe3ZhciBoPSt0KGksbyx1KStzPj5hLGQ9K2UoaSxvLHUpK3M+PmEscD0rbihpLG8sdSk7aD49MCYmaDxsJiZkPj0wJiZkPGMmJihyW2grZCpsXSs9cCl9KSksc18oe3dpZHRoOmwsaGVpZ2h0OmMsZGF0YTpyfSx7d2lkdGg6bCxoZWlnaHQ6YyxkYXRhOmh9LG8+PmEpLGxfKHt3aWR0aDpsLGhlaWdodDpjLGRhdGE6aH0se3dpZHRoOmwsaGVpZ2h0OmMsZGF0YTpyfSxvPj5hKSxzXyh7d2lkdGg6bCxoZWlnaHQ6YyxkYXRhOnJ9LHt3aWR0aDpsLGhlaWdodDpjLGRhdGE6aH0sbz4+YSksbF8oe3dpZHRoOmwsaGVpZ2h0OmMsZGF0YTpofSx7d2lkdGg6bCxoZWlnaHQ6YyxkYXRhOnJ9LG8+PmEpLHNfKHt3aWR0aDpsLGhlaWdodDpjLGRhdGE6cn0se3dpZHRoOmwsaGVpZ2h0OmMsZGF0YTpofSxvPj5hKSxsXyh7d2lkdGg6bCxoZWlnaHQ6YyxkYXRhOmh9LHt3aWR0aDpsLGhlaWdodDpjLGRhdGE6cn0sbz4+YSk7dmFyIHA9dShyKTtpZighQXJyYXkuaXNBcnJheShwKSl7dmFyIGY9b2Mocik7cD1uYygwLGYscCksKHA9S2woMCxNYXRoLmZsb29yKGYvcCkqcCxwKSkuc2hpZnQoKX1yZXR1cm4gYV8oKS50aHJlc2hvbGRzKHApLnNpemUoW2wsY10pKHIpLm1hcChkKX1mdW5jdGlvbiBkKHQpe3JldHVybiB0LnZhbHVlKj1NYXRoLnBvdygyLC0yKmEpLHQuY29vcmRpbmF0ZXMuZm9yRWFjaChwKSx0fWZ1bmN0aW9uIHAodCl7dC5mb3JFYWNoKGYpfWZ1bmN0aW9uIGYodCl7dC5mb3JFYWNoKG0pfWZ1bmN0aW9uIG0odCl7dFswXT10WzBdKk1hdGgucG93KDIsYSktcyx0WzFdPXRbMV0qTWF0aC5wb3coMixhKS1zfWZ1bmN0aW9uIGcoKXtyZXR1cm4gbD1pKzIqKHM9MypvKT4+YSxjPXIrMipzPj5hLGh9cmV0dXJuIGgueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOnRfKCtlKSxoKTp0fSxoLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDp0XygrdCksaCk6ZX0saC53ZWlnaHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDp0XygrdCksaCk6bn0saC5zaXplPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybltpLHJdO3ZhciBlPU1hdGguY2VpbCh0WzBdKSxuPU1hdGguY2VpbCh0WzFdKTtpZighKGU+PTB8fGU+PTApKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaXplIik7cmV0dXJuIGk9ZSxyPW4sZygpfSxoLmNlbGxTaXplPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiAxPDxhO2lmKCEoKHQ9K3QpPj0xKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2VsbCBzaXplIik7cmV0dXJuIGE9TWF0aC5mbG9vcihNYXRoLmxvZyh0KS9NYXRoLkxOMiksZygpfSxoLnRocmVzaG9sZHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpBcnJheS5pc0FycmF5KHQpP3RfKEpnLmNhbGwodCkpOnRfKHQpLGgpOnV9LGguYmFuZHdpZHRoPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBNYXRoLnNxcnQobyoobysxKSk7aWYoISgodD0rdCk+PTApKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBiYW5kd2lkdGgiKTtyZXR1cm4gbz1NYXRoLnJvdW5kKChNYXRoLnNxcnQoNCp0KnQrMSktMSkvMiksZygpfSxofSxkaXNwYXRjaDp3YyxkcmFnOkloLGRyYWdEaXNhYmxlOkVoLGRyYWdFbmFibGU6VGgsZHN2Rm9ybWF0OnlfLGNzdlBhcnNlOmJfLGNzdlBhcnNlUm93czp4Xyxjc3ZGb3JtYXQ6d18sY3N2Rm9ybWF0Qm9keTpTXyxjc3ZGb3JtYXRSb3dzOk1fLGNzdkZvcm1hdFJvdzpFXyxjc3ZGb3JtYXRWYWx1ZTpUXyx0c3ZQYXJzZTpBXyx0c3ZQYXJzZVJvd3M6a18sdHN2Rm9ybWF0OkxfLHRzdkZvcm1hdEJvZHk6UF8sdHN2Rm9ybWF0Um93czpOXyx0c3ZGb3JtYXRSb3c6SV8sdHN2Rm9ybWF0VmFsdWU6Ul8sYXV0b1R5cGU6ZnVuY3Rpb24gQ0kodCl7Zm9yKHZhciBlIGluIHQpe3ZhciBuLGkscj10W2VdLnRyaW0oKTtpZihyKWlmKCJ0cnVlIj09PXIpcj0hMDtlbHNlIGlmKCJmYWxzZSI9PT1yKXI9ITE7ZWxzZSBpZigiTmFOIj09PXIpcj1OYU47ZWxzZSBpZihpc05hTihuPStyKSl7aWYoIShpPXIubWF0Y2goL14oWy0rXVxkezJ9KT9cZHs0fSgtXGR7Mn0oLVxkezJ9KT8pPyhUXGR7Mn06XGR7Mn0oOlxkezJ9KFwuXGR7M30pPyk/KFp8Wy0rXVxkezJ9OlxkezJ9KT8pPyQvKSkpY29udGludWU7T18mJmlbNF0mJiFpWzddJiYocj1yLnJlcGxhY2UoLy0vZywiLyIpLnJlcGxhY2UoL1QvLCIgIikpLHI9bmV3IERhdGUocil9ZWxzZSByPW47ZWxzZSByPW51bGw7dFtlXT1yfXJldHVybiB0fSxlYXNlTGluZWFyOkZmLGVhc2VRdWFkOmpmLGVhc2VRdWFkSW46VmYsZWFzZVF1YWRPdXQ6VWYsZWFzZVF1YWRJbk91dDpqZixlYXNlQ3ViaWM6cWYsZWFzZUN1YmljSW46R2YsZWFzZUN1YmljT3V0OldmLGVhc2VDdWJpY0luT3V0OnFmLGVhc2VQb2x5OmZtLGVhc2VQb2x5SW46ZG0sZWFzZVBvbHlPdXQ6cG0sZWFzZVBvbHlJbk91dDpmbSxlYXNlU2luOnZtLGVhc2VTaW5JbjpfbSxlYXNlU2luT3V0OnltLGVhc2VTaW5Jbk91dDp2bSxlYXNlRXhwOlNtLGVhc2VFeHBJbjp4bSxlYXNlRXhwT3V0OndtLGVhc2VFeHBJbk91dDpTbSxlYXNlQ2lyY2xlOlRtLGVhc2VDaXJjbGVJbjpNbSxlYXNlQ2lyY2xlT3V0OkVtLGVhc2VDaXJjbGVJbk91dDpUbSxlYXNlQm91bmNlOkxtLGVhc2VCb3VuY2VJbjprbSxlYXNlQm91bmNlT3V0OkxtLGVhc2VCb3VuY2VJbk91dDpQbSxlYXNlQmFjazpPbSxlYXNlQmFja0luOkltLGVhc2VCYWNrT3V0OlJtLGVhc2VCYWNrSW5PdXQ6T20sZWFzZUVsYXN0aWM6Qm0sZWFzZUVsYXN0aWNJbjpEbSxlYXNlRWxhc3RpY091dDpCbSxlYXNlRWxhc3RpY0luT3V0OkhtLGJsb2I6ZnVuY3Rpb24gQUkodCxlKXtyZXR1cm4gZmV0Y2godCxlKS50aGVuKHpfKX0sYnVmZmVyOmZ1bmN0aW9uIGtJKHQsZSl7cmV0dXJuIGZldGNoKHQsZSkudGhlbihEXyl9LGRzdjpmdW5jdGlvbiBMSSh0LGUsbixpKXszPT09YXJndW1lbnRzLmxlbmd0aCYmImZ1bmN0aW9uIj09dHlwZW9mIG4mJihpPW4sbj12b2lkIDApO3ZhciByPXlfKHQpO3JldHVybiBIXyhlLG4pLnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiByLnBhcnNlKHQsaSl9KSl9LGNzdjpWXyx0c3Y6VV8saW1hZ2U6ZnVuY3Rpb24gUEkodCxlKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4saSl7dmFyIHI9bmV3IEltYWdlO2Zvcih2YXIgbyBpbiBlKXJbb109ZVtvXTtyLm9uZXJyb3I9aSxyLm9ubG9hZD1mdW5jdGlvbigpe24ocil9LHIuc3JjPXR9KSl9LGpzb246ZnVuY3Rpb24gTkkodCxlKXtyZXR1cm4gZmV0Y2godCxlKS50aGVuKGpfKX0sdGV4dDpIXyx4bWw6V18saHRtbDpxXyxzdmc6WV8sZm9yY2VDZW50ZXI6ZnVuY3Rpb24gSUkodCxlKXt2YXIgbjtmdW5jdGlvbiBpKCl7dmFyIGkscixvPW4ubGVuZ3RoLGE9MCxzPTA7Zm9yKGk9MDtpPG87KytpKWErPShyPW5baV0pLngscys9ci55O2ZvcihhPWEvby10LHM9cy9vLWUsaT0wO2k8bzsrK2kpKHI9bltpXSkueC09YSxyLnktPXN9cmV0dXJuIG51bGw9PXQmJih0PTApLG51bGw9PWUmJihlPTApLGkuaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtuPXR9LGkueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rZSxpKTp0fSxpLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9K3QsaSk6ZX0saX0sZm9yY2VDb2xsaWRlOmZ1bmN0aW9uIFJJKHQpe3ZhciBlLG4saT0xLHI9MTtmdW5jdGlvbiBvKCl7Zm9yKHZhciB0LG8scyxsLGMsdSxoLGQ9ZS5sZW5ndGgscD0wO3A8cjsrK3ApZm9yKG89dHkoZSxyeSxveSkudmlzaXRBZnRlcihhKSx0PTA7dDxkOysrdCloPSh1PW5bKHM9ZVt0XSkuaW5kZXhdKSp1LGw9cy54K3MudngsYz1zLnkrcy52eSxvLnZpc2l0KGYpO2Z1bmN0aW9uIGYodCxlLG4scixvKXt2YXIgYT10LmRhdGEsZD10LnIscD11K2Q7aWYoIWEpcmV0dXJuIGU+bCtwfHxyPGwtcHx8bj5jK3B8fG88Yy1wO2lmKGEuaW5kZXg+cy5pbmRleCl7dmFyIGY9bC1hLngtYS52eCxtPWMtYS55LWEudnksZz1mKmYrbSptO2c8cCpwJiYoMD09PWYmJihnKz0oZj0kXygpKSpmKSwwPT09bSYmKGcrPShtPSRfKCkpKm0pLGc9KHAtKGc9TWF0aC5zcXJ0KGcpKSkvZyppLHMudngrPShmKj1nKSoocD0oZCo9ZCkvKGgrZCkpLHMudnkrPShtKj1nKSpwLGEudngtPWYqKHA9MS1wKSxhLnZ5LT1tKnApfX19ZnVuY3Rpb24gYSh0KXtpZih0LmRhdGEpcmV0dXJuIHQucj1uW3QuZGF0YS5pbmRleF07Zm9yKHZhciBlPXQucj0wO2U8NDsrK2UpdFtlXSYmdFtlXS5yPnQuciYmKHQucj10W2VdLnIpfWZ1bmN0aW9uIHMoKXtpZihlKXt2YXIgaSxyLG89ZS5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KG8pLGk9MDtpPG87KytpKW5bKHI9ZVtpXSkuaW5kZXhdPSt0KHIsaSxlKX19cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVhfKG51bGw9PXQ/MTordCkpLG8uaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtlPXQscygpfSxvLml0ZXJhdGlvbnM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9K3Qsbyk6cn0sby5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxvKTppfSxvLnJhZGl1cz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOlhfKCtlKSxzKCksbyk6dH0sb30sZm9yY2VMaW5rOmZ1bmN0aW9uIE9JKHQpe3ZhciBlLG4saSxyLG8sYT1heSxzPWZ1bmN0aW9uIGwodCl7cmV0dXJuIDEvTWF0aC5taW4oclt0LnNvdXJjZS5pbmRleF0sclt0LnRhcmdldC5pbmRleF0pfSxjPVhfKDMwKSx1PTE7ZnVuY3Rpb24gaChpKXtmb3IodmFyIHI9MCxhPXQubGVuZ3RoO3I8dTsrK3IpZm9yKHZhciBzLGwsYyxoLGQscCxmLG09MDttPGE7KyttKWg9KGM9KHM9dFttXSkudGFyZ2V0KS54K2MudngtKGw9cy5zb3VyY2UpLngtbC52eHx8JF8oKSxkPWMueStjLnZ5LWwueS1sLnZ5fHwkXygpLGQqPXA9KChwPU1hdGguc3FydChoKmgrZCpkKSktblttXSkvcCppKmVbbV0sYy52eC09KGgqPXApKihmPW9bbV0pLGMudnktPWQqZixsLnZ4Kz1oKihmPTEtZiksbC52eSs9ZCpmfWZ1bmN0aW9uIGQoKXtpZihpKXt2YXIgcyxsLGM9aS5sZW5ndGgsdT10Lmxlbmd0aCxoPWpnKGksYSk7Zm9yKHM9MCxyPW5ldyBBcnJheShjKTtzPHU7KytzKShsPXRbc10pLmluZGV4PXMsIm9iamVjdCIhPXR5cGVvZiBsLnNvdXJjZSYmKGwuc291cmNlPXN5KGgsbC5zb3VyY2UpKSwib2JqZWN0IiE9dHlwZW9mIGwudGFyZ2V0JiYobC50YXJnZXQ9c3koaCxsLnRhcmdldCkpLHJbbC5zb3VyY2UuaW5kZXhdPShyW2wuc291cmNlLmluZGV4XXx8MCkrMSxyW2wudGFyZ2V0LmluZGV4XT0ocltsLnRhcmdldC5pbmRleF18fDApKzE7Zm9yKHM9MCxvPW5ldyBBcnJheSh1KTtzPHU7KytzKW9bc109clsobD10W3NdKS5zb3VyY2UuaW5kZXhdLyhyW2wuc291cmNlLmluZGV4XStyW2wudGFyZ2V0LmluZGV4XSk7ZT1uZXcgQXJyYXkodSkscCgpLG49bmV3IEFycmF5KHUpLGYoKX19ZnVuY3Rpb24gcCgpe2lmKGkpZm9yKHZhciBuPTAscj10Lmxlbmd0aDtuPHI7KytuKWVbbl09K3ModFtuXSxuLHQpfWZ1bmN0aW9uIGYoKXtpZihpKWZvcih2YXIgZT0wLHI9dC5sZW5ndGg7ZTxyOysrZSluW2VdPStjKHRbZV0sZSx0KX1yZXR1cm4gbnVsbD09dCYmKHQ9W10pLGguaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtpPXQsZCgpfSxoLmxpbmtzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUsZCgpLGgpOnR9LGguaWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCxoKTphfSxoLml0ZXJhdGlvbnM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHU9K3QsaCk6dX0saC5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlhfKCt0KSxwKCksaCk6c30saC5kaXN0YW5jZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlhfKCt0KSxmKCksaCk6Y30saH0sZm9yY2VNYW55Qm9keTpmdW5jdGlvbiB6SSgpe3ZhciB0LGUsbixpLHI9WF8oLTMwKSxvPTEsYT0xLzAscz0uODE7ZnVuY3Rpb24gbChpKXt2YXIgcixvPXQubGVuZ3RoLGE9dHkodCxseSxjeSkudmlzaXRBZnRlcih1KTtmb3Iobj1pLHI9MDtyPG87KytyKWU9dFtyXSxhLnZpc2l0KGgpfWZ1bmN0aW9uIGMoKXtpZih0KXt2YXIgZSxuLG89dC5sZW5ndGg7Zm9yKGk9bmV3IEFycmF5KG8pLGU9MDtlPG87KytlKWlbKG49dFtlXSkuaW5kZXhdPStyKG4sZSx0KX19ZnVuY3Rpb24gdSh0KXt2YXIgZSxuLHIsbyxhLHM9MCxsPTA7aWYodC5sZW5ndGgpe2ZvcihyPW89YT0wO2E8NDsrK2EpKGU9dFthXSkmJihuPU1hdGguYWJzKGUudmFsdWUpKSYmKHMrPWUudmFsdWUsbCs9bixyKz1uKmUueCxvKz1uKmUueSk7dC54PXIvbCx0Lnk9by9sfWVsc2V7KGU9dCkueD1lLmRhdGEueCxlLnk9ZS5kYXRhLnk7ZG97cys9aVtlLmRhdGEuaW5kZXhdfXdoaWxlKGU9ZS5uZXh0KX10LnZhbHVlPXN9ZnVuY3Rpb24gaCh0LHIsbCxjKXtpZighdC52YWx1ZSlyZXR1cm4hMDt2YXIgdT10LngtZS54LGg9dC55LWUueSxkPWMtcixwPXUqdStoKmg7aWYoZCpkL3M8cClyZXR1cm4gcDxhJiYoMD09PXUmJihwKz0odT0kXygpKSp1KSwwPT09aCYmKHArPShoPSRfKCkpKmgpLHA8byYmKHA9TWF0aC5zcXJ0KG8qcCkpLGUudngrPXUqdC52YWx1ZSpuL3AsZS52eSs9aCp0LnZhbHVlKm4vcCksITA7aWYoISh0Lmxlbmd0aHx8cD49YSkpeyh0LmRhdGEhPT1lfHx0Lm5leHQpJiYoMD09PXUmJihwKz0odT0kXygpKSp1KSwwPT09aCYmKHArPShoPSRfKCkpKmgpLHA8byYmKHA9TWF0aC5zcXJ0KG8qcCkpKTtkb3t0LmRhdGEhPT1lJiYoZS52eCs9dSooZD1pW3QuZGF0YS5pbmRleF0qbi9wKSxlLnZ5Kz1oKmQpfXdoaWxlKHQ9dC5uZXh0KX19cmV0dXJuIGwuaW5pdGlhbGl6ZT1mdW5jdGlvbihlKXt0PWUsYygpfSxsLnN0cmVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6WF8oK3QpLGMoKSxsKTpyfSxsLmRpc3RhbmNlTWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPXQqdCxsKTpNYXRoLnNxcnQobyl9LGwuZGlzdGFuY2VNYXg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCp0LGwpOk1hdGguc3FydChhKX0sbC50aGV0YT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz10KnQsbCk6TWF0aC5zcXJ0KHMpfSxsfSxmb3JjZVJhZGlhbDpmdW5jdGlvbiBESSh0LGUsbil7dmFyIGkscixvLGE9WF8oLjEpO2Z1bmN0aW9uIHModCl7Zm9yKHZhciBhPTAscz1pLmxlbmd0aDthPHM7KythKXt2YXIgbD1pW2FdLGM9bC54LWV8fDFlLTYsdT1sLnktbnx8MWUtNixoPU1hdGguc3FydChjKmMrdSp1KSxkPShvW2FdLWgpKnJbYV0qdC9oO2wudngrPWMqZCxsLnZ5Kz11KmR9fWZ1bmN0aW9uIGwoKXtpZihpKXt2YXIgZSxuPWkubGVuZ3RoO2ZvcihyPW5ldyBBcnJheShuKSxvPW5ldyBBcnJheShuKSxlPTA7ZTxuOysrZSlvW2VdPSt0KGlbZV0sZSxpKSxyW2VdPWlzTmFOKG9bZV0pPzA6K2EoaVtlXSxlLGkpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9WF8oK3QpKSxudWxsPT1lJiYoZT0wKSxudWxsPT1uJiYobj0wKSxzLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7aT10LGwoKX0scy5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlhfKCt0KSxsKCkscyk6YX0scy5yYWRpdXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpYXygrZSksbCgpLHMpOnR9LHMueD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdCxzKTplfSxzLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3Qscyk6bn0sc30sZm9yY2VTaW11bGF0aW9uOmZ1bmN0aW9uIEJJKHQpe3ZhciBlLG49MSxpPS4wMDEscj0xLU1hdGgucG93KGksMS8zMDApLG89MCxhPS42LHM9amcoKSxsPSRwKHUpLGM9d2MoInRpY2siLCJlbmQiKTtmdW5jdGlvbiB1KCl7aCgpLGMuY2FsbCgidGljayIsZSksbjxpJiYobC5zdG9wKCksYy5jYWxsKCJlbmQiLGUpKX1mdW5jdGlvbiBoKGkpe3ZhciBsLGMsdT10Lmxlbmd0aDt2b2lkIDA9PT1pJiYoaT0xKTtmb3IodmFyIGg9MDtoPGk7KytoKWZvcihuKz0oby1uKSpyLHMuZWFjaCgoZnVuY3Rpb24odCl7dChuKX0pKSxsPTA7bDx1OysrbCludWxsPT0oYz10W2xdKS5meD9jLngrPWMudngqPWE6KGMueD1jLmZ4LGMudng9MCksbnVsbD09Yy5meT9jLnkrPWMudnkqPWE6KGMueT1jLmZ5LGMudnk9MCk7cmV0dXJuIGV9ZnVuY3Rpb24gZCgpe2Zvcih2YXIgZSxuPTAsaT10Lmxlbmd0aDtuPGk7KytuKXtpZigoZT10W25dKS5pbmRleD1uLG51bGwhPWUuZngmJihlLng9ZS5meCksbnVsbCE9ZS5meSYmKGUueT1lLmZ5KSxpc05hTihlLngpfHxpc05hTihlLnkpKXt2YXIgcj0xMCpNYXRoLnNxcnQobiksbz1uKk15O2UueD1yKk1hdGguY29zKG8pLGUueT1yKk1hdGguc2luKG8pfShpc05hTihlLnZ4KXx8aXNOYU4oZS52eSkpJiYoZS52eD1lLnZ5PTApfX1mdW5jdGlvbiBwKGUpe3JldHVybiBlLmluaXRpYWxpemUmJmUuaW5pdGlhbGl6ZSh0KSxlfXJldHVybiBudWxsPT10JiYodD1bXSksZCgpLGU9e3RpY2s6aCxyZXN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucmVzdGFydCh1KSxlfSxzdG9wOmZ1bmN0aW9uKCl7cmV0dXJuIGwuc3RvcCgpLGV9LG5vZGVzOmZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PW4sZCgpLHMuZWFjaChwKSxlKTp0fSxhbHBoYTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdCxlKTpufSxhbHBoYU1pbjpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxlKTppfSxhbHBoYURlY2F5OmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSt0LGUpOityfSxhbHBoYVRhcmdldDpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0rdCxlKTpvfSx2ZWxvY2l0eURlY2F5OmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPTEtdCxlKToxLWF9LGZvcmNlOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT8obnVsbD09bj9zLnJlbW92ZSh0KTpzLnNldCh0LHAobikpLGUpOnMuZ2V0KHQpfSxmaW5kOmZ1bmN0aW9uKGUsbixpKXt2YXIgcixvLGEscyxsLGM9MCx1PXQubGVuZ3RoO2ZvcihudWxsPT1pP2k9MS8wOmkqPWksYz0wO2M8dTsrK2MpKGE9KHI9ZS0ocz10W2NdKS54KSpyKyhvPW4tcy55KSpvKTxpJiYobD1zLGk9YSk7cmV0dXJuIGx9LG9uOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT8oYy5vbih0LG4pLGUpOmMub24odCl9fX0sZm9yY2VYOmZ1bmN0aW9uIEhJKHQpe3ZhciBlLG4saSxyPVhfKC4xKTtmdW5jdGlvbiBvKHQpe2Zvcih2YXIgcixvPTAsYT1lLmxlbmd0aDtvPGE7KytvKShyPWVbb10pLnZ4Kz0oaVtvXS1yLngpKm5bb10qdH1mdW5jdGlvbiBhKCl7aWYoZSl7dmFyIG8sYT1lLmxlbmd0aDtmb3Iobj1uZXcgQXJyYXkoYSksaT1uZXcgQXJyYXkoYSksbz0wO288YTsrK28pbltvXT1pc05hTihpW29dPSt0KGVbb10sbyxlKSk/MDorcihlW29dLG8sZSl9fXJldHVybiJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1YXyhudWxsPT10PzA6K3QpKSxvLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7ZT10LGEoKX0sby5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlhfKCt0KSxhKCksbyk6cn0sby54PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6WF8oK2UpLGEoKSxvKTp0fSxvfSxmb3JjZVk6ZnVuY3Rpb24gRkkodCl7dmFyIGUsbixpLHI9WF8oLjEpO2Z1bmN0aW9uIG8odCl7Zm9yKHZhciByLG89MCxhPWUubGVuZ3RoO288YTsrK28pKHI9ZVtvXSkudnkrPShpW29dLXIueSkqbltvXSp0fWZ1bmN0aW9uIGEoKXtpZihlKXt2YXIgbyxhPWUubGVuZ3RoO2ZvcihuPW5ldyBBcnJheShhKSxpPW5ldyBBcnJheShhKSxvPTA7bzxhOysrbyluW29dPWlzTmFOKGlbb109K3QoZVtvXSxvLGUpKT8wOityKGVbb10sbyxlKX19cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVhfKG51bGw9PXQ/MDordCkpLG8uaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtlPXQsYSgpfSxvLnN0cmVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6WF8oK3QpLGEoKSxvKTpyfSxvLnk9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpYXygrZSksYSgpLG8pOnR9LG99LGZvcm1hdERlZmF1bHRMb2NhbGU6VXksZ2V0IGZvcm1hdCgpe3JldHVybiBEeX0sZ2V0IGZvcm1hdFByZWZpeCgpe3JldHVybiBCeX0sZm9ybWF0TG9jYWxlOlZ5LGZvcm1hdFNwZWNpZmllcjpreSxGb3JtYXRTcGVjaWZpZXI6THkscHJlY2lzaW9uRml4ZWQ6ankscHJlY2lzaW9uUHJlZml4Okd5LHByZWNpc2lvblJvdW5kOld5LGdlb0FyZWE6ZnVuY3Rpb24gVkkodCl7cmV0dXJuIE52LnJlc2V0KCksRXYodCxJdiksMipOdn0sZ2VvQm91bmRzOmZ1bmN0aW9uIFVJKHQpe3ZhciBlLG4saSxyLG8sYSxzO2lmKFh2PVl2PS0oV3Y9cXY9MS8wKSxRdj1bXSxFdih0LHliKSxuPVF2Lmxlbmd0aCl7Zm9yKFF2LnNvcnQoQ2IpLGU9MSxvPVtpPVF2WzBdXTtlPG47KytlKUFiKGksKHI9UXZbZV0pWzBdKXx8QWIoaSxyWzFdKT8oVGIoaVswXSxyWzFdKT5UYihpWzBdLGlbMV0pJiYoaVsxXT1yWzFdKSxUYihyWzBdLGlbMV0pPlRiKGlbMF0saVsxXSkmJihpWzBdPXJbMF0pKTpvLnB1c2goaT1yKTtmb3IoYT0tMS8wLGU9MCxpPW9bbj1vLmxlbmd0aC0xXTtlPD1uO2k9ciwrK2UpKHM9VGIoaVsxXSwocj1vW2VdKVswXSkpPmEmJihhPXMsV3Y9clswXSxZdj1pWzFdKX1yZXR1cm4gUXY9dGI9bnVsbCxXdj09PTEvMHx8cXY9PT0xLzA/W1tOYU4sTmFOXSxbTmFOLE5hTl1dOltbV3YscXZdLFtZdixYdl1dfSxnZW9DZW50cm9pZDpmdW5jdGlvbiBqSSh0KXtlYj1uYj1pYj1yYj1vYj1hYj1zYj1sYj1jYj11Yj1oYj0wLEV2KHQsa2IpO3ZhciBlPWNiLG49dWIsaT1oYixyPWUqZStuKm4raSppO3JldHVybiByPFp5JiYoZT1hYixuPXNiLGk9bGIsbmI8S3kmJihlPWliLG49cmIsaT1vYiksKHI9ZSplK24qbitpKmkpPFp5KT9bTmFOLE5hTl06W2F2KG4sZSkqbnYsX3YoaS9mdihyKSkqbnZdfSxnZW9DaXJjbGU6ZnVuY3Rpb24gR0koKXt2YXIgdCxlLG49RmIoWzAsMF0pLGk9RmIoOTApLHI9RmIoNiksbz17cG9pbnQ6ZnVuY3Rpb24gYShuLGkpe3QucHVzaChuPWUobixpKSksblswXSo9bnYsblsxXSo9bnZ9fTtmdW5jdGlvbiBzKCl7dmFyIGE9bi5hcHBseSh0aGlzLGFyZ3VtZW50cykscz1pLmFwcGx5KHRoaXMsYXJndW1lbnRzKSppdixsPXIuYXBwbHkodGhpcyxhcmd1bWVudHMpKml2O3JldHVybiB0PVtdLGU9amIoLWFbMF0qaXYsLWFbMV0qaXYsMCkuaW52ZXJ0LFhiKG8scyxsLDEpLGE9e3R5cGU6IlBvbHlnb24iLGNvb3JkaW5hdGVzOlt0XX0sdD1lPW51bGwsYX1yZXR1cm4gcy5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpGYihbK3RbMF0sK3RbMV1dKSxzKTpufSxzLnJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkZiKCt0KSxzKTppfSxzLnByZWNpc2lvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkZiKCt0KSxzKTpyfSxzfSxnZW9DbGlwQW50aW1lcmlkaWFuOnN4LGdlb0NsaXBDaXJjbGU6dXgsZ2VvQ2xpcEV4dGVudDpmdW5jdGlvbiBXSSgpe3ZhciB0LGUsbixpPTAscj0wLG89OTYwLGE9NTAwO3JldHVybiBuPXtzdHJlYW06ZnVuY3Rpb24obil7cmV0dXJuIHQmJmU9PT1uP3Q6dD1weChpLHIsbyxhKShlPW4pfSxleHRlbnQ6ZnVuY3Rpb24ocyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9K3NbMF1bMF0scj0rc1swXVsxXSxvPStzWzFdWzBdLGE9K3NbMV1bMV0sdD1lPW51bGwsbik6W1tpLHJdLFtvLGFdXX19fSxnZW9DbGlwUmVjdGFuZ2xlOnB4LGdlb0NvbnRhaW5zOmZ1bmN0aW9uIHFJKHQsZSl7cmV0dXJuKHQmJkN4Lmhhc093blByb3BlcnR5KHQudHlwZSk/Q3hbdC50eXBlXTpreCkodCxlKX0sZ2VvRGlzdGFuY2U6VHgsZ2VvR3JhdGljdWxlOkR4LGdlb0dyYXRpY3VsZTEwOmZ1bmN0aW9uIFlJKCl7cmV0dXJuIER4KCkoKX0sZ2VvSW50ZXJwb2xhdGU6ZnVuY3Rpb24gWEkodCxlKXt2YXIgbj10WzBdKml2LGk9dFsxXSppdixyPWVbMF0qaXYsbz1lWzFdKml2LGE9c3YoaSkscz1kdihpKSxsPXN2KG8pLGM9ZHYobyksdT1hKnN2KG4pLGg9YSpkdihuKSxkPWwqc3YocikscD1sKmR2KHIpLGY9Mipfdihmdih5dihvLWkpK2EqbCp5dihyLW4pKSksbT1kdihmKSxnPWY/ZnVuY3Rpb24odCl7dmFyIGU9ZHYodCo9ZikvbSxuPWR2KGYtdCkvbSxpPW4qdStlKmQscj1uKmgrZSpwLG89bipzK2UqYztyZXR1cm5bYXYocixpKSpudixhdihvLGZ2KGkqaStyKnIpKSpudl19OmZ1bmN0aW9uKCl7cmV0dXJuW24qbnYsaSpudl19O3JldHVybiBnLmRpc3RhbmNlPWYsZ30sZ2VvTGVuZ3RoOlN4LGdlb1BhdGg6ZnVuY3Rpb24gJEkodCxlKXt2YXIgbixpLHI9NC41O2Z1bmN0aW9uIG8odCl7cmV0dXJuIHQmJigiZnVuY3Rpb24iPT10eXBlb2YgciYmaS5wb2ludFJhZGl1cygrci5hcHBseSh0aGlzLGFyZ3VtZW50cykpLEV2KHQsbihpKSkpLGkucmVzdWx0KCl9cmV0dXJuIG8uYXJlYT1mdW5jdGlvbih0KXtyZXR1cm4gRXYodCxuKEt4KSksS3gucmVzdWx0KCl9LG8ubWVhc3VyZT1mdW5jdGlvbih0KXtyZXR1cm4gRXYodCxuKER3KSksRHcucmVzdWx0KCl9LG8uYm91bmRzPWZ1bmN0aW9uKHQpe3JldHVybiBFdih0LG4ob3cpKSxvdy5yZXN1bHQoKX0sby5jZW50cm9pZD1mdW5jdGlvbih0KXtyZXR1cm4gRXYodCxuKFR3KSksVHcucmVzdWx0KCl9LG8ucHJvamVjdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1udWxsPT1lPyh0PW51bGwsQngpOih0PWUpLnN0cmVhbSxvKTp0fSxvLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9bnVsbD09dD8oZT1udWxsLG5ldyBCdyk6bmV3IEN3KGU9dCksImZ1bmN0aW9uIiE9dHlwZW9mIHImJmkucG9pbnRSYWRpdXMociksbyk6ZX0sby5wb2ludFJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OihpLnBvaW50UmFkaXVzKCt0KSwrdCksbyk6cn0sby5wcm9qZWN0aW9uKHQpLmNvbnRleHQoZSl9LGdlb0FsYmVyczppUyxnZW9BbGJlcnNVc2E6ZnVuY3Rpb24gS0koKXt2YXIgdCxlLG4saSxyLG8sYT1pUygpLHM9blMoKS5yb3RhdGUoWzE1NCwwXSkuY2VudGVyKFstMiw1OC41XSkucGFyYWxsZWxzKFs1NSw2NV0pLGw9blMoKS5yb3RhdGUoWzE1NywwXSkuY2VudGVyKFstMywxOS45XSkucGFyYWxsZWxzKFs4LDE4XSksYz17cG9pbnQ6ZnVuY3Rpb24odCxlKXtvPVt0LGVdfX07ZnVuY3Rpb24gdSh0KXt2YXIgZT10WzBdLGE9dFsxXTtyZXR1cm4gbz1udWxsLG4ucG9pbnQoZSxhKSxvfHwoaS5wb2ludChlLGEpLG8pfHwoci5wb2ludChlLGEpLG8pfWZ1bmN0aW9uIGgoKXtyZXR1cm4gdD1lPW51bGwsdX1yZXR1cm4gdS5pbnZlcnQ9ZnVuY3Rpb24odCl7dmFyIGU9YS5zY2FsZSgpLG49YS50cmFuc2xhdGUoKSxpPSh0WzBdLW5bMF0pL2Uscj0odFsxXS1uWzFdKS9lO3JldHVybihyPj0uMTImJnI8LjIzNCYmaT49LS40MjUmJmk8LS4yMTQ/czpyPj0uMTY2JiZyPC4yMzQmJmk+PS0uMjE0JiZpPC0uMTE1P2w6YSkuaW52ZXJ0KHQpfSx1LnN0cmVhbT1mdW5jdGlvbihuKXtyZXR1cm4gdCYmZT09PW4/dDp0PShmdW5jdGlvbiBpKHQpe3ZhciBlPXQubGVuZ3RoO3JldHVybntwb2ludDpmdW5jdGlvbihuLGkpe2Zvcih2YXIgcj0tMTsrK3I8ZTspdFtyXS5wb2ludChuLGkpfSxzcGhlcmU6ZnVuY3Rpb24oKXtmb3IodmFyIG49LTE7KytuPGU7KXRbbl0uc3BoZXJlKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe2Zvcih2YXIgbj0tMTsrK248ZTspdFtuXS5saW5lU3RhcnQoKX0sbGluZUVuZDpmdW5jdGlvbigpe2Zvcih2YXIgbj0tMTsrK248ZTspdFtuXS5saW5lRW5kKCl9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2Zvcih2YXIgbj0tMTsrK248ZTspdFtuXS5wb2x5Z29uU3RhcnQoKX0scG9seWdvbkVuZDpmdW5jdGlvbigpe2Zvcih2YXIgbj0tMTsrK248ZTspdFtuXS5wb2x5Z29uRW5kKCl9fX0pKFthLnN0cmVhbShlPW4pLHMuc3RyZWFtKG4pLGwuc3RyZWFtKG4pXSl9LHUucHJlY2lzaW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhLnByZWNpc2lvbih0KSxzLnByZWNpc2lvbih0KSxsLnByZWNpc2lvbih0KSxoKCkpOmEucHJlY2lzaW9uKCl9LHUuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGEuc2NhbGUodCkscy5zY2FsZSguMzUqdCksbC5zY2FsZSh0KSx1LnRyYW5zbGF0ZShhLnRyYW5zbGF0ZSgpKSk6YS5zY2FsZSgpfSx1LnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gYS50cmFuc2xhdGUoKTt2YXIgZT1hLnNjYWxlKCksbz0rdFswXSx1PSt0WzFdO3JldHVybiBuPWEudHJhbnNsYXRlKHQpLmNsaXBFeHRlbnQoW1tvLS40NTUqZSx1LS4yMzgqZV0sW28rLjQ1NSplLHUrLjIzOCplXV0pLnN0cmVhbShjKSxpPXMudHJhbnNsYXRlKFtvLS4zMDcqZSx1Ky4yMDEqZV0pLmNsaXBFeHRlbnQoW1tvLS40MjUqZStLeSx1Ky4xMiplK0t5XSxbby0uMjE0KmUtS3ksdSsuMjM0KmUtS3ldXSkuc3RyZWFtKGMpLHI9bC50cmFuc2xhdGUoW28tLjIwNSplLHUrLjIxMiplXSkuY2xpcEV4dGVudChbW28tLjIxNCplK0t5LHUrLjE2NiplK0t5XSxbby0uMTE1KmUtS3ksdSsuMjM0KmUtS3ldXSkuc3RyZWFtKGMpLGgoKX0sdS5maXRFeHRlbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gancodSx0LGUpfSx1LmZpdFNpemU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gR3codSx0LGUpfSx1LmZpdFdpZHRoPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFd3KHUsdCxlKX0sdS5maXRIZWlnaHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gcXcodSx0LGUpfSx1LnNjYWxlKDEwNzApfSxnZW9BemltdXRoYWxFcXVhbEFyZWE6ZnVuY3Rpb24gWkkoKXtyZXR1cm4gSncoYVMpLnNjYWxlKDEyNC43NSkuY2xpcEFuZ2xlKDE3OS45OTkpfSxnZW9BemltdXRoYWxFcXVhbEFyZWFSYXc6YVMsZ2VvQXppbXV0aGFsRXF1aWRpc3RhbnQ6ZnVuY3Rpb24gSkkoKXtyZXR1cm4gSncoc1MpLnNjYWxlKDc5LjQxODgpLmNsaXBBbmdsZSgxNzkuOTk5KX0sZ2VvQXppbXV0aGFsRXF1aWRpc3RhbnRSYXc6c1MsZ2VvQ29uaWNDb25mb3JtYWw6ZnVuY3Rpb24gUUkoKXtyZXR1cm4gdFMoaFMpLnNjYWxlKDEwOS41KS5wYXJhbGxlbHMoWzMwLDMwXSl9LGdlb0NvbmljQ29uZm9ybWFsUmF3OmhTLGdlb0NvbmljRXF1YWxBcmVhOm5TLGdlb0NvbmljRXF1YWxBcmVhUmF3OmVTLGdlb0NvbmljRXF1aWRpc3RhbnQ6ZnVuY3Rpb24gdFIoKXtyZXR1cm4gdFMocFMpLnNjYWxlKDEzMS4xNTQpLmNlbnRlcihbMCwxMy45Mzg5XSl9LGdlb0NvbmljRXF1aWRpc3RhbnRSYXc6cFMsZ2VvRXF1YWxFYXJ0aDpmdW5jdGlvbiBlUigpe3JldHVybiBKdyh2Uykuc2NhbGUoMTc3LjE1OCl9LGdlb0VxdWFsRWFydGhSYXc6dlMsZ2VvRXF1aXJlY3Rhbmd1bGFyOmZ1bmN0aW9uIG5SKCl7cmV0dXJuIEp3KGRTKS5zY2FsZSgxNTIuNjMpfSxnZW9FcXVpcmVjdGFuZ3VsYXJSYXc6ZFMsZ2VvR25vbW9uaWM6ZnVuY3Rpb24gaVIoKXtyZXR1cm4gSncoYlMpLnNjYWxlKDE0NC4wNDkpLmNsaXBBbmdsZSg2MCl9LGdlb0dub21vbmljUmF3OmJTLGdlb0lkZW50aXR5OmZ1bmN0aW9uIHJSKCl7dmFyIHQsZSxuLGkscixvLGEscz0xLGw9MCxjPTAsdT0xLGg9MSxkPTAscD1udWxsLGY9MSxtPTEsZz1Gdyh7cG9pbnQ6ZnVuY3Rpb24odCxlKXt2YXIgbj12KFt0LGVdKTt0aGlzLnN0cmVhbS5wb2ludChuWzBdLG5bMV0pfX0pLF89Qng7ZnVuY3Rpb24geSgpe3JldHVybiBmPXMqdSxtPXMqaCxvPWE9bnVsbCx2fWZ1bmN0aW9uIHYobil7dmFyIGk9blswXSpmLHI9blsxXSptO2lmKGQpe3ZhciBvPXIqdC1pKmU7aT1pKnQrciplLHI9b31yZXR1cm5baStsLHIrY119cmV0dXJuIHYuaW52ZXJ0PWZ1bmN0aW9uKG4pe3ZhciBpPW5bMF0tbCxyPW5bMV0tYztpZihkKXt2YXIgbz1yKnQraSplO2k9aSp0LXIqZSxyPW99cmV0dXJuW2kvZixyL21dfSx2LnN0cmVhbT1mdW5jdGlvbih0KXtyZXR1cm4gbyYmYT09PXQ/bzpvPWcoXyhhPXQpKX0sdi5wb3N0Y2xpcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oXz10LHA9bj1pPXI9bnVsbCx5KCkpOl99LHYuY2xpcEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oXz1udWxsPT10PyhwPW49aT1yPW51bGwsQngpOnB4KHA9K3RbMF1bMF0sbj0rdFswXVsxXSxpPSt0WzFdWzBdLHI9K3RbMV1bMV0pLHkoKSk6bnVsbD09cD9udWxsOltbcCxuXSxbaSxyXV19LHYuc2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9K3QseSgpKTpzfSx2LnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD0rdFswXSxjPSt0WzFdLHkoKSk6W2wsY119LHYuYW5nbGU9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ZHYoZD1uJTM2MCppdiksdD1zdihkKSx5KCkpOmQqbnZ9LHYucmVmbGVjdFg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHU9dD8tMToxLHkoKSk6dTwwfSx2LnJlZmxlY3RZPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPXQ/LTE6MSx5KCkpOmg8MH0sdi5maXRFeHRlbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gancodix0LGUpfSx2LmZpdFNpemU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gR3codix0LGUpfSx2LmZpdFdpZHRoPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFd3KHYsdCxlKX0sdi5maXRIZWlnaHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gcXcodix0LGUpfSx2fSxnZW9Qcm9qZWN0aW9uOkp3LGdlb1Byb2plY3Rpb25NdXRhdG9yOlF3LGdlb01lcmNhdG9yOmZ1bmN0aW9uIG9SKCl7cmV0dXJuIGNTKGxTKS5zY2FsZSg5NjEvZXYpfSxnZW9NZXJjYXRvclJhdzpsUyxnZW9OYXR1cmFsRWFydGgxOmZ1bmN0aW9uIGFSKCl7cmV0dXJuIEp3KHhTKS5zY2FsZSgxNzUuMjk1KX0sZ2VvTmF0dXJhbEVhcnRoMVJhdzp4UyxnZW9PcnRob2dyYXBoaWM6ZnVuY3Rpb24gc1IoKXtyZXR1cm4gSncod1MpLnNjYWxlKDI0OS41KS5jbGlwQW5nbGUoOTAuMDAwMDAxKX0sZ2VvT3J0aG9ncmFwaGljUmF3OndTLGdlb1N0ZXJlb2dyYXBoaWM6ZnVuY3Rpb24gbFIoKXtyZXR1cm4gSncoU1MpLnNjYWxlKDI1MCkuY2xpcEFuZ2xlKDE0Mil9LGdlb1N0ZXJlb2dyYXBoaWNSYXc6U1MsZ2VvVHJhbnN2ZXJzZU1lcmNhdG9yOmZ1bmN0aW9uIGNSKCl7dmFyIHQ9Y1MoTVMpLGU9dC5jZW50ZXIsbj10LnJvdGF0ZTtyZXR1cm4gdC5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/ZShbLXRbMV0sdFswXV0pOlsodD1lKCkpWzFdLC10WzBdXX0sdC5yb3RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/bihbdFswXSx0WzFdLHQubGVuZ3RoPjI/dFsyXSs5MDo5MF0pOlsodD1uKCkpWzBdLHRbMV0sdFsyXS05MF19LG4oWzAsMCw5MF0pLnNjYWxlKDE1OS4xNTUpfSxnZW9UcmFuc3ZlcnNlTWVyY2F0b3JSYXc6TVMsZ2VvUm90YXRpb246WWIsZ2VvU3RyZWFtOkV2LGdlb1RyYW5zZm9ybTpmdW5jdGlvbiB1Uih0KXtyZXR1cm57c3RyZWFtOkZ3KHQpfX0sY2x1c3RlcjpmdW5jdGlvbiBoUigpe3ZhciB0PUVTLGU9MSxuPTEsaT0hMTtmdW5jdGlvbiByKHIpe3ZhciBvLGE9MDtyLmVhY2hBZnRlcigoZnVuY3Rpb24oZSl7dmFyIG49ZS5jaGlsZHJlbjtuPyhlLng9KGZ1bmN0aW9uIGkodCl7cmV0dXJuIHQucmVkdWNlKFRTLDApL3QubGVuZ3RofSkobiksZS55PShmdW5jdGlvbiByKHQpe3JldHVybiAxK3QucmVkdWNlKENTLDApfSkobikpOihlLng9bz9hKz10KGUsbyk6MCxlLnk9MCxvPWUpfSkpO3ZhciBzPShmdW5jdGlvbiBsKHQpe2Zvcih2YXIgZTtlPXQuY2hpbGRyZW47KXQ9ZVswXTtyZXR1cm4gdH0pKHIpLGM9KGZ1bmN0aW9uIHUodCl7Zm9yKHZhciBlO2U9dC5jaGlsZHJlbjspdD1lW2UubGVuZ3RoLTFdO3JldHVybiB0fSkociksaD1zLngtdChzLGMpLzIsZD1jLngrdChjLHMpLzI7cmV0dXJuIHIuZWFjaEFmdGVyKGk/ZnVuY3Rpb24odCl7dC54PSh0Lngtci54KSplLHQueT0oci55LXQueSkqbn06ZnVuY3Rpb24odCl7dC54PSh0LngtaCkvKGQtaCkqZSx0Lnk9KDEtKHIueT90Lnkvci55OjEpKSpufSl9cmV0dXJuIHIuc2VwYXJhdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1lLHIpOnR9LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0hMSxlPSt0WzBdLG49K3RbMV0scik6aT9udWxsOltlLG5dfSxyLm5vZGVTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSEwLGU9K3RbMF0sbj0rdFsxXSxyKTppP1tlLG5dOm51bGx9LHJ9LGhpZXJhcmNoeTprUyxwYWNrOmZ1bmN0aW9uIGRSKCl7dmFyIHQ9bnVsbCxlPTEsbj0xLGk9bE07ZnVuY3Rpb24gcihyKXtyZXR1cm4gci54PWUvMixyLnk9bi8yLHQ/ci5lYWNoQmVmb3JlKGhNKHQpKS5lYWNoQWZ0ZXIoZE0oaSwuNSkpLmVhY2hCZWZvcmUocE0oMSkpOnIuZWFjaEJlZm9yZShoTSh1TSkpLmVhY2hBZnRlcihkTShsTSwxKSkuZWFjaEFmdGVyKGRNKGksci5yL01hdGgubWluKGUsbikpKS5lYWNoQmVmb3JlKHBNKE1hdGgubWluKGUsbikvKDIqci5yKSkpLHJ9cmV0dXJuIHIucmFkaXVzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWFNKGUpLHIpOnR9LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdFswXSxuPSt0WzFdLHIpOltlLG5dfSxyLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpjTSgrdCkscik6aX0scn0scGFja1NpYmxpbmdzOmZ1bmN0aW9uIHBSKHQpe3JldHVybiBvTSh0KSx0fSxwYWNrRW5jbG9zZTpZUyxwYXJ0aXRpb246ZnVuY3Rpb24gZlIoKXt2YXIgdD0xLGU9MSxuPTAsaT0hMTtmdW5jdGlvbiByKHIpe3ZhciBvPXIuaGVpZ2h0KzE7cmV0dXJuIHIueDA9ci55MD1uLHIueDE9dCxyLnkxPWUvbyxyLmVhY2hCZWZvcmUoKGZ1bmN0aW9uIGEodCxlKXtyZXR1cm4gZnVuY3Rpb24oaSl7aS5jaGlsZHJlbiYmbU0oaSxpLngwLHQqKGkuZGVwdGgrMSkvZSxpLngxLHQqKGkuZGVwdGgrMikvZSk7dmFyIHI9aS54MCxvPWkueTAsYT1pLngxLW4scz1pLnkxLW47YTxyJiYocj1hPShyK2EpLzIpLHM8byYmKG89cz0obytzKS8yKSxpLngwPXIsaS55MD1vLGkueDE9YSxpLnkxPXN9fSkoZSxvKSksaSYmci5lYWNoQmVmb3JlKGZNKSxyfXJldHVybiByLnJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSEhdCxyKTppfSxyLnNpemU9ZnVuY3Rpb24obil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9K25bMF0sZT0rblsxXSxyKTpbdCxlXX0sci5wYWRkaW5nPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSt0LHIpOm59LHJ9LHN0cmF0aWZ5OmZ1bmN0aW9uIG1SKCl7dmFyIHQ9eU0sZT12TTtmdW5jdGlvbiBuKG4pe3ZhciBpLHIsbyxhLHMsbCxjLHU9bi5sZW5ndGgsaD1uZXcgQXJyYXkodSksZD17fTtmb3Iocj0wO3I8dTsrK3Ipcz1oW3JdPW5ldyBJUyhpPW5bcl0pLG51bGwhPShsPXQoaSxyLG4pKSYmKGwrPSIiKSYmKGRbYz0iJCIrKHMuaWQ9bCldPWMgaW4gZD9fTTpzKTtmb3Iocj0wO3I8dTsrK3IpaWYocz1oW3JdLG51bGwhPShsPWUobltyXSxyLG4pKSYmKGwrPSIiKSl7aWYoIShhPWRbIiQiK2xdKSl0aHJvdyBuZXcgRXJyb3IoIm1pc3Npbmc6ICIrbCk7aWYoYT09PV9NKXRocm93IG5ldyBFcnJvcigiYW1iaWd1b3VzOiAiK2wpO2EuY2hpbGRyZW4/YS5jaGlsZHJlbi5wdXNoKHMpOmEuY2hpbGRyZW49W3NdLHMucGFyZW50PWF9ZWxzZXtpZihvKXRocm93IG5ldyBFcnJvcigibXVsdGlwbGUgcm9vdHMiKTtvPXN9aWYoIW8pdGhyb3cgbmV3IEVycm9yKCJubyByb290Iik7aWYoby5wYXJlbnQ9Z00sby5lYWNoQmVmb3JlKChmdW5jdGlvbih0KXt0LmRlcHRoPXQucGFyZW50LmRlcHRoKzEsLS11fSkpLmVhY2hCZWZvcmUoTlMpLG8ucGFyZW50PW51bGwsdT4wKXRocm93IG5ldyBFcnJvcigiY3ljbGUiKTtyZXR1cm4gb31yZXR1cm4gbi5pZD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1zTShlKSxuKTp0fSxuLnBhcmVudElkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXNNKHQpLG4pOmV9LG59LHRyZWU6ZnVuY3Rpb24gZ1IoKXt2YXIgdD1iTSxlPTEsbj0xLGk9bnVsbDtmdW5jdGlvbiByKHIpe3ZhciBsPShmdW5jdGlvbiBjKHQpe2Zvcih2YXIgZSxuLGkscixvLGE9bmV3IEVNKHQsMCkscz1bYV07ZT1zLnBvcCgpOylpZihpPWUuXy5jaGlsZHJlbilmb3IoZS5jaGlsZHJlbj1uZXcgQXJyYXkobz1pLmxlbmd0aCkscj1vLTE7cj49MDstLXIpcy5wdXNoKG49ZS5jaGlsZHJlbltyXT1uZXcgRU0oaVtyXSxyKSksbi5wYXJlbnQ9ZTtyZXR1cm4oYS5wYXJlbnQ9bmV3IEVNKG51bGwsMCkpLmNoaWxkcmVuPVthXSxhfSkocik7aWYobC5lYWNoQWZ0ZXIobyksbC5wYXJlbnQubT0tbC56LGwuZWFjaEJlZm9yZShhKSxpKXIuZWFjaEJlZm9yZShzKTtlbHNle3ZhciB1PXIsaD1yLGQ9cjtyLmVhY2hCZWZvcmUoKGZ1bmN0aW9uKHQpe3QueDx1LngmJih1PXQpLHQueD5oLngmJihoPXQpLHQuZGVwdGg+ZC5kZXB0aCYmKGQ9dCl9KSk7dmFyIHA9dT09PWg/MTp0KHUsaCkvMixmPXAtdS54LG09ZS8oaC54K3ArZiksZz1uLyhkLmRlcHRofHwxKTtyLmVhY2hCZWZvcmUoKGZ1bmN0aW9uKHQpe3QueD0odC54K2YpKm0sdC55PXQuZGVwdGgqZ30pKX1yZXR1cm4gcn1mdW5jdGlvbiBvKGUpe3ZhciBuPWUuY2hpbGRyZW4saT1lLnBhcmVudC5jaGlsZHJlbixyPWUuaT9pW2UuaS0xXTpudWxsO2lmKG4peyEoZnVuY3Rpb24gbyh0KXtmb3IodmFyIGUsbj0wLGk9MCxyPXQuY2hpbGRyZW4sbz1yLmxlbmd0aDstLW8+PTA7KShlPXJbb10pLnorPW4sZS5tKz1uLG4rPWUucysoaSs9ZS5jKX0pKGUpO3ZhciBhPShuWzBdLnorbltuLmxlbmd0aC0xXS56KS8yO3I/KGUuej1yLnordChlLl8sci5fKSxlLm09ZS56LWEpOmUuej1hfWVsc2UgciYmKGUuej1yLnordChlLl8sci5fKSk7ZS5wYXJlbnQuQT0oZnVuY3Rpb24gcyhlLG4saSl7aWYobil7Zm9yKHZhciByLG89ZSxhPWUscz1uLGw9by5wYXJlbnQuY2hpbGRyZW5bMF0sYz1vLm0sdT1hLm0saD1zLm0sZD1sLm07cz13TShzKSxvPXhNKG8pLHMmJm87KWw9eE0obCksKGE9d00oYSkpLmE9ZSwocj1zLnoraC1vLnotYyt0KHMuXyxvLl8pKT4wJiYoU00oTU0ocyxlLGkpLGUsciksYys9cix1Kz1yKSxoKz1zLm0sYys9by5tLGQrPWwubSx1Kz1hLm07cyYmIXdNKGEpJiYoYS50PXMsYS5tKz1oLXUpLG8mJiF4TShsKSYmKGwudD1vLGwubSs9Yy1kLGk9ZSl9cmV0dXJuIGl9KShlLHIsZS5wYXJlbnQuQXx8aVswXSl9ZnVuY3Rpb24gYSh0KXt0Ll8ueD10LnordC5wYXJlbnQubSx0Lm0rPXQucGFyZW50Lm19ZnVuY3Rpb24gcyh0KXt0LngqPWUsdC55PXQuZGVwdGgqbn1yZXR1cm4gci5zZXBhcmF0aW9uPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUscik6dH0sci5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSExLGU9K3RbMF0sbj0rdFsxXSxyKTppP251bGw6W2Usbl19LHIubm9kZVNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ITAsZT0rdFswXSxuPSt0WzFdLHIpOmk/W2Usbl06bnVsbH0scn0sdHJlZW1hcDpmdW5jdGlvbiBfUigpe3ZhciB0PWtNLGU9ITEsbj0xLGk9MSxyPVswXSxvPWxNLGE9bE0scz1sTSxsPWxNLGM9bE07ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdC54MD10LnkwPTAsdC54MT1uLHQueTE9aSx0LmVhY2hCZWZvcmUoaCkscj1bMF0sZSYmdC5lYWNoQmVmb3JlKGZNKSx0fWZ1bmN0aW9uIGgoZSl7dmFyIG49cltlLmRlcHRoXSxpPWUueDArbix1PWUueTArbixoPWUueDEtbixkPWUueTEtbjtoPGkmJihpPWg9KGkraCkvMiksZDx1JiYodT1kPSh1K2QpLzIpLGUueDA9aSxlLnkwPXUsZS54MT1oLGUueTE9ZCxlLmNoaWxkcmVuJiYobj1yW2UuZGVwdGgrMV09byhlKS8yLGkrPWMoZSktbix1Kz1hKGUpLW4sKGgtPXMoZSktbik8aSYmKGk9aD0oaStoKS8yKSwoZC09bChlKS1uKTx1JiYodT1kPSh1K2QpLzIpLHQoZSxpLHUsaCxkKSl9cmV0dXJuIHUucm91bmQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ISF0LHUpOmV9LHUuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdFswXSxpPSt0WzFdLHUpOltuLGldfSx1LnRpbGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9c00oZSksdSk6dH0sdS5wYWRkaW5nPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3UucGFkZGluZ0lubmVyKHQpLnBhZGRpbmdPdXRlcih0KTp1LnBhZGRpbmdJbm5lcigpfSx1LnBhZGRpbmdJbm5lcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmNNKCt0KSx1KTpvfSx1LnBhZGRpbmdPdXRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD91LnBhZGRpbmdUb3AodCkucGFkZGluZ1JpZ2h0KHQpLnBhZGRpbmdCb3R0b20odCkucGFkZGluZ0xlZnQodCk6dS5wYWRkaW5nVG9wKCl9LHUucGFkZGluZ1RvcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmNNKCt0KSx1KTphfSx1LnBhZGRpbmdSaWdodD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmNNKCt0KSx1KTpzfSx1LnBhZGRpbmdCb3R0b209ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpjTSgrdCksdSk6bH0sdS5wYWRkaW5nTGVmdD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmNNKCt0KSx1KTpjfSx1fSx0cmVlbWFwQmluYXJ5OmZ1bmN0aW9uIHlSKHQsZSxuLGkscil7dmFyIG8sYSxzPXQuY2hpbGRyZW4sbD1zLmxlbmd0aCxjPW5ldyBBcnJheShsKzEpO2ZvcihjWzBdPWE9bz0wO288bDsrK28pY1tvKzFdPWErPXNbb10udmFsdWU7IShmdW5jdGlvbiB0KGUsbixpLHIsbyxhLGwpe2lmKGU+PW4tMSl7dmFyIHU9c1tlXTtyZXR1cm4gdS54MD1yLHUueTA9byx1LngxPWEsdm9pZCh1LnkxPWwpfXZhciBoPWNbZV0sZD1pLzIraCxwPWUrMSxmPW4tMTtmb3IoO3A8Zjspe3ZhciBtPXArZj4+PjE7Y1ttXTxkP3A9bSsxOmY9bX1kLWNbcC0xXTxjW3BdLWQmJmUrMTxwJiYtLXA7dmFyIGc9Y1twXS1oLF89aS1nO2lmKGEtcj5sLW8pe3ZhciB5PShyKl8rYSpnKS9pO3QoZSxwLGcscixvLHksbCksdChwLG4sXyx5LG8sYSxsKX1lbHNle3ZhciB2PShvKl8rbCpnKS9pO3QoZSxwLGcscixvLGEsdiksdChwLG4sXyxyLHYsYSxsKX19KSgwLGwsdC52YWx1ZSxlLG4saSxyKX0sdHJlZW1hcERpY2U6bU0sdHJlZW1hcFNsaWNlOlRNLHRyZWVtYXBTbGljZURpY2U6ZnVuY3Rpb24gdlIodCxlLG4saSxyKXsoMSZ0LmRlcHRoP1RNOm1NKSh0LGUsbixpLHIpfSx0cmVlbWFwU3F1YXJpZnk6a00sdHJlZW1hcFJlc3F1YXJpZnk6TE0saW50ZXJwb2xhdGU6Y3AsaW50ZXJwb2xhdGVBcnJheTpmdW5jdGlvbiBiUih0LGUpe3JldHVybihlcChlKT90cDpucCkodCxlKX0saW50ZXJwb2xhdGVCYXNpczpqZCxpbnRlcnBvbGF0ZUJhc2lzQ2xvc2VkOkdkLGludGVycG9sYXRlRGF0ZTppcCxpbnRlcnBvbGF0ZURpc2NyZXRlOmZ1bmN0aW9uIHhSKHQpe3ZhciBlPXQubGVuZ3RoO3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdFtNYXRoLm1heCgwLE1hdGgubWluKGUtMSxNYXRoLmZsb29yKG4qZSkpKV19fSxpbnRlcnBvbGF0ZUh1ZTpmdW5jdGlvbiB3Uih0LGUpe3ZhciBuPVlkKCt0LCtlKTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9bih0KTtyZXR1cm4gZS0zNjAqTWF0aC5mbG9vcihlLzM2MCl9fSxpbnRlcnBvbGF0ZU51bWJlcjpycCxpbnRlcnBvbGF0ZU51bWJlckFycmF5OnRwLGludGVycG9sYXRlT2JqZWN0Om9wLGludGVycG9sYXRlUm91bmQ6dXAsaW50ZXJwb2xhdGVTdHJpbmc6bHAsaW50ZXJwb2xhdGVUcmFuc2Zvcm1Dc3M6dnAsaW50ZXJwb2xhdGVUcmFuc2Zvcm1Tdmc6eHAsaW50ZXJwb2xhdGVab29tOkVwLGludGVycG9sYXRlUmdiOktkLGludGVycG9sYXRlUmdiQmFzaXM6SmQsaW50ZXJwb2xhdGVSZ2JCYXNpc0Nsb3NlZDpRZCxpbnRlcnBvbGF0ZUhzbDpDcCxpbnRlcnBvbGF0ZUhzbExvbmc6QXAsaW50ZXJwb2xhdGVMYWI6a3AsaW50ZXJwb2xhdGVIY2w6UHAsaW50ZXJwb2xhdGVIY2xMb25nOk5wLGludGVycG9sYXRlQ3ViZWhlbGl4OlJwLGludGVycG9sYXRlQ3ViZWhlbGl4TG9uZzpPcCxwaWVjZXdpc2U6ZnVuY3Rpb24gU1IodCxlKXtmb3IodmFyIG49MCxpPWUubGVuZ3RoLTEscj1lWzBdLG89bmV3IEFycmF5KGk8MD8wOmkpO248aTspb1tuXT10KHIscj1lWysrbl0pO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT1NYXRoLm1heCgwLE1hdGgubWluKGktMSxNYXRoLmZsb29yKHQqPWkpKSk7cmV0dXJuIG9bZV0odC1lKX19LHF1YW50aXplOmZ1bmN0aW9uIE1SKHQsZSl7Zm9yKHZhciBuPW5ldyBBcnJheShlKSxpPTA7aTxlOysraSluW2ldPXQoaS8oZS0xKSk7cmV0dXJuIG59LHBhdGg6T2cscG9seWdvbkFyZWE6ZnVuY3Rpb24gRVIodCl7Zm9yKHZhciBlLG49LTEsaT10Lmxlbmd0aCxyPXRbaS0xXSxvPTA7KytuPGk7KW8rPShlPXIpWzFdKihyPXRbbl0pWzBdLWVbMF0qclsxXTtyZXR1cm4gby8yfSxwb2x5Z29uQ2VudHJvaWQ6ZnVuY3Rpb24gVFIodCl7Zm9yKHZhciBlLG4saT0tMSxyPXQubGVuZ3RoLG89MCxhPTAscz10W3ItMV0sbD0wOysraTxyOylsKz1uPShlPXMpWzBdKihzPXRbaV0pWzFdLXNbMF0qZVsxXSxvKz0oZVswXStzWzBdKSpuLGErPShlWzFdK3NbMV0pKm47cmV0dXJuW28vKGwqPTMpLGEvbF19LHBvbHlnb25IdWxsOmZ1bmN0aW9uIENSKHQpe2lmKChuPXQubGVuZ3RoKTwzKXJldHVybiBudWxsO3ZhciBlLG4saT1uZXcgQXJyYXkobikscj1uZXcgQXJyYXkobik7Zm9yKGU9MDtlPG47KytlKWlbZV09Wyt0W2VdWzBdLCt0W2VdWzFdLGVdO2ZvcihpLnNvcnQoTk0pLGU9MDtlPG47KytlKXJbZV09W2lbZV1bMF0sLWlbZV1bMV1dO3ZhciBvPUlNKGkpLGE9SU0ocikscz1hWzBdPT09b1swXSxsPWFbYS5sZW5ndGgtMV09PT1vW28ubGVuZ3RoLTFdLGM9W107Zm9yKGU9by5sZW5ndGgtMTtlPj0wOy0tZSljLnB1c2godFtpW29bZV1dWzJdXSk7Zm9yKGU9K3M7ZTxhLmxlbmd0aC1sOysrZSljLnB1c2godFtpW2FbZV1dWzJdXSk7cmV0dXJuIGN9LHBvbHlnb25Db250YWluczpmdW5jdGlvbiBBUih0LGUpe2Zvcih2YXIgbixpLHI9dC5sZW5ndGgsbz10W3ItMV0sYT1lWzBdLHM9ZVsxXSxsPW9bMF0sYz1vWzFdLHU9ITEsaD0wO2g8cjsrK2gpbj0obz10W2hdKVswXSwoaT1vWzFdKT5zIT1jPnMmJmE8KGwtbikqKHMtaSkvKGMtaSkrbiYmKHU9IXUpLGw9bixjPWk7cmV0dXJuIHV9LHBvbHlnb25MZW5ndGg6ZnVuY3Rpb24ga1IodCl7Zm9yKHZhciBlLG4saT0tMSxyPXQubGVuZ3RoLG89dFtyLTFdLGE9b1swXSxzPW9bMV0sbD0wOysraTxyOyllPWEsbj1zLGUtPWE9KG89dFtpXSlbMF0sbi09cz1vWzFdLGwrPU1hdGguc3FydChlKmUrbipuKTtyZXR1cm4gbH0scXVhZHRyZWU6dHkscmFuZG9tVW5pZm9ybTpPTSxyYW5kb21Ob3JtYWw6ek0scmFuZG9tTG9nTm9ybWFsOkRNLHJhbmRvbUJhdGVzOkhNLHJhbmRvbUlyd2luSGFsbDpCTSxyYW5kb21FeHBvbmVudGlhbDpGTSxzY2FsZUJhbmQ6WE0sc2NhbGVQb2ludDpLTSxzY2FsZUlkZW50aXR5OmZ1bmN0aW9uIHQoZSl7dmFyIG47ZnVuY3Rpb24gaSh0KXtyZXR1cm4gaXNOYU4odD0rdCk/bjp0fXJldHVybiBpLmludmVydD1pLGkuZG9tYWluPWkucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9R00uY2FsbCh0LFpNKSxpKTplLnNsaWNlKCl9LGkudW5rbm93bj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LGkpOm59LGkuY29weT1mdW5jdGlvbigpe3JldHVybiB0KGUpLnVua25vd24obil9LGU9YXJndW1lbnRzLmxlbmd0aD9HTS5jYWxsKGUsWk0pOlswLDFdLGxFKGkpfSxzY2FsZUxpbmVhcjpjRSxzY2FsZUxvZzp5RSxzY2FsZVN5bWxvZzpmdW5jdGlvbiB0KCl7dmFyIGU9eEUob0UoKSk7cmV0dXJuIGUuY29weT1mdW5jdGlvbigpe3JldHVybiByRShlLHQoKSkuY29uc3RhbnQoZS5jb25zdGFudCgpKX0sVk0uYXBwbHkoZSxhcmd1bWVudHMpfSxzY2FsZU9yZGluYWw6WU0sc2NhbGVJbXBsaWNpdDpxTSxzY2FsZVBvdzpURSxzY2FsZVNxcnQ6ZnVuY3Rpb24gTFIoKXtyZXR1cm4gVEUuYXBwbHkobnVsbCxhcmd1bWVudHMpLmV4cG9uZW50KC41KX0sc2NhbGVRdWFudGlsZTpDRSxzY2FsZVF1YW50aXplOkFFLHNjYWxlVGhyZXNob2xkOmZ1bmN0aW9uIHQoKXt2YXIgZSxuPVsuNV0saT1bMCwxXSxyPTE7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gdDw9dD9pW0RsKG4sdCwwLHIpXTplfXJldHVybiBvLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1XTS5jYWxsKHQpLHI9TWF0aC5taW4obi5sZW5ndGgsaS5sZW5ndGgtMSksbyk6bi5zbGljZSgpfSxvLnJhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPVdNLmNhbGwodCkscj1NYXRoLm1pbihuLmxlbmd0aCxpLmxlbmd0aC0xKSxvKTppLnNsaWNlKCl9LG8uaW52ZXJ0RXh0ZW50PWZ1bmN0aW9uKHQpe3ZhciBlPWkuaW5kZXhPZih0KTtyZXR1cm5bbltlLTFdLG5bZV1dfSxvLnVua25vd249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxvKTplfSxvLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLmRvbWFpbihuKS5yYW5nZShpKS51bmtub3duKGUpfSxWTS5hcHBseShvLGFyZ3VtZW50cyl9LHNjYWxlVGltZTp6QSxzY2FsZVV0YzpmdW5jdGlvbiBQUigpe3JldHVybiBWTS5hcHBseShPQShZVCxHVCxrVCxUVCxTVCxiVCxWRSxJRSxuQykuZG9tYWluKFtEYXRlLlVUQygyZTMsMCwxKSxEYXRlLlVUQygyZTMsMCwyKV0pLGFyZ3VtZW50cyl9LHNjYWxlU2VxdWVudGlhbDpmdW5jdGlvbiB0KCl7dmFyIGU9bEUoREEoKShRTSkpO3JldHVybiBlLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gQkEoZSx0KCkpfSxVTS5hcHBseShlLGFyZ3VtZW50cyl9LHNjYWxlU2VxdWVudGlhbExvZzpmdW5jdGlvbiB0KCl7dmFyIGU9X0UoREEoKSkuZG9tYWluKFsxLDEwXSk7cmV0dXJuIGUuY29weT1mdW5jdGlvbigpe3JldHVybiBCQShlLHQoKSkuYmFzZShlLmJhc2UoKSl9LFVNLmFwcGx5KGUsYXJndW1lbnRzKX0sc2NhbGVTZXF1ZW50aWFsUG93OkhBLHNjYWxlU2VxdWVudGlhbFNxcnQ6ZnVuY3Rpb24gTlIoKXtyZXR1cm4gSEEuYXBwbHkobnVsbCxhcmd1bWVudHMpLmV4cG9uZW50KC41KX0sc2NhbGVTZXF1ZW50aWFsU3ltbG9nOmZ1bmN0aW9uIHQoKXt2YXIgZT14RShEQSgpKTtyZXR1cm4gZS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIEJBKGUsdCgpKS5jb25zdGFudChlLmNvbnN0YW50KCkpfSxVTS5hcHBseShlLGFyZ3VtZW50cyl9LHNjYWxlU2VxdWVudGlhbFF1YW50aWxlOmZ1bmN0aW9uIHQoKXt2YXIgZT1bXSxuPVFNO2Z1bmN0aW9uIGkodCl7aWYoIWlzTmFOKHQ9K3QpKXJldHVybiBuKChEbChlLHQpLTEpLyhlLmxlbmd0aC0xKSl9cmV0dXJuIGkuZG9tYWluPWZ1bmN0aW9uKHQpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBlLnNsaWNlKCk7ZT1bXTtmb3IodmFyIG4scj0wLG89dC5sZW5ndGg7cjxvOysrciludWxsPT0obj10W3JdKXx8aXNOYU4obj0rbil8fGUucHVzaChuKTtyZXR1cm4gZS5zb3J0KFJsKSxpfSxpLmludGVycG9sYXRvcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj10LGkpOm59LGkuY29weT1mdW5jdGlvbigpe3JldHVybiB0KG4pLmRvbWFpbihlKX0sVU0uYXBwbHkoaSxhcmd1bWVudHMpfSxzY2FsZURpdmVyZ2luZzpmdW5jdGlvbiB0KCl7dmFyIGU9bEUoRkEoKShRTSkpO3JldHVybiBlLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gQkEoZSx0KCkpfSxVTS5hcHBseShlLGFyZ3VtZW50cyl9LHNjYWxlRGl2ZXJnaW5nTG9nOmZ1bmN0aW9uIHQoKXt2YXIgZT1fRShGQSgpKS5kb21haW4oWy4xLDEsMTBdKTtyZXR1cm4gZS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIEJBKGUsdCgpKS5iYXNlKGUuYmFzZSgpKX0sVU0uYXBwbHkoZSxhcmd1bWVudHMpfSxzY2FsZURpdmVyZ2luZ1BvdzpWQSxzY2FsZURpdmVyZ2luZ1NxcnQ6ZnVuY3Rpb24gSVIoKXtyZXR1cm4gVkEuYXBwbHkobnVsbCxhcmd1bWVudHMpLmV4cG9uZW50KC41KX0sc2NhbGVEaXZlcmdpbmdTeW1sb2c6ZnVuY3Rpb24gdCgpe3ZhciBlPXhFKEZBKCkpO3JldHVybiBlLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gQkEoZSx0KCkpLmNvbnN0YW50KGUuY29uc3RhbnQoKSl9LFVNLmFwcGx5KGUsYXJndW1lbnRzKX0sdGlja0Zvcm1hdDpzRSxzY2hlbWVDYXRlZ29yeTEwOmpBLHNjaGVtZUFjY2VudDpHQSxzY2hlbWVEYXJrMjpXQSxzY2hlbWVQYWlyZWQ6cUEsc2NoZW1lUGFzdGVsMTpZQSxzY2hlbWVQYXN0ZWwyOlhBLHNjaGVtZVNldDE6JEEsc2NoZW1lU2V0MjpLQSxzY2hlbWVTZXQzOlpBLHNjaGVtZVRhYmxlYXUxMDpKQSxpbnRlcnBvbGF0ZUJyQkc6ZWssc2NoZW1lQnJCRzp0ayxpbnRlcnBvbGF0ZVBSR246aWssc2NoZW1lUFJHbjpuayxpbnRlcnBvbGF0ZVBpWUc6b2ssc2NoZW1lUGlZRzpyayxpbnRlcnBvbGF0ZVB1T3I6c2ssc2NoZW1lUHVPcjphayxpbnRlcnBvbGF0ZVJkQnU6Y2ssc2NoZW1lUmRCdTpsayxpbnRlcnBvbGF0ZVJkR3k6aGssc2NoZW1lUmRHeTp1ayxpbnRlcnBvbGF0ZVJkWWxCdTpwayxzY2hlbWVSZFlsQnU6ZGssaW50ZXJwb2xhdGVSZFlsR246bWssc2NoZW1lUmRZbEduOmZrLGludGVycG9sYXRlU3BlY3RyYWw6X2ssc2NoZW1lU3BlY3RyYWw6Z2ssaW50ZXJwb2xhdGVCdUduOnZrLHNjaGVtZUJ1R246eWssaW50ZXJwb2xhdGVCdVB1OnhrLHNjaGVtZUJ1UHU6YmssaW50ZXJwb2xhdGVHbkJ1OlNrLHNjaGVtZUduQnU6d2ssaW50ZXJwb2xhdGVPclJkOkVrLHNjaGVtZU9yUmQ6TWssaW50ZXJwb2xhdGVQdUJ1R246Q2ssc2NoZW1lUHVCdUduOlRrLGludGVycG9sYXRlUHVCdTprayxzY2hlbWVQdUJ1OkFrLGludGVycG9sYXRlUHVSZDpQayxzY2hlbWVQdVJkOkxrLGludGVycG9sYXRlUmRQdTpJayxzY2hlbWVSZFB1Ok5rLGludGVycG9sYXRlWWxHbkJ1Ok9rLHNjaGVtZVlsR25CdTpSayxpbnRlcnBvbGF0ZVlsR246RGssc2NoZW1lWWxHbjp6ayxpbnRlcnBvbGF0ZVlsT3JCcjpIayxzY2hlbWVZbE9yQnI6QmssaW50ZXJwb2xhdGVZbE9yUmQ6Vmssc2NoZW1lWWxPclJkOkZrLGludGVycG9sYXRlQmx1ZXM6amssc2NoZW1lQmx1ZXM6VWssaW50ZXJwb2xhdGVHcmVlbnM6V2ssc2NoZW1lR3JlZW5zOkdrLGludGVycG9sYXRlR3JleXM6WWssc2NoZW1lR3JleXM6cWssaW50ZXJwb2xhdGVQdXJwbGVzOiRrLHNjaGVtZVB1cnBsZXM6WGssaW50ZXJwb2xhdGVSZWRzOlprLHNjaGVtZVJlZHM6S2ssaW50ZXJwb2xhdGVPcmFuZ2VzOlFrLHNjaGVtZU9yYW5nZXM6SmssaW50ZXJwb2xhdGVDaXZpZGlzOmZ1bmN0aW9uIFJSKHQpe3JldHVybiB0PU1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSksInJnYigiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQoLTQuNTQtdCooMzUuMzQtdCooMjM4MS43My10Kig2NDAyLjctdCooNzAyNC43Mi0yNzEwLjU3KnQpKSkpKSkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCgzMi40OSt0KigxNzAuNzMrdCooNTIuODItdCooMTMxLjQ2LXQqKDE3Ni41OC02Ny4zNyp0KSkpKSkpKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQoODEuMjQrdCooNDQyLjM2LXQqKDI0ODIuNDMtdCooNjE2Ny4yNC10Kig2NjE0Ljk0LTI0NzUuNjcqdCkpKSkpKSkrIikifSxpbnRlcnBvbGF0ZUN1YmVoZWxpeERlZmF1bHQ6dEwsaW50ZXJwb2xhdGVSYWluYm93OmZ1bmN0aW9uIE9SKHQpeyh0PDB8fHQ+MSkmJih0LT1NYXRoLmZsb29yKHQpKTt2YXIgZT1NYXRoLmFicyh0LS41KTtyZXR1cm4gaUwuaD0zNjAqdC0xMDAsaUwucz0xLjUtMS41KmUsaUwubD0uOC0uOSplLGlMKyIifSxpbnRlcnBvbGF0ZVdhcm06ZUwsaW50ZXJwb2xhdGVDb29sOm5MLGludGVycG9sYXRlU2luZWJvdzpmdW5jdGlvbiB6Uih0KXt2YXIgZTtyZXR1cm4gdD0oLjUtdCkqTWF0aC5QSSxyTC5yPTI1NSooZT1NYXRoLnNpbih0KSkqZSxyTC5nPTI1NSooZT1NYXRoLnNpbih0K29MKSkqZSxyTC5iPTI1NSooZT1NYXRoLnNpbih0K2FMKSkqZSxyTCsiIn0saW50ZXJwb2xhdGVUdXJibzpmdW5jdGlvbiBEUih0KXtyZXR1cm4gdD1NYXRoLm1heCgwLE1hdGgubWluKDEsdCkpLCJyZ2IoIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKDM0LjYxK3QqKDExNzIuMzMtdCooMTA3OTMuNTYtdCooMzMzMDAuMTItdCooMzgzOTQuNDktMTQ4MjUuMDUqdCkpKSkpKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKDIzLjMxK3QqKDU1Ny4zMyt0KigxMjI1LjMzLXQqKDM1NzQuOTYtdCooMTA3My43Nys3MDcuNTYqdCkpKSkpKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKDI3LjIrdCooMzIxMS4xLXQqKDE1MzI3Ljk3LXQqKDI3ODE0LXQqKDIyNTY5LjE4LTY4MzguNjYqdCkpKSkpKSkrIikifSxpbnRlcnBvbGF0ZVZpcmlkaXM6bEwsaW50ZXJwb2xhdGVNYWdtYTpjTCxpbnRlcnBvbGF0ZUluZmVybm86dUwsaW50ZXJwb2xhdGVQbGFzbWE6aEwsY3JlYXRlOmZ1bmN0aW9uIEJSKHQpe3JldHVybiBEdShOYyh0KS5jYWxsKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkpfSxjcmVhdG9yOk5jLGxvY2FsOmdoLG1hdGNoZXI6RGMsbW91c2U6YmgsbmFtZXNwYWNlOmtjLG5hbWVzcGFjZXM6QWMsY2xpZW50UG9pbnQ6dmgsc2VsZWN0OkR1LHNlbGVjdEFsbDp4aCxzZWxlY3Rpb246enUsc2VsZWN0b3I6UmMsc2VsZWN0b3JBbGw6emMsc3R5bGU6UWMsdG91Y2g6d2gsdG91Y2hlczpmdW5jdGlvbiBIUih0LGUpe251bGw9PWUmJihlPXloKCkudG91Y2hlcyk7Zm9yKHZhciBuPTAsaT1lP2UubGVuZ3RoOjAscj1uZXcgQXJyYXkoaSk7bjxpOysrbilyW25dPXZoKHQsZVtuXSk7cmV0dXJuIHJ9LHdpbmRvdzokYyxnZXQgZXZlbnQoKXtyZXR1cm4gTXV9LGN1c3RvbUV2ZW50Okx1LGFyYzpmdW5jdGlvbiBGUigpe3ZhciB0PVRMLGU9Q0wsbj1kTCgwKSxpPW51bGwscj1BTCxvPWtMLGE9TEwscz1udWxsO2Z1bmN0aW9uIGwoKXt2YXIgbCxjLHU9K3QuYXBwbHkodGhpcyxhcmd1bWVudHMpLGg9K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpLGQ9ci5hcHBseSh0aGlzLGFyZ3VtZW50cyktd0wscD1vLmFwcGx5KHRoaXMsYXJndW1lbnRzKS13TCxmPXBMKHAtZCksbT1wPmQ7aWYoc3x8KHM9bD1PZygpKSxoPHUmJihjPWgsaD11LHU9YyksaD5iTClpZihmPlNMLWJMKXMubW92ZVRvKGgqbUwoZCksaCp5TChkKSkscy5hcmMoMCwwLGgsZCxwLCFtKSx1PmJMJiYocy5tb3ZlVG8odSptTChwKSx1KnlMKHApKSxzLmFyYygwLDAsdSxwLGQsbSkpO2Vsc2V7dmFyIGcsXyx5PWQsdj1wLGI9ZCx4PXAsdz1mLFM9ZixNPWEuYXBwbHkodGhpcyxhcmd1bWVudHMpLzIsRT1NPmJMJiYoaT8raS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dkwodSp1K2gqaCkpLFQ9X0wocEwoaC11KS8yLCtuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksQz1ULEE9VDtpZihFPmJMKXt2YXIgaz1FTChFL3UqeUwoTSkpLEw9RUwoRS9oKnlMKE0pKTsody09MiprKT5iTD8oYis9ayo9bT8xOi0xLHgtPWspOih3PTAsYj14PShkK3ApLzIpLChTLT0yKkwpPmJMPyh5Kz1MKj1tPzE6LTEsdi09TCk6KFM9MCx5PXY9KGQrcCkvMil9dmFyIFA9aCptTCh5KSxOPWgqeUwoeSksST11Km1MKHgpLFI9dSp5TCh4KTtpZihUPmJMKXt2YXIgTyx6PWgqbUwodiksRD1oKnlMKHYpLEI9dSptTChiKSxIPXUqeUwoYik7aWYoZjx4TCYmKE89UEwoUCxOLEIsSCx6LEQsSSxSKSkpe3ZhciBGPVAtT1swXSxWPU4tT1sxXSxVPXotT1swXSxqPUQtT1sxXSxHPTEveUwoTUwoKEYqVStWKmopLyh2TChGKkYrVipWKSp2TChVKlUraipqKSkpLzIpLFc9dkwoT1swXSpPWzBdK09bMV0qT1sxXSk7Qz1fTChULCh1LVcpLyhHLTEpKSxBPV9MKFQsKGgtVykvKEcrMSkpfX1TPmJMP0E+Ykw/KGc9TkwoQixILFAsTixoLEEsbSksXz1OTCh6LEQsSSxSLGgsQSxtKSxzLm1vdmVUbyhnLmN4K2cueDAxLGcuY3krZy55MDEpLEE8VD9zLmFyYyhnLmN4LGcuY3ksQSxmTChnLnkwMSxnLngwMSksZkwoXy55MDEsXy54MDEpLCFtKToocy5hcmMoZy5jeCxnLmN5LEEsZkwoZy55MDEsZy54MDEpLGZMKGcueTExLGcueDExKSwhbSkscy5hcmMoMCwwLGgsZkwoZy5jeStnLnkxMSxnLmN4K2cueDExKSxmTChfLmN5K18ueTExLF8uY3grXy54MTEpLCFtKSxzLmFyYyhfLmN4LF8uY3ksQSxmTChfLnkxMSxfLngxMSksZkwoXy55MDEsXy54MDEpLCFtKSkpOihzLm1vdmVUbyhQLE4pLHMuYXJjKDAsMCxoLHksdiwhbSkpOnMubW92ZVRvKFAsTiksdT5iTCYmdz5iTD9DPmJMPyhnPU5MKEksUix6LEQsdSwtQyxtKSxfPU5MKFAsTixCLEgsdSwtQyxtKSxzLmxpbmVUbyhnLmN4K2cueDAxLGcuY3krZy55MDEpLEM8VD9zLmFyYyhnLmN4LGcuY3ksQyxmTChnLnkwMSxnLngwMSksZkwoXy55MDEsXy54MDEpLCFtKToocy5hcmMoZy5jeCxnLmN5LEMsZkwoZy55MDEsZy54MDEpLGZMKGcueTExLGcueDExKSwhbSkscy5hcmMoMCwwLHUsZkwoZy5jeStnLnkxMSxnLmN4K2cueDExKSxmTChfLmN5K18ueTExLF8uY3grXy54MTEpLG0pLHMuYXJjKF8uY3gsXy5jeSxDLGZMKF8ueTExLF8ueDExKSxmTChfLnkwMSxfLngwMSksIW0pKSk6cy5hcmMoMCwwLHUseCxiLG0pOnMubGluZVRvKEksUil9ZWxzZSBzLm1vdmVUbygwLDApO2lmKHMuY2xvc2VQYXRoKCksbClyZXR1cm4gcz1udWxsLGwrIiJ8fG51bGx9cmV0dXJuIGwuY2VudHJvaWQ9ZnVuY3Rpb24oKXt2YXIgbj0oK3QuYXBwbHkodGhpcyxhcmd1bWVudHMpKyArZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpLzIsaT0oK3IuYXBwbHkodGhpcyxhcmd1bWVudHMpKyArby5hcHBseSh0aGlzLGFyZ3VtZW50cykpLzIteEwvMjtyZXR1cm5bbUwoaSkqbix5TChpKSpuXX0sbC5pbm5lclJhZGl1cz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOmRMKCtlKSxsKTp0fSxsLm91dGVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoK3QpLGwpOmV9LGwuY29ybmVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoK3QpLGwpOm59LGwucGFkUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCt0KSxsKTppfSxsLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTCgrdCksbCk6cn0sbC5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCt0KSxsKTpvfSxsLnBhZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoK3QpLGwpOmF9LGwuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz1udWxsPT10P251bGw6dCxsKTpzfSxsfSxhcmVhOkJMLGxpbmU6REwscGllOmZ1bmN0aW9uIFZSKCl7dmFyIHQ9RkwsZT1ITCxuPW51bGwsaT1kTCgwKSxyPWRMKFNMKSxvPWRMKDApO2Z1bmN0aW9uIGEoYSl7dmFyIHMsbCxjLHUsaCxkPWEubGVuZ3RoLHA9MCxmPW5ldyBBcnJheShkKSxtPW5ldyBBcnJheShkKSxnPStpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxfPU1hdGgubWluKFNMLE1hdGgubWF4KC1TTCxyLmFwcGx5KHRoaXMsYXJndW1lbnRzKS1nKSkseT1NYXRoLm1pbihNYXRoLmFicyhfKS9kLG8uYXBwbHkodGhpcyxhcmd1bWVudHMpKSx2PXkqKF88MD8tMToxKTtmb3Iocz0wO3M8ZDsrK3MpKGg9bVtmW3NdPXNdPSt0KGFbc10scyxhKSk+MCYmKHArPWgpO2ZvcihudWxsIT1lP2Yuc29ydCgoZnVuY3Rpb24odCxuKXtyZXR1cm4gZShtW3RdLG1bbl0pfSkpOm51bGwhPW4mJmYuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gbihhW3RdLGFbZV0pfSkpLHM9MCxjPXA/KF8tZCp2KS9wOjA7czxkOysrcyxnPXUpbVtsPWZbc11dPXtkYXRhOmFbbF0saW5kZXg6cyx2YWx1ZTpoPW1bbF0sc3RhcnRBbmdsZTpnLGVuZEFuZ2xlOnU9ZysoaD4wP2gqYzowKSt2LHBhZEFuZ2xlOnl9O3JldHVybiBtfXJldHVybiBhLnZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6ZEwoK2UpLGEpOnR9LGEuc29ydFZhbHVlcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LG49bnVsbCxhKTplfSxhLnNvcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxlPW51bGwsYSk6bn0sYS5zdGFydEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZEwoK3QpLGEpOml9LGEuZW5kQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTCgrdCksYSk6cn0sYS5wYWRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCt0KSxhKTpvfSxhfSxhcmVhUmFkaWFsOnFMLHJhZGlhbEFyZWE6cUwsbGluZVJhZGlhbDpXTCxyYWRpYWxMaW5lOldMLHBvaW50UmFkaWFsOllMLGxpbmtIb3Jpem9udGFsOmZ1bmN0aW9uIFVSKCl7cmV0dXJuIFpMKEpMKX0sbGlua1ZlcnRpY2FsOmZ1bmN0aW9uIGpSKCl7cmV0dXJuIFpMKFFMKX0sbGlua1JhZGlhbDpmdW5jdGlvbiBHUigpe3ZhciB0PVpMKHRQKTtyZXR1cm4gdC5hbmdsZT10LngsZGVsZXRlIHQueCx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0fSxzeW1ib2w6ZnVuY3Rpb24gV1IoKXt2YXIgdD1kTChlUCksZT1kTCg2NCksbj1udWxsO2Z1bmN0aW9uIGkoKXt2YXIgaTtpZihufHwobj1pPU9nKCkpLHQuYXBwbHkodGhpcyxhcmd1bWVudHMpLmRyYXcobiwrZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpLGkpcmV0dXJuIG49bnVsbCxpKyIifHxudWxsfXJldHVybiBpLnR5cGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpkTChlKSxpKTp0fSxpLnNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTCgrdCksaSk6ZX0saS5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW51bGw9PXQ/bnVsbDp0LGkpOm59LGl9LHN5bWJvbHM6eVAsc3ltYm9sQ2lyY2xlOmVQLHN5bWJvbENyb3NzOm5QLHN5bWJvbERpYW1vbmQ6b1Asc3ltYm9sU3F1YXJlOnVQLHN5bWJvbFN0YXI6Y1Asc3ltYm9sVHJpYW5nbGU6ZFAsc3ltYm9sV3llOl9QLGN1cnZlQmFzaXNDbG9zZWQ6ZnVuY3Rpb24gcVIodCl7cmV0dXJuIG5ldyBTUCh0KX0sY3VydmVCYXNpc09wZW46ZnVuY3Rpb24gWVIodCl7cmV0dXJuIG5ldyBNUCh0KX0sY3VydmVCYXNpczp3UCxjdXJ2ZUJ1bmRsZTpUUCxjdXJ2ZUNhcmRpbmFsQ2xvc2VkOlBQLGN1cnZlQ2FyZGluYWxPcGVuOklQLGN1cnZlQ2FyZGluYWw6a1AsY3VydmVDYXRtdWxsUm9tQ2xvc2VkOkJQLGN1cnZlQ2F0bXVsbFJvbU9wZW46RlAsY3VydmVDYXRtdWxsUm9tOnpQLGN1cnZlTGluZWFyQ2xvc2VkOmZ1bmN0aW9uIFhSKHQpe3JldHVybiBuZXcgVlAodCl9LGN1cnZlTGluZWFyOlJMLGN1cnZlTW9ub3RvbmVYOmZ1bmN0aW9uICRSKHQpe3JldHVybiBuZXcgcVAodCl9LGN1cnZlTW9ub3RvbmVZOmZ1bmN0aW9uIEtSKHQpe3JldHVybiBuZXcgWVAodCl9LGN1cnZlTmF0dXJhbDpmdW5jdGlvbiBaUih0KXtyZXR1cm4gbmV3ICRQKHQpfSxjdXJ2ZVN0ZXA6ZnVuY3Rpb24gSlIodCl7cmV0dXJuIG5ldyBaUCh0LC41KX0sY3VydmVTdGVwQWZ0ZXI6ZnVuY3Rpb24gUVIodCl7cmV0dXJuIG5ldyBaUCh0LDEpfSxjdXJ2ZVN0ZXBCZWZvcmU6ZnVuY3Rpb24gdE8odCl7cmV0dXJuIG5ldyBaUCh0LDApfSxzdGFjazpmdW5jdGlvbiBlTygpe3ZhciB0PWRMKFtdKSxlPVFQLG49SlAsaT10TjtmdW5jdGlvbiByKHIpe3ZhciBvLGEscz10LmFwcGx5KHRoaXMsYXJndW1lbnRzKSxsPXIubGVuZ3RoLGM9cy5sZW5ndGgsdT1uZXcgQXJyYXkoYyk7Zm9yKG89MDtvPGM7KytvKXtmb3IodmFyIGgsZD1zW29dLHA9dVtvXT1uZXcgQXJyYXkobCksZj0wO2Y8bDsrK2YpcFtmXT1oPVswLCtpKHJbZl0sZCxmLHIpXSxoLmRhdGE9cltmXTtwLmtleT1kfWZvcihvPTAsYT1lKHUpO288YzsrK28pdVthW29dXS5pbmRleD1vO3JldHVybiBuKHUsYSksdX1yZXR1cm4gci5rZXlzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6ZEwoWEwuY2FsbChlKSkscik6dH0sci52YWx1ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OmRMKCt0KSxyKTppfSxyLm9yZGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPW51bGw9PXQ/UVA6ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpkTChYTC5jYWxsKHQpKSxyKTplfSxyLm9mZnNldD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1udWxsPT10P0pQOnQscik6bn0scn0sc3RhY2tPZmZzZXRFeHBhbmQ6ZnVuY3Rpb24gbk8odCxlKXtpZigoaT10Lmxlbmd0aCk+MCl7Zm9yKHZhciBuLGkscixvPTAsYT10WzBdLmxlbmd0aDtvPGE7KytvKXtmb3Iocj1uPTA7bjxpOysrbilyKz10W25dW29dWzFdfHwwO2lmKHIpZm9yKG49MDtuPGk7KytuKXRbbl1bb11bMV0vPXJ9SlAodCxlKX19LHN0YWNrT2Zmc2V0RGl2ZXJnaW5nOmZ1bmN0aW9uIGlPKHQsZSl7aWYoKHM9dC5sZW5ndGgpPjApZm9yKHZhciBuLGkscixvLGEscyxsPTAsYz10W2VbMF1dLmxlbmd0aDtsPGM7KytsKWZvcihvPWE9MCxuPTA7bjxzOysrbikocj0oaT10W2Vbbl1dW2xdKVsxXS1pWzBdKT4wPyhpWzBdPW8saVsxXT1vKz1yKTpyPDA/KGlbMV09YSxpWzBdPWErPXIpOihpWzBdPTAsaVsxXT1yKX0sc3RhY2tPZmZzZXROb25lOkpQLHN0YWNrT2Zmc2V0U2lsaG91ZXR0ZTpmdW5jdGlvbiByTyh0LGUpe2lmKChuPXQubGVuZ3RoKT4wKXtmb3IodmFyIG4saT0wLHI9dFtlWzBdXSxvPXIubGVuZ3RoO2k8bzsrK2kpe2Zvcih2YXIgYT0wLHM9MDthPG47KythKXMrPXRbYV1baV1bMV18fDA7cltpXVsxXSs9cltpXVswXT0tcy8yfUpQKHQsZSl9fSxzdGFja09mZnNldFdpZ2dsZTpmdW5jdGlvbiBvTyh0LGUpe2lmKChyPXQubGVuZ3RoKT4wJiYoaT0obj10W2VbMF1dKS5sZW5ndGgpPjApe2Zvcih2YXIgbixpLHIsbz0wLGE9MTthPGk7KythKXtmb3IodmFyIHM9MCxsPTAsYz0wO3M8cjsrK3Mpe2Zvcih2YXIgdT10W2Vbc11dLGg9dVthXVsxXXx8MCxkPShoLSh1W2EtMV1bMV18fDApKS8yLHA9MDtwPHM7KytwKXt2YXIgZj10W2VbcF1dO2QrPShmW2FdWzFdfHwwKS0oZlthLTFdWzFdfHwwKX1sKz1oLGMrPWQqaH1uW2EtMV1bMV0rPW5bYS0xXVswXT1vLGwmJihvLT1jL2wpfW5bYS0xXVsxXSs9blthLTFdWzBdPW8sSlAodCxlKX19LHN0YWNrT3JkZXJBcHBlYXJhbmNlOmVOLHN0YWNrT3JkZXJBc2NlbmRpbmc6aU4sc3RhY2tPcmRlckRlc2NlbmRpbmc6ZnVuY3Rpb24gYU8odCl7cmV0dXJuIGlOKHQpLnJldmVyc2UoKX0sc3RhY2tPcmRlckluc2lkZU91dDpmdW5jdGlvbiBzTyh0KXt2YXIgZSxuLGk9dC5sZW5ndGgscj10Lm1hcChyTiksbz1lTih0KSxhPTAscz0wLGw9W10sYz1bXTtmb3IoZT0wO2U8aTsrK2Upbj1vW2VdLGE8cz8oYSs9cltuXSxsLnB1c2gobikpOihzKz1yW25dLGMucHVzaChuKSk7cmV0dXJuIGMucmV2ZXJzZSgpLmNvbmNhdChsKX0sc3RhY2tPcmRlck5vbmU6UVAsc3RhY2tPcmRlclJldmVyc2U6ZnVuY3Rpb24gbE8odCl7cmV0dXJuIFFQKHQpLnJldmVyc2UoKX0sdGltZUludGVydmFsOlBFLHRpbWVNaWxsaXNlY29uZDpJRSx0aW1lTWlsbGlzZWNvbmRzOlJFLHV0Y01pbGxpc2Vjb25kOklFLHV0Y01pbGxpc2Vjb25kczpSRSx0aW1lU2Vjb25kOlZFLHRpbWVTZWNvbmRzOlVFLHV0Y1NlY29uZDpWRSx1dGNTZWNvbmRzOlVFLHRpbWVNaW51dGU6R0UsdGltZU1pbnV0ZXM6V0UsdGltZUhvdXI6WUUsdGltZUhvdXJzOlhFLHRpbWVEYXk6S0UsdGltZURheXM6WkUsdGltZVdlZWs6UUUsdGltZVdlZWtzOmFULHRpbWVTdW5kYXk6UUUsdGltZVN1bmRheXM6YVQsdGltZU1vbmRheTp0VCx0aW1lTW9uZGF5czpzVCx0aW1lVHVlc2RheTplVCx0aW1lVHVlc2RheXM6bFQsdGltZVdlZG5lc2RheTpuVCx0aW1lV2VkbmVzZGF5czpjVCx0aW1lVGh1cnNkYXk6aVQsdGltZVRodXJzZGF5czp1VCx0aW1lRnJpZGF5OnJULHRpbWVGcmlkYXlzOmhULHRpbWVTYXR1cmRheTpvVCx0aW1lU2F0dXJkYXlzOmRULHRpbWVNb250aDpmVCx0aW1lTW9udGhzOm1ULHRpbWVZZWFyOl9ULHRpbWVZZWFyczp5VCx1dGNNaW51dGU6YlQsdXRjTWludXRlczp4VCx1dGNIb3VyOlNULHV0Y0hvdXJzOk1ULHV0Y0RheTpUVCx1dGNEYXlzOkNULHV0Y1dlZWs6a1QsdXRjV2Vla3M6elQsdXRjU3VuZGF5OmtULHV0Y1N1bmRheXM6elQsdXRjTW9uZGF5OkxULHV0Y01vbmRheXM6RFQsdXRjVHVlc2RheTpQVCx1dGNUdWVzZGF5czpCVCx1dGNXZWRuZXNkYXk6TlQsdXRjV2VkbmVzZGF5czpIVCx1dGNUaHVyc2RheTpJVCx1dGNUaHVyc2RheXM6RlQsdXRjRnJpZGF5OlJULHV0Y0ZyaWRheXM6VlQsdXRjU2F0dXJkYXk6T1QsdXRjU2F0dXJkYXlzOlVULHV0Y01vbnRoOkdULHV0Y01vbnRoczpXVCx1dGNZZWFyOllULHV0Y1llYXJzOlhULHRpbWVGb3JtYXREZWZhdWx0TG9jYWxlOnhBLGdldCB0aW1lRm9ybWF0KCl7cmV0dXJuIHRDfSxnZXQgdGltZVBhcnNlKCl7cmV0dXJuIGVDfSxnZXQgdXRjRm9ybWF0KCl7cmV0dXJuIG5DfSxnZXQgdXRjUGFyc2UoKXtyZXR1cm4gaUN9LHRpbWVGb3JtYXRMb2NhbGU6SlQsaXNvRm9ybWF0OlNBLGlzb1BhcnNlOkVBLG5vdzpxcCx0aW1lcjokcCx0aW1lckZsdXNoOktwLHRpbWVvdXQ6dGYsaW50ZXJ2YWw6ZnVuY3Rpb24gY08odCxlLG4pe3ZhciBpPW5ldyBYcCxyPWU7cmV0dXJuIG51bGw9PWU/KGkucmVzdGFydCh0LGUsbiksaSk6KGU9K2Usbj1udWxsPT1uP3FwKCk6K24saS5yZXN0YXJ0KChmdW5jdGlvbiBvKGEpe2ErPXIsaS5yZXN0YXJ0KG8scis9ZSxuKSx0KGEpfSksZSxuKSxpKX0sdHJhbnNpdGlvbjpEZixhY3RpdmU6ZnVuY3Rpb24gdU8odCxlKXt2YXIgbixpLHI9dC5fX3RyYW5zaXRpb247aWYocilmb3IoaSBpbiBlPW51bGw9PWU/bnVsbDplKyIiLHIpaWYoKG49cltpXSkuc3RhdGU+MSYmbi5uYW1lPT09ZSlyZXR1cm4gbmV3IHpmKFtbdF1dLFdtLGUsK2kpO3JldHVybiBudWxsfSxpbnRlcnJ1cHQ6bGYsdm9yb25vaTpmdW5jdGlvbiBoTygpe3ZhciB0PWFOLGU9c04sbj1udWxsO2Z1bmN0aW9uIGkoaSl7cmV0dXJuIG5ldyBVTihpLm1hcCgoZnVuY3Rpb24obixyKXt2YXIgbz1bTWF0aC5yb3VuZCh0KG4scixpKS9CTikqQk4sTWF0aC5yb3VuZChlKG4scixpKS9CTikqQk5dO3JldHVybiBvLmluZGV4PXIsby5kYXRhPW4sb30pKSxuKX1yZXR1cm4gaS5wb2x5Z29ucz1mdW5jdGlvbih0KXtyZXR1cm4gaSh0KS5wb2x5Z29ucygpfSxpLmxpbmtzPWZ1bmN0aW9uKHQpe3JldHVybiBpKHQpLmxpbmtzKCl9LGkudHJpYW5nbGVzPWZ1bmN0aW9uKHQpe3JldHVybiBpKHQpLnRyaWFuZ2xlcygpfSxpLng9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpvTigrZSksaSk6dH0saS55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6b04oK3QpLGkpOmV9LGkuZXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW51bGw9PXQ/bnVsbDpbWyt0WzBdWzBdLCt0WzBdWzFdXSxbK3RbMV1bMF0sK3RbMV1bMV1dXSxpKTpuJiZbW25bMF1bMF0sblswXVsxXV0sW25bMV1bMF0sblsxXVsxXV1dfSxpLnNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49bnVsbD09dD9udWxsOltbMCwwXSxbK3RbMF0sK3RbMV1dXSxpKTpuJiZbblsxXVswXS1uWzBdWzBdLG5bMV1bMV0tblswXVsxXV19LGl9LHpvb206bkksem9vbVRyYW5zZm9ybTpZTix6b29tSWRlbnRpdHk6cU59KTtjbGFzcyBkTyBleHRlbmRzIGtse2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9leHBlcmltZW50cz1bXX1sb2FkKCl7Y29uc3QgdD1FcigpLmV4cGVyaW1lbnRzKCk7cmV0dXJuIHRoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0KS50aGVuKCh0PT57Q2UuZXhwb3J0cy5pc0VxdWFsKHRoaXMuX2V4cGVyaW1lbnRzLHQpfHwodGhpcy5fZXhwZXJpbWVudHM9dCx0aGlzLmVtaXRDaGFuZ2UoKSl9KSl9Z2V0RXhwZXJpbWVudHMoKXtyZXR1cm4gdGhpcy5fZXhwZXJpbWVudHMuc2xpY2UoKX19Y29uc3QgcE89bmV3IGRPLGZPPVsiI2ZmNzA0MyIsIiMwMDc3YmIiLCIjY2MzMzExIiwiIzMzYmJlZSIsIiNlZTMzNzciLCIjMDA5OTg4IiwiI2JiYmJiYiJdO2NsYXNzIG1Pe2NvbnN0cnVjdG9yKHQ9Zk8pe3RoaXMucGFsZXR0ZT10LHRoaXMuaWRlbnRpZmllcnM9amcoKX1zZXREb21haW4odCl7cmV0dXJuIHRoaXMuaWRlbnRpZmllcnM9amcoKSx0LmZvckVhY2goKCh0LGUpPT57dGhpcy5pZGVudGlmaWVycy5zZXQodCx0aGlzLnBhbGV0dGVbZSV0aGlzLnBhbGV0dGUubGVuZ3RoXSl9KSksdGhpc31nZXRDb2xvcih0KXtpZighdGhpcy5pZGVudGlmaWVycy5oYXModCkpdGhyb3cgbmV3IEVycm9yKGBTdHJpbmcgJHt0fSB3YXMgbm90IGluIHRoZSBkb21haW4uYCk7cmV0dXJuIHRoaXMuaWRlbnRpZmllcnMuZ2V0KHQpfX1mdW5jdGlvbiBnTyh0LGUpe2NvbnN0IG49bmV3IG1PO2Z1bmN0aW9uIGkoKXtuLnNldERvbWFpbihlKCkpfXJldHVybiB0LmFkZExpc3RlbmVyKGkpLGkoKSx0PT5uLmdldENvbG9yKHQpfWNvbnN0IF9PPWdPKElsLCgoKT0+SWwuZ2V0UnVucygpKSk7Z08ocE8sKCgpPT5wTy5nZXRFeHBlcmltZW50cygpLm1hcCgoKHtuYW1lOnR9KT0+dCkpKSksbWwoe21vZHVsZU5hbWU6InJ1bi1jb2xvci1zdHlsZSIsc3R5bGVDb250ZW50OiJcbiAgICBbY29sb3ItY2xhc3M9J2xpZ2h0LWJsdWUnXSBwYXBlci1jaGVja2JveCB7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLWxpZ2h0LWJsdWUtNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLWxpZ2h0LWJsdWUtNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1saWdodC1ibHVlLTkwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLWxpZ2h0LWJsdWUtOTAwKTtcbiAgICB9XG4gICAgW2NvbG9yLWNsYXNzPSdyZWQnXSBwYXBlci1jaGVja2JveCB7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLXJlZC01MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItcmVkLTUwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItcmVkLTkwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLXJlZC05MDApO1xuICAgIH1cbiAgICBbY29sb3ItY2xhc3M9J2dyZWVuJ10gcGFwZXItY2hlY2tib3gge1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1ncmVlbi01MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItZ3JlZW4tNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1ncmVlbi05MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1ncmVlbi05MDApO1xuICAgIH1cbiAgICBbY29sb3ItY2xhc3M9J3B1cnBsZSddIHBhcGVyLWNoZWNrYm94IHtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItcHVycGxlLTUwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1wdXJwbGUtNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1wdXJwbGUtOTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItcHVycGxlLTkwMCk7XG4gICAgfVxuICAgIFtjb2xvci1jbGFzcz0ndGVhbCddIHBhcGVyLWNoZWNrYm94IHtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItdGVhbC01MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItdGVhbC01MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLXRlYWwtOTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItdGVhbC05MDApO1xuICAgIH1cbiAgICBbY29sb3ItY2xhc3M9J3BpbmsnXSBwYXBlci1jaGVja2JveCB7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLXBpbmstNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLXBpbmstNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1waW5rLTkwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLXBpbmstOTAwKTtcbiAgICB9XG4gICAgW2NvbG9yLWNsYXNzPSdvcmFuZ2UnXSBwYXBlci1jaGVja2JveCB7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtY29sb3I6IHZhcigtLXBhcGVyLW9yYW5nZS01MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItb3JhbmdlLTUwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItb3JhbmdlLTkwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LXVuY2hlY2tlZC1pbmstY29sb3I6IHZhcigtLXBhcGVyLW9yYW5nZS05MDApO1xuICAgIH1cbiAgICBbY29sb3ItY2xhc3M9J2Jyb3duJ10gcGFwZXItY2hlY2tib3gge1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1icm93bi01MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItYnJvd24tNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1icm93bi05MDApO1xuICAgICAgLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1icm93bi05MDApO1xuICAgIH1cbiAgICBbY29sb3ItY2xhc3M9J2luZGlnbyddIHBhcGVyLWNoZWNrYm94IHtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogdmFyKC0tcGFwZXItaW5kaWdvLTUwMCk7XG4gICAgICAtLXBhcGVyLWNoZWNrYm94LWNoZWNrZWQtaW5rLWNvbG9yOiB2YXIoLS1wYXBlci1pbmRpZ28tNTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWNvbG9yOiB2YXIoLS1wYXBlci1pbmRpZ28tOTAwKTtcbiAgICAgIC0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWluay1jb2xvcjogdmFyKC0tcGFwZXItaW5kaWdvLTkwMCk7XG4gICAgfVxuICAifSk7bGV0IHlPPWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5uYW1lcz1bXSx0aGlzLmNvbG9yaW5nPXtnZXRDb2xvcjooKT0+IiJ9LHRoaXMucmVnZXg9IiIsdGhpcy5zZWxlY3Rpb25TdGF0ZT17fSx0aGlzLm1heE5hbWVzVG9FbmFibGVCeURlZmF1bHQ9NDAsdGhpcy5fZGVib3VuY2VkUmVnZXhDaGFuZ2U9dGhpcy5fZGVib3VuY2VkUmVnZXhDaGFuZ2VJbXBsKCl9X2RlYm91bmNlZFJlZ2V4Q2hhbmdlSW1wbCgpe3ZhciB0PUNlLmV4cG9ydHMuZGVib3VuY2UoKHQ9Pnt0aGlzLnJlZ2V4PXR9KSwxNTAse2xlYWRpbmc6ITF9KTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLiQkKCIjbmFtZXMtcmVnZXgiKS52YWx1ZTsiIj09ZT90aGlzLmFzeW5jKCgoKT0+e3RoaXMucmVnZXg9ZX0pLDMwKTp0KGUpfX1nZXQgX3JlZ2V4KCl7dmFyIHQ9dGhpcy5yZWdleDt0cnl7cmV0dXJuIG5ldyBSZWdFeHAodCl9Y2F0Y2godCl7cmV0dXJuIG51bGx9fV9zZXRJc29sYXRvckljb24oKXt2YXIgdD10aGlzLnNlbGVjdGlvblN0YXRlLGU9Q2UuZXhwb3J0cy5maWx0ZXIoQ2UuZXhwb3J0cy52YWx1ZXModCkpLmxlbmd0aDtBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgiLmlzb2xhdG9yIikpLmZvckVhY2goKGZ1bmN0aW9uKG4pe24uaWNvbj0xPT09ZSYmdFtuLm5hbWVdPyJyYWRpby1idXR0b24tY2hlY2tlZCI6InJhZGlvLWJ1dHRvbi11bmNoZWNrZWQifSkpfWNvbXB1dGVOYW1lc01hdGNoaW5nUmVnZXgodCxlKXtjb25zdCBuPXRoaXMuX3JlZ2V4O3JldHVybiBuP3RoaXMubmFtZXMuZmlsdGVyKCh0PT5uLnRlc3QodCkpKTp0aGlzLm5hbWVzfWNvbXB1dGVPdXRTZWxlY3RlZCh0LGUpe3ZhciBuPXRoaXMuc2VsZWN0aW9uU3RhdGUsaT10aGlzLm5hbWVzTWF0Y2hpbmdSZWdleC5sZW5ndGg8PXRoaXMubWF4TmFtZXNUb0VuYWJsZUJ5RGVmYXVsdDtyZXR1cm4gdGhpcy5uYW1lc01hdGNoaW5nUmVnZXguZmlsdGVyKCh0PT5udWxsPT1uW3RdP2k6blt0XSkpfXN5bmNocm9uaXplQ29sb3JzKHQpe3RoaXMuX3NldElzb2xhdG9ySWNvbigpO3RoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCJwYXBlci1jaGVja2JveCIpLmZvckVhY2goKHQ9Pntjb25zdCBlPXRoaXMuY29sb3JpbmcuZ2V0Q29sb3IodC5uYW1lKTt0LnVwZGF0ZVN0eWxlcyh7Ii0tcGFwZXItY2hlY2tib3gtY2hlY2tlZC1jb2xvciI6ZSwiLS1wYXBlci1jaGVja2JveC1jaGVja2VkLWluay1jb2xvciI6ZSwiLS1wYXBlci1jaGVja2JveC11bmNoZWNrZWQtY29sb3IiOmUsIi0tcGFwZXItY2hlY2tib3gtdW5jaGVja2VkLWluay1jb2xvciI6ZX0pfSkpO3RoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuaXNvbGF0b3IiKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10aGlzLmNvbG9yaW5nLmdldENvbG9yKHQubmFtZSk7dC5zdHlsZS5jb2xvcj1lfSkpLHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57dGhpcy51cGRhdGVTdHlsZXMoKX0pKX1faXNvbGF0ZU5hbWUodCl7dmFyIGU9dC50YXJnZXQubmFtZSxuPXt9O3RoaXMubmFtZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7blt0XT10PT1lfSkpLHRoaXMuc2VsZWN0aW9uU3RhdGU9bn1fY2hlY2tib3hDaGFuZ2UodCl7dmFyIGU9dC50YXJnZXQ7Y29uc3Qgbj1DZS5leHBvcnRzLmNsb25lKHRoaXMuc2VsZWN0aW9uU3RhdGUpO25bZS5uYW1lXT1lLmNoZWNrZWQsdGhpcy5zZWxlY3Rpb25TdGF0ZT1ufV9pc0NoZWNrZWQodCxlKXtyZXR1cm4tMSE9dGhpcy5vdXRTZWxlY3RlZC5pbmRleE9mKHQpfXRvZ2dsZUFsbCgpe2NvbnN0IHQ9dGhpcy5uYW1lc01hdGNoaW5nUmVnZXguc29tZSgodD0+dGhpcy5vdXRTZWxlY3RlZC5pbmNsdWRlcyh0KSkpLGU9e307dGhpcy5uYW1lcy5mb3JFYWNoKChuPT57ZVtuXT0hdH0pKSx0aGlzLnNlbGVjdGlvblN0YXRlPWV9fTt5Ty50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZSBpbmNsdWRlPSJzY3JvbGxiYXItc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGUgaW5jbHVkZT0icnVuLWNvbG9yLXN0eWxlIj48L3N0eWxlPgoKICAgIDxwYXBlci1pbnB1dAogICAgICBpZD0ibmFtZXMtcmVnZXgiCiAgICAgIG5vLWxhYmVsLWZsb2F0PSIiCiAgICAgIGxhYmVsPSJXcml0ZSBhIHJlZ2V4IHRvIGZpbHRlciBydW5zIgogICAgICB2YWx1ZT0iW1tyZWdleF1dIgogICAgICBvbi1iaW5kLXZhbHVlLWNoYW5nZWQ9Il9kZWJvdW5jZWRSZWdleENoYW5nZSIKICAgID48L3BhcGVyLWlucHV0PgogICAgPGRpdiBpZD0ib3V0ZXItY29udGFpbmVyIiBjbGFzcz0ic2Nyb2xsYmFyIj4KICAgICAgPHRlbXBsYXRlCiAgICAgICAgaXM9ImRvbS1yZXBlYXQiCiAgICAgICAgaXRlbXM9IltbbmFtZXNNYXRjaGluZ1JlZ2V4XV0iCiAgICAgICAgb24tZG9tLWNoYW5nZT0ic3luY2hyb25pemVDb2xvcnMiCiAgICAgID4KICAgICAgICA8ZGl2IGNsYXNzPSJuYW1lLXJvdyI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJpY29uLWNvbnRhaW5lciBjaGVja2JveC1jb250YWluZXIgdmVydGljYWwtYWxpZ24tY29udGFpbmVyIgogICAgICAgICAgPgogICAgICAgICAgICA8cGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICBjbGFzcz0iY2hlY2tib3ggdmVydGljYWwtYWxpZ24tY2VudGVyIgogICAgICAgICAgICAgIGlkJD0iY2hlY2tib3gtW1tpdGVtXV0iCiAgICAgICAgICAgICAgbmFtZT0iW1tpdGVtXV0iCiAgICAgICAgICAgICAgY2hlY2tlZCQ9IltbX2lzQ2hlY2tlZChpdGVtLCBzZWxlY3Rpb25TdGF0ZS4qKV1dIgogICAgICAgICAgICAgIG9uLWNoYW5nZT0iX2NoZWNrYm94Q2hhbmdlIgogICAgICAgICAgICA+PC9wYXBlci1jaGVja2JveD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0iaWNvbi1jb250YWluZXIgaXNvbGF0b3ItY29udGFpbmVyIHZlcnRpY2FsLWFsaWduLWNvbnRhaW5lciIKICAgICAgICAgID4KICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgICAgICAgaWNvbj0icmFkaW8tYnV0dG9uLXVuY2hlY2tlZCIKICAgICAgICAgICAgICBjbGFzcz0iaXNvbGF0b3IgdmVydGljYWwtYWxpZ24tY2VudGVyIgogICAgICAgICAgICAgIG9uLXRhcD0iX2lzb2xhdGVOYW1lIgogICAgICAgICAgICAgIG5hbWU9IltbaXRlbV1dIgogICAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbS1sYWJlbC1jb250YWluZXIiPgogICAgICAgICAgICA8c3Bhbj5bW2l0ZW1dXTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIHBhcGVyLWlucHV0IHsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1mb2N1cy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItaW5wdXQ6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItbGFiZWw6IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB9CiAgICAgIH0KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQogICAgICAjb3V0ZXItY29udGFpbmVyIHsKICAgICAgICBjb250YWluOiBjb250ZW50OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgfQogICAgICAubmFtZS1yb3cgewogICAgICAgIGNvbnRhaW46IGNvbnRlbnQ7CiAgICAgICAgcGFkZGluZy10b3A6IDVweDsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOyAvKiBtYWtlcyB3cmFwcGluZyBvZiBoeXBlcnBhcmFtIHN0cmluZ3MgYmV0dGVyICovCiAgICAgIH0KICAgICAgLmljb24tY29udGFpbmVyIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7CiAgICAgIH0KICAgICAgLmNoZWNrYm94IHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgIH0KICAgICAgLmlzb2xhdG9yIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgcGFkZGluZzogMHB4OwogICAgICB9CiAgICAgIC5pc29sYXRvci1jb250YWluZXIgewogICAgICAgIHBhZGRpbmctbGVmdDogNnB4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDsKICAgICAgfQogICAgICAuY2hlY2tib3gtY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDsKICAgICAgfQogICAgICAuaXRlbS1sYWJlbC1jb250YWluZXIgewogICAgICAgIHBhZGRpbmctbGVmdDogNXB4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICB3aWR0aDogMHB4OyAvKiBoYWNrIHRvIGdldCB0aGUgZmxleC1ncm93IHRvIHdvcmsgcHJvcGVybHkgKi8KICAgICAgfQogICAgICAudG9vbHRpcC12YWx1ZS1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIHBhZGRpbmctbGVmdDogMnB4OwogICAgICB9CiAgICAgIC52ZXJ0aWNhbC1hbGlnbi1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KICAgICAgLnZlcnRpY2FsLWFsaWduLWNvbnRhaW5lciAudmVydGljYWwtYWxpZ24tY2VudGVyIHsKICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICAgIH0KICAgICAgLnZlcnRpY2FsLWFsaWduLWNvbnRhaW5lciAudmVydGljYWwtYWxpZ24tdG9wIHsKICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSx5Ty5wcm90b3R5cGUsIm5hbWVzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHlPLnByb3RvdHlwZSwiY29sb3JpbmciLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHlPLnByb3RvdHlwZSwicmVnZXgiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheSxjb21wdXRlZDoiY29tcHV0ZU5hbWVzTWF0Y2hpbmdSZWdleChuYW1lcy4qLCBfcmVnZXgpIn0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLHlPLnByb3RvdHlwZSwibmFtZXNNYXRjaGluZ1JlZ2V4Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx5Ty5wcm90b3R5cGUsInNlbGVjdGlvblN0YXRlIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXksbm90aWZ5OiEwLGNvbXB1dGVkOiJjb21wdXRlT3V0U2VsZWN0ZWQobmFtZXNNYXRjaGluZ1JlZ2V4LiosIHNlbGVjdGlvblN0YXRlLiopIn0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLHlPLnByb3RvdHlwZSwib3V0U2VsZWN0ZWQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0seU8ucHJvdG90eXBlLCJtYXhOYW1lc1RvRW5hYmxlQnlEZWZhdWx0Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHlPLnByb3RvdHlwZSwiX2RlYm91bmNlZFJlZ2V4Q2hhbmdlIix2b2lkIDApLHQoW3MoInJlZ2V4IiksZSgiZGVzaWduOnR5cGUiLFJlZ0V4cCksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0seU8ucHJvdG90eXBlLCJfcmVnZXgiLG51bGwpLHQoW2EoInNlbGVjdGlvblN0YXRlIiwibmFtZXMiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLHlPLnByb3RvdHlwZSwiX3NldElzb2xhdG9ySWNvbiIsbnVsbCkseU89dChbaSgidGYtbXVsdGktY2hlY2tib3giKV0seU8pO2xldCB2Tz1jbGFzcyBleHRlbmRzIHdle2dldCBfcGFydHMoKXt2YXIgdD10aGlzLnZhbHVlLGU9dGhpcy5kZWxpbWl0ZXJQYXR0ZXJuO2NvbnN0IG49W107Zm9yKDs7KXtjb25zdCBpPW5ldyBSZWdFeHAoZSwiZyIpO2lmKGkudGVzdCh0KSwwPT09aS5sYXN0SW5kZXgpe24ucHVzaCh0KTticmVha31uLnB1c2godC5zbGljZSgwLGkubGFzdEluZGV4KSksdD10LnNsaWNlKGkubGFzdEluZGV4KX1yZXR1cm4gbn19O3ZPLnRlbXBsYXRlPXhlYAogICAgPCEtLQogICAgICBUaGlzIHVnbHkgZm9ybWF0dGluZyBpcyByZXF1aXJlZCB0byBwcmV2ZW50IHNwYWNlcyBmcm9tIHNsaXBwaW5nCiAgICAgIGludG8gdGhlIEhUTUwuCiAgICAtLT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX3BhcnRzXV0iIGFzPSJwYXJ0IgogICAgICA+W1twYXJ0XV08d2JyCiAgICAvPjwvdGVtcGxhdGU+CiAgYCx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx2Ty5wcm90b3R5cGUsInZhbHVlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHZPLnByb3RvdHlwZSwiZGVsaW1pdGVyUGF0dGVybiIsdm9pZCAwKSx0KFtzKCJ2YWx1ZSIsImRlbGltaXRlclBhdHRlcm4iKSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLHZPLnByb3RvdHlwZSwiX3BhcnRzIixudWxsKSx2Tz10KFtpKCJ0Zi13YnItc3RyaW5nIildLHZPKTtsZXQgYk89Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJ1blNlbGVjdGlvblN0YXRlPWNsKCJydW5TZWxlY3Rpb25TdGF0ZSIse2RlZmF1bHRWYWx1ZTp7fX0pLmNhbGwodGhpcyksdGhpcy5yZWdleElucHV0PVhzKCJyZWdleElucHV0Iix7ZGVmYXVsdFZhbHVlOiIifSkuY2FsbCh0aGlzKSx0aGlzLl9kYXRhTG9jYXRpb25DbGlwTGVuZ3RoPTI1MCx0aGlzLl9kYXRhTG9jYXRpb25EZWxpbWl0ZXJQYXR0ZXJuPSJbLz1fLC1dIix0aGlzLmNvbG9yaW5nPXtnZXRDb2xvcjpfT30sdGhpcy5fc3RvcmVSdW5TZWxlY3Rpb25TdGF0ZT11bCgicnVuU2VsZWN0aW9uU3RhdGUiLHtkZWZhdWx0VmFsdWU6e319KSx0aGlzLl9yZWdleE9ic2VydmVyPSRzKCJyZWdleElucHV0Iix7ZGVmYXVsdFZhbHVlOiIifSl9YXR0YWNoZWQoKXt0aGlzLl9ydW5TdG9yZUxpc3RlbmVyPUlsLmFkZExpc3RlbmVyKCgoKT0+e3RoaXMuc2V0KCJydW5zIixJbC5nZXRSdW5zKCkpfSkpLHRoaXMuc2V0KCJydW5zIixJbC5nZXRSdW5zKCkpLHRoaXMuX2VudlN0b3JlTGlzdGVuZXI9UGwuYWRkTGlzdGVuZXIoKCgpPT57dGhpcy5zZXQoImRhdGFMb2NhdGlvbiIsUGwuZ2V0RGF0YUxvY2F0aW9uKCkpfSkpLHRoaXMuc2V0KCJkYXRhTG9jYXRpb24iLFBsLmdldERhdGFMb2NhdGlvbigpKX1kZXRhY2hlZCgpe0lsLnJlbW92ZUxpc3RlbmVyQnlLZXkodGhpcy5fcnVuU3RvcmVMaXN0ZW5lciksUGwucmVtb3ZlTGlzdGVuZXJCeUtleSh0aGlzLl9lbnZTdG9yZUxpc3RlbmVyKX1fdG9nZ2xlQWxsKCl7dGhpcy4kLm11bHRpQ2hlY2tib3gudG9nZ2xlQWxsKCl9Z2V0IF9jbGlwcGVkRGF0YUxvY2F0aW9uKCl7dmFyIHQ9dGhpcy5kYXRhTG9jYXRpb24sZT10aGlzLl9kYXRhTG9jYXRpb25DbGlwTGVuZ3RoO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQubGVuZ3RoPmU/dC5zdWJzdHJpbmcoMCxlKTp0fV9vcGVuRGF0YUxvY2F0aW9uRGlhbG9nKHQpe3QucHJldmVudERlZmF1bHQoKSx0aGlzLiQkKCIjZGF0YS1sb2NhdGlvbi1kaWFsb2ciKS5vcGVuKCl9X3Nob3VsZFNob3dFeHBhbmREYXRhTG9jYXRpb25CdXR0b24odCxlKXtyZXR1cm4gdCYmdC5sZW5ndGg+ZX19O2JPLnRlbXBsYXRlPXhlYAogICAgPHBhcGVyLWRpYWxvZyB3aXRoLWJhY2tkcm9wPSIiIGlkPSJkYXRhLWxvY2F0aW9uLWRpYWxvZyI+CiAgICAgIDxoMj5EYXRhIExvY2F0aW9uPC9oMj4KICAgICAgPHRmLXdici1zdHJpbmcKICAgICAgICB2YWx1ZT0iW1tkYXRhTG9jYXRpb25dXSIKICAgICAgICBkZWxpbWl0ZXItcGF0dGVybj0iW1tfZGF0YUxvY2F0aW9uRGVsaW1pdGVyUGF0dGVybl1dIgogICAgICA+CiAgICAgIDwvdGYtd2JyLXN0cmluZwogICAgPjwvcGFwZXItZGlhbG9nPgogICAgPGRpdiBpZD0idG9wLXRleHQiPgogICAgICA8aDMgaWQ9InRvb2x0aXAtaGVscCIgY2xhc3M9InRvb2x0aXAtY29udGFpbmVyIj5SdW5zPC9oMz4KICAgIDwvZGl2PgogICAgPHRmLW11bHRpLWNoZWNrYm94CiAgICAgIGlkPSJtdWx0aUNoZWNrYm94IgogICAgICBuYW1lcz0iW1tydW5zXV0iCiAgICAgIHNlbGVjdGlvbi1zdGF0ZT0ie3tydW5TZWxlY3Rpb25TdGF0ZX19IgogICAgICBvdXQtc2VsZWN0ZWQ9Int7c2VsZWN0ZWRSdW5zfX0iCiAgICAgIHJlZ2V4PSJ7e3JlZ2V4SW5wdXR9fSIKICAgICAgY29sb3Jpbmc9IltbY29sb3JpbmddXSIKICAgID48L3RmLW11bHRpLWNoZWNrYm94PgogICAgPHBhcGVyLWJ1dHRvbiBjbGFzcz0ieC1idXR0b24iIGlkPSJ0b2dnbGUtYWxsIiBvbi10YXA9Il90b2dnbGVBbGwiPgogICAgICBUb2dnbGUgQWxsIFJ1bnMKICAgIDwvcGFwZXItYnV0dG9uPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2RhdGFMb2NhdGlvbl1dIj4KICAgICAgPGRpdiBpZD0iZGF0YS1sb2NhdGlvbiI+CiAgICAgICAgPHRmLXdici1zdHJpbmcKICAgICAgICAgIHZhbHVlPSJbW19jbGlwcGVkRGF0YUxvY2F0aW9uXV0iCiAgICAgICAgICBkZWxpbWl0ZXItcGF0dGVybj0iW1tfZGF0YUxvY2F0aW9uRGVsaW1pdGVyUGF0dGVybl1dIgogICAgICAgID48L3RmLXdici1zdHJpbmcKICAgICAgICA+PCEtLQogICAgICAgICAgV2UgdXNlIEhUTUwgY29tbWVudHMgdG8gcmVtb3ZlIHNwYWNlcyBiZWZvcmUgdGhlIGVsbGlwc2lzLgogICAgICAgIC0tPjx0ZW1wbGF0ZQogICAgICAgICAgaXM9ImRvbS1pZiIKICAgICAgICAgIGlmPSJbW19zaG91bGRTaG93RXhwYW5kRGF0YUxvY2F0aW9uQnV0dG9uKGRhdGFMb2NhdGlvbiwgX2RhdGFMb2NhdGlvbkNsaXBMZW5ndGgpXV0iCiAgICAgICAgICA+PCEtLQogICAgICAgICAgLS0+PGEgaHJlZj0iIiBvbi1jbGljaz0iX29wZW5EYXRhTG9jYXRpb25EaWFsb2ciPuKApjwvYT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsKICAgICAgfQogICAgICAjdG9wLXRleHQgewogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1zZWNvbmRhcnktdGV4dC1jb2xvcik7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQogICAgICB0Zi13YnItc3RyaW5nIHsKICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOwogICAgICB9CiAgICAgIHRmLW11bHRpLWNoZWNrYm94IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIC54LWJ1dHRvbiB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgfQogICAgICAjdG9vbHRpcC1oZWxwIHsKICAgICAgICBjb2xvcjogdmFyKC0tdGItc2Vjb25kYXJ5LXRleHQtY29sb3IpOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgIH0KICAgICAgcGFwZXItYnV0dG9uIHsKICAgICAgICBtYXJnaW4tbGVmdDogMDsKICAgICAgfQogICAgICAjZGF0YS1sb2NhdGlvbiB7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLXVpLWRhcmstYWNjZW50KTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWFyZ2luOiA1cHggMCAwIDA7CiAgICAgICAgbWF4LXdpZHRoOiAyODhweDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0LG9ic2VydmVyOiJfc3RvcmVSdW5TZWxlY3Rpb25TdGF0ZSJ9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sYk8ucHJvdG90eXBlLCJydW5TZWxlY3Rpb25TdGF0ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxvYnNlcnZlcjoiX3JlZ2V4T2JzZXJ2ZXIifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGJPLnByb3RvdHlwZSwicmVnZXhJbnB1dCIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLGJPLnByb3RvdHlwZSwic2VsZWN0ZWRSdW5zIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxiTy5wcm90b3R5cGUsInJ1bnMiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGJPLnByb3RvdHlwZSwiZGF0YUxvY2F0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGJPLnByb3RvdHlwZSwiX2RhdGFMb2NhdGlvbkNsaXBMZW5ndGgiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sYk8ucHJvdG90eXBlLCJfZGF0YUxvY2F0aW9uRGVsaW1pdGVyUGF0dGVybiIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxiTy5wcm90b3R5cGUsImNvbG9yaW5nIix2b2lkIDApLHQoW3MoImRhdGFMb2NhdGlvbiIsIl9kYXRhTG9jYXRpb25DbGlwTGVuZ3RoIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sYk8ucHJvdG90eXBlLCJfY2xpcHBlZERhdGFMb2NhdGlvbiIsbnVsbCksYk89dChbaSgidGYtcnVucy1zZWxlY3RvciIpXSxiTyk7Y2xhc3MgeE97Y29uc3RydWN0b3IoKXt0aGlzLmNhbmNlbGxhdGlvbkNvdW50PTB9Y2FuY2VsbGFibGUodCl7Y29uc3QgZT10aGlzLmNhbmNlbGxhdGlvbkNvdW50O3JldHVybiBuPT50KHt2YWx1ZTpuLGNhbmNlbGxlZDp0aGlzLmNhbmNlbGxhdGlvbkNvdW50IT09ZX0pfWNhbmNlbEFsbCgpe3RoaXMuY2FuY2VsbGF0aW9uQ291bnQrK319bGV0IHdPPWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5odG1sPSIifWdldCBzYW5pdGl6ZWRIdG1sKCl7cmV0dXJuIHRoaXMuaHRtbH1hdHRhY2hlZCgpe3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57dGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLm1hcmtkb3duLCEwKX0pKX19O2Z1bmN0aW9uIFNPKHQpe3JldHVybiB0P3QudG9TdHJpbmcoKS5yZXBsYWNlKC9HTVQtXGQrIFwoKFteKV0rKVwpLywiJDEiKToiIn1mdW5jdGlvbiBNTyh0KXtjb25zdCBlPShmdW5jdGlvbiBuKHQpe2lmKCF0KXJldHVybiBudWxsO2xldCBlPXQubWF0Y2goL14jKFswLTlhLWZdezEsMn0pKFswLTlhLWZdezEsMn0pKFswLTlhLWZdezEsMn0pJC8pO2lmKCFlKXJldHVybiBudWxsO2lmKDQ9PXQubGVuZ3RoKWZvcih2YXIgbj0xO248PTM7bisrKWVbbl09ZVtuXStlW25dO3JldHVybltwYXJzZUludChlWzFdLDE2KSxwYXJzZUludChlWzJdLDE2KSxwYXJzZUludChlWzNdLDE2KV19KSh0KTtpZighZSlyZXR1cm4iaW5oZXJpdCI7cmV0dXJuIE1hdGgucm91bmQoKDI5OSplWzBdKzU4NyplWzFdKzExNCplWzJdKS8xZTMpPjEyNT8iaW5oZXJpdCI6IiNlZWUifXdPLnRlbXBsYXRlPXhlYAogICAgPGRpdiBpZD0ibWFya2Rvd24iIGlubmVyLWgtdC1tLWw9Iltbc2FuaXRpemVkSHRtbF1dIj48L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgLyoKICAgICAgICogUmVkdWNlIHRvcG1vc3QgYW5kIGJvdHRvbW1vc3QgbWFyZ2lucyBmcm9tIDE2cHggdG8gMC4zZW0gKHJlbmRlcnMKICAgICAgICogYXQgYWJvdXQgNC44cHgpIHRvIGtlZXAgdGhlIGxheW91dCBjb21wYWN0LiBUaGlzIGltcHJvdmVzIHRoZQogICAgICAgKiBhcHBlYXJhbmNlIHdoZW4gdGhlcmUgaXMgb25seSBvbmUgbGluZSBvZiB0ZXh0OyBzdGFuZGFyZCBNYXJrZG93bgogICAgICAgKiByZW5kZXJlcnMgd2lsbCBzdGlsbCBpbmNsdWRlIGEgXGA8cD5cYCBlbGVtZW50LgogICAgICAgKgogICAgICAgKiBCeSB0YXJnZXRpbmcgb25seSB0aGUgdG9wLWxldmVsLCBleHRyZW1hbCBlbGVtZW50cywgd2UgcHJlc2VydmUgYW55CiAgICAgICAqIGFjdHVhbCBwYXJhZ3JhcGggYnJlYWtzIGFuZCBvbmx5IGNoYW5nZSB0aGUgcGFkZGluZyBhZ2FpbnN0IHRoZQogICAgICAgKiBjb21wb25lbnQgZWRnZXMuCiAgICAgICAqLwogICAgICAjbWFya2Rvd24gPiBwOmZpcnN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tdG9wOiAwLjNlbTsKICAgICAgfQogICAgICAjbWFya2Rvd24gPiBwOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDAuM2VtOwogICAgICB9CgogICAgICAvKiBQbGVhc2FudCBzdHlsZXMgZm9yIE1hcmtkb3duIHRhYmxlcy4gKi8KICAgICAgI21hcmtkb3duIHRhYmxlIHsKICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgICB9CiAgICAgICNtYXJrZG93biB0YWJsZSB0aCB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQogICAgICAjbWFya2Rvd24gdGFibGUgdGgsCiAgICAgICNtYXJrZG93biB0YWJsZSB0ZCB7CiAgICAgICAgcGFkZGluZzogNnB4IDEzcHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdGItdWktYm9yZGVyLCAjZGZlMmU1KTsKICAgICAgfQogICAgICAjbWFya2Rvd24gdGFibGUgdHIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXRiLXVpLWJvcmRlciwgI2M2Y2JkMSk7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx3Ty5wcm90b3R5cGUsImh0bWwiLHZvaWQgMCksdChbcygiaHRtbCIpLGUoImRlc2lnbjp0eXBlIixPYmplY3QpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLHdPLnByb3RvdHlwZSwic2FuaXRpemVkSHRtbCIsbnVsbCksd089dChbaSgidGYtbWFya2Rvd24tdmlldyIpXSx3TyksbWwoe21vZHVsZU5hbWU6InRmLWNhcmQtaGVhZGluZy1zdHlsZSIsc3R5bGVDb250ZW50OiJcbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8qKiBIb3Jpem9udGFsIGxpbmUgb2YgbGFiZWxzLiAqL1xuICAgIC5oZWFkaW5nLXJvdyB7XG4gICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLyoqIFBpZWNlIG9mIHRleHQgaW4gdGhlIGZpZ3VyZSBjYXB0aW9uLiAqL1xuICAgIC5oZWFkaW5nLWxhYmVsIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICAvKiogTWFrZXMgbGFiZWwgc2hvdyBvbiB0aGUgcmlnaHQuICovXG4gICAgLmhlYWRpbmctcmlnaHQge1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgIH1cbiAgIn0pO2xldCBFTz1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmRpc3BsYXlOYW1lPW51bGwsdGhpcy50YWc9bnVsbCx0aGlzLnJ1bj1udWxsLHRoaXMuZGVzY3JpcHRpb249bnVsbCx0aGlzLmNvbG9yPW51bGx9X3VwZGF0ZUhlYWRpbmdTdHlsZSgpe3RoaXMudXBkYXRlU3R5bGVzKHsiLS10Zi1jYXJkLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvciI6dGhpcy5fcnVuQmFja2dyb3VuZCwiLS10Zi1jYXJkLWhlYWRpbmctY29sb3IiOnRoaXMuX3J1bkNvbG9yfSl9X2NvbXB1dGVSdW5CYWNrZ3JvdW5kKHQpe3JldHVybiB0fHwibm9uZSJ9X2NvbXB1dGVSdW5Db2xvcih0KXtyZXR1cm4gTU8odCl9Z2V0IF9uYW1lTGFiZWwoKXtyZXR1cm4gdGhpcy5kaXNwbGF5TmFtZXx8dGhpcy50YWd8fCIifWdldCBfdGFnTGFiZWwoKXt2YXIgdD10aGlzLnRhZztyZXR1cm4gdCYmdCE9PXRoaXMuZGlzcGxheU5hbWU/dDoiIn1fdG9nZ2xlRGVzY3JpcHRpb25EaWFsb2codCl7Y29uc3QgZT10aGlzLiQuZGVzY3JpcHRpb25EaWFsb2c7ZS5wb3NpdGlvblRhcmdldD10LnRhcmdldCxlLnRvZ2dsZSgpfX07RU8udGVtcGxhdGU9eGVgCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICA8ZmlnY2FwdGlvbiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1yb3ciPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19uYW1lTGFiZWxdXSI+CiAgICAgICAgICAgIDxkaXYgaXRlbXByb3A9Im5hbWUiIGNsYXNzPSJoZWFkaW5nLWxhYmVsIG5hbWUiPltbX25hbWVMYWJlbF1dPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3J1bl1dIj4KICAgICAgICAgICAgPCEtLSBFeHRyYSB3cmFwcGluZyBzcGFuIG5lZWRlZCB0byBhdm9pZCBmbGV4Ym94IGJsb2NraWZpY2F0aW9uLiAtLT4KICAgICAgICAgICAgPCEtLSAoc2VlIGZsZXhib3ggc3BlYywgc2VjdGlvbiA0ICJGbGV4IEl0ZW1zIikgLS0+CiAgICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICAgIDxzcGFuCiAgICAgICAgICAgICAgICBpdGVtcHJvcD0icnVuIgogICAgICAgICAgICAgICAgaWQ9ImhlYWRpbmctcnVuIgogICAgICAgICAgICAgICAgY2xhc3M9ImhlYWRpbmctbGFiZWwgaGVhZGluZy1yaWdodCBydW4iCiAgICAgICAgICAgICAgICA+W1tydW5dXTwvc3BhbgogICAgICAgICAgICAgID4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3RhZ0xhYmVsXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIj4KICAgICAgICAgICAgICB0YWc6IDxzcGFuIGl0ZW1wcm9wPSJ0YWciPltbX3RhZ0xhYmVsXV08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvZmlnY2FwdGlvbj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2Rlc2NyaXB0aW9uXV0iPgogICAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgICAgaWNvbj0iaW5mbyIKICAgICAgICAgIG9uLXRhcD0iX3RvZ2dsZURlc2NyaXB0aW9uRGlhbG9nIgogICAgICAgICAgdGl0bGU9IlNob3cgc3VtbWFyeSBkZXNjcmlwdGlvbiIKICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHBhcGVyLWRpYWxvZwogICAgICAgIGlkPSJkZXNjcmlwdGlvbkRpYWxvZyIKICAgICAgICBuby1vdmVybGFwPSIiCiAgICAgICAgaG9yaXpvbnRhbC1hbGlnbj0iYXV0byIKICAgICAgICB2ZXJ0aWNhbC1hbGlnbj0iYXV0byIKICAgICAgPgogICAgICAgIDxwYXBlci1kaWFsb2ctc2Nyb2xsYWJsZT4KICAgICAgICAgIDx0Zi1tYXJrZG93bi12aWV3IGh0bWw9IltbZGVzY3JpcHRpb25dXSI+PC90Zi1tYXJrZG93bi12aWV3PgogICAgICAgIDwvcGFwZXItZGlhbG9nLXNjcm9sbGFibGU+CiAgICAgIDwvcGFwZXItZGlhbG9nPgogICAgPC9kaXY+CiAgICA8c3R5bGUgaW5jbHVkZT0idGYtY2FyZC1oZWFkaW5nLXN0eWxlIj4KICAgICAgLmNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQogICAgICAuY29udGVudCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQogICAgICAubmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CiAgICAgIC5ydW4gewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgcGFkZGluZzogMXB4IDRweCAycHg7CiAgICAgIH0KICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGZsZXgtZ3JvdzogMDsKICAgICAgfQogICAgICBwYXBlci1kaWFsb2ctc2Nyb2xsYWJsZSB7CiAgICAgICAgbWF4LXdpZHRoOiA2NDBweDsKICAgICAgfQogICAgICAjaGVhZGluZy1ydW4gewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRmLWNhcmQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG9yKTsKICAgICAgICBjb2xvcjogdmFyKC0tdGYtY2FyZC1oZWFkaW5nLWNvbG9yKTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEVPLnByb3RvdHlwZSwiZGlzcGxheU5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRU8ucHJvdG90eXBlLCJ0YWciLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRU8ucHJvdG90eXBlLCJydW4iLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRU8ucHJvdG90eXBlLCJkZXNjcmlwdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxFTy5wcm90b3R5cGUsImNvbG9yIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLGNvbXB1dGVkOiJfY29tcHV0ZVJ1bkJhY2tncm91bmQoY29sb3IpIixyZWFkT25seTohMCxvYnNlcnZlcjoiX3VwZGF0ZUhlYWRpbmdTdHlsZSJ9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRU8ucHJvdG90eXBlLCJfcnVuQmFja2dyb3VuZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxjb21wdXRlZDoiX2NvbXB1dGVSdW5Db2xvcihjb2xvcikiLHJlYWRPbmx5OiEwLG9ic2VydmVyOiJfdXBkYXRlSGVhZGluZ1N0eWxlIn0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxFTy5wcm90b3R5cGUsIl9ydW5Db2xvciIsdm9pZCAwKSx0KFtzKCJkaXNwbGF5TmFtZSIsInRhZyIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEVPLnByb3RvdHlwZSwiX25hbWVMYWJlbCIsbnVsbCksdChbcygiZGlzcGxheU5hbWUiLCJ0YWciKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxFTy5wcm90b3R5cGUsIl90YWdMYWJlbCIsbnVsbCksRU89dChbaSgidGYtY2FyZC1oZWFkaW5nIildLEVPKTtsZXQgVE89Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9tZXRhZGF0YUNhbmNlbGxlcj1uZXcgeE8sdGhpcy5fc3RlcHM9W10sdGhpcy5fYXR0YWNoZWQ9ITF9Z2V0IF9ydW5Db2xvcigpe3JldHVybiBfTyh0aGlzLnJ1bil9Z2V0IF9oYXNBdExlYXN0T25lU3RlcCgpe3ZhciB0PXRoaXMuX3N0ZXBzO3JldHVybiEhdCYmdC5sZW5ndGg+MH1nZXQgX2hhc011bHRpcGxlU3RlcHMoKXt2YXIgdD10aGlzLl9zdGVwcztyZXR1cm4hIXQmJnQubGVuZ3RoPjF9Z2V0IF9tYXhTdGVwSW5kZXgoKXtyZXR1cm4gdGhpcy5fc3RlcHMubGVuZ3RoLTF9Z2V0IF9jdXJyZW50RGF0dW0oKXtyZXR1cm4gdGhpcy5fc3RlcHNbdGhpcy5fc3RlcEluZGV4XX1nZXQgX3NhbXBsZVRleHQoKXtyZXR1cm5gJHt0aGlzLnNhbXBsZSsxfWB9Z2V0IF9oYXNNdWx0aXBsZVNhbXBsZXMoKXtyZXR1cm4gdGhpcy50b3RhbFNhbXBsZXM+MX1hdHRhY2hlZCgpe3RoaXMuX2F0dGFjaGVkPSEwLHRoaXMucmVsb2FkKCl9X3JlbG9hZE9uUnVuVGFnQ2hhbmdlKCl7dGhpcy5yZWxvYWQoKX1yZWxvYWQoKXtpZighdGhpcy5fYXR0YWNoZWQpcmV0dXJuO3RoaXMuX21ldGFkYXRhQ2FuY2VsbGVyLmNhbmNlbEFsbCgpO2NvbnN0IHQ9RXIoKS5wbHVnaW5Sb3V0ZSgiYXVkaW8iLCIvYXVkaW8iLG5ldyBVUkxTZWFyY2hQYXJhbXMoe3RhZzp0aGlzLnRhZyxydW46dGhpcy5ydW4sc2FtcGxlOlN0cmluZyh0aGlzLnNhbXBsZSl9KSksZT10aGlzLl9tZXRhZGF0YUNhbmNlbGxlci5jYW5jZWxsYWJsZSgodD0+e2lmKHQuY2FuY2VsbGVkKXJldHVybjtjb25zdCBlPXQudmFsdWUubWFwKHRoaXMuX2NyZWF0ZVN0ZXBEYXR1bS5iaW5kKHRoaXMpKTt0aGlzLnNldCgiX3N0ZXBzIixlKSx0aGlzLnNldCgiX3N0ZXBJbmRleCIsZS5sZW5ndGgtMSl9KSk7dGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KHQpLnRoZW4oZSl9X2NyZWF0ZVN0ZXBEYXR1bSh0KXtjb25zdCBlPW5ldyBVUkxTZWFyY2hQYXJhbXModC5xdWVyeSk7ZS5hcHBlbmQoInRzIixTdHJpbmcodC53YWxsX3RpbWUpKTtjb25zdCBuPUVyKCkucGx1Z2luUm91dGUoImF1ZGlvIiwiL2luZGl2aWR1YWxBdWRpbyIsZSk7cmV0dXJue3dhbGxfdGltZTpTTyhuZXcgRGF0ZSgxZTMqdC53YWxsX3RpbWUpKSxzdGVwOnQuc3RlcCxsYWJlbDp0LmxhYmVsLGNvbnRlbnRUeXBlOnQuY29udGVudFR5cGUsdXJsOm59fX07VE8udGVtcGxhdGU9eGVgCiAgICA8dGYtY2FyZC1oZWFkaW5nCiAgICAgIHRhZz0iW1t0YWddXSIKICAgICAgcnVuPSJbW3J1bl1dIgogICAgICBkaXNwbGF5LW5hbWU9IltbdGFnTWV0YWRhdGEuZGlzcGxheU5hbWVdXSIKICAgICAgZGVzY3JpcHRpb249IltbdGFnTWV0YWRhdGEuZGVzY3JpcHRpb25dXSIKICAgICAgY29sb3I9IltbX3J1bkNvbG9yXV0iCiAgICA+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzTXVsdGlwbGVTYW1wbGVzXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctbGFiZWwiPgogICAgICAgICAgICBzYW1wbGU6IFtbX3NhbXBsZVRleHRdXSBvZiBbW3RvdGFsU2FtcGxlc11dCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19oYXNBdExlYXN0T25lU3RlcF1dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIj4KICAgICAgICAgICAgc3RlcCA8c3Ryb25nPltbX2N1cnJlbnREYXR1bS5zdGVwXV08L3N0cm9uZz4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19jdXJyZW50RGF0dW0ud2FsbF90aW1lXV0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLWxhYmVsIGhlYWRpbmctcmlnaHQiPgogICAgICAgICAgICAgIFtbX2N1cnJlbnREYXR1bS53YWxsX3RpbWVdXQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzTXVsdGlwbGVTdGVwc11dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nLXJvdyI+CiAgICAgICAgICA8cGFwZXItc2xpZGVyCiAgICAgICAgICAgIGlkPSJzdGVwcyIKICAgICAgICAgICAgaW1tZWRpYXRlLXZhbHVlPSJ7e19zdGVwSW5kZXh9fSIKICAgICAgICAgICAgbWF4PSJbW19tYXhTdGVwSW5kZXhdXSIKICAgICAgICAgICAgbWF4LW1hcmtlcnM9IltbX21heFN0ZXBJbmRleF1dIgogICAgICAgICAgICBzbmFwcz0iIgogICAgICAgICAgICBzdGVwPSIxIgogICAgICAgICAgICB2YWx1ZT0ie3tfc3RlcEluZGV4fX0iCiAgICAgICAgICA+PC9wYXBlci1zbGlkZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L3RmLWNhcmQtaGVhZGluZz4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzQXRMZWFzdE9uZVN0ZXBdXSI+CiAgICAgIDxhdWRpbwogICAgICAgIGNvbnRyb2xzPSIiCiAgICAgICAgc3JjJD0iW1tfY3VycmVudERhdHVtLnVybF1dIgogICAgICAgIHR5cGUkPSJbW19jdXJyZW50RGF0dW0uY29udGVudFR5cGVdXSIKICAgICAgPjwvYXVkaW8+CiAgICAgIDx0Zi1tYXJrZG93bi12aWV3IGh0bWw9IltbX2N1cnJlbnREYXR1bS5sYWJlbF1dIj48L3RmLW1hcmtkb3duLXZpZXc+CiAgICA8L3RlbXBsYXRlPgogICAgPGRpdiBpZD0ibWFpbi1hdWRpby1jb250YWluZXIiPjwvZGl2PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJ0Zi1jYXJkLWhlYWRpbmctc3R5bGUiPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDM1MHB4OwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yOiAjNDI0MjQyOwogICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICB9CgogICAgICAjc3RlcHMgewogICAgICAgIGhlaWdodDogMTVweDsKICAgICAgICBtYXJnaW46IDAgMCAwIC0xNXB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgcGFkZGluZzogMCA1cHg7IC8qIHNvIHRoZSBzbGlkZXIga25vYiBkb2Vzbid0IGJ1dHQgb3V0ICovCiAgICAgICAgbWFyZ2luLXRvcDogNXB4OwogICAgICAgIC0tcGFwZXItc2xpZGVyLWFjdGl2ZS1jb2xvcjogdmFyKC0tc3RlcC1zbGlkZXIta25vYi1jb2xvcik7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1jb2xvcjogdmFyKC0tc3RlcC1zbGlkZXIta25vYi1jb2xvcik7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLWNvbG9yOiB2YXIoLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yOiB2YXIoLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tc3RlcC1zbGlkZXIta25vYi1jb2xvcik7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLXN0YXJ0LWNvbG9yOiB2YXIoLS1zdGVwLXNsaWRlci1rbm9iLWNvbG9yKTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFRPLnByb3RvdHlwZSwicnVuIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFRPLnByb3RvdHlwZSwidGFnIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLFRPLnByb3RvdHlwZSwic2FtcGxlIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLFRPLnByb3RvdHlwZSwidG90YWxTYW1wbGVzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFRPLnByb3RvdHlwZSwidGFnTWV0YWRhdGEiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxUTy5wcm90b3R5cGUsInJlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHhPKV0sVE8ucHJvdG90eXBlLCJfbWV0YWRhdGFDYW5jZWxsZXIiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLFRPLnByb3RvdHlwZSwiX3N0ZXBzIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLFRPLnByb3RvdHlwZSwiX3N0ZXBJbmRleCIsdm9pZCAwKSx0KFtzKCJydW4iKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxUTy5wcm90b3R5cGUsIl9ydW5Db2xvciIsbnVsbCksdChbcygiX3N0ZXBzIiksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLFRPLnByb3RvdHlwZSwiX2hhc0F0TGVhc3RPbmVTdGVwIixudWxsKSx0KFtzKCJfc3RlcHMiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sVE8ucHJvdG90eXBlLCJfaGFzTXVsdGlwbGVTdGVwcyIsbnVsbCksdChbcygiX3N0ZXBzIiksZSgiZGVzaWduOnR5cGUiLE51bWJlciksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sVE8ucHJvdG90eXBlLCJfbWF4U3RlcEluZGV4IixudWxsKSx0KFtzKCJfc3RlcHMiLCJfc3RlcEluZGV4IiksZSgiZGVzaWduOnR5cGUiLE9iamVjdCksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sVE8ucHJvdG90eXBlLCJfY3VycmVudERhdHVtIixudWxsKSx0KFtzKCJzYW1wbGUiKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxUTy5wcm90b3R5cGUsIl9zYW1wbGVUZXh0IixudWxsKSx0KFtzKCJ0b3RhbFNhbXBsZXMiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sVE8ucHJvdG90eXBlLCJfaGFzTXVsdGlwbGVTYW1wbGVzIixudWxsKSx0KFthKCJydW4iLCJ0YWciKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLFRPLnByb3RvdHlwZSwiX3JlbG9hZE9uUnVuVGFnQ2hhbmdlIixudWxsKSxUTz10KFtpKCJ0Zi1hdWRpby1sb2FkZXIiKV0sVE8pO2xldCBDTz1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVsb2FkT25SZWFkeT0hMCx0aGlzLl90YWdGaWx0ZXI9IiIsdGhpcy5fcmVxdWVzdE1hbmFnZXI9bmV3IGJyfXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLnJlbG9hZE9uUmVhZHkmJnRoaXMucmVsb2FkKCl9cmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKCk9Pnt0aGlzLl9yZWxvYWRBdWRpbygpfSkpfV9mZXRjaFRhZ3MoKXtjb25zdCB0PUVyKCkucGx1Z2luUm91dGUoImF1ZGlvIiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0KS50aGVuKCh0PT57aWYoQ2UuZXhwb3J0cy5pc0VxdWFsKHQsdGhpcy5fcnVuVG9UYWdJbmZvKSlyZXR1cm47Y29uc3QgZT1mcihDZS5leHBvcnRzLm1hcFZhbHVlcyh0LCh0PT5PYmplY3Qua2V5cyh0KSkpKTt0aGlzLnNldCgiX2RhdGFOb3RGb3VuZCIsMD09PWUubGVuZ3RoKSx0aGlzLnNldCgiX3J1blRvVGFnSW5mbyIsdCl9KSl9X3JlbG9hZEF1ZGlvKCl7dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLWF1ZGlvLWxvYWRlciIpLmZvckVhY2goKHQ9Pnt0LnJlbG9hZCgpfSkpfV9zaG91bGRPcGVuKHQpe3JldHVybiB0PD0yfWdldCBfY2F0ZWdvcmllcygpe3ZhciB0PXRoaXMuX3J1blRvVGFnSW5mbyxlPXRoaXMuX3NlbGVjdGVkUnVucyxuPXRoaXMuX3RhZ0ZpbHRlcjtmdW5jdGlvbiBpKGUpe2NvbnN0IG49dFtlLnJ1bl1bZS50YWddLnNhbXBsZXM7cmV0dXJuIENlLmV4cG9ydHMucmFuZ2UobikubWFwKCh0PT5PYmplY3QuYXNzaWduKHt9LGUse3NhbXBsZTp0LHRvdGFsU2FtcGxlczpufSkpKX1yZXR1cm4gSXIoQ2UuZXhwb3J0cy5tYXBWYWx1ZXModCwodD0+T2JqZWN0LmtleXModCkpKSxlLG4pLm1hcCgodD0+T2JqZWN0LmFzc2lnbih7fSx0LHtpdGVtczpbXS5jb25jYXQuYXBwbHkoW10sdC5pdGVtcy5tYXAoaSkpfSkpKX1fdGFnTWV0YWRhdGEodCxlLG4pe3JldHVybiB0W2VdW25dfX07Q08udGVtcGxhdGU9eGVgCiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciIgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIHJ1bnMtc2VsZWN0b3IiPgogICAgICAgICAgPHRmLXJ1bnMtc2VsZWN0b3IKICAgICAgICAgICAgaWQ9InJ1bnMtc2VsZWN0b3IiCiAgICAgICAgICAgIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319IgogICAgICAgICAgPjwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBhdWRpbyBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgYXVkaW8gZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgPGxpPlRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiCiAgICAgICAgICAgICAgICA+UkVBRE1FPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgICAgPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hCiAgICAgICAgICAgICAgPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyIKICAgICAgICAgICAgICAgID50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDx0Zi10YWctZmlsdGVyZXIgdGFnLWZpbHRlcj0ie3tfdGFnRmlsdGVyfX0iPjwvdGYtdGFnLWZpbHRlcmVyPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcKICAgICAgICAgICAgICBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIgogICAgICAgICAgICAgIGluaXRpYWwtb3BlbmVkPSJbW19zaG91bGRPcGVuKGluZGV4KV1dIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLWF1ZGlvLWxvYWRlcgogICAgICAgICAgICAgICAgICBhY3RpdmU9IltbYWN0aXZlXV0iCiAgICAgICAgICAgICAgICAgIHJ1bj0iW1tpdGVtLnJ1bl1dIgogICAgICAgICAgICAgICAgICB0YWc9IltbaXRlbS50YWddXSIKICAgICAgICAgICAgICAgICAgc2FtcGxlPSJbW2l0ZW0uc2FtcGxlXV0iCiAgICAgICAgICAgICAgICAgIHRvdGFsLXNhbXBsZXM9IltbaXRlbS50b3RhbFNhbXBsZXNdXSIKICAgICAgICAgICAgICAgICAgdGFnLW1ldGFkYXRhPSJbW190YWdNZXRhZGF0YShfcnVuVG9UYWdJbmZvLCBpdGVtLnJ1biwgaXRlbS50YWcpXV0iCiAgICAgICAgICAgICAgICAgIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSIKICAgICAgICAgICAgICAgID48L3RmLWF1ZGlvLWxvYWRlcj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDTy5wcm90b3R5cGUsInJlbG9hZE9uUmVhZHkiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLENPLnByb3RvdHlwZSwiX3NlbGVjdGVkUnVucyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxDTy5wcm90b3R5cGUsIl9ydW5Ub1RhZ0luZm8iLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDTy5wcm90b3R5cGUsIl9kYXRhTm90Rm91bmQiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQ08ucHJvdG90eXBlLCJfdGFnRmlsdGVyIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0sQ08ucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbcygiX3J1blRvVGFnSW5mbyIsIl9zZWxlY3RlZFJ1bnMiLCJfdGFnRmlsdGVyIiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxDTy5wcm90b3R5cGUsIl9jYXRlZ29yaWVzIixudWxsKSxDTz10KFtpKCJ0Zi1hdWRpby1kYXNoYm9hcmQiKV0sQ08pO2xldCBBTz1jbGFzcyBleHRlbmRzKGNyKHdlKSl7YXR0YWNoZWQoKXt0aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuZ2V0RWZmZWN0aXZlQ2hpbGRyZW4oKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3RoaXMubGlzdGVuKHQsInRhcCIsIl9zZWxlY3RUYXJnZXQiKX0uYmluZCh0aGlzKSl9KSl9X3NlbGVjdFRhcmdldCh0KXt0aGlzLnNlbGVjdGVkSWQ9dC5jdXJyZW50VGFyZ2V0LmlkfV9zZWxlY3RlZElkQ2hhbmdlZCgpe3ZhciB0PXRoaXMucXVlcnlFZmZlY3RpdmVDaGlsZHJlbigiIyIrdGhpcy5zZWxlY3RlZElkKTt0JiYodGhpcy5nZXRFZmZlY3RpdmVDaGlsZHJlbigpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuY2xhc3NMaXN0LnJlbW92ZSgic2VsZWN0ZWQiKX0pKSx0LmNsYXNzTGlzdC5hZGQoInNlbGVjdGVkIikpfX07ZnVuY3Rpb24ga08odCxlKXtsZXQgbjtjb25zdCBpPXt9O09iamVjdC5rZXlzKHQpLmZvckVhY2goKGU9Pntjb25zdCByPXRbZV07dm9pZCAwPT09biYmKG49ci5kaXNwbGF5TmFtZSksbiE9PXIuZGlzcGxheU5hbWUmJihuPW51bGwpLHZvaWQgMD09PWlbci5kZXNjcmlwdGlvbl0mJihpW3IuZGVzY3JpcHRpb25dPVtdKSxpW3IuZGVzY3JpcHRpb25dLnB1c2goZSl9KSk7cmV0dXJue2Rpc3BsYXlOYW1lOm51bGwhPW4/bjplLGRlc2NyaXB0aW9uOigoKT0+e2NvbnN0IHQ9T2JqZWN0LmtleXMoaSk7aWYoMD09PXQubGVuZ3RoKXJldHVybiIiO2lmKDE9PT10Lmxlbmd0aClyZXR1cm4gdFswXTtyZXR1cm5gJHsiPHA+PHN0cm9uZz5NdWx0aXBsZSBkZXNjcmlwdGlvbnM6PC9zdHJvbmc+PC9wPiJ9PHVsPiR7dC5tYXAoKHQ9Pntjb25zdCBlPWlbdF0ubWFwKCh0PT5gPGNvZGU+JHt0LnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpLnJlcGxhY2UoLyYvZywiJmFtcDsiKX08L2NvZGU+YCkpLG49ZS5sZW5ndGg+Mj9lLnNsaWNlKDAsZS5sZW5ndGgtMSkuam9pbigiLCAiKSsiLCBhbmQgIitlW2UubGVuZ3RoLTFdOmUuam9pbigiIGFuZCAiKTtyZXR1cm5gPGxpPjxwPkZvciAkeyhmdW5jdGlvbiByKHQsZSxuKXtyZXR1cm4gMT09PXQ/ZTpufSkoZS5sZW5ndGgsInJ1biIsInJ1bnMiKX0gJHtufTo8L3A+JHt0fTwvbGk+YH0pKS5qb2luKCIiKX08L3VsPmB9KSgpfX1BTy50ZW1wbGF0ZT14ZWAKICAgIDxkaXYgaWQ9IndyYXAiPgogICAgICA8aDM+W1tuYW1lXV08L2gzPgogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LXdyYXBwZXIiPjxzbG90Pjwvc2xvdD48L2Rpdj4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICAuY29udGVudC13cmFwcGVyIDo6c2xvdHRlZCgqKSB7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tdGItdWktZGFyay1hY2NlbnQpOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgICB9CgogICAgICAuY29udGVudC13cmFwcGVyIDo6c2xvdHRlZCgqKSB7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tdGItdWktZGFyay1hY2NlbnQpOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgICB9CgogICAgICAuY29udGVudC13cmFwcGVyIDo6c2xvdHRlZCguc2VsZWN0ZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10Yi11aS1kYXJrLWFjY2VudCk7CiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIGgzIHsKICAgICAgICBjb2xvcjogdmFyKC0tdGItc2Vjb25kYXJ5LXRleHQtY29sb3IpOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICAgIG1hcmdpbjogMCAwIDVweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEFPLnByb3RvdHlwZSwibmFtZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxub3RpZnk6ITAsb2JzZXJ2ZXI6Il9zZWxlY3RlZElkQ2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQU8ucHJvdG90eXBlLCJzZWxlY3RlZElkIix2b2lkIDApLEFPPXQoW2koInRmLW9wdGlvbi1zZWxlY3RvciIpXSxBTyk7bGV0IExPPWNsYXNzIGV4dGVuZHMgd2V7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMud2VpZ2h0PS42LHRoaXMuX3VwZGF0ZVdlaWdodD1DZS5leHBvcnRzLmRlYm91bmNlKChmdW5jdGlvbih0KXt0aGlzLndlaWdodD10fSksMjUwKX1faW1tZWRpYXRlV2VpZ2h0TnVtYmVyRm9yUGFwZXJTbGlkZXJDaGFuZ2VkKCl7dGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0PXRoaXMuX2ltbWVkaWF0ZVdlaWdodE51bWJlckZvclBhcGVyU2xpZGVyLnRvU3RyaW5nKCksdGhpcy5fdXBkYXRlV2VpZ2h0LmNhbGwodGhpcyx0aGlzLl9pbW1lZGlhdGVXZWlnaHROdW1iZXJGb3JQYXBlclNsaWRlcil9X2lucHV0V2VpZ2h0U3RyaW5nRm9yUGFwZXJJbnB1dENoYW5nZWQoKXsrdGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0PDA/dGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0PSIwIjordGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0PjEmJih0aGlzLl9pbnB1dFdlaWdodFN0cmluZ0ZvclBhcGVySW5wdXQ9IjEiKTt2YXIgdD0rdGhpcy5faW5wdXRXZWlnaHRTdHJpbmdGb3JQYXBlcklucHV0O2lzTmFOKHQpfHx0aGlzLl91cGRhdGVXZWlnaHQuY2FsbCh0aGlzLHQpfX07ZnVuY3Rpb24gUE8odCxlKXtjb25zdCBuPU9iamVjdC5rZXlzKGUpLnNvcnQoKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKTtpZighbi5sZW5ndGgpcmV0dXJuIHQ7Y29uc3QgaT0tMSE9PXQuaW5kZXhPZigiPyIpPyImIjoiPyI7cmV0dXJuIHQraStbXS5jb25jYXQoLi4ubi5tYXAoKHQ9Pntjb25zdCBuPWVbdF07cmV0dXJuKEFycmF5LmlzQXJyYXkobik/bjpbbl0pLm1hcCgoZT0+YCR7dH09JHsoZnVuY3Rpb24gbih0KXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHQpLnJlcGxhY2UoL1woL2csIiUyOCIpLnJlcGxhY2UoL1wpL2csIiUyOSIpfSkoZSl9YCkpfSkpKS5qb2luKCImIil9TE8udGVtcGxhdGU9eGVgCiAgICA8aDMgY2xhc3M9InRpdGxlIj5TbW9vdGhpbmc8L2gzPgogICAgPGRpdiBjbGFzcz0ic21vb3RoaW5nLWJsb2NrIj4KICAgICAgPHBhcGVyLXNsaWRlcgogICAgICAgIGlkPSJzbGlkZXIiCiAgICAgICAgaW1tZWRpYXRlLXZhbHVlPSJ7e19pbW1lZGlhdGVXZWlnaHROdW1iZXJGb3JQYXBlclNsaWRlcn19IgogICAgICAgIG1heD0iW1ttYXhdXSIKICAgICAgICBtaW49IltbbWluXV0iCiAgICAgICAgcGluCiAgICAgICAgc3RlcD0iW1tzdGVwXV0iCiAgICAgICAgdHlwZT0ibnVtYmVyIgogICAgICAgIHZhbHVlPSJ7e3dlaWdodH19IgogICAgICA+PC9wYXBlci1zbGlkZXI+CiAgICAgIDxwYXBlci1pbnB1dAogICAgICAgIGlkPSJpbnB1dCIKICAgICAgICBsYWJlbD0id2VpZ2h0IgogICAgICAgIG5vLWxhYmVsLWZsb2F0CiAgICAgICAgdmFsdWU9Int7X2lucHV0V2VpZ2h0U3RyaW5nRm9yUGFwZXJJbnB1dH19IgogICAgICAgIHR5cGU9Im51bWJlciIKICAgICAgICBzdGVwPSJbW3N0ZXBdXSIKICAgICAgICBtaW49IltbbWluXV0iCiAgICAgICAgbWF4PSJbW21heF1dIgogICAgICA+PC9wYXBlci1pbnB1dD4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICAudGl0bGUgewogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1zZWNvbmRhcnktdGV4dC1jb2xvcik7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgfQoKICAgICAgLnNtb290aGluZy1ibG9jayB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQoKICAgICAgcGFwZXItc2xpZGVyIHsKICAgICAgICAtLXBhcGVyLXNsaWRlci1hY3RpdmUtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2ItY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1tYXJrZXJzLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1waW4tY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLXBpbi1zdGFydC1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgZmxleC1ncm93OiAyOwogICAgICB9CgogICAgICBwYXBlci1pbnB1dCB7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItZm9jdXMtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWlucHV0OiB7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQogICAgICAgIC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWxhYmVsOiB7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQogICAgICAgIHdpZHRoOiA2MHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sTE8ucHJvdG90eXBlLCJzdGVwIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLExPLnByb3RvdHlwZSwibWF4Iix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLExPLnByb3RvdHlwZSwibWluIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxMTy5wcm90b3R5cGUsIndlaWdodCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcixub3RpZnk6ITAsb2JzZXJ2ZXI6Il9pbW1lZGlhdGVXZWlnaHROdW1iZXJGb3JQYXBlclNsaWRlckNoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLExPLnByb3RvdHlwZSwiX2ltbWVkaWF0ZVdlaWdodE51bWJlckZvclBhcGVyU2xpZGVyIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMCxvYnNlcnZlcjoiX2lucHV0V2VpZ2h0U3RyaW5nRm9yUGFwZXJJbnB1dENoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLExPLnByb3RvdHlwZSwiX2lucHV0V2VpZ2h0U3RyaW5nRm9yUGFwZXJJbnB1dCIsdm9pZCAwKSxMTz10KFtpKCJ0Zi1zbW9vdGhpbmctaW5wdXQiKV0sTE8pO3ZhciBOTz17fSxJTz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodFtuXT1lW25dKX07Ci8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlCiAgICB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZQogICAgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiAgICBUSElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZCiAgICBLSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIEFOWSBJTVBMSUVECiAgICBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgVElUTEUsIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLAogICAgTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC4KCiAgICBTZWUgdGhlIEFwYWNoZSBWZXJzaW9uIDIuMCBMaWNlbnNlIGZvciBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMKICAgIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovdmFyIFJPPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uIHQoZSl7Zm9yKHZhciBuLGk9MSxyPWFyZ3VtZW50cy5sZW5ndGg7aTxyO2krKylmb3IodmFyIG8gaW4gbj1hcmd1bWVudHNbaV0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sbykmJihlW29dPW5bb10pO3JldHVybiBlfTtmdW5jdGlvbiBPTyh0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl0sbj0wO3JldHVybiBlP2UuY2FsbCh0KTp7bmV4dDpmdW5jdGlvbigpe3JldHVybiB0JiZuPj10Lmxlbmd0aCYmKHQ9dm9pZCAwKSx7dmFsdWU6dCYmdFtuKytdLGRvbmU6IXR9fX19ZnVuY3Rpb24gek8odCxlKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl07aWYoIW4pcmV0dXJuIHQ7dmFyIGkscixvPW4uY2FsbCh0KSxhPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT1lfHxlLS0gPjApJiYhKGk9by5uZXh0KCkpLmRvbmU7KWEucHVzaChpLnZhbHVlKX1jYXRjaCh0KXtyPXtlcnJvcjp0fX1maW5hbGx5e3RyeXtpJiYhaS5kb25lJiYobj1vLnJldHVybikmJm4uY2FsbChvKX1maW5hbGx5e2lmKHIpdGhyb3cgci5lcnJvcn19cmV0dXJuIGF9ZnVuY3Rpb24gRE8odCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBETz8odGhpcy52PXQsdGhpcyk6bmV3IERPKHQpfXZhciBCTz1NZShPYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxfX2V4dGVuZHM6ZnVuY3Rpb24gSE8odCxlKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fUlPKHQsZSksdC5wcm90b3R5cGU9bnVsbD09PWU/T2JqZWN0LmNyZWF0ZShlKToobi5wcm90b3R5cGU9ZS5wcm90b3R5cGUsbmV3IG4pfSxfX2Fzc2lnbjpSTyxfX3Jlc3Q6ZnVuY3Rpb24gRk8odCxlKXt2YXIgbj17fTtmb3IodmFyIGkgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxpKSYmZS5pbmRleE9mKGkpPDAmJihuW2ldPXRbaV0pO2lmKG51bGwhPXQmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgcj0wO2ZvcihpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7cjxpLmxlbmd0aDtyKyspZS5pbmRleE9mKGlbcl0pPDAmJihuW2lbcl1dPXRbaVtyXV0pfXJldHVybiBufSxfX2RlY29yYXRlOmZ1bmN0aW9uIFZPKHQsZSxuLGkpe3ZhciByLG89YXJndW1lbnRzLmxlbmd0aCxhPW88Mz9lOm51bGw9PT1pP2k9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLG4pOmk7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlhPVJlZmxlY3QuZGVjb3JhdGUodCxlLG4saSk7ZWxzZSBmb3IodmFyIHM9dC5sZW5ndGgtMTtzPj0wO3MtLSkocj10W3NdKSYmKGE9KG88Mz9yKGEpOm8+Mz9yKGUsbixhKTpyKGUsbikpfHxhKTtyZXR1cm4gbz4zJiZhJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLGEpLGF9LF9fcGFyYW06ZnVuY3Rpb24gVU8odCxlKXtyZXR1cm4gZnVuY3Rpb24obixpKXtlKG4saSx0KX19LF9fbWV0YWRhdGE6ZnVuY3Rpb24gak8odCxlKXtpZigib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJiJmdW5jdGlvbiI9PXR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhKXJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKHQsZSl9LF9fYXdhaXRlcjpmdW5jdGlvbiBHTyh0LGUsbixpKXtyZXR1cm4gbmV3KG58fChuPVByb21pc2UpKSgoZnVuY3Rpb24ocixvKXtmdW5jdGlvbiBhKHQpe3RyeXtsKGkubmV4dCh0KSl9Y2F0Y2godCl7byh0KX19ZnVuY3Rpb24gcyh0KXt0cnl7bChpLnRocm93KHQpKX1jYXRjaCh0KXtvKHQpfX1mdW5jdGlvbiBsKHQpe3QuZG9uZT9yKHQudmFsdWUpOm5ldyBuKChmdW5jdGlvbihlKXtlKHQudmFsdWUpfSkpLnRoZW4oYSxzKX1sKChpPWkuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KSl9LF9fZ2VuZXJhdG9yOmZ1bmN0aW9uIFdPKHQsZSl7dmFyIG4saSxyLG8sYT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZyWzBdKXRocm93IHJbMV07cmV0dXJuIHJbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gbz17bmV4dDpzKDApLHRocm93OnMoMSkscmV0dXJuOnMoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihvW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLG87ZnVuY3Rpb24gcyhvKXtyZXR1cm4gZnVuY3Rpb24ocyl7cmV0dXJuKGZ1bmN0aW9uIGwobyl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDthOyl0cnl7aWYobj0xLGkmJihyPWlbMiZvWzBdPyJyZXR1cm4iOm9bMF0/InRocm93IjoibmV4dCJdKSYmIShyPXIuY2FsbChpLG9bMV0pKS5kb25lKXJldHVybiByO3N3aXRjaChpPTAsciYmKG89WzAsci52YWx1ZV0pLG9bMF0pe2Nhc2UgMDpjYXNlIDE6cj1vO2JyZWFrO2Nhc2UgNDpyZXR1cm4gYS5sYWJlbCsrLHt2YWx1ZTpvWzFdLGRvbmU6ITF9O2Nhc2UgNTphLmxhYmVsKyssaT1vWzFdLG89WzBdO2NvbnRpbnVlO2Nhc2UgNzpvPWEub3BzLnBvcCgpLGEudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEocj1hLnRyeXMsKHI9ci5sZW5ndGg+MCYmcltyLmxlbmd0aC0xXSl8fDYhPT1vWzBdJiYyIT09b1swXSkpe2E9MDtjb250aW51ZX1pZigzPT09b1swXSYmKCFyfHxvWzFdPnJbMF0mJm9bMV08clszXSkpe2EubGFiZWw9b1sxXTticmVha31pZig2PT09b1swXSYmYS5sYWJlbDxyWzFdKXthLmxhYmVsPXJbMV0scj1vO2JyZWFrfWlmKHImJmEubGFiZWw8clsyXSl7YS5sYWJlbD1yWzJdLGEub3BzLnB1c2gobyk7YnJlYWt9clsyXSYmYS5vcHMucG9wKCksYS50cnlzLnBvcCgpO2NvbnRpbnVlfW89ZS5jYWxsKHQsYSl9Y2F0Y2godCl7bz1bNix0XSxpPTB9ZmluYWxseXtuPXI9MH1pZig1Jm9bMF0pdGhyb3cgb1sxXTtyZXR1cm57dmFsdWU6b1swXT9vWzFdOnZvaWQgMCxkb25lOiEwfX0pKFtvLHNdKX19fSxfX2V4cG9ydFN0YXI6ZnVuY3Rpb24gcU8odCxlKXtmb3IodmFyIG4gaW4gdCllLmhhc093blByb3BlcnR5KG4pfHwoZVtuXT10W25dKX0sX192YWx1ZXM6T08sX19yZWFkOnpPLF9fc3ByZWFkOmZ1bmN0aW9uIFlPKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXQ9dC5jb25jYXQoek8oYXJndW1lbnRzW2VdKSk7cmV0dXJuIHR9LF9fYXdhaXQ6RE8sX19hc3luY0dlbmVyYXRvcjpmdW5jdGlvbiBYTyh0LGUsbil7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciBpLHI9bi5hcHBseSh0LGV8fFtdKSxvPVtdO3JldHVybiBpPXt9LGEoIm5leHQiKSxhKCJ0aHJvdyIpLGEoInJldHVybiIpLGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGk7ZnVuY3Rpb24gYSh0KXtyW3RdJiYoaVt0XT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4saSl7by5wdXNoKFt0LGUsbixpXSk+MXx8cyh0LGUpfSkpfSl9ZnVuY3Rpb24gcyh0LGUpe3RyeXshKGZ1bmN0aW9uIG4odCl7dC52YWx1ZSBpbnN0YW5jZW9mIERPP1Byb21pc2UucmVzb2x2ZSh0LnZhbHVlLnYpLnRoZW4obCxjKTp1KG9bMF1bMl0sdCl9KShyW3RdKGUpKX1jYXRjaCh0KXt1KG9bMF1bM10sdCl9fWZ1bmN0aW9uIGwodCl7cygibmV4dCIsdCl9ZnVuY3Rpb24gYyh0KXtzKCJ0aHJvdyIsdCl9ZnVuY3Rpb24gdSh0LGUpe3QoZSksby5zaGlmdCgpLG8ubGVuZ3RoJiZzKG9bMF1bMF0sb1swXVsxXSl9fSxfX2FzeW5jRGVsZWdhdG9yOmZ1bmN0aW9uICRPKHQpe3ZhciBlLG47cmV0dXJuIGU9e30saSgibmV4dCIpLGkoInRocm93IiwoZnVuY3Rpb24odCl7dGhyb3cgdH0pKSxpKCJyZXR1cm4iKSxlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sZTtmdW5jdGlvbiBpKGkscil7dFtpXSYmKGVbaV09ZnVuY3Rpb24oZSl7cmV0dXJuKG49IW4pP3t2YWx1ZTpETyh0W2ldKGUpKSxkb25lOiJyZXR1cm4iPT09aX06cj9yKGUpOmV9KX19LF9fYXN5bmNWYWx1ZXM6ZnVuY3Rpb24gS08odCl7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciBlPXRbU3ltYm9sLmFzeW5jSXRlcmF0b3JdO3JldHVybiBlP2UuY2FsbCh0KTpPTyh0KX0sX19tYWtlVGVtcGxhdGVPYmplY3Q6ZnVuY3Rpb24gWk8odCxlKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJyYXciLHt2YWx1ZTplfSk6dC5yYXc9ZSx0fX0pKTtmdW5jdGlvbiBKTyh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBRTyh0KXtyZXR1cm4gMT09PXQubGVuZ3RoJiYodD0oZnVuY3Rpb24gZSh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gSk8odChlKSxuKX19KSh0KSkse2xlZnQ6ZnVuY3Rpb24oZSxuLGkscil7Zm9yKG51bGw9PWkmJihpPTApLG51bGw9PXImJihyPWUubGVuZ3RoKTtpPHI7KXt2YXIgbz1pK3I+Pj4xO3QoZVtvXSxuKTwwP2k9bysxOnI9b31yZXR1cm4gaX0scmlnaHQ6ZnVuY3Rpb24oZSxuLGkscil7Zm9yKG51bGw9PWkmJihpPTApLG51bGw9PXImJihyPWUubGVuZ3RoKTtpPHI7KXt2YXIgbz1pK3I+Pj4xO3QoZVtvXSxuKT4wP3I9bzppPW8rMX1yZXR1cm4gaX19fXZhciB0ej1RTyhKTyksZXo9dHoucmlnaHQsbno9dHoubGVmdDtmdW5jdGlvbiBpeih0LGUpe3JldHVyblt0LGVdfWZ1bmN0aW9uIHJ6KHQpe3JldHVybiBudWxsPT09dD9OYU46K3R9ZnVuY3Rpb24gb3oodCxlKXt2YXIgbixpLHI9dC5sZW5ndGgsbz0wLGE9LTEscz0wLGw9MDtpZihudWxsPT1lKWZvcig7KythPHI7KWlzTmFOKG49cnoodFthXSkpfHwobCs9KGk9bi1zKSoobi0ocys9aS8rK28pKSk7ZWxzZSBmb3IoOysrYTxyOylpc05hTihuPXJ6KGUodFthXSxhLHQpKSl8fChsKz0oaT1uLXMpKihuLShzKz1pLysrbykpKTtpZihvPjEpcmV0dXJuIGwvKG8tMSl9ZnVuY3Rpb24gYXoodCxlKXt2YXIgbj1veih0LGUpO3JldHVybiBuP01hdGguc3FydChuKTpufWZ1bmN0aW9uIHN6KHQsZSl7dmFyIG4saSxyLG89dC5sZW5ndGgsYT0tMTtpZihudWxsPT1lKXtmb3IoOysrYTxvOylpZihudWxsIT0obj10W2FdKSYmbj49bilmb3IoaT1yPW47KythPG87KW51bGwhPShuPXRbYV0pJiYoaT5uJiYoaT1uKSxyPG4mJihyPW4pKX1lbHNlIGZvcig7KythPG87KWlmKG51bGwhPShuPWUodFthXSxhLHQpKSYmbj49bilmb3IoaT1yPW47KythPG87KW51bGwhPShuPWUodFthXSxhLHQpKSYmKGk+biYmKGk9bikscjxuJiYocj1uKSk7cmV0dXJuW2kscl19dmFyIGx6PUFycmF5LnByb3RvdHlwZSxjej1sei5zbGljZSx1ej1sei5tYXA7ZnVuY3Rpb24gaHoodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIGR6KHQpe3JldHVybiB0fWZ1bmN0aW9uIHB6KHQsZSxuKXt0PSt0LGU9K2Usbj0ocj1hcmd1bWVudHMubGVuZ3RoKTwyPyhlPXQsdD0wLDEpOnI8Mz8xOituO2Zvcih2YXIgaT0tMSxyPTB8TWF0aC5tYXgoMCxNYXRoLmNlaWwoKGUtdCkvbikpLG89bmV3IEFycmF5KHIpOysraTxyOylvW2ldPXQraSpuO3JldHVybiBvfXZhciBmej1NYXRoLnNxcnQoNTApLG16PU1hdGguc3FydCgxMCksZ3o9TWF0aC5zcXJ0KDIpO2Z1bmN0aW9uIF96KHQsZSxuKXt2YXIgaT0oZS10KS9NYXRoLm1heCgwLG4pLHI9TWF0aC5mbG9vcihNYXRoLmxvZyhpKS9NYXRoLkxOMTApLG89aS9NYXRoLnBvdygxMCxyKTtyZXR1cm4gcj49MD8obz49Zno/MTA6bz49bXo/NTpvPj1nej8yOjEpKk1hdGgucG93KDEwLHIpOi1NYXRoLnBvdygxMCwtcikvKG8+PWZ6PzEwOm8+PW16PzU6bz49Z3o/MjoxKX1mdW5jdGlvbiB5eih0LGUsbil7dmFyIGk9TWF0aC5hYnMoZS10KS9NYXRoLm1heCgwLG4pLHI9TWF0aC5wb3coMTAsTWF0aC5mbG9vcihNYXRoLmxvZyhpKS9NYXRoLkxOMTApKSxvPWkvcjtyZXR1cm4gbz49Zno/cio9MTA6bz49bXo/cio9NTpvPj1neiYmKHIqPTIpLGU8dD8tcjpyfWZ1bmN0aW9uIHZ6KHQpe3JldHVybiBNYXRoLmNlaWwoTWF0aC5sb2codC5sZW5ndGgpL01hdGguTE4yKSsxfWZ1bmN0aW9uIGJ6KHQsZSxuKXtpZihudWxsPT1uJiYobj1yeiksaT10Lmxlbmd0aCl7aWYoKGU9K2UpPD0wfHxpPDIpcmV0dXJuK24odFswXSwwLHQpO2lmKGU+PTEpcmV0dXJuK24odFtpLTFdLGktMSx0KTt2YXIgaSxyPShpLTEpKmUsbz1NYXRoLmZsb29yKHIpLGE9K24odFtvXSxvLHQpO3JldHVybiBhKygrbih0W28rMV0sbysxLHQpLWEpKihyLW8pfX1mdW5jdGlvbiB4eih0LGUpe3ZhciBuLGkscj10Lmxlbmd0aCxvPS0xO2lmKG51bGw9PWUpe2Zvcig7KytvPHI7KWlmKG51bGwhPShuPXRbb10pJiZuPj1uKWZvcihpPW47KytvPHI7KW51bGwhPShuPXRbb10pJiZpPm4mJihpPW4pfWVsc2UgZm9yKDsrK288cjspaWYobnVsbCE9KG49ZSh0W29dLG8sdCkpJiZuPj1uKWZvcihpPW47KytvPHI7KW51bGwhPShuPWUodFtvXSxvLHQpKSYmaT5uJiYoaT1uKTtyZXR1cm4gaX1mdW5jdGlvbiB3eih0KXtpZighKHI9dC5sZW5ndGgpKXJldHVybltdO2Zvcih2YXIgZT0tMSxuPXh6KHQsU3opLGk9bmV3IEFycmF5KG4pOysrZTxuOylmb3IodmFyIHIsbz0tMSxhPWlbZV09bmV3IEFycmF5KHIpOysrbzxyOylhW29dPXRbb11bZV07cmV0dXJuIGl9ZnVuY3Rpb24gU3oodCl7cmV0dXJuIHQubGVuZ3RofXZhciBNej1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gRXoodCl7cmV0dXJuIHR9dmFyIFR6PTFlLTY7ZnVuY3Rpb24gQ3oodCl7cmV0dXJuInRyYW5zbGF0ZSgiKyh0Ky41KSsiLDApIn1mdW5jdGlvbiBBeih0KXtyZXR1cm4idHJhbnNsYXRlKDAsIisodCsuNSkrIikifWZ1bmN0aW9uIGt6KHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4rdChlKX19ZnVuY3Rpb24gTHoodCl7dmFyIGU9TWF0aC5tYXgoMCx0LmJhbmR3aWR0aCgpLTEpLzI7cmV0dXJuIHQucm91bmQoKSYmKGU9TWF0aC5yb3VuZChlKSksZnVuY3Rpb24obil7cmV0dXJuK3QobikrZX19ZnVuY3Rpb24gUHooKXtyZXR1cm4hdGhpcy5fX2F4aXN9ZnVuY3Rpb24gTnoodCxlKXt2YXIgbj1bXSxpPW51bGwscj1udWxsLG89NixhPTYscz0zLGw9MT09PXR8fDQ9PT10Py0xOjEsYz00PT09dHx8Mj09PXQ/IngiOiJ5Iix1PTE9PT10fHwzPT09dD9DejpBejtmdW5jdGlvbiBoKGgpe3ZhciBkPW51bGw9PWk/ZS50aWNrcz9lLnRpY2tzLmFwcGx5KGUsbik6ZS5kb21haW4oKTppLHA9bnVsbD09cj9lLnRpY2tGb3JtYXQ/ZS50aWNrRm9ybWF0LmFwcGx5KGUsbik6RXo6cixmPU1hdGgubWF4KG8sMCkrcyxtPWUucmFuZ2UoKSxnPSttWzBdKy41LF89K21bbS5sZW5ndGgtMV0rLjUseT0oZS5iYW5kd2lkdGg/THo6a3opKGUuY29weSgpKSx2PWguc2VsZWN0aW9uP2guc2VsZWN0aW9uKCk6aCxiPXYuc2VsZWN0QWxsKCIuZG9tYWluIikuZGF0YShbbnVsbF0pLHg9di5zZWxlY3RBbGwoIi50aWNrIikuZGF0YShkLGUpLm9yZGVyKCksdz14LmV4aXQoKSxTPXguZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsInRpY2siKSxNPXguc2VsZWN0KCJsaW5lIiksRT14LnNlbGVjdCgidGV4dCIpO2I9Yi5tZXJnZShiLmVudGVyKCkuaW5zZXJ0KCJwYXRoIiwiLnRpY2siKS5hdHRyKCJjbGFzcyIsImRvbWFpbiIpLmF0dHIoInN0cm9rZSIsIiMwMDAiKSkseD14Lm1lcmdlKFMpLE09TS5tZXJnZShTLmFwcGVuZCgibGluZSIpLmF0dHIoInN0cm9rZSIsIiMwMDAiKS5hdHRyKGMrIjIiLGwqbykpLEU9RS5tZXJnZShTLmFwcGVuZCgidGV4dCIpLmF0dHIoImZpbGwiLCIjMDAwIikuYXR0cihjLGwqZikuYXR0cigiZHkiLDE9PT10PyIwZW0iOjM9PT10PyIwLjcxZW0iOiIwLjMyZW0iKSksaCE9PXYmJihiPWIudHJhbnNpdGlvbihoKSx4PXgudHJhbnNpdGlvbihoKSxNPU0udHJhbnNpdGlvbihoKSxFPUUudHJhbnNpdGlvbihoKSx3PXcudHJhbnNpdGlvbihoKS5hdHRyKCJvcGFjaXR5IixUeikuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9eSh0KSk/dSh0KTp0aGlzLmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIil9KSksUy5hdHRyKCJvcGFjaXR5IixUeikuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5wYXJlbnROb2RlLl9fYXhpcztyZXR1cm4gdShlJiZpc0Zpbml0ZShlPWUodCkpP2U6eSh0KSl9KSkpLHcucmVtb3ZlKCksYi5hdHRyKCJkIiw0PT09dHx8Mj09dD8iTSIrbCphKyIsIitnKyJIMC41ViIrXysiSCIrbCphOiJNIitnKyIsIitsKmErIlYwLjVIIitfKyJWIitsKmEpLHguYXR0cigib3BhY2l0eSIsMSkuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCl7cmV0dXJuIHUoeSh0KSl9KSksTS5hdHRyKGMrIjIiLGwqbyksRS5hdHRyKGMsbCpmKS50ZXh0KHApLHYuZmlsdGVyKFB6KS5hdHRyKCJmaWxsIiwibm9uZSIpLmF0dHIoImZvbnQtc2l6ZSIsMTApLmF0dHIoImZvbnQtZmFtaWx5Iiwic2Fucy1zZXJpZiIpLmF0dHIoInRleHQtYW5jaG9yIiwyPT09dD8ic3RhcnQiOjQ9PT10PyJlbmQiOiJtaWRkbGUiKSx2LmVhY2goKGZ1bmN0aW9uKCl7dGhpcy5fX2F4aXM9eX0pKX1yZXR1cm4gaC5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LGgpOmV9LGgudGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gbj1Nei5jYWxsKGFyZ3VtZW50cyksaH0saC50aWNrQXJndW1lbnRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW51bGw9PXQ/W106TXouY2FsbCh0KSxoKTpuLnNsaWNlKCl9LGgudGlja1ZhbHVlcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT1udWxsPT10P251bGw6TXouY2FsbCh0KSxoKTppJiZpLnNsaWNlKCl9LGgudGlja0Zvcm1hdD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LGgpOnJ9LGgudGlja1NpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89YT0rdCxoKTpvfSxoLnRpY2tTaXplSW5uZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89K3QsaCk6b30saC50aWNrU2l6ZU91dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSt0LGgpOmF9LGgudGlja1BhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9K3QsaCk6c30saH12YXIgSXo9e3ZhbHVlOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gUnooKXtmb3IodmFyIHQsZT0wLG49YXJndW1lbnRzLmxlbmd0aCxpPXt9O2U8bjsrK2Upe2lmKCEodD1hcmd1bWVudHNbZV0rIiIpfHx0IGluIGl8fC9bXHMuXS8udGVzdCh0KSl0aHJvdyBuZXcgRXJyb3IoImlsbGVnYWwgdHlwZTogIit0KTtpW3RdPVtdfXJldHVybiBuZXcgT3ooaSl9ZnVuY3Rpb24gT3oodCl7dGhpcy5fPXR9ZnVuY3Rpb24genoodCxlKXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKChmdW5jdGlvbih0KXt2YXIgbj0iIixpPXQuaW5kZXhPZigiLiIpO2lmKGk+PTAmJihuPXQuc2xpY2UoaSsxKSx0PXQuc2xpY2UoMCxpKSksdCYmIWUuaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7cmV0dXJue3R5cGU6dCxuYW1lOm59fSkpfWZ1bmN0aW9uIER6KHQsZSl7Zm9yKHZhciBuLGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYoKG49dFtpXSkubmFtZT09PWUpcmV0dXJuIG4udmFsdWV9ZnVuY3Rpb24gQnoodCxlLG4pe2Zvcih2YXIgaT0wLHI9dC5sZW5ndGg7aTxyOysraSlpZih0W2ldLm5hbWU9PT1lKXt0W2ldPUl6LHQ9dC5zbGljZSgwLGkpLmNvbmNhdCh0LnNsaWNlKGkrMSkpO2JyZWFrfXJldHVybiBudWxsIT1uJiZ0LnB1c2goe25hbWU6ZSx2YWx1ZTpufSksdH1Pei5wcm90b3R5cGU9UnoucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpPeixvbjpmdW5jdGlvbih0LGUpe3ZhciBuLGk9dGhpcy5fLHI9enoodCsiIixpKSxvPS0xLGE9ci5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtpZihudWxsIT1lJiYiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2FsbGJhY2s6ICIrZSk7Zm9yKDsrK288YTspaWYobj0odD1yW29dKS50eXBlKWlbbl09QnooaVtuXSx0Lm5hbWUsZSk7ZWxzZSBpZihudWxsPT1lKWZvcihuIGluIGkpaVtuXT1CeihpW25dLHQubmFtZSxudWxsKTtyZXR1cm4gdGhpc31mb3IoOysrbzxhOylpZigobj0odD1yW29dKS50eXBlKSYmKG49RHooaVtuXSx0Lm5hbWUpKSlyZXR1cm4gbn0sY29weTpmdW5jdGlvbigpe3ZhciB0PXt9LGU9dGhpcy5fO2Zvcih2YXIgbiBpbiBlKXRbbl09ZVtuXS5zbGljZSgpO3JldHVybiBuZXcgT3oodCl9LGNhbGw6ZnVuY3Rpb24odCxlKXtpZigobj1hcmd1bWVudHMubGVuZ3RoLTIpPjApZm9yKHZhciBuLGkscj1uZXcgQXJyYXkobiksbz0wO288bjsrK28pcltvXT1hcmd1bWVudHNbbysyXTtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2ZvcihvPTAsbj0oaT10aGlzLl9bdF0pLmxlbmd0aDtvPG47KytvKWlbb10udmFsdWUuYXBwbHkoZSxyKX0sYXBwbHk6ZnVuY3Rpb24odCxlLG4pe2lmKCF0aGlzLl8uaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7Zm9yKHZhciBpPXRoaXMuX1t0XSxyPTAsbz1pLmxlbmd0aDtyPG87KytyKWlbcl0udmFsdWUuYXBwbHkoZSxuKX19O3ZhciBIej0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsRno9e3N2ZzoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhodG1sOkh6LHhsaW5rOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIix4bWw6Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIn07ZnVuY3Rpb24gVnoodCl7dmFyIGU9dCs9IiIsbj1lLmluZGV4T2YoIjoiKTtyZXR1cm4gbj49MCYmInhtbG5zIiE9PShlPXQuc2xpY2UoMCxuKSkmJih0PXQuc2xpY2UobisxKSksRnouaGFzT3duUHJvcGVydHkoZSk/e3NwYWNlOkZ6W2VdLGxvY2FsOnR9OnR9ZnVuY3Rpb24gVXoodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vd25lckRvY3VtZW50LG49dGhpcy5uYW1lc3BhY2VVUkk7cmV0dXJuIG49PT1IeiYmZS5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJPT09SHo/ZS5jcmVhdGVFbGVtZW50KHQpOmUuY3JlYXRlRWxlbWVudE5TKG4sdCl9fWZ1bmN0aW9uIGp6KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIEd6KHQpe3ZhciBlPVZ6KHQpO3JldHVybihlLmxvY2FsP2p6OlV6KShlKX1mdW5jdGlvbiBXeigpe31mdW5jdGlvbiBxeih0KXtyZXR1cm4gbnVsbD09dD9XejpmdW5jdGlvbigpe3JldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3IodCl9fWZ1bmN0aW9uIFl6KCl7cmV0dXJuW119ZnVuY3Rpb24gWHoodCl7cmV0dXJuIG51bGw9PXQ/WXo6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yQWxsKHQpfX1mdW5jdGlvbiAkeih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXRjaGVzKHQpfX1mdW5jdGlvbiBLeih0KXtyZXR1cm4gbmV3IEFycmF5KHQubGVuZ3RoKX1mdW5jdGlvbiBaeih0LGUpe3RoaXMub3duZXJEb2N1bWVudD10Lm93bmVyRG9jdW1lbnQsdGhpcy5uYW1lc3BhY2VVUkk9dC5uYW1lc3BhY2VVUkksdGhpcy5fbmV4dD1udWxsLHRoaXMuX3BhcmVudD10LHRoaXMuX19kYXRhX189ZX1aei5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlp6LGFwcGVuZENoaWxkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsdGhpcy5fbmV4dCl9LGluc2VydEJlZm9yZTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsZSl9LHF1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yKHQpfSxxdWVyeVNlbGVjdG9yQWxsOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3RvckFsbCh0KX19O2Z1bmN0aW9uIEp6KHQsZSxuLGkscixvKXtmb3IodmFyIGEscz0wLGw9ZS5sZW5ndGgsYz1vLmxlbmd0aDtzPGM7KytzKShhPWVbc10pPyhhLl9fZGF0YV9fPW9bc10saVtzXT1hKTpuW3NdPW5ldyBaeih0LG9bc10pO2Zvcig7czxsOysrcykoYT1lW3NdKSYmKHJbc109YSl9ZnVuY3Rpb24gUXoodCxlLG4saSxyLG8sYSl7dmFyIHMsbCxjLHU9e30saD1lLmxlbmd0aCxkPW8ubGVuZ3RoLHA9bmV3IEFycmF5KGgpO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmKHBbc109Yz0iJCIrYS5jYWxsKGwsbC5fX2RhdGFfXyxzLGUpLGMgaW4gdT9yW3NdPWw6dVtjXT1sKTtmb3Iocz0wO3M8ZDsrK3MpKGw9dVtjPSIkIithLmNhbGwodCxvW3NdLHMsbyldKT8oaVtzXT1sLGwuX19kYXRhX189b1tzXSx1W2NdPW51bGwpOm5bc109bmV3IFp6KHQsb1tzXSk7Zm9yKHM9MDtzPGg7KytzKShsPWVbc10pJiZ1W3Bbc11dPT09bCYmKHJbc109bCl9ZnVuY3Rpb24gdEQodCxlKXtyZXR1cm4gdDxlPy0xOnQ+ZT8xOnQ+PWU/MDpOYU59ZnVuY3Rpb24gZUQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIG5EKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19ZnVuY3Rpb24gaUQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZSh0LGUpfX1mdW5jdGlvbiByRCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUpfX1mdW5jdGlvbiBvRCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCk6dGhpcy5zZXRBdHRyaWJ1dGUodCxuKX19ZnVuY3Rpb24gYUQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKTp0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxuKX19ZnVuY3Rpb24gc0QodCl7cmV0dXJuIHQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx0LmRvY3VtZW50JiZ0fHx0LmRlZmF1bHRWaWV3fWZ1bmN0aW9uIGxEKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9fWZ1bmN0aW9uIGNEKHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsZSxuKX19ZnVuY3Rpb24gdUQodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBpPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PWk/dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KTp0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsaSxuKX19ZnVuY3Rpb24gaEQodCxlKXtyZXR1cm4gdC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGUpfHxzRCh0KS5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShlKX1mdW5jdGlvbiBkRCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtkZWxldGUgdGhpc1t0XX19ZnVuY3Rpb24gcEQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzW3RdPWV9fWZ1bmN0aW9uIGZEKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09bj9kZWxldGUgdGhpc1t0XTp0aGlzW3RdPW59fWZ1bmN0aW9uIG1EKHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKX1mdW5jdGlvbiBnRCh0KXtyZXR1cm4gdC5jbGFzc0xpc3R8fG5ldyBfRCh0KX1mdW5jdGlvbiBfRCh0KXt0aGlzLl9ub2RlPXQsdGhpcy5fbmFtZXM9bUQodC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX1mdW5jdGlvbiB5RCh0LGUpe2Zvcih2YXIgbj1nRCh0KSxpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KW4uYWRkKGVbaV0pfWZ1bmN0aW9uIHZEKHQsZSl7Zm9yKHZhciBuPWdEKHQpLGk9LTEscj1lLmxlbmd0aDsrK2k8cjspbi5yZW1vdmUoZVtpXSl9ZnVuY3Rpb24gYkQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7eUQodGhpcyx0KX19ZnVuY3Rpb24geEQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dkQodGhpcyx0KX19ZnVuY3Rpb24gd0QodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXsoZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk/eUQ6dkQpKHRoaXMsdCl9fWZ1bmN0aW9uIFNEKCl7dGhpcy50ZXh0Q29udGVudD0iIn1mdW5jdGlvbiBNRCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnRleHRDb250ZW50PXR9fWZ1bmN0aW9uIEVEKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfX1mdW5jdGlvbiBURCgpe3RoaXMuaW5uZXJIVE1MPSIifWZ1bmN0aW9uIENEKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuaW5uZXJIVE1MPXR9fWZ1bmN0aW9uIEFEKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuaW5uZXJIVE1MPW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24ga0QoKXt0aGlzLm5leHRTaWJsaW5nJiZ0aGlzLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodGhpcyl9ZnVuY3Rpb24gTEQoKXt0aGlzLnByZXZpb3VzU2libGluZyYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLHRoaXMucGFyZW50Tm9kZS5maXJzdENoaWxkKX1mdW5jdGlvbiBQRCgpe3JldHVybiBudWxsfWZ1bmN0aW9uIE5EKCl7dmFyIHQ9dGhpcy5wYXJlbnROb2RlO3QmJnQucmVtb3ZlQ2hpbGQodGhpcyl9ZnVuY3Rpb24gSUQoKXt2YXIgdD10aGlzLmNsb25lTm9kZSghMSksZT10aGlzLnBhcmVudE5vZGU7cmV0dXJuIGU/ZS5pbnNlcnRCZWZvcmUodCx0aGlzLm5leHRTaWJsaW5nKTp0fWZ1bmN0aW9uIFJEKCl7dmFyIHQ9dGhpcy5jbG9uZU5vZGUoITApLGU9dGhpcy5wYXJlbnROb2RlO3JldHVybiBlP2UuaW5zZXJ0QmVmb3JlKHQsdGhpcy5uZXh0U2libGluZyk6dH1fRC5wcm90b3R5cGU9e2FkZDpmdW5jdGlvbih0KXt0aGlzLl9uYW1lcy5pbmRleE9mKHQpPDAmJih0aGlzLl9uYW1lcy5wdXNoKHQpLHRoaXMuX25vZGUuc2V0QXR0cmlidXRlKCJjbGFzcyIsdGhpcy5fbmFtZXMuam9pbigiICIpKSl9LHJlbW92ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9uYW1lcy5pbmRleE9mKHQpO2U+PTAmJih0aGlzLl9uYW1lcy5zcGxpY2UoZSwxKSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxjb250YWluczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbmFtZXMuaW5kZXhPZih0KT49MH19O3ZhciBPRD17fSx6RD1udWxsOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJigib25tb3VzZWVudGVyImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8KE9EPXttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0pKTtmdW5jdGlvbiBERCh0LGUsbil7cmV0dXJuIHQ9QkQodCxlLG4pLGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVsYXRlZFRhcmdldDtuJiYobj09PXRoaXN8fDgmbi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzKSl8fHQuY2FsbCh0aGlzLGUpfX1mdW5jdGlvbiBCRCh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKGkpe3ZhciByPXpEO3pEPWk7dHJ5e3QuY2FsbCh0aGlzLHRoaXMuX19kYXRhX18sZSxuKX1maW5hbGx5e3pEPXJ9fX1mdW5jdGlvbiBIRCh0KXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKChmdW5jdGlvbih0KXt2YXIgZT0iIixuPXQuaW5kZXhPZigiLiIpO3JldHVybiBuPj0wJiYoZT10LnNsaWNlKG4rMSksdD10LnNsaWNlKDAsbikpLHt0eXBlOnQsbmFtZTplfX0pKX1mdW5jdGlvbiBGRCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9fb247aWYoZSl7Zm9yKHZhciBuLGk9MCxyPS0xLG89ZS5sZW5ndGg7aTxvOysraSluPWVbaV0sdC50eXBlJiZuLnR5cGUhPT10LnR5cGV8fG4ubmFtZSE9PXQubmFtZT9lWysrcl09bjp0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIobi50eXBlLG4ubGlzdGVuZXIsbi5jYXB0dXJlKTsrK3I/ZS5sZW5ndGg9cjpkZWxldGUgdGhpcy5fX29ufX19ZnVuY3Rpb24gVkQodCxlLG4pe3ZhciBpPU9ELmhhc093blByb3BlcnR5KHQudHlwZSk/REQ6QkQ7cmV0dXJuIGZ1bmN0aW9uKHIsbyxhKXt2YXIgcyxsPXRoaXMuX19vbixjPWkoZSxvLGEpO2lmKGwpZm9yKHZhciB1PTAsaD1sLmxlbmd0aDt1PGg7Kyt1KWlmKChzPWxbdV0pLnR5cGU9PT10LnR5cGUmJnMubmFtZT09PXQubmFtZSlyZXR1cm4gdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKHMudHlwZSxzLmxpc3RlbmVyLHMuY2FwdHVyZSksdGhpcy5hZGRFdmVudExpc3RlbmVyKHMudHlwZSxzLmxpc3RlbmVyPWMscy5jYXB0dXJlPW4pLHZvaWQocy52YWx1ZT1lKTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIodC50eXBlLGMsbikscz17dHlwZTp0LnR5cGUsbmFtZTp0Lm5hbWUsdmFsdWU6ZSxsaXN0ZW5lcjpjLGNhcHR1cmU6bn0sbD9sLnB1c2gocyk6dGhpcy5fX29uPVtzXX19ZnVuY3Rpb24gVUQodCxlLG4pe3ZhciBpPXNEKHQpLHI9aS5DdXN0b21FdmVudDsiZnVuY3Rpb24iPT10eXBlb2Ygcj9yPW5ldyByKGUsbik6KHI9aS5kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSxuPyhyLmluaXRFdmVudChlLG4uYnViYmxlcyxuLmNhbmNlbGFibGUpLHIuZGV0YWlsPW4uZGV0YWlsKTpyLmluaXRFdmVudChlLCExLCExKSksdC5kaXNwYXRjaEV2ZW50KHIpfWZ1bmN0aW9uIGpEKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIFVEKHRoaXMsdCxlKX19ZnVuY3Rpb24gR0QodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gVUQodGhpcyx0LGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX19dmFyIFdEPVtudWxsXTtmdW5jdGlvbiBxRCh0LGUpe3RoaXMuX2dyb3Vwcz10LHRoaXMuX3BhcmVudHM9ZX1mdW5jdGlvbiBZRCgpe3JldHVybiBuZXcgcUQoW1tkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdXSxXRCl9ZnVuY3Rpb24gWEQodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P25ldyBxRChbW2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCldXSxbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSk6bmV3IHFEKFtbdF1dLFdEKX1mdW5jdGlvbiAkRCh0KXt2YXIgZT0oZnVuY3Rpb24gbigpe2Zvcih2YXIgdCxlPXpEO3Q9ZS5zb3VyY2VFdmVudDspZT10O3JldHVybiBlfSkoKTtyZXR1cm4gZS5jaGFuZ2VkVG91Y2hlcyYmKGU9ZS5jaGFuZ2VkVG91Y2hlc1swXSksKGZ1bmN0aW9uIGkodCxlKXt2YXIgbj10Lm93bmVyU1ZHRWxlbWVudHx8dDtpZihuLmNyZWF0ZVNWR1BvaW50KXt2YXIgaT1uLmNyZWF0ZVNWR1BvaW50KCk7cmV0dXJuIGkueD1lLmNsaWVudFgsaS55PWUuY2xpZW50WSxbKGk9aS5tYXRyaXhUcmFuc2Zvcm0odC5nZXRTY3JlZW5DVE0oKS5pbnZlcnNlKCkpKS54LGkueV19dmFyIHI9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm5bZS5jbGllbnRYLXIubGVmdC10LmNsaWVudExlZnQsZS5jbGllbnRZLXIudG9wLXQuY2xpZW50VG9wXX0pKHQsZSl9ZnVuY3Rpb24gS0QoKXt6RC5wcmV2ZW50RGVmYXVsdCgpLHpELnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIFpEKHQpe3ZhciBlPXQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG49WEQodCkub24oImRyYWdzdGFydC5kcmFnIixLRCwhMCk7Im9uc2VsZWN0c3RhcnQiaW4gZT9uLm9uKCJzZWxlY3RzdGFydC5kcmFnIixLRCwhMCk6KGUuX19ub3NlbGVjdD1lLnN0eWxlLk1velVzZXJTZWxlY3QsZS5zdHlsZS5Nb3pVc2VyU2VsZWN0PSJub25lIil9ZnVuY3Rpb24gSkQodCxlKXt2YXIgbj10LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxpPVhEKHQpLm9uKCJkcmFnc3RhcnQuZHJhZyIsbnVsbCk7ZSYmKGkub24oImNsaWNrLmRyYWciLEtELCEwKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2kub24oImNsaWNrLmRyYWciLG51bGwpfSksMCkpLCJvbnNlbGVjdHN0YXJ0ImluIG4/aS5vbigic2VsZWN0c3RhcnQuZHJhZyIsbnVsbCk6KG4uc3R5bGUuTW96VXNlclNlbGVjdD1uLl9fbm9zZWxlY3QsZGVsZXRlIG4uX19ub3NlbGVjdCl9ZnVuY3Rpb24gUUQodCxlLG4pe3QucHJvdG90eXBlPWUucHJvdG90eXBlPW4sbi5jb25zdHJ1Y3Rvcj10fWZ1bmN0aW9uIHRCKHQsZSl7dmFyIG49T2JqZWN0LmNyZWF0ZSh0LnByb3RvdHlwZSk7Zm9yKHZhciBpIGluIGUpbltpXT1lW2ldO3JldHVybiBufWZ1bmN0aW9uIGVCKCl7fXFELnByb3RvdHlwZT1ZRC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOnFELHNlbGVjdDpmdW5jdGlvbiBuQih0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9cXoodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPW5ldyBBcnJheShuKSxyPTA7cjxuOysrcilmb3IodmFyIG8sYSxzPWVbcl0sbD1zLmxlbmd0aCxjPWlbcl09bmV3IEFycmF5KGwpLHU9MDt1PGw7Kyt1KShvPXNbdV0pJiYoYT10LmNhbGwobyxvLl9fZGF0YV9fLHUscykpJiYoIl9fZGF0YV9fImluIG8mJihhLl9fZGF0YV9fPW8uX19kYXRhX18pLGNbdV09YSk7cmV0dXJuIG5ldyBxRChpLHRoaXMuX3BhcmVudHMpfSxzZWxlY3RBbGw6ZnVuY3Rpb24gaUIodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVh6KHQpKTtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49ZS5sZW5ndGgsaT1bXSxyPVtdLG89MDtvPG47KytvKWZvcih2YXIgYSxzPWVbb10sbD1zLmxlbmd0aCxjPTA7YzxsOysrYykoYT1zW2NdKSYmKGkucHVzaCh0LmNhbGwoYSxhLl9fZGF0YV9fLGMscykpLHIucHVzaChhKSk7cmV0dXJuIG5ldyBxRChpLHIpfSxmaWx0ZXI6ZnVuY3Rpb24gckIodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PSR6KHQpKTtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49ZS5sZW5ndGgsaT1uZXcgQXJyYXkobikscj0wO3I8bjsrK3IpZm9yKHZhciBvLGE9ZVtyXSxzPWEubGVuZ3RoLGw9aVtyXT1bXSxjPTA7YzxzOysrYykobz1hW2NdKSYmdC5jYWxsKG8sby5fX2RhdGFfXyxjLGEpJiZsLnB1c2gobyk7cmV0dXJuIG5ldyBxRChpLHRoaXMuX3BhcmVudHMpfSxkYXRhOmZ1bmN0aW9uIG9CKHQsZSl7aWYoIXQpcmV0dXJuIGY9bmV3IEFycmF5KHRoaXMuc2l6ZSgpKSx1PS0xLHRoaXMuZWFjaCgoZnVuY3Rpb24odCl7ZlsrK3VdPXR9KSksZjt2YXIgbj1lP1F6Okp6LGk9dGhpcy5fcGFyZW50cyxyPXRoaXMuX2dyb3VwczsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9KGZ1bmN0aW9uIG8odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkodCkpO2Zvcih2YXIgYT1yLmxlbmd0aCxzPW5ldyBBcnJheShhKSxsPW5ldyBBcnJheShhKSxjPW5ldyBBcnJheShhKSx1PTA7dTxhOysrdSl7dmFyIGg9aVt1XSxkPXJbdV0scD1kLmxlbmd0aCxmPXQuY2FsbChoLGgmJmguX19kYXRhX18sdSxpKSxtPWYubGVuZ3RoLGc9bFt1XT1uZXcgQXJyYXkobSksXz1zW3VdPW5ldyBBcnJheShtKTtuKGgsZCxnLF8sY1t1XT1uZXcgQXJyYXkocCksZixlKTtmb3IodmFyIHksdixiPTAseD0wO2I8bTsrK2IpaWYoeT1nW2JdKXtmb3IoYj49eCYmKHg9YisxKTshKHY9X1t4XSkmJisreDxtOyk7eS5fbmV4dD12fHxudWxsfX1yZXR1cm4ocz1uZXcgcUQocyxpKSkuX2VudGVyPWwscy5fZXhpdD1jLHN9LGVudGVyOmZ1bmN0aW9uIGFCKCl7cmV0dXJuIG5ldyBxRCh0aGlzLl9lbnRlcnx8dGhpcy5fZ3JvdXBzLm1hcChLeiksdGhpcy5fcGFyZW50cyl9LGV4aXQ6ZnVuY3Rpb24gc0IoKXtyZXR1cm4gbmV3IHFEKHRoaXMuX2V4aXR8fHRoaXMuX2dyb3Vwcy5tYXAoS3opLHRoaXMuX3BhcmVudHMpfSxqb2luOmZ1bmN0aW9uIGxCKHQsZSxuKXt2YXIgaT10aGlzLmVudGVyKCkscj10aGlzLG89dGhpcy5leGl0KCk7cmV0dXJuIGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dChpKTppLmFwcGVuZCh0KyIiKSxudWxsIT1lJiYocj1lKHIpKSxudWxsPT1uP28ucmVtb3ZlKCk6bihvKSxpJiZyP2kubWVyZ2Uocikub3JkZXIoKTpyfSxtZXJnZTpmdW5jdGlvbiBjQih0KXtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49dC5fZ3JvdXBzLGk9ZS5sZW5ndGgscj1NYXRoLm1pbihpLG4ubGVuZ3RoKSxvPW5ldyBBcnJheShpKSxhPTA7YTxyOysrYSlmb3IodmFyIHMsbD1lW2FdLGM9blthXSx1PWwubGVuZ3RoLGg9b1thXT1uZXcgQXJyYXkodSksZD0wO2Q8dTsrK2QpKHM9bFtkXXx8Y1tkXSkmJihoW2RdPXMpO2Zvcig7YTxpOysrYSlvW2FdPWVbYV07cmV0dXJuIG5ldyBxRChvLHRoaXMuX3BhcmVudHMpfSxvcmRlcjpmdW5jdGlvbiB1Qigpe2Zvcih2YXIgdD10aGlzLl9ncm91cHMsZT0tMSxuPXQubGVuZ3RoOysrZTxuOylmb3IodmFyIGkscj10W2VdLG89ci5sZW5ndGgtMSxhPXJbb107LS1vPj0wOykoaT1yW29dKSYmKGEmJjReaS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKSYmYS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShpLGEpLGE9aSk7cmV0dXJuIHRoaXN9LHNvcnQ6ZnVuY3Rpb24gaEIodCl7ZnVuY3Rpb24gZShlLG4pe3JldHVybiBlJiZuP3QoZS5fX2RhdGFfXyxuLl9fZGF0YV9fKTohZS0hbn10fHwodD10RCk7Zm9yKHZhciBuPXRoaXMuX2dyb3VwcyxpPW4ubGVuZ3RoLHI9bmV3IEFycmF5KGkpLG89MDtvPGk7KytvKXtmb3IodmFyIGEscz1uW29dLGw9cy5sZW5ndGgsYz1yW29dPW5ldyBBcnJheShsKSx1PTA7dTxsOysrdSkoYT1zW3VdKSYmKGNbdV09YSk7Yy5zb3J0KGUpfXJldHVybiBuZXcgcUQocix0aGlzLl9wYXJlbnRzKS5vcmRlcigpfSxjYWxsOmZ1bmN0aW9uIGRCKCl7dmFyIHQ9YXJndW1lbnRzWzBdO3JldHVybiBhcmd1bWVudHNbMF09dGhpcyx0LmFwcGx5KG51bGwsYXJndW1lbnRzKSx0aGlzfSxub2RlczpmdW5jdGlvbiBwQigpe3ZhciB0PW5ldyBBcnJheSh0aGlzLnNpemUoKSksZT0tMTtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3RbKytlXT10aGlzfSkpLHR9LG5vZGU6ZnVuY3Rpb24gZkIoKXtmb3IodmFyIHQ9dGhpcy5fZ3JvdXBzLGU9MCxuPXQubGVuZ3RoO2U8bjsrK2UpZm9yKHZhciBpPXRbZV0scj0wLG89aS5sZW5ndGg7cjxvOysrcil7dmFyIGE9aVtyXTtpZihhKXJldHVybiBhfXJldHVybiBudWxsfSxzaXplOmZ1bmN0aW9uIG1CKCl7dmFyIHQ9MDtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpeysrdH0pKSx0fSxlbXB0eTpmdW5jdGlvbiBnQigpe3JldHVybiF0aGlzLm5vZGUoKX0sZWFjaDpmdW5jdGlvbiBfQih0KXtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49MCxpPWUubGVuZ3RoO248aTsrK24pZm9yKHZhciByLG89ZVtuXSxhPTAscz1vLmxlbmd0aDthPHM7KythKShyPW9bYV0pJiZ0LmNhbGwocixyLl9fZGF0YV9fLGEsbyk7cmV0dXJuIHRoaXN9LGF0dHI6ZnVuY3Rpb24geUIodCxlKXt2YXIgbj1Weih0KTtpZihhcmd1bWVudHMubGVuZ3RoPDIpe3ZhciBpPXRoaXMubm9kZSgpO3JldHVybiBuLmxvY2FsP2kuZ2V0QXR0cmlidXRlTlMobi5zcGFjZSxuLmxvY2FsKTppLmdldEF0dHJpYnV0ZShuKX1yZXR1cm4gdGhpcy5lYWNoKChudWxsPT1lP24ubG9jYWw/bkQ6ZUQ6ImZ1bmN0aW9uIj09dHlwZW9mIGU/bi5sb2NhbD9hRDpvRDpuLmxvY2FsP3JEOmlEKShuLGUpKX0sc3R5bGU6ZnVuY3Rpb24gdkIodCxlLG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/dGhpcy5lYWNoKChudWxsPT1lP2xEOiJmdW5jdGlvbiI9PXR5cGVvZiBlP3VEOmNEKSh0LGUsbnVsbD09bj8iIjpuKSk6aEQodGhpcy5ub2RlKCksdCl9LHByb3BlcnR5OmZ1bmN0aW9uIGJCKHQsZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goKG51bGw9PWU/ZEQ6ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZkQ6cEQpKHQsZSkpOnRoaXMubm9kZSgpW3RdfSxjbGFzc2VkOmZ1bmN0aW9uIHhCKHQsZSl7dmFyIG49bUQodCsiIik7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXtmb3IodmFyIGk9Z0QodGhpcy5ub2RlKCkpLHI9LTEsbz1uLmxlbmd0aDsrK3I8bzspaWYoIWkuY29udGFpbnMobltyXSkpcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuIHRoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIGU/d0Q6ZT9iRDp4RCkobixlKSl9LHRleHQ6ZnVuY3Rpb24gd0IodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKG51bGw9PXQ/U0Q6KCJmdW5jdGlvbiI9PXR5cGVvZiB0P0VEOk1EKSh0KSk6dGhpcy5ub2RlKCkudGV4dENvbnRlbnR9LGh0bWw6ZnVuY3Rpb24gU0IodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKG51bGw9PXQ/VEQ6KCJmdW5jdGlvbiI9PXR5cGVvZiB0P0FEOkNEKSh0KSk6dGhpcy5ub2RlKCkuaW5uZXJIVE1MfSxyYWlzZTpmdW5jdGlvbiBNQigpe3JldHVybiB0aGlzLmVhY2goa0QpfSxsb3dlcjpmdW5jdGlvbiBFQigpe3JldHVybiB0aGlzLmVhY2goTEQpfSxhcHBlbmQ6ZnVuY3Rpb24gVEIodCl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpHeih0KTtyZXR1cm4gdGhpcy5zZWxlY3QoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXBwZW5kQ2hpbGQoZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSkpfSxpbnNlcnQ6ZnVuY3Rpb24gQ0IodCxlKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgdD90Okd6KHQpLGk9bnVsbD09ZT9QRDoiZnVuY3Rpb24iPT10eXBlb2YgZT9lOnF6KGUpO3JldHVybiB0aGlzLnNlbGVjdCgoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbnNlcnRCZWZvcmUobi5hcHBseSh0aGlzLGFyZ3VtZW50cyksaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fG51bGwpfSkpfSxyZW1vdmU6ZnVuY3Rpb24gQUIoKXtyZXR1cm4gdGhpcy5lYWNoKE5EKX0sY2xvbmU6ZnVuY3Rpb24ga0IodCl7cmV0dXJuIHRoaXMuc2VsZWN0KHQ/UkQ6SUQpfSxkYXR1bTpmdW5jdGlvbiBMQih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLnByb3BlcnR5KCJfX2RhdGFfXyIsdCk6dGhpcy5ub2RlKCkuX19kYXRhX199LG9uOmZ1bmN0aW9uIFBCKHQsZSxuKXt2YXIgaSxyLG89SEQodCsiIiksYT1vLmxlbmd0aDtpZighKGFyZ3VtZW50cy5sZW5ndGg8Mikpe2ZvcihzPWU/VkQ6RkQsbnVsbD09biYmKG49ITEpLGk9MDtpPGE7KytpKXRoaXMuZWFjaChzKG9baV0sZSxuKSk7cmV0dXJuIHRoaXN9dmFyIHM9dGhpcy5ub2RlKCkuX19vbjtpZihzKWZvcih2YXIgbCxjPTAsdT1zLmxlbmd0aDtjPHU7KytjKWZvcihpPTAsbD1zW2NdO2k8YTsrK2kpaWYoKHI9b1tpXSkudHlwZT09PWwudHlwZSYmci5uYW1lPT09bC5uYW1lKXJldHVybiBsLnZhbHVlfSxkaXNwYXRjaDpmdW5jdGlvbiBOQih0LGUpe3JldHVybiB0aGlzLmVhY2goKCJmdW5jdGlvbiI9PXR5cGVvZiBlP0dEOmpEKSh0LGUpKX19O3ZhciBJQj0uNyxSQj0xL0lCLE9CPSJcXHMqKFsrLV0/XFxkKylcXHMqIix6Qj0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPylcXHMqIixEQj0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPyklXFxzKiIsQkI9L14jKFswLTlhLWZdezMsOH0pJC8sSEI9bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW09CLE9CLE9CXSsiXFwpJCIpLEZCPW5ldyBSZWdFeHAoIl5yZ2JcXCgiK1tEQixEQixEQl0rIlxcKSQiKSxWQj1uZXcgUmVnRXhwKCJecmdiYVxcKCIrW09CLE9CLE9CLHpCXSsiXFwpJCIpLFVCPW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbREIsREIsREIsekJdKyJcXCkkIiksakI9bmV3IFJlZ0V4cCgiXmhzbFxcKCIrW3pCLERCLERCXSsiXFwpJCIpLEdCPW5ldyBSZWdFeHAoIl5oc2xhXFwoIitbekIsREIsREIsekJdKyJcXCkkIiksV0I9e2FsaWNlYmx1ZToxNTc5MjM4MyxhbnRpcXVld2hpdGU6MTY0NDQzNzUsYXF1YTo2NTUzNSxhcXVhbWFyaW5lOjgzODg1NjQsYXp1cmU6MTU3OTQxNzUsYmVpZ2U6MTYxMTkyNjAsYmlzcXVlOjE2NzcwMjQ0LGJsYWNrOjAsYmxhbmNoZWRhbG1vbmQ6MTY3NzIwNDUsYmx1ZToyNTUsYmx1ZXZpb2xldDo5MDU1MjAyLGJyb3duOjEwODI0MjM0LGJ1cmx5d29vZDoxNDU5NjIzMSxjYWRldGJsdWU6NjI2NjUyOCxjaGFydHJldXNlOjgzODgzNTIsY2hvY29sYXRlOjEzNzg5NDcwLGNvcmFsOjE2NzQ0MjcyLGNvcm5mbG93ZXJibHVlOjY1OTE5ODEsY29ybnNpbGs6MTY3NzUzODgsY3JpbXNvbjoxNDQyMzEwMCxjeWFuOjY1NTM1LGRhcmtibHVlOjEzOSxkYXJrY3lhbjozNTcyMyxkYXJrZ29sZGVucm9kOjEyMDkyOTM5LGRhcmtncmF5OjExMTE5MDE3LGRhcmtncmVlbjoyNTYwMCxkYXJrZ3JleToxMTExOTAxNyxkYXJra2hha2k6MTI0MzMyNTksZGFya21hZ2VudGE6OTEwOTY0MyxkYXJrb2xpdmVncmVlbjo1NTk3OTk5LGRhcmtvcmFuZ2U6MTY3NDc1MjAsZGFya29yY2hpZDoxMDA0MDAxMixkYXJrcmVkOjkxMDk1MDQsZGFya3NhbG1vbjoxNTMwODQxMCxkYXJrc2VhZ3JlZW46OTQxOTkxOSxkYXJrc2xhdGVibHVlOjQ3MzQzNDcsZGFya3NsYXRlZ3JheTozMTAwNDk1LGRhcmtzbGF0ZWdyZXk6MzEwMDQ5NSxkYXJrdHVycXVvaXNlOjUyOTQ1LGRhcmt2aW9sZXQ6OTY5OTUzOSxkZWVwcGluazoxNjcxNjk0NyxkZWVwc2t5Ymx1ZTo0OTE1MSxkaW1ncmF5OjY5MDgyNjUsZGltZ3JleTo2OTA4MjY1LGRvZGdlcmJsdWU6MjAwMzE5OSxmaXJlYnJpY2s6MTE2NzQxNDYsZmxvcmFsd2hpdGU6MTY3NzU5MjAsZm9yZXN0Z3JlZW46MjI2Mzg0MixmdWNoc2lhOjE2NzExOTM1LGdhaW5zYm9ybzoxNDQ3NDQ2MCxnaG9zdHdoaXRlOjE2MzE2NjcxLGdvbGQ6MTY3NjY3MjAsZ29sZGVucm9kOjE0MzI5MTIwLGdyYXk6ODQyMTUwNCxncmVlbjozMjc2OCxncmVlbnllbGxvdzoxMTQwMzA1NSxncmV5Ojg0MjE1MDQsaG9uZXlkZXc6MTU3OTQxNjAsaG90cGluazoxNjczODc0MCxpbmRpYW5yZWQ6MTM0NTg1MjQsaW5kaWdvOjQ5MTUzMzAsaXZvcnk6MTY3NzcyMDAsa2hha2k6MTU3ODc2NjAsbGF2ZW5kZXI6MTUxMzI0MTAsbGF2ZW5kZXJibHVzaDoxNjc3MzM2NSxsYXduZ3JlZW46ODE5MDk3NixsZW1vbmNoaWZmb246MTY3NzU4ODUsbGlnaHRibHVlOjExMzkzMjU0LGxpZ2h0Y29yYWw6MTU3NjE1MzYsbGlnaHRjeWFuOjE0NzQ1NTk5LGxpZ2h0Z29sZGVucm9keWVsbG93OjE2NDQ4MjEwLGxpZ2h0Z3JheToxMzg4MjMyMyxsaWdodGdyZWVuOjk0OTgyNTYsbGlnaHRncmV5OjEzODgyMzIzLGxpZ2h0cGluazoxNjc1ODQ2NSxsaWdodHNhbG1vbjoxNjc1Mjc2MixsaWdodHNlYWdyZWVuOjIxNDI4OTAsbGlnaHRza3libHVlOjg5MDAzNDYsbGlnaHRzbGF0ZWdyYXk6NzgzMzc1MyxsaWdodHNsYXRlZ3JleTo3ODMzNzUzLGxpZ2h0c3RlZWxibHVlOjExNTg0NzM0LGxpZ2h0eWVsbG93OjE2Nzc3MTg0LGxpbWU6NjUyODAsbGltZWdyZWVuOjMzMjkzMzAsbGluZW46MTY0NDU2NzAsbWFnZW50YToxNjcxMTkzNSxtYXJvb246ODM4ODYwOCxtZWRpdW1hcXVhbWFyaW5lOjY3MzczMjIsbWVkaXVtYmx1ZToyMDUsbWVkaXVtb3JjaGlkOjEyMjExNjY3LG1lZGl1bXB1cnBsZTo5NjYyNjgzLG1lZGl1bXNlYWdyZWVuOjM5NzgwOTcsbWVkaXVtc2xhdGVibHVlOjgwODc3OTAsbWVkaXVtc3ByaW5nZ3JlZW46NjQxNTQsbWVkaXVtdHVycXVvaXNlOjQ3NzIzMDAsbWVkaXVtdmlvbGV0cmVkOjEzMDQ3MTczLG1pZG5pZ2h0Ymx1ZToxNjQ0OTEyLG1pbnRjcmVhbToxNjEyMTg1MCxtaXN0eXJvc2U6MTY3NzAyNzMsbW9jY2FzaW46MTY3NzAyMjksbmF2YWpvd2hpdGU6MTY3Njg2ODUsbmF2eToxMjgsb2xkbGFjZToxNjY0MzU1OCxvbGl2ZTo4NDIxMzc2LG9saXZlZHJhYjo3MDQ4NzM5LG9yYW5nZToxNjc1MzkyMCxvcmFuZ2VyZWQ6MTY3MjkzNDQsb3JjaGlkOjE0MzE1NzM0LHBhbGVnb2xkZW5yb2Q6MTU2NTcxMzAscGFsZWdyZWVuOjEwMDI1ODgwLHBhbGV0dXJxdW9pc2U6MTE1Mjk5NjYscGFsZXZpb2xldHJlZDoxNDM4MTIwMyxwYXBheWF3aGlwOjE2NzczMDc3LHBlYWNocHVmZjoxNjc2NzY3MyxwZXJ1OjEzNDY4OTkxLHBpbms6MTY3NjEwMzUscGx1bToxNDUyNDYzNyxwb3dkZXJibHVlOjExNTkxOTEwLHB1cnBsZTo4Mzg4NzM2LHJlYmVjY2FwdXJwbGU6NjY5Nzg4MSxyZWQ6MTY3MTE2ODAscm9zeWJyb3duOjEyMzU3NTE5LHJveWFsYmx1ZTo0Mjg2OTQ1LHNhZGRsZWJyb3duOjkxMjcxODcsc2FsbW9uOjE2NDE2ODgyLHNhbmR5YnJvd246MTYwMzI4NjQsc2VhZ3JlZW46MzA1MDMyNyxzZWFzaGVsbDoxNjc3NDYzOCxzaWVubmE6MTA1MDY3OTcsc2lsdmVyOjEyNjMyMjU2LHNreWJsdWU6ODkwMDMzMSxzbGF0ZWJsdWU6Njk3MDA2MSxzbGF0ZWdyYXk6NzM3Mjk0NCxzbGF0ZWdyZXk6NzM3Mjk0NCxzbm93OjE2Nzc1OTMwLHNwcmluZ2dyZWVuOjY1NDA3LHN0ZWVsYmx1ZTo0NjIwOTgwLHRhbjoxMzgwODc4MCx0ZWFsOjMyODk2LHRoaXN0bGU6MTQyMDQ4ODgsdG9tYXRvOjE2NzM3MDk1LHR1cnF1b2lzZTo0MjUxODU2LHZpb2xldDoxNTYzMTA4Nix3aGVhdDoxNjExMzMzMSx3aGl0ZToxNjc3NzIxNSx3aGl0ZXNtb2tlOjE2MTE5Mjg1LHllbGxvdzoxNjc3Njk2MCx5ZWxsb3dncmVlbjoxMDE0NTA3NH07ZnVuY3Rpb24gcUIoKXtyZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRIZXgoKX1mdW5jdGlvbiBZQigpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdFJnYigpfWZ1bmN0aW9uIFhCKHQpe3ZhciBlLG47cmV0dXJuIHQ9KHQrIiIpLnRyaW0oKS50b0xvd2VyQ2FzZSgpLChlPUJCLmV4ZWModCkpPyhuPWVbMV0ubGVuZ3RoLGU9cGFyc2VJbnQoZVsxXSwxNiksNj09PW4/JEIoZSk6Mz09PW4/bmV3IFFCKGU+PjgmMTV8ZT4+NCYyNDAsZT4+NCYxNXwyNDAmZSwoMTUmZSk8PDR8MTUmZSwxKTo4PT09bj9LQihlPj4yNCYyNTUsZT4+MTYmMjU1LGU+PjgmMjU1LCgyNTUmZSkvMjU1KTo0PT09bj9LQihlPj4xMiYxNXxlPj44JjI0MCxlPj44JjE1fGU+PjQmMjQwLGU+PjQmMTV8MjQwJmUsKCgxNSZlKTw8NHwxNSZlKS8yNTUpOm51bGwpOihlPUhCLmV4ZWModCkpP25ldyBRQihlWzFdLGVbMl0sZVszXSwxKTooZT1GQi5leGVjKHQpKT9uZXcgUUIoMjU1KmVbMV0vMTAwLDI1NSplWzJdLzEwMCwyNTUqZVszXS8xMDAsMSk6KGU9VkIuZXhlYyh0KSk/S0IoZVsxXSxlWzJdLGVbM10sZVs0XSk6KGU9VUIuZXhlYyh0KSk/S0IoMjU1KmVbMV0vMTAwLDI1NSplWzJdLzEwMCwyNTUqZVszXS8xMDAsZVs0XSk6KGU9akIuZXhlYyh0KSk/aUgoZVsxXSxlWzJdLzEwMCxlWzNdLzEwMCwxKTooZT1HQi5leGVjKHQpKT9pSChlWzFdLGVbMl0vMTAwLGVbM10vMTAwLGVbNF0pOldCLmhhc093blByb3BlcnR5KHQpPyRCKFdCW3RdKToidHJhbnNwYXJlbnQiPT09dD9uZXcgUUIoTmFOLE5hTixOYU4sMCk6bnVsbH1mdW5jdGlvbiAkQih0KXtyZXR1cm4gbmV3IFFCKHQ+PjE2JjI1NSx0Pj44JjI1NSwyNTUmdCwxKX1mdW5jdGlvbiBLQih0LGUsbixpKXtyZXR1cm4gaTw9MCYmKHQ9ZT1uPU5hTiksbmV3IFFCKHQsZSxuLGkpfWZ1bmN0aW9uIFpCKHQpe3JldHVybiB0IGluc3RhbmNlb2YgZUJ8fCh0PVhCKHQpKSx0P25ldyBRQigodD10LnJnYigpKS5yLHQuZyx0LmIsdC5vcGFjaXR5KTpuZXcgUUJ9ZnVuY3Rpb24gSkIodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP1pCKHQpOm5ldyBRQih0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24gUUIodCxlLG4saSl7dGhpcy5yPSt0LHRoaXMuZz0rZSx0aGlzLmI9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIHRIKCl7cmV0dXJuIiMiK25IKHRoaXMucikrbkgodGhpcy5nKStuSCh0aGlzLmIpfWZ1bmN0aW9uIGVIKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8icmdiKCI6InJnYmEoIikrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLnIpfHwwKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMuZyl8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5iKXx8MCkpKygxPT09dD8iKSI6IiwgIit0KyIpIil9ZnVuY3Rpb24gbkgodCl7cmV0dXJuKCh0PU1hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodCl8fDApKSk8MTY/IjAiOiIiKSt0LnRvU3RyaW5nKDE2KX1mdW5jdGlvbiBpSCh0LGUsbixpKXtyZXR1cm4gaTw9MD90PWU9bj1OYU46bjw9MHx8bj49MT90PWU9TmFOOmU8PTAmJih0PU5hTiksbmV3IG9IKHQsZSxuLGkpfWZ1bmN0aW9uIHJIKHQpe2lmKHQgaW5zdGFuY2VvZiBvSClyZXR1cm4gbmV3IG9IKHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIGVCfHwodD1YQih0KSksIXQpcmV0dXJuIG5ldyBvSDtpZih0IGluc3RhbmNlb2Ygb0gpcmV0dXJuIHQ7dmFyIGU9KHQ9dC5yZ2IoKSkuci8yNTUsbj10LmcvMjU1LGk9dC5iLzI1NSxyPU1hdGgubWluKGUsbixpKSxvPU1hdGgubWF4KGUsbixpKSxhPU5hTixzPW8tcixsPShvK3IpLzI7cmV0dXJuIHM/KGE9ZT09PW8/KG4taSkvcys2KihuPGkpOm49PT1vPyhpLWUpL3MrMjooZS1uKS9zKzQscy89bDwuNT9vK3I6Mi1vLXIsYSo9NjApOnM9bD4wJiZsPDE/MDphLG5ldyBvSChhLHMsbCx0Lm9wYWNpdHkpfWZ1bmN0aW9uIG9IKHQsZSxuLGkpe3RoaXMuaD0rdCx0aGlzLnM9K2UsdGhpcy5sPStuLHRoaXMub3BhY2l0eT0raX1mdW5jdGlvbiBhSCh0LGUsbil7cmV0dXJuIDI1NSoodDw2MD9lKyhuLWUpKnQvNjA6dDwxODA/bjp0PDI0MD9lKyhuLWUpKigyNDAtdCkvNjA6ZSl9ZnVuY3Rpb24gc0godCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIGxIKHQpe3JldHVybiAxPT0odD0rdCk/Y0g6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbi1lPyhmdW5jdGlvbiBpKHQsZSxuKXtyZXR1cm4gdD1NYXRoLnBvdyh0LG4pLGU9TWF0aC5wb3coZSxuKS10LG49MS9uLGZ1bmN0aW9uKGkpe3JldHVybiBNYXRoLnBvdyh0K2kqZSxuKX19KShlLG4sdCk6c0goaXNOYU4oZSk/bjplKX19ZnVuY3Rpb24gY0godCxlKXt2YXIgbj1lLXQ7cmV0dXJuIG4/KGZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHQrbiplfX0pKHQsbik6c0goaXNOYU4odCk/ZTp0KX1RRChlQixYQix7Y29weTpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgdGhpcy5jb25zdHJ1Y3Rvcix0aGlzLHQpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJnYigpLmRpc3BsYXlhYmxlKCl9LGhleDpxQixmb3JtYXRIZXg6cUIsZm9ybWF0SHNsOmZ1bmN0aW9uIHVIKCl7cmV0dXJuIHJIKHRoaXMpLmZvcm1hdEhzbCgpfSxmb3JtYXRSZ2I6WUIsdG9TdHJpbmc6WUJ9KSxRRChRQixKQix0QihlQix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9SQjpNYXRoLnBvdyhSQix0KSxuZXcgUUIodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/SUI6TWF0aC5wb3coSUIsdCksbmV3IFFCKHRoaXMucip0LHRoaXMuZyp0LHRoaXMuYip0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3JldHVybiB0aGlzfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybi0uNTw9dGhpcy5yJiZ0aGlzLnI8MjU1LjUmJi0uNTw9dGhpcy5nJiZ0aGlzLmc8MjU1LjUmJi0uNTw9dGhpcy5iJiZ0aGlzLmI8MjU1LjUmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxoZXg6dEgsZm9ybWF0SGV4OnRILGZvcm1hdFJnYjplSCx0b1N0cmluZzplSH0pKSxRRChvSCwoZnVuY3Rpb24gaEgodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3JIKHQpOm5ldyBvSCh0LGUsbixudWxsPT1pPzE6aSl9KSx0QihlQix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9SQjpNYXRoLnBvdyhSQix0KSxuZXcgb0godGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9JQjpNYXRoLnBvdyhJQix0KSxuZXcgb0godGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmglMzYwKzM2MCoodGhpcy5oPDApLGU9aXNOYU4odCl8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsbj10aGlzLmwsaT1uKyhuPC41P246MS1uKSplLHI9MipuLWk7cmV0dXJuIG5ldyBRQihhSCh0Pj0yNDA/dC0yNDA6dCsxMjAscixpKSxhSCh0LHIsaSksYUgodDwxMjA/dCsyNDA6dC0xMjAscixpKSx0aGlzLm9wYWNpdHkpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sZm9ybWF0SHNsOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8iaHNsKCI6ImhzbGEoIikrKHRoaXMuaHx8MCkrIiwgIisxMDAqKHRoaXMuc3x8MCkrIiUsICIrMTAwKih0aGlzLmx8fDApKyIlIisoMT09PXQ/IikiOiIsICIrdCsiKSIpfX0pKTt2YXIgZEg9KGZ1bmN0aW9uIHQoZSl7dmFyIG49bEgoZSk7ZnVuY3Rpb24gaSh0LGUpe3ZhciBpPW4oKHQ9SkIodCkpLnIsKGU9SkIoZSkpLnIpLHI9bih0LmcsZS5nKSxvPW4odC5iLGUuYiksYT1jSCh0Lm9wYWNpdHksZS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQucj1pKGUpLHQuZz1yKGUpLHQuYj1vKGUpLHQub3BhY2l0eT1hKGUpLHQrIiJ9fXJldHVybiBpLmdhbW1hPXQsaX0pKDEpO2Z1bmN0aW9uIHBIKHQsZSl7ZXx8KGU9W10pO3ZhciBuLGk9dD9NYXRoLm1pbihlLmxlbmd0aCx0Lmxlbmd0aCk6MCxyPWUuc2xpY2UoKTtyZXR1cm4gZnVuY3Rpb24obyl7Zm9yKG49MDtuPGk7KytuKXJbbl09dFtuXSooMS1vKStlW25dKm87cmV0dXJuIHJ9fWZ1bmN0aW9uIGZIKHQsZSl7dmFyIG4saT1lP2UubGVuZ3RoOjAscj10P01hdGgubWluKGksdC5sZW5ndGgpOjAsbz1uZXcgQXJyYXkociksYT1uZXcgQXJyYXkoaSk7Zm9yKG49MDtuPHI7KytuKW9bbl09eEgodFtuXSxlW25dKTtmb3IoO248aTsrK24pYVtuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3Iobj0wO248cjsrK24pYVtuXT1vW25dKHQpO3JldHVybiBhfX1mdW5jdGlvbiBtSCh0LGUpe3ZhciBuPW5ldyBEYXRlO3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24oaSl7cmV0dXJuIG4uc2V0VGltZSh0KigxLWkpK2UqaSksbn19ZnVuY3Rpb24gZ0godCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiB0KigxLW4pK2Uqbn19ZnVuY3Rpb24gX0godCxlKXt2YXIgbixpPXt9LHI9e307Zm9yKG4gaW4gbnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdHx8KHQ9e30pLG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGV8fChlPXt9KSxlKW4gaW4gdD9pW25dPXhIKHRbbl0sZVtuXSk6cltuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3IobiBpbiBpKXJbbl09aVtuXSh0KTtyZXR1cm4gcn19dmFyIHlIPS9bLStdPyg/OlxkK1wuP1xkKnxcLj9cZCspKD86W2VFXVstK10/XGQrKT8vZyx2SD1uZXcgUmVnRXhwKHlILnNvdXJjZSwiZyIpO2Z1bmN0aW9uIGJIKHQsZSl7dmFyIG4saSxyLG89eUgubGFzdEluZGV4PXZILmxhc3RJbmRleD0wLGE9LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsobj15SC5leGVjKHQpKSYmKGk9dkguZXhlYyhlKSk7KShyPWkuaW5kZXgpPm8mJihyPWUuc2xpY2UobyxyKSxzW2FdP3NbYV0rPXI6c1srK2FdPXIpLChuPW5bMF0pPT09KGk9aVswXSk/c1thXT9zW2FdKz1pOnNbKythXT1pOihzWysrYV09bnVsbCxsLnB1c2goe2k6YSx4OmdIKG4saSl9KSksbz12SC5sYXN0SW5kZXg7cmV0dXJuIG88ZS5sZW5ndGgmJihyPWUuc2xpY2Uobyksc1thXT9zW2FdKz1yOnNbKythXT1yKSxzLmxlbmd0aDwyP2xbMF0/KGZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpKyIifX0pKGxbMF0ueCk6KGZ1bmN0aW9uIHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkoZSk6KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciBuLGk9MDtpPGU7KytpKXNbKG49bFtpXSkuaV09bi54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9ZnVuY3Rpb24geEgodCxlKXt2YXIgbixpPXR5cGVvZiBlO3JldHVybiBudWxsPT1lfHwiYm9vbGVhbiI9PT1pP3NIKGUpOigibnVtYmVyIj09PWk/Z0g6InN0cmluZyI9PT1pPyhuPVhCKGUpKT8oZT1uLGRIKTpiSDplIGluc3RhbmNlb2YgWEI/ZEg6ZSBpbnN0YW5jZW9mIERhdGU/bUg6KGZ1bmN0aW9uIHIodCl7cmV0dXJuIEFycmF5QnVmZmVyLmlzVmlldyh0KSYmISh0IGluc3RhbmNlb2YgRGF0YVZpZXcpfSkoZSk/cEg6QXJyYXkuaXNBcnJheShlKT9mSDoiZnVuY3Rpb24iIT10eXBlb2YgZS52YWx1ZU9mJiYiZnVuY3Rpb24iIT10eXBlb2YgZS50b1N0cmluZ3x8aXNOYU4oZSk/X0g6Z0gpKHQsZSl9dmFyIHdILFNILE1ILEVILFRIPTE4MC9NYXRoLlBJLENIPXt0cmFuc2xhdGVYOjAsdHJhbnNsYXRlWTowLHJvdGF0ZTowLHNrZXdYOjAsc2NhbGVYOjEsc2NhbGVZOjF9O2Z1bmN0aW9uIEFIKHQsZSxuLGkscixvKXt2YXIgYSxzLGw7cmV0dXJuKGE9TWF0aC5zcXJ0KHQqdCtlKmUpKSYmKHQvPWEsZS89YSksKGw9dCpuK2UqaSkmJihuLT10KmwsaS09ZSpsKSwocz1NYXRoLnNxcnQobipuK2kqaSkpJiYobi89cyxpLz1zLGwvPXMpLHQqaTxlKm4mJih0PS10LGU9LWUsbD0tbCxhPS1hKSx7dHJhbnNsYXRlWDpyLHRyYW5zbGF0ZVk6byxyb3RhdGU6TWF0aC5hdGFuMihlLHQpKlRILHNrZXdYOk1hdGguYXRhbihsKSpUSCxzY2FsZVg6YSxzY2FsZVk6c319ZnVuY3Rpb24ga0godCxlLG4saSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5sZW5ndGg/dC5wb3AoKSsiICI6IiJ9cmV0dXJuIGZ1bmN0aW9uKG8sYSl7dmFyIHM9W10sbD1bXTtyZXR1cm4gbz10KG8pLGE9dChhKSwoZnVuY3Rpb24gYyh0LGkscixvLGEscyl7aWYodCE9PXJ8fGkhPT1vKXt2YXIgbD1hLnB1c2goInRyYW5zbGF0ZSgiLG51bGwsZSxudWxsLG4pO3MucHVzaCh7aTpsLTQseDpnSCh0LHIpfSx7aTpsLTIseDpnSChpLG8pfSl9ZWxzZShyfHxvKSYmYS5wdXNoKCJ0cmFuc2xhdGUoIityK2UrbytuKX0pKG8udHJhbnNsYXRlWCxvLnRyYW5zbGF0ZVksYS50cmFuc2xhdGVYLGEudHJhbnNsYXRlWSxzLGwpLChmdW5jdGlvbiB1KHQsZSxuLG8pe3QhPT1lPyh0LWU+MTgwP2UrPTM2MDplLXQ+MTgwJiYodCs9MzYwKSxvLnB1c2goe2k6bi5wdXNoKHIobikrInJvdGF0ZSgiLG51bGwsaSktMix4OmdIKHQsZSl9KSk6ZSYmbi5wdXNoKHIobikrInJvdGF0ZSgiK2UraSl9KShvLnJvdGF0ZSxhLnJvdGF0ZSxzLGwpLChmdW5jdGlvbiBoKHQsZSxuLG8pe3QhPT1lP28ucHVzaCh7aTpuLnB1c2gocihuKSsic2tld1goIixudWxsLGkpLTIseDpnSCh0LGUpfSk6ZSYmbi5wdXNoKHIobikrInNrZXdYKCIrZStpKX0pKG8uc2tld1gsYS5za2V3WCxzLGwpLChmdW5jdGlvbiBkKHQsZSxuLGksbyxhKXtpZih0IT09bnx8ZSE9PWkpe3ZhciBzPW8ucHVzaChyKG8pKyJzY2FsZSgiLG51bGwsIiwiLG51bGwsIikiKTthLnB1c2goe2k6cy00LHg6Z0godCxuKX0se2k6cy0yLHg6Z0goZSxpKX0pfWVsc2UgMT09PW4mJjE9PT1pfHxvLnB1c2gocihvKSsic2NhbGUoIituKyIsIitpKyIpIil9KShvLnNjYWxlWCxvLnNjYWxlWSxhLnNjYWxlWCxhLnNjYWxlWSxzLGwpLG89YT1udWxsLGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPS0xLGk9bC5sZW5ndGg7KytuPGk7KXNbKGU9bFtuXSkuaV09ZS54KHQpO3JldHVybiBzLmpvaW4oIiIpfX19dmFyIExILFBILE5IPWtIKChmdW5jdGlvbiBJSCh0KXtyZXR1cm4ibm9uZSI9PT10P0NIOih3SHx8KHdIPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpLFNIPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxNSD1kb2N1bWVudC5kZWZhdWx0Vmlldyksd0guc3R5bGUudHJhbnNmb3JtPXQsdD1NSC5nZXRDb21wdXRlZFN0eWxlKFNILmFwcGVuZENoaWxkKHdIKSxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJ0cmFuc2Zvcm0iKSxTSC5yZW1vdmVDaGlsZCh3SCksQUgoKyh0PXQuc2xpY2UoNywtMSkuc3BsaXQoIiwiKSlbMF0sK3RbMV0sK3RbMl0sK3RbM10sK3RbNF0sK3RbNV0pKX0pLCJweCwgIiwicHgpIiwiZGVnKSIpLFJIPWtIKChmdW5jdGlvbiBPSCh0KXtyZXR1cm4gbnVsbD09dD9DSDooRUh8fChFSD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpKSxFSC5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsdCksKHQ9RUgudHJhbnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKSk/QUgoKHQ9dC5tYXRyaXgpLmEsdC5iLHQuYyx0LmQsdC5lLHQuZik6Q0gpfSksIiwgIiwiKSIsIikiKSx6SD0wLERIPTAsQkg9MCxISD0wLEZIPTAsVkg9MCxVSD0ib2JqZWN0Ij09dHlwZW9mIHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5ub3c/cGVyZm9ybWFuY2U6RGF0ZSxqSD0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KTpmdW5jdGlvbih0KXtzZXRUaW1lb3V0KHQsMTcpfTtmdW5jdGlvbiBHSCgpe3JldHVybiBGSHx8KGpIKFdIKSxGSD1VSC5ub3coKStWSCl9ZnVuY3Rpb24gV0goKXtGSD0wfWZ1bmN0aW9uIHFIKCl7dGhpcy5fY2FsbD10aGlzLl90aW1lPXRoaXMuX25leHQ9bnVsbH1mdW5jdGlvbiBZSCh0LGUsbil7dmFyIGk9bmV3IHFIO3JldHVybiBpLnJlc3RhcnQodCxlLG4pLGl9ZnVuY3Rpb24gWEgoKXtGSD0oSEg9VUgubm93KCkpK1ZILHpIPURIPTA7dHJ5eyEoZnVuY3Rpb24gdCgpe0dIKCksKyt6SDtmb3IodmFyIHQsZT1MSDtlOykodD1GSC1lLl90aW1lKT49MCYmZS5fY2FsbC5jYWxsKG51bGwsdCksZT1lLl9uZXh0Oy0tekh9KSgpfWZpbmFsbHl7ekg9MCwoZnVuY3Rpb24gZSgpe3ZhciB0LGUsbj1MSCxpPTEvMDtmb3IoO247KW4uX2NhbGw/KGk+bi5fdGltZSYmKGk9bi5fdGltZSksdD1uLG49bi5fbmV4dCk6KGU9bi5fbmV4dCxuLl9uZXh0PW51bGwsbj10P3QuX25leHQ9ZTpMSD1lKTtQSD10LEtIKGkpfSkoKSxGSD0wfX1mdW5jdGlvbiAkSCgpe3ZhciB0PVVILm5vdygpLGU9dC1ISDtlPjFlMyYmKFZILT1lLEhIPXQpfWZ1bmN0aW9uIEtIKHQpe3pIfHwoREgmJihESD1jbGVhclRpbWVvdXQoREgpKSx0LUZIPjI0Pyh0PDEvMCYmKERIPXNldFRpbWVvdXQoWEgsdC1VSC5ub3coKS1WSCkpLEJIJiYoQkg9Y2xlYXJJbnRlcnZhbChCSCkpKTooQkh8fChISD1VSC5ub3coKSxCSD1zZXRJbnRlcnZhbCgkSCwxZTMpKSx6SD0xLGpIKFhIKSkpfWZ1bmN0aW9uIFpIKHQsZSxuKXt2YXIgaT1uZXcgcUg7cmV0dXJuIGkucmVzdGFydCgoZnVuY3Rpb24obil7aS5zdG9wKCksdChuK2UpfSksZT1udWxsPT1lPzA6K2UsbiksaX1xSC5wcm90b3R5cGU9WUgucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpxSCxyZXN0YXJ0OmZ1bmN0aW9uKHQsZSxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBpcyBub3QgYSBmdW5jdGlvbiIpO249KG51bGw9PW4/R0goKTorbikrKG51bGw9PWU/MDorZSksdGhpcy5fbmV4dHx8UEg9PT10aGlzfHwoUEg/UEguX25leHQ9dGhpczpMSD10aGlzLFBIPXRoaXMpLHRoaXMuX2NhbGw9dCx0aGlzLl90aW1lPW4sS0goKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuX2NhbGwmJih0aGlzLl9jYWxsPW51bGwsdGhpcy5fdGltZT0xLzAsS0goKSl9fTt2YXIgSkg9UnooInN0YXJ0IiwiZW5kIiwiY2FuY2VsIiwiaW50ZXJydXB0IiksUUg9W107ZnVuY3Rpb24gdEYodCxlLG4saSxyLG8pe3ZhciBhPXQuX190cmFuc2l0aW9uO2lmKGEpe2lmKG4gaW4gYSlyZXR1cm59ZWxzZSB0Ll9fdHJhbnNpdGlvbj17fTshKGZ1bmN0aW9uIHModCxlLG4pe3ZhciBpLHI9dC5fX3RyYW5zaXRpb247ZnVuY3Rpb24gbyh0KXtuLnN0YXRlPTEsbi50aW1lci5yZXN0YXJ0KGEsbi5kZWxheSxuLnRpbWUpLG4uZGVsYXk8PXQmJmEodC1uLmRlbGF5KX1mdW5jdGlvbiBhKG8pe3ZhciBjLHUsaCxkO2lmKDEhPT1uLnN0YXRlKXJldHVybiBsKCk7Zm9yKGMgaW4gcilpZigoZD1yW2NdKS5uYW1lPT09bi5uYW1lKXtpZigzPT09ZC5zdGF0ZSlyZXR1cm4gWkgoYSk7ND09PWQuc3RhdGU/KGQuc3RhdGU9NixkLnRpbWVyLnN0b3AoKSxkLm9uLmNhbGwoImludGVycnVwdCIsdCx0Ll9fZGF0YV9fLGQuaW5kZXgsZC5ncm91cCksZGVsZXRlIHJbY10pOitjPGUmJihkLnN0YXRlPTYsZC50aW1lci5zdG9wKCksZC5vbi5jYWxsKCJjYW5jZWwiLHQsdC5fX2RhdGFfXyxkLmluZGV4LGQuZ3JvdXApLGRlbGV0ZSByW2NdKX1pZihaSCgoZnVuY3Rpb24oKXszPT09bi5zdGF0ZSYmKG4uc3RhdGU9NCxuLnRpbWVyLnJlc3RhcnQocyxuLmRlbGF5LG4udGltZSkscyhvKSl9KSksbi5zdGF0ZT0yLG4ub24uY2FsbCgic3RhcnQiLHQsdC5fX2RhdGFfXyxuLmluZGV4LG4uZ3JvdXApLDI9PT1uLnN0YXRlKXtmb3Iobi5zdGF0ZT0zLGk9bmV3IEFycmF5KGg9bi50d2Vlbi5sZW5ndGgpLGM9MCx1PS0xO2M8aDsrK2MpKGQ9bi50d2VlbltjXS52YWx1ZS5jYWxsKHQsdC5fX2RhdGFfXyxuLmluZGV4LG4uZ3JvdXApKSYmKGlbKyt1XT1kKTtpLmxlbmd0aD11KzF9fWZ1bmN0aW9uIHMoZSl7Zm9yKHZhciByPWU8bi5kdXJhdGlvbj9uLmVhc2UuY2FsbChudWxsLGUvbi5kdXJhdGlvbik6KG4udGltZXIucmVzdGFydChsKSxuLnN0YXRlPTUsMSksbz0tMSxhPWkubGVuZ3RoOysrbzxhOylpW29dLmNhbGwodCxyKTs1PT09bi5zdGF0ZSYmKG4ub24uY2FsbCgiZW5kIix0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSxsKCkpfWZ1bmN0aW9uIGwoKXtmb3IodmFyIGkgaW4gbi5zdGF0ZT02LG4udGltZXIuc3RvcCgpLGRlbGV0ZSByW2VdLHIpcmV0dXJuO2RlbGV0ZSB0Ll9fdHJhbnNpdGlvbn1yW2VdPW4sbi50aW1lcj1ZSChvLDAsbi50aW1lKX0pKHQsbix7bmFtZTplLGluZGV4OmksZ3JvdXA6cixvbjpKSCx0d2VlbjpRSCx0aW1lOm8udGltZSxkZWxheTpvLmRlbGF5LGR1cmF0aW9uOm8uZHVyYXRpb24sZWFzZTpvLmVhc2UsdGltZXI6bnVsbCxzdGF0ZTowfSl9ZnVuY3Rpb24gZUYodCxlKXt2YXIgbj1pRih0LGUpO2lmKG4uc3RhdGU+MCl0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHNjaGVkdWxlZCIpO3JldHVybiBufWZ1bmN0aW9uIG5GKHQsZSl7dmFyIG49aUYodCxlKTtpZihuLnN0YXRlPjMpdGhyb3cgbmV3IEVycm9yKCJ0b28gbGF0ZTsgYWxyZWFkeSBydW5uaW5nIik7cmV0dXJuIG59ZnVuY3Rpb24gaUYodCxlKXt2YXIgbj10Ll9fdHJhbnNpdGlvbjtpZighbnx8IShuPW5bZV0pKXRocm93IG5ldyBFcnJvcigidHJhbnNpdGlvbiBub3QgZm91bmQiKTtyZXR1cm4gbn1mdW5jdGlvbiByRih0LGUpe3ZhciBuLGkscixvPXQuX190cmFuc2l0aW9uLGE9ITA7aWYobyl7Zm9yKHIgaW4gZT1udWxsPT1lP251bGw6ZSsiIixvKShuPW9bcl0pLm5hbWU9PT1lPyhpPW4uc3RhdGU+MiYmbi5zdGF0ZTw1LG4uc3RhdGU9NixuLnRpbWVyLnN0b3AoKSxuLm9uLmNhbGwoaT8iaW50ZXJydXB0IjoiY2FuY2VsIix0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSxkZWxldGUgb1tyXSk6YT0hMTthJiZkZWxldGUgdC5fX3RyYW5zaXRpb259fWZ1bmN0aW9uIG9GKHQsZSl7dmFyIG4saTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcj1uRih0aGlzLHQpLG89ci50d2VlbjtpZihvIT09bilmb3IodmFyIGE9MCxzPShpPW49bykubGVuZ3RoO2E8czsrK2EpaWYoaVthXS5uYW1lPT09ZSl7KGk9aS5zbGljZSgpKS5zcGxpY2UoYSwxKTticmVha31yLnR3ZWVuPWl9fWZ1bmN0aW9uIGFGKHQsZSxuKXt2YXIgaSxyO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IG5ldyBFcnJvcjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz1uRih0aGlzLHQpLGE9by50d2VlbjtpZihhIT09aSl7cj0oaT1hKS5zbGljZSgpO2Zvcih2YXIgcz17bmFtZTplLHZhbHVlOm59LGw9MCxjPXIubGVuZ3RoO2w8YzsrK2wpaWYocltsXS5uYW1lPT09ZSl7cltsXT1zO2JyZWFrfWw9PT1jJiZyLnB1c2gocyl9by50d2Vlbj1yfX1mdW5jdGlvbiBzRih0LGUsbil7dmFyIGk9dC5faWQ7cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24oKXt2YXIgdD1uRih0aGlzLGkpOyh0LnZhbHVlfHwodC52YWx1ZT17fSkpW2VdPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpfSkpLGZ1bmN0aW9uKHQpe3JldHVybiBpRih0LGkpLnZhbHVlW2VdfX1mdW5jdGlvbiBsRih0LGUpe3ZhciBuO3JldHVybigibnVtYmVyIj09dHlwZW9mIGU/Z0g6ZSBpbnN0YW5jZW9mIFhCP2RIOihuPVhCKGUpKT8oZT1uLGRIKTpiSCkodCxlKX1mdW5jdGlvbiBjRih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZSh0KX19ZnVuY3Rpb24gdUYodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpfX1mdW5jdGlvbiBoRih0LGUsbil7dmFyIGkscixvPW4rIiI7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRBdHRyaWJ1dGUodCk7cmV0dXJuIGE9PT1vP251bGw6YT09PWk/cjpyPWUoaT1hLG4pfX1mdW5jdGlvbiBkRih0LGUsbil7dmFyIGkscixvPW4rIiI7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpO3JldHVybiBhPT09bz9udWxsOmE9PT1pP3I6cj1lKGk9YSxuKX19ZnVuY3Rpb24gcEYodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYSxzLGw9bih0aGlzKTtpZihudWxsIT1sKXJldHVybihhPXRoaXMuZ2V0QXR0cmlidXRlKHQpKT09PShzPWwrIiIpP251bGw6YT09PWkmJnM9PT1yP286KHI9cyxvPWUoaT1hLGwpKTt0aGlzLnJlbW92ZUF0dHJpYnV0ZSh0KX19ZnVuY3Rpb24gZkYodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYSxzLGw9bih0aGlzKTtpZihudWxsIT1sKXJldHVybihhPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKSk9PT0ocz1sKyIiKT9udWxsOmE9PT1pJiZzPT09cj9vOihyPXMsbz1lKGk9YSxsKSk7dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpfX1mdW5jdGlvbiBtRih0LGUpe3JldHVybiBmdW5jdGlvbihuKXt0aGlzLnNldEF0dHJpYnV0ZSh0LGUuY2FsbCh0aGlzLG4pKX19ZnVuY3Rpb24gZ0YodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dGhpcy5zZXRBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwsZS5jYWxsKHRoaXMsbikpfX1mdW5jdGlvbiBfRih0LGUpe3ZhciBuLGk7ZnVuY3Rpb24gcigpe3ZhciByPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiByIT09aSYmKG49KGk9cikmJmdGKHQscikpLG59cmV0dXJuIHIuX3ZhbHVlPWUscn1mdW5jdGlvbiB5Rih0LGUpe3ZhciBuLGk7ZnVuY3Rpb24gcigpe3ZhciByPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiByIT09aSYmKG49KGk9cikmJm1GKHQscikpLG59cmV0dXJuIHIuX3ZhbHVlPWUscn1mdW5jdGlvbiB2Rih0LGUpe3JldHVybiBmdW5jdGlvbigpe2VGKHRoaXMsdCkuZGVsYXk9K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBiRih0LGUpe3JldHVybiBlPStlLGZ1bmN0aW9uKCl7ZUYodGhpcyx0KS5kZWxheT1lfX1mdW5jdGlvbiB4Rih0LGUpe3JldHVybiBmdW5jdGlvbigpe25GKHRoaXMsdCkuZHVyYXRpb249K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiB3Rih0LGUpe3JldHVybiBlPStlLGZ1bmN0aW9uKCl7bkYodGhpcyx0KS5kdXJhdGlvbj1lfX1mdW5jdGlvbiBTRih0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcjtyZXR1cm4gZnVuY3Rpb24oKXtuRih0aGlzLHQpLmVhc2U9ZX19ZnVuY3Rpb24gTUYodCxlLG4pe3ZhciBpLHIsbz0oZnVuY3Rpb24gYSh0KXtyZXR1cm4odCsiIikudHJpbSgpLnNwbGl0KC9efFxzKy8pLmV2ZXJ5KChmdW5jdGlvbih0KXt2YXIgZT10LmluZGV4T2YoIi4iKTtyZXR1cm4gZT49MCYmKHQ9dC5zbGljZSgwLGUpKSwhdHx8InN0YXJ0Ij09PXR9KSl9KShlKT9lRjpuRjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYT1vKHRoaXMsdCkscz1hLm9uO3MhPT1pJiYocj0oaT1zKS5jb3B5KCkpLm9uKGUsbiksYS5vbj1yfX12YXIgRUY9WUQucHJvdG90eXBlLmNvbnN0cnVjdG9yO2Z1bmN0aW9uIFRGKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9fWZ1bmN0aW9uIENGKHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oaSl7dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSh0LGUuY2FsbCh0aGlzLGkpLG4pfX1mdW5jdGlvbiBBRih0LGUsbil7dmFyIGkscjtmdW5jdGlvbiBvKCl7dmFyIG89ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG8hPT1yJiYoaT0ocj1vKSYmQ0YodCxvLG4pKSxpfXJldHVybiBvLl92YWx1ZT1lLG99ZnVuY3Rpb24ga0YodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3RoaXMudGV4dENvbnRlbnQ9dC5jYWxsKHRoaXMsZSl9fWZ1bmN0aW9uIExGKHQpe3ZhciBlLG47ZnVuY3Rpb24gaSgpe3ZhciBpPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBpIT09biYmKGU9KG49aSkmJmtGKGkpKSxlfXJldHVybiBpLl92YWx1ZT10LGl9dmFyIFBGPTA7ZnVuY3Rpb24gTkYodCxlLG4saSl7dGhpcy5fZ3JvdXBzPXQsdGhpcy5fcGFyZW50cz1lLHRoaXMuX25hbWU9bix0aGlzLl9pZD1pfWZ1bmN0aW9uIElGKCl7cmV0dXJuKytQRn12YXIgUkY9WUQucHJvdG90eXBlO05GLnByb3RvdHlwZT17Y29uc3RydWN0b3I6TkYsc2VsZWN0OmZ1bmN0aW9uIE9GKHQpe3ZhciBlPXRoaXMuX25hbWUsbj10aGlzLl9pZDsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9cXoodCkpO2Zvcih2YXIgaT10aGlzLl9ncm91cHMscj1pLmxlbmd0aCxvPW5ldyBBcnJheShyKSxhPTA7YTxyOysrYSlmb3IodmFyIHMsbCxjPWlbYV0sdT1jLmxlbmd0aCxoPW9bYV09bmV3IEFycmF5KHUpLGQ9MDtkPHU7KytkKShzPWNbZF0pJiYobD10LmNhbGwocyxzLl9fZGF0YV9fLGQsYykpJiYoIl9fZGF0YV9fImluIHMmJihsLl9fZGF0YV9fPXMuX19kYXRhX18pLGhbZF09bCx0RihoW2RdLGUsbixkLGgsaUYocyxuKSkpO3JldHVybiBuZXcgTkYobyx0aGlzLl9wYXJlbnRzLGUsbil9LHNlbGVjdEFsbDpmdW5jdGlvbiB6Rih0KXt2YXIgZT10aGlzLl9uYW1lLG49dGhpcy5faWQ7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVh6KHQpKTtmb3IodmFyIGk9dGhpcy5fZ3JvdXBzLHI9aS5sZW5ndGgsbz1bXSxhPVtdLHM9MDtzPHI7KytzKWZvcih2YXIgbCxjPWlbc10sdT1jLmxlbmd0aCxoPTA7aDx1OysraClpZihsPWNbaF0pe2Zvcih2YXIgZCxwPXQuY2FsbChsLGwuX19kYXRhX18saCxjKSxmPWlGKGwsbiksbT0wLGc9cC5sZW5ndGg7bTxnOysrbSkoZD1wW21dKSYmdEYoZCxlLG4sbSxwLGYpO28ucHVzaChwKSxhLnB1c2gobCl9cmV0dXJuIG5ldyBORihvLGEsZSxuKX0sZmlsdGVyOmZ1bmN0aW9uIERGKHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD0keih0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhPWVbcl0scz1hLmxlbmd0aCxsPWlbcl09W10sYz0wO2M8czsrK2MpKG89YVtjXSkmJnQuY2FsbChvLG8uX19kYXRhX18sYyxhKSYmbC5wdXNoKG8pO3JldHVybiBuZXcgTkYoaSx0aGlzLl9wYXJlbnRzLHRoaXMuX25hbWUsdGhpcy5faWQpfSxtZXJnZTpmdW5jdGlvbiBCRih0KXtpZih0Ll9pZCE9PXRoaXMuX2lkKXRocm93IG5ldyBFcnJvcjtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49dC5fZ3JvdXBzLGk9ZS5sZW5ndGgscj1NYXRoLm1pbihpLG4ubGVuZ3RoKSxvPW5ldyBBcnJheShpKSxhPTA7YTxyOysrYSlmb3IodmFyIHMsbD1lW2FdLGM9blthXSx1PWwubGVuZ3RoLGg9b1thXT1uZXcgQXJyYXkodSksZD0wO2Q8dTsrK2QpKHM9bFtkXXx8Y1tkXSkmJihoW2RdPXMpO2Zvcig7YTxpOysrYSlvW2FdPWVbYV07cmV0dXJuIG5ldyBORihvLHRoaXMuX3BhcmVudHMsdGhpcy5fbmFtZSx0aGlzLl9pZCl9LHNlbGVjdGlvbjpmdW5jdGlvbiBIRigpe3JldHVybiBuZXcgRUYodGhpcy5fZ3JvdXBzLHRoaXMuX3BhcmVudHMpfSx0cmFuc2l0aW9uOmZ1bmN0aW9uIEZGKCl7Zm9yKHZhciB0PXRoaXMuX25hbWUsZT10aGlzLl9pZCxuPUlGKCksaT10aGlzLl9ncm91cHMscj1pLmxlbmd0aCxvPTA7bzxyOysrbylmb3IodmFyIGEscz1pW29dLGw9cy5sZW5ndGgsYz0wO2M8bDsrK2MpaWYoYT1zW2NdKXt2YXIgdT1pRihhLGUpO3RGKGEsdCxuLGMscyx7dGltZTp1LnRpbWUrdS5kZWxheSt1LmR1cmF0aW9uLGRlbGF5OjAsZHVyYXRpb246dS5kdXJhdGlvbixlYXNlOnUuZWFzZX0pfXJldHVybiBuZXcgTkYoaSx0aGlzLl9wYXJlbnRzLHQsbil9LGNhbGw6UkYuY2FsbCxub2RlczpSRi5ub2Rlcyxub2RlOlJGLm5vZGUsc2l6ZTpSRi5zaXplLGVtcHR5OlJGLmVtcHR5LGVhY2g6UkYuZWFjaCxvbjpmdW5jdGlvbiBWRih0LGUpe3ZhciBuPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDI/aUYodGhpcy5ub2RlKCksbikub24ub24odCk6dGhpcy5lYWNoKE1GKG4sdCxlKSl9LGF0dHI6ZnVuY3Rpb24gVUYodCxlKXt2YXIgbj1Weih0KSxpPSJ0cmFuc2Zvcm0iPT09bj9SSDpsRjtyZXR1cm4gdGhpcy5hdHRyVHdlZW4odCwiZnVuY3Rpb24iPT10eXBlb2YgZT8obi5sb2NhbD9mRjpwRikobixpLHNGKHRoaXMsImF0dHIuIit0LGUpKTpudWxsPT1lPyhuLmxvY2FsP3VGOmNGKShuKToobi5sb2NhbD9kRjpoRikobixpLGUpKX0sYXR0clR3ZWVuOmZ1bmN0aW9uIGpGKHQsZSl7dmFyIG49ImF0dHIuIit0O2lmKGFyZ3VtZW50cy5sZW5ndGg8MilyZXR1cm4obj10aGlzLnR3ZWVuKG4pKSYmbi5fdmFsdWU7aWYobnVsbD09ZSlyZXR1cm4gdGhpcy50d2VlbihuLG51bGwpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcjt2YXIgaT1Weih0KTtyZXR1cm4gdGhpcy50d2VlbihuLChpLmxvY2FsP19GOnlGKShpLGUpKX0sc3R5bGU6ZnVuY3Rpb24gR0YodCxlLG4pe3ZhciBpPSJ0cmFuc2Zvcm0iPT0odCs9IiIpP05IOmxGO3JldHVybiBudWxsPT1lP3RoaXMuc3R5bGVUd2Vlbih0LChmdW5jdGlvbiByKHQsZSl7dmFyIG4saSxyO3JldHVybiBmdW5jdGlvbigpe3ZhciBvPWhEKHRoaXMsdCksYT0odGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KSxoRCh0aGlzLHQpKTtyZXR1cm4gbz09PWE/bnVsbDpvPT09biYmYT09PWk/cjpyPWUobj1vLGk9YSl9fSkodCxpKSkub24oImVuZC5zdHlsZS4iK3QsVEYodCkpOiJmdW5jdGlvbiI9PXR5cGVvZiBlP3RoaXMuc3R5bGVUd2Vlbih0LChmdW5jdGlvbiBhKHQsZSxuKXt2YXIgaSxyLG87cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9aEQodGhpcyx0KSxzPW4odGhpcyksbD1zKyIiO3JldHVybiBudWxsPT1zJiYodGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KSxsPXM9aEQodGhpcyx0KSksYT09PWw/bnVsbDphPT09aSYmbD09PXI/bzoocj1sLG89ZShpPWEscykpfX0pKHQsaSxzRih0aGlzLCJzdHlsZS4iK3QsZSkpKS5lYWNoKChmdW5jdGlvbiBvKHQsZSl7dmFyIG4saSxyLG8sYT0ic3R5bGUuIitlLHM9ImVuZC4iK2E7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGw9bkYodGhpcyx0KSxjPWwub24sdT1udWxsPT1sLnZhbHVlW2FdP298fChvPVRGKGUpKTp2b2lkIDA7Yz09PW4mJnI9PT11fHwoaT0obj1jKS5jb3B5KCkpLm9uKHMscj11KSxsLm9uPWl9fSkodGhpcy5faWQsdCkpOnRoaXMuc3R5bGVUd2Vlbih0LChmdW5jdGlvbiBzKHQsZSxuKXt2YXIgaSxyLG89bisiIjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYT1oRCh0aGlzLHQpO3JldHVybiBhPT09bz9udWxsOmE9PT1pP3I6cj1lKGk9YSxuKX19KSh0LGksZSksbikub24oImVuZC5zdHlsZS4iK3QsbnVsbCl9LHN0eWxlVHdlZW46ZnVuY3Rpb24gV0YodCxlLG4pe3ZhciBpPSJzdHlsZS4iKyh0Kz0iIik7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXJldHVybihpPXRoaXMudHdlZW4oaSkpJiZpLl92YWx1ZTtpZihudWxsPT1lKXJldHVybiB0aGlzLnR3ZWVuKGksbnVsbCk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yO3JldHVybiB0aGlzLnR3ZWVuKGksQUYodCxlLG51bGw9PW4/IiI6bikpfSx0ZXh0OmZ1bmN0aW9uIHFGKHQpe3JldHVybiB0aGlzLnR3ZWVuKCJ0ZXh0IiwiZnVuY3Rpb24iPT10eXBlb2YgdD8oZnVuY3Rpb24gZSh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10KHRoaXMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfX0pKHNGKHRoaXMsInRleHQiLHQpKTooZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnRleHRDb250ZW50PXR9fSkobnVsbD09dD8iIjp0KyIiKSl9LHRleHRUd2VlbjpmdW5jdGlvbiBZRih0KXt2YXIgZT0idGV4dCI7aWYoYXJndW1lbnRzLmxlbmd0aDwxKXJldHVybihlPXRoaXMudHdlZW4oZSkpJiZlLl92YWx1ZTtpZihudWxsPT10KXJldHVybiB0aGlzLnR3ZWVuKGUsbnVsbCk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yO3JldHVybiB0aGlzLnR3ZWVuKGUsTEYodCkpfSxyZW1vdmU6ZnVuY3Rpb24gWEYoKXtyZXR1cm4gdGhpcy5vbigiZW5kLnJlbW92ZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wYXJlbnROb2RlO2Zvcih2YXIgbiBpbiB0aGlzLl9fdHJhbnNpdGlvbilpZigrbiE9PWUpcmV0dXJuO3QmJnQucmVtb3ZlQ2hpbGQodGhpcyl9fSkodGhpcy5faWQpKX0sdHdlZW46ZnVuY3Rpb24gJEYodCxlKXt2YXIgbj10aGlzLl9pZDtpZih0Kz0iIixhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgaSxyPWlGKHRoaXMubm9kZSgpLG4pLnR3ZWVuLG89MCxhPXIubGVuZ3RoO288YTsrK28paWYoKGk9cltvXSkubmFtZT09PXQpcmV0dXJuIGkudmFsdWU7cmV0dXJuIG51bGx9cmV0dXJuIHRoaXMuZWFjaCgobnVsbD09ZT9vRjphRikobix0LGUpKX0sZGVsYXk6ZnVuY3Rpb24gS0YodCl7dmFyIGU9dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgdD92RjpiRikoZSx0KSk6aUYodGhpcy5ub2RlKCksZSkuZGVsYXl9LGR1cmF0aW9uOmZ1bmN0aW9uIFpGKHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIHQ/eEY6d0YpKGUsdCkpOmlGKHRoaXMubm9kZSgpLGUpLmR1cmF0aW9ufSxlYXNlOmZ1bmN0aW9uIEpGKHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChTRihlLHQpKTppRih0aGlzLm5vZGUoKSxlKS5lYXNlfSxlbmQ6ZnVuY3Rpb24gUUYoKXt2YXIgdCxlLG49dGhpcyxpPW4uX2lkLHI9bi5zaXplKCk7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihvLGEpe3ZhciBzPXt2YWx1ZTphfSxsPXt2YWx1ZTpmdW5jdGlvbigpezA9PS0tciYmbygpfX07bi5lYWNoKChmdW5jdGlvbigpe3ZhciBuPW5GKHRoaXMsaSkscj1uLm9uO3IhPT10JiYoKGU9KHQ9cikuY29weSgpKS5fLmNhbmNlbC5wdXNoKHMpLGUuXy5pbnRlcnJ1cHQucHVzaChzKSxlLl8uZW5kLnB1c2gobCkpLG4ub249ZX0pKX0pKX19O3ZhciB0Vj17dGltZTpudWxsLGRlbGF5OjAsZHVyYXRpb246MjUwLGVhc2U6cWZ9O2Z1bmN0aW9uIGVWKHQsZSl7Zm9yKHZhciBuOyEobj10Ll9fdHJhbnNpdGlvbil8fCEobj1uW2VdKTspaWYoISh0PXQucGFyZW50Tm9kZSkpcmV0dXJuIHRWLnRpbWU9R0goKSx0VjtyZXR1cm4gbn1mdW5jdGlvbiBuVih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gaVYodCxlLG4pe3RoaXMudGFyZ2V0PXQsdGhpcy50eXBlPWUsdGhpcy5zZWxlY3Rpb249bn1mdW5jdGlvbiByVigpe3pELnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIG9WKCl7ekQucHJldmVudERlZmF1bHQoKSx6RC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1ZRC5wcm90b3R5cGUuaW50ZXJydXB0PWZ1bmN0aW9uIGFWKHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7ckYodGhpcyx0KX0pKX0sWUQucHJvdG90eXBlLnRyYW5zaXRpb249ZnVuY3Rpb24gc1YodCl7dmFyIGUsbjt0IGluc3RhbmNlb2YgTkY/KGU9dC5faWQsdD10Ll9uYW1lKTooZT1JRigpLChuPXRWKS50aW1lPUdIKCksdD1udWxsPT10P251bGw6dCsiIik7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89MDtvPHI7KytvKWZvcih2YXIgYSxzPWlbb10sbD1zLmxlbmd0aCxjPTA7YzxsOysrYykoYT1zW2NdKSYmdEYoYSx0LGUsYyxzLG58fGVWKGEsZSkpO3JldHVybiBuZXcgTkYoaSx0aGlzLl9wYXJlbnRzLHQsZSl9O3ZhciBsVj17bmFtZToiZHJhZyJ9LGNWPXtuYW1lOiJzcGFjZSJ9LHVWPXtuYW1lOiJoYW5kbGUifSxoVj17bmFtZToiY2VudGVyIn0sZFY9e25hbWU6IngiLGhhbmRsZXM6WyJlIiwidyJdLm1hcChiViksaW5wdXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdCYmW1t0WzBdLGVbMF1bMV1dLFt0WzFdLGVbMV1bMV1dXX0sb3V0cHV0OmZ1bmN0aW9uKHQpe3JldHVybiB0JiZbdFswXVswXSx0WzFdWzBdXX19LHBWPXtuYW1lOiJ5IixoYW5kbGVzOlsibiIsInMiXS5tYXAoYlYpLGlucHV0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQmJltbZVswXVswXSx0WzBdXSxbZVsxXVswXSx0WzFdXV19LG91dHB1dDpmdW5jdGlvbih0KXtyZXR1cm4gdCYmW3RbMF1bMV0sdFsxXVsxXV19fSxmVj17bmFtZToieHkiLGhhbmRsZXM6WyJuIiwiZSIsInMiLCJ3IiwibnciLCJuZSIsInNlIiwic3ciXS5tYXAoYlYpLGlucHV0OmZ1bmN0aW9uKHQpe3JldHVybiB0fSxvdXRwdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHR9fSxtVj17b3ZlcmxheToiY3Jvc3NoYWlyIixzZWxlY3Rpb246Im1vdmUiLG46Im5zLXJlc2l6ZSIsZToiZXctcmVzaXplIixzOiJucy1yZXNpemUiLHc6ImV3LXJlc2l6ZSIsbnc6Im53c2UtcmVzaXplIixuZToibmVzdy1yZXNpemUiLHNlOiJud3NlLXJlc2l6ZSIsc3c6Im5lc3ctcmVzaXplIn0sZ1Y9e2U6InciLHc6ImUiLG53OiJuZSIsbmU6Im53IixzZToic3ciLHN3OiJzZSJ9LF9WPXtuOiJzIixzOiJuIixudzoic3ciLG5lOiJzZSIsc2U6Im5lIixzdzoibncifSx5Vj17b3ZlcmxheToxLHNlbGVjdGlvbjoxLG46bnVsbCxlOjEsczpudWxsLHc6LTEsbnc6LTEsbmU6MSxzZToxLHN3Oi0xfSx2Vj17b3ZlcmxheToxLHNlbGVjdGlvbjoxLG46LTEsZTpudWxsLHM6MSx3Om51bGwsbnc6LTEsbmU6LTEsc2U6MSxzdzoxfTtmdW5jdGlvbiBiVih0KXtyZXR1cm57dHlwZTp0fX1mdW5jdGlvbiB4Vigpe3JldHVybiF6RC5idXR0b259ZnVuY3Rpb24gd1YoKXt2YXIgdD10aGlzLm93bmVyU1ZHRWxlbWVudHx8dGhpcztyZXR1cm5bWzAsMF0sW3Qud2lkdGguYmFzZVZhbC52YWx1ZSx0LmhlaWdodC5iYXNlVmFsLnZhbHVlXV19ZnVuY3Rpb24gU1YodCl7Zm9yKDshdC5fX2JydXNoOylpZighKHQ9dC5wYXJlbnROb2RlKSlyZXR1cm47cmV0dXJuIHQuX19icnVzaH1mdW5jdGlvbiBNVih0KXtyZXR1cm4gdFswXVswXT09PXRbMV1bMF18fHRbMF1bMV09PT10WzFdWzFdfWZ1bmN0aW9uIEVWKHQpe3ZhciBlLG49d1YsaT14VixyPVJ6KGEsInN0YXJ0IiwiYnJ1c2giLCJlbmQiKSxvPTY7ZnVuY3Rpb24gYShlKXt2YXIgbj1lLnByb3BlcnR5KCJfX2JydXNoIixoKS5zZWxlY3RBbGwoIi5vdmVybGF5IikuZGF0YShbYlYoIm92ZXJsYXkiKV0pO24uZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsIm92ZXJsYXkiKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpLmF0dHIoImN1cnNvciIsbVYub3ZlcmxheSkubWVyZ2UobikuZWFjaCgoZnVuY3Rpb24oKXt2YXIgdD1TVih0aGlzKS5leHRlbnQ7WEQodGhpcykuYXR0cigieCIsdFswXVswXSkuYXR0cigieSIsdFswXVsxXSkuYXR0cigid2lkdGgiLHRbMV1bMF0tdFswXVswXSkuYXR0cigiaGVpZ2h0Iix0WzFdWzFdLXRbMF1bMV0pfSkpLGUuc2VsZWN0QWxsKCIuc2VsZWN0aW9uIikuZGF0YShbYlYoInNlbGVjdGlvbiIpXSkuZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsInNlbGVjdGlvbiIpLmF0dHIoImN1cnNvciIsbVYuc2VsZWN0aW9uKS5hdHRyKCJmaWxsIiwiIzc3NyIpLmF0dHIoImZpbGwtb3BhY2l0eSIsLjMpLmF0dHIoInN0cm9rZSIsIiNmZmYiKS5hdHRyKCJzaGFwZS1yZW5kZXJpbmciLCJjcmlzcEVkZ2VzIik7dmFyIGk9ZS5zZWxlY3RBbGwoIi5oYW5kbGUiKS5kYXRhKHQuaGFuZGxlcywoZnVuY3Rpb24odCl7cmV0dXJuIHQudHlwZX0pKTtpLmV4aXQoKS5yZW1vdmUoKSxpLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuYXR0cigiY2xhc3MiLChmdW5jdGlvbih0KXtyZXR1cm4iaGFuZGxlIGhhbmRsZS0tIit0LnR5cGV9KSkuYXR0cigiY3Vyc29yIiwoZnVuY3Rpb24odCl7cmV0dXJuIG1WW3QudHlwZV19KSksZS5lYWNoKHMpLmF0dHIoImZpbGwiLCJub25lIikuYXR0cigicG9pbnRlci1ldmVudHMiLCJhbGwiKS5zdHlsZSgiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIiwicmdiYSgwLDAsMCwwKSIpLm9uKCJtb3VzZWRvd24uYnJ1c2ggdG91Y2hzdGFydC5icnVzaCIsdSl9ZnVuY3Rpb24gcygpe3ZhciB0PVhEKHRoaXMpLGU9U1YodGhpcykuc2VsZWN0aW9uO2U/KHQuc2VsZWN0QWxsKCIuc2VsZWN0aW9uIikuc3R5bGUoImRpc3BsYXkiLG51bGwpLmF0dHIoIngiLGVbMF1bMF0pLmF0dHIoInkiLGVbMF1bMV0pLmF0dHIoIndpZHRoIixlWzFdWzBdLWVbMF1bMF0pLmF0dHIoImhlaWdodCIsZVsxXVsxXS1lWzBdWzFdKSx0LnNlbGVjdEFsbCgiLmhhbmRsZSIpLnN0eWxlKCJkaXNwbGF5IixudWxsKS5hdHRyKCJ4IiwoZnVuY3Rpb24odCl7cmV0dXJuImUiPT09dC50eXBlW3QudHlwZS5sZW5ndGgtMV0/ZVsxXVswXS1vLzI6ZVswXVswXS1vLzJ9KSkuYXR0cigieSIsKGZ1bmN0aW9uKHQpe3JldHVybiJzIj09PXQudHlwZVswXT9lWzFdWzFdLW8vMjplWzBdWzFdLW8vMn0pKS5hdHRyKCJ3aWR0aCIsKGZ1bmN0aW9uKHQpe3JldHVybiJuIj09PXQudHlwZXx8InMiPT09dC50eXBlP2VbMV1bMF0tZVswXVswXStvOm99KSkuYXR0cigiaGVpZ2h0IiwoZnVuY3Rpb24odCl7cmV0dXJuImUiPT09dC50eXBlfHwidyI9PT10LnR5cGU/ZVsxXVsxXS1lWzBdWzFdK286b30pKSk6dC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24sLmhhbmRsZSIpLnN0eWxlKCJkaXNwbGF5Iiwibm9uZSIpLmF0dHIoIngiLG51bGwpLmF0dHIoInkiLG51bGwpLmF0dHIoIndpZHRoIixudWxsKS5hdHRyKCJoZWlnaHQiLG51bGwpfWZ1bmN0aW9uIGwodCxlKXtyZXR1cm4gdC5fX2JydXNoLmVtaXR0ZXJ8fG5ldyBjKHQsZSl9ZnVuY3Rpb24gYyh0LGUpe3RoaXMudGhhdD10LHRoaXMuYXJncz1lLHRoaXMuc3RhdGU9dC5fX2JydXNoLHRoaXMuYWN0aXZlPTB9ZnVuY3Rpb24gdSgpe2lmKHpELnRvdWNoZXMpe2lmKHpELmNoYW5nZWRUb3VjaGVzLmxlbmd0aDx6RC50b3VjaGVzLmxlbmd0aClyZXR1cm4gb1YoKX1lbHNlIGlmKGUpcmV0dXJuO2lmKGkuYXBwbHkodGhpcyxhcmd1bWVudHMpKXt2YXIgbixyLG8sYSxjLHUsaCxkLHAsZixtLGcsXyx5PXRoaXMsdj16RC50YXJnZXQuX19kYXRhX18udHlwZSxiPSJzZWxlY3Rpb24iPT09KHpELm1ldGFLZXk/dj0ib3ZlcmxheSI6dik/bFY6ekQuYWx0S2V5P2hWOnVWLHg9dD09PXBWP251bGw6eVZbdl0sdz10PT09ZFY/bnVsbDp2Vlt2XSxTPVNWKHkpLE09Uy5leHRlbnQsRT1TLnNlbGVjdGlvbixUPU1bMF1bMF0sQz1NWzBdWzFdLEE9TVsxXVswXSxrPU1bMV1bMV0sTD14JiZ3JiZ6RC5zaGlmdEtleSxQPSREKHkpLE49UCxJPWwoeSxhcmd1bWVudHMpLmJlZm9yZXN0YXJ0KCk7Im92ZXJsYXkiPT09dj9TLnNlbGVjdGlvbj1FPVtbbj10PT09cFY/VDpQWzBdLG89dD09PWRWP0M6UFsxXV0sW2M9dD09PXBWP0E6bixoPXQ9PT1kVj9rOm9dXToobj1FWzBdWzBdLG89RVswXVsxXSxjPUVbMV1bMF0saD1FWzFdWzFdKSxyPW4sYT1vLHU9YyxkPWg7dmFyIFI9WEQoeSkuYXR0cigicG9pbnRlci1ldmVudHMiLCJub25lIiksTz1SLnNlbGVjdEFsbCgiLm92ZXJsYXkiKS5hdHRyKCJjdXJzb3IiLG1WW3ZdKTtpZih6RC50b3VjaGVzKVIub24oInRvdWNobW92ZS5icnVzaCIsRCwhMCkub24oInRvdWNoZW5kLmJydXNoIHRvdWNoY2FuY2VsLmJydXNoIixILCEwKTtlbHNle3ZhciB6PVhEKHpELnZpZXcpLm9uKCJrZXlkb3duLmJydXNoIixGLCEwKS5vbigia2V5dXAuYnJ1c2giLFYsITApLm9uKCJtb3VzZW1vdmUuYnJ1c2giLEQsITApLm9uKCJtb3VzZXVwLmJydXNoIixILCEwKTtaRCh6RC52aWV3KX1yVigpLHJGKHkpLHMuY2FsbCh5KSxJLnN0YXJ0KCl9ZnVuY3Rpb24gRCgpe3ZhciB0PSREKHkpOyFMfHxnfHxffHwoTWF0aC5hYnModFswXS1OWzBdKT5NYXRoLmFicyh0WzFdLU5bMV0pP189ITA6Zz0hMCksTj10LG09ITAsb1YoKSxCKCl9ZnVuY3Rpb24gQigpe3ZhciB0O3N3aXRjaChwPU5bMF0tUFswXSxmPU5bMV0tUFsxXSxiKXtjYXNlIGNWOmNhc2UgbFY6eCYmKHA9TWF0aC5tYXgoVC1uLE1hdGgubWluKEEtYyxwKSkscj1uK3AsdT1jK3ApLHcmJihmPU1hdGgubWF4KEMtbyxNYXRoLm1pbihrLWgsZikpLGE9bytmLGQ9aCtmKTticmVhaztjYXNlIHVWOng8MD8ocD1NYXRoLm1heChULW4sTWF0aC5taW4oQS1uLHApKSxyPW4rcCx1PWMpOng+MCYmKHA9TWF0aC5tYXgoVC1jLE1hdGgubWluKEEtYyxwKSkscj1uLHU9YytwKSx3PDA/KGY9TWF0aC5tYXgoQy1vLE1hdGgubWluKGstbyxmKSksYT1vK2YsZD1oKTp3PjAmJihmPU1hdGgubWF4KEMtaCxNYXRoLm1pbihrLWgsZikpLGE9byxkPWgrZik7YnJlYWs7Y2FzZSBoVjp4JiYocj1NYXRoLm1heChULE1hdGgubWluKEEsbi1wKngpKSx1PU1hdGgubWF4KFQsTWF0aC5taW4oQSxjK3AqeCkpKSx3JiYoYT1NYXRoLm1heChDLE1hdGgubWluKGssby1mKncpKSxkPU1hdGgubWF4KEMsTWF0aC5taW4oayxoK2YqdykpKX11PHImJih4Kj0tMSx0PW4sbj1jLGM9dCx0PXIscj11LHU9dCx2IGluIGdWJiZPLmF0dHIoImN1cnNvciIsbVZbdj1nVlt2XV0pKSxkPGEmJih3Kj0tMSx0PW8sbz1oLGg9dCx0PWEsYT1kLGQ9dCx2IGluIF9WJiZPLmF0dHIoImN1cnNvciIsbVZbdj1fVlt2XV0pKSxTLnNlbGVjdGlvbiYmKEU9Uy5zZWxlY3Rpb24pLGcmJihyPUVbMF1bMF0sdT1FWzFdWzBdKSxfJiYoYT1FWzBdWzFdLGQ9RVsxXVsxXSksRVswXVswXT09PXImJkVbMF1bMV09PT1hJiZFWzFdWzBdPT09dSYmRVsxXVsxXT09PWR8fChTLnNlbGVjdGlvbj1bW3IsYV0sW3UsZF1dLHMuY2FsbCh5KSxJLmJydXNoKCkpfWZ1bmN0aW9uIEgoKXtpZihyVigpLHpELnRvdWNoZXMpe2lmKHpELnRvdWNoZXMubGVuZ3RoKXJldHVybjtlJiZjbGVhclRpbWVvdXQoZSksZT1zZXRUaW1lb3V0KChmdW5jdGlvbigpe2U9bnVsbH0pLDUwMCksUi5vbigidG91Y2htb3ZlLmJydXNoIHRvdWNoZW5kLmJydXNoIHRvdWNoY2FuY2VsLmJydXNoIixudWxsKX1lbHNlIEpEKHpELnZpZXcsbSksei5vbigia2V5ZG93bi5icnVzaCBrZXl1cC5icnVzaCBtb3VzZW1vdmUuYnJ1c2ggbW91c2V1cC5icnVzaCIsbnVsbCk7Ui5hdHRyKCJwb2ludGVyLWV2ZW50cyIsImFsbCIpLE8uYXR0cigiY3Vyc29yIixtVi5vdmVybGF5KSxTLnNlbGVjdGlvbiYmKEU9Uy5zZWxlY3Rpb24pLE1WKEUpJiYoUy5zZWxlY3Rpb249bnVsbCxzLmNhbGwoeSkpLEkuZW5kKCl9ZnVuY3Rpb24gRigpe3N3aXRjaCh6RC5rZXlDb2RlKXtjYXNlIDE2Okw9eCYmdzticmVhaztjYXNlIDE4OmI9PT11ViYmKHgmJihjPXUtcCp4LG49citwKngpLHcmJihoPWQtZip3LG89YStmKncpLGI9aFYsQigpKTticmVhaztjYXNlIDMyOmIhPT11ViYmYiE9PWhWfHwoeDwwP2M9dS1wOng+MCYmKG49ci1wKSx3PDA/aD1kLWY6dz4wJiYobz1hLWYpLGI9Y1YsTy5hdHRyKCJjdXJzb3IiLG1WLnNlbGVjdGlvbiksQigpKTticmVhaztkZWZhdWx0OnJldHVybn1vVigpfWZ1bmN0aW9uIFYoKXtzd2l0Y2goekQua2V5Q29kZSl7Y2FzZSAxNjpMJiYoZz1fPUw9ITEsQigpKTticmVhaztjYXNlIDE4OmI9PT1oViYmKHg8MD9jPXU6eD4wJiYobj1yKSx3PDA/aD1kOnc+MCYmKG89YSksYj11VixCKCkpO2JyZWFrO2Nhc2UgMzI6Yj09PWNWJiYoekQuYWx0S2V5Pyh4JiYoYz11LXAqeCxuPXIrcCp4KSx3JiYoaD1kLWYqdyxvPWErZip3KSxiPWhWKTooeDwwP2M9dTp4PjAmJihuPXIpLHc8MD9oPWQ6dz4wJiYobz1hKSxiPXVWKSxPLmF0dHIoImN1cnNvciIsbVZbdl0pLEIoKSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59b1YoKX19ZnVuY3Rpb24gaCgpe3ZhciBlPXRoaXMuX19icnVzaHx8e3NlbGVjdGlvbjpudWxsfTtyZXR1cm4gZS5leHRlbnQ9bi5hcHBseSh0aGlzLGFyZ3VtZW50cyksZS5kaW09dCxlfXJldHVybiBhLm1vdmU9ZnVuY3Rpb24oZSxuKXtlLnNlbGVjdGlvbj9lLm9uKCJzdGFydC5icnVzaCIsKGZ1bmN0aW9uKCl7bCh0aGlzLGFyZ3VtZW50cykuYmVmb3Jlc3RhcnQoKS5zdGFydCgpfSkpLm9uKCJpbnRlcnJ1cHQuYnJ1c2ggZW5kLmJydXNoIiwoZnVuY3Rpb24oKXtsKHRoaXMsYXJndW1lbnRzKS5lbmQoKX0pKS50d2VlbigiYnJ1c2giLChmdW5jdGlvbigpe3ZhciBlPXRoaXMsaT1lLl9fYnJ1c2gscj1sKGUsYXJndW1lbnRzKSxvPWkuc2VsZWN0aW9uLGE9dC5pbnB1dCgiZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTpuLGkuZXh0ZW50KSxjPXhIKG8sYSk7ZnVuY3Rpb24gdSh0KXtpLnNlbGVjdGlvbj0xPT09dCYmTVYoYSk/bnVsbDpjKHQpLHMuY2FsbChlKSxyLmJydXNoKCl9cmV0dXJuIG8mJmE/dTp1KDEpfSkpOmUuZWFjaCgoZnVuY3Rpb24oKXt2YXIgZT10aGlzLGk9YXJndW1lbnRzLHI9ZS5fX2JydXNoLG89dC5pbnB1dCgiZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmFwcGx5KGUsaSk6bixyLmV4dGVudCksYT1sKGUsaSkuYmVmb3Jlc3RhcnQoKTtyRihlKSxyLnNlbGVjdGlvbj1udWxsPT1vfHxNVihvKT9udWxsOm8scy5jYWxsKGUpLGEuc3RhcnQoKS5icnVzaCgpLmVuZCgpfSkpfSxjLnByb3RvdHlwZT17YmVmb3Jlc3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gMT09Kyt0aGlzLmFjdGl2ZSYmKHRoaXMuc3RhdGUuZW1pdHRlcj10aGlzLHRoaXMuc3RhcnRpbmc9ITApLHRoaXN9LHN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhcnRpbmcmJih0aGlzLnN0YXJ0aW5nPSExLHRoaXMuZW1pdCgic3RhcnQiKSksdGhpc30sYnJ1c2g6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbWl0KCJicnVzaCIpLHRoaXN9LGVuZDpmdW5jdGlvbigpe3JldHVybiAwPT0tLXRoaXMuYWN0aXZlJiYoZGVsZXRlIHRoaXMuc3RhdGUuZW1pdHRlcix0aGlzLmVtaXQoImVuZCIpKSx0aGlzfSxlbWl0OmZ1bmN0aW9uKGUpeyEoZnVuY3Rpb24gbih0LGUsaSxyKXt2YXIgbz16RDt0LnNvdXJjZUV2ZW50PXpELHpEPXQ7dHJ5e3JldHVybiBlLmFwcGx5KGkscil9ZmluYWxseXt6RD1vfX0pKG5ldyBpVihhLGUsdC5vdXRwdXQodGhpcy5zdGF0ZS5zZWxlY3Rpb24pKSxyLmFwcGx5LHIsW2UsdGhpcy50aGF0LHRoaXMuYXJnc10pfX0sYS5leHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpuVihbWyt0WzBdWzBdLCt0WzBdWzFdXSxbK3RbMV1bMF0sK3RbMV1bMV1dXSksYSk6bn0sYS5maWx0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpuVighIXQpLGEpOml9LGEuaGFuZGxlU2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0rdCxhKTpvfSxhLm9uPWZ1bmN0aW9uKCl7dmFyIHQ9ci5vbi5hcHBseShyLGFyZ3VtZW50cyk7cmV0dXJuIHQ9PT1yP2E6dH0sYX1mdW5jdGlvbiBUVih0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBDVih0LGUsbil7dD0rdCxlPStlLG49KHI9YXJndW1lbnRzLmxlbmd0aCk8Mj8oZT10LHQ9MCwxKTpyPDM/MTorbjtmb3IodmFyIGk9LTEscj0wfE1hdGgubWF4KDAsTWF0aC5jZWlsKChlLXQpL24pKSxvPW5ldyBBcnJheShyKTsrK2k8cjspb1tpXT10K2kqbjtyZXR1cm4gb30hKGZ1bmN0aW9uIEFWKHQpe3JldHVybiAxPT09dC5sZW5ndGgmJih0PShmdW5jdGlvbiBlKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiBUVih0KGUpLG4pfX0pKHQpKSx7bGVmdDpmdW5jdGlvbihlLG4saSxyKXtmb3IobnVsbD09aSYmKGk9MCksbnVsbD09ciYmKHI9ZS5sZW5ndGgpO2k8cjspe3ZhciBvPWkrcj4+PjE7dChlW29dLG4pPDA/aT1vKzE6cj1vfXJldHVybiBpfSxyaWdodDpmdW5jdGlvbihlLG4saSxyKXtmb3IobnVsbD09aSYmKGk9MCksbnVsbD09ciYmKHI9ZS5sZW5ndGgpO2k8cjspe3ZhciBvPWkrcj4+PjE7dChlW29dLG4pPjA/cj1vOmk9bysxfXJldHVybiBpfX19KShUVik7dmFyIGtWPU1hdGguY29zLExWPU1hdGguc2luLFBWPU1hdGguUEksTlY9UFYvMixJVj0yKlBWLFJWPU1hdGgubWF4O2Z1bmN0aW9uIE9WKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiB0KGUuc291cmNlLnZhbHVlK2UudGFyZ2V0LnZhbHVlLG4uc291cmNlLnZhbHVlK24udGFyZ2V0LnZhbHVlKX19dmFyIHpWPUFycmF5LnByb3RvdHlwZS5zbGljZTtmdW5jdGlvbiBEVih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19dmFyIEJWPU1hdGguUEksSFY9MipCVixGVj0xZS02LFZWPUhWLUZWO2Z1bmN0aW9uIFVWKCl7dGhpcy5feDA9dGhpcy5feTA9dGhpcy5feDE9dGhpcy5feTE9bnVsbCx0aGlzLl89IiJ9ZnVuY3Rpb24galYoKXtyZXR1cm4gbmV3IFVWfWZ1bmN0aW9uIEdWKHQpe3JldHVybiB0LnNvdXJjZX1mdW5jdGlvbiBXVih0KXtyZXR1cm4gdC50YXJnZXR9ZnVuY3Rpb24gcVYodCl7cmV0dXJuIHQucmFkaXVzfWZ1bmN0aW9uIFlWKHQpe3JldHVybiB0LnN0YXJ0QW5nbGV9ZnVuY3Rpb24gWFYodCl7cmV0dXJuIHQuZW5kQW5nbGV9VVYucHJvdG90eXBlPWpWLnByb3RvdHlwZT17Y29uc3RydWN0b3I6VVYsbW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fKz0iTSIrKHRoaXMuX3gwPXRoaXMuX3gxPSt0KSsiLCIrKHRoaXMuX3kwPXRoaXMuX3kxPStlKX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX3gxJiYodGhpcy5feDE9dGhpcy5feDAsdGhpcy5feTE9dGhpcy5feTAsdGhpcy5fKz0iWiIpfSxsaW5lVG86ZnVuY3Rpb24odCxlKXt0aGlzLl8rPSJMIisodGhpcy5feDE9K3QpKyIsIisodGhpcy5feTE9K2UpfSxxdWFkcmF0aWNDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLGkpe3RoaXMuXys9IlEiKyArdCsiLCIrICtlKyIsIisodGhpcy5feDE9K24pKyIsIisodGhpcy5feTE9K2kpfSxiZXppZXJDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLGkscixvKXt0aGlzLl8rPSJDIisgK3QrIiwiKyArZSsiLCIrICtuKyIsIisgK2krIiwiKyh0aGlzLl94MT0rcikrIiwiKyh0aGlzLl95MT0rbyl9LGFyY1RvOmZ1bmN0aW9uKHQsZSxuLGkscil7dmFyIG89dGhpcy5feDEsYT10aGlzLl95MSxzPShuPStuKS0odD0rdCksbD0oaT0raSktKGU9K2UpLGM9by10LHU9YS1lLGg9YypjK3UqdTtpZigocj0rcik8MCl0aHJvdyBuZXcgRXJyb3IoIm5lZ2F0aXZlIHJhZGl1czogIityKTtpZihudWxsPT09dGhpcy5feDEpdGhpcy5fKz0iTSIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZSBpZihoPkZWKWlmKE1hdGguYWJzKHUqcy1sKmMpPkZWJiZyKXt2YXIgZD1uLW8scD1pLWEsZj1zKnMrbCpsLG09ZCpkK3AqcCxnPU1hdGguc3FydChmKSxfPU1hdGguc3FydChoKSx5PXIqTWF0aC50YW4oKEJWLU1hdGguYWNvcygoZitoLW0pLygyKmcqXykpKS8yKSx2PXkvXyxiPXkvZztNYXRoLmFicyh2LTEpPkZWJiYodGhpcy5fKz0iTCIrKHQrdipjKSsiLCIrKGUrdip1KSksdGhpcy5fKz0iQSIrcisiLCIrcisiLDAsMCwiKyArKHUqZD5jKnApKyIsIisodGhpcy5feDE9dCtiKnMpKyIsIisodGhpcy5feTE9ZStiKmwpfWVsc2UgdGhpcy5fKz0iTCIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZTt9LGFyYzpmdW5jdGlvbih0LGUsbixpLHIsbyl7dD0rdCxlPStlLG89ISFvO3ZhciBhPShuPStuKSpNYXRoLmNvcyhpKSxzPW4qTWF0aC5zaW4oaSksbD10K2EsYz1lK3MsdT0xXm8saD1vP2ktcjpyLWk7aWYobjwwKXRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiK24pO251bGw9PT10aGlzLl94MT90aGlzLl8rPSJNIitsKyIsIitjOihNYXRoLmFicyh0aGlzLl94MS1sKT5GVnx8TWF0aC5hYnModGhpcy5feTEtYyk+RlYpJiYodGhpcy5fKz0iTCIrbCsiLCIrYyksbiYmKGg8MCYmKGg9aCVIVitIViksaD5WVj90aGlzLl8rPSJBIituKyIsIituKyIsMCwxLCIrdSsiLCIrKHQtYSkrIiwiKyhlLXMpKyJBIituKyIsIituKyIsMCwxLCIrdSsiLCIrKHRoaXMuX3gxPWwpKyIsIisodGhpcy5feTE9Yyk6aD5GViYmKHRoaXMuXys9IkEiK24rIiwiK24rIiwwLCIrICsoaD49QlYpKyIsIit1KyIsIisodGhpcy5feDE9dCtuKk1hdGguY29zKHIpKSsiLCIrKHRoaXMuX3kxPWUrbipNYXRoLnNpbihyKSkpKX0scmVjdDpmdW5jdGlvbih0LGUsbixpKXt0aGlzLl8rPSJNIisodGhpcy5feDA9dGhpcy5feDE9K3QpKyIsIisodGhpcy5feTA9dGhpcy5feTE9K2UpKyJoIisgK24rInYiKyAraSsiaCIrLW4rIloifSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl99fTt2YXIgJFY9IiQiO2Z1bmN0aW9uIEtWKCl7fWZ1bmN0aW9uIFpWKHQsZSl7dmFyIG49bmV3IEtWO2lmKHQgaW5zdGFuY2VvZiBLVil0LmVhY2goKGZ1bmN0aW9uKHQsZSl7bi5zZXQoZSx0KX0pKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkodCkpe3ZhciBpLHI9LTEsbz10Lmxlbmd0aDtpZihudWxsPT1lKWZvcig7KytyPG87KW4uc2V0KHIsdFtyXSk7ZWxzZSBmb3IoOysrcjxvOyluLnNldChlKGk9dFtyXSxyLHQpLGkpfWVsc2UgaWYodClmb3IodmFyIGEgaW4gdCluLnNldChhLHRbYV0pO3JldHVybiBufWZ1bmN0aW9uIEpWKCl7cmV0dXJue319ZnVuY3Rpb24gUVYodCxlLG4pe3RbZV09bn1mdW5jdGlvbiB0VSgpe3JldHVybiBaVigpfWZ1bmN0aW9uIGVVKHQsZSxuKXt0LnNldChlLG4pfWZ1bmN0aW9uIG5VKCl7fUtWLnByb3RvdHlwZT1aVi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOktWLGhhczpmdW5jdGlvbih0KXtyZXR1cm4gJFYrdCBpbiB0aGlzfSxnZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbJFYrdF19LHNldDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzWyRWK3RdPWUsdGhpc30scmVtb3ZlOmZ1bmN0aW9uKHQpe3ZhciBlPSRWK3Q7cmV0dXJuIGUgaW4gdGhpcyYmZGVsZXRlIHRoaXNbZV19LGNsZWFyOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMpdFswXT09PSRWJiZkZWxldGUgdGhpc1t0XX0sa2V5czpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT0kViYmdC5wdXNoKGUuc2xpY2UoMSkpO3JldHVybiB0fSx2YWx1ZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09JFYmJnQucHVzaCh0aGlzW2VdKTtyZXR1cm4gdH0sZW50cmllczpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT0kViYmdC5wdXNoKHtrZXk6ZS5zbGljZSgxKSx2YWx1ZTp0aGlzW2VdfSk7cmV0dXJuIHR9LHNpemU6ZnVuY3Rpb24oKXt2YXIgdD0wO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT0kViYmKyt0O3JldHVybiB0fSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzKWlmKHRbMF09PT0kVilyZXR1cm4hMTtyZXR1cm4hMH0sZWFjaDpmdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09JFYmJnQodGhpc1tlXSxlLnNsaWNlKDEpLHRoaXMpfX07dmFyIGlVPVpWLnByb3RvdHlwZTtmdW5jdGlvbiByVSh0LGUpe3ZhciBuPW5ldyBuVTtpZih0IGluc3RhbmNlb2YgblUpdC5lYWNoKChmdW5jdGlvbih0KXtuLmFkZCh0KX0pKTtlbHNlIGlmKHQpe3ZhciBpPS0xLHI9dC5sZW5ndGg7aWYobnVsbD09ZSlmb3IoOysraTxyOyluLmFkZCh0W2ldKTtlbHNlIGZvcig7KytpPHI7KW4uYWRkKGUodFtpXSxpLHQpKX1yZXR1cm4gbn1mdW5jdGlvbiBvVSh0LGUsbil7dC5wcm90b3R5cGU9ZS5wcm90b3R5cGU9bixuLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24gYVUodCxlKXt2YXIgbj1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIGkgaW4gZSluW2ldPWVbaV07cmV0dXJuIG59ZnVuY3Rpb24gc1UoKXt9blUucHJvdG90eXBlPXJVLnByb3RvdHlwZT17Y29uc3RydWN0b3I6blUsaGFzOmlVLmhhcyxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbJFYrKHQrPSIiKV09dCx0aGlzfSxyZW1vdmU6aVUucmVtb3ZlLGNsZWFyOmlVLmNsZWFyLHZhbHVlczppVS5rZXlzLHNpemU6aVUuc2l6ZSxlbXB0eTppVS5lbXB0eSxlYWNoOmlVLmVhY2h9O3ZhciBsVT0uNyxjVT0xL2xVLHVVPSJcXHMqKFsrLV0/XFxkKylcXHMqIixoVT0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPylcXHMqIixkVT0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPyklXFxzKiIscFU9L14jKFswLTlhLWZdezN9KSQvLGZVPS9eIyhbMC05YS1mXXs2fSkkLyxtVT1uZXcgUmVnRXhwKCJecmdiXFwoIitbdVUsdVUsdVVdKyJcXCkkIiksZ1U9bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW2RVLGRVLGRVXSsiXFwpJCIpLF9VPW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbdVUsdVUsdVUsaFVdKyJcXCkkIikseVU9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tkVSxkVSxkVSxoVV0rIlxcKSQiKSx2VT1uZXcgUmVnRXhwKCJeaHNsXFwoIitbaFUsZFUsZFVdKyJcXCkkIiksYlU9bmV3IFJlZ0V4cCgiXmhzbGFcXCgiK1toVSxkVSxkVSxoVV0rIlxcKSQiKSx4VT17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiB3VSh0KXt2YXIgZTtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKGU9cFUuZXhlYyh0KSk/bmV3IENVKChlPXBhcnNlSW50KGVbMV0sMTYpKT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgxNSZlKTw8NHwxNSZlLDEpOihlPWZVLmV4ZWModCkpP1NVKHBhcnNlSW50KGVbMV0sMTYpKTooZT1tVS5leGVjKHQpKT9uZXcgQ1UoZVsxXSxlWzJdLGVbM10sMSk6KGU9Z1UuZXhlYyh0KSk/bmV3IENVKDI1NSplWzFdLzEwMCwyNTUqZVsyXS8xMDAsMjU1KmVbM10vMTAwLDEpOihlPV9VLmV4ZWModCkpP01VKGVbMV0sZVsyXSxlWzNdLGVbNF0pOihlPXlVLmV4ZWModCkpP01VKDI1NSplWzFdLzEwMCwyNTUqZVsyXS8xMDAsMjU1KmVbM10vMTAwLGVbNF0pOihlPXZVLmV4ZWModCkpP0FVKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsMSk6KGU9YlUuZXhlYyh0KSk/QVUoZVsxXSxlWzJdLzEwMCxlWzNdLzEwMCxlWzRdKTp4VS5oYXNPd25Qcm9wZXJ0eSh0KT9TVSh4VVt0XSk6InRyYW5zcGFyZW50Ij09PXQ/bmV3IENVKE5hTixOYU4sTmFOLDApOm51bGx9ZnVuY3Rpb24gU1UodCl7cmV0dXJuIG5ldyBDVSh0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnQsMSl9ZnVuY3Rpb24gTVUodCxlLG4saSl7cmV0dXJuIGk8PTAmJih0PWU9bj1OYU4pLG5ldyBDVSh0LGUsbixpKX1mdW5jdGlvbiBFVSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHNVfHwodD13VSh0KSksdD9uZXcgQ1UoKHQ9dC5yZ2IoKSkucix0LmcsdC5iLHQub3BhY2l0eSk6bmV3IENVfWZ1bmN0aW9uIFRVKHQsZSxuLGkpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD9FVSh0KTpuZXcgQ1UodCxlLG4sbnVsbD09aT8xOmkpfWZ1bmN0aW9uIENVKHQsZSxuLGkpe3RoaXMucj0rdCx0aGlzLmc9K2UsdGhpcy5iPStuLHRoaXMub3BhY2l0eT0raX1mdW5jdGlvbiBBVSh0LGUsbixpKXtyZXR1cm4gaTw9MD90PWU9bj1OYU46bjw9MHx8bj49MT90PWU9TmFOOmU8PTAmJih0PU5hTiksbmV3IFBVKHQsZSxuLGkpfWZ1bmN0aW9uIGtVKHQpe2lmKHQgaW5zdGFuY2VvZiBQVSlyZXR1cm4gbmV3IFBVKHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIHNVfHwodD13VSh0KSksIXQpcmV0dXJuIG5ldyBQVTtpZih0IGluc3RhbmNlb2YgUFUpcmV0dXJuIHQ7dmFyIGU9KHQ9dC5yZ2IoKSkuci8yNTUsbj10LmcvMjU1LGk9dC5iLzI1NSxyPU1hdGgubWluKGUsbixpKSxvPU1hdGgubWF4KGUsbixpKSxhPU5hTixzPW8tcixsPShvK3IpLzI7cmV0dXJuIHM/KGE9ZT09PW8/KG4taSkvcys2KihuPGkpOm49PT1vPyhpLWUpL3MrMjooZS1uKS9zKzQscy89bDwuNT9vK3I6Mi1vLXIsYSo9NjApOnM9bD4wJiZsPDE/MDphLG5ldyBQVShhLHMsbCx0Lm9wYWNpdHkpfWZ1bmN0aW9uIExVKHQsZSxuLGkpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD9rVSh0KTpuZXcgUFUodCxlLG4sbnVsbD09aT8xOmkpfWZ1bmN0aW9uIFBVKHQsZSxuLGkpe3RoaXMuaD0rdCx0aGlzLnM9K2UsdGhpcy5sPStuLHRoaXMub3BhY2l0eT0raX1mdW5jdGlvbiBOVSh0LGUsbil7cmV0dXJuIDI1NSoodDw2MD9lKyhuLWUpKnQvNjA6dDwxODA/bjp0PDI0MD9lKyhuLWUpKigyNDAtdCkvNjA6ZSl9b1Uoc1Usd1Use2Rpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkuZGlzcGxheWFibGUoKX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZ2IoKSsiIn19KSxvVShDVSxUVSxhVShzVSx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9jVTpNYXRoLnBvdyhjVSx0KSxuZXcgQ1UodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/bFU6TWF0aC5wb3cobFUsdCksbmV3IENVKHRoaXMucip0LHRoaXMuZyp0LHRoaXMuYip0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3JldHVybiB0aGlzfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybiAwPD10aGlzLnImJnRoaXMucjw9MjU1JiYwPD10aGlzLmcmJnRoaXMuZzw9MjU1JiYwPD10aGlzLmImJnRoaXMuYjw9MjU1JiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJyZ2IoIjoicmdiYSgiKStNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMucil8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5nKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmIpfHwwKSkrKDE9PT10PyIpIjoiLCAiK3QrIikiKX19KSksb1UoUFUsTFUsYVUoc1Use2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/Y1U6TWF0aC5wb3coY1UsdCksbmV3IFBVKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/bFU6TWF0aC5wb3cobFUsdCksbmV3IFBVKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5oJTM2MCszNjAqKHRoaXMuaDwwKSxlPWlzTmFOKHQpfHxpc05hTih0aGlzLnMpPzA6dGhpcy5zLG49dGhpcy5sLGk9bisobjwuNT9uOjEtbikqZSxyPTIqbi1pO3JldHVybiBuZXcgQ1UoTlUodD49MjQwP3QtMjQwOnQrMTIwLHIsaSksTlUodCxyLGkpLE5VKHQ8MTIwP3QrMjQwOnQtMTIwLHIsaSksdGhpcy5vcGFjaXR5KX0sZGlzcGxheWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4oMDw9dGhpcy5zJiZ0aGlzLnM8PTF8fGlzTmFOKHRoaXMucykpJiYwPD10aGlzLmwmJnRoaXMubDw9MSYmMDw9dGhpcy5vcGFjaXR5JiZ0aGlzLm9wYWNpdHk8PTF9fSkpO3ZhciBJVT1NYXRoLlBJLzE4MCxSVT0xODAvTWF0aC5QSSxPVT0uOTUwNDcselU9MS4wODg4MyxEVT00LzI5LEJVPTYvMjksSFU9MypCVSpCVTtmdW5jdGlvbiBGVSh0KXtpZih0IGluc3RhbmNlb2YgVVUpcmV0dXJuIG5ldyBVVSh0LmwsdC5hLHQuYix0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiAkVSl7dmFyIGU9dC5oKklVO3JldHVybiBuZXcgVVUodC5sLE1hdGguY29zKGUpKnQuYyxNYXRoLnNpbihlKSp0LmMsdC5vcGFjaXR5KX10IGluc3RhbmNlb2YgQ1V8fCh0PUVVKHQpKTt2YXIgbj1xVSh0LnIpLGk9cVUodC5nKSxyPXFVKHQuYiksbz1qVSgoLjQxMjQ1NjQqbisuMzU3NTc2MSppKy4xODA0Mzc1KnIpL09VKSxhPWpVKCguMjEyNjcyOSpuKy43MTUxNTIyKmkrLjA3MjE3NSpyKS8xKTtyZXR1cm4gbmV3IFVVKDExNiphLTE2LDUwMCooby1hKSwyMDAqKGEtalUoKC4wMTkzMzM5Km4rLjExOTE5MippKy45NTAzMDQxKnIpL3pVKSksdC5vcGFjaXR5KX1mdW5jdGlvbiBWVSh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/RlUodCk6bmV3IFVVKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBVVSh0LGUsbixpKXt0aGlzLmw9K3QsdGhpcy5hPStlLHRoaXMuYj0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24galUodCl7cmV0dXJuIHQ+LjAwODg1NjQ1MTY3OTAzNTYzMT9NYXRoLnBvdyh0LDEvMyk6dC9IVStEVX1mdW5jdGlvbiBHVSh0KXtyZXR1cm4gdD5CVT90KnQqdDpIVSoodC1EVSl9ZnVuY3Rpb24gV1UodCl7cmV0dXJuIDI1NSoodDw9LjAwMzEzMDg/MTIuOTIqdDoxLjA1NSpNYXRoLnBvdyh0LDEvMi40KS0uMDU1KX1mdW5jdGlvbiBxVSh0KXtyZXR1cm4odC89MjU1KTw9LjA0MDQ1P3QvMTIuOTI6TWF0aC5wb3coKHQrLjA1NSkvMS4wNTUsMi40KX1mdW5jdGlvbiBZVSh0KXtpZih0IGluc3RhbmNlb2YgJFUpcmV0dXJuIG5ldyAkVSh0LmgsdC5jLHQubCx0Lm9wYWNpdHkpO3QgaW5zdGFuY2VvZiBVVXx8KHQ9RlUodCkpO3ZhciBlPU1hdGguYXRhbjIodC5iLHQuYSkqUlU7cmV0dXJuIG5ldyAkVShlPDA/ZSszNjA6ZSxNYXRoLnNxcnQodC5hKnQuYSt0LmIqdC5iKSx0LmwsdC5vcGFjaXR5KX1mdW5jdGlvbiBYVSh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/WVUodCk6bmV3ICRVKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiAkVSh0LGUsbixpKXt0aGlzLmg9K3QsdGhpcy5jPStlLHRoaXMubD0rbix0aGlzLm9wYWNpdHk9K2l9b1UoVVUsVlUsYVUoc1Use2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgVVUodGhpcy5sKzE4KihudWxsPT10PzE6dCksdGhpcy5hLHRoaXMuYix0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBVVSh0aGlzLmwtMTgqKG51bGw9PXQ/MTp0KSx0aGlzLmEsdGhpcy5iLHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3ZhciB0PSh0aGlzLmwrMTYpLzExNixlPWlzTmFOKHRoaXMuYSk/dDp0K3RoaXMuYS81MDAsbj1pc05hTih0aGlzLmIpP3Q6dC10aGlzLmIvMjAwO3JldHVybiB0PTEqR1UodCksbmV3IENVKFdVKDMuMjQwNDU0MiooZT1PVSpHVShlKSktMS41MzcxMzg1KnQtLjQ5ODUzMTQqKG49elUqR1UobikpKSxXVSgtLjk2OTI2NiplKzEuODc2MDEwOCp0Ky4wNDE1NTYqbiksV1UoLjA1NTY0MzQqZS0uMjA0MDI1OSp0KzEuMDU3MjI1MipuKSx0aGlzLm9wYWNpdHkpfX0pKSxvVSgkVSxYVSxhVShzVSx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyAkVSh0aGlzLmgsdGhpcy5jLHRoaXMubCsxOCoobnVsbD09dD8xOnQpLHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3ICRVKHRoaXMuaCx0aGlzLmMsdGhpcy5sLTE4KihudWxsPT10PzE6dCksdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIEZVKHRoaXMpLnJnYigpfX0pKTt2YXIgS1U9LS4xNDg2MSxaVT0xLjc4Mjc3LEpVPS0uMjkyMjcsUVU9LS45MDY0OSx0aj0xLjk3Mjk0LGVqPXRqKlFVLG5qPXRqKlpVLGlqPVpVKkpVLVFVKktVO2Z1bmN0aW9uIHJqKHQpe2lmKHQgaW5zdGFuY2VvZiBhailyZXR1cm4gbmV3IGFqKHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7dCBpbnN0YW5jZW9mIENVfHwodD1FVSh0KSk7dmFyIGU9dC5nLzI1NSxuPXQuYi8yNTUsaT0oaWoqbitlaioodC5yLzI1NSktbmoqZSkvLTUuOTYxNTEyMjkxMixyPW4taSxvPSh0aiooZS1pKS1KVSpyKS9RVSxhPU1hdGguc3FydChvKm8rcipyKS8odGoqaSooMS1pKSkscz1hP01hdGguYXRhbjIobyxyKSpSVS0xMjA6TmFOO3JldHVybiBuZXcgYWooczwwP3MrMzYwOnMsYSxpLHQub3BhY2l0eSl9ZnVuY3Rpb24gb2oodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3JqKHQpOm5ldyBhaih0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24gYWoodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfW9VKGFqLG9qLGFVKHNVLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P2NVOk1hdGgucG93KGNVLHQpLG5ldyBhaih0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P2xVOk1hdGgucG93KGxVLHQpLG5ldyBhaih0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3ZhciB0PWlzTmFOKHRoaXMuaCk/MDoodGhpcy5oKzEyMCkqSVUsZT0rdGhpcy5sLG49aXNOYU4odGhpcy5zKT8wOnRoaXMucyplKigxLWUpLGk9TWF0aC5jb3ModCkscj1NYXRoLnNpbih0KTtyZXR1cm4gbmV3IENVKDI1NSooZStuKihLVSppK1pVKnIpKSwyNTUqKGUrbiooSlUqaStRVSpyKSksMjU1KihlK24qKHRqKmkpKSx0aGlzLm9wYWNpdHkpfX0pKTt2YXIgc2o9e3ZhbHVlOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gbGooKXtmb3IodmFyIHQsZT0wLG49YXJndW1lbnRzLmxlbmd0aCxpPXt9O2U8bjsrK2Upe2lmKCEodD1hcmd1bWVudHNbZV0rIiIpfHx0IGluIGkpdGhyb3cgbmV3IEVycm9yKCJpbGxlZ2FsIHR5cGU6ICIrdCk7aVt0XT1bXX1yZXR1cm4gbmV3IGNqKGkpfWZ1bmN0aW9uIGNqKHQpe3RoaXMuXz10fWZ1bmN0aW9uIHVqKHQsZSl7cmV0dXJuIHQudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcCgoZnVuY3Rpb24odCl7dmFyIG49IiIsaT10LmluZGV4T2YoIi4iKTtpZihpPj0wJiYobj10LnNsaWNlKGkrMSksdD10LnNsaWNlKDAsaSkpLHQmJiFlLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO3JldHVybnt0eXBlOnQsbmFtZTpufX0pKX1mdW5jdGlvbiBoaih0LGUpe2Zvcih2YXIgbixpPTAscj10Lmxlbmd0aDtpPHI7KytpKWlmKChuPXRbaV0pLm5hbWU9PT1lKXJldHVybiBuLnZhbHVlfWZ1bmN0aW9uIGRqKHQsZSxuKXtmb3IodmFyIGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYodFtpXS5uYW1lPT09ZSl7dFtpXT1zaix0PXQuc2xpY2UoMCxpKS5jb25jYXQodC5zbGljZShpKzEpKTticmVha31yZXR1cm4gbnVsbCE9biYmdC5wdXNoKHtuYW1lOmUsdmFsdWU6bn0pLHR9Y2oucHJvdG90eXBlPWxqLnByb3RvdHlwZT17Y29uc3RydWN0b3I6Y2osb246ZnVuY3Rpb24odCxlKXt2YXIgbixpPXRoaXMuXyxyPXVqKHQrIiIsaSksbz0tMSxhPXIubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7aWYobnVsbCE9ZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrOiAiK2UpO2Zvcig7KytvPGE7KWlmKG49KHQ9cltvXSkudHlwZSlpW25dPWRqKGlbbl0sdC5uYW1lLGUpO2Vsc2UgaWYobnVsbD09ZSlmb3IobiBpbiBpKWlbbl09ZGooaVtuXSx0Lm5hbWUsbnVsbCk7cmV0dXJuIHRoaXN9Zm9yKDsrK288YTspaWYoKG49KHQ9cltvXSkudHlwZSkmJihuPWhqKGlbbl0sdC5uYW1lKSkpcmV0dXJuIG59LGNvcHk6ZnVuY3Rpb24oKXt2YXIgdD17fSxlPXRoaXMuXztmb3IodmFyIG4gaW4gZSl0W25dPWVbbl0uc2xpY2UoKTtyZXR1cm4gbmV3IGNqKHQpfSxjYWxsOmZ1bmN0aW9uKHQsZSl7aWYoKG49YXJndW1lbnRzLmxlbmd0aC0yKT4wKWZvcih2YXIgbixpLHI9bmV3IEFycmF5KG4pLG89MDtvPG47KytvKXJbb109YXJndW1lbnRzW28rMl07aWYoIXRoaXMuXy5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtmb3Iobz0wLG49KGk9dGhpcy5fW3RdKS5sZW5ndGg7bzxuOysrbylpW29dLnZhbHVlLmFwcGx5KGUscil9LGFwcGx5OmZ1bmN0aW9uKHQsZSxuKXtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2Zvcih2YXIgaT10aGlzLl9bdF0scj0wLG89aS5sZW5ndGg7cjxvOysrcilpW3JdLnZhbHVlLmFwcGx5KGUsbil9fTt2YXIgcGo9e3ZhbHVlOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gZmooKXtmb3IodmFyIHQsZT0wLG49YXJndW1lbnRzLmxlbmd0aCxpPXt9O2U8bjsrK2Upe2lmKCEodD1hcmd1bWVudHNbZV0rIiIpfHx0IGluIGl8fC9bXHMuXS8udGVzdCh0KSl0aHJvdyBuZXcgRXJyb3IoImlsbGVnYWwgdHlwZTogIit0KTtpW3RdPVtdfXJldHVybiBuZXcgbWooaSl9ZnVuY3Rpb24gbWoodCl7dGhpcy5fPXR9ZnVuY3Rpb24gZ2oodCxlKXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKChmdW5jdGlvbih0KXt2YXIgbj0iIixpPXQuaW5kZXhPZigiLiIpO2lmKGk+PTAmJihuPXQuc2xpY2UoaSsxKSx0PXQuc2xpY2UoMCxpKSksdCYmIWUuaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7cmV0dXJue3R5cGU6dCxuYW1lOm59fSkpfWZ1bmN0aW9uIF9qKHQsZSl7Zm9yKHZhciBuLGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYoKG49dFtpXSkubmFtZT09PWUpcmV0dXJuIG4udmFsdWV9ZnVuY3Rpb24geWoodCxlLG4pe2Zvcih2YXIgaT0wLHI9dC5sZW5ndGg7aTxyOysraSlpZih0W2ldLm5hbWU9PT1lKXt0W2ldPXBqLHQ9dC5zbGljZSgwLGkpLmNvbmNhdCh0LnNsaWNlKGkrMSkpO2JyZWFrfXJldHVybiBudWxsIT1uJiZ0LnB1c2goe25hbWU6ZSx2YWx1ZTpufSksdH1tai5wcm90b3R5cGU9ZmoucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjptaixvbjpmdW5jdGlvbih0LGUpe3ZhciBuLGk9dGhpcy5fLHI9Z2oodCsiIixpKSxvPS0xLGE9ci5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtpZihudWxsIT1lJiYiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2FsbGJhY2s6ICIrZSk7Zm9yKDsrK288YTspaWYobj0odD1yW29dKS50eXBlKWlbbl09eWooaVtuXSx0Lm5hbWUsZSk7ZWxzZSBpZihudWxsPT1lKWZvcihuIGluIGkpaVtuXT15aihpW25dLHQubmFtZSxudWxsKTtyZXR1cm4gdGhpc31mb3IoOysrbzxhOylpZigobj0odD1yW29dKS50eXBlKSYmKG49X2ooaVtuXSx0Lm5hbWUpKSlyZXR1cm4gbn0sY29weTpmdW5jdGlvbigpe3ZhciB0PXt9LGU9dGhpcy5fO2Zvcih2YXIgbiBpbiBlKXRbbl09ZVtuXS5zbGljZSgpO3JldHVybiBuZXcgbWoodCl9LGNhbGw6ZnVuY3Rpb24odCxlKXtpZigobj1hcmd1bWVudHMubGVuZ3RoLTIpPjApZm9yKHZhciBuLGkscj1uZXcgQXJyYXkobiksbz0wO288bjsrK28pcltvXT1hcmd1bWVudHNbbysyXTtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2ZvcihvPTAsbj0oaT10aGlzLl9bdF0pLmxlbmd0aDtvPG47KytvKWlbb10udmFsdWUuYXBwbHkoZSxyKX0sYXBwbHk6ZnVuY3Rpb24odCxlLG4pe2lmKCF0aGlzLl8uaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7Zm9yKHZhciBpPXRoaXMuX1t0XSxyPTAsbz1pLmxlbmd0aDtyPG87KytyKWlbcl0udmFsdWUuYXBwbHkoZSxuKX19O3ZhciB2aj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsYmo9e3N2ZzoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhodG1sOnZqLHhsaW5rOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIix4bWw6Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIn07ZnVuY3Rpb24geGoodCl7dmFyIGU9dCs9IiIsbj1lLmluZGV4T2YoIjoiKTtyZXR1cm4gbj49MCYmInhtbG5zIiE9PShlPXQuc2xpY2UoMCxuKSkmJih0PXQuc2xpY2UobisxKSksYmouaGFzT3duUHJvcGVydHkoZSk/e3NwYWNlOmJqW2VdLGxvY2FsOnR9OnR9ZnVuY3Rpb24gd2oodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vd25lckRvY3VtZW50LG49dGhpcy5uYW1lc3BhY2VVUkk7cmV0dXJuIG49PT12aiYmZS5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJPT09dmo/ZS5jcmVhdGVFbGVtZW50KHQpOmUuY3JlYXRlRWxlbWVudE5TKG4sdCl9fWZ1bmN0aW9uIFNqKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIE1qKHQpe3ZhciBlPXhqKHQpO3JldHVybihlLmxvY2FsP1NqOndqKShlKX1mdW5jdGlvbiBFaigpe31mdW5jdGlvbiBUaih0KXtyZXR1cm4gbnVsbD09dD9FajpmdW5jdGlvbigpe3JldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3IodCl9fWZ1bmN0aW9uIENqKCl7cmV0dXJuW119ZnVuY3Rpb24gQWoodCl7cmV0dXJuIG5ldyBBcnJheSh0Lmxlbmd0aCl9ZnVuY3Rpb24ga2oodCxlKXt0aGlzLm93bmVyRG9jdW1lbnQ9dC5vd25lckRvY3VtZW50LHRoaXMubmFtZXNwYWNlVVJJPXQubmFtZXNwYWNlVVJJLHRoaXMuX25leHQ9bnVsbCx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9fZGF0YV9fPWV9a2oucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpraixhcHBlbmRDaGlsZDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGFyZW50Lmluc2VydEJlZm9yZSh0LHRoaXMuX25leHQpfSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fcGFyZW50Lmluc2VydEJlZm9yZSh0LGUpfSxxdWVyeVNlbGVjdG9yOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3Rvcih0KX0scXVlcnlTZWxlY3RvckFsbDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3JBbGwodCl9fTtmdW5jdGlvbiBMaih0LGUsbixpLHIsbyl7Zm9yKHZhciBhLHM9MCxsPWUubGVuZ3RoLGM9by5sZW5ndGg7czxjOysrcykoYT1lW3NdKT8oYS5fX2RhdGFfXz1vW3NdLGlbc109YSk6bltzXT1uZXcga2oodCxvW3NdKTtmb3IoO3M8bDsrK3MpKGE9ZVtzXSkmJihyW3NdPWEpfWZ1bmN0aW9uIFBqKHQsZSxuLGkscixvLGEpe3ZhciBzLGwsYyx1PXt9LGg9ZS5sZW5ndGgsZD1vLmxlbmd0aCxwPW5ldyBBcnJheShoKTtmb3Iocz0wO3M8aDsrK3MpKGw9ZVtzXSkmJihwW3NdPWM9IiQiK2EuY2FsbChsLGwuX19kYXRhX18scyxlKSxjIGluIHU/cltzXT1sOnVbY109bCk7Zm9yKHM9MDtzPGQ7KytzKShsPXVbYz0iJCIrYS5jYWxsKHQsb1tzXSxzLG8pXSk/KGlbc109bCxsLl9fZGF0YV9fPW9bc10sdVtjXT1udWxsKTpuW3NdPW5ldyBraih0LG9bc10pO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmdVtwW3NdXT09PWwmJihyW3NdPWwpfWZ1bmN0aW9uIE5qKHQsZSl7cmV0dXJuIHQ8ZT8tMTp0PmU/MTp0Pj1lPzA6TmFOfWZ1bmN0aW9uIElqKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpfX1mdW5jdGlvbiBSaih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIE9qKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5zZXRBdHRyaWJ1dGUodCxlKX19ZnVuY3Rpb24gemoodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxlKX19ZnVuY3Rpb24gRGoodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpOnRoaXMuc2V0QXR0cmlidXRlKHQsbil9fWZ1bmN0aW9uIEJqKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09bj90aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCk6dGhpcy5zZXRBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwsbil9fWZ1bmN0aW9uIEhqKHQpe3JldHVybiB0Lm93bmVyRG9jdW1lbnQmJnQub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlld3x8dC5kb2N1bWVudCYmdHx8dC5kZWZhdWx0Vmlld31mdW5jdGlvbiBGaih0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX1mdW5jdGlvbiBWaih0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSh0LGUsbil9fWZ1bmN0aW9uIFVqKHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgaT1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1pP3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCk6dGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSh0LGksbil9fWZ1bmN0aW9uIGpqKHQsZSl7cmV0dXJuIHQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShlKXx8SGoodCkuZ2V0Q29tcHV0ZWRTdHlsZSh0LG51bGwpLmdldFByb3BlcnR5VmFsdWUoZSl9ZnVuY3Rpb24gR2oodCl7cmV0dXJuIGZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXNbdF19fWZ1bmN0aW9uIFdqKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpc1t0XT1lfX1mdW5jdGlvbiBxaih0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/ZGVsZXRlIHRoaXNbdF06dGhpc1t0XT1ufX1mdW5jdGlvbiBZaih0KXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLyl9ZnVuY3Rpb24gWGoodCl7cmV0dXJuIHQuY2xhc3NMaXN0fHxuZXcgJGoodCl9ZnVuY3Rpb24gJGoodCl7dGhpcy5fbm9kZT10LHRoaXMuX25hbWVzPVlqKHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9ZnVuY3Rpb24gS2oodCxlKXtmb3IodmFyIG49WGoodCksaT0tMSxyPWUubGVuZ3RoOysraTxyOyluLmFkZChlW2ldKX1mdW5jdGlvbiBaaih0LGUpe2Zvcih2YXIgbj1Yaih0KSxpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KW4ucmVtb3ZlKGVbaV0pfWZ1bmN0aW9uIEpqKHQpe3JldHVybiBmdW5jdGlvbigpe0tqKHRoaXMsdCl9fWZ1bmN0aW9uIFFqKHQpe3JldHVybiBmdW5jdGlvbigpe1pqKHRoaXMsdCl9fWZ1bmN0aW9uIHRHKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7KGUuYXBwbHkodGhpcyxhcmd1bWVudHMpP0tqOlpqKSh0aGlzLHQpfX1mdW5jdGlvbiBlRygpe3RoaXMudGV4dENvbnRlbnQ9IiJ9ZnVuY3Rpb24gbkcodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy50ZXh0Q29udGVudD10fX1mdW5jdGlvbiBpRyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLnRleHRDb250ZW50PW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24gckcoKXt0aGlzLmlubmVySFRNTD0iIn1mdW5jdGlvbiBvRyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLmlubmVySFRNTD10fX1mdW5jdGlvbiBhRyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aGlzLmlubmVySFRNTD1udWxsPT1lPyIiOmV9fWZ1bmN0aW9uIHNHKCl7dGhpcy5uZXh0U2libGluZyYmdGhpcy5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHRoaXMpfWZ1bmN0aW9uIGxHKCl7dGhpcy5wcmV2aW91c1NpYmxpbmcmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcyx0aGlzLnBhcmVudE5vZGUuZmlyc3RDaGlsZCl9ZnVuY3Rpb24gY0coKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiB1Rygpe3ZhciB0PXRoaXMucGFyZW50Tm9kZTt0JiZ0LnJlbW92ZUNoaWxkKHRoaXMpfWZ1bmN0aW9uIGhHKCl7dmFyIHQ9dGhpcy5jbG9uZU5vZGUoITEpLGU9dGhpcy5wYXJlbnROb2RlO3JldHVybiBlP2UuaW5zZXJ0QmVmb3JlKHQsdGhpcy5uZXh0U2libGluZyk6dH1mdW5jdGlvbiBkRygpe3ZhciB0PXRoaXMuY2xvbmVOb2RlKCEwKSxlPXRoaXMucGFyZW50Tm9kZTtyZXR1cm4gZT9lLmluc2VydEJlZm9yZSh0LHRoaXMubmV4dFNpYmxpbmcpOnR9JGoucHJvdG90eXBlPXthZGQ6ZnVuY3Rpb24odCl7dGhpcy5fbmFtZXMuaW5kZXhPZih0KTwwJiYodGhpcy5fbmFtZXMucHVzaCh0KSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbmFtZXMuaW5kZXhPZih0KTtlPj0wJiYodGhpcy5fbmFtZXMuc3BsaWNlKGUsMSksdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLl9uYW1lcy5qb2luKCIgIikpKX0sY29udGFpbnM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX25hbWVzLmluZGV4T2YodCk+PTB9fTt2YXIgcEc9e30sZkc9bnVsbDsidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiYoIm9ubW91c2VlbnRlciJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR8fChwRz17bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9KSk7ZnVuY3Rpb24gbUcodCxlLG4pe3JldHVybiB0PWdHKHQsZSxuKSxmdW5jdGlvbihlKXt2YXIgbj1lLnJlbGF0ZWRUYXJnZXQ7biYmKG49PT10aGlzfHw4Jm4uY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcykpfHx0LmNhbGwodGhpcyxlKX19ZnVuY3Rpb24gZ0codCxlLG4pe3JldHVybiBmdW5jdGlvbihpKXt2YXIgcj1mRztmRz1pO3RyeXt0LmNhbGwodGhpcyx0aGlzLl9fZGF0YV9fLGUsbil9ZmluYWxseXtmRz1yfX19ZnVuY3Rpb24gX0codCl7cmV0dXJuIHQudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9IiIsbj10LmluZGV4T2YoIi4iKTtyZXR1cm4gbj49MCYmKGU9dC5zbGljZShuKzEpLHQ9dC5zbGljZSgwLG4pKSx7dHlwZTp0LG5hbWU6ZX19KSl9ZnVuY3Rpb24geUcodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fX29uO2lmKGUpe2Zvcih2YXIgbixpPTAscj0tMSxvPWUubGVuZ3RoO2k8bzsrK2kpbj1lW2ldLHQudHlwZSYmbi50eXBlIT09dC50eXBlfHxuLm5hbWUhPT10Lm5hbWU/ZVsrK3JdPW46dGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKG4udHlwZSxuLmxpc3RlbmVyLG4uY2FwdHVyZSk7KytyP2UubGVuZ3RoPXI6ZGVsZXRlIHRoaXMuX19vbn19fWZ1bmN0aW9uIHZHKHQsZSxuKXt2YXIgaT1wRy5oYXNPd25Qcm9wZXJ0eSh0LnR5cGUpP21HOmdHO3JldHVybiBmdW5jdGlvbihyLG8sYSl7dmFyIHMsbD10aGlzLl9fb24sYz1pKGUsbyxhKTtpZihsKWZvcih2YXIgdT0wLGg9bC5sZW5ndGg7dTxoOysrdSlpZigocz1sW3VdKS50eXBlPT09dC50eXBlJiZzLm5hbWU9PT10Lm5hbWUpcmV0dXJuIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcixzLmNhcHR1cmUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcj1jLHMuY2FwdHVyZT1uKSx2b2lkKHMudmFsdWU9ZSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKHQudHlwZSxjLG4pLHM9e3R5cGU6dC50eXBlLG5hbWU6dC5uYW1lLHZhbHVlOmUsbGlzdGVuZXI6YyxjYXB0dXJlOm59LGw/bC5wdXNoKHMpOnRoaXMuX19vbj1bc119fWZ1bmN0aW9uIGJHKHQsZSxuLGkpe3ZhciByPWZHO3Quc291cmNlRXZlbnQ9ZkcsZkc9dDt0cnl7cmV0dXJuIGUuYXBwbHkobixpKX1maW5hbGx5e2ZHPXJ9fWZ1bmN0aW9uIHhHKHQsZSxuKXt2YXIgaT1Iaih0KSxyPWkuQ3VzdG9tRXZlbnQ7ImZ1bmN0aW9uIj09dHlwZW9mIHI/cj1uZXcgcihlLG4pOihyPWkuZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iiksbj8oci5pbml0RXZlbnQoZSxuLmJ1YmJsZXMsbi5jYW5jZWxhYmxlKSxyLmRldGFpbD1uLmRldGFpbCk6ci5pbml0RXZlbnQoZSwhMSwhMSkpLHQuZGlzcGF0Y2hFdmVudChyKX1mdW5jdGlvbiB3Ryh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB4Ryh0aGlzLHQsZSl9fWZ1bmN0aW9uIFNHKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHhHKHRoaXMsdCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXZhciBNRz1bbnVsbF07ZnVuY3Rpb24gRUcodCxlKXt0aGlzLl9ncm91cHM9dCx0aGlzLl9wYXJlbnRzPWV9ZnVuY3Rpb24gVEcodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P25ldyBFRyhbW2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCldXSxbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSk6bmV3IEVHKFtbdF1dLE1HKX1mdW5jdGlvbiBDRygpe2Zvcih2YXIgdCxlPWZHO3Q9ZS5zb3VyY2VFdmVudDspZT10O3JldHVybiBlfWZ1bmN0aW9uIEFHKHQsZSl7dmFyIG49dC5vd25lclNWR0VsZW1lbnR8fHQ7aWYobi5jcmVhdGVTVkdQb2ludCl7dmFyIGk9bi5jcmVhdGVTVkdQb2ludCgpO3JldHVybiBpLng9ZS5jbGllbnRYLGkueT1lLmNsaWVudFksWyhpPWkubWF0cml4VHJhbnNmb3JtKHQuZ2V0U2NyZWVuQ1RNKCkuaW52ZXJzZSgpKSkueCxpLnldfXZhciByPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuW2UuY2xpZW50WC1yLmxlZnQtdC5jbGllbnRMZWZ0LGUuY2xpZW50WS1yLnRvcC10LmNsaWVudFRvcF19ZnVuY3Rpb24ga0codCl7dmFyIGU9Q0coKTtyZXR1cm4gZS5jaGFuZ2VkVG91Y2hlcyYmKGU9ZS5jaGFuZ2VkVG91Y2hlc1swXSksQUcodCxlKX1mdW5jdGlvbiBMRyh0LGUsbil7YXJndW1lbnRzLmxlbmd0aDwzJiYobj1lLGU9Q0coKS5jaGFuZ2VkVG91Y2hlcyk7Zm9yKHZhciBpLHI9MCxvPWU/ZS5sZW5ndGg6MDtyPG87KytyKWlmKChpPWVbcl0pLmlkZW50aWZpZXI9PT1uKXJldHVybiBBRyh0LGkpO3JldHVybiBudWxsfWZ1bmN0aW9uIFBHKCl7Zkcuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gTkcoKXtmRy5wcmV2ZW50RGVmYXVsdCgpLGZHLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIElHKHQpe3ZhciBlPXQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG49VEcodCkub24oImRyYWdzdGFydC5kcmFnIixORywhMCk7Im9uc2VsZWN0c3RhcnQiaW4gZT9uLm9uKCJzZWxlY3RzdGFydC5kcmFnIixORywhMCk6KGUuX19ub3NlbGVjdD1lLnN0eWxlLk1velVzZXJTZWxlY3QsZS5zdHlsZS5Nb3pVc2VyU2VsZWN0PSJub25lIil9ZnVuY3Rpb24gUkcodCxlKXt2YXIgbj10LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxpPVRHKHQpLm9uKCJkcmFnc3RhcnQuZHJhZyIsbnVsbCk7ZSYmKGkub24oImNsaWNrLmRyYWciLE5HLCEwKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2kub24oImNsaWNrLmRyYWciLG51bGwpfSksMCkpLCJvbnNlbGVjdHN0YXJ0ImluIG4/aS5vbigic2VsZWN0c3RhcnQuZHJhZyIsbnVsbCk6KG4uc3R5bGUuTW96VXNlclNlbGVjdD1uLl9fbm9zZWxlY3QsZGVsZXRlIG4uX19ub3NlbGVjdCl9ZnVuY3Rpb24gT0codCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIHpHKHQsZSxuLGkscixvLGEscyxsLGMpe3RoaXMudGFyZ2V0PXQsdGhpcy50eXBlPWUsdGhpcy5zdWJqZWN0PW4sdGhpcy5pZGVudGlmaWVyPWksdGhpcy5hY3RpdmU9cix0aGlzLng9byx0aGlzLnk9YSx0aGlzLmR4PXMsdGhpcy5keT1sLHRoaXMuXz1jfWZ1bmN0aW9uIERHKCl7cmV0dXJuIWZHLmJ1dHRvbn1mdW5jdGlvbiBCRygpe3JldHVybiB0aGlzLnBhcmVudE5vZGV9ZnVuY3Rpb24gSEcodCl7cmV0dXJuIG51bGw9PXQ/e3g6ZkcueCx5OmZHLnl9OnR9ZnVuY3Rpb24gRkcoKXtyZXR1cm4ib250b3VjaHN0YXJ0ImluIHRoaXN9RUcucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpFRyxzZWxlY3Q6ZnVuY3Rpb24gVkcodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVRqKHQpKTtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49ZS5sZW5ndGgsaT1uZXcgQXJyYXkobikscj0wO3I8bjsrK3IpZm9yKHZhciBvLGEscz1lW3JdLGw9cy5sZW5ndGgsYz1pW3JdPW5ldyBBcnJheShsKSx1PTA7dTxsOysrdSkobz1zW3VdKSYmKGE9dC5jYWxsKG8sby5fX2RhdGFfXyx1LHMpKSYmKCJfX2RhdGFfXyJpbiBvJiYoYS5fX2RhdGFfXz1vLl9fZGF0YV9fKSxjW3VdPWEpO3JldHVybiBuZXcgRUcoaSx0aGlzLl9wYXJlbnRzKX0sc2VsZWN0QWxsOmZ1bmN0aW9uIFVHKHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD0oZnVuY3Rpb24gZSh0KXtyZXR1cm4gbnVsbD09dD9DajpmdW5jdGlvbigpe3JldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwodCl9fSkodCkpO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsaT1uLmxlbmd0aCxyPVtdLG89W10sYT0wO2E8aTsrK2EpZm9yKHZhciBzLGw9blthXSxjPWwubGVuZ3RoLHU9MDt1PGM7Kyt1KShzPWxbdV0pJiYoci5wdXNoKHQuY2FsbChzLHMuX19kYXRhX18sdSxsKSksby5wdXNoKHMpKTtyZXR1cm4gbmV3IEVHKHIsbyl9LGZpbHRlcjpmdW5jdGlvbiBqRyh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9KGZ1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWF0Y2hlcyh0KX19KSh0KSk7Zm9yKHZhciBuPXRoaXMuX2dyb3VwcyxpPW4ubGVuZ3RoLHI9bmV3IEFycmF5KGkpLG89MDtvPGk7KytvKWZvcih2YXIgYSxzPW5bb10sbD1zLmxlbmd0aCxjPXJbb109W10sdT0wO3U8bDsrK3UpKGE9c1t1XSkmJnQuY2FsbChhLGEuX19kYXRhX18sdSxzKSYmYy5wdXNoKGEpO3JldHVybiBuZXcgRUcocix0aGlzLl9wYXJlbnRzKX0sZGF0YTpmdW5jdGlvbiBHRyh0LGUpe2lmKCF0KXJldHVybiBmPW5ldyBBcnJheSh0aGlzLnNpemUoKSksdT0tMSx0aGlzLmVhY2goKGZ1bmN0aW9uKHQpe2ZbKyt1XT10fSkpLGY7dmFyIG49ZT9QajpMaixpPXRoaXMuX3BhcmVudHMscj10aGlzLl9ncm91cHM7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PShmdW5jdGlvbiBvKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX0pKHQpKTtmb3IodmFyIGE9ci5sZW5ndGgscz1uZXcgQXJyYXkoYSksbD1uZXcgQXJyYXkoYSksYz1uZXcgQXJyYXkoYSksdT0wO3U8YTsrK3Upe3ZhciBoPWlbdV0sZD1yW3VdLHA9ZC5sZW5ndGgsZj10LmNhbGwoaCxoJiZoLl9fZGF0YV9fLHUsaSksbT1mLmxlbmd0aCxnPWxbdV09bmV3IEFycmF5KG0pLF89c1t1XT1uZXcgQXJyYXkobSk7bihoLGQsZyxfLGNbdV09bmV3IEFycmF5KHApLGYsZSk7Zm9yKHZhciB5LHYsYj0wLHg9MDtiPG07KytiKWlmKHk9Z1tiXSl7Zm9yKGI+PXgmJih4PWIrMSk7ISh2PV9beF0pJiYrK3g8bTspO3kuX25leHQ9dnx8bnVsbH19cmV0dXJuKHM9bmV3IEVHKHMsaSkpLl9lbnRlcj1sLHMuX2V4aXQ9YyxzfSxlbnRlcjpmdW5jdGlvbiBXRygpe3JldHVybiBuZXcgRUcodGhpcy5fZW50ZXJ8fHRoaXMuX2dyb3Vwcy5tYXAoQWopLHRoaXMuX3BhcmVudHMpfSxleGl0OmZ1bmN0aW9uIHFHKCl7cmV0dXJuIG5ldyBFRyh0aGlzLl9leGl0fHx0aGlzLl9ncm91cHMubWFwKEFqKSx0aGlzLl9wYXJlbnRzKX0sam9pbjpmdW5jdGlvbiBZRyh0LGUsbil7dmFyIGk9dGhpcy5lbnRlcigpLHI9dGhpcyxvPXRoaXMuZXhpdCgpO3JldHVybiBpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3QoaSk6aS5hcHBlbmQodCsiIiksbnVsbCE9ZSYmKHI9ZShyKSksbnVsbD09bj9vLnJlbW92ZSgpOm4obyksaSYmcj9pLm1lcmdlKHIpLm9yZGVyKCk6cn0sbWVyZ2U6ZnVuY3Rpb24gWEcodCl7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPXQuX2dyb3VwcyxpPWUubGVuZ3RoLHI9TWF0aC5taW4oaSxuLmxlbmd0aCksbz1uZXcgQXJyYXkoaSksYT0wO2E8cjsrK2EpZm9yKHZhciBzLGw9ZVthXSxjPW5bYV0sdT1sLmxlbmd0aCxoPW9bYV09bmV3IEFycmF5KHUpLGQ9MDtkPHU7KytkKShzPWxbZF18fGNbZF0pJiYoaFtkXT1zKTtmb3IoO2E8aTsrK2Epb1thXT1lW2FdO3JldHVybiBuZXcgRUcobyx0aGlzLl9wYXJlbnRzKX0sb3JkZXI6ZnVuY3Rpb24gJEcoKXtmb3IodmFyIHQ9dGhpcy5fZ3JvdXBzLGU9LTEsbj10Lmxlbmd0aDsrK2U8bjspZm9yKHZhciBpLHI9dFtlXSxvPXIubGVuZ3RoLTEsYT1yW29dOy0tbz49MDspKGk9cltvXSkmJihhJiY0XmkuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkmJmEucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaSxhKSxhPWkpO3JldHVybiB0aGlzfSxzb3J0OmZ1bmN0aW9uIEtHKHQpe2Z1bmN0aW9uIGUoZSxuKXtyZXR1cm4gZSYmbj90KGUuX19kYXRhX18sbi5fX2RhdGFfXyk6IWUtIW59dHx8KHQ9TmopO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsaT1uLmxlbmd0aCxyPW5ldyBBcnJheShpKSxvPTA7bzxpOysrbyl7Zm9yKHZhciBhLHM9bltvXSxsPXMubGVuZ3RoLGM9cltvXT1uZXcgQXJyYXkobCksdT0wO3U8bDsrK3UpKGE9c1t1XSkmJihjW3VdPWEpO2Muc29ydChlKX1yZXR1cm4gbmV3IEVHKHIsdGhpcy5fcGFyZW50cykub3JkZXIoKX0sY2FsbDpmdW5jdGlvbiBaRygpe3ZhciB0PWFyZ3VtZW50c1swXTtyZXR1cm4gYXJndW1lbnRzWzBdPXRoaXMsdC5hcHBseShudWxsLGFyZ3VtZW50cyksdGhpc30sbm9kZXM6ZnVuY3Rpb24gSkcoKXt2YXIgdD1uZXcgQXJyYXkodGhpcy5zaXplKCkpLGU9LTE7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt0WysrZV09dGhpc30pKSx0fSxub2RlOmZ1bmN0aW9uIFFHKCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPTAsbj10Lmxlbmd0aDtlPG47KytlKWZvcih2YXIgaT10W2VdLHI9MCxvPWkubGVuZ3RoO3I8bzsrK3Ipe3ZhciBhPWlbcl07aWYoYSlyZXR1cm4gYX1yZXR1cm4gbnVsbH0sc2l6ZTpmdW5jdGlvbiB0Vygpe3ZhciB0PTA7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXsrK3R9KSksdH0sZW1wdHk6ZnVuY3Rpb24gZVcoKXtyZXR1cm4hdGhpcy5ub2RlKCl9LGVhY2g6ZnVuY3Rpb24gblcodCl7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPTAsaT1lLmxlbmd0aDtuPGk7KytuKWZvcih2YXIgcixvPWVbbl0sYT0wLHM9by5sZW5ndGg7YTxzOysrYSkocj1vW2FdKSYmdC5jYWxsKHIsci5fX2RhdGFfXyxhLG8pO3JldHVybiB0aGlzfSxhdHRyOmZ1bmN0aW9uIGlXKHQsZSl7dmFyIG49eGoodCk7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXt2YXIgaT10aGlzLm5vZGUoKTtyZXR1cm4gbi5sb2NhbD9pLmdldEF0dHJpYnV0ZU5TKG4uc3BhY2Usbi5sb2NhbCk6aS5nZXRBdHRyaWJ1dGUobil9cmV0dXJuIHRoaXMuZWFjaCgobnVsbD09ZT9uLmxvY2FsP1JqOklqOiJmdW5jdGlvbiI9PXR5cGVvZiBlP24ubG9jYWw/Qmo6RGo6bi5sb2NhbD96ajpPaikobixlKSl9LHN0eWxlOmZ1bmN0aW9uIHJXKHQsZSxuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaCgobnVsbD09ZT9GajoiZnVuY3Rpb24iPT10eXBlb2YgZT9VajpWaikodCxlLG51bGw9PW4/IiI6bikpOmpqKHRoaXMubm9kZSgpLHQpfSxwcm9wZXJ0eTpmdW5jdGlvbiBvVyh0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/dGhpcy5lYWNoKChudWxsPT1lP0dqOiJmdW5jdGlvbiI9PXR5cGVvZiBlP3FqOldqKSh0LGUpKTp0aGlzLm5vZGUoKVt0XX0sY2xhc3NlZDpmdW5jdGlvbiBhVyh0LGUpe3ZhciBuPVlqKHQrIiIpO2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7Zm9yKHZhciBpPVhqKHRoaXMubm9kZSgpKSxyPS0xLG89bi5sZW5ndGg7KytyPG87KWlmKCFpLmNvbnRhaW5zKG5bcl0pKXJldHVybiExO3JldHVybiEwfXJldHVybiB0aGlzLmVhY2goKCJmdW5jdGlvbiI9PXR5cGVvZiBlP3RHOmU/Smo6UWopKG4sZSkpfSx0ZXh0OmZ1bmN0aW9uIHNXKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChudWxsPT10P2VHOigiZnVuY3Rpb24iPT10eXBlb2YgdD9pRzpuRykodCkpOnRoaXMubm9kZSgpLnRleHRDb250ZW50fSxodG1sOmZ1bmN0aW9uIGxXKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChudWxsPT10P3JHOigiZnVuY3Rpb24iPT10eXBlb2YgdD9hRzpvRykodCkpOnRoaXMubm9kZSgpLmlubmVySFRNTH0scmFpc2U6ZnVuY3Rpb24gY1coKXtyZXR1cm4gdGhpcy5lYWNoKHNHKX0sbG93ZXI6ZnVuY3Rpb24gdVcoKXtyZXR1cm4gdGhpcy5lYWNoKGxHKX0sYXBwZW5kOmZ1bmN0aW9uIGhXKHQpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TWoodCk7cmV0dXJuIHRoaXMuc2VsZWN0KChmdW5jdGlvbigpe3JldHVybiB0aGlzLmFwcGVuZENoaWxkKGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0pKX0saW5zZXJ0OmZ1bmN0aW9uIGRXKHQsZSl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpNaih0KSxpPW51bGw9PWU/Y0c6ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpUaihlKTtyZXR1cm4gdGhpcy5zZWxlY3QoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5zZXJ0QmVmb3JlKG4uYXBwbHkodGhpcyxhcmd1bWVudHMpLGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfHxudWxsKX0pKX0scmVtb3ZlOmZ1bmN0aW9uIHBXKCl7cmV0dXJuIHRoaXMuZWFjaCh1Ryl9LGNsb25lOmZ1bmN0aW9uIGZXKHQpe3JldHVybiB0aGlzLnNlbGVjdCh0P2RHOmhHKX0sZGF0dW06ZnVuY3Rpb24gbVcodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5wcm9wZXJ0eSgiX19kYXRhX18iLHQpOnRoaXMubm9kZSgpLl9fZGF0YV9ffSxvbjpmdW5jdGlvbiBnVyh0LGUsbil7dmFyIGkscixvPV9HKHQrIiIpLGE9by5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtmb3Iocz1lP3ZHOnlHLG51bGw9PW4mJihuPSExKSxpPTA7aTxhOysraSl0aGlzLmVhY2gocyhvW2ldLGUsbikpO3JldHVybiB0aGlzfXZhciBzPXRoaXMubm9kZSgpLl9fb247aWYocylmb3IodmFyIGwsYz0wLHU9cy5sZW5ndGg7Yzx1OysrYylmb3IoaT0wLGw9c1tjXTtpPGE7KytpKWlmKChyPW9baV0pLnR5cGU9PT1sLnR5cGUmJnIubmFtZT09PWwubmFtZSlyZXR1cm4gbC52YWx1ZX0sZGlzcGF0Y2g6ZnVuY3Rpb24gX1codCxlKXtyZXR1cm4gdGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgZT9TRzp3RykodCxlKSl9fSx6Ry5wcm90b3R5cGUub249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl8ub24uYXBwbHkodGhpcy5fLGFyZ3VtZW50cyk7cmV0dXJuIHQ9PT10aGlzLl8/dGhpczp0fTt2YXIgeVc9e30sdlc9e307ZnVuY3Rpb24gYlcodCl7cmV0dXJuIG5ldyBGdW5jdGlvbigiZCIsInJldHVybiB7Iit0Lm1hcCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCkrIjogZFsiK2UrIl0ifSkpLmpvaW4oIiwiKSsifSIpfWZ1bmN0aW9uIHhXKHQpe3ZhciBlPW5ldyBSZWdFeHAoJ1siJyt0KyJcblxyXSIpLG49dC5jaGFyQ29kZUF0KDApO2Z1bmN0aW9uIGkodCxlKXt2YXIgaSxyPVtdLG89dC5sZW5ndGgsYT0wLHM9MCxsPW88PTAsYz0hMTtmdW5jdGlvbiB1KCl7aWYobClyZXR1cm4gdlc7aWYoYylyZXR1cm4gYz0hMSx5Vzt2YXIgZSxpLHI9YTtpZigzND09PXQuY2hhckNvZGVBdChyKSl7Zm9yKDthKys8byYmMzQhPT10LmNoYXJDb2RlQXQoYSl8fDM0PT09dC5jaGFyQ29kZUF0KCsrYSk7KTtyZXR1cm4oZT1hKT49bz9sPSEwOjEwPT09KGk9dC5jaGFyQ29kZUF0KGErKykpP2M9ITA6MTM9PT1pJiYoYz0hMCwxMD09PXQuY2hhckNvZGVBdChhKSYmKythKSx0LnNsaWNlKHIrMSxlLTEpLnJlcGxhY2UoLyIiL2csJyInKX1mb3IoO2E8bzspe2lmKDEwPT09KGk9dC5jaGFyQ29kZUF0KGU9YSsrKSkpYz0hMDtlbHNlIGlmKDEzPT09aSljPSEwLDEwPT09dC5jaGFyQ29kZUF0KGEpJiYrK2E7ZWxzZSBpZihpIT09biljb250aW51ZTtyZXR1cm4gdC5zbGljZShyLGUpfXJldHVybiBsPSEwLHQuc2xpY2UocixvKX1mb3IoMTA9PT10LmNoYXJDb2RlQXQoby0xKSYmLS1vLDEzPT09dC5jaGFyQ29kZUF0KG8tMSkmJi0tbzsoaT11KCkpIT09dlc7KXtmb3IodmFyIGg9W107aSE9PXlXJiZpIT09dlc7KWgucHVzaChpKSxpPXUoKTtlJiZudWxsPT0oaD1lKGgscysrKSl8fHIucHVzaChoKX1yZXR1cm4gcn1mdW5jdGlvbiByKGUpe3JldHVybiBlLm1hcChvKS5qb2luKHQpfWZ1bmN0aW9uIG8odCl7cmV0dXJuIG51bGw9PXQ/IiI6ZS50ZXN0KHQrPSIiKT8nIicrdC5yZXBsYWNlKC8iL2csJyIiJykrJyInOnR9cmV0dXJue3BhcnNlOmZ1bmN0aW9uIGEodCxlKXt2YXIgbixyLG89aSh0LChmdW5jdGlvbih0LGkpe2lmKG4pcmV0dXJuIG4odCxpLTEpO3I9dCxuPWU/KGZ1bmN0aW9uIG8odCxlKXt2YXIgbj1iVyh0KTtyZXR1cm4gZnVuY3Rpb24oaSxyKXtyZXR1cm4gZShuKGkpLHIsdCl9fSkodCxlKTpiVyh0KX0pKTtyZXR1cm4gby5jb2x1bW5zPXJ8fFtdLG99LHBhcnNlUm93czppLGZvcm1hdDpmdW5jdGlvbiBzKGUsbil7cmV0dXJuIG51bGw9PW4mJihuPShmdW5jdGlvbiBpKHQpe3ZhciBlPU9iamVjdC5jcmVhdGUobnVsbCksbj1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtmb3IodmFyIGkgaW4gdClpIGluIGV8fG4ucHVzaChlW2ldPWkpfSkpLG59KShlKSksW24ubWFwKG8pLmpvaW4odCldLmNvbmNhdChlLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIG4ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gbyhlW3RdKX0pKS5qb2luKHQpfSkpKS5qb2luKCJcbiIpfSxmb3JtYXRSb3dzOmZ1bmN0aW9uIGwodCl7cmV0dXJuIHQubWFwKHIpLmpvaW4oIlxuIil9fX12YXIgd1c9eFcoIiwiKSxTVz13Vy5wYXJzZSxNVz13Vy5wYXJzZVJvd3MsRVc9d1cuZm9ybWF0LFRXPXdXLmZvcm1hdFJvd3MsQ1c9eFcoIlx0IiksQVc9Q1cucGFyc2Usa1c9Q1cucGFyc2VSb3dzLExXPUNXLmZvcm1hdCxQVz1DVy5mb3JtYXRSb3dzO2Z1bmN0aW9uIE5XKHQpe3JldHVybigodCo9Mik8PTE/dCp0Oi0tdCooMi10KSsxKS8yfWZ1bmN0aW9uIElXKHQpe3JldHVybigodCo9Mik8PTE/dCp0KnQ6KHQtPTIpKnQqdCsyKS8yfXZhciBSVz0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBNYXRoLnBvdyh0LGUpfXJldHVybiBlPStlLG4uZXhwb25lbnQ9dCxufSkoMyksT1c9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gMS1NYXRoLnBvdygxLXQsZSl9cmV0dXJuIGU9K2Usbi5leHBvbmVudD10LG59KSgzKSx6Vz0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybigodCo9Mik8PTE/TWF0aC5wb3codCxlKToyLU1hdGgucG93KDItdCxlKSkvMn1yZXR1cm4gZT0rZSxuLmV4cG9uZW50PXQsbn0pKDMpLERXPU1hdGguUEksQlc9RFcvMjtmdW5jdGlvbiBIVyh0KXtyZXR1cm4oMS1NYXRoLmNvcyhEVyp0KSkvMn1mdW5jdGlvbiBGVyh0KXtyZXR1cm4oKHQqPTIpPD0xP01hdGgucG93KDIsMTAqdC0xMCk6Mi1NYXRoLnBvdygyLDEwLTEwKnQpKS8yfWZ1bmN0aW9uIFZXKHQpe3JldHVybigodCo9Mik8PTE/MS1NYXRoLnNxcnQoMS10KnQpOk1hdGguc3FydCgxLSh0LT0yKSp0KSsxKS8yfXZhciBVVz00LzExLGpXPTcuNTYyNTtmdW5jdGlvbiBHVyh0KXtyZXR1cm4odD0rdCk8VVc/alcqdCp0OnQ8LjcyNzI3MjcyNzI3MjcyNzM/alcqKHQtPS41NDU0NTQ1NDU0NTQ1NDU0KSp0Ky43NTp0PC45MDkwOTA5MDkwOTA5MDkxP2pXKih0LT0uODE4MTgxODE4MTgxODE4MikqdCsuOTM3NTpqVyoodC09Ljk1NDU0NTQ1NDU0NTQ1NDYpKnQrLjk4NDM3NX12YXIgV1c9MS43MDE1OCxxVz0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiB0KnQqKChlKzEpKnQtZSl9cmV0dXJuIGU9K2Usbi5vdmVyc2hvb3Q9dCxufSkoV1cpLFlXPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuLS10KnQqKChlKzEpKnQrZSkrMX1yZXR1cm4gZT0rZSxuLm92ZXJzaG9vdD10LG59KShXVyksWFc9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4oKHQqPTIpPDE/dCp0KigoZSsxKSp0LWUpOih0LT0yKSp0KigoZSsxKSp0K2UpKzIpLzJ9cmV0dXJuIGU9K2Usbi5vdmVyc2hvb3Q9dCxufSkoV1cpLCRXPTIqTWF0aC5QSSxLVz0oZnVuY3Rpb24gdChlLG4pe3ZhciBpPU1hdGguYXNpbigxLyhlPU1hdGgubWF4KDEsZSkpKSoobi89JFcpO2Z1bmN0aW9uIHIodCl7cmV0dXJuIGUqTWF0aC5wb3coMiwxMCotLXQpKk1hdGguc2luKChpLXQpL24pfXJldHVybiByLmFtcGxpdHVkZT1mdW5jdGlvbihlKXtyZXR1cm4gdChlLG4qJFcpfSxyLnBlcmlvZD1mdW5jdGlvbihuKXtyZXR1cm4gdChlLG4pfSxyfSkoMSwuMyksWlc9KGZ1bmN0aW9uIHQoZSxuKXt2YXIgaT1NYXRoLmFzaW4oMS8oZT1NYXRoLm1heCgxLGUpKSkqKG4vPSRXKTtmdW5jdGlvbiByKHQpe3JldHVybiAxLWUqTWF0aC5wb3coMiwtMTAqKHQ9K3QpKSpNYXRoLnNpbigodCtpKS9uKX1yZXR1cm4gci5hbXBsaXR1ZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSxuKiRXKX0sci5wZXJpb2Q9ZnVuY3Rpb24obil7cmV0dXJuIHQoZSxuKX0scn0pKDEsLjMpLEpXPShmdW5jdGlvbiB0KGUsbil7dmFyIGk9TWF0aC5hc2luKDEvKGU9TWF0aC5tYXgoMSxlKSkpKihuLz0kVyk7ZnVuY3Rpb24gcih0KXtyZXR1cm4oKHQ9Mip0LTEpPDA/ZSpNYXRoLnBvdygyLDEwKnQpKk1hdGguc2luKChpLXQpL24pOjItZSpNYXRoLnBvdygyLC0xMCp0KSpNYXRoLnNpbigoaSt0KS9uKSkvMn1yZXR1cm4gci5hbXBsaXR1ZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSxuKiRXKX0sci5wZXJpb2Q9ZnVuY3Rpb24obil7cmV0dXJuIHQoZSxuKX0scn0pKDEsLjMpO2Z1bmN0aW9uIFFXKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiB0cSgpe3JldHVybiAxZS02KihNYXRoLnJhbmRvbSgpLS41KX1mdW5jdGlvbiBlcSh0LGUsbixpKXtpZihpc05hTihlKXx8aXNOYU4obikpcmV0dXJuIHQ7dmFyIHIsbyxhLHMsbCxjLHUsaCxkLHA9dC5fcm9vdCxmPXtkYXRhOml9LG09dC5feDAsZz10Ll95MCxfPXQuX3gxLHk9dC5feTE7aWYoIXApcmV0dXJuIHQuX3Jvb3Q9Zix0O2Zvcig7cC5sZW5ndGg7KWlmKChjPWU+PShvPShtK18pLzIpKT9tPW86Xz1vLCh1PW4+PShhPShnK3kpLzIpKT9nPWE6eT1hLHI9cCwhKHA9cFtoPXU8PDF8Y10pKXJldHVybiByW2hdPWYsdDtpZihzPSt0Ll94LmNhbGwobnVsbCxwLmRhdGEpLGw9K3QuX3kuY2FsbChudWxsLHAuZGF0YSksZT09PXMmJm49PT1sKXJldHVybiBmLm5leHQ9cCxyP3JbaF09Zjp0Ll9yb290PWYsdDtkb3tyPXI/cltoXT1uZXcgQXJyYXkoNCk6dC5fcm9vdD1uZXcgQXJyYXkoNCksKGM9ZT49KG89KG0rXykvMikpP209bzpfPW8sKHU9bj49KGE9KGcreSkvMikpP2c9YTp5PWF9d2hpbGUoKGg9dTw8MXxjKT09KGQ9KGw+PWEpPDwxfHM+PW8pKTtyZXR1cm4gcltkXT1wLHJbaF09Zix0fWZ1bmN0aW9uIG5xKHQsZSxuLGkscil7dGhpcy5ub2RlPXQsdGhpcy54MD1lLHRoaXMueTA9bix0aGlzLngxPWksdGhpcy55MT1yfWZ1bmN0aW9uIGlxKHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIHJxKHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIG9xKHQsZSxuKXt2YXIgaT1uZXcgYXEobnVsbD09ZT9pcTplLG51bGw9PW4/cnE6bixOYU4sTmFOLE5hTixOYU4pO3JldHVybiBudWxsPT10P2k6aS5hZGRBbGwodCl9ZnVuY3Rpb24gYXEodCxlLG4saSxyLG8pe3RoaXMuX3g9dCx0aGlzLl95PWUsdGhpcy5feDA9bix0aGlzLl95MD1pLHRoaXMuX3gxPXIsdGhpcy5feTE9byx0aGlzLl9yb290PXZvaWQgMH1mdW5jdGlvbiBzcSh0KXtmb3IodmFyIGU9e2RhdGE6dC5kYXRhfSxuPWU7dD10Lm5leHQ7KW49bi5uZXh0PXtkYXRhOnQuZGF0YX07cmV0dXJuIGV9dmFyIGxxPW9xLnByb3RvdHlwZT1hcS5wcm90b3R5cGU7ZnVuY3Rpb24gY3EodCl7cmV0dXJuIHQueCt0LnZ4fWZ1bmN0aW9uIHVxKHQpe3JldHVybiB0LnkrdC52eX1scS5jb3B5PWZ1bmN0aW9uKCl7dmFyIHQsZSxuPW5ldyBhcSh0aGlzLl94LHRoaXMuX3ksdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpLGk9dGhpcy5fcm9vdDtpZighaSlyZXR1cm4gbjtpZighaS5sZW5ndGgpcmV0dXJuIG4uX3Jvb3Q9c3EoaSksbjtmb3IodD1be3NvdXJjZTppLHRhcmdldDpuLl9yb290PW5ldyBBcnJheSg0KX1dO2k9dC5wb3AoKTspZm9yKHZhciByPTA7cjw0OysrcikoZT1pLnNvdXJjZVtyXSkmJihlLmxlbmd0aD90LnB1c2goe3NvdXJjZTplLHRhcmdldDppLnRhcmdldFtyXT1uZXcgQXJyYXkoNCl9KTppLnRhcmdldFtyXT1zcShlKSk7cmV0dXJuIG59LGxxLmFkZD1mdW5jdGlvbiBocSh0KXt2YXIgZT0rdGhpcy5feC5jYWxsKG51bGwsdCksbj0rdGhpcy5feS5jYWxsKG51bGwsdCk7cmV0dXJuIGVxKHRoaXMuY292ZXIoZSxuKSxlLG4sdCl9LGxxLmFkZEFsbD1mdW5jdGlvbiBkcSh0KXt2YXIgZSxuLGkscixvPXQubGVuZ3RoLGE9bmV3IEFycmF5KG8pLHM9bmV3IEFycmF5KG8pLGw9MS8wLGM9MS8wLHU9LTEvMCxoPS0xLzA7Zm9yKG49MDtuPG87KytuKWlzTmFOKGk9K3RoaXMuX3guY2FsbChudWxsLGU9dFtuXSkpfHxpc05hTihyPSt0aGlzLl95LmNhbGwobnVsbCxlKSl8fChhW25dPWksc1tuXT1yLGk8bCYmKGw9aSksaT51JiYodT1pKSxyPGMmJihjPXIpLHI+aCYmKGg9cikpO2lmKGw+dXx8Yz5oKXJldHVybiB0aGlzO2Zvcih0aGlzLmNvdmVyKGwsYykuY292ZXIodSxoKSxuPTA7bjxvOysrbillcSh0aGlzLGFbbl0sc1tuXSx0W25dKTtyZXR1cm4gdGhpc30sbHEuY292ZXI9ZnVuY3Rpb24gcHEodCxlKXtpZihpc05hTih0PSt0KXx8aXNOYU4oZT0rZSkpcmV0dXJuIHRoaXM7dmFyIG49dGhpcy5feDAsaT10aGlzLl95MCxyPXRoaXMuX3gxLG89dGhpcy5feTE7aWYoaXNOYU4obikpcj0obj1NYXRoLmZsb29yKHQpKSsxLG89KGk9TWF0aC5mbG9vcihlKSkrMTtlbHNle2Zvcih2YXIgYSxzLGw9ci1uLGM9dGhpcy5fcm9vdDtuPnR8fHQ+PXJ8fGk+ZXx8ZT49bzspc3dpdGNoKHM9KGU8aSk8PDF8dDxuLChhPW5ldyBBcnJheSg0KSlbc109YyxjPWEsbCo9MixzKXtjYXNlIDA6cj1uK2wsbz1pK2w7YnJlYWs7Y2FzZSAxOm49ci1sLG89aStsO2JyZWFrO2Nhc2UgMjpyPW4rbCxpPW8tbDticmVhaztjYXNlIDM6bj1yLWwsaT1vLWx9dGhpcy5fcm9vdCYmdGhpcy5fcm9vdC5sZW5ndGgmJih0aGlzLl9yb290PWMpfXJldHVybiB0aGlzLl94MD1uLHRoaXMuX3kwPWksdGhpcy5feDE9cix0aGlzLl95MT1vLHRoaXN9LGxxLmRhdGE9ZnVuY3Rpb24gZnEoKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy52aXNpdCgoZnVuY3Rpb24oZSl7aWYoIWUubGVuZ3RoKWRve3QucHVzaChlLmRhdGEpfXdoaWxlKGU9ZS5uZXh0KX0pKSx0fSxscS5leHRlbnQ9ZnVuY3Rpb24gbXEodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5jb3ZlcigrdFswXVswXSwrdFswXVsxXSkuY292ZXIoK3RbMV1bMF0sK3RbMV1bMV0pOmlzTmFOKHRoaXMuX3gwKT92b2lkIDA6W1t0aGlzLl94MCx0aGlzLl95MF0sW3RoaXMuX3gxLHRoaXMuX3kxXV19LGxxLmZpbmQ9ZnVuY3Rpb24gZ3EodCxlLG4pe3ZhciBpLHIsbyxhLHMsbCxjLHU9dGhpcy5feDAsaD10aGlzLl95MCxkPXRoaXMuX3gxLHA9dGhpcy5feTEsZj1bXSxtPXRoaXMuX3Jvb3Q7Zm9yKG0mJmYucHVzaChuZXcgbnEobSx1LGgsZCxwKSksbnVsbD09bj9uPTEvMDoodT10LW4saD1lLW4sZD10K24scD1lK24sbio9bik7bD1mLnBvcCgpOylpZighKCEobT1sLm5vZGUpfHwocj1sLngwKT5kfHwobz1sLnkwKT5wfHwoYT1sLngxKTx1fHwocz1sLnkxKTxoKSlpZihtLmxlbmd0aCl7dmFyIGc9KHIrYSkvMixfPShvK3MpLzI7Zi5wdXNoKG5ldyBucShtWzNdLGcsXyxhLHMpLG5ldyBucShtWzJdLHIsXyxnLHMpLG5ldyBucShtWzFdLGcsbyxhLF8pLG5ldyBucShtWzBdLHIsbyxnLF8pKSwoYz0oZT49Xyk8PDF8dD49ZykmJihsPWZbZi5sZW5ndGgtMV0sZltmLmxlbmd0aC0xXT1mW2YubGVuZ3RoLTEtY10sZltmLmxlbmd0aC0xLWNdPWwpfWVsc2V7dmFyIHk9dC0rdGhpcy5feC5jYWxsKG51bGwsbS5kYXRhKSx2PWUtK3RoaXMuX3kuY2FsbChudWxsLG0uZGF0YSksYj15Knkrdip2O2lmKGI8bil7dmFyIHg9TWF0aC5zcXJ0KG49Yik7dT10LXgsaD1lLXgsZD10K3gscD1lK3gsaT1tLmRhdGF9fXJldHVybiBpfSxscS5yZW1vdmU9ZnVuY3Rpb24gX3EodCl7aWYoaXNOYU4obz0rdGhpcy5feC5jYWxsKG51bGwsdCkpfHxpc05hTihhPSt0aGlzLl95LmNhbGwobnVsbCx0KSkpcmV0dXJuIHRoaXM7dmFyIGUsbixpLHIsbyxhLHMsbCxjLHUsaCxkLHA9dGhpcy5fcm9vdCxmPXRoaXMuX3gwLG09dGhpcy5feTAsZz10aGlzLl94MSxfPXRoaXMuX3kxO2lmKCFwKXJldHVybiB0aGlzO2lmKHAubGVuZ3RoKWZvcig7Oyl7aWYoKGM9bz49KHM9KGYrZykvMikpP2Y9czpnPXMsKHU9YT49KGw9KG0rXykvMikpP209bDpfPWwsZT1wLCEocD1wW2g9dTw8MXxjXSkpcmV0dXJuIHRoaXM7aWYoIXAubGVuZ3RoKWJyZWFrOyhlW2grMSYzXXx8ZVtoKzImM118fGVbaCszJjNdKSYmKG49ZSxkPWgpfWZvcig7cC5kYXRhIT09dDspaWYoaT1wLCEocD1wLm5leHQpKXJldHVybiB0aGlzO3JldHVybihyPXAubmV4dCkmJmRlbGV0ZSBwLm5leHQsaT8ocj9pLm5leHQ9cjpkZWxldGUgaS5uZXh0LHRoaXMpOmU/KHI/ZVtoXT1yOmRlbGV0ZSBlW2hdLChwPWVbMF18fGVbMV18fGVbMl18fGVbM10pJiZwPT09KGVbM118fGVbMl18fGVbMV18fGVbMF0pJiYhcC5sZW5ndGgmJihuP25bZF09cDp0aGlzLl9yb290PXApLHRoaXMpOih0aGlzLl9yb290PXIsdGhpcyl9LGxxLnJlbW92ZUFsbD1mdW5jdGlvbiB5cSh0KXtmb3IodmFyIGU9MCxuPXQubGVuZ3RoO2U8bjsrK2UpdGhpcy5yZW1vdmUodFtlXSk7cmV0dXJuIHRoaXN9LGxxLnJvb3Q9ZnVuY3Rpb24gdnEoKXtyZXR1cm4gdGhpcy5fcm9vdH0sbHEuc2l6ZT1mdW5jdGlvbiBicSgpe3ZhciB0PTA7cmV0dXJuIHRoaXMudmlzaXQoKGZ1bmN0aW9uKGUpe2lmKCFlLmxlbmd0aClkb3srK3R9d2hpbGUoZT1lLm5leHQpfSkpLHR9LGxxLnZpc2l0PWZ1bmN0aW9uIHhxKHQpe3ZhciBlLG4saSxyLG8sYSxzPVtdLGw9dGhpcy5fcm9vdDtmb3IobCYmcy5wdXNoKG5ldyBucShsLHRoaXMuX3gwLHRoaXMuX3kwLHRoaXMuX3gxLHRoaXMuX3kxKSk7ZT1zLnBvcCgpOylpZighdChsPWUubm9kZSxpPWUueDAscj1lLnkwLG89ZS54MSxhPWUueTEpJiZsLmxlbmd0aCl7dmFyIGM9KGkrbykvMix1PShyK2EpLzI7KG49bFszXSkmJnMucHVzaChuZXcgbnEobixjLHUsbyxhKSksKG49bFsyXSkmJnMucHVzaChuZXcgbnEobixpLHUsYyxhKSksKG49bFsxXSkmJnMucHVzaChuZXcgbnEobixjLHIsbyx1KSksKG49bFswXSkmJnMucHVzaChuZXcgbnEobixpLHIsYyx1KSl9cmV0dXJuIHRoaXN9LGxxLnZpc2l0QWZ0ZXI9ZnVuY3Rpb24gd3EodCl7dmFyIGUsbj1bXSxpPVtdO2Zvcih0aGlzLl9yb290JiZuLnB1c2gobmV3IG5xKHRoaXMuX3Jvb3QsdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpKTtlPW4ucG9wKCk7KXt2YXIgcj1lLm5vZGU7aWYoci5sZW5ndGgpe3ZhciBvLGE9ZS54MCxzPWUueTAsbD1lLngxLGM9ZS55MSx1PShhK2wpLzIsaD0ocytjKS8yOyhvPXJbMF0pJiZuLnB1c2gobmV3IG5xKG8sYSxzLHUsaCkpLChvPXJbMV0pJiZuLnB1c2gobmV3IG5xKG8sdSxzLGwsaCkpLChvPXJbMl0pJiZuLnB1c2gobmV3IG5xKG8sYSxoLHUsYykpLChvPXJbM10pJiZuLnB1c2gobmV3IG5xKG8sdSxoLGwsYykpfWkucHVzaChlKX1mb3IoO2U9aS5wb3AoKTspdChlLm5vZGUsZS54MCxlLnkwLGUueDEsZS55MSk7cmV0dXJuIHRoaXN9LGxxLng9ZnVuY3Rpb24gU3EodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3g9dCx0aGlzKTp0aGlzLl94fSxscS55PWZ1bmN0aW9uIE1xKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl95PXQsdGhpcyk6dGhpcy5feX07dmFyIEVxPSIkIjtmdW5jdGlvbiBUcSgpe31mdW5jdGlvbiBDcSh0LGUpe3ZhciBuPW5ldyBUcTtpZih0IGluc3RhbmNlb2YgVHEpdC5lYWNoKChmdW5jdGlvbih0LGUpe24uc2V0KGUsdCl9KSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgaSxyPS0xLG89dC5sZW5ndGg7aWYobnVsbD09ZSlmb3IoOysrcjxvOyluLnNldChyLHRbcl0pO2Vsc2UgZm9yKDsrK3I8bzspbi5zZXQoZShpPXRbcl0scix0KSxpKX1lbHNlIGlmKHQpZm9yKHZhciBhIGluIHQpbi5zZXQoYSx0W2FdKTtyZXR1cm4gbn1mdW5jdGlvbiBBcSgpe31UcS5wcm90b3R5cGU9Q3EucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpUcSxoYXM6ZnVuY3Rpb24odCl7cmV0dXJuIEVxK3QgaW4gdGhpc30sZ2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzW0VxK3RdfSxzZXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpc1tFcSt0XT1lLHRoaXN9LHJlbW92ZTpmdW5jdGlvbih0KXt2YXIgZT1FcSt0O3JldHVybiBlIGluIHRoaXMmJmRlbGV0ZSB0aGlzW2VdfSxjbGVhcjpmdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzKXRbMF09PT1FcSYmZGVsZXRlIHRoaXNbdF19LGtleXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09RXEmJnQucHVzaChlLnNsaWNlKDEpKTtyZXR1cm4gdH0sdmFsdWVzOmZ1bmN0aW9uKCl7dmFyIHQ9W107Zm9yKHZhciBlIGluIHRoaXMpZVswXT09PUVxJiZ0LnB1c2godGhpc1tlXSk7cmV0dXJuIHR9LGVudHJpZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09RXEmJnQucHVzaCh7a2V5OmUuc2xpY2UoMSksdmFsdWU6dGhpc1tlXX0pO3JldHVybiB0fSxzaXplOmZ1bmN0aW9uKCl7dmFyIHQ9MDtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09RXEmJisrdDtyZXR1cm4gdH0sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcylpZih0WzBdPT09RXEpcmV0dXJuITE7cmV0dXJuITB9LGVhY2g6ZnVuY3Rpb24odCl7Zm9yKHZhciBlIGluIHRoaXMpZVswXT09PUVxJiZ0KHRoaXNbZV0sZS5zbGljZSgxKSx0aGlzKX19O3ZhciBrcT1DcS5wcm90b3R5cGU7ZnVuY3Rpb24gTHEodCl7cmV0dXJuIHQuaW5kZXh9ZnVuY3Rpb24gUHEodCxlKXt2YXIgbj10LmdldChlKTtpZighbil0aHJvdyBuZXcgRXJyb3IoIm1pc3Npbmc6ICIrZSk7cmV0dXJuIG59QXEucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpBcSxoYXM6a3EuaGFzLGFkZDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpc1tFcSsodCs9IiIpXT10LHRoaXN9LHJlbW92ZTprcS5yZW1vdmUsY2xlYXI6a3EuY2xlYXIsdmFsdWVzOmtxLmtleXMsc2l6ZTprcS5zaXplLGVtcHR5OmtxLmVtcHR5LGVhY2g6a3EuZWFjaH07dmFyIE5xPXt2YWx1ZTpmdW5jdGlvbigpe319O2Z1bmN0aW9uIElxKCl7Zm9yKHZhciB0LGU9MCxuPWFyZ3VtZW50cy5sZW5ndGgsaT17fTtlPG47KytlKXtpZighKHQ9YXJndW1lbnRzW2VdKyIiKXx8dCBpbiBpfHwvW1xzLl0vLnRlc3QodCkpdGhyb3cgbmV3IEVycm9yKCJpbGxlZ2FsIHR5cGU6ICIrdCk7aVt0XT1bXX1yZXR1cm4gbmV3IFJxKGkpfWZ1bmN0aW9uIFJxKHQpe3RoaXMuXz10fWZ1bmN0aW9uIE9xKHQsZSl7cmV0dXJuIHQudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcCgoZnVuY3Rpb24odCl7dmFyIG49IiIsaT10LmluZGV4T2YoIi4iKTtpZihpPj0wJiYobj10LnNsaWNlKGkrMSksdD10LnNsaWNlKDAsaSkpLHQmJiFlLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO3JldHVybnt0eXBlOnQsbmFtZTpufX0pKX1mdW5jdGlvbiB6cSh0LGUpe2Zvcih2YXIgbixpPTAscj10Lmxlbmd0aDtpPHI7KytpKWlmKChuPXRbaV0pLm5hbWU9PT1lKXJldHVybiBuLnZhbHVlfWZ1bmN0aW9uIERxKHQsZSxuKXtmb3IodmFyIGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYodFtpXS5uYW1lPT09ZSl7dFtpXT1OcSx0PXQuc2xpY2UoMCxpKS5jb25jYXQodC5zbGljZShpKzEpKTticmVha31yZXR1cm4gbnVsbCE9biYmdC5wdXNoKHtuYW1lOmUsdmFsdWU6bn0pLHR9UnEucHJvdG90eXBlPUlxLnByb3RvdHlwZT17Y29uc3RydWN0b3I6UnEsb246ZnVuY3Rpb24odCxlKXt2YXIgbixpPXRoaXMuXyxyPU9xKHQrIiIsaSksbz0tMSxhPXIubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7aWYobnVsbCE9ZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrOiAiK2UpO2Zvcig7KytvPGE7KWlmKG49KHQ9cltvXSkudHlwZSlpW25dPURxKGlbbl0sdC5uYW1lLGUpO2Vsc2UgaWYobnVsbD09ZSlmb3IobiBpbiBpKWlbbl09RHEoaVtuXSx0Lm5hbWUsbnVsbCk7cmV0dXJuIHRoaXN9Zm9yKDsrK288YTspaWYoKG49KHQ9cltvXSkudHlwZSkmJihuPXpxKGlbbl0sdC5uYW1lKSkpcmV0dXJuIG59LGNvcHk6ZnVuY3Rpb24oKXt2YXIgdD17fSxlPXRoaXMuXztmb3IodmFyIG4gaW4gZSl0W25dPWVbbl0uc2xpY2UoKTtyZXR1cm4gbmV3IFJxKHQpfSxjYWxsOmZ1bmN0aW9uKHQsZSl7aWYoKG49YXJndW1lbnRzLmxlbmd0aC0yKT4wKWZvcih2YXIgbixpLHI9bmV3IEFycmF5KG4pLG89MDtvPG47KytvKXJbb109YXJndW1lbnRzW28rMl07aWYoIXRoaXMuXy5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtmb3Iobz0wLG49KGk9dGhpcy5fW3RdKS5sZW5ndGg7bzxuOysrbylpW29dLnZhbHVlLmFwcGx5KGUscil9LGFwcGx5OmZ1bmN0aW9uKHQsZSxuKXtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2Zvcih2YXIgaT10aGlzLl9bdF0scj0wLG89aS5sZW5ndGg7cjxvOysrcilpW3JdLnZhbHVlLmFwcGx5KGUsbil9fTt2YXIgQnEsSHEsRnE9MCxWcT0wLFVxPTAsanE9MCxHcT0wLFdxPTAscXE9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlOkRhdGUsWXE9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdyk6ZnVuY3Rpb24odCl7c2V0VGltZW91dCh0LDE3KX07ZnVuY3Rpb24gWHEoKXtyZXR1cm4gR3F8fChZcSgkcSksR3E9cXEubm93KCkrV3EpfWZ1bmN0aW9uICRxKCl7R3E9MH1mdW5jdGlvbiBLcSgpe3RoaXMuX2NhbGw9dGhpcy5fdGltZT10aGlzLl9uZXh0PW51bGx9ZnVuY3Rpb24gWnEodCxlLG4pe3ZhciBpPW5ldyBLcTtyZXR1cm4gaS5yZXN0YXJ0KHQsZSxuKSxpfWZ1bmN0aW9uIEpxKCl7R3E9KGpxPXFxLm5vdygpKStXcSxGcT1WcT0wO3RyeXshKGZ1bmN0aW9uIHQoKXtYcSgpLCsrRnE7Zm9yKHZhciB0LGU9QnE7ZTspKHQ9R3EtZS5fdGltZSk+PTAmJmUuX2NhbGwuY2FsbChudWxsLHQpLGU9ZS5fbmV4dDstLUZxfSkoKX1maW5hbGx5e0ZxPTAsKGZ1bmN0aW9uIGUoKXt2YXIgdCxlLG49QnEsaT0xLzA7Zm9yKDtuOyluLl9jYWxsPyhpPm4uX3RpbWUmJihpPW4uX3RpbWUpLHQ9bixuPW4uX25leHQpOihlPW4uX25leHQsbi5fbmV4dD1udWxsLG49dD90Ll9uZXh0PWU6QnE9ZSk7SHE9dCx0WShpKX0pKCksR3E9MH19ZnVuY3Rpb24gUXEoKXt2YXIgdD1xcS5ub3coKSxlPXQtanE7ZT4xZTMmJihXcS09ZSxqcT10KX1mdW5jdGlvbiB0WSh0KXtGcXx8KFZxJiYoVnE9Y2xlYXJUaW1lb3V0KFZxKSksdC1HcT4yND8odDwxLzAmJihWcT1zZXRUaW1lb3V0KEpxLHQtcXEubm93KCktV3EpKSxVcSYmKFVxPWNsZWFySW50ZXJ2YWwoVXEpKSk6KFVxfHwoanE9cXEubm93KCksVXE9c2V0SW50ZXJ2YWwoUXEsMWUzKSksRnE9MSxZcShKcSkpKX1mdW5jdGlvbiBlWSh0KXtyZXR1cm4gdC54fWZ1bmN0aW9uIG5ZKHQpe3JldHVybiB0Lnl9S3EucHJvdG90eXBlPVpxLnByb3RvdHlwZT17Y29uc3RydWN0b3I6S3EscmVzdGFydDpmdW5jdGlvbih0LGUsbil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiY2FsbGJhY2sgaXMgbm90IGEgZnVuY3Rpb24iKTtuPShudWxsPT1uP1hxKCk6K24pKyhudWxsPT1lPzA6K2UpLHRoaXMuX25leHR8fEhxPT09dGhpc3x8KEhxP0hxLl9uZXh0PXRoaXM6QnE9dGhpcyxIcT10aGlzKSx0aGlzLl9jYWxsPXQsdGhpcy5fdGltZT1uLHRZKCl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLl9jYWxsJiYodGhpcy5fY2FsbD1udWxsLHRoaXMuX3RpbWU9MS8wLHRZKCkpfX07dmFyIGlZLHJZPU1hdGguUEkqKDMtTWF0aC5zcXJ0KDUpKTtmdW5jdGlvbiBvWSh0LGUpe2lmKChuPSh0PWU/dC50b0V4cG9uZW50aWFsKGUtMSk6dC50b0V4cG9uZW50aWFsKCkpLmluZGV4T2YoImUiKSk8MClyZXR1cm4gbnVsbDt2YXIgbixpPXQuc2xpY2UoMCxuKTtyZXR1cm5baS5sZW5ndGg+MT9pWzBdK2kuc2xpY2UoMik6aSwrdC5zbGljZShuKzEpXX1mdW5jdGlvbiBhWSh0KXtyZXR1cm4odD1vWShNYXRoLmFicyh0KSkpP3RbMV06TmFOfWZ1bmN0aW9uIHNZKHQsZSl7dmFyIG49b1kodCxlKTtpZighbilyZXR1cm4gdCsiIjt2YXIgaT1uWzBdLHI9blsxXTtyZXR1cm4gcjwwPyIwLiIrbmV3IEFycmF5KC1yKS5qb2luKCIwIikraTppLmxlbmd0aD5yKzE/aS5zbGljZSgwLHIrMSkrIi4iK2kuc2xpY2UocisxKTppK25ldyBBcnJheShyLWkubGVuZ3RoKzIpLmpvaW4oIjAiKX12YXIgbFk9eyIiOmZ1bmN0aW9uIGNZKHQsZSl7dDpmb3IodmFyIG4saT0odD10LnRvUHJlY2lzaW9uKGUpKS5sZW5ndGgscj0xLG89LTE7cjxpOysrcilzd2l0Y2godFtyXSl7Y2FzZSIuIjpvPW49cjticmVhaztjYXNlIjAiOjA9PT1vJiYobz1yKSxuPXI7YnJlYWs7Y2FzZSJlIjpicmVhayB0O2RlZmF1bHQ6bz4wJiYobz0wKX1yZXR1cm4gbz4wP3Quc2xpY2UoMCxvKSt0LnNsaWNlKG4rMSk6dH0sIiUiOmZ1bmN0aW9uKHQsZSl7cmV0dXJuKDEwMCp0KS50b0ZpeGVkKGUpfSxiOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDIpfSxjOmZ1bmN0aW9uKHQpe3JldHVybiB0KyIifSxkOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDEwKX0sZTpmdW5jdGlvbih0LGUpe3JldHVybiB0LnRvRXhwb25lbnRpYWwoZSl9LGY6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC50b0ZpeGVkKGUpfSxnOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudG9QcmVjaXNpb24oZSl9LG86ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoOCl9LHA6ZnVuY3Rpb24odCxlKXtyZXR1cm4gc1koMTAwKnQsZSl9LHI6c1ksczpmdW5jdGlvbiB1WSh0LGUpe3ZhciBuPW9ZKHQsZSk7aWYoIW4pcmV0dXJuIHQrIiI7dmFyIGk9blswXSxyPW5bMV0sbz1yLShpWT0zKk1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihyLzMpKSkpKzEsYT1pLmxlbmd0aDtyZXR1cm4gbz09PWE/aTpvPmE/aStuZXcgQXJyYXkoby1hKzEpLmpvaW4oIjAiKTpvPjA/aS5zbGljZSgwLG8pKyIuIitpLnNsaWNlKG8pOiIwLiIrbmV3IEFycmF5KDEtbykuam9pbigiMCIpK29ZKHQsTWF0aC5tYXgoMCxlK28tMSkpWzBdfSxYOmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfSx4OmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnJvdW5kKHQpLnRvU3RyaW5nKDE2KX19LGhZPS9eKD86KC4pPyhbPD49Xl0pKT8oWytcLVwoIF0pPyhbJCNdKT8oMCk/KFxkKyk/KCwpPyhcLlxkKyk/KFthLXolXSk/JC9pO2Z1bmN0aW9uIGRZKHQpe3JldHVybiBuZXcgcFkodCl9ZnVuY3Rpb24gcFkodCl7aWYoIShlPWhZLmV4ZWModCkpKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBmb3JtYXQ6ICIrdCk7dmFyIGUsbj1lWzFdfHwiICIsaT1lWzJdfHwiPiIscj1lWzNdfHwiLSIsbz1lWzRdfHwiIixhPSEhZVs1XSxzPWVbNl0mJitlWzZdLGw9ISFlWzddLGM9ZVs4XSYmK2VbOF0uc2xpY2UoMSksdT1lWzldfHwiIjsibiI9PT11PyhsPSEwLHU9ImciKTpsWVt1XXx8KHU9IiIpLChhfHwiMCI9PT1uJiYiPSI9PT1pKSYmKGE9ITAsbj0iMCIsaT0iPSIpLHRoaXMuZmlsbD1uLHRoaXMuYWxpZ249aSx0aGlzLnNpZ249cix0aGlzLnN5bWJvbD1vLHRoaXMuemVybz1hLHRoaXMud2lkdGg9cyx0aGlzLmNvbW1hPWwsdGhpcy5wcmVjaXNpb249Yyx0aGlzLnR5cGU9dX1mdW5jdGlvbiBmWSh0KXtyZXR1cm4gdH1kWS5wcm90b3R5cGU9cFkucHJvdG90eXBlLHBZLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbGwrdGhpcy5hbGlnbit0aGlzLnNpZ24rdGhpcy5zeW1ib2wrKHRoaXMuemVybz8iMCI6IiIpKyhudWxsPT10aGlzLndpZHRoPyIiOk1hdGgubWF4KDEsMHx0aGlzLndpZHRoKSkrKHRoaXMuY29tbWE/IiwiOiIiKSsobnVsbD09dGhpcy5wcmVjaXNpb24/IiI6Ii4iK01hdGgubWF4KDAsMHx0aGlzLnByZWNpc2lvbikpK3RoaXMudHlwZX07dmFyIG1ZLGdZLF9ZLHlZPVsieSIsInoiLCJhIiwiZiIsInAiLCJuIiwiwrUiLCJtIiwiIiwiayIsIk0iLCJHIiwiVCIsIlAiLCJFIiwiWiIsIlkiXTtmdW5jdGlvbiB2WSh0KXt2YXIgZT10Lmdyb3VwaW5nJiZ0LnRob3VzYW5kcz8oZnVuY3Rpb24gbih0LGUpe3JldHVybiBmdW5jdGlvbihuLGkpe2Zvcih2YXIgcj1uLmxlbmd0aCxvPVtdLGE9MCxzPXRbMF0sbD0wO3I+MCYmcz4wJiYobCtzKzE+aSYmKHM9TWF0aC5tYXgoMSxpLWwpKSxvLnB1c2gobi5zdWJzdHJpbmcoci09cyxyK3MpKSwhKChsKz1zKzEpPmkpKTspcz10W2E9KGErMSkldC5sZW5ndGhdO3JldHVybiBvLnJldmVyc2UoKS5qb2luKGUpfX0pKHQuZ3JvdXBpbmcsdC50aG91c2FuZHMpOmZZLGk9dC5jdXJyZW5jeSxyPXQuZGVjaW1hbCxvPXQubnVtZXJhbHM/KGZ1bmN0aW9uIGEodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoL1swLTldL2csKGZ1bmN0aW9uKGUpe3JldHVybiB0WytlXX0pKX19KSh0Lm51bWVyYWxzKTpmWSxzPXQucGVyY2VudHx8IiUiO2Z1bmN0aW9uIGwodCl7dmFyIG49KHQ9ZFkodCkpLmZpbGwsYT10LmFsaWduLGw9dC5zaWduLGM9dC5zeW1ib2wsdT10Lnplcm8saD10LndpZHRoLGQ9dC5jb21tYSxwPXQucHJlY2lzaW9uLGY9dC50eXBlLG09IiQiPT09Yz9pWzBdOiIjIj09PWMmJi9bYm94WF0vLnRlc3QoZik/IjAiK2YudG9Mb3dlckNhc2UoKToiIixnPSIkIj09PWM/aVsxXTovWyVwXS8udGVzdChmKT9zOiIiLF89bFlbZl0seT0hZnx8L1tkZWZncHJzJV0vLnRlc3QoZik7ZnVuY3Rpb24gdih0KXt2YXIgaSxzLGMsdj1tLGI9ZztpZigiYyI9PT1mKWI9Xyh0KStiLHQ9IiI7ZWxzZXt2YXIgeD0odD0rdCk8MDtpZih0PV8oTWF0aC5hYnModCkscCkseCYmMD09K3QmJih4PSExKSx2PSh4PyIoIj09PWw/bDoiLSI6Ii0iPT09bHx8IigiPT09bD8iIjpsKSt2LGI9KCJzIj09PWY/eVlbOCtpWS8zXToiIikrYisoeCYmIigiPT09bD8iKSI6IiIpLHkpZm9yKGk9LTEscz10Lmxlbmd0aDsrK2k8czspaWYoNDg+KGM9dC5jaGFyQ29kZUF0KGkpKXx8Yz41Nyl7Yj0oNDY9PT1jP3IrdC5zbGljZShpKzEpOnQuc2xpY2UoaSkpK2IsdD10LnNsaWNlKDAsaSk7YnJlYWt9fWQmJiF1JiYodD1lKHQsMS8wKSk7dmFyIHc9di5sZW5ndGgrdC5sZW5ndGgrYi5sZW5ndGgsUz13PGg/bmV3IEFycmF5KGgtdysxKS5qb2luKG4pOiIiO3N3aXRjaChkJiZ1JiYodD1lKFMrdCxTLmxlbmd0aD9oLWIubGVuZ3RoOjEvMCksUz0iIiksYSl7Y2FzZSI8Ijp0PXYrdCtiK1M7YnJlYWs7Y2FzZSI9Ijp0PXYrUyt0K2I7YnJlYWs7Y2FzZSJeIjp0PVMuc2xpY2UoMCx3PVMubGVuZ3RoPj4xKSt2K3QrYitTLnNsaWNlKHcpO2JyZWFrO2RlZmF1bHQ6dD1TK3YrdCtifXJldHVybiBvKHQpfXJldHVybiBwPW51bGw9PXA/Zj82OjEyOi9bZ3Byc10vLnRlc3QoZik/TWF0aC5tYXgoMSxNYXRoLm1pbigyMSxwKSk6TWF0aC5tYXgoMCxNYXRoLm1pbigyMCxwKSksdi50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0KyIifSx2fXJldHVybntmb3JtYXQ6bCxmb3JtYXRQcmVmaXg6ZnVuY3Rpb24gYyh0LGUpe3ZhciBuPWwoKCh0PWRZKHQpKS50eXBlPSJmIix0KSksaT0zKk1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihhWShlKS8zKSkpLHI9TWF0aC5wb3coMTAsLWkpLG89eVlbOCtpLzNdO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gbihyKnQpK299fX19ZnVuY3Rpb24gYlkodCl7cmV0dXJuIG1ZPXZZKHQpLGdZPW1ZLmZvcm1hdCxfWT1tWS5mb3JtYXRQcmVmaXgsbVl9ZnVuY3Rpb24geFkoKXtyZXR1cm4gbmV3IHdZfWZ1bmN0aW9uIHdZKCl7dGhpcy5yZXNldCgpfWJZKHtkZWNpbWFsOiIuIix0aG91c2FuZHM6IiwiLGdyb3VwaW5nOlszXSxjdXJyZW5jeTpbIiQiLCIiXX0pLHdZLnByb3RvdHlwZT17Y29uc3RydWN0b3I6d1kscmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLnM9dGhpcy50PTB9LGFkZDpmdW5jdGlvbih0KXtNWShTWSx0LHRoaXMudCksTVkodGhpcyxTWS5zLHRoaXMucyksdGhpcy5zP3RoaXMudCs9U1kudDp0aGlzLnM9U1kudH0sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnN9fTt2YXIgU1k9bmV3IHdZO2Z1bmN0aW9uIE1ZKHQsZSxuKXt2YXIgaT10LnM9ZStuLHI9aS1lO3QudD1lLShpLXIpKyhuLXIpfXZhciBFWT0xZS02LFRZPU1hdGguUEksQ1k9VFkvMixBWT1UWS80LGtZPTIqVFksTFk9MTgwL1RZLFBZPVRZLzE4MCxOWT1NYXRoLmFicyxJWT1NYXRoLmF0YW4sUlk9TWF0aC5hdGFuMixPWT1NYXRoLmNvcyx6WT1NYXRoLmNlaWwsRFk9TWF0aC5leHAsQlk9TWF0aC5sb2csSFk9TWF0aC5wb3csRlk9TWF0aC5zaW4sVlk9TWF0aC5zaWdufHxmdW5jdGlvbih0KXtyZXR1cm4gdD4wPzE6dDwwPy0xOjB9LFVZPU1hdGguc3FydCxqWT1NYXRoLnRhbjtmdW5jdGlvbiBHWSh0KXtyZXR1cm4gdD4xPzA6dDwtMT9UWTpNYXRoLmFjb3ModCl9ZnVuY3Rpb24gV1kodCl7cmV0dXJuIHQ+MT9DWTp0PC0xPy1DWTpNYXRoLmFzaW4odCl9ZnVuY3Rpb24gcVkodCl7cmV0dXJuKHQ9RlkodC8yKSkqdH1mdW5jdGlvbiBZWSgpe31mdW5jdGlvbiBYWSh0LGUpe3QmJktZLmhhc093blByb3BlcnR5KHQudHlwZSkmJktZW3QudHlwZV0odCxlKX12YXIgJFk9e0ZlYXR1cmU6ZnVuY3Rpb24odCxlKXtYWSh0Lmdlb21ldHJ5LGUpfSxGZWF0dXJlQ29sbGVjdGlvbjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10LmZlYXR1cmVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspWFkobltpXS5nZW9tZXRyeSxlKX19LEtZPXtTcGhlcmU6ZnVuY3Rpb24odCxlKXtlLnNwaGVyZSgpfSxQb2ludDpmdW5jdGlvbih0LGUpe2UucG9pbnQoKHQ9dC5jb29yZGluYXRlcylbMF0sdFsxXSx0WzJdKX0sTXVsdGlQb2ludDpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10LmNvb3JkaW5hdGVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspZS5wb2ludCgodD1uW2ldKVswXSx0WzFdLHRbMl0pfSxMaW5lU3RyaW5nOmZ1bmN0aW9uKHQsZSl7WlkodC5jb29yZGluYXRlcyxlLDApfSxNdWx0aUxpbmVTdHJpbmc6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC5jb29yZGluYXRlcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KVpZKG5baV0sZSwwKX0sUG9seWdvbjpmdW5jdGlvbih0LGUpe0pZKHQuY29vcmRpbmF0ZXMsZSl9LE11bHRpUG9seWdvbjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10LmNvb3JkaW5hdGVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspSlkobltpXSxlKX0sR2VvbWV0cnlDb2xsZWN0aW9uOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuZ2VvbWV0cmllcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KVhZKG5baV0sZSl9fTtmdW5jdGlvbiBaWSh0LGUsbil7dmFyIGkscj0tMSxvPXQubGVuZ3RoLW47Zm9yKGUubGluZVN0YXJ0KCk7KytyPG87KWUucG9pbnQoKGk9dFtyXSlbMF0saVsxXSxpWzJdKTtlLmxpbmVFbmQoKX1mdW5jdGlvbiBKWSh0LGUpe3ZhciBuPS0xLGk9dC5sZW5ndGg7Zm9yKGUucG9seWdvblN0YXJ0KCk7KytuPGk7KVpZKHRbbl0sZSwxKTtlLnBvbHlnb25FbmQoKX1mdW5jdGlvbiBRWSh0LGUpe3QmJiRZLmhhc093blByb3BlcnR5KHQudHlwZSk/JFlbdC50eXBlXSh0LGUpOlhZKHQsZSl9dmFyIHRYLGVYLG5YLGlYLHJYLG9YPXhZKCksYVg9eFkoKSxzWD17cG9pbnQ6WVksbGluZVN0YXJ0OllZLGxpbmVFbmQ6WVkscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7b1gucmVzZXQoKSxzWC5saW5lU3RhcnQ9bFgsc1gubGluZUVuZD1jWH0scG9seWdvbkVuZDpmdW5jdGlvbigpe3ZhciB0PStvWDthWC5hZGQodDwwP2tZK3Q6dCksdGhpcy5saW5lU3RhcnQ9dGhpcy5saW5lRW5kPXRoaXMucG9pbnQ9WVl9LHNwaGVyZTpmdW5jdGlvbigpe2FYLmFkZChrWSl9fTtmdW5jdGlvbiBsWCgpe3NYLnBvaW50PXVYfWZ1bmN0aW9uIGNYKCl7aFgodFgsZVgpfWZ1bmN0aW9uIHVYKHQsZSl7c1gucG9pbnQ9aFgsdFg9dCxlWD1lLG5YPXQqPVBZLGlYPU9ZKGU9KGUqPVBZKS8yK0FZKSxyWD1GWShlKX1mdW5jdGlvbiBoWCh0LGUpe3ZhciBuPSh0Kj1QWSktblgsaT1uPj0wPzE6LTEscj1pKm4sbz1PWShlPShlKj1QWSkvMitBWSksYT1GWShlKSxzPXJYKmEsbD1pWCpvK3MqT1kociksYz1zKmkqRlkocik7b1guYWRkKFJZKGMsbCkpLG5YPXQsaVg9byxyWD1hfWZ1bmN0aW9uIGRYKHQpe3JldHVybltSWSh0WzFdLHRbMF0pLFdZKHRbMl0pXX1mdW5jdGlvbiBwWCh0KXt2YXIgZT10WzBdLG49dFsxXSxpPU9ZKG4pO3JldHVybltpKk9ZKGUpLGkqRlkoZSksRlkobildfWZ1bmN0aW9uIGZYKHQsZSl7cmV0dXJuIHRbMF0qZVswXSt0WzFdKmVbMV0rdFsyXSplWzJdfWZ1bmN0aW9uIG1YKHQsZSl7cmV0dXJuW3RbMV0qZVsyXS10WzJdKmVbMV0sdFsyXSplWzBdLXRbMF0qZVsyXSx0WzBdKmVbMV0tdFsxXSplWzBdXX1mdW5jdGlvbiBnWCh0LGUpe3RbMF0rPWVbMF0sdFsxXSs9ZVsxXSx0WzJdKz1lWzJdfWZ1bmN0aW9uIF9YKHQsZSl7cmV0dXJuW3RbMF0qZSx0WzFdKmUsdFsyXSplXX1mdW5jdGlvbiB5WCh0KXt2YXIgZT1VWSh0WzBdKnRbMF0rdFsxXSp0WzFdK3RbMl0qdFsyXSk7dFswXS89ZSx0WzFdLz1lLHRbMl0vPWV9dmFyIHZYLGJYLHhYLHdYLFNYLE1YLEVYLFRYLENYLEFYLGtYLExYLFBYLE5YLElYLFJYLE9YLHpYLERYLEJYLEhYLEZYLFZYLFVYLGpYLEdYLFdYPXhZKCkscVg9e3BvaW50OllYLGxpbmVTdGFydDokWCxsaW5lRW5kOktYLHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3FYLnBvaW50PVpYLHFYLmxpbmVTdGFydD1KWCxxWC5saW5lRW5kPVFYLFdYLnJlc2V0KCksc1gucG9seWdvblN0YXJ0KCl9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtzWC5wb2x5Z29uRW5kKCkscVgucG9pbnQ9WVgscVgubGluZVN0YXJ0PSRYLHFYLmxpbmVFbmQ9S1gsb1g8MD8odlg9LSh4WD0xODApLGJYPS0od1g9OTApKTpXWD5FWT93WD05MDpXWDwtMWUtNiYmKGJYPS05MCksQVhbMF09dlgsQVhbMV09eFh9fTtmdW5jdGlvbiBZWCh0LGUpe0NYLnB1c2goQVg9W3ZYPXQseFg9dF0pLGU8YlgmJihiWD1lKSxlPndYJiYod1g9ZSl9ZnVuY3Rpb24gWFgodCxlKXt2YXIgbj1wWChbdCpQWSxlKlBZXSk7aWYoVFgpe3ZhciBpPW1YKFRYLG4pLHI9bVgoW2lbMV0sLWlbMF0sMF0saSk7eVgocikscj1kWChyKTt2YXIgbyxhPXQtU1gscz1hPjA/MTotMSxsPXJbMF0qTFkqcyxjPU5ZKGEpPjE4MDtjXihzKlNYPGwmJmw8cyp0KT8obz1yWzFdKkxZKT53WCYmKHdYPW8pOmNeKHMqU1g8KGw9KGwrMzYwKSUzNjAtMTgwKSYmbDxzKnQpPyhvPS1yWzFdKkxZKTxiWCYmKGJYPW8pOihlPGJYJiYoYlg9ZSksZT53WCYmKHdYPWUpKSxjP3Q8U1g/dCQodlgsdCk+dCQodlgseFgpJiYoeFg9dCk6dCQodCx4WCk+dCQodlgseFgpJiYodlg9dCk6eFg+PXZYPyh0PHZYJiYodlg9dCksdD54WCYmKHhYPXQpKTp0PlNYP3QkKHZYLHQpPnQkKHZYLHhYKSYmKHhYPXQpOnQkKHQseFgpPnQkKHZYLHhYKSYmKHZYPXQpfWVsc2UgQ1gucHVzaChBWD1bdlg9dCx4WD10XSk7ZTxiWCYmKGJYPWUpLGU+d1gmJih3WD1lKSxUWD1uLFNYPXR9ZnVuY3Rpb24gJFgoKXtxWC5wb2ludD1YWH1mdW5jdGlvbiBLWCgpe0FYWzBdPXZYLEFYWzFdPXhYLHFYLnBvaW50PVlYLFRYPW51bGx9ZnVuY3Rpb24gWlgodCxlKXtpZihUWCl7dmFyIG49dC1TWDtXWC5hZGQoTlkobik+MTgwP24rKG4+MD8zNjA6LTM2MCk6bil9ZWxzZSBNWD10LEVYPWU7c1gucG9pbnQodCxlKSxYWCh0LGUpfWZ1bmN0aW9uIEpYKCl7c1gubGluZVN0YXJ0KCl9ZnVuY3Rpb24gUVgoKXtaWChNWCxFWCksc1gubGluZUVuZCgpLE5ZKFdYKT5FWSYmKHZYPS0oeFg9MTgwKSksQVhbMF09dlgsQVhbMV09eFgsVFg9bnVsbH1mdW5jdGlvbiB0JCh0LGUpe3JldHVybihlLT10KTwwP2UrMzYwOmV9ZnVuY3Rpb24gZSQodCxlKXtyZXR1cm4gdFswXS1lWzBdfWZ1bmN0aW9uIG4kKHQsZSl7cmV0dXJuIHRbMF08PXRbMV0/dFswXTw9ZSYmZTw9dFsxXTplPHRbMF18fHRbMV08ZX12YXIgaSQ9e3NwaGVyZTpZWSxwb2ludDpyJCxsaW5lU3RhcnQ6YSQsbGluZUVuZDpjJCxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtpJC5saW5lU3RhcnQ9dSQsaSQubGluZUVuZD1oJH0scG9seWdvbkVuZDpmdW5jdGlvbigpe2kkLmxpbmVTdGFydD1hJCxpJC5saW5lRW5kPWMkfX07ZnVuY3Rpb24gciQodCxlKXt0Kj1QWTt2YXIgbj1PWShlKj1QWSk7byQobipPWSh0KSxuKkZZKHQpLEZZKGUpKX1mdW5jdGlvbiBvJCh0LGUsbil7KytrWCxQWCs9KHQtUFgpL2tYLE5YKz0oZS1OWCkva1gsSVgrPShuLUlYKS9rWH1mdW5jdGlvbiBhJCgpe2kkLnBvaW50PXMkfWZ1bmN0aW9uIHMkKHQsZSl7dCo9UFk7dmFyIG49T1koZSo9UFkpO1VYPW4qT1kodCksalg9bipGWSh0KSxHWD1GWShlKSxpJC5wb2ludD1sJCxvJChVWCxqWCxHWCl9ZnVuY3Rpb24gbCQodCxlKXt0Kj1QWTt2YXIgbj1PWShlKj1QWSksaT1uKk9ZKHQpLHI9bipGWSh0KSxvPUZZKGUpLGE9UlkoVVkoKGE9algqby1HWCpyKSphKyhhPUdYKmktVVgqbykqYSsoYT1VWCpyLWpYKmkpKmEpLFVYKmkralgqcitHWCpvKTtMWCs9YSxSWCs9YSooVVgrKFVYPWkpKSxPWCs9YSooalgrKGpYPXIpKSx6WCs9YSooR1grKEdYPW8pKSxvJChVWCxqWCxHWCl9ZnVuY3Rpb24gYyQoKXtpJC5wb2ludD1yJH1mdW5jdGlvbiB1JCgpe2kkLnBvaW50PWQkfWZ1bmN0aW9uIGgkKCl7cCQoRlgsVlgpLGkkLnBvaW50PXIkfWZ1bmN0aW9uIGQkKHQsZSl7Rlg9dCxWWD1lLHQqPVBZLGUqPVBZLGkkLnBvaW50PXAkO3ZhciBuPU9ZKGUpO1VYPW4qT1kodCksalg9bipGWSh0KSxHWD1GWShlKSxvJChVWCxqWCxHWCl9ZnVuY3Rpb24gcCQodCxlKXt0Kj1QWTt2YXIgbj1PWShlKj1QWSksaT1uKk9ZKHQpLHI9bipGWSh0KSxvPUZZKGUpLGE9algqby1HWCpyLHM9R1gqaS1VWCpvLGw9VVgqci1qWCppLGM9VVkoYSphK3MqcytsKmwpLHU9V1koYyksaD1jJiYtdS9jO0RYKz1oKmEsQlgrPWgqcyxIWCs9aCpsLExYKz11LFJYKz11KihVWCsoVVg9aSkpLE9YKz11KihqWCsoalg9cikpLHpYKz11KihHWCsoR1g9bykpLG8kKFVYLGpYLEdYKX1mdW5jdGlvbiBmJCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gbSQodCxlKXtmdW5jdGlvbiBuKG4saSl7cmV0dXJuIG49dChuLGkpLGUoblswXSxuWzFdKX1yZXR1cm4gdC5pbnZlcnQmJmUuaW52ZXJ0JiYobi5pbnZlcnQ9ZnVuY3Rpb24obixpKXtyZXR1cm4obj1lLmludmVydChuLGkpKSYmdC5pbnZlcnQoblswXSxuWzFdKX0pLG59ZnVuY3Rpb24gZyQodCxlKXtyZXR1cm5bdD5UWT90LWtZOnQ8LVRZP3Qra1k6dCxlXX1mdW5jdGlvbiBfJCh0LGUsbil7cmV0dXJuKHQlPWtZKT9lfHxuP20kKHYkKHQpLGIkKGUsbikpOnYkKHQpOmV8fG4/YiQoZSxuKTpnJH1mdW5jdGlvbiB5JCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm5bKGUrPXQpPlRZP2Uta1k6ZTwtVFk/ZStrWTplLG5dfX1mdW5jdGlvbiB2JCh0KXt2YXIgZT15JCh0KTtyZXR1cm4gZS5pbnZlcnQ9eSQoLXQpLGV9ZnVuY3Rpb24gYiQodCxlKXt2YXIgbj1PWSh0KSxpPUZZKHQpLHI9T1koZSksbz1GWShlKTtmdW5jdGlvbiBhKHQsZSl7dmFyIGE9T1koZSkscz1PWSh0KSphLGw9RlkodCkqYSxjPUZZKGUpLHU9YypuK3MqaTtyZXR1cm5bUlkobCpyLXUqbyxzKm4tYyppKSxXWSh1KnIrbCpvKV19cmV0dXJuIGEuaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIGE9T1koZSkscz1PWSh0KSphLGw9RlkodCkqYSxjPUZZKGUpLHU9YypyLWwqbztyZXR1cm5bUlkobCpyK2MqbyxzKm4rdSppKSxXWSh1Km4tcyppKV19LGF9ZnVuY3Rpb24geCQodCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4oZT10KGVbMF0qUFksZVsxXSpQWSkpWzBdKj1MWSxlWzFdKj1MWSxlfXJldHVybiB0PV8kKHRbMF0qUFksdFsxXSpQWSx0Lmxlbmd0aD4yP3RbMl0qUFk6MCksZS5pbnZlcnQ9ZnVuY3Rpb24oZSl7cmV0dXJuKGU9dC5pbnZlcnQoZVswXSpQWSxlWzFdKlBZKSlbMF0qPUxZLGVbMV0qPUxZLGV9LGV9ZnVuY3Rpb24gdyQodCxlLG4saSxyLG8pe2lmKG4pe3ZhciBhPU9ZKGUpLHM9RlkoZSksbD1pKm47bnVsbD09cj8ocj1lK2kqa1ksbz1lLWwvMik6KHI9UyQoYSxyKSxvPVMkKGEsbyksKGk+MD9yPG86cj5vKSYmKHIrPWkqa1kpKTtmb3IodmFyIGMsdT1yO2k+MD91Pm86dTxvO3UtPWwpYz1kWChbYSwtcypPWSh1KSwtcypGWSh1KV0pLHQucG9pbnQoY1swXSxjWzFdKX19ZnVuY3Rpb24gUyQodCxlKXsoZT1wWChlKSlbMF0tPXQseVgoZSk7dmFyIG49R1koLWVbMV0pO3JldHVybigoLWVbMl08MD8tbjpuKStrWS1FWSkla1l9ZnVuY3Rpb24gTSQoKXt2YXIgdCxlPVtdO3JldHVybntwb2ludDpmdW5jdGlvbihlLG4pe3QucHVzaChbZSxuXSl9LGxpbmVTdGFydDpmdW5jdGlvbigpe2UucHVzaCh0PVtdKX0sbGluZUVuZDpZWSxyZWpvaW46ZnVuY3Rpb24oKXtlLmxlbmd0aD4xJiZlLnB1c2goZS5wb3AoKS5jb25jYXQoZS5zaGlmdCgpKSl9LHJlc3VsdDpmdW5jdGlvbigpe3ZhciBuPWU7cmV0dXJuIGU9W10sdD1udWxsLG59fX1mdW5jdGlvbiBFJCh0LGUpe3JldHVybiBOWSh0WzBdLWVbMF0pPEVZJiZOWSh0WzFdLWVbMV0pPEVZfWZ1bmN0aW9uIFQkKHQsZSxuLGkpe3RoaXMueD10LHRoaXMuej1lLHRoaXMubz1uLHRoaXMuZT1pLHRoaXMudj0hMSx0aGlzLm49dGhpcy5wPW51bGx9ZnVuY3Rpb24gQyQodCxlLG4saSxyKXt2YXIgbyxhLHM9W10sbD1bXTtpZih0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKCEoKGU9dC5sZW5ndGgtMSk8PTApKXt2YXIgZSxuLGk9dFswXSxhPXRbZV07aWYoRSQoaSxhKSl7Zm9yKHIubGluZVN0YXJ0KCksbz0wO288ZTsrK28pci5wb2ludCgoaT10W29dKVswXSxpWzFdKTtyLmxpbmVFbmQoKX1lbHNlIHMucHVzaChuPW5ldyBUJChpLHQsbnVsbCwhMCkpLGwucHVzaChuLm89bmV3IFQkKGksbnVsbCxuLCExKSkscy5wdXNoKG49bmV3IFQkKGEsdCxudWxsLCExKSksbC5wdXNoKG4ubz1uZXcgVCQoYSxudWxsLG4sITApKX19KSkscy5sZW5ndGgpe2ZvcihsLnNvcnQoZSksQSQocyksQSQobCksbz0wLGE9bC5sZW5ndGg7bzxhOysrbylsW29dLmU9bj0hbjtmb3IodmFyIGMsdSxoPXNbMF07Oyl7Zm9yKHZhciBkPWgscD0hMDtkLnY7KWlmKChkPWQubik9PT1oKXJldHVybjtjPWQueixyLmxpbmVTdGFydCgpO2Rve2lmKGQudj1kLm8udj0hMCxkLmUpe2lmKHApZm9yKG89MCxhPWMubGVuZ3RoO288YTsrK28pci5wb2ludCgodT1jW29dKVswXSx1WzFdKTtlbHNlIGkoZC54LGQubi54LDEscik7ZD1kLm59ZWxzZXtpZihwKWZvcihvPShjPWQucC56KS5sZW5ndGgtMTtvPj0wOy0tbylyLnBvaW50KCh1PWNbb10pWzBdLHVbMV0pO2Vsc2UgaShkLngsZC5wLngsLTEscik7ZD1kLnB9Yz0oZD1kLm8pLnoscD0hcH13aGlsZSghZC52KTtyLmxpbmVFbmQoKX19fWZ1bmN0aW9uIEEkKHQpe2lmKGU9dC5sZW5ndGgpe2Zvcih2YXIgZSxuLGk9MCxyPXRbMF07KytpPGU7KXIubj1uPXRbaV0sbi5wPXIscj1uO3Iubj1uPXRbMF0sbi5wPXJ9fWckLmludmVydD1nJDt2YXIgayQ9eFkoKTtmdW5jdGlvbiBMJCh0LGUpe3ZhciBuPWVbMF0saT1lWzFdLHI9W0ZZKG4pLC1PWShuKSwwXSxvPTAsYT0wO2skLnJlc2V0KCk7Zm9yKHZhciBzPTAsbD10Lmxlbmd0aDtzPGw7KytzKWlmKHU9KGM9dFtzXSkubGVuZ3RoKWZvcih2YXIgYyx1LGg9Y1t1LTFdLGQ9aFswXSxwPWhbMV0vMitBWSxmPUZZKHApLG09T1kocCksZz0wO2c8dTsrK2csZD15LGY9YixtPXgsaD1fKXt2YXIgXz1jW2ddLHk9X1swXSx2PV9bMV0vMitBWSxiPUZZKHYpLHg9T1kodiksdz15LWQsUz13Pj0wPzE6LTEsTT1TKncsRT1NPlRZLFQ9ZipiO2lmKGskLmFkZChSWShUKlMqRlkoTSksbSp4K1QqT1koTSkpKSxvKz1FP3crUyprWTp3LEVeZD49bl55Pj1uKXt2YXIgQz1tWChwWChoKSxwWChfKSk7eVgoQyk7dmFyIEE9bVgocixDKTt5WChBKTt2YXIgaz0oRV53Pj0wPy0xOjEpKldZKEFbMl0pOyhpPmt8fGk9PT1rJiYoQ1swXXx8Q1sxXSkpJiYoYSs9RV53Pj0wPzE6LTEpfX1yZXR1cm4obzwtMWUtNnx8bzxFWSYmayQ8LTFlLTYpXjEmYX1mdW5jdGlvbiBQJCh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBOJCh0LGUsbil7dD0rdCxlPStlLG49KHI9YXJndW1lbnRzLmxlbmd0aCk8Mj8oZT10LHQ9MCwxKTpyPDM/MTorbjtmb3IodmFyIGk9LTEscj0wfE1hdGgubWF4KDAsTWF0aC5jZWlsKChlLXQpL24pKSxvPW5ldyBBcnJheShyKTsrK2k8cjspb1tpXT10K2kqbjtyZXR1cm4gb31mdW5jdGlvbiBJJCh0KXtmb3IodmFyIGUsbixpLHI9dC5sZW5ndGgsbz0tMSxhPTA7KytvPHI7KWErPXRbb10ubGVuZ3RoO2ZvcihuPW5ldyBBcnJheShhKTstLXI+PTA7KWZvcihlPShpPXRbcl0pLmxlbmd0aDstLWU+PTA7KW5bLS1hXT1pW2VdO3JldHVybiBufWZ1bmN0aW9uIFIkKHQsZSxuLGkpe3JldHVybiBmdW5jdGlvbihyKXt2YXIgbyxhLHMsbD1lKHIpLGM9TSQoKSx1PWUoYyksaD0hMSxkPXtwb2ludDpwLGxpbmVTdGFydDptLGxpbmVFbmQ6Zyxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtkLnBvaW50PV8sZC5saW5lU3RhcnQ9eSxkLmxpbmVFbmQ9dixhPVtdLG89W119LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtkLnBvaW50PXAsZC5saW5lU3RhcnQ9bSxkLmxpbmVFbmQ9ZyxhPUkkKGEpO3ZhciB0PUwkKG8saSk7YS5sZW5ndGg/KGh8fChyLnBvbHlnb25TdGFydCgpLGg9ITApLEMkKGEseiQsdCxuLHIpKTp0JiYoaHx8KHIucG9seWdvblN0YXJ0KCksaD0hMCksci5saW5lU3RhcnQoKSxuKG51bGwsbnVsbCwxLHIpLHIubGluZUVuZCgpKSxoJiYoci5wb2x5Z29uRW5kKCksaD0hMSksYT1vPW51bGx9LHNwaGVyZTpmdW5jdGlvbigpe3IucG9seWdvblN0YXJ0KCksci5saW5lU3RhcnQoKSxuKG51bGwsbnVsbCwxLHIpLHIubGluZUVuZCgpLHIucG9seWdvbkVuZCgpfX07ZnVuY3Rpb24gcChlLG4pe3QoZSxuKSYmci5wb2ludChlLG4pfWZ1bmN0aW9uIGYodCxlKXtsLnBvaW50KHQsZSl9ZnVuY3Rpb24gbSgpe2QucG9pbnQ9ZixsLmxpbmVTdGFydCgpfWZ1bmN0aW9uIGcoKXtkLnBvaW50PXAsbC5saW5lRW5kKCl9ZnVuY3Rpb24gXyh0LGUpe3MucHVzaChbdCxlXSksdS5wb2ludCh0LGUpfWZ1bmN0aW9uIHkoKXt1LmxpbmVTdGFydCgpLHM9W119ZnVuY3Rpb24gdigpe18oc1swXVswXSxzWzBdWzFdKSx1LmxpbmVFbmQoKTt2YXIgdCxlLG4saSxsPXUuY2xlYW4oKSxkPWMucmVzdWx0KCkscD1kLmxlbmd0aDtpZihzLnBvcCgpLG8ucHVzaChzKSxzPW51bGwscClpZigxJmwpe2lmKChlPShuPWRbMF0pLmxlbmd0aC0xKT4wKXtmb3IoaHx8KHIucG9seWdvblN0YXJ0KCksaD0hMCksci5saW5lU3RhcnQoKSx0PTA7dDxlOysrdClyLnBvaW50KChpPW5bdF0pWzBdLGlbMV0pO3IubGluZUVuZCgpfX1lbHNlIHA+MSYmMiZsJiZkLnB1c2goZC5wb3AoKS5jb25jYXQoZC5zaGlmdCgpKSksYS5wdXNoKGQuZmlsdGVyKE8kKSl9cmV0dXJuIGR9fWZ1bmN0aW9uIE8kKHQpe3JldHVybiB0Lmxlbmd0aD4xfWZ1bmN0aW9uIHokKHQsZSl7cmV0dXJuKCh0PXQueClbMF08MD90WzFdLUNZLUVZOkNZLXRbMV0pLSgoZT1lLngpWzBdPDA/ZVsxXS1DWS1FWTpDWS1lWzFdKX0hKGZ1bmN0aW9uIEQkKHQpe3JldHVybiAxPT09dC5sZW5ndGgmJih0PShmdW5jdGlvbiBlKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiBQJCh0KGUpLG4pfX0pKHQpKSx7bGVmdDpmdW5jdGlvbihlLG4saSxyKXtmb3IobnVsbD09aSYmKGk9MCksbnVsbD09ciYmKHI9ZS5sZW5ndGgpO2k8cjspe3ZhciBvPWkrcj4+PjE7dChlW29dLG4pPDA/aT1vKzE6cj1vfXJldHVybiBpfSxyaWdodDpmdW5jdGlvbihlLG4saSxyKXtmb3IobnVsbD09aSYmKGk9MCksbnVsbD09ciYmKHI9ZS5sZW5ndGgpO2k8cjspe3ZhciBvPWkrcj4+PjE7dChlW29dLG4pPjA/cj1vOmk9bysxfXJldHVybiBpfX19KShQJCk7dmFyIEIkPVIkKChmdW5jdGlvbigpe3JldHVybiEwfSksKGZ1bmN0aW9uIEgkKHQpe3ZhciBlLG49TmFOLGk9TmFOLHI9TmFOO3JldHVybntsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0LmxpbmVTdGFydCgpLGU9MX0scG9pbnQ6ZnVuY3Rpb24obyxhKXt2YXIgcz1vPjA/VFk6LVRZLGw9Tlkoby1uKTtOWShsLVRZKTxFWT8odC5wb2ludChuLGk9KGkrYSkvMj4wP0NZOi1DWSksdC5wb2ludChyLGkpLHQubGluZUVuZCgpLHQubGluZVN0YXJ0KCksdC5wb2ludChzLGkpLHQucG9pbnQobyxpKSxlPTApOnIhPT1zJiZsPj1UWSYmKE5ZKG4tcik8RVkmJihuLT1yKkVZKSxOWShvLXMpPEVZJiYoby09cypFWSksaT0oZnVuY3Rpb24gYyh0LGUsbixpKXt2YXIgcixvLGE9RlkodC1uKTtyZXR1cm4gTlkoYSk+RVk/SVkoKEZZKGUpKihvPU9ZKGkpKSpGWShuKS1GWShpKSoocj1PWShlKSkqRlkodCkpLyhyKm8qYSkpOihlK2kpLzJ9KShuLGksbyxhKSx0LnBvaW50KHIsaSksdC5saW5lRW5kKCksdC5saW5lU3RhcnQoKSx0LnBvaW50KHMsaSksZT0wKSx0LnBvaW50KG49byxpPWEpLHI9c30sbGluZUVuZDpmdW5jdGlvbigpe3QubGluZUVuZCgpLG49aT1OYU59LGNsZWFuOmZ1bmN0aW9uKCl7cmV0dXJuIDItZX19fSksKGZ1bmN0aW9uIEYkKHQsZSxuLGkpe3ZhciByO2lmKG51bGw9PXQpaS5wb2ludCgtVFkscj1uKkNZKSxpLnBvaW50KDAsciksaS5wb2ludChUWSxyKSxpLnBvaW50KFRZLDApLGkucG9pbnQoVFksLXIpLGkucG9pbnQoMCwtciksaS5wb2ludCgtVFksLXIpLGkucG9pbnQoLVRZLDApLGkucG9pbnQoLVRZLHIpO2Vsc2UgaWYoTlkodFswXS1lWzBdKT5FWSl7dmFyIG89dFswXTxlWzBdP1RZOi1UWTtpLnBvaW50KC1vLHI9bipvLzIpLGkucG9pbnQoMCxyKSxpLnBvaW50KG8scil9ZWxzZSBpLnBvaW50KGVbMF0sZVsxXSl9KSxbLVRZLC1DWV0pO2Z1bmN0aW9uIFYkKHQpe3ZhciBlPU9ZKHQpLG49NipQWSxpPWU+MCxyPU5ZKGUpPkVZO2Z1bmN0aW9uIG8odCxuKXtyZXR1cm4gT1kodCkqT1kobik+ZX1mdW5jdGlvbiBhKHQsbixpKXt2YXIgcj1bMSwwLDBdLG89bVgocFgodCkscFgobikpLGE9ZlgobyxvKSxzPW9bMF0sbD1hLXMqcztpZighbClyZXR1cm4haSYmdDt2YXIgYz1lKmEvbCx1PS1lKnMvbCxoPW1YKHIsbyksZD1fWChyLGMpO2dYKGQsX1gobyx1KSk7dmFyIHA9aCxmPWZYKGQscCksbT1mWChwLHApLGc9ZipmLW0qKGZYKGQsZCktMSk7aWYoIShnPDApKXt2YXIgXz1VWShnKSx5PV9YKHAsKC1mLV8pL20pO2lmKGdYKHksZCkseT1kWCh5KSwhaSlyZXR1cm4geTt2YXIgdixiPXRbMF0seD1uWzBdLHc9dFsxXSxTPW5bMV07eDxiJiYodj1iLGI9eCx4PXYpO3ZhciBNPXgtYixFPU5ZKE0tVFkpPEVZO2lmKCFFJiZTPHcmJih2PXcsdz1TLFM9diksRXx8TTxFWT9FP3crUz4wXnlbMV08KE5ZKHlbMF0tYik8RVk/dzpTKTp3PD15WzFdJiZ5WzFdPD1TOk0+VFleKGI8PXlbMF0mJnlbMF08PXgpKXt2YXIgVD1fWChwLCgtZitfKS9tKTtyZXR1cm4gZ1goVCxkKSxbeSxkWChUKV19fX1mdW5jdGlvbiBzKGUsbil7dmFyIHI9aT90OlRZLXQsbz0wO3JldHVybiBlPC1yP298PTE6ZT5yJiYob3w9Miksbjwtcj9vfD00Om4+ciYmKG98PTgpLG99cmV0dXJuIFIkKG8sKGZ1bmN0aW9uIGwodCl7dmFyIGUsbixsLGMsdTtyZXR1cm57bGluZVN0YXJ0OmZ1bmN0aW9uKCl7Yz1sPSExLHU9MX0scG9pbnQ6ZnVuY3Rpb24oaCxkKXt2YXIgcCxmPVtoLGRdLG09byhoLGQpLGc9aT9tPzA6cyhoLGQpOm0/cyhoKyhoPDA/VFk6LVRZKSxkKTowO2lmKCFlJiYoYz1sPW0pJiZ0LmxpbmVTdGFydCgpLG0hPT1sJiYoIShwPWEoZSxmKSl8fEUkKGUscCl8fEUkKGYscCkpJiYoZlswXSs9RVksZlsxXSs9RVksbT1vKGZbMF0sZlsxXSkpLG0hPT1sKXU9MCxtPyh0LmxpbmVTdGFydCgpLHA9YShmLGUpLHQucG9pbnQocFswXSxwWzFdKSk6KHA9YShlLGYpLHQucG9pbnQocFswXSxwWzFdKSx0LmxpbmVFbmQoKSksZT1wO2Vsc2UgaWYociYmZSYmaV5tKXt2YXIgXztnJm58fCEoXz1hKGYsZSwhMCkpfHwodT0wLGk/KHQubGluZVN0YXJ0KCksdC5wb2ludChfWzBdWzBdLF9bMF1bMV0pLHQucG9pbnQoX1sxXVswXSxfWzFdWzFdKSx0LmxpbmVFbmQoKSk6KHQucG9pbnQoX1sxXVswXSxfWzFdWzFdKSx0LmxpbmVFbmQoKSx0LmxpbmVTdGFydCgpLHQucG9pbnQoX1swXVswXSxfWzBdWzFdKSkpfSFtfHxlJiZFJChlLGYpfHx0LnBvaW50KGZbMF0sZlsxXSksZT1mLGw9bSxuPWd9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtsJiZ0LmxpbmVFbmQoKSxlPW51bGx9LGNsZWFuOmZ1bmN0aW9uKCl7cmV0dXJuIHV8KGMmJmwpPDwxfX19KSwoZnVuY3Rpb24gYyhlLGkscixvKXt3JChvLHQsbixyLGUsaSl9KSxpP1swLC10XTpbLVRZLHQtVFldKX12YXIgVSQ9MWU5LGokPS1VJDtmdW5jdGlvbiBHJCh0LGUsbixpKXtmdW5jdGlvbiByKHIsbyl7cmV0dXJuIHQ8PXImJnI8PW4mJmU8PW8mJm88PWl9ZnVuY3Rpb24gbyhyLG8scyxjKXt2YXIgdT0wLGg9MDtpZihudWxsPT1yfHwodT1hKHIscykpIT09KGg9YShvLHMpKXx8bChyLG8pPDBecz4wKWRve2MucG9pbnQoMD09PXV8fDM9PT11P3Q6bix1PjE/aTplKX13aGlsZSgodT0odStzKzQpJTQpIT09aCk7ZWxzZSBjLnBvaW50KG9bMF0sb1sxXSl9ZnVuY3Rpb24gYShpLHIpe3JldHVybiBOWShpWzBdLXQpPEVZP3I+MD8wOjM6TlkoaVswXS1uKTxFWT9yPjA/MjoxOk5ZKGlbMV0tZSk8RVk/cj4wPzE6MDpyPjA/MzoyfWZ1bmN0aW9uIHModCxlKXtyZXR1cm4gbCh0LngsZS54KX1mdW5jdGlvbiBsKHQsZSl7dmFyIG49YSh0LDEpLGk9YShlLDEpO3JldHVybiBuIT09aT9uLWk6MD09PW4/ZVsxXS10WzFdOjE9PT1uP3RbMF0tZVswXToyPT09bj90WzFdLWVbMV06ZVswXS10WzBdfXJldHVybiBmdW5jdGlvbihhKXt2YXIgbCxjLHUsaCxkLHAsZixtLGcsXyx5LHY9YSxiPU0kKCkseD17cG9pbnQ6VCxsaW5lU3RhcnQ6ZnVuY3Rpb24gdygpe3gucG9pbnQ9QyxjJiZjLnB1c2godT1bXSk7Xz0hMCxnPSExLGY9bT1OYU59LGxpbmVFbmQ6ZnVuY3Rpb24gUygpe2wmJihDKGgsZCkscCYmZyYmYi5yZWpvaW4oKSxsLnB1c2goYi5yZXN1bHQoKSkpO3gucG9pbnQ9VCxnJiZ2LmxpbmVFbmQoKX0scG9seWdvblN0YXJ0OmZ1bmN0aW9uIE0oKXt2PWIsbD1bXSxjPVtdLHk9ITB9LHBvbHlnb25FbmQ6ZnVuY3Rpb24gRSgpe3ZhciBlPShmdW5jdGlvbiBuKCl7Zm9yKHZhciBlPTAsbj0wLHI9Yy5sZW5ndGg7bjxyOysrbilmb3IodmFyIG8sYSxzPWNbbl0sbD0xLHU9cy5sZW5ndGgsaD1zWzBdLGQ9aFswXSxwPWhbMV07bDx1OysrbClvPWQsYT1wLGQ9KGg9c1tsXSlbMF0scD1oWzFdLGE8PWk/cD5pJiYoZC1vKSooaS1hKT4ocC1hKSoodC1vKSYmKytlOnA8PWkmJihkLW8pKihpLWEpPChwLWEpKih0LW8pJiYtLWU7cmV0dXJuIGV9KSgpLHI9eSYmZSxoPShsPUkkKGwpKS5sZW5ndGg7KHJ8fGgpJiYoYS5wb2x5Z29uU3RhcnQoKSxyJiYoYS5saW5lU3RhcnQoKSxvKG51bGwsbnVsbCwxLGEpLGEubGluZUVuZCgpKSxoJiZDJChsLHMsZSxvLGEpLGEucG9seWdvbkVuZCgpKTt2PWEsbD1jPXU9bnVsbH19O2Z1bmN0aW9uIFQodCxlKXtyKHQsZSkmJnYucG9pbnQodCxlKX1mdW5jdGlvbiBDKG8sYSl7dmFyIHM9cihvLGEpO2lmKGMmJnUucHVzaChbbyxhXSksXyloPW8sZD1hLHA9cyxfPSExLHMmJih2LmxpbmVTdGFydCgpLHYucG9pbnQobyxhKSk7ZWxzZSBpZihzJiZnKXYucG9pbnQobyxhKTtlbHNle3ZhciBsPVtmPU1hdGgubWF4KGokLE1hdGgubWluKFUkLGYpKSxtPU1hdGgubWF4KGokLE1hdGgubWluKFUkLG0pKV0sYj1bbz1NYXRoLm1heChqJCxNYXRoLm1pbihVJCxvKSksYT1NYXRoLm1heChqJCxNYXRoLm1pbihVJCxhKSldOyEoZnVuY3Rpb24geCh0LGUsbixpLHIsbyl7dmFyIGEscz10WzBdLGw9dFsxXSxjPTAsdT0xLGg9ZVswXS1zLGQ9ZVsxXS1sO2lmKGE9bi1zLGh8fCEoYT4wKSl7aWYoYS89aCxoPDApe2lmKGE8YylyZXR1cm47YTx1JiYodT1hKX1lbHNlIGlmKGg+MCl7aWYoYT51KXJldHVybjthPmMmJihjPWEpfWlmKGE9ci1zLGh8fCEoYTwwKSl7aWYoYS89aCxoPDApe2lmKGE+dSlyZXR1cm47YT5jJiYoYz1hKX1lbHNlIGlmKGg+MCl7aWYoYTxjKXJldHVybjthPHUmJih1PWEpfWlmKGE9aS1sLGR8fCEoYT4wKSl7aWYoYS89ZCxkPDApe2lmKGE8YylyZXR1cm47YTx1JiYodT1hKX1lbHNlIGlmKGQ+MCl7aWYoYT51KXJldHVybjthPmMmJihjPWEpfWlmKGE9by1sLGR8fCEoYTwwKSl7aWYoYS89ZCxkPDApe2lmKGE+dSlyZXR1cm47YT5jJiYoYz1hKX1lbHNlIGlmKGQ+MCl7aWYoYTxjKXJldHVybjthPHUmJih1PWEpfXJldHVybiBjPjAmJih0WzBdPXMrYypoLHRbMV09bCtjKmQpLHU8MSYmKGVbMF09cyt1KmgsZVsxXT1sK3UqZCksITB9fX19fSkobCxiLHQsZSxuLGkpP3MmJih2LmxpbmVTdGFydCgpLHYucG9pbnQobyxhKSx5PSExKTooZ3x8KHYubGluZVN0YXJ0KCksdi5wb2ludChsWzBdLGxbMV0pKSx2LnBvaW50KGJbMF0sYlsxXSksc3x8di5saW5lRW5kKCkseT0hMSl9Zj1vLG09YSxnPXN9cmV0dXJuIHh9fXZhciBXJCxxJCxZJCxYJD14WSgpLCQkPXtzcGhlcmU6WVkscG9pbnQ6WVksbGluZVN0YXJ0OmZ1bmN0aW9uIEskKCl7JCQucG9pbnQ9SiQsJCQubGluZUVuZD1aJH0sbGluZUVuZDpZWSxwb2x5Z29uU3RhcnQ6WVkscG9seWdvbkVuZDpZWX07ZnVuY3Rpb24gWiQoKXskJC5wb2ludD0kJC5saW5lRW5kPVlZfWZ1bmN0aW9uIEokKHQsZSl7VyQ9dCo9UFkscSQ9RlkoZSo9UFkpLFkkPU9ZKGUpLCQkLnBvaW50PVEkfWZ1bmN0aW9uIFEkKHQsZSl7dCo9UFk7dmFyIG49RlkoZSo9UFkpLGk9T1koZSkscj1OWSh0LVckKSxvPU9ZKHIpLGE9aSpGWShyKSxzPVkkKm4tcSQqaSpvLGw9cSQqbitZJCppKm87WCQuYWRkKFJZKFVZKGEqYStzKnMpLGwpKSxXJD10LHEkPW4sWSQ9aX1mdW5jdGlvbiB0Syh0KXtyZXR1cm4gWCQucmVzZXQoKSxRWSh0LCQkKSwrWCR9dmFyIGVLPVtudWxsLG51bGxdLG5LPXt0eXBlOiJMaW5lU3RyaW5nIixjb29yZGluYXRlczplS307ZnVuY3Rpb24gaUsodCxlKXtyZXR1cm4gZUtbMF09dCxlS1sxXT1lLHRLKG5LKX12YXIgcks9e0ZlYXR1cmU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gYUsodC5nZW9tZXRyeSxlKX0sRmVhdHVyZUNvbGxlY3Rpb246ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC5mZWF0dXJlcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KWlmKGFLKG5baV0uZ2VvbWV0cnksZSkpcmV0dXJuITA7cmV0dXJuITF9fSxvSz17U3BoZXJlOmZ1bmN0aW9uKCl7cmV0dXJuITB9LFBvaW50OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHNLKHQuY29vcmRpbmF0ZXMsZSl9LE11bHRpUG9pbnQ6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC5jb29yZGluYXRlcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KWlmKHNLKG5baV0sZSkpcmV0dXJuITA7cmV0dXJuITF9LExpbmVTdHJpbmc6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbEsodC5jb29yZGluYXRlcyxlKX0sTXVsdGlMaW5lU3RyaW5nOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuY29vcmRpbmF0ZXMsaT0tMSxyPW4ubGVuZ3RoOysraTxyOylpZihsSyhuW2ldLGUpKXJldHVybiEwO3JldHVybiExfSxQb2x5Z29uOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNLKHQuY29vcmRpbmF0ZXMsZSl9LE11bHRpUG9seWdvbjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10LmNvb3JkaW5hdGVzLGk9LTEscj1uLmxlbmd0aDsrK2k8cjspaWYoY0sobltpXSxlKSlyZXR1cm4hMDtyZXR1cm4hMX0sR2VvbWV0cnlDb2xsZWN0aW9uOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQuZ2VvbWV0cmllcyxpPS0xLHI9bi5sZW5ndGg7KytpPHI7KWlmKGFLKG5baV0sZSkpcmV0dXJuITA7cmV0dXJuITF9fTtmdW5jdGlvbiBhSyh0LGUpe3JldHVybiEoIXR8fCFvSy5oYXNPd25Qcm9wZXJ0eSh0LnR5cGUpKSYmb0tbdC50eXBlXSh0LGUpfWZ1bmN0aW9uIHNLKHQsZSl7cmV0dXJuIDA9PT1pSyh0LGUpfWZ1bmN0aW9uIGxLKHQsZSl7dmFyIG49aUsodFswXSx0WzFdKTtyZXR1cm4gaUsodFswXSxlKStpSyhlLHRbMV0pPD1uK0VZfWZ1bmN0aW9uIGNLKHQsZSl7cmV0dXJuISFMJCh0Lm1hcCh1SyksaEsoZSkpfWZ1bmN0aW9uIHVLKHQpe3JldHVybih0PXQubWFwKGhLKSkucG9wKCksdH1mdW5jdGlvbiBoSyh0KXtyZXR1cm5bdFswXSpQWSx0WzFdKlBZXX1mdW5jdGlvbiBkSyh0LGUsbil7dmFyIGk9TiQodCxlLUVZLG4pLmNvbmNhdChlKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGkubWFwKChmdW5jdGlvbihlKXtyZXR1cm5bdCxlXX0pKX19ZnVuY3Rpb24gcEsodCxlLG4pe3ZhciBpPU4kKHQsZS1FWSxuKS5jb25jYXQoZSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuW2UsdF19KSl9fWZ1bmN0aW9uIGZLKCl7dmFyIHQsZSxuLGkscixvLGEscyxsLGMsdSxoLGQ9MTAscD1kLGY9OTAsbT0zNjAsZz0yLjU7ZnVuY3Rpb24gXygpe3JldHVybnt0eXBlOiJNdWx0aUxpbmVTdHJpbmciLGNvb3JkaW5hdGVzOnkoKX19ZnVuY3Rpb24geSgpe3JldHVybiBOJCh6WShpL2YpKmYsbixmKS5tYXAodSkuY29uY2F0KE4kKHpZKHMvbSkqbSxhLG0pLm1hcChoKSkuY29uY2F0KE4kKHpZKGUvZCkqZCx0LGQpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIE5ZKHQlZik+RVl9KSkubWFwKGwpKS5jb25jYXQoTiQoelkoby9wKSpwLHIscCkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gTlkodCVtKT5FWX0pKS5tYXAoYykpfXJldHVybiBfLmxpbmVzPWZ1bmN0aW9uKCl7cmV0dXJuIHkoKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybnt0eXBlOiJMaW5lU3RyaW5nIixjb29yZGluYXRlczp0fX0pKX0sXy5vdXRsaW5lPWZ1bmN0aW9uKCl7cmV0dXJue3R5cGU6IlBvbHlnb24iLGNvb3JkaW5hdGVzOlt1KGkpLmNvbmNhdChoKGEpLnNsaWNlKDEpLHUobikucmV2ZXJzZSgpLnNsaWNlKDEpLGgocykucmV2ZXJzZSgpLnNsaWNlKDEpKV19fSxfLmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9fLmV4dGVudE1ham9yKHQpLmV4dGVudE1pbm9yKHQpOl8uZXh0ZW50TWlub3IoKX0sXy5leHRlbnRNYWpvcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz0rdFswXVsxXSxhPSt0WzFdWzFdLChpPSt0WzBdWzBdKT4obj0rdFsxXVswXSkmJih0PWksaT1uLG49dCkscz5hJiYodD1zLHM9YSxhPXQpLF8ucHJlY2lzaW9uKGcpKTpbW2ksc10sW24sYV1dfSxfLmV4dGVudE1pbm9yPWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPStuWzBdWzFdLHI9K25bMV1bMV0sKGU9K25bMF1bMF0pPih0PStuWzFdWzBdKSYmKG49ZSxlPXQsdD1uKSxvPnImJihuPW8sbz1yLHI9biksXy5wcmVjaXNpb24oZykpOltbZSxvXSxbdCxyXV19LF8uc3RlcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9fLnN0ZXBNYWpvcih0KS5zdGVwTWlub3IodCk6Xy5zdGVwTWlub3IoKX0sXy5zdGVwTWFqb3I9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9K3RbMF0sbT0rdFsxXSxfKTpbZixtXX0sXy5zdGVwTWlub3I9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGQ9K3RbMF0scD0rdFsxXSxfKTpbZCxwXX0sXy5wcmVjaXNpb249ZnVuY3Rpb24oZCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGc9K2QsbD1kSyhvLHIsOTApLGM9cEsoZSx0LGcpLHU9ZEsocyxhLDkwKSxoPXBLKGksbixnKSxfKTpnfSxfLmV4dGVudE1ham9yKFtbLTE4MCwtODkuOTk5OTk5XSxbMTgwLDg5Ljk5OTk5OV1dKS5leHRlbnRNaW5vcihbWy0xODAsLTgwLjAwMDAwMV0sWzE4MCw4MC4wMDAwMDFdXSl9ZnVuY3Rpb24gbUsodCl7cmV0dXJuIHR9dmFyIGdLLF9LLHlLLHZLLGJLPXhZKCkseEs9eFkoKSx3Sz17cG9pbnQ6WVksbGluZVN0YXJ0OllZLGxpbmVFbmQ6WVkscG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7d0subGluZVN0YXJ0PVNLLHdLLmxpbmVFbmQ9VEt9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXt3Sy5saW5lU3RhcnQ9d0subGluZUVuZD13Sy5wb2ludD1ZWSxiSy5hZGQoTlkoeEspKSx4Sy5yZXNldCgpfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgdD1iSy8yO3JldHVybiBiSy5yZXNldCgpLHR9fTtmdW5jdGlvbiBTSygpe3dLLnBvaW50PU1LfWZ1bmN0aW9uIE1LKHQsZSl7d0sucG9pbnQ9RUssZ0s9eUs9dCxfSz12Sz1lfWZ1bmN0aW9uIEVLKHQsZSl7eEsuYWRkKHZLKnQteUsqZSkseUs9dCx2Sz1lfWZ1bmN0aW9uIFRLKCl7RUsoZ0ssX0spfXZhciBDSz0xLzAsQUs9Q0ssa0s9LUNLLExLPWtLLFBLPXtwb2ludDpmdW5jdGlvbiBOSyh0LGUpe3Q8Q0smJihDSz10KTt0PmtLJiYoa0s9dCk7ZTxBSyYmKEFLPWUpO2U+TEsmJihMSz1lKX0sbGluZVN0YXJ0OllZLGxpbmVFbmQ6WVkscG9seWdvblN0YXJ0OllZLHBvbHlnb25FbmQ6WVkscmVzdWx0OmZ1bmN0aW9uKCl7dmFyIHQ9W1tDSyxBS10sW2tLLExLXV07cmV0dXJuIGtLPUxLPS0oQUs9Q0s9MS8wKSx0fX07dmFyIElLLFJLLE9LLHpLLERLPTAsQks9MCxISz0wLEZLPTAsVks9MCxVSz0wLGpLPTAsR0s9MCxXSz0wLHFLPXtwb2ludDpZSyxsaW5lU3RhcnQ6WEssbGluZUVuZDpaSyxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtxSy5saW5lU3RhcnQ9SksscUsubGluZUVuZD1RS30scG9seWdvbkVuZDpmdW5jdGlvbigpe3FLLnBvaW50PVlLLHFLLmxpbmVTdGFydD1YSyxxSy5saW5lRW5kPVpLfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgdD1XSz9baksvV0ssR0svV0tdOlVLP1tGSy9VSyxWSy9VS106SEs/W0RLL0hLLEJLL0hLXTpbTmFOLE5hTl07cmV0dXJuIERLPUJLPUhLPUZLPVZLPVVLPWpLPUdLPVdLPTAsdH19O2Z1bmN0aW9uIFlLKHQsZSl7REsrPXQsQksrPWUsKytIS31mdW5jdGlvbiBYSygpe3FLLnBvaW50PSRLfWZ1bmN0aW9uICRLKHQsZSl7cUsucG9pbnQ9S0ssWUsoT0s9dCx6Sz1lKX1mdW5jdGlvbiBLSyh0LGUpe3ZhciBuPXQtT0ssaT1lLXpLLHI9VVkobipuK2kqaSk7RksrPXIqKE9LK3QpLzIsVksrPXIqKHpLK2UpLzIsVUsrPXIsWUsoT0s9dCx6Sz1lKX1mdW5jdGlvbiBaSygpe3FLLnBvaW50PVlLfWZ1bmN0aW9uIEpLKCl7cUsucG9pbnQ9dFp9ZnVuY3Rpb24gUUsoKXtlWihJSyxSSyl9ZnVuY3Rpb24gdFoodCxlKXtxSy5wb2ludD1lWixZSyhJSz1PSz10LFJLPXpLPWUpfWZ1bmN0aW9uIGVaKHQsZSl7dmFyIG49dC1PSyxpPWUteksscj1VWShuKm4raSppKTtGSys9ciooT0srdCkvMixWSys9ciooeksrZSkvMixVSys9cixqSys9KHI9eksqdC1PSyplKSooT0srdCksR0srPXIqKHpLK2UpLFdLKz0zKnIsWUsoT0s9dCx6Sz1lKX1mdW5jdGlvbiBuWih0KXt0aGlzLl9jb250ZXh0PXR9bloucHJvdG90eXBlPXtfcmFkaXVzOjQuNSxwb2ludFJhZGl1czpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmFkaXVzPXQsdGhpc30scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXswPT09dGhpcy5fbGluZSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9wb2ludD1OYU59LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKSx0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5fY29udGV4dC5tb3ZlVG8odCt0aGlzLl9yYWRpdXMsZSksdGhpcy5fY29udGV4dC5hcmModCxlLHRoaXMuX3JhZGl1cywwLGtZKX19LHJlc3VsdDpZWX07dmFyIGlaLHJaLG9aLGFaLHNaLGxaPXhZKCksY1o9e3BvaW50OllZLGxpbmVTdGFydDpmdW5jdGlvbigpe2NaLnBvaW50PXVafSxsaW5lRW5kOmZ1bmN0aW9uKCl7aVomJmhaKHJaLG9aKSxjWi5wb2ludD1ZWX0scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7aVo9ITB9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtpWj1udWxsfSxyZXN1bHQ6ZnVuY3Rpb24oKXt2YXIgdD0rbFo7cmV0dXJuIGxaLnJlc2V0KCksdH19O2Z1bmN0aW9uIHVaKHQsZSl7Y1oucG9pbnQ9aFosclo9YVo9dCxvWj1zWj1lfWZ1bmN0aW9uIGhaKHQsZSl7bFouYWRkKFVZKChhWi09dCkqYVorKHNaLT1lKSpzWikpLGFaPXQsc1o9ZX1mdW5jdGlvbiBkWigpe3RoaXMuX3N0cmluZz1bXX1mdW5jdGlvbiBwWih0KXtyZXR1cm4ibTAsIit0KyJhIit0KyIsIit0KyIgMCAxLDEgMCwiKy0yKnQrImEiK3QrIiwiK3QrIiAwIDEsMSAwLCIrMip0KyJ6In1mdW5jdGlvbiBmWih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49bmV3IG1aO2Zvcih2YXIgaSBpbiB0KW5baV09dFtpXTtyZXR1cm4gbi5zdHJlYW09ZSxufX1mdW5jdGlvbiBtWigpe31mdW5jdGlvbiBnWih0LGUsbil7dmFyIGk9dC5jbGlwRXh0ZW50JiZ0LmNsaXBFeHRlbnQoKTtyZXR1cm4gdC5zY2FsZSgxNTApLnRyYW5zbGF0ZShbMCwwXSksbnVsbCE9aSYmdC5jbGlwRXh0ZW50KG51bGwpLFFZKG4sdC5zdHJlYW0oUEspKSxlKFBLLnJlc3VsdCgpKSxudWxsIT1pJiZ0LmNsaXBFeHRlbnQoaSksdH1mdW5jdGlvbiBfWih0LGUsbil7cmV0dXJuIGdaKHQsKGZ1bmN0aW9uKG4pe3ZhciBpPWVbMV1bMF0tZVswXVswXSxyPWVbMV1bMV0tZVswXVsxXSxvPU1hdGgubWluKGkvKG5bMV1bMF0tblswXVswXSksci8oblsxXVsxXS1uWzBdWzFdKSksYT0rZVswXVswXSsoaS1vKihuWzFdWzBdK25bMF1bMF0pKS8yLHM9K2VbMF1bMV0rKHItbyooblsxXVsxXStuWzBdWzFdKSkvMjt0LnNjYWxlKDE1MCpvKS50cmFuc2xhdGUoW2Esc10pfSksbil9ZnVuY3Rpb24geVoodCxlLG4pe3JldHVybiBfWih0LFtbMCwwXSxlXSxuKX1mdW5jdGlvbiB2Wih0LGUsbil7cmV0dXJuIGdaKHQsKGZ1bmN0aW9uKG4pe3ZhciBpPStlLHI9aS8oblsxXVswXS1uWzBdWzBdKSxvPShpLXIqKG5bMV1bMF0rblswXVswXSkpLzIsYT0tcipuWzBdWzFdO3Quc2NhbGUoMTUwKnIpLnRyYW5zbGF0ZShbbyxhXSl9KSxuKX1mdW5jdGlvbiBiWih0LGUsbil7cmV0dXJuIGdaKHQsKGZ1bmN0aW9uKG4pe3ZhciBpPStlLHI9aS8oblsxXVsxXS1uWzBdWzFdKSxvPS1yKm5bMF1bMF0sYT0oaS1yKihuWzFdWzFdK25bMF1bMV0pKS8yO3Quc2NhbGUoMTUwKnIpLnRyYW5zbGF0ZShbbyxhXSl9KSxuKX1kWi5wcm90b3R5cGU9e19yYWRpdXM6NC41LF9jaXJjbGU6cFooNC41KSxwb2ludFJhZGl1czpmdW5jdGlvbih0KXtyZXR1cm4odD0rdCkhPT10aGlzLl9yYWRpdXMmJih0aGlzLl9yYWRpdXM9dCx0aGlzLl9jaXJjbGU9bnVsbCksdGhpc30scG9seWdvblN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXswPT09dGhpcy5fbGluZSYmdGhpcy5fc3RyaW5nLnB1c2goIloiKSx0aGlzLl9wb2ludD1OYU59LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fc3RyaW5nLnB1c2goIk0iLHQsIiwiLGUpLHRoaXMuX3BvaW50PTE7YnJlYWs7Y2FzZSAxOnRoaXMuX3N0cmluZy5wdXNoKCJMIix0LCIsIixlKTticmVhaztkZWZhdWx0Om51bGw9PXRoaXMuX2NpcmNsZSYmKHRoaXMuX2NpcmNsZT1wWih0aGlzLl9yYWRpdXMpKSx0aGlzLl9zdHJpbmcucHVzaCgiTSIsdCwiLCIsZSx0aGlzLl9jaXJjbGUpfX0scmVzdWx0OmZ1bmN0aW9uKCl7aWYodGhpcy5fc3RyaW5nLmxlbmd0aCl7dmFyIHQ9dGhpcy5fc3RyaW5nLmpvaW4oIiIpO3JldHVybiB0aGlzLl9zdHJpbmc9W10sdH1yZXR1cm4gbnVsbH19LG1aLnByb3RvdHlwZT17Y29uc3RydWN0b3I6bVoscG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLnN0cmVhbS5wb2ludCh0LGUpfSxzcGhlcmU6ZnVuY3Rpb24oKXt0aGlzLnN0cmVhbS5zcGhlcmUoKX0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0ubGluZVN0YXJ0KCl9LGxpbmVFbmQ6ZnVuY3Rpb24oKXt0aGlzLnN0cmVhbS5saW5lRW5kKCl9LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe3RoaXMuc3RyZWFtLnBvbHlnb25TdGFydCgpfSxwb2x5Z29uRW5kOmZ1bmN0aW9uKCl7dGhpcy5zdHJlYW0ucG9seWdvbkVuZCgpfX07dmFyIHhaPU9ZKDMwKlBZKTtmdW5jdGlvbiB3Wih0LGUpe3JldHVybitlPyhmdW5jdGlvbiBuKHQsZSl7ZnVuY3Rpb24gbihpLHIsbyxhLHMsbCxjLHUsaCxkLHAsZixtLGcpe3ZhciBfPWMtaSx5PXUtcix2PV8qXyt5Knk7aWYodj40KmUmJm0tLSl7dmFyIGI9YStkLHg9cytwLHc9bCtmLFM9VVkoYipiK3gqeCt3KncpLE09V1kody89UyksRT1OWShOWSh3KS0xKTxFWXx8Tlkoby1oKTxFWT8obytoKS8yOlJZKHgsYiksVD10KEUsTSksQz1UWzBdLEE9VFsxXSxrPUMtaSxMPUEtcixQPXkqay1fKkw7KFAqUC92PmV8fE5ZKChfKmsreSpMKS92LS41KT4uM3x8YSpkK3MqcCtsKmY8eFopJiYobihpLHIsbyxhLHMsbCxDLEEsRSxiLz1TLHgvPVMsdyxtLGcpLGcucG9pbnQoQyxBKSxuKEMsQSxFLGIseCx3LGMsdSxoLGQscCxmLG0sZykpfX1yZXR1cm4gZnVuY3Rpb24oZSl7dmFyIGkscixvLGEscyxsLGMsdSxoLGQscCxmLG09e3BvaW50OmcsbGluZVN0YXJ0Ol8sbGluZUVuZDp2LHBvbHlnb25TdGFydDpmdW5jdGlvbigpe2UucG9seWdvblN0YXJ0KCksbS5saW5lU3RhcnQ9Yn0scG9seWdvbkVuZDpmdW5jdGlvbigpe2UucG9seWdvbkVuZCgpLG0ubGluZVN0YXJ0PV99fTtmdW5jdGlvbiBnKG4saSl7bj10KG4saSksZS5wb2ludChuWzBdLG5bMV0pfWZ1bmN0aW9uIF8oKXt1PU5hTixtLnBvaW50PXksZS5saW5lU3RhcnQoKX1mdW5jdGlvbiB5KGkscil7dmFyIG89cFgoW2kscl0pLGE9dChpLHIpO24odSxoLGMsZCxwLGYsdT1hWzBdLGg9YVsxXSxjPWksZD1vWzBdLHA9b1sxXSxmPW9bMl0sMTYsZSksZS5wb2ludCh1LGgpfWZ1bmN0aW9uIHYoKXttLnBvaW50PWcsZS5saW5lRW5kKCl9ZnVuY3Rpb24gYigpe18oKSxtLnBvaW50PXgsbS5saW5lRW5kPXd9ZnVuY3Rpb24geCh0LGUpe3koaT10LGUpLHI9dSxvPWgsYT1kLHM9cCxsPWYsbS5wb2ludD15fWZ1bmN0aW9uIHcoKXtuKHUsaCxjLGQscCxmLHIsbyxpLGEscyxsLDE2LGUpLG0ubGluZUVuZD12LHYoKX1yZXR1cm4gbX19KSh0LGUpOihmdW5jdGlvbiBpKHQpe3JldHVybiBmWih7cG9pbnQ6ZnVuY3Rpb24oZSxuKXtlPXQoZSxuKSx0aGlzLnN0cmVhbS5wb2ludChlWzBdLGVbMV0pfX0pfSkodCl9dmFyIFNaPWZaKHtwb2ludDpmdW5jdGlvbih0LGUpe3RoaXMuc3RyZWFtLnBvaW50KHQqUFksZSpQWSl9fSk7ZnVuY3Rpb24gTVoodCl7cmV0dXJuIEVaKChmdW5jdGlvbigpe3JldHVybiB0fSkpKCl9ZnVuY3Rpb24gRVoodCl7dmFyIGUsbixpLHIsbyxhLHMsbCxjLHUsaD0xNTAsZD00ODAscD0yNTAsZj0wLG09MCxnPTAsXz0wLHk9MCx2PW51bGwsYj1CJCx4PW51bGwsdz1tSyxTPS41LE09d1ooQyxTKTtmdW5jdGlvbiBFKHQpe3JldHVyblsodD1vKHRbMF0qUFksdFsxXSpQWSkpWzBdKmgrbixpLXRbMV0qaF19ZnVuY3Rpb24gVCh0KXtyZXR1cm4odD1vLmludmVydCgodFswXS1uKS9oLChpLXRbMV0pL2gpKSYmW3RbMF0qTFksdFsxXSpMWV19ZnVuY3Rpb24gQyh0LHIpe3JldHVyblsodD1lKHQscikpWzBdKmgrbixpLXRbMV0qaF19ZnVuY3Rpb24gQSgpe289bSQocj1fJChnLF8seSksZSk7dmFyIHQ9ZShmLG0pO3JldHVybiBuPWQtdFswXSpoLGk9cCt0WzFdKmgsaygpfWZ1bmN0aW9uIGsoKXtyZXR1cm4gYz11PW51bGwsRX1yZXR1cm4gRS5zdHJlYW09ZnVuY3Rpb24odCl7cmV0dXJuIGMmJnU9PT10P2M6Yz1TWigoZnVuY3Rpb24gZSh0KXtyZXR1cm4gZlooe3BvaW50OmZ1bmN0aW9uKGUsbil7dmFyIGk9dChlLG4pO3JldHVybiB0aGlzLnN0cmVhbS5wb2ludChpWzBdLGlbMV0pfX0pfSkocikoYihNKHcodT10KSkpKSl9LEUucHJlY2xpcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYj10LHY9dm9pZCAwLGsoKSk6Yn0sRS5wb3N0Y2xpcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odz10LHg9YT1zPWw9bnVsbCxrKCkpOnd9LEUuY2xpcEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhiPSt0P1YkKHY9dCpQWSk6KHY9bnVsbCxCJCksaygpKTp2KkxZfSxFLmNsaXBFeHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHc9bnVsbD09dD8oeD1hPXM9bD1udWxsLG1LKTpHJCh4PSt0WzBdWzBdLGE9K3RbMF1bMV0scz0rdFsxXVswXSxsPSt0WzFdWzFdKSxrKCkpOm51bGw9PXg/bnVsbDpbW3gsYV0sW3MsbF1dfSxFLnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPSt0LEEoKSk6aH0sRS50cmFuc2xhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGQ9K3RbMF0scD0rdFsxXSxBKCkpOltkLHBdfSxFLmNlbnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZj10WzBdJTM2MCpQWSxtPXRbMV0lMzYwKlBZLEEoKSk6W2YqTFksbSpMWV19LEUucm90YXRlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhnPXRbMF0lMzYwKlBZLF89dFsxXSUzNjAqUFkseT10Lmxlbmd0aD4yP3RbMl0lMzYwKlBZOjAsQSgpKTpbZypMWSxfKkxZLHkqTFldfSxFLnByZWNpc2lvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oTT13WihDLFM9dCp0KSxrKCkpOlVZKFMpfSxFLmZpdEV4dGVudD1mdW5jdGlvbih0LGUpe3JldHVybiBfWihFLHQsZSl9LEUuZml0U2l6ZT1mdW5jdGlvbih0LGUpe3JldHVybiB5WihFLHQsZSl9LEUuZml0V2lkdGg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdlooRSx0LGUpfSxFLmZpdEhlaWdodD1mdW5jdGlvbih0LGUpe3JldHVybiBiWihFLHQsZSl9LGZ1bmN0aW9uKCl7cmV0dXJuIGU9dC5hcHBseSh0aGlzLGFyZ3VtZW50cyksRS5pbnZlcnQ9ZS5pbnZlcnQmJlQsQSgpfX1mdW5jdGlvbiBUWih0KXt2YXIgZT0wLG49VFkvMyxpPUVaKHQpLHI9aShlLG4pO3JldHVybiByLnBhcmFsbGVscz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9pKGU9dFswXSpQWSxuPXRbMV0qUFkpOltlKkxZLG4qTFldfSxyfWZ1bmN0aW9uIENaKHQsZSl7dmFyIG49RlkodCksaT0obitGWShlKSkvMjtpZihOWShpKTxFWSlyZXR1cm4oZnVuY3Rpb24gcih0KXt2YXIgZT1PWSh0KTtmdW5jdGlvbiBuKHQsbil7cmV0dXJuW3QqZSxGWShuKS9lXX1yZXR1cm4gbi5pbnZlcnQ9ZnVuY3Rpb24odCxuKXtyZXR1cm5bdC9lLFdZKG4qZSldfSxufSkodCk7dmFyIG89MStuKigyKmktbiksYT1VWShvKS9pO2Z1bmN0aW9uIHModCxlKXt2YXIgbj1VWShvLTIqaSpGWShlKSkvaTtyZXR1cm5bbipGWSh0Kj1pKSxhLW4qT1kodCldfXJldHVybiBzLmludmVydD1mdW5jdGlvbih0LGUpe3ZhciBuPWEtZTtyZXR1cm5bUlkodCxOWShuKSkvaSpWWShuKSxXWSgoby0odCp0K24qbikqaSppKS8oMippKSldfSxzfWZ1bmN0aW9uIEFaKCl7cmV0dXJuIFRaKENaKS5zY2FsZSgxNTUuNDI0KS5jZW50ZXIoWzAsMzMuNjQ0Ml0pfWZ1bmN0aW9uIGtaKCl7cmV0dXJuIEFaKCkucGFyYWxsZWxzKFsyOS41LDQ1LjVdKS5zY2FsZSgxMDcwKS50cmFuc2xhdGUoWzQ4MCwyNTBdKS5yb3RhdGUoWzk2LDBdKS5jZW50ZXIoWy0uNiwzOC43XSl9ZnVuY3Rpb24gTFoodCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dmFyIGk9T1koZSkscj1PWShuKSxvPXQoaSpyKTtyZXR1cm5bbypyKkZZKGUpLG8qRlkobildfX1mdW5jdGlvbiBQWih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXt2YXIgaT1VWShlKmUrbipuKSxyPXQoaSksbz1GWShyKSxhPU9ZKHIpO3JldHVybltSWShlKm8saSphKSxXWShpJiZuKm8vaSldfX12YXIgTlo9TFooKGZ1bmN0aW9uKHQpe3JldHVybiBVWSgyLygxK3QpKX0pKTtOWi5pbnZlcnQ9UFooKGZ1bmN0aW9uKHQpe3JldHVybiAyKldZKHQvMil9KSk7dmFyIElaPUxaKChmdW5jdGlvbih0KXtyZXR1cm4odD1HWSh0KSkmJnQvRlkodCl9KSk7ZnVuY3Rpb24gUloodCxlKXtyZXR1cm5bdCxCWShqWSgoQ1krZSkvMikpXX1mdW5jdGlvbiBPWih0KXt2YXIgZSxuLGkscj1NWih0KSxvPXIuY2VudGVyLGE9ci5zY2FsZSxzPXIudHJhbnNsYXRlLGw9ci5jbGlwRXh0ZW50LGM9bnVsbDtmdW5jdGlvbiB1KCl7dmFyIG89VFkqYSgpLHM9cih4JChyLnJvdGF0ZSgpKS5pbnZlcnQoWzAsMF0pKTtyZXR1cm4gbChudWxsPT1jP1tbc1swXS1vLHNbMV0tb10sW3NbMF0rbyxzWzFdK29dXTp0PT09Ulo/W1tNYXRoLm1heChzWzBdLW8sYyksZV0sW01hdGgubWluKHNbMF0rbyxuKSxpXV06W1tjLE1hdGgubWF4KHNbMV0tbyxlKV0sW24sTWF0aC5taW4oc1sxXStvLGkpXV0pfXJldHVybiByLnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhKHQpLHUoKSk6YSgpfSxyLnRyYW5zbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocyh0KSx1KCkpOnMoKX0sci5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG8odCksdSgpKTpvKCl9LHIuY2xpcEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obnVsbD09dD9jPWU9bj1pPW51bGw6KGM9K3RbMF1bMF0sZT0rdFswXVsxXSxuPSt0WzFdWzBdLGk9K3RbMV1bMV0pLHUoKSk6bnVsbD09Yz9udWxsOltbYyxlXSxbbixpXV19LHUoKX1mdW5jdGlvbiB6Wih0KXtyZXR1cm4galkoKENZK3QpLzIpfWZ1bmN0aW9uIERaKHQsZSl7dmFyIG49T1kodCksaT10PT09ZT9GWSh0KTpCWShuL09ZKGUpKS9CWSh6WihlKS96Wih0KSkscj1uKkhZKHpaKHQpLGkpL2k7aWYoIWkpcmV0dXJuIFJaO2Z1bmN0aW9uIG8odCxlKXtyPjA/ZTwtQ1krRVkmJihlPS1DWStFWSk6ZT5DWS1FWSYmKGU9Q1ktRVkpO3ZhciBuPXIvSFkoelooZSksaSk7cmV0dXJuW24qRlkoaSp0KSxyLW4qT1koaSp0KV19cmV0dXJuIG8uaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIG49ci1lLG89VlkoaSkqVVkodCp0K24qbik7cmV0dXJuW1JZKHQsTlkobikpL2kqVlkobiksMipJWShIWShyL28sMS9pKSktQ1ldfSxvfWZ1bmN0aW9uIEJaKHQsZSl7cmV0dXJuW3QsZV19ZnVuY3Rpb24gSFoodCxlKXt2YXIgbj1PWSh0KSxpPXQ9PT1lP0ZZKHQpOihuLU9ZKGUpKS8oZS10KSxyPW4vaSt0O2lmKE5ZKGkpPEVZKXJldHVybiBCWjtmdW5jdGlvbiBvKHQsZSl7dmFyIG49ci1lLG89aSp0O3JldHVybltuKkZZKG8pLHItbipPWShvKV19cmV0dXJuIG8uaW52ZXJ0PWZ1bmN0aW9uKHQsZSl7dmFyIG49ci1lO3JldHVybltSWSh0LE5ZKG4pKS9pKlZZKG4pLHItVlkoaSkqVVkodCp0K24qbildfSxvfWZ1bmN0aW9uIEZaKHQsZSl7dmFyIG49T1koZSksaT1PWSh0KSpuO3JldHVybltuKkZZKHQpL2ksRlkoZSkvaV19ZnVuY3Rpb24gVloodCxlLG4saSl7cmV0dXJuIDE9PT10JiYxPT09ZSYmMD09PW4mJjA9PT1pP21LOmZaKHtwb2ludDpmdW5jdGlvbihyLG8pe3RoaXMuc3RyZWFtLnBvaW50KHIqdCtuLG8qZStpKX19KX1mdW5jdGlvbiBVWih0LGUpe3ZhciBuPWUqZSxpPW4qbjtyZXR1cm5bdCooLjg3MDctLjEzMTk3OSpuK2kqKGkqKC4wMDM5NzEqbi0uMDAxNTI5KmkpLS4wMTM3OTEpKSxlKigxLjAwNzIyNituKiguMDE1MDg1K2kqKC4wMjg4NzQqbi0uMDQ0NDc1LS4wMDU5MTYqaSkpKV19ZnVuY3Rpb24galoodCxlKXtyZXR1cm5bT1koZSkqRlkodCksRlkoZSldfWZ1bmN0aW9uIEdaKHQsZSl7dmFyIG49T1koZSksaT0xK09ZKHQpKm47cmV0dXJuW24qRlkodCkvaSxGWShlKS9pXX1mdW5jdGlvbiBXWih0LGUpe3JldHVybltCWShqWSgoQ1krZSkvMikpLC10XX1mdW5jdGlvbiBxWih0LGUpe3JldHVybiB0LnBhcmVudD09PWUucGFyZW50PzE6Mn1mdW5jdGlvbiBZWih0LGUpe3JldHVybiB0K2UueH1mdW5jdGlvbiBYWih0LGUpe3JldHVybiBNYXRoLm1heCh0LGUueSl9ZnVuY3Rpb24gJFoodCl7dmFyIGU9MCxuPXQuY2hpbGRyZW4saT1uJiZuLmxlbmd0aDtpZihpKWZvcig7LS1pPj0wOyllKz1uW2ldLnZhbHVlO2Vsc2UgZT0xO3QudmFsdWU9ZX1mdW5jdGlvbiBLWih0LGUpe3ZhciBuLGkscixvLGEscz1uZXcgdEoodCksbD0rdC52YWx1ZSYmKHMudmFsdWU9dC52YWx1ZSksYz1bc107Zm9yKG51bGw9PWUmJihlPVpaKTtuPWMucG9wKCk7KWlmKGwmJihuLnZhbHVlPStuLmRhdGEudmFsdWUpLChyPWUobi5kYXRhKSkmJihhPXIubGVuZ3RoKSlmb3Iobi5jaGlsZHJlbj1uZXcgQXJyYXkoYSksbz1hLTE7bz49MDstLW8pYy5wdXNoKGk9bi5jaGlsZHJlbltvXT1uZXcgdEoocltvXSkpLGkucGFyZW50PW4saS5kZXB0aD1uLmRlcHRoKzE7cmV0dXJuIHMuZWFjaEJlZm9yZShRWil9ZnVuY3Rpb24gWloodCl7cmV0dXJuIHQuY2hpbGRyZW59ZnVuY3Rpb24gSloodCl7dC5kYXRhPXQuZGF0YS5kYXRhfWZ1bmN0aW9uIFFaKHQpe3ZhciBlPTA7ZG97dC5oZWlnaHQ9ZX13aGlsZSgodD10LnBhcmVudCkmJnQuaGVpZ2h0PCsrZSl9ZnVuY3Rpb24gdEoodCl7dGhpcy5kYXRhPXQsdGhpcy5kZXB0aD10aGlzLmhlaWdodD0wLHRoaXMucGFyZW50PW51bGx9SVouaW52ZXJ0PVBaKChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKSxSWi5pbnZlcnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm5bdCwyKklZKERZKGUpKS1DWV19LEJaLmludmVydD1CWixGWi5pbnZlcnQ9UFooSVkpLFVaLmludmVydD1mdW5jdGlvbih0LGUpe3ZhciBuLGk9ZSxyPTI1O2Rve3ZhciBvPWkqaSxhPW8qbztpLT1uPShpKigxLjAwNzIyNitvKiguMDE1MDg1K2EqKC4wMjg4NzQqby0uMDQ0NDc1LS4wMDU5MTYqYSkpKS1lKS8oMS4wMDcyMjYrbyooLjA0NTI1NSthKiguMjU5ODY2Km8tLjMxMTMyNS0uMDA1OTE2KjExKmEpKSl9d2hpbGUoTlkobik+RVkmJi0tcj4wKTtyZXR1cm5bdC8oLjg3MDcrKG89aSppKSoobyoobypvKm8qKC4wMDM5NzEtLjAwMTUyOSpvKS0uMDEzNzkxKS0uMTMxOTc5KSksaV19LGpaLmludmVydD1QWihXWSksR1ouaW52ZXJ0PVBaKChmdW5jdGlvbih0KXtyZXR1cm4gMipJWSh0KX0pKSxXWi5pbnZlcnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm5bLWUsMipJWShEWSh0KSktQ1ldfSx0Si5wcm90b3R5cGU9S1oucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp0Sixjb3VudDpmdW5jdGlvbiBlSigpe3JldHVybiB0aGlzLmVhY2hBZnRlcigkWil9LGVhY2g6ZnVuY3Rpb24gbkoodCl7dmFyIGUsbixpLHIsbz10aGlzLGE9W29dO2Rve2ZvcihlPWEucmV2ZXJzZSgpLGE9W107bz1lLnBvcCgpOylpZih0KG8pLG49by5jaGlsZHJlbilmb3IoaT0wLHI9bi5sZW5ndGg7aTxyOysraSlhLnB1c2gobltpXSl9d2hpbGUoYS5sZW5ndGgpO3JldHVybiB0aGlzfSxlYWNoQWZ0ZXI6ZnVuY3Rpb24gaUoodCl7Zm9yKHZhciBlLG4saSxyPXRoaXMsbz1bcl0sYT1bXTtyPW8ucG9wKCk7KWlmKGEucHVzaChyKSxlPXIuY2hpbGRyZW4pZm9yKG49MCxpPWUubGVuZ3RoO248aTsrK24pby5wdXNoKGVbbl0pO2Zvcig7cj1hLnBvcCgpOyl0KHIpO3JldHVybiB0aGlzfSxlYWNoQmVmb3JlOmZ1bmN0aW9uIHJKKHQpe2Zvcih2YXIgZSxuLGk9dGhpcyxyPVtpXTtpPXIucG9wKCk7KWlmKHQoaSksZT1pLmNoaWxkcmVuKWZvcihuPWUubGVuZ3RoLTE7bj49MDstLW4pci5wdXNoKGVbbl0pO3JldHVybiB0aGlzfSxzdW06ZnVuY3Rpb24gb0oodCl7cmV0dXJuIHRoaXMuZWFjaEFmdGVyKChmdW5jdGlvbihlKXtmb3IodmFyIG49K3QoZS5kYXRhKXx8MCxpPWUuY2hpbGRyZW4scj1pJiZpLmxlbmd0aDstLXI+PTA7KW4rPWlbcl0udmFsdWU7ZS52YWx1ZT1ufSkpfSxzb3J0OmZ1bmN0aW9uIGFKKHQpe3JldHVybiB0aGlzLmVhY2hCZWZvcmUoKGZ1bmN0aW9uKGUpe2UuY2hpbGRyZW4mJmUuY2hpbGRyZW4uc29ydCh0KX0pKX0scGF0aDpmdW5jdGlvbiBzSih0KXtmb3IodmFyIGU9dGhpcyxuPShmdW5jdGlvbiBpKHQsZSl7aWYodD09PWUpcmV0dXJuIHQ7dmFyIG49dC5hbmNlc3RvcnMoKSxpPWUuYW5jZXN0b3JzKCkscj1udWxsO3Q9bi5wb3AoKSxlPWkucG9wKCk7Zm9yKDt0PT09ZTspcj10LHQ9bi5wb3AoKSxlPWkucG9wKCk7cmV0dXJuIHJ9KShlLHQpLHI9W2VdO2UhPT1uOylyLnB1c2goZT1lLnBhcmVudCk7Zm9yKHZhciBvPXIubGVuZ3RoO3QhPT1uOylyLnNwbGljZShvLDAsdCksdD10LnBhcmVudDtyZXR1cm4gcn0sYW5jZXN0b3JzOmZ1bmN0aW9uIGxKKCl7Zm9yKHZhciB0PXRoaXMsZT1bdF07dD10LnBhcmVudDspZS5wdXNoKHQpO3JldHVybiBlfSxkZXNjZW5kYW50czpmdW5jdGlvbiBjSigpe3ZhciB0PVtdO3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKGUpe3QucHVzaChlKX0pKSx0fSxsZWF2ZXM6ZnVuY3Rpb24gdUooKXt2YXIgdD1bXTtyZXR1cm4gdGhpcy5lYWNoQmVmb3JlKChmdW5jdGlvbihlKXtlLmNoaWxkcmVufHx0LnB1c2goZSl9KSksdH0sbGlua3M6ZnVuY3Rpb24gaEooKXt2YXIgdD10aGlzLGU9W107cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24obil7biE9PXQmJmUucHVzaCh7c291cmNlOm4ucGFyZW50LHRhcmdldDpufSl9KSksZX0sY29weTpmdW5jdGlvbiBkSigpe3JldHVybiBLWih0aGlzKS5lYWNoQmVmb3JlKEpaKX19O3ZhciBwSj1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gZkoodCl7Zm9yKHZhciBlLG4saT0wLHI9KHQ9KGZ1bmN0aW9uIG8odCl7Zm9yKHZhciBlLG4saT10Lmxlbmd0aDtpOyluPU1hdGgucmFuZG9tKCkqaS0tfDAsZT10W2ldLHRbaV09dFtuXSx0W25dPWU7cmV0dXJuIHR9KShwSi5jYWxsKHQpKSkubGVuZ3RoLGE9W107aTxyOyllPXRbaV0sbiYmX0oobixlKT8rK2k6KG49dkooYT1tSihhLGUpKSxpPTApO3JldHVybiBufWZ1bmN0aW9uIG1KKHQsZSl7dmFyIG4saTtpZih5SihlLHQpKXJldHVybltlXTtmb3Iobj0wO248dC5sZW5ndGg7KytuKWlmKGdKKGUsdFtuXSkmJnlKKGJKKHRbbl0sZSksdCkpcmV0dXJuW3Rbbl0sZV07Zm9yKG49MDtuPHQubGVuZ3RoLTE7KytuKWZvcihpPW4rMTtpPHQubGVuZ3RoOysraSlpZihnSihiSih0W25dLHRbaV0pLGUpJiZnSihiSih0W25dLGUpLHRbaV0pJiZnSihiSih0W2ldLGUpLHRbbl0pJiZ5Sih4Sih0W25dLHRbaV0sZSksdCkpcmV0dXJuW3Rbbl0sdFtpXSxlXTt0aHJvdyBuZXcgRXJyb3J9ZnVuY3Rpb24gZ0oodCxlKXt2YXIgbj10LnItZS5yLGk9ZS54LXQueCxyPWUueS10Lnk7cmV0dXJuIG48MHx8bipuPGkqaStyKnJ9ZnVuY3Rpb24gX0oodCxlKXt2YXIgbj10LnItZS5yKzFlLTYsaT1lLngtdC54LHI9ZS55LXQueTtyZXR1cm4gbj4wJiZuKm4+aSppK3Iqcn1mdW5jdGlvbiB5Sih0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7KytuKWlmKCFfSih0LGVbbl0pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHZKKHQpe3N3aXRjaCh0Lmxlbmd0aCl7Y2FzZSAxOnJldHVybihmdW5jdGlvbiBlKHQpe3JldHVybnt4OnQueCx5OnQueSxyOnQucn19KSh0WzBdKTtjYXNlIDI6cmV0dXJuIGJKKHRbMF0sdFsxXSk7Y2FzZSAzOnJldHVybiB4Sih0WzBdLHRbMV0sdFsyXSl9fWZ1bmN0aW9uIGJKKHQsZSl7dmFyIG49dC54LGk9dC55LHI9dC5yLG89ZS54LGE9ZS55LHM9ZS5yLGw9by1uLGM9YS1pLHU9cy1yLGg9TWF0aC5zcXJ0KGwqbCtjKmMpO3JldHVybnt4OihuK28rbC9oKnUpLzIseTooaSthK2MvaCp1KS8yLHI6KGgrcitzKS8yfX1mdW5jdGlvbiB4Sih0LGUsbil7dmFyIGk9dC54LHI9dC55LG89dC5yLGE9ZS54LHM9ZS55LGw9ZS5yLGM9bi54LHU9bi55LGg9bi5yLGQ9aS1hLHA9aS1jLGY9ci1zLG09ci11LGc9bC1vLF89aC1vLHk9aSppK3Iqci1vKm8sdj15LWEqYS1zKnMrbCpsLGI9eS1jKmMtdSp1K2gqaCx4PXAqZi1kKm0sdz0oZipiLW0qdikvKDIqeCktaSxTPShtKmctZipfKS94LE09KHAqdi1kKmIpLygyKngpLXIsRT0oZCpfLXAqZykveCxUPVMqUytFKkUtMSxDPTIqKG8rdypTK00qRSksQT13KncrTSpNLW8qbyxrPS0oVD8oQytNYXRoLnNxcnQoQypDLTQqVCpBKSkvKDIqVCk6QS9DKTtyZXR1cm57eDppK3crUyprLHk6citNK0UqayxyOmt9fWZ1bmN0aW9uIHdKKHQsZSxuKXt2YXIgaT10Lngscj10Lnksbz1lLnIrbi5yLGE9dC5yK24ucixzPWUueC1pLGw9ZS55LXIsYz1zKnMrbCpsO2lmKGMpe3ZhciB1PS41KygoYSo9YSktKG8qPW8pKS8oMipjKSxoPU1hdGguc3FydChNYXRoLm1heCgwLDIqbyooYStjKS0oYS09YykqYS1vKm8pKS8oMipjKTtuLng9aSt1KnMraCpsLG4ueT1yK3UqbC1oKnN9ZWxzZSBuLng9aSthLG4ueT1yfWZ1bmN0aW9uIFNKKHQsZSl7dmFyIG49ZS54LXQueCxpPWUueS10Lnkscj10LnIrZS5yO3JldHVybiByKnItMWUtNj5uKm4raSppfWZ1bmN0aW9uIE1KKHQpe3ZhciBlPXQuXyxuPXQubmV4dC5fLGk9ZS5yK24ucixyPShlLngqbi5yK24ueCplLnIpL2ksbz0oZS55Km4ucituLnkqZS5yKS9pO3JldHVybiByKnIrbypvfWZ1bmN0aW9uIEVKKHQpe3RoaXMuXz10LHRoaXMubmV4dD1udWxsLHRoaXMucHJldmlvdXM9bnVsbH1mdW5jdGlvbiBUSih0KXtpZighKHI9dC5sZW5ndGgpKXJldHVybiAwO3ZhciBlLG4saSxyLG8sYSxzLGwsYyx1LGg7aWYoKGU9dFswXSkueD0wLGUueT0wLCEocj4xKSlyZXR1cm4gZS5yO2lmKGUueD0tKG49dFsxXSkucixuLng9ZS5yLG4ueT0wLCEocj4yKSlyZXR1cm4gZS5yK24ucjt3SihuLGUsaT10WzJdKSxlPW5ldyBFSihlKSxuPW5ldyBFSihuKSxpPW5ldyBFSihpKSxlLm5leHQ9aS5wcmV2aW91cz1uLG4ubmV4dD1lLnByZXZpb3VzPWksaS5uZXh0PW4ucHJldmlvdXM9ZTt0OmZvcihzPTM7czxyOysrcyl7d0ooZS5fLG4uXyxpPXRbc10pLGk9bmV3IEVKKGkpLGw9bi5uZXh0LGM9ZS5wcmV2aW91cyx1PW4uXy5yLGg9ZS5fLnI7ZG97aWYodTw9aCl7aWYoU0oobC5fLGkuXykpe2UubmV4dD1uPWwsbi5wcmV2aW91cz1lLC0tcztjb250aW51ZSB0fXUrPWwuXy5yLGw9bC5uZXh0fWVsc2V7aWYoU0ooYy5fLGkuXykpeyhlPWMpLm5leHQ9bixuLnByZXZpb3VzPWUsLS1zO2NvbnRpbnVlIHR9aCs9Yy5fLnIsYz1jLnByZXZpb3VzfX13aGlsZShsIT09Yy5uZXh0KTtmb3IoaS5wcmV2aW91cz1lLGkubmV4dD1uLGUubmV4dD1uLnByZXZpb3VzPW49aSxvPU1KKGUpOyhpPWkubmV4dCkhPT1uOykoYT1NSihpKSk8byYmKGU9aSxvPWEpO249ZS5uZXh0fWZvcihlPVtuLl9dLGk9bjsoaT1pLm5leHQpIT09bjspZS5wdXNoKGkuXyk7Zm9yKGk9ZkooZSkscz0wO3M8cjsrK3MpKGU9dFtzXSkueC09aS54LGUueS09aS55O3JldHVybiBpLnJ9ZnVuY3Rpb24gQ0oodCl7cmV0dXJuIG51bGw9PXQ/bnVsbDpBSih0KX1mdW5jdGlvbiBBSih0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHR9ZnVuY3Rpb24ga0ooKXtyZXR1cm4gMH1mdW5jdGlvbiBMSih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gUEoodCl7cmV0dXJuIE1hdGguc3FydCh0LnZhbHVlKX1mdW5jdGlvbiBOSih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7ZS5jaGlsZHJlbnx8KGUucj1NYXRoLm1heCgwLCt0KGUpfHwwKSl9fWZ1bmN0aW9uIElKKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe2lmKGk9bi5jaGlsZHJlbil7dmFyIGkscixvLGE9aS5sZW5ndGgscz10KG4pKmV8fDA7aWYocylmb3Iocj0wO3I8YTsrK3IpaVtyXS5yKz1zO2lmKG89VEooaSkscylmb3Iocj0wO3I8YTsrK3IpaVtyXS5yLT1zO24ucj1vK3N9fX1mdW5jdGlvbiBSSih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49ZS5wYXJlbnQ7ZS5yKj10LG4mJihlLng9bi54K3QqZS54LGUueT1uLnkrdCplLnkpfX1mdW5jdGlvbiBPSih0KXt0LngwPU1hdGgucm91bmQodC54MCksdC55MD1NYXRoLnJvdW5kKHQueTApLHQueDE9TWF0aC5yb3VuZCh0LngxKSx0LnkxPU1hdGgucm91bmQodC55MSl9ZnVuY3Rpb24gekoodCxlLG4saSxyKXtmb3IodmFyIG8sYT10LmNoaWxkcmVuLHM9LTEsbD1hLmxlbmd0aCxjPXQudmFsdWUmJihpLWUpL3QudmFsdWU7KytzPGw7KShvPWFbc10pLnkwPW4sby55MT1yLG8ueDA9ZSxvLngxPWUrPW8udmFsdWUqY312YXIgREo9e2RlcHRoOi0xfSxCSj17fTtmdW5jdGlvbiBISih0KXtyZXR1cm4gdC5pZH1mdW5jdGlvbiBGSih0KXtyZXR1cm4gdC5wYXJlbnRJZH1mdW5jdGlvbiBWSih0LGUpe3JldHVybiB0LnBhcmVudD09PWUucGFyZW50PzE6Mn1mdW5jdGlvbiBVSih0KXt2YXIgZT10LmNoaWxkcmVuO3JldHVybiBlP2VbMF06dC50fWZ1bmN0aW9uIGpKKHQpe3ZhciBlPXQuY2hpbGRyZW47cmV0dXJuIGU/ZVtlLmxlbmd0aC0xXTp0LnR9ZnVuY3Rpb24gR0oodCxlLG4pe3ZhciBpPW4vKGUuaS10LmkpO2UuYy09aSxlLnMrPW4sdC5jKz1pLGUueis9bixlLm0rPW59ZnVuY3Rpb24gV0oodCxlLG4pe3JldHVybiB0LmEucGFyZW50PT09ZS5wYXJlbnQ/dC5hOm59ZnVuY3Rpb24gcUoodCxlKXt0aGlzLl89dCx0aGlzLnBhcmVudD1udWxsLHRoaXMuY2hpbGRyZW49bnVsbCx0aGlzLkE9bnVsbCx0aGlzLmE9dGhpcyx0aGlzLno9MCx0aGlzLm09MCx0aGlzLmM9MCx0aGlzLnM9MCx0aGlzLnQ9bnVsbCx0aGlzLmk9ZX1mdW5jdGlvbiBZSih0LGUsbixpLHIpe2Zvcih2YXIgbyxhPXQuY2hpbGRyZW4scz0tMSxsPWEubGVuZ3RoLGM9dC52YWx1ZSYmKHItbikvdC52YWx1ZTsrK3M8bDspKG89YVtzXSkueDA9ZSxvLngxPWksby55MD1uLG8ueTE9bis9by52YWx1ZSpjfXFKLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHRKLnByb3RvdHlwZSk7dmFyIFhKPSgxK01hdGguc3FydCg1KSkvMjtmdW5jdGlvbiAkSih0LGUsbixpLHIsbyl7Zm9yKHZhciBhLHMsbCxjLHUsaCxkLHAsZixtLGcsXz1bXSx5PWUuY2hpbGRyZW4sdj0wLGI9MCx4PXkubGVuZ3RoLHc9ZS52YWx1ZTt2PHg7KXtsPXItbixjPW8taTtkb3t1PXlbYisrXS52YWx1ZX13aGlsZSghdSYmYjx4KTtmb3IoaD1kPXUsZz11KnUqKG09TWF0aC5tYXgoYy9sLGwvYykvKHcqdCkpLGY9TWF0aC5tYXgoZC9nLGcvaCk7Yjx4OysrYil7aWYodSs9cz15W2JdLnZhbHVlLHM8aCYmKGg9cykscz5kJiYoZD1zKSxnPXUqdSptLChwPU1hdGgubWF4KGQvZyxnL2gpKT5mKXt1LT1zO2JyZWFrfWY9cH1fLnB1c2goYT17dmFsdWU6dSxkaWNlOmw8YyxjaGlsZHJlbjp5LnNsaWNlKHYsYil9KSxhLmRpY2U/ekooYSxuLGkscix3P2krPWMqdS93Om8pOllKKGEsbixpLHc/bis9bCp1L3c6cixvKSx3LT11LHY9Yn1yZXR1cm4gX312YXIgS0o9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0LG4saSxyLG8peyRKKGUsdCxuLGkscixvKX1yZXR1cm4gbi5yYXRpbz1mdW5jdGlvbihlKXtyZXR1cm4gdCgoZT0rZSk+MT9lOjEpfSxufSkoWEopO3ZhciBaSj0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQsbixpLHIsbyl7aWYoKGE9dC5fc3F1YXJpZnkpJiZhLnJhdGlvPT09ZSlmb3IodmFyIGEscyxsLGMsdSxoPS0xLGQ9YS5sZW5ndGgscD10LnZhbHVlOysraDxkOyl7Zm9yKGw9KHM9YVtoXSkuY2hpbGRyZW4sYz1zLnZhbHVlPTAsdT1sLmxlbmd0aDtjPHU7KytjKXMudmFsdWUrPWxbY10udmFsdWU7cy5kaWNlP3pKKHMsbixpLHIsaSs9KG8taSkqcy52YWx1ZS9wKTpZSihzLG4saSxuKz0oci1uKSpzLnZhbHVlL3AsbykscC09cy52YWx1ZX1lbHNlIHQuX3NxdWFyaWZ5PWE9JEooZSx0LG4saSxyLG8pLGEucmF0aW89ZX1yZXR1cm4gbi5yYXRpbz1mdW5jdGlvbihlKXtyZXR1cm4gdCgoZT0rZSk+MT9lOjEpfSxufSkoWEopO2Z1bmN0aW9uIEpKKHQsZSxuKXt0LnByb3RvdHlwZT1lLnByb3RvdHlwZT1uLG4uY29uc3RydWN0b3I9dH1mdW5jdGlvbiBRSih0LGUpe3ZhciBuPU9iamVjdC5jcmVhdGUodC5wcm90b3R5cGUpO2Zvcih2YXIgaSBpbiBlKW5baV09ZVtpXTtyZXR1cm4gbn1mdW5jdGlvbiB0USgpe312YXIgZVE9LjcsblE9MS9lUSxpUT0iXFxzKihbKy1dP1xcZCspXFxzKiIsclE9IlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pXFxzKiIsb1E9IlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pJVxccyoiLGFRPS9eIyhbMC05YS1mXXszLDh9KSQvLHNRPW5ldyBSZWdFeHAoIl5yZ2JcXCgiK1tpUSxpUSxpUV0rIlxcKSQiKSxsUT1uZXcgUmVnRXhwKCJecmdiXFwoIitbb1Esb1Esb1FdKyJcXCkkIiksY1E9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tpUSxpUSxpUSxyUV0rIlxcKSQiKSx1UT1uZXcgUmVnRXhwKCJecmdiYVxcKCIrW29RLG9RLG9RLHJRXSsiXFwpJCIpLGhRPW5ldyBSZWdFeHAoIl5oc2xcXCgiK1tyUSxvUSxvUV0rIlxcKSQiKSxkUT1uZXcgUmVnRXhwKCJeaHNsYVxcKCIrW3JRLG9RLG9RLHJRXSsiXFwpJCIpLHBRPXthbGljZWJsdWU6MTU3OTIzODMsYW50aXF1ZXdoaXRlOjE2NDQ0Mzc1LGFxdWE6NjU1MzUsYXF1YW1hcmluZTo4Mzg4NTY0LGF6dXJlOjE1Nzk0MTc1LGJlaWdlOjE2MTE5MjYwLGJpc3F1ZToxNjc3MDI0NCxibGFjazowLGJsYW5jaGVkYWxtb25kOjE2NzcyMDQ1LGJsdWU6MjU1LGJsdWV2aW9sZXQ6OTA1NTIwMixicm93bjoxMDgyNDIzNCxidXJseXdvb2Q6MTQ1OTYyMzEsY2FkZXRibHVlOjYyNjY1MjgsY2hhcnRyZXVzZTo4Mzg4MzUyLGNob2NvbGF0ZToxMzc4OTQ3MCxjb3JhbDoxNjc0NDI3Mixjb3JuZmxvd2VyYmx1ZTo2NTkxOTgxLGNvcm5zaWxrOjE2Nzc1Mzg4LGNyaW1zb246MTQ0MjMxMDAsY3lhbjo2NTUzNSxkYXJrYmx1ZToxMzksZGFya2N5YW46MzU3MjMsZGFya2dvbGRlbnJvZDoxMjA5MjkzOSxkYXJrZ3JheToxMTExOTAxNyxkYXJrZ3JlZW46MjU2MDAsZGFya2dyZXk6MTExMTkwMTcsZGFya2toYWtpOjEyNDMzMjU5LGRhcmttYWdlbnRhOjkxMDk2NDMsZGFya29saXZlZ3JlZW46NTU5Nzk5OSxkYXJrb3JhbmdlOjE2NzQ3NTIwLGRhcmtvcmNoaWQ6MTAwNDAwMTIsZGFya3JlZDo5MTA5NTA0LGRhcmtzYWxtb246MTUzMDg0MTAsZGFya3NlYWdyZWVuOjk0MTk5MTksZGFya3NsYXRlYmx1ZTo0NzM0MzQ3LGRhcmtzbGF0ZWdyYXk6MzEwMDQ5NSxkYXJrc2xhdGVncmV5OjMxMDA0OTUsZGFya3R1cnF1b2lzZTo1Mjk0NSxkYXJrdmlvbGV0Ojk2OTk1MzksZGVlcHBpbms6MTY3MTY5NDcsZGVlcHNreWJsdWU6NDkxNTEsZGltZ3JheTo2OTA4MjY1LGRpbWdyZXk6NjkwODI2NSxkb2RnZXJibHVlOjIwMDMxOTksZmlyZWJyaWNrOjExNjc0MTQ2LGZsb3JhbHdoaXRlOjE2Nzc1OTIwLGZvcmVzdGdyZWVuOjIyNjM4NDIsZnVjaHNpYToxNjcxMTkzNSxnYWluc2Jvcm86MTQ0NzQ0NjAsZ2hvc3R3aGl0ZToxNjMxNjY3MSxnb2xkOjE2NzY2NzIwLGdvbGRlbnJvZDoxNDMyOTEyMCxncmF5Ojg0MjE1MDQsZ3JlZW46MzI3NjgsZ3JlZW55ZWxsb3c6MTE0MDMwNTUsZ3JleTo4NDIxNTA0LGhvbmV5ZGV3OjE1Nzk0MTYwLGhvdHBpbms6MTY3Mzg3NDAsaW5kaWFucmVkOjEzNDU4NTI0LGluZGlnbzo0OTE1MzMwLGl2b3J5OjE2Nzc3MjAwLGtoYWtpOjE1Nzg3NjYwLGxhdmVuZGVyOjE1MTMyNDEwLGxhdmVuZGVyYmx1c2g6MTY3NzMzNjUsbGF3bmdyZWVuOjgxOTA5NzYsbGVtb25jaGlmZm9uOjE2Nzc1ODg1LGxpZ2h0Ymx1ZToxMTM5MzI1NCxsaWdodGNvcmFsOjE1NzYxNTM2LGxpZ2h0Y3lhbjoxNDc0NTU5OSxsaWdodGdvbGRlbnJvZHllbGxvdzoxNjQ0ODIxMCxsaWdodGdyYXk6MTM4ODIzMjMsbGlnaHRncmVlbjo5NDk4MjU2LGxpZ2h0Z3JleToxMzg4MjMyMyxsaWdodHBpbms6MTY3NTg0NjUsbGlnaHRzYWxtb246MTY3NTI3NjIsbGlnaHRzZWFncmVlbjoyMTQyODkwLGxpZ2h0c2t5Ymx1ZTo4OTAwMzQ2LGxpZ2h0c2xhdGVncmF5Ojc4MzM3NTMsbGlnaHRzbGF0ZWdyZXk6NzgzMzc1MyxsaWdodHN0ZWVsYmx1ZToxMTU4NDczNCxsaWdodHllbGxvdzoxNjc3NzE4NCxsaW1lOjY1MjgwLGxpbWVncmVlbjozMzI5MzMwLGxpbmVuOjE2NDQ1NjcwLG1hZ2VudGE6MTY3MTE5MzUsbWFyb29uOjgzODg2MDgsbWVkaXVtYXF1YW1hcmluZTo2NzM3MzIyLG1lZGl1bWJsdWU6MjA1LG1lZGl1bW9yY2hpZDoxMjIxMTY2NyxtZWRpdW1wdXJwbGU6OTY2MjY4MyxtZWRpdW1zZWFncmVlbjozOTc4MDk3LG1lZGl1bXNsYXRlYmx1ZTo4MDg3NzkwLG1lZGl1bXNwcmluZ2dyZWVuOjY0MTU0LG1lZGl1bXR1cnF1b2lzZTo0NzcyMzAwLG1lZGl1bXZpb2xldHJlZDoxMzA0NzE3MyxtaWRuaWdodGJsdWU6MTY0NDkxMixtaW50Y3JlYW06MTYxMjE4NTAsbWlzdHlyb3NlOjE2NzcwMjczLG1vY2Nhc2luOjE2NzcwMjI5LG5hdmFqb3doaXRlOjE2NzY4Njg1LG5hdnk6MTI4LG9sZGxhY2U6MTY2NDM1NTgsb2xpdmU6ODQyMTM3NixvbGl2ZWRyYWI6NzA0ODczOSxvcmFuZ2U6MTY3NTM5MjAsb3JhbmdlcmVkOjE2NzI5MzQ0LG9yY2hpZDoxNDMxNTczNCxwYWxlZ29sZGVucm9kOjE1NjU3MTMwLHBhbGVncmVlbjoxMDAyNTg4MCxwYWxldHVycXVvaXNlOjExNTI5OTY2LHBhbGV2aW9sZXRyZWQ6MTQzODEyMDMscGFwYXlhd2hpcDoxNjc3MzA3NyxwZWFjaHB1ZmY6MTY3Njc2NzMscGVydToxMzQ2ODk5MSxwaW5rOjE2NzYxMDM1LHBsdW06MTQ1MjQ2MzcscG93ZGVyYmx1ZToxMTU5MTkxMCxwdXJwbGU6ODM4ODczNixyZWJlY2NhcHVycGxlOjY2OTc4ODEscmVkOjE2NzExNjgwLHJvc3licm93bjoxMjM1NzUxOSxyb3lhbGJsdWU6NDI4Njk0NSxzYWRkbGVicm93bjo5MTI3MTg3LHNhbG1vbjoxNjQxNjg4MixzYW5keWJyb3duOjE2MDMyODY0LHNlYWdyZWVuOjMwNTAzMjcsc2Vhc2hlbGw6MTY3NzQ2Mzgsc2llbm5hOjEwNTA2Nzk3LHNpbHZlcjoxMjYzMjI1Nixza3libHVlOjg5MDAzMzEsc2xhdGVibHVlOjY5NzAwNjEsc2xhdGVncmF5OjczNzI5NDQsc2xhdGVncmV5OjczNzI5NDQsc25vdzoxNjc3NTkzMCxzcHJpbmdncmVlbjo2NTQwNyxzdGVlbGJsdWU6NDYyMDk4MCx0YW46MTM4MDg3ODAsdGVhbDozMjg5Nix0aGlzdGxlOjE0MjA0ODg4LHRvbWF0bzoxNjczNzA5NSx0dXJxdW9pc2U6NDI1MTg1Nix2aW9sZXQ6MTU2MzEwODYsd2hlYXQ6MTYxMTMzMzEsd2hpdGU6MTY3NzcyMTUsd2hpdGVzbW9rZToxNjExOTI4NSx5ZWxsb3c6MTY3NzY5NjAseWVsbG93Z3JlZW46MTAxNDUwNzR9O2Z1bmN0aW9uIGZRKCl7cmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0SGV4KCl9ZnVuY3Rpb24gbVEoKXtyZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRSZ2IoKX1mdW5jdGlvbiBnUSh0KXt2YXIgZSxuO3JldHVybiB0PSh0KyIiKS50cmltKCkudG9Mb3dlckNhc2UoKSwoZT1hUS5leGVjKHQpKT8obj1lWzFdLmxlbmd0aCxlPXBhcnNlSW50KGVbMV0sMTYpLDY9PT1uP19RKGUpOjM9PT1uP25ldyB4UShlPj44JjE1fGU+PjQmMjQwLGU+PjQmMTV8MjQwJmUsKDE1JmUpPDw0fDE1JmUsMSk6OD09PW4/eVEoZT4+MjQmMjU1LGU+PjE2JjI1NSxlPj44JjI1NSwoMjU1JmUpLzI1NSk6ND09PW4/eVEoZT4+MTImMTV8ZT4+OCYyNDAsZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgoMTUmZSk8PDR8MTUmZSkvMjU1KTpudWxsKTooZT1zUS5leGVjKHQpKT9uZXcgeFEoZVsxXSxlWzJdLGVbM10sMSk6KGU9bFEuZXhlYyh0KSk/bmV3IHhRKDI1NSplWzFdLzEwMCwyNTUqZVsyXS8xMDAsMjU1KmVbM10vMTAwLDEpOihlPWNRLmV4ZWModCkpP3lRKGVbMV0sZVsyXSxlWzNdLGVbNF0pOihlPXVRLmV4ZWModCkpP3lRKDI1NSplWzFdLzEwMCwyNTUqZVsyXS8xMDAsMjU1KmVbM10vMTAwLGVbNF0pOihlPWhRLmV4ZWModCkpP0VRKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsMSk6KGU9ZFEuZXhlYyh0KSk/RVEoZVsxXSxlWzJdLzEwMCxlWzNdLzEwMCxlWzRdKTpwUS5oYXNPd25Qcm9wZXJ0eSh0KT9fUShwUVt0XSk6InRyYW5zcGFyZW50Ij09PXQ/bmV3IHhRKE5hTixOYU4sTmFOLDApOm51bGx9ZnVuY3Rpb24gX1EodCl7cmV0dXJuIG5ldyB4USh0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnQsMSl9ZnVuY3Rpb24geVEodCxlLG4saSl7cmV0dXJuIGk8PTAmJih0PWU9bj1OYU4pLG5ldyB4USh0LGUsbixpKX1mdW5jdGlvbiB2USh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHRRfHwodD1nUSh0KSksdD9uZXcgeFEoKHQ9dC5yZ2IoKSkucix0LmcsdC5iLHQub3BhY2l0eSk6bmV3IHhRfWZ1bmN0aW9uIGJRKHQsZSxuLGkpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD92USh0KTpuZXcgeFEodCxlLG4sbnVsbD09aT8xOmkpfWZ1bmN0aW9uIHhRKHQsZSxuLGkpe3RoaXMucj0rdCx0aGlzLmc9K2UsdGhpcy5iPStuLHRoaXMub3BhY2l0eT0raX1mdW5jdGlvbiB3USgpe3JldHVybiIjIitNUSh0aGlzLnIpK01RKHRoaXMuZykrTVEodGhpcy5iKX1mdW5jdGlvbiBTUSgpe3ZhciB0PXRoaXMub3BhY2l0eTtyZXR1cm4oMT09PSh0PWlzTmFOKHQpPzE6TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSk/InJnYigiOiJyZ2JhKCIpK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5yKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmcpfHwwKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMuYil8fDApKSsoMT09PXQ/IikiOiIsICIrdCsiKSIpfWZ1bmN0aW9uIE1RKHQpe3JldHVybigodD1NYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHQpfHwwKSkpPDE2PyIwIjoiIikrdC50b1N0cmluZygxNil9ZnVuY3Rpb24gRVEodCxlLG4saSl7cmV0dXJuIGk8PTA/dD1lPW49TmFOOm48PTB8fG4+PTE/dD1lPU5hTjplPD0wJiYodD1OYU4pLG5ldyBBUSh0LGUsbixpKX1mdW5jdGlvbiBUUSh0KXtpZih0IGluc3RhbmNlb2YgQVEpcmV0dXJuIG5ldyBBUSh0LmgsdC5zLHQubCx0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiB0UXx8KHQ9Z1EodCkpLCF0KXJldHVybiBuZXcgQVE7aWYodCBpbnN0YW5jZW9mIEFRKXJldHVybiB0O3ZhciBlPSh0PXQucmdiKCkpLnIvMjU1LG49dC5nLzI1NSxpPXQuYi8yNTUscj1NYXRoLm1pbihlLG4saSksbz1NYXRoLm1heChlLG4saSksYT1OYU4scz1vLXIsbD0obytyKS8yO3JldHVybiBzPyhhPWU9PT1vPyhuLWkpL3MrNioobjxpKTpuPT09bz8oaS1lKS9zKzI6KGUtbikvcys0LHMvPWw8LjU/bytyOjItby1yLGEqPTYwKTpzPWw+MCYmbDwxPzA6YSxuZXcgQVEoYSxzLGwsdC5vcGFjaXR5KX1mdW5jdGlvbiBDUSh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/VFEodCk6bmV3IEFRKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBBUSh0LGUsbixpKXt0aGlzLmg9K3QsdGhpcy5zPStlLHRoaXMubD0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24ga1EodCxlLG4pe3JldHVybiAyNTUqKHQ8NjA/ZSsobi1lKSp0LzYwOnQ8MTgwP246dDwyNDA/ZSsobi1lKSooMjQwLXQpLzYwOmUpfUpKKHRRLGdRLHtjb3B5OmZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuYXNzaWduKG5ldyB0aGlzLmNvbnN0cnVjdG9yLHRoaXMsdCl9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkuZGlzcGxheWFibGUoKX0saGV4OmZRLGZvcm1hdEhleDpmUSxmb3JtYXRIc2w6ZnVuY3Rpb24gTFEoKXtyZXR1cm4gVFEodGhpcykuZm9ybWF0SHNsKCl9LGZvcm1hdFJnYjptUSx0b1N0cmluZzptUX0pLEpKKHhRLGJRLFFKKHRRLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P25ROk1hdGgucG93KG5RLHQpLG5ldyB4USh0aGlzLnIqdCx0aGlzLmcqdCx0aGlzLmIqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9lUTpNYXRoLnBvdyhlUSx0KSxuZXcgeFEodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuLS41PD10aGlzLnImJnRoaXMucjwyNTUuNSYmLS41PD10aGlzLmcmJnRoaXMuZzwyNTUuNSYmLS41PD10aGlzLmImJnRoaXMuYjwyNTUuNSYmMDw9dGhpcy5vcGFjaXR5JiZ0aGlzLm9wYWNpdHk8PTF9LGhleDp3USxmb3JtYXRIZXg6d1EsZm9ybWF0UmdiOlNRLHRvU3RyaW5nOlNRfSkpLEpKKEFRLENRLFFKKHRRLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P25ROk1hdGgucG93KG5RLHQpLG5ldyBBUSh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P2VROk1hdGgucG93KGVRLHQpLG5ldyBBUSh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuaCUzNjArMzYwKih0aGlzLmg8MCksZT1pc05hTih0KXx8aXNOYU4odGhpcy5zKT8wOnRoaXMucyxuPXRoaXMubCxpPW4rKG48LjU/bjoxLW4pKmUscj0yKm4taTtyZXR1cm4gbmV3IHhRKGtRKHQ+PTI0MD90LTI0MDp0KzEyMCxyLGkpLGtRKHQscixpKSxrUSh0PDEyMD90KzI0MDp0LTEyMCxyLGkpLHRoaXMub3BhY2l0eSl9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuKDA8PXRoaXMucyYmdGhpcy5zPD0xfHxpc05hTih0aGlzLnMpKSYmMDw9dGhpcy5sJiZ0aGlzLmw8PTEmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxmb3JtYXRIc2w6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJoc2woIjoiaHNsYSgiKSsodGhpcy5ofHwwKSsiLCAiKzEwMCoodGhpcy5zfHwwKSsiJSwgIisxMDAqKHRoaXMubHx8MCkrIiUiKygxPT09dD8iKSI6IiwgIit0KyIpIil9fSkpO3ZhciBQUT1NYXRoLlBJLzE4MCxOUT0xODAvTWF0aC5QSSxJUT0uOTY0MjIsUlE9LjgyNTIxLE9RPTQvMjkselE9Ni8yOSxEUT0zKnpRKnpRO2Z1bmN0aW9uIEJRKHQpe2lmKHQgaW5zdGFuY2VvZiBGUSlyZXR1cm4gbmV3IEZRKHQubCx0LmEsdC5iLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIFlRKXJldHVybiBYUSh0KTt0IGluc3RhbmNlb2YgeFF8fCh0PXZRKHQpKTt2YXIgZSxuLGk9R1EodC5yKSxyPUdRKHQuZyksbz1HUSh0LmIpLGE9VlEoKC4yMjI1MDQ1KmkrLjcxNjg3ODYqcisuMDYwNjE2OSpvKS8xKTtyZXR1cm4gaT09PXImJnI9PT1vP2U9bj1hOihlPVZRKCguNDM2MDc0NyppKy4zODUwNjQ5KnIrLjE0MzA4MDQqbykvSVEpLG49VlEoKC4wMTM5MzIyKmkrLjA5NzEwNDUqcisuNzE0MTczMypvKS9SUSkpLG5ldyBGUSgxMTYqYS0xNiw1MDAqKGUtYSksMjAwKihhLW4pLHQub3BhY2l0eSl9ZnVuY3Rpb24gSFEodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP0JRKHQpOm5ldyBGUSh0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24gRlEodCxlLG4saSl7dGhpcy5sPSt0LHRoaXMuYT0rZSx0aGlzLmI9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIFZRKHQpe3JldHVybiB0Pi4wMDg4NTY0NTE2NzkwMzU2MzE/TWF0aC5wb3codCwxLzMpOnQvRFErT1F9ZnVuY3Rpb24gVVEodCl7cmV0dXJuIHQ+elE/dCp0KnQ6RFEqKHQtT1EpfWZ1bmN0aW9uIGpRKHQpe3JldHVybiAyNTUqKHQ8PS4wMDMxMzA4PzEyLjkyKnQ6MS4wNTUqTWF0aC5wb3codCwxLzIuNCktLjA1NSl9ZnVuY3Rpb24gR1EodCl7cmV0dXJuKHQvPTI1NSk8PS4wNDA0NT90LzEyLjkyOk1hdGgucG93KCh0Ky4wNTUpLzEuMDU1LDIuNCl9ZnVuY3Rpb24gV1EodCl7aWYodCBpbnN0YW5jZW9mIFlRKXJldHVybiBuZXcgWVEodC5oLHQuYyx0LmwsdC5vcGFjaXR5KTtpZih0IGluc3RhbmNlb2YgRlF8fCh0PUJRKHQpKSwwPT09dC5hJiYwPT09dC5iKXJldHVybiBuZXcgWVEoTmFOLDA8dC5sJiZ0Lmw8MTAwPzA6TmFOLHQubCx0Lm9wYWNpdHkpO3ZhciBlPU1hdGguYXRhbjIodC5iLHQuYSkqTlE7cmV0dXJuIG5ldyBZUShlPDA/ZSszNjA6ZSxNYXRoLnNxcnQodC5hKnQuYSt0LmIqdC5iKSx0LmwsdC5vcGFjaXR5KX1mdW5jdGlvbiBxUSh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/V1EodCk6bmV3IFlRKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBZUSh0LGUsbixpKXt0aGlzLmg9K3QsdGhpcy5jPStlLHRoaXMubD0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24gWFEodCl7aWYoaXNOYU4odC5oKSlyZXR1cm4gbmV3IEZRKHQubCwwLDAsdC5vcGFjaXR5KTt2YXIgZT10LmgqUFE7cmV0dXJuIG5ldyBGUSh0LmwsTWF0aC5jb3MoZSkqdC5jLE1hdGguc2luKGUpKnQuYyx0Lm9wYWNpdHkpfUpKKEZRLEhRLFFKKHRRLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IEZRKHRoaXMubCsxOCoobnVsbD09dD8xOnQpLHRoaXMuYSx0aGlzLmIsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRlEodGhpcy5sLTE4KihudWxsPT10PzE6dCksdGhpcy5hLHRoaXMuYix0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD0odGhpcy5sKzE2KS8xMTYsZT1pc05hTih0aGlzLmEpP3Q6dCt0aGlzLmEvNTAwLG49aXNOYU4odGhpcy5iKT90OnQtdGhpcy5iLzIwMDtyZXR1cm4gbmV3IHhRKGpRKDMuMTMzODU2MSooZT1JUSpVUShlKSktMS42MTY4NjY3Kih0PTEqVVEodCkpLS40OTA2MTQ2KihuPVJRKlVRKG4pKSksalEoLS45Nzg3Njg0KmUrMS45MTYxNDE1KnQrLjAzMzQ1NCpuKSxqUSguMDcxOTQ1MyplLS4yMjg5OTE0KnQrMS40MDUyNDI3Km4pLHRoaXMub3BhY2l0eSl9fSkpLEpKKFlRLHFRLFFKKHRRLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IFlRKHRoaXMuaCx0aGlzLmMsdGhpcy5sKzE4KihudWxsPT10PzE6dCksdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgWVEodGhpcy5oLHRoaXMuYyx0aGlzLmwtMTgqKG51bGw9PXQ/MTp0KSx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXtyZXR1cm4gWFEodGhpcykucmdiKCl9fSkpO3ZhciAkUT0tLjE0ODYxLEtRPTEuNzgyNzcsWlE9LS4yOTIyNyxKUT0tLjkwNjQ5LFFRPTEuOTcyOTQsdDE9UVEqSlEsZTE9UVEqS1EsbjE9S1EqWlEtSlEqJFE7ZnVuY3Rpb24gaTEodCl7aWYodCBpbnN0YW5jZW9mIG8xKXJldHVybiBuZXcgbzEodC5oLHQucyx0LmwsdC5vcGFjaXR5KTt0IGluc3RhbmNlb2YgeFF8fCh0PXZRKHQpKTt2YXIgZT10LmcvMjU1LG49dC5iLzI1NSxpPShuMSpuK3QxKih0LnIvMjU1KS1lMSplKS8tNS45NjE1MTIyOTEyLHI9bi1pLG89KFFRKihlLWkpLVpRKnIpL0pRLGE9TWF0aC5zcXJ0KG8qbytyKnIpLyhRUSppKigxLWkpKSxzPWE/TWF0aC5hdGFuMihvLHIpKk5RLTEyMDpOYU47cmV0dXJuIG5ldyBvMShzPDA/cyszNjA6cyxhLGksdC5vcGFjaXR5KX1mdW5jdGlvbiByMSh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/aTEodCk6bmV3IG8xKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBvMSh0LGUsbixpKXt0aGlzLmg9K3QsdGhpcy5zPStlLHRoaXMubD0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24gYTEodCxlLG4saSxyKXt2YXIgbz10KnQsYT1vKnQ7cmV0dXJuKCgxLTMqdCszKm8tYSkqZSsoNC02Km8rMyphKSpuKygxKzMqdCszKm8tMyphKSppK2EqcikvNn1mdW5jdGlvbiBzMSh0KXt2YXIgZT10Lmxlbmd0aC0xO3JldHVybiBmdW5jdGlvbihuKXt2YXIgaT1uPD0wP249MDpuPj0xPyhuPTEsZS0xKTpNYXRoLmZsb29yKG4qZSkscj10W2ldLG89dFtpKzFdO3JldHVybiBhMSgobi1pL2UpKmUsaT4wP3RbaS0xXToyKnItbyxyLG8saTxlLTE/dFtpKzJdOjIqby1yKX19ZnVuY3Rpb24gbDEodCl7dmFyIGU9dC5sZW5ndGg7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBpPU1hdGguZmxvb3IoKChuJT0xKTwwPysrbjpuKSplKTtyZXR1cm4gYTEoKG4taS9lKSplLHRbKGkrZS0xKSVlXSx0W2klZV0sdFsoaSsxKSVlXSx0WyhpKzIpJWVdKX19ZnVuY3Rpb24gYzEodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIHUxKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0K24qZX19ZnVuY3Rpb24gaDEodCxlKXt2YXIgbj1lLXQ7cmV0dXJuIG4/dTEodCxuPjE4MHx8bjwtMTgwP24tMzYwKk1hdGgucm91bmQobi8zNjApOm4pOmMxKGlzTmFOKHQpP2U6dCl9ZnVuY3Rpb24gZDEodCl7cmV0dXJuIDE9PSh0PSt0KT9wMTpmdW5jdGlvbihlLG4pe3JldHVybiBuLWU/KGZ1bmN0aW9uIGkodCxlLG4pe3JldHVybiB0PU1hdGgucG93KHQsbiksZT1NYXRoLnBvdyhlLG4pLXQsbj0xL24sZnVuY3Rpb24oaSl7cmV0dXJuIE1hdGgucG93KHQraSplLG4pfX0pKGUsbix0KTpjMShpc05hTihlKT9uOmUpfX1mdW5jdGlvbiBwMSh0LGUpe3ZhciBuPWUtdDtyZXR1cm4gbj91MSh0LG4pOmMxKGlzTmFOKHQpP2U6dCl9SkoobzEscjEsUUoodFEse2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/blE6TWF0aC5wb3coblEsdCksbmV3IG8xKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/ZVE6TWF0aC5wb3coZVEsdCksbmV3IG8xKHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9aXNOYU4odGhpcy5oKT8wOih0aGlzLmgrMTIwKSpQUSxlPSt0aGlzLmwsbj1pc05hTih0aGlzLnMpPzA6dGhpcy5zKmUqKDEtZSksaT1NYXRoLmNvcyh0KSxyPU1hdGguc2luKHQpO3JldHVybiBuZXcgeFEoMjU1KihlK24qKCRRKmkrS1EqcikpLDI1NSooZStuKihaUSppK0pRKnIpKSwyNTUqKGUrbiooUVEqaSkpLHRoaXMub3BhY2l0eSl9fSkpO3ZhciBmMT0oZnVuY3Rpb24gdChlKXt2YXIgbj1kMShlKTtmdW5jdGlvbiBpKHQsZSl7dmFyIGk9bigodD1iUSh0KSkuciwoZT1iUShlKSkucikscj1uKHQuZyxlLmcpLG89bih0LmIsZS5iKSxhPXAxKHQub3BhY2l0eSxlLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5yPWkoZSksdC5nPXIoZSksdC5iPW8oZSksdC5vcGFjaXR5PWEoZSksdCsiIn19cmV0dXJuIGkuZ2FtbWE9dCxpfSkoMSk7ZnVuY3Rpb24gbTEodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuLGkscj1lLmxlbmd0aCxvPW5ldyBBcnJheShyKSxhPW5ldyBBcnJheShyKSxzPW5ldyBBcnJheShyKTtmb3Iobj0wO248cjsrK24paT1iUShlW25dKSxvW25dPWkucnx8MCxhW25dPWkuZ3x8MCxzW25dPWkuYnx8MDtyZXR1cm4gbz10KG8pLGE9dChhKSxzPXQocyksaS5vcGFjaXR5PTEsZnVuY3Rpb24odCl7cmV0dXJuIGkucj1vKHQpLGkuZz1hKHQpLGkuYj1zKHQpLGkrIiJ9fX12YXIgZzE9bTEoczEpLF8xPW0xKGwxKTtmdW5jdGlvbiB5MSh0LGUpe3ZhciBuLGk9ZT9lLmxlbmd0aDowLHI9dD9NYXRoLm1pbihpLHQubGVuZ3RoKTowLG89bmV3IEFycmF5KHIpLGE9bmV3IEFycmF5KGkpO2ZvcihuPTA7bjxyOysrbilvW25dPUUxKHRbbl0sZVtuXSk7Zm9yKDtuPGk7KytuKWFbbl09ZVtuXTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKG49MDtuPHI7KytuKWFbbl09b1tuXSh0KTtyZXR1cm4gYX19ZnVuY3Rpb24gdjEodCxlKXt2YXIgbj1uZXcgRGF0ZTtyZXR1cm4gZS09dD0rdCxmdW5jdGlvbihpKXtyZXR1cm4gbi5zZXRUaW1lKHQrZSppKSxufX1mdW5jdGlvbiBiMSh0LGUpe3JldHVybiBlLT10PSt0LGZ1bmN0aW9uKG4pe3JldHVybiB0K2Uqbn19ZnVuY3Rpb24geDEodCxlKXt2YXIgbixpPXt9LHI9e307Zm9yKG4gaW4gbnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdHx8KHQ9e30pLG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGV8fChlPXt9KSxlKW4gaW4gdD9pW25dPUUxKHRbbl0sZVtuXSk6cltuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3IobiBpbiBpKXJbbl09aVtuXSh0KTtyZXR1cm4gcn19dmFyIHcxPS9bLStdPyg/OlxkK1wuP1xkKnxcLj9cZCspKD86W2VFXVstK10/XGQrKT8vZyxTMT1uZXcgUmVnRXhwKHcxLnNvdXJjZSwiZyIpO2Z1bmN0aW9uIE0xKHQsZSl7dmFyIG4saSxyLG89dzEubGFzdEluZGV4PVMxLmxhc3RJbmRleD0wLGE9LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsobj13MS5leGVjKHQpKSYmKGk9UzEuZXhlYyhlKSk7KShyPWkuaW5kZXgpPm8mJihyPWUuc2xpY2UobyxyKSxzW2FdP3NbYV0rPXI6c1srK2FdPXIpLChuPW5bMF0pPT09KGk9aVswXSk/c1thXT9zW2FdKz1pOnNbKythXT1pOihzWysrYV09bnVsbCxsLnB1c2goe2k6YSx4OmIxKG4saSl9KSksbz1TMS5sYXN0SW5kZXg7cmV0dXJuIG88ZS5sZW5ndGgmJihyPWUuc2xpY2Uobyksc1thXT9zW2FdKz1yOnNbKythXT1yKSxzLmxlbmd0aDwyP2xbMF0/KGZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpKyIifX0pKGxbMF0ueCk6KGZ1bmN0aW9uIHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkoZSk6KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciBuLGk9MDtpPGU7KytpKXNbKG49bFtpXSkuaV09bi54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9ZnVuY3Rpb24gRTEodCxlKXt2YXIgbixpPXR5cGVvZiBlO3JldHVybiBudWxsPT1lfHwiYm9vbGVhbiI9PT1pP2MxKGUpOigibnVtYmVyIj09PWk/YjE6InN0cmluZyI9PT1pPyhuPWdRKGUpKT8oZT1uLGYxKTpNMTplIGluc3RhbmNlb2YgZ1E/ZjE6ZSBpbnN0YW5jZW9mIERhdGU/djE6QXJyYXkuaXNBcnJheShlKT95MToiZnVuY3Rpb24iIT10eXBlb2YgZS52YWx1ZU9mJiYiZnVuY3Rpb24iIT10eXBlb2YgZS50b1N0cmluZ3x8aXNOYU4oZSk/eDE6YjEpKHQsZSl9dmFyIFQxLEMxLEExLGsxLEwxPTE4MC9NYXRoLlBJLFAxPXt0cmFuc2xhdGVYOjAsdHJhbnNsYXRlWTowLHJvdGF0ZTowLHNrZXdYOjAsc2NhbGVYOjEsc2NhbGVZOjF9O2Z1bmN0aW9uIE4xKHQsZSxuLGkscixvKXt2YXIgYSxzLGw7cmV0dXJuKGE9TWF0aC5zcXJ0KHQqdCtlKmUpKSYmKHQvPWEsZS89YSksKGw9dCpuK2UqaSkmJihuLT10KmwsaS09ZSpsKSwocz1NYXRoLnNxcnQobipuK2kqaSkpJiYobi89cyxpLz1zLGwvPXMpLHQqaTxlKm4mJih0PS10LGU9LWUsbD0tbCxhPS1hKSx7dHJhbnNsYXRlWDpyLHRyYW5zbGF0ZVk6byxyb3RhdGU6TWF0aC5hdGFuMihlLHQpKkwxLHNrZXdYOk1hdGguYXRhbihsKSpMMSxzY2FsZVg6YSxzY2FsZVk6c319ZnVuY3Rpb24gSTEodCxlLG4saSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5sZW5ndGg/dC5wb3AoKSsiICI6IiJ9cmV0dXJuIGZ1bmN0aW9uKG8sYSl7dmFyIHM9W10sbD1bXTtyZXR1cm4gbz10KG8pLGE9dChhKSwoZnVuY3Rpb24gYyh0LGkscixvLGEscyl7aWYodCE9PXJ8fGkhPT1vKXt2YXIgbD1hLnB1c2goInRyYW5zbGF0ZSgiLG51bGwsZSxudWxsLG4pO3MucHVzaCh7aTpsLTQseDpiMSh0LHIpfSx7aTpsLTIseDpiMShpLG8pfSl9ZWxzZShyfHxvKSYmYS5wdXNoKCJ0cmFuc2xhdGUoIityK2UrbytuKX0pKG8udHJhbnNsYXRlWCxvLnRyYW5zbGF0ZVksYS50cmFuc2xhdGVYLGEudHJhbnNsYXRlWSxzLGwpLChmdW5jdGlvbiB1KHQsZSxuLG8pe3QhPT1lPyh0LWU+MTgwP2UrPTM2MDplLXQ+MTgwJiYodCs9MzYwKSxvLnB1c2goe2k6bi5wdXNoKHIobikrInJvdGF0ZSgiLG51bGwsaSktMix4OmIxKHQsZSl9KSk6ZSYmbi5wdXNoKHIobikrInJvdGF0ZSgiK2UraSl9KShvLnJvdGF0ZSxhLnJvdGF0ZSxzLGwpLChmdW5jdGlvbiBoKHQsZSxuLG8pe3QhPT1lP28ucHVzaCh7aTpuLnB1c2gocihuKSsic2tld1goIixudWxsLGkpLTIseDpiMSh0LGUpfSk6ZSYmbi5wdXNoKHIobikrInNrZXdYKCIrZStpKX0pKG8uc2tld1gsYS5za2V3WCxzLGwpLChmdW5jdGlvbiBkKHQsZSxuLGksbyxhKXtpZih0IT09bnx8ZSE9PWkpe3ZhciBzPW8ucHVzaChyKG8pKyJzY2FsZSgiLG51bGwsIiwiLG51bGwsIikiKTthLnB1c2goe2k6cy00LHg6YjEodCxuKX0se2k6cy0yLHg6YjEoZSxpKX0pfWVsc2UgMT09PW4mJjE9PT1pfHxvLnB1c2gocihvKSsic2NhbGUoIituKyIsIitpKyIpIil9KShvLnNjYWxlWCxvLnNjYWxlWSxhLnNjYWxlWCxhLnNjYWxlWSxzLGwpLG89YT1udWxsLGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPS0xLGk9bC5sZW5ndGg7KytuPGk7KXNbKGU9bFtuXSkuaV09ZS54KHQpO3JldHVybiBzLmpvaW4oIiIpfX19dmFyIFIxPUkxKChmdW5jdGlvbiBPMSh0KXtyZXR1cm4ibm9uZSI9PT10P1AxOihUMXx8KFQxPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpLEMxPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxBMT1kb2N1bWVudC5kZWZhdWx0VmlldyksVDEuc3R5bGUudHJhbnNmb3JtPXQsdD1BMS5nZXRDb21wdXRlZFN0eWxlKEMxLmFwcGVuZENoaWxkKFQxKSxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCJ0cmFuc2Zvcm0iKSxDMS5yZW1vdmVDaGlsZChUMSksTjEoKyh0PXQuc2xpY2UoNywtMSkuc3BsaXQoIiwiKSlbMF0sK3RbMV0sK3RbMl0sK3RbM10sK3RbNF0sK3RbNV0pKX0pLCJweCwgIiwicHgpIiwiZGVnKSIpLHoxPUkxKChmdW5jdGlvbiBEMSh0KXtyZXR1cm4gbnVsbD09dD9QMTooazF8fChrMT1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpKSxrMS5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsdCksKHQ9azEudHJhbnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKSk/TjEoKHQ9dC5tYXRyaXgpLmEsdC5iLHQuYyx0LmQsdC5lLHQuZik6UDEpfSksIiwgIiwiKSIsIikiKSxCMT1NYXRoLlNRUlQyO2Z1bmN0aW9uIEgxKHQpe3JldHVybigodD1NYXRoLmV4cCh0KSkrMS90KS8yfWZ1bmN0aW9uIEYxKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciBpPXQoKGU9Q1EoZSkpLmgsKG49Q1EobikpLmgpLHI9cDEoZS5zLG4ucyksbz1wMShlLmwsbi5sKSxhPXAxKGUub3BhY2l0eSxuLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZS5oPWkodCksZS5zPXIodCksZS5sPW8odCksZS5vcGFjaXR5PWEodCksZSsiIn19fXZhciBWMT1GMShoMSksVTE9RjEocDEpO2Z1bmN0aW9uIGoxKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciBpPXQoKGU9cVEoZSkpLmgsKG49cVEobikpLmgpLHI9cDEoZS5jLG4uYyksbz1wMShlLmwsbi5sKSxhPXAxKGUub3BhY2l0eSxuLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZS5oPWkodCksZS5jPXIodCksZS5sPW8odCksZS5vcGFjaXR5PWEodCksZSsiIn19fXZhciBHMT1qMShoMSksVzE9ajEocDEpO2Z1bmN0aW9uIHExKHQpe3JldHVybihmdW5jdGlvbiBlKG4pe2Z1bmN0aW9uIGkoZSxpKXt2YXIgcj10KChlPXIxKGUpKS5oLChpPXIxKGkpKS5oKSxvPXAxKGUucyxpLnMpLGE9cDEoZS5sLGkubCkscz1wMShlLm9wYWNpdHksaS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGUuaD1yKHQpLGUucz1vKHQpLGUubD1hKE1hdGgucG93KHQsbikpLGUub3BhY2l0eT1zKHQpLGUrIiJ9fXJldHVybiBuPStuLGkuZ2FtbWE9ZSxpfSkoMSl9dmFyIFkxPXExKGgxKSxYMT1xMShwMSk7dmFyICQxPU1hdGguUEksSzE9MiokMSxaMT0xZS02LEoxPUsxLVoxO2Z1bmN0aW9uIFExKCl7dGhpcy5feDA9dGhpcy5feTA9dGhpcy5feDE9dGhpcy5feTE9bnVsbCx0aGlzLl89IiJ9ZnVuY3Rpb24gdDAoKXtyZXR1cm4gbmV3IFExfWZ1bmN0aW9uIGUwKHQsZSxuKXtyZXR1cm4oZVswXS10WzBdKSooblsxXS10WzFdKS0oZVsxXS10WzFdKSooblswXS10WzBdKX1mdW5jdGlvbiBuMCh0LGUpe3JldHVybiB0WzBdLWVbMF18fHRbMV0tZVsxXX1mdW5jdGlvbiBpMCh0KXtmb3IodmFyIGU9dC5sZW5ndGgsbj1bMCwxXSxpPTIscj0yO3I8ZTsrK3Ipe2Zvcig7aT4xJiZlMCh0W25baS0yXV0sdFtuW2ktMV1dLHRbcl0pPD0wOyktLWk7bltpKytdPXJ9cmV0dXJuIG4uc2xpY2UoMCxpKX1mdW5jdGlvbiByMCh0LGUsbixpKXtpZihpc05hTihlKXx8aXNOYU4obikpcmV0dXJuIHQ7dmFyIHIsbyxhLHMsbCxjLHUsaCxkLHA9dC5fcm9vdCxmPXtkYXRhOml9LG09dC5feDAsZz10Ll95MCxfPXQuX3gxLHk9dC5feTE7aWYoIXApcmV0dXJuIHQuX3Jvb3Q9Zix0O2Zvcig7cC5sZW5ndGg7KWlmKChjPWU+PShvPShtK18pLzIpKT9tPW86Xz1vLCh1PW4+PShhPShnK3kpLzIpKT9nPWE6eT1hLHI9cCwhKHA9cFtoPXU8PDF8Y10pKXJldHVybiByW2hdPWYsdDtpZihzPSt0Ll94LmNhbGwobnVsbCxwLmRhdGEpLGw9K3QuX3kuY2FsbChudWxsLHAuZGF0YSksZT09PXMmJm49PT1sKXJldHVybiBmLm5leHQ9cCxyP3JbaF09Zjp0Ll9yb290PWYsdDtkb3tyPXI/cltoXT1uZXcgQXJyYXkoNCk6dC5fcm9vdD1uZXcgQXJyYXkoNCksKGM9ZT49KG89KG0rXykvMikpP209bzpfPW8sKHU9bj49KGE9KGcreSkvMikpP2c9YTp5PWF9d2hpbGUoKGg9dTw8MXxjKT09KGQ9KGw+PWEpPDwxfHM+PW8pKTtyZXR1cm4gcltkXT1wLHJbaF09Zix0fWZ1bmN0aW9uIG8wKHQsZSxuLGkscil7dGhpcy5ub2RlPXQsdGhpcy54MD1lLHRoaXMueTA9bix0aGlzLngxPWksdGhpcy55MT1yfWZ1bmN0aW9uIGEwKHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIHMwKHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIGwwKHQsZSxuKXt2YXIgaT1uZXcgYzAobnVsbD09ZT9hMDplLG51bGw9PW4/czA6bixOYU4sTmFOLE5hTixOYU4pO3JldHVybiBudWxsPT10P2k6aS5hZGRBbGwodCl9ZnVuY3Rpb24gYzAodCxlLG4saSxyLG8pe3RoaXMuX3g9dCx0aGlzLl95PWUsdGhpcy5feDA9bix0aGlzLl95MD1pLHRoaXMuX3gxPXIsdGhpcy5feTE9byx0aGlzLl9yb290PXZvaWQgMH1mdW5jdGlvbiB1MCh0KXtmb3IodmFyIGU9e2RhdGE6dC5kYXRhfSxuPWU7dD10Lm5leHQ7KW49bi5uZXh0PXtkYXRhOnQuZGF0YX07cmV0dXJuIGV9UTEucHJvdG90eXBlPXQwLnByb3RvdHlwZT17Y29uc3RydWN0b3I6UTEsbW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fKz0iTSIrKHRoaXMuX3gwPXRoaXMuX3gxPSt0KSsiLCIrKHRoaXMuX3kwPXRoaXMuX3kxPStlKX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX3gxJiYodGhpcy5feDE9dGhpcy5feDAsdGhpcy5feTE9dGhpcy5feTAsdGhpcy5fKz0iWiIpfSxsaW5lVG86ZnVuY3Rpb24odCxlKXt0aGlzLl8rPSJMIisodGhpcy5feDE9K3QpKyIsIisodGhpcy5feTE9K2UpfSxxdWFkcmF0aWNDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLGkpe3RoaXMuXys9IlEiKyArdCsiLCIrICtlKyIsIisodGhpcy5feDE9K24pKyIsIisodGhpcy5feTE9K2kpfSxiZXppZXJDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLGkscixvKXt0aGlzLl8rPSJDIisgK3QrIiwiKyArZSsiLCIrICtuKyIsIisgK2krIiwiKyh0aGlzLl94MT0rcikrIiwiKyh0aGlzLl95MT0rbyl9LGFyY1RvOmZ1bmN0aW9uKHQsZSxuLGkscil7dmFyIG89dGhpcy5feDEsYT10aGlzLl95MSxzPShuPStuKS0odD0rdCksbD0oaT0raSktKGU9K2UpLGM9by10LHU9YS1lLGg9YypjK3UqdTtpZigocj0rcik8MCl0aHJvdyBuZXcgRXJyb3IoIm5lZ2F0aXZlIHJhZGl1czogIityKTtpZihudWxsPT09dGhpcy5feDEpdGhpcy5fKz0iTSIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZSBpZihoPloxKWlmKE1hdGguYWJzKHUqcy1sKmMpPloxJiZyKXt2YXIgZD1uLW8scD1pLWEsZj1zKnMrbCpsLG09ZCpkK3AqcCxnPU1hdGguc3FydChmKSxfPU1hdGguc3FydChoKSx5PXIqTWF0aC50YW4oKCQxLU1hdGguYWNvcygoZitoLW0pLygyKmcqXykpKS8yKSx2PXkvXyxiPXkvZztNYXRoLmFicyh2LTEpPloxJiYodGhpcy5fKz0iTCIrKHQrdipjKSsiLCIrKGUrdip1KSksdGhpcy5fKz0iQSIrcisiLCIrcisiLDAsMCwiKyArKHUqZD5jKnApKyIsIisodGhpcy5feDE9dCtiKnMpKyIsIisodGhpcy5feTE9ZStiKmwpfWVsc2UgdGhpcy5fKz0iTCIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZTt9LGFyYzpmdW5jdGlvbih0LGUsbixpLHIsbyl7dD0rdCxlPStlO3ZhciBhPShuPStuKSpNYXRoLmNvcyhpKSxzPW4qTWF0aC5zaW4oaSksbD10K2EsYz1lK3MsdT0xXm8saD1vP2ktcjpyLWk7aWYobjwwKXRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiK24pO251bGw9PT10aGlzLl94MT90aGlzLl8rPSJNIitsKyIsIitjOihNYXRoLmFicyh0aGlzLl94MS1sKT5aMXx8TWF0aC5hYnModGhpcy5feTEtYyk+WjEpJiYodGhpcy5fKz0iTCIrbCsiLCIrYyksbiYmKGg8MCYmKGg9aCVLMStLMSksaD5KMT90aGlzLl8rPSJBIituKyIsIituKyIsMCwxLCIrdSsiLCIrKHQtYSkrIiwiKyhlLXMpKyJBIituKyIsIituKyIsMCwxLCIrdSsiLCIrKHRoaXMuX3gxPWwpKyIsIisodGhpcy5feTE9Yyk6aD5aMSYmKHRoaXMuXys9IkEiK24rIiwiK24rIiwwLCIrICsoaD49JDEpKyIsIit1KyIsIisodGhpcy5feDE9dCtuKk1hdGguY29zKHIpKSsiLCIrKHRoaXMuX3kxPWUrbipNYXRoLnNpbihyKSkpKX0scmVjdDpmdW5jdGlvbih0LGUsbixpKXt0aGlzLl8rPSJNIisodGhpcy5feDA9dGhpcy5feDE9K3QpKyIsIisodGhpcy5feTA9dGhpcy5feTE9K2UpKyJoIisgK24rInYiKyAraSsiaCIrLW4rIloifSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB0aGlzLl99fTt2YXIgaDA9bDAucHJvdG90eXBlPWMwLnByb3RvdHlwZTtoMC5jb3B5PWZ1bmN0aW9uKCl7dmFyIHQsZSxuPW5ldyBjMCh0aGlzLl94LHRoaXMuX3ksdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpLGk9dGhpcy5fcm9vdDtpZighaSlyZXR1cm4gbjtpZighaS5sZW5ndGgpcmV0dXJuIG4uX3Jvb3Q9dTAoaSksbjtmb3IodD1be3NvdXJjZTppLHRhcmdldDpuLl9yb290PW5ldyBBcnJheSg0KX1dO2k9dC5wb3AoKTspZm9yKHZhciByPTA7cjw0OysrcikoZT1pLnNvdXJjZVtyXSkmJihlLmxlbmd0aD90LnB1c2goe3NvdXJjZTplLHRhcmdldDppLnRhcmdldFtyXT1uZXcgQXJyYXkoNCl9KTppLnRhcmdldFtyXT11MChlKSk7cmV0dXJuIG59LGgwLmFkZD1mdW5jdGlvbiBkMCh0KXt2YXIgZT0rdGhpcy5feC5jYWxsKG51bGwsdCksbj0rdGhpcy5feS5jYWxsKG51bGwsdCk7cmV0dXJuIHIwKHRoaXMuY292ZXIoZSxuKSxlLG4sdCl9LGgwLmFkZEFsbD1mdW5jdGlvbiBwMCh0KXt2YXIgZSxuLGkscixvPXQubGVuZ3RoLGE9bmV3IEFycmF5KG8pLHM9bmV3IEFycmF5KG8pLGw9MS8wLGM9MS8wLHU9LTEvMCxoPS0xLzA7Zm9yKG49MDtuPG87KytuKWlzTmFOKGk9K3RoaXMuX3guY2FsbChudWxsLGU9dFtuXSkpfHxpc05hTihyPSt0aGlzLl95LmNhbGwobnVsbCxlKSl8fChhW25dPWksc1tuXT1yLGk8bCYmKGw9aSksaT51JiYodT1pKSxyPGMmJihjPXIpLHI+aCYmKGg9cikpO2Zvcih1PGwmJihsPXRoaXMuX3gwLHU9dGhpcy5feDEpLGg8YyYmKGM9dGhpcy5feTAsaD10aGlzLl95MSksdGhpcy5jb3ZlcihsLGMpLmNvdmVyKHUsaCksbj0wO248bzsrK24pcjAodGhpcyxhW25dLHNbbl0sdFtuXSk7cmV0dXJuIHRoaXN9LGgwLmNvdmVyPWZ1bmN0aW9uIGYwKHQsZSl7aWYoaXNOYU4odD0rdCl8fGlzTmFOKGU9K2UpKXJldHVybiB0aGlzO3ZhciBuPXRoaXMuX3gwLGk9dGhpcy5feTAscj10aGlzLl94MSxvPXRoaXMuX3kxO2lmKGlzTmFOKG4pKXI9KG49TWF0aC5mbG9vcih0KSkrMSxvPShpPU1hdGguZmxvb3IoZSkpKzE7ZWxzZXtpZighKG4+dHx8dD5yfHxpPmV8fGU+bykpcmV0dXJuIHRoaXM7dmFyIGEscyxsPXItbixjPXRoaXMuX3Jvb3Q7c3dpdGNoKHM9KGU8KGkrbykvMik8PDF8dDwobityKS8yKXtjYXNlIDA6ZG97KGE9bmV3IEFycmF5KDQpKVtzXT1jLGM9YX13aGlsZShvPWkrKGwqPTIpLHQ+KHI9bitsKXx8ZT5vKTticmVhaztjYXNlIDE6ZG97KGE9bmV3IEFycmF5KDQpKVtzXT1jLGM9YX13aGlsZShvPWkrKGwqPTIpLChuPXItbCk+dHx8ZT5vKTticmVhaztjYXNlIDI6ZG97KGE9bmV3IEFycmF5KDQpKVtzXT1jLGM9YX13aGlsZShpPW8tKGwqPTIpLHQ+KHI9bitsKXx8aT5lKTticmVhaztjYXNlIDM6ZG97KGE9bmV3IEFycmF5KDQpKVtzXT1jLGM9YX13aGlsZShpPW8tKGwqPTIpLChuPXItbCk+dHx8aT5lKX10aGlzLl9yb290JiZ0aGlzLl9yb290Lmxlbmd0aCYmKHRoaXMuX3Jvb3Q9Yyl9cmV0dXJuIHRoaXMuX3gwPW4sdGhpcy5feTA9aSx0aGlzLl94MT1yLHRoaXMuX3kxPW8sdGhpc30saDAuZGF0YT1mdW5jdGlvbiBtMCgpe3ZhciB0PVtdO3JldHVybiB0aGlzLnZpc2l0KChmdW5jdGlvbihlKXtpZighZS5sZW5ndGgpZG97dC5wdXNoKGUuZGF0YSl9d2hpbGUoZT1lLm5leHQpfSkpLHR9LGgwLmV4dGVudD1mdW5jdGlvbiBnMCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmNvdmVyKCt0WzBdWzBdLCt0WzBdWzFdKS5jb3ZlcigrdFsxXVswXSwrdFsxXVsxXSk6aXNOYU4odGhpcy5feDApP3ZvaWQgMDpbW3RoaXMuX3gwLHRoaXMuX3kwXSxbdGhpcy5feDEsdGhpcy5feTFdXX0saDAuZmluZD1mdW5jdGlvbiBfMCh0LGUsbil7dmFyIGkscixvLGEscyxsLGMsdT10aGlzLl94MCxoPXRoaXMuX3kwLGQ9dGhpcy5feDEscD10aGlzLl95MSxmPVtdLG09dGhpcy5fcm9vdDtmb3IobSYmZi5wdXNoKG5ldyBvMChtLHUsaCxkLHApKSxudWxsPT1uP249MS8wOih1PXQtbixoPWUtbixkPXQrbixwPWUrbixuKj1uKTtsPWYucG9wKCk7KWlmKCEoIShtPWwubm9kZSl8fChyPWwueDApPmR8fChvPWwueTApPnB8fChhPWwueDEpPHV8fChzPWwueTEpPGgpKWlmKG0ubGVuZ3RoKXt2YXIgZz0ocithKS8yLF89KG8rcykvMjtmLnB1c2gobmV3IG8wKG1bM10sZyxfLGEscyksbmV3IG8wKG1bMl0scixfLGcscyksbmV3IG8wKG1bMV0sZyxvLGEsXyksbmV3IG8wKG1bMF0scixvLGcsXykpLChjPShlPj1fKTw8MXx0Pj1nKSYmKGw9ZltmLmxlbmd0aC0xXSxmW2YubGVuZ3RoLTFdPWZbZi5sZW5ndGgtMS1jXSxmW2YubGVuZ3RoLTEtY109bCl9ZWxzZXt2YXIgeT10LSt0aGlzLl94LmNhbGwobnVsbCxtLmRhdGEpLHY9ZS0rdGhpcy5feS5jYWxsKG51bGwsbS5kYXRhKSxiPXkqeSt2KnY7aWYoYjxuKXt2YXIgeD1NYXRoLnNxcnQobj1iKTt1PXQteCxoPWUteCxkPXQreCxwPWUreCxpPW0uZGF0YX19cmV0dXJuIGl9LGgwLnJlbW92ZT1mdW5jdGlvbiB5MCh0KXtpZihpc05hTihvPSt0aGlzLl94LmNhbGwobnVsbCx0KSl8fGlzTmFOKGE9K3RoaXMuX3kuY2FsbChudWxsLHQpKSlyZXR1cm4gdGhpczt2YXIgZSxuLGkscixvLGEscyxsLGMsdSxoLGQscD10aGlzLl9yb290LGY9dGhpcy5feDAsbT10aGlzLl95MCxnPXRoaXMuX3gxLF89dGhpcy5feTE7aWYoIXApcmV0dXJuIHRoaXM7aWYocC5sZW5ndGgpZm9yKDs7KXtpZigoYz1vPj0ocz0oZitnKS8yKSk/Zj1zOmc9cywodT1hPj0obD0obStfKS8yKSk/bT1sOl89bCxlPXAsIShwPXBbaD11PDwxfGNdKSlyZXR1cm4gdGhpcztpZighcC5sZW5ndGgpYnJlYWs7KGVbaCsxJjNdfHxlW2grMiYzXXx8ZVtoKzMmM10pJiYobj1lLGQ9aCl9Zm9yKDtwLmRhdGEhPT10OylpZihpPXAsIShwPXAubmV4dCkpcmV0dXJuIHRoaXM7cmV0dXJuKHI9cC5uZXh0KSYmZGVsZXRlIHAubmV4dCxpPyhyP2kubmV4dD1yOmRlbGV0ZSBpLm5leHQsdGhpcyk6ZT8ocj9lW2hdPXI6ZGVsZXRlIGVbaF0sKHA9ZVswXXx8ZVsxXXx8ZVsyXXx8ZVszXSkmJnA9PT0oZVszXXx8ZVsyXXx8ZVsxXXx8ZVswXSkmJiFwLmxlbmd0aCYmKG4/bltkXT1wOnRoaXMuX3Jvb3Q9cCksdGhpcyk6KHRoaXMuX3Jvb3Q9cix0aGlzKX0saDAucmVtb3ZlQWxsPWZ1bmN0aW9uIHYwKHQpe2Zvcih2YXIgZT0wLG49dC5sZW5ndGg7ZTxuOysrZSl0aGlzLnJlbW92ZSh0W2VdKTtyZXR1cm4gdGhpc30saDAucm9vdD1mdW5jdGlvbiBiMCgpe3JldHVybiB0aGlzLl9yb290fSxoMC5zaXplPWZ1bmN0aW9uIHgwKCl7dmFyIHQ9MDtyZXR1cm4gdGhpcy52aXNpdCgoZnVuY3Rpb24oZSl7aWYoIWUubGVuZ3RoKWRveysrdH13aGlsZShlPWUubmV4dCl9KSksdH0saDAudmlzaXQ9ZnVuY3Rpb24gdzAodCl7dmFyIGUsbixpLHIsbyxhLHM9W10sbD10aGlzLl9yb290O2ZvcihsJiZzLnB1c2gobmV3IG8wKGwsdGhpcy5feDAsdGhpcy5feTAsdGhpcy5feDEsdGhpcy5feTEpKTtlPXMucG9wKCk7KWlmKCF0KGw9ZS5ub2RlLGk9ZS54MCxyPWUueTAsbz1lLngxLGE9ZS55MSkmJmwubGVuZ3RoKXt2YXIgYz0oaStvKS8yLHU9KHIrYSkvMjsobj1sWzNdKSYmcy5wdXNoKG5ldyBvMChuLGMsdSxvLGEpKSwobj1sWzJdKSYmcy5wdXNoKG5ldyBvMChuLGksdSxjLGEpKSwobj1sWzFdKSYmcy5wdXNoKG5ldyBvMChuLGMscixvLHUpKSwobj1sWzBdKSYmcy5wdXNoKG5ldyBvMChuLGkscixjLHUpKX1yZXR1cm4gdGhpc30saDAudmlzaXRBZnRlcj1mdW5jdGlvbiBTMCh0KXt2YXIgZSxuPVtdLGk9W107Zm9yKHRoaXMuX3Jvb3QmJm4ucHVzaChuZXcgbzAodGhpcy5fcm9vdCx0aGlzLl94MCx0aGlzLl95MCx0aGlzLl94MSx0aGlzLl95MSkpO2U9bi5wb3AoKTspe3ZhciByPWUubm9kZTtpZihyLmxlbmd0aCl7dmFyIG8sYT1lLngwLHM9ZS55MCxsPWUueDEsYz1lLnkxLHU9KGErbCkvMixoPShzK2MpLzI7KG89clswXSkmJm4ucHVzaChuZXcgbzAobyxhLHMsdSxoKSksKG89clsxXSkmJm4ucHVzaChuZXcgbzAobyx1LHMsbCxoKSksKG89clsyXSkmJm4ucHVzaChuZXcgbzAobyxhLGgsdSxjKSksKG89clszXSkmJm4ucHVzaChuZXcgbzAobyx1LGgsbCxjKSl9aS5wdXNoKGUpfWZvcig7ZT1pLnBvcCgpOyl0KGUubm9kZSxlLngwLGUueTAsZS54MSxlLnkxKTtyZXR1cm4gdGhpc30saDAueD1mdW5jdGlvbiBNMCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5feD10LHRoaXMpOnRoaXMuX3h9LGgwLnk9ZnVuY3Rpb24gRTAodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3k9dCx0aGlzKTp0aGlzLl95fTt2YXIgVDA9W10uc2xpY2UsQzA9e307ZnVuY3Rpb24gQTAodCl7dGhpcy5fc2l6ZT10LHRoaXMuX2NhbGw9dGhpcy5fZXJyb3I9bnVsbCx0aGlzLl90YXNrcz1bXSx0aGlzLl9kYXRhPVtdLHRoaXMuX3dhaXRpbmc9dGhpcy5fYWN0aXZlPXRoaXMuX2VuZGVkPXRoaXMuX3N0YXJ0PTB9ZnVuY3Rpb24gazAodCl7aWYoIXQuX3N0YXJ0KXRyeXshKGZ1bmN0aW9uIGUodCl7Zm9yKDt0Ll9zdGFydD10Ll93YWl0aW5nJiZ0Ll9hY3RpdmU8dC5fc2l6ZTspe3ZhciBlPXQuX2VuZGVkK3QuX2FjdGl2ZSxuPXQuX3Rhc2tzW2VdLGk9bi5sZW5ndGgtMSxyPW5baV07bltpXT1MMCh0LGUpLC0tdC5fd2FpdGluZywrK3QuX2FjdGl2ZSxuPXIuYXBwbHkobnVsbCxuKSx0Ll90YXNrc1tlXSYmKHQuX3Rhc2tzW2VdPW58fEMwKX19KSh0KX1jYXRjaChlKXtpZih0Ll90YXNrc1t0Ll9lbmRlZCt0Ll9hY3RpdmUtMV0pUDAodCxlKTtlbHNlIGlmKCF0Ll9kYXRhKXRocm93IGV9fWZ1bmN0aW9uIEwwKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSl7dC5fdGFza3NbZV0mJigtLXQuX2FjdGl2ZSwrK3QuX2VuZGVkLHQuX3Rhc2tzW2VdPW51bGwsbnVsbD09dC5fZXJyb3ImJihudWxsIT1uP1AwKHQsbik6KHQuX2RhdGFbZV09aSx0Ll93YWl0aW5nP2swKHQpOk4wKHQpKSkpfX1mdW5jdGlvbiBQMCh0LGUpe3ZhciBuLGk9dC5fdGFza3MubGVuZ3RoO2Zvcih0Ll9lcnJvcj1lLHQuX2RhdGE9dm9pZCAwLHQuX3dhaXRpbmc9TmFOOy0taT49MDspaWYoKG49dC5fdGFza3NbaV0pJiYodC5fdGFza3NbaV09bnVsbCxuLmFib3J0KSl0cnl7bi5hYm9ydCgpfWNhdGNoKGUpe310Ll9hY3RpdmU9TmFOLE4wKHQpfWZ1bmN0aW9uIE4wKHQpe2lmKCF0Ll9hY3RpdmUmJnQuX2NhbGwpe3ZhciBlPXQuX2RhdGE7dC5fZGF0YT12b2lkIDAsdC5fY2FsbCh0Ll9lcnJvcixlKX19ZnVuY3Rpb24gSTAodCl7aWYobnVsbD09dCl0PTEvMDtlbHNlIGlmKCEoKHQ9K3QpPj0xKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY29uY3VycmVuY3kiKTtyZXR1cm4gbmV3IEEwKHQpfWZ1bmN0aW9uIFIwKCl7cmV0dXJuIE1hdGgucmFuZG9tKCl9QTAucHJvdG90eXBlPUkwLnByb3RvdHlwZT17Y29uc3RydWN0b3I6QTAsZGVmZXI6ZnVuY3Rpb24odCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrIik7aWYodGhpcy5fY2FsbCl0aHJvdyBuZXcgRXJyb3IoImRlZmVyIGFmdGVyIGF3YWl0Iik7aWYobnVsbCE9dGhpcy5fZXJyb3IpcmV0dXJuIHRoaXM7dmFyIGU9VDAuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIGUucHVzaCh0KSwrK3RoaXMuX3dhaXRpbmcsdGhpcy5fdGFza3MucHVzaChlKSxrMCh0aGlzKSx0aGlzfSxhYm9ydDpmdW5jdGlvbigpe3JldHVybiBudWxsPT10aGlzLl9lcnJvciYmUDAodGhpcyxuZXcgRXJyb3IoImFib3J0IikpLHRoaXN9LGF3YWl0OmZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBjYWxsYmFjayIpO2lmKHRoaXMuX2NhbGwpdGhyb3cgbmV3IEVycm9yKCJtdWx0aXBsZSBhd2FpdCIpO3JldHVybiB0aGlzLl9jYWxsPWZ1bmN0aW9uKGUsbil7dC5hcHBseShudWxsLFtlXS5jb25jYXQobikpfSxOMCh0aGlzKSx0aGlzfSxhd2FpdEFsbDpmdW5jdGlvbih0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2FsbGJhY2siKTtpZih0aGlzLl9jYWxsKXRocm93IG5ldyBFcnJvcigibXVsdGlwbGUgYXdhaXQiKTtyZXR1cm4gdGhpcy5fY2FsbD10LE4wKHRoaXMpLHRoaXN9fTt2YXIgTzA9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0LG4pe3JldHVybiB0PW51bGw9PXQ/MDordCxuPW51bGw9PW4/MTorbiwxPT09YXJndW1lbnRzLmxlbmd0aD8obj10LHQ9MCk6bi09dCxmdW5jdGlvbigpe3JldHVybiBlKCkqbit0fX1yZXR1cm4gbi5zb3VyY2U9dCxufSkoUjApLHowPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCxuKXt2YXIgaSxyO3JldHVybiB0PW51bGw9PXQ/MDordCxuPW51bGw9PW4/MTorbixmdW5jdGlvbigpe3ZhciBvO2lmKG51bGwhPWkpbz1pLGk9bnVsbDtlbHNlIGRve2k9MiplKCktMSxvPTIqZSgpLTEscj1pKmkrbypvfXdoaWxlKCFyfHxyPjEpO3JldHVybiB0K24qbypNYXRoLnNxcnQoLTIqTWF0aC5sb2cocikvcil9fXJldHVybiBuLnNvdXJjZT10LG59KShSMCksRDA9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbigpe3ZhciB0PXowLnNvdXJjZShlKS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguZXhwKHQoKSl9fXJldHVybiBuLnNvdXJjZT10LG59KShSMCksQjA9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIG49MCxpPTA7aTx0OysraSluKz1lKCk7cmV0dXJuIG59fXJldHVybiBuLnNvdXJjZT10LG59KShSMCksSDA9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXt2YXIgbj1CMC5zb3VyY2UoZSkodCk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG4oKS90fX1yZXR1cm4gbi5zb3VyY2U9dCxufSkoUjApLEYwPShmdW5jdGlvbiB0KGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuLU1hdGgubG9nKDEtZSgpKS90fX1yZXR1cm4gbi5zb3VyY2U9dCxufSkoUjApO2Z1bmN0aW9uIFYwKHQsZSl7dmFyIG4saSxyLG8sYT13YygiYmVmb3Jlc2VuZCIsInByb2dyZXNzIiwibG9hZCIsImVycm9yIikscz1qZygpLGw9bmV3IFhNTEh0dHBSZXF1ZXN0LGM9bnVsbCx1PW51bGwsaD0wO2Z1bmN0aW9uIGQodCl7dmFyIGUsaT1sLnN0YXR1cztpZighaSYmKGZ1bmN0aW9uIG8odCl7dmFyIGU9dC5yZXNwb25zZVR5cGU7cmV0dXJuIGUmJiJ0ZXh0IiE9PWU/dC5yZXNwb25zZTp0LnJlc3BvbnNlVGV4dH0pKGwpfHxpPj0yMDAmJmk8MzAwfHwzMDQ9PT1pKXtpZihyKXRyeXtlPXIuY2FsbChuLGwpfWNhdGNoKHQpe3JldHVybiB2b2lkIGEuY2FsbCgiZXJyb3IiLG4sdCl9ZWxzZSBlPWw7YS5jYWxsKCJsb2FkIixuLGUpfWVsc2UgYS5jYWxsKCJlcnJvciIsbix0KX1pZigidW5kZWZpbmVkIiE9dHlwZW9mIFhEb21haW5SZXF1ZXN0JiYhKCJ3aXRoQ3JlZGVudGlhbHMiaW4gbCkmJi9eKGh0dHAocyk/Oik/XC9cLy8udGVzdCh0KSYmKGw9bmV3IFhEb21haW5SZXF1ZXN0KSwib25sb2FkImluIGw/bC5vbmxvYWQ9bC5vbmVycm9yPWwub250aW1lb3V0PWQ6bC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24odCl7bC5yZWFkeVN0YXRlPjMmJmQodCl9LGwub25wcm9ncmVzcz1mdW5jdGlvbih0KXthLmNhbGwoInByb2dyZXNzIixuLHQpfSxuPXtoZWFkZXI6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD0odCsiIikudG9Mb3dlckNhc2UoKSxhcmd1bWVudHMubGVuZ3RoPDI/cy5nZXQodCk6KG51bGw9PWU/cy5yZW1vdmUodCk6cy5zZXQodCxlKyIiKSxuKX0sbWltZVR5cGU6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9bnVsbD09dD9udWxsOnQrIiIsbik6aX0scmVzcG9uc2VUeXBlOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPXQsbik6b30sdGltZW91dDpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaD0rdCxuKTpofSx1c2VyOmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDE/YzooYz1udWxsPT10P251bGw6dCsiIixuKX0scGFzc3dvcmQ6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8MT91Oih1PW51bGw9PXQ/bnVsbDp0KyIiLG4pfSxyZXNwb25zZTpmdW5jdGlvbih0KXtyZXR1cm4gcj10LG59LGdldDpmdW5jdGlvbih0LGUpe3JldHVybiBuLnNlbmQoIkdFVCIsdCxlKX0scG9zdDpmdW5jdGlvbih0LGUpe3JldHVybiBuLnNlbmQoIlBPU1QiLHQsZSl9LHNlbmQ6ZnVuY3Rpb24oZSxyLGQpe3JldHVybiBsLm9wZW4oZSx0LCEwLGMsdSksbnVsbD09aXx8cy5oYXMoImFjY2VwdCIpfHxzLnNldCgiYWNjZXB0IixpKyIsKi8qIiksbC5zZXRSZXF1ZXN0SGVhZGVyJiZzLmVhY2goKGZ1bmN0aW9uKHQsZSl7bC5zZXRSZXF1ZXN0SGVhZGVyKGUsdCl9KSksbnVsbCE9aSYmbC5vdmVycmlkZU1pbWVUeXBlJiZsLm92ZXJyaWRlTWltZVR5cGUoaSksbnVsbCE9byYmKGwucmVzcG9uc2VUeXBlPW8pLGg+MCYmKGwudGltZW91dD1oKSxudWxsPT1kJiYiZnVuY3Rpb24iPT10eXBlb2YgciYmKGQ9cixyPW51bGwpLG51bGwhPWQmJjE9PT1kLmxlbmd0aCYmKGQ9KGZ1bmN0aW9uIHAodCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7dChudWxsPT1lP246bnVsbCl9fSkoZCkpLG51bGwhPWQmJm4ub24oImVycm9yIixkKS5vbigibG9hZCIsKGZ1bmN0aW9uKHQpe2QobnVsbCx0KX0pKSxhLmNhbGwoImJlZm9yZXNlbmQiLG4sbCksbC5zZW5kKG51bGw9PXI/bnVsbDpyKSxufSxhYm9ydDpmdW5jdGlvbigpe3JldHVybiBsLmFib3J0KCksbn0sb246ZnVuY3Rpb24oKXt2YXIgdD1hLm9uLmFwcGx5KGEsYXJndW1lbnRzKTtyZXR1cm4gdD09PWE/bjp0fX0sbnVsbCE9ZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrOiAiK2UpO3JldHVybiBuLmdldChlKX1yZXR1cm4gbn1mdW5jdGlvbiBVMCh0LGUpe3JldHVybiBmdW5jdGlvbihuLGkpe3ZhciByPVYwKG4pLm1pbWVUeXBlKHQpLnJlc3BvbnNlKGUpO2lmKG51bGwhPWkpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBpKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBjYWxsYmFjazogIitpKTtyZXR1cm4gci5nZXQoaSl9cmV0dXJuIHJ9fXZhciBqMD1VMCgidGV4dC9odG1sIiwoZnVuY3Rpb24odCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVJhbmdlKCkuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KHQucmVzcG9uc2VUZXh0KX0pKSxHMD1VMCgiYXBwbGljYXRpb24vanNvbiIsKGZ1bmN0aW9uKHQpe3JldHVybiBKU09OLnBhcnNlKHQucmVzcG9uc2VUZXh0KX0pKSxXMD1VMCgidGV4dC9wbGFpbiIsKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlc3BvbnNlVGV4dH0pKSxxMD1VMCgiYXBwbGljYXRpb24veG1sIiwoZnVuY3Rpb24odCl7dmFyIGU9dC5yZXNwb25zZVhNTDtpZighZSl0aHJvdyBuZXcgRXJyb3IoInBhcnNlIGVycm9yIik7cmV0dXJuIGV9KSk7ZnVuY3Rpb24gWTAodCxlKXtyZXR1cm4gZnVuY3Rpb24obixpLHIpe2FyZ3VtZW50cy5sZW5ndGg8MyYmKHI9aSxpPW51bGwpO3ZhciBvPVYwKG4pLm1pbWVUeXBlKHQpO3JldHVybiBvLnJvdz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9vLnJlc3BvbnNlKFgwKGUsaT10KSk6aX0sby5yb3coaSkscj9vLmdldChyKTpvfX1mdW5jdGlvbiBYMCh0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdChuLnJlc3BvbnNlVGV4dCxlKX19dmFyICQwPVkwKCJ0ZXh0L2NzdiIsYl8pLEswPVkwKCJ0ZXh0L3RhYi1zZXBhcmF0ZWQtdmFsdWVzIixBXyk7ZnVuY3Rpb24gWjAodCxlKXtyZXR1cm4gdDxlPy0xOnQ+ZT8xOnQ+PWU/MDpOYU59ZnVuY3Rpb24gSjAodCl7cmV0dXJuIDE9PT10Lmxlbmd0aCYmKHQ9KGZ1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7cmV0dXJuIFowKHQoZSksbil9fSkodCkpLHtsZWZ0OmZ1bmN0aW9uKGUsbixpLHIpe2ZvcihudWxsPT1pJiYoaT0wKSxudWxsPT1yJiYocj1lLmxlbmd0aCk7aTxyOyl7dmFyIG89aStyPj4+MTt0KGVbb10sbik8MD9pPW8rMTpyPW99cmV0dXJuIGl9LHJpZ2h0OmZ1bmN0aW9uKGUsbixpLHIpe2ZvcihudWxsPT1pJiYoaT0wKSxudWxsPT1yJiYocj1lLmxlbmd0aCk7aTxyOyl7dmFyIG89aStyPj4+MTt0KGVbb10sbik+MD9yPW86aT1vKzF9cmV0dXJuIGl9fX12YXIgUTA9SjAoWjApLnJpZ2h0O2Z1bmN0aW9uIHQyKHQpe3JldHVybiBudWxsPT09dD9OYU46K3R9dmFyIGUyPU1hdGguc3FydCg1MCksbjI9TWF0aC5zcXJ0KDEwKSxpMj1NYXRoLnNxcnQoMik7ZnVuY3Rpb24gcjIodCxlLG4pe3ZhciBpLHIsbyxhLHM9LTE7aWYobj0rbiwodD0rdCk9PT0oZT0rZSkmJm4+MClyZXR1cm5bdF07aWYoKGk9ZTx0KSYmKHI9dCx0PWUsZT1yKSwwPT09KGE9bzIodCxlLG4pKXx8IWlzRmluaXRlKGEpKXJldHVybltdO2lmKGE+MClmb3IodD1NYXRoLmNlaWwodC9hKSxlPU1hdGguZmxvb3IoZS9hKSxvPW5ldyBBcnJheShyPU1hdGguY2VpbChlLXQrMSkpOysrczxyOylvW3NdPSh0K3MpKmE7ZWxzZSBmb3IodD1NYXRoLmZsb29yKHQqYSksZT1NYXRoLmNlaWwoZSphKSxvPW5ldyBBcnJheShyPU1hdGguY2VpbCh0LWUrMSkpOysrczxyOylvW3NdPSh0LXMpL2E7cmV0dXJuIGkmJm8ucmV2ZXJzZSgpLG99ZnVuY3Rpb24gbzIodCxlLG4pe3ZhciBpPShlLXQpL01hdGgubWF4KDAsbikscj1NYXRoLmZsb29yKE1hdGgubG9nKGkpL01hdGguTE4xMCksbz1pL01hdGgucG93KDEwLHIpO3JldHVybiByPj0wPyhvPj1lMj8xMDpvPj1uMj81Om8+PWkyPzI6MSkqTWF0aC5wb3coMTAscik6LU1hdGgucG93KDEwLC1yKS8obz49ZTI/MTA6bz49bjI/NTpvPj1pMj8yOjEpfWZ1bmN0aW9uIGEyKHQsZSxuKXt2YXIgaT1NYXRoLmFicyhlLXQpL01hdGgubWF4KDAsbikscj1NYXRoLnBvdygxMCxNYXRoLmZsb29yKE1hdGgubG9nKGkpL01hdGguTE4xMCkpLG89aS9yO3JldHVybiBvPj1lMj9yKj0xMDpvPj1uMj9yKj01Om8+PWkyJiYocio9MiksZTx0Py1yOnJ9ZnVuY3Rpb24gczIodCxlLG4pe2lmKG51bGw9PW4mJihuPXQyKSxpPXQubGVuZ3RoKXtpZigoZT0rZSk8PTB8fGk8MilyZXR1cm4rbih0WzBdLDAsdCk7aWYoZT49MSlyZXR1cm4rbih0W2ktMV0saS0xLHQpO3ZhciBpLHI9KGktMSkqZSxvPU1hdGguZmxvb3IociksYT0rbih0W29dLG8sdCk7cmV0dXJuIGErKCtuKHRbbysxXSxvKzEsdCktYSkqKHItbyl9fXZhciBsMj0iJCI7ZnVuY3Rpb24gYzIoKXt9ZnVuY3Rpb24gdTIodCxlKXt2YXIgbj1uZXcgYzI7aWYodCBpbnN0YW5jZW9mIGMyKXQuZWFjaCgoZnVuY3Rpb24odCxlKXtuLnNldChlLHQpfSkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSl7dmFyIGkscj0tMSxvPXQubGVuZ3RoO2lmKG51bGw9PWUpZm9yKDsrK3I8bzspbi5zZXQocix0W3JdKTtlbHNlIGZvcig7KytyPG87KW4uc2V0KGUoaT10W3JdLHIsdCksaSl9ZWxzZSBpZih0KWZvcih2YXIgYSBpbiB0KW4uc2V0KGEsdFthXSk7cmV0dXJuIG59ZnVuY3Rpb24gaDIoKXt9YzIucHJvdG90eXBlPXUyLnByb3RvdHlwZT17Y29uc3RydWN0b3I6YzIsaGFzOmZ1bmN0aW9uKHQpe3JldHVybiBsMit0IGluIHRoaXN9LGdldDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpc1tsMit0XX0sc2V0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXNbbDIrdF09ZSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9bDIrdDtyZXR1cm4gZSBpbiB0aGlzJiZkZWxldGUgdGhpc1tlXX0sY2xlYXI6ZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdGhpcyl0WzBdPT09bDImJmRlbGV0ZSB0aGlzW3RdfSxrZXlzOmZ1bmN0aW9uKCl7dmFyIHQ9W107Zm9yKHZhciBlIGluIHRoaXMpZVswXT09PWwyJiZ0LnB1c2goZS5zbGljZSgxKSk7cmV0dXJuIHR9LHZhbHVlczpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT1sMiYmdC5wdXNoKHRoaXNbZV0pO3JldHVybiB0fSxlbnRyaWVzOmZ1bmN0aW9uKCl7dmFyIHQ9W107Zm9yKHZhciBlIGluIHRoaXMpZVswXT09PWwyJiZ0LnB1c2goe2tleTplLnNsaWNlKDEpLHZhbHVlOnRoaXNbZV19KTtyZXR1cm4gdH0sc2l6ZTpmdW5jdGlvbigpe3ZhciB0PTA7Zm9yKHZhciBlIGluIHRoaXMpZVswXT09PWwyJiYrK3Q7cmV0dXJuIHR9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMpaWYodFswXT09PWwyKXJldHVybiExO3JldHVybiEwfSxlYWNoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT1sMiYmdCh0aGlzW2VdLGUuc2xpY2UoMSksdGhpcyl9fTt2YXIgZDI9dTIucHJvdG90eXBlO2gyLnByb3RvdHlwZT17Y29uc3RydWN0b3I6aDIsaGFzOmQyLmhhcyxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbbDIrKHQrPSIiKV09dCx0aGlzfSxyZW1vdmU6ZDIucmVtb3ZlLGNsZWFyOmQyLmNsZWFyLHZhbHVlczpkMi5rZXlzLHNpemU6ZDIuc2l6ZSxlbXB0eTpkMi5lbXB0eSxlYWNoOmQyLmVhY2h9O3ZhciBwMj1BcnJheS5wcm90b3R5cGUsZjI9cDIubWFwLG0yPXAyLnNsaWNlLGcyPXtuYW1lOiJpbXBsaWNpdCJ9O2Z1bmN0aW9uIF8yKHQpe3ZhciBlPXUyKCksbj1bXSxpPWcyO2Z1bmN0aW9uIHIocil7dmFyIG89cisiIixhPWUuZ2V0KG8pO2lmKCFhKXtpZihpIT09ZzIpcmV0dXJuIGk7ZS5zZXQobyxhPW4ucHVzaChyKSl9cmV0dXJuIHRbKGEtMSkldC5sZW5ndGhdfXJldHVybiB0PW51bGw9PXQ/W106bTIuY2FsbCh0KSxyLmRvbWFpbj1mdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gbi5zbGljZSgpO249W10sZT11MigpO2Zvcih2YXIgaSxvLGE9LTEscz10Lmxlbmd0aDsrK2E8czspZS5oYXMobz0oaT10W2FdKSsiIil8fGUuc2V0KG8sbi5wdXNoKGkpKTtyZXR1cm4gcn0sci5yYW5nZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1tMi5jYWxsKGUpLHIpOnQuc2xpY2UoKX0sci51bmtub3duPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPXQscik6aX0sci5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIF8yKCkuZG9tYWluKG4pLnJhbmdlKHQpLnVua25vd24oaSl9LHJ9ZnVuY3Rpb24geTIoKXt2YXIgdCxlLG49XzIoKS51bmtub3duKHZvaWQgMCksaT1uLmRvbWFpbixyPW4ucmFuZ2Usbz1bMCwxXSxhPSExLHM9MCxsPTAsYz0uNTtmdW5jdGlvbiB1KCl7dmFyIG49aSgpLmxlbmd0aCx1PW9bMV08b1swXSxoPW9bdS0wXSxkPW9bMS11XTt0PShkLWgpL01hdGgubWF4KDEsbi1zKzIqbCksYSYmKHQ9TWF0aC5mbG9vcih0KSksaCs9KGQtaC10KihuLXMpKSpjLGU9dCooMS1zKSxhJiYoaD1NYXRoLnJvdW5kKGgpLGU9TWF0aC5yb3VuZChlKSk7dmFyIHA9KGZ1bmN0aW9uIGYodCxlLG4pe3Q9K3QsZT0rZSxuPShyPWFyZ3VtZW50cy5sZW5ndGgpPDI/KGU9dCx0PTAsMSk6cjwzPzE6K247Zm9yKHZhciBpPS0xLHI9MHxNYXRoLm1heCgwLE1hdGguY2VpbCgoZS10KS9uKSksbz1uZXcgQXJyYXkocik7KytpPHI7KW9baV09dCtpKm47cmV0dXJuIG99KShuKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBoK3QqZX0pKTtyZXR1cm4gcih1P3AucmV2ZXJzZSgpOnApfXJldHVybiBkZWxldGUgbi51bmtub3duLG4uZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpKHQpLHUoKSk6aSgpfSxuLnJhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPVsrdFswXSwrdFsxXV0sdSgpKTpvLnNsaWNlKCl9LG4ucmFuZ2VSb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gbz1bK3RbMF0sK3RbMV1dLGE9ITAsdSgpfSxuLmJhbmR3aWR0aD1mdW5jdGlvbigpe3JldHVybiBlfSxuLnN0ZXA9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbi5yb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0hIXQsdSgpKTphfSxuLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9bD1NYXRoLm1heCgwLE1hdGgubWluKDEsdCkpLHUoKSk6c30sbi5wYWRkaW5nSW5uZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSx1KCkpOnN9LG4ucGFkZGluZ091dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhsPU1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSksdSgpKTpsfSxuLmFsaWduPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPU1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSksdSgpKTpjfSxuLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4geTIoKS5kb21haW4oaSgpKS5yYW5nZShvKS5yb3VuZChhKS5wYWRkaW5nSW5uZXIocykucGFkZGluZ091dGVyKGwpLmFsaWduKGMpfSx1KCl9ZnVuY3Rpb24gdjIodCl7dmFyIGU9dC5jb3B5O3JldHVybiB0LnBhZGRpbmc9dC5wYWRkaW5nT3V0ZXIsZGVsZXRlIHQucGFkZGluZ0lubmVyLGRlbGV0ZSB0LnBhZGRpbmdPdXRlcix0LmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gdjIoZSgpKX0sdH1mdW5jdGlvbiBiMih0LGUsbil7dC5wcm90b3R5cGU9ZS5wcm90b3R5cGU9bixuLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24geDIodCxlKXt2YXIgbj1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIGkgaW4gZSluW2ldPWVbaV07cmV0dXJuIG59ZnVuY3Rpb24gdzIoKXt9dmFyIFMyPS43LE0yPTEvUzIsRTI9IlxccyooWystXT9cXGQrKVxccyoiLFQyPSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KVxccyoiLEMyPSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KSVcXHMqIixBMj0vXiMoWzAtOWEtZl17Myw4fSkkLyxrMj1uZXcgUmVnRXhwKCJecmdiXFwoIitbRTIsRTIsRTJdKyJcXCkkIiksTDI9bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW0MyLEMyLEMyXSsiXFwpJCIpLFAyPW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbRTIsRTIsRTIsVDJdKyJcXCkkIiksTjI9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tDMixDMixDMixUMl0rIlxcKSQiKSxJMj1uZXcgUmVnRXhwKCJeaHNsXFwoIitbVDIsQzIsQzJdKyJcXCkkIiksUjI9bmV3IFJlZ0V4cCgiXmhzbGFcXCgiK1tUMixDMixDMixUMl0rIlxcKSQiKSxPMj17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiB6Migpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdEhleCgpfWZ1bmN0aW9uIEQyKCl7cmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0UmdiKCl9ZnVuY3Rpb24gQjIodCl7dmFyIGUsbjtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKGU9QTIuZXhlYyh0KSk/KG49ZVsxXS5sZW5ndGgsZT1wYXJzZUludChlWzFdLDE2KSw2PT09bj9IMihlKTozPT09bj9uZXcgajIoZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgxNSZlKTw8NHwxNSZlLDEpOjg9PT1uP0YyKGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsKDI1NSZlKS8yNTUpOjQ9PT1uP0YyKGU+PjEyJjE1fGU+PjgmMjQwLGU+PjgmMTV8ZT4+NCYyNDAsZT4+NCYxNXwyNDAmZSwoKDE1JmUpPDw0fDE1JmUpLzI1NSk6bnVsbCk6KGU9azIuZXhlYyh0KSk/bmV3IGoyKGVbMV0sZVsyXSxlWzNdLDEpOihlPUwyLmV4ZWModCkpP25ldyBqMigyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCwxKTooZT1QMi5leGVjKHQpKT9GMihlWzFdLGVbMl0sZVszXSxlWzRdKTooZT1OMi5leGVjKHQpKT9GMigyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCxlWzRdKTooZT1JMi5leGVjKHQpKT9ZMihlWzFdLGVbMl0vMTAwLGVbM10vMTAwLDEpOihlPVIyLmV4ZWModCkpP1kyKGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsZVs0XSk6TzIuaGFzT3duUHJvcGVydHkodCk/SDIoTzJbdF0pOiJ0cmFuc3BhcmVudCI9PT10P25ldyBqMihOYU4sTmFOLE5hTiwwKTpudWxsfWZ1bmN0aW9uIEgyKHQpe3JldHVybiBuZXcgajIodD4+MTYmMjU1LHQ+PjgmMjU1LDI1NSZ0LDEpfWZ1bmN0aW9uIEYyKHQsZSxuLGkpe3JldHVybiBpPD0wJiYodD1lPW49TmFOKSxuZXcgajIodCxlLG4saSl9ZnVuY3Rpb24gVjIodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiB3Mnx8KHQ9QjIodCkpLHQ/bmV3IGoyKCh0PXQucmdiKCkpLnIsdC5nLHQuYix0Lm9wYWNpdHkpOm5ldyBqMn1mdW5jdGlvbiBVMih0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/VjIodCk6bmV3IGoyKHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBqMih0LGUsbixpKXt0aGlzLnI9K3QsdGhpcy5nPStlLHRoaXMuYj0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24gRzIoKXtyZXR1cm4iIyIrcTIodGhpcy5yKStxMih0aGlzLmcpK3EyKHRoaXMuYil9ZnVuY3Rpb24gVzIoKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJyZ2IoIjoicmdiYSgiKStNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMucil8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5nKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmIpfHwwKSkrKDE9PT10PyIpIjoiLCAiK3QrIikiKX1mdW5jdGlvbiBxMih0KXtyZXR1cm4oKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0KXx8MCkpKTwxNj8iMCI6IiIpK3QudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIFkyKHQsZSxuLGkpe3JldHVybiBpPD0wP3Q9ZT1uPU5hTjpuPD0wfHxuPj0xP3Q9ZT1OYU46ZTw9MCYmKHQ9TmFOKSxuZXcgJDIodCxlLG4saSl9ZnVuY3Rpb24gWDIodCl7aWYodCBpbnN0YW5jZW9mICQyKXJldHVybiBuZXcgJDIodC5oLHQucyx0LmwsdC5vcGFjaXR5KTtpZih0IGluc3RhbmNlb2YgdzJ8fCh0PUIyKHQpKSwhdClyZXR1cm4gbmV3ICQyO2lmKHQgaW5zdGFuY2VvZiAkMilyZXR1cm4gdDt2YXIgZT0odD10LnJnYigpKS5yLzI1NSxuPXQuZy8yNTUsaT10LmIvMjU1LHI9TWF0aC5taW4oZSxuLGkpLG89TWF0aC5tYXgoZSxuLGkpLGE9TmFOLHM9by1yLGw9KG8rcikvMjtyZXR1cm4gcz8oYT1lPT09bz8obi1pKS9zKzYqKG48aSk6bj09PW8/KGktZSkvcysyOihlLW4pL3MrNCxzLz1sPC41P28rcjoyLW8tcixhKj02MCk6cz1sPjAmJmw8MT8wOmEsbmV3ICQyKGEscyxsLHQub3BhY2l0eSl9ZnVuY3Rpb24gJDIodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIEsyKHQsZSxuKXtyZXR1cm4gMjU1Kih0PDYwP2UrKG4tZSkqdC82MDp0PDE4MD9uOnQ8MjQwP2UrKG4tZSkqKDI0MC10KS82MDplKX1iMih3MixCMix7Y29weTpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgdGhpcy5jb25zdHJ1Y3Rvcix0aGlzLHQpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJnYigpLmRpc3BsYXlhYmxlKCl9LGhleDp6Mixmb3JtYXRIZXg6ejIsZm9ybWF0SHNsOmZ1bmN0aW9uIFoyKCl7cmV0dXJuIFgyKHRoaXMpLmZvcm1hdEhzbCgpfSxmb3JtYXRSZ2I6RDIsdG9TdHJpbmc6RDJ9KSxiMihqMixVMix4Mih3Mix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9NMjpNYXRoLnBvdyhNMix0KSxuZXcgajIodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/UzI6TWF0aC5wb3coUzIsdCksbmV3IGoyKHRoaXMucip0LHRoaXMuZyp0LHRoaXMuYip0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3JldHVybiB0aGlzfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybi0uNTw9dGhpcy5yJiZ0aGlzLnI8MjU1LjUmJi0uNTw9dGhpcy5nJiZ0aGlzLmc8MjU1LjUmJi0uNTw9dGhpcy5iJiZ0aGlzLmI8MjU1LjUmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxoZXg6RzIsZm9ybWF0SGV4OkcyLGZvcm1hdFJnYjpXMix0b1N0cmluZzpXMn0pKSxiMigkMiwoZnVuY3Rpb24gSjIodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP1gyKHQpOm5ldyAkMih0LGUsbixudWxsPT1pPzE6aSl9KSx4Mih3Mix7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9NMjpNYXRoLnBvdyhNMix0KSxuZXcgJDIodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9TMjpNYXRoLnBvdyhTMix0KSxuZXcgJDIodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmglMzYwKzM2MCoodGhpcy5oPDApLGU9aXNOYU4odCl8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsbj10aGlzLmwsaT1uKyhuPC41P246MS1uKSplLHI9MipuLWk7cmV0dXJuIG5ldyBqMihLMih0Pj0yNDA/dC0yNDA6dCsxMjAscixpKSxLMih0LHIsaSksSzIodDwxMjA/dCsyNDA6dC0xMjAscixpKSx0aGlzLm9wYWNpdHkpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sZm9ybWF0SHNsOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8iaHNsKCI6ImhzbGEoIikrKHRoaXMuaHx8MCkrIiwgIisxMDAqKHRoaXMuc3x8MCkrIiUsICIrMTAwKih0aGlzLmx8fDApKyIlIisoMT09PXQ/IikiOiIsICIrdCsiKSIpfX0pKTt2YXIgUTI9TWF0aC5QSS8xODAsdDU9MTgwL01hdGguUEksZTU9LS4xNDg2MSxuNT0xLjc4Mjc3LGk1PS0uMjkyMjcscjU9LS45MDY0OSxvNT0xLjk3Mjk0LGE1PW81KnI1LHM1PW81Km41LGw1PW41Kmk1LXI1KmU1O2Z1bmN0aW9uIGM1KHQpe2lmKHQgaW5zdGFuY2VvZiBoNSlyZXR1cm4gbmV3IGg1KHQuaCx0LnMsdC5sLHQub3BhY2l0eSk7dCBpbnN0YW5jZW9mIGoyfHwodD1WMih0KSk7dmFyIGU9dC5nLzI1NSxuPXQuYi8yNTUsaT0obDUqbithNSoodC5yLzI1NSktczUqZSkvKGw1K2E1LXM1KSxyPW4taSxvPShvNSooZS1pKS1pNSpyKS9yNSxhPU1hdGguc3FydChvKm8rcipyKS8obzUqaSooMS1pKSkscz1hP01hdGguYXRhbjIobyxyKSp0NS0xMjA6TmFOO3JldHVybiBuZXcgaDUoczwwP3MrMzYwOnMsYSxpLHQub3BhY2l0eSl9ZnVuY3Rpb24gdTUodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP2M1KHQpOm5ldyBoNSh0LGUsbixudWxsPT1pPzE6aSl9ZnVuY3Rpb24gaDUodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIGQ1KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBwNSh0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdCtuKmV9fWZ1bmN0aW9uIGY1KHQpe3JldHVybiAxPT0odD0rdCk/bTU6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbi1lPyhmdW5jdGlvbiBpKHQsZSxuKXtyZXR1cm4gdD1NYXRoLnBvdyh0LG4pLGU9TWF0aC5wb3coZSxuKS10LG49MS9uLGZ1bmN0aW9uKGkpe3JldHVybiBNYXRoLnBvdyh0K2kqZSxuKX19KShlLG4sdCk6ZDUoaXNOYU4oZSk/bjplKX19ZnVuY3Rpb24gbTUodCxlKXt2YXIgbj1lLXQ7cmV0dXJuIG4/cDUodCxuKTpkNShpc05hTih0KT9lOnQpfWIyKGg1LHU1LHgyKHcyLHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P00yOk1hdGgucG93KE0yLHQpLG5ldyBoNSh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P1MyOk1hdGgucG93KFMyLHQpLG5ldyBoNSh0aGlzLmgsdGhpcy5zLHRoaXMubCp0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3ZhciB0PWlzTmFOKHRoaXMuaCk/MDoodGhpcy5oKzEyMCkqUTIsZT0rdGhpcy5sLG49aXNOYU4odGhpcy5zKT8wOnRoaXMucyplKigxLWUpLGk9TWF0aC5jb3ModCkscj1NYXRoLnNpbih0KTtyZXR1cm4gbmV3IGoyKDI1NSooZStuKihlNSppK241KnIpKSwyNTUqKGUrbiooaTUqaStyNSpyKSksMjU1KihlK24qKG81KmkpKSx0aGlzLm9wYWNpdHkpfX0pKTt2YXIgZzU9KGZ1bmN0aW9uIHQoZSl7dmFyIG49ZjUoZSk7ZnVuY3Rpb24gaSh0LGUpe3ZhciBpPW4oKHQ9VTIodCkpLnIsKGU9VTIoZSkpLnIpLHI9bih0LmcsZS5nKSxvPW4odC5iLGUuYiksYT1tNSh0Lm9wYWNpdHksZS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQucj1pKGUpLHQuZz1yKGUpLHQuYj1vKGUpLHQub3BhY2l0eT1hKGUpLHQrIiJ9fXJldHVybiBpLmdhbW1hPXQsaX0pKDEpO2Z1bmN0aW9uIF81KHQsZSl7ZXx8KGU9W10pO3ZhciBuLGk9dD9NYXRoLm1pbihlLmxlbmd0aCx0Lmxlbmd0aCk6MCxyPWUuc2xpY2UoKTtyZXR1cm4gZnVuY3Rpb24obyl7Zm9yKG49MDtuPGk7KytuKXJbbl09dFtuXSooMS1vKStlW25dKm87cmV0dXJuIHJ9fWZ1bmN0aW9uIHk1KHQsZSl7dmFyIG4saT1lP2UubGVuZ3RoOjAscj10P01hdGgubWluKGksdC5sZW5ndGgpOjAsbz1uZXcgQXJyYXkociksYT1uZXcgQXJyYXkoaSk7Zm9yKG49MDtuPHI7KytuKW9bbl09RTUodFtuXSxlW25dKTtmb3IoO248aTsrK24pYVtuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3Iobj0wO248cjsrK24pYVtuXT1vW25dKHQpO3JldHVybiBhfX1mdW5jdGlvbiB2NSh0LGUpe3ZhciBuPW5ldyBEYXRlO3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24oaSl7cmV0dXJuIG4uc2V0VGltZSh0KigxLWkpK2UqaSksbn19ZnVuY3Rpb24gYjUodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiB0KigxLW4pK2Uqbn19ZnVuY3Rpb24geDUodCxlKXt2YXIgbixpPXt9LHI9e307Zm9yKG4gaW4gbnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdHx8KHQ9e30pLG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGV8fChlPXt9KSxlKW4gaW4gdD9pW25dPUU1KHRbbl0sZVtuXSk6cltuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3IobiBpbiBpKXJbbl09aVtuXSh0KTtyZXR1cm4gcn19dmFyIHc1PS9bLStdPyg/OlxkK1wuP1xkKnxcLj9cZCspKD86W2VFXVstK10/XGQrKT8vZyxTNT1uZXcgUmVnRXhwKHc1LnNvdXJjZSwiZyIpO2Z1bmN0aW9uIE01KHQsZSl7dmFyIG4saSxyLG89dzUubGFzdEluZGV4PVM1Lmxhc3RJbmRleD0wLGE9LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsobj13NS5leGVjKHQpKSYmKGk9UzUuZXhlYyhlKSk7KShyPWkuaW5kZXgpPm8mJihyPWUuc2xpY2UobyxyKSxzW2FdP3NbYV0rPXI6c1srK2FdPXIpLChuPW5bMF0pPT09KGk9aVswXSk/c1thXT9zW2FdKz1pOnNbKythXT1pOihzWysrYV09bnVsbCxsLnB1c2goe2k6YSx4OmI1KG4saSl9KSksbz1TNS5sYXN0SW5kZXg7cmV0dXJuIG88ZS5sZW5ndGgmJihyPWUuc2xpY2Uobyksc1thXT9zW2FdKz1yOnNbKythXT1yKSxzLmxlbmd0aDwyP2xbMF0/KGZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpKyIifX0pKGxbMF0ueCk6KGZ1bmN0aW9uIHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkoZSk6KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciBuLGk9MDtpPGU7KytpKXNbKG49bFtpXSkuaV09bi54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9ZnVuY3Rpb24gRTUodCxlKXt2YXIgbixpPXR5cGVvZiBlO3JldHVybiBudWxsPT1lfHwiYm9vbGVhbiI9PT1pP2Q1KGUpOigibnVtYmVyIj09PWk/YjU6InN0cmluZyI9PT1pPyhuPUIyKGUpKT8oZT1uLGc1KTpNNTplIGluc3RhbmNlb2YgQjI/ZzU6ZSBpbnN0YW5jZW9mIERhdGU/djU6KGZ1bmN0aW9uIHIodCl7cmV0dXJuIEFycmF5QnVmZmVyLmlzVmlldyh0KSYmISh0IGluc3RhbmNlb2YgRGF0YVZpZXcpfSkoZSk/XzU6QXJyYXkuaXNBcnJheShlKT95NToiZnVuY3Rpb24iIT10eXBlb2YgZS52YWx1ZU9mJiYiZnVuY3Rpb24iIT10eXBlb2YgZS50b1N0cmluZ3x8aXNOYU4oZSk/eDU6YjUpKHQsZSl9ZnVuY3Rpb24gVDUodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiBNYXRoLnJvdW5kKHQqKDEtbikrZSpuKX19ZnVuY3Rpb24gQzUodCl7cmV0dXJuKGZ1bmN0aW9uIGUobil7ZnVuY3Rpb24gaShlLGkpe3ZhciByPXQoKGU9dTUoZSkpLmgsKGk9dTUoaSkpLmgpLG89bTUoZS5zLGkucyksYT1tNShlLmwsaS5sKSxzPW01KGUub3BhY2l0eSxpLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZS5oPXIodCksZS5zPW8odCksZS5sPWEoTWF0aC5wb3codCxuKSksZS5vcGFjaXR5PXModCksZSsiIn19cmV0dXJuIG49K24saS5nYW1tYT1lLGl9KSgxKX1DNSgoZnVuY3Rpb24gQTUodCxlKXt2YXIgbj1lLXQ7cmV0dXJuIG4/cDUodCxuPjE4MHx8bjwtMTgwP24tMzYwKk1hdGgucm91bmQobi8zNjApOm4pOmQ1KGlzTmFOKHQpP2U6dCl9KSk7dmFyIGs1PUM1KG01KTtmdW5jdGlvbiBMNSh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gUDUodCl7cmV0dXJuK3R9dmFyIE41PVswLDFdO2Z1bmN0aW9uIEk1KHQsZSl7cmV0dXJuKGUtPXQ9K3QpP2Z1bmN0aW9uKG4pe3JldHVybihuLXQpL2V9Okw1KGUpfWZ1bmN0aW9uIFI1KHQsZSxuLGkpe3ZhciByPXRbMF0sbz10WzFdLGE9ZVswXSxzPWVbMV07cmV0dXJuIG88cj8ocj1uKG8sciksYT1pKHMsYSkpOihyPW4ocixvKSxhPWkoYSxzKSksZnVuY3Rpb24odCl7cmV0dXJuIGEocih0KSl9fWZ1bmN0aW9uIE81KHQsZSxuLGkpe3ZhciByPU1hdGgubWluKHQubGVuZ3RoLGUubGVuZ3RoKS0xLG89bmV3IEFycmF5KHIpLGE9bmV3IEFycmF5KHIpLHM9LTE7Zm9yKHRbcl08dFswXSYmKHQ9dC5zbGljZSgpLnJldmVyc2UoKSxlPWUuc2xpY2UoKS5yZXZlcnNlKCkpOysrczxyOylvW3NdPW4odFtzXSx0W3MrMV0pLGFbc109aShlW3NdLGVbcysxXSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPVEwKHQsZSwxLHIpLTE7cmV0dXJuIGFbbl0ob1tuXShlKSl9fWZ1bmN0aW9uIHo1KHQsZSl7cmV0dXJuIGUuZG9tYWluKHQuZG9tYWluKCkpLnJhbmdlKHQucmFuZ2UoKSkuaW50ZXJwb2xhdGUodC5pbnRlcnBvbGF0ZSgpKS5jbGFtcCh0LmNsYW1wKCkpfWZ1bmN0aW9uIEQ1KHQsZSl7dmFyIG4saSxyLG89TjUsYT1ONSxzPUU1LGw9ITE7ZnVuY3Rpb24gYygpe3JldHVybiBuPU1hdGgubWluKG8ubGVuZ3RoLGEubGVuZ3RoKT4yP081OlI1LGk9cj1udWxsLHV9ZnVuY3Rpb24gdShlKXtyZXR1cm4oaXx8KGk9bihvLGEsbD8oZnVuY3Rpb24gcih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXt2YXIgaT10KGU9K2Usbj0rbik7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0PD1lPzA6dD49bj8xOmkodCl9fX0pKHQpOnQscykpKSgrZSl9cmV0dXJuIHUuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybihyfHwocj1uKGEsbyxJNSxsPyhmdW5jdGlvbiBpKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciBpPXQoZT0rZSxuPStuKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHQ8PTA/ZTp0Pj0xP246aSh0KX19fSkoZSk6ZSkpKSgrdCl9LHUuZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPWYyLmNhbGwodCxQNSksYygpKTpvLnNsaWNlKCl9LHUucmFuZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9bTIuY2FsbCh0KSxjKCkpOmEuc2xpY2UoKX0sdS5yYW5nZVJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBhPW0yLmNhbGwodCkscz1UNSxjKCl9LHUuY2xhbXA9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGw9ISF0LGMoKSk6bH0sdS5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz10LGMoKSk6c30sYygpfWZ1bmN0aW9uIEI1KHQsZSl7aWYoKG49KHQ9ZT90LnRvRXhwb25lbnRpYWwoZS0xKTp0LnRvRXhwb25lbnRpYWwoKSkuaW5kZXhPZigiZSIpKTwwKXJldHVybiBudWxsO3ZhciBuLGk9dC5zbGljZSgwLG4pO3JldHVybltpLmxlbmd0aD4xP2lbMF0raS5zbGljZSgyKTppLCt0LnNsaWNlKG4rMSldfWZ1bmN0aW9uIEg1KHQpe3JldHVybih0PUI1KE1hdGguYWJzKHQpKSk/dFsxXTpOYU59dmFyIEY1LFY1PS9eKD86KC4pPyhbPD49Xl0pKT8oWytcLSggXSk/KFskI10pPygwKT8oXGQrKT8oLCk/KFwuXGQrKT8ofik/KFthLXolXSk/JC9pO2Z1bmN0aW9uIFU1KHQpe2lmKCEoZT1WNS5leGVjKHQpKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZm9ybWF0OiAiK3QpO3ZhciBlO3JldHVybiBuZXcgajUoe2ZpbGw6ZVsxXSxhbGlnbjplWzJdLHNpZ246ZVszXSxzeW1ib2w6ZVs0XSx6ZXJvOmVbNV0sd2lkdGg6ZVs2XSxjb21tYTplWzddLHByZWNpc2lvbjplWzhdJiZlWzhdLnNsaWNlKDEpLHRyaW06ZVs5XSx0eXBlOmVbMTBdfSl9ZnVuY3Rpb24gajUodCl7dGhpcy5maWxsPXZvaWQgMD09PXQuZmlsbD8iICI6dC5maWxsKyIiLHRoaXMuYWxpZ249dm9pZCAwPT09dC5hbGlnbj8iPiI6dC5hbGlnbisiIix0aGlzLnNpZ249dm9pZCAwPT09dC5zaWduPyItIjp0LnNpZ24rIiIsdGhpcy5zeW1ib2w9dm9pZCAwPT09dC5zeW1ib2w/IiI6dC5zeW1ib2wrIiIsdGhpcy56ZXJvPSEhdC56ZXJvLHRoaXMud2lkdGg9dm9pZCAwPT09dC53aWR0aD92b2lkIDA6K3Qud2lkdGgsdGhpcy5jb21tYT0hIXQuY29tbWEsdGhpcy5wcmVjaXNpb249dm9pZCAwPT09dC5wcmVjaXNpb24/dm9pZCAwOit0LnByZWNpc2lvbix0aGlzLnRyaW09ISF0LnRyaW0sdGhpcy50eXBlPXZvaWQgMD09PXQudHlwZT8iIjp0LnR5cGUrIiJ9ZnVuY3Rpb24gRzUodCxlKXt2YXIgbj1CNSh0LGUpO2lmKCFuKXJldHVybiB0KyIiO3ZhciBpPW5bMF0scj1uWzFdO3JldHVybiByPDA/IjAuIituZXcgQXJyYXkoLXIpLmpvaW4oIjAiKStpOmkubGVuZ3RoPnIrMT9pLnNsaWNlKDAscisxKSsiLiIraS5zbGljZShyKzEpOmkrbmV3IEFycmF5KHItaS5sZW5ndGgrMikuam9pbigiMCIpfVU1LnByb3RvdHlwZT1qNS5wcm90b3R5cGUsajUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmlsbCt0aGlzLmFsaWduK3RoaXMuc2lnbit0aGlzLnN5bWJvbCsodGhpcy56ZXJvPyIwIjoiIikrKHZvaWQgMD09PXRoaXMud2lkdGg/IiI6TWF0aC5tYXgoMSwwfHRoaXMud2lkdGgpKSsodGhpcy5jb21tYT8iLCI6IiIpKyh2b2lkIDA9PT10aGlzLnByZWNpc2lvbj8iIjoiLiIrTWF0aC5tYXgoMCwwfHRoaXMucHJlY2lzaW9uKSkrKHRoaXMudHJpbT8ifiI6IiIpK3RoaXMudHlwZX07dmFyIFc1PXsiJSI6ZnVuY3Rpb24odCxlKXtyZXR1cm4oMTAwKnQpLnRvRml4ZWQoZSl9LGI6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoMil9LGM6ZnVuY3Rpb24odCl7cmV0dXJuIHQrIiJ9LGQ6ZnVuY3Rpb24gcTUodCl7cmV0dXJuIE1hdGguYWJzKHQ9TWF0aC5yb3VuZCh0KSk+PTFlMjE/dC50b0xvY2FsZVN0cmluZygiZW4iKS5yZXBsYWNlKC8sL2csIiIpOnQudG9TdHJpbmcoMTApfSxlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudG9FeHBvbmVudGlhbChlKX0sZjpmdW5jdGlvbih0LGUpe3JldHVybiB0LnRvRml4ZWQoZSl9LGc6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC50b1ByZWNpc2lvbihlKX0sbzpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5yb3VuZCh0KS50b1N0cmluZyg4KX0scDpmdW5jdGlvbih0LGUpe3JldHVybiBHNSgxMDAqdCxlKX0scjpHNSxzOmZ1bmN0aW9uIFk1KHQsZSl7dmFyIG49QjUodCxlKTtpZighbilyZXR1cm4gdCsiIjt2YXIgaT1uWzBdLHI9blsxXSxvPXItKEY1PTMqTWF0aC5tYXgoLTgsTWF0aC5taW4oOCxNYXRoLmZsb29yKHIvMykpKSkrMSxhPWkubGVuZ3RoO3JldHVybiBvPT09YT9pOm8+YT9pK25ldyBBcnJheShvLWErMSkuam9pbigiMCIpOm8+MD9pLnNsaWNlKDAsbykrIi4iK2kuc2xpY2Uobyk6IjAuIituZXcgQXJyYXkoMS1vKS5qb2luKCIwIikrQjUodCxNYXRoLm1heCgwLGUrby0xKSlbMF19LFg6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCl9LHg6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpfX07ZnVuY3Rpb24gWDUodCl7cmV0dXJuIHR9dmFyICQ1LEs1LFo1LEo1PUFycmF5LnByb3RvdHlwZS5tYXAsUTU9WyJ5IiwieiIsImEiLCJmIiwicCIsIm4iLCLCtSIsIm0iLCIiLCJrIiwiTSIsIkciLCJUIiwiUCIsIkUiLCJaIiwiWSJdO2Z1bmN0aW9uIHQzKHQpe3ZhciBlPXZvaWQgMD09PXQuZ3JvdXBpbmd8fHZvaWQgMD09PXQudGhvdXNhbmRzP1g1OihmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSl7Zm9yKHZhciByPW4ubGVuZ3RoLG89W10sYT0wLHM9dFswXSxsPTA7cj4wJiZzPjAmJihsK3MrMT5pJiYocz1NYXRoLm1heCgxLGktbCkpLG8ucHVzaChuLnN1YnN0cmluZyhyLT1zLHIrcykpLCEoKGwrPXMrMSk+aSkpOylzPXRbYT0oYSsxKSV0Lmxlbmd0aF07cmV0dXJuIG8ucmV2ZXJzZSgpLmpvaW4oZSl9fSkoSjUuY2FsbCh0Lmdyb3VwaW5nLE51bWJlciksdC50aG91c2FuZHMrIiIpLGk9dm9pZCAwPT09dC5jdXJyZW5jeT8iIjp0LmN1cnJlbmN5WzBdKyIiLHI9dm9pZCAwPT09dC5jdXJyZW5jeT8iIjp0LmN1cnJlbmN5WzFdKyIiLG89dm9pZCAwPT09dC5kZWNpbWFsPyIuIjp0LmRlY2ltYWwrIiIsYT12b2lkIDA9PT10Lm51bWVyYWxzP1g1OihmdW5jdGlvbiBzKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC9bMC05XS9nLChmdW5jdGlvbihlKXtyZXR1cm4gdFsrZV19KSl9fSkoSjUuY2FsbCh0Lm51bWVyYWxzLFN0cmluZykpLGw9dm9pZCAwPT09dC5wZXJjZW50PyIlIjp0LnBlcmNlbnQrIiIsYz12b2lkIDA9PT10Lm1pbnVzPyItIjp0Lm1pbnVzKyIiLHU9dm9pZCAwPT09dC5uYW4/Ik5hTiI6dC5uYW4rIiI7ZnVuY3Rpb24gaCh0KXt2YXIgbj0odD1VNSh0KSkuZmlsbCxzPXQuYWxpZ24saD10LnNpZ24sZD10LnN5bWJvbCxwPXQuemVybyxmPXQud2lkdGgsbT10LmNvbW1hLGc9dC5wcmVjaXNpb24sXz10LnRyaW0seT10LnR5cGU7Im4iPT09eT8obT0hMCx5PSJnIik6VzVbeV18fCh2b2lkIDA9PT1nJiYoZz0xMiksXz0hMCx5PSJnIiksKHB8fCIwIj09PW4mJiI9Ij09PXMpJiYocD0hMCxuPSIwIixzPSI9Iik7dmFyIHY9IiQiPT09ZD9pOiIjIj09PWQmJi9bYm94WF0vLnRlc3QoeSk/IjAiK3kudG9Mb3dlckNhc2UoKToiIixiPSIkIj09PWQ/cjovWyVwXS8udGVzdCh5KT9sOiIiLHg9VzVbeV0sdz0vW2RlZmdwcnMlXS8udGVzdCh5KTtmdW5jdGlvbiBTKHQpe3ZhciBpLHIsbCxkPXYsUz1iO2lmKCJjIj09PXkpUz14KHQpK1MsdD0iIjtlbHNle3ZhciBNPSh0PSt0KTwwfHwxL3Q8MDtpZih0PWlzTmFOKHQpP3U6eChNYXRoLmFicyh0KSxnKSxfJiYodD0oZnVuY3Rpb24gRSh0KXt0OmZvcih2YXIgZSxuPXQubGVuZ3RoLGk9MSxyPS0xO2k8bjsrK2kpc3dpdGNoKHRbaV0pe2Nhc2UiLiI6cj1lPWk7YnJlYWs7Y2FzZSIwIjowPT09ciYmKHI9aSksZT1pO2JyZWFrO2RlZmF1bHQ6aWYoISt0W2ldKWJyZWFrIHQ7cj4wJiYocj0wKX1yZXR1cm4gcj4wP3Quc2xpY2UoMCxyKSt0LnNsaWNlKGUrMSk6dH0pKHQpKSxNJiYwPT0rdCYmIisiIT09aCYmKE09ITEpLGQ9KE0/IigiPT09aD9oOmM6Ii0iPT09aHx8IigiPT09aD8iIjpoKStkLFM9KCJzIj09PXk/UTVbOCtGNS8zXToiIikrUysoTSYmIigiPT09aD8iKSI6IiIpLHcpZm9yKGk9LTEscj10Lmxlbmd0aDsrK2k8cjspaWYoNDg+KGw9dC5jaGFyQ29kZUF0KGkpKXx8bD41Nyl7Uz0oNDY9PT1sP28rdC5zbGljZShpKzEpOnQuc2xpY2UoaSkpK1MsdD10LnNsaWNlKDAsaSk7YnJlYWt9fW0mJiFwJiYodD1lKHQsMS8wKSk7dmFyIFQ9ZC5sZW5ndGgrdC5sZW5ndGgrUy5sZW5ndGgsQz1UPGY/bmV3IEFycmF5KGYtVCsxKS5qb2luKG4pOiIiO3N3aXRjaChtJiZwJiYodD1lKEMrdCxDLmxlbmd0aD9mLVMubGVuZ3RoOjEvMCksQz0iIikscyl7Y2FzZSI8Ijp0PWQrdCtTK0M7YnJlYWs7Y2FzZSI9Ijp0PWQrQyt0K1M7YnJlYWs7Y2FzZSJeIjp0PUMuc2xpY2UoMCxUPUMubGVuZ3RoPj4xKStkK3QrUytDLnNsaWNlKFQpO2JyZWFrO2RlZmF1bHQ6dD1DK2QrdCtTfXJldHVybiBhKHQpfXJldHVybiBnPXZvaWQgMD09PWc/NjovW2dwcnNdLy50ZXN0KHkpP01hdGgubWF4KDEsTWF0aC5taW4oMjEsZykpOk1hdGgubWF4KDAsTWF0aC5taW4oMjAsZykpLFMudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdCsiIn0sU31yZXR1cm57Zm9ybWF0OmgsZm9ybWF0UHJlZml4OmZ1bmN0aW9uIGQodCxlKXt2YXIgbj1oKCgodD1VNSh0KSkudHlwZT0iZiIsdCkpLGk9MypNYXRoLm1heCgtOCxNYXRoLm1pbig4LE1hdGguZmxvb3IoSDUoZSkvMykpKSxyPU1hdGgucG93KDEwLC1pKSxvPVE1WzgraS8zXTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG4ocip0KStvfX19fWZ1bmN0aW9uIGUzKHQsZSxuKXt2YXIgaSxyPXRbMF0sbz10W3QubGVuZ3RoLTFdLGE9YTIocixvLG51bGw9PWU/MTA6ZSk7c3dpdGNoKChuPVU1KG51bGw9PW4/IixmIjpuKSkudHlwZSl7Y2FzZSJzIjp2YXIgcz1NYXRoLm1heChNYXRoLmFicyhyKSxNYXRoLmFicyhvKSk7cmV0dXJuIG51bGwhPW4ucHJlY2lzaW9ufHxpc05hTihpPShmdW5jdGlvbiBsKHQsZSl7cmV0dXJuIE1hdGgubWF4KDAsMypNYXRoLm1heCgtOCxNYXRoLm1pbig4LE1hdGguZmxvb3IoSDUoZSkvMykpKS1INShNYXRoLmFicyh0KSkpfSkoYSxzKSl8fChuLnByZWNpc2lvbj1pKSxaNShuLHMpO2Nhc2UiIjpjYXNlImUiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlInIiOm51bGwhPW4ucHJlY2lzaW9ufHxpc05hTihpPShmdW5jdGlvbiBjKHQsZSl7cmV0dXJuIHQ9TWF0aC5hYnModCksZT1NYXRoLmFicyhlKS10LE1hdGgubWF4KDAsSDUoZSktSDUodCkpKzF9KShhLE1hdGgubWF4KE1hdGguYWJzKHIpLE1hdGguYWJzKG8pKSkpfHwobi5wcmVjaXNpb249aS0oImUiPT09bi50eXBlKSk7YnJlYWs7Y2FzZSJmIjpjYXNlIiUiOm51bGwhPW4ucHJlY2lzaW9ufHxpc05hTihpPShmdW5jdGlvbiB1KHQpe3JldHVybiBNYXRoLm1heCgwLC1INShNYXRoLmFicyh0KSkpfSkoYSkpfHwobi5wcmVjaXNpb249aS0yKigiJSI9PT1uLnR5cGUpKX1yZXR1cm4gSzUobil9ZnVuY3Rpb24gbjModCl7dmFyIGU9dC5kb21haW47cmV0dXJuIHQudGlja3M9ZnVuY3Rpb24odCl7dmFyIG49ZSgpO3JldHVybiByMihuWzBdLG5bbi5sZW5ndGgtMV0sbnVsbD09dD8xMDp0KX0sdC50aWNrRm9ybWF0PWZ1bmN0aW9uKHQsbil7cmV0dXJuIGUzKGUoKSx0LG4pfSx0Lm5pY2U9ZnVuY3Rpb24obil7bnVsbD09biYmKG49MTApO3ZhciBpLHI9ZSgpLG89MCxhPXIubGVuZ3RoLTEscz1yW29dLGw9clthXTtyZXR1cm4gbDxzJiYoaT1zLHM9bCxsPWksaT1vLG89YSxhPWkpLChpPW8yKHMsbCxuKSk+MD9pPW8yKHM9TWF0aC5mbG9vcihzL2kpKmksbD1NYXRoLmNlaWwobC9pKSppLG4pOmk8MCYmKGk9bzIocz1NYXRoLmNlaWwocyppKS9pLGw9TWF0aC5mbG9vcihsKmkpL2ksbikpLGk+MD8ocltvXT1NYXRoLmZsb29yKHMvaSkqaSxyW2FdPU1hdGguY2VpbChsL2kpKmksZShyKSk6aTwwJiYocltvXT1NYXRoLmNlaWwocyppKS9pLHJbYV09TWF0aC5mbG9vcihsKmkpL2ksZShyKSksdH0sdH1mdW5jdGlvbiBpMyh0LGUpe3ZhciBuLGk9MCxyPSh0PXQuc2xpY2UoKSkubGVuZ3RoLTEsbz10W2ldLGE9dFtyXTtyZXR1cm4gYTxvJiYobj1pLGk9cixyPW4sbj1vLG89YSxhPW4pLHRbaV09ZS5mbG9vcihvKSx0W3JdPWUuY2VpbChhKSx0fWZ1bmN0aW9uIHIzKHQsZSl7cmV0dXJuKGU9TWF0aC5sb2coZS90KSk/ZnVuY3Rpb24obil7cmV0dXJuIE1hdGgubG9nKG4vdCkvZX06TDUoZSl9ZnVuY3Rpb24gbzModCxlKXtyZXR1cm4gdDwwP2Z1bmN0aW9uKG4pe3JldHVybi1NYXRoLnBvdygtZSxuKSpNYXRoLnBvdygtdCwxLW4pfTpmdW5jdGlvbihuKXtyZXR1cm4gTWF0aC5wb3coZSxuKSpNYXRoLnBvdyh0LDEtbil9fWZ1bmN0aW9uIGEzKHQpe3JldHVybiBpc0Zpbml0ZSh0KT8rKCIxZSIrdCk6dDwwPzA6dH1mdW5jdGlvbiBzMyh0KXtyZXR1cm4gMTA9PT10P2EzOnQ9PT1NYXRoLkU/TWF0aC5leHA6ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgucG93KHQsZSl9fWZ1bmN0aW9uIGwzKHQpe3JldHVybiB0PT09TWF0aC5FP01hdGgubG9nOjEwPT09dCYmTWF0aC5sb2cxMHx8Mj09PXQmJk1hdGgubG9nMnx8KHQ9TWF0aC5sb2codCksZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgubG9nKGUpL3R9KX1mdW5jdGlvbiBjMyh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuLXQoLWUpfX1mdW5jdGlvbiB1Myh0LGUpe3JldHVybiB0PDA/LU1hdGgucG93KC10LGUpOk1hdGgucG93KHQsZSl9ZnVuY3Rpb24gaDMoKXt2YXIgdD0xLGU9RDUoKGZ1bmN0aW9uIG4oZSxpKXtyZXR1cm4oaT11MyhpLHQpLShlPXUzKGUsdCkpKT9mdW5jdGlvbihuKXtyZXR1cm4odTMobix0KS1lKS9pfTpMNShpKX0pLChmdW5jdGlvbiBpKGUsbil7cmV0dXJuIG49dTMobix0KS0oZT11MyhlLHQpKSxmdW5jdGlvbihpKXtyZXR1cm4gdTMoZStuKmksMS90KX19KSkscj1lLmRvbWFpbjtyZXR1cm4gZS5leHBvbmVudD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rZSxyKHIoKSkpOnR9LGUuY29weT1mdW5jdGlvbigpe3JldHVybiB6NShlLGgzKCkuZXhwb25lbnQodCkpfSxuMyhlKX0hKGZ1bmN0aW9uIGQzKHQpe3JldHVybiAkNT10Myh0KSxLNT0kNS5mb3JtYXQsWjU9JDUuZm9ybWF0UHJlZml4LCQ1fSkoe2RlY2ltYWw6Ii4iLHRob3VzYW5kczoiLCIsZ3JvdXBpbmc6WzNdLGN1cnJlbmN5OlsiJCIsIiJdLG1pbnVzOiItIn0pO3ZhciBwMz1uZXcgRGF0ZSxmMz1uZXcgRGF0ZTtmdW5jdGlvbiBtMyh0LGUsbixpKXtmdW5jdGlvbiByKGUpe3JldHVybiB0KGU9MD09PWFyZ3VtZW50cy5sZW5ndGg/bmV3IERhdGU6bmV3IERhdGUoK2UpKSxlfXJldHVybiByLmZsb29yPWZ1bmN0aW9uKGUpe3JldHVybiB0KGU9bmV3IERhdGUoK2UpKSxlfSxyLmNlaWw9ZnVuY3Rpb24obil7cmV0dXJuIHQobj1uZXcgRGF0ZShuLTEpKSxlKG4sMSksdChuKSxufSxyLnJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXIodCksbj1yLmNlaWwodCk7cmV0dXJuIHQtZTxuLXQ/ZTpufSxyLm9mZnNldD1mdW5jdGlvbih0LG4pe3JldHVybiBlKHQ9bmV3IERhdGUoK3QpLG51bGw9PW4/MTpNYXRoLmZsb29yKG4pKSx0fSxyLnJhbmdlPWZ1bmN0aW9uKG4saSxvKXt2YXIgYSxzPVtdO2lmKG49ci5jZWlsKG4pLG89bnVsbD09bz8xOk1hdGguZmxvb3IobyksIShuPGkmJm8+MCkpcmV0dXJuIHM7ZG97cy5wdXNoKGE9bmV3IERhdGUoK24pKSxlKG4sbyksdChuKX13aGlsZShhPG4mJm48aSk7cmV0dXJuIHN9LHIuZmlsdGVyPWZ1bmN0aW9uKG4pe3JldHVybiBtMygoZnVuY3Rpb24oZSl7aWYoZT49ZSlmb3IoO3QoZSksIW4oZSk7KWUuc2V0VGltZShlLTEpfSksKGZ1bmN0aW9uKHQsaSl7aWYodD49dClpZihpPDApZm9yKDsrK2k8PTA7KWZvcig7ZSh0LC0xKSwhbih0KTspO2Vsc2UgZm9yKDstLWk+PTA7KWZvcig7ZSh0LDEpLCFuKHQpOyk7fSkpfSxuJiYoci5jb3VudD1mdW5jdGlvbihlLGkpe3JldHVybiBwMy5zZXRUaW1lKCtlKSxmMy5zZXRUaW1lKCtpKSx0KHAzKSx0KGYzKSxNYXRoLmZsb29yKG4ocDMsZjMpKX0sci5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP3IuZmlsdGVyKGk/ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSkldD09MH06ZnVuY3Rpb24oZSl7cmV0dXJuIHIuY291bnQoMCxlKSV0PT0wfSk6cjpudWxsfSkscn12YXIgZzM9bTMoKGZ1bmN0aW9uKCl7fSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUtdH0pKTtnMy5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP20zKChmdW5jdGlvbihlKXtlLnNldFRpbWUoTWF0aC5mbG9vcihlL3QpKnQpfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRUaW1lKCtlK24qdCl9KSwoZnVuY3Rpb24oZSxuKXtyZXR1cm4obi1lKS90fSkpOmczOm51bGx9O3ZhciBfMz1nMyx5Mz0xZTMsdjM9NmU0LGIzPTM2ZTUseDM9ODY0ZTUsdzM9NjA0OGU1LFMzPW0zKChmdW5jdGlvbih0KXt0LnNldFRpbWUodC10LmdldE1pbGxpc2Vjb25kcygpKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VGltZSgrdCtlKnkzKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL3kzfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ1NlY29uZHMoKX0pKSxNMz1tMygoZnVuY3Rpb24odCl7dC5zZXRUaW1lKHQtdC5nZXRNaWxsaXNlY29uZHMoKS10LmdldFNlY29uZHMoKSp5Myl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFRpbWUoK3QrZSp2Myl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS92M30pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRNaW51dGVzKCl9KSksRTM9bTMoKGZ1bmN0aW9uKHQpe3Quc2V0VGltZSh0LXQuZ2V0TWlsbGlzZWNvbmRzKCktdC5nZXRTZWNvbmRzKCkqeTMtdC5nZXRNaW51dGVzKCkqdjMpfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqYjMpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvYjN9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0SG91cnMoKX0pKSxUMz1tMygoZnVuY3Rpb24odCl7dC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RGF0ZSh0LmdldERhdGUoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQtKGUuZ2V0VGltZXpvbmVPZmZzZXQoKS10LmdldFRpbWV6b25lT2Zmc2V0KCkpKnYzKS94M30pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXREYXRlKCktMX0pKTtmdW5jdGlvbiBDMyh0KXtyZXR1cm4gbTMoKGZ1bmN0aW9uKGUpe2Uuc2V0RGF0ZShlLmdldERhdGUoKS0oZS5nZXREYXkoKSs3LXQpJTcpLGUuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldERhdGUodC5nZXREYXRlKCkrNyplKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQtKGUuZ2V0VGltZXpvbmVPZmZzZXQoKS10LmdldFRpbWV6b25lT2Zmc2V0KCkpKnYzKS93M30pKX12YXIgQTM9QzMoMCksazM9QzMoMSk7QzMoMiksQzMoMyk7dmFyIEwzPUMzKDQpO0MzKDUpLEMzKDYpO3ZhciBQMz1tMygoZnVuY3Rpb24odCl7dC5zZXREYXRlKDEpLHQuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldE1vbnRoKHQuZ2V0TW9udGgoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLmdldE1vbnRoKCktdC5nZXRNb250aCgpKzEyKihlLmdldEZ1bGxZZWFyKCktdC5nZXRGdWxsWWVhcigpKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRNb250aCgpfSkpLE4zPW0zKChmdW5jdGlvbih0KXt0LnNldE1vbnRoKDAsMSksdC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0RnVsbFllYXIoKS10LmdldEZ1bGxZZWFyKCl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0RnVsbFllYXIoKX0pKTtOMy5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gaXNGaW5pdGUodD1NYXRoLmZsb29yKHQpKSYmdD4wP20zKChmdW5jdGlvbihlKXtlLnNldEZ1bGxZZWFyKE1hdGguZmxvb3IoZS5nZXRGdWxsWWVhcigpL3QpKnQpLGUuc2V0TW9udGgoMCwxKSxlLnNldEhvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRGdWxsWWVhcihlLmdldEZ1bGxZZWFyKCkrbip0KX0pKTpudWxsfTt2YXIgSTM9TjMsUjM9bTMoKGZ1bmN0aW9uKHQpe3Quc2V0VVRDU2Vjb25kcygwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqdjMpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvdjN9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDTWludXRlcygpfSkpLE8zPW0zKChmdW5jdGlvbih0KXt0LnNldFVUQ01pbnV0ZXMoMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqYjMpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvYjN9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDSG91cnMoKX0pKSx6Mz1tMygoZnVuY3Rpb24odCl7dC5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VVRDRGF0ZSh0LmdldFVUQ0RhdGUoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL3gzfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ0RhdGUoKS0xfSkpO2Z1bmN0aW9uIEQzKHQpe3JldHVybiBtMygoZnVuY3Rpb24oZSl7ZS5zZXRVVENEYXRlKGUuZ2V0VVRDRGF0ZSgpLShlLmdldFVUQ0RheSgpKzctdCklNyksZS5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VVRDRGF0ZSh0LmdldFVUQ0RhdGUoKSs3KmUpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvdzN9KSl9dmFyIEIzPUQzKDApLEgzPUQzKDEpO0QzKDIpLEQzKDMpO3ZhciBGMz1EMyg0KTtEMyg1KSxEMyg2KTt2YXIgVjM9bTMoKGZ1bmN0aW9uKHQpe3Quc2V0VVRDRGF0ZSgxKSx0LnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRVVENNb250aCh0LmdldFVUQ01vbnRoKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5nZXRVVENNb250aCgpLXQuZ2V0VVRDTW9udGgoKSsxMiooZS5nZXRVVENGdWxsWWVhcigpLXQuZ2V0VVRDRnVsbFllYXIoKSl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDTW9udGgoKX0pKSxVMz1tMygoZnVuY3Rpb24odCl7dC5zZXRVVENNb250aCgwLDEpLHQuc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ0Z1bGxZZWFyKHQuZ2V0VVRDRnVsbFllYXIoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLmdldFVUQ0Z1bGxZZWFyKCktdC5nZXRVVENGdWxsWWVhcigpfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ0Z1bGxZZWFyKCl9KSk7VTMuZXZlcnk9ZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9TWF0aC5mbG9vcih0KSkmJnQ+MD9tMygoZnVuY3Rpb24oZSl7ZS5zZXRVVENGdWxsWWVhcihNYXRoLmZsb29yKGUuZ2V0VVRDRnVsbFllYXIoKS90KSp0KSxlLnNldFVUQ01vbnRoKDAsMSksZS5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbihlLG4pe2Uuc2V0VVRDRnVsbFllYXIoZS5nZXRVVENGdWxsWWVhcigpK24qdCl9KSk6bnVsbH07dmFyIGozPVUzO2Z1bmN0aW9uIEczKHQpe2lmKDA8PXQueSYmdC55PDEwMCl7dmFyIGU9bmV3IERhdGUoLTEsdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpO3JldHVybiBlLnNldEZ1bGxZZWFyKHQueSksZX1yZXR1cm4gbmV3IERhdGUodC55LHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKX1mdW5jdGlvbiBXMyh0KXtpZigwPD10LnkmJnQueTwxMDApe3ZhciBlPW5ldyBEYXRlKERhdGUuVVRDKC0xLHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKSk7cmV0dXJuIGUuc2V0VVRDRnVsbFllYXIodC55KSxlfXJldHVybiBuZXcgRGF0ZShEYXRlLlVUQyh0LnksdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpKX1mdW5jdGlvbiBxMyh0LGUsbil7cmV0dXJue3k6dCxtOmUsZDpuLEg6MCxNOjAsUzowLEw6MH19dmFyIFkzLFgzLCQzLEszPXsiLSI6IiIsXzoiICIsMDoiMCJ9LFozPS9eXHMqXGQrLyxKMz0vXiUvLFEzPS9bXFxeJCorP3xbXF0oKS57fV0vZztmdW5jdGlvbiB0NCh0LGUsbil7dmFyIGk9dDwwPyItIjoiIixyPShpPy10OnQpKyIiLG89ci5sZW5ndGg7cmV0dXJuIGkrKG88bj9uZXcgQXJyYXkobi1vKzEpLmpvaW4oZSkrcjpyKX1mdW5jdGlvbiBlNCh0KXtyZXR1cm4gdC5yZXBsYWNlKFEzLCJcXCQmIil9ZnVuY3Rpb24gbjQodCl7cmV0dXJuIG5ldyBSZWdFeHAoIl4oPzoiK3QubWFwKGU0KS5qb2luKCJ8IikrIikiLCJpIil9ZnVuY3Rpb24gaTQodCl7Zm9yKHZhciBlPXt9LG49LTEsaT10Lmxlbmd0aDsrK248aTspZVt0W25dLnRvTG93ZXJDYXNlKCldPW47cmV0dXJuIGV9ZnVuY3Rpb24gcjQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rMSkpO3JldHVybiBpPyh0Lnc9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gbzQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rMSkpO3JldHVybiBpPyh0LnU9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gYTQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0LlU9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gczQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0LlY9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gbDQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0Llc9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gYzQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rNCkpO3JldHVybiBpPyh0Lnk9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gdTQodCxlLG4pe3ZhciBpPVozLmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0Lnk9K2lbMF0rKCtpWzBdPjY4PzE5MDA6MmUzKSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBoNCh0LGUsbil7dmFyIGk9L14oWil8KFsrLV1cZFxkKSg/Ojo/KFxkXGQpKT8vLmV4ZWMoZS5zbGljZShuLG4rNikpO3JldHVybiBpPyh0Llo9aVsxXT8wOi0oaVsyXSsoaVszXXx8IjAwIikpLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGQ0KHQsZSxuKXt2YXIgaT1aMy5leGVjKGUuc2xpY2UobixuKzEpKTtyZXR1cm4gaT8odC5xPTMqaVswXS0zLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHA0KHQsZSxuKXt2YXIgaT1aMy5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5tPWlbMF0tMSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBmNCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuZD0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBtNCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbiszKSk7cmV0dXJuIGk/KHQubT0wLHQuZD0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBnNCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuSD0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBfNCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuTT0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB5NCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuUz0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB2NCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbiszKSk7cmV0dXJuIGk/KHQuTD0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBiNCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4sbis2KSk7cmV0dXJuIGk/KHQuTD1NYXRoLmZsb29yKGlbMF0vMWUzKSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB4NCh0LGUsbil7dmFyIGk9SjMuZXhlYyhlLnNsaWNlKG4sbisxKSk7cmV0dXJuIGk/bitpWzBdLmxlbmd0aDotMX1mdW5jdGlvbiB3NCh0LGUsbil7dmFyIGk9WjMuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC5RPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIFM0KHQsZSxuKXt2YXIgaT1aMy5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0LnM9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gTTQodCxlKXtyZXR1cm4gdDQodC5nZXREYXRlKCksZSwyKX1mdW5jdGlvbiBFNCh0LGUpe3JldHVybiB0NCh0LmdldEhvdXJzKCksZSwyKX1mdW5jdGlvbiBUNCh0LGUpe3JldHVybiB0NCh0LmdldEhvdXJzKCklMTJ8fDEyLGUsMil9ZnVuY3Rpb24gQzQodCxlKXtyZXR1cm4gdDQoMStUMy5jb3VudChJMyh0KSx0KSxlLDMpfWZ1bmN0aW9uIEE0KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0TWlsbGlzZWNvbmRzKCksZSwzKX1mdW5jdGlvbiBrNCh0LGUpe3JldHVybiBBNCh0LGUpKyIwMDAifWZ1bmN0aW9uIEw0KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0TW9udGgoKSsxLGUsMil9ZnVuY3Rpb24gUDQodCxlKXtyZXR1cm4gdDQodC5nZXRNaW51dGVzKCksZSwyKX1mdW5jdGlvbiBONCh0LGUpe3JldHVybiB0NCh0LmdldFNlY29uZHMoKSxlLDIpfWZ1bmN0aW9uIEk0KHQpe3ZhciBlPXQuZ2V0RGF5KCk7cmV0dXJuIDA9PT1lPzc6ZX1mdW5jdGlvbiBSNCh0LGUpe3JldHVybiB0NChBMy5jb3VudChJMyh0KS0xLHQpLGUsMil9ZnVuY3Rpb24gTzQodCl7dmFyIGU9dC5nZXREYXkoKTtyZXR1cm4gZT49NHx8MD09PWU/TDModCk6TDMuY2VpbCh0KX1mdW5jdGlvbiB6NCh0LGUpe3JldHVybiB0PU80KHQpLHQ0KEwzLmNvdW50KEkzKHQpLHQpKyg0PT09STModCkuZ2V0RGF5KCkpLGUsMil9ZnVuY3Rpb24gRDQodCl7cmV0dXJuIHQuZ2V0RGF5KCl9ZnVuY3Rpb24gQjQodCxlKXtyZXR1cm4gdDQoazMuY291bnQoSTModCktMSx0KSxlLDIpfWZ1bmN0aW9uIEg0KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0RnVsbFllYXIoKSUxMDAsZSwyKX1mdW5jdGlvbiBGNCh0LGUpe3JldHVybiB0NCgodD1PNCh0KSkuZ2V0RnVsbFllYXIoKSUxMDAsZSwyKX1mdW5jdGlvbiBWNCh0LGUpe3JldHVybiB0NCh0LmdldEZ1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gVTQodCxlKXt2YXIgbj10LmdldERheSgpO3JldHVybiB0NCgodD1uPj00fHwwPT09bj9MMyh0KTpMMy5jZWlsKHQpKS5nZXRGdWxsWWVhcigpJTFlNCxlLDQpfWZ1bmN0aW9uIGo0KHQpe3ZhciBlPXQuZ2V0VGltZXpvbmVPZmZzZXQoKTtyZXR1cm4oZT4wPyItIjooZSo9LTEsIisiKSkrdDQoZS82MHwwLCIwIiwyKSt0NChlJTYwLCIwIiwyKX1mdW5jdGlvbiBHNCh0LGUpe3JldHVybiB0NCh0LmdldFVUQ0RhdGUoKSxlLDIpfWZ1bmN0aW9uIFc0KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0VVRDSG91cnMoKSxlLDIpfWZ1bmN0aW9uIHE0KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0VVRDSG91cnMoKSUxMnx8MTIsZSwyKX1mdW5jdGlvbiBZNCh0LGUpe3JldHVybiB0NCgxK3ozLmNvdW50KGozKHQpLHQpLGUsMyl9ZnVuY3Rpb24gWDQodCxlKXtyZXR1cm4gdDQodC5nZXRVVENNaWxsaXNlY29uZHMoKSxlLDMpfWZ1bmN0aW9uICQ0KHQsZSl7cmV0dXJuIFg0KHQsZSkrIjAwMCJ9ZnVuY3Rpb24gSzQodCxlKXtyZXR1cm4gdDQodC5nZXRVVENNb250aCgpKzEsZSwyKX1mdW5jdGlvbiBaNCh0LGUpe3JldHVybiB0NCh0LmdldFVUQ01pbnV0ZXMoKSxlLDIpfWZ1bmN0aW9uIEo0KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0VVRDU2Vjb25kcygpLGUsMil9ZnVuY3Rpb24gUTQodCl7dmFyIGU9dC5nZXRVVENEYXkoKTtyZXR1cm4gMD09PWU/NzplfWZ1bmN0aW9uIHQ2KHQsZSl7cmV0dXJuIHQ0KEIzLmNvdW50KGozKHQpLTEsdCksZSwyKX1mdW5jdGlvbiBlNih0KXt2YXIgZT10LmdldFVUQ0RheSgpO3JldHVybiBlPj00fHwwPT09ZT9GMyh0KTpGMy5jZWlsKHQpfWZ1bmN0aW9uIG42KHQsZSl7cmV0dXJuIHQ9ZTYodCksdDQoRjMuY291bnQoajModCksdCkrKDQ9PT1qMyh0KS5nZXRVVENEYXkoKSksZSwyKX1mdW5jdGlvbiBpNih0KXtyZXR1cm4gdC5nZXRVVENEYXkoKX1mdW5jdGlvbiByNih0LGUpe3JldHVybiB0NChIMy5jb3VudChqMyh0KS0xLHQpLGUsMil9ZnVuY3Rpb24gbzYodCxlKXtyZXR1cm4gdDQodC5nZXRVVENGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uIGE2KHQsZSl7cmV0dXJuIHQ0KCh0PWU2KHQpKS5nZXRVVENGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uIHM2KHQsZSl7cmV0dXJuIHQ0KHQuZ2V0VVRDRnVsbFllYXIoKSUxZTQsZSw0KX1mdW5jdGlvbiBsNih0LGUpe3ZhciBuPXQuZ2V0VVRDRGF5KCk7cmV0dXJuIHQ0KCh0PW4+PTR8fDA9PT1uP0YzKHQpOkYzLmNlaWwodCkpLmdldFVUQ0Z1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gYzYoKXtyZXR1cm4iKzAwMDAifWZ1bmN0aW9uIHU2KCl7cmV0dXJuIiUifWZ1bmN0aW9uIGg2KHQpe3JldHVybit0fWZ1bmN0aW9uIGQ2KHQpe3JldHVybiBNYXRoLmZsb29yKCt0LzFlMyl9IShmdW5jdGlvbiBwNih0KXtyZXR1cm4gWTM9KGZ1bmN0aW9uIGUodCl7dmFyIGU9dC5kYXRlVGltZSxuPXQuZGF0ZSxpPXQudGltZSxyPXQucGVyaW9kcyxvPXQuZGF5cyxhPXQuc2hvcnREYXlzLHM9dC5tb250aHMsbD10LnNob3J0TW9udGhzLGM9bjQociksdT1pNChyKSxoPW40KG8pLGQ9aTQobykscD1uNChhKSxmPWk0KGEpLG09bjQocyksZz1pNChzKSxfPW40KGwpLHk9aTQobCksdj17YTpmdW5jdGlvbiBiKHQpe3JldHVybiBhW3QuZ2V0RGF5KCldfSxBOmZ1bmN0aW9uIHgodCl7cmV0dXJuIG9bdC5nZXREYXkoKV19LGI6ZnVuY3Rpb24gdyh0KXtyZXR1cm4gbFt0LmdldE1vbnRoKCldfSxCOmZ1bmN0aW9uIFModCl7cmV0dXJuIHNbdC5nZXRNb250aCgpXX0sYzpudWxsLGQ6TTQsZTpNNCxmOms0LGc6RjQsRzpVNCxIOkU0LEk6VDQsajpDNCxMOkE0LG06TDQsTTpQNCxwOmZ1bmN0aW9uIE0odCl7cmV0dXJuIHJbKyh0LmdldEhvdXJzKCk+PTEyKV19LHE6ZnVuY3Rpb24gRSh0KXtyZXR1cm4gMSt+fih0LmdldE1vbnRoKCkvMyl9LFE6aDYsczpkNixTOk40LHU6STQsVTpSNCxWOno0LHc6RDQsVzpCNCx4Om51bGwsWDpudWxsLHk6SDQsWTpWNCxaOmo0LCIlIjp1Nn0sVD17YTpmdW5jdGlvbiBDKHQpe3JldHVybiBhW3QuZ2V0VVRDRGF5KCldfSxBOmZ1bmN0aW9uIEEodCl7cmV0dXJuIG9bdC5nZXRVVENEYXkoKV19LGI6ZnVuY3Rpb24gayh0KXtyZXR1cm4gbFt0LmdldFVUQ01vbnRoKCldfSxCOmZ1bmN0aW9uIEwodCl7cmV0dXJuIHNbdC5nZXRVVENNb250aCgpXX0sYzpudWxsLGQ6RzQsZTpHNCxmOiQ0LGc6YTYsRzpsNixIOlc0LEk6cTQsajpZNCxMOlg0LG06SzQsTTpaNCxwOmZ1bmN0aW9uIFAodCl7cmV0dXJuIHJbKyh0LmdldFVUQ0hvdXJzKCk+PTEyKV19LHE6ZnVuY3Rpb24gTih0KXtyZXR1cm4gMSt+fih0LmdldFVUQ01vbnRoKCkvMyl9LFE6aDYsczpkNixTOko0LHU6UTQsVTp0NixWOm42LHc6aTYsVzpyNix4Om51bGwsWDpudWxsLHk6bzYsWTpzNixaOmM2LCIlIjp1Nn0sST17YTpmdW5jdGlvbiBSKHQsZSxuKXt2YXIgaT1wLmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIGk/KHQudz1mW2lbMF0udG9Mb3dlckNhc2UoKV0sbitpWzBdLmxlbmd0aCk6LTF9LEE6ZnVuY3Rpb24gTyh0LGUsbil7dmFyIGk9aC5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0Lnc9ZFtpWzBdLnRvTG93ZXJDYXNlKCldLG4raVswXS5sZW5ndGgpOi0xfSxiOmZ1bmN0aW9uIHoodCxlLG4pe3ZhciBpPV8uZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC5tPXlbaVswXS50b0xvd2VyQ2FzZSgpXSxuK2lbMF0ubGVuZ3RoKTotMX0sQjpmdW5jdGlvbiBEKHQsZSxuKXt2YXIgaT1tLmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIGk/KHQubT1nW2lbMF0udG9Mb3dlckNhc2UoKV0sbitpWzBdLmxlbmd0aCk6LTF9LGM6ZnVuY3Rpb24gQih0LG4saSl7cmV0dXJuIEcodCxlLG4saSl9LGQ6ZjQsZTpmNCxmOmI0LGc6dTQsRzpjNCxIOmc0LEk6ZzQsajptNCxMOnY0LG06cDQsTTpfNCxwOmZ1bmN0aW9uIEgodCxlLG4pe3ZhciBpPWMuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC5wPXVbaVswXS50b0xvd2VyQ2FzZSgpXSxuK2lbMF0ubGVuZ3RoKTotMX0scTpkNCxROnc0LHM6UzQsUzp5NCx1Om80LFU6YTQsVjpzNCx3OnI0LFc6bDQseDpmdW5jdGlvbiBGKHQsZSxpKXtyZXR1cm4gRyh0LG4sZSxpKX0sWDpmdW5jdGlvbiBWKHQsZSxuKXtyZXR1cm4gRyh0LGksZSxuKX0seTp1NCxZOmM0LFo6aDQsIiUiOng0fTtmdW5jdGlvbiBVKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBpLHIsbyxhPVtdLHM9LTEsbD0wLGM9dC5sZW5ndGg7Zm9yKG4gaW5zdGFuY2VvZiBEYXRlfHwobj1uZXcgRGF0ZSgrbikpOysrczxjOykzNz09PXQuY2hhckNvZGVBdChzKSYmKGEucHVzaCh0LnNsaWNlKGwscykpLG51bGwhPShyPUszW2k9dC5jaGFyQXQoKytzKV0pP2k9dC5jaGFyQXQoKytzKTpyPSJlIj09PWk/IiAiOiIwIiwobz1lW2ldKSYmKGk9byhuLHIpKSxhLnB1c2goaSksbD1zKzEpO3JldHVybiBhLnB1c2godC5zbGljZShsLHMpKSxhLmpvaW4oIiIpfX1mdW5jdGlvbiBqKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBpLHIsbz1xMygxOTAwLHZvaWQgMCwxKTtpZihHKG8sdCxuKz0iIiwwKSE9bi5sZW5ndGgpcmV0dXJuIG51bGw7aWYoIlEiaW4gbylyZXR1cm4gbmV3IERhdGUoby5RKTtpZigicyJpbiBvKXJldHVybiBuZXcgRGF0ZSgxZTMqby5zKygiTCJpbiBvP28uTDowKSk7aWYoZSYmISgiWiJpbiBvKSYmKG8uWj0wKSwicCJpbiBvJiYoby5IPW8uSCUxMisxMipvLnApLHZvaWQgMD09PW8ubSYmKG8ubT0icSJpbiBvP28ucTowKSwiViJpbiBvKXtpZihvLlY8MXx8by5WPjUzKXJldHVybiBudWxsOyJ3ImluIG98fChvLnc9MSksIloiaW4gbz8ocj0oaT1XMyhxMyhvLnksMCwxKSkpLmdldFVUQ0RheSgpLGk9cj40fHwwPT09cj9IMy5jZWlsKGkpOkgzKGkpLGk9ejMub2Zmc2V0KGksNyooby5WLTEpKSxvLnk9aS5nZXRVVENGdWxsWWVhcigpLG8ubT1pLmdldFVUQ01vbnRoKCksby5kPWkuZ2V0VVRDRGF0ZSgpKyhvLncrNiklNyk6KHI9KGk9RzMocTMoby55LDAsMSkpKS5nZXREYXkoKSxpPXI+NHx8MD09PXI/azMuY2VpbChpKTprMyhpKSxpPVQzLm9mZnNldChpLDcqKG8uVi0xKSksby55PWkuZ2V0RnVsbFllYXIoKSxvLm09aS5nZXRNb250aCgpLG8uZD1pLmdldERhdGUoKSsoby53KzYpJTcpfWVsc2UoIlciaW4gb3x8IlUiaW4gbykmJigidyJpbiBvfHwoby53PSJ1ImluIG8/by51JTc6IlciaW4gbz8xOjApLHI9IloiaW4gbz9XMyhxMyhvLnksMCwxKSkuZ2V0VVRDRGF5KCk6RzMocTMoby55LDAsMSkpLmdldERheSgpLG8ubT0wLG8uZD0iVyJpbiBvPyhvLncrNiklNys3Km8uVy0ocis1KSU3Om8udys3Km8uVS0ocis2KSU3KTtyZXR1cm4iWiJpbiBvPyhvLkgrPW8uWi8xMDB8MCxvLk0rPW8uWiUxMDAsVzMobykpOkczKG8pfX1mdW5jdGlvbiBHKHQsZSxuLGkpe2Zvcih2YXIgcixvLGE9MCxzPWUubGVuZ3RoLGw9bi5sZW5ndGg7YTxzOyl7aWYoaT49bClyZXR1cm4tMTtpZigzNz09PShyPWUuY2hhckNvZGVBdChhKyspKSl7aWYocj1lLmNoYXJBdChhKyspLCEobz1JW3IgaW4gSzM/ZS5jaGFyQXQoYSsrKTpyXSl8fChpPW8odCxuLGkpKTwwKXJldHVybi0xfWVsc2UgaWYociE9bi5jaGFyQ29kZUF0KGkrKykpcmV0dXJuLTF9cmV0dXJuIGl9cmV0dXJuIHYueD1VKG4sdiksdi5YPVUoaSx2KSx2LmM9VShlLHYpLFQueD1VKG4sVCksVC5YPVUoaSxUKSxULmM9VShlLFQpLHtmb3JtYXQ6ZnVuY3Rpb24odCl7dmFyIGU9VSh0Kz0iIix2KTtyZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxlfSxwYXJzZTpmdW5jdGlvbih0KXt2YXIgZT1qKHQrPSIiLCExKTtyZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxlfSx1dGNGb3JtYXQ6ZnVuY3Rpb24odCl7dmFyIGU9VSh0Kz0iIixUKTtyZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxlfSx1dGNQYXJzZTpmdW5jdGlvbih0KXt2YXIgZT1qKHQrPSIiLCEwKTtyZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxlfX19KSh0KSxYMz1ZMy5mb3JtYXQsJDM9WTMudXRjRm9ybWF0LFkzfSkoe2RhdGVUaW1lOiIleCwgJVgiLGRhdGU6IiUtbS8lLWQvJVkiLHRpbWU6IiUtSTolTTolUyAlcCIscGVyaW9kczpbIkFNIiwiUE0iXSxkYXlzOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSxzaG9ydERheXM6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSxtb250aHM6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLHNob3J0TW9udGhzOlsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl19KTt2YXIgZjY9MWUzLG02PTZlNCxnNj0zNmU1LF82PTg2NGU1LHk2PTI1OTJlNix2Nj0zMTUzNmU2O2Z1bmN0aW9uIGI2KHQpe3JldHVybiBuZXcgRGF0ZSh0KX1mdW5jdGlvbiB4Nih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIERhdGU/K3Q6K25ldyBEYXRlKCt0KX1mdW5jdGlvbiB3Nih0LGUsbixpLHIsbyxhLHMsbCl7dmFyIGM9RDUoSTUsYjUpLHU9Yy5pbnZlcnQsaD1jLmRvbWFpbixkPWwoIi4lTCIpLHA9bCgiOiVTIiksZj1sKCIlSTolTSIpLG09bCgiJUkgJXAiKSxnPWwoIiVhICVkIiksXz1sKCIlYiAlZCIpLHk9bCgiJUIiKSx2PWwoIiVZIiksYj1bW2EsMSxmNl0sW2EsNSw1ZTNdLFthLDE1LDE1ZTNdLFthLDMwLDNlNF0sW28sMSxtNl0sW28sNSwzZTVdLFtvLDE1LDllNV0sW28sMzAsMThlNV0sW3IsMSxnNl0sW3IsMywxMDhlNV0sW3IsNiwyMTZlNV0sW3IsMTIsNDMyZTVdLFtpLDEsXzZdLFtpLDIsMTcyOGU1XSxbbiwxLDYwNDhlNV0sW2UsMSx5Nl0sW2UsMyw3Nzc2ZTZdLFt0LDEsdjZdXTtmdW5jdGlvbiB4KHMpe3JldHVybihhKHMpPHM/ZDpvKHMpPHM/cDpyKHMpPHM/ZjppKHMpPHM/bTplKHMpPHM/bihzKTxzP2c6Xzp0KHMpPHM/eTp2KShzKX1mdW5jdGlvbiB3KGUsbixpLHIpe2lmKG51bGw9PWUmJihlPTEwKSwibnVtYmVyIj09dHlwZW9mIGUpe3ZhciBvPU1hdGguYWJzKGktbikvZSxhPUowKChmdW5jdGlvbih0KXtyZXR1cm4gdFsyXX0pKS5yaWdodChiLG8pO2E9PT1iLmxlbmd0aD8ocj1hMihuL3Y2LGkvdjYsZSksZT10KTphPyhyPShhPWJbby9iW2EtMV1bMl08YlthXVsyXS9vP2EtMTphXSlbMV0sZT1hWzBdKToocj1NYXRoLm1heChhMihuLGksZSksMSksZT1zKX1yZXR1cm4gbnVsbD09cj9lOmUuZXZlcnkocil9cmV0dXJuIGMuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRGF0ZSh1KHQpKX0sYy5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/aChmMi5jYWxsKHQseDYpKTpoKCkubWFwKGI2KX0sYy50aWNrcz1mdW5jdGlvbih0LGUpe3ZhciBuLGk9aCgpLHI9aVswXSxvPWlbaS5sZW5ndGgtMV0sYT1vPHI7cmV0dXJuIGEmJihuPXIscj1vLG89biksbj0obj13KHQscixvLGUpKT9uLnJhbmdlKHIsbysxKTpbXSxhP24ucmV2ZXJzZSgpOm59LGMudGlja0Zvcm1hdD1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT1lP3g6bChlKX0sYy5uaWNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49aCgpO3JldHVybih0PXcodCxuWzBdLG5bbi5sZW5ndGgtMV0sZSkpP2goaTMobix0KSk6Y30sYy5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHo1KGMsdzYodCxlLG4saSxyLG8sYSxzLGwpKX0sY31mdW5jdGlvbiBTNih0KXtyZXR1cm4gdC5tYXRjaCgvLns2fS9nKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiIjIit0fSkpfXZhciBNNj1TNigiMWY3N2I0ZmY3ZjBlMmNhMDJjZDYyNzI4OTQ2N2JkOGM1NjRiZTM3N2MyN2Y3ZjdmYmNiZDIyMTdiZWNmIiksRTY9UzYoIjM5M2I3OTUyNTRhMzZiNmVjZjljOWVkZTYzNzkzOThjYTI1MmI1Y2Y2YmNlZGI5YzhjNmQzMWJkOWUzOWU3YmE1MmU3Y2I5NDg0M2MzOWFkNDk0YWQ2NjE2YmU3OTY5YzdiNDE3M2E1NTE5NGNlNmRiZGRlOWVkNiIpLFQ2PVM2KCIzMTgyYmQ2YmFlZDY5ZWNhZTFjNmRiZWZlNjU1MGRmZDhkM2NmZGFlNmJmZGQwYTIzMWEzNTQ3NGM0NzZhMWQ5OWJjN2U5YzA3NTZiYjE5ZTlhYzhiY2JkZGNkYWRhZWI2MzYzNjM5Njk2OTZiZGJkYmRkOWQ5ZDkiKSxDNj1TNigiMWY3N2I0YWVjN2U4ZmY3ZjBlZmZiYjc4MmNhMDJjOThkZjhhZDYyNzI4ZmY5ODk2OTQ2N2JkYzViMGQ1OGM1NjRiYzQ5Yzk0ZTM3N2MyZjdiNmQyN2Y3ZjdmYzdjN2M3YmNiZDIyZGJkYjhkMTdiZWNmOWVkYWU1IiksQTY9azUodTUoMzAwLC41LDApLHU1KC0yNDAsLjUsMSkpLGs2PWs1KHU1KC0xMDAsLjc1LC4zNSksdTUoODAsMS41LC44KSksTDY9azUodTUoMjYwLC43NSwuMzUpLHU1KDgwLDEuNSwuOCkpLFA2PXU1KCk7ZnVuY3Rpb24gTjYodCl7dmFyIGU9dC5sZW5ndGg7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0W01hdGgubWF4KDAsTWF0aC5taW4oZS0xLE1hdGguZmxvb3IobiplKSkpXX19dmFyIEk2PU42KFM2KCI0NDAxNTQ0NDAyNTY0NTA0NTc0NTA1NTk0NjA3NWE0NjA4NWM0NjBhNWQ0NjBiNWU0NzBkNjA0NzBlNjE0NzEwNjM0NzExNjQ0NzEzNjU0ODE0Njc0ODE2Njg0ODE3Njk0ODE4NmE0ODFhNmM0ODFiNmQ0ODFjNmU0ODFkNmY0ODFmNzA0ODIwNzE0ODIxNzM0ODIzNzQ0ODI0NzU0ODI1NzY0ODI2Nzc0ODI4Nzg0ODI5Nzk0NzJhN2E0NzJjN2E0NzJkN2I0NzJlN2M0NzJmN2Q0NjMwN2U0NjMyN2U0NjMzN2Y0NjM0ODA0NTM1ODE0NTM3ODE0NTM4ODI0NDM5ODM0NDNhODM0NDNiODQ0MzNkODQ0MzNlODU0MjNmODU0MjQwODY0MjQxODY0MTQyODc0MTQ0ODc0MDQ1ODg0MDQ2ODgzZjQ3ODgzZjQ4ODkzZTQ5ODkzZTRhODkzZTRjOGEzZDRkOGEzZDRlOGEzYzRmOGEzYzUwOGIzYjUxOGIzYjUyOGIzYTUzOGIzYTU0OGMzOTU1OGMzOTU2OGMzODU4OGMzODU5OGMzNzVhOGMzNzViOGQzNjVjOGQzNjVkOGQzNTVlOGQzNTVmOGQzNDYwOGQzNDYxOGQzMzYyOGQzMzYzOGQzMjY0OGUzMjY1OGUzMTY2OGUzMTY3OGUzMTY4OGUzMDY5OGUzMDZhOGUyZjZiOGUyZjZjOGUyZTZkOGUyZTZlOGUyZTZmOGUyZDcwOGUyZDcxOGUyYzcxOGUyYzcyOGUyYzczOGUyYjc0OGUyYjc1OGUyYTc2OGUyYTc3OGUyYTc4OGUyOTc5OGUyOTdhOGUyOTdiOGUyODdjOGUyODdkOGUyNzdlOGUyNzdmOGUyNzgwOGUyNjgxOGUyNjgyOGUyNjgyOGUyNTgzOGUyNTg0OGUyNTg1OGUyNDg2OGUyNDg3OGUyMzg4OGUyMzg5OGUyMzhhOGQyMjhiOGQyMjhjOGQyMjhkOGQyMThlOGQyMThmOGQyMTkwOGQyMTkxOGMyMDkyOGMyMDkyOGMyMDkzOGMxZjk0OGMxZjk1OGIxZjk2OGIxZjk3OGIxZjk4OGIxZjk5OGExZjlhOGExZTliOGExZTljODkxZTlkODkxZjllODkxZjlmODgxZmEwODgxZmExODgxZmExODcxZmEyODcyMGEzODYyMGE0ODYyMWE1ODUyMWE2ODUyMmE3ODUyMmE4ODQyM2E5ODMyNGFhODMyNWFiODIyNWFjODIyNmFkODEyN2FkODEyOGFlODAyOWFmN2YyYWIwN2YyY2IxN2UyZGIyN2QyZWIzN2MyZmI0N2MzMWI1N2IzMmI2N2EzNGI2NzkzNWI3NzkzN2I4NzgzOGI5NzczYWJhNzYzYmJiNzUzZGJjNzQzZmJjNzM0MGJkNzI0MmJlNzE0NGJmNzA0NmMwNmY0OGMxNmU0YWMxNmQ0Y2MyNmM0ZWMzNmI1MGM0NmE1MmM1Njk1NGM1Njg1NmM2Njc1OGM3NjU1YWM4NjQ1Y2M4NjM1ZWM5NjI2MGNhNjA2M2NiNWY2NWNiNWU2N2NjNWM2OWNkNWI2Y2NkNWE2ZWNlNTg3MGNmNTc3M2QwNTY3NWQwNTQ3N2QxNTM3YWQxNTE3Y2QyNTA3ZmQzNGU4MWQzNGQ4NGQ0NGI4NmQ1NDk4OWQ1NDg4YmQ2NDY4ZWQ2NDU5MGQ3NDM5M2Q3NDE5NWQ4NDA5OGQ4M2U5YmQ5M2M5ZGQ5M2JhMGRhMzlhMmRhMzdhNWRiMzZhOGRiMzRhYWRjMzJhZGRjMzBiMGRkMmZiMmRkMmRiNWRlMmJiOGRlMjliYWRlMjhiZGRmMjZjMGRmMjVjMmRmMjNjNWUwMjFjOGUwMjBjYWUxMWZjZGUxMWRkMGUxMWNkMmUyMWJkNWUyMWFkOGUyMTlkYWUzMTlkZGUzMThkZmUzMThlMmU0MThlNWU0MTllN2U0MTllYWU1MWFlY2U1MWJlZmU1MWNmMWU1MWRmNGU2MWVmNmU2MjBmOGU2MjFmYmU3MjNmZGU3MjUiKSksUjY9TjYoUzYoIjAwMDAwNDAxMDAwNTAxMDEwNjAxMDEwODAyMDEwOTAyMDIwYjAyMDIwZDAzMDMwZjAzMDMxMjA0MDQxNDA1MDQxNjA2MDUxODA2MDUxYTA3MDYxYzA4MDcxZTA5MDcyMDBhMDgyMjBiMDkyNDBjMDkyNjBkMGEyOTBlMGIyYjEwMGIyZDExMGMyZjEyMGQzMTEzMGQzNDE0MGUzNjE1MGUzODE2MGYzYjE4MGYzZDE5MTAzZjFhMTA0MjFjMTA0NDFkMTE0NzFlMTE0OTIwMTE0YjIxMTE0ZTIyMTE1MDI0MTI1MzI1MTI1NTI3MTI1ODI5MTE1YTJhMTE1YzJjMTE1ZjJkMTE2MTJmMTE2MzMxMTE2NTMzMTA2NzM0MTA2OTM2MTA2YjM4MTA2YzM5MGY2ZTNiMGY3MDNkMGY3MTNmMGY3MjQwMGY3NDQyMGY3NTQ0MGY3NjQ1MTA3NzQ3MTA3ODQ5MTA3ODRhMTA3OTRjMTE3YTRlMTE3YjRmMTI3YjUxMTI3YzUyMTM3YzU0MTM3ZDU2MTQ3ZDU3MTU3ZTU5MTU3ZTVhMTY3ZTVjMTY3ZjVkMTc3ZjVmMTg3ZjYwMTg4MDYyMTk4MDY0MWE4MDY1MWE4MDY3MWI4MDY4MWM4MTZhMWM4MTZiMWQ4MTZkMWQ4MTZlMWU4MTcwMWY4MTcyMWY4MTczMjA4MTc1MjE4MTc2MjE4MTc4MjI4MTc5MjI4MjdiMjM4MjdjMjM4MjdlMjQ4MjgwMjU4MjgxMjU4MTgzMjY4MTg0MjY4MTg2Mjc4MTg4Mjc4MTg5Mjg4MThiMjk4MThjMjk4MThlMmE4MTkwMmE4MTkxMmI4MTkzMmI4MDk0MmM4MDk2MmM4MDk4MmQ4MDk5MmQ4MDliMmU3ZjljMmU3ZjllMmY3ZmEwMmY3ZmExMzA3ZWEzMzA3ZWE1MzE3ZWE2MzE3ZGE4MzI3ZGFhMzM3ZGFiMzM3Y2FkMzQ3Y2FlMzQ3YmIwMzU3YmIyMzU3YmIzMzY3YWI1MzY3YWI3Mzc3OWI4Mzc3OWJhMzg3OGJjMzk3OGJkMzk3N2JmM2E3N2MwM2E3NmMyM2I3NWM0M2M3NWM1M2M3NGM3M2Q3M2M4M2U3M2NhM2U3MmNjM2Y3MWNkNDA3MWNmNDA3MGQwNDE2ZmQyNDI2ZmQzNDM2ZWQ1NDQ2ZGQ2NDU2Y2Q4NDU2Y2Q5NDY2YmRiNDc2YWRjNDg2OWRlNDk2OGRmNGE2OGUwNGM2N2UyNGQ2NmUzNGU2NWU0NGY2NGU1NTA2NGU3NTI2M2U4NTM2MmU5NTQ2MmVhNTY2MWViNTc2MGVjNTg2MGVkNWE1ZmVlNWI1ZWVmNWQ1ZWYwNWY1ZWYxNjA1ZGYyNjI1ZGYyNjQ1Y2YzNjU1Y2Y0Njc1Y2Y0Njk1Y2Y1NmI1Y2Y2NmM1Y2Y2NmU1Y2Y3NzA1Y2Y3NzI1Y2Y4NzQ1Y2Y4NzY1Y2Y5Nzg1ZGY5Nzk1ZGY5N2I1ZGZhN2Q1ZWZhN2Y1ZWZhODE1ZmZiODM1ZmZiODU2MGZiODc2MWZjODk2MWZjOGE2MmZjOGM2M2ZjOGU2NGZjOTA2NWZkOTI2NmZkOTQ2N2ZkOTY2OGZkOTg2OWZkOWE2YWZkOWI2YmZlOWQ2Y2ZlOWY2ZGZlYTE2ZWZlYTM2ZmZlYTU3MWZlYTc3MmZlYTk3M2ZlYWE3NGZlYWM3NmZlYWU3N2ZlYjA3OGZlYjI3YWZlYjQ3YmZlYjY3Y2ZlYjc3ZWZlYjk3ZmZlYmI4MWZlYmQ4MmZlYmY4NGZlYzE4NWZlYzI4N2ZlYzQ4OGZlYzY4YWZlYzg4Y2ZlY2E4ZGZlY2M4ZmZlY2Q5MGZlY2Y5MmZlZDE5NGZlZDM5NWZlZDU5N2ZlZDc5OWZlZDg5YWZkZGE5Y2ZkZGM5ZWZkZGVhMGZkZTBhMWZkZTJhM2ZkZTNhNWZkZTVhN2ZkZTdhOWZkZTlhYWZkZWJhY2ZjZWNhZWZjZWViMGZjZjBiMmZjZjJiNGZjZjRiNmZjZjZiOGZjZjdiOWZjZjliYmZjZmJiZGZjZmRiZiIpKSxPNj1ONihTNigiMDAwMDA0MDEwMDA1MDEwMTA2MDEwMTA4MDIwMTBhMDIwMjBjMDIwMjBlMDMwMjEwMDQwMzEyMDQwMzE0MDUwNDE3MDYwNDE5MDcwNTFiMDgwNTFkMDkwNjFmMGEwNzIyMGIwNzI0MGMwODI2MGQwODI5MGUwOTJiMTAwOTJkMTEwYTMwMTIwYTMyMTQwYjM0MTUwYjM3MTYwYjM5MTgwYzNjMTkwYzNlMWIwYzQxMWMwYzQzMWUwYzQ1MWYwYzQ4MjEwYzRhMjMwYzRjMjQwYzRmMjYwYzUxMjgwYjUzMjkwYjU1MmIwYjU3MmQwYjU5MmYwYTViMzEwYTVjMzIwYTVlMzQwYTVmMzYwOTYxMzgwOTYyMzkwOTYzM2IwOTY0M2QwOTY1M2UwOTY2NDAwYTY3NDIwYTY4NDQwYTY4NDUwYTY5NDcwYjZhNDkwYjZhNGEwYzZiNGMwYzZiNGQwZDZjNGYwZDZjNTEwZTZjNTIwZTZkNTQwZjZkNTUwZjZkNTcxMDZlNTkxMDZlNWExMTZlNWMxMjZlNWQxMjZlNWYxMzZlNjExMzZlNjIxNDZlNjQxNTZlNjUxNTZlNjcxNjZlNjkxNjZlNmExNzZlNmMxODZlNmQxODZlNmYxOTZlNzExOTZlNzIxYTZlNzQxYTZlNzUxYjZlNzcxYzZkNzgxYzZkN2ExZDZkN2MxZDZkN2QxZTZkN2YxZTZjODAxZjZjODIyMDZjODQyMDZiODUyMTZiODcyMTZiODgyMjZhOGEyMjZhOGMyMzY5OGQyMzY5OGYyNDY5OTAyNTY4OTIyNTY4OTMyNjY3OTUyNjY3OTcyNzY2OTgyNzY2OWEyODY1OWIyOTY0OWQyOTY0OWYyYTYzYTAyYTYzYTIyYjYyYTMyYzYxYTUyYzYwYTYyZDYwYTgyZTVmYTkyZTVlYWIyZjVlYWQzMDVkYWUzMDVjYjAzMTViYjEzMjVhYjMzMjVhYjQzMzU5YjYzNDU4YjczNTU3YjkzNTU2YmEzNjU1YmMzNzU0YmQzODUzYmYzOTUyYzAzYTUxYzEzYTUwYzMzYjRmYzQzYzRlYzYzZDRkYzczZTRjYzgzZjRiY2E0MDRhY2I0MTQ5Y2M0MjQ4Y2U0MzQ3Y2Y0NDQ2ZDA0NTQ1ZDI0NjQ0ZDM0NzQzZDQ0ODQyZDU0YTQxZDc0YjNmZDg0YzNlZDk0ZDNkZGE0ZTNjZGI1MDNiZGQ1MTNhZGU1MjM4ZGY1MzM3ZTA1NTM2ZTE1NjM1ZTI1NzM0ZTM1OTMzZTQ1YTMxZTU1YzMwZTY1ZDJmZTc1ZTJlZTg2MDJkZTk2MTJiZWE2MzJhZWI2NDI5ZWI2NjI4ZWM2NzI2ZWQ2OTI1ZWU2YTI0ZWY2YzIzZWY2ZTIxZjA2ZjIwZjE3MTFmZjE3MzFkZjI3NDFjZjM3NjFiZjM3ODE5ZjQ3OTE4ZjU3YjE3ZjU3ZDE1ZjY3ZTE0ZjY4MDEzZjc4MjEyZjc4NDEwZjg4NTBmZjg4NzBlZjg4OTBjZjk4YjBiZjk4YzBhZjk4ZTA5ZmE5MDA4ZmE5MjA3ZmE5NDA3ZmI5NjA2ZmI5NzA2ZmI5OTA2ZmI5YjA2ZmI5ZDA3ZmM5ZjA3ZmNhMTA4ZmNhMzA5ZmNhNTBhZmNhNjBjZmNhODBkZmNhYTBmZmNhYzExZmNhZTEyZmNiMDE0ZmNiMjE2ZmNiNDE4ZmJiNjFhZmJiODFkZmJiYTFmZmJiYzIxZmJiZTIzZmFjMDI2ZmFjMjI4ZmFjNDJhZmFjNjJkZjljNzJmZjljOTMyZjljYjM1ZjhjZDM3ZjhjZjNhZjdkMTNkZjdkMzQwZjZkNTQzZjZkNzQ2ZjVkOTQ5ZjVkYjRjZjRkZDRmZjRkZjUzZjRlMTU2ZjNlMzVhZjNlNTVkZjJlNjYxZjJlODY1ZjJlYTY5ZjFlYzZkZjFlZDcxZjFlZjc1ZjFmMTc5ZjJmMjdkZjJmNDgyZjNmNTg2ZjNmNjhhZjRmODhlZjVmOTkyZjZmYTk2ZjhmYjlhZjlmYzlkZmFmZGExZmNmZmE0IikpLHo2PU42KFM2KCIwZDA4ODcxMDA3ODgxMzA3ODkxNjA3OGExOTA2OGMxYjA2OGQxZDA2OGUyMDA2OGYyMjA2OTAyNDA2OTEyNjA1OTEyODA1OTIyYTA1OTMyYzA1OTQyZTA1OTUyZjA1OTYzMTA1OTczMzA1OTczNTA0OTgzNzA0OTkzODA0OWEzYTA0OWEzYzA0OWIzZTA0OWMzZjA0OWM0MTA0OWQ0MzAzOWU0NDAzOWU0NjAzOWY0ODAzOWY0OTAzYTA0YjAzYTE0YzAyYTE0ZTAyYTI1MDAyYTI1MTAyYTM1MzAyYTM1NTAyYTQ1NjAxYTQ1ODAxYTQ1OTAxYTU1YjAxYTU1YzAxYTY1ZTAxYTY2MDAxYTY2MTAwYTc2MzAwYTc2NDAwYTc2NjAwYTc2NzAwYTg2OTAwYTg2YTAwYTg2YzAwYTg2ZTAwYTg2ZjAwYTg3MTAwYTg3MjAxYTg3NDAxYTg3NTAxYTg3NzAxYTg3ODAxYTg3YTAyYTg3YjAyYTg3ZDAzYTg3ZTAzYTg4MDA0YTg4MTA0YTc4MzA1YTc4NDA1YTc4NjA2YTY4NzA3YTY4ODA4YTY4YTA5YTU4YjBhYTU4ZDBiYTU4ZTBjYTQ4ZjBkYTQ5MTBlYTM5MjBmYTM5NDEwYTI5NTExYTE5NjEzYTE5ODE0YTA5OTE1OWY5YTE2OWY5YzE3OWU5ZDE4OWQ5ZTE5OWRhMDFhOWNhMTFiOWJhMjFkOWFhMzFlOWFhNTFmOTlhNjIwOThhNzIxOTdhODIyOTZhYTIzOTVhYjI0OTRhYzI2OTRhZDI3OTNhZTI4OTJiMDI5OTFiMTJhOTBiMjJiOGZiMzJjOGViNDJlOGRiNTJmOGNiNjMwOGJiNzMxOGFiODMyODliYTMzODhiYjM0ODhiYzM1ODdiZDM3ODZiZTM4ODViZjM5ODRjMDNhODNjMTNiODJjMjNjODFjMzNkODBjNDNlN2ZjNTQwN2VjNjQxN2RjNzQyN2NjODQzN2JjOTQ0N2FjYTQ1N2FjYjQ2NzljYzQ3NzhjYzQ5NzdjZDRhNzZjZTRiNzVjZjRjNzRkMDRkNzNkMTRlNzJkMjRmNzFkMzUxNzFkNDUyNzBkNTUzNmZkNTU0NmVkNjU1NmRkNzU2NmNkODU3NmJkOTU4NmFkYTVhNmFkYTViNjlkYjVjNjhkYzVkNjdkZDVlNjZkZTVmNjVkZTYxNjRkZjYyNjNlMDYzNjNlMTY0NjJlMjY1NjFlMjY2NjBlMzY4NWZlNDY5NWVlNTZhNWRlNTZiNWRlNjZjNWNlNzZlNWJlNzZmNWFlODcwNTllOTcxNThlOTcyNTdlYTc0NTdlYjc1NTZlYjc2NTVlYzc3NTRlZDc5NTNlZDdhNTJlZTdiNTFlZjdjNTFlZjdlNTBmMDdmNGZmMDgwNGVmMTgxNGRmMTgzNGNmMjg0NGJmMzg1NGJmMzg3NGFmNDg4NDlmNDg5NDhmNThiNDdmNThjNDZmNjhkNDVmNjhmNDRmNzkwNDRmNzkxNDNmNzkzNDJmODk0NDFmODk1NDBmOTk3M2ZmOTk4M2VmOTlhM2VmYTliM2RmYTljM2NmYTllM2JmYjlmM2FmYmExMzlmYmEyMzhmY2EzMzhmY2E1MzdmY2E2MzZmY2E4MzVmY2E5MzRmZGFiMzNmZGFjMzNmZGFlMzJmZGFmMzFmZGIxMzBmZGIyMmZmZGI0MmZmZGI1MmVmZWI3MmRmZWI4MmNmZWJhMmNmZWJiMmJmZWJkMmFmZWJlMmFmZWMwMjlmZGMyMjlmZGMzMjhmZGM1MjdmZGM2MjdmZGM4MjdmZGNhMjZmZGNiMjZmY2NkMjVmY2NlMjVmY2QwMjVmY2QyMjVmYmQzMjRmYmQ1MjRmYmQ3MjRmYWQ4MjRmYWRhMjRmOWRjMjRmOWRkMjVmOGRmMjVmOGUxMjVmN2UyMjVmN2U0MjVmNmU2MjZmNmU4MjZmNWU5MjZmNWViMjdmNGVkMjdmM2VlMjdmM2YwMjdmMmYyMjdmMWY0MjZmMWY1MjVmMGY3MjRmMGY5MjEiKSk7dmFyIEQ2PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIixCNj17c3ZnOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIseGh0bWw6RDYseGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHhtbDoiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8ifTtmdW5jdGlvbiBINih0KXt2YXIgZT10Kz0iIixuPWUuaW5kZXhPZigiOiIpO3JldHVybiBuPj0wJiYieG1sbnMiIT09KGU9dC5zbGljZSgwLG4pKSYmKHQ9dC5zbGljZShuKzEpKSxCNi5oYXNPd25Qcm9wZXJ0eShlKT97c3BhY2U6QjZbZV0sbG9jYWw6dH06dH1mdW5jdGlvbiBGNih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLm93bmVyRG9jdW1lbnQsbj10aGlzLm5hbWVzcGFjZVVSSTtyZXR1cm4gbj09PUQ2JiZlLmRvY3VtZW50RWxlbWVudC5uYW1lc3BhY2VVUkk9PT1ENj9lLmNyZWF0ZUVsZW1lbnQodCk6ZS5jcmVhdGVFbGVtZW50TlMobix0KX19ZnVuY3Rpb24gVjYodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlModC5zcGFjZSx0LmxvY2FsKX19ZnVuY3Rpb24gVTYodCl7dmFyIGU9SDYodCk7cmV0dXJuKGUubG9jYWw/VjY6RjYpKGUpfWZ1bmN0aW9uIGo2KCl7fWZ1bmN0aW9uIEc2KHQpe3JldHVybiBudWxsPT10P2o2OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVlcnlTZWxlY3Rvcih0KX19ZnVuY3Rpb24gVzYoKXtyZXR1cm5bXX1mdW5jdGlvbiBxNih0KXtyZXR1cm4gbnVsbD09dD9XNjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwodCl9fXZhciBZNj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXRjaGVzKHQpfX07aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCl7dmFyIFg2PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpZighWDYubWF0Y2hlcyl7dmFyICQ2PVg2LndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8WDYubXNNYXRjaGVzU2VsZWN0b3J8fFg2Lm1vek1hdGNoZXNTZWxlY3Rvcnx8WDYub01hdGNoZXNTZWxlY3RvcjtZNj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gJDYuY2FsbCh0aGlzLHQpfX19fXZhciBLNj1ZNjtmdW5jdGlvbiBaNih0KXtyZXR1cm4gbmV3IEFycmF5KHQubGVuZ3RoKX1mdW5jdGlvbiBKNih0LGUpe3RoaXMub3duZXJEb2N1bWVudD10Lm93bmVyRG9jdW1lbnQsdGhpcy5uYW1lc3BhY2VVUkk9dC5uYW1lc3BhY2VVUkksdGhpcy5fbmV4dD1udWxsLHRoaXMuX3BhcmVudD10LHRoaXMuX19kYXRhX189ZX1KNi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOko2LGFwcGVuZENoaWxkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsdGhpcy5fbmV4dCl9LGluc2VydEJlZm9yZTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsZSl9LHF1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yKHQpfSxxdWVyeVNlbGVjdG9yQWxsOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3RvckFsbCh0KX19O2Z1bmN0aW9uIFE2KHQsZSxuLGkscixvKXtmb3IodmFyIGEscz0wLGw9ZS5sZW5ndGgsYz1vLmxlbmd0aDtzPGM7KytzKShhPWVbc10pPyhhLl9fZGF0YV9fPW9bc10saVtzXT1hKTpuW3NdPW5ldyBKNih0LG9bc10pO2Zvcig7czxsOysrcykoYT1lW3NdKSYmKHJbc109YSl9ZnVuY3Rpb24gdDkodCxlLG4saSxyLG8sYSl7dmFyIHMsbCxjLHU9e30saD1lLmxlbmd0aCxkPW8ubGVuZ3RoLHA9bmV3IEFycmF5KGgpO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmKHBbc109Yz0iJCIrYS5jYWxsKGwsbC5fX2RhdGFfXyxzLGUpLGMgaW4gdT9yW3NdPWw6dVtjXT1sKTtmb3Iocz0wO3M8ZDsrK3MpKGw9dVtjPSIkIithLmNhbGwodCxvW3NdLHMsbyldKT8oaVtzXT1sLGwuX19kYXRhX189b1tzXSx1W2NdPW51bGwpOm5bc109bmV3IEo2KHQsb1tzXSk7Zm9yKHM9MDtzPGg7KytzKShsPWVbc10pJiZ1W3Bbc11dPT09bCYmKHJbc109bCl9ZnVuY3Rpb24gZTkodCxlKXtyZXR1cm4gdDxlPy0xOnQ+ZT8xOnQ+PWU/MDpOYU59ZnVuY3Rpb24gbjkodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIGk5KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19ZnVuY3Rpb24gcjkodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZSh0LGUpfX1mdW5jdGlvbiBvOSh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUpfX1mdW5jdGlvbiBhOSh0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCk6dGhpcy5zZXRBdHRyaWJ1dGUodCxuKX19ZnVuY3Rpb24gczkodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKTp0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxuKX19ZnVuY3Rpb24gbDkodCl7cmV0dXJuIHQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx0LmRvY3VtZW50JiZ0fHx0LmRlZmF1bHRWaWV3fWZ1bmN0aW9uIGM5KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9fWZ1bmN0aW9uIHU5KHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsZSxuKX19ZnVuY3Rpb24gaDkodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBpPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PWk/dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KTp0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsaSxuKX19ZnVuY3Rpb24gZDkodCxlKXtyZXR1cm4gdC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGUpfHxsOSh0KS5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShlKX1mdW5jdGlvbiBwOSh0KXtyZXR1cm4gZnVuY3Rpb24oKXtkZWxldGUgdGhpc1t0XX19ZnVuY3Rpb24gZjkodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzW3RdPWV9fWZ1bmN0aW9uIG05KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09bj9kZWxldGUgdGhpc1t0XTp0aGlzW3RdPW59fWZ1bmN0aW9uIGc5KHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKX1mdW5jdGlvbiBfOSh0KXtyZXR1cm4gdC5jbGFzc0xpc3R8fG5ldyB5OSh0KX1mdW5jdGlvbiB5OSh0KXt0aGlzLl9ub2RlPXQsdGhpcy5fbmFtZXM9ZzkodC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX1mdW5jdGlvbiB2OSh0LGUpe2Zvcih2YXIgbj1fOSh0KSxpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KW4uYWRkKGVbaV0pfWZ1bmN0aW9uIGI5KHQsZSl7Zm9yKHZhciBuPV85KHQpLGk9LTEscj1lLmxlbmd0aDsrK2k8cjspbi5yZW1vdmUoZVtpXSl9ZnVuY3Rpb24geDkodCl7cmV0dXJuIGZ1bmN0aW9uKCl7djkodGhpcyx0KX19ZnVuY3Rpb24gdzkodCl7cmV0dXJuIGZ1bmN0aW9uKCl7YjkodGhpcyx0KX19ZnVuY3Rpb24gUzkodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXsoZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk/djk6YjkpKHRoaXMsdCl9fWZ1bmN0aW9uIE05KCl7dGhpcy50ZXh0Q29udGVudD0iIn1mdW5jdGlvbiBFOSh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnRleHRDb250ZW50PXR9fWZ1bmN0aW9uIFQ5KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfX1mdW5jdGlvbiBDOSgpe3RoaXMuaW5uZXJIVE1MPSIifWZ1bmN0aW9uIEE5KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuaW5uZXJIVE1MPXR9fWZ1bmN0aW9uIGs5KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuaW5uZXJIVE1MPW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24gTDkoKXt0aGlzLm5leHRTaWJsaW5nJiZ0aGlzLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodGhpcyl9ZnVuY3Rpb24gUDkoKXt0aGlzLnByZXZpb3VzU2libGluZyYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLHRoaXMucGFyZW50Tm9kZS5maXJzdENoaWxkKX1mdW5jdGlvbiBOOSgpe3JldHVybiBudWxsfWZ1bmN0aW9uIEk5KCl7dmFyIHQ9dGhpcy5wYXJlbnROb2RlO3QmJnQucmVtb3ZlQ2hpbGQodGhpcyl9ZnVuY3Rpb24gUjkoKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLmNsb25lTm9kZSghMSksdGhpcy5uZXh0U2libGluZyl9ZnVuY3Rpb24gTzkoKXtyZXR1cm4gdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLmNsb25lTm9kZSghMCksdGhpcy5uZXh0U2libGluZyl9eTkucHJvdG90eXBlPXthZGQ6ZnVuY3Rpb24odCl7dGhpcy5fbmFtZXMuaW5kZXhPZih0KTwwJiYodGhpcy5fbmFtZXMucHVzaCh0KSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbmFtZXMuaW5kZXhPZih0KTtlPj0wJiYodGhpcy5fbmFtZXMuc3BsaWNlKGUsMSksdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLl9uYW1lcy5qb2luKCIgIikpKX0sY29udGFpbnM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX25hbWVzLmluZGV4T2YodCk+PTB9fTt2YXIgejk9e30sRDk9bnVsbDsidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiYoIm9ubW91c2VlbnRlciJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR8fCh6OT17bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9KSk7ZnVuY3Rpb24gQjkodCxlLG4pe3JldHVybiB0PUg5KHQsZSxuKSxmdW5jdGlvbihlKXt2YXIgbj1lLnJlbGF0ZWRUYXJnZXQ7biYmKG49PT10aGlzfHw4Jm4uY29tcGFyZURvY3VtZW50UG9zaXRpb24odGhpcykpfHx0LmNhbGwodGhpcyxlKX19ZnVuY3Rpb24gSDkodCxlLG4pe3JldHVybiBmdW5jdGlvbihpKXt2YXIgcj1EOTtEOT1pO3RyeXt0LmNhbGwodGhpcyx0aGlzLl9fZGF0YV9fLGUsbil9ZmluYWxseXtEOT1yfX19ZnVuY3Rpb24gRjkodCl7cmV0dXJuIHQudHJpbSgpLnNwbGl0KC9efFxzKy8pLm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9IiIsbj10LmluZGV4T2YoIi4iKTtyZXR1cm4gbj49MCYmKGU9dC5zbGljZShuKzEpLHQ9dC5zbGljZSgwLG4pKSx7dHlwZTp0LG5hbWU6ZX19KSl9ZnVuY3Rpb24gVjkodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fX29uO2lmKGUpe2Zvcih2YXIgbixpPTAscj0tMSxvPWUubGVuZ3RoO2k8bzsrK2kpbj1lW2ldLHQudHlwZSYmbi50eXBlIT09dC50eXBlfHxuLm5hbWUhPT10Lm5hbWU/ZVsrK3JdPW46dGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKG4udHlwZSxuLmxpc3RlbmVyLG4uY2FwdHVyZSk7KytyP2UubGVuZ3RoPXI6ZGVsZXRlIHRoaXMuX19vbn19fWZ1bmN0aW9uIFU5KHQsZSxuKXt2YXIgaT16OS5oYXNPd25Qcm9wZXJ0eSh0LnR5cGUpP0I5Okg5O3JldHVybiBmdW5jdGlvbihyLG8sYSl7dmFyIHMsbD10aGlzLl9fb24sYz1pKGUsbyxhKTtpZihsKWZvcih2YXIgdT0wLGg9bC5sZW5ndGg7dTxoOysrdSlpZigocz1sW3VdKS50eXBlPT09dC50eXBlJiZzLm5hbWU9PT10Lm5hbWUpcmV0dXJuIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcixzLmNhcHR1cmUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcj1jLHMuY2FwdHVyZT1uKSx2b2lkKHMudmFsdWU9ZSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKHQudHlwZSxjLG4pLHM9e3R5cGU6dC50eXBlLG5hbWU6dC5uYW1lLHZhbHVlOmUsbGlzdGVuZXI6YyxjYXB0dXJlOm59LGw/bC5wdXNoKHMpOnRoaXMuX19vbj1bc119fWZ1bmN0aW9uIGo5KHQsZSxuKXt2YXIgaT1sOSh0KSxyPWkuQ3VzdG9tRXZlbnQ7ImZ1bmN0aW9uIj09dHlwZW9mIHI/cj1uZXcgcihlLG4pOihyPWkuZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkV2ZW50Iiksbj8oci5pbml0RXZlbnQoZSxuLmJ1YmJsZXMsbi5jYW5jZWxhYmxlKSxyLmRldGFpbD1uLmRldGFpbCk6ci5pbml0RXZlbnQoZSwhMSwhMSkpLHQuZGlzcGF0Y2hFdmVudChyKX1mdW5jdGlvbiBHOSh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBqOSh0aGlzLHQsZSl9fWZ1bmN0aW9uIFc5KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGo5KHRoaXMsdCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXZhciBxOT1bbnVsbF07ZnVuY3Rpb24gWTkodCxlKXt0aGlzLl9ncm91cHM9dCx0aGlzLl9wYXJlbnRzPWV9ZnVuY3Rpb24gWDkoKXtyZXR1cm4gbmV3IFk5KFtbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XV0scTkpfWZ1bmN0aW9uICQ5KHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD9uZXcgWTkoW1tkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpXV0sW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudF0pOm5ldyBZOShbW3RdXSxxOSl9WTkucHJvdG90eXBlPVg5LnByb3RvdHlwZT17Y29uc3RydWN0b3I6WTksc2VsZWN0OmZ1bmN0aW9uIEs5KHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1HNih0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhLHM9ZVtyXSxsPXMubGVuZ3RoLGM9aVtyXT1uZXcgQXJyYXkobCksdT0wO3U8bDsrK3UpKG89c1t1XSkmJihhPXQuY2FsbChvLG8uX19kYXRhX18sdSxzKSkmJigiX19kYXRhX18iaW4gbyYmKGEuX19kYXRhX189by5fX2RhdGFfXyksY1t1XT1hKTtyZXR1cm4gbmV3IFk5KGksdGhpcy5fcGFyZW50cyl9LHNlbGVjdEFsbDpmdW5jdGlvbiBaOSh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9cTYodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPVtdLHI9W10sbz0wO288bjsrK28pZm9yKHZhciBhLHM9ZVtvXSxsPXMubGVuZ3RoLGM9MDtjPGw7KytjKShhPXNbY10pJiYoaS5wdXNoKHQuY2FsbChhLGEuX19kYXRhX18sYyxzKSksci5wdXNoKGEpKTtyZXR1cm4gbmV3IFk5KGkscil9LGZpbHRlcjpmdW5jdGlvbiBKOSh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9SzYodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPW5ldyBBcnJheShuKSxyPTA7cjxuOysrcilmb3IodmFyIG8sYT1lW3JdLHM9YS5sZW5ndGgsbD1pW3JdPVtdLGM9MDtjPHM7KytjKShvPWFbY10pJiZ0LmNhbGwobyxvLl9fZGF0YV9fLGMsYSkmJmwucHVzaChvKTtyZXR1cm4gbmV3IFk5KGksdGhpcy5fcGFyZW50cyl9LGRhdGE6ZnVuY3Rpb24gUTkodCxlKXtpZighdClyZXR1cm4gZj1uZXcgQXJyYXkodGhpcy5zaXplKCkpLHU9LTEsdGhpcy5lYWNoKChmdW5jdGlvbih0KXtmWysrdV09dH0pKSxmO3ZhciBuPWU/dDk6UTYsaT10aGlzLl9wYXJlbnRzLHI9dGhpcy5fZ3JvdXBzOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD0oZnVuY3Rpb24gbyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19KSh0KSk7Zm9yKHZhciBhPXIubGVuZ3RoLHM9bmV3IEFycmF5KGEpLGw9bmV3IEFycmF5KGEpLGM9bmV3IEFycmF5KGEpLHU9MDt1PGE7Kyt1KXt2YXIgaD1pW3VdLGQ9clt1XSxwPWQubGVuZ3RoLGY9dC5jYWxsKGgsaCYmaC5fX2RhdGFfXyx1LGkpLG09Zi5sZW5ndGgsZz1sW3VdPW5ldyBBcnJheShtKSxfPXNbdV09bmV3IEFycmF5KG0pO24oaCxkLGcsXyxjW3VdPW5ldyBBcnJheShwKSxmLGUpO2Zvcih2YXIgeSx2LGI9MCx4PTA7YjxtOysrYilpZih5PWdbYl0pe2ZvcihiPj14JiYoeD1iKzEpOyEodj1fW3hdKSYmKyt4PG07KTt5Ll9uZXh0PXZ8fG51bGx9fXJldHVybihzPW5ldyBZOShzLGkpKS5fZW50ZXI9bCxzLl9leGl0PWMsc30sZW50ZXI6ZnVuY3Rpb24gdDgoKXtyZXR1cm4gbmV3IFk5KHRoaXMuX2VudGVyfHx0aGlzLl9ncm91cHMubWFwKFo2KSx0aGlzLl9wYXJlbnRzKX0sZXhpdDpmdW5jdGlvbiBlOCgpe3JldHVybiBuZXcgWTkodGhpcy5fZXhpdHx8dGhpcy5fZ3JvdXBzLm1hcChaNiksdGhpcy5fcGFyZW50cyl9LG1lcmdlOmZ1bmN0aW9uIG44KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsaT1lLmxlbmd0aCxyPU1hdGgubWluKGksbi5sZW5ndGgpLG89bmV3IEFycmF5KGkpLGE9MDthPHI7KythKWZvcih2YXIgcyxsPWVbYV0sYz1uW2FdLHU9bC5sZW5ndGgsaD1vW2FdPW5ldyBBcnJheSh1KSxkPTA7ZDx1OysrZCkocz1sW2RdfHxjW2RdKSYmKGhbZF09cyk7Zm9yKDthPGk7KythKW9bYV09ZVthXTtyZXR1cm4gbmV3IFk5KG8sdGhpcy5fcGFyZW50cyl9LG9yZGVyOmZ1bmN0aW9uIGk4KCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPS0xLG49dC5sZW5ndGg7KytlPG47KWZvcih2YXIgaSxyPXRbZV0sbz1yLmxlbmd0aC0xLGE9cltvXTstLW8+PTA7KShpPXJbb10pJiYoYSYmYSE9PWkubmV4dFNpYmxpbmcmJmEucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaSxhKSxhPWkpO3JldHVybiB0aGlzfSxzb3J0OmZ1bmN0aW9uIHI4KHQpe2Z1bmN0aW9uIGUoZSxuKXtyZXR1cm4gZSYmbj90KGUuX19kYXRhX18sbi5fX2RhdGFfXyk6IWUtIW59dHx8KHQ9ZTkpO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsaT1uLmxlbmd0aCxyPW5ldyBBcnJheShpKSxvPTA7bzxpOysrbyl7Zm9yKHZhciBhLHM9bltvXSxsPXMubGVuZ3RoLGM9cltvXT1uZXcgQXJyYXkobCksdT0wO3U8bDsrK3UpKGE9c1t1XSkmJihjW3VdPWEpO2Muc29ydChlKX1yZXR1cm4gbmV3IFk5KHIsdGhpcy5fcGFyZW50cykub3JkZXIoKX0sY2FsbDpmdW5jdGlvbiBvOCgpe3ZhciB0PWFyZ3VtZW50c1swXTtyZXR1cm4gYXJndW1lbnRzWzBdPXRoaXMsdC5hcHBseShudWxsLGFyZ3VtZW50cyksdGhpc30sbm9kZXM6ZnVuY3Rpb24gYTgoKXt2YXIgdD1uZXcgQXJyYXkodGhpcy5zaXplKCkpLGU9LTE7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt0WysrZV09dGhpc30pKSx0fSxub2RlOmZ1bmN0aW9uIHM4KCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPTAsbj10Lmxlbmd0aDtlPG47KytlKWZvcih2YXIgaT10W2VdLHI9MCxvPWkubGVuZ3RoO3I8bzsrK3Ipe3ZhciBhPWlbcl07aWYoYSlyZXR1cm4gYX1yZXR1cm4gbnVsbH0sc2l6ZTpmdW5jdGlvbiBsOCgpe3ZhciB0PTA7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXsrK3R9KSksdH0sZW1wdHk6ZnVuY3Rpb24gYzgoKXtyZXR1cm4hdGhpcy5ub2RlKCl9LGVhY2g6ZnVuY3Rpb24gdTgodCl7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPTAsaT1lLmxlbmd0aDtuPGk7KytuKWZvcih2YXIgcixvPWVbbl0sYT0wLHM9by5sZW5ndGg7YTxzOysrYSkocj1vW2FdKSYmdC5jYWxsKHIsci5fX2RhdGFfXyxhLG8pO3JldHVybiB0aGlzfSxhdHRyOmZ1bmN0aW9uIGg4KHQsZSl7dmFyIG49SDYodCk7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXt2YXIgaT10aGlzLm5vZGUoKTtyZXR1cm4gbi5sb2NhbD9pLmdldEF0dHJpYnV0ZU5TKG4uc3BhY2Usbi5sb2NhbCk6aS5nZXRBdHRyaWJ1dGUobil9cmV0dXJuIHRoaXMuZWFjaCgobnVsbD09ZT9uLmxvY2FsP2k5Om45OiJmdW5jdGlvbiI9PXR5cGVvZiBlP24ubG9jYWw/czk6YTk6bi5sb2NhbD9vOTpyOSkobixlKSl9LHN0eWxlOmZ1bmN0aW9uIGQ4KHQsZSxuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaCgobnVsbD09ZT9jOToiZnVuY3Rpb24iPT10eXBlb2YgZT9oOTp1OSkodCxlLG51bGw9PW4/IiI6bikpOmQ5KHRoaXMubm9kZSgpLHQpfSxwcm9wZXJ0eTpmdW5jdGlvbiBwOCh0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/dGhpcy5lYWNoKChudWxsPT1lP3A5OiJmdW5jdGlvbiI9PXR5cGVvZiBlP205OmY5KSh0LGUpKTp0aGlzLm5vZGUoKVt0XX0sY2xhc3NlZDpmdW5jdGlvbiBmOCh0LGUpe3ZhciBuPWc5KHQrIiIpO2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7Zm9yKHZhciBpPV85KHRoaXMubm9kZSgpKSxyPS0xLG89bi5sZW5ndGg7KytyPG87KWlmKCFpLmNvbnRhaW5zKG5bcl0pKXJldHVybiExO3JldHVybiEwfXJldHVybiB0aGlzLmVhY2goKCJmdW5jdGlvbiI9PXR5cGVvZiBlP1M5OmU/eDk6dzkpKG4sZSkpfSx0ZXh0OmZ1bmN0aW9uIG04KHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChudWxsPT10P005OigiZnVuY3Rpb24iPT10eXBlb2YgdD9UOTpFOSkodCkpOnRoaXMubm9kZSgpLnRleHRDb250ZW50fSxodG1sOmZ1bmN0aW9uIGc4KHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChudWxsPT10P0M5OigiZnVuY3Rpb24iPT10eXBlb2YgdD9rOTpBOSkodCkpOnRoaXMubm9kZSgpLmlubmVySFRNTH0scmFpc2U6ZnVuY3Rpb24gXzgoKXtyZXR1cm4gdGhpcy5lYWNoKEw5KX0sbG93ZXI6ZnVuY3Rpb24geTgoKXtyZXR1cm4gdGhpcy5lYWNoKFA5KX0sYXBwZW5kOmZ1bmN0aW9uIHY4KHQpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6VTYodCk7cmV0dXJuIHRoaXMuc2VsZWN0KChmdW5jdGlvbigpe3JldHVybiB0aGlzLmFwcGVuZENoaWxkKGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0pKX0saW5zZXJ0OmZ1bmN0aW9uIGI4KHQsZSl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpVNih0KSxpPW51bGw9PWU/Tjk6ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpHNihlKTtyZXR1cm4gdGhpcy5zZWxlY3QoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5zZXJ0QmVmb3JlKG4uYXBwbHkodGhpcyxhcmd1bWVudHMpLGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfHxudWxsKX0pKX0scmVtb3ZlOmZ1bmN0aW9uIHg4KCl7cmV0dXJuIHRoaXMuZWFjaChJOSl9LGNsb25lOmZ1bmN0aW9uIHc4KHQpe3JldHVybiB0aGlzLnNlbGVjdCh0P085OlI5KX0sZGF0dW06ZnVuY3Rpb24gUzgodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5wcm9wZXJ0eSgiX19kYXRhX18iLHQpOnRoaXMubm9kZSgpLl9fZGF0YV9ffSxvbjpmdW5jdGlvbiBNOCh0LGUsbil7dmFyIGkscixvPUY5KHQrIiIpLGE9by5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtmb3Iocz1lP1U5OlY5LG51bGw9PW4mJihuPSExKSxpPTA7aTxhOysraSl0aGlzLmVhY2gocyhvW2ldLGUsbikpO3JldHVybiB0aGlzfXZhciBzPXRoaXMubm9kZSgpLl9fb247aWYocylmb3IodmFyIGwsYz0wLHU9cy5sZW5ndGg7Yzx1OysrYylmb3IoaT0wLGw9c1tjXTtpPGE7KytpKWlmKChyPW9baV0pLnR5cGU9PT1sLnR5cGUmJnIubmFtZT09PWwubmFtZSlyZXR1cm4gbC52YWx1ZX0sZGlzcGF0Y2g6ZnVuY3Rpb24gRTgodCxlKXtyZXR1cm4gdGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgZT9XOTpHOSkodCxlKSl9fTt2YXIgVDg9MDtmdW5jdGlvbiBDOCgpe3JldHVybiBuZXcgQTh9ZnVuY3Rpb24gQTgoKXt0aGlzLl89IkAiKygrK1Q4KS50b1N0cmluZygzNil9ZnVuY3Rpb24gazgoKXtmb3IodmFyIHQsZT1EOTt0PWUuc291cmNlRXZlbnQ7KWU9dDtyZXR1cm4gZX1mdW5jdGlvbiBMOCh0LGUpe3ZhciBuPXQub3duZXJTVkdFbGVtZW50fHx0O2lmKG4uY3JlYXRlU1ZHUG9pbnQpe3ZhciBpPW4uY3JlYXRlU1ZHUG9pbnQoKTtyZXR1cm4gaS54PWUuY2xpZW50WCxpLnk9ZS5jbGllbnRZLFsoaT1pLm1hdHJpeFRyYW5zZm9ybSh0LmdldFNjcmVlbkNUTSgpLmludmVyc2UoKSkpLngsaS55XX12YXIgcj10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybltlLmNsaWVudFgtci5sZWZ0LXQuY2xpZW50TGVmdCxlLmNsaWVudFktci50b3AtdC5jbGllbnRUb3BdfUE4LnByb3RvdHlwZT1DOC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOkE4LGdldDpmdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5fOyEoZSBpbiB0KTspaWYoISh0PXQucGFyZW50Tm9kZSkpcmV0dXJuO3JldHVybiB0W2VdfSxzZXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdFt0aGlzLl9dPWV9LHJlbW92ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fIGluIHQmJmRlbGV0ZSB0W3RoaXMuX119LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX319O3ZhciBQOD1NYXRoLlBJLE44PTIqUDgsSTg9MWUtNixSOD1OOC1JODtmdW5jdGlvbiBPOCgpe3RoaXMuX3gwPXRoaXMuX3kwPXRoaXMuX3gxPXRoaXMuX3kxPW51bGwsdGhpcy5fPSIifWZ1bmN0aW9uIHo4KCl7cmV0dXJuIG5ldyBPOH1mdW5jdGlvbiBEOCh0KXtyZXR1cm4gZnVuY3Rpb24gZSgpe3JldHVybiB0fX1POC5wcm90b3R5cGU9ejgucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpPOCxtb3ZlVG86ZnVuY3Rpb24odCxlKXt0aGlzLl8rPSJNIisodGhpcy5feDA9dGhpcy5feDE9K3QpKyIsIisodGhpcy5feTA9dGhpcy5feTE9K2UpfSxjbG9zZVBhdGg6ZnVuY3Rpb24oKXtudWxsIT09dGhpcy5feDEmJih0aGlzLl94MT10aGlzLl94MCx0aGlzLl95MT10aGlzLl95MCx0aGlzLl8rPSJaIil9LGxpbmVUbzpmdW5jdGlvbih0LGUpe3RoaXMuXys9IkwiKyh0aGlzLl94MT0rdCkrIiwiKyh0aGlzLl95MT0rZSl9LHF1YWRyYXRpY0N1cnZlVG86ZnVuY3Rpb24odCxlLG4saSl7dGhpcy5fKz0iUSIrICt0KyIsIisgK2UrIiwiKyh0aGlzLl94MT0rbikrIiwiKyh0aGlzLl95MT0raSl9LGJlemllckN1cnZlVG86ZnVuY3Rpb24odCxlLG4saSxyLG8pe3RoaXMuXys9IkMiKyArdCsiLCIrICtlKyIsIisgK24rIiwiKyAraSsiLCIrKHRoaXMuX3gxPStyKSsiLCIrKHRoaXMuX3kxPStvKX0sYXJjVG86ZnVuY3Rpb24odCxlLG4saSxyKXt2YXIgbz10aGlzLl94MSxhPXRoaXMuX3kxLHM9KG49K24pLSh0PSt0KSxsPShpPStpKS0oZT0rZSksYz1vLXQsdT1hLWUsaD1jKmMrdSp1O2lmKChyPStyKTwwKXRocm93IG5ldyBFcnJvcigibmVnYXRpdmUgcmFkaXVzOiAiK3IpO2lmKG51bGw9PT10aGlzLl94MSl0aGlzLl8rPSJNIisodGhpcy5feDE9dCkrIiwiKyh0aGlzLl95MT1lKTtlbHNlIGlmKGg+STgpaWYoTWF0aC5hYnModSpzLWwqYyk+STgmJnIpe3ZhciBkPW4tbyxwPWktYSxmPXMqcytsKmwsbT1kKmQrcCpwLGc9TWF0aC5zcXJ0KGYpLF89TWF0aC5zcXJ0KGgpLHk9cipNYXRoLnRhbigoUDgtTWF0aC5hY29zKChmK2gtbSkvKDIqZypfKSkpLzIpLHY9eS9fLGI9eS9nO01hdGguYWJzKHYtMSk+STgmJih0aGlzLl8rPSJMIisodCt2KmMpKyIsIisoZSt2KnUpKSx0aGlzLl8rPSJBIityKyIsIityKyIsMCwwLCIrICsodSpkPmMqcCkrIiwiKyh0aGlzLl94MT10K2IqcykrIiwiKyh0aGlzLl95MT1lK2IqbCl9ZWxzZSB0aGlzLl8rPSJMIisodGhpcy5feDE9dCkrIiwiKyh0aGlzLl95MT1lKTtlbHNlO30sYXJjOmZ1bmN0aW9uKHQsZSxuLGkscixvKXt0PSt0LGU9K2Usbz0hIW87dmFyIGE9KG49K24pKk1hdGguY29zKGkpLHM9bipNYXRoLnNpbihpKSxsPXQrYSxjPWUrcyx1PTFebyxoPW8/aS1yOnItaTtpZihuPDApdGhyb3cgbmV3IEVycm9yKCJuZWdhdGl2ZSByYWRpdXM6ICIrbik7bnVsbD09PXRoaXMuX3gxP3RoaXMuXys9Ik0iK2wrIiwiK2M6KE1hdGguYWJzKHRoaXMuX3gxLWwpPkk4fHxNYXRoLmFicyh0aGlzLl95MS1jKT5JOCkmJih0aGlzLl8rPSJMIitsKyIsIitjKSxuJiYoaDwwJiYoaD1oJU44K044KSxoPlI4P3RoaXMuXys9IkEiK24rIiwiK24rIiwwLDEsIit1KyIsIisodC1hKSsiLCIrKGUtcykrIkEiK24rIiwiK24rIiwwLDEsIit1KyIsIisodGhpcy5feDE9bCkrIiwiKyh0aGlzLl95MT1jKTpoPkk4JiYodGhpcy5fKz0iQSIrbisiLCIrbisiLDAsIisgKyhoPj1QOCkrIiwiK3UrIiwiKyh0aGlzLl94MT10K24qTWF0aC5jb3MocikpKyIsIisodGhpcy5feTE9ZStuKk1hdGguc2luKHIpKSkpfSxyZWN0OmZ1bmN0aW9uKHQsZSxuLGkpe3RoaXMuXys9Ik0iKyh0aGlzLl94MD10aGlzLl94MT0rdCkrIiwiKyh0aGlzLl95MD10aGlzLl95MT0rZSkrImgiKyArbisidiIrICtpKyJoIistbisiWiJ9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX319O3ZhciBCOD1NYXRoLmFicyxIOD1NYXRoLmF0YW4yLEY4PU1hdGguY29zLFY4PU1hdGgubWF4LFU4PU1hdGgubWluLGo4PU1hdGguc2luLEc4PU1hdGguc3FydCxXOD0xZS0xMixxOD1NYXRoLlBJLFk4PXE4LzIsWDg9MipxODtmdW5jdGlvbiAkOCh0KXtyZXR1cm4gdD4xPzA6dDwtMT9xODpNYXRoLmFjb3ModCl9ZnVuY3Rpb24gSzgodCl7cmV0dXJuIHQ+PTE/WTg6dDw9LTE/LVk4Ok1hdGguYXNpbih0KX1mdW5jdGlvbiBaOCh0KXtyZXR1cm4gdC5pbm5lclJhZGl1c31mdW5jdGlvbiBKOCh0KXtyZXR1cm4gdC5vdXRlclJhZGl1c31mdW5jdGlvbiBROCh0KXtyZXR1cm4gdC5zdGFydEFuZ2xlfWZ1bmN0aW9uIHQ3KHQpe3JldHVybiB0LmVuZEFuZ2xlfWZ1bmN0aW9uIGU3KHQpe3JldHVybiB0JiZ0LnBhZEFuZ2xlfWZ1bmN0aW9uIG43KHQsZSxuLGkscixvLGEscyl7dmFyIGw9bi10LGM9aS1lLHU9YS1yLGg9cy1vLGQ9KHUqKGUtbyktaCoodC1yKSkvKGgqbC11KmMpO3JldHVyblt0K2QqbCxlK2QqY119ZnVuY3Rpb24gaTcodCxlLG4saSxyLG8sYSl7dmFyIHM9dC1uLGw9ZS1pLGM9KGE/bzotbykvRzgocypzK2wqbCksdT1jKmwsaD0tYypzLGQ9dCt1LHA9ZStoLGY9bit1LG09aStoLGc9KGQrZikvMixfPShwK20pLzIseT1mLWQsdj1tLXAsYj15Knkrdip2LHg9ci1vLHc9ZCptLWYqcCxTPSh2PDA/LTE6MSkqRzgoVjgoMCx4KngqYi13KncpKSxNPSh3KnYteSpTKS9iLEU9KC13KnktdipTKS9iLFQ9KHcqdit5KlMpL2IsQz0oLXcqeSt2KlMpL2IsQT1NLWcsaz1FLV8sTD1ULWcsUD1DLV87cmV0dXJuIEEqQStrKms+TCpMK1AqUCYmKE09VCxFPUMpLHtjeDpNLGN5OkUseDAxOi11LHkwMTotaCx4MTE6TSooci94LTEpLHkxMTpFKihyL3gtMSl9fWZ1bmN0aW9uIHI3KHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiBvNyh0KXtyZXR1cm4gbmV3IHI3KHQpfWZ1bmN0aW9uIGE3KHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIHM3KHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIGw3KCl7dmFyIHQ9YTcsZT1zNyxuPUQ4KCEwKSxpPW51bGwscj1vNyxvPW51bGw7ZnVuY3Rpb24gYShhKXt2YXIgcyxsLGMsdT1hLmxlbmd0aCxoPSExO2ZvcihudWxsPT1pJiYobz1yKGM9ejgoKSkpLHM9MDtzPD11OysrcykhKHM8dSYmbihsPWFbc10scyxhKSk9PT1oJiYoKGg9IWgpP28ubGluZVN0YXJ0KCk6by5saW5lRW5kKCkpLGgmJm8ucG9pbnQoK3QobCxzLGEpLCtlKGwscyxhKSk7aWYoYylyZXR1cm4gbz1udWxsLGMrIiJ8fG51bGx9cmV0dXJuIGEueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOkQ4KCtlKSxhKTp0fSxhLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpEOCgrdCksYSk6ZX0sYS5kZWZpbmVkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoISF0KSxhKTpufSxhLmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPXQsbnVsbCE9aSYmKG89cihpKSksYSk6cn0sYS5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P2k9bz1udWxsOm89cihpPXQpLGEpOml9LGF9ZnVuY3Rpb24gYzcoKXt2YXIgdD1hNyxlPW51bGwsbj1EOCgwKSxpPXM3LHI9RDgoITApLG89bnVsbCxhPW83LHM9bnVsbDtmdW5jdGlvbiBsKGwpe3ZhciBjLHUsaCxkLHAsZj1sLmxlbmd0aCxtPSExLGc9bmV3IEFycmF5KGYpLF89bmV3IEFycmF5KGYpO2ZvcihudWxsPT1vJiYocz1hKHA9ejgoKSkpLGM9MDtjPD1mOysrYyl7aWYoIShjPGYmJnIoZD1sW2NdLGMsbCkpPT09bSlpZihtPSFtKXU9YyxzLmFyZWFTdGFydCgpLHMubGluZVN0YXJ0KCk7ZWxzZXtmb3Iocy5saW5lRW5kKCkscy5saW5lU3RhcnQoKSxoPWMtMTtoPj11Oy0taClzLnBvaW50KGdbaF0sX1toXSk7cy5saW5lRW5kKCkscy5hcmVhRW5kKCl9bSYmKGdbY109K3QoZCxjLGwpLF9bY109K24oZCxjLGwpLHMucG9pbnQoZT8rZShkLGMsbCk6Z1tjXSxpPytpKGQsYyxsKTpfW2NdKSl9aWYocClyZXR1cm4gcz1udWxsLHArIiJ8fG51bGx9ZnVuY3Rpb24gYygpe3JldHVybiBsNygpLmRlZmluZWQocikuY3VydmUoYSkuY29udGV4dChvKX1yZXR1cm4gbC54PWZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBuP246RDgoK24pLGU9bnVsbCxsKTp0fSxsLngwPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6RDgoK2UpLGwpOnR9LGwueDE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9bnVsbD09dD9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoK3QpLGwpOmV9LGwueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxpPW51bGwsbCk6bn0sbC55MD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxsKTpufSxsLnkxPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxsKTppfSxsLmxpbmVYMD1sLmxpbmVZMD1mdW5jdGlvbigpe3JldHVybiBjKCkueCh0KS55KG4pfSxsLmxpbmVZMT1mdW5jdGlvbigpe3JldHVybiBjKCkueCh0KS55KGkpfSxsLmxpbmVYMT1mdW5jdGlvbigpe3JldHVybiBjKCkueChlKS55KG4pfSxsLmRlZmluZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpEOCghIXQpLGwpOnJ9LGwuY3VydmU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9dCxudWxsIT1vJiYocz1hKG8pKSxsKTphfSxsLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG51bGw9PXQ/bz1zPW51bGw6cz1hKG89dCksbCk6b30sbH1mdW5jdGlvbiB1Nyh0LGUpe3JldHVybiBlPHQ/LTE6ZT50PzE6ZT49dD8wOk5hTn1mdW5jdGlvbiBoNyh0KXtyZXR1cm4gdH1yNy5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2RlZmF1bHQ6dGhpcy5fY29udGV4dC5saW5lVG8odCxlKX19fTt2YXIgZDc9ZjcobzcpO2Z1bmN0aW9uIHA3KHQpe3RoaXMuX2N1cnZlPXR9ZnVuY3Rpb24gZjcodCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4gbmV3IHA3KHQoZSkpfXJldHVybiBlLl9jdXJ2ZT10LGV9ZnVuY3Rpb24gbTcodCl7dmFyIGU9dC5jdXJ2ZTtyZXR1cm4gdC5hbmdsZT10LngsZGVsZXRlIHQueCx0LnJhZGl1cz10LnksZGVsZXRlIHQueSx0LmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP2UoZjcodCkpOmUoKS5fY3VydmV9LHR9ZnVuY3Rpb24gZzcoKXtyZXR1cm4gbTcobDcoKS5jdXJ2ZShkNykpfWZ1bmN0aW9uIF83KCl7dmFyIHQ9YzcoKS5jdXJ2ZShkNyksZT10LmN1cnZlLG49dC5saW5lWDAsaT10LmxpbmVYMSxyPXQubGluZVkwLG89dC5saW5lWTE7cmV0dXJuIHQuYW5nbGU9dC54LGRlbGV0ZSB0LngsdC5zdGFydEFuZ2xlPXQueDAsZGVsZXRlIHQueDAsdC5lbmRBbmdsZT10LngxLGRlbGV0ZSB0LngxLHQucmFkaXVzPXQueSxkZWxldGUgdC55LHQuaW5uZXJSYWRpdXM9dC55MCxkZWxldGUgdC55MCx0Lm91dGVyUmFkaXVzPXQueTEsZGVsZXRlIHQueTEsdC5saW5lU3RhcnRBbmdsZT1mdW5jdGlvbigpe3JldHVybiBtNyhuKCkpfSxkZWxldGUgdC5saW5lWDAsdC5saW5lRW5kQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gbTcoaSgpKX0sZGVsZXRlIHQubGluZVgxLHQubGluZUlubmVyUmFkaXVzPWZ1bmN0aW9uKCl7cmV0dXJuIG03KHIoKSl9LGRlbGV0ZSB0LmxpbmVZMCx0LmxpbmVPdXRlclJhZGl1cz1mdW5jdGlvbigpe3JldHVybiBtNyhvKCkpfSxkZWxldGUgdC5saW5lWTEsdC5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD9lKGY3KHQpKTplKCkuX2N1cnZlfSx0fWZ1bmN0aW9uIHk3KHQsZSl7cmV0dXJuWyhlPStlKSpNYXRoLmNvcyh0LT1NYXRoLlBJLzIpLGUqTWF0aC5zaW4odCldfXA3LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fY3VydmUuYXJlYVN0YXJ0KCl9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9jdXJ2ZS5hcmVhRW5kKCl9LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX2N1cnZlLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dGhpcy5fY3VydmUubGluZUVuZCgpfSxwb2ludDpmdW5jdGlvbih0LGUpe3RoaXMuX2N1cnZlLnBvaW50KGUqTWF0aC5zaW4odCksZSotTWF0aC5jb3ModCkpfX07dmFyIHY3PUFycmF5LnByb3RvdHlwZS5zbGljZTtmdW5jdGlvbiBiNyh0KXtyZXR1cm4gdC5zb3VyY2V9ZnVuY3Rpb24geDcodCl7cmV0dXJuIHQudGFyZ2V0fWZ1bmN0aW9uIHc3KHQpe3ZhciBlPWI3LG49eDcsaT1hNyxyPXM3LG89bnVsbDtmdW5jdGlvbiBhKCl7dmFyIGEscz12Ny5jYWxsKGFyZ3VtZW50cyksbD1lLmFwcGx5KHRoaXMscyksYz1uLmFwcGx5KHRoaXMscyk7aWYob3x8KG89YT16OCgpKSx0KG8sK2kuYXBwbHkodGhpcywoc1swXT1sLHMpKSwrci5hcHBseSh0aGlzLHMpLCtpLmFwcGx5KHRoaXMsKHNbMF09YyxzKSksK3IuYXBwbHkodGhpcyxzKSksYSlyZXR1cm4gbz1udWxsLGErIiJ8fG51bGx9cmV0dXJuIGEuc291cmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPXQsYSk6ZX0sYS50YXJnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxhKTpufSxhLng9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpEOCgrdCksYSk6aX0sYS55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoK3QpLGEpOnJ9LGEuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz1udWxsPT10P251bGw6dCxhKTpvfSxhfWZ1bmN0aW9uIFM3KHQsZSxuLGkscil7dC5tb3ZlVG8oZSxuKSx0LmJlemllckN1cnZlVG8oZT0oZStpKS8yLG4sZSxyLGkscil9ZnVuY3Rpb24gTTcodCxlLG4saSxyKXt0Lm1vdmVUbyhlLG4pLHQuYmV6aWVyQ3VydmVUbyhlLG49KG4rcikvMixpLG4saSxyKX1mdW5jdGlvbiBFNyh0LGUsbixpLHIpe3ZhciBvPXk3KGUsbiksYT15NyhlLG49KG4rcikvMikscz15NyhpLG4pLGw9eTcoaSxyKTt0Lm1vdmVUbyhvWzBdLG9bMV0pLHQuYmV6aWVyQ3VydmVUbyhhWzBdLGFbMV0sc1swXSxzWzFdLGxbMF0sbFsxXSl9dmFyIFQ3PXtkcmF3OmZ1bmN0aW9uKHQsZSl7dmFyIG49TWF0aC5zcXJ0KGUvcTgpO3QubW92ZVRvKG4sMCksdC5hcmMoMCwwLG4sMCxYOCl9fSxDNz17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciBuPU1hdGguc3FydChlLzUpLzI7dC5tb3ZlVG8oLTMqbiwtbiksdC5saW5lVG8oLW4sLW4pLHQubGluZVRvKC1uLC0zKm4pLHQubGluZVRvKG4sLTMqbiksdC5saW5lVG8obiwtbiksdC5saW5lVG8oMypuLC1uKSx0LmxpbmVUbygzKm4sbiksdC5saW5lVG8obixuKSx0LmxpbmVUbyhuLDMqbiksdC5saW5lVG8oLW4sMypuKSx0LmxpbmVUbygtbixuKSx0LmxpbmVUbygtMypuLG4pLHQuY2xvc2VQYXRoKCl9fSxBNz1NYXRoLnNxcnQoMS8zKSxrNz0yKkE3LEw3PXtkcmF3OmZ1bmN0aW9uKHQsZSl7dmFyIG49TWF0aC5zcXJ0KGUvazcpLGk9bipBNzt0Lm1vdmVUbygwLC1uKSx0LmxpbmVUbyhpLDApLHQubGluZVRvKDAsbiksdC5saW5lVG8oLWksMCksdC5jbG9zZVBhdGgoKX19LFA3PU1hdGguc2luKHE4LzEwKS9NYXRoLnNpbig3KnE4LzEwKSxONz1NYXRoLnNpbihYOC8xMCkqUDcsSTc9LU1hdGguY29zKFg4LzEwKSpQNyxSNz17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciBuPU1hdGguc3FydCguODkwODEzMDkxNTI5Mjg1MiplKSxpPU43Km4scj1JNypuO3QubW92ZVRvKDAsLW4pLHQubGluZVRvKGkscik7Zm9yKHZhciBvPTE7bzw1Oysrbyl7dmFyIGE9WDgqby81LHM9TWF0aC5jb3MoYSksbD1NYXRoLnNpbihhKTt0LmxpbmVUbyhsKm4sLXMqbiksdC5saW5lVG8ocyppLWwqcixsKmkrcypyKX10LmNsb3NlUGF0aCgpfX0sTzc9e2RyYXc6ZnVuY3Rpb24odCxlKXt2YXIgbj1NYXRoLnNxcnQoZSksaT0tbi8yO3QucmVjdChpLGksbixuKX19LHo3PU1hdGguc3FydCgzKSxENz17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciBuPS1NYXRoLnNxcnQoZS8oMyp6NykpO3QubW92ZVRvKDAsMipuKSx0LmxpbmVUbygtejcqbiwtbiksdC5saW5lVG8oejcqbiwtbiksdC5jbG9zZVBhdGgoKX19LEI3PS0uNSxINz1NYXRoLnNxcnQoMykvMixGNz0xL01hdGguc3FydCgxMiksVjc9MyooRjcvMisxKSxVNz17ZHJhdzpmdW5jdGlvbih0LGUpe3ZhciBuPU1hdGguc3FydChlL1Y3KSxpPW4vMixyPW4qRjcsbz1pLGE9bipGNytuLHM9LW8sbD1hO3QubW92ZVRvKGksciksdC5saW5lVG8obyxhKSx0LmxpbmVUbyhzLGwpLHQubGluZVRvKEI3KmktSDcqcixINyppK0I3KnIpLHQubGluZVRvKEI3Km8tSDcqYSxINypvK0I3KmEpLHQubGluZVRvKEI3KnMtSDcqbCxINypzK0I3KmwpLHQubGluZVRvKEI3KmkrSDcqcixCNypyLUg3KmkpLHQubGluZVRvKEI3Km8rSDcqYSxCNyphLUg3Km8pLHQubGluZVRvKEI3KnMrSDcqbCxCNypsLUg3KnMpLHQuY2xvc2VQYXRoKCl9fSxqNz1bVDcsQzcsTDcsTzcsUjcsRDcsVTddO2Z1bmN0aW9uIEc3KCl7fWZ1bmN0aW9uIFc3KHQsZSxuKXt0Ll9jb250ZXh0LmJlemllckN1cnZlVG8oKDIqdC5feDArdC5feDEpLzMsKDIqdC5feTArdC5feTEpLzMsKHQuX3gwKzIqdC5feDEpLzMsKHQuX3kwKzIqdC5feTEpLzMsKHQuX3gwKzQqdC5feDErZSkvNiwodC5feTArNCp0Ll95MStuKS82KX1mdW5jdGlvbiBxNyh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gWTcodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIFg3KHQpe3RoaXMuX2NvbnRleHQ9dH1mdW5jdGlvbiAkNyh0LGUpe3RoaXMuX2Jhc2lzPW5ldyBxNyh0KSx0aGlzLl9iZXRhPWV9cTcucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feTA9dGhpcy5feTE9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMzpXNyh0aGlzLHRoaXMuX3gxLHRoaXMuX3kxKTtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDEsdGhpcy5feTEpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9Myx0aGlzLl9jb250ZXh0LmxpbmVUbygoNSp0aGlzLl94MCt0aGlzLl94MSkvNiwoNSp0aGlzLl95MCt0aGlzLl95MSkvNik7ZGVmYXVsdDpXNyh0aGlzLHQsZSl9dGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT1lfX0sWTcucHJvdG90eXBlPXthcmVhU3RhcnQ6RzcsYXJlYUVuZDpHNyxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl94Mz10aGlzLl94ND10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj10aGlzLl95Mz10aGlzLl95ND1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAxOnRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3gyLHRoaXMuX3kyKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMjp0aGlzLl9jb250ZXh0Lm1vdmVUbygodGhpcy5feDIrMip0aGlzLl94MykvMywodGhpcy5feTIrMip0aGlzLl95MykvMyksdGhpcy5fY29udGV4dC5saW5lVG8oKHRoaXMuX3gzKzIqdGhpcy5feDIpLzMsKHRoaXMuX3kzKzIqdGhpcy5feTIpLzMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAzOnRoaXMucG9pbnQodGhpcy5feDIsdGhpcy5feTIpLHRoaXMucG9pbnQodGhpcy5feDMsdGhpcy5feTMpLHRoaXMucG9pbnQodGhpcy5feDQsdGhpcy5feTQpfX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl94Mj10LHRoaXMuX3kyPWU7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTIsdGhpcy5feDM9dCx0aGlzLl95Mz1lO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLHRoaXMuX3g0PXQsdGhpcy5feTQ9ZSx0aGlzLl9jb250ZXh0Lm1vdmVUbygodGhpcy5feDArNCp0aGlzLl94MSt0KS82LCh0aGlzLl95MCs0KnRoaXMuX3kxK2UpLzYpO2JyZWFrO2RlZmF1bHQ6VzcodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9ZX19LFg3LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3kwPXRoaXMuX3kxPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYzPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zO3ZhciBuPSh0aGlzLl94MCs0KnRoaXMuX3gxK3QpLzYsaT0odGhpcy5feTArNCp0aGlzLl95MStlKS82O3RoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8obixpKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyhuLGkpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6VzcodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9ZX19LCQ3LnByb3RvdHlwZT17bGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feD1bXSx0aGlzLl95PVtdLHRoaXMuX2Jhc2lzLmxpbmVTdGFydCgpfSxsaW5lRW5kOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5feCxlPXRoaXMuX3ksbj10Lmxlbmd0aC0xO2lmKG4+MClmb3IodmFyIGkscj10WzBdLG89ZVswXSxhPXRbbl0tcixzPWVbbl0tbyxsPS0xOysrbDw9bjspdGhpcy5fYmFzaXMucG9pbnQodGhpcy5fYmV0YSp0W2xdKygxLXRoaXMuX2JldGEpKihyKyhpPWwvbikqYSksdGhpcy5fYmV0YSplW2xdKygxLXRoaXMuX2JldGEpKihvK2kqcykpO3RoaXMuX3g9dGhpcy5feT1udWxsLHRoaXMuX2Jhc2lzLmxpbmVFbmQoKX0scG9pbnQ6ZnVuY3Rpb24odCxlKXt0aGlzLl94LnB1c2goK3QpLHRoaXMuX3kucHVzaCgrZSl9fTt2YXIgSzc9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gMT09PWU/bmV3IHE3KHQpOm5ldyAkNyh0LGUpfXJldHVybiBuLmJldGE9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoLjg1KTtmdW5jdGlvbiBaNyh0LGUsbil7dC5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKHQuX3gxK3QuX2sqKHQuX3gyLXQuX3gwKSx0Ll95MSt0Ll9rKih0Ll95Mi10Ll95MCksdC5feDIrdC5fayoodC5feDEtZSksdC5feTIrdC5fayoodC5feTEtbiksdC5feDIsdC5feTIpfWZ1bmN0aW9uIEo3KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2s9KDEtZSkvNn1KNy5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj1OYU4sdGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3N3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gyLHRoaXMuX3kyKTticmVhaztjYXNlIDM6WjcodGhpcyx0aGlzLl94MSx0aGlzLl95MSl9KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX3gxPXQsdGhpcy5feTE9ZTticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9MztkZWZhdWx0Olo3KHRoaXMsdCxlKX10aGlzLl94MD10aGlzLl94MSx0aGlzLl94MT10aGlzLl94Mix0aGlzLl94Mj10LHRoaXMuX3kwPXRoaXMuX3kxLHRoaXMuX3kxPXRoaXMuX3kyLHRoaXMuX3kyPWV9fTt2YXIgUTc9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gbmV3IEo3KHQsZSl9cmV0dXJuIG4udGVuc2lvbj1mdW5jdGlvbihlKXtyZXR1cm4gdCgrZSl9LG59KSgwKTtmdW5jdGlvbiB0dHQodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5faz0oMS1lKS82fXR0dC5wcm90b3R5cGU9e2FyZWFTdGFydDpHNyxhcmVhRW5kOkc3LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3gzPXRoaXMuX3g0PXRoaXMuX3g1PXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPXRoaXMuX3kzPXRoaXMuX3k0PXRoaXMuX3k1PU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDE6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDMsdGhpcy5feTMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAyOnRoaXMuX2NvbnRleHQubGluZVRvKHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpO2JyZWFrO2Nhc2UgMzp0aGlzLnBvaW50KHRoaXMuX3gzLHRoaXMuX3kzKSx0aGlzLnBvaW50KHRoaXMuX3g0LHRoaXMuX3k0KSx0aGlzLnBvaW50KHRoaXMuX3g1LHRoaXMuX3k1KX19LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5feDM9dCx0aGlzLl95Mz1lO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3g0PXQsdGhpcy5feTQ9ZSk7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5feDU9dCx0aGlzLl95NT1lO2JyZWFrO2RlZmF1bHQ6WjcodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciBldHQ9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gbmV3IHR0dCh0LGUpfXJldHVybiBuLnRlbnNpb249ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoMCk7ZnVuY3Rpb24gbnR0KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2s9KDEtZSkvNn1udHQucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXsodGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjM9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQ9K3QsZT0rZSx0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTE7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Mix0aGlzLl95Mik6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6WjcodGhpcyx0LGUpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciBpdHQ9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gbmV3IG50dCh0LGUpfXJldHVybiBuLnRlbnNpb249ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoMCk7ZnVuY3Rpb24gcnR0KHQsZSxuKXt2YXIgaT10Ll94MSxyPXQuX3kxLG89dC5feDIsYT10Ll95MjtpZih0Ll9sMDFfYT5XOCl7dmFyIHM9Mip0Ll9sMDFfMmErMyp0Ll9sMDFfYSp0Ll9sMTJfYSt0Ll9sMTJfMmEsbD0zKnQuX2wwMV9hKih0Ll9sMDFfYSt0Ll9sMTJfYSk7aT0oaSpzLXQuX3gwKnQuX2wxMl8yYSt0Ll94Mip0Ll9sMDFfMmEpL2wscj0ocipzLXQuX3kwKnQuX2wxMl8yYSt0Ll95Mip0Ll9sMDFfMmEpL2x9aWYodC5fbDIzX2E+Vzgpe3ZhciBjPTIqdC5fbDIzXzJhKzMqdC5fbDIzX2EqdC5fbDEyX2ErdC5fbDEyXzJhLHU9Myp0Ll9sMjNfYSoodC5fbDIzX2ErdC5fbDEyX2EpO289KG8qYyt0Ll94MSp0Ll9sMjNfMmEtZSp0Ll9sMTJfMmEpL3UsYT0oYSpjK3QuX3kxKnQuX2wyM18yYS1uKnQuX2wxMl8yYSkvdX10Ll9jb250ZXh0LmJlemllckN1cnZlVG8oaSxyLG8sYSx0Ll94Mix0Ll95Mil9ZnVuY3Rpb24gb3R0KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2FscGhhPWV9b3R0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9sMDFfYT10aGlzLl9sMTJfYT10aGlzLl9sMjNfYT10aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhPXRoaXMuX2wyM18yYT10aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzp0aGlzLnBvaW50KHRoaXMuX3gyLHRoaXMuX3kyKX0odGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjE9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7aWYodD0rdCxlPStlLHRoaXMuX3BvaW50KXt2YXIgbj10aGlzLl94Mi10LGk9dGhpcy5feTItZTt0aGlzLl9sMjNfYT1NYXRoLnNxcnQodGhpcy5fbDIzXzJhPU1hdGgucG93KG4qbitpKmksdGhpcy5fYWxwaGEpKX1zd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zO2RlZmF1bHQ6cnR0KHRoaXMsdCxlKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX07dmFyIGF0dD0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBlP25ldyBvdHQodCxlKTpuZXcgSjcodCwwKX1yZXR1cm4gbi5hbHBoYT1mdW5jdGlvbihlKXtyZXR1cm4gdCgrZSl9LG59KSguNSk7ZnVuY3Rpb24gc3R0KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2FscGhhPWV9c3R0LnByb3RvdHlwZT17YXJlYVN0YXJ0Okc3LGFyZWFFbmQ6RzcsbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5feDA9dGhpcy5feDE9dGhpcy5feDI9dGhpcy5feDM9dGhpcy5feDQ9dGhpcy5feDU9dGhpcy5feTA9dGhpcy5feTE9dGhpcy5feTI9dGhpcy5feTM9dGhpcy5feTQ9dGhpcy5feTU9TmFOLHRoaXMuX2wwMV9hPXRoaXMuX2wxMl9hPXRoaXMuX2wyM19hPXRoaXMuX2wwMV8yYT10aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhPXRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0aGlzLl94Myx0aGlzLl95MyksdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKTticmVhaztjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDMsdGhpcy5feTMpLHRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCk7YnJlYWs7Y2FzZSAzOnRoaXMucG9pbnQodGhpcy5feDMsdGhpcy5feTMpLHRoaXMucG9pbnQodGhpcy5feDQsdGhpcy5feTQpLHRoaXMucG9pbnQodGhpcy5feDUsdGhpcy5feTUpfX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtpZih0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe3ZhciBuPXRoaXMuX3gyLXQsaT10aGlzLl95Mi1lO3RoaXMuX2wyM19hPU1hdGguc3FydCh0aGlzLl9sMjNfMmE9TWF0aC5wb3cobipuK2kqaSx0aGlzLl9hbHBoYSkpfXN3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTEsdGhpcy5feDM9dCx0aGlzLl95Mz1lO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX2NvbnRleHQubW92ZVRvKHRoaXMuX3g0PXQsdGhpcy5feTQ9ZSk7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5feDU9dCx0aGlzLl95NT1lO2JyZWFrO2RlZmF1bHQ6cnR0KHRoaXMsdCxlKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX07dmFyIGx0dD0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBlP25ldyBzdHQodCxlKTpuZXcgdHR0KHQsMCl9cmV0dXJuIG4uYWxwaGE9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoLjUpO2Z1bmN0aW9uIGN0dCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl9hbHBoYT1lfWN0dC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94MD10aGlzLl94MT10aGlzLl94Mj10aGlzLl95MD10aGlzLl95MT10aGlzLl95Mj1OYU4sdGhpcy5fbDAxX2E9dGhpcy5fbDEyX2E9dGhpcy5fbDIzX2E9dGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmE9dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpeyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMz09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtpZih0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe3ZhciBuPXRoaXMuX3gyLXQsaT10aGlzLl95Mi1lO3RoaXMuX2wyM19hPU1hdGguc3FydCh0aGlzLl9sMjNfMmE9TWF0aC5wb3cobipuK2kqaSx0aGlzLl9hbHBoYSkpfXN3aXRjaCh0aGlzLl9wb2ludCl7Y2FzZSAwOnRoaXMuX3BvaW50PTE7YnJlYWs7Y2FzZSAxOnRoaXMuX3BvaW50PTI7YnJlYWs7Y2FzZSAyOnRoaXMuX3BvaW50PTMsdGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94Mix0aGlzLl95Mik6dGhpcy5fY29udGV4dC5tb3ZlVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzp0aGlzLl9wb2ludD00O2RlZmF1bHQ6cnR0KHRoaXMsdCxlKX10aGlzLl9sMDFfYT10aGlzLl9sMTJfYSx0aGlzLl9sMTJfYT10aGlzLl9sMjNfYSx0aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhLHRoaXMuX2wxMl8yYT10aGlzLl9sMjNfMmEsdGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX07dmFyIHV0dD0oZnVuY3Rpb24gdChlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBlP25ldyBjdHQodCxlKTpuZXcgbnR0KHQsMCl9cmV0dXJuIG4uYWxwaGE9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoK2UpfSxufSkoLjUpO2Z1bmN0aW9uIGh0dCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gZHR0KHQpe3JldHVybiB0PDA/LTE6MX1mdW5jdGlvbiBwdHQodCxlLG4pe3ZhciBpPXQuX3gxLXQuX3gwLHI9ZS10Ll94MSxvPSh0Ll95MS10Ll95MCkvKGl8fHI8MCYmLTApLGE9KG4tdC5feTEpLyhyfHxpPDAmJi0wKSxzPShvKnIrYSppKS8oaStyKTtyZXR1cm4oZHR0KG8pK2R0dChhKSkqTWF0aC5taW4oTWF0aC5hYnMobyksTWF0aC5hYnMoYSksLjUqTWF0aC5hYnMocykpfHwwfWZ1bmN0aW9uIGZ0dCh0LGUpe3ZhciBuPXQuX3gxLXQuX3gwO3JldHVybiBuPygzKih0Ll95MS10Ll95MCkvbi1lKS8yOmV9ZnVuY3Rpb24gbXR0KHQsZSxuKXt2YXIgaT10Ll94MCxyPXQuX3gxLG89dC5feTEsYT0oci1pKS8zO3QuX2NvbnRleHQuYmV6aWVyQ3VydmVUbyhpK2EsdC5feTArYSplLHItYSxvLWEqbixyLG8pfWZ1bmN0aW9uIGd0dCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gX3R0KHQpe3RoaXMuX2NvbnRleHQ9bmV3IHl0dCh0KX1mdW5jdGlvbiB5dHQodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIHZ0dCh0KXt0aGlzLl9jb250ZXh0PXR9ZnVuY3Rpb24gYnR0KHQpe3ZhciBlLG4saT10Lmxlbmd0aC0xLHI9bmV3IEFycmF5KGkpLG89bmV3IEFycmF5KGkpLGE9bmV3IEFycmF5KGkpO2ZvcihyWzBdPTAsb1swXT0yLGFbMF09dFswXSsyKnRbMV0sZT0xO2U8aS0xOysrZSlyW2VdPTEsb1tlXT00LGFbZV09NCp0W2VdKzIqdFtlKzFdO2ZvcihyW2ktMV09MixvW2ktMV09NyxhW2ktMV09OCp0W2ktMV0rdFtpXSxlPTE7ZTxpOysrZSlvW2VdLT1uPXJbZV0vb1tlLTFdLGFbZV0tPW4qYVtlLTFdO2ZvcihyW2ktMV09YVtpLTFdL29baS0xXSxlPWktMjtlPj0wOy0tZSlyW2VdPShhW2VdLXJbZSsxXSkvb1tlXTtmb3Iob1tpLTFdPSh0W2ldK3JbaS0xXSkvMixlPTA7ZTxpLTE7KytlKW9bZV09Mip0W2UrMV0tcltlKzFdO3JldHVybltyLG9dfWZ1bmN0aW9uIHh0dCh0LGUpe3RoaXMuX2NvbnRleHQ9dCx0aGlzLl90PWV9ZnVuY3Rpb24gd3R0KHQsZSl7aWYoKHI9dC5sZW5ndGgpPjEpZm9yKHZhciBuLGkscixvPTEsYT10W2VbMF1dLHM9YS5sZW5ndGg7bzxyOysrbylmb3IoaT1hLGE9dFtlW29dXSxuPTA7bjxzOysrbilhW25dWzFdKz1hW25dWzBdPWlzTmFOKGlbbl1bMV0pP2lbbl1bMF06aVtuXVsxXX1mdW5jdGlvbiBTdHQodCl7Zm9yKHZhciBlPXQubGVuZ3RoLG49bmV3IEFycmF5KGUpOy0tZT49MDspbltlXT1lO3JldHVybiBufWZ1bmN0aW9uIE10dCh0LGUpe3JldHVybiB0W2VdfWZ1bmN0aW9uIEV0dCh0KXt2YXIgZT10Lm1hcChUdHQpO3JldHVybiBTdHQodCkuc29ydCgoZnVuY3Rpb24odCxuKXtyZXR1cm4gZVt0XS1lW25dfSkpfWZ1bmN0aW9uIFR0dCh0KXtmb3IodmFyIGUsbj0wLGk9LTEscj10Lmxlbmd0aDsrK2k8cjspKGU9K3RbaV1bMV0pJiYobis9ZSk7cmV0dXJuIG59aHR0LnByb3RvdHlwZT17YXJlYVN0YXJ0Okc3LGFyZWFFbmQ6RzcsbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpe3RoaXMuX3BvaW50JiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpfSxwb2ludDpmdW5jdGlvbih0LGUpe3Q9K3QsZT0rZSx0aGlzLl9wb2ludD90aGlzLl9jb250ZXh0LmxpbmVUbyh0LGUpOih0aGlzLl9wb2ludD0xLHRoaXMuX2NvbnRleHQubW92ZVRvKHQsZSkpfX0sZ3R0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3QwPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDEsdGhpcy5feTEpO2JyZWFrO2Nhc2UgMzptdHQodGhpcyx0aGlzLl90MCxmdHQodGhpcyx0aGlzLl90MCkpfSh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXt2YXIgbj1OYU47aWYoZT0rZSwodD0rdCkhPT10aGlzLl94MXx8ZSE9PXRoaXMuX3kxKXtzd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zLG10dCh0aGlzLGZ0dCh0aGlzLG49cHR0KHRoaXMsdCxlKSksbik7YnJlYWs7ZGVmYXVsdDptdHQodGhpcyx0aGlzLl90MCxuPXB0dCh0aGlzLHQsZSkpfXRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9ZSx0aGlzLl90MD1ufX19LChfdHQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZ3R0LnByb3RvdHlwZSkpLnBvaW50PWZ1bmN0aW9uKHQsZSl7Z3R0LnByb3RvdHlwZS5wb2ludC5jYWxsKHRoaXMsZSx0KX0seXR0LnByb3RvdHlwZT17bW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fY29udGV4dC5tb3ZlVG8oZSx0KX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7dGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKX0sbGluZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fY29udGV4dC5saW5lVG8oZSx0KX0sYmV6aWVyQ3VydmVUbzpmdW5jdGlvbih0LGUsbixpLHIsbyl7dGhpcy5fY29udGV4dC5iZXppZXJDdXJ2ZVRvKGUsdCxpLG4sbyxyKX19LHZ0dC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94PVtdLHRoaXMuX3k9W119LGxpbmVFbmQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl94LGU9dGhpcy5feSxuPXQubGVuZ3RoO2lmKG4paWYodGhpcy5fbGluZT90aGlzLl9jb250ZXh0LmxpbmVUbyh0WzBdLGVbMF0pOnRoaXMuX2NvbnRleHQubW92ZVRvKHRbMF0sZVswXSksMj09PW4pdGhpcy5fY29udGV4dC5saW5lVG8odFsxXSxlWzFdKTtlbHNlIGZvcih2YXIgaT1idHQodCkscj1idHQoZSksbz0wLGE9MTthPG47KytvLCsrYSl0aGlzLl9jb250ZXh0LmJlemllckN1cnZlVG8oaVswXVtvXSxyWzBdW29dLGlbMV1bb10sclsxXVtvXSx0W2FdLGVbYV0pOyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PW4pJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lLHRoaXMuX3g9dGhpcy5feT1udWxsfSxwb2ludDpmdW5jdGlvbih0LGUpe3RoaXMuX3gucHVzaCgrdCksdGhpcy5feS5wdXNoKCtlKX19LHh0dC5wcm90b3R5cGU9e2FyZWFTdGFydDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9MH0sYXJlYUVuZDpmdW5jdGlvbigpe3RoaXMuX2xpbmU9TmFOfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl94PXRoaXMuX3k9TmFOLHRoaXMuX3BvaW50PTB9LGxpbmVFbmQ6ZnVuY3Rpb24oKXswPHRoaXMuX3QmJnRoaXMuX3Q8MSYmMj09PXRoaXMuX3BvaW50JiZ0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94LHRoaXMuX3kpLCh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPj0wJiYodGhpcy5fdD0xLXRoaXMuX3QsdGhpcy5fbGluZT0xLXRoaXMuX2xpbmUpfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2RlZmF1bHQ6aWYodGhpcy5fdDw9MCl0aGlzLl9jb250ZXh0LmxpbmVUbyh0aGlzLl94LGUpLHRoaXMuX2NvbnRleHQubGluZVRvKHQsZSk7ZWxzZXt2YXIgbj10aGlzLl94KigxLXRoaXMuX3QpK3QqdGhpcy5fdDt0aGlzLl9jb250ZXh0LmxpbmVUbyhuLHRoaXMuX3kpLHRoaXMuX2NvbnRleHQubGluZVRvKG4sZSl9fXRoaXMuX3g9dCx0aGlzLl95PWV9fTt2YXIgQ3R0PW5ldyBEYXRlLEF0dD1uZXcgRGF0ZTtmdW5jdGlvbiBrdHQodCxlLG4saSl7ZnVuY3Rpb24gcihlKXtyZXR1cm4gdChlPW5ldyBEYXRlKCtlKSksZX1yZXR1cm4gci5mbG9vcj1yLHIuY2VpbD1mdW5jdGlvbihuKXtyZXR1cm4gdChuPW5ldyBEYXRlKG4tMSkpLGUobiwxKSx0KG4pLG59LHIucm91bmQ9ZnVuY3Rpb24odCl7dmFyIGU9cih0KSxuPXIuY2VpbCh0KTtyZXR1cm4gdC1lPG4tdD9lOm59LHIub2Zmc2V0PWZ1bmN0aW9uKHQsbil7cmV0dXJuIGUodD1uZXcgRGF0ZSgrdCksbnVsbD09bj8xOk1hdGguZmxvb3IobikpLHR9LHIucmFuZ2U9ZnVuY3Rpb24obixpLG8pe3ZhciBhLHM9W107aWYobj1yLmNlaWwobiksbz1udWxsPT1vPzE6TWF0aC5mbG9vcihvKSwhKG48aSYmbz4wKSlyZXR1cm4gcztkb3tzLnB1c2goYT1uZXcgRGF0ZSgrbikpLGUobixvKSx0KG4pfXdoaWxlKGE8biYmbjxpKTtyZXR1cm4gc30sci5maWx0ZXI9ZnVuY3Rpb24obil7cmV0dXJuIGt0dCgoZnVuY3Rpb24oZSl7aWYoZT49ZSlmb3IoO3QoZSksIW4oZSk7KWUuc2V0VGltZShlLTEpfSksKGZ1bmN0aW9uKHQsaSl7aWYodD49dClpZihpPDApZm9yKDsrK2k8PTA7KWZvcig7ZSh0LC0xKSwhbih0KTspO2Vsc2UgZm9yKDstLWk+PTA7KWZvcig7ZSh0LDEpLCFuKHQpOyk7fSkpfSxuJiYoci5jb3VudD1mdW5jdGlvbihlLGkpe3JldHVybiBDdHQuc2V0VGltZSgrZSksQXR0LnNldFRpbWUoK2kpLHQoQ3R0KSx0KEF0dCksTWF0aC5mbG9vcihuKEN0dCxBdHQpKX0sci5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP3IuZmlsdGVyKGk/ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSkldD09MH06ZnVuY3Rpb24oZSl7cmV0dXJuIHIuY291bnQoMCxlKSV0PT0wfSk6cjpudWxsfSkscn12YXIgTHR0PWt0dCgoZnVuY3Rpb24oKXt9KSwoZnVuY3Rpb24odCxlKXt0LnNldFRpbWUoK3QrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS10fSkpO0x0dC5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP2t0dCgoZnVuY3Rpb24oZSl7ZS5zZXRUaW1lKE1hdGguZmxvb3IoZS90KSp0KX0pLChmdW5jdGlvbihlLG4pe2Uuc2V0VGltZSgrZStuKnQpfSksKGZ1bmN0aW9uKGUsbil7cmV0dXJuKG4tZSkvdH0pKTpMdHQ6bnVsbH07dmFyIFB0dD1MdHQucmFuZ2UsTnR0PTFlMyxJdHQ9NmU0LFJ0dD0zNmU1LE90dD04NjRlNSx6dHQ9NjA0OGU1LER0dD1rdHQoKGZ1bmN0aW9uKHQpe3Quc2V0VGltZShNYXRoLmZsb29yKHQvTnR0KSpOdHQpfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqTnR0KX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL050dH0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENTZWNvbmRzKCl9KSksQnR0PUR0dC5yYW5nZSxIdHQ9a3R0KChmdW5jdGlvbih0KXt0LnNldFRpbWUoTWF0aC5mbG9vcih0L0l0dCkqSXR0KX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VGltZSgrdCtlKkl0dCl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS9JdHR9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0TWludXRlcygpfSkpLEZ0dD1IdHQucmFuZ2UsVnR0PWt0dCgoZnVuY3Rpb24odCl7dmFyIGU9dC5nZXRUaW1lem9uZU9mZnNldCgpKkl0dCVSdHQ7ZTwwJiYoZSs9UnR0KSx0LnNldFRpbWUoTWF0aC5mbG9vcigoK3QtZSkvUnR0KSpSdHQrZSl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFRpbWUoK3QrZSpSdHQpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvUnR0fSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldEhvdXJzKCl9KSksVXR0PVZ0dC5yYW5nZSxqdHQ9a3R0KChmdW5jdGlvbih0KXt0LnNldEhvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXREYXRlKHQuZ2V0RGF0ZSgpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdC0oZS5nZXRUaW1lem9uZU9mZnNldCgpLXQuZ2V0VGltZXpvbmVPZmZzZXQoKSkqSXR0KS9PdHR9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0RGF0ZSgpLTF9KSksR3R0PWp0dC5yYW5nZTtmdW5jdGlvbiBXdHQodCl7cmV0dXJuIGt0dCgoZnVuY3Rpb24oZSl7ZS5zZXREYXRlKGUuZ2V0RGF0ZSgpLShlLmdldERheSgpKzctdCklNyksZS5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RGF0ZSh0LmdldERhdGUoKSs3KmUpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdC0oZS5nZXRUaW1lem9uZU9mZnNldCgpLXQuZ2V0VGltZXpvbmVPZmZzZXQoKSkqSXR0KS96dHR9KSl9dmFyIHF0dD1XdHQoMCksWXR0PVd0dCgxKSxYdHQ9V3R0KDIpLCR0dD1XdHQoMyksS3R0PVd0dCg0KSxadHQ9V3R0KDUpLEp0dD1XdHQoNiksUXR0PXF0dC5yYW5nZSx0ZXQ9WXR0LnJhbmdlLGVldD1YdHQucmFuZ2UsbmV0PSR0dC5yYW5nZSxpZXQ9S3R0LnJhbmdlLHJldD1adHQucmFuZ2Usb2V0PUp0dC5yYW5nZSxhZXQ9a3R0KChmdW5jdGlvbih0KXt0LnNldERhdGUoMSksdC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0TW9udGgodC5nZXRNb250aCgpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0TW9udGgoKS10LmdldE1vbnRoKCkrMTIqKGUuZ2V0RnVsbFllYXIoKS10LmdldEZ1bGxZZWFyKCkpfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldE1vbnRoKCl9KSksc2V0PWFldC5yYW5nZSxjZXQ9a3R0KChmdW5jdGlvbih0KXt0LnNldE1vbnRoKDAsMSksdC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0RnVsbFllYXIoKS10LmdldEZ1bGxZZWFyKCl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0RnVsbFllYXIoKX0pKTtjZXQuZXZlcnk9ZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9TWF0aC5mbG9vcih0KSkmJnQ+MD9rdHQoKGZ1bmN0aW9uKGUpe2Uuc2V0RnVsbFllYXIoTWF0aC5mbG9vcihlLmdldEZ1bGxZZWFyKCkvdCkqdCksZS5zZXRNb250aCgwLDEpLGUuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24oZSxuKXtlLnNldEZ1bGxZZWFyKGUuZ2V0RnVsbFllYXIoKStuKnQpfSkpOm51bGx9O3ZhciB1ZXQ9Y2V0LnJhbmdlLGhldD1rdHQoKGZ1bmN0aW9uKHQpe3Quc2V0VVRDU2Vjb25kcygwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqSXR0KX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL0l0dH0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENNaW51dGVzKCl9KSksZGV0PWhldC5yYW5nZSxwZXQ9a3R0KChmdW5jdGlvbih0KXt0LnNldFVUQ01pbnV0ZXMoMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqUnR0KX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL1J0dH0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENIb3VycygpfSkpLGZldD1wZXQucmFuZ2UsbWV0PWt0dCgoZnVuY3Rpb24odCl7dC5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VVRDRGF0ZSh0LmdldFVUQ0RhdGUoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL090dH0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENEYXRlKCktMX0pKSxnZXQ9bWV0LnJhbmdlO2Z1bmN0aW9uIF9ldCh0KXtyZXR1cm4ga3R0KChmdW5jdGlvbihlKXtlLnNldFVUQ0RhdGUoZS5nZXRVVENEYXRlKCktKGUuZ2V0VVRDRGF5KCkrNy10KSU3KSxlLnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRVVENEYXRlKHQuZ2V0VVRDRGF0ZSgpKzcqZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS96dHR9KSl9dmFyIHlldD1fZXQoMCksdmV0PV9ldCgxKSxiZXQ9X2V0KDIpLHhldD1fZXQoMyksd2V0PV9ldCg0KSxNZXQ9X2V0KDUpLEVldD1fZXQoNiksVGV0PXlldC5yYW5nZSxDZXQ9dmV0LnJhbmdlLEFldD1iZXQucmFuZ2Usa2V0PXhldC5yYW5nZSxMZXQ9d2V0LnJhbmdlLFBldD1NZXQucmFuZ2UsTmV0PUVldC5yYW5nZSxJZXQ9a3R0KChmdW5jdGlvbih0KXt0LnNldFVUQ0RhdGUoMSksdC5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VVRDTW9udGgodC5nZXRVVENNb250aCgpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0VVRDTW9udGgoKS10LmdldFVUQ01vbnRoKCkrMTIqKGUuZ2V0VVRDRnVsbFllYXIoKS10LmdldFVUQ0Z1bGxZZWFyKCkpfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ01vbnRoKCl9KSksUmV0PUlldC5yYW5nZSxPZXQ9a3R0KChmdW5jdGlvbih0KXt0LnNldFVUQ01vbnRoKDAsMSksdC5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0VVRDRnVsbFllYXIodC5nZXRVVENGdWxsWWVhcigpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0VVRDRnVsbFllYXIoKS10LmdldFVUQ0Z1bGxZZWFyKCl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDRnVsbFllYXIoKX0pKTtPZXQuZXZlcnk9ZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9TWF0aC5mbG9vcih0KSkmJnQ+MD9rdHQoKGZ1bmN0aW9uKGUpe2Uuc2V0VVRDRnVsbFllYXIoTWF0aC5mbG9vcihlLmdldFVUQ0Z1bGxZZWFyKCkvdCkqdCksZS5zZXRVVENNb250aCgwLDEpLGUuc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24oZSxuKXtlLnNldFVUQ0Z1bGxZZWFyKGUuZ2V0VVRDRnVsbFllYXIoKStuKnQpfSkpOm51bGx9O3ZhciB6ZXQ9T2V0LnJhbmdlLERldD1uZXcgRGF0ZSxCZXQ9bmV3IERhdGU7ZnVuY3Rpb24gSGV0KHQsZSxuLGkpe2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHQoZT0wPT09YXJndW1lbnRzLmxlbmd0aD9uZXcgRGF0ZTpuZXcgRGF0ZSgrZSkpLGV9cmV0dXJuIHIuZmxvb3I9ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZT1uZXcgRGF0ZSgrZSkpLGV9LHIuY2VpbD1mdW5jdGlvbihuKXtyZXR1cm4gdChuPW5ldyBEYXRlKG4tMSkpLGUobiwxKSx0KG4pLG59LHIucm91bmQ9ZnVuY3Rpb24odCl7dmFyIGU9cih0KSxuPXIuY2VpbCh0KTtyZXR1cm4gdC1lPG4tdD9lOm59LHIub2Zmc2V0PWZ1bmN0aW9uKHQsbil7cmV0dXJuIGUodD1uZXcgRGF0ZSgrdCksbnVsbD09bj8xOk1hdGguZmxvb3IobikpLHR9LHIucmFuZ2U9ZnVuY3Rpb24obixpLG8pe3ZhciBhLHM9W107aWYobj1yLmNlaWwobiksbz1udWxsPT1vPzE6TWF0aC5mbG9vcihvKSwhKG48aSYmbz4wKSlyZXR1cm4gcztkb3tzLnB1c2goYT1uZXcgRGF0ZSgrbikpLGUobixvKSx0KG4pfXdoaWxlKGE8biYmbjxpKTtyZXR1cm4gc30sci5maWx0ZXI9ZnVuY3Rpb24obil7cmV0dXJuIEhldCgoZnVuY3Rpb24oZSl7aWYoZT49ZSlmb3IoO3QoZSksIW4oZSk7KWUuc2V0VGltZShlLTEpfSksKGZ1bmN0aW9uKHQsaSl7aWYodD49dClpZihpPDApZm9yKDsrK2k8PTA7KWZvcig7ZSh0LC0xKSwhbih0KTspO2Vsc2UgZm9yKDstLWk+PTA7KWZvcig7ZSh0LDEpLCFuKHQpOyk7fSkpfSxuJiYoci5jb3VudD1mdW5jdGlvbihlLGkpe3JldHVybiBEZXQuc2V0VGltZSgrZSksQmV0LnNldFRpbWUoK2kpLHQoRGV0KSx0KEJldCksTWF0aC5mbG9vcihuKERldCxCZXQpKX0sci5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLGlzRmluaXRlKHQpJiZ0PjA/dD4xP3IuZmlsdGVyKGk/ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSkldD09MH06ZnVuY3Rpb24oZSl7cmV0dXJuIHIuY291bnQoMCxlKSV0PT0wfSk6cjpudWxsfSkscn12YXIgRmV0PTg2NGU1LFZldD02MDQ4ZTUsVWV0PUhldCgoZnVuY3Rpb24odCl7dC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RGF0ZSh0LmdldERhdGUoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQtNmU0KihlLmdldFRpbWV6b25lT2Zmc2V0KCktdC5nZXRUaW1lem9uZU9mZnNldCgpKSkvRmV0fSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldERhdGUoKS0xfSkpO2Z1bmN0aW9uIGpldCh0KXtyZXR1cm4gSGV0KChmdW5jdGlvbihlKXtlLnNldERhdGUoZS5nZXREYXRlKCktKGUuZ2V0RGF5KCkrNy10KSU3KSxlLnNldEhvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXREYXRlKHQuZ2V0RGF0ZSgpKzcqZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10LTZlNCooZS5nZXRUaW1lem9uZU9mZnNldCgpLXQuZ2V0VGltZXpvbmVPZmZzZXQoKSkpL1ZldH0pKX12YXIgR2V0PWpldCgwKSxXZXQ9amV0KDEpO2pldCgyKSxqZXQoMyk7dmFyIHFldD1qZXQoNCk7amV0KDUpLGpldCg2KTt2YXIgWWV0PUhldCgoZnVuY3Rpb24odCl7dC5zZXRNb250aCgwLDEpLHQuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldEZ1bGxZZWFyKHQuZ2V0RnVsbFllYXIoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLmdldEZ1bGxZZWFyKCktdC5nZXRGdWxsWWVhcigpfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldEZ1bGxZZWFyKCl9KSk7WWV0LmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiBpc0Zpbml0ZSh0PU1hdGguZmxvb3IodCkpJiZ0PjA/SGV0KChmdW5jdGlvbihlKXtlLnNldEZ1bGxZZWFyKE1hdGguZmxvb3IoZS5nZXRGdWxsWWVhcigpL3QpKnQpLGUuc2V0TW9udGgoMCwxKSxlLnNldEhvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRGdWxsWWVhcihlLmdldEZ1bGxZZWFyKCkrbip0KX0pKTpudWxsfTt2YXIgWGV0PVlldCwkZXQ9SGV0KChmdW5jdGlvbih0KXt0LnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRVVENEYXRlKHQuZ2V0VVRDRGF0ZSgpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvRmV0fSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ0RhdGUoKS0xfSkpO2Z1bmN0aW9uIEtldCh0KXtyZXR1cm4gSGV0KChmdW5jdGlvbihlKXtlLnNldFVUQ0RhdGUoZS5nZXRVVENEYXRlKCktKGUuZ2V0VVRDRGF5KCkrNy10KSU3KSxlLnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRVVENEYXRlKHQuZ2V0VVRDRGF0ZSgpKzcqZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS9WZXR9KSl9dmFyIFpldD1LZXQoMCksSmV0PUtldCgxKTtLZXQoMiksS2V0KDMpO3ZhciBRZXQ9S2V0KDQpO0tldCg1KSxLZXQoNik7dmFyIHRudD1IZXQoKGZ1bmN0aW9uKHQpe3Quc2V0VVRDTW9udGgoMCwxKSx0LnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRVVENGdWxsWWVhcih0LmdldFVUQ0Z1bGxZZWFyKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5nZXRVVENGdWxsWWVhcigpLXQuZ2V0VVRDRnVsbFllYXIoKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRVVENGdWxsWWVhcigpfSkpO3RudC5ldmVyeT1mdW5jdGlvbih0KXtyZXR1cm4gaXNGaW5pdGUodD1NYXRoLmZsb29yKHQpKSYmdD4wP0hldCgoZnVuY3Rpb24oZSl7ZS5zZXRVVENGdWxsWWVhcihNYXRoLmZsb29yKGUuZ2V0VVRDRnVsbFllYXIoKS90KSp0KSxlLnNldFVUQ01vbnRoKDAsMSksZS5zZXRVVENIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbihlLG4pe2Uuc2V0VVRDRnVsbFllYXIoZS5nZXRVVENGdWxsWWVhcigpK24qdCl9KSk6bnVsbH07dmFyIGVudD10bnQ7ZnVuY3Rpb24gbm50KHQpe2lmKDA8PXQueSYmdC55PDEwMCl7dmFyIGU9bmV3IERhdGUoLTEsdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpO3JldHVybiBlLnNldEZ1bGxZZWFyKHQueSksZX1yZXR1cm4gbmV3IERhdGUodC55LHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKX1mdW5jdGlvbiBpbnQodCl7aWYoMDw9dC55JiZ0Lnk8MTAwKXt2YXIgZT1uZXcgRGF0ZShEYXRlLlVUQygtMSx0Lm0sdC5kLHQuSCx0Lk0sdC5TLHQuTCkpO3JldHVybiBlLnNldFVUQ0Z1bGxZZWFyKHQueSksZX1yZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEModC55LHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKSl9ZnVuY3Rpb24gcm50KHQpe3JldHVybnt5OnQsbTowLGQ6MSxIOjAsTTowLFM6MCxMOjB9fWZ1bmN0aW9uIG9udCh0KXt2YXIgZT10LmRhdGVUaW1lLG49dC5kYXRlLGk9dC50aW1lLHI9dC5wZXJpb2RzLG89dC5kYXlzLGE9dC5zaG9ydERheXMscz10Lm1vbnRocyxsPXQuc2hvcnRNb250aHMsYz1fbnQociksdT15bnQociksaD1fbnQobyksZD15bnQobykscD1fbnQoYSksZj15bnQoYSksbT1fbnQocyksZz15bnQocyksXz1fbnQobCkseT15bnQobCksdj17YTpmdW5jdGlvbiBiKHQpe3JldHVybiBhW3QuZ2V0RGF5KCldfSxBOmZ1bmN0aW9uIHgodCl7cmV0dXJuIG9bdC5nZXREYXkoKV19LGI6ZnVuY3Rpb24gdyh0KXtyZXR1cm4gbFt0LmdldE1vbnRoKCldfSxCOmZ1bmN0aW9uIFModCl7cmV0dXJuIHNbdC5nZXRNb250aCgpXX0sYzpudWxsLGQ6Qm50LGU6Qm50LGY6am50LEg6SG50LEk6Rm50LGo6Vm50LEw6VW50LG06R250LE06V250LHA6ZnVuY3Rpb24gTSh0KXtyZXR1cm4gclsrKHQuZ2V0SG91cnMoKT49MTIpXX0sUTp2aXQsczpiaXQsUzpxbnQsdTpZbnQsVTpYbnQsVjokbnQsdzpLbnQsVzpabnQseDpudWxsLFg6bnVsbCx5OkpudCxZOlFudCxaOnRpdCwiJSI6eWl0fSxFPXthOmZ1bmN0aW9uIFQodCl7cmV0dXJuIGFbdC5nZXRVVENEYXkoKV19LEE6ZnVuY3Rpb24gQyh0KXtyZXR1cm4gb1t0LmdldFVUQ0RheSgpXX0sYjpmdW5jdGlvbiBBKHQpe3JldHVybiBsW3QuZ2V0VVRDTW9udGgoKV19LEI6ZnVuY3Rpb24gayh0KXtyZXR1cm4gc1t0LmdldFVUQ01vbnRoKCldfSxjOm51bGwsZDplaXQsZTplaXQsZjphaXQsSDpuaXQsSTppaXQsajpyaXQsTDpvaXQsbTpzaXQsTTpsaXQscDpmdW5jdGlvbiBMKHQpe3JldHVybiByWysodC5nZXRVVENIb3VycygpPj0xMildfSxROnZpdCxzOmJpdCxTOmNpdCx1OnVpdCxVOmhpdCxWOmRpdCx3OnBpdCxXOmZpdCx4Om51bGwsWDpudWxsLHk6bWl0LFk6Z2l0LFo6X2l0LCIlIjp5aXR9LFA9e2E6ZnVuY3Rpb24gTih0LGUsbil7dmFyIGk9cC5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0Lnc9ZltpWzBdLnRvTG93ZXJDYXNlKCldLG4raVswXS5sZW5ndGgpOi0xfSxBOmZ1bmN0aW9uIEkodCxlLG4pe3ZhciBpPWguZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC53PWRbaVswXS50b0xvd2VyQ2FzZSgpXSxuK2lbMF0ubGVuZ3RoKTotMX0sYjpmdW5jdGlvbiBSKHQsZSxuKXt2YXIgaT1fLmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIGk/KHQubT15W2lbMF0udG9Mb3dlckNhc2UoKV0sbitpWzBdLmxlbmd0aCk6LTF9LEI6ZnVuY3Rpb24gTyh0LGUsbil7dmFyIGk9bS5leGVjKGUuc2xpY2UobikpO3JldHVybiBpPyh0Lm09Z1tpWzBdLnRvTG93ZXJDYXNlKCldLG4raVswXS5sZW5ndGgpOi0xfSxjOmZ1bmN0aW9uIHoodCxuLGkpe3JldHVybiBVKHQsZSxuLGkpfSxkOkFudCxlOkFudCxmOlJudCxIOkxudCxJOkxudCxqOmtudCxMOkludCxtOkNudCxNOlBudCxwOmZ1bmN0aW9uIEQodCxlLG4pe3ZhciBpPWMuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC5wPXVbaVswXS50b0xvd2VyQ2FzZSgpXSxuK2lbMF0ubGVuZ3RoKTotMX0sUTp6bnQsczpEbnQsUzpObnQsdTpibnQsVTp4bnQsVjp3bnQsdzp2bnQsVzpTbnQseDpmdW5jdGlvbiBCKHQsZSxpKXtyZXR1cm4gVSh0LG4sZSxpKX0sWDpmdW5jdGlvbiBIKHQsZSxuKXtyZXR1cm4gVSh0LGksZSxuKX0seTpFbnQsWTpNbnQsWjpUbnQsIiUiOk9udH07ZnVuY3Rpb24gRih0LGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgaSxyLG8sYT1bXSxzPS0xLGw9MCxjPXQubGVuZ3RoO2ZvcihuIGluc3RhbmNlb2YgRGF0ZXx8KG49bmV3IERhdGUoK24pKTsrK3M8YzspMzc9PT10LmNoYXJDb2RlQXQocykmJihhLnB1c2godC5zbGljZShsLHMpKSxudWxsIT0ocj1obnRbaT10LmNoYXJBdCgrK3MpXSk/aT10LmNoYXJBdCgrK3MpOnI9ImUiPT09aT8iICI6IjAiLChvPWVbaV0pJiYoaT1vKG4scikpLGEucHVzaChpKSxsPXMrMSk7cmV0dXJuIGEucHVzaCh0LnNsaWNlKGwscykpLGEuam9pbigiIil9fWZ1bmN0aW9uIFYodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIGkscixvPXJudCgxOTAwKTtpZihVKG8sdCxuKz0iIiwwKSE9bi5sZW5ndGgpcmV0dXJuIG51bGw7aWYoIlEiaW4gbylyZXR1cm4gbmV3IERhdGUoby5RKTtpZigicCJpbiBvJiYoby5IPW8uSCUxMisxMipvLnApLCJWImluIG8pe2lmKG8uVjwxfHxvLlY+NTMpcmV0dXJuIG51bGw7InciaW4gb3x8KG8udz0xKSwiWiJpbiBvPyhyPShpPWludChybnQoby55KSkpLmdldFVUQ0RheSgpLGk9cj40fHwwPT09cj9KZXQuY2VpbChpKTpKZXQoaSksaT0kZXQub2Zmc2V0KGksNyooby5WLTEpKSxvLnk9aS5nZXRVVENGdWxsWWVhcigpLG8ubT1pLmdldFVUQ01vbnRoKCksby5kPWkuZ2V0VVRDRGF0ZSgpKyhvLncrNiklNyk6KHI9KGk9ZShybnQoby55KSkpLmdldERheSgpLGk9cj40fHwwPT09cj9XZXQuY2VpbChpKTpXZXQoaSksaT1VZXQub2Zmc2V0KGksNyooby5WLTEpKSxvLnk9aS5nZXRGdWxsWWVhcigpLG8ubT1pLmdldE1vbnRoKCksby5kPWkuZ2V0RGF0ZSgpKyhvLncrNiklNyl9ZWxzZSgiVyJpbiBvfHwiVSJpbiBvKSYmKCJ3ImluIG98fChvLnc9InUiaW4gbz9vLnUlNzoiVyJpbiBvPzE6MCkscj0iWiJpbiBvP2ludChybnQoby55KSkuZ2V0VVRDRGF5KCk6ZShybnQoby55KSkuZ2V0RGF5KCksby5tPTAsby5kPSJXImluIG8/KG8udys2KSU3Kzcqby5XLShyKzUpJTc6by53Kzcqby5VLShyKzYpJTcpO3JldHVybiJaImluIG8/KG8uSCs9by5aLzEwMHwwLG8uTSs9by5aJTEwMCxpbnQobykpOmUobyl9fWZ1bmN0aW9uIFUodCxlLG4saSl7Zm9yKHZhciByLG8sYT0wLHM9ZS5sZW5ndGgsbD1uLmxlbmd0aDthPHM7KXtpZihpPj1sKXJldHVybi0xO2lmKDM3PT09KHI9ZS5jaGFyQ29kZUF0KGErKykpKXtpZihyPWUuY2hhckF0KGErKyksIShvPVBbciBpbiBobnQ/ZS5jaGFyQXQoYSsrKTpyXSl8fChpPW8odCxuLGkpKTwwKXJldHVybi0xfWVsc2UgaWYociE9bi5jaGFyQ29kZUF0KGkrKykpcmV0dXJuLTF9cmV0dXJuIGl9cmV0dXJuIHYueD1GKG4sdiksdi5YPUYoaSx2KSx2LmM9RihlLHYpLEUueD1GKG4sRSksRS5YPUYoaSxFKSxFLmM9RihlLEUpLHtmb3JtYXQ6ZnVuY3Rpb24odCl7dmFyIGU9Rih0Kz0iIix2KTtyZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0fSxlfSxwYXJzZTpmdW5jdGlvbih0KXt2YXIgZT1WKHQrPSIiLG5udCk7cmV0dXJuIGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sZX0sdXRjRm9ybWF0OmZ1bmN0aW9uKHQpe3ZhciBlPUYodCs9IiIsRSk7cmV0dXJuIGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sZX0sdXRjUGFyc2U6ZnVuY3Rpb24odCl7dmFyIGU9Vih0LGludCk7cmV0dXJuIGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sZX19fXZhciBhbnQsc250LGxudCxjbnQsdW50LGhudD17Ii0iOiIiLF86IiAiLDA6IjAifSxkbnQ9L15ccypcZCsvLHBudD0vXiUvLGZudD0vW1xcXiQqKz98W1xdKCkue31dL2c7ZnVuY3Rpb24gbW50KHQsZSxuKXt2YXIgaT10PDA/Ii0iOiIiLHI9KGk/LXQ6dCkrIiIsbz1yLmxlbmd0aDtyZXR1cm4gaSsobzxuP25ldyBBcnJheShuLW8rMSkuam9pbihlKStyOnIpfWZ1bmN0aW9uIGdudCh0KXtyZXR1cm4gdC5yZXBsYWNlKGZudCwiXFwkJiIpfWZ1bmN0aW9uIF9udCh0KXtyZXR1cm4gbmV3IFJlZ0V4cCgiXig/OiIrdC5tYXAoZ250KS5qb2luKCJ8IikrIikiLCJpIil9ZnVuY3Rpb24geW50KHQpe2Zvcih2YXIgZT17fSxuPS0xLGk9dC5sZW5ndGg7KytuPGk7KWVbdFtuXS50b0xvd2VyQ2FzZSgpXT1uO3JldHVybiBlfWZ1bmN0aW9uIHZudCh0LGUsbil7dmFyIGk9ZG50LmV4ZWMoZS5zbGljZShuLG4rMSkpO3JldHVybiBpPyh0Lnc9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gYm50KHQsZSxuKXt2YXIgaT1kbnQuZXhlYyhlLnNsaWNlKG4sbisxKSk7cmV0dXJuIGk/KHQudT0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB4bnQodCxlLG4pe3ZhciBpPWRudC5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5VPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHdudCh0LGUsbil7dmFyIGk9ZG50LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0LlY9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gU250KHQsZSxuKXt2YXIgaT1kbnQuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuVz0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBNbnQodCxlLG4pe3ZhciBpPWRudC5leGVjKGUuc2xpY2UobixuKzQpKTtyZXR1cm4gaT8odC55PStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIEVudCh0LGUsbil7dmFyIGk9ZG50LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0Lnk9K2lbMF0rKCtpWzBdPjY4PzE5MDA6MmUzKSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBUbnQodCxlLG4pe3ZhciBpPS9eKFopfChbKy1dXGRcZCkoPzo6PyhcZFxkKSk/Ly5leGVjKGUuc2xpY2UobixuKzYpKTtyZXR1cm4gaT8odC5aPWlbMV0/MDotKGlbMl0rKGlbM118fCIwMCIpKSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBDbnQodCxlLG4pe3ZhciBpPWRudC5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5tPWlbMF0tMSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBBbnQodCxlLG4pe3ZhciBpPWRudC5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5kPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGtudCh0LGUsbil7dmFyIGk9ZG50LmV4ZWMoZS5zbGljZShuLG4rMykpO3JldHVybiBpPyh0Lm09MCx0LmQ9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gTG50KHQsZSxuKXt2YXIgaT1kbnQuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIGk/KHQuSD0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBQbnQodCxlLG4pe3ZhciBpPWRudC5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gaT8odC5NPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIE5udCh0LGUsbil7dmFyIGk9ZG50LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBpPyh0LlM9K2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gSW50KHQsZSxuKXt2YXIgaT1kbnQuZXhlYyhlLnNsaWNlKG4sbiszKSk7cmV0dXJuIGk/KHQuTD0raVswXSxuK2lbMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBSbnQodCxlLG4pe3ZhciBpPWRudC5leGVjKGUuc2xpY2UobixuKzYpKTtyZXR1cm4gaT8odC5MPU1hdGguZmxvb3IoaVswXS8xZTMpLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIE9udCh0LGUsbil7dmFyIGk9cG50LmV4ZWMoZS5zbGljZShuLG4rMSkpO3JldHVybiBpP24raVswXS5sZW5ndGg6LTF9ZnVuY3Rpb24gem50KHQsZSxuKXt2YXIgaT1kbnQuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gaT8odC5RPStpWzBdLG4raVswXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIERudCh0LGUsbil7dmFyIGk9ZG50LmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIGk/KHQuUT0xZTMqK2lbMF0sbitpWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gQm50KHQsZSl7cmV0dXJuIG1udCh0LmdldERhdGUoKSxlLDIpfWZ1bmN0aW9uIEhudCh0LGUpe3JldHVybiBtbnQodC5nZXRIb3VycygpLGUsMil9ZnVuY3Rpb24gRm50KHQsZSl7cmV0dXJuIG1udCh0LmdldEhvdXJzKCklMTJ8fDEyLGUsMil9ZnVuY3Rpb24gVm50KHQsZSl7cmV0dXJuIG1udCgxK1VldC5jb3VudChYZXQodCksdCksZSwzKX1mdW5jdGlvbiBVbnQodCxlKXtyZXR1cm4gbW50KHQuZ2V0TWlsbGlzZWNvbmRzKCksZSwzKX1mdW5jdGlvbiBqbnQodCxlKXtyZXR1cm4gVW50KHQsZSkrIjAwMCJ9ZnVuY3Rpb24gR250KHQsZSl7cmV0dXJuIG1udCh0LmdldE1vbnRoKCkrMSxlLDIpfWZ1bmN0aW9uIFdudCh0LGUpe3JldHVybiBtbnQodC5nZXRNaW51dGVzKCksZSwyKX1mdW5jdGlvbiBxbnQodCxlKXtyZXR1cm4gbW50KHQuZ2V0U2Vjb25kcygpLGUsMil9ZnVuY3Rpb24gWW50KHQpe3ZhciBlPXQuZ2V0RGF5KCk7cmV0dXJuIDA9PT1lPzc6ZX1mdW5jdGlvbiBYbnQodCxlKXtyZXR1cm4gbW50KEdldC5jb3VudChYZXQodCksdCksZSwyKX1mdW5jdGlvbiAkbnQodCxlKXt2YXIgbj10LmdldERheSgpO3JldHVybiB0PW4+PTR8fDA9PT1uP3FldCh0KTpxZXQuY2VpbCh0KSxtbnQocWV0LmNvdW50KFhldCh0KSx0KSsoND09PVhldCh0KS5nZXREYXkoKSksZSwyKX1mdW5jdGlvbiBLbnQodCl7cmV0dXJuIHQuZ2V0RGF5KCl9ZnVuY3Rpb24gWm50KHQsZSl7cmV0dXJuIG1udChXZXQuY291bnQoWGV0KHQpLHQpLGUsMil9ZnVuY3Rpb24gSm50KHQsZSl7cmV0dXJuIG1udCh0LmdldEZ1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gUW50KHQsZSl7cmV0dXJuIG1udCh0LmdldEZ1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gdGl0KHQpe3ZhciBlPXQuZ2V0VGltZXpvbmVPZmZzZXQoKTtyZXR1cm4oZT4wPyItIjooZSo9LTEsIisiKSkrbW50KGUvNjB8MCwiMCIsMikrbW50KGUlNjAsIjAiLDIpfWZ1bmN0aW9uIGVpdCh0LGUpe3JldHVybiBtbnQodC5nZXRVVENEYXRlKCksZSwyKX1mdW5jdGlvbiBuaXQodCxlKXtyZXR1cm4gbW50KHQuZ2V0VVRDSG91cnMoKSxlLDIpfWZ1bmN0aW9uIGlpdCh0LGUpe3JldHVybiBtbnQodC5nZXRVVENIb3VycygpJTEyfHwxMixlLDIpfWZ1bmN0aW9uIHJpdCh0LGUpe3JldHVybiBtbnQoMSskZXQuY291bnQoZW50KHQpLHQpLGUsMyl9ZnVuY3Rpb24gb2l0KHQsZSl7cmV0dXJuIG1udCh0LmdldFVUQ01pbGxpc2Vjb25kcygpLGUsMyl9ZnVuY3Rpb24gYWl0KHQsZSl7cmV0dXJuIG9pdCh0LGUpKyIwMDAifWZ1bmN0aW9uIHNpdCh0LGUpe3JldHVybiBtbnQodC5nZXRVVENNb250aCgpKzEsZSwyKX1mdW5jdGlvbiBsaXQodCxlKXtyZXR1cm4gbW50KHQuZ2V0VVRDTWludXRlcygpLGUsMil9ZnVuY3Rpb24gY2l0KHQsZSl7cmV0dXJuIG1udCh0LmdldFVUQ1NlY29uZHMoKSxlLDIpfWZ1bmN0aW9uIHVpdCh0KXt2YXIgZT10LmdldFVUQ0RheSgpO3JldHVybiAwPT09ZT83OmV9ZnVuY3Rpb24gaGl0KHQsZSl7cmV0dXJuIG1udChaZXQuY291bnQoZW50KHQpLHQpLGUsMil9ZnVuY3Rpb24gZGl0KHQsZSl7dmFyIG49dC5nZXRVVENEYXkoKTtyZXR1cm4gdD1uPj00fHwwPT09bj9RZXQodCk6UWV0LmNlaWwodCksbW50KFFldC5jb3VudChlbnQodCksdCkrKDQ9PT1lbnQodCkuZ2V0VVRDRGF5KCkpLGUsMil9ZnVuY3Rpb24gcGl0KHQpe3JldHVybiB0LmdldFVUQ0RheSgpfWZ1bmN0aW9uIGZpdCh0LGUpe3JldHVybiBtbnQoSmV0LmNvdW50KGVudCh0KSx0KSxlLDIpfWZ1bmN0aW9uIG1pdCh0LGUpe3JldHVybiBtbnQodC5nZXRVVENGdWxsWWVhcigpJTEwMCxlLDIpfWZ1bmN0aW9uIGdpdCh0LGUpe3JldHVybiBtbnQodC5nZXRVVENGdWxsWWVhcigpJTFlNCxlLDQpfWZ1bmN0aW9uIF9pdCgpe3JldHVybiIrMDAwMCJ9ZnVuY3Rpb24geWl0KCl7cmV0dXJuIiUifWZ1bmN0aW9uIHZpdCh0KXtyZXR1cm4rdH1mdW5jdGlvbiBiaXQodCl7cmV0dXJuIE1hdGguZmxvb3IoK3QvMWUzKX1mdW5jdGlvbiB4aXQodCl7cmV0dXJuIGFudD1vbnQodCksc250PWFudC5mb3JtYXQsbG50PWFudC5wYXJzZSxjbnQ9YW50LnV0Y0Zvcm1hdCx1bnQ9YW50LnV0Y1BhcnNlLGFudH14aXQoe2RhdGVUaW1lOiIleCwgJVgiLGRhdGU6IiUtbS8lLWQvJVkiLHRpbWU6IiUtSTolTTolUyAlcCIscGVyaW9kczpbIkFNIiwiUE0iXSxkYXlzOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSxzaG9ydERheXM6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSxtb250aHM6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLHNob3J0TW9udGhzOlsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl19KTt2YXIgd2l0PSIlWS0lbS0lZFQlSDolTTolUy4lTFoiO3ZhciBTaXQ9RGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmc/ZnVuY3Rpb24gTWl0KHQpe3JldHVybiB0LnRvSVNPU3RyaW5nKCl9OmNudCh3aXQpO3ZhciBFaXQsVGl0LENpdD0rbmV3IERhdGUoIjIwMDAtMDEtMDFUMDA6MDA6MDAuMDAwWiIpP2Z1bmN0aW9uIEFpdCh0KXt2YXIgZT1uZXcgRGF0ZSh0KTtyZXR1cm4gaXNOYU4oZSk/bnVsbDplfTp1bnQod2l0KSxraXQ9MCxMaXQ9MCxQaXQ9MCxOaXQ9MCxJaXQ9MCxSaXQ9MCxPaXQ9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlOkRhdGUseml0PSJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQodCwxNyl9O2Z1bmN0aW9uIERpdCgpe3JldHVybiBJaXR8fCh6aXQoQml0KSxJaXQ9T2l0Lm5vdygpK1JpdCl9ZnVuY3Rpb24gQml0KCl7SWl0PTB9ZnVuY3Rpb24gSGl0KCl7dGhpcy5fY2FsbD10aGlzLl90aW1lPXRoaXMuX25leHQ9bnVsbH1mdW5jdGlvbiBGaXQodCxlLG4pe3ZhciBpPW5ldyBIaXQ7cmV0dXJuIGkucmVzdGFydCh0LGUsbiksaX1mdW5jdGlvbiBWaXQoKXtEaXQoKSwrK2tpdDtmb3IodmFyIHQsZT1FaXQ7ZTspKHQ9SWl0LWUuX3RpbWUpPj0wJiZlLl9jYWxsLmNhbGwobnVsbCx0KSxlPWUuX25leHQ7LS1raXR9ZnVuY3Rpb24gVWl0KCl7SWl0PShOaXQ9T2l0Lm5vdygpKStSaXQsa2l0PUxpdD0wO3RyeXtWaXQoKX1maW5hbGx5e2tpdD0wLChmdW5jdGlvbiB0KCl7dmFyIHQsZSxuPUVpdCxpPTEvMDtmb3IoO247KW4uX2NhbGw/KGk+bi5fdGltZSYmKGk9bi5fdGltZSksdD1uLG49bi5fbmV4dCk6KGU9bi5fbmV4dCxuLl9uZXh0PW51bGwsbj10P3QuX25leHQ9ZTpFaXQ9ZSk7VGl0PXQsR2l0KGkpfSkoKSxJaXQ9MH19ZnVuY3Rpb24gaml0KCl7dmFyIHQ9T2l0Lm5vdygpLGU9dC1OaXQ7ZT4xZTMmJihSaXQtPWUsTml0PXQpfWZ1bmN0aW9uIEdpdCh0KXtraXR8fChMaXQmJihMaXQ9Y2xlYXJUaW1lb3V0KExpdCkpLHQtSWl0PjI0Pyh0PDEvMCYmKExpdD1zZXRUaW1lb3V0KFVpdCx0LU9pdC5ub3coKS1SaXQpKSxQaXQmJihQaXQ9Y2xlYXJJbnRlcnZhbChQaXQpKSk6KFBpdHx8KE5pdD1PaXQubm93KCksUGl0PXNldEludGVydmFsKGppdCwxZTMpKSxraXQ9MSx6aXQoVWl0KSkpfUhpdC5wcm90b3R5cGU9Rml0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6SGl0LHJlc3RhcnQ6ZnVuY3Rpb24odCxlLG4pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoImNhbGxiYWNrIGlzIG5vdCBhIGZ1bmN0aW9uIik7bj0obnVsbD09bj9EaXQoKTorbikrKG51bGw9PWU/MDorZSksdGhpcy5fbmV4dHx8VGl0PT09dGhpc3x8KFRpdD9UaXQuX25leHQ9dGhpczpFaXQ9dGhpcyxUaXQ9dGhpcyksdGhpcy5fY2FsbD10LHRoaXMuX3RpbWU9bixHaXQoKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuX2NhbGwmJih0aGlzLl9jYWxsPW51bGwsdGhpcy5fdGltZT0xLzAsR2l0KCkpfX07dmFyIFdpdD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIscWl0PXtzdmc6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix4aHRtbDpXaXQseGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHhtbDoiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8ifTtmdW5jdGlvbiBZaXQodCl7dmFyIGU9dCs9IiIsbj1lLmluZGV4T2YoIjoiKTtyZXR1cm4gbj49MCYmInhtbG5zIiE9PShlPXQuc2xpY2UoMCxuKSkmJih0PXQuc2xpY2UobisxKSkscWl0Lmhhc093blByb3BlcnR5KGUpP3tzcGFjZTpxaXRbZV0sbG9jYWw6dH06dH1mdW5jdGlvbiBYaXQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vd25lckRvY3VtZW50LG49dGhpcy5uYW1lc3BhY2VVUkk7cmV0dXJuIG49PT1XaXQmJmUuZG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVSST09PVdpdD9lLmNyZWF0ZUVsZW1lbnQodCk6ZS5jcmVhdGVFbGVtZW50TlMobix0KX19ZnVuY3Rpb24gJGl0KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIEtpdCh0KXt2YXIgZT1ZaXQodCk7cmV0dXJuKGUubG9jYWw/JGl0OlhpdCkoZSl9ZnVuY3Rpb24gWml0KCl7fWZ1bmN0aW9uIEppdCh0KXtyZXR1cm4gbnVsbD09dD9aaXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yKHQpfX1mdW5jdGlvbiBRaXQoKXtyZXR1cm5bXX1mdW5jdGlvbiB0cnQodCl7cmV0dXJuIG51bGw9PXQ/UWl0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvckFsbCh0KX19ZnVuY3Rpb24gZXJ0KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hdGNoZXModCl9fWZ1bmN0aW9uIG5ydCh0KXtyZXR1cm4gbmV3IEFycmF5KHQubGVuZ3RoKX1mdW5jdGlvbiBpcnQodCxlKXt0aGlzLm93bmVyRG9jdW1lbnQ9dC5vd25lckRvY3VtZW50LHRoaXMubmFtZXNwYWNlVVJJPXQubmFtZXNwYWNlVVJJLHRoaXMuX25leHQ9bnVsbCx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9fZGF0YV9fPWV9aXJ0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6aXJ0LGFwcGVuZENoaWxkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsdGhpcy5fbmV4dCl9LGluc2VydEJlZm9yZTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsZSl9LHF1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yKHQpfSxxdWVyeVNlbGVjdG9yQWxsOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3RvckFsbCh0KX19O2Z1bmN0aW9uIHJydCh0LGUsbixpLHIsbyl7Zm9yKHZhciBhLHM9MCxsPWUubGVuZ3RoLGM9by5sZW5ndGg7czxjOysrcykoYT1lW3NdKT8oYS5fX2RhdGFfXz1vW3NdLGlbc109YSk6bltzXT1uZXcgaXJ0KHQsb1tzXSk7Zm9yKDtzPGw7KytzKShhPWVbc10pJiYocltzXT1hKX1mdW5jdGlvbiBvcnQodCxlLG4saSxyLG8sYSl7dmFyIHMsbCxjLHU9e30saD1lLmxlbmd0aCxkPW8ubGVuZ3RoLHA9bmV3IEFycmF5KGgpO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmKHBbc109Yz0iJCIrYS5jYWxsKGwsbC5fX2RhdGFfXyxzLGUpLGMgaW4gdT9yW3NdPWw6dVtjXT1sKTtmb3Iocz0wO3M8ZDsrK3MpKGw9dVtjPSIkIithLmNhbGwodCxvW3NdLHMsbyldKT8oaVtzXT1sLGwuX19kYXRhX189b1tzXSx1W2NdPW51bGwpOm5bc109bmV3IGlydCh0LG9bc10pO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmdVtwW3NdXT09PWwmJihyW3NdPWwpfWZ1bmN0aW9uIGFydCh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBzcnQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIGxydCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIGNydCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlKHQsZSl9fWZ1bmN0aW9uIHVydCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUpfX1mdW5jdGlvbiBocnQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpOnRoaXMuc2V0QXR0cmlidXRlKHQsbil9fWZ1bmN0aW9uIGRydCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpOnRoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLG4pfX1mdW5jdGlvbiBwcnQodCl7cmV0dXJuIHQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx0LmRvY3VtZW50JiZ0fHx0LmRlZmF1bHRWaWV3fWZ1bmN0aW9uIGZydCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX1mdW5jdGlvbiBtcnQodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxlLG4pfX1mdW5jdGlvbiBncnQodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBpPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PWk/dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KTp0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsaSxuKX19ZnVuY3Rpb24gX3J0KHQsZSl7cmV0dXJuIHQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShlKXx8cHJ0KHQpLmdldENvbXB1dGVkU3R5bGUodCxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKGUpfWZ1bmN0aW9uIHlydCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtkZWxldGUgdGhpc1t0XX19ZnVuY3Rpb24gdnJ0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpc1t0XT1lfX1mdW5jdGlvbiBicnQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP2RlbGV0ZSB0aGlzW3RdOnRoaXNbdF09bn19ZnVuY3Rpb24geHJ0KHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKX1mdW5jdGlvbiB3cnQodCl7cmV0dXJuIHQuY2xhc3NMaXN0fHxuZXcgU3J0KHQpfWZ1bmN0aW9uIFNydCh0KXt0aGlzLl9ub2RlPXQsdGhpcy5fbmFtZXM9eHJ0KHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9ZnVuY3Rpb24gTXJ0KHQsZSl7Zm9yKHZhciBuPXdydCh0KSxpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KW4uYWRkKGVbaV0pfWZ1bmN0aW9uIEVydCh0LGUpe2Zvcih2YXIgbj13cnQodCksaT0tMSxyPWUubGVuZ3RoOysraTxyOyluLnJlbW92ZShlW2ldKX1mdW5jdGlvbiBUcnQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7TXJ0KHRoaXMsdCl9fWZ1bmN0aW9uIENydCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtFcnQodGhpcyx0KX19ZnVuY3Rpb24gQXJ0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7KGUuYXBwbHkodGhpcyxhcmd1bWVudHMpP01ydDpFcnQpKHRoaXMsdCl9fWZ1bmN0aW9uIGtydCgpe3RoaXMudGV4dENvbnRlbnQ9IiJ9ZnVuY3Rpb24gTHJ0KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMudGV4dENvbnRlbnQ9dH19ZnVuY3Rpb24gUHJ0KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfX1mdW5jdGlvbiBOcnQoKXt0aGlzLmlubmVySFRNTD0iIn1mdW5jdGlvbiBJcnQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5pbm5lckhUTUw9dH19ZnVuY3Rpb24gUnJ0KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuaW5uZXJIVE1MPW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24gT3J0KCl7dGhpcy5uZXh0U2libGluZyYmdGhpcy5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHRoaXMpfWZ1bmN0aW9uIHpydCgpe3RoaXMucHJldmlvdXNTaWJsaW5nJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMsdGhpcy5wYXJlbnROb2RlLmZpcnN0Q2hpbGQpfWZ1bmN0aW9uIERydCgpe3JldHVybiBudWxsfWZ1bmN0aW9uIEJydCgpe3ZhciB0PXRoaXMucGFyZW50Tm9kZTt0JiZ0LnJlbW92ZUNoaWxkKHRoaXMpfWZ1bmN0aW9uIEhydCgpe3ZhciB0PXRoaXMuY2xvbmVOb2RlKCExKSxlPXRoaXMucGFyZW50Tm9kZTtyZXR1cm4gZT9lLmluc2VydEJlZm9yZSh0LHRoaXMubmV4dFNpYmxpbmcpOnR9ZnVuY3Rpb24gRnJ0KCl7dmFyIHQ9dGhpcy5jbG9uZU5vZGUoITApLGU9dGhpcy5wYXJlbnROb2RlO3JldHVybiBlP2UuaW5zZXJ0QmVmb3JlKHQsdGhpcy5uZXh0U2libGluZyk6dH1TcnQucHJvdG90eXBlPXthZGQ6ZnVuY3Rpb24odCl7dGhpcy5fbmFtZXMuaW5kZXhPZih0KTwwJiYodGhpcy5fbmFtZXMucHVzaCh0KSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbmFtZXMuaW5kZXhPZih0KTtlPj0wJiYodGhpcy5fbmFtZXMuc3BsaWNlKGUsMSksdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLl9uYW1lcy5qb2luKCIgIikpKX0sY29udGFpbnM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX25hbWVzLmluZGV4T2YodCk+PTB9fTt2YXIgVnJ0PXt9OyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJigib25tb3VzZWVudGVyImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8KFZydD17bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9KSk7ZnVuY3Rpb24gVXJ0KHQsZSxuKXtyZXR1cm4gdD1qcnQodCxlLG4pLGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVsYXRlZFRhcmdldDtuJiYobj09PXRoaXN8fDgmbi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzKSl8fHQuY2FsbCh0aGlzLGUpfX1mdW5jdGlvbiBqcnQodCxlLG4pe3JldHVybiBmdW5jdGlvbihpKXt0cnl7dC5jYWxsKHRoaXMsdGhpcy5fX2RhdGFfXyxlLG4pfWZpbmFsbHl7fX19ZnVuY3Rpb24gR3J0KHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKS5tYXAoKGZ1bmN0aW9uKHQpe3ZhciBlPSIiLG49dC5pbmRleE9mKCIuIik7cmV0dXJuIG4+PTAmJihlPXQuc2xpY2UobisxKSx0PXQuc2xpY2UoMCxuKSkse3R5cGU6dCxuYW1lOmV9fSkpfWZ1bmN0aW9uIFdydCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9fb247aWYoZSl7Zm9yKHZhciBuLGk9MCxyPS0xLG89ZS5sZW5ndGg7aTxvOysraSluPWVbaV0sdC50eXBlJiZuLnR5cGUhPT10LnR5cGV8fG4ubmFtZSE9PXQubmFtZT9lWysrcl09bjp0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIobi50eXBlLG4ubGlzdGVuZXIsbi5jYXB0dXJlKTsrK3I/ZS5sZW5ndGg9cjpkZWxldGUgdGhpcy5fX29ufX19ZnVuY3Rpb24gcXJ0KHQsZSxuKXt2YXIgaT1WcnQuaGFzT3duUHJvcGVydHkodC50eXBlKT9VcnQ6anJ0O3JldHVybiBmdW5jdGlvbihyLG8sYSl7dmFyIHMsbD10aGlzLl9fb24sYz1pKGUsbyxhKTtpZihsKWZvcih2YXIgdT0wLGg9bC5sZW5ndGg7dTxoOysrdSlpZigocz1sW3VdKS50eXBlPT09dC50eXBlJiZzLm5hbWU9PT10Lm5hbWUpcmV0dXJuIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcixzLmNhcHR1cmUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcj1jLHMuY2FwdHVyZT1uKSx2b2lkKHMudmFsdWU9ZSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKHQudHlwZSxjLG4pLHM9e3R5cGU6dC50eXBlLG5hbWU6dC5uYW1lLHZhbHVlOmUsbGlzdGVuZXI6YyxjYXB0dXJlOm59LGw/bC5wdXNoKHMpOnRoaXMuX19vbj1bc119fWZ1bmN0aW9uIFlydCh0LGUsbil7dmFyIGk9cHJ0KHQpLHI9aS5DdXN0b21FdmVudDsiZnVuY3Rpb24iPT10eXBlb2Ygcj9yPW5ldyByKGUsbik6KHI9aS5kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSxuPyhyLmluaXRFdmVudChlLG4uYnViYmxlcyxuLmNhbmNlbGFibGUpLHIuZGV0YWlsPW4uZGV0YWlsKTpyLmluaXRFdmVudChlLCExLCExKSksdC5kaXNwYXRjaEV2ZW50KHIpfWZ1bmN0aW9uIFhydCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBZcnQodGhpcyx0LGUpfX1mdW5jdGlvbiAkcnQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gWXJ0KHRoaXMsdCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXZhciBLcnQ9W251bGxdO2Z1bmN0aW9uIFpydCh0LGUpe3RoaXMuX2dyb3Vwcz10LHRoaXMuX3BhcmVudHM9ZX1mdW5jdGlvbiBKcnQoKXtyZXR1cm4gbmV3IFpydChbW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudF1dLEtydCl9WnJ0LnByb3RvdHlwZT1KcnQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpacnQsc2VsZWN0OmZ1bmN0aW9uIFFydCh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9Sml0KHQpKTtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49ZS5sZW5ndGgsaT1uZXcgQXJyYXkobikscj0wO3I8bjsrK3IpZm9yKHZhciBvLGEscz1lW3JdLGw9cy5sZW5ndGgsYz1pW3JdPW5ldyBBcnJheShsKSx1PTA7dTxsOysrdSkobz1zW3VdKSYmKGE9dC5jYWxsKG8sby5fX2RhdGFfXyx1LHMpKSYmKCJfX2RhdGFfXyJpbiBvJiYoYS5fX2RhdGFfXz1vLl9fZGF0YV9fKSxjW3VdPWEpO3JldHVybiBuZXcgWnJ0KGksdGhpcy5fcGFyZW50cyl9LHNlbGVjdEFsbDpmdW5jdGlvbiB0b3QodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PXRydCh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9W10scj1bXSxvPTA7bzxuOysrbylmb3IodmFyIGEscz1lW29dLGw9cy5sZW5ndGgsYz0wO2M8bDsrK2MpKGE9c1tjXSkmJihpLnB1c2godC5jYWxsKGEsYS5fX2RhdGFfXyxjLHMpKSxyLnB1c2goYSkpO3JldHVybiBuZXcgWnJ0KGkscil9LGZpbHRlcjpmdW5jdGlvbiBlb3QodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PWVydCh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhPWVbcl0scz1hLmxlbmd0aCxsPWlbcl09W10sYz0wO2M8czsrK2MpKG89YVtjXSkmJnQuY2FsbChvLG8uX19kYXRhX18sYyxhKSYmbC5wdXNoKG8pO3JldHVybiBuZXcgWnJ0KGksdGhpcy5fcGFyZW50cyl9LGRhdGE6ZnVuY3Rpb24gbm90KHQsZSl7aWYoIXQpcmV0dXJuIGY9bmV3IEFycmF5KHRoaXMuc2l6ZSgpKSx1PS0xLHRoaXMuZWFjaCgoZnVuY3Rpb24odCl7ZlsrK3VdPXR9KSksZjt2YXIgbj1lP29ydDpycnQsaT10aGlzLl9wYXJlbnRzLHI9dGhpcy5fZ3JvdXBzOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD0oZnVuY3Rpb24gbyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19KSh0KSk7Zm9yKHZhciBhPXIubGVuZ3RoLHM9bmV3IEFycmF5KGEpLGw9bmV3IEFycmF5KGEpLGM9bmV3IEFycmF5KGEpLHU9MDt1PGE7Kyt1KXt2YXIgaD1pW3VdLGQ9clt1XSxwPWQubGVuZ3RoLGY9dC5jYWxsKGgsaCYmaC5fX2RhdGFfXyx1LGkpLG09Zi5sZW5ndGgsZz1sW3VdPW5ldyBBcnJheShtKSxfPXNbdV09bmV3IEFycmF5KG0pO24oaCxkLGcsXyxjW3VdPW5ldyBBcnJheShwKSxmLGUpO2Zvcih2YXIgeSx2LGI9MCx4PTA7YjxtOysrYilpZih5PWdbYl0pe2ZvcihiPj14JiYoeD1iKzEpOyEodj1fW3hdKSYmKyt4PG07KTt5Ll9uZXh0PXZ8fG51bGx9fXJldHVybihzPW5ldyBacnQocyxpKSkuX2VudGVyPWwscy5fZXhpdD1jLHN9LGVudGVyOmZ1bmN0aW9uIGlvdCgpe3JldHVybiBuZXcgWnJ0KHRoaXMuX2VudGVyfHx0aGlzLl9ncm91cHMubWFwKG5ydCksdGhpcy5fcGFyZW50cyl9LGV4aXQ6ZnVuY3Rpb24gcm90KCl7cmV0dXJuIG5ldyBacnQodGhpcy5fZXhpdHx8dGhpcy5fZ3JvdXBzLm1hcChucnQpLHRoaXMuX3BhcmVudHMpfSxqb2luOmZ1bmN0aW9uIG9vdCh0LGUsbil7dmFyIGk9dGhpcy5lbnRlcigpLHI9dGhpcyxvPXRoaXMuZXhpdCgpO3JldHVybiBpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3QoaSk6aS5hcHBlbmQodCsiIiksbnVsbCE9ZSYmKHI9ZShyKSksbnVsbD09bj9vLnJlbW92ZSgpOm4obyksaSYmcj9pLm1lcmdlKHIpLm9yZGVyKCk6cn0sbWVyZ2U6ZnVuY3Rpb24gYW90KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsaT1lLmxlbmd0aCxyPU1hdGgubWluKGksbi5sZW5ndGgpLG89bmV3IEFycmF5KGkpLGE9MDthPHI7KythKWZvcih2YXIgcyxsPWVbYV0sYz1uW2FdLHU9bC5sZW5ndGgsaD1vW2FdPW5ldyBBcnJheSh1KSxkPTA7ZDx1OysrZCkocz1sW2RdfHxjW2RdKSYmKGhbZF09cyk7Zm9yKDthPGk7KythKW9bYV09ZVthXTtyZXR1cm4gbmV3IFpydChvLHRoaXMuX3BhcmVudHMpfSxvcmRlcjpmdW5jdGlvbiBzb3QoKXtmb3IodmFyIHQ9dGhpcy5fZ3JvdXBzLGU9LTEsbj10Lmxlbmd0aDsrK2U8bjspZm9yKHZhciBpLHI9dFtlXSxvPXIubGVuZ3RoLTEsYT1yW29dOy0tbz49MDspKGk9cltvXSkmJihhJiY0XmkuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSkmJmEucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaSxhKSxhPWkpO3JldHVybiB0aGlzfSxzb3J0OmZ1bmN0aW9uIGxvdCh0KXtmdW5jdGlvbiBlKGUsbil7cmV0dXJuIGUmJm4/dChlLl9fZGF0YV9fLG4uX19kYXRhX18pOiFlLSFufXR8fCh0PWFydCk7Zm9yKHZhciBuPXRoaXMuX2dyb3VwcyxpPW4ubGVuZ3RoLHI9bmV3IEFycmF5KGkpLG89MDtvPGk7KytvKXtmb3IodmFyIGEscz1uW29dLGw9cy5sZW5ndGgsYz1yW29dPW5ldyBBcnJheShsKSx1PTA7dTxsOysrdSkoYT1zW3VdKSYmKGNbdV09YSk7Yy5zb3J0KGUpfXJldHVybiBuZXcgWnJ0KHIsdGhpcy5fcGFyZW50cykub3JkZXIoKX0sY2FsbDpmdW5jdGlvbiBjb3QoKXt2YXIgdD1hcmd1bWVudHNbMF07cmV0dXJuIGFyZ3VtZW50c1swXT10aGlzLHQuYXBwbHkobnVsbCxhcmd1bWVudHMpLHRoaXN9LG5vZGVzOmZ1bmN0aW9uIHVvdCgpe3ZhciB0PW5ldyBBcnJheSh0aGlzLnNpemUoKSksZT0tMTtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3RbKytlXT10aGlzfSkpLHR9LG5vZGU6ZnVuY3Rpb24gaG90KCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPTAsbj10Lmxlbmd0aDtlPG47KytlKWZvcih2YXIgaT10W2VdLHI9MCxvPWkubGVuZ3RoO3I8bzsrK3Ipe3ZhciBhPWlbcl07aWYoYSlyZXR1cm4gYX1yZXR1cm4gbnVsbH0sc2l6ZTpmdW5jdGlvbiBkb3QoKXt2YXIgdD0wO3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7Kyt0fSkpLHR9LGVtcHR5OmZ1bmN0aW9uIHBvdCgpe3JldHVybiF0aGlzLm5vZGUoKX0sZWFjaDpmdW5jdGlvbiBmb3QodCl7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPTAsaT1lLmxlbmd0aDtuPGk7KytuKWZvcih2YXIgcixvPWVbbl0sYT0wLHM9by5sZW5ndGg7YTxzOysrYSkocj1vW2FdKSYmdC5jYWxsKHIsci5fX2RhdGFfXyxhLG8pO3JldHVybiB0aGlzfSxhdHRyOmZ1bmN0aW9uIG1vdCh0LGUpe3ZhciBuPVlpdCh0KTtpZihhcmd1bWVudHMubGVuZ3RoPDIpe3ZhciBpPXRoaXMubm9kZSgpO3JldHVybiBuLmxvY2FsP2kuZ2V0QXR0cmlidXRlTlMobi5zcGFjZSxuLmxvY2FsKTppLmdldEF0dHJpYnV0ZShuKX1yZXR1cm4gdGhpcy5lYWNoKChudWxsPT1lP24ubG9jYWw/bHJ0OnNydDoiZnVuY3Rpb24iPT10eXBlb2YgZT9uLmxvY2FsP2RydDpocnQ6bi5sb2NhbD91cnQ6Y3J0KShuLGUpKX0sc3R5bGU6ZnVuY3Rpb24gZ290KHQsZSxuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaCgobnVsbD09ZT9mcnQ6ImZ1bmN0aW9uIj09dHlwZW9mIGU/Z3J0Om1ydCkodCxlLG51bGw9PW4/IiI6bikpOl9ydCh0aGlzLm5vZGUoKSx0KX0scHJvcGVydHk6ZnVuY3Rpb24gX290KHQsZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goKG51bGw9PWU/eXJ0OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2JydDp2cnQpKHQsZSkpOnRoaXMubm9kZSgpW3RdfSxjbGFzc2VkOmZ1bmN0aW9uIHlvdCh0LGUpe3ZhciBuPXhydCh0KyIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgaT13cnQodGhpcy5ub2RlKCkpLHI9LTEsbz1uLmxlbmd0aDsrK3I8bzspaWYoIWkuY29udGFpbnMobltyXSkpcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuIHRoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIGU/QXJ0OmU/VHJ0OkNydCkobixlKSl9LHRleHQ6ZnVuY3Rpb24gdm90KHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChudWxsPT10P2tydDooImZ1bmN0aW9uIj09dHlwZW9mIHQ/UHJ0OkxydCkodCkpOnRoaXMubm9kZSgpLnRleHRDb250ZW50fSxodG1sOmZ1bmN0aW9uIGJvdCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9OcnQ6KCJmdW5jdGlvbiI9PXR5cGVvZiB0P1JydDpJcnQpKHQpKTp0aGlzLm5vZGUoKS5pbm5lckhUTUx9LHJhaXNlOmZ1bmN0aW9uIHhvdCgpe3JldHVybiB0aGlzLmVhY2goT3J0KX0sbG93ZXI6ZnVuY3Rpb24gd290KCl7cmV0dXJuIHRoaXMuZWFjaCh6cnQpfSxhcHBlbmQ6ZnVuY3Rpb24gU290KHQpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6S2l0KHQpO3JldHVybiB0aGlzLnNlbGVjdCgoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcHBlbmRDaGlsZChlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9KSl9LGluc2VydDpmdW5jdGlvbiBNb3QodCxlKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OktpdCh0KSxpPW51bGw9PWU/RHJ0OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6Sml0KGUpO3JldHVybiB0aGlzLnNlbGVjdCgoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbnNlcnRCZWZvcmUobi5hcHBseSh0aGlzLGFyZ3VtZW50cyksaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fG51bGwpfSkpfSxyZW1vdmU6ZnVuY3Rpb24gRW90KCl7cmV0dXJuIHRoaXMuZWFjaChCcnQpfSxjbG9uZTpmdW5jdGlvbiBUb3QodCl7cmV0dXJuIHRoaXMuc2VsZWN0KHQ/RnJ0OkhydCl9LGRhdHVtOmZ1bmN0aW9uIENvdCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLnByb3BlcnR5KCJfX2RhdGFfXyIsdCk6dGhpcy5ub2RlKCkuX19kYXRhX199LG9uOmZ1bmN0aW9uIEFvdCh0LGUsbil7dmFyIGkscixvPUdydCh0KyIiKSxhPW8ubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7Zm9yKHM9ZT9xcnQ6V3J0LG51bGw9PW4mJihuPSExKSxpPTA7aTxhOysraSl0aGlzLmVhY2gocyhvW2ldLGUsbikpO3JldHVybiB0aGlzfXZhciBzPXRoaXMubm9kZSgpLl9fb247aWYocylmb3IodmFyIGwsYz0wLHU9cy5sZW5ndGg7Yzx1OysrYylmb3IoaT0wLGw9c1tjXTtpPGE7KytpKWlmKChyPW9baV0pLnR5cGU9PT1sLnR5cGUmJnIubmFtZT09PWwubmFtZSlyZXR1cm4gbC52YWx1ZX0sZGlzcGF0Y2g6ZnVuY3Rpb24ga290KHQsZSl7cmV0dXJuIHRoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIGU/JHJ0OlhydCkodCxlKSl9fTt2YXIgTG90PXt2YWx1ZTpmdW5jdGlvbigpe319O2Z1bmN0aW9uIFBvdCgpe2Zvcih2YXIgdCxlPTAsbj1hcmd1bWVudHMubGVuZ3RoLGk9e307ZTxuOysrZSl7aWYoISh0PWFyZ3VtZW50c1tlXSsiIil8fHQgaW4gaXx8L1tccy5dLy50ZXN0KHQpKXRocm93IG5ldyBFcnJvcigiaWxsZWdhbCB0eXBlOiAiK3QpO2lbdF09W119cmV0dXJuIG5ldyBOb3QoaSl9ZnVuY3Rpb24gTm90KHQpe3RoaXMuXz10fWZ1bmN0aW9uIElvdCh0LGUpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKS5tYXAoKGZ1bmN0aW9uKHQpe3ZhciBuPSIiLGk9dC5pbmRleE9mKCIuIik7aWYoaT49MCYmKG49dC5zbGljZShpKzEpLHQ9dC5zbGljZSgwLGkpKSx0JiYhZS5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtyZXR1cm57dHlwZTp0LG5hbWU6bn19KSl9ZnVuY3Rpb24gUm90KHQsZSl7Zm9yKHZhciBuLGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYoKG49dFtpXSkubmFtZT09PWUpcmV0dXJuIG4udmFsdWV9ZnVuY3Rpb24gT290KHQsZSxuKXtmb3IodmFyIGk9MCxyPXQubGVuZ3RoO2k8cjsrK2kpaWYodFtpXS5uYW1lPT09ZSl7dFtpXT1Mb3QsdD10LnNsaWNlKDAsaSkuY29uY2F0KHQuc2xpY2UoaSsxKSk7YnJlYWt9cmV0dXJuIG51bGwhPW4mJnQucHVzaCh7bmFtZTplLHZhbHVlOm59KSx0fU5vdC5wcm90b3R5cGU9UG90LnByb3RvdHlwZT17Y29uc3RydWN0b3I6Tm90LG9uOmZ1bmN0aW9uKHQsZSl7dmFyIG4saT10aGlzLl8scj1Jb3QodCsiIixpKSxvPS0xLGE9ci5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtpZihudWxsIT1lJiYiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2FsbGJhY2s6ICIrZSk7Zm9yKDsrK288YTspaWYobj0odD1yW29dKS50eXBlKWlbbl09T290KGlbbl0sdC5uYW1lLGUpO2Vsc2UgaWYobnVsbD09ZSlmb3IobiBpbiBpKWlbbl09T290KGlbbl0sdC5uYW1lLG51bGwpO3JldHVybiB0aGlzfWZvcig7KytvPGE7KWlmKChuPSh0PXJbb10pLnR5cGUpJiYobj1Sb3QoaVtuXSx0Lm5hbWUpKSlyZXR1cm4gbn0sY29weTpmdW5jdGlvbigpe3ZhciB0PXt9LGU9dGhpcy5fO2Zvcih2YXIgbiBpbiBlKXRbbl09ZVtuXS5zbGljZSgpO3JldHVybiBuZXcgTm90KHQpfSxjYWxsOmZ1bmN0aW9uKHQsZSl7aWYoKG49YXJndW1lbnRzLmxlbmd0aC0yKT4wKWZvcih2YXIgbixpLHI9bmV3IEFycmF5KG4pLG89MDtvPG47KytvKXJbb109YXJndW1lbnRzW28rMl07aWYoIXRoaXMuXy5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtmb3Iobz0wLG49KGk9dGhpcy5fW3RdKS5sZW5ndGg7bzxuOysrbylpW29dLnZhbHVlLmFwcGx5KGUscil9LGFwcGx5OmZ1bmN0aW9uKHQsZSxuKXtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2Zvcih2YXIgaT10aGlzLl9bdF0scj0wLG89aS5sZW5ndGg7cjxvOysrcilpW3JdLnZhbHVlLmFwcGx5KGUsbil9fTt2YXIgem90LERvdCxCb3Q9MCxIb3Q9MCxGb3Q9MCxWb3Q9MCxVb3Q9MCxqb3Q9MCxHb3Q9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlOkRhdGUsV290PSJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQodCwxNyl9O2Z1bmN0aW9uIHFvdCgpe3JldHVybiBVb3R8fChXb3QoWW90KSxVb3Q9R290Lm5vdygpK2pvdCl9ZnVuY3Rpb24gWW90KCl7VW90PTB9ZnVuY3Rpb24gWG90KCl7dGhpcy5fY2FsbD10aGlzLl90aW1lPXRoaXMuX25leHQ9bnVsbH1mdW5jdGlvbiAkb3QodCxlLG4pe3ZhciBpPW5ldyBYb3Q7cmV0dXJuIGkucmVzdGFydCh0LGUsbiksaX1mdW5jdGlvbiBLb3QoKXtVb3Q9KFZvdD1Hb3Qubm93KCkpK2pvdCxCb3Q9SG90PTA7dHJ5eyEoZnVuY3Rpb24gdCgpe3FvdCgpLCsrQm90O2Zvcih2YXIgdCxlPXpvdDtlOykodD1Vb3QtZS5fdGltZSk+PTAmJmUuX2NhbGwuY2FsbChudWxsLHQpLGU9ZS5fbmV4dDstLUJvdH0pKCl9ZmluYWxseXtCb3Q9MCwoZnVuY3Rpb24gZSgpe3ZhciB0LGUsbj16b3QsaT0xLzA7Zm9yKDtuOyluLl9jYWxsPyhpPm4uX3RpbWUmJihpPW4uX3RpbWUpLHQ9bixuPW4uX25leHQpOihlPW4uX25leHQsbi5fbmV4dD1udWxsLG49dD90Ll9uZXh0PWU6em90PWUpO0RvdD10LEpvdChpKX0pKCksVW90PTB9fWZ1bmN0aW9uIFpvdCgpe3ZhciB0PUdvdC5ub3coKSxlPXQtVm90O2U+MWUzJiYoam90LT1lLFZvdD10KX1mdW5jdGlvbiBKb3QodCl7Qm90fHwoSG90JiYoSG90PWNsZWFyVGltZW91dChIb3QpKSx0LVVvdD4yND8odDwxLzAmJihIb3Q9c2V0VGltZW91dChLb3QsdC1Hb3Qubm93KCktam90KSksRm90JiYoRm90PWNsZWFySW50ZXJ2YWwoRm90KSkpOihGb3R8fChWb3Q9R290Lm5vdygpLEZvdD1zZXRJbnRlcnZhbChab3QsMWUzKSksQm90PTEsV290KEtvdCkpKX1mdW5jdGlvbiBRb3QodCxlLG4pe3ZhciBpPW5ldyBYb3Q7cmV0dXJuIGkucmVzdGFydCgoZnVuY3Rpb24obil7aS5zdG9wKCksdChuK2UpfSksZT1udWxsPT1lPzA6K2UsbiksaX1Yb3QucHJvdG90eXBlPSRvdC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlhvdCxyZXN0YXJ0OmZ1bmN0aW9uKHQsZSxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBpcyBub3QgYSBmdW5jdGlvbiIpO249KG51bGw9PW4/cW90KCk6K24pKyhudWxsPT1lPzA6K2UpLHRoaXMuX25leHR8fERvdD09PXRoaXN8fChEb3Q/RG90Ll9uZXh0PXRoaXM6em90PXRoaXMsRG90PXRoaXMpLHRoaXMuX2NhbGw9dCx0aGlzLl90aW1lPW4sSm90KCl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLl9jYWxsJiYodGhpcy5fY2FsbD1udWxsLHRoaXMuX3RpbWU9MS8wLEpvdCgpKX19O3ZhciB0YXQ9UG90KCJzdGFydCIsImVuZCIsImludGVycnVwdCIpLGVhdD1bXTtmdW5jdGlvbiBuYXQodCxlLG4saSxyLG8pe3ZhciBhPXQuX190cmFuc2l0aW9uO2lmKGEpe2lmKG4gaW4gYSlyZXR1cm59ZWxzZSB0Ll9fdHJhbnNpdGlvbj17fTshKGZ1bmN0aW9uIHModCxlLG4pe3ZhciBpLHI9dC5fX3RyYW5zaXRpb247ZnVuY3Rpb24gbyh0KXtuLnN0YXRlPTEsbi50aW1lci5yZXN0YXJ0KGEsbi5kZWxheSxuLnRpbWUpLG4uZGVsYXk8PXQmJmEodC1uLmRlbGF5KX1mdW5jdGlvbiBhKG8pe3ZhciBjLHUsaCxkO2lmKDEhPT1uLnN0YXRlKXJldHVybiBsKCk7Zm9yKGMgaW4gcilpZigoZD1yW2NdKS5uYW1lPT09bi5uYW1lKXtpZigzPT09ZC5zdGF0ZSlyZXR1cm4gUW90KGEpOzQ9PT1kLnN0YXRlPyhkLnN0YXRlPTYsZC50aW1lci5zdG9wKCksZC5vbi5jYWxsKCJpbnRlcnJ1cHQiLHQsdC5fX2RhdGFfXyxkLmluZGV4LGQuZ3JvdXApLGRlbGV0ZSByW2NdKTorYzxlJiYoZC5zdGF0ZT02LGQudGltZXIuc3RvcCgpLGRlbGV0ZSByW2NdKX1pZihRb3QoKGZ1bmN0aW9uKCl7Mz09PW4uc3RhdGUmJihuLnN0YXRlPTQsbi50aW1lci5yZXN0YXJ0KHMsbi5kZWxheSxuLnRpbWUpLHMobykpfSkpLG4uc3RhdGU9MixuLm9uLmNhbGwoInN0YXJ0Iix0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSwyPT09bi5zdGF0ZSl7Zm9yKG4uc3RhdGU9MyxpPW5ldyBBcnJheShoPW4udHdlZW4ubGVuZ3RoKSxjPTAsdT0tMTtjPGg7KytjKShkPW4udHdlZW5bY10udmFsdWUuY2FsbCh0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSkmJihpWysrdV09ZCk7aS5sZW5ndGg9dSsxfX1mdW5jdGlvbiBzKGUpe2Zvcih2YXIgcj1lPG4uZHVyYXRpb24/bi5lYXNlLmNhbGwobnVsbCxlL24uZHVyYXRpb24pOihuLnRpbWVyLnJlc3RhcnQobCksbi5zdGF0ZT01LDEpLG89LTEsYT1pLmxlbmd0aDsrK288YTspaVtvXS5jYWxsKG51bGwscik7NT09PW4uc3RhdGUmJihuLm9uLmNhbGwoImVuZCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksbCgpKX1mdW5jdGlvbiBsKCl7Zm9yKHZhciBpIGluIG4uc3RhdGU9NixuLnRpbWVyLnN0b3AoKSxkZWxldGUgcltlXSxyKXJldHVybjtkZWxldGUgdC5fX3RyYW5zaXRpb259cltlXT1uLG4udGltZXI9JG90KG8sMCxuLnRpbWUpfSkodCxuLHtuYW1lOmUsaW5kZXg6aSxncm91cDpyLG9uOnRhdCx0d2VlbjplYXQsdGltZTpvLnRpbWUsZGVsYXk6by5kZWxheSxkdXJhdGlvbjpvLmR1cmF0aW9uLGVhc2U6by5lYXNlLHRpbWVyOm51bGwsc3RhdGU6MH0pfWZ1bmN0aW9uIGlhdCh0LGUpe3ZhciBuPW9hdCh0LGUpO2lmKG4uc3RhdGU+MCl0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHNjaGVkdWxlZCIpO3JldHVybiBufWZ1bmN0aW9uIHJhdCh0LGUpe3ZhciBuPW9hdCh0LGUpO2lmKG4uc3RhdGU+Mil0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHN0YXJ0ZWQiKTtyZXR1cm4gbn1mdW5jdGlvbiBvYXQodCxlKXt2YXIgbj10Ll9fdHJhbnNpdGlvbjtpZighbnx8IShuPW5bZV0pKXRocm93IG5ldyBFcnJvcigidHJhbnNpdGlvbiBub3QgZm91bmQiKTtyZXR1cm4gbn1mdW5jdGlvbiBhYXQodCxlKXt2YXIgbixpLHIsbz10Ll9fdHJhbnNpdGlvbixhPSEwO2lmKG8pe2ZvcihyIGluIGU9bnVsbD09ZT9udWxsOmUrIiIsbykobj1vW3JdKS5uYW1lPT09ZT8oaT1uLnN0YXRlPjImJm4uc3RhdGU8NSxuLnN0YXRlPTYsbi50aW1lci5zdG9wKCksaSYmbi5vbi5jYWxsKCJpbnRlcnJ1cHQiLHQsdC5fX2RhdGFfXyxuLmluZGV4LG4uZ3JvdXApLGRlbGV0ZSBvW3JdKTphPSExO2EmJmRlbGV0ZSB0Ll9fdHJhbnNpdGlvbn19ZnVuY3Rpb24gc2F0KHQsZSxuKXt0LnByb3RvdHlwZT1lLnByb3RvdHlwZT1uLG4uY29uc3RydWN0b3I9dH1mdW5jdGlvbiBsYXQodCxlKXt2YXIgbj1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIGkgaW4gZSluW2ldPWVbaV07cmV0dXJuIG59ZnVuY3Rpb24gY2F0KCl7fXZhciB1YXQ9LjcsaGF0PTEvdWF0LGRhdD0iXFxzKihbKy1dP1xcZCspXFxzKiIscGF0PSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KVxccyoiLGZhdD0iXFxzKihbKy1dP1xcZCpcXC4/XFxkKyg/OltlRV1bKy1dP1xcZCspPyklXFxzKiIsbWF0PS9eIyhbMC05YS1mXXszLDh9KSQvLGdhdD1uZXcgUmVnRXhwKCJecmdiXFwoIitbZGF0LGRhdCxkYXRdKyJcXCkkIiksX2F0PW5ldyBSZWdFeHAoIl5yZ2JcXCgiK1tmYXQsZmF0LGZhdF0rIlxcKSQiKSx5YXQ9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tkYXQsZGF0LGRhdCxwYXRdKyJcXCkkIiksdmF0PW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbZmF0LGZhdCxmYXQscGF0XSsiXFwpJCIpLGJhdD1uZXcgUmVnRXhwKCJeaHNsXFwoIitbcGF0LGZhdCxmYXRdKyJcXCkkIikseGF0PW5ldyBSZWdFeHAoIl5oc2xhXFwoIitbcGF0LGZhdCxmYXQscGF0XSsiXFwpJCIpLHdhdD17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiBTYXQoKXtyZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRIZXgoKX1mdW5jdGlvbiBNYXQoKXtyZXR1cm4gdGhpcy5yZ2IoKS5mb3JtYXRSZ2IoKX1mdW5jdGlvbiBFYXQodCl7dmFyIGUsbjtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKGU9bWF0LmV4ZWModCkpPyhuPWVbMV0ubGVuZ3RoLGU9cGFyc2VJbnQoZVsxXSwxNiksNj09PW4/VGF0KGUpOjM9PT1uP25ldyBMYXQoZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgxNSZlKTw8NHwxNSZlLDEpOjg9PT1uP0NhdChlPj4yNCYyNTUsZT4+MTYmMjU1LGU+PjgmMjU1LCgyNTUmZSkvMjU1KTo0PT09bj9DYXQoZT4+MTImMTV8ZT4+OCYyNDAsZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgoMTUmZSk8PDR8MTUmZSkvMjU1KTpudWxsKTooZT1nYXQuZXhlYyh0KSk/bmV3IExhdChlWzFdLGVbMl0sZVszXSwxKTooZT1fYXQuZXhlYyh0KSk/bmV3IExhdCgyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCwxKTooZT15YXQuZXhlYyh0KSk/Q2F0KGVbMV0sZVsyXSxlWzNdLGVbNF0pOihlPXZhdC5leGVjKHQpKT9DYXQoMjU1KmVbMV0vMTAwLDI1NSplWzJdLzEwMCwyNTUqZVszXS8xMDAsZVs0XSk6KGU9YmF0LmV4ZWModCkpP1JhdChlWzFdLGVbMl0vMTAwLGVbM10vMTAwLDEpOihlPXhhdC5leGVjKHQpKT9SYXQoZVsxXSxlWzJdLzEwMCxlWzNdLzEwMCxlWzRdKTp3YXQuaGFzT3duUHJvcGVydHkodCk/VGF0KHdhdFt0XSk6InRyYW5zcGFyZW50Ij09PXQ/bmV3IExhdChOYU4sTmFOLE5hTiwwKTpudWxsfWZ1bmN0aW9uIFRhdCh0KXtyZXR1cm4gbmV3IExhdCh0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnQsMSl9ZnVuY3Rpb24gQ2F0KHQsZSxuLGkpe3JldHVybiBpPD0wJiYodD1lPW49TmFOKSxuZXcgTGF0KHQsZSxuLGkpfWZ1bmN0aW9uIEFhdCh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGNhdHx8KHQ9RWF0KHQpKSx0P25ldyBMYXQoKHQ9dC5yZ2IoKSkucix0LmcsdC5iLHQub3BhY2l0eSk6bmV3IExhdH1mdW5jdGlvbiBrYXQodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP0FhdCh0KTpuZXcgTGF0KHQsZSxuLG51bGw9PWk/MTppKX1mdW5jdGlvbiBMYXQodCxlLG4saSl7dGhpcy5yPSt0LHRoaXMuZz0rZSx0aGlzLmI9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIFBhdCgpe3JldHVybiIjIitJYXQodGhpcy5yKStJYXQodGhpcy5nKStJYXQodGhpcy5iKX1mdW5jdGlvbiBOYXQoKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJyZ2IoIjoicmdiYSgiKStNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMucil8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5nKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmIpfHwwKSkrKDE9PT10PyIpIjoiLCAiK3QrIikiKX1mdW5jdGlvbiBJYXQodCl7cmV0dXJuKCh0PU1hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodCl8fDApKSk8MTY/IjAiOiIiKSt0LnRvU3RyaW5nKDE2KX1mdW5jdGlvbiBSYXQodCxlLG4saSl7cmV0dXJuIGk8PTA/dD1lPW49TmFOOm48PTB8fG4+PTE/dD1lPU5hTjplPD0wJiYodD1OYU4pLG5ldyB6YXQodCxlLG4saSl9ZnVuY3Rpb24gT2F0KHQpe2lmKHQgaW5zdGFuY2VvZiB6YXQpcmV0dXJuIG5ldyB6YXQodC5oLHQucyx0LmwsdC5vcGFjaXR5KTtpZih0IGluc3RhbmNlb2YgY2F0fHwodD1FYXQodCkpLCF0KXJldHVybiBuZXcgemF0O2lmKHQgaW5zdGFuY2VvZiB6YXQpcmV0dXJuIHQ7dmFyIGU9KHQ9dC5yZ2IoKSkuci8yNTUsbj10LmcvMjU1LGk9dC5iLzI1NSxyPU1hdGgubWluKGUsbixpKSxvPU1hdGgubWF4KGUsbixpKSxhPU5hTixzPW8tcixsPShvK3IpLzI7cmV0dXJuIHM/KGE9ZT09PW8/KG4taSkvcys2KihuPGkpOm49PT1vPyhpLWUpL3MrMjooZS1uKS9zKzQscy89bDwuNT9vK3I6Mi1vLXIsYSo9NjApOnM9bD4wJiZsPDE/MDphLG5ldyB6YXQoYSxzLGwsdC5vcGFjaXR5KX1mdW5jdGlvbiB6YXQodCxlLG4saSl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStpfWZ1bmN0aW9uIERhdCh0LGUsbil7cmV0dXJuIDI1NSoodDw2MD9lKyhuLWUpKnQvNjA6dDwxODA/bjp0PDI0MD9lKyhuLWUpKigyNDAtdCkvNjA6ZSl9ZnVuY3Rpb24gQmF0KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX1mdW5jdGlvbiBIYXQodCl7cmV0dXJuIDE9PSh0PSt0KT9GYXQ6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbi1lPyhmdW5jdGlvbiBpKHQsZSxuKXtyZXR1cm4gdD1NYXRoLnBvdyh0LG4pLGU9TWF0aC5wb3coZSxuKS10LG49MS9uLGZ1bmN0aW9uKGkpe3JldHVybiBNYXRoLnBvdyh0K2kqZSxuKX19KShlLG4sdCk6QmF0KGlzTmFOKGUpP246ZSl9fWZ1bmN0aW9uIEZhdCh0LGUpe3ZhciBuPWUtdDtyZXR1cm4gbj8oZnVuY3Rpb24gaSh0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdCtuKmV9fSkodCxuKTpCYXQoaXNOYU4odCk/ZTp0KX1zYXQoY2F0LEVhdCx7Y29weTpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgdGhpcy5jb25zdHJ1Y3Rvcix0aGlzLHQpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJnYigpLmRpc3BsYXlhYmxlKCl9LGhleDpTYXQsZm9ybWF0SGV4OlNhdCxmb3JtYXRIc2w6ZnVuY3Rpb24gVmF0KCl7cmV0dXJuIE9hdCh0aGlzKS5mb3JtYXRIc2woKX0sZm9ybWF0UmdiOk1hdCx0b1N0cmluZzpNYXR9KSxzYXQoTGF0LGthdCxsYXQoY2F0LHticmlnaHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P2hhdDpNYXRoLnBvdyhoYXQsdCksbmV3IExhdCh0aGlzLnIqdCx0aGlzLmcqdCx0aGlzLmIqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD91YXQ6TWF0aC5wb3codWF0LHQpLG5ldyBMYXQodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuLS41PD10aGlzLnImJnRoaXMucjwyNTUuNSYmLS41PD10aGlzLmcmJnRoaXMuZzwyNTUuNSYmLS41PD10aGlzLmImJnRoaXMuYjwyNTUuNSYmMDw9dGhpcy5vcGFjaXR5JiZ0aGlzLm9wYWNpdHk8PTF9LGhleDpQYXQsZm9ybWF0SGV4OlBhdCxmb3JtYXRSZ2I6TmF0LHRvU3RyaW5nOk5hdH0pKSxzYXQoemF0LChmdW5jdGlvbiBVYXQodCxlLG4saSl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP09hdCh0KTpuZXcgemF0KHQsZSxuLG51bGw9PWk/MTppKX0pLGxhdChjYXQse2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/aGF0Ok1hdGgucG93KGhhdCx0KSxuZXcgemF0KHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/dWF0Ok1hdGgucG93KHVhdCx0KSxuZXcgemF0KHRoaXMuaCx0aGlzLnMsdGhpcy5sKnQsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5oJTM2MCszNjAqKHRoaXMuaDwwKSxlPWlzTmFOKHQpfHxpc05hTih0aGlzLnMpPzA6dGhpcy5zLG49dGhpcy5sLGk9bisobjwuNT9uOjEtbikqZSxyPTIqbi1pO3JldHVybiBuZXcgTGF0KERhdCh0Pj0yNDA/dC0yNDA6dCsxMjAscixpKSxEYXQodCxyLGkpLERhdCh0PDEyMD90KzI0MDp0LTEyMCxyLGkpLHRoaXMub3BhY2l0eSl9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuKDA8PXRoaXMucyYmdGhpcy5zPD0xfHxpc05hTih0aGlzLnMpKSYmMDw9dGhpcy5sJiZ0aGlzLmw8PTEmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxmb3JtYXRIc2w6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJoc2woIjoiaHNsYSgiKSsodGhpcy5ofHwwKSsiLCAiKzEwMCoodGhpcy5zfHwwKSsiJSwgIisxMDAqKHRoaXMubHx8MCkrIiUiKygxPT09dD8iKSI6IiwgIit0KyIpIil9fSkpO3ZhciBqYXQ9KGZ1bmN0aW9uIHQoZSl7dmFyIG49SGF0KGUpO2Z1bmN0aW9uIGkodCxlKXt2YXIgaT1uKCh0PWthdCh0KSkuciwoZT1rYXQoZSkpLnIpLHI9bih0LmcsZS5nKSxvPW4odC5iLGUuYiksYT1GYXQodC5vcGFjaXR5LGUub3BhY2l0eSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0LnI9aShlKSx0Lmc9cihlKSx0LmI9byhlKSx0Lm9wYWNpdHk9YShlKSx0KyIifX1yZXR1cm4gaS5nYW1tYT10LGl9KSgxKTtmdW5jdGlvbiBHYXQodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiB0KigxLW4pK2Uqbn19dmFyIFdhdD0vWy0rXT8oPzpcZCtcLj9cZCp8XC4/XGQrKSg/OltlRV1bLStdP1xkKyk/L2cscWF0PW5ldyBSZWdFeHAoV2F0LnNvdXJjZSwiZyIpO2Z1bmN0aW9uIFlhdCh0LGUpe3ZhciBuLGkscixvPVdhdC5sYXN0SW5kZXg9cWF0Lmxhc3RJbmRleD0wLGE9LTEscz1bXSxsPVtdO2Zvcih0Kz0iIixlKz0iIjsobj1XYXQuZXhlYyh0KSkmJihpPXFhdC5leGVjKGUpKTspKHI9aS5pbmRleCk+byYmKHI9ZS5zbGljZShvLHIpLHNbYV0/c1thXSs9cjpzWysrYV09ciksKG49blswXSk9PT0oaT1pWzBdKT9zW2FdP3NbYV0rPWk6c1srK2FdPWk6KHNbKythXT1udWxsLGwucHVzaCh7aTphLHg6R2F0KG4saSl9KSksbz1xYXQubGFzdEluZGV4O3JldHVybiBvPGUubGVuZ3RoJiYocj1lLnNsaWNlKG8pLHNbYV0/c1thXSs9cjpzWysrYV09cikscy5sZW5ndGg8Mj9sWzBdPyhmdW5jdGlvbiBjKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdChlKSsiIn19KShsWzBdLngpOihmdW5jdGlvbiB1KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX0pKGUpOihlPWwubGVuZ3RoLGZ1bmN0aW9uKHQpe2Zvcih2YXIgbixpPTA7aTxlOysraSlzWyhuPWxbaV0pLmldPW4ueCh0KTtyZXR1cm4gcy5qb2luKCIiKX0pfXZhciBYYXQsJGF0LEthdCxaYXQsSmF0PTE4MC9NYXRoLlBJLFFhdD17dHJhbnNsYXRlWDowLHRyYW5zbGF0ZVk6MCxyb3RhdGU6MCxza2V3WDowLHNjYWxlWDoxLHNjYWxlWToxfTtmdW5jdGlvbiB0c3QodCxlLG4saSxyLG8pe3ZhciBhLHMsbDtyZXR1cm4oYT1NYXRoLnNxcnQodCp0K2UqZSkpJiYodC89YSxlLz1hKSwobD10Km4rZSppKSYmKG4tPXQqbCxpLT1lKmwpLChzPU1hdGguc3FydChuKm4raSppKSkmJihuLz1zLGkvPXMsbC89cyksdCppPGUqbiYmKHQ9LXQsZT0tZSxsPS1sLGE9LWEpLHt0cmFuc2xhdGVYOnIsdHJhbnNsYXRlWTpvLHJvdGF0ZTpNYXRoLmF0YW4yKGUsdCkqSmF0LHNrZXdYOk1hdGguYXRhbihsKSpKYXQsc2NhbGVYOmEsc2NhbGVZOnN9fWZ1bmN0aW9uIGVzdCh0LGUsbixpKXtmdW5jdGlvbiByKHQpe3JldHVybiB0Lmxlbmd0aD90LnBvcCgpKyIgIjoiIn1yZXR1cm4gZnVuY3Rpb24obyxhKXt2YXIgcz1bXSxsPVtdO3JldHVybiBvPXQobyksYT10KGEpLChmdW5jdGlvbiBjKHQsaSxyLG8sYSxzKXtpZih0IT09cnx8aSE9PW8pe3ZhciBsPWEucHVzaCgidHJhbnNsYXRlKCIsbnVsbCxlLG51bGwsbik7cy5wdXNoKHtpOmwtNCx4OkdhdCh0LHIpfSx7aTpsLTIseDpHYXQoaSxvKX0pfWVsc2Uocnx8bykmJmEucHVzaCgidHJhbnNsYXRlKCIrcitlK28rbil9KShvLnRyYW5zbGF0ZVgsby50cmFuc2xhdGVZLGEudHJhbnNsYXRlWCxhLnRyYW5zbGF0ZVkscyxsKSwoZnVuY3Rpb24gdSh0LGUsbixvKXt0IT09ZT8odC1lPjE4MD9lKz0zNjA6ZS10PjE4MCYmKHQrPTM2MCksby5wdXNoKHtpOm4ucHVzaChyKG4pKyJyb3RhdGUoIixudWxsLGkpLTIseDpHYXQodCxlKX0pKTplJiZuLnB1c2gocihuKSsicm90YXRlKCIrZStpKX0pKG8ucm90YXRlLGEucm90YXRlLHMsbCksKGZ1bmN0aW9uIGgodCxlLG4sbyl7dCE9PWU/by5wdXNoKHtpOm4ucHVzaChyKG4pKyJza2V3WCgiLG51bGwsaSktMix4OkdhdCh0LGUpfSk6ZSYmbi5wdXNoKHIobikrInNrZXdYKCIrZStpKX0pKG8uc2tld1gsYS5za2V3WCxzLGwpLChmdW5jdGlvbiBkKHQsZSxuLGksbyxhKXtpZih0IT09bnx8ZSE9PWkpe3ZhciBzPW8ucHVzaChyKG8pKyJzY2FsZSgiLG51bGwsIiwiLG51bGwsIikiKTthLnB1c2goe2k6cy00LHg6R2F0KHQsbil9LHtpOnMtMix4OkdhdChlLGkpfSl9ZWxzZSAxPT09biYmMT09PWl8fG8ucHVzaChyKG8pKyJzY2FsZSgiK24rIiwiK2krIikiKX0pKG8uc2NhbGVYLG8uc2NhbGVZLGEuc2NhbGVYLGEuc2NhbGVZLHMsbCksbz1hPW51bGwsZnVuY3Rpb24odCl7Zm9yKHZhciBlLG49LTEsaT1sLmxlbmd0aDsrK248aTspc1soZT1sW25dKS5pXT1lLngodCk7cmV0dXJuIHMuam9pbigiIil9fX12YXIgbnN0PWVzdCgoZnVuY3Rpb24gaXN0KHQpe3JldHVybiJub25lIj09PXQ/UWF0OihYYXR8fChYYXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiRElWIiksJGF0PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxLYXQ9ZG9jdW1lbnQuZGVmYXVsdFZpZXcpLFhhdC5zdHlsZS50cmFuc2Zvcm09dCx0PUthdC5nZXRDb21wdXRlZFN0eWxlKCRhdC5hcHBlbmRDaGlsZChYYXQpLG51bGwpLmdldFByb3BlcnR5VmFsdWUoInRyYW5zZm9ybSIpLCRhdC5yZW1vdmVDaGlsZChYYXQpLHRzdCgrKHQ9dC5zbGljZSg3LC0xKS5zcGxpdCgiLCIpKVswXSwrdFsxXSwrdFsyXSwrdFszXSwrdFs0XSwrdFs1XSkpfSksInB4LCAiLCJweCkiLCJkZWcpIikscnN0PWVzdCgoZnVuY3Rpb24gb3N0KHQpe3JldHVybiBudWxsPT10P1FhdDooWmF0fHwoWmF0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJnIikpLFphdC5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsdCksKHQ9WmF0LnRyYW5zZm9ybS5iYXNlVmFsLmNvbnNvbGlkYXRlKCkpP3RzdCgodD10Lm1hdHJpeCkuYSx0LmIsdC5jLHQuZCx0LmUsdC5mKTpRYXQpfSksIiwgIiwiKSIsIikiKTtmdW5jdGlvbiBhc3QodCxlKXt2YXIgbixpO3JldHVybiBmdW5jdGlvbigpe3ZhciByPXJhdCh0aGlzLHQpLG89ci50d2VlbjtpZihvIT09bilmb3IodmFyIGE9MCxzPShpPW49bykubGVuZ3RoO2E8czsrK2EpaWYoaVthXS5uYW1lPT09ZSl7KGk9aS5zbGljZSgpKS5zcGxpY2UoYSwxKTticmVha31yLnR3ZWVuPWl9fWZ1bmN0aW9uIHNzdCh0LGUsbil7dmFyIGkscjtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG89cmF0KHRoaXMsdCksYT1vLnR3ZWVuO2lmKGEhPT1pKXtyPShpPWEpLnNsaWNlKCk7Zm9yKHZhciBzPXtuYW1lOmUsdmFsdWU6bn0sbD0wLGM9ci5sZW5ndGg7bDxjOysrbClpZihyW2xdLm5hbWU9PT1lKXtyW2xdPXM7YnJlYWt9bD09PWMmJnIucHVzaChzKX1vLnR3ZWVuPXJ9fWZ1bmN0aW9uIGxzdCh0LGUsbil7dmFyIGk9dC5faWQ7cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24oKXt2YXIgdD1yYXQodGhpcyxpKTsodC52YWx1ZXx8KHQudmFsdWU9e30pKVtlXT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pKSxmdW5jdGlvbih0KXtyZXR1cm4gb2F0KHQsaSkudmFsdWVbZV19fWZ1bmN0aW9uIGNzdCh0LGUpe3ZhciBuO3JldHVybigibnVtYmVyIj09dHlwZW9mIGU/R2F0OmUgaW5zdGFuY2VvZiBFYXQ/amF0OihuPUVhdChlKSk/KGU9bixqYXQpOllhdCkodCxlKX1mdW5jdGlvbiB1c3QodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIGhzdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIGRzdCh0LGUsbil7dmFyIGkscjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz10aGlzLmdldEF0dHJpYnV0ZSh0KTtyZXR1cm4gbz09PW4/bnVsbDpvPT09aT9yOnI9ZShpPW8sbil9fWZ1bmN0aW9uIHBzdCh0LGUsbil7dmFyIGkscjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz10aGlzLmdldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCk7cmV0dXJuIG89PT1uP251bGw6bz09PWk/cjpyPWUoaT1vLG4pfX1mdW5jdGlvbiBmc3QodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYSxzPW4odGhpcyk7aWYobnVsbCE9cylyZXR1cm4oYT10aGlzLmdldEF0dHJpYnV0ZSh0KSk9PT1zP251bGw6YT09PWkmJnM9PT1yP286bz1lKGk9YSxyPXMpO3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpfX1mdW5jdGlvbiBtc3QodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYSxzPW4odGhpcyk7aWYobnVsbCE9cylyZXR1cm4oYT10aGlzLmdldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCkpPT09cz9udWxsOmE9PT1pJiZzPT09cj9vOm89ZShpPWEscj1zKTt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIGdzdCh0LGUpe2Z1bmN0aW9uIG4oKXt2YXIgbj10aGlzLGk9ZS5hcHBseShuLGFyZ3VtZW50cyk7cmV0dXJuIGkmJmZ1bmN0aW9uKGUpe24uc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGkoZSkpfX1yZXR1cm4gbi5fdmFsdWU9ZSxufWZ1bmN0aW9uIF9zdCh0LGUpe2Z1bmN0aW9uIG4oKXt2YXIgbj10aGlzLGk9ZS5hcHBseShuLGFyZ3VtZW50cyk7cmV0dXJuIGkmJmZ1bmN0aW9uKGUpe24uc2V0QXR0cmlidXRlKHQsaShlKSl9fXJldHVybiBuLl92YWx1ZT1lLG59ZnVuY3Rpb24geXN0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7aWF0KHRoaXMsdCkuZGVsYXk9K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiB2c3QodCxlKXtyZXR1cm4gZT0rZSxmdW5jdGlvbigpe2lhdCh0aGlzLHQpLmRlbGF5PWV9fWZ1bmN0aW9uIGJzdCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JhdCh0aGlzLHQpLmR1cmF0aW9uPStlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19ZnVuY3Rpb24geHN0KHQsZSl7cmV0dXJuIGU9K2UsZnVuY3Rpb24oKXtyYXQodGhpcyx0KS5kdXJhdGlvbj1lfX1mdW5jdGlvbiB3c3QodCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIGZ1bmN0aW9uKCl7cmF0KHRoaXMsdCkuZWFzZT1lfX1mdW5jdGlvbiBTc3QodCxlLG4pe3ZhciBpLHIsbz0oZnVuY3Rpb24gYSh0KXtyZXR1cm4odCsiIikudHJpbSgpLnNwbGl0KC9efFxzKy8pLmV2ZXJ5KChmdW5jdGlvbih0KXt2YXIgZT10LmluZGV4T2YoIi4iKTtyZXR1cm4gZT49MCYmKHQ9dC5zbGljZSgwLGUpKSwhdHx8InN0YXJ0Ij09PXR9KSl9KShlKT9pYXQ6cmF0O3JldHVybiBmdW5jdGlvbigpe3ZhciBhPW8odGhpcyx0KSxzPWEub247cyE9PWkmJihyPShpPXMpLmNvcHkoKSkub24oZSxuKSxhLm9uPXJ9fXZhciBNc3Q9SnJ0LnByb3RvdHlwZS5jb25zdHJ1Y3RvcjtmdW5jdGlvbiBFc3QodCxlLG4pe2Z1bmN0aW9uIGkoKXt2YXIgaT10aGlzLHI9ZS5hcHBseShpLGFyZ3VtZW50cyk7cmV0dXJuIHImJmZ1bmN0aW9uKGUpe2kuc3R5bGUuc2V0UHJvcGVydHkodCxyKGUpLG4pfX1yZXR1cm4gaS5fdmFsdWU9ZSxpfXZhciBUc3Q9MDtmdW5jdGlvbiBDc3QodCxlLG4saSl7dGhpcy5fZ3JvdXBzPXQsdGhpcy5fcGFyZW50cz1lLHRoaXMuX25hbWU9bix0aGlzLl9pZD1pfWZ1bmN0aW9uIEFzdCh0KXtyZXR1cm4gSnJ0KCkudHJhbnNpdGlvbih0KX1mdW5jdGlvbiBrc3QoKXtyZXR1cm4rK1RzdH12YXIgTHN0PUpydC5wcm90b3R5cGU7Q3N0LnByb3RvdHlwZT1Bc3QucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpDc3Qsc2VsZWN0OmZ1bmN0aW9uIFBzdCh0KXt2YXIgZT10aGlzLl9uYW1lLG49dGhpcy5faWQ7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PUppdCh0KSk7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89bmV3IEFycmF5KHIpLGE9MDthPHI7KythKWZvcih2YXIgcyxsLGM9aVthXSx1PWMubGVuZ3RoLGg9b1thXT1uZXcgQXJyYXkodSksZD0wO2Q8dTsrK2QpKHM9Y1tkXSkmJihsPXQuY2FsbChzLHMuX19kYXRhX18sZCxjKSkmJigiX19kYXRhX18iaW4gcyYmKGwuX19kYXRhX189cy5fX2RhdGFfXyksaFtkXT1sLG5hdChoW2RdLGUsbixkLGgsb2F0KHMsbikpKTtyZXR1cm4gbmV3IENzdChvLHRoaXMuX3BhcmVudHMsZSxuKX0sc2VsZWN0QWxsOmZ1bmN0aW9uIE5zdCh0KXt2YXIgZT10aGlzLl9uYW1lLG49dGhpcy5faWQ7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PXRydCh0KSk7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89W10sYT1bXSxzPTA7czxyOysrcylmb3IodmFyIGwsYz1pW3NdLHU9Yy5sZW5ndGgsaD0wO2g8dTsrK2gpaWYobD1jW2hdKXtmb3IodmFyIGQscD10LmNhbGwobCxsLl9fZGF0YV9fLGgsYyksZj1vYXQobCxuKSxtPTAsZz1wLmxlbmd0aDttPGc7KyttKShkPXBbbV0pJiZuYXQoZCxlLG4sbSxwLGYpO28ucHVzaChwKSxhLnB1c2gobCl9cmV0dXJuIG5ldyBDc3QobyxhLGUsbil9LGZpbHRlcjpmdW5jdGlvbiBJc3QodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PWVydCh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhPWVbcl0scz1hLmxlbmd0aCxsPWlbcl09W10sYz0wO2M8czsrK2MpKG89YVtjXSkmJnQuY2FsbChvLG8uX19kYXRhX18sYyxhKSYmbC5wdXNoKG8pO3JldHVybiBuZXcgQ3N0KGksdGhpcy5fcGFyZW50cyx0aGlzLl9uYW1lLHRoaXMuX2lkKX0sbWVyZ2U6ZnVuY3Rpb24gUnN0KHQpe2lmKHQuX2lkIT09dGhpcy5faWQpdGhyb3cgbmV3IEVycm9yO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsaT1lLmxlbmd0aCxyPU1hdGgubWluKGksbi5sZW5ndGgpLG89bmV3IEFycmF5KGkpLGE9MDthPHI7KythKWZvcih2YXIgcyxsPWVbYV0sYz1uW2FdLHU9bC5sZW5ndGgsaD1vW2FdPW5ldyBBcnJheSh1KSxkPTA7ZDx1OysrZCkocz1sW2RdfHxjW2RdKSYmKGhbZF09cyk7Zm9yKDthPGk7KythKW9bYV09ZVthXTtyZXR1cm4gbmV3IENzdChvLHRoaXMuX3BhcmVudHMsdGhpcy5fbmFtZSx0aGlzLl9pZCl9LHNlbGVjdGlvbjpmdW5jdGlvbiBPc3QoKXtyZXR1cm4gbmV3IE1zdCh0aGlzLl9ncm91cHMsdGhpcy5fcGFyZW50cyl9LHRyYW5zaXRpb246ZnVuY3Rpb24genN0KCl7Zm9yKHZhciB0PXRoaXMuX25hbWUsZT10aGlzLl9pZCxuPWtzdCgpLGk9dGhpcy5fZ3JvdXBzLHI9aS5sZW5ndGgsbz0wO288cjsrK28pZm9yKHZhciBhLHM9aVtvXSxsPXMubGVuZ3RoLGM9MDtjPGw7KytjKWlmKGE9c1tjXSl7dmFyIHU9b2F0KGEsZSk7bmF0KGEsdCxuLGMscyx7dGltZTp1LnRpbWUrdS5kZWxheSt1LmR1cmF0aW9uLGRlbGF5OjAsZHVyYXRpb246dS5kdXJhdGlvbixlYXNlOnUuZWFzZX0pfXJldHVybiBuZXcgQ3N0KGksdGhpcy5fcGFyZW50cyx0LG4pfSxjYWxsOkxzdC5jYWxsLG5vZGVzOkxzdC5ub2Rlcyxub2RlOkxzdC5ub2RlLHNpemU6THN0LnNpemUsZW1wdHk6THN0LmVtcHR5LGVhY2g6THN0LmVhY2gsb246ZnVuY3Rpb24gRHN0KHQsZSl7dmFyIG49dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8Mj9vYXQodGhpcy5ub2RlKCksbikub24ub24odCk6dGhpcy5lYWNoKFNzdChuLHQsZSkpfSxhdHRyOmZ1bmN0aW9uIEJzdCh0LGUpe3ZhciBuPVlpdCh0KSxpPSJ0cmFuc2Zvcm0iPT09bj9yc3Q6Y3N0O3JldHVybiB0aGlzLmF0dHJUd2Vlbih0LCJmdW5jdGlvbiI9PXR5cGVvZiBlPyhuLmxvY2FsP21zdDpmc3QpKG4saSxsc3QodGhpcywiYXR0ci4iK3QsZSkpOm51bGw9PWU/KG4ubG9jYWw/aHN0OnVzdCkobik6KG4ubG9jYWw/cHN0OmRzdCkobixpLGUrIiIpKX0sYXR0clR3ZWVuOmZ1bmN0aW9uIEhzdCh0LGUpe3ZhciBuPSJhdHRyLiIrdDtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKG49dGhpcy50d2VlbihuKSkmJm4uX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4obixudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7dmFyIGk9WWl0KHQpO3JldHVybiB0aGlzLnR3ZWVuKG4sKGkubG9jYWw/Z3N0Ol9zdCkoaSxlKSl9LHN0eWxlOmZ1bmN0aW9uIEZzdCh0LGUsbil7dmFyIGk9InRyYW5zZm9ybSI9PSh0Kz0iIik/bnN0OmNzdDtyZXR1cm4gbnVsbD09ZT90aGlzLnN0eWxlVHdlZW4odCwoZnVuY3Rpb24gbyh0LGUpe3ZhciBuLGkscjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz1fcnQodGhpcyx0KSxhPSh0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLF9ydCh0aGlzLHQpKTtyZXR1cm4gbz09PWE/bnVsbDpvPT09biYmYT09PWk/cjpyPWUobj1vLGk9YSl9fSkodCxpKSkub24oImVuZC5zdHlsZS4iK3QsKGZ1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KX19KSh0KSk6dGhpcy5zdHlsZVR3ZWVuKHQsImZ1bmN0aW9uIj09dHlwZW9mIGU/KGZ1bmN0aW9uIGEodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYT1fcnQodGhpcyx0KSxzPW4odGhpcyk7cmV0dXJuIG51bGw9PXMmJih0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLHM9X3J0KHRoaXMsdCkpLGE9PT1zP251bGw6YT09PWkmJnM9PT1yP286bz1lKGk9YSxyPXMpfX0pKHQsaSxsc3QodGhpcywic3R5bGUuIit0LGUpKTooZnVuY3Rpb24gcyh0LGUsbil7dmFyIGkscjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz1fcnQodGhpcyx0KTtyZXR1cm4gbz09PW4/bnVsbDpvPT09aT9yOnI9ZShpPW8sbil9fSkodCxpLGUrIiIpLG4pfSxzdHlsZVR3ZWVuOmZ1bmN0aW9uIFZzdCh0LGUsbil7dmFyIGk9InN0eWxlLiIrKHQrPSIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKGk9dGhpcy50d2VlbihpKSkmJmkuX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4oaSxudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHRoaXMudHdlZW4oaSxFc3QodCxlLG51bGw9PW4/IiI6bikpfSx0ZXh0OmZ1bmN0aW9uIFVzdCh0KXtyZXR1cm4gdGhpcy50d2VlbigidGV4dCIsImZ1bmN0aW9uIj09dHlwZW9mIHQ/KGZ1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKTt0aGlzLnRleHRDb250ZW50PW51bGw9PWU/IiI6ZX19KShsc3QodGhpcywidGV4dCIsdCkpOihmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMudGV4dENvbnRlbnQ9dH19KShudWxsPT10PyIiOnQrIiIpKX0scmVtb3ZlOmZ1bmN0aW9uIGpzdCgpe3JldHVybiB0aGlzLm9uKCJlbmQucmVtb3ZlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD10aGlzLnBhcmVudE5vZGU7Zm9yKHZhciBuIGluIHRoaXMuX190cmFuc2l0aW9uKWlmKCtuIT09ZSlyZXR1cm47dCYmdC5yZW1vdmVDaGlsZCh0aGlzKX19KSh0aGlzLl9pZCkpfSx0d2VlbjpmdW5jdGlvbiBHc3QodCxlKXt2YXIgbj10aGlzLl9pZDtpZih0Kz0iIixhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgaSxyPW9hdCh0aGlzLm5vZGUoKSxuKS50d2VlbixvPTAsYT1yLmxlbmd0aDtvPGE7KytvKWlmKChpPXJbb10pLm5hbWU9PT10KXJldHVybiBpLnZhbHVlO3JldHVybiBudWxsfXJldHVybiB0aGlzLmVhY2goKG51bGw9PWU/YXN0OnNzdCkobix0LGUpKX0sZGVsYXk6ZnVuY3Rpb24gV3N0KHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIHQ/eXN0OnZzdCkoZSx0KSk6b2F0KHRoaXMubm9kZSgpLGUpLmRlbGF5fSxkdXJhdGlvbjpmdW5jdGlvbiBxc3QodCl7dmFyIGU9dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgdD9ic3Q6eHN0KShlLHQpKTpvYXQodGhpcy5ub2RlKCksZSkuZHVyYXRpb259LGVhc2U6ZnVuY3Rpb24gWXN0KHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCh3c3QoZSx0KSk6b2F0KHRoaXMubm9kZSgpLGUpLmVhc2V9fTt2YXIgWHN0PXt0aW1lOm51bGwsZGVsYXk6MCxkdXJhdGlvbjoyNTAsZWFzZTpxZn07ZnVuY3Rpb24gJHN0KHQsZSl7Zm9yKHZhciBuOyEobj10Ll9fdHJhbnNpdGlvbil8fCEobj1uW2VdKTspaWYoISh0PXQucGFyZW50Tm9kZSkpcmV0dXJuIFhzdC50aW1lPXFvdCgpLFhzdDtyZXR1cm4gbn1KcnQucHJvdG90eXBlLmludGVycnVwdD1mdW5jdGlvbiBLc3QodCl7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXthYXQodGhpcyx0KX0pKX0sSnJ0LnByb3RvdHlwZS50cmFuc2l0aW9uPWZ1bmN0aW9uIFpzdCh0KXt2YXIgZSxuO3QgaW5zdGFuY2VvZiBDc3Q/KGU9dC5faWQsdD10Ll9uYW1lKTooZT1rc3QoKSwobj1Yc3QpLnRpbWU9cW90KCksdD1udWxsPT10P251bGw6dCsiIik7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89MDtvPHI7KytvKWZvcih2YXIgYSxzPWlbb10sbD1zLmxlbmd0aCxjPTA7YzxsOysrYykoYT1zW2NdKSYmbmF0KGEsdCxlLGMscyxufHwkc3QoYSxlKSk7cmV0dXJuIG5ldyBDc3QoaSx0aGlzLl9wYXJlbnRzLHQsZSl9O3ZhciBKc3Q9W251bGxdO2Z1bmN0aW9uIFFzdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gdGx0KHQpe3JldHVybiB0WzBdfWZ1bmN0aW9uIGVsdCh0KXtyZXR1cm4gdFsxXX1mdW5jdGlvbiBubHQoKXt0aGlzLl89bnVsbH1mdW5jdGlvbiBpbHQodCl7dC5VPXQuQz10Lkw9dC5SPXQuUD10Lk49bnVsbH1mdW5jdGlvbiBybHQodCxlKXt2YXIgbj1lLGk9ZS5SLHI9bi5VO3I/ci5MPT09bj9yLkw9aTpyLlI9aTp0Ll89aSxpLlU9cixuLlU9aSxuLlI9aS5MLG4uUiYmKG4uUi5VPW4pLGkuTD1ufWZ1bmN0aW9uIG9sdCh0LGUpe3ZhciBuPWUsaT1lLkwscj1uLlU7cj9yLkw9PT1uP3IuTD1pOnIuUj1pOnQuXz1pLGkuVT1yLG4uVT1pLG4uTD1pLlIsbi5MJiYobi5MLlU9biksaS5SPW59ZnVuY3Rpb24gYWx0KHQpe2Zvcig7dC5MOyl0PXQuTDtyZXR1cm4gdH1mdW5jdGlvbiBzbHQodCxlLG4saSl7dmFyIHI9W251bGwsbnVsbF0sbz1QbHQucHVzaChyKS0xO3JldHVybiByLmxlZnQ9dCxyLnJpZ2h0PWUsbiYmY2x0KHIsdCxlLG4pLGkmJmNsdChyLGUsdCxpKSxrbHRbdC5pbmRleF0uaGFsZmVkZ2VzLnB1c2gobyksa2x0W2UuaW5kZXhdLmhhbGZlZGdlcy5wdXNoKG8pLHJ9ZnVuY3Rpb24gbGx0KHQsZSxuKXt2YXIgaT1bZSxuXTtyZXR1cm4gaS5sZWZ0PXQsaX1mdW5jdGlvbiBjbHQodCxlLG4saSl7dFswXXx8dFsxXT90LmxlZnQ9PT1uP3RbMV09aTp0WzBdPWk6KHRbMF09aSx0LmxlZnQ9ZSx0LnJpZ2h0PW4pfWZ1bmN0aW9uIHVsdCh0LGUsbixpLHIpe3ZhciBvLGE9dFswXSxzPXRbMV0sbD1hWzBdLGM9YVsxXSx1PTAsaD0xLGQ9c1swXS1sLHA9c1sxXS1jO2lmKG89ZS1sLGR8fCEobz4wKSl7aWYoby89ZCxkPDApe2lmKG88dSlyZXR1cm47bzxoJiYoaD1vKX1lbHNlIGlmKGQ+MCl7aWYobz5oKXJldHVybjtvPnUmJih1PW8pfWlmKG89aS1sLGR8fCEobzwwKSl7aWYoby89ZCxkPDApe2lmKG8+aClyZXR1cm47bz51JiYodT1vKX1lbHNlIGlmKGQ+MCl7aWYobzx1KXJldHVybjtvPGgmJihoPW8pfWlmKG89bi1jLHB8fCEobz4wKSl7aWYoby89cCxwPDApe2lmKG88dSlyZXR1cm47bzxoJiYoaD1vKX1lbHNlIGlmKHA+MCl7aWYobz5oKXJldHVybjtvPnUmJih1PW8pfWlmKG89ci1jLHB8fCEobzwwKSl7aWYoby89cCxwPDApe2lmKG8+aClyZXR1cm47bz51JiYodT1vKX1lbHNlIGlmKHA+MCl7aWYobzx1KXJldHVybjtvPGgmJihoPW8pfXJldHVybiEodT4wfHxoPDEpfHwodT4wJiYodFswXT1bbCt1KmQsYyt1KnBdKSxoPDEmJih0WzFdPVtsK2gqZCxjK2gqcF0pLCEwKX19fX19ZnVuY3Rpb24gaGx0KHQsZSxuLGkscil7dmFyIG89dFsxXTtpZihvKXJldHVybiEwO3ZhciBhLHMsbD10WzBdLGM9dC5sZWZ0LHU9dC5yaWdodCxoPWNbMF0sZD1jWzFdLHA9dVswXSxmPXVbMV0sbT0oaCtwKS8yO2lmKGY9PT1kKXtpZihtPGV8fG0+PWkpcmV0dXJuO2lmKGg+cCl7aWYobCl7aWYobFsxXT49cilyZXR1cm59ZWxzZSBsPVttLG5dO289W20scl19ZWxzZXtpZihsKXtpZihsWzFdPG4pcmV0dXJufWVsc2UgbD1bbSxyXTtvPVttLG5dfX1lbHNlIGlmKHM9KGQrZikvMi0oYT0oaC1wKS8oZi1kKSkqbSxhPC0xfHxhPjEpaWYoaD5wKXtpZihsKXtpZihsWzFdPj1yKXJldHVybn1lbHNlIGw9WyhuLXMpL2Esbl07bz1bKHItcykvYSxyXX1lbHNle2lmKGwpe2lmKGxbMV08bilyZXR1cm59ZWxzZSBsPVsoci1zKS9hLHJdO289WyhuLXMpL2Esbl19ZWxzZSBpZihkPGYpe2lmKGwpe2lmKGxbMF0+PWkpcmV0dXJufWVsc2UgbD1bZSxhKmUrc107bz1baSxhKmkrc119ZWxzZXtpZihsKXtpZihsWzBdPGUpcmV0dXJufWVsc2UgbD1baSxhKmkrc107bz1bZSxhKmUrc119cmV0dXJuIHRbMF09bCx0WzFdPW8sITB9ZnVuY3Rpb24gZGx0KHQsZSl7dmFyIG49dC5zaXRlLGk9ZS5sZWZ0LHI9ZS5yaWdodDtyZXR1cm4gbj09PXImJihyPWksaT1uKSxyP01hdGguYXRhbjIoclsxXS1pWzFdLHJbMF0taVswXSk6KG49PT1pPyhpPWVbMV0scj1lWzBdKTooaT1lWzBdLHI9ZVsxXSksTWF0aC5hdGFuMihpWzBdLXJbMF0sclsxXS1pWzFdKSl9ZnVuY3Rpb24gcGx0KHQsZSl7cmV0dXJuIGVbKyhlLmxlZnQhPT10LnNpdGUpXX1mdW5jdGlvbiBmbHQodCxlKXtyZXR1cm4gZVsrKGUubGVmdD09PXQuc2l0ZSldfW5sdC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOm5sdCxpbnNlcnQ6ZnVuY3Rpb24odCxlKXt2YXIgbixpLHI7aWYodCl7aWYoZS5QPXQsZS5OPXQuTix0Lk4mJih0Lk4uUD1lKSx0Lk49ZSx0LlIpe2Zvcih0PXQuUjt0Lkw7KXQ9dC5MO3QuTD1lfWVsc2UgdC5SPWU7bj10fWVsc2UgdGhpcy5fPyh0PWFsdCh0aGlzLl8pLGUuUD1udWxsLGUuTj10LHQuUD10Lkw9ZSxuPXQpOihlLlA9ZS5OPW51bGwsdGhpcy5fPWUsbj1udWxsKTtmb3IoZS5MPWUuUj1udWxsLGUuVT1uLGUuQz0hMCx0PWU7biYmbi5DOyluPT09KGk9bi5VKS5MPyhyPWkuUikmJnIuQz8obi5DPXIuQz0hMSxpLkM9ITAsdD1pKToodD09PW4uUiYmKHJsdCh0aGlzLG4pLG49KHQ9bikuVSksbi5DPSExLGkuQz0hMCxvbHQodGhpcyxpKSk6KHI9aS5MKSYmci5DPyhuLkM9ci5DPSExLGkuQz0hMCx0PWkpOih0PT09bi5MJiYob2x0KHRoaXMsbiksbj0odD1uKS5VKSxuLkM9ITEsaS5DPSEwLHJsdCh0aGlzLGkpKSxuPXQuVTt0aGlzLl8uQz0hMX0scmVtb3ZlOmZ1bmN0aW9uKHQpe3QuTiYmKHQuTi5QPXQuUCksdC5QJiYodC5QLk49dC5OKSx0Lk49dC5QPW51bGw7dmFyIGUsbixpLHI9dC5VLG89dC5MLGE9dC5SO2lmKG49bz9hP2FsdChhKTpvOmEscj9yLkw9PT10P3IuTD1uOnIuUj1uOnRoaXMuXz1uLG8mJmE/KGk9bi5DLG4uQz10LkMsbi5MPW8sby5VPW4sbiE9PWE/KHI9bi5VLG4uVT10LlUsci5MPXQ9bi5SLG4uUj1hLGEuVT1uKToobi5VPXIscj1uLHQ9bi5SKSk6KGk9dC5DLHQ9biksdCYmKHQuVT1yKSwhaSlpZih0JiZ0LkMpdC5DPSExO2Vsc2V7ZG97aWYodD09PXRoaXMuXylicmVhaztpZih0PT09ci5MKXtpZigoZT1yLlIpLkMmJihlLkM9ITEsci5DPSEwLHJsdCh0aGlzLHIpLGU9ci5SKSxlLkwmJmUuTC5DfHxlLlImJmUuUi5DKXtlLlImJmUuUi5DfHwoZS5MLkM9ITEsZS5DPSEwLG9sdCh0aGlzLGUpLGU9ci5SKSxlLkM9ci5DLHIuQz1lLlIuQz0hMSxybHQodGhpcyxyKSx0PXRoaXMuXzticmVha319ZWxzZSBpZigoZT1yLkwpLkMmJihlLkM9ITEsci5DPSEwLG9sdCh0aGlzLHIpLGU9ci5MKSxlLkwmJmUuTC5DfHxlLlImJmUuUi5DKXtlLkwmJmUuTC5DfHwoZS5SLkM9ITEsZS5DPSEwLHJsdCh0aGlzLGUpLGU9ci5MKSxlLkM9ci5DLHIuQz1lLkwuQz0hMSxvbHQodGhpcyxyKSx0PXRoaXMuXzticmVha31lLkM9ITAsdD1yLHI9ci5VfXdoaWxlKCF0LkMpO3QmJih0LkM9ITEpfX19O3ZhciBtbHQsZ2x0PVtdO2Z1bmN0aW9uIF9sdCgpe2lsdCh0aGlzKSx0aGlzLng9dGhpcy55PXRoaXMuYXJjPXRoaXMuc2l0ZT10aGlzLmN5PW51bGx9ZnVuY3Rpb24geWx0KHQpe3ZhciBlPXQuUCxuPXQuTjtpZihlJiZuKXt2YXIgaT1lLnNpdGUscj10LnNpdGUsbz1uLnNpdGU7aWYoaSE9PW8pe3ZhciBhPXJbMF0scz1yWzFdLGw9aVswXS1hLGM9aVsxXS1zLHU9b1swXS1hLGg9b1sxXS1zLGQ9MioobCpoLWMqdSk7aWYoIShkPj0tSWx0KSl7dmFyIHA9bCpsK2MqYyxmPXUqdStoKmgsbT0oaCpwLWMqZikvZCxnPShsKmYtdSpwKS9kLF89Z2x0LnBvcCgpfHxuZXcgX2x0O18uYXJjPXQsXy5zaXRlPXIsXy54PW0rYSxfLnk9KF8uY3k9ZytzKStNYXRoLnNxcnQobSptK2cqZyksdC5jaXJjbGU9Xztmb3IodmFyIHk9bnVsbCx2PUxsdC5fO3Y7KWlmKF8ueTx2Lnl8fF8ueT09PXYueSYmXy54PD12Lngpe2lmKCF2Lkwpe3k9di5QO2JyZWFrfXY9di5MfWVsc2V7aWYoIXYuUil7eT12O2JyZWFrfXY9di5SfUxsdC5pbnNlcnQoeSxfKSx5fHwobWx0PV8pfX19fWZ1bmN0aW9uIHZsdCh0KXt2YXIgZT10LmNpcmNsZTtlJiYoZS5QfHwobWx0PWUuTiksTGx0LnJlbW92ZShlKSxnbHQucHVzaChlKSxpbHQoZSksdC5jaXJjbGU9bnVsbCl9dmFyIGJsdD1bXTtmdW5jdGlvbiB4bHQoKXtpbHQodGhpcyksdGhpcy5lZGdlPXRoaXMuc2l0ZT10aGlzLmNpcmNsZT1udWxsfWZ1bmN0aW9uIHdsdCh0KXt2YXIgZT1ibHQucG9wKCl8fG5ldyB4bHQ7cmV0dXJuIGUuc2l0ZT10LGV9ZnVuY3Rpb24gU2x0KHQpe3ZsdCh0KSxBbHQucmVtb3ZlKHQpLGJsdC5wdXNoKHQpLGlsdCh0KX1mdW5jdGlvbiBNbHQodCl7dmFyIGU9dC5jaXJjbGUsbj1lLngsaT1lLmN5LHI9W24saV0sbz10LlAsYT10Lk4scz1bdF07U2x0KHQpO2Zvcih2YXIgbD1vO2wuY2lyY2xlJiZNYXRoLmFicyhuLWwuY2lyY2xlLngpPE5sdCYmTWF0aC5hYnMoaS1sLmNpcmNsZS5jeSk8Tmx0OylvPWwuUCxzLnVuc2hpZnQobCksU2x0KGwpLGw9bztzLnVuc2hpZnQobCksdmx0KGwpO2Zvcih2YXIgYz1hO2MuY2lyY2xlJiZNYXRoLmFicyhuLWMuY2lyY2xlLngpPE5sdCYmTWF0aC5hYnMoaS1jLmNpcmNsZS5jeSk8Tmx0OylhPWMuTixzLnB1c2goYyksU2x0KGMpLGM9YTtzLnB1c2goYyksdmx0KGMpO3ZhciB1LGg9cy5sZW5ndGg7Zm9yKHU9MTt1PGg7Kyt1KWNsdCgoYz1zW3VdKS5lZGdlLChsPXNbdS0xXSkuc2l0ZSxjLnNpdGUscik7KGM9c1toLTFdKS5lZGdlPXNsdCgobD1zWzBdKS5zaXRlLGMuc2l0ZSxudWxsLHIpLHlsdChsKSx5bHQoYyl9ZnVuY3Rpb24gRWx0KHQpe2Zvcih2YXIgZSxuLGkscixvPXRbMF0sYT10WzFdLHM9QWx0Ll87czspaWYoKGk9VGx0KHMsYSktbyk+Tmx0KXM9cy5MO2Vsc2V7aWYoISgocj1vLUNsdChzLGEpKT5ObHQpKXtpPi1ObHQ/KGU9cy5QLG49cyk6cj4tTmx0PyhlPXMsbj1zLk4pOmU9bj1zO2JyZWFrfWlmKCFzLlIpe2U9czticmVha31zPXMuUn0hKGZ1bmN0aW9uIGwodCl7cmV0dXJuIGtsdFt0LmluZGV4XT17c2l0ZTp0LGhhbGZlZGdlczpbXX19KSh0KTt2YXIgYz13bHQodCk7aWYoQWx0Lmluc2VydChlLGMpLGV8fG4pe2lmKGU9PT1uKXJldHVybiB2bHQoZSksbj13bHQoZS5zaXRlKSxBbHQuaW5zZXJ0KGMsbiksYy5lZGdlPW4uZWRnZT1zbHQoZS5zaXRlLGMuc2l0ZSkseWx0KGUpLHZvaWQgeWx0KG4pO2lmKG4pe3ZsdChlKSx2bHQobik7dmFyIHU9ZS5zaXRlLGg9dVswXSxkPXVbMV0scD10WzBdLWgsZj10WzFdLWQsbT1uLnNpdGUsZz1tWzBdLWgsXz1tWzFdLWQseT0yKihwKl8tZipnKSx2PXAqcCtmKmYsYj1nKmcrXypfLHg9WyhfKnYtZipiKS95K2gsKHAqYi1nKnYpL3krZF07Y2x0KG4uZWRnZSx1LG0seCksYy5lZGdlPXNsdCh1LHQsbnVsbCx4KSxuLmVkZ2U9c2x0KHQsbSxudWxsLHgpLHlsdChlKSx5bHQobil9ZWxzZSBjLmVkZ2U9c2x0KGUuc2l0ZSxjLnNpdGUpfX1mdW5jdGlvbiBUbHQodCxlKXt2YXIgbj10LnNpdGUsaT1uWzBdLHI9blsxXSxvPXItZTtpZighbylyZXR1cm4gaTt2YXIgYT10LlA7aWYoIWEpcmV0dXJuLTEvMDt2YXIgcz0obj1hLnNpdGUpWzBdLGw9blsxXSxjPWwtZTtpZighYylyZXR1cm4gczt2YXIgdT1zLWksaD0xL28tMS9jLGQ9dS9jO3JldHVybiBoPygtZCtNYXRoLnNxcnQoZCpkLTIqaCoodSp1LygtMipjKS1sK2MvMityLW8vMikpKS9oK2k6KGkrcykvMn1mdW5jdGlvbiBDbHQodCxlKXt2YXIgbj10Lk47aWYobilyZXR1cm4gVGx0KG4sZSk7dmFyIGk9dC5zaXRlO3JldHVybiBpWzFdPT09ZT9pWzBdOjEvMH12YXIgQWx0LGtsdCxMbHQsUGx0LE5sdD0xZS02LElsdD0xZS0xMjtmdW5jdGlvbiBSbHQodCxlLG4pe3JldHVybih0WzBdLW5bMF0pKihlWzFdLXRbMV0pLSh0WzBdLWVbMF0pKihuWzFdLXRbMV0pfWZ1bmN0aW9uIE9sdCh0LGUpe3JldHVybiBlWzFdLXRbMV18fGVbMF0tdFswXX1mdW5jdGlvbiB6bHQodCxlKXt2YXIgbixpLHIsbz10LnNvcnQoT2x0KS5wb3AoKTtmb3IoUGx0PVtdLGtsdD1uZXcgQXJyYXkodC5sZW5ndGgpLEFsdD1uZXcgbmx0LExsdD1uZXcgbmx0OzspaWYocj1tbHQsbyYmKCFyfHxvWzFdPHIueXx8b1sxXT09PXIueSYmb1swXTxyLngpKW9bMF09PT1uJiZvWzFdPT09aXx8KEVsdChvKSxuPW9bMF0saT1vWzFdKSxvPXQucG9wKCk7ZWxzZXtpZighcilicmVhaztNbHQoci5hcmMpfWlmKChmdW5jdGlvbiBhKCl7Zm9yKHZhciB0LGUsbixpLHI9MCxvPWtsdC5sZW5ndGg7cjxvOysrcilpZigodD1rbHRbcl0pJiYoaT0oZT10LmhhbGZlZGdlcykubGVuZ3RoKSl7dmFyIGE9bmV3IEFycmF5KGkpLHM9bmV3IEFycmF5KGkpO2ZvcihuPTA7bjxpOysrbilhW25dPW4sc1tuXT1kbHQodCxQbHRbZVtuXV0pO2ZvcihhLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHNbZV0tc1t0XX0pKSxuPTA7bjxpOysrbilzW25dPWVbYVtuXV07Zm9yKG49MDtuPGk7KytuKWVbbl09c1tuXX19KSgpLGUpe3ZhciBzPStlWzBdWzBdLGw9K2VbMF1bMV0sYz0rZVsxXVswXSx1PStlWzFdWzFdOyEoZnVuY3Rpb24gaCh0LGUsbixpKXtmb3IodmFyIHIsbz1QbHQubGVuZ3RoO28tLTspaGx0KHI9UGx0W29dLHQsZSxuLGkpJiZ1bHQocix0LGUsbixpKSYmKE1hdGguYWJzKHJbMF1bMF0tclsxXVswXSk+Tmx0fHxNYXRoLmFicyhyWzBdWzFdLXJbMV1bMV0pPk5sdCl8fGRlbGV0ZSBQbHRbb119KShzLGwsYyx1KSwoZnVuY3Rpb24gZCh0LGUsbixpKXt2YXIgcixvLGEscyxsLGMsdSxoLGQscCxmLG0sZz1rbHQubGVuZ3RoLF89ITA7Zm9yKHI9MDtyPGc7KytyKWlmKG89a2x0W3JdKXtmb3IoYT1vLnNpdGUscz0obD1vLmhhbGZlZGdlcykubGVuZ3RoO3MtLTspUGx0W2xbc11dfHxsLnNwbGljZShzLDEpO2ZvcihzPTAsYz1sLmxlbmd0aDtzPGM7KWY9KHA9Zmx0KG8sUGx0W2xbc11dKSlbMF0sbT1wWzFdLGg9KHU9cGx0KG8sUGx0W2xbKytzJWNdXSkpWzBdLGQ9dVsxXSwoTWF0aC5hYnMoZi1oKT5ObHR8fE1hdGguYWJzKG0tZCk+Tmx0KSYmKGwuc3BsaWNlKHMsMCxQbHQucHVzaChsbHQoYSxwLE1hdGguYWJzKGYtdCk8Tmx0JiZpLW0+Tmx0P1t0LE1hdGguYWJzKGgtdCk8Tmx0P2Q6aV06TWF0aC5hYnMobS1pKTxObHQmJm4tZj5ObHQ/W01hdGguYWJzKGQtaSk8Tmx0P2g6bixpXTpNYXRoLmFicyhmLW4pPE5sdCYmbS1lPk5sdD9bbixNYXRoLmFicyhoLW4pPE5sdD9kOmVdOk1hdGguYWJzKG0tZSk8Tmx0JiZmLXQ+Tmx0P1tNYXRoLmFicyhkLWUpPE5sdD9oOnQsZV06bnVsbCkpLTEpLCsrYyk7YyYmKF89ITEpfWlmKF8pe3ZhciB5LHYsYix4PTEvMDtmb3Iocj0wLF89bnVsbDtyPGc7KytyKShvPWtsdFtyXSkmJihiPSh5PShhPW8uc2l0ZSlbMF0tdCkqeSsodj1hWzFdLWUpKnYpPHgmJih4PWIsXz1vKTtpZihfKXt2YXIgdz1bdCxlXSxTPVt0LGldLE09W24saV0sRT1bbixlXTtfLmhhbGZlZGdlcy5wdXNoKFBsdC5wdXNoKGxsdChhPV8uc2l0ZSx3LFMpKS0xLFBsdC5wdXNoKGxsdChhLFMsTSkpLTEsUGx0LnB1c2gobGx0KGEsTSxFKSktMSxQbHQucHVzaChsbHQoYSxFLHcpKS0xKX19Zm9yKHI9MDtyPGc7KytyKShvPWtsdFtyXSkmJihvLmhhbGZlZGdlcy5sZW5ndGh8fGRlbGV0ZSBrbHRbcl0pfSkocyxsLGMsdSl9dGhpcy5lZGdlcz1QbHQsdGhpcy5jZWxscz1rbHQsQWx0PUxsdD1QbHQ9a2x0PW51bGx9emx0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6emx0LHBvbHlnb25zOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lZGdlcztyZXR1cm4gdGhpcy5jZWxscy5tYXAoKGZ1bmN0aW9uKGUpe3ZhciBuPWUuaGFsZmVkZ2VzLm1hcCgoZnVuY3Rpb24obil7cmV0dXJuIHBsdChlLHRbbl0pfSkpO3JldHVybiBuLmRhdGE9ZS5zaXRlLmRhdGEsbn0pKX0sdHJpYW5nbGVzOmZ1bmN0aW9uKCl7dmFyIHQ9W10sZT10aGlzLmVkZ2VzO3JldHVybiB0aGlzLmNlbGxzLmZvckVhY2goKGZ1bmN0aW9uKG4saSl7aWYobz0ocj1uLmhhbGZlZGdlcykubGVuZ3RoKWZvcih2YXIgcixvLGEscz1uLnNpdGUsbD0tMSxjPWVbcltvLTFdXSx1PWMubGVmdD09PXM/Yy5yaWdodDpjLmxlZnQ7KytsPG87KWE9dSx1PShjPWVbcltsXV0pLmxlZnQ9PT1zP2MucmlnaHQ6Yy5sZWZ0LGEmJnUmJmk8YS5pbmRleCYmaTx1LmluZGV4JiZSbHQocyxhLHUpPDAmJnQucHVzaChbcy5kYXRhLGEuZGF0YSx1LmRhdGFdKX0pKSx0fSxsaW5rczpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZ2VzLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQucmlnaHR9KSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm57c291cmNlOnQubGVmdC5kYXRhLHRhcmdldDp0LnJpZ2h0LmRhdGF9fSkpfSxmaW5kOmZ1bmN0aW9uKHQsZSxuKXtmb3IodmFyIGkscixvPXRoaXMsYT1vLl9mb3VuZHx8MCxzPW8uY2VsbHMubGVuZ3RoOyEocj1vLmNlbGxzW2FdKTspaWYoKythPj1zKXJldHVybiBudWxsO3ZhciBsPXQtci5zaXRlWzBdLGM9ZS1yLnNpdGVbMV0sdT1sKmwrYypjO2Rve3I9by5jZWxsc1tpPWFdLGE9bnVsbCxyLmhhbGZlZGdlcy5mb3JFYWNoKChmdW5jdGlvbihuKXt2YXIgaT1vLmVkZ2VzW25dLHM9aS5sZWZ0O2lmKHMhPT1yLnNpdGUmJnN8fChzPWkucmlnaHQpKXt2YXIgbD10LXNbMF0sYz1lLXNbMV0saD1sKmwrYypjO2g8dSYmKHU9aCxhPXMuaW5kZXgpfX0pKX13aGlsZShudWxsIT09YSk7cmV0dXJuIG8uX2ZvdW5kPWksbnVsbD09bnx8dTw9bipuP3Iuc2l0ZTpudWxsfX07dmFyIERsdD17dmFsdWU6ZnVuY3Rpb24oKXt9fTtmdW5jdGlvbiBCbHQoKXtmb3IodmFyIHQsZT0wLG49YXJndW1lbnRzLmxlbmd0aCxpPXt9O2U8bjsrK2Upe2lmKCEodD1hcmd1bWVudHNbZV0rIiIpfHx0IGluIGl8fC9bXHMuXS8udGVzdCh0KSl0aHJvdyBuZXcgRXJyb3IoImlsbGVnYWwgdHlwZTogIit0KTtpW3RdPVtdfXJldHVybiBuZXcgSGx0KGkpfWZ1bmN0aW9uIEhsdCh0KXt0aGlzLl89dH1mdW5jdGlvbiBGbHQodCxlKXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKChmdW5jdGlvbih0KXt2YXIgbj0iIixpPXQuaW5kZXhPZigiLiIpO2lmKGk+PTAmJihuPXQuc2xpY2UoaSsxKSx0PXQuc2xpY2UoMCxpKSksdCYmIWUuaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7cmV0dXJue3R5cGU6dCxuYW1lOm59fSkpfWZ1bmN0aW9uIFZsdCh0LGUpe2Zvcih2YXIgbixpPTAscj10Lmxlbmd0aDtpPHI7KytpKWlmKChuPXRbaV0pLm5hbWU9PT1lKXJldHVybiBuLnZhbHVlfWZ1bmN0aW9uIFVsdCh0LGUsbil7Zm9yKHZhciBpPTAscj10Lmxlbmd0aDtpPHI7KytpKWlmKHRbaV0ubmFtZT09PWUpe3RbaV09RGx0LHQ9dC5zbGljZSgwLGkpLmNvbmNhdCh0LnNsaWNlKGkrMSkpO2JyZWFrfXJldHVybiBudWxsIT1uJiZ0LnB1c2goe25hbWU6ZSx2YWx1ZTpufSksdH1IbHQucHJvdG90eXBlPUJsdC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOkhsdCxvbjpmdW5jdGlvbih0LGUpe3ZhciBuLGk9dGhpcy5fLHI9Rmx0KHQrIiIsaSksbz0tMSxhPXIubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7aWYobnVsbCE9ZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIGNhbGxiYWNrOiAiK2UpO2Zvcig7KytvPGE7KWlmKG49KHQ9cltvXSkudHlwZSlpW25dPVVsdChpW25dLHQubmFtZSxlKTtlbHNlIGlmKG51bGw9PWUpZm9yKG4gaW4gaSlpW25dPVVsdChpW25dLHQubmFtZSxudWxsKTtyZXR1cm4gdGhpc31mb3IoOysrbzxhOylpZigobj0odD1yW29dKS50eXBlKSYmKG49Vmx0KGlbbl0sdC5uYW1lKSkpcmV0dXJuIG59LGNvcHk6ZnVuY3Rpb24oKXt2YXIgdD17fSxlPXRoaXMuXztmb3IodmFyIG4gaW4gZSl0W25dPWVbbl0uc2xpY2UoKTtyZXR1cm4gbmV3IEhsdCh0KX0sY2FsbDpmdW5jdGlvbih0LGUpe2lmKChuPWFyZ3VtZW50cy5sZW5ndGgtMik+MClmb3IodmFyIG4saSxyPW5ldyBBcnJheShuKSxvPTA7bzxuOysrbylyW29dPWFyZ3VtZW50c1tvKzJdO2lmKCF0aGlzLl8uaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7Zm9yKG89MCxuPShpPXRoaXMuX1t0XSkubGVuZ3RoO288bjsrK28paVtvXS52YWx1ZS5hcHBseShlLHIpfSxhcHBseTpmdW5jdGlvbih0LGUsbil7aWYoIXRoaXMuXy5oYXNPd25Qcm9wZXJ0eSh0KSl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gdHlwZTogIit0KTtmb3IodmFyIGk9dGhpcy5fW3RdLHI9MCxvPWkubGVuZ3RoO3I8bzsrK3IpaVtyXS52YWx1ZS5hcHBseShlLG4pfX07dmFyIGpsdD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsR2x0PXtzdmc6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix4aHRtbDpqbHQseGxpbms6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLHhtbDoiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy8ifTtmdW5jdGlvbiBXbHQodCl7dmFyIGU9dCs9IiIsbj1lLmluZGV4T2YoIjoiKTtyZXR1cm4gbj49MCYmInhtbG5zIiE9PShlPXQuc2xpY2UoMCxuKSkmJih0PXQuc2xpY2UobisxKSksR2x0Lmhhc093blByb3BlcnR5KGUpP3tzcGFjZTpHbHRbZV0sbG9jYWw6dH06dH1mdW5jdGlvbiBxbHQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vd25lckRvY3VtZW50LG49dGhpcy5uYW1lc3BhY2VVUkk7cmV0dXJuIG49PT1qbHQmJmUuZG9jdW1lbnRFbGVtZW50Lm5hbWVzcGFjZVVSST09PWpsdD9lLmNyZWF0ZUVsZW1lbnQodCk6ZS5jcmVhdGVFbGVtZW50TlMobix0KX19ZnVuY3Rpb24gWWx0KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIFhsdCh0KXt2YXIgZT1XbHQodCk7cmV0dXJuKGUubG9jYWw/WWx0OnFsdCkoZSl9ZnVuY3Rpb24gJGx0KCl7fWZ1bmN0aW9uIEtsdCh0KXtyZXR1cm4gbnVsbD09dD8kbHQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yKHQpfX1mdW5jdGlvbiBabHQoKXtyZXR1cm5bXX1mdW5jdGlvbiBKbHQodCl7cmV0dXJuIG51bGw9PXQ/Wmx0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVlcnlTZWxlY3RvckFsbCh0KX19ZnVuY3Rpb24gUWx0KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hdGNoZXModCl9fWZ1bmN0aW9uIHRjdCh0KXtyZXR1cm4gbmV3IEFycmF5KHQubGVuZ3RoKX1mdW5jdGlvbiBlY3QodCxlKXt0aGlzLm93bmVyRG9jdW1lbnQ9dC5vd25lckRvY3VtZW50LHRoaXMubmFtZXNwYWNlVVJJPXQubmFtZXNwYWNlVVJJLHRoaXMuX25leHQ9bnVsbCx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9fZGF0YV9fPWV9ZWN0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6ZWN0LGFwcGVuZENoaWxkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsdGhpcy5fbmV4dCl9LGluc2VydEJlZm9yZTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsZSl9LHF1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yKHQpfSxxdWVyeVNlbGVjdG9yQWxsOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3RvckFsbCh0KX19O2Z1bmN0aW9uIG5jdCh0LGUsbixpLHIsbyl7Zm9yKHZhciBhLHM9MCxsPWUubGVuZ3RoLGM9by5sZW5ndGg7czxjOysrcykoYT1lW3NdKT8oYS5fX2RhdGFfXz1vW3NdLGlbc109YSk6bltzXT1uZXcgZWN0KHQsb1tzXSk7Zm9yKDtzPGw7KytzKShhPWVbc10pJiYocltzXT1hKX1mdW5jdGlvbiBpY3QodCxlLG4saSxyLG8sYSl7dmFyIHMsbCxjLHU9e30saD1lLmxlbmd0aCxkPW8ubGVuZ3RoLHA9bmV3IEFycmF5KGgpO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmKHBbc109Yz0iJCIrYS5jYWxsKGwsbC5fX2RhdGFfXyxzLGUpLGMgaW4gdT9yW3NdPWw6dVtjXT1sKTtmb3Iocz0wO3M8ZDsrK3MpKGw9dVtjPSIkIithLmNhbGwodCxvW3NdLHMsbyldKT8oaVtzXT1sLGwuX19kYXRhX189b1tzXSx1W2NdPW51bGwpOm5bc109bmV3IGVjdCh0LG9bc10pO2ZvcihzPTA7czxoOysrcykobD1lW3NdKSYmdVtwW3NdXT09PWwmJihyW3NdPWwpfWZ1bmN0aW9uIHJjdCh0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBvY3QodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIGFjdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIHNjdCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlKHQsZSl9fWZ1bmN0aW9uIGxjdCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUpfX1mdW5jdGlvbiBjY3QodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpOnRoaXMuc2V0QXR0cmlidXRlKHQsbil9fWZ1bmN0aW9uIHVjdCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpOnRoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLG4pfX1mdW5jdGlvbiBoY3QodCl7cmV0dXJuIHQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx0LmRvY3VtZW50JiZ0fHx0LmRlZmF1bHRWaWV3fWZ1bmN0aW9uIGRjdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX1mdW5jdGlvbiBwY3QodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxlLG4pfX1mdW5jdGlvbiBmY3QodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBpPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PWk/dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KTp0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsaSxuKX19ZnVuY3Rpb24gbWN0KHQsZSl7cmV0dXJuIHQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShlKXx8aGN0KHQpLmdldENvbXB1dGVkU3R5bGUodCxudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKGUpfWZ1bmN0aW9uIGdjdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtkZWxldGUgdGhpc1t0XX19ZnVuY3Rpb24gX2N0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpc1t0XT1lfX1mdW5jdGlvbiB5Y3QodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP2RlbGV0ZSB0aGlzW3RdOnRoaXNbdF09bn19ZnVuY3Rpb24gdmN0KHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKX1mdW5jdGlvbiBiY3QodCl7cmV0dXJuIHQuY2xhc3NMaXN0fHxuZXcgeGN0KHQpfWZ1bmN0aW9uIHhjdCh0KXt0aGlzLl9ub2RlPXQsdGhpcy5fbmFtZXM9dmN0KHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9ZnVuY3Rpb24gd2N0KHQsZSl7Zm9yKHZhciBuPWJjdCh0KSxpPS0xLHI9ZS5sZW5ndGg7KytpPHI7KW4uYWRkKGVbaV0pfWZ1bmN0aW9uIFNjdCh0LGUpe2Zvcih2YXIgbj1iY3QodCksaT0tMSxyPWUubGVuZ3RoOysraTxyOyluLnJlbW92ZShlW2ldKX1mdW5jdGlvbiBNY3QodCl7cmV0dXJuIGZ1bmN0aW9uKCl7d2N0KHRoaXMsdCl9fWZ1bmN0aW9uIEVjdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtTY3QodGhpcyx0KX19ZnVuY3Rpb24gVGN0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7KGUuYXBwbHkodGhpcyxhcmd1bWVudHMpP3djdDpTY3QpKHRoaXMsdCl9fWZ1bmN0aW9uIENjdCgpe3RoaXMudGV4dENvbnRlbnQ9IiJ9ZnVuY3Rpb24gQWN0KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMudGV4dENvbnRlbnQ9dH19ZnVuY3Rpb24ga2N0KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfX1mdW5jdGlvbiBMY3QoKXt0aGlzLmlubmVySFRNTD0iIn1mdW5jdGlvbiBQY3QodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5pbm5lckhUTUw9dH19ZnVuY3Rpb24gTmN0KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuaW5uZXJIVE1MPW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24gSWN0KCl7dGhpcy5uZXh0U2libGluZyYmdGhpcy5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHRoaXMpfWZ1bmN0aW9uIFJjdCgpe3RoaXMucHJldmlvdXNTaWJsaW5nJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMsdGhpcy5wYXJlbnROb2RlLmZpcnN0Q2hpbGQpfWZ1bmN0aW9uIE9jdCgpe3JldHVybiBudWxsfWZ1bmN0aW9uIHpjdCgpe3ZhciB0PXRoaXMucGFyZW50Tm9kZTt0JiZ0LnJlbW92ZUNoaWxkKHRoaXMpfWZ1bmN0aW9uIERjdCgpe3ZhciB0PXRoaXMuY2xvbmVOb2RlKCExKSxlPXRoaXMucGFyZW50Tm9kZTtyZXR1cm4gZT9lLmluc2VydEJlZm9yZSh0LHRoaXMubmV4dFNpYmxpbmcpOnR9ZnVuY3Rpb24gQmN0KCl7dmFyIHQ9dGhpcy5jbG9uZU5vZGUoITApLGU9dGhpcy5wYXJlbnROb2RlO3JldHVybiBlP2UuaW5zZXJ0QmVmb3JlKHQsdGhpcy5uZXh0U2libGluZyk6dH14Y3QucHJvdG90eXBlPXthZGQ6ZnVuY3Rpb24odCl7dGhpcy5fbmFtZXMuaW5kZXhPZih0KTwwJiYodGhpcy5fbmFtZXMucHVzaCh0KSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbmFtZXMuaW5kZXhPZih0KTtlPj0wJiYodGhpcy5fbmFtZXMuc3BsaWNlKGUsMSksdGhpcy5fbm9kZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLl9uYW1lcy5qb2luKCIgIikpKX0sY29udGFpbnM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX25hbWVzLmluZGV4T2YodCk+PTB9fTt2YXIgSGN0PXt9LEZjdD1udWxsOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJigib25tb3VzZWVudGVyImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8KEhjdD17bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCJ9KSk7ZnVuY3Rpb24gVmN0KHQsZSxuKXtyZXR1cm4gdD1VY3QodCxlLG4pLGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVsYXRlZFRhcmdldDtuJiYobj09PXRoaXN8fDgmbi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzKSl8fHQuY2FsbCh0aGlzLGUpfX1mdW5jdGlvbiBVY3QodCxlLG4pe3JldHVybiBmdW5jdGlvbihpKXt2YXIgcj1GY3Q7RmN0PWk7dHJ5e3QuY2FsbCh0aGlzLHRoaXMuX19kYXRhX18sZSxuKX1maW5hbGx5e0ZjdD1yfX19ZnVuY3Rpb24gamN0KHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKS5tYXAoKGZ1bmN0aW9uKHQpe3ZhciBlPSIiLG49dC5pbmRleE9mKCIuIik7cmV0dXJuIG4+PTAmJihlPXQuc2xpY2UobisxKSx0PXQuc2xpY2UoMCxuKSkse3R5cGU6dCxuYW1lOmV9fSkpfWZ1bmN0aW9uIEdjdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9fb247aWYoZSl7Zm9yKHZhciBuLGk9MCxyPS0xLG89ZS5sZW5ndGg7aTxvOysraSluPWVbaV0sdC50eXBlJiZuLnR5cGUhPT10LnR5cGV8fG4ubmFtZSE9PXQubmFtZT9lWysrcl09bjp0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIobi50eXBlLG4ubGlzdGVuZXIsbi5jYXB0dXJlKTsrK3I/ZS5sZW5ndGg9cjpkZWxldGUgdGhpcy5fX29ufX19ZnVuY3Rpb24gV2N0KHQsZSxuKXt2YXIgaT1IY3QuaGFzT3duUHJvcGVydHkodC50eXBlKT9WY3Q6VWN0O3JldHVybiBmdW5jdGlvbihyLG8sYSl7dmFyIHMsbD10aGlzLl9fb24sYz1pKGUsbyxhKTtpZihsKWZvcih2YXIgdT0wLGg9bC5sZW5ndGg7dTxoOysrdSlpZigocz1sW3VdKS50eXBlPT09dC50eXBlJiZzLm5hbWU9PT10Lm5hbWUpcmV0dXJuIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcixzLmNhcHR1cmUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihzLnR5cGUscy5saXN0ZW5lcj1jLHMuY2FwdHVyZT1uKSx2b2lkKHMudmFsdWU9ZSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKHQudHlwZSxjLG4pLHM9e3R5cGU6dC50eXBlLG5hbWU6dC5uYW1lLHZhbHVlOmUsbGlzdGVuZXI6YyxjYXB0dXJlOm59LGw/bC5wdXNoKHMpOnRoaXMuX19vbj1bc119fWZ1bmN0aW9uIHFjdCh0LGUsbil7dmFyIGk9aGN0KHQpLHI9aS5DdXN0b21FdmVudDsiZnVuY3Rpb24iPT10eXBlb2Ygcj9yPW5ldyByKGUsbik6KHI9aS5kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSxuPyhyLmluaXRFdmVudChlLG4uYnViYmxlcyxuLmNhbmNlbGFibGUpLHIuZGV0YWlsPW4uZGV0YWlsKTpyLmluaXRFdmVudChlLCExLCExKSksdC5kaXNwYXRjaEV2ZW50KHIpfWZ1bmN0aW9uIFljdCh0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBxY3QodGhpcyx0LGUpfX1mdW5jdGlvbiBYY3QodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gcWN0KHRoaXMsdCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXZhciAkY3Q9W251bGxdO2Z1bmN0aW9uIEtjdCh0LGUpe3RoaXMuX2dyb3Vwcz10LHRoaXMuX3BhcmVudHM9ZX1mdW5jdGlvbiBaY3QoKXtyZXR1cm4gbmV3IEtjdChbW2RvY3VtZW50LmRvY3VtZW50RWxlbWVudF1dLCRjdCl9ZnVuY3Rpb24gSmN0KHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD9uZXcgS2N0KFtbZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0KV1dLFtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdKTpuZXcgS2N0KFtbdF1dLCRjdCl9ZnVuY3Rpb24gUWN0KCl7Zm9yKHZhciB0LGU9RmN0O3Q9ZS5zb3VyY2VFdmVudDspZT10O3JldHVybiBlfWZ1bmN0aW9uIHR1dCh0LGUpe3ZhciBuPXQub3duZXJTVkdFbGVtZW50fHx0O2lmKG4uY3JlYXRlU1ZHUG9pbnQpe3ZhciBpPW4uY3JlYXRlU1ZHUG9pbnQoKTtyZXR1cm4gaS54PWUuY2xpZW50WCxpLnk9ZS5jbGllbnRZLFsoaT1pLm1hdHJpeFRyYW5zZm9ybSh0LmdldFNjcmVlbkNUTSgpLmludmVyc2UoKSkpLngsaS55XX12YXIgcj10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybltlLmNsaWVudFgtci5sZWZ0LXQuY2xpZW50TGVmdCxlLmNsaWVudFktci50b3AtdC5jbGllbnRUb3BdfWZ1bmN0aW9uIGV1dCh0KXt2YXIgZT1RY3QoKTtyZXR1cm4gZS5jaGFuZ2VkVG91Y2hlcyYmKGU9ZS5jaGFuZ2VkVG91Y2hlc1swXSksdHV0KHQsZSl9ZnVuY3Rpb24gbnV0KHQsZSxuKXthcmd1bWVudHMubGVuZ3RoPDMmJihuPWUsZT1RY3QoKS5jaGFuZ2VkVG91Y2hlcyk7Zm9yKHZhciBpLHI9MCxvPWU/ZS5sZW5ndGg6MDtyPG87KytyKWlmKChpPWVbcl0pLmlkZW50aWZpZXI9PT1uKXJldHVybiB0dXQodCxpKTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBpdXQoKXtGY3QucHJldmVudERlZmF1bHQoKSxGY3Quc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gcnV0KHQpe3ZhciBlPXQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG49SmN0KHQpLm9uKCJkcmFnc3RhcnQuZHJhZyIsaXV0LCEwKTsib25zZWxlY3RzdGFydCJpbiBlP24ub24oInNlbGVjdHN0YXJ0LmRyYWciLGl1dCwhMCk6KGUuX19ub3NlbGVjdD1lLnN0eWxlLk1velVzZXJTZWxlY3QsZS5zdHlsZS5Nb3pVc2VyU2VsZWN0PSJub25lIil9ZnVuY3Rpb24gb3V0KHQsZSl7dmFyIG49dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsaT1KY3QodCkub24oImRyYWdzdGFydC5kcmFnIixudWxsKTtlJiYoaS5vbigiY2xpY2suZHJhZyIsaXV0LCEwKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2kub24oImNsaWNrLmRyYWciLG51bGwpfSksMCkpLCJvbnNlbGVjdHN0YXJ0ImluIG4/aS5vbigic2VsZWN0c3RhcnQuZHJhZyIsbnVsbCk6KG4uc3R5bGUuTW96VXNlclNlbGVjdD1uLl9fbm9zZWxlY3QsZGVsZXRlIG4uX19ub3NlbGVjdCl9ZnVuY3Rpb24gYXV0KHQsZSxuKXt0LnByb3RvdHlwZT1lLnByb3RvdHlwZT1uLG4uY29uc3RydWN0b3I9dH1mdW5jdGlvbiBzdXQodCxlKXt2YXIgbj1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIGkgaW4gZSluW2ldPWVbaV07cmV0dXJuIG59ZnVuY3Rpb24gbHV0KCl7fUtjdC5wcm90b3R5cGU9WmN0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6S2N0LHNlbGVjdDpmdW5jdGlvbiBjdXQodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PUtsdCh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhLHM9ZVtyXSxsPXMubGVuZ3RoLGM9aVtyXT1uZXcgQXJyYXkobCksdT0wO3U8bDsrK3UpKG89c1t1XSkmJihhPXQuY2FsbChvLG8uX19kYXRhX18sdSxzKSkmJigiX19kYXRhX18iaW4gbyYmKGEuX19kYXRhX189by5fX2RhdGFfXyksY1t1XT1hKTtyZXR1cm4gbmV3IEtjdChpLHRoaXMuX3BhcmVudHMpfSxzZWxlY3RBbGw6ZnVuY3Rpb24gdXV0KHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1KbHQodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPVtdLHI9W10sbz0wO288bjsrK28pZm9yKHZhciBhLHM9ZVtvXSxsPXMubGVuZ3RoLGM9MDtjPGw7KytjKShhPXNbY10pJiYoaS5wdXNoKHQuY2FsbChhLGEuX19kYXRhX18sYyxzKSksci5wdXNoKGEpKTtyZXR1cm4gbmV3IEtjdChpLHIpfSxmaWx0ZXI6ZnVuY3Rpb24gaHV0KHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD1RbHQodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxpPW5ldyBBcnJheShuKSxyPTA7cjxuOysrcilmb3IodmFyIG8sYT1lW3JdLHM9YS5sZW5ndGgsbD1pW3JdPVtdLGM9MDtjPHM7KytjKShvPWFbY10pJiZ0LmNhbGwobyxvLl9fZGF0YV9fLGMsYSkmJmwucHVzaChvKTtyZXR1cm4gbmV3IEtjdChpLHRoaXMuX3BhcmVudHMpfSxkYXRhOmZ1bmN0aW9uIGR1dCh0LGUpe2lmKCF0KXJldHVybiBmPW5ldyBBcnJheSh0aGlzLnNpemUoKSksdT0tMSx0aGlzLmVhY2goKGZ1bmN0aW9uKHQpe2ZbKyt1XT10fSkpLGY7dmFyIG49ZT9pY3Q6bmN0LGk9dGhpcy5fcGFyZW50cyxyPXRoaXMuX2dyb3VwczsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9KGZ1bmN0aW9uIG8odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkodCkpO2Zvcih2YXIgYT1yLmxlbmd0aCxzPW5ldyBBcnJheShhKSxsPW5ldyBBcnJheShhKSxjPW5ldyBBcnJheShhKSx1PTA7dTxhOysrdSl7dmFyIGg9aVt1XSxkPXJbdV0scD1kLmxlbmd0aCxmPXQuY2FsbChoLGgmJmguX19kYXRhX18sdSxpKSxtPWYubGVuZ3RoLGc9bFt1XT1uZXcgQXJyYXkobSksXz1zW3VdPW5ldyBBcnJheShtKTtuKGgsZCxnLF8sY1t1XT1uZXcgQXJyYXkocCksZixlKTtmb3IodmFyIHksdixiPTAseD0wO2I8bTsrK2IpaWYoeT1nW2JdKXtmb3IoYj49eCYmKHg9YisxKTshKHY9X1t4XSkmJisreDxtOyk7eS5fbmV4dD12fHxudWxsfX1yZXR1cm4ocz1uZXcgS2N0KHMsaSkpLl9lbnRlcj1sLHMuX2V4aXQ9YyxzfSxlbnRlcjpmdW5jdGlvbiBwdXQoKXtyZXR1cm4gbmV3IEtjdCh0aGlzLl9lbnRlcnx8dGhpcy5fZ3JvdXBzLm1hcCh0Y3QpLHRoaXMuX3BhcmVudHMpfSxleGl0OmZ1bmN0aW9uIGZ1dCgpe3JldHVybiBuZXcgS2N0KHRoaXMuX2V4aXR8fHRoaXMuX2dyb3Vwcy5tYXAodGN0KSx0aGlzLl9wYXJlbnRzKX0sam9pbjpmdW5jdGlvbiBtdXQodCxlLG4pe3ZhciBpPXRoaXMuZW50ZXIoKSxyPXRoaXMsbz10aGlzLmV4aXQoKTtyZXR1cm4gaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90KGkpOmkuYXBwZW5kKHQrIiIpLG51bGwhPWUmJihyPWUocikpLG51bGw9PW4/by5yZW1vdmUoKTpuKG8pLGkmJnI/aS5tZXJnZShyKS5vcmRlcigpOnJ9LG1lcmdlOmZ1bmN0aW9uIGd1dCh0KXtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49dC5fZ3JvdXBzLGk9ZS5sZW5ndGgscj1NYXRoLm1pbihpLG4ubGVuZ3RoKSxvPW5ldyBBcnJheShpKSxhPTA7YTxyOysrYSlmb3IodmFyIHMsbD1lW2FdLGM9blthXSx1PWwubGVuZ3RoLGg9b1thXT1uZXcgQXJyYXkodSksZD0wO2Q8dTsrK2QpKHM9bFtkXXx8Y1tkXSkmJihoW2RdPXMpO2Zvcig7YTxpOysrYSlvW2FdPWVbYV07cmV0dXJuIG5ldyBLY3Qobyx0aGlzLl9wYXJlbnRzKX0sb3JkZXI6ZnVuY3Rpb24gX3V0KCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPS0xLG49dC5sZW5ndGg7KytlPG47KWZvcih2YXIgaSxyPXRbZV0sbz1yLmxlbmd0aC0xLGE9cltvXTstLW8+PTA7KShpPXJbb10pJiYoYSYmNF5pLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpJiZhLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGksYSksYT1pKTtyZXR1cm4gdGhpc30sc29ydDpmdW5jdGlvbiB5dXQodCl7ZnVuY3Rpb24gZShlLG4pe3JldHVybiBlJiZuP3QoZS5fX2RhdGFfXyxuLl9fZGF0YV9fKTohZS0hbn10fHwodD1yY3QpO2Zvcih2YXIgbj10aGlzLl9ncm91cHMsaT1uLmxlbmd0aCxyPW5ldyBBcnJheShpKSxvPTA7bzxpOysrbyl7Zm9yKHZhciBhLHM9bltvXSxsPXMubGVuZ3RoLGM9cltvXT1uZXcgQXJyYXkobCksdT0wO3U8bDsrK3UpKGE9c1t1XSkmJihjW3VdPWEpO2Muc29ydChlKX1yZXR1cm4gbmV3IEtjdChyLHRoaXMuX3BhcmVudHMpLm9yZGVyKCl9LGNhbGw6ZnVuY3Rpb24gdnV0KCl7dmFyIHQ9YXJndW1lbnRzWzBdO3JldHVybiBhcmd1bWVudHNbMF09dGhpcyx0LmFwcGx5KG51bGwsYXJndW1lbnRzKSx0aGlzfSxub2RlczpmdW5jdGlvbiBidXQoKXt2YXIgdD1uZXcgQXJyYXkodGhpcy5zaXplKCkpLGU9LTE7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt0WysrZV09dGhpc30pKSx0fSxub2RlOmZ1bmN0aW9uIHh1dCgpe2Zvcih2YXIgdD10aGlzLl9ncm91cHMsZT0wLG49dC5sZW5ndGg7ZTxuOysrZSlmb3IodmFyIGk9dFtlXSxyPTAsbz1pLmxlbmd0aDtyPG87KytyKXt2YXIgYT1pW3JdO2lmKGEpcmV0dXJuIGF9cmV0dXJuIG51bGx9LHNpemU6ZnVuY3Rpb24gd3V0KCl7dmFyIHQ9MDtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpeysrdH0pKSx0fSxlbXB0eTpmdW5jdGlvbiBTdXQoKXtyZXR1cm4hdGhpcy5ub2RlKCl9LGVhY2g6ZnVuY3Rpb24gTXV0KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj0wLGk9ZS5sZW5ndGg7bjxpOysrbilmb3IodmFyIHIsbz1lW25dLGE9MCxzPW8ubGVuZ3RoO2E8czsrK2EpKHI9b1thXSkmJnQuY2FsbChyLHIuX19kYXRhX18sYSxvKTtyZXR1cm4gdGhpc30sYXR0cjpmdW5jdGlvbiBFdXQodCxlKXt2YXIgbj1XbHQodCk7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXt2YXIgaT10aGlzLm5vZGUoKTtyZXR1cm4gbi5sb2NhbD9pLmdldEF0dHJpYnV0ZU5TKG4uc3BhY2Usbi5sb2NhbCk6aS5nZXRBdHRyaWJ1dGUobil9cmV0dXJuIHRoaXMuZWFjaCgobnVsbD09ZT9uLmxvY2FsP2FjdDpvY3Q6ImZ1bmN0aW9uIj09dHlwZW9mIGU/bi5sb2NhbD91Y3Q6Y2N0Om4ubG9jYWw/bGN0OnNjdCkobixlKSl9LHN0eWxlOmZ1bmN0aW9uIFR1dCh0LGUsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goKG51bGw9PWU/ZGN0OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2ZjdDpwY3QpKHQsZSxudWxsPT1uPyIiOm4pKTptY3QodGhpcy5ub2RlKCksdCl9LHByb3BlcnR5OmZ1bmN0aW9uIEN1dCh0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjE/dGhpcy5lYWNoKChudWxsPT1lP2djdDoiZnVuY3Rpb24iPT10eXBlb2YgZT95Y3Q6X2N0KSh0LGUpKTp0aGlzLm5vZGUoKVt0XX0sY2xhc3NlZDpmdW5jdGlvbiBBdXQodCxlKXt2YXIgbj12Y3QodCsiIik7aWYoYXJndW1lbnRzLmxlbmd0aDwyKXtmb3IodmFyIGk9YmN0KHRoaXMubm9kZSgpKSxyPS0xLG89bi5sZW5ndGg7KytyPG87KWlmKCFpLmNvbnRhaW5zKG5bcl0pKXJldHVybiExO3JldHVybiEwfXJldHVybiB0aGlzLmVhY2goKCJmdW5jdGlvbiI9PXR5cGVvZiBlP1RjdDplP01jdDpFY3QpKG4sZSkpfSx0ZXh0OmZ1bmN0aW9uIGt1dCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9DY3Q6KCJmdW5jdGlvbiI9PXR5cGVvZiB0P2tjdDpBY3QpKHQpKTp0aGlzLm5vZGUoKS50ZXh0Q29udGVudH0saHRtbDpmdW5jdGlvbiBMdXQodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKG51bGw9PXQ/TGN0OigiZnVuY3Rpb24iPT10eXBlb2YgdD9OY3Q6UGN0KSh0KSk6dGhpcy5ub2RlKCkuaW5uZXJIVE1MfSxyYWlzZTpmdW5jdGlvbiBQdXQoKXtyZXR1cm4gdGhpcy5lYWNoKEljdCl9LGxvd2VyOmZ1bmN0aW9uIE51dCgpe3JldHVybiB0aGlzLmVhY2goUmN0KX0sYXBwZW5kOmZ1bmN0aW9uIEl1dCh0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlhsdCh0KTtyZXR1cm4gdGhpcy5zZWxlY3QoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXBwZW5kQ2hpbGQoZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSkpfSxpbnNlcnQ6ZnVuY3Rpb24gUnV0KHQsZSl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpYbHQodCksaT1udWxsPT1lP09jdDoiZnVuY3Rpb24iPT10eXBlb2YgZT9lOktsdChlKTtyZXR1cm4gdGhpcy5zZWxlY3QoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5zZXJ0QmVmb3JlKG4uYXBwbHkodGhpcyxhcmd1bWVudHMpLGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfHxudWxsKX0pKX0scmVtb3ZlOmZ1bmN0aW9uIE91dCgpe3JldHVybiB0aGlzLmVhY2goemN0KX0sY2xvbmU6ZnVuY3Rpb24genV0KHQpe3JldHVybiB0aGlzLnNlbGVjdCh0P0JjdDpEY3QpfSxkYXR1bTpmdW5jdGlvbiBEdXQodCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5wcm9wZXJ0eSgiX19kYXRhX18iLHQpOnRoaXMubm9kZSgpLl9fZGF0YV9ffSxvbjpmdW5jdGlvbiBCdXQodCxlLG4pe3ZhciBpLHIsbz1qY3QodCsiIiksYT1vLmxlbmd0aDtpZighKGFyZ3VtZW50cy5sZW5ndGg8Mikpe2ZvcihzPWU/V2N0OkdjdCxudWxsPT1uJiYobj0hMSksaT0wO2k8YTsrK2kpdGhpcy5lYWNoKHMob1tpXSxlLG4pKTtyZXR1cm4gdGhpc312YXIgcz10aGlzLm5vZGUoKS5fX29uO2lmKHMpZm9yKHZhciBsLGM9MCx1PXMubGVuZ3RoO2M8dTsrK2MpZm9yKGk9MCxsPXNbY107aTxhOysraSlpZigocj1vW2ldKS50eXBlPT09bC50eXBlJiZyLm5hbWU9PT1sLm5hbWUpcmV0dXJuIGwudmFsdWV9LGRpc3BhdGNoOmZ1bmN0aW9uIEh1dCh0LGUpe3JldHVybiB0aGlzLmVhY2goKCJmdW5jdGlvbiI9PXR5cGVvZiBlP1hjdDpZY3QpKHQsZSkpfX07dmFyIEZ1dD0uNyxWdXQ9MS9GdXQsVXV0PSJcXHMqKFsrLV0/XFxkKylcXHMqIixqdXQ9IlxccyooWystXT9cXGQqXFwuP1xcZCsoPzpbZUVdWystXT9cXGQrKT8pXFxzKiIsR3V0PSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KSVcXHMqIixXdXQ9L14jKFswLTlhLWZdezMsOH0pJC8scXV0PW5ldyBSZWdFeHAoIl5yZ2JcXCgiK1tVdXQsVXV0LFV1dF0rIlxcKSQiKSxZdXQ9bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW0d1dCxHdXQsR3V0XSsiXFwpJCIpLFh1dD1uZXcgUmVnRXhwKCJecmdiYVxcKCIrW1V1dCxVdXQsVXV0LGp1dF0rIlxcKSQiKSwkdXQ9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1tHdXQsR3V0LEd1dCxqdXRdKyJcXCkkIiksS3V0PW5ldyBSZWdFeHAoIl5oc2xcXCgiK1tqdXQsR3V0LEd1dF0rIlxcKSQiKSxadXQ9bmV3IFJlZ0V4cCgiXmhzbGFcXCgiK1tqdXQsR3V0LEd1dCxqdXRdKyJcXCkkIiksSnV0PXthbGljZWJsdWU6MTU3OTIzODMsYW50aXF1ZXdoaXRlOjE2NDQ0Mzc1LGFxdWE6NjU1MzUsYXF1YW1hcmluZTo4Mzg4NTY0LGF6dXJlOjE1Nzk0MTc1LGJlaWdlOjE2MTE5MjYwLGJpc3F1ZToxNjc3MDI0NCxibGFjazowLGJsYW5jaGVkYWxtb25kOjE2NzcyMDQ1LGJsdWU6MjU1LGJsdWV2aW9sZXQ6OTA1NTIwMixicm93bjoxMDgyNDIzNCxidXJseXdvb2Q6MTQ1OTYyMzEsY2FkZXRibHVlOjYyNjY1MjgsY2hhcnRyZXVzZTo4Mzg4MzUyLGNob2NvbGF0ZToxMzc4OTQ3MCxjb3JhbDoxNjc0NDI3Mixjb3JuZmxvd2VyYmx1ZTo2NTkxOTgxLGNvcm5zaWxrOjE2Nzc1Mzg4LGNyaW1zb246MTQ0MjMxMDAsY3lhbjo2NTUzNSxkYXJrYmx1ZToxMzksZGFya2N5YW46MzU3MjMsZGFya2dvbGRlbnJvZDoxMjA5MjkzOSxkYXJrZ3JheToxMTExOTAxNyxkYXJrZ3JlZW46MjU2MDAsZGFya2dyZXk6MTExMTkwMTcsZGFya2toYWtpOjEyNDMzMjU5LGRhcmttYWdlbnRhOjkxMDk2NDMsZGFya29saXZlZ3JlZW46NTU5Nzk5OSxkYXJrb3JhbmdlOjE2NzQ3NTIwLGRhcmtvcmNoaWQ6MTAwNDAwMTIsZGFya3JlZDo5MTA5NTA0LGRhcmtzYWxtb246MTUzMDg0MTAsZGFya3NlYWdyZWVuOjk0MTk5MTksZGFya3NsYXRlYmx1ZTo0NzM0MzQ3LGRhcmtzbGF0ZWdyYXk6MzEwMDQ5NSxkYXJrc2xhdGVncmV5OjMxMDA0OTUsZGFya3R1cnF1b2lzZTo1Mjk0NSxkYXJrdmlvbGV0Ojk2OTk1MzksZGVlcHBpbms6MTY3MTY5NDcsZGVlcHNreWJsdWU6NDkxNTEsZGltZ3JheTo2OTA4MjY1LGRpbWdyZXk6NjkwODI2NSxkb2RnZXJibHVlOjIwMDMxOTksZmlyZWJyaWNrOjExNjc0MTQ2LGZsb3JhbHdoaXRlOjE2Nzc1OTIwLGZvcmVzdGdyZWVuOjIyNjM4NDIsZnVjaHNpYToxNjcxMTkzNSxnYWluc2Jvcm86MTQ0NzQ0NjAsZ2hvc3R3aGl0ZToxNjMxNjY3MSxnb2xkOjE2NzY2NzIwLGdvbGRlbnJvZDoxNDMyOTEyMCxncmF5Ojg0MjE1MDQsZ3JlZW46MzI3NjgsZ3JlZW55ZWxsb3c6MTE0MDMwNTUsZ3JleTo4NDIxNTA0LGhvbmV5ZGV3OjE1Nzk0MTYwLGhvdHBpbms6MTY3Mzg3NDAsaW5kaWFucmVkOjEzNDU4NTI0LGluZGlnbzo0OTE1MzMwLGl2b3J5OjE2Nzc3MjAwLGtoYWtpOjE1Nzg3NjYwLGxhdmVuZGVyOjE1MTMyNDEwLGxhdmVuZGVyYmx1c2g6MTY3NzMzNjUsbGF3bmdyZWVuOjgxOTA5NzYsbGVtb25jaGlmZm9uOjE2Nzc1ODg1LGxpZ2h0Ymx1ZToxMTM5MzI1NCxsaWdodGNvcmFsOjE1NzYxNTM2LGxpZ2h0Y3lhbjoxNDc0NTU5OSxsaWdodGdvbGRlbnJvZHllbGxvdzoxNjQ0ODIxMCxsaWdodGdyYXk6MTM4ODIzMjMsbGlnaHRncmVlbjo5NDk4MjU2LGxpZ2h0Z3JleToxMzg4MjMyMyxsaWdodHBpbms6MTY3NTg0NjUsbGlnaHRzYWxtb246MTY3NTI3NjIsbGlnaHRzZWFncmVlbjoyMTQyODkwLGxpZ2h0c2t5Ymx1ZTo4OTAwMzQ2LGxpZ2h0c2xhdGVncmF5Ojc4MzM3NTMsbGlnaHRzbGF0ZWdyZXk6NzgzMzc1MyxsaWdodHN0ZWVsYmx1ZToxMTU4NDczNCxsaWdodHllbGxvdzoxNjc3NzE4NCxsaW1lOjY1MjgwLGxpbWVncmVlbjozMzI5MzMwLGxpbmVuOjE2NDQ1NjcwLG1hZ2VudGE6MTY3MTE5MzUsbWFyb29uOjgzODg2MDgsbWVkaXVtYXF1YW1hcmluZTo2NzM3MzIyLG1lZGl1bWJsdWU6MjA1LG1lZGl1bW9yY2hpZDoxMjIxMTY2NyxtZWRpdW1wdXJwbGU6OTY2MjY4MyxtZWRpdW1zZWFncmVlbjozOTc4MDk3LG1lZGl1bXNsYXRlYmx1ZTo4MDg3NzkwLG1lZGl1bXNwcmluZ2dyZWVuOjY0MTU0LG1lZGl1bXR1cnF1b2lzZTo0NzcyMzAwLG1lZGl1bXZpb2xldHJlZDoxMzA0NzE3MyxtaWRuaWdodGJsdWU6MTY0NDkxMixtaW50Y3JlYW06MTYxMjE4NTAsbWlzdHlyb3NlOjE2NzcwMjczLG1vY2Nhc2luOjE2NzcwMjI5LG5hdmFqb3doaXRlOjE2NzY4Njg1LG5hdnk6MTI4LG9sZGxhY2U6MTY2NDM1NTgsb2xpdmU6ODQyMTM3NixvbGl2ZWRyYWI6NzA0ODczOSxvcmFuZ2U6MTY3NTM5MjAsb3JhbmdlcmVkOjE2NzI5MzQ0LG9yY2hpZDoxNDMxNTczNCxwYWxlZ29sZGVucm9kOjE1NjU3MTMwLHBhbGVncmVlbjoxMDAyNTg4MCxwYWxldHVycXVvaXNlOjExNTI5OTY2LHBhbGV2aW9sZXRyZWQ6MTQzODEyMDMscGFwYXlhd2hpcDoxNjc3MzA3NyxwZWFjaHB1ZmY6MTY3Njc2NzMscGVydToxMzQ2ODk5MSxwaW5rOjE2NzYxMDM1LHBsdW06MTQ1MjQ2MzcscG93ZGVyYmx1ZToxMTU5MTkxMCxwdXJwbGU6ODM4ODczNixyZWJlY2NhcHVycGxlOjY2OTc4ODEscmVkOjE2NzExNjgwLHJvc3licm93bjoxMjM1NzUxOSxyb3lhbGJsdWU6NDI4Njk0NSxzYWRkbGVicm93bjo5MTI3MTg3LHNhbG1vbjoxNjQxNjg4MixzYW5keWJyb3duOjE2MDMyODY0LHNlYWdyZWVuOjMwNTAzMjcsc2Vhc2hlbGw6MTY3NzQ2Mzgsc2llbm5hOjEwNTA2Nzk3LHNpbHZlcjoxMjYzMjI1Nixza3libHVlOjg5MDAzMzEsc2xhdGVibHVlOjY5NzAwNjEsc2xhdGVncmF5OjczNzI5NDQsc2xhdGVncmV5OjczNzI5NDQsc25vdzoxNjc3NTkzMCxzcHJpbmdncmVlbjo2NTQwNyxzdGVlbGJsdWU6NDYyMDk4MCx0YW46MTM4MDg3ODAsdGVhbDozMjg5Nix0aGlzdGxlOjE0MjA0ODg4LHRvbWF0bzoxNjczNzA5NSx0dXJxdW9pc2U6NDI1MTg1Nix2aW9sZXQ6MTU2MzEwODYsd2hlYXQ6MTYxMTMzMzEsd2hpdGU6MTY3NzcyMTUsd2hpdGVzbW9rZToxNjExOTI4NSx5ZWxsb3c6MTY3NzY5NjAseWVsbG93Z3JlZW46MTAxNDUwNzR9O2Z1bmN0aW9uIFF1dCgpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdEhleCgpfWZ1bmN0aW9uIHRodCgpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdFJnYigpfWZ1bmN0aW9uIGVodCh0KXt2YXIgZSxuO3JldHVybiB0PSh0KyIiKS50cmltKCkudG9Mb3dlckNhc2UoKSwoZT1XdXQuZXhlYyh0KSk/KG49ZVsxXS5sZW5ndGgsZT1wYXJzZUludChlWzFdLDE2KSw2PT09bj9uaHQoZSk6Mz09PW4/bmV3IGFodChlPj44JjE1fGU+PjQmMjQwLGU+PjQmMTV8MjQwJmUsKDE1JmUpPDw0fDE1JmUsMSk6OD09PW4/aWh0KGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsKDI1NSZlKS8yNTUpOjQ9PT1uP2lodChlPj4xMiYxNXxlPj44JjI0MCxlPj44JjE1fGU+PjQmMjQwLGU+PjQmMTV8MjQwJmUsKCgxNSZlKTw8NHwxNSZlKS8yNTUpOm51bGwpOihlPXF1dC5leGVjKHQpKT9uZXcgYWh0KGVbMV0sZVsyXSxlWzNdLDEpOihlPVl1dC5leGVjKHQpKT9uZXcgYWh0KDI1NSplWzFdLzEwMCwyNTUqZVsyXS8xMDAsMjU1KmVbM10vMTAwLDEpOihlPVh1dC5leGVjKHQpKT9paHQoZVsxXSxlWzJdLGVbM10sZVs0XSk6KGU9JHV0LmV4ZWModCkpP2lodCgyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCxlWzRdKTooZT1LdXQuZXhlYyh0KSk/dWh0KGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsMSk6KGU9WnV0LmV4ZWModCkpP3VodChlWzFdLGVbMl0vMTAwLGVbM10vMTAwLGVbNF0pOkp1dC5oYXNPd25Qcm9wZXJ0eSh0KT9uaHQoSnV0W3RdKToidHJhbnNwYXJlbnQiPT09dD9uZXcgYWh0KE5hTixOYU4sTmFOLDApOm51bGx9ZnVuY3Rpb24gbmh0KHQpe3JldHVybiBuZXcgYWh0KHQ+PjE2JjI1NSx0Pj44JjI1NSwyNTUmdCwxKX1mdW5jdGlvbiBpaHQodCxlLG4saSl7cmV0dXJuIGk8PTAmJih0PWU9bj1OYU4pLG5ldyBhaHQodCxlLG4saSl9ZnVuY3Rpb24gcmh0KHQpe3JldHVybiB0IGluc3RhbmNlb2YgbHV0fHwodD1laHQodCkpLHQ/bmV3IGFodCgodD10LnJnYigpKS5yLHQuZyx0LmIsdC5vcGFjaXR5KTpuZXcgYWh0fWZ1bmN0aW9uIG9odCh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/cmh0KHQpOm5ldyBhaHQodCxlLG4sbnVsbD09aT8xOmkpfWZ1bmN0aW9uIGFodCh0LGUsbixpKXt0aGlzLnI9K3QsdGhpcy5nPStlLHRoaXMuYj0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24gc2h0KCl7cmV0dXJuIiMiK2NodCh0aGlzLnIpK2NodCh0aGlzLmcpK2NodCh0aGlzLmIpfWZ1bmN0aW9uIGxodCgpe3ZhciB0PXRoaXMub3BhY2l0eTtyZXR1cm4oMT09PSh0PWlzTmFOKHQpPzE6TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSk/InJnYigiOiJyZ2JhKCIpK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5yKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmcpfHwwKSkrIiwgIitNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMuYil8fDApKSsoMT09PXQ/IikiOiIsICIrdCsiKSIpfWZ1bmN0aW9uIGNodCh0KXtyZXR1cm4oKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0KXx8MCkpKTwxNj8iMCI6IiIpK3QudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIHVodCh0LGUsbixpKXtyZXR1cm4gaTw9MD90PWU9bj1OYU46bjw9MHx8bj49MT90PWU9TmFOOmU8PTAmJih0PU5hTiksbmV3IGRodCh0LGUsbixpKX1mdW5jdGlvbiBoaHQodCl7aWYodCBpbnN0YW5jZW9mIGRodClyZXR1cm4gbmV3IGRodCh0LmgsdC5zLHQubCx0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBsdXR8fCh0PWVodCh0KSksIXQpcmV0dXJuIG5ldyBkaHQ7aWYodCBpbnN0YW5jZW9mIGRodClyZXR1cm4gdDt2YXIgZT0odD10LnJnYigpKS5yLzI1NSxuPXQuZy8yNTUsaT10LmIvMjU1LHI9TWF0aC5taW4oZSxuLGkpLG89TWF0aC5tYXgoZSxuLGkpLGE9TmFOLHM9by1yLGw9KG8rcikvMjtyZXR1cm4gcz8oYT1lPT09bz8obi1pKS9zKzYqKG48aSk6bj09PW8/KGktZSkvcysyOihlLW4pL3MrNCxzLz1sPC41P28rcjoyLW8tcixhKj02MCk6cz1sPjAmJmw8MT8wOmEsbmV3IGRodChhLHMsbCx0Lm9wYWNpdHkpfWZ1bmN0aW9uIGRodCh0LGUsbixpKXt0aGlzLmg9K3QsdGhpcy5zPStlLHRoaXMubD0rbix0aGlzLm9wYWNpdHk9K2l9ZnVuY3Rpb24gcGh0KHQsZSxuKXtyZXR1cm4gMjU1Kih0PDYwP2UrKG4tZSkqdC82MDp0PDE4MD9uOnQ8MjQwP2UrKG4tZSkqKDI0MC10KS82MDplKX1mdW5jdGlvbiBmaHQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIG1odCh0KXtyZXR1cm4gMT09KHQ9K3QpP2dodDpmdW5jdGlvbihlLG4pe3JldHVybiBuLWU/KGZ1bmN0aW9uIGkodCxlLG4pe3JldHVybiB0PU1hdGgucG93KHQsbiksZT1NYXRoLnBvdyhlLG4pLXQsbj0xL24sZnVuY3Rpb24oaSl7cmV0dXJuIE1hdGgucG93KHQraSplLG4pfX0pKGUsbix0KTpmaHQoaXNOYU4oZSk/bjplKX19ZnVuY3Rpb24gZ2h0KHQsZSl7dmFyIG49ZS10O3JldHVybiBuPyhmdW5jdGlvbiBpKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0K24qZX19KSh0LG4pOmZodChpc05hTih0KT9lOnQpfWF1dChsdXQsZWh0LHtjb3B5OmZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuYXNzaWduKG5ldyB0aGlzLmNvbnN0cnVjdG9yLHRoaXMsdCl9LGRpc3BsYXlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmdiKCkuZGlzcGxheWFibGUoKX0saGV4OlF1dCxmb3JtYXRIZXg6UXV0LGZvcm1hdEhzbDpmdW5jdGlvbiBfaHQoKXtyZXR1cm4gaGh0KHRoaXMpLmZvcm1hdEhzbCgpfSxmb3JtYXRSZ2I6dGh0LHRvU3RyaW5nOnRodH0pLGF1dChhaHQsb2h0LHN1dChsdXQse2JyaWdodGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/VnV0Ok1hdGgucG93KFZ1dCx0KSxuZXcgYWh0KHRoaXMucip0LHRoaXMuZyp0LHRoaXMuYip0LHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD1udWxsPT10P0Z1dDpNYXRoLnBvdyhGdXQsdCksbmV3IGFodCh0aGlzLnIqdCx0aGlzLmcqdCx0aGlzLmIqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sZGlzcGxheWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4tLjU8PXRoaXMuciYmdGhpcy5yPDI1NS41JiYtLjU8PXRoaXMuZyYmdGhpcy5nPDI1NS41JiYtLjU8PXRoaXMuYiYmdGhpcy5iPDI1NS41JiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0saGV4OnNodCxmb3JtYXRIZXg6c2h0LGZvcm1hdFJnYjpsaHQsdG9TdHJpbmc6bGh0fSkpLGF1dChkaHQsKGZ1bmN0aW9uIHlodCh0LGUsbixpKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/aGh0KHQpOm5ldyBkaHQodCxlLG4sbnVsbD09aT8xOmkpfSksc3V0KGx1dCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9WdXQ6TWF0aC5wb3coVnV0LHQpLG5ldyBkaHQodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9GdXQ6TWF0aC5wb3coRnV0LHQpLG5ldyBkaHQodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmglMzYwKzM2MCoodGhpcy5oPDApLGU9aXNOYU4odCl8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsbj10aGlzLmwsaT1uKyhuPC41P246MS1uKSplLHI9MipuLWk7cmV0dXJuIG5ldyBhaHQocGh0KHQ+PTI0MD90LTI0MDp0KzEyMCxyLGkpLHBodCh0LHIsaSkscGh0KHQ8MTIwP3QrMjQwOnQtMTIwLHIsaSksdGhpcy5vcGFjaXR5KX0sZGlzcGxheWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4oMDw9dGhpcy5zJiZ0aGlzLnM8PTF8fGlzTmFOKHRoaXMucykpJiYwPD10aGlzLmwmJnRoaXMubDw9MSYmMDw9dGhpcy5vcGFjaXR5JiZ0aGlzLm9wYWNpdHk8PTF9LGZvcm1hdEhzbDpmdW5jdGlvbigpe3ZhciB0PXRoaXMub3BhY2l0eTtyZXR1cm4oMT09PSh0PWlzTmFOKHQpPzE6TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSk/ImhzbCgiOiJoc2xhKCIpKyh0aGlzLmh8fDApKyIsICIrMTAwKih0aGlzLnN8fDApKyIlLCAiKzEwMCoodGhpcy5sfHwwKSsiJSIrKDE9PT10PyIpIjoiLCAiK3QrIikiKX19KSk7dmFyIHZodD0oZnVuY3Rpb24gdChlKXt2YXIgbj1taHQoZSk7ZnVuY3Rpb24gaSh0LGUpe3ZhciBpPW4oKHQ9b2h0KHQpKS5yLChlPW9odChlKSkucikscj1uKHQuZyxlLmcpLG89bih0LmIsZS5iKSxhPWdodCh0Lm9wYWNpdHksZS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQucj1pKGUpLHQuZz1yKGUpLHQuYj1vKGUpLHQub3BhY2l0eT1hKGUpLHQrIiJ9fXJldHVybiBpLmdhbW1hPXQsaX0pKDEpO2Z1bmN0aW9uIGJodCh0LGUpe3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24obil7cmV0dXJuIHQqKDEtbikrZSpufX12YXIgeGh0PS9bLStdPyg/OlxkK1wuP1xkKnxcLj9cZCspKD86W2VFXVstK10/XGQrKT8vZyx3aHQ9bmV3IFJlZ0V4cCh4aHQuc291cmNlLCJnIik7ZnVuY3Rpb24gU2h0KHQsZSl7dmFyIG4saSxyLG89eGh0Lmxhc3RJbmRleD13aHQubGFzdEluZGV4PTAsYT0tMSxzPVtdLGw9W107Zm9yKHQrPSIiLGUrPSIiOyhuPXhodC5leGVjKHQpKSYmKGk9d2h0LmV4ZWMoZSkpOykocj1pLmluZGV4KT5vJiYocj1lLnNsaWNlKG8sciksc1thXT9zW2FdKz1yOnNbKythXT1yKSwobj1uWzBdKT09PShpPWlbMF0pP3NbYV0/c1thXSs9aTpzWysrYV09aTooc1srK2FdPW51bGwsbC5wdXNoKHtpOmEseDpiaHQobixpKX0pKSxvPXdodC5sYXN0SW5kZXg7cmV0dXJuIG88ZS5sZW5ndGgmJihyPWUuc2xpY2Uobyksc1thXT9zW2FdKz1yOnNbKythXT1yKSxzLmxlbmd0aDwyP2xbMF0/KGZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpKyIifX0pKGxbMF0ueCk6KGZ1bmN0aW9uIHUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fSkoZSk6KGU9bC5sZW5ndGgsZnVuY3Rpb24odCl7Zm9yKHZhciBuLGk9MDtpPGU7KytpKXNbKG49bFtpXSkuaV09bi54KHQpO3JldHVybiBzLmpvaW4oIiIpfSl9dmFyIE1odCxFaHQsVGh0LENodCxBaHQ9MTgwL01hdGguUEksa2h0PXt0cmFuc2xhdGVYOjAsdHJhbnNsYXRlWTowLHJvdGF0ZTowLHNrZXdYOjAsc2NhbGVYOjEsc2NhbGVZOjF9O2Z1bmN0aW9uIExodCh0LGUsbixpLHIsbyl7dmFyIGEscyxsO3JldHVybihhPU1hdGguc3FydCh0KnQrZSplKSkmJih0Lz1hLGUvPWEpLChsPXQqbitlKmkpJiYobi09dCpsLGktPWUqbCksKHM9TWF0aC5zcXJ0KG4qbitpKmkpKSYmKG4vPXMsaS89cyxsLz1zKSx0Kmk8ZSpuJiYodD0tdCxlPS1lLGw9LWwsYT0tYSkse3RyYW5zbGF0ZVg6cix0cmFuc2xhdGVZOm8scm90YXRlOk1hdGguYXRhbjIoZSx0KSpBaHQsc2tld1g6TWF0aC5hdGFuKGwpKkFodCxzY2FsZVg6YSxzY2FsZVk6c319ZnVuY3Rpb24gUGh0KHQsZSxuLGkpe2Z1bmN0aW9uIHIodCl7cmV0dXJuIHQubGVuZ3RoP3QucG9wKCkrIiAiOiIifXJldHVybiBmdW5jdGlvbihvLGEpe3ZhciBzPVtdLGw9W107cmV0dXJuIG89dChvKSxhPXQoYSksKGZ1bmN0aW9uIGModCxpLHIsbyxhLHMpe2lmKHQhPT1yfHxpIT09byl7dmFyIGw9YS5wdXNoKCJ0cmFuc2xhdGUoIixudWxsLGUsbnVsbCxuKTtzLnB1c2goe2k6bC00LHg6Ymh0KHQscil9LHtpOmwtMix4OmJodChpLG8pfSl9ZWxzZShyfHxvKSYmYS5wdXNoKCJ0cmFuc2xhdGUoIityK2UrbytuKX0pKG8udHJhbnNsYXRlWCxvLnRyYW5zbGF0ZVksYS50cmFuc2xhdGVYLGEudHJhbnNsYXRlWSxzLGwpLChmdW5jdGlvbiB1KHQsZSxuLG8pe3QhPT1lPyh0LWU+MTgwP2UrPTM2MDplLXQ+MTgwJiYodCs9MzYwKSxvLnB1c2goe2k6bi5wdXNoKHIobikrInJvdGF0ZSgiLG51bGwsaSktMix4OmJodCh0LGUpfSkpOmUmJm4ucHVzaChyKG4pKyJyb3RhdGUoIitlK2kpfSkoby5yb3RhdGUsYS5yb3RhdGUscyxsKSwoZnVuY3Rpb24gaCh0LGUsbixvKXt0IT09ZT9vLnB1c2goe2k6bi5wdXNoKHIobikrInNrZXdYKCIsbnVsbCxpKS0yLHg6Ymh0KHQsZSl9KTplJiZuLnB1c2gocihuKSsic2tld1goIitlK2kpfSkoby5za2V3WCxhLnNrZXdYLHMsbCksKGZ1bmN0aW9uIGQodCxlLG4saSxvLGEpe2lmKHQhPT1ufHxlIT09aSl7dmFyIHM9by5wdXNoKHIobykrInNjYWxlKCIsbnVsbCwiLCIsbnVsbCwiKSIpO2EucHVzaCh7aTpzLTQseDpiaHQodCxuKX0se2k6cy0yLHg6Ymh0KGUsaSl9KX1lbHNlIDE9PT1uJiYxPT09aXx8by5wdXNoKHIobykrInNjYWxlKCIrbisiLCIraSsiKSIpfSkoby5zY2FsZVgsby5zY2FsZVksYS5zY2FsZVgsYS5zY2FsZVkscyxsKSxvPWE9bnVsbCxmdW5jdGlvbih0KXtmb3IodmFyIGUsbj0tMSxpPWwubGVuZ3RoOysrbjxpOylzWyhlPWxbbl0pLmldPWUueCh0KTtyZXR1cm4gcy5qb2luKCIiKX19fXZhciBOaHQ9UGh0KChmdW5jdGlvbiBJaHQodCl7cmV0dXJuIm5vbmUiPT09dD9raHQ6KE1odHx8KE1odD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJESVYiKSxFaHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LFRodD1kb2N1bWVudC5kZWZhdWx0VmlldyksTWh0LnN0eWxlLnRyYW5zZm9ybT10LHQ9VGh0LmdldENvbXB1dGVkU3R5bGUoRWh0LmFwcGVuZENoaWxkKE1odCksbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgidHJhbnNmb3JtIiksRWh0LnJlbW92ZUNoaWxkKE1odCksTGh0KCsodD10LnNsaWNlKDcsLTEpLnNwbGl0KCIsIikpWzBdLCt0WzFdLCt0WzJdLCt0WzNdLCt0WzRdLCt0WzVdKSl9KSwicHgsICIsInB4KSIsImRlZykiKSxSaHQ9UGh0KChmdW5jdGlvbiBPaHQodCl7cmV0dXJuIG51bGw9PXQ/a2h0OihDaHR8fChDaHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImciKSksQ2h0LnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIix0KSwodD1DaHQudHJhbnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKSk/TGh0KCh0PXQubWF0cml4KS5hLHQuYix0LmMsdC5kLHQuZSx0LmYpOmtodCl9KSwiLCAiLCIpIiwiKSIpLHpodD1NYXRoLlNRUlQyO2Z1bmN0aW9uIERodCh0KXtyZXR1cm4oKHQ9TWF0aC5leHAodCkpKzEvdCkvMn1mdW5jdGlvbiBCaHQodCxlKXt2YXIgbixpLHI9dFswXSxvPXRbMV0sYT10WzJdLHM9ZVsyXSxsPWVbMF0tcixjPWVbMV0tbyx1PWwqbCtjKmM7aWYodTwxZS0xMilpPU1hdGgubG9nKHMvYSkvemh0LG49ZnVuY3Rpb24odCl7cmV0dXJuW3IrdCpsLG8rdCpjLGEqTWF0aC5leHAoemh0KnQqaSldfTtlbHNle3ZhciBoPU1hdGguc3FydCh1KSxkPShzKnMtYSphKzQqdSkvKDIqYSoyKmgpLHA9KHMqcy1hKmEtNCp1KS8oMipzKjIqaCksZj1NYXRoLmxvZyhNYXRoLnNxcnQoZCpkKzEpLWQpLG09TWF0aC5sb2coTWF0aC5zcXJ0KHAqcCsxKS1wKTtpPShtLWYpL3podCxuPWZ1bmN0aW9uKHQpe3ZhciBlPXQqaSxuPURodChmKSxzPWEvKDIqaCkqKG4qKGZ1bmN0aW9uIHUodCl7cmV0dXJuKCh0PU1hdGguZXhwKDIqdCkpLTEpLyh0KzEpfSkoemh0KmUrZiktKGZ1bmN0aW9uIGQodCl7cmV0dXJuKCh0PU1hdGguZXhwKHQpKS0xL3QpLzJ9KShmKSk7cmV0dXJuW3IrcypsLG8rcypjLGEqbi9EaHQoemh0KmUrZildfX1yZXR1cm4gbi5kdXJhdGlvbj0xZTMqaSxufXZhciBIaHQsRmh0LFZodD0wLFVodD0wLGpodD0wLEdodD0wLFdodD0wLHFodD0wLFlodD0ib2JqZWN0Ij09dHlwZW9mIHBlcmZvcm1hbmNlJiZwZXJmb3JtYW5jZS5ub3c/cGVyZm9ybWFuY2U6RGF0ZSxYaHQ9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdyk6ZnVuY3Rpb24odCl7c2V0VGltZW91dCh0LDE3KX07ZnVuY3Rpb24gJGh0KCl7cmV0dXJuIFdodHx8KFhodChLaHQpLFdodD1ZaHQubm93KCkrcWh0KX1mdW5jdGlvbiBLaHQoKXtXaHQ9MH1mdW5jdGlvbiBaaHQoKXt0aGlzLl9jYWxsPXRoaXMuX3RpbWU9dGhpcy5fbmV4dD1udWxsfWZ1bmN0aW9uIEpodCh0LGUsbil7dmFyIGk9bmV3IFpodDtyZXR1cm4gaS5yZXN0YXJ0KHQsZSxuKSxpfWZ1bmN0aW9uIFFodCgpe1dodD0oR2h0PVlodC5ub3coKSkrcWh0LFZodD1VaHQ9MDt0cnl7IShmdW5jdGlvbiB0KCl7JGh0KCksKytWaHQ7Zm9yKHZhciB0LGU9SGh0O2U7KSh0PVdodC1lLl90aW1lKT49MCYmZS5fY2FsbC5jYWxsKG51bGwsdCksZT1lLl9uZXh0Oy0tVmh0fSkoKX1maW5hbGx5e1ZodD0wLChmdW5jdGlvbiBlKCl7dmFyIHQsZSxuPUhodCxpPTEvMDtmb3IoO247KW4uX2NhbGw/KGk+bi5fdGltZSYmKGk9bi5fdGltZSksdD1uLG49bi5fbmV4dCk6KGU9bi5fbmV4dCxuLl9uZXh0PW51bGwsbj10P3QuX25leHQ9ZTpIaHQ9ZSk7Rmh0PXQsZWR0KGkpfSkoKSxXaHQ9MH19ZnVuY3Rpb24gdGR0KCl7dmFyIHQ9WWh0Lm5vdygpLGU9dC1HaHQ7ZT4xZTMmJihxaHQtPWUsR2h0PXQpfWZ1bmN0aW9uIGVkdCh0KXtWaHR8fChVaHQmJihVaHQ9Y2xlYXJUaW1lb3V0KFVodCkpLHQtV2h0PjI0Pyh0PDEvMCYmKFVodD1zZXRUaW1lb3V0KFFodCx0LVlodC5ub3coKS1xaHQpKSxqaHQmJihqaHQ9Y2xlYXJJbnRlcnZhbChqaHQpKSk6KGpodHx8KEdodD1ZaHQubm93KCksamh0PXNldEludGVydmFsKHRkdCwxZTMpKSxWaHQ9MSxYaHQoUWh0KSkpfWZ1bmN0aW9uIG5kdCh0LGUsbil7dmFyIGk9bmV3IFpodDtyZXR1cm4gaS5yZXN0YXJ0KChmdW5jdGlvbihuKXtpLnN0b3AoKSx0KG4rZSl9KSxlPW51bGw9PWU/MDorZSxuKSxpfVpodC5wcm90b3R5cGU9Smh0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6Wmh0LHJlc3RhcnQ6ZnVuY3Rpb24odCxlLG4pe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoImNhbGxiYWNrIGlzIG5vdCBhIGZ1bmN0aW9uIik7bj0obnVsbD09bj8kaHQoKTorbikrKG51bGw9PWU/MDorZSksdGhpcy5fbmV4dHx8Rmh0PT09dGhpc3x8KEZodD9GaHQuX25leHQ9dGhpczpIaHQ9dGhpcyxGaHQ9dGhpcyksdGhpcy5fY2FsbD10LHRoaXMuX3RpbWU9bixlZHQoKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuX2NhbGwmJih0aGlzLl9jYWxsPW51bGwsdGhpcy5fdGltZT0xLzAsZWR0KCkpfX07dmFyIGlkdD1CbHQoInN0YXJ0IiwiZW5kIiwiY2FuY2VsIiwiaW50ZXJydXB0IikscmR0PVtdO2Z1bmN0aW9uIG9kdCh0LGUsbixpLHIsbyl7dmFyIGE9dC5fX3RyYW5zaXRpb247aWYoYSl7aWYobiBpbiBhKXJldHVybn1lbHNlIHQuX190cmFuc2l0aW9uPXt9OyEoZnVuY3Rpb24gcyh0LGUsbil7dmFyIGkscj10Ll9fdHJhbnNpdGlvbjtmdW5jdGlvbiBvKHQpe24uc3RhdGU9MSxuLnRpbWVyLnJlc3RhcnQoYSxuLmRlbGF5LG4udGltZSksbi5kZWxheTw9dCYmYSh0LW4uZGVsYXkpfWZ1bmN0aW9uIGEobyl7dmFyIGMsdSxoLGQ7aWYoMSE9PW4uc3RhdGUpcmV0dXJuIGwoKTtmb3IoYyBpbiByKWlmKChkPXJbY10pLm5hbWU9PT1uLm5hbWUpe2lmKDM9PT1kLnN0YXRlKXJldHVybiBuZHQoYSk7ND09PWQuc3RhdGU/KGQuc3RhdGU9NixkLnRpbWVyLnN0b3AoKSxkLm9uLmNhbGwoImludGVycnVwdCIsdCx0Ll9fZGF0YV9fLGQuaW5kZXgsZC5ncm91cCksZGVsZXRlIHJbY10pOitjPGUmJihkLnN0YXRlPTYsZC50aW1lci5zdG9wKCksZC5vbi5jYWxsKCJjYW5jZWwiLHQsdC5fX2RhdGFfXyxkLmluZGV4LGQuZ3JvdXApLGRlbGV0ZSByW2NdKX1pZihuZHQoKGZ1bmN0aW9uKCl7Mz09PW4uc3RhdGUmJihuLnN0YXRlPTQsbi50aW1lci5yZXN0YXJ0KHMsbi5kZWxheSxuLnRpbWUpLHMobykpfSkpLG4uc3RhdGU9MixuLm9uLmNhbGwoInN0YXJ0Iix0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSwyPT09bi5zdGF0ZSl7Zm9yKG4uc3RhdGU9MyxpPW5ldyBBcnJheShoPW4udHdlZW4ubGVuZ3RoKSxjPTAsdT0tMTtjPGg7KytjKShkPW4udHdlZW5bY10udmFsdWUuY2FsbCh0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSkmJihpWysrdV09ZCk7aS5sZW5ndGg9dSsxfX1mdW5jdGlvbiBzKGUpe2Zvcih2YXIgcj1lPG4uZHVyYXRpb24/bi5lYXNlLmNhbGwobnVsbCxlL24uZHVyYXRpb24pOihuLnRpbWVyLnJlc3RhcnQobCksbi5zdGF0ZT01LDEpLG89LTEsYT1pLmxlbmd0aDsrK288YTspaVtvXS5jYWxsKHQscik7NT09PW4uc3RhdGUmJihuLm9uLmNhbGwoImVuZCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksbCgpKX1mdW5jdGlvbiBsKCl7Zm9yKHZhciBpIGluIG4uc3RhdGU9NixuLnRpbWVyLnN0b3AoKSxkZWxldGUgcltlXSxyKXJldHVybjtkZWxldGUgdC5fX3RyYW5zaXRpb259cltlXT1uLG4udGltZXI9Smh0KG8sMCxuLnRpbWUpfSkodCxuLHtuYW1lOmUsaW5kZXg6aSxncm91cDpyLG9uOmlkdCx0d2VlbjpyZHQsdGltZTpvLnRpbWUsZGVsYXk6by5kZWxheSxkdXJhdGlvbjpvLmR1cmF0aW9uLGVhc2U6by5lYXNlLHRpbWVyOm51bGwsc3RhdGU6MH0pfWZ1bmN0aW9uIGFkdCh0LGUpe3ZhciBuPWxkdCh0LGUpO2lmKG4uc3RhdGU+MCl0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHNjaGVkdWxlZCIpO3JldHVybiBufWZ1bmN0aW9uIHNkdCh0LGUpe3ZhciBuPWxkdCh0LGUpO2lmKG4uc3RhdGU+Myl0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHJ1bm5pbmciKTtyZXR1cm4gbn1mdW5jdGlvbiBsZHQodCxlKXt2YXIgbj10Ll9fdHJhbnNpdGlvbjtpZighbnx8IShuPW5bZV0pKXRocm93IG5ldyBFcnJvcigidHJhbnNpdGlvbiBub3QgZm91bmQiKTtyZXR1cm4gbn1mdW5jdGlvbiBjZHQodCxlKXt2YXIgbixpLHIsbz10Ll9fdHJhbnNpdGlvbixhPSEwO2lmKG8pe2ZvcihyIGluIGU9bnVsbD09ZT9udWxsOmUrIiIsbykobj1vW3JdKS5uYW1lPT09ZT8oaT1uLnN0YXRlPjImJm4uc3RhdGU8NSxuLnN0YXRlPTYsbi50aW1lci5zdG9wKCksbi5vbi5jYWxsKGk/ImludGVycnVwdCI6ImNhbmNlbCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksZGVsZXRlIG9bcl0pOmE9ITE7YSYmZGVsZXRlIHQuX190cmFuc2l0aW9ufX1mdW5jdGlvbiB1ZHQodCxlKXt2YXIgbixpO3JldHVybiBmdW5jdGlvbigpe3ZhciByPXNkdCh0aGlzLHQpLG89ci50d2VlbjtpZihvIT09bilmb3IodmFyIGE9MCxzPShpPW49bykubGVuZ3RoO2E8czsrK2EpaWYoaVthXS5uYW1lPT09ZSl7KGk9aS5zbGljZSgpKS5zcGxpY2UoYSwxKTticmVha31yLnR3ZWVuPWl9fWZ1bmN0aW9uIGhkdCh0LGUsbil7dmFyIGkscjtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG89c2R0KHRoaXMsdCksYT1vLnR3ZWVuO2lmKGEhPT1pKXtyPShpPWEpLnNsaWNlKCk7Zm9yKHZhciBzPXtuYW1lOmUsdmFsdWU6bn0sbD0wLGM9ci5sZW5ndGg7bDxjOysrbClpZihyW2xdLm5hbWU9PT1lKXtyW2xdPXM7YnJlYWt9bD09PWMmJnIucHVzaChzKX1vLnR3ZWVuPXJ9fWZ1bmN0aW9uIGRkdCh0LGUsbil7dmFyIGk9dC5faWQ7cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24oKXt2YXIgdD1zZHQodGhpcyxpKTsodC52YWx1ZXx8KHQudmFsdWU9e30pKVtlXT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pKSxmdW5jdGlvbih0KXtyZXR1cm4gbGR0KHQsaSkudmFsdWVbZV19fWZ1bmN0aW9uIHBkdCh0LGUpe3ZhciBuO3JldHVybigibnVtYmVyIj09dHlwZW9mIGU/Ymh0OmUgaW5zdGFuY2VvZiBlaHQ/dmh0OihuPWVodChlKSk/KGU9bix2aHQpOlNodCkodCxlKX1mdW5jdGlvbiBmZHQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIG1kdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIGdkdCh0LGUsbil7dmFyIGkscixvPW4rIiI7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRBdHRyaWJ1dGUodCk7cmV0dXJuIGE9PT1vP251bGw6YT09PWk/cjpyPWUoaT1hLG4pfX1mdW5jdGlvbiBfZHQodCxlLG4pe3ZhciBpLHIsbz1uKyIiO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKTtyZXR1cm4gYT09PW8/bnVsbDphPT09aT9yOnI9ZShpPWEsbil9fWZ1bmN0aW9uIHlkdCh0LGUsbil7dmFyIGkscixvO3JldHVybiBmdW5jdGlvbigpe3ZhciBhLHMsbD1uKHRoaXMpO2lmKG51bGwhPWwpcmV0dXJuKGE9dGhpcy5nZXRBdHRyaWJ1dGUodCkpPT09KHM9bCsiIik/bnVsbDphPT09aSYmcz09PXI/bzoocj1zLG89ZShpPWEsbCkpO3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpfX1mdW5jdGlvbiB2ZHQodCxlLG4pe3ZhciBpLHIsbztyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYSxzLGw9bih0aGlzKTtpZihudWxsIT1sKXJldHVybihhPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKSk9PT0ocz1sKyIiKT9udWxsOmE9PT1pJiZzPT09cj9vOihyPXMsbz1lKGk9YSxsKSk7dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpfX1mdW5jdGlvbiBiZHQodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dGhpcy5zZXRBdHRyaWJ1dGUodCxlLmNhbGwodGhpcyxuKSl9fWZ1bmN0aW9uIHhkdCh0LGUpe3JldHVybiBmdW5jdGlvbihuKXt0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxlLmNhbGwodGhpcyxuKSl9fWZ1bmN0aW9uIHdkdCh0LGUpe3ZhciBuLGk7ZnVuY3Rpb24gcigpe3ZhciByPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiByIT09aSYmKG49KGk9cikmJnhkdCh0LHIpKSxufXJldHVybiByLl92YWx1ZT1lLHJ9ZnVuY3Rpb24gU2R0KHQsZSl7dmFyIG4saTtmdW5jdGlvbiByKCl7dmFyIHI9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHIhPT1pJiYobj0oaT1yKSYmYmR0KHQscikpLG59cmV0dXJuIHIuX3ZhbHVlPWUscn1mdW5jdGlvbiBNZHQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXthZHQodGhpcyx0KS5kZWxheT0rZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIEVkdCh0LGUpe3JldHVybiBlPStlLGZ1bmN0aW9uKCl7YWR0KHRoaXMsdCkuZGVsYXk9ZX19ZnVuY3Rpb24gVGR0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7c2R0KHRoaXMsdCkuZHVyYXRpb249K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBDZHQodCxlKXtyZXR1cm4gZT0rZSxmdW5jdGlvbigpe3NkdCh0aGlzLHQpLmR1cmF0aW9uPWV9fWZ1bmN0aW9uIEFkdCh0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcjtyZXR1cm4gZnVuY3Rpb24oKXtzZHQodGhpcyx0KS5lYXNlPWV9fWZ1bmN0aW9uIGtkdCh0LGUsbil7dmFyIGkscixvPShmdW5jdGlvbiBhKHQpe3JldHVybih0KyIiKS50cmltKCkuc3BsaXQoL158XHMrLykuZXZlcnkoKGZ1bmN0aW9uKHQpe3ZhciBlPXQuaW5kZXhPZigiLiIpO3JldHVybiBlPj0wJiYodD10LnNsaWNlKDAsZSkpLCF0fHwic3RhcnQiPT09dH0pKX0pKGUpP2FkdDpzZHQ7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9byh0aGlzLHQpLHM9YS5vbjtzIT09aSYmKHI9KGk9cykuY29weSgpKS5vbihlLG4pLGEub249cn19dmFyIExkdD1aY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yO2Z1bmN0aW9uIFBkdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpfX1mdW5jdGlvbiBOZHQodCxlLG4pe3JldHVybiBmdW5jdGlvbihpKXt0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsZS5jYWxsKHRoaXMsaSksbil9fWZ1bmN0aW9uIElkdCh0LGUsbil7dmFyIGkscjtmdW5jdGlvbiBvKCl7dmFyIG89ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG8hPT1yJiYoaT0ocj1vKSYmTmR0KHQsbyxuKSksaX1yZXR1cm4gby5fdmFsdWU9ZSxvfWZ1bmN0aW9uIFJkdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dGhpcy50ZXh0Q29udGVudD10LmNhbGwodGhpcyxlKX19ZnVuY3Rpb24gT2R0KHQpe3ZhciBlLG47ZnVuY3Rpb24gaSgpe3ZhciBpPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBpIT09biYmKGU9KG49aSkmJlJkdChpKSksZX1yZXR1cm4gaS5fdmFsdWU9dCxpfXZhciB6ZHQ9MDtmdW5jdGlvbiBEZHQodCxlLG4saSl7dGhpcy5fZ3JvdXBzPXQsdGhpcy5fcGFyZW50cz1lLHRoaXMuX25hbWU9bix0aGlzLl9pZD1pfWZ1bmN0aW9uIEJkdCgpe3JldHVybisremR0fXZhciBIZHQ9WmN0LnByb3RvdHlwZTtEZHQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpEZHQsc2VsZWN0OmZ1bmN0aW9uIEZkdCh0KXt2YXIgZT10aGlzLl9uYW1lLG49dGhpcy5faWQ7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PUtsdCh0KSk7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89bmV3IEFycmF5KHIpLGE9MDthPHI7KythKWZvcih2YXIgcyxsLGM9aVthXSx1PWMubGVuZ3RoLGg9b1thXT1uZXcgQXJyYXkodSksZD0wO2Q8dTsrK2QpKHM9Y1tkXSkmJihsPXQuY2FsbChzLHMuX19kYXRhX18sZCxjKSkmJigiX19kYXRhX18iaW4gcyYmKGwuX19kYXRhX189cy5fX2RhdGFfXyksaFtkXT1sLG9kdChoW2RdLGUsbixkLGgsbGR0KHMsbikpKTtyZXR1cm4gbmV3IERkdChvLHRoaXMuX3BhcmVudHMsZSxuKX0sc2VsZWN0QWxsOmZ1bmN0aW9uIFZkdCh0KXt2YXIgZT10aGlzLl9uYW1lLG49dGhpcy5faWQ7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PUpsdCh0KSk7Zm9yKHZhciBpPXRoaXMuX2dyb3VwcyxyPWkubGVuZ3RoLG89W10sYT1bXSxzPTA7czxyOysrcylmb3IodmFyIGwsYz1pW3NdLHU9Yy5sZW5ndGgsaD0wO2g8dTsrK2gpaWYobD1jW2hdKXtmb3IodmFyIGQscD10LmNhbGwobCxsLl9fZGF0YV9fLGgsYyksZj1sZHQobCxuKSxtPTAsZz1wLmxlbmd0aDttPGc7KyttKShkPXBbbV0pJiZvZHQoZCxlLG4sbSxwLGYpO28ucHVzaChwKSxhLnB1c2gobCl9cmV0dXJuIG5ldyBEZHQobyxhLGUsbil9LGZpbHRlcjpmdW5jdGlvbiBVZHQodCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVFsdCh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLGk9bmV3IEFycmF5KG4pLHI9MDtyPG47KytyKWZvcih2YXIgbyxhPWVbcl0scz1hLmxlbmd0aCxsPWlbcl09W10sYz0wO2M8czsrK2MpKG89YVtjXSkmJnQuY2FsbChvLG8uX19kYXRhX18sYyxhKSYmbC5wdXNoKG8pO3JldHVybiBuZXcgRGR0KGksdGhpcy5fcGFyZW50cyx0aGlzLl9uYW1lLHRoaXMuX2lkKX0sbWVyZ2U6ZnVuY3Rpb24gamR0KHQpe2lmKHQuX2lkIT09dGhpcy5faWQpdGhyb3cgbmV3IEVycm9yO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsaT1lLmxlbmd0aCxyPU1hdGgubWluKGksbi5sZW5ndGgpLG89bmV3IEFycmF5KGkpLGE9MDthPHI7KythKWZvcih2YXIgcyxsPWVbYV0sYz1uW2FdLHU9bC5sZW5ndGgsaD1vW2FdPW5ldyBBcnJheSh1KSxkPTA7ZDx1OysrZCkocz1sW2RdfHxjW2RdKSYmKGhbZF09cyk7Zm9yKDthPGk7KythKW9bYV09ZVthXTtyZXR1cm4gbmV3IERkdChvLHRoaXMuX3BhcmVudHMsdGhpcy5fbmFtZSx0aGlzLl9pZCl9LHNlbGVjdGlvbjpmdW5jdGlvbiBHZHQoKXtyZXR1cm4gbmV3IExkdCh0aGlzLl9ncm91cHMsdGhpcy5fcGFyZW50cyl9LHRyYW5zaXRpb246ZnVuY3Rpb24gV2R0KCl7Zm9yKHZhciB0PXRoaXMuX25hbWUsZT10aGlzLl9pZCxuPUJkdCgpLGk9dGhpcy5fZ3JvdXBzLHI9aS5sZW5ndGgsbz0wO288cjsrK28pZm9yKHZhciBhLHM9aVtvXSxsPXMubGVuZ3RoLGM9MDtjPGw7KytjKWlmKGE9c1tjXSl7dmFyIHU9bGR0KGEsZSk7b2R0KGEsdCxuLGMscyx7dGltZTp1LnRpbWUrdS5kZWxheSt1LmR1cmF0aW9uLGRlbGF5OjAsZHVyYXRpb246dS5kdXJhdGlvbixlYXNlOnUuZWFzZX0pfXJldHVybiBuZXcgRGR0KGksdGhpcy5fcGFyZW50cyx0LG4pfSxjYWxsOkhkdC5jYWxsLG5vZGVzOkhkdC5ub2Rlcyxub2RlOkhkdC5ub2RlLHNpemU6SGR0LnNpemUsZW1wdHk6SGR0LmVtcHR5LGVhY2g6SGR0LmVhY2gsb246ZnVuY3Rpb24gcWR0KHQsZSl7dmFyIG49dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8Mj9sZHQodGhpcy5ub2RlKCksbikub24ub24odCk6dGhpcy5lYWNoKGtkdChuLHQsZSkpfSxhdHRyOmZ1bmN0aW9uIFlkdCh0LGUpe3ZhciBuPVdsdCh0KSxpPSJ0cmFuc2Zvcm0iPT09bj9SaHQ6cGR0O3JldHVybiB0aGlzLmF0dHJUd2Vlbih0LCJmdW5jdGlvbiI9PXR5cGVvZiBlPyhuLmxvY2FsP3ZkdDp5ZHQpKG4saSxkZHQodGhpcywiYXR0ci4iK3QsZSkpOm51bGw9PWU/KG4ubG9jYWw/bWR0OmZkdCkobik6KG4ubG9jYWw/X2R0OmdkdCkobixpLGUpKX0sYXR0clR3ZWVuOmZ1bmN0aW9uIFhkdCh0LGUpe3ZhciBuPSJhdHRyLiIrdDtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKG49dGhpcy50d2VlbihuKSkmJm4uX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4obixudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7dmFyIGk9V2x0KHQpO3JldHVybiB0aGlzLnR3ZWVuKG4sKGkubG9jYWw/d2R0OlNkdCkoaSxlKSl9LHN0eWxlOmZ1bmN0aW9uICRkdCh0LGUsbil7dmFyIGk9InRyYW5zZm9ybSI9PSh0Kz0iIik/Tmh0OnBkdDtyZXR1cm4gbnVsbD09ZT90aGlzLnN0eWxlVHdlZW4odCwoZnVuY3Rpb24gcih0LGUpe3ZhciBuLGkscjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbz1tY3QodGhpcyx0KSxhPSh0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLG1jdCh0aGlzLHQpKTtyZXR1cm4gbz09PWE/bnVsbDpvPT09biYmYT09PWk/cjpyPWUobj1vLGk9YSl9fSkodCxpKSkub24oImVuZC5zdHlsZS4iK3QsUGR0KHQpKToiZnVuY3Rpb24iPT10eXBlb2YgZT90aGlzLnN0eWxlVHdlZW4odCwoZnVuY3Rpb24gYSh0LGUsbil7dmFyIGkscixvO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPW1jdCh0aGlzLHQpLHM9bih0aGlzKSxsPXMrIiI7cmV0dXJuIG51bGw9PXMmJih0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KHQpLGw9cz1tY3QodGhpcyx0KSksYT09PWw/bnVsbDphPT09aSYmbD09PXI/bzoocj1sLG89ZShpPWEscykpfX0pKHQsaSxkZHQodGhpcywic3R5bGUuIit0LGUpKSkuZWFjaCgoZnVuY3Rpb24gbyh0LGUpe3ZhciBuLGkscixvLGE9InN0eWxlLiIrZSxzPSJlbmQuIithO3JldHVybiBmdW5jdGlvbigpe3ZhciBsPXNkdCh0aGlzLHQpLGM9bC5vbix1PW51bGw9PWwudmFsdWVbYV0/b3x8KG89UGR0KGUpKTp2b2lkIDA7Yz09PW4mJnI9PT11fHwoaT0obj1jKS5jb3B5KCkpLm9uKHMscj11KSxsLm9uPWl9fSkodGhpcy5faWQsdCkpOnRoaXMuc3R5bGVUd2Vlbih0LChmdW5jdGlvbiBzKHQsZSxuKXt2YXIgaSxyLG89bisiIjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYT1tY3QodGhpcyx0KTtyZXR1cm4gYT09PW8/bnVsbDphPT09aT9yOnI9ZShpPWEsbil9fSkodCxpLGUpLG4pLm9uKCJlbmQuc3R5bGUuIit0LG51bGwpfSxzdHlsZVR3ZWVuOmZ1bmN0aW9uIEtkdCh0LGUsbil7dmFyIGk9InN0eWxlLiIrKHQrPSIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKGk9dGhpcy50d2VlbihpKSkmJmkuX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4oaSxudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHRoaXMudHdlZW4oaSxJZHQodCxlLG51bGw9PW4/IiI6bikpfSx0ZXh0OmZ1bmN0aW9uIFpkdCh0KXtyZXR1cm4gdGhpcy50d2VlbigidGV4dCIsImZ1bmN0aW9uIj09dHlwZW9mIHQ/KGZ1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKTt0aGlzLnRleHRDb250ZW50PW51bGw9PWU/IiI6ZX19KShkZHQodGhpcywidGV4dCIsdCkpOihmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMudGV4dENvbnRlbnQ9dH19KShudWxsPT10PyIiOnQrIiIpKX0sdGV4dFR3ZWVuOmZ1bmN0aW9uIEpkdCh0KXt2YXIgZT0idGV4dCI7aWYoYXJndW1lbnRzLmxlbmd0aDwxKXJldHVybihlPXRoaXMudHdlZW4oZSkpJiZlLl92YWx1ZTtpZihudWxsPT10KXJldHVybiB0aGlzLnR3ZWVuKGUsbnVsbCk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yO3JldHVybiB0aGlzLnR3ZWVuKGUsT2R0KHQpKX0scmVtb3ZlOmZ1bmN0aW9uIFFkdCgpe3JldHVybiB0aGlzLm9uKCJlbmQucmVtb3ZlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD10aGlzLnBhcmVudE5vZGU7Zm9yKHZhciBuIGluIHRoaXMuX190cmFuc2l0aW9uKWlmKCtuIT09ZSlyZXR1cm47dCYmdC5yZW1vdmVDaGlsZCh0aGlzKX19KSh0aGlzLl9pZCkpfSx0d2VlbjpmdW5jdGlvbiB0cHQodCxlKXt2YXIgbj10aGlzLl9pZDtpZih0Kz0iIixhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgaSxyPWxkdCh0aGlzLm5vZGUoKSxuKS50d2VlbixvPTAsYT1yLmxlbmd0aDtvPGE7KytvKWlmKChpPXJbb10pLm5hbWU9PT10KXJldHVybiBpLnZhbHVlO3JldHVybiBudWxsfXJldHVybiB0aGlzLmVhY2goKG51bGw9PWU/dWR0OmhkdCkobix0LGUpKX0sZGVsYXk6ZnVuY3Rpb24gZXB0KHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIHQ/TWR0OkVkdCkoZSx0KSk6bGR0KHRoaXMubm9kZSgpLGUpLmRlbGF5fSxkdXJhdGlvbjpmdW5jdGlvbiBucHQodCl7dmFyIGU9dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgdD9UZHQ6Q2R0KShlLHQpKTpsZHQodGhpcy5ub2RlKCksZSkuZHVyYXRpb259LGVhc2U6ZnVuY3Rpb24gaXB0KHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChBZHQoZSx0KSk6bGR0KHRoaXMubm9kZSgpLGUpLmVhc2V9LGVuZDpmdW5jdGlvbiBycHQoKXt2YXIgdCxlLG49dGhpcyxpPW4uX2lkLHI9bi5zaXplKCk7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihvLGEpe3ZhciBzPXt2YWx1ZTphfSxsPXt2YWx1ZTpmdW5jdGlvbigpezA9PS0tciYmbygpfX07bi5lYWNoKChmdW5jdGlvbigpe3ZhciBuPXNkdCh0aGlzLGkpLHI9bi5vbjtyIT09dCYmKChlPSh0PXIpLmNvcHkoKSkuXy5jYW5jZWwucHVzaChzKSxlLl8uaW50ZXJydXB0LnB1c2gocyksZS5fLmVuZC5wdXNoKGwpKSxuLm9uPWV9KSl9KSl9fTt2YXIgb3B0PXt0aW1lOm51bGwsZGVsYXk6MCxkdXJhdGlvbjoyNTAsZWFzZTpxZn07ZnVuY3Rpb24gYXB0KHQsZSl7Zm9yKHZhciBuOyEobj10Ll9fdHJhbnNpdGlvbil8fCEobj1uW2VdKTspaWYoISh0PXQucGFyZW50Tm9kZSkpcmV0dXJuIG9wdC50aW1lPSRodCgpLG9wdDtyZXR1cm4gbn1mdW5jdGlvbiBzcHQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIGxwdCh0LGUsbil7dGhpcy50YXJnZXQ9dCx0aGlzLnR5cGU9ZSx0aGlzLnRyYW5zZm9ybT1ufWZ1bmN0aW9uIGNwdCh0LGUsbil7dGhpcy5rPXQsdGhpcy54PWUsdGhpcy55PW59WmN0LnByb3RvdHlwZS5pbnRlcnJ1cHQ9ZnVuY3Rpb24gdXB0KHQpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7Y2R0KHRoaXMsdCl9KSl9LFpjdC5wcm90b3R5cGUudHJhbnNpdGlvbj1mdW5jdGlvbiBocHQodCl7dmFyIGUsbjt0IGluc3RhbmNlb2YgRGR0PyhlPXQuX2lkLHQ9dC5fbmFtZSk6KGU9QmR0KCksKG49b3B0KS50aW1lPSRodCgpLHQ9bnVsbD09dD9udWxsOnQrIiIpO2Zvcih2YXIgaT10aGlzLl9ncm91cHMscj1pLmxlbmd0aCxvPTA7bzxyOysrbylmb3IodmFyIGEscz1pW29dLGw9cy5sZW5ndGgsYz0wO2M8bDsrK2MpKGE9c1tjXSkmJm9kdChhLHQsZSxjLHMsbnx8YXB0KGEsZSkpO3JldHVybiBuZXcgRGR0KGksdGhpcy5fcGFyZW50cyx0LGUpfSxjcHQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpjcHQsc2NhbGU6ZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10P3RoaXM6bmV3IGNwdCh0aGlzLmsqdCx0aGlzLngsdGhpcy55KX0sdHJhbnNsYXRlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIDA9PT10JjA9PT1lP3RoaXM6bmV3IGNwdCh0aGlzLmssdGhpcy54K3RoaXMuayp0LHRoaXMueSt0aGlzLmsqZSl9LGFwcGx5OmZ1bmN0aW9uKHQpe3JldHVyblt0WzBdKnRoaXMuayt0aGlzLngsdFsxXSp0aGlzLmsrdGhpcy55XX0sYXBwbHlYOmZ1bmN0aW9uKHQpe3JldHVybiB0KnRoaXMuayt0aGlzLnh9LGFwcGx5WTpmdW5jdGlvbih0KXtyZXR1cm4gdCp0aGlzLmsrdGhpcy55fSxpbnZlcnQ6ZnVuY3Rpb24odCl7cmV0dXJuWyh0WzBdLXRoaXMueCkvdGhpcy5rLCh0WzFdLXRoaXMueSkvdGhpcy5rXX0saW52ZXJ0WDpmdW5jdGlvbih0KXtyZXR1cm4odC10aGlzLngpL3RoaXMua30saW52ZXJ0WTpmdW5jdGlvbih0KXtyZXR1cm4odC10aGlzLnkpL3RoaXMua30scmVzY2FsZVg6ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weSgpLmRvbWFpbih0LnJhbmdlKCkubWFwKHRoaXMuaW52ZXJ0WCx0aGlzKS5tYXAodC5pbnZlcnQsdCkpfSxyZXNjYWxlWTpmdW5jdGlvbih0KXtyZXR1cm4gdC5jb3B5KCkuZG9tYWluKHQucmFuZ2UoKS5tYXAodGhpcy5pbnZlcnRZLHRoaXMpLm1hcCh0LmludmVydCx0KSl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuInRyYW5zbGF0ZSgiK3RoaXMueCsiLCIrdGhpcy55KyIpIHNjYWxlKCIrdGhpcy5rKyIpIn19O3ZhciBkcHQ9bmV3IGNwdCgxLDAsMCk7ZnVuY3Rpb24gcHB0KHQpe3JldHVybiB0Ll9fem9vbXx8ZHB0fWZ1bmN0aW9uIGZwdCgpe0ZjdC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBtcHQoKXtGY3QucHJldmVudERlZmF1bHQoKSxGY3Quc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZ3B0KCl7cmV0dXJuIUZjdC5idXR0b259ZnVuY3Rpb24gX3B0KCl7dmFyIHQsZSxuPXRoaXM7cmV0dXJuIG4gaW5zdGFuY2VvZiBTVkdFbGVtZW50Pyh0PShuPW4ub3duZXJTVkdFbGVtZW50fHxuKS53aWR0aC5iYXNlVmFsLnZhbHVlLGU9bi5oZWlnaHQuYmFzZVZhbC52YWx1ZSk6KHQ9bi5jbGllbnRXaWR0aCxlPW4uY2xpZW50SGVpZ2h0KSxbWzAsMF0sW3QsZV1dfWZ1bmN0aW9uIHlwdCgpe3JldHVybiB0aGlzLl9fem9vbXx8ZHB0fWZ1bmN0aW9uIHZwdCgpe3JldHVybi1GY3QuZGVsdGFZKihGY3QuZGVsdGFNb2RlPzEyMDoxKS81MDB9ZnVuY3Rpb24gYnB0KCl7cmV0dXJuIm9udG91Y2hzdGFydCJpbiB0aGlzfWZ1bmN0aW9uIHhwdCh0LGUsbil7dmFyIGk9dC5pbnZlcnRYKGVbMF1bMF0pLW5bMF1bMF0scj10LmludmVydFgoZVsxXVswXSktblsxXVswXSxvPXQuaW52ZXJ0WShlWzBdWzFdKS1uWzBdWzFdLGE9dC5pbnZlcnRZKGVbMV1bMV0pLW5bMV1bMV07cmV0dXJuIHQudHJhbnNsYXRlKHI+aT8oaStyKS8yOk1hdGgubWluKDAsaSl8fE1hdGgubWF4KDAsciksYT5vPyhvK2EpLzI6TWF0aC5taW4oMCxvKXx8TWF0aC5tYXgoMCxhKSl9cHB0LnByb3RvdHlwZT1jcHQucHJvdG90eXBlO3ZhciB3cHQ9TWUoT2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsdmVyc2lvbjoiNC4xMy4wIixiaXNlY3Q6ZXosYmlzZWN0UmlnaHQ6ZXosYmlzZWN0TGVmdDpueixhc2NlbmRpbmc6Sk8sYmlzZWN0b3I6UU8sY3Jvc3M6ZnVuY3Rpb24gU3B0KHQsZSxuKXt2YXIgaSxyLG8sYSxzPXQubGVuZ3RoLGw9ZS5sZW5ndGgsYz1uZXcgQXJyYXkocypsKTtmb3IobnVsbD09biYmKG49aXopLGk9bz0wO2k8czsrK2kpZm9yKGE9dFtpXSxyPTA7cjxsOysrciwrK28pY1tvXT1uKGEsZVtyXSk7cmV0dXJuIGN9LGRlc2NlbmRpbmc6ZnVuY3Rpb24gTXB0KHQsZSl7cmV0dXJuIGU8dD8tMTplPnQ/MTplPj10PzA6TmFOfSxkZXZpYXRpb246YXosZXh0ZW50OnN6LGhpc3RvZ3JhbTpmdW5jdGlvbiBFcHQoKXt2YXIgdD1keixlPXN6LG49dno7ZnVuY3Rpb24gaShpKXt2YXIgcixvLGE9aS5sZW5ndGgscz1uZXcgQXJyYXkoYSk7Zm9yKHI9MDtyPGE7KytyKXNbcl09dChpW3JdLHIsaSk7dmFyIGw9ZShzKSxjPWxbMF0sdT1sWzFdLGg9bihzLGMsdSk7QXJyYXkuaXNBcnJheShoKXx8KGg9eXooYyx1LGgpLGg9cHooTWF0aC5jZWlsKGMvaCkqaCxNYXRoLmZsb29yKHUvaCkqaCxoKSk7Zm9yKHZhciBkPWgubGVuZ3RoO2hbMF08PWM7KWguc2hpZnQoKSwtLWQ7Zm9yKDtoW2QtMV0+dTspaC5wb3AoKSwtLWQ7dmFyIHAsZj1uZXcgQXJyYXkoZCsxKTtmb3Iocj0wO3I8PWQ7KytyKShwPWZbcl09W10pLngwPXI+MD9oW3ItMV06YyxwLngxPXI8ZD9oW3JdOnU7Zm9yKHI9MDtyPGE7KytyKWM8PShvPXNbcl0pJiZvPD11JiZmW2V6KGgsbywwLGQpXS5wdXNoKGlbcl0pO3JldHVybiBmfXJldHVybiBpLnZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6aHooZSksaSk6dH0saS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpoeihbdFswXSx0WzFdXSksaSk6ZX0saS50aHJlc2hvbGRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QXJyYXkuaXNBcnJheSh0KT9oeihjei5jYWxsKHQpKTpoeih0KSxpKTpufSxpfSx0aHJlc2hvbGRGcmVlZG1hbkRpYWNvbmlzOmZ1bmN0aW9uIFRwdCh0LGUsbil7cmV0dXJuIHQ9dXouY2FsbCh0LHJ6KS5zb3J0KEpPKSxNYXRoLmNlaWwoKG4tZSkvKDIqKGJ6KHQsLjc1KS1ieih0LC4yNSkpKk1hdGgucG93KHQubGVuZ3RoLC0xLzMpKSl9LHRocmVzaG9sZFNjb3R0OmZ1bmN0aW9uIENwdCh0LGUsbil7cmV0dXJuIE1hdGguY2VpbCgobi1lKS8oMy41KmF6KHQpKk1hdGgucG93KHQubGVuZ3RoLC0xLzMpKSl9LHRocmVzaG9sZFN0dXJnZXM6dnosbWF4OmZ1bmN0aW9uIEFwdCh0LGUpe3ZhciBuLGkscj10Lmxlbmd0aCxvPS0xO2lmKG51bGw9PWUpe2Zvcig7KytvPHI7KWlmKG51bGwhPShuPXRbb10pJiZuPj1uKWZvcihpPW47KytvPHI7KW51bGwhPShuPXRbb10pJiZuPmkmJihpPW4pfWVsc2UgZm9yKDsrK288cjspaWYobnVsbCE9KG49ZSh0W29dLG8sdCkpJiZuPj1uKWZvcihpPW47KytvPHI7KW51bGwhPShuPWUodFtvXSxvLHQpKSYmbj5pJiYoaT1uKTtyZXR1cm4gaX0sbWVhbjpmdW5jdGlvbiBrcHQodCxlKXt2YXIgbixpPXQubGVuZ3RoLHI9aSxvPS0xLGE9MDtpZihudWxsPT1lKWZvcig7KytvPGk7KWlzTmFOKG49cnoodFtvXSkpPy0tcjphKz1uO2Vsc2UgZm9yKDsrK288aTspaXNOYU4obj1yeihlKHRbb10sbyx0KSkpPy0tcjphKz1uO2lmKHIpcmV0dXJuIGEvcn0sbWVkaWFuOmZ1bmN0aW9uIExwdCh0LGUpe3ZhciBuLGk9dC5sZW5ndGgscj0tMSxvPVtdO2lmKG51bGw9PWUpZm9yKDsrK3I8aTspaXNOYU4obj1yeih0W3JdKSl8fG8ucHVzaChuKTtlbHNlIGZvcig7KytyPGk7KWlzTmFOKG49cnooZSh0W3JdLHIsdCkpKXx8by5wdXNoKG4pO3JldHVybiBieihvLnNvcnQoSk8pLC41KX0sbWVyZ2U6ZnVuY3Rpb24gUHB0KHQpe2Zvcih2YXIgZSxuLGkscj10Lmxlbmd0aCxvPS0xLGE9MDsrK288cjspYSs9dFtvXS5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KGEpOy0tcj49MDspZm9yKGU9KGk9dFtyXSkubGVuZ3RoOy0tZT49MDspblstLWFdPWlbZV07cmV0dXJuIG59LG1pbjp4eixwYWlyczpmdW5jdGlvbiBOcHQodCxlKXtudWxsPT1lJiYoZT1peik7Zm9yKHZhciBuPTAsaT10Lmxlbmd0aC0xLHI9dFswXSxvPW5ldyBBcnJheShpPDA/MDppKTtuPGk7KW9bbl09ZShyLHI9dFsrK25dKTtyZXR1cm4gb30scGVybXV0ZTpmdW5jdGlvbiBJcHQodCxlKXtmb3IodmFyIG49ZS5sZW5ndGgsaT1uZXcgQXJyYXkobik7bi0tOylpW25dPXRbZVtuXV07cmV0dXJuIGl9LHF1YW50aWxlOmJ6LHJhbmdlOnB6LHNjYW46ZnVuY3Rpb24gUnB0KHQsZSl7aWYobj10Lmxlbmd0aCl7dmFyIG4saSxyPTAsbz0wLGE9dFtvXTtmb3IobnVsbD09ZSYmKGU9Sk8pOysrcjxuOykoZShpPXRbcl0sYSk8MHx8MCE9PWUoYSxhKSkmJihhPWksbz1yKTtyZXR1cm4gMD09PWUoYSxhKT9vOnZvaWQgMH19LHNodWZmbGU6ZnVuY3Rpb24gT3B0KHQsZSxuKXtmb3IodmFyIGkscixvPShudWxsPT1uP3QubGVuZ3RoOm4pLShlPW51bGw9PWU/MDorZSk7bzspcj1NYXRoLnJhbmRvbSgpKm8tLXwwLGk9dFtvK2VdLHRbbytlXT10W3IrZV0sdFtyK2VdPWk7cmV0dXJuIHR9LHN1bTpmdW5jdGlvbiB6cHQodCxlKXt2YXIgbixpPXQubGVuZ3RoLHI9LTEsbz0wO2lmKG51bGw9PWUpZm9yKDsrK3I8aTspKG49K3Rbcl0pJiYobys9bik7ZWxzZSBmb3IoOysrcjxpOykobj0rZSh0W3JdLHIsdCkpJiYobys9bik7cmV0dXJuIG99LHRpY2tzOmZ1bmN0aW9uIERwdCh0LGUsbil7dmFyIGkscixvLGEscz0tMTtpZihuPStuLCh0PSt0KT09PShlPStlKSYmbj4wKXJldHVyblt0XTtpZigoaT1lPHQpJiYocj10LHQ9ZSxlPXIpLDA9PT0oYT1feih0LGUsbikpfHwhaXNGaW5pdGUoYSkpcmV0dXJuW107aWYoYT4wKWZvcih0PU1hdGguY2VpbCh0L2EpLGU9TWF0aC5mbG9vcihlL2EpLG89bmV3IEFycmF5KHI9TWF0aC5jZWlsKGUtdCsxKSk7KytzPHI7KW9bc109KHQrcykqYTtlbHNlIGZvcih0PU1hdGguZmxvb3IodCphKSxlPU1hdGguY2VpbChlKmEpLG89bmV3IEFycmF5KHI9TWF0aC5jZWlsKHQtZSsxKSk7KytzPHI7KW9bc109KHQtcykvYTtyZXR1cm4gaSYmby5yZXZlcnNlKCksb30sdGlja0luY3JlbWVudDpfeix0aWNrU3RlcDp5eix0cmFuc3Bvc2U6d3osdmFyaWFuY2U6b3osemlwOmZ1bmN0aW9uIEJwdCgpe3JldHVybiB3eihhcmd1bWVudHMpfSxheGlzVG9wOmZ1bmN0aW9uIEhwdCh0KXtyZXR1cm4gTnooMSx0KX0sYXhpc1JpZ2h0OmZ1bmN0aW9uIEZwdCh0KXtyZXR1cm4gTnooMix0KX0sYXhpc0JvdHRvbTpmdW5jdGlvbiBWcHQodCl7cmV0dXJuIE56KDMsdCl9LGF4aXNMZWZ0OmZ1bmN0aW9uIFVwdCh0KXtyZXR1cm4gTnooNCx0KX0sYnJ1c2g6ZnVuY3Rpb24ganB0KCl7cmV0dXJuIEVWKGZWKX0sYnJ1c2hYOmZ1bmN0aW9uIEdwdCgpe3JldHVybiBFVihkVil9LGJydXNoWTpmdW5jdGlvbiBXcHQoKXtyZXR1cm4gRVYocFYpfSxicnVzaFNlbGVjdGlvbjpmdW5jdGlvbiBxcHQodCl7dmFyIGU9dC5fX2JydXNoO3JldHVybiBlP2UuZGltLm91dHB1dChlLnNlbGVjdGlvbik6bnVsbH0sY2hvcmQ6ZnVuY3Rpb24gWXB0KCl7dmFyIHQ9MCxlPW51bGwsbj1udWxsLGk9bnVsbDtmdW5jdGlvbiByKHIpe3ZhciBvLGEscyxsLGMsdSxoPXIubGVuZ3RoLGQ9W10scD1DVihoKSxmPVtdLG09W10sZz1tLmdyb3Vwcz1uZXcgQXJyYXkoaCksXz1uZXcgQXJyYXkoaCpoKTtmb3Iobz0wLGM9LTE7KytjPGg7KXtmb3IoYT0wLHU9LTE7Kyt1PGg7KWErPXJbY11bdV07ZC5wdXNoKGEpLGYucHVzaChDVihoKSksbys9YX1mb3IoZSYmcC5zb3J0KChmdW5jdGlvbih0LG4pe3JldHVybiBlKGRbdF0sZFtuXSl9KSksbiYmZi5mb3JFYWNoKChmdW5jdGlvbih0LGUpe3Quc29ydCgoZnVuY3Rpb24odCxpKXtyZXR1cm4gbihyW2VdW3RdLHJbZV1baV0pfSkpfSkpLGw9KG89UlYoMCxJVi10KmgpL28pP3Q6SVYvaCxhPTAsYz0tMTsrK2M8aDspe2ZvcihzPWEsdT0tMTsrK3U8aDspe3ZhciB5PXBbY10sdj1mW3ldW3VdLGI9clt5XVt2XSx4PWEsdz1hKz1iKm87X1t2KmgreV09e2luZGV4Onksc3ViaW5kZXg6dixzdGFydEFuZ2xlOngsZW5kQW5nbGU6dyx2YWx1ZTpifX1nW3ldPXtpbmRleDp5LHN0YXJ0QW5nbGU6cyxlbmRBbmdsZTphLHZhbHVlOmRbeV19LGErPWx9Zm9yKGM9LTE7KytjPGg7KWZvcih1PWMtMTsrK3U8aDspe3ZhciBTPV9bdSpoK2NdLE09X1tjKmgrdV07KFMudmFsdWV8fE0udmFsdWUpJiZtLnB1c2goUy52YWx1ZTxNLnZhbHVlP3tzb3VyY2U6TSx0YXJnZXQ6U306e3NvdXJjZTpTLHRhcmdldDpNfSl9cmV0dXJuIGk/bS5zb3J0KGkpOm19cmV0dXJuIHIucGFkQW5nbGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9UlYoMCxlKSxyKTp0fSxyLnNvcnRHcm91cHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxyKTplfSxyLnNvcnRTdWJncm91cHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49dCxyKTpufSxyLnNvcnRDaG9yZHM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG51bGw9PXQ/aT1udWxsOihpPU9WKHQpKS5fPXQscik6aSYmaS5ffSxyfSxyaWJib246ZnVuY3Rpb24gWHB0KCl7dmFyIHQ9R1YsZT1XVixuPXFWLGk9WVYscj1YVixvPW51bGw7ZnVuY3Rpb24gYSgpe3ZhciBhLHM9elYuY2FsbChhcmd1bWVudHMpLGw9dC5hcHBseSh0aGlzLHMpLGM9ZS5hcHBseSh0aGlzLHMpLHU9K24uYXBwbHkodGhpcywoc1swXT1sLHMpKSxoPWkuYXBwbHkodGhpcyxzKS1OVixkPXIuYXBwbHkodGhpcyxzKS1OVixwPXUqa1YoaCksZj11KkxWKGgpLG09K24uYXBwbHkodGhpcywoc1swXT1jLHMpKSxnPWkuYXBwbHkodGhpcyxzKS1OVixfPXIuYXBwbHkodGhpcyxzKS1OVjtpZihvfHwobz1hPWpWKCkpLG8ubW92ZVRvKHAsZiksby5hcmMoMCwwLHUsaCxkKSxoPT09ZyYmZD09PV98fChvLnF1YWRyYXRpY0N1cnZlVG8oMCwwLG0qa1YoZyksbSpMVihnKSksby5hcmMoMCwwLG0sZyxfKSksby5xdWFkcmF0aWNDdXJ2ZVRvKDAsMCxwLGYpLG8uY2xvc2VQYXRoKCksYSlyZXR1cm4gbz1udWxsLGErIiJ8fG51bGx9cmV0dXJuIGEucmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RFYoK3QpLGEpOm59LGEuc3RhcnRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkRWKCt0KSxhKTppfSxhLmVuZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RFYoK3QpLGEpOnJ9LGEuc291cmNlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUsYSk6dH0sYS50YXJnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxhKTplfSxhLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89bnVsbD09dD9udWxsOnQsYSk6b30sYX0sbmVzdDpmdW5jdGlvbiAkcHQoKXt2YXIgdCxlLG4saT1bXSxyPVtdO2Z1bmN0aW9uIG8obixyLGEscyl7aWYocj49aS5sZW5ndGgpcmV0dXJuIG51bGwhPXQmJm4uc29ydCh0KSxudWxsIT1lP2Uobik6bjtmb3IodmFyIGwsYyx1LGg9LTEsZD1uLmxlbmd0aCxwPWlbcisrXSxmPVpWKCksbT1hKCk7KytoPGQ7KSh1PWYuZ2V0KGw9cChjPW5baF0pKyIiKSk/dS5wdXNoKGMpOmYuc2V0KGwsW2NdKTtyZXR1cm4gZi5lYWNoKChmdW5jdGlvbih0LGUpe3MobSxlLG8odCxyLGEscykpfSkpLG19ZnVuY3Rpb24gYSh0LG4pe2lmKCsrbj5pLmxlbmd0aClyZXR1cm4gdDt2YXIgbyxzPXJbbi0xXTtyZXR1cm4gbnVsbCE9ZSYmbj49aS5sZW5ndGg/bz10LmVudHJpZXMoKToobz1bXSx0LmVhY2goKGZ1bmN0aW9uKHQsZSl7by5wdXNoKHtrZXk6ZSx2YWx1ZXM6YSh0LG4pfSl9KSkpLG51bGwhPXM/by5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiBzKHQua2V5LGUua2V5KX0pKTpvfXJldHVybiBuPXtvYmplY3Q6ZnVuY3Rpb24odCl7cmV0dXJuIG8odCwwLEpWLFFWKX0sbWFwOmZ1bmN0aW9uKHQpe3JldHVybiBvKHQsMCx0VSxlVSl9LGVudHJpZXM6ZnVuY3Rpb24odCl7cmV0dXJuIGEobyh0LDAsdFUsZVUpLDApfSxrZXk6ZnVuY3Rpb24odCl7cmV0dXJuIGkucHVzaCh0KSxufSxzb3J0S2V5czpmdW5jdGlvbih0KXtyZXR1cm4gcltpLmxlbmd0aC0xXT10LG59LHNvcnRWYWx1ZXM6ZnVuY3Rpb24oZSl7cmV0dXJuIHQ9ZSxufSxyb2xsdXA6ZnVuY3Rpb24odCl7cmV0dXJuIGU9dCxufX19LHNldDpyVSxtYXA6WlYsa2V5czpmdW5jdGlvbiBLcHQodCl7dmFyIGU9W107Zm9yKHZhciBuIGluIHQpZS5wdXNoKG4pO3JldHVybiBlfSx2YWx1ZXM6ZnVuY3Rpb24gWnB0KHQpe3ZhciBlPVtdO2Zvcih2YXIgbiBpbiB0KWUucHVzaCh0W25dKTtyZXR1cm4gZX0sZW50cmllczpmdW5jdGlvbiBKcHQodCl7dmFyIGU9W107Zm9yKHZhciBuIGluIHQpZS5wdXNoKHtrZXk6bix2YWx1ZTp0W25dfSk7cmV0dXJuIGV9LGNvbG9yOndVLHJnYjpUVSxoc2w6TFUsbGFiOlZVLGhjbDpYVSxjdWJlaGVsaXg6b2osZGlzcGF0Y2g6bGosZHJhZzpmdW5jdGlvbiBRcHQoKXt2YXIgdCxlLG4saSxyPURHLG89QkcsYT1IRyxzPUZHLGw9e30sYz1maigic3RhcnQiLCJkcmFnIiwiZW5kIiksdT0wLGg9MDtmdW5jdGlvbiBkKHQpe3Qub24oIm1vdXNlZG93bi5kcmFnIixwKS5maWx0ZXIocykub24oInRvdWNoc3RhcnQuZHJhZyIsZykub24oInRvdWNobW92ZS5kcmFnIixfKS5vbigidG91Y2hlbmQuZHJhZyB0b3VjaGNhbmNlbC5kcmFnIix5KS5zdHlsZSgidG91Y2gtYWN0aW9uIiwibm9uZSIpLnN0eWxlKCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiLCJyZ2JhKDAsMCwwLDApIil9ZnVuY3Rpb24gcCgpe2lmKCFpJiZyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIGE9digibW91c2UiLG8uYXBwbHkodGhpcyxhcmd1bWVudHMpLGtHLHRoaXMsYXJndW1lbnRzKTthJiYoVEcoZkcudmlldykub24oIm1vdXNlbW92ZS5kcmFnIixmLCEwKS5vbigibW91c2V1cC5kcmFnIixtLCEwKSxJRyhmRy52aWV3KSxQRygpLG49ITEsdD1mRy5jbGllbnRYLGU9ZkcuY2xpZW50WSxhKCJzdGFydCIpKX19ZnVuY3Rpb24gZigpe2lmKE5HKCksIW4pe3ZhciBpPWZHLmNsaWVudFgtdCxyPWZHLmNsaWVudFktZTtuPWkqaStyKnI+aH1sLm1vdXNlKCJkcmFnIil9ZnVuY3Rpb24gbSgpe1RHKGZHLnZpZXcpLm9uKCJtb3VzZW1vdmUuZHJhZyBtb3VzZXVwLmRyYWciLG51bGwpLFJHKGZHLnZpZXcsbiksTkcoKSxsLm1vdXNlKCJlbmQiKX1mdW5jdGlvbiBnKCl7aWYoci5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciB0LGUsbj1mRy5jaGFuZ2VkVG91Y2hlcyxpPW8uYXBwbHkodGhpcyxhcmd1bWVudHMpLGE9bi5sZW5ndGg7Zm9yKHQ9MDt0PGE7Kyt0KShlPXYoblt0XS5pZGVudGlmaWVyLGksTEcsdGhpcyxhcmd1bWVudHMpKSYmKFBHKCksZSgic3RhcnQiKSl9fWZ1bmN0aW9uIF8oKXt2YXIgdCxlLG49ZkcuY2hhbmdlZFRvdWNoZXMsaT1uLmxlbmd0aDtmb3IodD0wO3Q8aTsrK3QpKGU9bFtuW3RdLmlkZW50aWZpZXJdKSYmKE5HKCksZSgiZHJhZyIpKX1mdW5jdGlvbiB5KCl7dmFyIHQsZSxuPWZHLmNoYW5nZWRUb3VjaGVzLHI9bi5sZW5ndGg7Zm9yKGkmJmNsZWFyVGltZW91dChpKSxpPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aT1udWxsfSksNTAwKSx0PTA7dDxyOysrdCkoZT1sW25bdF0uaWRlbnRpZmllcl0pJiYoUEcoKSxlKCJlbmQiKSl9ZnVuY3Rpb24gdih0LGUsbixpLHIpe3ZhciBvLHMsaCxwPW4oZSx0KSxmPWMuY29weSgpO2lmKGJHKG5ldyB6RyhkLCJiZWZvcmVzdGFydCIsbyx0LHUscFswXSxwWzFdLDAsMCxmKSwoZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9KGZHLnN1YmplY3Q9bz1hLmFwcGx5KGkscikpJiYocz1vLngtcFswXXx8MCxoPW8ueS1wWzFdfHwwLCEwKX0pKSlyZXR1cm4gZnVuY3Rpb24gYShjKXt2YXIgbSxnPXA7c3dpdGNoKGMpe2Nhc2Uic3RhcnQiOmxbdF09YSxtPXUrKzticmVhaztjYXNlImVuZCI6ZGVsZXRlIGxbdF0sLS11O2Nhc2UiZHJhZyI6cD1uKGUsdCksbT11fWJHKG5ldyB6RyhkLGMsbyx0LG0scFswXStzLHBbMV0raCxwWzBdLWdbMF0scFsxXS1nWzFdLGYpLGYuYXBwbHksZixbYyxpLHJdKX19cmV0dXJuIGQuZmlsdGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6T0coISF0KSxkKTpyfSxkLmNvbnRhaW5lcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90Ok9HKHQpLGQpOm99LGQuc3ViamVjdD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90Ok9HKHQpLGQpOmF9LGQudG91Y2hhYmxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6T0coISF0KSxkKTpzfSxkLm9uPWZ1bmN0aW9uKCl7dmFyIHQ9Yy5vbi5hcHBseShjLGFyZ3VtZW50cyk7cmV0dXJuIHQ9PT1jP2Q6dH0sZC5jbGlja0Rpc3RhbmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhoPSh0PSt0KSp0LGQpOk1hdGguc3FydChoKX0sZH0sZHJhZ0Rpc2FibGU6SUcsZHJhZ0VuYWJsZTpSRyxkc3ZGb3JtYXQ6eFcsY3N2UGFyc2U6U1csY3N2UGFyc2VSb3dzOk1XLGNzdkZvcm1hdDpFVyxjc3ZGb3JtYXRSb3dzOlRXLHRzdlBhcnNlOkFXLHRzdlBhcnNlUm93czprVyx0c3ZGb3JtYXQ6TFcsdHN2Rm9ybWF0Um93czpQVyxlYXNlTGluZWFyOmZ1bmN0aW9uIHRmdCh0KXtyZXR1cm4rdH0sZWFzZVF1YWQ6TlcsZWFzZVF1YWRJbjpmdW5jdGlvbiBlZnQodCl7cmV0dXJuIHQqdH0sZWFzZVF1YWRPdXQ6ZnVuY3Rpb24gbmZ0KHQpe3JldHVybiB0KigyLXQpfSxlYXNlUXVhZEluT3V0Ok5XLGVhc2VDdWJpYzpJVyxlYXNlQ3ViaWNJbjpmdW5jdGlvbiBpZnQodCl7cmV0dXJuIHQqdCp0fSxlYXNlQ3ViaWNPdXQ6ZnVuY3Rpb24gcmZ0KHQpe3JldHVybi0tdCp0KnQrMX0sZWFzZUN1YmljSW5PdXQ6SVcsZWFzZVBvbHk6elcsZWFzZVBvbHlJbjpSVyxlYXNlUG9seU91dDpPVyxlYXNlUG9seUluT3V0OnpXLGVhc2VTaW46SFcsZWFzZVNpbkluOmZ1bmN0aW9uIG9mdCh0KXtyZXR1cm4gMS1NYXRoLmNvcyh0KkJXKX0sZWFzZVNpbk91dDpmdW5jdGlvbiBhZnQodCl7cmV0dXJuIE1hdGguc2luKHQqQlcpfSxlYXNlU2luSW5PdXQ6SFcsZWFzZUV4cDpGVyxlYXNlRXhwSW46ZnVuY3Rpb24gc2Z0KHQpe3JldHVybiBNYXRoLnBvdygyLDEwKnQtMTApfSxlYXNlRXhwT3V0OmZ1bmN0aW9uIGxmdCh0KXtyZXR1cm4gMS1NYXRoLnBvdygyLC0xMCp0KX0sZWFzZUV4cEluT3V0OkZXLGVhc2VDaXJjbGU6VlcsZWFzZUNpcmNsZUluOmZ1bmN0aW9uIGNmdCh0KXtyZXR1cm4gMS1NYXRoLnNxcnQoMS10KnQpfSxlYXNlQ2lyY2xlT3V0OmZ1bmN0aW9uIHVmdCh0KXtyZXR1cm4gTWF0aC5zcXJ0KDEtIC0tdCp0KX0sZWFzZUNpcmNsZUluT3V0OlZXLGVhc2VCb3VuY2U6R1csZWFzZUJvdW5jZUluOmZ1bmN0aW9uIGhmdCh0KXtyZXR1cm4gMS1HVygxLXQpfSxlYXNlQm91bmNlT3V0OkdXLGVhc2VCb3VuY2VJbk91dDpmdW5jdGlvbiBkZnQodCl7cmV0dXJuKCh0Kj0yKTw9MT8xLUdXKDEtdCk6R1codC0xKSsxKS8yfSxlYXNlQmFjazpYVyxlYXNlQmFja0luOnFXLGVhc2VCYWNrT3V0OllXLGVhc2VCYWNrSW5PdXQ6WFcsZWFzZUVsYXN0aWM6WlcsZWFzZUVsYXN0aWNJbjpLVyxlYXNlRWxhc3RpY091dDpaVyxlYXNlRWxhc3RpY0luT3V0OkpXLGZvcmNlQ2VudGVyOmZ1bmN0aW9uIHBmdCh0LGUpe3ZhciBuO2Z1bmN0aW9uIGkoKXt2YXIgaSxyLG89bi5sZW5ndGgsYT0wLHM9MDtmb3IoaT0wO2k8bzsrK2kpYSs9KHI9bltpXSkueCxzKz1yLnk7Zm9yKGE9YS9vLXQscz1zL28tZSxpPTA7aTxvOysraSkocj1uW2ldKS54LT1hLHIueS09c31yZXR1cm4gbnVsbD09dCYmKHQ9MCksbnVsbD09ZSYmKGU9MCksaS5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe249dH0saS54PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PStlLGkpOnR9LGkueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdCxpKTplfSxpfSxmb3JjZUNvbGxpZGU6ZnVuY3Rpb24gZmZ0KHQpe3ZhciBlLG4saT0xLHI9MTtmdW5jdGlvbiBvKCl7Zm9yKHZhciB0LG8scyxsLGMsdSxoLGQ9ZS5sZW5ndGgscD0wO3A8cjsrK3ApZm9yKG89b3EoZSxjcSx1cSkudmlzaXRBZnRlcihhKSx0PTA7dDxkOysrdCloPSh1PW5bKHM9ZVt0XSkuaW5kZXhdKSp1LGw9cy54K3MudngsYz1zLnkrcy52eSxvLnZpc2l0KGYpO2Z1bmN0aW9uIGYodCxlLG4scixvKXt2YXIgYT10LmRhdGEsZD10LnIscD11K2Q7aWYoIWEpcmV0dXJuIGU+bCtwfHxyPGwtcHx8bj5jK3B8fG88Yy1wO2lmKGEuaW5kZXg+cy5pbmRleCl7dmFyIGY9bC1hLngtYS52eCxtPWMtYS55LWEudnksZz1mKmYrbSptO2c8cCpwJiYoMD09PWYmJihnKz0oZj10cSgpKSpmKSwwPT09bSYmKGcrPShtPXRxKCkpKm0pLGc9KHAtKGc9TWF0aC5zcXJ0KGcpKSkvZyppLHMudngrPShmKj1nKSoocD0oZCo9ZCkvKGgrZCkpLHMudnkrPShtKj1nKSpwLGEudngtPWYqKHA9MS1wKSxhLnZ5LT1tKnApfX19ZnVuY3Rpb24gYSh0KXtpZih0LmRhdGEpcmV0dXJuIHQucj1uW3QuZGF0YS5pbmRleF07Zm9yKHZhciBlPXQucj0wO2U8NDsrK2UpdFtlXSYmdFtlXS5yPnQuciYmKHQucj10W2VdLnIpfWZ1bmN0aW9uIHMoKXtpZihlKXt2YXIgaSxyLG89ZS5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KG8pLGk9MDtpPG87KytpKW5bKHI9ZVtpXSkuaW5kZXhdPSt0KHIsaSxlKX19cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PVFXKG51bGw9PXQ/MTordCkpLG8uaW5pdGlhbGl6ZT1mdW5jdGlvbih0KXtlPXQscygpfSxvLml0ZXJhdGlvbnM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9K3Qsbyk6cn0sby5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxvKTppfSxvLnJhZGl1cz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOlFXKCtlKSxzKCksbyk6dH0sb30sZm9yY2VMaW5rOmZ1bmN0aW9uIG1mdCh0KXt2YXIgZSxuLGkscixvLGE9THEscz1mdW5jdGlvbiBsKHQpe3JldHVybiAxL01hdGgubWluKHJbdC5zb3VyY2UuaW5kZXhdLHJbdC50YXJnZXQuaW5kZXhdKX0sYz1RVygzMCksdT0xO2Z1bmN0aW9uIGgoaSl7Zm9yKHZhciByPTAsYT10Lmxlbmd0aDtyPHU7KytyKWZvcih2YXIgcyxsLGMsaCxkLHAsZixtPTA7bTxhOysrbSloPShjPShzPXRbbV0pLnRhcmdldCkueCtjLnZ4LShsPXMuc291cmNlKS54LWwudnh8fHRxKCksZD1jLnkrYy52eS1sLnktbC52eXx8dHEoKSxkKj1wPSgocD1NYXRoLnNxcnQoaCpoK2QqZCkpLW5bbV0pL3AqaSplW21dLGMudngtPShoKj1wKSooZj1vW21dKSxjLnZ5LT1kKmYsbC52eCs9aCooZj0xLWYpLGwudnkrPWQqZn1mdW5jdGlvbiBkKCl7aWYoaSl7dmFyIHMsbCxjPWkubGVuZ3RoLHU9dC5sZW5ndGgsaD1DcShpLGEpO2ZvcihzPTAscj1uZXcgQXJyYXkoYyk7czx1OysrcykobD10W3NdKS5pbmRleD1zLCJvYmplY3QiIT10eXBlb2YgbC5zb3VyY2UmJihsLnNvdXJjZT1QcShoLGwuc291cmNlKSksIm9iamVjdCIhPXR5cGVvZiBsLnRhcmdldCYmKGwudGFyZ2V0PVBxKGgsbC50YXJnZXQpKSxyW2wuc291cmNlLmluZGV4XT0ocltsLnNvdXJjZS5pbmRleF18fDApKzEscltsLnRhcmdldC5pbmRleF09KHJbbC50YXJnZXQuaW5kZXhdfHwwKSsxO2ZvcihzPTAsbz1uZXcgQXJyYXkodSk7czx1OysrcylvW3NdPXJbKGw9dFtzXSkuc291cmNlLmluZGV4XS8ocltsLnNvdXJjZS5pbmRleF0rcltsLnRhcmdldC5pbmRleF0pO2U9bmV3IEFycmF5KHUpLHAoKSxuPW5ldyBBcnJheSh1KSxmKCl9fWZ1bmN0aW9uIHAoKXtpZihpKWZvcih2YXIgbj0wLHI9dC5sZW5ndGg7bjxyOysrbillW25dPStzKHRbbl0sbix0KX1mdW5jdGlvbiBmKCl7aWYoaSlmb3IodmFyIGU9MCxyPXQubGVuZ3RoO2U8cjsrK2UpbltlXT0rYyh0W2VdLGUsdCl9cmV0dXJuIG51bGw9PXQmJih0PVtdKSxoLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7aT10LGQoKX0saC5saW5rcz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1lLGQoKSxoKTp0fSxoLmlkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPXQsaCk6YX0saC5pdGVyYXRpb25zPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh1PSt0LGgpOnV9LGguc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpRVygrdCkscCgpLGgpOnN9LGguZGlzdGFuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGM9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpRVygrdCksZigpLGgpOmN9LGh9LGZvcmNlTWFueUJvZHk6ZnVuY3Rpb24gZ2Z0KCl7dmFyIHQsZSxuLGkscj1RVygtMzApLG89MSxhPTEvMCxzPS44MTtmdW5jdGlvbiBsKGkpe3ZhciByLG89dC5sZW5ndGgsYT1vcSh0LGVZLG5ZKS52aXNpdEFmdGVyKHUpO2ZvcihuPWkscj0wO3I8bzsrK3IpZT10W3JdLGEudmlzaXQoaCl9ZnVuY3Rpb24gYygpe2lmKHQpe3ZhciBlLG4sbz10Lmxlbmd0aDtmb3IoaT1uZXcgQXJyYXkobyksZT0wO2U8bzsrK2UpaVsobj10W2VdKS5pbmRleF09K3IobixlLHQpfX1mdW5jdGlvbiB1KHQpe3ZhciBlLG4scixvLGEscz0wLGw9MDtpZih0Lmxlbmd0aCl7Zm9yKHI9bz1hPTA7YTw0OysrYSkoZT10W2FdKSYmKG49TWF0aC5hYnMoZS52YWx1ZSkpJiYocys9ZS52YWx1ZSxsKz1uLHIrPW4qZS54LG8rPW4qZS55KTt0Lng9ci9sLHQueT1vL2x9ZWxzZXsoZT10KS54PWUuZGF0YS54LGUueT1lLmRhdGEueTtkb3tzKz1pW2UuZGF0YS5pbmRleF19d2hpbGUoZT1lLm5leHQpfXQudmFsdWU9c31mdW5jdGlvbiBoKHQscixsLGMpe2lmKCF0LnZhbHVlKXJldHVybiEwO3ZhciB1PXQueC1lLngsaD10LnktZS55LGQ9Yy1yLHA9dSp1K2gqaDtpZihkKmQvczxwKXJldHVybiBwPGEmJigwPT09dSYmKHArPSh1PXRxKCkpKnUpLDA9PT1oJiYocCs9KGg9dHEoKSkqaCkscDxvJiYocD1NYXRoLnNxcnQobypwKSksZS52eCs9dSp0LnZhbHVlKm4vcCxlLnZ5Kz1oKnQudmFsdWUqbi9wKSwhMDtpZighKHQubGVuZ3RofHxwPj1hKSl7KHQuZGF0YSE9PWV8fHQubmV4dCkmJigwPT09dSYmKHArPSh1PXRxKCkpKnUpLDA9PT1oJiYocCs9KGg9dHEoKSkqaCkscDxvJiYocD1NYXRoLnNxcnQobypwKSkpO2Rve3QuZGF0YSE9PWUmJihlLnZ4Kz11KihkPWlbdC5kYXRhLmluZGV4XSpuL3ApLGUudnkrPWgqZCl9d2hpbGUodD10Lm5leHQpfX1yZXR1cm4gbC5pbml0aWFsaXplPWZ1bmN0aW9uKGUpe3Q9ZSxjKCl9LGwuc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpRVygrdCksYygpLGwpOnJ9LGwuZGlzdGFuY2VNaW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89dCp0LGwpOk1hdGguc3FydChvKX0sbC5kaXN0YW5jZU1heD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT10KnQsbCk6TWF0aC5zcXJ0KGEpfSxsLnRoZXRhPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPXQqdCxsKTpNYXRoLnNxcnQocyl9LGx9LGZvcmNlUmFkaWFsOmZ1bmN0aW9uIF9mdCh0LGUsbil7dmFyIGkscixvLGE9UVcoLjEpO2Z1bmN0aW9uIHModCl7Zm9yKHZhciBhPTAscz1pLmxlbmd0aDthPHM7KythKXt2YXIgbD1pW2FdLGM9bC54LWV8fDFlLTYsdT1sLnktbnx8MWUtNixoPU1hdGguc3FydChjKmMrdSp1KSxkPShvW2FdLWgpKnJbYV0qdC9oO2wudngrPWMqZCxsLnZ5Kz11KmR9fWZ1bmN0aW9uIGwoKXtpZihpKXt2YXIgZSxuPWkubGVuZ3RoO2ZvcihyPW5ldyBBcnJheShuKSxvPW5ldyBBcnJheShuKSxlPTA7ZTxuOysrZSlvW2VdPSt0KGlbZV0sZSxpKSxyW2VdPWlzTmFOKG9bZV0pPzA6K2EoaVtlXSxlLGkpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9UVcoK3QpKSxudWxsPT1lJiYoZT0wKSxudWxsPT1uJiYobj0wKSxzLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7aT10LGwoKX0scy5zdHJlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlFXKCt0KSxsKCkscyk6YX0scy5yYWRpdXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpRVygrZSksbCgpLHMpOnR9LHMueD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdCxzKTplfSxzLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3Qscyk6bn0sc30sZm9yY2VTaW11bGF0aW9uOmZ1bmN0aW9uIHlmdCh0KXt2YXIgZSxuPTEsaT0uMDAxLHI9MS1NYXRoLnBvdyhpLDEvMzAwKSxvPTAsYT0uNixzPUNxKCksbD1acSh1KSxjPUlxKCJ0aWNrIiwiZW5kIik7ZnVuY3Rpb24gdSgpe2goKSxjLmNhbGwoInRpY2siLGUpLG48aSYmKGwuc3RvcCgpLGMuY2FsbCgiZW5kIixlKSl9ZnVuY3Rpb24gaCgpe3ZhciBlLGksbD10Lmxlbmd0aDtmb3Iobis9KG8tbikqcixzLmVhY2goKGZ1bmN0aW9uKHQpe3Qobil9KSksZT0wO2U8bDsrK2UpbnVsbD09KGk9dFtlXSkuZng/aS54Kz1pLnZ4Kj1hOihpLng9aS5meCxpLnZ4PTApLG51bGw9PWkuZnk/aS55Kz1pLnZ5Kj1hOihpLnk9aS5meSxpLnZ5PTApfWZ1bmN0aW9uIGQoKXtmb3IodmFyIGUsbj0wLGk9dC5sZW5ndGg7bjxpOysrbil7aWYoKGU9dFtuXSkuaW5kZXg9bixpc05hTihlLngpfHxpc05hTihlLnkpKXt2YXIgcj0xMCpNYXRoLnNxcnQobiksbz1uKnJZO2UueD1yKk1hdGguY29zKG8pLGUueT1yKk1hdGguc2luKG8pfShpc05hTihlLnZ4KXx8aXNOYU4oZS52eSkpJiYoZS52eD1lLnZ5PTApfX1mdW5jdGlvbiBwKGUpe3JldHVybiBlLmluaXRpYWxpemUmJmUuaW5pdGlhbGl6ZSh0KSxlfXJldHVybiBudWxsPT10JiYodD1bXSksZCgpLGU9e3RpY2s6aCxyZXN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucmVzdGFydCh1KSxlfSxzdG9wOmZ1bmN0aW9uKCl7cmV0dXJuIGwuc3RvcCgpLGV9LG5vZGVzOmZ1bmN0aW9uKG4pe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PW4sZCgpLHMuZWFjaChwKSxlKTp0fSxhbHBoYTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj0rdCxlKTpufSxhbHBoYU1pbjpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rdCxlKTppfSxhbHBoYURlY2F5OmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSt0LGUpOityfSxhbHBoYVRhcmdldDpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0rdCxlKTpvfSx2ZWxvY2l0eURlY2F5OmZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPTEtdCxlKToxLWF9LGZvcmNlOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT8obnVsbD09bj9zLnJlbW92ZSh0KTpzLnNldCh0LHAobikpLGUpOnMuZ2V0KHQpfSxmaW5kOmZ1bmN0aW9uKGUsbixpKXt2YXIgcixvLGEscyxsLGM9MCx1PXQubGVuZ3RoO2ZvcihudWxsPT1pP2k9MS8wOmkqPWksYz0wO2M8dTsrK2MpKGE9KHI9ZS0ocz10W2NdKS54KSpyKyhvPW4tcy55KSpvKTxpJiYobD1zLGk9YSk7cmV0dXJuIGx9LG9uOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT8oYy5vbih0LG4pLGUpOmMub24odCl9fX0sZm9yY2VYOmZ1bmN0aW9uIHZmdCh0KXt2YXIgZSxuLGkscj1RVyguMSk7ZnVuY3Rpb24gbyh0KXtmb3IodmFyIHIsbz0wLGE9ZS5sZW5ndGg7bzxhOysrbykocj1lW29dKS52eCs9KGlbb10tci54KSpuW29dKnR9ZnVuY3Rpb24gYSgpe2lmKGUpe3ZhciBvLGE9ZS5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KGEpLGk9bmV3IEFycmF5KGEpLG89MDtvPGE7KytvKW5bb109aXNOYU4oaVtvXT0rdChlW29dLG8sZSkpPzA6K3IoZVtvXSxvLGUpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9UVcobnVsbD09dD8wOit0KSksby5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe2U9dCxhKCl9LG8uc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpRVygrdCksYSgpLG8pOnJ9LG8ueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOlFXKCtlKSxhKCksbyk6dH0sb30sZm9yY2VZOmZ1bmN0aW9uIGJmdCh0KXt2YXIgZSxuLGkscj1RVyguMSk7ZnVuY3Rpb24gbyh0KXtmb3IodmFyIHIsbz0wLGE9ZS5sZW5ndGg7bzxhOysrbykocj1lW29dKS52eSs9KGlbb10tci55KSpuW29dKnR9ZnVuY3Rpb24gYSgpe2lmKGUpe3ZhciBvLGE9ZS5sZW5ndGg7Zm9yKG49bmV3IEFycmF5KGEpLGk9bmV3IEFycmF5KGEpLG89MDtvPGE7KytvKW5bb109aXNOYU4oaVtvXT0rdChlW29dLG8sZSkpPzA6K3IoZVtvXSxvLGUpfX1yZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9UVcobnVsbD09dD8wOit0KSksby5pbml0aWFsaXplPWZ1bmN0aW9uKHQpe2U9dCxhKCl9LG8uc3RyZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpRVygrdCksYSgpLG8pOnJ9LG8ueT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOlFXKCtlKSxhKCksbyk6dH0sb30sZm9ybWF0RGVmYXVsdExvY2FsZTpiWSxnZXQgZm9ybWF0KCl7cmV0dXJuIGdZfSxnZXQgZm9ybWF0UHJlZml4KCl7cmV0dXJuIF9ZfSxmb3JtYXRMb2NhbGU6dlksZm9ybWF0U3BlY2lmaWVyOmRZLHByZWNpc2lvbkZpeGVkOmZ1bmN0aW9uIHhmdCh0KXtyZXR1cm4gTWF0aC5tYXgoMCwtYVkoTWF0aC5hYnModCkpKX0scHJlY2lzaW9uUHJlZml4OmZ1bmN0aW9uIHdmdCh0LGUpe3JldHVybiBNYXRoLm1heCgwLDMqTWF0aC5tYXgoLTgsTWF0aC5taW4oOCxNYXRoLmZsb29yKGFZKGUpLzMpKSktYVkoTWF0aC5hYnModCkpKX0scHJlY2lzaW9uUm91bmQ6ZnVuY3Rpb24gU2Z0KHQsZSl7cmV0dXJuIHQ9TWF0aC5hYnModCksZT1NYXRoLmFicyhlKS10LE1hdGgubWF4KDAsYVkoZSktYVkodCkpKzF9LGdlb0FyZWE6ZnVuY3Rpb24gTWZ0KHQpe3JldHVybiBhWC5yZXNldCgpLFFZKHQsc1gpLDIqYVh9LGdlb0JvdW5kczpmdW5jdGlvbiBFZnQodCl7dmFyIGUsbixpLHIsbyxhLHM7aWYod1g9eFg9LSh2WD1iWD0xLzApLENYPVtdLFFZKHQscVgpLG49Q1gubGVuZ3RoKXtmb3IoQ1guc29ydChlJCksZT0xLG89W2k9Q1hbMF1dO2U8bjsrK2UpbiQoaSwocj1DWFtlXSlbMF0pfHxuJChpLHJbMV0pPyh0JChpWzBdLHJbMV0pPnQkKGlbMF0saVsxXSkmJihpWzFdPXJbMV0pLHQkKHJbMF0saVsxXSk+dCQoaVswXSxpWzFdKSYmKGlbMF09clswXSkpOm8ucHVzaChpPXIpO2ZvcihhPS0xLzAsZT0wLGk9b1tuPW8ubGVuZ3RoLTFdO2U8PW47aT1yLCsrZSkocz10JChpWzFdLChyPW9bZV0pWzBdKSk+YSYmKGE9cyx2WD1yWzBdLHhYPWlbMV0pfXJldHVybiBDWD1BWD1udWxsLHZYPT09MS8wfHxiWD09PTEvMD9bW05hTixOYU5dLFtOYU4sTmFOXV06W1t2WCxiWF0sW3hYLHdYXV19LGdlb0NlbnRyb2lkOmZ1bmN0aW9uIFRmdCh0KXtrWD1MWD1QWD1OWD1JWD1SWD1PWD16WD1EWD1CWD1IWD0wLFFZKHQsaSQpO3ZhciBlPURYLG49QlgsaT1IWCxyPWUqZStuKm4raSppO3JldHVybiByPDFlLTEyJiYoZT1SWCxuPU9YLGk9elgsTFg8RVkmJihlPVBYLG49TlgsaT1JWCksKHI9ZSplK24qbitpKmkpPDFlLTEyKT9bTmFOLE5hTl06W1JZKG4sZSkqTFksV1koaS9VWShyKSkqTFldfSxnZW9DaXJjbGU6ZnVuY3Rpb24gQ2Z0KCl7dmFyIHQsZSxuPWYkKFswLDBdKSxpPWYkKDkwKSxyPWYkKDYpLG89e3BvaW50OmZ1bmN0aW9uIGEobixpKXt0LnB1c2gobj1lKG4saSkpLG5bMF0qPUxZLG5bMV0qPUxZfX07ZnVuY3Rpb24gcygpe3ZhciBhPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpLHM9aS5hcHBseSh0aGlzLGFyZ3VtZW50cykqUFksbD1yLmFwcGx5KHRoaXMsYXJndW1lbnRzKSpQWTtyZXR1cm4gdD1bXSxlPV8kKC1hWzBdKlBZLC1hWzFdKlBZLDApLmludmVydCx3JChvLHMsbCwxKSxhPXt0eXBlOiJQb2x5Z29uIixjb29yZGluYXRlczpbdF19LHQ9ZT1udWxsLGF9cmV0dXJuIHMuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6ZiQoWyt0WzBdLCt0WzFdXSkscyk6bn0scy5yYWRpdXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpmJCgrdCkscyk6aX0scy5wcmVjaXNpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpmJCgrdCkscyk6cn0sc30sZ2VvQ2xpcEFudGltZXJpZGlhbjpCJCxnZW9DbGlwQ2lyY2xlOlYkLGdlb0NsaXBFeHRlbnQ6ZnVuY3Rpb24gQWZ0KCl7dmFyIHQsZSxuLGk9MCxyPTAsbz05NjAsYT01MDA7cmV0dXJuIG49e3N0cmVhbTpmdW5jdGlvbihuKXtyZXR1cm4gdCYmZT09PW4/dDp0PUckKGkscixvLGEpKGU9bil9LGV4dGVudDpmdW5jdGlvbihzKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0rc1swXVswXSxyPStzWzBdWzFdLG89K3NbMV1bMF0sYT0rc1sxXVsxXSx0PWU9bnVsbCxuKTpbW2kscl0sW28sYV1dfX19LGdlb0NsaXBSZWN0YW5nbGU6RyQsZ2VvQ29udGFpbnM6ZnVuY3Rpb24ga2Z0KHQsZSl7cmV0dXJuKHQmJnJLLmhhc093blByb3BlcnR5KHQudHlwZSk/cktbdC50eXBlXTphSykodCxlKX0sZ2VvRGlzdGFuY2U6aUssZ2VvR3JhdGljdWxlOmZLLGdlb0dyYXRpY3VsZTEwOmZ1bmN0aW9uIExmdCgpe3JldHVybiBmSygpKCl9LGdlb0ludGVycG9sYXRlOmZ1bmN0aW9uIFBmdCh0LGUpe3ZhciBuPXRbMF0qUFksaT10WzFdKlBZLHI9ZVswXSpQWSxvPWVbMV0qUFksYT1PWShpKSxzPUZZKGkpLGw9T1kobyksYz1GWShvKSx1PWEqT1kobiksaD1hKkZZKG4pLGQ9bCpPWShyKSxwPWwqRlkociksZj0yKldZKFVZKHFZKG8taSkrYSpsKnFZKHItbikpKSxtPUZZKGYpLGc9Zj9mdW5jdGlvbih0KXt2YXIgZT1GWSh0Kj1mKS9tLG49RlkoZi10KS9tLGk9bip1K2UqZCxyPW4qaCtlKnAsbz1uKnMrZSpjO3JldHVybltSWShyLGkpKkxZLFJZKG8sVVkoaSppK3IqcikpKkxZXX06ZnVuY3Rpb24oKXtyZXR1cm5bbipMWSxpKkxZXX07cmV0dXJuIGcuZGlzdGFuY2U9ZixnfSxnZW9MZW5ndGg6dEssZ2VvUGF0aDpmdW5jdGlvbiBOZnQodCxlKXt2YXIgbixpLHI9NC41O2Z1bmN0aW9uIG8odCl7cmV0dXJuIHQmJigiZnVuY3Rpb24iPT10eXBlb2YgciYmaS5wb2ludFJhZGl1cygrci5hcHBseSh0aGlzLGFyZ3VtZW50cykpLFFZKHQsbihpKSkpLGkucmVzdWx0KCl9cmV0dXJuIG8uYXJlYT1mdW5jdGlvbih0KXtyZXR1cm4gUVkodCxuKHdLKSksd0sucmVzdWx0KCl9LG8ubWVhc3VyZT1mdW5jdGlvbih0KXtyZXR1cm4gUVkodCxuKGNaKSksY1oucmVzdWx0KCl9LG8uYm91bmRzPWZ1bmN0aW9uKHQpe3JldHVybiBRWSh0LG4oUEspKSxQSy5yZXN1bHQoKX0sby5jZW50cm9pZD1mdW5jdGlvbih0KXtyZXR1cm4gUVkodCxuKHFLKSkscUsucmVzdWx0KCl9LG8ucHJvamVjdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1udWxsPT1lPyh0PW51bGwsbUspOih0PWUpLnN0cmVhbSxvKTp0fSxvLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9bnVsbD09dD8oZT1udWxsLG5ldyBkWik6bmV3IG5aKGU9dCksImZ1bmN0aW9uIiE9dHlwZW9mIHImJmkucG9pbnRSYWRpdXMociksbyk6ZX0sby5wb2ludFJhZGl1cz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0iZnVuY3Rpb24iPT10eXBlb2YgdD90OihpLnBvaW50UmFkaXVzKCt0KSwrdCksbyk6cn0sby5wcm9qZWN0aW9uKHQpLmNvbnRleHQoZSl9LGdlb0FsYmVyczprWixnZW9BbGJlcnNVc2E6ZnVuY3Rpb24gSWZ0KCl7dmFyIHQsZSxuLGkscixvLGE9a1ooKSxzPUFaKCkucm90YXRlKFsxNTQsMF0pLmNlbnRlcihbLTIsNTguNV0pLnBhcmFsbGVscyhbNTUsNjVdKSxsPUFaKCkucm90YXRlKFsxNTcsMF0pLmNlbnRlcihbLTMsMTkuOV0pLnBhcmFsbGVscyhbOCwxOF0pLGM9e3BvaW50OmZ1bmN0aW9uKHQsZSl7bz1bdCxlXX19O2Z1bmN0aW9uIHUodCl7dmFyIGU9dFswXSxhPXRbMV07cmV0dXJuIG89bnVsbCxuLnBvaW50KGUsYSksb3x8KGkucG9pbnQoZSxhKSxvKXx8KHIucG9pbnQoZSxhKSxvKX1mdW5jdGlvbiBoKCl7cmV0dXJuIHQ9ZT1udWxsLHV9cmV0dXJuIHUuaW52ZXJ0PWZ1bmN0aW9uKHQpe3ZhciBlPWEuc2NhbGUoKSxuPWEudHJhbnNsYXRlKCksaT0odFswXS1uWzBdKS9lLHI9KHRbMV0tblsxXSkvZTtyZXR1cm4ocj49LjEyJiZyPC4yMzQmJmk+PS0uNDI1JiZpPC0uMjE0P3M6cj49LjE2NiYmcjwuMjM0JiZpPj0tLjIxNCYmaTwtLjExNT9sOmEpLmludmVydCh0KX0sdS5zdHJlYW09ZnVuY3Rpb24obil7cmV0dXJuIHQmJmU9PT1uP3Q6dD0oZnVuY3Rpb24gaSh0KXt2YXIgZT10Lmxlbmd0aDtyZXR1cm57cG9pbnQ6ZnVuY3Rpb24obixpKXtmb3IodmFyIHI9LTE7KytyPGU7KXRbcl0ucG9pbnQobixpKX0sc3BoZXJlOmZ1bmN0aW9uKCl7Zm9yKHZhciBuPS0xOysrbjxlOyl0W25dLnNwaGVyZSgpfSxsaW5lU3RhcnQ6ZnVuY3Rpb24oKXtmb3IodmFyIG49LTE7KytuPGU7KXRbbl0ubGluZVN0YXJ0KCl9LGxpbmVFbmQ6ZnVuY3Rpb24oKXtmb3IodmFyIG49LTE7KytuPGU7KXRbbl0ubGluZUVuZCgpfSxwb2x5Z29uU3RhcnQ6ZnVuY3Rpb24oKXtmb3IodmFyIG49LTE7KytuPGU7KXRbbl0ucG9seWdvblN0YXJ0KCl9LHBvbHlnb25FbmQ6ZnVuY3Rpb24oKXtmb3IodmFyIG49LTE7KytuPGU7KXRbbl0ucG9seWdvbkVuZCgpfX19KShbYS5zdHJlYW0oZT1uKSxzLnN0cmVhbShuKSxsLnN0cmVhbShuKV0pfSx1LnByZWNpc2lvbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYS5wcmVjaXNpb24odCkscy5wcmVjaXNpb24odCksbC5wcmVjaXNpb24odCksaCgpKTphLnByZWNpc2lvbigpfSx1LnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhLnNjYWxlKHQpLHMuc2NhbGUoLjM1KnQpLGwuc2NhbGUodCksdS50cmFuc2xhdGUoYS50cmFuc2xhdGUoKSkpOmEuc2NhbGUoKX0sdS50cmFuc2xhdGU9ZnVuY3Rpb24odCl7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGEudHJhbnNsYXRlKCk7dmFyIGU9YS5zY2FsZSgpLG89K3RbMF0sdT0rdFsxXTtyZXR1cm4gbj1hLnRyYW5zbGF0ZSh0KS5jbGlwRXh0ZW50KFtbby0uNDU1KmUsdS0uMjM4KmVdLFtvKy40NTUqZSx1Ky4yMzgqZV1dKS5zdHJlYW0oYyksaT1zLnRyYW5zbGF0ZShbby0uMzA3KmUsdSsuMjAxKmVdKS5jbGlwRXh0ZW50KFtbby0uNDI1KmUrRVksdSsuMTIqZStFWV0sW28tLjIxNCplLUVZLHUrLjIzNCplLUVZXV0pLnN0cmVhbShjKSxyPWwudHJhbnNsYXRlKFtvLS4yMDUqZSx1Ky4yMTIqZV0pLmNsaXBFeHRlbnQoW1tvLS4yMTQqZStFWSx1Ky4xNjYqZStFWV0sW28tLjExNSplLUVZLHUrLjIzNCplLUVZXV0pLnN0cmVhbShjKSxoKCl9LHUuZml0RXh0ZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIF9aKHUsdCxlKX0sdS5maXRTaXplPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHlaKHUsdCxlKX0sdS5maXRXaWR0aD1mdW5jdGlvbih0LGUpe3JldHVybiB2Wih1LHQsZSl9LHUuZml0SGVpZ2h0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGJaKHUsdCxlKX0sdS5zY2FsZSgxMDcwKX0sZ2VvQXppbXV0aGFsRXF1YWxBcmVhOmZ1bmN0aW9uIFJmdCgpe3JldHVybiBNWihOWikuc2NhbGUoMTI0Ljc1KS5jbGlwQW5nbGUoMTc5Ljk5OSl9LGdlb0F6aW11dGhhbEVxdWFsQXJlYVJhdzpOWixnZW9BemltdXRoYWxFcXVpZGlzdGFudDpmdW5jdGlvbiBPZnQoKXtyZXR1cm4gTVooSVopLnNjYWxlKDc5LjQxODgpLmNsaXBBbmdsZSgxNzkuOTk5KX0sZ2VvQXppbXV0aGFsRXF1aWRpc3RhbnRSYXc6SVosZ2VvQ29uaWNDb25mb3JtYWw6ZnVuY3Rpb24gemZ0KCl7cmV0dXJuIFRaKERaKS5zY2FsZSgxMDkuNSkucGFyYWxsZWxzKFszMCwzMF0pfSxnZW9Db25pY0NvbmZvcm1hbFJhdzpEWixnZW9Db25pY0VxdWFsQXJlYTpBWixnZW9Db25pY0VxdWFsQXJlYVJhdzpDWixnZW9Db25pY0VxdWlkaXN0YW50OmZ1bmN0aW9uIERmdCgpe3JldHVybiBUWihIWikuc2NhbGUoMTMxLjE1NCkuY2VudGVyKFswLDEzLjkzODldKX0sZ2VvQ29uaWNFcXVpZGlzdGFudFJhdzpIWixnZW9FcXVpcmVjdGFuZ3VsYXI6ZnVuY3Rpb24gQmZ0KCl7cmV0dXJuIE1aKEJaKS5zY2FsZSgxNTIuNjMpfSxnZW9FcXVpcmVjdGFuZ3VsYXJSYXc6QlosZ2VvR25vbW9uaWM6ZnVuY3Rpb24gSGZ0KCl7cmV0dXJuIE1aKEZaKS5zY2FsZSgxNDQuMDQ5KS5jbGlwQW5nbGUoNjApfSxnZW9Hbm9tb25pY1JhdzpGWixnZW9JZGVudGl0eTpmdW5jdGlvbiBGZnQoKXt2YXIgdCxlLG4saSxyLG8sYT0xLHM9MCxsPTAsYz0xLHU9MSxoPW1LLGQ9bnVsbCxwPW1LO2Z1bmN0aW9uIGYoKXtyZXR1cm4gaT1yPW51bGwsb31yZXR1cm4gbz17c3RyZWFtOmZ1bmN0aW9uKHQpe3JldHVybiBpJiZyPT09dD9pOmk9aChwKHI9dCkpfSxwb3N0Y2xpcDpmdW5jdGlvbihpKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocD1pLGQ9dD1lPW49bnVsbCxmKCkpOnB9LGNsaXBFeHRlbnQ6ZnVuY3Rpb24oaSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHA9bnVsbD09aT8oZD10PWU9bj1udWxsLG1LKTpHJChkPStpWzBdWzBdLHQ9K2lbMF1bMV0sZT0raVsxXVswXSxuPStpWzFdWzFdKSxmKCkpOm51bGw9PWQ/bnVsbDpbW2QsdF0sW2Usbl1dfSxzY2FsZTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaD1WWigoYT0rdCkqYyxhKnUscyxsKSxmKCkpOmF9LHRyYW5zbGF0ZTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaD1WWihhKmMsYSp1LHM9K3RbMF0sbD0rdFsxXSksZigpKTpbcyxsXX0scmVmbGVjdFg6ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGg9VlooYSooYz10Py0xOjEpLGEqdSxzLGwpLGYoKSk6YzwwfSxyZWZsZWN0WTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaD1WWihhKmMsYSoodT10Py0xOjEpLHMsbCksZigpKTp1PDB9LGZpdEV4dGVudDpmdW5jdGlvbih0LGUpe3JldHVybiBfWihvLHQsZSl9LGZpdFNpemU6ZnVuY3Rpb24odCxlKXtyZXR1cm4geVoobyx0LGUpfSxmaXRXaWR0aDpmdW5jdGlvbih0LGUpe3JldHVybiB2WihvLHQsZSl9LGZpdEhlaWdodDpmdW5jdGlvbih0LGUpe3JldHVybiBiWihvLHQsZSl9fX0sZ2VvUHJvamVjdGlvbjpNWixnZW9Qcm9qZWN0aW9uTXV0YXRvcjpFWixnZW9NZXJjYXRvcjpmdW5jdGlvbiBWZnQoKXtyZXR1cm4gT1ooUlopLnNjYWxlKDk2MS9rWSl9LGdlb01lcmNhdG9yUmF3OlJaLGdlb05hdHVyYWxFYXJ0aDE6ZnVuY3Rpb24gVWZ0KCl7cmV0dXJuIE1aKFVaKS5zY2FsZSgxNzUuMjk1KX0sZ2VvTmF0dXJhbEVhcnRoMVJhdzpVWixnZW9PcnRob2dyYXBoaWM6ZnVuY3Rpb24gamZ0KCl7cmV0dXJuIE1aKGpaKS5zY2FsZSgyNDkuNSkuY2xpcEFuZ2xlKDkwLjAwMDAwMSl9LGdlb09ydGhvZ3JhcGhpY1JhdzpqWixnZW9TdGVyZW9ncmFwaGljOmZ1bmN0aW9uIEdmdCgpe3JldHVybiBNWihHWikuc2NhbGUoMjUwKS5jbGlwQW5nbGUoMTQyKX0sZ2VvU3RlcmVvZ3JhcGhpY1JhdzpHWixnZW9UcmFuc3ZlcnNlTWVyY2F0b3I6ZnVuY3Rpb24gV2Z0KCl7dmFyIHQ9T1ooV1opLGU9dC5jZW50ZXIsbj10LnJvdGF0ZTtyZXR1cm4gdC5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/ZShbLXRbMV0sdFswXV0pOlsodD1lKCkpWzFdLC10WzBdXX0sdC5yb3RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/bihbdFswXSx0WzFdLHQubGVuZ3RoPjI/dFsyXSs5MDo5MF0pOlsodD1uKCkpWzBdLHRbMV0sdFsyXS05MF19LG4oWzAsMCw5MF0pLnNjYWxlKDE1OS4xNTUpfSxnZW9UcmFuc3ZlcnNlTWVyY2F0b3JSYXc6V1osZ2VvUm90YXRpb246eCQsZ2VvU3RyZWFtOlFZLGdlb1RyYW5zZm9ybTpmdW5jdGlvbiBxZnQodCl7cmV0dXJue3N0cmVhbTpmWih0KX19LGNsdXN0ZXI6ZnVuY3Rpb24gWWZ0KCl7dmFyIHQ9cVosZT0xLG49MSxpPSExO2Z1bmN0aW9uIHIocil7dmFyIG8sYT0wO3IuZWFjaEFmdGVyKChmdW5jdGlvbihlKXt2YXIgbj1lLmNoaWxkcmVuO24/KGUueD0oZnVuY3Rpb24gaSh0KXtyZXR1cm4gdC5yZWR1Y2UoWVosMCkvdC5sZW5ndGh9KShuKSxlLnk9KGZ1bmN0aW9uIHIodCl7cmV0dXJuIDErdC5yZWR1Y2UoWFosMCl9KShuKSk6KGUueD1vP2ErPXQoZSxvKTowLGUueT0wLG89ZSl9KSk7dmFyIHM9KGZ1bmN0aW9uIGwodCl7Zm9yKHZhciBlO2U9dC5jaGlsZHJlbjspdD1lWzBdO3JldHVybiB0fSkociksYz0oZnVuY3Rpb24gdSh0KXtmb3IodmFyIGU7ZT10LmNoaWxkcmVuOyl0PWVbZS5sZW5ndGgtMV07cmV0dXJuIHR9KShyKSxoPXMueC10KHMsYykvMixkPWMueCt0KGMscykvMjtyZXR1cm4gci5lYWNoQWZ0ZXIoaT9mdW5jdGlvbih0KXt0Lng9KHQueC1yLngpKmUsdC55PShyLnktdC55KSpufTpmdW5jdGlvbih0KXt0Lng9KHQueC1oKS8oZC1oKSplLHQueT0oMS0oci55P3QueS9yLnk6MSkpKm59KX1yZXR1cm4gci5zZXBhcmF0aW9uPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PWUscik6dH0sci5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSExLGU9K3RbMF0sbj0rdFsxXSxyKTppP251bGw6W2Usbl19LHIubm9kZVNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ITAsZT0rdFswXSxuPSt0WzFdLHIpOmk/W2Usbl06bnVsbH0scn0saGllcmFyY2h5OktaLHBhY2s6ZnVuY3Rpb24gWGZ0KCl7dmFyIHQ9bnVsbCxlPTEsbj0xLGk9a0o7ZnVuY3Rpb24gcihyKXtyZXR1cm4gci54PWUvMixyLnk9bi8yLHQ/ci5lYWNoQmVmb3JlKE5KKHQpKS5lYWNoQWZ0ZXIoSUooaSwuNSkpLmVhY2hCZWZvcmUoUkooMSkpOnIuZWFjaEJlZm9yZShOSihQSikpLmVhY2hBZnRlcihJSihrSiwxKSkuZWFjaEFmdGVyKElKKGksci5yL01hdGgubWluKGUsbikpKS5lYWNoQmVmb3JlKFJKKE1hdGgubWluKGUsbikvKDIqci5yKSkpLHJ9cmV0dXJuIHIucmFkaXVzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PUNKKGUpLHIpOnR9LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0rdFswXSxuPSt0WzFdLHIpOltlLG5dfSxyLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpMSigrdCkscik6aX0scn0scGFja1NpYmxpbmdzOmZ1bmN0aW9uICRmdCh0KXtyZXR1cm4gVEoodCksdH0scGFja0VuY2xvc2U6ZkoscGFydGl0aW9uOmZ1bmN0aW9uIEtmdCgpe3ZhciB0PTEsZT0xLG49MCxpPSExO2Z1bmN0aW9uIHIocil7dmFyIG89ci5oZWlnaHQrMTtyZXR1cm4gci54MD1yLnkwPW4sci54MT10LHIueTE9ZS9vLHIuZWFjaEJlZm9yZSgoZnVuY3Rpb24gYSh0LGUpe3JldHVybiBmdW5jdGlvbihpKXtpLmNoaWxkcmVuJiZ6SihpLGkueDAsdCooaS5kZXB0aCsxKS9lLGkueDEsdCooaS5kZXB0aCsyKS9lKTt2YXIgcj1pLngwLG89aS55MCxhPWkueDEtbixzPWkueTEtbjthPHImJihyPWE9KHIrYSkvMiksczxvJiYobz1zPShvK3MpLzIpLGkueDA9cixpLnkwPW8saS54MT1hLGkueTE9c319KShlLG8pKSxpJiZyLmVhY2hCZWZvcmUoT0opLHJ9cmV0dXJuIHIucm91bmQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ISF0LHIpOml9LHIuc2l6ZT1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0rblswXSxlPStuWzFdLHIpOlt0LGVdfSxyLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3Qscik6bn0scn0sc3RyYXRpZnk6ZnVuY3Rpb24gWmZ0KCl7dmFyIHQ9SEosZT1GSjtmdW5jdGlvbiBuKG4pe3ZhciBpLHIsbyxhLHMsbCxjLHU9bi5sZW5ndGgsaD1uZXcgQXJyYXkodSksZD17fTtmb3Iocj0wO3I8dTsrK3Ipcz1oW3JdPW5ldyB0SihpPW5bcl0pLG51bGwhPShsPXQoaSxyLG4pKSYmKGwrPSIiKSYmKGRbYz0iJCIrKHMuaWQ9bCldPWMgaW4gZD9CSjpzKTtmb3Iocj0wO3I8dTsrK3IpaWYocz1oW3JdLG51bGwhPShsPWUobltyXSxyLG4pKSYmKGwrPSIiKSl7aWYoIShhPWRbIiQiK2xdKSl0aHJvdyBuZXcgRXJyb3IoIm1pc3Npbmc6ICIrbCk7aWYoYT09PUJKKXRocm93IG5ldyBFcnJvcigiYW1iaWd1b3VzOiAiK2wpO2EuY2hpbGRyZW4/YS5jaGlsZHJlbi5wdXNoKHMpOmEuY2hpbGRyZW49W3NdLHMucGFyZW50PWF9ZWxzZXtpZihvKXRocm93IG5ldyBFcnJvcigibXVsdGlwbGUgcm9vdHMiKTtvPXN9aWYoIW8pdGhyb3cgbmV3IEVycm9yKCJubyByb290Iik7aWYoby5wYXJlbnQ9REosby5lYWNoQmVmb3JlKChmdW5jdGlvbih0KXt0LmRlcHRoPXQucGFyZW50LmRlcHRoKzEsLS11fSkpLmVhY2hCZWZvcmUoUVopLG8ucGFyZW50PW51bGwsdT4wKXRocm93IG5ldyBFcnJvcigiY3ljbGUiKTtyZXR1cm4gb31yZXR1cm4gbi5pZD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1BSihlKSxuKTp0fSxuLnBhcmVudElkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPUFKKHQpLG4pOmV9LG59LHRyZWU6ZnVuY3Rpb24gSmZ0KCl7dmFyIHQ9VkosZT0xLG49MSxpPW51bGw7ZnVuY3Rpb24gcihyKXt2YXIgbD0oZnVuY3Rpb24gYyh0KXtmb3IodmFyIGUsbixpLHIsbyxhPW5ldyBxSih0LDApLHM9W2FdO2U9cy5wb3AoKTspaWYoaT1lLl8uY2hpbGRyZW4pZm9yKGUuY2hpbGRyZW49bmV3IEFycmF5KG89aS5sZW5ndGgpLHI9by0xO3I+PTA7LS1yKXMucHVzaChuPWUuY2hpbGRyZW5bcl09bmV3IHFKKGlbcl0scikpLG4ucGFyZW50PWU7cmV0dXJuKGEucGFyZW50PW5ldyBxSihudWxsLDApKS5jaGlsZHJlbj1bYV0sYX0pKHIpO2lmKGwuZWFjaEFmdGVyKG8pLGwucGFyZW50Lm09LWwueixsLmVhY2hCZWZvcmUoYSksaSlyLmVhY2hCZWZvcmUocyk7ZWxzZXt2YXIgdT1yLGg9cixkPXI7ci5lYWNoQmVmb3JlKChmdW5jdGlvbih0KXt0Lng8dS54JiYodT10KSx0Lng+aC54JiYoaD10KSx0LmRlcHRoPmQuZGVwdGgmJihkPXQpfSkpO3ZhciBwPXU9PT1oPzE6dCh1LGgpLzIsZj1wLXUueCxtPWUvKGgueCtwK2YpLGc9bi8oZC5kZXB0aHx8MSk7ci5lYWNoQmVmb3JlKChmdW5jdGlvbih0KXt0Lng9KHQueCtmKSptLHQueT10LmRlcHRoKmd9KSl9cmV0dXJuIHJ9ZnVuY3Rpb24gbyhlKXt2YXIgbj1lLmNoaWxkcmVuLGk9ZS5wYXJlbnQuY2hpbGRyZW4scj1lLmk/aVtlLmktMV06bnVsbDtpZihuKXshKGZ1bmN0aW9uIG8odCl7Zm9yKHZhciBlLG49MCxpPTAscj10LmNoaWxkcmVuLG89ci5sZW5ndGg7LS1vPj0wOykoZT1yW29dKS56Kz1uLGUubSs9bixuKz1lLnMrKGkrPWUuYyl9KShlKTt2YXIgYT0oblswXS56K25bbi5sZW5ndGgtMV0ueikvMjtyPyhlLno9ci56K3QoZS5fLHIuXyksZS5tPWUuei1hKTplLno9YX1lbHNlIHImJihlLno9ci56K3QoZS5fLHIuXykpO2UucGFyZW50LkE9KGZ1bmN0aW9uIHMoZSxuLGkpe2lmKG4pe2Zvcih2YXIgcixvPWUsYT1lLHM9bixsPW8ucGFyZW50LmNoaWxkcmVuWzBdLGM9by5tLHU9YS5tLGg9cy5tLGQ9bC5tO3M9akoocyksbz1VSihvKSxzJiZvOylsPVVKKGwpLChhPWpKKGEpKS5hPWUsKHI9cy56K2gtby56LWMrdChzLl8sby5fKSk+MCYmKEdKKFdKKHMsZSxpKSxlLHIpLGMrPXIsdSs9ciksaCs9cy5tLGMrPW8ubSxkKz1sLm0sdSs9YS5tO3MmJiFqSihhKSYmKGEudD1zLGEubSs9aC11KSxvJiYhVUoobCkmJihsLnQ9byxsLm0rPWMtZCxpPWUpfXJldHVybiBpfSkoZSxyLGUucGFyZW50LkF8fGlbMF0pfWZ1bmN0aW9uIGEodCl7dC5fLng9dC56K3QucGFyZW50Lm0sdC5tKz10LnBhcmVudC5tfWZ1bmN0aW9uIHModCl7dC54Kj1lLHQueT10LmRlcHRoKm59cmV0dXJuIHIuc2VwYXJhdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1lLHIpOnR9LHIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0hMSxlPSt0WzBdLG49K3RbMV0scik6aT9udWxsOltlLG5dfSxyLm5vZGVTaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSEwLGU9K3RbMF0sbj0rdFsxXSxyKTppP1tlLG5dOm51bGx9LHJ9LHRyZWVtYXA6ZnVuY3Rpb24gUWZ0KCl7dmFyIHQ9S0osZT0hMSxuPTEsaT0xLHI9WzBdLG89a0osYT1rSixzPWtKLGw9a0osYz1rSjtmdW5jdGlvbiB1KHQpe3JldHVybiB0LngwPXQueTA9MCx0LngxPW4sdC55MT1pLHQuZWFjaEJlZm9yZShoKSxyPVswXSxlJiZ0LmVhY2hCZWZvcmUoT0opLHR9ZnVuY3Rpb24gaChlKXt2YXIgbj1yW2UuZGVwdGhdLGk9ZS54MCtuLHU9ZS55MCtuLGg9ZS54MS1uLGQ9ZS55MS1uO2g8aSYmKGk9aD0oaStoKS8yKSxkPHUmJih1PWQ9KHUrZCkvMiksZS54MD1pLGUueTA9dSxlLngxPWgsZS55MT1kLGUuY2hpbGRyZW4mJihuPXJbZS5kZXB0aCsxXT1vKGUpLzIsaSs9YyhlKS1uLHUrPWEoZSktbiwoaC09cyhlKS1uKTxpJiYoaT1oPShpK2gpLzIpLChkLT1sKGUpLW4pPHUmJih1PWQ9KHUrZCkvMiksdChlLGksdSxoLGQpKX1yZXR1cm4gdS5yb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0hIXQsdSk6ZX0sdS5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSt0WzBdLGk9K3RbMV0sdSk6W24saV19LHUudGlsZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD1BSihlKSx1KTp0fSx1LnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dS5wYWRkaW5nSW5uZXIodCkucGFkZGluZ091dGVyKHQpOnUucGFkZGluZ0lubmVyKCl9LHUucGFkZGluZ0lubmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TEooK3QpLHUpOm99LHUucGFkZGluZ091dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3UucGFkZGluZ1RvcCh0KS5wYWRkaW5nUmlnaHQodCkucGFkZGluZ0JvdHRvbSh0KS5wYWRkaW5nTGVmdCh0KTp1LnBhZGRpbmdUb3AoKX0sdS5wYWRkaW5nVG9wPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TEooK3QpLHUpOmF9LHUucGFkZGluZ1JpZ2h0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TEooK3QpLHUpOnN9LHUucGFkZGluZ0JvdHRvbT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkxKKCt0KSx1KTpsfSx1LnBhZGRpbmdMZWZ0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TEooK3QpLHUpOmN9LHV9LHRyZWVtYXBCaW5hcnk6ZnVuY3Rpb24gdG10KHQsZSxuLGkscil7dmFyIG8sYSxzPXQuY2hpbGRyZW4sbD1zLmxlbmd0aCxjPW5ldyBBcnJheShsKzEpO2ZvcihjWzBdPWE9bz0wO288bDsrK28pY1tvKzFdPWErPXNbb10udmFsdWU7IShmdW5jdGlvbiB0KGUsbixpLHIsbyxhLGwpe2lmKGU+PW4tMSl7dmFyIHU9c1tlXTtyZXR1cm4gdS54MD1yLHUueTA9byx1LngxPWEsdm9pZCh1LnkxPWwpfXZhciBoPWNbZV0sZD1pLzIraCxwPWUrMSxmPW4tMTtmb3IoO3A8Zjspe3ZhciBtPXArZj4+PjE7Y1ttXTxkP3A9bSsxOmY9bX1kLWNbcC0xXTxjW3BdLWQmJmUrMTxwJiYtLXA7dmFyIGc9Y1twXS1oLF89aS1nO2lmKGEtcj5sLW8pe3ZhciB5PShyKl8rYSpnKS9pO3QoZSxwLGcscixvLHksbCksdChwLG4sXyx5LG8sYSxsKX1lbHNle3ZhciB2PShvKl8rbCpnKS9pO3QoZSxwLGcscixvLGEsdiksdChwLG4sXyxyLHYsYSxsKX19KSgwLGwsdC52YWx1ZSxlLG4saSxyKX0sdHJlZW1hcERpY2U6ekosdHJlZW1hcFNsaWNlOllKLHRyZWVtYXBTbGljZURpY2U6ZnVuY3Rpb24gZW10KHQsZSxuLGkscil7KDEmdC5kZXB0aD9ZSjp6SikodCxlLG4saSxyKX0sdHJlZW1hcFNxdWFyaWZ5OktKLHRyZWVtYXBSZXNxdWFyaWZ5OlpKLGludGVycG9sYXRlOkUxLGludGVycG9sYXRlQXJyYXk6eTEsaW50ZXJwb2xhdGVCYXNpczpzMSxpbnRlcnBvbGF0ZUJhc2lzQ2xvc2VkOmwxLGludGVycG9sYXRlRGF0ZTp2MSxpbnRlcnBvbGF0ZU51bWJlcjpiMSxpbnRlcnBvbGF0ZU9iamVjdDp4MSxpbnRlcnBvbGF0ZVJvdW5kOmZ1bmN0aW9uIG5tdCh0LGUpe3JldHVybiBlLT10PSt0LGZ1bmN0aW9uKG4pe3JldHVybiBNYXRoLnJvdW5kKHQrZSpuKX19LGludGVycG9sYXRlU3RyaW5nOk0xLGludGVycG9sYXRlVHJhbnNmb3JtQ3NzOlIxLGludGVycG9sYXRlVHJhbnNmb3JtU3ZnOnoxLGludGVycG9sYXRlWm9vbTpmdW5jdGlvbiBpbXQodCxlKXt2YXIgbixpLHI9dFswXSxvPXRbMV0sYT10WzJdLHM9ZVsyXSxsPWVbMF0tcixjPWVbMV0tbyx1PWwqbCtjKmM7aWYodTwxZS0xMilpPU1hdGgubG9nKHMvYSkvQjEsbj1mdW5jdGlvbih0KXtyZXR1cm5bcit0Kmwsbyt0KmMsYSpNYXRoLmV4cChCMSp0KmkpXX07ZWxzZXt2YXIgaD1NYXRoLnNxcnQodSksZD0ocypzLWEqYSs0KnUpLygyKmEqMipoKSxwPShzKnMtYSphLTQqdSkvKDIqcyoyKmgpLGY9TWF0aC5sb2coTWF0aC5zcXJ0KGQqZCsxKS1kKSxtPU1hdGgubG9nKE1hdGguc3FydChwKnArMSktcCk7aT0obS1mKS9CMSxuPWZ1bmN0aW9uKHQpe3ZhciBlPXQqaSxuPUgxKGYpLHM9YS8oMipoKSoobiooZnVuY3Rpb24gdSh0KXtyZXR1cm4oKHQ9TWF0aC5leHAoMip0KSktMSkvKHQrMSl9KShCMSplK2YpLShmdW5jdGlvbiBkKHQpe3JldHVybigodD1NYXRoLmV4cCh0KSktMS90KS8yfSkoZikpO3JldHVybltyK3MqbCxvK3MqYyxhKm4vSDEoQjEqZStmKV19fXJldHVybiBuLmR1cmF0aW9uPTFlMyppLG59LGludGVycG9sYXRlUmdiOmYxLGludGVycG9sYXRlUmdiQmFzaXM6ZzEsaW50ZXJwb2xhdGVSZ2JCYXNpc0Nsb3NlZDpfMSxpbnRlcnBvbGF0ZUhzbDpWMSxpbnRlcnBvbGF0ZUhzbExvbmc6VTEsaW50ZXJwb2xhdGVMYWI6ZnVuY3Rpb24gcm10KHQsZSl7dmFyIG49cDEoKHQ9SFEodCkpLmwsKGU9SFEoZSkpLmwpLGk9cDEodC5hLGUuYSkscj1wMSh0LmIsZS5iKSxvPXAxKHQub3BhY2l0eSxlLm9wYWNpdHkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5sPW4oZSksdC5hPWkoZSksdC5iPXIoZSksdC5vcGFjaXR5PW8oZSksdCsiIn19LGludGVycG9sYXRlSGNsOkcxLGludGVycG9sYXRlSGNsTG9uZzpXMSxpbnRlcnBvbGF0ZUN1YmVoZWxpeDpZMSxpbnRlcnBvbGF0ZUN1YmVoZWxpeExvbmc6WDEscXVhbnRpemU6ZnVuY3Rpb24gb210KHQsZSl7Zm9yKHZhciBuPW5ldyBBcnJheShlKSxpPTA7aTxlOysraSluW2ldPXQoaS8oZS0xKSk7cmV0dXJuIG59LHBhdGg6dDAscG9seWdvbkFyZWE6ZnVuY3Rpb24gYW10KHQpe2Zvcih2YXIgZSxuPS0xLGk9dC5sZW5ndGgscj10W2ktMV0sbz0wOysrbjxpOylvKz0oZT1yKVsxXSoocj10W25dKVswXS1lWzBdKnJbMV07cmV0dXJuIG8vMn0scG9seWdvbkNlbnRyb2lkOmZ1bmN0aW9uIHNtdCh0KXtmb3IodmFyIGUsbixpPS0xLHI9dC5sZW5ndGgsbz0wLGE9MCxzPXRbci0xXSxsPTA7KytpPHI7KWwrPW49KGU9cylbMF0qKHM9dFtpXSlbMV0tc1swXSplWzFdLG8rPShlWzBdK3NbMF0pKm4sYSs9KGVbMV0rc1sxXSkqbjtyZXR1cm5bby8obCo9MyksYS9sXX0scG9seWdvbkh1bGw6ZnVuY3Rpb24gbG10KHQpe2lmKChuPXQubGVuZ3RoKTwzKXJldHVybiBudWxsO3ZhciBlLG4saT1uZXcgQXJyYXkobikscj1uZXcgQXJyYXkobik7Zm9yKGU9MDtlPG47KytlKWlbZV09Wyt0W2VdWzBdLCt0W2VdWzFdLGVdO2ZvcihpLnNvcnQobjApLGU9MDtlPG47KytlKXJbZV09W2lbZV1bMF0sLWlbZV1bMV1dO3ZhciBvPWkwKGkpLGE9aTAocikscz1hWzBdPT09b1swXSxsPWFbYS5sZW5ndGgtMV09PT1vW28ubGVuZ3RoLTFdLGM9W107Zm9yKGU9by5sZW5ndGgtMTtlPj0wOy0tZSljLnB1c2godFtpW29bZV1dWzJdXSk7Zm9yKGU9K3M7ZTxhLmxlbmd0aC1sOysrZSljLnB1c2godFtpW2FbZV1dWzJdXSk7cmV0dXJuIGN9LHBvbHlnb25Db250YWluczpmdW5jdGlvbiBjbXQodCxlKXtmb3IodmFyIG4saSxyPXQubGVuZ3RoLG89dFtyLTFdLGE9ZVswXSxzPWVbMV0sbD1vWzBdLGM9b1sxXSx1PSExLGg9MDtoPHI7KytoKW49KG89dFtoXSlbMF0sKGk9b1sxXSk+cyE9Yz5zJiZhPChsLW4pKihzLWkpLyhjLWkpK24mJih1PSF1KSxsPW4sYz1pO3JldHVybiB1fSxwb2x5Z29uTGVuZ3RoOmZ1bmN0aW9uIHVtdCh0KXtmb3IodmFyIGUsbixpPS0xLHI9dC5sZW5ndGgsbz10W3ItMV0sYT1vWzBdLHM9b1sxXSxsPTA7KytpPHI7KWU9YSxuPXMsZS09YT0obz10W2ldKVswXSxuLT1zPW9bMV0sbCs9TWF0aC5zcXJ0KGUqZStuKm4pO3JldHVybiBsfSxxdWFkdHJlZTpsMCxxdWV1ZTpJMCxyYW5kb21Vbmlmb3JtOk8wLHJhbmRvbU5vcm1hbDp6MCxyYW5kb21Mb2dOb3JtYWw6RDAscmFuZG9tQmF0ZXM6SDAscmFuZG9tSXJ3aW5IYWxsOkIwLHJhbmRvbUV4cG9uZW50aWFsOkYwLHJlcXVlc3Q6VjAsaHRtbDpqMCxqc29uOkcwLHRleHQ6VzAseG1sOnEwLGNzdjokMCx0c3Y6SzAsc2NhbGVCYW5kOnkyLHNjYWxlUG9pbnQ6ZnVuY3Rpb24gaG10KCl7cmV0dXJuIHYyKHkyKCkucGFkZGluZ0lubmVyKDEpKX0sc2NhbGVJZGVudGl0eTpmdW5jdGlvbiB0KCl7dmFyIGU9WzAsMV07ZnVuY3Rpb24gbih0KXtyZXR1cm4rdH1yZXR1cm4gbi5pbnZlcnQ9bixuLmRvbWFpbj1uLnJhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPWYyLmNhbGwodCxQNSksbik6ZS5zbGljZSgpfSxuLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLmRvbWFpbihlKX0sbjMobil9LHNjYWxlTGluZWFyOmZ1bmN0aW9uIHQoKXt2YXIgZT1ENShJNSxiNSk7cmV0dXJuIGUuY29weT1mdW5jdGlvbigpe3JldHVybiB6NShlLHQoKSl9LG4zKGUpfSxzY2FsZUxvZzpmdW5jdGlvbiB0KCl7dmFyIGU9RDUocjMsbzMpLmRvbWFpbihbMSwxMF0pLG49ZS5kb21haW4saT0xMCxyPWwzKDEwKSxvPXMzKDEwKTtmdW5jdGlvbiBhKCl7cmV0dXJuIHI9bDMoaSksbz1zMyhpKSxuKClbMF08MCYmKHI9YzMociksbz1jMyhvKSksZX1yZXR1cm4gZS5iYXNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSt0LGEoKSk6aX0sZS5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG4odCksYSgpKTpuKCl9LGUudGlja3M9ZnVuY3Rpb24odCl7dmFyIGUsYT1uKCkscz1hWzBdLGw9YVthLmxlbmd0aC0xXTsoZT1sPHMpJiYoZD1zLHM9bCxsPWQpO3ZhciBjLHUsaCxkPXIocykscD1yKGwpLGY9bnVsbD09dD8xMDordCxtPVtdO2lmKCEoaSUxKSYmcC1kPGYpe2lmKGQ9TWF0aC5yb3VuZChkKS0xLHA9TWF0aC5yb3VuZChwKSsxLHM+MCl7Zm9yKDtkPHA7KytkKWZvcih1PTEsYz1vKGQpO3U8aTsrK3UpaWYoISgoaD1jKnUpPHMpKXtpZihoPmwpYnJlYWs7bS5wdXNoKGgpfX1lbHNlIGZvcig7ZDxwOysrZClmb3IodT1pLTEsYz1vKGQpO3U+PTE7LS11KWlmKCEoKGg9Yyp1KTxzKSl7aWYoaD5sKWJyZWFrO20ucHVzaChoKX19ZWxzZSBtPXIyKGQscCxNYXRoLm1pbihwLWQsZikpLm1hcChvKTtyZXR1cm4gZT9tLnJldmVyc2UoKTptfSxlLnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCxuKXtpZihudWxsPT1uJiYobj0xMD09PWk/Ii4wZSI6IiwiKSwiZnVuY3Rpb24iIT10eXBlb2YgbiYmKG49SzUobikpLHQ9PT0xLzApcmV0dXJuIG47bnVsbD09dCYmKHQ9MTApO3ZhciBhPU1hdGgubWF4KDEsaSp0L2UudGlja3MoKS5sZW5ndGgpO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT10L28oTWF0aC5yb3VuZChyKHQpKSk7cmV0dXJuIGUqaTxpLS41JiYoZSo9aSksZTw9YT9uKHQpOiIifX0sZS5uaWNlPWZ1bmN0aW9uKCl7cmV0dXJuIG4oaTMobigpLHtmbG9vcjpmdW5jdGlvbih0KXtyZXR1cm4gbyhNYXRoLmZsb29yKHIodCkpKX0sY2VpbDpmdW5jdGlvbih0KXtyZXR1cm4gbyhNYXRoLmNlaWwocih0KSkpfX0pKX0sZS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHo1KGUsdCgpLmJhc2UoaSkpfSxlfSxzY2FsZU9yZGluYWw6XzIsc2NhbGVJbXBsaWNpdDpnMixzY2FsZVBvdzpoMyxzY2FsZVNxcnQ6ZnVuY3Rpb24gZG10KCl7cmV0dXJuIGgzKCkuZXhwb25lbnQoLjUpfSxzY2FsZVF1YW50aWxlOmZ1bmN0aW9uIHQoKXt2YXIgZT1bXSxuPVtdLGk9W107ZnVuY3Rpb24gcigpe3ZhciB0PTAscj1NYXRoLm1heCgxLG4ubGVuZ3RoKTtmb3IoaT1uZXcgQXJyYXkoci0xKTsrK3Q8cjspaVt0LTFdPXMyKGUsdC9yKTtyZXR1cm4gb31mdW5jdGlvbiBvKHQpe2lmKCFpc05hTih0PSt0KSlyZXR1cm4gbltRMChpLHQpXX1yZXR1cm4gby5pbnZlcnRFeHRlbnQ9ZnVuY3Rpb24odCl7dmFyIHI9bi5pbmRleE9mKHQpO3JldHVybiByPDA/W05hTixOYU5dOltyPjA/aVtyLTFdOmVbMF0scjxpLmxlbmd0aD9pW3JdOmVbZS5sZW5ndGgtMV1dfSxvLmRvbWFpbj1mdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZS5zbGljZSgpO2U9W107Zm9yKHZhciBuLGk9MCxvPXQubGVuZ3RoO2k8bzsrK2kpbnVsbD09KG49dFtpXSl8fGlzTmFOKG49K24pfHxlLnB1c2gobik7cmV0dXJuIGUuc29ydChaMCkscigpfSxvLnJhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW0yLmNhbGwodCkscigpKTpuLnNsaWNlKCl9LG8ucXVhbnRpbGVzPWZ1bmN0aW9uKCl7cmV0dXJuIGkuc2xpY2UoKX0sby5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoKS5kb21haW4oZSkucmFuZ2Uobil9LG99LHNjYWxlUXVhbnRpemU6ZnVuY3Rpb24gdCgpe3ZhciBlPTAsbj0xLGk9MSxyPVsuNV0sbz1bMCwxXTtmdW5jdGlvbiBhKHQpe2lmKHQ8PXQpcmV0dXJuIG9bUTAocix0LDAsaSldfWZ1bmN0aW9uIHMoKXt2YXIgdD0tMTtmb3Iocj1uZXcgQXJyYXkoaSk7Kyt0PGk7KXJbdF09KCh0KzEpKm4tKHQtaSkqZSkvKGkrMSk7cmV0dXJuIGF9cmV0dXJuIGEuZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSt0WzBdLG49K3RbMV0scygpKTpbZSxuXX0sYS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0obz1tMi5jYWxsKHQpKS5sZW5ndGgtMSxzKCkpOm8uc2xpY2UoKX0sYS5pbnZlcnRFeHRlbnQ9ZnVuY3Rpb24odCl7dmFyIGE9by5pbmRleE9mKHQpO3JldHVybiBhPDA/W05hTixOYU5dOmE8MT9bZSxyWzBdXTphPj1pP1tyW2ktMV0sbl06W3JbYS0xXSxyW2FdXX0sYS5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoKS5kb21haW4oW2Usbl0pLnJhbmdlKG8pfSxuMyhhKX0sc2NhbGVUaHJlc2hvbGQ6ZnVuY3Rpb24gdCgpe3ZhciBlPVsuNV0sbj1bMCwxXSxpPTE7ZnVuY3Rpb24gcih0KXtpZih0PD10KXJldHVybiBuW1EwKGUsdCwwLGkpXX1yZXR1cm4gci5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9bTIuY2FsbCh0KSxpPU1hdGgubWluKGUubGVuZ3RoLG4ubGVuZ3RoLTEpLHIpOmUuc2xpY2UoKX0sci5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1tMi5jYWxsKHQpLGk9TWF0aC5taW4oZS5sZW5ndGgsbi5sZW5ndGgtMSkscik6bi5zbGljZSgpfSxyLmludmVydEV4dGVudD1mdW5jdGlvbih0KXt2YXIgaT1uLmluZGV4T2YodCk7cmV0dXJuW2VbaS0xXSxlW2ldXX0sci5jb3B5PWZ1bmN0aW9uKCl7cmV0dXJuIHQoKS5kb21haW4oZSkucmFuZ2Uobil9LHJ9LHNjYWxlVGltZTpmdW5jdGlvbiBwbXQoKXtyZXR1cm4gdzYoSTMsUDMsQTMsVDMsRTMsTTMsUzMsXzMsWDMpLmRvbWFpbihbbmV3IERhdGUoMmUzLDAsMSksbmV3IERhdGUoMmUzLDAsMildKX0sc2NhbGVVdGM6ZnVuY3Rpb24gZm10KCl7cmV0dXJuIHc2KGozLFYzLEIzLHozLE8zLFIzLFMzLF8zLCQzKS5kb21haW4oW0RhdGUuVVRDKDJlMywwLDEpLERhdGUuVVRDKDJlMywwLDIpXSl9LHNjaGVtZUNhdGVnb3J5MTA6TTYsc2NoZW1lQ2F0ZWdvcnkyMGI6RTYsc2NoZW1lQ2F0ZWdvcnkyMGM6VDYsc2NoZW1lQ2F0ZWdvcnkyMDpDNixpbnRlcnBvbGF0ZUN1YmVoZWxpeERlZmF1bHQ6QTYsaW50ZXJwb2xhdGVSYWluYm93OmZ1bmN0aW9uIG1tdCh0KXsodDwwfHx0PjEpJiYodC09TWF0aC5mbG9vcih0KSk7dmFyIGU9TWF0aC5hYnModC0uNSk7cmV0dXJuIFA2Lmg9MzYwKnQtMTAwLFA2LnM9MS41LTEuNSplLFA2Lmw9LjgtLjkqZSxQNisiIn0saW50ZXJwb2xhdGVXYXJtOms2LGludGVycG9sYXRlQ29vbDpMNixpbnRlcnBvbGF0ZVZpcmlkaXM6STYsaW50ZXJwb2xhdGVNYWdtYTpSNixpbnRlcnBvbGF0ZUluZmVybm86TzYsaW50ZXJwb2xhdGVQbGFzbWE6ejYsc2NhbGVTZXF1ZW50aWFsOmZ1bmN0aW9uIHQoZSl7dmFyIG49MCxpPTEscj0hMTtmdW5jdGlvbiBvKHQpe3ZhciBvPSh0LW4pLyhpLW4pO3JldHVybiBlKHI/TWF0aC5tYXgoMCxNYXRoLm1pbigxLG8pKTpvKX1yZXR1cm4gby5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49K3RbMF0saT0rdFsxXSxvKTpbbixpXX0sby5jbGFtcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0hIXQsbyk6cn0sby5pbnRlcnBvbGF0b3I9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxvKTplfSxvLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gdChlKS5kb21haW4oW24saV0pLmNsYW1wKHIpfSxuMyhvKX0sY3JlYXRlOmZ1bmN0aW9uIGdtdCh0KXtyZXR1cm4gJDkoVTYodCkuY2FsbChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKX0sY3JlYXRvcjpVNixsb2NhbDpDOCxtYXRjaGVyOks2LG1vdXNlOmZ1bmN0aW9uIF9tdCh0KXt2YXIgZT1rOCgpO3JldHVybiBlLmNoYW5nZWRUb3VjaGVzJiYoZT1lLmNoYW5nZWRUb3VjaGVzWzBdKSxMOCh0LGUpfSxuYW1lc3BhY2U6SDYsbmFtZXNwYWNlczpCNixjbGllbnRQb2ludDpMOCxzZWxlY3Q6JDksc2VsZWN0QWxsOmZ1bmN0aW9uIHltdCh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/bmV3IFk5KFtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHQpXSxbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSk6bmV3IFk5KFtudWxsPT10P1tdOnRdLHE5KX0sc2VsZWN0aW9uOlg5LHNlbGVjdG9yOkc2LHNlbGVjdG9yQWxsOnE2LHN0eWxlOmQ5LHRvdWNoOmZ1bmN0aW9uIHZtdCh0LGUsbil7YXJndW1lbnRzLmxlbmd0aDwzJiYobj1lLGU9azgoKS5jaGFuZ2VkVG91Y2hlcyk7Zm9yKHZhciBpLHI9MCxvPWU/ZS5sZW5ndGg6MDtyPG87KytyKWlmKChpPWVbcl0pLmlkZW50aWZpZXI9PT1uKXJldHVybiBMOCh0LGkpO3JldHVybiBudWxsfSx0b3VjaGVzOmZ1bmN0aW9uIGJtdCh0LGUpe251bGw9PWUmJihlPWs4KCkudG91Y2hlcyk7Zm9yKHZhciBuPTAsaT1lP2UubGVuZ3RoOjAscj1uZXcgQXJyYXkoaSk7bjxpOysrbilyW25dPUw4KHQsZVtuXSk7cmV0dXJuIHJ9LHdpbmRvdzpsOSxnZXQgZXZlbnQoKXtyZXR1cm4gRDl9LGN1c3RvbUV2ZW50OmZ1bmN0aW9uIHhtdCh0LGUsbixpKXt2YXIgcj1EOTt0LnNvdXJjZUV2ZW50PUQ5LEQ5PXQ7dHJ5e3JldHVybiBlLmFwcGx5KG4saSl9ZmluYWxseXtEOT1yfX0sYXJjOmZ1bmN0aW9uIHdtdCgpe3ZhciB0PVo4LGU9Sjgsbj1EOCgwKSxpPW51bGwscj1ROCxvPXQ3LGE9ZTcscz1udWxsO2Z1bmN0aW9uIGwoKXt2YXIgbCxjLHU9K3QuYXBwbHkodGhpcyxhcmd1bWVudHMpLGg9K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpLGQ9ci5hcHBseSh0aGlzLGFyZ3VtZW50cyktWTgscD1vLmFwcGx5KHRoaXMsYXJndW1lbnRzKS1ZOCxmPUI4KHAtZCksbT1wPmQ7aWYoc3x8KHM9bD16OCgpKSxoPHUmJihjPWgsaD11LHU9YyksaD5XOClpZihmPlg4LVc4KXMubW92ZVRvKGgqRjgoZCksaCpqOChkKSkscy5hcmMoMCwwLGgsZCxwLCFtKSx1Plc4JiYocy5tb3ZlVG8odSpGOChwKSx1Kmo4KHApKSxzLmFyYygwLDAsdSxwLGQsbSkpO2Vsc2V7dmFyIGcsXyx5PWQsdj1wLGI9ZCx4PXAsdz1mLFM9ZixNPWEuYXBwbHkodGhpcyxhcmd1bWVudHMpLzIsRT1NPlc4JiYoaT8raS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6RzgodSp1K2gqaCkpLFQ9VTgoQjgoaC11KS8yLCtuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksQz1ULEE9VDtpZihFPlc4KXt2YXIgaz1LOChFL3UqajgoTSkpLEw9SzgoRS9oKmo4KE0pKTsody09MiprKT5XOD8oYis9ayo9bT8xOi0xLHgtPWspOih3PTAsYj14PShkK3ApLzIpLChTLT0yKkwpPlc4Pyh5Kz1MKj1tPzE6LTEsdi09TCk6KFM9MCx5PXY9KGQrcCkvMil9dmFyIFA9aCpGOCh5KSxOPWgqajgoeSksST11KkY4KHgpLFI9dSpqOCh4KTtpZihUPlc4KXt2YXIgTz1oKkY4KHYpLHo9aCpqOCh2KSxEPXUqRjgoYiksQj11Kmo4KGIpO2lmKGY8cTgpe3ZhciBIPXc+Vzg/bjcoUCxOLEQsQixPLHosSSxSKTpbSSxSXSxGPVAtSFswXSxWPU4tSFsxXSxVPU8tSFswXSxqPXotSFsxXSxHPTEvajgoJDgoKEYqVStWKmopLyhHOChGKkYrVipWKSpHOChVKlUraipqKSkpLzIpLFc9RzgoSFswXSpIWzBdK0hbMV0qSFsxXSk7Qz1VOChULCh1LVcpLyhHLTEpKSxBPVU4KFQsKGgtVykvKEcrMSkpfX1TPlc4P0E+Vzg/KGc9aTcoRCxCLFAsTixoLEEsbSksXz1pNyhPLHosSSxSLGgsQSxtKSxzLm1vdmVUbyhnLmN4K2cueDAxLGcuY3krZy55MDEpLEE8VD9zLmFyYyhnLmN4LGcuY3ksQSxIOChnLnkwMSxnLngwMSksSDgoXy55MDEsXy54MDEpLCFtKToocy5hcmMoZy5jeCxnLmN5LEEsSDgoZy55MDEsZy54MDEpLEg4KGcueTExLGcueDExKSwhbSkscy5hcmMoMCwwLGgsSDgoZy5jeStnLnkxMSxnLmN4K2cueDExKSxIOChfLmN5K18ueTExLF8uY3grXy54MTEpLCFtKSxzLmFyYyhfLmN4LF8uY3ksQSxIOChfLnkxMSxfLngxMSksSDgoXy55MDEsXy54MDEpLCFtKSkpOihzLm1vdmVUbyhQLE4pLHMuYXJjKDAsMCxoLHksdiwhbSkpOnMubW92ZVRvKFAsTiksdT5XOCYmdz5XOD9DPlc4PyhnPWk3KEksUixPLHosdSwtQyxtKSxfPWk3KFAsTixELEIsdSwtQyxtKSxzLmxpbmVUbyhnLmN4K2cueDAxLGcuY3krZy55MDEpLEM8VD9zLmFyYyhnLmN4LGcuY3ksQyxIOChnLnkwMSxnLngwMSksSDgoXy55MDEsXy54MDEpLCFtKToocy5hcmMoZy5jeCxnLmN5LEMsSDgoZy55MDEsZy54MDEpLEg4KGcueTExLGcueDExKSwhbSkscy5hcmMoMCwwLHUsSDgoZy5jeStnLnkxMSxnLmN4K2cueDExKSxIOChfLmN5K18ueTExLF8uY3grXy54MTEpLG0pLHMuYXJjKF8uY3gsXy5jeSxDLEg4KF8ueTExLF8ueDExKSxIOChfLnkwMSxfLngwMSksIW0pKSk6cy5hcmMoMCwwLHUseCxiLG0pOnMubGluZVRvKEksUil9ZWxzZSBzLm1vdmVUbygwLDApO2lmKHMuY2xvc2VQYXRoKCksbClyZXR1cm4gcz1udWxsLGwrIiJ8fG51bGx9cmV0dXJuIGwuY2VudHJvaWQ9ZnVuY3Rpb24oKXt2YXIgbj0oK3QuYXBwbHkodGhpcyxhcmd1bWVudHMpKyArZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpLzIsaT0oK3IuYXBwbHkodGhpcyxhcmd1bWVudHMpKyArby5hcHBseSh0aGlzLGFyZ3VtZW50cykpLzItcTgvMjtyZXR1cm5bRjgoaSkqbixqOChpKSpuXX0sbC5pbm5lclJhZGl1cz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOkQ4KCtlKSxsKTp0fSxsLm91dGVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoK3QpLGwpOmV9LGwuY29ybmVyUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoK3QpLGwpOm59LGwucGFkUmFkaXVzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxsKTppfSxsLnN0YXJ0QW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpEOCgrdCksbCk6cn0sbC5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxsKTpvfSxsLnBhZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoK3QpLGwpOmF9LGwuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz1udWxsPT10P251bGw6dCxsKTpzfSxsfSxhcmVhOmM3LGxpbmU6bDcscGllOmZ1bmN0aW9uIFNtdCgpe3ZhciB0PWg3LGU9dTcsbj1udWxsLGk9RDgoMCkscj1EOChYOCksbz1EOCgwKTtmdW5jdGlvbiBhKGEpe3ZhciBzLGwsYyx1LGgsZD1hLmxlbmd0aCxwPTAsZj1uZXcgQXJyYXkoZCksbT1uZXcgQXJyYXkoZCksZz0raS5hcHBseSh0aGlzLGFyZ3VtZW50cyksXz1NYXRoLm1pbihYOCxNYXRoLm1heCgtWDgsci5hcHBseSh0aGlzLGFyZ3VtZW50cyktZykpLHk9TWF0aC5taW4oTWF0aC5hYnMoXykvZCxvLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksdj15KihfPDA/LTE6MSk7Zm9yKHM9MDtzPGQ7KytzKShoPW1bZltzXT1zXT0rdChhW3NdLHMsYSkpPjAmJihwKz1oKTtmb3IobnVsbCE9ZT9mLnNvcnQoKGZ1bmN0aW9uKHQsbil7cmV0dXJuIGUobVt0XSxtW25dKX0pKTpudWxsIT1uJiZmLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4oYVt0XSxhW2VdKX0pKSxzPTAsYz1wPyhfLWQqdikvcDowO3M8ZDsrK3MsZz11KW1bbD1mW3NdXT17ZGF0YTphW2xdLGluZGV4OnMsdmFsdWU6aD1tW2xdLHN0YXJ0QW5nbGU6ZyxlbmRBbmdsZTp1PWcrKGg+MD9oKmM6MCkrdixwYWRBbmdsZTp5fTtyZXR1cm4gbX1yZXR1cm4gYS52YWx1ZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOkQ4KCtlKSxhKTp0fSxhLnNvcnRWYWx1ZXM9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9dCxuPW51bGwsYSk6ZX0sYS5zb3J0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQsZT1udWxsLGEpOm59LGEuc3RhcnRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxhKTppfSxhLmVuZEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6RDgoK3QpLGEpOnJ9LGEucGFkQW5nbGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpEOCgrdCksYSk6b30sYX0sYXJlYVJhZGlhbDpfNyxyYWRpYWxBcmVhOl83LGxpbmVSYWRpYWw6ZzcscmFkaWFsTGluZTpnNyxwb2ludFJhZGlhbDp5NyxsaW5rSG9yaXpvbnRhbDpmdW5jdGlvbiBNbXQoKXtyZXR1cm4gdzcoUzcpfSxsaW5rVmVydGljYWw6ZnVuY3Rpb24gRW10KCl7cmV0dXJuIHc3KE03KX0sbGlua1JhZGlhbDpmdW5jdGlvbiBUbXQoKXt2YXIgdD13NyhFNyk7cmV0dXJuIHQuYW5nbGU9dC54LGRlbGV0ZSB0LngsdC5yYWRpdXM9dC55LGRlbGV0ZSB0LnksdH0sc3ltYm9sOmZ1bmN0aW9uIENtdCgpe3ZhciB0PUQ4KFQ3KSxlPUQ4KDY0KSxuPW51bGw7ZnVuY3Rpb24gaSgpe3ZhciBpO2lmKG58fChuPWk9ejgoKSksdC5hcHBseSh0aGlzLGFyZ3VtZW50cykuZHJhdyhuLCtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSksaSlyZXR1cm4gbj1udWxsLGkrIiJ8fG51bGx9cmV0dXJuIGkudHlwZT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOkQ4KGUpLGkpOnR9LGkuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KCt0KSxpKTplfSxpLmNvbnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49bnVsbD09dD9udWxsOnQsaSk6bn0saX0sc3ltYm9sczpqNyxzeW1ib2xDaXJjbGU6VDcsc3ltYm9sQ3Jvc3M6Qzcsc3ltYm9sRGlhbW9uZDpMNyxzeW1ib2xTcXVhcmU6Tzcsc3ltYm9sU3RhcjpSNyxzeW1ib2xUcmlhbmdsZTpENyxzeW1ib2xXeWU6VTcsY3VydmVCYXNpc0Nsb3NlZDpmdW5jdGlvbiBBbXQodCl7cmV0dXJuIG5ldyBZNyh0KX0sY3VydmVCYXNpc09wZW46ZnVuY3Rpb24ga210KHQpe3JldHVybiBuZXcgWDcodCl9LGN1cnZlQmFzaXM6ZnVuY3Rpb24gTG10KHQpe3JldHVybiBuZXcgcTcodCl9LGN1cnZlQnVuZGxlOks3LGN1cnZlQ2FyZGluYWxDbG9zZWQ6ZXR0LGN1cnZlQ2FyZGluYWxPcGVuOml0dCxjdXJ2ZUNhcmRpbmFsOlE3LGN1cnZlQ2F0bXVsbFJvbUNsb3NlZDpsdHQsY3VydmVDYXRtdWxsUm9tT3Blbjp1dHQsY3VydmVDYXRtdWxsUm9tOmF0dCxjdXJ2ZUxpbmVhckNsb3NlZDpmdW5jdGlvbiBQbXQodCl7cmV0dXJuIG5ldyBodHQodCl9LGN1cnZlTGluZWFyOm83LGN1cnZlTW9ub3RvbmVYOmZ1bmN0aW9uIE5tdCh0KXtyZXR1cm4gbmV3IGd0dCh0KX0sY3VydmVNb25vdG9uZVk6ZnVuY3Rpb24gSW10KHQpe3JldHVybiBuZXcgX3R0KHQpfSxjdXJ2ZU5hdHVyYWw6ZnVuY3Rpb24gUm10KHQpe3JldHVybiBuZXcgdnR0KHQpfSxjdXJ2ZVN0ZXA6ZnVuY3Rpb24gT210KHQpe3JldHVybiBuZXcgeHR0KHQsLjUpfSxjdXJ2ZVN0ZXBBZnRlcjpmdW5jdGlvbiB6bXQodCl7cmV0dXJuIG5ldyB4dHQodCwxKX0sY3VydmVTdGVwQmVmb3JlOmZ1bmN0aW9uIERtdCh0KXtyZXR1cm4gbmV3IHh0dCh0LDApfSxzdGFjazpmdW5jdGlvbiBCbXQoKXt2YXIgdD1EOChbXSksZT1TdHQsbj13dHQsaT1NdHQ7ZnVuY3Rpb24gcihyKXt2YXIgbyxhLHM9dC5hcHBseSh0aGlzLGFyZ3VtZW50cyksbD1yLmxlbmd0aCxjPXMubGVuZ3RoLHU9bmV3IEFycmF5KGMpO2ZvcihvPTA7bzxjOysrbyl7Zm9yKHZhciBoLGQ9c1tvXSxwPXVbb109bmV3IEFycmF5KGwpLGY9MDtmPGw7KytmKXBbZl09aD1bMCwraShyW2ZdLGQsZixyKV0saC5kYXRhPXJbZl07cC5rZXk9ZH1mb3Iobz0wLGE9ZSh1KTtvPGM7KytvKXVbYVtvXV0uaW5kZXg9bztyZXR1cm4gbih1LGEpLHV9cmV0dXJuIHIua2V5cz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOkQ4KHY3LmNhbGwoZSkpLHIpOnR9LHIudmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpEOCgrdCkscik6aX0sci5vcmRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT1udWxsPT10P1N0dDoiZnVuY3Rpb24iPT10eXBlb2YgdD90OkQ4KHY3LmNhbGwodCkpLHIpOmV9LHIub2Zmc2V0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW51bGw9PXQ/d3R0OnQscik6bn0scn0sc3RhY2tPZmZzZXRFeHBhbmQ6ZnVuY3Rpb24gSG10KHQsZSl7aWYoKGk9dC5sZW5ndGgpPjApe2Zvcih2YXIgbixpLHIsbz0wLGE9dFswXS5sZW5ndGg7bzxhOysrbyl7Zm9yKHI9bj0wO248aTsrK24pcis9dFtuXVtvXVsxXXx8MDtpZihyKWZvcihuPTA7bjxpOysrbil0W25dW29dWzFdLz1yfXd0dCh0LGUpfX0sc3RhY2tPZmZzZXREaXZlcmdpbmc6ZnVuY3Rpb24gRm10KHQsZSl7aWYoKHM9dC5sZW5ndGgpPjEpZm9yKHZhciBuLGkscixvLGEscyxsPTAsYz10W2VbMF1dLmxlbmd0aDtsPGM7KytsKWZvcihvPWE9MCxuPTA7bjxzOysrbikocj0oaT10W2Vbbl1dW2xdKVsxXS1pWzBdKT49MD8oaVswXT1vLGlbMV09bys9cik6cjwwPyhpWzFdPWEsaVswXT1hKz1yKTppWzBdPW99LHN0YWNrT2Zmc2V0Tm9uZTp3dHQsc3RhY2tPZmZzZXRTaWxob3VldHRlOmZ1bmN0aW9uIFZtdCh0LGUpe2lmKChuPXQubGVuZ3RoKT4wKXtmb3IodmFyIG4saT0wLHI9dFtlWzBdXSxvPXIubGVuZ3RoO2k8bzsrK2kpe2Zvcih2YXIgYT0wLHM9MDthPG47KythKXMrPXRbYV1baV1bMV18fDA7cltpXVsxXSs9cltpXVswXT0tcy8yfXd0dCh0LGUpfX0sc3RhY2tPZmZzZXRXaWdnbGU6ZnVuY3Rpb24gVW10KHQsZSl7aWYoKHI9dC5sZW5ndGgpPjAmJihpPShuPXRbZVswXV0pLmxlbmd0aCk+MCl7Zm9yKHZhciBuLGkscixvPTAsYT0xO2E8aTsrK2Epe2Zvcih2YXIgcz0wLGw9MCxjPTA7czxyOysrcyl7Zm9yKHZhciB1PXRbZVtzXV0saD11W2FdWzFdfHwwLGQ9KGgtKHVbYS0xXVsxXXx8MCkpLzIscD0wO3A8czsrK3Ape3ZhciBmPXRbZVtwXV07ZCs9KGZbYV1bMV18fDApLShmW2EtMV1bMV18fDApfWwrPWgsYys9ZCpofW5bYS0xXVsxXSs9blthLTFdWzBdPW8sbCYmKG8tPWMvbCl9blthLTFdWzFdKz1uW2EtMV1bMF09byx3dHQodCxlKX19LHN0YWNrT3JkZXJBc2NlbmRpbmc6RXR0LHN0YWNrT3JkZXJEZXNjZW5kaW5nOmZ1bmN0aW9uIGptdCh0KXtyZXR1cm4gRXR0KHQpLnJldmVyc2UoKX0sc3RhY2tPcmRlckluc2lkZU91dDpmdW5jdGlvbiBHbXQodCl7dmFyIGUsbixpPXQubGVuZ3RoLHI9dC5tYXAoVHR0KSxvPVN0dCh0KS5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiByW2VdLXJbdF19KSksYT0wLHM9MCxsPVtdLGM9W107Zm9yKGU9MDtlPGk7KytlKW49b1tlXSxhPHM/KGErPXJbbl0sbC5wdXNoKG4pKToocys9cltuXSxjLnB1c2gobikpO3JldHVybiBjLnJldmVyc2UoKS5jb25jYXQobCl9LHN0YWNrT3JkZXJOb25lOlN0dCxzdGFja09yZGVyUmV2ZXJzZTpmdW5jdGlvbiBXbXQodCl7cmV0dXJuIFN0dCh0KS5yZXZlcnNlKCl9LHRpbWVJbnRlcnZhbDprdHQsdGltZU1pbGxpc2Vjb25kOkx0dCx0aW1lTWlsbGlzZWNvbmRzOlB0dCx1dGNNaWxsaXNlY29uZDpMdHQsdXRjTWlsbGlzZWNvbmRzOlB0dCx0aW1lU2Vjb25kOkR0dCx0aW1lU2Vjb25kczpCdHQsdXRjU2Vjb25kOkR0dCx1dGNTZWNvbmRzOkJ0dCx0aW1lTWludXRlOkh0dCx0aW1lTWludXRlczpGdHQsdGltZUhvdXI6VnR0LHRpbWVIb3VyczpVdHQsdGltZURheTpqdHQsdGltZURheXM6R3R0LHRpbWVXZWVrOnF0dCx0aW1lV2Vla3M6UXR0LHRpbWVTdW5kYXk6cXR0LHRpbWVTdW5kYXlzOlF0dCx0aW1lTW9uZGF5Oll0dCx0aW1lTW9uZGF5czp0ZXQsdGltZVR1ZXNkYXk6WHR0LHRpbWVUdWVzZGF5czplZXQsdGltZVdlZG5lc2RheTokdHQsdGltZVdlZG5lc2RheXM6bmV0LHRpbWVUaHVyc2RheTpLdHQsdGltZVRodXJzZGF5czppZXQsdGltZUZyaWRheTpadHQsdGltZUZyaWRheXM6cmV0LHRpbWVTYXR1cmRheTpKdHQsdGltZVNhdHVyZGF5czpvZXQsdGltZU1vbnRoOmFldCx0aW1lTW9udGhzOnNldCx0aW1lWWVhcjpjZXQsdGltZVllYXJzOnVldCx1dGNNaW51dGU6aGV0LHV0Y01pbnV0ZXM6ZGV0LHV0Y0hvdXI6cGV0LHV0Y0hvdXJzOmZldCx1dGNEYXk6bWV0LHV0Y0RheXM6Z2V0LHV0Y1dlZWs6eWV0LHV0Y1dlZWtzOlRldCx1dGNTdW5kYXk6eWV0LHV0Y1N1bmRheXM6VGV0LHV0Y01vbmRheTp2ZXQsdXRjTW9uZGF5czpDZXQsdXRjVHVlc2RheTpiZXQsdXRjVHVlc2RheXM6QWV0LHV0Y1dlZG5lc2RheTp4ZXQsdXRjV2VkbmVzZGF5czprZXQsdXRjVGh1cnNkYXk6d2V0LHV0Y1RodXJzZGF5czpMZXQsdXRjRnJpZGF5Ok1ldCx1dGNGcmlkYXlzOlBldCx1dGNTYXR1cmRheTpFZXQsdXRjU2F0dXJkYXlzOk5ldCx1dGNNb250aDpJZXQsdXRjTW9udGhzOlJldCx1dGNZZWFyOk9ldCx1dGNZZWFyczp6ZXQsdGltZUZvcm1hdERlZmF1bHRMb2NhbGU6eGl0LGdldCB0aW1lRm9ybWF0KCl7cmV0dXJuIHNudH0sZ2V0IHRpbWVQYXJzZSgpe3JldHVybiBsbnR9LGdldCB1dGNGb3JtYXQoKXtyZXR1cm4gY250fSxnZXQgdXRjUGFyc2UoKXtyZXR1cm4gdW50fSx0aW1lRm9ybWF0TG9jYWxlOm9udCxpc29Gb3JtYXQ6U2l0LGlzb1BhcnNlOkNpdCxub3c6RGl0LHRpbWVyOkZpdCx0aW1lckZsdXNoOlZpdCx0aW1lb3V0OmZ1bmN0aW9uIHFtdCh0LGUsbil7dmFyIGk9bmV3IEhpdDtyZXR1cm4gaS5yZXN0YXJ0KChmdW5jdGlvbihuKXtpLnN0b3AoKSx0KG4rZSl9KSxlPW51bGw9PWU/MDorZSxuKSxpfSxpbnRlcnZhbDpmdW5jdGlvbiBZbXQodCxlLG4pe3ZhciBpPW5ldyBIaXQscj1lO3JldHVybiBudWxsPT1lPyhpLnJlc3RhcnQodCxlLG4pLGkpOihlPStlLG49bnVsbD09bj9EaXQoKTorbixpLnJlc3RhcnQoKGZ1bmN0aW9uIG8oYSl7YSs9cixpLnJlc3RhcnQobyxyKz1lLG4pLHQoYSl9KSxlLG4pLGkpfSx0cmFuc2l0aW9uOkFzdCxhY3RpdmU6ZnVuY3Rpb24gWG10KHQsZSl7dmFyIG4saSxyPXQuX190cmFuc2l0aW9uO2lmKHIpZm9yKGkgaW4gZT1udWxsPT1lP251bGw6ZSsiIixyKWlmKChuPXJbaV0pLnN0YXRlPjEmJm4ubmFtZT09PWUpcmV0dXJuIG5ldyBDc3QoW1t0XV0sSnN0LGUsK2kpO3JldHVybiBudWxsfSxpbnRlcnJ1cHQ6YWF0LHZvcm9ub2k6ZnVuY3Rpb24gJG10KCl7dmFyIHQ9dGx0LGU9ZWx0LG49bnVsbDtmdW5jdGlvbiBpKGkpe3JldHVybiBuZXcgemx0KGkubWFwKChmdW5jdGlvbihuLHIpe3ZhciBvPVtNYXRoLnJvdW5kKHQobixyLGkpL05sdCkqTmx0LE1hdGgucm91bmQoZShuLHIsaSkvTmx0KSpObHRdO3JldHVybiBvLmluZGV4PXIsby5kYXRhPW4sb30pKSxuKX1yZXR1cm4gaS5wb2x5Z29ucz1mdW5jdGlvbih0KXtyZXR1cm4gaSh0KS5wb2x5Z29ucygpfSxpLmxpbmtzPWZ1bmN0aW9uKHQpe3JldHVybiBpKHQpLmxpbmtzKCl9LGkudHJpYW5nbGVzPWZ1bmN0aW9uKHQpe3JldHVybiBpKHQpLnRyaWFuZ2xlcygpfSxpLng9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpRc3QoK2UpLGkpOnR9LGkueT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlFzdCgrdCksaSk6ZX0saS5leHRlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49bnVsbD09dD9udWxsOltbK3RbMF1bMF0sK3RbMF1bMV1dLFsrdFsxXVswXSwrdFsxXVsxXV1dLGkpOm4mJltbblswXVswXSxuWzBdWzFdXSxbblsxXVswXSxuWzFdWzFdXV19LGkuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1udWxsPT10P251bGw6W1swLDBdLFsrdFswXSwrdFsxXV1dLGkpOm4mJltuWzFdWzBdLW5bMF1bMF0sblsxXVsxXS1uWzBdWzFdXX0saX0sem9vbTpmdW5jdGlvbiBLbXQoKXt2YXIgdCxlLG49Z3B0LGk9X3B0LHI9eHB0LG89dnB0LGE9YnB0LHM9WzAsMS8wXSxsPVtbLTEvMCwtMS8wXSxbMS8wLDEvMF1dLGM9MjUwLHU9Qmh0LGg9W10sZD1CbHQoInN0YXJ0Iiwiem9vbSIsImVuZCIpLHA9NTAwLGY9MDtmdW5jdGlvbiBtKHQpe3QucHJvcGVydHkoIl9fem9vbSIseXB0KS5vbigid2hlZWwuem9vbSIsdykub24oIm1vdXNlZG93bi56b29tIixTKS5vbigiZGJsY2xpY2suem9vbSIsTSkuZmlsdGVyKGEpLm9uKCJ0b3VjaHN0YXJ0Lnpvb20iLEUpLm9uKCJ0b3VjaG1vdmUuem9vbSIsVCkub24oInRvdWNoZW5kLnpvb20gdG91Y2hjYW5jZWwuem9vbSIsQykuc3R5bGUoInRvdWNoLWFjdGlvbiIsIm5vbmUiKS5zdHlsZSgiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIiwicmdiYSgwLDAsMCwwKSIpfWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4oZT1NYXRoLm1heChzWzBdLE1hdGgubWluKHNbMV0sZSkpKT09PXQuaz90Om5ldyBjcHQoZSx0LngsdC55KX1mdW5jdGlvbiBfKHQsZSxuKXt2YXIgaT1lWzBdLW5bMF0qdC5rLHI9ZVsxXS1uWzFdKnQuaztyZXR1cm4gaT09PXQueCYmcj09PXQueT90Om5ldyBjcHQodC5rLGkscil9ZnVuY3Rpb24geSh0KXtyZXR1cm5bKCt0WzBdWzBdKyArdFsxXVswXSkvMiwoK3RbMF1bMV0rICt0WzFdWzFdKS8yXX1mdW5jdGlvbiB2KHQsZSxuKXt0Lm9uKCJzdGFydC56b29tIiwoZnVuY3Rpb24oKXtiKHRoaXMsYXJndW1lbnRzKS5zdGFydCgpfSkpLm9uKCJpbnRlcnJ1cHQuem9vbSBlbmQuem9vbSIsKGZ1bmN0aW9uKCl7Yih0aGlzLGFyZ3VtZW50cykuZW5kKCl9KSkudHdlZW4oInpvb20iLChmdW5jdGlvbigpe3ZhciB0PXRoaXMscj1hcmd1bWVudHMsbz1iKHQsciksYT1pLmFwcGx5KHQscikscz1ufHx5KGEpLGw9TWF0aC5tYXgoYVsxXVswXS1hWzBdWzBdLGFbMV1bMV0tYVswXVsxXSksYz10Ll9fem9vbSxoPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2UuYXBwbHkodCxyKTplLGQ9dShjLmludmVydChzKS5jb25jYXQobC9jLmspLGguaW52ZXJ0KHMpLmNvbmNhdChsL2guaykpO3JldHVybiBmdW5jdGlvbih0KXtpZigxPT09dCl0PWg7ZWxzZXt2YXIgZT1kKHQpLG49bC9lWzJdO3Q9bmV3IGNwdChuLHNbMF0tZVswXSpuLHNbMV0tZVsxXSpuKX1vLnpvb20obnVsbCx0KX19KSl9ZnVuY3Rpb24gYih0LGUpe2Zvcih2YXIgbixpPTAscj1oLmxlbmd0aDtpPHI7KytpKWlmKChuPWhbaV0pLnRoYXQ9PT10KXJldHVybiBuO3JldHVybiBuZXcgeCh0LGUpfWZ1bmN0aW9uIHgodCxlKXt0aGlzLnRoYXQ9dCx0aGlzLmFyZ3M9ZSx0aGlzLmluZGV4PS0xLHRoaXMuYWN0aXZlPTAsdGhpcy5leHRlbnQ9aS5hcHBseSh0LGUpfWZ1bmN0aW9uIHcoKXtpZihuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl7dmFyIHQ9Yih0aGlzLGFyZ3VtZW50cyksZT10aGlzLl9fem9vbSxpPU1hdGgubWF4KHNbMF0sTWF0aC5taW4oc1sxXSxlLmsqTWF0aC5wb3coMixvLmFwcGx5KHRoaXMsYXJndW1lbnRzKSkpKSxhPWV1dCh0aGlzKTtpZih0LndoZWVsKXQubW91c2VbMF1bMF09PT1hWzBdJiZ0Lm1vdXNlWzBdWzFdPT09YVsxXXx8KHQubW91c2VbMV09ZS5pbnZlcnQodC5tb3VzZVswXT1hKSksY2xlYXJUaW1lb3V0KHQud2hlZWwpO2Vsc2V7aWYoZS5rPT09aSlyZXR1cm47dC5tb3VzZT1bYSxlLmludmVydChhKV0sY2R0KHRoaXMpLHQuc3RhcnQoKX1tcHQoKSx0LndoZWVsPXNldFRpbWVvdXQoYywxNTApLHQuem9vbSgibW91c2UiLHIoXyhnKGUsaSksdC5tb3VzZVswXSx0Lm1vdXNlWzFdKSx0LmV4dGVudCxsKSl9ZnVuY3Rpb24gYygpe3Qud2hlZWw9bnVsbCx0LmVuZCgpfX1mdW5jdGlvbiBTKCl7aWYoIWUmJm4uYXBwbHkodGhpcyxhcmd1bWVudHMpKXt2YXIgdD1iKHRoaXMsYXJndW1lbnRzKSxpPUpjdChGY3Qudmlldykub24oIm1vdXNlbW92ZS56b29tIixjLCEwKS5vbigibW91c2V1cC56b29tIix1LCEwKSxvPWV1dCh0aGlzKSxhPUZjdC5jbGllbnRYLHM9RmN0LmNsaWVudFk7cnV0KEZjdC52aWV3KSxmcHQoKSx0Lm1vdXNlPVtvLHRoaXMuX196b29tLmludmVydChvKV0sY2R0KHRoaXMpLHQuc3RhcnQoKX1mdW5jdGlvbiBjKCl7aWYobXB0KCksIXQubW92ZWQpe3ZhciBlPUZjdC5jbGllbnRYLWEsbj1GY3QuY2xpZW50WS1zO3QubW92ZWQ9ZSplK24qbj5mfXQuem9vbSgibW91c2UiLHIoXyh0LnRoYXQuX196b29tLHQubW91c2VbMF09ZXV0KHQudGhhdCksdC5tb3VzZVsxXSksdC5leHRlbnQsbCkpfWZ1bmN0aW9uIHUoKXtpLm9uKCJtb3VzZW1vdmUuem9vbSBtb3VzZXVwLnpvb20iLG51bGwpLG91dChGY3Qudmlldyx0Lm1vdmVkKSxtcHQoKSx0LmVuZCgpfX1mdW5jdGlvbiBNKCl7aWYobi5hcHBseSh0aGlzLGFyZ3VtZW50cykpe3ZhciB0PXRoaXMuX196b29tLGU9ZXV0KHRoaXMpLG89dC5pbnZlcnQoZSksYT10LmsqKEZjdC5zaGlmdEtleT8uNToyKSxzPXIoXyhnKHQsYSksZSxvKSxpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxsKTttcHQoKSxjPjA/SmN0KHRoaXMpLnRyYW5zaXRpb24oKS5kdXJhdGlvbihjKS5jYWxsKHYscyxlKTpKY3QodGhpcykuY2FsbChtLnRyYW5zZm9ybSxzKX19ZnVuY3Rpb24gRSgpe2lmKG4uYXBwbHkodGhpcyxhcmd1bWVudHMpKXt2YXIgZSxpLHIsbyxhPWIodGhpcyxhcmd1bWVudHMpLHM9RmN0LmNoYW5nZWRUb3VjaGVzLGw9cy5sZW5ndGg7Zm9yKGZwdCgpLGk9MDtpPGw7KytpKW89W289bnV0KHRoaXMscywocj1zW2ldKS5pZGVudGlmaWVyKSx0aGlzLl9fem9vbS5pbnZlcnQobyksci5pZGVudGlmaWVyXSxhLnRvdWNoMD9hLnRvdWNoMXx8KGEudG91Y2gxPW8pOihhLnRvdWNoMD1vLGU9ITApO2lmKHQmJih0PWNsZWFyVGltZW91dCh0KSwhYS50b3VjaDEpKXJldHVybiBhLmVuZCgpLHZvaWQoKG89SmN0KHRoaXMpLm9uKCJkYmxjbGljay56b29tIikpJiZvLmFwcGx5KHRoaXMsYXJndW1lbnRzKSk7ZSYmKHQ9c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0PW51bGx9KSxwKSxjZHQodGhpcyksYS5zdGFydCgpKX19ZnVuY3Rpb24gVCgpe3ZhciBlLG4saSxvLGE9Yih0aGlzLGFyZ3VtZW50cykscz1GY3QuY2hhbmdlZFRvdWNoZXMsYz1zLmxlbmd0aDtmb3IobXB0KCksdCYmKHQ9Y2xlYXJUaW1lb3V0KHQpKSxlPTA7ZTxjOysrZSlpPW51dCh0aGlzLHMsKG49c1tlXSkuaWRlbnRpZmllciksYS50b3VjaDAmJmEudG91Y2gwWzJdPT09bi5pZGVudGlmaWVyP2EudG91Y2gwWzBdPWk6YS50b3VjaDEmJmEudG91Y2gxWzJdPT09bi5pZGVudGlmaWVyJiYoYS50b3VjaDFbMF09aSk7aWYobj1hLnRoYXQuX196b29tLGEudG91Y2gxKXt2YXIgdT1hLnRvdWNoMFswXSxoPWEudG91Y2gwWzFdLGQ9YS50b3VjaDFbMF0scD1hLnRvdWNoMVsxXSxmPShmPWRbMF0tdVswXSkqZisoZj1kWzFdLXVbMV0pKmYsbT0obT1wWzBdLWhbMF0pKm0rKG09cFsxXS1oWzFdKSptO249ZyhuLE1hdGguc3FydChmL20pKSxpPVsodVswXStkWzBdKS8yLCh1WzFdK2RbMV0pLzJdLG89WyhoWzBdK3BbMF0pLzIsKGhbMV0rcFsxXSkvMl19ZWxzZXtpZighYS50b3VjaDApcmV0dXJuO2k9YS50b3VjaDBbMF0sbz1hLnRvdWNoMFsxXX1hLnpvb20oInRvdWNoIixyKF8obixpLG8pLGEuZXh0ZW50LGwpKX1mdW5jdGlvbiBDKCl7dmFyIHQsbixpPWIodGhpcyxhcmd1bWVudHMpLHI9RmN0LmNoYW5nZWRUb3VjaGVzLG89ci5sZW5ndGg7Zm9yKGZwdCgpLGUmJmNsZWFyVGltZW91dChlKSxlPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZT1udWxsfSkscCksdD0wO3Q8bzsrK3Qpbj1yW3RdLGkudG91Y2gwJiZpLnRvdWNoMFsyXT09PW4uaWRlbnRpZmllcj9kZWxldGUgaS50b3VjaDA6aS50b3VjaDEmJmkudG91Y2gxWzJdPT09bi5pZGVudGlmaWVyJiZkZWxldGUgaS50b3VjaDE7aS50b3VjaDEmJiFpLnRvdWNoMCYmKGkudG91Y2gwPWkudG91Y2gxLGRlbGV0ZSBpLnRvdWNoMSksaS50b3VjaDA/aS50b3VjaDBbMV09dGhpcy5fX3pvb20uaW52ZXJ0KGkudG91Y2gwWzBdKTppLmVuZCgpfXJldHVybiBtLnRyYW5zZm9ybT1mdW5jdGlvbih0LGUpe3ZhciBuPXQuc2VsZWN0aW9uP3Quc2VsZWN0aW9uKCk6dDtuLnByb3BlcnR5KCJfX3pvb20iLHlwdCksdCE9PW4/dih0LGUpOm4uaW50ZXJydXB0KCkuZWFjaCgoZnVuY3Rpb24oKXtiKHRoaXMsYXJndW1lbnRzKS5zdGFydCgpLnpvb20obnVsbCwiZnVuY3Rpb24iPT10eXBlb2YgZT9lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTplKS5lbmQoKX0pKX0sbS5zY2FsZUJ5PWZ1bmN0aW9uKHQsZSl7bS5zY2FsZVRvKHQsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fX3pvb20uayxuPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2UuYXBwbHkodGhpcyxhcmd1bWVudHMpOmU7cmV0dXJuIHQqbn0pKX0sbS5zY2FsZVRvPWZ1bmN0aW9uKHQsZSl7bS50cmFuc2Zvcm0odCwoZnVuY3Rpb24oKXt2YXIgdD1pLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxuPXRoaXMuX196b29tLG89eSh0KSxhPW4uaW52ZXJ0KG8pLHM9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6ZTtyZXR1cm4gcihfKGcobixzKSxvLGEpLHQsbCl9KSl9LG0udHJhbnNsYXRlQnk9ZnVuY3Rpb24odCxlLG4pe20udHJhbnNmb3JtKHQsKGZ1bmN0aW9uKCl7cmV0dXJuIHIodGhpcy5fX3pvb20udHJhbnNsYXRlKCJmdW5jdGlvbiI9PXR5cGVvZiBlP2UuYXBwbHkodGhpcyxhcmd1bWVudHMpOmUsImZ1bmN0aW9uIj09dHlwZW9mIG4/bi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6biksaS5hcHBseSh0aGlzLGFyZ3VtZW50cyksbCl9KSl9LG0udHJhbnNsYXRlVG89ZnVuY3Rpb24odCxlLG4pe20udHJhbnNmb3JtKHQsKGZ1bmN0aW9uKCl7dmFyIHQ9aS5hcHBseSh0aGlzLGFyZ3VtZW50cyksbz10aGlzLl9fem9vbSxhPXkodCk7cmV0dXJuIHIoZHB0LnRyYW5zbGF0ZShhWzBdLGFbMV0pLnNjYWxlKG8uaykudHJhbnNsYXRlKCJmdW5jdGlvbiI9PXR5cGVvZiBlPy1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTotZSwiZnVuY3Rpb24iPT10eXBlb2Ygbj8tbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk6LW4pLHQsbCl9KSl9LHgucHJvdG90eXBlPXtzdGFydDpmdW5jdGlvbigpe3JldHVybiAxPT0rK3RoaXMuYWN0aXZlJiYodGhpcy5pbmRleD1oLnB1c2godGhpcyktMSx0aGlzLmVtaXQoInN0YXJ0IikpLHRoaXN9LHpvb206ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5tb3VzZSYmIm1vdXNlIiE9PXQmJih0aGlzLm1vdXNlWzFdPWUuaW52ZXJ0KHRoaXMubW91c2VbMF0pKSx0aGlzLnRvdWNoMCYmInRvdWNoIiE9PXQmJih0aGlzLnRvdWNoMFsxXT1lLmludmVydCh0aGlzLnRvdWNoMFswXSkpLHRoaXMudG91Y2gxJiYidG91Y2giIT09dCYmKHRoaXMudG91Y2gxWzFdPWUuaW52ZXJ0KHRoaXMudG91Y2gxWzBdKSksdGhpcy50aGF0Ll9fem9vbT1lLHRoaXMuZW1pdCgiem9vbSIpLHRoaXN9LGVuZDpmdW5jdGlvbigpe3JldHVybiAwPT0tLXRoaXMuYWN0aXZlJiYoaC5zcGxpY2UodGhpcy5pbmRleCwxKSx0aGlzLmluZGV4PS0xLHRoaXMuZW1pdCgiZW5kIikpLHRoaXN9LGVtaXQ6ZnVuY3Rpb24odCl7IShmdW5jdGlvbiBlKHQsbixpLHIpe3ZhciBvPUZjdDt0LnNvdXJjZUV2ZW50PUZjdCxGY3Q9dDt0cnl7cmV0dXJuIG4uYXBwbHkoaSxyKX1maW5hbGx5e0ZjdD1vfX0pKG5ldyBscHQobSx0LHRoaXMudGhhdC5fX3pvb20pLGQuYXBwbHksZCxbdCx0aGlzLnRoYXQsdGhpcy5hcmdzXSl9fSxtLndoZWVsRGVsdGE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG89ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpzcHQoK3QpLG0pOm99LG0uZmlsdGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6c3B0KCEhdCksbSk6bn0sbS50b3VjaGFibGU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpzcHQoISF0KSxtKTphfSxtLmV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OnNwdChbWyt0WzBdWzBdLCt0WzBdWzFdXSxbK3RbMV1bMF0sK3RbMV1bMV1dXSksbSk6aX0sbS5zY2FsZUV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oc1swXT0rdFswXSxzWzFdPSt0WzFdLG0pOltzWzBdLHNbMV1dfSxtLnRyYW5zbGF0ZUV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obFswXVswXT0rdFswXVswXSxsWzFdWzBdPSt0WzFdWzBdLGxbMF1bMV09K3RbMF1bMV0sbFsxXVsxXT0rdFsxXVsxXSxtKTpbW2xbMF1bMF0sbFswXVsxXV0sW2xbMV1bMF0sbFsxXVsxXV1dfSxtLmNvbnN0cmFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LG0pOnJ9LG0uZHVyYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGM9K3QsbSk6Y30sbS5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odT10LG0pOnV9LG0ub249ZnVuY3Rpb24oKXt2YXIgdD1kLm9uLmFwcGx5KGQsYXJndW1lbnRzKTtyZXR1cm4gdD09PWQ/bTp0fSxtLmNsaWNrRGlzdGFuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGY9KHQ9K3QpKnQsbSk6TWF0aC5zcXJ0KGYpfSxtfSx6b29tVHJhbnNmb3JtOnBwdCx6b29tSWRlbnRpdHk6ZHB0fSkpOwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqCiAgICAgKiBAZmlsZW92ZXJ2aWV3IG1hbnVhbGx5IGFkZCBkMy1zZWxlY3Rpb24tbXVsdGkgdG8gZDMgZGVmYXVsdCBidW5kbGUuIE1vc3Qgb2YgdGhpcyBjb2RlIGlzCiAgICAgKiBjb3BpZWQgZnJvbSBkMy1zZWxlY3Rpb24tbXVsdGlAMS4wLjAuCiAgICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2QzL2QzLXNlbGVjdGlvbi1tdWx0aS9pc3N1ZXMvMTEgZm9yIHdoeSB3ZSBoYXZlIHRvIGRvIHRoaXMKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBabXQ9d3B0LEptdD13cHQ7ZnVuY3Rpb24gUW10KHQsZSl7cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24oKXt2YXIgdD1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxuPVptdC5zZWxlY3QodGhpcyk7Zm9yKHZhciBpIGluIHQpbi5hdHRyKGksdFtpXSl9KSl9ZnVuY3Rpb24gdGd0KHQsZSl7Zm9yKHZhciBuIGluIGUpdC5hdHRyKG4sZVtuXSk7cmV0dXJuIHR9ZnVuY3Rpb24gZWd0KHQsZSxuKXtyZXR1cm4gdC5lYWNoKChmdW5jdGlvbigpe3ZhciB0PWUuYXBwbHkodGhpcyxhcmd1bWVudHMpLGk9Wm10LnNlbGVjdCh0aGlzKTtmb3IodmFyIHIgaW4gdClpLnN0eWxlKHIsdFtyXSxuKX0pKX1mdW5jdGlvbiBuZ3QodCxlLG4pe2Zvcih2YXIgaSBpbiBlKXQuc3R5bGUoaSxlW2ldLG4pO3JldHVybiB0fWZ1bmN0aW9uIGlndCh0LGUpe3JldHVybiB0LmVhY2goKGZ1bmN0aW9uKCl7dmFyIHQ9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyksbj1abXQuc2VsZWN0KHRoaXMpO2Zvcih2YXIgaSBpbiB0KW4ucHJvcGVydHkoaSx0W2ldKX0pKX1mdW5jdGlvbiByZ3QodCxlKXtmb3IodmFyIG4gaW4gZSl0LnByb3BlcnR5KG4sZVtuXSk7cmV0dXJuIHR9ZnVuY3Rpb24gb2d0KHQsZSl7cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxpPVptdC5zZWxlY3QodGhpcykudHJhbnNpdGlvbih0KTtmb3IodmFyIHIgaW4gbilpLmF0dHIocixuW3JdKX0pKX1mdW5jdGlvbiBhZ3QodCxlKXtmb3IodmFyIG4gaW4gZSl0LmF0dHIobixlW25dKTtyZXR1cm4gdH1mdW5jdGlvbiBzZ3QodCxlLG4pe3JldHVybiB0LmVhY2goKGZ1bmN0aW9uKCl7dmFyIGk9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cykscj1abXQuc2VsZWN0KHRoaXMpLnRyYW5zaXRpb24odCk7Zm9yKHZhciBvIGluIGkpci5zdHlsZShvLGlbb10sbil9KSl9ZnVuY3Rpb24gbGd0KHQsZSxuKXtmb3IodmFyIGkgaW4gZSl0LnN0eWxlKGksZVtpXSxuKTtyZXR1cm4gdH1abXQuc2VsZWN0aW9uLnByb3RvdHlwZS5hdHRycz1mdW5jdGlvbiBjZ3QodCl7cmV0dXJuKCJmdW5jdGlvbiI9PXR5cGVvZiB0P1FtdDp0Z3QpKHRoaXMsdCl9LFptdC5zZWxlY3Rpb24ucHJvdG90eXBlLnN0eWxlcz1mdW5jdGlvbiB1Z3QodCxlKXtyZXR1cm4oImZ1bmN0aW9uIj09dHlwZW9mIHQ/ZWd0Om5ndCkodGhpcyx0LG51bGw9PWU/IiI6ZSl9LFptdC5zZWxlY3Rpb24ucHJvdG90eXBlLnByb3BlcnRpZXM9ZnVuY3Rpb24gaGd0KHQpe3JldHVybigiZnVuY3Rpb24iPT10eXBlb2YgdD9pZ3Q6cmd0KSh0aGlzLHQpfSxKbXQudHJhbnNpdGlvbi5wcm90b3R5cGUuYXR0cnM9ZnVuY3Rpb24gZGd0KHQpe3JldHVybigiZnVuY3Rpb24iPT10eXBlb2YgdD9vZ3Q6YWd0KSh0aGlzLHQpfSxKbXQudHJhbnNpdGlvbi5wcm90b3R5cGUuc3R5bGVzPWZ1bmN0aW9uIHBndCh0LGUpe3JldHVybigiZnVuY3Rpb24iPT10eXBlb2YgdD9zZ3Q6bGd0KSh0aGlzLHQsbnVsbD09ZT8iIjplKX07dmFyIGZndD17fSxtZ3Q9e30sZ2d0PU1lKEZtKSxfZ3Q9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KF9ndCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHlndD13cHQ7X2d0LmNvZXJjZUV4dGVybmFsRDM9ZnVuY3Rpb24gdmd0KHQpe2lmKG51bGw9PXQuYXR0cnMpe2lmKG51bGw9PXQubm9kZXMpe3ZhciBlPVtdO3JldHVybiB0LmVhY2goKGZ1bmN0aW9uKCl7ZS5wdXNoKHRoaXMpfSkpLHlndC5zZWxlY3RBbGwoZSl9cmV0dXJuIHlndC5zZWxlY3RBbGwodC5ub2RlcygpKX1yZXR1cm4gdH07dmFyIGJndD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoYmd0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxiZ3QubWFrZUVudW09ZnVuY3Rpb24geGd0KHQpe3JldHVybiB0LnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdFtlXT1lLHR9KSx7fSl9LAovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkobWd0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgd2d0PV9ndCxTZ3Q9e2xpbmVhcjpnZ3QuZWFzZUxpbmVhcixxdWFkOmdndC5lYXNlUXVhZCxxdWFkSW46Z2d0LmVhc2VRdWFkSW4scXVhZE91dDpnZ3QuZWFzZVF1YWRPdXQscXVhZEluT3V0OmdndC5lYXNlUXVhZEluT3V0LGN1YmljOmdndC5lYXNlQ3ViaWMsY3ViaWNJbjpnZ3QuZWFzZUN1YmljSW4sY3ViaWNPdXQ6Z2d0LmVhc2VDdWJpY091dCxjdWJpY0luT3V0OmdndC5lYXNlQ3ViaWNJbk91dCxwb2x5OmdndC5lYXNlUG9seSxwb2x5SW46Z2d0LmVhc2VQb2x5SW4scG9seU91dDpnZ3QuZWFzZVBvbHlPdXQscG9seUluT3V0OmdndC5lYXNlUG9seUluT3V0LHNpbjpnZ3QuZWFzZVNpbixzaW5JbjpnZ3QuZWFzZVNpbkluLHNpbk91dDpnZ3QuZWFzZVNpbk91dCxzaW5Jbk91dDpnZ3QuZWFzZVNpbkluT3V0LGV4cDpnZ3QuZWFzZUV4cCxleHBJbjpnZ3QuZWFzZUV4cEluLGV4cE91dDpnZ3QuZWFzZUV4cE91dCxleHBJbk91dDpnZ3QuZWFzZUV4cEluT3V0LGNpcmNsZTpnZ3QuZWFzZUNpcmNsZSxjaXJjbGVJbjpnZ3QuZWFzZUNpcmNsZUluLGNpcmNsZU91dDpnZ3QuZWFzZUNpcmNsZU91dCxjaXJjbGVJbk91dDpnZ3QuZWFzZUNpcmNsZUluT3V0LGJvdW5jZTpnZ3QuZWFzZUJvdW5jZSxib3VuY2VJbjpnZ3QuZWFzZUJvdW5jZUluLGJvdW5jZU91dDpnZ3QuZWFzZUJvdW5jZU91dCxib3VuY2VJbk91dDpnZ3QuZWFzZUJvdW5jZUluT3V0LGJhY2s6Z2d0LmVhc2VCYWNrLGJhY2tJbjpnZ3QuZWFzZUJhY2tJbixiYWNrT3V0OmdndC5lYXNlQmFja091dCxiYWNrSW5PdXQ6Z2d0LmVhc2VCYWNrSW5PdXQsZWxhc3RpYzpnZ3QuZWFzZUVsYXN0aWMsZWxhc3RpY0luOmdndC5lYXNlRWxhc3RpY0luLGVsYXN0aWNPdXQ6Z2d0LmVhc2VFbGFzdGljT3V0LGVsYXN0aWNJbk91dDpnZ3QuZWFzZUVsYXN0aWNJbk91dH07bWd0LkVhc2VOYW1lPWJndC5tYWtlRW51bShbImxpbmVhciIsInF1YWQiLCJxdWFkSW4iLCJxdWFkT3V0IiwicXVhZEluT3V0IiwiY3ViaWMiLCJjdWJpY0luIiwiY3ViaWNPdXQiLCJjdWJpY0luT3V0IiwicG9seSIsInBvbHlJbiIsInBvbHlPdXQiLCJwb2x5SW5PdXQiLCJzaW4iLCJzaW5JbiIsInNpbk91dCIsInNpbkluT3V0IiwiZXhwIiwiZXhwSW4iLCJleHBPdXQiLCJleHBJbk91dCIsImNpcmNsZSIsImNpcmNsZUluIiwiY2lyY2xlT3V0IiwiY2lyY2xlSW5PdXQiLCJib3VuY2UiLCJib3VuY2VJbiIsImJvdW5jZU91dCIsImJvdW5jZUluT3V0IiwiYmFjayIsImJhY2tJbiIsImJhY2tPdXQiLCJiYWNrSW5PdXQiLCJlbGFzdGljIiwiZWxhc3RpY0luIiwiZWxhc3RpY091dCIsImVsYXN0aWNJbk91dCJdKTt2YXIgTWd0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLl9zdGFydERlbGF5PXQuX0RFRkFVTFRfU1RBUlRfREVMQVlfTUlMTElTRUNPTkRTLHRoaXMuX3N0ZXBEdXJhdGlvbj10Ll9ERUZBVUxUX1NURVBfRFVSQVRJT05fTUlMTElTRUNPTkRTLHRoaXMuX3N0ZXBEZWxheT10Ll9ERUZBVUxUX0lURVJBVElWRV9ERUxBWV9NSUxMSVNFQ09ORFMsdGhpcy5fbWF4VG90YWxEdXJhdGlvbj10Ll9ERUZBVUxUX01BWF9UT1RBTF9EVVJBVElPTl9NSUxMSVNFQ09ORFMsdGhpcy5fZWFzaW5nTW9kZT10Ll9ERUZBVUxUX0VBU0lOR19NT0RFfXJldHVybiB0LnByb3RvdHlwZS50b3RhbFRpbWU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fZ2V0QWRqdXN0ZWRJdGVyYXRpdmVEZWxheSh0KTtyZXR1cm4gdGhpcy5zdGFydERlbGF5KCkrZSpNYXRoLm1heCh0LTEsMCkrdGhpcy5zdGVwRHVyYXRpb24oKX0sdC5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMsaT0odD13Z3QuY29lcmNlRXh0ZXJuYWxEMyh0KSkuc2l6ZSgpLHI9dGhpcy5fZ2V0QWRqdXN0ZWRJdGVyYXRpdmVEZWxheShpKTtyZXR1cm4gdC50cmFuc2l0aW9uKCkuZWFzZSh0aGlzLl9nZXRFYXNlRmFjdG9yeSgpKS5kdXJhdGlvbih0aGlzLnN0ZXBEdXJhdGlvbigpKS5kZWxheSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5zdGFydERlbGF5KCkrciplfSkpLmF0dHJzKGUpfSx0LnByb3RvdHlwZS5zdGFydERlbGF5PWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3N0YXJ0RGVsYXk6KHRoaXMuX3N0YXJ0RGVsYXk9dCx0aGlzKX0sdC5wcm90b3R5cGUuc3RlcER1cmF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P01hdGgubWluKHRoaXMuX3N0ZXBEdXJhdGlvbix0aGlzLl9tYXhUb3RhbER1cmF0aW9uKToodGhpcy5fc3RlcER1cmF0aW9uPXQsdGhpcyl9LHQucHJvdG90eXBlLnN0ZXBEZWxheT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9zdGVwRGVsYXk6KHRoaXMuX3N0ZXBEZWxheT10LHRoaXMpfSx0LnByb3RvdHlwZS5tYXhUb3RhbER1cmF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX21heFRvdGFsRHVyYXRpb246KHRoaXMuX21heFRvdGFsRHVyYXRpb249dCx0aGlzKX0sdC5wcm90b3R5cGUuZWFzaW5nTW9kZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9lYXNpbmdNb2RlOih0aGlzLl9lYXNpbmdNb2RlPXQsdGhpcyl9LHQucHJvdG90eXBlLl9nZXRFYXNlRmFjdG9yeT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZWFzaW5nTW9kZSgpO2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIGU9U2d0W3RdO3JldHVybiBudWxsPT1lP1NndC5saW5lYXI6ZX1yZXR1cm4gdH0sdC5wcm90b3R5cGUuX2dldEFkanVzdGVkSXRlcmF0aXZlRGVsYXk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5tYXhUb3RhbER1cmF0aW9uKCktdGhpcy5zdGVwRHVyYXRpb24oKSxuPShlPU1hdGgubWF4KGUsMCkpL01hdGgubWF4KHQtMSwxKTtyZXR1cm4gTWF0aC5taW4odGhpcy5zdGVwRGVsYXkoKSxuKX0sdC5fREVGQVVMVF9TVEFSVF9ERUxBWV9NSUxMSVNFQ09ORFM9MCx0Ll9ERUZBVUxUX1NURVBfRFVSQVRJT05fTUlMTElTRUNPTkRTPTMwMCx0Ll9ERUZBVUxUX0lURVJBVElWRV9ERUxBWV9NSUxMSVNFQ09ORFM9MTUsdC5fREVGQVVMVF9NQVhfVE9UQUxfRFVSQVRJT05fTUlMTElTRUNPTkRTPTEvMCx0Ll9ERUZBVUxUX0VBU0lOR19NT0RFPSJleHBPdXQiLHR9KSgpO21ndC5FYXNpbmc9TWd0O3ZhciBFZ3Q9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEVndCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFRndD1fZ3QsQ2d0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLnRvdGFsVGltZT1mdW5jdGlvbih0KXtyZXR1cm4gMH0sdC5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbih0LGUpe3JldHVybih0PVRndC5jb2VyY2VFeHRlcm5hbEQzKHQpKS5hdHRycyhlKX0sdH0pKCk7RWd0Lk51bGw9Q2d0LChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPO2UuX19leHBvcnRTdGFyKG1ndCx0KSxlLl9fZXhwb3J0U3RhcihFZ3QsdCl9KShmZ3QpO3ZhciBBZ3Q9e30sa2d0PXt9LExndD17fSxQZ3Q9e30sTmd0PXt9LElndD17fSxSZ3Q9e30sT2d0PXt9LHpndD17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoemd0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgRGd0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5jYWNoZT17fSx0aGlzLmNvbXB1dGU9dH1yZXR1cm4gdC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNhY2hlLmhhc093blByb3BlcnR5KHQpfHwodGhpcy5jYWNoZVt0XT10aGlzLmNvbXB1dGUodCkpLHRoaXMuY2FjaGVbdF19LHQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2FjaGU9e30sdGhpc30sdH0pKCk7emd0LkNhY2hlPURndDt2YXIgQmd0PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShCZ3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBIZ3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5hcnJheUVxPWZ1bmN0aW9uKHQsZSl7aWYobnVsbD09dHx8bnVsbD09ZSlyZXR1cm4gdD09PWU7aWYodC5sZW5ndGghPT1lLmxlbmd0aClyZXR1cm4hMTtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKylpZih0W25dIT09ZVtuXSlyZXR1cm4hMTtyZXR1cm4hMH0sdC5vYmpFcT1mdW5jdGlvbihlLG4pe2lmKG51bGw9PWV8fG51bGw9PW4pcmV0dXJuIGU9PT1uO3ZhciBpPU9iamVjdC5rZXlzKGUpLnNvcnQoKSxyPU9iamVjdC5rZXlzKG4pLnNvcnQoKSxvPWkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX0pKSxhPXIubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gblt0XX0pKTtyZXR1cm4gdC5hcnJheUVxKGkscikmJnQuYXJyYXlFcShvLGEpfSx0LnN0cmljdEVxPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lfSx0LmRlZmF1bHRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW24tMV09YXJndW1lbnRzW25dO2lmKG51bGw9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0Iik7dmFyIGk9T2JqZWN0KHQpO3JldHVybiBlLmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKG51bGwhPXQpZm9yKHZhciBlIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSkmJihpW2VdPXRbZV0pfSkpLGl9LHR9KSgpO0JndC5NZXRob2RzPUhndDt2YXIgRmd0PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShGZ3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBWZ3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5jb21iaW5lV2hpdGVzcGFjZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKC9bIFx0XSsvZywiICIpfSx0LmlzTm90RW1wdHlTdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiIiIT09dC50cmltKCl9LHQudHJpbVN0YXJ0PWZ1bmN0aW9uKGUsbil7aWYoIWUpcmV0dXJuIGU7dmFyIGk9ZS5zcGxpdCgiIikscj1uP2Z1bmN0aW9uKGUpe3JldHVybiBlLnNwbGl0KG4pLnNvbWUodC5pc05vdEVtcHR5U3RyaW5nKX06dC5pc05vdEVtcHR5U3RyaW5nO3JldHVybiBpLnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gcih0K2UpP3QrZTp0fSksIiIpfSx0LnRyaW1FbmQ9ZnVuY3Rpb24oZSxuKXtpZighZSlyZXR1cm4gZTt2YXIgaT1lLnNwbGl0KCIiKTtyZXR1cm4gaS5yZXZlcnNlKCksKGk9dC50cmltU3RhcnQoaS5qb2luKCIiKSxuKS5zcGxpdCgiIikpLnJldmVyc2UoKSxpLmpvaW4oIiIpfSx0fSkoKTtGZ3QuU3RyaW5nTWV0aG9kcz1WZ3Q7dmFyIFVndD17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoVWd0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgamd0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLldvcmREaXZpZGVyUmVnRXhwPW5ldyBSZWdFeHAoIlxcVyIpLHRoaXMuV2hpdGVzcGFjZVJlZ0V4cD1uZXcgUmVnRXhwKCJcXHMiKX1yZXR1cm4gdC5wcm90b3R5cGUudG9rZW5pemU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gdC5zcGxpdCgiIikucmVkdWNlKChmdW5jdGlvbih0LG4pe3JldHVybiB0LnNsaWNlKDAsLTEpLmNvbmNhdChlLnNob3VsZENyZWF0ZU5ld1Rva2VuKHRbdC5sZW5ndGgtMV0sbikpfSksWyIiXSl9LHQucHJvdG90eXBlLnNob3VsZENyZWF0ZU5ld1Rva2VuPWZ1bmN0aW9uKHQsZSl7aWYoIXQpcmV0dXJuW2VdO3ZhciBuPXRbdC5sZW5ndGgtMV07cmV0dXJuIHRoaXMuV2hpdGVzcGFjZVJlZ0V4cC50ZXN0KG4pJiZ0aGlzLldoaXRlc3BhY2VSZWdFeHAudGVzdChlKT9bdCtlXTp0aGlzLldoaXRlc3BhY2VSZWdFeHAudGVzdChuKXx8dGhpcy5XaGl0ZXNwYWNlUmVnRXhwLnRlc3QoZSk/W3QsZV06dGhpcy5Xb3JkRGl2aWRlclJlZ0V4cC50ZXN0KG4pP249PT1lP1t0K2VdOlt0LGVdOlt0K2VdfSx0fSkoKTtVZ3QuVG9rZW5pemVyPWpndCwoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXtmb3IodmFyIG4gaW4gZSl0Lmhhc093blByb3BlcnR5KG4pfHwodFtuXT1lW25dKX1PYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZSh6Z3QpLGUoQmd0KSxlKEZndCksZShVZ3QpfSkoT2d0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoUmd0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgR2d0PU9ndCxXZ3Q9e3RleHRSb3RhdGlvbjowLHRleHRTaGVhcjowLHhBbGlnbjoibGVmdCIseUFsaWduOiJ0b3AifSxxZ3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7dGhpcy5fbWVhc3VyZXI9dCx0aGlzLl9wZW5GYWN0b3J5PWUsdGhpcy5fd3JhcHBlcj1ufXJldHVybiB0LnByb3RvdHlwZS5tZWFzdXJlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbWVhc3VyZXI9dCx0aGlzfSx0LnByb3RvdHlwZS53cmFwcGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl93cmFwcGVyPXQsdGhpc30sdC5wcm90b3R5cGUucGVuRmFjdG9yeT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGVuRmFjdG9yeT10LHRoaXN9LHQucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUsbixpLHIsbyl7aWYodm9pZCAwPT09ciYmKHI9e30pLHI9R2d0Lk1ldGhvZHMuZGVmYXVsdHMoe30sV2d0LHIpLC0xPT09dC5TdXBwb3J0ZWRSb3RhdGlvbi5pbmRleE9mKHIudGV4dFJvdGF0aW9uKSl0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIHJvdGF0aW9uIC0gIityLnRleHRSb3RhdGlvbisiLiBTdXBwb3J0ZWQgcm90YXRpb25zIGFyZSAiK3QuU3VwcG9ydGVkUm90YXRpb24uam9pbigiLCAiKSk7aWYobnVsbCE9ci50ZXh0U2hlYXImJnIudGV4dFNoZWFyPC04MHx8ci50ZXh0U2hlYXI+ODApdGhyb3cgbmV3IEVycm9yKCJ1bnN1cHBvcnRlZCBzaGVhciBhbmdsZSAtICIrci50ZXh0U2hlYXIrIi4gTXVzdCBiZSBiZXR3ZWVuIC04MCBhbmQgODAiKTt2YXIgYT1NYXRoLmFicyhNYXRoLmFicyhyLnRleHRSb3RhdGlvbiktOTApPjQ1LHM9YT9uOmksbD1hP2k6bixjPXIudGV4dFNoZWFyLHU9YypNYXRoLlBJLzE4MCxoPXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoKS5oZWlnaHQsZD1oKk1hdGgudGFuKHUpLHA9cy9NYXRoLmNvcyh1KS1NYXRoLmFicyhkKSxmPWwqTWF0aC5jb3ModSksbT1HZ3QuU3RyaW5nTWV0aG9kcy5jb21iaW5lV2hpdGVzcGFjZShlKSxnPSh0aGlzLl93cmFwcGVyP3RoaXMuX3dyYXBwZXIud3JhcChtLHRoaXMuX21lYXN1cmVyLHAsZikud3JhcHBlZFRleHQ6bSkuc3BsaXQoIlxuIiksXz10LlhPZmZzZXRGYWN0b3Jbci54QWxpZ25dKnAqTWF0aC5zaW4odSktdC5ZT2Zmc2V0RmFjdG9yW3IueUFsaWduXSooZi1nLmxlbmd0aCpoKSx5PVswLDBdLHY9ci50ZXh0Um90YXRpb24rYztzd2l0Y2goci50ZXh0Um90YXRpb24pe2Nhc2UgOTA6eT1bbitfLDBdO2JyZWFrO2Nhc2UtOTA6eT1bLV8saV07YnJlYWs7Y2FzZSAxODA6eT1bbixpK19dO2JyZWFrO2RlZmF1bHQ6eT1bMCwtX119dmFyIGI9dGhpcy5fcGVuRmFjdG9yeS5jcmVhdGVQZW4oZSx7dHJhbnNsYXRlOnkscm90YXRlOnZ9LG8pO3RoaXMud3JpdGVMaW5lcyhnLGIscCxoLGQsci54QWxpZ24pLG51bGwhPWIuZGVzdHJveSYmYi5kZXN0cm95KCl9LHQucHJvdG90eXBlLndyaXRlTGluZXM9ZnVuY3Rpb24odCxlLG4saSxyLG8pe3QuZm9yRWFjaCgoZnVuY3Rpb24odCxhKXtlLndyaXRlKHQsbixvLHI+MD8oYSsxKSpyOmEqciwoYSsxKSppKX0pKX0sdH0pKCk7cWd0LlhPZmZzZXRGYWN0b3I9e2NlbnRlcjouNSxsZWZ0OjAscmlnaHQ6MX0scWd0LllPZmZzZXRGYWN0b3I9e2JvdHRvbToxLGNlbnRlcjouNSx0b3A6MH0scWd0LlN1cHBvcnRlZFJvdGF0aW9uPVstOTAsMCwxODAsOTBdLFJndC5Xcml0ZXI9cWd0LChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksKGZ1bmN0aW9uIGUobil7Zm9yKHZhciBpIGluIG4pdC5oYXNPd25Qcm9wZXJ0eShpKXx8KHRbaV09bltpXSl9KShSZ3QpfSkoSWd0KTt2YXIgWWd0PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShZZ3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBYZ3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5hcHBlbmQ9ZnVuY3Rpb24oZSxuKXtmb3IodmFyIGk9W10scj0yO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspaVtyLTJdPWFyZ3VtZW50c1tyXTt2YXIgbz10LmNyZWF0ZS5hcHBseSh0LFtuXS5jb25jYXQoaSkpO3JldHVybiBlLmFwcGVuZENoaWxkKG8pLG99LHQuY3JlYXRlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgbj1bXSxpPTE7aTxhcmd1bWVudHMubGVuZ3RoO2krKyluW2ktMV09YXJndW1lbnRzW2ldO3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSk7cmV0dXJuIHQuYWRkQ2xhc3Nlcy5hcHBseSh0LFtyXS5jb25jYXQobikpLHJ9LHQuYWRkQ2xhc3Nlcz1mdW5jdGlvbih0KXtmb3IodmFyIGU9W10sbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuLTFdPWFyZ3VtZW50c1tuXTtlPWUuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dH0pKSxudWxsIT10LmNsYXNzTGlzdD9lLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuY2xhc3NMaXN0LmFkZChlKX0pKTp0LnNldEF0dHJpYnV0ZSgiY2xhc3MiLGUuam9pbigiICIpKX0sdC5nZXREaW1lbnNpb25zPWZ1bmN0aW9uKHQpe2lmKHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KXRyeXt2YXIgZT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybnt3aWR0aDplLndpZHRoLGhlaWdodDplLmhlaWdodH19Y2F0Y2godCl7fXJldHVybntoZWlnaHQ6MCx3aWR0aDowfX0sdH0pKCk7WWd0Lkh0bWxVdGlscz1YZ3Q7dmFyICRndD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSxuKXt2b2lkIDA9PT1uJiYobj0hMSk7dmFyIGk9dGhpczt0aGlzLmVsZW1lbnQ9dCx0aGlzLmNsYXNzTmFtZT1lLHRoaXMuYWRkVGl0bGU9bix0aGlzLmNyZWF0ZVJ1bGVyPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPVhndC5hcHBlbmQoaS5lbGVtZW50LCJzcGFuIiwidGV4dC10bXAiLGkuY2xhc3NOYW1lKTtlLnRleHRDb250ZW50PXQ7dmFyIG49WGd0LmdldERpbWVuc2lvbnMoZSk7cmV0dXJuIGkuZWxlbWVudC5yZW1vdmVDaGlsZChlKSxufX0sdGhpcy5jcmVhdGVQZW49ZnVuY3Rpb24odCxlLG4pe251bGw9PW4mJihuPWkuZWxlbWVudCk7dmFyIHI9WGd0LmFwcGVuZChuLCJkaXYiLCJ0ZXh0LWJsb2NrIixpLmNsYXNzTmFtZSk7cmV0dXJuIHIuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIixyLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIC0xZW0pIHRyYW5zbGF0ZSgiK2UudHJhbnNsYXRlWzBdKyJweCwgIitlLnRyYW5zbGF0ZVsxXSsicHgpIHJvdGF0ZSgiK2Uucm90YXRlKyJkZWcpIixyLnN0eWxlLnRyYW5zZm9ybU9yaWdpbj0iMCAxLjJlbSIsaS5hZGRUaXRsZSYmci5zZXRBdHRyaWJ1dGUoInRpdGxlIix0KSxpLmNyZWF0ZUh0bWxMaW5lUGVuKHIpfX1yZXR1cm4gdC5wcm90b3R5cGUuc2V0QWRkVGl0bGU9ZnVuY3Rpb24odCl7dGhpcy5hZGRUaXRsZT10fSx0LnByb3RvdHlwZS5jcmVhdGVIdG1sTGluZVBlbj1mdW5jdGlvbih0KXtyZXR1cm57d3JpdGU6ZnVuY3Rpb24oZSxuLGkscixvKXt2YXIgYT1YZ3QuYXBwZW5kKHQsImRpdiIsInRleHQtbGluZSIpO2EudGV4dENvbnRlbnQ9ZSxhLnN0eWxlLndpZHRoPW4rInB4IixhLnN0eWxlLnRleHRBbGlnbj1pLGEuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixhLnN0eWxlLndoaXRlU3BhY2U9Im5vd3JhcCIsYS5zdHlsZS50b3A9bysicHgiLGEuc3R5bGUubGVmdD1yKyJweCJ9fX0sdH0pKCk7WWd0Lkh0bWxDb250ZXh0PSRndCxPYmplY3QuZGVmaW5lUHJvcGVydHkoTmd0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgS2d0PUlndCxaZ3Q9WWd0LEpndD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiB0LmFwcGVuZD1mdW5jdGlvbihlLG4pe2Zvcih2YXIgaT1bXSxyPTI7cjxhcmd1bWVudHMubGVuZ3RoO3IrKylpW3ItMl09YXJndW1lbnRzW3JdO3ZhciBvPXQuY3JlYXRlLmFwcGx5KHQsW25dLmNvbmNhdChpKSk7cmV0dXJuIGUuYXBwZW5kQ2hpbGQobyksb30sdC5jcmVhdGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciBuPVtdLGk9MTtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKW5baS0xXT1hcmd1bWVudHNbaV07dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuU1ZHX05TLGUpO3JldHVybiBaZ3QuSHRtbFV0aWxzLmFkZENsYXNzZXMuYXBwbHkoWmd0Lkh0bWxVdGlscyxbcl0uY29uY2F0KG4pKSxyfSx0LmdldERpbWVuc2lvbnM9ZnVuY3Rpb24odCl7aWYodC5nZXRCQm94KXRyeXt2YXIgZT10LmdldEJCb3goKTtyZXR1cm57d2lkdGg6ZS53aWR0aCxoZWlnaHQ6ZS5oZWlnaHR9fWNhdGNoKHQpe31yZXR1cm57aGVpZ2h0OjAsd2lkdGg6MH19LHR9KSgpO0pndC5TVkdfTlM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixOZ3QuU3ZnVXRpbHM9Smd0O3ZhciBRZ3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7dm9pZCAwPT09biYmKG49ITEpO3ZhciBpPXRoaXM7dGhpcy5lbGVtZW50PXQsdGhpcy5jbGFzc05hbWU9ZSx0aGlzLmFkZFRpdGxlRWxlbWVudD1uLHRoaXMuY3JlYXRlUnVsZXI9ZnVuY3Rpb24oKXt2YXIgdD1pLmdldFRleHRFbGVtZW50cyhpLmVsZW1lbnQpLGU9dC5wYXJlbnRFbGVtZW50LG49dC5jb250YWluZXJFbGVtZW50LHI9dC50ZXh0RWxlbWVudDtyZXR1cm4gZnVuY3Rpb24odCl7ZS5hcHBlbmRDaGlsZChuKSxyLnRleHRDb250ZW50PXQ7dmFyIGk9Smd0LmdldERpbWVuc2lvbnMocik7cmV0dXJuIGUucmVtb3ZlQ2hpbGQobiksaX19LHRoaXMuY3JlYXRlUGVuPWZ1bmN0aW9uKHQsZSxuKXtudWxsPT1uJiYobj1pLmVsZW1lbnQpO3ZhciByPUpndC5hcHBlbmQobiwiZyIsInRleHQtY29udGFpbmVyIixpLmNsYXNzTmFtZSk7aS5hZGRUaXRsZUVsZW1lbnQmJihKZ3QuYXBwZW5kKHIsInRpdGxlIikudGV4dENvbnRlbnQ9dCxyLnNldEF0dHJpYnV0ZSgidGl0bGUiLHQpKTt2YXIgbz1KZ3QuYXBwZW5kKHIsImciLCJ0ZXh0LWFyZWEiKTtyZXR1cm4gby5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK2UudHJhbnNsYXRlWzBdKyIsIitlLnRyYW5zbGF0ZVsxXSsiKXJvdGF0ZSgiK2Uucm90YXRlKyIpIiksaS5jcmVhdGVTdmdMaW5lUGVuKG8pfX1yZXR1cm4gdC5wcm90b3R5cGUuc2V0QWRkVGl0bGVFbGVtZW50PWZ1bmN0aW9uKHQpe3RoaXMuYWRkVGl0bGVFbGVtZW50PXR9LHQucHJvdG90eXBlLmNyZWF0ZVN2Z0xpbmVQZW49ZnVuY3Rpb24oZSl7cmV0dXJue3dyaXRlOmZ1bmN0aW9uKG4saSxyLG8sYSl7bys9aSpLZ3QuV3JpdGVyLlhPZmZzZXRGYWN0b3Jbcl07dmFyIHM9Smd0LmFwcGVuZChlLCJ0ZXh0IiwidGV4dC1saW5lIik7cy50ZXh0Q29udGVudD1uLHMuc2V0QXR0cmlidXRlKCJ0ZXh0LWFuY2hvciIsdC5BbmNob3JNYXBbcl0pLHMuc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitvKyIsIithKyIpIikscy5zZXRBdHRyaWJ1dGUoInkiLCItMC4yNWVtIil9fX0sdC5wcm90b3R5cGUuZ2V0VGV4dEVsZW1lbnRzPWZ1bmN0aW9uKHQpe2lmKCJ0ZXh0Ij09PXQudGFnTmFtZSlyZXR1cm4gbnVsbD09KGU9dC5wYXJlbnRFbGVtZW50KSYmKGU9dC5wYXJlbnROb2RlKSxlLnJlbW92ZUNoaWxkKHQpLHtjb250YWluZXJFbGVtZW50OnQscGFyZW50RWxlbWVudDplLHRleHRFbGVtZW50OnR9O3ZhciBlLG49dC5xdWVyeVNlbGVjdG9yKCJ0ZXh0Iik7aWYobnVsbCE9bilyZXR1cm4gbnVsbD09KGU9bi5wYXJlbnRFbGVtZW50KSYmKGU9bi5wYXJlbnROb2RlKSxlLnJlbW92ZUNoaWxkKG4pLHtjb250YWluZXJFbGVtZW50Om4scGFyZW50RWxlbWVudDplLHRleHRFbGVtZW50Om59O3ZhciBpPUpndC5jcmVhdGUoInRleHQiLHRoaXMuY2xhc3NOYW1lKTtyZXR1cm57Y29udGFpbmVyRWxlbWVudDppLHBhcmVudEVsZW1lbnQ6dCx0ZXh0RWxlbWVudDppfX0sdH0pKCk7UWd0LkFuY2hvck1hcD17Y2VudGVyOiJtaWRkbGUiLGxlZnQ6InN0YXJ0IixyaWdodDoiZW5kIn0sTmd0LlN2Z0NvbnRleHQ9UWd0O3ZhciB0X3Q9e307T2JqZWN0LmRlZmluZVByb3BlcnR5KHRfdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGVfdD1JZ3Qsbl90PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlLG4pe3ZvaWQgMD09PWUmJihlPTEwKSx2b2lkIDA9PT1uJiYobj17fSk7dmFyIGk9dGhpczt0aGlzLmN0eD10LHRoaXMubGluZUhlaWdodD1lLHRoaXMuc3R5bGU9bix0aGlzLmNyZWF0ZVJ1bGVyPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBpLmN0eC5mb250PWkuc3R5bGUuZm9udCx7d2lkdGg6aS5jdHgubWVhc3VyZVRleHQodCkud2lkdGgsaGVpZ2h0OmkubGluZUhlaWdodH19fSx0aGlzLmNyZWF0ZVBlbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIG51bGw9PW4mJihuPWkuY3R4KSxuLnNhdmUoKSxuLnRyYW5zbGF0ZShlLnRyYW5zbGF0ZVswXSxlLnRyYW5zbGF0ZVsxXSksbi5yb3RhdGUoZS5yb3RhdGUqTWF0aC5QSS8xODApLGkuY3JlYXRlQ2FudmFzUGVuKG4pfSx2b2lkIDA9PT10aGlzLnN0eWxlLmZpbGwmJih0aGlzLnN0eWxlLmZpbGw9IiM0NDQiKX1yZXR1cm4gdC5wcm90b3R5cGUuY3JlYXRlQ2FudmFzUGVuPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7cmV0dXJue2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0LnJlc3RvcmUoKX0sd3JpdGU6ZnVuY3Rpb24obixpLHIsbyxhKXtvKz1pKmVfdC5Xcml0ZXIuWE9mZnNldEZhY3RvcltyXSx0LnRleHRBbGlnbj1yLG51bGwhPWUuc3R5bGUuZm9udCYmKHQuZm9udD1lLnN0eWxlLmZvbnQpLG51bGwhPWUuc3R5bGUuZmlsbCYmKHQuZmlsbFN0eWxlPWUuc3R5bGUuZmlsbCx0LmZpbGxUZXh0KG4sbyxhKSksbnVsbCE9ZS5zdHlsZS5zdHJva2UmJih0LnN0cm9rZVN0eWxlPWUuc3R5bGUuZmlsbCx0LnN0cm9rZVRleHQobixvLGEpKX19fSx0fSkoKTt0X3QuQ2FudmFzQ29udGV4dD1uX3QsKGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7Zm9yKHZhciBuIGluIGUpdC5oYXNPd25Qcm9wZXJ0eShuKXx8KHRbbl09ZVtuXSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUoTmd0KSxlKHRfdCksZShZZ3QpfSkoUGd0KTt2YXIgaV90PXt9LHJfdD17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkocl90LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgb190PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5ydWxlcj1udWxsIT10LmNyZWF0ZVJ1bGVyP3QuY3JlYXRlUnVsZXIoKTp0fXJldHVybiB0LnByb3RvdHlwZS5tZWFzdXJlPWZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT10LkhFSUdIVF9URVhUKSx0aGlzLnJ1bGVyKGUpfSx0fSkoKTtvX3QuSEVJR0hUX1RFWFQ9ImJkcHFsIixyX3QuQWJzdHJhY3RNZWFzdXJlcj1vX3Q7dmFyIGFfdD17fSxzX3Q9e30sbF90PXt9LGNfdD1TZSYmU2UuX19leHRlbmRzfHwoZnVuY3Rpb24oKXt2YXIgdD1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodFtuXT1lW25dKX07cmV0dXJuIGZ1bmN0aW9uKGUsbil7ZnVuY3Rpb24gaSgpe3RoaXMuY29uc3RydWN0b3I9ZX10KGUsbiksZS5wcm90b3R5cGU9bnVsbD09PW4/T2JqZWN0LmNyZWF0ZShuKTooaS5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IGkpfX0pKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGxfdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHVfdD1yX3QsaF90PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUsbil7dm9pZCAwPT09biYmKG49ITEpO3ZhciBpPXQuY2FsbCh0aGlzLGUpfHx0aGlzO3JldHVybiBpLnVzZUd1YXJkcz1uLGl9cmV0dXJuIGNfdChlLHQpLGUucHJvdG90eXBlLl9hZGRHdWFyZHM9ZnVuY3Rpb24odCl7cmV0dXJuIHVfdC5BYnN0cmFjdE1lYXN1cmVyLkhFSUdIVF9URVhUK3QrdV90LkFic3RyYWN0TWVhc3VyZXIuSEVJR0hUX1RFWFR9LGUucHJvdG90eXBlLl9tZWFzdXJlTGluZT1mdW5jdGlvbihlLG4pe3ZvaWQgMD09PW4mJihuPSExKTt2YXIgaT10aGlzLnVzZUd1YXJkc3x8bnx8L15bXHQgXSQvLnRlc3QoZSkscj1pP3RoaXMuX2FkZEd1YXJkcyhlKTplLG89dC5wcm90b3R5cGUubWVhc3VyZS5jYWxsKHRoaXMscik7cmV0dXJuIG8ud2lkdGgtPWk/Mip0aGlzLmdldEd1YXJkV2lkdGgoKTowLG99LGUucHJvdG90eXBlLm1lYXN1cmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZih2b2lkIDA9PT10JiYodD11X3QuQWJzdHJhY3RNZWFzdXJlci5IRUlHSFRfVEVYVCksIiI9PT10LnRyaW0oKSlyZXR1cm57d2lkdGg6MCxoZWlnaHQ6MH07dmFyIG49dC50cmltKCkuc3BsaXQoIlxuIikubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fbWVhc3VyZUxpbmUodCl9KSk7cmV0dXJue2hlaWdodDpuLnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCtlLmhlaWdodH0pLDApLHdpZHRoOm4ucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiBNYXRoLm1heCh0LGUud2lkdGgpfSksMCl9fSxlLnByb3RvdHlwZS5nZXRHdWFyZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PXRoaXMuZ3VhcmRXaWR0aCYmKHRoaXMuZ3VhcmRXaWR0aD10LnByb3RvdHlwZS5tZWFzdXJlLmNhbGwodGhpcykud2lkdGgpLHRoaXMuZ3VhcmRXaWR0aH0sZX0pKHVfdC5BYnN0cmFjdE1lYXN1cmVyKTtsX3QuTWVhc3VyZXI9aF90O3ZhciBkX3Q9U2UmJlNlLl9fZXh0ZW5kc3x8KGZ1bmN0aW9uKCl7dmFyIHQ9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX18fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbbl09ZVtuXSl9O3JldHVybiBmdW5jdGlvbihlLG4pe2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLG4pLGUucHJvdG90eXBlPW51bGw9PT1uP09iamVjdC5jcmVhdGUobik6KGkucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyBpKX19KSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShzX3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBwX3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBkX3QoZSx0KSxlLnByb3RvdHlwZS5fbWVhc3VyZUNoYXJhY3Rlcj1mdW5jdGlvbihlKXtyZXR1cm4gdC5wcm90b3R5cGUuX21lYXN1cmVMaW5lLmNhbGwodGhpcyxlKX0sZS5wcm90b3R5cGUuX21lYXN1cmVMaW5lPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10LnNwbGl0KCIiKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9tZWFzdXJlQ2hhcmFjdGVyKHQpfSkpO3JldHVybntoZWlnaHQ6bi5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWF4KHQsZS5oZWlnaHQpfSksMCksd2lkdGg6bi5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrZS53aWR0aH0pLDApfX0sZX0pKGxfdC5NZWFzdXJlcik7c190LkNoYXJhY3Rlck1lYXN1cmVyPXBfdDt2YXIgZl90PVNlJiZTZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciB0PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0W25dPWVbbl0pfTtyZXR1cm4gZnVuY3Rpb24oZSxuKXtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfXQoZSxuKSxlLnByb3RvdHlwZT1udWxsPT09bj9PYmplY3QuY3JlYXRlKG4pOihpLnByb3RvdHlwZT1uLnByb3RvdHlwZSxuZXcgaSl9fSkoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoYV90LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbV90PU9ndCxnX3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxuKXt2YXIgaT10LmNhbGwodGhpcyxlLG4pfHx0aGlzO3JldHVybiBpLmNhY2hlPW5ldyBtX3QuQ2FjaGUoKGZ1bmN0aW9uKHQpe3JldHVybiBpLl9tZWFzdXJlQ2hhcmFjdGVyTm90RnJvbUNhY2hlKHQpfSkpLGl9cmV0dXJuIGZfdChlLHQpLGUucHJvdG90eXBlLl9tZWFzdXJlQ2hhcmFjdGVyTm90RnJvbUNhY2hlPWZ1bmN0aW9uKGUpe3JldHVybiB0LnByb3RvdHlwZS5fbWVhc3VyZUNoYXJhY3Rlci5jYWxsKHRoaXMsZSl9LGUucHJvdG90eXBlLl9tZWFzdXJlQ2hhcmFjdGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNhY2hlLmdldCh0KX0sZS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmNhY2hlLmNsZWFyKCl9LGV9KShzX3QuQ2hhcmFjdGVyTWVhc3VyZXIpO2FfdC5DYWNoZUNoYXJhY3Rlck1lYXN1cmVyPWdfdDt2YXIgX190PXt9LHlfdD1TZSYmU2UuX19leHRlbmRzfHwoZnVuY3Rpb24oKXt2YXIgdD1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodFtuXT1lW25dKX07cmV0dXJuIGZ1bmN0aW9uKGUsbil7ZnVuY3Rpb24gaSgpe3RoaXMuY29uc3RydWN0b3I9ZX10KGUsbiksZS5wcm90b3R5cGU9bnVsbD09PW4/T2JqZWN0LmNyZWF0ZShuKTooaS5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IGkpfX0pKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KF9fdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHZfdD1PZ3QsYl90PXJfdCx4X3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dmFyIG49dC5jYWxsKHRoaXMsZSl8fHRoaXM7cmV0dXJuIG4uZGltQ2FjaGU9bmV3IHZfdC5DYWNoZSgoZnVuY3Rpb24odCl7cmV0dXJuIG4uX21lYXN1cmVOb3RGcm9tQ2FjaGUodCl9KSksbn1yZXR1cm4geV90KGUsdCksZS5wcm90b3R5cGUuX21lYXN1cmVOb3RGcm9tQ2FjaGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHQucHJvdG90eXBlLm1lYXN1cmUuY2FsbCh0aGlzLGUpfSxlLnByb3RvdHlwZS5tZWFzdXJlPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10JiYodD1iX3QuQWJzdHJhY3RNZWFzdXJlci5IRUlHSFRfVEVYVCksdGhpcy5kaW1DYWNoZS5nZXQodCl9LGUucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5kaW1DYWNoZS5jbGVhcigpLHQucHJvdG90eXBlLnJlc2V0LmNhbGwodGhpcyl9LGV9KShhX3QuQ2FjaGVDaGFyYWN0ZXJNZWFzdXJlcik7X190LkNhY2hlTWVhc3VyZXI9eF90LChmdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUpe2Zvcih2YXIgbiBpbiBlKXQuaGFzT3duUHJvcGVydHkobil8fCh0W25dPWVbbl0pfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlKHJfdCksZShhX3QpLGUoX190KSxlKHNfdCksZShsX3QpfSkoaV90KTt2YXIgd190PXt9LFNfdD17fSxNX3Q9e30sRV90PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShFX3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBUX3Q9T2d0LENfdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dGhpcy5tYXhMaW5lcygxLzApLHRoaXMudGV4dFRyaW1taW5nKCJlbGxpcHNpcyIpLHRoaXMuYWxsb3dCcmVha2luZ1dvcmRzKCExKSx0aGlzLl90b2tlbml6ZXI9bmV3IFRfdC5Ub2tlbml6ZXIsdGhpcy5fYnJlYWtpbmdDaGFyYWN0ZXI9Ii0ifXJldHVybiB0LnByb3RvdHlwZS5tYXhMaW5lcz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9tYXhMaW5lczoodGhpcy5fbWF4TGluZXM9dCx0aGlzKX0sdC5wcm90b3R5cGUudGV4dFRyaW1taW5nPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3RleHRUcmltbWluZztpZigiZWxsaXBzaXMiIT09dCYmIm5vbmUiIT09dCl0aHJvdyBuZXcgRXJyb3IodCsiIC0gdW5zdXBwb3J0ZWQgdGV4dCB0cmltbWluZyBvcHRpb24uIik7cmV0dXJuIHRoaXMuX3RleHRUcmltbWluZz10LHRoaXN9LHQucHJvdG90eXBlLmFsbG93QnJlYWtpbmdXb3Jkcz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9hbGxvd0JyZWFraW5nV29yZHM6KHRoaXMuX2FsbG93QnJlYWtpbmdXb3Jkcz10LHRoaXMpfSx0LnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByPXRoaXM7dm9pZCAwPT09aSYmKGk9MS8wKTt2YXIgbz17bm9Ccm9rZVdvcmRzOjAsbm9MaW5lczowLG9yaWdpbmFsVGV4dDp0LHRydW5jYXRlZFRleHQ6IiIsd3JhcHBlZFRleHQ6IiJ9LGE9e2F2YWlsYWJsZUxpbmVzOk1hdGgubWluKE1hdGguZmxvb3IoaS9lLm1lYXN1cmUoKS5oZWlnaHQpLHRoaXMuX21heExpbmVzKSxhdmFpbGFibGVXaWR0aDpuLGNhbkZpdFRleHQ6ITAsY3VycmVudExpbmU6IiIsd3JhcHBpbmc6b30scz10LnNwbGl0KCJcbiIpO3JldHVybiBzLnJlZHVjZSgoZnVuY3Rpb24odCxuLGkpe3JldHVybiByLmJyZWFrTGluZVRvRml0V2lkdGgodCxuLGkhPT1zLmxlbmd0aC0xLGUpfSksYSkud3JhcHBpbmd9LHQucHJvdG90eXBlLmJyZWFrTGluZVRvRml0V2lkdGg9ZnVuY3Rpb24odCxlLG4saSl7dmFyIHI9dGhpczt0LmNhbkZpdFRleHR8fCIiPT09dC53cmFwcGluZy50cnVuY2F0ZWRUZXh0fHwodC53cmFwcGluZy50cnVuY2F0ZWRUZXh0Kz0iXG4iKSx0PXRoaXMuX3Rva2VuaXplci50b2tlbml6ZShlKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIud3JhcE5leHRUb2tlbihlLHQsaSl9KSx0KTt2YXIgbz1UX3QuU3RyaW5nTWV0aG9kcy50cmltRW5kKHQuY3VycmVudExpbmUpO3JldHVybiB0LndyYXBwaW5nLm5vTGluZXMrPSsoIiIhPT1vKSx0LndyYXBwaW5nLm5vTGluZXM9PT10LmF2YWlsYWJsZUxpbmVzJiYibm9uZSIhPT10aGlzLl90ZXh0VHJpbW1pbmcmJm4/dC5jYW5GaXRUZXh0PSExOnQud3JhcHBpbmcud3JhcHBlZFRleHQrPW8sdC5jdXJyZW50TGluZT0iXG4iLHR9LHQucHJvdG90eXBlLmNhbkZpdFRva2VuPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10aGlzLHI9dC5zcGxpdCgiIikubWFwKChmdW5jdGlvbihlLG4pe3JldHVybiBuIT09dC5sZW5ndGgtMT9lK2kuX2JyZWFraW5nQ2hhcmFjdGVyOmV9KSk7cmV0dXJuIG4ubWVhc3VyZSh0KS53aWR0aDw9ZXx8ci5ldmVyeSgoZnVuY3Rpb24odCl7cmV0dXJuIG4ubWVhc3VyZSh0KS53aWR0aDw9ZX0pKX0sdC5wcm90b3R5cGUuYWRkRWxsaXBzaXM9ZnVuY3Rpb24odCxlLG4pe2lmKCJub25lIj09PXRoaXMuX3RleHRUcmltbWluZylyZXR1cm57cmVtYWluaW5nVG9rZW46IiIsd3JhcHBlZFRva2VuOnR9O3ZhciBpPXQuc3Vic3RyaW5nKDApLnRyaW0oKSxyPW4ubWVhc3VyZShpKS53aWR0aCxvPW4ubWVhc3VyZSgiLi4uIikud2lkdGgsYT10Lmxlbmd0aD4wJiYiXG4iPT09dFswXT8iXG4iOiIiO2lmKGU8PW8pe3ZhciBzPU1hdGguZmxvb3IoZS8oby8zKSk7cmV0dXJue3JlbWFpbmluZ1Rva2VuOnQsd3JhcHBlZFRva2VuOmErIi4uLiIuc3Vic3RyKDAscyl9fWZvcig7citvPmU7KWk9VF90LlN0cmluZ01ldGhvZHMudHJpbUVuZChpLnN1YnN0cigwLGkubGVuZ3RoLTEpKSxyPW4ubWVhc3VyZShpKS53aWR0aDtyZXR1cm57cmVtYWluaW5nVG9rZW46VF90LlN0cmluZ01ldGhvZHMudHJpbUVuZCh0LnN1YnN0cmluZyhpLmxlbmd0aCksIi0iKS50cmltKCksd3JhcHBlZFRva2VuOmEraSsiLi4uIn19LHQucHJvdG90eXBlLndyYXBOZXh0VG9rZW49ZnVuY3Rpb24odCxlLG4pe2lmKCFlLmNhbkZpdFRleHR8fGUuYXZhaWxhYmxlTGluZXM9PT1lLndyYXBwaW5nLm5vTGluZXN8fCF0aGlzLmNhbkZpdFRva2VuKHQsZS5hdmFpbGFibGVXaWR0aCxuKSlyZXR1cm4gdGhpcy5maW5pc2hXcmFwcGluZyh0LGUsbik7Zm9yKHZhciBpPXQ7aTspe3ZhciByPXRoaXMuYnJlYWtUb2tlblRvRml0SW5XaWR0aChpLGUuY3VycmVudExpbmUsZS5hdmFpbGFibGVXaWR0aCxuKTtpZihlLmN1cnJlbnRMaW5lPXIubGluZSxudWxsIT0oaT1yLnJlbWFpbmluZ1Rva2VuKSl7aWYoZS53cmFwcGluZy5ub0Jyb2tlV29yZHMrPStyLmJyZWFrV29yZCwrK2Uud3JhcHBpbmcubm9MaW5lcyxlLmF2YWlsYWJsZUxpbmVzPT09ZS53cmFwcGluZy5ub0xpbmVzKXt2YXIgbz10aGlzLmFkZEVsbGlwc2lzKGUuY3VycmVudExpbmUsZS5hdmFpbGFibGVXaWR0aCxuKTtyZXR1cm4gZS53cmFwcGluZy53cmFwcGVkVGV4dCs9by53cmFwcGVkVG9rZW4sZS53cmFwcGluZy50cnVuY2F0ZWRUZXh0Kz1vLnJlbWFpbmluZ1Rva2VuK2ksZS5jdXJyZW50TGluZT0iXG4iLGV9ZS53cmFwcGluZy53cmFwcGVkVGV4dCs9VF90LlN0cmluZ01ldGhvZHMudHJpbUVuZChlLmN1cnJlbnRMaW5lKSxlLmN1cnJlbnRMaW5lPSJcbiJ9fXJldHVybiBlfSx0LnByb3RvdHlwZS5maW5pc2hXcmFwcGluZz1mdW5jdGlvbih0LGUsbil7aWYoZS5jYW5GaXRUZXh0JiZlLmF2YWlsYWJsZUxpbmVzIT09ZS53cmFwcGluZy5ub0xpbmVzJiYibm9uZSIhPT10aGlzLl90ZXh0VHJpbW1pbmcpe3ZhciBpPXRoaXMuYWRkRWxsaXBzaXMoZS5jdXJyZW50TGluZSt0LGUuYXZhaWxhYmxlV2lkdGgsbik7ZS53cmFwcGluZy53cmFwcGVkVGV4dCs9aS53cmFwcGVkVG9rZW4sZS53cmFwcGluZy50cnVuY2F0ZWRUZXh0Kz1pLnJlbWFpbmluZ1Rva2VuLGUud3JhcHBpbmcubm9Ccm9rZVdvcmRzKz0rKGkucmVtYWluaW5nVG9rZW4ubGVuZ3RoPHQubGVuZ3RoKSxlLndyYXBwaW5nLm5vTGluZXMrPSsoaS53cmFwcGVkVG9rZW4ubGVuZ3RoPjApLGUuY3VycmVudExpbmU9IiJ9ZWxzZSBlLndyYXBwaW5nLnRydW5jYXRlZFRleHQrPXQ7cmV0dXJuIGUuY2FuRml0VGV4dD0hMSxlfSx0LnByb3RvdHlwZS5icmVha1Rva2VuVG9GaXRJbldpZHRoPWZ1bmN0aW9uKHQsZSxuLGkscil7aWYodm9pZCAwPT09ciYmKHI9dGhpcy5fYnJlYWtpbmdDaGFyYWN0ZXIpLGkubWVhc3VyZShlK3QpLndpZHRoPD1uKXJldHVybnticmVha1dvcmQ6ITEsbGluZTplK3QscmVtYWluaW5nVG9rZW46bnVsbH07aWYoIiI9PT10LnRyaW0oKSlyZXR1cm57YnJlYWtXb3JkOiExLGxpbmU6ZSxyZW1haW5pbmdUb2tlbjoiIn07aWYoIXRoaXMuX2FsbG93QnJlYWtpbmdXb3JkcyYmIiIhPT1lLnRyaW0oKSlyZXR1cm57YnJlYWtXb3JkOiExLGxpbmU6ZSxyZW1haW5pbmdUb2tlbjp0fTtmb3IodmFyIG89MDtvPHQubGVuZ3RoJiZpLm1lYXN1cmUoZSt0LnN1YnN0cmluZygwLG8rMSkrcikud2lkdGg8PW47KSsrbzt2YXIgYT0iIjtyZXR1cm4gbz4wJiYoYT1yKSx7YnJlYWtXb3JkOm8+MCxsaW5lOmUrdC5zdWJzdHJpbmcoMCxvKSthLHJlbWFpbmluZ1Rva2VuOnQuc3Vic3RyaW5nKG8pfX0sdH0pKCk7RV90LldyYXBwZXI9Q190O3ZhciBBX3Q9U2UmJlNlLl9fZXh0ZW5kc3x8KGZ1bmN0aW9uKCl7dmFyIHQ9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX18fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbbl09ZVtuXSl9O3JldHVybiBmdW5jdGlvbihlLG4pe2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLG4pLGUucHJvdG90eXBlPW51bGw9PT1uP09iamVjdC5jcmVhdGUobik6KGkucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyBpKX19KSgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShNX3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBrX3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBBX3QoZSx0KSxlLnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKG4saSxyLG8pe3ZhciBhPXRoaXM7aWYodm9pZCAwPT09byYmKG89MS8wKSxuLnNwbGl0KCJcbiIpLmxlbmd0aD4xKXRocm93IG5ldyBFcnJvcigiU2luZ2xlTGluZVdyYXBwZXIgaXMgZGVzaWduZWQgdG8gd29yayBvbmx5IG9uIHNpbmdsZSBsaW5lIik7dmFyIHM9ZnVuY3Rpb24oZSl7cmV0dXJuIHQucHJvdG90eXBlLndyYXAuY2FsbChhLG4saSxlLG8pfSxsPXMocik7aWYobC5ub0xpbmVzPDIpcmV0dXJuIGw7Zm9yKHZhciBjPTAsdT1yLGg9MDtoPGUuTk9fV1JBUF9JVEVSQVRJT05TJiZ1PmM7KytoKXt2YXIgZD0odStjKS8yLHA9cyhkKTt0aGlzLmFyZVNhbWVSZXN1bHRzKGwscCk/KHU9ZCxsPXApOmM9ZH1yZXR1cm4gbH0sZS5wcm90b3R5cGUuYXJlU2FtZVJlc3VsdHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5ub0xpbmVzPT09ZS5ub0xpbmVzJiZ0LnRydW5jYXRlZFRleHQ9PT1lLnRydW5jYXRlZFRleHR9LGV9KShFX3QuV3JhcHBlcik7a190Lk5PX1dSQVBfSVRFUkFUSU9OUz01LE1fdC5TaW5nbGVMaW5lV3JhcHBlcj1rX3QsKGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7Zm9yKHZhciBuIGluIGUpdC5oYXNPd25Qcm9wZXJ0eShuKXx8KHRbbl09ZVtuXSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUoTV90KSxlKEVfdCl9KShTX3QpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3X3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBMX3Q9UGd0LFBfdD1pX3QsTl90PVNfdCxJX3Q9SWd0LFJfdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMuY29udGV4dD10LHRoaXMubWVhc3VyZXI9bmV3IFBfdC5DYWNoZU1lYXN1cmVyKHRoaXMuY29udGV4dCksdGhpcy53cmFwcGVyPW5ldyBOX3QuV3JhcHBlcix0aGlzLndyaXRlcj1uZXcgSV90LldyaXRlcih0aGlzLm1lYXN1cmVyLHRoaXMuY29udGV4dCx0aGlzLndyYXBwZXIpfXJldHVybiB0LnN2Zz1mdW5jdGlvbihlLG4saSl7cmV0dXJuIG5ldyB0KG5ldyBMX3QuU3ZnQ29udGV4dChlLG4saSkpfSx0LmNhbnZhcz1mdW5jdGlvbihlLG4saSl7cmV0dXJuIG5ldyB0KG5ldyBMX3QuQ2FudmFzQ29udGV4dChlLG4saSkpfSx0Lmh0bWw9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBuZXcgdChuZXcgTF90Lkh0bWxDb250ZXh0KGUsbixpKSl9LHQucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQsZSxuLGkscil7dGhpcy53cml0ZXIud3JpdGUodCxlLG4saSxyKX0sdC5wcm90b3R5cGUuY2xlYXJNZWFzdXJlckNhY2hlPWZ1bmN0aW9uKCl7dGhpcy5tZWFzdXJlci5yZXNldCgpfSx0fSkoKTt3X3QuVHlwZXNldHRlcj1SX3QsKGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7Zm9yKHZhciBuIGluIGUpdC5oYXNPd25Qcm9wZXJ0eShuKXx8KHRbbl09ZVtuXSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUoUGd0KSxlKGlfdCksZSh3X3QpLGUoT2d0KSxlKFNfdCksZShJZ3QpfSkoTGd0KTt2YXIgT190PXt9LHpfdD17fSxEX3Q9e30sQl90PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoQl90LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgSF90PXdwdCxGX3Q9d2luZG93LkFycmF5O0JfdC5hZGQ9ZnVuY3Rpb24gVl90KHQsZSl7aWYodC5sZW5ndGghPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImF0dGVtcHRlZCB0byBhZGQgYXJyYXlzIG9mIHVuZXF1YWwgbGVuZ3RoIik7cmV0dXJuIHQubWFwKChmdW5jdGlvbihuLGkpe3JldHVybiB0W2ldK2VbaV19KSl9LEJfdC51bmlxPWZ1bmN0aW9uIFVfdCh0KXt2YXIgZT1IX3Quc2V0KCksbj1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtlLmhhcyhTdHJpbmcodCkpfHwoZS5hZGQoU3RyaW5nKHQpKSxuLnB1c2godCkpfSkpLG59LEJfdC5mbGF0dGVuPWZ1bmN0aW9uIGpfdCh0KXtyZXR1cm4gRl90LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sdCl9LEJfdC5jcmVhdGVGaWxsZWRBcnJheT1mdW5jdGlvbiBHX3QodCxlKXtmb3IodmFyIG49W10saT0wO2k8ZTtpKyspbltpXT0iZnVuY3Rpb24iPT10eXBlb2YgdD90KGkpOnQ7cmV0dXJuIG59O3ZhciBXX3Q9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KFdfdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHFfdD13cHQsWV90PXdpbmRvdy5NYXRoO2Z1bmN0aW9uIFhfdCh0KXt2YXIgZT1xX3QucmdiKHQpLG49ZnVuY3Rpb24odCl7cmV0dXJuKHQvPTI1NSk8PS4wMzkyOD90LzEyLjkyOllfdC5wb3coKHQrLjA1NSkvMS4wNTUsMi40KX07cmV0dXJuLjIxMjYqbihlLnIpKy43MTUyKm4oZS5nKSsuMDcyMipuKGUuYil9V190LmNvbnRyYXN0PWZ1bmN0aW9uICRfdCh0LGUpe3ZhciBuPVhfdCh0KSsuMDUsaT1YX3QoZSkrLjA1O3JldHVybiBuPmk/bi9pOmkvbn0sV190LmxpZ2h0ZW5Db2xvcj1mdW5jdGlvbiBLX3QodCxlKXtyZXR1cm4gcV90LmNvbG9yKHQpLmJyaWdodGVyKGUpLnJnYigpLnRvU3RyaW5nKCl9LFdfdC5jb2xvclRlc3Q9ZnVuY3Rpb24gWl90KHQsZSl7dC5jbGFzc2VkKGUsITApO3ZhciBuPXQuc3R5bGUoImJhY2tncm91bmQtY29sb3IiKTtpZigidHJhbnNwYXJlbnQiPT09bilyZXR1cm4gbnVsbDt2YXIgaT0vXCgoLispXCkvLmV4ZWMobik7aWYoIWkpcmV0dXJuIG51bGw7dmFyIHI9aVsxXS5zcGxpdCgiLCIpLm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9K3Qsbj1lLnRvU3RyaW5nKDE2KTtyZXR1cm4gZTwxNj8iMCIrbjpufSkpO2lmKDQ9PT1yLmxlbmd0aCYmIjAwIj09PXJbM10pcmV0dXJuIG51bGw7dmFyIG89IiMiK3Iuam9pbigiIik7cmV0dXJuIHQuY2xhc3NlZChlLCExKSxvfTt2YXIgSl90PXt9OyEoZnVuY3Rpb24odCl7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZT13cHQsbj13aW5kb3cuTWF0aDtmdW5jdGlvbiBpKHQpe3ZhciBlO3RyeXtlPXQubm9kZSgpLmdldEJCb3goKX1jYXRjaCh0KXtlPXt4OjAseTowLHdpZHRoOjAsaGVpZ2h0OjB9fXJldHVybiBlfXQuY29udGFpbnM9ZnVuY3Rpb24gcih0LGUpe2Zvcih2YXIgbj1lO251bGwhPW4mJm4hPT10OyluPW4ucGFyZW50Tm9kZTtyZXR1cm4gbj09PXR9LHQuZWxlbWVudEJCb3g9aSx0LmVudGl0eUJvdW5kcz1mdW5jdGlvbiBvKHQpe2lmKHQgaW5zdGFuY2VvZiBTVkdFbGVtZW50KXJldHVybiBpKGUuc2VsZWN0KHQpKTtpZih0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpe3ZhciBuPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue3g6bi5sZWZ0LHk6bi50b3Asd2lkdGg6bi53aWR0aCxoZWlnaHQ6bi5oZWlnaHR9fXJldHVybnt4OjAseTowLHdpZHRoOjAsaGVpZ2h0OjB9fSx0LlNDUkVFTl9SRUZSRVNIX1JBVEVfTUlMTElTRUNPTkRTPTFlMy82MCx0LnJlcXVlc3RBbmltYXRpb25GcmFtZVBvbHlmaWxsPWZ1bmN0aW9uIGEoZSl7bnVsbCE9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpOnNldFRpbWVvdXQoZSx0LlNDUkVFTl9SRUZSRVNIX1JBVEVfTUlMTElTRUNPTkRTKX0sdC5lbGVtZW50V2lkdGg9ZnVuY3Rpb24gcyh0KXt2YXIgbj10IGluc3RhbmNlb2YgZS5zZWxlY3Rpb24/dC5ub2RlKCk6dCxpPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG4pO3JldHVybiBtKGksIndpZHRoIikrbShpLCJwYWRkaW5nLWxlZnQiKSttKGksInBhZGRpbmctcmlnaHQiKSttKGksImJvcmRlci1sZWZ0LXdpZHRoIikrbShpLCJib3JkZXItcmlnaHQtd2lkdGgiKX0sdC5lbGVtZW50SGVpZ2h0PWZ1bmN0aW9uIGwodCl7dmFyIG49dCBpbnN0YW5jZW9mIGUuc2VsZWN0aW9uP3Qubm9kZSgpOnQsaT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShuKTtyZXR1cm4gbShpLCJoZWlnaHQiKSttKGksInBhZGRpbmctdG9wIikrbShpLCJwYWRkaW5nLWJvdHRvbSIpK20oaSwiYm9yZGVyLXRvcC13aWR0aCIpK20oaSwiYm9yZGVyLWJvdHRvbS13aWR0aCIpfTt2YXIgYz0iKD86Wy0rXT9bMC05XSpcXC4/WzAtOV0rKSIsdT0iKD86KD86XFxzKyw/XFxzKil8KD86LFxccyopKSIsaD1uZXcgUmVnRXhwKCJ0cmFuc2xhdGVcXHMqXFwoXFxzKigiK2MrIikoPzoiK3UrIigiK2MrIikpPyIrIlxccypcXCkiKSxkPW5ldyBSZWdFeHAoInJvdGF0ZVxccypcXChcXHMqKCIrYysiKSIrIlxccypcXCkiKSxwPW5ldyBSZWdFeHAoInNjYWxlXFxzKlxcKFxccyooIitjKyIpKD86Iit1KyIoIitjKyIpKT8iKyJcXHMqXFwpIik7ZnVuY3Rpb24gZih0KXtpZigibnVtYmVyIj09dHlwZW9mIHQpe3JldHVybnttaW46dCxtYXg6dH19aWYodCBpbnN0YW5jZW9mIE9iamVjdCYmIm1pbiJpbiB0JiYibWF4ImluIHQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJpbnB1dCAnIit0KyInIGNhbid0IGJlIHBhcnNlZCBhcyBhbiBSYW5nZSIpfWZ1bmN0aW9uIG0odCxlKXt2YXIgbj10LmdldFByb3BlcnR5VmFsdWUoZSk7cmV0dXJuIHBhcnNlRmxvYXQobil8fDB9dC5nZXRUcmFuc2xhdGVWYWx1ZXM9ZnVuY3Rpb24gZyh0KXt2YXIgZT1oLmV4ZWModC5hdHRyKCJ0cmFuc2Zvcm0iKSk7aWYobnVsbCE9ZSl7dmFyIG49ZVsyXTtyZXR1cm5bK2VbMV0sKyh2b2lkIDA9PT1uPzA6bildfXJldHVyblswLDBdfSx0LmdldFJvdGF0ZT1mdW5jdGlvbiBfKHQpe3ZhciBlPWQuZXhlYyh0LmF0dHIoInRyYW5zZm9ybSIpKTtyZXR1cm4gbnVsbCE9ZT8rZVsxXTowfSx0LmdldFNjYWxlVmFsdWVzPWZ1bmN0aW9uIHkodCl7dmFyIGU9cC5leGVjKHQuYXR0cigidHJhbnNmb3JtIikpO2lmKG51bGwhPWUpe3ZhciBuPWVbMV0saT1lWzJdO3JldHVyblsrbixudWxsPT1pPytuOitpXX1yZXR1cm5bMCwwXX0sdC5jbGllbnRSZWN0c092ZXJsYXA9ZnVuY3Rpb24gdih0LGUpe3JldHVybiEobi5mbG9vcih0LnJpZ2h0KTw9bi5jZWlsKGUubGVmdCkpJiYoIShuLmNlaWwodC5sZWZ0KT49bi5mbG9vcihlLnJpZ2h0KSkmJighKG4uZmxvb3IodC5ib3R0b20pPD1uLmNlaWwoZS50b3ApKSYmIShuLmNlaWwodC50b3ApPj1uLmZsb29yKGUuYm90dG9tKSkpKX0sdC5leHBhbmRSZWN0PWZ1bmN0aW9uIGIodCxlKXtyZXR1cm57bGVmdDp0LmxlZnQtZSx0b3A6dC50b3AtZSxyaWdodDp0LnJpZ2h0K2UsYm90dG9tOnQuYm90dG9tK2Usd2lkdGg6dC53aWR0aCsyKmUsaGVpZ2h0OnQuaGVpZ2h0KzIqZX19LHQuY2xpZW50UmVjdEluc2lkZT1mdW5jdGlvbiB4KHQsZSl7cmV0dXJuIG4uZmxvb3IoZS5sZWZ0KTw9bi5jZWlsKHQubGVmdCkmJm4uZmxvb3IoZS50b3ApPD1uLmNlaWwodC50b3ApJiZuLmZsb29yKHQucmlnaHQpPD1uLmNlaWwoZS5yaWdodCkmJm4uZmxvb3IodC5ib3R0b20pPD1uLmNlaWwoZS5ib3R0b20pfSx0LmludGVyc2VjdHNCQm94PWZ1bmN0aW9uIHcodCxlLG4saSl7dm9pZCAwPT09aSYmKGk9LjUpO3ZhciByPWYodCksbz1mKGUpO3JldHVybiBuLngrbi53aWR0aD49ci5taW4taSYmbi54PD1yLm1heCtpJiZuLnkrbi5oZWlnaHQ+PW8ubWluLWkmJm4ueTw9by5tYXgraX0sdC5nZXRIdG1sRWxlbWVudEFuY2VzdG9ycz1mdW5jdGlvbiBTKHQpe2Zvcih2YXIgZT1bXTt0JiZ0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ7KWUucHVzaCh0KSx0PXQucGFyZW50RWxlbWVudDtyZXR1cm4gZX0sdC5nZXRFbGVtZW50VHJhbnNmb3JtPWZ1bmN0aW9uIE0odCl7dmFyIGU9d2luZG93LmdldENvbXB1dGVkU3R5bGUodCxudWxsKTtyZXR1cm4oZnVuY3Rpb24gbih0KXtpZihudWxsPT10fHwibm9uZSI9PT10KXJldHVybiBudWxsO3ZhciBlPXQubWF0Y2goRSk7aWYobnVsbD09ZXx8ZS5sZW5ndGg8MilyZXR1cm4gbnVsbDt2YXIgbj1lWzFdLnNwbGl0KFQpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHBhcnNlRmxvYXQodCl9KSk7aWYoNiE9bi5sZW5ndGgpcmV0dXJuIG51bGw7cmV0dXJuIG59KShlLmdldFByb3BlcnR5VmFsdWUoIi13ZWJraXQtdHJhbnNmb3JtIil8fGUuZ2V0UHJvcGVydHlWYWx1ZSgiLW1vei10cmFuc2Zvcm0iKXx8ZS5nZXRQcm9wZXJ0eVZhbHVlKCItbXMtdHJhbnNmb3JtIil8fGUuZ2V0UHJvcGVydHlWYWx1ZSgiLW8tdHJhbnNmb3JtIil8fGUuZ2V0UHJvcGVydHlWYWx1ZSgidHJhbnNmb3JtIikpfTt2YXIgRT0vXm1hdHJpeFwoKFteKV0rKVwpJC8sVD0vWywgXSsvfSkoSl90KTt2YXIgUV90PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShRX3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB0eXQ9d3B0LGV5dD1KX3Qsbnl0PXdpbmRvdy5NYXRoLGl5dD1bMSwwLDAsMSwwLDBdO2Z1bmN0aW9uIHJ5dCh0LGUpe3JldHVyblt0WzBdKmVbMF0rdFsyXSplWzFdLHRbMV0qZVswXSt0WzNdKmVbMV0sdFswXSplWzJdK3RbMl0qZVszXSx0WzFdKmVbMl0rdFszXSplWzNdLHRbMF0qZVs0XSt0WzJdKmVbNV0rdFs0XSx0WzFdKmVbNF0rdFszXSplWzVdK3RbNV1dfWZ1bmN0aW9uIG95dCh0LGUpe3JldHVyblt0WzBdLHRbMV0sdFsyXSx0WzNdLHRbMF0qZVswXSt0WzJdKmVbMV0rdFs0XSx0WzFdKmVbMF0rdFszXSplWzFdK3RbNV1dfWZ1bmN0aW9uIGF5dCh0KXt2YXIgZT10WzBdKnRbM10tdFsxXSp0WzJdO2lmKDA9PT1lKXRocm93IG5ldyBFcnJvcigic2luZ3VsYXIgbWF0cml4Iik7dmFyIG49MS9lO3JldHVybltuKnRbM10sbiotdFsxXSxuKi10WzJdLG4qdFswXSxuKigtdFszXSp0WzRdK3RbMl0qdFs1XSksbioodFsxXSp0WzRdKy10WzBdKnRbNV0pXX1RX3QuaW5SYW5nZT1mdW5jdGlvbiBzeXQodCxlLG4pe3JldHVybiBueXQubWluKGUsbik8PXQmJnQ8PW55dC5tYXgoZSxuKX0sUV90LmNsYW1wPWZ1bmN0aW9uIGx5dCh0LGUsbil7cmV0dXJuIG55dC5taW4obnl0Lm1heChlLHQpLG4pfSxRX3QubWF4PWZ1bmN0aW9uIGN5dCh0LGUsbil7dmFyIGk9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHI9bnVsbD09aT9lOm4sbz1udWxsPT1pP3R5dC5tYXgodCk6dHl0Lm1heCh0LGkpO3JldHVybiB2b2lkIDAhPT1vP286cn0sUV90Lm1pbj1mdW5jdGlvbiB1eXQodCxlLG4pe3ZhciBpPSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6bnVsbCxyPW51bGw9PWk/ZTpuLG89bnVsbD09aT90eXQubWluKHQpOnR5dC5taW4odCxpKTtyZXR1cm4gdm9pZCAwIT09bz9vOnJ9LFFfdC5pc05hTj1mdW5jdGlvbiBoeXQodCl7cmV0dXJuIHQhPXR9LFFfdC5pc1ZhbGlkTnVtYmVyPWZ1bmN0aW9uIGR5dCh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJnQtdDwxfSxRX3QucmFuZ2U9ZnVuY3Rpb24gcHl0KHQsZSxuKXtpZih2b2lkIDA9PT1uJiYobj0xKSwwPT09bil0aHJvdyBuZXcgRXJyb3IoInN0ZXAgY2Fubm90IGJlIDAiKTtmb3IodmFyIGk9bnl0Lm1heChueXQuY2VpbCgoZS10KS9uKSwwKSxyPVtdLG89MDtvPGk7KytvKXJbb109dCtuKm87cmV0dXJuIHJ9LFFfdC5kaXN0YW5jZVNxdWFyZWQ9ZnVuY3Rpb24gZnl0KHQsZSl7cmV0dXJuIG55dC5wb3coZS55LXQueSwyKStueXQucG93KGUueC10LngsMil9LFFfdC5kZWdyZWVzVG9SYWRpYW5zPWZ1bmN0aW9uIG15dCh0KXtyZXR1cm4gdC8zNjAqbnl0LlBJKjJ9LFFfdC53aXRoaW49ZnVuY3Rpb24gZ3l0KHQsZSl7cmV0dXJuIGUudG9wTGVmdC54PD10LngmJmUuYm90dG9tUmlnaHQueD49dC54JiZlLnRvcExlZnQueTw9dC55JiZlLmJvdHRvbVJpZ2h0Lnk+PXQueX0sUV90LmJvdW5kc0ludGVyc2VjdHM9ZnVuY3Rpb24gX3l0KHQsZSxuLGkscixvLGEscyl7cmV0dXJuIHQ8PXIrYSYmcjw9dCtuJiZlPD1vK3MmJm88PWUraX0sUV90LmdldEN1bXVsYXRpdmVUcmFuc2Zvcm09ZnVuY3Rpb24geXl0KHQpe2Zvcih2YXIgZT1leXQuZ2V0SHRtbEVsZW1lbnRBbmNlc3RvcnModCksbj1peXQsaT1udWxsLHI9MCxvPWU7cjxvLmxlbmd0aDtyKyspe3ZhciBhPW9bcl0scz1leXQuZ2V0RWxlbWVudFRyYW5zZm9ybShhKTtpZihudWxsIT1zKXt2YXIgbD1hLmNsaWVudFdpZHRoLzIsYz1hLmNsaWVudEhlaWdodC8yO249b3l0KG4sW2wsY10pLG49b3l0KG49cnl0KG4sYXl0KHMpKSxbLWwsLWNdKX12YXIgdT1hLnNjcm9sbExlZnQsaD1hLnNjcm9sbFRvcDtudWxsIT09aSYmYSE9PWl8fCh1LT1hLm9mZnNldExlZnQrYS5jbGllbnRMZWZ0LGgtPWEub2Zmc2V0VG9wK2EuY2xpZW50VG9wLGk9YS5vZmZzZXRQYXJlbnQpLG49b3l0KG4sW3UsaF0pfXJldHVybiBufSxRX3QubXVsdGlwbHlNYXRyaXg9cnl0LFFfdC5wcmVtdWx0aXBseVRyYW5zbGF0ZT1mdW5jdGlvbiB2eXQodCxlKXtyZXR1cm5bZVswXSxlWzFdLGVbMl0sZVszXSxlWzRdK3RbMF0sZVs1XSt0WzFdXX0sUV90Lm11bHRpcGx5VHJhbnNsYXRlPW95dCxRX3QuaW52ZXJ0TWF0cml4PWF5dCxRX3QuYXBwbHlUcmFuc2Zvcm09ZnVuY3Rpb24gYnl0KHQsZSl7cmV0dXJue3g6dFswXSplLngrdFsyXSplLnkrdFs0XSx5OnRbMV0qZS54K3RbM10qZS55K3RbNV19fTt2YXIgeHl0PXt9LHd5dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNy1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHd5dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFN5dD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiB0LnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj1NYXRoLmNlaWwodC5sZW5ndGgvMiksaT0wO2k8bjtpKyspZVswXS5pbnNlcnQodFtpXSk7Zm9yKGk9bjtpPHQubGVuZ3RoO2krKyllWzFdLmluc2VydCh0W2ldKX0sdH0pKCk7d3l0LlNwbGl0U3RyYXRlZ3lUcml2aWFsPVN5dDt2YXIgTXl0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7Zm9yKHQ9dC5zbGljZSgpLHRoaXMuY2hvb3NlRmlyc3RTcGxpdCh0LGUpO3QubGVuZ3RoPjA7KXRoaXMuYWRkTmV4dCh0LGUpfSx0LnByb3RvdHlwZS5jaG9vc2VGaXJzdFNwbGl0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTAsaT0wLHI9dC5sZW5ndGgtMSxvPXQubGVuZ3RoLTEsYT0xO2E8dC5sZW5ndGgtMTthKyspe3ZhciBzPXRbYV07cy5ib3VuZHMueGw+dFtyXS5ib3VuZHMueGw/cj1hOnMuYm91bmRzLnhoPHRbbl0uYm91bmRzLnhoJiYobj1hKSxzLmJvdW5kcy55bD50W29dLmJvdW5kcy55bD9vPWE6cy5ib3VuZHMueWg8dFtpXS5ib3VuZHMueWgmJihpPWEpfXZhciBsPU1hdGguYWJzKHRbbl0uYm91bmRzLnhoLXRbcl0uYm91bmRzLnhsKT5NYXRoLmFicyh0W2ldLmJvdW5kcy55aC10W29dLmJvdW5kcy55bCk/W24scl06W2ksb10sYz1sWzBdLHU9bFsxXTtjPT09dSYmKGM9MCx1PXQubGVuZ3RoLTEpLGVbMF0uaW5zZXJ0KHQuc3BsaWNlKE1hdGgubWF4KGMsdSksMSlbMF0pLGVbMV0uaW5zZXJ0KHQuc3BsaWNlKE1hdGgubWluKGMsdSksMSlbMF0pfSx0LnByb3RvdHlwZS5hZGROZXh0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPW51bGwsaT1udWxsLHI9bnVsbCxvPTA7bzx0Lmxlbmd0aDtvKyspe3ZhciBhPXRbb10scz1lWzBdLnVuaW9uQXJlYURpZmZlcmVuY2UoYS5ib3VuZHMpLGw9ZVsxXS51bmlvbkFyZWFEaWZmZXJlbmNlKGEuYm91bmRzKTsoczxpfHxudWxsPT1uKSYmKG49byxpPXMscj1lWzBdKSxsPGkmJihuPW8saT1sLHI9ZVsxXSl9ci5pbnNlcnQodC5zcGxpY2UobiwxKVswXSl9LHR9KSgpO3d5dC5TcGxpdFN0cmF0ZWd5TGluZWFyPU15dCwoZnVuY3Rpb24odCl7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTctcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZSxuPW5ldyB3eXQuU3BsaXRTdHJhdGVneUxpbmVhcjtmdW5jdGlvbiBpKHQsbixpKXt2YXIgcj0xLzAsbz0xLzA7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBzPW4oYS5ib3VuZHMsdCksbD1pKGEuYm91bmRzLHQpO3JldHVybiBudWxsIT1hLnZhbHVlP3M8cj8ocj1zLG89bCxlLlBBU1NfQU5EX09WRVJXUklURSk6cz09PXI/ZS5QQVNTOmUuRkFJTDpzPm8/ZS5GQUlMOihvPU1hdGgubWF4KGwsbyksZS5QQVNTKX19ZnVuY3Rpb24gcih0LGUpe3JldHVybiBmdW5jdGlvbihuLGkpe3JldHVybiBlKGkuYm91bmRzLHQpLWUobi5ib3VuZHMsdCl9fSEoZnVuY3Rpb24odCl7dFt0LlBBU1M9MF09IlBBU1MiLHRbdC5GQUlMPTFdPSJGQUlMIix0W3QuUEFTU19BTkRfT1ZFUldSSVRFPTJdPSJQQVNTX0FORF9PVkVSV1JJVEUifSkoZT10LlF1ZXJ5UHJlZGljYXRlUmVzdWx0fHwodC5RdWVyeVByZWRpY2F0ZVJlc3VsdD17fSkpLHQuY3JlYXRlTWluaW1pemluZ05vZGVQcmVkaWNhdGU9aSx0LmNyZWF0ZU5vZGVTb3J0PXI7dmFyIG89KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe3ZvaWQgMD09PXQmJih0PTUpLHZvaWQgMD09PWUmJihlPW4pLHRoaXMubWF4Tm9kZUNoaWxkcmVuPXQsdGhpcy5zcGxpdFN0cmF0ZWd5PWUsdGhpcy5yb290PW5ldyBhKCEwKSx0aGlzLnNpemU9MH1yZXR1cm4gdC5wcm90b3R5cGUuZ2V0Um9vdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJvb3R9LHQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5yb290PW5ldyBhKCEwKSx0aGlzLnNpemU9MH0sdC5wcm90b3R5cGUuaW5zZXJ0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXRoaXMucm9vdDshbi5sZWFmOyluPW4uc3VidHJlZSh0KTt2YXIgaT1hLnZhbHVlTm9kZSh0LGUpO2ZvcihuLmluc2VydChpKSx0aGlzLnNpemUrPTE7bi5vdmVyZmxvdyh0aGlzLm1heE5vZGVDaGlsZHJlbik7KW51bGw9PShuPW4uc3BsaXQodGhpcy5zcGxpdFN0cmF0ZWd5KSkucGFyZW50JiYodGhpcy5yb290PW4pO3JldHVybiBpfSx0LnByb3RvdHlwZS5sb2NhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucXVlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmNvbnRhaW5zKHQpfSkpfSx0LnByb3RvdHlwZS5sb2NhdGVOZWFyZXN0PWZ1bmN0aW9uKHQpe3ZhciBlPWkodCxzLmRpc3RhbmNlU3F1YXJlZFRvTmVhckVkZ2Uscy5kaXN0YW5jZVNxdWFyZWRUb0ZhckVkZ2UpO3JldHVybiB0aGlzLnF1ZXJ5Tm9kZXMoZSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC52YWx1ZX0pKX0sdC5wcm90b3R5cGUubG9jYXRlTmVhcmVzdFg9ZnVuY3Rpb24odCl7dmFyIGU9aSh0LHMuYWJzb2x1dGVEaXN0YW5jZVRvTmVhckVkZ2VYLHMuYWJzb2x1dGVEaXN0YW5jZVRvRmFyRWRnZVgpLG49dGhpcy5xdWVyeU5vZGVzKGUpO3JldHVybiBuLnNvcnQocih0LHMuYWJzb2x1dGVEaXN0YW5jZVRvTmVhckVkZ2VZKSksbi5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnZhbHVlfSkpfSx0LnByb3RvdHlwZS5sb2NhdGVOZWFyZXN0WT1mdW5jdGlvbih0KXt2YXIgZT1pKHQscy5hYnNvbHV0ZURpc3RhbmNlVG9OZWFyRWRnZVkscy5hYnNvbHV0ZURpc3RhbmNlVG9GYXJFZGdlWSksbj10aGlzLnF1ZXJ5Tm9kZXMoZSk7cmV0dXJuIG4uc29ydChyKHQscy5hYnNvbHV0ZURpc3RhbmNlVG9OZWFyRWRnZVgpKSxuLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudmFsdWV9KSl9LHQucHJvdG90eXBlLmludGVyc2VjdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5xdWVyeSgoZnVuY3Rpb24oZSl7cmV0dXJuIHMuaXNCb3VuZHNPdmVybGFwQm91bmRzKGUsdCl9KSl9LHQucHJvdG90eXBlLmludGVyc2VjdFg9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucXVlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiBzLmlzQm91bmRzT3ZlcmxhcFgoZSx0KX0pKX0sdC5wcm90b3R5cGUuaW50ZXJzZWN0WT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5xdWVyeSgoZnVuY3Rpb24oZSl7cmV0dXJuIHMuaXNCb3VuZHNPdmVybGFwWShlLHQpfSkpfSx0LnByb3RvdHlwZS5xdWVyeT1mdW5jdGlvbih0KXt2YXIgZT1bXTtpZihudWxsIT10aGlzLnJvb3QuYm91bmRzJiYhdCh0aGlzLnJvb3QuYm91bmRzKSlyZXR1cm4gZTtmb3IodmFyIG49W3RoaXMucm9vdF07bi5sZW5ndGg+MDspZm9yKHZhciBpPW4uc2hpZnQoKSxyPTA7cjxpLmVudHJpZXMubGVuZ3RoO3IrKyl7dmFyIG89aS5lbnRyaWVzW3JdO3Qoby5ib3VuZHMpJiYoaS5sZWFmP2UucHVzaChvLnZhbHVlKTpuLnB1c2gobykpfXJldHVybiBlfSx0LnByb3RvdHlwZS5xdWVyeU5vZGVzPWZ1bmN0aW9uKHQpe3ZhciBuPVtdO2lmKG51bGwhPXRoaXMucm9vdC5ib3VuZHMmJnQodGhpcy5yb290KT09PWUuRkFJTClyZXR1cm4gbjtmb3IodmFyIGk9W3RoaXMucm9vdF07aS5sZW5ndGg+MDspZm9yKHZhciByPWkuc2hpZnQoKSxvPTA7bzxyLmVudHJpZXMubGVuZ3RoO28rKyl7dmFyIGE9ci5lbnRyaWVzW29dLHM9dChhKTtzPT09ZS5QQVNTX0FORF9PVkVSV1JJVEUmJihuPVtdKSxzIT09ZS5QQVNTJiZzIT09ZS5QQVNTX0FORF9PVkVSV1JJVEV8fChyLmxlYWY/bi5wdXNoKGEpOmkucHVzaChhKSl9cmV0dXJuIG59LHR9KSgpO3QuUlRyZWU9bzt2YXIgYT0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMubGVhZj10LHRoaXMuYm91bmRzPW51bGwsdGhpcy5lbnRyaWVzPVtdLHRoaXMucGFyZW50PW51bGwsdGhpcy52YWx1ZT1udWxsfXJldHVybiB0LnZhbHVlTm9kZT1mdW5jdGlvbihlLG4pe3ZhciBpPW5ldyB0KCEwKTtyZXR1cm4gaS5ib3VuZHM9ZSxpLnZhbHVlPW4saX0sdC5wcm90b3R5cGUub3ZlcmZsb3c9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZW50cmllcy5sZW5ndGg+dH0sdC5wcm90b3R5cGUuaW5zZXJ0PWZ1bmN0aW9uKHQpe3RoaXMuZW50cmllcy5wdXNoKHQpLHQucGFyZW50PXRoaXM7Zm9yKHZhciBlPXRoaXM7bnVsbCE9ZTspZS5ib3VuZHM9cy51bmlvbkFsbChbZS5ib3VuZHMsdC5ib3VuZHNdKSxlPWUucGFyZW50O3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5lbnRyaWVzLmluZGV4T2YodCk7aWYoZT49MCl7dGhpcy5lbnRyaWVzLnNwbGljZShlLDEpO2Zvcih2YXIgbj10aGlzO251bGwhPW47KW4uYm91bmRzPXMudW5pb25BbGwobi5lbnRyaWVzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuYm91bmRzfSkpKSxuPW4ucGFyZW50fXJldHVybiB0aGlzfSx0LnByb3RvdHlwZS5zdWJ0cmVlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0xLzAsbj1udWxsLGk9MDtpPHRoaXMuZW50cmllcy5sZW5ndGg7aSsrKXt2YXIgcj10aGlzLmVudHJpZXNbaV0sbz1yLnVuaW9uQXJlYURpZmZlcmVuY2UodCk7KG88ZXx8bz09PWUmJm51bGwhPW4mJnIuZW50cmllcy5sZW5ndGg8bi5lbnRyaWVzLmxlbmd0aCkmJihuPXIpfXJldHVybiBufSx0LnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbihlKXtudWxsIT10aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQucmVtb3ZlKHRoaXMpO3ZhciBuPVtuZXcgdCh0aGlzLmxlYWYpLG5ldyB0KHRoaXMubGVhZildO2Uuc3BsaXQodGhpcy5lbnRyaWVzLG4pO3ZhciBpPW51bGwhPXRoaXMucGFyZW50P3RoaXMucGFyZW50Om5ldyB0KCExKTtyZXR1cm4gaS5pbnNlcnQoblswXSksaS5pbnNlcnQoblsxXSksaS5sZWFmPSExLGl9LHQucHJvdG90eXBlLnVuaW9uQXJlYURpZmZlcmVuY2U9ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGguYWJzKHMudW5pb24odGhpcy5ib3VuZHMsdCkuYXJlYSgpLXRoaXMuYm91bmRzLmFyZWEoKSl9LHQucHJvdG90eXBlLm1heERlcHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVhZj8xOjErdGhpcy5lbnRyaWVzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQubWF4RGVwdGgoKX0pKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWF4KHQsZSl9KSl9LHR9KSgpO3QuUlRyZWVOb2RlPWE7dmFyIHM9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbixpKXt0aGlzLnhsPXQsdGhpcy55bD1lLHRoaXMueGg9bix0aGlzLnloPWksdGhpcy53aWR0aD10aGlzLnhoLXRoaXMueGwsdGhpcy5oZWlnaHQ9dGhpcy55aC10aGlzLnlsfXJldHVybiB0Lnh5d2g9ZnVuY3Rpb24oZSxuLGkscil7cmV0dXJuIG5ldyB0KGUsbixlK2ksbityKX0sdC5lbnRpdHlCb3VuZHM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0KGUueCxlLnksZS54K2Uud2lkdGgsZS55K2UuaGVpZ2h0KX0sdC5ib3VuZHM9ZnVuY3Rpb24oZSl7cmV0dXJuIHQucG9pbnRQYWlyKGUudG9wTGVmdCxlLmJvdHRvbVJpZ2h0KX0sdC5wb2ludFBhaXI9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbmV3IHQoTWF0aC5taW4oZS54LG4ueCksTWF0aC5taW4oZS55LG4ueSksTWF0aC5tYXgoZS54LG4ueCksTWF0aC5tYXgoZS55LG4ueSkpfSx0LnBvaW50cz1mdW5jdGlvbihlKXtpZihlLmxlbmd0aDwyKXRocm93IG5ldyBFcnJvcigibmVlZCBhdCBsZWFzdCAyIHBvaW50cyB0byBjcmVhdGUgYm91bmRzIik7dmFyIG49ZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lnh9KSksaT1lLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQueX0pKTtyZXR1cm4gbmV3IHQobi5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWluKHQsZSl9KSksaS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWluKHQsZSl9KSksbi5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWF4KHQsZSl9KSksaS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWF4KHQsZSl9KSkpfSx0LnVuaW9uPWZ1bmN0aW9uKGUsbil7cmV0dXJuIG5ldyB0KE1hdGgubWluKGUueGwsbi54bCksTWF0aC5taW4oZS55bCxuLnlsKSxNYXRoLm1heChlLnhoLG4ueGgpLE1hdGgubWF4KGUueWgsbi55aCkpfSx0LnVuaW9uQWxsPWZ1bmN0aW9uKGUpe3JldHVybiAwPT09KGU9ZS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10fSkpKS5sZW5ndGg/bnVsbDplLnJlZHVjZSgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC51bmlvbihlLG4pfSkpfSx0LmlzQm91bmRzT3ZlcmxhcEJvdW5kcz1mdW5jdGlvbihlLG4pe3JldHVybiB0LmlzQm91bmRzT3ZlcmxhcFgoZSxuKSYmdC5pc0JvdW5kc092ZXJsYXBZKGUsbil9LHQuaXNCb3VuZHNPdmVybGFwWD1mdW5jdGlvbih0LGUpe3JldHVybiEodC54aDxlLnhsfHx0LnhsPmUueGgpfSx0LmlzQm91bmRzT3ZlcmxhcFk9ZnVuY3Rpb24odCxlKXtyZXR1cm4hKHQueWg8ZS55bHx8dC55bD5lLnloKX0sdC5hYnNvbHV0ZURpc3RhbmNlVG9OZWFyRWRnZVg9ZnVuY3Rpb24odCxlKXt2YXIgbj10LndpZHRoLzI7cmV0dXJuIE1hdGgubWF4KE1hdGguYWJzKGUueC0odC54bCtuKSktbiwwKX0sdC5hYnNvbHV0ZURpc3RhbmNlVG9OZWFyRWRnZVk9ZnVuY3Rpb24odCxlKXt2YXIgbj10LmhlaWdodC8yO3JldHVybiBNYXRoLm1heChNYXRoLmFicyhlLnktKHQueWwrbikpLW4sMCl9LHQuYWJzb2x1dGVEaXN0YW5jZVRvRmFyRWRnZVg9ZnVuY3Rpb24oZSxuKXt2YXIgaT10LmFic29sdXRlRGlzdGFuY2VUb05lYXJFZGdlWChlLG4pO3JldHVybiAwPT09aT8wOmkrZS53aWR0aH0sdC5hYnNvbHV0ZURpc3RhbmNlVG9GYXJFZGdlWT1mdW5jdGlvbihlLG4pe3ZhciBpPXQuYWJzb2x1dGVEaXN0YW5jZVRvTmVhckVkZ2VZKGUsbik7cmV0dXJuIDA9PT1pPzA6aStlLmhlaWdodH0sdC5kaXN0YW5jZVNxdWFyZWRUb05lYXJFZGdlPWZ1bmN0aW9uKGUsbil7dmFyIGk9dC5hYnNvbHV0ZURpc3RhbmNlVG9OZWFyRWRnZVgoZSxuKSxyPXQuYWJzb2x1dGVEaXN0YW5jZVRvTmVhckVkZ2VZKGUsbik7cmV0dXJuIGkqaStyKnJ9LHQuZGlzdGFuY2VTcXVhcmVkVG9GYXJFZGdlPWZ1bmN0aW9uKGUsbil7dmFyIGk9dC5hYnNvbHV0ZURpc3RhbmNlVG9GYXJFZGdlWChlLG4pLHI9dC5hYnNvbHV0ZURpc3RhbmNlVG9GYXJFZGdlWShlLG4pO3JldHVybiBpKmkrcipyfSx0LnByb3RvdHlwZS5hcmVhPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PXRoaXMuYXJlYUNhY2hlZCYmKHRoaXMuYXJlYUNhY2hlZD0odGhpcy54aC10aGlzLnhsKSoodGhpcy55aC10aGlzLnlsKSksdGhpcy5hcmVhQ2FjaGVkfSx0LnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54bDw9dC54JiZ0aGlzLnhoPj10LngmJnRoaXMueWw8PXQueSYmdGhpcy55aD49dC55fSx0fSkoKTt0LlJUcmVlQm91bmRzPXN9KSh4eXQpO3ZhciBFeXQ9e307IShmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPXdwdCxuPUNlLmV4cG9ydHMsaT1EX3Q7dC5JU3RhY2tpbmdPcmRlcj1iZ3QubWFrZUVudW0oWyJ0b3Bkb3duIiwiYm90dG9tdXAiXSk7dmFyIHI9d2luZG93Lk1hdGg7dC5zdGFjaz1mdW5jdGlvbiBvKG4scixhLHMpe3ZvaWQgMD09PXMmJihzPSJib3R0b211cCIpO3ZhciBsPWUubWFwKCksYz1lLm1hcCgpLHU9bmV3IGkuTWFwOyJ0b3Bkb3duIj09PXMmJihuPW4uc2xpY2UoKSkucmV2ZXJzZSgpO2Zvcih2YXIgaD0wLGQ9bjtoPGQubGVuZ3RoO2grKyl7Zm9yKHZhciBwPWRbaF0sZj1uZXcgaS5NYXAsbT1wLmRhdGEoKSxnPW0ubGVuZ3RoLF89MDtfPGc7XysrKXt2YXIgeT1tW19dLHY9cih5LF8scCksYj10Lm5vcm1hbGl6ZUtleSh2KSx4PSthKHksXyxwKSx3PXZvaWQgMCxTPXg+PTA/bDpjO1MuaGFzKGIpPyh3PVMuZ2V0KGIpLFMuc2V0KGIsdyt4KSk6KHc9MCxTLnNldChiLHgpKSxmLnNldChiLHtvZmZzZXQ6dyx2YWx1ZTp4LGF4aXNWYWx1ZTp2LG9yaWdpbmFsRGF0dW06eSxvcmlnaW5hbERhdGFzZXQ6cCxvcmlnaW5hbEluZGV4Ol99KX11LnNldChwLGYpfXJldHVybiB1fSx0LnN0YWNrZWRFeHRlbnRzPWZ1bmN0aW9uIGEodCl7dmFyIGU9bmV3IGkuTWFwLG49bmV3IGkuTWFwO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuZm9yRWFjaCgoZnVuY3Rpb24odCxyKXt2YXIgbz10Lm9mZnNldCt0LnZhbHVlLGE9aS5NYXRoLm1heChbbyx0Lm9mZnNldF0sdC5vZmZzZXQpLHM9aS5NYXRoLm1pbihbbyx0Lm9mZnNldF0sdC5vZmZzZXQpLGw9dC5heGlzVmFsdWU7ZS5oYXMocik/ZS5nZXQocikuZXh0ZW50PGEmJmUuc2V0KHIse2V4dGVudDphLGF4aXNWYWx1ZTpsLHN0YWNrZWREYXR1bTp0fSk6ZS5zZXQocix7ZXh0ZW50OmEsYXhpc1ZhbHVlOmwsc3RhY2tlZERhdHVtOnR9KSxuLmhhcyhyKT9uLmdldChyKS5leHRlbnQ+cyYmbi5zZXQocix7ZXh0ZW50OnMsYXhpc1ZhbHVlOmwsc3RhY2tlZERhdHVtOnR9KTpuLnNldChyLHtleHRlbnQ6cyxheGlzVmFsdWU6bCxzdGFja2VkRGF0dW06dH0pfSkpfSkpLHttYXhpbXVtRXh0ZW50czplLG1pbmltdW1FeHRlbnRzOm59fSx0LnN0YWNrZWRFeHRlbnQ9ZnVuY3Rpb24gcyhlLG4sbyl7dmFyIGE9W107ZS5mb3JFYWNoKChmdW5jdGlvbihlLGkpe2Zvcih2YXIgcj1pLmRhdGEoKSxzPXIubGVuZ3RoLGw9MDtsPHM7bCsrKXt2YXIgYz1yW2xdO2lmKG51bGw9PW98fG8oYyxsLGkpKXt2YXIgdT1lLmdldCh0Lm5vcm1hbGl6ZUtleShuKGMsbCxpKSkpO2EucHVzaCh1LnZhbHVlK3Uub2Zmc2V0KX19fSkpO3ZhciBzPWkuTWF0aC5tYXgoYSwwKSxsPWkuTWF0aC5taW4oYSwwKTtyZXR1cm5bci5taW4obCwwKSxyLm1heCgwLHMpXX0sdC5ub3JtYWxpemVLZXk9bi5tZW1vaXplKChmdW5jdGlvbih0KXtyZXR1cm4gU3RyaW5nKHQpfSkpfSkoRXl0KTt2YXIgVHl0PXt9LEN5dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KEN5dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksQ3l0LlNIT1dfV0FSTklOR1M9ITAsQ3l0LkFERF9USVRMRV9FTEVNRU5UUz0hMCwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KFR5dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEF5dD1DeXQ7ZnVuY3Rpb24ga3l0KHQpe0F5dC5TSE9XX1dBUk5JTkdTJiZjb25zb2xlLndhcm4odCl9ZnVuY3Rpb24gTHl0KHQsZSl7Zm9yKHZhciBuPVtdLGk9MjtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKW5baS0yXT1hcmd1bWVudHNbaV07cmV0dXJuIDA9PT1lPyh0KG4pLC0xKTp3aW5kb3cuc2V0VGltZW91dCh0LGUsbil9VHl0Lndhcm49a3l0LFR5dC5zZXRUaW1lb3V0PUx5dCxUeXQuZGVib3VuY2U9ZnVuY3Rpb24gUHl0KHQsZSxuKXt2YXIgaT1udWxsLHI9W10sbz1mdW5jdGlvbigpe2UuYXBwbHkobixyKX07cmV0dXJuIGZ1bmN0aW9uKCl7cj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLGNsZWFyVGltZW91dChpKSxpPUx5dChvLHQpfX0sVHl0LmRlcHJlY2F0ZWQ9ZnVuY3Rpb24gTnl0KHQsZSxuKXt2b2lkIDA9PT1uJiYobj0iIiksa3l0KCJNZXRob2QgIit0KyIgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiB2ZXJzaW9uICIrZSsiLiBQbGVhc2UgcmVmZXIgdG8gdGhlIHJlbGVhc2Ugbm90ZXMuICIrbil9O3ZhciBJeXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTctcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEl5dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFJ5dD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSxuKXt0aGlzLmVudHJ5SW5kZXg9dCx0aGlzLmV4aXRJbmRleD10LHRoaXMubWluSW5kZXg9dCx0aGlzLm1heEluZGV4PXQsdGhpcy5idWNrZXRWYWx1ZT1lLHRoaXMubWluVmFsdWU9bix0aGlzLm1heFZhbHVlPW59cmV0dXJuIHQucHJvdG90eXBlLmlzSW5CdWNrZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PXRoaXMuYnVja2V0VmFsdWV9LHQucHJvdG90eXBlLmFkZFRvQnVja2V0PWZ1bmN0aW9uKHQsZSl7dDx0aGlzLm1pblZhbHVlJiYodGhpcy5taW5WYWx1ZT10LHRoaXMubWluSW5kZXg9ZSksdD50aGlzLm1heFZhbHVlJiYodGhpcy5tYXhWYWx1ZT10LHRoaXMubWF4SW5kZXg9ZSksdGhpcy5leGl0SW5kZXg9ZX0sdC5wcm90b3R5cGUuZ2V0VW5pcXVlSW5kaWNlcz1mdW5jdGlvbigpe3ZhciB0PVt0aGlzLmVudHJ5SW5kZXgsdGhpcy5tYXhJbmRleCx0aGlzLm1pbkluZGV4LHRoaXMuZXhpdEluZGV4XTtyZXR1cm4gdC5maWx0ZXIoKGZ1bmN0aW9uKGUsbil7cmV0dXJuIDA9PW58fGUhPXRbbi0xXX0pKX0sdH0pKCk7SXl0LkJ1Y2tldD1SeXQ7dmFyIE95dD17fSx6eXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh6eXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBEeXQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpeyJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuU2V0P3RoaXMuX2VzNlNldD1uZXcgd2luZG93LlNldDp0aGlzLl92YWx1ZXM9W10sdGhpcy5zaXplPTB9cmV0dXJuIHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dGhpcy5fZXM2U2V0Pyh0aGlzLl9lczZTZXQuYWRkKHQpLHRoaXMuc2l6ZT10aGlzLl9lczZTZXQuc2l6ZSx0aGlzKToodGhpcy5oYXModCl8fCh0aGlzLl92YWx1ZXMucHVzaCh0KSx0aGlzLnNpemU9dGhpcy5fdmFsdWVzLmxlbmd0aCksdGhpcyl9LHQucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbih0KXtpZihudWxsIT10aGlzLl9lczZTZXQpe3ZhciBlPXRoaXMuX2VzNlNldC5kZWxldGUodCk7cmV0dXJuIHRoaXMuc2l6ZT10aGlzLl9lczZTZXQuc2l6ZSxlfXZhciBuPXRoaXMuX3ZhbHVlcy5pbmRleE9mKHQpO3JldHVybi0xIT09biYmKHRoaXMuX3ZhbHVlcy5zcGxpY2UobiwxKSx0aGlzLnNpemU9dGhpcy5fdmFsdWVzLmxlbmd0aCwhMCl9LHQucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dGhpcy5fZXM2U2V0P3RoaXMuX2VzNlNldC5oYXModCk6LTEhPT10aGlzLl92YWx1ZXMuaW5kZXhPZih0KX0sdC5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXM7aWYobnVsbD09dGhpcy5fZXM2U2V0KXRoaXMuX3ZhbHVlcy5mb3JFYWNoKChmdW5jdGlvbihpKXt0LmNhbGwoZSxpLGksbil9KSk7ZWxzZXt0aGlzLl9lczZTZXQuZm9yRWFjaCgoZnVuY3Rpb24oaSxyKXtyZXR1cm4gdC5jYWxsKGUsaSxyLG4pfSksZSl9fSx0fSkoKTt6eXQuU2V0PUR5dCwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KE95dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEJ5dD1CTyxIeXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBCeXQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuY2FsbENhbGxiYWNrcz1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLGU9W10sbj0wO248YXJndW1lbnRzLmxlbmd0aDtuKyspZVtuXT1hcmd1bWVudHNbbl07cmV0dXJuIHRoaXMuZm9yRWFjaCgoZnVuY3Rpb24obil7bi5hcHBseSh0LGUpfSkpLHRoaXN9LGV9KSh6eXQuU2V0KTtPeXQuQ2FsbGJhY2tTZXQ9SHl0O3ZhciBGeXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ5dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFZ5dD14eXQsVXl0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLl9lbnRpdGllcz1bXSx0aGlzLl9ydHJlZT1uZXcgVnl0LlJUcmVlfXJldHVybiB0LnByb3RvdHlwZS5hZGRBbGw9ZnVuY3Rpb24odCxlLG4pe2lmKHRoaXMuX2VudGl0aWVzPXRoaXMuX2VudGl0aWVzLmNvbmNhdCh0KSx2b2lkIDAhPT1uKWZvcih2YXIgaT1WeXQuUlRyZWVCb3VuZHMuYm91bmRzKG4pLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG89Vnl0LlJUcmVlQm91bmRzLmVudGl0eUJvdW5kcyhlKGE9dFtyXSkpO1Z5dC5SVHJlZUJvdW5kcy5pc0JvdW5kc092ZXJsYXBCb3VuZHMoaSxvKSYmdGhpcy5fcnRyZWUuaW5zZXJ0KG8sYSl9ZWxzZSBmb3Iocj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgYTtvPVZ5dC5SVHJlZUJvdW5kcy5lbnRpdHlCb3VuZHMoZShhPXRbcl0pKTt0aGlzLl9ydHJlZS5pbnNlcnQobyxhKX19LHQucHJvdG90eXBlLmVudGl0eU5lYXJlc3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3J0cmVlLmxvY2F0ZU5lYXJlc3QodCkucG9wKCl9LHQucHJvdG90eXBlLmVudGl0eU5lYXJlc3RYPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9ydHJlZS5sb2NhdGVOZWFyZXN0WCh0KS5wb3AoKX0sdC5wcm90b3R5cGUuZW50aXR5TmVhcmVzdFk9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3J0cmVlLmxvY2F0ZU5lYXJlc3RZKHQpLnBvcCgpfSx0LnByb3RvdHlwZS5lbnRpdGllc0luQm91bmRzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9ydHJlZS5pbnRlcnNlY3QoVnl0LlJUcmVlQm91bmRzLmVudGl0eUJvdW5kcyh0KSl9LHQucHJvdG90eXBlLmVudGl0aWVzSW5YQm91bmRzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9ydHJlZS5pbnRlcnNlY3RYKFZ5dC5SVHJlZUJvdW5kcy5lbnRpdHlCb3VuZHModCkpfSx0LnByb3RvdHlwZS5lbnRpdGllc0luWUJvdW5kcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcnRyZWUuaW50ZXJzZWN0WShWeXQuUlRyZWVCb3VuZHMuZW50aXR5Qm91bmRzKHQpKX0sdC5wcm90b3R5cGUuZW50aXRpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZW50aXRpZXN9LHR9KSgpO0Z5dC5FbnRpdHlTdG9yZT1VeXQ7dmFyIGp5dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoanl0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgR3l0PVFfdCxXeXQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpeyJmdW5jdGlvbiI9PXR5cGVvZiB3aW5kb3cuTWFwP3RoaXMuX2VzNk1hcD1uZXcgd2luZG93Lk1hcDp0aGlzLl9rZXlWYWx1ZVBhaXJzPVtdfXJldHVybiB0LnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxlKXtpZihHeXQuaXNOYU4odCkpdGhyb3cgbmV3IEVycm9yKCJOYU4gbWF5IG5vdCBiZSB1c2VkIGFzIGEga2V5IHRvIHRoZSBNYXAiKTtpZihudWxsIT10aGlzLl9lczZNYXApcmV0dXJuIHRoaXMuX2VzNk1hcC5zZXQodCxlKSx0aGlzO2Zvcih2YXIgbj0wO248dGhpcy5fa2V5VmFsdWVQYWlycy5sZW5ndGg7bisrKWlmKHRoaXMuX2tleVZhbHVlUGFpcnNbbl0ua2V5PT09dClyZXR1cm4gdGhpcy5fa2V5VmFsdWVQYWlyc1tuXS52YWx1ZT1lLHRoaXM7cmV0dXJuIHRoaXMuX2tleVZhbHVlUGFpcnMucHVzaCh7a2V5OnQsdmFsdWU6ZX0pLHRoaXN9LHQucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXtpZihudWxsIT10aGlzLl9lczZNYXApcmV0dXJuIHRoaXMuX2VzNk1hcC5nZXQodCk7Zm9yKHZhciBlPTA7ZTx0aGlzLl9rZXlWYWx1ZVBhaXJzLmxlbmd0aDtlKyspaWYodGhpcy5fa2V5VmFsdWVQYWlyc1tlXS5rZXk9PT10KXJldHVybiB0aGlzLl9rZXlWYWx1ZVBhaXJzW2VdLnZhbHVlfSx0LnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7aWYobnVsbCE9dGhpcy5fZXM2TWFwKXJldHVybiB0aGlzLl9lczZNYXAuaGFzKHQpO2Zvcih2YXIgZT0wO2U8dGhpcy5fa2V5VmFsdWVQYWlycy5sZW5ndGg7ZSsrKWlmKHRoaXMuX2tleVZhbHVlUGFpcnNbZV0ua2V5PT09dClyZXR1cm4hMDtyZXR1cm4hMX0sdC5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXM7aWYobnVsbD09dGhpcy5fZXM2TWFwKXRoaXMuX2tleVZhbHVlUGFpcnMuZm9yRWFjaCgoZnVuY3Rpb24oaSl7dC5jYWxsKGUsaS52YWx1ZSxpLmtleSxuKX0pKTtlbHNle3RoaXMuX2VzNk1hcC5mb3JFYWNoKChmdW5jdGlvbihpLHIpe3JldHVybiB0LmNhbGwoZSxpLHIsbil9KSxlKX19LHQucHJvdG90eXBlLmRlbGV0ZT1mdW5jdGlvbih0KXtpZihudWxsIT10aGlzLl9lczZNYXApcmV0dXJuIHRoaXMuX2VzNk1hcC5kZWxldGUodCk7Zm9yKHZhciBlPTA7ZTx0aGlzLl9rZXlWYWx1ZVBhaXJzLmxlbmd0aDtlKyspaWYodGhpcy5fa2V5VmFsdWVQYWlyc1tlXS5rZXk9PT10KXJldHVybiB0aGlzLl9rZXlWYWx1ZVBhaXJzLnNwbGljZShlLDEpLCEwO3JldHVybiExfSx0fSkoKTtqeXQuTWFwPVd5dDt2YXIgcXl0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE3LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShxeXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHF5dC5hc3NpZ249ZnVuY3Rpb24gWXl0KCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO2Zvcih2YXIgbj17fSxpPTAscj10O2k8ci5sZW5ndGg7aSsrKWZvcih2YXIgbz1yW2ldLGE9T2JqZWN0LmtleXMobykscz0wLGw9YTtzPGwubGVuZ3RoO3MrKyl7dmFyIGM9bFtzXTtuW2NdPW9bY119cmV0dXJuIG59O3ZhciBYeXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTctcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KFh5dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyICR5dD1EX3QsS3l0PSJfX1Bsb3R0YWJsZV9DbGllbnRUcmFuc2xhdG9yIjtYeXQuZ2V0VHJhbnNsYXRvcj1mdW5jdGlvbiBaeXQodCl7dmFyIGU9dC5yb290KCkucm9vdEVsZW1lbnQoKS5ub2RlKCksbj1lW0t5dF07cmV0dXJuIG51bGw9PW4mJihuPW5ldyBKeXQoZSksZVtLeXRdPW4pLG59O3ZhciBKeXQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLl9yb290RWxlbWVudD10fXJldHVybiB0LnByb3RvdHlwZS5jb21wdXRlUG9zaXRpb249ZnVuY3Rpb24odCxlKXt2YXIgbj17eDp0LHk6ZX0saT0keXQuTWF0aC5nZXRDdW11bGF0aXZlVHJhbnNmb3JtKHRoaXMuX3Jvb3RFbGVtZW50KTtyZXR1cm4gbnVsbD09aT9uOiR5dC5NYXRoLmFwcGx5VHJhbnNmb3JtKGksbil9LHQuaXNFdmVudEluc2lkZT1mdW5jdGlvbih0LGUpe3JldHVybiAkeXQuRE9NLmNvbnRhaW5zKHQucm9vdCgpLnJvb3RFbGVtZW50KCkubm9kZSgpLGUudGFyZ2V0KX0sdH0pKCk7WHl0LlRyYW5zbGF0b3I9Snl0LChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPO3QuQXJyYXk9Ql90LHQuQ29sb3I9V190LHQuRE9NPUpfdCx0Lk1hdGg9UV90LHQuUlRyZWU9eHl0LHQuU3RhY2tpbmc9RXl0LHQuV2luZG93PVR5dCxlLl9fZXhwb3J0U3RhcihJeXQsdCksZS5fX2V4cG9ydFN0YXIoT3l0LHQpLGUuX19leHBvcnRTdGFyKF9ndCx0KSxlLl9fZXhwb3J0U3RhcihGeXQsdCksZS5fX2V4cG9ydFN0YXIoanl0LHQpLGUuX19leHBvcnRTdGFyKHF5dCx0KSxlLl9fZXhwb3J0U3Rhcih6eXQsdCksZS5fX2V4cG9ydFN0YXIoWHl0LHQpfSkoRF90KTt2YXIgUXl0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShReXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB0dnQ9RF90LGV2dD16X3QsbnZ0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe2V2dC5mbHVzaCgpfSx0fSkoKTtReXQuSW1tZWRpYXRlPW52dDt2YXIgaXZ0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe3R2dC5ET00ucmVxdWVzdEFuaW1hdGlvbkZyYW1lUG9seWZpbGwoZXZ0LmZsdXNoKX0sdH0pKCk7UXl0LkFuaW1hdGlvbkZyYW1lPWl2dDt2YXIgcnZ0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLl90aW1lb3V0TXNlYz10dnQuRE9NLlNDUkVFTl9SRUZSRVNIX1JBVEVfTUlMTElTRUNPTkRTfXJldHVybiB0LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGV2dC5mbHVzaCx0aGlzLl90aW1lb3V0TXNlYyl9LHR9KSgpO1F5dC5UaW1lb3V0PXJ2dCwoZnVuY3Rpb24odCl7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZT1EX3Qsbj1iZ3QsaT1ReXQscj1uZXcgZS5TZXQsbz1uZXcgZS5TZXQsYT0hMSxzPSExO3QuUG9saWN5PW4ubWFrZUVudW0oWyJpbW1lZGlhdGUiLCJhbmltYXRpb25GcmFtZSIsInRpbWVvdXQiXSk7dmFyIGw9bmV3IGkuQW5pbWF0aW9uRnJhbWU7ZnVuY3Rpb24gYyh0KXtvLmFkZCh0KSxyLmFkZCh0KSx1KCl9ZnVuY3Rpb24gdSgpe2F8fChhPSEwLGwucmVuZGVyKCkpfXQucmVuZGVyUG9saWN5PWZ1bmN0aW9uIGgobil7aWYobnVsbD09bilyZXR1cm4gbDtzd2l0Y2gobil7Y2FzZSB0LlBvbGljeS5pbW1lZGlhdGU6bD1uZXcgaS5JbW1lZGlhdGU7YnJlYWs7Y2FzZSB0LlBvbGljeS5hbmltYXRpb25GcmFtZTpsPW5ldyBpLkFuaW1hdGlvbkZyYW1lO2JyZWFrO2Nhc2UgdC5Qb2xpY3kudGltZW91dDpsPW5ldyBpLlRpbWVvdXQ7YnJlYWs7ZGVmYXVsdDplLldpbmRvdy53YXJuKCJVbnJlY29nbml6ZWQgcmVuZGVyUG9saWN5OiAiK24pfX0sdC5yZWdpc3RlclRvUmVuZGVyPWZ1bmN0aW9uIGQodCl7cyYmZS5XaW5kb3cud2FybigiUmVnaXN0ZXJlZCB0byByZW5kZXIgd2hpbGUgb3RoZXIgY29tcG9uZW50cyBhcmUgZmx1c2hpbmc6IHJlcXVlc3QgbWF5IGJlIGlnbm9yZWQiKSxyLmFkZCh0KSx1KCl9LHQucmVnaXN0ZXJUb0NvbXB1dGVMYXlvdXRBbmRSZW5kZXI9Yyx0LnJlZ2lzdGVyVG9Db21wdXRlTGF5b3V0PWZ1bmN0aW9uIHAodCl7Yyh0KX0sdC5mbHVzaD1mdW5jdGlvbiBmKCl7aWYoYSl7by5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jb21wdXRlTGF5b3V0KCl9KSksci5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZW5kZXIoKX0pKSxzPSEwO3ZhciB0PW5ldyBlLlNldDtyLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RyeXtlLnJlbmRlckltbWVkaWF0ZWx5KCl9Y2F0Y2gobil7d2luZG93LnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dGhyb3cgbn0pLDApLHQuYWRkKGUpfX0pKSxvPW5ldyBlLlNldCxyPXQsYT0hMSxzPSExfX19KSh6X3QpLAovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoT190LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgb3Z0PXdwdCxhdnQ9el90LHN2dD1EX3QsbHZ0PUNlLmV4cG9ydHMsY3Z0PV9ndCx1dnQ9Ymd0O09fdC5YQWxpZ25tZW50PXV2dC5tYWtlRW51bShbImxlZnQiLCJjZW50ZXIiLCJyaWdodCJdKSxPX3QuWUFsaWdubWVudD11dnQubWFrZUVudW0oWyJ0b3AiLCJjZW50ZXIiLCJib3R0b20iXSk7dmFyIGh2dD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dGhpcy5fb3ZlcmZsb3dIaWRkZW49ITEsdGhpcy5fb3JpZ2luPXt4OjAseTowfSx0aGlzLl94QWxpZ25tZW50PSJsZWZ0Iix0aGlzLl95QWxpZ25tZW50PSJ0b3AiLHRoaXMuX2lzU2V0dXA9ITEsdGhpcy5faXNBbmNob3JlZD0hMSx0aGlzLl9jc3NDbGFzc2VzPW5ldyBzdnQuU2V0LHRoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9vbkFuY2hvckNhbGxiYWNrcz1uZXcgc3Z0LkNhbGxiYWNrU2V0LHRoaXMuX29uRGV0YWNoQ2FsbGJhY2tzPW5ldyBzdnQuQ2FsbGJhY2tTZXQsdGhpcy5fY3NzQ2xhc3Nlcy5hZGQoImNvbXBvbmVudCIpfXJldHVybiB0LnByb3RvdHlwZS5hbmNob3I9ZnVuY3Rpb24odCl7aWYodD1jdnQuY29lcmNlRXh0ZXJuYWxEMyh0KSx0aGlzLl9kZXN0cm95ZWQpdGhyb3cgbmV3IEVycm9yKCJDYW4ndCByZXVzZSBkZXN0cm95KCktZWQgQ29tcG9uZW50cyEiKTtyZXR1cm4gdGhpcy5pc1Jvb3QoKSYmKHRoaXMuX3Jvb3RFbGVtZW50PXQsdGhpcy5fcm9vdEVsZW1lbnQuY2xhc3NlZCgicGxvdHRhYmxlIiwhMCkpLG51bGwhPXRoaXMuX2VsZW1lbnQ/dC5ub2RlKCkuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudC5ub2RlKCkpOih0aGlzLl9lbGVtZW50PXQuYXBwZW5kKCJkaXYiKSx0aGlzLl9zZXR1cCgpKSx0aGlzLl9pc0FuY2hvcmVkPSEwLHRoaXMuX29uQW5jaG9yQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcyksdGhpc30sdC5wcm90b3R5cGUub25BbmNob3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2lzQW5jaG9yZWQmJnQodGhpcyksdGhpcy5fb25BbmNob3JDYWxsYmFja3MuYWRkKHQpLHRoaXN9LHQucHJvdG90eXBlLm9mZkFuY2hvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fb25BbmNob3JDYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LHQucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5faXNTZXR1cHx8KHRoaXMuX2Nzc0NsYXNzZXMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dC5fZWxlbWVudC5jbGFzc2VkKGUsITApfSkpLHRoaXMuX2Nzc0NsYXNzZXM9bmV3IHN2dC5TZXQsdGhpcy5fYmFja2dyb3VuZENvbnRhaW5lcj10aGlzLl9lbGVtZW50LmFwcGVuZCgic3ZnIikuY2xhc3NlZCgiYmFja2dyb3VuZC1jb250YWluZXIiLCEwKSx0aGlzLl9jb250ZW50PXRoaXMuX2VsZW1lbnQuYXBwZW5kKCJzdmciKS5jbGFzc2VkKCJjb250ZW50IiwhMCksdGhpcy5fZm9yZWdyb3VuZENvbnRhaW5lcj10aGlzLl9lbGVtZW50LmFwcGVuZCgic3ZnIikuY2xhc3NlZCgiZm9yZWdyb3VuZC1jb250YWluZXIiLCEwKSx0aGlzLl9jb250ZW50LmNsYXNzZWQodGhpcy5fb3ZlcmZsb3dIaWRkZW4/ImNvbXBvbmVudC1vdmVyZmxvdy1oaWRkZW4iOiJjb21wb25lbnQtb3ZlcmZsb3ctdmlzaWJsZSIsITApLHRoaXMuX2lzU2V0dXA9ITApfSx0LnByb3RvdHlwZS5yZXF1ZXN0ZWRTcGFjZT1mdW5jdGlvbih0LGUpe3JldHVybnttaW5XaWR0aDowLG1pbkhlaWdodDowfX0sdC5wcm90b3R5cGUuY29tcHV0ZUxheW91dD1mdW5jdGlvbihlLG4saSl7aWYobnVsbD09ZXx8bnVsbD09bnx8bnVsbD09aSl7aWYobnVsbD09dGhpcy5fZWxlbWVudCl0aHJvdyBuZXcgRXJyb3IoImFuY2hvcigpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBjb21wdXRlTGF5b3V0KCkiKTtpZihudWxsPT10aGlzLl9yb290RWxlbWVudCl0aHJvdyBuZXcgRXJyb3IoIm51bGwgYXJndW1lbnRzIGNhbm5vdCBiZSBwYXNzZWQgdG8gY29tcHV0ZUxheW91dCgpIG9uIGEgbm9uLXJvb3QsIHVuYW5jaG9yZWQgbm9kZSIpO2U9e3g6MCx5OjB9O3ZhciByPXRoaXMuX3Jvb3RFbGVtZW50Lm5vZGUoKTtuPXN2dC5ET00uZWxlbWVudFdpZHRoKHIpLGk9c3Z0LkRPTS5lbGVtZW50SGVpZ2h0KHIpfXZhciBvPXRoaXMuX3NpemVGcm9tT2ZmZXIobixpKSxhPW8uaGVpZ2h0LHM9by53aWR0aDtyZXR1cm4gdGhpcy5zZXRCb3VuZHMocyxhLGUueCsobi1zKSp0Ll94QWxpZ25Ub1Byb3BvcnRpb25bdGhpcy5feEFsaWdubWVudF0sZS55KyhpLWEpKnQuX3lBbGlnblRvUHJvcG9ydGlvblt0aGlzLl95QWxpZ25tZW50XSksdGhpc30sdC5wcm90b3R5cGUuc2V0Qm91bmRzPWZ1bmN0aW9uKHQsZSxuLGkpe3JldHVybiB2b2lkIDA9PT1uJiYobj0wKSx2b2lkIDA9PT1pJiYoaT0wKSx0aGlzLl93aWR0aD10LHRoaXMuX2hlaWdodD1lLHRoaXMuX29yaWdpbj17eDpuLHk6aX0sbnVsbCE9dGhpcy5fZWxlbWVudCYmdGhpcy5fZWxlbWVudC5zdHlsZXMoe2xlZnQ6bisicHgiLGhlaWdodDplKyJweCIsdG9wOmkrInB4Iix3aWR0aDp0KyJweCJ9KSxudWxsIT10aGlzLl9yZXNpemVIYW5kbGVyJiZ0aGlzLl9yZXNpemVIYW5kbGVyKHt3aWR0aDp0LGhlaWdodDplfSksdGhpc30sdC5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXI9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLnJlcXVlc3RlZFNwYWNlKHQsZSk7cmV0dXJue3dpZHRoOnRoaXMuZml4ZWRXaWR0aCgpP01hdGgubWluKHQsbi5taW5XaWR0aCk6dCxoZWlnaHQ6dGhpcy5maXhlZEhlaWdodCgpP01hdGgubWluKGUsbi5taW5IZWlnaHQpOmV9fSx0LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNBbmNob3JlZCYmdGhpcy5faXNTZXR1cCYmdGhpcy53aWR0aCgpPj0wJiZ0aGlzLmhlaWdodCgpPj0wJiZhdnQucmVnaXN0ZXJUb1JlbmRlcih0aGlzKSx0aGlzfSx0LnByb3RvdHlwZS5yZW5kZXJMb3dQcmlvcml0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJlbmRlcigpfSx0LnByb3RvdHlwZS5fc2NoZWR1bGVDb21wdXRlTGF5b3V0PWZ1bmN0aW9uKCl7dGhpcy5faXNBbmNob3JlZCYmdGhpcy5faXNTZXR1cCYmYXZ0LnJlZ2lzdGVyVG9Db21wdXRlTGF5b3V0QW5kUmVuZGVyKHRoaXMpfSx0LnByb3RvdHlwZS5vblJlc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmVzaXplSGFuZGxlcj10LHRoaXN9LHQucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLnJlZHJhdz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9pc0FuY2hvcmVkJiZ0aGlzLl9pc1NldHVwJiYodGhpcy5pc1Jvb3QoKT90aGlzLl9zY2hlZHVsZUNvbXB1dGVMYXlvdXQoKTp0aGlzLnBhcmVudCgpLnJlZHJhdygpKSx0aGlzfSx0LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXt9LHQucHJvdG90eXBlLnJlbmRlclRvPWZ1bmN0aW9uKHQpe2lmKHRoaXMuZGV0YWNoKCksbnVsbCE9dCl7dmFyIGU9dm9pZCAwO2lmKCEoZT0ic3RyaW5nIj09dHlwZW9mIHR8fGx2dC5pc0VsZW1lbnQodCk/b3Z0LnNlbGVjdCh0KTpjdnQuY29lcmNlRXh0ZXJuYWxEMyh0KSkubm9kZSgpfHxudWxsPT1lLm5vZGUoKS5ub2RlTmFtZSl0aHJvdyBuZXcgRXJyb3IoIlBsb3R0YWJsZSByZXF1aXJlcyBhIHZhbGlkIEVsZW1lbnQgdG8gcmVuZGVyVG8iKTtpZigic3ZnIj09PWUubm9kZSgpLm5vZGVOYW1lKXRocm93IG5ldyBFcnJvcigiUGxvdHRhYmxlIDMueCBhbmQgbGF0ZXIgY2FuIG9ubHkgcmVuZGVyVG8gYW4gSFRNTCBjb21wb25lbnQ7IHBhc3MgYSBkaXYgaW5zdGVhZCEiKTt0aGlzLmFuY2hvcihlKX1pZihudWxsPT10aGlzLl9lbGVtZW50KXRocm93IG5ldyBFcnJvcigiSWYgYSBDb21wb25lbnQgaGFzIG5ldmVyIGJlZW4gcmVuZGVyZWQgYmVmb3JlLCB0aGVuIHJlbmRlclRvIG11c3QgYmUgZ2l2ZW4gYSBub2RlIHRvIHJlbmRlciB0bywgb3IgYSBkMy5TZWxlY3Rpb24sIG9yIGEgc2VsZWN0b3Igc3RyaW5nIik7cmV0dXJuIGF2dC5yZWdpc3RlclRvQ29tcHV0ZUxheW91dEFuZFJlbmRlcih0aGlzKSxhdnQuZmx1c2goKSx0aGlzfSx0LnByb3RvdHlwZS54QWxpZ25tZW50PWZ1bmN0aW9uKGUpe2lmKG51bGw9PWUpcmV0dXJuIHRoaXMuX3hBbGlnbm1lbnQ7aWYoZT1lLnRvTG93ZXJDYXNlKCksbnVsbD09dC5feEFsaWduVG9Qcm9wb3J0aW9uW2VdKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgYWxpZ25tZW50OiAiK2UpO3JldHVybiB0aGlzLl94QWxpZ25tZW50PWUsdGhpcy5yZWRyYXcoKSx0aGlzfSx0LnByb3RvdHlwZS55QWxpZ25tZW50PWZ1bmN0aW9uKGUpe2lmKG51bGw9PWUpcmV0dXJuIHRoaXMuX3lBbGlnbm1lbnQ7aWYoZT1lLnRvTG93ZXJDYXNlKCksbnVsbD09dC5feUFsaWduVG9Qcm9wb3J0aW9uW2VdKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgYWxpZ25tZW50OiAiK2UpO3JldHVybiB0aGlzLl95QWxpZ25tZW50PWUsdGhpcy5yZWRyYXcoKSx0aGlzfSx0LnByb3RvdHlwZS5oYXNDbGFzcz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dCYmKG51bGw9PXRoaXMuX2VsZW1lbnQ/dGhpcy5fY3NzQ2xhc3Nlcy5oYXModCk6dGhpcy5fZWxlbWVudC5jbGFzc2VkKHQpKX0sdC5wcm90b3R5cGUuYWRkQ2xhc3M9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR8fChudWxsPT10aGlzLl9lbGVtZW50P3RoaXMuX2Nzc0NsYXNzZXMuYWRkKHQpOnRoaXMuX2VsZW1lbnQuY2xhc3NlZCh0LCEwKSksdGhpc30sdC5wcm90b3R5cGUucmVtb3ZlQ2xhc3M9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR8fChudWxsPT10aGlzLl9lbGVtZW50P3RoaXMuX2Nzc0NsYXNzZXMuZGVsZXRlKHQpOnRoaXMuX2VsZW1lbnQuY2xhc3NlZCh0LCExKSksdGhpc30sdC5wcm90b3R5cGUuZml4ZWRXaWR0aD1mdW5jdGlvbigpe3JldHVybiExfSx0LnByb3RvdHlwZS5maXhlZEhlaWdodD1mdW5jdGlvbigpe3JldHVybiExfSx0LnByb3RvdHlwZS5kZXRhY2g9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQobnVsbCksdGhpcy5faXNBbmNob3JlZCYmdGhpcy5fZWxlbWVudC5yZW1vdmUoKSx0aGlzLl9pc0FuY2hvcmVkPSExLHRoaXMuX29uRGV0YWNoQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcyksdGhpc30sdC5wcm90b3R5cGUub25EZXRhY2g9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX29uRGV0YWNoQ2FsbGJhY2tzLmFkZCh0KSx0aGlzfSx0LnByb3RvdHlwZS5vZmZEZXRhY2g9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX29uRGV0YWNoQ2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSx0LnByb3RvdHlwZS5wYXJlbnQ9ZnVuY3Rpb24odCl7aWYodm9pZCAwPT09dClyZXR1cm4gdGhpcy5fcGFyZW50O2lmKG51bGwhPT10JiYhdC5oYXModGhpcykpdGhyb3cgbmV3IEVycm9yKCJQYXNzZWQgaW52YWxpZCBwYXJlbnQiKTtyZXR1cm4gdGhpcy5fcGFyZW50PXQsdGhpc30sdC5wcm90b3R5cGUuYm91bmRzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcmlnaW4oKTtyZXR1cm57dG9wTGVmdDp0LGJvdHRvbVJpZ2h0Ont4OnQueCt0aGlzLndpZHRoKCkseTp0LnkrdGhpcy5oZWlnaHQoKX19fSx0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5fZGVzdHJveWVkPSEwLHRoaXMuZGV0YWNoKCl9LHQucHJvdG90eXBlLndpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dpZHRofSx0LnByb3RvdHlwZS5oZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faGVpZ2h0fSx0LnByb3RvdHlwZS5vcmlnaW49ZnVuY3Rpb24oKXtyZXR1cm57eDp0aGlzLl9vcmlnaW4ueCx5OnRoaXMuX29yaWdpbi55fX0sdC5wcm90b3R5cGUub3JpZ2luVG9Sb290PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMub3JpZ2luKCksZT10aGlzLnBhcmVudCgpO251bGwhPWU7KXt2YXIgbj1lLm9yaWdpbigpO3QueCs9bi54LHQueSs9bi55LGU9ZS5wYXJlbnQoKX1yZXR1cm4gdH0sdC5wcm90b3R5cGUucm9vdD1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzOyF0LmlzUm9vdCgpOyl0PXQucGFyZW50KCk7cmV0dXJuIHR9LHQucHJvdG90eXBlLmlzUm9vdD1mdW5jdGlvbigpe3JldHVybiBudWxsPT10aGlzLnBhcmVudCgpfSx0LnByb3RvdHlwZS5mb3JlZ3JvdW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZvcmVncm91bmRDb250YWluZXJ9LHQucHJvdG90eXBlLmNvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29udGVudH0sdC5wcm90b3R5cGUuZWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbGVtZW50fSx0LnByb3RvdHlwZS5yb290RWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJvb3QoKS5fcm9vdEVsZW1lbnR9LHQucHJvdG90eXBlLmJhY2tncm91bmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvbnRhaW5lcn0sdC5feEFsaWduVG9Qcm9wb3J0aW9uPXtsZWZ0OjAsY2VudGVyOi41LHJpZ2h0OjF9LHQuX3lBbGlnblRvUHJvcG9ydGlvbj17dG9wOjAsY2VudGVyOi41LGJvdHRvbToxfSx0fSkoKTtPX3QuQ29tcG9uZW50PWh2dDt2YXIgZHZ0PXt9LHB2dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHB2dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGZ2dD13cHQ7ZnVuY3Rpb24gbXZ0KHQpe3JldHVybiB2b2lkIDA9PT10JiYodD0zKSxndnQodCksZnVuY3Rpb24oZSl7cmV0dXJuIGUudG9GaXhlZCh0KX19ZnVuY3Rpb24gZ3Z0KHQpe2lmKHQ8MHx8dD4yMCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0dGVyIHByZWNpc2lvbiBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjAiKTtpZih0IT09TWF0aC5mbG9vcih0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0dGVyIHByZWNpc2lvbiBtdXN0IGJlIGFuIGludGVnZXIiKX0KLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9wdnQuY3VycmVuY3k9ZnVuY3Rpb24gX3Z0KHQsZSxuKXt2b2lkIDA9PT10JiYodD0yKSx2b2lkIDA9PT1lJiYoZT0iJCIpLHZvaWQgMD09PW4mJihuPSEwKTt2YXIgaT1tdnQodCk7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciByPWkoTWF0aC5hYnModCkpO3JldHVybiIiIT09ciYmKG4/cj1lK3I6cis9ZSx0PDAmJihyPSItIityKSkscn19LHB2dC5maXhlZD1tdnQscHZ0LmdlbmVyYWw9ZnVuY3Rpb24geXZ0KHQpe3JldHVybiB2b2lkIDA9PT10JiYodD0zKSxndnQodCksZnVuY3Rpb24oZSl7aWYoIm51bWJlciI9PXR5cGVvZiBlKXt2YXIgbj1NYXRoLnBvdygxMCx0KTtyZXR1cm4gU3RyaW5nKE1hdGgucm91bmQoZSpuKS9uKX1yZXR1cm4gU3RyaW5nKGUpfX0scHZ0LmlkZW50aXR5PWZ1bmN0aW9uIHZ2dCgpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gU3RyaW5nKHQpfX0scHZ0LnBlcmNlbnRhZ2U9ZnVuY3Rpb24gYnZ0KHQpe3ZvaWQgMD09PXQmJih0PTApO3ZhciBlPW12dCh0KTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49MTAwKnQsaT10LnRvU3RyaW5nKCkscj1NYXRoLnBvdygxMCxpLmxlbmd0aC0oaS5pbmRleE9mKCIuIikrMSkpO3JldHVybiBuPXBhcnNlSW50KChuKnIpLnRvU3RyaW5nKCksMTApL3IsZShuKSsiJSJ9fSxwdnQuc2lTdWZmaXg9ZnVuY3Rpb24geHZ0KHQpe3JldHVybiB2b2lkIDA9PT10JiYodD0zKSxndnQodCksZnVuY3Rpb24oZSl7cmV0dXJuIGZ2dC5mb3JtYXQoIi4iK3QrInMiKShlKX19LHB2dC5zaG9ydFNjYWxlPWZ1bmN0aW9uIHd2dCh0KXt2b2lkIDA9PT10JiYodD0zKSxndnQodCk7dmFyIGU9IktNQlRRIixuPWZ2dC5mb3JtYXQoIi4iK3QrImUiKSxpPWZ2dC5mb3JtYXQoIi4iK3QrImYiKSxyPU1hdGgucG93KDEwLDMqKGUubGVuZ3RoKzEpKSxvPU1hdGgucG93KDEwLC10KTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGE9TWF0aC5hYnModCk7aWYoKGE8b3x8YT49cikmJjAhPT1hKXJldHVybiBuKHQpO2Zvcih2YXIgcz0tMTthPj1NYXRoLnBvdygxZTMscysyKSYmczxlLmxlbmd0aC0xOylzKys7dmFyIGw9IiI7cmV0dXJuIGw9LTE9PT1zP2kodCk6aSh0L01hdGgucG93KDFlMyxzKzEpKStlW3NdLCh0PjAmJiIxMDAwIj09PWwuc3Vic3RyKDAsNCl8fHQ8MCYmIi0xMDAwIj09PWwuc3Vic3RyKDAsNSkpJiYoczxlLmxlbmd0aC0xPyhzKyssbD1pKHQvTWF0aC5wb3coMWUzLHMrMSkpK2Vbc10pOmw9bih0KSksbH19LHB2dC5tdWx0aVRpbWU9ZnVuY3Rpb24gU3Z0KCl7dmFyIHQ9W3tzcGVjaWZpZXI6Ii4lTCIscHJlZGljYXRlOmZ1bmN0aW9uKHQpe3JldHVybiAwIT09dC5nZXRNaWxsaXNlY29uZHMoKX19LHtzcGVjaWZpZXI6IjolUyIscHJlZGljYXRlOmZ1bmN0aW9uKHQpe3JldHVybiAwIT09dC5nZXRTZWNvbmRzKCl9fSx7c3BlY2lmaWVyOiIlSTolTSIscHJlZGljYXRlOmZ1bmN0aW9uKHQpe3JldHVybiAwIT09dC5nZXRNaW51dGVzKCl9fSx7c3BlY2lmaWVyOiIlSSAlcCIscHJlZGljYXRlOmZ1bmN0aW9uKHQpe3JldHVybiAwIT09dC5nZXRIb3VycygpfX0se3NwZWNpZmllcjoiJWEgJWQiLHByZWRpY2F0ZTpmdW5jdGlvbih0KXtyZXR1cm4gMCE9PXQuZ2V0RGF5KCkmJjEhPT10LmdldERhdGUoKX19LHtzcGVjaWZpZXI6IiViICVkIixwcmVkaWNhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIDEhPT10LmdldERhdGUoKX19LHtzcGVjaWZpZXI6IiViIixwcmVkaWNhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIDAhPT10LmdldE1vbnRoKCl9fV07cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPXQuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5wcmVkaWNhdGUoZSl9KSk7cmV0dXJuIGZ2dC50aW1lRm9ybWF0KG4ubGVuZ3RoPjA/blswXS5zcGVjaWZpZXI6IiVZIikoZSl9fSxwdnQudGltZT1mdW5jdGlvbiBNdnQodCxlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9ZmFsc2UpLGU/ZnZ0LnV0Y0Zvcm1hdCh0KTpmdnQudGltZUZvcm1hdCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGR2dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEV2dD1CTyxUdnQ9d3B0LEN2dD1MZ3QsQXZ0PU9fdCxrdnQ9cHZ0LEx2dD1EX3Q7ZHZ0LkF4aXNPcmllbnRhdGlvbj1iZ3QubWFrZUVudW0oWyJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJ0b3AiXSk7dmFyIFB2dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLG4pe3ZhciBpPXQuY2FsbCh0aGlzKXx8dGhpcztpZihpLl9lbmRUaWNrTGVuZ3RoPTUsaS5faW5uZXJUaWNrTGVuZ3RoPTUsaS5fdGlja0xhYmVsUGFkZGluZz0xMCxpLl9tYXJnaW49MTUsaS5fc2hvd0VuZFRpY2tMYWJlbHM9ITEsaS5fYW5ub3RhdGlvbnNFbmFibGVkPSExLGkuX2Fubm90YXRpb25UaWVyQ291bnQ9MSxudWxsPT1lfHxudWxsPT1uKXRocm93IG5ldyBFcnJvcigiQXhpcyByZXF1aXJlcyBhIHNjYWxlIGFuZCBvcmllbnRhdGlvbiIpO3JldHVybiBpLl9zY2FsZT1lLGkub3JpZW50YXRpb24obiksaS5fc2V0RGVmYXVsdEFsaWdubWVudCgpLGkuYWRkQ2xhc3MoImF4aXMiKSxpLmlzSG9yaXpvbnRhbCgpP2kuYWRkQ2xhc3MoIngtYXhpcyIpOmkuYWRkQ2xhc3MoInktYXhpcyIpLGkuZm9ybWF0dGVyKGt2dC5pZGVudGl0eSgpKSxpLl9yZXNjYWxlQ2FsbGJhY2s9ZnVuY3Rpb24odCl7cmV0dXJuIGkuX3Jlc2NhbGUoKX0saS5fc2NhbGUub25VcGRhdGUoaS5fcmVzY2FsZUNhbGxiYWNrKSxpLl9hbm5vdGF0ZWRUaWNrcz1bXSxpLl9hbm5vdGF0aW9uRm9ybWF0dGVyPWt2dC5pZGVudGl0eSgpLGl9cmV0dXJuIEV2dC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpLHRoaXMuX3NjYWxlLm9mZlVwZGF0ZSh0aGlzLl9yZXNjYWxlQ2FsbGJhY2spfSxlLnByb3RvdHlwZS50aWNrTGFiZWxEYXRhT25FbGVtZW50PWZ1bmN0aW9uKHQpe2lmKG51bGwhPXQpe2Zvcih2YXIgbjtudWxsIT10JiZ0LmNsYXNzTGlzdCYmdm9pZCAwPT09bjspdC5jbGFzc0xpc3QuY29udGFpbnMoZS5USUNLX0xBQkVMX0NMQVNTKT9uPXQ6dD10LnBhcmVudE5vZGU7cmV0dXJuIHZvaWQgMD09PXQ/dm9pZCAwOlR2dC5zZWxlY3QodCkuZGF0dW0oKX19LGUucHJvdG90eXBlLl9jb21wdXRlV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWF4TGFiZWxUaWNrTGVuZ3RoKCl9LGUucHJvdG90eXBlLl9jb21wdXRlSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpfSxlLnByb3RvdHlwZS5yZXF1ZXN0ZWRTcGFjZT1mdW5jdGlvbih0LG4pe3ZhciBpPTAscj0wO3RoaXMuaXNIb3Jpem9udGFsKCk/KHI9dGhpcy5fY29tcHV0ZUhlaWdodCgpK3RoaXMuX21hcmdpbix0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpJiYocis9KHRoaXMuX2Fubm90YXRpb25NZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0KzIqZS5fQU5OT1RBVElPTl9MQUJFTF9QQURESU5HKSp0aGlzLmFubm90YXRpb25UaWVyQ291bnQoKSkpOihpPXRoaXMuX2NvbXB1dGVXaWR0aCgpK3RoaXMuX21hcmdpbix0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpJiYoaSs9KHRoaXMuX2Fubm90YXRpb25NZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0KzIqZS5fQU5OT1RBVElPTl9MQUJFTF9QQURESU5HKSp0aGlzLmFubm90YXRpb25UaWVyQ291bnQoKSkpO3JldHVybnttaW5XaWR0aDppLG1pbkhlaWdodDpyfX0sZS5wcm90b3R5cGUuZml4ZWRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0hvcml6b250YWwoKX0sZS5wcm90b3R5cGUuZml4ZWRXaWR0aD1mdW5jdGlvbigpe3JldHVybiF0aGlzLmlzSG9yaXpvbnRhbCgpfSxlLnByb3RvdHlwZS5fcmVzY2FsZT1mdW5jdGlvbigpe3RoaXMucmVuZGVyKCl9LGUucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiB0LnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxlLG4saSksdGhpcy5pc0hvcml6b250YWwoKT90aGlzLl9zY2FsZS5yYW5nZShbMCx0aGlzLndpZHRoKCldKTp0aGlzLl9zY2FsZS5yYW5nZShbdGhpcy5oZWlnaHQoKSwwXSksdGhpc30sZS5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXI9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLnJlcXVlc3RlZFNwYWNlKHQsZSk7cmV0dXJuIHRoaXMuaXNIb3Jpem9udGFsKCk/e3dpZHRoOnQsaGVpZ2h0Om4ubWluSGVpZ2h0fTp7aGVpZ2h0OmUsd2lkdGg6bi5taW5XaWR0aH19LGUucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3QucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpLHRoaXMuX3RpY2tNYXJrQ29udGFpbmVyPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5USUNLX01BUktfQ0xBU1MrIi1jb250YWluZXIiLCEwKSx0aGlzLl90aWNrTGFiZWxDb250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZChlLlRJQ0tfTEFCRUxfQ0xBU1MrIi1jb250YWluZXIiLCEwKSx0aGlzLl9iYXNlbGluZT10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKCJiYXNlbGluZSIsITApLHRoaXMuX2Fubm90YXRpb25Db250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ub3RhdGlvbi1jb250YWluZXIiLCEwKSx0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImFubm90YXRpb24tbGluZS1jb250YWluZXIiLCEwKSx0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLmFwcGVuZCgiZyIpLmNsYXNzZWQoImFubm90YXRpb24tY2lyY2xlLWNvbnRhaW5lciIsITApLHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ub3RhdGlvbi1yZWN0LWNvbnRhaW5lciIsITApO3ZhciBuPXRoaXMuX2Fubm90YXRpb25Db250YWluZXIuYXBwZW5kKCJnIikuY2xhc3NlZCgiYW5ub3RhdGlvbi1sYWJlbC1jb250YWluZXIiLCEwKSxpPW5ldyBDdnQuU3ZnQ29udGV4dChuLm5vZGUoKSk7dGhpcy5fYW5ub3RhdGlvbk1lYXN1cmVyPW5ldyBDdnQuQ2FjaGVNZWFzdXJlcihpKSx0aGlzLl9hbm5vdGF0aW9uV3JpdGVyPW5ldyBDdnQuV3JpdGVyKHRoaXMuX2Fubm90YXRpb25NZWFzdXJlcixpKX0sZS5wcm90b3R5cGUuX2dldFRpY2tWYWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm5bXX0sZS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9nZXRUaWNrVmFsdWVzKCksbj10aGlzLl90aWNrTWFya0NvbnRhaW5lci5zZWxlY3RBbGwoIi4iK2UuVElDS19NQVJLX0NMQVNTKS5kYXRhKHQpLGk9bi5lbnRlcigpLmFwcGVuZCgibGluZSIpLmNsYXNzZWQoZS5USUNLX01BUktfQ0xBU1MsITApLm1lcmdlKG4pO3JldHVybiBpLmF0dHJzKHRoaXMuX2dlbmVyYXRlVGlja01hcmtBdHRySGFzaCgpKSxUdnQuc2VsZWN0KGkubm9kZXMoKVswXSkuY2xhc3NlZChlLkVORF9USUNLX01BUktfQ0xBU1MsITApLmF0dHJzKHRoaXMuX2dlbmVyYXRlVGlja01hcmtBdHRySGFzaCghMCkpLFR2dC5zZWxlY3QoaS5ub2RlcygpW3QubGVuZ3RoLTFdKS5jbGFzc2VkKGUuRU5EX1RJQ0tfTUFSS19DTEFTUywhMCkuYXR0cnModGhpcy5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoKCEwKSksbi5leGl0KCkucmVtb3ZlKCksdGhpcy5fYmFzZWxpbmUuYXR0cnModGhpcy5fZ2VuZXJhdGVCYXNlbGluZUF0dHJIYXNoKCkpLHRoaXMuYW5ub3RhdGlvbnNFbmFibGVkKCk/dGhpcy5fZHJhd0Fubm90YXRpb25zKCk6dGhpcy5fcmVtb3ZlQW5ub3RhdGlvbnMoKSx0aGlzfSxlLnByb3RvdHlwZS5hbm5vdGF0ZWRUaWNrcz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9hbm5vdGF0ZWRUaWNrczoodGhpcy5fYW5ub3RhdGVkVGlja3M9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5hbm5vdGF0aW9uRm9ybWF0dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2Fubm90YXRpb25Gb3JtYXR0ZXI6KHRoaXMuX2Fubm90YXRpb25Gb3JtYXR0ZXI9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5hbm5vdGF0aW9uc0VuYWJsZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fYW5ub3RhdGlvbnNFbmFibGVkOih0aGlzLl9hbm5vdGF0aW9uc0VuYWJsZWQ9dCx0aGlzLnJlZHJhdygpLHRoaXMpfSxlLnByb3RvdHlwZS5hbm5vdGF0aW9uVGllckNvdW50PWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX2Fubm90YXRpb25UaWVyQ291bnQ7aWYodDwwKXRocm93IG5ldyBFcnJvcigiYW5ub3RhdGlvblRpZXJDb3VudCBjYW5ub3QgYmUgbmVnYXRpdmUiKTtyZXR1cm4gdGhpcy5fYW5ub3RhdGlvblRpZXJDb3VudD10LHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUuX2RyYXdBbm5vdGF0aW9ucz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsbj1lLl9BTk5PVEFUSU9OX0xBQkVMX1BBRERJTkcsaT1uZXcgTHZ0Lk1hcCxyPXRoaXMuX2Fubm90YXRlZFRpY2tzVG9SZW5kZXIoKTtyLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciByPXQuX2Fubm90YXRpb25NZWFzdXJlci5tZWFzdXJlKHQuYW5ub3RhdGlvbkZvcm1hdHRlcigpKGUpKTtpLnNldChlLHt3aWR0aDpyLndpZHRoKzIqbixoZWlnaHQ6ci5oZWlnaHQrMipufSl9KSk7dmFyIG89dGhpcy5fYW5ub3RhdGlvbk1lYXN1cmVyLm1lYXN1cmUoKS5oZWlnaHQrMipuLGE9dGhpcy5fYW5ub3RhdGlvblRvVGllcihpKSxzPW5ldyBMdnQuU2V0LGw9dGhpcy5pc0hvcml6b250YWwoKT90aGlzLmhlaWdodCgpOnRoaXMud2lkdGgoKSxjPXRoaXMuX2NvcmVTaXplKCksdT1NYXRoLm1pbih0aGlzLmFubm90YXRpb25UaWVyQ291bnQoKSxNYXRoLmZsb29yKChsLWMpL28pKTthLmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7KC0xPT09dHx8dD49dSkmJnMuYWRkKGUpfSkpO3ZhciBoLGQ9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPXQuc2VsZWN0QWxsKCIuIituKS5kYXRhKHIpLG89aS5lbnRlcigpLmFwcGVuZChlKS5jbGFzc2VkKG4sITApLm1lcmdlKGkpO3JldHVybiBpLmV4aXQoKS5yZW1vdmUoKSxvfSxwPWZ1bmN0aW9uKGUpe3N3aXRjaCh0Lm9yaWVudGF0aW9uKCkpe2Nhc2UiYm90dG9tIjpjYXNlInJpZ2h0IjpyZXR1cm4gYS5nZXQoZSkqbytjO2Nhc2UidG9wIjpjYXNlImxlZnQiOnJldHVybiBsLWMtYS5nZXQoZSkqb319LGY9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuX3NjYWxlLnNjYWxlKGUpfSxtPWZ1bmN0aW9uKHQpe3JldHVybiBzLmhhcyh0KT8iaGlkZGVuIjoidmlzaWJsZSJ9O3N3aXRjaCh0aGlzLm9yaWVudGF0aW9uKCkpe2Nhc2UiYm90dG9tIjpjYXNlInJpZ2h0IjpoPTA7YnJlYWs7Y2FzZSJ0b3AiOmg9dGhpcy5oZWlnaHQoKTticmVhaztjYXNlImxlZnQiOmg9dGhpcy53aWR0aCgpfXZhciBnPXRoaXMuaXNIb3Jpem9udGFsKCk7ZCh0aGlzLl9hbm5vdGF0aW9uQ29udGFpbmVyLnNlbGVjdCgiLmFubm90YXRpb24tbGluZS1jb250YWluZXIiKSwibGluZSIsZS5BTk5PVEFUSU9OX0xJTkVfQ0xBU1MpLmF0dHJzKHt4MTpnP2Y6aCx4MjpnP2Y6cCx5MTpnP2g6Zix5MjpnP3A6Zix2aXNpYmlsaXR5Om19KSxkKHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0KCIuYW5ub3RhdGlvbi1jaXJjbGUtY29udGFpbmVyIiksImNpcmNsZSIsZS5BTk5PVEFUSU9OX0NJUkNMRV9DTEFTUykuYXR0cnMoe2N4Omc/ZjpoLGN5Omc/aDpmLHI6M30pO3ZhciBfPWZ1bmN0aW9uKGUpe3N3aXRjaCh0Lm9yaWVudGF0aW9uKCkpe2Nhc2UiYm90dG9tIjpjYXNlInJpZ2h0IjpyZXR1cm4gcChlKTtjYXNlInRvcCI6Y2FzZSJsZWZ0IjpyZXR1cm4gcChlKS1pLmdldChlKS5oZWlnaHR9fTtkKHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0KCIuYW5ub3RhdGlvbi1yZWN0LWNvbnRhaW5lciIpLCJyZWN0IixlLkFOTk9UQVRJT05fUkVDVF9DTEFTUykuYXR0cnMoe3g6Zz9mOl8seTpnP186Zix3aWR0aDpnP2Z1bmN0aW9uKHQpe3JldHVybiBpLmdldCh0KS53aWR0aH06ZnVuY3Rpb24odCl7cmV0dXJuIGkuZ2V0KHQpLmhlaWdodH0saGVpZ2h0Omc/ZnVuY3Rpb24odCl7cmV0dXJuIGkuZ2V0KHQpLmhlaWdodH06ZnVuY3Rpb24odCl7cmV0dXJuIGkuZ2V0KHQpLndpZHRofSx2aXNpYmlsaXR5Om19KTt2YXIgeT10aGlzLl9hbm5vdGF0aW9uV3JpdGVyLHY9dGhpcy5hbm5vdGF0aW9uRm9ybWF0dGVyKCksYj1kKHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0KCIuYW5ub3RhdGlvbi1sYWJlbC1jb250YWluZXIiKSwiZyIsZS5BTk5PVEFUSU9OX0xBQkVMX0NMQVNTKTtiLnNlbGVjdEFsbCgiLnRleHQtY29udGFpbmVyIikucmVtb3ZlKCksYi5hdHRycyh7dHJhbnNmb3JtOmZ1bmN0aW9uKHQpe3JldHVybiJ0cmFuc2xhdGUoIisoZz9mKHQpOl8odCkpKyIsIisoZz9fKHQpOmYodCkpKyIpIn0sdmlzaWJpbGl0eTptfSkuZWFjaCgoZnVuY3Rpb24odCl7eS53cml0ZSh2KHQpLGc/aS5nZXQodCkud2lkdGg6aS5nZXQodCkuaGVpZ2h0LGc/aS5nZXQodCkuaGVpZ2h0OmkuZ2V0KHQpLndpZHRoLHt4QWxpZ246ImNlbnRlciIseUFsaWduOiJjZW50ZXIiLHRleHRSb3RhdGlvbjpnPzA6OTB9LFR2dC5zZWxlY3QodGhpcykubm9kZSgpKX0pKX0sZS5wcm90b3R5cGUuX2Fubm90YXRlZFRpY2tzVG9SZW5kZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5fc2NhbGUucmFuZ2UoKTtyZXR1cm4gTHZ0LkFycmF5LnVuaXEodGhpcy5hbm5vdGF0ZWRUaWNrcygpLmZpbHRlcigoZnVuY3Rpb24obil7cmV0dXJuIG51bGwhPW4mJkx2dC5NYXRoLmluUmFuZ2UodC5fc2NhbGUuc2NhbGUobiksZVswXSxlWzFdKX0pKSl9LGUucHJvdG90eXBlLl9jb3JlU2l6ZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuaXNIb3Jpem9udGFsKCk/dGhpcy5oZWlnaHQoKTp0aGlzLndpZHRoKCksZT10aGlzLmlzSG9yaXpvbnRhbCgpP3RoaXMuX2NvbXB1dGVIZWlnaHQoKTp0aGlzLl9jb21wdXRlV2lkdGgoKTtyZXR1cm4gTWF0aC5taW4oZSx0KX0sZS5wcm90b3R5cGUuX2Fubm90YXRpb25UaWVySGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Fubm90YXRpb25NZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0KzIqZS5fQU5OT1RBVElPTl9MQUJFTF9QQURESU5HfSxlLnByb3RvdHlwZS5fYW5ub3RhdGlvblRvVGllcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49W1tdXSxpPW5ldyBMdnQuTWFwLHI9dGhpcy5pc0hvcml6b250YWwoKT90aGlzLndpZHRoKCk6dGhpcy5oZWlnaHQoKTtyZXR1cm4gdGhpcy5fYW5ub3RhdGVkVGlja3NUb1JlbmRlcigpLmZvckVhY2goKGZ1bmN0aW9uKG8pe3ZhciBhPWUuX3NjYWxlLnNjYWxlKG8pLHM9dC5nZXQobykud2lkdGg7aWYoYTwwfHxhK3M+cilpLnNldChvLC0xKTtlbHNle2Zvcih2YXIgbD0wO25bbF0uc29tZSgoZnVuY3Rpb24obil7dmFyIGk9ZS5fc2NhbGUuc2NhbGUobikscj10LmdldChuKS53aWR0aDtyZXR1cm4gYStzPj1pJiZhPD1pK3J9KSk7KWwrKyxuLmxlbmd0aD09PWwmJm4ucHVzaChbXSk7bltsXS5wdXNoKG8pLGkuc2V0KG8sbCl9fSkpLGl9LGUucHJvdG90eXBlLl9yZW1vdmVBbm5vdGF0aW9ucz1mdW5jdGlvbigpe3RoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0QWxsKCIuYW5ub3RhdGlvbi1saW5lIikucmVtb3ZlKCksdGhpcy5fYW5ub3RhdGlvbkNvbnRhaW5lci5zZWxlY3RBbGwoIi5hbm5vdGF0aW9uLWNpcmNsZSIpLnJlbW92ZSgpLHRoaXMuX2Fubm90YXRpb25Db250YWluZXIuc2VsZWN0QWxsKCIuYW5ub3RhdGlvbi1yZWN0IikucmVtb3ZlKCksdGhpcy5fYW5ub3RhdGlvbkNvbnRhaW5lci5zZWxlY3RBbGwoIi5hbm5vdGF0aW9uLWxhYmVsIikucmVtb3ZlKCl9LGUucHJvdG90eXBlLl9nZW5lcmF0ZUJhc2VsaW5lQXR0ckhhc2g9ZnVuY3Rpb24oKXt2YXIgdD17eDE6MCx5MTowLHgyOjAseTI6MH07c3dpdGNoKHRoaXMuX29yaWVudGF0aW9uKXtjYXNlImJvdHRvbSI6dC54Mj10aGlzLndpZHRoKCk7YnJlYWs7Y2FzZSJ0b3AiOnQueDI9dGhpcy53aWR0aCgpLHQueTE9dGhpcy5oZWlnaHQoKSx0LnkyPXRoaXMuaGVpZ2h0KCk7YnJlYWs7Y2FzZSJsZWZ0Ijp0LngxPXRoaXMud2lkdGgoKSx0LngyPXRoaXMud2lkdGgoKSx0LnkyPXRoaXMuaGVpZ2h0KCk7YnJlYWs7Y2FzZSJyaWdodCI6dC55Mj10aGlzLmhlaWdodCgpfXJldHVybiB0fSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dm9pZCAwPT09dCYmKHQ9ITEpO3ZhciBuPXt4MTowLHkxOjAseDI6MCx5MjowfSxpPWZ1bmN0aW9uKHQpe3JldHVybiBlLl9zY2FsZS5zY2FsZSh0KX07dGhpcy5pc0hvcml6b250YWwoKT8obi54MT1pLG4ueDI9aSk6KG4ueTE9aSxuLnkyPWkpO3ZhciByPXQ/dGhpcy5fZW5kVGlja0xlbmd0aDp0aGlzLl9pbm5lclRpY2tMZW5ndGg7c3dpdGNoKHRoaXMuX29yaWVudGF0aW9uKXtjYXNlImJvdHRvbSI6bi55Mj1yO2JyZWFrO2Nhc2UidG9wIjpuLnkxPXRoaXMuaGVpZ2h0KCksbi55Mj10aGlzLmhlaWdodCgpLXI7YnJlYWs7Y2FzZSJsZWZ0IjpuLngxPXRoaXMud2lkdGgoKSxuLngyPXRoaXMud2lkdGgoKS1yO2JyZWFrO2Nhc2UicmlnaHQiOm4ueDI9cn1yZXR1cm4gbn0sZS5wcm90b3R5cGUuX3NldERlZmF1bHRBbGlnbm1lbnQ9ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5fb3JpZW50YXRpb24pe2Nhc2UiYm90dG9tIjp0aGlzLnlBbGlnbm1lbnQoInRvcCIpO2JyZWFrO2Nhc2UidG9wIjp0aGlzLnlBbGlnbm1lbnQoImJvdHRvbSIpO2JyZWFrO2Nhc2UibGVmdCI6dGhpcy54QWxpZ25tZW50KCJyaWdodCIpO2JyZWFrO2Nhc2UicmlnaHQiOnRoaXMueEFsaWdubWVudCgibGVmdCIpfX0sZS5wcm90b3R5cGUuaXNIb3Jpem9udGFsPWZ1bmN0aW9uKCl7cmV0dXJuInRvcCI9PT10aGlzLl9vcmllbnRhdGlvbnx8ImJvdHRvbSI9PT10aGlzLl9vcmllbnRhdGlvbn0sZS5wcm90b3R5cGUuZ2V0U2NhbGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2NhbGV9LGUucHJvdG90eXBlLmZvcm1hdHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9mb3JtYXR0ZXI6KHRoaXMuX2Zvcm1hdHRlcj10LHRoaXMucmVkcmF3KCksdGhpcyl9LGUucHJvdG90eXBlLmlubmVyVGlja0xlbmd0aD1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl9pbm5lclRpY2tMZW5ndGg7aWYodDwwKXRocm93IG5ldyBFcnJvcigiaW5uZXIgdGljayBsZW5ndGggbXVzdCBiZSBwb3NpdGl2ZSIpO3JldHVybiB0aGlzLl9pbm5lclRpY2tMZW5ndGg9dCx0aGlzLnJlZHJhdygpLHRoaXN9LGUucHJvdG90eXBlLmVuZFRpY2tMZW5ndGg9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fZW5kVGlja0xlbmd0aDtpZih0PDApdGhyb3cgbmV3IEVycm9yKCJlbmQgdGljayBsZW5ndGggbXVzdCBiZSBwb3NpdGl2ZSIpO3JldHVybiB0aGlzLl9lbmRUaWNrTGVuZ3RoPXQsdGhpcy5yZWRyYXcoKSx0aGlzfSxlLnByb3RvdHlwZS5fbWF4TGFiZWxUaWNrTGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hvd0VuZFRpY2tMYWJlbHMoKT9NYXRoLm1heCh0aGlzLmlubmVyVGlja0xlbmd0aCgpLHRoaXMuZW5kVGlja0xlbmd0aCgpKTp0aGlzLmlubmVyVGlja0xlbmd0aCgpfSxlLnByb3RvdHlwZS50aWNrTGFiZWxQYWRkaW5nPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3RpY2tMYWJlbFBhZGRpbmc7aWYodDwwKXRocm93IG5ldyBFcnJvcigidGljayBsYWJlbCBwYWRkaW5nIG11c3QgYmUgcG9zaXRpdmUiKTtyZXR1cm4gdGhpcy5fdGlja0xhYmVsUGFkZGluZz10LHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUubWFyZ2luPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX21hcmdpbjtpZih0PDApdGhyb3cgbmV3IEVycm9yKCJtYXJnaW4gc2l6ZSBtdXN0IGJlIHBvc2l0aXZlIik7cmV0dXJuIHRoaXMuX21hcmdpbj10LHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUub3JpZW50YXRpb249ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fb3JpZW50YXRpb247dmFyIGU9dC50b0xvd2VyQ2FzZSgpO2lmKCJ0b3AiIT09ZSYmImJvdHRvbSIhPT1lJiYibGVmdCIhPT1lJiYicmlnaHQiIT09ZSl0aHJvdyBuZXcgRXJyb3IoInVuc3VwcG9ydGVkIG9yaWVudGF0aW9uIik7cmV0dXJuIHRoaXMuX29yaWVudGF0aW9uPWUsdGhpcy5yZWRyYXcoKSx0aGlzfSxlLnByb3RvdHlwZS5zaG93RW5kVGlja0xhYmVscz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9zaG93RW5kVGlja0xhYmVsczoodGhpcy5fc2hvd0VuZFRpY2tMYWJlbHM9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5fc2hvd0FsbFRpY2tNYXJrcz1mdW5jdGlvbigpe3RoaXMuX3RpY2tNYXJrQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrZS5USUNLX01BUktfQ0xBU1MpLmVhY2goKGZ1bmN0aW9uKCl7VHZ0LnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIsImluaGVyaXQiKX0pKX0sZS5wcm90b3R5cGUuX3Nob3dBbGxUaWNrTGFiZWxzPWZ1bmN0aW9uKCl7dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrZS5USUNLX0xBQkVMX0NMQVNTKS5lYWNoKChmdW5jdGlvbigpe1R2dC5zZWxlY3QodGhpcykuc3R5bGUoInZpc2liaWxpdHkiLCJpbmhlcml0Iil9KSl9LGUucHJvdG90eXBlLl9oaWRlT3ZlcmZsb3dpbmdUaWNrTGFiZWxzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbGVtZW50KCkubm9kZSgpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrZS5USUNLX0xBQkVMX0NMQVNTKTtuLmVtcHR5KCl8fG4uZWFjaCgoZnVuY3Rpb24oZSxuKXtMdnQuRE9NLmNsaWVudFJlY3RJbnNpZGUodGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx0KXx8VHZ0LnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIsImhpZGRlbiIpfSkpfSxlLnByb3RvdHlwZS5faGlkZVRpY2tNYXJrc1dpdGhvdXRMYWJlbD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3RpY2tNYXJrQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrZS5USUNLX01BUktfQ0xBU1MpLG49dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrZS5USUNLX0xBQkVMX0NMQVNTKS5maWx0ZXIoKGZ1bmN0aW9uKHQsZSl7dmFyIG49VHZ0LnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIpO3JldHVybiJpbmhlcml0Ij09PW58fCJ2aXNpYmxlIj09PW59KSkuZGF0YSgpO3QuZWFjaCgoZnVuY3Rpb24odCxlKXstMT09PW4uaW5kZXhPZih0KSYmVHZ0LnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIsImhpZGRlbiIpfSkpfSxlLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGUuY2FsbCh0aGlzKSx0aGlzLl9hbm5vdGF0aW9uTWVhc3VyZXIucmVzZXQoKX0sZS5FTkRfVElDS19NQVJLX0NMQVNTPSJlbmQtdGljay1tYXJrIixlLlRJQ0tfTUFSS19DTEFTUz0idGljay1tYXJrIixlLlRJQ0tfTEFCRUxfQ0xBU1M9InRpY2stbGFiZWwiLGUuQU5OT1RBVElPTl9MSU5FX0NMQVNTPSJhbm5vdGF0aW9uLWxpbmUiLGUuQU5OT1RBVElPTl9SRUNUX0NMQVNTPSJhbm5vdGF0aW9uLXJlY3QiLGUuQU5OT1RBVElPTl9DSVJDTEVfQ0xBU1M9ImFubm90YXRpb24tY2lyY2xlIixlLkFOTk9UQVRJT05fTEFCRUxfQ0xBU1M9ImFubm90YXRpb24tbGFiZWwiLGUuX0FOTk9UQVRJT05fTEFCRUxfUEFERElORz00LGV9KShBdnQuQ29tcG9uZW50KTtkdnQuQXhpcz1QdnQsCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShrZ3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBOdnQ9Qk8sSXZ0PXdwdCxSdnQ9TGd0LE92dD1PX3QsenZ0PURfdCxEdnQ9ZHZ0LEJ2dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLG4pe3ZvaWQgMD09PW4mJihuPSJib3R0b20iKTt2YXIgaT10LmNhbGwodGhpcyxlLG4pfHx0aGlzO3JldHVybiBpLl90aWNrTGFiZWxBbmdsZT0wLGkuX3RpY2tMYWJlbFNoZWFyQW5nbGU9MCxpLmFkZENsYXNzKCJjYXRlZ29yeS1heGlzIiksaX1yZXR1cm4gTnZ0Ll9fZXh0ZW5kcyhlLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiX3dyYXBwZXIiLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgdD1uZXcgUnZ0LldyYXBwZXI7cmV0dXJuIG51bGwhPXRoaXMuX3RpY2tMYWJlbE1heExpbmVzJiZ0Lm1heExpbmVzKHRoaXMuX3RpY2tMYWJlbE1heExpbmVzKSx0fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiX3dyaXRlciIse2dldDpmdW5jdGlvbigpe3JldHVybiBuZXcgUnZ0LldyaXRlcih0aGlzLl9tZWFzdXJlcix0aGlzLl90eXBlc2V0dGVyQ29udGV4dCx0aGlzLl93cmFwcGVyKX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKSx0aGlzLl90eXBlc2V0dGVyQ29udGV4dD1uZXcgUnZ0LlN2Z0NvbnRleHQodGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLm5vZGUoKSksdGhpcy5fbWVhc3VyZXI9bmV3IFJ2dC5DYWNoZU1lYXN1cmVyKHRoaXMuX3R5cGVzZXR0ZXJDb250ZXh0KX0sZS5wcm90b3R5cGUuX3Jlc2NhbGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZWRyYXcoKX0sZS5wcm90b3R5cGUucmVxdWVzdGVkU3BhY2U9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLmlzSG9yaXpvbnRhbCgpPzA6dGhpcy5fdGlja1NwYWNlUmVxdWlyZWQoKSt0aGlzLm1hcmdpbigpLGk9dGhpcy5pc0hvcml6b250YWwoKT90aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpK3RoaXMubWFyZ2luKCk6MDtpZigwPT09dGhpcy5fc2NhbGUuZG9tYWluKCkubGVuZ3RoKXJldHVybnttaW5XaWR0aDowLG1pbkhlaWdodDowfTtpZih0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpKXt2YXIgcj10aGlzLl9hbm5vdGF0aW9uVGllckhlaWdodCgpKnRoaXMuYW5ub3RhdGlvblRpZXJDb3VudCgpO3RoaXMuaXNIb3Jpem9udGFsKCk/aSs9cjpuKz1yfXZhciBvPXRoaXMuX21lYXN1cmVUaWNrTGFiZWxzKHQsZSk7cmV0dXJue21pbldpZHRoOm8udXNlZFdpZHRoK24sbWluSGVpZ2h0Om8udXNlZEhlaWdodCtpfX0sZS5wcm90b3R5cGUuX2NvcmVTaXplPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5pc0hvcml6b250YWwoKT90aGlzLmhlaWdodCgpOnRoaXMud2lkdGgoKSxlPXRoaXMuaXNIb3Jpem9udGFsKCk/dGhpcy5yZXF1ZXN0ZWRTcGFjZSh0aGlzLndpZHRoKCksdGhpcy5oZWlnaHQoKSkubWluSGVpZ2h0OnRoaXMucmVxdWVzdGVkU3BhY2UodGhpcy53aWR0aCgpLHRoaXMuaGVpZ2h0KCkpLm1pbldpZHRoLG49dGhpcy5tYXJnaW4oKSt0aGlzLl9hbm5vdGF0aW9uVGllckhlaWdodCgpO3JldHVybiBNYXRoLm1pbihlLW4sdCl9LGUucHJvdG90eXBlLl9nZXRUaWNrVmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0RG93bnNhbXBsZUluZm8oKS5kb21haW59LGUucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE92dC5Db21wb25lbnQucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyLmNhbGwodGhpcyx0LGUpfSxlLnByb3RvdHlwZS5nZXREb3duc2FtcGxlSW5mbz1mdW5jdGlvbih0LG4pe3ZvaWQgMD09PXQmJih0PXRoaXMuX3NjYWxlKSx2b2lkIDA9PT1uJiYobj10LmludmVydFJhbmdlKCkpO3ZhciBpPTA9PT10aGlzLl90aWNrTGFiZWxBbmdsZT8xOjEvTWF0aC5jb3ModGhpcy5fdGlja0xhYmVsU2hlYXJBbmdsZS8xODAqTWF0aC5QSSkscj1NYXRoLmNlaWwoZS5fTUlOSU1VTV9XSURUSF9QRVJfTEFCRUxfUFgqaS90LnN0ZXBXaWR0aCgpKTtyZXR1cm57ZG9tYWluOm4uZmlsdGVyKChmdW5jdGlvbih0LGUpe3JldHVybiBlJXI9PTB9KSksc3RlcFdpZHRoOnIqdC5zdGVwV2lkdGgoKX19LGUucHJvdG90eXBlLnRpY2tMYWJlbEFuZ2xlPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3RpY2tMYWJlbEFuZ2xlO2lmKDAhPT10JiY5MCE9PXQmJi05MCE9PXQpdGhyb3cgbmV3IEVycm9yKCJBbmdsZSAiK3QrIiBub3Qgc3VwcG9ydGVkOyBvbmx5IDAsIDkwLCBhbmQgLTkwIGFyZSB2YWxpZCB2YWx1ZXMiKTtyZXR1cm4gdGhpcy5fdGlja0xhYmVsQW5nbGU9dCx0aGlzLnJlZHJhdygpLHRoaXN9LGUucHJvdG90eXBlLnRpY2tMYWJlbFNoZWFyQW5nbGU9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fdGlja0xhYmVsU2hlYXJBbmdsZTtpZih0PC04MHx8dD44MCl0aHJvdyBuZXcgRXJyb3IoIkFuZ2xlICIrdCsiIG5vdCBzdXBwb3J0ZWQ7IE11c3QgYmUgYmV0d2VlbiBbLTgwLCA4MF0iKTtyZXR1cm4gdGhpcy5fdGlja0xhYmVsU2hlYXJBbmdsZT10LHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUudGlja0xhYmVsTWF4V2lkdGg9ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMuX3RpY2tMYWJlbE1heFdpZHRoOih0aGlzLl90aWNrTGFiZWxNYXhXaWR0aD10LHRoaXMucmVkcmF3KCksdGhpcyl9LGUucHJvdG90eXBlLnRpY2tMYWJlbE1heExpbmVzPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLl90aWNrTGFiZWxNYXhMaW5lczoodGhpcy5fdGlja0xhYmVsTWF4TGluZXM9dCx0aGlzLnJlZHJhdygpLHRoaXMpfSxlLnByb3RvdHlwZS5fdGlja1NwYWNlUmVxdWlyZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWF4TGFiZWxUaWNrTGVuZ3RoKCkrdGhpcy50aWNrTGFiZWxQYWRkaW5nKCl9LGUucHJvdG90eXBlLl9kcmF3VGlja3M9ZnVuY3Rpb24odCxlKXt2YXIgbixpLHI9dGhpcztzd2l0Y2godGhpcy50aWNrTGFiZWxBbmdsZSgpKXtjYXNlIDA6bj17bGVmdDoicmlnaHQiLHJpZ2h0OiJsZWZ0Iix0b3A6ImNlbnRlciIsYm90dG9tOiJjZW50ZXIifSxpPXtsZWZ0OiJjZW50ZXIiLHJpZ2h0OiJjZW50ZXIiLHRvcDoiYm90dG9tIixib3R0b206InRvcCJ9O2JyZWFrO2Nhc2UgOTA6bj17bGVmdDoiY2VudGVyIixyaWdodDoiY2VudGVyIix0b3A6InJpZ2h0Iixib3R0b206ImxlZnQifSxpPXtsZWZ0OiJ0b3AiLHJpZ2h0OiJib3R0b20iLHRvcDoiY2VudGVyIixib3R0b206ImNlbnRlciJ9O2JyZWFrO2Nhc2UtOTA6bj17bGVmdDoiY2VudGVyIixyaWdodDoiY2VudGVyIix0b3A6ImxlZnQiLGJvdHRvbToicmlnaHQifSxpPXtsZWZ0OiJib3R0b20iLHJpZ2h0OiJ0b3AiLHRvcDoiY2VudGVyIixib3R0b206ImNlbnRlciJ9fWUuZWFjaCgoZnVuY3Rpb24oZSl7dmFyIG89SXZ0LnNlbGVjdCh0aGlzKSxhPXIuaXNIb3Jpem9udGFsKCk/dDpyLndpZHRoKCktci5fdGlja1NwYWNlUmVxdWlyZWQoKSxzPXIuaXNIb3Jpem9udGFsKCk/ci5oZWlnaHQoKS1yLl90aWNrU3BhY2VSZXF1aXJlZCgpOnQsbD17eEFsaWduOm5bci5vcmllbnRhdGlvbigpXSx5QWxpZ246aVtyLm9yaWVudGF0aW9uKCldLHRleHRSb3RhdGlvbjpyLnRpY2tMYWJlbEFuZ2xlKCksdGV4dFNoZWFyOnIudGlja0xhYmVsU2hlYXJBbmdsZSgpfTtpZihudWxsIT1yLl90aWNrTGFiZWxNYXhXaWR0aCl7aWYoImxlZnQiPT09ci5vcmllbnRhdGlvbigpJiZhPnIuX3RpY2tMYWJlbE1heFdpZHRoKXt2YXIgYz1hLXIuX3RpY2tMYWJlbE1heFdpZHRoLHU9by5hdHRyKCJ0cmFuc2Zvcm0iKSsiIHRyYW5zbGF0ZSgiK2MrIiwgMCkiO28uYXR0cigidHJhbnNmb3JtIix1KX1hPU1hdGgubWluKGEsci5fdGlja0xhYmVsTWF4V2lkdGgpfXIuX3dyaXRlci53cml0ZShyLmZvcm1hdHRlcigpKGUpLGEscyxsLG8ubm9kZSgpKX0pKX0sZS5wcm90b3R5cGUuX21lYXN1cmVUaWNrTGFiZWxzPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcyxpPXRoaXMuX3NjYWxlLmNsb25lV2l0aG91dFByb3ZpZGVycygpLnJhbmdlKFswLHRoaXMuaXNIb3Jpem9udGFsKCk/dDplXSkscj10aGlzLmdldERvd25zYW1wbGVJbmZvKGkpLG89ci5kb21haW4sYT1yLnN0ZXBXaWR0aCxzPXQtdGhpcy5fdGlja1NwYWNlUmVxdWlyZWQoKTt0aGlzLmlzSG9yaXpvbnRhbCgpJiYocz1hLDAhPT10aGlzLl90aWNrTGFiZWxBbmdsZSYmKHM9ZS10aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpKSxzPU1hdGgubWF4KHMsMCkpO3ZhciBsPWE7dGhpcy5pc0hvcml6b250YWwoKSYmKGw9ZS10aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpLDAhPT10aGlzLl90aWNrTGFiZWxBbmdsZSYmKGw9dC10aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpKSxsPU1hdGgubWF4KGwsMCkpLG51bGwhPXRoaXMuX3RpY2tMYWJlbE1heFdpZHRoJiYocz1NYXRoLm1pbihzLHRoaXMuX3RpY2tMYWJlbE1heFdpZHRoKSk7dmFyIGMsdT1vLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG4uX3dyYXBwZXIud3JhcChuLmZvcm1hdHRlcigpKHQpLG4uX21lYXN1cmVyLHMsbCl9KSksaD10aGlzLmlzSG9yaXpvbnRhbCgpJiYwPT09dGhpcy5fdGlja0xhYmVsQW5nbGU/SXZ0LnN1bTp6dnQuTWF0aC5tYXgsZD10aGlzLmlzSG9yaXpvbnRhbCgpJiYwPT09dGhpcy5fdGlja0xhYmVsQW5nbGU/enZ0Lk1hdGgubWF4Okl2dC5zdW0scD1oKHUsKGZ1bmN0aW9uKHQpe3JldHVybiBuLl9tZWFzdXJlci5tZWFzdXJlKHQud3JhcHBlZFRleHQpLndpZHRofSksMCksZj1kKHUsKGZ1bmN0aW9uKHQpe3JldHVybiBuLl9tZWFzdXJlci5tZWFzdXJlKHQud3JhcHBlZFRleHQpLmhlaWdodH0pLDApO3JldHVybiAwIT09dGhpcy5fdGlja0xhYmVsQW5nbGUmJihwPShjPVtmLHBdKVswXSxmPWNbMV0pLHt1c2VkV2lkdGg6cCx1c2VkSGVpZ2h0OmZ9fSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt2YXIgbj10aGlzLl9zY2FsZSxpPXRoaXMuZ2V0RG93bnNhbXBsZUluZm8obikscj1pLmRvbWFpbixvPWkuc3RlcFdpZHRoLGE9bzt0aGlzLmlzSG9yaXpvbnRhbCgpJiZudWxsIT10aGlzLl90aWNrTGFiZWxNYXhXaWR0aCYmKGE9TWF0aC5taW4oYSx0aGlzLl90aWNrTGFiZWxNYXhXaWR0aCkpO3ZhciBzPXRoaXMuX3RpY2tMYWJlbENvbnRhaW5lci5zZWxlY3RBbGwoIi4iK0R2dC5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MpLmRhdGEociksbD1zLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChEdnQuQXhpcy5USUNLX0xBQkVMX0NMQVNTLCEwKS5tZXJnZShzKTtzLmV4aXQoKS5yZW1vdmUoKSxsLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQsaSl7dmFyIHI9bi5zY2FsZSh0KS1hLzI7cmV0dXJuInRyYW5zbGF0ZSgiKyhlLmlzSG9yaXpvbnRhbCgpP3I6MCkrIiwiKyhlLmlzSG9yaXpvbnRhbCgpPzA6cikrIikifSkpLGwudGV4dCgiIiksdGhpcy5fZHJhd1RpY2tzKG8sbCk7dmFyIGM9InJpZ2h0Ij09PXRoaXMub3JpZW50YXRpb24oKT90aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpOjAsdT0iYm90dG9tIj09PXRoaXMub3JpZW50YXRpb24oKT90aGlzLl90aWNrU3BhY2VSZXF1aXJlZCgpOjA7cmV0dXJuIHRoaXMuX3RpY2tMYWJlbENvbnRhaW5lci5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitjKyIsIit1KyIpIiksdGhpcy5fc2hvd0FsbFRpY2tNYXJrcygpLHRoaXMuX3Nob3dBbGxUaWNrTGFiZWxzKCksdGhpcy5faGlkZVRpY2tNYXJrc1dpdGhvdXRMYWJlbCgpLHRoaXN9LGUucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiB0LnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxlLG4saSksdGhpcy5pc0hvcml6b250YWwoKXx8dGhpcy5fc2NhbGUucmFuZ2UoWzAsdGhpcy5oZWlnaHQoKV0pLHRoaXN9LGUucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT1mdW5jdGlvbigpe3QucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZS5jYWxsKHRoaXMpLHRoaXMuX21lYXN1cmVyLnJlc2V0KCl9LGUuX01JTklNVU1fV0lEVEhfUEVSX0xBQkVMX1BYPTE1LGV9KShEdnQuQXhpcyk7a2d0LkNhdGVnb3J5PUJ2dDt2YXIgSHZ0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShIdnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBGdnQ9Qk8sVnZ0PXdwdCxVdnQ9TGd0LGp2dD1wdnQsR3Z0PURfdCxXdnQ9ZHZ0LHF2dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLG4pe3ZhciBpPXQuY2FsbCh0aGlzLGUsbil8fHRoaXM7cmV0dXJuIGkuX3RpY2tMYWJlbFBvc2l0aW9uaW5nPSJjZW50ZXIiLGkuX3VzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uPSExLGkuZm9ybWF0dGVyKGp2dC5nZW5lcmFsKCkpLGl9cmV0dXJuIEZ2dC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKTt2YXIgZT1uZXcgVXZ0LlN2Z0NvbnRleHQodGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLm5vZGUoKSxXdnQuQXhpcy5USUNLX0xBQkVMX0NMQVNTKTt0aGlzLl9tZWFzdXJlcj1uZXcgVXZ0LkNhY2hlTWVhc3VyZXIoZSksdGhpcy5fd3JhcHBlcj0obmV3IFV2dC5XcmFwcGVyKS5tYXhMaW5lcygxKX0sZS5wcm90b3R5cGUuX2NvbXB1dGVXaWR0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3VzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uP3RoaXMuX2NvbXB1dGVBcHByb3hpbWF0ZVRleHRXaWR0aCgpOnRoaXMuX2NvbXB1dGVFeGFjdFRleHRXaWR0aCgpO3JldHVybiJjZW50ZXIiPT09dGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmc/dGhpcy5fbWF4TGFiZWxUaWNrTGVuZ3RoKCkrdGhpcy50aWNrTGFiZWxQYWRkaW5nKCkrdDpNYXRoLm1heCh0aGlzLl9tYXhMYWJlbFRpY2tMZW5ndGgoKSx0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKSt0KX0sZS5wcm90b3R5cGUuX2NvbXB1dGVFeGFjdFRleHRXaWR0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9nZXRUaWNrVmFsdWVzKCkubWFwKChmdW5jdGlvbihlKXt2YXIgbj10LmZvcm1hdHRlcigpKGUpO3JldHVybiB0Ll9tZWFzdXJlci5tZWFzdXJlKG4pLndpZHRofSkpO3JldHVybiBHdnQuTWF0aC5tYXgoZSwwKX0sZS5wcm90b3R5cGUuX2NvbXB1dGVBcHByb3hpbWF0ZVRleHRXaWR0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9nZXRUaWNrVmFsdWVzKCksbj10aGlzLl9tZWFzdXJlci5tZWFzdXJlKCJNIikud2lkdGgsaT1lLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQuZm9ybWF0dGVyKCkoZSkubGVuZ3RoKm59KSk7cmV0dXJuIEd2dC5NYXRoLm1heChpLDApfSxlLnByb3RvdHlwZS5fY29tcHV0ZUhlaWdodD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoKS5oZWlnaHQ7cmV0dXJuImNlbnRlciI9PT10aGlzLl90aWNrTGFiZWxQb3NpdGlvbmluZz90aGlzLl9tYXhMYWJlbFRpY2tMZW5ndGgoKSt0aGlzLnRpY2tMYWJlbFBhZGRpbmcoKSt0Ok1hdGgubWF4KHRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpLHRoaXMudGlja0xhYmVsUGFkZGluZygpK3QpfSxlLnByb3RvdHlwZS5fZ2V0VGlja1ZhbHVlcz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3NjYWxlLGU9dC5kb21haW4oKSxuPWVbMF08PWVbMV0/ZVswXTplWzFdLGk9ZVswXT49ZVsxXT9lWzBdOmVbMV07cmV0dXJuIHQudGlja3MoKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0Pj1uJiZ0PD1pfSkpfSxlLnByb3RvdHlwZS5fcmVzY2FsZT1mdW5jdGlvbigpe2lmKHRoaXMuX2lzU2V0dXApe2lmKCF0aGlzLmlzSG9yaXpvbnRhbCgpKXt2YXIgdD10aGlzLl9jb21wdXRlV2lkdGgoKTtpZih0PnRoaXMud2lkdGgoKXx8dDx0aGlzLndpZHRoKCktdGhpcy5tYXJnaW4oKSlyZXR1cm4gdm9pZCB0aGlzLnJlZHJhdygpfXRoaXMucmVuZGVyKCl9fSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt2YXIgbj17eDowLHk6MCxkeDoiMGVtIixkeToiMC4zZW0ifSxpPXRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpLHI9dGhpcy50aWNrTGFiZWxQYWRkaW5nKCksbz0ibWlkZGxlIixhPTAscz0wLGw9MCxjPTA7aWYodGhpcy5pc0hvcml6b250YWwoKSlzd2l0Y2godGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmcpe2Nhc2UibGVmdCI6bz0iZW5kIixhPS1yLGM9cjticmVhaztjYXNlImNlbnRlciI6Yz1pK3I7YnJlYWs7Y2FzZSJyaWdodCI6bz0ic3RhcnQiLGE9cixjPXJ9ZWxzZSBzd2l0Y2godGhpcy5fdGlja0xhYmVsUG9zaXRpb25pbmcpe2Nhc2UidG9wIjpuLmR5PSItMC4zZW0iLGw9cixzPS1yO2JyZWFrO2Nhc2UiY2VudGVyIjpsPWkrcjticmVhaztjYXNlImJvdHRvbSI6bi5keT0iMWVtIixsPXIscz1yfXZhciB1PXRoaXMuX2dlbmVyYXRlVGlja01hcmtBdHRySGFzaCgpO3N3aXRjaCh0aGlzLm9yaWVudGF0aW9uKCkpe2Nhc2UiYm90dG9tIjpuLng9dS54MSxuLmR5PSIwLjk1ZW0iLHM9dS55MStjO2JyZWFrO2Nhc2UidG9wIjpuLng9dS54MSxuLmR5PSItLjI1ZW0iLHM9dS55MS1jO2JyZWFrO2Nhc2UibGVmdCI6bz0iZW5kIixhPXUueDEtbCxuLnk9dS55MTticmVhaztjYXNlInJpZ2h0IjpvPSJzdGFydCIsYT11LngxK2wsbi55PXUueTF9dmFyIGg9dGhpcy5fZ2V0VGlja1ZhbHVlcygpLGQ9dGhpcy5fdGlja0xhYmVsQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrV3Z0LkF4aXMuVElDS19MQUJFTF9DTEFTUykuZGF0YShoKTtyZXR1cm4gZC5leGl0KCkucmVtb3ZlKCksZC5lbnRlcigpLmFwcGVuZCgidGV4dCIpLmNsYXNzZWQoV3Z0LkF4aXMuVElDS19MQUJFTF9DTEFTUywhMCkubWVyZ2UoZCkuc3R5bGUoInRleHQtYW5jaG9yIixvKS5zdHlsZSgidmlzaWJpbGl0eSIsImluaGVyaXQiKS5hdHRycyhuKS50ZXh0KChmdW5jdGlvbih0KXtyZXR1cm4gZS5mb3JtYXR0ZXIoKSh0KX0pKSx0aGlzLl90aWNrTGFiZWxDb250YWluZXIuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrYSsiLCAiK3MrIikiKSx0aGlzLl9zaG93QWxsVGlja01hcmtzKCksdGhpcy5zaG93RW5kVGlja0xhYmVscygpfHx0aGlzLl9oaWRlRW5kVGlja0xhYmVscygpLHRoaXMuX2hpZGVPdmVyZmxvd2luZ1RpY2tMYWJlbHMoKSx0aGlzLl9oaWRlT3ZlcmxhcHBpbmdUaWNrTGFiZWxzKCksImNlbnRlciIhPT10aGlzLl90aWNrTGFiZWxQb3NpdGlvbmluZyYmdGhpcy5faGlkZVRpY2tNYXJrc1dpdGhvdXRMYWJlbCgpLHRoaXN9LGUucHJvdG90eXBlLnRpY2tMYWJlbFBvc2l0aW9uPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3RpY2tMYWJlbFBvc2l0aW9uaW5nO3ZhciBlPXQudG9Mb3dlckNhc2UoKTtpZih0aGlzLmlzSG9yaXpvbnRhbCgpKXtpZigibGVmdCIhPT1lJiYiY2VudGVyIiE9PWUmJiJyaWdodCIhPT1lKXRocm93IG5ldyBFcnJvcihlKyIgaXMgbm90IGEgdmFsaWQgdGljayBsYWJlbCBwb3NpdGlvbiBmb3IgYSBob3Jpem9udGFsIE51bWVyaWNBeGlzIil9ZWxzZSBpZigidG9wIiE9PWUmJiJjZW50ZXIiIT09ZSYmImJvdHRvbSIhPT1lKXRocm93IG5ldyBFcnJvcihlKyIgaXMgbm90IGEgdmFsaWQgdGljayBsYWJlbCBwb3NpdGlvbiBmb3IgYSB2ZXJ0aWNhbCBOdW1lcmljQXhpcyIpO3JldHVybiB0aGlzLl90aWNrTGFiZWxQb3NpdGlvbmluZz1lLHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUudXNlc1RleHRXaWR0aEFwcHJveGltYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fdXNlc1RleHRXaWR0aEFwcHJveGltYXRpb246KHRoaXMuX3VzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uPXQsdGhpcyl9LGUucHJvdG90eXBlLl9oaWRlRW5kVGlja0xhYmVscz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZWxlbWVudCgpLm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxlPXRoaXMuX3RpY2tMYWJlbENvbnRhaW5lci5zZWxlY3RBbGwoIi4iK1d2dC5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MpO2lmKDAhPT1lLnNpemUoKSl7dmFyIG49ZS5ub2RlcygpWzBdO0d2dC5ET00uY2xpZW50UmVjdEluc2lkZShuLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQpfHxWdnQuc2VsZWN0KG4pLnN0eWxlKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIik7dmFyIGk9ZS5ub2RlcygpW2Uuc2l6ZSgpLTFdO0d2dC5ET00uY2xpZW50UmVjdEluc2lkZShpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQpfHxWdnQuc2VsZWN0KGkpLnN0eWxlKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIil9fSxlLnByb3RvdHlwZS5faGlkZU92ZXJsYXBwaW5nVGlja0xhYmVscz1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLl90aWNrTGFiZWxDb250YWluZXIuc2VsZWN0QWxsKCIuIitXdnQuQXhpcy5USUNLX0xBQkVMX0NMQVNTKS5maWx0ZXIoKGZ1bmN0aW9uKHQsZSl7dmFyIG49VnZ0LnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIpO3JldHVybiJpbmhlcml0Ij09PW58fCJ2aXNpYmxlIj09PW59KSksZT10Lm5vZGVzKCkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX0pKSxuPTE7IXRoaXMuX2hhc092ZXJsYXBXaXRoSW50ZXJ2YWwobixlKSYmbjxlLmxlbmd0aDspbis9MTt0LmVhY2goKGZ1bmN0aW9uKHQsZSl7dmFyIGk9VnZ0LnNlbGVjdCh0aGlzKTtlJW4hPTAmJmkuc3R5bGUoInZpc2liaWxpdHkiLCJoaWRkZW4iKX0pKX0sZS5wcm90b3R5cGUuX2hhc092ZXJsYXBXaXRoSW50ZXJ2YWw9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49ImNlbnRlciI9PT10aGlzLl90aWNrTGFiZWxQb3NpdGlvbmluZz90aGlzLnRpY2tMYWJlbFBhZGRpbmcoKTozKnRoaXMudGlja0xhYmVsUGFkZGluZygpLGk9ZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBHdnQuRE9NLmV4cGFuZFJlY3QodCxuKX0pKSxyPTA7cjxpLmxlbmd0aC10O3IrPXQpe2lmKEd2dC5ET00uY2xpZW50UmVjdHNPdmVybGFwKGlbcl0saVtyK3RdKSlyZXR1cm4hMX1yZXR1cm4hMH0sZS5wcm90b3R5cGUuaW52YWxpZGF0ZUNhY2hlPWZ1bmN0aW9uKCl7dC5wcm90b3R5cGUuaW52YWxpZGF0ZUNhY2hlLmNhbGwodGhpcyksdGhpcy5fbWVhc3VyZXIucmVzZXQoKX0sZX0pKFd2dC5BeGlzKTtIdnQuTnVtZXJpYz1xdnQ7dmFyIFl2dD17fSxYdnQ9e30sJHZ0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoJHZ0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgS3Z0PURfdDskdnQuaW50ZXJ2YWxUaWNrR2VuZXJhdG9yPWZ1bmN0aW9uIFp2dCh0KXtpZih0PD0wKXRocm93IG5ldyBFcnJvcigiaW50ZXJ2YWwgbXVzdCBiZSBwb3NpdGl2ZSBudW1iZXIiKTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49ZS5kb21haW4oKSxpPU1hdGgubWluKG5bMF0sblsxXSkscj1NYXRoLm1heChuWzBdLG5bMV0pLG89TWF0aC5jZWlsKGkvdCkqdCxhPU1hdGguZmxvb3IoKHItbykvdCkrMSxzPWkldD09MD9bXTpbaV0sbD1LdnQuTWF0aC5yYW5nZSgwLGEpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIG8rZSp0fSkpLGM9ciV0PT0wP1tdOltyXTtyZXR1cm4gcy5jb25jYXQobCkuY29uY2F0KGMpfX0sJHZ0LmludGVnZXJUaWNrR2VuZXJhdG9yPWZ1bmN0aW9uIEp2dCgpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT10LmRlZmF1bHRUaWNrcygpO3JldHVybiBlLmZpbHRlcigoZnVuY3Rpb24odCxuKXtyZXR1cm4gdCUxPT0wfHwwPT09bnx8bj09PWUubGVuZ3RoLTF9KSl9fTt2YXIgUXZ0PXt9LHRidD17fTtmdW5jdGlvbiBlYnQodCxlLG4pe3JldHVybiBuLShuLXQpKmV9ZnVuY3Rpb24gbmJ0KHQsZSxuKXtyZXR1cm4odCplLW4pLyhlLTEpfWZ1bmN0aW9uIGlidCh0LGUsbixpKXt2YXIgcj1lPjEsbz1yP2k6bjtpZihudWxsPT1vKXJldHVybiBlO3ZhciBhPXQuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKSxzPU1hdGguYWJzKGFbMV0tYVswXSk7cmV0dXJuKHI/TWF0aC5taW46TWF0aC5tYXgpKGUsby9zKX1mdW5jdGlvbiByYnQodCxlLG4saSxyKXtpZihlPD0xKXJldHVybntjZW50ZXJQb2ludDpuLHpvb21BbW91bnQ6ZX07aWYobnVsbD09aSYmbnVsbD09cilyZXR1cm57Y2VudGVyUG9pbnQ6bix6b29tQW1vdW50OmV9O3ZhciBvPW9idCh0KSxhPShmdW5jdGlvbiBzKHQpe3ZhciBlPXQuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKTtyZXR1cm4gZVsxXTxlWzBdfSkodCk7aT1udWxsPT1pP2E/MS8wOi0xLzA6aSxyPW51bGw9PXI/YT8tMS8wOjEvMDpyO3ZhciBsPXQuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKSxjPWxbMF0sdT1sWzFdLGg9dC5zY2FsZVRyYW5zZm9ybWF0aW9uKHIpLGQ9dC5zY2FsZVRyYW5zZm9ybWF0aW9uKHUpLHA9ZWJ0KGQsZSxuKSxmPXQuc2NhbGVUcmFuc2Zvcm1hdGlvbihpKSxtPXQuc2NhbGVUcmFuc2Zvcm1hdGlvbihjKSxnPWVidChtLGUsbiksXz1NYXRoLmFicyhoLWYpO2lmKE1hdGguYWJzKHAtZyk+Xyl7dmFyIHk9KGgtZikvKGQtbSk7cmV0dXJuIDEhPT15P3tjZW50ZXJQb2ludDpuYnQoZCx5LGgpLHpvb21BbW91bnQ6eX06e2NlbnRlclBvaW50Om4sem9vbUFtb3VudDp5fX1yZXR1cm4gcD5oIT1vP3tjZW50ZXJQb2ludDpuYnQoZCxlLGgpLHpvb21BbW91bnQ6ZX06ZzxmIT1vP3tjZW50ZXJQb2ludDpuYnQobSxlLGYpLHpvb21BbW91bnQ6ZX06e2NlbnRlclBvaW50Om4sem9vbUFtb3VudDplfX1mdW5jdGlvbiBvYnQodCl7dmFyIGU9dC5yYW5nZSgpO3JldHVybiBlWzFdPGVbMF19Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTctcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHRidC56b29tT3V0PWVidCx0YnQuY29uc3RyYWluZWRab29tPWZ1bmN0aW9uIGFidCh0LGUsbixpLHIsbyxhKXtyZXR1cm4gcmJ0KHQsZT1pYnQodCxlLGksciksbixvLGEpfSx0YnQuY29uc3RyYWluWm9vbUV4dGVudHM9aWJ0LHRidC5jb25zdHJhaW5ab29tVmFsdWVzPXJidCx0YnQuY29uc3RyYWluZWRUcmFuc2xhdGlvbj1mdW5jdGlvbiBzYnQodCxlLG4saSl7dmFyIHIsbz10LmdldFRyYW5zZm9ybWF0aW9uRG9tYWluKCksYT1vWzBdLHM9b1sxXSxsPW9idCh0KTtpZihlPjAhPT1sKXtpZihudWxsIT0ocj1pKSl7dmFyIGM9dC5zY2FsZVRyYW5zZm9ybWF0aW9uKHMpLHU9dC5zY2FsZVRyYW5zZm9ybWF0aW9uKHIpO2U9KGw/TWF0aC5tYXg6TWF0aC5taW4pKGMrZSx1KS1jfX1lbHNlIGlmKG51bGwhPShyPW4pKXt2YXIgaD10LnNjYWxlVHJhbnNmb3JtYXRpb24oYSksZD10LnNjYWxlVHJhbnNmb3JtYXRpb24ocik7ZT0obD9NYXRoLm1pbjpNYXRoLm1heCkoaCtlLGQpLWh9cmV0dXJuIGV9O3ZhciBsYnQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KGxidCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGNidD1EX3QsdWJ0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLl9hdXRvRG9tYWluQXV0b21hdGljYWxseT0hMCx0aGlzLl9kb21haW5Nb2RpZmljYXRpb25JblByb2dyZXNzPSExLHRoaXMuX3VwZGF0ZUlkPTAsdGhpcy5fY2FsbGJhY2tzPW5ldyBjYnQuQ2FsbGJhY2tTZXQsdGhpcy5faW5jbHVkZWRWYWx1ZXNQcm92aWRlcnM9bmV3IGNidC5TZXR9cmV0dXJuIHQucHJvdG90eXBlLmV4dGVudE9mVmFsdWVzPWZ1bmN0aW9uKHQpe3JldHVybltdfSx0LnByb3RvdHlwZS5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt2b2lkIDA9PT10JiYodD0hMSk7dmFyIG49W107cmV0dXJuIHRoaXMuX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXJzLmZvckVhY2goKGZ1bmN0aW9uKGkpe3ZhciByPWkoZSx0KTtuPW4uY29uY2F0KHIpfSkpLG59LHQucHJvdG90eXBlLl9nZXRFeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm5bXX0sdC5wcm90b3R5cGUub25VcGRhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2NhbGxiYWNrcy5hZGQodCksdGhpc30sdC5wcm90b3R5cGUub2ZmVXBkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LHQucHJvdG90eXBlLl9kaXNwYXRjaFVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUlkKyssdGhpcy5fY2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcyl9LHQucHJvdG90eXBlLmF1dG9Eb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYXV0b0RvbWFpbkF1dG9tYXRpY2FsbHk9ITAsdGhpcy5fc2V0RG9tYWluKHRoaXMuX2dldEV4dGVudCgpKSx0aGlzfSx0LnByb3RvdHlwZS5hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlPWZ1bmN0aW9uKCl7dGhpcy5fYXV0b0RvbWFpbkF1dG9tYXRpY2FsbHkmJnRoaXMuYXV0b0RvbWFpbigpfSx0LnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoIlN1YmNsYXNzZXMgc2hvdWxkIG92ZXJyaWRlIHNjYWxlIil9LHQucHJvdG90eXBlLnRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tYWluKCl9LHQucHJvdG90eXBlLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9nZXREb21haW4oKToodGhpcy5fYXV0b0RvbWFpbkF1dG9tYXRpY2FsbHk9ITEsdGhpcy5fc2V0RG9tYWluKHQpLHRoaXMpfSx0LnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBfZ2V0RG9tYWluIil9LHQucHJvdG90eXBlLl9zZXREb21haW49ZnVuY3Rpb24odCl7dGhpcy5fZG9tYWluTW9kaWZpY2F0aW9uSW5Qcm9ncmVzc3x8KHRoaXMuX2RvbWFpbk1vZGlmaWNhdGlvbkluUHJvZ3Jlc3M9ITAsdGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKHQpLHRoaXMuX2Rpc3BhdGNoVXBkYXRlKCksdGhpcy5fZG9tYWluTW9kaWZpY2F0aW9uSW5Qcm9ncmVzcz0hMSl9LHQucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBfYmFja2luZ0RvbWFpbiIpfSx0LnByb3RvdHlwZS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9nZXRSYW5nZSgpOih0aGlzLl9zZXRSYW5nZSh0KSx0aGlzKX0sdC5wcm90b3R5cGUuX2dldFJhbmdlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBfZ2V0UmFuZ2UiKX0sdC5wcm90b3R5cGUuX3NldFJhbmdlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgX3NldFJhbmdlIil9LHQucHJvdG90eXBlLmFkZEluY2x1ZGVkVmFsdWVzUHJvdmlkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXJzLmFkZCh0KSx0aGlzLmF1dG9Eb21haW5JZkF1dG9tYXRpY01vZGUoKSx0aGlzfSx0LnByb3RvdHlwZS5yZW1vdmVJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pbmNsdWRlZFZhbHVlc1Byb3ZpZGVycy5kZWxldGUodCksdGhpcy5hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCksdGhpc30sdC5wcm90b3R5cGUudXBkYXRlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdXBkYXRlSWR9LHR9KSgpO2xidC5TY2FsZT11YnQsCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShRdnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBoYnQ9Qk8sZGJ0PXdwdCxwYnQ9dGJ0LGZidD1EX3QsbWJ0PVswLDFdLGdidD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBuPXQuY2FsbCh0aGlzKXx8dGhpcztuLl9yYW5nZT1bMCwxXSxuLl9kM1NjYWxlPWRidC5zY2FsZUJhbmQoKSxuLl9kM1NjYWxlLnJhbmdlKG1idCksbi5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlPWRidC5zY2FsZUxpbmVhcigpLG4uX2QzVHJhbnNmb3JtYXRpb25TY2FsZS5kb21haW4obWJ0KTtyZXR1cm4gbi5faW5uZXJQYWRkaW5nPWUuX2NvbnZlcnRUb1Bsb3R0YWJsZUlubmVyUGFkZGluZyguMyksbi5fb3V0ZXJQYWRkaW5nPWUuX2NvbnZlcnRUb1Bsb3R0YWJsZU91dGVyUGFkZGluZyguNSwuMyksbn1yZXR1cm4gaGJ0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmNsb25lV2l0aG91dFByb3ZpZGVycz1mdW5jdGlvbigpe3ZhciB0PShuZXcgZSkuZG9tYWluKHRoaXMuZG9tYWluKCkpLnJhbmdlKHRoaXMucmFuZ2UoKSkuaW5uZXJQYWRkaW5nKHRoaXMuaW5uZXJQYWRkaW5nKCkpLm91dGVyUGFkZGluZyh0aGlzLm91dGVyUGFkZGluZygpKTtyZXR1cm4gdC5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmRvbWFpbih0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUuZG9tYWluKCkpLHR9LGUucHJvdG90eXBlLmV4dGVudE9mVmFsdWVzPWZ1bmN0aW9uKHQpe3JldHVybiBmYnQuQXJyYXkudW5pcSh0KX0sZS5wcm90b3R5cGUuX2dldEV4dGVudD1mdW5jdGlvbigpe3JldHVybiBmYnQuQXJyYXkudW5pcSh0aGlzLl9nZXRBbGxJbmNsdWRlZFZhbHVlcygpKX0sZS5wcm90b3R5cGUuZG9tYWluPWZ1bmN0aW9uKGUpe3JldHVybiB0LnByb3RvdHlwZS5kb21haW4uY2FsbCh0aGlzLGUpfSxlLnByb3RvdHlwZS5pbnZlcnRSYW5nZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3ZvaWQgMD09PXQmJih0PXRoaXMucmFuZ2UoKSk7dmFyIG49dGhpcy5fZDNTY2FsZS5iYW5kd2lkdGgoKSxpPXRoaXMuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbih0WzBdKSxyPXRoaXMuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbih0WzFdKSxvPXRoaXMuX2QzU2NhbGUuZG9tYWluKCksYT1vLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2QzU2NhbGUodCkrbi8yfSkpLHM9ZGJ0LmJpc2VjdChhLGkpLGw9ZGJ0LmJpc2VjdChhLHIpO3JldHVybiBvLnNsaWNlKHMsbCl9LGUucHJvdG90eXBlLnJhbmdlPWZ1bmN0aW9uKGUpe3JldHVybiB0LnByb3RvdHlwZS5yYW5nZS5jYWxsKHRoaXMsZSl9LGUuX2NvbnZlcnRUb1Bsb3R0YWJsZUlubmVyUGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gMS8oMS10KS0xfSxlLl9jb252ZXJ0VG9QbG90dGFibGVPdXRlclBhZGRpbmc9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC8oMS1lKX0sZS5wcm90b3R5cGUuX3NldEJhbmRzPWZ1bmN0aW9uKCl7dmFyIHQ9MS0xLygxK3RoaXMuaW5uZXJQYWRkaW5nKCkpLGU9dGhpcy5vdXRlclBhZGRpbmcoKS8oMSt0aGlzLmlubmVyUGFkZGluZygpKTt0aGlzLl9kM1NjYWxlLnBhZGRpbmdJbm5lcih0KSx0aGlzLl9kM1NjYWxlLnBhZGRpbmdPdXRlcihlKX0sZS5wcm90b3R5cGUucmFuZ2VCYW5kPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Jlc2NhbGVCYW5kKHRoaXMuX2QzU2NhbGUuYmFuZHdpZHRoKCkpfSxlLnByb3RvdHlwZS5zdGVwV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVzY2FsZUJhbmQodGhpcy5fZDNTY2FsZS5iYW5kd2lkdGgoKSooMSt0aGlzLmlubmVyUGFkZGluZygpKSl9LGUucHJvdG90eXBlLnRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tYWluKCl9LGUucHJvdG90eXBlLmlubmVyUGFkZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9pbm5lclBhZGRpbmc6KHRoaXMuX2lubmVyUGFkZGluZz10LHRoaXMucmFuZ2UodGhpcy5yYW5nZSgpKSx0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpLHRoaXMpfSxlLnByb3RvdHlwZS5vdXRlclBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fb3V0ZXJQYWRkaW5nOih0aGlzLl9vdXRlclBhZGRpbmc9dCx0aGlzLnJhbmdlKHRoaXMucmFuZ2UoKSksdGhpcy5fZGlzcGF0Y2hVcGRhdGUoKSx0aGlzKX0sZS5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fZDNTY2FsZSh0KSt0aGlzLl9kM1NjYWxlLmJhbmR3aWR0aCgpLzI7cmV0dXJuIHRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZShlKX0sZS5wcm90b3R5cGUuem9vbT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXM7dGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmRvbWFpbih0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUucmFuZ2UoKS5tYXAoKGZ1bmN0aW9uKGkpe3JldHVybiBuLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUuaW52ZXJ0KHBidC56b29tT3V0KGksdCxlKSl9KSkpLHRoaXMuX2Rpc3BhdGNoVXBkYXRlKCl9LGUucHJvdG90eXBlLnBhbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZS5kb21haW4odGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLnJhbmdlKCkubWFwKChmdW5jdGlvbihuKXtyZXR1cm4gZS5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmludmVydChuK3QpfSkpKSx0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpfSxlLnByb3RvdHlwZS5zY2FsZVRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUodCl9LGUucHJvdG90eXBlLmludmVydGVkVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2QzVHJhbnNmb3JtYXRpb25TY2FsZS5pbnZlcnQodCl9LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIG1idH0sZS5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlLmRvbWFpbigpfSxlLnByb3RvdHlwZS5zZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbj1mdW5jdGlvbih0KXt0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUuZG9tYWluKHQpLHRoaXMuX2Rpc3BhdGNoVXBkYXRlKCl9LGUucHJvdG90eXBlLl9nZXREb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKCl9LGUucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZDNTY2FsZS5kb21haW4oKToodGhpcy5fZDNTY2FsZS5kb21haW4odCksdGhpcy5fc2V0QmFuZHMoKSx0aGlzKX0sZS5wcm90b3R5cGUuX2dldFJhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JhbmdlfSxlLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24odCl7dGhpcy5fcmFuZ2U9dCx0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUucmFuZ2UodCksdGhpcy5fc2V0QmFuZHMoKX0sZS5wcm90b3R5cGUuX3Jlc2NhbGVCYW5kPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLmFicyh0aGlzLl9kM1RyYW5zZm9ybWF0aW9uU2NhbGUodCktdGhpcy5fZDNUcmFuc2Zvcm1hdGlvblNjYWxlKDApKX0sZX0pKGxidC5TY2FsZSk7UXZ0LkNhdGVnb3J5PWdidDt2YXIgX2J0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShfYnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB5YnQ9Qk8sdmJ0PXdwdCxiYnQ9RF90LHhidD1sYnQsd2J0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLmNvdW50PTAsdGhpcy50cmFja2VyPXt9fXJldHVybiB0LnByb3RvdHlwZS5nZXRJbmRleD1mdW5jdGlvbih0KXtpZihudWxsIT10aGlzLnRyYWNrZXJbdF0pcmV0dXJuIHRoaXMudHJhY2tlclt0XTt2YXIgZT10aGlzLmNvdW50O3JldHVybiB0aGlzLnRyYWNrZXJbdF09ZSx0aGlzLmNvdW50Kz0xLGV9LHQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5jb3VudD0wLHRoaXMudHJhY2tlcj17fX0sdH0pKCksU2J0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKG4pe3ZhciBpLHI9dC5jYWxsKHRoaXMpfHx0aGlzO3N3aXRjaChyLl9yYW5nZUxlbmd0aD0xLHIuX3RyYWNrZXI9bmV3IHdidCxuKXtjYXNlIG51bGw6Y2FzZSB2b2lkIDA6bnVsbD09ZS5fcGxvdHRhYmxlQ29sb3JDYWNoZSYmKGUuX3Bsb3R0YWJsZUNvbG9yQ2FjaGU9ZS5fZ2V0UGxvdHRhYmxlQ29sb3JzKCkpLGk9dmJ0LnNjYWxlT3JkaW5hbCgpLnJhbmdlKGUuX3Bsb3R0YWJsZUNvbG9yQ2FjaGUpO2JyZWFrO2Nhc2UiQ2F0ZWdvcnkxMCI6Y2FzZSJjYXRlZ29yeTEwIjpjYXNlIjEwIjppPXZidC5zY2FsZU9yZGluYWwodmJ0LnNjaGVtZUNhdGVnb3J5MTApO2JyZWFrO2Nhc2UiQ2F0ZWdvcnkyMCI6Y2FzZSJjYXRlZ29yeTIwIjpjYXNlIjIwIjppPXZidC5zY2FsZU9yZGluYWwodmJ0LnNjaGVtZUNhdGVnb3J5MjApO2JyZWFrO2Nhc2UiQ2F0ZWdvcnkyMGIiOmNhc2UiY2F0ZWdvcnkyMGIiOmNhc2UiMjBiIjppPXZidC5zY2FsZU9yZGluYWwodmJ0LnNjaGVtZUNhdGVnb3J5MjBiKTticmVhaztjYXNlIkNhdGVnb3J5MjBjIjpjYXNlImNhdGVnb3J5MjBjIjpjYXNlIjIwYyI6aT12YnQuc2NhbGVPcmRpbmFsKHZidC5zY2hlbWVDYXRlZ29yeTIwYyk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIENvbG9yU2NhbGUgdHlwZSIpfXJldHVybiByLl9kM1NjYWxlPWksci5fcmFuZ2VMZW5ndGg9ci5fZDNTY2FsZS5yYW5nZSgpLmxlbmd0aCxyfXJldHVybiB5YnQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuZXh0ZW50T2ZWYWx1ZXM9ZnVuY3Rpb24odCl7cmV0dXJuIGJidC5BcnJheS51bmlxKHQpfSxlLnByb3RvdHlwZS5fZ2V0RXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIGJidC5BcnJheS51bmlxKHRoaXMuX2dldEFsbEluY2x1ZGVkVmFsdWVzKCkpfSxlLmludmFsaWRhdGVDb2xvckNhY2hlPWZ1bmN0aW9uKCl7ZS5fcGxvdHRhYmxlQ29sb3JDYWNoZT1udWxsfSxlLl9nZXRQbG90dGFibGVDb2xvcnM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT12YnQuc2VsZWN0KCJib2R5IikuYXBwZW5kKCJwbG90dGFibGUtY29sb3ItdGVzdGVyIiksbj1iYnQuQ29sb3IuY29sb3JUZXN0KGUsIiIpLGk9MCxyPWJidC5Db2xvci5jb2xvclRlc3QoZSwicGxvdHRhYmxlLWNvbG9ycy0wIik7bnVsbCE9ciYmaTx0aGlzLl9NQVhJTVVNX0NPTE9SU19GUk9NX0NTUyYmKHIhPT1ufHxyIT09dFt0Lmxlbmd0aC0xXSk7KXQucHVzaChyKSxpKysscj1iYnQuQ29sb3IuY29sb3JUZXN0KGUsInBsb3R0YWJsZS1jb2xvcnMtIitpKTtyZXR1cm4gZS5yZW1vdmUoKSx0fSxlLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0KXt2YXIgbj10aGlzLl9kM1NjYWxlKHQpLGk9dGhpcy5fdHJhY2tlci5nZXRJbmRleCh0KSxyPU1hdGguZmxvb3IoaS90aGlzLl9yYW5nZUxlbmd0aCk7aWYoMD09PXIpcmV0dXJuIG47dmFyIG89TWF0aC5sb2cociplLl9MT09QX0xJR0hURU5fRkFDVE9SKzEpO3JldHVybiBiYnQuQ29sb3IubGlnaHRlbkNvbG9yKG4sbyl9LGUucHJvdG90eXBlLl9nZXREb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKCl9LGUucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZDNTY2FsZS5kb21haW4oKToodGhpcy5fZDNTY2FsZS5kb21haW4odCksdGhpcy5fdHJhY2tlci5jbGVhcigpLHRoaXMpfSxlLnByb3RvdHlwZS5fZ2V0UmFuZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS5yYW5nZSgpfSxlLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24odCl7dGhpcy5fZDNTY2FsZS5yYW5nZSh0KSx0aGlzLl9yYW5nZUxlbmd0aD10Lmxlbmd0aH0sZS5fTE9PUF9MSUdIVEVOX0ZBQ1RPUj0xLjYsZS5fTUFYSU1VTV9DT0xPUlNfRlJPTV9DU1M9MjU2LGV9KSh4YnQuU2NhbGUpO19idC5Db2xvcj1TYnQ7dmFyIE1idD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoTWJ0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgRWJ0PUJPLFRidD13cHQsQ2J0PURfdCxBYnQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUobil7dm9pZCAwPT09biYmKG49ImxpbmVhciIpO3ZhciBpPXQuY2FsbCh0aGlzKXx8dGhpcztzd2l0Y2gobil7Y2FzZSJsaW5lYXIiOmkuX2NvbG9yU2NhbGU9VGJ0LnNjYWxlTGluZWFyKCk7YnJlYWs7Y2FzZSJsb2ciOmkuX2NvbG9yU2NhbGU9VGJ0LnNjYWxlTG9nKCk7YnJlYWs7Y2FzZSJzcXJ0IjppLl9jb2xvclNjYWxlPVRidC5zY2FsZVNxcnQoKTticmVhaztjYXNlInBvdyI6aS5fY29sb3JTY2FsZT1UYnQuc2NhbGVQb3coKX1pZihudWxsPT1pLl9jb2xvclNjYWxlKXRocm93IG5ldyBFcnJvcigidW5rbm93biBRdWFudGl0YXRpdmVTY2FsZSBzY2FsZSB0eXBlICIrbik7cmV0dXJuIGkucmFuZ2UoZS5SRURTKSxpfXJldHVybiBFYnQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuZXh0ZW50T2ZWYWx1ZXM9ZnVuY3Rpb24odCl7dmFyIGU9VGJ0LmV4dGVudCh0KTtyZXR1cm4gbnVsbD09ZVswXXx8bnVsbD09ZVsxXT9bXTplfSxlLnByb3RvdHlwZS5fZDNJbnRlcnBvbGF0ZWRTY2FsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb2xvclNjYWxlLnJhbmdlKFswLDFdKS5pbnRlcnBvbGF0ZSh0aGlzLl9pbnRlcnBvbGF0ZUNvbG9ycygpKX0sZS5wcm90b3R5cGUuX2ludGVycG9sYXRlQ29sb3JzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fY29sb3JSYW5nZTtpZih0Lmxlbmd0aDwyKXRocm93IG5ldyBFcnJvcigiQ29sb3Igc2NhbGUgYXJyYXlzIG11c3QgaGF2ZSBhdCBsZWFzdCB0d28gZWxlbWVudHMuIik7cmV0dXJuIGZ1bmN0aW9uKGUsbil7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPShlPU1hdGgubWF4KDAsTWF0aC5taW4oMSxlKSkpKih0Lmxlbmd0aC0xKSxpPU1hdGguZmxvb3Iobikscj1NYXRoLmNlaWwobiksbz1uLWk7cmV0dXJuIFRidC5pbnRlcnBvbGF0ZUxhYih0W2ldLHRbcl0pKG8pfX19LGUucHJvdG90eXBlLl9yZXNldFNjYWxlPWZ1bmN0aW9uKCl7dGhpcy5fZDNTY2FsZT10aGlzLl9kM0ludGVycG9sYXRlZFNjYWxlKCksdGhpcy5hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCksdGhpcy5fZGlzcGF0Y2hVcGRhdGUoKX0sZS5wcm90b3R5cGUuYXV0b0RvbWFpbj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2dldEFsbEluY2x1ZGVkVmFsdWVzKCk7cmV0dXJuIHQubGVuZ3RoPjAmJnRoaXMuX3NldERvbWFpbihbQ2J0Lk1hdGgubWluKHQsMCksQ2J0Lk1hdGgubWF4KHQsMCldKSx0aGlzfSxlLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZDNTY2FsZSh0KX0sZS5wcm90b3R5cGUuX2dldERvbWFpbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iYWNraW5nU2NhbGVEb21haW4oKX0sZS5wcm90b3R5cGUuX2JhY2tpbmdTY2FsZURvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9kM1NjYWxlLmRvbWFpbigpOih0aGlzLl9kM1NjYWxlLmRvbWFpbih0KSx0aGlzKX0sZS5wcm90b3R5cGUuX2dldFJhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbG9yUmFuZ2V9LGUucHJvdG90eXBlLl9zZXRSYW5nZT1mdW5jdGlvbih0KXt0aGlzLl9jb2xvclJhbmdlPXQsdGhpcy5fcmVzZXRTY2FsZSgpfSxlLlJFRFM9WyIjRkZGRkZGIiwiI0ZGRjZFMSIsIiNGRUY0QzAiLCIjRkVEOTc2IiwiI0ZFQjI0QyIsIiNGRDhEM0MiLCIjRkM0RTJBIiwiI0UzMUExQyIsIiNCMTAwMjYiXSxlLkJMVUVTPVsiI0ZGRkZGRiIsIiNDQ0ZGRkYiLCIjQTVGRkZEIiwiIzg1RjdGQiIsIiM2RUQzRUYiLCIjNTVBN0UwIiwiIzQxN0ZEMCIsIiMyNTQ1RDMiLCIjMEIwMkUxIl0sZS5QT1NORUc9WyIjMEIwMkUxIiwiIzI1NDVEMyIsIiM0MTdGRDAiLCIjNTVBN0UwIiwiIzZFRDNFRiIsIiM4NUY3RkIiLCIjQTVGRkZEIiwiI0NDRkZGRiIsIiNGRkZGRkYiLCIjRkZGNkUxIiwiI0ZFRjRDMCIsIiNGRUQ5NzYiLCIjRkVCMjRDIiwiI0ZEOEQzQyIsIiNGQzRFMkEiLCIjRTMxQTFDIiwiI0IxMDAyNiJdLGV9KShsYnQuU2NhbGUpO01idC5JbnRlcnBvbGF0ZWRDb2xvcj1BYnQ7dmFyIGtidD17fSxMYnQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShMYnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBQYnQ9Qk8sTmJ0PXdwdCxJYnQ9dGJ0LFJidD1EX3QsT2J0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBlLl90aWNrR2VuZXJhdG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0LmRlZmF1bHRUaWNrcygpfSxlLl9wYWRQcm9wb3J0aW9uPS4wNSxlLl9zbmFwcGluZ0RvbWFpbkVuYWJsZWQ9ITAsZS5fcGFkZGluZ0V4Y2VwdGlvbnNQcm92aWRlcnM9bmV3IFJidC5TZXQsZX1yZXR1cm4gUGJ0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmF1dG9Eb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZG9tYWluTWluPW51bGwsdGhpcy5fZG9tYWluTWF4PW51bGwsdC5wcm90b3R5cGUuYXV0b0RvbWFpbi5jYWxsKHRoaXMpLHRoaXN9LGUucHJvdG90eXBlLmF1dG9Eb21haW5JZkF1dG9tYXRpY01vZGU9ZnVuY3Rpb24oKXtpZihudWxsPT10aGlzLl9kb21haW5NaW58fG51bGw9PXRoaXMuX2RvbWFpbk1heCl7dmFyIGU9dGhpcy5fZ2V0RXh0ZW50KCk7aWYobnVsbCE9dGhpcy5fZG9tYWluTWluKXt2YXIgbj1lWzFdO3JldHVybiB0aGlzLl9kb21haW5NaW4+PW4mJihuPXRoaXMuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluKFt0aGlzLl9kb21haW5NaW4sdGhpcy5fZG9tYWluTWluXSlbMV0pLHZvaWQgdGhpcy5fc2V0RG9tYWluKFt0aGlzLl9kb21haW5NaW4sbl0pfWlmKG51bGwhPXRoaXMuX2RvbWFpbk1heCl7dmFyIGk9ZVswXTtyZXR1cm4gdGhpcy5fZG9tYWluTWF4PD1pJiYoaT10aGlzLl9leHBhbmRTaW5nbGVWYWx1ZURvbWFpbihbdGhpcy5fZG9tYWluTWF4LHRoaXMuX2RvbWFpbk1heF0pWzBdKSx2b2lkIHRoaXMuX3NldERvbWFpbihbaSx0aGlzLl9kb21haW5NYXhdKX10LnByb3RvdHlwZS5hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlLmNhbGwodGhpcyl9ZWxzZSB0aGlzLl9zZXREb21haW4oW3RoaXMuX2RvbWFpbk1pbix0aGlzLl9kb21haW5NYXhdKX0sZS5wcm90b3R5cGUuX2dldFVuYm91bmRlZEV4dGVudD1mdW5jdGlvbih0KXt2b2lkIDA9PT10JiYodD0hMSk7dmFyIGU9dGhpcy5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXModCksbj10aGlzLl9kZWZhdWx0RXh0ZW50KCk7aWYoMCE9PWUubGVuZ3RoKXt2YXIgaT1bUmJ0Lk1hdGgubWluKGUsblswXSksUmJ0Lk1hdGgubWF4KGUsblsxXSldO249dGhpcy5fcGFkRG9tYWluKGkpfXJldHVybiBufSxlLnByb3RvdHlwZS5fZ2V0RXh0ZW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0VW5ib3VuZGVkRXh0ZW50KCk7cmV0dXJuIG51bGwhPXRoaXMuX2RvbWFpbk1pbiYmKHRbMF09dGhpcy5fZG9tYWluTWluKSxudWxsIT10aGlzLl9kb21haW5NYXgmJih0WzFdPXRoaXMuX2RvbWFpbk1heCksdH0sZS5wcm90b3R5cGUuYWRkUGFkZGluZ0V4Y2VwdGlvbnNQcm92aWRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGFkZGluZ0V4Y2VwdGlvbnNQcm92aWRlcnMuYWRkKHQpLHRoaXMuYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpLHRoaXN9LGUucHJvdG90eXBlLnJlbW92ZVBhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXJzLmRlbGV0ZSh0KSx0aGlzLmF1dG9Eb21haW5JZkF1dG9tYXRpY01vZGUoKSx0aGlzfSxlLnByb3RvdHlwZS5wYWRQcm9wb3J0aW9uPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3BhZFByb3BvcnRpb247aWYodDwwKXRocm93IG5ldyBFcnJvcigicGFkUHJvcG9ydGlvbiBtdXN0IGJlIG5vbi1uZWdhdGl2ZSIpO3JldHVybiB0aGlzLl9wYWRQcm9wb3J0aW9uPXQsdGhpcy5hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCksdGhpc30sZS5wcm90b3R5cGUuX3BhZERvbWFpbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKHRbMF0udmFsdWVPZigpPT09dFsxXS52YWx1ZU9mKCkpcmV0dXJuIHRoaXMuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluKHQpO2lmKDA9PT10aGlzLl9wYWRQcm9wb3J0aW9uKXJldHVybiB0O3ZhciBuPXRoaXMuX3BhZFByb3BvcnRpb24vMixpPXRbMF0scj10WzFdLG89ITEsYT0hMTt0aGlzLl9wYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVycy5mb3JFYWNoKChmdW5jdGlvbih0KXt0KGUpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QudmFsdWVPZigpPT09aS52YWx1ZU9mKCkmJihvPSEwKSx0LnZhbHVlT2YoKT09PXIudmFsdWVPZigpJiYoYT0hMCl9KSl9KSk7dmFyIHM9dGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKCk7dGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKHQpO3ZhciBsPW8/aTp0aGlzLmludmVydCh0aGlzLnNjYWxlKGkpLSh0aGlzLnNjYWxlKHIpLXRoaXMuc2NhbGUoaSkpKm4pLGM9YT9yOnRoaXMuaW52ZXJ0KHRoaXMuc2NhbGUocikrKHRoaXMuc2NhbGUociktdGhpcy5zY2FsZShpKSkqbik7cmV0dXJuIHRoaXMuX2JhY2tpbmdTY2FsZURvbWFpbihzKSx0aGlzLl9zbmFwcGluZ0RvbWFpbkVuYWJsZWQ/dGhpcy5fbmljZURvbWFpbihbbCxjXSk6W2wsY119LGUucHJvdG90eXBlLnNuYXBwaW5nRG9tYWluRW5hYmxlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9zbmFwcGluZ0RvbWFpbkVuYWJsZWQ6KHRoaXMuX3NuYXBwaW5nRG9tYWluRW5hYmxlZD10LHRoaXMuYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpLHRoaXMpfSxlLnByb3RvdHlwZS5fZXhwYW5kU2luZ2xlVmFsdWVEb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIHR9LGUucHJvdG90eXBlLmludmVydD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoIlN1YmNsYXNzZXMgc2hvdWxkIG92ZXJyaWRlIGludmVydCIpfSxlLnByb3RvdHlwZS5kb21haW49ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUmJih0aGlzLl9kb21haW5NaW49ZVswXSx0aGlzLl9kb21haW5NYXg9ZVsxXSksdC5wcm90b3R5cGUuZG9tYWluLmNhbGwodGhpcyxlKX0sZS5wcm90b3R5cGUuZG9tYWluTWluPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuZG9tYWluKClbMF06KHRoaXMuX2RvbWFpbk1pbj10LHRoaXMuYXV0b0RvbWFpbklmQXV0b21hdGljTW9kZSgpLHRoaXMpfSxlLnByb3RvdHlwZS5kb21haW5NYXg9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5kb21haW4oKVsxXToodGhpcy5fZG9tYWluTWF4PXQsdGhpcy5hdXRvRG9tYWluSWZBdXRvbWF0aWNNb2RlKCksdGhpcyl9LGUucHJvdG90eXBlLmV4dGVudE9mVmFsdWVzPWZ1bmN0aW9uKHQpe3ZhciBlPU5idC5leHRlbnQodC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBSYnQuTWF0aC5pc1ZhbGlkTnVtYmVyKCt0KX0pKSk7cmV0dXJuIG51bGw9PWVbMF18fG51bGw9PWVbMV0/W106ZX0sZS5wcm90b3R5cGUuem9vbT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXM7dGhpcy5kb21haW4odGhpcy5yYW5nZSgpLm1hcCgoZnVuY3Rpb24oaSl7cmV0dXJuIG4uaW52ZXJ0KElidC56b29tT3V0KGksdCxlKSl9KSkpfSxlLnByb3RvdHlwZS5wYW49ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt0aGlzLmRvbWFpbih0aGlzLnJhbmdlKCkubWFwKChmdW5jdGlvbihuKXtyZXR1cm4gZS5pbnZlcnQobit0KX0pKSl9LGUucHJvdG90eXBlLnNjYWxlVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBzY2FsZVRyYW5zZm9ybWF0aW9uIil9LGUucHJvdG90eXBlLmludmVydGVkVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBpbnZlcnRlZFRyYW5zZm9ybWF0aW9uIil9LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBnZXRUcmFuc2Zvcm1hdGlvbkV4dGVudCIpfSxlLnByb3RvdHlwZS5nZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbj1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4iKX0sZS5wcm90b3R5cGUuc2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBzZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbiIpfSxlLnByb3RvdHlwZS5fc2V0RG9tYWluPWZ1bmN0aW9uKGUpe3ZhciBuPWZ1bmN0aW9uKHQpe3JldHVybiBSYnQuTWF0aC5pc05hTih0KXx8dD09PTEvMHx8dD09PS0xLzB9O24oZVswXSl8fG4oZVsxXSk/UmJ0LldpbmRvdy53YXJuKCJXYXJuaW5nOiBRdWFudGl0YXRpdmVTY2FsZXMgY2Fubm90IHRha2UgTmFOIG9yIEluZmluaXR5IGFzIGEgZG9tYWluIHZhbHVlLiBJZ25vcmluZy4iKTp0LnByb3RvdHlwZS5fc2V0RG9tYWluLmNhbGwodGhpcyxlKX0sZS5wcm90b3R5cGUuZGVmYXVsdFRpY2tzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBfZ2V0RGVmYXVsdFRpY2tzIil9LGUucHJvdG90eXBlLnRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RpY2tHZW5lcmF0b3IodGhpcyl9LGUucHJvdG90eXBlLl9uaWNlRG9tYWluPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKCJTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSBfbmljZURvbWFpbiIpfSxlLnByb3RvdHlwZS5fZGVmYXVsdEV4dGVudD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgX2RlZmF1bHRFeHRlbnQiKX0sZS5wcm90b3R5cGUudGlja0dlbmVyYXRvcj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl90aWNrR2VuZXJhdG9yOih0aGlzLl90aWNrR2VuZXJhdG9yPXQsdGhpcyl9LGUuX0RFRkFVTFRfTlVNX1RJQ0tTPTEwLGV9KShsYnQuU2NhbGUpO0xidC5RdWFudGl0YXRpdmVTY2FsZT1PYnQsCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShrYnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB6YnQ9Qk8sRGJ0PXdwdCxCYnQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGUuX2QzU2NhbGU9RGJ0LnNjYWxlTGluZWFyKCksZX1yZXR1cm4gemJ0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9kZWZhdWx0RXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuWzAsMV19LGUucHJvdG90eXBlLl9leHBhbmRTaW5nbGVWYWx1ZURvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gdFswXT09PXRbMV0/W3RbMF0tMSx0WzFdKzFdOnR9LGUucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kM1NjYWxlKHQpfSxlLnByb3RvdHlwZS5zY2FsZVRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnNjYWxlKHQpfSxlLnByb3RvdHlwZS5pbnZlcnRlZFRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmludmVydCh0KX0sZS5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25FeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZ2V0VW5ib3VuZGVkRXh0ZW50KCEwKX0sZS5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb21haW4oKX0sZS5wcm90b3R5cGUuc2V0VHJhbnNmb3JtYXRpb25Eb21haW49ZnVuY3Rpb24odCl7dGhpcy5kb21haW4odCl9LGUucHJvdG90eXBlLl9nZXREb21haW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFja2luZ1NjYWxlRG9tYWluKCl9LGUucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZDNTY2FsZS5kb21haW4oKToodGhpcy5fZDNTY2FsZS5kb21haW4odCksdGhpcyl9LGUucHJvdG90eXBlLl9nZXRSYW5nZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kM1NjYWxlLnJhbmdlKCl9LGUucHJvdG90eXBlLl9zZXRSYW5nZT1mdW5jdGlvbih0KXt0aGlzLl9kM1NjYWxlLnJhbmdlKHQpfSxlLnByb3RvdHlwZS5pbnZlcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUuaW52ZXJ0KHQpfSxlLnByb3RvdHlwZS5kZWZhdWx0VGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS50aWNrcyhlLl9ERUZBVUxUX05VTV9USUNLUyl9LGUucHJvdG90eXBlLl9uaWNlRG9tYWluPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2QzU2NhbGUuY29weSgpLmRvbWFpbih0KS5uaWNlKGUpLmRvbWFpbigpfSxlfSkoTGJ0LlF1YW50aXRhdGl2ZVNjYWxlKTtrYnQuTGluZWFyPUJidDt2YXIgSGJ0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShIYnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBGYnQ9Qk8sVmJ0PXdwdCxVYnQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dm9pZCAwPT09ZSYmKGU9MTApO3ZhciBuPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gbi5fZDNTY2FsZT1WYnQuc2NhbGVMb2coKS5iYXNlKGUpLG4uX3NldERvbWFpbihuLl9kZWZhdWx0RXh0ZW50KCkpLG59cmV0dXJuIEZidC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fZGVmYXVsdEV4dGVudD1mdW5jdGlvbigpe3JldHVyblsxLHRoaXMuX2QzU2NhbGUuYmFzZSgpXX0sZS5wcm90b3R5cGUuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiB0WzBdPT09dFsxXT9bdFswXS90aGlzLl9kM1NjYWxlLmJhc2UoKSx0WzFdKnRoaXMuX2QzU2NhbGUuYmFzZSgpXTp0fSxlLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZDNTY2FsZSh0KX0sZS5wcm90b3R5cGUuc2NhbGVUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zY2FsZSh0KX0sZS5wcm90b3R5cGUuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbnZlcnQodCl9LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2dldFVuYm91bmRlZEV4dGVudCghMCl9LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tYWluKCl9LGUucHJvdG90eXBlLnNldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKHQpe3RoaXMuZG9tYWluKHQpfSxlLnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JhY2tpbmdTY2FsZURvbWFpbigpfSxlLnByb3RvdHlwZS5fYmFja2luZ1NjYWxlRG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2QzU2NhbGUuZG9tYWluKCk6KHRoaXMuX2QzU2NhbGUuZG9tYWluKHQpLHRoaXMpfSxlLnByb3RvdHlwZS5fZ2V0UmFuZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS5yYW5nZSgpfSxlLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24odCl7dGhpcy5fZDNTY2FsZS5yYW5nZSh0KX0sZS5wcm90b3R5cGUuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kM1NjYWxlLmludmVydCh0KX0sZS5wcm90b3R5cGUuZGVmYXVsdFRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUudGlja3MoZS5fREVGQVVMVF9OVU1fVElDS1MpfSxlLnByb3RvdHlwZS5fbmljZURvbWFpbj1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9kM1NjYWxlLmNvcHkoKS5kb21haW4odCkubmljZSgpLmRvbWFpbigpfSxlfSkoTGJ0LlF1YW50aXRhdGl2ZVNjYWxlKTtIYnQuTG9nPVVidDt2YXIgamJ0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShqYnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBHYnQ9Qk8sV2J0PXdwdCxxYnQ9RF90LFlidD1YdnQsWGJ0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUpe3ZvaWQgMD09PWUmJihlPTEwKTt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7aWYobi5fbG9nVGlja0dlbmVyYXRvcj1mdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuW3QsZSxuXS5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiB0LWV9KSlbMV19LGk9cWJ0Lk1hdGgubWluKG4uX3VudHJhbnNmb3JtZWREb21haW4sMCkscj1xYnQuTWF0aC5tYXgobi5fdW50cmFuc2Zvcm1lZERvbWFpbiwwKSxvPWksYT1lKGksciwtbi5fcGl2b3QpLHM9ZShpLHIsbi5fcGl2b3QpLGw9cixjPW4uX2xvZ1RpY2tzKC1hLC1vKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybi10fSkpLnJldmVyc2UoKSx1PW4uX2xvZ1RpY2tzKHMsbCksaD1NYXRoLm1heChpLC1uLl9waXZvdCksZD1NYXRoLm1pbihyLG4uX3Bpdm90KSxwPVdidC5zY2FsZUxpbmVhcigpLmRvbWFpbihbaCxkXSkudGlja3Mobi5faG93TWFueVRpY2tzKGgsZCkpLGY9Yy5jb25jYXQocCkuY29uY2F0KHUpO3JldHVybiBmLmxlbmd0aDw9MSYmKGY9V2J0LnNjYWxlTGluZWFyKCkuZG9tYWluKFtpLHJdKS50aWNrcyhZYnQuTW9kaWZpZWRMb2cuX0RFRkFVTFRfTlVNX1RJQ0tTKSksZn0sbi5fZDNTY2FsZT1XYnQuc2NhbGVMaW5lYXIoKSxuLl9iYXNlPWUsbi5fcGl2b3Q9bi5fYmFzZSxuLl9zZXREb21haW4obi5fZGVmYXVsdEV4dGVudCgpKSxuLnRpY2tHZW5lcmF0b3Iobi5fbG9nVGlja0dlbmVyYXRvciksZTw9MSl0aHJvdyBuZXcgRXJyb3IoIk1vZGlmaWVkTG9nU2NhbGU6IFRoZSBiYXNlIG11c3QgYmUgPiAxIik7cmV0dXJuIG59cmV0dXJuIEdidC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fYWRqdXN0ZWRMb2c9ZnVuY3Rpb24odCl7dmFyIGU9dDwwPy0xOjE7cmV0dXJuKHQqPWUpPHRoaXMuX3Bpdm90JiYodCs9KHRoaXMuX3Bpdm90LXQpL3RoaXMuX3Bpdm90KSx0PU1hdGgubG9nKHQpL01hdGgubG9nKHRoaXMuX2Jhc2UpLHQqPWV9LGUucHJvdG90eXBlLl9pbnZlcnRlZEFkanVzdGVkTG9nPWZ1bmN0aW9uKHQpe3ZhciBlPXQ8MD8tMToxO3JldHVybiB0Kj1lLCh0PU1hdGgucG93KHRoaXMuX2Jhc2UsdCkpPHRoaXMuX3Bpdm90JiYodD10aGlzLl9waXZvdCoodC0xKS8odGhpcy5fcGl2b3QtMSkpLHQqPWV9LGUucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kM1NjYWxlKHRoaXMuX2FkanVzdGVkTG9nKHQpKX0sZS5wcm90b3R5cGUuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pbnZlcnRlZEFkanVzdGVkTG9nKHRoaXMuX2QzU2NhbGUuaW52ZXJ0KHQpKX0sZS5wcm90b3R5cGUuc2NhbGVUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zY2FsZSh0KX0sZS5wcm90b3R5cGUuaW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbnZlcnQodCl9LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2dldFVuYm91bmRlZEV4dGVudCghMCl9LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9tYWluKCl9LGUucHJvdG90eXBlLnNldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKHQpe3RoaXMuZG9tYWluKHQpfSxlLnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3VudHJhbnNmb3JtZWREb21haW59LGUucHJvdG90eXBlLl9zZXREb21haW49ZnVuY3Rpb24oZSl7dGhpcy5fdW50cmFuc2Zvcm1lZERvbWFpbj1lO3ZhciBuPVt0aGlzLl9hZGp1c3RlZExvZyhlWzBdKSx0aGlzLl9hZGp1c3RlZExvZyhlWzFdKV07dC5wcm90b3R5cGUuX3NldERvbWFpbi5jYWxsKHRoaXMsbil9LGUucHJvdG90eXBlLl9iYWNraW5nU2NhbGVEb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZDNTY2FsZS5kb21haW4oKToodGhpcy5fZDNTY2FsZS5kb21haW4odCksdGhpcyl9LGUucHJvdG90eXBlLl9sb2dUaWNrcz1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMsaT10aGlzLl9ob3dNYW55VGlja3ModCxlKTtpZigwPT09aSlyZXR1cm5bXTt2YXIgcj1NYXRoLmZsb29yKE1hdGgubG9nKHQpL01hdGgubG9nKHRoaXMuX2Jhc2UpKSxvPU1hdGguY2VpbChNYXRoLmxvZyhlKS9NYXRoLmxvZyh0aGlzLl9iYXNlKSksYT1XYnQucmFuZ2UobyxyLC1NYXRoLmNlaWwoKG8tcikvaSkpLHM9V2J0LnJhbmdlKHRoaXMuX2Jhc2UsMSwtKHRoaXMuX2Jhc2UtMSkpLm1hcChNYXRoLmZsb29yKSxsPXFidC5BcnJheS51bmlxKHMpLGM9YS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBsLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgucG93KG4uX2Jhc2UsdC0xKSplfSkpfSkpO3JldHVybiBxYnQuQXJyYXkuZmxhdHRlbihjKS5maWx0ZXIoKGZ1bmN0aW9uKG4pe3JldHVybiB0PD1uJiZuPD1lfSkpLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQtZX0pKX0sZS5wcm90b3R5cGUuX2hvd01hbnlUaWNrcz1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX2FkanVzdGVkTG9nKHFidC5NYXRoLm1pbih0aGlzLl91bnRyYW5zZm9ybWVkRG9tYWluLDApKSxpPXRoaXMuX2FkanVzdGVkTG9nKHFidC5NYXRoLm1heCh0aGlzLl91bnRyYW5zZm9ybWVkRG9tYWluLDApKSxyPXRoaXMuX2FkanVzdGVkTG9nKHQpLG89dGhpcy5fYWRqdXN0ZWRMb2coZSk7cmV0dXJuIE1hdGguY2VpbCgoby1yKS8oaS1uKSpZYnQuTW9kaWZpZWRMb2cuX0RFRkFVTFRfTlVNX1RJQ0tTKX0sZS5wcm90b3R5cGUuX25pY2VEb21haW49ZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0sZS5wcm90b3R5cGUuX2RlZmF1bHRFeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm5bMCx0aGlzLl9iYXNlXX0sZS5wcm90b3R5cGUuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluPWZ1bmN0aW9uKHQpe2lmKHRbMF09PT10WzFdKXt2YXIgZT10WzBdO3JldHVybiBlPjA/W2UvdGhpcy5fYmFzZSxlKnRoaXMuX2Jhc2VdOjA9PT1lP1stdGhpcy5fYmFzZSx0aGlzLl9iYXNlXTpbZSp0aGlzLl9iYXNlLGUvdGhpcy5fYmFzZV19cmV0dXJuIHR9LGUucHJvdG90eXBlLl9nZXRSYW5nZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kM1NjYWxlLnJhbmdlKCl9LGUucHJvdG90eXBlLl9zZXRSYW5nZT1mdW5jdGlvbih0KXt0aGlzLl9kM1NjYWxlLnJhbmdlKHQpfSxlLnByb3RvdHlwZS5kZWZhdWx0VGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS50aWNrcyhZYnQuTW9kaWZpZWRMb2cuX0RFRkFVTFRfTlVNX1RJQ0tTKX0sZX0pKExidC5RdWFudGl0YXRpdmVTY2FsZSk7amJ0Lk1vZGlmaWVkTG9nPVhidDt2YXIgJGJ0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eSgkYnQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBLYnQ9Qk8sWmJ0PXdwdCxKYnQ9WXZ0LFFidD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gZS5fZDNTY2FsZT1aYnQuc2NhbGVUaW1lKCksZS5hdXRvRG9tYWluKCksZX1yZXR1cm4gS2J0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLnRpY2tJbnRlcnZhbD1mdW5jdGlvbih0LG4saSl7dm9pZCAwPT09biYmKG49MSksdm9pZCAwPT09aSYmKGk9ITEpO3ZhciByPVpidC5zY2FsZVRpbWUoKSxvPWUudGltZUludGVydmFsVG9EM1RpbWUodCxpKS5ldmVyeShuKTtyZXR1cm4gci5kb21haW4odGhpcy5kb21haW4oKSksci5yYW5nZSh0aGlzLnJhbmdlKCkpLHIudGlja3Mobyl9LGUucHJvdG90eXBlLl9zZXREb21haW49ZnVuY3Rpb24oZSl7aWYoZVsxXTxlWzBdKXRocm93IG5ldyBFcnJvcigiU2NhbGUuVGltZSBkb21haW4gdmFsdWVzIG11c3QgYmUgaW4gY2hyb25vbG9naWNhbCBvcmRlciIpO3JldHVybiB0LnByb3RvdHlwZS5fc2V0RG9tYWluLmNhbGwodGhpcyxlKX0sZS5wcm90b3R5cGUuX2RlZmF1bHRFeHRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm5bbmV3IERhdGUoIjE5NzAtMDEtMDEiKSxuZXcgRGF0ZSgiMTk3MC0wMS0wMiIpXX0sZS5wcm90b3R5cGUuX2V4cGFuZFNpbmdsZVZhbHVlRG9tYWluPWZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0uZ2V0VGltZSgpLG49dFsxXS5nZXRUaW1lKCk7aWYoZT09PW4pe3ZhciBpPW5ldyBEYXRlKGUpO2kuc2V0RGF0ZShpLmdldERhdGUoKS0xKTt2YXIgcj1uZXcgRGF0ZShuKTtyZXR1cm4gci5zZXREYXRlKHIuZ2V0RGF0ZSgpKzEpLFtpLHJdfXJldHVybiB0fSxlLnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZDNTY2FsZSh0KX0sZS5wcm90b3R5cGUuc2NhbGVUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zY2FsZShuZXcgRGF0ZSh0KSl9LGUucHJvdG90eXBlLmludmVydGVkVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW52ZXJ0KHQpLmdldFRpbWUoKX0sZS5wcm90b3R5cGUuZ2V0VHJhbnNmb3JtYXRpb25FeHRlbnQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9nZXRVbmJvdW5kZWRFeHRlbnQoITApO3JldHVyblt0WzBdLnZhbHVlT2YoKSx0WzFdLnZhbHVlT2YoKV19LGUucHJvdG90eXBlLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5kb21haW4oKTtyZXR1cm5bdFswXS52YWx1ZU9mKCksdFsxXS52YWx1ZU9mKCldfSxlLnByb3RvdHlwZS5zZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbj1mdW5jdGlvbih0KXt2YXIgZT10WzFdO3RoaXMuZG9tYWluKFtuZXcgRGF0ZSh0WzBdKSxuZXcgRGF0ZShlKV0pfSxlLnByb3RvdHlwZS5fZ2V0RG9tYWluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JhY2tpbmdTY2FsZURvbWFpbigpfSxlLnByb3RvdHlwZS5fYmFja2luZ1NjYWxlRG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2QzU2NhbGUuZG9tYWluKCk6KHRoaXMuX2QzU2NhbGUuZG9tYWluKHQpLHRoaXMpfSxlLnByb3RvdHlwZS5fZ2V0UmFuZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZDNTY2FsZS5yYW5nZSgpfSxlLnByb3RvdHlwZS5fc2V0UmFuZ2U9ZnVuY3Rpb24odCl7dGhpcy5fZDNTY2FsZS5yYW5nZSh0KX0sZS5wcm90b3R5cGUuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kM1NjYWxlLmludmVydCh0KX0sZS5wcm90b3R5cGUuZGVmYXVsdFRpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2QzU2NhbGUudGlja3MoZS5fREVGQVVMVF9OVU1fVElDS1MpfSxlLnByb3RvdHlwZS5fbmljZURvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZDNTY2FsZS5jb3B5KCkuZG9tYWluKHQpLm5pY2UoKS5kb21haW4oKX0sZS50aW1lSW50ZXJ2YWxUb0QzVGltZT1mdW5jdGlvbih0LGUpe3N3aXRjaCh0KXtjYXNlIEpidC5UaW1lSW50ZXJ2YWwuc2Vjb25kOnJldHVybiBlP1pidC51dGNTZWNvbmQ6WmJ0LnRpbWVTZWNvbmQ7Y2FzZSBKYnQuVGltZUludGVydmFsLm1pbnV0ZTpyZXR1cm4gZT9aYnQudXRjTWludXRlOlpidC50aW1lTWludXRlO2Nhc2UgSmJ0LlRpbWVJbnRlcnZhbC5ob3VyOnJldHVybiBlP1pidC51dGNIb3VyOlpidC50aW1lSG91cjtjYXNlIEpidC5UaW1lSW50ZXJ2YWwuZGF5OnJldHVybiBlP1pidC51dGNEYXk6WmJ0LnRpbWVEYXk7Y2FzZSBKYnQuVGltZUludGVydmFsLndlZWs6cmV0dXJuIGU/WmJ0LnV0Y1dlZWs6WmJ0LnRpbWVXZWVrO2Nhc2UgSmJ0LlRpbWVJbnRlcnZhbC5tb250aDpyZXR1cm4gZT9aYnQudXRjTW9udGg6WmJ0LnRpbWVNb250aDtjYXNlIEpidC5UaW1lSW50ZXJ2YWwueWVhcjpyZXR1cm4gZT9aYnQudXRjWWVhcjpaYnQudGltZVllYXI7ZGVmYXVsdDp0aHJvdyBFcnJvcigiVGltZUludGVydmFsIHNwZWNpZmllZCBkb2VzIG5vdCBleGlzdDogIit0KX19LGV9KShMYnQuUXVhbnRpdGF0aXZlU2NhbGUpOyRidC5UaW1lPVFidCwoZnVuY3Rpb24odCl7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZT1CTzt0LlRpY2tHZW5lcmF0b3JzPSR2dCxlLl9fZXhwb3J0U3RhcihRdnQsdCksZS5fX2V4cG9ydFN0YXIoX2J0LHQpLGUuX19leHBvcnRTdGFyKE1idCx0KSxlLl9fZXhwb3J0U3RhcihrYnQsdCksZS5fX2V4cG9ydFN0YXIoSGJ0LHQpLGUuX19leHBvcnRTdGFyKGpidCx0KSxlLl9fZXhwb3J0U3RhcigkYnQsdCk7dmFyIG49UXZ0LGk9TGJ0O3QuaXNUcmFuc2Zvcm1hYmxlPWZ1bmN0aW9uIHIodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBpLlF1YW50aXRhdGl2ZVNjYWxlfHx0IGluc3RhbmNlb2Ygbi5DYXRlZ29yeX19KShYdnQpLChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPLG49d3B0LGk9TGd0LHI9cHZ0LG89WHZ0LGE9RF90LHM9Ymd0LGw9ZHZ0O3QuVGltZUludGVydmFsPXMubWFrZUVudW0oWyJzZWNvbmQiLCJtaW51dGUiLCJob3VyIiwiZGF5Iiwid2VlayIsIm1vbnRoIiwieWVhciJdKSx0LlRpbWVBeGlzT3JpZW50YXRpb249cy5tYWtlRW51bShbInRvcCIsImJvdHRvbSJdKSx0LlRpZXJMYWJlbFBvc2l0aW9uPXMubWFrZUVudW0oWyJiZXR3ZWVuIiwiY2VudGVyIl0pO3ZhciBjLHU9KGZ1bmN0aW9uKHMpe2Z1bmN0aW9uIHUodCxlLG4pe3ZhciBpPXMuY2FsbCh0aGlzLHQsZSl8fHRoaXM7cmV0dXJuIGkuX21heFRpbWVJbnRlcnZhbFByZWNpc2lvbj1udWxsLGkuX3RpZXJMYWJlbFBvc2l0aW9ucz1bXSxpLl91c2VVVEM9bixpLmFkZENsYXNzKCJ0aW1lLWF4aXMiKSxpLnRpY2tMYWJlbFBhZGRpbmcoNSksaS5heGlzQ29uZmlndXJhdGlvbnModS5fREVGQVVMVF9USU1FX0FYSVNfQ09ORklHVVJBVElPTlMoaS5fdXNlVVRDKSksaS5hbm5vdGF0aW9uRm9ybWF0dGVyKHIudGltZSgiJWEgJWIgJWQsICVZIixpLl91c2VVVEMpKSxpfXJldHVybiBlLl9fZXh0ZW5kcyh1LHMpLHUucHJvdG90eXBlLnRpZXJMYWJlbFBvc2l0aW9ucz1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl90aWVyTGFiZWxQb3NpdGlvbnM7aWYoIXQuZXZlcnkoKGZ1bmN0aW9uKHQpe3JldHVybiJiZXR3ZWVuIj09PXQudG9Mb3dlckNhc2UoKXx8ImNlbnRlciI9PT10LnRvTG93ZXJDYXNlKCl9KSkpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBwb3NpdGlvbiBmb3IgdGllciBsYWJlbHMiKTtyZXR1cm4gdGhpcy5fdGllckxhYmVsUG9zaXRpb25zPXQsdGhpcy5yZWRyYXcoKSx0aGlzfSx1LnByb3RvdHlwZS5tYXhUaW1lSW50ZXJ2YWxQcmVjaXNpb249ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fbWF4VGltZUludGVydmFsUHJlY2lzaW9uOih0aGlzLl9tYXhUaW1lSW50ZXJ2YWxQcmVjaXNpb249dCx0aGlzLnJlZHJhdygpLHRoaXMpfSx1LnByb3RvdHlwZS5jdXJyZW50QXhpc0NvbmZpZ3VyYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zW3RoaXMuX21vc3RQcmVjaXNlQ29uZmlnSW5kZXhdfSx1LnByb3RvdHlwZS5heGlzQ29uZmlndXJhdGlvbnM9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zO3RoaXMuX3Bvc3NpYmxlVGltZUF4aXNDb25maWd1cmF0aW9ucz10LHRoaXMuX251bVRpZXJzPWEuTWF0aC5tYXgodGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQubGVuZ3RofSkpLDApLHRoaXMuX2lzQW5jaG9yZWQmJnRoaXMuX3NldHVwRG9tRWxlbWVudHMoKTtmb3IodmFyIGU9dGhpcy50aWVyTGFiZWxQb3NpdGlvbnMoKSxuPVtdLGk9MDtpPHRoaXMuX251bVRpZXJzO2krKyluLnB1c2goZVtpXXx8ImJldHdlZW4iKTtyZXR1cm4gdGhpcy50aWVyTGFiZWxQb3NpdGlvbnMobiksdGhpcy5yZWRyYXcoKSx0aGlzfSx1LnByb3RvdHlwZS5fZ2V0TW9zdFByZWNpc2VDb25maWd1cmF0aW9uSW5kZXg9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zLmxlbmd0aDtyZXR1cm4gdGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zLmZvckVhY2goKGZ1bmN0aW9uKG4saSl7aTxlJiZuLmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4gdC5fY2hlY2tUaW1lQXhpc1RpZXJDb25maWd1cmF0aW9uKGUpfSkpJiYoZT1pKX0pKSxlPT09dGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zLmxlbmd0aCYmKGEuV2luZG93Lndhcm4oInpvb21lZCBvdXQgdG9vIGZhcjogY291bGQgbm90IGZpbmQgc3VpdGFibGUgaW50ZXJ2YWwgdG8gZGlzcGxheSBsYWJlbHMiKSwtLWUpLGV9LHUucHJvdG90eXBlLm9yaWVudGF0aW9uPWZ1bmN0aW9uKHQpe2lmKHQmJigicmlnaHQiPT09dC50b0xvd2VyQ2FzZSgpfHwibGVmdCI9PT10LnRvTG93ZXJDYXNlKCkpKXRocm93IG5ldyBFcnJvcih0KyIgaXMgbm90IGEgc3VwcG9ydGVkIG9yaWVudGF0aW9uIGZvciBUaW1lQXhpcyAtIG9ubHkgaG9yaXpvbnRhbCBvcmllbnRhdGlvbnMgYXJlIHN1cHBvcnRlZCIpO3JldHVybiBzLnByb3RvdHlwZS5vcmllbnRhdGlvbi5jYWxsKHRoaXMsdCl9LHUucHJvdG90eXBlLl9jb21wdXRlSGVpZ2h0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fbWVhc3VyZXIubWVhc3VyZSgpLmhlaWdodDt0aGlzLl90aWVySGVpZ2h0cz1bXTtmb3IodmFyIGU9MDtlPHRoaXMuX251bVRpZXJzO2UrKyl0aGlzLl90aWVySGVpZ2h0cy5wdXNoKHQrdGhpcy50aWNrTGFiZWxQYWRkaW5nKCkrKCJiZXR3ZWVuIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1tlXT8wOnRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpKSk7cmV0dXJuIG4uc3VtKHRoaXMuX3RpZXJIZWlnaHRzKX0sdS5wcm90b3R5cGUuX2dldEludGVydmFsTGVuZ3RoPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3NjYWxlLmRvbWFpbigpWzBdLG49by5UaW1lLnRpbWVJbnRlcnZhbFRvRDNUaW1lKHQuaW50ZXJ2YWwsdGhpcy5fdXNlVVRDKS5vZmZzZXQoZSx0LnN0ZXApO3JldHVybiBuPnRoaXMuX3NjYWxlLmRvbWFpbigpWzFdP3RoaXMud2lkdGgoKTpNYXRoLmFicyh0aGlzLl9zY2FsZS5zY2FsZShuKS10aGlzLl9zY2FsZS5zY2FsZShlKSl9LHUucHJvdG90eXBlLl9tYXhXaWR0aEZvckludGVydmFsPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9tZWFzdXJlci5tZWFzdXJlKHQuZm9ybWF0dGVyKHUuX0xPTkdfREFURSkpLndpZHRofSx1LnByb3RvdHlwZS5fY2hlY2tUaW1lQXhpc1RpZXJDb25maWd1cmF0aW9uPWZ1bmN0aW9uKHQpe2lmKG51bGwhPXRoaXMuX21heFRpbWVJbnRlcnZhbFByZWNpc2lvbil7dmFyIGU9dS5fU09SVEVEX1RJTUVfSU5URVJWQUxfSU5ERVhbdGhpcy5fbWF4VGltZUludGVydmFsUHJlY2lzaW9uXSxuPXUuX1NPUlRFRF9USU1FX0lOVEVSVkFMX0lOREVYW3QuaW50ZXJ2YWxdO2lmKG51bGwhPWUmJm51bGwhPW4mJm48ZSlyZXR1cm4hMX12YXIgaT10aGlzLl9tYXhXaWR0aEZvckludGVydmFsKHQpKzIqdGhpcy50aWNrTGFiZWxQYWRkaW5nKCk7cmV0dXJuIE1hdGgubWluKHRoaXMuX2dldEludGVydmFsTGVuZ3RoKHQpLHRoaXMud2lkdGgoKSk+PWl9LHUucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyPWZ1bmN0aW9uKHQsZSl7dmFyIG49cy5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXIuY2FsbCh0aGlzLHQsZSksaT10aGlzLl90aWVySGVpZ2h0cy5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSxpLHIpe3JldHVybiB0K2U+bi5oZWlnaHQ/dDp0K2V9KSkscj10aGlzLm1hcmdpbigpKyh0aGlzLmFubm90YXRpb25zRW5hYmxlZCgpP3RoaXMuYW5ub3RhdGlvblRpZXJDb3VudCgpKnRoaXMuX2Fubm90YXRpb25UaWVySGVpZ2h0KCk6MCk7cmV0dXJuIG4uaGVpZ2h0PU1hdGgubWluKG4uaGVpZ2h0LGkrciksbn0sdS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7cy5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyksdGhpcy5fc2V0dXBEb21FbGVtZW50cygpfSx1LnByb3RvdHlwZS5fc2V0dXBEb21FbGVtZW50cz1mdW5jdGlvbigpe3RoaXMuY29udGVudCgpLnNlbGVjdEFsbCgiLiIrdS5USU1FX0FYSVNfVElFUl9DTEFTUykucmVtb3ZlKCksdGhpcy5fdGllckxhYmVsQ29udGFpbmVycz1bXSx0aGlzLl90aWVyTWFya0NvbnRhaW5lcnM9W10sdGhpcy5fdGllckJhc2VsaW5lcz1bXSx0aGlzLl90aWNrTGFiZWxDb250YWluZXIucmVtb3ZlKCksdGhpcy5fYmFzZWxpbmUucmVtb3ZlKCk7Zm9yKHZhciB0PTA7dDx0aGlzLl9udW1UaWVyczsrK3Qpe3ZhciBlPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQodS5USU1FX0FYSVNfVElFUl9DTEFTUywhMCk7dGhpcy5fdGllckxhYmVsQ29udGFpbmVycy5wdXNoKGUuYXBwZW5kKCJnIikuY2xhc3NlZChsLkF4aXMuVElDS19MQUJFTF9DTEFTUysiLWNvbnRhaW5lciIsITApKSx0aGlzLl90aWVyTWFya0NvbnRhaW5lcnMucHVzaChlLmFwcGVuZCgiZyIpLmNsYXNzZWQobC5BeGlzLlRJQ0tfTUFSS19DTEFTUysiLWNvbnRhaW5lciIsITApKSx0aGlzLl90aWVyQmFzZWxpbmVzLnB1c2goZS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKCJiYXNlbGluZSIsITApKX12YXIgbj1uZXcgaS5TdmdDb250ZXh0KHRoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnNbMF0ubm9kZSgpKTt0aGlzLl9tZWFzdXJlcj1uZXcgaS5DYWNoZU1lYXN1cmVyKG4pfSx1LnByb3RvdHlwZS5fZ2V0VGlja0ludGVydmFsVmFsdWVzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9zY2FsZS50aWNrSW50ZXJ2YWwodC5pbnRlcnZhbCx0LnN0ZXAsdGhpcy5fdXNlVVRDKX0sdS5wcm90b3R5cGUuX2dldFRpY2tWYWx1ZXM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLl9wb3NzaWJsZVRpbWVBeGlzQ29uZmlndXJhdGlvbnNbdGhpcy5fbW9zdFByZWNpc2VDb25maWdJbmRleF0ucmVkdWNlKChmdW5jdGlvbihlLG4pe3JldHVybiBlLmNvbmNhdCh0Ll9nZXRUaWNrSW50ZXJ2YWxWYWx1ZXMobikpfSksW10pfSx1LnByb3RvdHlwZS5fY2xlYW5UaWVycz1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8dGhpcy5fdGllckxhYmVsQ29udGFpbmVycy5sZW5ndGg7dCsrKXRoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnNbdF0uc2VsZWN0QWxsKCIuIitsLkF4aXMuVElDS19MQUJFTF9DTEFTUykucmVtb3ZlKCksdGhpcy5fdGllck1hcmtDb250YWluZXJzW3RdLnNlbGVjdEFsbCgiLiIrbC5BeGlzLlRJQ0tfTUFSS19DTEFTUykucmVtb3ZlKCksdGhpcy5fdGllckJhc2VsaW5lc1t0XS5zdHlsZSgidmlzaWJpbGl0eSIsImhpZGRlbiIpfSx1LnByb3RvdHlwZS5fZ2V0VGlja1ZhbHVlc0ZvckNvbmZpZ3VyYXRpb249ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fc2NhbGUudGlja0ludGVydmFsKHQuaW50ZXJ2YWwsdC5zdGVwLHRoaXMuX3VzZVVUQyksbj10aGlzLl9zY2FsZS5kb21haW4oKSxpPWUubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC52YWx1ZU9mKCl9KSk7cmV0dXJuLTE9PT1pLmluZGV4T2YoblswXS52YWx1ZU9mKCkpJiZlLnVuc2hpZnQoblswXSksLTE9PT1pLmluZGV4T2YoblsxXS52YWx1ZU9mKCkpJiZlLnB1c2goblsxXSksZX0sdS5wcm90b3R5cGUuX3JlbmRlclRpZXJMYWJlbHM9ZnVuY3Rpb24odCxlLGkpe3ZhciByPXRoaXMsbz10aGlzLl9nZXRUaWNrVmFsdWVzRm9yQ29uZmlndXJhdGlvbihlKSxhPVtdOyJiZXR3ZWVuIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1tpXSYmMT09PWUuc3RlcD9vLm1hcCgoZnVuY3Rpb24odCxlKXtlKzE+PW8ubGVuZ3RofHxhLnB1c2gobmV3IERhdGUoKG9bZSsxXS52YWx1ZU9mKCktb1tlXS52YWx1ZU9mKCkpLzIrb1tlXS52YWx1ZU9mKCkpKX0pKTphPW87dmFyIHM9dC5zZWxlY3RBbGwoIi4iK2wuQXhpcy5USUNLX0xBQkVMX0NMQVNTKS5kYXRhKGEsKGZ1bmN0aW9uKHQpe3JldHVybiBTdHJpbmcodC52YWx1ZU9mKCkpfSkpLGM9cy5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQobC5BeGlzLlRJQ0tfTEFCRUxfQ0xBU1MsITApO2MuYXBwZW5kKCJ0ZXh0Iik7dmFyIHUsaD0iY2VudGVyIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1tpXXx8MT09PWUuc3RlcD8wOnRoaXMudGlja0xhYmVsUGFkZGluZygpO3U9ImJvdHRvbSI9PT10aGlzLm9yaWVudGF0aW9uKCk/bi5zdW0odGhpcy5fdGllckhlaWdodHMuc2xpY2UoMCxpKzEpKS10aGlzLnRpY2tMYWJlbFBhZGRpbmcoKToiY2VudGVyIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1tpXT90aGlzLmhlaWdodCgpLW4uc3VtKHRoaXMuX3RpZXJIZWlnaHRzLnNsaWNlKDAsaSkpLXRoaXMudGlja0xhYmVsUGFkZGluZygpLXRoaXMuX21heExhYmVsVGlja0xlbmd0aCgpOnRoaXMuaGVpZ2h0KCktbi5zdW0odGhpcy5fdGllckhlaWdodHMuc2xpY2UoMCxpKSktdGhpcy50aWNrTGFiZWxQYWRkaW5nKCk7dmFyIGQ9cy5tZXJnZShjKSxwPWQuc2VsZWN0QWxsKCJ0ZXh0Iik7cC5zaXplKCk+MCYmcC5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitoKyIsIit1KyIpIikscy5leGl0KCkucmVtb3ZlKCksZC5hdHRyKCJ0cmFuc2Zvcm0iLChmdW5jdGlvbih0KXtyZXR1cm4idHJhbnNsYXRlKCIrci5fc2NhbGUuc2NhbGUodCkrIiwwKSJ9KSk7dmFyIGY9ImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbaV18fDE9PT1lLnN0ZXA/Im1pZGRsZSI6InN0YXJ0IjtkLnNlbGVjdEFsbCgidGV4dCIpLnRleHQoZS5mb3JtYXR0ZXIpLnN0eWxlKCJ0ZXh0LWFuY2hvciIsZil9LHUucHJvdG90eXBlLl9yZW5kZXJUaWNrTWFya3M9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLl90aWVyTWFya0NvbnRhaW5lcnNbZV0uc2VsZWN0QWxsKCIuIitsLkF4aXMuVElDS19NQVJLX0NMQVNTKS5kYXRhKHQpLHI9aS5lbnRlcigpLmFwcGVuZCgibGluZSIpLmNsYXNzZWQobC5BeGlzLlRJQ0tfTUFSS19DTEFTUywhMCkubWVyZ2UoaSksbz10aGlzLl9nZW5lcmF0ZVRpY2tNYXJrQXR0ckhhc2goKSxhPXRoaXMuX3RpZXJIZWlnaHRzLnNsaWNlKDAsZSkucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiB0K2V9KSwwKTsiYm90dG9tIj09PXRoaXMub3JpZW50YXRpb24oKT8oby55MT1hLG8ueTI9YSsoImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbZV0/dGhpcy5pbm5lclRpY2tMZW5ndGgoKTp0aGlzLl90aWVySGVpZ2h0c1tlXSkpOihvLnkxPXRoaXMuaGVpZ2h0KCktYSxvLnkyPXRoaXMuaGVpZ2h0KCktKGErKCJjZW50ZXIiPT09dGhpcy5fdGllckxhYmVsUG9zaXRpb25zW2VdP3RoaXMuaW5uZXJUaWNrTGVuZ3RoKCk6dGhpcy5fdGllckhlaWdodHNbZV0pKSksci5hdHRycyhvKSwiYm90dG9tIj09PXRoaXMub3JpZW50YXRpb24oKT8oby55MT1hLG8ueTI9YSsoImNlbnRlciI9PT10aGlzLl90aWVyTGFiZWxQb3NpdGlvbnNbZV0/dGhpcy5lbmRUaWNrTGVuZ3RoKCk6dGhpcy5fdGllckhlaWdodHNbZV0pKTooby55MT10aGlzLmhlaWdodCgpLWEsby55Mj10aGlzLmhlaWdodCgpLShhKygiY2VudGVyIj09PXRoaXMuX3RpZXJMYWJlbFBvc2l0aW9uc1tlXT90aGlzLmVuZFRpY2tMZW5ndGgoKTp0aGlzLl90aWVySGVpZ2h0c1tlXSkpKSxuLnNlbGVjdChyLm5vZGVzKClbMF0pLmF0dHJzKG8pLG4uc2VsZWN0KHIubm9kZXMoKVtyLnNpemUoKS0xXSkuYXR0cnMobyksbi5zZWxlY3Qoci5ub2RlcygpWzBdKS5jbGFzc2VkKGwuQXhpcy5FTkRfVElDS19NQVJLX0NMQVNTLCEwKSxuLnNlbGVjdChyLm5vZGVzKClbci5zaXplKCktMV0pLmNsYXNzZWQobC5BeGlzLkVORF9USUNLX01BUktfQ0xBU1MsITApLGkuZXhpdCgpLnJlbW92ZSgpfSx1LnByb3RvdHlwZS5fcmVuZGVyTGFiZWxsZXNzVGlja01hcmtzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3RpY2tNYXJrQ29udGFpbmVyLnNlbGVjdEFsbCgiLiIrbC5BeGlzLlRJQ0tfTUFSS19DTEFTUykuZGF0YSh0KSxuPWUuZW50ZXIoKS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKGwuQXhpcy5USUNLX01BUktfQ0xBU1MsITApLm1lcmdlKGUpLGk9dGhpcy5fZ2VuZXJhdGVUaWNrTWFya0F0dHJIYXNoKCk7aS55Mj0iYm90dG9tIj09PXRoaXMub3JpZW50YXRpb24oKT90aGlzLnRpY2tMYWJlbFBhZGRpbmcoKTp0aGlzLmhlaWdodCgpLXRoaXMudGlja0xhYmVsUGFkZGluZygpLG4uYXR0cnMoaSksZS5leGl0KCkucmVtb3ZlKCl9LHUucHJvdG90eXBlLl9nZW5lcmF0ZUxhYmVsbGVzc1RpY2tzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21vc3RQcmVjaXNlQ29uZmlnSW5kZXg8MT9bXTp0aGlzLl9nZXRUaWNrSW50ZXJ2YWxWYWx1ZXModGhpcy5fcG9zc2libGVUaW1lQXhpc0NvbmZpZ3VyYXRpb25zW3RoaXMuX21vc3RQcmVjaXNlQ29uZmlnSW5kZXgtMV1bMF0pfSx1LnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fbW9zdFByZWNpc2VDb25maWdJbmRleD10aGlzLl9nZXRNb3N0UHJlY2lzZUNvbmZpZ3VyYXRpb25JbmRleCgpO3ZhciBlPXRoaXMuX3Bvc3NpYmxlVGltZUF4aXNDb25maWd1cmF0aW9uc1t0aGlzLl9tb3N0UHJlY2lzZUNvbmZpZ0luZGV4XTt0aGlzLl9jbGVhblRpZXJzKCksZS5mb3JFYWNoKChmdW5jdGlvbihlLG4pe3JldHVybiB0Ll9yZW5kZXJUaWVyTGFiZWxzKHQuX3RpZXJMYWJlbENvbnRhaW5lcnNbbl0sZSxuKX0pKTtmb3IodmFyIG49ZS5tYXAoKGZ1bmN0aW9uKGUsbil7cmV0dXJuIHQuX2dldFRpY2tWYWx1ZXNGb3JDb25maWd1cmF0aW9uKGUpfSkpLGk9MCxyPTA7cjxNYXRoLm1heChlLmxlbmd0aCwxKTsrK3Ipe3ZhciBvPXRoaXMuX2dlbmVyYXRlQmFzZWxpbmVBdHRySGFzaCgpO28ueTErPSJib3R0b20iPT09dGhpcy5vcmllbnRhdGlvbigpP2k6LWksby55Mj1vLnkxLHRoaXMuX3RpZXJCYXNlbGluZXNbcl0uYXR0cnMobykuc3R5bGUoInZpc2liaWxpdHkiLCJpbmhlcml0IiksaSs9dGhpcy5fdGllckhlaWdodHNbcl19dmFyIGE9W10scz10aGlzLl9zY2FsZS5kb21haW4oKSxsPXRoaXMuX3NjYWxlLnNjYWxlKHNbMV0pLXRoaXMuX3NjYWxlLnNjYWxlKHNbMF0pOzEuNSp0aGlzLl9nZXRJbnRlcnZhbExlbmd0aChlWzBdKT49bCYmKGE9dGhpcy5fZ2VuZXJhdGVMYWJlbGxlc3NUaWNrcygpKSx0aGlzLl9yZW5kZXJMYWJlbGxlc3NUaWNrTWFya3MoYSksdGhpcy5faGlkZU92ZXJmbG93aW5nVGllcnMoKTtmb3Iocj0wO3I8ZS5sZW5ndGg7KytyKXRoaXMuX3JlbmRlclRpY2tNYXJrcyhuW3JdLHIpLHRoaXMuX2hpZGVPdmVybGFwcGluZ0FuZEN1dE9mZkxhYmVscyhyKTtyZXR1cm4gdGhpcy5hbm5vdGF0aW9uc0VuYWJsZWQoKT90aGlzLl9kcmF3QW5ub3RhdGlvbnMoKTp0aGlzLl9yZW1vdmVBbm5vdGF0aW9ucygpLHRoaXN9LHUucHJvdG90eXBlLl9oaWRlT3ZlcmZsb3dpbmdUaWVycz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLmhlaWdodCgpLG49MDt0aGlzLmNvbnRlbnQoKS5zZWxlY3RBbGwoIi4iK3UuVElNRV9BWElTX1RJRVJfQ0xBU1MpLmF0dHIoInZpc2liaWxpdHkiLChmdW5jdGlvbihpLHIpe3JldHVybihuKz10Ll90aWVySGVpZ2h0c1tyXSk8PWU/ImluaGVyaXQiOiJoaWRkZW4ifSkpfSx1LnByb3RvdHlwZS5faGlkZU92ZXJsYXBwaW5nQW5kQ3V0T2ZmTGFiZWxzPWZ1bmN0aW9uKHQpe3ZhciBlLGk9dGhpcyxyPXRoaXMuZWxlbWVudCgpLm5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPXRoaXMuX3RpZXJNYXJrQ29udGFpbmVyc1t0XS5zZWxlY3RBbGwoIi4iK2wuQXhpcy5USUNLX01BUktfQ0xBU1MpLmZpbHRlcigoZnVuY3Rpb24odCxlKXt2YXIgaT1uLnNlbGVjdCh0aGlzKS5zdHlsZSgidmlzaWJpbGl0eSIpO3JldHVybiJ2aXNpYmxlIj09PWl8fCJpbmhlcml0Ij09PWl9KSkubm9kZXMoKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfSkpO3RoaXMuX3RpZXJMYWJlbENvbnRhaW5lcnNbdF0uc2VsZWN0QWxsKCIuIitsLkF4aXMuVElDS19MQUJFTF9DTEFTUykuZmlsdGVyKChmdW5jdGlvbih0LGUpe3ZhciBpPW4uc2VsZWN0KHRoaXMpLnN0eWxlKCJ2aXNpYmlsaXR5Iik7cmV0dXJuInZpc2libGUiPT09aXx8ImluaGVyaXQiPT09aX0pKS5lYWNoKChmdW5jdGlvbih0LHMpe3ZhciBsLGM9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx1PW4uc2VsZWN0KHRoaXMpLGg9b1tzXSxkPW9bcysxXSxwPW51bGwhPWUmJmEuRE9NLmNsaWVudFJlY3RzT3ZlcmxhcChjLGUpLGY9bnVsbCE9aCYmYS5ET00uY2xpZW50UmVjdHNPdmVybGFwKGMsaCksbT1udWxsIT1kJiZhLkRPTS5jbGllbnRSZWN0c092ZXJsYXAoYyxkKTtsPWMsIShNYXRoLmZsb29yKHIubGVmdCk8PU1hdGguY2VpbChsLmxlZnQpJiZNYXRoLmZsb29yKHIudG9wKTw9TWF0aC5jZWlsKGwudG9wKSYmTWF0aC5mbG9vcihsLnJpZ2h0KTw9TWF0aC5jZWlsKHIubGVmdCtpLndpZHRoKCkpJiZNYXRoLmZsb29yKGwuYm90dG9tKTw9TWF0aC5jZWlsKHIudG9wK2kuaGVpZ2h0KCkpKXx8cHx8Znx8bT91LnN0eWxlKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIik6KGU9Yyx1LnN0eWxlKCJ2aXNpYmlsaXR5IiwiaW5oZXJpdCIpKX0pKX0sdS5wcm90b3R5cGUuaW52YWxpZGF0ZUNhY2hlPWZ1bmN0aW9uKCl7cy5wcm90b3R5cGUuaW52YWxpZGF0ZUNhY2hlLmNhbGwodGhpcyksdGhpcy5fbWVhc3VyZXIucmVzZXQoKX0sdS5USU1FX0FYSVNfVElFUl9DTEFTUz0idGltZS1heGlzLXRpZXIiLHUuX1NPUlRFRF9USU1FX0lOVEVSVkFMX0lOREVYPSgoYz17fSlbdC5UaW1lSW50ZXJ2YWwuc2Vjb25kXT0wLGNbdC5UaW1lSW50ZXJ2YWwubWludXRlXT0xLGNbdC5UaW1lSW50ZXJ2YWwuaG91cl09MixjW3QuVGltZUludGVydmFsLmRheV09MyxjW3QuVGltZUludGVydmFsLndlZWtdPTQsY1t0LlRpbWVJbnRlcnZhbC5tb250aF09NSxjW3QuVGltZUludGVydmFsLnllYXJdPTYsYyksdS5fREVGQVVMVF9USU1FX0FYSVNfQ09ORklHVVJBVElPTlM9ZnVuY3Rpb24oZSl7dmFyIG49ZnVuY3Rpb24odCl7cmV0dXJuIHIudGltZSh0LGUpfTtyZXR1cm5bW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5zZWNvbmQsc3RlcDoxLGZvcm1hdHRlcjpuKCIlSTolTTolUyAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLnNlY29uZCxzdGVwOjUsZm9ybWF0dGVyOm4oIiVJOiVNOiVTICVwIil9LHtpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpuKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6MTAsZm9ybWF0dGVyOm4oIiVJOiVNOiVTICVwIil9LHtpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpuKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6MTUsZm9ybWF0dGVyOm4oIiVJOiVNOiVTICVwIil9LHtpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpuKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuc2Vjb25kLHN0ZXA6MzAsZm9ybWF0dGVyOm4oIiVJOiVNOiVTICVwIil9LHtpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpuKCIlQiAlZSwgJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwubWludXRlLHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUk6JU0gJXAiKX0se2ludGVydmFsOnQuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOm4oIiVCICVlLCAlWSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5taW51dGUsc3RlcDo1LGZvcm1hdHRlcjpuKCIlSTolTSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLm1pbnV0ZSxzdGVwOjEwLGZvcm1hdHRlcjpuKCIlSTolTSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLm1pbnV0ZSxzdGVwOjE1LGZvcm1hdHRlcjpuKCIlSTolTSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLm1pbnV0ZSxzdGVwOjMwLGZvcm1hdHRlcjpuKCIlSTolTSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLmhvdXIsc3RlcDoxLGZvcm1hdHRlcjpuKCIlSSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLmhvdXIsc3RlcDozLGZvcm1hdHRlcjpuKCIlSSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLmhvdXIsc3RlcDo2LGZvcm1hdHRlcjpuKCIlSSAlcCIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwuZGF5LHN0ZXA6MSxmb3JtYXR0ZXI6bigiJUIgJWUsICVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLmhvdXIsc3RlcDoxMixmb3JtYXR0ZXI6bigiJUkgJXAiKX0se2ludGVydmFsOnQuVGltZUludGVydmFsLmRheSxzdGVwOjEsZm9ybWF0dGVyOm4oIiVCICVlLCAlWSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpuKCIlYSAlZSIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwubW9udGgsc3RlcDoxLGZvcm1hdHRlcjpuKCIlQiAlWSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5kYXksc3RlcDoxLGZvcm1hdHRlcjpuKCIlZSIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwubW9udGgsc3RlcDoxLGZvcm1hdHRlcjpuKCIlQiAlWSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5tb250aCxzdGVwOjEsZm9ybWF0dGVyOm4oIiVCIil9LHtpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MSxmb3JtYXR0ZXI6bigiJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwubW9udGgsc3RlcDoxLGZvcm1hdHRlcjpuKCIlYiIpfSx7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjEsZm9ybWF0dGVyOm4oIiVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLm1vbnRoLHN0ZXA6Myxmb3JtYXR0ZXI6bigiJWIiKX0se2ludGVydmFsOnQuVGltZUludGVydmFsLnllYXIsc3RlcDoxLGZvcm1hdHRlcjpuKCIlWSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC5tb250aCxzdGVwOjYsZm9ybWF0dGVyOm4oIiViIil9LHtpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6MSxmb3JtYXR0ZXI6bigiJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjEsZm9ybWF0dGVyOm4oIiVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLnllYXIsc3RlcDoxLGZvcm1hdHRlcjpuKCIleSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6NSxmb3JtYXR0ZXI6bigiJVkiKX1dLFt7aW50ZXJ2YWw6dC5UaW1lSW50ZXJ2YWwueWVhcixzdGVwOjI1LGZvcm1hdHRlcjpuKCIlWSIpfV0sW3tpbnRlcnZhbDp0LlRpbWVJbnRlcnZhbC55ZWFyLHN0ZXA6NTAsZm9ybWF0dGVyOm4oIiVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLnllYXIsc3RlcDoxMDAsZm9ybWF0dGVyOm4oIiVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLnllYXIsc3RlcDoyMDAsZm9ybWF0dGVyOm4oIiVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLnllYXIsc3RlcDo1MDAsZm9ybWF0dGVyOm4oIiVZIil9XSxbe2ludGVydmFsOnQuVGltZUludGVydmFsLnllYXIsc3RlcDoxZTMsZm9ybWF0dGVyOm4oIiVZIil9XV19LHUuX0xPTkdfREFURT1uZXcgRGF0ZSg5OTk5LDgsMjksMTIsNTksOTk5OSksdX0pKGwuQXhpcyk7dC5UaW1lPXV9KShZdnQpLChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPO2UuX19leHBvcnRTdGFyKGtndCx0KSxlLl9fZXhwb3J0U3RhcihIdnQsdCksZS5fX2V4cG9ydFN0YXIoWXZ0LHQpfSkoQWd0KTt2YXIgdHh0PXt9LGV4dD17fSxueHQ9e30saXh0PXt9LHJ4dD17fSxveHQ9e30sYXh0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoYXh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgc3h0PURfdCxseHQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3RoaXMuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb249e30sdGhpcy5fZXZlbnRUYXJnZXQ9ZG9jdW1lbnQsdGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldD17fSx0aGlzLl9jb25uZWN0ZWQ9ITF9cmV0dXJuIHQucHJvdG90eXBlLl9oYXNOb0NhbGxiYWNrcz1mdW5jdGlvbigpe2Zvcih2YXIgdD1PYmplY3Qua2V5cyh0aGlzLl9ldmVudE5hbWVUb0NhbGxiYWNrU2V0KSxlPTA7ZTx0Lmxlbmd0aDtlKyspaWYoMCE9PXRoaXMuX2V2ZW50TmFtZVRvQ2FsbGJhY2tTZXRbdFtlXV0uc2l6ZSlyZXR1cm4hMTtyZXR1cm4hMH0sdC5wcm90b3R5cGUuX2Nvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuX2Nvbm5lY3RlZHx8KE9iamVjdC5rZXlzKHRoaXMuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb24pLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuX2V2ZW50VGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZSx0Ll9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW2VdLCJ3aGVlbCI9PT1lP3twYXNzaXZlOiExfTp2b2lkIDApfSkpLHRoaXMuX2Nvbm5lY3RlZD0hMCl9LHQucHJvdG90eXBlLl9kaXNjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLl9jb25uZWN0ZWQmJnRoaXMuX2hhc05vQ2FsbGJhY2tzKCkmJihPYmplY3Qua2V5cyh0aGlzLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uKS5mb3JFYWNoKChmdW5jdGlvbihlKXt0Ll9ldmVudFRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKGUsdC5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltlXSl9KSksdGhpcy5fY29ubmVjdGVkPSExKX0sdC5wcm90b3R5cGUuX2FkZENhbGxiYWNrRm9yRXZlbnQ9ZnVuY3Rpb24odCxlKXtudWxsPT10aGlzLl9ldmVudE5hbWVUb0NhbGxiYWNrU2V0W3RdJiYodGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFt0XT1uZXcgc3h0LkNhbGxiYWNrU2V0KSx0aGlzLl9ldmVudE5hbWVUb0NhbGxiYWNrU2V0W3RdLmFkZChlKSx0aGlzLl9jb25uZWN0KCl9LHQucHJvdG90eXBlLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50PWZ1bmN0aW9uKHQsZSl7bnVsbCE9dGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFt0XSYmdGhpcy5fZXZlbnROYW1lVG9DYWxsYmFja1NldFt0XS5kZWxldGUoZSksdGhpcy5fZGlzY29ubmVjdCgpfSx0LnByb3RvdHlwZS5fY2FsbENhbGxiYWNrc0ZvckV2ZW50PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW24tMV09YXJndW1lbnRzW25dO3ZhciBpPXRoaXMuX2V2ZW50TmFtZVRvQ2FsbGJhY2tTZXRbdF07bnVsbCE9aSYmaS5jYWxsQ2FsbGJhY2tzLmFwcGx5KGksZSl9LHR9KSgpO2F4dC5EaXNwYXRjaGVyPWx4dCwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KG94dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGN4dD1CTyx1eHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4uX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bZS5fS0VZRE9XTl9FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gbi5fcHJvY2Vzc0tleWRvd24odCl9LG4uX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bZS5fS0VZVVBfRVZFTlRfTkFNRV09ZnVuY3Rpb24odCl7cmV0dXJuIG4uX3Byb2Nlc3NLZXl1cCh0KX0sbn1yZXR1cm4gY3h0Ll9fZXh0ZW5kcyhlLHQpLGUuZ2V0RGlzcGF0Y2hlcj1mdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50W2UuX0RJU1BBVENIRVJfS0VZXTtyZXR1cm4gbnVsbD09dCYmKHQ9bmV3IGUsZG9jdW1lbnRbZS5fRElTUEFUQ0hFUl9LRVldPXQpLHR9LGUucHJvdG90eXBlLl9wcm9jZXNzS2V5ZG93bj1mdW5jdGlvbih0KXt0aGlzLl9jYWxsQ2FsbGJhY2tzRm9yRXZlbnQoZS5fS0VZRE9XTl9FVkVOVF9OQU1FLHQua2V5Q29kZSx0KX0sZS5wcm90b3R5cGUuX3Byb2Nlc3NLZXl1cD1mdW5jdGlvbih0KXt0aGlzLl9jYWxsQ2FsbGJhY2tzRm9yRXZlbnQoZS5fS0VZVVBfRVZFTlRfTkFNRSx0LmtleUNvZGUsdCl9LGUucHJvdG90eXBlLm9uS2V5RG93bj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChlLl9LRVlET1dOX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub2ZmS2V5RG93bj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmVtb3ZlQ2FsbGJhY2tGb3JFdmVudChlLl9LRVlET1dOX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub25LZXlVcD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChlLl9LRVlVUF9FVkVOVF9OQU1FLHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZktleVVwPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KGUuX0tFWVVQX0VWRU5UX05BTUUsdCksdGhpc30sZS5fRElTUEFUQ0hFUl9LRVk9Il9fUGxvdHRhYmxlX0Rpc3BhdGNoZXJfS2V5IixlLl9LRVlET1dOX0VWRU5UX05BTUU9ImtleWRvd24iLGUuX0tFWVVQX0VWRU5UX05BTUU9ImtleXVwIixlfSkoYXh0LkRpc3BhdGNoZXIpO294dC5LZXk9dXh0O3ZhciBoeHQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KGh4dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGR4dD1CTyxweHQ9RF90LGZ4dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShuKXt2YXIgaT10LmNhbGwodGhpcyl8fHRoaXM7aS5fbGFzdE1vdXNlUG9zaXRpb249e3g6LTEseTotMX0saS5fdHJhbnNsYXRvcj1weHQuZ2V0VHJhbnNsYXRvcihuKTt2YXIgcj1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9NT1VTRU1PVkVfRVZFTlRfTkFNRSwicGFnZSIpfTtyZXR1cm4gaS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltlLl9NT1VTRU9WRVJfRVZFTlRfTkFNRV09cixpLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW2UuX01PVVNFTU9WRV9FVkVOVF9OQU1FXT1yLGkuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bZS5fTU9VU0VPVVRfRVZFTlRfTkFNRV09cixpLl9ldmVudFRvUHJvY2Vzc2luZ0Z1bmN0aW9uW2UuX01PVVNFRE9XTl9FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9NT1VTRURPV05fRVZFTlRfTkFNRSl9LGkuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bZS5fTU9VU0VVUF9FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9NT1VTRVVQX0VWRU5UX05BTUUsInBhZ2UiKX0saS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltlLl9XSEVFTF9FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9XSEVFTF9FVkVOVF9OQU1FKX0saS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltlLl9EQkxDTElDS19FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9EQkxDTElDS19FVkVOVF9OQU1FKX0saX1yZXR1cm4gZHh0Ll9fZXh0ZW5kcyhlLHQpLGUuZ2V0RGlzcGF0Y2hlcj1mdW5jdGlvbih0KXt2YXIgbj10LnJvb3QoKS5yb290RWxlbWVudCgpLGk9bltlLl9ESVNQQVRDSEVSX0tFWV07cmV0dXJuIG51bGw9PWkmJihpPW5ldyBlKHQpLG5bZS5fRElTUEFUQ0hFUl9LRVldPWkpLGl9LGUucHJvdG90eXBlLm9uTW91c2VNb3ZlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KGUuX01PVVNFTU9WRV9FVkVOVF9OQU1FLHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZk1vdXNlTW92ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmVtb3ZlQ2FsbGJhY2tGb3JFdmVudChlLl9NT1VTRU1PVkVfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vbk1vdXNlRG93bj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChlLl9NT1VTRURPV05fRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZNb3VzZURvd249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQoZS5fTU9VU0VET1dOX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub25Nb3VzZVVwPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KGUuX01PVVNFVVBfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZNb3VzZVVwPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KGUuX01PVVNFVVBfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vbldoZWVsPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KGUuX1dIRUVMX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub2ZmV2hlZWw9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQoZS5fV0hFRUxfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vbkRibENsaWNrPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KGUuX0RCTENMSUNLX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub2ZmRGJsQ2xpY2s9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQoZS5fREJMQ0xJQ0tfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5fbWVhc3VyZUFuZERpc3BhdGNoPWZ1bmN0aW9uKHQsZSxuLGkpe2lmKHZvaWQgMD09PWkmJihpPSJlbGVtZW50IiksInBhZ2UiIT09aSYmImVsZW1lbnQiIT09aSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2NvcGUgJyIraSsiJywgbXVzdCBiZSAnZWxlbWVudCcgb3IgJ3BhZ2UnIik7aWYoInBhZ2UiPT09aXx8dGhpcy5ldmVudEluc2lkZSh0LGUpKXt2YXIgcj10aGlzLl90cmFuc2xhdG9yLmNvbXB1dGVQb3NpdGlvbihlLmNsaWVudFgsZS5jbGllbnRZKTt0aGlzLl9sYXN0TW91c2VQb3NpdGlvbj1yLHRoaXMuX2NhbGxDYWxsYmFja3NGb3JFdmVudChuLHRoaXMubGFzdE1vdXNlUG9zaXRpb24oKSxlKX19LGUucHJvdG90eXBlLmV2ZW50SW5zaWRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHB4dC5UcmFuc2xhdG9yLmlzRXZlbnRJbnNpZGUodCxlKX0sZS5wcm90b3R5cGUubGFzdE1vdXNlUG9zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbGFzdE1vdXNlUG9zaXRpb259LGUuX0RJU1BBVENIRVJfS0VZPSJfX1Bsb3R0YWJsZV9EaXNwYXRjaGVyX01vdXNlIixlLl9NT1VTRU9WRVJfRVZFTlRfTkFNRT0ibW91c2VvdmVyIixlLl9NT1VTRU1PVkVfRVZFTlRfTkFNRT0ibW91c2Vtb3ZlIixlLl9NT1VTRU9VVF9FVkVOVF9OQU1FPSJtb3VzZW91dCIsZS5fTU9VU0VET1dOX0VWRU5UX05BTUU9Im1vdXNlZG93biIsZS5fTU9VU0VVUF9FVkVOVF9OQU1FPSJtb3VzZXVwIixlLl9XSEVFTF9FVkVOVF9OQU1FPSJ3aGVlbCIsZS5fREJMQ0xJQ0tfRVZFTlRfTkFNRT0iZGJsY2xpY2siLGV9KShheHQuRGlzcGF0Y2hlcik7aHh0Lk1vdXNlPWZ4dDt2YXIgbXh0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShteHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBneHQ9Qk8sX3h0PURfdCx5eHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUobil7dmFyIGk9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBpLl90cmFuc2xhdG9yPV94dC5nZXRUcmFuc2xhdG9yKG4pLGkuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bZS5fVE9VQ0hTVEFSVF9FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9UT1VDSFNUQVJUX0VWRU5UX05BTUUsInBhZ2UiKX0saS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltlLl9UT1VDSE1PVkVfRVZFTlRfTkFNRV09ZnVuY3Rpb24odCl7cmV0dXJuIGkuX21lYXN1cmVBbmREaXNwYXRjaChuLHQsZS5fVE9VQ0hNT1ZFX0VWRU5UX05BTUUsInBhZ2UiKX0saS5fZXZlbnRUb1Byb2Nlc3NpbmdGdW5jdGlvbltlLl9UT1VDSEVORF9FVkVOVF9OQU1FXT1mdW5jdGlvbih0KXtyZXR1cm4gaS5fbWVhc3VyZUFuZERpc3BhdGNoKG4sdCxlLl9UT1VDSEVORF9FVkVOVF9OQU1FLCJwYWdlIil9LGkuX2V2ZW50VG9Qcm9jZXNzaW5nRnVuY3Rpb25bZS5fVE9VQ0hDQU5DRUxfRVZFTlRfTkFNRV09ZnVuY3Rpb24odCl7cmV0dXJuIGkuX21lYXN1cmVBbmREaXNwYXRjaChuLHQsZS5fVE9VQ0hDQU5DRUxfRVZFTlRfTkFNRSwicGFnZSIpfSxpfXJldHVybiBneHQuX19leHRlbmRzKGUsdCksZS5nZXREaXNwYXRjaGVyPWZ1bmN0aW9uKHQpe3ZhciBuPXQucm9vdCgpLnJvb3RFbGVtZW50KCksaT1uW2UuX0RJU1BBVENIRVJfS0VZXTtyZXR1cm4gbnVsbD09aSYmKGk9bmV3IGUodCksbltlLl9ESVNQQVRDSEVSX0tFWV09aSksaX0sZS5wcm90b3R5cGUub25Ub3VjaFN0YXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9hZGRDYWxsYmFja0ZvckV2ZW50KGUuX1RPVUNIU1RBUlRfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZUb3VjaFN0YXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KGUuX1RPVUNIU1RBUlRfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vblRvdWNoTW92ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChlLl9UT1VDSE1PVkVfRVZFTlRfTkFNRSx0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZUb3VjaE1vdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3JlbW92ZUNhbGxiYWNrRm9yRXZlbnQoZS5fVE9VQ0hNT1ZFX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub25Ub3VjaEVuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChlLl9UT1VDSEVORF9FVkVOVF9OQU1FLHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZlRvdWNoRW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KGUuX1RPVUNIRU5EX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUub25Ub3VjaENhbmNlbD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQ2FsbGJhY2tGb3JFdmVudChlLl9UT1VDSENBTkNFTF9FVkVOVF9OQU1FLHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZlRvdWNoQ2FuY2VsPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yZW1vdmVDYWxsYmFja0ZvckV2ZW50KGUuX1RPVUNIQ0FOQ0VMX0VWRU5UX05BTUUsdCksdGhpc30sZS5wcm90b3R5cGUuX21lYXN1cmVBbmREaXNwYXRjaD1mdW5jdGlvbih0LGUsbixpKXtpZih2b2lkIDA9PT1pJiYoaT0iZWxlbWVudCIpLCJwYWdlIiE9PWkmJiJlbGVtZW50IiE9PWkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHNjb3BlICciK2krIicsIG11c3QgYmUgJ2VsZW1lbnQnIG9yICdwYWdlJyIpO2lmKCJlbGVtZW50IiE9PWl8fHRoaXMuZXZlbnRJbnNpZGUodCxlKSl7Zm9yKHZhciByPWUuY2hhbmdlZFRvdWNoZXMsbz17fSxhPVtdLHM9MDtzPHIubGVuZ3RoO3MrKyl7dmFyIGw9cltzXSxjPWwuaWRlbnRpZmllcix1PXRoaXMuX3RyYW5zbGF0b3IuY29tcHV0ZVBvc2l0aW9uKGwuY2xpZW50WCxsLmNsaWVudFkpO251bGwhPXUmJihvW2NdPXUsYS5wdXNoKGMpKX1hLmxlbmd0aD4wJiZ0aGlzLl9jYWxsQ2FsbGJhY2tzRm9yRXZlbnQobixhLG8sZSl9fSxlLnByb3RvdHlwZS5ldmVudEluc2lkZT1mdW5jdGlvbih0LGUpe3JldHVybiBfeHQuVHJhbnNsYXRvci5pc0V2ZW50SW5zaWRlKHQsZSl9LGUuX0RJU1BBVENIRVJfS0VZPSJfX1Bsb3R0YWJsZV9EaXNwYXRjaGVyX1RvdWNoIixlLl9UT1VDSFNUQVJUX0VWRU5UX05BTUU9InRvdWNoc3RhcnQiLGUuX1RPVUNITU9WRV9FVkVOVF9OQU1FPSJ0b3VjaG1vdmUiLGUuX1RPVUNIRU5EX0VWRU5UX05BTUU9InRvdWNoZW5kIixlLl9UT1VDSENBTkNFTF9FVkVOVF9OQU1FPSJ0b3VjaGNhbmNlbCIsZX0pKGF4dC5EaXNwYXRjaGVyKTtteHQuVG91Y2g9eXh0LChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPO2UuX19leHBvcnRTdGFyKG94dCx0KSxlLl9fZXhwb3J0U3RhcihoeHQsdCksZS5fX2V4cG9ydFN0YXIobXh0LHQpfSkocnh0KTt2YXIgdnh0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eSh2eHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBieHQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3ZhciB0PXRoaXM7dGhpcy5fYW5jaG9yQ2FsbGJhY2s9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuX2FuY2hvcihlKX0sdGhpcy5fZW5hYmxlZD0hMH1yZXR1cm4gdC5wcm90b3R5cGUuYXR0YWNoVG89ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2Rpc2Nvbm5lY3QoKSx0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvPXQsdGhpcy5fY29ubmVjdCgpLHRoaXN9LHQucHJvdG90eXBlLmRldGFjaEZyb209ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZGV0YWNoKCl9LHQucHJvdG90eXBlLmRldGFjaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9kaXNjb25uZWN0KCksdGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbz1udWxsLHRoaXN9LHQucHJvdG90eXBlLmVuYWJsZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZW5hYmxlZDoodGhpcy5fZW5hYmxlZD10LHRoaXMuX2VuYWJsZWQ/dGhpcy5fY29ubmVjdCgpOnRoaXMuX2Rpc2Nvbm5lY3QoKSx0aGlzKX0sdC5wcm90b3R5cGUuX2FuY2hvcj1mdW5jdGlvbih0KXt0aGlzLl9pc0FuY2hvcmVkPSEwfSx0LnByb3RvdHlwZS5fdW5hbmNob3I9ZnVuY3Rpb24oKXt0aGlzLl9pc0FuY2hvcmVkPSExfSx0LnByb3RvdHlwZS5fdHJhbnNsYXRlVG9Db21wb25lbnRTcGFjZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLm9yaWdpblRvUm9vdCgpO3JldHVybnt4OnQueC1lLngseTp0LnktZS55fX0sdC5wcm90b3R5cGUuX2lzSW5zaWRlQ29tcG9uZW50PWZ1bmN0aW9uKHQpe3JldHVybiAwPD10LngmJjA8PXQueSYmdC54PD10aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvLndpZHRoKCkmJnQueTw9dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby5oZWlnaHQoKX0sdC5wcm90b3R5cGUuX2Nvbm5lY3Q9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQoKSYmbnVsbCE9dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyYmIXRoaXMuX2lzQW5jaG9yZWQmJnRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8ub25BbmNob3IodGhpcy5fYW5jaG9yQ2FsbGJhY2spfSx0LnByb3RvdHlwZS5fZGlzY29ubmVjdD1mdW5jdGlvbigpe3RoaXMuX2lzQW5jaG9yZWQmJnRoaXMuX3VuYW5jaG9yKCksbnVsbCE9dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyYmdGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby5vZmZBbmNob3IodGhpcy5fYW5jaG9yQ2FsbGJhY2spfSx0fSkoKTt2eHQuSW50ZXJhY3Rpb249Ynh0LAovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoaXh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgeHh0PUJPLHd4dD1yeHQsU3h0PURfdCxNeHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT1udWxsIT09dCYmdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7cmV0dXJuIGUuX2NsaWNrZWREb3duPSExLGUuX2RvdWJsZUNsaWNraW5nPSExLGUuX29uQ2xpY2tDYWxsYmFja3M9bmV3IFN4dC5DYWxsYmFja1NldCxlLl9vbkRvdWJsZUNsaWNrQ2FsbGJhY2tzPW5ldyBTeHQuQ2FsbGJhY2tTZXQsZS5fbW91c2VEb3duQ2FsbGJhY2s9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5faGFuZGxlQ2xpY2tEb3duKHQsbil9LGUuX21vdXNlVXBDYWxsYmFjaz1mdW5jdGlvbih0LG4pe3JldHVybiBlLl9oYW5kbGVDbGlja1VwKHQsbil9LGUuX2RibENsaWNrQ2FsbGJhY2s9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5faGFuZGxlRGJsQ2xpY2sodCxuKX0sZS5fdG91Y2hTdGFydENhbGxiYWNrPWZ1bmN0aW9uKHQsbixpKXtyZXR1cm4gZS5faGFuZGxlQ2xpY2tEb3duKG5bdFswXV0saSl9LGUuX3RvdWNoRW5kQ2FsbGJhY2s9ZnVuY3Rpb24odCxuLGkpe3JldHVybiBlLl9oYW5kbGVDbGlja1VwKG5bdFswXV0saSl9LGUuX3RvdWNoQ2FuY2VsQ2FsbGJhY2s9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5fY2xpY2tlZERvd249ITF9LGV9cmV0dXJuIHh4dC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fYW5jaG9yPWZ1bmN0aW9uKGUpe3QucHJvdG90eXBlLl9hbmNob3IuY2FsbCh0aGlzLGUpLHRoaXMuX21vdXNlRGlzcGF0Y2hlcj13eHQuTW91c2UuZ2V0RGlzcGF0Y2hlcihlKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub25Nb3VzZURvd24odGhpcy5fbW91c2VEb3duQ2FsbGJhY2spLHRoaXMuX21vdXNlRGlzcGF0Y2hlci5vbk1vdXNlVXAodGhpcy5fbW91c2VVcENhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub25EYmxDbGljayh0aGlzLl9kYmxDbGlja0NhbGxiYWNrKSx0aGlzLl90b3VjaERpc3BhdGNoZXI9d3h0LlRvdWNoLmdldERpc3BhdGNoZXIoZSksdGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hTdGFydCh0aGlzLl90b3VjaFN0YXJ0Q2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoRW5kKHRoaXMuX3RvdWNoRW5kQ2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoQ2FuY2VsKHRoaXMuX3RvdWNoQ2FuY2VsQ2FsbGJhY2spfSxlLnByb3RvdHlwZS5fdW5hbmNob3I9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fdW5hbmNob3IuY2FsbCh0aGlzKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub2ZmTW91c2VEb3duKHRoaXMuX21vdXNlRG93bkNhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub2ZmTW91c2VVcCh0aGlzLl9tb3VzZVVwQ2FsbGJhY2spLHRoaXMuX21vdXNlRGlzcGF0Y2hlci5vZmZEYmxDbGljayh0aGlzLl9kYmxDbGlja0NhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXI9bnVsbCx0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hTdGFydCh0aGlzLl90b3VjaFN0YXJ0Q2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaEVuZCh0aGlzLl90b3VjaEVuZENhbGxiYWNrKSx0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hDYW5jZWwodGhpcy5fdG91Y2hDYW5jZWxDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyPW51bGx9LGUucHJvdG90eXBlLl9oYW5kbGVDbGlja0Rvd249ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHQpO3RoaXMuX2lzSW5zaWRlQ29tcG9uZW50KG4pJiYodGhpcy5fY2xpY2tlZERvd249ITAsdGhpcy5fY2xpY2tlZFBvaW50PW4pfSxlLnByb3RvdHlwZS5faGFuZGxlQ2xpY2tVcD1mdW5jdGlvbih0LG4pe3ZhciBpPXRoaXMscj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHQpO3RoaXMuX2NsaWNrZWREb3duJiZlLl9wb2ludHNFcXVhbChyLHRoaXMuX2NsaWNrZWRQb2ludCkmJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aS5fZG91YmxlQ2xpY2tpbmd8fGkuX29uQ2xpY2tDYWxsYmFja3MuY2FsbENhbGxiYWNrcyhyLG4pfSksMCksdGhpcy5fY2xpY2tlZERvd249ITF9LGUucHJvdG90eXBlLl9oYW5kbGVEYmxDbGljaz1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMsaT10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHQpO3RoaXMuX2RvdWJsZUNsaWNraW5nPSEwLHRoaXMuX29uRG91YmxlQ2xpY2tDYWxsYmFja3MuY2FsbENhbGxiYWNrcyhpLGUpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIG4uX2RvdWJsZUNsaWNraW5nPSExfSksMCl9LGUuX3BvaW50c0VxdWFsPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQueD09PWUueCYmdC55PT09ZS55fSxlLnByb3RvdHlwZS5vbkNsaWNrPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9vbkNsaWNrQ2FsbGJhY2tzLmFkZCh0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZDbGljaz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fb25DbGlja0NhbGxiYWNrcy5kZWxldGUodCksdGhpc30sZS5wcm90b3R5cGUub25Eb3VibGVDbGljaz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fb25Eb3VibGVDbGlja0NhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmRG91YmxlQ2xpY2s9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX29uRG91YmxlQ2xpY2tDYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LGV9KSh2eHQuSW50ZXJhY3Rpb24pO2l4dC5DbGljaz1NeHQ7dmFyIEV4dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoRXh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgVHh0PUJPLEN4dD1yeHQsQXh0PURfdCxreHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUobil7dmFyIGk9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBpLl9kcmFnZ2luZz0hMSxpLl9jb25zdHJhaW5lZFRvQ29tcG9uZW50PSEwLGkuX21vdXNlRmlsdGVyPWUuX0RFRkFVTFRfTU9VU0VfRklMVEVSLGkuX2RyYWdTdGFydENhbGxiYWNrcz1uZXcgQXh0LkNhbGxiYWNrU2V0LGkuX2RyYWdDYWxsYmFja3M9bmV3IEF4dC5DYWxsYmFja1NldCxpLl9kcmFnRW5kQ2FsbGJhY2tzPW5ldyBBeHQuQ2FsbGJhY2tTZXQsaS5fbW91c2VEb3duQ2FsbGJhY2s9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaS5fc3RhcnREcmFnKHQsZSl9LGkuX21vdXNlTW92ZUNhbGxiYWNrPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkuX2RvRHJhZyh0LGUpfSxpLl9tb3VzZVVwQ2FsbGJhY2s9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaS5fZW5kRHJhZyh0LGUpfSxpLl90b3VjaFN0YXJ0Q2FsbGJhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBpLl9zdGFydERyYWcoZVt0WzBdXSxuKX0saS5fdG91Y2hNb3ZlQ2FsbGJhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBpLl9kb0RyYWcoZVt0WzBdXSxuKX0saS5fdG91Y2hFbmRDYWxsYmFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGkuX2VuZERyYWcoZVt0WzBdXSxuKX0saS5fbW91c2VCdXR0b249dm9pZCAwIT09bj9uOjAsaX1yZXR1cm4gVHh0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24oZSl7dC5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsZSksdGhpcy5fbW91c2VEaXNwYXRjaGVyPUN4dC5Nb3VzZS5nZXREaXNwYXRjaGVyKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8pLHRoaXMuX21vdXNlRGlzcGF0Y2hlci5vbk1vdXNlRG93bih0aGlzLl9tb3VzZURvd25DYWxsYmFjayksdGhpcy5fbW91c2VEaXNwYXRjaGVyLm9uTW91c2VNb3ZlKHRoaXMuX21vdXNlTW92ZUNhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub25Nb3VzZVVwKHRoaXMuX21vdXNlVXBDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyPUN4dC5Ub3VjaC5nZXREaXNwYXRjaGVyKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8pLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoU3RhcnQodGhpcy5fdG91Y2hTdGFydENhbGxiYWNrKSx0aGlzLl90b3VjaERpc3BhdGNoZXIub25Ub3VjaE1vdmUodGhpcy5fdG91Y2hNb3ZlQ2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoRW5kKHRoaXMuX3RvdWNoRW5kQ2FsbGJhY2spfSxlLnByb3RvdHlwZS5fdW5hbmNob3I9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fdW5hbmNob3IuY2FsbCh0aGlzKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub2ZmTW91c2VEb3duKHRoaXMuX21vdXNlRG93bkNhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub2ZmTW91c2VNb3ZlKHRoaXMuX21vdXNlTW92ZUNhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub2ZmTW91c2VVcCh0aGlzLl9tb3VzZVVwQ2FsbGJhY2spLHRoaXMuX21vdXNlRGlzcGF0Y2hlcj1udWxsLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaFN0YXJ0KHRoaXMuX3RvdWNoU3RhcnRDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9mZlRvdWNoTW92ZSh0aGlzLl90b3VjaE1vdmVDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9mZlRvdWNoRW5kKHRoaXMuX3RvdWNoRW5kQ2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlcj1udWxsfSxlLnByb3RvdHlwZS5fdHJhbnNsYXRlQW5kQ29uc3RyYWluPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3RyYW5zbGF0ZVRvQ29tcG9uZW50U3BhY2UodCk7cmV0dXJuIHRoaXMuX2NvbnN0cmFpbmVkVG9Db21wb25lbnQ/e3g6QXh0Lk1hdGguY2xhbXAoZS54LDAsdGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby53aWR0aCgpKSx5OkF4dC5NYXRoLmNsYW1wKGUueSwwLHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8uaGVpZ2h0KCkpfTplfSxlLnByb3RvdHlwZS5fc3RhcnREcmFnPWZ1bmN0aW9uKHQsZSl7aWYoIShlIGluc3RhbmNlb2YgTW91c2VFdmVudCl8fHRoaXMuX21vdXNlRmlsdGVyKGUpKXt2YXIgbj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHQpO3RoaXMuX2lzSW5zaWRlQ29tcG9uZW50KG4pJiYoZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2RyYWdnaW5nPSEwLHRoaXMuX2RyYWdPcmlnaW49bix0aGlzLl9kcmFnU3RhcnRDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh0aGlzLl9kcmFnT3JpZ2luKSl9fSxlLnByb3RvdHlwZS5fZG9EcmFnPWZ1bmN0aW9uKHQsZSl7dGhpcy5fZHJhZ2dpbmcmJnRoaXMuX2RyYWdDYWxsYmFja3MuY2FsbENhbGxiYWNrcyh0aGlzLl9kcmFnT3JpZ2luLHRoaXMuX3RyYW5zbGF0ZUFuZENvbnN0cmFpbih0KSl9LGUucHJvdG90eXBlLl9lbmREcmFnPWZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIE1vdXNlRXZlbnQmJmUuYnV0dG9uIT09dGhpcy5fbW91c2VCdXR0b258fHRoaXMuX2RyYWdnaW5nJiYodGhpcy5fZHJhZ2dpbmc9ITEsdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKHRoaXMuX2RyYWdPcmlnaW4sdGhpcy5fdHJhbnNsYXRlQW5kQ29uc3RyYWluKHQpKSl9LGUucHJvdG90eXBlLmNvbnN0cmFpbmVkVG9Db21wb25lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fY29uc3RyYWluZWRUb0NvbXBvbmVudDoodGhpcy5fY29uc3RyYWluZWRUb0NvbXBvbmVudD10LHRoaXMpfSxlLnByb3RvdHlwZS5tb3VzZUZpbHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5fbW91c2VGaWx0ZXI6KHRoaXMuX21vdXNlRmlsdGVyPXQsdGhpcyl9LGUucHJvdG90eXBlLm9uRHJhZ1N0YXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kcmFnU3RhcnRDYWxsYmFja3MuYWRkKHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZkRyYWdTdGFydD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlLnByb3RvdHlwZS5vbkRyYWc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdDYWxsYmFja3MuYWRkKHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZkRyYWc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdDYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LGUucHJvdG90eXBlLm9uRHJhZ0VuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmRHJhZ0VuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5kZWxldGUodCksdGhpc30sZS5fREVGQVVMVF9NT1VTRV9GSUxURVI9ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10LmJ1dHRvbn0sZX0pKHZ4dC5JbnRlcmFjdGlvbik7RXh0LkRyYWc9a3h0O3ZhciBMeHQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEx4dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFB4dD1CTyxOeHQ9cnh0LEl4dD1EX3QsUnh0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9bnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO3JldHVybiBlLl9rZXlQcmVzc0NhbGxiYWNrcz17fSxlLl9rZXlSZWxlYXNlQ2FsbGJhY2tzPXt9LGUuX21vdXNlTW92ZUNhbGxiYWNrPWZ1bmN0aW9uKHQpe3JldHVybiExfSxlLl9kb3duZWRLZXlzPW5ldyBJeHQuU2V0LGUuX2tleURvd25DYWxsYmFjaz1mdW5jdGlvbih0LG4pe3JldHVybiBlLl9oYW5kbGVLZXlEb3duRXZlbnQodCxuKX0sZS5fa2V5VXBDYWxsYmFjaz1mdW5jdGlvbih0KXtyZXR1cm4gZS5faGFuZGxlS2V5VXBFdmVudCh0KX0sZX1yZXR1cm4gUHh0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24oZSl7dC5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsZSksdGhpcy5fcG9zaXRpb25EaXNwYXRjaGVyPU54dC5Nb3VzZS5nZXREaXNwYXRjaGVyKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8pLHRoaXMuX3Bvc2l0aW9uRGlzcGF0Y2hlci5vbk1vdXNlTW92ZSh0aGlzLl9tb3VzZU1vdmVDYWxsYmFjayksdGhpcy5fa2V5RGlzcGF0Y2hlcj1OeHQuS2V5LmdldERpc3BhdGNoZXIoKSx0aGlzLl9rZXlEaXNwYXRjaGVyLm9uS2V5RG93bih0aGlzLl9rZXlEb3duQ2FsbGJhY2spLHRoaXMuX2tleURpc3BhdGNoZXIub25LZXlVcCh0aGlzLl9rZXlVcENhbGxiYWNrKX0sZS5wcm90b3R5cGUuX3VuYW5jaG9yPWZ1bmN0aW9uKCl7dC5wcm90b3R5cGUuX3VuYW5jaG9yLmNhbGwodGhpcyksdGhpcy5fcG9zaXRpb25EaXNwYXRjaGVyLm9mZk1vdXNlTW92ZSh0aGlzLl9tb3VzZU1vdmVDYWxsYmFjayksdGhpcy5fcG9zaXRpb25EaXNwYXRjaGVyPW51bGwsdGhpcy5fa2V5RGlzcGF0Y2hlci5vZmZLZXlEb3duKHRoaXMuX2tleURvd25DYWxsYmFjayksdGhpcy5fa2V5RGlzcGF0Y2hlci5vZmZLZXlVcCh0aGlzLl9rZXlVcENhbGxiYWNrKSx0aGlzLl9rZXlEaXNwYXRjaGVyPW51bGx9LGUucHJvdG90eXBlLl9oYW5kbGVLZXlEb3duRXZlbnQ9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHRoaXMuX3Bvc2l0aW9uRGlzcGF0Y2hlci5sYXN0TW91c2VQb3NpdGlvbigpKTt0aGlzLl9pc0luc2lkZUNvbXBvbmVudChuKSYmIWUucmVwZWF0JiYodGhpcy5fa2V5UHJlc3NDYWxsYmFja3NbdF0mJnRoaXMuX2tleVByZXNzQ2FsbGJhY2tzW3RdLmNhbGxDYWxsYmFja3ModCksdGhpcy5fZG93bmVkS2V5cy5hZGQodCkpfSxlLnByb3RvdHlwZS5faGFuZGxlS2V5VXBFdmVudD1mdW5jdGlvbih0KXt0aGlzLl9kb3duZWRLZXlzLmhhcyh0KSYmdGhpcy5fa2V5UmVsZWFzZUNhbGxiYWNrc1t0XSYmdGhpcy5fa2V5UmVsZWFzZUNhbGxiYWNrc1t0XS5jYWxsQ2FsbGJhY2tzKHQpLHRoaXMuX2Rvd25lZEtleXMuZGVsZXRlKHQpfSxlLnByb3RvdHlwZS5vbktleVByZXNzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2tleVByZXNzQ2FsbGJhY2tzW3RdfHwodGhpcy5fa2V5UHJlc3NDYWxsYmFja3NbdF09bmV3IEl4dC5DYWxsYmFja1NldCksdGhpcy5fa2V5UHJlc3NDYWxsYmFja3NbdF0uYWRkKGUpLHRoaXN9LGUucHJvdG90eXBlLm9mZktleVByZXNzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2tleVByZXNzQ2FsbGJhY2tzW3RdLmRlbGV0ZShlKSwwPT09dGhpcy5fa2V5UHJlc3NDYWxsYmFja3NbdF0uc2l6ZSYmZGVsZXRlIHRoaXMuX2tleVByZXNzQ2FsbGJhY2tzW3RdLHRoaXN9LGUucHJvdG90eXBlLm9uS2V5UmVsZWFzZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9rZXlSZWxlYXNlQ2FsbGJhY2tzW3RdfHwodGhpcy5fa2V5UmVsZWFzZUNhbGxiYWNrc1t0XT1uZXcgSXh0LkNhbGxiYWNrU2V0KSx0aGlzLl9rZXlSZWxlYXNlQ2FsbGJhY2tzW3RdLmFkZChlKSx0aGlzfSxlLnByb3RvdHlwZS5vZmZLZXlSZWxlYXNlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2tleVJlbGVhc2VDYWxsYmFja3NbdF0uZGVsZXRlKGUpLDA9PT10aGlzLl9rZXlSZWxlYXNlQ2FsbGJhY2tzW3RdLnNpemUmJmRlbGV0ZSB0aGlzLl9rZXlSZWxlYXNlQ2FsbGJhY2tzW3RdLHRoaXN9LGV9KSh2eHQuSW50ZXJhY3Rpb24pO0x4dC5LZXk9Unh0O3ZhciBPeHQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KE94dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHp4dD1CTyxEeHQ9d3B0LEJ4dD1yeHQsSHh0PVh2dCxGeHQ9RF90LFZ4dD1ueHQsVXh0PXRidCxqeHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxuKXt2YXIgaT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGkuX3doZWVsRmlsdGVyPWZ1bmN0aW9uKHQpe3JldHVybiEwfSxpLl93aGVlbENhbGxiYWNrPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkuX2hhbmRsZVdoZWVsRXZlbnQodCxlKX0saS5fdG91Y2hTdGFydENhbGxiYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gaS5faGFuZGxlVG91Y2hTdGFydCh0LGUsbil9LGkuX3RvdWNoTW92ZUNhbGxiYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gaS5faGFuZGxlUGluY2godCxlLG4pfSxpLl90b3VjaEVuZENhbGxiYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gaS5faGFuZGxlVG91Y2hFbmQodCxlLG4pfSxpLl90b3VjaENhbmNlbENhbGxiYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gaS5faGFuZGxlVG91Y2hFbmQodCxlLG4pfSxpLl9wYW5FbmRDYWxsYmFja3M9bmV3IEZ4dC5DYWxsYmFja1NldCxpLl96b29tRW5kQ2FsbGJhY2tzPW5ldyBGeHQuQ2FsbGJhY2tTZXQsaS5fcGFuWm9vbVVwZGF0ZUNhbGxiYWNrcz1uZXcgRnh0LkNhbGxiYWNrU2V0LGkuX3hTY2FsZXM9bmV3IEZ4dC5TZXQsaS5feVNjYWxlcz1uZXcgRnh0LlNldCxpLl9kcmFnSW50ZXJhY3Rpb249bmV3IFZ4dC5EcmFnLGkuX3NldHVwRHJhZ0ludGVyYWN0aW9uKCksaS5fdG91Y2hJZHM9RHh0Lm1hcCgpLGkuX21pbkRvbWFpbkV4dGVudHM9bmV3IEZ4dC5NYXAsaS5fbWF4RG9tYWluRXh0ZW50cz1uZXcgRnh0Lk1hcCxpLl9taW5Eb21haW5WYWx1ZXM9bmV3IEZ4dC5NYXAsaS5fbWF4RG9tYWluVmFsdWVzPW5ldyBGeHQuTWFwLG51bGwhPWUmJmkuYWRkWFNjYWxlKGUpLG51bGwhPW4mJmkuYWRkWVNjYWxlKG4pLGl9cmV0dXJuIHp4dC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5kcmFnSW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhZ0ludGVyYWN0aW9ufSxlLnByb3RvdHlwZS53aGVlbEZpbHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5fd2hlZWxGaWx0ZXI6KHRoaXMuX3doZWVsRmlsdGVyPXQsdGhpcyl9LGUucHJvdG90eXBlLnBhbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMueFNjYWxlcygpLmZvckVhY2goKGZ1bmN0aW9uKG4pe24ucGFuKGUuX2NvbnN0cmFpbmVkVHJhbnNsYXRpb24obix0LngpKX0pKSx0aGlzLnlTY2FsZXMoKS5mb3JFYWNoKChmdW5jdGlvbihuKXtuLnBhbihlLl9jb25zdHJhaW5lZFRyYW5zbGF0aW9uKG4sdC55KSl9KSksdGhpcy5fcGFuWm9vbVVwZGF0ZUNhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKCl9LGUucHJvdG90eXBlLnpvb209ZnVuY3Rpb24odCxlLG4pe3ZhciBpLHIsbz10aGlzO3JldHVybiB2b2lkIDA9PT1uJiYobj0hMCksbnVsbCE9ZSYmKGk9ZS54LHI9ZS55LG4mJih0aGlzLnhTY2FsZXMoKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1vLl9jb25zdHJhaW5lZFpvb20oZSx0LGkpO2k9bi5jZW50ZXJQb2ludCx0PW4uem9vbUFtb3VudH0pKSx0aGlzLnlTY2FsZXMoKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj1vLl9jb25zdHJhaW5lZFpvb20oZSx0LHIpO3I9bi5jZW50ZXJQb2ludCx0PW4uem9vbUFtb3VudH0pKSkpLHRoaXMueFNjYWxlcygpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPWUucmFuZ2UoKTtlLnpvb20odCxudWxsPT1pPyhuWzFdK25bMF0pLzI6aSl9KSksdGhpcy55U2NhbGVzKCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49ZS5yYW5nZSgpO2Uuem9vbSh0LG51bGw9PXI/KG5bMV0rblswXSkvMjpyKX0pKSx0aGlzLl9wYW5ab29tVXBkYXRlQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MoKSx7em9vbUFtb3VudDp0LGNlbnRlclZhbHVlOntjZW50ZXJYOmksY2VudGVyWTpyfX19LGUucHJvdG90eXBlLl9hbmNob3I9ZnVuY3Rpb24oZSl7dC5wcm90b3R5cGUuX2FuY2hvci5jYWxsKHRoaXMsZSksdGhpcy5fZHJhZ0ludGVyYWN0aW9uLmF0dGFjaFRvKGUpLHRoaXMuX21vdXNlRGlzcGF0Y2hlcj1CeHQuTW91c2UuZ2V0RGlzcGF0Y2hlcih0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub25XaGVlbCh0aGlzLl93aGVlbENhbGxiYWNrKSx0aGlzLl90b3VjaERpc3BhdGNoZXI9Qnh0LlRvdWNoLmdldERpc3BhdGNoZXIodGhpcy5fY29tcG9uZW50QXR0YWNoZWRUbyksdGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hTdGFydCh0aGlzLl90b3VjaFN0YXJ0Q2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vblRvdWNoTW92ZSh0aGlzLl90b3VjaE1vdmVDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hFbmQodGhpcy5fdG91Y2hFbmRDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hDYW5jZWwodGhpcy5fdG91Y2hDYW5jZWxDYWxsYmFjayl9LGUucHJvdG90eXBlLl91bmFuY2hvcj1mdW5jdGlvbigpe3QucHJvdG90eXBlLl91bmFuY2hvci5jYWxsKHRoaXMpLHRoaXMuX21vdXNlRGlzcGF0Y2hlci5vZmZXaGVlbCh0aGlzLl93aGVlbENhbGxiYWNrKSx0aGlzLl9tb3VzZURpc3BhdGNoZXI9bnVsbCx0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hTdGFydCh0aGlzLl90b3VjaFN0YXJ0Q2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaE1vdmUodGhpcy5fdG91Y2hNb3ZlQ2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaEVuZCh0aGlzLl90b3VjaEVuZENhbGxiYWNrKSx0aGlzLl90b3VjaERpc3BhdGNoZXIub2ZmVG91Y2hDYW5jZWwodGhpcy5fdG91Y2hDYW5jZWxDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyPW51bGwsdGhpcy5fZHJhZ0ludGVyYWN0aW9uLmRldGFjaCgpfSxlLnByb3RvdHlwZS5faGFuZGxlVG91Y2hTdGFydD1mdW5jdGlvbih0LGUsbil7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aCYmdGhpcy5fdG91Y2hJZHMuc2l6ZSgpPDI7aSsrKXt2YXIgcj10W2ldO3RoaXMuX3RvdWNoSWRzLnNldChyLnRvU3RyaW5nKCksdGhpcy5fdHJhbnNsYXRlVG9Db21wb25lbnRTcGFjZShlW3JdKSl9fSxlLnByb3RvdHlwZS5faGFuZGxlUGluY2g9ZnVuY3Rpb24odCxuLGkpe3ZhciByPXRoaXM7aWYoISh0aGlzLl90b3VjaElkcy5zaXplKCk8Mikpe3ZhciBvPXRoaXMuX3RvdWNoSWRzLnZhbHVlcygpO2lmKHRoaXMuX2lzSW5zaWRlQ29tcG9uZW50KHRoaXMuX3RyYW5zbGF0ZVRvQ29tcG9uZW50U3BhY2Uob1swXSkpJiZ0aGlzLl9pc0luc2lkZUNvbXBvbmVudCh0aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKG9bMV0pKSl7dmFyIGE9ZS5fcG9pbnREaXN0YW5jZShvWzBdLG9bMV0pO2lmKDAhPT1hKXt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3IuX3RvdWNoSWRzLmhhcyh0LnRvU3RyaW5nKCkpJiZyLl90b3VjaElkcy5zZXQodC50b1N0cmluZygpLHIuX3RyYW5zbGF0ZVRvQ29tcG9uZW50U3BhY2Uoblt0XSkpfSkpO3ZhciBzPXRoaXMuX3RvdWNoSWRzLnZhbHVlcygpLGw9ZS5fcG9pbnREaXN0YW5jZShzWzBdLHNbMV0pO2lmKDAhPT1sKXt2YXIgYz1hL2wsdT1zLm1hcCgoZnVuY3Rpb24odCxlKXtyZXR1cm57eDoodC54LW9bZV0ueCkvYyx5Oih0Lnktb1tlXS55KS9jfX0pKSxoPWUuY2VudGVyUG9pbnQob1swXSxvWzFdKSxkPXRoaXMuem9vbShjLGgpLHA9ZC5jZW50ZXJWYWx1ZSxmPWQuem9vbUFtb3VudCxtPXAuY2VudGVyWCxnPXAuY2VudGVyWSxfPW8ubWFwKChmdW5jdGlvbih0LGUpe3JldHVybnt4OnVbZV0ueCpmK3QueCx5OnVbZV0ueSpmK3QueX19KSk7dGhpcy5wYW4oe3g6bS0oX1swXS54K19bMV0ueCkvMix5OmctKF9bMF0ueStfWzFdLnkpLzJ9KX19fX19LGUuY2VudGVyUG9pbnQ9ZnVuY3Rpb24odCxlKXt2YXIgbj1NYXRoLm1pbih0LngsZS54KSxpPU1hdGgubWF4KHQueCxlLngpLHI9TWF0aC5taW4odC55LGUueSk7cmV0dXJue3g6KG4raSkvMix5OihNYXRoLm1heCh0LnksZS55KStyKS8yfX0sZS5fcG9pbnREaXN0YW5jZT1mdW5jdGlvbih0LGUpe3ZhciBuPU1hdGgubWluKHQueCxlLngpLGk9TWF0aC5tYXgodC54LGUueCkscj1NYXRoLm1pbih0LnksZS55KSxvPU1hdGgubWF4KHQueSxlLnkpO3JldHVybiBNYXRoLnNxcnQoTWF0aC5wb3coaS1uLDIpK01hdGgucG93KG8tciwyKSl9LGUucHJvdG90eXBlLl9oYW5kbGVUb3VjaEVuZD1mdW5jdGlvbih0LGUsbil7dmFyIGk9dGhpczt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2kuX3RvdWNoSWRzLnJlbW92ZSh0LnRvU3RyaW5nKCkpfSkpLHRoaXMuX3RvdWNoSWRzLnNpemUoKT4wJiZ0aGlzLl96b29tRW5kQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MoKX0sZS5wcm90b3R5cGUuX2hhbmRsZVdoZWVsRXZlbnQ9ZnVuY3Rpb24odCxuKXtpZih0aGlzLl93aGVlbEZpbHRlcihuKSl7dmFyIGk9dGhpcy5fdHJhbnNsYXRlVG9Db21wb25lbnRTcGFjZSh0KTtpZih0aGlzLl9pc0luc2lkZUNvbXBvbmVudChpKSl7bi5wcmV2ZW50RGVmYXVsdCgpO3ZhciByPU1hdGgucG93KDIsLjAwMiooKDAhPT1uLmRlbHRhWT9uLmRlbHRhWTpuLmRlbHRhWCkqKG4uZGVsdGFNb2RlP2UuX1BJWEVMU19QRVJfTElORToxKSkpO3RoaXMuem9vbShyLGkpLHRoaXMuX3pvb21FbmRDYWxsYmFja3MuY2FsbENhbGxiYWNrcygpfX19LGUucHJvdG90eXBlLl9jb25zdHJhaW5lZFpvb209ZnVuY3Rpb24odCxlLG4pe3JldHVybiBVeHQuY29uc3RyYWluZWRab29tKHQsZSxuLHRoaXMubWluRG9tYWluRXh0ZW50KHQpLHRoaXMubWF4RG9tYWluRXh0ZW50KHQpLHRoaXMubWluRG9tYWluVmFsdWUodCksdGhpcy5tYXhEb21haW5WYWx1ZSh0KSl9LGUucHJvdG90eXBlLl9jb25zdHJhaW5lZFRyYW5zbGF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFV4dC5jb25zdHJhaW5lZFRyYW5zbGF0aW9uKHQsZSx0aGlzLm1pbkRvbWFpblZhbHVlKHQpLHRoaXMubWF4RG9tYWluVmFsdWUodCkpfSxlLnByb3RvdHlwZS5fc2V0dXBEcmFnSW50ZXJhY3Rpb249ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXM7dGhpcy5fZHJhZ0ludGVyYWN0aW9uLmNvbnN0cmFpbmVkVG9Db21wb25lbnQoITEpLHRoaXMuX2RyYWdJbnRlcmFjdGlvbi5vbkRyYWdTdGFydCgoZnVuY3Rpb24oKXtyZXR1cm4gdD1udWxsfSkpLHRoaXMuX2RyYWdJbnRlcmFjdGlvbi5vbkRyYWcoKGZ1bmN0aW9uKG4saSl7ZS5fdG91Y2hJZHMuc2l6ZSgpPj0yfHwoZS5wYW4oe3g6KG51bGw9PXQ/bi54OnQueCktaS54LHk6KG51bGw9PXQ/bi55OnQueSktaS55fSksdD1pKX0pKSx0aGlzLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnRW5kKChmdW5jdGlvbigpe3JldHVybiBlLl9wYW5FbmRDYWxsYmFja3MuY2FsbENhbGxiYWNrcygpfSkpfSxlLnByb3RvdHlwZS5fbm9uTGluZWFyU2NhbGVXaXRoRXh0ZW50cz1mdW5jdGlvbih0KXtyZXR1cm4hKG51bGw9PXRoaXMubWluRG9tYWluRXh0ZW50KHQpfHxudWxsPT10aGlzLm1heERvbWFpbkV4dGVudCh0KXx8dCBpbnN0YW5jZW9mIEh4dC5MaW5lYXJ8fHQgaW5zdGFuY2VvZiBIeHQuVGltZSl9LGUucHJvdG90eXBlLnhTY2FsZXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZihudWxsPT10KXt2YXIgbj1bXTtyZXR1cm4gdGhpcy5feFNjYWxlcy5mb3JFYWNoKChmdW5jdGlvbih0KXtuLnB1c2godCl9KSksbn1yZXR1cm4gdGhpcy5feFNjYWxlcz1uZXcgRnh0LlNldCx0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2UuYWRkWFNjYWxlKHQpfSkpLHRoaXN9LGUucHJvdG90eXBlLnlTY2FsZXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZihudWxsPT10KXt2YXIgbj1bXTtyZXR1cm4gdGhpcy5feVNjYWxlcy5mb3JFYWNoKChmdW5jdGlvbih0KXtuLnB1c2godCl9KSksbn1yZXR1cm4gdGhpcy5feVNjYWxlcz1uZXcgRnh0LlNldCx0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2UuYWRkWVNjYWxlKHQpfSkpLHRoaXN9LGUucHJvdG90eXBlLmFkZFhTY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5feFNjYWxlcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUucmVtb3ZlWFNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl94U2NhbGVzLmRlbGV0ZSh0KSx0aGlzLl9taW5Eb21haW5FeHRlbnRzLmRlbGV0ZSh0KSx0aGlzLl9tYXhEb21haW5FeHRlbnRzLmRlbGV0ZSh0KSx0aGlzLl9taW5Eb21haW5WYWx1ZXMuZGVsZXRlKHQpLHRoaXMuX21heERvbWFpblZhbHVlcy5kZWxldGUodCksdGhpc30sZS5wcm90b3R5cGUuYWRkWVNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl95U2NhbGVzLmFkZCh0KSx0aGlzfSxlLnByb3RvdHlwZS5yZW1vdmVZU2NhbGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3lTY2FsZXMuZGVsZXRlKHQpLHRoaXMuX21pbkRvbWFpbkV4dGVudHMuZGVsZXRlKHQpLHRoaXMuX21heERvbWFpbkV4dGVudHMuZGVsZXRlKHQpLHRoaXMuX21pbkRvbWFpblZhbHVlcy5kZWxldGUodCksdGhpcy5fbWF4RG9tYWluVmFsdWVzLmRlbGV0ZSh0KSx0aGlzfSxlLnByb3RvdHlwZS5taW5Eb21haW5FeHRlbnQ9ZnVuY3Rpb24odCxlKXtpZihudWxsPT1lKXJldHVybiB0aGlzLl9taW5Eb21haW5FeHRlbnRzLmdldCh0KTtpZihlLnZhbHVlT2YoKTwwKXRocm93IG5ldyBFcnJvcigiZXh0ZW50IG11c3QgYmUgbm9uLW5lZ2F0aXZlIik7dmFyIG49dGhpcy5tYXhEb21haW5FeHRlbnQodCk7aWYobnVsbCE9biYmbi52YWx1ZU9mKCk8ZS52YWx1ZU9mKCkpdGhyb3cgbmV3IEVycm9yKCJtaW5Eb21haW5FeHRlbnQgbXVzdCBiZSBzbWFsbGVyIHRoYW4gbWF4RG9tYWluRXh0ZW50IGZvciB0aGUgc2FtZSBTY2FsZSIpO3JldHVybiB0aGlzLl9ub25MaW5lYXJTY2FsZVdpdGhFeHRlbnRzKHQpJiZGeHQuV2luZG93Lndhcm4oIlBhbm5pbmcgYW5kIHpvb21pbmcgd2l0aCBleHRlbnRzIG9uIGEgbm9ubGluZWFyIHNjYWxlIG1heSBoYXZlIHVuaW50ZW5kZWQgYmVoYXZpb3IuIiksdGhpcy5fbWluRG9tYWluRXh0ZW50cy5zZXQodCxlKSx0aGlzfSxlLnByb3RvdHlwZS5tYXhEb21haW5FeHRlbnQ9ZnVuY3Rpb24odCxlKXtpZihudWxsPT1lKXJldHVybiB0aGlzLl9tYXhEb21haW5FeHRlbnRzLmdldCh0KTtpZihlLnZhbHVlT2YoKTw9MCl0aHJvdyBuZXcgRXJyb3IoImV4dGVudCBtdXN0IGJlIHBvc2l0aXZlIik7dmFyIG49dGhpcy5taW5Eb21haW5FeHRlbnQodCk7aWYobnVsbCE9biYmZS52YWx1ZU9mKCk8bi52YWx1ZU9mKCkpdGhyb3cgbmV3IEVycm9yKCJtYXhEb21haW5FeHRlbnQgbXVzdCBiZSBsYXJnZXIgdGhhbiBtaW5Eb21haW5FeHRlbnQgZm9yIHRoZSBzYW1lIFNjYWxlIik7cmV0dXJuIHRoaXMuX25vbkxpbmVhclNjYWxlV2l0aEV4dGVudHModCkmJkZ4dC5XaW5kb3cud2FybigiUGFubmluZyBhbmQgem9vbWluZyB3aXRoIGV4dGVudHMgb24gYSBub25saW5lYXIgc2NhbGUgbWF5IGhhdmUgdW5pbnRlbmRlZCBiZWhhdmlvci4iKSx0aGlzLl9tYXhEb21haW5FeHRlbnRzLnNldCh0LGUpLHRoaXN9LGUucHJvdG90eXBlLm1pbkRvbWFpblZhbHVlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PWU/dGhpcy5fbWluRG9tYWluVmFsdWVzLmdldCh0KToodGhpcy5fbWluRG9tYWluVmFsdWVzLnNldCh0LGUpLHRoaXMpfSxlLnByb3RvdHlwZS5tYXhEb21haW5WYWx1ZT1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT1lP3RoaXMuX21heERvbWFpblZhbHVlcy5nZXQodCk6KHRoaXMuX21heERvbWFpblZhbHVlcy5zZXQodCxlKSx0aGlzKX0sZS5wcm90b3R5cGUuc2V0TWluTWF4RG9tYWluVmFsdWVzVG89ZnVuY3Rpb24odCl7dGhpcy5fbWluRG9tYWluVmFsdWVzLmRlbGV0ZSh0KSx0aGlzLl9tYXhEb21haW5WYWx1ZXMuZGVsZXRlKHQpO3ZhciBlPXQuZ2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKSxuPWVbMV07cmV0dXJuIHRoaXMubWluRG9tYWluVmFsdWUodCxlWzBdKSx0aGlzLm1heERvbWFpblZhbHVlKHQsbiksdGhpc30sZS5wcm90b3R5cGUub25QYW5FbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhbkVuZENhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmUGFuRW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYW5FbmRDYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LGUucHJvdG90eXBlLm9uWm9vbUVuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fem9vbUVuZENhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmWm9vbUVuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fem9vbUVuZENhbGxiYWNrcy5kZWxldGUodCksdGhpc30sZS5wcm90b3R5cGUub25QYW5ab29tVXBkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYW5ab29tVXBkYXRlQ2FsbGJhY2tzLmFkZCh0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZQYW5ab29tVXBkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYW5ab29tVXBkYXRlQ2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlLl9QSVhFTFNfUEVSX0xJTkU9MTIwLGV9KSh2eHQuSW50ZXJhY3Rpb24pO094dC5QYW5ab29tPWp4dDt2YXIgR3h0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShHeHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBXeHQ9Qk8scXh0PXJ4dCxZeHQ9RF90LFh4dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPW51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztyZXR1cm4gZS5fb3ZlckNvbXBvbmVudD0hMSxlLl9wb2ludGVyRW50ZXJDYWxsYmFja3M9bmV3IFl4dC5DYWxsYmFja1NldCxlLl9wb2ludGVyTW92ZUNhbGxiYWNrcz1uZXcgWXh0LkNhbGxiYWNrU2V0LGUuX3BvaW50ZXJFeGl0Q2FsbGJhY2tzPW5ldyBZeHQuQ2FsbGJhY2tTZXQsZS5fbW91c2VNb3ZlQ2FsbGJhY2s9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5faGFuZGxlTW91c2VFdmVudCh0LG4pfSxlLl90b3VjaFN0YXJ0Q2FsbGJhY2s9ZnVuY3Rpb24odCxuLGkpe3JldHVybiBlLl9oYW5kbGVUb3VjaEV2ZW50KG5bdFswXV0saSl9LGV9cmV0dXJuIFd4dC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fYW5jaG9yPWZ1bmN0aW9uKGUpe3QucHJvdG90eXBlLl9hbmNob3IuY2FsbCh0aGlzLGUpLHRoaXMuX21vdXNlRGlzcGF0Y2hlcj1xeHQuTW91c2UuZ2V0RGlzcGF0Y2hlcih0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvKSx0aGlzLl9tb3VzZURpc3BhdGNoZXIub25Nb3VzZU1vdmUodGhpcy5fbW91c2VNb3ZlQ2FsbGJhY2spLHRoaXMuX3RvdWNoRGlzcGF0Y2hlcj1xeHQuVG91Y2guZ2V0RGlzcGF0Y2hlcih0aGlzLl9jb21wb25lbnRBdHRhY2hlZFRvKSx0aGlzLl90b3VjaERpc3BhdGNoZXIub25Ub3VjaFN0YXJ0KHRoaXMuX3RvdWNoU3RhcnRDYWxsYmFjayl9LGUucHJvdG90eXBlLl91bmFuY2hvcj1mdW5jdGlvbigpe3QucHJvdG90eXBlLl91bmFuY2hvci5jYWxsKHRoaXMpLHRoaXMuX21vdXNlRGlzcGF0Y2hlci5vZmZNb3VzZU1vdmUodGhpcy5fbW91c2VNb3ZlQ2FsbGJhY2spLHRoaXMuX21vdXNlRGlzcGF0Y2hlcj1udWxsLHRoaXMuX3RvdWNoRGlzcGF0Y2hlci5vZmZUb3VjaFN0YXJ0KHRoaXMuX3RvdWNoU3RhcnRDYWxsYmFjayksdGhpcy5fdG91Y2hEaXNwYXRjaGVyPW51bGx9LGUucHJvdG90eXBlLl9oYW5kbGVNb3VzZUV2ZW50PWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fbW91c2VEaXNwYXRjaGVyLmV2ZW50SW5zaWRlKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8sZSk7dGhpcy5faGFuZGxlUG9pbnRlckV2ZW50KHQsbil9LGUucHJvdG90eXBlLl9oYW5kbGVUb3VjaEV2ZW50PWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fdG91Y2hEaXNwYXRjaGVyLmV2ZW50SW5zaWRlKHRoaXMuX2NvbXBvbmVudEF0dGFjaGVkVG8sZSk7dGhpcy5faGFuZGxlUG9pbnRlckV2ZW50KHQsbil9LGUucHJvdG90eXBlLl9oYW5kbGVQb2ludGVyRXZlbnQ9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl90cmFuc2xhdGVUb0NvbXBvbmVudFNwYWNlKHQpLGk9dGhpcy5faXNJbnNpZGVDb21wb25lbnQobik7aSYmZT8odGhpcy5fb3ZlckNvbXBvbmVudHx8dGhpcy5fcG9pbnRlckVudGVyQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MobiksdGhpcy5fcG9pbnRlck1vdmVDYWxsYmFja3MuY2FsbENhbGxiYWNrcyhuKSk6dGhpcy5fb3ZlckNvbXBvbmVudCYmdGhpcy5fcG9pbnRlckV4aXRDYWxsYmFja3MuY2FsbENhbGxiYWNrcyhuKSx0aGlzLl9vdmVyQ29tcG9uZW50PWkmJmV9LGUucHJvdG90eXBlLm9uUG9pbnRlckVudGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wb2ludGVyRW50ZXJDYWxsYmFja3MuYWRkKHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZlBvaW50ZXJFbnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcG9pbnRlckVudGVyQ2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlLnByb3RvdHlwZS5vblBvaW50ZXJNb3ZlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wb2ludGVyTW92ZUNhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmUG9pbnRlck1vdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BvaW50ZXJNb3ZlQ2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlLnByb3RvdHlwZS5vblBvaW50ZXJFeGl0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wb2ludGVyRXhpdENhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmUG9pbnRlckV4aXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BvaW50ZXJFeGl0Q2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlfSkodnh0LkludGVyYWN0aW9uKTtHeHQuUG9pbnRlcj1YeHQsKGZ1bmN0aW9uKHQpewovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGU9Qk87ZS5fX2V4cG9ydFN0YXIoaXh0LHQpLGUuX19leHBvcnRTdGFyKEV4dCx0KSxlLl9fZXhwb3J0U3RhcihMeHQsdCksZS5fX2V4cG9ydFN0YXIoT3h0LHQpLGUuX19leHBvcnRTdGFyKEd4dCx0KSx0Lnpvb21PdXQ9dGJ0Lnpvb21PdXR9KShueHQpO3ZhciAkeHQ9e307IShmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlLG49Qk8saT1EX3Qscj1PX3Q7IShmdW5jdGlvbih0KXt0W3QuVkFMVUU9MF09IlZBTFVFIix0W3QuUElYRUw9MV09IlBJWEVMIn0pKGU9dC5Qcm9wZXJ0eU1vZGV8fCh0LlByb3BlcnR5TW9kZT17fSkpO3ZhciBvPShmdW5jdGlvbih0KXtmdW5jdGlvbiByKCl7dmFyIG49dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBuLl9ib3hWaXNpYmxlPSExLG4uX2JveEJvdW5kcz17dG9wTGVmdDp7eDowLHk6MH0sYm90dG9tUmlnaHQ6e3g6MCx5OjB9fSxuLl94Qm91bmRzTW9kZT1lLlBJWEVMLG4uX3lCb3VuZHNNb2RlPWUuUElYRUwsbi5hZGRDbGFzcygic2VsZWN0aW9uLWJveC1sYXllciIpLG4uX2FkanVzdEJvdW5kc0NhbGxiYWNrPWZ1bmN0aW9uKCl7bi5yZW5kZXIoKX0sbi5fb3ZlcmZsb3dIaWRkZW49ITAsbi5feEV4dGVudD1bdm9pZCAwLHZvaWQgMF0sbi5feUV4dGVudD1bdm9pZCAwLHZvaWQgMF0sbn1yZXR1cm4gbi5fX2V4dGVuZHMocix0KSxyLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKSx0aGlzLl9ib3g9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCgic2VsZWN0aW9uLWJveCIsITApLnJlbW92ZSgpLHRoaXMuX2JveEFyZWE9dGhpcy5fYm94LmFwcGVuZCgicmVjdCIpLmNsYXNzZWQoInNlbGVjdGlvbi1hcmVhIiwhMCl9LHIucHJvdG90eXBlLl9zaXplRnJvbU9mZmVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJue3dpZHRoOnQsaGVpZ2h0OmV9fSxyLnByb3RvdHlwZS5ib3VuZHM9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZ2V0Qm91bmRzKCk6KHRoaXMuX3NldEJvdW5kcyh0KSx0aGlzLl94Qm91bmRzTW9kZT1lLlBJWEVMLHRoaXMuX3lCb3VuZHNNb2RlPWUuUElYRUwsdGhpcy5yZW5kZXIoKSx0aGlzKX0sci5wcm90b3R5cGUuX3NldEJvdW5kcz1mdW5jdGlvbih0KXt2YXIgZT17eDpNYXRoLm1pbih0LnRvcExlZnQueCx0LmJvdHRvbVJpZ2h0LngpLHk6TWF0aC5taW4odC50b3BMZWZ0LnksdC5ib3R0b21SaWdodC55KX0sbj17eDpNYXRoLm1heCh0LnRvcExlZnQueCx0LmJvdHRvbVJpZ2h0LngpLHk6TWF0aC5tYXgodC50b3BMZWZ0LnksdC5ib3R0b21SaWdodC55KX07dGhpcy5fYm94Qm91bmRzPXt0b3BMZWZ0OmUsYm90dG9tUmlnaHQ6bn19LHIucHJvdG90eXBlLl9nZXRCb3VuZHM9ZnVuY3Rpb24oKXtyZXR1cm57dG9wTGVmdDp7eDp0aGlzLl94Qm91bmRzTW9kZT09PWUuUElYRUw/dGhpcy5fYm94Qm91bmRzLnRvcExlZnQueDpudWxsPT10aGlzLl94U2NhbGU/MDpNYXRoLm1pbih0aGlzLnhTY2FsZSgpLnNjYWxlKHRoaXMueEV4dGVudCgpWzBdKSx0aGlzLnhTY2FsZSgpLnNjYWxlKHRoaXMueEV4dGVudCgpWzFdKSkseTp0aGlzLl95Qm91bmRzTW9kZT09PWUuUElYRUw/dGhpcy5fYm94Qm91bmRzLnRvcExlZnQueTpudWxsPT10aGlzLl95U2NhbGU/MDpNYXRoLm1pbih0aGlzLnlTY2FsZSgpLnNjYWxlKHRoaXMueUV4dGVudCgpWzBdKSx0aGlzLnlTY2FsZSgpLnNjYWxlKHRoaXMueUV4dGVudCgpWzFdKSl9LGJvdHRvbVJpZ2h0Ont4OnRoaXMuX3hCb3VuZHNNb2RlPT09ZS5QSVhFTD90aGlzLl9ib3hCb3VuZHMuYm90dG9tUmlnaHQueDpudWxsPT10aGlzLl94U2NhbGU/MDpNYXRoLm1heCh0aGlzLnhTY2FsZSgpLnNjYWxlKHRoaXMueEV4dGVudCgpWzBdKSx0aGlzLnhTY2FsZSgpLnNjYWxlKHRoaXMueEV4dGVudCgpWzFdKSkseTp0aGlzLl95Qm91bmRzTW9kZT09PWUuUElYRUw/dGhpcy5fYm94Qm91bmRzLmJvdHRvbVJpZ2h0Lnk6bnVsbD09dGhpcy5feVNjYWxlPzA6TWF0aC5tYXgodGhpcy55U2NhbGUoKS5zY2FsZSh0aGlzLnlFeHRlbnQoKVswXSksdGhpcy55U2NhbGUoKS5zY2FsZSh0aGlzLnlFeHRlbnQoKVsxXSkpfX19LHIucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7aWYodC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKSx0aGlzLl9ib3hWaXNpYmxlKXt2YXIgZT10aGlzLmJvdW5kcygpLG49ZS50b3BMZWZ0Lnkscj1lLmJvdHRvbVJpZ2h0Lnksbz1lLnRvcExlZnQueCxhPWUuYm90dG9tUmlnaHQueDtpZighKGkuTWF0aC5pc1ZhbGlkTnVtYmVyKG4pJiZpLk1hdGguaXNWYWxpZE51bWJlcihyKSYmaS5NYXRoLmlzVmFsaWROdW1iZXIobykmJmkuTWF0aC5pc1ZhbGlkTnVtYmVyKGEpKSl0aHJvdyBuZXcgRXJyb3IoImJvdW5kcyBoYXZlIG5vdCBiZWVuIHByb3Blcmx5IHNldCIpO3RoaXMuX2JveEFyZWEuYXR0cnMoe3g6byx5Om4sd2lkdGg6YS1vLGhlaWdodDpyLW59KSx0aGlzLmNvbnRlbnQoKS5ub2RlKCkuYXBwZW5kQ2hpbGQodGhpcy5fYm94Lm5vZGUoKSl9ZWxzZSB0aGlzLl9ib3gucmVtb3ZlKCk7cmV0dXJuIHRoaXN9LHIucHJvdG90eXBlLmJveFZpc2libGU9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fYm94VmlzaWJsZToodGhpcy5fYm94VmlzaWJsZT10LHRoaXMucmVuZGVyKCksdGhpcyl9LHIucHJvdG90eXBlLmZpeGVkV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4hMH0sci5wcm90b3R5cGUuZml4ZWRIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4hMH0sci5wcm90b3R5cGUueFNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3hTY2FsZToobnVsbCE9dGhpcy5feFNjYWxlJiZ0aGlzLl94U2NhbGUub2ZmVXBkYXRlKHRoaXMuX2FkanVzdEJvdW5kc0NhbGxiYWNrKSx0aGlzLl94U2NhbGU9dCx0aGlzLl94Qm91bmRzTW9kZT1lLlZBTFVFLHRoaXMuX3hTY2FsZS5vblVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayksdGhpcy5yZW5kZXIoKSx0aGlzKX0sci5wcm90b3R5cGUueVNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3lTY2FsZToobnVsbCE9dGhpcy5feVNjYWxlJiZ0aGlzLl95U2NhbGUub2ZmVXBkYXRlKHRoaXMuX2FkanVzdEJvdW5kc0NhbGxiYWNrKSx0aGlzLl95U2NhbGU9dCx0aGlzLl95Qm91bmRzTW9kZT1lLlZBTFVFLHRoaXMuX3lTY2FsZS5vblVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayksdGhpcy5yZW5kZXIoKSx0aGlzKX0sci5wcm90b3R5cGUueEV4dGVudD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9nZXRYRXh0ZW50KCk6KHRoaXMuX3NldFhFeHRlbnQodCksdGhpcy5feEJvdW5kc01vZGU9ZS5WQUxVRSx0aGlzLnJlbmRlcigpLHRoaXMpfSxyLnByb3RvdHlwZS5fZ2V0WEV4dGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl94Qm91bmRzTW9kZT09PWUuVkFMVUU/dGhpcy5feEV4dGVudDpudWxsPT10aGlzLl94U2NhbGU/W3ZvaWQgMCx2b2lkIDBdOlt0aGlzLl94U2NhbGUuaW52ZXJ0KHRoaXMuX2JveEJvdW5kcy50b3BMZWZ0LngpLHRoaXMuX3hTY2FsZS5pbnZlcnQodGhpcy5fYm94Qm91bmRzLmJvdHRvbVJpZ2h0LngpXX0sci5wcm90b3R5cGUuX3NldFhFeHRlbnQ9ZnVuY3Rpb24odCl7dGhpcy5feEV4dGVudD10fSxyLnByb3RvdHlwZS55RXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2dldFlFeHRlbnQoKToodGhpcy5fc2V0WUV4dGVudCh0KSx0aGlzLl95Qm91bmRzTW9kZT1lLlZBTFVFLHRoaXMucmVuZGVyKCksdGhpcyl9LHIucHJvdG90eXBlLl9nZXRZRXh0ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3lCb3VuZHNNb2RlPT09ZS5WQUxVRT90aGlzLl95RXh0ZW50Om51bGw9PXRoaXMuX3lTY2FsZT9bdm9pZCAwLHZvaWQgMF06W3RoaXMuX3lTY2FsZS5pbnZlcnQodGhpcy5fYm94Qm91bmRzLnRvcExlZnQueSksdGhpcy5feVNjYWxlLmludmVydCh0aGlzLl9ib3hCb3VuZHMuYm90dG9tUmlnaHQueSldfSxyLnByb3RvdHlwZS5fc2V0WUV4dGVudD1mdW5jdGlvbih0KXt0aGlzLl95RXh0ZW50PXR9LHIucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksbnVsbCE9dGhpcy5feFNjYWxlJiZ0aGlzLnhTY2FsZSgpLm9mZlVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayksbnVsbCE9dGhpcy5feVNjYWxlJiZ0aGlzLnlTY2FsZSgpLm9mZlVwZGF0ZSh0aGlzLl9hZGp1c3RCb3VuZHNDYWxsYmFjayl9LHJ9KShyLkNvbXBvbmVudCk7dC5TZWxlY3Rpb25Cb3hMYXllcj1vfSkoJHh0KSwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEt4dD1CTyxaeHQ9bnh0LEp4dD1EX3QsUXh0PV9ndCx0d3Q9dHh0LGV3dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gZS5fZGV0ZWN0aW9uUmFkaXVzPTMsZS5fcmVzaXphYmxlPSExLGUuX21vdmFibGU9ITEsZS5faGFzQ29ybmVycz0hMCxlLmFkZENsYXNzKCJkcmFnLWJveC1sYXllciIpLGUuX2RyYWdJbnRlcmFjdGlvbj1uZXcgWnh0LkRyYWcsZS5fc2V0VXBDYWxsYmFja3MoKSxlLl9kcmFnSW50ZXJhY3Rpb24uYXR0YWNoVG8oZSksZS5fZHJhZ1N0YXJ0Q2FsbGJhY2tzPW5ldyBKeHQuQ2FsbGJhY2tTZXQsZS5fZHJhZ0NhbGxiYWNrcz1uZXcgSnh0LkNhbGxiYWNrU2V0LGUuX2RyYWdFbmRDYWxsYmFja3M9bmV3IEp4dC5DYWxsYmFja1NldCxlfXJldHVybiBLeHQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuX3NldFVwQ2FsbGJhY2tzPWZ1bmN0aW9uKCl7dmFyIHQsZSxuLGkscj10aGlzLG89MCxhPTEscz0yLGw9byxjPWZ1bmN0aW9uKGMpe3Q9ci5fZ2V0UmVzaXppbmdFZGdlcyhjKTt2YXIgdT1yLmJvdW5kcygpLGg9dS50b3BMZWZ0Lng8PWMueCYmYy54PD11LmJvdHRvbVJpZ2h0LngmJnUudG9wTGVmdC55PD1jLnkmJmMueTw9dS5ib3R0b21SaWdodC55O3IuYm94VmlzaWJsZSgpJiYodC50b3B8fHQuYm90dG9tfHx0LmxlZnR8fHQucmlnaHQpP2w9YTpyLmJveFZpc2libGUoKSYmci5tb3ZhYmxlKCkmJmg/bD1zOihsPW8sci5fc2V0Qm91bmRzKHt0b3BMZWZ0OmMsYm90dG9tUmlnaHQ6Y30pLHIuX3hCb3VuZHNNb2RlPT09dHd0LlByb3BlcnR5TW9kZS5WQUxVRSYmbnVsbCE9ci54U2NhbGUoKSYmci5fc2V0WEV4dGVudChbci54U2NhbGUoKS5pbnZlcnQoYy54KSxyLnhTY2FsZSgpLmludmVydChjLngpXSksci5feUJvdW5kc01vZGU9PT10d3QuUHJvcGVydHlNb2RlLlZBTFVFJiZudWxsIT1yLnlTY2FsZSgpJiZyLl9zZXRZRXh0ZW50KFtyLnlTY2FsZSgpLmludmVydChjLnkpLHIueVNjYWxlKCkuaW52ZXJ0KGMueSldKSxyLnJlbmRlcigpKSxyLmJveFZpc2libGUoITApLHU9ci5ib3VuZHMoKSxlPXt4OnUudG9wTGVmdC54LHk6dS50b3BMZWZ0Lnl9LG49e3g6dS5ib3R0b21SaWdodC54LHk6dS5ib3R0b21SaWdodC55fSxpPWMsci5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModSl9LHU9ZnVuY3Rpb24oYyx1KXtzd2l0Y2gobCl7Y2FzZSBvOm4ueD11Lngsbi55PXUueTticmVhaztjYXNlIGE6dC5ib3R0b20/bi55PXUueTp0LnRvcCYmKGUueT11LnkpLHQucmlnaHQ/bi54PXUueDp0LmxlZnQmJihlLng9dS54KTticmVhaztjYXNlIHM6dmFyIGg9dS54LWkueCxkPXUueS1pLnk7ZS54Kz1oLGUueSs9ZCxuLngrPWgsbi55Kz1kLGk9dX1yLl9zZXRCb3VuZHMoe3RvcExlZnQ6ZSxib3R0b21SaWdodDpufSksci5feEJvdW5kc01vZGU9PT10d3QuUHJvcGVydHlNb2RlLlZBTFVFJiZudWxsIT1yLnhTY2FsZSgpJiZyLl9zZXRYRXh0ZW50KFtyLnhTY2FsZSgpLmludmVydChlLngpLHIueFNjYWxlKCkuaW52ZXJ0KG4ueCldKSxyLl95Qm91bmRzTW9kZT09PXR3dC5Qcm9wZXJ0eU1vZGUuVkFMVUUmJm51bGwhPXIueVNjYWxlKCkmJnIuX3NldFlFeHRlbnQoW3IueVNjYWxlKCkuaW52ZXJ0KGUueSksci55U2NhbGUoKS5pbnZlcnQobi55KV0pLHIucmVuZGVyKCksci5fZHJhZ0NhbGxiYWNrcy5jYWxsQ2FsbGJhY2tzKHIuYm91bmRzKCkpfSxoPWZ1bmN0aW9uKHQsZSl7bD09PW8mJnQueD09PWUueCYmdC55PT09ZS55JiZyLmJveFZpc2libGUoITEpLHIuX2RyYWdFbmRDYWxsYmFja3MuY2FsbENhbGxiYWNrcyhyLmJvdW5kcygpKX07dGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZ1N0YXJ0KGMpLHRoaXMuX2RyYWdJbnRlcmFjdGlvbi5vbkRyYWcodSksdGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZ0VuZChoKSx0aGlzLl9kaXNjb25uZWN0SW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyLl9kcmFnSW50ZXJhY3Rpb24ub2ZmRHJhZ1N0YXJ0KGMpLHIuX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnKHUpLHIuX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnRW5kKGgpLHIuX2RyYWdJbnRlcmFjdGlvbi5kZXRhY2goKX19LGUucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyk7dmFyIG49ZnVuY3Rpb24oKXtyZXR1cm4gZS5fYm94LmFwcGVuZCgibGluZSIpLnN0eWxlcyh7b3BhY2l0eTowLHN0cm9rZToicGluayIsInBvaW50ZXItZXZlbnRzIjoidmlzaWJsZVN0cm9rZSJ9KX07aWYodGhpcy5fZGV0ZWN0aW9uRWRnZVQ9bigpLmNsYXNzZWQoImRyYWctZWRnZS10YiIsITApLHRoaXMuX2RldGVjdGlvbkVkZ2VCPW4oKS5jbGFzc2VkKCJkcmFnLWVkZ2UtdGIiLCEwKSx0aGlzLl9kZXRlY3Rpb25FZGdlTD1uKCkuY2xhc3NlZCgiZHJhZy1lZGdlLWxyIiwhMCksdGhpcy5fZGV0ZWN0aW9uRWRnZVI9bigpLmNsYXNzZWQoImRyYWctZWRnZS1sciIsITApLHRoaXMuX2hhc0Nvcm5lcnMpe3ZhciBpPWZ1bmN0aW9uKCl7cmV0dXJuIGUuX2JveC5hcHBlbmQoImNpcmNsZSIpLnN0eWxlcyh7b3BhY2l0eTowLGZpbGw6InBpbmsiLCJwb2ludGVyLWV2ZW50cyI6InZpc2libGVGaWxsIn0pfTt0aGlzLl9kZXRlY3Rpb25Db3JuZXJUTD1pKCkuY2xhc3NlZCgiZHJhZy1jb3JuZXItdGwiLCEwKSx0aGlzLl9kZXRlY3Rpb25Db3JuZXJUUj1pKCkuY2xhc3NlZCgiZHJhZy1jb3JuZXItdHIiLCEwKSx0aGlzLl9kZXRlY3Rpb25Db3JuZXJCTD1pKCkuY2xhc3NlZCgiZHJhZy1jb3JuZXItYmwiLCEwKSx0aGlzLl9kZXRlY3Rpb25Db3JuZXJCUj1pKCkuY2xhc3NlZCgiZHJhZy1jb3JuZXItYnIiLCEwKX19LGUucHJvdG90eXBlLl9nZXRSZXNpemluZ0VkZ2VzPWZ1bmN0aW9uKHQpe3ZhciBlPXt0b3A6ITEsYm90dG9tOiExLGxlZnQ6ITEscmlnaHQ6ITF9O2lmKCF0aGlzLnJlc2l6YWJsZSgpKXJldHVybiBlO3ZhciBuPXRoaXMuYm91bmRzKCksaT1uLnRvcExlZnQueSxyPW4uYm90dG9tUmlnaHQueSxvPW4udG9wTGVmdC54LGE9bi5ib3R0b21SaWdodC54LHM9dGhpcy5fZGV0ZWN0aW9uUmFkaXVzO3JldHVybiBvLXM8PXQueCYmdC54PD1hK3MmJihlLnRvcD1pLXM8PXQueSYmdC55PD1pK3MsZS5ib3R0b209ci1zPD10LnkmJnQueTw9citzKSxpLXM8PXQueSYmdC55PD1yK3MmJihlLmxlZnQ9by1zPD10LngmJnQueDw9bytzLGUucmlnaHQ9YS1zPD10LngmJnQueDw9YStzKSxlfSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe2lmKHQucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5LmNhbGwodGhpcyksdGhpcy5ib3hWaXNpYmxlKCkpe3ZhciBlPXRoaXMuYm91bmRzKCksbj1lLnRvcExlZnQueSxpPWUuYm90dG9tUmlnaHQueSxyPWUudG9wTGVmdC54LG89ZS5ib3R0b21SaWdodC54O3RoaXMuX2RldGVjdGlvbkVkZ2VULmF0dHJzKHt4MTpyLHkxOm4seDI6byx5MjpuLCJzdHJva2Utd2lkdGgiOjIqdGhpcy5fZGV0ZWN0aW9uUmFkaXVzfSksdGhpcy5fZGV0ZWN0aW9uRWRnZUIuYXR0cnMoe3gxOnIseTE6aSx4MjpvLHkyOmksInN0cm9rZS13aWR0aCI6Mip0aGlzLl9kZXRlY3Rpb25SYWRpdXN9KSx0aGlzLl9kZXRlY3Rpb25FZGdlTC5hdHRycyh7eDE6cix5MTpuLHgyOnIseTI6aSwic3Ryb2tlLXdpZHRoIjoyKnRoaXMuX2RldGVjdGlvblJhZGl1c30pLHRoaXMuX2RldGVjdGlvbkVkZ2VSLmF0dHJzKHt4MTpvLHkxOm4seDI6byx5MjppLCJzdHJva2Utd2lkdGgiOjIqdGhpcy5fZGV0ZWN0aW9uUmFkaXVzfSksdGhpcy5faGFzQ29ybmVycyYmKHRoaXMuX2RldGVjdGlvbkNvcm5lclRMLmF0dHJzKHtjeDpyLGN5Om4scjp0aGlzLl9kZXRlY3Rpb25SYWRpdXN9KSx0aGlzLl9kZXRlY3Rpb25Db3JuZXJUUi5hdHRycyh7Y3g6byxjeTpuLHI6dGhpcy5fZGV0ZWN0aW9uUmFkaXVzfSksdGhpcy5fZGV0ZWN0aW9uQ29ybmVyQkwuYXR0cnMoe2N4OnIsY3k6aSxyOnRoaXMuX2RldGVjdGlvblJhZGl1c30pLHRoaXMuX2RldGVjdGlvbkNvcm5lckJSLmF0dHJzKHtjeDpvLGN5Omkscjp0aGlzLl9kZXRlY3Rpb25SYWRpdXN9KSl9cmV0dXJuIHRoaXN9LGUucHJvdG90eXBlLmRldGVjdGlvblJhZGl1cz1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl9kZXRlY3Rpb25SYWRpdXM7aWYodDwwKXRocm93IG5ldyBFcnJvcigiZGV0ZWN0aW9uIHJhZGl1cyBjYW5ub3QgYmUgbmVnYXRpdmUuIik7cmV0dXJuIHRoaXMuX2RldGVjdGlvblJhZGl1cz10LHRoaXMucmVuZGVyKCksdGhpc30sZS5wcm90b3R5cGUucmVzaXphYmxlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3Jlc2l6YWJsZToodGhpcy5fcmVzaXphYmxlPXQsdGhpcy5fc2V0UmVzaXphYmxlQ2xhc3Nlcyh0KSx0aGlzKX0sZS5wcm90b3R5cGUuX3NldFJlc2l6YWJsZUNsYXNzZXM9ZnVuY3Rpb24odCl7dCYmdGhpcy5lbmFibGVkKCk/KHRoaXMuYWRkQ2xhc3MoIngtcmVzaXphYmxlIiksdGhpcy5hZGRDbGFzcygieS1yZXNpemFibGUiKSk6KHRoaXMucmVtb3ZlQ2xhc3MoIngtcmVzaXphYmxlIiksdGhpcy5yZW1vdmVDbGFzcygieS1yZXNpemFibGUiKSl9LGUucHJvdG90eXBlLm1vdmFibGU9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fbW92YWJsZToodGhpcy5fbW92YWJsZT10LHRoaXMuX3NldE1vdmFibGVDbGFzcygpLHRoaXMpfSxlLnByb3RvdHlwZS5fc2V0TW92YWJsZUNsYXNzPWZ1bmN0aW9uKCl7dGhpcy5tb3ZhYmxlKCkmJnRoaXMuZW5hYmxlZCgpP3RoaXMuYWRkQ2xhc3MoIm1vdmFibGUiKTp0aGlzLnJlbW92ZUNsYXNzKCJtb3ZhYmxlIil9LGUucHJvdG90eXBlLm9uRHJhZ1N0YXJ0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kcmFnU3RhcnRDYWxsYmFja3MuYWRkKHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZkRyYWdTdGFydD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlLnByb3RvdHlwZS5vbkRyYWc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdDYWxsYmFja3MuYWRkKHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZkRyYWc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdDYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LGUucHJvdG90eXBlLm9uRHJhZ0VuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5hZGQodCksdGhpc30sZS5wcm90b3R5cGUub2ZmRHJhZ0VuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5kZWxldGUodCksdGhpc30sZS5wcm90b3R5cGUuZHJhZ0ludGVyYWN0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RyYWdJbnRlcmFjdGlvbn0sZS5wcm90b3R5cGUuZW5hYmxlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9kcmFnSW50ZXJhY3Rpb24uZW5hYmxlZCgpOih0aGlzLl9kcmFnSW50ZXJhY3Rpb24uZW5hYmxlZCh0KSx0aGlzLl9zZXRSZXNpemFibGVDbGFzc2VzKHRoaXMucmVzaXphYmxlKCkpLHRoaXMuX3NldE1vdmFibGVDbGFzcygpLHRoaXMpfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksdGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZSh0KX0pKSx0aGlzLl9kcmFnQ2FsbGJhY2tzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZSh0KX0pKSx0aGlzLl9kcmFnRW5kQ2FsbGJhY2tzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9kcmFnRW5kQ2FsbGJhY2tzLmRlbGV0ZSh0KX0pKSx0aGlzLl9kaXNjb25uZWN0SW50ZXJhY3Rpb24oKX0sZS5wcm90b3R5cGUuZGV0YWNoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Jlc2V0U3RhdGUoKSx0aGlzLl9kcmFnSW50ZXJhY3Rpb24uZGV0YWNoKCksdC5wcm90b3R5cGUuZGV0YWNoLmNhbGwodGhpcyksdGhpc30sZS5wcm90b3R5cGUuYW5jaG9yPWZ1bmN0aW9uKGUpe3JldHVybiBlPVF4dC5jb2VyY2VFeHRlcm5hbEQzKGUpLHRoaXMuX2RyYWdJbnRlcmFjdGlvbi5hdHRhY2hUbyh0aGlzKSx0LnByb3RvdHlwZS5hbmNob3IuY2FsbCh0aGlzLGUpLHRoaXN9LGUucHJvdG90eXBlLl9yZXNldFN0YXRlPWZ1bmN0aW9uKCl7dGhpcy5ib3VuZHMoe3RvcExlZnQ6e3g6MCx5OjB9LGJvdHRvbVJpZ2h0Ont4OjAseTowfX0pfSxlfSkoJHh0LlNlbGVjdGlvbkJveExheWVyKTtleHQuRHJhZ0JveExheWVyPWV3dDt2YXIgbnd0PXt9LGl3dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KGl3dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHJ3dCxvd3Q9Qk8sYXd0PURfdCxzd3Q9T190OyEoZnVuY3Rpb24odCl7dFt0LlZBTFVFPTBdPSJWQUxVRSIsdFt0LlBJWEVMPTFdPSJQSVhFTCJ9KShyd3R8fChyd3Q9e30pKTt2YXIgbHd0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKG4pe3ZhciBpPXQuY2FsbCh0aGlzKXx8dGhpcztpZihpLl9tb2RlPXJ3dC5WQUxVRSxuIT09ZS5PUklFTlRBVElPTl9WRVJUSUNBTCYmbiE9PWUuT1JJRU5UQVRJT05fSE9SSVpPTlRBTCl0aHJvdyBuZXcgRXJyb3IobisiIGlzIG5vdCBhIHZhbGlkIG9yaWVudGF0aW9uIGZvciBHdWlkZUxpbmVMYXllciIpO3JldHVybiBpLl9vcmllbnRhdGlvbj1uLGkuX292ZXJmbG93SGlkZGVuPSEwLGkuYWRkQ2xhc3MoImd1aWRlLWxpbmUtbGF5ZXIiKSxpLl9pc1ZlcnRpY2FsKCk/aS5hZGRDbGFzcygidmVydGljYWwiKTppLmFkZENsYXNzKCJob3Jpem9udGFsIiksaS5fc2NhbGVVcGRhdGVDYWxsYmFjaz1mdW5jdGlvbigpe2kuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWUoKSxpLnJlbmRlcigpfSxpfXJldHVybiBvd3QuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7dC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyksdGhpcy5fZ3VpZGVMaW5lPXRoaXMuY29udGVudCgpLmFwcGVuZCgibGluZSIpLmNsYXNzZWQoImd1aWRlLWxpbmUiLCEwKX0sZS5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm57d2lkdGg6dCxoZWlnaHQ6ZX19LGUucHJvdG90eXBlLl9pc1ZlcnRpY2FsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29yaWVudGF0aW9uPT09ZS5PUklFTlRBVElPTl9WRVJUSUNBTH0sZS5wcm90b3R5cGUuZml4ZWRXaWR0aD1mdW5jdGlvbigpe3JldHVybiEwfSxlLnByb3RvdHlwZS5maXhlZEhlaWdodD1mdW5jdGlvbigpe3JldHVybiEwfSxlLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gdC5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMsZSxuLGkpLG51bGwhPXRoaXMuc2NhbGUoKSYmKHRoaXMuX2lzVmVydGljYWwoKT90aGlzLnNjYWxlKCkucmFuZ2UoWzAsdGhpcy53aWR0aCgpXSk6dGhpcy5zY2FsZSgpLnJhbmdlKFt0aGlzLmhlaWdodCgpLDBdKSksdGhpc30sZS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtyZXR1cm4gdC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKSx0aGlzLl9zeW5jUGl4ZWxQb3NpdGlvbkFuZFZhbHVlKCksdGhpcy5fZ3VpZGVMaW5lLmF0dHJzKHt4MTp0aGlzLl9pc1ZlcnRpY2FsKCk/dGhpcy5waXhlbFBvc2l0aW9uKCk6MCx5MTp0aGlzLl9pc1ZlcnRpY2FsKCk/MDp0aGlzLnBpeGVsUG9zaXRpb24oKSx4Mjp0aGlzLl9pc1ZlcnRpY2FsKCk/dGhpcy5waXhlbFBvc2l0aW9uKCk6dGhpcy53aWR0aCgpLHkyOnRoaXMuX2lzVmVydGljYWwoKT90aGlzLmhlaWdodCgpOnRoaXMucGl4ZWxQb3NpdGlvbigpfSksdGhpc30sZS5wcm90b3R5cGUuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWU9ZnVuY3Rpb24oKXtudWxsIT10aGlzLnNjYWxlKCkmJih0aGlzLl9tb2RlPT09cnd0LlZBTFVFJiZudWxsIT10aGlzLnZhbHVlKCk/dGhpcy5fcGl4ZWxQb3NpdGlvbj10aGlzLnNjYWxlKCkuc2NhbGUodGhpcy52YWx1ZSgpKTp0aGlzLl9tb2RlPT09cnd0LlBJWEVMJiZudWxsIT10aGlzLnBpeGVsUG9zaXRpb24oKSYmKHRoaXMuX3ZhbHVlPXRoaXMuc2NhbGUoKS5pbnZlcnQodGhpcy5waXhlbFBvc2l0aW9uKCkpKSl9LGUucHJvdG90eXBlLl9zZXRQaXhlbFBvc2l0aW9uV2l0aG91dENoYW5naW5nTW9kZT1mdW5jdGlvbih0KXt0aGlzLl9waXhlbFBvc2l0aW9uPXQsbnVsbCE9dGhpcy5zY2FsZSgpJiYodGhpcy5fdmFsdWU9dGhpcy5zY2FsZSgpLmludmVydCh0aGlzLnBpeGVsUG9zaXRpb24oKSkpLHRoaXMucmVuZGVyKCl9LGUucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3NjYWxlO3ZhciBlPXRoaXMuX3NjYWxlO3JldHVybiBudWxsIT1lJiZlLm9mZlVwZGF0ZSh0aGlzLl9zY2FsZVVwZGF0ZUNhbGxiYWNrKSx0aGlzLl9zY2FsZT10LHRoaXMuX3NjYWxlLm9uVXBkYXRlKHRoaXMuX3NjYWxlVXBkYXRlQ2FsbGJhY2spLHRoaXMuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWUoKSx0aGlzLnJlZHJhdygpLHRoaXN9LGUucHJvdG90eXBlLnZhbHVlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3ZhbHVlOih0aGlzLl92YWx1ZT10LHRoaXMuX21vZGU9cnd0LlZBTFVFLHRoaXMuX3N5bmNQaXhlbFBvc2l0aW9uQW5kVmFsdWUoKSx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5waXhlbFBvc2l0aW9uPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3BpeGVsUG9zaXRpb247aWYoIWF3dC5NYXRoLmlzVmFsaWROdW1iZXIodCkpdGhyb3cgbmV3IEVycm9yKCJwaXhlbFBvc2l0aW9uIG11c3QgYmUgYSBmaW5pdGUgbnVtYmVyIik7cmV0dXJuIHRoaXMuX3BpeGVsUG9zaXRpb249dCx0aGlzLl9tb2RlPXJ3dC5QSVhFTCx0aGlzLl9zeW5jUGl4ZWxQb3NpdGlvbkFuZFZhbHVlKCksdGhpcy5yZW5kZXIoKSx0aGlzfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dC5wcm90b3R5cGUuZGVzdHJveS5jYWxsKHRoaXMpLG51bGwhPXRoaXMuc2NhbGUoKSYmdGhpcy5zY2FsZSgpLm9mZlVwZGF0ZSh0aGlzLl9zY2FsZVVwZGF0ZUNhbGxiYWNrKX0sZS5PUklFTlRBVElPTl9WRVJUSUNBTD0idmVydGljYWwiLGUuT1JJRU5UQVRJT05fSE9SSVpPTlRBTD0iaG9yaXpvbnRhbCIsZX0pKHN3dC5Db21wb25lbnQpO2l3dC5HdWlkZUxpbmVMYXllcj1sd3QsCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShud3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBjd3Q9Qk8sdXd0PW54dCxod3Q9RF90LGR3dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt2YXIgbj10LmNhbGwodGhpcyxlKXx8dGhpcztuLl9kZXRlY3Rpb25SYWRpdXM9MyxuLl9lbmFibGVkPSEwLG4uYWRkQ2xhc3MoImRyYWctbGluZS1sYXllciIpLG4uYWRkQ2xhc3MoImVuYWJsZWQiKSxuLl9kcmFnSW50ZXJhY3Rpb249bmV3IHV3dC5EcmFnLG4uX2RyYWdJbnRlcmFjdGlvbi5hdHRhY2hUbyhuKTt2YXIgaT0hMSxyPWZ1bmN0aW9uKHQpeyhmdW5jdGlvbih0KXtyZXR1cm4gbi5faXNWZXJ0aWNhbCgpJiZuLnBpeGVsUG9zaXRpb24oKS1uLmRldGVjdGlvblJhZGl1cygpPD10LngmJnQueDw9bi5waXhlbFBvc2l0aW9uKCkrbi5kZXRlY3Rpb25SYWRpdXMoKXx8IW4uX2lzVmVydGljYWwoKSYmbi5waXhlbFBvc2l0aW9uKCktbi5kZXRlY3Rpb25SYWRpdXMoKTw9dC55JiZ0Lnk8PW4ucGl4ZWxQb3NpdGlvbigpK24uZGV0ZWN0aW9uUmFkaXVzKCl9KSh0KSYmKGk9ITAsbi5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmNhbGxDYWxsYmFja3MobikpfTtuLl9kcmFnSW50ZXJhY3Rpb24ub25EcmFnU3RhcnQocik7dmFyIG89ZnVuY3Rpb24odCxlKXtpJiYobi5fc2V0UGl4ZWxQb3NpdGlvbldpdGhvdXRDaGFuZ2luZ01vZGUobi5faXNWZXJ0aWNhbCgpP2UueDplLnkpLG4uX2RyYWdDYWxsYmFja3MuY2FsbENhbGxiYWNrcyhuKSl9O24uX2RyYWdJbnRlcmFjdGlvbi5vbkRyYWcobyk7dmFyIGE9ZnVuY3Rpb24odCxlKXtpJiYoaT0hMSxuLl9kcmFnRW5kQ2FsbGJhY2tzLmNhbGxDYWxsYmFja3MobikpfTtyZXR1cm4gbi5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZ0VuZChhKSxuLl9kaXNjb25uZWN0SW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtuLl9kcmFnSW50ZXJhY3Rpb24ub2ZmRHJhZ1N0YXJ0KHIpLG4uX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnKG8pLG4uX2RyYWdJbnRlcmFjdGlvbi5vZmZEcmFnRW5kKGEpLG4uX2RyYWdJbnRlcmFjdGlvbi5kZXRhY2goKX0sbi5fZHJhZ1N0YXJ0Q2FsbGJhY2tzPW5ldyBod3QuQ2FsbGJhY2tTZXQsbi5fZHJhZ0NhbGxiYWNrcz1uZXcgaHd0LkNhbGxiYWNrU2V0LG4uX2RyYWdFbmRDYWxsYmFja3M9bmV3IGh3dC5DYWxsYmFja1NldCxufXJldHVybiBjd3QuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7dC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyksdGhpcy5fZGV0ZWN0aW9uRWRnZT10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImxpbmUiKS5zdHlsZXMoe29wYWNpdHk6MCxzdHJva2U6InBpbmsiLCJwb2ludGVyLWV2ZW50cyI6InZpc2libGVTdHJva2UifSkuY2xhc3NlZCgiZHJhZy1lZGdlIiwhMCl9LGUucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5PWZ1bmN0aW9uKCl7cmV0dXJuIHQucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5LmNhbGwodGhpcyksdGhpcy5fZGV0ZWN0aW9uRWRnZS5hdHRycyh7eDE6dGhpcy5faXNWZXJ0aWNhbCgpP3RoaXMucGl4ZWxQb3NpdGlvbigpOjAseTE6dGhpcy5faXNWZXJ0aWNhbCgpPzA6dGhpcy5waXhlbFBvc2l0aW9uKCkseDI6dGhpcy5faXNWZXJ0aWNhbCgpP3RoaXMucGl4ZWxQb3NpdGlvbigpOnRoaXMud2lkdGgoKSx5Mjp0aGlzLl9pc1ZlcnRpY2FsKCk/dGhpcy5oZWlnaHQoKTp0aGlzLnBpeGVsUG9zaXRpb24oKSwic3Ryb2tlLXdpZHRoIjoyKnRoaXMuX2RldGVjdGlvblJhZGl1c30pLHRoaXN9LGUucHJvdG90eXBlLmRldGVjdGlvblJhZGl1cz1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl9kZXRlY3Rpb25SYWRpdXM7aWYodDwwKXRocm93IG5ldyBFcnJvcigiZGV0ZWN0aW9uIHJhZGl1cyBjYW5ub3QgYmUgbmVnYXRpdmUuIik7cmV0dXJuIHRoaXMuX2RldGVjdGlvblJhZGl1cz10LHRoaXMucmVuZGVyKCksdGhpc30sZS5wcm90b3R5cGUuZW5hYmxlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9lbmFibGVkOih0aGlzLl9lbmFibGVkPXQsdD90aGlzLmFkZENsYXNzKCJlbmFibGVkIik6dGhpcy5yZW1vdmVDbGFzcygiZW5hYmxlZCIpLHRoaXMuX2RyYWdJbnRlcmFjdGlvbi5lbmFibGVkKHQpLHRoaXMpfSxlLnByb3RvdHlwZS5vbkRyYWdTdGFydD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fZHJhZ1N0YXJ0Q2FsbGJhY2tzLmFkZCh0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZEcmFnU3RhcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdTdGFydENhbGxiYWNrcy5kZWxldGUodCksdGhpc30sZS5wcm90b3R5cGUub25EcmFnPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kcmFnQ2FsbGJhY2tzLmFkZCh0KSx0aGlzfSxlLnByb3RvdHlwZS5vZmZEcmFnPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9kcmFnQ2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSxlLnByb3RvdHlwZS5vbkRyYWdFbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdFbmRDYWxsYmFja3MuYWRkKHQpLHRoaXN9LGUucHJvdG90eXBlLm9mZkRyYWdFbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2RyYWdFbmRDYWxsYmFja3MuZGVsZXRlKHQpLHRoaXN9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3QucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKSx0aGlzLl9kcmFnU3RhcnRDYWxsYmFja3MuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2RyYWdTdGFydENhbGxiYWNrcy5kZWxldGUodCl9KSksdGhpcy5fZHJhZ0NhbGxiYWNrcy5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fZHJhZ0NhbGxiYWNrcy5kZWxldGUodCl9KSksdGhpcy5fZHJhZ0VuZENhbGxiYWNrcy5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fZHJhZ0VuZENhbGxiYWNrcy5kZWxldGUodCl9KSksdGhpcy5fZGlzY29ubmVjdEludGVyYWN0aW9uKCl9LGV9KShpd3QuR3VpZGVMaW5lTGF5ZXIpO253dC5EcmFnTGluZUxheWVyPWR3dDt2YXIgcHd0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShwd3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBmd3Q9Qk87ZnVuY3Rpb24gbXd0KHQsZSxuKXt2YXIgaT17fTtpZih2b2lkIDAhPT1uKWZvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKXtpW25bcl1dPW5bci0xXX1yZXR1cm4gZnVuY3Rpb24obil7dmFyIHIsbz10LnNjYWxlKG4pO2lmKCFlKXJldHVybiBvO3ZhciBhPXZvaWQgMD09PWlbbl0/dm9pZCAwOnQuc2NhbGUoaVtuXSk7cmV0dXJuIHZvaWQgMCE9PWEmJihyPWErKG8tYSkvMikscn19dmFyIGd3dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLG4pe3ZhciBpPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gaS5hZGRDbGFzcygiZ3JpZGxpbmVzIiksaS5feFNjYWxlPWUsaS5feVNjYWxlPW4saS5fcmVuZGVyQ2FsbGJhY2s9ZnVuY3Rpb24odCl7cmV0dXJuIGkucmVuZGVyKCl9LGkuX3hTY2FsZSYmaS5feFNjYWxlLm9uVXBkYXRlKGkuX3JlbmRlckNhbGxiYWNrKSxpLl95U2NhbGUmJmkuX3lTY2FsZS5vblVwZGF0ZShpLl9yZW5kZXJDYWxsYmFjayksaX1yZXR1cm4gZnd0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmJldHdlZW5YPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10P3RoaXMuX2JldHdlZW5YOih0IT09dGhpcy5fYmV0d2VlblgmJih0aGlzLl9iZXR3ZWVuWD10LHRoaXMucmVuZGVyKCkpLHRoaXMpfSxlLnByb3RvdHlwZS5iZXR3ZWVuWT1mdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dD90aGlzLl9iZXR3ZWVuWToodCE9PXRoaXMuX2JldHdlZW5ZJiYodGhpcy5fYmV0d2Vlblk9dCx0aGlzLnJlbmRlcigpKSx0aGlzKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3JldHVybiB0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksdGhpcy5feFNjYWxlJiZ0aGlzLl94U2NhbGUub2ZmVXBkYXRlKHRoaXMuX3JlbmRlckNhbGxiYWNrKSx0aGlzLl95U2NhbGUmJnRoaXMuX3lTY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVuZGVyQ2FsbGJhY2spLHRoaXN9LGUucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3QucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpLHRoaXMuX3hMaW5lc0NvbnRhaW5lcj10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJ4LWdyaWRsaW5lcyIsITApLHRoaXMuX3lMaW5lc0NvbnRhaW5lcj10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJ5LWdyaWRsaW5lcyIsITApfSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3JldHVybiB0LnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseS5jYWxsKHRoaXMpLHRoaXMuX3JlZHJhd1hMaW5lcygpLHRoaXMuX3JlZHJhd1lMaW5lcygpLHRoaXN9LGUucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiB0LnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxlLG4saSksbnVsbCE9dGhpcy5feFNjYWxlJiZ0aGlzLl94U2NhbGUucmFuZ2UoWzAsdGhpcy53aWR0aCgpXSksbnVsbCE9dGhpcy5feVNjYWxlJiZ0aGlzLl95U2NhbGUucmFuZ2UoW3RoaXMuaGVpZ2h0KCksMF0pLHRoaXN9LGUucHJvdG90eXBlLl9yZWRyYXdYTGluZXM9ZnVuY3Rpb24oKXtpZih0aGlzLl94U2NhbGUpe3ZhciB0PXRoaXMuYmV0d2VlblgoKSxlPXRoaXMuX3hTY2FsZS50aWNrcygpLnNsaWNlKHQ/MTowKSxuPXRoaXMuX3hMaW5lc0NvbnRhaW5lci5zZWxlY3RBbGwoImxpbmUiKS5kYXRhKGUpO24uZW50ZXIoKS5hcHBlbmQoImxpbmUiKS5tZXJnZShuKS5hdHRyKCJ4MSIsbXd0KHRoaXMuX3hTY2FsZSx0LHRoaXMuX3hTY2FsZS50aWNrcygpKSkuYXR0cigieTEiLDApLmF0dHIoIngyIixtd3QodGhpcy5feFNjYWxlLHQsdGhpcy5feFNjYWxlLnRpY2tzKCkpKS5hdHRyKCJ5MiIsdGhpcy5oZWlnaHQoKSkuY2xhc3NlZCgiYmV0d2VlbmxpbmUiLHQpLmNsYXNzZWQoInplcm9saW5lIiwoZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10fSkpLG4uZXhpdCgpLnJlbW92ZSgpfX0sZS5wcm90b3R5cGUuX3JlZHJhd1lMaW5lcz1mdW5jdGlvbigpe2lmKHRoaXMuX3lTY2FsZSl7dmFyIHQ9dGhpcy5iZXR3ZWVuWSgpLGU9dGhpcy5feVNjYWxlLnRpY2tzKCkuc2xpY2UodD8xOjApLG49dGhpcy5feUxpbmVzQ29udGFpbmVyLnNlbGVjdEFsbCgibGluZSIpLmRhdGEoZSk7bi5lbnRlcigpLmFwcGVuZCgibGluZSIpLm1lcmdlKG4pLmF0dHIoIngxIiwwKS5hdHRyKCJ5MSIsbXd0KHRoaXMuX3lTY2FsZSx0LHRoaXMuX3lTY2FsZS50aWNrcygpKSkuYXR0cigieDIiLHRoaXMud2lkdGgoKSkuYXR0cigieTIiLG13dCh0aGlzLl95U2NhbGUsdCx0aGlzLl95U2NhbGUudGlja3MoKSkpLmNsYXNzZWQoImJldHdlZW5saW5lIix0KS5jbGFzc2VkKCJ6ZXJvbGluZSIsKGZ1bmN0aW9uKHQpe3JldHVybiAwPT09dH0pKSxuLmV4aXQoKS5yZW1vdmUoKX19LGV9KShPX3QuQ29tcG9uZW50KTtwd3QuR3JpZGxpbmVzPWd3dDt2YXIgX3d0PXt9LHl3dD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHl3dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHZ3dD1CTyxid3Q9X2d0LHh3dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gZS5fZGV0YWNoQ2FsbGJhY2s9ZnVuY3Rpb24odCl7cmV0dXJuIGUucmVtb3ZlKHQpfSxlfXJldHVybiB2d3QuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuYW5jaG9yPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXM7cmV0dXJuIGU9Ynd0LmNvZXJjZUV4dGVybmFsRDMoZSksdC5wcm90b3R5cGUuYW5jaG9yLmNhbGwodGhpcyxlKSx0aGlzLl9mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5hbmNob3Iobi5lbGVtZW50KCkpfSkpLHRoaXN9LGUucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZW5kZXIoKX0pKSx0aGlzfSxlLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJoYXMoKSBpcyBub3QgaW1wbGVtZW50ZWQgb24gQ29tcG9uZW50Q29udGFpbmVyIil9LGUucHJvdG90eXBlLl9hZG9wdEFuZEFuY2hvcj1mdW5jdGlvbih0KXt0LnBhcmVudCh0aGlzKSx0Lm9uRGV0YWNoKHRoaXMuX2RldGFjaENhbGxiYWNrKSx0aGlzLl9pc0FuY2hvcmVkJiZ0LmFuY2hvcih0aGlzLmVsZW1lbnQoKSl9LGUucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5oYXModCkmJih0Lm9mZkRldGFjaCh0aGlzLl9kZXRhY2hDYWxsYmFjayksdGhpcy5fcmVtb3ZlKHQpLHQuZGV0YWNoKCksdGhpcy5yZWRyYXcoKSksdGhpc30sZS5wcm90b3R5cGUuX3JlbW92ZT1mdW5jdGlvbih0KXtyZXR1cm4hMX0sZS5wcm90b3R5cGUuX2ZvckVhY2g9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJfZm9yRWFjaCgpIGlzIG5vdCBpbXBsZW1lbnRlZCBvbiBDb21wb25lbnRDb250YWluZXIiKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3QucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKSx0aGlzLl9mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5kZXN0cm95KCl9KSl9LGUucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT1mdW5jdGlvbigpe3RoaXMuX2ZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiB0LmludmFsaWRhdGVDYWNoZSgpfSkpfSxlfSkoT190LkNvbXBvbmVudCk7eXd0LkNvbXBvbmVudENvbnRhaW5lcj14d3QsCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShfd3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB3d3Q9Qk8sU3d0PURfdCxNd3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dm9pZCAwPT09ZSYmKGU9W10pO3ZhciBuPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gbi5fY29tcG9uZW50cz1bXSxuLmFkZENsYXNzKCJjb21wb25lbnQtZ3JvdXAiKSxlLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBuLmFwcGVuZCh0KX0pKSxufXJldHVybiB3d3QuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuX2ZvckVhY2g9ZnVuY3Rpb24odCl7dGhpcy5jb21wb25lbnRzKCkuZm9yRWFjaCh0KX0sZS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9jb21wb25lbnRzLmluZGV4T2YodCk+PTB9LGUucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fY29tcG9uZW50cy5tYXAoKGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcXVlc3RlZFNwYWNlKHQsZSl9KSk7cmV0dXJue21pbldpZHRoOlN3dC5NYXRoLm1heChuLChmdW5jdGlvbih0KXtyZXR1cm4gdC5taW5XaWR0aH0pLDApLG1pbkhlaWdodDpTd3QuTWF0aC5tYXgobiwoZnVuY3Rpb24odCl7cmV0dXJuIHQubWluSGVpZ2h0fSksMCl9fSxlLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKGUsbixpKXt2YXIgcj10aGlzO3JldHVybiB0LnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxlLG4saSksdGhpcy5fZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5jb21wdXRlTGF5b3V0KHt4OjAseTowfSxyLndpZHRoKCksci5oZWlnaHQoKSl9KSksdGhpc30sZS5wcm90b3R5cGUuX3NpemVGcm9tT2ZmZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm57d2lkdGg6dCxoZWlnaHQ6ZX19LGUucHJvdG90eXBlLmZpeGVkV2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY29tcG9uZW50cy5ldmVyeSgoZnVuY3Rpb24odCl7cmV0dXJuIHQuZml4ZWRXaWR0aCgpfSkpfSxlLnByb3RvdHlwZS5maXhlZEhlaWdodD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb21wb25lbnRzLmV2ZXJ5KChmdW5jdGlvbih0KXtyZXR1cm4gdC5maXhlZEhlaWdodCgpfSkpfSxlLnByb3RvdHlwZS5jb21wb25lbnRzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NvbXBvbmVudHMuc2xpY2UoKX0sZS5wcm90b3R5cGUuYXBwZW5kPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10fHx0aGlzLmhhcyh0KXx8KHQuZGV0YWNoKCksdGhpcy5fY29tcG9uZW50cy5wdXNoKHQpLHRoaXMuX2Fkb3B0QW5kQW5jaG9yKHQpLHRoaXMucmVkcmF3KCkpLHRoaXN9LGUucHJvdG90eXBlLl9yZW1vdmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fY29tcG9uZW50cy5pbmRleE9mKHQpO3JldHVybiBlPj0wJiYodGhpcy5fY29tcG9uZW50cy5zcGxpY2UoZSwxKSwhMCl9LGV9KSh5d3QuQ29tcG9uZW50Q29udGFpbmVyKTtfd3QuR3JvdXA9TXd0O3ZhciBFd3Q9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEV3dCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFR3dD1CTyxDd3Q9TGd0LEF3dD1DeXQsa3d0PXB2dCxMd3Q9RF90LFB3dD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7aWYobi5fdGV4dFBhZGRpbmc9NSxudWxsPT1lKXRocm93IG5ldyBFcnJvcigiSW50ZXJwb2xhdGVkQ29sb3JMZWdlbmQgcmVxdWlyZXMgYSBpbnRlcnBvbGF0ZWRDb2xvclNjYWxlIik7cmV0dXJuIG4uX3NjYWxlPWUsbi5fcmVkcmF3Q2FsbGJhY2s9ZnVuY3Rpb24odCl7cmV0dXJuIG4ucmVkcmF3KCl9LG4uX3NjYWxlLm9uVXBkYXRlKG4uX3JlZHJhd0NhbGxiYWNrKSxuLl9mb3JtYXR0ZXI9a3d0LmdlbmVyYWwoKSxuLl9vcmllbnRhdGlvbj0iaG9yaXpvbnRhbCIsbi5fZXhwYW5kcz0hMSxuLmFkZENsYXNzKCJsZWdlbmQiKSxuLmFkZENsYXNzKCJpbnRlcnBvbGF0ZWQtY29sb3ItbGVnZW5kIiksbn1yZXR1cm4gVHd0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksdGhpcy5fc2NhbGUub2ZmVXBkYXRlKHRoaXMuX3JlZHJhd0NhbGxiYWNrKX0sZS5wcm90b3R5cGUuZm9ybWF0dGVyPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10P3RoaXMuX2Zvcm1hdHRlcjoodGhpcy5fZm9ybWF0dGVyPXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUuZXhwYW5kcz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9leHBhbmRzOih0aGlzLl9leHBhbmRzPXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5fZW5zdXJlT3JpZW50YXRpb249ZnVuY3Rpb24odCl7aWYoImhvcml6b250YWwiPT09KHQ9dC50b0xvd2VyQ2FzZSgpKXx8ImxlZnQiPT09dHx8InJpZ2h0Ij09PXQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCciJyt0KyciIGlzIG5vdCBhIHZhbGlkIG9yaWVudGF0aW9uIGZvciBJbnRlcnBvbGF0ZWRDb2xvckxlZ2VuZCcpfSxlLnByb3RvdHlwZS5vcmllbnRhdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9vcmllbnRhdGlvbjoodGhpcy5fb3JpZW50YXRpb249ZS5fZW5zdXJlT3JpZW50YXRpb24odCksdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUuZml4ZWRXaWR0aD1mdW5jdGlvbigpe3JldHVybiF0aGlzLmV4cGFuZHMoKXx8dGhpcy5faXNWZXJ0aWNhbCgpfSxlLnByb3RvdHlwZS5maXhlZEhlaWdodD1mdW5jdGlvbigpe3JldHVybiF0aGlzLmV4cGFuZHMoKXx8IXRoaXMuX2lzVmVydGljYWwoKX0sZS5wcm90b3R5cGUuX2dlbmVyYXRlVGlja3M9ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9ZS5fREVGQVVMVF9OVU1fU1dBVENIRVMpO3ZhciBuPXRoaXMuX3NjYWxlLmRvbWFpbigpO2lmKDE9PT10KXJldHVybltuWzBdXTtmb3IodmFyIGk9KG5bMV0tblswXSkvKHQtMSkscj1bXSxvPTA7bzx0O28rKylyLnB1c2goblswXStpKm8pO3JldHVybiByfSxlLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKSx0aGlzLl9zd2F0Y2hDb250YWluZXI9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZCgic3dhdGNoLWNvbnRhaW5lciIsITApLHRoaXMuX3N3YXRjaEJvdW5kaW5nQm94PXRoaXMuY29udGVudCgpLmFwcGVuZCgicmVjdCIpLmNsYXNzZWQoInN3YXRjaC1ib3VuZGluZy1ib3giLCEwKSx0aGlzLl9sb3dlckxhYmVsPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5MRUdFTkRfTEFCRUxfQ0xBU1MsITApLHRoaXMuX3VwcGVyTGFiZWw9dGhpcy5jb250ZW50KCkuYXBwZW5kKCJnIikuY2xhc3NlZChlLkxFR0VORF9MQUJFTF9DTEFTUywhMCk7dmFyIG49bmV3IEN3dC5TdmdDb250ZXh0KHRoaXMuY29udGVudCgpLm5vZGUoKSk7dGhpcy5fbWVhc3VyZXI9bmV3IEN3dC5NZWFzdXJlcihuKSx0aGlzLl93cmFwcGVyPW5ldyBDd3QuV3JhcHBlcix0aGlzLl93cml0ZXI9bmV3IEN3dC5Xcml0ZXIodGhpcy5fbWVhc3VyZXIsbix0aGlzLl93cmFwcGVyKX0sZS5wcm90b3R5cGUucmVxdWVzdGVkU3BhY2U9ZnVuY3Rpb24odCxuKXt2YXIgaSxyLG89dGhpcyxhPXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoKS5oZWlnaHQscz1hLGw9dGhpcy5fc2NhbGUuZG9tYWluKCkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gby5fbWVhc3VyZXIubWVhc3VyZShvLl9mb3JtYXR0ZXIodCkpLndpZHRofSkpLGM9ZS5fREVGQVVMVF9OVU1fU1dBVENIRVM7aWYodGhpcy5faXNWZXJ0aWNhbCgpKXt2YXIgdT1Md3QuTWF0aC5tYXgobCwwKTtyPXMrYSt0aGlzLl90ZXh0UGFkZGluZyt1K3RoaXMuX3RleHRQYWRkaW5nLGk9YyphfWVsc2UgaT1zK2ErcyxyPXRoaXMuX3RleHRQYWRkaW5nK2xbMF0rYyphK2xbMV0rdGhpcy5fdGV4dFBhZGRpbmc7cmV0dXJue21pbldpZHRoOnIsbWluSGVpZ2h0Oml9fSxlLnByb3RvdHlwZS5faXNWZXJ0aWNhbD1mdW5jdGlvbigpe3JldHVybiJob3Jpem9udGFsIiE9PXRoaXMuX29yaWVudGF0aW9ufSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKTt2YXIgbixpLHIsbyxhLHMsbD10aGlzLl9zY2FsZS5kb21haW4oKSxjPXRoaXMuX2Zvcm1hdHRlcihsWzBdKSx1PXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoYykud2lkdGgsaD10aGlzLl9mb3JtYXR0ZXIobFsxXSksZD10aGlzLl9tZWFzdXJlci5tZWFzdXJlKGgpLndpZHRoLHA9dGhpcy5fbWVhc3VyZXIubWVhc3VyZSgpLmhlaWdodCxmPXRoaXMuX3RleHRQYWRkaW5nLG09e3g6MCx5OjB9LGc9e3g6MCx5OjB9LF89e3hBbGlnbjoiY2VudGVyIix5QWxpZ246ImNlbnRlciIsdGV4dFJvdGF0aW9uOjB9LHk9e3hBbGlnbjoiY2VudGVyIix5QWxpZ246ImNlbnRlciIsdGV4dFJvdGF0aW9uOjB9LHY9e3g6MCx5OjAsd2lkdGg6MCxoZWlnaHQ6MH07aWYodGhpcy5faXNWZXJ0aWNhbCgpKXtzPU1hdGguZmxvb3IodGhpcy5oZWlnaHQoKSk7dmFyIGI9TWF0aC5tYXgodSxkKTthPSh0aGlzLndpZHRoKCktYi0yKnRoaXMuX3RleHRQYWRkaW5nKS8yLG49TWF0aC5tYXgodGhpcy53aWR0aCgpLWEtMipmLWIsMCksaT0xLG89ZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5oZWlnaHQoKS0obisxKX0seS55QWxpZ249InRvcCIsbS55PTAsXy55QWxpZ249ImJvdHRvbSIsZy55PTAsImxlZnQiPT09dGhpcy5fb3JpZW50YXRpb24/KHI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZitiK2Z9LHkueEFsaWduPSJyaWdodCIsbS54PS0oYStuK2YpLF8ueEFsaWduPSJyaWdodCIsZy54PS0oYStuK2YpKToocj1mdW5jdGlvbih0LGUpe3JldHVybiBhfSx5LnhBbGlnbj0ibGVmdCIsbS54PWErbitmLF8ueEFsaWduPSJsZWZ0IixnLng9YStuK2YpLHYud2lkdGg9bix2LmhlaWdodD1zKml9ZWxzZSBhPU1hdGgubWF4KGYsKHRoaXMuaGVpZ2h0KCktcCkvMikscz1NYXRoLm1heChNYXRoLmZsb29yKHRoaXMud2lkdGgoKS00KmYtdS1kKSwwKSxuPTEsaT1NYXRoLm1heCh0aGlzLmhlaWdodCgpLTIqYSwwKSxyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGguZmxvb3IodSsyKmYpK2V9LG89ZnVuY3Rpb24odCxlKXtyZXR1cm4gYX0seS54QWxpZ249InJpZ2h0IixtLng9LWYsXy54QWxpZ249ImxlZnQiLGcueD1mLHYueT1hLHYud2lkdGg9cypuLHYuaGVpZ2h0PWk7di54PXIobnVsbCwwKSx0aGlzLl91cHBlckxhYmVsLnRleHQoIiIpLHRoaXMuX3dyaXRlci53cml0ZShoLHRoaXMud2lkdGgoKSx0aGlzLmhlaWdodCgpLHksdGhpcy5fdXBwZXJMYWJlbC5ub2RlKCkpLHRoaXMuX3VwcGVyTGFiZWwuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrbS54KyIsICIrbS55KyIpIiksdGhpcy5fbG93ZXJMYWJlbC50ZXh0KCIiKSx0aGlzLl93cml0ZXIud3JpdGUoYyx0aGlzLndpZHRoKCksdGhpcy5oZWlnaHQoKSxfLHRoaXMuX2xvd2VyTGFiZWwubm9kZSgpKSx0aGlzLl9sb3dlckxhYmVsLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK2cueCsiLCAiK2cueSsiKSIpLHRoaXMuX3N3YXRjaEJvdW5kaW5nQm94LmF0dHJzKHYpO3ZhciB4PXRoaXMuX2dlbmVyYXRlVGlja3Mocyksdz10aGlzLl9zd2F0Y2hDb250YWluZXIuc2VsZWN0QWxsKCJyZWN0LnN3YXRjaCIpLmRhdGEoeCksUz13LmVudGVyKCkuYXBwZW5kKCJyZWN0IikuY2xhc3NlZCgic3dhdGNoIiwhMCksTT13Lm1lcmdlKFMpO3JldHVybiB3LmV4aXQoKS5yZW1vdmUoKSxNLmF0dHJzKHtmaWxsOmZ1bmN0aW9uKHQsbil7cmV0dXJuIGUuX3NjYWxlLnNjYWxlKHQpfSx3aWR0aDpuLGhlaWdodDppLHg6cix5Om8sInNoYXBlLXJlbmRlcmluZyI6ImNyaXNwRWRnZXMifSksQXd0LkFERF9USVRMRV9FTEVNRU5UUyYmUy5hcHBlbmQoInRpdGxlIikudGV4dCgoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2Zvcm1hdHRlcih0KX0pKSx0aGlzfSxlLl9ERUZBVUxUX05VTV9TV0FUQ0hFUz0xMSxlLkxFR0VORF9MQUJFTF9DTEFTUz0ibGVnZW5kLWxhYmVsIixlfSkoT190LkNvbXBvbmVudCk7RXd0LkludGVycG9sYXRlZENvbG9yTGVnZW5kPVB3dDt2YXIgTnd0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShOd3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBJd3Q9Qk8sUnd0PUxndCxPd3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxuKXt2b2lkIDA9PT1lJiYoZT0iIiksdm9pZCAwPT09biYmKG49MCk7dmFyIGk9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBpLmFkZENsYXNzKCJsYWJlbCIpLGkudGV4dChlKSxpLmFuZ2xlKG4pLGkueEFsaWdubWVudCgiY2VudGVyIikueUFsaWdubWVudCgiY2VudGVyIiksaS5fcGFkZGluZz0wLGl9cmV0dXJuIEl3dC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5yZXF1ZXN0ZWRTcGFjZT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX21lYXN1cmVyLm1lYXN1cmUodGhpcy5fdGV4dCk7cmV0dXJue21pbldpZHRoOigwPT09dGhpcy5hbmdsZSgpP24ud2lkdGg6bi5oZWlnaHQpKzIqdGhpcy5wYWRkaW5nKCksbWluSGVpZ2h0OigwPT09dGhpcy5hbmdsZSgpP24uaGVpZ2h0Om4ud2lkdGgpKzIqdGhpcy5wYWRkaW5nKCl9fSxlLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKSx0aGlzLl90ZXh0Q29udGFpbmVyPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpO3ZhciBlPW5ldyBSd3QuU3ZnQ29udGV4dCh0aGlzLl90ZXh0Q29udGFpbmVyLm5vZGUoKSk7dGhpcy5fbWVhc3VyZXI9bmV3IFJ3dC5DYWNoZU1lYXN1cmVyKGUpLHRoaXMuX3dyYXBwZXI9bmV3IFJ3dC5XcmFwcGVyLHRoaXMuX3dyaXRlcj1uZXcgUnd0LldyaXRlcih0aGlzLl9tZWFzdXJlcixlLHRoaXMuX3dyYXBwZXIpLHRoaXMudGV4dCh0aGlzLl90ZXh0KX0sZS5wcm90b3R5cGUudGV4dD1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl90ZXh0O2lmKCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoIkxhYmVsLnRleHQoKSBvbmx5IHRha2VzIHN0cmluZ3MgYXMgaW5wdXQiKTtyZXR1cm4gdGhpcy5fdGV4dD10LHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUuYW5nbGU9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fYW5nbGU7aWYoKHQlPTM2MCk+MTgwP3QtPTM2MDp0PC0xODAmJih0Kz0zNjApLC05MCE9PXQmJjAhPT10JiY5MCE9PXQpdGhyb3cgbmV3IEVycm9yKHQrIiBpcyBub3QgYSB2YWxpZCBhbmdsZSBmb3IgTGFiZWwiKTtyZXR1cm4gdGhpcy5fYW5nbGU9dCx0aGlzLnJlZHJhdygpLHRoaXN9LGUucHJvdG90eXBlLnBhZGRpbmc9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fcGFkZGluZztpZigodD0rdCk8MCl0aHJvdyBuZXcgRXJyb3IodCsiIGlzIG5vdCBhIHZhbGlkIHBhZGRpbmcgdmFsdWUuIENhbm5vdCBiZSBsZXNzIHRoYW4gMC4iKTtyZXR1cm4gdGhpcy5fcGFkZGluZz10LHRoaXMucmVkcmF3KCksdGhpc30sZS5wcm90b3R5cGUuZml4ZWRXaWR0aD1mdW5jdGlvbigpe3JldHVybiEwfSxlLnByb3RvdHlwZS5maXhlZEhlaWdodD1mdW5jdGlvbigpe3JldHVybiEwfSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3QucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5LmNhbGwodGhpcyksdGhpcy5fdGV4dENvbnRhaW5lci5zZWxlY3RBbGwoImciKS5yZW1vdmUoKTt2YXIgZT10aGlzLl9tZWFzdXJlci5tZWFzdXJlKHRoaXMuX3RleHQpLG49TWF0aC5tYXgoTWF0aC5taW4oKHRoaXMuaGVpZ2h0KCktZS5oZWlnaHQpLzIsdGhpcy5wYWRkaW5nKCkpLDApLGk9TWF0aC5tYXgoTWF0aC5taW4oKHRoaXMud2lkdGgoKS1lLndpZHRoKS8yLHRoaXMucGFkZGluZygpKSwwKTt0aGlzLl90ZXh0Q29udGFpbmVyLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK2krIiwiK24rIikiKTt2YXIgcj10aGlzLndpZHRoKCktMippLG89dGhpcy5oZWlnaHQoKS0yKm4sYT17eEFsaWduOnRoaXMueEFsaWdubWVudCgpLHlBbGlnbjp0aGlzLnlBbGlnbm1lbnQoKSx0ZXh0Um90YXRpb246dGhpcy5hbmdsZSgpfTtyZXR1cm4gdGhpcy5fd3JpdGVyLndyaXRlKHRoaXMuX3RleHQscixvLGEpLHRoaXN9LGUucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT1mdW5jdGlvbigpe3QucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZS5jYWxsKHRoaXMpLHRoaXMuX21lYXN1cmVyLnJlc2V0KCl9LGV9KShPX3QuQ29tcG9uZW50KTtOd3QuTGFiZWw9T3d0O3ZhciB6d3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUobixpKXt2YXIgcj10LmNhbGwodGhpcyxuLGkpfHx0aGlzO3JldHVybiByLmFkZENsYXNzKGUuVElUTEVfTEFCRUxfQ0xBU1MpLHJ9cmV0dXJuIEl3dC5fX2V4dGVuZHMoZSx0KSxlLlRJVExFX0xBQkVMX0NMQVNTPSJ0aXRsZS1sYWJlbCIsZX0pKE93dCk7Tnd0LlRpdGxlTGFiZWw9end0O3ZhciBEd3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUobixpKXt2YXIgcj10LmNhbGwodGhpcyxuLGkpfHx0aGlzO3JldHVybiByLmFkZENsYXNzKGUuQVhJU19MQUJFTF9DTEFTUykscn1yZXR1cm4gSXd0Ll9fZXh0ZW5kcyhlLHQpLGUuQVhJU19MQUJFTF9DTEFTUz0iYXhpcy1sYWJlbCIsZX0pKE93dCk7Tnd0LkF4aXNMYWJlbD1Ed3Q7dmFyIEJ3dD17fSxId3Q9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShId3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBGd3Q9d3B0O0h3dC5jaXJjbGU9ZnVuY3Rpb24gVnd0KCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBGd3Quc3ltYm9sKCkudHlwZShGd3Quc3ltYm9sQ2lyY2xlKS5zaXplKE1hdGguUEkqTWF0aC5wb3codC8yLDIpKX19LEh3dC5zcXVhcmU9ZnVuY3Rpb24gVXd0KCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBGd3Quc3ltYm9sKCkudHlwZShGd3Quc3ltYm9sU3F1YXJlKS5zaXplKE1hdGgucG93KHQsMikpfX0sSHd0LmNyb3NzPWZ1bmN0aW9uIGp3dCgpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gRnd0LnN5bWJvbCgpLnR5cGUoRnd0LnN5bWJvbENyb3NzKS5zaXplKDUvOSpNYXRoLnBvdyh0LDIpKX19LEh3dC5kaWFtb25kPWZ1bmN0aW9uIEd3dCgpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gRnd0LnN5bWJvbCgpLnR5cGUoRnd0LnN5bWJvbERpYW1vbmQpLnNpemUoTWF0aC50YW4oTWF0aC5QSS82KSpNYXRoLnBvdyh0LDIpLzIpfX0sSHd0LnRyaWFuZ2xlPWZ1bmN0aW9uIFd3dCgpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gRnd0LnN5bWJvbCgpLnR5cGUoRnd0LnN5bWJvbFRyaWFuZ2xlKS5zaXplKE1hdGguc3FydCgzKSpNYXRoLnBvdyh0LzIsMikpfX07SHd0LnN0YXI9ZnVuY3Rpb24gcXd0KCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBGd3Quc3ltYm9sKCkudHlwZShGd3Quc3ltYm9sU3Rhcikuc2l6ZSguODkwODEzMDkxNTI5Mjg1MipNYXRoLnBvdyh0LzIsMikpfX07dmFyIFl3dD0zKigxL01hdGguc3FydCgxMikvMisxKTtId3Qud3llPWZ1bmN0aW9uIFh3dCgpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gRnd0LnN5bWJvbCgpLnR5cGUoRnd0LnN5bWJvbFd5ZSkuc2l6ZShZd3QqTWF0aC5wb3codC8yLjQsMikpfX0sCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShCd3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciAkd3Q9Qk8sS3d0PXdwdCxad3Q9TGd0LEp3dD1DeXQsUXd0PXB2dCx0U3Q9SHd0LGVTdD1EX3QsblN0PU9fdCxpU3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7dm9pZCAwPT09dCYmKHQ9W10pLHZvaWQgMD09PWUmJihlPTApLHZvaWQgMD09PW4mJihuPTEvMCksdGhpcy5jb2x1bW5zPXQsdGhpcy5ib3R0b21QYWRkaW5nPWUsdGhpcy5tYXhXaWR0aD1ufXJldHVybiB0LnByb3RvdHlwZS5hZGRDb2x1bW49ZnVuY3Rpb24odCl7dmFyIGU9dC53aWR0aCxuPXRoaXMuZ2V0V2lkdGhBdmFpbGFibGUoKTt0LndpZHRoPU1hdGgubWluKG4sZSksdGhpcy5jb2x1bW5zLnB1c2godCl9LHQucHJvdG90eXBlLmdldEJvdW5kcz1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5jb2x1bW5zW3RdLG49MCxpPTA7aTx0O2krKyluKz10aGlzLmNvbHVtbnNbaV0ud2lkdGg7cmV0dXJue3RvcExlZnQ6e3g6bix5OjB9LGJvdHRvbVJpZ2h0Ont4Om4rZS53aWR0aCx5OmUuaGVpZ2h0fX19LHQucHJvdG90eXBlLmdldEhlaWdodD1mdW5jdGlvbigpe3JldHVybiBlU3QuTWF0aC5tYXgodGhpcy5jb2x1bW5zLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuaGVpZ2h0fSkpLDApK3RoaXMuYm90dG9tUGFkZGluZ30sdC5wcm90b3R5cGUuZ2V0V2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5taW4odGhpcy5jb2x1bW5zLnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCtlLndpZHRofSksMCksdGhpcy5tYXhXaWR0aCl9LHQucHJvdG90eXBlLmdldFdpZHRoQXZhaWxhYmxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5nZXRXaWR0aCgpO3JldHVybiBNYXRoLm1heCh0aGlzLm1heFdpZHRoLXQsMCl9LHR9KSgpLHJTdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSxuLGkpe3ZvaWQgMD09PXQmJih0PTEvMCksdm9pZCAwPT09ZSYmKGU9MS8wKSx2b2lkIDA9PT1uJiYobj0wKSx2b2lkIDA9PT1pJiYoaT1bXSksdGhpcy5tYXhXaWR0aD10LHRoaXMubWF4SGVpZ2h0PWUsdGhpcy5wYWRkaW5nPW4sdGhpcy5yb3dzPWl9cmV0dXJuIHQucHJvdG90eXBlLmFkZFJvdz1mdW5jdGlvbih0KXt0Lm1heFdpZHRoPXRoaXMubWF4V2lkdGgtMip0aGlzLnBhZGRpbmcsdGhpcy5yb3dzLnB1c2godCl9LHQucHJvdG90eXBlLmdldENvbHVtbkJvdW5kcz1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuZ2V0Um93Qm91bmRzKHQpLGk9dGhpcy5yb3dzW3RdLmdldEJvdW5kcyhlKTtyZXR1cm4gaS50b3BMZWZ0LngrPW4udG9wTGVmdC54LGkuYm90dG9tUmlnaHQueCs9bi50b3BMZWZ0LngsaS50b3BMZWZ0LnkrPW4udG9wTGVmdC55LGkuYm90dG9tUmlnaHQueSs9bi50b3BMZWZ0LnksaX0sdC5wcm90b3R5cGUuZ2V0Um93Qm91bmRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLnBhZGRpbmcsbj10aGlzLnBhZGRpbmcsaT0wO2k8dDtpKyspbis9dGhpcy5yb3dzW2ldLmdldEhlaWdodCgpO3JldHVybnt0b3BMZWZ0Ont4OmUseTpufSxib3R0b21SaWdodDp7eDplK3RoaXMucm93c1t0XS5nZXRXaWR0aCgpLHk6bit0aGlzLnJvd3NbdF0uZ2V0SGVpZ2h0KCl9fX0sdC5wcm90b3R5cGUuZ2V0SGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgubWluKHRoaXMucm93cy5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrZS5nZXRIZWlnaHQoKX0pLDApKzIqdGhpcy5wYWRkaW5nLHRoaXMubWF4SGVpZ2h0KX0sdC5wcm90b3R5cGUuZ2V0V2lkdGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5taW4oZVN0Lk1hdGgubWF4KHRoaXMucm93cy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFdpZHRoKCl9KSksMCkrMip0aGlzLnBhZGRpbmcsdGhpcy5tYXhXaWR0aCl9LHR9KSgpLG9TdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7aWYobi5fcGFkZGluZz01LG4uX3Jvd0JvdHRvbVBhZGRpbmc9MyxuLmFkZENsYXNzKCJsZWdlbmQiKSxuLm1heEVudHJpZXNQZXJSb3coMSksbnVsbD09ZSl0aHJvdyBuZXcgRXJyb3IoIkxlZ2VuZCByZXF1aXJlcyBhIGNvbG9yU2NhbGUiKTtyZXR1cm4gbi5fY29sb3JTY2FsZT1lLG4uX3JlZHJhd0NhbGxiYWNrPWZ1bmN0aW9uKHQpe3JldHVybiBuLnJlZHJhdygpfSxuLl9jb2xvclNjYWxlLm9uVXBkYXRlKG4uX3JlZHJhd0NhbGxiYWNrKSxuLl9mb3JtYXR0ZXI9UXd0LmlkZW50aXR5KCksbi5tYXhMaW5lc1BlckVudHJ5KDEpLG4ueEFsaWdubWVudCgicmlnaHQiKS55QWxpZ25tZW50KCJ0b3AiKSxuLmNvbXBhcmF0b3IoKGZ1bmN0aW9uKHQsZSl7dmFyIGk9bi5fY29sb3JTY2FsZS5kb21haW4oKS5zbGljZSgpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG4uX2Zvcm1hdHRlcih0KX0pKTtyZXR1cm4gaS5pbmRleE9mKHQpLWkuaW5kZXhPZihlKX0pKSxuLl9zeW1ib2xGYWN0b3J5QWNjZXNzb3I9ZnVuY3Rpb24oKXtyZXR1cm4gdFN0LmNpcmNsZSgpfSxuLl9zeW1ib2xPcGFjaXR5QWNjZXNzb3I9ZnVuY3Rpb24oKXtyZXR1cm4gMX0sbn1yZXR1cm4gJHd0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3QucHJvdG90eXBlLl9zZXR1cC5jYWxsKHRoaXMpO3ZhciBuPXRoaXMuY29udGVudCgpLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5MRUdFTkRfUk9XX0NMQVNTLCEwKTtuLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5MRUdFTkRfRU5UUllfQ0xBU1MsITApLmFwcGVuZCgidGV4dCIpO3ZhciBpPW5ldyBad3QuU3ZnQ29udGV4dChuLm5vZGUoKSxudWxsLEp3dC5BRERfVElUTEVfRUxFTUVOVFMpO3RoaXMuX21lYXN1cmVyPW5ldyBad3QuQ2FjaGVNZWFzdXJlcihpKSx0aGlzLl93cmFwcGVyPShuZXcgWnd0LldyYXBwZXIpLm1heExpbmVzKHRoaXMubWF4TGluZXNQZXJFbnRyeSgpKSx0aGlzLl93cml0ZXI9bmV3IFp3dC5Xcml0ZXIodGhpcy5fbWVhc3VyZXIsaSx0aGlzLl93cmFwcGVyKX0sZS5wcm90b3R5cGUuZm9ybWF0dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2Zvcm1hdHRlcjoodGhpcy5fZm9ybWF0dGVyPXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUubWF4RW50cmllc1BlclJvdz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9tYXhFbnRyaWVzUGVyUm93Oih0aGlzLl9tYXhFbnRyaWVzUGVyUm93PXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUubWF4TGluZXNQZXJFbnRyeT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9tYXhMaW5lc1BlckVudHJ5Oih0aGlzLl9tYXhMaW5lc1BlckVudHJ5PXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUubWF4V2lkdGg9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fbWF4V2lkdGg6KHRoaXMuX21heFdpZHRoPXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUuY29tcGFyYXRvcj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9jb21wYXJhdG9yOih0aGlzLl9jb21wYXJhdG9yPXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZS5wcm90b3R5cGUuY29sb3JTY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dD8odGhpcy5fY29sb3JTY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVkcmF3Q2FsbGJhY2spLHRoaXMuX2NvbG9yU2NhbGU9dCx0aGlzLl9jb2xvclNjYWxlLm9uVXBkYXRlKHRoaXMuX3JlZHJhd0NhbGxiYWNrKSx0aGlzLnJlZHJhdygpLHRoaXMpOnRoaXMuX2NvbG9yU2NhbGV9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksdGhpcy5fY29sb3JTY2FsZS5vZmZVcGRhdGUodGhpcy5fcmVkcmF3Q2FsbGJhY2spfSxlLnByb3RvdHlwZS5fYnVpbGRMZWdlbmRUYWJsZT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMsaT10aGlzLl9tZWFzdXJlci5tZWFzdXJlKCkuaGVpZ2h0LHI9bmV3IHJTdCh0LGUsdGhpcy5fcGFkZGluZyksbz10aGlzLl9jb2xvclNjYWxlLmRvbWFpbigpLnNsaWNlKCkuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5fY29tcGFyYXRvcihuLl9mb3JtYXR0ZXIodCksbi5fZm9ybWF0dGVyKGUpKX0pKSxhPW5ldyBpU3Q7cmV0dXJuIHIuYWRkUm93KGEpLGEuYm90dG9tUGFkZGluZz10aGlzLl9yb3dCb3R0b21QYWRkaW5nLG8uZm9yRWFjaCgoZnVuY3Rpb24odCxlKXthLmNvbHVtbnMubGVuZ3RoLzI9PT1uLm1heEVudHJpZXNQZXJSb3coKSYmKChhPW5ldyBpU3QpLmJvdHRvbVBhZGRpbmc9bi5fcm93Qm90dG9tUGFkZGluZyxyLmFkZFJvdyhhKSk7dmFyIG89YS5nZXRXaWR0aEF2YWlsYWJsZSgpLHM9bi5fZm9ybWF0dGVyKHQpLGw9bi5fbWVhc3VyZXIubWVhc3VyZShzKS53aWR0aDtvLWktbDwwJiZhLmNvbHVtbnMubGVuZ3RoPjEmJigoYT1uZXcgaVN0KS5ib3R0b21QYWRkaW5nPW4uX3Jvd0JvdHRvbVBhZGRpbmcsci5hZGRSb3coYSkpLGEuYWRkQ29sdW1uKHt3aWR0aDppLGhlaWdodDppLGRhdGE6e25hbWU6dCx0eXBlOiJzeW1ib2wifX0pLG89YS5nZXRXaWR0aEF2YWlsYWJsZSgpO3ZhciBjPU1hdGgubWluKG8sbCk7bi5fd3JhcHBlci5tYXhMaW5lcyhuLm1heExpbmVzUGVyRW50cnkoKSk7dmFyIHU9bi5fd3JhcHBlci53cmFwKHMsbi5fbWVhc3VyZXIsYykubm9MaW5lczthLmFkZENvbHVtbih7d2lkdGg6YyxoZWlnaHQ6dSppLGRhdGE6e25hbWU6dCx0eXBlOiJ0ZXh0In19KX0pKSxyfSxlLnByb3RvdHlwZS5yZXF1ZXN0ZWRTcGFjZT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX2J1aWxkTGVnZW5kVGFibGUoZVN0Lk1hdGgubWluKFt0aGlzLm1heFdpZHRoKCksdF0sdCksZSk7cmV0dXJue21pbkhlaWdodDpuLmdldEhlaWdodCgpLG1pbldpZHRoOm4uZ2V0V2lkdGgoKX19LGUucHJvdG90eXBlLmVudGl0aWVzQXQ9ZnVuY3Rpb24odCl7dmFyIG49dGhpcztpZighdGhpcy5faXNTZXR1cClyZXR1cm5bXTt2YXIgaT10aGlzLl9idWlsZExlZ2VuZFRhYmxlKHRoaXMud2lkdGgoKSx0aGlzLmhlaWdodCgpKTtyZXR1cm4gaS5yb3dzLnJlZHVjZSgoZnVuY3Rpb24ocixvLGEpe2lmKDAhPT1yLmxlbmd0aClyZXR1cm4gcjt2YXIgcz1pLmdldFJvd0JvdW5kcyhhKTtyZXR1cm4gZVN0Lk1hdGgud2l0aGluKHQscyk/by5jb2x1bW5zLnJlZHVjZSgoZnVuY3Rpb24ocixvLHMpe3ZhciBsPWkuZ2V0Q29sdW1uQm91bmRzKGEscyk7aWYoZVN0Lk1hdGgud2l0aGluKHQsbCkpe3ZhciBjPW4uY29udGVudCgpLnNlbGVjdEFsbCgiLiIrZS5MRUdFTkRfUk9XX0NMQVNTKS5ub2RlcygpW2FdLHU9S3d0LnNlbGVjdChjKS5zZWxlY3RBbGwoIi4iK2UuTEVHRU5EX0VOVFJZX0NMQVNTKS5ub2RlcygpW01hdGguZmxvb3Iocy8yKV0saD1Ld3Quc2VsZWN0KHUpLnNlbGVjdCgiLiIrZS5MRUdFTkRfU1lNQk9MX0NMQVNTKSxkPWVTdC5ET00uZ2V0VHJhbnNsYXRlVmFsdWVzKEt3dC5zZWxlY3QoYykpLHA9ZVN0LkRPTS5nZXRUcmFuc2xhdGVWYWx1ZXMoaCk7cmV0dXJuW3tib3VuZHM6ZVN0LkRPTS5lbGVtZW50QkJveChLd3Quc2VsZWN0KGMpKSxkYXR1bTpvLmRhdGEubmFtZSxwb3NpdGlvbjp7eDpkWzBdK3BbMF0seTpkWzFdK3BbMV19LHNlbGVjdGlvbjpLd3Quc2VsZWN0KHUpLGNvbXBvbmVudDpufV19cmV0dXJuIHJ9KSxyKTpyfSksW10pfSxlLnByb3RvdHlwZS5yZW5kZXJJbW1lZGlhdGVseT1mdW5jdGlvbigpe3QucHJvdG90eXBlLnJlbmRlckltbWVkaWF0ZWx5LmNhbGwodGhpcyk7dmFyIG49dGhpcy5fYnVpbGRMZWdlbmRUYWJsZSh0aGlzLndpZHRoKCksdGhpcy5oZWlnaHQoKSk7dGhpcy5jb250ZW50KCkuc2VsZWN0QWxsKCIqIikucmVtb3ZlKCk7dmFyIGk9dGhpcy5jb250ZW50KCkuc2VsZWN0QWxsKCJnLiIrZS5MRUdFTkRfUk9XX0NMQVNTKS5kYXRhKG4ucm93cykscj1pLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZChlLkxFR0VORF9ST1dfQ0xBU1MsITApLm1lcmdlKGkpO2kuZXhpdCgpLnJlbW92ZSgpLHIuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCxlKXt2YXIgaT1uLmdldFJvd0JvdW5kcyhlKTtyZXR1cm4idHJhbnNsYXRlKCIraS50b3BMZWZ0LngrIiwgIitpLnRvcExlZnQueSsiKSJ9KSk7dmFyIG89dGhpcztyZXR1cm4gci5lYWNoKChmdW5jdGlvbih0LGkpe2Zvcih2YXIgcj1bXSxhPTA7YTx0LmNvbHVtbnMubGVuZ3RoO2ErPTIpci5wdXNoKFt0LmNvbHVtbnNbYV0sdC5jb2x1bW5zW2ErMV1dKTt2YXIgcz1Ld3Quc2VsZWN0KHRoaXMpLnNlbGVjdEFsbCgiZy4iK2UuTEVHRU5EX0VOVFJZX0NMQVNTKS5kYXRhKHIpLGw9cy5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5MRUdFTkRfRU5UUllfQ0xBU1MsITApLm1lcmdlKHMpO2wuYXBwZW5kKCJwYXRoIikuYXR0cigiZCIsKGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtyZXR1cm4gby5zeW1ib2woKShuLmRhdGEubmFtZSxpKSguNipuLmhlaWdodCkobnVsbCl9KSkuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCxlKXt2YXIgcj10WzBdLG89bi5yb3dzW2ldLmNvbHVtbnMuaW5kZXhPZihyKTtyZXR1cm4idHJhbnNsYXRlKCIrKG4uZ2V0Q29sdW1uQm91bmRzKGksbykudG9wTGVmdC54K3Iud2lkdGgvMikrIiwgIityLmhlaWdodC8yKyIpIn0pKS5hdHRyKCJmaWxsIiwoZnVuY3Rpb24odCl7cmV0dXJuIG8uX2NvbG9yU2NhbGUuc2NhbGUodFswXS5kYXRhLm5hbWUpfSkpLmF0dHIoIm9wYWNpdHkiLChmdW5jdGlvbih0LGUpe3JldHVybiBvLnN5bWJvbE9wYWNpdHkoKSh0WzBdLmRhdGEubmFtZSxpKX0pKS5jbGFzc2VkKGUuTEVHRU5EX1NZTUJPTF9DTEFTUywhMCksbC5hcHBlbmQoImciKS5jbGFzc2VkKCJ0ZXh0LWNvbnRhaW5lciIsITApLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQsZSl7dmFyIHI9bi5yb3dzW2ldLmNvbHVtbnMuaW5kZXhPZih0WzFdKTtyZXR1cm4idHJhbnNsYXRlKCIrbi5nZXRDb2x1bW5Cb3VuZHMoaSxyKS50b3BMZWZ0LngrIiwgMCkifSkpLmVhY2goKGZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1Ld3Quc2VsZWN0KHRoaXMpLHI9dFsxXTtvLl93cml0ZXIud3JpdGUoby5fZm9ybWF0dGVyKHIuZGF0YS5uYW1lKSxyLndpZHRoLG8uaGVpZ2h0KCkse3hBbGlnbjoibGVmdCIseUFsaWduOiJ0b3AiLHRleHRSb3RhdGlvbjowfSxpLm5vZGUoKSl9KSkscy5leGl0KCkucmVtb3ZlKCl9KSksdGhpc30sZS5wcm90b3R5cGUuc3ltYm9sPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3N5bWJvbEZhY3RvcnlBY2Nlc3NvcjoodGhpcy5fc3ltYm9sRmFjdG9yeUFjY2Vzc29yPXQsdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUuc3ltYm9sT3BhY2l0eT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9zeW1ib2xPcGFjaXR5QWNjZXNzb3I6KHRoaXMuX3N5bWJvbE9wYWNpdHlBY2Nlc3Nvcj0ibnVtYmVyIj09dHlwZW9mIHQ/ZnVuY3Rpb24oKXtyZXR1cm4gdH06dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7cmV0dXJuITB9LGUucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuITB9LGUucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZT1mdW5jdGlvbigpe3QucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZS5jYWxsKHRoaXMpLHRoaXMuX21lYXN1cmVyLnJlc2V0KCl9LGUuTEVHRU5EX1JPV19DTEFTUz0ibGVnZW5kLXJvdyIsZS5MRUdFTkRfRU5UUllfQ0xBU1M9ImxlZ2VuZC1lbnRyeSIsZS5MRUdFTkRfU1lNQk9MX0NMQVNTPSJsZWdlbmQtc3ltYm9sIixlfSkoblN0LkNvbXBvbmVudCk7Qnd0LkxlZ2VuZD1vU3Q7dmFyIGFTdD17fSxzU3Q9e30sbFN0PXt9OyEoZnVuY3Rpb24odCl7dmFyIGU7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSwoZT10LkFuaW1hdG9yfHwodC5BbmltYXRvcj17fSkpLk1BSU49Im1haW4iLGUuUkVTRVQ9InJlc2V0In0pKGxTdCk7dmFyIGNTdD17fSx1U3Q9e30saFN0PXt9LGRTdD1mdW5jdGlvbiB0KGUpe3JldHVybiBudWxsIT1lJiYib2JqZWN0Ij09dHlwZW9mIGUmJiExPT09QXJyYXkuaXNBcnJheShlKX07ZnVuY3Rpb24gcFN0KHQpe3JldHVybiEwPT09ZFN0KHQpJiYiW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX12YXIgZlN0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZlN0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbVN0PURfdCxnU3Q9MCxfU3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe3ZvaWQgMD09PXQmJih0PVtdKSx2b2lkIDA9PT1lJiYoZT17fSksdGhpcy5fdXBkYXRlSWQ9Z1N0KyssdGhpcy5fZGF0YT10LHRoaXMuX21ldGFkYXRhPWUsdGhpcy5fY2FsbGJhY2tzPW5ldyBtU3QuQ2FsbGJhY2tTZXR9cmV0dXJuIHQucHJvdG90eXBlLm9uVXBkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3MuYWRkKHQpLHRoaXN9LHQucHJvdG90eXBlLm9mZlVwZGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fY2FsbGJhY2tzLmRlbGV0ZSh0KSx0aGlzfSx0LnByb3RvdHlwZS5kYXRhPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2RhdGE6KHRoaXMuX2RhdGE9dCx0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpLHRoaXMpfSx0LnByb3RvdHlwZS5tZXRhZGF0YT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9tZXRhZGF0YToodGhpcy5fbWV0YWRhdGE9dCx0aGlzLl9kaXNwYXRjaFVwZGF0ZSgpLHRoaXMpfSx0LnByb3RvdHlwZS51cGRhdGVJZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl91cGRhdGVJZH0sdC5wcm90b3R5cGUuX2Rpc3BhdGNoVXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5fdXBkYXRlSWQ9Z1N0KyssdGhpcy5fY2FsbGJhY2tzLmNhbGxDYWxsYmFja3ModGhpcyl9LHR9KSgpO2ZTdC5EYXRhc2V0PV9TdCwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKiBAZmlsZW92ZXJ2aWV3IEltcGxlbWVudHMgdGhlIFNpZ25hdHVyZSBBUEkgdG8gaGVscCBpbiBjb21wYXJpbmcgd2hlbiB0d28KICAgICAqIFBsb3R0YWJsZSBvYmplY3RzIGhhdmUgImNoYW5nZWQiLgogICAgICoKICAgICAqIE1lbW9pemF0aW9uIGluIFBsb3R0YWJsZSBpcyBjb21wbGljYXRlZCBieSBtdXRhYmxlIHNjYWxlcyBhbmQgZGF0YXNldHMuIFdlIGNhbm5vdCBzaW1wbHkKICAgICAqIHJlZmVyZW5jZSBjb21wYXJlIHR3byBlLmcuIHNjYWxlcyBzaW5jZSBpdCBtYXkgaGF2ZSBpbnRlcm5hbGx5IG11dGF0ZWQuIFRvIHJlc29sdmUgdGhpcywKICAgICAqIHdlIHdyaXRlIGEgcmVjdXJzaXZlIFNpZ25hdHVyZSBpbnRlcmZhY2UgdGhhdCBob2xkcyBhbiBpbW11dGFibGUgc25hcHNob3Qgb2Ygd2hhdGV2ZXIKICAgICAqIHN0YXRlIHRoZSBzY2FsZS9kYXRhIHdhcyBpbiBhdCB0aGUgdGltZS4gVGhlbiBvbiBtZW1vaXplZCBmdW5jdGlvbiBpbnZvY2F0aW9uIHdlIHNpZ24gdGhlCiAgICAgKiBuZXcgaW5wdXRzIGFuZCBjb21wYXJlIHRoZSBzaWduYXR1cmVzIHRvIGRlY2lkZSBpZiB3ZSBzaG91bGQgcmVjb21wdXRlLgogICAgICoKICAgICAqIFdlIG11c3QgaGFuZC13cml0ZSBhIHNpZ25hdHVyZSBmb3IgZWFjaCBjdXN0b20gY2xhc3Mgd2Ugd2lzaCB0byBzdXBwb3J0LgogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShoU3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB5U3Q9Qk8sdlN0PWZ1bmN0aW9uIHQoZSl7dmFyIG4saTtyZXR1cm4hMSE9PXBTdChlKSYmKCJmdW5jdGlvbiI9PXR5cGVvZihuPWUuY29uc3RydWN0b3IpJiYoITEhPT1wU3QoaT1uLnByb3RvdHlwZSkmJiExIT09aS5oYXNPd25Qcm9wZXJ0eSgiaXNQcm90b3R5cGVPZiIpKSl9LGJTdD1mU3QseFN0PWxidDtmdW5jdGlvbiB3U3QodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBBU3Q/dDp0IGluc3RhbmNlb2YgRGF0ZT9FU3QodC52YWx1ZU9mKCkpOnQgaW5zdGFuY2VvZiB4U3QuU2NhbGU/U1N0KHQpOnQgaW5zdGFuY2VvZiBiU3QuRGF0YXNldD9NU3QodCk6dlN0KHQpP0NTdCh0KTpBcnJheS5pc0FycmF5KHQpP1RTdCh0KTpFU3QodCl9ZnVuY3Rpb24gU1N0KHQpe3JldHVybiBDU3Qoe2RvbWFpbjp0LmRvbWFpbigpLHJhbmdlOnQucmFuZ2UoKSx1cGRhdGVJZDp0LnVwZGF0ZUlkKCkscmVmOkVTdCh0KX0pfWZ1bmN0aW9uIE1TdCh0KXtyZXR1cm4gQ1N0KHtyZWY6RVN0KHQpLHVwZGF0ZUlkOnQudXBkYXRlSWQoKX0pfWZ1bmN0aW9uIEVTdCh0KXtyZXR1cm4gbmV3IExTdCh0KX1mdW5jdGlvbiBUU3QodCl7cmV0dXJuIG5ldyBrU3QodC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB3U3QodCl9KSkpfWZ1bmN0aW9uIENTdCh0KXt2YXIgZT17fTtmb3IodmFyIG4gaW4gdCl0Lmhhc093blByb3BlcnR5KG4pJiYoZVtuXT13U3QodFtuXSkpO3JldHVybiBuZXcgUFN0KGUpfWhTdC5zaWduPXdTdCxoU3Quc2lnblNjYWxlPVNTdCxoU3Quc2lnbkRhdGFzZXQ9TVN0LGhTdC5zaWduUmVmPUVTdCxoU3Quc2lnbkFycmF5PVRTdCxoU3Quc2lnbk9iaj1DU3Q7dmFyIEFTdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiB0LnByb3RvdHlwZS5pc0RpZmZlcmVudD1mdW5jdGlvbih0KXtyZXR1cm4hKHQgaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yKXx8dGhpcy5pc1NpZ25hdHVyZURpZmZlcmVudCh0KX0sdH0pKCk7aFN0LlNpZ25hdHVyZT1BU3Q7dmFyIGtTdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4uYXJyYXk9ZSxufXJldHVybiB5U3QuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuaXNTaWduYXR1cmVEaWZmZXJlbnQ9ZnVuY3Rpb24odCl7aWYodC5hcnJheS5sZW5ndGghPT10aGlzLmFycmF5Lmxlbmd0aClyZXR1cm4hMDtmb3IodmFyIGU9MDtlPHRoaXMuYXJyYXkubGVuZ3RoO2UrKylpZih0aGlzLmFycmF5W2VdLmlzRGlmZmVyZW50KHQuYXJyYXlbZV0pKXJldHVybiEwO3JldHVybiExfSxlfSkoQVN0KTtoU3QuQXJyYXlTaWduYXR1cmU9a1N0O3ZhciBMU3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dmFyIG49dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBuLnJlZj1lLG59cmV0dXJuIHlTdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5pc1NpZ25hdHVyZURpZmZlcmVudD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZWYhPT10LnJlZn0sZX0pKEFTdCk7aFN0LlJlZmVyZW5jZVNpZ25hdHVyZT1MU3Q7dmFyIFBTdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4ub2JqPWUsbn1yZXR1cm4geVN0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmlzU2lnbmF0dXJlRGlmZmVyZW50PWZ1bmN0aW9uKHQpe3ZhciBlPU9iamVjdC5rZXlzKHRoaXMub2JqKSxuPU9iamVjdC5rZXlzKHQub2JqKTtpZihlLmxlbmd0aCE9PW4ubGVuZ3RoKXJldHVybiEwO2Zvcih2YXIgaT0wLHI9ZTtpPHIubGVuZ3RoO2krKyl7dmFyIG89cltpXTtpZighdC5vYmouaGFzT3duUHJvcGVydHkobykpcmV0dXJuITA7aWYodGhpcy5vYmpbb10uaXNEaWZmZXJlbnQodC5vYmpbb10pKXJldHVybiEwfXJldHVybiExfSxlfSkoQVN0KTtoU3QuT2JqZWN0U2lnbmF0dXJlPVBTdCwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKiBAZmlsZW92ZXJ2aWV3IEltcGxlbWVudHMgYSBmdW5jdGlvbiBtZW1vaXplciB1c2luZyB0aGUgU2lnbmF0dXJlIEFQSS4KICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkodVN0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgTlN0PWhTdDt1U3QubWVtb2l6ZT1mdW5jdGlvbiBJU3QodCl7dmFyIGUsbj12b2lkIDAsaT0hMSxyPSExLG89ZnVuY3Rpb24oKXtmb3IodmFyIG89W10sYT0wO2E8YXJndW1lbnRzLmxlbmd0aDthKyspb1thXT1hcmd1bWVudHNbYV07aWYoaSlyZXR1cm4gZTt2YXIgcz1OU3Quc2lnbkFycmF5KG8pO3JldHVybiB2b2lkIDA9PT1ufHxuLmlzRGlmZmVyZW50KHMpPyhyJiZjb25zb2xlLndhcm4oImNhY2hlIG1pc3MhIGNvbXB1dGluZyIpLG49cyxlPXQuYXBwbHkodGhpcyxvKSk6ciYmY29uc29sZS53YXJuKCJjYWNoZSBoaXQhIiksZX07cmV0dXJuIG8uZG9Mb2NrZWQ9ZnVuY3Rpb24odCl7aWYoaSl0aHJvdyBuZXcgRXJyb3IoIkxvY2tpbmcgYW4gYWxyZWFkeSBsb2NrZWQgbWVtb2l6ZSBmdW5jdGlvbiEiKTtpPSEwO3ZhciBlPXQuYXBwbHkodGhpcyk7cmV0dXJuIGk9ITEsZX0sby5sb2dQZXJmb3JtYW5jZT1mdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9ITApLHI9dCx0aGlzfSxvfTt2YXIgUlN0PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShSU3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBPU3Q9Q2UuZXhwb3J0cyx6U3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3RoaXMubWFwPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5leGlzdHM9T2JqZWN0LmNyZWF0ZShudWxsKX1yZXR1cm4gdC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3JldHVybiBkZWxldGUgdGhpcy5tYXBbdF0sZGVsZXRlIHRoaXMuZXhpc3RzW3RdLCEwfSx0LnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubWFwW3RdfSx0LnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuISF0aGlzLmV4aXN0c1t0XX0sdC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMubWFwW3RdPWUsdGhpcy5leGlzdHNbdF09ITAsdGhpc30sdH0pKCksRFN0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLm1hcD1uZXcgelN0fXJldHVybiB0LnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubWFwLmdldCh0WzBdKS5nZXQodFsxXSl9LHQucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tYXAuaGFzKHRbMF0pJiZ0aGlzLm1hcC5nZXQodFswXSkuaGFzKHRbMV0pfSx0LnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5tYXAuaGFzKHRbMF0pfHx0aGlzLm1hcC5zZXQodFswXSxuZXcgelN0KSx0aGlzLm1hcC5nZXQodFswXSkuc2V0KHRbMV0sZSksdGhpc30sdC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm1hcC5oYXModFswXSkmJnRoaXMubWFwLmdldCh0WzBdKS5kZWxldGUodFsxXSksITB9LHQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5tYXA9bmV3IHpTdH0sdC5yZXNvbHZlcj1mdW5jdGlvbih0LGUsbil7cmV0dXJuW24udXBkYXRlSWQoKSxlXX0sdH0pKCk7ZnVuY3Rpb24gQlN0KHQpe3ZhciBlPU9TdC5tZW1vaXplKHQsRFN0LnJlc29sdmVyKTtyZXR1cm4gZS5jYWNoZT1uZXcgRFN0LGV9UlN0Lm1lbW9pemVQcm9qZWN0b3I9QlN0LFJTdC5tZW1vaXplUHJvamVjdG9ycz1mdW5jdGlvbiBIU3QodCl7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RbZV09QlN0KHRbZV0pfSkpLHR9O3ZhciBGU3Q9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICogQGZpbGVvdmVydmlldyBJbXBsZW1lbnRzIGEgY29udmVuaWVudCB0aHVuayBmdW5jdGlvbiB0byBoYW5kbGUgdGhlIGNvbW1vbiBjYXNlCiAgICAgKiBvZiBjcmVhdGluZyBhIG1lbW9pemVkIGZ1bmN0aW9uIHRoYXQgdGFrZXMgaXRzIGlucHV0cyBmcm9tIG11dGFibGUgY2xhc3MgcHJvcGVydGllcy4KICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShGU3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBWU3Q9Y1N0O0ZTdC5tZW1UaHVuaz1mdW5jdGlvbiBVU3QoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49dC5zbGljZSgwLC0xKSxpPXRbdC5sZW5ndGgtMV0scj1WU3QubWVtb2l6ZShpKSxvPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPW4ubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5hcHBseSh0KX0pKTtyZXR1cm4gci5hcHBseSh2b2lkIDAsZSl9O3JldHVybiBvfSwoZnVuY3Rpb24odCl7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZT1CTztlLl9fZXhwb3J0U3Rhcih1U3QsdCksZS5fX2V4cG9ydFN0YXIoUlN0LHQpLGUuX19leHBvcnRTdGFyKEZTdCx0KSx0LnNpZ249aFN0LnNpZ259KShjU3QpO3ZhciBqU3Q9e307IShmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPXdwdCxuPShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5fZHJhd1N0ZXA9ZX1yZXR1cm4gdC5wcm90b3R5cGUuZ2V0RHJhd1N0ZXA9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhd1N0ZXB9LHQucHJvdG90eXBlLmRyYXc9ZnVuY3Rpb24odCxlKXt2YXIgbj1lW2UubGVuZ3RoLTFdLmF0dHJUb0FwcGxpZWRQcm9qZWN0b3I7dGhpcy5fY29udGV4dC5zYXZlKCksdGhpcy5fZHJhd1N0ZXAodGhpcy5fY29udGV4dCx0LG4pLHRoaXMuX2NvbnRleHQucmVzdG9yZSgpfSx0LnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVzPWZ1bmN0aW9uKCl7cmV0dXJuW119LHQucHJvdG90eXBlLmdldFZpc3VhbFByaW1pdGl2ZUF0SW5kZXg9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGx9LHQucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe30sdH0pKCk7ZnVuY3Rpb24gaSh0LGUsbixpKXtmb3IodmFyIHI9e30sbz0wLGE9ZTtvPGEubGVuZ3RoO28rKyl7dmFyIHM9YVtvXTt0Lmhhc093blByb3BlcnR5KHMpJiYocltzXT10W3NdKG4saSkpfXJldHVybiByfWZ1bmN0aW9uIHIodCl7cmV0dXJuIG51bGwhPXRbInN0cm9rZS13aWR0aCJdP3BhcnNlRmxvYXQodFsic3Ryb2tlLXdpZHRoIl0pOjF9ZnVuY3Rpb24gbyh0KXt2YXIgZT10WyJzdHJva2UtZGFzaGFycmF5Il07aWYobnVsbCE9ZSl0cnl7cmV0dXJuIGUuc3BsaXQoL1sgLF0rLykubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gcGFyc2VJbnQodCwxMCl9KSl9Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoImdldFN0cm9rZURhc2hBcnJheSBmYWlsZWQgd2l0aDogIit0KSxbXX1yZXR1cm5bXX1mdW5jdGlvbiBhKHQsbil7aWYobi5zdHJva2Upe3QubGluZVdpZHRoPXIobik7dmFyIGk9ZS5jb2xvcihuLnN0cm9rZSksYT1vKG4pO3Quc2V0TGluZURhc2goYSksaS5vcGFjaXR5Kj0oZnVuY3Rpb24gcyh0KXt2YXIgZT1udWxsIT10Lm9wYWNpdHk/cGFyc2VGbG9hdCh0Lm9wYWNpdHkpOjE7cmV0dXJuKG51bGwhPXRbInN0cm9rZS1vcGFjaXR5Il0/cGFyc2VGbG9hdCh0WyJzdHJva2Utb3BhY2l0eSJdKToxKSplfSkobiksdC5zdHJva2VTdHlsZT1pLnRvU3RyaW5nKCksdC5zdHJva2UoKX1pZihuLmZpbGwpe3ZhciBsPWUuY29sb3Iobi5maWxsKTtsLm9wYWNpdHkqPShmdW5jdGlvbiBjKHQpe3ZhciBlPW51bGwhPXQub3BhY2l0eT9wYXJzZUZsb2F0KHQub3BhY2l0eSk6MTtyZXR1cm4obnVsbCE9dFsiZmlsbC1vcGFjaXR5Il0/cGFyc2VGbG9hdCh0WyJmaWxsLW9wYWNpdHkiXSk6MSkqZX0pKG4pLHQuZmlsbFN0eWxlPWwudG9TdHJpbmcoKSx0LmZpbGwoKX19dC5DYW52YXNEcmF3ZXI9bix0LkNvbnRleHRTdHlsZUF0dHJzPVsiZmlsbC1vcGFjaXR5IiwiZmlsbCIsIm9wYWNpdHkiLCJzdHJva2Utb3BhY2l0eSIsInN0cm9rZS13aWR0aCIsInN0cm9rZSIsInN0cm9rZS1kYXNoYXJyYXkiXSx0LnJlc29sdmVBdHRyaWJ1dGVzU3Vic2V0V2l0aFN0eWxlcz1mdW5jdGlvbiBzKGUsbixyLG8pe3JldHVybiBpKGUsdC5Db250ZXh0U3R5bGVBdHRycy5jb25jYXQobikscixvKX0sdC5yZXNvbHZlQXR0cmlidXRlcz1pLHQuZ2V0U3Ryb2tlV2lkdGg9cix0LmdldFN0cm9rZURhc2hBcnJheT1vLHQucmVuZGVyQXJlYT1mdW5jdGlvbiBsKHQsZSxuLGkpe3Quc2F2ZSgpLHQuYmVnaW5QYXRoKCksZS5jb250ZXh0KHQpLGUobiksdC5saW5lSm9pbj0icm91bmQiLGEodCxpKSx0LnJlc3RvcmUoKX0sdC5yZW5kZXJMaW5lPWZ1bmN0aW9uIGModCxlLG4saSl7dC5zYXZlKCksdC5iZWdpblBhdGgoKSxlLmNvbnRleHQodCksZShuKSx0LmxpbmVKb2luPSJyb3VuZCIsYSh0LGkpLHQucmVzdG9yZSgpfSx0LnJlbmRlclBhdGhXaXRoU3R5bGU9YX0pKGpTdCk7dmFyIEdTdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoR1N0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgV1N0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlKXt0aGlzLl9zdmdEcmF3ZXJGYWN0b3J5PXQsdGhpcy5fY2FudmFzRHJhd2VyRmFjdG9yeT1lfXJldHVybiB0LnByb3RvdHlwZS51c2VTVkc9ZnVuY3Rpb24odCl7bnVsbCE9dGhpcy5fY3VycmVudERyYXdlciYmdGhpcy5fY3VycmVudERyYXdlci5yZW1vdmUoKTt2YXIgZT10aGlzLl9zdmdEcmF3ZXJGYWN0b3J5KCk7ZS5hdHRhY2hUbyh0KSx0aGlzLl9jdXJyZW50RHJhd2VyPWV9LHQucHJvdG90eXBlLnVzZUNhbnZhcz1mdW5jdGlvbih0KXtudWxsIT10aGlzLl9jdXJyZW50RHJhd2VyJiZ0aGlzLl9jdXJyZW50RHJhd2VyLnJlbW92ZSgpLHRoaXMuX2N1cnJlbnREcmF3ZXI9dGhpcy5fY2FudmFzRHJhd2VyRmFjdG9yeSh0Lm5vZGUoKS5nZXRDb250ZXh0KCIyZCIpKX0sdC5wcm90b3R5cGUuZ2V0RHJhd2VyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnREcmF3ZXJ9LHQucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe251bGwhPXRoaXMuX2N1cnJlbnREcmF3ZXImJnRoaXMuX2N1cnJlbnREcmF3ZXIucmVtb3ZlKCl9LHQucHJvdG90eXBlLmRyYXc9ZnVuY3Rpb24odCxlKXt0aGlzLl9jdXJyZW50RHJhd2VyLmRyYXcodCxlKX0sdC5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jdXJyZW50RHJhd2VyLmdldFZpc3VhbFByaW1pdGl2ZXMoKX0sdC5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlQXRJbmRleD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fY3VycmVudERyYXdlci5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4KHQpfSx0fSkoKTtHU3QuUHJveHlEcmF3ZXI9V1N0O3ZhciBxU3Q9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KHFTdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFlTdD13cHQsWFN0PURfdCwkU3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe3RoaXMuX3Jvb3Q9WVN0LnNlbGVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZyIpKSx0aGlzLl9jbGFzc05hbWU9ZSx0aGlzLl9zdmdFbGVtZW50TmFtZT10fXJldHVybiB0LnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpczt0aGlzLl9jcmVhdGVBbmREZXN0cm95RE9NRWxlbWVudHModCk7Zm9yKHZhciBpPTAscj1lLmxlbmd0aCxvPWZ1bmN0aW9uKHIpe3ZhciBvPWVbcl07WFN0LldpbmRvdy5zZXRUaW1lb3V0KChmdW5jdGlvbigpe3JldHVybiBuLl9kcmF3U3RlcChvKX0pLGkpLGkrPW8uYW5pbWF0b3IudG90YWxUaW1lKHQubGVuZ3RoKX0sYT0wO2E8cjthKyspbyhhKX0sdC5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlcz1mdW5jdGlvbigpe3JldHVybiBudWxsPT10aGlzLl9jYWNoZWRWaXN1YWxQcmltaXRpdmVzTm9kZXMmJih0aGlzLl9jYWNoZWRWaXN1YWxQcmltaXRpdmVzTm9kZXM9dGhpcy5fc2VsZWN0aW9uLm5vZGVzKCkpLHRoaXMuX2NhY2hlZFZpc3VhbFByaW1pdGl2ZXNOb2Rlc30sdC5wcm90b3R5cGUuZ2V0VmlzdWFsUHJpbWl0aXZlQXRJbmRleD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dGhpcy5fY2FjaGVkVmlzdWFsUHJpbWl0aXZlc05vZGVNYXA/bnVsbDp0aGlzLl9jYWNoZWRWaXN1YWxQcmltaXRpdmVzTm9kZU1hcC5nZXQodCl9LHQucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3RoaXMuX3Jvb3QucmVtb3ZlKCl9LHQucHJvdG90eXBlLmF0dGFjaFRvPWZ1bmN0aW9uKHQpe3Qubm9kZSgpLmFwcGVuZENoaWxkKHRoaXMuX3Jvb3Qubm9kZSgpKX0sdC5wcm90b3R5cGUuZ2V0Um9vdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9yb290fSx0LnByb3RvdHlwZS5zZWxlY3Rvcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdmdFbGVtZW50TmFtZX0sdC5wcm90b3R5cGUuX2FwcGx5RGVmYXVsdEF0dHJpYnV0ZXM9ZnVuY3Rpb24odCl7fSx0LnByb3RvdHlwZS5fY3JlYXRlQW5kRGVzdHJveURPTUVsZW1lbnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQubWFwKChmdW5jdGlvbih0LGUpe3JldHVybiBudWxsIT10P3tkOnQsaTplfTpudWxsfSkpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXR9KSksbj10aGlzLl9yb290LnNlbGVjdEFsbCh0aGlzLnNlbGVjdG9yKCkpLmRhdGEoZSk7dGhpcy5fc2VsZWN0aW9uPW4uZW50ZXIoKS5hcHBlbmQodGhpcy5fc3ZnRWxlbWVudE5hbWUpLm1lcmdlKG4pLG4uZXhpdCgpLnJlbW92ZSgpO3ZhciBpPW5ldyBYU3QuTWFwO3RoaXMuX3NlbGVjdGlvbi5lYWNoKChmdW5jdGlvbih0KXtpLnNldCh0LmksdGhpcyl9KSksdGhpcy5fY2FjaGVkVmlzdWFsUHJpbWl0aXZlc05vZGVNYXA9aSx0aGlzLl9jYWNoZWRWaXN1YWxQcmltaXRpdmVzTm9kZXM9bnVsbCx0aGlzLl9zZWxlY3Rpb24uZGF0YSh0aGlzLl9zZWxlY3Rpb24uZGF0YSgpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuZH0pKSksbnVsbCE9dGhpcy5fY2xhc3NOYW1lJiZ0aGlzLl9zZWxlY3Rpb24uY2xhc3NlZCh0aGlzLl9jbGFzc05hbWUsITApLHRoaXMuX2FwcGx5RGVmYXVsdEF0dHJpYnV0ZXModGhpcy5fc2VsZWN0aW9uKX0sdC5wcm90b3R5cGUuX2RyYXdTdGVwPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7WyJmaWxsIiwic3Ryb2tlIl0uZm9yRWFjaCgoZnVuY3Rpb24obil7bnVsbCE9dC5hdHRyVG9BcHBsaWVkUHJvamVjdG9yW25dJiZlLl9zZWxlY3Rpb24uYXR0cihuLHQuYXR0clRvQXBwbGllZFByb2plY3RvcltuXSl9KSksdC5hbmltYXRvci5hbmltYXRlKHRoaXMuX3NlbGVjdGlvbix0LmF0dHJUb0FwcGxpZWRQcm9qZWN0b3IpLG51bGwhPXRoaXMuX2NsYXNzTmFtZSYmdGhpcy5fc2VsZWN0aW9uLmNsYXNzZWQodGhpcy5fY2xhc3NOYW1lLCEwKX0sdH0pKCk7cVN0LlNWR0RyYXdlcj0kU3Q7dmFyIEtTdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNy1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoS1N0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgWlN0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt2YXIgdD10aGlzO3RoaXMuc2NhbGU9MCx0aGlzLnRyYW5zbGF0ZT0wLHRoaXMuY2FjaGVkRG9tYWluPVtudWxsLG51bGxdLHRoaXMubGFzdFNlZW5Eb21haW49W251bGwsbnVsbF0sdGhpcy51cGRhdGVEb21haW49ZnVuY3Rpb24oZSl7dC5sYXN0U2VlbkRvbWFpbj1lLmdldFRyYW5zZm9ybWF0aW9uRG9tYWluKCk7dmFyIG49ZS5zY2FsZVRyYW5zZm9ybWF0aW9uKHQuY2FjaGVkRG9tYWluWzFdKS1lLnNjYWxlVHJhbnNmb3JtYXRpb24odC5jYWNoZWREb21haW5bMF0pLGk9ZS5zY2FsZVRyYW5zZm9ybWF0aW9uKHQubGFzdFNlZW5Eb21haW5bMV0pLWUuc2NhbGVUcmFuc2Zvcm1hdGlvbih0Lmxhc3RTZWVuRG9tYWluWzBdKTt0LnNjYWxlPW4vaXx8MSx0LnRyYW5zbGF0ZT1lLnNjYWxlVHJhbnNmb3JtYXRpb24odC5jYWNoZWREb21haW5bMF0pLWUuc2NhbGVUcmFuc2Zvcm1hdGlvbih0Lmxhc3RTZWVuRG9tYWluWzBdKSp0LnNjYWxlfHwwfX1yZXR1cm4gdC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLnNjYWxlPTEsdGhpcy50cmFuc2xhdGU9MCx0aGlzLmNhY2hlZERvbWFpbj10aGlzLmxhc3RTZWVuRG9tYWlufSx0LnByb3RvdHlwZS5zZXREb21haW49ZnVuY3Rpb24odCl7dGhpcy5jYWNoZWREb21haW49dC5nZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbigpfSx0fSkoKSxKU3Q9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4pe3ZhciBpPXRoaXM7dGhpcy5yZW5kZXJDYWxsYmFjaz1lLHRoaXMuYXBwbHlUcmFuc2Zvcm1DYWxsYmFjaz1uLHRoaXMuZG9tYWluVHJhbnNmb3JtWD1uZXcgWlN0LHRoaXMuZG9tYWluVHJhbnNmb3JtWT1uZXcgWlN0LHRoaXMucmVuZGVyRGVmZXJyZWQ9ZnVuY3Rpb24oKXtpLmFwcGx5VHJhbnNmb3JtKCksY2xlYXJUaW1lb3V0KGkudGltZW91dFRva2VuKSxpLnRpbWVvdXRUb2tlbj1zZXRUaW1lb3V0KChmdW5jdGlvbigpe2kucmVuZGVyQ2FsbGJhY2soKX0pLHQuREVGRVJSRURfUkVOREVSSU5HX0RFTEFZKX19cmV0dXJuIHQucHJvdG90eXBlLnNldERvbWFpbnM9ZnVuY3Rpb24odCxlKXt0JiZ0aGlzLmRvbWFpblRyYW5zZm9ybVguc2V0RG9tYWluKHQpLGUmJnRoaXMuZG9tYWluVHJhbnNmb3JtWS5zZXREb21haW4oZSksdGhpcy5yZW5kZXJEZWZlcnJlZCgpfSx0LnByb3RvdHlwZS51cGRhdGVEb21haW5zPWZ1bmN0aW9uKHQsZSl7dCYmdGhpcy5kb21haW5UcmFuc2Zvcm1YLnVwZGF0ZURvbWFpbih0KSxlJiZ0aGlzLmRvbWFpblRyYW5zZm9ybVkudXBkYXRlRG9tYWluKGUpLHRoaXMucmVuZGVyRGVmZXJyZWQoKX0sdC5wcm90b3R5cGUucmVzZXRUcmFuc2Zvcm1zPWZ1bmN0aW9uKCl7dGhpcy5kb21haW5UcmFuc2Zvcm1YLnJlc2V0KCksdGhpcy5kb21haW5UcmFuc2Zvcm1ZLnJlc2V0KCksdGhpcy5hcHBseVRyYW5zZm9ybSgpfSx0LnByb3RvdHlwZS5hcHBseVRyYW5zZm9ybT1mdW5jdGlvbigpe3RoaXMuYXBwbHlUcmFuc2Zvcm1DYWxsYmFjayh0aGlzLmRvbWFpblRyYW5zZm9ybVgudHJhbnNsYXRlLHRoaXMuZG9tYWluVHJhbnNmb3JtWS50cmFuc2xhdGUsdGhpcy5kb21haW5UcmFuc2Zvcm1YLnNjYWxlLHRoaXMuZG9tYWluVHJhbnNmb3JtWS5zY2FsZSl9LHQuREVGRVJSRURfUkVOREVSSU5HX0RFTEFZPTIwMCx0fSkoKTtLU3QuRGVmZXJyZWRSZW5kZXJlcj1KU3QsCi8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShzU3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBRU3Q9Qk8sdE10PXdwdCxlTXQ9Zmd0LG5NdD1EX3QsaU10PWxTdCxyTXQ9Y1N0LG9NdD1PX3QsYU10PWpTdCxzTXQ9R1N0LGxNdD1xU3QsY010PV9ndCx1TXQ9S1N0O3NTdC5SZW5kZXJlcj1iZ3QubWFrZUVudW0oWyJzdmciLCJjYW52YXMiXSk7dmFyIGhNdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBuPXQuY2FsbCh0aGlzKXx8dGhpcztuLl9kYXRhQ2hhbmdlZD0hMSxuLl9hdHRyRXh0ZW50cz17fSxuLl9hbmltYXRlPSExLG4uX2FuaW1hdG9ycz17fSxuLl9wcm9wZXJ0eUV4dGVudHM9e30sbi5fcmVzZXRFbnRpdHlTdG9yZT1mdW5jdGlvbigpe24uX2NhY2hlZEVudGl0eVN0b3JlPXZvaWQgMH0sbi5fb3ZlcmZsb3dIaWRkZW49ITAsbi5hZGRDbGFzcygicGxvdCIpLG4uX2RhdGFzZXRUb0RyYXdlcj1uZXcgbk10Lk1hcCxuLl9hdHRyQmluZGluZ3M9dE10Lm1hcCgpLG4uX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5faW5jbHVkZWRWYWx1ZXNGb3JTY2FsZSh0LGUpfSxuLl9yZW5kZXJDYWxsYmFjaz1mdW5jdGlvbigpe3JldHVybiBuLnJlbmRlcigpfSxuLl9vbkRhdGFzZXRVcGRhdGVDYWxsYmFjaz1mdW5jdGlvbigpe3JldHVybiBuLl9vbkRhdGFzZXRVcGRhdGUoKX0sbi5fcHJvcGVydHlCaW5kaW5ncz10TXQubWFwKCk7dmFyIGk9KG5ldyBlTXQuRWFzaW5nKS5tYXhUb3RhbER1cmF0aW9uKGUuX0FOSU1BVElPTl9NQVhfRFVSQVRJT04pO3JldHVybiBuLmFuaW1hdG9yKGlNdC5BbmltYXRvci5NQUlOLGkpLG4uYW5pbWF0b3IoaU10LkFuaW1hdG9yLlJFU0VULG5ldyBlTXQuTnVsbCksbi5fZGVmZXJyZWRSZXNldEVudGl0eVN0b3JlPW5NdC5XaW5kb3cuZGVib3VuY2UodU10LkRlZmVycmVkUmVuZGVyZXIuREVGRVJSRURfUkVOREVSSU5HX0RFTEFZLG4uX3Jlc2V0RW50aXR5U3RvcmUpLG59cmV0dXJuIFFTdC5fX2V4dGVuZHMoZSx0KSxlLmdldFRvdGFsRHJhd1RpbWU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5yZWR1Y2UoKGZ1bmN0aW9uKGUsbil7cmV0dXJuIGUrbi5hbmltYXRvci50b3RhbFRpbWUodC5sZW5ndGgpfSksMCl9LGUuYXBwbHlEcmF3U3RlcHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5tYXAoKGZ1bmN0aW9uKHQpe3ZhciBuPXQuYXR0clRvUHJvamVjdG9yLGk9e307cmV0dXJuIE9iamVjdC5rZXlzKG4pLmZvckVhY2goKGZ1bmN0aW9uKHQpe2lbdF09ZnVuY3Rpb24oaSxyKXtyZXR1cm4gblt0XShpLHIsZSl9fSkpLHthdHRyVG9BcHBsaWVkUHJvamVjdG9yOmksYW5pbWF0b3I6dC5hbmltYXRvcn19KSl9LGUucHJvdG90eXBlLmFuY2hvcj1mdW5jdGlvbihlKXtyZXR1cm4gZT1jTXQuY29lcmNlRXh0ZXJuYWxEMyhlKSx0LnByb3RvdHlwZS5hbmNob3IuY2FsbCh0aGlzLGUpLHRoaXMuX2RhdGFDaGFuZ2VkPSEwLHRoaXMuX3Jlc2V0RW50aXR5U3RvcmUoKSx0aGlzLl91cGRhdGVFeHRlbnRzKCksdGhpc30sZS5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9pc1NldHVwfHwodC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyksbnVsbCE9dGhpcy5fY2FudmFzJiZ0aGlzLl9hcHBlbmRDYW52YXNOb2RlKCksdGhpcy5fcmVuZGVyQXJlYT10aGlzLmNvbnRlbnQoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJyZW5kZXItYXJlYSIsITApLHRoaXMuZGF0YXNldHMoKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0KHQpfSkpKX0sZS5wcm90b3R5cGUuX2FwcGVuZENhbnZhc05vZGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVsZW1lbnQoKS5zZWxlY3QoIi5wbG90LWNhbnZhcy1jb250YWluZXIiKTt0LmVtcHR5KCkmJih0PXRoaXMuZWxlbWVudCgpLmFwcGVuZCgiZGl2IikuY2xhc3NlZCgicGxvdC1jYW52YXMtY29udGFpbmVyIiwhMCkpLm5vZGUoKS5hcHBlbmRDaGlsZCh0aGlzLl9jYW52YXMubm9kZSgpKX0sZS5wcm90b3R5cGUuc2V0Qm91bmRzPWZ1bmN0aW9uKGUsbixpLHIpe2lmKHQucHJvdG90eXBlLnNldEJvdW5kcy5jYWxsKHRoaXMsZSxuLGksciksdGhpcy5fdXBkYXRlRXh0ZW50cygpLG51bGwhPXRoaXMuX2NhbnZhcyl7aWYodGhpcy5fYnVmZmVyQ2FudmFzJiYhdGhpcy5fYnVmZmVyQ2FudmFzVmFsaWQpe3RoaXMuX2J1ZmZlckNhbnZhcy5hdHRyKCJ3aWR0aCIsdGhpcy5fY2FudmFzLmF0dHIoIndpZHRoIikpLHRoaXMuX2J1ZmZlckNhbnZhcy5hdHRyKCJoZWlnaHQiLHRoaXMuX2NhbnZhcy5hdHRyKCJoZWlnaHQiKSk7dmFyIG89dGhpcy5fYnVmZmVyQ2FudmFzLm5vZGUoKS5nZXRDb250ZXh0KCIyZCIpO2lmKG8pe3ZhciBhPXRoaXMuX2NhbnZhcy5ub2RlKCk7YS53aWR0aD4wJiZhLmhlaWdodD4wP28uY2FudmFzLndpZHRoPjAmJm8uY2FudmFzLmhlaWdodD4wJiZvLmRyYXdJbWFnZShhLDAsMCk6Y29uc29sZS53YXJuKCJGYWlsZWQgdG8gZmlsbCBidWZmZXIgY2FudmFzIHdpdGggd2l0aCAweDAgY2FudmFzIil9dGhpcy5fYnVmZmVyQ2FudmFzVmFsaWQ9ITB9dmFyIHM9bnVsbCE9d2luZG93LmRldmljZVBpeGVsUmF0aW8/d2luZG93LmRldmljZVBpeGVsUmF0aW86MTt0aGlzLl9jYW52YXMuYXR0cigid2lkdGgiLGUqcyksdGhpcy5fY2FudmFzLmF0dHIoImhlaWdodCIsbipzKTt2YXIgbD10aGlzLl9jYW52YXMubm9kZSgpLmdldENvbnRleHQoIjJkIik7aWYobCYmKGwuc2V0VHJhbnNmb3JtKHMsMCwwLHMsMCwwKSx0aGlzLl9idWZmZXJDYW52YXMpKXt2YXIgYz10aGlzLl9idWZmZXJDYW52YXMubm9kZSgpO2Mud2lkdGg+MCYmYy5oZWlnaHQ+MD9sLmNhbnZhcy53aWR0aD4wJiZsLmNhbnZhcy5oZWlnaHQ+MCYmbC5kcmF3SW1hZ2UoYywwLDAsZSxuKTpjb25zb2xlLndhcm4oIkZhaWxlZCB0byBmaWxsIGNhbnZhcyB3aXRoIDB4MCBidWZmZXIgY2FudmFzIil9fXJldHVybiB0aGlzfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksdGhpcy5fc2NhbGVzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQub2ZmVXBkYXRlKGUuX3JlbmRlckNhbGxiYWNrKX0pKSx0aGlzLmRhdGFzZXRzKFtdKX0sZS5wcm90b3R5cGUuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9kYXRhc2V0VG9EcmF3ZXIuZ2V0KHQpO3JldHVybiJzdmciPT09dGhpcy5yZW5kZXJlcigpP2UudXNlU1ZHKHRoaXMuX3JlbmRlckFyZWEpOmUudXNlQ2FudmFzKHRoaXMuX2NhbnZhcyksZX0sZS5wcm90b3R5cGUuX2NyZWF0ZURyYXdlcj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHNNdC5Qcm94eURyYXdlcigoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGxNdC5TVkdEcmF3ZXIoInBhdGgiLCIiKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGFNdC5DYW52YXNEcmF3ZXIodCwoZnVuY3Rpb24oKXt9KSl9KSl9LGUucHJvdG90eXBlLl9nZXRBbmltYXRvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYW5pbWF0ZU9uTmV4dFJlbmRlcigpJiZ0aGlzLl9hbmltYXRvcnNbdF18fG5ldyBlTXQuTnVsbH0sZS5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUV4dGVudHMoKSx0aGlzLl9kYXRhQ2hhbmdlZD0hMCx0aGlzLl9yZXNldEVudGl0eVN0b3JlKCksdGhpcy5yZW5kZXJMb3dQcmlvcml0eSgpfSxlLnByb3RvdHlwZS5hdHRyPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbnVsbD09ZT90aGlzLl9hdHRyQmluZGluZ3MuZ2V0KHQpOih0aGlzLl9iaW5kQXR0cih0LGUsbiksdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUuX2JpbmRQcm9wZXJ0eT1mdW5jdGlvbih0LGUsbixpKXt2YXIgcj10aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldCh0KSxvPW51bGwhPXI/ci5zY2FsZTpudWxsO3RoaXMuX3Byb3BlcnR5QmluZGluZ3Muc2V0KHQse2FjY2Vzc29yOiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6ZnVuY3Rpb24oKXtyZXR1cm4gZX0sc2NhbGU6bixwb3N0U2NhbGU6aX0pLG51bGwhPW8mJnRoaXMuX3VuaW5zdGFsbFNjYWxlRm9yS2V5KG8sdCksbnVsbCE9biYmdGhpcy5faW5zdGFsbFNjYWxlRm9yS2V5KG4sdCksdGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpfSxlLnByb3RvdHlwZS5fYmluZEF0dHI9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPXRoaXMuX2F0dHJCaW5kaW5ncy5nZXQodCkscj1udWxsIT1pP2kuc2NhbGU6bnVsbDt0aGlzLl9hdHRyQmluZGluZ3Muc2V0KHQse2FjY2Vzc29yOiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6ZnVuY3Rpb24oKXtyZXR1cm4gZX0sc2NhbGU6bn0pLG51bGwhPXImJnRoaXMuX3VuaW5zdGFsbFNjYWxlRm9yS2V5KHIsdCksbnVsbCE9biYmdGhpcy5faW5zdGFsbFNjYWxlRm9yS2V5KG4sdCksdGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpfSxlLnByb3RvdHlwZS5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZT1mdW5jdGlvbigpe2RlbGV0ZSB0aGlzLl9jYWNoZWRBdHRyVG9Qcm9qZWN0b3J9LGUucHJvdG90eXBlLl9nZXRBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXtpZihudWxsPT10aGlzLl9jYWNoZWRBdHRyVG9Qcm9qZWN0b3Ipe3ZhciB0PXRoaXMuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yKCk7ZS5PUFRJTUlaRV9NRU1PSVpFX1BST0pFQ1RPUlMmJih0PXJNdC5tZW1vaXplUHJvamVjdG9ycyh0KSksdGhpcy5fY2FjaGVkQXR0clRvUHJvamVjdG9yPXR9cmV0dXJuIG5NdC5hc3NpZ24oe30sdGhpcy5fY2FjaGVkQXR0clRvUHJvamVjdG9yKX0sZS5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yPWZ1bmN0aW9uKCl7dmFyIHQ9e307dGhpcy5fYXR0ckJpbmRpbmdzLmVhY2goKGZ1bmN0aW9uKG4saSl7dFtpXT1lLl9zY2FsZWRBY2Nlc3NvcihuKX0pKTt2YXIgbj10aGlzLl9wcm9wZXJ0eVByb2plY3RvcnMoKTtyZXR1cm4gT2JqZWN0LmtleXMobikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7bnVsbD09dFtlXSYmKHRbZV09bltlXSl9KSksdH0sZS5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXtyZXR1cm4gdC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0aGlzKSx0aGlzLl9pc0FuY2hvcmVkJiYodGhpcy5fcGFpbnQoKSx0aGlzLl9kYXRhQ2hhbmdlZD0hMSksdGhpc30sZS5wcm90b3R5cGUucmVuZGVyTG93UHJpb3JpdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVuZGVyQ2FsbGJhY2soKSx0aGlzfSxlLnByb3RvdHlwZS5hbmltYXRlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9hbmltYXRlOih0aGlzLl9hbmltYXRlPXQsdGhpcyl9LGUucHJvdG90eXBlLmRldGFjaD1mdW5jdGlvbigpe3JldHVybiB0LnByb3RvdHlwZS5kZXRhY2guY2FsbCh0aGlzKSx0aGlzLl91cGRhdGVFeHRlbnRzKCksdGhpc30sZS5wcm90b3R5cGUuX3NjYWxlcz1mdW5jdGlvbigpe3ZhciB0PVtdO3JldHVybiB0aGlzLl9hdHRyQmluZGluZ3MuZWFjaCgoZnVuY3Rpb24oZSxuKXt2YXIgaT1lLnNjYWxlO251bGwhPWkmJi0xPT09dC5pbmRleE9mKGkpJiZ0LnB1c2goaSl9KSksdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5lYWNoKChmdW5jdGlvbihlLG4pe3ZhciBpPWUuc2NhbGU7bnVsbCE9aSYmLTE9PT10LmluZGV4T2YoaSkmJnQucHVzaChpKX0pKSx0fSxlLnByb3RvdHlwZS5fdXBkYXRlRXh0ZW50cz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fcmVzZXRFbnRpdHlTdG9yZSgpLHRoaXMuX3NjYWxlcygpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlLmFkZEluY2x1ZGVkVmFsdWVzUHJvdmlkZXIodC5faW5jbHVkZWRWYWx1ZXNQcm92aWRlcil9KSl9LGUucHJvdG90eXBlLl9maWx0ZXJGb3JQcm9wZXJ0eT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbH0sZS5wcm90b3R5cGUuZ2V0RXh0ZW50c0ZvckF0dHI9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZihudWxsPT10aGlzLl9hdHRyRXh0ZW50c1t0XSl7dmFyIG49ck10Lm1lbVRodW5rKChmdW5jdGlvbigpe3JldHVybiBlLmRhdGFzZXRzKCl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZS5fYXR0ckJpbmRpbmdzLmdldCh0KX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT1lfHxudWxsPT1lLmFjY2Vzc29yP251bGw6dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBkTXQodCxlLG51bGwpfSkpfSkpO3RoaXMuX2F0dHJFeHRlbnRzW3RdPW59cmV0dXJuIHRoaXMuX2F0dHJFeHRlbnRzW3RdKCl9LGUucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKG51bGw9PXRoaXMuX3Byb3BlcnR5RXh0ZW50c1t0XSl7dmFyIG49ck10Lm1lbVRodW5rKChmdW5jdGlvbigpe3JldHVybiBlLmRhdGFzZXRzKCl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZS5fcHJvcGVydHlCaW5kaW5ncy5nZXQodCl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZS5fZmlsdGVyRm9yUHJvcGVydHkodCl9KSwoZnVuY3Rpb24odCxlLG4pe3JldHVybiBudWxsPT1lfHxudWxsPT1lLmFjY2Vzc29yP251bGw6dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBkTXQodCxlLG4pfSkpfSkpO3RoaXMuX3Byb3BlcnR5RXh0ZW50c1t0XT1ufXJldHVybiB0aGlzLl9wcm9wZXJ0eUV4dGVudHNbdF0oKX0sZS5wcm90b3R5cGUuX2luY2x1ZGVkVmFsdWVzRm9yU2NhbGU9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2lmKCF0aGlzLl9pc0FuY2hvcmVkJiYhZSlyZXR1cm5bXTt2YXIgaT1bXTtyZXR1cm4gdGhpcy5fYXR0ckJpbmRpbmdzLmVhY2goKGZ1bmN0aW9uKGUscil7aWYoZS5zY2FsZT09PXQpe3ZhciBvPW4uZ2V0RXh0ZW50c0ZvckF0dHIocik7bnVsbCE9byYmKGk9aS5jb25jYXQodE10Lm1lcmdlKG8pKSl9fSkpLHRoaXMuX3Byb3BlcnR5QmluZGluZ3MuZWFjaCgoZnVuY3Rpb24oZSxyKXtpZihlLnNjYWxlPT09dCl7dmFyIG89bi5nZXRFeHRlbnRzRm9yUHJvcGVydHkocik7bnVsbCE9byYmKGk9aS5jb25jYXQodE10Lm1lcmdlKG8pKSl9fSkpLGl9LGUucHJvdG90eXBlLmFuaW1hdG9yPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWU/dGhpcy5fYW5pbWF0b3JzW3RdOih0aGlzLl9hbmltYXRvcnNbdF09ZSx0aGlzKX0sZS5wcm90b3R5cGUucmVuZGVyZXI9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gdm9pZCAwPT09dD9udWxsPT10aGlzLl9jYW52YXM/InN2ZyI6ImNhbnZhcyI6KG51bGw9PXRoaXMuX2NhbnZhcyYmImNhbnZhcyI9PT10Pyh0aGlzLl9jYW52YXM9dE10LnNlbGVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSkuY2xhc3NlZCgicGxvdC1jYW52YXMiLCEwKSx0aGlzLl9idWZmZXJDYW52YXM9dE10LnNlbGVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSksbnVsbCE9dGhpcy5lbGVtZW50KCkmJnRoaXMuX2FwcGVuZENhbnZhc05vZGUoKSx0aGlzLl9kYXRhc2V0VG9EcmF3ZXIuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC51c2VDYW52YXMoZS5fY2FudmFzKX0pKSx0aGlzLnJlbmRlcigpKTpudWxsIT10aGlzLl9jYW52YXMmJiJzdmciPT10JiYodGhpcy5fY2FudmFzLnJlbW92ZSgpLHRoaXMuX2NhbnZhcz1udWxsLHRoaXMuX2J1ZmZlckNhbnZhcz1udWxsLHRoaXMuX2RhdGFzZXRUb0RyYXdlci5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnVzZVNWRyhlLl9yZW5kZXJBcmVhKX0pKSx0aGlzLnJlbmRlcigpKSx0aGlzKX0sZS5wcm90b3R5cGUuYWRkRGF0YXNldD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkRGF0YXNldCh0KSx0aGlzLl9vbkRhdGFzZXRVcGRhdGUoKSx0aGlzfSxlLnByb3RvdHlwZS5fYWRkRGF0YXNldD1mdW5jdGlvbih0KXt0aGlzLl9yZW1vdmVEYXRhc2V0KHQpO3ZhciBlPXRoaXMuX2NyZWF0ZURyYXdlcih0KTtyZXR1cm4gdGhpcy5fZGF0YXNldFRvRHJhd2VyLnNldCh0LGUpLHRoaXMuX2lzU2V0dXAmJnRoaXMuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldCh0KSx0Lm9uVXBkYXRlKHRoaXMuX29uRGF0YXNldFVwZGF0ZUNhbGxiYWNrKSx0aGlzfSxlLnByb3RvdHlwZS5yZW1vdmVEYXRhc2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yZW1vdmVEYXRhc2V0KHQpLHRoaXMuX29uRGF0YXNldFVwZGF0ZSgpLHRoaXN9LGUucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0PWZ1bmN0aW9uKHQpe3JldHVybi0xPT09dGhpcy5kYXRhc2V0cygpLmluZGV4T2YodCl8fCh0aGlzLl9yZW1vdmVEYXRhc2V0Tm9kZXModCksdC5vZmZVcGRhdGUodGhpcy5fb25EYXRhc2V0VXBkYXRlQ2FsbGJhY2spLHRoaXMuX2RhdGFzZXRUb0RyYXdlci5kZWxldGUodCkpLHRoaXN9LGUucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0Tm9kZXM9ZnVuY3Rpb24odCl7dGhpcy5fZGF0YXNldFRvRHJhd2VyLmdldCh0KS5yZW1vdmUoKX0sZS5wcm90b3R5cGUuZGF0YXNldHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPVtdO3JldHVybiB0aGlzLl9kYXRhc2V0VG9EcmF3ZXIuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5wdXNoKGUpfSkpLG51bGw9PXQ/bjoobi5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fcmVtb3ZlRGF0YXNldCh0KX0pKSx0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9hZGREYXRhc2V0KHQpfSkpLHRoaXMuX29uRGF0YXNldFVwZGF0ZSgpLHRoaXMpfSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVEcmF3U3RlcHM9ZnVuY3Rpb24oKXtyZXR1cm5be2F0dHJUb1Byb2plY3Rvcjp0aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxhbmltYXRvcjpuZXcgZU10Lk51bGx9XX0sZS5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbih0KXt9LGUucHJvdG90eXBlLl9idWlsZExpZ2h0d2VpZ2h0UGxvdEVudGl0aWVzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0LGkpe2Zvcih2YXIgcj1lLl9kYXRhc2V0VG9EcmF3ZXIuZ2V0KHQpLG89MCxhPXQuZGF0YSgpLHM9YS5sZW5ndGgsbD1mdW5jdGlvbihzKXt2YXIgbD1hW3NdLGM9ZS5fcGl4ZWxQb2ludChsLHMsdCk7aWYobk10Lk1hdGguaXNOYU4oYy54KXx8bk10Lk1hdGguaXNOYU4oYy55KSlyZXR1cm4iY29udGludWUiO3ZhciB1PWU7bi5wdXNoKHtkYXR1bTpsLGdldCBwb3NpdGlvbigpe3JldHVybiB1Ll9waXhlbFBvaW50LmNhbGwodSxsLHMsdCl9LGluZGV4OnMsZGF0YXNldDp0LGRhdGFzZXRJbmRleDppLGNvbXBvbmVudDplLGRyYXdlcjpyLHZhbGlkRGF0dW1JbmRleDpvfSksbysrfSxjPTA7YzxzO2MrKylsKGMpfSkpLG59LGUucHJvdG90eXBlLl9nZXREYXRhVG9EcmF3PWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IG5NdC5NYXA7cmV0dXJuIHRoaXMuZGF0YXNldHMoKS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gdC5zZXQoZSxlLmRhdGEoKSl9KSksdH0sZS5wcm90b3R5cGUuX3BhaW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztkZWxldGUgdGhpcy5fY2FjaGVkQXR0clRvUHJvamVjdG9yO3ZhciBuPXRoaXMuX2dlbmVyYXRlRHJhd1N0ZXBzKCksaT10aGlzLl9nZXREYXRhVG9EcmF3KCkscj10aGlzLmRhdGFzZXRzKCkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fZGF0YXNldFRvRHJhd2VyLmdldChlKX0pKTtpZigiY2FudmFzIj09PXRoaXMucmVuZGVyZXIoKSl7dmFyIG89dGhpcy5fY2FudmFzLm5vZGUoKTtvLmdldENvbnRleHQoIjJkIikuY2xlYXJSZWN0KDAsMCxvLmNsaWVudFdpZHRoLG8uY2xpZW50SGVpZ2h0KSx0aGlzLl9idWZmZXJDYW52YXNWYWxpZD0hMX10aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCxvKXt2YXIgYT1lLmFwcGx5RHJhd1N0ZXBzKG4sdCk7cltvXS5kcmF3KGkuZ2V0KHQpLGEpfSkpO3ZhciBhPXRoaXMuZGF0YXNldHMoKS5tYXAoKGZ1bmN0aW9uKHQscil7cmV0dXJuIGUuZ2V0VG90YWxEcmF3VGltZShpLmdldCh0KSxuKX0pKSxzPW5NdC5NYXRoLm1heChhLDApO3RoaXMuX2FkZGl0aW9uYWxQYWludChzKX0sZS5wcm90b3R5cGUuc2VsZWN0aW9ucz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKHZvaWQgMD09PXQmJih0PXRoaXMuZGF0YXNldHMoKSksImNhbnZhcyI9PT10aGlzLnJlbmRlcmVyKCkpcmV0dXJuIHRNdC5zZWxlY3RBbGwoKTt2YXIgbj1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgaT1lLl9kYXRhc2V0VG9EcmF3ZXIuZ2V0KHQpO2lmKG51bGwhPWkpe3ZhciByPWkuZ2V0VmlzdWFsUHJpbWl0aXZlcygpO24ucHVzaC5hcHBseShuLHIpfX0pKSx0TXQuc2VsZWN0QWxsKG4pfSxlLnByb3RvdHlwZS5lbnRpdGllcz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiB0aGlzLl9nZXRFbnRpdHlTdG9yZSh0KS5lbnRpdGllcygpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eSh0KX0pKX0sZS5wcm90b3R5cGUuZmlsdGVyRW50aXRpZXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5fZ2V0RW50aXR5U3RvcmUoKS5lbnRpdGllcygpLmZpbHRlcih0KS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9saWdodHdlaWdodFBsb3RFbnRpdHlUb1Bsb3RFbnRpdHkodCl9KSl9LGUucHJvdG90eXBlLl9nZXRFbnRpdHlTdG9yZT1mdW5jdGlvbih0KXt2YXIgZSxuPXRoaXMsaT1mdW5jdGlvbih0KXtyZXR1cm4gbi5fZW50aXR5Qm91bmRzKHQpfTtyZXR1cm4gdm9pZCAwIT09dD8oKGU9bmV3IG5NdC5FbnRpdHlTdG9yZSkuYWRkQWxsKHRoaXMuX2J1aWxkTGlnaHR3ZWlnaHRQbG90RW50aXRpZXModCksaSx0aGlzLl9sb2NhbE9yaWdpbkJvdW5kcygpKSxlKToodm9pZCAwPT09dGhpcy5fY2FjaGVkRW50aXR5U3RvcmUmJigoZT1uZXcgbk10LkVudGl0eVN0b3JlKS5hZGRBbGwodGhpcy5fYnVpbGRMaWdodHdlaWdodFBsb3RFbnRpdGllcyh0aGlzLmRhdGFzZXRzKCkpLGksdGhpcy5fbG9jYWxPcmlnaW5Cb3VuZHMoKSksdGhpcy5fY2FjaGVkRW50aXR5U3RvcmU9ZSksdGhpcy5fY2FjaGVkRW50aXR5U3RvcmUpfSxlLnByb3RvdHlwZS5fbG9jYWxPcmlnaW5Cb3VuZHM9ZnVuY3Rpb24oKXtyZXR1cm57dG9wTGVmdDp7eDowLHk6MH0sYm90dG9tUmlnaHQ6e3g6dGhpcy53aWR0aCgpLHk6dGhpcy5oZWlnaHQoKX19fSxlLnByb3RvdHlwZS5fZW50aXR5Qm91bmRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3BpeGVsUG9pbnQodC5kYXR1bSx0LmluZGV4LHQuZGF0YXNldCk7cmV0dXJue3g6ZS54LHk6ZS55LHdpZHRoOjAsaGVpZ2h0OjB9fSxlLnByb3RvdHlwZS5fbGlnaHR3ZWlnaHRQbG90RW50aXR5VG9QbG90RW50aXR5PWZ1bmN0aW9uKHQpe3JldHVybntib3VuZHM6dGhpcy5fZW50aXR5Qm91bmRzKHQpLGNvbXBvbmVudDp0LmNvbXBvbmVudCxkYXRhc2V0OnQuZGF0YXNldCxkYXRhc2V0SW5kZXg6dC5kYXRhc2V0SW5kZXgsZGF0dW06dC5kYXR1bSxpbmRleDp0LmluZGV4LHBvc2l0aW9uOnQucG9zaXRpb24sc2VsZWN0aW9uOnRNdC5zZWxlY3QodC5kcmF3ZXIuZ2V0VmlzdWFsUHJpbWl0aXZlQXRJbmRleCh0LnZhbGlkRGF0dW1JbmRleCkpfX0sZS5wcm90b3R5cGUuZW50aXRpZXNBdD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoInBsb3RzIG11c3QgaW1wbGVtZW50IGVudGl0aWVzQXQiKX0sZS5wcm90b3R5cGUuZW50aXR5TmVhcmVzdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0eU5lYXJlc3QodCk7cmV0dXJuIHZvaWQgMD09PWU/dm9pZCAwOnRoaXMuX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eShlKX0sZS5wcm90b3R5cGUuZW50aXRpZXNJbj1mdW5jdGlvbih0LGUpe3ZhciBuO2lmKG51bGw9PWUpe249e3g6dC50b3BMZWZ0LngseTp0LnRvcExlZnQueSx3aWR0aDp0LmJvdHRvbVJpZ2h0LngtdC50b3BMZWZ0LngsaGVpZ2h0OnQuYm90dG9tUmlnaHQueS10LnRvcExlZnQueX19ZWxzZXtuPXt4OnQubWluLHk6ZS5taW4sd2lkdGg6dC5tYXgtdC5taW4saGVpZ2h0OmUubWF4LWUubWlufX1yZXR1cm4gdGhpcy5lbnRpdGllc0luQm91bmRzKG4pfSxlLnByb3RvdHlwZS5lbnRpdGllc0luQm91bmRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0aWVzSW5Cb3VuZHModCk7aWYobilyZXR1cm4gbi5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBlLl9saWdodHdlaWdodFBsb3RFbnRpdHlUb1Bsb3RFbnRpdHkodCl9KSl9LGUucHJvdG90eXBlLmVudGl0aWVzSW5YQm91bmRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0aWVzSW5YQm91bmRzKHQpO2lmKG4pcmV0dXJuIG4ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fbGlnaHR3ZWlnaHRQbG90RW50aXR5VG9QbG90RW50aXR5KHQpfSkpfSxlLnByb3RvdHlwZS5lbnRpdGllc0luWUJvdW5kcz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49dGhpcy5fZ2V0RW50aXR5U3RvcmUoKS5lbnRpdGllc0luWUJvdW5kcyh0KTtpZihuKXJldHVybiBuLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eSh0KX0pKX0sZS5wcm90b3R5cGUuX3VuaW5zdGFsbFNjYWxlRm9yS2V5PWZ1bmN0aW9uKHQsZSl7dC5vZmZVcGRhdGUodGhpcy5fcmVuZGVyQ2FsbGJhY2spLHQub2ZmVXBkYXRlKHRoaXMuX2RlZmVycmVkUmVzZXRFbnRpdHlTdG9yZSksdC5yZW1vdmVJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKHRoaXMuX2luY2x1ZGVkVmFsdWVzUHJvdmlkZXIpfSxlLnByb3RvdHlwZS5faW5zdGFsbFNjYWxlRm9yS2V5PWZ1bmN0aW9uKHQsZSl7dC5vblVwZGF0ZSh0aGlzLl9yZW5kZXJDYWxsYmFjayksdC5vblVwZGF0ZSh0aGlzLl9kZWZlcnJlZFJlc2V0RW50aXR5U3RvcmUpLHQuYWRkSW5jbHVkZWRWYWx1ZXNQcm92aWRlcih0aGlzLl9pbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKX0sZS5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycz1mdW5jdGlvbigpe3JldHVybnt9fSxlLl9zY2FsZWRBY2Nlc3Nvcj1mdW5jdGlvbih0KXt2YXIgZT10LnNjYWxlLG49dC5hY2Nlc3NvcixpPXQucG9zdFNjYWxlLHI9bnVsbD09ZT9uOmZ1bmN0aW9uKHQsaSxyKXtyZXR1cm4gZS5zY2FsZShuKHQsaSxyKSl9O3JldHVybiBudWxsPT1pP3I6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBpKHIodCxlLG4pLHQsZSxuKX19LGUucHJvdG90eXBlLl9waXhlbFBvaW50PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm57eDowLHk6MH19LGUucHJvdG90eXBlLl9hbmltYXRlT25OZXh0UmVuZGVyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FuaW1hdGUmJnRoaXMuX2RhdGFDaGFuZ2VkfSxlLk9QVElNSVpFX01FTU9JWkVfUFJPSkVDVE9SUz0hMSxlLl9BTklNQVRJT05fTUFYX0RVUkFUSU9OPTYwMCxlfSkob010LkNvbXBvbmVudCk7ZnVuY3Rpb24gZE10KHQsZSxuKXt2YXIgaT1lLmFjY2Vzc29yLHI9ZS5zY2FsZTtpZihudWxsPT1yKXJldHVybltdO3ZhciBvPXQuZGF0YSgpO251bGwhPW4mJihvPW8uZmlsdGVyKChmdW5jdGlvbihlLGkpe3JldHVybiBuKGUsaSx0KX0pKSk7dmFyIGE9by5tYXAoKGZ1bmN0aW9uKGUsbil7cmV0dXJuIGkoZSxuLHQpfSkpO3JldHVybiByLmV4dGVudE9mVmFsdWVzKGEpfQovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL3NTdC5QbG90PWhNdCxPYmplY3QuZGVmaW5lUHJvcGVydHkoYVN0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcE10PUJPLGZNdD1zU3QsbU10PURfdCxnTXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBwTXQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuZW50aXR5TmVhcmVzdD1mdW5jdGlvbih0KXt2YXIgZSxuPTEvMDtyZXR1cm4gdGhpcy5jb21wb25lbnRzKCkuZm9yRWFjaCgoZnVuY3Rpb24oaSl7dmFyIHI9aS5lbnRpdHlOZWFyZXN0KHQpO2lmKG51bGwhPXIpe3ZhciBvPW1NdC5NYXRoLmRpc3RhbmNlU3F1YXJlZChyLnBvc2l0aW9uLHQpO288PW4mJihuPW8sZT1yKX19KSksZX0sZS5wcm90b3R5cGUuYXBwZW5kPWZ1bmN0aW9uKGUpe2lmKG51bGwhPWUmJiEoZSBpbnN0YW5jZW9mIGZNdC5QbG90KSl0aHJvdyBuZXcgRXJyb3IoIlBsb3QgR3JvdXAgb25seSBhY2NlcHRzIHBsb3RzIik7cmV0dXJuIHQucHJvdG90eXBlLmFwcGVuZC5jYWxsKHRoaXMsZSksdGhpc30sZX0pKF93dC5Hcm91cCk7YVN0LlBsb3RHcm91cD1nTXQ7dmFyIF9NdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoX010LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgeU10PUJPLHZNdD13cHQsYk10PURfdCx4TXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dm9pZCAwPT09ZSYmKGU9W10pO3ZhciBuPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gbi5fcm93UGFkZGluZz0wLG4uX2NvbHVtblBhZGRpbmc9MCxuLl9yb3dzPVtdLG4uX3Jvd1dlaWdodHM9W10sbi5fY29sdW1uV2VpZ2h0cz1bXSxuLl9uUm93cz0wLG4uX25Db2xzPTAsbi5fY2FsY3VsYXRlZExheW91dD1udWxsLG4uYWRkQ2xhc3MoInRhYmxlIiksZS5mb3JFYWNoKChmdW5jdGlvbih0LGUpe3QuZm9yRWFjaCgoZnVuY3Rpb24odCxpKXtudWxsIT10JiZuLmFkZCh0LGUsaSl9KSl9KSksbn1yZXR1cm4geU10Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9mb3JFYWNoPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dGhpcy5fblJvd3M7ZSsrKWZvcih2YXIgbj0wO248dGhpcy5fbkNvbHM7bisrKW51bGwhPXRoaXMuX3Jvd3NbZV1bbl0mJnQodGhpcy5fcm93c1tlXVtuXSl9LGUucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPHRoaXMuX25Sb3dzO2UrKylmb3IodmFyIG49MDtuPHRoaXMuX25Db2xzO24rKylpZih0aGlzLl9yb3dzW2VdW25dPT09dClyZXR1cm4hMDtyZXR1cm4hMX0sZS5wcm90b3R5cGUuY29tcG9uZW50QXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdDwwfHx0Pj10aGlzLl9uUm93c3x8ZTwwfHxlPj10aGlzLl9uQ29scz9udWxsOnRoaXMuX3Jvd3NbdF1bZV19LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0LGUsbil7aWYobnVsbD09dCl0aHJvdyBFcnJvcigiQ2Fubm90IGFkZCBudWxsIHRvIGEgdGFibGUgY2VsbCIpO2lmKCF0aGlzLmhhcyh0KSl7aWYobnVsbCE9KHRoaXMuX3Jvd3NbZV0mJnRoaXMuX3Jvd3NbZV1bbl0pKXRocm93IG5ldyBFcnJvcigiY2VsbCBpcyBvY2N1cGllZCIpO3QuZGV0YWNoKCksdGhpcy5fblJvd3M9TWF0aC5tYXgoZSsxLHRoaXMuX25Sb3dzKSx0aGlzLl9uQ29scz1NYXRoLm1heChuKzEsdGhpcy5fbkNvbHMpLHRoaXMuX3BhZFRhYmxlVG9TaXplKHRoaXMuX25Sb3dzLHRoaXMuX25Db2xzKSx0aGlzLl9yb3dzW2VdW25dPXQsdGhpcy5fYWRvcHRBbmRBbmNob3IodCksdGhpcy5yZWRyYXcoKX1yZXR1cm4gdGhpc30sZS5wcm90b3R5cGUuX3JlbW92ZT1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPHRoaXMuX25Sb3dzO2UrKylmb3IodmFyIG49MDtuPHRoaXMuX25Db2xzO24rKylpZih0aGlzLl9yb3dzW2VdW25dPT09dClyZXR1cm4gdGhpcy5fcm93c1tlXVtuXT1udWxsLCEwO3JldHVybiExfSxlLnByb3RvdHlwZS5faXRlcmF0ZUxheW91dD1mdW5jdGlvbih0LG4saSl7dm9pZCAwPT09aSYmKGk9ITEpO2Zvcih2YXIgcixvLGEscyxsLGM9dGhpcy5fcm93cyx1PXZNdC50cmFuc3Bvc2UodGhpcy5fcm93cyksaD10LXRoaXMuX2NvbHVtblBhZGRpbmcqKHRoaXMuX25Db2xzLTEpLGQ9bi10aGlzLl9yb3dQYWRkaW5nKih0aGlzLl9uUm93cy0xKSxwPWUuX2NhbGNDb21wb25lbnRXZWlnaHRzKHRoaXMuX3Jvd1dlaWdodHMsYywoZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR8fHQuZml4ZWRIZWlnaHQoKX0pKSxmPWUuX2NhbGNDb21wb25lbnRXZWlnaHRzKHRoaXMuX2NvbHVtbldlaWdodHMsdSwoZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR8fHQuZml4ZWRXaWR0aCgpfSkpLG09Zi5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiAwPT09dD8uNTp0fSkpLGc9cC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiAwPT09dD8uNTp0fSkpLF89ZS5fY2FsY1Byb3BvcnRpb25hbFNwYWNlKG0saCkseT1lLl9jYWxjUHJvcG9ydGlvbmFsU3BhY2UoZyxkKSx2PWJNdC5BcnJheS5jcmVhdGVGaWxsZWRBcnJheSgwLHRoaXMuX25Db2xzKSxiPWJNdC5BcnJheS5jcmVhdGVGaWxsZWRBcnJheSgwLHRoaXMuX25Sb3dzKSx4PTA7Oyl7dmFyIHc9Yk10LkFycmF5LmFkZChiLHkpLFM9Yk10LkFycmF5LmFkZCh2LF8pO3Y9KGE9dGhpcy5fZGV0ZXJtaW5lR3VhcmFudGVlcyhTLHcsaSkpLmd1YXJhbnRlZWRXaWR0aHMsYj1hLmd1YXJhbnRlZWRIZWlnaHRzLHM9YS53YW50c1dpZHRoQXJyLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0fSkpLGw9YS53YW50c0hlaWdodEFyci5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKTt2YXIgTT1yLEU9bztyPWgtdk10LnN1bShhLmd1YXJhbnRlZWRXaWR0aHMpLG89ZC12TXQuc3VtKGEuZ3VhcmFudGVlZEhlaWdodHMpO3ZhciBUPXZvaWQgMDtzPyhUPWEud2FudHNXaWR0aEFyci5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0Py4xOjB9KSksVD1iTXQuQXJyYXkuYWRkKFQsZikpOlQ9Zjt2YXIgQz12b2lkIDA7aWYobD8oQz1hLndhbnRzSGVpZ2h0QXJyLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQ/LjE6MH0pKSxDPWJNdC5BcnJheS5hZGQoQyxwKSk6Qz1wLF89ZS5fY2FsY1Byb3BvcnRpb25hbFNwYWNlKFQscikseT1lLl9jYWxjUHJvcG9ydGlvbmFsU3BhY2UoQyxvKSx4KyssIShyPjAmJnIhPT1NKSYmIShvPjAmJm8hPT1FKSlicmVhaztpZih4PjUpYnJlYWt9cmV0dXJuIHI9aC12TXQuc3VtKGEuZ3VhcmFudGVlZFdpZHRocyksbz1kLXZNdC5zdW0oYS5ndWFyYW50ZWVkSGVpZ2h0cykse2NvbFByb3BvcnRpb25hbFNwYWNlOl89ZS5fY2FsY1Byb3BvcnRpb25hbFNwYWNlKGYscikscm93UHJvcG9ydGlvbmFsU3BhY2U6eT1lLl9jYWxjUHJvcG9ydGlvbmFsU3BhY2UocCxvKSxndWFyYW50ZWVkV2lkdGhzOmEuZ3VhcmFudGVlZFdpZHRocyxndWFyYW50ZWVkSGVpZ2h0czphLmd1YXJhbnRlZWRIZWlnaHRzLHdhbnRzV2lkdGg6cyx3YW50c0hlaWdodDpsfX0sZS5wcm90b3R5cGUuX2RldGVybWluZUd1YXJhbnRlZXM9ZnVuY3Rpb24odCxlLG4pe3ZvaWQgMD09PW4mJihuPSExKTt2YXIgaT1iTXQuQXJyYXkuY3JlYXRlRmlsbGVkQXJyYXkoMCx0aGlzLl9uQ29scykscj1iTXQuQXJyYXkuY3JlYXRlRmlsbGVkQXJyYXkoMCx0aGlzLl9uUm93cyksbz1iTXQuQXJyYXkuY3JlYXRlRmlsbGVkQXJyYXkoITEsdGhpcy5fbkNvbHMpLGE9Yk10LkFycmF5LmNyZWF0ZUZpbGxlZEFycmF5KCExLHRoaXMuX25Sb3dzKTtyZXR1cm4gdGhpcy5fcm93cy5mb3JFYWNoKChmdW5jdGlvbihzLGwpe3MuZm9yRWFjaCgoZnVuY3Rpb24ocyxjKXt2YXIgdTt1PW51bGwhPXM/cy5yZXF1ZXN0ZWRTcGFjZSh0W2NdLGVbbF0pOnttaW5XaWR0aDowLG1pbkhlaWdodDowfTt2YXIgaD1uP01hdGgubWluKHUubWluV2lkdGgsdFtjXSk6dS5taW5XaWR0aDtpW2NdPU1hdGgubWF4KGlbY10saCk7dmFyIGQ9bj9NYXRoLm1pbih1Lm1pbkhlaWdodCxlW2xdKTp1Lm1pbkhlaWdodDtyW2xdPU1hdGgubWF4KHJbbF0sZCksb1tjXT1vW2NdfHx1Lm1pbldpZHRoPnRbY10sYVtsXT1hW2xdfHx1Lm1pbkhlaWdodD5lW2xdfSkpfSkpLHtndWFyYW50ZWVkV2lkdGhzOmksZ3VhcmFudGVlZEhlaWdodHM6cix3YW50c1dpZHRoQXJyOm8sd2FudHNIZWlnaHRBcnI6YX19LGUucHJvdG90eXBlLnJlcXVlc3RlZFNwYWNlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX2NhbGN1bGF0ZWRMYXlvdXQ9dGhpcy5faXRlcmF0ZUxheW91dCh0LGUpLHttaW5XaWR0aDp2TXQuc3VtKHRoaXMuX2NhbGN1bGF0ZWRMYXlvdXQuZ3VhcmFudGVlZFdpZHRocyksbWluSGVpZ2h0OnZNdC5zdW0odGhpcy5fY2FsY3VsYXRlZExheW91dC5ndWFyYW50ZWVkSGVpZ2h0cyl9fSxlLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKGUsbixpKXt2YXIgcj10aGlzO3QucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQuY2FsbCh0aGlzLGUsbixpKTt2YXIgbz12TXQuc3VtKHRoaXMuX2NhbGN1bGF0ZWRMYXlvdXQuZ3VhcmFudGVlZFdpZHRocyksYT12TXQuc3VtKHRoaXMuX2NhbGN1bGF0ZWRMYXlvdXQuZ3VhcmFudGVlZEhlaWdodHMpLHM9dGhpcy5fY2FsY3VsYXRlZExheW91dDsobz50aGlzLndpZHRoKCl8fGE+dGhpcy5oZWlnaHQoKSkmJihzPXRoaXMuX2l0ZXJhdGVMYXlvdXQodGhpcy53aWR0aCgpLHRoaXMuaGVpZ2h0KCksITApKTt2YXIgbD0wLGM9Yk10LkFycmF5LmFkZChzLnJvd1Byb3BvcnRpb25hbFNwYWNlLHMuZ3VhcmFudGVlZEhlaWdodHMpLHU9Yk10LkFycmF5LmFkZChzLmNvbFByb3BvcnRpb25hbFNwYWNlLHMuZ3VhcmFudGVlZFdpZHRocyk7cmV0dXJuIHRoaXMuX3Jvd3MuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXt2YXIgbj0wO3QuZm9yRWFjaCgoZnVuY3Rpb24odCxpKXtudWxsIT10JiZ0LmNvbXB1dGVMYXlvdXQoe3g6bix5Omx9LHVbaV0sY1tlXSksbis9dVtpXStyLl9jb2x1bW5QYWRkaW5nfSkpLGwrPWNbZV0rci5fcm93UGFkZGluZ30pKSx0aGlzfSxlLnByb3RvdHlwZS5yb3dQYWRkaW5nPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3Jvd1BhZGRpbmc7aWYoIWJNdC5NYXRoLmlzVmFsaWROdW1iZXIodCl8fHQ8MCl0aHJvdyBFcnJvcigicm93UGFkZGluZyBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGZpbml0ZSB2YWx1ZSIpO3JldHVybiB0aGlzLl9yb3dQYWRkaW5nPXQsdGhpcy5yZWRyYXcoKSx0aGlzfSxlLnByb3RvdHlwZS5jb2x1bW5QYWRkaW5nPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX2NvbHVtblBhZGRpbmc7aWYoIWJNdC5NYXRoLmlzVmFsaWROdW1iZXIodCl8fHQ8MCl0aHJvdyBFcnJvcigiY29sdW1uUGFkZGluZyBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGZpbml0ZSB2YWx1ZSIpO3JldHVybiB0aGlzLl9jb2x1bW5QYWRkaW5nPXQsdGhpcy5yZWRyYXcoKSx0aGlzfSxlLnByb3RvdHlwZS5yb3dXZWlnaHQ9ZnVuY3Rpb24odCxlKXtpZihudWxsPT1lKXJldHVybiB0aGlzLl9yb3dXZWlnaHRzW3RdO2lmKCFiTXQuTWF0aC5pc1ZhbGlkTnVtYmVyKGUpfHxlPDApdGhyb3cgRXJyb3IoInJvd1dlaWdodCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGZpbml0ZSB2YWx1ZSIpO3JldHVybiB0aGlzLl9yb3dXZWlnaHRzW3RdPWUsdGhpcy5yZWRyYXcoKSx0aGlzfSxlLnByb3RvdHlwZS5jb2x1bW5XZWlnaHQ9ZnVuY3Rpb24odCxlKXtpZihudWxsPT1lKXJldHVybiB0aGlzLl9jb2x1bW5XZWlnaHRzW3RdO2lmKCFiTXQuTWF0aC5pc1ZhbGlkTnVtYmVyKGUpfHxlPDApdGhyb3cgRXJyb3IoImNvbHVtbldlaWdodCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGZpbml0ZSB2YWx1ZSIpO3JldHVybiB0aGlzLl9jb2x1bW5XZWlnaHRzW3RdPWUsdGhpcy5yZWRyYXcoKSx0aGlzfSxlLnByb3RvdHlwZS5maXhlZFdpZHRoPWZ1bmN0aW9uKCl7dmFyIHQ9dk10LnRyYW5zcG9zZSh0aGlzLl9yb3dzKTtyZXR1cm4gZS5fZml4ZWRTcGFjZSh0LChmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dHx8dC5maXhlZFdpZHRoKCl9KSl9LGUucHJvdG90eXBlLmZpeGVkSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIGUuX2ZpeGVkU3BhY2UodGhpcy5fcm93cywoZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR8fHQuZml4ZWRIZWlnaHQoKX0pKX0sZS5wcm90b3R5cGUuX3BhZFRhYmxlVG9TaXplPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTA7bjx0O24rKyl7dm9pZCAwPT09dGhpcy5fcm93c1tuXSYmKHRoaXMuX3Jvd3Nbbl09W10sdGhpcy5fcm93V2VpZ2h0c1tuXT1udWxsKTtmb3IodmFyIGk9MDtpPGU7aSsrKXZvaWQgMD09PXRoaXMuX3Jvd3Nbbl1baV0mJih0aGlzLl9yb3dzW25dW2ldPW51bGwpfWZvcihpPTA7aTxlO2krKyl2b2lkIDA9PT10aGlzLl9jb2x1bW5XZWlnaHRzW2ldJiYodGhpcy5fY29sdW1uV2VpZ2h0c1tpXT1udWxsKX0sZS5fY2FsY0NvbXBvbmVudFdlaWdodHM9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0Lm1hcCgoZnVuY3Rpb24odCxpKXtyZXR1cm4gbnVsbCE9dD90OmVbaV0ubWFwKG4pLnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCYmZX0pLCEwKT8wOjF9KSl9LGUuX2NhbGNQcm9wb3J0aW9uYWxTcGFjZT1mdW5jdGlvbih0LGUpe3ZhciBuPXZNdC5zdW0odCk7cmV0dXJuIDA9PT1uP2JNdC5BcnJheS5jcmVhdGVGaWxsZWRBcnJheSgwLHQubGVuZ3RoKTp0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGUqdC9ufSkpfSxlLl9maXhlZFNwYWNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiB0JiZlfSksITApfTtyZXR1cm4gbih0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG4odC5tYXAoZSkpfSkpKX0sZX0pKHl3dC5Db21wb25lbnRDb250YWluZXIpO19NdC5UYWJsZT14TXQ7dmFyIHdNdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkod010LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgU010PUJPLE1NdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPW51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztyZXR1cm4gZS5fbWF4TGluZXM9MixlfXJldHVybiBTTXQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUucmVxdWVzdGVkU3BhY2U9ZnVuY3Rpb24odCxlKXt0aGlzLl93cmFwcGVyLm1heExpbmVzKHRoaXMuX21heExpbmVzKTt2YXIgbj0wPT09dGhpcy5hbmdsZSgpP3Q6ZTswPT09biYmKG49MS8wKTt2YXIgaT10aGlzLl93cmFwcGVyLndyYXAodGhpcy5fdGV4dCx0aGlzLl9tZWFzdXJlcixuKSxyPXRoaXMuX21lYXN1cmVyLm1lYXN1cmUoaS53cmFwcGVkVGV4dCk7cmV0dXJue21pbldpZHRoOigwPT09dGhpcy5hbmdsZSgpP3Iud2lkdGg6ci5oZWlnaHQpKzIqdGhpcy5wYWRkaW5nKCksbWluSGVpZ2h0OigwPT09dGhpcy5hbmdsZSgpP3IuaGVpZ2h0OnIud2lkdGgpKzIqdGhpcy5wYWRkaW5nKCl9fSxlLnByb3RvdHlwZS5tYXhMaW5lcz1mdW5jdGlvbih0KXtyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5fbWF4TGluZXM6KHRoaXMuX21heExpbmVzPXQsdGhpcy5yZWRyYXcoKSx0aGlzKX0sZX0pKE53dC5MYWJlbCk7d010LldyYXBwZWRMYWJlbD1NTXQ7dmFyIEVNdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoRU10LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgVE10PUJPLENNdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gZS5hZGRDbGFzcygieC1kcmFnLWJveC1sYXllciIpLGUuX2hhc0Nvcm5lcnM9ITEsZX1yZXR1cm4gVE10Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmNvbXB1dGVMYXlvdXQ9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiB0LnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxlLG4saSksdGhpcy5fc2V0Qm91bmRzKHRoaXMuYm91bmRzKCkpLHRoaXN9LGUucHJvdG90eXBlLl9zZXRCb3VuZHM9ZnVuY3Rpb24oZSl7dC5wcm90b3R5cGUuX3NldEJvdW5kcy5jYWxsKHRoaXMse3RvcExlZnQ6e3g6ZS50b3BMZWZ0LngseTowfSxib3R0b21SaWdodDp7eDplLmJvdHRvbVJpZ2h0LngseTp0aGlzLmhlaWdodCgpfX0pfSxlLnByb3RvdHlwZS5fc2V0UmVzaXphYmxlQ2xhc3Nlcz1mdW5jdGlvbih0KXt0JiZ0aGlzLmVuYWJsZWQoKT90aGlzLmFkZENsYXNzKCJ4LXJlc2l6YWJsZSIpOnRoaXMucmVtb3ZlQ2xhc3MoIngtcmVzaXphYmxlIil9LGUucHJvdG90eXBlLnlTY2FsZT1mdW5jdGlvbihlKXtpZihudWxsPT1lKXJldHVybiB0LnByb3RvdHlwZS55U2NhbGUuY2FsbCh0aGlzKTt0aHJvdyBuZXcgRXJyb3IoInlTY2FsZXMgY2Fubm90IGJlIHNldCBvbiBhbiBYRHJhZ0JveExheWVyIil9LGUucHJvdG90eXBlLnlFeHRlbnQ9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gdC5wcm90b3R5cGUueUV4dGVudC5jYWxsKHRoaXMpO3Rocm93IG5ldyBFcnJvcigiWERyYWdCb3hMYXllciBoYXMgbm8geUV4dGVudCIpfSxlfSkoZXh0LkRyYWdCb3hMYXllcik7RU10LlhEcmFnQm94TGF5ZXI9Q010O3ZhciBBTXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEFNdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGtNdD1CTyxMTXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGUuYWRkQ2xhc3MoInktZHJhZy1ib3gtbGF5ZXIiKSxlLl9oYXNDb3JuZXJzPSExLGV9cmV0dXJuIGtNdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gdC5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMsZSxuLGkpLHRoaXMuX3NldEJvdW5kcyh0aGlzLmJvdW5kcygpKSx0aGlzfSxlLnByb3RvdHlwZS5fc2V0Qm91bmRzPWZ1bmN0aW9uKGUpe3QucHJvdG90eXBlLl9zZXRCb3VuZHMuY2FsbCh0aGlzLHt0b3BMZWZ0Ont4OjAseTplLnRvcExlZnQueX0sYm90dG9tUmlnaHQ6e3g6dGhpcy53aWR0aCgpLHk6ZS5ib3R0b21SaWdodC55fX0pfSxlLnByb3RvdHlwZS5fc2V0UmVzaXphYmxlQ2xhc3Nlcz1mdW5jdGlvbih0KXt0JiZ0aGlzLmVuYWJsZWQoKT90aGlzLmFkZENsYXNzKCJ5LXJlc2l6YWJsZSIpOnRoaXMucmVtb3ZlQ2xhc3MoInktcmVzaXphYmxlIil9LGUucHJvdG90eXBlLnhTY2FsZT1mdW5jdGlvbihlKXtpZihudWxsPT1lKXJldHVybiB0LnByb3RvdHlwZS54U2NhbGUuY2FsbCh0aGlzKTt0aHJvdyBuZXcgRXJyb3IoInhTY2FsZXMgY2Fubm90IGJlIHNldCBvbiBhbiBZRHJhZ0JveExheWVyIil9LGUucHJvdG90eXBlLnhFeHRlbnQ9ZnVuY3Rpb24oZSl7aWYobnVsbD09ZSlyZXR1cm4gdC5wcm90b3R5cGUueEV4dGVudC5jYWxsKHRoaXMpO3Rocm93IG5ldyBFcnJvcigiWURyYWdCb3hMYXllciBoYXMgbm8geEV4dGVudCIpfSxlfSkoZXh0LkRyYWdCb3hMYXllcik7QU10LllEcmFnQm94TGF5ZXI9TE10LChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPO2UuX19leHBvcnRTdGFyKGV4dCx0KSxlLl9fZXhwb3J0U3Rhcihud3QsdCksZS5fX2V4cG9ydFN0YXIocHd0LHQpLGUuX19leHBvcnRTdGFyKF93dCx0KSxlLl9fZXhwb3J0U3Rhcihpd3QsdCksZS5fX2V4cG9ydFN0YXIoRXd0LHQpLGUuX19leHBvcnRTdGFyKE53dCx0KSxlLl9fZXhwb3J0U3RhcihCd3QsdCksZS5fX2V4cG9ydFN0YXIoYVN0LHQpLGUuX19leHBvcnRTdGFyKCR4dCx0KSxlLl9fZXhwb3J0U3RhcihfTXQsdCksZS5fX2V4cG9ydFN0YXIod010LHQpLGUuX19leHBvcnRTdGFyKEVNdCx0KSxlLl9fZXhwb3J0U3RhcihBTXQsdCl9KSh0eHQpO3ZhciBQTXQ9e30sTk10PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoTk10LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgSU10PUJPLFJNdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3JldHVybiB0LmNhbGwodGhpcywicGF0aCIsImFyYyBmaWxsIil8fHRoaXN9cmV0dXJuIElNdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fYXBwbHlEZWZhdWx0QXR0cmlidXRlcz1mdW5jdGlvbih0KXt0LnN0eWxlKCJzdHJva2UiLCJub25lIil9LGV9KShxU3QuU1ZHRHJhd2VyKTtOTXQuQXJjU1ZHRHJhd2VyPVJNdDt2YXIgT010PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShPTXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciB6TXQ9Qk8sRE10PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIHQuY2FsbCh0aGlzLCJwYXRoIiwiYXJjIG91dGxpbmUiKXx8dGhpc31yZXR1cm4gek10Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9hcHBseURlZmF1bHRBdHRyaWJ1dGVzPWZ1bmN0aW9uKHQpe3Quc3R5bGUoImZpbGwiLCJub25lIil9LGV9KShxU3QuU1ZHRHJhd2VyKTtPTXQuQXJjT3V0bGluZVNWR0RyYXdlcj1ETXQ7dmFyIEJNdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoQk10LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgSE10PUJPLEZNdD1qU3QsVk10PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIHQuY2FsbCh0aGlzLCJwYXRoIiwiYXJlYSIpfHx0aGlzfXJldHVybiBITXQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuX2FwcGx5RGVmYXVsdEF0dHJpYnV0ZXM9ZnVuY3Rpb24odCl7dC5zdHlsZSgic3Ryb2tlIiwibm9uZSIpfSxlLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4PWZ1bmN0aW9uKGUpe3JldHVybiB0LnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4LmNhbGwodGhpcywwKX0sZX0pKHFTdC5TVkdEcmF3ZXIpO0JNdC5BcmVhU1ZHRHJhd2VyPVZNdDt2YXIgVU10PVsib3BhY2l0eSIsImZpbGwiLCJmaWxsLW9wYWNpdHkiXSxqTXQ9WyJvcGFjaXR5Iiwic3Ryb2tlIiwic3Ryb2tlLXdpZHRoIl07Qk10Lm1ha2VBcmVhQ2FudmFzRHJhd1N0ZXA9ZnVuY3Rpb24gR010KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSxyKXt2YXIgbz1GTXQucmVzb2x2ZUF0dHJpYnV0ZXMocixVTXQsaVswXSwwKTtGTXQucmVuZGVyQXJlYShuLHQoKSxpWzBdLG8pO3ZhciBhPUZNdC5yZXNvbHZlQXR0cmlidXRlcyhyLGpNdCxpWzBdLDApO0ZNdC5yZW5kZXJMaW5lKG4sZSgpLGlbMF0sYSl9fTt2YXIgV010PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShXTXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBxTXQ9Qk8sWU10PWpTdCxYTXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gdC5jYWxsKHRoaXMsInBhdGgiLCJsaW5lIil8fHRoaXN9cmV0dXJuIHFNdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fYXBwbHlEZWZhdWx0QXR0cmlidXRlcz1mdW5jdGlvbih0KXt0LnN0eWxlKCJmaWxsIiwibm9uZSIpfSxlLnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4PWZ1bmN0aW9uKGUpe3JldHVybiB0LnByb3RvdHlwZS5nZXRWaXN1YWxQcmltaXRpdmVBdEluZGV4LmNhbGwodGhpcywwKX0sZX0pKHFTdC5TVkdEcmF3ZXIpO1dNdC5MaW5lU1ZHRHJhd2VyPVhNdDt2YXIgJE10PVsib3BhY2l0eSIsInN0cm9rZS1vcGFjaXR5Iiwic3Ryb2tlLXdpZHRoIiwic3Ryb2tlIiwic3Ryb2tlLWRhc2hhcnJheSJdO1dNdC5tYWtlTGluZUNhbnZhc0RyYXdTdGVwPWZ1bmN0aW9uIEtNdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLGkpe3ZhciByPVlNdC5yZXNvbHZlQXR0cmlidXRlcyhpLCRNdCxuWzBdLDApO1lNdC5yZW5kZXJMaW5lKGUsdCgpLG5bMF0scil9fTt2YXIgWk10PXt9OyEoZnVuY3Rpb24odCl7Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZT1CTyxuPWpTdCxpPShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUpe3ZvaWQgMD09PWUmJihlPSIiKTt2YXIgbj10LmNhbGwodGhpcywicmVjdCIsIiIpfHx0aGlzO3JldHVybiBuLl9yb290Q2xhc3NOYW1lPWUsbi5fcm9vdC5jbGFzc2VkKG4uX3Jvb3RDbGFzc05hbWUsITApLG59cmV0dXJuIGUuX19leHRlbmRzKG4sdCksbn0pKHFTdC5TVkdEcmF3ZXIpO3QuUmVjdGFuZ2xlU1ZHRHJhd2VyPWk7dmFyIHI9bi5Db250ZXh0U3R5bGVBdHRycy5jb25jYXQoWyJ4IiwieSIsIndpZHRoIiwiaGVpZ2h0Il0pO3QuUmVjdGFuZ2xlQ2FudmFzRHJhd1N0ZXA9ZnVuY3Rpb24odCxlLGkpe3Quc2F2ZSgpO2Zvcih2YXIgbz1lLmxlbmd0aCxhPTA7YTxvO2ErKyl7dmFyIHM9ZVthXTtpZihudWxsIT1zKXt2YXIgbD1uLnJlc29sdmVBdHRyaWJ1dGVzKGkscixzLGEpO3QuYmVnaW5QYXRoKCksdC5yZWN0KGwueCxsLnksbC53aWR0aCxsLmhlaWdodCksbi5yZW5kZXJQYXRoV2l0aFN0eWxlKHQsbCl9fXQucmVzdG9yZSgpfTt2YXIgbz0oZnVuY3Rpb24obil7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbi5jYWxsKHRoaXMsZSx0LlJlY3RhbmdsZUNhbnZhc0RyYXdTdGVwKXx8dGhpc31yZXR1cm4gZS5fX2V4dGVuZHMoaSxuKSxpfSkobi5DYW52YXNEcmF3ZXIpO3QuUmVjdGFuZ2xlQ2FudmFzRHJhd2VyPW99KShaTXQpO3ZhciBKTXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KEpNdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFFNdD1CTyx0RXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gdC5jYWxsKHRoaXMsImxpbmUiLCIiKXx8dGhpc31yZXR1cm4gUU10Ll9fZXh0ZW5kcyhlLHQpLGV9KShxU3QuU1ZHRHJhd2VyKTtKTXQuU2VnbWVudFNWR0RyYXdlcj10RXQ7dmFyIGVFdD17fSxuRXQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTctcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShuRXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpRXQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4saSl7dm9pZCAwPT09aSYmKGk9d2luZG93LmRldmljZVBpeGVsUmF0aW8pLHRoaXMuc2NyZWVuV2lkdGg9ZSx0aGlzLnNjcmVlbkhlaWdodD1uLHRoaXMuZGV2aWNlUGl4ZWxSYXRpbz1pLHRoaXMucGl4ZWxXaWR0aD1lKmksdGhpcy5waXhlbEhlaWdodD1uKmksdGhpcy5jYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksdGhpcy5jdHg9dGhpcy5jYW52YXMuZ2V0Q29udGV4dCgiMmQiKSx0LnNpemVQaXhlbHModGhpcy5jdHgsZSxuLGkpfXJldHVybiB0LnNpemVQaXhlbHM9ZnVuY3Rpb24odCxlLG4saSl7dmFyIHI9dC5jYW52YXM7ci53aWR0aD1lKmksci5oZWlnaHQ9bippLHIuc3R5bGUud2lkdGg9ZSsicHgiLHIuc3R5bGUuaGVpZ2h0PW4rInB4Iix0LnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksdC5zY2FsZShpLGkpfSx0LnByb3RvdHlwZS5ibGl0PWZ1bmN0aW9uKHQsZSxuKXt2b2lkIDA9PT1lJiYoZT0wKSx2b2lkIDA9PT1uJiYobj0wKSx0LmRyYXdJbWFnZSh0aGlzLmNhbnZhcyxlLG4sdGhpcy5zY3JlZW5XaWR0aCx0aGlzLnNjcmVlbkhlaWdodCl9LHQucHJvdG90eXBlLmJsaXRDZW50ZXI9ZnVuY3Rpb24odCxlLG4pe3ZvaWQgMD09PWUmJihlPTApLHZvaWQgMD09PW4mJihuPTApLHRoaXMuYmxpdCh0LE1hdGguZmxvb3IoZS10aGlzLnNjcmVlbldpZHRoLzIpLE1hdGguZmxvb3Iobi10aGlzLnNjcmVlbkhlaWdodC8yKSl9LHQucHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbihlLG4saSl7dm9pZCAwPT09aSYmKGk9ITEpO3ZhciByPXRoaXMuZGV2aWNlUGl4ZWxSYXRpbztyZXR1cm4gdGhpcy5zY3JlZW5XaWR0aD1lLHRoaXMuc2NyZWVuSGVpZ2h0PW4sdGhpcy5waXhlbFdpZHRoPWUqcix0aGlzLnBpeGVsSGVpZ2h0PW4qcix0LnNpemVQaXhlbHModGhpcy5jdHgsZSxuLHIpLGkmJnRoaXMuY3R4LnRyYW5zbGF0ZShlLzIsZS8yKSx0aGlzfSx0LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49ZS5waXhlbFdpZHRoLGk9ZS5waXhlbEhlaWdodCxyPWUuY3R4O3JldHVybiByLnNhdmUoKSxyLnNldFRyYW5zZm9ybSgxLDAsMCwxLDAsMCksbnVsbD09dD9yLmNsZWFyUmVjdCgwLDAsbixpKTooci5maWxsU3R5bGU9dCxyLmZpbGxSZWN0KDAsMCxuLGkpKSxyLnJlc3RvcmUoKSx0aGlzfSx0LnByb3RvdHlwZS5nZXRJbWFnZURhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdHguZ2V0SW1hZ2VEYXRhKDAsMCx0aGlzLnBpeGVsV2lkdGgsdGhpcy5waXhlbEhlaWdodCl9LHR9KSgpO25FdC5DYW52YXNCdWZmZXI9aUV0LAovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZUV0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgckV0PUJPLG9FdD1qU3QsYUV0PW5FdCxzRXQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gdC5jYWxsKHRoaXMsInBhdGgiLCJzeW1ib2wiKXx8dGhpc31yZXR1cm4gckV0Ll9fZXh0ZW5kcyhlLHQpLGV9KShxU3QuU1ZHRHJhd2VyKTtlRXQuU3ltYm9sU1ZHRHJhd2VyPXNFdDt2YXIgbEV0PW9FdC5Db250ZXh0U3R5bGVBdHRycy5jb25jYXQoWyJ4IiwieSJdKTtmdW5jdGlvbiBjRXQodCxlLG4saSxyKXtyZXR1cm4gbityPj0wJiZuLXI8PXQmJmkrcj49MCYmaS1yPD1lfWZ1bmN0aW9uIHVFdCh0LGUsbil7aWYobnVsbD09dClyZXR1cm4hMTtmb3IodmFyIGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIHI9bltpXTtpZih0W3JdIT1lW3JdKXJldHVybiExfXJldHVybiEwfWVFdC5tYWtlU3ltYm9sQ2FudmFzRHJhd1N0ZXA9ZnVuY3Rpb24gaEV0KHQsZSxuLGkpe3ZhciByPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKG8sYSxzKXtmb3IodmFyIGw9by5jYW52YXMsYz1sLmNsaWVudFdpZHRoLHU9bC5jbGllbnRIZWlnaHQsaD12b2lkIDA9PT1pP25ldyBhRXQuQ2FudmFzQnVmZmVyKDAsMCk6aSxkPWUoKSxwPW4oKSxmPW51bGwsbT1udWxsLGc9bnVsbCxfPTA7XzxhLmxlbmd0aDtfKyspe3ZhciB5PWFbX107aWYobnVsbCE9eSl7dmFyIHY9b0V0LnJlc29sdmVBdHRyaWJ1dGVzKHMsbEV0LHksXyksYj1wKHksXyx0KTtpZihjRXQoYyx1LHYueCx2LnksYikpe3ZhciB4PXVFdChmLHYsb0V0LkNvbnRleHRTdHlsZUF0dHJzKSx3PWQoeSxfLHIuX2RhdGFzZXQpO2lmKHgmJmc9PWImJm09PXcpO2Vsc2V7dmFyIFM9YitvRXQuZ2V0U3Ryb2tlV2lkdGgodikrMTsoUz5oLnNjcmVlbldpZHRofHxTPmguc2NyZWVuSGVpZ2h0KSYmaC5yZXNpemUoUyxTLCEwKSxoLmNsZWFyKCk7dmFyIE09aC5jdHg7TS5iZWdpblBhdGgoKSx3KGIpLmNvbnRleHQoTSkobnVsbCksTS5jbG9zZVBhdGgoKSxvRXQucmVuZGVyUGF0aFdpdGhTdHlsZShNLHYpLG09dyxnPWIsZj12fWguYmxpdENlbnRlcihvLHYueCx2LnkpfX19fX0sKGZ1bmN0aW9uKHQpewovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGU9Qk87ZS5fX2V4cG9ydFN0YXIoTk10LHQpLGUuX19leHBvcnRTdGFyKE9NdCx0KSxlLl9fZXhwb3J0U3RhcihCTXQsdCksZS5fX2V4cG9ydFN0YXIoalN0LHQpLGUuX19leHBvcnRTdGFyKEdTdCx0KSxlLl9fZXhwb3J0U3RhcihXTXQsdCksZS5fX2V4cG9ydFN0YXIoWk10LHQpLGUuX19leHBvcnRTdGFyKEpNdCx0KSxlLl9fZXhwb3J0U3RhcihxU3QsdCksZS5fX2V4cG9ydFN0YXIoZUV0LHQpfSkoUE10KTt2YXIgZEV0PXt9LHBFdD17fSxmRXQ9e30sbUV0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkobUV0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZ0V0PUJPLF9FdD1YdnQseUV0PURfdCx2RXQ9S1N0LGJFdD1zU3QseEV0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBlLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluPSExLGUuX2F1dG9BZGp1c3RZU2NhbGVEb21haW49ITEsZS5fZGVmZXJyZWRSZW5kZXJpbmc9ITEsZS5fYXBwbHlEZWZlcnJlZFJlbmRlcmluZ1RyYW5zZm9ybT1mdW5jdGlvbih0LG4saSxyKXtlLl9pc0FuY2hvcmVkJiYobnVsbCE9ZS5fcmVuZGVyQXJlYSYmZS5fcmVuZGVyQXJlYS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIit0KyIsICIrbisiKSBzY2FsZSgiK2krIiwgIityKyIpIiksbnVsbCE9ZS5fY2FudmFzJiZlLl9jYW52YXMuc3R5bGUoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK3QrInB4LCAiK24rInB4KSBzY2FsZSgiK2krIiwgIityKyIpIikpfSxlLmFkZENsYXNzKCJ4eS1wbG90IiksZS5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVhDYWxsYmFjaz1mdW5jdGlvbih0KXtyZXR1cm4gZS5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVgoKX0sZS5fYWRqdXN0WERvbWFpbk9uQ2hhbmdlRnJvbVlDYWxsYmFjaz1mdW5jdGlvbih0KXtyZXR1cm4gZS5fYWRqdXN0WERvbWFpbk9uQ2hhbmdlRnJvbVkoKX0sZS5fcmVuZGVyQ2FsbGJhY2s9ZnVuY3Rpb24oKXtpZihlLmRlZmVycmVkUmVuZGVyaW5nKCkpe3ZhciB0PWUueCgpJiZlLngoKS5zY2FsZSxuPWUueSgpJiZlLnkoKS5zY2FsZTtlLl9kZWZlcnJlZFJlbmRlcmVyLnVwZGF0ZURvbWFpbnModCxuKX1lbHNlIGUucmVuZGVyKCl9LGUuX2RlZmVycmVkUmVuZGVyZXI9bmV3IHZFdC5EZWZlcnJlZFJlbmRlcmVyKChmdW5jdGlvbigpe3JldHVybiBlLnJlbmRlcigpfSksZS5fYXBwbHlEZWZlcnJlZFJlbmRlcmluZ1RyYW5zZm9ybSksZX1yZXR1cm4gZ0V0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRlZmVycmVkUmVuZGVyaW5nKCkmJnRoaXMuX2RlZmVycmVkUmVuZGVyZXIucmVzZXRUcmFuc2Zvcm1zKCksdC5wcm90b3R5cGUucmVuZGVyLmNhbGwodGhpcyl9LGUucHJvdG90eXBlLmRlZmVycmVkUmVuZGVyaW5nPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX2RlZmVycmVkUmVuZGVyaW5nO2lmKHQpe3ZhciBlPXRoaXMueCgpJiZ0aGlzLngoKS5zY2FsZSxuPXRoaXMueSgpJiZ0aGlzLnkoKS5zY2FsZTt0aGlzLl9kZWZlcnJlZFJlbmRlcmVyLnNldERvbWFpbnMoZSxuKX1yZXR1cm4gdGhpcy5fZGVmZXJyZWRSZW5kZXJpbmc9dCx0aGlzfSxlLnByb3RvdHlwZS54PWZ1bmN0aW9uKHQsbixpKXtpZihudWxsPT10KXJldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChlLl9YX0tFWSk7dGhpcy5fYmluZFByb3BlcnR5KGUuX1hfS0VZLHQsbixpKTt2YXIgcj10aGlzLndpZHRoKCk7cmV0dXJuIG51bGwhPW4mJm51bGwhPXImJm4ucmFuZ2UoWzAscl0pLHRoaXMuX2F1dG9BZGp1c3RZU2NhbGVEb21haW4mJnRoaXMuX3VwZGF0ZVlFeHRlbnRzQW5kQXV0b2RvbWFpbigpLHRoaXMucmVuZGVyKCksdGhpc30sZS5wcm90b3R5cGUueT1mdW5jdGlvbih0LG4saSl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoZS5fWV9LRVkpO3RoaXMuX2JpbmRQcm9wZXJ0eShlLl9ZX0tFWSx0LG4saSk7dmFyIHI9dGhpcy5oZWlnaHQoKTtyZXR1cm4gbnVsbCE9biYmbnVsbCE9ciYmbi5yYW5nZShuIGluc3RhbmNlb2YgX0V0LkNhdGVnb3J5P1swLHJdOltyLDBdKSx0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluJiZ0aGlzLl91cGRhdGVYRXh0ZW50c0FuZEF1dG9kb21haW4oKSx0aGlzLnJlbmRlcigpLHRoaXN9LGUucHJvdG90eXBlLl9maWx0ZXJGb3JQcm9wZXJ0eT1mdW5jdGlvbih0KXtyZXR1cm4ieCI9PT10JiZ0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluP3RoaXMuX21ha2VGaWx0ZXJCeVByb3BlcnR5KCJ5Iik6InkiIT09dCYmInkwIiE9PXR8fCF0aGlzLl9hdXRvQWRqdXN0WVNjYWxlRG9tYWluP251bGw6dGhpcy5fbWFrZUZpbHRlckJ5UHJvcGVydHkoIngiKX0sZS5wcm90b3R5cGUuX21ha2VGaWx0ZXJCeVByb3BlcnR5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KHQpO2lmKG51bGwhPWUpe3ZhciBuPWUuYWNjZXNzb3IsaT1lLnNjYWxlO2lmKG51bGwhPWkpcmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXt2YXIgbz1pLnJhbmdlKCk7cmV0dXJuIHlFdC5NYXRoLmluUmFuZ2UoaS5zY2FsZShuKHQsZSxyKSksb1swXSxvWzFdKX19cmV0dXJuIG51bGx9LGUucHJvdG90eXBlLl91bmluc3RhbGxTY2FsZUZvcktleT1mdW5jdGlvbihuLGkpe3QucHJvdG90eXBlLl91bmluc3RhbGxTY2FsZUZvcktleS5jYWxsKHRoaXMsbixpKSxuLm9mZlVwZGF0ZShpPT09ZS5fWF9LRVk/dGhpcy5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVhDYWxsYmFjazp0aGlzLl9hZGp1c3RYRG9tYWluT25DaGFuZ2VGcm9tWUNhbGxiYWNrKX0sZS5wcm90b3R5cGUuX2luc3RhbGxTY2FsZUZvcktleT1mdW5jdGlvbihuLGkpe3QucHJvdG90eXBlLl9pbnN0YWxsU2NhbGVGb3JLZXkuY2FsbCh0aGlzLG4saSksbi5vblVwZGF0ZShpPT09ZS5fWF9LRVk/dGhpcy5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVhDYWxsYmFjazp0aGlzLl9hZGp1c3RYRG9tYWluT25DaGFuZ2VGcm9tWUNhbGxiYWNrKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3JldHVybiB0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyksdGhpcy54KCkuc2NhbGUmJnRoaXMueCgpLnNjYWxlLm9mZlVwZGF0ZSh0aGlzLl9hZGp1c3RZRG9tYWluT25DaGFuZ2VGcm9tWENhbGxiYWNrKSx0aGlzLnkoKS5zY2FsZSYmdGhpcy55KCkuc2NhbGUub2ZmVXBkYXRlKHRoaXMuX2FkanVzdFhEb21haW5PbkNoYW5nZUZyb21ZQ2FsbGJhY2spLHRoaXN9LGUucHJvdG90eXBlLmF1dG9yYW5nZU1vZGU9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fYXV0b0FkanVzdFhTY2FsZURvbWFpbj8ieCI6dGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbj8ieSI6Im5vbmUiO3N3aXRjaCh0KXtjYXNlIngiOnRoaXMuX2F1dG9BZGp1c3RYU2NhbGVEb21haW49ITAsdGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbj0hMSx0aGlzLl9hZGp1c3RYRG9tYWluT25DaGFuZ2VGcm9tWSgpO2JyZWFrO2Nhc2UieSI6dGhpcy5fYXV0b0FkanVzdFhTY2FsZURvbWFpbj0hMSx0aGlzLl9hdXRvQWRqdXN0WVNjYWxlRG9tYWluPSEwLHRoaXMuX2FkanVzdFlEb21haW5PbkNoYW5nZUZyb21YKCk7YnJlYWs7Y2FzZSJub25lIjp0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluPSExLHRoaXMuX2F1dG9BZGp1c3RZU2NhbGVEb21haW49ITE7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc2NhbGUgbmFtZSAnIit0KyInLCBtdXN0IGJlICd4JywgJ3knIG9yICdub25lJyIpfXJldHVybiB0aGlzfSxlLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKGUsbixpKXt0LnByb3RvdHlwZS5jb21wdXRlTGF5b3V0LmNhbGwodGhpcyxlLG4saSk7dmFyIHI9dGhpcy54KCksbz1yJiZyLnNjYWxlO251bGwhPW8mJm8ucmFuZ2UoWzAsdGhpcy53aWR0aCgpXSk7dmFyIGE9dGhpcy55KCkscz1hJiZhLnNjYWxlO3JldHVybiBudWxsIT1zJiZzLnJhbmdlKHMgaW5zdGFuY2VvZiBfRXQuQ2F0ZWdvcnk/WzAsdGhpcy5oZWlnaHQoKV06W3RoaXMuaGVpZ2h0KCksMF0pLHRoaXN9LGUucHJvdG90eXBlLl91cGRhdGVYRXh0ZW50c0FuZEF1dG9kb21haW49ZnVuY3Rpb24oKXt2YXIgdD10aGlzLngoKS5zY2FsZTtudWxsIT10JiZ0LmF1dG9Eb21haW4oKX0sZS5wcm90b3R5cGUuX3VwZGF0ZVlFeHRlbnRzQW5kQXV0b2RvbWFpbj1mdW5jdGlvbigpe3ZhciB0PXRoaXMueSgpLnNjYWxlO251bGwhPXQmJnQuYXV0b0RvbWFpbigpfSxlLnByb3RvdHlwZS5zaG93QWxsRGF0YT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl91cGRhdGVYRXh0ZW50c0FuZEF1dG9kb21haW4oKSx0aGlzLl91cGRhdGVZRXh0ZW50c0FuZEF1dG9kb21haW4oKSx0aGlzfSxlLnByb3RvdHlwZS5fYWRqdXN0WURvbWFpbk9uQ2hhbmdlRnJvbVg9ZnVuY3Rpb24oKXt0aGlzLl9wcm9qZWN0b3JzUmVhZHkoKSYmdGhpcy5fYXV0b0FkanVzdFlTY2FsZURvbWFpbiYmdGhpcy5fdXBkYXRlWUV4dGVudHNBbmRBdXRvZG9tYWluKCl9LGUucHJvdG90eXBlLl9hZGp1c3RYRG9tYWluT25DaGFuZ2VGcm9tWT1mdW5jdGlvbigpe3RoaXMuX3Byb2plY3RvcnNSZWFkeSgpJiZ0aGlzLl9hdXRvQWRqdXN0WFNjYWxlRG9tYWluJiZ0aGlzLl91cGRhdGVYRXh0ZW50c0FuZEF1dG9kb21haW4oKX0sZS5wcm90b3R5cGUuX3Byb2plY3RvcnNSZWFkeT1mdW5jdGlvbigpe3ZhciB0PXRoaXMueCgpLGU9dGhpcy55KCk7cmV0dXJuIG51bGwhPXQmJm51bGwhPXQuYWNjZXNzb3ImJm51bGwhPWUmJm51bGwhPWUuYWNjZXNzb3J9LGUucHJvdG90eXBlLl9waXhlbFBvaW50PWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1iRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLHI9YkV0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKTtyZXR1cm57eDppKHQsZSxuKSx5OnIodCxlLG4pfX0sZS5wcm90b3R5cGUuX2dldERhdGFUb0RyYXc9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49dC5wcm90b3R5cGUuX2dldERhdGFUb0RyYXcuY2FsbCh0aGlzKSxpPXRoaXMuYXR0cigiZGVmaW5lZCIpO3JldHVybiB0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7bi5zZXQodCxuLmdldCh0KS5maWx0ZXIoKGZ1bmN0aW9uKG4scil7cmV0dXJuKGZ1bmN0aW9uKHQsbixyKXt2YXIgbz1iRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IoZS54KCkpKHQsbixyKSxhPWJFdC5QbG90Ll9zY2FsZWRBY2Nlc3NvcihlLnkoKSkodCxuLHIpO3JldHVybighaXx8ITEhPT1pLmFjY2Vzc29yKHQsbixyKSkmJnlFdC5NYXRoLmlzVmFsaWROdW1iZXIobykmJnlFdC5NYXRoLmlzVmFsaWROdW1iZXIoYSl9KShuLHIsdCl9KSkpfSkpLG59LGUuX1hfS0VZPSJ4IixlLl9ZX0tFWT0ieSIsZX0pKGJFdC5QbG90KTttRXQuWFlQbG90PXhFdCwKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KGZFdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHdFdD1CTyxTRXQ9d3B0LE1FdD1mZ3QsRUV0PVBNdCxURXQ9R1N0LENFdD1XTXQsQUV0PVh2dCxrRXQ9TGJ0LExFdD1EX3QsUEV0PWRFdCxORXQ9c1N0LElFdD1tRXQsUkV0PXtsaW5lYXI6U0V0LmN1cnZlTGluZWFyLGxpbmVhckNsb3NlZDpTRXQuY3VydmVMaW5lYXJDbG9zZWQsc3RlcDpTRXQuY3VydmVTdGVwLHN0ZXBCZWZvcmU6U0V0LmN1cnZlU3RlcEJlZm9yZSxzdGVwQWZ0ZXI6U0V0LmN1cnZlU3RlcEFmdGVyLGJhc2lzOlNFdC5jdXJ2ZUJhc2lzLGJhc2lzT3BlbjpTRXQuY3VydmVCYXNpc09wZW4sYmFzaXNDbG9zZWQ6U0V0LmN1cnZlQmFzaXNDbG9zZWQsYnVuZGxlOlNFdC5jdXJ2ZUJ1bmRsZSxjYXJkaW5hbDpTRXQuY3VydmVDYXJkaW5hbCxjYXJkaW5hbE9wZW46U0V0LmN1cnZlQ2FyZGluYWxPcGVuLGNhcmRpbmFsQ2xvc2VkOlNFdC5jdXJ2ZUNhcmRpbmFsQ2xvc2VkLG1vbm90b25lOlNFdC5jdXJ2ZU1vbm90b25lWH07ZkV0LkN1cnZlTmFtZT1iZ3QubWFrZUVudW0oWyJsaW5lYXIiLCJsaW5lYXJDbG9zZWQiLCJzdGVwIiwic3RlcEJlZm9yZSIsInN0ZXBBZnRlciIsImJhc2lzIiwiYmFzaXNPcGVuIiwiYmFzaXNDbG9zZWQiLCJidW5kbGUiLCJjYXJkaW5hbCIsImNhcmRpbmFsT3BlbiIsImNhcmRpbmFsQ2xvc2VkIiwibW9ub3RvbmUiXSk7dmFyIE9FdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztlLl9jdXJ2ZT0ibGluZWFyIixlLl9hdXRvcmFuZ2VTbW9vdGg9ITEsZS5fY3JvcHBlZFJlbmRlcmluZ0VuYWJsZWQ9ITAsZS5fY29sbGFwc2VEZW5zZVZlcnRpY2FsTGluZXNFbmFibGVkPSExLGUuX2Rvd25zYW1wbGluZ0VuYWJsZWQ9ITEsZS5hZGRDbGFzcygibGluZS1wbG90Iik7dmFyIG49bmV3IE1FdC5FYXNpbmc7cmV0dXJuIG4uc3RlcER1cmF0aW9uKE5FdC5QbG90Ll9BTklNQVRJT05fTUFYX0RVUkFUSU9OKSxuLmVhc2luZ01vZGUoImV4cEluT3V0Iiksbi5tYXhUb3RhbER1cmF0aW9uKE5FdC5QbG90Ll9BTklNQVRJT05fTUFYX0RVUkFUSU9OKSxlLmFuaW1hdG9yKFBFdC5BbmltYXRvci5NQUlOLG4pLGUuYXR0cigic3Ryb2tlIiwobmV3IEFFdC5Db2xvcikucmFuZ2UoKVswXSksZS5hdHRyKCJzdHJva2Utd2lkdGgiLCIycHgiKSxlfXJldHVybiB3RXQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUueD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIG51bGw9PWU/dC5wcm90b3R5cGUueC5jYWxsKHRoaXMpOih0LnByb3RvdHlwZS54LmNhbGwodGhpcyxlLG4saSksdGhpcy5fc2V0U2NhbGVTbmFwcGluZygpLHRoaXMpfSxlLnByb3RvdHlwZS55PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gbnVsbD09ZT90LnByb3RvdHlwZS55LmNhbGwodGhpcyk6KHQucHJvdG90eXBlLnkuY2FsbCh0aGlzLGUsbixpKSx0aGlzLl9zZXRTY2FsZVNuYXBwaW5nKCksdGhpcyl9LGUucHJvdG90eXBlLmF1dG9yYW5nZU1vZGU9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/dC5wcm90b3R5cGUuYXV0b3JhbmdlTW9kZS5jYWxsKHRoaXMpOih0LnByb3RvdHlwZS5hdXRvcmFuZ2VNb2RlLmNhbGwodGhpcyxlKSx0aGlzLl9zZXRTY2FsZVNuYXBwaW5nKCksdGhpcyl9LGUucHJvdG90eXBlLmF1dG9yYW5nZVNtb290aD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9hdXRvcmFuZ2VTbW9vdGg6KHRoaXMuX2F1dG9yYW5nZVNtb290aD10LHRoaXMuX3NldFNjYWxlU25hcHBpbmcoKSx0aGlzKX0sZS5wcm90b3R5cGUuX3NldFNjYWxlU25hcHBpbmc9ZnVuY3Rpb24oKXsieCI9PT10aGlzLmF1dG9yYW5nZU1vZGUoKSYmdGhpcy54KCkmJnRoaXMueCgpLnNjYWxlJiZ0aGlzLngoKS5zY2FsZSBpbnN0YW5jZW9mIGtFdC5RdWFudGl0YXRpdmVTY2FsZSYmdGhpcy54KCkuc2NhbGUuc25hcHBpbmdEb21haW5FbmFibGVkKCF0aGlzLmF1dG9yYW5nZVNtb290aCgpKSwieSI9PT10aGlzLmF1dG9yYW5nZU1vZGUoKSYmdGhpcy55KCkmJnRoaXMueSgpLnNjYWxlJiZ0aGlzLnkoKS5zY2FsZSBpbnN0YW5jZW9mIGtFdC5RdWFudGl0YXRpdmVTY2FsZSYmdGhpcy55KCkuc2NhbGUuc25hcHBpbmdEb21haW5FbmFibGVkKCF0aGlzLmF1dG9yYW5nZVNtb290aCgpKX0sZS5wcm90b3R5cGUuY3VydmU9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fY3VydmU6KHRoaXMuX2N1cnZlPXQsdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUuZG93bnNhbXBsaW5nRW5hYmxlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9kb3duc2FtcGxpbmdFbmFibGVkOih0aGlzLl9kb3duc2FtcGxpbmdFbmFibGVkPXQsdGhpcyl9LGUucHJvdG90eXBlLmNyb3BwZWRSZW5kZXJpbmdFbmFibGVkPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2Nyb3BwZWRSZW5kZXJpbmdFbmFibGVkOih0aGlzLl9jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZD10LHRoaXMucmVuZGVyKCksdGhpcyl9LGUucHJvdG90eXBlLmNvbGxhcHNlRGVuc2VMaW5lc0VuYWJsZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fY29sbGFwc2VEZW5zZVZlcnRpY2FsTGluZXNFbmFibGVkOih0aGlzLl9jb2xsYXBzZURlbnNlVmVydGljYWxMaW5lc0VuYWJsZWQ9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5fY3JlYXRlRHJhd2VyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7cmV0dXJuIG5ldyBURXQuUHJveHlEcmF3ZXIoKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBDRXQuTGluZVNWR0RyYXdlcn0pLChmdW5jdGlvbihuKXtyZXR1cm4gbmV3IEVFdC5DYW52YXNEcmF3ZXIobixDRXQubWFrZUxpbmVDYW52YXNEcmF3U3RlcCgoZnVuY3Rpb24oKXtyZXR1cm4gZS5fZDNMaW5lRmFjdG9yeSh0KX0pKSl9KSl9LGUucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbihlKXt2YXIgbj10LnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHkuY2FsbCh0aGlzLGUpO2lmKCF0aGlzLl9hdXRvcmFuZ2VTbW9vdGgpcmV0dXJuIG47aWYodGhpcy5hdXRvcmFuZ2VNb2RlKCkhPT1lKXJldHVybiBuO2lmKCJ4IiE9PXRoaXMuYXV0b3JhbmdlTW9kZSgpJiYieSIhPT10aGlzLmF1dG9yYW5nZU1vZGUoKSlyZXR1cm4gbjt2YXIgaSxyPXRoaXMuX2dldEVkZ2VJbnRlcnNlY3Rpb25Qb2ludHMoKTtyZXR1cm4gaT0ieSI9PT10aGlzLmF1dG9yYW5nZU1vZGUoKT9yLmxlZnQuY29uY2F0KHIucmlnaHQpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQueX0pKTpyLnRvcC5jb25jYXQoci5ib3R0b20pLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQueH0pKSxuLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIFNFdC5leHRlbnQoU0V0Lm1lcmdlKFt0LGldKSl9KSl9LGUucHJvdG90eXBlLl9nZXRFZGdlSW50ZXJzZWN0aW9uUG9pbnRzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZighKHRoaXMueSgpLnNjYWxlIGluc3RhbmNlb2Yga0V0LlF1YW50aXRhdGl2ZVNjYWxlJiZ0aGlzLngoKS5zY2FsZSBpbnN0YW5jZW9mIGtFdC5RdWFudGl0YXRpdmVTY2FsZSkpcmV0dXJue2xlZnQ6W10scmlnaHQ6W10sdG9wOltdLGJvdHRvbTpbXX07dmFyIGU9dGhpcy55KCkuc2NhbGUsbj10aGlzLngoKS5zY2FsZSxpPXtsZWZ0OltdLHJpZ2h0OltdLHRvcDpbXSxib3R0b206W119LHI9bi5zY2FsZShuLmRvbWFpbigpWzBdKSxvPW4uc2NhbGUobi5kb21haW4oKVsxXSksYT1lLnNjYWxlKGUuZG9tYWluKClbMF0pLHM9ZS5zY2FsZShlLmRvbWFpbigpWzFdKTtyZXR1cm4gdGhpcy5kYXRhc2V0cygpLmZvckVhY2goKGZ1bmN0aW9uKGwpe2Zvcih2YXIgYyx1LGgsZCxwPWwuZGF0YSgpLGY9MTtmPHAubGVuZ3RoO2YrKyljPWh8fG4uc2NhbGUodC54KCkuYWNjZXNzb3IocFtmLTFdLGYtMSxsKSksdT1kfHxlLnNjYWxlKHQueSgpLmFjY2Vzc29yKHBbZi0xXSxmLTEsbCkpLGg9bi5zY2FsZSh0LngoKS5hY2Nlc3NvcihwW2ZdLGYsbCkpLGQ9ZS5zY2FsZSh0LnkoKS5hY2Nlc3NvcihwW2ZdLGYsbCkpLGM8cj09cjw9aCYmaS5sZWZ0LnB1c2goe3g6cix5OmUuaW52ZXJ0KHUrKHItYykqKGQtdSkvKGgtYykpfSksYzxvPT1vPD1oJiZpLnJpZ2h0LnB1c2goe3g6byx5OmUuaW52ZXJ0KHUrKG8tYykqKGQtdSkvKGgtYykpfSksdTxzPT1zPD1kJiZpLnRvcC5wdXNoKHt4Om4uaW52ZXJ0KGMrKHMtdSkqKGgtYykvKGQtdSkpLHk6c30pLHU8YT09YTw9ZCYmaS5ib3R0b20ucHVzaCh7eDpuLmludmVydChjKyhhLXUpKihoLWMpLyhkLXUpKSx5OmF9KX0pKSxpfSxlLnByb3RvdHlwZS5fZ2V0UmVzZXRZRnVuY3Rpb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnkoKS5zY2FsZS5kb21haW4oKSxlPU1hdGgubWF4KHRbMF0sdFsxXSksbj1NYXRoLm1pbih0WzBdLHRbMV0pLGk9ZTwwJiZlfHxuPjAmJm58fDAscj10aGlzLnkoKS5zY2FsZS5zY2FsZShpKTtyZXR1cm4gZnVuY3Rpb24odCxlLG4pe3JldHVybiByfX0sZS5wcm90b3R5cGUuX2dlbmVyYXRlRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7dmFyIHQ9W107aWYodGhpcy5fYW5pbWF0ZU9uTmV4dFJlbmRlcigpKXt2YXIgZT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTtlLmQ9dGhpcy5fY29uc3RydWN0TGluZVByb2plY3RvcihORXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLHRoaXMuX2dldFJlc2V0WUZ1bmN0aW9uKCkpLHQucHVzaCh7YXR0clRvUHJvamVjdG9yOmUsYW5pbWF0b3I6dGhpcy5fZ2V0QW5pbWF0b3IoUEV0LkFuaW1hdG9yLlJFU0VUKX0pfXJldHVybiB0LnB1c2goe2F0dHJUb1Byb2plY3Rvcjp0aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihQRXQuQW5pbWF0b3IuTUFJTil9KSx0fSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgZT10LnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3IuY2FsbCh0aGlzKTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7aWYoImQiIT09dCl7dmFyIG49ZVt0XTtlW3RdPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdC5sZW5ndGg+MD9uKHRbMF0sZSxpKTpudWxsfX19KSksZX0sZS5wcm90b3R5cGUuZW50aXRpZXNBdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmVudGl0eU5lYXJlc3RCeVhUaGVuWSh0KTtyZXR1cm4gbnVsbCE9ZT9bZV06W119LGUucHJvdG90eXBlLmVudGl0eU5lYXJlc3RCeVhUaGVuWT1mdW5jdGlvbih0KXtmb3IodmFyIGUsbj0xLzAsaT0xLzAscj10aGlzLmJvdW5kcygpLG89dGhpcy5lbnRpdGllcygpLGE9by5sZW5ndGgscz0wO3M8YTtzKyspe3ZhciBsPW9bc107aWYoTEV0Lk1hdGgud2l0aGluKGwucG9zaXRpb24scikpe3ZhciBjPU1hdGguYWJzKHQueC1sLnBvc2l0aW9uLngpLHU9TWF0aC5hYnModC55LWwucG9zaXRpb24ueSk7KGM8bnx8Yz09PW4mJnU8aSkmJihlPWwsbj1jLGk9dSl9fXJldHVybiBlfSxlLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIGU9dC5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycy5jYWxsKHRoaXMpO3JldHVybiBlLmQ9dGhpcy5fY29uc3RydWN0TGluZVByb2plY3RvcihORXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLE5FdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSkpLGV9LGUucHJvdG90eXBlLl9jb25zdHJ1Y3RMaW5lUHJvamVjdG9yPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztyZXR1cm4gZnVuY3Rpb24oaSxyLG8pe3JldHVybiBuLl9kM0xpbmVGYWN0b3J5KG8sdCxlKShpKX19LGUucHJvdG90eXBlLl9kM0xpbmVGYWN0b3J5PWZ1bmN0aW9uKHQsZSxuKXt2b2lkIDA9PT1lJiYoZT1ORXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpKSx2b2lkIDA9PT1uJiYobj1ORXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpKTtyZXR1cm4gU0V0LmxpbmUoKS54KChmdW5jdGlvbihuLGkpe3JldHVybiBlKG4saSx0KX0pKS55KChmdW5jdGlvbihlLGkpe3JldHVybiBuKGUsaSx0KX0pKS5jdXJ2ZSh0aGlzLl9nZXRDdXJ2ZUZhY3RvcnkoKSkuZGVmaW5lZCgoZnVuY3Rpb24oaSxyKXtyZXR1cm4oZnVuY3Rpb24odCxpLHIpe3ZhciBvPWUodCxpLHIpLGE9bih0LGkscik7cmV0dXJuIExFdC5NYXRoLmlzVmFsaWROdW1iZXIobykmJkxFdC5NYXRoLmlzVmFsaWROdW1iZXIoYSl9KShpLHIsdCl9KSl9LGUucHJvdG90eXBlLl9nZXRDdXJ2ZUZhY3Rvcnk9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmN1cnZlKCk7aWYoInN0cmluZyI9PXR5cGVvZiB0KXt2YXIgZT1SRXRbdF07cmV0dXJuIG51bGw9PWU/UkV0LmxpbmVhcjplfXJldHVybiB0fSxlLnByb3RvdHlwZS5fZ2V0RGF0YVRvRHJhdz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT1uZXcgTEV0Lk1hcDtyZXR1cm4gdGhpcy5kYXRhc2V0cygpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciBpPW4uZGF0YSgpO2lmKHQuX2Nyb3BwZWRSZW5kZXJpbmdFbmFibGVkfHx0Ll9kb3duc2FtcGxpbmdFbmFibGVkKXtmb3IodmFyIHI9W10sbz1pLmxlbmd0aCxhPTA7YTxvO2ErKylyW2FdPWE7dC5fY3JvcHBlZFJlbmRlcmluZ0VuYWJsZWQmJihyPXQuX2ZpbHRlckNyb3BwZWRSZW5kZXJpbmcobixyKSksdC5fZG93bnNhbXBsaW5nRW5hYmxlZCYmKHI9dC5fZmlsdGVyRG93bnNhbXBsaW5nKG4scikpLHQuX2NvbGxhcHNlRGVuc2VWZXJ0aWNhbExpbmVzRW5hYmxlZCYmKHI9dC5fZmlsdGVyRGVuc2VMaW5lcyhuLHIpKTt2YXIgcz1bXSxsPXIubGVuZ3RoO2ZvcihhPTA7YTxsO2ErKyl7c1thXT1pW3JbYV1dfWUuc2V0KG4sW3NdKX1lbHNlIGUuc2V0KG4sW2ldKX0pKSxlfSxlLnByb3RvdHlwZS5fZmlsdGVyQ3JvcHBlZFJlbmRlcmluZz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10aGlzLGk9TkV0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxyPU5FdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSksbz10LmRhdGEoKSxhPVtdLHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gTEV0Lk1hdGguaW5SYW5nZSh0LDAsbi53aWR0aCgpKSYmTEV0Lk1hdGguaW5SYW5nZShlLDAsbi5oZWlnaHQoKSl9LGw9MDtsPGUubGVuZ3RoO2wrKyl7dmFyIGM9cyhpKG9bZVtsXV0sZVtsXSx0KSxyKG9bZVtsXV0sZVtsXSx0KSk7aWYoIWMmJm51bGwhPWVbbC0xXSYmbnVsbCE9b1tlW2wtMV1dKXt2YXIgdT1pKG9bZVtsLTFdXSxlW2wtMV0sdCksaD1yKG9bZVtsLTFdXSxlW2wtMV0sdCk7Yz1jfHxzKHUsaCl9aWYoIWMmJm51bGwhPWVbbCsxXSYmbnVsbCE9b1tlW2wrMV1dKXt2YXIgZD1pKG9bZVtsKzFdXSxlW2wrMV0sdCkscD1yKG9bZVtsKzFdXSxlW2wrMV0sdCk7Yz1jfHxzKGQscCl9YyYmYS5wdXNoKGVbbF0pfXJldHVybiBhfSxlLnByb3RvdHlwZS5fZmlsdGVyRG93bnNhbXBsaW5nPWZ1bmN0aW9uKHQsZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybltdO2Zvcih2YXIgbj10LmRhdGEoKSxpPU5FdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSkscj1ORXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55KCkpLG89W2VbMF1dLGE9ZnVuY3Rpb24obyxhKXt2YXIgcz1pKG5bZVtvXV0sZVtvXSx0KSxsPXIobltlW29dXSxlW29dLHQpLGM9aShuW2VbbysxXV0sZVtvKzFdLHQpLHU9cihuW2VbbysxXV0sZVtvKzFdLHQpO2lmKGE9PT0xLzApcmV0dXJuIE1hdGguZmxvb3Iocyk9PT1NYXRoLmZsb29yKGMpO3ZhciBoPWwrKGMtcykqYTtyZXR1cm4gTWF0aC5mbG9vcih1KT09PU1hdGguZmxvb3IoaCl9LHM9MDtzPGUubGVuZ3RoLTE7KXtmb3IodmFyIGw9ZVtzXSxjPWkobltlW3NdXSxlW3NdLHQpLHU9cihuW2Vbc11dLGVbc10sdCksaD1pKG5bZVtzKzFdXSxlW3MrMV0sdCksZD1yKG5bZVtzKzFdXSxlW3MrMV0sdCkscD1NYXRoLmZsb29yKGMpPT09TWF0aC5mbG9vcihoKT8xLzA6KGQtdSkvKGgtYyksZj1lW3NdLG09cD09PTEvMD91OmMsZz1mLF89bSx5PSEwO3M8ZS5sZW5ndGgtMSYmKHl8fGEocyxwKSk7KXtzKysseT0hMTt2YXIgdj1wPT09MS8wP3IobltlW3NdXSxlW3NdLHQpOmkobltlW3NdXSxlW3NdLHQpO3Y+XyYmKF89dixnPWVbc10pLHY8bSYmKG09dixmPWVbc10pfXZhciBiPWVbc107ZiE9PWwmJm8ucHVzaChmKSxnIT09ZiYmZyE9PWwmJm8ucHVzaChnKSxiIT09bCYmYiE9PWYmJmIhPT1nJiZvLnB1c2goYil9cmV0dXJuIG99LGUucHJvdG90eXBlLl9maWx0ZXJEZW5zZUxpbmVzPWZ1bmN0aW9uKHQsZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybltdO3ZhciBuPXQuZGF0YSgpLGk9TkV0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxyPU5FdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSk7cmV0dXJuIHRoaXMuX2J1Y2tldEJ5WCh0LGUsKGZ1bmN0aW9uKGUpe3JldHVybiBpKG5bZV0sZSx0KX0pLChmdW5jdGlvbihlKXtyZXR1cm4gcihuW2VdLGUsdCl9KSl9LGUucHJvdG90eXBlLl9idWNrZXRCeVg9ZnVuY3Rpb24odCxlLG4saSl7Zm9yKHZhciByPVtdLG89dC5kYXRhKCksYT1udWxsLHM9ZS5sZW5ndGgsbD0wO2w8PXM7KytsKXt2YXIgYz1lW2xdO2lmKG51bGwhPW9bY10pe3ZhciB1PU1hdGguZmxvb3IobihjKSksaD1pKGMpO251bGw9PWE/YT1uZXcgTEV0LkJ1Y2tldChjLHUsaCk6YS5pc0luQnVja2V0KHUpP2EuYWRkVG9CdWNrZXQoaCxjKTooci5wdXNoLmFwcGx5KHIsYS5nZXRVbmlxdWVJbmRpY2VzKCkpLGE9bmV3IExFdC5CdWNrZXQoYyx1LGgpKX19cmV0dXJuIG51bGwhPWEmJnIucHVzaC5hcHBseShyLGEuZ2V0VW5pcXVlSW5kaWNlcygpKSxyfSxlfSkoSUV0LlhZUGxvdCk7ZkV0LkxpbmU9T0V0LAovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkocEV0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgekV0PUJPLERFdD13cHQsQkV0PVh2dCxIRXQ9RF90LEZFdD1QTXQsVkV0PUJNdCxVRXQ9R1N0LGpFdD1XTXQsR0V0PWRFdCxXRXQ9c1N0LHFFdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gZS5hZGRDbGFzcygiYXJlYS1wbG90IiksZS55MCgwKSxlLmF0dHIoImZpbGwtb3BhY2l0eSIsLjI1KSxlLmF0dHIoImZpbGwiLChuZXcgQkV0LkNvbG9yKS5yYW5nZSgpWzBdKSxlLl9saW5lRHJhd2Vycz1uZXcgSEV0Lk1hcCxlfXJldHVybiB6RXQuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUueT1mdW5jdGlvbihuLGkpe2lmKG51bGw9PW4pcmV0dXJuIHQucHJvdG90eXBlLnkuY2FsbCh0aGlzKTtpZihudWxsPT1pP3QucHJvdG90eXBlLnkuY2FsbCh0aGlzLG4pOnQucHJvdG90eXBlLnkuY2FsbCh0aGlzLG4saSksbnVsbCE9aSl7dmFyIHI9dGhpcy55MCgpLmFjY2Vzc29yO251bGwhPXImJnRoaXMuX2JpbmRQcm9wZXJ0eShlLl9ZMF9LRVkscixpKSx0aGlzLl91cGRhdGVZU2NhbGUoKX1yZXR1cm4gdGhpc30sZS5wcm90b3R5cGUueTA9ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoZS5fWTBfS0VZKTt2YXIgbj10aGlzLnkoKTtyZXR1cm4gdGhpcy5fYmluZFByb3BlcnR5KGUuX1kwX0tFWSx0LG4mJm4uc2NhbGUpLHRoaXMuX3VwZGF0ZVlTY2FsZSgpLHRoaXMucmVuZGVyKCksdGhpc30sZS5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZT1mdW5jdGlvbigpe3QucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGUuY2FsbCh0aGlzKSx0aGlzLl91cGRhdGVZU2NhbGUoKX0sZS5wcm90b3R5cGUuX2FkZERhdGFzZXQ9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztyZXR1cm4gdGhpcy5fbGluZURyYXdlcnMuc2V0KGUsbmV3IEZFdC5Qcm94eURyYXdlcigoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGpFdC5MaW5lU1ZHRHJhd2VyfSksKGZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRkV0LkNhbnZhc0RyYXdlcih0LGpFdC5tYWtlTGluZUNhbnZhc0RyYXdTdGVwKChmdW5jdGlvbigpe3ZhciB0PVdFdC5QbG90Ll9zY2FsZWRBY2Nlc3NvcihuLngoKSksaT1XRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3Iobi55KCkpO3JldHVybiBuLl9kM0xpbmVGYWN0b3J5KGUsdCxpKX0pKSl9KSkpLHQucHJvdG90eXBlLl9hZGREYXRhc2V0LmNhbGwodGhpcyxlKSx0aGlzfSxlLnByb3RvdHlwZS5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0PWZ1bmN0aW9uKGUpe3QucHJvdG90eXBlLl9jcmVhdGVOb2Rlc0ZvckRhdGFzZXQuY2FsbCh0aGlzLGUpO3ZhciBuPXRoaXMuX2xpbmVEcmF3ZXJzLmdldChlKTtyZXR1cm4ic3ZnIj09PXRoaXMucmVuZGVyZXIoKT9uLnVzZVNWRyh0aGlzLl9yZW5kZXJBcmVhKTpuLnVzZUNhbnZhcyh0aGlzLl9jYW52YXMpLG59LGUucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0Tm9kZXM9ZnVuY3Rpb24oZSl7dC5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXROb2Rlcy5jYWxsKHRoaXMsZSksdGhpcy5fbGluZURyYXdlcnMuZ2V0KGUpLnJlbW92ZSgpfSxlLnByb3RvdHlwZS5fYWRkaXRpb25hbFBhaW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuX2dlbmVyYXRlTGluZURyYXdTdGVwcygpLG49dGhpcy5fZ2V0RGF0YVRvRHJhdygpO3RoaXMuZGF0YXNldHMoKS5mb3JFYWNoKChmdW5jdGlvbihpKXt2YXIgcj1XRXQuUGxvdC5hcHBseURyYXdTdGVwcyhlLGkpO3QuX2xpbmVEcmF3ZXJzLmdldChpKS5kcmF3KG4uZ2V0KGkpLHIpfSkpfSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVMaW5lRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7dmFyIHQ9W107aWYodGhpcy5fYW5pbWF0ZU9uTmV4dFJlbmRlcigpKXt2YXIgZT10aGlzLl9nZW5lcmF0ZUxpbmVBdHRyVG9Qcm9qZWN0b3IoKTtlLmQ9dGhpcy5fY29uc3RydWN0TGluZVByb2plY3RvcihXRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLHRoaXMuX2dldFJlc2V0WUZ1bmN0aW9uKCkpLHQucHVzaCh7YXR0clRvUHJvamVjdG9yOmUsYW5pbWF0b3I6dGhpcy5fZ2V0QW5pbWF0b3IoR0V0LkFuaW1hdG9yLlJFU0VUKX0pfXJldHVybiB0LnB1c2goe2F0dHJUb1Byb2plY3Rvcjp0aGlzLl9nZW5lcmF0ZUxpbmVBdHRyVG9Qcm9qZWN0b3IoKSxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihHRXQuQW5pbWF0b3IuTUFJTil9KSx0fSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVMaW5lQXR0clRvUHJvamVjdG9yPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCk7cmV0dXJuIHQuZD10aGlzLl9jb25zdHJ1Y3RMaW5lUHJvamVjdG9yKFdFdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksV0V0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKSksdH0sZS5wcm90b3R5cGUuX2NyZWF0ZURyYXdlcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiBuZXcgVUV0LlByb3h5RHJhd2VyKChmdW5jdGlvbigpe3JldHVybiBuZXcgVkV0LkFyZWFTVkdEcmF3ZXJ9KSwoZnVuY3Rpb24obil7cmV0dXJuIG5ldyBGRXQuQ2FudmFzRHJhd2VyKG4sVkV0Lm1ha2VBcmVhQ2FudmFzRHJhd1N0ZXAoKGZ1bmN0aW9uKCl7dmFyIG49ZS5fY29vcmRpbmF0ZVByb2plY3RvcnMoKSxpPW5bMF0scj1uWzFdLG89blsyXSxhPWUuX2NyZWF0ZURlZmluZWRQcm9qZWN0b3IoaSxyKTtyZXR1cm4gZS5fY3JlYXRlQXJlYUdlbmVyYXRvcihpLHIsbyxhLHQpfSksKGZ1bmN0aW9uKCl7dmFyIG49ZS5fY29vcmRpbmF0ZVByb2plY3RvcnMoKSxpPW5bMF0scj1uWzFdLG89ZS5fY3JlYXRlRGVmaW5lZFByb2plY3RvcihpLHIpO3JldHVybiBlLl9jcmVhdGVUb3BMaW5lR2VuZXJhdG9yKGkscixvLHQpfSkpKX0pKX0sZS5wcm90b3R5cGUuX2dlbmVyYXRlRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7dmFyIHQ9W107aWYodGhpcy5fYW5pbWF0ZU9uTmV4dFJlbmRlcigpKXt2YXIgZT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTtlLmQ9dGhpcy5fY29uc3RydWN0QXJlYVByb2plY3RvcihXRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLHRoaXMuX2dldFJlc2V0WUZ1bmN0aW9uKCksV0V0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueTAoKSkpLHQucHVzaCh7YXR0clRvUHJvamVjdG9yOmUsYW5pbWF0b3I6dGhpcy5fZ2V0QW5pbWF0b3IoR0V0LkFuaW1hdG9yLlJFU0VUKX0pfXJldHVybiB0LnB1c2goe2F0dHJUb1Byb2plY3Rvcjp0aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihHRXQuQW5pbWF0b3IuTUFJTil9KSx0fSxlLnByb3RvdHlwZS5fdXBkYXRlWVNjYWxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5nZXRFeHRlbnRzRm9yUHJvcGVydHkoInkwIiksZT1IRXQuQXJyYXkuZmxhdHRlbih0KSxuPUhFdC5BcnJheS51bmlxKGUpLGk9MT09PW4ubGVuZ3RoP25bMF06bnVsbCxyPXRoaXMueSgpLG89ciYmci5zY2FsZTtudWxsIT1vJiYobnVsbCE9dGhpcy5fY29uc3RhbnRCYXNlbGluZVZhbHVlUHJvdmlkZXImJihvLnJlbW92ZVBhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXIodGhpcy5fY29uc3RhbnRCYXNlbGluZVZhbHVlUHJvdmlkZXIpLHRoaXMuX2NvbnN0YW50QmFzZWxpbmVWYWx1ZVByb3ZpZGVyPW51bGwpLG51bGwhPWkmJih0aGlzLl9jb25zdGFudEJhc2VsaW5lVmFsdWVQcm92aWRlcj1mdW5jdGlvbigpe3JldHVybltpXX0sby5hZGRQYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVyKHRoaXMuX2NvbnN0YW50QmFzZWxpbmVWYWx1ZVByb3ZpZGVyKSkpfSxlLnByb3RvdHlwZS5fZ2V0UmVzZXRZRnVuY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4gV0V0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueTAoKSl9LGUucHJvdG90eXBlLl9jb29yZGluYXRlUHJvamVjdG9ycz1mdW5jdGlvbigpe3JldHVybltXRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLFdFdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSksV0V0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueTAoKSldfSxlLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIGU9dC5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycy5jYWxsKHRoaXMpLG49dGhpcy5fY29vcmRpbmF0ZVByb2plY3RvcnMoKTtyZXR1cm4gZS5kPXRoaXMuX2NvbnN0cnVjdEFyZWFQcm9qZWN0b3IoblswXSxuWzFdLG5bMl0pLGV9LGUucHJvdG90eXBlLnNlbGVjdGlvbnM9ZnVuY3Rpb24oZSl7dmFyIG49dGhpcztpZih2b2lkIDA9PT1lJiYoZT10aGlzLmRhdGFzZXRzKCkpLCJjYW52YXMiPT09dGhpcy5yZW5kZXJlcigpKXJldHVybiBERXQuc2VsZWN0QWxsKCk7dmFyIGk9dC5wcm90b3R5cGUuc2VsZWN0aW9ucy5jYWxsKHRoaXMsZSkubm9kZXMoKTtyZXR1cm4gZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBuLl9saW5lRHJhd2Vycy5nZXQodCl9KSkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dH0pKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gaS5wdXNoLmFwcGx5KGksdC5nZXRWaXN1YWxQcmltaXRpdmVzKCkpfSkpLERFdC5zZWxlY3RBbGwoaSl9LGUucHJvdG90eXBlLl9jb25zdHJ1Y3RBcmVhUHJvamVjdG9yPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10aGlzLHI9dGhpcy5fY3JlYXRlRGVmaW5lZFByb2plY3RvcihXRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLFdFdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSkpO3JldHVybiBmdW5jdGlvbihvLGEscyl7cmV0dXJuIGkuX2NyZWF0ZUFyZWFHZW5lcmF0b3IodCxlLG4scixzKShvKX19LGUucHJvdG90eXBlLl9jcmVhdGVEZWZpbmVkUHJvamVjdG9yPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSxyKXt2YXIgbz10KG4saSxyKSxhPWUobixpLHIpO3JldHVybiBIRXQuTWF0aC5pc1ZhbGlkTnVtYmVyKG8pJiZIRXQuTWF0aC5pc1ZhbGlkTnVtYmVyKGEpfX0sZS5wcm90b3R5cGUuX2NyZWF0ZUFyZWFHZW5lcmF0b3I9ZnVuY3Rpb24odCxlLG4saSxyKXt2YXIgbz10aGlzLl9nZXRDdXJ2ZUZhY3RvcnkoKTtyZXR1cm4gREV0LmFyZWEoKS54KChmdW5jdGlvbihlLG4pe3JldHVybiB0KGUsbixyKX0pKS55MSgoZnVuY3Rpb24odCxuKXtyZXR1cm4gZSh0LG4scil9KSkueTAoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odCxlLHIpfSkpLmN1cnZlKG8pLmRlZmluZWQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkodCxlLHIpfSkpfSxlLnByb3RvdHlwZS5fY3JlYXRlVG9wTGluZUdlbmVyYXRvcj1mdW5jdGlvbih0LGUsbixpKXt2YXIgcj10aGlzLl9nZXRDdXJ2ZUZhY3RvcnkoKTtyZXR1cm4gREV0LmxpbmUoKS54KChmdW5jdGlvbihlLG4pe3JldHVybiB0KGUsbixpKX0pKS55KChmdW5jdGlvbih0LG4pe3JldHVybiBlKHQsbixpKX0pKS5jdXJ2ZShyKS5kZWZpbmVkKChmdW5jdGlvbih0LGUpe3JldHVybiBuKHQsZSxpKX0pKX0sZS5fWTBfS0VZPSJ5MCIsZX0pKGZFdC5MaW5lKTtwRXQuQXJlYT1xRXQ7dmFyIFlFdD17fTshKGZ1bmN0aW9uKHQpewovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqLwpPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGU9Qk8sbj13cHQsaT1MZ3Qscj1mZ3Qsbz1wdnQsYT1QTXQscz1HU3QsbD1aTXQsYz1jU3QsdT1YdnQsaD1MYnQsZD1EX3QscD1iZ3QsZj1kRXQsbT1zU3QsZz1tRXQ7dC5CYXJPcmllbnRhdGlvbj1wLm1ha2VFbnVtKFsidmVydGljYWwiLCJob3Jpem9udGFsIl0pLHQuTGFiZWxzUG9zaXRpb249cC5tYWtlRW51bShbInN0YXJ0IiwibWlkZGxlIiwiZW5kIiwib3V0c2lkZSJdKSx0LkJhckFsaWdubWVudD1wLm1ha2VFbnVtKFsic3RhcnQiLCJtaWRkbGUiLCJlbmQiXSk7dmFyIF89KGZ1bmN0aW9uKHApe2Z1bmN0aW9uIGcoZSl7dm9pZCAwPT09ZSYmKGU9InZlcnRpY2FsIik7dmFyIG49cC5jYWxsKHRoaXMpfHx0aGlzO2lmKG4uX2xhYmVsRm9ybWF0dGVyPW8uaWRlbnRpdHkoKSxuLl9sYWJlbHNFbmFibGVkPSExLG4uX2xhYmVsc1Bvc2l0aW9uPXQuTGFiZWxzUG9zaXRpb24uZW5kLG4uX2hpZGVCYXJzSWZBbnlBcmVUb29XaWRlPSEwLG4uX2JhckFsaWdubWVudD0ibWlkZGxlIixuLl9jb21wdXRlQmFyUGl4ZWxUaGlja25lc3M9Yy5tZW1vaXplKHkpLG4uX2ZpeGVkQmFyUGl4ZWxUaGlja25lc3M9ITAsbi5hZGRDbGFzcygiYmFyLXBsb3QiKSwidmVydGljYWwiIT09ZSYmImhvcml6b250YWwiIT09ZSl0aHJvdyBuZXcgRXJyb3IoZSsiIGlzIG5vdCBhIHZhbGlkIG9yaWVudGF0aW9uIGZvciBQbG90cy5CYXIiKTtyZXR1cm4gbi5faXNWZXJ0aWNhbD0idmVydGljYWwiPT09ZSxuLmFuaW1hdG9yKCJiYXNlbGluZSIsbmV3IHIuTnVsbCksbi5hdHRyKCJmaWxsIiwobmV3IHUuQ29sb3IpLnJhbmdlKClbMF0pLG4uYXR0cihnLl9CQVJfVEhJQ0tORVNTX0tFWSwoZnVuY3Rpb24oKXtyZXR1cm4gbi5fYmFyUGl4ZWxUaGlja25lc3MoKX0pKSxuLl9sYWJlbENvbmZpZz1uZXcgZC5NYXAsbi5fYmFzZWxpbmVWYWx1ZVByb3ZpZGVyPWZ1bmN0aW9uKCl7cmV0dXJuW24uYmFzZWxpbmVWYWx1ZSgpXX0sbn1yZXR1cm4gZS5fX2V4dGVuZHMoZyxwKSxnLnByb3RvdHlwZS5jb21wdXRlTGF5b3V0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gcC5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMsdCxlLG4pLHRoaXMuX3VwZGF0ZUV4dGVudHMoKSx0aGlzfSxnLnByb3RvdHlwZS54PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQ/cC5wcm90b3R5cGUueC5jYWxsKHRoaXMpOihudWxsPT1lP3AucHJvdG90eXBlLnguY2FsbCh0aGlzLHQpOnAucHJvdG90eXBlLnguY2FsbCh0aGlzLHQsZSksdGhpcy5fdXBkYXRlVGhpY2tuZXNzQXR0cigpLHRoaXMuX3VwZGF0ZUxlbmd0aFNjYWxlKCksdGhpcyl9LGcucHJvdG90eXBlLnk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbnVsbD09dD9wLnByb3RvdHlwZS55LmNhbGwodGhpcyk6KG51bGw9PWU/cC5wcm90b3R5cGUueS5jYWxsKHRoaXMsdCk6cC5wcm90b3R5cGUueS5jYWxsKHRoaXMsdCxlKSx0aGlzLl91cGRhdGVMZW5ndGhTY2FsZSgpLHRoaXMpfSxnLnByb3RvdHlwZS5sZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNWZXJ0aWNhbD90aGlzLnkoKTp0aGlzLngoKX0sZy5wcm90b3R5cGUucG9zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNWZXJ0aWNhbD90aGlzLngoKTp0aGlzLnkoKX0sZy5wcm90b3R5cGUuYmFyRW5kPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KGcuX0JBUl9FTkRfS0VZKTt2YXIgZT10aGlzLnBvc2l0aW9uKCk7cmV0dXJuIHRoaXMuX2JpbmRQcm9wZXJ0eShnLl9CQVJfRU5EX0tFWSx0LGUmJmUuc2NhbGUpLHRoaXMuX3VwZGF0ZVRoaWNrbmVzc0F0dHIoKSx0aGlzLl91cGRhdGVMZW5ndGhTY2FsZSgpLHRoaXMucmVuZGVyKCksdGhpc30sZy5wcm90b3R5cGUuYmFyQWxpZ25tZW50PWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2JhckFsaWdubWVudDoodGhpcy5fYmFyQWxpZ25tZW50PXQsdGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpLHRoaXMucmVuZGVyKCksdGhpcyl9LGcucHJvdG90eXBlLm9yaWVudGF0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzVmVydGljYWw/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCJ9LGcucHJvdG90eXBlLl9jcmVhdGVEcmF3ZXI9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHMuUHJveHlEcmF3ZXIoKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBsLlJlY3RhbmdsZVNWR0RyYXdlcihnLl9CQVJfQVJFQV9DTEFTUyl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBhLlJlY3RhbmdsZUNhbnZhc0RyYXdlcih0KX0pKX0sZy5wcm90b3R5cGUuX3NldHVwPWZ1bmN0aW9uKCl7cC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyksdGhpcy5fYmFzZWxpbmU9dGhpcy5fcmVuZGVyQXJlYS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKCJiYXNlbGluZSIsITApfSxnLnByb3RvdHlwZS5iYXNlbGluZVZhbHVlPWZ1bmN0aW9uKHQpe2lmKG51bGw9PXQpe2lmKG51bGwhPXRoaXMuX2Jhc2VsaW5lVmFsdWUpcmV0dXJuIHRoaXMuX2Jhc2VsaW5lVmFsdWU7aWYoIXRoaXMuX3Byb2plY3RvcnNSZWFkeSgpKXJldHVybiAwO3ZhciBlPXRoaXMubGVuZ3RoKCkuc2NhbGU7cmV0dXJuIGUmJmUgaW5zdGFuY2VvZiB1LlRpbWU/bmV3IERhdGUoMCk6MH1yZXR1cm4gdGhpcy5fYmFzZWxpbmVWYWx1ZT10LHRoaXMuX3VwZGF0ZUxlbmd0aFNjYWxlKCksdGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpLHRoaXMucmVuZGVyKCksdGhpc30sZy5wcm90b3R5cGUuYWRkRGF0YXNldD1mdW5jdGlvbih0KXtyZXR1cm4gcC5wcm90b3R5cGUuYWRkRGF0YXNldC5jYWxsKHRoaXMsdCksdGhpc30sZy5wcm90b3R5cGUuX2FkZERhdGFzZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHAucHJvdG90eXBlLl9hZGREYXRhc2V0LmNhbGwodGhpcyx0KSx0aGlzfSxnLnByb3RvdHlwZS5yZW1vdmVEYXRhc2V0PWZ1bmN0aW9uKHQpe3JldHVybiBwLnByb3RvdHlwZS5yZW1vdmVEYXRhc2V0LmNhbGwodGhpcyx0KSx0aGlzfSxnLnByb3RvdHlwZS5fcmVtb3ZlRGF0YXNldD1mdW5jdGlvbih0KXtyZXR1cm4gcC5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXQuY2FsbCh0aGlzLHQpLHRoaXN9LGcucHJvdG90eXBlLmRhdGFzZXRzPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3AucHJvdG90eXBlLmRhdGFzZXRzLmNhbGwodGhpcyk6KHAucHJvdG90eXBlLmRhdGFzZXRzLmNhbGwodGhpcyx0KSx0aGlzKX0sZy5wcm90b3R5cGUubGFiZWxzRW5hYmxlZD1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P3RoaXMuX2xhYmVsc0VuYWJsZWQ6KHRoaXMuX2xhYmVsc0VuYWJsZWQ9dCxudWxsIT1lJiYodGhpcy5fbGFiZWxzUG9zaXRpb249ZSksdGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpLHRoaXMucmVuZGVyKCksdGhpcyl9LGcucHJvdG90eXBlLmxhYmVsRm9ybWF0dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2xhYmVsRm9ybWF0dGVyOih0aGlzLl9sYWJlbEZvcm1hdHRlcj10LHRoaXMuX2NsZWFyQXR0clRvUHJvamVjdG9yQ2FjaGUoKSx0aGlzLnJlbmRlcigpLHRoaXMpfSxnLnByb3RvdHlwZS5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0PWZ1bmN0aW9uKHQpe3ZhciBlPXAucHJvdG90eXBlLl9jcmVhdGVOb2Rlc0ZvckRhdGFzZXQuY2FsbCh0aGlzLHQpLG49dGhpcy5fcmVuZGVyQXJlYS5hcHBlbmQoImciKS5jbGFzc2VkKGcuX0xBQkVMX0FSRUFfQ0xBU1MsITApLHI9bmV3IGkuU3ZnQ29udGV4dChuLm5vZGUoKSksbz1uZXcgaS5DYWNoZU1lYXN1cmVyKHIpLGE9bmV3IGkuV3JpdGVyKG8scik7cmV0dXJuIHRoaXMuX2xhYmVsQ29uZmlnLnNldCh0LHtsYWJlbEFyZWE6bixtZWFzdXJlcjpvLHdyaXRlcjphfSksZX0sZy5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXROb2Rlcz1mdW5jdGlvbih0KXtwLnByb3RvdHlwZS5fcmVtb3ZlRGF0YXNldE5vZGVzLmNhbGwodGhpcyx0KTt2YXIgZT10aGlzLl9sYWJlbENvbmZpZy5nZXQodCk7bnVsbCE9ZSYmKGUubGFiZWxBcmVhLnJlbW92ZSgpLHRoaXMuX2xhYmVsQ29uZmlnLmRlbGV0ZSh0KSl9LGcucHJvdG90eXBlLmVudGl0eU5lYXJlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPWZ1bmN0aW9uKCl7dmFyIG49ZS5faXNWZXJ0aWNhbD9lLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0eU5lYXJlc3RYKHQpOmUuX2dldEVudGl0eVN0b3JlKCkuZW50aXR5TmVhcmVzdFkodCk7cmV0dXJuIHZvaWQgMD09PW4/dm9pZCAwOmUuX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eShuKX07cmV0dXJuIHRoaXMuX2ZpeGVkQmFyUGl4ZWxUaGlja25lc3M/dGhpcy5fY29tcHV0ZUJhclBpeGVsVGhpY2tuZXNzLmRvTG9ja2VkKG4pOm4oKX0sZy5wcm90b3R5cGUuZW50aXRpZXNBdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49ZnVuY3Rpb24oKXtyZXR1cm4gZS5fZW50aXRpZXNJbnRlcnNlY3RpbmcodC54LHQueSl9O3JldHVybiB0aGlzLl9maXhlZEJhclBpeGVsVGhpY2tuZXNzP3RoaXMuX2NvbXB1dGVCYXJQaXhlbFRoaWNrbmVzcy5kb0xvY2tlZChuKTpuKCl9LGcucHJvdG90eXBlLmVudGl0aWVzSW5Cb3VuZHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPWZ1bmN0aW9uKCl7cmV0dXJuIHAucHJvdG90eXBlLmVudGl0aWVzSW5Cb3VuZHMuY2FsbChlLHQpfTtyZXR1cm4gdGhpcy5fZml4ZWRCYXJQaXhlbFRoaWNrbmVzcz90aGlzLl9jb21wdXRlQmFyUGl4ZWxUaGlja25lc3MuZG9Mb2NrZWQobik6bigpfSxnLnByb3RvdHlwZS5lbnRpdGllc0luWEJvdW5kcz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49ZnVuY3Rpb24oKXtyZXR1cm4gcC5wcm90b3R5cGUuZW50aXRpZXNJblhCb3VuZHMuY2FsbChlLHQpfTtyZXR1cm4gdGhpcy5fZml4ZWRCYXJQaXhlbFRoaWNrbmVzcz90aGlzLl9jb21wdXRlQmFyUGl4ZWxUaGlja25lc3MuZG9Mb2NrZWQobik6bigpfSxnLnByb3RvdHlwZS5lbnRpdGllc0luWUJvdW5kcz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49ZnVuY3Rpb24oKXtyZXR1cm4gcC5wcm90b3R5cGUuZW50aXRpZXNJbllCb3VuZHMuY2FsbChlLHQpfTtyZXR1cm4gdGhpcy5fZml4ZWRCYXJQaXhlbFRoaWNrbmVzcz90aGlzLl9jb21wdXRlQmFyUGl4ZWxUaGlja25lc3MuZG9Mb2NrZWQobik6bigpfSxnLnByb3RvdHlwZS5fZW50aXRpZXNJbnRlcnNlY3Rpbmc9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49W10saT10aGlzLl9nZXRFbnRpdHlTdG9yZSgpLmVudGl0aWVzKCkscj1pLmxlbmd0aCxvPTA7bzxyO28rKyl7dmFyIGE9aVtvXTtkLkRPTS5pbnRlcnNlY3RzQkJveCh0LGUsdGhpcy5fZW50aXR5Qm91bmRzKGEpKSYmbi5wdXNoKHRoaXMuX2xpZ2h0d2VpZ2h0UGxvdEVudGl0eVRvUGxvdEVudGl0eShhKSl9cmV0dXJuIG59LGcucHJvdG90eXBlLl91cGRhdGVMZW5ndGhTY2FsZT1mdW5jdGlvbigpe2lmKHRoaXMuX3Byb2plY3RvcnNSZWFkeSgpKXt2YXIgdD10aGlzLmxlbmd0aCgpLnNjYWxlO3QgaW5zdGFuY2VvZiBoLlF1YW50aXRhdGl2ZVNjYWxlJiYodC5hZGRQYWRkaW5nRXhjZXB0aW9uc1Byb3ZpZGVyKHRoaXMuX2Jhc2VsaW5lVmFsdWVQcm92aWRlciksdC5hZGRJbmNsdWRlZFZhbHVlc1Byb3ZpZGVyKHRoaXMuX2Jhc2VsaW5lVmFsdWVQcm92aWRlcikpfX0sZy5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHk9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLl9iYXJQaXhlbFRoaWNrbmVzcygpLHRoaXMuX2NvbXB1dGVCYXJQaXhlbFRoaWNrbmVzcy5kb0xvY2tlZCgoZnVuY3Rpb24oKXtyZXR1cm4gcC5wcm90b3R5cGUucmVuZGVySW1tZWRpYXRlbHkuY2FsbCh0KX0pKX0sZy5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49dGhpcy5sZW5ndGgoKS5zY2FsZS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSksaT17eDE6dGhpcy5faXNWZXJ0aWNhbD8wOm4seTE6dGhpcy5faXNWZXJ0aWNhbD9uOjAseDI6dGhpcy5faXNWZXJ0aWNhbD90aGlzLndpZHRoKCk6bix5Mjp0aGlzLl9pc1ZlcnRpY2FsP246dGhpcy5oZWlnaHQoKX07dGhpcy5fZ2V0QW5pbWF0b3IoImJhc2VsaW5lIikuYW5pbWF0ZSh0aGlzLl9iYXNlbGluZSxpKSx0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2xhYmVsQ29uZmlnLmdldCh0KS5sYWJlbEFyZWEuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCl9KSksdGhpcy5fbGFiZWxzRW5hYmxlZCYmZC5XaW5kb3cuc2V0VGltZW91dCgoZnVuY3Rpb24oKXtyZXR1cm4gZS5fZHJhd0xhYmVscygpfSksdCl9LGcucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbih0KXt2YXIgZSxpPXRoaXMscj1wLnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHkuY2FsbCh0aGlzLHQpO2lmKCJ4Ij09PXQmJnRoaXMuX2lzVmVydGljYWwpZT10aGlzLngoKTtlbHNle2lmKCJ5IiE9PXR8fHRoaXMuX2lzVmVydGljYWwpcmV0dXJuIHI7ZT10aGlzLnkoKX1pZighKGUmJmUuc2NhbGUmJmUuc2NhbGUgaW5zdGFuY2VvZiBoLlF1YW50aXRhdGl2ZVNjYWxlKSlyZXR1cm4gcjt2YXIgbz1lLnNjYWxlLGE9dGhpcy5fYmFyUGl4ZWxUaGlja25lc3MoKTtyZXR1cm4gcj1yLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG4uZXh0ZW50KFtvLmludmVydChpLl9nZXRQb3NpdGlvbkF0dHIoby5zY2FsZSh0WzBdKSxhKSksby5pbnZlcnQoaS5fZ2V0UG9zaXRpb25BdHRyKG8uc2NhbGUodFswXSksYSkrYSksby5pbnZlcnQoaS5fZ2V0UG9zaXRpb25BdHRyKG8uc2NhbGUodFsxXSksYSkpLG8uaW52ZXJ0KGkuX2dldFBvc2l0aW9uQXR0cihvLnNjYWxlKHRbMV0pLGEpK2EpXSl9KSl9LGcucHJvdG90eXBlLl9nZXRQb3NpdGlvbkF0dHI9ZnVuY3Rpb24odCxlKXtzd2l0Y2godGhpcy5faXNWZXJ0aWNhbHx8KHQtPWUsZSo9LTEpLHRoaXMuX2JhckFsaWdubWVudCl7Y2FzZSJzdGFydCI6cmV0dXJuIHQ7Y2FzZSJlbmQiOnJldHVybiB0LWU7Y2FzZSJtaWRkbGUiOmRlZmF1bHQ6cmV0dXJuIHQtZS8yfX0sZy5wcm90b3R5cGUuX2RyYXdMYWJlbHM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5fZ2V0RGF0YVRvRHJhdygpLG49dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksaT10aGlzLmRhdGFzZXRzKCkuc29tZSgoZnVuY3Rpb24oaSl7cmV0dXJuIGUuZ2V0KGkpLnNvbWUoKGZ1bmN0aW9uKGUscil7cmV0dXJuIG51bGwhPWUmJnQuX2RyYXdMYWJlbChlLHIsaSxuKX0pKX0pKTt0aGlzLl9oaWRlQmFyc0lmQW55QXJlVG9vV2lkZSYmaSYmdGhpcy5kYXRhc2V0cygpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiB0Ll9sYWJlbENvbmZpZy5nZXQoZSkubGFiZWxBcmVhLnNlbGVjdEFsbCgiZyIpLnJlbW92ZSgpfSkpfSxnLnByb3RvdHlwZS5fZHJhd0xhYmVsPWZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByPXRoaXMuX2xhYmVsQ29uZmlnLmdldChuKSxvPXIubGFiZWxBcmVhLGE9ci5tZWFzdXJlcixzPXIud3JpdGVyLGw9KDAsdGhpcy5sZW5ndGgoKS5hY2Nlc3NvcikodCxlLG4pLGM9dGhpcy5sZW5ndGgoKS5zY2FsZSx1PW51bGwhPWM/Yy5zY2FsZShsKTpsLGg9bnVsbCE9Yz9jLnNjYWxlKHRoaXMuYmFzZWxpbmVWYWx1ZSgpKTp0aGlzLmJhc2VsaW5lVmFsdWUoKSxkPXt4OmkueCh0LGUsbikseTppLnkodCxlLG4pfSxwPXt3aWR0aDppLndpZHRoKHQsZSxuKSxoZWlnaHQ6aS5oZWlnaHQodCxlLG4pfSxmPXRoaXMuX2xhYmVsRm9ybWF0dGVyKGwsdCxlLG4pLG09YS5tZWFzdXJlKGYpLGc9dGhpcy5fc2hvdWxkU2hvd0xhYmVsT25CYXIoZCxwLG0pLF89dGhpcy5fY2FsY3VsYXRlTGFiZWxQcm9wZXJ0aWVzKGQscCxtLGcsdGhpcy5faXNWZXJ0aWNhbD91PD1oOnU8aCkseT1fLmNvbnRhaW5lckRpbWVuc2lvbnMsdj1fLmxhYmVsQ29udGFpbmVyT3JpZ2luLGI9Xy5sYWJlbE9yaWdpbix4PV8uYWxpZ25tZW50LHc9aS5maWxsKHQsZSxuKSxTPXRoaXMuX2NyZWF0ZUxhYmVsQ29udGFpbmVyKG8sdixiLG0sZyx3KTtyZXR1cm4gcy53cml0ZShmLHkud2lkdGgseS5oZWlnaHQse3hBbGlnbjp4LngseUFsaWduOngueX0sUy5ub2RlKCkpLHRoaXMuX2lzVmVydGljYWw/cC53aWR0aDxtLndpZHRoOnAuaGVpZ2h0PG0uaGVpZ2h0fSxnLnByb3RvdHlwZS5fc2hvdWxkU2hvd0xhYmVsT25CYXI9ZnVuY3Rpb24oZSxuLGkpe2lmKHRoaXMuX2xhYmVsc1Bvc2l0aW9uPT09dC5MYWJlbHNQb3NpdGlvbi5vdXRzaWRlKXJldHVybiExO3ZhciByPXRoaXMuX2lzVmVydGljYWw/ZS55OmUueCxvPXRoaXMuX2lzVmVydGljYWw/bi5oZWlnaHQ6bi53aWR0aCxhPXRoaXMuX2lzVmVydGljYWw/dGhpcy5oZWlnaHQoKTp0aGlzLndpZHRoKCkscz1yK28sbD1vO3JldHVybiBzPmE/bD1hLXI6cjwwJiYobD1zKSwodGhpcy5faXNWZXJ0aWNhbD9pLmhlaWdodDppLndpZHRoKStnLl9MQUJFTF9NQVJHSU5fSU5TSURFX0JBUjw9bH0sZy5wcm90b3R5cGUuX2NhbGN1bGF0ZUxhYmVsUHJvcGVydGllcz1mdW5jdGlvbihlLG4saSxyLG8pe3ZhciBhPXRoaXMscz10aGlzLl9pc1ZlcnRpY2FsP2UueTplLngsbD10aGlzLl9pc1ZlcnRpY2FsP24uaGVpZ2h0Om4ud2lkdGgsYz10aGlzLl9pc1ZlcnRpY2FsP2kuaGVpZ2h0Omkud2lkdGgsdT0iY2VudGVyIixoPWwsZD1zLHA9cyxmPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlInRvcExlZnQiOnJldHVybiB1PWEuX2lzVmVydGljYWw/InRvcCI6ImxlZnQiLGQrPWcuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSLHZvaWQocCs9Zy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVIpO2Nhc2UiY2VudGVyIjpyZXR1cm4gdm9pZChwKz0obCtjKS8yKTtjYXNlImJvdHRvbVJpZ2h0IjpyZXR1cm4gdT1hLl9pc1ZlcnRpY2FsPyJib3R0b20iOiJyaWdodCIsZC09Zy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVIsdm9pZChwKz1oLWcuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSLWMpfX07aWYocilzd2l0Y2godGhpcy5fbGFiZWxzUG9zaXRpb24pe2Nhc2UgdC5MYWJlbHNQb3NpdGlvbi5zdGFydDpmKG8/ImJvdHRvbVJpZ2h0IjoidG9wTGVmdCIpO2JyZWFrO2Nhc2UgdC5MYWJlbHNQb3NpdGlvbi5taWRkbGU6ZigiY2VudGVyIik7YnJlYWs7Y2FzZSB0LkxhYmVsc1Bvc2l0aW9uLmVuZDpmKG8/InRvcExlZnQiOiJib3R0b21SaWdodCIpfWVsc2Ugbz8odT10aGlzLl9pc1ZlcnRpY2FsPyJ0b3AiOiJsZWZ0IixoPWwrZy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVIrYyxkLT1nLl9MQUJFTF9NQVJHSU5fSU5TSURFX0JBUitjLHAtPWcuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSK2MpOih1PXRoaXMuX2lzVmVydGljYWw/ImJvdHRvbSI6InJpZ2h0IixoPWwrZy5fTEFCRUxfTUFSR0lOX0lOU0lERV9CQVIrYyxwKz1sK2cuX0xBQkVMX01BUkdJTl9JTlNJREVfQkFSKTtyZXR1cm57Y29udGFpbmVyRGltZW5zaW9uczp7d2lkdGg6dGhpcy5faXNWZXJ0aWNhbD9uLndpZHRoOmgsaGVpZ2h0OnRoaXMuX2lzVmVydGljYWw/aDpuLmhlaWdodH0sbGFiZWxDb250YWluZXJPcmlnaW46e3g6dGhpcy5faXNWZXJ0aWNhbD9lLng6ZCx5OnRoaXMuX2lzVmVydGljYWw/ZDplLnl9LGxhYmVsT3JpZ2luOnt4OnRoaXMuX2lzVmVydGljYWw/ZS54K24ud2lkdGgvMi1pLndpZHRoLzI6cCx5OnRoaXMuX2lzVmVydGljYWw/cDplLnkrbi5oZWlnaHQvMi1pLmhlaWdodC8yfSxhbGlnbm1lbnQ6e3g6dGhpcy5faXNWZXJ0aWNhbD8iY2VudGVyIjp1LHk6dGhpcy5faXNWZXJ0aWNhbD91OiJjZW50ZXIifX19LGcucHJvdG90eXBlLl9jcmVhdGVMYWJlbENvbnRhaW5lcj1mdW5jdGlvbih0LGUsbixpLHIsbyl7dmFyIGE9dC5hcHBlbmQoImciKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitlLngrIiwgIitlLnkrIikiKTtpZihyKXthLmNsYXNzZWQoIm9uLWJhci1sYWJlbCIsITApO3ZhciBzPTEuNipkLkNvbG9yLmNvbnRyYXN0KCJ3aGl0ZSIsbyk8ZC5Db2xvci5jb250cmFzdCgiYmxhY2siLG8pO2EuY2xhc3NlZChzPyJkYXJrLWxhYmVsIjoibGlnaHQtbGFiZWwiLCEwKX1lbHNlIGEuY2xhc3NlZCgib2ZmLWJhci1sYWJlbCIsITApO3JldHVybiBhfSxnLnByb3RvdHlwZS5fZ2VuZXJhdGVEcmF3U3RlcHM9ZnVuY3Rpb24oKXt2YXIgdD1bXTtpZih0aGlzLl9hbmltYXRlT25OZXh0UmVuZGVyKCkpe3ZhciBlPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLG49dGhpcy5sZW5ndGgoKS5zY2FsZS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSksaT10aGlzLl9pc1ZlcnRpY2FsPyJoZWlnaHQiOiJ3aWR0aCI7ZVt0aGlzLl9pc1ZlcnRpY2FsPyJ5IjoieCJdPWZ1bmN0aW9uKCl7cmV0dXJuIG59LGVbaV09ZnVuY3Rpb24oKXtyZXR1cm4gMH0sdC5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6ZSxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihmLkFuaW1hdG9yLlJFU0VUKX0pfXJldHVybiB0LnB1c2goe2F0dHJUb1Byb2plY3Rvcjp0aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihmLkFuaW1hdG9yLk1BSU4pfSksdH0sZy5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXAucHJvdG90eXBlLl9nZW5lcmF0ZUF0dHJUb1Byb2plY3Rvci5jYWxsKHRoaXMpLG49dGhpcy5sZW5ndGgoKS5zY2FsZS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSksaT10aGlzLl9pc1ZlcnRpY2FsPyJ5IjoieCIscj10aGlzLl9pc1ZlcnRpY2FsPyJ4IjoieSIsbz1tLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMucG9zaXRpb24oKSksYT1tLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMubGVuZ3RoKCkpLHM9ZnVuY3Rpb24odCxlLGkpe3JldHVybiBNYXRoLmFicyhuLWEodCxlLGkpKX0sbD1lW2cuX0JBUl9USElDS05FU1NfS0VZXSxjPWUuZ2FwLHU9bnVsbD09Yz9sOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1sKHQsZSxuKTtyZXR1cm4gaTxnLl9CQVJfR0FQTEVTU19USFJFU0hPTERfUFg/aTppLWModCxlLG4pfTtyZXR1cm4gZS53aWR0aD10aGlzLl9pc1ZlcnRpY2FsP3U6cyxlLmhlaWdodD10aGlzLl9pc1ZlcnRpY2FsP3M6dSxlW2ldPWZ1bmN0aW9uKHQsZSxpKXt2YXIgcj1hKHQsZSxpKTtyZXR1cm4gcj5uP246cn0sZVtyXT1mdW5jdGlvbihlLG4saSl7cmV0dXJuIHQuX2dldFBvc2l0aW9uQXR0cihvKGUsbixpKSxsKGUsbixpKSl9LGV9LGcucHJvdG90eXBlLl91cGRhdGVUaGlja25lc3NBdHRyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMucG9zaXRpb24oKSxuPXRoaXMuYmFyRW5kKCk7bnVsbCE9ZSYmbnVsbCE9bj8odGhpcy5fZml4ZWRCYXJQaXhlbFRoaWNrbmVzcz0hMSx0aGlzLmF0dHIoZy5fQkFSX1RISUNLTkVTU19LRVksKGZ1bmN0aW9uKHQsaSxyKXt2YXIgbz1lLmFjY2Vzc29yKHQsaSxyKSxhPW4uYWNjZXNzb3IodCxpLHIpO3JldHVybiBvPWUuc2NhbGU/ZS5zY2FsZS5zY2FsZShvKTpvLGE9bi5zY2FsZT9uLnNjYWxlLnNjYWxlKGEpOmEsTWF0aC5hYnMoYS1vKX0pKSk6KHRoaXMuX2ZpeGVkQmFyUGl4ZWxUaGlja25lc3M9ITAsdGhpcy5hdHRyKGcuX0JBUl9USElDS05FU1NfS0VZLChmdW5jdGlvbigpe3JldHVybiB0Ll9iYXJQaXhlbFRoaWNrbmVzcygpfSkpKX0sZy5wcm90b3R5cGUuX2JhclBpeGVsVGhpY2tuZXNzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZpeGVkQmFyUGl4ZWxUaGlja25lc3MmJnRoaXMuX3Byb2plY3RvcnNSZWFkeSgpP3RoaXMuX2NvbXB1dGVCYXJQaXhlbFRoaWNrbmVzcyh0aGlzLnBvc2l0aW9uKCksdGhpcy5kYXRhc2V0cygpLHRoaXMuX2lzVmVydGljYWw/dGhpcy53aWR0aCgpOnRoaXMuaGVpZ2h0KCkpOjB9LGcucHJvdG90eXBlLmVudGl0aWVzPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10JiYodD10aGlzLmRhdGFzZXRzKCkpLHRoaXMuX3Byb2plY3RvcnNSZWFkeSgpP3AucHJvdG90eXBlLmVudGl0aWVzLmNhbGwodGhpcyx0KTpbXX0sZy5wcm90b3R5cGUuX2VudGl0eUJvdW5kcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcGl4ZWxCb3VuZHModC5kYXR1bSx0LmluZGV4LHQuZGF0YXNldCl9LGcucHJvdG90eXBlLl9waXhlbEJvdW5kcz1mdW5jdGlvbih0LGUsbil7dmFyIGk9dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCk7cmV0dXJue3g6aS54KHQsZSxuKSx5OmkueSh0LGUsbiksd2lkdGg6aS53aWR0aCh0LGUsbiksaGVpZ2h0OmkuaGVpZ2h0KHQsZSxuKX19LGcucHJvdG90eXBlLl9waXhlbFBvaW50PWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10aGlzLl9waXhlbEJvdW5kcyh0LGUsbikscj1tLlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMuX2lzVmVydGljYWw/dGhpcy55KCk6dGhpcy54KCkpKHQsZSxuKSxvPSh0aGlzLl9pc1ZlcnRpY2FsP3RoaXMueSgpLnNjYWxlOnRoaXMueCgpLnNjYWxlKS5zY2FsZSh0aGlzLmJhc2VsaW5lVmFsdWUoKSk7cmV0dXJuIHRoaXMuX3BpeGVsUG9pbnRCYXIocixvLGkpfSxnLnByb3RvdHlwZS5fcGl4ZWxQb2ludEJhcj1mdW5jdGlvbih0LGUsbil7dmFyIGkscjtyZXR1cm4gdGhpcy5faXNWZXJ0aWNhbD8oaT1uLngrbi53aWR0aC8yLHI9dDw9ZT9uLnk6bi55K24uaGVpZ2h0KTooaT10Pj1lP24ueCtuLndpZHRoOm4ueCxyPW4ueStuLmhlaWdodC8yKSx7eDppLHk6cn19LGcucHJvdG90eXBlLl91bmluc3RhbGxTY2FsZUZvcktleT1mdW5jdGlvbih0LGUpe3AucHJvdG90eXBlLl91bmluc3RhbGxTY2FsZUZvcktleS5jYWxsKHRoaXMsdCxlKX0sZy5wcm90b3R5cGUuX2dldERhdGFUb0RyYXc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9bmV3IGQuTWFwLG49dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksaT10aGlzLndpZHRoKCkscj10aGlzLmhlaWdodCgpO3JldHVybiB0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24obyl7dmFyIGE9by5kYXRhKCkubWFwKChmdW5jdGlvbihlLGEpe3JldHVybiB0Ll9pc0RhdHVtT25TY3JlZW4obixpLHIsZSxhLG8pP2U6bnVsbH0pKTtlLnNldChvLGEpfSkpLGV9LGcucHJvdG90eXBlLl9pc0RhdHVtT25TY3JlZW49ZnVuY3Rpb24odCxlLG4saSxyLG8pe3ZhciBhPXQueChpLHIsbykscz10LnkoaSxyLG8pLGw9dC53aWR0aChpLHIsbyksYz10LmhlaWdodChpLHIsbyk7cmV0dXJuISEoZC5NYXRoLmlzVmFsaWROdW1iZXIoYSkmJmQuTWF0aC5pc1ZhbGlkTnVtYmVyKHMpJiZkLk1hdGguaXNWYWxpZE51bWJlcihsKSYmZC5NYXRoLmlzVmFsaWROdW1iZXIoYykpJiZkLk1hdGguYm91bmRzSW50ZXJzZWN0cyhhLHMsbCxjLDAsMCxlLG4pfSxnLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3AucHJvdG90eXBlLmludmFsaWRhdGVDYWNoZS5jYWxsKHRoaXMpLHRoaXMuZGF0YXNldHMoKS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fbGFiZWxDb25maWcuZ2V0KGUpLm1lYXN1cmVyLnJlc2V0KCl9KSl9LGcuX0JBUl9USElDS05FU1NfUkFUSU89Ljk1LGcuX0JBUl9HQVBMRVNTX1RIUkVTSE9MRF9QWD0zLGcuX1NJTkdMRV9CQVJfRElNRU5TSU9OX1JBVElPPS40LGcuX0JBUl9BUkVBX0NMQVNTPSJiYXItYXJlYSIsZy5fQkFSX0VORF9LRVk9ImJhckVuZCIsZy5fQkFSX1RISUNLTkVTU19LRVk9IndpZHRoIixnLl9MQUJFTF9BUkVBX0NMQVNTPSJiYXItbGFiZWwtdGV4dC1hcmVhIixnLl9MQUJFTF9NQVJHSU5fSU5TSURFX0JBUj0xMCxnfSkoZy5YWVBsb3QpO2Z1bmN0aW9uIHkodCxlLGkpe3ZhciByLG89dC5zY2FsZTtpZihvIGluc3RhbmNlb2YgdS5DYXRlZ29yeSlyPW8ucmFuZ2VCYW5kKCk7ZWxzZXt2YXIgYT10LmFjY2Vzc29yLHM9bi5zZXQoZC5BcnJheS5mbGF0dGVuKGUubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5kYXRhKCkubWFwKChmdW5jdGlvbihlLG4pe3JldHVybiBhKGUsbix0KX0pKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10fSkpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudmFsdWVPZigpfSkpfSkpKSkudmFsdWVzKCkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4rdH0pKTtzLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQtZX0pKTt2YXIgbD1zLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG8uc2NhbGUodCl9KSksYz1uLnBhaXJzKGwpO3I9ZC5NYXRoLm1pbihjLChmdW5jdGlvbih0LGUpe3JldHVybiBNYXRoLmFicyh0WzFdLXRbMF0pfSksaSpfLl9TSU5HTEVfQkFSX0RJTUVOU0lPTl9SQVRJTykscio9Xy5fQkFSX1RISUNLTkVTU19SQVRJT31yZXR1cm4gcn10LkJhcj1ffSkoWUV0KTt2YXIgWEV0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShYRXQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciAkRXQ9Qk8sS0V0PVh2dCxaRXQ9RF90LEpFdD1ZRXQsUUV0PXNTdCx0VHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dm9pZCAwPT09ZSYmKGU9InZlcnRpY2FsIik7dmFyIG49dC5jYWxsKHRoaXMsZSl8fHRoaXM7cmV0dXJuIG4uX2NsdXN0ZXJPZmZzZXRzPW5ldyBaRXQuTWFwLG59cmV0dXJuICRFdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49dC5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yLmNhbGwodGhpcyksaT10aGlzLl9tYWtlSW5uZXJTY2FsZSgpLHI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaS5yYW5nZUJhbmQoKX07bi53aWR0aD10aGlzLl9pc1ZlcnRpY2FsP3I6bi53aWR0aCxuLmhlaWdodD10aGlzLl9pc1ZlcnRpY2FsP24uaGVpZ2h0OnI7dmFyIG89bi54LGE9bi55O3JldHVybiBuLng9dGhpcy5faXNWZXJ0aWNhbD9mdW5jdGlvbih0LG4saSl7cmV0dXJuIG8odCxuLGkpK2UuX2NsdXN0ZXJPZmZzZXRzLmdldChpKX06ZnVuY3Rpb24odCxlLG4pe3JldHVybiBvKHQsZSxuKX0sbi55PXRoaXMuX2lzVmVydGljYWw/ZnVuY3Rpb24odCxlLG4pe3JldHVybiBhKHQsZSxuKX06ZnVuY3Rpb24odCxuLGkpe3JldHVybiBhKHQsbixpKStlLl9jbHVzdGVyT2Zmc2V0cy5nZXQoaSl9LG59LGUucHJvdG90eXBlLl91cGRhdGVDbHVzdGVyUG9zaXRpb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5fbWFrZUlubmVyU2NhbGUoKTt0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24obixpKXtyZXR1cm4gdC5fY2x1c3Rlck9mZnNldHMuc2V0KG4sZS5zY2FsZShTdHJpbmcoaSkpLWUucmFuZ2VCYW5kKCkvMil9KSl9LGUucHJvdG90eXBlLl9tYWtlSW5uZXJTY2FsZT1mdW5jdGlvbigpe3ZhciB0PW5ldyBLRXQuQ2F0ZWdvcnk7dC5kb21haW4odGhpcy5kYXRhc2V0cygpLm1hcCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gU3RyaW5nKGUpfSkpKTt2YXIgZT1RRXQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5hdHRyKEpFdC5CYXIuX0JBUl9USElDS05FU1NfS0VZKSk7cmV0dXJuIHQucmFuZ2UoWzAsZShudWxsLDAsbnVsbCldKSx0fSxlLnByb3RvdHlwZS5fZ2V0RGF0YVRvRHJhdz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl91cGRhdGVDbHVzdGVyUG9zaXRpb24oKSx0LnByb3RvdHlwZS5fZ2V0RGF0YVRvRHJhdy5jYWxsKHRoaXMpfSxlfSkoSkV0LkJhcik7WEV0LkNsdXN0ZXJlZEJhcj10VHQ7dmFyIGVUdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkoZVR0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgblR0PUJPLGlUdD13cHQsclR0PUxndCxvVHQ9Zmd0LGFUdD1wdnQsc1R0PVh2dCxsVHQ9RF90LGNUdD1OTXQsdVR0PU9NdCxoVHQ9R1N0LGRUdD1UeXQscFR0PXNTdCxmVHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGUuX3N0YXJ0QW5nbGU9MCxlLl9lbmRBbmdsZT0yKk1hdGguUEksZS5fbGFiZWxGb3JtYXR0ZXI9YVR0LmlkZW50aXR5KCksZS5fbGFiZWxzRW5hYmxlZD0hMSxlLmlubmVyUmFkaXVzKDApLGUub3V0ZXJSYWRpdXMoKGZ1bmN0aW9uKCl7dmFyIHQ9ZS5fcGllQ2VudGVyKCk7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KGUud2lkdGgoKS10LngsdC54KSxNYXRoLm1heChlLmhlaWdodCgpLXQueSx0LnkpKX0pKSxlLmFkZENsYXNzKCJwaWUtcGxvdCIpLGUuYXR0cigiZmlsbCIsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIFN0cmluZyhlKX0pLG5ldyBzVHQuQ29sb3IpLGUuX3N0cm9rZURyYXdlcnM9bmV3IGxUdC5NYXAsZX1yZXR1cm4gblR0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9zZXR1cD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dC5wcm90b3R5cGUuX3NldHVwLmNhbGwodGhpcyksdGhpcy5fc3Ryb2tlRHJhd2Vycy5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5hdHRhY2hUbyhlLl9yZW5kZXJBcmVhKX0pKX0sZS5wcm90b3R5cGUuY29tcHV0ZUxheW91dD1mdW5jdGlvbihlLG4saSl7dC5wcm90b3R5cGUuY29tcHV0ZUxheW91dC5jYWxsKHRoaXMsZSxuLGkpO3ZhciByPXRoaXMuX3BpZUNlbnRlcigpO3RoaXMuX3JlbmRlckFyZWEuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrci54KyIsIityLnkrIikiKTt2YXIgbz1NYXRoLm1pbihNYXRoLm1heCh0aGlzLndpZHRoKCktci54LHIueCksTWF0aC5tYXgodGhpcy5oZWlnaHQoKS1yLnksci55KSk7cmV0dXJuIG51bGwhPXRoaXMuaW5uZXJSYWRpdXMoKS5zY2FsZSYmdGhpcy5pbm5lclJhZGl1cygpLnNjYWxlLnJhbmdlKFswLG9dKSxudWxsIT10aGlzLm91dGVyUmFkaXVzKCkuc2NhbGUmJnRoaXMub3V0ZXJSYWRpdXMoKS5zY2FsZS5yYW5nZShbMCxvXSksdGhpc30sZS5wcm90b3R5cGUuYWRkRGF0YXNldD1mdW5jdGlvbihlKXtyZXR1cm4gdC5wcm90b3R5cGUuYWRkRGF0YXNldC5jYWxsKHRoaXMsZSksdGhpc30sZS5wcm90b3R5cGUuX2FkZERhdGFzZXQ9ZnVuY3Rpb24oZSl7aWYoMT09PXRoaXMuZGF0YXNldHMoKS5sZW5ndGgpcmV0dXJuIGxUdC5XaW5kb3cud2FybigiT25seSBvbmUgZGF0YXNldCBpcyBzdXBwb3J0ZWQgaW4gUGllIHBsb3RzIiksdGhpczt0aGlzLl91cGRhdGVQaWVBbmdsZXMoKSx0LnByb3RvdHlwZS5fYWRkRGF0YXNldC5jYWxsKHRoaXMsZSk7dmFyIG49bmV3IHVUdC5BcmNPdXRsaW5lU1ZHRHJhd2VyO3JldHVybiB0aGlzLl9pc1NldHVwJiZuLmF0dGFjaFRvKHRoaXMuX3JlbmRlckFyZWEpLHRoaXMuX3N0cm9rZURyYXdlcnMuc2V0KGUsbiksdGhpc30sZS5wcm90b3R5cGUucmVtb3ZlRGF0YXNldD1mdW5jdGlvbihlKXtyZXR1cm4gdC5wcm90b3R5cGUucmVtb3ZlRGF0YXNldC5jYWxsKHRoaXMsZSksdGhpc30sZS5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXROb2Rlcz1mdW5jdGlvbihlKXt0LnByb3RvdHlwZS5fcmVtb3ZlRGF0YXNldE5vZGVzLmNhbGwodGhpcyxlKSx0aGlzLl9zdHJva2VEcmF3ZXJzLmdldChlKS5yZW1vdmUoKX0sZS5wcm90b3R5cGUuX3JlbW92ZURhdGFzZXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHQucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0LmNhbGwodGhpcyxlKSx0aGlzLl9zdHJva2VEcmF3ZXJzLmRlbGV0ZShlKSx0aGlzLl9zdGFydEFuZ2xlcz1bXSx0aGlzLl9lbmRBbmdsZXM9W10sdGhpc30sZS5wcm90b3R5cGUuc2VsZWN0aW9ucz1mdW5jdGlvbihlKXt2YXIgbj10aGlzO3ZvaWQgMD09PWUmJihlPXRoaXMuZGF0YXNldHMoKSk7dmFyIGk9dC5wcm90b3R5cGUuc2VsZWN0aW9ucy5jYWxsKHRoaXMsZSkubm9kZXMoKTtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT1uLl9zdHJva2VEcmF3ZXJzLmdldCh0KTtudWxsIT1lJiZpLnB1c2guYXBwbHkoaSxlLmdldFZpc3VhbFByaW1pdGl2ZXMoKSl9KSksaVR0LnNlbGVjdEFsbChpKX0sZS5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZT1mdW5jdGlvbigpe3QucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGUuY2FsbCh0aGlzKSx0aGlzLl91cGRhdGVQaWVBbmdsZXMoKSx0aGlzLnJlbmRlcigpfSxlLnByb3RvdHlwZS5fY3JlYXRlRHJhd2VyPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBoVHQuUHJveHlEcmF3ZXIoKGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBjVHQuQXJjU1ZHRHJhd2VyfSksKGZ1bmN0aW9uKCl7cmV0dXJuIGRUdC53YXJuKCJjYW52YXMgcmVuZGVyZXIgaXMgbm90IHN1cHBvcnRlZCBvbiBQaWUgUGxvdCEiKSxudWxsfSkpfSxlLnByb3RvdHlwZS5lbnRpdGllcz1mdW5jdGlvbihlKXt2YXIgbj10aGlzO3JldHVybiB2b2lkIDA9PT1lJiYoZT10aGlzLmRhdGFzZXRzKCkpLHQucHJvdG90eXBlLmVudGl0aWVzLmNhbGwodGhpcyxlKS5tYXAoKGZ1bmN0aW9uKHQpe3QucG9zaXRpb24ueCs9bi53aWR0aCgpLzIsdC5wb3NpdGlvbi55Kz1uLmhlaWdodCgpLzI7dmFyIGU9aVR0LnNlbGVjdChuLl9zdHJva2VEcmF3ZXJzLmdldCh0LmRhdGFzZXQpLmdldFZpc3VhbFByaW1pdGl2ZUF0SW5kZXgodC5pbmRleCkpLGk9dDtyZXR1cm4gaS5zdHJva2VTZWxlY3Rpb249ZSxpfSkpfSxlLnByb3RvdHlwZS5zZWN0b3JWYWx1ZT1mdW5jdGlvbih0LG4pe3JldHVybiBudWxsPT10P3RoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KGUuX1NFQ1RPUl9WQUxVRV9LRVkpOih0aGlzLl9iaW5kUHJvcGVydHkoZS5fU0VDVE9SX1ZBTFVFX0tFWSx0LG4pLHRoaXMuX3VwZGF0ZVBpZUFuZ2xlcygpLHRoaXMucmVuZGVyKCksdGhpcyl9LGUucHJvdG90eXBlLmlubmVyUmFkaXVzPWZ1bmN0aW9uKHQsbil7cmV0dXJuIG51bGw9PXQ/dGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoZS5fSU5ORVJfUkFESVVTX0tFWSk6KHRoaXMuX2JpbmRQcm9wZXJ0eShlLl9JTk5FUl9SQURJVVNfS0VZLHQsbiksdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUub3V0ZXJSYWRpdXM9ZnVuY3Rpb24odCxuKXtyZXR1cm4gbnVsbD09dD90aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChlLl9PVVRFUl9SQURJVVNfS0VZKToodGhpcy5fYmluZFByb3BlcnR5KGUuX09VVEVSX1JBRElVU19LRVksdCxuKSx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5zdGFydEFuZ2xlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3N0YXJ0QW5nbGU6KHRoaXMuX3N0YXJ0QW5nbGU9dCx0aGlzLl91cGRhdGVQaWVBbmdsZXMoKSx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5lbmRBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9lbmRBbmdsZToodGhpcy5fZW5kQW5nbGU9dCx0aGlzLl91cGRhdGVQaWVBbmdsZXMoKSx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5sYWJlbHNFbmFibGVkPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2xhYmVsc0VuYWJsZWQ6KHRoaXMuX2xhYmVsc0VuYWJsZWQ9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5sYWJlbEZvcm1hdHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9sYWJlbEZvcm1hdHRlcjoodGhpcy5fbGFiZWxGb3JtYXR0ZXI9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5lbnRpdGllc0F0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMud2lkdGgoKS8yLG49dGhpcy5oZWlnaHQoKS8yLGk9dGhpcy5fc2xpY2VJbmRleEZvclBvaW50KHt4OnQueC1lLHk6dC55LW59KTtyZXR1cm4gbnVsbD09aT9bXTpbdGhpcy5lbnRpdGllcygpW2ldXX0sZS5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycz1mdW5jdGlvbigpe3ZhciBlPXRoaXMsbj10LnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzLmNhbGwodGhpcyksaT1wVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5pbm5lclJhZGl1cygpKSxyPXBUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLm91dGVyUmFkaXVzKCkpO3JldHVybiBuLmQ9ZnVuY3Rpb24odCxuLG8pe3JldHVybiBpVHQuYXJjKCkuaW5uZXJSYWRpdXMoaSh0LG4sbykpLm91dGVyUmFkaXVzKHIodCxuLG8pKS5zdGFydEFuZ2xlKGUuX3N0YXJ0QW5nbGVzW25dKS5lbmRBbmdsZShlLl9lbmRBbmdsZXNbbl0pKHQsbil9LG59LGUucHJvdG90eXBlLl91cGRhdGVQaWVBbmdsZXM9ZnVuY3Rpb24oKXtpZihudWxsIT10aGlzLnNlY3RvclZhbHVlKCkmJjAhPT10aGlzLmRhdGFzZXRzKCkubGVuZ3RoKXt2YXIgdD1wVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5zZWN0b3JWYWx1ZSgpKSxlPXRoaXMuZGF0YXNldHMoKVswXSxuPXRoaXMuX2dldERhdGFUb0RyYXcoKS5nZXQoZSksaT1pVHQucGllKCkuc29ydChudWxsKS5zdGFydEFuZ2xlKHRoaXMuX3N0YXJ0QW5nbGUpLmVuZEFuZ2xlKHRoaXMuX2VuZEFuZ2xlKS52YWx1ZSgoZnVuY3Rpb24obixpKXtyZXR1cm4gdChuLGksZSl9KSkobik7dGhpcy5fc3RhcnRBbmdsZXM9aS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnN0YXJ0QW5nbGV9KSksdGhpcy5fZW5kQW5nbGVzPWkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5lbmRBbmdsZX0pKX19LGUucHJvdG90eXBlLl9waWVDZW50ZXI9ZnVuY3Rpb24oKXt2YXIgdCxlLG4saSxyPXRoaXMuX3N0YXJ0QW5nbGU8dGhpcy5fZW5kQW5nbGU/dGhpcy5fc3RhcnRBbmdsZTp0aGlzLl9lbmRBbmdsZSxvPXRoaXMuX3N0YXJ0QW5nbGU8dGhpcy5fZW5kQW5nbGU/dGhpcy5fZW5kQW5nbGU6dGhpcy5fc3RhcnRBbmdsZSxhPU1hdGguc2luKHIpLHM9TWF0aC5jb3MociksbD1NYXRoLnNpbihvKSxjPU1hdGguY29zKG8pO3JldHVybiBhPj0wJiZsPj0wP3M+PTAmJmM+PTA/KHQ9cyxlPTAsaT0wLG49bCk6czwwJiZjPDA/KHQ9MCxlPS1jLGk9MCxuPWEpOnM+PTAmJmM8MD8odD1zLGU9LWMsaT0wLG49YSk6czwwJiZjPj0wJiYodD0xLGU9MSxpPTEsbj1NYXRoLm1heChhLGwpKTphPj0wJiZsPDA/cz49MCYmYz49MD8odD1NYXRoLm1heChzLGMpLGU9MSxpPTEsbj0xKTpzPDAmJmM8MD8odD0wLGU9MSxpPS1sLG49YSk6cz49MCYmYzwwPyh0PXMsZT0xLGk9LWwsbj0xKTpzPDAmJmM+PTAmJih0PWMsZT0xLGk9MSxuPWEpOmE8MCYmbD49MD9zPj0wJiZjPj0wPyh0PTEsZT0wLGk9LWEsbj1sKTpzPDAmJmM8MD8odD0xLGU9TWF0aC5tYXgoLXMsLWMpLGk9MSxuPTEpOnM+PTAmJmM8MD8odD0xLGU9LWMsaT0tYSxuPTEpOnM8MCYmYz49MCYmKHQ9MSxlPS1zLGk9MSxuPWwpOmE8MCYmbDwwJiYocz49MCYmYz49MD8odD1jLGU9MCxpPS1hLG49MCk6czwwJiZjPDA/KHQ9MCxlPS1zLGk9LWwsbj0wKTpzPj0wJiZjPDA/KHQ9MSxlPTEsaT1NYXRoLm1heChzLC1jKSxuPTEpOnM8MCYmYz49MCYmKHQ9YyxlPS1zLGk9MSxuPTApKSx7eDppK249PTA/MDppLyhpK24pKnRoaXMud2lkdGgoKSx5OnQrZT09MD8wOnQvKHQrZSkqdGhpcy5oZWlnaHQoKX19LGUucHJvdG90eXBlLl9nZXREYXRhVG9EcmF3PWZ1bmN0aW9uKCl7dmFyIG49dC5wcm90b3R5cGUuX2dldERhdGFUb0RyYXcuY2FsbCh0aGlzKTtpZigwPT09dGhpcy5kYXRhc2V0cygpLmxlbmd0aClyZXR1cm4gbjt2YXIgaT1wVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5zZWN0b3JWYWx1ZSgpKSxyPXRoaXMuZGF0YXNldHMoKVswXSxvPW4uZ2V0KHIpLmZpbHRlcigoZnVuY3Rpb24odCxuKXtyZXR1cm4gZS5faXNWYWxpZERhdGEoaSh0LG4scikpfSkpO3JldHVybiBuLnNldChyLG8pLG59LGUuX2lzVmFsaWREYXRhPWZ1bmN0aW9uKHQpe3JldHVybiBsVHQuTWF0aC5pc1ZhbGlkTnVtYmVyKHQpJiZ0Pj0wfSxlLnByb3RvdHlwZS5fcGl4ZWxQb2ludD1mdW5jdGlvbih0LG4saSl7dmFyIHI9cFR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMuc2VjdG9yVmFsdWUoKSk7aWYoIWUuX2lzVmFsaWREYXRhKHIodCxuLGkpKSlyZXR1cm57eDpOYU4seTpOYU59O3ZhciBvPShwVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5pbm5lclJhZGl1cygpKSh0LG4saSkrcFR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMub3V0ZXJSYWRpdXMoKSkodCxuLGkpKS8yLGE9aVR0LnBpZSgpLnNvcnQobnVsbCkudmFsdWUoKGZ1bmN0aW9uKHQsbil7dmFyIG89cih0LG4saSk7cmV0dXJuIGUuX2lzVmFsaWREYXRhKG8pP286MH0pKS5zdGFydEFuZ2xlKHRoaXMuX3N0YXJ0QW5nbGUpLmVuZEFuZ2xlKHRoaXMuX2VuZEFuZ2xlKShpLmRhdGEoKSkscz0oYVtuXS5zdGFydEFuZ2xlK2Fbbl0uZW5kQW5nbGUpLzI7cmV0dXJue3g6bypNYXRoLnNpbihzKSx5Oi1vKk1hdGguY29zKHMpfX0sZS5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuX3JlbmRlckFyZWEuc2VsZWN0KCIubGFiZWwtYXJlYSIpLnJlbW92ZSgpLHRoaXMuX2xhYmVsc0VuYWJsZWQmJmxUdC5XaW5kb3cuc2V0VGltZW91dCgoZnVuY3Rpb24oKXtyZXR1cm4gZS5fZHJhd0xhYmVscygpfSksdCk7dmFyIG49dGhpcy5fZ2VuZXJhdGVTdHJva2VEcmF3U3RlcHMoKSxpPXRoaXMuX2dldERhdGFUb0RyYXcoKTt0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIHI9cFR0LlBsb3QuYXBwbHlEcmF3U3RlcHMobix0KTtlLl9zdHJva2VEcmF3ZXJzLmdldCh0KS5kcmF3KGkuZ2V0KHQpLHIpfSkpfSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVTdHJva2VEcmF3U3RlcHM9ZnVuY3Rpb24oKXtyZXR1cm5be2F0dHJUb1Byb2plY3Rvcjp0aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxhbmltYXRvcjpuZXcgb1R0Lk51bGx9XX0sZS5wcm90b3R5cGUuX3NsaWNlSW5kZXhGb3JQb2ludD1mdW5jdGlvbih0KXt2YXIgZSxuPU1hdGguc3FydChNYXRoLnBvdyh0LngsMikrTWF0aC5wb3codC55LDIpKSxpPU1hdGguYWNvcygtdC55L24pO3QueDwwJiYoaT0yKk1hdGguUEktaSk7Zm9yKHZhciByPTA7cjx0aGlzLl9zdGFydEFuZ2xlcy5sZW5ndGg7cisrKWlmKHRoaXMuX3N0YXJ0QW5nbGVzW3JdPGkmJnRoaXMuX2VuZEFuZ2xlc1tyXT5pKXtlPXI7YnJlYWt9aWYodm9pZCAwIT09ZSl7dmFyIG89dGhpcy5kYXRhc2V0cygpWzBdLGE9by5kYXRhKClbZV0scz10aGlzLmlubmVyUmFkaXVzKCkuYWNjZXNzb3IoYSxlLG8pLGw9dGhpcy5vdXRlclJhZGl1cygpLmFjY2Vzc29yKGEsZSxvKTtpZihuPnMmJm48bClyZXR1cm4gZX1yZXR1cm4gbnVsbH0sZS5wcm90b3R5cGUuX2RyYXdMYWJlbHM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcyxlPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLG49dGhpcy5fcmVuZGVyQXJlYS5hcHBlbmQoImciKS5jbGFzc2VkKCJsYWJlbC1hcmVhIiwhMCksaT1uZXcgclR0LlN2Z0NvbnRleHQobi5ub2RlKCkpLHI9bmV3IHJUdC5DYWNoZU1lYXN1cmVyKGkpLG89bmV3IHJUdC5Xcml0ZXIocixpKSxhPXRoaXMuZGF0YXNldHMoKVswXSxzPXRoaXMuX2dldERhdGFUb0RyYXcoKS5nZXQoYSksbD1zLmxlbmd0aCxjPWZ1bmN0aW9uKGkpe3ZhciBsPXNbaV0sYz11LnNlY3RvclZhbHVlKCkuYWNjZXNzb3IobCxpLGEpO2lmKCFsVHQuTWF0aC5pc1ZhbGlkTnVtYmVyKGMpKXJldHVybiJjb250aW51ZSI7Yz11Ll9sYWJlbEZvcm1hdHRlcihjLGwsaSxhKTt2YXIgaD1yLm1lYXN1cmUoYyksZD0odS5fZW5kQW5nbGVzW2ldK3UuX3N0YXJ0QW5nbGVzW2ldKS8yLHA9dS5vdXRlclJhZGl1cygpLmFjY2Vzc29yKGwsaSxhKTt1Lm91dGVyUmFkaXVzKCkuc2NhbGUmJihwPXUub3V0ZXJSYWRpdXMoKS5zY2FsZS5zY2FsZShwKSk7dmFyIGY9dS5pbm5lclJhZGl1cygpLmFjY2Vzc29yKGwsaSxhKTt1LmlubmVyUmFkaXVzKCkuc2NhbGUmJihmPXUuaW5uZXJSYWRpdXMoKS5zY2FsZS5zY2FsZShmKSk7dmFyIG09KHArZikvMixnPU1hdGguc2luKGQpKm0taC53aWR0aC8yLF89LU1hdGguY29zKGQpKm0taC5oZWlnaHQvMix5PVt7eDpnLHk6X30se3g6Zyx5Ol8raC5oZWlnaHR9LHt4OmcraC53aWR0aCx5Ol99LHt4OmcraC53aWR0aCx5Ol8raC5oZWlnaHR9XSx2PXkuZXZlcnkoKGZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLmFicyhlLngpPD10LndpZHRoKCkvMiYmTWF0aC5hYnMoZS55KTw9dC5oZWlnaHQoKS8yfSkpO3YmJih2PXkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fc2xpY2VJbmRleEZvclBvaW50KGUpfSkpLmV2ZXJ5KChmdW5jdGlvbih0KXtyZXR1cm4gdD09PWl9KSkpO3ZhciBiPWUuZmlsbChsLGksYSkseD0xLjYqbFR0LkNvbG9yLmNvbnRyYXN0KCJ3aGl0ZSIsYik8bFR0LkNvbG9yLmNvbnRyYXN0KCJibGFjayIsYiksdz1uLmFwcGVuZCgiZyIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK2crIiwiK18rIikiKTt3LmNsYXNzZWQoeD8iZGFyay1sYWJlbCI6ImxpZ2h0LWxhYmVsIiwhMCksdy5zdHlsZSgidmlzaWJpbGl0eSIsdj8iaW5oZXJpdCI6ImhpZGRlbiIpLG8ud3JpdGUoYyxoLndpZHRoLGguaGVpZ2h0LHt4QWxpZ246ImNlbnRlciIseUFsaWduOiJjZW50ZXIifSx3Lm5vZGUoKSl9LHU9dGhpcyxoPTA7aDxsO2grKyljKGgpfSxlLl9JTk5FUl9SQURJVVNfS0VZPSJpbm5lci1yYWRpdXMiLGUuX09VVEVSX1JBRElVU19LRVk9Im91dGVyLXJhZGl1cyIsZS5fU0VDVE9SX1ZBTFVFX0tFWT0ic2VjdG9yLXZhbHVlIixlfSkocFR0LlBsb3QpO2VUdC5QaWU9ZlR0O3ZhciBtVHQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KG1UdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGdUdD1CTyxfVHQ9d3B0LHlUdD1MZ3QsdlR0PWZndCxiVHQ9UE10LHhUdD1HU3Qsd1R0PVpNdCxTVHQ9WHZ0LE1UdD1EX3QsRVR0PXNTdCxUVHQ9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGUuX2xhYmVsc0VuYWJsZWQ9ITEsZS5fbGFiZWw9bnVsbCxlLmFuaW1hdG9yKCJyZWN0YW5nbGVzIixuZXcgdlR0Lk51bGwpLGUuYWRkQ2xhc3MoInJlY3RhbmdsZS1wbG90IiksZS5hdHRyKCJmaWxsIiwobmV3IFNUdC5Db2xvcikucmFuZ2UoKVswXSksZX1yZXR1cm4gZ1R0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9jcmVhdGVEcmF3ZXI9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHhUdC5Qcm94eURyYXdlcigoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHdUdC5SZWN0YW5nbGVTVkdEcmF3ZXJ9KSwoZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBiVHQuUmVjdGFuZ2xlQ2FudmFzRHJhd2VyKHQpfSkpfSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgbj10aGlzLGk9dC5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yLmNhbGwodGhpcykscj1FVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLG89aVtlLl9YMl9LRVldLGE9RVR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKSxzPWlbZS5fWTJfS0VZXSxsPXRoaXMueCgpLnNjYWxlLGM9dGhpcy55KCkuc2NhbGU7cmV0dXJuIG51bGwhPW8/KGkud2lkdGg9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBNYXRoLmFicyhvKHQsZSxuKS1yKHQsZSxuKSl9LGkueD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIE1hdGgubWluKG8odCxlLG4pLHIodCxlLG4pKX0pOihpLndpZHRoPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gbi5fcmVjdGFuZ2xlV2lkdGgobCl9LGkueD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHIodCxlLG4pLS41Kmkud2lkdGgodCxlLG4pfSksbnVsbCE9cz8oaS5oZWlnaHQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBNYXRoLmFicyhzKHQsZSxuKS1hKHQsZSxuKSl9LGkueT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIE1hdGgubWF4KHModCxlLG4pLGEodCxlLG4pKS1pLmhlaWdodCh0LGUsbil9KTooaS5oZWlnaHQ9ZnVuY3Rpb24odCxlLGkpe3JldHVybiBuLl9yZWN0YW5nbGVXaWR0aChjKX0saS55PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gYSh0LGUsbiktLjUqaS5oZWlnaHQodCxlLG4pfSksZGVsZXRlIGlbZS5fWDJfS0VZXSxkZWxldGUgaVtlLl9ZMl9LRVldLGl9LGUucHJvdG90eXBlLl9nZW5lcmF0ZURyYXdTdGVwcz1mdW5jdGlvbigpe3JldHVyblt7YXR0clRvUHJvamVjdG9yOnRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLGFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKCJyZWN0YW5nbGVzIil9XX0sZS5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5PWZ1bmN0aW9uKGUpe3JldHVybiB0LnByb3RvdHlwZS5fZmlsdGVyRm9yUHJvcGVydHkuY2FsbCh0aGlzLCJ4MiI9PT1lPyJ4IjoieTIiPT09ZT8ieSI6ZSl9LGUucHJvdG90eXBlLng9ZnVuY3Rpb24obixpLHIpe2lmKG51bGw9PW4pcmV0dXJuIHQucHJvdG90eXBlLnguY2FsbCh0aGlzKTtpZihudWxsPT1pP3QucHJvdG90eXBlLnguY2FsbCh0aGlzLG4pOnQucHJvdG90eXBlLnguY2FsbCh0aGlzLG4saSxyKSxudWxsIT1pKXt2YXIgbz10aGlzLngyKCksYT1vJiZvLmFjY2Vzc29yO251bGwhPWEmJnRoaXMuX2JpbmRQcm9wZXJ0eShlLl9YMl9LRVksYSxpLG8ucG9zdFNjYWxlKX1yZXR1cm4gaSBpbnN0YW5jZW9mIFNUdC5DYXRlZ29yeSYmaS5pbm5lclBhZGRpbmcoMCkub3V0ZXJQYWRkaW5nKDApLHRoaXN9LGUucHJvdG90eXBlLngyPWZ1bmN0aW9uKHQsbil7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fcHJvcGVydHlCaW5kaW5ncy5nZXQoZS5fWDJfS0VZKTt2YXIgaT10aGlzLngoKTtyZXR1cm4gdGhpcy5fYmluZFByb3BlcnR5KGUuX1gyX0tFWSx0LGkmJmkuc2NhbGUsbiksdGhpcy5yZW5kZXIoKSx0aGlzfSxlLnByb3RvdHlwZS55PWZ1bmN0aW9uKG4saSxyKXtpZihudWxsPT1uKXJldHVybiB0LnByb3RvdHlwZS55LmNhbGwodGhpcyk7aWYobnVsbD09aT90LnByb3RvdHlwZS55LmNhbGwodGhpcyxuKTp0LnByb3RvdHlwZS55LmNhbGwodGhpcyxuLGksciksbnVsbCE9aSl7dmFyIG89dGhpcy55MigpLGE9byYmby5hY2Nlc3NvcjtudWxsIT1hJiZ0aGlzLl9iaW5kUHJvcGVydHkoZS5fWTJfS0VZLGEsaSxvLnBvc3RTY2FsZSl9cmV0dXJuIGkgaW5zdGFuY2VvZiBTVHQuQ2F0ZWdvcnkmJmkuaW5uZXJQYWRkaW5nKDApLm91dGVyUGFkZGluZygwKSx0aGlzfSxlLnByb3RvdHlwZS55Mj1mdW5jdGlvbih0LG4pe2lmKG51bGw9PXQpcmV0dXJuIHRoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KGUuX1kyX0tFWSk7dmFyIGk9dGhpcy55KCk7cmV0dXJuIHRoaXMuX2JpbmRQcm9wZXJ0eShlLl9ZMl9LRVksdCxpJiZpLnNjYWxlLG4pLHRoaXMucmVuZGVyKCksdGhpc30sZS5wcm90b3R5cGUuZW50aXRpZXNBdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTtyZXR1cm4gdGhpcy5lbnRpdGllcygpLmZpbHRlcigoZnVuY3Rpb24obil7dmFyIGk9bi5kYXR1bSxyPW4uaW5kZXgsbz1uLmRhdGFzZXQsYT1lLngoaSxyLG8pLHM9ZS55KGkscixvKSxsPWUud2lkdGgoaSxyLG8pLGM9ZS5oZWlnaHQoaSxyLG8pO3JldHVybiBhPD10LngmJnQueDw9YStsJiZzPD10LnkmJnQueTw9cytjfSkpfSxlLnByb3RvdHlwZS5fZW50aXR5Qm91bmRzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9lbnRpdHlCQm94KHQuZGF0dW0sdC5pbmRleCx0LmRhdGFzZXQsdGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCkpfSxlLnByb3RvdHlwZS5fZW50aXR5QkJveD1mdW5jdGlvbih0LGUsbixpKXtyZXR1cm57eDppLngodCxlLG4pLHk6aS55KHQsZSxuKSx3aWR0aDppLndpZHRoKHQsZSxuKSxoZWlnaHQ6aS5oZWlnaHQodCxlLG4pfX0sZS5wcm90b3R5cGUubGFiZWw9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fbGFiZWw6KHRoaXMuX2xhYmVsPXQsdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUubGFiZWxzRW5hYmxlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9sYWJlbHNFbmFibGVkOih0aGlzLl9sYWJlbHNFbmFibGVkPXQsdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycz1mdW5jdGlvbigpe3ZhciBlPXQucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnMuY2FsbCh0aGlzKTtyZXR1cm4gbnVsbCE9dGhpcy54MigpJiYoZS54Mj1FVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54MigpKSksbnVsbCE9dGhpcy55MigpJiYoZS55Mj1FVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55MigpKSksZX0sZS5wcm90b3R5cGUuX3BpeGVsUG9pbnQ9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLHI9aS54KHQsZSxuKSxvPWkueSh0LGUsbik7cmV0dXJue3g6citpLndpZHRoKHQsZSxuKS8yLHk6bytpLmhlaWdodCh0LGUsbikvMn19LGUucHJvdG90eXBlLl9yZWN0YW5nbGVXaWR0aD1mdW5jdGlvbih0KXtpZih0IGluc3RhbmNlb2YgU1R0LkNhdGVnb3J5KXJldHVybiB0LnJhbmdlQmFuZCgpO3ZhciBlPXQ9PT10aGlzLngoKS5zY2FsZT90aGlzLngoKS5hY2Nlc3Nvcjp0aGlzLnkoKS5hY2Nlc3NvcixuPV9UdC5zZXQoTVR0LkFycmF5LmZsYXR0ZW4odGhpcy5kYXRhc2V0cygpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuZGF0YSgpLm1hcCgoZnVuY3Rpb24obixpKXtyZXR1cm4gZShuLGksdCkudmFsdWVPZigpfSkpfSkpKSkudmFsdWVzKCkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4rdH0pKSxpPU1UdC5NYXRoLm1pbihuLDApLHI9TVR0Lk1hdGgubWF4KG4sMCksbz10LnNjYWxlKGkpO3JldHVybih0LnNjYWxlKHIpLW8pL01hdGguYWJzKHItaSl9LGUucHJvdG90eXBlLl9nZXREYXRhVG9EcmF3PWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IE1UdC5NYXAsZT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTtyZXR1cm4gdGhpcy5kYXRhc2V0cygpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciBpPW4uZGF0YSgpLm1hcCgoZnVuY3Rpb24odCxpKXtyZXR1cm4gTVR0Lk1hdGguaXNWYWxpZE51bWJlcihlLngodCxpLG4pKSYmTVR0Lk1hdGguaXNWYWxpZE51bWJlcihlLnkodCxpLG4pKSYmTVR0Lk1hdGguaXNWYWxpZE51bWJlcihlLndpZHRoKHQsaSxuKSkmJk1UdC5NYXRoLmlzVmFsaWROdW1iZXIoZS5oZWlnaHQodCxpLG4pKT90Om51bGx9KSk7dC5zZXQobixpKX0pKSx0fSxlLnByb3RvdHlwZS5fYWRkaXRpb25hbFBhaW50PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dGhpcy5fcmVuZGVyQXJlYS5zZWxlY3RBbGwoIi5sYWJlbC1hcmVhIikucmVtb3ZlKCksdGhpcy5fbGFiZWxzRW5hYmxlZCYmbnVsbCE9dGhpcy5sYWJlbCgpJiZNVHQuV2luZG93LnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2RyYXdMYWJlbHMoKX0pLHQpfSxlLnByb3RvdHlwZS5fZHJhd0xhYmVscz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9nZXREYXRhVG9EcmF3KCk7dGhpcy5kYXRhc2V0cygpLmZvckVhY2goKGZ1bmN0aW9uKG4saSl7cmV0dXJuIHQuX2RyYXdMYWJlbChlLG4saSl9KSl9LGUucHJvdG90eXBlLl9kcmF3TGFiZWw9ZnVuY3Rpb24odCxlLG4pe2Zvcih2YXIgaT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxyPXRoaXMuX3JlbmRlckFyZWEuYXBwZW5kKCJnIikuY2xhc3NlZCgibGFiZWwtYXJlYSIsITApLG89bmV3IHlUdC5TdmdDb250ZXh0KHIubm9kZSgpKSxhPW5ldyB5VHQuQ2FjaGVNZWFzdXJlcihvKSxzPW5ldyB5VHQuV3JpdGVyKGEsbyksbD10aGlzLngoKS5zY2FsZS5yYW5nZSgpLGM9dGhpcy55KCkuc2NhbGUucmFuZ2UoKSx1PU1hdGgubWluLmFwcGx5KG51bGwsbCksaD1NYXRoLm1heC5hcHBseShudWxsLGwpLGQ9TWF0aC5taW4uYXBwbHkobnVsbCxjKSxwPU1hdGgubWF4LmFwcGx5KG51bGwsYyksZj10LmdldChlKSxtPWYubGVuZ3RoLGc9MDtnPG07ZysrKXt2YXIgXz1mW2ddO2lmKG51bGwhPV8pe3ZhciB5PSIiK3RoaXMubGFiZWwoKShfLGcsZSksdj1hLm1lYXN1cmUoeSksYj1pLngoXyxnLGUpLHg9aS55KF8sZyxlKSx3PWkud2lkdGgoXyxnLGUpLFM9aS5oZWlnaHQoXyxnLGUpO2lmKHYuaGVpZ2h0PD1TJiZ2LndpZHRoPD13KXt2YXIgTT17bWluOmIrPSh3LXYud2lkdGgpLzIsbWF4OmIrdi53aWR0aH0sRT17bWluOngrPShTLXYuaGVpZ2h0KS8yLG1heDp4K3YuaGVpZ2h0fTtpZihNLm1pbjx1fHxNLm1heD5ofHxFLm1pbjxkfHxFLm1heD5wKWNvbnRpbnVlO2lmKHRoaXMuX292ZXJsYXlMYWJlbChNLEUsZyxuLHQpKWNvbnRpbnVlO3ZhciBUPWkuZmlsbChfLGcsZSksQz0xLjYqTVR0LkNvbG9yLmNvbnRyYXN0KCJ3aGl0ZSIsVCk8TVR0LkNvbG9yLmNvbnRyYXN0KCJibGFjayIsVCksQT1yLmFwcGVuZCgiZyIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK2IrIiwiK3grIikiKTtBLmNsYXNzZWQoQz8iZGFyay1sYWJlbCI6ImxpZ2h0LWxhYmVsIiwhMCkscy53cml0ZSh5LHYud2lkdGgsdi5oZWlnaHQse3hBbGlnbjoiY2VudGVyIix5QWxpZ246ImNlbnRlciJ9LEEubm9kZSgpKX19fX0sZS5wcm90b3R5cGUuX292ZXJsYXlMYWJlbD1mdW5jdGlvbih0LGUsbixpLHIpe2Zvcih2YXIgbz10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxhPXRoaXMuZGF0YXNldHMoKSxzPWk7czxhLmxlbmd0aDtzKyspZm9yKHZhciBsPWFbc10sYz1yLmdldChsKSx1PWMubGVuZ3RoLGg9cz09PWk/bisxOjA7aDx1O2grKylpZihNVHQuRE9NLmludGVyc2VjdHNCQm94KHQsZSx0aGlzLl9lbnRpdHlCQm94KGNbaF0saCxsLG8pKSlyZXR1cm4hMDtyZXR1cm4hMX0sZS5fWDJfS0VZPSJ4MiIsZS5fWTJfS0VZPSJ5MiIsZX0pKG1FdC5YWVBsb3QpO21UdC5SZWN0YW5nbGU9VFR0O3ZhciBDVHQ9e307Ci8qKgogICAgICogQ29weXJpZ2h0IDIwMTQtcHJlc2VudCBQYWxhbnRpciBUZWNobm9sb2dpZXMKICAgICAqIEBsaWNlbnNlIE1JVAogICAgICovT2JqZWN0LmRlZmluZVByb3BlcnR5KENUdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEFUdD1CTyxrVHQ9TGd0LExUdD1wdnQsUFR0PUh3dCxOVHQ9R1N0LElUdD1lRXQsUlR0PWZndCxPVHQ9UE10LHpUdD1YdnQsRFR0PURfdCxCVHQ9ZEV0LEhUdD1zU3QsRlR0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9dC5jYWxsKHRoaXMpfHx0aGlzO2UuX2xhYmVsRm9ybWF0dGVyPUxUdC5pZGVudGl0eSgpLGUuX2xhYmVsc0VuYWJsZWQ9ITEsZS5hZGRDbGFzcygic2NhdHRlci1wbG90Iik7dmFyIG49bmV3IFJUdC5FYXNpbmc7bi5zdGFydERlbGF5KDUpLG4uc3RlcER1cmF0aW9uKDI1MCksbi5tYXhUb3RhbER1cmF0aW9uKEhUdC5QbG90Ll9BTklNQVRJT05fTUFYX0RVUkFUSU9OKSxlLmFuaW1hdG9yKEJUdC5BbmltYXRvci5NQUlOLG4pLGUuYXR0cigib3BhY2l0eSIsLjYpLGUuYXR0cigiZmlsbCIsKG5ldyB6VHQuQ29sb3IpLnJhbmdlKClbMF0pLGUuc2l6ZSg2KTt2YXIgaT1QVHQuY2lyY2xlKCk7cmV0dXJuIGUuc3ltYm9sKChmdW5jdGlvbigpe3JldHVybiBpfSkpLGUuX2xhYmVsQ29uZmlnPW5ldyBEVHQuTWFwLGV9cmV0dXJuIEFUdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5fYnVpbGRMaWdodHdlaWdodFBsb3RFbnRpdGllcz1mdW5jdGlvbihlKXt2YXIgbj10aGlzO3JldHVybiB0LnByb3RvdHlwZS5fYnVpbGRMaWdodHdlaWdodFBsb3RFbnRpdGllcy5jYWxsKHRoaXMsZSkubWFwKChmdW5jdGlvbih0KXt2YXIgZT1IVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3Iobi5zaXplKCkpKHQuZGF0dW0sdC5pbmRleCx0LmRhdGFzZXQpO3JldHVybiB0LmRpYW1ldGVyPWUsdH0pKX0sZS5wcm90b3R5cGUuX2NyZWF0ZURyYXdlcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiBuZXcgTlR0LlByb3h5RHJhd2VyKChmdW5jdGlvbigpe3JldHVybiBuZXcgSVR0LlN5bWJvbFNWR0RyYXdlcn0pLChmdW5jdGlvbihuKXtyZXR1cm4gbmV3IE9UdC5DYW52YXNEcmF3ZXIobixJVHQubWFrZVN5bWJvbENhbnZhc0RyYXdTdGVwKHQsKGZ1bmN0aW9uKCl7cmV0dXJuIEhUdC5QbG90Ll9zY2FsZWRBY2Nlc3NvcihlLnN5bWJvbCgpKX0pLChmdW5jdGlvbigpe3JldHVybiBIVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IoZS5zaXplKCkpfSkpKX0pKX0sZS5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbih0LG4pe3JldHVybiBudWxsPT10P3RoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KGUuX1NJWkVfS0VZKToodGhpcy5fYmluZFByb3BlcnR5KGUuX1NJWkVfS0VZLHQsbiksdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUuc3ltYm9sPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX3Byb3BlcnR5QmluZGluZ3MuZ2V0KGUuX1NZTUJPTF9LRVkpOih0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLnNldChlLl9TWU1CT0xfS0VZLHthY2Nlc3Nvcjp0fSksdGhpcy5yZW5kZXIoKSx0aGlzKX0sZS5wcm90b3R5cGUuX2dlbmVyYXRlRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7dmFyIHQ9W107aWYodGhpcy5fYW5pbWF0ZU9uTmV4dFJlbmRlcigpKXt2YXIgZT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxuPUhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnN5bWJvbCgpKTtlLmQ9ZnVuY3Rpb24odCxlLGkpe3JldHVybiBuKHQsZSxpKSgwKShudWxsKX0sdC5wdXNoKHthdHRyVG9Qcm9qZWN0b3I6ZSxhbmltYXRvcjp0aGlzLl9nZXRBbmltYXRvcihCVHQuQW5pbWF0b3IuUkVTRVQpfSl9cmV0dXJuIHQucHVzaCh7YXR0clRvUHJvamVjdG9yOnRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLGFuaW1hdG9yOnRoaXMuX2dldEFuaW1hdG9yKEJUdC5BbmltYXRvci5NQUlOKX0pLHR9LGUucHJvdG90eXBlLl9wcm9wZXJ0eVByb2plY3RvcnM9ZnVuY3Rpb24oKXt2YXIgZT10LnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzLmNhbGwodGhpcyksbj1IVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54KCkpLGk9SFR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKTtyZXR1cm4gZS54PW4sZS55PWksZS50cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIpe3JldHVybiJ0cmFuc2xhdGUoIituKHQsZSxyKSsiLCIraSh0LGUscikrIikifSxlLmQ9dGhpcy5fY29uc3RydWN0U3ltYm9sR2VuZXJhdG9yKCksZX0sZS5wcm90b3R5cGUuX2NvbnN0cnVjdFN5bWJvbEdlbmVyYXRvcj1mdW5jdGlvbigpe3ZhciB0PUhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnN5bWJvbCgpKSxlPUhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnNpemUoKSk7cmV0dXJuIGZ1bmN0aW9uKG4saSxyKXtyZXR1cm4gdChuLGkscikoZShuLGkscikpKG51bGwpfX0sZS5wcm90b3R5cGUuX2VudGl0eUJvdW5kcz1mdW5jdGlvbih0KXtyZXR1cm57eDp0LnBvc2l0aW9uLngtdC5kaWFtZXRlci8yLHk6dC5wb3NpdGlvbi55LXQuZGlhbWV0ZXIvMix3aWR0aDp0LmRpYW1ldGVyLGhlaWdodDp0LmRpYW1ldGVyfX0sZS5wcm90b3R5cGUuX2VudGl0eVZpc2libGVPblBsb3Q9ZnVuY3Rpb24odCxlKXt2YXIgbj17bWluOmUudG9wTGVmdC54LG1heDplLmJvdHRvbVJpZ2h0Lnh9LGk9e21pbjplLnRvcExlZnQueSxtYXg6ZS5ib3R0b21SaWdodC55fSxyPXRoaXMuX2VudGl0eUJvdW5kcyh0KTtyZXR1cm4gRFR0LkRPTS5pbnRlcnNlY3RzQkJveChuLGkscil9LGUucHJvdG90eXBlLmVudGl0aWVzQXQ9ZnVuY3Rpb24odCl7dmFyIGU9SFR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKSxuPUhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSksaT1IVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy5zaXplKCkpO3JldHVybiB0aGlzLmVudGl0aWVzKCkuZmlsdGVyKChmdW5jdGlvbihyKXt2YXIgbz1yLmRhdHVtLGE9ci5pbmRleCxzPXIuZGF0YXNldCxsPWUobyxhLHMpLGM9bihvLGEscyksdT1pKG8sYSxzKTtyZXR1cm4gbC11LzI8PXQueCYmdC54PD1sK3UvMiYmYy11LzI8PXQueSYmdC55PD1jK3UvMn0pKX0sZS5wcm90b3R5cGUubGFiZWxzRW5hYmxlZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9sYWJlbHNFbmFibGVkOih0aGlzLl9sYWJlbHNFbmFibGVkPXQsdGhpcy5fY2xlYXJBdHRyVG9Qcm9qZWN0b3JDYWNoZSgpLHRoaXMucmVuZGVyKCksdGhpcyl9LGUucHJvdG90eXBlLl9jcmVhdGVOb2Rlc0ZvckRhdGFzZXQ9ZnVuY3Rpb24obil7dmFyIGk9dC5wcm90b3R5cGUuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldC5jYWxsKHRoaXMsbikscj10aGlzLl9yZW5kZXJBcmVhLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5fTEFCRUxfQVJFQV9DTEFTUywhMCksbz1uZXcga1R0LlN2Z0NvbnRleHQoci5ub2RlKCkpLGE9bmV3IGtUdC5DYWNoZU1lYXN1cmVyKG8pLHM9bmV3IGtUdC5Xcml0ZXIoYSxvKTtyZXR1cm4gdGhpcy5fbGFiZWxDb25maWcuc2V0KG4se2xhYmVsQXJlYTpyLG1lYXN1cmVyOmEsd3JpdGVyOnN9KSxpfSxlLnByb3RvdHlwZS5fcmVtb3ZlRGF0YXNldE5vZGVzPWZ1bmN0aW9uKGUpe3QucHJvdG90eXBlLl9yZW1vdmVEYXRhc2V0Tm9kZXMuY2FsbCh0aGlzLGUpO3ZhciBuPXRoaXMuX2xhYmVsQ29uZmlnLmdldChlKTtudWxsIT1uJiYobi5sYWJlbEFyZWEucmVtb3ZlKCksdGhpcy5fbGFiZWxDb25maWcuZGVsZXRlKGUpKX0sZS5wcm90b3R5cGUuX2FkZGl0aW9uYWxQYWludD1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuZGF0YXNldHMoKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gZS5fbGFiZWxDb25maWcuZ2V0KHQpLmxhYmVsQXJlYS5zZWxlY3RBbGwoImciKS5yZW1vdmUoKX0pKSx0aGlzLl9sYWJlbHNFbmFibGVkJiZEVHQuV2luZG93LnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2RyYXdMYWJlbHMoKX0pLHQpfSxlLnByb3RvdHlwZS5fZHJhd0xhYmVscz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9nZXREYXRhVG9EcmF3KCksbj10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKTt0aGlzLmRhdGFzZXRzKCkuZm9yRWFjaCgoZnVuY3Rpb24oaSl7Zm9yKHZhciByPWUuZ2V0KGkpLG89ci5sZW5ndGgsYT0wO2E8bzthKyspe3ZhciBzPXJbYV07bnVsbCE9cyYmdC5fZHJhd0xhYmVsKHMsYSxpLG4pfX0pKX0sZS5wcm90b3R5cGUuX2RyYXdMYWJlbD1mdW5jdGlvbih0LGUsbixpKXtpZihudWxsIT10LmxhYmVsKXt2YXIgcj10aGlzLl9sYWJlbENvbmZpZy5nZXQobiksbz1yLmxhYmVsQXJlYSxhPXIubWVhc3VyZXIscz1yLndyaXRlcixsPXt4OmkueCh0LGUsbikseTppLnkodCxlLG4pfSxjPUhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnNpemUoKSkodCxlLG4pLHU9dGhpcy5fbGFiZWxGb3JtYXR0ZXIodC5sYWJlbCx0LGUsbiksaD1hLm1lYXN1cmUodSksZD10aGlzLl9jYWxjdWxhdGVMYWJlbFByb3BlcnRpZXMobCxjLGgpLHA9ZC5jb250YWluZXJEaW1lbnNpb25zLGY9ZC5hbGlnbm1lbnQsbT10aGlzLl9jcmVhdGVMYWJlbENvbnRhaW5lcihvLGQubGFiZWxDb250YWluZXJPcmlnaW4sZC5sYWJlbE9yaWdpbixoKTtzLndyaXRlKHUscC53aWR0aCxwLmhlaWdodCx7eEFsaWduOmYueCx5QWxpZ246Zi55fSxtLm5vZGUoKSl9fSxlLnByb3RvdHlwZS5fY2FsY3VsYXRlTGFiZWxQcm9wZXJ0aWVzPWZ1bmN0aW9uKHQsbixpKXtyZXR1cm57Y29udGFpbmVyRGltZW5zaW9uczp7d2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHR9LGxhYmVsQ29udGFpbmVyT3JpZ2luOnt4OnQueC1pLndpZHRoLzIseTp0LnktaS5oZWlnaHQvMisobjxpLmhlaWdodD9uLzIrZS5fTEFCRUxfTUFSR0lOX0ZST01fQlVCQkxFOjApfSxsYWJlbE9yaWdpbjp7eDp0LngseTp0Lnl9LGFsaWdubWVudDp7eDoiY2VudGVyIix5OiJjZW50ZXIifX19LGUucHJvdG90eXBlLl9jcmVhdGVMYWJlbENvbnRhaW5lcj1mdW5jdGlvbih0LGUsbixpKXt2YXIgcj10LmFwcGVuZCgiZyIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK2UueCsiLCAiK2UueSsiKSIpO3JldHVybiByLmNsYXNzZWQoIm9uLWJhci1sYWJlbCIsITApLHJ9LGUuX1NJWkVfS0VZPSJzaXplIixlLl9TWU1CT0xfS0VZPSJzeW1ib2wiLGUuX0xBQkVMX0FSRUFfQ0xBU1M9InNjYXR0ZXItbGFiZWwtdGV4dC1hcmVhIixlLl9MQUJFTF9NQVJHSU5fRlJPTV9CVUJCTEU9MTUsZX0pKG1FdC5YWVBsb3QpO0NUdC5TY2F0dGVyPUZUdDt2YXIgVlR0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShWVHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBVVHQ9Qk8salR0PWZndCxHVHQ9R1N0LFdUdD1KTXQscVR0PVh2dCxZVHQ9VHl0LFhUdD1zU3QsJFR0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBlLmFkZENsYXNzKCJzZWdtZW50LXBsb3QiKSxlLmF0dHIoInN0cm9rZSIsKG5ldyBxVHQuQ29sb3IpLnJhbmdlKClbMF0pLGUuYXR0cigic3Ryb2tlLXdpZHRoIiwiMnB4IiksZX1yZXR1cm4gVVR0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLl9jcmVhdGVEcmF3ZXI9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEdUdC5Qcm94eURyYXdlcigoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFdUdC5TZWdtZW50U1ZHRHJhd2VyfSksKGZ1bmN0aW9uKCl7cmV0dXJuIFlUdC53YXJuKCJjYW52YXMgcmVuZGVyZXIgaXMgbm90IHN1cHBvcnRlZCBvbiBTZWdtZW50IFBsb3QhIiksbnVsbH0pKX0sZS5wcm90b3R5cGUuX2dlbmVyYXRlRHJhd1N0ZXBzPWZ1bmN0aW9uKCl7cmV0dXJuW3thdHRyVG9Qcm9qZWN0b3I6dGhpcy5fZ2V0QXR0clRvUHJvamVjdG9yKCksYW5pbWF0b3I6bmV3IGpUdC5OdWxsfV19LGUucHJvdG90eXBlLl9maWx0ZXJGb3JQcm9wZXJ0eT1mdW5jdGlvbihlKXtyZXR1cm4gdC5wcm90b3R5cGUuX2ZpbHRlckZvclByb3BlcnR5LmNhbGwodGhpcywieDIiPT09ZT8ieCI6InkyIj09PWU/InkiOmUpfSxlLnByb3RvdHlwZS54PWZ1bmN0aW9uKG4saSl7aWYobnVsbD09bilyZXR1cm4gdC5wcm90b3R5cGUueC5jYWxsKHRoaXMpO2lmKG51bGw9PWkpdC5wcm90b3R5cGUueC5jYWxsKHRoaXMsbik7ZWxzZXt0LnByb3RvdHlwZS54LmNhbGwodGhpcyxuLGkpO3ZhciByPXRoaXMueDIoKSxvPXImJnIuYWNjZXNzb3I7bnVsbCE9byYmdGhpcy5fYmluZFByb3BlcnR5KGUuX1gyX0tFWSxvLGkpfXJldHVybiB0aGlzfSxlLnByb3RvdHlwZS54Mj1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChlLl9YMl9LRVkpO3ZhciBuPXRoaXMueCgpO3JldHVybiB0aGlzLl9iaW5kUHJvcGVydHkoZS5fWDJfS0VZLHQsbiYmbi5zY2FsZSksdGhpcy5yZW5kZXIoKSx0aGlzfSxlLnByb3RvdHlwZS55PWZ1bmN0aW9uKG4saSl7aWYobnVsbD09bilyZXR1cm4gdC5wcm90b3R5cGUueS5jYWxsKHRoaXMpO2lmKG51bGw9PWkpdC5wcm90b3R5cGUueS5jYWxsKHRoaXMsbik7ZWxzZXt0LnByb3RvdHlwZS55LmNhbGwodGhpcyxuLGkpO3ZhciByPXRoaXMueTIoKSxvPXImJnIuYWNjZXNzb3I7bnVsbCE9byYmdGhpcy5fYmluZFByb3BlcnR5KGUuX1kyX0tFWSxvLGkpfXJldHVybiB0aGlzfSxlLnByb3RvdHlwZS55Mj1mdW5jdGlvbih0KXtpZihudWxsPT10KXJldHVybiB0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChlLl9ZMl9LRVkpO3ZhciBuPXRoaXMueSgpO3JldHVybiB0aGlzLl9iaW5kUHJvcGVydHkoZS5fWTJfS0VZLHQsbiYmbi5zY2FsZSksdGhpcy5yZW5kZXIoKSx0aGlzfSxlLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIGU9dC5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycy5jYWxsKHRoaXMpO3JldHVybiBlLngxPVhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksZS54Mj1udWxsPT10aGlzLngyKCk/WFR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueCgpKTpYVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy54MigpKSxlLnkxPVhUdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLnkoKSksZS55Mj1udWxsPT10aGlzLnkyKCk/WFR0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMueSgpKTpYVHQuUGxvdC5fc2NhbGVkQWNjZXNzb3IodGhpcy55MigpKSxlfSxlLnByb3RvdHlwZS5lbnRpdGllc0F0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZW50aXR5TmVhcmVzdCh0KTtyZXR1cm4gbnVsbCE9ZT9bZV06W119LGUucHJvdG90eXBlLmVudGl0aWVzSW49ZnVuY3Rpb24odCxlKXt2YXIgbixpO2lmKG51bGw9PWUpe249e21pbjp0LnRvcExlZnQueCxtYXg6dC5ib3R0b21SaWdodC54fSxpPXttaW46dC50b3BMZWZ0LnksbWF4OnQuYm90dG9tUmlnaHQueX19ZWxzZSBuPXQsaT1lO3JldHVybiB0aGlzLl9lbnRpdGllc0ludGVyc2VjdGluZyhuLGkpfSxlLnByb3RvdHlwZS5fZW50aXRpZXNJbnRlcnNlY3Rpbmc9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49W10saT10aGlzLl9nZXRBdHRyVG9Qcm9qZWN0b3IoKSxyPXRoaXMuZW50aXRpZXMoKSxvPXIubGVuZ3RoLGE9MDthPG87YSsrKXt2YXIgcz1yW2FdO3RoaXMuX2xpbmVJbnRlcnNlY3RzQm94KHMsdCxlLGkpJiZuLnB1c2gocyl9cmV0dXJuIG59LGUucHJvdG90eXBlLl9saW5lSW50ZXJzZWN0c0JveD1mdW5jdGlvbih0LGUsbixpKXt2YXIgcj10aGlzLG89aS54MSh0LmRhdHVtLHQuaW5kZXgsdC5kYXRhc2V0KSxhPWkueDIodC5kYXR1bSx0LmluZGV4LHQuZGF0YXNldCkscz1pLnkxKHQuZGF0dW0sdC5pbmRleCx0LmRhdGFzZXQpLGw9aS55Mih0LmRhdHVtLHQuaW5kZXgsdC5kYXRhc2V0KTtpZihlLm1pbjw9byYmbzw9ZS5tYXgmJm4ubWluPD1zJiZzPD1uLm1heHx8ZS5taW48PWEmJmE8PWUubWF4JiZuLm1pbjw9bCYmbDw9bi5tYXgpcmV0dXJuITA7dmFyIGM9e3g6byx5OnN9LHU9e3g6YSx5Omx9LGg9W3t4OmUubWluLHk6bi5taW59LHt4OmUubWluLHk6bi5tYXh9LHt4OmUubWF4LHk6bi5tYXh9LHt4OmUubWF4LHk6bi5taW59XTtyZXR1cm4gaC5maWx0ZXIoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIDAhPT1lJiYoci5fbGluZUludGVyc2VjdHNTZWdtZW50KGMsdSx0LGhbZS0xXSkmJnIuX2xpbmVJbnRlcnNlY3RzU2VnbWVudCh0LGhbZS0xXSxjLHUpKX0pKS5sZW5ndGg+MH0sZS5wcm90b3R5cGUuX2xpbmVJbnRlcnNlY3RzU2VnbWVudD1mdW5jdGlvbih0LGUsbixpKXt2YXIgcj1mdW5jdGlvbih0LGUsbil7cmV0dXJuKGUueC10LngpKihuLnktZS55KS0oZS55LXQueSkqKG4ueC1lLngpfTtyZXR1cm4gcih0LGUsbikqcih0LGUsaSk8MH0sZS5fWDJfS0VZPSJ4MiIsZS5fWTJfS0VZPSJ5MiIsZX0pKG1FdC5YWVBsb3QpO1ZUdC5TZWdtZW50PSRUdDt2YXIgS1R0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShLVHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBaVHQ9Qk8sSlR0PXdwdCxRVHQ9Zmd0LHRDdD1jU3QsZUN0PURfdCxuQ3Q9c1N0LGlDdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gZS5fc3RhY2tpbmdSZXN1bHQ9dEN0Lm1lbVRodW5rKChmdW5jdGlvbigpe3JldHVybiBlLmRhdGFzZXRzKCl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZS54KCkuYWNjZXNzb3J9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZS55KCkuYWNjZXNzb3J9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZS5fc3RhY2tpbmdPcmRlcn0pLChmdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gZUN0LlN0YWNraW5nLnN0YWNrKHQsZSxuLGkpfSkpLGUuX3N0YWNrZWRFeHRlbnQ9dEN0Lm1lbVRodW5rKGUuX3N0YWNraW5nUmVzdWx0LChmdW5jdGlvbigpe3JldHVybiBlLngoKS5hY2Nlc3Nvcn0pLChmdW5jdGlvbigpe3JldHVybiBlLl9maWx0ZXJGb3JQcm9wZXJ0eSgieSIpfSksKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZUN0LlN0YWNraW5nLnN0YWNrZWRFeHRlbnQodCxlLG4pfSkpLGUuX2Jhc2VsaW5lVmFsdWU9MCxlLl9zdGFja2luZ09yZGVyPSJib3R0b211cCIsZS5hZGRDbGFzcygic3RhY2tlZC1hcmVhLXBsb3QiKSxlLl9iYXNlbGluZVZhbHVlUHJvdmlkZXI9ZnVuY3Rpb24oKXtyZXR1cm5bZS5fYmFzZWxpbmVWYWx1ZV19LGUuY3JvcHBlZFJlbmRlcmluZ0VuYWJsZWQoITEpLGV9cmV0dXJuIFpUdC5fX2V4dGVuZHMoZSx0KSxlLnByb3RvdHlwZS5jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT90LnByb3RvdHlwZS5jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZC5jYWxsKHRoaXMpOmU/KGVDdC5XaW5kb3cud2FybigiV2FybmluZzogU3RhY2tlZCBBcmVhIFBsb3QgZG9lcyBub3Qgc3VwcG9ydCBjcm9wcGVkIHJlbmRlcmluZy4iKSx0aGlzKTp0LnByb3RvdHlwZS5jcm9wcGVkUmVuZGVyaW5nRW5hYmxlZC5jYWxsKHRoaXMsZSl9LGUucHJvdG90eXBlLl9nZXRBbmltYXRvcj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IFFUdC5OdWxsfSxlLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKSx0aGlzLl9iYXNlbGluZT10aGlzLl9yZW5kZXJBcmVhLmFwcGVuZCgibGluZSIpLmNsYXNzZWQoImJhc2VsaW5lIiwhMCl9LGUucHJvdG90eXBlLng9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gbnVsbD09ZT90LnByb3RvdHlwZS54LmNhbGwodGhpcyk6KG51bGw9PW4/dC5wcm90b3R5cGUueC5jYWxsKHRoaXMsZSk6dC5wcm90b3R5cGUueC5jYWxsKHRoaXMsZSxuKSx0aGlzLl9jaGVja1NhbWVEb21haW4oKSx0aGlzKX0sZS5wcm90b3R5cGUueT1mdW5jdGlvbihlLG4pe3JldHVybiBudWxsPT1lP3QucHJvdG90eXBlLnkuY2FsbCh0aGlzKToobnVsbD09bj90LnByb3RvdHlwZS55LmNhbGwodGhpcyxlKTp0LnByb3RvdHlwZS55LmNhbGwodGhpcyxlLG4pLHRoaXMuX2NoZWNrU2FtZURvbWFpbigpLHRoaXMpfSxlLnByb3RvdHlwZS55T2Zmc2V0PWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fc3RhY2tpbmdSZXN1bHQoKTtpZihudWxsIT1uKXt2YXIgaT1uLmdldCh0KTtpZihudWxsIT1pKXt2YXIgcj1pLmdldChTdHJpbmcoZSkpO2lmKG51bGwhPXIpcmV0dXJuIHIub2Zmc2V0fX19LGUucHJvdG90eXBlLnN0YWNraW5nT3JkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fc3RhY2tpbmdPcmRlcjoodGhpcy5fc3RhY2tpbmdPcmRlcj10LHRoaXMuX29uRGF0YXNldFVwZGF0ZSgpLHRoaXMpfSxlLnByb3RvdHlwZS5kb3duc2FtcGxpbmdFbmFibGVkPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP3QucHJvdG90eXBlLmRvd25zYW1wbGluZ0VuYWJsZWQuY2FsbCh0aGlzKTooZUN0LldpbmRvdy53YXJuKCJXYXJuaW5nOiBTdGFja2VkIEFyZWEgUGxvdCBkb2VzIG5vdCBzdXBwb3J0IGRvd25zYW1wbGluZyIpLHRoaXMpfSxlLnByb3RvdHlwZS5fYWRkaXRpb25hbFBhaW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy55KCkuc2NhbGUuc2NhbGUodGhpcy5fYmFzZWxpbmVWYWx1ZSksZT17eDE6MCx5MTp0LHgyOnRoaXMud2lkdGgoKSx5Mjp0fTt0aGlzLl9nZXRBbmltYXRvcigiYmFzZWxpbmUiKS5hbmltYXRlKHRoaXMuX2Jhc2VsaW5lLGUpfSxlLnByb3RvdHlwZS5fdXBkYXRlWVNjYWxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy55KCksZT10JiZ0LnNjYWxlO251bGwhPWUmJihlLmFkZFBhZGRpbmdFeGNlcHRpb25zUHJvdmlkZXIodGhpcy5fYmFzZWxpbmVWYWx1ZVByb3ZpZGVyKSxlLmFkZEluY2x1ZGVkVmFsdWVzUHJvdmlkZXIodGhpcy5fYmFzZWxpbmVWYWx1ZVByb3ZpZGVyKSl9LGUucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2hlY2tTYW1lRG9tYWluKCksdC5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZS5jYWxsKHRoaXMpLHRoaXN9LGUucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbihlKXtyZXR1cm4ieSI9PT1lP1t0aGlzLl9zdGFja2VkRXh0ZW50KCldOnQucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eS5jYWxsKHRoaXMsZSl9LGUucHJvdG90eXBlLl9jaGVja1NhbWVEb21haW49ZnVuY3Rpb24oKXtpZih0aGlzLl9wcm9qZWN0b3JzUmVhZHkoKSl7dmFyIHQ9dGhpcy5kYXRhc2V0cygpLG49dGhpcy54KCkuYWNjZXNzb3IsaT10Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIEpUdC5zZXQodC5kYXRhKCkubWFwKChmdW5jdGlvbihlLGkpe3JldHVybiBlQ3QuU3RhY2tpbmcubm9ybWFsaXplS2V5KG4oZSxpLHQpKX0pKSkudmFsdWVzKCl9KSkscj1lLl9kb21haW5LZXlzKHQsbik7aS5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gdC5sZW5ndGghPT1yLmxlbmd0aH0pKSYmZUN0LldpbmRvdy53YXJuKCJ0aGUgZG9tYWlucyBhY3Jvc3MgdGhlIGRhdGFzZXRzIGFyZSBub3QgdGhlIHNhbWUuIFBsb3QgbWF5IHByb2R1Y2UgdW5pbnRlbmRlZCBiZWhhdmlvci4iKX19LGUuX2RvbWFpbktleXM9ZnVuY3Rpb24odCxlKXt2YXIgbj1KVHQuc2V0KCk7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7Zm9yKHZhciBpPXQuZGF0YSgpLHI9aS5sZW5ndGgsbz0wO288cjtvKyspe24uYWRkKGUoaVtvXSxvLHQpKX19KSksbi52YWx1ZXMoKX0sZS5wcm90b3R5cGUuX2Nvb3JkaW5hdGVQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPW5DdC5QbG90Ll9zY2FsZWRBY2Nlc3Nvcih0aGlzLngoKSksbj10aGlzLnkoKS5hY2Nlc3NvcixpPXRoaXMueCgpLmFjY2Vzc29yLHI9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlQ3QuU3RhY2tpbmcubm9ybWFsaXplS2V5KGkodCxlLG4pKX0sbz10aGlzLl9zdGFja2luZ1Jlc3VsdCgpO3JldHVybltlLGZ1bmN0aW9uKGUsaSxhKXt2YXIgcz0rbihlLGksYSksbD1vLmdldChhKS5nZXQocihlLGksYSkpLm9mZnNldDtyZXR1cm4gdC55KCkuc2NhbGUuc2NhbGUocytsKX0sZnVuY3Rpb24oZSxuLGkpe3ZhciBhPW8uZ2V0KGkpLmdldChyKGUsbixpKSkub2Zmc2V0O3JldHVybiB0LnkoKS5zY2FsZS5zY2FsZShhKX1dfSxlLnByb3RvdHlwZS5fcHJvcGVydHlQcm9qZWN0b3JzPWZ1bmN0aW9uKCl7dmFyIGU9dC5wcm90b3R5cGUuX3Byb3BlcnR5UHJvamVjdG9ycy5jYWxsKHRoaXMpLG49dGhpcy5fY29vcmRpbmF0ZVByb2plY3RvcnMoKTtyZXR1cm4gZS5kPXRoaXMuX2NvbnN0cnVjdEFyZWFQcm9qZWN0b3IoblswXSxuWzFdLG5bMl0pLGV9LGUucHJvdG90eXBlLl9waXhlbFBvaW50PWZ1bmN0aW9uKGUsbixpKXt2YXIgcj10LnByb3RvdHlwZS5fcGl4ZWxQb2ludC5jYWxsKHRoaXMsZSxuLGkpLG89dGhpcy54KCkuYWNjZXNzb3IoZSxuLGkpLGE9dGhpcy55KCkuYWNjZXNzb3IoZSxuLGkpLHM9dGhpcy55KCkuc2NhbGUuc2NhbGUoK2ErdGhpcy5fc3RhY2tpbmdSZXN1bHQoKS5nZXQoaSkuZ2V0KGVDdC5TdGFja2luZy5ub3JtYWxpemVLZXkobykpLm9mZnNldCk7cmV0dXJue3g6ci54LHk6c319LGV9KShwRXQuQXJlYSk7S1R0LlN0YWNrZWRBcmVhPWlDdDt2YXIgckN0PXt9OwovKioKICAgICAqIENvcHlyaWdodCAyMDE0LXByZXNlbnQgUGFsYW50aXIgVGVjaG5vbG9naWVzCiAgICAgKiBAbGljZW5zZSBNSVQKICAgICAqL09iamVjdC5kZWZpbmVQcm9wZXJ0eShyQ3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBvQ3Q9Qk8sYUN0PUxndCxzQ3Q9cHZ0LGxDdD1jU3QsY0N0PURfdCx1Q3Q9WUV0LGhDdD1zU3QsZEN0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUpe3ZvaWQgMD09PWUmJihlPSJ2ZXJ0aWNhbCIpO3ZhciBuPXQuY2FsbCh0aGlzLGUpfHx0aGlzO3JldHVybiBuLl9leHRyZW1hRm9ybWF0dGVyPXNDdC5pZGVudGl0eSgpLG4uX3N0YWNraW5nUmVzdWx0PWxDdC5tZW1UaHVuaygoZnVuY3Rpb24oKXtyZXR1cm4gbi5kYXRhc2V0cygpfSksKGZ1bmN0aW9uKCl7cmV0dXJuIG4ucG9zaXRpb24oKS5hY2Nlc3Nvcn0pLChmdW5jdGlvbigpe3JldHVybiBuLmxlbmd0aCgpLmFjY2Vzc29yfSksKGZ1bmN0aW9uKCl7cmV0dXJuIG4uX3N0YWNraW5nT3JkZXJ9KSwoZnVuY3Rpb24odCxlLG4saSl7cmV0dXJuIGNDdC5TdGFja2luZy5zdGFjayh0LGUsbixpKX0pKSxuLl9zdGFja2VkRXh0ZW50PWxDdC5tZW1UaHVuayhuLl9zdGFja2luZ1Jlc3VsdCwoZnVuY3Rpb24oKXtyZXR1cm4gbi5wb3NpdGlvbigpLmFjY2Vzc29yfSksKGZ1bmN0aW9uKCl7cmV0dXJuIG4uX2ZpbHRlckZvclByb3BlcnR5KG4uX2lzVmVydGljYWw/InkiOiJ4Iil9KSwoZnVuY3Rpb24odCxlLG4pe3JldHVybiBjQ3QuU3RhY2tpbmcuc3RhY2tlZEV4dGVudCh0LGUsbil9KSksbi5hZGRDbGFzcygic3RhY2tlZC1iYXItcGxvdCIpLG4uX3N0YWNraW5nT3JkZXI9ImJvdHRvbXVwIixufXJldHVybiBvQ3QuX19leHRlbmRzKGUsdCksZS5wcm90b3R5cGUuc3RhY2tpbmdPcmRlcj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9zdGFja2luZ09yZGVyOih0aGlzLl9zdGFja2luZ09yZGVyPXQsdGhpcy5fb25EYXRhc2V0VXBkYXRlKCksdGhpcyl9LGUucHJvdG90eXBlLmV4dHJlbWFGb3JtYXR0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMuX2V4dHJlbWFGb3JtYXR0ZXI6KHRoaXMuX2V4dHJlbWFGb3JtYXR0ZXI9dCx0aGlzLnJlbmRlcigpLHRoaXMpfSxlLnByb3RvdHlwZS5fc2V0dXA9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5fc2V0dXAuY2FsbCh0aGlzKSx0aGlzLl9sYWJlbEFyZWE9dGhpcy5fcmVuZGVyQXJlYS5hcHBlbmQoImciKS5jbGFzc2VkKHVDdC5CYXIuX0xBQkVMX0FSRUFfQ0xBU1MsITApO3ZhciBlPW5ldyBhQ3QuU3ZnQ29udGV4dCh0aGlzLl9sYWJlbEFyZWEubm9kZSgpKTt0aGlzLl9tZWFzdXJlcj1uZXcgYUN0LkNhY2hlTWVhc3VyZXIoZSksdGhpcy5fd3JpdGVyPW5ldyBhQ3QuV3JpdGVyKHRoaXMuX21lYXN1cmVyLGUpfSxlLnByb3RvdHlwZS5fZHJhd0xhYmVscz1mdW5jdGlvbigpe3ZhciBuPXRoaXM7dC5wcm90b3R5cGUuX2RyYXdMYWJlbHMuY2FsbCh0aGlzKSx0aGlzLl9sYWJlbEFyZWEuc2VsZWN0QWxsKCJnIikucmVtb3ZlKCk7dmFyIGk9K3RoaXMuYmFzZWxpbmVWYWx1ZSgpLHI9dGhpcy5wb3NpdGlvbigpLnNjYWxlLG89dGhpcy5sZW5ndGgoKS5zY2FsZSxhPWNDdC5TdGFja2luZy5zdGFja2VkRXh0ZW50cyh0aGlzLl9zdGFja2luZ1Jlc3VsdCgpKSxzPWEubWluaW11bUV4dGVudHMsbD1bXSxjPWZ1bmN0aW9uKHQsZSl7dmFyIGE9bi5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3IoKSxzPW4ud2lkdGgoKSxjPW4uaGVpZ2h0KCk7dC5mb3JFYWNoKChmdW5jdGlvbih0KXtpZih0LmV4dGVudCE9PWkpe3ZhciB1PW4uZXh0cmVtYUZvcm1hdHRlcigpKHQuZXh0ZW50KSxoPW4uX21lYXN1cmVyLm1lYXN1cmUodSksZD10LnN0YWNrZWREYXR1bSxwPWQub3JpZ2luYWxEYXR1bSxmPWQub3JpZ2luYWxJbmRleCxtPWQub3JpZ2luYWxEYXRhc2V0O2lmKCFuLl9pc0RhdHVtT25TY3JlZW4oYSxzLGMscCxmLG0pKXJldHVybjt2YXIgZz1oQ3QuUGxvdC5fc2NhbGVkQWNjZXNzb3Iobi5hdHRyKHVDdC5CYXIuX0JBUl9USElDS05FU1NfS0VZKSkocCxmLG0pLF89by5zY2FsZSh0LmV4dGVudCkseT1uLl9nZXRQb3NpdGlvbkF0dHIoci5zY2FsZSh0LmF4aXNWYWx1ZSksZykrZy8yLHY9ZShuLl9pc1ZlcnRpY2FsP3t4OnkseTpffTp7eDpfLHk6eX0saCxnKSxiPShmdW5jdGlvbih0LGUsaSl7dmFyIHI9ZS50b3BMZWZ0LG89ci54LGE9ci55LHM9ZS5ib3R0b21SaWdodC54LWUudG9wTGVmdC54LGw9ZS5ib3R0b21SaWdodC55LWUudG9wTGVmdC55LGM9bi5faXNWZXJ0aWNhbD9zPmk6bD5pO2lmKCFjKXt2YXIgdT1uLl9sYWJlbEFyZWEuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrbysiLCAiK2ErIikiKTt1LmNsYXNzZWQoInN0YWNrZWQtYmFyLWxhYmVsIiwhMCksbi5fd3JpdGVyLndyaXRlKHQscyxsLHt4QWxpZ246ImNlbnRlciIseUFsaWduOiJjZW50ZXIifSx1Lm5vZGUoKSl9cmV0dXJuIGN9KSh1LHt0b3BMZWZ0OnYsYm90dG9tUmlnaHQ6e3g6di54K2gud2lkdGgseTp2LnkraC5oZWlnaHR9fSxnKTtsLnB1c2goYil9fSkpfTtjKGEubWF4aW11bUV4dGVudHMsKGZ1bmN0aW9uKHQsaSxyKXt2YXIgbz1uLl9pc1ZlcnRpY2FsP2kud2lkdGg6aS5oZWlnaHQ7cmV0dXJue3g6bi5faXNWZXJ0aWNhbD90Lngtby8yOnQueCtlLl9FWFRSRU1BX0xBQkVMX01BUkdJTl9GUk9NX0JBUix5Om4uX2lzVmVydGljYWw/dC55LShuLl9pc1ZlcnRpY2FsP2kuaGVpZ2h0Omkud2lkdGgpOnQueS1vLzJ9fSkpLGMocywoZnVuY3Rpb24odCxpLHIpe3ZhciBvPW4uX2lzVmVydGljYWw/aS53aWR0aDppLmhlaWdodDtyZXR1cm57eDpuLl9pc1ZlcnRpY2FsP3QueC1vLzI6dC54LShuLl9pc1ZlcnRpY2FsP2kuaGVpZ2h0Omkud2lkdGgpLHk6bi5faXNWZXJ0aWNhbD90LnkrZS5fRVhUUkVNQV9MQUJFTF9NQVJHSU5fRlJPTV9CQVI6dC55LW8vMn19KSksbC5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKSYmdGhpcy5fbGFiZWxBcmVhLnNlbGVjdEFsbCgiZyIpLnJlbW92ZSgpfSxlLnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3I9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLG49dC5wcm90b3R5cGUuX2dlbmVyYXRlQXR0clRvUHJvamVjdG9yLmNhbGwodGhpcyksaT10aGlzLl9pc1ZlcnRpY2FsPyJ5IjoieCIscj10aGlzLmxlbmd0aCgpLnNjYWxlLG89dGhpcy5sZW5ndGgoKS5hY2Nlc3NvcixhPXRoaXMucG9zaXRpb24oKS5hY2Nlc3NvcixzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gY0N0LlN0YWNraW5nLm5vcm1hbGl6ZUtleShhKHQsZSxuKSl9LGw9dGhpcy5fc3RhY2tpbmdSZXN1bHQoKSxjPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gci5zY2FsZShsLmdldChuKS5nZXQocyh0LGUsbikpLm9mZnNldCl9LHU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiByLnNjYWxlKCtvKHQsZSxuKStsLmdldChuKS5nZXQocyh0LGUsbikpLm9mZnNldCl9LGg9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBNYXRoLmFicyh1KHQsZSxuKS1jKHQsZSxuKSl9O25bdGhpcy5faXNWZXJ0aWNhbD8iaGVpZ2h0Ijoid2lkdGgiXT1oO3ZhciBkPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4rbyh0LGUsbik8MD9jKHQsZSxuKTp1KHQsZSxuKX07cmV0dXJuIG5baV09ZnVuY3Rpb24odCxuLGkpe3JldHVybiBlLl9pc1ZlcnRpY2FsP2QodCxuLGkpOmQodCxuLGkpLWgodCxuLGkpfSxufSxlLnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHk9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT0odGhpcy5faXNWZXJ0aWNhbD8ieSI6IngiKT9bdGhpcy5fc3RhY2tlZEV4dGVudCgpXTp0LnByb3RvdHlwZS5nZXRFeHRlbnRzRm9yUHJvcGVydHkuY2FsbCh0aGlzLGUpfSxlLnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGU9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5pbnZhbGlkYXRlQ2FjaGUuY2FsbCh0aGlzKSx0aGlzLl9tZWFzdXJlci5yZXNldCgpfSxlLl9FWFRSRU1BX0xBQkVMX01BUkdJTl9GUk9NX0JBUj01LGV9KSh1Q3QuQmFyKTtyQ3QuU3RhY2tlZEJhcj1kQ3Q7dmFyIHBDdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9PYmplY3QuZGVmaW5lUHJvcGVydHkocEN0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgZkN0PUJPLG1DdD1EX3QsZ0N0PXNTdCxfQ3Q9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGUuX2Nvbm5lY3RvcnNFbmFibGVkPSExLGUuYWRkQ2xhc3MoIndhdGVyZmFsbC1wbG90IiksZX1yZXR1cm4gZkN0Ll9fZXh0ZW5kcyhlLHQpLGUucHJvdG90eXBlLmNvbm5lY3RvcnNFbmFibGVkPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3RoaXMuX2Nvbm5lY3RvcnNFbmFibGVkOih0aGlzLl9jb25uZWN0b3JzRW5hYmxlZD10LHRoaXMpfSxlLnByb3RvdHlwZS50b3RhbD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD90aGlzLl9wcm9wZXJ0eUJpbmRpbmdzLmdldChlLl9UT1RBTF9LRVkpOih0aGlzLl9iaW5kUHJvcGVydHkoZS5fVE9UQUxfS0VZLHQsbnVsbCksdGhpcyl9LGUucHJvdG90eXBlLl9hZGRpdGlvbmFsUGFpbnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt0aGlzLl9jb25uZWN0b3JBcmVhLnNlbGVjdEFsbCgibGluZSIpLnJlbW92ZSgpLHRoaXMuX2Nvbm5lY3RvcnNFbmFibGVkJiZtQ3QuV2luZG93LnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuX2RyYXdDb25uZWN0b3JzKCl9KSx0KX0sZS5wcm90b3R5cGUuX2NyZWF0ZU5vZGVzRm9yRGF0YXNldD1mdW5jdGlvbihuKXt2YXIgaT10LnByb3RvdHlwZS5fY3JlYXRlTm9kZXNGb3JEYXRhc2V0LmNhbGwodGhpcyxuKTtyZXR1cm4gdGhpcy5fY29ubmVjdG9yQXJlYT10aGlzLl9yZW5kZXJBcmVhLmFwcGVuZCgiZyIpLmNsYXNzZWQoZS5fQ09OTkVDVE9SX0FSRUFfQ0xBU1MsITApLGl9LGUucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eT1mdW5jdGlvbihlKXtyZXR1cm4ieSI9PT1lP1t0aGlzLl9leHRlbnRdOnQucHJvdG90eXBlLmdldEV4dGVudHNGb3JQcm9wZXJ0eS5jYWxsKHRoaXMsZSl9LGUucHJvdG90eXBlLl9nZW5lcmF0ZUF0dHJUb1Byb2plY3Rvcj1mdW5jdGlvbigpe3ZhciBuPXRoaXMsaT10LnByb3RvdHlwZS5fZ2VuZXJhdGVBdHRyVG9Qcm9qZWN0b3IuY2FsbCh0aGlzKSxyPXRoaXMueSgpLnNjYWxlLG89Z0N0LlBsb3QuX3NjYWxlZEFjY2Vzc29yKHRoaXMudG90YWwoKSk7cmV0dXJuIG51bGw9PXRoaXMuYXR0cigieSIpJiYoaS55PWZ1bmN0aW9uKHQsZSxpKXt2YXIgYT1uLnkoKS5hY2Nlc3Nvcih0LGUsaSk7aWYobyh0LGUsaSkpcmV0dXJuIE1hdGgubWluKHIuc2NhbGUoYSksci5zY2FsZSgwKSk7dmFyIHM9bi5fc3VidG90YWxzW2VdO2lmKDA9PT1lKXJldHVybiByLnNjYWxlKGE8MD9zLWE6cyk7dmFyIGw9bi5fc3VidG90YWxzW2UtMV07cmV0dXJuIHIuc2NhbGUocz5sP3M6bCl9KSxudWxsPT10aGlzLmF0dHIoImhlaWdodCIpJiYoaS5oZWlnaHQ9ZnVuY3Rpb24odCxlLGkpe3ZhciBhPW8odCxlLGkpLHM9bi55KCkuYWNjZXNzb3IodCxlLGkpO2lmKGEpcmV0dXJuIE1hdGguYWJzKHIuc2NhbGUocyktci5zY2FsZSgwKSk7dmFyIGw9bi5fc3VidG90YWxzW2VdO2lmKDA9PT1lKXJldHVybiBNYXRoLmFicyhyLnNjYWxlKGwpLXIuc2NhbGUobC1zKSk7dmFyIGM9bi5fc3VidG90YWxzW2UtMV07cmV0dXJuIE1hdGguYWJzKHIuc2NhbGUobCktci5zY2FsZShjKSl9KSxpLmNsYXNzPWZ1bmN0aW9uKHQsaSxyKXt2YXIgYT0iIjtyZXR1cm4gbnVsbCE9bi5hdHRyKCJjbGFzcyIpJiYoYT1uLmF0dHIoImNsYXNzIikuYWNjZXNzb3IodCxpLHIpKyIgIiksbyh0LGkscik/YStlLl9CQVJfVE9UQUxfQ0xBU1M6YSsobi55KCkuYWNjZXNzb3IodCxpLHIpPjA/ZS5fQkFSX0dST1dUSF9DTEFTUzplLl9CQVJfREVDTElORV9DTEFTUyl9LGl9LGUucHJvdG90eXBlLl9vbkRhdGFzZXRVcGRhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdXBkYXRlU3VidG90YWxzKCksdC5wcm90b3R5cGUuX29uRGF0YXNldFVwZGF0ZS5jYWxsKHRoaXMpLHRoaXN9LGUucHJvdG90eXBlLl9jYWxjdWxhdGVTdWJ0b3RhbHNBbmRFeHRlbnQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPU51bWJlci5NQVhfVkFMVUUsbj1OdW1iZXIuTUlOX1ZBTFVFLGk9MCxyPSExLG89dC5kYXRhKCksYT1vLmxlbmd0aCxzPTA7czxhO3MrKyl7dmFyIGw9b1tzXSxjPXRoaXMueSgpLmFjY2Vzc29yKGwscyx0KSx1PXRoaXMudG90YWwoKS5hY2Nlc3NvcihsLHMsdCk7aWYodSYmMCE9PXN8fChpKz1jKSx0aGlzLl9zdWJ0b3RhbHMucHVzaChpKSxpPGUmJihlPWkpLGk+biYmKG49aSksdSYmKGM8ZSYmKGU9YyksYz5uJiYobj1jKSksIXImJnUpe2Zvcih2YXIgaD1jLWksZD0wO2Q8dGhpcy5fc3VidG90YWxzLmxlbmd0aDtkKyspdGhpcy5fc3VidG90YWxzW2RdKz1oO3I9ITAsaSs9aCxlKz1oLG4rPWh9fXRoaXMuX2V4dGVudD1bZSxuXX0sZS5wcm90b3R5cGUuX2RyYXdDb25uZWN0b3JzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuX2dldEF0dHJUb1Byb2plY3RvcigpLG49dGhpcy5kYXRhc2V0cygpWzBdLGk9MTtpPG4uZGF0YSgpLmxlbmd0aDtpKyspe3ZhciByPWktMSxvPW4uZGF0YSgpW2ldLGE9bi5kYXRhKClbcl0scz10LngoYSxyLG4pLGw9dC54KG8saSxuKSt0LndpZHRoKG8saSxuKSxjPXQueShvLGksbik7KHRoaXMuX3N1YnRvdGFsc1tpXT4wJiZ0aGlzLl9zdWJ0b3RhbHNbaV0+dGhpcy5fc3VidG90YWxzW3JdfHx0aGlzLl9zdWJ0b3RhbHNbaV08MCYmdGhpcy5fc3VidG90YWxzW2ldPj10aGlzLl9zdWJ0b3RhbHNbcl0pJiYoYz10LnkobyxpLG4pK3QuaGVpZ2h0KG8saSxuKSksdGhpcy5fY29ubmVjdG9yQXJlYS5hcHBlbmQoImxpbmUiKS5jbGFzc2VkKGUuX0NPTk5FQ1RPUl9DTEFTUywhMCkuYXR0cigieDEiLHMpLmF0dHIoIngyIixsKS5hdHRyKCJ5MSIsYykuYXR0cigieTIiLGMpfX0sZS5wcm90b3R5cGUuX3VwZGF0ZVN1YnRvdGFscz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZGF0YXNldHMoKTtpZih0Lmxlbmd0aD4wKXt2YXIgZT10W3QubGVuZ3RoLTFdO3RoaXMuX3N1YnRvdGFscz1uZXcgQXJyYXksdGhpcy5fY2FsY3VsYXRlU3VidG90YWxzQW5kRXh0ZW50KGUpfX0sZS5fQkFSX0RFQ0xJTkVfQ0xBU1M9IndhdGVyZmFsbC1kZWNsaW5lIixlLl9CQVJfR1JPV1RIX0NMQVNTPSJ3YXRlcmZhbGwtZ3Jvd3RoIixlLl9CQVJfVE9UQUxfQ0xBU1M9IndhdGVyZmFsbC10b3RhbCIsZS5fQ09OTkVDVE9SX0NMQVNTPSJjb25uZWN0b3IiLGUuX0NPTk5FQ1RPUl9BUkVBX0NMQVNTPSJjb25uZWN0b3ItYXJlYSIsZS5fVE9UQUxfS0VZPSJ0b3RhbCIsZX0pKFlFdC5CYXIpO3BDdC5XYXRlcmZhbGw9X0N0LChmdW5jdGlvbih0KXsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi8KT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlPUJPO2UuX19leHBvcnRTdGFyKHBFdCx0KSxlLl9fZXhwb3J0U3RhcihZRXQsdCksZS5fX2V4cG9ydFN0YXIobFN0LHQpLGUuX19leHBvcnRTdGFyKFhFdCx0KSxlLl9fZXhwb3J0U3RhcihmRXQsdCksZS5fX2V4cG9ydFN0YXIoZVR0LHQpLGUuX19leHBvcnRTdGFyKG1UdCx0KSxlLl9fZXhwb3J0U3RhcihDVHQsdCksZS5fX2V4cG9ydFN0YXIoVlR0LHQpLGUuX19leHBvcnRTdGFyKEtUdCx0KSxlLl9fZXhwb3J0U3RhcihyQ3QsdCksZS5fX2V4cG9ydFN0YXIocEN0LHQpfSkoZEV0KTt2YXIgeUN0LHZDdD17fTsKLyoqCiAgICAgKiBDb3B5cmlnaHQgMjAxNC1wcmVzZW50IFBhbGFudGlyIFRlY2hub2xvZ2llcwogICAgICogQGxpY2Vuc2UgTUlUCiAgICAgKi9mdW5jdGlvbiBiQ3QodCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5sb2FkS2V5PSIiLHRoaXMuZGF0YVRvTG9hZD1bXSx0aGlzLmdldERhdGFMb2FkTmFtZT10PT5TdHJpbmcodCksdGhpcy5kYXRhTG9hZGluZz0hMSx0aGlzLmRhdGFMb2FkZWRBdExlYXN0T25jZT0hMSx0aGlzLl9pc0Nvbm5lY3RlZD0hMSx0aGlzLl9kYXRhTG9hZFN0YXRlPW5ldyBNYXAsdGhpcy5fY2FuY2VsbGVyPW5ldyB4Tyx0aGlzLl9sb2FkRGF0YUFzeW5jPW51bGwsdGhpcy5fbG9hZERhdGE9Q2UuZXhwb3J0cy50aHJvdHRsZSh0aGlzLl9sb2FkRGF0YUltcGwsMTAwLHtsZWFkaW5nOiEwLHRyYWlsaW5nOiEwfSl9Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuX2lzQ29ubmVjdGVkPSEwfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl9pc0Nvbm5lY3RlZD0hMX1zdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57YWN0aXZlOnt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9sb2FkRGF0YUlmQWN0aXZlIn0sX2lzQ29ubmVjdGVkOnt0eXBlOkJvb2xlYW59LGxvYWRLZXk6e3R5cGU6U3RyaW5nfSxkYXRhVG9Mb2FkOnt0eXBlOkFycmF5fSxnZXREYXRhTG9hZE5hbWU6e3R5cGU6T2JqZWN0fSxsb2FkRGF0YUNhbGxiYWNrOnt0eXBlOk9iamVjdH0scmVxdWVzdERhdGE6e3R5cGU6T2JqZWN0fX19c3RhdGljIGdldCBvYnNlcnZlcnMoKXtyZXR1cm5bIl9kYXRhVG9Mb2FkQ2hhbmdlZChfaXNDb25uZWN0ZWQsIGRhdGFUb0xvYWQuKikiXX1vbkxvYWRGaW5pc2goKXt9cmVsb2FkKCl7dGhpcy5fZGF0YUxvYWRTdGF0ZS5jbGVhcigpLHRoaXMuX2xvYWREYXRhKCl9cmVzZXQoKXtudWxsIT10aGlzLl9sb2FkRGF0YUFzeW5jJiYoY2xlYXJUaW1lb3V0KHRoaXMuX2xvYWREYXRhQXN5bmMpLHRoaXMuX2xvYWREYXRhQXN5bmM9bnVsbCksdGhpcy5fY2FuY2VsbGVyJiZ0aGlzLl9jYW5jZWxsZXIuY2FuY2VsQWxsKCksdGhpcy5fZGF0YUxvYWRTdGF0ZSYmdGhpcy5fZGF0YUxvYWRTdGF0ZS5jbGVhcigpLHRoaXMuX2lzQ29ubmVjdGVkJiZ0aGlzLl9sb2FkRGF0YSgpfV9kYXRhVG9Mb2FkQ2hhbmdlZCgpe3RoaXMuX2lzQ29ubmVjdGVkJiZ0aGlzLl9sb2FkRGF0YSgpfWRldGFjaGVkKCl7bnVsbCE9dGhpcy5fbG9hZERhdGFBc3luYyYmKGNsZWFyVGltZW91dCh0aGlzLl9sb2FkRGF0YUFzeW5jKSx0aGlzLl9sb2FkRGF0YUFzeW5jPW51bGwpfV9sb2FkRGF0YUlmQWN0aXZlKCl7dGhpcy5hY3RpdmUmJnRoaXMuX2xvYWREYXRhKCl9X2xvYWREYXRhSW1wbCgpe3RoaXMuYWN0aXZlJiYobnVsbCE9PXRoaXMuX2xvYWREYXRhQXN5bmMmJmNsZWFyVGltZW91dCh0aGlzLl9sb2FkRGF0YUFzeW5jKSx0aGlzLl9sb2FkRGF0YUFzeW5jPXNldFRpbWVvdXQodGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKCh0PT57aWYodC5jYW5jZWxsZWQpcmV0dXJuO3RoaXMuZGF0YUxvYWRpbmc9ITA7Y29uc3QgZT10aGlzLmRhdGFUb0xvYWQuZmlsdGVyKCh0PT57Y29uc3QgZT10aGlzLmdldERhdGFMb2FkTmFtZSh0KTtyZXR1cm4hdGhpcy5fZGF0YUxvYWRTdGF0ZS5oYXMoZSl9KSk7Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3QgZT10aGlzLmdldERhdGFMb2FkTmFtZSh0KTt0aGlzLl9kYXRhTG9hZFN0YXRlLnNldChlLHlDdC5MT0FESU5HKX1jb25zdCBuPXRoaXMuX2NhbmNlbGxlci5jYW5jZWxsYWJsZSgodD0+e2lmKHQuY2FuY2VsbGVkKXJldHVybjtjb25zdHtpdGVtOmUsZGF0YTpufT10LnZhbHVlLGk9dGhpcy5nZXREYXRhTG9hZE5hbWUoZSk7dGhpcy5fZGF0YUxvYWRTdGF0ZS5zZXQoaSx5Q3QuTE9BREVEKSx0aGlzLmxvYWREYXRhQ2FsbGJhY2sodGhpcyxlLG4pfSkpLGk9dGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKCh0PT57aWYoIXQuY2FuY2VsbGVkKXtjb25zdCB0PW5ldyBTZXQoZS5tYXAoKHQ9PnRoaXMuZ2V0RGF0YUxvYWROYW1lKHQpKSkpO3RoaXMuZGF0YVRvTG9hZC5zb21lKChlPT50Lmhhcyh0aGlzLmdldERhdGFMb2FkTmFtZShlKSkpKSYmdGhpcy5vbkxvYWRGaW5pc2goKSx0aGlzLl9sb2FkRGF0YUFzeW5jPW51bGwsdGhpcy5kYXRhTG9hZGVkQXRMZWFzdE9uY2U9ITB9QXJyYXkuZnJvbSh0aGlzLl9kYXRhTG9hZFN0YXRlLnZhbHVlcygpKS5pbmNsdWRlcyh5Q3QuTE9BRElORyl8fCh0aGlzLmRhdGFMb2FkaW5nPSExKX0pKTt0aGlzLnJlcXVlc3REYXRhKGUsbiwoKCk9Pmkodm9pZCAwKSkpfSkpKSl9fX1PYmplY3QuZGVmaW5lUHJvcGVydHkodkN0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx2Q3QudmVyc2lvbj0iMy45LjAiLChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGU9Qk87dC5BbmltYXRvcnM9Zmd0LHQuQXhlcz1BZ3QsdC5Db21wb25lbnRzPXR4dCx0LkNvbmZpZ3M9Q3l0LHQuRm9ybWF0dGVycz1wdnQsdC5SZW5kZXJDb250cm9sbGVyPXpfdCx0LlJlbmRlclBvbGljaWVzPVF5dCx0LlN5bWJvbEZhY3Rvcmllcz1Id3QsdC5EaXNwYXRjaGVycz1yeHQsdC5EcmF3ZXJzPVBNdCx0LkludGVyYWN0aW9ucz1ueHQsdC5QbG90cz1kRXQsdC5TY2FsZXM9WHZ0LHQuVXRpbHM9RF90LGUuX19leHBvcnRTdGFyKGR2dCx0KSx0LlRpbWVJbnRlcnZhbD1ZdnQuVGltZUludGVydmFsLGUuX19leHBvcnRTdGFyKE9fdCx0KSxlLl9fZXhwb3J0U3Rhcih5d3QsdCksZS5fX2V4cG9ydFN0YXIoZlN0LHQpLHQudmVyc2lvbj12Q3QudmVyc2lvbixlLl9fZXhwb3J0U3RhcihheHQsdCksZS5fX2V4cG9ydFN0YXIoR1N0LHQpLGUuX19leHBvcnRTdGFyKHZ4dCx0KSxlLl9fZXhwb3J0U3RhcihMeHQsdCksZS5fX2V4cG9ydFN0YXIobUV0LHQpLGUuX19leHBvcnRTdGFyKHNTdCx0KSxlLl9fZXhwb3J0U3RhcihMYnQsdCksZS5fX2V4cG9ydFN0YXIobGJ0LHQpfSkoTk8pLChmdW5jdGlvbih0KXt0W3QuTE9BRElORz0wXT0iTE9BRElORyIsdFt0LkxPQURFRD0xXT0iTE9BREVEIn0pKHlDdHx8KHlDdD17fSkpO2NvbnN0IHhDdD1be2NoYXJhY3Rlcjoi4pe8IixtZXRob2Q6Tk8uU3ltYm9sRmFjdG9yaWVzLnNxdWFyZX0se2NoYXJhY3Rlcjoi4peGIixtZXRob2Q6Tk8uU3ltYm9sRmFjdG9yaWVzLmRpYW1vbmR9LHtjaGFyYWN0ZXI6IuKWsiIsbWV0aG9kOk5PLlN5bWJvbEZhY3Rvcmllcy50cmlhbmdsZX0se2NoYXJhY3Rlcjoi4piFIixtZXRob2Q6Tk8uU3ltYm9sRmFjdG9yaWVzLnN0YXJ9LHtjaGFyYWN0ZXI6IuKcmiIsbWV0aG9kOk5PLlN5bWJvbEZhY3Rvcmllcy5jcm9zc31dO3ZhciB3Q3Q7IShmdW5jdGlvbih0KXt0LlNURVA9InN0ZXAiLHQuUkVMQVRJVkU9InJlbGF0aXZlIix0LldBTExfVElNRT0id2FsbF90aW1lIn0pKHdDdHx8KHdDdD17fSkpO2Z1bmN0aW9uIFNDdCh0KXtyZXR1cm4gZT0+e2xldCBuLGk9TWF0aC5hYnMoZSk7cmV0dXJuIGk8MWUtMTUmJihpPTApLG49RHkoaT49MWU0fHxpPjAmJmk8LjAxPyIuIit0KyJ+ZSI6Ii4iK3QrIn5nIiksbihlKX19Y29uc3QgTUN0PUR5KCIuNH5zIik7ZnVuY3Rpb24gRUN0KCl7bGV0IHQ9bmV3IE5PLlNjYWxlcy5MaW5lYXI7dC50aWNrR2VuZXJhdG9yKE5PLlNjYWxlcy5UaWNrR2VuZXJhdG9ycy5pbnRlZ2VyVGlja0dlbmVyYXRvcigpKTtsZXQgZT1uZXcgTk8uQXhlcy5OdW1lcmljKHQsImJvdHRvbSIpO3JldHVybiBlLmZvcm1hdHRlcihNQ3QpLHtzY2FsZTp0LGF4aXM6ZSxhY2Nlc3Nvcjp0PT50LnN0ZXB9fWxldCBUQ3Q9Tk8uRm9ybWF0dGVycy50aW1lKCIlYSAlYiAlZSwgJUg6JU06JVMiKTtsZXQgQ0N0PSh0LGUsbik9PntpZihudWxsIT10LnJlbGF0aXZlKXJldHVybiB0LnJlbGF0aXZlO2xldCBpPW4uZGF0YSgpO3JldHVybigrdC53YWxsX3RpbWUtKGkubGVuZ3RoPjA/K2lbMF0ud2FsbF90aW1lOjApKS8zNmU1fSxBQ3Q9dD0+e2xldCBlPSIiLG49TWF0aC5mbG9vcih0LzI0KTt0LT0yNCpuLG4mJihlKz1uKyJkICIpO2xldCBpPU1hdGguZmxvb3IodCk7dC09aSx0Kj02MCwoaXx8bikmJihlKz1pKyJoICIpO2xldCByPU1hdGguZmxvb3IodCk7cmV0dXJuIHQtPXIsdCo9NjAsKHJ8fGl8fG4pJiYoZSs9cisibSAiKSxlK01hdGguZmxvb3IodCkrInMifTtmdW5jdGlvbiBrQ3QodCl7c3dpdGNoKHQpe2Nhc2Ugd0N0LlNURVA6cmV0dXJuIEVDdCgpO2Nhc2Ugd0N0LldBTExfVElNRTpyZXR1cm4oZnVuY3Rpb24gZSgpe2xldCB0PW5ldyBOTy5TY2FsZXMuVGltZTtyZXR1cm57c2NhbGU6dCxheGlzOm5ldyBOTy5BeGVzLlRpbWUodCwiYm90dG9tIiksYWNjZXNzb3I6dD0+dC53YWxsX3RpbWV9fSkoKTtjYXNlIHdDdC5SRUxBVElWRTpyZXR1cm4oZnVuY3Rpb24gbigpe2xldCB0PW5ldyBOTy5TY2FsZXMuTGluZWFyO3JldHVybntzY2FsZTp0LGF4aXM6bmV3IE5PLkF4ZXMuTnVtZXJpYyh0LCJib3R0b20iKSxhY2Nlc3NvcjpDQ3R9fSkoKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW52YWxpZCB4VHlwZTogIit0KX19Y29uc3QgTEN0PVsxLDAsMCwxLDAsMF07ZnVuY3Rpb24gUEN0KHQpe2NvbnN0IGU9KGZ1bmN0aW9uIG4odCl7Y29uc3QgZT1bXTtmb3IoO3QmJnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudDspaWYoZS5wdXNoKHQpLHQuYXNzaWduZWRTbG90KXQ9dC5hc3NpZ25lZFNsb3Q7ZWxzZSBpZih0LnBhcmVudEVsZW1lbnQpdD10LnBhcmVudEVsZW1lbnQ7ZWxzZXtjb25zdCBlPXQucGFyZW50Tm9kZTt0PWUgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50P2UuaG9zdDplIT09dD9lOm51bGx9cmV0dXJuIGV9KSh0KTtsZXQgaT1MQ3Qscj1udWxsO2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9Tk8uVXRpbHMuRE9NLmdldEVsZW1lbnRUcmFuc2Zvcm0odCk7aWYobnVsbCE9ZSl7Y29uc3Qgbj10LmNsaWVudFdpZHRoLzIscj10LmNsaWVudEhlaWdodC8yO2k9Tk8uVXRpbHMuTWF0aC5tdWx0aXBseVRyYW5zbGF0ZShpLFtuLHJdKSxpPU5PLlV0aWxzLk1hdGgubXVsdGlwbHlNYXRyaXgoaSxOTy5VdGlscy5NYXRoLmludmVydE1hdHJpeChlKSksaT1OTy5VdGlscy5NYXRoLm11bHRpcGx5VHJhbnNsYXRlKGksWy1uLC1yXSl9bGV0IG49dC5zY3JvbGxMZWZ0LG89dC5zY3JvbGxUb3A7bnVsbCE9PXImJnQhPT1yfHwobi09dC5vZmZzZXRMZWZ0K3QuY2xpZW50TGVmdCxvLT10Lm9mZnNldFRvcCt0LmNsaWVudFRvcCxyPXQub2Zmc2V0UGFyZW50KSxpPU5PLlV0aWxzLk1hdGgubXVsdGlwbHlUcmFuc2xhdGUoaSxbbixvXSl9cmV0dXJuIGl9Y2xhc3MgTkN0IGV4dGVuZHMgTk8uVXRpbHMuVHJhbnNsYXRvcntjb21wdXRlUG9zaXRpb24odCxlKXtjb25zdCBuPXt4OnQseTplfSxpPVBDdCh0aGlzLl9yb290RWxlbWVudCk7aWYobnVsbD09aSlyZXR1cm4gbjtyZXR1cm4gTk8uVXRpbHMuTWF0aC5hcHBseVRyYW5zZm9ybShpLG4pfX1jbGFzcyBJQ3QgZXh0ZW5kcyBOTy5EaXNwYXRjaGVycy5Nb3VzZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLl9ldmVudFRhcmdldD10LnJvb3QoKS5yb290RWxlbWVudCgpLm5vZGUoKSx0aGlzLl90cmFuc2xhdG9yPW5ldyBOQ3QodC5yb290KCkucm9vdEVsZW1lbnQoKS5ub2RlKCkpfXN0YXRpYyBnZXREaXNwYXRjaGVyKHQpe2NvbnN0IGU9dC5yb290KCkucm9vdEVsZW1lbnQoKTtsZXQgbj1lW0lDdC5fRElTUEFUQ0hFUl9LRVldO3JldHVybiBufHwobj1uZXcgSUN0KHQpLGVbSUN0Ll9ESVNQQVRDSEVSX0tFWV09biksbn19Y2xhc3MgUkN0IGV4dGVuZHMgTk8uRGlzcGF0Y2hlcnMuVG91Y2h7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5fZXZlbnRUYXJnZXQ9dC5yb290KCkucm9vdEVsZW1lbnQoKS5ub2RlKCksdGhpcy5fdHJhbnNsYXRvcj1uZXcgTkN0KHQucm9vdCgpLnJvb3RFbGVtZW50KCkubm9kZSgpKX1zdGF0aWMgZ2V0RGlzcGF0Y2hlcih0KXtjb25zdCBlPXQucm9vdCgpLnJvb3RFbGVtZW50KCk7bGV0IG49ZVtSQ3QuX0RJU1BBVENIRVJfS0VZXTtyZXR1cm4gbnx8KG49bmV3IFJDdCh0KSxlW1JDdC5fRElTUEFUQ0hFUl9LRVldPW4pLG59fU5PLkludGVyYWN0aW9uLnByb3RvdHlwZS5faXNJbnNpZGVDb21wb25lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIDA8PXQueCYmMDw9dC55JiZ0Lng8dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby53aWR0aCgpJiZ0Lnk8dGhpcy5fY29tcG9uZW50QXR0YWNoZWRUby5oZWlnaHQoKX07Y2xhc3MgT0N0IGV4dGVuZHMgTk8uSW50ZXJhY3Rpb25zLlBvaW50ZXJ7X2FuY2hvcih0KXtjb25zdCBlPXRoaXM7ZS5faXNBbmNob3JlZD0hMCxlLl9tb3VzZURpc3BhdGNoZXI9SUN0LmdldERpc3BhdGNoZXIoZS5fY29tcG9uZW50QXR0YWNoZWRUbyksZS5fbW91c2VEaXNwYXRjaGVyLm9uTW91c2VNb3ZlKGUuX21vdXNlTW92ZUNhbGxiYWNrKSxlLl90b3VjaERpc3BhdGNoZXI9UkN0LmdldERpc3BhdGNoZXIoZS5fY29tcG9uZW50QXR0YWNoZWRUbyksZS5fdG91Y2hEaXNwYXRjaGVyLm9uVG91Y2hTdGFydChlLl90b3VjaFN0YXJ0Q2FsbGJhY2spfX12YXIgekN0OyEoZnVuY3Rpb24odCl7dC5BVVRPPSJhdXRvIix0LkJPVFRPTT0iYm90dG9tIix0LlJJR0hUPSJyaWdodCJ9KSh6Q3R8fCh6Q3Q9e30pKTtjb25zdCBEQ3Q9e2JveFNoYWRvdzoiMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgLjMpIixvcGFjaXR5OjAscG9zaXRpb246ImZpeGVkIix3aWxsQ2hhbmdlOiJ0cmFuc2Zvcm0iLHpJbmRleDo1fTtsZXQgQkN0PWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5wb3NpdGlvbj16Q3QuQVVUTyx0aGlzLm1pbkRpc3RGcm9tRWRnZT0xNSx0aGlzLl9zdHlsZUNhY2hlPW51bGwsdGhpcy5fcmFmPW51bGwsdGhpcy5fdHVubmVsPW51bGx9cmVhZHkoKXt0aGlzLl9zdHlsZUNhY2hlPW51bGwsdGhpcy5fcmFmPW51bGwsdGhpcy5fdHVubmVsPW51bGx9YXR0YWNoZWQoKXt0aGlzLl90dW5uZWw9dGhpcy5fY3JlYXRlVHVubmVsKCksdGhpcy5faGlkZU9uQmx1cj0oKT0+e2RvY3VtZW50LmhpZGRlbiYmdGhpcy5oaWRlKCl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9oaWRlT25CbHVyKX1kZXRhY2hlZCgpe3RoaXMuaGlkZSgpLHRoaXMuX3JlbW92ZVR1bm5lbCh0aGlzLl90dW5uZWwpLHRoaXMuX3R1bm5lbD1udWxsLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLl9oaWRlT25CbHVyKX1jb250ZW50KCl7cmV0dXJuIHRoaXMuX3R1bm5lbC5zaGFkb3dSb290fWhpZGUoKXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmFmKSx0aGlzLl9zdHlsZUNhY2hlPW51bGwsdGhpcy5fdHVubmVsLnN0eWxlLm9wYWNpdHk9MH11cGRhdGVBbmRQb3NpdGlvbih0KXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmFmKSx0aGlzLl9yYWY9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLmlzQXR0YWNoZWQmJnRoaXMuX3JlcG9zaXRpb25JbXBsKHQpfSkpfV9yZXBvc2l0aW9uSW1wbCh0KXtjb25zdCBlPXRoaXMuX3R1bm5lbCxuPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHI9d2luZG93LmlubmVySGVpZ2h0LG89ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCxhPW4udG9wLHM9YStuLmhlaWdodCxsPWkuaGVpZ2h0KzIwO2xldCBjPW51bGwsdT1NYXRoLm1heCh0aGlzLm1pbkRpc3RGcm9tRWRnZSxuLmxlZnQpLGg9bnVsbCxkPWE7dGhpcy5wb3NpdGlvbj09ekN0LlJJR0hUP3U9bi5yaWdodDooZD1zKzIwLG88dStpLndpZHRoK3RoaXMubWluRGlzdEZyb21FZGdlJiYodT1udWxsLGg9dGhpcy5taW5EaXN0RnJvbUVkZ2UpKSx0aGlzLnBvc2l0aW9uPT16Q3QuQVVUTyYmbi50b3AtbD4wJiZyPG4udG9wK24uaGVpZ2h0K2wmJihkPW51bGwsYz1yLWErMjApO2NvbnN0IHA9e2NvbnRhaW46ImNvbnRlbnQiLG9wYWNpdHk6MSxsZWZ0OnU/YCR7dX1weGA6bnVsbCxyaWdodDpoP2Ake2h9cHhgOm51bGwsdG9wOmQ/YCR7ZH1weGA6bnVsbCxib3R0b206Yz9gJHtjfXB4YDpudWxsfTtDZS5leHBvcnRzLmlzRXF1YWwodGhpcy5fc3R5bGVDYWNoZSxwKXx8KE9iamVjdC5hc3NpZ24oZS5zdHlsZSxwKSx0aGlzLl9zdHlsZUNhY2hlPXApfV9jcmVhdGVUdW5uZWwoKXtpZighdGhpcy5jb250ZW50Q29tcG9uZW50TmFtZSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiUmVxdWlyZSBgY29udGVudENvbXBvbmVudE5hbWVgIHRvIGJlIGEgbmFtZSBvZiBhIFBvbHltZXIgY29tcG9uZW50Iik7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHRoaXMuY29udGVudENvbXBvbmVudE5hbWUpO3JldHVybiBPYmplY3QuYXNzaWduKHQuc3R5bGUsREN0KSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHQpLHR9X3JlbW92ZVR1bm5lbCh0KXtkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpfX07dChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQkN0LnByb3RvdHlwZSwiY29udGVudENvbXBvbmVudE5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQkN0LnByb3RvdHlwZSwicG9zaXRpb24iLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sQkN0LnByb3RvdHlwZSwibWluRGlzdEZyb21FZGdlIix2b2lkIDApLEJDdD10KFtpKCJ2ei1jaGFydC10b29sdGlwIildLEJDdCk7Y29uc3QgSEN0PUR5KCIuMn5lIiksRkN0PUR5KCIuNH5yIiksVkN0PUR5KCIsfiIpO2Z1bmN0aW9uIFVDdCh0KXtpZigwPT09dClyZXR1cm4iMCI7Y29uc3QgZT1NYXRoLmFicyh0KTtyZXR1cm4gZT49MWU0fHxlPC4wMDE/SEN0KHQpOkZDdCh0KX1jb25zdCBqQ3Q9e2Zvcm1hdFRpY2s6VUN0LGZvcm1hdFNob3J0OlVDdCxmb3JtYXRSZWFkYWJsZSh0KXtjb25zdCBlPU1hdGguYWJzKHQpO3JldHVybiBlPj0xZTR8fGU8LjAwMT9IQ3QodCk6VkN0KHQpfSxmb3JtYXRMb25nOlZDdH07RHkoIjAuM35zIiksRHkoIiwuM35mIiksRHkoIi40fiIpO2NvbnN0IEdDdD16QSgpLnRpY2tGb3JtYXQoKTtsZXQgV0N0O2NvbnN0IHFDdD17Zm9ybWF0VGljazp0PT5HQ3QobmV3IERhdGUodCkpLGZvcm1hdFNob3J0OnQ9Pm5ldyBEYXRlKHQpLnRvTG9jYWxlU3RyaW5nKFdDdCx7eWVhcjoibnVtZXJpYyIsbW9udGg6InNob3J0IixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIn0pLGZvcm1hdFJlYWRhYmxlOnQ9Pm5ldyBEYXRlKHQpLnRvTG9jYWxlU3RyaW5nKFdDdCx7eWVhcjoibnVtZXJpYyIsbW9udGg6InNob3J0IixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIix0aW1lWm9uZU5hbWU6InNob3J0In0pLGZvcm1hdExvbmc6dD0+bmV3IERhdGUodCkudG9Mb2NhbGVTdHJpbmcoV0N0LHt5ZWFyOiJudW1lcmljIixtb250aDoibG9uZyIsZGF5OiJudW1lcmljIixob3VyOiJudW1lcmljIixtaW51dGU6Im51bWVyaWMiLHNlY29uZDoibnVtZXJpYyIsdGltZVpvbmVOYW1lOiJzaG9ydCIsZnJhY3Rpb25hbFNlY29uZERpZ2l0czozfSl9O3ZhciBZQ3Q7IShmdW5jdGlvbih0KXt0W3QuTElORUFSPTBdPSJMSU5FQVIiLHRbdC5MT0cxMD0xXT0iTE9HMTAiLHRbdC5USU1FPTJdPSJUSU1FIn0pKFlDdHx8KFlDdD17fSkpO2NsYXNzIFhDdHtjb25zdHJ1Y3Rvcigpe3RoaXMuZGVmYXVsdEZvcm1hdHRlcj1qQ3R9dHJhbnNmb3JtKHQsZSxuKXtjb25zdFtpLHJdPXQsbz1yLWksW2Esc109ZTtyZXR1cm4gMD09PW8/YToocy1hKS9vKihuLWkpK2F9Zm9yd2FyZCh0LGUsbil7cmV0dXJuIHRoaXMudHJhbnNmb3JtKHQsZSxuKX1yZXZlcnNlKHQsZSxuKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0oZSx0LG4pfW5pY2VEb21haW4odCl7bGV0W2Usbl09dDtpZihuPGUpdGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkIGlucHV0OiBtaW4gaXMgbGFyZ2VyIHRoYW4gbWF4Iik7aWYobj09PWUpcmV0dXJuIDA9PT1lP1stMSwxXTplPDA/WzIqZSwwXTpbMCwyKmVdO2NvbnN0IGk9Y0UoKSxyPS4wNSoobi1lK051bWJlci5FUFNJTE9OKSxbbyxhXT1pLmRvbWFpbihbZS1yLG4rcl0pLm5pY2UoKS5kb21haW4oKTtyZXR1cm5bbyxhXX10aWNrcyh0LGUpe3JldHVybiBjRSgpLmRvbWFpbih0KS50aWNrcyhlKX1pc1NhZmVOdW1iZXIodCl7cmV0dXJuIE51bWJlci5pc0Zpbml0ZSh0KX19Y2xhc3MgJEN0e2NvbnN0cnVjdG9yKCl7dGhpcy5kZWZhdWx0Rm9ybWF0dGVyPWpDdH10cmFuc2Zvcm0odCl7cmV0dXJuIE1hdGgubG9nMTAodD4wP3Q6TnVtYmVyLk1JTl9WQUxVRSl9dW50cmFuc2Zvcm0odCl7cmV0dXJuIE1hdGguZXhwKHQvTWF0aC5MT0cxMEUpfWZvcndhcmQodCxlLG4pe2lmKG48PTApcmV0dXJuIGVbMF07Y29uc3RbaSxyXT10LFtvLGFdPWUscz10aGlzLnRyYW5zZm9ybShpKSxsPXRoaXMudHJhbnNmb3JtKHIpLXMsYz1hLW87cmV0dXJuIG49dGhpcy50cmFuc2Zvcm0obiksYy8obCtOdW1iZXIuRVBTSUxPTikqKG4tcykrb31yZXZlcnNlKHQsZSxuKXtjb25zdFtpLHJdPXQsW28sYV09ZSxzPXRoaXMudHJhbnNmb3JtKGkpLGw9dGhpcy50cmFuc2Zvcm0ocik7cmV0dXJuIHRoaXMudW50cmFuc2Zvcm0oKGwtcykvKGEtbytOdW1iZXIuRVBTSUxPTikqKG4tbykrcyl9bmljZURvbWFpbih0KXtjb25zdFtlLG5dPXQ7aWYoZT5uKXRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBpbnB1dDogbWluIGlzIGxhcmdlciB0aGFuIG1heCIpO2NvbnN0IGk9TWF0aC5tYXgoZSxOdW1iZXIuTUlOX1ZBTFVFKSxyPU1hdGgubWF4KG4sTnVtYmVyLk1JTl9WQUxVRSk7cmV0dXJuIG48PTA/W051bWJlci5NSU5fVkFMVUUsMV06W01hdGgubWF4KE51bWJlci5NSU5fVkFMVUUsLjUqaSksMipyXX10aWNrcyh0LGUpe2NvbnN0IG49dFswXTw9MD9OdW1iZXIuTUlOX1ZBTFVFOnRbMF0saT10WzFdPD0wP051bWJlci5NSU5fVkFMVUU6dFsxXSxyPXlFKCkuZG9tYWluKFtuLGldKS50aWNrcyhlKTtyZXR1cm4gci5sZW5ndGg/cjp0fWlzU2FmZU51bWJlcih0KXtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHQpJiZ0PjB9fWNsYXNzIEtDdHtjb25zdHJ1Y3Rvcigpe3RoaXMuc2NhbGU9ekEoKSx0aGlzLmRlZmF1bHRGb3JtYXR0ZXI9cUN0fWZvcndhcmQodCxlLG4pe3JldHVybiB0aGlzLnNjYWxlLmRvbWFpbih0KS5yYW5nZShlKShuKX1yZXZlcnNlKHQsZSxuKXtyZXR1cm4gdGhpcy5zY2FsZS5kb21haW4odCkucmFuZ2UoZSkuaW52ZXJ0KG4pLmdldFRpbWUoKX1uaWNlRG9tYWluKHQpe2NvbnN0W2Usbl09dGhpcy5zY2FsZS5kb21haW4odCkubmljZSgpLmRvbWFpbigpO3JldHVybltlLmdldFRpbWUoKSxuLmdldFRpbWUoKV19dGlja3ModCxlKXtyZXR1cm4gdGhpcy5zY2FsZS5kb21haW4odCkudGlja3MoZSkubWFwKCh0PT50LmdldFRpbWUoKSkpfWlzU2FmZU51bWJlcih0KXtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHQpfX1jbGFzcyBaQ3QgZXh0ZW5kcyBOTy5TY2FsZXMuTGluZWFye2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9pZ25vcmVPdXRsaWVyPSExLHRoaXMucGFkUHJvcG9ydGlvbiguMil9c2V0VmFsdWVQcm92aWRlckZvckRvbWFpbih0KXtyZXR1cm4gdGhpcy5fdmFsdWVQcm92aWRlckZvckRvbWFpbj10LHRoaXN9X25pY2VEb21haW4odCxlKXtjb25zdFtuLGldPXQ7cmV0dXJuKGZ1bmN0aW9uIHIodCl7c3dpdGNoKHQpe2Nhc2UgWUN0LkxJTkVBUjpyZXR1cm4gbmV3IFhDdDtjYXNlIFlDdC5MT0cxMDpyZXR1cm4gbmV3ICRDdDtjYXNlIFlDdC5USU1FOnJldHVybiBuZXcgS0N0O2RlZmF1bHQ6dGhyb3cgbmV3IFJhbmdlRXJyb3IoYFNjYWxlVHlwZSAke3R9IG5vdCBzdXBwb3J0ZWQuYCl9fSkoWUN0LkxJTkVBUikubmljZURvbWFpbihbbixpXSl9X2dldFVuYm91bmRlZEV4dGVudCh0KXtjb25zdCBlPXRoaXMuX2dldEFsbEluY2x1ZGVkVmFsdWVzKHQpO2xldCBuPXRoaXMuX2RlZmF1bHRFeHRlbnQoKTtpZigwIT09ZS5sZW5ndGgpe2NvbnN0IHQ9W05PLlV0aWxzLk1hdGgubWluKGUsblswXSksTk8uVXRpbHMuTWF0aC5tYXgoZSxuWzFdKV07bj10aGlzLl9uaWNlRG9tYWluKHQpfXJldHVybiBufV9nZXRBbGxJbmNsdWRlZFZhbHVlcyh0PSExKXtjb25zdCBlPXRoaXMuX3ZhbHVlUHJvdmlkZXJGb3JEb21haW4/dGhpcy5fdmFsdWVQcm92aWRlckZvckRvbWFpbigpOltdO3JldHVybiB0aGlzLmV4dGVudE9mVmFsdWVzKGUpfWV4dGVudE9mVmFsdWVzKHQpe2NvbnN0IGU9dC5maWx0ZXIoKHQ9Pk5PLlV0aWxzLk1hdGguaXNWYWxpZE51bWJlcih0KSkpO2xldCBuPWU7aWYodGhpcy5pZ25vcmVPdXRsaWVyKCkpe2NvbnN0IHQ9ZS5zb3J0KCgodCxlKT0+dC1lKSksaT1yYyh0LC4wNSkscj1yYyh0LC45NSk7bj1lLmZpbHRlcigodD0+dD49aSYmdDw9cikpfWNvbnN0IGk9R2wobik7cmV0dXJuIG51bGw9PWlbMF18fG51bGw9PWlbMV0/W106aX1pZ25vcmVPdXRsaWVyKHQpe3JldHVybiJib29sZWFuIj09dHlwZW9mIHQ/KHRoaXMuX2lnbm9yZU91dGxpZXI9dCx0aGlzKTp0aGlzLl9pZ25vcmVPdXRsaWVyfX1jbGFzcyBKQ3QgZXh0ZW5kcyBOTy5RdWFudGl0YXRpdmVTY2FsZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5faWdub3JlT3V0bGllcj0hMX1zZXRWYWx1ZVByb3ZpZGVyRm9yRG9tYWluKHQpe3JldHVybiB0aGlzLl92YWx1ZVByb3ZpZGVyRm9yRG9tYWluPXQsdGhpc31pZ25vcmVPdXRsaWVyKHQpe3JldHVybiJib29sZWFuIj09dHlwZW9mIHQ/KHRoaXMuX2lnbm9yZU91dGxpZXI9dCx0aGlzKTp0aGlzLl9pZ25vcmVPdXRsaWVyfV9nZXRBbGxJbmNsdWRlZFZhbHVlcyh0PSExKXtjb25zdCBlPXRoaXMuX3ZhbHVlUHJvdmlkZXJGb3JEb21haW4/dGhpcy5fdmFsdWVQcm92aWRlckZvckRvbWFpbigpOltdO3JldHVybiB0aGlzLmV4dGVudE9mVmFsdWVzKGUpfX1jb25zdCBRQ3Q9TWF0aC5wb3coMiwtMTA3NCk7ZnVuY3Rpb24gdEF0KHQpe3JldHVybiBNYXRoLmxvZzEwKHQpfWZ1bmN0aW9uIGVBdCh0KXtyZXR1cm4gTWF0aC5wb3coMTAsdCl9Y2xhc3MgbkF0IGV4dGVuZHMgSkN0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9kM0xvZ1NjYWxlPXlFKCksdGhpcy5wYWRQcm9wb3J0aW9uKC4yKX1zY2FsZSh0KXtyZXR1cm4gdDw9MD9OYU46dGhpcy5fZDNMb2dTY2FsZSh0KX1pbnZlcnQodCl7cmV0dXJuIHRoaXMuX2QzTG9nU2NhbGUuaW52ZXJ0KHQpfXNjYWxlVHJhbnNmb3JtYXRpb24odCl7cmV0dXJuIHRoaXMuc2NhbGUodCl9aW52ZXJ0ZWRUcmFuc2Zvcm1hdGlvbih0KXtyZXR1cm4gdGhpcy5pbnZlcnQodCl9Z2V0VHJhbnNmb3JtYXRpb25Eb21haW4oKXtyZXR1cm4gdGhpcy5kb21haW4oKX1zZXRUcmFuc2Zvcm1hdGlvbkRvbWFpbih0KXt0aGlzLmRvbWFpbih0KX1nZXRUcmFuc2Zvcm1hdGlvbkV4dGVudCgpe3JldHVybiB0aGlzLl9nZXRVbmJvdW5kZWRFeHRlbnQoITApfV9nZXREb21haW4oKXtyZXR1cm4gdGhpcy5fdW50cmFuc2Zvcm1lZERvbWFpbn1fc2V0RG9tYWluKHQpe3RoaXMuX3VudHJhbnNmb3JtZWREb21haW49dDtjb25zdFtlLG5dPXQ7c3VwZXIuX3NldERvbWFpbihbTWF0aC5tYXgoUUN0LGUpLG5dKX1fbmljZURvbWFpbih0LGUpe2NvbnN0W24saV09dCxyPU1hdGgubWF4KHRBdChRQ3QpLHRBdChuKSksbz10QXQoaSksYT1vLXIscz1hP2EqdGhpcy5wYWRQcm9wb3J0aW9uKCk6MTtyZXR1cm5bZUF0KE1hdGgubWF4KHRBdChRQ3QpLHItcykpLGVBdChvK3MpXX1fZ2V0VW5ib3VuZGVkRXh0ZW50KHQpe2NvbnN0IGU9dGhpcy5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXModCk7bGV0IG49dGhpcy5fZGVmYXVsdEV4dGVudCgpO2lmKDAhPT1lLmxlbmd0aCl7Y29uc3QgdD1bTk8uVXRpbHMuTWF0aC5taW4oZSxuWzBdKSxOTy5VdGlscy5NYXRoLm1heChlLG5bMV0pXTtuPXRoaXMuX25pY2VEb21haW4odCl9cmV0dXJuIG59X2dldEFsbEluY2x1ZGVkVmFsdWVzKHQ9ITEpe3JldHVybiBzdXBlci5fZ2V0QWxsSW5jbHVkZWRWYWx1ZXMoKS5tYXAoKHQ9PnQ+MD90OlFDdCkpfV9kZWZhdWx0RXh0ZW50KCl7cmV0dXJuWzEsMTBdfV9iYWNraW5nU2NhbGVEb21haW4odCl7cmV0dXJuIG51bGw9PXQ/dGhpcy5fZDNMb2dTY2FsZS5kb21haW4oKToodGhpcy5fZDNMb2dTY2FsZS5kb21haW4odCksdGhpcyl9X2dldFJhbmdlKCl7cmV0dXJuIHRoaXMuX2QzTG9nU2NhbGUucmFuZ2UoKX1fc2V0UmFuZ2UodCl7dGhpcy5fZDNMb2dTY2FsZS5yYW5nZSh0KX1kZWZhdWx0VGlja3MoKXtyZXR1cm4gdGhpcy5fZDNMb2dTY2FsZS50aWNrcygxKX10aWNrcygpe3JldHVybiB0aGlzLl9kM0xvZ1NjYWxlLnRpY2tzKCl9ZXh0ZW50T2ZWYWx1ZXModCl7Y29uc3QgZT10LmZpbHRlcigodD0+Tk8uVXRpbHMuTWF0aC5pc1ZhbGlkTnVtYmVyKHQpJiZ0PjApKTtsZXQgbj1lO2lmKHRoaXMuaWdub3JlT3V0bGllcigpKXtjb25zdCB0PWUubWFwKHRBdCkuc29ydCgoKHQsZSk9PnQtZSkpLGk9cmModCwuMDUpLHI9cmModCwuOTUpO249dC5maWx0ZXIoKHQ9PnQ+PWkmJnQ8PXIpKS5tYXAoZUF0KX1jb25zdCBpPUdsKG4pO3JldHVybiBudWxsPT1pWzBdfHxudWxsPT1pWzFdP1tdOml9fWNsYXNzIGlBdCBleHRlbmRzIE5PLkNvbXBvbmVudHMuU2VsZWN0aW9uQm94TGF5ZXJ7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKCksdGhpcy5lYXNlRm49cWYsdGhpcy5fYW5pbWF0aW9uVGltZT03NTAsdGhpcy54U2NhbGUodCksdGhpcy55U2NhbGUoZSksdGhpcy5fZHJhZ0ludGVyYWN0aW9uPW5ldyBOTy5JbnRlcmFjdGlvbnMuRHJhZyx0aGlzLl9kb3VibGVDbGlja0ludGVyYWN0aW9uPW5ldyBOTy5JbnRlcmFjdGlvbnMuQ2xpY2ssdGhpcy5zZXR1cENhbGxiYWNrcygpLHRoaXMudW56b29tTWV0aG9kPW4sdGhpcy5vbkRldGFjaCgoKCk9Pnt0aGlzLl9kb3VibGVDbGlja0ludGVyYWN0aW9uLmRldGFjaEZyb20odGhpcyksdGhpcy5fZHJhZ0ludGVyYWN0aW9uLmRldGFjaEZyb20odGhpcyl9KSksdGhpcy5vbkFuY2hvcigoKCk9Pnt0aGlzLl9kb3VibGVDbGlja0ludGVyYWN0aW9uLmF0dGFjaFRvKHRoaXMpLHRoaXMuX2RyYWdJbnRlcmFjdGlvbi5hdHRhY2hUbyh0aGlzKX0pKX1pbnRlcmFjdGlvblN0YXJ0KHQpe3RoaXMub25TdGFydD10fWludGVyYWN0aW9uRW5kKHQpe3RoaXMub25FbmQ9dH1kcmFnSW50ZXJhY3Rpb24oKXtyZXR1cm4gdGhpcy5fZHJhZ0ludGVyYWN0aW9ufXNldHVwQ2FsbGJhY2tzKCl7bGV0IHQ9ITE7dGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZ1N0YXJ0KCh0PT57dGhpcy5ib3VuZHMoe3RvcExlZnQ6dCxib3R0b21SaWdodDp0fSksdGhpcy5vblN0YXJ0KCl9KSksdGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZygoKGUsbik9Pnt0aGlzLmJvdW5kcyh7dG9wTGVmdDplLGJvdHRvbVJpZ2h0Om59KSx0aGlzLmJveFZpc2libGUoITApLHQ9ITB9KSksdGhpcy5fZHJhZ0ludGVyYWN0aW9uLm9uRHJhZ0VuZCgoKGUsbik9Pnt0aGlzLmJveFZpc2libGUoITEpLHRoaXMuYm91bmRzKHt0b3BMZWZ0OmUsYm90dG9tUmlnaHQ6bn0pLHQ/dGhpcy56b29tKCk6dGhpcy5vbkVuZCgpLHQ9ITF9KSksdGhpcy5fZG91YmxlQ2xpY2tJbnRlcmFjdGlvbi5vbkRvdWJsZUNsaWNrKHRoaXMudW56b29tLmJpbmQodGhpcykpfWFuaW1hdGlvblRpbWUodCl7aWYobnVsbD09dClyZXR1cm4gdGhpcy5fYW5pbWF0aW9uVGltZTtpZih0PDApdGhyb3cgbmV3IEVycm9yKCJhbmltYXRpb25UaW1lIGNhbm5vdCBiZSBuZWdhdGl2ZSIpO3JldHVybiB0aGlzLl9hbmltYXRpb25UaW1lPXQsdGhpc31lYXNlKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiZWFzZSBmdW5jdGlvbiBtdXN0IGJlIGEgZnVuY3Rpb24iKTtyZXR1cm4gMD09PXQoMCkmJjE9PT10KDEpfHxOTy5VdGlscy5XaW5kb3cud2FybigiRWFzaW5nIGZ1bmN0aW9uIGRvZXMgbm90IG1haW50YWluIGludmFyaWFudCBmKDApPT0wICYmIGYoMSk9PTEuIEJhZCBiZWhhdmlvciBtYXkgcmVzdWx0LiIpLHRoaXMuZWFzZUZuPXQsdGhpc316b29tKCl7bGV0IHQ9dGhpcy54RXh0ZW50KClbMF0udmFsdWVPZigpLGU9dGhpcy54RXh0ZW50KClbMV0udmFsdWVPZigpLG49dGhpcy55RXh0ZW50KClbMV0udmFsdWVPZigpLGk9dGhpcy55RXh0ZW50KClbMF0udmFsdWVPZigpO3QhPT1lJiZuIT09aSYmdGhpcy5pbnRlcnBvbGF0ZVpvb20odCxlLG4saSl9dW56b29tKCl7bGV0IHQ9dGhpcy54U2NhbGUoKTt0Ll9kb21haW5NaW49bnVsbCx0Ll9kb21haW5NYXg9bnVsbDtsZXQgZT10Ll9nZXRFeHRlbnQoKTt0aGlzLnhTY2FsZSgpLmRvbWFpbihlKSx0aGlzLnVuem9vbU1ldGhvZCgpfWlzWm9vbWluZyh0KXt0aGlzLl9kcmFnSW50ZXJhY3Rpb24uZW5hYmxlZCghdCksdGhpcy5fZG91YmxlQ2xpY2tJbnRlcmFjdGlvbi5lbmFibGVkKCF0KX1pbnRlcnBvbGF0ZVpvb20odCxlLG4saSl7bGV0IHI9dGhpcy54U2NhbGUoKS5kb21haW4oKVswXS52YWx1ZU9mKCksbz10aGlzLnhTY2FsZSgpLmRvbWFpbigpWzFdLnZhbHVlT2YoKSxhPXRoaXMueVNjYWxlKCkuZG9tYWluKClbMF0udmFsdWVPZigpLHM9dGhpcy55U2NhbGUoKS5kb21haW4oKVsxXS52YWx1ZU9mKCksbD10aGlzLmVhc2VGbixjPSh0LGUsbik9PnJwKHQsZSkobChuKSk7dGhpcy5pc1pvb21pbmcoITApO2xldCB1PURhdGUubm93KCksaD0oKT0+e2xldCBsPURhdGUubm93KCksZD0wPT09dGhpcy5fYW5pbWF0aW9uVGltZT8xOk1hdGgubWluKDEsKGwtdSkvdGhpcy5fYW5pbWF0aW9uVGltZSkscD1jKHIsdCxkKSxmPWMobyxlLGQpLG09YyhhLG4sZCksZz1jKHMsaSxkKTt0aGlzLnhTY2FsZSgpLmRvbWFpbihbcCxmXSksdGhpcy55U2NhbGUoKS5kb21haW4oW20sZ10pLGQ8MT9OTy5VdGlscy5ET00ucmVxdWVzdEFuaW1hdGlvbkZyYW1lUG9seWZpbGwoaCk6KHRoaXMub25FbmQoKSx0aGlzLmlzWm9vbWluZyghMSkpfTtoKCl9fXZhciByQXQsb0F0LGFBdDshKGZ1bmN0aW9uKHQpe3RbdC5OT05FPTBdPSJOT05FIix0W3QuRFJBR19aT09NSU5HPTFdPSJEUkFHX1pPT01JTkciLHRbdC5QQU5OSU5HPTJdPSJQQU5OSU5HIn0pKHJBdHx8KHJBdD17fSkpO2NsYXNzIHNBdCBleHRlbmRzIE5PLkNvbXBvbmVudHMuR3JvdXB7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKCksdGhpcy5zdGF0ZT1yQXQuTk9ORSx0aGlzLnBhblN0YXJ0Q2FsbGJhY2s9bmV3IE5PLlV0aWxzLkNhbGxiYWNrU2V0LHRoaXMucGFuRW5kQ2FsbGJhY2s9bmV3IE5PLlV0aWxzLkNhbGxiYWNrU2V0LHRoaXMucGFuWm9vbT1uZXcgTk8uSW50ZXJhY3Rpb25zLlBhblpvb20odCxlKSx0aGlzLnBhblpvb20uZHJhZ0ludGVyYWN0aW9uKCkubW91c2VGaWx0ZXIoKHQ9PnNBdC5pc1BhbktleSh0KSYmMD09PXQuYnV0dG9uKSksdGhpcy5wYW5ab29tLndoZWVsRmlsdGVyKHRoaXMuY2FuU2Nyb2xsWm9vbSksdGhpcy5kcmFnWm9vbUxheWVyPW5ldyBpQXQodCxlLG4pLHRoaXMuZHJhZ1pvb21MYXllci5kcmFnSW50ZXJhY3Rpb24oKS5tb3VzZUZpbHRlcigodD0+IXNBdC5pc1BhbktleSh0KSYmMD09PXQuYnV0dG9uKSksdGhpcy5hcHBlbmQodGhpcy5kcmFnWm9vbUxheWVyKTtjb25zdCBpPXRoaXMub25XaGVlbC5iaW5kKHRoaXMpO3RoaXMub25BbmNob3IoKCgpPT57dGhpcy5fbW91c2VEaXNwYXRjaGVyPU5PLkRpc3BhdGNoZXJzLk1vdXNlLmdldERpc3BhdGNoZXIodGhpcyksdGhpcy5fbW91c2VEaXNwYXRjaGVyLm9uV2hlZWwoaSksdGhpcy5wYW5ab29tLmF0dGFjaFRvKHRoaXMpfSkpLHRoaXMub25EZXRhY2goKCgpPT57dGhpcy5wYW5ab29tLmRldGFjaEZyb20odGhpcyksdGhpcy5fbW91c2VEaXNwYXRjaGVyJiYodGhpcy5fbW91c2VEaXNwYXRjaGVyLm9mZldoZWVsKGkpLHRoaXMuX21vdXNlRGlzcGF0Y2hlcj1udWxsKX0pKSx0aGlzLnBhblpvb20uZHJhZ0ludGVyYWN0aW9uKCkub25EcmFnU3RhcnQoKCgpPT57dGhpcy5zdGF0ZT09ckF0Lk5PTkUmJnRoaXMuc2V0U3RhdGUockF0LlBBTk5JTkcpfSkpLHRoaXMucGFuWm9vbS5kcmFnSW50ZXJhY3Rpb24oKS5vbkRyYWdFbmQoKCgpPT57dGhpcy5zdGF0ZT09ckF0LlBBTk5JTkcmJnRoaXMuc2V0U3RhdGUockF0Lk5PTkUpfSkpLHRoaXMuZHJhZ1pvb21MYXllci5kcmFnSW50ZXJhY3Rpb24oKS5vbkRyYWdTdGFydCgoKCk9Pnt0aGlzLnN0YXRlPT1yQXQuTk9ORSYmdGhpcy5zZXRTdGF0ZShyQXQuRFJBR19aT09NSU5HKX0pKSx0aGlzLmRyYWdab29tTGF5ZXIuZHJhZ0ludGVyYWN0aW9uKCkub25EcmFnRW5kKCgoKT0+e3RoaXMuc3RhdGU9PXJBdC5EUkFHX1pPT01JTkcmJnRoaXMuc2V0U3RhdGUockF0Lk5PTkUpfSkpfW9uV2hlZWwodCxlKXtpZih0aGlzLmNhblNjcm9sbFpvb20oZSkpcmV0dXJuO2NvbnN0IG49dGhpcy5lbGVtZW50KCk7aWYoIW4uc2VsZWN0KCIuaGVscCIpLmVtcHR5KCkpcmV0dXJuO2NvbnN0IGk9bi5hcHBlbmQoImRpdiIpLmNsYXNzZWQoImhlbHAiLCEwKTtpLmFwcGVuZCgic3BhbiIpLnRleHQoIkFsdCArIFNjcm9sbCB0byBab29tIiksaS5vbigiYW5pbWF0aW9uZW5kIiwoKCk9PntpLnJlbW92ZSgpfSkpfXN0YXRpYyBpc1BhbktleSh0KXtyZXR1cm4gQm9vbGVhbih0LmFsdEtleSl8fEJvb2xlYW4odC5zaGlmdEtleSl9Y2FuU2Nyb2xsWm9vbSh0KXtyZXR1cm4gdC5hbHRLZXl9c2V0U3RhdGUodCl7aWYodGhpcy5zdGF0ZT09dClyZXR1cm47Y29uc3QgZT10aGlzLnN0YXRlO3RoaXMuc3RhdGU9dCx0aGlzLnJvb3QoKS5yZW1vdmVDbGFzcyh0aGlzLnN0YXRlQ2xhc3NOYW1lKGUpKSx0aGlzLnJvb3QoKS5hZGRDbGFzcyh0aGlzLnN0YXRlQ2xhc3NOYW1lKHQpKSxlPT1yQXQuUEFOTklORyYmdGhpcy5wYW5FbmRDYWxsYmFjay5jYWxsQ2FsbGJhY2tzKCksdD09ckF0LlBBTk5JTkcmJnRoaXMucGFuU3RhcnRDYWxsYmFjay5jYWxsQ2FsbGJhY2tzKCl9c3RhdGVDbGFzc05hbWUodCl7c3dpdGNoKHQpe2Nhc2UgckF0LlBBTk5JTkc6cmV0dXJuInBhbm5pbmciO2Nhc2UgckF0LkRSQUdfWk9PTUlORzpyZXR1cm4iZHJhZy16b29taW5nIjtjYXNlIHJBdC5OT05FOmRlZmF1bHQ6cmV0dXJuIiJ9fW9uUGFuU3RhcnQodCl7dGhpcy5wYW5TdGFydENhbGxiYWNrLmFkZCh0KX1vblBhbkVuZCh0KXt0aGlzLnBhbkVuZENhbGxiYWNrLmFkZCh0KX1vblNjcm9sbFpvb20odCl7dGhpcy5wYW5ab29tLm9uWm9vbUVuZCh0KX1vbkRyYWdab29tU3RhcnQodCl7dGhpcy5kcmFnWm9vbUxheWVyLmludGVyYWN0aW9uU3RhcnQodCl9b25EcmFnWm9vbUVuZCh0KXt0aGlzLmRyYWdab29tTGF5ZXIuaW50ZXJhY3Rpb25FbmQodCl9fSEoZnVuY3Rpb24odCl7dFt0LlRFWFQ9MF09IlRFWFQiLHRbdC5ET009MV09IkRPTSJ9KShvQXR8fChvQXQ9e30pKSwoZnVuY3Rpb24odCl7dC5MT0c9ImxvZyIsdC5MSU5FQVI9ImxpbmVhciJ9KShhQXR8fChhQXQ9e30pKTtjbGFzcyBsQXR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8sYSxzLGwsYyx1KXt0aGlzLmRpcnR5RGF0YXNldHM9bmV3IFNldCx0aGlzLnNlcmllc05hbWVzPVtdLHRoaXMubmFtZTJkYXRhc2V0cz17fSx0aGlzLmNvbG9yU2NhbGU9aSx0aGlzLnRvb2x0aXA9cix0aGlzLmRhdGFzZXRzPVtdLHRoaXMuX2lnbm9yZVlPdXRsaWVycz0hMSx0aGlzLmxhc3RQb2ludHNEYXRhc2V0PW5ldyBOTy5EYXRhc2V0LHRoaXMubmFuRGF0YXNldD1uZXcgTk8uRGF0YXNldCx0aGlzLnlWYWx1ZUFjY2Vzc29yPWUsdGhpcy5zeW1ib2xGdW5jdGlvbj1jLHRoaXMuX2RlZmF1bHRYUmFuZ2U9cyx0aGlzLl9kZWZhdWx0WVJhbmdlPWwsdGhpcy50b29sdGlwQ29sdW1ucz1vLHRoaXMuYnVpbGRDaGFydCh0LGUsbixhLHUpfWJ1aWxkQ2hhcnQodCxlLG4saSxyKXt0aGlzLmRlc3Ryb3koKTtjb25zdCBvPXQoKTt0aGlzLnhBY2Nlc3Nvcj1vLmFjY2Vzc29yLHRoaXMueFNjYWxlPW8uc2NhbGUsdGhpcy54QXhpcz1vLmF4aXMsdGhpcy54QXhpcy5tYXJnaW4oMSkudGlja0xhYmVsUGFkZGluZygzKSxyJiZ0aGlzLnhBeGlzLmZvcm1hdHRlcihyKSx0aGlzLnlTY2FsZT1sQXQuZ2V0WVNjYWxlRnJvbVR5cGUobiksdGhpcy55U2NhbGUuc2V0VmFsdWVQcm92aWRlckZvckRvbWFpbigoKCk9PnRoaXMuZ2V0VmFsdWVzRm9yWUF4aXNEb21haW5Db21wdXRlKCkpKSx0aGlzLnlBeGlzPW5ldyBOTy5BeGVzLk51bWVyaWModGhpcy55U2NhbGUsImxlZnQiKTtsZXQgYT1TQ3QoMyk7dGhpcy55QXhpcy5tYXJnaW4oMCkudGlja0xhYmVsUGFkZGluZyg1KS5mb3JtYXR0ZXIoYSksdGhpcy55QXhpcy51c2VzVGV4dFdpZHRoQXBwcm94aW1hdGlvbighMCksdGhpcy5maWxsQXJlYT1pO2NvbnN0IHM9bmV3IHNBdCh0aGlzLnhTY2FsZSx0aGlzLnlTY2FsZSwoKCk9PnRoaXMucmVzZXREb21haW4oKSkpO3RoaXMudG9vbHRpcEludGVyYWN0aW9uPXRoaXMuY3JlYXRlVG9vbHRpcEludGVyYWN0aW9uKHMpLHRoaXMudG9vbHRpcFBvaW50c0NvbXBvbmVudD1uZXcgTk8uQ29tcG9uZW50O2NvbnN0IGw9dGhpcy5idWlsZFBsb3QodGhpcy54U2NhbGUsdGhpcy55U2NhbGUsaSk7dGhpcy5ncmlkbGluZXM9bmV3IE5PLkNvbXBvbmVudHMuR3JpZGxpbmVzKHRoaXMueFNjYWxlLHRoaXMueVNjYWxlKTtsZXQgYz1udWxsO24hPT1hQXQuTE9HJiYoYz1uZXcgTk8uQ29tcG9uZW50cy5HdWlkZUxpbmVMYXllcigiaG9yaXpvbnRhbCIpLGMuc2NhbGUodGhpcy55U2NhbGUpLnZhbHVlKDApKTtsZXQgdT1uZXcgTk8uQ29tcG9uZW50cy5HdWlkZUxpbmVMYXllcigidmVydGljYWwiKTt1LnNjYWxlKHRoaXMueFNjYWxlKS52YWx1ZSgwKSx0aGlzLmNlbnRlcj1uZXcgTk8uQ29tcG9uZW50cy5Hcm91cChbdGhpcy5ncmlkbGluZXMsYyx1LGwsdGhpcy50b29sdGlwUG9pbnRzQ29tcG9uZW50LHNdKSx0aGlzLmNlbnRlci5hZGRDbGFzcygibWFpbiIpLHRoaXMub3V0ZXI9bmV3IE5PLkNvbXBvbmVudHMuVGFibGUoW1t0aGlzLnlBeGlzLHRoaXMuY2VudGVyXSxbbnVsbCx0aGlzLnhBeGlzXV0pfWJ1aWxkUGxvdCh0LGUsbil7biYmKHRoaXMubWFyZ2luQXJlYVBsb3Q9bmV3IE5PLlBsb3RzLkFyZWEsdGhpcy5tYXJnaW5BcmVhUGxvdC54KHRoaXMueEFjY2Vzc29yLHQpLHRoaXMubWFyZ2luQXJlYVBsb3QueShuLmhpZ2hlckFjY2Vzc29yLGUpLHRoaXMubWFyZ2luQXJlYVBsb3QueTAobi5sb3dlckFjY2Vzc29yKSx0aGlzLm1hcmdpbkFyZWFQbG90LmF0dHIoImZpbGwiLCgodCxlLG4pPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUobi5tZXRhZGF0YSgpLm5hbWUpKSksdGhpcy5tYXJnaW5BcmVhUGxvdC5hdHRyKCJmaWxsLW9wYWNpdHkiLC4zKSx0aGlzLm1hcmdpbkFyZWFQbG90LmF0dHIoInN0cm9rZS13aWR0aCIsMCkpLHRoaXMuc21vb3RoZWRBY2Nlc3Nvcj10PT50LnNtb290aGVkO2xldCBpPW5ldyBOTy5QbG90cy5MaW5lO2kueCh0aGlzLnhBY2Nlc3Nvcix0KSxpLnkodGhpcy55VmFsdWVBY2Nlc3NvcixlKSxpLmF0dHIoInN0cm9rZSIsKCh0LGUsbik9PnRoaXMuY29sb3JTY2FsZS5zY2FsZShuLm1ldGFkYXRhKCkubmFtZSkpKSx0aGlzLmxpbmVQbG90PWksdGhpcy5zZXR1cFRvb2x0aXBzKGkpO2xldCByPW5ldyBOTy5QbG90cy5MaW5lO2lmKHIueCh0aGlzLnhBY2Nlc3Nvcix0KSxyLnkodGhpcy5zbW9vdGhlZEFjY2Vzc29yLGUpLHIuYXR0cigic3Ryb2tlIiwoKHQsZSxuKT0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKG4ubWV0YWRhdGEoKS5uYW1lKSkpLHRoaXMuc21vb3RoTGluZVBsb3Q9cix0aGlzLnN5bWJvbEZ1bmN0aW9uKXtjb25zdCBuPW5ldyBOTy5QbG90cy5TY2F0dGVyO24ueCh0aGlzLnhBY2Nlc3Nvcix0KSxuLnkodGhpcy55VmFsdWVBY2Nlc3NvcixlKSxuLmF0dHIoImZpbGwiLCgodCxlLG4pPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUobi5tZXRhZGF0YSgpLm5hbWUpKSksbi5hdHRyKCJvcGFjaXR5IiwxKSxuLnNpemUoOCksbi5zeW1ib2woKCh0LGUsbik9PnRoaXMuc3ltYm9sRnVuY3Rpb24obi5tZXRhZGF0YSgpLm5hbWUpKSksdGhpcy5tYXJrZXJzU2NhdHRlclBsb3Q9bn1sZXQgbz1uZXcgTk8uUGxvdHMuU2NhdHRlcjtvLngodGhpcy54QWNjZXNzb3IsdCksby55KHRoaXMueVZhbHVlQWNjZXNzb3IsZSksby5hdHRyKCJmaWxsIiwodD0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKHQubmFtZSkpKSxvLmF0dHIoIm9wYWNpdHkiLDEpLG8uc2l6ZSg4KSxvLmRhdGFzZXRzKFt0aGlzLmxhc3RQb2ludHNEYXRhc2V0XSksdGhpcy5zY2F0dGVyUGxvdD1vO2xldCBhPW5ldyBOTy5QbG90cy5TY2F0dGVyO2EueCh0aGlzLnhBY2Nlc3Nvcix0KSxhLnkoKHQ9PnQuZGlzcGxheVkpLGUpLGEuYXR0cigiZmlsbCIsKHQ9PnRoaXMuY29sb3JTY2FsZS5zY2FsZSh0Lm5hbWUpKSksYS5hdHRyKCJvcGFjaXR5IiwxKSxhLnNpemUoMTIpLGEuZGF0YXNldHMoW3RoaXMubmFuRGF0YXNldF0pLGEuc3ltYm9sKE5PLlN5bWJvbEZhY3Rvcmllcy50cmlhbmdsZSksdGhpcy5uYW5EaXNwbGF5PWE7Y29uc3Qgcz1bYSxvLHIsaV07cmV0dXJuIHRoaXMubWFyZ2luQXJlYVBsb3QmJnMucHVzaCh0aGlzLm1hcmdpbkFyZWFQbG90KSx0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdCYmcy5wdXNoKHRoaXMubWFya2Vyc1NjYXR0ZXJQbG90KSxuZXcgTk8uQ29tcG9uZW50cy5Hcm91cChzKX1pZ25vcmVZT3V0bGllcnModCl7dCE9PXRoaXMuX2lnbm9yZVlPdXRsaWVycyYmKHRoaXMuX2lnbm9yZVlPdXRsaWVycz10LHRoaXMudXBkYXRlU3BlY2lhbERhdGFzZXRzKCksdGhpcy55U2NhbGUuaWdub3JlT3V0bGllcih0KSx0aGlzLnJlc2V0WURvbWFpbigpKX1nZXRWYWx1ZXNGb3JZQXhpc0RvbWFpbkNvbXB1dGUoKXtjb25zdCB0PXRoaXMuZ2V0QWNjZXNzb3JzRm9yQ29tcHV0aW5nWVJhbmdlKCk7cmV0dXJuIENlLmV4cG9ydHMuZmxhdHRlbkRlZXAodGhpcy5kYXRhc2V0cy5tYXAoKGU9PnQubWFwKCh0PT5lLmRhdGEoKS5tYXAoKG49PnQobiwtMSxlKSkpKSkpKSkuZmlsdGVyKGlzRmluaXRlKX11cGRhdGVTcGVjaWFsRGF0YXNldHMoKXtjb25zdCB0PXRoaXMuZ2V0WUF4aXNBY2Nlc3NvcigpO2xldCBlPXRoaXMuZGF0YXNldHMubWFwKChlPT57bGV0IG49bnVsbCxpPWUuZGF0YSgpLmZpbHRlcigobj0+IWlzTmFOKHQobiwtMSxlKSkpKTtpZihpLmxlbmd0aD4wKXtuPWlbaS5sZW5ndGgtMV0sbi5uYW1lPWUubWV0YWRhdGEoKS5uYW1lLG4ucmVsYXRpdmU9Q0N0KG4sMCxlKX1yZXR1cm4gbn0pKS5maWx0ZXIoKHQ9Pm51bGwhPXQpKTt0aGlzLmxhc3RQb2ludHNEYXRhc2V0LmRhdGEoZSksdGhpcy5tYXJrZXJzU2NhdHRlclBsb3QmJnRoaXMubWFya2Vyc1NjYXR0ZXJQbG90LmRhdGFzZXRzKHRoaXMuZGF0YXNldHMubWFwKHRoaXMuY3JlYXRlU2FtcGxlZERhdGFzZXRGb3JNYXJrZXJzKSk7bGV0IG49Q2UuZXhwb3J0cy5mbGF0dGVuKHRoaXMuZGF0YXNldHMubWFwKChlPT57bGV0IG49bnVsbCxpPWUuZGF0YSgpLHI9MDtmb3IoO3I8aS5sZW5ndGgmJm51bGw9PW47KWlzTmFOKHQoaVtyXSwtMSxlKSl8fChuPXQoaVtyXSwtMSxlKSkscisrO251bGw9PW4mJihuPTApO2xldCBvPVtdO2ZvcihyPTA7cjxpLmxlbmd0aDtyKyspaXNOYU4odChpW3JdLC0xLGUpKT8oaVtyXS5uYW1lPWUubWV0YWRhdGEoKS5uYW1lLGlbcl0uZGlzcGxheVk9bixpW3JdLnJlbGF0aXZlPUNDdChpW3JdLDAsZSksby5wdXNoKGlbcl0pKTpuPXQoaVtyXSwtMSxlKTtyZXR1cm4gb30pKSk7dGhpcy5uYW5EYXRhc2V0LmRhdGEobil9cmVzZXREb21haW4oKXt0aGlzLnJlc2V0WERvbWFpbigpLHRoaXMucmVzZXRZRG9tYWluKCl9cmVzZXRYRG9tYWluKCl7bGV0IHQ7aWYobnVsbCE9dGhpcy5fZGVmYXVsdFhSYW5nZSl0PXRoaXMuX2RlZmF1bHRYUmFuZ2U7ZWxzZXtjb25zdCBlPXRoaXMueFNjYWxlO2UuX2RvbWFpbk1pbj1udWxsLGUuX2RvbWFpbk1heD1udWxsLHQ9ZS5fZ2V0RXh0ZW50KCl9dGhpcy54U2NhbGUuZG9tYWluKHQpfXJlc2V0WURvbWFpbigpe251bGwhPXRoaXMuX2RlZmF1bHRZUmFuZ2U/dGhpcy55U2NhbGUuZG9tYWluKHRoaXMuX2RlZmF1bHRZUmFuZ2UpOih0aGlzLnlTY2FsZS5hdXRvRG9tYWluKCksdGhpcy55U2NhbGUuZG9tYWluKHRoaXMueVNjYWxlLmRvbWFpbigpKSl9Z2V0QWNjZXNzb3JzRm9yQ29tcHV0aW5nWVJhbmdlKCl7Y29uc3QgdD1bdGhpcy5nZXRZQXhpc0FjY2Vzc29yKCldO3JldHVybiB0aGlzLmZpbGxBcmVhJiZ0LnB1c2godGhpcy5maWxsQXJlYS5sb3dlckFjY2Vzc29yLHRoaXMuZmlsbEFyZWEuaGlnaGVyQWNjZXNzb3IpLHR9Z2V0WUF4aXNBY2Nlc3Nvcigpe3JldHVybiB0aGlzLnNtb290aGluZ0VuYWJsZWQ/dGhpcy5zbW9vdGhlZEFjY2Vzc29yOnRoaXMueVZhbHVlQWNjZXNzb3J9Y3JlYXRlVG9vbHRpcEludGVyYWN0aW9uKHQpe2NvbnN0IGU9bmV3IE9DdCxuPSgpPT57ZS5lbmFibGVkKCExKSx0aGlzLmhpZGVUb29sdGlwcygpfSxpPSgpPT5lLmVuYWJsZWQoITApO3JldHVybiB0Lm9uUGFuU3RhcnQobiksdC5vbkRyYWdab29tU3RhcnQobiksdC5vblBhbkVuZChpKSx0Lm9uRHJhZ1pvb21FbmQoaSksdC5vblNjcm9sbFpvb20oKCgpPT50aGlzLnVwZGF0ZVRvb2x0aXBDb250ZW50KHRoaXMuX2xhc3RNb3VzZVBvc2l0aW9uKSkpLGUub25Qb2ludGVyTW92ZSgodD0+e3RoaXMuX2xhc3RNb3VzZVBvc2l0aW9uPXQsdGhpcy51cGRhdGVUb29sdGlwQ29udGVudCh0KX0pKSxlLm9uUG9pbnRlckV4aXQoKCgpPT50aGlzLmhpZGVUb29sdGlwcygpKSksZX11cGRhdGVUb29sdGlwQ29udGVudCh0KXt0aGlzLmxpbmVQbG90JiYod2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3Rvb2x0aXBVcGRhdGVBbmltYXRpb25GcmFtZSksdGhpcy5fdG9vbHRpcFVwZGF0ZUFuaW1hdGlvbkZyYW1lPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57bGV0IGU9e3g6dC54LHk6dC55LGRhdHVtOm51bGwsZGF0YXNldDpudWxsfSxuPXRoaXMuZ3JpZGxpbmVzLmNvbnRlbnQoKS5ub2RlKCkuZ2V0QkJveCgpLGk9dGhpcy5saW5lUGxvdC5kYXRhc2V0cygpLm1hcCgodD0+dGhpcy5maW5kQ2xvc2VzdFBvaW50KGUsdCkpKS5maWx0ZXIoQm9vbGVhbikscj1OTy5VdGlscy5ET00uaW50ZXJzZWN0c0JCb3gsbz1pLmZpbHRlcigodD0+cih0LngsdC55LG4pfHxpc05hTih0aGlzLnlWYWx1ZUFjY2Vzc29yKHQuZGF0dW0sMCx0LmRhdGFzZXQpKSkpLGE9by5maWx0ZXIoKHQ9PiFpc05hTih0aGlzLnlWYWx1ZUFjY2Vzc29yKHQuZGF0dW0sMCx0LmRhdGFzZXQpKSkpO2lmKDAhPT1pLmxlbmd0aCl7dGhpcy5zY2F0dGVyUGxvdC5hdHRyKCJkaXNwbGF5Iiwibm9uZSIpO2NvbnN0IHQ9dGhpcy50b29sdGlwUG9pbnRzQ29tcG9uZW50LmNvbnRlbnQoKS5zZWxlY3RBbGwoIi5wb2ludCIpLmRhdGEoYSwodD0+dC5kYXRhc2V0Lm1ldGFkYXRhKCkubmFtZSkpO3QuZW50ZXIoKS5hcHBlbmQoImNpcmNsZSIpLmNsYXNzZWQoInBvaW50IiwhMCksdC5hdHRyKCJyIiw0KS5hdHRyKCJjeCIsKHQ9PnQueCkpLmF0dHIoImN5IiwodD0+dC55KSkuc3R5bGUoInN0cm9rZSIsIm5vbmUiKS5hdHRyKCJmaWxsIiwodD0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKHQuZGF0YXNldC5tZXRhZGF0YSgpLm5hbWUpKSksdC5leGl0KCkucmVtb3ZlKCksdGhpcy5kcmF3VG9vbHRpcHMobyxlLHRoaXMudG9vbHRpcENvbHVtbnMpfWVsc2UgdGhpcy5oaWRlVG9vbHRpcHMoKX0pKSl9aGlkZVRvb2x0aXBzKCl7d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3Rvb2x0aXBVcGRhdGVBbmltYXRpb25GcmFtZSksdGhpcy50b29sdGlwLmhpZGUoKSx0aGlzLnNjYXR0ZXJQbG90LmF0dHIoImRpc3BsYXkiLCJibG9jayIpLHRoaXMudG9vbHRpcFBvaW50c0NvbXBvbmVudC5jb250ZW50KCkuc2VsZWN0QWxsKCIucG9pbnQiKS5yZW1vdmUoKX1zZXR1cFRvb2x0aXBzKHQpe3Qub25EZXRhY2goKCgpPT57dGhpcy50b29sdGlwSW50ZXJhY3Rpb24uZGV0YWNoRnJvbSh0KSx0aGlzLnRvb2x0aXBJbnRlcmFjdGlvbi5lbmFibGVkKCExKX0pKSx0Lm9uQW5jaG9yKCgoKT0+e3RoaXMudG9vbHRpcEludGVyYWN0aW9uLmF0dGFjaFRvKHQpLHRoaXMudG9vbHRpcEludGVyYWN0aW9uLmVuYWJsZWQoITApfSkpfWRyYXdUb29sdGlwcyh0LGUsbil7aWYoIXQubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMudG9vbHRpcC5oaWRlKCk7Y29uc3R7Y29sb3JTY2FsZTppfT10aGlzO249W3t0aXRsZToiIixzdGF0aWM6ITEsZXZhbFR5cGU6b0F0LkRPTSxldmFsdWF0ZSh0KXtyZXR1cm4gRHUodGhpcykuc2VsZWN0KCJzcGFuIikuc3R5bGUoImJhY2tncm91bmQtY29sb3IiLCgoKT0+aS5zY2FsZSh0LmRhdGFzZXQubWV0YWRhdGEoKS5uYW1lKSkpLCIifSxlbnRlcih0KXtEdSh0aGlzKS5hcHBlbmQoInNwYW4iKS5jbGFzc2VkKCJzd2F0Y2giLCEwKS5zdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsKCgpPT5pLnNjYWxlKHQuZGF0YXNldC5tZXRhZGF0YSgpLm5hbWUpKSl9fSwuLi5uXTtjb25zdCByPXQ9Pk1hdGgucG93KHQueC1lLngsMikrTWF0aC5wb3codC55LWUueSwyKSxvPUNlLmV4cG9ydHMubWluKHQubWFwKHIpKSxhPXRoaXMuc21vb3RoaW5nRW5hYmxlZD90aGlzLnNtb290aGVkQWNjZXNzb3I6dGhpcy55VmFsdWVBY2Nlc3Nvcjt0PSJhc2NlbmRpbmciPT09dGhpcy50b29sdGlwU29ydGluZ01ldGhvZD9DZS5leHBvcnRzLnNvcnRCeSh0LCh0PT5hKHQuZGF0dW0sLTEsdC5kYXRhc2V0KSkpOiJkZXNjZW5kaW5nIj09PXRoaXMudG9vbHRpcFNvcnRpbmdNZXRob2Q/Q2UuZXhwb3J0cy5zb3J0QnkodCwodD0+YSh0LmRhdHVtLC0xLHQuZGF0YXNldCkpKS5yZXZlcnNlKCk6Im5lYXJlc3QiPT09dGhpcy50b29sdGlwU29ydGluZ01ldGhvZD9DZS5leHBvcnRzLnNvcnRCeSh0LHIpOnQuc2xpY2UoMCkucmV2ZXJzZSgpO2NvbnN0IHM9dGhpcyxsPUR1KHRoaXMudG9vbHRpcC5jb250ZW50KCkpLnNlbGVjdCgidGFibGUiKSxjPWwuc2VsZWN0KCJ0aGVhZCIpLnNlbGVjdEFsbCgidGgiKS5kYXRhKG4sKCh0LGUsbik9PnQudGl0bGUpKTtjLmVudGVyKCkuYXBwZW5kKCJ0aCIpLnRleHQoKHQ9PnQudGl0bGUpKS5ub2RlcygpLGMuZXhpdCgpLnJlbW92ZSgpO2NvbnN0IHU9bC5zZWxlY3QoInRib2R5Iikuc2VsZWN0QWxsKCJ0ciIpLmRhdGEodCwoKHQsZSxuKT0+dC5kYXRhc2V0Lm1ldGFkYXRhKCkubmFtZSkpO3UuY2xhc3NlZCgiZGlzdGFudCIsKHQ9PntsZXQgbj10LmRhdGFzZXQuZGF0YSgpWzBdLGk9Q2UuZXhwb3J0cy5sYXN0KHQuZGF0YXNldC5kYXRhKCkpLHI9dGhpcy54U2NhbGUuc2NhbGUodGhpcy54QWNjZXNzb3IobiwwLHQuZGF0YXNldCkpLG89dGhpcy54U2NhbGUuc2NhbGUodGhpcy54QWNjZXNzb3IoaSwwLHQuZGF0YXNldCkpLGE9dGhpcy5zbW9vdGhpbmdFbmFibGVkP3QuZGF0dW0uc21vb3RoZWQ6dGhpcy55VmFsdWVBY2Nlc3Nvcih0LmRhdHVtLDAsdC5kYXRhc2V0KTtyZXR1cm4gZS54PHJ8fGUueD5vfHxpc05hTihhKX0pKS5jbGFzc2VkKCJjbG9zZXN0IiwodD0+cih0KT09PW8pKS5lYWNoKChmdW5jdGlvbih0KXtzLmRyYXdUb29sdGlwUm93KHRoaXMsbix0KX0pKS5vcmRlcigpLHUuZXhpdCgpLnJlbW92ZSgpLHUuZW50ZXIoKS5hcHBlbmQoInRyIikuZWFjaCgoZnVuY3Rpb24odCl7cy5kcmF3VG9vbHRpcFJvdyh0aGlzLG4sdCl9KSkubm9kZXMoKSx0aGlzLnRvb2x0aXAudXBkYXRlQW5kUG9zaXRpb24odGhpcy50YXJnZXRTVkcubm9kZSgpKX1kcmF3VG9vbHRpcFJvdyh0LGUsbil7Y29uc3QgaT10aGlzLHI9RHUodCkuc2VsZWN0QWxsKCJ0ZCIpLmRhdGEoZSk7ci5lYWNoKChmdW5jdGlvbih0KXt0LnN0YXRpY3x8aS5kcmF3VG9vbHRpcENvbHVtbi5jYWxsKGksdGhpcyx0LG4pfSkpLHIuZXhpdCgpLnJlbW92ZSgpLHIuZW50ZXIoKS5hcHBlbmQoInRkIikuZWFjaCgoZnVuY3Rpb24odCl7aWYoImVudGVyImluIHQmJnQuZW50ZXIpe3QuZW50ZXIuY2FsbCh0aGlzLG4pfWkuZHJhd1Rvb2x0aXBDb2x1bW4uY2FsbChpLHRoaXMsdCxuKX0pKX1kcmF3VG9vbHRpcENvbHVtbih0LGUsbil7Y29uc3R7c21vb3RoaW5nRW5hYmxlZDppfT10aGlzOyJldmFsVHlwZSJpbiBlJiZlLmV2YWxUeXBlPT1vQXQuRE9NP2UuZXZhbHVhdGUuY2FsbCh0LG4se3Ntb290aGluZ0VuYWJsZWQ6aX0pOkR1KHQpLnRleHQoZS5ldmFsdWF0ZS5jYWxsKHQsbix7c21vb3RoaW5nRW5hYmxlZDppfSkpfWZpbmRDbG9zZXN0UG9pbnQodCxlKXtjb25zdCBuPWUuZGF0YSgpLm1hcCgoKHQsbik9PnRoaXMueFNjYWxlLnNjYWxlKHRoaXMueEFjY2Vzc29yKHQsbixlKSkpKTtsZXQgaT1DZS5leHBvcnRzLnNvcnRlZEluZGV4KG4sdC54KTtpZigwPT1uLmxlbmd0aClyZXR1cm4gbnVsbDtpZihpPT09bi5sZW5ndGgpaS09MTtlbHNlIGlmKDAhPT1pKXtpPU1hdGguYWJzKG5baS0xXS10LngpPE1hdGguYWJzKG5baV0tdC54KT9pLTE6aX1jb25zdCByPWUuZGF0YSgpW2ldLG89dGhpcy5zbW9vdGhpbmdFbmFibGVkP3RoaXMuc21vb3RoZWRBY2Nlc3NvcihyLGksZSk6dGhpcy55VmFsdWVBY2Nlc3NvcihyLGksZSk7cmV0dXJue3g6bltpXSx5OnRoaXMueVNjYWxlLnNjYWxlKG8pLGRhdHVtOnIsZGF0YXNldDplfX1yZXNtb290aERhdGFzZXQodCl7bGV0IGU9dC5kYXRhKCk7Y29uc3Qgbj10aGlzLnNtb290aGluZ1dlaWdodDtsZXQgaT1lLmxlbmd0aD4wPzA6TmFOLHI9MDtjb25zdCBvPWUubWFwKCgoZSxuKT0+dGhpcy55VmFsdWVBY2Nlc3NvcihlLG4sdCkpKSxhPW8uZXZlcnkoKHQ9PnQ9PW9bMF0pKTtlLmZvckVhY2goKCh0LGUpPT57Y29uc3Qgcz1vW2VdO2lmKGF8fCFOdW1iZXIuaXNGaW5pdGUocykpdC5zbW9vdGhlZD1zO2Vsc2V7aT1pKm4rKDEtbikqcyxyKys7bGV0IGU9MTsxIT09biYmKGU9MS1NYXRoLnBvdyhuLHIpKSx0LnNtb290aGVkPWkvZX19KSl9Z2V0RGF0YXNldCh0KXtyZXR1cm4gdm9pZCAwPT09dGhpcy5uYW1lMmRhdGFzZXRzW3RdJiYodGhpcy5uYW1lMmRhdGFzZXRzW3RdPW5ldyBOTy5EYXRhc2V0KFtdLHtuYW1lOnQsbWV0YTpudWxsfSkpLHRoaXMubmFtZTJkYXRhc2V0c1t0XX1zdGF0aWMgZ2V0WVNjYWxlRnJvbVR5cGUodCl7aWYodD09PWFBdC5MT0cpcmV0dXJuIG5ldyBuQXQ7aWYodD09PWFBdC5MSU5FQVIpcmV0dXJuIG5ldyBaQ3Q7dGhyb3cgbmV3IEVycm9yKCJVbnJlY29nbml6ZWQgeVNjYWxlIHR5cGUgIit0KX1zZXRWaXNpYmxlU2VyaWVzKHQpe3RoaXMuZGlzYWJsZUNoYW5nZXMoKSwodD10LnNvcnQoKSkucmV2ZXJzZSgpLHRoaXMuc2VyaWVzTmFtZXM9dH1kaXNhYmxlQ2hhbmdlcygpe3RoaXMuZGlydHlEYXRhc2V0cy5zaXplfHwodGhpcy5saW5lUGxvdC5kYXRhc2V0cyhbXSksdGhpcy5zbW9vdGhMaW5lUGxvdCYmdGhpcy5zbW9vdGhMaW5lUGxvdC5kYXRhc2V0cyhbXSksdGhpcy5tYXJnaW5BcmVhUGxvdCYmdGhpcy5tYXJnaW5BcmVhUGxvdC5kYXRhc2V0cyhbXSkpfWNvbW1pdENoYW5nZXMoKXt0aGlzLmRhdGFzZXRzPXRoaXMuc2VyaWVzTmFtZXMubWFwKCh0PT50aGlzLmdldERhdGFzZXQodCkpKSxbLi4udGhpcy5kaXJ0eURhdGFzZXRzXS5mb3JFYWNoKCh0PT57dGhpcy5zbW9vdGhpbmdFbmFibGVkJiZ0aGlzLnJlc21vb3RoRGF0YXNldCh0aGlzLmdldERhdGFzZXQodCkpfSkpLHRoaXMudXBkYXRlU3BlY2lhbERhdGFzZXRzKCksdGhpcy5saW5lUGxvdC5kYXRhc2V0cyh0aGlzLmRhdGFzZXRzKSx0aGlzLnNtb290aGluZ0VuYWJsZWQmJnRoaXMuc21vb3RoTGluZVBsb3QuZGF0YXNldHModGhpcy5kYXRhc2V0cyksdGhpcy5tYXJnaW5BcmVhUGxvdCYmdGhpcy5tYXJnaW5BcmVhUGxvdC5kYXRhc2V0cyh0aGlzLmRhdGFzZXRzKSx0aGlzLm1lYXN1cmVCQm94QW5kTWF5YmVJbnZhbGlkYXRlTGF5b3V0SW5SYWYoKSx0aGlzLmRpcnR5RGF0YXNldHMuY2xlYXIoKX1jcmVhdGVTYW1wbGVkRGF0YXNldEZvck1hcmtlcnModCl7Y29uc3QgZT10LmRhdGEoKTtpZihlLmxlbmd0aDw9MjApcmV0dXJuIHQ7Y29uc3Qgbj1NYXRoLmNlaWwoZS5sZW5ndGgvMjApLGk9bmV3IEFycmF5KE1hdGguZmxvb3IoZS5sZW5ndGgvbikpO2ZvcihsZXQgdD0wLHI9MDt0PGkubGVuZ3RoO3QrKyxyKz1uKWlbdF09ZVtyXTtyZXR1cm4gbmV3IE5PLkRhdGFzZXQoaSx0Lm1ldGFkYXRhKCkpfXNldFNlcmllc0RhdGEodCxlKXt0aGlzLmRpc2FibGVDaGFuZ2VzKCksdGhpcy5nZXREYXRhc2V0KHQpLmRhdGEoZSksdGhpcy5kaXJ0eURhdGFzZXRzLmFkZCh0KX1zZXRTZXJpZXNNZXRhZGF0YSh0LGUpe3RoaXMuZGlzYWJsZUNoYW5nZXMoKSx0aGlzLmdldERhdGFzZXQodCkubWV0YWRhdGEoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMuZ2V0RGF0YXNldCh0KS5tZXRhZGF0YSgpKSx7bWV0YTplfSkpLHRoaXMuZGlydHlEYXRhc2V0cy5hZGQodCl9c21vb3RoaW5nVXBkYXRlKHQpe3RoaXMuc21vb3RoaW5nV2VpZ2h0PXQsdGhpcy5kYXRhc2V0cy5mb3JFYWNoKCh0PT50aGlzLnJlc21vb3RoRGF0YXNldCh0KSkpLHRoaXMuc21vb3RoaW5nRW5hYmxlZHx8KHRoaXMubGluZVBsb3QuYWRkQ2xhc3MoImdob3N0IiksdGhpcy5zY2F0dGVyUGxvdC55KHRoaXMuc21vb3RoZWRBY2Nlc3Nvcix0aGlzLnlTY2FsZSksdGhpcy5zbW9vdGhpbmdFbmFibGVkPSEwLHRoaXMuc21vb3RoTGluZVBsb3QuZGF0YXNldHModGhpcy5kYXRhc2V0cykpLHRoaXMubWFya2Vyc1NjYXR0ZXJQbG90JiZ0aGlzLm1hcmtlcnNTY2F0dGVyUGxvdC55KHRoaXMuZ2V0WUF4aXNBY2Nlc3NvcigpLHRoaXMueVNjYWxlKSx0aGlzLnVwZGF0ZVNwZWNpYWxEYXRhc2V0cygpfXNtb290aGluZ0Rpc2FibGUoKXt0aGlzLnNtb290aGluZ0VuYWJsZWQmJih0aGlzLmxpbmVQbG90LnJlbW92ZUNsYXNzKCJnaG9zdCIpLHRoaXMuc2NhdHRlclBsb3QueSh0aGlzLnlWYWx1ZUFjY2Vzc29yLHRoaXMueVNjYWxlKSx0aGlzLnNtb290aExpbmVQbG90LmRhdGFzZXRzKFtdKSx0aGlzLnNtb290aGluZ0VuYWJsZWQ9ITEsdGhpcy51cGRhdGVTcGVjaWFsRGF0YXNldHMoKSksdGhpcy5tYXJrZXJzU2NhdHRlclBsb3QmJnRoaXMubWFya2Vyc1NjYXR0ZXJQbG90LnkodGhpcy5nZXRZQXhpc0FjY2Vzc29yKCksdGhpcy55U2NhbGUpfXNldENvbG9yU2NhbGUodCl7dGhpcy5jb2xvclNjYWxlPXR9c2V0VG9vbHRpcENvbHVtbnModCl7dGhpcy50b29sdGlwQ29sdW1ucz10fXNldFRvb2x0aXBTb3J0aW5nTWV0aG9kKHQpe3RoaXMudG9vbHRpcFNvcnRpbmdNZXRob2Q9dH1yZW5kZXJUbyh0KXt0aGlzLnRhcmdldFNWRz10LHRoaXMub3V0ZXIucmVuZGVyVG8odCksbnVsbCE9dGhpcy5fZGVmYXVsdFhSYW5nZSYmdGhpcy5yZXNldFhEb21haW4oKSxudWxsIT10aGlzLl9kZWZhdWx0WVJhbmdlJiZ0aGlzLnJlc2V0WURvbWFpbigpLHRoaXMubWVhc3VyZUJCb3hBbmRNYXliZUludmFsaWRhdGVMYXlvdXRJblJhZigpfXJlZHJhdygpe3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yZWRyYXdSYWYpLHRoaXMuX3JlZHJhd1JhZj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMubWVhc3VyZUJCb3hBbmRNYXliZUludmFsaWRhdGVMYXlvdXQoKSx0aGlzLm91dGVyLnJlZHJhdygpfSkpfW1lYXN1cmVCQm94QW5kTWF5YmVJbnZhbGlkYXRlTGF5b3V0SW5SYWYoKXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5faW52YWxpZGF0ZUxheW91dFJhZiksdGhpcy5faW52YWxpZGF0ZUxheW91dFJhZj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMubWVhc3VyZUJCb3hBbmRNYXliZUludmFsaWRhdGVMYXlvdXQoKX0pKX1tZWFzdXJlQkJveEFuZE1heWJlSW52YWxpZGF0ZUxheW91dCgpe2lmKHRoaXMuX2xhc3REcmF3QkJveCl7Y29uc3R7d2lkdGg6dH09dGhpcy5fbGFzdERyYXdCQm94LHt3aWR0aDplfT10aGlzLnRhcmdldFNWRy5ub2RlKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7MD09dCYmdDxlJiZ0aGlzLm91dGVyLmludmFsaWRhdGVDYWNoZSgpfXRoaXMuX2xhc3REcmF3QkJveD10aGlzLnRhcmdldFNWRy5ub2RlKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9ZGVzdHJveSgpe3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yZWRyYXdSYWYpLHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9pbnZhbGlkYXRlTGF5b3V0UmFmKSx0aGlzLm91dGVyJiZ0aGlzLm91dGVyLmRlc3Ryb3koKX1vbkFuY2hvcih0KXt0aGlzLm91dGVyJiZ0aGlzLm91dGVyLm9uQW5jaG9yKHQpfWlzRGF0YUZpdFRvRG9tYWluKCl7cmV0dXJuIHQodGhpcy54QXhpcy5nZXRTY2FsZSgpKSYmdCh0aGlzLnlBeGlzLmdldFNjYWxlKCkpO2Z1bmN0aW9uIHQodCl7Y29uc3QgZT10LmdldFRyYW5zZm9ybWF0aW9uRG9tYWluKCksbj10LmdldFRyYW5zZm9ybWF0aW9uRXh0ZW50KCk7cmV0dXJuIG5bMF09PT1lWzBdJiZuWzFdPT09ZVsxXX19fXZhciBjQXQ7bWwoe21vZHVsZU5hbWU6InBsb3R0YWJsZS1zdHlsZSIsc3R5bGVDb250ZW50OiJcbiAgICBcbi5wbG90dGFibGUtY29sb3JzLTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTI3OWM3OyAvKiBJTkRJR08gKi9cbn1cblxuLnBsb3R0YWJsZS1jb2xvcnMtMSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZDM3M2U7IC8qIENPUkFMX1JFRCAqL1xufVxuXG4ucGxvdHRhYmxlLWNvbG9ycy0yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYzYzI2MTsgLyogRkVSTiAqL1xufVxuXG4ucGxvdHRhYmxlLWNvbG9ycy0zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZDQxOTsgLyogQlJJR0hUX1NVTiAqL1xufVxuXG4ucGxvdHRhYmxlLWNvbG9ycy00IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjMmI2ZjsgLyogSkFDQVJUQSAqL1xufVxuXG4ucGxvdHRhYmxlLWNvbG9ycy01IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzkzOTsgLyogQlVSTklOR19PUkFOR0UgKi9cbn1cblxuLnBsb3R0YWJsZS1jb2xvcnMtNiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYjJlNjU7IC8qIENFUklTRV9SRUQgKi9cbn1cblxuLnBsb3R0YWJsZS1jb2xvcnMtNyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OWNlNTA7IC8qIENPTklGRVIgKi9cbn1cblxuLnBsb3R0YWJsZS1jb2xvcnMtOCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NjI1NjU7IC8qIFJPWUFMX0hFQVRIICovXG59XG5cbi5wbG90dGFibGUtY29sb3JzLTkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZjY2NjOyAvKiBST0JJTlNfRUdHX0JMVUUgKi9cbn1cblxuLyoqXG4gKiBVc2VyLXN1cHBsaWVkIHJlbmRlclRvIGVsZW1lbnQuXG4gKi9cbi5wbG90dGFibGUge1xuICBkaXNwbGF5OiBibG9jazsgLyogbXVzdCBiZSBibG9jayBlbGVtZW50cyBmb3Igd2lkdGgvaGVpZ2h0IGNhbGN1bGF0aW9ucyB0byB3b3JrIGluIEZpcmVmb3guICovXG4gIHBvaW50ZXItZXZlbnRzOiB2aXNpYmxlRmlsbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKipcbiAgICogUHJlIDMuMCwgdXNlcnMgY291bGQgc2V0IHRoZSBkaW1lbnNpb24gb2YgdGhlIHJvb3QgZWxlbWVudCBpbiB0d28gd2F5czogZWl0aGVyIHVzaW5nIENTU1xuICAgKiAoaW5saW5lIG9yIHRocm91Z2ggYSBzdHlsZXNoZWV0KSwgb3IgdXNpbmcgdGhlIFNWRyB3aWR0aC9oZWlnaHQgYXR0cmlidXRlcy4gQnkgZGVmYXVsdCwgd2VcbiAgICogc2V0IHRoZSBTVkcgd2lkdGgvaGVpZ2h0IGF0dHJpYnV0ZXMgdG8gMTAwJS5cbiAgICpcbiAgICogUG9zdCAzLjAgdGhlIHJvb3QgZWxlbWVudCBpcyBhbHdheXMgYSBub3JtYWwgZGl2IGFuZCB0aGUgb25seSB3YXkgdG8gc2V0IHRoZSBkaW1lbnNpb25zIGlzXG4gICAqIHRvIHVzZSBDU1MuIFRvIHJlcGxpY2F0ZSB0aGUgXCIxMDAlLWJ5LWRlZmF1bHRcIiBiZWhhdmlvciwgd2UgYXBwbHkgd2lkdGgvaGVpZ2h0IDEwMCUuXG4gICAqL1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKipcbiAqIFRoZSBfZWxlbWVudCB0aGF0IHJvb3RzIGVhY2ggQ29tcG9uZW50J3MgRE9NLlxuICovXG4ucGxvdHRhYmxlIC5jb21wb25lbnQge1xuICAvKiBBbGxvdyBjb21wb25lbnRzIHRvIGJlIHBvc2l0aW9uZWQgd2l0aCBleHBsaWNpdCBsZWZ0L3RvcC93aWR0aC9oZWlnaHQgc3R5bGVzICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnBsb3R0YWJsZSAuYmFja2dyb3VuZC1jb250YWluZXIsXG4ucGxvdHRhYmxlIC5jb250ZW50LFxuLnBsb3R0YWJsZSAuZm9yZWdyb3VuZC1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qKlxuICogRG9uJ3QgYWxsb3cgc3ZnIGVsZW1lbnRzIGFib3ZlIHRoZSBjb250ZW50IHRvIHN0ZWFsIGV2ZW50c1xuICovXG4ucGxvdHRhYmxlIC5mb3JlZ3JvdW5kLWNvbnRhaW5lciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucGxvdHRhYmxlIC5jb21wb25lbnQtb3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBsb3R0YWJsZSAuY29tcG9uZW50LW92ZXJmbG93LXZpc2libGUge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnBsb3R0YWJsZSAucGxvdC1jYW52YXMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBsb3R0YWJsZSAucGxvdC1jYW52YXMge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKipcbiAgICogUGxheSB3ZWxsIHdpdGggZGVmZXJyZWQgcmVuZGVyaW5nLlxuICAgKi9cbiAgdHJhbnNmb3JtLW9yaWdpbjogMHB4IDBweCAwcHg7XG59XG5cbi5wbG90dGFibGUgdGV4dCB7XG4gIHRleHQtcmVuZGVyaW5nOiBnZW9tZXRyaWNQcmVjaXNpb247XG59XG5cbi5wbG90dGFibGUgLmxhYmVsIHRleHQge1xuICBmaWxsOiAjMzIzMTNGO1xufVxuXG4ucGxvdHRhYmxlIC5iYXItbGFiZWwtdGV4dC1hcmVhIHRleHQsXG4ucGxvdHRhYmxlIC5zY2F0dGVyLWxhYmVsLXRleHQtYXJlYSB0ZXh0IHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucGxvdHRhYmxlIC5sYWJlbC1hcmVhIHRleHQge1xuICBmaWxsOiAjMzIzMTNGO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5wbG90dGFibGUgLmxpZ2h0LWxhYmVsIHRleHQge1xuICBmaWxsOiB3aGl0ZTtcbn1cblxuLnBsb3R0YWJsZSAuZGFyay1sYWJlbCB0ZXh0IHtcbiAgZmlsbDogIzMyMzEzRjtcbn1cblxuLnBsb3R0YWJsZSAub2ZmLWJhci1sYWJlbCB0ZXh0IHtcbiAgZmlsbDogIzMyMzEzRjtcbn1cblxuLnBsb3R0YWJsZSAuc3RhY2tlZC1iYXItbGFiZWwgdGV4dCB7XG4gIGZpbGw6ICMzMjMxM0Y7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLnBsb3R0YWJsZSAuc3RhY2tlZC1iYXItcGxvdCAub2ZmLWJhci1sYWJlbCB7XG4gIC8qIEhBQ0tIQUNLICMyNzk1OiBjb3JyZWN0IG9mZi1iYXIgbGFiZWwgbG9naWMgdG8gYmUgaW1wbGVtZW50ZWQgb24gU3RhY2tlZEJhciAqL1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLnBsb3R0YWJsZSAuYXhpcy1sYWJlbCB0ZXh0IHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnBsb3R0YWJsZSAudGl0bGUtbGFiZWwgdGV4dCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5wbG90dGFibGUgLmF4aXMgbGluZS5iYXNlbGluZSB7XG4gIHN0cm9rZTogI0NDQztcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG59XG5cbi5wbG90dGFibGUgLmF4aXMgbGluZS50aWNrLW1hcmsge1xuICBzdHJva2U6ICNDQ0M7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xufVxuXG4ucGxvdHRhYmxlIC5heGlzIHRleHQge1xuICBmaWxsOiAjMzIzMTNGO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi5wbG90dGFibGUgLmF4aXMgLmFubm90YXRpb24tY2lyY2xlIHtcbiAgZmlsbDogd2hpdGU7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xuICBzdHJva2U6ICNDQ0M7XG59XG5cbi5wbG90dGFibGUgLmF4aXMgLmFubm90YXRpb24tbGluZSB7XG4gIHN0cm9rZTogI0NDQztcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG59XG5cbi5wbG90dGFibGUgLmF4aXMgLmFubm90YXRpb24tcmVjdCB7XG4gIHN0cm9rZTogI0NDQztcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG4gIGZpbGw6IHdoaXRlO1xufVxuXG4ucGxvdHRhYmxlIC5iYXItcGxvdCAuYmFzZWxpbmUge1xuICBzdHJva2U6ICM5OTk7XG59XG5cbi5wbG90dGFibGUgLmdyaWRsaW5lcyBsaW5lIHtcbiAgc3Ryb2tlOiAjM0MzQzNDOyAvKiBoYWNraGFjazogZ3JpZGxpbmVzIHNob3VsZCBiZSBzb2xpZDsgc2VlICM4MjAgKi9cbiAgb3BhY2l0eTogMC4yNTtcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG59XG5cbi5wbG90dGFibGUgLnNlbGVjdGlvbi1ib3gtbGF5ZXIgLnNlbGVjdGlvbi1hcmVhIHtcbiAgZmlsbDogYmxhY2s7XG4gIGZpbGwtb3BhY2l0eTogMC4wMztcbiAgc3Ryb2tlOiAjQ0NDO1xufVxuLyogRHJhZ0JveExheWVyICovXG4ucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci54LXJlc2l6YWJsZSAuZHJhZy1lZGdlLWxyIHtcbiAgY3Vyc29yOiBldy1yZXNpemU7XG59XG4ucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci55LXJlc2l6YWJsZSAuZHJhZy1lZGdlLXRiIHtcbiAgY3Vyc29yOiBucy1yZXNpemU7XG59XG5cbi5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLngtcmVzaXphYmxlLnktcmVzaXphYmxlIC5kcmFnLWNvcm5lci10bCB7XG4gIGN1cnNvcjogbndzZS1yZXNpemU7XG59XG4ucGxvdHRhYmxlIC5kcmFnLWJveC1sYXllci54LXJlc2l6YWJsZS55LXJlc2l6YWJsZSAuZHJhZy1jb3JuZXItdHIge1xuICBjdXJzb3I6IG5lc3ctcmVzaXplO1xufVxuLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIueC1yZXNpemFibGUueS1yZXNpemFibGUgLmRyYWctY29ybmVyLWJsIHtcbiAgY3Vyc29yOiBuZXN3LXJlc2l6ZTtcbn1cbi5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLngtcmVzaXphYmxlLnktcmVzaXphYmxlIC5kcmFnLWNvcm5lci1iciB7XG4gIGN1cnNvcjogbndzZS1yZXNpemU7XG59XG5cbi5wbG90dGFibGUgLmRyYWctYm94LWxheWVyLm1vdmFibGUgLnNlbGVjdGlvbi1hcmVhIHtcbiAgY3Vyc29yOiBtb3ZlOyAvKiBJRSBmYWxsYmFjayAqL1xuICBjdXJzb3I6IC1tb3otZ3JhYjtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLnBsb3R0YWJsZSAuZHJhZy1ib3gtbGF5ZXIubW92YWJsZSAuc2VsZWN0aW9uLWFyZWE6YWN0aXZlIHtcbiAgY3Vyc29yOiAtbW96LWdyYWJiaW5nO1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG4vKiAvRHJhZ0JveExheWVyICovXG5cbi5wbG90dGFibGUgLmd1aWRlLWxpbmUtbGF5ZXIgbGluZS5ndWlkZS1saW5lIHtcbiAgc3Ryb2tlOiAjQ0NDO1xuICBzdHJva2Utd2lkdGg6IDFweDtcbn1cblxuLnBsb3R0YWJsZSAuZHJhZy1saW5lLWxheWVyLmVuYWJsZWQudmVydGljYWwgbGluZS5kcmFnLWVkZ2Uge1xuICBjdXJzb3I6IGV3LXJlc2l6ZTtcbn1cblxuLnBsb3R0YWJsZSAuZHJhZy1saW5lLWxheWVyLmVuYWJsZWQuaG9yaXpvbnRhbCBsaW5lLmRyYWctZWRnZSB7XG4gIGN1cnNvcjogbnMtcmVzaXplO1xufVxuXG4ucGxvdHRhYmxlIC5sZWdlbmQgdGV4dCB7XG4gIGZpbGw6ICMzMjMxM0Y7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi5wbG90dGFibGUgLmludGVycG9sYXRlZC1jb2xvci1sZWdlbmQgcmVjdC5zd2F0Y2gtYm91bmRpbmctYm94IHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlOiAjQ0NDO1xuICBzdHJva2Utd2lkdGg6IDFweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wbG90dGFibGUgLndhdGVyZmFsbC1wbG90IGxpbmUuY29ubmVjdG9yIHtcbiAgc3Ryb2tlOiAjQ0NDO1xuICBzdHJva2Utd2lkdGg6IDFweDtcbn1cblxuLnBsb3R0YWJsZSAucGllLXBsb3QgLmFyYy5vdXRsaW5lIHtcbiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbn1cblxuIn0pLChmdW5jdGlvbih0KXt0LkdST1VQPSJHIix0LkRJVj0iRElWIix0LlNWRz0iU1ZHIix0LlRFWFQ9IlRFWFQifSkoY0F0fHwoY0F0PXt9KSk7Y2xhc3MgdUF0IGV4dGVuZHMgY2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy51bmlxdWVJZD0wLHRoaXMucm9vdD10fWV4cG9ydEFzU3RyaW5nKCl7Y29uc3QgdD10aGlzLmNvbnZlcnQodGhpcy5yb290KTtpZighdClyZXR1cm4iIjtjb25zdCBlPXRoaXMuY3JlYXRlUm9vdFN2ZygpO3JldHVybiBlLmFwcGVuZENoaWxkKHQpLGUub3V0ZXJIVE1MfWNyZWF0ZVVuaXF1ZUlkKHQpe3JldHVybmAke3R9XyR7dGhpcy51bmlxdWVJZCsrfWB9Z2V0U2l6ZSgpe3JldHVybiB0aGlzLnJvb3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y3JlYXRlUm9vdFN2Zygpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3ZnIiksZT10aGlzLmdldFNpemUoKTtyZXR1cm4gdC5zZXRBdHRyaWJ1dGVOUygic3ZnIiwidmlld0JveCIsYDAgMCAke2Uud2lkdGh9ICR7ZS5oZWlnaHR9YCksdC5zZXRBdHRyaWJ1dGUoInhtbG5zIiwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKSx0fWNvbnZlcnQodCl7bGV0IGU9bnVsbDtjb25zdCBuPXQubm9kZU5hbWUudG9VcHBlckNhc2UoKTtpZih0Lm5vZGVUeXBlIT1Ob2RlLkVMRU1FTlRfTk9ERXx8biE9Y0F0LkRJViYmbiE9Y0F0LlNWRyllPXQuY2xvbmVOb2RlKCk7ZWxzZXtlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoY0F0LkdST1VQKTtjb25zdCBuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLGk9cGFyc2VJbnQobi5sZWZ0LDEwKSxyPXBhcnNlSW50KG4udG9wLDEwKTtpZihpfHxyKXtjb25zdCB0PXRoaXMuY3JlYXRlVW5pcXVlSWQoImNsaXAiKTtlLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIixgdHJhbnNsYXRlKCR7aX0sICR7cn0pYCksZS5zZXRBdHRyaWJ1dGUoImNsaXAtcGF0aCIsYHVybCgjJHt0fSlgKTtjb25zdCBvPXBhcnNlSW50KG4ud2lkdGgsMTApLGE9cGFyc2VJbnQobi5oZWlnaHQsMTApLHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicmVjdCIpO3Muc2V0QXR0cmlidXRlKCJ3aWR0aCIsU3RyaW5nKG8pKSxzLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IixTdHJpbmcoYSkpO2NvbnN0IGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJzdmciLCJjbGlwUGF0aCIpO2wuaWQ9dCxsLmFwcGVuZENoaWxkKHMpLGUuYXBwZW5kQ2hpbGQobCl9fUFycmF5LmZyb20odC5jaGlsZE5vZGVzKS5tYXAoKHQ9PnRoaXMuY29udmVydCh0KSkpLmZpbHRlcihCb29sZWFuKS5mb3JFYWNoKCh0PT5lLmFwcGVuZENoaWxkKHQpKSk7cmV0dXJuIGUubm9kZU5hbWUudG9VcHBlckNhc2UoKT09Y0F0LkdST1VQJiYhZS5oYXNDaGlsZE5vZGVzKCl8fHRoaXMuc2hvdWxkT21pdE5vZGUodCk/bnVsbDp0aGlzLnN0cmlwQ2xhc3ModGhpcy50cmFuc2ZlclN0eWxlKHQsZSkpfXN0cmlwQ2xhc3ModCl7cmV0dXJuIHQubm9kZVR5cGU9PU5vZGUuRUxFTUVOVF9OT0RFJiZ0LnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKSx0fXRyYW5zZmVyU3R5bGUodCxlKXtpZihlLm5vZGVUeXBlIT1Ob2RlLkVMRU1FTlRfTk9ERSlyZXR1cm4gZTtjb25zdCBuPWUsaT1lLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCkscj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KTtyZXR1cm4gaT09Y0F0LlRFWFQmJk9iamVjdC5hc3NpZ24obi5zdHlsZSx7Zm9udEZhbWlseTpyLmZvbnRGYW1pbHksZm9udFNpemU6ci5mb250U2l6ZSxmb250V2VpZ2h0OnIuZm9udFdlaWdodH0pLGkhPWNBdC5HUk9VUCYmKG4uc2V0QXR0cmlidXRlKCJmaWxsIixyLmZpbGwpLG4uc2V0QXR0cmlidXRlKCJzdHJva2UiLHIuc3Ryb2tlKSxuLnNldEF0dHJpYnV0ZSgic3Ryb2tlLXdpZHRoIixyLnN0cm9rZVdpZHRoKSksIjEiIT1yLm9wYWNpdHkmJm4uc2V0QXR0cmlidXRlKCJvcGFjaXR5IixyLm9wYWNpdHkpLGV9c2hvdWxkT21pdE5vZGUodCl7cmV0dXJuITF9fXtzaG91bGRPbWl0Tm9kZSh0KXtyZXR1cm4gdC5ub2RlVHlwZT09Tm9kZS5FTEVNRU5UX05PREUmJnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJzY2F0dGVyLXBsb3QiKX19bWwoe21vZHVsZU5hbWU6InZ6LXBhbi16b29tLXN0eWxlIixzdHlsZUNvbnRlbnQ6IlxuICAgIC5oZWxwIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlLW91dDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAuaGVscCA+IHNwYW4ge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGZhZGUtb3V0IHtcbiAgICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICAifSk7Y29uc3QgaEF0PVNDdCg0KSxkQXQ9dD0+aXNOYU4odCk/Ik5hTiI6aEF0KHQpLHBBdD1be3RpdGxlOiJOYW1lIixldmFsdWF0ZTp0PT50LmRhdGFzZXQubWV0YWRhdGEoKS5uYW1lfSx7dGl0bGU6IlNtb290aGVkIixldmFsdWF0ZSh0LGUpe2NvbnN0e3Ntb290aGluZ0VuYWJsZWQ6bn09ZTtyZXR1cm4gZEF0KG4/dC5kYXR1bS5zbW9vdGhlZDp0LmRhdHVtLnNjYWxhcil9fSx7dGl0bGU6IlZhbHVlIixldmFsdWF0ZTp0PT5kQXQodC5kYXR1bS5zY2FsYXIpfSx7dGl0bGU6IlN0ZXAiLGV2YWx1YXRlOnQ9Pk1DdCh0LmRhdHVtLnN0ZXApfSx7dGl0bGU6IlRpbWUiLGV2YWx1YXRlOnQ9PlRDdCh0LmRhdHVtLndhbGxfdGltZSl9LHt0aXRsZToiUmVsYXRpdmUiLGV2YWx1YXRlOnQ9PkFDdChDQ3QodC5kYXR1bSwwLHQuZGF0YXNldCkpfV07bGV0IGZBdD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuY29sb3JTY2FsZT0obmV3IE5PLlNjYWxlcy5Db2xvcikucmFuZ2UoakEuc2xpY2UoMCkpLHRoaXMuc21vb3RoaW5nRW5hYmxlZD0hMSx0aGlzLnNtb290aGluZ1dlaWdodD0uNix0aGlzLnhUeXBlPW51bGwsdGhpcy54Q29tcG9uZW50c0NyZWF0aW9uTWV0aG9kPW51bGwsdGhpcy55VmFsdWVBY2Nlc3Nvcj10PT50LnNjYWxhcix0aGlzLnRvb2x0aXBDb2x1bW5zPXBBdCx0aGlzLnlTY2FsZVR5cGU9YUF0LkxJTkVBUix0aGlzLmlnbm9yZVlPdXRsaWVycz0hMSx0aGlzLnRvb2x0aXBTb3J0aW5nTWV0aG9kPSJkZWZhdWx0Iix0aGlzLnRvb2x0aXBQb3NpdGlvbj16Q3QuQk9UVE9NLHRoaXMuX3Zpc2libGVTZXJpZXNDYWNoZT1bXSx0aGlzLl9zZXJpZXNEYXRhQ2FjaGU9e30sdGhpcy5fc2VyaWVzTWV0YWRhdGFDYWNoZT17fSx0aGlzLl9tYWtlQ2hhcnRBc3luY0NhbGxiYWNrSWQ9bnVsbH1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLmNoYXJ0ZGl2LCEwKX1hdHRhY2hlZCgpe2NvbnN0IHQ9e2NhcHR1cmU6ITAscGFzc2l2ZTohMH07dGhpcy5fbGlzdGVuKHRoaXMsIm1vdXNlZG93biIsdGhpcy5fb25Nb3VzZURvd24uYmluZCh0aGlzKSx0KSx0aGlzLl9saXN0ZW4odGhpcywibW91c2V1cCIsdGhpcy5fb25Nb3VzZVVwLmJpbmQodGhpcyksdCksdGhpcy5fbGlzdGVuKHdpbmRvdywia2V5ZG93biIsdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyksdCksdGhpcy5fbGlzdGVuKHdpbmRvdywia2V5dXAiLHRoaXMuX29uS2V5VXAuYmluZCh0aGlzKSx0KX1kZXRhY2hlZCgpe3RoaXMuY2FuY2VsQXN5bmModGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkKSx0aGlzLl9jaGFydCYmKHRoaXMuX2NoYXJ0LmRlc3Ryb3koKSx0aGlzLl9jaGFydD12b2lkIDApLHRoaXMuX2xpc3RlbmVycyYmKHRoaXMuX2xpc3RlbmVycy5mb3JFYWNoKCgoe25vZGU6dCxldmVudE5hbWU6ZSxmdW5jOm4sb3B0aW9uOml9KT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4saSl9KSksdGhpcy5fbGlzdGVuZXJzLmNsZWFyKCkpfV9saXN0ZW4odCxlLG4saT17fSl7dGhpcy5fbGlzdGVuZXJzfHwodGhpcy5fbGlzdGVuZXJzPW5ldyBTZXQpLHRoaXMuX2xpc3RlbmVycy5hZGQoe25vZGU6dCxldmVudE5hbWU6ZSxmdW5jOm4sb3B0aW9uOml9KSx0LmFkZEV2ZW50TGlzdGVuZXIoZSxuLGkpfV9vbktleURvd24odCl7dGhpcy50b2dnbGVDbGFzcygicGFua2V5IixzQXQuaXNQYW5LZXkodCkpfV9vbktleVVwKHQpe3RoaXMudG9nZ2xlQ2xhc3MoInBhbmtleSIsc0F0LmlzUGFuS2V5KHQpKX1fb25Nb3VzZURvd24odCl7dGhpcy50b2dnbGVDbGFzcygibW91c2Vkb3duIiwhMCl9X29uTW91c2VVcCh0KXt0aGlzLnRvZ2dsZUNsYXNzKCJtb3VzZWRvd24iLCExKX1pc0RhdGFGaXRUb0RvbWFpbigpe3JldHVybiF0aGlzLl9jaGFydHx8dGhpcy5fY2hhcnQuaXNEYXRhRml0VG9Eb21haW4oKX1zZXRWaXNpYmxlU2VyaWVzKHQpe0NlLmV4cG9ydHMuaXNFcXVhbCh0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUsdCl8fCh0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGU9dCl9c2V0U2VyaWVzRGF0YSh0LGUpe3RoaXMuX3Nlcmllc0RhdGFDYWNoZVt0XT1lLHRoaXMuX2NoYXJ0JiZ0aGlzLl9jaGFydC5zZXRTZXJpZXNEYXRhKHQsZSl9c2V0U2VyaWVzTWV0YWRhdGEodCxlKXt0aGlzLl9zZXJpZXNNZXRhZGF0YUNhY2hlW3RdPWUsdGhpcy5fY2hhcnQmJnRoaXMuX2NoYXJ0LnNldFNlcmllc01ldGFkYXRhKHQsZSl9Y29tbWl0Q2hhbmdlcygpe3RoaXMuX2NoYXJ0JiZ0aGlzLl9jaGFydC5jb21taXRDaGFuZ2VzKCl9cmVzZXREb21haW4oKXt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQucmVzZXREb21haW4oKX1yZWRyYXcoKXt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQucmVkcmF3KCl9X21ha2VDaGFydCgpe251bGwhPT10aGlzLl9tYWtlQ2hhcnRBc3luY0NhbGxiYWNrSWQmJih0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZCksdGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPW51bGwpLHRoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZD10aGlzLmFzeW5jKChmdW5jdGlvbigpe3RoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZD1udWxsO2xldCB0PXRoaXMueENvbXBvbmVudHNDcmVhdGlvbk1ldGhvZDtpZih0aGlzLnhUeXBlfHx0P3RoaXMueFR5cGUmJih0PSgpPT5rQ3QodGhpcy54VHlwZSkpOnQ9RUN0LHQmJnRoaXMueVZhbHVlQWNjZXNzb3ImJnRoaXMudG9vbHRpcENvbHVtbnMpe3ZhciBlPW5ldyBsQXQodCx0aGlzLnlWYWx1ZUFjY2Vzc29yLHRoaXMueVNjYWxlVHlwZSx0aGlzLmNvbG9yU2NhbGUsdGhpcy4kLnRvb2x0aXAsdGhpcy50b29sdGlwQ29sdW1ucyx0aGlzLmZpbGxBcmVhLHRoaXMuZGVmYXVsdFhSYW5nZSx0aGlzLmRlZmF1bHRZUmFuZ2UsdGhpcy5zeW1ib2xGdW5jdGlvbix0aGlzLnhBeGlzRm9ybWF0dGVyKSxuPUR1KHRoaXMuJC5jaGFydGRpdik7ZS5yZW5kZXJUbyhuKSx0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuZGVzdHJveSgpLHRoaXMuX2NoYXJ0PWUsdGhpcy5fY2hhcnQub25BbmNob3IoKCgpPT50aGlzLmZpcmUoImNoYXJ0LWF0dGFjaGVkIikpKX19KSwzNTApfV9yZWxvYWRGcm9tQ2FjaGUoKXt0aGlzLl9jaGFydCYmKHRoaXMuX3Zpc2libGVTZXJpZXNDYWNoZS5mb3JFYWNoKCh0PT57dGhpcy5fY2hhcnQuc2V0U2VyaWVzRGF0YSh0LHRoaXMuX3Nlcmllc0RhdGFDYWNoZVt0XXx8W10pfSkpLHRoaXMuX3Zpc2libGVTZXJpZXNDYWNoZS5maWx0ZXIoKHQ9PnRoaXMuX3Nlcmllc01ldGFkYXRhQ2FjaGVbdF0pKS5mb3JFYWNoKCh0PT57dGhpcy5fY2hhcnQuc2V0U2VyaWVzTWV0YWRhdGEodCx0aGlzLl9zZXJpZXNNZXRhZGF0YUNhY2hlW3RdKX0pKSx0aGlzLl9jaGFydC5zZXRWaXNpYmxlU2VyaWVzKHRoaXMuX3Zpc2libGVTZXJpZXNDYWNoZSksdGhpcy5fY2hhcnQuY29tbWl0Q2hhbmdlcygpKX1fc21vb3RoaW5nQ2hhbmdlZCgpe3RoaXMuX2NoYXJ0JiYodGhpcy5zbW9vdGhpbmdFbmFibGVkP3RoaXMuX2NoYXJ0LnNtb290aGluZ1VwZGF0ZSh0aGlzLnNtb290aGluZ1dlaWdodCk6dGhpcy5fY2hhcnQuc21vb3RoaW5nRGlzYWJsZSgpKX1fb3V0bGllcnNDaGFuZ2VkKCl7dGhpcy5fY2hhcnQmJnRoaXMuX2NoYXJ0Lmlnbm9yZVlPdXRsaWVycyh0aGlzLmlnbm9yZVlPdXRsaWVycyl9X2NvbG9yU2NhbGVDaGFuZ2VkKCl7dGhpcy5fY2hhcnQmJih0aGlzLl9jaGFydC5zZXRDb2xvclNjYWxlKHRoaXMuY29sb3JTY2FsZSksdGhpcy5fY2hhcnQucmVkcmF3KCkpfV90b29sdGlwQ29sdW1uc0NoYW5nZWQoKXt0aGlzLl9jaGFydCYmdGhpcy5fY2hhcnQuc2V0VG9vbHRpcENvbHVtbnModGhpcy50b29sdGlwQ29sdW1ucyl9X3Rvb2x0aXBTb3J0aW5nTWV0aG9kQ2hhbmdlZCgpe3RoaXMuX2NoYXJ0JiZ0aGlzLl9jaGFydC5zZXRUb29sdGlwU29ydGluZ01ldGhvZCh0aGlzLnRvb2x0aXBTb3J0aW5nTWV0aG9kKX1nZXRFeHBvcnRlcigpe3JldHVybiBuZXcgdUF0KHRoaXMuJC5jaGFydGRpdil9fTtmQXQudGVtcGxhdGU9eGVgCiAgICA8ZGl2IGlkPSJjaGFydGRpdiI+PC9kaXY+CiAgICA8dnotY2hhcnQtdG9vbHRpcAogICAgICBpZD0idG9vbHRpcCIKICAgICAgcG9zaXRpb249IltbdG9vbHRpcFBvc2l0aW9uXV0iCiAgICAgIGNvbnRlbnQtY29tcG9uZW50LW5hbWU9InZ6LWxpbmUtY2hhcnQtdG9vbHRpcCIKICAgID48L3Z6LWNoYXJ0LXRvb2x0aXA+CiAgICA8c3R5bGUgaW5jbHVkZT0icGxvdHRhYmxlLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlIGluY2x1ZGU9InZ6LXBhbi16b29tLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQogICAgICBkaXYgewogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgIH0KCiAgICAgICNjaGFydGRpdiAubWFpbiB7CiAgICAgICAgY29udGFpbjogc3RyaWN0OwogICAgICAgIGN1cnNvcjogY3Jvc3NoYWlyOwogICAgICB9CgogICAgICA6aG9zdCgucGFua2V5KSAjY2hhcnRkaXYgOm5vdCguZHJhZy16b29taW5nKSAubWFpbiB7CiAgICAgICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7CiAgICAgICAgY3Vyc29yOiBncmFiOwogICAgICB9CgogICAgICA6aG9zdCgubW91c2Vkb3duKSAjY2hhcnRkaXYgLnBhbm5pbmcgLm1haW4gewogICAgICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZzsKICAgICAgICBjdXJzb3I6IGdyYWJiaW5nOwogICAgICB9CgogICAgICAjY2hhcnRkaXYgewogICAgICAgIGNvbnRhaW46IHN0cmljdDsKICAgICAgfQoKICAgICAgI2NoYXJ0ZGl2IGxpbmUuZ3VpZGUtbGluZSB7CiAgICAgICAgc3Ryb2tlOiAjOTk5OwogICAgICAgIHN0cm9rZS13aWR0aDogMS41cHg7CiAgICAgIH0KICAgICAgI2NoYXJ0ZGl2OmhvdmVyIC5tYWluIHsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CgogICAgICAuZ2hvc3QgewogICAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgICBzdHJva2Utd2lkdGg6IDFweDsKICAgICAgfQoKICAgICAgLnBsb3R0YWJsZSAuYXhpcyB0ZXh0IHsKICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7CiAgICAgIH0KCiAgICAgIC5wbG90dGFibGUgLmdyaWRsaW5lcyBsaW5lIHsKICAgICAgICBzdHJva2U6IHZhcigtLXRiLXNlY29uZGFyeS10ZXh0LWNvbG9yKTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE5PLlNjYWxlcy5Db2xvcildLGZBdC5wcm90b3R5cGUsImNvbG9yU2NhbGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSxmQXQucHJvdG90eXBlLCJzeW1ib2xGdW5jdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxmQXQucHJvdG90eXBlLCJzbW9vdGhpbmdFbmFibGVkIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGZBdC5wcm90b3R5cGUsInNtb290aGluZ1dlaWdodCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxmQXQucHJvdG90eXBlLCJ4VHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLGZBdC5wcm90b3R5cGUsInhDb21wb25lbnRzQ3JlYXRpb25NZXRob2QiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSxmQXQucHJvdG90eXBlLCJ4QXhpc0Zvcm1hdHRlciIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLGZBdC5wcm90b3R5cGUsInlWYWx1ZUFjY2Vzc29yIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxmQXQucHJvdG90eXBlLCJ0b29sdGlwQ29sdW1ucyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxmQXQucHJvdG90eXBlLCJmaWxsQXJlYSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sZkF0LnByb3RvdHlwZSwiZGVmYXVsdFhSYW5nZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sZkF0LnByb3RvdHlwZSwiZGVmYXVsdFlSYW5nZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxmQXQucHJvdG90eXBlLCJ5U2NhbGVUeXBlIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sZkF0LnByb3RvdHlwZSwiaWdub3JlWU91dGxpZXJzIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGZBdC5wcm90b3R5cGUsInRvb2x0aXBTb3J0aW5nTWV0aG9kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGZBdC5wcm90b3R5cGUsInRvb2x0aXBQb3NpdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxmQXQucHJvdG90eXBlLCJfY2hhcnQiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLGZBdC5wcm90b3R5cGUsIl92aXNpYmxlU2VyaWVzQ2FjaGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZkF0LnByb3RvdHlwZSwiX3Nlcmllc0RhdGFDYWNoZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxmQXQucHJvdG90eXBlLCJfc2VyaWVzTWV0YWRhdGFDYWNoZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxmQXQucHJvdG90eXBlLCJfbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkIix2b2lkIDApLHQoW2EoInhDb21wb25lbnRzQ3JlYXRpb25NZXRob2QiLCJ4VHlwZSIsInlWYWx1ZUFjY2Vzc29yIiwieVNjYWxlVHlwZSIsImlzQXR0YWNoZWQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGZBdC5wcm90b3R5cGUsIl9tYWtlQ2hhcnQiLG51bGwpLHQoW2EoIl9jaGFydCIsIl92aXNpYmxlU2VyaWVzQ2FjaGUiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGZBdC5wcm90b3R5cGUsIl9yZWxvYWRGcm9tQ2FjaGUiLG51bGwpLHQoW2EoInNtb290aGluZ0VuYWJsZWQiLCJzbW9vdGhpbmdXZWlnaHQiLCJfY2hhcnQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGZBdC5wcm90b3R5cGUsIl9zbW9vdGhpbmdDaGFuZ2VkIixudWxsKSx0KFthKCJpZ25vcmVZT3V0bGllcnMiLCJfY2hhcnQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGZBdC5wcm90b3R5cGUsIl9vdXRsaWVyc0NoYW5nZWQiLG51bGwpLHQoW2EoImNvbG9yU2NhbGUiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGZBdC5wcm90b3R5cGUsIl9jb2xvclNjYWxlQ2hhbmdlZCIsbnVsbCksdChbYSgidG9vbHRpcENvbHVtbnMiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGZBdC5wcm90b3R5cGUsIl90b29sdGlwQ29sdW1uc0NoYW5nZWQiLG51bGwpLHQoW2EoInRvb2x0aXBTb3J0aW5nTWV0aG9kIiwiX2NoYXJ0IiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxmQXQucHJvdG90eXBlLCJfdG9vbHRpcFNvcnRpbmdNZXRob2RDaGFuZ2VkIixudWxsKSxmQXQ9dChbaSgidnotbGluZS1jaGFydDIiKV0sZkF0KTtsZXQgbUF0PWNsYXNzIGV4dGVuZHMgd2V7fTttQXQudGVtcGxhdGU9eGVgCiAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgPHRhYmxlPgogICAgICAgIDx0aGVhZD48L3RoZWFkPgogICAgICAgIDx0Ym9keT48L3Rib2R5PgogICAgICA8L3RhYmxlPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgdGFibGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07CiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgIH0KCiAgICAgIHRoZWFkIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIHRib2R5IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgdGQgewogICAgICAgIHBhZGRpbmc6IDAgNXB4OwogICAgICB9CgogICAgICAuc3dhdGNoIHsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIHdpZHRoOiAxOHB4OwogICAgICB9CgogICAgICAuY2xvc2VzdCAuc3dhdGNoIHsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggI2ZmZjsKICAgICAgfQoKICAgICAgdGggewogICAgICAgIHBhZGRpbmc6IDAgNXB4OwogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgIH0KCiAgICAgIC5kaXN0YW50IHRkOm5vdCguc3dhdGNoKSB7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICB9CgogICAgICAuZ2hvc3QgewogICAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgICBzdHJva2Utd2lkdGg6IDFweDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLG1BdD10KFtpKCJ2ei1saW5lLWNoYXJ0LXRvb2x0aXAiKV0sbUF0KTtjb25zdCBnQXQ9W107Y29uc3QgX0F0PUNlLmV4cG9ydHMudGhyb3R0bGUoKGZ1bmN0aW9uIHQoKXtpZigwPT1nQXQubGVuZ3RoKXJldHVybjtjb25zdCBlPWdBdC5zaGlmdCgpO2UmJmUuYWN0aXZlJiYoZS5yZWRyYXcoKSxlLl9tYXliZVJlbmRlcmVkSW5CYWRTdGF0ZT0hMSksd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKDApLHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodCl9KSwxMDApO2xldCB5QXQ9Y2xhc3MgZXh0ZW5kcyhiQ3QoY3Iod2UpKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3JlZHJhd1JhZj1udWxsLHRoaXMuYWN0aXZlPSExLHRoaXMubG9nU2NhbGVBY3RpdmU9ITEsdGhpcy5jb2xvclNjYWxlPXtzY2FsZTpfT30sdGhpcy5fcmVzZXREb21haW5Pbk5leHRMb2FkPSEwLHRoaXMuX21heWJlUmVuZGVyZWRJbkJhZFN0YXRlPSExfW9uTG9hZEZpbmlzaCgpe3RoaXMuY29tbWl0Q2hhbmdlcygpLHRoaXMuZGF0YVRvTG9hZC5sZW5ndGg+MCYmdGhpcy5fcmVzZXREb21haW5Pbk5leHRMb2FkJiYodGhpcy5fcmVzZXREb21haW5Pbk5leHRMb2FkPSExLHRoaXMuZ2V0Q2hhcnQoKS5yZXNldERvbWFpbigpKSx0aGlzLnJlZHJhdygpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSxudWxsIT09dGhpcy5fcmVkcmF3UmFmJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yZWRyYXdSYWYpfWV4cG9ydEFzU3ZnU3RyaW5nKCl7cmV0dXJuIHRoaXMuZ2V0Q2hhcnQoKS5nZXRFeHBvcnRlcigpLmV4cG9ydEFzU3RyaW5nKCl9Z2V0Q2hhcnQoKXtyZXR1cm4gdGhpcy4kLmNoYXJ0fXJlc2V0RG9tYWluKCl7dGhpcy5nZXRDaGFydCgpLnJlc2V0RG9tYWluKCl9c2V0U2VyaWVzRGF0YSh0LGUpe3RoaXMuZ2V0Q2hhcnQoKS5zZXRTZXJpZXNEYXRhKHQsZSl9c2V0U2VyaWVzTWV0YWRhdGEodCxlKXt0aGlzLmdldENoYXJ0KCkuc2V0U2VyaWVzTWV0YWRhdGEodCxlKX1jb21taXRDaGFuZ2VzKCl7dGhpcy5nZXRDaGFydCgpLmNvbW1pdENoYW5nZXMoKX1yZWRyYXcoKXtudWxsIT09dGhpcy5fcmVkcmF3UmFmJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yZWRyYXdSYWYpLHRoaXMuX3JlZHJhd1JhZj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuYWN0aXZlP3RoaXMuZ2V0Q2hhcnQoKS5yZWRyYXcoKTp0aGlzLl9tYXliZVJlbmRlcmVkSW5CYWRTdGF0ZT0hMH0pKX1fbG9hZEtleUNoYW5nZWQoKXt0aGlzLnJlc2V0KCksdGhpcy5fcmVzZXREb21haW5Pbk5leHRMb2FkPSEwfV9kYXRhU2VyaWVzQ2hhbmdlZCgpe3RoaXMuZ2V0Q2hhcnQoKS5zZXRWaXNpYmxlU2VyaWVzKHRoaXMuZGF0YVNlcmllcyl9X2xvZ1NjYWxlQ2hhbmdlZCh0KXt0aGlzLmdldENoYXJ0KCkueVNjYWxlVHlwZT10P2FBdC5MT0c6YUF0LkxJTkVBUix0aGlzLnJlZHJhdygpfV9maXhCYWRTdGF0ZVdoZW5BY3RpdmUoKXt0aGlzLmFjdGl2ZSYmdGhpcy5fbWF5YmVSZW5kZXJlZEluQmFkU3RhdGUmJihnQXQucHVzaCh0aGlzKSxfQXQoKSl9X29uQ2hhcnRBdHRhY2hlZCgpe3RoaXMuYWN0aXZlfHwodGhpcy5fbWF5YmVSZW5kZXJlZEluQmFkU3RhdGU9ITApfX07eUF0LnRlbXBsYXRlPXhlYAogICAgPGRpdiBpZD0iY2hhcnQtYW5kLXNwaW5uZXItY29udGFpbmVyIj4KICAgICAgPHZ6LWxpbmUtY2hhcnQyCiAgICAgICAgaWQ9ImNoYXJ0IgogICAgICAgIGRhdGEtbG9hZGluZyQ9IltbZGF0YUxvYWRpbmddXSIKICAgICAgICBkYXRhLWxvYWRlZC1vbmNlJD0iW1tkYXRhTG9hZGVkQXRMZWFzdE9uY2VdXSIKICAgICAgICBjb2xvci1zY2FsZT0iW1tjb2xvclNjYWxlXV0iCiAgICAgICAgZGVmYXVsdC14LXJhbmdlPSJbW2RlZmF1bHRYUmFuZ2VdXSIKICAgICAgICBkZWZhdWx0LXktcmFuZ2U9IltbZGVmYXVsdFlSYW5nZV1dIgogICAgICAgIGZpbGwtYXJlYT0iW1tmaWxsQXJlYV1dIgogICAgICAgIGlnbm9yZS15LW91dGxpZXJzPSJbW2lnbm9yZVlPdXRsaWVyc11dIgogICAgICAgIG9uLWNoYXJ0LWF0dGFjaGVkPSJfb25DaGFydEF0dGFjaGVkIgogICAgICAgIHNtb290aGluZy1lbmFibGVkPSJbW3Ntb290aGluZ0VuYWJsZWRdXSIKICAgICAgICBzbW9vdGhpbmctd2VpZ2h0PSJbW3Ntb290aGluZ1dlaWdodF1dIgogICAgICAgIHN5bWJvbC1mdW5jdGlvbj0iW1tzeW1ib2xGdW5jdGlvbl1dIgogICAgICAgIHRvb2x0aXAtY29sdW1ucz0iW1t0b29sdGlwQ29sdW1uc11dIgogICAgICAgIHRvb2x0aXAtcG9zaXRpb249IltbdG9vbHRpcFBvc2l0aW9uXV0iCiAgICAgICAgdG9vbHRpcC1zb3J0aW5nLW1ldGhvZD0iW1t0b29sdGlwU29ydGluZ01ldGhvZF1dIgogICAgICAgIHgtY29tcG9uZW50cy1jcmVhdGlvbi1tZXRob2Q9IltbeENvbXBvbmVudHNDcmVhdGlvbk1ldGhvZF1dIgogICAgICAgIHgtdHlwZT0iW1t4VHlwZV1dIgogICAgICAgIHktdmFsdWUtYWNjZXNzb3I9IltbeVZhbHVlQWNjZXNzb3JdXSIKICAgICAgPjwvdnotbGluZS1jaGFydDI+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tkYXRhTG9hZGluZ11dIj4KICAgICAgICA8ZGl2IGlkPSJsb2FkaW5nLXNwaW5uZXItY29udGFpbmVyIj4KICAgICAgICAgIDxwYXBlci1zcGlubmVyLWxpdGUgYWN0aXZlPSIiPjwvcGFwZXItc3Bpbm5lci1saXRlPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICA6aG9zdChbX21heWJlLXJlbmRlcmVkLWluLWJhZC1zdGF0ZV0pIHZ6LWxpbmUtY2hhcnQgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgI2NoYXJ0LWFuZC1zcGlubmVyLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAjbG9hZGluZy1zcGlubmVyLWNvbnRhaW5lciB7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgfQoKICAgICAgdnotbGluZS1jaGFydDIgewogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgdnotbGluZS1jaGFydDJbZGF0YS1sb2FkaW5nXSB7CiAgICAgICAgb3BhY2l0eTogMC4zOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfZml4QmFkU3RhdGVXaGVuQWN0aXZlIn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0seUF0LnByb3RvdHlwZSwiYWN0aXZlIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSx5QXQucHJvdG90eXBlLCJkYXRhU2VyaWVzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0seUF0LnByb3RvdHlwZSwicmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFuLG9ic2VydmVyOiJfbG9nU2NhbGVDaGFuZ2VkIn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0seUF0LnByb3RvdHlwZSwibG9nU2NhbGVBY3RpdmUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0seUF0LnByb3RvdHlwZSwieENvbXBvbmVudHNDcmVhdGlvbk1ldGhvZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx5QXQucHJvdG90eXBlLCJ4VHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLHlBdC5wcm90b3R5cGUsInlWYWx1ZUFjY2Vzc29yIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHlBdC5wcm90b3R5cGUsImZpbGxBcmVhIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0seUF0LnByb3RvdHlwZSwic21vb3RoaW5nRW5hYmxlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSx5QXQucHJvdG90eXBlLCJzbW9vdGhpbmdXZWlnaHQiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLHlBdC5wcm90b3R5cGUsInRvb2x0aXBDb2x1bW5zIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHlBdC5wcm90b3R5cGUsInRvb2x0aXBTb3J0aW5nTWV0aG9kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHlBdC5wcm90b3R5cGUsInRvb2x0aXBQb3NpdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHlBdC5wcm90b3R5cGUsImlnbm9yZVlPdXRsaWVycyIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0seUF0LnByb3RvdHlwZSwiZGVmYXVsdFhSYW5nZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0seUF0LnByb3RvdHlwZSwiZGVmYXVsdFlSYW5nZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLHlBdC5wcm90b3R5cGUsInN5bWJvbEZ1bmN0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHlBdC5wcm90b3R5cGUsImNvbG9yU2NhbGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSx5QXQucHJvdG90eXBlLCJfcmVzZXREb21haW5Pbk5leHRMb2FkIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHlBdC5wcm90b3R5cGUsIl9tYXliZVJlbmRlcmVkSW5CYWRTdGF0ZSIsdm9pZCAwKSx0KFthKCJsb2FkS2V5IiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSx5QXQucHJvdG90eXBlLCJfbG9hZEtleUNoYW5nZWQiLG51bGwpLHQoW2EoImRhdGFTZXJpZXMuKiIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0seUF0LnByb3RvdHlwZSwiX2RhdGFTZXJpZXNDaGFuZ2VkIixudWxsKSx5QXQ9dChbaSgidGYtbGluZS1jaGFydC1kYXRhLWxvYWRlciIpXSx5QXQpLG1sKHttb2R1bGVOYW1lOiJ0Zi1jdXN0b20tc2NhbGFyLWNhcmQtc3R5bGUiLHN0eWxlQ29udGVudDoiXG4gICAgOmhvc3Qge1xuICAgICAgbWFyZ2luOiA1cHggMTBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAzMzBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICB9XG5cbiAgICA6aG9zdChbX2V4cGFuZGVkXSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgOmhvc3QoW19leHBhbmRlZF0pICN0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgI3RmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAjYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICBwYXBlci1pY29uLWJ1dHRvbiB7XG4gICAgICBjb2xvcjogIzIxOTZmMztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIHBhZGRpbmc6IDRweDtcbiAgICB9XG5cbiAgICBwYXBlci1pY29uLWJ1dHRvbltzZWxlY3RlZF0ge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTtcbiAgICB9XG5cbiAgICAuZG93bmxvYWQtbGlua3Mge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICB9XG5cbiAgICAuZG93bmxvYWQtbGlua3MgYSB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDJweDtcbiAgICB9XG5cbiAgICAuZG93bmxvYWQtbGlua3MgcGFwZXItZHJvcGRvd24tbWVudSB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDoge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB9XG4gICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDoge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICAifSk7Y2xhc3MgdkF0e2NvbnN0cnVjdG9yKHQsZSxuLGkscil7dGhpcy5ydW49dCx0aGlzLnRhZz1lLHRoaXMubmFtZT1uLHRoaXMuc2NhbGFyRGF0YT1pLHRoaXMuc3ltYm9sPXJ9Z2V0TmFtZSgpe3JldHVybiB0aGlzLm5hbWV9c2V0RGF0YSh0KXt0aGlzLnNjYWxhckRhdGE9dH1nZXREYXRhKCl7cmV0dXJuIHRoaXMuc2NhbGFyRGF0YX1nZXRSdW4oKXtyZXR1cm4gdGhpcy5ydW59Z2V0VGFnKCl7cmV0dXJuIHRoaXMudGFnfWdldFN5bWJvbCgpe3JldHVybiB0aGlzLnN5bWJvbH19ZnVuY3Rpb24gYkF0KHQsZSl7cmV0dXJuYCR7ZX0gKCR7dH0pYH1jbGFzcyB4QXR7Y29uc3RydWN0b3IodCl7dGhpcy5ydW5CYXNlZENvbG9yU2NhbGU9dH1zY2FsZSh0KXtyZXR1cm4gdGhpcy5ydW5CYXNlZENvbG9yU2NhbGUuc2NhbGUodGhpcy5wYXJzZVJ1bk5hbWUodCkpfXBhcnNlUnVuTmFtZSh0KXtjb25zdCBlPXQubWF0Y2goL1woKC4qKVwpJC8pO3JldHVybiBlP2VbMV06IiJ9fWxldCB3QXQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmFjdGl2ZT0hMCx0aGlzLl9jb2xvclNjYWxlPW5ldyB4QXQoe3NjYWxlOl9PfSksdGhpcy5fbmFtZVRvRGF0YVNlcmllcz17fSx0aGlzLl9leHBhbmRlZD0hMSx0aGlzLl9yZXF1ZXN0RGF0YT0odCxlLG4pPT57Y29uc3QgaT1FcigpLnBsdWdpblJvdXRlKCJjdXN0b21fc2NhbGFycyIsIi9zY2FsYXJzIik7UHJvbWlzZS5hbGwodC5tYXAoKHQ9Pntjb25zdCBuPVBPKGkse3RhZzp0aGlzLl90YWdGaWx0ZXIscnVuOnR9KTtyZXR1cm4gdGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KG4pLnRoZW4oKG49PntlKHtpdGVtOnQsZGF0YTpufSl9KSl9KSkpLmZpbmFsbHkoKCgpPT57bigpfSkpfSx0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleD17fSx0aGlzLl9tYXRjaGVzTGlzdE9wZW5lZD0hMSx0aGlzLl9maWxsQXJlYT17bG93ZXJBY2Nlc3Nvcjp0PT50Lmxvd2VyLGhpZ2hlckFjY2Vzc29yOnQ9PnQudXBwZXJ9LHRoaXMuX3Rvb2x0aXBDb2x1bW5zPSgoKT0+e2NvbnN0IHQ9U0N0KDQpLGU9ZT0+aXNOYU4oZSk/Ik5hTiI6dChlKTtyZXR1cm5be3RpdGxlOiJOYW1lIixldmFsdWF0ZTp0PT50LmRhdGFzZXQubWV0YWRhdGEoKS5uYW1lfSx7dGl0bGU6IlZhbHVlIixldmFsdWF0ZTp0PT5lKHQuZGF0dW0uc2NhbGFyKX0se3RpdGxlOiJMb3dlciBNYXJnaW4iLGV2YWx1YXRlOnQ9PmUodC5kYXR1bS5sb3dlcil9LHt0aXRsZToiVXBwZXIgTWFyZ2luIixldmFsdWF0ZTp0PT5lKHQuZGF0dW0udXBwZXIpfSx7dGl0bGU6IlN0ZXAiLGV2YWx1YXRlOnQ9Pk1DdCh0LmRhdHVtLnN0ZXApfSx7dGl0bGU6IlRpbWUiLGV2YWx1YXRlOnQ9PlRDdCh0LmRhdHVtLndhbGxfdGltZSl9LHt0aXRsZToiUmVsYXRpdmUiLGV2YWx1YXRlOnQ9PkFDdChDQ3QodC5kYXR1bSwwLHQuZGF0YXNldCkpfV19KSgpLHRoaXMuX21pc3NpbmdUYWdzPVtdLHRoaXMuX21pc3NpbmdUYWdzQ29sbGFwc2libGVPcGVuZWQ9ITF9cmVsb2FkKCl7dGhpcy4kLmxvYWRlci5yZWxvYWQoKX1yZWRyYXcoKXt0aGlzLiQubG9hZGVyLnJlZHJhdygpfV90b2dnbGVFeHBhbmRlZCh0KXt0aGlzLnNldCgiX2V4cGFuZGVkIiwhdGhpcy5fZXhwYW5kZWQpLHRoaXMucmVkcmF3KCl9X3RvZ2dsZUxvZ1NjYWxlKCl7dGhpcy5zZXQoIl9sb2dTY2FsZUFjdGl2ZSIsIXRoaXMuX2xvZ1NjYWxlQWN0aXZlKX1fcmVzZXREb21haW4oKXtjb25zdCB0PXRoaXMuJC5sb2FkZXI7dCYmdC5yZXNldERvbWFpbigpfV9jc3ZVcmwodCxlKXtpZighZSlyZXR1cm4iIjtyZXR1cm4gUE8odGhpcy5fZG93bmxvYWREYXRhVXJsKHQsZSkse2Zvcm1hdDoiY3N2In0pfV9qc29uVXJsKHQsZSl7aWYoIWUpcmV0dXJuIiI7cmV0dXJuIFBPKHRoaXMuX2Rvd25sb2FkRGF0YVVybCh0LGUpLHtmb3JtYXQ6Impzb24ifSl9X2Rvd25sb2FkRGF0YVVybCh0LGUpe2NvbnN0IG49dFtlXSxpPXt0YWc6bi5nZXRUYWcoKSxydW46bi5nZXRSdW4oKX07cmV0dXJuIFBPKEVyKCkucGx1Z2luUm91dGUoImN1c3RvbV9zY2FsYXJzIiwiL2Rvd25sb2FkX2RhdGEiKSxpKX1fY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbih0KXtyZXR1cm4oZSxuLGkpPT57aWYoIWkucmVnZXhfdmFsaWQpcmV0dXJuIHZvaWQgdGhpcy5zZXQoIl90YWdGaWx0ZXJJbnZhbGlkIiwhMCk7Y29uc3Qgcj1DZS5leHBvcnRzLmNsb25lKHRoaXMuX25hbWVUb0RhdGFTZXJpZXMpLG89W107Q2UuZXhwb3J0cy5mb3JFYWNoKHQsKHQ9PntsZXQgZT0hMTtjb25zdCBhPWkudGFnX3RvX2V2ZW50c1t0LnZhbHVlXSxzPWkudGFnX3RvX2V2ZW50c1t0Lmxvd2VyXSxsPWkudGFnX3RvX2V2ZW50c1t0LnVwcGVyXTtpZihDZS5leHBvcnRzLmlzVW5kZWZpbmVkKGEpJiYoby5wdXNoKHQudmFsdWUpLGU9ITApLENlLmV4cG9ydHMuaXNVbmRlZmluZWQocykmJihvLnB1c2godC5sb3dlciksZT0hMCksQ2UuZXhwb3J0cy5pc1VuZGVmaW5lZChsKSYmKG8ucHVzaCh0LnVwcGVyKSxlPSEwKSxlKXJldHVybjtjb25zdCBjPXQ9PnRbMV0sdT10aGlzLl9maW5kU3RlcE1pc21hdGNoKHQsYS5tYXAoYykscy5tYXAoYyksbC5tYXAoYykpO2lmKHUpcmV0dXJuIHZvaWQgdGhpcy5zZXQoIl9zdGVwc01pc21hdGNoIix1KTtjb25zdCBoPXQ9PnRbMl0sZD1hLm1hcCgoKHQsZSk9Pih7d2FsbF90aW1lOm5ldyBEYXRlKDFlMyp0WzBdKSxzdGVwOmModCksc2NhbGFyOmgodCksbG93ZXI6aChzW2VdKSx1cHBlcjpoKGxbZV0pfSkpKSxwPWJBdChuLHQudmFsdWUpLGY9cltwXTtpZihmKWYuc2V0RGF0YShkKTtlbHNle2NvbnN0IGU9dGhpcy5fY3JlYXRlTmV3RGF0YVNlcmllcyhuLHQudmFsdWUscCxkKTtyW3BdPWV9fSkpLHRoaXMuc2V0KCJfbmFtZVRvRGF0YVNlcmllcyIscik7Y29uc3QgYT1DZS5leHBvcnRzLmZpbmRJbmRleCh0aGlzLl9taXNzaW5nVGFncywodD0+dC5ydW49PT1uKSk7aWYoby5sZW5ndGgmJjMhPW8ubGVuZ3RoKXtjb25zdCB0PXtydW46bix0YWdzOm99O2E+PTA/dGhpcy5zcGxpY2UoIl9taXNzaW5nVGFncyIsYSwxLHQpOnRoaXMucHVzaCgiX21pc3NpbmdUYWdzIix0KX1lbHNlIGE+PTAmJnRoaXMuc3BsaWNlKCJfbWlzc2luZ1RhZ3MiLGEsMSl9fV9maW5kU3RlcE1pc21hdGNoKHQsZSxuLGkpe3JldHVybiBDZS5leHBvcnRzLmlzRXF1YWwobixlKSYmQ2UuZXhwb3J0cy5pc0VxdWFsKGksZSk/bnVsbDp7c2VyaWVzT2JqZWN0OnQsdmFsdWVTdGVwczplLGxvd2VyU3RlcHM6bix1cHBlclN0ZXBzOml9fV9jcmVhdGVOZXdEYXRhU2VyaWVzKHQsZSxuLGkpe3RoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W3RdfD0wO2NvbnN0IHI9bmV3IHZBdCh0LGUsbixpLHhDdFt0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleFt0XV0pO3JldHVybiB0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleFt0XT0odGhpcy5fcnVuVG9OZXh0QXZhaWxhYmxlU3ltYm9sSW5kZXhbdF0rMSkleEN0Lmxlbmd0aCxyfV91cGRhdGVDaGFydCgpe0NlLmV4cG9ydHMuZm9yT3duKHRoaXMuX25hbWVUb0RhdGFTZXJpZXMsKHQ9Pnt0aGlzLiQubG9hZGVyLnNldFNlcmllc0RhdGEodC5nZXROYW1lKCksdC5nZXREYXRhKCkpfSkpLHRoaXMuJC5sb2FkZXIuY29tbWl0Q2hhbmdlcygpfWdldCBfc2VyaWVzTmFtZXMoKXtjb25zdCB0PW5ldyBTZXQodGhpcy5ydW5zKTtyZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy5fbmFtZVRvRGF0YVNlcmllcykuZmlsdGVyKCgoW2Usbl0pPT50LmhhcyhuLnJ1bikpKS5tYXAoKChbdF0pPT50KSl9X2RldGVybWluZUNvbG9yKHQsZSl7cmV0dXJuIHQuc2NhbGUoZSl9X3JlZnJlc2hEYXRhU2VyaWVzKCl7dGhpcy5zZXQoIl9uYW1lVG9EYXRhU2VyaWVzIix7fSl9X2NyZWF0ZVN5bWJvbEZ1bmN0aW9uKCl7cmV0dXJuIHQ9PnRoaXMuX25hbWVUb0RhdGFTZXJpZXNbdF0uZ2V0U3ltYm9sKCkubWV0aG9kKCl9X2RldGVybWluZVN5bWJvbCh0LGUpe3JldHVybiB0W2VdLmdldFN5bWJvbCgpLmNoYXJhY3Rlcn1nZXQgX3RhZ0ZpbHRlcigpe3JldHVybiBDZS5leHBvcnRzLmZsYXR0ZW4odGhpcy5tYXJnaW5DaGFydFNlcmllcy5tYXAoKHQ9Plt0LnZhbHVlLHQubG93ZXIsdC51cHBlcl0pKSkubWFwKCh0PT4iKCIrdGhpcy5fZXNjYXBlUmVnZXhDaGFyYWN0ZXJzKHQpKyIpIikpLmpvaW4oInwiKX1fZXNjYXBlUmVnZXhDaGFyYWN0ZXJzKHQpe3JldHVybiB0LnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLCJcXCQmIil9X2dldFRvZ2dsZUNvbGxhcHNpYmxlSWNvbih0KXtyZXR1cm4gdD8iZXhwYW5kLWxlc3MiOiJleHBhbmQtbW9yZSJ9X3RvZ2dsZU1hdGNoZXNPcGVuKCl7dGhpcy5zZXQoIl9tYXRjaGVzTGlzdE9wZW5lZCIsIXRoaXMuX21hdGNoZXNMaXN0T3BlbmVkKX1nZXQgX3RpdGxlRGlzcGxheVN0cmluZygpe3JldHVybiB0aGlzLnRpdGxlfHwidW50aXRsZWQifV9zZXBhcmF0ZVdpdGhDb21tYXModCl7cmV0dXJuIHQuam9pbigiLCAiKX1fdG9nZ2xlTWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW4oKXt0aGlzLnNldCgiX21pc3NpbmdUYWdzQ29sbGFwc2libGVPcGVuZWQiLCF0aGlzLl9taXNzaW5nVGFnc0NvbGxhcHNpYmxlT3BlbmVkKX1fbWF0Y2hMaXN0RW50cnlDb2xvclVwZGF0ZWQoKXtjb25zdCB0PXRoaXMuJCQoIiNtYXRjaC1saXN0LXJlcGVhdCIpO3QmJnRoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIubWF0Y2gtbGlzdC1lbnRyeSIpLmZvckVhY2goKGU9Pntjb25zdCBuPXQuaXRlbUZvckVsZW1lbnQoZSk7ZS5zdHlsZS5jb2xvcj10aGlzLl9kZXRlcm1pbmVDb2xvcih0aGlzLl9jb2xvclNjYWxlLG4pfSkpfX07d0F0LnRlbXBsYXRlPXhlYAogICAgPHRmLWNhcmQtaGVhZGluZyBkaXNwbGF5LW5hbWU9IltbX3RpdGxlRGlzcGxheVN0cmluZ11dIj48L3RmLWNhcmQtaGVhZGluZz4KICAgIDxkaXYgaWQ9InRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIj4KICAgICAgPHRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIKICAgICAgICBpZD0ibG9hZGVyIgogICAgICAgIGFjdGl2ZT0iW1thY3RpdmVdXSIKICAgICAgICBjb2xvci1zY2FsZT0iW1tfY29sb3JTY2FsZV1dIgogICAgICAgIGRhdGEtc2VyaWVzPSJbW19zZXJpZXNOYW1lc11dIgogICAgICAgIGZpbGwtYXJlYT0iW1tfZmlsbEFyZWFdXSIKICAgICAgICBpZ25vcmUteS1vdXRsaWVycz0iW1tpZ25vcmVZT3V0bGllcnNdXSIKICAgICAgICBsb2FkLWtleT0iW1tfdGFnRmlsdGVyXV0iCiAgICAgICAgZGF0YS10by1sb2FkPSJbW3J1bnNdXSIKICAgICAgICByZXF1ZXN0LWRhdGE9IltbX3JlcXVlc3REYXRhXV0iCiAgICAgICAgbG9nLXNjYWxlLWFjdGl2ZT0iW1tfbG9nU2NhbGVBY3RpdmVdXSIKICAgICAgICBsb2FkLWRhdGEtY2FsbGJhY2s9IltbX2NyZWF0ZVByb2Nlc3NEYXRhRnVuY3Rpb24obWFyZ2luQ2hhcnRTZXJpZXMpXV0iCiAgICAgICAgcmVxdWVzdC1tYW5hZ2VyPSJbW3JlcXVlc3RNYW5hZ2VyXV0iCiAgICAgICAgc3ltYm9sLWZ1bmN0aW9uPSJbW19jcmVhdGVTeW1ib2xGdW5jdGlvbigpXV0iCiAgICAgICAgdG9vbHRpcC1jb2x1bW5zPSJbW190b29sdGlwQ29sdW1uc11dIgogICAgICAgIHRvb2x0aXAtc29ydGluZy1tZXRob2Q9IltbdG9vbHRpcFNvcnRpbmdNZXRob2RdXSIKICAgICAgICB4LXR5cGU9IltbeFR5cGVdXSIKICAgICAgPgogICAgICA8L3RmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXI+CiAgICA8L2Rpdj4KICAgIDxkaXYgaWQ9ImJ1dHRvbnMiPgogICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICBzZWxlY3RlZCQ9IltbX2V4cGFuZGVkXV0iCiAgICAgICAgaWNvbj0iZnVsbHNjcmVlbiIKICAgICAgICBvbi10YXA9Il90b2dnbGVFeHBhbmRlZCIKICAgICAgPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgIHNlbGVjdGVkJD0iW1tfbG9nU2NhbGVBY3RpdmVdXSIKICAgICAgICBpY29uPSJsaW5lLXdlaWdodCIKICAgICAgICBvbi10YXA9Il90b2dnbGVMb2dTY2FsZSIKICAgICAgICB0aXRsZT0iVG9nZ2xlIHktYXhpcyBsb2cgc2NhbGUiCiAgICAgID48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICBpY29uPSJzZXR0aW5ncy1vdmVyc2NhbiIKICAgICAgICBvbi10YXA9Il9yZXNldERvbWFpbiIKICAgICAgICB0aXRsZT0iRml0IGRvbWFpbiB0byBkYXRhIgogICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPHNwYW4gc3R5bGU9ImZsZXgtZ3JvdzogMSI+PC9zcGFuPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Iltbc2hvd0Rvd25sb2FkTGlua3NdXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZG93bmxvYWQtbGlua3MiPgogICAgICAgICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUKICAgICAgICAgICAgbm8tbGFiZWwtZmxvYXQ9InRydWUiCiAgICAgICAgICAgIGxhYmVsPSJzZXJpZXMgdG8gZG93bmxvYWQiCiAgICAgICAgICAgIHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X2RhdGFTZXJpZXNOYW1lVG9Eb3dubG9hZH19IgogICAgICAgICAgPgogICAgICAgICAgICA8cGFwZXItbGlzdGJveCBjbGFzcz0iZHJvcGRvd24tY29udGVudCIgc2xvdD0iZHJvcGRvd24tY29udGVudCI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlCiAgICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICAgIGl0ZW1zPSJbW19zZXJpZXNOYW1lc11dIgogICAgICAgICAgICAgICAgYXM9ImRhdGFTZXJpZXNOYW1lIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtIG5vLWxhYmVsLWZsb2F0PSJ0cnVlIgogICAgICAgICAgICAgICAgICA+W1tkYXRhU2VyaWVzTmFtZV1dPC9wYXBlci1pdGVtCiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgICAgICAgPGEKICAgICAgICAgICAgZG93bmxvYWQ9IltbX2RhdGFTZXJpZXNOYW1lVG9Eb3dubG9hZF1dLmNzdiIKICAgICAgICAgICAgaHJlZj0iW1tfY3N2VXJsKF9uYW1lVG9EYXRhU2VyaWVzLCBfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkKV1dIgogICAgICAgICAgICA+Q1NWPC9hCiAgICAgICAgICA+CiAgICAgICAgICA8YQogICAgICAgICAgICBkb3dubG9hZD0iW1tfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkXV0uanNvbiIKICAgICAgICAgICAgaHJlZj0iW1tfanNvblVybChfbmFtZVRvRGF0YVNlcmllcywgX2RhdGFTZXJpZXNOYW1lVG9Eb3dubG9hZCldXSIKICAgICAgICAgICAgPkpTT048L2EKICAgICAgICAgID4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvZGl2PgoKICAgIDwhLS0gaGVyZSAtLT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfbWlzc2luZ1RhZ3MubGVuZ3RoXV0iPgogICAgICA8ZGl2IGNsYXNzPSJjb2xsYXBzaWJsZS1saXN0LXRpdGxlIj4KICAgICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICAgIGljb249IltbX2dldFRvZ2dsZUNvbGxhcHNpYmxlSWNvbihfbWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW5lZCldXSIKICAgICAgICAgIG9uLWNsaWNrPSJfdG9nZ2xlTWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW4iCiAgICAgICAgICBjbGFzcz0idG9nZ2xlLWNvbGxhcHNpYmxlLWJ1dHRvbiIKICAgICAgICA+CiAgICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICA8c3BhbiBjbGFzcz0iY29sbGFwc2libGUtdGl0bGUtdGV4dCI+CiAgICAgICAgICA8aXJvbi1pY29uIGljb249Imljb25zOmVycm9yIj48L2lyb24taWNvbj4gTWlzc2luZyBUYWdzCiAgICAgICAgPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJbW19taXNzaW5nVGFnc0NvbGxhcHNpYmxlT3BlbmVkXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLWNvbnRlbnQiPgogICAgICAgICAgPGlyb24taWNvbiBjbGFzcz0iZXJyb3ItaWNvbiIgaWNvbj0iaWNvbnM6ZXJyb3IiPjwvaXJvbi1pY29uPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfbWlzc2luZ1RhZ3NdXSIgYXM9Im1pc3NpbmdFbnRyeSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1pc3NpbmctdGFncy1mb3ItcnVuLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgUnVuICJbW21pc3NpbmdFbnRyeS5ydW5dXSIgbGFja3MgZGF0YSBmb3IgdGFncwogICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZQogICAgICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICAgICAgaXRlbXM9IltbbWlzc2luZ0VudHJ5LnRhZ3NdXSIKICAgICAgICAgICAgICAgICAgYXM9InRhZyIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgPGxpPltbdGFnXV08L2xpPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvaXJvbi1jb2xsYXBzZT4KICAgIDwvdGVtcGxhdGU+CgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW190YWdGaWx0ZXJJbnZhbGlkXV0iPgogICAgICA8ZGl2IGNsYXNzPSJlcnJvci1jb250ZW50Ij4KICAgICAgICA8aXJvbi1pY29uIGNsYXNzPSJlcnJvci1pY29uIiBpY29uPSJpY29uczplcnJvciI+PC9pcm9uLWljb24+CiAgICAgICAgVGhpcyByZWd1bGFyIGV4cHJlc2lvbiBpcyBpbnZhbGlkOjxiciAvPgogICAgICAgIDxzcGFuIGNsYXNzPSJpbnZhbGlkLXJlZ2V4Ij5bW190YWdGaWx0ZXJdXTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L3RlbXBsYXRlPgoKICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc3RlcHNNaXNtYXRjaF1dIj4KICAgICAgPGRpdiBjbGFzcz0iZXJyb3ItY29udGVudCI+CiAgICAgICAgPGlyb24taWNvbiBjbGFzcz0iZXJyb3ItaWNvbiIgaWNvbj0iaWNvbnM6ZXJyb3IiPjwvaXJvbi1pY29uPgogICAgICAgIFRoZSBzdGVwcyBmb3IgdmFsdWUsIGxvd2VyLCBhbmQgdXBwZXIgdGFncyBkbyBub3QgbWF0Y2g6CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFnLW5hbWUiPltbX3N0ZXBzTWlzbWF0Y2guc2VyaWVzT2JqZWN0LnZhbHVlXV08L3NwYW4+OgogICAgICAgICAgICBbW19zZXBhcmF0ZVdpdGhDb21tYXMoX3N0ZXBzTWlzbWF0Y2gudmFsdWVTdGVwcyldXQogICAgICAgICAgPC9saT4KICAgICAgICAgIDxsaT4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhZy1uYW1lIj5bW19zdGVwc01pc21hdGNoLnNlcmllc09iamVjdC5sb3dlcl1dPC9zcGFuPjoKICAgICAgICAgICAgW1tfc2VwYXJhdGVXaXRoQ29tbWFzKF9zdGVwc01pc21hdGNoLmxvd2VyU3RlcHMpXV0KICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8bGk+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWctbmFtZSI+W1tfc3RlcHNNaXNtYXRjaC5zZXJpZXNPYmplY3QudXBwZXJdXTwvc3Bhbj46CiAgICAgICAgICAgIFtbX3NlcGFyYXRlV2l0aENvbW1hcyhfc3RlcHNNaXNtYXRjaC51cHBlclN0ZXBzKV1dCiAgICAgICAgICA8L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KCiAgICA8ZGl2IGlkPSJtYXRjaGVzLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbGxhcHNpYmxlLWxpc3QtdGl0bGUiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0iPgogICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgICAgIGljb249IltbX2dldFRvZ2dsZUNvbGxhcHNpYmxlSWNvbihfbWF0Y2hlc0xpc3RPcGVuZWQpXV0iCiAgICAgICAgICAgIG9uLWNsaWNrPSJfdG9nZ2xlTWF0Y2hlc09wZW4iCiAgICAgICAgICAgIGNsYXNzPSJ0b2dnbGUtbWF0Y2hlcy1idXR0b24iCiAgICAgICAgICA+CiAgICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgIDwvdGVtcGxhdGU+CgogICAgICAgIDxzcGFuIGNsYXNzPSJjb2xsYXBzaWJsZS10aXRsZS10ZXh0Ij4KICAgICAgICAgIE1hdGNoZXMgKFtbX3Nlcmllc05hbWVzLmxlbmd0aF1dKQogICAgICAgIDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0iPgogICAgICAgIDxpcm9uLWNvbGxhcHNlIG9wZW5lZD0iW1tfbWF0Y2hlc0xpc3RPcGVuZWRdXSI+CiAgICAgICAgICA8ZGl2IGlkPSJtYXRjaGVzLWxpc3QiPgogICAgICAgICAgICA8dGVtcGxhdGUKICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICBpdGVtcz0iW1tfc2VyaWVzTmFtZXNdXSIKICAgICAgICAgICAgICBhcz0ic2VyaWVzTmFtZSIKICAgICAgICAgICAgICBpZD0ibWF0Y2gtbGlzdC1yZXBlYXQiCiAgICAgICAgICAgICAgb24tZG9tLWNoYW5nZT0iX21hdGNoTGlzdEVudHJ5Q29sb3JVcGRhdGVkIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0Y2gtbGlzdC1lbnRyeSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWF0Y2gtZW50cnktc3ltYm9sIj4KICAgICAgICAgICAgICAgICAgW1tfZGV0ZXJtaW5lU3ltYm9sKF9uYW1lVG9EYXRhU2VyaWVzLCBzZXJpZXNOYW1lKV1dCiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICBbW3Nlcmllc05hbWVdXQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9pcm9uLWNvbGxhcHNlPgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CgogICAgPHN0eWxlIGluY2x1ZGU9InRmLWN1c3RvbS1zY2FsYXItY2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLmVycm9yLWNvbnRlbnQgewogICAgICAgIGJhY2tncm91bmQ6ICNmMDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIG1hcmdpbjogMTBweCAwIDAgMDsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICB9CgogICAgICAuZXJyb3ItaWNvbiB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZmlsbDogI2ZmZjsKICAgICAgICBtYXJnaW46IDAgYXV0byA1cHggYXV0bzsKICAgICAgfQoKICAgICAgLmludmFsaWQtcmVnZXggewogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CgogICAgICAuZXJyb3ItY29udGVudCB1bCB7CiAgICAgICAgbWFyZ2luOiAxcHggMCAwIDA7CiAgICAgICAgcGFkZGluZzogMCAwIDAgMTlweDsKICAgICAgfQoKICAgICAgLnRhZy1uYW1lIHsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQoKICAgICAgLmNvbGxhcHNpYmxlLWxpc3QtdGl0bGUgewogICAgICAgIG1hcmdpbjogMTBweCAwIDVweCAwOwogICAgICB9CgogICAgICAuY29sbGFwc2libGUtdGl0bGUtdGV4dCB7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgfQoKICAgICAgI21hdGNoZXMtbGlzdCB7CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQoKICAgICAgLm1hdGNoLWxpc3QtZW50cnkgewogICAgICAgIG1hcmdpbjogMCAwIDVweCAwOwogICAgICB9CgogICAgICAubWF0Y2gtZW50cnktc3ltYm9sIHsKICAgICAgICBmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiAxMHB4OwogICAgICB9CgogICAgICAubWlzc2luZy10YWdzLWZvci1ydW4tY29udGFpbmVyIHsKICAgICAgICBtYXJnaW46IDhweCAwIDAgMDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSx3QXQucHJvdG90eXBlLCJydW5zIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHdBdC5wcm90b3R5cGUsInhUeXBlIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sd0F0LnByb3RvdHlwZSwiYWN0aXZlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHdBdC5wcm90b3R5cGUsInRpdGxlIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSx3QXQucHJvdG90eXBlLCJtYXJnaW5DaGFydFNlcmllcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHdBdC5wcm90b3R5cGUsImlnbm9yZVlPdXRsaWVycyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixicildLHdBdC5wcm90b3R5cGUsInJlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sd0F0LnByb3RvdHlwZSwic2hvd0Rvd25sb2FkTGlua3MiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sd0F0LnByb3RvdHlwZSwidGFnTWV0YWRhdGEiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sd0F0LnByb3RvdHlwZSwidG9vbHRpcFNvcnRpbmdNZXRob2QiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sd0F0LnByb3RvdHlwZSwiX2NvbG9yU2NhbGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSx3QXQucHJvdG90eXBlLCJfdGFnRmlsdGVySW52YWxpZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx3QXQucHJvdG90eXBlLCJfbmFtZVRvRGF0YVNlcmllcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSx3QXQucHJvdG90eXBlLCJfZXhwYW5kZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSx3QXQucHJvdG90eXBlLCJfbG9nU2NhbGVBY3RpdmUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSx3QXQucHJvdG90eXBlLCJfcmVxdWVzdERhdGEiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sd0F0LnByb3RvdHlwZSwiX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sd0F0LnByb3RvdHlwZSwiX21hdGNoZXNMaXN0T3BlbmVkIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHdBdC5wcm90b3R5cGUsIl9maWxsQXJlYSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sd0F0LnByb3RvdHlwZSwiX3Rvb2x0aXBDb2x1bW5zIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSx3QXQucHJvdG90eXBlLCJfbWlzc2luZ1RhZ3MiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSx3QXQucHJvdG90eXBlLCJfbWlzc2luZ1RhZ3NDb2xsYXBzaWJsZU9wZW5lZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx3QXQucHJvdG90eXBlLCJfc3RlcHNNaXNtYXRjaCIsdm9pZCAwKSx0KFthKCJfbmFtZVRvRGF0YVNlcmllcyIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sd0F0LnByb3RvdHlwZSwiX3VwZGF0ZUNoYXJ0IixudWxsKSx0KFtzKCJfbmFtZVRvRGF0YVNlcmllcyIsInJ1bnMiKSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSx3QXQucHJvdG90eXBlLCJfc2VyaWVzTmFtZXMiLG51bGwpLHQoW2EoIl90YWdGaWx0ZXIiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLHdBdC5wcm90b3R5cGUsIl9yZWZyZXNoRGF0YVNlcmllcyIsbnVsbCksdChbcygibWFyZ2luQ2hhcnRTZXJpZXMiKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSx3QXQucHJvdG90eXBlLCJfdGFnRmlsdGVyIixudWxsKSx0KFtzKCJ0aXRsZSIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLHdBdC5wcm90b3R5cGUsIl90aXRsZURpc3BsYXlTdHJpbmciLG51bGwpLHdBdD10KFtpKCJ0Zi1jdXN0b20tc2NhbGFyLW1hcmdpbi1jaGFydC1jYXJkIildLHdBdCk7dmFyIFNBdD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxUWVBFUzpbXSxnZXRSdW5zTmFtZWQ6ZnVuY3Rpb24gTUF0KHQpe3JldHVybiBDZS5leHBvcnRzLmtleXModCkuc29ydCh1cil9LGdldFRhZ3M6ZnIsZmlsdGVyVGFnczpmdW5jdGlvbiBFQXQodCxlKXtsZXQgbj1bXTtyZXR1cm4gZS5mb3JFYWNoKChlPT5uPW4uY29uY2F0KHRbZV0pKSksQ2UuZXhwb3J0cy51bmlxKG4pLnNvcnQodXIpfSxMaXN0ZW5LZXk6QWwsQmFzZVN0b3JlOmtsLENhbmNlbGxlcjp4TyxFbnZpcm9ubWVudFN0b3JlOkxsLGVudmlyb25tZW50U3RvcmU6UGwsRXhwZXJpbWVudHNTdG9yZTpkTyxleHBlcmltZW50c1N0b3JlOnBPLFJlcXVlc3RDYW5jZWxsYXRpb25FcnJvcjptcixJbnZhbGlkUmVxdWVzdE9wdGlvbnNFcnJvcjpncixSZXF1ZXN0TmV0d29ya0Vycm9yOl9yLGdldCBIdHRwTWV0aG9kVHlwZSgpe3JldHVybiB5cn0sUmVxdWVzdE9wdGlvbnM6dnIsUmVxdWVzdE1hbmFnZXI6YnIsY3JlYXRlUm91dGVyOk1yLGdldFJvdXRlcjpFcixzZXRSb3V0ZXI6ZnVuY3Rpb24gVEF0KHQpe2lmKG51bGw9PXQpdGhyb3cgbmV3IEVycm9yKCJSb3V0ZXIgcmVxdWlyZWQsIGJ1dCBnb3Q6ICIrdCk7U3I9dH0sY3JlYXRlU2VhcmNoUGFyYW06Q3IsUnVuc1N0b3JlOk5sLHJ1bnNTdG9yZTpJbCxhZGRQYXJhbXM6UE99KTtsZXQgQ0F0PWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5hY3RpdmU9ITAsdGhpcy5fY29sb3JTY2FsZT1uZXcgeEF0KHtzY2FsZTpfT30pLHRoaXMuX25hbWVUb0RhdGFTZXJpZXM9e30sdGhpcy5fZXhwYW5kZWQ9ITEsdGhpcy5fcmVxdWVzdERhdGE9KHQsZSxuKT0+e2NvbnN0IGk9RXIoKS5wbHVnaW5Sb3V0ZSgiY3VzdG9tX3NjYWxhcnMiLCIvc2NhbGFycyIpO1Byb21pc2UuYWxsKHQubWFwKCh0PT57Y29uc3Qgbj1QTyhpLHt0YWc6dGhpcy5fdGFnRmlsdGVyLHJ1bjp0fSk7cmV0dXJuIHRoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdChuKS50aGVuKChuPT57ZSh7aXRlbTp0LGRhdGE6bn0pfSkpfSkpKS5maW5hbGx5KCgoKT0+e24oKX0pKX0sdGhpcy5fcnVuVG9OZXh0QXZhaWxhYmxlU3ltYm9sSW5kZXg9e30sdGhpcy5fbWF0Y2hlc0xpc3RPcGVuZWQ9ITF9cmVsb2FkKCl7dGhpcy4kLmxvYWRlci5yZWxvYWQoKX1yZWRyYXcoKXt0aGlzLiQubG9hZGVyLnJlZHJhdygpfV90b2dnbGVFeHBhbmRlZCh0KXt0aGlzLnNldCgiX2V4cGFuZGVkIiwhdGhpcy5fZXhwYW5kZWQpLHRoaXMucmVkcmF3KCl9X3RvZ2dsZUxvZ1NjYWxlKCl7dGhpcy5zZXQoIl9sb2dTY2FsZUFjdGl2ZSIsIXRoaXMuX2xvZ1NjYWxlQWN0aXZlKX1fcmVzZXREb21haW4oKXtjb25zdCB0PXRoaXMuJC5sb2FkZXI7dCYmdC5yZXNldERvbWFpbigpfV9jc3ZVcmwodCxlKXtpZighZSlyZXR1cm4iIjtyZXR1cm4gUE8odGhpcy5fZG93bmxvYWREYXRhVXJsKHQsZSkse2Zvcm1hdDoiY3N2In0pfV9qc29uVXJsKHQsZSl7aWYoIWUpcmV0dXJuIiI7cmV0dXJuIFBPKHRoaXMuX2Rvd25sb2FkRGF0YVVybCh0LGUpLHtmb3JtYXQ6Impzb24ifSl9X2Rvd25sb2FkRGF0YVVybCh0LGUpe2NvbnN0IG49dFtlXSxpPXt0YWc6bi5nZXRUYWcoKSxydW46bi5nZXRSdW4oKX07cmV0dXJuIFBPKEVyKCkucGx1Z2luUm91dGUoImN1c3RvbV9zY2FsYXJzIiwiL2Rvd25sb2FkX2RhdGEiKSxpKX1fY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbigpe3JldHVybih0LGUsbik9PntpZihuLnJlZ2V4X3ZhbGlkKXtjb25zdCB0PUNlLmV4cG9ydHMuY2xvbmUodGhpcy5fbmFtZVRvRGF0YVNlcmllcyk7Q2UuZXhwb3J0cy5mb3JPd24obi50YWdfdG9fZXZlbnRzLCgobixpKT0+e2NvbnN0IHI9bi5tYXAoKHQ9Pih7d2FsbF90aW1lOm5ldyBEYXRlKDFlMyp0WzBdKSxzdGVwOnRbMV0sc2NhbGFyOnRbMl19KSkpLG89YkF0KGUsaSksYT10W29dO2lmKGEpYS5zZXREYXRhKHIpO2Vsc2V7Q2UuZXhwb3J0cy5pc1VuZGVmaW5lZCh0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleFtlXSkmJih0aGlzLl9ydW5Ub05leHRBdmFpbGFibGVTeW1ib2xJbmRleFtlXT0wKTtjb25zdCBuPW5ldyB2QXQoZSxpLG8scix4Q3RbdGhpcy5fcnVuVG9OZXh0QXZhaWxhYmxlU3ltYm9sSW5kZXhbZV1dKTt0W29dPW47dGhpcy5fcnVuVG9OZXh0QXZhaWxhYmxlU3ltYm9sSW5kZXhbZV09KHRoaXMuX3J1blRvTmV4dEF2YWlsYWJsZVN5bWJvbEluZGV4W2VdKzEpJXhDdC5sZW5ndGh9fSkpLHRoaXMuc2V0KCJfbmFtZVRvRGF0YVNlcmllcyIsdCl9fX1fdXBkYXRlQ2hhcnQoKXtPYmplY3QuZW50cmllcyh0aGlzLl9uYW1lVG9EYXRhU2VyaWVzKS5mb3JFYWNoKCgoW3QsZV0pPT57dGhpcy4kLmxvYWRlci5zZXRTZXJpZXNEYXRhKHQsZS5nZXREYXRhKCkpfSkpLHRoaXMuJC5sb2FkZXIuY29tbWl0Q2hhbmdlcygpfV9jb21wdXRlU2VsZWN0ZWRSdW5zU2V0KHQpe2NvbnN0IGU9e307cmV0dXJuIENlLmV4cG9ydHMuZm9yRWFjaCh0LCh0PT57ZVt0XT0xfSkpLGV9Z2V0IF9zZXJpZXNOYW1lcygpe2NvbnN0IHQ9bmV3IFNldCh0aGlzLnJ1bnMpO3JldHVybiBPYmplY3QuZW50cmllcyh0aGlzLl9uYW1lVG9EYXRhU2VyaWVzKS5maWx0ZXIoKChbZSxuXSk9PnQuaGFzKG4ucnVuKSkpLm1hcCgoKFt0XSk9PnQpKX1fZGV0ZXJtaW5lQ29sb3IodCxlKXtyZXR1cm4gdC5zY2FsZShlKX1fcmVmcmVzaERhdGFTZXJpZXMoKXt0aGlzLnNldCgiX25hbWVUb0RhdGFTZXJpZXMiLHt9KX1fY3JlYXRlU3ltYm9sRnVuY3Rpb24oKXtyZXR1cm4gdD0+dGhpcy5fbmFtZVRvRGF0YVNlcmllc1t0XS5nZXRTeW1ib2woKS5tZXRob2QoKX1fZGV0ZXJtaW5lU3ltYm9sKHQsZSl7cmV0dXJuIHRbZV0uZ2V0U3ltYm9sKCkuY2hhcmFjdGVyfWdldCBfdGFnRmlsdGVyKCl7dmFyIHQ9dGhpcy50YWdSZWdleGVzO3JldHVybiAxPT09dC5sZW5ndGg/dFswXTp0Lm1hcCgodD0+IigiK3QrIikiKSkuam9pbigifCIpfV9nZXRUb2dnbGVNYXRjaGVzSWNvbih0KXtyZXR1cm4gdD8iZXhwYW5kLWxlc3MiOiJleHBhbmQtbW9yZSJ9X3RvZ2dsZU1hdGNoZXNPcGVuKCl7dGhpcy5zZXQoIl9tYXRjaGVzTGlzdE9wZW5lZCIsIXRoaXMuX21hdGNoZXNMaXN0T3BlbmVkKX1nZXQgX3RpdGxlRGlzcGxheVN0cmluZygpe3JldHVybiB0aGlzLnRpdGxlfHwidW50aXRsZWQifV9tYXRjaExpc3RFbnRyeUNvbG9yVXBkYXRlZCh0KXtjb25zdCBlPXRoaXMuJCQoIiNtYXRjaC1saXN0LXJlcGVhdCIpO2UmJnRoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIubWF0Y2gtbGlzdC1lbnRyeSIpLmZvckVhY2goKHQ9Pntjb25zdCBuPWUuaXRlbUZvckVsZW1lbnQodCk7dC5zdHlsZS5jb2xvcj10aGlzLl9kZXRlcm1pbmVDb2xvcih0aGlzLl9jb2xvclNjYWxlLG4pfSkpfX07Q0F0LnRlbXBsYXRlPXhlYAogICAgPHRmLWNhcmQtaGVhZGluZyBkaXNwbGF5LW5hbWU9IltbX3RpdGxlRGlzcGxheVN0cmluZ11dIj48L3RmLWNhcmQtaGVhZGluZz4KICAgIDxkaXYgaWQ9InRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIj4KICAgICAgPHRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIKICAgICAgICBpZD0ibG9hZGVyIgogICAgICAgIGFjdGl2ZT0iW1thY3RpdmVdXSIKICAgICAgICBjb2xvci1zY2FsZT0iW1tfY29sb3JTY2FsZV1dIgogICAgICAgIGRhdGEtc2VyaWVzPSJbW19zZXJpZXNOYW1lc11dIgogICAgICAgIGlnbm9yZS15LW91dGxpZXJzPSJbW2lnbm9yZVlPdXRsaWVyc11dIgogICAgICAgIGxvYWQta2V5PSJbW190YWdGaWx0ZXJdXSIKICAgICAgICBkYXRhLXRvLWxvYWQ9IltbcnVuc11dIgogICAgICAgIHJlcXVlc3QtZGF0YT0iW1tfcmVxdWVzdERhdGFdXSIKICAgICAgICBsb2ctc2NhbGUtYWN0aXZlPSJbW19sb2dTY2FsZUFjdGl2ZV1dIgogICAgICAgIGxvYWQtZGF0YS1jYWxsYmFjaz0iW1tfY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbigpXV0iCiAgICAgICAgcmVxdWVzdC1tYW5hZ2VyPSJbW3JlcXVlc3RNYW5hZ2VyXV0iCiAgICAgICAgc21vb3RoaW5nLWVuYWJsZWQ9Iltbc21vb3RoaW5nRW5hYmxlZF1dIgogICAgICAgIHNtb290aGluZy13ZWlnaHQ9Iltbc21vb3RoaW5nV2VpZ2h0XV0iCiAgICAgICAgc3ltYm9sLWZ1bmN0aW9uPSJbW19jcmVhdGVTeW1ib2xGdW5jdGlvbigpXV0iCiAgICAgICAgdG9vbHRpcC1zb3J0aW5nLW1ldGhvZD0iW1t0b29sdGlwU29ydGluZ01ldGhvZF1dIgogICAgICAgIHgtdHlwZT0iW1t4VHlwZV1dIgogICAgICA+CiAgICAgIDwvdGYtbGluZS1jaGFydC1kYXRhLWxvYWRlcj4KICAgIDwvZGl2PgogICAgPGRpdiBpZD0iYnV0dG9ucyI+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgIHNlbGVjdGVkJD0iW1tfZXhwYW5kZWRdXSIKICAgICAgICBpY29uPSJmdWxsc2NyZWVuIgogICAgICAgIG9uLXRhcD0iX3RvZ2dsZUV4cGFuZGVkIgogICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgc2VsZWN0ZWQkPSJbW19sb2dTY2FsZUFjdGl2ZV1dIgogICAgICAgIGljb249ImxpbmUtd2VpZ2h0IgogICAgICAgIG9uLXRhcD0iX3RvZ2dsZUxvZ1NjYWxlIgogICAgICAgIHRpdGxlPSJUb2dnbGUgeS1heGlzIGxvZyBzY2FsZSIKICAgICAgPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgIGljb249InNldHRpbmdzLW92ZXJzY2FuIgogICAgICAgIG9uLXRhcD0iX3Jlc2V0RG9tYWluIgogICAgICAgIHRpdGxlPSJGaXQgZG9tYWluIHRvIGRhdGEiCiAgICAgID48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8c3BhbiBzdHlsZT0iZmxleC1ncm93OiAxIj48L3NwYW4+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tzaG93RG93bmxvYWRMaW5rc11dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkb3dubG9hZC1saW5rcyI+CiAgICAgICAgICA8cGFwZXItZHJvcGRvd24tbWVudQogICAgICAgICAgICBuby1sYWJlbC1mbG9hdD0idHJ1ZSIKICAgICAgICAgICAgbGFiZWw9InNlcmllcyB0byBkb3dubG9hZCIKICAgICAgICAgICAgc2VsZWN0ZWQtaXRlbS1sYWJlbD0ie3tfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkfX0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxwYXBlci1saXN0Ym94IGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzbG90PSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICAgICAgICA8dGVtcGxhdGUKICAgICAgICAgICAgICAgIGlzPSJkb20tcmVwZWF0IgogICAgICAgICAgICAgICAgaXRlbXM9IltbX3Nlcmllc05hbWVzXV0iCiAgICAgICAgICAgICAgICBhcz0iZGF0YVNlcmllc05hbWUiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0gbm8tbGFiZWwtZmxvYXQ9InRydWUiCiAgICAgICAgICAgICAgICAgID5bW2RhdGFTZXJpZXNOYW1lXV08L3BhcGVyLWl0ZW0KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgICA8YQogICAgICAgICAgICBkb3dubG9hZD0iW1tfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkXV0uY3N2IgogICAgICAgICAgICBocmVmPSJbW19jc3ZVcmwoX25hbWVUb0RhdGFTZXJpZXMsIF9kYXRhU2VyaWVzTmFtZVRvRG93bmxvYWQpXV0iCiAgICAgICAgICAgID5DU1Y8L2EKICAgICAgICAgID4KICAgICAgICAgIDxhCiAgICAgICAgICAgIGRvd25sb2FkPSJbW19kYXRhU2VyaWVzTmFtZVRvRG93bmxvYWRdXS5qc29uIgogICAgICAgICAgICBocmVmPSJbW19qc29uVXJsKF9uYW1lVG9EYXRhU2VyaWVzLCBfZGF0YVNlcmllc05hbWVUb0Rvd25sb2FkKV1dIgogICAgICAgICAgICA+SlNPTjwvYQogICAgICAgICAgPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJtYXRjaGVzLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgaWQ9Im1hdGNoZXMtbGlzdC10aXRsZSI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19zZXJpZXNOYW1lcy5sZW5ndGhdXSI+CiAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICAgICAgaWNvbj0iW1tfZ2V0VG9nZ2xlTWF0Y2hlc0ljb24oX21hdGNoZXNMaXN0T3BlbmVkKV1dIgogICAgICAgICAgICBvbi1jbGljaz0iX3RvZ2dsZU1hdGNoZXNPcGVuIgogICAgICAgICAgICBjbGFzcz0idG9nZ2xlLW1hdGNoZXMtYnV0dG9uIgogICAgICAgICAgPgogICAgICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICA8c3BhbiBjbGFzcz0ibWF0Y2hlcy10ZXh0Ij4gTWF0Y2hlcyAoW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0pIDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfc2VyaWVzTmFtZXMubGVuZ3RoXV0iPgogICAgICAgIDxpcm9uLWNvbGxhcHNlIG9wZW5lZD0iW1tfbWF0Y2hlc0xpc3RPcGVuZWRdXSI+CiAgICAgICAgICA8ZGl2IGlkPSJtYXRjaGVzLWxpc3QiPgogICAgICAgICAgICA8dGVtcGxhdGUKICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICBpdGVtcz0iW1tfc2VyaWVzTmFtZXNdXSIKICAgICAgICAgICAgICBhcz0ic2VyaWVzTmFtZSIKICAgICAgICAgICAgICBpZD0ibWF0Y2gtbGlzdC1yZXBlYXQiCiAgICAgICAgICAgICAgb24tZG9tLWNoYW5nZT0iX21hdGNoTGlzdEVudHJ5Q29sb3JVcGRhdGVkIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF0Y2gtbGlzdC1lbnRyeSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWF0Y2gtZW50cnktc3ltYm9sIj4KICAgICAgICAgICAgICAgICAgW1tfZGV0ZXJtaW5lU3ltYm9sKF9uYW1lVG9EYXRhU2VyaWVzLCBzZXJpZXNOYW1lKV1dCiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICBbW3Nlcmllc05hbWVdXQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9pcm9uLWNvbGxhcHNlPgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CgogICAgPHN0eWxlIGluY2x1ZGU9InRmLWN1c3RvbS1zY2FsYXItY2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgI21hdGNoZXMtbGlzdC10aXRsZSB7CiAgICAgICAgbWFyZ2luOiAxMHB4IDAgNXB4IDA7CiAgICAgIH0KCiAgICAgICNtYXRjaGVzLWxpc3QgewogICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KCiAgICAgIC5tYXRjaC1saXN0LWVudHJ5IHsKICAgICAgICBtYXJnaW46IDAgMCA1cHggMDsKICAgICAgfQoKICAgICAgLm1hdGNoLWVudHJ5LXN5bWJvbCB7CiAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICB3aWR0aDogMTBweDsKICAgICAgfQoKICAgICAgLm1hdGNoZXMtdGV4dCB7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxDQXQucHJvdG90eXBlLCJydW5zIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLENBdC5wcm90b3R5cGUsInhUeXBlIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sQ0F0LnByb3RvdHlwZSwiYWN0aXZlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLENBdC5wcm90b3R5cGUsInRpdGxlIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxDQXQucHJvdG90eXBlLCJ0YWdSZWdleGVzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sQ0F0LnByb3RvdHlwZSwiaWdub3JlWU91dGxpZXJzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0sQ0F0LnByb3RvdHlwZSwicmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDQXQucHJvdG90eXBlLCJzaG93RG93bmxvYWRMaW5rcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLENBdC5wcm90b3R5cGUsInNtb290aGluZ0VuYWJsZWQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sQ0F0LnByb3RvdHlwZSwic21vb3RoaW5nV2VpZ2h0Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLENBdC5wcm90b3R5cGUsInRhZ01ldGFkYXRhIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLENBdC5wcm90b3R5cGUsInRvb2x0aXBTb3J0aW5nTWV0aG9kIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHhBdCldLENBdC5wcm90b3R5cGUsIl9jb2xvclNjYWxlIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLENBdC5wcm90b3R5cGUsIl9uYW1lVG9EYXRhU2VyaWVzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLENBdC5wcm90b3R5cGUsIl9leHBhbmRlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLENBdC5wcm90b3R5cGUsIl9sb2dTY2FsZUFjdGl2ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLENBdC5wcm90b3R5cGUsIl9yZXF1ZXN0RGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxDQXQucHJvdG90eXBlLCJfcnVuVG9OZXh0QXZhaWxhYmxlU3ltYm9sSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxDQXQucHJvdG90eXBlLCJfbWF0Y2hlc0xpc3RPcGVuZWQiLHZvaWQgMCksdChbYSgiX25hbWVUb0RhdGFTZXJpZXMiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLENBdC5wcm90b3R5cGUsIl91cGRhdGVDaGFydCIsbnVsbCksdChbcygiX25hbWVUb0RhdGFTZXJpZXMiLCJydW5zIiksZSgiZGVzaWduOnR5cGUiLE9iamVjdCksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sQ0F0LnByb3RvdHlwZSwiX3Nlcmllc05hbWVzIixudWxsKSx0KFthKCJfdGFnRmlsdGVyIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxDQXQucHJvdG90eXBlLCJfcmVmcmVzaERhdGFTZXJpZXMiLG51bGwpLHQoW3MoInRhZ1JlZ2V4ZXMiKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxDQXQucHJvdG90eXBlLCJfdGFnRmlsdGVyIixudWxsKSx0KFtzKCJ0aXRsZSIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLENBdC5wcm90b3R5cGUsIl90aXRsZURpc3BsYXlTdHJpbmciLG51bGwpLENBdD10KFtpKCJ0Zi1jdXN0b20tc2NhbGFyLW11bHRpLWxpbmUtY2hhcnQtY2FyZCIpXSxDQXQpO2xldCBBQXQ9Y2xhc3MgZXh0ZW5kcyB3ZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fcmVxdWVzdE1hbmFnZXI9bmV3IGJyKDUwKSx0aGlzLl9jYW5jZWxsZXI9bmV3IHhPLHRoaXMuX3Nob3dEb3dubG9hZExpbmtzPVFzKCJfc2hvd0Rvd25sb2FkTGlua3MiLHtkZWZhdWx0VmFsdWU6ITEsdXNlTG9jYWxTdG9yYWdlOiEwfSkuY2FsbCh0aGlzKSx0aGlzLl9zbW9vdGhpbmdXZWlnaHQ9cmwoIl9zbW9vdGhpbmdXZWlnaHQiLHtkZWZhdWx0VmFsdWU6LjZ9KS5jYWxsKHRoaXMpLHRoaXMuX2lnbm9yZVlPdXRsaWVycz1RcygiX2lnbm9yZVlPdXRsaWVycyIse2RlZmF1bHRWYWx1ZTohMCx1c2VMb2NhbFN0b3JhZ2U6ITB9KS5jYWxsKHRoaXMpLHRoaXMuX3hUeXBlPSJzdGVwIix0aGlzLl9hY3RpdmU9ITAsdGhpcy5yZWxvYWRPblJlYWR5PSEwLHRoaXMuX3Nob3dEb3dubG9hZExpbmtzT2JzZXJ2ZXI9dGwoIl9zaG93RG93bmxvYWRMaW5rcyIse2RlZmF1bHRWYWx1ZTohMSx1c2VMb2NhbFN0b3JhZ2U6ITB9KSx0aGlzLl9zbW9vdGhpbmdXZWlnaHRPYnNlcnZlcj1vbCgiX3Ntb290aGluZ1dlaWdodCIse2RlZmF1bHRWYWx1ZTouNn0pLHRoaXMuX2lnbm9yZVlPdXRsaWVyc09ic2VydmVyPXRsKCJfaWdub3JlWU91dGxpZXJzIix7ZGVmYXVsdFZhbHVlOiEwLHVzZUxvY2FsU3RvcmFnZTohMH0pfXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLnJlbG9hZE9uUmVhZHkmJnRoaXMucmVsb2FkKCl9cmVsb2FkKCl7Y29uc3QgdD1FcigpLnBsdWdpbnNMaXN0aW5nKCksZT10aGlzLl9jYW5jZWxsZXIuY2FuY2VsbGFibGUoKHQ9Pnt0LmNhbmNlbGxlZHx8KHRoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwhdC52YWx1ZS5jdXN0b21fc2NhbGFycyksdGhpcy5fZGF0YU5vdEZvdW5kfHx0aGlzLl9yZXRyaWV2ZUxheW91dEFuZERhdGEoKSl9KSk7dGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0KS50aGVuKGUpfV9yZWxvYWRDaGFydHMoKXt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtY3VzdG9tLXNjYWxhci1tYXJnaW4tY2hhcnQtY2FyZCwgdGYtY3VzdG9tLXNjYWxhci1tdWx0aS1saW5lLWNoYXJ0LWNhcmQiKS5mb3JFYWNoKCh0PT57dC5yZWxvYWQoKX0pKX1fcmV0cmlldmVMYXlvdXRBbmREYXRhKCl7Y29uc3QgdD1FcigpLnBsdWdpblJvdXRlKCJjdXN0b21fc2NhbGFycyIsIi9sYXlvdXQiKSxlPXRoaXMuX2NhbmNlbGxlci5jYW5jZWxsYWJsZSgodD0+e3QuY2FuY2VsbGVkfHwodGhpcy5zZXQoIl9sYXlvdXQiLHQudmFsdWUpLHRoaXMuX2RhdGFOb3RGb3VuZHx8dGhpcy5fcmVsb2FkQ2hhcnRzKCkpfSkpO3RoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodCkudGhlbihlKX1nZXQgX3Ntb290aGluZ0VuYWJsZWQoKXtyZXR1cm4gdGhpcy5fc21vb3RoaW5nV2VpZ2h0PjB9Z2V0IF9jYXRlZ29yaWVzKCl7dmFyIHQ9dGhpcy5fbGF5b3V0O2lmKCF0LmNhdGVnb3J5KXJldHVybltdO2xldCBlPSExO3RoaXMuX29wZW5lZENhdGVnb3JpZXN8fChlPSEwLHRoaXMuX29wZW5lZENhdGVnb3JpZXM9e30pO3JldHVybiB0LmNhdGVnb3J5Lm1hcCgodD0+KGUmJiF0LmNsb3NlZCYmKHRoaXMuX29wZW5lZENhdGVnb3JpZXNbdC50aXRsZV09ITApLHtuYW1lOnQudGl0bGUsaXRlbXM6dC5jaGFydCxtZXRhZGF0YTp7dHlwZTpBci5QUkVGSVhfR1JPVVAsb3BlbmVkOiEhdGhpcy5fb3BlbmVkQ2F0ZWdvcmllc1t0LnRpdGxlXX19KSkpfV9jYXRlZ29yeU9wZW5lZFRvZ2dsZWQodCl7Y29uc3QgZT10LnRhcmdldDtlLm9wZW5lZD90aGlzLl9vcGVuZWRDYXRlZ29yaWVzW2UuY2F0ZWdvcnkubmFtZV09ITA6ZGVsZXRlIHRoaXMuX29wZW5lZENhdGVnb3JpZXNbZS5jYXRlZ29yeS5uYW1lXX19O0FBdC50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e19zaG93RG93bmxvYWRMaW5rc319IgogICAgICAgICAgICAgICAgPlNob3cgZGF0YSBkb3dubG9hZCBsaW5rczwvcGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e19pZ25vcmVZT3V0bGllcnN9fSIKICAgICAgICAgICAgICAgID5JZ25vcmUgb3V0bGllcnMgaW4gY2hhcnQgc2NhbGluZzwvcGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJ0b29sdGlwLXNvcnRpbmciPgogICAgICAgICAgICAgIDxkaXYgaWQ9InRvb2x0aXAtc29ydGluZy1sYWJlbCI+VG9vbHRpcCBzb3J0aW5nIG1ldGhvZDo8L2Rpdj4KICAgICAgICAgICAgICA8cGFwZXItZHJvcGRvd24tbWVudQogICAgICAgICAgICAgICAgbm8tbGFiZWwtZmxvYXQ9IiIKICAgICAgICAgICAgICAgIHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X3Rvb2x0aXBTb3J0aW5nTWV0aG9kfX0iCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPHBhcGVyLWxpc3Rib3gKICAgICAgICAgICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPSIwIgogICAgICAgICAgICAgICAgICBzbG90PSJkcm9wZG93bi1jb250ZW50IgogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5kZWZhdWx0PC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5kZXNjZW5kaW5nPC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5hc2NlbmRpbmc8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPm5lYXJlc3Q8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLXNtb290aGluZy1pbnB1dAogICAgICAgICAgICAgIHdlaWdodD0ie3tfc21vb3RoaW5nV2VpZ2h0fX0iCiAgICAgICAgICAgICAgc3RlcD0iMC4wMDEiCiAgICAgICAgICAgICAgbWluPSIwIgogICAgICAgICAgICAgIG1heD0iMSIKICAgICAgICAgICAgPjwvdGYtc21vb3RoaW5nLWlucHV0PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgICA8dGYtb3B0aW9uLXNlbGVjdG9yCiAgICAgICAgICAgICAgaWQ9IngtdHlwZS1zZWxlY3RvciIKICAgICAgICAgICAgICBuYW1lPSJIb3Jpem9udGFsIEF4aXMiCiAgICAgICAgICAgICAgc2VsZWN0ZWQtaWQ9Int7X3hUeXBlfX0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJzdGVwIj5zdGVwPC9wYXBlci1idXR0b24KICAgICAgICAgICAgICA+PCEtLQogICAgICAgICAgICAtLT48cGFwZXItYnV0dG9uIGlkPSJyZWxhdGl2ZSI+cmVsYXRpdmU8L3BhcGVyLWJ1dHRvbgogICAgICAgICAgICAgID48IS0tCiAgICAgICAgICAgIC0tPjxwYXBlci1idXR0b24gaWQ9IndhbGxfdGltZSI+d2FsbDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8L3RmLW9wdGlvbi1zZWxlY3Rvcj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiBydW5zLXNlbGVjdG9yIj4KICAgICAgICAgIDx0Zi1ydW5zLXNlbGVjdG9yIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319Ij4KICAgICAgICAgIDwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIiBpZD0iY2F0ZWdvcmllcy1jb250YWluZXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPlRoZSBjdXN0b20gc2NhbGFycyBkYXNoYm9hcmQgaXMgaW5hY3RpdmUuPC9oMz4KICAgICAgICAgICAgPHA+UHJvYmFibGUgY2F1c2VzOjwvcD4KICAgICAgICAgICAgPG9sPgogICAgICAgICAgICAgIDxsaT5Zb3UgaGF2ZW4ndCBsYWlkIG91dCB0aGUgZGFzaGJvYXJkLjwvbGk+CiAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgc2NhbGFyIGRhdGEgdG8geW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L29sPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgVG8gbGF5IG91dCB0aGUgZGFzaGJvYXJkLCBwYXNzIGEgPGNvZGU+TGF5b3V0PC9jb2RlPiBwcm90b2J1ZmZlcgogICAgICAgICAgICAgIHRvIHRoZSA8Y29kZT5zZXRfbGF5b3V0PC9jb2RlPiBtZXRob2QuIEZvciBleGFtcGxlLAogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxwcmU+CmZyb20gdGVuc29yYm9hcmQgaW1wb3J0IHN1bW1hcnkKZnJvbSB0ZW5zb3Jib2FyZC5wbHVnaW5zLmN1c3RvbV9zY2FsYXIgaW1wb3J0IGxheW91dF9wYjIKLi4uCiMgVGhpcyBhY3Rpb24gZG9lcyBub3QgaGF2ZSB0byBiZSBwZXJmb3JtZWQgYXQgZXZlcnkgc3RlcCwgc28gdGhlIGFjdGlvbiBpcyBub3QKIyB0YWtlbiBjYXJlIG9mIGJ5IGFuIG9wIGluIHRoZSBncmFwaC4gV2Ugb25seSBuZWVkIHRvIHNwZWNpZnkgdGhlIGxheW91dCBvbmNlCiMgKGluc3RlYWQgb2YgcGVyIHN0ZXApLgpsYXlvdXRfc3VtbWFyeSA9IHN1bW1hcnlfbGliLmN1c3RvbV9zY2FsYXJfcGIobGF5b3V0X3BiMi5MYXlvdXQoCiAgY2F0ZWdvcnk9WwogICAgbGF5b3V0X3BiMi5DYXRlZ29yeSgKICAgICAgdGl0bGU9J2xvc3NlcycsCiAgICAgIGNoYXJ0PVsKICAgICAgICAgIGxheW91dF9wYjIuQ2hhcnQoCiAgICAgICAgICAgICAgdGl0bGU9J2xvc3NlcycsCiAgICAgICAgICAgICAgbXVsdGlsaW5lPWxheW91dF9wYjIuTXVsdGlsaW5lQ2hhcnRDb250ZW50KAogICAgICAgICAgICAgICAgdGFnPVtyJ2xvc3MuKiddLAogICAgICAgICAgICAgICkpLAogICAgICAgICAgbGF5b3V0X3BiMi5DaGFydCgKICAgICAgICAgICAgICB0aXRsZT0nYmF6JywKICAgICAgICAgICAgICBtYXJnaW49bGF5b3V0X3BiMi5NYXJnaW5DaGFydENvbnRlbnQoCiAgICAgICAgICAgICAgICBzZXJpZXM9WwogICAgICAgICAgICAgICAgICBsYXlvdXRfcGIyLk1hcmdpbkNoYXJ0Q29udGVudC5TZXJpZXMoCiAgICAgICAgICAgICAgICAgICAgdmFsdWU9J2xvc3MvYmF6L3NjYWxhcl9zdW1tYXJ5JywKICAgICAgICAgICAgICAgICAgICBsb3dlcj0nYmF6X2xvd2VyL2Jhei9zY2FsYXJfc3VtbWFyeScsCiAgICAgICAgICAgICAgICAgICAgdXBwZXI9J2Jhel91cHBlci9iYXovc2NhbGFyX3N1bW1hcnknKSwKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgKSksCiAgICAgIF0pLAogICAgbGF5b3V0X3BiMi5DYXRlZ29yeSgKICAgICAgdGl0bGU9J3RyaWcgZnVuY3Rpb25zJywKICAgICAgY2hhcnQ9WwogICAgICAgICAgbGF5b3V0X3BiMi5DaGFydCgKICAgICAgICAgICAgICB0aXRsZT0nd2F2ZSB0cmlnIGZ1bmN0aW9ucycsCiAgICAgICAgICAgICAgbXVsdGlsaW5lPWxheW91dF9wYjIuTXVsdGlsaW5lQ2hhcnRDb250ZW50KAogICAgICAgICAgICAgICAgdGFnPVtyJ3RyaWdGdW5jdGlvbnMvY29zaW5lJywgcid0cmlnRnVuY3Rpb25zL3NpbmUnXSwKICAgICAgICAgICAgICApKSwKICAgICAgICAgICMgVGhlIHJhbmdlIG9mIHRhbmdlbnQgaXMgZGlmZmVyZW50LiBMZXQncyBnaXZlIGl0IGl0cyBvd24gY2hhcnQuCiAgICAgICAgICBsYXlvdXRfcGIyLkNoYXJ0KAogICAgICAgICAgICAgIHRpdGxlPSd0YW4nLAogICAgICAgICAgICAgIG11bHRpbGluZT1sYXlvdXRfcGIyLk11bHRpbGluZUNoYXJ0Q29udGVudCgKICAgICAgICAgICAgICAgIHRhZz1bcid0cmlnRnVuY3Rpb25zL3RhbmdlbnQnXSwKICAgICAgICAgICAgICApKSwKICAgICAgXSwKICAgICAgIyBUaGlzIGNhdGVnb3J5IHdlIGNhcmUgbGVzcyBhYm91dC4gTGV0J3MgbWFrZSBpdCBpbml0aWFsbHkgY2xvc2VkLgogICAgICBjbG9zZWQ9VHJ1ZSksCiAgXSkpCndyaXRlci5hZGRfc3VtbWFyeShsYXlvdXRfc3VtbWFyeSkKPC9wcmUKICAgICAgICAgICAgPgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiCiAgICAgICAgICAgICAgICA+UkVBRE1FPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgICAgPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hCiAgICAgICAgICAgICAgPi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldwogICAgICAgICAgICAgIGFzPSJjaGFydCIKICAgICAgICAgICAgICBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIgogICAgICAgICAgICAgIGRpc2FibGUtcGFnaW5hdGlvbgogICAgICAgICAgICAgIGluaXRpYWwtb3BlbmVkPSJbW2NhdGVnb3J5Lm1ldGFkYXRhLm9wZW5lZF1dIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2NoYXJ0Lm11bHRpbGluZV1dIj4KICAgICAgICAgICAgICAgICAgPHRmLWN1c3RvbS1zY2FsYXItbXVsdGktbGluZS1jaGFydC1jYXJkCiAgICAgICAgICAgICAgICAgICAgYWN0aXZlPSJbW2FjdGl2ZV1dIgogICAgICAgICAgICAgICAgICAgIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSIKICAgICAgICAgICAgICAgICAgICBydW5zPSJbW19zZWxlY3RlZFJ1bnNdXSIKICAgICAgICAgICAgICAgICAgICB0aXRsZT0iW1tjaGFydC50aXRsZV1dIgogICAgICAgICAgICAgICAgICAgIHgtdHlwZT0iW1tfeFR5cGVdXSIKICAgICAgICAgICAgICAgICAgICBzbW9vdGhpbmctZW5hYmxlZD0iW1tfc21vb3RoaW5nRW5hYmxlZF1dIgogICAgICAgICAgICAgICAgICAgIHNtb290aGluZy13ZWlnaHQ9IltbX3Ntb290aGluZ1dlaWdodF1dIgogICAgICAgICAgICAgICAgICAgIHRvb2x0aXAtc29ydGluZy1tZXRob2Q9IltbdG9vbHRpcFNvcnRpbmdNZXRob2RdXSIKICAgICAgICAgICAgICAgICAgICBpZ25vcmUteS1vdXRsaWVycz0iW1tfaWdub3JlWU91dGxpZXJzXV0iCiAgICAgICAgICAgICAgICAgICAgc2hvdy1kb3dubG9hZC1saW5rcz0iW1tfc2hvd0Rvd25sb2FkTGlua3NdXSIKICAgICAgICAgICAgICAgICAgICB0YWctcmVnZXhlcz0iW1tjaGFydC5tdWx0aWxpbmUudGFnXV0iCiAgICAgICAgICAgICAgICAgID48L3RmLWN1c3RvbS1zY2FsYXItbXVsdGktbGluZS1jaGFydC1jYXJkPgogICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tjaGFydC5tYXJnaW5dXSI+CiAgICAgICAgICAgICAgICAgIDx0Zi1jdXN0b20tc2NhbGFyLW1hcmdpbi1jaGFydC1jYXJkCiAgICAgICAgICAgICAgICAgICAgYWN0aXZlPSJbW2FjdGl2ZV1dIgogICAgICAgICAgICAgICAgICAgIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSIKICAgICAgICAgICAgICAgICAgICBydW5zPSJbW19zZWxlY3RlZFJ1bnNdXSIKICAgICAgICAgICAgICAgICAgICB0aXRsZT0iW1tjaGFydC50aXRsZV1dIgogICAgICAgICAgICAgICAgICAgIHgtdHlwZT0iW1tfeFR5cGVdXSIKICAgICAgICAgICAgICAgICAgICB0b29sdGlwLXNvcnRpbmctbWV0aG9kPSJbW3Rvb2x0aXBTb3J0aW5nTWV0aG9kXV0iCiAgICAgICAgICAgICAgICAgICAgaWdub3JlLXktb3V0bGllcnM9IltbX2lnbm9yZVlPdXRsaWVyc11dIgogICAgICAgICAgICAgICAgICAgIHNob3ctZG93bmxvYWQtbGlua3M9IltbX3Nob3dEb3dubG9hZExpbmtzXV0iCiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWNoYXJ0LXNlcmllcz0iW1tjaGFydC5tYXJnaW4uc2VyaWVzXV0iCiAgICAgICAgICAgICAgICAgID48L3RmLWN1c3RvbS1zY2FsYXItbWFyZ2luLWNoYXJ0LWNhcmQ+CiAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgICN0b29sdGlwLXNvcnRpbmcgewogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsKICAgICAgfQogICAgICAjdG9vbHRpcC1zb3J0aW5nIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OwogICAgICAgIC0tcGFwZXItaW5wdXQtY29udGFpbmVyLWZvY3VzLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICB3aWR0aDogMTA1cHg7CiAgICAgIH0KICAgICAgLmxpbmUtaXRlbSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZy10b3A6IDVweDsKICAgICAgfQogICAgICAubm8tZGF0YS13YXJuaW5nIHsKICAgICAgICBtYXgtd2lkdGg6IDU0MHB4OwogICAgICAgIG1hcmdpbjogODBweCBhdXRvIDAgYXV0bzsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0sQUF0LnByb3RvdHlwZSwiX3JlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHhPKV0sQUF0LnByb3RvdHlwZSwiX2NhbmNlbGxlciIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sQUF0LnByb3RvdHlwZSwiX3NlbGVjdGVkUnVucyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwLG9ic2VydmVyOiJfc2hvd0Rvd25sb2FkTGlua3NPYnNlcnZlciJ9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLEFBdC5wcm90b3R5cGUsIl9zaG93RG93bmxvYWRMaW5rcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcixub3RpZnk6ITAsb2JzZXJ2ZXI6Il9zbW9vdGhpbmdXZWlnaHRPYnNlcnZlciJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sQUF0LnByb3RvdHlwZSwiX3Ntb290aGluZ1dlaWdodCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9pZ25vcmVZT3V0bGllcnNPYnNlcnZlciJ9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLEFBdC5wcm90b3R5cGUsIl9pZ25vcmVZT3V0bGllcnMiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sQUF0LnByb3RvdHlwZSwiX3hUeXBlIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEFBdC5wcm90b3R5cGUsIl9sYXlvdXQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxBQXQucHJvdG90eXBlLCJfZGF0YU5vdEZvdW5kIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEFBdC5wcm90b3R5cGUsIl9vcGVuZWRDYXRlZ29yaWVzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sQUF0LnByb3RvdHlwZSwiX2FjdGl2ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLEFBdC5wcm90b3R5cGUsInJlbG9hZE9uUmVhZHkiLHZvaWQgMCksdChbcygiX3Ntb290aGluZ1dlaWdodCIpLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxBQXQucHJvdG90eXBlLCJfc21vb3RoaW5nRW5hYmxlZCIsbnVsbCksdChbcygiX2xheW91dCIpLGUoImRlc2lnbjp0eXBlIixBcnJheSksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sQUF0LnByb3RvdHlwZSwiX2NhdGVnb3JpZXMiLG51bGwpLEFBdD10KFtpKCJ0Zi1jdXN0b20tc2NhbGFyLWRhc2hib2FyZCIpXSxBQXQpO2NsYXNzIGtBdHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMucnVuMmRhdGFzZXRzPXt9LHRoaXMuY29sb3JTY2FsZT1lLHRoaXMuYnVpbGRDaGFydCh0KX1nZXREYXRhc2V0KHQpe3JldHVybiB2b2lkIDA9PT10aGlzLnJ1bjJkYXRhc2V0c1t0XSYmKHRoaXMucnVuMmRhdGFzZXRzW3RdPW5ldyBOTy5EYXRhc2V0KFtdLHtydW46dH0pKSx0aGlzLnJ1bjJkYXRhc2V0c1t0XX1idWlsZENoYXJ0KHQpe3RoaXMub3V0ZXImJnRoaXMub3V0ZXIuZGVzdHJveSgpO2xldCBlPWtDdCh0KTt0aGlzLnhBY2Nlc3Nvcj1lLmFjY2Vzc29yLHRoaXMueFNjYWxlPWUuc2NhbGUsdGhpcy54QXhpcz1lLmF4aXMsdGhpcy54QXhpcy5tYXJnaW4oMCksdGhpcy54QXhpcy50aWNrTGFiZWxQYWRkaW5nKDMpLHRoaXMueVNjYWxlPW5ldyBOTy5TY2FsZXMuTGluZWFyLHRoaXMueUF4aXM9bmV3IE5PLkF4ZXMuTnVtZXJpYyh0aGlzLnlTY2FsZSwibGVmdCIpO2xldCBuPVNDdCgzKTt0aGlzLnlBeGlzLm1hcmdpbigwKS50aWNrTGFiZWxQYWRkaW5nKDUpLmZvcm1hdHRlcihuKSx0aGlzLnlBeGlzLnVzZXNUZXh0V2lkdGhBcHByb3hpbWF0aW9uKCEwKTtsZXQgaT10aGlzLmJ1aWxkUGxvdCh0aGlzLnhBY2Nlc3Nvcix0aGlzLnhTY2FsZSx0aGlzLnlTY2FsZSk7dGhpcy5ncmlkbGluZXM9bmV3IE5PLkNvbXBvbmVudHMuR3JpZGxpbmVzKHRoaXMueFNjYWxlLHRoaXMueVNjYWxlKSx0aGlzLmNlbnRlcj1uZXcgTk8uQ29tcG9uZW50cy5Hcm91cChbdGhpcy5ncmlkbGluZXMsaV0pLHRoaXMub3V0ZXI9bmV3IE5PLkNvbXBvbmVudHMuVGFibGUoW1t0aGlzLnlBeGlzLHRoaXMuY2VudGVyXSxbbnVsbCx0aGlzLnhBeGlzXV0pfWJ1aWxkUGxvdCh0LGUsbil7bGV0IGk9WzAsMjI4LDE1ODcsMzA4NSw1ZTMsNjkxNSw4NDEzLDk3NzIsMWU0XSxyPUNlLmV4cG9ydHMucmFuZ2UoaS5sZW5ndGgtMSkubWFwKCh0PT4oaVt0KzFdLWlbdF0pLzI1MDApKSxvPWkubWFwKCgodCxlKT0+dD0+dFtlXVsxXSkpLGE9b1s0XSxzPUNlLmV4cG9ydHMucmFuZ2Uoby5sZW5ndGgtMSkubWFwKChpPT57bGV0IGE9bmV3IE5PLlBsb3RzLkFyZWE7YS54KHQsZSk7bGV0IHM9aT40P29baV06b1tpKzFdO3JldHVybiBhLnkoaT40P29baSsxXTpvW2ldLG4pLGEueTAocyksYS5hdHRyKCJmaWxsIiwoKHQsZSxuKT0+dGhpcy5jb2xvclNjYWxlLnNjYWxlKG4ubWV0YWRhdGEoKS5ydW4pKSksYS5hdHRyKCJzdHJva2UiLCgodCxlLG4pPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUobi5tZXRhZGF0YSgpLnJ1bikpKSxhLmF0dHIoInN0cm9rZS13ZWlnaHQiLCgodCxlLG4pPT4iMC41cHgiKSksYS5hdHRyKCJzdHJva2Utb3BhY2l0eSIsKCgpPT5yW2ldKSksYS5hdHRyKCJmaWxsLW9wYWNpdHkiLCgoKT0+cltpXSkpLGF9KSksbD1uZXcgTk8uUGxvdHMuTGluZTtyZXR1cm4gbC54KHQsZSksbC55KGEsbiksbC5hdHRyKCJzdHJva2UiLCgodCxlLG4pPT50aGlzLmNvbG9yU2NhbGUuc2NhbGUobi5ydW4pKSksdGhpcy5wbG90cz1zLG5ldyBOTy5Db21wb25lbnRzLkdyb3VwKHMpfXNldFZpc2libGVTZXJpZXModCl7dGhpcy5ydW5zPXQ7bGV0IGU9dC5tYXAoKHQ9PnRoaXMuZ2V0RGF0YXNldCh0KSkpO3RoaXMucGxvdHMuZm9yRWFjaCgodD0+dC5kYXRhc2V0cyhlKSkpfXNldFNlcmllc0RhdGEodCxlKXt0aGlzLmdldERhdGFzZXQodCkuZGF0YShlKX1yZW5kZXJUbyh0KXt0aGlzLnRhcmdldFNWRz10LHRoaXMub3V0ZXIucmVuZGVyVG8odCl9cmVkcmF3KCl7dGhpcy5vdXRlci5yZWRyYXcoKX1kZXN0cm95KCl7dGhpcy5vdXRlci5kZXN0cm95KCl9fWxldCBMQXQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmNvbG9yU2NhbGU9KG5ldyBOTy5TY2FsZXMuQ29sb3IpLnJhbmdlKGpBLnNsaWNlKCkpLHRoaXMueFR5cGU9InN0ZXAiLHRoaXMuX3Zpc2libGVTZXJpZXNDYWNoZT1bXSx0aGlzLl9zZXJpZXNEYXRhQ2FjaGU9e30sdGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPW51bGx9c2V0VmlzaWJsZVNlcmllcyh0KXt0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGU9dCx0aGlzLl9jaGFydCYmKHRoaXMuX2NoYXJ0LnNldFZpc2libGVTZXJpZXModCksdGhpcy5yZWRyYXcoKSl9c2V0U2VyaWVzRGF0YSh0LGUpe3RoaXMuX3Nlcmllc0RhdGFDYWNoZVt0XT1lLHRoaXMuX2NoYXJ0JiZ0aGlzLl9jaGFydC5zZXRTZXJpZXNEYXRhKHQsZSl9cmVkcmF3KCl7dGhpcy5fY2hhcnQucmVkcmF3KCl9X21ha2VDaGFydCgpe3ZhciB0PXRoaXMueFR5cGUsZT10aGlzLmNvbG9yU2NhbGUsbj10aGlzLl9hdHRhY2hlZDtudWxsPT09dGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkJiZ0aGlzLmNhbmNlbEFzeW5jKHRoaXMuX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZCksdGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPXRoaXMuYXN5bmMoKGZ1bmN0aW9uKCl7aWYodGhpcy5fbWFrZUNoYXJ0QXN5bmNDYWxsYmFja0lkPW51bGwsbil7dGhpcy5fY2hhcnQmJnRoaXMuX2NoYXJ0LmRlc3Ryb3koKTt2YXIgaT1uZXcga0F0KHQsZSkscj1EdSh0aGlzLiQuY2hhcnRkaXYpO2kucmVuZGVyVG8ociksdGhpcy5fY2hhcnQ9aX19KSwzNTApfV9yZWxvYWRGcm9tQ2FjaGUoKXt0aGlzLl9jaGFydCYmKHRoaXMuX2NoYXJ0LnNldFZpc2libGVTZXJpZXModGhpcy5fdmlzaWJsZVNlcmllc0NhY2hlKSx0aGlzLl92aXNpYmxlU2VyaWVzQ2FjaGUuZm9yRWFjaChmdW5jdGlvbih0KXt0aGlzLl9jaGFydC5zZXRTZXJpZXNEYXRhKHQsdGhpcy5fc2VyaWVzRGF0YUNhY2hlW3RdfHxbXSl9LmJpbmQodGhpcykpKX1hdHRhY2hlZCgpe3RoaXMuX2F0dGFjaGVkPSEwfWRldGFjaGVkKCl7dGhpcy5fYXR0YWNoZWQ9ITF9fTtMQXQudGVtcGxhdGU9eGVgCiAgICA8c3R5bGUgaW5jbHVkZT0icGxvdHRhYmxlLXN0eWxlIj48L3N0eWxlPgogICAgPGRpdiBpZD0iY2hhcnRkaXYiPjwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICAgICNjaGFydGRpdiB7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmbGV4LXNocmluazogMTsKICAgICAgfQogICAgICAucGxvdHRhYmxlIC5heGlzIHRleHQgewogICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE5PLlNjYWxlcy5Db2xvcildLExBdC5wcm90b3R5cGUsImNvbG9yU2NhbGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sTEF0LnByb3RvdHlwZSwieFR5cGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxMQXQucHJvdG90eXBlLCJfYXR0YWNoZWQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsa0F0KV0sTEF0LnByb3RvdHlwZSwiX2NoYXJ0Iix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxMQXQucHJvdG90eXBlLCJfdmlzaWJsZVNlcmllc0NhY2hlIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLExBdC5wcm90b3R5cGUsIl9zZXJpZXNEYXRhQ2FjaGUiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sTEF0LnByb3RvdHlwZSwiX21ha2VDaGFydEFzeW5jQ2FsbGJhY2tJZCIsdm9pZCAwKSx0KFthKCJ4VHlwZSIsImNvbG9yU2NhbGUiLCJfYXR0YWNoZWQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLExBdC5wcm90b3R5cGUsIl9tYWtlQ2hhcnQiLG51bGwpLHQoW2EoIl9jaGFydCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sTEF0LnByb3RvdHlwZSwiX3JlbG9hZEZyb21DYWNoZSIsbnVsbCksTEF0PXQoW2koInZ6LWRpc3RyaWJ1dGlvbi1jaGFydCIpXSxMQXQpO2xldCBQQXQ9Y2xhc3MgZXh0ZW5kcyhiQ3QoY3Iod2UpKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuZ2V0RGF0YUxvYWROYW1lPSh7cnVuOnR9KT0+dCx0aGlzLnJlcXVlc3REYXRhPSh0LGUsbik9Pntjb25zdCBpPUVyKCkucGx1Z2luUm91dGUoImRpc3RyaWJ1dGlvbnMiLCIvZGlzdHJpYnV0aW9ucyIpO1Byb21pc2UuYWxsKHQubWFwKCh0PT57Y29uc3Qgbj1QTyhpLHt0YWc6dC50YWcscnVuOnQucnVufSk7cmV0dXJuIHRoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdChuKS50aGVuKChuPT57ZSh7aXRlbTp0LGRhdGE6bn0pfSkpfSkpKS5maW5hbGx5KCgoKT0+e24oKX0pKX0sdGhpcy5sb2FkRGF0YUNhbGxiYWNrPSh0LGUsbik9Pntjb25zdCBpPW4ubWFwKCh0PT57Y29uc3RbZSxuLGldPXQ7cmV0dXJuIGkud2FsbF90aW1lPW5ldyBEYXRlKDFlMyplKSxpLnN0ZXA9bixpfSkpLHI9dGhpcy5nZXREYXRhTG9hZE5hbWUoZSk7dGhpcy4kLmNoYXJ0LnNldFNlcmllc0RhdGEocixpKSx0aGlzLiQuY2hhcnQuc2V0VmlzaWJsZVNlcmllcyhbcl0pfSx0aGlzLl9jb2xvclNjYWxlPXtzY2FsZTpfT30sdGhpcy5fZXhwYW5kZWQ9ITEsdGhpcy5fY2FuY2VsbGVyPW5ldyB4T31fcmVsb2FkT25SdW5UYWdDaGFuZ2UoKXt0aGlzLnJlbG9hZCgpfV91cGRhdGVEYXRhVG9Mb2FkKCl7dGhpcy5kYXRhVG9Mb2FkPVt7cnVuOnRoaXMucnVuLHRhZzp0aGlzLnRhZ31dfWdldCBfcnVuQ29sb3IoKXtyZXR1cm4gdGhpcy5fY29sb3JTY2FsZS5zY2FsZSh0aGlzLnJ1bil9cmVkcmF3KCl7dGhpcy4kLmNoYXJ0LnJlZHJhdygpfV90b2dnbGVFeHBhbmRlZCh0KXt0aGlzLnNldCgiX2V4cGFuZGVkIiwhdGhpcy5fZXhwYW5kZWQpLHRoaXMucmVkcmF3KCl9fTtQQXQudGVtcGxhdGU9eGVgCiAgICA8dGYtY2FyZC1oZWFkaW5nCiAgICAgIHRhZz0iW1t0YWddXSIKICAgICAgcnVuPSJbW3J1bl1dIgogICAgICBkaXNwbGF5LW5hbWU9IltbdGFnTWV0YWRhdGEuZGlzcGxheU5hbWVdXSIKICAgICAgZGVzY3JpcHRpb249IltbdGFnTWV0YWRhdGEuZGVzY3JpcHRpb25dXSIKICAgICAgY29sb3I9IltbX3J1bkNvbG9yXV0iCiAgICA+PC90Zi1jYXJkLWhlYWRpbmc+CiAgICA8IS0tCiAgICAgIFRoZSBtYWluIGRpc3RyaWJ1dGlvbiB0aGF0IHdlIHJlbmRlci4gRGF0YSBpcyBzZXQgZGlyZWN0bHkgd2l0aAogICAgICBcYHNldFNlcmllc0RhdGFcYCwgbm90IHdpdGggYSBib3VuZCBwcm9wZXJ0eS4KICAgIC0tPgogICAgPHZ6LWRpc3RyaWJ1dGlvbi1jaGFydAogICAgICBpZD0iY2hhcnQiCiAgICAgIHgtdHlwZT0iW1t4VHlwZV1dIgogICAgICBjb2xvci1zY2FsZT0iW1tfY29sb3JTY2FsZV1dIgogICAgPjwvdnotZGlzdHJpYnV0aW9uLWNoYXJ0PgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsiPgogICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICBzZWxlY3RlZCQ9IltbX2V4cGFuZGVkXV0iCiAgICAgICAgaWNvbj0iZnVsbHNjcmVlbiIKICAgICAgICBvbi10YXA9Il90b2dnbGVFeHBhbmRlZCIKICAgICAgPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICB3aWR0aDogMzMwcHg7CiAgICAgICAgaGVpZ2h0OiAyMzVweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgfQogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgewogICAgICAgIHdpZHRoOiA3MDBweDsKICAgICAgICBoZWlnaHQ6IDUwMHB4OwogICAgICB9CgogICAgICB2ei1oaXN0b2dyYW0tdGltZXNlcmllcyB7CiAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICBwYXBlci1pY29uLWJ1dHRvbiB7CiAgICAgICAgY29sb3I6ICMyMTk2ZjM7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CiAgICAgIHBhcGVyLWljb24tYnV0dG9uW3NlbGVjdGVkXSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTsKICAgICAgfQoKICAgICAgdGYtY2FyZC1oZWFkaW5nIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sUEF0LnByb3RvdHlwZSwicnVuIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFBBdC5wcm90b3R5cGUsInRhZyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxQQXQucHJvdG90eXBlLCJ0YWdNZXRhZGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxQQXQucHJvdG90eXBlLCJ4VHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxQQXQucHJvdG90eXBlLCJnZXREYXRhTG9hZE5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sUEF0LnByb3RvdHlwZSwibG9hZERhdGFDYWxsYmFjayIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxQQXQucHJvdG90eXBlLCJfY29sb3JTY2FsZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxQQXQucHJvdG90eXBlLCJfZXhwYW5kZWQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxQQXQucHJvdG90eXBlLCJyZXF1ZXN0TWFuYWdlciIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIix4TyldLFBBdC5wcm90b3R5cGUsIl9jYW5jZWxsZXIiLHZvaWQgMCksdChbYSgicnVuIiwidGFnIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxQQXQucHJvdG90eXBlLCJfcmVsb2FkT25SdW5UYWdDaGFuZ2UiLG51bGwpLHQoW2EoInJ1biIsInRhZyIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sUEF0LnByb3RvdHlwZSwiX3VwZGF0ZURhdGFUb0xvYWQiLG51bGwpLHQoW3MoInJ1biIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLFBBdC5wcm90b3R5cGUsIl9ydW5Db2xvciIsbnVsbCksUEF0PXQoW2koInRmLWRpc3RyaWJ1dGlvbi1sb2FkZXIiKV0sUEF0KTtsZXQgTkF0PWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5yZWxvYWRPblJlYWR5PSEwLHRoaXMuX3hUeXBlPSJzdGVwIix0aGlzLl9yZXF1ZXN0TWFuYWdlcj1uZXcgYnJ9cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMucmVsb2FkT25SZWFkeSYmdGhpcy5yZWxvYWQoKX1yZWxvYWQoKXt0aGlzLl9mZXRjaFRhZ3MoKS50aGVuKCgoKT0+e3RoaXMuX3JlbG9hZERpc3RyaWJ1dGlvbnMoKX0pKX1fZmV0Y2hUYWdzKCl7Y29uc3QgdD1FcigpLnBsdWdpblJvdXRlKCJkaXN0cmlidXRpb25zIiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0KS50aGVuKCh0PT57aWYoQ2UuZXhwb3J0cy5pc0VxdWFsKHQsdGhpcy5fcnVuVG9UYWdJbmZvKSlyZXR1cm47Y29uc3QgZT1DZS5leHBvcnRzLm1hcFZhbHVlcyh0LCh0PT5PYmplY3Qua2V5cyh0KSkpLG49ZnIoZSk7dGhpcy5zZXQoIl9kYXRhTm90Rm91bmQiLDA9PT1uLmxlbmd0aCksdGhpcy5zZXQoIl9ydW5Ub1RhZyIsZSksdGhpcy5zZXQoIl9ydW5Ub1RhZ0luZm8iLHQpLHRoaXMuYXN5bmMoKCgpPT57dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pKX0pKX1fcmVsb2FkRGlzdHJpYnV0aW9ucygpe3RoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1kaXN0cmlidXRpb24tbG9hZGVyIikuZm9yRWFjaCgodD0+e3QucmVsb2FkKCl9KSl9X3Nob3VsZE9wZW4odCl7cmV0dXJuIHQ8PTJ9Z2V0IF9jYXRlZ29yaWVzKCl7cmV0dXJuIElyKHRoaXMuX3J1blRvVGFnLHRoaXMuX3NlbGVjdGVkUnVucyx0aGlzLl90YWdGaWx0ZXIpfV90YWdNZXRhZGF0YSh0LGUsbil7cmV0dXJuIHRbZV1bbl19fTtOQXQudGVtcGxhdGU9eGVgCiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciIgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3MiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvcgogICAgICAgICAgICAgIGlkPSJ4VHlwZVNlbGVjdG9yIgogICAgICAgICAgICAgIG5hbWU9Ikhvcml6b250YWwgYXhpcyIKICAgICAgICAgICAgICBzZWxlY3RlZC1pZD0ie3tfeFR5cGV9fSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24gaWQ9InN0ZXAiPnN0ZXA8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJyZWxhdGl2ZSI+cmVsYXRpdmU8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJ3YWxsX3RpbWUiPndhbGw8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24gcnVucy1zZWxlY3RvciI+CiAgICAgICAgICA8dGYtcnVucy1zZWxlY3RvciBzZWxlY3RlZC1ydW5zPSJ7e19zZWxlY3RlZFJ1bnN9fSI+CiAgICAgICAgICA8L3RmLXJ1bnMtc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iY2VudGVyIiBzbG90PSJjZW50ZXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPk5vIGRpc3RyaWJ1dGlvbiBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgWW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSBoaXN0b2dyYW0gZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLgogICAgICAgICAgICAgICAgKEhpc3RvZ3JhbXMgYW5kIGRpc3RyaWJ1dGlvbnMgYm90aCB1c2UgdGhlIGhpc3RvZ3JhbSBzdW1tYXJ5CiAgICAgICAgICAgICAgICBvcGVyYXRpb24uKQogICAgICAgICAgICAgIDwvbGk+CgogICAgICAgICAgICAgIDxsaT5UZW5zb3JCb2FyZCBjYW7igJl0IGZpbmQgeW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8KICAgICAgICAgICAgICBhZGQgZGF0YSBhbmQgc2V0IHVwIHlvdXIgZXZlbnQgZmlsZXMsIGNoZWNrIG91dCB0aGUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIgogICAgICAgICAgICAgICAgPlJFQURNRTwvYQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvc3VtbWFyaWVzX2FuZF90ZW5zb3Jib2FyZCIKICAgICAgICAgICAgICAgID5UZW5zb3JCb2FyZCB0dXRvcmlhbDwvYQogICAgICAgICAgICAgID4uCiAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdSB0aGluayBUZW5zb3JCb2FyZCBpcyBjb25maWd1cmVkIHByb3Blcmx5LCBwbGVhc2Ugc2VlCiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciCiAgICAgICAgICAgICAgICA+dGhlIHNlY3Rpb24gb2YgdGhlIFJFQURNRSBkZXZvdGVkIHRvIG1pc3NpbmcgZGF0YSBwcm9ibGVtczwvYQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8dGYtdGFnLWZpbHRlcmVyIHRhZy1maWx0ZXI9Int7X3RhZ0ZpbHRlcn19Ij48L3RmLXRhZy1maWx0ZXJlcj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2NhdGVnb3JpZXNdXSIgYXM9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgPHRmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3CiAgICAgICAgICAgICAgY2F0ZWdvcnk9IltbY2F0ZWdvcnldXSIKICAgICAgICAgICAgICBpbml0aWFsLW9wZW5lZD0iW1tfc2hvdWxkT3BlbihpbmRleCldXSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDx0Zi1kaXN0cmlidXRpb24tbG9hZGVyCiAgICAgICAgICAgICAgICAgIGFjdGl2ZT0iW1thY3RpdmVdXSIKICAgICAgICAgICAgICAgICAgcnVuPSJbW2l0ZW0ucnVuXV0iCiAgICAgICAgICAgICAgICAgIHRhZz0iW1tpdGVtLnRhZ11dIgogICAgICAgICAgICAgICAgICB0YWctbWV0YWRhdGE9IltbX3RhZ01ldGFkYXRhKF9ydW5Ub1RhZ0luZm8sIGl0ZW0ucnVuLCBpdGVtLnRhZyldXSIKICAgICAgICAgICAgICAgICAgeC10eXBlPSJbW194VHlwZV1dIgogICAgICAgICAgICAgICAgICByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iCiAgICAgICAgICAgICAgICA+PC90Zi1kaXN0cmlidXRpb24tbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxOQXQucHJvdG90eXBlLCJyZWxvYWRPblJlYWR5Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLE5BdC5wcm90b3R5cGUsIl94VHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sTkF0LnByb3RvdHlwZSwiX3NlbGVjdGVkUnVucyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxOQXQucHJvdG90eXBlLCJfcnVuVG9UYWciLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sTkF0LnByb3RvdHlwZSwiX3J1blRvVGFnSW5mbyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLE5BdC5wcm90b3R5cGUsIl9kYXRhTm90Rm91bmQiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sTkF0LnByb3RvdHlwZSwiX3RhZ0ZpbHRlciIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLE5BdC5wcm90b3R5cGUsIl9jYXRlZ29yaWVzRG9tUmVhZHkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxOQXQucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbcygiX3J1blRvVGFnIiwiX3NlbGVjdGVkUnVucyIsIl90YWdGaWx0ZXIiLCJfY2F0ZWdvcmllc0RvbVJlYWR5IiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxOQXQucHJvdG90eXBlLCJfY2F0ZWdvcmllcyIsbnVsbCksTkF0PXQoW2koInRmLWRpc3RyaWJ1dGlvbi1kYXNoYm9hcmQiKV0sTkF0KTt2YXIgSUF0PU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLExpc3RlbktleTpNcyxhZGRIYXNoTGlzdGVuZXI6Q3MsYWRkU3RvcmFnZUxpc3RlbmVyOkFzLGZpcmVTdG9yYWdlQ2hhbmdlZDprcyxyZW1vdmVIYXNoTGlzdGVuZXJCeUtleTpMcyxyZW1vdmVTdG9yYWdlTGlzdGVuZXJCeUtleTpQcyxnZXRVcmxIYXNoRGljdDpmdW5jdGlvbiBSQXQoKXtyZXR1cm4gRnN9LERJU0FNQklHVUFUT1I6V3MsZ2V0U3RyaW5nOnFzLHNldFN0cmluZzpZcyxnZXRTdHJpbmdJbml0aWFsaXplcjpYcyxnZXRTdHJpbmdPYnNlcnZlcjokcyxkaXNwb3NlU3RyaW5nQmluZGluZzpLcyxnZXRCb29sZWFuOlpzLHNldEJvb2xlYW46SnMsZ2V0Qm9vbGVhbkluaXRpYWxpemVyOlFzLGdldEJvb2xlYW5PYnNlcnZlcjp0bCxkaXNwb3NlQm9vbGVhbkJpbmRpbmc6ZWwsZ2V0TnVtYmVyOm5sLHNldE51bWJlcjppbCxnZXROdW1iZXJJbml0aWFsaXplcjpybCxnZXROdW1iZXJPYnNlcnZlcjpvbCxkaXNwb3NlTnVtYmVyQmluZGluZzphbCxnZXRPYmplY3Q6c2wsc2V0T2JqZWN0OmxsLGdldE9iamVjdEluaXRpYWxpemVyOmNsLGdldE9iamVjdE9ic2VydmVyOnVsLGRpc3Bvc2VPYmplY3RCaW5kaW5nOmhsLG1ha2VCaW5kaW5nczpkbCxtaWdyYXRlTGVnYWN5VVJMU2NoZW1lOmZ1bmN0aW9uIE9BdCgpe2NvbnN0IHQ9bmV3IFNldChbImV4YW1wbGVzUGF0aCIsImhpZGVNb2RlbFBhbmUyIiwibW9kZWxOYW1lMSIsIm1vZGVsTmFtZTIiLCJpbmZlcmVuY2VBZGRyZXNzMSIsImluZmVyZW5jZUFkZHJlc3MyIiwibW9kZWxUeXBlIiwibW9kZWxWZXJzaW9uMSIsIm1vZGVsVmVyc2lvbjIiLCJtb2RlbFNpZ25hdHVyZTEiLCJtb2RlbFNpZ25hdHVyZTIiLCJtYXhFeGFtcGxlcyIsImxhYmVsVm9jYWJQYXRoIiwibXVsdGlDbGFzcyIsInNlcXVlbmNlRXhhbXBsZXMiLCJtYXhDbGFzc2VzVG9EaXNwbGF5Iiwic2FtcGxpbmdPZGRzIiwidXNlUHJlZGljdEFwaSIsInByZWRpY3RJbnB1dFRlbnNvciIsInByZWRpY3RPdXRwdXRUZW5zb3IiXSksZT1VcyhWcygpKTtpZigid2hhdGlmIj09PWUuX190YWJfXylmb3IobGV0IG4gb2YgdClpZihuIGluIGUpe2VbYHAud2hhdGlmLiR7bn1gXT1lW25dfWpzKEdzKGUpKSwoZnVuY3Rpb24gbih0KXtGcz10fSkoZSl9fSk7dmFyIHpBdCxEQXQ7IShmdW5jdGlvbih0KXt0LkZFVENIX1BCVFhUX0JZVEVTPSJGRVRDSF9QQlRYVF9CWVRFUyIsdC5GRVRDSF9QQlRYVF9CWVRFU19GUk9NX0ZJTEVTWVNURU09IkZFVENIX1BCVFhUX0JZVEVTX0ZST01fRklMRVNZU1RFTSIsdC5GRVRDSF9QQlRYVF9CWVRFU19GUk9NX1NFUlZFUj0iRkVUQ0hfUEJUWFRfQllURVNfRlJPTV9TRVJWRVIiLHQuUEFSU0VfUEJUWFRfSU5UT19PQkpFQ1Q9IlBBUlNFX1BCVFhUX0lOVE9fT0JKRUNUIix0LkZFVENIX01FVEFEQVRBX1BCVFhUX0JZVEVTPSJGRVRDSF9NRVRBREFUQV9QQlRYVF9CWVRFUyIsdC5QQVJTRV9NRVRBREFUQV9QQlRYVF9JTlRPX09CSkVDVD0iUEFSU0VfTUVUQURBVEFfUEJUWFRfSU5UT19PQkpFQ1QiLHQuTk9STUFMSVpJTkdfTkFNRVM9Ik5PUk1BTElaSU5HX05BTUVTIix0LkJVSUxEX1NMSU1fR1JBUEg9IkJVSUxEX1NMSU1fR1JBUEgiLHQuSElFUkFSQ0hZX0FERF9OT0RFUz0iSElFUkFSQ0hZX0FERF9OT0RFUyIsdC5ISUVSQVJDSFlfREVURUNUX1NFUklFUz0iSElFUkFSQ0hZX0RFVEVDVF9TRVJJRVMiLHQuSElFUkFSQ0hZX0FERF9FREdFUz0iSElFUkFSQ0hZX0FERF9FREdFUyIsdC5ISUVSQVJDSFlfRklORF9TSU1JTEFSX1NVQkdSQVBIUz0iSElFUkFSQ0hZX0ZJTkRfU0lNSUxBUl9TVUJHUkFQSFMiLHQuUkVOREVSX0JVSUxEX0hJRVJBUkNIWT0iUkVOREVSX0JVSUxEX0hJRVJBUkNIWSIsdC5SRU5ERVJfU0NFTkVfTEFZT1VUPSJSRU5ERVJfU0NFTkVfTEFZT1VUIix0LlJFTkRFUl9TQ0VORV9CVUlMRF9TQ0VORT0iUkVOREVSX1NDRU5FX0JVSUxEX1NDRU5FIix0LkdSQVBIX0xPQURfU1VDQ0VFREVEPSJHUkFQSF9MT0FEX1NVQ0NFRURFRCIsdC5HUkFQSF9MT0FEX0ZBSUxFRD0iR1JBUEhfTE9BRF9GQUlMRUQifSkoekF0fHwoekF0PXt9KSksKGZ1bmN0aW9uKHQpe3QuTk9ERV9FWFBBTlNJT05fVE9HR0xFRD0iTk9ERV9FWFBBTlNJT05fVE9HR0xFRCIsdC5OT0RFX1NFQVJDSF9SRVNVTFRfRk9DVVNFRD0iTk9ERV9TRUFSQ0hfUkVTVUxUX0ZPQ1VTRUQiLHQuTk9ERV9BVVhJTElBUllfRVhUUkFDVElPTl9DSEFOR0VEPSJOT0RFX0FVWElMSUFSWV9FWFRSQUNUSU9OX0NIQU5HRUQiLHQuR1JBUEhfVFlQRV9DSEFOR0VEPSJHUkFQSF9UWVBFX0NIQU5HRUQiLHQuVFJBQ0VfSU5QVVRfTU9ERV9UT0dHTEVEPSJUUkFDRV9JTlBVVF9NT0RFX1RPR0dMRUQiLHQuTk9ERV9DT0xPUl9NT0RFX0NIQU5HRUQ9Ik5PREVfQ09MT1JfTU9ERV9DSEFOR0VEIix0LlVQTE9BREVEX0dSQVBIX0ZST01fRklMRVNZU1RFTT0iVVBMT0FERURfR1JBUEhfRlJPTV9GSUxFU1lTVEVNIn0pKERBdHx8KERBdD17fSkpO2NvbnN0IEJBdD1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sekF0KSxEQXQpO3ZhciBIQXQ9ZnVuY3Rpb24gRkF0KHQsZSl7cmV0dXJuIHQ9PT1lfHx0IT10JiZlIT1lfSxWQXQ9SEF0O3ZhciBVQXQ9ZnVuY3Rpb24gakF0KHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoO24tLTspaWYoVkF0KHRbbl1bMF0sZSkpcmV0dXJuIG47cmV0dXJuLTF9LEdBdD1VQXQsV0F0PUFycmF5LnByb3RvdHlwZS5zcGxpY2U7dmFyIHFBdD1VQXQ7dmFyIFlBdD1VQXQ7dmFyIFhBdD1VQXQ7dmFyICRBdD1mdW5jdGlvbiBLQXQodCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxuPUdBdChlLHQpO3JldHVybiEobjwwKSYmKG49PWUubGVuZ3RoLTE/ZS5wb3AoKTpXQXQuY2FsbChlLG4sMSksLS10aGlzLnNpemUsITApfSxaQXQ9ZnVuY3Rpb24gSkF0KHQpe3ZhciBlPXRoaXMuX19kYXRhX18sbj1xQXQoZSx0KTtyZXR1cm4gbjwwP3ZvaWQgMDplW25dWzFdfSxRQXQ9ZnVuY3Rpb24gdGt0KHQpe3JldHVybiBZQXQodGhpcy5fX2RhdGFfXyx0KT4tMX0sZWt0PWZ1bmN0aW9uIG5rdCh0LGUpe3ZhciBuPXRoaXMuX19kYXRhX18saT1YQXQobix0KTtyZXR1cm4gaTwwPygrK3RoaXMuc2l6ZSxuLnB1c2goW3QsZV0pKTpuW2ldWzFdPWUsdGhpc307ZnVuY3Rpb24gaWt0KHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgaT10W2VdO3RoaXMuc2V0KGlbMF0saVsxXSl9fWlrdC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24gcmt0KCl7dGhpcy5fX2RhdGFfXz1bXSx0aGlzLnNpemU9MH0saWt0LnByb3RvdHlwZS5kZWxldGU9JEF0LGlrdC5wcm90b3R5cGUuZ2V0PVpBdCxpa3QucHJvdG90eXBlLmhhcz1RQXQsaWt0LnByb3RvdHlwZS5zZXQ9ZWt0O3ZhciBva3Q9aWt0LGFrdD1va3Q7dmFyIHNrdD1mdW5jdGlvbiBsa3QoKXt0aGlzLl9fZGF0YV9fPW5ldyBha3QsdGhpcy5zaXplPTB9O3ZhciBja3Q9ZnVuY3Rpb24gdWt0KHQpe3ZhciBlPXRoaXMuX19kYXRhX18sbj1lLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplPWUuc2l6ZSxufTt2YXIgaGt0PWZ1bmN0aW9uIGRrdCh0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5nZXQodCl9O3ZhciBwa3Q9ZnVuY3Rpb24gZmt0KHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmhhcyh0KX0sbWt0PSJvYmplY3QiPT10eXBlb2YgU2UmJlNlJiZTZS5PYmplY3Q9PT1PYmplY3QmJlNlLGdrdD0ib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLF9rdD1ta3R8fGdrdHx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSx5a3Q9X2t0LlN5bWJvbCx2a3Q9T2JqZWN0LnByb3RvdHlwZSxia3Q9dmt0Lmhhc093blByb3BlcnR5LHhrdD12a3QudG9TdHJpbmcsd2t0PXlrdD95a3QudG9TdHJpbmdUYWc6dm9pZCAwO3ZhciBTa3Q9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzt2YXIgTWt0PWZ1bmN0aW9uIEVrdCh0KXt2YXIgZT1ia3QuY2FsbCh0LHdrdCksbj10W3drdF07dHJ5e3Rbd2t0XT12b2lkIDA7dmFyIGk9ITB9Y2F0Y2godCl7fXZhciByPXhrdC5jYWxsKHQpO3JldHVybiBpJiYoZT90W3drdF09bjpkZWxldGUgdFt3a3RdKSxyfSxUa3Q9ZnVuY3Rpb24gQ2t0KHQpe3JldHVybiBTa3QuY2FsbCh0KX0sQWt0PXlrdD95a3QudG9TdHJpbmdUYWc6dm9pZCAwO3ZhciBra3Q9ZnVuY3Rpb24gTGt0KHQpe3JldHVybiBudWxsPT10P3ZvaWQgMD09PXQ/IltvYmplY3QgVW5kZWZpbmVkXSI6IltvYmplY3QgTnVsbF0iOkFrdCYmQWt0IGluIE9iamVjdCh0KT9Na3QodCk6VGt0KHQpfTt2YXIgUGt0PWZ1bmN0aW9uIE5rdCh0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4gbnVsbCE9dCYmKCJvYmplY3QiPT1lfHwiZnVuY3Rpb24iPT1lKX0sSWt0PWtrdCxSa3Q9UGt0O3ZhciBPa3Qsemt0PWZ1bmN0aW9uIERrdCh0KXtpZighUmt0KHQpKXJldHVybiExO3ZhciBlPUlrdCh0KTtyZXR1cm4iW29iamVjdCBGdW5jdGlvbl0iPT1lfHwiW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0iPT1lfHwiW29iamVjdCBBc3luY0Z1bmN0aW9uXSI9PWV8fCJbb2JqZWN0IFByb3h5XSI9PWV9LEJrdD1fa3RbIl9fY29yZS1qc19zaGFyZWRfXyJdLEhrdD0oT2t0PS9bXi5dKyQvLmV4ZWMoQmt0JiZCa3Qua2V5cyYmQmt0LmtleXMuSUVfUFJPVE98fCIiKSk/IlN5bWJvbChzcmMpXzEuIitPa3Q6IiI7dmFyIEZrdD1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7dmFyIFZrdD1mdW5jdGlvbiBVa3QodCl7aWYobnVsbCE9dCl7dHJ5e3JldHVybiBGa3QuY2FsbCh0KX1jYXRjaCh0KXt9dHJ5e3JldHVybiB0KyIifWNhdGNoKHQpe319cmV0dXJuIiJ9LGprdD16a3QsR2t0PWZ1bmN0aW9uIFdrdCh0KXtyZXR1cm4hIUhrdCYmSGt0IGluIHR9LHFrdD1Qa3QsWWt0PVZrdCxYa3Q9L15cW29iamVjdCAuKz9Db25zdHJ1Y3RvclxdJC8sJGt0PVJlZ0V4cCgiXiIrRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSkucmVwbGFjZSgvW1xcXiQuKis/KClbXF17fXxdL2csIlxcJCYiKS5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcKCl8IGZvciAuKz8oPz1cXFxdKS9nLCIkMS4qPyIpKyIkIik7dmFyIEtrdD1mdW5jdGlvbiBaa3QodCl7cmV0dXJuISghcWt0KHQpfHxHa3QodCkpJiYoamt0KHQpPyRrdDpYa3QpLnRlc3QoWWt0KHQpKX0sSmt0PWZ1bmN0aW9uIFFrdCh0LGUpe3JldHVybiBudWxsPT10P3ZvaWQgMDp0W2VdfTt2YXIgdEx0PWZ1bmN0aW9uIGVMdCh0LGUpe3ZhciBuPUprdCh0LGUpO3JldHVybiBLa3Qobik/bjp2b2lkIDB9LG5MdD10THQoX2t0LCJNYXAiKSxpTHQ9dEx0KE9iamVjdCwiY3JlYXRlIiksckx0PWlMdDt2YXIgb0x0PWlMdCxhTHQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgc0x0PWlMdCxsTHQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgY0x0PWlMdDt2YXIgdUx0PWZ1bmN0aW9uIGhMdCh0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX0sZEx0PWZ1bmN0aW9uIHBMdCh0KXt2YXIgZT10aGlzLl9fZGF0YV9fO2lmKG9MdCl7dmFyIG49ZVt0XTtyZXR1cm4iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI9PT1uP3ZvaWQgMDpufXJldHVybiBhTHQuY2FsbChlLHQpP2VbdF06dm9pZCAwfSxmTHQ9ZnVuY3Rpb24gbUx0KHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIHNMdD92b2lkIDAhPT1lW3RdOmxMdC5jYWxsKGUsdCl9LGdMdD1mdW5jdGlvbiBfTHQodCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fO3JldHVybiB0aGlzLnNpemUrPXRoaXMuaGFzKHQpPzA6MSxuW3RdPWNMdCYmdm9pZCAwPT09ZT8iX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyI6ZSx0aGlzfTtmdW5jdGlvbiB5THQodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8bjspe3ZhciBpPXRbZV07dGhpcy5zZXQoaVswXSxpWzFdKX19eUx0LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbiB2THQoKXt0aGlzLl9fZGF0YV9fPXJMdD9yTHQobnVsbCk6e30sdGhpcy5zaXplPTB9LHlMdC5wcm90b3R5cGUuZGVsZXRlPXVMdCx5THQucHJvdG90eXBlLmdldD1kTHQseUx0LnByb3RvdHlwZS5oYXM9Zkx0LHlMdC5wcm90b3R5cGUuc2V0PWdMdDt2YXIgYkx0PXlMdCx4THQ9b2t0LHdMdD1uTHQ7dmFyIFNMdD1mdW5jdGlvbiBNTHQodCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuInN0cmluZyI9PWV8fCJudW1iZXIiPT1lfHwic3ltYm9sIj09ZXx8ImJvb2xlYW4iPT1lPyJfX3Byb3RvX18iIT09dDpudWxsPT09dH07dmFyIEVMdD1mdW5jdGlvbiBUTHQodCxlKXt2YXIgbj10Ll9fZGF0YV9fO3JldHVybiBTTHQoZSk/blsic3RyaW5nIj09dHlwZW9mIGU/InN0cmluZyI6Imhhc2giXTpuLm1hcH0sQ0x0PUVMdDt2YXIgQUx0PUVMdDt2YXIga0x0PUVMdDt2YXIgTEx0PUVMdDt2YXIgUEx0PWZ1bmN0aW9uIE5MdCh0KXt2YXIgZT1DTHQodGhpcyx0KS5kZWxldGUodCk7cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX0sSUx0PWZ1bmN0aW9uIFJMdCh0KXtyZXR1cm4gQUx0KHRoaXMsdCkuZ2V0KHQpfSxPTHQ9ZnVuY3Rpb24gekx0KHQpe3JldHVybiBrTHQodGhpcyx0KS5oYXModCl9LERMdD1mdW5jdGlvbiBCTHQodCxlKXt2YXIgbj1MTHQodGhpcyx0KSxpPW4uc2l6ZTtyZXR1cm4gbi5zZXQodCxlKSx0aGlzLnNpemUrPW4uc2l6ZT09aT8wOjEsdGhpc307ZnVuY3Rpb24gSEx0KHQpe3ZhciBlPS0xLG49bnVsbD09dD8wOnQubGVuZ3RoO2Zvcih0aGlzLmNsZWFyKCk7KytlPG47KXt2YXIgaT10W2VdO3RoaXMuc2V0KGlbMF0saVsxXSl9fUhMdC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24gRkx0KCl7dGhpcy5zaXplPTAsdGhpcy5fX2RhdGFfXz17aGFzaDpuZXcgYkx0LG1hcDpuZXcod0x0fHx4THQpLHN0cmluZzpuZXcgYkx0fX0sSEx0LnByb3RvdHlwZS5kZWxldGU9UEx0LEhMdC5wcm90b3R5cGUuZ2V0PUlMdCxITHQucHJvdG90eXBlLmhhcz1PTHQsSEx0LnByb3RvdHlwZS5zZXQ9REx0O3ZhciBWTHQ9SEx0LFVMdD1va3Qsakx0PW5MdCxHTHQ9Vkx0O3ZhciBXTHQ9b2t0LHFMdD1ja3QsWUx0PWhrdCxYTHQ9cGt0LCRMdD1mdW5jdGlvbiBLTHQodCxlKXt2YXIgbj10aGlzLl9fZGF0YV9fO2lmKG4gaW5zdGFuY2VvZiBVTHQpe3ZhciBpPW4uX19kYXRhX187aWYoIWpMdHx8aS5sZW5ndGg8MTk5KXJldHVybiBpLnB1c2goW3QsZV0pLHRoaXMuc2l6ZT0rK24uc2l6ZSx0aGlzO249dGhpcy5fX2RhdGFfXz1uZXcgR0x0KGkpfXJldHVybiBuLnNldCh0LGUpLHRoaXMuc2l6ZT1uLnNpemUsdGhpc307ZnVuY3Rpb24gWkx0KHQpe3ZhciBlPXRoaXMuX19kYXRhX189bmV3IFdMdCh0KTt0aGlzLnNpemU9ZS5zaXplfVpMdC5wcm90b3R5cGUuY2xlYXI9c2t0LFpMdC5wcm90b3R5cGUuZGVsZXRlPXFMdCxaTHQucHJvdG90eXBlLmdldD1ZTHQsWkx0LnByb3RvdHlwZS5oYXM9WEx0LFpMdC5wcm90b3R5cGUuc2V0PSRMdDt2YXIgSkx0PVpMdDt2YXIgUUx0PWZ1bmN0aW9uIHRQdCh0LGUpe2Zvcih2YXIgbj0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aDsrK248aSYmITEhPT1lKHRbbl0sbix0KTspO3JldHVybiB0fSxlUHQ9dEx0LG5QdD0oZnVuY3Rpb24oKXt0cnl7dmFyIHQ9ZVB0KE9iamVjdCwiZGVmaW5lUHJvcGVydHkiKTtyZXR1cm4gdCh7fSwiIix7fSksdH1jYXRjaCh0KXt9fSkoKSxpUHQ9blB0O3ZhciByUHQ9ZnVuY3Rpb24gb1B0KHQsZSxuKXsiX19wcm90b19fIj09ZSYmaVB0P2lQdCh0LGUse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOm4sd3JpdGFibGU6ITB9KTp0W2VdPW59LGFQdD1yUHQsc1B0PUhBdCxsUHQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgY1B0PWZ1bmN0aW9uIHVQdCh0LGUsbil7dmFyIGk9dFtlXTtsUHQuY2FsbCh0LGUpJiZzUHQoaSxuKSYmKHZvaWQgMCE9PW58fGUgaW4gdCl8fGFQdCh0LGUsbil9LGhQdD1jUHQsZFB0PXJQdDt2YXIgcFB0PWZ1bmN0aW9uIGZQdCh0LGUsbixpKXt2YXIgcj0hbjtufHwobj17fSk7Zm9yKHZhciBvPS0xLGE9ZS5sZW5ndGg7KytvPGE7KXt2YXIgcz1lW29dLGw9aT9pKG5bc10sdFtzXSxzLG4sdCk6dm9pZCAwO3ZvaWQgMD09PWwmJihsPXRbc10pLHI/ZFB0KG4scyxsKTpoUHQobixzLGwpfXJldHVybiBufTt2YXIgbVB0PWZ1bmN0aW9uIGdQdCh0LGUpe2Zvcih2YXIgbj0tMSxpPUFycmF5KHQpOysrbjx0OylpW25dPWUobik7cmV0dXJuIGl9O3ZhciBfUHQ9ZnVuY3Rpb24geVB0KHQpe3JldHVybiBudWxsIT10JiYib2JqZWN0Ij09dHlwZW9mIHR9LHZQdD1ra3QsYlB0PV9QdDt2YXIgeFB0PWZ1bmN0aW9uIHdQdCh0KXtyZXR1cm4gYlB0KHQpJiYiW29iamVjdCBBcmd1bWVudHNdIj09dlB0KHQpfSxTUHQ9X1B0LE1QdD1PYmplY3QucHJvdG90eXBlLEVQdD1NUHQuaGFzT3duUHJvcGVydHksVFB0PU1QdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSxDUHQ9eFB0KChmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KSgpKT94UHQ6ZnVuY3Rpb24odCl7cmV0dXJuIFNQdCh0KSYmRVB0LmNhbGwodCwiY2FsbGVlIikmJiFUUHQuY2FsbCh0LCJjYWxsZWUiKX0sQVB0PUFycmF5LmlzQXJyYXksa1B0PXtleHBvcnRzOnt9fTt2YXIgTFB0PWZ1bmN0aW9uIFBQdCgpe3JldHVybiExfTshKGZ1bmN0aW9uKHQsZSl7dmFyIG49ZSYmIWUubm9kZVR5cGUmJmUsaT1uJiZ0JiYhdC5ub2RlVHlwZSYmdCxyPWkmJmkuZXhwb3J0cz09PW4/X2t0LkJ1ZmZlcjp2b2lkIDA7dC5leHBvcnRzPShyP3IuaXNCdWZmZXI6dm9pZCAwKXx8TFB0fSkoa1B0LGtQdC5leHBvcnRzKTt2YXIgTlB0PS9eKD86MHxbMS05XVxkKikkLzt2YXIgSVB0PWZ1bmN0aW9uIFJQdCh0LGUpe3ZhciBuPXR5cGVvZiB0O3JldHVybiEhKGU9bnVsbD09ZT85MDA3MTk5MjU0NzQwOTkxOmUpJiYoIm51bWJlciI9PW58fCJzeW1ib2wiIT1uJiZOUHQudGVzdCh0KSkmJnQ+LTEmJnQlMT09MCYmdDxlfTt2YXIgT1B0PWZ1bmN0aW9uIHpQdCh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJnQ+LTEmJnQlMT09MCYmdDw9OTAwNzE5OTI1NDc0MDk5MX0sRFB0PWtrdCxCUHQ9T1B0LEhQdD1fUHQsRlB0PXt9O0ZQdFsiW29iamVjdCBGbG9hdDMyQXJyYXldIl09RlB0WyJbb2JqZWN0IEZsb2F0NjRBcnJheV0iXT1GUHRbIltvYmplY3QgSW50OEFycmF5XSJdPUZQdFsiW29iamVjdCBJbnQxNkFycmF5XSJdPUZQdFsiW29iamVjdCBJbnQzMkFycmF5XSJdPUZQdFsiW29iamVjdCBVaW50OEFycmF5XSJdPUZQdFsiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iXT1GUHRbIltvYmplY3QgVWludDE2QXJyYXldIl09RlB0WyJbb2JqZWN0IFVpbnQzMkFycmF5XSJdPSEwLEZQdFsiW29iamVjdCBBcmd1bWVudHNdIl09RlB0WyJbb2JqZWN0IEFycmF5XSJdPUZQdFsiW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1GUHRbIltvYmplY3QgQm9vbGVhbl0iXT1GUHRbIltvYmplY3QgRGF0YVZpZXddIl09RlB0WyJbb2JqZWN0IERhdGVdIl09RlB0WyJbb2JqZWN0IEVycm9yXSJdPUZQdFsiW29iamVjdCBGdW5jdGlvbl0iXT1GUHRbIltvYmplY3QgTWFwXSJdPUZQdFsiW29iamVjdCBOdW1iZXJdIl09RlB0WyJbb2JqZWN0IE9iamVjdF0iXT1GUHRbIltvYmplY3QgUmVnRXhwXSJdPUZQdFsiW29iamVjdCBTZXRdIl09RlB0WyJbb2JqZWN0IFN0cmluZ10iXT1GUHRbIltvYmplY3QgV2Vha01hcF0iXT0hMTt2YXIgVlB0PWZ1bmN0aW9uIFVQdCh0KXtyZXR1cm4gSFB0KHQpJiZCUHQodC5sZW5ndGgpJiYhIUZQdFtEUHQodCldfTt2YXIgalB0PWZ1bmN0aW9uIEdQdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQoZSl9fSxXUHQ9e2V4cG9ydHM6e319OyEoZnVuY3Rpb24odCxlKXt2YXIgbj1lJiYhZS5ub2RlVHlwZSYmZSxpPW4mJnQmJiF0Lm5vZGVUeXBlJiZ0LHI9aSYmaS5leHBvcnRzPT09biYmbWt0LnByb2Nlc3Msbz0oZnVuY3Rpb24oKXt0cnl7dmFyIHQ9aSYmaS5yZXF1aXJlJiZpLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8ciYmci5iaW5kaW5nJiZyLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSkoKTt0LmV4cG9ydHM9b30pKFdQdCxXUHQuZXhwb3J0cyk7dmFyIHFQdD1WUHQsWVB0PVdQdC5leHBvcnRzLFhQdD1ZUHQmJllQdC5pc1R5cGVkQXJyYXksJFB0PVhQdD9qUHQoWFB0KTpxUHQsS1B0PW1QdCxaUHQ9Q1B0LEpQdD1BUHQsUVB0PWtQdC5leHBvcnRzLHROdD1JUHQsZU50PSRQdCxuTnQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgaU50PWZ1bmN0aW9uIHJOdCh0LGUpe3ZhciBuPUpQdCh0KSxpPSFuJiZaUHQodCkscj0hbiYmIWkmJlFQdCh0KSxvPSFuJiYhaSYmIXImJmVOdCh0KSxhPW58fGl8fHJ8fG8scz1hP0tQdCh0Lmxlbmd0aCxTdHJpbmcpOltdLGw9cy5sZW5ndGg7Zm9yKHZhciBjIGluIHQpIWUmJiFuTnQuY2FsbCh0LGMpfHxhJiYoImxlbmd0aCI9PWN8fHImJigib2Zmc2V0Ij09Y3x8InBhcmVudCI9PWMpfHxvJiYoImJ1ZmZlciI9PWN8fCJieXRlTGVuZ3RoIj09Y3x8ImJ5dGVPZmZzZXQiPT1jKXx8dE50KGMsbCkpfHxzLnB1c2goYyk7cmV0dXJuIHN9LG9OdD1PYmplY3QucHJvdG90eXBlO3ZhciBhTnQ9ZnVuY3Rpb24gc050KHQpe3ZhciBlPXQmJnQuY29uc3RydWN0b3I7cmV0dXJuIHQ9PT0oImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUucHJvdG90eXBlfHxvTnQpfTt2YXIgbE50PWZ1bmN0aW9uIGNOdCh0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdChlKG4pKX19LHVOdD1sTnQoT2JqZWN0LmtleXMsT2JqZWN0KSxoTnQ9YU50LGROdD11TnQscE50PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIGZOdD1mdW5jdGlvbiBtTnQodCl7aWYoIWhOdCh0KSlyZXR1cm4gZE50KHQpO3ZhciBlPVtdO2Zvcih2YXIgbiBpbiBPYmplY3QodCkpcE50LmNhbGwodCxuKSYmImNvbnN0cnVjdG9yIiE9biYmZS5wdXNoKG4pO3JldHVybiBlfSxnTnQ9emt0LF9OdD1PUHQ7dmFyIHlOdD1mdW5jdGlvbiB2TnQodCl7cmV0dXJuIG51bGwhPXQmJl9OdCh0Lmxlbmd0aCkmJiFnTnQodCl9LGJOdD1pTnQseE50PWZOdCx3TnQ9eU50O3ZhciBTTnQ9ZnVuY3Rpb24gTU50KHQpe3JldHVybiB3TnQodCk/Yk50KHQpOnhOdCh0KX0sRU50PXBQdCxUTnQ9U050O3ZhciBDTnQ9ZnVuY3Rpb24gQU50KHQsZSl7cmV0dXJuIHQmJkVOdChlLFROdChlKSx0KX07dmFyIGtOdD1Qa3QsTE50PWFOdCxQTnQ9ZnVuY3Rpb24gTk50KHQpe3ZhciBlPVtdO2lmKG51bGwhPXQpZm9yKHZhciBuIGluIE9iamVjdCh0KSllLnB1c2gobik7cmV0dXJuIGV9LElOdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciBSTnQ9aU50LE9OdD1mdW5jdGlvbiB6TnQodCl7aWYoIWtOdCh0KSlyZXR1cm4gUE50KHQpO3ZhciBlPUxOdCh0KSxuPVtdO2Zvcih2YXIgaSBpbiB0KSgiY29uc3RydWN0b3IiIT1pfHwhZSYmSU50LmNhbGwodCxpKSkmJm4ucHVzaChpKTtyZXR1cm4gbn0sRE50PXlOdDt2YXIgQk50PWZ1bmN0aW9uIEhOdCh0KXtyZXR1cm4gRE50KHQpP1JOdCh0LCEwKTpPTnQodCl9LEZOdD1wUHQsVk50PUJOdDt2YXIgVU50PWZ1bmN0aW9uIGpOdCh0LGUpe3JldHVybiB0JiZGTnQoZSxWTnQoZSksdCl9LEdOdD17ZXhwb3J0czp7fX07IShmdW5jdGlvbih0LGUpe3ZhciBuPWUmJiFlLm5vZGVUeXBlJiZlLGk9biYmdCYmIXQubm9kZVR5cGUmJnQscj1pJiZpLmV4cG9ydHM9PT1uP19rdC5CdWZmZXI6dm9pZCAwLG89cj9yLmFsbG9jVW5zYWZlOnZvaWQgMDt0LmV4cG9ydHM9ZnVuY3Rpb24gYSh0LGUpe2lmKGUpcmV0dXJuIHQuc2xpY2UoKTt2YXIgbj10Lmxlbmd0aCxpPW8/byhuKTpuZXcgdC5jb25zdHJ1Y3RvcihuKTtyZXR1cm4gdC5jb3B5KGkpLGl9fSkoR050LEdOdC5leHBvcnRzKTt2YXIgV050PWZ1bmN0aW9uIHFOdCh0LGUpe3ZhciBuPS0xLGk9dC5sZW5ndGg7Zm9yKGV8fChlPUFycmF5KGkpKTsrK248aTspZVtuXT10W25dO3JldHVybiBlfTt2YXIgWU50PWZ1bmN0aW9uIFhOdCh0LGUpe2Zvcih2YXIgbj0tMSxpPW51bGw9PXQ/MDp0Lmxlbmd0aCxyPTAsbz1bXTsrK248aTspe3ZhciBhPXRbbl07ZShhLG4sdCkmJihvW3IrK109YSl9cmV0dXJuIG99O3ZhciAkTnQ9ZnVuY3Rpb24gS050KCl7cmV0dXJuW119LFpOdD1ZTnQsSk50PU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsUU50PU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsdEl0PVFOdD9mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9bXToodD1PYmplY3QodCksWk50KFFOdCh0KSwoZnVuY3Rpb24oZSl7cmV0dXJuIEpOdC5jYWxsKHQsZSl9KSkpfTokTnQsZUl0PXBQdCxuSXQ9dEl0O3ZhciBpSXQ9ZnVuY3Rpb24gckl0KHQsZSl7cmV0dXJuIGVJdCh0LG5JdCh0KSxlKX07dmFyIG9JdD1mdW5jdGlvbiBhSXQodCxlKXtmb3IodmFyIG49LTEsaT1lLmxlbmd0aCxyPXQubGVuZ3RoOysrbjxpOyl0W3Irbl09ZVtuXTtyZXR1cm4gdH0sc0l0PWxOdChPYmplY3QuZ2V0UHJvdG90eXBlT2YsT2JqZWN0KSxsSXQ9b0l0LGNJdD1zSXQsdUl0PXRJdCxoSXQ9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz9mdW5jdGlvbih0KXtmb3IodmFyIGU9W107dDspbEl0KGUsdUl0KHQpKSx0PWNJdCh0KTtyZXR1cm4gZX06JE50LGRJdD1wUHQscEl0PWhJdDt2YXIgZkl0PWZ1bmN0aW9uIG1JdCh0LGUpe3JldHVybiBkSXQodCxwSXQodCksZSl9LGdJdD1vSXQsX0l0PUFQdDt2YXIgeUl0PWZ1bmN0aW9uIHZJdCh0LGUsbil7dmFyIGk9ZSh0KTtyZXR1cm4gX0l0KHQpP2k6Z0l0KGksbih0KSl9LGJJdD15SXQseEl0PXRJdCx3SXQ9U050O3ZhciBTSXQ9ZnVuY3Rpb24gTUl0KHQpe3JldHVybiBiSXQodCx3SXQseEl0KX0sRUl0PXlJdCxUSXQ9aEl0LENJdD1CTnQ7dmFyIEFJdD1mdW5jdGlvbiBrSXQodCl7cmV0dXJuIEVJdCh0LENJdCxUSXQpfSxMSXQ9dEx0KF9rdCwiRGF0YVZpZXciKSxQSXQ9dEx0KF9rdCwiUHJvbWlzZSIpLE5JdD10THQoX2t0LCJTZXQiKSxJSXQ9TEl0LFJJdD1uTHQsT0l0PVBJdCx6SXQ9Tkl0LERJdD10THQoX2t0LCJXZWFrTWFwIiksQkl0PWtrdCxISXQ9Vmt0LEZJdD0iW29iamVjdCBNYXBdIixWSXQ9IltvYmplY3QgUHJvbWlzZV0iLFVJdD0iW29iamVjdCBTZXRdIixqSXQ9IltvYmplY3QgV2Vha01hcF0iLEdJdD0iW29iamVjdCBEYXRhVmlld10iLFdJdD1ISXQoSUl0KSxxSXQ9SEl0KFJJdCksWUl0PUhJdChPSXQpLFhJdD1ISXQoekl0KSwkSXQ9SEl0KERJdCksS0l0PUJJdDsoSUl0JiZLSXQobmV3IElJdChuZXcgQXJyYXlCdWZmZXIoMSkpKSE9R0l0fHxSSXQmJktJdChuZXcgUkl0KSE9Rkl0fHxPSXQmJktJdChPSXQucmVzb2x2ZSgpKSE9Vkl0fHx6SXQmJktJdChuZXcgekl0KSE9VUl0fHxESXQmJktJdChuZXcgREl0KSE9akl0KSYmKEtJdD1mdW5jdGlvbih0KXt2YXIgZT1CSXQodCksbj0iW29iamVjdCBPYmplY3RdIj09ZT90LmNvbnN0cnVjdG9yOnZvaWQgMCxpPW4/SEl0KG4pOiIiO2lmKGkpc3dpdGNoKGkpe2Nhc2UgV0l0OnJldHVybiBHSXQ7Y2FzZSBxSXQ6cmV0dXJuIEZJdDtjYXNlIFlJdDpyZXR1cm4gVkl0O2Nhc2UgWEl0OnJldHVybiBVSXQ7Y2FzZSAkSXQ6cmV0dXJuIGpJdH1yZXR1cm4gZX0pO3ZhciBaSXQ9S0l0LEpJdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciBRSXQ9ZnVuY3Rpb24gdFJ0KHQpe3ZhciBlPXQubGVuZ3RoLG49bmV3IHQuY29uc3RydWN0b3IoZSk7cmV0dXJuIGUmJiJzdHJpbmciPT10eXBlb2YgdFswXSYmSkl0LmNhbGwodCwiaW5kZXgiKSYmKG4uaW5kZXg9dC5pbmRleCxuLmlucHV0PXQuaW5wdXQpLG59LGVSdD1fa3QuVWludDhBcnJheSxuUnQ9ZVJ0O3ZhciBpUnQ9ZnVuY3Rpb24gclJ0KHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuYnl0ZUxlbmd0aCk7cmV0dXJuIG5ldyBuUnQoZSkuc2V0KG5ldyBuUnQodCkpLGV9LG9SdD1pUnQ7dmFyIGFSdD0vXHcqJC87dmFyIHNSdD15a3Q/eWt0LnByb3RvdHlwZTp2b2lkIDAsbFJ0PXNSdD9zUnQudmFsdWVPZjp2b2lkIDA7dmFyIGNSdD1pUnQ7dmFyIHVSdD1mdW5jdGlvbiBoUnQodCxlKXt2YXIgbj1lP2NSdCh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKG4sdC5ieXRlT2Zmc2V0LHQubGVuZ3RoKX0sZFJ0PWlSdCxwUnQ9ZnVuY3Rpb24gZlJ0KHQsZSl7dmFyIG49ZT9vUnQodC5idWZmZXIpOnQuYnVmZmVyO3JldHVybiBuZXcgdC5jb25zdHJ1Y3RvcihuLHQuYnl0ZU9mZnNldCx0LmJ5dGVMZW5ndGgpfSxtUnQ9ZnVuY3Rpb24gZ1J0KHQpe3ZhciBlPW5ldyB0LmNvbnN0cnVjdG9yKHQuc291cmNlLGFSdC5leGVjKHQpKTtyZXR1cm4gZS5sYXN0SW5kZXg9dC5sYXN0SW5kZXgsZX0sX1J0PWZ1bmN0aW9uIHlSdCh0KXtyZXR1cm4gbFJ0P09iamVjdChsUnQuY2FsbCh0KSk6e319LHZSdD11UnQ7dmFyIGJSdD1mdW5jdGlvbiB4UnQodCxlLG4pe3ZhciBpPXQuY29uc3RydWN0b3I7c3dpdGNoKGUpe2Nhc2UiW29iamVjdCBBcnJheUJ1ZmZlcl0iOnJldHVybiBkUnQodCk7Y2FzZSJbb2JqZWN0IEJvb2xlYW5dIjpjYXNlIltvYmplY3QgRGF0ZV0iOnJldHVybiBuZXcgaSgrdCk7Y2FzZSJbb2JqZWN0IERhdGFWaWV3XSI6cmV0dXJuIHBSdCh0LG4pO2Nhc2UiW29iamVjdCBGbG9hdDMyQXJyYXldIjpjYXNlIltvYmplY3QgRmxvYXQ2NEFycmF5XSI6Y2FzZSJbb2JqZWN0IEludDhBcnJheV0iOmNhc2UiW29iamVjdCBJbnQxNkFycmF5XSI6Y2FzZSJbb2JqZWN0IEludDMyQXJyYXldIjpjYXNlIltvYmplY3QgVWludDhBcnJheV0iOmNhc2UiW29iamVjdCBVaW50OENsYW1wZWRBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MTZBcnJheV0iOmNhc2UiW29iamVjdCBVaW50MzJBcnJheV0iOnJldHVybiB2UnQodCxuKTtjYXNlIltvYmplY3QgTWFwXSI6cmV0dXJuIG5ldyBpO2Nhc2UiW29iamVjdCBOdW1iZXJdIjpjYXNlIltvYmplY3QgU3RyaW5nXSI6cmV0dXJuIG5ldyBpKHQpO2Nhc2UiW29iamVjdCBSZWdFeHBdIjpyZXR1cm4gbVJ0KHQpO2Nhc2UiW29iamVjdCBTZXRdIjpyZXR1cm4gbmV3IGk7Y2FzZSJbb2JqZWN0IFN5bWJvbF0iOnJldHVybiBfUnQodCl9fSx3UnQ9UGt0LFNSdD1PYmplY3QuY3JlYXRlLE1SdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiBmdW5jdGlvbihlKXtpZighd1J0KGUpKXJldHVybnt9O2lmKFNSdClyZXR1cm4gU1J0KGUpO3QucHJvdG90eXBlPWU7dmFyIG49bmV3IHQ7cmV0dXJuIHQucHJvdG90eXBlPXZvaWQgMCxufX0pKCksRVJ0PU1SdCxUUnQ9c0l0LENSdD1hTnQ7dmFyIEFSdD1mdW5jdGlvbiBrUnQodCl7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHQuY29uc3RydWN0b3J8fENSdCh0KT97fTpFUnQoVFJ0KHQpKX0sTFJ0PVpJdCxQUnQ9X1B0O3ZhciBOUnQ9ZnVuY3Rpb24gSVJ0KHQpe3JldHVybiBQUnQodCkmJiJbb2JqZWN0IE1hcF0iPT1MUnQodCl9LFJSdD1XUHQuZXhwb3J0cyxPUnQ9UlJ0JiZSUnQuaXNNYXAselJ0PU9SdD9qUHQoT1J0KTpOUnQsRFJ0PVpJdCxCUnQ9X1B0O3ZhciBIUnQ9ZnVuY3Rpb24gRlJ0KHQpe3JldHVybiBCUnQodCkmJiJbb2JqZWN0IFNldF0iPT1EUnQodCl9LFZSdD1XUHQuZXhwb3J0cyxVUnQ9VlJ0JiZWUnQuaXNTZXQsalJ0PVVSdD9qUHQoVVJ0KTpIUnQsR1J0PUpMdCxXUnQ9UUx0LHFSdD1jUHQsWVJ0PUNOdCxYUnQ9VU50LCRSdD1HTnQuZXhwb3J0cyxLUnQ9V050LFpSdD1pSXQsSlJ0PWZJdCxRUnQ9U0l0LHRPdD1BSXQsZU90PVpJdCxuT3Q9UUl0LGlPdD1iUnQsck90PUFSdCxvT3Q9QVB0LGFPdD1rUHQuZXhwb3J0cyxzT3Q9elJ0LGxPdD1Qa3QsY090PWpSdCx1T3Q9U050LGhPdD1CTnQsZE90PSJbb2JqZWN0IEFyZ3VtZW50c10iLHBPdD0iW29iamVjdCBGdW5jdGlvbl0iLGZPdD0iW29iamVjdCBPYmplY3RdIixtT3Q9e307bU90W2RPdF09bU90WyJbb2JqZWN0IEFycmF5XSJdPW1PdFsiW29iamVjdCBBcnJheUJ1ZmZlcl0iXT1tT3RbIltvYmplY3QgRGF0YVZpZXddIl09bU90WyJbb2JqZWN0IEJvb2xlYW5dIl09bU90WyJbb2JqZWN0IERhdGVdIl09bU90WyJbb2JqZWN0IEZsb2F0MzJBcnJheV0iXT1tT3RbIltvYmplY3QgRmxvYXQ2NEFycmF5XSJdPW1PdFsiW29iamVjdCBJbnQ4QXJyYXldIl09bU90WyJbb2JqZWN0IEludDE2QXJyYXldIl09bU90WyJbb2JqZWN0IEludDMyQXJyYXldIl09bU90WyJbb2JqZWN0IE1hcF0iXT1tT3RbIltvYmplY3QgTnVtYmVyXSJdPW1PdFtmT3RdPW1PdFsiW29iamVjdCBSZWdFeHBdIl09bU90WyJbb2JqZWN0IFNldF0iXT1tT3RbIltvYmplY3QgU3RyaW5nXSJdPW1PdFsiW29iamVjdCBTeW1ib2xdIl09bU90WyJbb2JqZWN0IFVpbnQ4QXJyYXldIl09bU90WyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPW1PdFsiW29iamVjdCBVaW50MTZBcnJheV0iXT1tT3RbIltvYmplY3QgVWludDMyQXJyYXldIl09ITAsbU90WyJbb2JqZWN0IEVycm9yXSJdPW1PdFtwT3RdPW1PdFsiW29iamVjdCBXZWFrTWFwXSJdPSExO3ZhciBnT3Q9ZnVuY3Rpb24gdChlLG4saSxyLG8sYSl7dmFyIHMsbD0xJm4sYz0yJm4sdT00Jm47aWYoaSYmKHM9bz9pKGUscixvLGEpOmkoZSkpLHZvaWQgMCE9PXMpcmV0dXJuIHM7aWYoIWxPdChlKSlyZXR1cm4gZTt2YXIgaD1vT3QoZSk7aWYoaCl7aWYocz1uT3QoZSksIWwpcmV0dXJuIEtSdChlLHMpfWVsc2V7dmFyIGQ9ZU90KGUpLHA9ZD09cE90fHwiW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0iPT1kO2lmKGFPdChlKSlyZXR1cm4gJFJ0KGUsbCk7aWYoZD09Zk90fHxkPT1kT3R8fHAmJiFvKXtpZihzPWN8fHA/e306ck90KGUpLCFsKXJldHVybiBjP0pSdChlLFhSdChzLGUpKTpaUnQoZSxZUnQocyxlKSl9ZWxzZXtpZighbU90W2RdKXJldHVybiBvP2U6e307cz1pT3QoZSxkLGwpfX1hfHwoYT1uZXcgR1J0KTt2YXIgZj1hLmdldChlKTtpZihmKXJldHVybiBmO2Euc2V0KGUscyksY090KGUpP2UuZm9yRWFjaCgoZnVuY3Rpb24ocil7cy5hZGQodChyLG4saSxyLGUsYSkpfSkpOnNPdChlKSYmZS5mb3JFYWNoKChmdW5jdGlvbihyLG8pe3Muc2V0KG8sdChyLG4saSxvLGUsYSkpfSkpO3ZhciBtPWg/dm9pZCAwOih1P2M/dE90OlFSdDpjP2hPdDp1T3QpKGUpO3JldHVybiBXUnQobXx8ZSwoZnVuY3Rpb24ocixvKXttJiYocj1lW289cl0pLHFSdChzLG8sdChyLG4saSxvLGUsYSkpfSkpLHN9LF9PdD1nT3Q7dmFyIHlPdD1mdW5jdGlvbiB2T3QodCl7cmV0dXJuIF9PdCh0LDQpfTt2YXIgYk90PWZ1bmN0aW9uIHhPdCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19O3ZhciB3T3Q9KGZ1bmN0aW9uIFNPdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLGkpe2Zvcih2YXIgcj0tMSxvPU9iamVjdChlKSxhPWkoZSkscz1hLmxlbmd0aDtzLS07KXt2YXIgbD1hW3Q/czorK3JdO2lmKCExPT09bihvW2xdLGwsbykpYnJlYWt9cmV0dXJuIGV9fSkoKSxNT3Q9d090LEVPdD1TTnQ7dmFyIFRPdD1mdW5jdGlvbiBDT3QodCxlKXtyZXR1cm4gdCYmTU90KHQsZSxFT3QpfSxBT3Q9eU50O3ZhciBrT3Q9KGZ1bmN0aW9uIExPdCh0LGUpe3JldHVybiBmdW5jdGlvbihuLGkpe2lmKG51bGw9PW4pcmV0dXJuIG47aWYoIUFPdChuKSlyZXR1cm4gdChuLGkpO2Zvcih2YXIgcj1uLmxlbmd0aCxvPWU/cjotMSxhPU9iamVjdChuKTsoZT9vLS06KytvPHIpJiYhMSE9PWkoYVtvXSxvLGEpOyk7cmV0dXJuIG59fSkoVE90KTt2YXIgUE90PWZ1bmN0aW9uIE5PdCh0KXtyZXR1cm4gdH0sSU90PVBPdDt2YXIgUk90PWZ1bmN0aW9uIE9PdCh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90OklPdH0sek90PVFMdCxET3Q9a090LEJPdD1ST3QsSE90PUFQdDt2YXIgRk90PWZ1bmN0aW9uIFZPdCh0LGUpe3JldHVybihIT3QodCk/ek90OkRPdCkodCxCT3QoZSkpfSxVT3Q9Rk90LGpPdD1rT3Q7dmFyIEdPdD1mdW5jdGlvbiBXT3QodCxlKXt2YXIgbj1bXTtyZXR1cm4gak90KHQsKGZ1bmN0aW9uKHQsaSxyKXtlKHQsaSxyKSYmbi5wdXNoKHQpfSkpLG59O3ZhciBxT3Q9Vkx0LFlPdD1mdW5jdGlvbiBYT3QodCl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHQpfTtmdW5jdGlvbiAkT3QodCl7dmFyIGU9LTEsbj1udWxsPT10PzA6dC5sZW5ndGg7Zm9yKHRoaXMuX19kYXRhX189bmV3IHFPdDsrK2U8bjspdGhpcy5hZGQodFtlXSl9JE90LnByb3RvdHlwZS5hZGQ9JE90LnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uIEtPdCh0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5zZXQodCwiX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyIpLHRoaXN9LCRPdC5wcm90b3R5cGUuaGFzPVlPdDt2YXIgWk90PSRPdDt2YXIgSk90PWZ1bmN0aW9uIFFPdCh0LGUpe3JldHVybiB0LmhhcyhlKX0sdHp0PVpPdCxlenQ9ZnVuY3Rpb24gbnp0KHQsZSl7Zm9yKHZhciBuPS0xLGk9bnVsbD09dD8wOnQubGVuZ3RoOysrbjxpOylpZihlKHRbbl0sbix0KSlyZXR1cm4hMDtyZXR1cm4hMX0saXp0PUpPdDt2YXIgcnp0PWZ1bmN0aW9uIG96dCh0LGUsbixpLHIsbyl7dmFyIGE9MSZuLHM9dC5sZW5ndGgsbD1lLmxlbmd0aDtpZihzIT1sJiYhKGEmJmw+cykpcmV0dXJuITE7dmFyIGM9by5nZXQodCksdT1vLmdldChlKTtpZihjJiZ1KXJldHVybiBjPT1lJiZ1PT10O3ZhciBoPS0xLGQ9ITAscD0yJm4/bmV3IHR6dDp2b2lkIDA7Zm9yKG8uc2V0KHQsZSksby5zZXQoZSx0KTsrK2g8czspe3ZhciBmPXRbaF0sbT1lW2hdO2lmKGkpdmFyIGc9YT9pKG0sZixoLGUsdCxvKTppKGYsbSxoLHQsZSxvKTtpZih2b2lkIDAhPT1nKXtpZihnKWNvbnRpbnVlO2Q9ITE7YnJlYWt9aWYocCl7aWYoIWV6dChlLChmdW5jdGlvbih0LGUpe2lmKCFpenQocCxlKSYmKGY9PT10fHxyKGYsdCxuLGksbykpKXJldHVybiBwLnB1c2goZSl9KSkpe2Q9ITE7YnJlYWt9fWVsc2UgaWYoZiE9PW0mJiFyKGYsbSxuLGksbykpe2Q9ITE7YnJlYWt9fXJldHVybiBvLmRlbGV0ZSh0KSxvLmRlbGV0ZShlKSxkfTt2YXIgYXp0PWZ1bmN0aW9uIHN6dCh0KXt2YXIgZT0tMSxuPUFycmF5KHQuc2l6ZSk7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7blsrK2VdPXR9KSksbn0sbHp0PWVSdCxjenQ9SEF0LHV6dD1yenQsaHp0PWZ1bmN0aW9uIGR6dCh0KXt2YXIgZT0tMSxuPUFycmF5KHQuc2l6ZSk7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCxpKXtuWysrZV09W2ksdF19KSksbn0scHp0PWF6dCxmenQ9eWt0P3lrdC5wcm90b3R5cGU6dm9pZCAwLG16dD1menQ/Znp0LnZhbHVlT2Y6dm9pZCAwO3ZhciBnenQ9U0l0LF96dD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciB5enQ9Skx0LHZ6dD1yenQsYnp0PWZ1bmN0aW9uIHh6dCh0LGUsbixpLHIsbyxhKXtzd2l0Y2gobil7Y2FzZSJbb2JqZWN0IERhdGFWaWV3XSI6aWYodC5ieXRlTGVuZ3RoIT1lLmJ5dGVMZW5ndGh8fHQuYnl0ZU9mZnNldCE9ZS5ieXRlT2Zmc2V0KXJldHVybiExO3Q9dC5idWZmZXIsZT1lLmJ1ZmZlcjtjYXNlIltvYmplY3QgQXJyYXlCdWZmZXJdIjpyZXR1cm4hKHQuYnl0ZUxlbmd0aCE9ZS5ieXRlTGVuZ3RofHwhbyhuZXcgbHp0KHQpLG5ldyBsenQoZSkpKTtjYXNlIltvYmplY3QgQm9vbGVhbl0iOmNhc2UiW29iamVjdCBEYXRlXSI6Y2FzZSJbb2JqZWN0IE51bWJlcl0iOnJldHVybiBjenQoK3QsK2UpO2Nhc2UiW29iamVjdCBFcnJvcl0iOnJldHVybiB0Lm5hbWU9PWUubmFtZSYmdC5tZXNzYWdlPT1lLm1lc3NhZ2U7Y2FzZSJbb2JqZWN0IFJlZ0V4cF0iOmNhc2UiW29iamVjdCBTdHJpbmddIjpyZXR1cm4gdD09ZSsiIjtjYXNlIltvYmplY3QgTWFwXSI6dmFyIHM9aHp0O2Nhc2UiW29iamVjdCBTZXRdIjppZihzfHwocz1wenQpLHQuc2l6ZSE9ZS5zaXplJiYhKDEmaSkpcmV0dXJuITE7dmFyIGw9YS5nZXQodCk7aWYobClyZXR1cm4gbD09ZTtpfD0yLGEuc2V0KHQsZSk7dmFyIGM9dXp0KHModCkscyhlKSxpLHIsbyxhKTtyZXR1cm4gYS5kZWxldGUodCksYztjYXNlIltvYmplY3QgU3ltYm9sXSI6aWYobXp0KXJldHVybiBtenQuY2FsbCh0KT09bXp0LmNhbGwoZSl9cmV0dXJuITF9LHd6dD1mdW5jdGlvbiBTenQodCxlLG4saSxyLG8pe3ZhciBhPTEmbixzPWd6dCh0KSxsPXMubGVuZ3RoO2lmKGwhPWd6dChlKS5sZW5ndGgmJiFhKXJldHVybiExO2Zvcih2YXIgYz1sO2MtLTspe3ZhciB1PXNbY107aWYoIShhP3UgaW4gZTpfenQuY2FsbChlLHUpKSlyZXR1cm4hMX12YXIgaD1vLmdldCh0KSxkPW8uZ2V0KGUpO2lmKGgmJmQpcmV0dXJuIGg9PWUmJmQ9PXQ7dmFyIHA9ITA7by5zZXQodCxlKSxvLnNldChlLHQpO2Zvcih2YXIgZj1hOysrYzxsOyl7dmFyIG09dFt1PXNbY11dLGc9ZVt1XTtpZihpKXZhciBfPWE/aShnLG0sdSxlLHQsbyk6aShtLGcsdSx0LGUsbyk7aWYoISh2b2lkIDA9PT1fP209PT1nfHxyKG0sZyxuLGksbyk6Xykpe3A9ITE7YnJlYWt9Znx8KGY9ImNvbnN0cnVjdG9yIj09dSl9aWYocCYmIWYpe3ZhciB5PXQuY29uc3RydWN0b3Isdj1lLmNvbnN0cnVjdG9yO3k9PXZ8fCEoImNvbnN0cnVjdG9yImluIHQpfHwhKCJjb25zdHJ1Y3RvciJpbiBlKXx8ImZ1bmN0aW9uIj09dHlwZW9mIHkmJnkgaW5zdGFuY2VvZiB5JiYiZnVuY3Rpb24iPT10eXBlb2YgdiYmdiBpbnN0YW5jZW9mIHZ8fChwPSExKX1yZXR1cm4gby5kZWxldGUodCksby5kZWxldGUoZSkscH0sTXp0PVpJdCxFenQ9QVB0LFR6dD1rUHQuZXhwb3J0cyxDenQ9JFB0LEF6dD0iW29iamVjdCBBcmd1bWVudHNdIixrenQ9IltvYmplY3QgQXJyYXldIixMenQ9IltvYmplY3QgT2JqZWN0XSIsUHp0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIE56dD1mdW5jdGlvbiBJenQodCxlLG4saSxyLG8pe3ZhciBhPUV6dCh0KSxzPUV6dChlKSxsPWE/a3p0Ok16dCh0KSxjPXM/a3p0Ok16dChlKSx1PShsPWw9PUF6dD9MenQ6bCk9PUx6dCxoPShjPWM9PUF6dD9MenQ6Yyk9PUx6dCxkPWw9PWM7aWYoZCYmVHp0KHQpKXtpZighVHp0KGUpKXJldHVybiExO2E9ITAsdT0hMX1pZihkJiYhdSlyZXR1cm4gb3x8KG89bmV3IHl6dCksYXx8Q3p0KHQpP3Z6dCh0LGUsbixpLHIsbyk6Ynp0KHQsZSxsLG4saSxyLG8pO2lmKCEoMSZuKSl7dmFyIHA9dSYmUHp0LmNhbGwodCwiX193cmFwcGVkX18iKSxmPWgmJlB6dC5jYWxsKGUsIl9fd3JhcHBlZF9fIik7aWYocHx8Zil7dmFyIG09cD90LnZhbHVlKCk6dCxnPWY/ZS52YWx1ZSgpOmU7cmV0dXJuIG98fChvPW5ldyB5enQpLHIobSxnLG4saSxvKX19cmV0dXJuISFkJiYob3x8KG89bmV3IHl6dCksd3p0KHQsZSxuLGkscixvKSl9LFJ6dD1fUHQ7dmFyIE96dD1mdW5jdGlvbiB0KGUsbixpLHIsbyl7cmV0dXJuIGU9PT1ufHwobnVsbD09ZXx8bnVsbD09bnx8IVJ6dChlKSYmIVJ6dChuKT9lIT1lJiZuIT1uOk56dChlLG4saSxyLHQsbykpfSx6enQ9Skx0LER6dD1PenQ7dmFyIEJ6dD1Qa3Q7dmFyIEh6dD1mdW5jdGlvbiBGenQodCl7cmV0dXJuIHQ9PXQmJiFCenQodCl9LFZ6dD1IenQsVXp0PVNOdDt2YXIganp0PWZ1bmN0aW9uIEd6dCh0LGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbnVsbCE9biYmKG5bdF09PT1lJiYodm9pZCAwIT09ZXx8dCBpbiBPYmplY3QobikpKX19LFd6dD1mdW5jdGlvbiBxenQodCxlLG4saSl7dmFyIHI9bi5sZW5ndGgsbz1yLGE9IWk7aWYobnVsbD09dClyZXR1cm4hbztmb3IodD1PYmplY3QodCk7ci0tOyl7dmFyIHM9bltyXTtpZihhJiZzWzJdP3NbMV0hPT10W3NbMF1dOiEoc1swXWluIHQpKXJldHVybiExfWZvcig7KytyPG87KXt2YXIgbD0ocz1uW3JdKVswXSxjPXRbbF0sdT1zWzFdO2lmKGEmJnNbMl0pe2lmKHZvaWQgMD09PWMmJiEobCBpbiB0KSlyZXR1cm4hMX1lbHNle3ZhciBoPW5ldyB6enQ7aWYoaSl2YXIgZD1pKGMsdSxsLHQsZSxoKTtpZighKHZvaWQgMD09PWQ/RHp0KHUsYywzLGksaCk6ZCkpcmV0dXJuITF9fXJldHVybiEwfSxZenQ9ZnVuY3Rpb24gWHp0KHQpe2Zvcih2YXIgZT1VenQodCksbj1lLmxlbmd0aDtuLS07KXt2YXIgaT1lW25dLHI9dFtpXTtlW25dPVtpLHIsVnp0KHIpXX1yZXR1cm4gZX0sJHp0PWp6dDt2YXIgS3p0PWZ1bmN0aW9uIFp6dCh0KXt2YXIgZT1ZenQodCk7cmV0dXJuIDE9PWUubGVuZ3RoJiZlWzBdWzJdPyR6dChlWzBdWzBdLGVbMF1bMV0pOmZ1bmN0aW9uKG4pe3JldHVybiBuPT09dHx8V3p0KG4sdCxlKX19LEp6dD1ra3QsUXp0PV9QdDt2YXIgdER0PWZ1bmN0aW9uIGVEdCh0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR8fFF6dCh0KSYmIltvYmplY3QgU3ltYm9sXSI9PUp6dCh0KX0sbkR0PUFQdCxpRHQ9dER0LHJEdD0vXC58XFsoPzpbXltcXV0qfChbIiddKSg/Oig/IVwxKVteXFxdfFxcLikqP1wxKVxdLyxvRHQ9L15cdyokLzt2YXIgYUR0PWZ1bmN0aW9uIHNEdCh0LGUpe2lmKG5EdCh0KSlyZXR1cm4hMTt2YXIgbj10eXBlb2YgdDtyZXR1cm4hKCJudW1iZXIiIT1uJiYic3ltYm9sIiE9biYmImJvb2xlYW4iIT1uJiZudWxsIT10JiYhaUR0KHQpKXx8KG9EdC50ZXN0KHQpfHwhckR0LnRlc3QodCl8fG51bGwhPWUmJnQgaW4gT2JqZWN0KGUpKX0sbER0PVZMdDtmdW5jdGlvbiBjRHQodCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdHx8bnVsbCE9ZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYSBmdW5jdGlvbiIpO3ZhciBuPWZ1bmN0aW9uKCl7dmFyIGk9YXJndW1lbnRzLHI9ZT9lLmFwcGx5KHRoaXMsaSk6aVswXSxvPW4uY2FjaGU7aWYoby5oYXMocikpcmV0dXJuIG8uZ2V0KHIpO3ZhciBhPXQuYXBwbHkodGhpcyxpKTtyZXR1cm4gbi5jYWNoZT1vLnNldChyLGEpfHxvLGF9O3JldHVybiBuLmNhY2hlPW5ldyhjRHQuQ2FjaGV8fGxEdCksbn1jRHQuQ2FjaGU9bER0O3ZhciB1RHQ9Y0R0O3ZhciBoRHQ9L1teLltcXV0rfFxbKD86KC0/XGQrKD86XC5cZCspPyl8KFsiJ10pKCg/Oig/IVwyKVteXFxdfFxcLikqPylcMilcXXwoPz0oPzpcLnxcW1xdKSg/OlwufFxbXF18JCkpL2csZER0PS9cXChcXCk/L2cscER0PShmdW5jdGlvbiBmRHQodCl7dmFyIGU9dUR0KHQsKGZ1bmN0aW9uKHQpe3JldHVybiA1MDA9PT1uLnNpemUmJm4uY2xlYXIoKSx0fSkpLG49ZS5jYWNoZTtyZXR1cm4gZX0pKChmdW5jdGlvbih0KXt2YXIgZT1bXTtyZXR1cm4gNDY9PT10LmNoYXJDb2RlQXQoMCkmJmUucHVzaCgiIiksdC5yZXBsYWNlKGhEdCwoZnVuY3Rpb24odCxuLGkscil7ZS5wdXNoKGk/ci5yZXBsYWNlKGREdCwiJDEiKTpufHx0KX0pKSxlfSkpO3ZhciBtRHQ9ZnVuY3Rpb24gZ0R0KHQsZSl7Zm9yKHZhciBuPS0xLGk9bnVsbD09dD8wOnQubGVuZ3RoLHI9QXJyYXkoaSk7KytuPGk7KXJbbl09ZSh0W25dLG4sdCk7cmV0dXJuIHJ9LF9EdD1tRHQseUR0PUFQdCx2RHQ9dER0LGJEdD15a3Q/eWt0LnByb3RvdHlwZTp2b2lkIDAseER0PWJEdD9iRHQudG9TdHJpbmc6dm9pZCAwO3ZhciB3RHQ9ZnVuY3Rpb24gdChlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGU7aWYoeUR0KGUpKXJldHVybiBfRHQoZSx0KSsiIjtpZih2RHQoZSkpcmV0dXJuIHhEdD94RHQuY2FsbChlKToiIjt2YXIgbj1lKyIiO3JldHVybiIwIj09biYmMS9lPT0tSW5maW5pdHk/Ii0wIjpufTt2YXIgU0R0PWZ1bmN0aW9uIE1EdCh0KXtyZXR1cm4gbnVsbD09dD8iIjp3RHQodCl9LEVEdD1BUHQsVER0PWFEdCxDRHQ9cER0LEFEdD1TRHQ7dmFyIGtEdD1mdW5jdGlvbiBMRHQodCxlKXtyZXR1cm4gRUR0KHQpP3Q6VER0KHQsZSk/W3RdOkNEdChBRHQodCkpfSxQRHQ9dER0O3ZhciBORHQ9ZnVuY3Rpb24gSUR0KHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdHx8UER0KHQpKXJldHVybiB0O3ZhciBlPXQrIiI7cmV0dXJuIjAiPT1lJiYxL3Q9PS1JbmZpbml0eT8iLTAiOmV9LFJEdD1rRHQsT0R0PU5EdDt2YXIgekR0PWZ1bmN0aW9uIEREdCh0LGUpe2Zvcih2YXIgbj0wLGk9KGU9UkR0KGUsdCkpLmxlbmd0aDtudWxsIT10JiZuPGk7KXQ9dFtPRHQoZVtuKytdKV07cmV0dXJuIG4mJm49PWk/dDp2b2lkIDB9LEJEdD16RHQ7dmFyIEhEdD1rRHQsRkR0PUNQdCxWRHQ9QVB0LFVEdD1JUHQsakR0PU9QdCxHRHQ9TkR0O3ZhciBXRHQ9ZnVuY3Rpb24gcUR0KHQsZSxuKXtmb3IodmFyIGk9LTEscj0oZT1IRHQoZSx0KSkubGVuZ3RoLG89ITE7KytpPHI7KXt2YXIgYT1HRHQoZVtpXSk7aWYoIShvPW51bGwhPXQmJm4odCxhKSkpYnJlYWs7dD10W2FdfXJldHVybiBvfHwrK2khPXI/bzohIShyPW51bGw9PXQ/MDp0Lmxlbmd0aCkmJmpEdChyKSYmVUR0KGEscikmJihWRHQodCl8fEZEdCh0KSl9LFlEdD1mdW5jdGlvbiBYRHQodCxlKXtyZXR1cm4gbnVsbCE9dCYmZSBpbiBPYmplY3QodCl9LCREdD1XRHQ7dmFyIEtEdD1mdW5jdGlvbiBaRHQodCxlKXtyZXR1cm4gbnVsbCE9dCYmJER0KHQsZSxZRHQpfSxKRHQ9T3p0LFFEdD1mdW5jdGlvbiB0QnQodCxlLG4pe3ZhciBpPW51bGw9PXQ/dm9pZCAwOkJEdCh0LGUpO3JldHVybiB2b2lkIDA9PT1pP246aX0sZUJ0PUtEdCxuQnQ9YUR0LGlCdD1IenQsckJ0PWp6dCxvQnQ9TkR0O3ZhciBhQnQ9ZnVuY3Rpb24gc0J0KHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT92b2lkIDA6ZVt0XX19LGxCdD16RHQ7dmFyIGNCdD1hQnQsdUJ0PWZ1bmN0aW9uIGhCdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGxCdChlLHQpfX0sZEJ0PWFEdCxwQnQ9TkR0O3ZhciBmQnQ9S3p0LG1CdD1mdW5jdGlvbiBnQnQodCxlKXtyZXR1cm4gbkJ0KHQpJiZpQnQoZSk/ckJ0KG9CdCh0KSxlKTpmdW5jdGlvbihuKXt2YXIgaT1RRHQobix0KTtyZXR1cm4gdm9pZCAwPT09aSYmaT09PWU/ZUJ0KG4sdCk6SkR0KGUsaSwzKX19LF9CdD1QT3QseUJ0PUFQdCx2QnQ9ZnVuY3Rpb24gYkJ0KHQpe3JldHVybiBkQnQodCk/Y0J0KHBCdCh0KSk6dUJ0KHQpfTt2YXIgeEJ0PWZ1bmN0aW9uIHdCdCh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90Om51bGw9PXQ/X0J0OiJvYmplY3QiPT10eXBlb2YgdD95QnQodCk/bUJ0KHRbMF0sdFsxXSk6ZkJ0KHQpOnZCdCh0KX0sU0J0PVlOdCxNQnQ9R090LEVCdD14QnQsVEJ0PUFQdDt2YXIgQ0J0PWZ1bmN0aW9uIEFCdCh0LGUpe3JldHVybihUQnQodCk/U0J0Ok1CdCkodCxFQnQoZSkpfSxrQnQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgTEJ0PWZ1bmN0aW9uIFBCdCh0LGUpe3JldHVybiBudWxsIT10JiZrQnQuY2FsbCh0LGUpfSxOQnQ9V0R0O3ZhciBJQnQ9ZnVuY3Rpb24gUkJ0KHQsZSl7cmV0dXJuIG51bGwhPXQmJk5CdCh0LGUsTEJ0KX0sT0J0PWZOdCx6QnQ9Wkl0LERCdD1DUHQsQkJ0PUFQdCxIQnQ9eU50LEZCdD1rUHQuZXhwb3J0cyxWQnQ9YU50LFVCdD0kUHQsakJ0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIEdCdD1mdW5jdGlvbiBXQnQodCl7aWYobnVsbD09dClyZXR1cm4hMDtpZihIQnQodCkmJihCQnQodCl8fCJzdHJpbmciPT10eXBlb2YgdHx8ImZ1bmN0aW9uIj09dHlwZW9mIHQuc3BsaWNlfHxGQnQodCl8fFVCdCh0KXx8REJ0KHQpKSlyZXR1cm4hdC5sZW5ndGg7dmFyIGU9ekJ0KHQpO2lmKCJbb2JqZWN0IE1hcF0iPT1lfHwiW29iamVjdCBTZXRdIj09ZSlyZXR1cm4hdC5zaXplO2lmKFZCdCh0KSlyZXR1cm4hT0J0KHQpLmxlbmd0aDtmb3IodmFyIG4gaW4gdClpZihqQnQuY2FsbCh0LG4pKXJldHVybiExO3JldHVybiEwfTt2YXIgcUJ0PWZ1bmN0aW9uIFlCdCh0KXtyZXR1cm4gdm9pZCAwPT09dH0sWEJ0PWtPdCwkQnQ9eU50O3ZhciBLQnQ9ZnVuY3Rpb24gWkJ0KHQsZSl7dmFyIG49LTEsaT0kQnQodCk/QXJyYXkodC5sZW5ndGgpOltdO3JldHVybiBYQnQodCwoZnVuY3Rpb24odCxyLG8pe2lbKytuXT1lKHQscixvKX0pKSxpfSxKQnQ9bUR0LFFCdD14QnQsdEh0PUtCdCxlSHQ9QVB0O3ZhciBuSHQ9ZnVuY3Rpb24gaUh0KHQsZSl7cmV0dXJuKGVIdCh0KT9KQnQ6dEh0KSh0LFFCdChlKSl9O3ZhciBySHQ9ZnVuY3Rpb24gb0h0KHQsZSxuLGkpe3ZhciByPS0xLG89bnVsbD09dD8wOnQubGVuZ3RoO2ZvcihpJiZvJiYobj10Wysrcl0pOysrcjxvOyluPWUobix0W3JdLHIsdCk7cmV0dXJuIG59LGFIdD1rT3Qsc0h0PXhCdCxsSHQ9ZnVuY3Rpb24gY0h0KHQsZSxuLGkscil7cmV0dXJuIHIodCwoZnVuY3Rpb24odCxyLG8pe249aT8oaT0hMSx0KTplKG4sdCxyLG8pfSkpLG59LHVIdD1BUHQ7dmFyIGhIdD1mdW5jdGlvbiBkSHQodCxlLG4pe3ZhciBpPXVIdCh0KT9ySHQ6bEh0LHI9YXJndW1lbnRzLmxlbmd0aDwzO3JldHVybiBpKHQsc0h0KGUpLG4scixhSHQpfSxwSHQ9a2t0LGZIdD1BUHQsbUh0PV9QdDt2YXIgZ0h0PWZ1bmN0aW9uIF9IdCh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR8fCFmSHQodCkmJm1IdCh0KSYmIltvYmplY3QgU3RyaW5nXSI9PXBIdCh0KX0seUh0PWFCdCgibGVuZ3RoIiksdkh0PVJlZ0V4cCgiW1xcdTIwMGRcXHVkODAwLVxcdWRmZmZcXHUwMzAwLVxcdTAzNmZcXHVmZTIwLVxcdWZlMmZcXHUyMGQwLVxcdTIwZmZcXHVmZTBlXFx1ZmUwZl0iKTt2YXIgYkh0PWZ1bmN0aW9uIHhIdCh0KXtyZXR1cm4gdkh0LnRlc3QodCl9LHdIdD0iW1xcdWQ4MDAtXFx1ZGZmZl0iLFNIdD0iW1xcdTAzMDAtXFx1MDM2ZlxcdWZlMjAtXFx1ZmUyZlxcdTIwZDAtXFx1MjBmZl0iLE1IdD0iXFx1ZDgzY1tcXHVkZmZiLVxcdWRmZmZdIixFSHQ9IlteXFx1ZDgwMC1cXHVkZmZmXSIsVEh0PSIoPzpcXHVkODNjW1xcdWRkZTYtXFx1ZGRmZl0pezJ9IixDSHQ9IltcXHVkODAwLVxcdWRiZmZdW1xcdWRjMDAtXFx1ZGZmZl0iLEFIdD0iKD86IitTSHQrInwiK01IdCsiKSIrIj8iLGtIdD0iW1xcdWZlMGVcXHVmZTBmXT8iLExIdD1rSHQrQUh0KygiKD86XFx1MjAwZCg/OiIrW0VIdCxUSHQsQ0h0XS5qb2luKCJ8IikrIikiK2tIdCtBSHQrIikqIiksUEh0PSIoPzoiK1tFSHQrU0h0KyI/IixTSHQsVEh0LENIdCx3SHRdLmpvaW4oInwiKSsiKSIsTkh0PVJlZ0V4cChNSHQrIig/PSIrTUh0KyIpfCIrUEh0K0xIdCwiZyIpO3ZhciBJSHQ9eUh0LFJIdD1iSHQsT0h0PWZ1bmN0aW9uIHpIdCh0KXtmb3IodmFyIGU9Tkh0Lmxhc3RJbmRleD0wO05IdC50ZXN0KHQpOykrK2U7cmV0dXJuIGV9O3ZhciBESHQ9Zk50LEJIdD1aSXQsSEh0PXlOdCxGSHQ9Z0h0LFZIdD1mdW5jdGlvbiBVSHQodCl7cmV0dXJuIFJIdCh0KT9PSHQodCk6SUh0KHQpfTt2YXIgakh0PWZ1bmN0aW9uIEdIdCh0KXtpZihudWxsPT10KXJldHVybiAwO2lmKEhIdCh0KSlyZXR1cm4gRkh0KHQpP1ZIdCh0KTp0Lmxlbmd0aDt2YXIgZT1CSHQodCk7cmV0dXJuIltvYmplY3QgTWFwXSI9PWV8fCJbb2JqZWN0IFNldF0iPT1lP3Quc2l6ZTpESHQodCkubGVuZ3RofSxXSHQ9UUx0LHFIdD1NUnQsWUh0PVRPdCxYSHQ9eEJ0LCRIdD1zSXQsS0h0PUFQdCxaSHQ9a1B0LmV4cG9ydHMsSkh0PXprdCxRSHQ9UGt0LHRGdD0kUHQ7dmFyIGVGdD1mdW5jdGlvbiBuRnQodCxlLG4pe3ZhciBpPUtIdCh0KSxyPWl8fFpIdCh0KXx8dEZ0KHQpO2lmKGU9WEh0KGUpLG51bGw9PW4pe3ZhciBvPXQmJnQuY29uc3RydWN0b3I7bj1yP2k/bmV3IG86W106UUh0KHQpJiZKSHQobyk/cUh0KCRIdCh0KSk6e319cmV0dXJuKHI/V0h0OllIdCkodCwoZnVuY3Rpb24odCxpLHIpe3JldHVybiBlKG4sdCxpLHIpfSkpLG59LGlGdD1DUHQsckZ0PUFQdCxvRnQ9eWt0P3lrdC5pc0NvbmNhdFNwcmVhZGFibGU6dm9pZCAwO3ZhciBhRnQ9b0l0LHNGdD1mdW5jdGlvbiBsRnQodCl7cmV0dXJuIHJGdCh0KXx8aUZ0KHQpfHwhIShvRnQmJnQmJnRbb0Z0XSl9O3ZhciBjRnQ9ZnVuY3Rpb24gdChlLG4saSxyLG8pe3ZhciBhPS0xLHM9ZS5sZW5ndGg7Zm9yKGl8fChpPXNGdCksb3x8KG89W10pOysrYTxzOyl7dmFyIGw9ZVthXTtuPjAmJmkobCk/bj4xP3QobCxuLTEsaSxyLG8pOmFGdChvLGwpOnJ8fChvW28ubGVuZ3RoXT1sKX1yZXR1cm4gb307dmFyIHVGdD1mdW5jdGlvbiBoRnQodCxlLG4pe3N3aXRjaChuLmxlbmd0aCl7Y2FzZSAwOnJldHVybiB0LmNhbGwoZSk7Y2FzZSAxOnJldHVybiB0LmNhbGwoZSxuWzBdKTtjYXNlIDI6cmV0dXJuIHQuY2FsbChlLG5bMF0sblsxXSk7Y2FzZSAzOnJldHVybiB0LmNhbGwoZSxuWzBdLG5bMV0sblsyXSl9cmV0dXJuIHQuYXBwbHkoZSxuKX0sZEZ0PU1hdGgubWF4O3ZhciBwRnQ9ZnVuY3Rpb24gZkZ0KHQsZSxuKXtyZXR1cm4gZT1kRnQodm9pZCAwPT09ZT90Lmxlbmd0aC0xOmUsMCksZnVuY3Rpb24oKXtmb3IodmFyIGk9YXJndW1lbnRzLHI9LTEsbz1kRnQoaS5sZW5ndGgtZSwwKSxhPUFycmF5KG8pOysrcjxvOylhW3JdPWlbZStyXTtyPS0xO2Zvcih2YXIgcz1BcnJheShlKzEpOysrcjxlOylzW3JdPWlbcl07cmV0dXJuIHNbZV09bihhKSx1RnQodCx0aGlzLHMpfX0sbUZ0PWJPdCxnRnQ9blB0LF9GdD1EYXRlLm5vdzt2YXIgeUZ0PShmdW5jdGlvbiB2RnQodCl7dmFyIGU9MCxuPTA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGk9X0Z0KCkscj0xNi0oaS1uKTtpZihuPWkscj4wKXtpZigrK2U+PTgwMClyZXR1cm4gYXJndW1lbnRzWzBdfWVsc2UgZT0wO3JldHVybiB0LmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX0pKGdGdD9mdW5jdGlvbih0LGUpe3JldHVybiBnRnQodCwidG9TdHJpbmciLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx2YWx1ZTptRnQoZSksd3JpdGFibGU6ITB9KX06UE90KSxiRnQ9UE90LHhGdD1wRnQsd0Z0PXlGdDt2YXIgU0Z0PWZ1bmN0aW9uIE1GdCh0LGUpe3JldHVybiB3RnQoeEZ0KHQsZSxiRnQpLHQrIiIpfTt2YXIgRUZ0PWZ1bmN0aW9uIFRGdCh0LGUsbixpKXtmb3IodmFyIHI9dC5sZW5ndGgsbz1uKyhpPzE6LTEpO2k/by0tOisrbzxyOylpZihlKHRbb10sbyx0KSlyZXR1cm4gbztyZXR1cm4tMX07dmFyIENGdD1FRnQsQUZ0PWZ1bmN0aW9uIGtGdCh0KXtyZXR1cm4gdCE9dH0sTEZ0PWZ1bmN0aW9uIFBGdCh0LGUsbil7Zm9yKHZhciBpPW4tMSxyPXQubGVuZ3RoOysraTxyOylpZih0W2ldPT09ZSlyZXR1cm4gaTtyZXR1cm4tMX07dmFyIE5GdD1mdW5jdGlvbiBJRnQodCxlLG4pe3JldHVybiBlPT1lP0xGdCh0LGUsbik6Q0Z0KHQsQUZ0LG4pfTt2YXIgUkZ0PWZ1bmN0aW9uIE9GdCh0LGUpe3JldHVybiEhKG51bGw9PXQ/MDp0Lmxlbmd0aCkmJk5GdCh0LGUsMCk+LTF9O3ZhciB6RnQ9ZnVuY3Rpb24gREZ0KHQsZSxuKXtmb3IodmFyIGk9LTEscj1udWxsPT10PzA6dC5sZW5ndGg7KytpPHI7KWlmKG4oZSx0W2ldKSlyZXR1cm4hMDtyZXR1cm4hMX07dmFyIEJGdD1OSXQsSEZ0PWZ1bmN0aW9uIEZGdCgpe30sVkZ0PUJGdCYmMS9henQobmV3IEJGdChbLC0wXSkpWzFdPT0xLzA/ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBCRnQodCl9OkhGdCxVRnQ9Wk90LGpGdD1SRnQsR0Z0PXpGdCxXRnQ9Sk90LHFGdD1WRnQsWUZ0PWF6dDt2YXIgWEZ0PXlOdCwkRnQ9X1B0O3ZhciBLRnQ9ZnVuY3Rpb24gWkZ0KHQpe3JldHVybiAkRnQodCkmJlhGdCh0KX0sSkZ0PWNGdCxRRnQ9ZnVuY3Rpb24gdFZ0KHQsZSxuKXt2YXIgaT0tMSxyPWpGdCxvPXQubGVuZ3RoLGE9ITAscz1bXSxsPXM7aWYobilhPSExLHI9R0Z0O2Vsc2UgaWYobz49MjAwKXt2YXIgYz1lP251bGw6cUZ0KHQpO2lmKGMpcmV0dXJuIFlGdChjKTthPSExLHI9V0Z0LGw9bmV3IFVGdH1lbHNlIGw9ZT9bXTpzO3Q6Zm9yKDsrK2k8bzspe3ZhciB1PXRbaV0saD1lP2UodSk6dTtpZih1PW58fDAhPT11P3U6MCxhJiZoPT1oKXtmb3IodmFyIGQ9bC5sZW5ndGg7ZC0tOylpZihsW2RdPT09aCljb250aW51ZSB0O2UmJmwucHVzaChoKSxzLnB1c2godSl9ZWxzZSByKGwsaCxuKXx8KGwhPT1zJiZsLnB1c2goaCkscy5wdXNoKHUpKX1yZXR1cm4gc30sZVZ0PUtGdCxuVnQ9U0Z0KChmdW5jdGlvbih0KXtyZXR1cm4gUUZ0KEpGdCh0LDEsZVZ0LCEwKSl9KSksaVZ0PW1EdDt2YXIgclZ0PWZ1bmN0aW9uIG9WdCh0LGUpe3JldHVybiBpVnQoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSl9LGFWdD1TTnQ7dmFyIHNWdCxsVnQ9ZnVuY3Rpb24gY1Z0KHQpe3JldHVybiBudWxsPT10P1tdOnJWdCh0LGFWdCh0KSl9O3RyeXtzVnQ9e2Nsb25lOnlPdCxjb25zdGFudDpiT3QsZWFjaDpVT3QsZmlsdGVyOkNCdCxoYXM6SUJ0LGlzQXJyYXk6QVB0LGlzRW1wdHk6R0J0LGlzRnVuY3Rpb246emt0LGlzVW5kZWZpbmVkOnFCdCxrZXlzOlNOdCxtYXA6bkh0LHJlZHVjZTpoSHQsc2l6ZTpqSHQsdHJhbnNmb3JtOmVGdCx1bmlvbjpuVnQsdmFsdWVzOmxWdH19Y2F0Y2godCl7fXNWdHx8KHNWdD13aW5kb3cuXyk7dmFyIHVWdD1zVnQsaFZ0PXVWdCxkVnQ9ZlZ0LHBWdD0iXDAiO2Z1bmN0aW9uIGZWdCh0KXt0aGlzLl9pc0RpcmVjdGVkPSFoVnQuaGFzKHQsImRpcmVjdGVkIil8fHQuZGlyZWN0ZWQsdGhpcy5faXNNdWx0aWdyYXBoPSEhaFZ0Lmhhcyh0LCJtdWx0aWdyYXBoIikmJnQubXVsdGlncmFwaCx0aGlzLl9pc0NvbXBvdW5kPSEhaFZ0Lmhhcyh0LCJjb21wb3VuZCIpJiZ0LmNvbXBvdW5kLHRoaXMuX2xhYmVsPXZvaWQgMCx0aGlzLl9kZWZhdWx0Tm9kZUxhYmVsRm49aFZ0LmNvbnN0YW50KHZvaWQgMCksdGhpcy5fZGVmYXVsdEVkZ2VMYWJlbEZuPWhWdC5jb25zdGFudCh2b2lkIDApLHRoaXMuX25vZGVzPXt9LHRoaXMuX2lzQ29tcG91bmQmJih0aGlzLl9wYXJlbnQ9e30sdGhpcy5fY2hpbGRyZW49e30sdGhpcy5fY2hpbGRyZW5bIlwwIl09e30pLHRoaXMuX2luPXt9LHRoaXMuX3ByZWRzPXt9LHRoaXMuX291dD17fSx0aGlzLl9zdWNzPXt9LHRoaXMuX2VkZ2VPYmpzPXt9LHRoaXMuX2VkZ2VMYWJlbHM9e319ZnVuY3Rpb24gbVZ0KHQsZSl7dFtlXT90W2VdKys6dFtlXT0xfWZ1bmN0aW9uIGdWdCh0LGUpey0tdFtlXXx8ZGVsZXRlIHRbZV19ZnVuY3Rpb24gX1Z0KHQsZSxuLGkpe3ZhciByPSIiK2Usbz0iIituO2lmKCF0JiZyPm8pe3ZhciBhPXI7cj1vLG89YX1yZXR1cm4gcisiASIrbysiASIrKGhWdC5pc1VuZGVmaW5lZChpKT8iXDAiOmkpfWZ1bmN0aW9uIHlWdCh0LGUsbixpKXt2YXIgcj0iIitlLG89IiIrbjtpZighdCYmcj5vKXt2YXIgYT1yO3I9byxvPWF9dmFyIHM9e3Y6cix3Om99O3JldHVybiBpJiYocy5uYW1lPWkpLHN9ZnVuY3Rpb24gdlZ0KHQsZSl7cmV0dXJuIF9WdCh0LGUudixlLncsZS5uYW1lKX1mVnQucHJvdG90eXBlLl9ub2RlQ291bnQ9MCxmVnQucHJvdG90eXBlLl9lZGdlQ291bnQ9MCxmVnQucHJvdG90eXBlLmlzRGlyZWN0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNEaXJlY3RlZH0sZlZ0LnByb3RvdHlwZS5pc011bHRpZ3JhcGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNNdWx0aWdyYXBofSxmVnQucHJvdG90eXBlLmlzQ29tcG91bmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faXNDb21wb3VuZH0sZlZ0LnByb3RvdHlwZS5zZXRHcmFwaD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbGFiZWw9dCx0aGlzfSxmVnQucHJvdG90eXBlLmdyYXBoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xhYmVsfSxmVnQucHJvdG90eXBlLnNldERlZmF1bHROb2RlTGFiZWw9ZnVuY3Rpb24odCl7cmV0dXJuIGhWdC5pc0Z1bmN0aW9uKHQpfHwodD1oVnQuY29uc3RhbnQodCkpLHRoaXMuX2RlZmF1bHROb2RlTGFiZWxGbj10LHRoaXN9LGZWdC5wcm90b3R5cGUubm9kZUNvdW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25vZGVDb3VudH0sZlZ0LnByb3RvdHlwZS5ub2Rlcz1mdW5jdGlvbigpe3JldHVybiBoVnQua2V5cyh0aGlzLl9ub2Rlcyl9LGZWdC5wcm90b3R5cGUuc291cmNlcz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIGhWdC5maWx0ZXIodGhpcy5ub2RlcygpLChmdW5jdGlvbihlKXtyZXR1cm4gaFZ0LmlzRW1wdHkodC5faW5bZV0pfSkpfSxmVnQucHJvdG90eXBlLnNpbmtzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gaFZ0LmZpbHRlcih0aGlzLm5vZGVzKCksKGZ1bmN0aW9uKGUpe3JldHVybiBoVnQuaXNFbXB0eSh0Ll9vdXRbZV0pfSkpfSxmVnQucHJvdG90eXBlLnNldE5vZGVzPWZ1bmN0aW9uKHQsZSl7dmFyIG49YXJndW1lbnRzLGk9dGhpcztyZXR1cm4gaFZ0LmVhY2godCwoZnVuY3Rpb24odCl7bi5sZW5ndGg+MT9pLnNldE5vZGUodCxlKTppLnNldE5vZGUodCl9KSksdGhpc30sZlZ0LnByb3RvdHlwZS5zZXROb2RlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGhWdC5oYXModGhpcy5fbm9kZXMsdCk/KGFyZ3VtZW50cy5sZW5ndGg+MSYmKHRoaXMuX25vZGVzW3RdPWUpLHRoaXMpOih0aGlzLl9ub2Rlc1t0XT1hcmd1bWVudHMubGVuZ3RoPjE/ZTp0aGlzLl9kZWZhdWx0Tm9kZUxhYmVsRm4odCksdGhpcy5faXNDb21wb3VuZCYmKHRoaXMuX3BhcmVudFt0XT1wVnQsdGhpcy5fY2hpbGRyZW5bdF09e30sdGhpcy5fY2hpbGRyZW5bIlwwIl1bdF09ITApLHRoaXMuX2luW3RdPXt9LHRoaXMuX3ByZWRzW3RdPXt9LHRoaXMuX291dFt0XT17fSx0aGlzLl9zdWNzW3RdPXt9LCsrdGhpcy5fbm9kZUNvdW50LHRoaXMpfSxmVnQucHJvdG90eXBlLm5vZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX25vZGVzW3RdfSxmVnQucHJvdG90eXBlLmhhc05vZGU9ZnVuY3Rpb24odCl7cmV0dXJuIGhWdC5oYXModGhpcy5fbm9kZXMsdCl9LGZWdC5wcm90b3R5cGUucmVtb3ZlTm9kZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKGhWdC5oYXModGhpcy5fbm9kZXMsdCkpe3ZhciBuPWZ1bmN0aW9uKHQpe2UucmVtb3ZlRWRnZShlLl9lZGdlT2Jqc1t0XSl9O2RlbGV0ZSB0aGlzLl9ub2Rlc1t0XSx0aGlzLl9pc0NvbXBvdW5kJiYodGhpcy5fcmVtb3ZlRnJvbVBhcmVudHNDaGlsZExpc3QodCksZGVsZXRlIHRoaXMuX3BhcmVudFt0XSxoVnQuZWFjaCh0aGlzLmNoaWxkcmVuKHQpLChmdW5jdGlvbih0KXtlLnNldFBhcmVudCh0KX0pKSxkZWxldGUgdGhpcy5fY2hpbGRyZW5bdF0pLGhWdC5lYWNoKGhWdC5rZXlzKHRoaXMuX2luW3RdKSxuKSxkZWxldGUgdGhpcy5faW5bdF0sZGVsZXRlIHRoaXMuX3ByZWRzW3RdLGhWdC5lYWNoKGhWdC5rZXlzKHRoaXMuX291dFt0XSksbiksZGVsZXRlIHRoaXMuX291dFt0XSxkZWxldGUgdGhpcy5fc3Vjc1t0XSwtLXRoaXMuX25vZGVDb3VudH1yZXR1cm4gdGhpc30sZlZ0LnByb3RvdHlwZS5zZXRQYXJlbnQ9ZnVuY3Rpb24odCxlKXtpZighdGhpcy5faXNDb21wb3VuZCl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXQgcGFyZW50IGluIGEgbm9uLWNvbXBvdW5kIGdyYXBoIik7aWYoaFZ0LmlzVW5kZWZpbmVkKGUpKWU9cFZ0O2Vsc2V7Zm9yKHZhciBuPWUrPSIiOyFoVnQuaXNVbmRlZmluZWQobik7bj10aGlzLnBhcmVudChuKSlpZihuPT09dCl0aHJvdyBuZXcgRXJyb3IoIlNldHRpbmcgIitlKyIgYXMgcGFyZW50IG9mICIrdCsiIHdvdWxkIGNyZWF0ZSBhIGN5Y2xlIik7dGhpcy5zZXROb2RlKGUpfXJldHVybiB0aGlzLnNldE5vZGUodCksdGhpcy5fcmVtb3ZlRnJvbVBhcmVudHNDaGlsZExpc3QodCksdGhpcy5fcGFyZW50W3RdPWUsdGhpcy5fY2hpbGRyZW5bZV1bdF09ITAsdGhpc30sZlZ0LnByb3RvdHlwZS5fcmVtb3ZlRnJvbVBhcmVudHNDaGlsZExpc3Q9ZnVuY3Rpb24odCl7ZGVsZXRlIHRoaXMuX2NoaWxkcmVuW3RoaXMuX3BhcmVudFt0XV1bdF19LGZWdC5wcm90b3R5cGUucGFyZW50PWZ1bmN0aW9uKHQpe2lmKHRoaXMuX2lzQ29tcG91bmQpe3ZhciBlPXRoaXMuX3BhcmVudFt0XTtpZihlIT09cFZ0KXJldHVybiBlfX0sZlZ0LnByb3RvdHlwZS5jaGlsZHJlbj1mdW5jdGlvbih0KXtpZihoVnQuaXNVbmRlZmluZWQodCkmJih0PXBWdCksdGhpcy5faXNDb21wb3VuZCl7dmFyIGU9dGhpcy5fY2hpbGRyZW5bdF07aWYoZSlyZXR1cm4gaFZ0LmtleXMoZSl9ZWxzZXtpZih0PT09cFZ0KXJldHVybiB0aGlzLm5vZGVzKCk7aWYodGhpcy5oYXNOb2RlKHQpKXJldHVybltdfX0sZlZ0LnByb3RvdHlwZS5wcmVkZWNlc3NvcnM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fcHJlZHNbdF07aWYoZSlyZXR1cm4gaFZ0LmtleXMoZSl9LGZWdC5wcm90b3R5cGUuc3VjY2Vzc29ycz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9zdWNzW3RdO2lmKGUpcmV0dXJuIGhWdC5rZXlzKGUpfSxmVnQucHJvdG90eXBlLm5laWdoYm9ycz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnByZWRlY2Vzc29ycyh0KTtpZihlKXJldHVybiBoVnQudW5pb24oZSx0aGlzLnN1Y2Nlc3NvcnModCkpfSxmVnQucHJvdG90eXBlLmlzTGVhZj1mdW5jdGlvbih0KXtyZXR1cm4gMD09PSh0aGlzLmlzRGlyZWN0ZWQoKT90aGlzLnN1Y2Nlc3NvcnModCk6dGhpcy5uZWlnaGJvcnModCkpLmxlbmd0aH0sZlZ0LnByb3RvdHlwZS5maWx0ZXJOb2Rlcz1mdW5jdGlvbih0KXt2YXIgZT1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih7ZGlyZWN0ZWQ6dGhpcy5faXNEaXJlY3RlZCxtdWx0aWdyYXBoOnRoaXMuX2lzTXVsdGlncmFwaCxjb21wb3VuZDp0aGlzLl9pc0NvbXBvdW5kfSk7ZS5zZXRHcmFwaCh0aGlzLmdyYXBoKCkpO3ZhciBuPXRoaXM7aFZ0LmVhY2godGhpcy5fbm9kZXMsKGZ1bmN0aW9uKG4saSl7dChpKSYmZS5zZXROb2RlKGksbil9KSksaFZ0LmVhY2godGhpcy5fZWRnZU9ianMsKGZ1bmN0aW9uKHQpe2UuaGFzTm9kZSh0LnYpJiZlLmhhc05vZGUodC53KSYmZS5zZXRFZGdlKHQsbi5lZGdlKHQpKX0pKTt2YXIgaT17fTtmdW5jdGlvbiByKHQpe3ZhciBvPW4ucGFyZW50KHQpO3JldHVybiB2b2lkIDA9PT1vfHxlLmhhc05vZGUobyk/KGlbdF09byxvKTpvIGluIGk/aVtvXTpyKG8pfXJldHVybiB0aGlzLl9pc0NvbXBvdW5kJiZoVnQuZWFjaChlLm5vZGVzKCksKGZ1bmN0aW9uKHQpe2Uuc2V0UGFyZW50KHQscih0KSl9KSksZX0sZlZ0LnByb3RvdHlwZS5zZXREZWZhdWx0RWRnZUxhYmVsPWZ1bmN0aW9uKHQpe3JldHVybiBoVnQuaXNGdW5jdGlvbih0KXx8KHQ9aFZ0LmNvbnN0YW50KHQpKSx0aGlzLl9kZWZhdWx0RWRnZUxhYmVsRm49dCx0aGlzfSxmVnQucHJvdG90eXBlLmVkZ2VDb3VudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9lZGdlQ291bnR9LGZWdC5wcm90b3R5cGUuZWRnZXM9ZnVuY3Rpb24oKXtyZXR1cm4gaFZ0LnZhbHVlcyh0aGlzLl9lZGdlT2Jqcyl9LGZWdC5wcm90b3R5cGUuc2V0UGF0aD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMsaT1hcmd1bWVudHM7cmV0dXJuIGhWdC5yZWR1Y2UodCwoZnVuY3Rpb24odCxyKXtyZXR1cm4gaS5sZW5ndGg+MT9uLnNldEVkZ2UodCxyLGUpOm4uc2V0RWRnZSh0LHIpLHJ9KSksdGhpc30sZlZ0LnByb3RvdHlwZS5zZXRFZGdlPWZ1bmN0aW9uKCl7dmFyIHQsZSxuLGkscj0hMSxvPWFyZ3VtZW50c1swXTsib2JqZWN0Ij09dHlwZW9mIG8mJm51bGwhPT1vJiYidiJpbiBvPyh0PW8udixlPW8udyxuPW8ubmFtZSwyPT09YXJndW1lbnRzLmxlbmd0aCYmKGk9YXJndW1lbnRzWzFdLHI9ITApKToodD1vLGU9YXJndW1lbnRzWzFdLG49YXJndW1lbnRzWzNdLGFyZ3VtZW50cy5sZW5ndGg+MiYmKGk9YXJndW1lbnRzWzJdLHI9ITApKSx0PSIiK3QsZT0iIitlLGhWdC5pc1VuZGVmaW5lZChuKXx8KG49IiIrbik7dmFyIGE9X1Z0KHRoaXMuX2lzRGlyZWN0ZWQsdCxlLG4pO2lmKGhWdC5oYXModGhpcy5fZWRnZUxhYmVscyxhKSlyZXR1cm4gciYmKHRoaXMuX2VkZ2VMYWJlbHNbYV09aSksdGhpcztpZighaFZ0LmlzVW5kZWZpbmVkKG4pJiYhdGhpcy5faXNNdWx0aWdyYXBoKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNldCBhIG5hbWVkIGVkZ2Ugd2hlbiBpc011bHRpZ3JhcGggPSBmYWxzZSIpO3RoaXMuc2V0Tm9kZSh0KSx0aGlzLnNldE5vZGUoZSksdGhpcy5fZWRnZUxhYmVsc1thXT1yP2k6dGhpcy5fZGVmYXVsdEVkZ2VMYWJlbEZuKHQsZSxuKTt2YXIgcz15VnQodGhpcy5faXNEaXJlY3RlZCx0LGUsbik7cmV0dXJuIHQ9cy52LGU9cy53LE9iamVjdC5mcmVlemUocyksdGhpcy5fZWRnZU9ianNbYV09cyxtVnQodGhpcy5fcHJlZHNbZV0sdCksbVZ0KHRoaXMuX3N1Y3NbdF0sZSksdGhpcy5faW5bZV1bYV09cyx0aGlzLl9vdXRbdF1bYV09cyx0aGlzLl9lZGdlQ291bnQrKyx0aGlzfSxmVnQucHJvdG90eXBlLmVkZ2U9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPTE9PT1hcmd1bWVudHMubGVuZ3RoP3ZWdCh0aGlzLl9pc0RpcmVjdGVkLGFyZ3VtZW50c1swXSk6X1Z0KHRoaXMuX2lzRGlyZWN0ZWQsdCxlLG4pO3JldHVybiB0aGlzLl9lZGdlTGFiZWxzW2ldfSxmVnQucHJvdG90eXBlLmhhc0VkZ2U9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPTE9PT1hcmd1bWVudHMubGVuZ3RoP3ZWdCh0aGlzLl9pc0RpcmVjdGVkLGFyZ3VtZW50c1swXSk6X1Z0KHRoaXMuX2lzRGlyZWN0ZWQsdCxlLG4pO3JldHVybiBoVnQuaGFzKHRoaXMuX2VkZ2VMYWJlbHMsaSl9LGZWdC5wcm90b3R5cGUucmVtb3ZlRWRnZT1mdW5jdGlvbih0LGUsbil7dmFyIGk9MT09PWFyZ3VtZW50cy5sZW5ndGg/dlZ0KHRoaXMuX2lzRGlyZWN0ZWQsYXJndW1lbnRzWzBdKTpfVnQodGhpcy5faXNEaXJlY3RlZCx0LGUsbikscj10aGlzLl9lZGdlT2Jqc1tpXTtyZXR1cm4gciYmKHQ9ci52LGU9ci53LGRlbGV0ZSB0aGlzLl9lZGdlTGFiZWxzW2ldLGRlbGV0ZSB0aGlzLl9lZGdlT2Jqc1tpXSxnVnQodGhpcy5fcHJlZHNbZV0sdCksZ1Z0KHRoaXMuX3N1Y3NbdF0sZSksZGVsZXRlIHRoaXMuX2luW2VdW2ldLGRlbGV0ZSB0aGlzLl9vdXRbdF1baV0sdGhpcy5fZWRnZUNvdW50LS0pLHRoaXN9LGZWdC5wcm90b3R5cGUuaW5FZGdlcz1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX2luW3RdO2lmKG4pe3ZhciBpPWhWdC52YWx1ZXMobik7cmV0dXJuIGU/aFZ0LmZpbHRlcihpLChmdW5jdGlvbih0KXtyZXR1cm4gdC52PT09ZX0pKTppfX0sZlZ0LnByb3RvdHlwZS5vdXRFZGdlcz1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX291dFt0XTtpZihuKXt2YXIgaT1oVnQudmFsdWVzKG4pO3JldHVybiBlP2hWdC5maWx0ZXIoaSwoZnVuY3Rpb24odCl7cmV0dXJuIHQudz09PWV9KSk6aX19LGZWdC5wcm90b3R5cGUubm9kZUVkZ2VzPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5pbkVkZ2VzKHQsZSk7aWYobilyZXR1cm4gbi5jb25jYXQodGhpcy5vdXRFZGdlcyh0LGUpKX07dmFyIGJWdD17R3JhcGg6ZFZ0LHZlcnNpb246IjIuMS44In0seFZ0PXVWdCx3VnQ9ZFZ0LFNWdD17d3JpdGU6ZnVuY3Rpb24gTVZ0KHQpe3ZhciBlPXtvcHRpb25zOntkaXJlY3RlZDp0LmlzRGlyZWN0ZWQoKSxtdWx0aWdyYXBoOnQuaXNNdWx0aWdyYXBoKCksY29tcG91bmQ6dC5pc0NvbXBvdW5kKCl9LG5vZGVzOlRWdCh0KSxlZGdlczpDVnQodCl9O3hWdC5pc1VuZGVmaW5lZCh0LmdyYXBoKCkpfHwoZS52YWx1ZT14VnQuY2xvbmUodC5ncmFwaCgpKSk7cmV0dXJuIGV9LHJlYWQ6ZnVuY3Rpb24gRVZ0KHQpe3ZhciBlPW5ldyB3VnQodC5vcHRpb25zKS5zZXRHcmFwaCh0LnZhbHVlKTtyZXR1cm4geFZ0LmVhY2godC5ub2RlcywoZnVuY3Rpb24odCl7ZS5zZXROb2RlKHQudix0LnZhbHVlKSx0LnBhcmVudCYmZS5zZXRQYXJlbnQodC52LHQucGFyZW50KX0pKSx4VnQuZWFjaCh0LmVkZ2VzLChmdW5jdGlvbih0KXtlLnNldEVkZ2Uoe3Y6dC52LHc6dC53LG5hbWU6dC5uYW1lfSx0LnZhbHVlKX0pKSxlfX07ZnVuY3Rpb24gVFZ0KHQpe3JldHVybiB4VnQubWFwKHQubm9kZXMoKSwoZnVuY3Rpb24oZSl7dmFyIG49dC5ub2RlKGUpLGk9dC5wYXJlbnQoZSkscj17djplfTtyZXR1cm4geFZ0LmlzVW5kZWZpbmVkKG4pfHwoci52YWx1ZT1uKSx4VnQuaXNVbmRlZmluZWQoaSl8fChyLnBhcmVudD1pKSxyfSkpfWZ1bmN0aW9uIENWdCh0KXtyZXR1cm4geFZ0Lm1hcCh0LmVkZ2VzKCksKGZ1bmN0aW9uKGUpe3ZhciBuPXQuZWRnZShlKSxpPXt2OmUudix3OmUud307cmV0dXJuIHhWdC5pc1VuZGVmaW5lZChlLm5hbWUpfHwoaS5uYW1lPWUubmFtZSkseFZ0LmlzVW5kZWZpbmVkKG4pfHwoaS52YWx1ZT1uKSxpfSkpfXZhciBBVnQ9dVZ0LGtWdD1mdW5jdGlvbiBMVnQodCl7dmFyIGUsbj17fSxpPVtdO2Z1bmN0aW9uIHIoaSl7QVZ0LmhhcyhuLGkpfHwobltpXT0hMCxlLnB1c2goaSksQVZ0LmVhY2godC5zdWNjZXNzb3JzKGkpLHIpLEFWdC5lYWNoKHQucHJlZGVjZXNzb3JzKGkpLHIpKX1yZXR1cm4gQVZ0LmVhY2godC5ub2RlcygpLChmdW5jdGlvbih0KXtlPVtdLHIodCksZS5sZW5ndGgmJmkucHVzaChlKX0pKSxpfTt2YXIgUFZ0PXVWdCxOVnQ9SVZ0O2Z1bmN0aW9uIElWdCgpe3RoaXMuX2Fycj1bXSx0aGlzLl9rZXlJbmRpY2VzPXt9fUlWdC5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcnIubGVuZ3RofSxJVnQucHJvdG90eXBlLmtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYXJyLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQua2V5fSkpfSxJVnQucHJvdG90eXBlLmhhcz1mdW5jdGlvbih0KXtyZXR1cm4gUFZ0Lmhhcyh0aGlzLl9rZXlJbmRpY2VzLHQpfSxJVnQucHJvdG90eXBlLnByaW9yaXR5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2tleUluZGljZXNbdF07aWYodm9pZCAwIT09ZSlyZXR1cm4gdGhpcy5fYXJyW2VdLnByaW9yaXR5fSxJVnQucHJvdG90eXBlLm1pbj1mdW5jdGlvbigpe2lmKDA9PT10aGlzLnNpemUoKSl0aHJvdyBuZXcgRXJyb3IoIlF1ZXVlIHVuZGVyZmxvdyIpO3JldHVybiB0aGlzLl9hcnJbMF0ua2V5fSxJVnQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX2tleUluZGljZXM7aWYodD1TdHJpbmcodCksIVBWdC5oYXMobix0KSl7dmFyIGk9dGhpcy5fYXJyLHI9aS5sZW5ndGg7cmV0dXJuIG5bdF09cixpLnB1c2goe2tleTp0LHByaW9yaXR5OmV9KSx0aGlzLl9kZWNyZWFzZShyKSwhMH1yZXR1cm4hMX0sSVZ0LnByb3RvdHlwZS5yZW1vdmVNaW49ZnVuY3Rpb24oKXt0aGlzLl9zd2FwKDAsdGhpcy5fYXJyLmxlbmd0aC0xKTt2YXIgdD10aGlzLl9hcnIucG9wKCk7cmV0dXJuIGRlbGV0ZSB0aGlzLl9rZXlJbmRpY2VzW3Qua2V5XSx0aGlzLl9oZWFwaWZ5KDApLHQua2V5fSxJVnQucHJvdG90eXBlLmRlY3JlYXNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fa2V5SW5kaWNlc1t0XTtpZihlPnRoaXMuX2FycltuXS5wcmlvcml0eSl0aHJvdyBuZXcgRXJyb3IoIk5ldyBwcmlvcml0eSBpcyBncmVhdGVyIHRoYW4gY3VycmVudCBwcmlvcml0eS4gS2V5OiAiK3QrIiBPbGQ6ICIrdGhpcy5fYXJyW25dLnByaW9yaXR5KyIgTmV3OiAiK2UpO3RoaXMuX2FycltuXS5wcmlvcml0eT1lLHRoaXMuX2RlY3JlYXNlKG4pfSxJVnQucHJvdG90eXBlLl9oZWFwaWZ5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2FycixuPTIqdCxpPW4rMSxyPXQ7bjxlLmxlbmd0aCYmKHI9ZVtuXS5wcmlvcml0eTxlW3JdLnByaW9yaXR5P246cixpPGUubGVuZ3RoJiYocj1lW2ldLnByaW9yaXR5PGVbcl0ucHJpb3JpdHk/aTpyKSxyIT09dCYmKHRoaXMuX3N3YXAodCxyKSx0aGlzLl9oZWFwaWZ5KHIpKSl9LElWdC5wcm90b3R5cGUuX2RlY3JlYXNlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPXRoaXMuX2FycixpPW5bdF0ucHJpb3JpdHk7MCE9PXQmJiEobltlPXQ+PjFdLnByaW9yaXR5PGkpOyl0aGlzLl9zd2FwKHQsZSksdD1lfSxJVnQucHJvdG90eXBlLl9zd2FwPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fYXJyLGk9dGhpcy5fa2V5SW5kaWNlcyxyPW5bdF0sbz1uW2VdO25bdF09byxuW2VdPXIsaVtvLmtleV09dCxpW3Iua2V5XT1lfTt2YXIgUlZ0PU5WdCxPVnQ9ZnVuY3Rpb24gelZ0KHQsZSxuLGkpe3JldHVybihmdW5jdGlvbiByKHQsZSxuLGkpe3ZhciByLG8sYT17fSxzPW5ldyBSVnQsbD1mdW5jdGlvbih0KXt2YXIgZT10LnYhPT1yP3Qudjp0LncsaT1hW2VdLGw9bih0KSxjPW8uZGlzdGFuY2UrbDtpZihsPDApdGhyb3cgbmV3IEVycm9yKCJkaWprc3RyYSBkb2VzIG5vdCBhbGxvdyBuZWdhdGl2ZSBlZGdlIHdlaWdodHMuIEJhZCBlZGdlOiAiK3QrIiBXZWlnaHQ6ICIrbCk7YzxpLmRpc3RhbmNlJiYoaS5kaXN0YW5jZT1jLGkucHJlZGVjZXNzb3I9cixzLmRlY3JlYXNlKGUsYykpfTt0Lm5vZGVzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIG49dD09PWU/MDpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7YVt0XT17ZGlzdGFuY2U6bn0scy5hZGQodCxuKX0pKTtmb3IoO3Muc2l6ZSgpPjAmJihyPXMucmVtb3ZlTWluKCksKG89YVtyXSkuZGlzdGFuY2UhPT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOylpKHIpLmZvckVhY2gobCk7cmV0dXJuIGF9KSh0LFN0cmluZyhlKSxufHxEVnQsaXx8ZnVuY3Rpb24oZSl7cmV0dXJuIHQub3V0RWRnZXMoZSl9KX0sRFZ0PXVWdC5jb25zdGFudCgxKTt2YXIgQlZ0PU9WdCxIVnQ9dVZ0LEZWdD1mdW5jdGlvbiBWVnQodCxlLG4pe3JldHVybiBIVnQudHJhbnNmb3JtKHQubm9kZXMoKSwoZnVuY3Rpb24oaSxyKXtpW3JdPUJWdCh0LHIsZSxuKX0pLHt9KX07dmFyIFVWdD11VnQsalZ0PWZ1bmN0aW9uIEdWdCh0KXt2YXIgZT0wLG49W10saT17fSxyPVtdO2Z1bmN0aW9uIG8oYSl7dmFyIHM9aVthXT17b25TdGFjazohMCxsb3dsaW5rOmUsaW5kZXg6ZSsrfTtpZihuLnB1c2goYSksdC5zdWNjZXNzb3JzKGEpLmZvckVhY2goKGZ1bmN0aW9uKHQpe1VWdC5oYXMoaSx0KT9pW3RdLm9uU3RhY2smJihzLmxvd2xpbms9TWF0aC5taW4ocy5sb3dsaW5rLGlbdF0uaW5kZXgpKToobyh0KSxzLmxvd2xpbms9TWF0aC5taW4ocy5sb3dsaW5rLGlbdF0ubG93bGluaykpfSkpLHMubG93bGluaz09PXMuaW5kZXgpe3ZhciBsLGM9W107ZG97bD1uLnBvcCgpLGlbbF0ub25TdGFjaz0hMSxjLnB1c2gobCl9d2hpbGUoYSE9PWwpO3IucHVzaChjKX19cmV0dXJuIHQubm9kZXMoKS5mb3JFYWNoKChmdW5jdGlvbih0KXtVVnQuaGFzKGksdCl8fG8odCl9KSkscn07dmFyIFdWdD11VnQscVZ0PWpWdCxZVnQ9ZnVuY3Rpb24gWFZ0KHQpe3JldHVybiBXVnQuZmlsdGVyKHFWdCh0KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUubGVuZ3RoPjF8fDE9PT1lLmxlbmd0aCYmdC5oYXNFZGdlKGVbMF0sZVswXSl9KSl9O3ZhciAkVnQ9ZnVuY3Rpb24gS1Z0KHQsZSxuKXtyZXR1cm4oZnVuY3Rpb24gaSh0LGUsbil7dmFyIGk9e30scj10Lm5vZGVzKCk7cmV0dXJuIHIuZm9yRWFjaCgoZnVuY3Rpb24odCl7aVt0XT17fSxpW3RdW3RdPXtkaXN0YW5jZTowfSxyLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QhPT1lJiYoaVt0XVtlXT17ZGlzdGFuY2U6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZfSl9KSksbih0KS5mb3JFYWNoKChmdW5jdGlvbihuKXt2YXIgcj1uLnY9PT10P24udzpuLnYsbz1lKG4pO2lbdF1bcl09e2Rpc3RhbmNlOm8scHJlZGVjZXNzb3I6dH19KSl9KSksci5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT1pW3RdO3IuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIG89aVtuXTtyLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciBpPWVbbl0scj1vW25dLGE9b1t0XS5kaXN0YW5jZStpLmRpc3RhbmNlO2E8ci5kaXN0YW5jZSYmKHIuZGlzdGFuY2U9YSxyLnByZWRlY2Vzc29yPWkucHJlZGVjZXNzb3IpfSkpfSkpfSkpLGl9KSh0LGV8fFpWdCxufHxmdW5jdGlvbihlKXtyZXR1cm4gdC5vdXRFZGdlcyhlKX0pfSxaVnQ9dVZ0LmNvbnN0YW50KDEpO3ZhciBKVnQ9dVZ0LFFWdD10VXQ7ZnVuY3Rpb24gdFV0KHQpe3ZhciBlPXt9LG49e30saT1bXTtpZihKVnQuZWFjaCh0LnNpbmtzKCksKGZ1bmN0aW9uIHIobyl7aWYoSlZ0LmhhcyhuLG8pKXRocm93IG5ldyBlVXQ7SlZ0LmhhcyhlLG8pfHwobltvXT0hMCxlW29dPSEwLEpWdC5lYWNoKHQucHJlZGVjZXNzb3JzKG8pLHIpLGRlbGV0ZSBuW29dLGkucHVzaChvKSl9KSksSlZ0LnNpemUoZSkhPT10Lm5vZGVDb3VudCgpKXRocm93IG5ldyBlVXQ7cmV0dXJuIGl9ZnVuY3Rpb24gZVV0KCl7fXRVdC5DeWNsZUV4Y2VwdGlvbj1lVXQsZVV0LnByb3RvdHlwZT1uZXcgRXJyb3I7dmFyIG5VdD1RVnQ7dmFyIGlVdD11VnQsclV0PWZ1bmN0aW9uIG9VdCh0LGUsbil7aVV0LmlzQXJyYXkoZSl8fChlPVtlXSk7dmFyIGk9KHQuaXNEaXJlY3RlZCgpP3Quc3VjY2Vzc29yczp0Lm5laWdoYm9ycykuYmluZCh0KSxyPVtdLG89e307cmV0dXJuIGlVdC5lYWNoKGUsKGZ1bmN0aW9uKGUpe2lmKCF0Lmhhc05vZGUoZSkpdGhyb3cgbmV3IEVycm9yKCJHcmFwaCBkb2VzIG5vdCBoYXZlIG5vZGU6ICIrZSk7YVV0KHQsZSwicG9zdCI9PT1uLG8saSxyKX0pKSxyfTtmdW5jdGlvbiBhVXQodCxlLG4saSxyLG8pe2lVdC5oYXMoaSxlKXx8KGlbZV09ITAsbnx8by5wdXNoKGUpLGlVdC5lYWNoKHIoZSksKGZ1bmN0aW9uKGUpe2FVdCh0LGUsbixpLHIsbyl9KSksbiYmby5wdXNoKGUpKX12YXIgc1V0PXJVdDt2YXIgbFV0PXJVdDt2YXIgY1V0PXVWdCx1VXQ9ZFZ0LGhVdD1OVnQ7dmFyIGRVdCxwVXQ9e0dyYXBoOmJWdC5HcmFwaCxqc29uOlNWdCxhbGc6e2NvbXBvbmVudHM6a1Z0LGRpamtzdHJhOk9WdCxkaWprc3RyYUFsbDpGVnQsZmluZEN5Y2xlczpZVnQsZmxveWRXYXJzaGFsbDokVnQsaXNBY3ljbGljOmZ1bmN0aW9uIGZVdCh0KXt0cnl7blV0KHQpfWNhdGNoKHQpe2lmKHQgaW5zdGFuY2VvZiBuVXQuQ3ljbGVFeGNlcHRpb24pcmV0dXJuITE7dGhyb3cgdH1yZXR1cm4hMH0scG9zdG9yZGVyOmZ1bmN0aW9uIG1VdCh0LGUpe3JldHVybiBzVXQodCxlLCJwb3N0Iil9LHByZW9yZGVyOmZ1bmN0aW9uIGdVdCh0LGUpe3JldHVybiBsVXQodCxlLCJwcmUiKX0scHJpbTpmdW5jdGlvbiBfVXQodCxlKXt2YXIgbixpPW5ldyB1VXQscj17fSxvPW5ldyBoVXQ7ZnVuY3Rpb24gYSh0KXt2YXIgaT10LnY9PT1uP3Qudzp0LnYsYT1vLnByaW9yaXR5KGkpO2lmKHZvaWQgMCE9PWEpe3ZhciBzPWUodCk7czxhJiYocltpXT1uLG8uZGVjcmVhc2UoaSxzKSl9fWlmKDA9PT10Lm5vZGVDb3VudCgpKXJldHVybiBpO2NVdC5lYWNoKHQubm9kZXMoKSwoZnVuY3Rpb24odCl7by5hZGQodCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLGkuc2V0Tm9kZSh0KX0pKSxvLmRlY3JlYXNlKHQubm9kZXMoKVswXSwwKTt2YXIgcz0hMTtmb3IoO28uc2l6ZSgpPjA7KXtpZihuPW8ucmVtb3ZlTWluKCksY1V0LmhhcyhyLG4pKWkuc2V0RWRnZShuLHJbbl0pO2Vsc2V7aWYocyl0aHJvdyBuZXcgRXJyb3IoIklucHV0IGdyYXBoIGlzIG5vdCBjb25uZWN0ZWQ6ICIrdCk7cz0hMH10Lm5vZGVFZGdlcyhuKS5mb3JFYWNoKGEpfXJldHVybiBpfSx0YXJqYW46alZ0LHRvcHNvcnQ6UVZ0fSx2ZXJzaW9uOmJWdC52ZXJzaW9ufTt0cnl7ZFV0PXBVdH1jYXRjaCh0KXt9ZFV0fHwoZFV0PXdpbmRvdy5ncmFwaGxpYik7dmFyIHlVdD1kVXQsdlV0PWdPdDt2YXIgYlV0PWZ1bmN0aW9uIHhVdCh0KXtyZXR1cm4gdlV0KHQsNSl9LHdVdD1IQXQsU1V0PXlOdCxNVXQ9SVB0LEVVdD1Qa3Q7dmFyIFRVdD1mdW5jdGlvbiBDVXQodCxlLG4pe2lmKCFFVXQobikpcmV0dXJuITE7dmFyIGk9dHlwZW9mIGU7cmV0dXJuISEoIm51bWJlciI9PWk/U1V0KG4pJiZNVXQoZSxuLmxlbmd0aCk6InN0cmluZyI9PWkmJmUgaW4gbikmJndVdChuW2VdLHQpfSxBVXQ9SEF0LGtVdD1UVXQsTFV0PUJOdCxQVXQ9T2JqZWN0LnByb3RvdHlwZSxOVXQ9UFV0Lmhhc093blByb3BlcnR5LElVdD1TRnQoKGZ1bmN0aW9uKHQsZSl7dD1PYmplY3QodCk7dmFyIG49LTEsaT1lLmxlbmd0aCxyPWk+Mj9lWzJdOnZvaWQgMDtmb3IociYma1V0KGVbMF0sZVsxXSxyKSYmKGk9MSk7KytuPGk7KWZvcih2YXIgbz1lW25dLGE9TFV0KG8pLHM9LTEsbD1hLmxlbmd0aDsrK3M8bDspe3ZhciBjPWFbc10sdT10W2NdOyh2b2lkIDA9PT11fHxBVXQodSxQVXRbY10pJiYhTlV0LmNhbGwodCxjKSkmJih0W2NdPW9bY10pfXJldHVybiB0fSkpLFJVdD14QnQsT1V0PXlOdCx6VXQ9U050O3ZhciBEVXQ9L1xzLzt2YXIgQlV0PWZ1bmN0aW9uIEhVdCh0KXtmb3IodmFyIGU9dC5sZW5ndGg7ZS0tJiZEVXQudGVzdCh0LmNoYXJBdChlKSk7KTtyZXR1cm4gZX0sRlV0PS9eXHMrLzt2YXIgVlV0PWZ1bmN0aW9uIFVVdCh0KXtyZXR1cm4gdD90LnNsaWNlKDAsQlV0KHQpKzEpLnJlcGxhY2UoRlV0LCIiKTp0fSxqVXQ9UGt0LEdVdD10RHQsV1V0PS9eWy0rXTB4WzAtOWEtZl0rJC9pLHFVdD0vXjBiWzAxXSskL2ksWVV0PS9eMG9bMC03XSskL2ksWFV0PXBhcnNlSW50O3ZhciAkVXQ9ZnVuY3Rpb24gS1V0KHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDtpZihHVXQodCkpcmV0dXJuIE5hTjtpZihqVXQodCkpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiB0LnZhbHVlT2Y/dC52YWx1ZU9mKCk6dDt0PWpVdChlKT9lKyIiOmV9aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiAwPT09dD90Oit0O3Q9VlV0KHQpO3ZhciBuPXFVdC50ZXN0KHQpO3JldHVybiBufHxZVXQudGVzdCh0KT9YVXQodC5zbGljZSgyKSxuPzI6OCk6V1V0LnRlc3QodCk/TmFOOit0fSxaVXQ9MS8wO3ZhciBKVXQ9ZnVuY3Rpb24gUVV0KHQpe3JldHVybiB0Pyh0PSRVdCh0KSk9PT1aVXR8fHQ9PT0tMS8wPzE3OTc2OTMxMzQ4NjIzMTU3ZTI5MioodDwwPy0xOjEpOnQ9PXQ/dDowOjA9PT10P3Q6MH0sdGp0PUpVdDt2YXIgZWp0PUVGdCxuanQ9eEJ0LGlqdD1mdW5jdGlvbiByanQodCl7dmFyIGU9dGp0KHQpLG49ZSUxO3JldHVybiBlPT1lP24/ZS1uOmU6MH0sb2p0PU1hdGgubWF4O3ZhciBhanQ9KGZ1bmN0aW9uIGxqdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLGkpe3ZhciByPU9iamVjdChlKTtpZighT1V0KGUpKXt2YXIgbz1SVXQobik7ZT16VXQoZSksbj1mdW5jdGlvbih0KXtyZXR1cm4gbyhyW3RdLHQscil9fXZhciBhPXQoZSxuLGkpO3JldHVybiBhPi0xP3Jbbz9lW2FdOmFdOnZvaWQgMH19KSgoZnVuY3Rpb24gc2p0KHQsZSxuKXt2YXIgaT1udWxsPT10PzA6dC5sZW5ndGg7aWYoIWkpcmV0dXJuLTE7dmFyIHI9bnVsbD09bj8wOmlqdChuKTtyZXR1cm4gcjwwJiYocj1vanQoaStyLDApKSxlanQodCxuanQoZSkscil9KSksY2p0PWNGdDt2YXIgdWp0PWZ1bmN0aW9uIGhqdCh0KXtyZXR1cm4obnVsbD09dD8wOnQubGVuZ3RoKT9janQodCwxKTpbXX0sZGp0PXdPdCxwanQ9Uk90LGZqdD1CTnQ7dmFyIG1qdD1mdW5jdGlvbiBnanQodCxlKXtyZXR1cm4gbnVsbD09dD90OmRqdCh0LHBqdChlKSxmanQpfTt2YXIgX2p0PWZ1bmN0aW9uIHlqdCh0KXt2YXIgZT1udWxsPT10PzA6dC5sZW5ndGg7cmV0dXJuIGU/dFtlLTFdOnZvaWQgMH0sdmp0PXJQdCxianQ9VE90LHhqdD14QnQ7dmFyIHdqdD1mdW5jdGlvbiBTanQodCxlKXt2YXIgbj17fTtyZXR1cm4gZT14anQoZSksYmp0KHQsKGZ1bmN0aW9uKHQsaSxyKXt2anQobixpLGUodCxpLHIpKX0pKSxufSxNanQ9dER0O3ZhciBFanQ9ZnVuY3Rpb24gVGp0KHQsZSxuKXtmb3IodmFyIGk9LTEscj10Lmxlbmd0aDsrK2k8cjspe3ZhciBvPXRbaV0sYT1lKG8pO2lmKG51bGwhPWEmJih2b2lkIDA9PT1zP2E9PWEmJiFNanQoYSk6bihhLHMpKSl2YXIgcz1hLGw9b31yZXR1cm4gbH07dmFyIENqdD1FanQsQWp0PWZ1bmN0aW9uIGtqdCh0LGUpe3JldHVybiB0PmV9LExqdD1QT3Q7dmFyIFBqdD1mdW5jdGlvbiBOanQodCl7cmV0dXJuIHQmJnQubGVuZ3RoP0NqdCh0LExqdCxBanQpOnZvaWQgMH0sSWp0PXJQdCxSanQ9SEF0O3ZhciBPanQ9ZnVuY3Rpb24gemp0KHQsZSxuKXsodm9pZCAwIT09biYmIVJqdCh0W2VdLG4pfHx2b2lkIDA9PT1uJiYhKGUgaW4gdCkpJiZJanQodCxlLG4pfSxEanQ9a2t0LEJqdD1zSXQsSGp0PV9QdCxGanQ9RnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLFZqdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LFVqdD1GanQuY2FsbChPYmplY3QpO3ZhciBqanQ9ZnVuY3Rpb24gR2p0KHQsZSl7aWYoKCJjb25zdHJ1Y3RvciIhPT1lfHwiZnVuY3Rpb24iIT10eXBlb2YgdFtlXSkmJiJfX3Byb3RvX18iIT1lKXJldHVybiB0W2VdfSxXanQ9cFB0LHFqdD1CTnQ7dmFyIFlqdD1PanQsWGp0PUdOdC5leHBvcnRzLCRqdD11UnQsS2p0PVdOdCxaanQ9QVJ0LEpqdD1DUHQsUWp0PUFQdCx0R3Q9S0Z0LGVHdD1rUHQuZXhwb3J0cyxuR3Q9emt0LGlHdD1Qa3Qsckd0PWZ1bmN0aW9uIG9HdCh0KXtpZighSGp0KHQpfHwiW29iamVjdCBPYmplY3RdIiE9RGp0KHQpKXJldHVybiExO3ZhciBlPUJqdCh0KTtpZihudWxsPT09ZSlyZXR1cm4hMDt2YXIgbj1WanQuY2FsbChlLCJjb25zdHJ1Y3RvciIpJiZlLmNvbnN0cnVjdG9yO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBuJiZuIGluc3RhbmNlb2YgbiYmRmp0LmNhbGwobik9PVVqdH0sYUd0PSRQdCxzR3Q9amp0LGxHdD1mdW5jdGlvbiBjR3QodCl7cmV0dXJuIFdqdCh0LHFqdCh0KSl9O3ZhciB1R3Q9Skx0LGhHdD1PanQsZEd0PXdPdCxwR3Q9ZnVuY3Rpb24gZkd0KHQsZSxuLGkscixvLGEpe3ZhciBzPXNHdCh0LG4pLGw9c0d0KGUsbiksYz1hLmdldChsKTtpZihjKVlqdCh0LG4sYyk7ZWxzZXt2YXIgdT1vP28ocyxsLG4rIiIsdCxlLGEpOnZvaWQgMCxoPXZvaWQgMD09PXU7aWYoaCl7dmFyIGQ9UWp0KGwpLHA9IWQmJmVHdChsKSxmPSFkJiYhcCYmYUd0KGwpO3U9bCxkfHxwfHxmP1FqdChzKT91PXM6dEd0KHMpP3U9S2p0KHMpOnA/KGg9ITEsdT1YanQobCwhMCkpOmY/KGg9ITEsdT0kanQobCwhMCkpOnU9W106ckd0KGwpfHxKanQobCk/KHU9cyxKanQocyk/dT1sR3Qocyk6aUd0KHMpJiYhbkd0KHMpfHwodT1aanQobCkpKTpoPSExfWgmJihhLnNldChsLHUpLHIodSxsLGksbyxhKSxhLmRlbGV0ZShsKSksWWp0KHQsbix1KX19LG1HdD1Qa3QsZ0d0PUJOdCxfR3Q9amp0O3ZhciB5R3Q9U0Z0LHZHdD1UVXQ7dmFyIGJHdD1mdW5jdGlvbiB0KGUsbixpLHIsbyl7ZSE9PW4mJmRHdChuLChmdW5jdGlvbihhLHMpe2lmKG98fChvPW5ldyB1R3QpLG1HdChhKSlwR3QoZSxuLHMsaSx0LHIsbyk7ZWxzZXt2YXIgbD1yP3IoX0d0KGUscyksYSxzKyIiLGUsbixvKTp2b2lkIDA7dm9pZCAwPT09bCYmKGw9YSksaEd0KGUscyxsKX19KSxnR3QpfSx4R3Q9KGZ1bmN0aW9uIHdHdCh0KXtyZXR1cm4geUd0KChmdW5jdGlvbihlLG4pe3ZhciBpPS0xLHI9bi5sZW5ndGgsbz1yPjE/bltyLTFdOnZvaWQgMCxhPXI+Mj9uWzJdOnZvaWQgMDtmb3Iobz10Lmxlbmd0aD4zJiYiZnVuY3Rpb24iPT10eXBlb2Ygbz8oci0tLG8pOnZvaWQgMCxhJiZ2R3QoblswXSxuWzFdLGEpJiYobz1yPDM/dm9pZCAwOm8scj0xKSxlPU9iamVjdChlKTsrK2k8cjspe3ZhciBzPW5baV07cyYmdChlLHMsaSxvKX1yZXR1cm4gZX0pKX0pKChmdW5jdGlvbih0LGUsbil7Ykd0KHQsZSxuKX0pKTt2YXIgU0d0PWZ1bmN0aW9uIE1HdCh0LGUpe3JldHVybiB0PGV9LEVHdD1FanQsVEd0PVNHdCxDR3Q9UE90O3ZhciBBR3Q9ZnVuY3Rpb24ga0d0KHQpe3JldHVybiB0JiZ0Lmxlbmd0aD9FR3QodCxDR3QsVEd0KTp2b2lkIDB9LExHdD1FanQsUEd0PXhCdCxOR3Q9U0d0O3ZhciBJR3Q9ZnVuY3Rpb24gUkd0KHQsZSl7cmV0dXJuIHQmJnQubGVuZ3RoP0xHdCh0LFBHdChlKSxOR3QpOnZvaWQgMH0sT0d0PV9rdCx6R3Q9ZnVuY3Rpb24oKXtyZXR1cm4gT0d0LkRhdGUubm93KCl9LERHdD1jUHQsQkd0PWtEdCxIR3Q9SVB0LEZHdD1Qa3QsVkd0PU5EdDt2YXIgVUd0PXpEdCxqR3Q9ZnVuY3Rpb24gR0d0KHQsZSxuLGkpe2lmKCFGR3QodCkpcmV0dXJuIHQ7Zm9yKHZhciByPS0xLG89KGU9Qkd0KGUsdCkpLmxlbmd0aCxhPW8tMSxzPXQ7bnVsbCE9cyYmKytyPG87KXt2YXIgbD1WR3QoZVtyXSksYz1uO2lmKCJfX3Byb3RvX18iPT09bHx8ImNvbnN0cnVjdG9yIj09PWx8fCJwcm90b3R5cGUiPT09bClyZXR1cm4gdDtpZihyIT1hKXt2YXIgdT1zW2xdO3ZvaWQgMD09PShjPWk/aSh1LGwscyk6dm9pZCAwKSYmKGM9Rkd0KHUpP3U6SEd0KGVbcisxXSk/W106e30pfURHdChzLGwsYykscz1zW2xdfXJldHVybiB0fSxXR3Q9a0R0O3ZhciBxR3Q9ZnVuY3Rpb24gWUd0KHQsZSxuKXtmb3IodmFyIGk9LTEscj1lLmxlbmd0aCxvPXt9OysraTxyOyl7dmFyIGE9ZVtpXSxzPVVHdCh0LGEpO24ocyxhKSYmakd0KG8sV0d0KGEsdCkscyl9cmV0dXJuIG99LFhHdD1LRHQ7dmFyICRHdD11anQsS0d0PXBGdCxaR3Q9eUZ0O3ZhciBKR3Q9ZnVuY3Rpb24gUUd0KHQsZSl7cmV0dXJuIHFHdCh0LGUsKGZ1bmN0aW9uKGUsbil7cmV0dXJuIFhHdCh0LG4pfSkpfSx0V3Q9KGZ1bmN0aW9uIGVXdCh0KXtyZXR1cm4gWkd0KEtHdCh0LHZvaWQgMCwkR3QpLHQrIiIpfSkoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQ/e306Skd0KHQsZSl9KSksbld0PU1hdGguY2VpbCxpV3Q9TWF0aC5tYXg7dmFyIHJXdD1mdW5jdGlvbiBvV3QodCxlLG4saSl7Zm9yKHZhciByPS0xLG89aVd0KG5XdCgoZS10KS8obnx8MSkpLDApLGE9QXJyYXkobyk7by0tOylhW2k/bzorK3JdPXQsdCs9bjtyZXR1cm4gYX0sYVd0PVRVdCxzV3Q9SlV0O3ZhciBsV3Q9KGZ1bmN0aW9uIGNXdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpJiYibnVtYmVyIiE9dHlwZW9mIGkmJmFXdChlLG4saSkmJihuPWk9dm9pZCAwKSxlPXNXdChlKSx2b2lkIDA9PT1uPyhuPWUsZT0wKTpuPXNXdChuKSxpPXZvaWQgMD09PWk/ZTxuPzE6LTE6c1d0KGkpLHJXdChlLG4saSx0KX19KSgpO3ZhciB1V3Q9dER0O3ZhciBoV3Q9ZnVuY3Rpb24gZFd0KHQsZSl7aWYodCE9PWUpe3ZhciBuPXZvaWQgMCE9PXQsaT1udWxsPT09dCxyPXQ9PXQsbz11V3QodCksYT12b2lkIDAhPT1lLHM9bnVsbD09PWUsbD1lPT1lLGM9dVd0KGUpO2lmKCFzJiYhYyYmIW8mJnQ+ZXx8byYmYSYmbCYmIXMmJiFjfHxpJiZhJiZsfHwhbiYmbHx8IXIpcmV0dXJuIDE7aWYoIWkmJiFvJiYhYyYmdDxlfHxjJiZuJiZyJiYhaSYmIW98fHMmJm4mJnJ8fCFhJiZyfHwhbClyZXR1cm4tMX1yZXR1cm4gMH07dmFyIHBXdD1tRHQsZld0PXpEdCxtV3Q9eEJ0LGdXdD1LQnQsX1d0PWZ1bmN0aW9uIHlXdCh0LGUpe3ZhciBuPXQubGVuZ3RoO2Zvcih0LnNvcnQoZSk7bi0tOyl0W25dPXRbbl0udmFsdWU7cmV0dXJuIHR9LHZXdD1qUHQsYld0PWZ1bmN0aW9uIHhXdCh0LGUsbil7Zm9yKHZhciBpPS0xLHI9dC5jcml0ZXJpYSxvPWUuY3JpdGVyaWEsYT1yLmxlbmd0aCxzPW4ubGVuZ3RoOysraTxhOyl7dmFyIGw9aFd0KHJbaV0sb1tpXSk7aWYobClyZXR1cm4gaT49cz9sOmwqKCJkZXNjIj09bltpXT8tMToxKX1yZXR1cm4gdC5pbmRleC1lLmluZGV4fSx3V3Q9UE90LFNXdD1BUHQ7dmFyIE1XdD1jRnQsRVd0PWZ1bmN0aW9uIFRXdCh0LGUsbil7ZT1lLmxlbmd0aD9wV3QoZSwoZnVuY3Rpb24odCl7cmV0dXJuIFNXdCh0KT9mdW5jdGlvbihlKXtyZXR1cm4gZld0KGUsMT09PXQubGVuZ3RoP3RbMF06dCl9OnR9KSk6W3dXdF07dmFyIGk9LTE7ZT1wV3QoZSx2V3QobVd0KSk7dmFyIHI9Z1d0KHQsKGZ1bmN0aW9uKHQsbixyKXtyZXR1cm57Y3JpdGVyaWE6cFd0KGUsKGZ1bmN0aW9uKGUpe3JldHVybiBlKHQpfSkpLGluZGV4OisraSx2YWx1ZTp0fX0pKTtyZXR1cm4gX1d0KHIsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGJXdCh0LGUsbil9KSl9LENXdD1UVXQsQVd0PVNGdCgoZnVuY3Rpb24odCxlKXtpZihudWxsPT10KXJldHVybltdO3ZhciBuPWUubGVuZ3RoO3JldHVybiBuPjEmJkNXdCh0LGVbMF0sZVsxXSk/ZT1bXTpuPjImJkNXdChlWzBdLGVbMV0sZVsyXSkmJihlPVtlWzBdXSksRVd0KHQsTVd0KGUsMSksW10pfSkpLGtXdD1TRHQsTFd0PTA7dmFyIFBXdD1mdW5jdGlvbiBOV3QodCl7dmFyIGU9KytMV3Q7cmV0dXJuIGtXdCh0KStlfTt2YXIgSVd0PWNQdCxSV3Q9ZnVuY3Rpb24gT1d0KHQsZSxuKXtmb3IodmFyIGk9LTEscj10Lmxlbmd0aCxvPWUubGVuZ3RoLGE9e307KytpPHI7KXtuKGEsdFtpXSxpPG8/ZVtpXTp2b2lkIDApfXJldHVybiBhfTt2YXIgeld0LERXdD1mdW5jdGlvbiBCV3QodCxlKXtyZXR1cm4gUld0KHR8fFtdLGV8fFtdLElXdCl9O3RyeXt6V3Q9e2Nsb25lRGVlcDpiVXQsY29uc3RhbnQ6Yk90LGRlZmF1bHRzOklVdCxlYWNoOlVPdCxmaWx0ZXI6Q0J0LGZpbmQ6YWp0LGZsYXR0ZW46dWp0LGZvckVhY2g6Rk90LGZvckluOm1qdCxoYXM6SUJ0LGlzVW5kZWZpbmVkOnFCdCxsYXN0Ol9qdCxtYXA6bkh0LG1hcFZhbHVlczp3anQsbWF4OlBqdCxtZXJnZTp4R3QsbWluOkFHdCxtaW5CeTpJR3Qsbm93OnpHdCxwaWNrOnRXdCxyYW5nZTpsV3QscmVkdWNlOmhIdCxzb3J0Qnk6QVd0LHVuaXF1ZUlkOlBXdCx2YWx1ZXM6bFZ0LHppcE9iamVjdDpEV3R9fWNhdGNoKHQpe316V3R8fCh6V3Q9d2luZG93Ll8pO3ZhciBIV3Q9eld0LEZXdD1WV3Q7ZnVuY3Rpb24gVld0KCl7dmFyIHQ9e307dC5fbmV4dD10Ll9wcmV2PXQsdGhpcy5fc2VudGluZWw9dH1mdW5jdGlvbiBVV3QodCl7dC5fcHJldi5fbmV4dD10Ll9uZXh0LHQuX25leHQuX3ByZXY9dC5fcHJldixkZWxldGUgdC5fbmV4dCxkZWxldGUgdC5fcHJldn1mdW5jdGlvbiBqV3QodCxlKXtpZigiX25leHQiIT09dCYmIl9wcmV2IiE9PXQpcmV0dXJuIGV9Vld0LnByb3RvdHlwZS5kZXF1ZXVlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fc2VudGluZWwsZT10Ll9wcmV2O2lmKGUhPT10KXJldHVybiBVV3QoZSksZX0sVld0LnByb3RvdHlwZS5lbnF1ZXVlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3NlbnRpbmVsO3QuX3ByZXYmJnQuX25leHQmJlVXdCh0KSx0Ll9uZXh0PWUuX25leHQsZS5fbmV4dC5fcHJldj10LGUuX25leHQ9dCx0Ll9wcmV2PWV9LFZXdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT10aGlzLl9zZW50aW5lbCxuPWUuX3ByZXY7biE9PWU7KXQucHVzaChKU09OLnN0cmluZ2lmeShuLGpXdCkpLG49bi5fcHJldjtyZXR1cm4iWyIrdC5qb2luKCIsICIpKyJdIn07dmFyIEdXdD1IV3QsV1d0PXlVdC5HcmFwaCxxV3Q9Rld0LFlXdD1mdW5jdGlvbiBYV3QodCxlKXtpZih0Lm5vZGVDb3VudCgpPD0xKXJldHVybltdO3ZhciBuPShmdW5jdGlvbiBpKHQsZSl7dmFyIG49bmV3IFdXdCxpPTAscj0wO0dXdC5mb3JFYWNoKHQubm9kZXMoKSwoZnVuY3Rpb24odCl7bi5zZXROb2RlKHQse3Y6dCxpbjowLG91dDowfSl9KSksR1d0LmZvckVhY2godC5lZGdlcygpLChmdW5jdGlvbih0KXt2YXIgbz1uLmVkZ2UodC52LHQudyl8fDAsYT1lKHQpO24uc2V0RWRnZSh0LnYsdC53LG8rYSkscj1NYXRoLm1heChyLG4ubm9kZSh0LnYpLm91dCs9YSksaT1NYXRoLm1heChpLG4ubm9kZSh0LncpLmluKz1hKX0pKTt2YXIgbz1HV3QucmFuZ2UocitpKzMpLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHFXdH0pKSxhPWkrMTtyZXR1cm4gR1d0LmZvckVhY2gobi5ub2RlcygpLChmdW5jdGlvbih0KXtaV3QobyxhLG4ubm9kZSh0KSl9KSkse2dyYXBoOm4sYnVja2V0czpvLHplcm9JZHg6YX19KSh0LGV8fCRXdCkscj0oZnVuY3Rpb24gbyh0LGUsbil7dmFyIGkscj1bXSxvPWVbZS5sZW5ndGgtMV0sYT1lWzBdO2Zvcig7dC5ub2RlQ291bnQoKTspe2Zvcig7aT1hLmRlcXVldWUoKTspS1d0KHQsZSxuLGkpO2Zvcig7aT1vLmRlcXVldWUoKTspS1d0KHQsZSxuLGkpO2lmKHQubm9kZUNvdW50KCkpZm9yKHZhciBzPWUubGVuZ3RoLTI7cz4wOy0tcylpZihpPWVbc10uZGVxdWV1ZSgpKXtyPXIuY29uY2F0KEtXdCh0LGUsbixpLCEwKSk7YnJlYWt9fXJldHVybiByfSkobi5ncmFwaCxuLmJ1Y2tldHMsbi56ZXJvSWR4KTtyZXR1cm4gR1d0LmZsYXR0ZW4oR1d0Lm1hcChyLChmdW5jdGlvbihlKXtyZXR1cm4gdC5vdXRFZGdlcyhlLnYsZS53KX0pKSwhMCl9LCRXdD1HV3QuY29uc3RhbnQoMSk7ZnVuY3Rpb24gS1d0KHQsZSxuLGkscil7dmFyIG89cj9bXTp2b2lkIDA7cmV0dXJuIEdXdC5mb3JFYWNoKHQuaW5FZGdlcyhpLnYpLChmdW5jdGlvbihpKXt2YXIgYT10LmVkZ2UoaSkscz10Lm5vZGUoaS52KTtyJiZvLnB1c2goe3Y6aS52LHc6aS53fSkscy5vdXQtPWEsWld0KGUsbixzKX0pKSxHV3QuZm9yRWFjaCh0Lm91dEVkZ2VzKGkudiksKGZ1bmN0aW9uKGkpe3ZhciByPXQuZWRnZShpKSxvPXQubm9kZShpLncpO28uaW4tPXIsWld0KGUsbixvKX0pKSx0LnJlbW92ZU5vZGUoaS52KSxvfWZ1bmN0aW9uIFpXdCh0LGUsbil7bi5vdXQ/bi5pbj90W24ub3V0LW4uaW4rZV0uZW5xdWV1ZShuKTp0W3QubGVuZ3RoLTFdLmVucXVldWUobik6dFswXS5lbnF1ZXVlKG4pfXZhciBKV3Q9SFd0LFFXdD1ZV3QsdHF0PXtydW46ZnVuY3Rpb24gZXF0KHQpe3ZhciBlPSJncmVlZHkiPT09dC5ncmFwaCgpLmFjeWNsaWNlcj9RV3QodCwoZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuZWRnZShlKS53ZWlnaHR9fSkodCkpOihmdW5jdGlvbiBpKHQpe3ZhciBlPVtdLG49e30saT17fTtmdW5jdGlvbiByKG8pe0pXdC5oYXMoaSxvKXx8KGlbb109ITAsbltvXT0hMCxKV3QuZm9yRWFjaCh0Lm91dEVkZ2VzKG8pLChmdW5jdGlvbih0KXtKV3QuaGFzKG4sdC53KT9lLnB1c2godCk6cih0LncpfSkpLGRlbGV0ZSBuW29dKX1yZXR1cm4gSld0LmZvckVhY2godC5ub2RlcygpLHIpLGV9KSh0KTtKV3QuZm9yRWFjaChlLChmdW5jdGlvbihlKXt2YXIgbj10LmVkZ2UoZSk7dC5yZW1vdmVFZGdlKGUpLG4uZm9yd2FyZE5hbWU9ZS5uYW1lLG4ucmV2ZXJzZWQ9ITAsdC5zZXRFZGdlKGUudyxlLnYsbixKV3QudW5pcXVlSWQoInJldiIpKX0pKX0sdW5kbzpmdW5jdGlvbiBucXQodCl7Sld0LmZvckVhY2godC5lZGdlcygpLChmdW5jdGlvbihlKXt2YXIgbj10LmVkZ2UoZSk7aWYobi5yZXZlcnNlZCl7dC5yZW1vdmVFZGdlKGUpO3ZhciBpPW4uZm9yd2FyZE5hbWU7ZGVsZXRlIG4ucmV2ZXJzZWQsZGVsZXRlIG4uZm9yd2FyZE5hbWUsdC5zZXRFZGdlKGUudyxlLnYsbixpKX19KSl9fTt2YXIgaXF0PUhXdCxycXQ9eVV0LkdyYXBoLG9xdD17YWRkRHVtbXlOb2RlOnlxdCxzaW1wbGlmeTpmdW5jdGlvbiBhcXQodCl7dmFyIGU9KG5ldyBycXQpLnNldEdyYXBoKHQuZ3JhcGgoKSk7cmV0dXJuIGlxdC5mb3JFYWNoKHQubm9kZXMoKSwoZnVuY3Rpb24obil7ZS5zZXROb2RlKG4sdC5ub2RlKG4pKX0pKSxpcXQuZm9yRWFjaCh0LmVkZ2VzKCksKGZ1bmN0aW9uKG4pe3ZhciBpPWUuZWRnZShuLnYsbi53KXx8e3dlaWdodDowLG1pbmxlbjoxfSxyPXQuZWRnZShuKTtlLnNldEVkZ2Uobi52LG4udyx7d2VpZ2h0Omkud2VpZ2h0K3Iud2VpZ2h0LG1pbmxlbjpNYXRoLm1heChpLm1pbmxlbixyLm1pbmxlbil9KX0pKSxlfSxhc05vbkNvbXBvdW5kR3JhcGg6ZnVuY3Rpb24gc3F0KHQpe3ZhciBlPW5ldyBycXQoe211bHRpZ3JhcGg6dC5pc011bHRpZ3JhcGgoKX0pLnNldEdyYXBoKHQuZ3JhcGgoKSk7cmV0dXJuIGlxdC5mb3JFYWNoKHQubm9kZXMoKSwoZnVuY3Rpb24obil7dC5jaGlsZHJlbihuKS5sZW5ndGh8fGUuc2V0Tm9kZShuLHQubm9kZShuKSl9KSksaXF0LmZvckVhY2godC5lZGdlcygpLChmdW5jdGlvbihuKXtlLnNldEVkZ2Uobix0LmVkZ2UobikpfSkpLGV9LHN1Y2Nlc3NvcldlaWdodHM6ZnVuY3Rpb24gbHF0KHQpe3ZhciBlPWlxdC5tYXAodC5ub2RlcygpLChmdW5jdGlvbihlKXt2YXIgbj17fTtyZXR1cm4gaXF0LmZvckVhY2godC5vdXRFZGdlcyhlKSwoZnVuY3Rpb24oZSl7bltlLnddPShuW2Uud118fDApK3QuZWRnZShlKS53ZWlnaHR9KSksbn0pKTtyZXR1cm4gaXF0LnppcE9iamVjdCh0Lm5vZGVzKCksZSl9LHByZWRlY2Vzc29yV2VpZ2h0czpmdW5jdGlvbiBjcXQodCl7dmFyIGU9aXF0Lm1hcCh0Lm5vZGVzKCksKGZ1bmN0aW9uKGUpe3ZhciBuPXt9O3JldHVybiBpcXQuZm9yRWFjaCh0LmluRWRnZXMoZSksKGZ1bmN0aW9uKGUpe25bZS52XT0obltlLnZdfHwwKSt0LmVkZ2UoZSkud2VpZ2h0fSkpLG59KSk7cmV0dXJuIGlxdC56aXBPYmplY3QodC5ub2RlcygpLGUpfSxpbnRlcnNlY3RSZWN0OmZ1bmN0aW9uIHVxdCh0LGUpe3ZhciBuLGkscj10Lngsbz10LnksYT1lLngtcixzPWUueS1vLGw9dC53aWR0aC8yLGM9dC5oZWlnaHQvMjtpZighYSYmIXMpdGhyb3cgbmV3IEVycm9yKCJOb3QgcG9zc2libGUgdG8gZmluZCBpbnRlcnNlY3Rpb24gaW5zaWRlIG9mIHRoZSByZWN0YW5nbGUiKTtNYXRoLmFicyhzKSpsPk1hdGguYWJzKGEpKmM/KHM8MCYmKGM9LWMpLG49YyphL3MsaT1jKTooYTwwJiYobD0tbCksbj1sLGk9bCpzL2EpO3JldHVybnt4OnIrbix5Om8raX19LGJ1aWxkTGF5ZXJNYXRyaXg6ZnVuY3Rpb24gaHF0KHQpe3ZhciBlPWlxdC5tYXAoaXF0LnJhbmdlKHZxdCh0KSsxKSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pKTtyZXR1cm4gaXF0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbihuKXt2YXIgaT10Lm5vZGUobikscj1pLnJhbms7aXF0LmlzVW5kZWZpbmVkKHIpfHwoZVtyXVtpLm9yZGVyXT1uKX0pKSxlfSxub3JtYWxpemVSYW5rczpmdW5jdGlvbiBkcXQodCl7dmFyIGU9aXF0Lm1pbihpcXQubWFwKHQubm9kZXMoKSwoZnVuY3Rpb24oZSl7cmV0dXJuIHQubm9kZShlKS5yYW5rfSkpKTtpcXQuZm9yRWFjaCh0Lm5vZGVzKCksKGZ1bmN0aW9uKG4pe3ZhciBpPXQubm9kZShuKTtpcXQuaGFzKGksInJhbmsiKSYmKGkucmFuay09ZSl9KSl9LHJlbW92ZUVtcHR5UmFua3M6ZnVuY3Rpb24gcHF0KHQpe3ZhciBlPWlxdC5taW4oaXF0Lm1hcCh0Lm5vZGVzKCksKGZ1bmN0aW9uKGUpe3JldHVybiB0Lm5vZGUoZSkucmFua30pKSksbj1bXTtpcXQuZm9yRWFjaCh0Lm5vZGVzKCksKGZ1bmN0aW9uKGkpe3ZhciByPXQubm9kZShpKS5yYW5rLWU7bltyXXx8KG5bcl09W10pLG5bcl0ucHVzaChpKX0pKTt2YXIgaT0wLHI9dC5ncmFwaCgpLm5vZGVSYW5rRmFjdG9yO2lxdC5mb3JFYWNoKG4sKGZ1bmN0aW9uKGUsbil7aXF0LmlzVW5kZWZpbmVkKGUpJiZuJXIhPTA/LS1pOmkmJmlxdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKGUpe3Qubm9kZShlKS5yYW5rKz1pfSkpfSkpfSxhZGRCb3JkZXJOb2RlOmZ1bmN0aW9uIGZxdCh0LGUsbixpKXt2YXIgcj17d2lkdGg6MCxoZWlnaHQ6MH07YXJndW1lbnRzLmxlbmd0aD49NCYmKHIucmFuaz1uLHIub3JkZXI9aSk7cmV0dXJuIHlxdCh0LCJib3JkZXIiLHIsZSl9LG1heFJhbms6dnF0LHBhcnRpdGlvbjpmdW5jdGlvbiBtcXQodCxlKXt2YXIgbj17bGhzOltdLHJoczpbXX07cmV0dXJuIGlxdC5mb3JFYWNoKHQsKGZ1bmN0aW9uKHQpe2UodCk/bi5saHMucHVzaCh0KTpuLnJocy5wdXNoKHQpfSkpLG59LHRpbWU6ZnVuY3Rpb24gZ3F0KHQsZSl7dmFyIG49aXF0Lm5vdygpO3RyeXtyZXR1cm4gZSgpfWZpbmFsbHl7Y29uc29sZS5sb2codCsiIHRpbWU6ICIrKGlxdC5ub3coKS1uKSsibXMiKX19LG5vdGltZTpmdW5jdGlvbiBfcXQodCxlKXtyZXR1cm4gZSgpfX07ZnVuY3Rpb24geXF0KHQsZSxuLGkpe3ZhciByO2Rve3I9aXF0LnVuaXF1ZUlkKGkpfXdoaWxlKHQuaGFzTm9kZShyKSk7cmV0dXJuIG4uZHVtbXk9ZSx0LnNldE5vZGUocixuKSxyfWZ1bmN0aW9uIHZxdCh0KXtyZXR1cm4gaXF0Lm1heChpcXQubWFwKHQubm9kZXMoKSwoZnVuY3Rpb24oZSl7dmFyIG49dC5ub2RlKGUpLnJhbms7aWYoIWlxdC5pc1VuZGVmaW5lZChuKSlyZXR1cm4gbn0pKSl9dmFyIGJxdD1IV3QseHF0PW9xdCx3cXQ9e3J1bjpmdW5jdGlvbiBTcXQodCl7dC5ncmFwaCgpLmR1bW15Q2hhaW5zPVtdLGJxdC5mb3JFYWNoKHQuZWRnZXMoKSwoZnVuY3Rpb24oZSl7IShmdW5jdGlvbiBuKHQsZSl7dmFyIG4saSxyLG89ZS52LGE9dC5ub2RlKG8pLnJhbmsscz1lLncsbD10Lm5vZGUocykucmFuayxjPWUubmFtZSx1PXQuZWRnZShlKSxoPXUubGFiZWxSYW5rO2lmKGw9PT1hKzEpcmV0dXJuO2Zvcih0LnJlbW92ZUVkZ2UoZSkscj0wLCsrYTthPGw7KytyLCsrYSl1LnBvaW50cz1bXSxuPXhxdC5hZGREdW1teU5vZGUodCwiZWRnZSIsaT17d2lkdGg6MCxoZWlnaHQ6MCxlZGdlTGFiZWw6dSxlZGdlT2JqOmUscmFuazphfSwiX2QiKSxhPT09aCYmKGkud2lkdGg9dS53aWR0aCxpLmhlaWdodD11LmhlaWdodCxpLmR1bW15PSJlZGdlLWxhYmVsIixpLmxhYmVscG9zPXUubGFiZWxwb3MpLHQuc2V0RWRnZShvLG4se3dlaWdodDp1LndlaWdodH0sYyksMD09PXImJnQuZ3JhcGgoKS5kdW1teUNoYWlucy5wdXNoKG4pLG89bjt0LnNldEVkZ2UobyxzLHt3ZWlnaHQ6dS53ZWlnaHR9LGMpfSkodCxlKX0pKX0sdW5kbzpmdW5jdGlvbiBNcXQodCl7YnF0LmZvckVhY2godC5ncmFwaCgpLmR1bW15Q2hhaW5zLChmdW5jdGlvbihlKXt2YXIgbixpPXQubm9kZShlKSxyPWkuZWRnZUxhYmVsO2Zvcih0LnNldEVkZ2UoaS5lZGdlT2JqLHIpO2kuZHVtbXk7KW49dC5zdWNjZXNzb3JzKGUpWzBdLHQucmVtb3ZlTm9kZShlKSxyLnBvaW50cy5wdXNoKHt4OmkueCx5OmkueX0pLCJlZGdlLWxhYmVsIj09PWkuZHVtbXkmJihyLng9aS54LHIueT1pLnksci53aWR0aD1pLndpZHRoLHIuaGVpZ2h0PWkuaGVpZ2h0KSxpPXQubm9kZShlPW4pfSkpfX07dmFyIEVxdD1IV3QsVHF0PXtsb25nZXN0UGF0aDpmdW5jdGlvbiBDcXQodCl7dmFyIGU9e307RXF0LmZvckVhY2godC5zb3VyY2VzKCksKGZ1bmN0aW9uIG4oaSl7dmFyIHI9dC5ub2RlKGkpO2lmKEVxdC5oYXMoZSxpKSlyZXR1cm4gci5yYW5rO2VbaV09ITA7dmFyIG89RXF0Lm1pbihFcXQubWFwKHQub3V0RWRnZXMoaSksKGZ1bmN0aW9uKGUpe3JldHVybiBuKGUudyktdC5lZGdlKGUpLm1pbmxlbn0pKSk7cmV0dXJuIG8hPT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkmJm51bGwhPW98fChvPTApLHIucmFuaz1vfSkpfSxzbGFjazpmdW5jdGlvbiBBcXQodCxlKXtyZXR1cm4gdC5ub2RlKGUudykucmFuay10Lm5vZGUoZS52KS5yYW5rLXQuZWRnZShlKS5taW5sZW59fTt2YXIga3F0PUhXdCxMcXQ9eVV0LkdyYXBoLFBxdD1UcXQuc2xhY2ssTnF0PWZ1bmN0aW9uIElxdCh0KXt2YXIgZSxuLGk9bmV3IExxdCh7ZGlyZWN0ZWQ6ITF9KSxyPXQubm9kZXMoKVswXSxvPXQubm9kZUNvdW50KCk7aS5zZXROb2RlKHIse30pO2Zvcig7UnF0KGksdCk8bzspZT1PcXQoaSx0KSxuPWkuaGFzTm9kZShlLnYpP1BxdCh0LGUpOi1QcXQodCxlKSx6cXQoaSx0LG4pO3JldHVybiBpfTtmdW5jdGlvbiBScXQodCxlKXtyZXR1cm4ga3F0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbiBuKGkpe2txdC5mb3JFYWNoKGUubm9kZUVkZ2VzKGkpLChmdW5jdGlvbihyKXt2YXIgbz1yLnYsYT1pPT09bz9yLnc6bzt0Lmhhc05vZGUoYSl8fFBxdChlLHIpfHwodC5zZXROb2RlKGEse30pLHQuc2V0RWRnZShpLGEse30pLG4oYSkpfSkpfSkpLHQubm9kZUNvdW50KCl9ZnVuY3Rpb24gT3F0KHQsZSl7cmV0dXJuIGtxdC5taW5CeShlLmVkZ2VzKCksKGZ1bmN0aW9uKG4pe2lmKHQuaGFzTm9kZShuLnYpIT09dC5oYXNOb2RlKG4udykpcmV0dXJuIFBxdChlLG4pfSkpfWZ1bmN0aW9uIHpxdCh0LGUsbil7a3F0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbih0KXtlLm5vZGUodCkucmFuays9bn0pKX12YXIgRHF0PUhXdCxCcXQ9TnF0LEhxdD1UcXQuc2xhY2ssRnF0PVRxdC5sb25nZXN0UGF0aCxWcXQ9eVV0LmFsZy5wcmVvcmRlcixVcXQ9eVV0LmFsZy5wb3N0b3JkZXIsanF0PW9xdC5zaW1wbGlmeSxHcXQ9V3F0O2Z1bmN0aW9uIFdxdCh0KXt0PWpxdCh0KSxGcXQodCk7dmFyIGUsbj1CcXQodCk7Zm9yKFhxdChuKSxxcXQobix0KTtlPUtxdChuKTspSnF0KG4sdCxlLFpxdChuLHQsZSkpfWZ1bmN0aW9uIHFxdCh0LGUpe3ZhciBuPVVxdCh0LHQubm9kZXMoKSk7bj1uLnNsaWNlKDAsbi5sZW5ndGgtMSksRHF0LmZvckVhY2gobiwoZnVuY3Rpb24obil7IShmdW5jdGlvbiBpKHQsZSxuKXt2YXIgaT10Lm5vZGUobik7dC5lZGdlKG4saS5wYXJlbnQpLmN1dHZhbHVlPVlxdCh0LGUsbil9KSh0LGUsbil9KSl9ZnVuY3Rpb24gWXF0KHQsZSxuKXt2YXIgaT10Lm5vZGUobikucGFyZW50LHI9ITAsbz1lLmVkZ2UobixpKSxhPTA7cmV0dXJuIG98fChyPSExLG89ZS5lZGdlKGksbikpLGE9by53ZWlnaHQsRHF0LmZvckVhY2goZS5ub2RlRWRnZXMobiksKGZ1bmN0aW9uKG8pe3ZhciBzPW8udj09PW4sbD1zP28udzpvLnY7aWYobCE9PWkpe3ZhciBjPXM9PT1yLHU9ZS5lZGdlKG8pLndlaWdodDtpZihhKz1jP3U6LXUsKGZ1bmN0aW9uIGgodCxlLG4pe3JldHVybiB0Lmhhc0VkZ2UoZSxuKX0pKHQsbixsKSl7dmFyIGQ9dC5lZGdlKG4sbCkuY3V0dmFsdWU7YSs9Yz8tZDpkfX19KSksYX1mdW5jdGlvbiBYcXQodCxlKXthcmd1bWVudHMubGVuZ3RoPDImJihlPXQubm9kZXMoKVswXSksJHF0KHQse30sMSxlKX1mdW5jdGlvbiAkcXQodCxlLG4saSxyKXt2YXIgbz1uLGE9dC5ub2RlKGkpO3JldHVybiBlW2ldPSEwLERxdC5mb3JFYWNoKHQubmVpZ2hib3JzKGkpLChmdW5jdGlvbihyKXtEcXQuaGFzKGUscil8fChuPSRxdCh0LGUsbixyLGkpKX0pKSxhLmxvdz1vLGEubGltPW4rKyxyP2EucGFyZW50PXI6ZGVsZXRlIGEucGFyZW50LG59ZnVuY3Rpb24gS3F0KHQpe3JldHVybiBEcXQuZmluZCh0LmVkZ2VzKCksKGZ1bmN0aW9uKGUpe3JldHVybiB0LmVkZ2UoZSkuY3V0dmFsdWU8MH0pKX1mdW5jdGlvbiBacXQodCxlLG4pe3ZhciBpPW4udixyPW4udztlLmhhc0VkZ2UoaSxyKXx8KGk9bi53LHI9bi52KTt2YXIgbz10Lm5vZGUoaSksYT10Lm5vZGUocikscz1vLGw9ITE7by5saW0+YS5saW0mJihzPWEsbD0hMCk7dmFyIGM9RHF0LmZpbHRlcihlLmVkZ2VzKCksKGZ1bmN0aW9uKGUpe3JldHVybiBsPT09UXF0KHQsdC5ub2RlKGUudikscykmJmwhPT1RcXQodCx0Lm5vZGUoZS53KSxzKX0pKTtyZXR1cm4gRHF0Lm1pbkJ5KGMsKGZ1bmN0aW9uKHQpe3JldHVybiBIcXQoZSx0KX0pKX1mdW5jdGlvbiBKcXQodCxlLG4saSl7dC5yZW1vdmVFZGdlKG4udixuLncpLHQuc2V0RWRnZShpLnYsaS53LHt9KSxYcXQodCkscXF0KHQsZSksKGZ1bmN0aW9uIHIodCxlKXt2YXIgbj1EcXQuZmluZCh0Lm5vZGVzKCksKGZ1bmN0aW9uKHQpe3JldHVybiFlLm5vZGUodCkucGFyZW50fSkpLGk9VnF0KHQsbik7aT1pLnNsaWNlKDEpLERxdC5mb3JFYWNoKGksKGZ1bmN0aW9uKG4pe3ZhciBpPXQubm9kZShuKS5wYXJlbnQscj1lLmVkZ2UobixpKSxvPSExO3J8fChyPWUuZWRnZShpLG4pLG89ITApLGUubm9kZShuKS5yYW5rPWUubm9kZShpKS5yYW5rKyhvP3IubWlubGVuOi1yLm1pbmxlbil9KSl9KSh0LGUpfWZ1bmN0aW9uIFFxdCh0LGUsbil7cmV0dXJuIG4ubG93PD1lLmxpbSYmZS5saW08PW4ubGltfVdxdC5pbml0TG93TGltVmFsdWVzPVhxdCxXcXQuaW5pdEN1dFZhbHVlcz1xcXQsV3F0LmNhbGNDdXRWYWx1ZT1ZcXQsV3F0LmxlYXZlRWRnZT1LcXQsV3F0LmVudGVyRWRnZT1acXQsV3F0LmV4Y2hhbmdlRWRnZXM9SnF0O3ZhciB0WXQ9VHF0Lmxvbmdlc3RQYXRoLGVZdD1OcXQsbll0PUdxdCxpWXQ9ZnVuY3Rpb24gcll0KHQpe3N3aXRjaCh0LmdyYXBoKCkucmFua2VyKXtjYXNlIm5ldHdvcmstc2ltcGxleCI6YVl0KHQpO2JyZWFrO2Nhc2UidGlnaHQtdHJlZSI6IShmdW5jdGlvbiBlKHQpe3RZdCh0KSxlWXQodCl9KSh0KTticmVhaztjYXNlImxvbmdlc3QtcGF0aCI6b1l0KHQpO2JyZWFrO2RlZmF1bHQ6YVl0KHQpfX07dmFyIG9ZdD10WXQ7ZnVuY3Rpb24gYVl0KHQpe25ZdCh0KX12YXIgc1l0PUhXdDt2YXIgbFl0PUhXdCxjWXQ9b3F0O2Z1bmN0aW9uIHVZdCh0LGUsbixpLHIsbyxhKXt2YXIgcz10LmNoaWxkcmVuKGEpO2lmKHMubGVuZ3RoKXt2YXIgbD1jWXQuYWRkQm9yZGVyTm9kZSh0LCJfYnQiKSxjPWNZdC5hZGRCb3JkZXJOb2RlKHQsIl9iYiIpLHU9dC5ub2RlKGEpO3Quc2V0UGFyZW50KGwsYSksdS5ib3JkZXJUb3A9bCx0LnNldFBhcmVudChjLGEpLHUuYm9yZGVyQm90dG9tPWMsbFl0LmZvckVhY2gocywoZnVuY3Rpb24ocyl7dVl0KHQsZSxuLGkscixvLHMpO3ZhciB1PXQubm9kZShzKSxoPXUuYm9yZGVyVG9wP3UuYm9yZGVyVG9wOnMsZD11LmJvcmRlckJvdHRvbT91LmJvcmRlckJvdHRvbTpzLHA9dS5ib3JkZXJUb3A/aToyKmksZj1oIT09ZD8xOnItb1thXSsxO3Quc2V0RWRnZShsLGgse3dlaWdodDpwLG1pbmxlbjpmLG5lc3RpbmdFZGdlOiEwfSksdC5zZXRFZGdlKGQsYyx7d2VpZ2h0OnAsbWlubGVuOmYsbmVzdGluZ0VkZ2U6ITB9KX0pKSx0LnBhcmVudChhKXx8dC5zZXRFZGdlKGUsbCx7d2VpZ2h0OjAsbWlubGVuOnIrb1thXX0pfWVsc2UgYSE9PWUmJnQuc2V0RWRnZShlLGEse3dlaWdodDowLG1pbmxlbjpufSl9dmFyIGhZdD1IV3QsZFl0PW9xdCxwWXQ9ZnVuY3Rpb24gZll0KHQpe2hZdC5mb3JFYWNoKHQuY2hpbGRyZW4oKSwoZnVuY3Rpb24gZShuKXt2YXIgaT10LmNoaWxkcmVuKG4pLHI9dC5ub2RlKG4pO2lmKGkubGVuZ3RoJiZoWXQuZm9yRWFjaChpLGUpLGhZdC5oYXMociwibWluUmFuayIpKXtyLmJvcmRlckxlZnQ9W10sci5ib3JkZXJSaWdodD1bXTtmb3IodmFyIG89ci5taW5SYW5rLGE9ci5tYXhSYW5rKzE7bzxhOysrbyltWXQodCwiYm9yZGVyTGVmdCIsIl9ibCIsbixyLG8pLG1ZdCh0LCJib3JkZXJSaWdodCIsIl9iciIsbixyLG8pfX0pKX07ZnVuY3Rpb24gbVl0KHQsZSxuLGkscixvKXt2YXIgYT1yW2VdW28tMV0scz1kWXQuYWRkRHVtbXlOb2RlKHQsImJvcmRlciIse3dpZHRoOjAsaGVpZ2h0OjAscmFuazpvLGJvcmRlclR5cGU6ZX0sbik7cltlXVtvXT1zLHQuc2V0UGFyZW50KHMsaSksYSYmdC5zZXRFZGdlKGEscyx7d2VpZ2h0OjF9KX12YXIgZ1l0PUhXdDtmdW5jdGlvbiBfWXQodCl7Z1l0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbihlKXt5WXQodC5ub2RlKGUpKX0pKSxnWXQuZm9yRWFjaCh0LmVkZ2VzKCksKGZ1bmN0aW9uKGUpe3lZdCh0LmVkZ2UoZSkpfSkpfWZ1bmN0aW9uIHlZdCh0KXt2YXIgZT10LndpZHRoO3Qud2lkdGg9dC5oZWlnaHQsdC5oZWlnaHQ9ZX1mdW5jdGlvbiB2WXQodCl7dC55PS10Lnl9ZnVuY3Rpb24gYll0KHQpe3ZhciBlPXQueDt0Lng9dC55LHQueT1lfXZhciB4WXQ9SFd0O3ZhciB3WXQ9SFd0O2Z1bmN0aW9uIFNZdCh0LGUsbil7Zm9yKHZhciBpPXdZdC56aXBPYmplY3Qobix3WXQubWFwKG4sKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV9KSkpLHI9d1l0LmZsYXR0ZW4od1l0Lm1hcChlLChmdW5jdGlvbihlKXtyZXR1cm4gd1l0LnNvcnRCeSh3WXQubWFwKHQub3V0RWRnZXMoZSksKGZ1bmN0aW9uKGUpe3JldHVybntwb3M6aVtlLnddLHdlaWdodDp0LmVkZ2UoZSkud2VpZ2h0fX0pKSwicG9zIil9KSksITApLG89MTtvPG4ubGVuZ3RoOylvPDw9MTt2YXIgYT0yKm8tMTtvLT0xO3ZhciBzPXdZdC5tYXAobmV3IEFycmF5KGEpLChmdW5jdGlvbigpe3JldHVybiAwfSkpLGw9MDtyZXR1cm4gd1l0LmZvckVhY2goci5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10LnBvcytvO3NbZV0rPXQud2VpZ2h0O2Zvcih2YXIgbj0wO2U+MDspZSUyJiYobis9c1tlKzFdKSxzW2U9ZS0xPj4xXSs9dC53ZWlnaHQ7bCs9dC53ZWlnaHQqbn0pKSksbH12YXIgTVl0PUhXdDt2YXIgRVl0PUhXdDt2YXIgVFl0PUhXdCxDWXQ9b3F0O2Z1bmN0aW9uIEFZdCh0LGUsbil7Zm9yKHZhciBpO2UubGVuZ3RoJiYoaT1UWXQubGFzdChlKSkuaTw9bjspZS5wb3AoKSx0LnB1c2goaS52cyksbisrO3JldHVybiBufXZhciBrWXQ9SFd0LExZdD1mdW5jdGlvbiBQWXQodCxlKXtyZXR1cm4gTVl0Lm1hcChlLChmdW5jdGlvbihlKXt2YXIgbj10LmluRWRnZXMoZSk7aWYobi5sZW5ndGgpe3ZhciBpPU1ZdC5yZWR1Y2UobiwoZnVuY3Rpb24oZSxuKXt2YXIgaT10LmVkZ2Uobikscj10Lm5vZGUobi52KTtyZXR1cm57c3VtOmUuc3VtK2kud2VpZ2h0KnIub3JkZXIsd2VpZ2h0OmUud2VpZ2h0K2kud2VpZ2h0fX0pLHtzdW06MCx3ZWlnaHQ6MH0pO3JldHVybnt2OmUsYmFyeWNlbnRlcjppLnN1bS9pLndlaWdodCx3ZWlnaHQ6aS53ZWlnaHR9fXJldHVybnt2OmV9fSkpfSxOWXQ9ZnVuY3Rpb24gSVl0KHQsZSl7dmFyIG49e307cmV0dXJuIEVZdC5mb3JFYWNoKHQsKGZ1bmN0aW9uKHQsZSl7dmFyIGk9blt0LnZdPXtpbmRlZ3JlZTowLGluOltdLG91dDpbXSx2czpbdC52XSxpOmV9O0VZdC5pc1VuZGVmaW5lZCh0LmJhcnljZW50ZXIpfHwoaS5iYXJ5Y2VudGVyPXQuYmFyeWNlbnRlcixpLndlaWdodD10LndlaWdodCl9KSksRVl0LmZvckVhY2goZS5lZGdlcygpLChmdW5jdGlvbih0KXt2YXIgZT1uW3Qudl0saT1uW3Qud107RVl0LmlzVW5kZWZpbmVkKGUpfHxFWXQuaXNVbmRlZmluZWQoaSl8fChpLmluZGVncmVlKyssZS5vdXQucHVzaChuW3Qud10pKX0pKSwoZnVuY3Rpb24gaSh0KXt2YXIgZT1bXTtmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbihlKXtlLm1lcmdlZHx8KEVZdC5pc1VuZGVmaW5lZChlLmJhcnljZW50ZXIpfHxFWXQuaXNVbmRlZmluZWQodC5iYXJ5Y2VudGVyKXx8ZS5iYXJ5Y2VudGVyPj10LmJhcnljZW50ZXIpJiYoZnVuY3Rpb24gbih0LGUpe3ZhciBuPTAsaT0wO3Qud2VpZ2h0JiYobis9dC5iYXJ5Y2VudGVyKnQud2VpZ2h0LGkrPXQud2VpZ2h0KTtlLndlaWdodCYmKG4rPWUuYmFyeWNlbnRlciplLndlaWdodCxpKz1lLndlaWdodCk7dC52cz1lLnZzLmNvbmNhdCh0LnZzKSx0LmJhcnljZW50ZXI9bi9pLHQud2VpZ2h0PWksdC5pPU1hdGgubWluKGUuaSx0LmkpLGUubWVyZ2VkPSEwfSkodCxlKX19ZnVuY3Rpb24gaShlKXtyZXR1cm4gZnVuY3Rpb24obil7bi5pbi5wdXNoKGUpLDA9PS0tbi5pbmRlZ3JlZSYmdC5wdXNoKG4pfX1mb3IoO3QubGVuZ3RoOyl7dmFyIHI9dC5wb3AoKTtlLnB1c2gociksRVl0LmZvckVhY2goci5pbi5yZXZlcnNlKCksbihyKSksRVl0LmZvckVhY2goci5vdXQsaShyKSl9cmV0dXJuIEVZdC5tYXAoRVl0LmZpbHRlcihlLChmdW5jdGlvbih0KXtyZXR1cm4hdC5tZXJnZWR9KSksKGZ1bmN0aW9uKHQpe3JldHVybiBFWXQucGljayh0LFsidnMiLCJpIiwiYmFyeWNlbnRlciIsIndlaWdodCJdKX0pKX0pKEVZdC5maWx0ZXIobiwoZnVuY3Rpb24odCl7cmV0dXJuIXQuaW5kZWdyZWV9KSkpfSxSWXQ9ZnVuY3Rpb24gT1l0KHQsZSl7dmFyIG49Q1l0LnBhcnRpdGlvbih0LChmdW5jdGlvbih0KXtyZXR1cm4gVFl0Lmhhcyh0LCJiYXJ5Y2VudGVyIil9KSksaT1uLmxocyxyPVRZdC5zb3J0Qnkobi5yaHMsKGZ1bmN0aW9uKHQpe3JldHVybi10Lml9KSksbz1bXSxhPTAscz0wLGw9MDtpLnNvcnQoKGZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7cmV0dXJuIGUuYmFyeWNlbnRlcjxuLmJhcnljZW50ZXI/LTE6ZS5iYXJ5Y2VudGVyPm4uYmFyeWNlbnRlcj8xOnQ/bi5pLWUuaTplLmktbi5pfX0pKCEhZSkpLGw9QVl0KG8scixsKSxUWXQuZm9yRWFjaChpLChmdW5jdGlvbih0KXtsKz10LnZzLmxlbmd0aCxvLnB1c2godC52cyksYSs9dC5iYXJ5Y2VudGVyKnQud2VpZ2h0LHMrPXQud2VpZ2h0LGw9QVl0KG8scixsKX0pKTt2YXIgdT17dnM6VFl0LmZsYXR0ZW4obywhMCl9O3MmJih1LmJhcnljZW50ZXI9YS9zLHUud2VpZ2h0PXMpO3JldHVybiB1fTt2YXIgell0PUhXdCxEWXQ9eVV0LkdyYXBoO3ZhciBCWXQ9SFd0O3ZhciBIWXQ9SFd0LEZZdD1mdW5jdGlvbiBWWXQodCl7dmFyIGU9e30sbj14WXQuZmlsdGVyKHQubm9kZXMoKSwoZnVuY3Rpb24oZSl7cmV0dXJuIXQuY2hpbGRyZW4oZSkubGVuZ3RofSkpLGk9eFl0Lm1heCh4WXQubWFwKG4sKGZ1bmN0aW9uKGUpe3JldHVybiB0Lm5vZGUoZSkucmFua30pKSkscj14WXQubWFwKHhZdC5yYW5nZShpKzEpLChmdW5jdGlvbigpe3JldHVybltdfSkpO2Z1bmN0aW9uIG8obil7aWYoIXhZdC5oYXMoZSxuKSl7ZVtuXT0hMDt2YXIgaT10Lm5vZGUobik7cltpLnJhbmtdLnB1c2gobikseFl0LmZvckVhY2godC5zdWNjZXNzb3JzKG4pLG8pfX12YXIgYT14WXQuc29ydEJ5KG4sKGZ1bmN0aW9uKGUpe3JldHVybiB0Lm5vZGUoZSkucmFua30pKTtyZXR1cm4geFl0LmZvckVhY2goYSxvKSxyfSxVWXQ9ZnVuY3Rpb24gall0KHQsZSl7Zm9yKHZhciBuPTAsaT0xO2k8ZS5sZW5ndGg7KytpKW4rPVNZdCh0LGVbaS0xXSxlW2ldKTtyZXR1cm4gbn0sR1l0PWZ1bmN0aW9uIHQoZSxuLGkscil7dmFyIG89ZS5jaGlsZHJlbihuKSxhPWUubm9kZShuKSxzPWE/YS5ib3JkZXJMZWZ0OnZvaWQgMCxsPWE/YS5ib3JkZXJSaWdodDp2b2lkIDAsYz17fTtzJiYobz1rWXQuZmlsdGVyKG8sKGZ1bmN0aW9uKHQpe3JldHVybiB0IT09cyYmdCE9PWx9KSkpO3ZhciB1PUxZdChlLG8pO2tZdC5mb3JFYWNoKHUsKGZ1bmN0aW9uKG4pe2lmKGUuY2hpbGRyZW4obi52KS5sZW5ndGgpe3ZhciBvPXQoZSxuLnYsaSxyKTtjW24udl09byxrWXQuaGFzKG8sImJhcnljZW50ZXIiKSYmKGZ1bmN0aW9uIGEodCxlKXtrWXQuaXNVbmRlZmluZWQodC5iYXJ5Y2VudGVyKT8odC5iYXJ5Y2VudGVyPWUuYmFyeWNlbnRlcix0LndlaWdodD1lLndlaWdodCk6KHQuYmFyeWNlbnRlcj0odC5iYXJ5Y2VudGVyKnQud2VpZ2h0K2UuYmFyeWNlbnRlciplLndlaWdodCkvKHQud2VpZ2h0K2Uud2VpZ2h0KSx0LndlaWdodCs9ZS53ZWlnaHQpfSkobixvKX19KSk7dmFyIGg9Tll0KHUsaSk7IShmdW5jdGlvbiBkKHQsZSl7a1l0LmZvckVhY2godCwoZnVuY3Rpb24odCl7dC52cz1rWXQuZmxhdHRlbih0LnZzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGVbdF0/ZVt0XS52czp0fSkpLCEwKX0pKX0pKGgsYyk7dmFyIHA9Ull0KGgscik7aWYocyYmKHAudnM9a1l0LmZsYXR0ZW4oW3MscC52cyxsXSwhMCksZS5wcmVkZWNlc3NvcnMocykubGVuZ3RoKSl7dmFyIGY9ZS5ub2RlKGUucHJlZGVjZXNzb3JzKHMpWzBdKSxtPWUubm9kZShlLnByZWRlY2Vzc29ycyhsKVswXSk7a1l0LmhhcyhwLCJiYXJ5Y2VudGVyIil8fChwLmJhcnljZW50ZXI9MCxwLndlaWdodD0wKSxwLmJhcnljZW50ZXI9KHAuYmFyeWNlbnRlcipwLndlaWdodCtmLm9yZGVyK20ub3JkZXIpLyhwLndlaWdodCsyKSxwLndlaWdodCs9Mn1yZXR1cm4gcH0sV1l0PWZ1bmN0aW9uIHFZdCh0LGUsbil7dmFyIGk9KGZ1bmN0aW9uIHIodCl7dmFyIGU7Zm9yKDt0Lmhhc05vZGUoZT16WXQudW5pcXVlSWQoIl9yb290IikpOyk7cmV0dXJuIGV9KSh0KSxvPW5ldyBEWXQoe2NvbXBvdW5kOiEwfSkuc2V0R3JhcGgoe3Jvb3Q6aX0pLnNldERlZmF1bHROb2RlTGFiZWwoKGZ1bmN0aW9uKGUpe3JldHVybiB0Lm5vZGUoZSl9KSk7cmV0dXJuIHpZdC5mb3JFYWNoKHQubm9kZXMoKSwoZnVuY3Rpb24ocil7dmFyIGE9dC5ub2RlKHIpLHM9dC5wYXJlbnQocik7KGEucmFuaz09PWV8fGEubWluUmFuazw9ZSYmZTw9YS5tYXhSYW5rKSYmKG8uc2V0Tm9kZShyKSxvLnNldFBhcmVudChyLHN8fGkpLHpZdC5mb3JFYWNoKHRbbl0ociksKGZ1bmN0aW9uKGUpe3ZhciBuPWUudj09PXI/ZS53OmUudixpPW8uZWRnZShuLHIpLGE9ell0LmlzVW5kZWZpbmVkKGkpPzA6aS53ZWlnaHQ7by5zZXRFZGdlKG4scix7d2VpZ2h0OnQuZWRnZShlKS53ZWlnaHQrYX0pfSkpLHpZdC5oYXMoYSwibWluUmFuayIpJiZvLnNldE5vZGUocix7Ym9yZGVyTGVmdDphLmJvcmRlckxlZnRbZV0sYm9yZGVyUmlnaHQ6YS5ib3JkZXJSaWdodFtlXX0pKX0pKSxvfSxZWXQ9ZnVuY3Rpb24gWFl0KHQsZSxuKXt2YXIgaSxyPXt9O0JZdC5mb3JFYWNoKG4sKGZ1bmN0aW9uKG4pe2Zvcih2YXIgbyxhLHM9dC5wYXJlbnQobik7czspe2lmKChvPXQucGFyZW50KHMpKT8oYT1yW29dLHJbb109cyk6KGE9aSxpPXMpLGEmJmEhPT1zKXJldHVybiB2b2lkIGUuc2V0RWRnZShhLHMpO3M9b319KSl9LCRZdD15VXQuR3JhcGgsS1l0PW9xdDtmdW5jdGlvbiBaWXQodCxlLG4pe3JldHVybiBIWXQubWFwKGUsKGZ1bmN0aW9uKGUpe3JldHVybiBXWXQodCxlLG4pfSkpfWZ1bmN0aW9uIEpZdCh0LGUpe3ZhciBuPW5ldyAkWXQ7SFl0LmZvckVhY2godCwoZnVuY3Rpb24odCl7dmFyIGk9dC5ncmFwaCgpLnJvb3Qscj1HWXQodCxpLG4sZSk7SFl0LmZvckVhY2goci52cywoZnVuY3Rpb24oZSxuKXt0Lm5vZGUoZSkub3JkZXI9bn0pKSxZWXQodCxuLHIudnMpfSkpfWZ1bmN0aW9uIFFZdCh0LGUpe0hZdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKGUpe0hZdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKGUsbil7dC5ub2RlKGUpLm9yZGVyPW59KSl9KSl9dmFyIHRYdD1IV3QsZVh0PXlVdC5HcmFwaCxuWHQ9b3F0LGlYdD1mdW5jdGlvbiByWHQodCl7dmFyIGUsbj1uWHQuYnVpbGRMYXllck1hdHJpeCh0KSxpPXRYdC5tZXJnZShvWHQodCxuKSxhWHQodCxuKSkscj17fTt0WHQuZm9yRWFjaChbInUiLCJkIl0sKGZ1bmN0aW9uKG8pe2U9InUiPT09bz9uOnRYdC52YWx1ZXMobikucmV2ZXJzZSgpLHRYdC5mb3JFYWNoKFsibCIsInIiXSwoZnVuY3Rpb24obil7InIiPT09biYmKGU9dFh0Lm1hcChlLChmdW5jdGlvbih0KXtyZXR1cm4gdFh0LnZhbHVlcyh0KS5yZXZlcnNlKCl9KSkpO3ZhciBhPSgidSI9PT1vP3QucHJlZGVjZXNzb3JzOnQuc3VjY2Vzc29ycykuYmluZCh0KSxzPWNYdCh0LGUsaSxhKSxsPXVYdCh0LGUscy5yb290LHMuYWxpZ24sInIiPT09bik7InIiPT09biYmKGw9dFh0Lm1hcFZhbHVlcyhsLChmdW5jdGlvbih0KXtyZXR1cm4tdH0pKSkscltvK25dPWx9KSl9KSk7dmFyIG89aFh0KHQscik7cmV0dXJuIGRYdChyLG8pLHBYdChyLHQuZ3JhcGgoKS5hbGlnbil9O2Z1bmN0aW9uIG9YdCh0LGUpe3ZhciBuPXt9O3JldHVybiB0WHQucmVkdWNlKGUsKGZ1bmN0aW9uIGkoZSxyKXt2YXIgbz0wLGE9MCxzPWUubGVuZ3RoLGw9dFh0Lmxhc3Qocik7cmV0dXJuIHRYdC5mb3JFYWNoKHIsKGZ1bmN0aW9uKGUsaSl7dmFyIGM9KGZ1bmN0aW9uIHUodCxlKXtpZih0Lm5vZGUoZSkuZHVtbXkpcmV0dXJuIHRYdC5maW5kKHQucHJlZGVjZXNzb3JzKGUpLChmdW5jdGlvbihlKXtyZXR1cm4gdC5ub2RlKGUpLmR1bW15fSkpfSkodCxlKSxoPWM/dC5ub2RlKGMpLm9yZGVyOnM7KGN8fGU9PT1sKSYmKHRYdC5mb3JFYWNoKHIuc2xpY2UoYSxpKzEpLChmdW5jdGlvbihlKXt0WHQuZm9yRWFjaCh0LnByZWRlY2Vzc29ycyhlKSwoZnVuY3Rpb24oaSl7dmFyIHI9dC5ub2RlKGkpLGE9ci5vcmRlcjshKGE8b3x8aDxhKXx8ci5kdW1teSYmdC5ub2RlKGUpLmR1bW15fHxzWHQobixpLGUpfSkpfSkpLGE9aSsxLG89aCl9KSkscn0pKSxufWZ1bmN0aW9uIGFYdCh0LGUpe3ZhciBuPXt9O2Z1bmN0aW9uIGkoZSxpLHIsbyxhKXt2YXIgczt0WHQuZm9yRWFjaCh0WHQucmFuZ2UoaSxyKSwoZnVuY3Rpb24oaSl7dC5ub2RlKHM9ZVtpXSkuZHVtbXkmJnRYdC5mb3JFYWNoKHQucHJlZGVjZXNzb3JzKHMpLChmdW5jdGlvbihlKXt2YXIgaT10Lm5vZGUoZSk7aS5kdW1teSYmKGkub3JkZXI8b3x8aS5vcmRlcj5hKSYmc1h0KG4sZSxzKX0pKX0pKX1yZXR1cm4gdFh0LnJlZHVjZShlLChmdW5jdGlvbiByKGUsbil7dmFyIHIsbz0tMSxhPTA7cmV0dXJuIHRYdC5mb3JFYWNoKG4sKGZ1bmN0aW9uKHMsbCl7aWYoImJvcmRlciI9PT10Lm5vZGUocykuZHVtbXkpe3ZhciBjPXQucHJlZGVjZXNzb3JzKHMpO2MubGVuZ3RoJiYocj10Lm5vZGUoY1swXSkub3JkZXIsaShuLGEsbCxvLHIpLGE9bCxvPXIpfWkobixhLG4ubGVuZ3RoLHIsZS5sZW5ndGgpfSkpLG59KSksbn1mdW5jdGlvbiBzWHQodCxlLG4pe2lmKGU+bil7dmFyIGk9ZTtlPW4sbj1pfXZhciByPXRbZV07cnx8KHRbZV09cj17fSkscltuXT0hMH1mdW5jdGlvbiBsWHQodCxlLG4pe2lmKGU+bil7dmFyIGk9ZTtlPW4sbj1pfXJldHVybiB0WHQuaGFzKHRbZV0sbil9ZnVuY3Rpb24gY1h0KHQsZSxuLGkpe3ZhciByPXt9LG89e30sYT17fTtyZXR1cm4gdFh0LmZvckVhY2goZSwoZnVuY3Rpb24odCl7dFh0LmZvckVhY2godCwoZnVuY3Rpb24odCxlKXtyW3RdPXQsb1t0XT10LGFbdF09ZX0pKX0pKSx0WHQuZm9yRWFjaChlLChmdW5jdGlvbih0KXt2YXIgZT0tMTt0WHQuZm9yRWFjaCh0LChmdW5jdGlvbih0KXt2YXIgcz1pKHQpO2lmKHMubGVuZ3RoKWZvcih2YXIgbD0oKHM9dFh0LnNvcnRCeShzLChmdW5jdGlvbih0KXtyZXR1cm4gYVt0XX0pKSkubGVuZ3RoLTEpLzIsYz1NYXRoLmZsb29yKGwpLHU9TWF0aC5jZWlsKGwpO2M8PXU7KytjKXt2YXIgaD1zW2NdO29bdF09PT10JiZlPGFbaF0mJiFsWHQobix0LGgpJiYob1toXT10LG9bdF09clt0XT1yW2hdLGU9YVtoXSl9fSkpfSkpLHtyb290OnIsYWxpZ246b319ZnVuY3Rpb24gdVh0KHQsZSxuLGkscil7dmFyIG89e30sYT0oZnVuY3Rpb24gcyh0LGUsbixpKXt2YXIgcj1uZXcgZVh0LG89dC5ncmFwaCgpLGE9KGZ1bmN0aW9uIHModCxlLG4pe3JldHVybiBmdW5jdGlvbihpLHIsbyl7dmFyIGEscz1pLm5vZGUociksbD1pLm5vZGUobyksYz0wO2lmKGMrPXMud2lkdGgvMix0WHQuaGFzKHMsImxhYmVscG9zIikpc3dpdGNoKHMubGFiZWxwb3MudG9Mb3dlckNhc2UoKSl7Y2FzZSJsIjphPS1zLndpZHRoLzI7YnJlYWs7Y2FzZSJyIjphPXMud2lkdGgvMn1pZihhJiYoYys9bj9hOi1hKSxhPTAsYys9KHMuZHVtbXk/ZTp0KS8yLGMrPShsLmR1bW15P2U6dCkvMixjKz1sLndpZHRoLzIsdFh0LmhhcyhsLCJsYWJlbHBvcyIpKXN3aXRjaChsLmxhYmVscG9zLnRvTG93ZXJDYXNlKCkpe2Nhc2UibCI6YT1sLndpZHRoLzI7YnJlYWs7Y2FzZSJyIjphPS1sLndpZHRoLzJ9cmV0dXJuIGEmJihjKz1uP2E6LWEpLGE9MCxjfX0pKG8ubm9kZXNlcCxvLmVkZ2VzZXAsaSk7cmV0dXJuIHRYdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKGUpe3ZhciBpO3RYdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKGUpe3ZhciBvPW5bZV07aWYoci5zZXROb2RlKG8pLGkpe3ZhciBzPW5baV0sbD1yLmVkZ2UocyxvKTtyLnNldEVkZ2UocyxvLE1hdGgubWF4KGEodCxlLGkpLGx8fDApKX1pPWV9KSl9KSkscn0pKHQsZSxuLHIpLGw9cj8iYm9yZGVyTGVmdCI6ImJvcmRlclJpZ2h0IjtmdW5jdGlvbiBjKHQsZSl7Zm9yKHZhciBuPWEubm9kZXMoKSxpPW4ucG9wKCkscj17fTtpOylyW2ldP3QoaSk6KHJbaV09ITAsbi5wdXNoKGkpLG49bi5jb25jYXQoZShpKSkpLGk9bi5wb3AoKX1yZXR1cm4gYygoZnVuY3Rpb24gdSh0KXtvW3RdPWEuaW5FZGdlcyh0KS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWF4KHQsb1tlLnZdK2EuZWRnZShlKSl9KSwwKX0pLGEucHJlZGVjZXNzb3JzLmJpbmQoYSkpLGMoKGZ1bmN0aW9uIGgoZSl7dmFyIG49YS5vdXRFZGdlcyhlKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIE1hdGgubWluKHQsb1tlLnddLWEuZWRnZShlKSl9KSxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLGk9dC5ub2RlKGUpO24hPT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkmJmkuYm9yZGVyVHlwZSE9PWwmJihvW2VdPU1hdGgubWF4KG9bZV0sbikpfSksYS5zdWNjZXNzb3JzLmJpbmQoYSkpLHRYdC5mb3JFYWNoKGksKGZ1bmN0aW9uKHQpe29bdF09b1tuW3RdXX0pKSxvfWZ1bmN0aW9uIGhYdCh0LGUpe3JldHVybiB0WHQubWluQnkodFh0LnZhbHVlcyhlKSwoZnVuY3Rpb24oZSl7dmFyIG49TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLGk9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO3JldHVybiB0WHQuZm9ySW4oZSwoZnVuY3Rpb24oZSxyKXt2YXIgbz0oZnVuY3Rpb24gYSh0LGUpe3JldHVybiB0Lm5vZGUoZSkud2lkdGh9KSh0LHIpLzI7bj1NYXRoLm1heChlK28sbiksaT1NYXRoLm1pbihlLW8saSl9KSksbi1pfSkpfWZ1bmN0aW9uIGRYdCh0LGUpe3ZhciBuPXRYdC52YWx1ZXMoZSksaT10WHQubWluKG4pLHI9dFh0Lm1heChuKTt0WHQuZm9yRWFjaChbInUiLCJkIl0sKGZ1bmN0aW9uKG4pe3RYdC5mb3JFYWNoKFsibCIsInIiXSwoZnVuY3Rpb24obyl7dmFyIGEscz1uK28sbD10W3NdO2lmKGwhPT1lKXt2YXIgYz10WHQudmFsdWVzKGwpOyhhPSJsIj09PW8/aS10WHQubWluKGMpOnItdFh0Lm1heChjKSkmJih0W3NdPXRYdC5tYXBWYWx1ZXMobCwoZnVuY3Rpb24odCl7cmV0dXJuIHQrYX0pKSl9fSkpfSkpfWZ1bmN0aW9uIHBYdCh0LGUpe3JldHVybiB0WHQubWFwVmFsdWVzKHQudWwsKGZ1bmN0aW9uKG4saSl7aWYoZSlyZXR1cm4gdFtlLnRvTG93ZXJDYXNlKCldW2ldO3ZhciByPXRYdC5zb3J0QnkodFh0Lm1hcCh0LGkpKTtyZXR1cm4oclsxXStyWzJdKS8yfSkpfXZhciBmWHQ9SFd0LG1YdD1vcXQsZ1h0PWlYdDt2YXIgX1h0PUhXdCx5WHQ9dHF0LHZYdD13cXQsYlh0PWlZdCx4WHQ9b3F0Lm5vcm1hbGl6ZVJhbmtzLHdYdD1mdW5jdGlvbiBTWHQodCl7dmFyIGU9KGZ1bmN0aW9uIG4odCl7dmFyIGU9e30sbj0wO2Z1bmN0aW9uIGkocil7dmFyIG89bjtzWXQuZm9yRWFjaCh0LmNoaWxkcmVuKHIpLGkpLGVbcl09e2xvdzpvLGxpbTpuKyt9fXJldHVybiBzWXQuZm9yRWFjaCh0LmNoaWxkcmVuKCksaSksZX0pKHQpO3NZdC5mb3JFYWNoKHQuZ3JhcGgoKS5kdW1teUNoYWlucywoZnVuY3Rpb24obil7Zm9yKHZhciBpPXQubm9kZShuKSxyPWkuZWRnZU9iaixvPShmdW5jdGlvbiBhKHQsZSxuLGkpe3ZhciByLG8sYT1bXSxzPVtdLGw9TWF0aC5taW4oZVtuXS5sb3csZVtpXS5sb3cpLGM9TWF0aC5tYXgoZVtuXS5saW0sZVtpXS5saW0pO3I9bjtkb3tyPXQucGFyZW50KHIpLGEucHVzaChyKX13aGlsZShyJiYoZVtyXS5sb3c+bHx8Yz5lW3JdLmxpbSkpO289cixyPWk7Zm9yKDsocj10LnBhcmVudChyKSkhPT1vOylzLnB1c2gocik7cmV0dXJue3BhdGg6YS5jb25jYXQocy5yZXZlcnNlKCkpLGxjYTpvfX0pKHQsZSxyLnYsci53KSxzPW8ucGF0aCxsPW8ubGNhLGM9MCx1PXNbY10saD0hMDtuIT09ci53Oyl7aWYoaT10Lm5vZGUobiksaCl7Zm9yKDsodT1zW2NdKSE9PWwmJnQubm9kZSh1KS5tYXhSYW5rPGkucmFuazspYysrO3U9PT1sJiYoaD0hMSl9aWYoIWgpe2Zvcig7YzxzLmxlbmd0aC0xJiZ0Lm5vZGUodT1zW2MrMV0pLm1pblJhbms8PWkucmFuazspYysrO3U9c1tjXX10LnNldFBhcmVudChuLHUpLG49dC5zdWNjZXNzb3JzKG4pWzBdfX0pKX0sTVh0PW9xdC5yZW1vdmVFbXB0eVJhbmtzLEVYdD17cnVuOmZ1bmN0aW9uIFRYdCh0KXt2YXIgZT1jWXQuYWRkRHVtbXlOb2RlKHQsInJvb3QiLHt9LCJfcm9vdCIpLG49KGZ1bmN0aW9uIGkodCl7dmFyIGU9e307ZnVuY3Rpb24gbihpLHIpe3ZhciBvPXQuY2hpbGRyZW4oaSk7byYmby5sZW5ndGgmJmxZdC5mb3JFYWNoKG8sKGZ1bmN0aW9uKHQpe24odCxyKzEpfSkpLGVbaV09cn1yZXR1cm4gbFl0LmZvckVhY2godC5jaGlsZHJlbigpLChmdW5jdGlvbih0KXtuKHQsMSl9KSksZX0pKHQpLHI9bFl0Lm1heChsWXQudmFsdWVzKG4pKS0xLG89MipyKzE7dC5ncmFwaCgpLm5lc3RpbmdSb290PWUsbFl0LmZvckVhY2godC5lZGdlcygpLChmdW5jdGlvbihlKXt0LmVkZ2UoZSkubWlubGVuKj1vfSkpO3ZhciBhPShmdW5jdGlvbiBzKHQpe3JldHVybiBsWXQucmVkdWNlKHQuZWRnZXMoKSwoZnVuY3Rpb24oZSxuKXtyZXR1cm4gZSt0LmVkZ2Uobikud2VpZ2h0fSksMCl9KSh0KSsxO2xZdC5mb3JFYWNoKHQuY2hpbGRyZW4oKSwoZnVuY3Rpb24oaSl7dVl0KHQsZSxvLGEscixuLGkpfSkpLHQuZ3JhcGgoKS5ub2RlUmFua0ZhY3Rvcj1vfSxjbGVhbnVwOmZ1bmN0aW9uIENYdCh0KXt2YXIgZT10LmdyYXBoKCk7dC5yZW1vdmVOb2RlKGUubmVzdGluZ1Jvb3QpLGRlbGV0ZSBlLm5lc3RpbmdSb290LGxZdC5mb3JFYWNoKHQuZWRnZXMoKSwoZnVuY3Rpb24oZSl7dC5lZGdlKGUpLm5lc3RpbmdFZGdlJiZ0LnJlbW92ZUVkZ2UoZSl9KSl9fSxBWHQ9cFl0LGtYdD17YWRqdXN0OmZ1bmN0aW9uIExYdCh0KXt2YXIgZT10LmdyYXBoKCkucmFua2Rpci50b0xvd2VyQ2FzZSgpOyJsciIhPT1lJiYicmwiIT09ZXx8X1l0KHQpfSx1bmRvOmZ1bmN0aW9uIFBYdCh0KXt2YXIgZT10LmdyYXBoKCkucmFua2Rpci50b0xvd2VyQ2FzZSgpOyJidCIhPT1lJiYicmwiIT09ZXx8KGZ1bmN0aW9uIG4odCl7Z1l0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbihlKXt2WXQodC5ub2RlKGUpKX0pKSxnWXQuZm9yRWFjaCh0LmVkZ2VzKCksKGZ1bmN0aW9uKGUpe3ZhciBuPXQuZWRnZShlKTtnWXQuZm9yRWFjaChuLnBvaW50cyx2WXQpLGdZdC5oYXMobiwieSIpJiZ2WXQobil9KSl9KSh0KTsibHIiIT09ZSYmInJsIiE9PWV8fCghKGZ1bmN0aW9uIGkodCl7Z1l0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbihlKXtiWXQodC5ub2RlKGUpKX0pKSxnWXQuZm9yRWFjaCh0LmVkZ2VzKCksKGZ1bmN0aW9uKGUpe3ZhciBuPXQuZWRnZShlKTtnWXQuZm9yRWFjaChuLnBvaW50cyxiWXQpLGdZdC5oYXMobiwieCIpJiZiWXQobil9KSl9KSh0KSxfWXQodCkpfX0sTlh0PWZ1bmN0aW9uIElYdCh0KXt2YXIgZT1LWXQubWF4UmFuayh0KSxuPVpZdCh0LEhZdC5yYW5nZSgxLGUrMSksImluRWRnZXMiKSxpPVpZdCh0LEhZdC5yYW5nZShlLTEsLTEsLTEpLCJvdXRFZGdlcyIpLHI9Rll0KHQpO1FZdCh0LHIpO2Zvcih2YXIgbyxhPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxzPTAsbD0wO2w8NDsrK3MsKytsKXtKWXQocyUyP246aSxzJTQ+PTIpLHI9S1l0LmJ1aWxkTGF5ZXJNYXRyaXgodCk7dmFyIGM9VVl0KHQscik7YzxhJiYobD0wLG89SFl0LmNsb25lRGVlcChyKSxhPWMpfVFZdCh0LG8pfSxSWHQ9ZnVuY3Rpb24gT1h0KHQpeyhmdW5jdGlvbiBlKHQpe3ZhciBlPW1YdC5idWlsZExheWVyTWF0cml4KHQpLG49dC5ncmFwaCgpLnJhbmtzZXAsaT0wO2ZYdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKGUpe3ZhciByPWZYdC5tYXgoZlh0Lm1hcChlLChmdW5jdGlvbihlKXtyZXR1cm4gdC5ub2RlKGUpLmhlaWdodH0pKSk7Zlh0LmZvckVhY2goZSwoZnVuY3Rpb24oZSl7dC5ub2RlKGUpLnk9aStyLzJ9KSksaSs9citufSkpfSkodD1tWHQuYXNOb25Db21wb3VuZEdyYXBoKHQpKSxmWHQuZm9yRWFjaChnWHQodCksKGZ1bmN0aW9uKGUsbil7dC5ub2RlKG4pLng9ZX0pKX0selh0PW9xdCxEWHQ9eVV0LkdyYXBoLEJYdD1mdW5jdGlvbiBIWHQodCxlKXt2YXIgbj1lJiZlLmRlYnVnVGltaW5nP3pYdC50aW1lOnpYdC5ub3RpbWU7bigibGF5b3V0IiwoZnVuY3Rpb24oKXt2YXIgZT1uKCIgIGJ1aWxkTGF5b3V0R3JhcGgiLChmdW5jdGlvbigpe3JldHVybihmdW5jdGlvbiBlKHQpe3ZhciBlPW5ldyBEWHQoe211bHRpZ3JhcGg6ITAsY29tcG91bmQ6ITB9KSxuPSRYdCh0LmdyYXBoKCkpO3JldHVybiBlLnNldEdyYXBoKF9YdC5tZXJnZSh7fSxWWHQsWFh0KG4sRlh0KSxfWHQucGljayhuLFVYdCkpKSxfWHQuZm9yRWFjaCh0Lm5vZGVzKCksKGZ1bmN0aW9uKG4pe3ZhciBpPSRYdCh0Lm5vZGUobikpO2Uuc2V0Tm9kZShuLF9YdC5kZWZhdWx0cyhYWHQoaSxqWHQpLEdYdCkpLGUuc2V0UGFyZW50KG4sdC5wYXJlbnQobikpfSkpLF9YdC5mb3JFYWNoKHQuZWRnZXMoKSwoZnVuY3Rpb24obil7dmFyIGk9JFh0KHQuZWRnZShuKSk7ZS5zZXRFZGdlKG4sX1h0Lm1lcmdlKHt9LHFYdCxYWHQoaSxXWHQpLF9YdC5waWNrKGksWVh0KSkpfSkpLGV9KSh0KX0pKTtuKCIgIHJ1bkxheW91dCIsKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiB0KGUsbil7bigiICAgIG1ha2VTcGFjZUZvckVkZ2VMYWJlbHMiLChmdW5jdGlvbigpeyEoZnVuY3Rpb24gdChlKXt2YXIgbj1lLmdyYXBoKCk7bi5yYW5rc2VwLz0yLF9YdC5mb3JFYWNoKGUuZWRnZXMoKSwoZnVuY3Rpb24odCl7dmFyIGk9ZS5lZGdlKHQpO2kubWlubGVuKj0yLCJjIiE9PWkubGFiZWxwb3MudG9Mb3dlckNhc2UoKSYmKCJUQiI9PT1uLnJhbmtkaXJ8fCJCVCI9PT1uLnJhbmtkaXI/aS53aWR0aCs9aS5sYWJlbG9mZnNldDppLmhlaWdodCs9aS5sYWJlbG9mZnNldCl9KSl9KShlKX0pKSxuKCIgICAgcmVtb3ZlU2VsZkVkZ2VzIiwoZnVuY3Rpb24oKXshKGZ1bmN0aW9uIHQoZSl7X1h0LmZvckVhY2goZS5lZGdlcygpLChmdW5jdGlvbih0KXtpZih0LnY9PT10Lncpe3ZhciBuPWUubm9kZSh0LnYpO24uc2VsZkVkZ2VzfHwobi5zZWxmRWRnZXM9W10pLG4uc2VsZkVkZ2VzLnB1c2goe2U6dCxsYWJlbDplLmVkZ2UodCl9KSxlLnJlbW92ZUVkZ2UodCl9fSkpfSkoZSl9KSksbigiICAgIGFjeWNsaWMiLChmdW5jdGlvbigpe3lYdC5ydW4oZSl9KSksbigiICAgIG5lc3RpbmdHcmFwaC5ydW4iLChmdW5jdGlvbigpe0VYdC5ydW4oZSl9KSksbigiICAgIHJhbmsiLChmdW5jdGlvbigpe2JYdCh6WHQuYXNOb25Db21wb3VuZEdyYXBoKGUpKX0pKSxuKCIgICAgaW5qZWN0RWRnZUxhYmVsUHJveGllcyIsKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiB0KGUpe19YdC5mb3JFYWNoKGUuZWRnZXMoKSwoZnVuY3Rpb24odCl7dmFyIG49ZS5lZGdlKHQpO2lmKG4ud2lkdGgmJm4uaGVpZ2h0KXt2YXIgaT1lLm5vZGUodC52KSxyPWUubm9kZSh0LncpO3pYdC5hZGREdW1teU5vZGUoZSwiZWRnZS1wcm94eSIse3Jhbms6KHIucmFuay1pLnJhbmspLzIraS5yYW5rLGU6dH0sIl9lcCIpfX0pKX0pKGUpfSkpLG4oIiAgICByZW1vdmVFbXB0eVJhbmtzIiwoZnVuY3Rpb24oKXtNWHQoZSl9KSksbigiICAgIG5lc3RpbmdHcmFwaC5jbGVhbnVwIiwoZnVuY3Rpb24oKXtFWHQuY2xlYW51cChlKX0pKSxuKCIgICAgbm9ybWFsaXplUmFua3MiLChmdW5jdGlvbigpe3hYdChlKX0pKSxuKCIgICAgYXNzaWduUmFua01pbk1heCIsKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiB0KGUpe3ZhciBuPTA7X1h0LmZvckVhY2goZS5ub2RlcygpLChmdW5jdGlvbih0KXt2YXIgaT1lLm5vZGUodCk7aS5ib3JkZXJUb3AmJihpLm1pblJhbms9ZS5ub2RlKGkuYm9yZGVyVG9wKS5yYW5rLGkubWF4UmFuaz1lLm5vZGUoaS5ib3JkZXJCb3R0b20pLnJhbmssbj1fWHQubWF4KG4saS5tYXhSYW5rKSl9KSksZS5ncmFwaCgpLm1heFJhbms9bn0pKGUpfSkpLG4oIiAgICByZW1vdmVFZGdlTGFiZWxQcm94aWVzIiwoZnVuY3Rpb24oKXshKGZ1bmN0aW9uIHQoZSl7X1h0LmZvckVhY2goZS5ub2RlcygpLChmdW5jdGlvbih0KXt2YXIgbj1lLm5vZGUodCk7ImVkZ2UtcHJveHkiPT09bi5kdW1teSYmKGUuZWRnZShuLmUpLmxhYmVsUmFuaz1uLnJhbmssZS5yZW1vdmVOb2RlKHQpKX0pKX0pKGUpfSkpLG4oIiAgICBub3JtYWxpemUucnVuIiwoZnVuY3Rpb24oKXt2WHQucnVuKGUpfSkpLG4oIiAgICBwYXJlbnREdW1teUNoYWlucyIsKGZ1bmN0aW9uKCl7d1h0KGUpfSkpLG4oIiAgICBhZGRCb3JkZXJTZWdtZW50cyIsKGZ1bmN0aW9uKCl7QVh0KGUpfSkpLG4oIiAgICBvcmRlciIsKGZ1bmN0aW9uKCl7Tlh0KGUpfSkpLG4oIiAgICBpbnNlcnRTZWxmRWRnZXMiLChmdW5jdGlvbigpeyEoZnVuY3Rpb24gdChlKXt2YXIgbj16WHQuYnVpbGRMYXllck1hdHJpeChlKTtfWHQuZm9yRWFjaChuLChmdW5jdGlvbih0KXt2YXIgbj0wO19YdC5mb3JFYWNoKHQsKGZ1bmN0aW9uKHQsaSl7dmFyIHI9ZS5ub2RlKHQpO3Iub3JkZXI9aStuLF9YdC5mb3JFYWNoKHIuc2VsZkVkZ2VzLChmdW5jdGlvbih0KXt6WHQuYWRkRHVtbXlOb2RlKGUsInNlbGZlZGdlIix7d2lkdGg6dC5sYWJlbC53aWR0aCxoZWlnaHQ6dC5sYWJlbC5oZWlnaHQscmFuazpyLnJhbmssb3JkZXI6aSsgKytuLGU6dC5lLGxhYmVsOnQubGFiZWx9LCJfc2UiKX0pKSxkZWxldGUgci5zZWxmRWRnZXN9KSl9KSl9KShlKX0pKSxuKCIgICAgYWRqdXN0Q29vcmRpbmF0ZVN5c3RlbSIsKGZ1bmN0aW9uKCl7a1h0LmFkanVzdChlKX0pKSxuKCIgICAgcG9zaXRpb24iLChmdW5jdGlvbigpe1JYdChlKX0pKSxuKCIgICAgcG9zaXRpb25TZWxmRWRnZXMiLChmdW5jdGlvbigpeyEoZnVuY3Rpb24gdChlKXtfWHQuZm9yRWFjaChlLm5vZGVzKCksKGZ1bmN0aW9uKHQpe3ZhciBuPWUubm9kZSh0KTtpZigic2VsZmVkZ2UiPT09bi5kdW1teSl7dmFyIGk9ZS5ub2RlKG4uZS52KSxyPWkueCtpLndpZHRoLzIsbz1pLnksYT1uLngtcixzPWkuaGVpZ2h0LzI7ZS5zZXRFZGdlKG4uZSxuLmxhYmVsKSxlLnJlbW92ZU5vZGUodCksbi5sYWJlbC5wb2ludHM9W3t4OnIrMiphLzMseTpvLXN9LHt4OnIrNSphLzYseTpvLXN9LHt4OnIrYSx5Om99LHt4OnIrNSphLzYseTpvK3N9LHt4OnIrMiphLzMseTpvK3N9XSxuLmxhYmVsLng9bi54LG4ubGFiZWwueT1uLnl9fSkpfSkoZSl9KSksbigiICAgIHJlbW92ZUJvcmRlck5vZGVzIiwoZnVuY3Rpb24oKXshKGZ1bmN0aW9uIHQoZSl7X1h0LmZvckVhY2goZS5ub2RlcygpLChmdW5jdGlvbih0KXtpZihlLmNoaWxkcmVuKHQpLmxlbmd0aCl7dmFyIG49ZS5ub2RlKHQpLGk9ZS5ub2RlKG4uYm9yZGVyVG9wKSxyPWUubm9kZShuLmJvcmRlckJvdHRvbSksbz1lLm5vZGUoX1h0Lmxhc3Qobi5ib3JkZXJMZWZ0KSksYT1lLm5vZGUoX1h0Lmxhc3Qobi5ib3JkZXJSaWdodCkpO24ud2lkdGg9TWF0aC5hYnMoYS54LW8ueCksbi5oZWlnaHQ9TWF0aC5hYnMoci55LWkueSksbi54PW8ueCtuLndpZHRoLzIsbi55PWkueStuLmhlaWdodC8yfX0pKSxfWHQuZm9yRWFjaChlLm5vZGVzKCksKGZ1bmN0aW9uKHQpeyJib3JkZXIiPT09ZS5ub2RlKHQpLmR1bW15JiZlLnJlbW92ZU5vZGUodCl9KSl9KShlKX0pKSxuKCIgICAgbm9ybWFsaXplLnVuZG8iLChmdW5jdGlvbigpe3ZYdC51bmRvKGUpfSkpLG4oIiAgICBmaXh1cEVkZ2VMYWJlbENvb3JkcyIsKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiB0KGUpe19YdC5mb3JFYWNoKGUuZWRnZXMoKSwoZnVuY3Rpb24odCl7dmFyIG49ZS5lZGdlKHQpO2lmKF9YdC5oYXMobiwieCIpKXN3aXRjaCgibCIhPT1uLmxhYmVscG9zJiYiciIhPT1uLmxhYmVscG9zfHwobi53aWR0aC09bi5sYWJlbG9mZnNldCksbi5sYWJlbHBvcyl7Y2FzZSJsIjpuLngtPW4ud2lkdGgvMituLmxhYmVsb2Zmc2V0O2JyZWFrO2Nhc2UiciI6bi54Kz1uLndpZHRoLzIrbi5sYWJlbG9mZnNldH19KSl9KShlKX0pKSxuKCIgICAgdW5kb0Nvb3JkaW5hdGVTeXN0ZW0iLChmdW5jdGlvbigpe2tYdC51bmRvKGUpfSkpLG4oIiAgICB0cmFuc2xhdGVHcmFwaCIsKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiB0KGUpe3ZhciBuPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxpPTAscj1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksbz0wLGE9ZS5ncmFwaCgpLHM9YS5tYXJnaW54fHwwLGw9YS5tYXJnaW55fHwwO2Z1bmN0aW9uIGModCl7dmFyIGU9dC54LGE9dC55LHM9dC53aWR0aCxsPXQuaGVpZ2h0O249TWF0aC5taW4obixlLXMvMiksaT1NYXRoLm1heChpLGUrcy8yKSxyPU1hdGgubWluKHIsYS1sLzIpLG89TWF0aC5tYXgobyxhK2wvMil9X1h0LmZvckVhY2goZS5ub2RlcygpLChmdW5jdGlvbih0KXtjKGUubm9kZSh0KSl9KSksX1h0LmZvckVhY2goZS5lZGdlcygpLChmdW5jdGlvbih0KXt2YXIgbj1lLmVkZ2UodCk7X1h0LmhhcyhuLCJ4IikmJmMobil9KSksbi09cyxyLT1sLF9YdC5mb3JFYWNoKGUubm9kZXMoKSwoZnVuY3Rpb24odCl7dmFyIGk9ZS5ub2RlKHQpO2kueC09bixpLnktPXJ9KSksX1h0LmZvckVhY2goZS5lZGdlcygpLChmdW5jdGlvbih0KXt2YXIgaT1lLmVkZ2UodCk7X1h0LmZvckVhY2goaS5wb2ludHMsKGZ1bmN0aW9uKHQpe3QueC09bix0LnktPXJ9KSksX1h0LmhhcyhpLCJ4IikmJihpLngtPW4pLF9YdC5oYXMoaSwieSIpJiYoaS55LT1yKX0pKSxhLndpZHRoPWktbitzLGEuaGVpZ2h0PW8tcitsfSkoZSl9KSksbigiICAgIGFzc2lnbk5vZGVJbnRlcnNlY3RzIiwoZnVuY3Rpb24oKXshKGZ1bmN0aW9uIHQoZSl7X1h0LmZvckVhY2goZS5lZGdlcygpLChmdW5jdGlvbih0KXt2YXIgbixpLHI9ZS5lZGdlKHQpLG89ZS5ub2RlKHQudiksYT1lLm5vZGUodC53KTtyLnBvaW50cz8obj1yLnBvaW50c1swXSxpPXIucG9pbnRzW3IucG9pbnRzLmxlbmd0aC0xXSk6KHIucG9pbnRzPVtdLG49YSxpPW8pLHIucG9pbnRzLnVuc2hpZnQoelh0LmludGVyc2VjdFJlY3QobyxuKSksci5wb2ludHMucHVzaCh6WHQuaW50ZXJzZWN0UmVjdChhLGkpKX0pKX0pKGUpfSkpLG4oIiAgICByZXZlcnNlUG9pbnRzIiwoZnVuY3Rpb24oKXshKGZ1bmN0aW9uIHQoZSl7X1h0LmZvckVhY2goZS5lZGdlcygpLChmdW5jdGlvbih0KXt2YXIgbj1lLmVkZ2UodCk7bi5yZXZlcnNlZCYmbi5wb2ludHMucmV2ZXJzZSgpfSkpfSkoZSl9KSksbigiICAgIGFjeWNsaWMudW5kbyIsKGZ1bmN0aW9uKCl7eVh0LnVuZG8oZSl9KSl9KShlLG4pfSkpLG4oIiAgdXBkYXRlSW5wdXRHcmFwaCIsKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiBuKHQsZSl7X1h0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbihuKXt2YXIgaT10Lm5vZGUobikscj1lLm5vZGUobik7aSYmKGkueD1yLngsaS55PXIueSxlLmNoaWxkcmVuKG4pLmxlbmd0aCYmKGkud2lkdGg9ci53aWR0aCxpLmhlaWdodD1yLmhlaWdodCkpfSkpLF9YdC5mb3JFYWNoKHQuZWRnZXMoKSwoZnVuY3Rpb24obil7dmFyIGk9dC5lZGdlKG4pLHI9ZS5lZGdlKG4pO2kucG9pbnRzPXIucG9pbnRzLF9YdC5oYXMociwieCIpJiYoaS54PXIueCxpLnk9ci55KX0pKSx0LmdyYXBoKCkud2lkdGg9ZS5ncmFwaCgpLndpZHRoLHQuZ3JhcGgoKS5oZWlnaHQ9ZS5ncmFwaCgpLmhlaWdodH0pKHQsZSl9KSl9KSl9O3ZhciBGWHQ9WyJub2Rlc2VwIiwiZWRnZXNlcCIsInJhbmtzZXAiLCJtYXJnaW54IiwibWFyZ2lueSJdLFZYdD17cmFua3NlcDo1MCxlZGdlc2VwOjIwLG5vZGVzZXA6NTAscmFua2RpcjoidGIifSxVWHQ9WyJhY3ljbGljZXIiLCJyYW5rZXIiLCJyYW5rZGlyIiwiYWxpZ24iXSxqWHQ9WyJ3aWR0aCIsImhlaWdodCJdLEdYdD17d2lkdGg6MCxoZWlnaHQ6MH0sV1h0PVsibWlubGVuIiwid2VpZ2h0Iiwid2lkdGgiLCJoZWlnaHQiLCJsYWJlbG9mZnNldCJdLHFYdD17bWlubGVuOjEsd2VpZ2h0OjEsd2lkdGg6MCxoZWlnaHQ6MCxsYWJlbG9mZnNldDoxMCxsYWJlbHBvczoiciJ9LFlYdD1bImxhYmVscG9zIl07ZnVuY3Rpb24gWFh0KHQsZSl7cmV0dXJuIF9YdC5tYXBWYWx1ZXMoX1h0LnBpY2sodCxlKSxOdW1iZXIpfWZ1bmN0aW9uICRYdCh0KXt2YXIgZT17fTtyZXR1cm4gX1h0LmZvckVhY2godCwoZnVuY3Rpb24odCxuKXtlW24udG9Mb3dlckNhc2UoKV09dH0pKSxlfXZhciBLWHQ9SFd0LFpYdD1vcXQsSlh0PXlVdC5HcmFwaDt2YXIgUVh0LHQkdD17Z3JhcGhsaWI6eVV0LGxheW91dDpCWHQsZGVidWc6e2RlYnVnT3JkZXJpbmc6ZnVuY3Rpb24gZSR0KHQpe3ZhciBlPVpYdC5idWlsZExheWVyTWF0cml4KHQpLG49bmV3IEpYdCh7Y29tcG91bmQ6ITAsbXVsdGlncmFwaDohMH0pLnNldEdyYXBoKHt9KTtyZXR1cm4gS1h0LmZvckVhY2godC5ub2RlcygpLChmdW5jdGlvbihlKXtuLnNldE5vZGUoZSx7bGFiZWw6ZX0pLG4uc2V0UGFyZW50KGUsImxheWVyIit0Lm5vZGUoZSkucmFuayl9KSksS1h0LmZvckVhY2godC5lZGdlcygpLChmdW5jdGlvbih0KXtuLnNldEVkZ2UodC52LHQudyx7fSx0Lm5hbWUpfSkpLEtYdC5mb3JFYWNoKGUsKGZ1bmN0aW9uKHQsZSl7bi5zZXROb2RlKCJsYXllciIrZSx7cmFuazoic2FtZSJ9KSxLWHQucmVkdWNlKHQsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4uc2V0RWRnZSh0LGUse3N0eWxlOiJpbnZpcyJ9KSxlfSkpfSkpLG59fSx1dGlsOnt0aW1lOm9xdC50aW1lLG5vdGltZTpvcXQubm90aW1lfSx2ZXJzaW9uOiIwLjguNSJ9OyEoZnVuY3Rpb24odCl7dC5PUF9HUkFQSD0ib3BfZ3JhcGgiLHQuQ09OQ0VQVFVBTF9HUkFQSD0iY29uY2VwdHVhbF9ncmFwaCIsdC5QUk9GSUxFPSJwcm9maWxlIn0pKFFYdHx8KFFYdD17fSkpO2xldCBuJHQ9e05vZGU6e0NPTlRBSU5FUjoibm9kZXMiLEdST1VQOiJub2RlIixTSEFQRToibm9kZXNoYXBlIixDT0xPUl9UQVJHRVQ6Im5vZGVjb2xvcnRhcmdldCIsTEFCRUw6Im5vZGVsYWJlbCIsQlVUVE9OX0NPTlRBSU5FUjoiYnV0dG9uY29udGFpbmVyIixCVVRUT05fQ0lSQ0xFOiJidXR0b25jaXJjbGUiLEVYUEFORF9CVVRUT046ImV4cGFuZGJ1dHRvbiIsQ09MTEFQU0VfQlVUVE9OOiJjb2xsYXBzZWJ1dHRvbiJ9LEVkZ2U6e0NPTlRBSU5FUjoiZWRnZXMiLEdST1VQOiJlZGdlIixMSU5FOiJlZGdlbGluZSIsUkVGRVJFTkNFX0VER0U6InJlZmVyZW5jZWVkZ2UiLFJFRl9MSU5FOiJyZWZsaW5lIixTRUxFQ1RBQkxFOiJzZWxlY3RhYmxlZWRnZSIsU0VMRUNURUQ6InNlbGVjdGVkZWRnZSIsU1RSVUNUVVJBTDoic3RydWN0dXJhbCJ9LEFubm90YXRpb246e09VVEJPWDoib3V0LWFubm90YXRpb25zIixJTkJPWDoiaW4tYW5ub3RhdGlvbnMiLEdST1VQOiJhbm5vdGF0aW9uIixOT0RFOiJhbm5vdGF0aW9uLW5vZGUiLEVER0U6ImFubm90YXRpb24tZWRnZSIsQ09OVFJPTF9FREdFOiJhbm5vdGF0aW9uLWNvbnRyb2wtZWRnZSIsTEFCRUw6ImFubm90YXRpb24tbGFiZWwiLEVMTElQU0lTOiJhbm5vdGF0aW9uLWVsbGlwc2lzIn0sU2NlbmU6e0dST1VQOiJzY2VuZSIsQ09SRToiY29yZSIsRlVOQ1RJT05fTElCUkFSWToiZnVuY3Rpb24tbGlicmFyeSIsSU5FWFRSQUNUOiJpbi1leHRyYWN0IixPVVRFWFRSQUNUOiJvdXQtZXh0cmFjdCJ9LFN1YnNjZW5lOntHUk9VUDoic3Vic2NlbmUifSxPUE5PREU6Im9wIixNRVRBTk9ERToibWV0YSIsU0VSSUVTTk9ERToic2VyaWVzIixCUklER0VOT0RFOiJicmlkZ2UiLEVMTElQU0lTTk9ERToiZWxsaXBzaXMifTtjb25zdCBpJHQ9e0xBQkVMOjV9LHIkdD17RVhQQU5ERURfTEFCRUw6OSxTRVJJRVNfTEFCRUw6OCxPUF9MQUJFTDo2LEhFQUxUSF9QSUxMX1NUQVRfTEFCRUw6NH0sbyR0PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7ZnVuY3Rpb24gYSR0KHQsZSxuKXtsZXQgaT10Lm5vZGUoKS5jaGlsZE5vZGVzO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtsZXQgcj1pW3RdO2lmKHIudGFnTmFtZT09PWUpaWYobiBpbnN0YW5jZW9mIEFycmF5KXtsZXQgdD0hMDtmb3IobGV0IGU9MDtlPG4ubGVuZ3RoO2UrKyl0PXQmJnIuY2xhc3NMaXN0LmNvbnRhaW5zKG5bZV0pO2lmKHQpcmV0dXJuIER1KHIpfWVsc2UgaWYoIW58fHIuY2xhc3NMaXN0LmNvbnRhaW5zKG4pKXJldHVybiBEdShyKX1yZXR1cm4gRHUobnVsbCl9ZnVuY3Rpb24gcyR0KHQsZSxuLGkpe2xldCByPWEkdCh0LGUsbik7aWYoIXIuZW1wdHkoKSlyZXR1cm4gcjtsZXQgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixlKTtpZihuIGluc3RhbmNlb2YgQXJyYXkpZm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspby5jbGFzc0xpc3QuYWRkKG5bdF0pO2Vsc2Ugby5jbGFzc0xpc3QuYWRkKG4pO3JldHVybiBpP3Qubm9kZSgpLmluc2VydEJlZm9yZShvLGkpOnQubm9kZSgpLmFwcGVuZENoaWxkKG8pLER1KG8pLmRhdHVtKHQuZGF0dW0oKSl9Y2xhc3MgbCR0e2NvbnN0cnVjdG9yKHQpe3RoaXMudG90YWxCeXRlcz0wLHRoaXMub3V0cHV0U2l6ZT10fWFkZEV4ZWN1dGlvblRpbWUodCxlKXt0aGlzLnN0YXJ0VGltZT1udWxsIT10aGlzLnN0YXJ0VGltZT9NYXRoLm1pbih0aGlzLnN0YXJ0VGltZSx0KTp0LHRoaXMuZW5kVGltZT1udWxsIT10aGlzLmVuZFRpbWU/TWF0aC5tYXgodGhpcy5lbmRUaW1lLGUpOmV9YWRkQnl0ZXNBbGxvY2F0aW9uKHQpe3RoaXMudG90YWxCeXRlcz1udWxsIT10aGlzLnRvdGFsQnl0ZXM/TWF0aC5tYXgodGhpcy50b3RhbEJ5dGVzLHQpOnR9Y29tYmluZSh0KXtudWxsIT10LnRvdGFsQnl0ZXMmJih0aGlzLnRvdGFsQnl0ZXMrPXQudG90YWxCeXRlcyksbnVsbCE9dC5nZXRUb3RhbE1pY3JvcygpJiZ0aGlzLmFkZEV4ZWN1dGlvblRpbWUodC5zdGFydFRpbWUsdC5lbmRUaW1lKX1nZXRUb3RhbE1pY3Jvcygpe3JldHVybiBudWxsPT10aGlzLnN0YXJ0VGltZXx8bnVsbD09dGhpcy5lbmRUaW1lP251bGw6dGhpcy5lbmRUaW1lLXRoaXMuc3RhcnRUaW1lfX1jb25zdCBjJHQ9Ljc1LHUkdD1URSgpLmV4cG9uZW50KC4zKS5kb21haW4oWzEsNWU2XSkucmFuZ2UoW2MkdCwxMl0pLmNsYW1wKCEwKTtmdW5jdGlvbiBoJHQodCl7IShmdW5jdGlvbiBlKHQpe3JldHVybiB0Lmhhc093blByb3BlcnR5KCJ0aW1pbmdJZCIpfSkodCl9ZnVuY3Rpb24gZCR0KHQsZSxuKXtsZXQgaT1EYXRlLm5vdygpLHI9ZSgpO2NvbnN0IG89RGF0ZS5ub3coKS1pO3JldHVybiBjb25zb2xlLmxvZyh0LCI6IixvLCJtcyIpLG4mJmgkdCh7dGltaW5nSWQ6bixldmVudFZhbHVlOm99KSxyfWZ1bmN0aW9uIHAkdCh0KXtyZXR1cm57c2V0TWVzc2FnZTpmdW5jdGlvbihlKXt0LnNldCgicHJvZ3Jlc3MiLHt2YWx1ZTp0LnByb2dyZXNzLnZhbHVlLG1zZzplfSl9LHVwZGF0ZVByb2dyZXNzOmZ1bmN0aW9uKGUpe3Quc2V0KCJwcm9ncmVzcyIse3ZhbHVlOnQucHJvZ3Jlc3MudmFsdWUrZSxtc2c6dC5wcm9ncmVzcy5tc2d9KX0scmVwb3J0RXJyb3I6ZnVuY3Rpb24oZSxuKXtjb25zb2xlLmVycm9yKG4uc3RhY2spLHQuc2V0KCJwcm9ncmVzcyIse3ZhbHVlOnQucHJvZ3Jlc3MudmFsdWUsbXNnOmUsZXJyb3I6ITB9KX19fWZ1bmN0aW9uIGYkdCh0LGUsbil7cmV0dXJue3NldE1lc3NhZ2U6ZnVuY3Rpb24oZSl7dC5zZXRNZXNzYWdlKG4rIjogIitlKX0sdXBkYXRlUHJvZ3Jlc3M6ZnVuY3Rpb24obil7dC51cGRhdGVQcm9ncmVzcyhuKmUvMTAwKX0scmVwb3J0RXJyb3I6ZnVuY3Rpb24oZSxpKXt0LnJlcG9ydEVycm9yKG4rIjogIitlLGkpfX19ZnVuY3Rpb24gbSR0KHQsZSxuLGkscil7cmV0dXJuIG5ldyBQcm9taXNlKCgobyxhKT0+e2kuc2V0TWVzc2FnZSh0KSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe3RyeXtsZXQgYT1kJHQodCxuLHIpO2kudXBkYXRlUHJvZ3Jlc3MoZSksbyhhKX1jYXRjaChlKXtpLnJlcG9ydEVycm9yKCJGYWlsZWQgIit0LGUpfX0pLDIwKX0pKX1mdW5jdGlvbiBnJHQodCxlLG4saSxyKXtyZXR1cm4gbmV3IFByb21pc2UoKChvLGEpPT57bGV0IHM9ZnVuY3Rpb24oZSl7aS5yZXBvcnRFcnJvcigiRmFpbGVkICIrdCxlKSxhKGUpfTtpLnNldE1lc3NhZ2UodCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0cnl7bGV0IGE9RGF0ZS5ub3coKTtuKCkudGhlbigoZnVuY3Rpb24obil7Y29uc3Qgcz1EYXRlLm5vdygpLWE7Y29uc29sZS5sb2codCwiOiIscywibXMiKSxpLnVwZGF0ZVByb2dyZXNzKGUpLGgkdCh7dGltaW5nSWQ6cixldmVudFZhbHVlOnN9KSxvKG4pfSkpLmNhdGNoKHMpfWNhdGNoKHQpe3ModCl9fSksMjApfSkpfWNvbnN0IF8kdD1be3N5bWJvbDoiQiJ9LHtzeW1ib2w6IktCIixudW1Vbml0czoxMDI0fSx7c3ltYm9sOiJNQiIsbnVtVW5pdHM6MTAyNH0se3N5bWJvbDoiR0IiLG51bVVuaXRzOjEwMjR9LHtzeW1ib2w6IlRCIixudW1Vbml0czoxMDI0fSx7c3ltYm9sOiJQQiIsbnVtVW5pdHM6MTAyNH1dLHkkdD1be3N5bWJvbDoiwrVzIn0se3N5bWJvbDoibXMiLG51bVVuaXRzOjFlM30se3N5bWJvbDoicyIsbnVtVW5pdHM6MWUzfSx7c3ltYm9sOiJtaW4iLG51bVVuaXRzOjYwfSx7c3ltYm9sOiJociIsbnVtVW5pdHM6NjB9LHtzeW1ib2w6ImRheXMiLG51bVVuaXRzOjI0fV07ZnVuY3Rpb24gdiR0KHQsZSxuPTApe3JldHVybiBuKzE8ZS5sZW5ndGgmJnQ+PWVbbisxXS5udW1Vbml0cz92JHQodC9lW24rMV0ubnVtVW5pdHMsZSxuKzEpOk51bWJlcih0LnRvUHJlY2lzaW9uKDMpKSsiICIrZVtuXS5zeW1ib2x9ZnVuY3Rpb24gYiR0KHQpe3JldHVybiEoIXR8fCEodC50b3RhbEJ5dGVzPjB8fHQuZ2V0VG90YWxNaWNyb3MoKT4wfHx0Lm91dHB1dFNpemUpKX1mdW5jdGlvbiB4JHQodCl7aWYodC5sZW5ndGg8MilyZXR1cm4gdDtsZXQgZT0wLG49MCxpPUNlLmV4cG9ydHMubWluKENlLmV4cG9ydHMubWFwKHQsKHQ9PnQubGVuZ3RoKSkpO2Zvcig7Oyl7ZSsrO2xldCByPUNlLmV4cG9ydHMubWFwKHQsKHQ9PnQuc3Vic3RyaW5nKDAsZSkpKTtpZighci5ldmVyeSgoKHQsZSk9PjA9PT1lfHx0PT09cltlLTFdKSkpYnJlYWs7aWYoZT49aSlyZXR1cm4gdDtuPWV9cmV0dXJuIENlLmV4cG9ydHMubWFwKHQsKHQ9PnQuc3Vic3RyaW5nKG4pKSl9Y29uc3QgdyR0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIik7ZnVuY3Rpb24gUyR0KHQsZSl7cmV0dXJuIHckdC5mb250PWAke2V9cHggUm9ib3RvLCBzYW5zLXNlcmlmYCx3JHQubWVhc3VyZVRleHQodCkud2lkdGh9Y29uc3QgTSR0PSIvIixFJHQ9Il9fcm9vdF9fIixUJHQ9Il9fZnVuY3Rpb25fbGlicmFyeV9fIjt2YXIgQyR0LEEkdCxrJHQsTCR0OyEoZnVuY3Rpb24odCl7dFt0LkZVTEw9MF09IkZVTEwiLHRbdC5FTUJFRERFRD0xXT0iRU1CRURERUQiLHRbdC5NRVRBPTJdPSJNRVRBIix0W3QuU0VSSUVTPTNdPSJTRVJJRVMiLHRbdC5DT1JFPTRdPSJDT1JFIix0W3QuU0hBRE9XPTVdPSJTSEFET1ciLHRbdC5CUklER0U9Nl09IkJSSURHRSIsdFt0LkVER0U9N109IkVER0UifSkoQyR0fHwoQyR0PXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5NRVRBPTBdPSJNRVRBIix0W3QuT1A9MV09Ik9QIix0W3QuU0VSSUVTPTJdPSJTRVJJRVMiLHRbdC5CUklER0U9M109IkJSSURHRSIsdFt0LkVMTElQU0lTPTRdPSJFTExJUFNJUyJ9KShBJHR8fChBJHQ9e30pKSwoZnVuY3Rpb24odCl7dFt0LklOQ0xVREU9MF09IklOQ0xVREUiLHRbdC5FWENMVURFPTFdPSJFWENMVURFIix0W3QuVU5TUEVDSUZJRUQ9Ml09IlVOU1BFQ0lGSUVEIn0pKGskdHx8KGskdD17fSkpLChmdW5jdGlvbih0KXt0W3QuR1JPVVA9MF09IkdST1VQIix0W3QuVU5HUk9VUD0xXT0iVU5HUk9VUCJ9KShMJHR8fChMJHQ9e30pKTtjb25zdCBQJHQ9Il9vdXRwdXRfc2hhcGVzIixOJHQ9Il9YbGFDbHVzdGVyIjtjbGFzcyBJJHR7Y29uc3RydWN0b3IoKXt0aGlzLm5vZGVzPXt9LHRoaXMuZWRnZXM9W119fWNsYXNzIFIkdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnR5cGU9QSR0LkVMTElQU0lTLHRoaXMuaXNHcm91cE5vZGU9ITEsdGhpcy5jYXJkaW5hbGl0eT0xLHRoaXMucGFyZW50Tm9kZT1udWxsLHRoaXMuc3RhdHM9bnVsbCx0aGlzLnNldE51bU1vcmVOb2Rlcyh0KSx0aGlzLmluY2x1ZGU9ayR0LlVOU1BFQ0lGSUVEfXNldE51bU1vcmVOb2Rlcyh0KXt0aGlzLm51bU1vcmVOb2Rlcz10LHRoaXMubmFtZT0iLi4uICIrdCsiIG1vcmUifX1jbGFzcyBPJHR7Y29uc3RydWN0b3IodCl7dGhpcy5vcD10Lm9wLHRoaXMubmFtZT10Lm5hbWUsdGhpcy5kZXZpY2U9dC5kZXZpY2UsdGhpcy5hdHRyPXQuYXR0cix0aGlzLmlucHV0cz0oZnVuY3Rpb24gZSh0KXtjb25zdCBlPVtdO2xldCBuPW51bGw7Zm9yKGxldCBpIG9mIHR8fFtdKXtjb25zdCB0PWkuc3RhcnRzV2l0aCgiXiIpO3QmJihpPWkuc3Vic3RyaW5nKDEpKTtsZXQgcj1pLG89IjAiO2NvbnN0IGE9aS5pbmNsdWRlcygiOiIpJiZpLm1hdGNoKGokdCk7YSYmKHI9YVsxXSxvPWFbMl0pLG4hPT1yJiYobj1yLGUucHVzaCh7bmFtZTpyLG91dHB1dFRlbnNvcktleTpvLGlzQ29udHJvbERlcGVuZGVuY3k6dH0pKX1yZXR1cm4gZX0pKHQuaW5wdXQpLHRoaXMub3V0cHV0U2hhcGVzPShmdW5jdGlvbiBuKHQpe2lmKCF0KXJldHVybiBudWxsO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtsZXR7a2V5Om4sdmFsdWU6aX09dFtlXTtpZihuPT09UCR0KXtpZighaS5saXN0fHwhaS5saXN0LnNoYXBlKXJldHVybiBudWxsO2xldCBuPWkubGlzdC5zaGFwZS5tYXAoKHQ9PnQudW5rbm93bl9yYW5rP251bGw6bnVsbD09dC5kaW18fDE9PT10LmRpbS5sZW5ndGgmJm51bGw9PXQuZGltWzBdLnNpemU/W106dC5kaW0ubWFwKCh0PT50LnNpemUpKSkpO3JldHVybiB0LnNwbGljZShlLDEpLG59fXJldHVybiBudWxsfSkodC5hdHRyKSx0aGlzLnhsYUNsdXN0ZXI9KGZ1bmN0aW9uIGkodCl7aWYoIXQpcmV0dXJuIG51bGw7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspaWYodFtlXS5rZXk9PT1OJHQpcmV0dXJuIHRbZV0udmFsdWUuc3x8bnVsbDtyZXR1cm4gbnVsbH0pKHQuYXR0ciksdGhpcy5jb21wYXRpYmxlPSExLHRoaXMudHlwZT1BJHQuT1AsdGhpcy5pc0dyb3VwTm9kZT0hMSx0aGlzLmNhcmRpbmFsaXR5PTEsdGhpcy5pbkVtYmVkZGluZ3M9W10sdGhpcy5vdXRFbWJlZGRpbmdzPVtdLHRoaXMucGFyZW50Tm9kZT1udWxsLHRoaXMuaW5jbHVkZT1rJHQuVU5TUEVDSUZJRUQsdGhpcy5vd25pbmdTZXJpZXM9bnVsbH19ZnVuY3Rpb24geiR0KHQsZT17fSl7cmV0dXJuIG5ldyBEJHQodCxlKX1jbGFzcyBEJHR7Y29uc3RydWN0b3IodCxlPXt9KXt0aGlzLm5hbWU9dCx0aGlzLnR5cGU9QSR0Lk1FVEEsdGhpcy5kZXB0aD0xLHRoaXMuaXNHcm91cE5vZGU9ITAsdGhpcy5jYXJkaW5hbGl0eT0wLHRoaXMubWV0YWdyYXBoPVkkdCh0LEMkdC5NRVRBLGUpLHRoaXMuYnJpZGdlZ3JhcGg9bnVsbCx0aGlzLm9wSGlzdG9ncmFtPXt9LHRoaXMuZGV2aWNlSGlzdG9ncmFtPXt9LHRoaXMueGxhQ2x1c3Rlckhpc3RvZ3JhbT17fSx0aGlzLmNvbXBhdGliaWxpdHlIaXN0b2dyYW09e2NvbXBhdGlibGU6MCxpbmNvbXBhdGlibGU6MH0sdGhpcy50ZW1wbGF0ZUlkPW51bGwsdGhpcy5wYXJlbnROb2RlPW51bGwsdGhpcy5oYXNOb25Db250cm9sRWRnZXM9ITEsdGhpcy5pbmNsdWRlPWskdC5VTlNQRUNJRklFRCx0aGlzLmFzc29jaWF0ZWRGdW5jdGlvbj0iIn1nZXRGaXJzdENoaWxkKCl7cmV0dXJuIHRoaXMubWV0YWdyYXBoLm5vZGUodGhpcy5tZXRhZ3JhcGgubm9kZXMoKVswXSl9Z2V0Um9vdE9wKCl7bGV0IHQ9dGhpcy5uYW1lLnNwbGl0KCIvIik7cmV0dXJuIHRoaXMubWV0YWdyYXBoLm5vZGUodGhpcy5uYW1lKyIvKCIrdFt0Lmxlbmd0aC0xXSsiKSIpfWxlYXZlcygpe2xldCB0LGU9W10sbj1bdGhpc107Zm9yKDtuLmxlbmd0aDspe2xldCBpPW4uc2hpZnQoKTtpLmlzR3JvdXBOb2RlPyh0PWkubWV0YWdyYXBoLENlLmV4cG9ydHMuZWFjaCh0Lm5vZGVzKCksKGU9Pm4ucHVzaCh0Lm5vZGUoZSkpKSkpOmUucHVzaChpLm5hbWUpfXJldHVybiBlfX1mdW5jdGlvbiBCJHQodCxlKXtyZXR1cm4gbmV3IEgkdCh0LGUpfWNsYXNzIEgkdHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMudj10LHRoaXMudz1lLHRoaXMuYmFzZUVkZ2VMaXN0PVtdLHRoaXMuaW5ib3VuZD1udWxsLHRoaXMubnVtUmVndWxhckVkZ2VzPTAsdGhpcy5udW1Db250cm9sRWRnZXM9MCx0aGlzLm51bVJlZkVkZ2VzPTAsdGhpcy50b3RhbFNpemU9MH1hZGRCYXNlRWRnZSh0LGUpe3RoaXMuYmFzZUVkZ2VMaXN0LnB1c2godCksdC5pc0NvbnRyb2xEZXBlbmRlbmN5P3RoaXMubnVtQ29udHJvbEVkZ2VzKz0xOnRoaXMubnVtUmVndWxhckVkZ2VzKz0xLHQuaXNSZWZlcmVuY2VFZGdlJiYodGhpcy5udW1SZWZFZGdlcys9MSksdGhpcy50b3RhbFNpemUrPUgkdC5jb21wdXRlU2l6ZU9mRWRnZSh0LGUpLGUubWF4TWV0YUVkZ2VTaXplPU1hdGgubWF4KGUubWF4TWV0YUVkZ2VTaXplLHRoaXMudG90YWxTaXplKX1zdGF0aWMgY29tcHV0ZVNpemVPZkVkZ2UodCxlKXtsZXQgbj1lLm5vZGUodC52KTtpZighbi5vdXRwdXRTaGFwZXMpcmV0dXJuIDE7ZS5oYXNTaGFwZUluZm89ITA7Y29uc3QgaT1PYmplY3Qua2V5cyhuLm91dHB1dFNoYXBlcykubWFwKCh0PT5uLm91dHB1dFNoYXBlc1t0XSkpLm1hcCgodD0+bnVsbD09dD8xOnQucmVkdWNlKCgodCxlKT0+KC0xPT09ZSYmKGU9MSksdCplKSksMSkpKTtyZXR1cm4gQ2UuZXhwb3J0cy5zdW0oaSl9fWZ1bmN0aW9uIEYkdCh0LGUsbixpLHIsbyl7cmV0dXJuIG5ldyBVJHQodCxlLG4saSxyLG8pfWZ1bmN0aW9uIFYkdCh0LGUsbixpLHIpe3JldHVybihuP24rIi8iOiIiKSsodCsodm9pZCAwIT09aSYmdm9pZCAwIT09cj8iWyIraSsiLSIrcisiXSI6IiMiKStlKX1jbGFzcyBVJHR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8pe3RoaXMubmFtZT1yfHxWJHQodCxlLG4pLHRoaXMudHlwZT1BJHQuU0VSSUVTLHRoaXMuaGFzTG9vcD0hMSx0aGlzLnByZWZpeD10LHRoaXMuc3VmZml4PWUsdGhpcy5jbHVzdGVySWQ9aSx0aGlzLmlkcz1bXSx0aGlzLnBhcmVudD1uLHRoaXMuaXNHcm91cE5vZGU9ITAsdGhpcy5jYXJkaW5hbGl0eT0wLHRoaXMubWV0YWdyYXBoPVkkdChyLEMkdC5TRVJJRVMsbyksdGhpcy5icmlkZ2VncmFwaD1udWxsLHRoaXMucGFyZW50Tm9kZT1udWxsLHRoaXMuZGV2aWNlSGlzdG9ncmFtPXt9LHRoaXMueGxhQ2x1c3Rlckhpc3RvZ3JhbT17fSx0aGlzLmNvbXBhdGliaWxpdHlIaXN0b2dyYW09e2NvbXBhdGlibGU6MCxpbmNvbXBhdGlibGU6MH0sdGhpcy5oYXNOb25Db250cm9sRWRnZXM9ITEsdGhpcy5pbmNsdWRlPWskdC5VTlNQRUNJRklFRH19Y29uc3QgaiR0PS9eKFteOl0rKTooKFx3Kzp8KVxkKykkLztmdW5jdGlvbiBHJHQodCxlLG4saSxyLG8pe2lmKGU9PT1uLm5hbWUpcmV0dXJuO3QuZWRnZXMucHVzaCh7djplLHc6bi5uYW1lLG91dHB1dFRlbnNvcktleTppLm91dHB1dFRlbnNvcktleSxpc0NvbnRyb2xEZXBlbmRlbmN5OmkuaXNDb250cm9sRGVwZW5kZW5jeSxpc1JlZmVyZW5jZUVkZ2U6ITA9PT1yLnJlZkVkZ2VzW24ub3ArIiAiK29dfSl9Y29uc3QgVyR0PXtlbmFibGVFbWJlZGRpbmc6ITAsaW5FbWJlZGRpbmdUeXBlczpbIkNvbnN0Il0sb3V0RW1iZWRkaW5nVHlwZXM6WyJeW2EtekEtWl0rU3VtbWFyeSQiXSxyZWZFZGdlczp7IkFzc2lnbiAwIjohMCwiQXNzaWduQWRkIDAiOiEwLCJBc3NpZ25TdWIgMCI6ITAsImFzc2lnbiAwIjohMCwiYXNzaWduX2FkZCAwIjohMCwiYXNzaWduX3N1YiAwIjohMCwiY291bnRfdXBfdG8gMCI6ITAsIlNjYXR0ZXJBZGQgMCI6ITAsIlNjYXR0ZXJTdWIgMCI6ITAsIlNjYXR0ZXJVcGRhdGUgMCI6ITAsInNjYXR0ZXJfYWRkIDAiOiEwLCJzY2F0dGVyX3N1YiAwIjohMCwic2NhdHRlcl91cGRhdGUgMCI6ITB9fTtmdW5jdGlvbiBxJHQodCxlLG4pe2xldCBpPXt9LHI9e30sbz17fSxhPVgkdChlLmluRW1iZWRkaW5nVHlwZXMpLHM9WCR0KGUub3V0RW1iZWRkaW5nVHlwZXMpLGw9W10sYz10Lm5vZGUsdT1uZXcgQXJyYXkoYy5sZW5ndGgpO3JldHVybiBtJHQoIk5vcm1hbGl6aW5nIG5hbWVzIiwzMCwoKCk9PntsZXQgZT1uZXcgQXJyYXkoYy5sZW5ndGgpLG49MDtjb25zdCBoPXQ9PntsZXQgYz1uZXcgTyR0KHQpO3JldHVybiBhKGMpPyhsLnB1c2goYy5uYW1lKSxpW2MubmFtZV09YyxjKTpzKGMpPyhsLnB1c2goYy5uYW1lKSxyW2MubmFtZV09YyxDZS5leHBvcnRzLmVhY2goYy5pbnB1dHMsKHQ9PntsZXQgZT10Lm5hbWU7b1tlXT1vW2VdfHxbXSxvW2VdLnB1c2goYyl9KSksYyk6KGVbbl09Yyx1W25dPWMubmFtZSxuKyssYyl9O0NlLmV4cG9ydHMuZWFjaChjLGgpO2NvbnN0IGQ9dD0+e2NvbnN0IGU9VCR0K3Quc2lnbmF0dXJlLm5hbWU7aWYoaCh7bmFtZTplLGlucHV0OltdLGRldmljZToiIixvcDoiIixhdHRyOltdfSksdC5zaWduYXR1cmUuaW5wdXRfYXJnKXtsZXQgbj0wO2NvbnN0IGk9dD0+e2goe25hbWU6ZStNJHQrdC5uYW1lLGlucHV0OltdLGRldmljZToiIixvcDoiaW5wdXRfYXJnIixhdHRyOlt7a2V5OiJUIix2YWx1ZTp7dHlwZTp0LnR5cGV9fV19KS5mdW5jdGlvbklucHV0SW5kZXg9bixuKyt9O3Quc2lnbmF0dXJlLmlucHV0X2FyZy5uYW1lP2kodC5zaWduYXR1cmUuaW5wdXRfYXJnKTpDZS5leHBvcnRzLmVhY2godC5zaWduYXR1cmUuaW5wdXRfYXJnLGkpfWxldCBuPTA7Y29uc3QgaT17fTtpZih0LnNpZ25hdHVyZS5vdXRwdXRfYXJnKXtjb25zdCByPXQ9PntpW2UrTSR0K3QubmFtZV09bixuKyt9O3Quc2lnbmF0dXJlLm91dHB1dF9hcmcubmFtZT9yKHQuc2lnbmF0dXJlLm91dHB1dF9hcmcpOkNlLmV4cG9ydHMuZWFjaCh0LnNpZ25hdHVyZS5vdXRwdXRfYXJnLHIpfUNlLmV4cG9ydHMuZWFjaCh0Lm5vZGVfZGVmLCh0PT57dC5uYW1lPWUrIi8iK3QubmFtZSwic3RyaW5nIj09dHlwZW9mIHQuaW5wdXQmJih0LmlucHV0PVt0LmlucHV0XSk7Y29uc3Qgbj1oKHQpO0NlLmV4cG9ydHMuaXNOdW1iZXIoaVt0Lm5hbWVdKSYmKG4uZnVuY3Rpb25PdXRwdXRJbmRleD1pW3QubmFtZV0pLENlLmV4cG9ydHMuZWFjaChuLmlucHV0cywodD0+e3QubmFtZT1lK00kdCt0Lm5hbWV9KSl9KSl9O3JldHVybiB0LmxpYnJhcnkmJnQubGlicmFyeS5mdW5jdGlvbiYmQ2UuZXhwb3J0cy5lYWNoKHQubGlicmFyeS5mdW5jdGlvbixkKSxlLnNwbGljZShuKSx1LnNwbGljZShuKSxlfSksbixCQXQuTk9STUFMSVpJTkdfTkFNRVMpLnRoZW4oKHQ9Pm0kdCgiQnVpbGRpbmcgdGhlIGRhdGEgc3RydWN0dXJlIiw3MCwoKCk9PntsZXQgbj0oZnVuY3Rpb24gYSh0LGUpe2xldCBuPXt9LGk9e307dC5zb3J0KCk7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aC0xOysrZSl7bGV0IHI9dFtlXTtDZS5leHBvcnRzLmVhY2goWiR0KHIpLnNsaWNlKDAsLTEpLCh0PT57aVt0XT0hMH0pKTtmb3IobGV0IGk9ZSsxO2k8dC5sZW5ndGg7KytpKXtsZXQgZT10W2ldO2lmKCFDZS5leHBvcnRzLnN0YXJ0c1dpdGgoZSxyKSlicmVhaztpZihlLmxlbmd0aD5yLmxlbmd0aCYmZS5jaGFyQXQoci5sZW5ndGgpPT09TSR0KXtuW3JdPSQkdChyKTticmVha319fXJldHVybiBDZS5leHBvcnRzLmVhY2goZSwodD0+e3QgaW4gaSYmKG5bdF09JCR0KHQpKX0pKSxufSkodSxsKSxzPW5ldyBJJHQ7cmV0dXJuIENlLmV4cG9ydHMuZWFjaCh0LCh0PT57bGV0IGU9blt0Lm5hbWVdfHx0Lm5hbWU7cy5ub2Rlc1tlXT10LHQubmFtZSBpbiBvJiYodC5vdXRFbWJlZGRpbmdzPW9bdC5uYW1lXSxDZS5leHBvcnRzLmVhY2godC5vdXRFbWJlZGRpbmdzLCh0PT57dC5uYW1lPW5bdC5uYW1lXXx8dC5uYW1lfSkpKSx0Lm5hbWU9ZX0pKSxDZS5leHBvcnRzLmVhY2godCwodD0+e0NlLmV4cG9ydHMuZWFjaCh0LmlucHV0cywoKG8sYSk9PntsZXQgbD1vLm5hbWU7aWYobCBpbiBpKXtsZXQgcj1pW2xdO3QuaW5FbWJlZGRpbmdzLnB1c2gocik7Zm9yKGxldCBpIG9mIHIuaW5wdXRzKUckdChzLG5baS5uYW1lXXx8aS5uYW1lLHQsaSxlLGEpfWVsc2UgaWYobCBpbiByKXtsZXQgaT1yW2xdO2ZvcihsZXQgciBvZiBpLmlucHV0cylHJHQocyxuW3IubmFtZV18fHIubmFtZSx0LG8sZSxhKX1lbHNlIEckdChzLG5bbF18fGwsdCxvLGUsYSl9KSl9KSksQ2UuZXhwb3J0cy5lYWNoKGksKCh0LGUpPT57dC5uYW1lPW5bdC5uYW1lXXx8dC5uYW1lfSkpLHN9KSxuLEJBdC5CVUlMRF9TTElNX0dSQVBIKSkpfWZ1bmN0aW9uIFkkdCh0LGUsbj17fSl7Y29uc3QgaT1uZXcgdCR0LmdyYXBobGliLkdyYXBoKG4pO3JldHVybiBpLnNldEdyYXBoKHtuYW1lOnQscmFua2RpcjpuLnJhbmtkaXJ8fCJCVCIsdHlwZTplfSksaX1mdW5jdGlvbiBYJHQodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtsZXQgaT1uZXcgUmVnRXhwKHRbbl0pO2lmKCJzdHJpbmciPT10eXBlb2YgZS5vcCYmZS5vcC5tYXRjaChpKSlyZXR1cm4hMH1yZXR1cm4hMX19ZnVuY3Rpb24gJCR0KHQpe2xldCBlPXQuc3BsaXQoTSR0KTtyZXR1cm4gdCtNJHQrIigiK2VbZS5sZW5ndGgtMV0rIikifWZ1bmN0aW9uIEskdCh0KXtsZXQgZT10Lm5vZGVzKCkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gdC5uZWlnaGJvcnMoZSkubGVuZ3RofSkpO3JldHVybiBlLnNvcnQoKSxlfWZ1bmN0aW9uIFokdCh0LGUpe2xldCBuPVtdLGk9dC5pbmRleE9mKE0kdCk7Zm9yKDtpPj0wOyluLnB1c2godC5zdWJzdHJpbmcoMCxpKSksaT10LmluZGV4T2YoTSR0LGkrMSk7aWYoZSl7bGV0IGk9ZVt0XTtpJiZuLnB1c2goaSl9cmV0dXJuIG4ucHVzaCh0KSxufWZ1bmN0aW9uIEokdCh0KXtyZXR1cm4gdD09PWskdC5FWENMVURFPyJBZGQgdG8gbWFpbiBncmFwaCI6IlJlbW92ZSBmcm9tIG1haW4gZ3JhcGgifWZ1bmN0aW9uIFEkdCh0LGUpe2xldCBuPShmdW5jdGlvbiByKHQsZSl7cmV0dXJuIENlLmV4cG9ydHMucmVkdWNlKHQsKGZ1bmN0aW9uKHQsbil7bGV0IGk9blswXSxyPVtdO3JldHVybiBuWzFdLm5vZGVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2ZvcihsZXQgbj0wO248ci5sZW5ndGg7bisrKXtpZighZXx8ZUt0KHJbbl0ubWV0YW5vZGUubWV0YWdyYXBoLHQubWV0YWdyYXBoKSlyZXR1cm4gdC50ZW1wbGF0ZUlkPXJbbl0ubWV0YW5vZGUudGVtcGxhdGVJZCx2b2lkIHJbbl0ubWVtYmVycy5wdXNoKHQubmFtZSl9dC50ZW1wbGF0ZUlkPWkrIlsiK3IubGVuZ3RoKyJdIixyLnB1c2goe21ldGFub2RlOnQsbWVtYmVyczpbdC5uYW1lXX0pfSkpLHIuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dFtlLm1ldGFub2RlLnRlbXBsYXRlSWRdPXtsZXZlbDpuWzFdLmxldmVsLG5vZGVzOmUubWVtYmVyc319KSksdH0pLHt9KX0pKChmdW5jdGlvbiBpKHQpe2NvbnN0IGU9dC5nZXROb2RlTWFwKCk7bGV0IG49T2JqZWN0LmtleXMoZSkucmVkdWNlKCgodCxuKT0+e2NvbnN0IGk9ZVtuXTtpZihpLnR5cGUhPT1BJHQuTUVUQSlyZXR1cm4gdDtsZXQgcj1uLnNwbGl0KCIvIikubGVuZ3RoLTEsbz0oZnVuY3Rpb24gYSh0KXtsZXQgZT1DZS5leHBvcnRzLm1hcCh7ZGVwdGg6dC5kZXB0aCwifFZ8Ijp0Lm1ldGFncmFwaC5ub2RlcygpLmxlbmd0aCwifEV8Ijp0Lm1ldGFncmFwaC5lZGdlcygpLmxlbmd0aH0sKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUrIj0iK3R9KSkuam9pbigiICIpLG49Q2UuZXhwb3J0cy5tYXAodC5vcEhpc3RvZ3JhbSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZSsiPSIrdH0pKS5qb2luKCIsIik7cmV0dXJuIGUrIiBbb3BzXSAiK259KShpKSxzPXRbb118fHtub2RlczpbXSxsZXZlbDpyfTtyZXR1cm4gdFtvXT1zLHMubm9kZXMucHVzaChpKSxzLmxldmVsPnImJihzLmxldmVsPXIpLHR9KSx7fSk7cmV0dXJuIE9iamVjdC5rZXlzKG4pLm1hcCgodD0+W3Qsblt0XV0pKS5maWx0ZXIoKChbdCxlXSk9Pntjb25zdHtub2RlczpufT1lO2lmKG4ubGVuZ3RoPjEpcmV0dXJuITA7Y29uc3QgaT1uWzBdO3JldHVybiBpLnR5cGU9PT1BJHQuTUVUQSYmaS5hc3NvY2lhdGVkRnVuY3Rpb259KSkuc29ydCgoKFt0LGVdKT0+ZS5ub2Rlc1swXS5kZXB0aCkpfSkodCksZSk7cmV0dXJuIE9iamVjdC5rZXlzKG4pLnNvcnQoKHQ9Pm5bdF0ubGV2ZWwpKS5yZWR1Y2UoKCh0LGUpPT4odFtlXT1uW2VdLHQpKSx7fSl9ZnVuY3Rpb24gdEt0KHQsZSxuKXtyZXR1cm4gQ2UuZXhwb3J0cy5zb3J0QnkodCxbdD0+ZS5ub2RlKHQpLm9wLHQ9PmUubm9kZSh0KS50ZW1wbGF0ZUlkLHQ9PmUubmVpZ2hib3JzKHQpLmxlbmd0aCx0PT5lLnByZWRlY2Vzc29ycyh0KS5sZW5ndGgsdD0+ZS5zdWNjZXNzb3JzKHQpLmxlbmd0aCx0PT50LnN1YnN0cihuLmxlbmd0aCldKX1mdW5jdGlvbiBlS3QodCxlKXtpZighKGZ1bmN0aW9uIG4odCxlKXtsZXQgbj1LJHQodCksaT1LJHQoZSk7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0KyspaWYoblt0XSE9PWlbdF0pcmV0dXJuITE7cmV0dXJuITB9KSh0LGUpKXJldHVybiExO2xldCBpPXQuZ3JhcGgoKS5uYW1lLHI9ZS5ncmFwaCgpLm5hbWUsbz17fSxhPXt9LHM9W107ZnVuY3Rpb24gbCh0LGUpe2xldCBuPXQuc3Vic3RyKGkubGVuZ3RoKSxsPWUuc3Vic3RyKHIubGVuZ3RoKTtyZXR1cm4gb1tuXV5hW2xdPyhjb25zb2xlLndhcm4oImRpZmZlcmVudCB2aXNpdCBwYXR0ZXJuIiwiWyIraSsiXSIsbiwiWyIrcisiXSIsbCksITApOihvW25dfHwob1tuXT1hW2xdPSEwLHMucHVzaCh7bjE6dCxuMjplfSkpLCExKX1sZXQgYz10LnNvdXJjZXMoKSx1PWUuc291cmNlcygpO2lmKGMubGVuZ3RoIT09dS5sZW5ndGgpcmV0dXJuIGNvbnNvbGUubG9nKCJkaWZmZXJlbnQgc291cmNlIGxlbmd0aCIpLCExO2M9dEt0KGMsdCxpKSx1PXRLdCh1LGUscik7Zm9yKGxldCB0PTA7dDxjLmxlbmd0aDt0Kyspe2lmKGwoY1t0XSx1W3RdKSlyZXR1cm4hMX1mb3IoO3MubGVuZ3RoPjA7KXtsZXQgbj1zLnBvcCgpO2lmKCFuS3QodC5ub2RlKG4ubjEpLGUubm9kZShuLm4yKSkpcmV0dXJuITE7bGV0IG89dC5zdWNjZXNzb3JzKG4ubjEpLGE9ZS5zdWNjZXNzb3JzKG4ubjIpO2lmKG8ubGVuZ3RoIT09YS5sZW5ndGgpcmV0dXJuIGNvbnNvbGUubG9nKCIjIG9mIHN1Y2Nlc3NvcnMgbWlzbWF0Y2giLG8sYSksITE7bz10S3Qobyx0LGkpLGE9dEt0KGEsZSxyKTtmb3IobGV0IHQ9MDt0PG8ubGVuZ3RoO3QrKyl7aWYobChvW3RdLGFbdF0pKXJldHVybiExfX1yZXR1cm4hMH1mdW5jdGlvbiBuS3QodCxlKXtpZih0LnR5cGU9PT1BJHQuTUVUQSl7bGV0IG49dCxpPWU7cmV0dXJuIG4udGVtcGxhdGVJZCYmaS50ZW1wbGF0ZUlkJiZuLnRlbXBsYXRlSWQ9PT1pLnRlbXBsYXRlSWR9aWYodC50eXBlPT09QSR0Lk9QJiZlLnR5cGU9PT1BJHQuT1ApcmV0dXJuIHQub3A9PT1lLm9wO2lmKHQudHlwZT09PUEkdC5TRVJJRVMmJmUudHlwZT09PUEkdC5TRVJJRVMpe2xldCBuPXQsaT1lLHI9bi5tZXRhZ3JhcGgubm9kZUNvdW50KCk7cmV0dXJuIHI9PT1pLm1ldGFncmFwaC5ub2RlQ291bnQoKSYmKDA9PT1yfHxuLm1ldGFncmFwaC5ub2RlKG4ubWV0YWdyYXBoLm5vZGVzKClbMF0pLm9wPT09aS5tZXRhZ3JhcGgubm9kZShpLm1ldGFncmFwaC5ub2RlcygpWzBdKS5vcCl9cmV0dXJuITF9dmFyIGlLdDshKGZ1bmN0aW9uKHQpe3RbdC5URU1QTEFURVNfVVBEQVRFRD0wXT0iVEVNUExBVEVTX1VQREFURUQifSkoaUt0fHwoaUt0PXt9KSk7Y2xhc3Mgckt0IGV4dGVuZHMgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50VHlwZVRvTGlzdGVuZXJzPW5ldyBNYXB9Z2V0TGlzdGVuZXJzKHQpe3JldHVybiB0aGlzLmV2ZW50VHlwZVRvTGlzdGVuZXJzLmhhcyh0KXx8dGhpcy5ldmVudFR5cGVUb0xpc3RlbmVycy5zZXQodCxbXSksdGhpcy5ldmVudFR5cGVUb0xpc3RlbmVycy5nZXQodCl9YWRkTGlzdGVuZXIodCxlKXt0aGlzLmdldExpc3RlbmVycyh0KS5wdXNoKGUpfXJlbW92ZUxpc3RlbmVyKHQsZSl7Y29uc3Qgbj10aGlzLmdldExpc3RlbmVycyh0KS5maWx0ZXIoKHQ9PnQhPT1lKSk7dGhpcy5ldmVudFR5cGVUb0xpc3RlbmVycy5zZXQodCxuKX1kaXNwYXRjaEV2ZW50KHQsZSl7Zm9yKGNvbnN0IG4gb2YgdGhpcy5nZXRMaXN0ZW5lcnModCkpbihlKX19e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5oYXNTaGFwZUluZm89ITEsdGhpcy5tYXhNZXRhRWRnZVNpemU9MSx0aGlzLmdyYXBoT3B0aW9ucz17fSx0aGlzLnRlbXBsYXRlcz1udWxsLHRoaXMuZ3JhcGhPcHRpb25zLmNvbXBvdW5kPSEwLHRoaXMuZ3JhcGhPcHRpb25zLnJhbmtkaXI9dC5yYW5rRGlyZWN0aW9uLHRoaXMucm9vdD16JHQoRSR0LHRoaXMuZ3JhcGhPcHRpb25zKSx0aGlzLmxpYnJhcnlGdW5jdGlvbnM9e30sdGhpcy5zZXJpZXNHcm91cE1hcD1uZXcgTWFwKHQuc2VyaWVzTWFwKSx0aGlzLmRldmljZXM9bnVsbCx0aGlzLnhsYUNsdXN0ZXJzPW51bGwsdGhpcy52ZXJpZnlUZW1wbGF0ZT10LnZlcmlmeVRlbXBsYXRlLHRoaXMuaW5kZXg9e30sdGhpcy5pbmRleC5fX3Jvb3RfXz10aGlzLnJvb3QsdGhpcy5vcmRlcmluZ3M9e319Z2V0U2VyaWVzR3JvdXBUeXBlKHQpe3ZhciBlO3JldHVybiBudWxsIT09KGU9dGhpcy5zZXJpZXNHcm91cE1hcC5nZXQodCkpJiZ2b2lkIDAhPT1lP2U6TCR0LkdST1VQfXNldFNlcmllc0dyb3VwVHlwZSh0LGUpe3JldHVybiB0aGlzLnNlcmllc0dyb3VwTWFwLnNldCh0LGUpfWJ1aWxkU2VyaWVzR3JvdXBNYXBUb2dnbGVkKHQpe2NvbnN0IGU9dGhpcy5nZXRTZXJpZXNHcm91cFR5cGUodCk9PT1MJHQuR1JPVVA/TCR0LlVOR1JPVVA6TCR0LkdST1VQO3JldHVybiBuZXcgTWFwKFsuLi50aGlzLnNlcmllc0dyb3VwTWFwLFt0LGVdXSl9Z2V0Tm9kZU1hcCgpe3JldHVybiB0aGlzLmluZGV4fW5vZGUodCl7cmV0dXJuIHRoaXMuaW5kZXhbdF19c2V0Tm9kZSh0LGUpe3RoaXMuaW5kZXhbdF09ZX1nZXRCcmlkZ2VncmFwaCh0KXtsZXQgZT10aGlzLmluZGV4W3RdO2lmKCFlKXRocm93IEVycm9yKCJDb3VsZCBub3QgZmluZCBub2RlIGluIGhpZXJhcmNoeTogIit0KTtpZighKCJtZXRhZ3JhcGgiaW4gZSkpcmV0dXJuIG51bGw7aWYoZS5icmlkZ2VncmFwaClyZXR1cm4gZS5icmlkZ2VncmFwaDtsZXQgbj1lLmJyaWRnZWdyYXBoPVkkdCgiQlJJREdFR1JBUEgiLEMkdC5CUklER0UsdGhpcy5ncmFwaE9wdGlvbnMpO2lmKCFlLnBhcmVudE5vZGV8fCEoIm1ldGFncmFwaCJpbiBlLnBhcmVudE5vZGUpKXJldHVybiBuO2xldCBpPWUucGFyZW50Tm9kZSxyPWkubWV0YWdyYXBoLG89dGhpcy5nZXRCcmlkZ2VncmFwaChpLm5hbWUpO3JldHVybiBDZS5leHBvcnRzLmVhY2goW3Isb10sKGU9PntlLmVkZ2VzKCkuZmlsdGVyKChlPT5lLnY9PT10fHxlLnc9PT10KSkuZm9yRWFjaCgoaT0+e2xldCByPWkudz09PXQsbz1lLmVkZ2UoaSk7Q2UuZXhwb3J0cy5lYWNoKG8uYmFzZUVkZ2VMaXN0LChlPT57bGV0W28sYV09cj9bZS53LGkudl06W2UudixpLnddLHM9dGhpcy5nZXRDaGlsZE5hbWUodCxvKSxsPXt2OnI/YTpzLHc6cj9zOmF9LGM9bi5lZGdlKGwpO2N8fChjPUIkdChsLnYsbC53KSxjLmluYm91bmQ9cixuLnNldEVkZ2UobC52LGwudyxjKSksYy5hZGRCYXNlRWRnZShlLHRoaXMpfSkpfSkpfSkpLG59Z2V0Q2hpbGROYW1lKHQsZSl7bGV0IG49dGhpcy5pbmRleFtlXTtmb3IoO247KXtpZihuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5uYW1lPT09dClyZXR1cm4gbi5uYW1lO249bi5wYXJlbnROb2RlfXRocm93IEVycm9yKCJDb3VsZCBub3QgZmluZCBpbW1lZGlhdGUgY2hpbGQgZm9yIGRlc2NlbmRhbnQ6ICIrZSl9Z2V0UHJlZGVjZXNzb3JzKHQpe2xldCBlPXRoaXMuaW5kZXhbdF07aWYoIWUpdGhyb3cgRXJyb3IoIkNvdWxkIG5vdCBmaW5kIG5vZGUgd2l0aCBuYW1lOiAiK3QpO2xldCBuPXRoaXMuZ2V0T25lV2F5RWRnZXMoZSwhMCk7cmV0dXJuIGUuaXNHcm91cE5vZGV8fENlLmV4cG9ydHMuZWFjaChlLmluRW1iZWRkaW5ncywoaT0+e0NlLmV4cG9ydHMuZWFjaChlLmlucHV0cywoZT0+e2lmKGUubmFtZT09PWkubmFtZSl7bGV0IHI9bmV3IEgkdChpLm5hbWUsdCk7ci5hZGRCYXNlRWRnZSh7aXNDb250cm9sRGVwZW5kZW5jeTplLmlzQ29udHJvbERlcGVuZGVuY3ksb3V0cHV0VGVuc29yS2V5OmUub3V0cHV0VGVuc29yS2V5LGlzUmVmZXJlbmNlRWRnZTohMSx2OmkubmFtZSx3OnR9LHRoaXMpLG4ucmVndWxhci5wdXNoKHIpfX0pKX0pKSxufWdldFN1Y2Nlc3NvcnModCl7bGV0IGU9dGhpcy5pbmRleFt0XTtpZighZSl0aHJvdyBFcnJvcigiQ291bGQgbm90IGZpbmQgbm9kZSB3aXRoIG5hbWU6ICIrdCk7bGV0IG49dGhpcy5nZXRPbmVXYXlFZGdlcyhlLCExKTtyZXR1cm4gZS5pc0dyb3VwTm9kZXx8Q2UuZXhwb3J0cy5lYWNoKGUub3V0RW1iZWRkaW5ncywoZT0+e0NlLmV4cG9ydHMuZWFjaChlLmlucHV0cywoaT0+e2lmKGkubmFtZT09PXQpe2xldCByPW5ldyBIJHQodCxlLm5hbWUpO3IuYWRkQmFzZUVkZ2Uoe2lzQ29udHJvbERlcGVuZGVuY3k6aS5pc0NvbnRyb2xEZXBlbmRlbmN5LG91dHB1dFRlbnNvcktleTppLm91dHB1dFRlbnNvcktleSxpc1JlZmVyZW5jZUVkZ2U6ITEsdjp0LHc6ZS5uYW1lfSx0aGlzKSxuLnJlZ3VsYXIucHVzaChyKX19KSl9KSksbn1nZXRPbmVXYXlFZGdlcyh0LGUpe2xldCBuPXtjb250cm9sOltdLHJlZ3VsYXI6W119O2lmKCF0LnBhcmVudE5vZGV8fCF0LnBhcmVudE5vZGUuaXNHcm91cE5vZGUpcmV0dXJuIG47bGV0IGk9dC5wYXJlbnROb2RlLHI9aS5tZXRhZ3JhcGgsbz10aGlzLmdldEJyaWRnZWdyYXBoKGkubmFtZSk7cmV0dXJuIG9LdChyLHQsZSxuKSxvS3Qobyx0LGUsbiksbn1nZXRUb3BvbG9naWNhbE9yZGVyaW5nKHQpe2xldCBlPXRoaXMuaW5kZXhbdF07aWYoIWUpdGhyb3cgRXJyb3IoIkNvdWxkIG5vdCBmaW5kIG5vZGUgd2l0aCBuYW1lOiAiK3QpO2lmKCFlLmlzR3JvdXBOb2RlKXJldHVybiBudWxsO2lmKHQgaW4gdGhpcy5vcmRlcmluZ3MpcmV0dXJuIHRoaXMub3JkZXJpbmdzW3RdO2xldCBuPXt9LGk9e30scj1lLm1ldGFncmFwaDtDZS5leHBvcnRzLmVhY2goci5lZGdlcygpLCh0PT57ci5lZGdlKHQpLm51bVJlZ3VsYXJFZGdlcyYmKHQudiBpbiBufHwoblt0LnZdPVtdKSxuW3Qudl0ucHVzaCh0LncpLGlbdC53XT0hMCl9KSk7bGV0IG89Q2UuZXhwb3J0cy5kaWZmZXJlbmNlKENlLmV4cG9ydHMua2V5cyhuKSxDZS5leHBvcnRzLmtleXMoaSkpLGE9dGhpcy5vcmRlcmluZ3NbdF09e30scz0wO2Zvcig7by5sZW5ndGg7KXtsZXQgdD1vLnNoaWZ0KCk7YVt0XT1zKyssQ2UuZXhwb3J0cy5lYWNoKG5bdF0sKHQ9Pm8ucHVzaCh0KSkpLGRlbGV0ZSBuW3RdfXJldHVybiBhfWdldFRlbXBsYXRlSW5kZXgoKXtpZighdGhpcy50ZW1wbGF0ZXMpcmV0dXJuIG51bGw7bGV0IHQ9WmcodGhpcy50ZW1wbGF0ZXMpO2lmKCF0Lmxlbmd0aClyZXR1cm4gbnVsbDtsZXQgZT1ZTSgpLmRvbWFpbih0KS5yYW5nZShLbCgwLHQubGVuZ3RoKSk7cmV0dXJuIHQ9PmUodCl9dXBkYXRlVGVtcGxhdGVzKCl7ZCR0KCJGaW5kaW5nIHNpbWlsYXIgc3ViZ3JhcGhzIiwoKCk9Pnt0aGlzLnRlbXBsYXRlcz1RJHQodGhpcyx0aGlzLnZlcmlmeVRlbXBsYXRlKSx0aGlzLmRpc3BhdGNoRXZlbnQoaUt0LlRFTVBMQVRFU19VUERBVEVEKX0pLEJBdC5ISUVSQVJDSFlfRklORF9TSU1JTEFSX1NVQkdSQVBIUyl9fWZ1bmN0aW9uIG9LdCh0LGUsbixpKXtsZXQgcj1uP3QuaW5FZGdlcyhlLm5hbWUpOnQub3V0RWRnZXMoZS5uYW1lKTtDZS5leHBvcnRzLmVhY2gociwoZT0+e2xldCBuPXQuZWRnZShlKTsobi5udW1SZWd1bGFyRWRnZXM/aS5yZWd1bGFyOmkuY29udHJvbCkucHVzaChuKX0pKX1jb25zdCBhS3Q9e3ZlcmlmeVRlbXBsYXRlOiEwLHNlcmllc05vZGVNaW5TaXplOjUsc2VyaWVzTWFwOm5ldyBNYXAscmFua0RpcmVjdGlvbjoiQlQiLHVzZUdlbmVyYWxpemVkU2VyaWVzUGF0dGVybnM6ITF9O2Z1bmN0aW9uIHNLdCh0LGUsbil7Y29uc3QgaT1uZXcgckt0KGUpLHI9e307cmV0dXJuIG0kdCgiQWRkaW5nIG5vZGVzIiwzMCwoKCk9PntsZXQgZT17fSxuPXt9O0NlLmV4cG9ydHMuZWFjaCh0Lm5vZGVzLCgodCxpKT0+e3QuZGV2aWNlJiYoZVt0LmRldmljZV09ITApLHQueGxhQ2x1c3RlciYmKG5bdC54bGFDbHVzdGVyXT0hMCl9KSksaS5kZXZpY2VzPUNlLmV4cG9ydHMua2V5cyhlKSxpLnhsYUNsdXN0ZXJzPUNlLmV4cG9ydHMua2V5cyhuKSwoZnVuY3Rpb24gcih0LGUpe2NvbnN0IG49e307Q2UuZXhwb3J0cy5lYWNoKGUubm9kZXMsKChlLGkpPT57bGV0IHI9WiR0KGUubmFtZSksbz10LnJvb3Q7by5kZXB0aD1NYXRoLm1heChyLmxlbmd0aCxvLmRlcHRoKSxuW2Uub3BdfHwobltlLm9wXT1bXSksbltlLm9wXS5wdXNoKGUpO2ZvcihsZXQgaT0wO2k8ci5sZW5ndGgmJihvLmRlcHRoPU1hdGgubWF4KG8uZGVwdGgsci5sZW5ndGgtaSksby5jYXJkaW5hbGl0eSs9ZS5jYXJkaW5hbGl0eSxvLm9wSGlzdG9ncmFtW2Uub3BdPShvLm9wSGlzdG9ncmFtW2Uub3BdfHwwKSsxLG51bGwhPWUuZGV2aWNlJiYoby5kZXZpY2VIaXN0b2dyYW1bZS5kZXZpY2VdPShvLmRldmljZUhpc3RvZ3JhbVtlLmRldmljZV18fDApKzEpLG51bGwhPWUueGxhQ2x1c3RlciYmKG8ueGxhQ2x1c3Rlckhpc3RvZ3JhbVtlLnhsYUNsdXN0ZXJdPShvLnhsYUNsdXN0ZXJIaXN0b2dyYW1bZS54bGFDbHVzdGVyXXx8MCkrMSksZS5jb21wYXRpYmxlP28uY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlPShvLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZXx8MCkrMTpvLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlPShvLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlfHwwKSsxLENlLmV4cG9ydHMuZWFjaChlLmluRW1iZWRkaW5ncywodD0+e3QuY29tcGF0aWJsZT9vLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZT0oby5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGV8fDApKzE6by5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZT0oby5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZXx8MCkrMX0pKSxDZS5leHBvcnRzLmVhY2goZS5vdXRFbWJlZGRpbmdzLCh0PT57dC5jb21wYXRpYmxlP28uY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlPShvLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZXx8MCkrMTpvLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlPShvLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlfHwwKSsxfSkpLGkhPT1yLmxlbmd0aC0xKTtpKyspe2xldCBlPXJbaV0sYT10Lm5vZGUoZSk7aWYoIWEmJihhPXokdChlLHQuZ3JhcGhPcHRpb25zKSxhLnBhcmVudE5vZGU9byx0LnNldE5vZGUoZSxhKSxvLm1ldGFncmFwaC5zZXROb2RlKGUsYSksMD09PWUuaW5kZXhPZihUJHQpJiZvLm5hbWU9PT1FJHQpKXtjb25zdCBpPWUuc3Vic3RyaW5nKFQkdC5sZW5ndGgpO25baV18fChuW2ldPVtdKSx0LmxpYnJhcnlGdW5jdGlvbnNbaV09e25vZGU6YSx1c2FnZXM6bltpXX0sYS5hc3NvY2lhdGVkRnVuY3Rpb249aX1vPWF9dC5zZXROb2RlKGUubmFtZSxlKSxlLnBhcmVudE5vZGU9byxvLm1ldGFncmFwaC5zZXROb2RlKGUubmFtZSxlKSxDZS5leHBvcnRzLmVhY2goZS5pbkVtYmVkZGluZ3MsKGZ1bmN0aW9uKG4pe3Quc2V0Tm9kZShuLm5hbWUsbiksbi5wYXJlbnROb2RlPWV9KSksQ2UuZXhwb3J0cy5lYWNoKGUub3V0RW1iZWRkaW5ncywoZnVuY3Rpb24obil7dC5zZXROb2RlKG4ubmFtZSxuKSxuLnBhcmVudE5vZGU9ZX0pKX0pKX0pKGksdCl9KSxuLEJBdC5ISUVSQVJDSFlfQUREX05PREVTKS50aGVuKCgoKT0+bSR0KCJEZXRlY3Qgc2VyaWVzIiwzMCwoKCk9PntlLnNlcmllc05vZGVNaW5TaXplPjAmJmxLdChpLnJvb3QsaSxyLGUuc2VyaWVzTm9kZU1pblNpemUsZS5zZXJpZXNNYXAsZS51c2VHZW5lcmFsaXplZFNlcmllc1BhdHRlcm5zKX0pLG4sQkF0LkhJRVJBUkNIWV9ERVRFQ1RfU0VSSUVTKSkpLnRoZW4oKCgpPT5tJHQoIkFkZGluZyBlZGdlcyIsNDAsKCgpPT57IShmdW5jdGlvbiBlKHQsbixpKXtsZXQgcj10LmdldE5vZGVNYXAoKSxvPVtdLGE9W10scz0odCxlKT0+e2xldCBuPTA7Zm9yKDt0OyllW24rK109dC5uYW1lLHQ9dC5wYXJlbnROb2RlO3JldHVybiBuLTF9O0NlLmV4cG9ydHMuZWFjaChuLmVkZ2VzLChlPT57bGV0IGk9cyhuLm5vZGVzW2Uudl0sbyksbD1zKG4ubm9kZXNbZS53XSxhKTtpZigtMT09PWl8fC0xPT09bClyZXR1cm47Zm9yKDtvW2ldPT09YVtsXTspaWYoaS0tLGwtLSxpPDB8fGw8MCl0aHJvdyBFcnJvcigiTm8gZGlmZmVyZW5jZSBmb3VuZCBiZXR3ZWVuIGFuY2VzdG9yIHBhdGhzLiIpO2xldCBjPXJbb1tpKzFdXSx1PW9baV0saD1hW2xdLGQ9Yy5tZXRhZ3JhcGguZWRnZSh1LGgpO2R8fChkPUIkdCh1LGgpLGMubWV0YWdyYXBoLnNldEVkZ2UodSxoLGQpKSxjLmhhc05vbkNvbnRyb2xFZGdlc3x8ZS5pc0NvbnRyb2xEZXBlbmRlbmN5fHwoYy5oYXNOb25Db250cm9sRWRnZXM9ITApLGQuYWRkQmFzZUVkZ2UoZSx0KX0pKX0pKGksdCl9KSxuLEJBdC5ISUVSQVJDSFlfQUREX0VER0VTKSkpLnRoZW4oKCgpPT5pKSl9ZnVuY3Rpb24gbEt0KHQsZSxuLGkscixvKXtsZXQgYT10Lm1ldGFncmFwaDtDZS5leHBvcnRzLmVhY2goYS5ub2RlcygpLCh0PT57bGV0IHM9YS5ub2RlKHQpO3MudHlwZT09PUEkdC5NRVRBJiZsS3QocyxlLG4saSxyLG8pfSkpO2xldCBzPShmdW5jdGlvbiBsKHQpe2xldCBlPXt9O3JldHVybiBDZS5leHBvcnRzLnJlZHVjZSh0Lm5vZGVzKCksKChlLG4pPT57bGV0IGk9dC5ub2RlKG4pO2lmKGkudHlwZT09PUEkdC5NRVRBKXJldHVybiBlO2xldCByPWkub3A7cmV0dXJuIHImJihlW3JdPWVbcl18fFtdLGVbcl0ucHVzaChpLm5hbWUpKSxlfSksZSl9KShhKTtsZXQgYz0obz91S3Q6Y0t0KShzLGEsZS5ncmFwaE9wdGlvbnMpO0NlLmV4cG9ydHMuZWFjaChjLChmdW5jdGlvbih0LHIpe2xldCBvPXQubWV0YWdyYXBoLm5vZGVzKCk7Q2UuZXhwb3J0cy5lYWNoKG8sKHQ9PntsZXQgZT1hLm5vZGUodCk7ZS5vd25pbmdTZXJpZXN8fChlLm93bmluZ1Nlcmllcz1yKX0pKSxvLmxlbmd0aDxpJiZlLmdldFNlcmllc0dyb3VwVHlwZSh0Lm5hbWUpPT09TCR0LkdST1VQJiZlLnNldFNlcmllc0dyb3VwVHlwZSh0Lm5hbWUsTCR0LlVOR1JPVVApLGUuZ2V0U2VyaWVzR3JvdXBUeXBlKHQubmFtZSkhPT1MJHQuVU5HUk9VUCYmKGUuc2V0Tm9kZShyLHQpLGEuc2V0Tm9kZShyLHQpLENlLmV4cG9ydHMuZWFjaChvLChlPT57bGV0IGk9YS5ub2RlKGUpO3QubWV0YWdyYXBoLnNldE5vZGUoZSxpKSx0LnBhcmVudE5vZGU9aS5wYXJlbnROb2RlLHQuY2FyZGluYWxpdHkrKyxudWxsIT1pLmRldmljZSYmKHQuZGV2aWNlSGlzdG9ncmFtW2kuZGV2aWNlXT0odC5kZXZpY2VIaXN0b2dyYW1baS5kZXZpY2VdfHwwKSsxKSxudWxsIT1pLnhsYUNsdXN0ZXImJih0LnhsYUNsdXN0ZXJIaXN0b2dyYW1baS54bGFDbHVzdGVyXT0odC54bGFDbHVzdGVySGlzdG9ncmFtW2kueGxhQ2x1c3Rlcl18fDApKzEpLGkuY29tcGF0aWJsZT90LmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZT0odC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGV8fDApKzE6dC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZT0odC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZXx8MCkrMSxDZS5leHBvcnRzLmVhY2goaS5pbkVtYmVkZGluZ3MsKGU9PntlLmNvbXBhdGlibGU/dC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGU9KHQuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlfHwwKSsxOnQuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGU9KHQuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGV8fDApKzF9KSksQ2UuZXhwb3J0cy5lYWNoKGkub3V0RW1iZWRkaW5ncywoZT0+e2UuY29tcGF0aWJsZT90LmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZT0odC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmNvbXBhdGlibGV8fDApKzE6dC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZT0odC5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZXx8MCkrMX0pKSxpLnBhcmVudE5vZGU9dCxuW2VdPXIsYS5yZW1vdmVOb2RlKGUpfSkpKX0pKX1mdW5jdGlvbiBjS3QodCxlLG4pe2xldCBpPXt9O3JldHVybiBDZS5leHBvcnRzLmVhY2godCwoZnVuY3Rpb24odCxyKXtpZih0Lmxlbmd0aDw9MSlyZXR1cm47bGV0IG89e307Q2UuZXhwb3J0cy5lYWNoKHQsKGZ1bmN0aW9uKHQpe2NvbnN0IGU9IioiPT09dC5jaGFyQXQodC5sZW5ndGgtMSksaT10LnNwbGl0KCIvIikscj1pW2kubGVuZ3RoLTFdLGE9aS5zbGljZSgwLGkubGVuZ3RoLTEpLmpvaW4oIi8iKSxzPXIubWF0Y2goL14oXEQqKShcZCspJC8pO2xldCBsLGMsdT0iIjtzPyhsPXNbMV0sYz1zWzJdKToobD1lP3Iuc3Vic3RyKDAsci5sZW5ndGgtMSk6cixjPTAsdT1lPyIqIjoiIik7Y29uc3QgaD1WJHQobCx1LGEpO29baF09b1toXXx8W107Y29uc3QgZD1GJHQobCx1LGEsK2MsdCxuKTtvW2hdLnB1c2goZCl9KSksQ2UuZXhwb3J0cy5lYWNoKG8sKGZ1bmN0aW9uKHQsbyl7aWYodC5sZW5ndGg8MilyZXR1cm47dC5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybit0LmNsdXN0ZXJJZC0rZS5jbHVzdGVySWR9KSk7bGV0IGE9W3RbMF1dO2ZvcihsZXQgbz0xO288dC5sZW5ndGg7bysrKXtsZXQgcz10W29dO3MuY2x1c3RlcklkIT09YVthLmxlbmd0aC0xXS5jbHVzdGVySWQrMT8oaEt0KGEsaSwrcixlLG4pLGE9W3NdKTphLnB1c2gocyl9aEt0KGEsaSwrcixlLG4pfSkpfSkpLGl9ZnVuY3Rpb24gdUt0KHQsZSxuKXtsZXQgaT17fTtyZXR1cm4gQ2UuZXhwb3J0cy5lYWNoKHQsKGZ1bmN0aW9uKHQscil7aWYodC5sZW5ndGg8PTEpcmV0dXJuO2xldCBvPXt9LGE9e307Q2UuZXhwb3J0cy5lYWNoKHQsKGZ1bmN0aW9uKHQpe2xldCBlPSIqIj09PXQuY2hhckF0KHQubGVuZ3RoLTEpLGk9dC5zcGxpdCgiLyIpLHI9aVtpLmxlbmd0aC0xXSxzPWkuc2xpY2UoMCxpLmxlbmd0aC0xKS5qb2luKCIvIik7Y29uc3QgbD0vKFxkKykvZztsZXQgYyx1LGgsZCxwLGY9MDtmb3IoO2M9bC5leGVjKHIpOykrK2YsdT1yLnNsaWNlKDAsYy5pbmRleCksaD1jWzBdLGQ9ci5zbGljZShjLmluZGV4K2NbMF0ubGVuZ3RoKSxwPVYkdCh1LGQscyksb1twXT1vW3BdLG9bcF18fChvW3BdPUYkdCh1LGQscywraCx0LG4pKSxvW3BdLmlkcy5wdXNoKGgpLGFbdF09YVt0XXx8W10sYVt0XS5wdXNoKFtwLGhdKTtmPDEmJih1PWU/ci5zdWJzdHIoMCxyLmxlbmd0aC0xKTpyLGg9MCxkPWU/IioiOiIiLHA9ViR0KHUsZCxzKSxvW3BdPW9bcF0sb1twXXx8KG9bcF09RiR0KHUsZCxzLCtoLHQsbikpLG9bcF0uaWRzLnB1c2goaCksYVt0XT1hW3RdfHxbXSxhW3RdLnB1c2goW3AsaF0pKX0pKTt2YXIgcz17fTtDZS5leHBvcnRzLmVhY2goYSwoZnVuY3Rpb24odCxlKXt0LnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG9bZVswXV0uaWRzLmxlbmd0aC1vW3RbMF1dLmlkcy5sZW5ndGh9KSk7dmFyIGk9dFswXVswXSxyPXRbMF1bMV07c1tpXT1zW2ldfHxbXTtjb25zdCBhPWUuc3BsaXQoIi8iKSxsPWEuc2xpY2UoMCxhLmxlbmd0aC0xKS5qb2luKCIvIik7dmFyIGM9RiR0KG9baV0ucHJlZml4LG9baV0uc3VmZml4LGwsK3IsZSxuKTtzW2ldLnB1c2goYyl9KSksQ2UuZXhwb3J0cy5lYWNoKHMsKGZ1bmN0aW9uKHQsbyl7aWYodC5sZW5ndGg8MilyZXR1cm47dC5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybit0LmNsdXN0ZXJJZC0rZS5jbHVzdGVySWR9KSk7bGV0IGE9W3RbMF1dO2ZvcihsZXQgbz0xO288dC5sZW5ndGg7bysrKXtsZXQgcz10W29dO3MuY2x1c3RlcklkIT09YVthLmxlbmd0aC0xXS5jbHVzdGVySWQrMT8oaEt0KGEsaSwrcixlLG4pLGE9W3NdKTphLnB1c2gocyl9aEt0KGEsaSwrcixlLG4pfSkpfSkpLGl9ZnVuY3Rpb24gaEt0KHQsZSxuLGkscil7aWYodC5sZW5ndGg+MSl7bGV0IG89ViR0KHRbMF0ucHJlZml4LHRbMF0uc3VmZml4LHRbMF0ucGFyZW50LHRbMF0uY2x1c3RlcklkLHRbdC5sZW5ndGgtMV0uY2x1c3RlcklkKSxhPUYkdCh0WzBdLnByZWZpeCx0WzBdLnN1ZmZpeCx0WzBdLnBhcmVudCxuLG8scik7Q2UuZXhwb3J0cy5lYWNoKHQsKGZ1bmN0aW9uKHQpe2EuaWRzLnB1c2godC5jbHVzdGVySWQpLGEubWV0YWdyYXBoLnNldE5vZGUodC5uYW1lLGkubm9kZSh0Lm5hbWUpKX0pKSxlW29dPWF9fWxldCBkS3Q9IiNmZmZmZmYiLHBLdD0iI2IyYjJiMiIsZkt0PSIjMGY5ZDU4IixtS3Q9IiNkYjQ0MzciLGdLdD17REVGQVVMVF9GSUxMOiIjZDlkOWQ5IixERUZBVUxUX1NUUk9LRToiI2E2YTZhNiIsU0FUVVJBVElPTjouNixMSUdIVE5FU1M6Ljg1LEVYUEFOREVEX0NPTE9SOiIjZjBmMGYwIixIVUVTOlsyMjAsMTAwLDE4MCw0MCwyMCwzNDAsMjYwLDMwMCwxNDAsNjBdLFNUUlVDVFVSRV9QQUxFVFRFKHQsZSl7bGV0IG49Z0t0LkhVRVMsaT1uW3Qlbi5sZW5ndGhdLHI9TWF0aC5zaW4oaSpNYXRoLlBJLzM2MCk7cmV0dXJuIGNkKGksLjAxKihlPzMwOjkwLTYwKnIpLC4wMSooZT85NTo4MCkpLnRvU3RyaW5nKCl9LERFVklDRV9QQUxFVFRFOnQ9PmdLdC5TVFJVQ1RVUkVfUEFMRVRURSh0KSxYTEFfQ0xVU1RFUl9QQUxFVFRFOnQ9PmdLdC5TVFJVQ1RVUkVfUEFMRVRURSh0KSxVTktOT1dOOiIjZWVlIixHUkFESUVOVF9PVVRMSU5FOiIjODg4In0sX0t0PSJ3aGl0ZSIseUt0PSIjYjJiMmIyIjtjb25zdCB2S3Q9MTUsYkt0PTUseEt0PTQsd0t0PTQsU0t0PVsiTm9PcCJdLE1LdD1bXSxFS3Q9WyIjZmZmNWYwIiwiI2ZiNmE0YSJdLFRLdD01LENLdD1uZXcgUmVnRXhwKCJeKD86X19mdW5jdGlvbl9saWJyYXJ5X18pPyhcXHcrKV9bYS16MC05XXs4fSg/Ol9cXGQrKT8kIik7Y2xhc3MgQUt0e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmhpZXJhcmNoeT10LHRoaXMuZGlzcGxheWluZ1N0YXRzPWUsdGhpcy5hdXRvRXh0cmFjdE5vZGVzPW4sdGhpcy5pbmRleD17fSx0aGlzLnJlbmRlcmVkT3BOYW1lcz1bXSx0aGlzLmNvbXB1dGVTY2FsZXMoKSx0aGlzLmhhc1N1YmhpZXJhcmNoeT17fSx0aGlzLnJvb3Q9bmV3IHpLdCh0LnJvb3QsdC5ncmFwaE9wdGlvbnMpLHRoaXMuaW5kZXhbdC5yb290Lm5hbWVdPXRoaXMucm9vdCx0aGlzLnJlbmRlcmVkT3BOYW1lcy5wdXNoKHQucm9vdC5uYW1lKSx0aGlzLmJ1aWxkU3ViaGllcmFyY2h5KHQucm9vdC5uYW1lKSx0aGlzLnJvb3QuZXhwYW5kZWQ9ITAsdGhpcy50cmFjZUlucHV0cz0hMX1jb21wdXRlU2NhbGVzKCl7dGhpcy5kZXZpY2VDb2xvck1hcD1ZTSgpLmRvbWFpbih0aGlzLmhpZXJhcmNoeS5kZXZpY2VzKS5yYW5nZShDZS5leHBvcnRzLm1hcChLbCh0aGlzLmhpZXJhcmNoeS5kZXZpY2VzLmxlbmd0aCksZ0t0LkRFVklDRV9QQUxFVFRFKSksdGhpcy54bGFDbHVzdGVyQ29sb3JNYXA9WU0oKS5kb21haW4odGhpcy5oaWVyYXJjaHkueGxhQ2x1c3RlcnMpLnJhbmdlKENlLmV4cG9ydHMubWFwKEtsKHRoaXMuaGllcmFyY2h5LnhsYUNsdXN0ZXJzLmxlbmd0aCksZ0t0LlhMQV9DTFVTVEVSX1BBTEVUVEUpKTtsZXQgdD10aGlzLmhpZXJhcmNoeS5yb290Lm1ldGFncmFwaCxlPW9jKHQubm9kZXMoKSwoKGUsbik9PntsZXQgaT10Lm5vZGUoZSk7aWYobnVsbCE9aS5zdGF0cylyZXR1cm4gaS5zdGF0cy50b3RhbEJ5dGVzfSkpO3RoaXMubWVtb3J5VXNhZ2VTY2FsZT1jRSgpLmRvbWFpbihbMCxlXSkucmFuZ2UoRUt0KTtsZXQgbj1vYyh0Lm5vZGVzKCksKChlLG4pPT57bGV0IGk9dC5ub2RlKGUpO2lmKG51bGwhPWkuc3RhdHMpcmV0dXJuIGkuc3RhdHMuZ2V0VG90YWxNaWNyb3MoKX0pKTt0aGlzLmNvbXB1dGVUaW1lU2NhbGU9Y0UoKS5kb21haW4oWzAsbl0pLnJhbmdlKEVLdCksdGhpcy5lZGdlV2lkdGhTaXplZEJhc2VkU2NhbGU9dGhpcy5oaWVyYXJjaHkuaGFzU2hhcGVJbmZvP3UkdDpjRSgpLmRvbWFpbihbMSx0aGlzLmhpZXJhcmNoeS5tYXhNZXRhRWRnZVNpemVdKS5yYW5nZShbYyR0LDEyXSl9Z2V0UmVuZGVyTm9kZUJ5TmFtZSh0KXtyZXR1cm4gdGhpcy5pbmRleFt0XX1nZXROb2RlQnlOYW1lKHQpe3JldHVybiB0aGlzLmhpZXJhcmNoeS5ub2RlKHQpfWNvbG9ySGlzdG9ncmFtKHQsZSl7aWYoT2JqZWN0LmtleXModCkubGVuZ3RoPjApe2NvbnN0IG49Q2UuZXhwb3J0cy5zdW0oT2JqZWN0LmtleXModCkubWFwKChlPT50W2VdKSkpO3JldHVybiBPYmplY3Qua2V5cyh0KS5tYXAoKGk9Pih7Y29sb3I6ZShpKSxwcm9wb3J0aW9uOnRbaV0vbn0pKSl9cmV0dXJuIG51bGx9Z2V0T3JDcmVhdGVSZW5kZXJOb2RlQnlOYW1lKHQpe2lmKCF0KXJldHVybiBudWxsO2lmKHQgaW4gdGhpcy5pbmRleClyZXR1cm4gdGhpcy5pbmRleFt0XTtsZXQgZT10aGlzLmhpZXJhcmNoeS5ub2RlKHQpO2lmKCFlKXJldHVybiBudWxsO2xldCBuPWUuaXNHcm91cE5vZGU/bmV3IHpLdChlLHRoaXMuaGllcmFyY2h5LmdyYXBoT3B0aW9ucyk6bmV3IE5LdChlKTt0aGlzLmluZGV4W3RdPW4sdGhpcy5yZW5kZXJlZE9wTmFtZXMucHVzaCh0KSxlLnN0YXRzJiYobi5tZW1vcnlDb2xvcj10aGlzLm1lbW9yeVVzYWdlU2NhbGUoZS5zdGF0cy50b3RhbEJ5dGVzKSxuLmNvbXB1dGVUaW1lQ29sb3I9dGhpcy5jb21wdXRlVGltZVNjYWxlKGUuc3RhdHMuZ2V0VG90YWxNaWNyb3MoKSkpLG4uaXNGYWRlZE91dD10aGlzLmRpc3BsYXlpbmdTdGF0cyYmIWIkdChlLnN0YXRzKTt2YXIgaT1udWxsLHI9bnVsbCxvPW51bGw7aWYoZS5pc0dyb3VwTm9kZSl7aT1lLmRldmljZUhpc3RvZ3JhbSxyPWUueGxhQ2x1c3Rlckhpc3RvZ3JhbTtsZXQgdD1lLmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uY29tcGF0aWJsZSxuPWUuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5pbmNvbXBhdGlibGU7MD09dCYmMD09bnx8KG89dC8odCtuKSl9ZWxzZXtsZXQgdD1uLm5vZGUuZGV2aWNlO3QmJihpPXtbdF06MX0pO2xldCBlPW4ubm9kZS54bGFDbHVzdGVyO2UmJihyPXtbZV06MX0pLG4ubm9kZS50eXBlPT09QSR0Lk9QJiYobz1uLm5vZGUuY29tcGF0aWJsZT8xOjApfXJldHVybiBpJiYobi5kZXZpY2VDb2xvcnM9dGhpcy5jb2xvckhpc3RvZ3JhbShpLHRoaXMuZGV2aWNlQ29sb3JNYXApKSxyJiYobi54bGFDbHVzdGVyQ29sb3JzPXRoaXMuY29sb3JIaXN0b2dyYW0ocix0aGlzLnhsYUNsdXN0ZXJDb2xvck1hcCkpLG51bGwhPW8mJihuLmNvbXBhdGliaWxpdHlDb2xvcnM9W3tjb2xvcjpmS3QscHJvcG9ydGlvbjpvfSx7Y29sb3I6bUt0LHByb3BvcnRpb246MS1vfV0pLHRoaXMuaW5kZXhbdF19Z2V0TmVhcmVzdFZpc2libGVBbmNlc3Rvcih0KXtsZXQgZT1aJHQodCksbj0wLGk9bnVsbCxyPXQ7Zm9yKDtuPGUubGVuZ3RoJiYocj1lW25dLGk9dGhpcy5nZXRSZW5kZXJOb2RlQnlOYW1lKHIpLGkuZXhwYW5kZWQpO24rKyk7aWYobj09ZS5sZW5ndGgtMil7bGV0IHQ9ZVtuKzFdO2lmKGkuaW5Bbm5vdGF0aW9ucy5ub2RlTmFtZXNbdF0pcmV0dXJuIHQ7aWYoaS5vdXRBbm5vdGF0aW9ucy5ub2RlTmFtZXNbdF0pcmV0dXJuIHR9cmV0dXJuIHJ9c2V0RGVwdGgodCl7REt0KHRoaXMucm9vdCwrdCl9aXNOb2RlQXV4aWxpYXJ5KHQpe2xldCBlPXRoaXMuZ2V0UmVuZGVyTm9kZUJ5TmFtZSh0Lm5vZGUucGFyZW50Tm9kZS5uYW1lKSxuPUNlLmV4cG9ydHMuZmluZChlLmlzb2xhdGVkSW5FeHRyYWN0LChlPT5lLm5vZGUubmFtZT09PXQubm9kZS5uYW1lKSk7cmV0dXJuISFufHwobj1DZS5leHBvcnRzLmZpbmQoZS5pc29sYXRlZE91dEV4dHJhY3QsKGU9PmUubm9kZS5uYW1lPT09dC5ub2RlLm5hbWUpKSwhIW4pfWdldE5hbWVzT2ZSZW5kZXJlZE9wcygpe3JldHVybiB0aGlzLnJlbmRlcmVkT3BOYW1lc31jbG9uZUFuZEFkZEZ1bmN0aW9uT3BOb2RlKHQsZSxuLGkpe2NvbnN0IHI9bi5uYW1lLnJlcGxhY2UoZSxpKTtsZXQgbz10Lm1ldGFncmFwaC5ub2RlKHIpO2lmKG8pcmV0dXJuIG87bz1uZXcgTyR0KHtuYW1lOnIsaW5wdXQ6W10sZGV2aWNlOm4uZGV2aWNlLG9wOm4ub3AsYXR0cjpDZS5leHBvcnRzLmNsb25lRGVlcChuLmF0dHIpfSksby5jYXJkaW5hbGl0eT1uLmNhcmRpbmFsaXR5LG8uaW5jbHVkZT1uLmluY2x1ZGUsby5vdXRwdXRTaGFwZXM9Q2UuZXhwb3J0cy5jbG9uZURlZXAobi5vdXRwdXRTaGFwZXMpLG8ueGxhQ2x1c3Rlcj1uLnhsYUNsdXN0ZXIsby5mdW5jdGlvbklucHV0SW5kZXg9bi5mdW5jdGlvbklucHV0SW5kZXgsby5mdW5jdGlvbk91dHB1dEluZGV4PW4uZnVuY3Rpb25PdXRwdXRJbmRleCxvLmlucHV0cz1uLmlucHV0cy5tYXAoKHQ9Pntjb25zdCBuPUNlLmV4cG9ydHMuY2xvbmUodCk7cmV0dXJuIG4ubmFtZT10Lm5hbWUucmVwbGFjZShlLGkpLG59KSksby5wYXJlbnROb2RlPXQsdC5tZXRhZ3JhcGguc2V0Tm9kZShvLm5hbWUsbyksdGhpcy5oaWVyYXJjaHkuc2V0Tm9kZShvLm5hbWUsbyk7Y29uc3QgYT1uPT50aGlzLmNsb25lQW5kQWRkRnVuY3Rpb25PcE5vZGUodCxlLG4saSk7cmV0dXJuIG8uaW5FbWJlZGRpbmdzPW4uaW5FbWJlZGRpbmdzLm1hcChhKSxvLm91dEVtYmVkZGluZ3M9bi5vdXRFbWJlZGRpbmdzLm1hcChhKSxvfWNsb25lRnVuY3Rpb25MaWJyYXJ5TWV0YW5vZGUodCxlLG4saSxyKXtjb25zdCBvPXt9LGE9dGhpcy5jbG9uZUZ1bmN0aW9uTGlicmFyeU1ldGFub2RlSGVscGVyKHQsZSxuLGkscixvKTtyZXR1cm4gQ2UuZXhwb3J0cy5pc0VtcHR5KG8pfHx0aGlzLnBhdGNoRWRnZXNGcm9tRnVuY3Rpb25PdXRwdXRzKGUsbyksYX1jbG9uZUZ1bmN0aW9uTGlicmFyeU1ldGFub2RlSGVscGVyKHQsZSxuLGkscixvKXtjb25zdCBhPXokdChuLm5hbWUucmVwbGFjZShpLHIpKTtyZXR1cm4gYS5kZXB0aD1uLmRlcHRoLGEuY2FyZGluYWxpdHk9bi5jYXJkaW5hbGl0eSxhLnRlbXBsYXRlSWQ9bi50ZW1wbGF0ZUlkLGEub3BIaXN0b2dyYW09Q2UuZXhwb3J0cy5jbG9uZShuLm9wSGlzdG9ncmFtKSxhLmRldmljZUhpc3RvZ3JhbT1DZS5leHBvcnRzLmNsb25lKG4uZGV2aWNlSGlzdG9ncmFtKSxhLnhsYUNsdXN0ZXJIaXN0b2dyYW09Q2UuZXhwb3J0cy5jbG9uZShuLnhsYUNsdXN0ZXJIaXN0b2dyYW0pLGEuaGFzTm9uQ29udHJvbEVkZ2VzPW4uaGFzTm9uQ29udHJvbEVkZ2VzLGEuaW5jbHVkZT1uLmluY2x1ZGUsYS5ub2RlQXR0cmlidXRlcz1DZS5leHBvcnRzLmNsb25lKG4ubm9kZUF0dHJpYnV0ZXMpLGEuYXNzb2NpYXRlZEZ1bmN0aW9uPW4uYXNzb2NpYXRlZEZ1bmN0aW9uLENlLmV4cG9ydHMuZWFjaChuLm1ldGFncmFwaC5ub2RlcygpLChzPT57Y29uc3QgbD1uLm1ldGFncmFwaC5ub2RlKHMpO3N3aXRjaChsLnR5cGUpe2Nhc2UgQSR0Lk1FVEE6Y29uc3Qgbj10aGlzLmNsb25lRnVuY3Rpb25MaWJyYXJ5TWV0YW5vZGVIZWxwZXIodCxlLGwsaSxyLG8pO24ucGFyZW50Tm9kZT1hLGEubWV0YWdyYXBoLnNldE5vZGUobi5uYW1lLG4pLHRoaXMuaGllcmFyY2h5LnNldE5vZGUobi5uYW1lLG4pO2JyZWFrO2Nhc2UgQSR0Lk9QOmNvbnN0IHM9dGhpcy5jbG9uZUFuZEFkZEZ1bmN0aW9uT3BOb2RlKGEsaSxsLHIpO0NlLmV4cG9ydHMuaXNOdW1iZXIocy5mdW5jdGlvbklucHV0SW5kZXgpJiZ0aGlzLnBhdGNoRWRnZXNJbnRvRnVuY3Rpb25JbnB1dHMoZSxzKSxDZS5leHBvcnRzLmlzTnVtYmVyKHMuZnVuY3Rpb25PdXRwdXRJbmRleCkmJihvW3MuZnVuY3Rpb25PdXRwdXRJbmRleF09cyk7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLndhcm4obC5uYW1lKyIgaXMgb2RkbHkgbmVpdGhlciBhIG1ldGFub2RlIG5vciBhbiBvcG5vZGUuIil9fSkpLHRoaXMuY2xvbmVMaWJyYXJ5TWV0YW5vZGVFZGdlcyhuLGEsaSxyKSxhfWNsb25lTGlicmFyeU1ldGFub2RlRWRnZXModCxlLG4saSl7Q2UuZXhwb3J0cy5lYWNoKHQubWV0YWdyYXBoLmVkZ2VzKCksKHI9Pntjb25zdCBvPXQubWV0YWdyYXBoLmVkZ2UociksYT1vLnYucmVwbGFjZShuLGkpLHM9by53LnJlcGxhY2UobixpKSxsPW5ldyBIJHQoYSxzKTtsLmluYm91bmQ9by5pbmJvdW5kLGwubnVtUmVndWxhckVkZ2VzPW8ubnVtUmVndWxhckVkZ2VzLGwubnVtQ29udHJvbEVkZ2VzPW8ubnVtQ29udHJvbEVkZ2VzLGwubnVtUmVmRWRnZXM9by5udW1SZWZFZGdlcyxsLnRvdGFsU2l6ZT1vLnRvdGFsU2l6ZSxvLmJhc2VFZGdlTGlzdCYmKGwuYmFzZUVkZ2VMaXN0PW8uYmFzZUVkZ2VMaXN0Lm1hcCgodD0+e2NvbnN0IGU9Q2UuZXhwb3J0cy5jbG9uZSh0KTtyZXR1cm4gZS52PXQudi5yZXBsYWNlKG4saSksZS53PXQudy5yZXBsYWNlKG4saSksZX0pKSksZS5tZXRhZ3JhcGgubm9kZShzKT9lLm1ldGFncmFwaC5zZXRFZGdlKGEscyxsKTplLm1ldGFncmFwaC5zZXRFZGdlKHMsYSxsKX0pKX1wYXRjaEVkZ2VzSW50b0Z1bmN0aW9uSW5wdXRzKHQsZSl7bGV0IG49TWF0aC5taW4oZS5mdW5jdGlvbklucHV0SW5kZXgsdC5pbnB1dHMubGVuZ3RoLTEpLGk9Q2UuZXhwb3J0cy5jbG9uZSh0LmlucHV0c1tuXSk7Zm9yKDtpLmlzQ29udHJvbERlcGVuZGVuY3k7KW4rKyxpPXQuaW5wdXRzW25dO2UuaW5wdXRzLnB1c2goaSk7Y29uc3Qgcj10aGlzLmhpZXJhcmNoeS5nZXRQcmVkZWNlc3NvcnModC5uYW1lKTtsZXQgbyxhPTA7Q2UuZXhwb3J0cy5lYWNoKHIucmVndWxhciwodD0+e2lmKGErPXQubnVtUmVndWxhckVkZ2VzLGE+bilyZXR1cm4gbz10LCExfSkpLENlLmV4cG9ydHMuZWFjaChvLmJhc2VFZGdlTGlzdCwobj0+e24udz09PXQubmFtZSYmKG4udz1lLm5hbWUpLG4udj09PXQubmFtZSYmKG4udj1lLm5hbWUpfSkpfXBhdGNoRWRnZXNGcm9tRnVuY3Rpb25PdXRwdXRzKHQsZSl7Y29uc3Qgbj10aGlzLmhpZXJhcmNoeS5nZXRTdWNjZXNzb3JzKHQubmFtZSk7Q2UuZXhwb3J0cy5lYWNoKG4ucmVndWxhciwobj0+e0NlLmV4cG9ydHMuZWFjaChuLmJhc2VFZGdlTGlzdCwobj0+e2NvbnN0IGk9dGhpcy5oaWVyYXJjaHkubm9kZShuLncpO0NlLmV4cG9ydHMuZWFjaChpLmlucHV0cywoaT0+e2lmKGkubmFtZT09PXQubmFtZSl7aS5uYW1lPWVbaS5vdXRwdXRUZW5zb3JLZXldLm5hbWUsaS5vdXRwdXRUZW5zb3JLZXk9bi5vdXRwdXRUZW5zb3JLZXl9fSkpfSkpLENlLmV4cG9ydHMuZWFjaChuLmJhc2VFZGdlTGlzdCwodD0+e3Qudj1lW3Qub3V0cHV0VGVuc29yS2V5XS5uYW1lLHQub3V0cHV0VGVuc29yS2V5PSIwIn0pKX0pKX1idWlsZFN1YmhpZXJhcmNoeSh0KXtpZih0IGluIHRoaXMuaGFzU3ViaGllcmFyY2h5KXJldHVybjt0aGlzLmhhc1N1YmhpZXJhcmNoeVt0XT0hMDtsZXQgZT10aGlzLmluZGV4W3RdO2lmKGUubm9kZS50eXBlIT09QSR0Lk1FVEEmJmUubm9kZS50eXBlIT09QSR0LlNFUklFUylyZXR1cm47bGV0IG49ZSxpPW4ubm9kZS5tZXRhZ3JhcGgscj1uLmNvcmVHcmFwaDtjb25zdCBvPVtdLGE9W107Q2UuZXhwb3J0cy5pc0VtcHR5KHRoaXMuaGllcmFyY2h5LmxpYnJhcnlGdW5jdGlvbnMpfHwoQ2UuZXhwb3J0cy5lYWNoKGkubm9kZXMoKSwodD0+e2NvbnN0IGU9aS5ub2RlKHQpLG49dGhpcy5oaWVyYXJjaHkubGlicmFyeUZ1bmN0aW9uc1tlLm9wXTtpZighbilyZXR1cm47aWYoMD09PXQuaW5kZXhPZihUJHQpKXJldHVybjtjb25zdCByPXRoaXMuY2xvbmVGdW5jdGlvbkxpYnJhcnlNZXRhbm9kZShpLGUsbi5ub2RlLG4ubm9kZS5uYW1lLGUubmFtZSk7by5wdXNoKGUpLGEucHVzaChyKX0pKSxDZS5leHBvcnRzLmVhY2goYSwoKHQsZSk9Pntjb25zdCBuPW9bZV07dC5wYXJlbnROb2RlPW4ucGFyZW50Tm9kZSxpLnNldE5vZGUobi5uYW1lLHQpLHRoaXMuaGllcmFyY2h5LnNldE5vZGUobi5uYW1lLHQpfSkpKSxDZS5leHBvcnRzLmVhY2goaS5ub2RlcygpLCh0PT57bGV0IGU9dGhpcy5nZXRPckNyZWF0ZVJlbmRlck5vZGVCeU5hbWUodCksbj1lLm5vZGU7ci5zZXROb2RlKHQsZSksbi5pc0dyb3VwTm9kZXx8KENlLmV4cG9ydHMuZWFjaChuLmluRW1iZWRkaW5ncywodD0+e2xldCBuPW5ldyBJS3QobnVsbCksaT1uZXcgTkt0KHQpO1JLdChlLHQsaSxuLExLdC5DT05TVEFOVCksdGhpcy5pbmRleFt0Lm5hbWVdPWl9KSksQ2UuZXhwb3J0cy5lYWNoKG4ub3V0RW1iZWRkaW5ncywodD0+e2xldCBuPW5ldyBJS3QobnVsbCksaT1uZXcgTkt0KHQpO09LdChlLHQsaSxuLExLdC5TVU1NQVJZKSx0aGlzLmluZGV4W3QubmFtZV09aX0pKSl9KSksQ2UuZXhwb3J0cy5lYWNoKGkuZWRnZXMoKSwodD0+e2xldCBlPWkuZWRnZSh0KSxuPW5ldyBJS3QoZSk7bi5pc0ZhZGVkT3V0PXRoaXMuaW5kZXhbdC52XS5pc0ZhZGVkT3V0fHx0aGlzLmluZGV4W3Qud10uaXNGYWRlZE91dCxyLnNldEVkZ2UodC52LHQudyxuKX0pKSxuLm5vZGUudHlwZT09PUEkdC5NRVRBJiYoZnVuY3Rpb24gcyh0LGUpeyhmdW5jdGlvbiBuKHQpe2xldCBlPXQuY29yZUdyYXBoO0NlLmV4cG9ydHMuZWFjaChlLm5vZGVzKCksKG49PntlLm5vZGUobikubm9kZS5pbmNsdWRlIT09ayR0LkVYQ0xVREV8fG4uc3RhcnRzV2l0aChUJHQpfHwodC5jb3JlR3JhcGgub3V0RWRnZXMobikubGVuZ3RoPnQuY29yZUdyYXBoLmluRWRnZXMobikubGVuZ3RoP0hLdCh0LG4pOkZLdCh0LG4pKX0pKX0pKHQpLFNLdC5sZW5ndGgmJihmdW5jdGlvbiBpKHQpe2xldCBlPXQuY29yZUdyYXBoO0NlLmV4cG9ydHMuZWFjaChlLm5vZGVzKCksKG49PntsZXQgaT1lLm5vZGUobik7aS5ub2RlLmluY2x1ZGU9PT1rJHQuVU5TUEVDSUZJRUQmJlZLdChpLm5vZGUsU0t0KSYmSEt0KHQsbil9KSl9KSh0KTtNS3QubGVuZ3RoJiYoZnVuY3Rpb24gcih0KXtsZXQgZT10LmNvcmVHcmFwaDtDZS5leHBvcnRzLmVhY2goZS5ub2RlcygpLChuPT57bGV0IGk9ZS5ub2RlKG4pO2kubm9kZS5pbmNsdWRlPT09ayR0LlVOU1BFQ0lGSUVEJiZWS3QoaS5ub2RlLE1LdCkmJkZLdCh0LG4pfSkpfSkodCk7ZSYmKGZ1bmN0aW9uIG8odCl7bGV0IGU9dC5jb3JlR3JhcGgsbj17fSxpPXt9LHI9MDtpZihDZS5leHBvcnRzLmVhY2goZS5ub2RlcygpLCh0PT57aWYoZS5ub2RlKHQpLm5vZGUuaW5jbHVkZSE9PWskdC5VTlNQRUNJRklFRClyZXR1cm47bGV0IG89Q2UuZXhwb3J0cy5yZWR1Y2UoZS5wcmVkZWNlc3NvcnModCksKChuLGkpPT5uKyhlLmVkZ2UoaSx0KS5tZXRhZWRnZS5udW1SZWd1bGFyRWRnZXM/MTowKSksMCk7MD09PW8mJmUucHJlZGVjZXNzb3JzKHQpLmxlbmd0aD4wJiYobz1lLnByZWRlY2Vzc29ycyh0KS5sZW5ndGgpO2xldCBhPUNlLmV4cG9ydHMucmVkdWNlKGUuc3VjY2Vzc29ycyh0KSwoKG4saSk9Pm4rKGUuZWRnZSh0LGkpLm1ldGFlZGdlLm51bVJlZ3VsYXJFZGdlcz8xOjApKSwwKTswPT09YSYmZS5zdWNjZXNzb3JzKHQpLmxlbmd0aD4wJiYoYT1lLnN1Y2Nlc3NvcnModCkubGVuZ3RoKSxuW3RdPW8saVt0XT1hLHIrK30pKSxyPHZLdClyZXR1cm47bGV0IG89Ykt0LTEsYT1NYXRoLnJvdW5kKC43NSpyKSxzPU1hdGgucm91bmQoLjI1KnIpLGw9T2JqZWN0LmtleXMobikuc29ydCgoKHQsZSk9Pm5bdF0tbltlXSkpLGM9bltsW2FdXSx1PWMrYy1uW2xbc11dO3U9TWF0aC5tYXgodSxvKTtmb3IobGV0IGU9ci0xO25bbFtlXV0+dTtlLS0pRkt0KHQsbFtlXSk7bGV0IGg9T2JqZWN0LmtleXMoaSkuc29ydCgoKHQsZSk9PmlbdF0taVtlXSkpLGQ9aVtoW2FdXSxwPWQrNCooZC1pW2hbc11dKTtwPU1hdGgubWF4KHAsbyk7Zm9yKGxldCBuPXItMTtpW2hbbl1dPnA7bi0tKXtsZXQgaT1lLm5vZGUoaFtuXSk7aSYmIWkuaXNJbkV4dHJhY3QmJkhLdCh0LGhbbl0pfX0pKHQpOyEoZnVuY3Rpb24gYSh0KXtsZXQgZT10LmNvcmVHcmFwaCxuPXt9O0NlLmV4cG9ydHMuZWFjaChlLmVkZ2VzKCksKHQ9PntlLmVkZ2UodCkubWV0YWVkZ2UubnVtUmVndWxhckVkZ2VzfHwoKG5bdC52XT1uW3Qudl18fFtdKS5wdXNoKHQpLChuW3Qud109blt0LnddfHxbXSkucHVzaCh0KSl9KSksQ2UuZXhwb3J0cy5lYWNoKG4sKCh0LG4pPT57dC5sZW5ndGg+eEt0JiZDZS5leHBvcnRzLmVhY2godCwodD0+Qkt0KGUsdC52LHQudykpKX0pKX0pKHQpO2xldCBzPXQuY29yZUdyYXBoO0NlLmV4cG9ydHMuZWFjaChzLm5vZGVzKCksKGU9PntsZXQgbj1zLm5vZGUoZSksaT1zLm5laWdoYm9ycyhlKS5sZW5ndGg7aWYobi5ub2RlLmluY2x1ZGU9PT1rJHQuVU5TUEVDSUZJRUQmJjA9PT1pKXtsZXQgaT1uLm91dEFubm90YXRpb25zLmxpc3QubGVuZ3RoPjAscj1uLmluQW5ub3RhdGlvbnMubGlzdC5sZW5ndGg+MDtuLmlzSW5FeHRyYWN0Pyh0Lmlzb2xhdGVkSW5FeHRyYWN0LnB1c2gobiksbi5ub2RlLmluY2x1ZGU9ayR0LkVYQ0xVREUscy5yZW1vdmVOb2RlKGUpKTpuLmlzT3V0RXh0cmFjdD8odC5pc29sYXRlZE91dEV4dHJhY3QucHVzaChuKSxuLm5vZGUuaW5jbHVkZT1rJHQuRVhDTFVERSxzLnJlbW92ZU5vZGUoZSkpOmkmJiFyPyhuLmlzSW5FeHRyYWN0PSEwLHQuaXNvbGF0ZWRJbkV4dHJhY3QucHVzaChuKSxuLm5vZGUuaW5jbHVkZT1rJHQuRVhDTFVERSxzLnJlbW92ZU5vZGUoZSkpOnImJiFpJiYobi5pc091dEV4dHJhY3Q9ITAsdC5pc29sYXRlZE91dEV4dHJhY3QucHVzaChuKSxuLm5vZGUuaW5jbHVkZT1rJHQuRVhDTFVERSxzLnJlbW92ZU5vZGUoZSkpfX0pKX0pKG4sdGhpcy5hdXRvRXh0cmFjdE5vZGVzKSxDZS5leHBvcnRzLmlzRW1wdHkodGhpcy5oaWVyYXJjaHkubGlicmFyeUZ1bmN0aW9ucyl8fHRoaXMuYnVpbGRTdWJoaWVyYXJjaGllc0Zvck5lZWRlZEZ1bmN0aW9ucyhpKSx0PT09RSR0JiZDZS5leHBvcnRzLmZvck93bih0aGlzLmhpZXJhcmNoeS5saWJyYXJ5RnVuY3Rpb25zLCgodCxlKT0+e2NvbnN0IGk9dC5ub2RlLG89dGhpcy5nZXRPckNyZWF0ZVJlbmRlck5vZGVCeU5hbWUoaS5uYW1lKTtuLmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0LnB1c2gobyksby5ub2RlLmluY2x1ZGU9ayR0LkVYQ0xVREUsci5yZW1vdmVOb2RlKGkubmFtZSl9KSk7bGV0IGw9bi5ub2RlLnBhcmVudE5vZGU7aWYoIWwpcmV0dXJuO2xldCBjPXRoaXMuaW5kZXhbbC5uYW1lXSx1PSh0LC4uLmUpPT5lLmNvbmNhdChbdD8iSU4iOiJPVVQiXSkuam9pbigifn4iKSxoPXRoaXMuaGllcmFyY2h5LmdldEJyaWRnZWdyYXBoKHQpLGQ9e2luOnt9LG91dDp7fSxjb250cm9sOnt9fTtDZS5leHBvcnRzLmVhY2goaC5lZGdlcygpLCh0PT57bGV0IGU9ISFpLm5vZGUodC53KSxuPWU/dC52OnQudztoLmVkZ2UodCkubnVtUmVndWxhckVkZ2VzP2U/ZC5vdXRbbl09KGQub3V0W25dfHwwKSsxOmQuaW5bbl09KGQuaW5bbl18fDApKzE6ZC5jb250cm9sW25dPShkLmNvbnRyb2xbbl18fDApKzF9KSk7bGV0IHA9dGhpcy5oaWVyYXJjaHkuZ2V0Tm9kZU1hcCgpO0NlLmV4cG9ydHMuZWFjaChoLmVkZ2VzKCksKG49PntsZXQgbz1oLmVkZ2UobiksYT0hIWkubm9kZShuLncpLFtzLGZdPWE/W24udyxuLnZdOltuLnYsbi53XSxtPXRoaXMuaW5kZXhbc10sZz10aGlzLmluZGV4W2ZdLF89Zz9nLm5vZGU6cFtmXSx5PSFvLm51bVJlZ3VsYXJFZGdlcyYmZC5jb250cm9sW2ZdPnhLdCxbLHZdPWE/W2UuaW5Bbm5vdGF0aW9ucyxtLmluQW5ub3RhdGlvbnNdOltlLm91dEFubm90YXRpb25zLG0ub3V0QW5ub3RhdGlvbnNdLGI9bnVsbCx4PSExO2lmKCEoKGE/ZC5vdXQ6ZC5pbilbZl0+d0t0KSYmIXkmJm0uaXNJbkNvcmUoKSl7bGV0IGU9ZT0+Yy5jb3JlR3JhcGguZWRnZShhP3t2OmUsdzp0fTp7djp0LHc6ZX0pO2I9ZShmKSxifHwoYj1lKHUoYSxmLGwubmFtZSkpKSx4PSEhYn1sZXQgdz0hMTtpZihiJiYhby5udW1SZWd1bGFyRWRnZXMpe2xldCB0PWIsZT1jLm5vZGU7Zm9yKDt0LmFkam9pbmluZ01ldGFlZGdlOyl0PXQuYWRqb2luaW5nTWV0YWVkZ2UsZT1lLnBhcmVudE5vZGU7bGV0IG49dGhpcy5oaWVyYXJjaHkuZ2V0VG9wb2xvZ2ljYWxPcmRlcmluZyhlLm5hbWUpLGk9dC5tZXRhZWRnZTt3PW5baS52XT5uW2kud119aWYoeD14JiYhdywheClyZXR1cm4gdm9pZCB2LnB1c2gobmV3IGtLdChfLGcsbmV3IElLdChvKSxMS3QuU0hPUlRDVVQsYSkpO2xldCBTPXUoYSx0KSxNPXUoYSxmLHQpLEU9ci5ub2RlKE0pO2lmKCFFKXtsZXQgdD1yLm5vZGUoUyk7aWYoIXQpe3Q9bmV3IE5LdCh7bmFtZTpTLHR5cGU6QSR0LkJSSURHRSxpc0dyb3VwTm9kZTohMSxjYXJkaW5hbGl0eTowLHBhcmVudE5vZGU6bnVsbCxzdGF0czpudWxsLGluY2x1ZGU6ayR0LlVOU1BFQ0lGSUVELGluYm91bmQ6YSxub2RlQXR0cmlidXRlczp7fX0pLHRoaXMuaW5kZXhbU109dCxyLnNldE5vZGUoUyx0KX1FPW5ldyBOS3Qoe25hbWU6TSx0eXBlOkEkdC5CUklER0UsaXNHcm91cE5vZGU6ITEsY2FyZGluYWxpdHk6MSxwYXJlbnROb2RlOm51bGwsc3RhdHM6bnVsbCxpbmNsdWRlOmskdC5VTlNQRUNJRklFRCxpbmJvdW5kOmEsbm9kZUF0dHJpYnV0ZXM6e319KSx0aGlzLmluZGV4W01dPUUsci5zZXROb2RlKE0sRSksci5zZXRQYXJlbnQoTSxTKSx0Lm5vZGUuY2FyZGluYWxpdHkrK31sZXQgVD1uZXcgSUt0KG8pO1QuYWRqb2luaW5nTWV0YWVkZ2U9YixhP3Iuc2V0RWRnZShNLHMsVCk6ci5zZXRFZGdlKHMsTSxUKX0pKSxDZS5leHBvcnRzLmVhY2goWyEwLCExXSwoZT0+e2xldCBuPXUoZSx0KSxpPXIubm9kZShuKTtpJiZDZS5leHBvcnRzLmVhY2goci5ub2RlcygpLChvPT57aWYoci5ub2RlKG8pLm5vZGUudHlwZT09PUEkdC5CUklER0UpcmV0dXJuO2lmKCEoZT8hci5wcmVkZWNlc3NvcnMobykubGVuZ3RoOiFyLnN1Y2Nlc3NvcnMobykubGVuZ3RoKSlyZXR1cm47bGV0IGE9dShlLHQsIlNUUlVDVFVSQUxfVEFSR0VUIikscz1yLm5vZGUoYSk7aWYoIXMpe3M9bmV3IE5LdCh7bmFtZTphLHR5cGU6QSR0LkJSSURHRSxpc0dyb3VwTm9kZTohMSxjYXJkaW5hbGl0eToxLHBhcmVudE5vZGU6bnVsbCxzdGF0czpudWxsLGluY2x1ZGU6ayR0LlVOU1BFQ0lGSUVELGluYm91bmQ6ZSxub2RlQXR0cmlidXRlczp7fX0pLHMuc3RydWN0dXJhbD0hMCx0aGlzLmluZGV4W2FdPXMsci5zZXROb2RlKGEscyksaS5ub2RlLmNhcmRpbmFsaXR5Kyssci5zZXRQYXJlbnQoYSxuKX1sZXQgbD1uZXcgSUt0KG51bGwpO2wuc3RydWN0dXJhbD0hMCxsLndlaWdodC0tLGU/ci5zZXRFZGdlKGEsbyxsKTpyLnNldEVkZ2UobyxhLGwpfSkpfSkpfWJ1aWxkU3ViaGllcmFyY2hpZXNGb3JOZWVkZWRGdW5jdGlvbnModCl7Q2UuZXhwb3J0cy5lYWNoKHQuZWRnZXMoKSwoZT0+e2xldCBuPXQuZWRnZShlKSxpPW5ldyBJS3Qobik7Q2UuZXhwb3J0cy5mb3JFYWNoKGkubWV0YWVkZ2UuYmFzZUVkZ2VMaXN0LCh0PT57Y29uc3QgZT10LnYuc3BsaXQoTSR0KTtmb3IobGV0IHQ9ZS5sZW5ndGg7dD49MDt0LS0pe2NvbnN0IG49ZS5zbGljZSgwLHQpLGk9dGhpcy5oaWVyYXJjaHkubm9kZShuLmpvaW4oTSR0KSk7aWYoaSl7aWYoaS50eXBlPT09QSR0Lk9QJiZ0aGlzLmhpZXJhcmNoeS5saWJyYXJ5RnVuY3Rpb25zW2kub3BdKWZvcihsZXQgdD0xO3Q8bi5sZW5ndGg7dCsrKXtjb25zdCBlPW4uc2xpY2UoMCx0KS5qb2luKE0kdCk7ZSYmdGhpcy5idWlsZFN1YmhpZXJhcmNoeShlKX1icmVha319fSkpfSkpfX1jbGFzcyBrS3R7Y29uc3RydWN0b3IodCxlLG4saSxyKXt0aGlzLm5vZGU9dCx0aGlzLnJlbmRlck5vZGVJbmZvPWUsdGhpcy5yZW5kZXJNZXRhZWRnZUluZm89bix0aGlzLmFubm90YXRpb25UeXBlPWksdGhpcy5keD0wLHRoaXMuZHk9MCx0aGlzLndpZHRoPTAsdGhpcy5oZWlnaHQ9MCxuJiZuLm1ldGFlZGdlJiYodGhpcy52PW4ubWV0YWVkZ2Uudix0aGlzLnc9bi5tZXRhZWRnZS53KSx0aGlzLmlzSW49cix0aGlzLnBvaW50cz1bXX19dmFyIExLdDshKGZ1bmN0aW9uKHQpe3RbdC5TSE9SVENVVD0wXT0iU0hPUlRDVVQiLHRbdC5DT05TVEFOVD0xXT0iQ09OU1RBTlQiLHRbdC5TVU1NQVJZPTJdPSJTVU1NQVJZIix0W3QuRUxMSVBTSVM9M109IkVMTElQU0lTIn0pKExLdHx8KExLdD17fSkpO2NsYXNzIFBLdHtjb25zdHJ1Y3Rvcigpe3RoaXMubGlzdD1bXSx0aGlzLm5vZGVOYW1lcz17fX1wdXNoKHQpe2lmKHQubm9kZS5uYW1lIGluIHRoaXMubm9kZU5hbWVzKXJldHVybjtpZih0aGlzLm5vZGVOYW1lc1t0Lm5vZGUubmFtZV09ITAsdGhpcy5saXN0Lmxlbmd0aDxUS3QpcmV0dXJuIHZvaWQgdGhpcy5saXN0LnB1c2godCk7bGV0IGU9dGhpcy5saXN0W3RoaXMubGlzdC5sZW5ndGgtMV07aWYoZS5hbm5vdGF0aW9uVHlwZT09PUxLdC5FTExJUFNJUyl7bGV0IHQ9ZS5ub2RlO3JldHVybiB2b2lkIHQuc2V0TnVtTW9yZU5vZGVzKCsrdC5udW1Nb3JlTm9kZXMpfWxldCBuPW5ldyBSJHQoMSk7dGhpcy5saXN0LnB1c2gobmV3IGtLdChuLG5ldyBOS3QobiksbnVsbCxMS3QuRUxMSVBTSVMsdC5pc0luKSl9fWNsYXNzIE5LdHtjb25zdHJ1Y3Rvcih0KXtpZih0aGlzLm5vZGU9dCx0aGlzLmV4cGFuZGVkPSExLHRoaXMuaW5Bbm5vdGF0aW9ucz1uZXcgUEt0LHRoaXMub3V0QW5ub3RhdGlvbnM9bmV3IFBLdCx0aGlzLng9MCx0aGlzLnk9MCx0aGlzLndpZHRoPTAsdGhpcy5oZWlnaHQ9MCx0aGlzLmluYm94V2lkdGg9MCx0aGlzLm91dGJveFdpZHRoPTAsdGhpcy5leGNsdWRlZD0hMSx0aGlzLnN0cnVjdHVyYWw9ITEsdGhpcy5sYWJlbE9mZnNldD0wLHRoaXMucmFkaXVzPTAsdGhpcy5sYWJlbEhlaWdodD0wLHRoaXMucGFkZGluZ1RvcD0wLHRoaXMucGFkZGluZ0xlZnQ9MCx0aGlzLnBhZGRpbmdSaWdodD0wLHRoaXMucGFkZGluZ0JvdHRvbT0wLHRoaXMuaXNJbkV4dHJhY3Q9ITEsdGhpcy5pc091dEV4dHJhY3Q9ITEsdGhpcy5jb3JlQm94PXt3aWR0aDowLGhlaWdodDowfSx0aGlzLmlzRmFkZWRPdXQ9ITEsdGhpcy5kaXNwbGF5TmFtZT10Lm5hbWUuc3Vic3RyaW5nKHQubmFtZS5sYXN0SW5kZXhPZihNJHQpKzEpLHQudHlwZT09PUEkdC5NRVRBJiZ0LmFzc29jaWF0ZWRGdW5jdGlvbil7Y29uc3QgdD10aGlzLmRpc3BsYXlOYW1lLm1hdGNoKENLdCk7dD90aGlzLmRpc3BsYXlOYW1lPXRbMV06Q2UuZXhwb3J0cy5zdGFydHNXaXRoKHRoaXMuZGlzcGxheU5hbWUsVCR0KSYmKHRoaXMuZGlzcGxheU5hbWU9dGhpcy5kaXNwbGF5TmFtZS5zdWJzdHJpbmcoVCR0Lmxlbmd0aCkpfX1pc0luQ29yZSgpe3JldHVybiF0aGlzLmlzSW5FeHRyYWN0JiYhdGhpcy5pc091dEV4dHJhY3QmJiF0aGlzLmlzTGlicmFyeUZ1bmN0aW9ufX1jbGFzcyBJS3R7Y29uc3RydWN0b3IodCl7dGhpcy5tZXRhZWRnZT10LHRoaXMuYWRqb2luaW5nTWV0YWVkZ2U9bnVsbCx0aGlzLnN0cnVjdHVyYWw9ITEsdGhpcy53ZWlnaHQ9MSx0aGlzLmlzRmFkZWRPdXQ9ITF9fWZ1bmN0aW9uIFJLdCh0LGUsbixpLHIpe2xldCBvPW5ldyBrS3QoZSxuLGksciwhMCk7dC5pbkFubm90YXRpb25zLnB1c2gobyl9ZnVuY3Rpb24gT0t0KHQsZSxuLGkscil7bGV0IG89bmV3IGtLdChlLG4saSxyLCExKTt0Lm91dEFubm90YXRpb25zLnB1c2gobyl9Y2xhc3Mgekt0IGV4dGVuZHMgTkt0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIodCk7bGV0IG49dC5tZXRhZ3JhcGguZ3JhcGgoKTt0aGlzLmNvcmVHcmFwaD1ZJHQobi5uYW1lLEMkdC5DT1JFLGUpLHRoaXMuaW5FeHRyYWN0Qm94PXt3aWR0aDowLGhlaWdodDowfSx0aGlzLm91dEV4dHJhY3RCb3g9e3dpZHRoOjAsaGVpZ2h0OjB9LHRoaXMubGlicmFyeUZ1bmN0aW9uc0JveD17d2lkdGg6MCxoZWlnaHQ6MH0sdGhpcy5pc29sYXRlZEluRXh0cmFjdD1bXSx0aGlzLmlzb2xhdGVkT3V0RXh0cmFjdD1bXSx0aGlzLmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0PVtdfX1mdW5jdGlvbiBES3QodCxlKXt0LmNvcmVHcmFwaCYmKGZ1bmN0aW9uIG4odCxlKXtDZS5leHBvcnRzLmVhY2godC5ub2RlcygpLChuPT57bGV0IGk9dC5ub2RlKG4pO2lmKGkuZXhwYW5kZWQ9ZT4xLGU+MClzd2l0Y2goaS5ub2RlLnR5cGUpe2Nhc2UgQSR0Lk1FVEE6Y2FzZSBBJHQuU0VSSUVTOkRLdChpLGUtMSl9fSkpfSkodC5jb3JlR3JhcGgsZSl9ZnVuY3Rpb24gQkt0KHQsZSxuKXtsZXQgaT10Lm5vZGUoZSkscj10Lm5vZGUobiksbz10LmVkZ2UoZSxuKTsoaS5ub2RlLmluY2x1ZGUhPT1rJHQuSU5DTFVERSYmci5ub2RlLmluY2x1ZGUhPT1rJHQuSU5DTFVERXx8aS5ub2RlLmluY2x1ZGU9PT1rJHQuRVhDTFVERXx8ci5ub2RlLmluY2x1ZGU9PT1rJHQuRVhDTFVERSkmJihPS3QoaSxyLm5vZGUscixvLExLdC5TSE9SVENVVCksUkt0KHIsaS5ub2RlLGksbyxMS3QuU0hPUlRDVVQpLHQucmVtb3ZlRWRnZShlLG4pKX1mdW5jdGlvbiBIS3QodCxlLG4pe2xldCBpPXQuY29yZUdyYXBoLHI9aS5ub2RlKGUpO3IuaXNPdXRFeHRyYWN0PSEwLENlLmV4cG9ydHMuZWFjaChpLnByZWRlY2Vzc29ycyhlKSwoKHQsbik9PntCS3QoaSx0LGUpfSkpLENlLmV4cG9ydHMuZWFjaChpLnN1Y2Nlc3NvcnMoZSksKCh0LG4pPT57Qkt0KGksZSx0KX0pKSwwPT09aS5uZWlnaGJvcnMoZSkubGVuZ3RoJiYoci5ub2RlLmluY2x1ZGU9ayR0LkVYQ0xVREUsdC5pc29sYXRlZE91dEV4dHJhY3QucHVzaChyKSxpLnJlbW92ZU5vZGUoZSkpfWZ1bmN0aW9uIEZLdCh0LGUsbil7bGV0IGk9dC5jb3JlR3JhcGgscj1pLm5vZGUoZSk7ci5pc0luRXh0cmFjdD0hMCxDZS5leHBvcnRzLmVhY2goaS5zdWNjZXNzb3JzKGUpLCgodCxuKT0+e0JLdChpLGUsdCl9KSksQ2UuZXhwb3J0cy5lYWNoKGkucHJlZGVjZXNzb3JzKGUpLCgodCxuKT0+e0JLdChpLHQsZSl9KSksMD09PWkubmVpZ2hib3JzKGUpLmxlbmd0aCYmKHIubm9kZS5pbmNsdWRlPWskdC5FWENMVURFLHQuaXNvbGF0ZWRJbkV4dHJhY3QucHVzaChyKSxpLnJlbW92ZU5vZGUoZSkpfWZ1bmN0aW9uIFZLdCh0LGUpe2lmKHQudHlwZT09PUEkdC5PUCl7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspaWYodC5vcD09PWVbbl0pcmV0dXJuITB9ZWxzZSBpZih0LnR5cGU9PT1BJHQuTUVUQSl7bGV0IG49dC5nZXRSb290T3AoKTtpZihuKWZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKG4ub3A9PT1lW3RdKXJldHVybiEwfXJldHVybiExfWNvbnN0IFVLdD17YW5pbWF0aW9uOntkdXJhdGlvbjoyNTB9LGdyYXBoOnttZXRhOntub2RlU2VwOjUscmFua1NlcDoyNSxlZGdlU2VwOjV9LHNlcmllczp7bm9kZVNlcDo1LHJhbmtTZXA6MjUsZWRnZVNlcDo1fSxwYWRkaW5nOntwYWRkaW5nVG9wOjQwLHBhZGRpbmdMZWZ0OjIwfX0sc3Vic2NlbmU6e21ldGE6e3BhZGRpbmdUb3A6MTAscGFkZGluZ0JvdHRvbToxMCxwYWRkaW5nTGVmdDoxMCxwYWRkaW5nUmlnaHQ6MTAsbGFiZWxIZWlnaHQ6MjAsZXh0cmFjdFhPZmZzZXQ6MTUsZXh0cmFjdFlPZmZzZXQ6MjB9LHNlcmllczp7cGFkZGluZ1RvcDoxMCxwYWRkaW5nQm90dG9tOjEwLHBhZGRpbmdMZWZ0OjEwLHBhZGRpbmdSaWdodDoxMCxsYWJlbEhlaWdodDoxMH19LG5vZGVTaXplOnttZXRhOntyYWRpdXM6NSx3aWR0aDo2MCxtYXhMYWJlbFdpZHRoOjUyLGhlaWdodDpjRSgpLmRvbWFpbihbMSwyMDBdKS5yYW5nZShbMTUsNjBdKS5jbGFtcCghMCksZXhwYW5kQnV0dG9uUmFkaXVzOjN9LG9wOnt3aWR0aDoxNSxoZWlnaHQ6NixyYWRpdXM6MyxsYWJlbE9mZnNldDotOCxtYXhMYWJlbFdpZHRoOjMwfSxzZXJpZXM6e2V4cGFuZGVkOntyYWRpdXM6MTAsbGFiZWxPZmZzZXQ6MH0sdmVydGljYWw6e3dpZHRoOjE2LGhlaWdodDoxMyxsYWJlbE9mZnNldDotMTN9LGhvcml6b250YWw6e3dpZHRoOjI0LGhlaWdodDo4LHJhZGl1czoxMCxsYWJlbE9mZnNldDotMTB9fSxicmlkZ2U6e3dpZHRoOjIwLGhlaWdodDoyMCxyYWRpdXM6MixsYWJlbE9mZnNldDowfX0sc2hvcnRjdXRTaXplOntvcDp7d2lkdGg6MTAsaGVpZ2h0OjR9LG1ldGE6e3dpZHRoOjEyLGhlaWdodDo0LHJhZGl1czoxfSxzZXJpZXM6e3dpZHRoOjE0LGhlaWdodDo0fX0sYW5ub3RhdGlvbnM6e2luYm94V2lkdGg6NTAsb3V0Ym94V2lkdGg6NTAseE9mZnNldDoxMCx5T2Zmc2V0OjMsbGFiZWxPZmZzZXQ6MixtYXhMYWJlbFdpZHRoOjQwfSxjb25zdGFudDp7c2l6ZTp7d2lkdGg6NCxoZWlnaHQ6NH19LHNlcmllczp7bWF4U3RhY2tDb3VudDozLHBhcmFsbGVsU3RhY2tPZmZzZXRSYXRpbzouMix0b3dlclN0YWNrT2Zmc2V0UmF0aW86LjV9LG1pbmltYXA6e3NpemU6MTUwfX0sakt0PTE0MDtmdW5jdGlvbiBHS3QodCl7dC5ub2RlLmlzR3JvdXBOb2RlJiYoZnVuY3Rpb24gZSh0KXtsZXQgZT10LmNvcmVHcmFwaC5ub2RlcygpLm1hcCgoZT0+dC5jb3JlR3JhcGgubm9kZShlKSkpLmNvbmNhdCh0Lmlzb2xhdGVkSW5FeHRyYWN0LHQuaXNvbGF0ZWRPdXRFeHRyYWN0LHQubGlicmFyeUZ1bmN0aW9uc0V4dHJhY3QpO0NlLmV4cG9ydHMuZWFjaChlLCh0PT57c3dpdGNoKHQubm9kZS50eXBlKXtjYXNlIEEkdC5PUDpDZS5leHBvcnRzLmV4dGVuZCh0LFVLdC5ub2RlU2l6ZS5vcCk7YnJlYWs7Y2FzZSBBJHQuQlJJREdFOkNlLmV4cG9ydHMuZXh0ZW5kKHQsVUt0Lm5vZGVTaXplLmJyaWRnZSk7YnJlYWs7Y2FzZSBBJHQuTUVUQTppZih0LmV4cGFuZGVkKXtHS3QodCl9ZWxzZSBDZS5leHBvcnRzLmV4dGVuZCh0LFVLdC5ub2RlU2l6ZS5tZXRhKSx0LmhlaWdodD1VS3Qubm9kZVNpemUubWV0YS5oZWlnaHQodC5ub2RlLmNhcmRpbmFsaXR5KTticmVhaztjYXNlIEEkdC5TRVJJRVM6aWYodC5leHBhbmRlZCl7Q2UuZXhwb3J0cy5leHRlbmQodCxVS3Qubm9kZVNpemUuc2VyaWVzLmV4cGFuZGVkKSxHS3QodCl9ZWxzZXtDZS5leHBvcnRzLmV4dGVuZCh0LHQubm9kZS5oYXNOb25Db250cm9sRWRnZXM/VUt0Lm5vZGVTaXplLnNlcmllcy52ZXJ0aWNhbDpVS3Qubm9kZVNpemUuc2VyaWVzLmhvcml6b250YWwpfWJyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVucmVjb2duaXplZCBub2RlIHR5cGU6ICIrdC5ub2RlLnR5cGUpfXQuZXhwYW5kZWR8fChmdW5jdGlvbiBlKHQpe3QuaW5ib3hXaWR0aD10LmluQW5ub3RhdGlvbnMubGlzdC5sZW5ndGg+MD9VS3QuYW5ub3RhdGlvbnMuaW5ib3hXaWR0aDowLHQub3V0Ym94V2lkdGg9dC5vdXRBbm5vdGF0aW9ucy5saXN0Lmxlbmd0aD4wP1VLdC5hbm5vdGF0aW9ucy5vdXRib3hXaWR0aDowLHQuY29yZUJveC53aWR0aD10LndpZHRoLHQuY29yZUJveC5oZWlnaHQ9dC5oZWlnaHQsdC53aWR0aD1NYXRoLm1heCh0LmNvcmVCb3gud2lkdGgrdC5pbmJveFdpZHRoK3Qub3V0Ym94V2lkdGgsMyp0LmRpc3BsYXlOYW1lLmxlbmd0aCl9KSh0KSwoZnVuY3Rpb24gbih0KXtpZih0LmV4cGFuZGVkKXJldHVybjtsZXQgZT10LmluQW5ub3RhdGlvbnMubGlzdCxuPXQub3V0QW5ub3RhdGlvbnMubGlzdDtDZS5leHBvcnRzLmVhY2goZSwodD0+cUt0KHQpKSksQ2UuZXhwb3J0cy5lYWNoKG4sKHQ9PnFLdCh0KSkpO2xldCBpPVVLdC5hbm5vdGF0aW9ucyxyPUNlLmV4cG9ydHMucmVkdWNlKGUsKChlLG4scik9PntsZXQgbz1yPjA/aS55T2Zmc2V0OjA7cmV0dXJuIG4uZHg9LSh0LmNvcmVCb3gud2lkdGgrbi53aWR0aCkvMi1pLnhPZmZzZXQsbi5keT1lK28rbi5oZWlnaHQvMixlK28rbi5oZWlnaHR9KSwwKTtDZS5leHBvcnRzLmVhY2goZSwodD0+e3QuZHktPXIvMix0LmxhYmVsT2Zmc2V0PWkubGFiZWxPZmZzZXR9KSk7bGV0IG89Q2UuZXhwb3J0cy5yZWR1Y2UobiwoKGUsbixyKT0+e2xldCBvPXI+MD9pLnlPZmZzZXQ6MDtyZXR1cm4gbi5keD0odC5jb3JlQm94LndpZHRoK24ud2lkdGgpLzIraS54T2Zmc2V0LG4uZHk9ZStvK24uaGVpZ2h0LzIsZStvK24uaGVpZ2h0fSksMCk7Q2UuZXhwb3J0cy5lYWNoKG4sKHQ9Pnt0LmR5LT1vLzIsdC5sYWJlbE9mZnNldD1pLmxhYmVsT2Zmc2V0fSkpO2xldCBhPU1hdGgubWluKHQuaGVpZ2h0LzItdC5yYWRpdXMsci8yKTthPWE8MD8wOmE7bGV0IHM9Y0UoKS5kb21haW4oWzAsZS5sZW5ndGgtMV0pLnJhbmdlKFstYSxhXSk7Q2UuZXhwb3J0cy5lYWNoKGUsKChuLGkpPT57bi5wb2ludHM9W3tkeDpuLmR4K24ud2lkdGgvMixkeTpuLmR5fSx7ZHg6LXQuY29yZUJveC53aWR0aC8yLGR5OmUubGVuZ3RoPjE/cyhpKTowfV19KSk7bGV0IGw9TWF0aC5taW4odC5oZWlnaHQvMi10LnJhZGl1cyxvLzIpO2w9bDwwPzA6bDtsZXQgYz1jRSgpLmRvbWFpbihbMCxuLmxlbmd0aC0xXSkucmFuZ2UoWy1sLGxdKTtDZS5leHBvcnRzLmVhY2gobiwoKGUsaSk9PntlLnBvaW50cz1be2R4OnQuY29yZUJveC53aWR0aC8yLGR5Om4ubGVuZ3RoPjE/YyhpKTowfSx7ZHg6ZS5keC1lLndpZHRoLzIsZHk6ZS5keX1dfSkpLHQuaGVpZ2h0PU1hdGgubWF4KHQuaGVpZ2h0LHIsbyl9KSh0KX0pKX0pKHQpLHQubm9kZS50eXBlPT09QSR0Lk1FVEE/KGZ1bmN0aW9uIG4odCl7bGV0IGU9VUt0LnN1YnNjZW5lLm1ldGE7Q2UuZXhwb3J0cy5leHRlbmQodCxlKSxDZS5leHBvcnRzLmV4dGVuZCh0LmNvcmVCb3gsV0t0KHQuY29yZUdyYXBoLFVLdC5ncmFwaC5tZXRhKSk7bGV0IG49dC5pc29sYXRlZEluRXh0cmFjdC5sZW5ndGg/Q2UuZXhwb3J0cy5tYXhCeSh0Lmlzb2xhdGVkSW5FeHRyYWN0LCh0PT50LndpZHRoKSkud2lkdGg6bnVsbDt0LmluRXh0cmFjdEJveC53aWR0aD1udWxsIT1uP246MCx0LmluRXh0cmFjdEJveC5oZWlnaHQ9Q2UuZXhwb3J0cy5yZWR1Y2UodC5pc29sYXRlZEluRXh0cmFjdCwoKHQsbixpKT0+e2xldCByPWk+MD9lLmV4dHJhY3RZT2Zmc2V0OjA7cmV0dXJuIG4ueD0wLG4ueT10K3Irbi5oZWlnaHQvMix0K3Irbi5oZWlnaHR9KSwwKTtsZXQgaT10Lmlzb2xhdGVkT3V0RXh0cmFjdC5sZW5ndGg/Q2UuZXhwb3J0cy5tYXhCeSh0Lmlzb2xhdGVkT3V0RXh0cmFjdCwodD0+dC53aWR0aCkpLndpZHRoOm51bGw7dC5vdXRFeHRyYWN0Qm94LndpZHRoPW51bGwhPWk/aTowLHQub3V0RXh0cmFjdEJveC5oZWlnaHQ9Q2UuZXhwb3J0cy5yZWR1Y2UodC5pc29sYXRlZE91dEV4dHJhY3QsKCh0LG4saSk9PntsZXQgcj1pPjA/ZS5leHRyYWN0WU9mZnNldDowO3JldHVybiBuLng9MCxuLnk9dCtyK24uaGVpZ2h0LzIsdCtyK24uaGVpZ2h0fSksMCk7bGV0IHI9dC5saWJyYXJ5RnVuY3Rpb25zRXh0cmFjdC5sZW5ndGg/Q2UuZXhwb3J0cy5tYXhCeSh0LmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0LCh0PT50LndpZHRoKSkud2lkdGg6bnVsbDt0LmxpYnJhcnlGdW5jdGlvbnNCb3gud2lkdGg9bnVsbCE9cj9yOjAsdC5saWJyYXJ5RnVuY3Rpb25zQm94LmhlaWdodD1DZS5leHBvcnRzLnJlZHVjZSh0LmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0LCgodCxuLGkpPT57bGV0IHI9aT4wP2UuZXh0cmFjdFlPZmZzZXQ6MDtyZXR1cm4gbi54PTAsbi55PXQrcituLmhlaWdodC8yLHQrcituLmhlaWdodH0pLDApO2xldCBvPTA7dC5pc29sYXRlZEluRXh0cmFjdC5sZW5ndGg+MCYmbysrO3QuaXNvbGF0ZWRPdXRFeHRyYWN0Lmxlbmd0aD4wJiZvKys7dC5saWJyYXJ5RnVuY3Rpb25zRXh0cmFjdC5sZW5ndGg+MCYmbysrO3QuY29yZUdyYXBoLm5vZGVDb3VudCgpPjAmJm8rKztsZXQgYT1VS3Quc3Vic2NlbmUubWV0YS5leHRyYWN0WE9mZnNldCxzPW88PTE/MDpvKmE7Y29uc3QgbD1NYXRoLm1heChqS3QsdC5pbkV4dHJhY3RCb3gud2lkdGgrdC5vdXRFeHRyYWN0Qm94LndpZHRoKTt0LmNvcmVCb3gud2lkdGgrPWwrcyt0LmxpYnJhcnlGdW5jdGlvbnNCb3gud2lkdGgrcyx0LmNvcmVCb3guaGVpZ2h0PWUubGFiZWxIZWlnaHQrTWF0aC5tYXgodC5pbkV4dHJhY3RCb3guaGVpZ2h0LHQuY29yZUJveC5oZWlnaHQsdC5saWJyYXJ5RnVuY3Rpb25zQm94LmhlaWdodCx0Lm91dEV4dHJhY3RCb3guaGVpZ2h0KSx0LndpZHRoPXQuY29yZUJveC53aWR0aCtlLnBhZGRpbmdMZWZ0K2UucGFkZGluZ1JpZ2h0LHQuaGVpZ2h0PXQucGFkZGluZ1RvcCt0LmNvcmVCb3guaGVpZ2h0K3QucGFkZGluZ0JvdHRvbX0pKHQpOnQubm9kZS50eXBlPT09QSR0LlNFUklFUyYmKGZ1bmN0aW9uIGkodCl7bGV0IGU9dC5jb3JlR3JhcGgsbj1VS3Quc3Vic2NlbmUuc2VyaWVzO0NlLmV4cG9ydHMuZXh0ZW5kKHQsbiksQ2UuZXhwb3J0cy5leHRlbmQodC5jb3JlQm94LFdLdCh0LmNvcmVHcmFwaCxVS3QuZ3JhcGguc2VyaWVzKSksQ2UuZXhwb3J0cy5lYWNoKGUubm9kZXMoKSwodD0+e2Uubm9kZSh0KS5leGNsdWRlZD0hMX0pKSx0LndpZHRoPXQuY29yZUJveC53aWR0aCtuLnBhZGRpbmdMZWZ0K24ucGFkZGluZ1JpZ2h0LHQuaGVpZ2h0PXQuY29yZUJveC5oZWlnaHQrbi5wYWRkaW5nVG9wK24ucGFkZGluZ0JvdHRvbX0pKHQpfWZ1bmN0aW9uIFdLdCh0LGUpe0NlLmV4cG9ydHMuZXh0ZW5kKHQuZ3JhcGgoKSx7bm9kZXNlcDplLm5vZGVTZXAscmFua3NlcDplLnJhbmtTZXAsZWRnZXNlcDplLmVkZ2VTZXB9KTtsZXQgbj1bXTtpZihDZS5leHBvcnRzLmVhY2godC5ub2RlcygpLChlPT57dC5ub2RlKGUpLm5vZGUudHlwZT09PUEkdC5CUklER0V8fG4ucHVzaChlKX0pKSwhbi5sZW5ndGgpcmV0dXJue3dpZHRoOjAsaGVpZ2h0OjB9O3QkdC5sYXlvdXQodCk7bGV0IGk9MS8wLHI9MS8wLG89LTEvMCxhPS0xLzA7cmV0dXJuIENlLmV4cG9ydHMuZWFjaChuLChlPT57bGV0IG49dC5ub2RlKGUpLHM9LjUqbi53aWR0aCxsPW4ueC1zLGM9bi54K3M7aT1sPGk/bDppLG89Yz5vP2M6bztsZXQgdT0uNSpuLmhlaWdodCxoPW4ueS11LGQ9bi55K3U7cj1oPHI/aDpyLGE9ZD5hP2Q6YX0pKSxDZS5leHBvcnRzLmVhY2godC5lZGdlcygpLChlPT57bGV0IG49dC5lZGdlKGUpO2lmKG4uc3RydWN0dXJhbClyZXR1cm47bGV0IHM9dC5ub2RlKG4ubWV0YWVkZ2UudiksbD10Lm5vZGUobi5tZXRhZWRnZS53KTtpZigzPT09bi5wb2ludHMubGVuZ3RoJiYoZnVuY3Rpb24gYyh0KXtsZXQgZT1YS3QodFswXSx0WzFdKTtmb3IobGV0IG49MTtuPHQubGVuZ3RoLTE7bisrKXtsZXQgaT1YS3QodFtuXSx0W24rMV0pO2lmKE1hdGguYWJzKGktZSk+MSlyZXR1cm4hMTtlPWl9cmV0dXJuITB9KShuLnBvaW50cykpe2lmKG51bGwhPXMpe2xldCB0PXMuZXhwYW5kZWQ/cy54OllLdChzKTtuLnBvaW50c1swXS54PXR9aWYobnVsbCE9bCl7bGV0IHQ9bC5leHBhbmRlZD9sLng6WUt0KGwpO24ucG9pbnRzWzJdLng9dH1uLnBvaW50cz1bbi5wb2ludHNbMF0sbi5wb2ludHNbMV1dfW51bGwhPWwmJihuLnBvaW50c1tuLnBvaW50cy5sZW5ndGgtMV09JEt0KG4ucG9pbnRzW24ucG9pbnRzLmxlbmd0aC0yXSxsKSksbnVsbCE9cyYmKG4ucG9pbnRzWzBdPSRLdChuLnBvaW50c1sxXSxzKSksQ2UuZXhwb3J0cy5lYWNoKG4ucG9pbnRzLCh0PT57aT10Lng8aT90Lng6aSxvPXQueD5vP3QueDpvLHI9dC55PHI/dC55OnIsYT10Lnk+YT90Lnk6YX0pKX0pKSxDZS5leHBvcnRzLmVhY2godC5ub2RlcygpLChlPT57bGV0IG49dC5ub2RlKGUpO24ueC09aSxuLnktPXJ9KSksQ2UuZXhwb3J0cy5lYWNoKHQuZWRnZXMoKSwoZT0+e0NlLmV4cG9ydHMuZWFjaCh0LmVkZ2UoZSkucG9pbnRzLCh0PT57dC54LT1pLHQueS09cn0pKX0pKSx7d2lkdGg6by1pLGhlaWdodDphLXJ9fWZ1bmN0aW9uIHFLdCh0KXtzd2l0Y2godC5hbm5vdGF0aW9uVHlwZSl7Y2FzZSBMS3QuQ09OU1RBTlQ6Q2UuZXhwb3J0cy5leHRlbmQodCxVS3QuY29uc3RhbnQuc2l6ZSk7YnJlYWs7Y2FzZSBMS3QuU0hPUlRDVVQ6aWYodC5ub2RlLnR5cGU9PT1BJHQuT1ApQ2UuZXhwb3J0cy5leHRlbmQodCxVS3Quc2hvcnRjdXRTaXplLm9wKTtlbHNlIGlmKHQubm9kZS50eXBlPT09QSR0Lk1FVEEpQ2UuZXhwb3J0cy5leHRlbmQodCxVS3Quc2hvcnRjdXRTaXplLm1ldGEpO2Vsc2V7aWYodC5ub2RlLnR5cGUhPT1BJHQuU0VSSUVTKXRocm93IEVycm9yKCJJbnZhbGlkIG5vZGUgdHlwZTogIit0Lm5vZGUudHlwZSk7Q2UuZXhwb3J0cy5leHRlbmQodCxVS3Quc2hvcnRjdXRTaXplLnNlcmllcyl9YnJlYWs7Y2FzZSBMS3QuU1VNTUFSWTpDZS5leHBvcnRzLmV4dGVuZCh0LFVLdC5jb25zdGFudC5zaXplKX19ZnVuY3Rpb24gWUt0KHQpe2lmKHQuZXhwYW5kZWQpcmV0dXJuIHQueDtyZXR1cm4gdC54LXQud2lkdGgvMisodC5pbkFubm90YXRpb25zLmxpc3QubGVuZ3RoP3QuaW5ib3hXaWR0aDowKSt0LmNvcmVCb3gud2lkdGgvMn1mdW5jdGlvbiBYS3QodCxlKXtyZXR1cm4gMTgwKk1hdGguYXRhbigoZS55LXQueSkvKGUueC10LngpKS9NYXRoLlBJfWZ1bmN0aW9uICRLdCh0LGUpe2xldCBuLGkscj1lLmV4cGFuZGVkP2UueDpZS3QoZSksbz1lLnksYT10LngtcixzPXQueS1vLGw9ZS5leHBhbmRlZD9lLndpZHRoOmUuY29yZUJveC53aWR0aCxjPWUuZXhwYW5kZWQ/ZS5oZWlnaHQ6ZS5jb3JlQm94LmhlaWdodDtyZXR1cm4gTWF0aC5hYnMocykqbC8yPk1hdGguYWJzKGEpKmMvMj8oczwwJiYoYz0tYyksbj0wPT09cz8wOmMvMiphL3MsaT1jLzIpOihhPDAmJihsPS1sKSxuPWwvMixpPTA9PT1hPzA6bC8yKnMvYSkse3g6cituLHk6bytpfX1jb25zdCBLS3Q9YSR0LFpLdD1uJHQ7bGV0IEpLdD1be2JhY2tncm91bmRfY29sb3I6IiNDQzJGMkMiLGxhYmVsOiJOYU4ifSx7YmFja2dyb3VuZF9jb2xvcjoiI0ZGOEQwMCIsbGFiZWw6Ii3iiJ4ifSx7YmFja2dyb3VuZF9jb2xvcjoiI0VBRUFFQSIsbGFiZWw6Ii0ifSx7YmFja2dyb3VuZF9jb2xvcjoiI0E1QTVBNSIsbGFiZWw6IjAifSx7YmFja2dyb3VuZF9jb2xvcjoiIzI2MjYyNiIsbGFiZWw6IisifSx7YmFja2dyb3VuZF9jb2xvcjoiIzAwM0VENCIsbGFiZWw6IiviiJ4ifV07ZnVuY3Rpb24gUUt0KHQsZSxuKXtudWxsIT10LmF0dHIoInRyYW5zZm9ybSIpJiYodD10LnRyYW5zaXRpb24oInBvc2l0aW9uIikpLHQuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrZSsiLCIrbisiKSIpfWZ1bmN0aW9uIHRadCh0LGUsbixpLHIpe3QudHJhbnNpdGlvbigpLmF0dHIoIngiLGUtaS8yKS5hdHRyKCJ5IixuLXIvMikuYXR0cigid2lkdGgiLGkpLmF0dHIoImhlaWdodCIscil9ZnVuY3Rpb24gZVp0KHQsZSxuLGkscil7dC50cmFuc2l0aW9uKCkuYXR0cigiY3giLGUpLmF0dHIoImN5IixuKS5hdHRyKCJyeCIsaS8yKS5hdHRyKCJyeSIsci8yKX1mdW5jdGlvbiBuWnQodCxlKXtyZXR1cm4gZT90LnRvRml4ZWQoMCk6TWF0aC5hYnModCk+PTE/dC50b0ZpeGVkKDEpOnQudG9FeHBvbmVudGlhbCgxKX1mdW5jdGlvbiBpWnQodCxlLG4saSxyPTYwLG89MTAsYT0wLHMpe2lmKER1KHQucGFyZW50Tm9kZSkuc2VsZWN0QWxsKCIuaGVhbHRoLXBpbGwiKS5yZW1vdmUoKSwhZSlyZXR1cm47Y29uc3QgbD1lLnZhbHVlLGM9bC5zbGljZSgyLDgpLHU9Y1swXSxoPWNbMV0sZD1jWzVdO2xldCBwPWxbMV07Y29uc3QgZj17bWluOmxbOF0sbWF4OmxbOV0sbWVhbjpsWzEwXSxzdGRkZXY6TWF0aC5zcXJ0KGxbMTFdKX07bnVsbD09ciYmKHI9NjApLG51bGw9PW8mJihvPTEwKSxudWxsPT1hJiYoYT0wKSxudWxsIT1uJiZuLm5vZGUudHlwZT09PUEkdC5PUCYmKHIvPTIsby89Mik7bGV0IG09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG8kdCwiZyIpO20uY2xhc3NMaXN0LmFkZCgiaGVhbHRoLXBpbGwiKTtsZXQgZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobyR0LCJkZWZzIik7bS5hcHBlbmRDaGlsZChnKTtsZXQgXz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobyR0LCJsaW5lYXJHcmFkaWVudCIpO2NvbnN0IHk9ImhlYWx0aC1waWxsLWdyYWRpZW50LSIraTtfLnNldEF0dHJpYnV0ZSgiaWQiLHkpO2xldCB2PTAsYj0iMCUiO2ZvcihsZXQgdD0wO3Q8Yy5sZW5ndGg7dCsrKXtpZighY1t0XSljb250aW51ZTt2Kz1jW3RdO2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhvJHQsInN0b3AiKTtlLnNldEF0dHJpYnV0ZSgib2Zmc2V0IixiKSxlLnNldEF0dHJpYnV0ZSgic3RvcC1jb2xvciIsSkt0W3RdLmJhY2tncm91bmRfY29sb3IpLF8uYXBwZW5kQ2hpbGQoZSk7bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG8kdCwic3RvcCIpLGk9MTAwKnYvcCsiJSI7bi5zZXRBdHRyaWJ1dGUoIm9mZnNldCIsaSksbi5zZXRBdHRyaWJ1dGUoInN0b3AtY29sb3IiLEpLdFt0XS5iYWNrZ3JvdW5kX2NvbG9yKSxfLmFwcGVuZENoaWxkKG4pLGI9aX1nLmFwcGVuZENoaWxkKF8pO2xldCB4PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhvJHQsInJlY3QiKTt4LnNldEF0dHJpYnV0ZSgiZmlsbCIsInVybCgjIit5KyIpIikseC5zZXRBdHRyaWJ1dGUoIndpZHRoIixTdHJpbmcocikpLHguc2V0QXR0cmlidXRlKCJoZWlnaHQiLFN0cmluZyhvKSkseC5zZXRBdHRyaWJ1dGUoInkiLFN0cmluZyhhKSksbS5hcHBlbmRDaGlsZCh4KTtsZXQgdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobyR0LCJ0aXRsZSIpO3cudGV4dENvbnRlbnQ9KGZ1bmN0aW9uIFModCxlLG4saSl7bGV0IHI9IkRldmljZTogIit0LmRldmljZV9uYW1lKyJcbiI7cis9ImR0eXBlOiAiK3QuZHR5cGUrIlxuIjtsZXQgbz0iKHNjYWxhcikiO3Quc2hhcGUubGVuZ3RoPjAmJihvPSIoIit0LnNoYXBlLmpvaW4oIiwiKSsiKSIpLHIrPSJcbnNoYXBlOiAiK28rIlxuXG4iLHIrPSIjKGVsZW1lbnRzKTogIitlKyJcbiI7Y29uc3QgYT1bXTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyluW3RdPjAmJmEucHVzaCgiIygiK0pLdFt0XS5sYWJlbCsiKTogIituW3RdKTtyZXR1cm4gcis9YS5qb2luKCIsICIpKyJcblxuIixpLm1heD49aS5taW4mJihyKz0ibWluOiAiK2kubWluKyIsIG1heDogIitpLm1heCsiXG4iLHIrPSJtZWFuOiAiK2kubWVhbisiLCBzdGRkZXY6ICIraS5zdGRkZXYpLHJ9KShlLHAsYyxmKSxtLmFwcGVuZENoaWxkKHcpO2xldCBNPSExO2lmKG51bGwhPW4pe2xldCB0PW4ueS1vLW4uaGVpZ2h0LzItMjtpZihuLmxhYmVsT2Zmc2V0PDAmJih0Kz1uLmxhYmVsT2Zmc2V0KSxtLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrKG4ueC1yLzIpKyIsICIrdCsiKSIpLGNbMl18fGNbM118fGNbNF0pe2xldCB0PW4ubm9kZS5hdHRyO2lmKHQmJnQubGVuZ3RoKWZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKCJUIj09PXRbZV0ua2V5KXtsZXQgbj10W2VdLnZhbHVlLnR5cGU7TT1uJiYvXkRUXyhCT09MfElOVHxVSU5UKS8udGVzdChuKTticmVha319fWxldCBFPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhvJHQsInRleHQiKTtpZihOdW1iZXIuaXNGaW5pdGUoZi5taW4pJiZOdW1iZXIuaXNGaW5pdGUoZi5tYXgpKXtjb25zdCB0PW5adChmLm1pbixNKSxlPW5adChmLm1heCxNKTtpZihFLnRleHRDb250ZW50PXA+MT90KyIgfiAiK2U6dCx1PjB8fGg+MHx8ZD4wKXtFLnRleHRDb250ZW50Kz0iICgiO2NvbnN0IHQ9W107dT4wJiZ0LnB1c2goYE5hTsOXJHt1fWApLGg+MCYmdC5wdXNoKGAt4oiew5cke2h9YCksZD4wJiZ0LnB1c2goYCviiJ7DlyR7ZH1gKSxFLnRleHRDb250ZW50Kz10LmpvaW4oIjsgIikrIikifX1lbHNlIEUudGV4dENvbnRlbnQ9IihObyBmaW5pdGUgZWxlbWVudHMpIjtFLmNsYXNzTGlzdC5hZGQoImhlYWx0aC1waWxsLXN0YXRzIiksbnVsbD09cyYmKHM9ci8yKSxFLnNldEF0dHJpYnV0ZSgieCIsU3RyaW5nKHMpKSxFLnNldEF0dHJpYnV0ZSgieSIsU3RyaW5nKGEtMikpLG0uYXBwZW5kQ2hpbGQoRSksZXIodC5wYXJlbnROb2RlKS5hcHBlbmRDaGlsZChtKX12YXIgclp0O2Z1bmN0aW9uIG9adCh0LGUpe2NvbnN0IG49dC5nZXRDb250ZXh0TWVudSgpLGk9RHUodC5nZXRDb250ZXh0TWVudSgpKTtyZXR1cm4gZnVuY3Rpb24ocixvKXtsZXQgYT1NdTtjb25zdCBzPShmdW5jdGlvbiBsKHQpe2xldCBlPTAsbj0wLGk9dDtmb3IoO2kmJmkub2Zmc2V0TGVmdD49MCYmaS5vZmZzZXRUb3A+PTA7KWUrPWkub2Zmc2V0TGVmdC1pLnNjcm9sbExlZnQsbis9aS5vZmZzZXRUb3AtaS5zY3JvbGxUb3AsaT1pLm9mZnNldFBhcmVudDtyZXR1cm57bGVmdDplLHRvcDpufX0pKHQpO2Z1bmN0aW9uIGModCl7dCYmdC5jb21wb3NlZFBhdGgoKS5pbmNsdWRlcyhuKXx8KGkuc3R5bGUoImRpc3BsYXkiLCJub25lIiksZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGMse2NhcHR1cmU6ITB9KSl9aS5zdHlsZSgiZGlzcGxheSIsImJsb2NrIikuc3R5bGUoImxlZnQiLGEuY2xpZW50WC1zLmxlZnQrMSsicHgiKS5zdHlsZSgidG9wIixhLmNsaWVudFktcy50b3ArMSsicHgiKSxhLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKSxkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsYyx7Y2FwdHVyZTohMH0pLGkuaHRtbCgiIiksaS5hcHBlbmQoInVsIikuc2VsZWN0QWxsKCJsaSIpLmRhdGEoZSkuZW50ZXIoKS5hcHBlbmQoImxpIikub24oImNsaWNrIiwoKHQsZSk9Pnt0LmFjdGlvbih0aGlzLHIsbyksYygpfSkpLmh0bWwoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRpdGxlKHIpfSkpfX0hKGZ1bmN0aW9uKHQpe3QuTk9ORT0ibm9uZSIsdC5DT01QVVRFX1RJTUU9ImNvbXB1dGVfdGltZSIsdC5ERVZJQ0U9ImRldmljZSIsdC5NRU1PUlk9Im1lbW9yeSIsdC5PUF9DT01QQVRJQklMSVRZPSJvcF9jb21wYXRpYmlsaXR5Iix0LlNUUlVDVFVSRT0ic3RydWN0dXJlIix0LlhMQV9DTFVTVEVSPSJ4bGFfY2x1c3RlciJ9KShyWnR8fChyWnQ9e30pKTtsZXQgYVp0PUFFKCkuZG9tYWluKFtjJHQsMTJdKS5yYW5nZShbInNtYWxsIiwibWVkaXVtIiwibGFyZ2UiLCJ4bGFyZ2UiXSk7ZnVuY3Rpb24gc1p0KHQpe3JldHVybiB0LnYrIi0tIit0Lnd9ZnVuY3Rpb24gbFp0KHQsZSxuKXtjb25zdCBpPW47bGV0IHI9W107cj1DZS5leHBvcnRzLnJlZHVjZShlLmVkZ2VzKCksKCh0LG4pPT57bGV0IGk9ZS5lZGdlKG4pO3JldHVybiB0LnB1c2goe3Y6bi52LHc6bi53LGxhYmVsOml9KSx0fSkscik7bGV0IG89cyR0KHQsImciLG4kdC5FZGdlLkNPTlRBSU5FUikuc2VsZWN0QWxsKChmdW5jdGlvbigpe3JldHVybiB0aGlzLmNoaWxkTm9kZXN9KSkuZGF0YShyLHNadCk7cmV0dXJuIG8uZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsbiR0LkVkZ2UuR1JPVVApLmF0dHIoImRhdGEtZWRnZSIsc1p0KS5lYWNoKChmdW5jdGlvbih0KXtsZXQgZT1EdSh0aGlzKTt0LmxhYmVsLmVkZ2VHcm91cD1lLGkuX2VkZ2VHcm91cEluZGV4W3NadCh0KV09ZSxpLmhhbmRsZUVkZ2VTZWxlY3RlZCYmZS5vbigiY2xpY2siLCh0PT57TXUuc3RvcFByb3BhZ2F0aW9uKCksaS5maXJlKCJlZGdlLXNlbGVjdCIse2VkZ2VEYXRhOnQsZWRnZUdyb3VwOmV9KX0pKSxwWnQoZSx0LGkpfSkpLm1lcmdlKG8pLmVhY2goKGZ1bmN0aW9uKCl7IShmdW5jdGlvbiB0KGUsbil7RHUobikuc2VsZWN0KCJwYXRoLiIrbiR0LkVkZ2UuTElORSkudHJhbnNpdGlvbigpLmF0dHJUd2VlbigiZCIsKGZ1bmN0aW9uKHQsbixpKXtyZXR1cm4oZnVuY3Rpb24gcih0LGUsbixpLG8pe2xldCBhPW4ubGFiZWwscz1hLmFkam9pbmluZ01ldGFlZGdlLGw9YS5wb2ludHM7Y29uc3R7c2hhZG93Um9vdDpjfT10O24ubGFiZWwuc3RhcnRNYXJrZXJJZCYmKGw9ZFp0KGwsRHUoYy5xdWVyeVNlbGVjdG9yKCIjIituLmxhYmVsLnN0YXJ0TWFya2VySWQpKSwhMCkpO24ubGFiZWwuZW5kTWFya2VySWQmJihsPWRadChsLER1KGMucXVlcnlTZWxlY3RvcigiIyIrbi5sYWJlbC5lbmRNYXJrZXJJZCkpLCExKSk7aWYoIXMpcmV0dXJuIGNwKG8sZlp0KGwpKTtsZXQgdT1zLmVkZ2VHcm91cC5ub2RlKCkuZmlyc3RDaGlsZCxoPWEubWV0YWVkZ2UuaW5ib3VuZDtyZXR1cm4gZnVuY3Rpb24odCl7bGV0IG49dS5nZXRQb2ludEF0TGVuZ3RoKGg/dS5nZXRUb3RhbExlbmd0aCgpOjApLm1hdHJpeFRyYW5zZm9ybSh1LmdldENUTSgpKS5tYXRyaXhUcmFuc2Zvcm0oZS5nZXRDVE0oKS5pbnZlcnNlKCkpLGk9aD8wOmwubGVuZ3RoLTE7cmV0dXJuIGxbaV0ueD1uLngsbFtpXS55PW4ueSxmWnQobCl9fSkoZSx0aGlzLHQsMCxpKX0pKX0pKG4sdGhpcyl9KSkuZWFjaCgoZnVuY3Rpb24odCl7IShmdW5jdGlvbiBlKHQsbixpKXt0LmNsYXNzZWQoImZhZGVkIixuLmxhYmVsLmlzRmFkZWRPdXQpO2xldCByPW4ubGFiZWwubWV0YWVkZ2U7dC5zZWxlY3QoInBhdGguIituJHQuRWRnZS5MSU5FKS5jbGFzc2VkKCJjb250cm9sLWRlcCIsciYmIXIubnVtUmVndWxhckVkZ2VzKX0pKER1KHRoaXMpLHQpfSkpLG8uZXhpdCgpLmVhY2goKHQ9PntkZWxldGUgaS5fZWRnZUdyb3VwSW5kZXhbc1p0KHQpXX0pKS5yZW1vdmUoKSxvfWZ1bmN0aW9uIGNadCh0LGUpe2xldCBuPWUuZ2V0Tm9kZUJ5TmFtZSh0LnYpO2lmKG51bGw9PW4ub3V0cHV0U2hhcGVzfHxDZS5leHBvcnRzLmlzRW1wdHkobi5vdXRwdXRTaGFwZXMpKXJldHVybiBudWxsO2xldCBpPW4ub3V0cHV0U2hhcGVzW3Qub3V0cHV0VGVuc29yS2V5XTtyZXR1cm4gbnVsbD09aT9udWxsOjA9PT1pLmxlbmd0aD8ic2NhbGFyIjppLm1hcCgodD0+LTE9PT10PyI/Ijp0KSkuam9pbigiw5ciKX1mdW5jdGlvbiB1WnQodCxlKXtpZihlLmVkZ2VMYWJlbEZ1bmN0aW9uKXJldHVybiBlLmVkZ2VMYWJlbEZ1bmN0aW9uKHQsZSk7cmV0dXJuIHQuYmFzZUVkZ2VMaXN0Lmxlbmd0aD4xP3QuYmFzZUVkZ2VMaXN0Lmxlbmd0aCsiIHRlbnNvcnMiOmNadCh0LmJhc2VFZGdlTGlzdFswXSxlKX1mdW5jdGlvbiBoWnQodCxlLG4pe2NvbnN0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG8kdCwicGF0aCIpO2ZvcihsZXQgcj0xO3I8dC5sZW5ndGg7cisrKWlmKGkuc2V0QXR0cmlidXRlKCJkIixuKHQuc2xpY2UoMCxyKSkpLGkuZ2V0VG90YWxMZW5ndGgoKT5lKXJldHVybiByLTE7cmV0dXJuIHQubGVuZ3RoLTF9ZnVuY3Rpb24gZFp0KHQsZSxuKXtsZXQgaT1ETCgpLngoKHQ9PnQueCkpLnkoKHQ9PnQueSkpLHI9RHUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInBhdGgiKSkuYXR0cigiZCIsaSh0KSksbz0rZS5hdHRyKCJtYXJrZXJXaWR0aCIpLGE9ZS5hdHRyKCJ2aWV3Qm94Iikuc3BsaXQoIiAiKS5tYXAoTnVtYmVyKSxzPWFbMl0tYVswXSxsPStlLmF0dHIoInJlZlgiKSxjPXIubm9kZSgpO2lmKG4pe2NvbnN0IGU9byooMS1sL3MpLG49Yy5nZXRQb2ludEF0TGVuZ3RoKGUpLHI9aFp0KHQsZSxpKTtyZXR1cm4gdFtyLTFdPXt4Om4ueCx5Om4ueX0sdC5zbGljZShyLTEpfXtjb25zdCBlPTEtbC9zLG49Yy5nZXRUb3RhbExlbmd0aCgpLW8qZSxyPWMuZ2V0UG9pbnRBdExlbmd0aChuKSxhPWhadCh0LG4saSk7cmV0dXJuIHRbYV09e3g6ci54LHk6ci55fSx0LnNsaWNlKDAsYSsxKX19ZnVuY3Rpb24gcFp0KHQsZSxuLGkpe2k9aXx8biR0LkVkZ2UuTElORSxlLmxhYmVsJiZlLmxhYmVsLnN0cnVjdHVyYWwmJihpKz0iICIrbiR0LkVkZ2UuU1RSVUNUVVJBTCksZS5sYWJlbCYmZS5sYWJlbC5tZXRhZWRnZSYmZS5sYWJlbC5tZXRhZWRnZS5udW1SZWZFZGdlcyYmKGkrPSIgIituJHQuRWRnZS5SRUZFUkVOQ0VfRURHRSksbi5oYW5kbGVFZGdlU2VsZWN0ZWQmJihpKz0iICIrbiR0LkVkZ2UuU0VMRUNUQUJMRSk7bGV0IHIsbz0icGF0aF8iK3NadChlKTtpZihuLnJlbmRlckhpZXJhcmNoeS5lZGdlV2lkdGhGdW5jdGlvbilyPW4ucmVuZGVySGllcmFyY2h5LmVkZ2VXaWR0aEZ1bmN0aW9uKGUsaSk7ZWxzZXtsZXQgdD0xO251bGwhPWUubGFiZWwmJm51bGwhPWUubGFiZWwubWV0YWVkZ2UmJih0PWUubGFiZWwubWV0YWVkZ2UudG90YWxTaXplKSxyPW4ucmVuZGVySGllcmFyY2h5LmVkZ2VXaWR0aFNpemVkQmFzZWRTY2FsZSh0KX1sZXQgYT10LmFwcGVuZCgicGF0aCIpLmF0dHIoImlkIixvKS5hdHRyKCJjbGFzcyIsaSkuc3R5bGUoInN0cm9rZS13aWR0aCIscisicHgiKTtpZihlLmxhYmVsJiZlLmxhYmVsLm1ldGFlZGdlKWlmKGUubGFiZWwubWV0YWVkZ2UubnVtUmVmRWRnZXMpe2NvbnN0IHQ9YHJlZmVyZW5jZS1hcnJvd2hlYWQtJHthWnQocil9YDthLnN0eWxlKCJtYXJrZXItc3RhcnQiLGB1cmwoIyR7dH0pYCksZS5sYWJlbC5zdGFydE1hcmtlcklkPXR9ZWxzZXtjb25zdCB0PWBkYXRhZmxvdy1hcnJvd2hlYWQtJHthWnQocil9YDthLnN0eWxlKCJtYXJrZXItZW5kIixgdXJsKCMke3R9KWApLGUubGFiZWwuZW5kTWFya2VySWQ9dH1pZihudWxsPT1lLmxhYmVsfHxudWxsPT1lLmxhYmVsLm1ldGFlZGdlKXJldHVybjtsZXQgcz11WnQoZS5sYWJlbC5tZXRhZWRnZSxuLnJlbmRlckhpZXJhcmNoeSk7bnVsbCE9cyYmdC5hcHBlbmQoInRleHQiKS5hcHBlbmQoInRleHRQYXRoIikuYXR0cigieGxpbms6aHJlZiIsIiMiK28pLmF0dHIoInN0YXJ0T2Zmc2V0IiwiNTAlIikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKS5hdHRyKCJkb21pbmFudC1iYXNlbGluZSIsImNlbnRyYWwiKS50ZXh0KHMpfWxldCBmWnQ9REwoKS5jdXJ2ZSh3UCkueCgodD0+dC54KSkueSgodD0+dC55KSk7ZnVuY3Rpb24gbVp0KHQsZSxuKXtsZXQgaT1zJHQodCwiZyIsbiR0Lk5vZGUuQ09OVEFJTkVSKS5zZWxlY3RBbGwoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlc30pKS5kYXRhKGUsKHQ9PnQubm9kZS5uYW1lKyI6Iit0Lm5vZGUudHlwZSkpO3JldHVybiBpLmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiZGF0YS1uYW1lIiwodD0+dC5ub2RlLm5hbWUpKS5lYWNoKChmdW5jdGlvbih0KXtsZXQgZT1EdSh0aGlzKTtuLmFkZE5vZGVHcm91cCh0Lm5vZGUubmFtZSxlKX0pKS5tZXJnZShpKS5hdHRyKCJjbGFzcyIsKHQ9Pm4kdC5Ob2RlLkdST1VQKyIgIitUWnQodCkpKS5lYWNoKChmdW5jdGlvbih0KXtsZXQgZT1EdSh0aGlzKTt6WnQocyR0KGUsImciLG4kdC5Bbm5vdGF0aW9uLklOQk9YKSx0LmluQW5ub3RhdGlvbnMsdCxuKSx6WnQocyR0KGUsImciLG4kdC5Bbm5vdGF0aW9uLk9VVEJPWCksdC5vdXRBbm5vdGF0aW9ucyx0LG4pO2xldCBpPUVadChlLHQsbiR0Lk5vZGUuU0hBUEUpO3Qubm9kZS5pc0dyb3VwTm9kZSYmKGZ1bmN0aW9uIHIodCxlLG4pe2xldCBpPXMkdCh0LCJnIixuJHQuTm9kZS5CVVRUT05fQ09OVEFJTkVSKTtzJHQoaSwiY2lyY2xlIixuJHQuTm9kZS5CVVRUT05fQ0lSQ0xFKSxzJHQoaSwicGF0aCIsbiR0Lk5vZGUuRVhQQU5EX0JVVFRPTikuYXR0cigiZCIsIk0wLC0yLjIgVjIuMiBNLTIuMiwwIEgyLjIiKSxzJHQoaSwicGF0aCIsbiR0Lk5vZGUuQ09MTEFQU0VfQlVUVE9OKS5hdHRyKCJkIiwiTS0yLjIsMCBIMi4yIiksaS5vbigiY2xpY2siLCh0PT57TXUuc3RvcFByb3BhZ2F0aW9uKCksbi5maXJlKCJub2RlLXRvZ2dsZS1leHBhbmQiLHtuYW1lOnQubm9kZS5uYW1lfSl9KSksKGZ1bmN0aW9uIHIodCxlKXtsZXQgbj1ZS3QoZSkrKGUuZXhwYW5kZWQ/ZS53aWR0aDplLmNvcmVCb3gud2lkdGgpLzItNixpPWUueS0oZS5leHBhbmRlZD9lLmhlaWdodDplLmNvcmVCb3guaGVpZ2h0KS8yKzY7ZS5ub2RlLnR5cGUhPT1BJHQuU0VSSUVTfHxlLmV4cGFuZGVkfHwobis9MTAsaS09Mik7bGV0IHI9InRyYW5zbGF0ZSgiK24rIiwiK2krIikiO3Quc2VsZWN0QWxsKCJwYXRoIikudHJhbnNpdGlvbigpLmF0dHIoInRyYW5zZm9ybSIsciksdC5zZWxlY3QoImNpcmNsZSIpLnRyYW5zaXRpb24oKS5hdHRyKHtjeDpuLGN5OmkscjpVS3Qubm9kZVNpemUubWV0YS5leHBhbmRCdXR0b25SYWRpdXN9KX0pKGksZSl9KShpLHQsbiksX1p0KGksdCxuKSwoZnVuY3Rpb24gbyh0LGUsbil7aWYoZS5ub2RlLmlzR3JvdXBOb2RlKXtpZihlLmV4cGFuZGVkKXJldHVybiBCWnQodCxlLG4sbiR0LlN1YnNjZW5lLkdST1VQKTtLS3QodCwiZyIsbiR0LlN1YnNjZW5lLkdST1VQKS5yZW1vdmUoKX1yZXR1cm4gbnVsbH0pKGUsdCxuKSxfWnQoKGZ1bmN0aW9uIGEodCxlLG4pe2xldCBpPWUuZGlzcGxheU5hbWUscj1lLm5vZGUudHlwZT09PUEkdC5NRVRBJiYhZS5leHBhbmRlZCxvPXMkdCh0LCJ0ZXh0IixuJHQuTm9kZS5MQUJFTCksYT1vLm5vZGUoKTthLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoYSksby5hdHRyKCJkeSIsIi4zNWVtIikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKTtsZXQgcz04O3N3aXRjaChlLm5vZGUudHlwZSl7Y2FzZSBBJHQuTUVUQTpzPWUuZXhwYW5kZWQ/ciR0LkVYUEFOREVEX0xBQkVMOnIkdC5TRVJJRVNfTEFCRUw7YnJlYWs7Y2FzZSBBJHQuT1A6cz1yJHQuT1BfTEFCRUx9aWYocil7aS5sZW5ndGg+bi5tYXhNZXRhbm9kZUxhYmVsTGVuZ3RoJiYoaT1pLnN1YnN0cigwLG4ubWF4TWV0YW5vZGVMYWJlbExlbmd0aC0yKSsi4oCmIik7bGV0IHQ9KGZ1bmN0aW9uIGwodCl7U1p0fHwoU1p0PWNFKCkuZG9tYWluKFt0Lm1heE1ldGFub2RlTGFiZWxMZW5ndGhMYXJnZUZvbnQsdC5tYXhNZXRhbm9kZUxhYmVsTGVuZ3RoXSkucmFuZ2UoW3QubWF4TWV0YW5vZGVMYWJlbExlbmd0aEZvbnRTaXplLHQubWluTWV0YW5vZGVMYWJlbExlbmd0aEZvbnRTaXplXSkuY2xhbXAoITApKTtyZXR1cm4gU1p0fSkobik7by5hdHRyKCJmb250LXNpemUiLHQoaS5sZW5ndGgpKyJweCIpLHM9dChpLmxlbmd0aCl9cmV0dXJuIHdadChvLnRleHQoaSksZS5ub2RlLnR5cGUscyxlKSxvfSkoZSx0LG4pLHQsbix0Lm5vZGUudHlwZT09PUEkdC5NRVRBKSxMWnQoZSx0LG4pLChmdW5jdGlvbiBzKHQsZSl7bGV0IG49S0t0KHQsImciLG4kdC5Ob2RlLlNIQVBFKSxpPVlLdChlKTtzd2l0Y2goZS5ub2RlLnR5cGUpe2Nhc2UgQSR0Lk9QOntjb25zdCByPWUubm9kZTtpZihDZS5leHBvcnRzLmlzTnVtYmVyKHIuZnVuY3Rpb25JbnB1dEluZGV4KXx8Q2UuZXhwb3J0cy5pc051bWJlcihyLmZ1bmN0aW9uT3V0cHV0SW5kZXgpKXshKGZ1bmN0aW9uIHIodCxlLG4saSxvKXtjb25zdCBhPW8vMixzPWkvMixsPVtbZSxuLWFdLFtlK3MsbithXSxbZS1zLG4rYV1dO3QudHJhbnNpdGlvbigpLmF0dHIoInBvaW50cyIsbC5tYXAoKHQ9PnQuam9pbigiLCIpKSkuam9pbigiICIpKX0pKEtLdChuLCJwb2x5Z29uIiksZS54LGUueSxlLmNvcmVCb3gud2lkdGgsZS5jb3JlQm94LmhlaWdodCl9ZWxzZXtlWnQoS0t0KG4sImVsbGlwc2UiKSxpLGUueSxlLmNvcmVCb3gud2lkdGgsZS5jb3JlQm94LmhlaWdodCl9TVp0KHQsaSxlLnksZS5sYWJlbE9mZnNldCk7YnJlYWt9Y2FzZSBBJHQuTUVUQTp7bGV0IHI9bi5zZWxlY3RBbGwoInJlY3QiKTtlLmV4cGFuZGVkPyh0WnQocixlLngsZS55LGUud2lkdGgsZS5oZWlnaHQpLGdadCh0LGUpLE1adCh0LGksZS55LC1lLmhlaWdodC8yK2UubGFiZWxIZWlnaHQvMikpOih0WnQocixpLGUueSxlLmNvcmVCb3gud2lkdGgsZS5jb3JlQm94LmhlaWdodCksTVp0KHQsaSxlLnksMCkpO2JyZWFrfWNhc2UgQSR0LlNFUklFUzp7bGV0IHI9S0t0KG4sInVzZSIpO2UuZXhwYW5kZWQ/KHRadChyLGUueCxlLnksZS53aWR0aCxlLmhlaWdodCksZ1p0KHQsZSksTVp0KHQsaSxlLnksLWUuaGVpZ2h0LzIrZS5sYWJlbEhlaWdodC8yKSk6KHRadChyLGksZS55LGUuY29yZUJveC53aWR0aCxlLmNvcmVCb3guaGVpZ2h0KSxNWnQodCxpLGUueSxlLmxhYmVsT2Zmc2V0KSk7YnJlYWt9Y2FzZSBBJHQuQlJJREdFOnRadChLS3QobiwicmVjdCIpLGUueCxlLnksZS53aWR0aCxlLmhlaWdodCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5yZWNvZ25pemVkIG5vZGUgdHlwZTogIitlLm5vZGUudHlwZSl9fSkoZSx0KX0pKSxpLmV4aXQoKS5lYWNoKChmdW5jdGlvbih0KXtuLnJlbW92ZU5vZGVHcm91cCh0Lm5vZGUubmFtZSk7bGV0IGU9RHUodGhpcyk7dC5pbkFubm90YXRpb25zLmxpc3QubGVuZ3RoPjAmJmUuc2VsZWN0KCIuIituJHQuQW5ub3RhdGlvbi5JTkJPWCkuc2VsZWN0QWxsKCIuIituJHQuQW5ub3RhdGlvbi5HUk9VUCkuZWFjaCgoZT0+e24ucmVtb3ZlQW5ub3RhdGlvbkdyb3VwKGUsdCl9KSksdC5vdXRBbm5vdGF0aW9ucy5saXN0Lmxlbmd0aD4wJiZlLnNlbGVjdCgiLiIrbiR0LkFubm90YXRpb24uT1VUQk9YKS5zZWxlY3RBbGwoIi4iK24kdC5Bbm5vdGF0aW9uLkdST1VQKS5lYWNoKChlPT57bi5yZW1vdmVBbm5vdGF0aW9uR3JvdXAoZSx0KX0pKX0pKS5yZW1vdmUoKSxpfWZ1bmN0aW9uIGdadCh0LGUpe2xldCBuPWUueC1lLndpZHRoLzIrZS5wYWRkaW5nTGVmdCxpPWUueS1lLmhlaWdodC8yK2UucGFkZGluZ1RvcDtRS3QoS0t0KHQsImciLG4kdC5TdWJzY2VuZS5HUk9VUCksbixpKX1mdW5jdGlvbiBfWnQodCxlLG4saSl7aWYoaSlyZXR1cm4gdm9pZCB0LmF0dHIoInBvaW50ZXItZXZlbnRzIiwibm9uZSIpO2xldCByPW9adChuLHladChlLm5vZGUsbikpO3Qub24oImRibGNsaWNrIiwodD0+e24uZmlyZSgibm9kZS10b2dnbGUtZXhwYW5kIix7bmFtZTp0Lm5vZGUubmFtZX0pfSkpLm9uKCJtb3VzZW92ZXIiLCh0PT57bi5pc05vZGVFeHBhbmRlZCh0KXx8bi5maXJlKCJub2RlLWhpZ2hsaWdodCIse25hbWU6dC5ub2RlLm5hbWV9KX0pKS5vbigibW91c2VvdXQiLCh0PT57bi5pc05vZGVFeHBhbmRlZCh0KXx8bi5maXJlKCJub2RlLXVuaGlnaGxpZ2h0Iix7bmFtZTp0Lm5vZGUubmFtZX0pfSkpLm9uKCJjbGljayIsKHQ9PntNdS5zdG9wUHJvcGFnYXRpb24oKSxuLmZpcmUoIm5vZGUtc2VsZWN0Iix7bmFtZTp0Lm5vZGUubmFtZX0pfSkpLm9uKCJjb250ZXh0bWVudSIsKCh0LGUpPT57bi5maXJlKCJub2RlLXNlbGVjdCIse25hbWU6dC5ub2RlLm5hbWV9KSxyLmNhbGwodCxlKX0pKX1mdW5jdGlvbiB5WnQodCxlKXtsZXQgbj1be3RpdGxlOmU9PkokdCh0LmluY2x1ZGUpLGFjdGlvbjoobixpLHIpPT57ZS5maXJlKCJub2RlLXRvZ2dsZS1leHRyYWN0Iix7bmFtZTp0Lm5hbWV9KX19XTtyZXR1cm4gZS5ub2RlQ29udGV4dE1lbnVJdGVtcyYmKG49bi5jb25jYXQoZS5ub2RlQ29udGV4dE1lbnVJdGVtcykpLHZadCh0KSYmbi5wdXNoKHt0aXRsZTplPT54WnQodCksYWN0aW9uOihuLGkscik9PntlLmZpcmUoIm5vZGUtdG9nZ2xlLXNlcmllc2dyb3VwIix7bmFtZTpiWnQodCl9KX19KSxufWZ1bmN0aW9uIHZadCh0KXtyZXR1cm4gbnVsbCE9PWJadCh0KX1mdW5jdGlvbiBiWnQodCl7aWYoIXQpcmV0dXJuIG51bGw7aWYodC50eXBlPT09QSR0LlNFUklFUylyZXR1cm4gdC5uYW1lO2lmKHQudHlwZT09PUEkdC5PUCl7cmV0dXJuIHQub3duaW5nU2VyaWVzfXJldHVybiBudWxsfWZ1bmN0aW9uIHhadCh0KXtyZXR1cm4oZnVuY3Rpb24gbih0KXtyZXR1cm4gdD09PUwkdC5HUk9VUD8iVW5ncm91cCB0aGlzIHNlcmllcyBvZiBub2RlcyI6Ikdyb3VwIHRoaXMgc2VyaWVzIG9mIG5vZGVzIn0pKG51bGwhPT0oZnVuY3Rpb24gZSh0KXtsZXQgZT1udWxsO3JldHVybiB0Pyh0LnR5cGU9PT1BJHQuU0VSSUVTP2U9dDp0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS50eXBlPT09QSR0LlNFUklFUyYmKGU9dC5wYXJlbnROb2RlKSxlKTpudWxsfSkodCk/TCR0LkdST1VQOkwkdC5VTkdST1VQKX1mdW5jdGlvbiB3WnQodCxlLG4saSl7bGV0IHI9dC5ub2RlKCksbz1yLnRleHRDb250ZW50LGE9bnVsbDtzd2l0Y2goZSl7Y2FzZSBBJHQuTUVUQTppJiYhaS5leHBhbmRlZCYmKGE9VUt0Lm5vZGVTaXplLm1ldGEubWF4TGFiZWxXaWR0aCk7YnJlYWs7Y2FzZSBBJHQuT1A6YT1VS3Qubm9kZVNpemUub3AubWF4TGFiZWxXaWR0aDticmVhaztjYXNlLTE6YT1VS3QuYW5ub3RhdGlvbnMubWF4TGFiZWxXaWR0aH1pZihudWxsIT09YSlyZXR1cm4gci50ZXh0Q29udGVudD0oZnVuY3Rpb24gcyh0LGUsbil7aWYoIXQpcmV0dXJuIiI7aWYoUyR0KHQsZSk8PW4pcmV0dXJuIHQ7bGV0IGk9MCxyPXQubGVuZ3RoO2Zvcig7aTxyOyl7Y29uc3Qgbz1pK01hdGgucm91bmQoKHItaSkvMik7UyR0KHQuc2xpY2UoMCxvKSsi4oCmIixlKTw9bj9pPW86cj1vLTF9cmV0dXJuIDA9PT1pP3RbMF06dC5zbGljZSgwLGkpKyLigKYifSkoci50ZXh0Q29udGVudCxuLGEpLHQuYXBwZW5kKCJ0aXRsZSIpLnRleHQobyl9bGV0IFNadD1udWxsO2Z1bmN0aW9uIE1adCh0LGUsbixpKXtLS3QodCwidGV4dCIsbiR0Lk5vZGUuTEFCRUwpLnRyYW5zaXRpb24oKS5hdHRyKCJ4IixlKS5hdHRyKCJ5IixuK2kpfWZ1bmN0aW9uIEVadCh0LGUsbil7bGV0IGk9cyR0KHQsImciLG4pO3N3aXRjaChlLm5vZGUudHlwZSl7Y2FzZSBBJHQuT1A6Y29uc3QgdD1lLm5vZGU7aWYoQ2UuZXhwb3J0cy5pc051bWJlcih0LmZ1bmN0aW9uSW5wdXRJbmRleCl8fENlLmV4cG9ydHMuaXNOdW1iZXIodC5mdW5jdGlvbk91dHB1dEluZGV4KSl7cyR0KGksInBvbHlnb24iLG4kdC5Ob2RlLkNPTE9SX1RBUkdFVCk7YnJlYWt9cyR0KGksImVsbGlwc2UiLG4kdC5Ob2RlLkNPTE9SX1RBUkdFVCk7YnJlYWs7Y2FzZSBBJHQuU0VSSUVTOmxldCBuPSJhbm5vdGF0aW9uIixyPWU7ci5jb3JlR3JhcGgmJihuPXIubm9kZS5oYXNOb25Db250cm9sRWRnZXM/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCIpO2xldCBvPVtuJHQuTm9kZS5DT0xPUl9UQVJHRVRdO3IuaXNGYWRlZE91dCYmby5wdXNoKCJmYWRlZC1lbGxpcHNlIikscyR0KGksInVzZSIsbykuYXR0cigieGxpbms6aHJlZiIsIiNvcC1zZXJpZXMtIituKyItc3RhbXAiKSxzJHQoaSwicmVjdCIsbiR0Lk5vZGUuQ09MT1JfVEFSR0VUKS5hdHRyKCJyeCIsZS5yYWRpdXMpLmF0dHIoInJ5IixlLnJhZGl1cyk7YnJlYWs7Y2FzZSBBJHQuQlJJREdFOmNhc2UgQSR0Lk1FVEE6cyR0KGksInJlY3QiLG4kdC5Ob2RlLkNPTE9SX1RBUkdFVCkuYXR0cigicngiLGUucmFkaXVzKS5hdHRyKCJyeSIsZS5yYWRpdXMpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVucmVjb2duaXplZCBub2RlIHR5cGU6ICIrZS5ub2RlLnR5cGUpfXJldHVybiBpfWZ1bmN0aW9uIFRadCh0KXtzd2l0Y2godC5ub2RlLnR5cGUpe2Nhc2UgQSR0Lk9QOnJldHVybiBuJHQuT1BOT0RFO2Nhc2UgQSR0Lk1FVEE6cmV0dXJuIG4kdC5NRVRBTk9ERTtjYXNlIEEkdC5TRVJJRVM6cmV0dXJuIG4kdC5TRVJJRVNOT0RFO2Nhc2UgQSR0LkJSSURHRTpyZXR1cm4gbiR0LkJSSURHRU5PREU7Y2FzZSBBJHQuRUxMSVBTSVM6cmV0dXJuIG4kdC5FTExJUFNJU05PREV9dGhyb3cgRXJyb3IoIlVucmVjb2duaXplZCBub2RlIHR5cGU6ICIrdC5ub2RlLnR5cGUpfWZ1bmN0aW9uIENadCh0LGUsbil7bGV0IGk9KGZ1bmN0aW9uIHIodCl7cmV0dXJuIHQucmVwbGFjZSgvKFs6LlxbXF0sL1xcXChcKV0pL2csIlxcJDEiKX0pKHQpO2lmKCFuKXJldHVybmB1cmwoIyR7aX0pYDtsZXQgbz1EdShuKSxhPW8uc2VsZWN0KCJkZWZzI19ncmFwaC1ncmFkaWVudHMiKTthLmVtcHR5KCkmJihhPW8uYXBwZW5kKCJkZWZzIikuYXR0cigiaWQiLCJfZ3JhcGgtZ3JhZGllbnRzIikpO2xldCBzPWEuc2VsZWN0KCJsaW5lYXJHcmFkaWVudCMiK2kpO2lmKHMuZW1wdHkoKSl7cz1hLmFwcGVuZCgibGluZWFyR3JhZGllbnQiKS5hdHRyKCJpZCIsdCkscy5zZWxlY3RBbGwoIioiKS5yZW1vdmUoKTtsZXQgbj0wO0NlLmV4cG9ydHMuZWFjaChlLCh0PT57bGV0IGU9dC5jb2xvcjtzLmFwcGVuZCgic3RvcCIpLmF0dHIoIm9mZnNldCIsbikuYXR0cigic3RvcC1jb2xvciIsZSkscy5hcHBlbmQoInN0b3AiKS5hdHRyKCJvZmZzZXQiLG4rdC5wcm9wb3J0aW9uKS5hdHRyKCJzdG9wLWNvbG9yIixlKSxuKz10LnByb3BvcnRpb259KSl9cmV0dXJuYHVybCgjJHtpfSlgfWZ1bmN0aW9uIEFadCh0KXtEdSh0KS5zZWxlY3QoImRlZnMjX2dyYXBoLWdyYWRpZW50cyIpLnJlbW92ZSgpfWZ1bmN0aW9uIGtadCh0LGUsbixpLHIpe2xldCBvPWdLdDtzd2l0Y2godD10fHwoKCk9PjApLGUpe2Nhc2Ugclp0Lk5PTkU6Y2FzZSByWnQuU1RSVUNUVVJFOmlmKG4ubm9kZS50eXBlPT09QSR0Lk1FVEEpe2xldCByPW4ubm9kZS50ZW1wbGF0ZUlkO3JldHVybiBlPT09clp0LlNUUlVDVFVSRSYmbnVsbCE9PXI/by5TVFJVQ1RVUkVfUEFMRVRURSh0KHIpLGkpOm8uVU5LTk9XTn1yZXR1cm4gbi5ub2RlLnR5cGU9PT1BJHQuU0VSSUVTP2k/by5FWFBBTkRFRF9DT0xPUjoid2hpdGUiOm4ubm9kZS50eXBlPT09QSR0LkJSSURHRT9uLnN0cnVjdHVyYWw/IiNmMGUiOm4ubm9kZS5pbmJvdW5kPyIjMGVmIjoiI2ZlMCI6Q2UuZXhwb3J0cy5pc051bWJlcihuLm5vZGUuZnVuY3Rpb25JbnB1dEluZGV4KT8iIzc5NTU0OCI6Q2UuZXhwb3J0cy5pc051bWJlcihuLm5vZGUuZnVuY3Rpb25PdXRwdXRJbmRleCk/IiMwMDk2ODgiOiJ3aGl0ZSI7Y2FzZSByWnQuREVWSUNFOnJldHVybiBudWxsPT1uLmRldmljZUNvbG9ycz9vLlVOS05PV046aT9vLkVYUEFOREVEX0NPTE9SOkNadCgiZGV2aWNlLSIrbi5ub2RlLm5hbWUsbi5kZXZpY2VDb2xvcnMscik7Y2FzZSByWnQuWExBX0NMVVNURVI6cmV0dXJuIG51bGw9PW4ueGxhQ2x1c3RlckNvbG9ycz9vLlVOS05PV046aT9vLkVYUEFOREVEX0NPTE9SOkNadCgieGxhLSIrbi5ub2RlLm5hbWUsbi54bGFDbHVzdGVyQ29sb3JzLHIpO2Nhc2Ugclp0LkNPTVBVVEVfVElNRTpyZXR1cm4gaT9vLkVYUEFOREVEX0NPTE9SOm4uY29tcHV0ZVRpbWVDb2xvcnx8by5VTktOT1dOO2Nhc2Ugclp0Lk1FTU9SWTpyZXR1cm4gaT9vLkVYUEFOREVEX0NPTE9SOm4ubWVtb3J5Q29sb3J8fG8uVU5LTk9XTjtjYXNlIHJadC5PUF9DT01QQVRJQklMSVRZOnJldHVybiBudWxsPT1uLmNvbXBhdGliaWxpdHlDb2xvcnM/by5VTktOT1dOOmk/by5FWFBBTkRFRF9DT0xPUjpDWnQoIm9wLWNvbXBhdC0iK24ubm9kZS5uYW1lLG4uY29tcGF0aWJpbGl0eUNvbG9ycyxyKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBjYXNlIHRvIGNvbG9yIG5vZGVzIGJ5Iil9fWZ1bmN0aW9uIExadCh0LGUsbixpKXtpPWl8fG4kdC5Ob2RlLlNIQVBFO2NvbnN0IHI9bi5pc05vZGVIaWdobGlnaHRlZChlLm5vZGUubmFtZSksbz1uLmlzTm9kZVNlbGVjdGVkKGUubm9kZS5uYW1lKSxhPWUuaXNJbkV4dHJhY3R8fGUuaXNPdXRFeHRyYWN0fHxlLmlzTGlicmFyeUZ1bmN0aW9uLHM9ZS5leHBhbmRlZCYmaSE9PW4kdC5Bbm5vdGF0aW9uLk5PREUsbD1lLmlzRmFkZWRPdXQ7dC5jbGFzc2VkKCJoaWdobGlnaHRlZCIsciksdC5jbGFzc2VkKCJzZWxlY3RlZCIsbyksdC5jbGFzc2VkKCJleHRyYWN0IixhKSx0LmNsYXNzZWQoImV4cGFuZGVkIixzKSx0LmNsYXNzZWQoImZhZGVkIixsKTtjb25zdCBjPXQuc2VsZWN0KCIuIitpKyIgLiIrbiR0Lk5vZGUuQ09MT1JfVEFSR0VUKSx1PWtadChuLnRlbXBsYXRlSW5kZXgsbi5jb2xvckJ5LGUscyxuLmdldEdyYXBoU3ZnUm9vdCgpKTtjLnN0eWxlKCJmaWxsIix1KSxjLnN0eWxlKCJzdHJva2UiLG8/bnVsbDpQWnQodSkpfWZ1bmN0aW9uIFBadCh0KXtyZXR1cm4idXJsIj09PXQuc3Vic3RyaW5nKDAsMyk/Z0t0LkdSQURJRU5UX09VVExJTkU6bmQodCkuZGFya2VyKCkudG9TdHJpbmcoKX1mdW5jdGlvbiBOWnQodCxlLG4saSl7Y29uc3Qgcj1EdSh0KTtpZihyLnNlbGVjdEFsbCgiLmlucHV0LWhpZ2hsaWdodCIpLmNsYXNzZWQoImlucHV0LWhpZ2hsaWdodCIsITEpLHIuc2VsZWN0QWxsKCIubm9uLWlucHV0IikuY2xhc3NlZCgibm9uLWlucHV0IiwhMSksci5zZWxlY3RBbGwoIi5pbnB1dC1wYXJlbnQiKS5jbGFzc2VkKCJpbnB1dC1wYXJlbnQiLCExKSxyLnNlbGVjdEFsbCgiLmlucHV0LWNoaWxkIikuY2xhc3NlZCgiaW5wdXQtY2hpbGQiLCExKSxyLnNlbGVjdEFsbCgiLmlucHV0LWVkZ2UtaGlnaGxpZ2h0IikuY2xhc3NlZCgiaW5wdXQtZWRnZS1oaWdobGlnaHQiLCExKSxyLnNlbGVjdEFsbCgiLm5vbi1pbnB1dC1lZGdlLWhpZ2hsaWdodCIpLmNsYXNzZWQoIm5vbi1pbnB1dC1lZGdlLWhpZ2hsaWdodCIsITEpLHIuc2VsZWN0QWxsKCIuaW5wdXQtaGlnaGxpZ2h0LXNlbGVjdGVkIikuY2xhc3NlZCgiaW5wdXQtaGlnaGxpZ2h0LXNlbGVjdGVkIiwhMSksIWV8fCFpfHwhbilyZXR1cm47bGV0IG89SVp0KG4sZSksYT17fTtDZS5leHBvcnRzLmVhY2gobywoZnVuY3Rpb24obil7YT1SWnQodCxlLG4sYSl9KSk7bGV0IHM9T2JqZWN0LmtleXMoYSksbD0oZnVuY3Rpb24gYyh0LGUpe2xldCBuPXt9O3JldHVybiBDZS5leHBvcnRzLmVhY2goZSwoZnVuY3Rpb24oZSl7bGV0IGk9dC5nZXROb2RlQnlOYW1lKGUpLHI9T1p0KHQsaSk7bltyLm5hbWVdPXJ9KSksbn0pKGUscyk7IShmdW5jdGlvbiB1KHQsZSl7Q2UuZXhwb3J0cy5mb3JPd24oZSwoZnVuY3Rpb24oZSl7bGV0IG49ZTtmb3IoO24ubmFtZSE9PUUkdDspe2NvbnN0IGU9RHUodCkuc2VsZWN0KGAubm9kZVtkYXRhLW5hbWU9IiR7bi5uYW1lfSJdYCk7IWUubm9kZXMoKS5sZW5ndGh8fGUuY2xhc3NlZCgiaW5wdXQtaGlnaGxpZ2h0Iil8fGUuY2xhc3NlZCgic2VsZWN0ZWQiKXx8ZS5jbGFzc2VkKCJvcCIpfHxlLmNsYXNzZWQoImlucHV0LXBhcmVudCIsITApLG49bi5wYXJlbnROb2RlfX0pKX0pKHQsbCksci5zZWxlY3RBbGwoImcubm9kZTpub3QoLnNlbGVjdGVkKTpub3QoLmlucHV0LWhpZ2hsaWdodCk6bm90KC5pbnB1dC1wYXJlbnQpOm5vdCguaW5wdXQtY2hpbGRyZW4pIikuY2xhc3NlZCgibm9uLWlucHV0IiwhMCkuZWFjaCgoZnVuY3Rpb24odCl7ci5zZWxlY3RBbGwoYFtkYXRhLW5hbWU9IiR7dC5ub2RlLm5hbWV9Il1gKS5jbGFzc2VkKCJub24taW5wdXQiLCEwKX0pKSxyLnNlbGVjdEFsbCgiZy5lZGdlOm5vdCguaW5wdXQtZWRnZS1oaWdobGlnaHQpIikuY2xhc3NlZCgibm9uLWlucHV0LWVkZ2UtaGlnaGxpZ2h0IiwhMCl9ZnVuY3Rpb24gSVp0KHQsZSl7bGV0IG49W10saT1lLmdldE5vZGVCeU5hbWUodCk7aWYoaSBpbnN0YW5jZW9mIE8kdClyZXR1cm5baV0uY29uY2F0KGkuaW5FbWJlZGRpbmdzKTtsZXQgcj1pLm1ldGFncmFwaC5ub2RlcygpO3JldHVybiBDZS5leHBvcnRzLmVhY2gociwoZnVuY3Rpb24odCl7bj1uLmNvbmNhdChJWnQodCxlKSl9KSksbn1mdW5jdGlvbiBSWnQodCxlLG4saSl7aWYoaVtuLm5hbWVdKXJldHVybiBpO2lbbi5uYW1lXT0hMDtsZXQgcj1uLmlucHV0cyxvPU9adChlLG4pO0R1KHQpLnNlbGVjdChgLm5vZGVbZGF0YS1uYW1lPSIke28ubmFtZX0iXWApLmNsYXNzZWQoImlucHV0LWhpZ2hsaWdodCIsITApO2xldCBhPXt9O0NlLmV4cG9ydHMuZWFjaChyLChmdW5jdGlvbih0KXtsZXQgbj1lLmdldE5vZGVCeU5hbWUodC5uYW1lKTtpZih2b2lkIDA9PT1uKXJldHVybjtpZihuIGluc3RhbmNlb2YgRCR0KXtsZXQgdD0kJHQobi5uYW1lKTtuPWUuZ2V0Tm9kZUJ5TmFtZSh0KX1sZXQgaT1PWnQoZSxuKSxyPWFbaS5uYW1lXTtyP3Iub3BOb2Rlcy5wdXNoKG4pOmFbaS5uYW1lXT17dmlzaWJsZVBhcmVudDppLG9wTm9kZXM6W25dfX0pKTtsZXQgcz17fSxsPVtvXTtzW28ubmFtZV09e3RyYWNlZDohMSxpbmRleDowLGNvbm5lY3Rpb25FbmRwb2ludHM6W119O2xldCBjPW87Zm9yKGxldCB0PTE7Yy5uYW1lIT09RSR0O3QrKyljPWMucGFyZW50Tm9kZSxzW2MubmFtZV09e3RyYWNlZDohMSxpbmRleDp0LGNvbm5lY3Rpb25FbmRwb2ludHM6W119LGxbdF09YztyZXR1cm4gQ2UuZXhwb3J0cy5mb3JPd24oYSwoZnVuY3Rpb24obixyKXtsZXQgYT1uLnZpc2libGVQYXJlbnQ7Q2UuZXhwb3J0cy5lYWNoKG4ub3BOb2RlcywoZnVuY3Rpb24obil7aT1SWnQodCxlLG4saSl9KSksYS5uYW1lIT09by5uYW1lJiYoZnVuY3Rpb24gYyh0LGUsbixpKXtsZXQgcj1lLG89ZSxhPVtdO2Zvcig7IW5bci5uYW1lXTspby5uYW1lIT09ci5uYW1lJiZhLnB1c2goW28scl0pLG89cixyPXIucGFyZW50Tm9kZTtsZXQgcz1uW3IubmFtZV0uaW5kZXgsbD1pW01hdGgubWF4KHMtMSwwKV0ubmFtZSxjPWwsdT1vLm5hbWUsaD1vLm5hbWU7Y29uc3QgZD1EdSh0KTtkLnNlbGVjdEFsbChgW2RhdGEtZWRnZT0iJHtofS0tJHtsfSJdYCkuY2xhc3NlZCgiaW5wdXQtZWRnZS1oaWdobGlnaHQiLCEwKSxDZS5leHBvcnRzLmVhY2goYSwoZnVuY3Rpb24odCl7ZC5zZWxlY3RBbGwoYFtkYXRhLWVkZ2U9IiR7dFswXS5uYW1lfS0tJHtjfX5+JHt0WzFdLm5hbWV9fn5PVVQiXWApLmNsYXNzZWQoImlucHV0LWVkZ2UtaGlnaGxpZ2h0IiwhMCl9KSk7Zm9yKGxldCB0PTE7dDxzO3QrKyl7ZC5zZWxlY3RBbGwoYFtkYXRhLWVkZ2U9IiR7dX1+fiR7aVt0XS5uYW1lfX5+SU4tLSR7aVt0LTFdLm5hbWV9Il1gKS5jbGFzc2VkKCJpbnB1dC1lZGdlLWhpZ2hsaWdodCIsITApfX0pKHQsYSxzLGwpfSkpLGl9ZnVuY3Rpb24gT1p0KHQsZSl7bGV0IG49ITEsaT1lO2Zvcig7IW47KWlmKGk9KGU9aSkucGFyZW50Tm9kZSx2b2lkIDA9PT1pKW49ITA7ZWxzZXtsZXQgZT10LmdldFJlbmRlck5vZGVCeU5hbWUoaS5uYW1lKTtlJiYoZS5leHBhbmRlZHx8aSBpbnN0YW5jZW9mIE8kdCkmJihuPSEwKX1yZXR1cm4gZX1mdW5jdGlvbiB6WnQodCxlLG4saSl7bGV0IHI9dC5zZWxlY3RBbGwoKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlc30pKS5kYXRhKGUubGlzdCwodD0+dC5ub2RlLm5hbWUpKTtyZXR1cm4gci5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImRhdGEtbmFtZSIsKHQ9PnQubm9kZS5uYW1lKSkuZWFjaCgoZnVuY3Rpb24odCl7bGV0IGU9RHUodGhpcyk7aS5hZGRBbm5vdGF0aW9uR3JvdXAodCxuLGUpO2xldCByPW4kdC5Bbm5vdGF0aW9uLkVER0Usbz10LnJlbmRlck1ldGFlZGdlSW5mbyYmdC5yZW5kZXJNZXRhZWRnZUluZm8ubWV0YWVkZ2U7byYmIW8ubnVtUmVndWxhckVkZ2VzJiYocis9IiAiK24kdC5Bbm5vdGF0aW9uLkNPTlRST0xfRURHRSksbyYmby5udW1SZWZFZGdlcyYmKHIrPSIgIituJHQuRWRnZS5SRUZfTElORSkscFp0KGUsdCxpLHIpLHQuYW5ub3RhdGlvblR5cGUhPT1MS3QuRUxMSVBTSVM/KCEoZnVuY3Rpb24gYSh0LGUpe2xldCBuPWUubm9kZS5uYW1lLnNwbGl0KCIvIik7cmV0dXJuIERadCh0LG5bbi5sZW5ndGgtMV0sZSxudWxsKX0pKGUsdCksKGZ1bmN0aW9uIHModCxlKXtpZihlLmFubm90YXRpb25UeXBlPT09TEt0LlNVTU1BUlkpe3MkdCh0LCJ1c2UiKS5hdHRyKCJjbGFzcyIsInN1bW1hcnkiKS5hdHRyKCJ4bGluazpocmVmIiwiI3N1bW1hcnktaWNvbiIpLmF0dHIoImN1cnNvciIsInBvaW50ZXIiKX1lbHNle3MkdChFWnQodCxlLG4kdC5Bbm5vdGF0aW9uLk5PREUpLCJ0aXRsZSIpLnRleHQoZS5ub2RlLm5hbWUpfX0pKGUsdCkpOkRadChlLHQubm9kZS5uYW1lLHQsbiR0LkFubm90YXRpb24uRUxMSVBTSVMpfSkpLm1lcmdlKHIpLmF0dHIoImNsYXNzIiwodD0+biR0LkFubm90YXRpb24uR1JPVVArIiAiKyhmdW5jdGlvbiBlKHQpe3JldHVybihMS3RbdF18fCIiKS50b0xvd2VyQ2FzZSgpfHxudWxsfSkodC5hbm5vdGF0aW9uVHlwZSkrIiAiK1RadCh0KSkpLmVhY2goKGZ1bmN0aW9uKHQpe2xldCBlPUR1KHRoaXMpOyEoZnVuY3Rpb24gcih0LGUsbixpKXtsZXQgcj1ZS3QoZSk7bi5yZW5kZXJOb2RlSW5mbyYmbi5hbm5vdGF0aW9uVHlwZSE9PUxLdC5FTExJUFNJUyYmTFp0KHQsbi5yZW5kZXJOb2RlSW5mbyxpLG4kdC5Bbm5vdGF0aW9uLk5PREUpO24uYW5ub3RhdGlvblR5cGU9PT1MS3QuU1VNTUFSWSYmKG4ud2lkdGgrPTEwKTt0LnNlbGVjdCgidGV4dC4iK24kdC5Bbm5vdGF0aW9uLkxBQkVMKS50cmFuc2l0aW9uKCkuYXR0cigieCIscituLmR4KyhuLmlzSW4/LTE6MSkqKG4ud2lkdGgvMituLmxhYmVsT2Zmc2V0KSkuYXR0cigieSIsZS55K24uZHkpLHQuc2VsZWN0KCJ1c2Uuc3VtbWFyeSIpLnRyYW5zaXRpb24oKS5hdHRyKCJ4IixyK24uZHgtMykuYXR0cigieSIsZS55K24uZHktNiksZVp0KHQuc2VsZWN0KCIuIituJHQuQW5ub3RhdGlvbi5OT0RFKyIgZWxsaXBzZSIpLHIrbi5keCxlLnkrbi5keSxuLndpZHRoLG4uaGVpZ2h0KSx0WnQodC5zZWxlY3QoIi4iK24kdC5Bbm5vdGF0aW9uLk5PREUrIiByZWN0IikscituLmR4LGUueStuLmR5LG4ud2lkdGgsbi5oZWlnaHQpLHRadCh0LnNlbGVjdCgiLiIrbiR0LkFubm90YXRpb24uTk9ERSsiIHVzZSIpLHIrbi5keCxlLnkrbi5keSxuLndpZHRoLG4uaGVpZ2h0KSx0LnNlbGVjdCgicGF0aC4iK24kdC5Bbm5vdGF0aW9uLkVER0UpLnRyYW5zaXRpb24oKS5hdHRyKCJkIiwodD0+e2xldCBuPXQucG9pbnRzLm1hcCgodD0+KHt4OnQuZHgrcix5OnQuZHkrZS55fSkpKTtyZXR1cm4gZlp0KG4pfSkpfSkoZSxuLHQsaSksdC5hbm5vdGF0aW9uVHlwZSE9PUxLdC5FTExJUFNJUyYmKGZ1bmN0aW9uIG8odCxlLG4saSl7dC5vbigibW91c2VvdmVyIiwodD0+e2kuZmlyZSgiYW5ub3RhdGlvbi1oaWdobGlnaHQiLHtuYW1lOnQubm9kZS5uYW1lLGhvc3ROYW1lOmUubm9kZS5uYW1lfSl9KSkub24oIm1vdXNlb3V0IiwodD0+e2kuZmlyZSgiYW5ub3RhdGlvbi11bmhpZ2hsaWdodCIse25hbWU6dC5ub2RlLm5hbWUsaG9zdE5hbWU6ZS5ub2RlLm5hbWV9KX0pKS5vbigiY2xpY2siLCh0PT57TXUuc3RvcFByb3BhZ2F0aW9uKCksaS5maXJlKCJhbm5vdGF0aW9uLXNlbGVjdCIse25hbWU6dC5ub2RlLm5hbWUsaG9zdE5hbWU6ZS5ub2RlLm5hbWV9KX0pKSxuLmFubm90YXRpb25UeXBlIT09TEt0LlNVTU1BUlkmJm4uYW5ub3RhdGlvblR5cGUhPT1MS3QuQ09OU1RBTlQmJnQub24oImNvbnRleHRtZW51IixvWnQoaSx5WnQobi5ub2RlLGkpKSl9KShlLG4sdCxpKX0pKSxyLmV4aXQoKS5lYWNoKChmdW5jdGlvbih0KXtpLnJlbW92ZUFubm90YXRpb25Hcm91cCh0LG4pfSkpLnJlbW92ZSgpLHJ9ZnVuY3Rpb24gRFp0KHQsZSxuLGkpe2xldCByPW4kdC5Bbm5vdGF0aW9uLkxBQkVMO3JldHVybiBpJiYocis9IiAiK2kpLHdadCh0LmFwcGVuZCgidGV4dCIpLmF0dHIoImNsYXNzIixyKS5hdHRyKCJkeSIsIi4zNWVtIikuYXR0cigidGV4dC1hbmNob3IiLG4uaXNJbj8iZW5kIjoic3RhcnQiKS50ZXh0KGUpLC0xLGkkdC5MQUJFTCl9ZnVuY3Rpb24gQlp0KHQsZSxuLGkpe2xldCByPWEkdCh0LCJnIixpPWl8fG4kdC5TY2VuZS5HUk9VUCkuZW1wdHkoKSxvPXMkdCh0LCJnIixpKSxhPXMkdChvLCJnIixuJHQuU2NlbmUuQ09SRSkscz1DZS5leHBvcnRzLnJlZHVjZShlLmNvcmVHcmFwaC5ub2RlcygpLCgodCxuKT0+e2xldCBpPWUuY29yZUdyYXBoLm5vZGUobik7cmV0dXJuIGkuZXhjbHVkZWR8fHQucHVzaChpKSx0fSksW10pO2lmKGUubm9kZS50eXBlPT09QSR0LlNFUklFUyYmcy5yZXZlcnNlKCksbFp0KGEsZS5jb3JlR3JhcGgsbiksbVp0KGEscyxuKSxlLmlzb2xhdGVkSW5FeHRyYWN0Lmxlbmd0aD4wKXttWnQocyR0KG8sImciLG4kdC5TY2VuZS5JTkVYVFJBQ1QpLGUuaXNvbGF0ZWRJbkV4dHJhY3Qsbil9ZWxzZSBhJHQobywiZyIsbiR0LlNjZW5lLklORVhUUkFDVCkucmVtb3ZlKCk7aWYoZS5pc29sYXRlZE91dEV4dHJhY3QubGVuZ3RoPjApe21adChzJHQobywiZyIsbiR0LlNjZW5lLk9VVEVYVFJBQ1QpLGUuaXNvbGF0ZWRPdXRFeHRyYWN0LG4pfWVsc2UgYSR0KG8sImciLG4kdC5TY2VuZS5PVVRFWFRSQUNUKS5yZW1vdmUoKTtpZihlLmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0Lmxlbmd0aD4wKXttWnQocyR0KG8sImciLG4kdC5TY2VuZS5GVU5DVElPTl9MSUJSQVJZKSxlLmxpYnJhcnlGdW5jdGlvbnNFeHRyYWN0LG4pfWVsc2UgYSR0KG8sImciLG4kdC5TY2VuZS5GVU5DVElPTl9MSUJSQVJZKS5yZW1vdmUoKTtyZXR1cm4oZnVuY3Rpb24gbCh0LGUpe2xldCBuPWUubm9kZS50eXBlPT09QSR0LlNFUklFUz8wOlVLdC5zdWJzY2VuZS5tZXRhLmxhYmVsSGVpZ2h0O1FLdChLS3QodCwiZyIsWkt0LlNjZW5lLkNPUkUpLDAsbik7bGV0IGk9ZS5pc29sYXRlZEluRXh0cmFjdC5sZW5ndGg+MCxyPWUuaXNvbGF0ZWRPdXRFeHRyYWN0Lmxlbmd0aD4wLG89ZS5saWJyYXJ5RnVuY3Rpb25zRXh0cmFjdC5sZW5ndGg+MCxhPVVLdC5zdWJzY2VuZS5tZXRhLmV4dHJhY3RYT2Zmc2V0LHM9MDtpZihpJiYocys9ZS5vdXRFeHRyYWN0Qm94LndpZHRoKSxyJiYocys9ZS5vdXRFeHRyYWN0Qm94LndpZHRoKSxpKXtsZXQgaT1lLmNvcmVCb3gud2lkdGg7aT1zPGpLdD9pLWpLdCtlLmluRXh0cmFjdEJveC53aWR0aC8yOmktZS5pbkV4dHJhY3RCb3gud2lkdGgvMi1lLm91dEV4dHJhY3RCb3gud2lkdGgtKHI/YTowKSxpPWktZS5saWJyYXJ5RnVuY3Rpb25zQm94LndpZHRoLShvP2E6MCksUUt0KEtLdCh0LCJnIixaS3QuU2NlbmUuSU5FWFRSQUNUKSxpLG4pfWlmKHIpe2xldCBpPWUuY29yZUJveC53aWR0aDtzPGpLdD9pPWktakt0K2Uub3V0RXh0cmFjdEJveC53aWR0aC8yOmktPWUub3V0RXh0cmFjdEJveC53aWR0aC8yLGk9aS1lLmxpYnJhcnlGdW5jdGlvbnNCb3gud2lkdGgtKG8/YTowKSxRS3QoS0t0KHQsImciLFpLdC5TY2VuZS5PVVRFWFRSQUNUKSxpLG4pfWlmKG8pe2xldCBpPWUuY29yZUJveC53aWR0aC1lLmxpYnJhcnlGdW5jdGlvbnNCb3gud2lkdGgvMjtRS3QoS0t0KHQsImciLFpLdC5TY2VuZS5GVU5DVElPTl9MSUJSQVJZKSxpLG4pfX0pKG8sZSksciYmby5hdHRyKCJvcGFjaXR5IiwwKS50cmFuc2l0aW9uKCkuYXR0cigib3BhY2l0eSIsMSksb31jbGFzcyBIWnR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8pe3RoaXMuc3ZnPXQsdGhpcy5sYWJlbFBhZGRpbmc9byx0aGlzLnpvb21HPWUsdGhpcy5tYWluWm9vbT1uLHRoaXMubWF4V2FuZEg9cjtsZXQgYT1EdShpLnNoYWRvd1Jvb3QpLHM9YS5zZWxlY3QoInN2ZyIpLGw9cy5zZWxlY3QoInJlY3QiKTt0aGlzLnZpZXdwb2ludENvb3JkPXt4OjAseTowfTtsZXQgYz1JaCgpLnN1YmplY3QoT2JqZWN0KS5vbigiZHJhZyIsKHQ9Pnt0aGlzLnZpZXdwb2ludENvb3JkLng9TXUueCx0aGlzLnZpZXdwb2ludENvb3JkLnk9TXUueSx0aGlzLnVwZGF0ZVZpZXdwb2ludCgpfSkpO2wuZGF0dW0odGhpcy52aWV3cG9pbnRDb29yZCkuY2FsbChjKSxzLm9uKCJjbGljayIsKCgpPT57aWYoTXUuZGVmYXVsdFByZXZlbnRlZClyZXR1cm47bGV0IHQ9TnVtYmVyKGwuYXR0cigid2lkdGgiKSksZT1OdW1iZXIobC5hdHRyKCJoZWlnaHQiKSksbj1iaChzLm5vZGUoKSk7dGhpcy52aWV3cG9pbnRDb29yZC54PW5bMF0tdC8yLHRoaXMudmlld3BvaW50Q29vcmQueT1uWzFdLWUvMix0aGlzLnVwZGF0ZVZpZXdwb2ludCgpfSkpLHRoaXMudmlld3BvaW50PWwubm9kZSgpLHRoaXMubWluaW1hcFN2Zz1zLm5vZGUoKSx0aGlzLm1pbmltYXA9aSx0aGlzLmNhbnZhcz1hLnNlbGVjdCgiY2FudmFzLmZpcnN0Iikubm9kZSgpLHRoaXMuY2FudmFzQnVmZmVyPWEuc2VsZWN0KCJjYW52YXMuc2Vjb25kIikubm9kZSgpLHRoaXMuZG93bmxvYWRDYW52YXM9YS5zZWxlY3QoImNhbnZhcy5kb3dubG9hZCIpLm5vZGUoKSxEdSh0aGlzLmRvd25sb2FkQ2FudmFzKS5zdHlsZSgiZGlzcGxheSIsIm5vbmUiKSx0aGlzLnVwZGF0ZSgpfXVwZGF0ZVZpZXdwb2ludCgpe0R1KHRoaXMudmlld3BvaW50KS5hdHRyKCJ4Iix0aGlzLnZpZXdwb2ludENvb3JkLngpLmF0dHIoInkiLHRoaXMudmlld3BvaW50Q29vcmQueSk7bGV0IHQ9LXRoaXMudmlld3BvaW50Q29vcmQueCp0aGlzLnNjYWxlTWFpbi90aGlzLnNjYWxlTWluaW1hcCxlPS10aGlzLnZpZXdwb2ludENvb3JkLnkqdGhpcy5zY2FsZU1haW4vdGhpcy5zY2FsZU1pbmltYXA7RHUodGhpcy5zdmcpLmNhbGwodGhpcy5tYWluWm9vbS50cmFuc2Zvcm0scU4udHJhbnNsYXRlKHQsZSkuc2NhbGUodGhpcy5zY2FsZU1haW4pKX1nZXRJbWFnZUJsb2IoKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9Pnt0aGlzLmRvd25sb2FkQ2FudmFzLnRvQmxvYigoZT0+e3QoZSl9KSwiaW1hZ2UvcG5nIil9KSl9dXBkYXRlKCl7bGV0IHQ9bnVsbDt0cnl7aWYodD10aGlzLnpvb21HLmdldEJCb3goKSwwPT09dC53aWR0aClyZXR1cm59Y2F0Y2godCl7cmV0dXJufWxldCBlPUR1KHRoaXMuc3ZnKSxuPSIiO2NvbnN0IGk9dGhpcy5zdmcscj0oaS5nZXRSb290Tm9kZT9pLmdldFJvb3ROb2RlKCk6dGhpcy5zdmcucGFyZW50Tm9kZSkuc3R5bGVTaGVldHM7Zm9yKGxldCB0PTA7dDxyLmxlbmd0aDt0KyspdHJ5e2xldCBlPXJbdF0uY3NzUnVsZXN8fHJbdF0ucnVsZXM7aWYobnVsbD09ZSljb250aW51ZTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyluKz1lW3RdLmNzc1RleHQucmVwbGFjZSgvID90Zi1bXHctXSsgPy9nLCIiKSsiXG4ifWNhdGNoKHQpe2lmKCJTZWN1cml0eUVycm9yIiE9PXQubmFtZSl0aHJvdyB0fWxldCBvPWUuYXBwZW5kKCJzdHlsZSIpO28udGV4dChuKTtsZXQgYT1EdSh0aGlzLnpvb21HKSxzPWEuYXR0cigidHJhbnNmb3JtIik7YS5hdHRyKCJ0cmFuc2Zvcm0iLG51bGwpLHQuaGVpZ2h0Kz10LnksdC53aWR0aCs9dC54LHQuaGVpZ2h0Kz0yKnRoaXMubGFiZWxQYWRkaW5nLHQud2lkdGgrPTIqdGhpcy5sYWJlbFBhZGRpbmcsZS5hdHRyKCJ3aWR0aCIsdC53aWR0aCkuYXR0cigiaGVpZ2h0Iix0LmhlaWdodCksdGhpcy5zY2FsZU1pbmltYXA9dGhpcy5tYXhXYW5kSC9NYXRoLm1heCh0LndpZHRoLHQuaGVpZ2h0KSx0aGlzLm1pbmltYXBTaXplPXt3aWR0aDp0LndpZHRoKnRoaXMuc2NhbGVNaW5pbWFwLGhlaWdodDp0LmhlaWdodCp0aGlzLnNjYWxlTWluaW1hcH0sRHUodGhpcy5taW5pbWFwU3ZnKS5hdHRyKHRoaXMubWluaW1hcFNpemUpLER1KHRoaXMuY2FudmFzQnVmZmVyKS5hdHRyKHRoaXMubWluaW1hcFNpemUpO2NvbnN0IGw9RHUodGhpcy5kb3dubG9hZENhbnZhcyk7bC5zdHlsZSgid2lkdGgiLHQud2lkdGgpLGwuc3R5bGUoImhlaWdodCIsdC5oZWlnaHQpLGwuYXR0cigid2lkdGgiLDMqdC53aWR0aCksbC5hdHRyKCJoZWlnaHQiLDMqdC5oZWlnaHQpLG51bGwhPXRoaXMudHJhbnNsYXRlJiZudWxsIT10aGlzLnpvb20mJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PnRoaXMuem9vbSgpKSk7bGV0IGM9KG5ldyBYTUxTZXJpYWxpemVyKS5zZXJpYWxpemVUb1N0cmluZyh0aGlzLnN2Zyk7by5yZW1vdmUoKSxlLmF0dHIoIndpZHRoIixudWxsKS5hdHRyKCJoZWlnaHQiLG51bGwpLGEuYXR0cigidHJhbnNmb3JtIixzKTtsZXQgdT1uZXcgSW1hZ2U7dS5vbmxvYWQ9KCk9PntsZXQgdD10aGlzLmNhbnZhc0J1ZmZlci5nZXRDb250ZXh0KCIyZCIpO3QuY2xlYXJSZWN0KDAsMCx0aGlzLmNhbnZhc0J1ZmZlci53aWR0aCx0aGlzLmNhbnZhc0J1ZmZlci5oZWlnaHQpLHQuZHJhd0ltYWdlKHUsMCwwLHRoaXMubWluaW1hcFNpemUud2lkdGgsdGhpcy5taW5pbWFwU2l6ZS5oZWlnaHQpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntEdSh0aGlzLmNhbnZhc0J1ZmZlcikuc3R5bGUoImRpc3BsYXkiLG51bGwpLER1KHRoaXMuY2FudmFzKS5zdHlsZSgiZGlzcGxheSIsIm5vbmUiKSxbdGhpcy5jYW52YXMsdGhpcy5jYW52YXNCdWZmZXJdPVt0aGlzLmNhbnZhc0J1ZmZlcix0aGlzLmNhbnZhc119KSk7bGV0IGU9dGhpcy5kb3dubG9hZENhbnZhcy5nZXRDb250ZXh0KCIyZCIpO2UuY2xlYXJSZWN0KDAsMCx0aGlzLmRvd25sb2FkQ2FudmFzLndpZHRoLHRoaXMuZG93bmxvYWRDYW52YXMuaGVpZ2h0KSxlLmRyYXdJbWFnZSh1LDAsMCx0aGlzLmRvd25sb2FkQ2FudmFzLndpZHRoLHRoaXMuZG93bmxvYWRDYW52YXMuaGVpZ2h0KX0sdS5vbmVycm9yPSgpPT57bGV0IHQ9bmV3IEJsb2IoW2NdLHt0eXBlOiJpbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgifSk7dS5zcmM9VVJMLmNyZWF0ZU9iamVjdFVSTCh0KX0sdS5zcmM9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCIrZW5jb2RlVVJJQ29tcG9uZW50KGMpfXpvb20odCl7aWYobnVsbD09dGhpcy5zY2FsZU1pbmltYXApcmV0dXJuO3QmJih0aGlzLnRyYW5zbGF0ZT1bdC54LHQueV0sdGhpcy5zY2FsZU1haW49dC5rKTtsZXQgZT10aGlzLnN2Zy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPUR1KHRoaXMudmlld3BvaW50KTt0aGlzLnZpZXdwb2ludENvb3JkLng9LXRoaXMudHJhbnNsYXRlWzBdKnRoaXMuc2NhbGVNaW5pbWFwL3RoaXMuc2NhbGVNYWluLHRoaXMudmlld3BvaW50Q29vcmQueT0tdGhpcy50cmFuc2xhdGVbMV0qdGhpcy5zY2FsZU1pbmltYXAvdGhpcy5zY2FsZU1haW47bGV0IGk9ZS53aWR0aCp0aGlzLnNjYWxlTWluaW1hcC90aGlzLnNjYWxlTWFpbixyPWUuaGVpZ2h0KnRoaXMuc2NhbGVNaW5pbWFwL3RoaXMuc2NhbGVNYWluO24uYXR0cigieCIsdGhpcy52aWV3cG9pbnRDb29yZC54KS5hdHRyKCJ5Iix0aGlzLnZpZXdwb2ludENvb3JkLnkpLmF0dHIoIndpZHRoIixpKS5hdHRyKCJoZWlnaHQiLHIpO2xldCBvPXRoaXMubWluaW1hcFNpemUud2lkdGgsYT10aGlzLm1pbmltYXBTaXplLmhlaWdodCxzPXRoaXMudmlld3BvaW50Q29vcmQueCxsPXRoaXMudmlld3BvaW50Q29vcmQueTsoTWF0aC5taW4oTWF0aC5tYXgoMCxzK2kpLG8pLU1hdGgubWluKE1hdGgubWF4KDAscyksbykpKihNYXRoLm1pbihNYXRoLm1heCgwLGwrciksYSktTWF0aC5taW4oTWF0aC5tYXgoMCxsKSxhKSkvKG8qYSk8Ljg/dGhpcy5taW5pbWFwLmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOnRoaXMubWluaW1hcC5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX19bGV0IEZadD1jbGFzcyBleHRlbmRzIHdle2luaXQodCxlLG4saSxyKXtyZXR1cm4gbmV3IEhadCh0LGUsbix0aGlzLGkscil9fTtGWnQudGVtcGxhdGU9eGVgCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICA6aG9zdCguaGlkZGVuKSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgY2FudmFzIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5OwogICAgICB9CgogICAgICByZWN0IHsKICAgICAgICBmaWxsOiB3aGl0ZTsKICAgICAgICBzdHJva2U6ICMxMTExMTE7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7CiAgICAgICAgZmlsbC1vcGFjaXR5OiAwOwogICAgICAgIGZpbHRlcjogdXJsKCNtaW5pbWFwRHJvcFNoYWRvdyk7CiAgICAgICAgY3Vyc29yOiBtb3ZlOwogICAgICB9CgogICAgICBzdmcgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxzdmc+CiAgICAgIDxkZWZzPgogICAgICAgIDxmaWx0ZXIKICAgICAgICAgIGlkPSJtaW5pbWFwRHJvcFNoYWRvdyIKICAgICAgICAgIHg9Ii0yMCUiCiAgICAgICAgICB5PSItMjAlIgogICAgICAgICAgd2lkdGg9IjE1MCUiCiAgICAgICAgICBoZWlnaHQ9IjE1MCUiCiAgICAgICAgPgogICAgICAgICAgPGZlT2Zmc2V0IHJlc3VsdD0ib2ZmT3V0IiBpbj0iU291cmNlR3JhcGhpYyIgZHg9IjEiIGR5PSIxIj48L2ZlT2Zmc2V0PgogICAgICAgICAgPGZlQ29sb3JNYXRyaXgKICAgICAgICAgICAgcmVzdWx0PSJtYXRyaXhPdXQiCiAgICAgICAgICAgIGluPSJvZmZPdXQiCiAgICAgICAgICAgIHR5cGU9Im1hdHJpeCIKICAgICAgICAgICAgdmFsdWVzPSIwLjEgMCAwIDAgMCAwIDAuMSAwIDAgMCAwIDAgMC4xIDAgMCAwIDAgMCAwLjUgMCIKICAgICAgICAgID48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIKICAgICAgICAgICAgcmVzdWx0PSJibHVyT3V0IgogICAgICAgICAgICBpbj0ibWF0cml4T3V0IgogICAgICAgICAgICBzdGREZXZpYXRpb249IjIiCiAgICAgICAgICA+PC9mZUdhdXNzaWFuQmx1cj4KICAgICAgICAgIDxmZUJsZW5kIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImJsdXJPdXQiIG1vZGU9Im5vcm1hbCI+PC9mZUJsZW5kPgogICAgICAgIDwvZmlsdGVyPgogICAgICA8L2RlZnM+CiAgICAgIDxyZWN0PjwvcmVjdD4KICAgIDwvc3ZnPgogICAgPGNhbnZhcyBjbGFzcz0iZmlyc3QiPjwvY2FudmFzPgogICAgPCEtLSBBZGRpdGlvbmFsIGNhbnZhcyB0byB1c2UgYXMgYnVmZmVyIHRvIGF2b2lkIGZsaWNrZXJpbmcgYmV0d2VlbiB1cGRhdGVzIC0tPgogICAgPGNhbnZhcyBjbGFzcz0ic2Vjb25kIj48L2NhbnZhcz4KICAgIDxjYW52YXMgY2xhc3M9ImRvd25sb2FkIj48L2NhbnZhcz4KICBgLEZadD10KFtpKCJ0Zi1ncmFwaC1taW5pbWFwIildLEZadCk7Y29uc3QgVlp0PXhlYAogIDxzdHlsZT4KICAgIDpob3N0KC5kYXJrLW1vZGUpIHsKICAgICAgZmlsdGVyOiBpbnZlcnQoMSk7CiAgICB9CgogICAgOmhvc3QgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgI3N2ZyB7CiAgICAgIGZsZXg6IDE7CiAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgI2hpZGRlbiB7CiAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgdG9wOiAwcHg7CiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIH0KCiAgICB0ZXh0IHsKICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB9CgogICAgLyogLS0tIE5vZGUgYW5kIGFubm90YXRpb24tbm9kZSBmb3IgTWV0YW5vZGUgLS0tICovCgogICAgLm1ldGEgPiAubm9kZXNoYXBlID4gcmVjdCwKICAgIC5tZXRhID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIGZpbGw6IGhzbCgwLCAwJSwgNzAlKTsKICAgIH0KICAgIC5ub2RlLm1ldGEuaGlnaGxpZ2h0ZWQgPiAubm9kZXNoYXBlID4gcmVjdCwKICAgIC5ub2RlLm1ldGEuaGlnaGxpZ2h0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gcmVjdCB7CiAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgIH0KICAgIC5hbm5vdGF0aW9uLm1ldGEuaGlnaGxpZ2h0ZWQgPiAubm9kZXNoYXBlID4gcmVjdCwKICAgIC5hbm5vdGF0aW9uLm1ldGEuaGlnaGxpZ2h0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gcmVjdCB7CiAgICAgIHN0cm9rZS13aWR0aDogMTsKICAgIH0KICAgIC5tZXRhLnNlbGVjdGVkID4gLm5vZGVzaGFwZSA+IHJlY3QsCiAgICAubWV0YS5zZWxlY3RlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0IHsKICAgICAgc3Ryb2tlOiByZWQ7CiAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgIH0KICAgIC5ub2RlLm1ldGEuc2VsZWN0ZWQuZXhwYW5kZWQgPiAubm9kZXNoYXBlID4gcmVjdCwKICAgIC5ub2RlLm1ldGEuc2VsZWN0ZWQuZXhwYW5kZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gcmVjdCB7CiAgICAgIHN0cm9rZTogcmVkOwogICAgICBzdHJva2Utd2lkdGg6IDM7CiAgICB9CiAgICAuYW5ub3RhdGlvbi5tZXRhLnNlbGVjdGVkID4gLm5vZGVzaGFwZSA+IHJlY3QsCiAgICAuYW5ub3RhdGlvbi5tZXRhLnNlbGVjdGVkID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICBzdHJva2U6IHJlZDsKICAgICAgc3Ryb2tlLXdpZHRoOiAyOwogICAgfQogICAgLm5vZGUubWV0YS5zZWxlY3RlZC5leHBhbmRlZC5oaWdobGlnaHRlZCA+IC5ub2Rlc2hhcGUgPiByZWN0LAogICAgLm5vZGUubWV0YS5zZWxlY3RlZC5leHBhbmRlZC5oaWdobGlnaHRlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0IHsKICAgICAgc3Ryb2tlOiByZWQ7CiAgICAgIHN0cm9rZS13aWR0aDogNDsKICAgIH0KCiAgICAuZmFkZWQsCiAgICAuZmFkZWQgcmVjdCwKICAgIC5mYWRlZCBlbGxpcHNlLAogICAgLmZhZGVkIHBhdGgsCiAgICAuZmFkZWQgdXNlLAogICAgI3JlY3RIYXRjaCBsaW5lLAogICAgI2VsbGlwc2VIYXRjaCBsaW5lIHsKICAgICAgY29sb3I6ICNlMGQ0YjMgIWltcG9ydGFudDsKICAgICAgZmlsbDogd2hpdGU7CiAgICAgIHN0cm9rZTogI2UwZDRiMyAhaW1wb3J0YW50OwogICAgfQoKICAgIC5mYWRlZCBwYXRoIHsKICAgICAgc3Ryb2tlLXdpZHRoOiAxcHggIWltcG9ydGFudDsKICAgIH0KCiAgICAuZmFkZWQgcmVjdCB7CiAgICAgIGZpbGw6IHVybCgjcmVjdEhhdGNoKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5mYWRlZCBlbGxpcHNlLAogICAgLmZhZGVkIHVzZSB7CiAgICAgIGZpbGw6IHVybCgjZWxsaXBzZUhhdGNoKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC5mYWRlZCB0ZXh0IHsKICAgICAgb3BhY2l0eTogMDsKICAgIH0KCiAgICAvKiBSdWxlcyB1c2VkIGZvciBpbnB1dC10cmFjaW5nLiAqLwogICAgLmlucHV0LWhpZ2hsaWdodCA+ICogPiByZWN0LAogICAgLmlucHV0LWhpZ2hsaWdodCA+ICogPiBlbGxpcHNlLAogICAgLmlucHV0LWhpZ2hsaWdodCA+ICogPiB1c2UgewogICAgICBmaWxsOiB3aGl0ZTsKICAgICAgc3Ryb2tlOiAjZmY5ODAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLyogIC0gRmFkZWQgbm9uLWlucHV0IHN0eWxpbmcgKi8KICAgIC5ub24taW5wdXQgPiAqID4gcmVjdCwKLm5vbi1pbnB1dCA+ICogPiBlbGxpcHNlLAoubm9uLWlucHV0ID4gKiA+IHVzZSwKLyogRm9yIENvbnN0IG5vZGVzLiAqLwoubm9uLWlucHV0ID4gKiA+IC5jb25zdGFudDpub3QoW2NsYXNzKj0iaW5wdXQtaGlnaGxpZ2h0Il0pID4KICAuYW5ub3RhdGlvbi1ub2RlID4gZWxsaXBzZSwKLyogRm9yIHN0eWxpbmcgb2YgYW5ub3RhdGlvbiBub2RlcyBvZiBub24taW5wdXQgbm9kZXMuICovCi5ub24taW5wdXQgPiBnID4gLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1ub2RlID4gcmVjdCB7CiAgICAgIHN0cm9rZTogI2UwZDRiMyAhaW1wb3J0YW50OwogICAgICBzdHJva2Utd2lkdGg6IGluaGVyaXQ7CiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IGluaGVyaXQ7CiAgICB9CgogICAgLm5vbi1pbnB1dCBwYXRoIHsKICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgfQoKICAgIC5ub24taW5wdXQgPiAubm9kZXNoYXBlID4gcmVjdCwKLm5vbi1pbnB1dCA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0LAovKiBGb3Igc3R5bGluZyBvZiBhbm5vdGF0aW9uIG5vZGVzIG9mIG5vbi1pbnB1dCBub2Rlcy4gKi8KLm5vbi1pbnB1dCA+IGcgPiAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLW5vZGUgPiByZWN0IHsKICAgICAgZmlsbDogdXJsKCNyZWN0SGF0Y2gpICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLm5vbi1pbnB1dCBlbGxpcHNlLAogICAgLm5vbi1pbnB1dCB1c2UgewogICAgICBmaWxsOiB1cmwoI2VsbGlwc2VIYXRjaCkgIWltcG9ydGFudDsKICAgIH0KCiAgICAubm9uLWlucHV0ID4gdGV4dCB7CiAgICAgIG9wYWNpdHk6IDA7CiAgICB9CgogICAgLm5vbi1pbnB1dCAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLWVkZ2UgewogICAgICBtYXJrZXItZW5kOiB1cmwoI2Fubm90YXRpb24tYXJyb3doZWFkLWZhZGVkKTsKICAgIH0KCiAgICAubm9uLWlucHV0IC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tZWRnZS5yZWZsaW5lIHsKICAgICAgbWFya2VyLXN0YXJ0OiB1cmwoI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCk7CiAgICB9CgogICAgLyogSW5wdXQgZWRnZXMuICovCiAgICAuaW5wdXQtZWRnZS1oaWdobGlnaHQgPiB0ZXh0IHsKICAgICAgZmlsbDogYmxhY2sgIWltcG9ydGFudDsKICAgIH0KICAgIC5pbnB1dC1oaWdobGlnaHQgPiAuaW4tYW5ub3RhdGlvbnMgPiAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLWVkZ2UsCiAgICAuaW5wdXQtaGlnaGxpZ2h0LXNlbGVjdGVkCiAgICAgID4gLmluLWFubm90YXRpb25zCiAgICAgID4gLmFubm90YXRpb24KICAgICAgPiAuYW5ub3RhdGlvbi1lZGdlIHsKICAgICAgc3Ryb2tlOiAjOTk5ICFpbXBvcnRhbnQ7CiAgICB9CgogICAgLyogTm9uLWlucHV0IGVkZ2VzLiAqLwogICAgLm5vbi1pbnB1dC1lZGdlLWhpZ2hsaWdodCwKLm5vbi1pbnB1dCA+IGcgPiAuYW5ub3RhdGlvbiA+IHBhdGgsCi8qIEFubm90YXRpb24gc3R5bGVzIChsYWJlbCBhbmQgZWRnZXMgcmVzcGVjdGl2ZWx5KS4gKi8KLm5vbi1pbnB1dCA+IGcgPgouYW5ub3RhdGlvbjpub3QoLmlucHV0LWhpZ2hsaWdodCk6bm90KC5pbnB1dC1oaWdobGlnaHQtc2VsZWN0ZWQpID4KLmFubm90YXRpb24tbGFiZWwKLyouYW5ub3RhdGlvbi1lZGdlKi8gewogICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICB9CgogICAgLyogLS0tIE9wIE5vZGUgLS0tICovCgogICAgLm9wID4gLm5vZGVzaGFwZSA+IC5ub2RlY29sb3J0YXJnZXQsCiAgICAub3AgPiAuYW5ub3RhdGlvbi1ub2RlID4gLm5vZGVjb2xvcnRhcmdldCB7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgZmlsbDogI2ZmZjsKICAgICAgc3Ryb2tlOiAjY2NjOwogICAgfQoKICAgIC5vcC5zZWxlY3RlZCA+IC5ub2Rlc2hhcGUgPiAubm9kZWNvbG9ydGFyZ2V0LAogICAgLm9wLnNlbGVjdGVkID4gLmFubm90YXRpb24tbm9kZSA+IC5ub2RlY29sb3J0YXJnZXQgewogICAgICBzdHJva2U6IHJlZDsKICAgICAgc3Ryb2tlLXdpZHRoOiAyOwogICAgfQoKICAgIC5vcC5oaWdobGlnaHRlZCA+IC5ub2Rlc2hhcGUgPiAubm9kZWNvbG9ydGFyZ2V0LAogICAgLm9wLmhpZ2hsaWdodGVkID4gLmFubm90YXRpb24tbm9kZSA+IC5ub2RlY29sb3J0YXJnZXQgewogICAgICBzdHJva2Utd2lkdGg6IDI7CiAgICB9CgogICAgLyogLS0tIFNlcmllcyBOb2RlIC0tLSAqLwoKICAgIC8qIEJ5IGRlZmF1bHQsIGRvbid0IHNob3cgdGhlIHNlcmllcyBiYWNrZ3JvdW5kIDxyZWN0Pi4gKi8KICAgIC5zZXJpZXMgPiAubm9kZXNoYXBlID4gcmVjdCB7CiAgICAgIGZpbGw6IGhzbCgwLCAwJSwgNzAlKTsKICAgICAgZmlsbC1vcGFjaXR5OiAwOwogICAgICBzdHJva2UtZGFzaGFycmF5OiA1LCA1OwogICAgICBzdHJva2Utb3BhY2l0eTogMDsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgfQoKICAgIC8qIE9uY2UgZXhwYW5kZWQsIHNob3cgdGhlIHNlcmllcyBiYWNrZ3JvdW5kIDxyZWN0PiBhbmQgaGlkZSB0aGUgPHVzZT4uICovCiAgICAuc2VyaWVzLmV4cGFuZGVkID4gLm5vZGVzaGFwZSA+IHJlY3QgewogICAgICBmaWxsLW9wYWNpdHk6IDAuMTU7CiAgICAgIHN0cm9rZTogaHNsKDAsIDAlLCA3MCUpOwogICAgICBzdHJva2Utb3BhY2l0eTogMTsKICAgIH0KICAgIC5zZXJpZXMuZXhwYW5kZWQgPiAubm9kZXNoYXBlID4gdXNlIHsKICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgfQoKICAgIC8qKgogKiBUT0RPOiBTaW1wbGlmeSB0aGlzIGJ5IGFwcGx5aW5nIGEgc3RhYmxlIGNsYXNzIG5hbWUgdG8gYWxsIDxnPgogKiBlbGVtZW50cyB0aGF0IGN1cnJlbnRseSBoYXZlIGVpdGhlciB0aGUgbm9kZXNoYXBlIG9yIGFubm90YXRpb24tbm9kZSBjbGFzc2VzLgogKi8KICAgIC5zZXJpZXMgPiAubm9kZXNoYXBlID4gdXNlLAogICAgLnNlcmllcyA+IC5hbm5vdGF0aW9uLW5vZGUgPiB1c2UgewogICAgICBzdHJva2U6ICNjY2M7CiAgICB9CiAgICAuc2VyaWVzLmhpZ2hsaWdodGVkID4gLm5vZGVzaGFwZSA+IHVzZSwKICAgIC5zZXJpZXMuaGlnaGxpZ2h0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gdXNlIHsKICAgICAgc3Ryb2tlLXdpZHRoOiAyOwogICAgfQogICAgLnNlcmllcy5zZWxlY3RlZCA+IC5ub2Rlc2hhcGUgPiB1c2UsCiAgICAuc2VyaWVzLnNlbGVjdGVkID4gLmFubm90YXRpb24tbm9kZSA+IHVzZSB7CiAgICAgIHN0cm9rZTogcmVkOwogICAgICBzdHJva2Utd2lkdGg6IDI7CiAgICB9CgogICAgLnNlcmllcy5zZWxlY3RlZCA+IC5ub2Rlc2hhcGUgPiByZWN0IHsKICAgICAgc3Ryb2tlOiByZWQ7CiAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgIH0KCiAgICAuYW5ub3RhdGlvbi5zZXJpZXMuc2VsZWN0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gdXNlIHsKICAgICAgc3Ryb2tlOiByZWQ7CiAgICAgIHN0cm9rZS13aWR0aDogMjsKICAgIH0KCiAgICAvKiAtLS0gQnJpZGdlIE5vZGUgLS0tICovCiAgICAuYnJpZGdlID4gLm5vZGVzaGFwZSA+IHJlY3QgewogICAgICBzdHJva2U6ICNmMGY7CiAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAvKiAtLS0gU3RydWN0dXJhbCBFbGVtZW50cyAtLS0gKi8KICAgIC5lZGdlID4gcGF0aC5lZGdlbGluZS5zdHJ1Y3R1cmFsIHsKICAgICAgc3Ryb2tlOiAjZjBmOwogICAgICBvcGFjaXR5OiAwLjI7CiAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogUmVmZXJlbmNlIEVkZ2UgKi8KICAgIC5lZGdlID4gcGF0aC5lZGdlbGluZS5yZWZlcmVuY2VlZGdlIHsKICAgICAgc3Ryb2tlOiAjZmZiNzRkOwogICAgICBvcGFjaXR5OiAxOwogICAgfQoKICAgIC8qIC0tLSBTZXJpZXMgTm9kZXMgLS0tICovCgogICAgLyogSGlkZSB0aGUgcmVjdCBmb3IgYSBzZXJpZXMnIGFubm90YXRpb24uICovCiAgICAuc2VyaWVzID4gLmFubm90YXRpb24tbm9kZSA+IHJlY3QgewogICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC8qIC0tLSBOb2RlIGxhYmVsIC0tLSAqLwoKICAgIC5ub2RlIHsKICAgICAgLyogUHJvdmlkZSBhIGhpbnQgdG8gYnJvd3NlcnMgdG8gYXZvaWQgdXNpbmcgdGhlaXIgc3RhdGljIHJhc3Rlcml6YXRpb24KICAgICAgYXQgaW5pdGlhbCBzY2FsZSwgd2hpY2ggbG9va3MgdmVyeSBwaXhlbGF0ZWQgb24gQ2hyb21pdW0gd2hlbiB6b29tZWQgaW4uCiAgICAgIE5vdGUgdGhhdCB3ZSBpbnRlbnRpb25hbGx5IGRvICpub3QqIHVzZSAnd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybScgYW5kCiAgICAgICd0cmFuc2xhdGVaKDApIGhlcmUsIHdoaWNoIGludHJvZHVjZSBibHVycmluZXNzIG9uIEZpcmVmb3guCiAgICAgIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9pc3N1ZXMvNDc0NCAqLwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMXB4KTsKICAgIH0KCiAgICAubm9kZSA+IHRleHQubm9kZWxhYmVsIHsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICBmaWxsOiAjNDQ0OwogICAgfQoKICAgIC5tZXRhLmV4cGFuZGVkID4gdGV4dC5ub2RlbGFiZWwgewogICAgICBmb250LXNpemU6IDlweDsKICAgIH0KCiAgICAuc2VyaWVzID4gdGV4dC5ub2RlbGFiZWwgewogICAgICBmb250LXNpemU6IDhweDsKICAgIH0KCiAgICAub3AgPiB0ZXh0Lm5vZGVsYWJlbCB7CiAgICAgIGZvbnQtc2l6ZTogNnB4OwogICAgfQoKICAgIC5icmlkZ2UgPiB0ZXh0Lm5vZGVsYWJlbCB7CiAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLm5vZGUubWV0YS5leHBhbmRlZCA+IHRleHQubm9kZWxhYmVsIHsKICAgICAgY3Vyc29yOiBub3JtYWw7CiAgICB9CgogICAgLmFubm90YXRpb24ubWV0YS5oaWdobGlnaHRlZCA+IHRleHQuYW5ub3RhdGlvbi1sYWJlbCB7CiAgICAgIGZpbGw6ICM1MGEzZjc7CiAgICB9CgogICAgLmFubm90YXRpb24ubWV0YS5zZWxlY3RlZCA+IHRleHQuYW5ub3RhdGlvbi1sYWJlbCB7CiAgICAgIGZpbGw6ICM0Mjg1ZjQ7CiAgICB9CgogICAgLyogLS0tIEFubm90YXRpb24gLS0tICovCgogICAgLyogb25seSBhcHBsaWVkIGZvciBhbm5vdGF0aW9ucyB0aGF0IGFyZSBub3Qgc3VtbWFyeSBvciBjb25zdGFudC4KKC5zdW1tYXJ5LCAuY29uc3RhbnQgZ2V0cyBvdmVycmlkZGVuIGJlbG93KSAqLwogICAgLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1ub2RlID4gKiB7CiAgICAgIHN0cm9rZS13aWR0aDogMC41OwogICAgICBzdHJva2UtZGFzaGFycmF5OiAxLCAxOwogICAgfQoKICAgIC5hbm5vdGF0aW9uLnN1bW1hcnkgPiAuYW5ub3RhdGlvbi1ub2RlID4gKiwKICAgIC5hbm5vdGF0aW9uLmNvbnN0YW50ID4gLmFubm90YXRpb24tbm9kZSA+ICogewogICAgICBzdHJva2Utd2lkdGg6IDE7CiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IG5vbmU7CiAgICB9CgogICAgLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1lZGdlIHsKICAgICAgZmlsbDogbm9uZTsKICAgICAgc3Ryb2tlOiAjYWFhOwogICAgICBzdHJva2Utd2lkdGg6IDAuNTsKICAgICAgbWFya2VyLWVuZDogdXJsKCNhbm5vdGF0aW9uLWFycm93aGVhZCk7CiAgICB9CgogICAgLmZhZGVkIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tZWRnZSB7CiAgICAgIG1hcmtlci1lbmQ6IHVybCgjYW5ub3RhdGlvbi1hcnJvd2hlYWQtZmFkZWQpOwogICAgfQoKICAgIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tZWRnZS5yZWZsaW5lIHsKICAgICAgbWFya2VyLXN0YXJ0OiB1cmwoI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZCk7CiAgICB9CgogICAgLmZhZGVkIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tZWRnZS5yZWZsaW5lIHsKICAgICAgbWFya2VyLXN0YXJ0OiB1cmwoI3JlZi1hbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCk7CiAgICB9CgogICAgLmFubm90YXRpb24gPiAuYW5ub3RhdGlvbi1jb250cm9sLWVkZ2UgewogICAgICBzdHJva2UtZGFzaGFycmF5OiAxLCAxOwogICAgfQoKICAgICNhbm5vdGF0aW9uLWFycm93aGVhZCB7CiAgICAgIGZpbGw6ICNhYWE7CiAgICB9CgogICAgI2Fubm90YXRpb24tYXJyb3doZWFkLWZhZGVkIHsKICAgICAgZmlsbDogI2UwZDRiMzsKICAgIH0KCiAgICAjcmVmLWFubm90YXRpb24tYXJyb3doZWFkIHsKICAgICAgZmlsbDogI2FhYTsKICAgIH0KCiAgICAjcmVmLWFubm90YXRpb24tYXJyb3doZWFkLWZhZGVkIHsKICAgICAgZmlsbDogI2UwZDRiMzsKICAgIH0KCiAgICAuYW5ub3RhdGlvbiA+IC5hbm5vdGF0aW9uLWxhYmVsIHsKICAgICAgZm9udC1zaXplOiA1cHg7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIH0KICAgIC5hbm5vdGF0aW9uID4gLmFubm90YXRpb24tbGFiZWwuYW5ub3RhdGlvbi1lbGxpcHNpcyB7CiAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgIH0KCiAgICAvKiBIaWRlIGFubm90YXRpb25zIG9uIGV4cGFuZGVkIG1ldGEgbm9kZXMgc2luY2UgdGhleSdyZSByZWR1bmRhbnQuICovCiAgICAuZXhwYW5kZWQgPiAuaW4tYW5ub3RhdGlvbnMsCiAgICAuZXhwYW5kZWQgPiAub3V0LWFubm90YXRpb25zIHsKICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KCiAgICAvKiAtLS0gQW5ub3RhdGlvbjogQ29uc3RhbnQgLS0tICovCgogICAgLmNvbnN0YW50ID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIGZpbGw6IHdoaXRlOwogICAgICBzdHJva2U6ICM4NDg0ODQ7CiAgICB9CgogICAgLmNvbnN0YW50LnNlbGVjdGVkID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICBmaWxsOiB3aGl0ZTsKICAgICAgc3Ryb2tlOiByZWQ7CiAgICB9CgogICAgLmNvbnN0YW50LmhpZ2hsaWdodGVkID4gLmFubm90YXRpb24tbm9kZSA+IGVsbGlwc2UgewogICAgICBzdHJva2Utd2lkdGg6IDEuNTsKICAgIH0KCiAgICAvKiAtLS0gQW5ub3RhdGlvbjogU3VtbWFyeSAtLS0gKi8KCiAgICAuc3VtbWFyeSA+IC5hbm5vdGF0aW9uLW5vZGUgPiBlbGxpcHNlIHsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICBmaWxsOiAjZGI0NDM3OwogICAgICBzdHJva2U6ICNkYjQ0Mzc7CiAgICB9CgogICAgLnN1bW1hcnkuc2VsZWN0ZWQgPiAuYW5ub3RhdGlvbi1ub2RlID4gZWxsaXBzZSB7CiAgICAgIGZpbGw6ICNhNTI3MTQ7CiAgICAgIHN0cm9rZTogI2E1MjcxNDsKICAgIH0KCiAgICAuc3VtbWFyeS5oaWdobGlnaHRlZCA+IC5hbm5vdGF0aW9uLW5vZGUgPiBlbGxpcHNlIHsKICAgICAgc3Ryb2tlLXdpZHRoOiAxLjU7CiAgICB9CgogICAgLyogLS0tIEVkZ2UgLS0tICovCgogICAgLmVkZ2UgPiBwYXRoLmVkZ2VsaW5lIHsKICAgICAgZmlsbDogbm9uZTsKICAgICAgc3Ryb2tlOiAjYmJiOwogICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7CiAgICAgIHN0cm9rZS13aWR0aDogMC43NTsKICAgIH0KCiAgICAuZWRnZSAuc2VsZWN0YWJsZWVkZ2UgewogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB9CgogICAgLnNlbGVjdGVkZWRnZSA+IHBhdGguZWRnZWxpbmUgewogICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIHN0cm9rZTogI2YwMDsKICAgIH0KCiAgICAuZWRnZS5zZWxlY3RlZGVkZ2UgdGV4dCB7CiAgICAgIGZpbGw6ICMwMDA7CiAgICB9CgogICAgLyogTGFiZWxzIHNob3dpbmcgdGVuc29yIHNoYXBlcyBvbiBlZGdlcyAqLwogICAgLmVkZ2UgPiB0ZXh0IHsKICAgICAgZm9udC1zaXplOiAzLjVweDsKICAgICAgZmlsbDogIzY2NjsKICAgIH0KCiAgICAuZGF0YWZsb3ctYXJyb3doZWFkIHsKICAgICAgZmlsbDogI2JiYjsKICAgIH0KCiAgICAucmVmZXJlbmNlLWFycm93aGVhZCB7CiAgICAgIGZpbGw6ICNmZmI3NGQ7CiAgICB9CgogICAgLnNlbGVjdGVkLWFycm93aGVhZCB7CiAgICAgIGZpbGw6ICNmMDA7CiAgICB9CgogICAgLmVkZ2UgLmNvbnRyb2wtZGVwIHsKICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMiwgMjsKICAgIH0KCiAgICAvKiAtLS0gR3JvdXAgbm9kZSBleHBhbmQvY29sbGFwc2UgYnV0dG9uIC0tLSAqLwoKICAgIC8qIEhpZGVzIGV4cGFuZC9jb2xsYXBzZSBidXR0b25zIHdoZW4gYSBub2RlIGlzbid0IGV4cGFuZGVkIG9yIGhpZ2hsaWdodGVkLiBVc2luZwogICBpbmNyZWRpYmx5IHNtYWxsIG9wYWNpdHkgc28gdGhhdCB0aGUgYm91bmRpbmcgYm94IG9mIHRoZSA8Zz4gcGFyZW50IHN0aWxsIHRha2VzCiAgIHRoaXMgY29udGFpbmVyIGludG8gYWNjb3VudCBldmVuIHdoZW4gaXQgaXNuJ3QgdmlzaWJsZSAqLwogICAgLm5vZGU6bm90KC5oaWdobGlnaHRlZCk6bm90KC5leHBhbmRlZCkgPiAubm9kZXNoYXBlID4gLmJ1dHRvbmNvbnRhaW5lciB7CiAgICAgIG9wYWNpdHk6IDAuMDE7CiAgICB9CiAgICAubm9kZS5oaWdobGlnaHRlZCA+IC5ub2Rlc2hhcGUgPiAuYnV0dG9uY29udGFpbmVyIHsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgfQogICAgLmJ1dHRvbmNpcmNsZSB7CiAgICAgIGZpbGw6ICNlNzgxMWQ7CiAgICB9CiAgICAuYnV0dG9uY2lyY2xlOmhvdmVyIHsKICAgICAgZmlsbDogI2I5NjcxNzsKICAgIH0KICAgIC5leHBhbmRidXR0b24sCiAgICAuY29sbGFwc2VidXR0b24gewogICAgICBzdHJva2U6IHdoaXRlOwogICAgfQogICAgLyogRG8gbm90IGxldCB0aGUgcGF0aCBlbGVtZW50cyBpbiB0aGUgYnV0dG9uIHRha2UgcG9pbnRlciBmb2N1cyAqLwogICAgLm5vZGUgPiAubm9kZXNoYXBlID4gLmJ1dHRvbmNvbnRhaW5lciA+IC5leHBhbmRidXR0b24sCiAgICAubm9kZSA+IC5ub2Rlc2hhcGUgPiAuYnV0dG9uY29udGFpbmVyID4gLmNvbGxhcHNlYnV0dG9uIHsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB9CiAgICAvKiBPbmx5IHNob3cgdGhlIGV4cGFuZCBidXR0b24gd2hlbiBhIG5vZGUgaXMgY29sbGFwc2VkIGFuZCBvbmx5IHNob3cgdGhlCiAgIGNvbGxhcHNlIGJ1dHRvbiB3aGVuIGEgbm9kZSBpcyBleHBhbmRlZC4gKi8KICAgIC5ub2RlLmV4cGFuZGVkID4gLm5vZGVzaGFwZSA+IC5idXR0b25jb250YWluZXIgPiAuZXhwYW5kYnV0dG9uIHsKICAgICAgZGlzcGxheTogbm9uZTsKICAgIH0KICAgIC5ub2RlOm5vdCguZXhwYW5kZWQpID4gLm5vZGVzaGFwZSA+IC5idXR0b25jb250YWluZXIgPiAuY29sbGFwc2VidXR0b24gewogICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIC5oZWFsdGgtcGlsbC1zdGF0cyB7CiAgICAgIGZvbnQtc2l6ZTogNHB4OwogICAgICB0ZXh0LWFuY2hvcjogbWlkZGxlOwogICAgfQoKICAgIC5oZWFsdGgtcGlsbCByZWN0IHsKICAgICAgZmlsdGVyOiB1cmwoI2hlYWx0aC1waWxsLXNoYWRvdyk7CiAgICAgIHJ4OiAzOwogICAgICByeTogMzsKICAgIH0KCiAgICAudGl0bGVDb250YWluZXIgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHRvcDogMjBweDsKICAgIH0KCiAgICAudGl0bGUsCiAgICAuYXV4VGl0bGUsCiAgICAuZnVuY3Rpb25MaWJyYXJ5VGl0bGUgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB9CgogICAgI21pbmltYXAgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHJpZ2h0OiAyMHB4OwogICAgICBib3R0b206IDIwcHg7CiAgICB9CgogICAgLmNvbnRleHQtbWVudSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTJlMjsKICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIG1pbi13aWR0aDogMTUwcHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDQ7CiAgICB9CgogICAgLmNvbnRleHQtbWVudSB1bCB7CiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICAgICAgbWFyZ2luOiAwOwogICAgICBwYWRkaW5nOiAwOwogICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICB9CgogICAgLmNvbnRleHQtbWVudSB1bCBsaSB7CiAgICAgIHBhZGRpbmc6IDRweCAxNnB4OwogICAgfQoKICAgIC5jb250ZXh0LW1lbnUgdWwgbGk6aG92ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjM5MTNlOwogICAgICBjb2xvcjogd2hpdGU7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJ0aXRsZUNvbnRhaW5lciI+CiAgICA8ZGl2IGlkPSJ0aXRsZSIgY2xhc3M9InRpdGxlIj5NYWluIEdyYXBoPC9kaXY+CiAgICA8ZGl2IGlkPSJhdXhUaXRsZSIgY2xhc3M9ImF1eFRpdGxlIj5BdXhpbGlhcnkgTm9kZXM8L2Rpdj4KICAgIDxkaXYgaWQ9ImZ1bmN0aW9uTGlicmFyeVRpdGxlIiBjbGFzcz0iZnVuY3Rpb25MaWJyYXJ5VGl0bGUiPkZ1bmN0aW9uczwvZGl2PgogIDwvZGl2PgogIDxzdmcgaWQ9InN2ZyI+CiAgICA8ZGVmcz4KICAgICAgPCEtLSBBcnJvdyBoZWFkcyBmb3IgcmVmZXJlbmNlIGVkZ2UgcGF0aHMgb2YgZGlmZmVyZW50IHByZWRlZmluZWQgc2l6ZXMgcGVyIGNvbG9yLiAtLT4KICAgICAgPHBhdGgKICAgICAgICBpZD0icmVmZXJlbmNlLWFycm93aGVhZC1wYXRoIgogICAgICAgIGQ9Ik0gMCwwIEwgMTAsNSBMIDAsMTAgQyAzLDcgMywzIDAsMCIKICAgICAgPjwvcGF0aD4KICAgICAgPG1hcmtlcgogICAgICAgIGNsYXNzPSJyZWZlcmVuY2UtYXJyb3doZWFkIgogICAgICAgIGlkPSJyZWZlcmVuY2UtYXJyb3doZWFkLXNtYWxsIgogICAgICAgIHZpZXdCb3g9IjAgMCAxMCAxMCIKICAgICAgICBtYXJrZXJXaWR0aD0iNSIKICAgICAgICBtYXJrZXJIZWlnaHQ9IjUiCiAgICAgICAgcmVmWD0iMiIKICAgICAgICByZWZZPSI1IgogICAgICAgIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIgogICAgICAgIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgPgogICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3JlZmVyZW5jZS1hcnJvd2hlYWQtcGF0aCI+PC91c2U+CiAgICAgIDwvbWFya2VyPgogICAgICA8bWFya2VyCiAgICAgICAgY2xhc3M9InJlZmVyZW5jZS1hcnJvd2hlYWQiCiAgICAgICAgaWQ9InJlZmVyZW5jZS1hcnJvd2hlYWQtbWVkaXVtIgogICAgICAgIHZpZXdCb3g9IjAgMCAxMCAxMCIKICAgICAgICBtYXJrZXJXaWR0aD0iMTMiCiAgICAgICAgbWFya2VySGVpZ2h0PSIxMyIKICAgICAgICByZWZYPSIyIgogICAgICAgIHJlZlk9IjUiCiAgICAgICAgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiCiAgICAgICAgbWFya2VyVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICA+CiAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcmVmZXJlbmNlLWFycm93aGVhZC1wYXRoIj48L3VzZT4KICAgICAgPC9tYXJrZXI+CiAgICAgIDxtYXJrZXIKICAgICAgICBjbGFzcz0icmVmZXJlbmNlLWFycm93aGVhZCIKICAgICAgICBpZD0icmVmZXJlbmNlLWFycm93aGVhZC1sYXJnZSIKICAgICAgICB2aWV3Qm94PSIwIDAgMTAgMTAiCiAgICAgICAgbWFya2VyV2lkdGg9IjE2IgogICAgICAgIG1hcmtlckhlaWdodD0iMTYiCiAgICAgICAgcmVmWD0iMiIKICAgICAgICByZWZZPSI1IgogICAgICAgIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIgogICAgICAgIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgPgogICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3JlZmVyZW5jZS1hcnJvd2hlYWQtcGF0aCI+PC91c2U+CiAgICAgIDwvbWFya2VyPgogICAgICA8bWFya2VyCiAgICAgICAgY2xhc3M9InJlZmVyZW5jZS1hcnJvd2hlYWQiCiAgICAgICAgaWQ9InJlZmVyZW5jZS1hcnJvd2hlYWQteGxhcmdlIgogICAgICAgIHZpZXdCb3g9IjAgMCAxMCAxMCIKICAgICAgICBtYXJrZXJXaWR0aD0iMjAiCiAgICAgICAgbWFya2VySGVpZ2h0PSIyMCIKICAgICAgICByZWZYPSIyIgogICAgICAgIHJlZlk9IjUiCiAgICAgICAgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiCiAgICAgICAgbWFya2VyVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICA+CiAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcmVmZXJlbmNlLWFycm93aGVhZC1wYXRoIj48L3VzZT4KICAgICAgPC9tYXJrZXI+CgogICAgICA8IS0tIEFycm93IGhlYWRzIGZvciBkYXRhZmxvdyBlZGdlIHBhdGhzIG9mIGRpZmZlcmVudCBwcmVkZWZpbmVkIHNpemVzIHBlciBjb2xvci4gLS0+CiAgICAgIDxwYXRoCiAgICAgICAgaWQ9ImRhdGFmbG93LWFycm93aGVhZC1wYXRoIgogICAgICAgIGQ9Ik0gMCwwIEwgMTAsNSBMIDAsMTAgQyAzLDcgMywzIDAsMCIKICAgICAgPjwvcGF0aD4KICAgICAgPG1hcmtlcgogICAgICAgIGNsYXNzPSJkYXRhZmxvdy1hcnJvd2hlYWQiCiAgICAgICAgaWQ9ImRhdGFmbG93LWFycm93aGVhZC1zbWFsbCIKICAgICAgICB2aWV3Qm94PSIwIDAgMTAgMTAiCiAgICAgICAgbWFya2VyV2lkdGg9IjUiCiAgICAgICAgbWFya2VySGVpZ2h0PSI1IgogICAgICAgIHJlZlg9IjIiCiAgICAgICAgcmVmWT0iNSIKICAgICAgICBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSIKICAgICAgICBtYXJrZXJVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgID4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNkYXRhZmxvdy1hcnJvd2hlYWQtcGF0aCI+PC91c2U+CiAgICAgIDwvbWFya2VyPgogICAgICA8bWFya2VyCiAgICAgICAgY2xhc3M9ImRhdGFmbG93LWFycm93aGVhZCIKICAgICAgICBpZD0iZGF0YWZsb3ctYXJyb3doZWFkLW1lZGl1bSIKICAgICAgICB2aWV3Qm94PSIwIDAgMTAgMTAiCiAgICAgICAgbWFya2VyV2lkdGg9IjEzIgogICAgICAgIG1hcmtlckhlaWdodD0iMTMiCiAgICAgICAgcmVmWD0iMiIKICAgICAgICByZWZZPSI1IgogICAgICAgIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIgogICAgICAgIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgPgogICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2RhdGFmbG93LWFycm93aGVhZC1wYXRoIj48L3VzZT4KICAgICAgPC9tYXJrZXI+CiAgICAgIDxtYXJrZXIKICAgICAgICBjbGFzcz0iZGF0YWZsb3ctYXJyb3doZWFkIgogICAgICAgIGlkPSJkYXRhZmxvdy1hcnJvd2hlYWQtbGFyZ2UiCiAgICAgICAgdmlld0JveD0iMCAwIDEwIDEwIgogICAgICAgIG1hcmtlcldpZHRoPSIxNiIKICAgICAgICBtYXJrZXJIZWlnaHQ9IjE2IgogICAgICAgIHJlZlg9IjIiCiAgICAgICAgcmVmWT0iNSIKICAgICAgICBvcmllbnQ9ImF1dG8tc3RhcnQtcmV2ZXJzZSIKICAgICAgICBtYXJrZXJVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgID4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNkYXRhZmxvdy1hcnJvd2hlYWQtcGF0aCI+PC91c2U+CiAgICAgIDwvbWFya2VyPgogICAgICA8bWFya2VyCiAgICAgICAgY2xhc3M9ImRhdGFmbG93LWFycm93aGVhZCIKICAgICAgICBpZD0iZGF0YWZsb3ctYXJyb3doZWFkLXhsYXJnZSIKICAgICAgICB2aWV3Qm94PSIwIDAgMTAgMTAiCiAgICAgICAgbWFya2VyV2lkdGg9IjIwIgogICAgICAgIG1hcmtlckhlaWdodD0iMjAiCiAgICAgICAgcmVmWD0iMiIKICAgICAgICByZWZZPSI1IgogICAgICAgIG9yaWVudD0iYXV0by1zdGFydC1yZXZlcnNlIgogICAgICAgIG1hcmtlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgPgogICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI2RhdGFmbG93LWFycm93aGVhZC1wYXRoIj48L3VzZT4KICAgICAgPC9tYXJrZXI+CgogICAgICA8IS0tIEFycm93IGhlYWQgZm9yIGFubm90YXRpb24gZWRnZSBwYXRocy4gLS0+CiAgICAgIDxtYXJrZXIKICAgICAgICBpZD0iYW5ub3RhdGlvbi1hcnJvd2hlYWQiCiAgICAgICAgbWFya2VyV2lkdGg9IjUiCiAgICAgICAgbWFya2VySGVpZ2h0PSI1IgogICAgICAgIHJlZlg9IjUiCiAgICAgICAgcmVmWT0iMi41IgogICAgICAgIG9yaWVudD0iYXV0byIKICAgICAgPgogICAgICAgIDxwYXRoIGQ9Ik0gMCwwIEwgNSwyLjUgTCAwLDUgTCAwLDAiPjwvcGF0aD4KICAgICAgPC9tYXJrZXI+CiAgICAgIDxtYXJrZXIKICAgICAgICBpZD0iYW5ub3RhdGlvbi1hcnJvd2hlYWQtZmFkZWQiCiAgICAgICAgbWFya2VyV2lkdGg9IjUiCiAgICAgICAgbWFya2VySGVpZ2h0PSI1IgogICAgICAgIHJlZlg9IjUiCiAgICAgICAgcmVmWT0iMi41IgogICAgICAgIG9yaWVudD0iYXV0byIKICAgICAgPgogICAgICAgIDxwYXRoIGQ9Ik0gMCwwIEwgNSwyLjUgTCAwLDUgTCAwLDAiPjwvcGF0aD4KICAgICAgPC9tYXJrZXI+CiAgICAgIDxtYXJrZXIKICAgICAgICBpZD0icmVmLWFubm90YXRpb24tYXJyb3doZWFkIgogICAgICAgIG1hcmtlcldpZHRoPSI1IgogICAgICAgIG1hcmtlckhlaWdodD0iNSIKICAgICAgICByZWZYPSIwIgogICAgICAgIHJlZlk9IjIuNSIKICAgICAgICBvcmllbnQ9ImF1dG8iCiAgICAgID4KICAgICAgICA8cGF0aCBkPSJNIDUsMCBMIDAsMi41IEwgNSw1IEwgNSwwIj48L3BhdGg+CiAgICAgIDwvbWFya2VyPgogICAgICA8bWFya2VyCiAgICAgICAgaWQ9InJlZi1hbm5vdGF0aW9uLWFycm93aGVhZC1mYWRlZCIKICAgICAgICBtYXJrZXJXaWR0aD0iNSIKICAgICAgICBtYXJrZXJIZWlnaHQ9IjUiCiAgICAgICAgcmVmWD0iMCIKICAgICAgICByZWZZPSIyLjUiCiAgICAgICAgb3JpZW50PSJhdXRvIgogICAgICA+CiAgICAgICAgPHBhdGggZD0iTSA1LDAgTCAwLDIuNSBMIDUsNSBMIDUsMCI+PC9wYXRoPgogICAgICA8L21hcmtlcj4KICAgICAgPCEtLSBUZW1wbGF0ZSBmb3IgYW4gT3Agbm9kZSBlbGxpcHNlLiAtLT4KICAgICAgPGVsbGlwc2UKICAgICAgICBpZD0ib3Atbm9kZS1zdGFtcCIKICAgICAgICByeD0iNy41IgogICAgICAgIHJ5PSIzIgogICAgICAgIHN0cm9rZT0iaW5oZXJpdCIKICAgICAgICBmaWxsPSJpbmhlcml0IgogICAgICA+PC9lbGxpcHNlPgogICAgICA8IS0tIFRlbXBsYXRlIGZvciBhbiBPcCBub2RlIGFubm90YXRpb24gZWxsaXBzZSAoc21hbGxlcikuIC0tPgogICAgICA8ZWxsaXBzZQogICAgICAgIGlkPSJvcC1ub2RlLWFubm90YXRpb24tc3RhbXAiCiAgICAgICAgcng9IjUiCiAgICAgICAgcnk9IjIiCiAgICAgICAgc3Ryb2tlPSJpbmhlcml0IgogICAgICAgIGZpbGw9ImluaGVyaXQiCiAgICAgID48L2VsbGlwc2U+CiAgICAgIDwhLS0gVmVydGljYWxseSBzdGFja2VkIHNlcmllcyBvZiBPcCBub2RlcyB3aGVuIHVuZXhwYW5kZWQuIC0tPgogICAgICA8ZyBpZD0ib3Atc2VyaWVzLXZlcnRpY2FsLXN0YW1wIj4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSI4IiB5PSI5Ij48L3VzZT4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSI4IiB5PSI2Ij48L3VzZT4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSI4IiB5PSIzIj48L3VzZT4KICAgICAgPC9nPgogICAgICA8IS0tIEhvcml6b250YWxseSBzdGFja2VkIHNlcmllcyBvZiBPcCBub2RlcyB3aGVuIHVuZXhwYW5kZWQuIC0tPgogICAgICA8ZyBpZD0ib3Atc2VyaWVzLWhvcml6b250YWwtc3RhbXAiPgogICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIHg9IjE2IiB5PSI0Ij48L3VzZT4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSIxMiIgeT0iNCI+PC91c2U+CiAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iOCIgeT0iNCI+PC91c2U+CiAgICAgIDwvZz4KICAgICAgPCEtLSBIb3Jpem9udGFsbHkgc3RhY2tlZCBzZXJpZXMgb2YgT3Agbm9kZXMgZm9yIGFubm90YXRpb24uIC0tPgogICAgICA8ZyBpZD0ib3Atc2VyaWVzLWFubm90YXRpb24tc3RhbXAiPgogICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtYW5ub3RhdGlvbi1zdGFtcCIgeD0iOSIgeT0iMiI+PC91c2U+CiAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1hbm5vdGF0aW9uLXN0YW1wIiB4PSI3IiB5PSIyIj48L3VzZT4KICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLWFubm90YXRpb24tc3RhbXAiIHg9IjUiIHk9IjIiPjwvdXNlPgogICAgICA8L2c+CiAgICAgIDxzdmcKICAgICAgICBpZD0ic3VtbWFyeS1pY29uIgogICAgICAgIGZpbGw9IiM4NDg0ODQiCiAgICAgICAgaGVpZ2h0PSIxMiIKICAgICAgICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgICAgICAgd2lkdGg9IjEyIgogICAgICA+CiAgICAgICAgPHBhdGgKICAgICAgICAgIGQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnpNOSAxN0g3di03aDJ2N3ptNCAwaC0yVjdoMnYxMHptNCAwaC0ydi00aDJ2NHoiCiAgICAgICAgPjwvcGF0aD4KICAgICAgPC9zdmc+CgogICAgICA8IS0tIEhhdGNoIHBhdHRlcm5zIGZvciBmYWRlZCBvdXQgbm9kZXMuIC0tPgogICAgICA8cGF0dGVybgogICAgICAgIGlkPSJyZWN0SGF0Y2giCiAgICAgICAgcGF0dGVyblRyYW5zZm9ybT0icm90YXRlKDQ1IDAgMCkiCiAgICAgICAgd2lkdGg9IjUiCiAgICAgICAgaGVpZ2h0PSI1IgogICAgICAgIHBhdHRlcm5Vbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgID4KICAgICAgICA8bGluZSB4MT0iMCIgeTE9IjAiIHgyPSIwIiB5Mj0iNSIgc3R5bGU9InN0cm9rZS13aWR0aDogMSI+PC9saW5lPgogICAgICA8L3BhdHRlcm4+CiAgICAgIDxwYXR0ZXJuCiAgICAgICAgaWQ9ImVsbGlwc2VIYXRjaCIKICAgICAgICBwYXR0ZXJuVHJhbnNmb3JtPSJyb3RhdGUoNDUgMCAwKSIKICAgICAgICB3aWR0aD0iMiIKICAgICAgICBoZWlnaHQ9IjIiCiAgICAgICAgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgPgogICAgICAgIDxsaW5lIHgxPSIwIiB5MT0iMCIgeDI9IjAiIHkyPSIyIiBzdHlsZT0ic3Ryb2tlLXdpZHRoOiAxIj48L2xpbmU+CiAgICAgIDwvcGF0dGVybj4KCiAgICAgIDwhLS0gQSBzaGFkb3cgZm9yIGhlYWx0aCBwaWxscy4gLS0+CiAgICAgIDxmaWx0ZXIKICAgICAgICBpZD0iaGVhbHRoLXBpbGwtc2hhZG93IgogICAgICAgIHg9Ii00MCUiCiAgICAgICAgeT0iLTQwJSIKICAgICAgICB3aWR0aD0iMTgwJSIKICAgICAgICBoZWlnaHQ9IjE4MCUiCiAgICAgID4KICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgaW49IlNvdXJjZUFscGhhIiBzdGREZXZpYXRpb249IjAuOCI+PC9mZUdhdXNzaWFuQmx1cj4KICAgICAgICA8ZmVPZmZzZXQgZHg9IjAiIGR5PSIwIiByZXN1bHQ9Im9mZnNldGJsdXIiPjwvZmVPZmZzZXQ+CiAgICAgICAgPGZlRmxvb2QgZmxvb2QtY29sb3I9IiMwMDAwMDAiPjwvZmVGbG9vZD4KICAgICAgICA8ZmVDb21wb3NpdGUgaW4yPSJvZmZzZXRibHVyIiBvcGVyYXRvcj0iaW4iPjwvZmVDb21wb3NpdGU+CiAgICAgICAgPGZlTWVyZ2U+CiAgICAgICAgICA8ZmVNZXJnZU5vZGU+PC9mZU1lcmdlTm9kZT4KICAgICAgICAgIDxmZU1lcmdlTm9kZSBpbj0iU291cmNlR3JhcGhpYyI+PC9mZU1lcmdlTm9kZT4KICAgICAgICA8L2ZlTWVyZ2U+CiAgICAgIDwvZmlsdGVyPgogICAgPC9kZWZzPgogICAgPCEtLSBNYWtlIGEgbGFyZ2UgcmVjdGFuZ2xlIHRoYXQgZmlsbHMgdGhlIHN2ZyBzcGFjZSBzbyB0aGF0CiAgem9vbSBldmVudHMgZ2V0IGNhcHR1cmVkIG9uIHNhZmFyaSAtLT4KICAgIDxyZWN0IGZpbGw9IndoaXRlIiB3aWR0aD0iMTAwMDAiIGhlaWdodD0iMTAwMDAiPjwvcmVjdD4KICAgIDxnIGlkPSJyb290Ij48L2c+CiAgPC9zdmc+CiAgPHRmLWdyYXBoLW1pbmltYXAgaWQ9Im1pbmltYXAiPjwvdGYtZ3JhcGgtbWluaW1hcD4KICA8ZGl2IGlkPSJjb250ZXh0TWVudSIgY2xhc3M9ImNvbnRleHQtbWVudSI+PC9kaXY+CmA7bGV0IFVadD1jbGFzcyBleHRlbmRzKGNyKGdsKHdlKSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl96b29tZWQ9ITEsdGhpcy5fem9vbVN0YXJ0Q29vcmRzPW51bGwsdGhpcy5fem9vbVRyYW5zZm9ybT1udWxsLHRoaXMuX21heFpvb21EaXN0YW5jZUZvckNsaWNrPTIwLHRoaXMuX25vZGVHcm91cEluZGV4PXt9LHRoaXMuX2Fubm90YXRpb25Hcm91cEluZGV4PXt9LHRoaXMuX2VkZ2VHcm91cEluZGV4PXt9LHRoaXMubWF4TWV0YW5vZGVMYWJlbExlbmd0aEZvbnRTaXplPTksdGhpcy5taW5NZXRhbm9kZUxhYmVsTGVuZ3RoRm9udFNpemU9Nix0aGlzLm1heE1ldGFub2RlTGFiZWxMZW5ndGhMYXJnZUZvbnQ9MTEsdGhpcy5tYXhNZXRhbm9kZUxhYmVsTGVuZ3RoPTE4fWdldE5vZGUodCl7cmV0dXJuIHRoaXMucmVuZGVySGllcmFyY2h5LmdldFJlbmRlck5vZGVCeU5hbWUodCl9aXNOb2RlRXhwYW5kZWQodCl7cmV0dXJuIHQuZXhwYW5kZWR9c2V0Tm9kZUV4cGFuZGVkKHQpe3RoaXMuX2J1aWxkKHRoaXMucmVuZGVySGllcmFyY2h5KSx0aGlzLl91cGRhdGVMYWJlbHMoIXRoaXMuX3pvb21lZCl9cGFuVG9Ob2RlKHQpeyhmdW5jdGlvbiBlKHQsbixpLHIpe2NvbnN0IG89RHUobikuc2VsZWN0KGBbZGF0YS1uYW1lPSIke3R9Il1gKS5ub2RlKCk7aWYoIW8pcmV0dXJuIGNvbnNvbGUud2FybihgcGFuVG9Ob2RlKCkgZmFpbGVkIGZvciBub2RlIG5hbWUgIiR7dH0iYCksITE7bGV0IGE9by5nZXRCQm94KCkscz1vLmdldFNjcmVlbkNUTSgpLGw9bi5jcmVhdGVTVkdQb2ludCgpLGM9bi5jcmVhdGVTVkdQb2ludCgpO2wueD1hLngsbC55PWEueSxjLng9YS54K2Eud2lkdGgsYy55PWEueSthLmhlaWdodCxsPWwubWF0cml4VHJhbnNmb3JtKHMpLGM9Yy5tYXRyaXhUcmFuc2Zvcm0ocyk7bGV0IHU9KHQsZSxuLGkpPT4hKHQ+biYmZTxpKSxoPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Y29uc3QgZD1oLnRvcCtoLmhlaWdodC0xNTA7aWYodShsLngsYy54LGgubGVmdCxoLmxlZnQraC53aWR0aC0zMjApfHx1KGwueSxjLnksaC50b3AsZCkpe2xldCB0PWgubGVmdCtoLndpZHRoLzItKGwueCtjLngpLzIsZT1oLnRvcCtoLmhlaWdodC8yLShsLnkrYy55KS8yO2NvbnN0IGk9WU4obik7cmV0dXJuIER1KG4pLnRyYW5zaXRpb24oKS5kdXJhdGlvbig1MDApLmNhbGwoci50cmFuc2xhdGVCeSx0L2kuayxlL2kuayksITB9cmV0dXJuITF9KSh0LHRoaXMuJC5zdmcsMCx0aGlzLl96b29tKSYmKHRoaXMuX3pvb21lZD0hMCl9Z2V0R3JhcGhTdmdSb290KCl7cmV0dXJuIHRoaXMuJC5zdmd9Z2V0Q29udGV4dE1lbnUoKXtyZXR1cm4gdGhpcy4kLmNvbnRleHRNZW51fV9yZXNldFN0YXRlKCl7dGhpcy5fbm9kZUdyb3VwSW5kZXg9e30sdGhpcy5fYW5ub3RhdGlvbkdyb3VwSW5kZXg9e30sdGhpcy5fZWRnZUdyb3VwSW5kZXg9e30sdGhpcy5fdXBkYXRlTGFiZWxzKCExKSxEdSh0aGlzLiQuc3ZnKS5zZWxlY3QoIiNyb290Iikuc2VsZWN0QWxsKCIqIikucmVtb3ZlKCksQVp0KHRoaXMuJC5zdmcpfV9idWlsZCh0KXt0aGlzLnRlbXBsYXRlSW5kZXg9dC5oaWVyYXJjaHkuZ2V0VGVtcGxhdGVJbmRleCgpLGQkdCgidGYtZ3JhcGgtc2NlbmUgKGxheW91dCk6IixmdW5jdGlvbigpe0dLdCh0LnJvb3QpfS5iaW5kKHRoaXMpLEJBdC5SRU5ERVJfU0NFTkVfTEFZT1VUKSxkJHQoInRmLWdyYXBoLXNjZW5lIChidWlsZCBzY2VuZSk6IixmdW5jdGlvbigpe0JadChEdSh0aGlzLiQucm9vdCksdC5yb290LHRoaXMpLChmdW5jdGlvbiBlKHQsbil7RHUodCkub24oImNsaWNrIiwoKCk9PntuLmZpcmUoImdyYXBoLXNlbGVjdCIpfSkpfSkodGhpcy4kLnN2Zyx0aGlzKSx0aGlzLl91cGRhdGVJbnB1dFRyYWNlKCl9LmJpbmQodGhpcyksQkF0LlJFTkRFUl9TQ0VORV9CVUlMRF9TQ0VORSksc2V0VGltZW91dChmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUhlYWx0aFBpbGxzKHRoaXMubm9kZU5hbWVzVG9IZWFsdGhQaWxscyx0aGlzLmhlYWx0aFBpbGxTdGVwSW5kZXgpLHRoaXMubWluaW1hcC51cGRhdGUoKX0uYmluZCh0aGlzKSxVS3QuYW5pbWF0aW9uLmR1cmF0aW9uKX1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5fem9vbT1uSSgpLm9uKCJlbmQiLGZ1bmN0aW9uKCl7dGhpcy5fem9vbVN0YXJ0Q29vcmRzJiYoTWF0aC5zcXJ0KE1hdGgucG93KHRoaXMuX3pvb21TdGFydENvb3Jkcy54LXRoaXMuX3pvb21UcmFuc2Zvcm0ueCwyKStNYXRoLnBvdyh0aGlzLl96b29tU3RhcnRDb29yZHMueS10aGlzLl96b29tVHJhbnNmb3JtLnksMikpPHRoaXMuX21heFpvb21EaXN0YW5jZUZvckNsaWNrP3RoaXMuX2ZpcmVFbmFibGVDbGljaygpOnNldFRpbWVvdXQodGhpcy5fZmlyZUVuYWJsZUNsaWNrLmJpbmQodGhpcyksNTApKTt0aGlzLl96b29tU3RhcnRDb29yZHM9bnVsbH0uYmluZCh0aGlzKSkub24oInpvb20iLGZ1bmN0aW9uKCl7dGhpcy5fem9vbVRyYW5zZm9ybT1NdS50cmFuc2Zvcm0sdGhpcy5fem9vbVN0YXJ0Q29vcmRzfHwodGhpcy5fem9vbVN0YXJ0Q29vcmRzPXRoaXMuX3pvb21UcmFuc2Zvcm0sdGhpcy5maXJlKCJkaXNhYmxlLWNsaWNrIikpLHRoaXMuX3pvb21lZD0hMCxEdSh0aGlzLiQucm9vdCkuYXR0cigidHJhbnNmb3JtIixNdS50cmFuc2Zvcm0pLHRoaXMubWluaW1hcC56b29tKE11LnRyYW5zZm9ybSl9LmJpbmQodGhpcykpLER1KHRoaXMuJC5zdmcpLmNhbGwodGhpcy5fem9vbSkub24oImRibGNsaWNrLnpvb20iLG51bGwpLER1KHdpbmRvdykub24oInJlc2l6ZSIsZnVuY3Rpb24oKXt0aGlzLm1pbmltYXAuem9vbSgpfS5iaW5kKHRoaXMpKSx0aGlzLm1pbmltYXA9dGhpcy4kLm1pbmltYXAuaW5pdCh0aGlzLiQuc3ZnLHRoaXMuJC5yb290LHRoaXMuX3pvb20sVUt0Lm1pbmltYXAuc2l6ZSxVS3Quc3Vic2NlbmUubWV0YS5sYWJlbEhlaWdodCl9YXR0YWNoZWQoKXt0aGlzLnNldCgiX2lzQXR0YWNoZWQiLCEwKX1kZXRhY2hlZCgpe3RoaXMuc2V0KCJfaXNBdHRhY2hlZCIsITEpfV9yZW5kZXJIaWVyYXJjaHlDaGFuZ2VkKCl7dmFyIHQ9dGhpcy5yZW5kZXJIaWVyYXJjaHk7dGhpcy5faGFzUmVuZGVySGllcmFyY2h5QmVlbkZpdE9uY2U9ITEsdGhpcy5fcmVzZXRTdGF0ZSgpLHRoaXMuX2J1aWxkKHQpfV9hbmltYXRlQW5kRml0KCl7IXRoaXMuX2hhc1JlbmRlckhpZXJhcmNoeUJlZW5GaXRPbmNlJiZ0aGlzLl9pc0F0dGFjaGVkJiZzZXRUaW1lb3V0KHRoaXMuZml0LmJpbmQodGhpcyksVUt0LmFuaW1hdGlvbi5kdXJhdGlvbil9X3VwZGF0ZUxhYmVscyh0KXt2YXIgZT10aGlzLiQkKCIudGl0bGUiKSxuPWUuc3R5bGUsaT10aGlzLiQkKCIuYXV4VGl0bGUiKSxyPWkuc3R5bGUsbz10aGlzLiQkKCIuZnVuY3Rpb25MaWJyYXJ5VGl0bGUiKS5zdHlsZTtjb25zdCBhPUR1KHRoaXMuJC5zdmcpO3ZhciBzPWEuc2VsZWN0KCIuIitaS3QuU2NlbmUuR1JPVVArIj4uIitaS3QuU2NlbmUuQ09SRSkubm9kZSgpO2lmKHQmJnMmJnRoaXMucHJvZ3Jlc3MmJjEwMD09PXRoaXMucHJvZ3Jlc3MudmFsdWUpe3ZhciBsPWEuc2VsZWN0KCIuIitaS3QuU2NlbmUuR1JPVVArIj4uIitaS3QuU2NlbmUuSU5FWFRSQUNUKS5ub2RlKCl8fGEuc2VsZWN0KCIuIitaS3QuU2NlbmUuR1JPVVArIj4uIitaS3QuU2NlbmUuT1VURVhUUkFDVCkubm9kZSgpLGM9cy5nZXRDVE0oKS5lLHU9bD9sLmdldENUTSgpLmU6bnVsbDtuLmRpc3BsYXk9ImlubGluZSIsbi5sZWZ0PWMrInB4IixudWxsIT09dSYmdSE9PWM/KHIuZGlzcGxheT0iaW5saW5lIix1PU1hdGgubWF4KGMrZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCx1KSxyLmxlZnQ9dSsicHgiKTpyLmRpc3BsYXk9Im5vbmUiO2xldCB0PWEuc2VsZWN0KCIuIitaS3QuU2NlbmUuR1JPVVArIj4uIitaS3QuU2NlbmUuRlVOQ1RJT05fTElCUkFSWSkubm9kZSgpLGg9dD90LmdldENUTSgpLmU6bnVsbDtudWxsIT09aCYmaCE9PXU/KG8uZGlzcGxheT0iaW5saW5lIixoPU1hdGgubWF4KHUraS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCxoKSxvLmxlZnQ9aCsicHgiKTpvLmRpc3BsYXk9Im5vbmUifWVsc2Ugbi5kaXNwbGF5PSJub25lIixyLmRpc3BsYXk9Im5vbmUiLG8uZGlzcGxheT0ibm9uZSJ9bm9kZUNvbG9yc0NoYW5nZWQoKXtudWxsIT10aGlzLnJlbmRlckhpZXJhcmNoeSYmKHRoaXMudGVtcGxhdGVJbmRleD10aGlzLnJlbmRlckhpZXJhcmNoeS5oaWVyYXJjaHkuZ2V0VGVtcGxhdGVJbmRleCgpLENlLmV4cG9ydHMuZWFjaCh0aGlzLl9ub2RlR3JvdXBJbmRleCwoKHQsZSk9Pnt0aGlzLl91cGRhdGVOb2RlU3RhdGUoZSl9KSksdGhpcy5taW5pbWFwLnVwZGF0ZSgpKX1maXQoKXt0aGlzLl9oYXNSZW5kZXJIaWVyYXJjaHlCZWVuRml0T25jZT0hMCwoZnVuY3Rpb24gdChlLG4saSxyKXtsZXQgbz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGE9bnVsbDt0cnl7aWYoYT1uLmdldEJCb3goKSwwPT09YS53aWR0aClyZXR1cm59Y2F0Y2godCl7cmV0dXJufWxldCBzPS45Kk1hdGgubWluKG8ud2lkdGgvYS53aWR0aCxvLmhlaWdodC9hLmhlaWdodCwyKSxsPVVLdC5ncmFwaDtjb25zdCBjPXFOLnNjYWxlKHMpLnRyYW5zbGF0ZShsLnBhZGRpbmcucGFkZGluZ0xlZnQsbC5wYWRkaW5nLnBhZGRpbmdUb3ApO0R1KGUpLnRyYW5zaXRpb24oKS5kdXJhdGlvbig1MDApLmNhbGwoaS50cmFuc2Zvcm0sYykub24oImVuZC5maXR0ZWQiLCgoKT0+e2kub24oImVuZC5maXR0ZWQiLG51bGwpLHIoKX0pKX0pKHRoaXMuJC5zdmcsdGhpcy4kLnJvb3QsdGhpcy5fem9vbSxmdW5jdGlvbigpe3RoaXMuX3pvb21lZD0hMX0uYmluZCh0aGlzKSl9Z2V0SW1hZ2VCbG9iKCl7cmV0dXJuIHRoaXMubWluaW1hcC5nZXRJbWFnZUJsb2IoKX1pc05vZGVTZWxlY3RlZCh0KXtyZXR1cm4gdD09PXRoaXMuc2VsZWN0ZWROb2RlfWlzTm9kZUhpZ2hsaWdodGVkKHQpe3JldHVybiB0PT09dGhpcy5oaWdobGlnaHRlZE5vZGV9YWRkQW5ub3RhdGlvbkdyb3VwKHQsZSxuKXt2YXIgaT10Lm5vZGUubmFtZTt0aGlzLl9hbm5vdGF0aW9uR3JvdXBJbmRleFtpXT10aGlzLl9hbm5vdGF0aW9uR3JvdXBJbmRleFtpXXx8e30sdGhpcy5fYW5ub3RhdGlvbkdyb3VwSW5kZXhbaV1bZS5ub2RlLm5hbWVdPW59Z2V0QW5ub3RhdGlvbkdyb3Vwc0luZGV4KHQpe3JldHVybiB0aGlzLl9hbm5vdGF0aW9uR3JvdXBJbmRleFt0XX1yZW1vdmVBbm5vdGF0aW9uR3JvdXAodCxlKXtkZWxldGUgdGhpcy5fYW5ub3RhdGlvbkdyb3VwSW5kZXhbdC5ub2RlLm5hbWVdW2Uubm9kZS5uYW1lXX1hZGROb2RlR3JvdXAodCxlKXt0aGlzLl9ub2RlR3JvdXBJbmRleFt0XT1lfWdldE5vZGVHcm91cCh0KXtyZXR1cm4gdGhpcy5fbm9kZUdyb3VwSW5kZXhbdF19cmVtb3ZlTm9kZUdyb3VwKHQpe2RlbGV0ZSB0aGlzLl9ub2RlR3JvdXBJbmRleFt0XX1hZGRFZGdlR3JvdXAodCxlKXt0aGlzLl9lZGdlR3JvdXBJbmRleFt0XT1lfWdldEVkZ2VHcm91cCh0KXtyZXR1cm4gdGhpcy5fZWRnZUdyb3VwSW5kZXhbdF19X3VwZGF0ZUhlYWx0aFBpbGxzKCl7IShmdW5jdGlvbiB0KGUsbixpKXtpZighbilyZXR1cm47bGV0IHI9MTtEdShlKS5zZWxlY3RBbGwoImcubm9kZXNoYXBlIikuZWFjaCgoZnVuY3Rpb24odCl7Y29uc3QgZT1uW3Qubm9kZS5uYW1lXTtpWnQodGhpcyxlP2VbaV06bnVsbCx0LHIrKyl9KSl9KSh0aGlzLiQuc3ZnLHRoaXMubm9kZU5hbWVzVG9IZWFsdGhQaWxscyx0aGlzLmhlYWx0aFBpbGxTdGVwSW5kZXgpfV91cGRhdGVOb2RlU3RhdGUodCl7dmFyIGU9dGhpcy5nZXROb2RlKHQpLG49dGhpcy5nZXROb2RlR3JvdXAodCk7KG4mJkxadChuLGUsdGhpcyksZS5ub2RlLnR5cGU9PT1BJHQuTUVUQSYmZS5ub2RlLmFzc29jaWF0ZWRGdW5jdGlvbiYmIWUuaXNMaWJyYXJ5RnVuY3Rpb24pJiZMWnQoRHUoIi4iK1pLdC5TY2VuZS5HUk9VUCsiPi4iK1pLdC5TY2VuZS5GVU5DVElPTl9MSUJSQVJZKycgZ1tkYXRhLW5hbWU9IicrKFQkdCtlLm5vZGUuYXNzb2NpYXRlZEZ1bmN0aW9uKSsnIl0nKSxlLHRoaXMpO3ZhciBpPXRoaXMuZ2V0QW5ub3RhdGlvbkdyb3Vwc0luZGV4KHQpO0NlLmV4cG9ydHMuZWFjaChpLCgodCxuKT0+e0xadCh0LGUsdGhpcyxaS3QuQW5ub3RhdGlvbi5OT0RFKX0pKX1fc2VsZWN0ZWROb2RlQ2hhbmdlZCh0LGUpe2lmKHQhPT1lJiYoZSYmdGhpcy5fdXBkYXRlTm9kZVN0YXRlKGUpLHQpKXt0aGlzLm1pbmltYXAudXBkYXRlKCk7Zm9yKHZhciBuLGk9dGhpcy5yZW5kZXJIaWVyYXJjaHkuaGllcmFyY2h5Lm5vZGUodCkscj1bXTtudWxsIT1pLnBhcmVudE5vZGUmJmkucGFyZW50Tm9kZS5uYW1lIT1FJHQ7KXIucHVzaCgoaT1pLnBhcmVudE5vZGUpLm5hbWUpO0NlLmV4cG9ydHMuZm9yRWFjaFJpZ2h0KHIsKHQ9Pnt0aGlzLnJlbmRlckhpZXJhcmNoeS5idWlsZFN1YmhpZXJhcmNoeSh0KTt2YXIgZT10aGlzLnJlbmRlckhpZXJhcmNoeS5nZXRSZW5kZXJOb2RlQnlOYW1lKHQpO2Uubm9kZS5pc0dyb3VwTm9kZSYmIWUuZXhwYW5kZWQmJihlLmV4cGFuZGVkPSEwLG58fChuPWUpKX0pKSxuJiYodGhpcy5zZXROb2RlRXhwYW5kZWQobiksdGhpcy5fem9vbWVkPSEwKSx0JiZ0aGlzLl91cGRhdGVOb2RlU3RhdGUodCksc2V0VGltZW91dCgoKCk9Pnt0aGlzLnBhblRvTm9kZSh0KX0pLFVLdC5hbmltYXRpb24uZHVyYXRpb24pfX1faGlnaGxpZ2h0ZWROb2RlQ2hhbmdlZCh0LGUpe3QhPT1lJiYodCYmdGhpcy5fdXBkYXRlTm9kZVN0YXRlKHQpLGUmJnRoaXMuX3VwZGF0ZU5vZGVTdGF0ZShlKSl9X29uWm9vbUNoYW5nZWQoKXt0aGlzLl91cGRhdGVMYWJlbHMoIXRoaXMuX3pvb21lZCl9X2ZpcmVFbmFibGVDbGljaygpe3RoaXMuZmlyZSgiZW5hYmxlLWNsaWNrIil9X3VwZGF0ZUlucHV0VHJhY2UoKXtOWnQodGhpcy5nZXRHcmFwaFN2Z1Jvb3QoKSx0aGlzLnJlbmRlckhpZXJhcmNoeSx0aGlzLnNlbGVjdGVkTm9kZSx0aGlzLnRyYWNlSW5wdXRzKX19O1VadC50ZW1wbGF0ZT1WWnQsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsQUt0KV0sVVp0LnByb3RvdHlwZSwicmVuZGVySGllcmFyY2h5Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFVadC5wcm90b3R5cGUsIm5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sVVp0LnByb3RvdHlwZSwiY29sb3JCeSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFVadC5wcm90b3R5cGUsInRyYWNlSW5wdXRzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sVVp0LnByb3RvdHlwZSwiX2hhc1JlbmRlckhpZXJhcmNoeUJlZW5GaXRPbmNlIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sVVp0LnByb3RvdHlwZSwiX2lzQXR0YWNoZWQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVVp0LnByb3RvdHlwZSwiX3pvb20iLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsb2JzZXJ2ZXI6Il9oaWdobGlnaHRlZE5vZGVDaGFuZ2VkIn0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxVWnQucHJvdG90eXBlLCJoaWdobGlnaHRlZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsb2JzZXJ2ZXI6Il9zZWxlY3RlZE5vZGVDaGFuZ2VkIn0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxVWnQucHJvdG90eXBlLCJzZWxlY3RlZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVVp0LnByb3RvdHlwZSwiaGFuZGxlRWRnZVNlbGVjdGVkIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX29uWm9vbUNoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxVWnQucHJvdG90eXBlLCJfem9vbWVkIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFVadC5wcm90b3R5cGUsIl96b29tU3RhcnRDb29yZHMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVVp0LnByb3RvdHlwZSwiX3pvb21UcmFuc2Zvcm0iLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sVVp0LnByb3RvdHlwZSwiX21heFpvb21EaXN0YW5jZUZvckNsaWNrIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKV0sVVp0LnByb3RvdHlwZSwidGVtcGxhdGVJbmRleCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxVWnQucHJvdG90eXBlLCJfbm9kZUdyb3VwSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVVp0LnByb3RvdHlwZSwiX2Fubm90YXRpb25Hcm91cEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFVadC5wcm90b3R5cGUsIl9lZGdlR3JvdXBJbmRleCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxVWnQucHJvdG90eXBlLCJtYXhNZXRhbm9kZUxhYmVsTGVuZ3RoRm9udFNpemUiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sVVp0LnByb3RvdHlwZSwibWluTWV0YW5vZGVMYWJlbExlbmd0aEZvbnRTaXplIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLFVadC5wcm90b3R5cGUsIm1heE1ldGFub2RlTGFiZWxMZW5ndGhMYXJnZUZvbnQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sVVp0LnByb3RvdHlwZSwibWF4TWV0YW5vZGVMYWJlbExlbmd0aCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxVWnQucHJvdG90eXBlLCJwcm9ncmVzcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sVVp0LnByb3RvdHlwZSwibm9kZUNvbnRleHRNZW51SXRlbXMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sVVp0LnByb3RvdHlwZSwibm9kZU5hbWVzVG9IZWFsdGhQaWxscyIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxVWnQucHJvdG90eXBlLCJoZWFsdGhQaWxsU3RlcEluZGV4Iix2b2lkIDApLHQoW2EoInJlbmRlckhpZXJhcmNoeSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sVVp0LnByb3RvdHlwZSwiX3JlbmRlckhpZXJhcmNoeUNoYW5nZWQiLG51bGwpLHQoW2EoIl9pc0F0dGFjaGVkIiwicmVuZGVySGllcmFyY2h5IiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxVWnQucHJvdG90eXBlLCJfYW5pbWF0ZUFuZEZpdCIsbnVsbCksdChbYSgiY29sb3JCeSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sVVp0LnByb3RvdHlwZSwibm9kZUNvbG9yc0NoYW5nZWQiLG51bGwpLHQoW2EoIm5vZGVOYW1lc1RvSGVhbHRoUGlsbHMiLCJoZWFsdGhQaWxsU3RlcEluZGV4IiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxVWnQucHJvdG90eXBlLCJfdXBkYXRlSGVhbHRoUGlsbHMiLG51bGwpLHQoW2EoInRyYWNlSW5wdXRzIiwic2VsZWN0ZWROb2RlIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxVWnQucHJvdG90eXBlLCJfdXBkYXRlSW5wdXRUcmFjZSIsbnVsbCksVVp0PXQoW2koInRmLWdyYXBoLXNjZW5lIildLFVadCk7bGV0IGpadD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3JlbmRlckRlcHRoPTEsdGhpcy5fYWxsb3dHcmFwaFNlbGVjdD0hMCx0aGlzLmVkZ2VXaWR0aEZ1bmN0aW9uPSIiLHRoaXMuaGFuZGxlTm9kZVNlbGVjdGVkPSIiLHRoaXMuZWRnZUxhYmVsRnVuY3Rpb249IiIsdGhpcy5oYW5kbGVFZGdlU2VsZWN0ZWQ9IiJ9cGFuVG9Ob2RlKHQpe3RoaXMuJCQoInRmLWdyYXBoLXNjZW5lIikucGFuVG9Ob2RlKHQpfV9hdXRvRXh0cmFjdE5vZGVzQ2hhbmdlZCgpe3ZhciB0PXRoaXMuZ3JhcGhIaWVyYXJjaHk7aWYodCl7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LnZhbHVlcyh0LmdldE5vZGVNYXAoKSkpZS5pbmNsdWRlPWskdC5VTlNQRUNJRklFRDt0aGlzLl9idWlsZFJlbmRlckhpZXJhcmNoeSh0KX19X2J1aWxkTmV3UmVuZGVySGllcmFyY2h5KCl7dmFyIHQ9dGhpcy5ncmFwaEhpZXJhcmNoeTt0JiZ0aGlzLl9idWlsZFJlbmRlckhpZXJhcmNoeSh0KX1fc3RhdHNDaGFuZ2VkKCl7dmFyIHQ9dGhpcy5zdGF0cyxlPXRoaXMuZGV2aWNlc0ZvclN0YXRzO3RoaXMuZ3JhcGhIaWVyYXJjaHkmJih0JiZlJiYoIShmdW5jdGlvbiBuKHQsZSxpKXtDZS5leHBvcnRzLmVhY2godC5ub2RlcywodD0+e3Quc3RhdHM9bnVsbH0pKSxDZS5leHBvcnRzLmVhY2goZS5kZXZfc3RhdHMsKGU9PntpJiYhaVtlLmRldmljZV18fENlLmV4cG9ydHMuZWFjaChlLm5vZGVfc3RhdHMsKG49PntsZXQgaT1uLm5vZGVfbmFtZSBpbiB0Lm5vZGVzP24ubm9kZV9uYW1lOiQkdChuLm5vZGVfbmFtZSk7aWYoIShpIGluIHQubm9kZXMpKXJldHVybjtsZXQgcj0wO24ubWVtb3J5JiZDZS5leHBvcnRzLmVhY2gobi5tZW1vcnksKHQ9Pnt0LnRvdGFsX2J5dGVzJiYodC50b3RhbF9ieXRlcz4wP3IrPU51bWJlcih0LnRvdGFsX2J5dGVzKTpjb25zb2xlLmxvZygiaWdub3JpbmcgbmVnYXRpdmUgbWVtb3J5IGFsbG9jYXRpb24gZm9yICIraSkpfSkpO2xldCBvPW51bGw7bi5vdXRwdXQmJihvPUNlLmV4cG9ydHMubWFwKG4ub3V0cHV0LCh0PT5DZS5leHBvcnRzLm1hcCh0LnRlbnNvcl9kZXNjcmlwdGlvbi5zaGFwZS5kaW0sKHQ9Pk51bWJlcih0LnNpemUpKSkpKSksdC5ub2Rlc1tpXS5kZXZpY2U9ZS5kZXZpY2UsbnVsbD09dC5ub2Rlc1tpXS5zdGF0cyYmKHQubm9kZXNbaV0uc3RhdHM9bmV3IGwkdChvKSksdC5ub2Rlc1tpXS5zdGF0cy5hZGRCeXRlc0FsbG9jYXRpb24ociksbi5hbGxfZW5kX3JlbF9taWNyb3MmJihuLmFsbF9lbmRfcmVsX21pY3Jvcz4wP3Qubm9kZXNbaV0uc3RhdHMuYWRkRXhlY3V0aW9uVGltZShuLmFsbF9zdGFydF9taWNyb3Msbi5hbGxfc3RhcnRfbWljcm9zK24uYWxsX2VuZF9yZWxfbWljcm9zKTpjb25zb2xlLmxvZygiaWdub3JpbmcgbmVnYXRpdmUgcnVudGltZSBmb3IgIitpKSl9KSl9KSl9KSh0aGlzLmJhc2ljR3JhcGgsdCxlKSwoZnVuY3Rpb24gaSh0LGUpe2xldCBuPXt9LGk9e307Q2UuZXhwb3J0cy5lYWNoKHQucm9vdC5sZWF2ZXMoKSwoZT0+e2xldCByPXQubm9kZShlKTtudWxsIT1yLmRldmljZSYmKG5bci5kZXZpY2VdPSEwKSxudWxsIT1yLnhsYUNsdXN0ZXImJihpW3IueGxhQ2x1c3Rlcl09ITApfSkpLHQuZGV2aWNlcz1DZS5leHBvcnRzLmtleXMobiksdC54bGFDbHVzdGVycz1DZS5leHBvcnRzLmtleXMoaSksQ2UuZXhwb3J0cy5lYWNoKHQuZ2V0Tm9kZU1hcCgpLCgodCxlKT0+e3QuaXNHcm91cE5vZGUmJih0LnN0YXRzPW5ldyBsJHQobnVsbCksdC5kZXZpY2VIaXN0b2dyYW09e30pfSkpLENlLmV4cG9ydHMuZWFjaCh0LnJvb3QubGVhdmVzKCksKGU9PntsZXQgbj10Lm5vZGUoZSksaT1uO2Zvcig7bnVsbCE9aS5wYXJlbnROb2RlOyl7aWYobnVsbCE9bi5kZXZpY2Upe2xldCB0PWkucGFyZW50Tm9kZS5kZXZpY2VIaXN0b2dyYW07dFtuLmRldmljZV09KHRbbi5kZXZpY2VdfHwwKSsxfWlmKG51bGwhPW4ueGxhQ2x1c3Rlcil7bGV0IHQ9aS5wYXJlbnROb2RlLnhsYUNsdXN0ZXJIaXN0b2dyYW07dFtuLnhsYUNsdXN0ZXJdPSh0W24ueGxhQ2x1c3Rlcl18fDApKzF9bnVsbCE9bi5zdGF0cyYmaS5wYXJlbnROb2RlLnN0YXRzLmNvbWJpbmUobi5zdGF0cyksaT1pLnBhcmVudE5vZGV9fSkpfSkodGhpcy5ncmFwaEhpZXJhcmNoeSkpLHRoaXMuX2J1aWxkUmVuZGVySGllcmFyY2h5KHRoaXMuZ3JhcGhIaWVyYXJjaHkpKX1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJncmFwaC1zZWxlY3QiLHRoaXMuX2dyYXBoU2VsZWN0ZWQuYmluZCh0aGlzKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJkaXNhYmxlLWNsaWNrIix0aGlzLl9kaXNhYmxlQ2xpY2suYmluZCh0aGlzKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJlbmFibGUtY2xpY2siLHRoaXMuX2VuYWJsZUNsaWNrLmJpbmQodGhpcykpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigibm9kZS10b2dnbGUtZXhwYW5kIix0aGlzLl9ub2RlVG9nZ2xlRXhwYW5kLmJpbmQodGhpcykpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigibm9kZS1zZWxlY3QiLHRoaXMuX25vZGVTZWxlY3RlZC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoIm5vZGUtaGlnaGxpZ2h0Iix0aGlzLl9ub2RlSGlnaGxpZ2h0ZWQuYmluZCh0aGlzKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJub2RlLXVuaGlnaGxpZ2h0Iix0aGlzLl9ub2RlVW5oaWdobGlnaHRlZC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoIm5vZGUtdG9nZ2xlLWV4dHJhY3QiLHRoaXMuX25vZGVUb2dnbGVFeHRyYWN0LmJpbmQodGhpcykpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigibm9kZS10b2dnbGUtc2VyaWVzZ3JvdXAiLHRoaXMuX25vZGVUb2dnbGVTZXJpZXNHcm91cC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImVkZ2Utc2VsZWN0Iix0aGlzLl9lZGdlU2VsZWN0ZWQuYmluZCh0aGlzKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJhbm5vdGF0aW9uLXNlbGVjdCIsdGhpcy5fbm9kZVNlbGVjdGVkLmJpbmQodGhpcykpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiYW5ub3RhdGlvbi1oaWdobGlnaHQiLHRoaXMuX25vZGVIaWdobGlnaHRlZC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImFubm90YXRpb24tdW5oaWdobGlnaHQiLHRoaXMuX25vZGVVbmhpZ2hsaWdodGVkLmJpbmQodGhpcykpfV9idWlsZFJlbmRlckhpZXJhcmNoeSh0KXtpZih0LnJvb3QudHlwZSE9PUEkdC5NRVRBKXJldHVybjtjb25zdCBlPXRoaXMsbj1kJHQoIm5ldyB0Zl9ncmFwaF9yZW5kZXIuSGllcmFyY2h5IiwoKCk9Pntjb25zdCBuPW5ldyBBS3QodCwhIXRoaXMuc3RhdHMsdGhpcy5hdXRvRXh0cmFjdE5vZGVzKTtmdW5jdGlvbiBpKHQpe3JldHVybnttaW5WYWx1ZTp0LmRvbWFpbigpWzBdLG1heFZhbHVlOnQuZG9tYWluKClbMV0sc3RhcnRDb2xvcjp0LnJhbmdlKClbMF0sZW5kQ29sb3I6dC5yYW5nZSgpWzFdfX1yZXR1cm4gbi5lZGdlTGFiZWxGdW5jdGlvbj10aGlzLmVkZ2VMYWJlbEZ1bmN0aW9uLG4uZWRnZVdpZHRoRnVuY3Rpb249dGhpcy5lZGdlV2lkdGhGdW5jdGlvbixlLl9zZXRDb2xvckJ5UGFyYW1zKHtjb21wdXRlX3RpbWU6aShuLmNvbXB1dGVUaW1lU2NhbGUpLG1lbW9yeTppKG4ubWVtb3J5VXNhZ2VTY2FsZSksZGV2aWNlOkNlLmV4cG9ydHMubWFwKG4uZGV2aWNlQ29sb3JNYXAuZG9tYWluKCksKGZ1bmN0aW9uKHQpe3JldHVybntkZXZpY2U6dCxjb2xvcjpuLmRldmljZUNvbG9yTWFwKHQpfX0pKSx4bGFfY2x1c3RlcjpDZS5leHBvcnRzLm1hcChuLnhsYUNsdXN0ZXJDb2xvck1hcC5kb21haW4oKSwoZnVuY3Rpb24odCl7cmV0dXJue3hsYV9jbHVzdGVyOnQsY29sb3I6bi54bGFDbHVzdGVyQ29sb3JNYXAodCl9fSkpfSksbn0pLEJBdC5SRU5ERVJfQlVJTERfSElFUkFSQ0hZKTtlLl9zZXRSZW5kZXJIaWVyYXJjaHkobil9X2dldFZpc2libGUodCl7cmV0dXJuIHQ/dGhpcy5yZW5kZXJIaWVyYXJjaHkuZ2V0TmVhcmVzdFZpc2libGVBbmNlc3Rvcih0KTp0fWZpdCgpe3RoaXMuJC5zY2VuZS5maXQoKX1nZXRJbWFnZUJsb2IoKXtyZXR1cm4gdGhpcy4kLnNjZW5lLmdldEltYWdlQmxvYigpfV9ncmFwaENoYW5nZWQoKXt0aGlzLmdyYXBoSGllcmFyY2h5JiYodGhpcy5ncmFwaEhpZXJhcmNoeS5hZGRMaXN0ZW5lcihpS3QuVEVNUExBVEVTX1VQREFURUQsKCgpPT57dGhpcy4kLnNjZW5lLm5vZGVDb2xvcnNDaGFuZ2VkKCl9KSksdGhpcy5maXJlKCJncmFwaC1zZWxlY3QiKSl9X2dyYXBoU2VsZWN0ZWQodCl7dGhpcy5fYWxsb3dHcmFwaFNlbGVjdCYmKHRoaXMuc2V0KCJzZWxlY3RlZE5vZGUiLG51bGwpLHRoaXMuc2V0KCJzZWxlY3RlZEVkZ2UiLG51bGwpKSx0aGlzLl9hbGxvd0dyYXBoU2VsZWN0PSEwfV9kaXNhYmxlQ2xpY2sodCl7dGhpcy5fYWxsb3dHcmFwaFNlbGVjdD0hMX1fZW5hYmxlQ2xpY2sodCl7dGhpcy5fYWxsb3dHcmFwaFNlbGVjdD0hMH1fc2VsZWN0ZWROb2RlQ2hhbmdlZCgpe3RoaXMuaGFuZGxlTm9kZVNlbGVjdGVkJiZ0aGlzLmhhbmRsZU5vZGVTZWxlY3RlZCh0aGlzLnNlbGVjdGVkTm9kZSl9X3NlbGVjdGVkRWRnZUNoYW5nZWQoKXt2YXIgdD10aGlzLnNlbGVjdGVkRWRnZTt0aGlzLl9kZXNlbGVjdFByZXZpb3VzRWRnZSgpLHQmJih0aGlzLl9sYXN0U2VsZWN0ZWRFZGdlR3JvdXAuY2xhc3NlZChaS3QuRWRnZS5TRUxFQ1RFRCwhMCksdGhpcy5fdXBkYXRlTWFya2VyT2ZTZWxlY3RlZEVkZ2UodCkpLHRoaXMuaGFuZGxlRWRnZVNlbGVjdGVkJiZ0aGlzLmhhbmRsZUVkZ2VTZWxlY3RlZCh0KX1fbm9kZVNlbGVjdGVkKHQpe3RoaXMuX2FsbG93R3JhcGhTZWxlY3QmJnRoaXMuc2V0KCJzZWxlY3RlZE5vZGUiLHQuZGV0YWlsLm5hbWUpLHRoaXMuX2FsbG93R3JhcGhTZWxlY3Q9ITB9X2VkZ2VTZWxlY3RlZCh0KXt0aGlzLl9hbGxvd0dyYXBoU2VsZWN0JiYodGhpcy5zZXQoIl9sYXN0U2VsZWN0ZWRFZGdlR3JvdXAiLHQuZGV0YWlsLmVkZ2VHcm91cCksdGhpcy5zZXQoInNlbGVjdGVkRWRnZSIsdC5kZXRhaWwuZWRnZURhdGEpKSx0aGlzLl9hbGxvd0dyYXBoU2VsZWN0PSEwfV9ub2RlSGlnaGxpZ2h0ZWQodCl7dGhpcy5zZXQoImhpZ2hsaWdodGVkTm9kZSIsdC5kZXRhaWwubmFtZSl9X25vZGVVbmhpZ2hsaWdodGVkKHQpe3RoaXMuc2V0KCJoaWdobGlnaHRlZE5vZGUiLG51bGwpfV9ub2RlVG9nZ2xlRXhwYW5kKHQpe3RoaXMuX25vZGVTZWxlY3RlZCh0KTt2YXIgZT10LmRldGFpbC5uYW1lLG49dGhpcy5yZW5kZXJIaWVyYXJjaHkuZ2V0UmVuZGVyTm9kZUJ5TmFtZShlKTtuLm5vZGUudHlwZSE9PUEkdC5PUCYmKHRoaXMucmVuZGVySGllcmFyY2h5LmJ1aWxkU3ViaGllcmFyY2h5KGUpLG4uZXhwYW5kZWQ9IW4uZXhwYW5kZWQsdGhpcy5hc3luYygoZnVuY3Rpb24oKXt0aGlzLiQuc2NlbmUuc2V0Tm9kZUV4cGFuZGVkKG4pfSksNzUpLGgkdCh7YWN0aW9uSWQ6QkF0Lk5PREVfRVhQQU5TSU9OX1RPR0dMRUQsZXZlbnRMYWJlbDpuLmV4cGFuZGVkPyJleHBhbmRlZCI6ImNvbGxhcHNlZCJ9KSl9X25vZGVUb2dnbGVFeHRyYWN0KHQpe3RoaXMubm9kZVRvZ2dsZUV4dHJhY3QodC5kZXRhaWwubmFtZSl9bm9kZVRvZ2dsZUV4dHJhY3QodCl7Y29uc3QgZT10aGlzLnJlbmRlckhpZXJhcmNoeS5nZXRSZW5kZXJOb2RlQnlOYW1lKHQpO2Uubm9kZS5pbmNsdWRlPWUubm9kZS5pbmNsdWRlPT1rJHQuSU5DTFVERT9rJHQuRVhDTFVERTplLm5vZGUuaW5jbHVkZT09ayR0LkVYQ0xVREV8fHRoaXMucmVuZGVySGllcmFyY2h5LmlzTm9kZUF1eGlsaWFyeShlKT9rJHQuSU5DTFVERTprJHQuRVhDTFVERSx0aGlzLl9idWlsZFJlbmRlckhpZXJhcmNoeSh0aGlzLmdyYXBoSGllcmFyY2h5KSxoJHQoe2FjdGlvbklkOkJBdC5OT0RFX0FVWElMSUFSWV9FWFRSQUNUSU9OX0NIQU5HRUQsZXZlbnRMYWJlbDplLm5vZGUuaW5jbHVkZT09PWskdC5JTkNMVURFPyJBdXhpbGlhcnkgdG8gTWFpbiI6Ik1haW4gdG8gQXV4aWxpYXJ5In0pfV9ub2RlVG9nZ2xlU2VyaWVzR3JvdXAodCl7dGhpcy5ub2RlVG9nZ2xlU2VyaWVzR3JvdXAodC5kZXRhaWwubmFtZSl9bm9kZVRvZ2dsZVNlcmllc0dyb3VwKHQpe3RoaXMuc2V0KCJwcm9ncmVzcyIse3ZhbHVlOjAsbXNnOiIifSk7dmFyIGU9ZiR0KHAkdCh0aGlzKSwxMDAsIk5hbWVzcGFjZSBoaWVyYXJjaHkiKTtjb25zdCBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0aGlzLmhpZXJhcmNoeVBhcmFtcykse3Nlcmllc01hcDp0aGlzLmdyYXBoSGllcmFyY2h5LmJ1aWxkU2VyaWVzR3JvdXBNYXBUb2dnbGVkKHQpfSk7c0t0KHRoaXMuYmFzaWNHcmFwaCxuLGUpLnRoZW4oZnVuY3Rpb24odCl7dGhpcy5zZXQoImdyYXBoSGllcmFyY2h5Iix0KSx0aGlzLl9idWlsZFJlbmRlckhpZXJhcmNoeSh0aGlzLmdyYXBoSGllcmFyY2h5KX0uYmluZCh0aGlzKSl9X2Rlc2VsZWN0UHJldmlvdXNFZGdlKCl7RHUoIi4iK1pLdC5FZGdlLlNFTEVDVEVEKS5jbGFzc2VkKFpLdC5FZGdlLlNFTEVDVEVELCExKS5lYWNoKCgodCxlKT0+e2lmKHQubGFiZWwpe2NvbnN0IGU9RHUodGhpcykuc2VsZWN0QWxsKCJwYXRoLmVkZ2VsaW5lIik7dC5sYWJlbC5zdGFydE1hcmtlcklkJiZlLnN0eWxlKCJtYXJrZXItc3RhcnQiLGB1cmwoIyR7dC5sYWJlbC5zdGFydE1hcmtlcklkfSlgKSx0LmxhYmVsLmVuZE1hcmtlcklkJiZlLnN0eWxlKCJtYXJrZXItZW5kIixgdXJsKCMke3QubGFiZWwuZW5kTWFya2VySWR9KWApfX0pKX1fdXBkYXRlTWFya2VyT2ZTZWxlY3RlZEVkZ2UodCl7aWYodC5sYWJlbCl7Y29uc3QgZT10LmxhYmVsLnN0YXJ0TWFya2VySWR8fHQubGFiZWwuZW5kTWFya2VySWQ7aWYoZSl7Y29uc3Qgbj1lLnJlcGxhY2UoImRhdGFmbG93LSIsInNlbGVjdGVkLSIpO2xldCBpPXRoaXMuJCQoIiMiK24pO2lmKCFpKXtjb25zdCB0PXRoaXMuJC5zY2VuZS5xdWVyeVNlbGVjdG9yKCIjIitlKTtpPXQuY2xvbmVOb2RlKCEwKSxpLnNldEF0dHJpYnV0ZSgiaWQiLG4pLGkuY2xhc3NMaXN0LmFkZCgic2VsZWN0ZWQtYXJyb3doZWFkIiksdC5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGkpfWNvbnN0IHI9dC5sYWJlbC5zdGFydE1hcmtlcklkPyJtYXJrZXItc3RhcnQiOiJtYXJrZXItZW5kIjt0aGlzLl9sYXN0U2VsZWN0ZWRFZGdlR3JvdXAuc2VsZWN0QWxsKCJwYXRoLmVkZ2VsaW5lIikuc3R5bGUocixgdXJsKCMke259KWApfX19bm90KHQpe3JldHVybiF0fX07alp0LnRlbXBsYXRlPXhlYAogICAgPHN0eWxlPgogICAgICAuY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKICAgICAgfQoKICAgICAgLnZlcnRpY2FsIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LXZlcnRpY2FsOwogICAgICB9CgogICAgICAuYXV0byB7CiAgICAgICAgQGFwcGx5IC0tbGF5b3V0LWZsZXgtYXV0bzsKICAgICAgICBAYXBwbHkgLS1sYXlvdXQtdmVydGljYWw7CiAgICAgIH0KCiAgICAgIGgyIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIHBhcGVyLWJ1dHRvbiB7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJ2ZXJ0aWNhbCI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3RpdGxlXV0iPgogICAgICAgICAgPGgyPltbdGl0bGVdXTwvaDI+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGYtZ3JhcGgtc2NlbmUKICAgICAgICAgIGlkPSJzY2VuZSIKICAgICAgICAgIGNsYXNzPSJhdXRvIgogICAgICAgICAgcmVuZGVyLWhpZXJhcmNoeT0iW1tyZW5kZXJIaWVyYXJjaHldXSIKICAgICAgICAgIGhpZ2hsaWdodGVkLW5vZGU9IltbX2dldFZpc2libGUoaGlnaGxpZ2h0ZWROb2RlKV1dIgogICAgICAgICAgc2VsZWN0ZWQtbm9kZT0ie3tzZWxlY3RlZE5vZGV9fSIKICAgICAgICAgIHNlbGVjdGVkLWVkZ2U9Int7c2VsZWN0ZWRFZGdlfX0iCiAgICAgICAgICBjb2xvci1ieT0iW1tjb2xvckJ5XV0iCiAgICAgICAgICBwcm9ncmVzcz0iW1twcm9ncmVzc11dIgogICAgICAgICAgbm9kZS1jb250ZXh0LW1lbnUtaXRlbXM9Iltbbm9kZUNvbnRleHRNZW51SXRlbXNdXSIKICAgICAgICAgIG5vZGUtbmFtZXMtdG8taGVhbHRoLXBpbGxzPSJbW25vZGVOYW1lc1RvSGVhbHRoUGlsbHNdXSIKICAgICAgICAgIGhlYWx0aC1waWxsLXN0ZXAtaW5kZXg9Int7aGVhbHRoUGlsbFN0ZXBJbmRleH19IgogICAgICAgICAgaGFuZGxlLWVkZ2Utc2VsZWN0ZWQ9IltbaGFuZGxlRWRnZVNlbGVjdGVkXV0iCiAgICAgICAgICB0cmFjZS1pbnB1dHM9IltbdHJhY2VJbnB1dHNdXSIKICAgICAgICA+PC90Zi1ncmFwaC1zY2VuZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICBgLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMCxvYnNlcnZlcjoiX2dyYXBoQ2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsckt0KV0salp0LnByb3RvdHlwZSwiZ3JhcGhIaWVyYXJjaHkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsSSR0KV0salp0LnByb3RvdHlwZSwiYmFzaWNHcmFwaCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxqWnQucHJvdG90eXBlLCJzdGF0cyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxqWnQucHJvdG90eXBlLCJkZXZpY2VzRm9yU3RhdHMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0salp0LnByb3RvdHlwZSwiaGllcmFyY2h5UGFyYW1zIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxqWnQucHJvdG90eXBlLCJwcm9ncmVzcyIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxqWnQucHJvdG90eXBlLCJ0aXRsZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0salp0LnByb3RvdHlwZSwic2VsZWN0ZWROb2RlIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxqWnQucHJvdG90eXBlLCJzZWxlY3RlZEVkZ2UiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0salp0LnByb3RvdHlwZSwiX2xhc3RTZWxlY3RlZEVkZ2VHcm91cCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0salp0LnByb3RvdHlwZSwiaGlnaGxpZ2h0ZWROb2RlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGpadC5wcm90b3R5cGUsImNvbG9yQnkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsbm90aWZ5OiEwLHJlYWRPbmx5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGpadC5wcm90b3R5cGUsImNvbG9yQnlQYXJhbXMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEFLdCldLGpadC5wcm90b3R5cGUsInJlbmRlckhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGpadC5wcm90b3R5cGUsInRyYWNlSW5wdXRzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0salp0LnByb3RvdHlwZSwiYXV0b0V4dHJhY3ROb2RlcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0salp0LnByb3RvdHlwZSwibm9kZUNvbnRleHRNZW51SXRlbXMiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0salp0LnByb3RvdHlwZSwiX3JlbmRlckRlcHRoIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0salp0LnByb3RvdHlwZSwiX2FsbG93R3JhcGhTZWxlY3QiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0salp0LnByb3RvdHlwZSwibm9kZU5hbWVzVG9IZWFsdGhQaWxscyIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxqWnQucHJvdG90eXBlLCJoZWFsdGhQaWxsU3RlcEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGpadC5wcm90b3R5cGUsImVkZ2VXaWR0aEZ1bmN0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGpadC5wcm90b3R5cGUsImhhbmRsZU5vZGVTZWxlY3RlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxqWnQucHJvdG90eXBlLCJlZGdlTGFiZWxGdW5jdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxqWnQucHJvdG90eXBlLCJoYW5kbGVFZGdlU2VsZWN0ZWQiLHZvaWQgMCksdChbYSgiYXV0b0V4dHJhY3ROb2RlcyIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0salp0LnByb3RvdHlwZSwiX2F1dG9FeHRyYWN0Tm9kZXNDaGFuZ2VkIixudWxsKSx0KFthKCJncmFwaEhpZXJhcmNoeSIsImVkZ2VXaWR0aEZ1bmN0aW9uIiwiaGFuZGxlTm9kZVNlbGVjdGVkIiwiZWRnZUxhYmVsRnVuY3Rpb24iLCJoYW5kbGVFZGdlU2VsZWN0ZWQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGpadC5wcm90b3R5cGUsIl9idWlsZE5ld1JlbmRlckhpZXJhcmNoeSIsbnVsbCksdChbYSgic3RhdHMiLCJkZXZpY2VzRm9yU3RhdHMiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGpadC5wcm90b3R5cGUsIl9zdGF0c0NoYW5nZWQiLG51bGwpLHQoW2EoInNlbGVjdGVkTm9kZSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0salp0LnByb3RvdHlwZSwiX3NlbGVjdGVkTm9kZUNoYW5nZWQiLG51bGwpLHQoW2EoInNlbGVjdGVkRWRnZSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0salp0LnByb3RvdHlwZSwiX3NlbGVjdGVkRWRnZUNoYW5nZWQiLG51bGwpLGpadD10KFtpKCJ0Zi1ncmFwaCIpXSxqWnQpO2xldCBHWnQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnNwZWNpZmljSGVhbHRoUGlsbFN0ZXA9MCx0aGlzLmhlYWx0aFBpbGxFbnRyaWVzPUpLdH1yZWFkeSgpe3N1cGVyLnJlYWR5KCk7dmFyIHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW5Db250YWluZXIiKSxlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInRmLWRhc2hib2FyZC1sYXlvdXQgLnNjcm9sbGJhciIpO3QmJmUmJih0LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLGUuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIpfV9oZWFsdGhQaWxsc0F2YWlsYWJsZSh0LGUpe3JldHVybiB0JiZlfV9jb21wdXRlVGVuc29yQ291bnRTdHJpbmcodCxlKXtyZXR1cm4gdD90W2VdLnRvRml4ZWQoMCk6IiJ9Z2V0IGhlYWx0aFBpbGxWYWx1ZXNGb3JTZWxlY3RlZE5vZGUoKXt2YXIgdD10aGlzLnNlbGVjdGVkTm9kZTtpZih0aGlzLmFyZUhlYWx0aFBpbGxzTG9hZGluZylyZXR1cm4gbnVsbDtpZighdClyZXR1cm4gbnVsbDtjb25zdCBlPXRoaXMubm9kZU5hbWVzVG9IZWFsdGhQaWxsc1t0XTtpZighZSlyZXR1cm4gbnVsbDtjb25zdCBuPWVbdGhpcy5hbGxTdGVwc01vZGVFbmFibGVkPzA6dGhpcy5oZWFsdGhQaWxsU3RlcEluZGV4XTtyZXR1cm4gbj9uLnZhbHVlLnNsaWNlKDIsOCk6bnVsbH1nZXQgX2N1cnJlbnRTdGVwRGlzcGxheVZhbHVlKCl7dmFyIHQ9dGhpcy5ub2RlTmFtZXNUb0hlYWx0aFBpbGxzLGU9dGhpcy5oZWFsdGhQaWxsU3RlcEluZGV4LG49dGhpcy5hcmVIZWFsdGhQaWxsc0xvYWRpbmc7aWYodGhpcy5hbGxTdGVwc01vZGVFbmFibGVkKXJldHVybiB0aGlzLnNwZWNpZmljSGVhbHRoUGlsbFN0ZXAudG9GaXhlZCgwKTtpZihuKXJldHVybiAwO2ZvcihsZXQgbiBpbiB0KXJldHVybiB0W25dW2VdLnN0ZXAudG9GaXhlZCgwKTtyZXR1cm4gMH1nZXQgX2JpZ2dlc3RTdGVwRXZlclNlZW4oKXt2YXIgdD10aGlzLm5vZGVOYW1lc1RvSGVhbHRoUGlsbHM7Zm9yKGxldCBuIGluIHQpe3ZhciBlPXRbbl07cmV0dXJuIE1hdGgubWF4KHRoaXMuX2JpZ2dlc3RTdGVwRXZlclNlZW4sZVtlLmxlbmd0aC0xXS5zdGVwKX1yZXR1cm4gdGhpcy5fYmlnZ2VzdFN0ZXBFdmVyU2Vlbnx8MH1nZXQgX21heFN0ZXBJbmRleCgpe3ZhciB0PXRoaXMubm9kZU5hbWVzVG9IZWFsdGhQaWxscztmb3IobGV0IGUgaW4gdClyZXR1cm4gdFtlXS5sZW5ndGgtMTtyZXR1cm4gMH1faGFzRGVidWdnZXJOdW1lcmljQWxlcnRzKHQpe3JldHVybiB0JiZ0Lmxlbmd0aH1fdXBkYXRlQWxlcnRzTGlzdCgpe3ZhciB0PXRoaXMuZGVidWdnZXJOdW1lcmljQWxlcnRzLGU9dGhpcy4kJCgiI251bWVyaWMtYWxlcnRzLWJvZHkiKTtpZihlKXtlLmlubmVyVGV4dD0iIjtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIGk9dFtuXSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIiksbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpO28uaW5uZXJUZXh0PShmPWkuZmlyc3RfdGltZXN0YW1wLG09dm9pZCAwLChtPStuZXcgRGF0ZS0rbmV3IERhdGUoZi8xZTMpKTwzZTQ/Imp1c3Qgbm93IjptPDZlND9NYXRoLmZsb29yKG0vMWUzKSsiIHNlY29uZHMgYWdvIjptPDEyZTQ/ImEgbWludXRlIGFnbyI6bTwzNmU1P01hdGguZmxvb3IobS82ZTQpKyIgbWludXRlcyBhZ28iOjE9PU1hdGguZmxvb3IobS8zNmU1KT8iYW4gaG91ciBhZ28iOm08ODY0ZTU/TWF0aC5mbG9vcihtLzM2ZTUpKyIgaG91cnMgYWdvIjptPDE3MjhlNT8ieWVzdGVyZGF5IjpNYXRoLmZsb29yKG0vODY0ZTUpKyIgZGF5cyBhZ28iKSxvLmNsYXNzTGlzdC5hZGQoImZpcnN0LW9mZmVuc2UtdGQiKSxyLmFwcGVuZENoaWxkKG8pO3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7YS5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3ItZGV2aWNlLXRkIik7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cy5jbGFzc0xpc3QuYWRkKCJ0ZW5zb3Itc2VjdGlvbi13aXRoaW4tdGFibGUiKSxzLmlubmVyVGV4dD1pLnRlbnNvcl9uYW1lLHRoaXMuX2FkZE9wRXhwYW5zaW9uTGlzdGVuZXIocyxpLnRlbnNvcl9uYW1lKSxhLmFwcGVuZENoaWxkKHMpO3ZhciBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2wuY2xhc3NMaXN0LmFkZCgiZGV2aWNlLXNlY3Rpb24td2l0aGluLXRhYmxlIiksbC5pbm5lclRleHQ9IigiK2kuZGV2aWNlX25hbWUrIikiLGEuYXBwZW5kQ2hpbGQobCksci5hcHBlbmRDaGlsZChhKTt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtjLmNsYXNzTGlzdC5hZGQoIm1pbmktaGVhbHRoLXBpbGwiKTt2YXIgdT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpO2lmKHUuY2xhc3NMaXN0LmFkZCgibWluaS1oZWFsdGgtcGlsbC10ZCIpLHUuYXBwZW5kQ2hpbGQoYyksci5hcHBlbmRDaGlsZCh1KSxpLm5lZ19pbmZfZXZlbnRfY291bnQpe3ZhciBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2guY2xhc3NMaXN0LmFkZCgibmVnYXRpdmUtaW5mLW1pbmktaGVhbHRoLXBpbGwtc2VjdGlvbiIpLGguaW5uZXJUZXh0PWkubmVnX2luZl9ldmVudF9jb3VudCxoLnNldEF0dHJpYnV0ZSgidGl0bGUiLGkubmVnX2luZl9ldmVudF9jb3VudCsiIGV2ZW50cyB3aXRoIC3iiJ4iKSxjLmFwcGVuZENoaWxkKGgpfWlmKGkucG9zX2luZl9ldmVudF9jb3VudCl7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZC5jbGFzc0xpc3QuYWRkKCJwb3NpdGl2ZS1pbmYtbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uIiksZC5pbm5lclRleHQ9aS5wb3NfaW5mX2V2ZW50X2NvdW50LGQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsaS5wb3NfaW5mX2V2ZW50X2NvdW50KyIgZXZlbnRzIHdpdGggK+KIniIpLGMuYXBwZW5kQ2hpbGQoZCl9aWYoaS5uYW5fZXZlbnRfY291bnQpe3ZhciBwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3AuY2xhc3NMaXN0LmFkZCgibmFuLW1pbmktaGVhbHRoLXBpbGwtc2VjdGlvbiIpLHAuaW5uZXJUZXh0PWkubmFuX2V2ZW50X2NvdW50LHAuc2V0QXR0cmlidXRlKCJ0aXRsZSIsaS5uYW5fZXZlbnRfY291bnQrIiBldmVudHMgd2l0aCBOYU4iKSxjLmFwcGVuZENoaWxkKHApfWVyKGUpLmFwcGVuZENoaWxkKHIpfXZhciBmLG19fV9hZGRPcEV4cGFuc2lvbkxpc3RlbmVyKHQsZSl7dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCgpPT57dmFyIHQsbj0oZnVuY3Rpb24gaSh0LGUsbil7Y29uc3QgaT1uLnNwbGl0KCIvIikscj1pW2kubGVuZ3RoLTFdLm1hdGNoKC8oLiopOlx3Ky8pOzI9PT1yLmxlbmd0aCYmKGlbaS5sZW5ndGgtMV09clsxXSk7bGV0IG89aVswXSxhPWUuZ2V0UmVuZGVyTm9kZUJ5TmFtZShvKTtmb3IobGV0IG49MTtuPGkubGVuZ3RoJiZhLm5vZGUudHlwZSE9PUEkdC5PUDtuKyspZS5idWlsZFN1YmhpZXJhcmNoeShvKSxhLmV4cGFuZGVkPSEwLHQuc2V0Tm9kZUV4cGFuZGVkKGEpLG8rPSIvIitpW25dLGE9ZS5nZXRSZW5kZXJOb2RlQnlOYW1lKG8pO3JldHVybiBhLm5vZGUubmFtZX0pKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY2VuZSIpLHRoaXMucmVuZGVySGllcmFyY2h5LGUpLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidGYtZ3JhcGgtaW5mbyNncmFwaC1pbmZvIik7ciYmKHQ9ci5zY3JvbGxIZWlnaHQtci5zY3JvbGxUb3ApO3ZhciBvPXRoaXMuc2VsZWN0ZWROb2RlO3RoaXMuc2V0KCJzZWxlY3RlZE5vZGUiLG4pO3ZhciBhPSgpPT57ci5zY3JvbGxUb3A9ci5zY3JvbGxIZWlnaHQtdH07ciYmKG8/YSgpOndpbmRvdy5zZXRUaW1lb3V0KGEsMjApKX0pKX19O3ZhciBXWnQ7R1p0LnRlbXBsYXRlPXhlYAogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICBoMiB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAuaGVhbHRoLXBpbGwtbGVnZW5kIHsKICAgICAgICBwYWRkaW5nOiAxNXB4OwogICAgICB9CgogICAgICAuaGVhbHRoLXBpbGwtbGVnZW5kIGgyIHsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICB9CgogICAgICAuaGVhbHRoLXBpbGwtZW50cnkgewogICAgICAgIG1hcmdpbjogMTBweCAxMHB4IDEwcHggMDsKICAgICAgfQoKICAgICAgLmhlYWx0aC1waWxsLWVudHJ5IC5jb2xvci1wcmV2aWV3IHsKICAgICAgICB3aWR0aDogMjZweDsKICAgICAgICBoZWlnaHQ6IDI2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7CiAgICAgIH0KCiAgICAgIC5oZWFsdGgtcGlsbC1lbnRyeSAuY29sb3ItbGFiZWwsCiAgICAgIC5oZWFsdGgtcGlsbC1lbnRyeSAudGVuc29yLWNvdW50IHsKICAgICAgICBjb2xvcjogIzc3NzsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAyNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMjJweDsKICAgICAgICBsaW5lLWhlaWdodDogMjZweDsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgICB9CgogICAgICAuaGVhbHRoLXBpbGwtZW50cnkgLnRlbnNvci1jb3VudCB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICB9CgogICAgICAjaGVhbHRoLXBpbGwtc3RlcC1zbGlkZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1hcmdpbjogMCAwIDAgLTE1cHg7CiAgICAgICAgLyogMzEgY29tZXMgZnJvbSBhZGRpbmcgYSBwYWRkaW5nIG9mIDE1cHggZnJvbSBib3RoIHNpZGVzIG9mIHRoZSBwYXBlci1zbGlkZXIsIHN1YnRyYWN0aW5nCiAgICogMXB4IHNvIHRoYXQgdGhlIHNsaWRlciB3aWR0aCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UgKHRoZSBsYXN0IHNsaWRlciBtYXJrZXIgdGFrZXMgdXAgMXB4KSwKICAgKiBhbmQgYWRkaW5nIDJweCB0byBhY2NvdW50IGZvciBhIGJvcmRlciBvZiAxcHggb24gYm90aCBzaWRlcyBvZiB0aGUgaW1hZ2UuIDMwIC0gMSArIDIuCiAgICogQXBwYXJlbnRseSwgdGhlIHBhcGVyLXNsaWRlciBsYWNrcyBhIG1peGluIGZvciB0aG9zZSBwYWRkaW5nIHZhbHVlcy4gKi8KICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMzFweCk7CiAgICAgIH0KCiAgICAgICNoZWFsdGgtcGlsbHMtbG9hZGluZy1zcGlubmVyIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgICAgfQoKICAgICAgI2hlYWx0aC1waWxsLXN0ZXAtbnVtYmVyLWlucHV0IHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsKICAgICAgfQoKICAgICAgI251bWVyaWMtYWxlcnRzLXRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KCiAgICAgICNudW1lcmljLWFsZXJ0cy10YWJsZSB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgfQoKICAgICAgI251bWVyaWMtYWxlcnRzLXRhYmxlIHRkIHsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgICB9CgogICAgICAjbnVtZXJpYy1hbGVydHMtdGFibGUgLmZpcnN0LW9mZmVuc2UtdGQgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgLmZpcnN0LW9mZmVuc2UtdGQgewogICAgICAgIHdpZHRoOiA4MHB4OwogICAgICB9CgogICAgICAudGVuc29yLWRldmljZS10ZCB7CiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDsKICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgIH0KCiAgICAgIC50ZW5zb3Itc2VjdGlvbi13aXRoaW4tdGFibGUgewogICAgICAgIGNvbG9yOiAjMjY2MjM2OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC50ZW5zb3Itc2VjdGlvbi13aXRoaW4tdGFibGU6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5kZXZpY2Utc2VjdGlvbi13aXRoaW4tdGFibGUgewogICAgICAgIGNvbG9yOiAjNjY2OwogICAgICB9CgogICAgICAubWluaS1oZWFsdGgtcGlsbCB7CiAgICAgICAgd2lkdGg6IDEzMHB4OwogICAgICB9CgogICAgICAubWluaS1oZWFsdGgtcGlsbCA+IGRpdiB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiA2MHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgI2V2ZW50LWNvdW50cy10aCB7CiAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDsKICAgICAgfQoKICAgICAgLm5lZ2F0aXZlLWluZi1taW5pLWhlYWx0aC1waWxsLXNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6IHJnYigyNTUsIDE0MSwgMCk7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5wb3NpdGl2ZS1pbmYtbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMCwgNjIsIDIxMik7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5uYW4tbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMjA0LCA0NywgNDQpOwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICB9CgogICAgICAubmVnYXRpdmUtaW5mLW1pbmktaGVhbHRoLXBpbGwtc2VjdGlvbiwKICAgICAgLnBvc2l0aXZlLWluZi1taW5pLWhlYWx0aC1waWxsLXNlY3Rpb24sCiAgICAgIC5uYW4tbWluaS1oZWFsdGgtcGlsbC1zZWN0aW9uIHsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5uby1udW1lcmljLWFsZXJ0cy1ub3RpZmljYXRpb24gewogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxwYXBlci1tYXRlcmlhbCBlbGV2YXRpb249IjEiIGNsYXNzPSJjYXJkIGhlYWx0aC1waWxsLWxlZ2VuZCI+CiAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj4KICAgICAgICBFbmFibGUgYWxsIChub3QganVzdCBzYW1wbGVkKSBzdGVwcy4gUmVxdWlyZXMgc2xvdyBkaXNrIHJlYWQuCiAgICAgIDwvZGl2PgogICAgICA8cGFwZXItdG9nZ2xlLWJ1dHRvbgogICAgICAgIGlkPSJlbmFibGVBbGxTdGVwc01vZGVUb2dnbGUiCiAgICAgICAgY2hlY2tlZD0ie3thbGxTdGVwc01vZGVFbmFibGVkfX0iCiAgICAgID4KICAgICAgPC9wYXBlci10b2dnbGUtYnV0dG9uPgogICAgICA8aDI+CiAgICAgICAgU3RlcCBvZiBIZWFsdGggUGlsbHM6CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2FsbFN0ZXBzTW9kZUVuYWJsZWRdXSI+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0ibnVtYmVyIgogICAgICAgICAgICBpZD0iaGVhbHRoLXBpbGwtc3RlcC1udW1iZXItaW5wdXQiCiAgICAgICAgICAgIG1pbj0iMCIKICAgICAgICAgICAgbWF4PSJbW19iaWdnZXN0U3RlcEV2ZXJTZWVuXV0iCiAgICAgICAgICAgIHZhbHVlPSJ7e3NwZWNpZmljSGVhbHRoUGlsbFN0ZXA6OmlucHV0fX0iCiAgICAgICAgICAvPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFhbGxTdGVwc01vZGVFbmFibGVkXV0iPgogICAgICAgICAgW1tfY3VycmVudFN0ZXBEaXNwbGF5VmFsdWVdXQogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHBhcGVyLXNwaW5uZXItbGl0ZQogICAgICAgICAgYWN0aXZlCiAgICAgICAgICBoaWRkZW4kPSJbWyFhcmVIZWFsdGhQaWxsc0xvYWRpbmddXSIKICAgICAgICAgIGlkPSJoZWFsdGgtcGlsbHMtbG9hZGluZy1zcGlubmVyIgogICAgICAgID48L3BhcGVyLXNwaW5uZXItbGl0ZT4KICAgICAgPC9oMj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2FsbFN0ZXBzTW9kZUVuYWJsZWRdXSI+CiAgICAgICAgPHBhcGVyLXNsaWRlcgogICAgICAgICAgaWQ9ImhlYWx0aC1waWxsLXN0ZXAtc2xpZGVyIgogICAgICAgICAgaW1tZWRpYXRlLXZhbHVlPSJ7e3NwZWNpZmljSGVhbHRoUGlsbFN0ZXB9fSIKICAgICAgICAgIG1heD0iW1tfYmlnZ2VzdFN0ZXBFdmVyU2Vlbl1dIgogICAgICAgICAgc25hcHMKICAgICAgICAgIHN0ZXA9IjEiCiAgICAgICAgICB2YWx1ZT0ie3tzcGVjaWZpY0hlYWx0aFBpbGxTdGVwfX0iCiAgICAgICAgPjwvcGFwZXItc2xpZGVyPgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIWFsbFN0ZXBzTW9kZUVuYWJsZWRdXSI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19tYXhTdGVwSW5kZXhdXSI+CiAgICAgICAgICA8cGFwZXItc2xpZGVyCiAgICAgICAgICAgIGlkPSJoZWFsdGgtcGlsbC1zdGVwLXNsaWRlciIKICAgICAgICAgICAgaW1tZWRpYXRlLXZhbHVlPSJ7e2hlYWx0aFBpbGxTdGVwSW5kZXh9fSIKICAgICAgICAgICAgbWF4PSJbW19tYXhTdGVwSW5kZXhdXSIKICAgICAgICAgICAgc25hcHMKICAgICAgICAgICAgc3RlcD0iMSIKICAgICAgICAgICAgdmFsdWU9Int7aGVhbHRoUGlsbFN0ZXBJbmRleH19IgogICAgICAgICAgPjwvcGFwZXItc2xpZGVyPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDxoMj4KICAgICAgICBIZWFsdGggUGlsbAogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1toZWFsdGhQaWxsVmFsdWVzRm9yU2VsZWN0ZWROb2RlXV0iPgogICAgICAgICAgQ291bnRzIGZvciBTZWxlY3RlZCBOb2RlCiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIWhlYWx0aFBpbGxWYWx1ZXNGb3JTZWxlY3RlZE5vZGVdXSI+CiAgICAgICAgICBMZWdlbmQKICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2gyPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW2hlYWx0aFBpbGxFbnRyaWVzXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWx0aC1waWxsLWVudHJ5Ij4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgY2xhc3M9ImNvbG9yLXByZXZpZXciCiAgICAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kOltbaXRlbS5iYWNrZ3JvdW5kX2NvbG9yXV0iCiAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sYWJlbCI+W1tpdGVtLmxhYmVsXV08L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRlbnNvci1jb3VudCI+CiAgICAgICAgICAgIFtbX2NvbXB1dGVUZW5zb3JDb3VudFN0cmluZyhoZWFsdGhQaWxsVmFsdWVzRm9yU2VsZWN0ZWROb2RlLAogICAgICAgICAgICBpbmRleCldXQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDxkaXYgaGlkZGVuJD0iW1shX2hhc0RlYnVnZ2VyTnVtZXJpY0FsZXJ0cyhkZWJ1Z2dlck51bWVyaWNBbGVydHMpXV0iPgogICAgICAgIDxoMiBpZD0ibnVtZXJpYy1hbGVydHMtaGVhZGVyIj5OdW1lcmljIEFsZXJ0czwvaDI+CiAgICAgICAgPHA+QWxlcnRzIGFyZSBzb3J0ZWQgZnJvbSB0b3AgdG8gYm90dG9tIGJ5IGluY3JlYXNpbmcgdGltZXN0YW1wLjwvcD4KICAgICAgICA8ZGl2IGlkPSJudW1lcmljLWFsZXJ0cy10YWJsZS1jb250YWluZXIiPgogICAgICAgICAgPHRhYmxlIGlkPSJudW1lcmljLWFsZXJ0cy10YWJsZSI+CiAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGg+Rmlyc3QgT2ZmZW5zZTwvdGg+CiAgICAgICAgICAgICAgICA8dGg+VGVuc29yIChEZXZpY2UpPC90aD4KICAgICAgICAgICAgICAgIDx0aCBpZD0iZXZlbnQtY291bnRzLXRoIj5FdmVudCBDb3VudHM8L3RoPgogICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgIDx0Ym9keSBpZD0ibnVtZXJpYy1hbGVydHMtYm9keSI+PC90Ym9keT4KICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8dGVtcGxhdGUKICAgICAgICBpcz0iZG9tLWlmIgogICAgICAgIGlmPSJbWyFfaGFzRGVidWdnZXJOdW1lcmljQWxlcnRzKGRlYnVnZ2VyTnVtZXJpY0FsZXJ0cyldXSIKICAgICAgPgogICAgICAgIDxwIGNsYXNzPSJuby1udW1lcmljLWFsZXJ0cy1ub3RpZmljYXRpb24iPgogICAgICAgICAgTm8gbnVtZXJpYyBhbGVydHMgc28gZmFyLiBUaGF0IGlzIGxpa2VseSBnb29kLiBBbGVydHMgaW5kaWNhdGUgdGhlCiAgICAgICAgICBwcmVzZW5jZSBvZiBOYU4gb3IgKCsvLSkgSW5maW5pdHkgdmFsdWVzLCB3aGljaCBtYXkgYmUgY29uY2VybmluZy4KICAgICAgICA8L3A+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L3BhcGVyLW1hdGVyaWFsPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsQUt0KV0sR1p0LnByb3RvdHlwZSwicmVuZGVySGllcmFyY2h5Iix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXksbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEdadC5wcm90b3R5cGUsImRlYnVnZ2VyTnVtZXJpY0FsZXJ0cyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxHWnQucHJvdG90eXBlLCJub2RlTmFtZXNUb0hlYWx0aFBpbGxzIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxHWnQucHJvdG90eXBlLCJoZWFsdGhQaWxsU3RlcEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxHWnQucHJvdG90eXBlLCJzcGVjaWZpY0hlYWx0aFBpbGxTdGVwIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxHWnQucHJvdG90eXBlLCJzZWxlY3RlZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEdadC5wcm90b3R5cGUsImhpZ2hsaWdodGVkTm9kZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcixub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sR1p0LnByb3RvdHlwZSwic2VsZWN0ZWROb2RlSW5jbHVkZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sR1p0LnByb3RvdHlwZSwiYXJlSGVhbHRoUGlsbHNMb2FkaW5nIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxHWnQucHJvdG90eXBlLCJoZWFsdGhQaWxsRW50cmllcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEdadC5wcm90b3R5cGUsImFsbFN0ZXBzTW9kZUVuYWJsZWQiLHZvaWQgMCksdChbcygibm9kZU5hbWVzVG9IZWFsdGhQaWxscyIsImhlYWx0aFBpbGxTdGVwSW5kZXgiLCJzZWxlY3RlZE5vZGUiLCJhbGxTdGVwc01vZGVFbmFibGVkIiwiYXJlSGVhbHRoUGlsbHNMb2FkaW5nIiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxHWnQucHJvdG90eXBlLCJoZWFsdGhQaWxsVmFsdWVzRm9yU2VsZWN0ZWROb2RlIixudWxsKSx0KFtzKCJub2RlTmFtZXNUb0hlYWx0aFBpbGxzIiwiaGVhbHRoUGlsbFN0ZXBJbmRleCIsImFsbFN0ZXBzTW9kZUVuYWJsZWQiLCJzcGVjaWZpY0hlYWx0aFBpbGxTdGVwIiwiYXJlSGVhbHRoUGlsbHNMb2FkaW5nIiksZSgiZGVzaWduOnR5cGUiLE9iamVjdCksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sR1p0LnByb3RvdHlwZSwiX2N1cnJlbnRTdGVwRGlzcGxheVZhbHVlIixudWxsKSx0KFtzKCJub2RlTmFtZXNUb0hlYWx0aFBpbGxzIiksZSgiZGVzaWduOnR5cGUiLE51bWJlciksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sR1p0LnByb3RvdHlwZSwiX2JpZ2dlc3RTdGVwRXZlclNlZW4iLG51bGwpLHQoW3MoIm5vZGVOYW1lc1RvSGVhbHRoUGlsbHMiKSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxHWnQucHJvdG90eXBlLCJfbWF4U3RlcEluZGV4IixudWxsKSx0KFthKCJkZWJ1Z2dlck51bWVyaWNBbGVydHMiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLEdadC5wcm90b3R5cGUsIl91cGRhdGVBbGVydHNMaXN0IixudWxsKSxHWnQ9dChbaSgidGYtZ3JhcGgtZGVidWdnZXItZGF0YS1jYXJkIildLEdadCksKGZ1bmN0aW9uKHQpe3QuQ09OU1Q9IkNPTlNUIix0Lk1FVEE9Ik1FVEEiLHQuT1A9Ik9QIix0LlNFUklFUz0iU0VSSUVTIix0LlNVTU1BUlk9IlNVTU1BUlkifSkoV1p0fHwoV1p0PXt9KSk7bGV0IHFadD1jbGFzcyBleHRlbmRzKGNyKGdsKHdlKSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnZlcnRpY2FsPSExLHRoaXMuZmlsbE92ZXJyaWRlPW51bGwsdGhpcy5zdHJva2VPdmVycmlkZT1udWxsLHRoaXMuaGVpZ2h0PTIwLHRoaXMuZmFkZWQ9ITF9Z2V0U3ZnRGVmaW5hYmxlRWxlbWVudCgpe3JldHVybiB0aGlzLiQuc3ZnRGVmc31nZXQgX2ZpbGwoKXt2YXIgdD10aGlzLmZpbGxPdmVycmlkZTtpZihudWxsIT10KXJldHVybiB0O3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UgV1p0Lk1FVEE6cmV0dXJuIGdLdC5ERUZBVUxUX0ZJTEw7Y2FzZSBXWnQuU0VSSUVTOnJldHVybiBfS3Q7ZGVmYXVsdDpyZXR1cm4gZEt0fX1nZXQgX3N0cm9rZSgpe3ZhciB0PXRoaXMuc3Ryb2tlT3ZlcnJpZGU7aWYobnVsbCE9dClyZXR1cm4gdDtzd2l0Y2godGhpcy50eXBlKXtjYXNlIFdadC5NRVRBOnJldHVybiBnS3QuREVGQVVMVF9TVFJPS0U7Y2FzZSBXWnQuU0VSSUVTOnJldHVybiB5S3Q7ZGVmYXVsdDpyZXR1cm4gcEt0fX1faXNUeXBlKHQsZSl7cmV0dXJuIHQ9PT1lfV9mYWRlZENsYXNzKHQsZSl7cmV0dXJuIHQ/ImZhZGVkLSIrZToiIn19O3FadC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGZvbnQtc2l6ZTogMDsKICAgICAgfQoKICAgICAgOmhvc3QoLmRhcmstbW9kZSkgc3ZnIHsKICAgICAgICBmaWx0ZXI6IGludmVydCgxKTsKICAgICAgfQoKICAgICAgLmZhZGVkLXJlY3QgewogICAgICAgIGZpbGw6IHVybCgjcmVjdEhhdGNoKTsKICAgICAgfQoKICAgICAgLmZhZGVkLWVsbGlwc2UgewogICAgICAgIGZpbGw6IHVybCgjZWxsaXBzZUhhdGNoKTsKICAgICAgfQoKICAgICAgLmZhZGVkLXJlY3QsCiAgICAgIC5mYWRlZC1lbGxpcHNlLAogICAgICAuZmFkZWQtc2VyaWVzIHsKICAgICAgICBzdHJva2U6IHZhcigtLXRiLWdyYXBoLWZhZGVkKSAhaW1wb3J0YW50OwogICAgICB9CiAgICAgICNyZWN0SGF0Y2ggbGluZSwKICAgICAgI2VsbGlwc2VIYXRjaCBsaW5lIHsKICAgICAgICBjb2xvcjogI2UwZDRiMyAhaW1wb3J0YW50OwogICAgICAgIGZpbGw6IHdoaXRlOwogICAgICAgIHN0cm9rZTogI2UwZDRiMyAhaW1wb3J0YW50OwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPCEtLSBTVkcgZm9yIGRlZmluaXRpb25zIC0tPgogICAgPHN2ZyBoZWlnaHQ9IjAiIHdpZHRoPSIwIiBpZD0ic3ZnRGVmcyI+CiAgICAgIDxkZWZzPgogICAgICAgIDwhLS0gSGF0Y2ggcGF0dGVybnMgZm9yIGZhZGVkIG91dCBub2Rlcy4gLS0+CiAgICAgICAgPHBhdHRlcm4KICAgICAgICAgIGlkPSJyZWN0SGF0Y2giCiAgICAgICAgICBwYXR0ZXJuVHJhbnNmb3JtPSJyb3RhdGUoNDUgMCAwKSIKICAgICAgICAgIHdpZHRoPSI1IgogICAgICAgICAgaGVpZ2h0PSI1IgogICAgICAgICAgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgICA+CiAgICAgICAgICA8bGluZSB4MT0iMCIgeTE9IjAiIHgyPSIwIiB5Mj0iNSIgc3R5bGU9InN0cm9rZS13aWR0aDogMSI+PC9saW5lPgogICAgICAgIDwvcGF0dGVybj4KICAgICAgICA8cGF0dGVybgogICAgICAgICAgaWQ9ImVsbGlwc2VIYXRjaCIKICAgICAgICAgIHBhdHRlcm5UcmFuc2Zvcm09InJvdGF0ZSg0NSAwIDApIgogICAgICAgICAgd2lkdGg9IjIiCiAgICAgICAgICBoZWlnaHQ9IjIiCiAgICAgICAgICBwYXR0ZXJuVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgID4KICAgICAgICAgIDxsaW5lIHgxPSIwIiB5MT0iMCIgeDI9IjAiIHkyPSIyIiBzdHlsZT0ic3Ryb2tlLXdpZHRoOiAxIj48L2xpbmU+CiAgICAgICAgPC9wYXR0ZXJuPgogICAgICAgIDwhLS0gVGVtcGxhdGUgZm9yIGFuIE9wIG5vZGUgZWxsaXBzZS4gLS0+CiAgICAgICAgPGVsbGlwc2UKICAgICAgICAgIGlkPSJvcC1ub2RlLXN0YW1wIgogICAgICAgICAgcng9IjcuNSIKICAgICAgICAgIHJ5PSIzIgogICAgICAgICAgc3Ryb2tlPSJpbmhlcml0IgogICAgICAgICAgZmlsbD0iaW5oZXJpdCIKICAgICAgICA+PC9lbGxpcHNlPgogICAgICAgIDwhLS0gVGVtcGxhdGUgZm9yIGFuIE9wIG5vZGUgYW5ub3RhdGlvbiBlbGxpcHNlIChzbWFsbGVyKS4gLS0+CiAgICAgICAgPGVsbGlwc2UKICAgICAgICAgIGlkPSJvcC1ub2RlLWFubm90YXRpb24tc3RhbXAiCiAgICAgICAgICByeD0iNSIKICAgICAgICAgIHJ5PSIyIgogICAgICAgICAgc3Ryb2tlPSJpbmhlcml0IgogICAgICAgICAgZmlsbD0iaW5oZXJpdCIKICAgICAgICA+PC9lbGxpcHNlPgogICAgICAgIDwhLS0gVmVydGljYWxseSBzdGFja2VkIHNlcmllcyBvZiBPcCBub2RlcyB3aGVuIHVuZXhwYW5kZWQuIC0tPgogICAgICAgIDxnIGlkPSJvcC1zZXJpZXMtdmVydGljYWwtc3RhbXAiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iOCIgeT0iOSI+PC91c2U+CiAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIiB4PSI4IiB5PSI2Ij48L3VzZT4KICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI29wLW5vZGUtc3RhbXAiIHg9IjgiIHk9IjMiPjwvdXNlPgogICAgICAgIDwvZz4KICAgICAgICA8ZyBpZD0ib3Atc2VyaWVzLWhvcml6b250YWwtc3RhbXAiPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iMTYiIHk9IjQiPjwvdXNlPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iMTIiIHk9IjQiPjwvdXNlPgogICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjb3Atbm9kZS1zdGFtcCIgeD0iOCIgeT0iNCI+PC91c2U+CiAgICAgICAgPC9nPgogICAgICAgIDxnCiAgICAgICAgICBpZD0ic3VtbWFyeS1pY29uIgogICAgICAgICAgZmlsbD0iIzg0ODQ4NCIKICAgICAgICAgIGhlaWdodD0iMTIiCiAgICAgICAgICB2aWV3Qm94PSIwIDAgMjQgMjQiCiAgICAgICAgICB3aWR0aD0iMTIiCiAgICAgICAgPgogICAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE5IDNINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yek05IDE3SDd2LTdoMnY3em00IDBoLTJWN2gydjEwem00IDBoLTJ2LTRoMnY0eiIKICAgICAgICAgID48L3BhdGg+CiAgICAgICAgPC9nPgogICAgICA8L2RlZnM+CiAgICA8L3N2Zz4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNUeXBlKHR5cGUsICdDT05TVCcpXV0iPgogICAgICA8c3ZnCiAgICAgICAgaGVpZ2h0JD0iW1toZWlnaHRdXSIKICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pZCBtZWV0IgogICAgICAgIHZpZXdCb3g9IjAgMCAxMCAxMCIKICAgICAgPgogICAgICAgIDxjaXJjbGUKICAgICAgICAgIGN4PSI1IgogICAgICAgICAgY3k9IjUiCiAgICAgICAgICByPSIzIgogICAgICAgICAgZmlsbCQ9IltbX2ZpbGxdXSIKICAgICAgICAgIHN0cm9rZSQ9IltbX3N0cm9rZV1dIgogICAgICAgID48L2NpcmNsZT4KICAgICAgPC9zdmc+CiAgICA8L3RlbXBsYXRlPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1R5cGUodHlwZSwgJ1NVTU1BUlknKV1dIj4KICAgICAgPHN2ZwogICAgICAgIHdpZHRoJD0iW1toZWlnaHRdXSIKICAgICAgICBoZWlnaHQkPSJbW2hlaWdodF1dIgogICAgICAgIHZpZXdCb3g9IjAgMCAyNCAyNCIKICAgICAgICBmaWxsPSIjODQ4NDg0IgogICAgICA+CiAgICAgICAgPHBhdGgKICAgICAgICAgIGQ9Ik0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnpNOSAxN0g3di03aDJ2N3ptNCAwaC0yVjdoMnYxMHptNCAwaC0ydi00aDJ2NHoiCiAgICAgICAgPjwvcGF0aD4KICAgICAgPC9zdmc+CiAgICA8L3RlbXBsYXRlPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc1R5cGUodHlwZSwgJ09QJyldXSI+CiAgICAgIDxzdmcKICAgICAgICBoZWlnaHQkPSJbW2hlaWdodF1dIgogICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWlkIG1lZXQiCiAgICAgICAgdmlld0JveD0iMCAwIDE2IDgiCiAgICAgID4KICAgICAgICA8dXNlCiAgICAgICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgIHhsaW5rOmhyZWY9IiNvcC1ub2RlLXN0YW1wIgogICAgICAgICAgZmlsbCQ9IltbX2ZpbGxdXSIKICAgICAgICAgIHN0cm9rZSQ9IltbX3N0cm9rZV1dIgogICAgICAgICAgY2xhc3MkPSJ7e19mYWRlZENsYXNzKGZhZGVkLCAnZWxsaXBzZScpfX0iCiAgICAgICAgICB4PSI4IgogICAgICAgICAgeT0iNCIKICAgICAgICA+PC91c2U+CiAgICAgIDwvc3ZnPgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNUeXBlKHR5cGUsICdNRVRBJyldXSI+CiAgICAgIDxzdmcKICAgICAgICBoZWlnaHQkPSJbW2hlaWdodF1dIgogICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWlkIG1lZXQiCiAgICAgICAgdmlld0JveD0iMCAwIDM3IDE2IgogICAgICA+CiAgICAgICAgPHJlY3QKICAgICAgICAgIHg9IjEiCiAgICAgICAgICB5PSIxIgogICAgICAgICAgZmlsbCQ9IltbX2ZpbGxdXSIKICAgICAgICAgIHN0cm9rZSQ9IltbX3N0cm9rZV1dIgogICAgICAgICAgY2xhc3MkPSJ7e19mYWRlZENsYXNzKGZhZGVkLCAncmVjdCcpfX0iCiAgICAgICAgICBzdHJva2Utd2lkdGg9IjJweCIKICAgICAgICAgIGhlaWdodD0iMTQiCiAgICAgICAgICB3aWR0aD0iMzUiCiAgICAgICAgICByeD0iNSIKICAgICAgICAgIHJ5PSI1IgogICAgICAgID48L3JlY3Q+CiAgICAgIDwvc3ZnPgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaXNUeXBlKHR5cGUsICdTRVJJRVMnKV1dIj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3ZlcnRpY2FsXV0iPgogICAgICAgIDxzdmcKICAgICAgICAgIGhlaWdodCQ9IltbaGVpZ2h0XV0iCiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pZCBtZWV0IgogICAgICAgICAgdmlld0JveD0iMCAwIDE2IDE1IgogICAgICAgID4KICAgICAgICAgIDx1c2UKICAgICAgICAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgICAgICAgICAgIHhsaW5rOmhyZWY9IiNvcC1zZXJpZXMtdmVydGljYWwtc3RhbXAiCiAgICAgICAgICAgIGZpbGwkPSJbW19maWxsXV0iCiAgICAgICAgICAgIHN0cm9rZSQ9IltbX3N0cm9rZV1dIgogICAgICAgICAgICBjbGFzcyQ9Int7X2ZhZGVkQ2xhc3MoZmFkZWQsICdzZXJpZXMnKX19IgogICAgICAgICAgICB4PSIwIgogICAgICAgICAgICB5PSIyIgogICAgICAgICAgPjwvdXNlPgogICAgICAgIDwvc3ZnPgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIXZlcnRpY2FsXV0iPgogICAgICAgIDxzdmcKICAgICAgICAgIGhlaWdodCQ9IltbaGVpZ2h0XV0iCiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pZCBtZWV0IgogICAgICAgICAgdmlld0JveD0iMCAwIDI0IDEwIgogICAgICAgID4KICAgICAgICAgIDx1c2UKICAgICAgICAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgICAgICAgICAgIHhsaW5rOmhyZWY9IiNvcC1zZXJpZXMtaG9yaXpvbnRhbC1zdGFtcCIKICAgICAgICAgICAgZmlsbCQ9IltbX2ZpbGxdXSIKICAgICAgICAgICAgc3Ryb2tlJD0iW1tfc3Ryb2tlXV0iCiAgICAgICAgICAgIGNsYXNzJD0ie3tfZmFkZWRDbGFzcyhmYWRlZCwgJ3NlcmllcycpfX0iCiAgICAgICAgICAgIHg9IjAiCiAgICAgICAgICAgIHk9IjEiCiAgICAgICAgICA+PC91c2U+CiAgICAgICAgPC9zdmc+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L3RlbXBsYXRlPgogIGAsdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0scVp0LnByb3RvdHlwZSwidHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHFadC5wcm90b3R5cGUsInZlcnRpY2FsIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHFadC5wcm90b3R5cGUsImZpbGxPdmVycmlkZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxxWnQucHJvdG90eXBlLCJzdHJva2VPdmVycmlkZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxxWnQucHJvdG90eXBlLCJoZWlnaHQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxxWnQucHJvdG90eXBlLCJmYWRlZCIsdm9pZCAwKSx0KFtzKCJ0eXBlIiwiZmlsbE92ZXJyaWRlIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0scVp0LnByb3RvdHlwZSwiX2ZpbGwiLG51bGwpLHQoW3MoInR5cGUiLCJzdHJva2VPdmVycmlkZSIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLHFadC5wcm90b3R5cGUsIl9zdHJva2UiLG51bGwpLHFadD10KFtpKCJ0Zi1ncmFwaC1pY29uIildLHFadCk7dmFyIFladD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxnZXQgR3JhcGhJY29uVHlwZSgpe3JldHVybiBXWnR9fSk7bGV0IFhadD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMubm9kZT1udWxsLHRoaXMucmVuZGVySW5mbz1udWxsLHRoaXMuY29sb3JCeT1yWnQuU1RSVUNUVVJFLHRoaXMudGVtcGxhdGVJbmRleD1udWxsLHRoaXMudHlwZT1udWxsLHRoaXMudmVydGljYWw9ITEsdGhpcy5jb25zdD0hMSx0aGlzLnN1bW1hcnk9ITEsdGhpcy5maWxsPW51bGwsdGhpcy5oZWlnaHQ9MjB9X2NvbXB1dGVGaWxsT3ZlcnJpZGUodCxlLG4saSxyKXtyZXR1cm4gdCYmZSYmaT9rWnQoaSxuLGUsITEpOnJ9X2dldFN0cm9rZU92ZXJyaWRlKHQpe3JldHVybiB0P1BadCh0KTpudWxsfV9nZXRUeXBlKHQsZSxuLGkpe2NvbnN0e0dyYXBoSWNvblR5cGU6cn09WVp0O2lmKHQpc3dpdGNoKHQudHlwZSl7Y2FzZSBBJHQuT1A6e2NvbnN0IGk9dC5vcDtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGk/ci5PUDoiQ29uc3QiPT09aXx8bj9yLkNPTlNUOmkuZW5kc1dpdGgoIlN1bW1hcnkiKXx8ZT9yLlNVTU1BUlk6ci5PUH1jYXNlIEEkdC5NRVRBOnJldHVybiByLk1FVEE7Y2FzZSBBJHQuU0VSSUVTOnJldHVybiByLlNFUklFU31yZXR1cm4gaX1faXNWZXJ0aWNhbCh0LGUpe3JldHVybiB0P3QuaGFzTm9uQ29udHJvbEVkZ2VzOiEhZX1fZ2V0RmFkZWQodCl7cmV0dXJuIHQmJnQuaXNGYWRlZE91dH1fb25GaWxsT3ZlcnJpZGVDaGFuZ2VkKHQsZSl7Y29uc3R7bm9kZTpuLHJlbmRlckluZm86aSxjb2xvckJ5OnIsdGVtcGxhdGVJbmRleDpvfT10aGlzO3QhPT1lJiZBWnQodGhpcy4kLmljb24uZ2V0U3ZnRGVmaW5hYmxlRWxlbWVudCgpKSxuJiZpJiZvJiZrWnQobyxyLGksITEsdGhpcy4kLmljb24uZ2V0U3ZnRGVmaW5hYmxlRWxlbWVudCgpKX19O1hadC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgdGYtZ3JhcGgtaWNvbiB7CiAgICAgICAgLS10Yi1ncmFwaC1mYWRlZDogdmFyKC0tdGItZ3JhcGgtZmFkZWQpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPHRmLWdyYXBoLWljb24KICAgICAgaWQ9Imljb24iCiAgICAgIHR5cGU9IltbX2dldFR5cGUobm9kZSwgc3VtbWFyeSwgY29uc3QsIHR5cGUpXV0iCiAgICAgIGhlaWdodD0iW1toZWlnaHRdXSIKICAgICAgZmlsbC1vdmVycmlkZT0iW1tfZmlsbE92ZXJyaWRlXV0iCiAgICAgIHN0cm9rZS1vdmVycmlkZT0iW1tfZ2V0U3Ryb2tlT3ZlcnJpZGUoX2ZpbGxPdmVycmlkZSldXSIKICAgICAgZmFkZWQ9IltbX2dldEZhZGVkKHJlbmRlckluZm8pXV0iCiAgICAgIHZlcnRpY2FsPSJbW19pc1ZlcnRpY2FsKG5vZGUsIHZlcnRpY2FsKV1dIgogICAgPjwvdGYtZ3JhcGgtaWNvbj4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFhadC5wcm90b3R5cGUsIm5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWFp0LnByb3RvdHlwZSwicmVuZGVySW5mbyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxYWnQucHJvdG90eXBlLCJjb2xvckJ5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKV0sWFp0LnByb3RvdHlwZSwidGVtcGxhdGVJbmRleCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxYWnQucHJvdG90eXBlLCJ0eXBlIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sWFp0LnByb3RvdHlwZSwidmVydGljYWwiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxYWnQucHJvdG90eXBlLCJjb25zdCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFhadC5wcm90b3R5cGUsInN1bW1hcnkiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sWFp0LnByb3RvdHlwZSwiZmlsbCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxYWnQucHJvdG90eXBlLCJoZWlnaHQiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsY29tcHV0ZWQ6Il9jb21wdXRlRmlsbE92ZXJyaWRlKG5vZGUsIHJlbmRlckluZm8sIGNvbG9yQnksIHRlbXBsYXRlSW5kZXgsIGZpbGwpIixvYnNlcnZlcjoiX29uRmlsbE92ZXJyaWRlQ2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sWFp0LnByb3RvdHlwZSwiX2ZpbGxPdmVycmlkZSIsdm9pZCAwKSxYWnQ9dChbaSgidGYtbm9kZS1pY29uIildLFhadCk7bGV0ICRadD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7X2l0ZW1UeXBlQ2hhbmdlZCgpeyJzdWJub2RlIiE9PXRoaXMuaXRlbVR5cGU/dGhpcy4kWyJsaXN0LWl0ZW0iXS5jbGFzc0xpc3QuYWRkKCJjbGlja2FibGUiKTp0aGlzLiRbImxpc3QtaXRlbSJdLmNsYXNzTGlzdC5yZW1vdmUoImNsaWNrYWJsZSIpfV9ub2RlTGlzdGVuZXIodCl7dGhpcy5maXJlKCJub2RlLWxpc3QtaXRlbS0iK3QudHlwZSx7bm9kZU5hbWU6dGhpcy5uYW1lLHR5cGU6dGhpcy5pdGVtVHlwZX0pfV9mYWRlZENsYXNzKHQpe3JldHVybiB0JiZ0LmlzRmFkZWRPdXQ/ImZhZGVkIjoiIn19OyRadC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgI2xpc3QtaXRlbSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKTsKICAgICAgICBmb250LXNpemU6IDExcHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAjbGlzdC1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb29nbGUteWVsbG93LTEwMCk7CiAgICAgIH0KCiAgICAgIC5jbGlja2FibGUgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbSBzcGFuIHsKICAgICAgICBtYXJnaW4tbGVmdDogNDBweDsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbS5leGNsdWRlZCBzcGFuIHsKICAgICAgICBjb2xvcjogIzk5OTsKICAgICAgfQoKICAgICAgI2xpc3QtaXRlbSBzcGFuLmVkZ2UtbGFiZWwgewogICAgICAgIGZsb2F0OiByaWdodDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsKICAgICAgfQoKICAgICAgLm5vZGUtaWNvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMXB4OwogICAgICAgIGxlZnQ6IDJweDsKICAgICAgfQoKICAgICAgLmZhZGVkIHNwYW4gewogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1ncmFwaC1mYWRlZCk7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdgogICAgICBpZD0ibGlzdC1pdGVtIgogICAgICBvbi1tb3VzZW92ZXI9Il9ub2RlTGlzdGVuZXIiCiAgICAgIG9uLW1vdXNlb3V0PSJfbm9kZUxpc3RlbmVyIgogICAgICBvbi1jbGljaz0iX25vZGVMaXN0ZW5lciIKICAgID4KICAgICAgPGRpdiBjbGFzcyQ9Int7X2ZhZGVkQ2xhc3MoaXRlbVJlbmRlckluZm8pfX0iPgogICAgICAgIDx0Zi1ub2RlLWljb24KICAgICAgICAgIGNsYXNzPSJub2RlLWljb24iCiAgICAgICAgICBoZWlnaHQ9IjEyIgogICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgY29sb3ItYnktcGFyYW1zPSJbW2NvbG9yQnlQYXJhbXNdXSIKICAgICAgICAgIG5vZGU9IltbaXRlbU5vZGVdXSIKICAgICAgICAgIHJlbmRlci1pbmZvPSJbW2l0ZW1SZW5kZXJJbmZvXV0iCiAgICAgICAgICB0ZW1wbGF0ZS1pbmRleD0iW1t0ZW1wbGF0ZUluZGV4XV0iCiAgICAgICAgPgogICAgICAgIDwvdGYtbm9kZS1pY29uPgogICAgICAgIDxzcGFuIHRpdGxlJD0iW1tuYW1lXV0iPltbbmFtZV1dPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sJFp0LnByb3RvdHlwZSwiY2FyZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sJFp0LnByb3RvdHlwZSwiaXRlbU5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sJFp0LnByb3RvdHlwZSwiZWRnZUxhYmVsIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLCRadC5wcm90b3R5cGUsIml0ZW1SZW5kZXJJbmZvIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLCRadC5wcm90b3R5cGUsIm5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsb2JzZXJ2ZXI6Il9pdGVtVHlwZUNoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLCRadC5wcm90b3R5cGUsIml0ZW1UeXBlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLCRadC5wcm90b3R5cGUsImNvbG9yQnkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sJFp0LnByb3RvdHlwZSwiY29sb3JCeVBhcmFtcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLCRadC5wcm90b3R5cGUsInRlbXBsYXRlSW5kZXgiLHZvaWQgMCksJFp0PXQoW2koInRmLWdyYXBoLW9wLWNvbXBhdC1saXN0LWl0ZW0iKV0sJFp0KTtsZXQgS1p0PWNsYXNzIGV4dGVuZHMoY3IoZ2wod2UpKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2V4cGFuZGVkPSEwLHRoaXMuX29wQ29tcGF0Q29sb3I9Zkt0LHRoaXMuX29wSW5jb21wYXRDb2xvcj1tS3QsdGhpcy5fdGVtcGxhdGVJbmRleD1udWxsfV9nZXROb2RlKHQsZSl7cmV0dXJuIGUubm9kZSh0KX1fZ2V0UmVuZGVySW5mbyh0LGUpe3JldHVybiB0aGlzLnJlbmRlckhpZXJhcmNoeS5nZXRPckNyZWF0ZVJlbmRlck5vZGVCeU5hbWUodCl9X3RvZ2dsZUV4cGFuZGVkKCl7dGhpcy5fZXhwYW5kZWQ9IXRoaXMuX2V4cGFuZGVkfV9nZXRUb2dnbGVJY29uKHQpe3JldHVybiB0PyJleHBhbmQtbGVzcyI6ImV4cGFuZC1tb3JlIn1fcmVzaXplTGlzdCh0KXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpO2UmJmUuZmlyZSgiaXJvbi1yZXNpemUiKX1nZXQgX2luY29tcGF0aWJsZU9wTm9kZXMoKXtjb25zdCB0PXRoaXMuZ3JhcGhIaWVyYXJjaHk7cmV0dXJuIHQmJnQucm9vdD8odGhpcy5hc3luYyh0aGlzLl9yZXNpemVMaXN0LmJpbmQodGhpcywiI2luY29tcGF0aWJsZU9wc0xpc3QiKSksKGZ1bmN0aW9uIGUodCl7Y29uc3QgZT1bXSxuPXt9O3JldHVybiBDZS5leHBvcnRzLmVhY2godC5yb290LmxlYXZlcygpLChpPT57bGV0IHI9dC5ub2RlKGkpO2lmKHIudHlwZT09QSR0Lk9QKXtsZXQgaT1yO2lmKCFpLmNvbXBhdGlibGUpaWYoaS5vd25pbmdTZXJpZXMpe2lmKHQuZ2V0U2VyaWVzR3JvdXBUeXBlKGkub3duaW5nU2VyaWVzKT09PUwkdC5VTkdST1VQKWUucHVzaChpKTtlbHNlIGlmKCFuW2kub3duaW5nU2VyaWVzXSl7bGV0IHI9dC5ub2RlKGkub3duaW5nU2VyaWVzKTtyJiYobltpLm93bmluZ1Nlcmllc109cixlLnB1c2gocikpfX1lbHNlIGUucHVzaChpKTtDZS5leHBvcnRzLmVhY2goaS5pbkVtYmVkZGluZ3MsKHQ9Pnt0LmNvbXBhdGlibGV8fGUucHVzaCh0KX0pKSxDZS5leHBvcnRzLmVhY2goaS5vdXRFbWJlZGRpbmdzLCh0PT57dC5jb21wYXRpYmxlfHxlLnB1c2godCl9KSl9fSkpLGV9KSh0KSk6W119Z2V0IF9vcENvbXBhdFNjb3JlKCl7dmFyIHQ9dGhpcy5ncmFwaEhpZXJhcmNoeTtpZih0JiZ0LnJvb3Qpe3ZhciBlPXQucm9vdCxuPWUuY29tcGF0aWJpbGl0eUhpc3RvZ3JhbS5jb21wYXRpYmxlLGk9ZS5jb21wYXRpYmlsaXR5SGlzdG9ncmFtLmluY29tcGF0aWJsZTtyZXR1cm4gMD09biYmMD09aT8wOk1hdGguZmxvb3IoMTAwKm4vKG4raSkpLzEwMH1yZXR1cm4gMH1nZXQgX29wQ29tcGF0U2NvcmVMYWJlbCgpe3ZhciB0PXRoaXMuX29wQ29tcGF0U2NvcmU7cmV0dXJuIER5KCIuMCUiKSh0KX1nZXQgX3RvdGFsSW5jb21wYXRPcHMoKXt2YXIgdD10aGlzLmdyYXBoSGllcmFyY2h5O3JldHVybiB0JiZ0LnJvb3Q/dC5yb290LmNvbXBhdGliaWxpdHlIaXN0b2dyYW0uaW5jb21wYXRpYmxlOjB9X2dyYXBoSGllcmFyY2h5Q2hhbmdlZCgpe3RoaXMuX3RlbXBsYXRlSW5kZXg9dGhpcy5ncmFwaEhpZXJhcmNoeS5nZXRUZW1wbGF0ZUluZGV4KCksdGhpcy5ncmFwaEhpZXJhcmNoeS5hZGRMaXN0ZW5lcihpS3QuVEVNUExBVEVTX1VQREFURUQsKCgpPT57dGhpcy5fdGVtcGxhdGVJbmRleD10aGlzLmdyYXBoSGllcmFyY2h5LmdldFRlbXBsYXRlSW5kZXgoKX0pKX19O0tadC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OwogICAgICB9CgogICAgICAuaW5jb21wYXRpYmxlLW9wcy1saXN0IHsKICAgICAgICBoZWlnaHQ6IDM1MHB4OwogICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIH0KCiAgICAgIGlyb24tbGlzdCB7CiAgICAgICAgZmxleDogMSAxIGF1dG87CiAgICAgIH0KCiAgICAgIHBhcGVyLWl0ZW0gewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3IpOwogICAgICB9CgogICAgICBwYXBlci1pdGVtLWJvZHlbdHdvLWxpbmVdIHsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDRweDsKICAgICAgfQoKICAgICAgLmV4cGFuZGVkSW5mbyB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDEycHQ7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5ub2RlLW5hbWUgewogICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIGZvbnQtc2l6ZTogMTRwdDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcik7CiAgICAgICAgZm9udC1zaXplOiAxMnB0OwogICAgICB9CgogICAgICAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAyMHB4OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC5ub24tY29udHJvbC1saXN0LWl0ZW0gewogICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsKICAgICAgfQoKICAgICAgZGl2Lm9wLWNvbXBhdC1kaXNwbGF5IHsKICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIFNhZGx5LCBiZWNhdXNlIHRoZSB3aG9sZSBib2R5IGlzIGludmVydGVkIGluIGNvbG9yLCBsZWdlbmRzIGFsc28gbmVlZAogICAgICAgKiB0byBiZSBpbnZlcnRlZC4KICAgICAgICoqLwogICAgICA6aG9zdCguZGFyay1tb2RlKSBkaXYub3AtY29tcGF0LWRpc3BsYXkgewogICAgICAgIGZpbHRlcjogaW52ZXJ0KDEpOwogICAgICB9CgogICAgICBzdmcub3AtY29tcGF0IHsKICAgICAgICB3aWR0aDogMjUwcHg7CiAgICAgICAgaGVpZ2h0OiAyNXB4OwogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgICB9CgogICAgICBkaXYub3AtY29tcGF0LXZhbHVlIHsKICAgICAgICBmbG9hdDogcmlnaHQ7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogYmxhY2s7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPHBhcGVyLWl0ZW0+CiAgICAgIDxwYXBlci1pdGVtLWJvZHkgdHdvLWxpbmU+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgICAgICBpY29uPSJ7e19nZXRUb2dnbGVJY29uKF9leHBhbmRlZCl9fSIKICAgICAgICAgICAgb24tY2xpY2s9Il90b2dnbGVFeHBhbmRlZCIKICAgICAgICAgICAgY2xhc3M9InRvZ2dsZS1idXR0b24iCiAgICAgICAgICA+CiAgICAgICAgICA8L3BhcGVyLWljb24tYnV0dG9uPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm9kZS1uYW1lIiBpZD0ibm9kZXRpdGxlIj5bW25vZGVUaXRsZV1dPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBzZWNvbmRhcnk+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wLWNvbXBhdC1kaXNwbGF5Ij4KICAgICAgICAgICAgICA8c3ZnCiAgICAgICAgICAgICAgICBjbGFzcz0ib3AtY29tcGF0IgogICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaWQgbWVldCIKICAgICAgICAgICAgICAgIHZpZXdCb3g9IjAgMCAyNTAgMjUiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZnM+CiAgICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ib3AtY29tcGF0LWZpbGwiPgogICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvciQ9IltbX29wQ29tcGF0Q29sb3JdXSI+PC9zdG9wPgogICAgICAgICAgICAgICAgICAgIDxzdG9wCiAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQkPSJbW19vcENvbXBhdFNjb3JlXV0iCiAgICAgICAgICAgICAgICAgICAgICBzdG9wLWNvbG9yJD0iW1tfb3BDb21wYXRDb2xvcl1dIgogICAgICAgICAgICAgICAgICAgID48L3N0b3A+CiAgICAgICAgICAgICAgICAgICAgPHN0b3AKICAgICAgICAgICAgICAgICAgICAgIG9mZnNldCQ9IltbX29wQ29tcGF0U2NvcmVdXSIKICAgICAgICAgICAgICAgICAgICAgIHN0b3AtY29sb3IkPSJbW19vcEluY29tcGF0Q29sb3JdXSIKICAgICAgICAgICAgICAgICAgICA+PC9zdG9wPgogICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvciQ9IltbX29wSW5jb21wYXRDb2xvciBdXSI+PC9zdG9wPgogICAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgICAgICAgICAgPC9kZWZzPgogICAgICAgICAgICAgICAgPHJlY3QKICAgICAgICAgICAgICAgICAgaGVpZ2h0PSIyNSIKICAgICAgICAgICAgICAgICAgd2lkdGg9IjI1MCIKICAgICAgICAgICAgICAgICAgcng9IjUiCiAgICAgICAgICAgICAgICAgIHJ5PSI1IgogICAgICAgICAgICAgICAgICBzdHlsZT0iZmlsbDogdXJsKCcjb3AtY29tcGF0LWZpbGwnKTsiCiAgICAgICAgICAgICAgICA+PC9yZWN0PgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wLWNvbXBhdC12YWx1ZSI+W1tfb3BDb21wYXRTY29yZUxhYmVsXV08L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9wYXBlci1pdGVtLWJvZHk+CiAgICA8L3BhcGVyLWl0ZW0+CgogICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJ7e19leHBhbmRlZH19Ij4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJ7e19leHBhbmRlZH19IiByZXN0YW1wPSJ0cnVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJleHBhbmRlZEluZm8iPgogICAgICAgICAgSW5jb21wYXRpYmxlIE9wZXJhdGlvbnM6ICg8c3Bhbj5bW190b3RhbEluY29tcGF0T3BzXV08L3NwYW4+KQogICAgICAgICAgPGlyb24tbGlzdAogICAgICAgICAgICBjbGFzcz0iaW5jb21wYXRpYmxlLW9wcy1saXN0IgogICAgICAgICAgICBpZD0iaW5jb21wYXRpYmxlT3BzTGlzdCIKICAgICAgICAgICAgaXRlbXM9IltbX2luY29tcGF0aWJsZU9wTm9kZXNdXSIKICAgICAgICAgID4KICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgIDx0Zi1ncmFwaC1vcC1jb21wYXQtbGlzdC1pdGVtCiAgICAgICAgICAgICAgICBjbGFzcz0ibm9uLWNvbnRyb2wtbGlzdC1pdGVtIgogICAgICAgICAgICAgICAgaXRlbS1ub2RlPSJbW2l0ZW1dXSIKICAgICAgICAgICAgICAgIGl0ZW0tcmVuZGVyLWluZm89IltbX2dldFJlbmRlckluZm8oaXRlbS5uYW1lLCByZW5kZXJIaWVyYXJjaHkpXV0iCiAgICAgICAgICAgICAgICBuYW1lPSJbW2l0ZW0ubmFtZV1dIgogICAgICAgICAgICAgICAgdGVtcGxhdGUtaW5kZXg9IltbX3RlbXBsYXRlSW5kZXhdXSIKICAgICAgICAgICAgICAgIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIKICAgICAgICAgICAgICAgIGl0ZW0tdHlwZT0iaW5jb21wYXRpYmxlLW9wcyIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPC90Zi1ncmFwaC1vcC1jb21wYXQtbGlzdC1pdGVtPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2lyb24tY29sbGFwc2U+CiAgYCx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixyS3QpXSxLWnQucHJvdG90eXBlLCJncmFwaEhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixBS3QpXSxLWnQucHJvdG90eXBlLCJyZW5kZXJIaWVyYXJjaHkiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sS1p0LnByb3RvdHlwZSwibm9kZVRpdGxlIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sS1p0LnByb3RvdHlwZSwiX2V4cGFuZGVkIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEtadC5wcm90b3R5cGUsIl9vcENvbXBhdENvbG9yIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEtadC5wcm90b3R5cGUsIl9vcEluY29tcGF0Q29sb3IiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSxLWnQucHJvdG90eXBlLCJfdGVtcGxhdGVJbmRleCIsdm9pZCAwKSx0KFtzKCJncmFwaEhpZXJhcmNoeSIpLGUoImRlc2lnbjp0eXBlIixBcnJheSksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sS1p0LnByb3RvdHlwZSwiX2luY29tcGF0aWJsZU9wTm9kZXMiLG51bGwpLHQoW3MoImdyYXBoSGllcmFyY2h5IiksZSgiZGVzaWduOnR5cGUiLE51bWJlciksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sS1p0LnByb3RvdHlwZSwiX29wQ29tcGF0U2NvcmUiLG51bGwpLHQoW3MoIl9vcENvbXBhdFNjb3JlIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sS1p0LnByb3RvdHlwZSwiX29wQ29tcGF0U2NvcmVMYWJlbCIsbnVsbCksdChbcygiZ3JhcGhIaWVyYXJjaHkiKSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxLWnQucHJvdG90eXBlLCJfdG90YWxJbmNvbXBhdE9wcyIsbnVsbCksdChbYSgiZ3JhcGhIaWVyYXJjaHkiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLEtadC5wcm90b3R5cGUsIl9ncmFwaEhpZXJhcmNoeUNoYW5nZWQiLG51bGwpLEtadD10KFtpKCJ0Zi1ncmFwaC1vcC1jb21wYXQtY2FyZCIpXSxLWnQpO2xldCBaWnQ9Y2xhc3MgZXh0ZW5kcyhjcihnbCh3ZSkpKXtfaXRlbVR5cGVDaGFuZ2VkKCl7InN1Ym5vZGUiIT09dGhpcy5pdGVtVHlwZT90aGlzLiRbImxpc3QtaXRlbSJdLmNsYXNzTGlzdC5hZGQoImNsaWNrYWJsZSIpOnRoaXMuJFsibGlzdC1pdGVtIl0uY2xhc3NMaXN0LnJlbW92ZSgiY2xpY2thYmxlIil9X25vZGVMaXN0ZW5lcih0KXt0aGlzLmZpcmUoIm5vZGUtbGlzdC1pdGVtLSIrdC50eXBlLHtjYXJkTm9kZTp0aGlzLmNhcmROb2RlLm5hbWUsbm9kZU5hbWU6dGhpcy5uYW1lLHR5cGU6dGhpcy5pdGVtVHlwZX0pfV9mYWRlZENsYXNzKHQpe3JldHVybiB0JiZ0LmlzRmFkZWRPdXQ/ImZhZGVkIjoiIn19O1padC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgI2xpc3QtaXRlbSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKTsKICAgICAgICBmb250LXNpemU6IDExcHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAjbGlzdC1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb29nbGUteWVsbG93LTEwMCk7CiAgICAgIH0KCiAgICAgIDpob3N0KC5kYXJrLW1vZGUpICNsaXN0LWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhcGVyLXllbGxvdy05MDApOwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICB9CgogICAgICAuY2xpY2thYmxlIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgICNsaXN0LWl0ZW0gc3BhbiB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7CiAgICAgIH0KCiAgICAgICNsaXN0LWl0ZW0uZXhjbHVkZWQgc3BhbiB7CiAgICAgICAgY29sb3I6ICM5OTk7CiAgICAgIH0KCiAgICAgICNsaXN0LWl0ZW0gc3Bhbi5lZGdlLWxhYmVsIHsKICAgICAgICBmbG9hdDogcmlnaHQ7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgICAgIH0KCiAgICAgIC5ub2RlLWljb24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDFweDsKICAgICAgICBsZWZ0OiAycHg7CiAgICAgIH0KCiAgICAgIC5mYWRlZCBzcGFuIHsKICAgICAgICBjb2xvcjogdmFyKC0tdGItZ3JhcGgtZmFkZWQpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGRpdgogICAgICBpZD0ibGlzdC1pdGVtIgogICAgICBvbi1tb3VzZW92ZXI9Il9ub2RlTGlzdGVuZXIiCiAgICAgIG9uLW1vdXNlb3V0PSJfbm9kZUxpc3RlbmVyIgogICAgICBvbi1jbGljaz0iX25vZGVMaXN0ZW5lciIKICAgID4KICAgICAgPGRpdiBjbGFzcyQ9Int7X2ZhZGVkQ2xhc3MoaXRlbVJlbmRlckluZm8pfX0iPgogICAgICAgIDx0Zi1ub2RlLWljb24KICAgICAgICAgIGNsYXNzPSJub2RlLWljb24iCiAgICAgICAgICBoZWlnaHQ9IjEyIgogICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgY29sb3ItYnktcGFyYW1zPSJbW2NvbG9yQnlQYXJhbXNdXSIKICAgICAgICAgIG5vZGU9IltbaXRlbU5vZGVdXSIKICAgICAgICAgIHJlbmRlci1pbmZvPSJbW2l0ZW1SZW5kZXJJbmZvXV0iCiAgICAgICAgICB0ZW1wbGF0ZS1pbmRleD0iW1t0ZW1wbGF0ZUluZGV4XV0iCiAgICAgICAgPjwvdGYtbm9kZS1pY29uPgogICAgICAgIDxzcGFuIHRpdGxlJD0iW1tuYW1lXV0iPltbbmFtZV1dPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJlZGdlLWxhYmVsIj5bW2VkZ2VMYWJlbF1dPC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWlp0LnByb3RvdHlwZSwiY2FyZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWlp0LnByb3RvdHlwZSwiaXRlbU5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sWlp0LnByb3RvdHlwZSwiZWRnZUxhYmVsIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFpadC5wcm90b3R5cGUsIml0ZW1SZW5kZXJJbmZvIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFpadC5wcm90b3R5cGUsIm5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsb2JzZXJ2ZXI6Il9pdGVtVHlwZUNoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFpadC5wcm90b3R5cGUsIml0ZW1UeXBlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFpadC5wcm90b3R5cGUsImNvbG9yQnkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWlp0LnByb3RvdHlwZSwiY29sb3JCeVBhcmFtcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxaWnQucHJvdG90eXBlLCJ0ZW1wbGF0ZUluZGV4Iix2b2lkIDApLFpadD10KFtpKCJ0Zi1ub2RlLWxpc3QtaXRlbSIpXSxaWnQpO2xldCBKWnQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9leHBhbmRlZD0hMCx0aGlzLl9vcGVuZWRDb250cm9sUHJlZD0hMSx0aGlzLl9vcGVuZWRDb250cm9sU3VjYz0hMSx0aGlzLl90ZW1wbGF0ZUluZGV4PW51bGx9ZXhwYW5kTm9kZSgpe3RoaXMuZmlyZSgiX25vZGUuZXhwYW5kIix0aGlzLm5vZGUpfV9nZXROb2RlKHQsZSl7cmV0dXJuIGUubm9kZSh0KX1fZ2V0Tm9kZVN0YXRzKHQsZSl7dmFyIG49dGhpcy5fZ2V0Tm9kZSh0LGUpO3JldHVybiBuP24uc3RhdHM6bnVsbH1fZ2V0VG90YWxNaWNyb3ModCl7cmV0dXJuIHQ/dC5nZXRUb3RhbE1pY3JvcygpOjB9Z2V0IF9oYXNEaXNwbGF5YWJsZU5vZGVTdGF0cygpe3JldHVybiBiJHQodGhpcy5fbm9kZVN0YXRzKX1nZXQgX25vZGVTdGF0c0Zvcm1hdHRlZEJ5dGVzKCl7dmFyIHQ9dGhpcy5fbm9kZVN0YXRzO2lmKHQmJnQudG90YWxCeXRlcylyZXR1cm4gdiR0KHQudG90YWxCeXRlcyxfJHQpfWdldCBfbm9kZVN0YXRzRm9ybWF0dGVkQ29tcHV0ZVRpbWUoKXt2YXIgdD10aGlzLl9ub2RlU3RhdHM7aWYodCYmdC5nZXRUb3RhbE1pY3JvcygpKXJldHVybiB2JHQodC5nZXRUb3RhbE1pY3JvcygpLHkkdCl9Z2V0IF9ub2RlU3RhdHNGb3JtYXR0ZWRPdXRwdXRTaXplcygpe3ZhciB0PXRoaXMuX25vZGVTdGF0cztpZih0JiZ0Lm91dHB1dFNpemUmJnQub3V0cHV0U2l6ZS5sZW5ndGgpcmV0dXJuIENlLmV4cG9ydHMubWFwKHQub3V0cHV0U2l6ZSwoZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10Lmxlbmd0aD8ic2NhbGFyIjoiWyIrdC5qb2luKCIsICIpKyJdIn0pKX1fZ2V0UmVuZGVySW5mbyh0LGUpe3JldHVybiB0aGlzLnJlbmRlckhpZXJhcmNoeS5nZXRPckNyZWF0ZVJlbmRlck5vZGVCeU5hbWUodCl9Z2V0IF9hdHRyaWJ1dGVzKCl7dmFyIHQ9dGhpcy5fbm9kZTtpZih0aGlzLmFzeW5jKHRoaXMuX3Jlc2l6ZUxpc3QuYmluZCh0aGlzLCIjYXR0cmlidXRlc0xpc3QiKSksIXR8fCF0LmF0dHIpcmV0dXJuW107dmFyIGU9W107cmV0dXJuIENlLmV4cG9ydHMuZWFjaCh0LmF0dHIsKGZ1bmN0aW9uKHQpeyJfdG9vX2xhcmdlX2F0dHJzIj09PXQua2V5P2U9ZS5jb25jYXQodC52YWx1ZS5saXN0LnMubWFwKChmdW5jdGlvbih0KXtyZXR1cm57a2V5OnQsdmFsdWU6IlRvbyBsYXJnZSB0byBzaG93Li4uIn19KSkpOmUucHVzaCh7a2V5OnQua2V5LHZhbHVlOkpTT04uc3RyaW5naWZ5KHQudmFsdWUpfSl9KSksZX1nZXQgX2RldmljZSgpe3ZhciB0PXRoaXMuX25vZGU7cmV0dXJuIHQ/dC5kZXZpY2U6bnVsbH1nZXQgX3N1Y2Nlc3NvcnMoKXt2YXIgdD10aGlzLl9ub2RlLGU9dGhpcy5ncmFwaEhpZXJhcmNoeTtyZXR1cm4gdGhpcy5fcmVmcmVzaE5vZGVJdGVtTGlzdCgiaW5wdXRzTGlzdCIpLHQ/dGhpcy5fY29udmVydEVkZ2VMaXN0VG9FZGdlSW5mb0xpc3QoZS5nZXRTdWNjZXNzb3JzKHQubmFtZSksITEsdC5pc0dyb3VwTm9kZSk6e3JlZ3VsYXI6W10sY29udHJvbDpbXX19Z2V0IF9wcmVkZWNlc3NvcnMoKXt2YXIgdD10aGlzLl9ub2RlLGU9dGhpcy5ncmFwaEhpZXJhcmNoeTtyZXR1cm4gdGhpcy5fcmVmcmVzaE5vZGVJdGVtTGlzdCgib3V0cHV0c0xpc3QiKSx0P3RoaXMuX2NvbnZlcnRFZGdlTGlzdFRvRWRnZUluZm9MaXN0KGUuZ2V0UHJlZGVjZXNzb3JzKHQubmFtZSksITAsdC5pc0dyb3VwTm9kZSk6e3JlZ3VsYXI6W10sY29udHJvbDpbXX19Z2V0IF9mdW5jdGlvblVzYWdlcygpe3ZhciB0PXRoaXMuX25vZGUsZT10aGlzLmdyYXBoSGllcmFyY2h5O2lmKHRoaXMuX3JlZnJlc2hOb2RlSXRlbUxpc3QoImZ1bmN0aW9uVXNhZ2VzTGlzdCIpLCF0fHx0LnR5cGUhPT1BJHQuTUVUQSlyZXR1cm5bXTtjb25zdCBuPWUubGlicmFyeUZ1bmN0aW9uc1t0LmFzc29jaWF0ZWRGdW5jdGlvbl07cmV0dXJuIG4/bi51c2FnZXM6W119X3JlZnJlc2hOb2RlSXRlbUxpc3QodCl7dGhpcy5hc3luYyh0aGlzLl9yZXNpemVMaXN0LmJpbmQodGhpcyxgIyR7dH1gKSl9X2NvbnZlcnRFZGdlTGlzdFRvRWRnZUluZm9MaXN0KHQsZSxuKXt2YXIgaT10PT5DZS5leHBvcnRzLm1hcCh0LmJhc2VFZGdlTGlzdCwodD0+e3ZhciBuPWU/dC52OnQudztyZXR1cm57bmFtZTpuLG5vZGU6dGhpcy5fZ2V0Tm9kZShuLHRoaXMuZ3JhcGhIaWVyYXJjaHkpLGVkZ2VMYWJlbDpjWnQodCx0aGlzLnJlbmRlckhpZXJhcmNoeSkscmVuZGVySW5mbzp0aGlzLl9nZXRSZW5kZXJJbmZvKG4sdGhpcy5yZW5kZXJIaWVyYXJjaHkpfX0pKSxyPWZ1bmN0aW9uKHQpe3ZhciByPVtdO3JldHVybiBDZS5leHBvcnRzLmVhY2godCwodD0+e3ZhciBvPWU/dC52OnQudztuJiYxIT10LmJhc2VFZGdlTGlzdC5sZW5ndGg/ci5wdXNoKHtuYW1lOm8sbm9kZTp0aGlzLl9nZXROb2RlKG8sdGhpcy5ncmFwaEhpZXJhcmNoeSksZWRnZUxhYmVsOnVadCh0LHRoaXMucmVuZGVySGllcmFyY2h5KSxyZW5kZXJJbmZvOnRoaXMuX2dldFJlbmRlckluZm8obyx0aGlzLnJlbmRlckhpZXJhcmNoeSl9KTpyPXIuY29uY2F0KGkodCkpfSkpLHJ9LmJpbmQodGhpcyk7cmV0dXJue3JlZ3VsYXI6cih0LnJlZ3VsYXIpLGNvbnRyb2w6cih0LmNvbnRyb2wpfX1nZXQgX3N1Ym5vZGVzKCl7dmFyIHQ9dGhpcy5fbm9kZTtyZXR1cm4gdCYmdC5tZXRhZ3JhcGg/dC5tZXRhZ3JhcGgubm9kZXMoKTpudWxsfWdldCBfdG90YWxQcmVkZWNlc3NvcnMoKXt2YXIgdD10aGlzLl9wcmVkZWNlc3NvcnM7cmV0dXJuIHQucmVndWxhci5sZW5ndGgrdC5jb250cm9sLmxlbmd0aH1nZXQgX3RvdGFsU3VjY2Vzc29ycygpe3ZhciB0PXRoaXMuX3N1Y2Nlc3NvcnM7cmV0dXJuIHQucmVndWxhci5sZW5ndGgrdC5jb250cm9sLmxlbmd0aH1fdG9nZ2xlQ29udHJvbFByZWQoKXt0aGlzLl9vcGVuZWRDb250cm9sUHJlZD0hdGhpcy5fb3BlbmVkQ29udHJvbFByZWR9X3RvZ2dsZUNvbnRyb2xTdWNjKCl7dGhpcy5fb3BlbmVkQ29udHJvbFN1Y2M9IXRoaXMuX29wZW5lZENvbnRyb2xTdWNjfV90b2dnbGVFeHBhbmRlZCgpe3RoaXMuX2V4cGFuZGVkPSF0aGlzLl9leHBhbmRlZH1fZ2V0VG9nZ2xlSWNvbih0KXtyZXR1cm4gdD8iZXhwYW5kLWxlc3MiOiJleHBhbmQtbW9yZSJ9X3Jlc2V0U3RhdGUoKXt0aGlzLl9vcGVuZWRDb250cm9sUHJlZD0hMSx0aGlzLl9vcGVuZWRDb250cm9sU3VjYz0hMSx0aGlzLnNldCgiX2dyb3VwQnV0dG9uVGV4dCIseFp0KHRoaXMuX25vZGUpKX1fcmVzaXplTGlzdCh0KXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpO2UmJmUuZmlyZSgiaXJvbi1yZXNpemUiKX1fdG9nZ2xlSW5jbHVkZSgpe3RoaXMuZmlyZSgibm9kZS10b2dnbGUtaW5jbHVzaW9uIix7bmFtZTp0aGlzLmdyYXBoTm9kZU5hbWV9KX1fbm9kZUluY2x1ZGVTdGF0ZUNoYW5nZWQodCxlKXt0aGlzLnNldCgiX2F1eEJ1dHRvblRleHQiLEokdCh0KSl9X3RvZ2dsZUdyb3VwKCl7dmFyIHQ9Ylp0KHRoaXMuX25vZGUpO3RoaXMuZmlyZSgibm9kZS10b2dnbGUtc2VyaWVzZ3JvdXAiLHtuYW1lOnR9KX1faXNMaWJyYXJ5RnVuY3Rpb24odCl7cmV0dXJuIHQmJnQubmFtZS5zdGFydHNXaXRoKFQkdCl9X2lzSW5TZXJpZXModCl7cmV0dXJuIHZadCh0KX1fZ3JhcGhIaWVyYXJjaHlDaGFuZ2VkKCl7dGhpcy5fdGVtcGxhdGVJbmRleD10aGlzLmdyYXBoSGllcmFyY2h5LmdldFRlbXBsYXRlSW5kZXgoKSx0aGlzLmdyYXBoSGllcmFyY2h5LmFkZExpc3RlbmVyKGlLdC5URU1QTEFURVNfVVBEQVRFRCwoKCk9Pnt0aGlzLl90ZW1wbGF0ZUluZGV4PXRoaXMuZ3JhcGhIaWVyYXJjaHkuZ2V0VGVtcGxhdGVJbmRleCgpfSkpfX07Slp0LnRlbXBsYXRlPXhlYAogICAgPHN0eWxlPgogICAgICAuc3ViLWxpc3QtZ3JvdXAgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxMnB0OwogICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5zdWItbGlzdCB7CiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOwogICAgICB9CgogICAgICAuYXR0ci1sZWZ0IHsKICAgICAgICBmbG9hdDogbGVmdDsKICAgICAgICB3aWR0aDogMzAlOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpOwogICAgICAgIGZvbnQtc2l6ZTogMTFwdDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICB9CgogICAgICAuYXR0ci1yaWdodCB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwJTsKICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKTsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICB9CgogICAgICAuc3ViLWxpc3QtdGFibGUgewogICAgICAgIGRpc3BsYXk6IHRhYmxlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuc3ViLWxpc3QtdGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7CiAgICAgIH0KCiAgICAgIC5zdWItbGlzdC10YWJsZS1yb3cgLnN1Yi1saXN0LXRhYmxlLWNlbGw6bGFzdC1jaGlsZCB7CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgIH0KCiAgICAgIC5zdWItbGlzdC10YWJsZS1jZWxsIHsKICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpOwogICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7CiAgICAgICAgZm9udC1zaXplOiAxMXB0OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDsKICAgICAgICBwYWRkaW5nOiAwIDRweDsKICAgICAgfQoKICAgICAgcGFwZXItaXRlbSB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWJhY2tncm91bmQtY29sb3IpOwogICAgICB9CgogICAgICBwYXBlci1pdGVtLWJvZHlbdHdvLWxpbmVdIHsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDRweDsKICAgICAgfQoKICAgICAgLmV4cGFuZGVkSW5mbyB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgIH0KCiAgICAgIC5jb250cm9sRGVwcyB7CiAgICAgICAgcGFkZGluZzogMCAwIDAgOHB4OwogICAgICB9CgogICAgICAubm9kZS1uYW1lIHsKICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBmb250LXNpemU6IDE0cHQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLm5vZGUtaWNvbiB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcik7CiAgICAgICAgZm9udC1zaXplOiAxMnB0OwogICAgICB9CgogICAgICAuY29udHJvbExpbmUgewogICAgICAgIGZvbnQtc2l6ZTogMTFwdDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICB9CgogICAgICAudG9nZ2xlLWJ1dHRvbiB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAyMHB4OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC5jb250cm9sLXRvZ2dsZS1idXR0b24gewogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAyMHB4OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtaW5jbHVkZS1ncm91cCB7CiAgICAgICAgcGFkZGluZy10b3A6IDRweDsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1pbmNsdWRlIHsKICAgICAgICBtYXJnaW46IDVweCA2cHg7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgcGFkZGluZzogNHB4IDZweDsKICAgICAgICBmb250LXNpemU6IDEwcHQ7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsKICAgICAgICBjb2xvcjogIzY2NjsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1pbmNsdWRlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nb29nbGUteWVsbG93LTEwMCk7CiAgICAgIH0KCiAgICAgIC5ub24tY29udHJvbC1saXN0LWl0ZW0gewogICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxwYXBlci1pdGVtPgogICAgICA8cGFwZXItaXRlbS1ib2R5IHR3by1saW5lPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICAgICAgaWNvbj0ie3tfZ2V0VG9nZ2xlSWNvbihfZXhwYW5kZWQpfX0iCiAgICAgICAgICAgIG9uLWNsaWNrPSJfdG9nZ2xlRXhwYW5kZWQiCiAgICAgICAgICAgIGNsYXNzPSJ0b2dnbGUtYnV0dG9uIgogICAgICAgICAgPgogICAgICAgICAgPC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vZGUtbmFtZSI+CiAgICAgICAgICAgIDx0Zi13YnItc3RyaW5nIHZhbHVlPSJbW19ub2RlLm5hbWVdXSIgZGVsaW1pdGVyLXBhdHRlcm49Ii8iPgogICAgICAgICAgICA8L3RmLXdici1zdHJpbmc+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNlY29uZGFyeT4KICAgICAgICAgIDx0Zi1ub2RlLWljb24KICAgICAgICAgICAgY2xhc3M9Im5vZGUtaWNvbiIKICAgICAgICAgICAgbm9kZT0iW1tfbm9kZV1dIgogICAgICAgICAgICByZW5kZXItaW5mbz0iW1tfZ2V0UmVuZGVySW5mbyhncmFwaE5vZGVOYW1lLCByZW5kZXJIaWVyYXJjaHkpXV0iCiAgICAgICAgICAgIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIKICAgICAgICAgICAgdGVtcGxhdGUtaW5kZXg9IltbX3RlbXBsYXRlSW5kZXhdXSIKICAgICAgICAgID48L3RmLW5vZGUtaWNvbj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0ie3tfbm9kZS5vcH19Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VidGl0bGUiPgogICAgICAgICAgICAgIE9wZXJhdGlvbjoKICAgICAgICAgICAgICA8c3Bhbj5bW19ub2RlLm9wXV08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0ie3tfbm9kZS5tZXRhZ3JhcGh9fSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj4KICAgICAgICAgICAgICBTdWJncmFwaDoKICAgICAgICAgICAgICA8c3Bhbj5bW19ub2RlLmNhcmRpbmFsaXR5XV08L3NwYW4+IG5vZGVzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9wYXBlci1pdGVtLWJvZHk+CiAgICA8L3BhcGVyLWl0ZW0+CiAgICA8aXJvbi1jb2xsYXBzZSBvcGVuZWQ9Int7X2V4cGFuZGVkfX0iPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X2V4cGFuZGVkfX0iIHJlc3RhbXA9InRydWUiPgogICAgICAgIDxkaXYgY2xhc3M9ImV4cGFuZGVkSW5mbyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC1ncm91cCBhdHRyaWJ1dGVzIj4KICAgICAgICAgICAgQXR0cmlidXRlcyAoPHNwYW4+W1tfYXR0cmlidXRlcy5sZW5ndGhdXTwvc3Bhbj4pCiAgICAgICAgICAgIDxpcm9uLWxpc3QKICAgICAgICAgICAgICBjbGFzcz0ic3ViLWxpc3QiCiAgICAgICAgICAgICAgaWQ9ImF0dHJpYnV0ZXNMaXN0IgogICAgICAgICAgICAgIGl0ZW1zPSJbW19hdHRyaWJ1dGVzXV0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyLWxlZnQiPltbaXRlbS5rZXldXTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyLXJpZ2h0Ij5bW2l0ZW0udmFsdWVdXTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X2RldmljZX19Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3ViLWxpc3QtZ3JvdXAgZGV2aWNlIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRyLWxlZnQiPkRldmljZTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF0dHItcmlnaHQiPltbX2RldmljZV1dPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC1ncm91cCBwcmVkZWNlc3NvcnMiPgogICAgICAgICAgICBJbnB1dHMgKDxzcGFuPltbX3RvdGFsUHJlZGVjZXNzb3JzXV08L3NwYW4+KQogICAgICAgICAgICA8aXJvbi1saXN0CiAgICAgICAgICAgICAgY2xhc3M9InN1Yi1saXN0IgogICAgICAgICAgICAgIGlkPSJpbnB1dHNMaXN0IgogICAgICAgICAgICAgIGl0ZW1zPSJbW19wcmVkZWNlc3NvcnMucmVndWxhcl1dIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLW5vZGUtbGlzdC1pdGVtCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJub24tY29udHJvbC1saXN0LWl0ZW0iCiAgICAgICAgICAgICAgICAgIGNhcmQtbm9kZT0iW1tfbm9kZV1dIgogICAgICAgICAgICAgICAgICBpdGVtLW5vZGU9IltbaXRlbS5ub2RlXV0iCiAgICAgICAgICAgICAgICAgIGVkZ2UtbGFiZWw9IltbaXRlbS5lZGdlTGFiZWxdXSIKICAgICAgICAgICAgICAgICAgaXRlbS1yZW5kZXItaW5mbz0iW1tpdGVtLnJlbmRlckluZm9dXSIKICAgICAgICAgICAgICAgICAgbmFtZT0iW1tpdGVtLm5hbWVdXSIKICAgICAgICAgICAgICAgICAgaXRlbS10eXBlPSJwcmVkZWNlc3NvcnMiCiAgICAgICAgICAgICAgICAgIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIKICAgICAgICAgICAgICAgICAgdGVtcGxhdGUtaW5kZXg9IltbX3RlbXBsYXRlSW5kZXhdXSIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDwvdGYtbm9kZS1saXN0LWl0ZW0+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfcHJlZGVjZXNzb3JzLmNvbnRyb2wubGVuZ3RoXV0iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xEZXBzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xMaW5lIj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgICAgICAgICAgICAgaWNvbj0ie3tfZ2V0VG9nZ2xlSWNvbihfb3BlbmVkQ29udHJvbFByZWQpfX0iCiAgICAgICAgICAgICAgICAgICAgb24tY2xpY2s9Il90b2dnbGVDb250cm9sUHJlZCIKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY29udHJvbC10b2dnbGUtYnV0dG9uIgogICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgICAgICAgICAgIENvbnRyb2wgZGVwZW5kZW5jaWVzCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxpcm9uLWNvbGxhcHNlIG9wZW5lZD0ie3tfb3BlbmVkQ29udHJvbFByZWR9fSIgbm8tYW5pbWF0aW9uPgogICAgICAgICAgICAgICAgICA8dGVtcGxhdGUKICAgICAgICAgICAgICAgICAgICBpcz0iZG9tLWlmIgogICAgICAgICAgICAgICAgICAgIGlmPSJ7e19vcGVuZWRDb250cm9sUHJlZH19IgogICAgICAgICAgICAgICAgICAgIHJlc3RhbXA9InRydWUiCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICA8aXJvbi1saXN0CiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3ViLWxpc3QiCiAgICAgICAgICAgICAgICAgICAgICBpdGVtcz0iW1tfcHJlZGVjZXNzb3JzLmNvbnRyb2xdXSIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0Zi1ub2RlLWxpc3QtaXRlbQogICAgICAgICAgICAgICAgICAgICAgICAgIGNhcmQtbm9kZT0iW1tfbm9kZV1dIgogICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0tbm9kZT0iW1tpdGVtLm5vZGVdXSIKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLXJlbmRlci1pbmZvPSJbW2l0ZW0ucmVuZGVySW5mb11dIgogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9IltbaXRlbS5uYW1lXV0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS10eXBlPSJwcmVkZWNlc3NvcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlLWluZGV4PSJbW190ZW1wbGF0ZUluZGV4XV0iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgPC90Zi1ub2RlLWxpc3QtaXRlbT4KICAgICAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8L2lyb24tY29sbGFwc2U+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC1ncm91cCBzdWNjZXNzb3JzIj4KICAgICAgICAgICAgT3V0cHV0cyAoPHNwYW4+W1tfdG90YWxTdWNjZXNzb3JzXV08L3NwYW4+KQogICAgICAgICAgICA8aXJvbi1saXN0CiAgICAgICAgICAgICAgY2xhc3M9InN1Yi1saXN0IgogICAgICAgICAgICAgIGlkPSJvdXRwdXRzTGlzdCIKICAgICAgICAgICAgICBpdGVtcz0iW1tfc3VjY2Vzc29ycy5yZWd1bGFyXV0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtbm9kZS1saXN0LWl0ZW0KICAgICAgICAgICAgICAgICAgY2xhc3M9Im5vbi1jb250cm9sLWxpc3QtaXRlbSIKICAgICAgICAgICAgICAgICAgY2FyZC1ub2RlPSJbW19ub2RlXV0iCiAgICAgICAgICAgICAgICAgIGl0ZW0tbm9kZT0iW1tpdGVtLm5vZGVdXSIKICAgICAgICAgICAgICAgICAgZWRnZS1sYWJlbD0iW1tpdGVtLmVkZ2VMYWJlbF1dIgogICAgICAgICAgICAgICAgICBpdGVtLXJlbmRlci1pbmZvPSJbW2l0ZW0ucmVuZGVySW5mb11dIgogICAgICAgICAgICAgICAgICBuYW1lPSJbW2l0ZW0ubmFtZV1dIgogICAgICAgICAgICAgICAgICBpdGVtLXR5cGU9InN1Y2Nlc3NvciIKICAgICAgICAgICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgICAgICAgICB0ZW1wbGF0ZS1pbmRleD0iW1tfdGVtcGxhdGVJbmRleF1dIgogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPC90Zi1ub2RlLWxpc3QtaXRlbT4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L2lyb24tbGlzdD4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19zdWNjZXNzb3JzLmNvbnRyb2wubGVuZ3RoXV0iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xEZXBzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xMaW5lIj4KICAgICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgICAgICAgICAgICAgaWNvbj0ie3tfZ2V0VG9nZ2xlSWNvbihfb3BlbmVkQ29udHJvbFN1Y2MpfX0iCiAgICAgICAgICAgICAgICAgICAgb24tY2xpY2s9Il90b2dnbGVDb250cm9sU3VjYyIKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY29udHJvbC10b2dnbGUtYnV0dG9uIgogICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgICAgICAgICAgIENvbnRyb2wgZGVwZW5kZW5jaWVzCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxpcm9uLWNvbGxhcHNlIG9wZW5lZD0ie3tfb3BlbmVkQ29udHJvbFN1Y2N9fSIgbm8tYW5pbWF0aW9uPgogICAgICAgICAgICAgICAgICA8dGVtcGxhdGUKICAgICAgICAgICAgICAgICAgICBpcz0iZG9tLWlmIgogICAgICAgICAgICAgICAgICAgIGlmPSJ7e19vcGVuZWRDb250cm9sU3VjY319IgogICAgICAgICAgICAgICAgICAgIHJlc3RhbXA9InRydWUiCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICA8aXJvbi1saXN0IGNsYXNzPSJzdWItbGlzdCIgaXRlbXM9IltbX3N1Y2Nlc3NvcnMuY29udHJvbF1dIj4KICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHRmLW5vZGUtbGlzdC1pdGVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FyZC1ub2RlPSJbW19ub2RlXV0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS1ub2RlPSJbW2l0ZW0ubm9kZV1dIgogICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0tcmVuZGVyLWluZm89IltbaXRlbS5yZW5kZXJJbmZvXV0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT0iW1tpdGVtLm5hbWVdXSIKICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLXR5cGU9InN1Y2Nlc3NvcnMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlLWluZGV4PSJbW190ZW1wbGF0ZUluZGV4XV0iCiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgPC90Zi1ub2RlLWxpc3QtaXRlbT4KICAgICAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8L2lyb24tY29sbGFwc2U+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0ie3tfaGFzRGlzcGxheWFibGVOb2RlU3RhdHN9fSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LWdyb3VwIG5vZGUtc3RhdHMiPgogICAgICAgICAgICAgIE5vZGUgU3RhdHMKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZSI+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X25vZGVTdGF0cy50b3RhbEJ5dGVzfX0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPk1lbW9yeTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgW1tfbm9kZVN0YXRzRm9ybWF0dGVkQnl0ZXNdXQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X2dldFRvdGFsTWljcm9zKF9ub2RlU3RhdHMpfX0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPkNvbXB1dGUgVGltZTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgW1tfbm9kZVN0YXRzRm9ybWF0dGVkQ29tcHV0ZVRpbWVdXQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X25vZGVTdGF0cy5vdXRwdXRTaXplfX0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1yb3ciPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LXRhYmxlLWNlbGwiPlRlbnNvciBPdXRwdXQgU2l6ZXM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWItbGlzdC10YWJsZS1jZWxsIj4KICAgICAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZQogICAgICAgICAgICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM9Int7X25vZGVTdGF0c0Zvcm1hdHRlZE91dHB1dFNpemVzfX0iCiAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIFtbaXRlbV1dIDxiciAvPgogICAgICAgICAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19mdW5jdGlvblVzYWdlcy5sZW5ndGhdXSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Yi1saXN0LWdyb3VwIHByZWRlY2Vzc29ycyI+CiAgICAgICAgICAgICAgVXNhZ2VzIG9mIHRoZSBGdW5jdGlvbiAoPHNwYW4+W1tfZnVuY3Rpb25Vc2FnZXMubGVuZ3RoXV08L3NwYW4+KQogICAgICAgICAgICAgIDxpcm9uLWxpc3QKICAgICAgICAgICAgICAgIGNsYXNzPSJzdWItbGlzdCIKICAgICAgICAgICAgICAgIGlkPSJmdW5jdGlvblVzYWdlc0xpc3QiCiAgICAgICAgICAgICAgICBpdGVtcz0iW1tfZnVuY3Rpb25Vc2FnZXNdXSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICAgIDx0Zi1ub2RlLWxpc3QtaXRlbQogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJub24tY29udHJvbC1saXN0LWl0ZW0iCiAgICAgICAgICAgICAgICAgICAgY2FyZC1ub2RlPSJbW19ub2RlXV0iCiAgICAgICAgICAgICAgICAgICAgaXRlbS1ub2RlPSJbW2l0ZW1dXSIKICAgICAgICAgICAgICAgICAgICBuYW1lPSJbW2l0ZW0ubmFtZV1dIgogICAgICAgICAgICAgICAgICAgIGl0ZW0tdHlwZT0iZnVuY3Rpb25Vc2FnZXMiCiAgICAgICAgICAgICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlLWluZGV4PSJbW190ZW1wbGF0ZUluZGV4XV0iCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgPC90Zi1ub2RlLWxpc3QtaXRlbT4KICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgPC9pcm9uLWxpc3Q+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9pc0xpYnJhcnlGdW5jdGlvbihfbm9kZSldXSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1pbmNsdWRlLWdyb3VwIj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgICByYWlzZWQKICAgICAgICAgICAgICAgIGNsYXNzPSJ0b2dnbGUtaW5jbHVkZSIKICAgICAgICAgICAgICAgIG9uLWNsaWNrPSJfdG9nZ2xlSW5jbHVkZSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8c3Bhbj5bW19hdXhCdXR0b25UZXh0XV08L3NwYW4+CiAgICAgICAgICAgICAgPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KCiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7X2lzSW5TZXJpZXMoX25vZGUpfX0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtaW5jbHVkZS1ncm91cCI+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbgogICAgICAgICAgICAgICAgcmFpc2VkCiAgICAgICAgICAgICAgICBjbGFzcz0idG9nZ2xlLWluY2x1ZGUiCiAgICAgICAgICAgICAgICBvbi1jbGljaz0iX3RvZ2dsZUdyb3VwIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxzcGFuPltbX2dyb3VwQnV0dG9uVGV4dF1dPC9zcGFuPgogICAgICAgICAgICAgIDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L2lyb24tY29sbGFwc2U+CiAgYCx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxKWnQucHJvdG90eXBlLCJncmFwaE5vZGVOYW1lIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHJLdCldLEpadC5wcm90b3R5cGUsImdyYXBoSGllcmFyY2h5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEpadC5wcm90b3R5cGUsInJlbmRlckhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxKWnQucHJvdG90eXBlLCJjb2xvckJ5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LGNvbXB1dGVkOiJfZ2V0Tm9kZShncmFwaE5vZGVOYW1lLCBncmFwaEhpZXJhcmNoeSkiLG9ic2VydmVyOiJfcmVzZXRTdGF0ZSJ9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sSlp0LnByb3RvdHlwZSwiX25vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3QsY29tcHV0ZWQ6Il9nZXROb2RlU3RhdHMoZ3JhcGhOb2RlTmFtZSwgZ3JhcGhIaWVyYXJjaHkpIixvYnNlcnZlcjoiX3Jlc2V0U3RhdGUifSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEpadC5wcm90b3R5cGUsIl9ub2RlU3RhdHMiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXIsb2JzZXJ2ZXI6Il9ub2RlSW5jbHVkZVN0YXRlQ2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sSlp0LnByb3RvdHlwZSwibm9kZUluY2x1ZGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxKWnQucHJvdG90eXBlLCJfZXhwYW5kZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxKWnQucHJvdG90eXBlLCJfb3BlbmVkQ29udHJvbFByZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxKWnQucHJvdG90eXBlLCJfb3BlbmVkQ29udHJvbFN1Y2MiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sSlp0LnByb3RvdHlwZSwiX2F1eEJ1dHRvblRleHQiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sSlp0LnByb3RvdHlwZSwiX2dyb3VwQnV0dG9uVGV4dCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLEpadC5wcm90b3R5cGUsIl90ZW1wbGF0ZUluZGV4Iix2b2lkIDApLHQoW3MoIl9ub2RlU3RhdHMiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sSlp0LnByb3RvdHlwZSwiX2hhc0Rpc3BsYXlhYmxlTm9kZVN0YXRzIixudWxsKSx0KFtzKCJfbm9kZVN0YXRzIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sSlp0LnByb3RvdHlwZSwiX25vZGVTdGF0c0Zvcm1hdHRlZEJ5dGVzIixudWxsKSx0KFtzKCJfbm9kZVN0YXRzIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sSlp0LnByb3RvdHlwZSwiX25vZGVTdGF0c0Zvcm1hdHRlZENvbXB1dGVUaW1lIixudWxsKSx0KFtzKCJfbm9kZVN0YXRzIiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfbm9kZVN0YXRzRm9ybWF0dGVkT3V0cHV0U2l6ZXMiLG51bGwpLHQoW3MoIl9ub2RlIiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfYXR0cmlidXRlcyIsbnVsbCksdChbcygiX25vZGUiKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfZGV2aWNlIixudWxsKSx0KFtzKCJfbm9kZSIsImdyYXBoSGllcmFyY2h5IiksZSgiZGVzaWduOnR5cGUiLE9iamVjdCksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sSlp0LnByb3RvdHlwZSwiX3N1Y2Nlc3NvcnMiLG51bGwpLHQoW3MoIl9ub2RlIiwiZ3JhcGhIaWVyYXJjaHkiKSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfcHJlZGVjZXNzb3JzIixudWxsKSx0KFtzKCJfbm9kZSIsImdyYXBoSGllcmFyY2h5IiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfZnVuY3Rpb25Vc2FnZXMiLG51bGwpLHQoW3MoIl9ub2RlIiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfc3Vibm9kZXMiLG51bGwpLHQoW3MoIl9wcmVkZWNlc3NvcnMiKSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxKWnQucHJvdG90eXBlLCJfdG90YWxQcmVkZWNlc3NvcnMiLG51bGwpLHQoW3MoIl9zdWNjZXNzb3JzIiksZSgiZGVzaWduOnR5cGUiLE51bWJlciksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sSlp0LnByb3RvdHlwZSwiX3RvdGFsU3VjY2Vzc29ycyIsbnVsbCksdChbYSgiZ3JhcGhIaWVyYXJjaHkiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLEpadC5wcm90b3R5cGUsIl9ncmFwaEhpZXJhcmNoeUNoYW5nZWQiLG51bGwpLEpadD10KFtpKCJ0Zi1ub2RlLWluZm8iKV0sSlp0KTtsZXQgUVp0PWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtyZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJub2RlLWxpc3QtaXRlbS1jbGljayIsdGhpcy5fbm9kZUxpc3RJdGVtQ2xpY2tlZC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoIm5vZGUtbGlzdC1pdGVtLW1vdXNlb3ZlciIsdGhpcy5fbm9kZUxpc3RJdGVtTW91c2VvdmVyLmJpbmQodGhpcykpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigibm9kZS1saXN0LWl0ZW0tbW91c2VvdXQiLHRoaXMuX25vZGVMaXN0SXRlbU1vdXNlb3V0LmJpbmQodGhpcykpfV9ub2RlTGlzdEl0ZW1DbGlja2VkKHQpe3RoaXMuc2VsZWN0ZWROb2RlPXQuZGV0YWlsLm5vZGVOYW1lfV9ub2RlTGlzdEl0ZW1Nb3VzZW92ZXIodCl7dGhpcy5oaWdobGlnaHRlZE5vZGU9dC5kZXRhaWwubm9kZU5hbWV9X25vZGVMaXN0SXRlbU1vdXNlb3V0KCl7dGhpcy5oaWdobGlnaHRlZE5vZGU9bnVsbH1faGVhbHRoUGlsbHNBdmFpbGFibGUodCxlKXtyZXR1cm4gdCYmZSYmT2JqZWN0LmtleXMoZSkubGVuZ3RoPjB9X2VxdWFscyh0LGUpe3JldHVybiB0PT09ZX19O1FadC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG9yKTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWF4LWhlaWdodDogNjUwcHg7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KCiAgICAgIGgyIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Int7c2VsZWN0ZWROb2RlfX0iPgogICAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPHRmLW5vZGUtaW5mbwogICAgICAgICAgZ3JhcGgtaGllcmFyY2h5PSJbW2dyYXBoSGllcmFyY2h5XV0iCiAgICAgICAgICByZW5kZXItaGllcmFyY2h5PSJbW3JlbmRlckhpZXJhcmNoeV1dIgogICAgICAgICAgZmxhdC1ncmFwaD0iW1tncmFwaF1dIgogICAgICAgICAgZ3JhcGgtbm9kZS1uYW1lPSJbW3NlbGVjdGVkTm9kZV1dIgogICAgICAgICAgbm9kZS1pbmNsdWRlPSJbW3NlbGVjdGVkTm9kZUluY2x1ZGVdXSIKICAgICAgICAgIGhpZ2hsaWdodGVkLW5vZGU9Int7aGlnaGxpZ2h0ZWROb2RlfX0iCiAgICAgICAgICBjb2xvci1ieT0iW1tjb2xvckJ5XV0iCiAgICAgICAgPgogICAgICAgIDwvdGYtbm9kZS1pbmZvPgogICAgICA8L3BhcGVyLW1hdGVyaWFsPgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZXF1YWxzKGNvbG9yQnksICdvcF9jb21wYXRpYmlsaXR5JyldXSI+CiAgICAgIDx0Zi1ncmFwaC1vcC1jb21wYXQtY2FyZAogICAgICAgIGdyYXBoLWhpZXJhcmNoeT0iW1tncmFwaEhpZXJhcmNoeV1dIgogICAgICAgIHJlbmRlci1oaWVyYXJjaHk9IltbcmVuZGVySGllcmFyY2h5XV0iCiAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgIG5vZGUtdGl0bGU9IltbY29tcGF0Tm9kZVRpdGxlXV0iCiAgICAgID4KICAgICAgPC90Zi1ncmFwaC1vcC1jb21wYXQtY2FyZD4KICAgIDwvdGVtcGxhdGU+CiAgICA8dGVtcGxhdGUKICAgICAgaXM9ImRvbS1pZiIKICAgICAgaWY9IltbX2hlYWx0aFBpbGxzQXZhaWxhYmxlKGRlYnVnZ2VyRGF0YUVuYWJsZWQsIG5vZGVOYW1lc1RvSGVhbHRoUGlsbHMpXV0iCiAgICA+CiAgICAgIDx0Zi1ncmFwaC1kZWJ1Z2dlci1kYXRhLWNhcmQKICAgICAgICByZW5kZXItaGllcmFyY2h5PSJbW3JlbmRlckhpZXJhcmNoeV1dIgogICAgICAgIGRlYnVnZ2VyLW51bWVyaWMtYWxlcnRzPSJbW2RlYnVnZ2VyTnVtZXJpY0FsZXJ0c11dIgogICAgICAgIG5vZGUtbmFtZXMtdG8taGVhbHRoLXBpbGxzPSJbW25vZGVOYW1lc1RvSGVhbHRoUGlsbHNdXSIKICAgICAgICBzZWxlY3RlZC1ub2RlPSJ7e3NlbGVjdGVkTm9kZX19IgogICAgICAgIGhpZ2hsaWdodGVkLW5vZGU9Int7aGlnaGxpZ2h0ZWROb2RlfX0iCiAgICAgICAgYXJlLWhlYWx0aC1waWxscy1sb2FkaW5nPSJbW2FyZUhlYWx0aFBpbGxzTG9hZGluZ11dIgogICAgICAgIGFsbC1zdGVwcy1tb2RlLWVuYWJsZWQ9Int7YWxsU3RlcHNNb2RlRW5hYmxlZH19IgogICAgICAgIHNwZWNpZmljLWhlYWx0aC1waWxsLXN0ZXA9Int7c3BlY2lmaWNIZWFsdGhQaWxsU3RlcH19IgogICAgICAgIGhlYWx0aC1waWxsLXN0ZXAtaW5kZXg9Int7aGVhbHRoUGlsbFN0ZXBJbmRleH19IgogICAgICA+CiAgICAgIDwvdGYtZ3JhcGgtZGVidWdnZXItZGF0YS1jYXJkPgogICAgPC90ZW1wbGF0ZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFFadC5wcm90b3R5cGUsInRpdGxlIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHJLdCldLFFadC5wcm90b3R5cGUsImdyYXBoSGllcmFyY2h5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLEkkdCldLFFadC5wcm90b3R5cGUsImdyYXBoIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLEFLdCldLFFadC5wcm90b3R5cGUsInJlbmRlckhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxRWnQucHJvdG90eXBlLCJub2RlTmFtZXNUb0hlYWx0aFBpbGxzIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxRWnQucHJvdG90eXBlLCJoZWFsdGhQaWxsU3RlcEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFFadC5wcm90b3R5cGUsImNvbG9yQnkiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sUVp0LnByb3RvdHlwZSwiY29tcGF0Tm9kZVRpdGxlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxRWnQucHJvdG90eXBlLCJzZWxlY3RlZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFFadC5wcm90b3R5cGUsImhpZ2hsaWdodGVkTm9kZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcixub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sUVp0LnByb3RvdHlwZSwic2VsZWN0ZWROb2RlSW5jbHVkZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFFadC5wcm90b3R5cGUsImRlYnVnZ2VyRGF0YUVuYWJsZWQiLHZvaWQgMCksUVp0PXQoW2koInRmLWdyYXBoLWluZm8iKV0sUVp0KTtjb25zdCB0SnQ9e01BWF9OT0RFX0NPVU5UOjFlNCxNQVhfRURHRV9DT1VOVDoxZTR9O2xldCBlSnQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmhpZXJhcmNoeVBhcmFtcz1hS3QsdGhpcy5hbGxTdGVwc01vZGVFbmFibGVkPSExLHRoaXMuc3BlY2lmaWNIZWFsdGhQaWxsU3RlcD0wLHRoaXMuY29tcGF0Tm9kZVRpdGxlPSJUUFUgQ29tcGF0aWJpbGl0eSJ9Zml0KCl7dGhpcy4kLmdyYXBoLmZpdCgpfWRvd25sb2FkQXNJbWFnZSh0KXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0IGU9eWllbGQgdGhpcy4kLmdyYXBoLmdldEltYWdlQmxvYigpLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO24uaHJlZj1VUkwuY3JlYXRlT2JqZWN0VVJMKGUpLG4uZG93bmxvYWQ9dCxuLmNsaWNrKCksVVJMLnJldm9rZU9iamVjdFVSTChuLmhyZWYpfSkpfV9pc05vdENvbXBsZXRlKHQpe3JldHVybiB0LnZhbHVlPDEwMH1fZ2V0Q29udGFpbmVyQ2xhc3ModCl7dmFyIGU9ImNvbnRhaW5lciI7cmV0dXJuIHQuZXJyb3ImJihlKz0iIGVycm9yIiksdGhpcy5faXNOb3RDb21wbGV0ZSh0KSYmKGUrPSIgbG9hZGluZyIpLGV9X29uTm9kZUluY2x1c2lvblRvZ2dsZWQodCl7dGhpcy4kLmdyYXBoLm5vZGVUb2dnbGVFeHRyYWN0KHQuZGV0YWlsLm5hbWUpfV9vbk5vZGVTZXJpZXNHcm91cFRvZ2dsZWQodCl7dGhpcy4kLmdyYXBoLm5vZGVUb2dnbGVTZXJpZXNHcm91cCh0LmRldGFpbC5uYW1lKX1fdXBkYXRlTm9kZUluY2x1ZGUoKXtjb25zdCB0PXRoaXMucmVuZGVySGllcmFyY2h5P3RoaXMucmVuZGVySGllcmFyY2h5LmdldE5vZGVCeU5hbWUodGhpcy5zZWxlY3RlZE5vZGUpOm51bGw7dGhpcy5fc2VsZWN0ZWROb2RlSW5jbHVkZT10P3QuaW5jbHVkZTprJHQuVU5TUEVDSUZJRUR9X3NsaW1HcmFwaENoYW5nZWQoKXtpZighdGhpcy5ncmFwaClyZXR1cm47Y29uc3R7TUFYX05PREVfQ09VTlQ6dCxNQVhfRURHRV9DT1VOVDplfT10SnQ7T2JqZWN0LmtleXModGhpcy5ncmFwaC5ub2RlcykubGVuZ3RoPnQmJnRoaXMuZ3JhcGguZWRnZXMubGVuZ3RoPmUmJnRoaXMuY29sb3JCeT09PXJadC5TVFJVQ1RVUkUmJih0aGlzLmNvbG9yQnk9clp0Lk5PTkUpfV9lbnN1cmVUZW1wbGF0ZXMoKXt0aGlzLmdyYXBoSGllcmFyY2h5JiZ0aGlzLmNvbG9yQnk9PT1yWnQuU1RSVUNUVVJFJiYodGhpcy5ncmFwaEhpZXJhcmNoeS5nZXRUZW1wbGF0ZUluZGV4KCl8fHRoaXMuZ3JhcGhIaWVyYXJjaHkudXBkYXRlVGVtcGxhdGVzKCkpfX07ZUp0LnRlbXBsYXRlPXhlYAogICAgPHN0eWxlPgogICAgICA6Omhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAvZGVlcC8gLmNsb3NlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGxlZnQ6IDE1cHg7CiAgICAgICAgYm90dG9tOiAxNXB4OwogICAgICB9CgogICAgICAuY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLmNvbnRhaW5lci5sb2FkaW5nIHsKICAgICAgICBjdXJzb3I6IHByb2dyZXNzOwogICAgICAgIG9wYWNpdHk6IDAuMTsKICAgICAgfQoKICAgICAgLmNvbnRhaW5lci5sb2FkaW5nLmVycm9yIHsKICAgICAgICBjdXJzb3I6IGF1dG87CiAgICAgIH0KCiAgICAgICNpbmZvIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDVweDsKICAgICAgICB0b3A6IDVweDsKICAgICAgICBwYWRkaW5nOiAwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAzODBweDsKICAgICAgICBtaW4td2lkdGg6IDMyMHB4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsKICAgICAgICBAYXBwbHkgLS1zaGFkb3ctZWxldmF0aW9uLTJkcDsKICAgICAgfQoKICAgICAgI21haW4gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgI3Byb2dyZXNzLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNDBweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgI3Byb2dyZXNzLW1zZyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgICB3aWR0aDogNDAwcHg7CiAgICAgIH0KCiAgICAgIHBhcGVyLXByb2dyZXNzIHsKICAgICAgICB3aWR0aDogNDAwcHg7CiAgICAgICAgLS1wYXBlci1wcm9ncmVzcy1oZWlnaHQ6IDZweDsKICAgICAgICAtLXBhcGVyLXByb2dyZXNzLWFjdGl2ZS1jb2xvcjogI2YzOTEzZTsKICAgICAgfQoKICAgICAgLmNvbnRleHQtbWVudSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTJlMjsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1pbi13aWR0aDogMTUwcHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Q0ZDRkNDsKICAgICAgfQoKICAgICAgL2RlZXAvIC5jb250ZXh0LW1lbnUgdWwgewogICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC9kZWVwLyAuY29udGV4dC1tZW51IHVsIGxpIHsKICAgICAgICBwYWRkaW5nOiA0cHggMTZweDsKICAgICAgfQoKICAgICAgL2RlZXAvIC5jb250ZXh0LW1lbnUgdWwgbGk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMzkxM2U7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19pc05vdENvbXBsZXRlKHByb2dyZXNzKV1dIj4KICAgICAgPGRpdiBpZD0icHJvZ3Jlc3MtYmFyIj4KICAgICAgICA8ZGl2IGlkPSJwcm9ncmVzcy1tc2ciPltbcHJvZ3Jlc3MubXNnXV08L2Rpdj4KICAgICAgICA8cGFwZXItcHJvZ3Jlc3MgdmFsdWU9IltbcHJvZ3Jlc3MudmFsdWVdXSI+PC9wYXBlci1wcm9ncmVzcz4KICAgICAgPC9kaXY+CiAgICA8L3RlbXBsYXRlPgogICAgPGRpdiBjbGFzcyQ9IltbX2dldENvbnRhaW5lckNsYXNzKHByb2dyZXNzKV1dIj4KICAgICAgPGRpdiBpZD0ibWFpbiI+CiAgICAgICAgPHRmLWdyYXBoCiAgICAgICAgICBpZD0iZ3JhcGgiCiAgICAgICAgICBncmFwaC1oaWVyYXJjaHk9Int7Z3JhcGhIaWVyYXJjaHl9fSIKICAgICAgICAgIGJhc2ljLWdyYXBoPSJbW2dyYXBoXV0iCiAgICAgICAgICBoaWVyYXJjaHktcGFyYW1zPSJbW2hpZXJhcmNoeVBhcmFtc11dIgogICAgICAgICAgcmVuZGVyLWhpZXJhcmNoeT0ie3tyZW5kZXJIaWVyYXJjaHl9fSIKICAgICAgICAgIGRldmljZXMtZm9yLXN0YXRzPSJbW2RldmljZXNGb3JTdGF0c11dIgogICAgICAgICAgc3RhdHM9Iltbc3RhdHNdXSIKICAgICAgICAgIHNlbGVjdGVkLW5vZGU9Int7c2VsZWN0ZWROb2RlfX0iCiAgICAgICAgICBoaWdobGlnaHRlZC1ub2RlPSJ7e19oaWdobGlnaHRlZE5vZGV9fSIKICAgICAgICAgIGNvbG9yLWJ5PSJbW2NvbG9yQnldXSIKICAgICAgICAgIGNvbG9yLWJ5LXBhcmFtcz0ie3tjb2xvckJ5UGFyYW1zfX0iCiAgICAgICAgICBwcm9ncmVzcz0ie3twcm9ncmVzc319IgogICAgICAgICAgZWRnZS1sYWJlbC1mdW5jdGlvbj0iW1tlZGdlTGFiZWxGdW5jdGlvbl1dIgogICAgICAgICAgZWRnZS13aWR0aC1mdW5jdGlvbj0iW1tlZGdlV2lkdGhGdW5jdGlvbl1dIgogICAgICAgICAgbm9kZS1uYW1lcy10by1oZWFsdGgtcGlsbHM9Iltbbm9kZU5hbWVzVG9IZWFsdGhQaWxsc11dIgogICAgICAgICAgaGVhbHRoLXBpbGwtc3RlcC1pbmRleD0iW1toZWFsdGhQaWxsU3RlcEluZGV4XV0iCiAgICAgICAgICBoYW5kbGUtbm9kZS1zZWxlY3RlZD0iW1toYW5kbGVOb2RlU2VsZWN0ZWRdXSIKICAgICAgICAgIGhhbmRsZS1lZGdlLXNlbGVjdGVkPSJbW2hhbmRsZUVkZ2VTZWxlY3RlZF1dIgogICAgICAgICAgdHJhY2UtaW5wdXRzPSJbW3RyYWNlSW5wdXRzXV0iCiAgICAgICAgICBhdXRvLWV4dHJhY3Qtbm9kZXM9IltbYXV0b0V4dHJhY3ROb2Rlc11dIgogICAgICAgID48L3RmLWdyYXBoPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBpZD0iaW5mbyI+CiAgICAgICAgPHRmLWdyYXBoLWluZm8KICAgICAgICAgIGlkPSJncmFwaC1pbmZvIgogICAgICAgICAgdGl0bGU9InNlbGVjdGVkIgogICAgICAgICAgZ3JhcGgtaGllcmFyY2h5PSJbW2dyYXBoSGllcmFyY2h5XV0iCiAgICAgICAgICByZW5kZXItaGllcmFyY2h5PSJbW3JlbmRlckhpZXJhcmNoeV1dIgogICAgICAgICAgZ3JhcGg9IltbZ3JhcGhdXSIKICAgICAgICAgIHNlbGVjdGVkLW5vZGU9Int7c2VsZWN0ZWROb2RlfX0iCiAgICAgICAgICBzZWxlY3RlZC1ub2RlLWluY2x1ZGU9Int7X3NlbGVjdGVkTm9kZUluY2x1ZGV9fSIKICAgICAgICAgIGhpZ2hsaWdodGVkLW5vZGU9Int7X2hpZ2hsaWdodGVkTm9kZX19IgogICAgICAgICAgY29sb3ItYnk9IltbY29sb3JCeV1dIgogICAgICAgICAgY29sb3ItYnktcGFyYW1zPSJbW2NvbG9yQnlQYXJhbXNdXSIKICAgICAgICAgIGRlYnVnZ2VyLWRhdGEtZW5hYmxlZD0iW1tkZWJ1Z2dlckRhdGFFbmFibGVkXV0iCiAgICAgICAgICBhcmUtaGVhbHRoLXBpbGxzLWxvYWRpbmc9IltbYXJlSGVhbHRoUGlsbHNMb2FkaW5nXV0iCiAgICAgICAgICBkZWJ1Z2dlci1udW1lcmljLWFsZXJ0cz0iW1tkZWJ1Z2dlck51bWVyaWNBbGVydHNdXSIKICAgICAgICAgIG5vZGUtbmFtZXMtdG8taGVhbHRoLXBpbGxzPSJbW25vZGVOYW1lc1RvSGVhbHRoUGlsbHNdXSIKICAgICAgICAgIGFsbC1zdGVwcy1tb2RlLWVuYWJsZWQ9Int7YWxsU3RlcHNNb2RlRW5hYmxlZH19IgogICAgICAgICAgc3BlY2lmaWMtaGVhbHRoLXBpbGwtc3RlcD0ie3tzcGVjaWZpY0hlYWx0aFBpbGxTdGVwfX0iCiAgICAgICAgICBoZWFsdGgtcGlsbC1zdGVwLWluZGV4PSJ7e2hlYWx0aFBpbGxTdGVwSW5kZXh9fSIKICAgICAgICAgIGNvbXBhdC1ub2RlLXRpdGxlPSJbW2NvbXBhdE5vZGVUaXRsZV1dIgogICAgICAgICAgb24tbm9kZS10b2dnbGUtaW5jbHVzaW9uPSJfb25Ob2RlSW5jbHVzaW9uVG9nZ2xlZCIKICAgICAgICAgIG9uLW5vZGUtdG9nZ2xlLXNlcmllc2dyb3VwPSJfb25Ob2RlU2VyaWVzR3JvdXBUb2dnbGVkIgogICAgICAgID48L3RmLWdyYXBoLWluZm8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYCx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixyS3QpXSxlSnQucHJvdG90eXBlLCJncmFwaEhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixJJHQpXSxlSnQucHJvdG90eXBlLCJncmFwaCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxlSnQucHJvdG90eXBlLCJoaWVyYXJjaHlQYXJhbXMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZUp0LnByb3RvdHlwZSwic3RhdHMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZUp0LnByb3RvdHlwZSwicHJvZ3Jlc3MiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxlSnQucHJvdG90eXBlLCJ0cmFjZUlucHV0cyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGVKdC5wcm90b3R5cGUsImF1dG9FeHRyYWN0Tm9kZXMiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGVKdC5wcm90b3R5cGUsImNvbG9yQnkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGVKdC5wcm90b3R5cGUsImNvbG9yQnlQYXJhbXMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEFLdCldLGVKdC5wcm90b3R5cGUsInJlbmRlckhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGVKdC5wcm90b3R5cGUsImRlYnVnZ2VyRGF0YUVuYWJsZWQiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxlSnQucHJvdG90eXBlLCJhcmVIZWFsdGhQaWxsc0xvYWRpbmciLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheSxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxlSnQucHJvdG90eXBlLCJkZWJ1Z2dlck51bWVyaWNBbGVydHMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZUp0LnByb3RvdHlwZSwibm9kZU5hbWVzVG9IZWFsdGhQaWxscyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxlSnQucHJvdG90eXBlLCJhbGxTdGVwc01vZGVFbmFibGVkIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxlSnQucHJvdG90eXBlLCJzcGVjaWZpY0hlYWx0aFBpbGxTdGVwIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGVKdC5wcm90b3R5cGUsImhlYWx0aFBpbGxTdGVwSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGVKdC5wcm90b3R5cGUsInNlbGVjdGVkTm9kZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxlSnQucHJvdG90eXBlLCJjb21wYXROb2RlVGl0bGUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZUp0LnByb3RvdHlwZSwiZWRnZVdpZHRoRnVuY3Rpb24iLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sZUp0LnByb3RvdHlwZSwiX3NlbGVjdGVkTm9kZUluY2x1ZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sZUp0LnByb3RvdHlwZSwiX2hpZ2hsaWdodGVkTm9kZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxlSnQucHJvdG90eXBlLCJoYW5kbGVOb2RlU2VsZWN0ZWQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZUp0LnByb3RvdHlwZSwiZWRnZUxhYmVsRnVuY3Rpb24iLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZUp0LnByb3RvdHlwZSwiaGFuZGxlRWRnZVNlbGVjdGVkIix2b2lkIDApLHQoW2EoInNlbGVjdGVkTm9kZSIsInJlbmRlckhpZXJhcmNoeSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sZUp0LnByb3RvdHlwZSwiX3VwZGF0ZU5vZGVJbmNsdWRlIixudWxsKSx0KFthKCJncmFwaCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sZUp0LnByb3RvdHlwZSwiX3NsaW1HcmFwaENoYW5nZWQiLG51bGwpLHQoW2EoImNvbG9yQnkiLCJncmFwaEhpZXJhcmNoeSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sZUp0LnByb3RvdHlwZSwiX2Vuc3VyZVRlbXBsYXRlcyIsbnVsbCksZUp0PXQoW2koInRmLWdyYXBoLWJvYXJkIildLGVKdCk7Y2xhc3Mgbkp0e2lzTm90VHB1T3AodCl7cmV0dXJuLTEhPXQudG9Mb3dlckNhc2UoKS5zZWFyY2goImNwdToiKXx8KC0xIT10LnRvTG93ZXJDYXNlKCkuc2VhcmNoKCJncHU6Iil8fC0xPT10LnRvTG93ZXJDYXNlKCkuc2VhcmNoKCJ0cHUiKSl9b3BWYWxpZCh0KXtyZXR1cm4gMD09dC5uYW1lLnNlYXJjaChUJHQpfHwoIXQub3B8fCghKCF0LmRldmljZXx8IXRoaXMuaXNOb3RUcHVPcCh0LmRldmljZSkpfHwoISghdC5kZXZpY2V8fC0xPT10LmRldmljZS5zZWFyY2goIlRQVV9TWVNURU0iKSl8fENlLmV4cG9ydHMuaW5jbHVkZXMobkp0LldISVRFTElTVCx0Lm9wKSkpKX19bkp0LldISVRFTElTVD1bIkFicyIsIkFjb3MiLCJBY29zaCIsIkFkZCIsIkFkZE4iLCJBZGRWMiIsIkFkanVzdENvbnRyYXN0djIiLCJBZGp1c3RIdWUiLCJBZGp1c3RTYXR1cmF0aW9uIiwiQWxsIiwiQWxsVG9BbGwiLCJBbmdsZSIsIkFueSIsIkFwcHJveGltYXRlRXF1YWwiLCJBcmdNYXgiLCJBcmdNaW4iLCJBc2luIiwiQXNpbmgiLCJBc3NlcnQiLCJBc3NpZ25BZGRWYXJpYWJsZU9wIiwiQXNzaWduU3ViVmFyaWFibGVPcCIsIkFzc2lnblZhcmlhYmxlT3AiLCJBdGFuIiwiQXRhbjIiLCJBdGFuaCIsIkF2Z1Bvb2wiLCJBdmdQb29sM0QiLCJBdmdQb29sM0RHcmFkIiwiQXZnUG9vbEdyYWQiLCJCYXRjaE1hdE11bCIsIkJhdGNoTWF0TXVsVjIiLCJCYXRjaFRvU3BhY2UiLCJCYXRjaFRvU3BhY2VORCIsIkJlc3NlbEkwZSIsIkJlc3NlbEkxZSIsIkJldGFpbmMiLCJCaWFzQWRkIiwiQmlhc0FkZEdyYWQiLCJCaWFzQWRkVjEiLCJCaXRjYXN0IiwiQml0d2lzZUFuZCIsIkJpdHdpc2VPciIsIkJpdHdpc2VYb3IiLCJCcm9hZGNhc3RBcmdzIiwiQnJvYWRjYXN0R3JhZGllbnRBcmdzIiwiQnJvYWRjYXN0VG8iLCJCdWNrZXRpemUiLCJDYXNlIiwiQ2FzdCIsIkNlaWwiLCJDaGVja051bWVyaWNzIiwiQ2hvbGVza3kiLCJDbGlwQnlWYWx1ZSIsIkNvbGxlY3RpdmVQZXJtdXRlIiwiQ29sbGVjdGl2ZVJlZHVjZVYyIiwiQ29tcGxleCIsIkNvbXBsZXhBYnMiLCJDb25jYXQiLCJDb25jYXRPZmZzZXQiLCJDb25jYXRWMiIsIkNvbmoiLCJDb25qdWdhdGVUcmFuc3Bvc2UiLCJDb25zdCIsIkNvbnRyb2xUcmlnZ2VyIiwiQ29udjJEIiwiQ29udjJEQmFja3Byb3BGaWx0ZXIiLCJDb252MkRCYWNrcHJvcElucHV0IiwiQ29udjNEIiwiQ29udjNEQmFja3Byb3BGaWx0ZXJWMiIsIkNvbnYzREJhY2twcm9wSW5wdXRWMiIsIkNvcyIsIkNvc2giLCJDcm9zcyIsIkNyb3NzUmVwbGljYVN1bSIsIkN1bXByb2QiLCJDdW1zdW0iLCJEYXRhRm9ybWF0RGltTWFwIiwiRGF0YUZvcm1hdFZlY1Blcm11dGUiLCJEZXB0aFRvU3BhY2UiLCJEZXB0aHdpc2VDb252MmROYXRpdmUiLCJEZXB0aHdpc2VDb252MmROYXRpdmVCYWNrcHJvcEZpbHRlciIsIkRlcHRod2lzZUNvbnYyZE5hdGl2ZUJhY2twcm9wSW5wdXQiLCJEZXF1YW50aXplIiwiRGV2aWNlSW5kZXgiLCJEaWFnIiwiRGlhZ1BhcnQiLCJEaWdhbW1hIiwiRGl2IiwiRGl2Tm9OYW4iLCJEeW5hbWljU3RpdGNoIiwiRWluc3VtIiwiRWx1IiwiRWx1R3JhZCIsIkVtcHR5IiwiRW1wdHlUZW5zb3JMaXN0IiwiRW5zdXJlU2hhcGUiLCJFcXVhbCIsIkVyZiIsIkVyZmMiLCJFcmZpbnYiLCJFeHAiLCJFeHBhbmREaW1zIiwiRXhwbTEiLCJFeHRyYWN0SW1hZ2VQYXRjaGVzIiwiRkZUIiwiRkZUMkQiLCJGRlQzRCIsIkZha2VQYXJhbSIsIkZha2VRdWFudFdpdGhNaW5NYXhBcmdzIiwiRmFrZVF1YW50V2l0aE1pbk1heEFyZ3NHcmFkaWVudCIsIkZha2VRdWFudFdpdGhNaW5NYXhWYXJzIiwiRmFrZVF1YW50V2l0aE1pbk1heFZhcnNHcmFkaWVudCIsIkZpbGwiLCJGbG9vciIsIkZsb29yRGl2IiwiRmxvb3JNb2QiLCJGdXNlZEJhdGNoTm9ybSIsIkZ1c2VkQmF0Y2hOb3JtR3JhZCIsIkZ1c2VkQmF0Y2hOb3JtR3JhZFYyIiwiRnVzZWRCYXRjaE5vcm1HcmFkVjMiLCJGdXNlZEJhdGNoTm9ybVYyIiwiRnVzZWRCYXRjaE5vcm1WMyIsIkdhdGhlciIsIkdhdGhlck5kIiwiR2F0aGVyVjIiLCJHZXRJdGVtIiwiR3JlYXRlciIsIkdyZWF0ZXJFcXVhbCIsIkhTVlRvUkdCIiwiSUZGVCIsIklGRlQyRCIsIklGRlQzRCIsIklSRkZUIiwiSVJGRlQyRCIsIklSRkZUM0QiLCJJZGVudGl0eSIsIklkZW50aXR5TiIsIklmIiwiSWdhbW1hIiwiSWdhbW1hR3JhZEEiLCJJZ2FtbWFjIiwiSW1hZyIsIkluVG9wS1YyIiwiSW5mZWVkRGVxdWV1ZSIsIkluZmVlZERlcXVldWVUdXBsZSIsIklucGxhY2VBZGQiLCJJbnBsYWNlVXBkYXRlIiwiSW52IiwiSW52ZXJ0IiwiSW52ZXJ0UGVybXV0YXRpb24iLCJJc0Zpbml0ZSIsIklzSW5mIiwiSXNOYW4iLCJLdGhPcmRlclN0YXRpc3RpYyIsIkwyTG9zcyIsIkxSTiIsIkxSTkdyYWQiLCJMZWFreVJlbHUiLCJMZWFreVJlbHVHcmFkIiwiTGVmdFNoaWZ0IiwiTGVzcyIsIkxlc3NFcXVhbCIsIkxnYW1tYSIsIkxpblNwYWNlIiwiTGlzdERpZmYiLCJMb2ciLCJMb2cxcCIsIkxvZ1NvZnRtYXgiLCJMb2dpY2FsQW5kIiwiTG9naWNhbE5vdCIsIkxvZ2ljYWxPciIsIkxvd2VyQm91bmQiLCJNYWtlVW5pcXVlIiwiTWF0TXVsIiwiTWF0cml4QmFuZFBhcnQiLCJNYXRyaXhEaWFnIiwiTWF0cml4RGlhZ1BhcnQiLCJNYXRyaXhEaWFnUGFydFYyIiwiTWF0cml4RGlhZ1BhcnRWMyIsIk1hdHJpeERpYWdWMiIsIk1hdHJpeERpYWdWMyIsIk1hdHJpeEludmVyc2UiLCJNYXRyaXhTZXREaWFnIiwiTWF0cml4U2V0RGlhZ1YyIiwiTWF0cml4U2V0RGlhZ1YzIiwiTWF0cml4U29sdmUiLCJNYXRyaXhUcmlhbmd1bGFyU29sdmUiLCJNYXgiLCJNYXhQb29sIiwiTWF4UG9vbDNEIiwiTWF4UG9vbDNER3JhZCIsIk1heFBvb2wzREdyYWRHcmFkIiwiTWF4UG9vbEdyYWQiLCJNYXhQb29sR3JhZEdyYWQiLCJNYXhQb29sR3JhZEdyYWRWMiIsIk1heFBvb2xHcmFkVjIiLCJNYXhQb29sVjIiLCJNYXhpbXVtIiwiTWVhbiIsIk1pbiIsIk1pbmltdW0iLCJNaXJyb3JQYWQiLCJNaXJyb3JQYWRHcmFkIiwiTW9kIiwiTXVsIiwiTXVsTm9OYW4iLCJNdWx0aW5vbWlhbCIsIk5kdHJpIiwiTmVnIiwiTmV4dEFmdGVyIiwiTm9PcCIsIk5vbk1heFN1cHByZXNzaW9uVjQiLCJOb3RFcXVhbCIsIk9uZUhvdCIsIk9uZXNMaWtlIiwiT3V0ZmVlZEVucXVldWUiLCJPdXRmZWVkRW5xdWV1ZVR1cGxlIiwiUGFjayIsIlBhZCIsIlBhZFYyIiwiUGFyYWxsZWxEeW5hbWljU3RpdGNoIiwiUGFyYW1ldGVyaXplZFRydW5jYXRlZE5vcm1hbCIsIlBhcnRpdGlvbmVkQ2FsbCIsIlBsYWNlaG9sZGVyV2l0aERlZmF1bHQiLCJQb2x5Z2FtbWEiLCJQb3B1bGF0aW9uQ291bnQiLCJQb3ciLCJQcmV2ZW50R3JhZGllbnQiLCJQcm9kIiwiUXIiLCJRdWFudGl6ZUFuZERlcXVhbnRpemVWMiIsIlF1YW50aXplQW5kRGVxdWFudGl6ZVYzIiwiUkZGVCIsIlJGRlQyRCIsIlJGRlQzRCIsIlJHQlRvSFNWIiwiUmFuZG9tR2FtbWFHcmFkIiwiUmFuZG9tU2h1ZmZsZSIsIlJhbmRvbVN0YW5kYXJkTm9ybWFsIiwiUmFuZG9tVW5pZm9ybSIsIlJhbmRvbVVuaWZvcm1JbnQiLCJSYW5nZSIsIlJhbmsiLCJSZWFkVmFyaWFibGVPcCIsIlJlYWwiLCJSZWFsRGl2IiwiUmVjaXByb2NhbCIsIlJlY2lwcm9jYWxHcmFkIiwiUmVsdSIsIlJlbHU2IiwiUmVsdTZHcmFkIiwiUmVsdUdyYWQiLCJSZXNoYXBlIiwiUmVzaXplQmlsaW5lYXIiLCJSZXNpemVCaWxpbmVhckdyYWQiLCJSZXNpemVOZWFyZXN0TmVpZ2hib3IiLCJSZXNpemVOZWFyZXN0TmVpZ2hib3JHcmFkIiwiUmVzb3VyY2VBcHBseUFkYU1heCIsIlJlc291cmNlQXBwbHlBZGFkZWx0YSIsIlJlc291cmNlQXBwbHlBZGFncmFkIiwiUmVzb3VyY2VBcHBseUFkYWdyYWREQSIsIlJlc291cmNlQXBwbHlBZGFncmFkVjIiLCJSZXNvdXJjZUFwcGx5QWRhbSIsIlJlc291cmNlQXBwbHlBZGRTaWduIiwiUmVzb3VyY2VBcHBseUNlbnRlcmVkUk1TUHJvcCIsIlJlc291cmNlQXBwbHlGdHJsIiwiUmVzb3VyY2VBcHBseUZ0cmxWMiIsIlJlc291cmNlQXBwbHlHcmFkaWVudERlc2NlbnQiLCJSZXNvdXJjZUFwcGx5S2VyYXNNb21lbnR1bSIsIlJlc291cmNlQXBwbHlNb21lbnR1bSIsIlJlc291cmNlQXBwbHlQb3dlclNpZ24iLCJSZXNvdXJjZUFwcGx5UHJveGltYWxBZGFncmFkIiwiUmVzb3VyY2VBcHBseVByb3hpbWFsR3JhZGllbnREZXNjZW50IiwiUmVzb3VyY2VBcHBseVJNU1Byb3AiLCJSZXNvdXJjZUdhdGhlciIsIlJlc291cmNlU2NhdHRlckFkZCIsIlJlc291cmNlU2NhdHRlckRpdiIsIlJlc291cmNlU2NhdHRlck1heCIsIlJlc291cmNlU2NhdHRlck1pbiIsIlJlc291cmNlU2NhdHRlck11bCIsIlJlc291cmNlU2NhdHRlck5kQWRkIiwiUmVzb3VyY2VTY2F0dGVyTmRTdWIiLCJSZXNvdXJjZVNjYXR0ZXJOZFVwZGF0ZSIsIlJlc291cmNlU2NhdHRlclN1YiIsIlJlc291cmNlU2NhdHRlclVwZGF0ZSIsIlJlc291cmNlU3RyaWRlZFNsaWNlQXNzaWduIiwiUmV2ZXJzZSIsIlJldmVyc2VTZXF1ZW5jZSIsIlJldmVyc2VWMiIsIlJpZ2h0U2hpZnQiLCJSaW50IiwiUm5nUmVhZEFuZFNraXAiLCJSbmdTa2lwIiwiUm9sbCIsIlJvdW5kIiwiUnNxcnQiLCJSc3FydEdyYWQiLCJTY2F0dGVyTmQiLCJTZWxlY3QiLCJTZWxlY3RWMiIsIlNlbGZBZGpvaW50RWlnVjIiLCJTZWx1IiwiU2VsdUdyYWQiLCJTaGFwZSIsIlNoYXBlTiIsIlNpZ21vaWQiLCJTaWdtb2lkR3JhZCIsIlNpZ24iLCJTaW4iLCJTaW5oIiwiU2l6ZSIsIlNsaWNlIiwiU25hcHNob3QiLCJTb2Z0bWF4IiwiU29mdG1heENyb3NzRW50cm9weVdpdGhMb2dpdHMiLCJTb2Z0cGx1cyIsIlNvZnRwbHVzR3JhZCIsIlNvZnRzaWduIiwiU29mdHNpZ25HcmFkIiwiU3BhY2VUb0JhdGNoIiwiU3BhY2VUb0JhdGNoTkQiLCJTcGFjZVRvRGVwdGgiLCJTcGFyc2VNYXRNdWwiLCJTcGFyc2VTb2Z0bWF4Q3Jvc3NFbnRyb3B5V2l0aExvZ2l0cyIsIlNwYXJzZVRvRGVuc2UiLCJTcGxpdCIsIlNwbGl0ViIsIlNxcnQiLCJTcXJ0R3JhZCIsIlNxdWFyZSIsIlNxdWFyZWREaWZmZXJlbmNlIiwiU3F1ZWV6ZSIsIlN0YWNrQ2xvc2VWMiIsIlN0YWNrUG9wVjIiLCJTdGFja1B1c2hWMiIsIlN0YWNrVjIiLCJTdGF0ZWZ1bFBhcnRpdGlvbmVkQ2FsbCIsIlN0YXRlZnVsU3RhbmRhcmROb3JtYWxWMiIsIlN0YXRlZnVsVHJ1bmNhdGVkTm9ybWFsIiwiU3RhdGVmdWxVbmlmb3JtIiwiU3RhdGVmdWxVbmlmb3JtRnVsbEludCIsIlN0YXRlZnVsVW5pZm9ybUludCIsIlN0YXRlbGVzc0Nhc2UiLCJTdGF0ZWxlc3NJZiIsIlN0YXRlbGVzc011bHRpbm9taWFsIiwiU3RhdGVsZXNzUmFuZG9tR2V0QWxnIiwiU3RhdGVsZXNzUmFuZG9tR2V0S2V5Q291bnRlciIsIlN0YXRlbGVzc1JhbmRvbUdldEtleUNvdW50ZXJBbGciLCJTdGF0ZWxlc3NSYW5kb21Ob3JtYWwiLCJTdGF0ZWxlc3NSYW5kb21Ob3JtYWxWMiIsIlN0YXRlbGVzc1JhbmRvbVVuaWZvcm0iLCJTdGF0ZWxlc3NSYW5kb21Vbmlmb3JtRnVsbEludCIsIlN0YXRlbGVzc1JhbmRvbVVuaWZvcm1GdWxsSW50VjIiLCJTdGF0ZWxlc3NSYW5kb21Vbmlmb3JtSW50IiwiU3RhdGVsZXNzUmFuZG9tVW5pZm9ybUludFYyIiwiU3RhdGVsZXNzUmFuZG9tVW5pZm9ybVYyIiwiU3RhdGVsZXNzVHJ1bmNhdGVkTm9ybWFsIiwiU3RhdGVsZXNzVHJ1bmNhdGVkTm9ybWFsVjIiLCJTdGF0ZWxlc3NXaGlsZSIsIlN0b3BHcmFkaWVudCIsIlN0cmlkZWRTbGljZSIsIlN0cmlkZWRTbGljZUdyYWQiLCJTdWIiLCJTdW0iLCJTdmQiLCJTeW1ib2xpY0dyYWRpZW50IiwiVFBVRW1iZWRkaW5nQWN0aXZhdGlvbnMiLCJUYW4iLCJUYW5oIiwiVGFuaEdyYWQiLCJUZW5zb3JBcnJheUNsb3NlVjMiLCJUZW5zb3JBcnJheUNvbmNhdFYzIiwiVGVuc29yQXJyYXlHYXRoZXJWMyIsIlRlbnNvckFycmF5R3JhZFYzIiwiVGVuc29yQXJyYXlSZWFkVjMiLCJUZW5zb3JBcnJheVNjYXR0ZXJWMyIsIlRlbnNvckFycmF5U2l6ZVYzIiwiVGVuc29yQXJyYXlTcGxpdFYzIiwiVGVuc29yQXJyYXlWMyIsIlRlbnNvckFycmF5V3JpdGVWMyIsIlRlbnNvckxpc3RDb25jYXRWMiIsIlRlbnNvckxpc3RFbGVtZW50U2hhcGUiLCJUZW5zb3JMaXN0RnJvbVRlbnNvciIsIlRlbnNvckxpc3RHYXRoZXIiLCJUZW5zb3JMaXN0R2V0SXRlbSIsIlRlbnNvckxpc3RMZW5ndGgiLCJUZW5zb3JMaXN0UG9wQmFjayIsIlRlbnNvckxpc3RQdXNoQmFjayIsIlRlbnNvckxpc3RSZXNlcnZlIiwiVGVuc29yTGlzdFNldEl0ZW0iLCJUZW5zb3JMaXN0U3BsaXQiLCJUZW5zb3JMaXN0U3RhY2siLCJUZW5zb3JTY2F0dGVyQWRkIiwiVGVuc29yU2NhdHRlck1heCIsIlRlbnNvclNjYXR0ZXJNaW4iLCJUZW5zb3JTY2F0dGVyU3ViIiwiVGVuc29yU2NhdHRlclVwZGF0ZSIsIlRlbnNvclN0cmlkZWRTbGljZVVwZGF0ZSIsIlRpbGUiLCJUb3BLVW5pcXVlIiwiVG9wS1YyIiwiVG9wS1dpdGhVbmlxdWUiLCJUcmFuc3Bvc2UiLCJUcmlkaWFnb25hbFNvbHZlIiwiVHJ1bmNhdGVEaXYiLCJUcnVuY2F0ZU1vZCIsIlRydW5jYXRlZE5vcm1hbCIsIlVuaXF1ZSIsIlVucGFjayIsIlVuc29ydGVkU2VnbWVudE1heCIsIlVuc29ydGVkU2VnbWVudE1pbiIsIlVuc29ydGVkU2VnbWVudFByb2QiLCJVbnNvcnRlZFNlZ21lbnRTdW0iLCJVcHBlckJvdW5kIiwiVmFySXNJbml0aWFsaXplZE9wIiwiVmFyaWFibGVTaGFwZSIsIldoZXJlIiwiV2hpbGUiLCJYZGl2eSIsIlhsYUJyb2FkY2FzdEhlbHBlciIsIlhsYUNvbnYiLCJYbGFDb252VjIiLCJYbGFEZXF1YW50aXplIiwiWGxhRG90IiwiWGxhRG90VjIiLCJYbGFEeW5hbWljU2xpY2UiLCJYbGFEeW5hbWljVXBkYXRlU2xpY2UiLCJYbGFFaW5zdW0iLCJYbGFHYXRoZXIiLCJYbGFIb3N0Q29tcHV0ZSIsIlhsYUlmIiwiWGxhS2V5VmFsdWVTb3J0IiwiWGxhUGFkIiwiWGxhUmVjdiIsIlhsYVJlY3ZGcm9tSG9zdCIsIlhsYVJlZHVjZSIsIlhsYVJlZHVjZVdpbmRvdyIsIlhsYVJlcGxpY2FJZCIsIlhsYVNjYXR0ZXIiLCJYbGFTZWxlY3RBbmRTY2F0dGVyIiwiWGxhU2VsZkFkam9pbnRFaWciLCJYbGFTZW5kIiwiWGxhU2VuZFRvSG9zdCIsIlhsYVNldEJvdW5kIiwiWGxhU2V0RHluYW1pY0RpbWVuc2lvblNpemUiLCJYbGFTaGFyZGluZyIsIlhsYVNvcnQiLCJYbGFTcG1kRnVsbFRvU2hhcmRTaGFwZSIsIlhsYVNwbWRTaGFyZFRvRnVsbFNoYXBlIiwiWGxhU3ZkIiwiWGxhVmFyaWFkaWNSZWR1Y2UiLCJYbGFWYXJpYWRpY1NvcnQiLCJYbGFXaGlsZSIsIlhsb2cxcHkiLCJYbG9neSIsIlplcm9zTGlrZSIsIlpldGEiLCJFbnRlciIsIkV4aXQiLCJMb29wQ29uZCIsIk1lcmdlIiwiTmV4dEl0ZXJhdGlvbiIsIlN3aXRjaCIsIl9BcmciLCJfQXJyYXlUb0xpc3QiLCJfRnVzZWRCYXRjaE5vcm1FeCIsIl9MaXN0VG9BcnJheSIsIl9QYXJhbGxlbENvbmNhdFVwZGF0ZSIsIl9SZWN2VFBVRW1iZWRkaW5nQWN0aXZhdGlvbnMiLCJfUmVjdlRQVUVtYmVkZGluZ0RlZHVwbGljYXRpb25EYXRhIiwiX1JldHZhbCIsIl9TZW5kVFBVRW1iZWRkaW5nR3JhZGllbnRzIiwiX1RQVUNvbXBpbGUiLCJfVFBVRXhlY3V0ZSIsIl9VbmFyeU9wc0NvbXBvc2l0aW9uIiwiVFBVQ29tcGlsYXRpb25SZXN1bHQiLCJUUFVSZXBsaWNhdGVkSW5wdXQiLCJUUFVSZXBsaWNhdGVkT3V0cHV0IiwiVFBVUmVwbGljYXRlTWV0YWRhdGEiLCJNZXJnZVYyQ2hlY2twb2ludHMiLCJSZXN0b3JlVjIiLCJTYXZlVjIiLCJBYm9ydCIsIkFzc2VydCIsIkFzc2lnbiIsIlBsYWNlaG9sZGVyIiwiUGxhY2Vob2xkZXJWMiIsIlNoYXJkZWRGaWxlbmFtZSIsIlN0cmluZ0pvaW4iLCJWYXJpYWJsZSIsIlZhcmlhYmxlVjIiLCJWYXJIYW5kbGVPcCIsIkF1ZGlvU3VtbWFyeSIsIkF1ZGlvU3VtbWFyeVYyIiwiRGVidWdOdW1lcmljU3VtbWFyeSIsIkhpc3RvZ3JhbVN1bW1hcnkiLCJJbWFnZVN1bW1hcnkiLCJNZXJnZVN1bW1hcnkiLCJTY2FsYXJTdW1tYXJ5IiwiU3RhdHNBZ2dyZWdhdG9yU3VtbWFyeSJdO2xldCBpSnQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9yYXdSZWdleElucHV0PSIiLHRoaXMuX3ByZXZpb3VzUmVnZXhJbnB1dD0iIix0aGlzLl9zZWFyY2hUaW1lb3V0RGVsYXk9MTUwLHRoaXMuX21heFJlZ2V4UmVzdWx0cz00Mn1nZXQgX3JlZ2V4SW5wdXQoKXtyZXR1cm4gdGhpcy5fcmF3UmVnZXhJbnB1dC50cmltKCl9X3JlZ2V4SW5wdXRDaGFuZ2VkKCl7dGhpcy5fcmVxdWVzdFNlYXJjaCgpfV9jbGVhclNlYXJjaFJlc3VsdHMoKXt0aGlzLnNldCgiX3JlZ2V4TWF0Y2hlcyIsW10pfV9yZXF1ZXN0U2VhcmNoKCl7dGhpcy5fc2VhcmNoUGVuZGluZ3x8KHRoaXMuX3JlZ2V4SW5wdXQhPT10aGlzLl9wcmV2aW91c1JlZ2V4SW5wdXQ/KHRoaXMuX3NlYXJjaFBlbmRpbmc9ITAsdGhpcy5fZXhlY3V0ZVNlYXJjaCgpLHRoaXMuYXN5bmMoKCgpPT57dGhpcy5fc2VhcmNoUGVuZGluZz0hMSx0aGlzLl9yZXF1ZXN0U2VhcmNoKCl9KSx0aGlzLl9zZWFyY2hUaW1lb3V0RGVsYXkpKTp0aGlzLl9zZWFyY2hQZW5kaW5nPSExKX1fZXhlY3V0ZVNlYXJjaCgpe2lmKHRoaXMuX3ByZXZpb3VzUmVnZXhJbnB1dD10aGlzLl9yZWdleElucHV0LCF0aGlzLl9yZWdleElucHV0KXJldHVybiB2b2lkIHRoaXMuX2NsZWFyU2VhcmNoUmVzdWx0cygpO3RyeXt2YXIgdD1uZXcgUmVnRXhwKHRoaXMuX3JlZ2V4SW5wdXQpfWNhdGNoKHQpe3JldHVybiB2b2lkIHRoaXMuX2NsZWFyU2VhcmNoUmVzdWx0cygpfWNvbnN0IGU9W10sbj10aGlzLnJlbmRlckhpZXJhcmNoeS5oaWVyYXJjaHkuZ2V0Tm9kZU1hcCgpO0NlLmV4cG9ydHMuZWFjaChuLCgobixpKT0+e2lmKGUubGVuZ3RoPj10aGlzLl9tYXhSZWdleFJlc3VsdHMpcmV0dXJuITE7dC50ZXN0KGkpJiZlLnB1c2goaSl9KSksdGhpcy5zZXQoIl9yZWdleE1hdGNoZXMiLGUpfV9tYXRjaENsaWNrZWQodCl7dGhpcy5zZXQoInNlbGVjdGVkTm9kZSIsdC5tb2RlbC5pdGVtKSxoJHQoe2FjdGlvbklkOkJBdC5OT0RFX1NFQVJDSF9SRVNVTFRfRk9DVVNFRH0pfX07aUp0LnRlbXBsYXRlPXhlYAogICAgPGRpdiBpZD0ic2VhcmNoLWNvbnRhaW5lciI+CiAgICAgIDxwYXBlci1pbnB1dAogICAgICAgIGlkPSJydW5zLXJlZ2V4IgogICAgICAgIGxhYmVsPSJTZWFyY2ggbm9kZXMgKHJlZ2V4KSIKICAgICAgICB2YWx1ZT0ie3tfcmF3UmVnZXhJbnB1dH19IgogICAgICA+CiAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgIDxkaXYgaWQ9InNlYXJjaC1yZXN1bHRzLWFuY2hvciI+CiAgICAgICAgPGRpdiBpZD0ic2VhcmNoLXJlc3VsdHMiPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfcmVnZXhNYXRjaGVzXV0iPgogICAgICAgICAgICA8ZGl2IGlkPSJzZWFyY2gtbWF0Y2giIG9uLWNsaWNrPSJfbWF0Y2hDbGlja2VkIj5bW2l0ZW1dXTwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxzdHlsZT4KICAgICAgI3NlYXJjaC1jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgICB9CgogICAgICAjcnVucy1yZWdleCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNzZWFyY2gtcmVzdWx0cy1hbmNob3IgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgI3NlYXJjaC1yZXN1bHRzIHsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgICNzZWFyY2gtbWF0Y2ggewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIHBhZGRpbmc6IDNweDsKICAgICAgICBmbG9hdDogcmlnaHQ7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBkaXJlY3Rpb246IHJ0bDsKICAgICAgfQoKICAgICAgI3NlYXJjaC1tYXRjaDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItb3JhbmdlLXdlYWspOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGlKdC5wcm90b3R5cGUsInJlbmRlckhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZyxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0saUp0LnByb3RvdHlwZSwic2VsZWN0ZWROb2RlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGlKdC5wcm90b3R5cGUsIl9yYXdSZWdleElucHV0Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGlKdC5wcm90b3R5cGUsIl9wcmV2aW91c1JlZ2V4SW5wdXQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0saUp0LnByb3RvdHlwZSwiX3NlYXJjaFRpbWVvdXREZWxheSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGlKdC5wcm90b3R5cGUsIl9zZWFyY2hQZW5kaW5nIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGlKdC5wcm90b3R5cGUsIl9tYXhSZWdleFJlc3VsdHMiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLGlKdC5wcm90b3R5cGUsIl9yZWdleE1hdGNoZXMiLHZvaWQgMCksdChbcygicmVuZGVySGllcmFyY2h5IiwiX3Jhd1JlZ2V4SW5wdXQiKSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxpSnQucHJvdG90eXBlLCJfcmVnZXhJbnB1dCIsbnVsbCksdChbYSgiX3JlZ2V4SW5wdXQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGlKdC5wcm90b3R5cGUsIl9yZWdleElucHV0Q2hhbmdlZCIsbnVsbCksaUp0PXQoW2koInRmLWdyYXBoLW5vZGUtc2VhcmNoIildLGlKdCk7Y29uc3Qgckp0PS9kZXZpY2U6KFteOl0rOlswLTldKykkLyxvSnQ9W3tyZWdleDpySnR9XSxhSnQ9W10sc0p0PW5ldyBTZXQoW3JadC5DT01QVVRFX1RJTUUsclp0Lk1FTU9SWV0pO2xldCBsSnQ9Y2xhc3MgZXh0ZW5kcyhjcihnbCh3ZSkpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5Db2xvckJ5PXJadCx0aGlzLnN0YXRzPW51bGwsdGhpcy5kZXZpY2VzRm9yU3RhdHM9bnVsbCx0aGlzLmNvbG9yQnk9clp0LlNUUlVDVFVSRSx0aGlzLmRhdGFzZXRzPVtdLHRoaXMuX3NlbGVjdGVkUnVuSW5kZXg9MCx0aGlzLnRyYWNlSW5wdXRzPSExLHRoaXMuYXV0b0V4dHJhY3ROb2Rlcz0hMCx0aGlzLl9zZWxlY3RlZFRhZ0luZGV4PTAsdGhpcy5fc2VsZWN0ZWRHcmFwaFR5cGU9UVh0Lk9QX0dSQVBILHRoaXMuc2hvd1Nlc3Npb25SdW5zRHJvcGRvd249ITAsdGhpcy5zaG93VXBsb2FkQnV0dG9uPSEwLHRoaXMuX2xlZ2VuZE9wZW5lZD0hMCx0aGlzLl9kb3dubG9hZEZpbGVuYW1lPSJncmFwaC5wbmcifV9vbkdyYXBoVHlwZUNoYW5nZWRCeVVzZXJHZXN0dXJlKCl7aCR0KHthY3Rpb25JZDpCQXQuR1JBUEhfVFlQRV9DSEFOR0VELGV2ZW50TGFiZWw6dGhpcy5fc2VsZWN0ZWRHcmFwaFR5cGV9KX1fb25Db2xvckJ5Q2hhbmdlZEJ5VXNlckdlc3R1cmUoKXtoJHQoe2FjdGlvbklkOkJBdC5OT0RFX0NPTE9SX01PREVfQ0hBTkdFRCxldmVudExhYmVsOnRoaXMuY29sb3JCeX0pfV9vblRyYWNlSW5wdXRzQ2hhbmdlZEJ5VXNlckdlc3R1cmUoKXtoJHQoe2FjdGlvbklkOkJBdC5UUkFDRV9JTlBVVF9NT0RFX1RPR0dMRUR9KX1feGxhQ2x1c3RlcnNQcm92aWRlZCh0KXtyZXR1cm4gdCYmdC5oaWVyYXJjaHkmJnQuaGllcmFyY2h5LnhsYUNsdXN0ZXJzLmxlbmd0aD4wfV9zdGF0c0NoYW5nZWQodCl7aWYobnVsbCE9dCl7dmFyIGU9e307Q2UuZXhwb3J0cy5lYWNoKHQuZGV2X3N0YXRzLChmdW5jdGlvbih0KXt2YXIgbj1DZS5leHBvcnRzLnNvbWUob0p0LChmdW5jdGlvbihlKXtyZXR1cm4gZS5yZWdleC50ZXN0KHQuZGV2aWNlKX0pKSxpPUNlLmV4cG9ydHMuc29tZShhSnQsKGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlZ2V4LnRlc3QodC5kZXZpY2UpfSkpO24mJiFpJiYoZVt0LmRldmljZV09ITApfSkpLHRoaXMuc2V0KCJkZXZpY2VzRm9yU3RhdHMiLGUpfX1nZXQgX2N1cnJlbnREZXZpY2VzKCl7dmFyIHQ9dGhpcy5kZXZpY2VzRm9yU3RhdHM7Y29uc3QgZT10aGlzLnN0YXRzLG49KGU/ZS5kZXZfc3RhdHM6W10pLm1hcCgodD0+dC5kZXZpY2UpKS5maWx0ZXIoKHQ9Pm9KdC5zb21lKChlPT5lLnJlZ2V4LnRlc3QodCkpKSkpLGk9eCR0KG4pO2lmKDE9PWkubGVuZ3RoKXtjb25zdCB0PWlbMF0ubWF0Y2gockp0KTt0JiYoaVswXT10WzFdKX1yZXR1cm4gbi5tYXAoKChlLG4pPT57bGV0IHI9bnVsbDtyZXR1cm4gYUp0LmZvckVhY2goKHQ9Pnt0LnJlZ2V4LnRlc3QoZSkmJihyPXQubXNnKX0pKSx7ZGV2aWNlOmUsc3VmZml4Omlbbl0sdXNlZDp0W2VdLGlnbm9yZWRNc2c6cn19KSl9X2RldmljZUNoZWNrYm94Q2xpY2tlZCh0KXtjb25zdCBlPXQudGFyZ2V0LG49T2JqZWN0LmFzc2lnbih7fSx0aGlzLmRldmljZXNGb3JTdGF0cyksaT1lLnZhbHVlO2UuY2hlY2tlZD9uW2ldPSEwOmRlbGV0ZSBuW2ldLHRoaXMuc2V0KCJkZXZpY2VzRm9yU3RhdHMiLG4pfV9udW1UYWdzKHQsZSl7cmV0dXJuIHRoaXMuX2dldFRhZ3ModCxlKS5sZW5ndGh9X2dldFRhZ3ModCxlKXtyZXR1cm4gdCYmdFtlXT90W2VdLnRhZ3M6W119X2ZpdCgpe3RoaXMuZmlyZSgiZml0LXRhcCIpfV9pc0dyYWRpZW50Q29sb3JpbmcodCxlKXtyZXR1cm4gc0p0LmhhcyhlKSYmbnVsbCE9dH1fZXF1YWxzKHQsZSl7cmV0dXJuIHQ9PT1lfWdldCBfY3VycmVudERldmljZVBhcmFtcygpe2NvbnN0IHQ9dGhpcy5jb2xvckJ5UGFyYW1zLmRldmljZS5maWx0ZXIoKHQ9Pm9KdC5zb21lKChlPT5lLnJlZ2V4LnRlc3QodC5kZXZpY2UpKSkpKSxlPXgkdCh0Lm1hcCgodD0+dC5kZXZpY2UpKSk7aWYoMT09ZS5sZW5ndGgpe3ZhciBuPWVbMF0ubWF0Y2gockp0KTtuJiYoZVswXT1uWzFdKX1yZXR1cm4gdC5tYXAoKCh0LG4pPT4oe2RldmljZTplW25dLGNvbG9yOnQuY29sb3J9KSkpfWdldCBfY3VycmVudFhsYUNsdXN0ZXJQYXJhbXMoKXtyZXR1cm4gdGhpcy5jb2xvckJ5UGFyYW1zLnhsYV9jbHVzdGVyfWdldCBfY3VycmVudEdyYWRpZW50UGFyYW1zKCl7dmFyIHQ9dGhpcy5jb2xvckJ5UGFyYW1zLGU9dGhpcy5jb2xvckJ5O2lmKCF0aGlzLl9pc0dyYWRpZW50Q29sb3JpbmcodGhpcy5zdGF0cyxlKSlyZXR1cm47Y29uc3Qgbj10W2VdO2xldCBpPW4ubWluVmFsdWUscj1uLm1heFZhbHVlO3JldHVybiBlPT09clp0Lk1FTU9SWT8oaT12JHQoaSxfJHQpLHI9diR0KHIsXyR0KSk6ZT09PXJadC5DT01QVVRFX1RJTUUmJihpPXYkdChpLHkkdCkscj12JHQocix5JHQpKSx7bWluVmFsdWU6aSxtYXhWYWx1ZTpyLHN0YXJ0Q29sb3I6bi5zdGFydENvbG9yLGVuZENvbG9yOm4uZW5kQ29sb3J9fWRvd25sb2FkKCl7dGhpcy5maXJlKCJkb3dubG9hZC1pbWFnZS1yZXF1ZXN0ZWQiLHRoaXMuX2Rvd25sb2FkRmlsZW5hbWUpfV91cGRhdGVGaWxlSW5wdXQodCl7Y29uc3QgZT10LnRhcmdldC5maWxlc1swXTtpZighZSlyZXR1cm47bGV0IG49ZS5uYW1lO2NvbnN0IGk9bi5sYXN0SW5kZXhPZigiLiIpO2k+PTAmJihuPW4uc3Vic3RyaW5nKDAsaSkpO2NvbnN0IHI9bi5sYXN0SW5kZXhPZigiLyIpO3I+PTAmJihuPW4uc3Vic3RyaW5nKHIrMSkpLHRoaXMuX3NldERvd25sb2FkRmlsZW5hbWUobiksdGhpcy5zZXQoInNlbGVjdGVkRmlsZSIsdCksaCR0KHthY3Rpb25JZDpCQXQuVVBMT0FERURfR1JBUEhfRlJPTV9GSUxFU1lTVEVNfSl9X2RhdGFzZXRzQ2hhbmdlZCh0LGUpe3ZhciBuO251bGwhPWUmJih0aGlzLl9zZWxlY3RlZFJ1bkluZGV4PTApLHRoaXMuX3NldERvd25sb2FkRmlsZW5hbWUobnVsbD09PShuPXRoaXMuZGF0YXNldHNbdGhpcy5fc2VsZWN0ZWRSdW5JbmRleF0pfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLm5hbWUpfV9jb21wdXRlU2VsZWN0aW9uKHQsZSxuLGkpe3JldHVybiB0W2VdJiZ0W2VdLnRhZ3Nbbl0/e3J1bjp0W2VdLm5hbWUsdGFnOnRbZV0udGFnc1tuXS50YWcsdHlwZTppfTpudWxsfV9zZWxlY3RlZFJ1bkluZGV4Q2hhbmdlZCh0KXt2YXIgZTt0aGlzLmRhdGFzZXRzJiYodGhpcy5jb2xvckJ5PXJadC5TVFJVQ1RVUkUsdGhpcy5fc2VsZWN0ZWRUYWdJbmRleD0wLHRoaXMuX3NlbGVjdGVkR3JhcGhUeXBlPXRoaXMuX2dldERlZmF1bHRTZWxlY3Rpb25UeXBlKCksdGhpcy50cmFjZUlucHV0cz0hMSx0aGlzLl9zZXREb3dubG9hZEZpbGVuYW1lKG51bGw9PT0oZT10aGlzLmRhdGFzZXRzW3RdKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5uYW1lKSl9X3NlbGVjdGVkVGFnSW5kZXhDaGFuZ2VkKCl7dGhpcy5fc2VsZWN0ZWRHcmFwaFR5cGU9dGhpcy5fZ2V0RGVmYXVsdFNlbGVjdGlvblR5cGUoKX1fZ2V0RGVmYXVsdFNlbGVjdGlvblR5cGUoKXtjb25zdHtkYXRhc2V0czp0LF9zZWxlY3RlZFJ1bkluZGV4OmUsX3NlbGVjdGVkVGFnSW5kZXg6bn09dGhpcztpZighdHx8IXRbZV18fCF0W2VdLnRhZ3Nbbl18fHRbZV0udGFnc1tuXS5vcEdyYXBoKXJldHVybiBRWHQuT1BfR1JBUEg7Y29uc3QgaT10W2VdO3JldHVybiBpLnRhZ3Nbbl0ucHJvZmlsZT9RWHQuUFJPRklMRTppLnRhZ3Nbbl0uY29uY2VwdHVhbEdyYXBoP1FYdC5DT05DRVBUVUFMX0dSQVBIOlFYdC5PUF9HUkFQSH1fZ2V0RmlsZSgpe3RoaXMuJCQoIiNmaWxlIikuY2xpY2soKX1fc2V0RG93bmxvYWRGaWxlbmFtZSh0KXt0aGlzLl9kb3dubG9hZEZpbGVuYW1lPSh0fHwiZ3JhcGgiKSsiLnBuZyJ9X3N0YXRzTm90TnVsbCh0KXtyZXR1cm4gbnVsbCE9PXR9X3RvZ2dsZUxlZ2VuZE9wZW4oKXt0aGlzLnNldCgiX2xlZ2VuZE9wZW5lZCIsIXRoaXMuX2xlZ2VuZE9wZW5lZCl9X2dldFRvZ2dsZUxlZ2VuZEljb24odCl7cmV0dXJuIHQ/ImV4cGFuZC1tb3JlIjoiZXhwYW5kLWxlc3MifV9nZXRTZWxlY3Rpb25PcEdyYXBoRGlzYWJsZWQodCxlLG4pe3JldHVybiF0W2VdfHwhdFtlXS50YWdzW25dfHwhdFtlXS50YWdzW25dLm9wR3JhcGh9X2dldFNlbGVjdGlvblByb2ZpbGVEaXNhYmxlZCh0LGUsbil7cmV0dXJuIXRbZV18fCF0W2VdLnRhZ3Nbbl18fCF0W2VdLnRhZ3Nbbl0ucHJvZmlsZX1fZ2V0U2VsZWN0aW9uQ29uY2VwdHVhbEdyYXBoRGlzYWJsZWQodCxlLG4pe3JldHVybiF0W2VdfHwhdFtlXS50YWdzW25dfHwhdFtlXS50YWdzW25dLmNvbmNlcHR1YWxHcmFwaH19O2Z1bmN0aW9uIGNKdCh0KXtyZXR1cm4gbmV3IFByb21pc2UoKChlLG4pPT57ZmV0Y2godCkudGhlbigodD0+e3Qub2s/dC5hcnJheUJ1ZmZlcigpLnRoZW4oZSxuKTp0LnRleHQoKS50aGVuKG4sbil9KSl9KSl9ZnVuY3Rpb24gdUp0KHQsZSl7cmV0dXJuKGZ1bmN0aW9uIG4odCxlLGkscixvKXtyLnNldE1lc3NhZ2UodCk7dHJ5e2xldCBuPWQkdCh0LGksbyk7cmV0dXJuIHIudXBkYXRlUHJvZ3Jlc3MoZSksbn1jYXRjaChlKXtyLnJlcG9ydEVycm9yKCJGYWlsZWQgIit0LGUpfX0pKCJSZWFkaW5nIG1ldGFkYXRhIHBidHh0Iiw0MCwoKCk9Pm51bGw9PXQ/UHJvbWlzZS5yZXNvbHZlKG51bGwpOmNKdCh0KSksZSxCQXQuRkVUQ0hfTUVUQURBVEFfUEJUWFRfQllURVMpLnRoZW4oKHQ9PmckdCgiUGFyc2luZyBtZXRhZGF0YS5wYnR4dCIsNjAsKCgpPT5udWxsIT10PyhmdW5jdGlvbiBlKHQpe3JldHVybiBmSnQodCxwSnQpLnRoZW4oKHQ9PnQuc3RlcF9zdGF0cykpfSkodCk6UHJvbWlzZS5yZXNvbHZlKG51bGwpKSxlLEJBdC5QQVJTRV9NRVRBREFUQV9QQlRYVF9JTlRPX09CSkVDVCkpKX1mdW5jdGlvbiBoSnQodCxlLGkpe3JldHVybiBnJHQoIlJlYWRpbmcgZ3JhcGggcGJ0eHQiLDQwLCgoKT0+bih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0IG49RGF0ZS5ub3coKTtpZihlKXtjb25zdCB0PXlpZWxkIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LG4pe2xldCBpPW5ldyBGaWxlUmVhZGVyO2kub25sb2FkPSgpPT50KGkucmVzdWx0KSxpLm9uZXJyb3I9KCk9Pm4oaS5lcnJvciksaS5yZWFkQXNBcnJheUJ1ZmZlcihlKX0pKTtyZXR1cm4gaCR0KHt0aW1pbmdJZDpCQXQuRkVUQ0hfUEJUWFRfQllURVNfRlJPTV9GSUxFU1lTVEVNLGV2ZW50VmFsdWU6RGF0ZS5ub3coKS1ufSksdH1jb25zdCBpPXlpZWxkIGNKdCh0KTtyZXR1cm4gaCR0KHt0aW1pbmdJZDpCQXQuRkVUQ0hfUEJUWFRfQllURVNfRlJPTV9TRVJWRVIsZXZlbnRWYWx1ZTpEYXRlLm5vdygpLW59KSxpfSkpKSxpLEJBdC5GRVRDSF9QQlRYVF9CWVRFUykudGhlbigodD0+ZyR0KCJQYXJzaW5nIGdyYXBoLnBidHh0Iiw2MCwoKCk9PihmdW5jdGlvbiBlKHQpe3JldHVybiBmSnQodCxkSnQpfSkodCkpLGksQkF0LlBBUlNFX1BCVFhUX0lOVE9fT0JKRUNUKSkpfWxKdC50ZW1wbGF0ZT14ZWAKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGNvbG9yOiAjNTU1OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgLS10Yi1ncmFwaC1jb250cm9scy10aXRsZS1jb2xvcjogIzAwMDsKICAgICAgICAtLXRiLWdyYXBoLWNvbnRyb2xzLWxlZ2VuZC10ZXh0LWNvbG9yOiAjMDAwOwogICAgICAgIC0tdGItZ3JhcGgtY29udHJvbHMtdGV4dC1jb2xvcjogIzU1NTsKICAgICAgICAtLXRiLWdyYXBoLWNvbnRyb2xzLXRpdGxlLWZvbnQtc2l6ZTogMTRweDsKICAgICAgICAtLXRiLWdyYXBoLWNvbnRyb2xzLXN1YnRpdGxlLWZvbnQtc2l6ZTogMTRweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1zaGFyZWQtaW5wdXQtc3R5bGVfLV9mb250LXNpemU6IDE0cHg7CiAgICAgICAgLS1wYXBlci1mb250LXN1YmhlYWRfLV9mb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KC5kYXJrLW1vZGUpIHsKICAgICAgICAtLXRiLWdyYXBoLWNvbnRyb2xzLXRpdGxlLWNvbG9yOiAjZmZmOwogICAgICAgIC0tdGItZ3JhcGgtY29udHJvbHMtbGVnZW5kLXRleHQtY29sb3I6ICNmM2YzZjM7CiAgICAgICAgLS10Yi1ncmFwaC1jb250cm9scy10ZXh0LWNvbG9yOiAjZWVlOwogICAgICB9CgogICAgICBwYXBlci1kcm9wZG93bi1tZW51IHsKICAgICAgICAtLXBhcGVyLWRyb3Bkb3duLW1lbnUtaW5wdXQ6IHsKICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICBjb2xvcjogZ3JheTsKICAgICAgICB9CiAgICAgICAgLS1pcm9uLWljb24td2lkdGg6IDE1cHg7CiAgICAgICAgLS1pcm9uLWljb24taGVpZ2h0OiAxNXB4OwogICAgICAgIC0tcHJpbWFyeS10ZXh0LWNvbG9yOiBncmF5OwogICAgICAgIC0tcGFwZXItaXRlbS1taW4taGVpZ2h0OiAzMHB4OwogICAgICB9CgogICAgICBwYXBlci1idXR0b25bcmFpc2VkXS5rZXlib2FyZC1mb2N1cyB7CiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgICAgfQoKICAgICAgLnJ1bi1kcm9wZG93biB7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXI6IHsKICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCA1cHg7CiAgICAgICAgfQogICAgICB9CgogICAgICB0YWJsZSB7CiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgICAgICBib3JkZXItc3BhY2luZzogMDsKICAgICAgfQoKICAgICAgdGFibGUgdHIgewogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgfQoKICAgICAgdGFibGUgdGQgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAuYWxsY29udHJvbHMgewogICAgICAgIHBhZGRpbmc6IDAgMjBweCAyMHB4OwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICAubGVnZW5kLWhvbGRlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3IpOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLWdyYXBoLWNvbnRyb2xzLXRleHQtY29sb3IpOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAubGVnZW5kLXRvb2xiYXIgewogICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYzsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsKICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1ncmFwaC1jb250cm9scy1sZWdlbmQtdGV4dC1jb2xvcik7CiAgICAgICAgZm9udDogaW5oZXJpdDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAubGVnZW5kLXRvb2xiYXIsCiAgICAgIC5sZWdlbmQtY29udGVudCB7CiAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtbGVnZW5kLWJ1dHRvbiB7CiAgICAgICAgbWF4LWhlaWdodDogMjBweDsKICAgICAgICBtYXgtd2lkdGg6IDIwcHg7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1sZWdlbmQtdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS10Yi1ncmFwaC1jb250cm9scy1zdWJ0aXRsZS1mb250LXNpemUpOwogICAgICB9CgogICAgICBwYXBlci1yYWRpby1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDVweDsKICAgICAgfQogICAgICBzdmcuaWNvbiwKICAgICAgdGYtZ3JhcGgtaWNvbiB7CiAgICAgICAgd2lkdGg6IDYwcHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICB9CiAgICAgIC5kb21haW5WYWx1ZXMgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgd2lkdGg6IDE2NXB4OwogICAgICB9CiAgICAgIC5kb21haW5TdGFydCB7CiAgICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgIH0KICAgICAgLmRvbWFpbkVuZCB7CiAgICAgICAgZmxvYXQ6IHJpZ2h0OwogICAgICB9CiAgICAgIC5jb2xvckJveCB7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5pbWFnZS1pY29uIHsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5oZWxwLWljb24gewogICAgICAgIGhlaWdodDogMTVweDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLmdyYXkgewogICAgICAgIGNvbG9yOiAjNjY2OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGItZ3JhcGgtY29udHJvbHMtdGl0bGUtZm9udC1zaXplKTsKICAgICAgICBtYXJnaW46IDhweCA1cHggOHB4IDA7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLWdyYXBoLWNvbnRyb2xzLXRpdGxlLWNvbG9yKTsKICAgICAgfQogICAgICAudGl0bGUgc21hbGwgewogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIH0KICAgICAgLmRldmljZUxpc3QsCiAgICAgIC54bGFDbHVzdGVyTGlzdCB7CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQoKICAgICAgI2ZpbGUgewogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICB9CgogICAgICAuY29sb3ItbGVnZW5kLXJvdyB7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBjbGVhcjogYm90aDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgIH0KCiAgICAgIC5jb2xvci1sZWdlbmQtcm93IC5sYWJlbCwKICAgICAgLmNvbG9yLWxlZ2VuZC1yb3cgc3ZnLAogICAgICAuY29sb3ItbGVnZW5kLXJvdyB0Zi1ncmFwaC1pY29uIHsKICAgICAgICBmbGV4OiAwIDAgNDBweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5kZXZpY2VzLWNoZWNrYm94IGlucHV0IHsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC5jb250cm9sLWhvbGRlciAuaWNvbi1idXR0b24gewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGItZ3JhcGgtY29udHJvbHMtc3VidGl0bGUtZm9udC1zaXplKTsKICAgICAgICBtYXJnaW46IDAgLTVweDsKICAgICAgICBwYWRkaW5nOiA1cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLWdyYXBoLWNvbnRyb2xzLXRleHQtY29sb3IpOwogICAgICB9CgogICAgICAuYnV0dG9uLXRleHQgewogICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsKICAgICAgfQoKICAgICAgLnVwbG9hZC1idXR0b24gewogICAgICAgIHdpZHRoOiAxNjVweDsKICAgICAgICBoZWlnaHQ6IDI1cHg7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICB9CgogICAgICAuYnV0dG9uLWljb24gewogICAgICAgIHdpZHRoOiAyNnB4OwogICAgICAgIGhlaWdodDogMjZweDsKICAgICAgICBjb2xvcjogdmFyKC0tcGFwZXItb3JhbmdlLTUwMCk7CiAgICAgIH0KCiAgICAgIC5oaWRkZW4taW5wdXQgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5hbGxjb250cm9scyAuY29udHJvbC1ob2xkZXIgewogICAgICAgIGNsZWFyOiBib3RoOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICB9CgogICAgICAuYWxsY29udHJvbHMgLmNvbnRyb2wtaG9sZGVyLmNvbnRyb2wtb3B0aW9ucyB7CiAgICAgICAgcGFkZGluZzogMCAwIDE1cHggMTVweDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICAuYWxsY29udHJvbHMgLmNvbnRyb2wtaG9sZGVyIHBhcGVyLXRvZ2dsZS1idXR0b24gewogICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgfQoKICAgICAgc3Bhbi5jb3VudGVyIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXRiLWdyYXBoLWNvbnRyb2xzLXN1YnRpdGxlLWZvbnQtc2l6ZSk7CiAgICAgICAgY29sb3I6IGdyYXk7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDsKICAgICAgfQoKICAgICAgLnJ1bnMtcm93IC50aXRsZSwKICAgICAgLnRhZ3Mtcm93IC50aXRsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgIH0KCiAgICAgIC5ydW5zLXJvdyBwYXBlci1pdGVtLAogICAgICAudGFncy1yb3cgcGFwZXItaXRlbSB7CiAgICAgICAgLS1wYXBlci1pdGVtOiB7CiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIH0KICAgICAgfQoKICAgICAgdGFibGUuY29udHJvbC1ob2xkZXIgewogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgICB9CgogICAgICB0YWJsZS50Zi1ncmFwaC1jb250cm9scyB0ZC5pbnB1dC1lbGVtZW50LXRhYmxlLWRhdGEgewogICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7CiAgICAgIH0KCiAgICAgIC5zcGFjZXIgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQoKICAgICAgLmNvbG9yLXRleHQgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5jb2xvci10ZXh0LmdyYWRpZW50LWNvbnRhaW5lciB7CiAgICAgICAgbWFyZ2luOiAwIDVweDsKICAgICAgfQoKICAgICAgLyoqIE92ZXJyaWRlIGlubGluZSBzdHlsZXMgdGhhdCBzdXBwcmVzcyBwb2ludGVyIGV2ZW50cyBmb3IgZGlzYWJsZWQgYnV0dG9ucy4gT3RoZXJ3aXNlLCB0aGUgKi8KICAgICAgLyogIHRvb2x0aXBzIGRvIG5vdCBhcHBlYXIuICovCiAgICAgIHBhcGVyLXJhZGlvLWdyb3VwIHBhcGVyLXJhZGlvLWJ1dHRvbiB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLmxlZ2VuZC1jbGFyaWZpZXIgewogICAgICAgIGNvbG9yOiAjMjY2MjM2OwogICAgICAgIGN1cnNvcjogaGVscDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5sZWdlbmQtY2xhcmlmaWVyIHBhcGVyLXRvb2x0aXAgewogICAgICAgIHdpZHRoOiAxNTBweDsKICAgICAgfQoKICAgICAgLyoqIE90aGVyd2lzZSwgcG9seW1lciBVSSBjb250cm9scyBhcHBlYXIgYXRvcCBub2RlIHNlYXJjaC4gKi8KICAgICAgdGYtZ3JhcGgtbm9kZS1zZWFyY2ggewogICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJhbGxjb250cm9scyI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtaG9sZGVyIj4KICAgICAgICA8dGYtZ3JhcGgtbm9kZS1zZWFyY2gKICAgICAgICAgIHNlbGVjdGVkLW5vZGU9Int7c2VsZWN0ZWROb2RlfX0iCiAgICAgICAgICByZW5kZXItaGllcmFyY2h5PSJbW3JlbmRlckhpZXJhcmNoeV1dIgogICAgICAgID48L3RmLWdyYXBoLW5vZGUtc2VhcmNoPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIiPgogICAgICAgIDxwYXBlci1idXR0b24gY2xhc3M9Imljb24tYnV0dG9uIiBvbi10YXA9Il9maXQiIGFsdD0iRml0IHRvIHNjcmVlbiI+CiAgICAgICAgICA8aXJvbi1pY29uIGljb249ImFzcGVjdC1yYXRpbyIgY2xhc3M9ImJ1dHRvbi1pY29uIj48L2lyb24taWNvbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJidXR0b24tdGV4dCI+Rml0IHRvIHNjcmVlbjwvc3Bhbj4KICAgICAgICA8L3BhcGVyLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtaG9sZGVyIj4KICAgICAgICA8cGFwZXItYnV0dG9uCiAgICAgICAgICBjbGFzcz0iaWNvbi1idXR0b24iCiAgICAgICAgICBvbi1jbGljaz0iZG93bmxvYWQiCiAgICAgICAgICBhbHQ9IkRvd25sb2FkIFBORyIKICAgICAgICA+CiAgICAgICAgICA8aXJvbi1pY29uIGljb249ImZpbGUtZG93bmxvYWQiIGNsYXNzPSJidXR0b24taWNvbiI+PC9pcm9uLWljb24+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iYnV0dG9uLXRleHQiPkRvd25sb2FkIFBORzwvc3Bhbj4KICAgICAgICA8L3BhcGVyLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tzaG93VXBsb2FkQnV0dG9uXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtaG9sZGVyIj4KICAgICAgICAgIDxwYXBlci1idXR0b24KICAgICAgICAgICAgY2xhc3M9Imljb24tYnV0dG9uIgogICAgICAgICAgICBvbi1jbGljaz0iX2dldEZpbGUiCiAgICAgICAgICAgIGFsdD0iVXBsb2FkIGZpbGUiCiAgICAgICAgICAgIHRpdGxlPSJVcGxvYWQgYSBwYnR4dCBmaWxlIHRvIHZpZXcgYSBncmFwaCBmcm9tIHRoZSBsb2NhbCBmaWxlc3lzdGVtIgogICAgICAgICAgPgogICAgICAgICAgICA8aXJvbi1pY29uIGljb249ImZpbGUtdXBsb2FkIiBjbGFzcz0iYnV0dG9uLWljb24iPjwvaXJvbi1pY29uPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYnV0dG9uLXRleHQiPlVwbG9hZCBmaWxlPC9zcGFuPgogICAgICAgICAgPC9wYXBlci1idXR0b24+CgogICAgICAgICAgPGRpdiBjbGFzcz0iaGlkZGVuLWlucHV0Ij4KICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgdHlwZT0iZmlsZSIKICAgICAgICAgICAgICBpZD0iZmlsZSIKICAgICAgICAgICAgICBuYW1lPSJmaWxlIgogICAgICAgICAgICAgIG9uLWNoYW5nZT0iX3VwZGF0ZUZpbGVJbnB1dCIKICAgICAgICAgICAgICBhY2NlcHQ9Ii5wYnR4dCIKICAgICAgICAgICAgLz4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWhvbGRlciBydW5zLXJvdyI+CiAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPgogICAgICAgICAgUnVuIDxzcGFuIGNsYXNzPSJjb3VudGVyIj4oW1tkYXRhc2V0cy5sZW5ndGhdXSk8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUKICAgICAgICAgIG5vLWxhYmVsLWZsb2F0CiAgICAgICAgICBuby1hbmltYXRpb25zCiAgICAgICAgICBub2luawogICAgICAgICAgaG9yaXpvbnRhbC1hbGlnbj0ibGVmdCIKICAgICAgICAgIGNsYXNzPSJydW4tZHJvcGRvd24iCiAgICAgICAgPgogICAgICAgICAgPHBhcGVyLWxpc3Rib3gKICAgICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICAgIHNlbGVjdGVkPSJ7e19zZWxlY3RlZFJ1bkluZGV4fX0iCiAgICAgICAgICAgIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICA+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbZGF0YXNldHNdXSI+CiAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+W1tpdGVtLm5hbWVdXTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgIDwvZGl2PgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9Iltbc2hvd1Nlc3Npb25SdW5zRHJvcGRvd25dXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIgdGFncy1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPgogICAgICAgICAgICBUYWcKICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvdW50ZXIiCiAgICAgICAgICAgICAgPihbW19udW1UYWdzKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCldXSk8L3NwYW4KICAgICAgICAgICAgPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8cGFwZXItZHJvcGRvd24tbWVudQogICAgICAgICAgICBuby1sYWJlbC1mbG9hdAogICAgICAgICAgICBuby1hbmltYXRpb25zCiAgICAgICAgICAgIGhvcml6b250YWwtYWxpZ249ImxlZnQiCiAgICAgICAgICAgIG5vaW5rCiAgICAgICAgICAgIGNsYXNzPSJydW4tZHJvcGRvd24iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxwYXBlci1saXN0Ym94CiAgICAgICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICAgICAgc2VsZWN0ZWQ9Int7X3NlbGVjdGVkVGFnSW5kZXh9fSIKICAgICAgICAgICAgICBzbG90PSJkcm9wZG93bi1jb250ZW50IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHRlbXBsYXRlCiAgICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICAgIGl0ZW1zPSJbW19nZXRUYWdzKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCldXSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5bW2l0ZW0uZGlzcGxheU5hbWVdXTwvcGFwZXItaXRlbT4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5HcmFwaCB0eXBlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtaG9sZGVyIGNvbnRyb2wtb3B0aW9ucyI+CiAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwCiAgICAgICAgICBzZWxlY3RlZD0ie3tfc2VsZWN0ZWRHcmFwaFR5cGV9fSIKICAgICAgICAgIG9uLXBhcGVyLXJhZGlvLWdyb3VwLWNoYW5nZWQ9Il9vbkdyYXBoVHlwZUNoYW5nZWRCeVVzZXJHZXN0dXJlIgogICAgICAgID4KICAgICAgICAgIDwhLS0gTm90ZSB0aGF0IHRoZSBuYW1lIGhhcyB0byBtYXRjaCB0aGF0IG9mIHRmX2dyYXBoX2NvbW1vbi5TZWxlY3Rpb25UeXBlLiAtLT4KICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24KICAgICAgICAgICAgbmFtZT0ib3BfZ3JhcGgiCiAgICAgICAgICAgIGRpc2FibGVkPSJbW19nZXRTZWxlY3Rpb25PcEdyYXBoRGlzYWJsZWQoZGF0YXNldHMsIF9zZWxlY3RlZFJ1bkluZGV4LCBfc2VsZWN0ZWRUYWdJbmRleCldXSIKICAgICAgICAgICAgPk9wIGdyYXBoPC9wYXBlci1yYWRpby1idXR0b24KICAgICAgICAgID4KICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24KICAgICAgICAgICAgbmFtZT0iY29uY2VwdHVhbF9ncmFwaCIKICAgICAgICAgICAgZGlzYWJsZWQ9IltbX2dldFNlbGVjdGlvbkNvbmNlcHR1YWxHcmFwaERpc2FibGVkKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCwgX3NlbGVjdGVkVGFnSW5kZXgpXV0iCiAgICAgICAgICAgID5Db25jZXB0dWFsIGdyYXBoPC9wYXBlci1yYWRpby1idXR0b24KICAgICAgICAgID4KICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24KICAgICAgICAgICAgbmFtZT0icHJvZmlsZSIKICAgICAgICAgICAgZGlzYWJsZWQ9IltbX2dldFNlbGVjdGlvblByb2ZpbGVEaXNhYmxlZChkYXRhc2V0cywgX3NlbGVjdGVkUnVuSW5kZXgsIF9zZWxlY3RlZFRhZ0luZGV4KV1dIgogICAgICAgICAgICA+UHJvZmlsZTwvcGFwZXItcmFkaW8tYnV0dG9uCiAgICAgICAgICA+CiAgICAgICAgPC9wYXBlci1yYWRpby1ncm91cD4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5Ob2RlIG9wdGlvbnM8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIgY29udHJvbC1vcHRpb25zIj4KICAgICAgICA8cGFwZXItdG9nZ2xlLWJ1dHRvbgogICAgICAgICAgY2hlY2tlZD0ie3t0cmFjZUlucHV0c319IgogICAgICAgICAgb24tY2hhbmdlPSJfb25UcmFjZUlucHV0c0NoYW5nZWRCeVVzZXJHZXN0dXJlIgogICAgICAgID4KICAgICAgICAgIFRyYWNlIGlucHV0cwogICAgICAgIDwvcGFwZXItdG9nZ2xlLWJ1dHRvbj4KICAgICAgICA8cGFwZXItdG9nZ2xlLWJ1dHRvbiBjaGVja2VkPSJ7e2F1dG9FeHRyYWN0Tm9kZXN9fSI+CiAgICAgICAgICBBdXRvLWV4dHJhY3QgaGlnaC1kZWdyZWUgbm9kZXMKICAgICAgICA8L3BhcGVyLXRvZ2dsZS1idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbaGVhbHRoUGlsbHNGZWF0dXJlRW5hYmxlZF1dIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWhvbGRlciI+CiAgICAgICAgICA8cGFwZXItdG9nZ2xlLWJ1dHRvbiBjaGVja2VkPSJ7e2hlYWx0aFBpbGxzVG9nZ2xlZE9ufX0iCiAgICAgICAgICAgID5TaG93IGhlYWx0aCBwaWxsczwvcGFwZXItdG9nZ2xlLWJ1dHRvbgogICAgICAgICAgPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+Q29sb3IgYnk8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ob2xkZXIgY29udHJvbC1vcHRpb25zIj4KICAgICAgICA8cGFwZXItcmFkaW8tZ3JvdXAKICAgICAgICAgIHNlbGVjdGVkPSJ7e2NvbG9yQnl9fSIKICAgICAgICAgIG9uLXBhcGVyLXJhZGlvLWdyb3VwLWNoYW5nZWQ9Il9vbkNvbG9yQnlDaGFuZ2VkQnlVc2VyR2VzdHVyZSIKICAgICAgICA+CiAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIG5hbWU9IltbQ29sb3JCeS5OT05FXV0iPk5vbmU8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KCiAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIG5hbWU9IltbQ29sb3JCeS5TVFJVQ1RVUkVdXSIKICAgICAgICAgICAgPlN0cnVjdHVyZTwvcGFwZXItcmFkaW8tYnV0dG9uCiAgICAgICAgICA+CgogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBuYW1lPSJbW0NvbG9yQnkuREVWSUNFXV0iCiAgICAgICAgICAgID5EZXZpY2U8L3BhcGVyLXJhZGlvLWJ1dHRvbgogICAgICAgICAgPgoKICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24KICAgICAgICAgICAgaWQ9InhsYS1jbHVzdGVyLXJhZGlvLWJ1dHRvbiIKICAgICAgICAgICAgbmFtZT0iW1tDb2xvckJ5LlhMQV9DTFVTVEVSXV0iCiAgICAgICAgICAgIGRpc2FibGVkPSJbWyFfeGxhQ2x1c3RlcnNQcm92aWRlZChyZW5kZXJIaWVyYXJjaHkpXV0iCiAgICAgICAgICA+CiAgICAgICAgICAgIFhMQSBjbHVzdGVyCiAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgIDxwYXBlci10b29sdGlwCiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheT0iMCIKICAgICAgICAgICAgZm9yPSJ4bGEtY2x1c3Rlci1yYWRpby1idXR0b24iCiAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgPgogICAgICAgICAgICBDb2xvcmluZyBieSBYTEEgY2x1c3RlciBpcyBvbmx5IGVuYWJsZWQgaWYgYXQgbGVhc3QgMSBvcCBzcGVjaWZpZXMKICAgICAgICAgICAgYW4gWExBIGNsdXN0ZXIuCiAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CgogICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbgogICAgICAgICAgICBpZD0iY29tcHV0ZS10aW1lLXJhZGlvLWJ1dHRvbiIKICAgICAgICAgICAgbmFtZT0iW1tDb2xvckJ5LkNPTVBVVEVfVElNRV1dIgogICAgICAgICAgICBkaXNhYmxlZD0iW1shc3RhdHNdXSIKICAgICAgICAgID4KICAgICAgICAgICAgQ29tcHV0ZSB0aW1lCiAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgIDxwYXBlci10b29sdGlwCiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheT0iMCIKICAgICAgICAgICAgZm9yPSJjb21wdXRlLXRpbWUtcmFkaW8tYnV0dG9uIgogICAgICAgICAgICBwb3NpdGlvbj0icmlnaHQiCiAgICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgID4KICAgICAgICAgICAgQ29sb3JpbmcgYnkgY29tcHV0ZSB0aW1lIGlzIG9ubHkgZW5hYmxlZCBpZiB0aGUgUnVuTWV0YWRhdGEgcHJvdG8gaXMKICAgICAgICAgICAgcGFzc2VkIHRvIHRoZSBGaWxlV3JpdGVyIHdoZW4gYSBzcGVjaWZpYyBzZXNzaW9uIGlzIHJ1bi4KICAgICAgICAgIDwvcGFwZXItdG9vbHRpcD4KCiAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uCiAgICAgICAgICAgIGlkPSJtZW1vcnktcmFkaW8tYnV0dG9uIgogICAgICAgICAgICBuYW1lPSJbW0NvbG9yQnkuTUVNT1JZXV0iCiAgICAgICAgICAgIGRpc2FibGVkPSJbWyFzdGF0c11dIgogICAgICAgICAgPgogICAgICAgICAgICBNZW1vcnkKICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICBmb3I9Im1lbW9yeS1yYWRpby1idXR0b24iCiAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgPgogICAgICAgICAgICBDb2xvcmluZyBieSBtZW1vcnkgaXMgb25seSBlbmFibGVkIGlmIHRoZSBSdW5NZXRhZGF0YSBwcm90byBpcwogICAgICAgICAgICBwYXNzZWQgdG8gdGhlIEZpbGVXcml0ZXIgd2hlbiBhIHNwZWNpZmljIHNlc3Npb24gaXMgcnVuLgogICAgICAgICAgPC9wYXBlci10b29sdGlwPgoKICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24KICAgICAgICAgICAgaWQ9InRwdS1jb21wYXRpYmlsaXR5LXJhZGlvLWJ1dHRvbiIKICAgICAgICAgICAgbmFtZT0iW1tDb2xvckJ5Lk9QX0NPTVBBVElCSUxJVFldXSIKICAgICAgICAgID4KICAgICAgICAgICAgVFBVIGNvbXBhdGliaWxpdHkKICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICBmb3I9InRwdS1jb21wYXRpYmlsaXR5LXJhZGlvLWJ1dHRvbiIKICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgICA+CiAgICAgICAgICAgIENvbG9yaW5nIGJ5IHdoZXRoZXIgYW4gb3BlcmF0aW9uIGlzIGNvbXBhdGlibGUgZm9yIHRoZSBUUFUgZGV2aWNlLgogICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgIDwvcGFwZXItcmFkaW8tZ3JvdXA+CiAgICAgICAgPHNwYW4gY2xhc3M9InNwYWNlciI+PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0ibGVnZW5kLWhvbGRlciI+CiAgICAgIDxidXR0b24gY2xhc3M9ImxlZ2VuZC10b29sYmFyIiBvbi1jbGljaz0iX3RvZ2dsZUxlZ2VuZE9wZW4iPgogICAgICAgIDxzcGFuIGNsYXNzPSJ0b2dnbGUtbGVnZW5kLXRleHQiPkxlZ2VuZDwvc3Bhbj4KICAgICAgICA8aXJvbi1pY29uCiAgICAgICAgICBpY29uPSJbW19nZXRUb2dnbGVMZWdlbmRJY29uKF9sZWdlbmRPcGVuZWQpXV0iCiAgICAgICAgICBjbGFzcz0idG9nZ2xlLWxlZ2VuZC1idXR0b24iCiAgICAgICAgPgogICAgICAgIDwvaXJvbi1pY29uPgogICAgICA8L2J1dHRvbj4KICAgICAgPGlyb24tY29sbGFwc2Ugb3BlbmVkPSJbW19sZWdlbmRPcGVuZWRdXSIgY2xhc3M9ImxlZ2VuZC1jb250ZW50Ij4KICAgICAgICA8IS0tIENvbG9yLW1vZGUtc3BlY2lmaWMgbGVnZW5kIGl0ZW1zIC0tPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzR3JhZGllbnRDb2xvcmluZyhzdGF0cywgY29sb3JCeSldXSI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0MCIgaGVpZ2h0PSIyMCIgY2xhc3M9ImNvbG9yLXRleHQgZ3JhZGllbnQtY29udGFpbmVyIj4KICAgICAgICAgICAgICA8ZGVmcz4KICAgICAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgICAgICAgICAgICBpZD0ibGluZWFyR3JhZGllbnQiCiAgICAgICAgICAgICAgICAgIHgxPSIwJSIKICAgICAgICAgICAgICAgICAgeTE9IjAlIgogICAgICAgICAgICAgICAgICB4Mj0iMTAwJSIKICAgICAgICAgICAgICAgICAgeTI9IjAlIgogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICA8c3RvcAogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJzdGFydCIKICAgICAgICAgICAgICAgICAgICBvZmZzZXQ9IjAlIgogICAgICAgICAgICAgICAgICAgIHN0b3AtY29sb3IkPSJbW19jdXJyZW50R3JhZGllbnRQYXJhbXMuc3RhcnRDb2xvcl1dIgogICAgICAgICAgICAgICAgICA+PC9zdG9wPgogICAgICAgICAgICAgICAgICA8c3RvcAogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJlbmQiCiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIxMDAlIgogICAgICAgICAgICAgICAgICAgIHN0b3AtY29sb3IkPSJbW19jdXJyZW50R3JhZGllbnRQYXJhbXMuZW5kQ29sb3JdXSIKICAgICAgICAgICAgICAgICAgPjwvc3RvcD4KICAgICAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgICAgICAgPC9kZWZzPgogICAgICAgICAgICAgIDxyZWN0CiAgICAgICAgICAgICAgICB4PSIwIgogICAgICAgICAgICAgICAgeT0iMCIKICAgICAgICAgICAgICAgIHdpZHRoPSIxMzUiCiAgICAgICAgICAgICAgICBoZWlnaHQ9IjIwIgogICAgICAgICAgICAgICAgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudCkiCiAgICAgICAgICAgICAgICBzdHJva2U9ImJsYWNrIgogICAgICAgICAgICAgID48L3JlY3Q+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkb21haW5WYWx1ZXMgY29sb3ItdGV4dCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG9tYWluU3RhcnQiPltbX2N1cnJlbnRHcmFkaWVudFBhcmFtcy5taW5WYWx1ZV1dPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG9tYWluRW5kIj5bW19jdXJyZW50R3JhZGllbnRQYXJhbXMubWF4VmFsdWVdXTwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGJyIHN0eWxlPSJjbGVhcjogYm90aCIgLz4KICAgICAgICAgICAgPGRpdj5EZXZpY2VzIGluY2x1ZGVkIGluIHN0YXRzOjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXZpY2VMaXN0Ij4KICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jdXJyZW50RGV2aWNlc11dIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3cgZGV2aWNlcy1jaGVja2JveCI+CiAgICAgICAgICAgICAgICAgIDxzcGFuCiAgICAgICAgICAgICAgICAgICAgPjxpbnB1dAogICAgICAgICAgICAgICAgICAgICAgdHlwZT0iY2hlY2tib3giCiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSQ9IltbaXRlbS5kZXZpY2VdXSIKICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQkPSJbW2l0ZW0udXNlZF1dIgogICAgICAgICAgICAgICAgICAgICAgb24tY2xpY2s9Il9kZXZpY2VDaGVja2JveENsaWNrZWQiCiAgICAgICAgICAgICAgICAgIC8+PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3Bhbj5bW2l0ZW0uc3VmZml4XV08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tpdGVtLmlnbm9yZWRNc2ddXSI+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgICAgICAgICAgICAgICBpY29uPSJoZWxwIgogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImhlbHAtaWNvbiIKICAgICAgICAgICAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcAogICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICAgICAgPltbaXRlbS5pZ25vcmVkTXNnXV08L3BhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2VxdWFscyhjb2xvckJ5LCAnc3RydWN0dXJlJyldXSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLXRleHQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIj4gY29sb3JzIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1sZWdlbmQtdmFsdWUiPnNhbWUgc3Vic3RydWN0dXJlPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICAgICAgPHRmLWdyYXBoLWljb24KICAgICAgICAgICAgICAgICAgdHlwZT0iTUVUQSIKICAgICAgICAgICAgICAgICAgaGVpZ2h0PSIxNiIKICAgICAgICAgICAgICAgICAgZmlsbC1vdmVycmlkZT0iI2VlZSIKICAgICAgICAgICAgICAgICAgc3Ryb2tlLW92ZXJyaWRlPSIjYTZhNmE2IgogICAgICAgICAgICAgICAgPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1sZWdlbmQtdmFsdWUiPnVuaXF1ZSBzdWJzdHJ1Y3R1cmU8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZXF1YWxzKGNvbG9yQnksICdkZXZpY2UnKV1dIj4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jdXJyZW50RGV2aWNlUGFyYW1zXV0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGVnZW5kLXJvdyI+CiAgICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uCiAgICAgICAgICAgICAgICAgICAgdHlwZT0iTUVUQSIKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgICAgICAgICAgICAgIGZpbGwtb3ZlcnJpZGU9IltbaXRlbS5jb2xvcl1dIgogICAgICAgICAgICAgICAgICAgIHN0cm9rZS1vdmVycmlkZT0iI2E2YTZhNiIKICAgICAgICAgICAgICAgICAgPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWxlZ2VuZC12YWx1ZSI+W1tpdGVtLmRldmljZV1dPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sZWdlbmQtcm93Ij4KICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uCiAgICAgICAgICAgICAgICAgIHR5cGU9Ik1FVEEiCiAgICAgICAgICAgICAgICAgIGhlaWdodD0iMTYiCiAgICAgICAgICAgICAgICAgIGZpbGwtb3ZlcnJpZGU9IiNlZWUiCiAgICAgICAgICAgICAgICAgIHN0cm9rZS1vdmVycmlkZT0iI2E2YTZhNiIKICAgICAgICAgICAgICAgID48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj51bmtub3duIGRldmljZTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19lcXVhbHMoY29sb3JCeSwgJ3hsYV9jbHVzdGVyJyldXSI+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY3VycmVudFhsYUNsdXN0ZXJQYXJhbXNdXSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2xvci1sZWdlbmQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHN2Zz4KICAgICAgICAgICAgICAgICAgICA8dXNlCiAgICAgICAgICAgICAgICAgICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKICAgICAgICAgICAgICAgICAgICAgIHhsaW5rOmhyZWY9IiN1bmZpbGxlZC1yZWN0IgogICAgICAgICAgICAgICAgICAgICAgeD0iMCIKICAgICAgICAgICAgICAgICAgICAgIHk9IjAiCiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT0iZmlsbDpbW2l0ZW0uY29sb3JdXSIKICAgICAgICAgICAgICAgICAgICA+PC91c2U+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj5bW2l0ZW0ueGxhX2NsdXN0ZXJdXTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGVnZW5kLXJvdyI+CiAgICAgICAgICAgICAgICA8c3ZnPgogICAgICAgICAgICAgICAgICA8dXNlCiAgICAgICAgICAgICAgICAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgICAgICAgICAgICAgICAgICAgeGxpbms6aHJlZj0iI2dyZXktcmVjdCIKICAgICAgICAgICAgICAgICAgICB4PSIwIgogICAgICAgICAgICAgICAgICAgIHk9IjAiCiAgICAgICAgICAgICAgICAgID48L3VzZT4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbG9yLWxlZ2VuZC12YWx1ZSI+dW5rbm93biBYTEEgY2x1c3Rlcjwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19lcXVhbHMoY29sb3JCeSwgJ29wX2NvbXBhdGliaWxpdHknKV1dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItdGV4dCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sb3ItbGVnZW5kLXJvdyI+CiAgICAgICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbgogICAgICAgICAgICAgICAgICB0eXBlPSJPUCIKICAgICAgICAgICAgICAgICAgaGVpZ2h0PSIxNiIKICAgICAgICAgICAgICAgICAgZmlsbC1vdmVycmlkZT0iIzBmOWQ1OCIKICAgICAgICAgICAgICAgICAgc3Ryb2tlLW92ZXJyaWRlPSIjY2NjIgogICAgICAgICAgICAgICAgPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb2xvci1sZWdlbmQtdmFsdWUiPlZhbGlkIE9wPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICAgICAgPHRmLWdyYXBoLWljb24KICAgICAgICAgICAgICAgICAgdHlwZT0iT1AiCiAgICAgICAgICAgICAgICAgIGhlaWdodD0iMTYiCiAgICAgICAgICAgICAgICAgIGZpbGwtb3ZlcnJpZGU9IiNkYjQ0MzciCiAgICAgICAgICAgICAgICAgIHN0cm9rZS1vdmVycmlkZT0iI2NjYyIKICAgICAgICAgICAgICAgID48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj5JbnZhbGlkIE9wPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX3N0YXRzTm90TnVsbChzdGF0cyldXSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbG9yLWxlZ2VuZC1yb3ciPgogICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9Ik1FVEEiIGhlaWdodD0iMTYiIGZhZGVkPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29sb3ItbGVnZW5kLXZhbHVlIj51bnVzZWQgc3Vic3RydWN0dXJlPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gQ29tbW9uIGxlZ2VuZCBpdGVtcyAtLT4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHRhYmxlPgogICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgPHRkPjwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+KCogPSBleHBhbmRhYmxlKTwvdGQ+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uCiAgICAgICAgICAgICAgICAgICAgdHlwZT0iTUVUQSIKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgICAgICAgICAgICAgIGZpbGwtb3ZlcnJpZGU9IiNkOWQ5ZDkiCiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLW92ZXJyaWRlPSIjY2NjIgogICAgICAgICAgICAgICAgICA+PC90Zi1ncmFwaC1pY29uPgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgTmFtZXNwYWNlPHNwYW4gY2xhc3M9ImdyYXkiPio8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheT0iMCIKICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICBFbmNhcHN1bGF0ZXMgYSBzZXQgb2Ygbm9kZXMuIE5hbWVzcGFjZSBpcyBoaWVyYXJjaGljYWwgYW5kCiAgICAgICAgICAgICAgICAgICAgICBiYXNlZCBvbiBzY29wZS4KICAgICAgICAgICAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgPHRmLWdyYXBoLWljb24gdHlwZT0iT1AiIGhlaWdodD0iMTYiPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIE9wTm9kZQogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsZWdlbmQtY2xhcmlmaWVyIj4KICAgICAgICAgICAgICAgICAgICA8c3Bhbj4/PC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxwYXBlci10b29sdGlwCiAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk9IjAiCiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbj0icmlnaHQiCiAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgTm9kZSB0aGF0IHBlcmZvcm1zIGFuIG9wZXJhdGlvbi4gVGhlc2Ugbm9kZXMgY2Fubm90CiAgICAgICAgICAgICAgICAgICAgICBleHBhbmQuCiAgICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9IlNFUklFUyIgaGVpZ2h0PSIxNiI+PC90Zi1ncmFwaC1pY29uPgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgVW5jb25uZWN0ZWQgc2VyaWVzPHNwYW4gY2xhc3M9ImdyYXkiPio8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheT0iMCIKICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICBTZXF1ZW5jZSBvZiBudW1iZXJlZCBub2RlcyB0aGF0IGFyZSBub3QgY29ubmVjdGVkIHRvIGVhY2gKICAgICAgICAgICAgICAgICAgICAgIG90aGVyLgogICAgICAgICAgICAgICAgICAgIDwvcGFwZXItdG9vbHRpcD4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICA8dGYtZ3JhcGgtaWNvbgogICAgICAgICAgICAgICAgICAgIHR5cGU9IlNFUklFUyIKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE2IgogICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsCiAgICAgICAgICAgICAgICAgID48L3RmLWdyYXBoLWljb24+CiAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICBDb25uZWN0ZWQgc2VyaWVzPHNwYW4gY2xhc3M9ImdyYXkiPio8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheT0iMCIKICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICBTZXF1ZW5jZSBvZiBudW1iZXJlZCBub2RlcyB0aGF0IGFyZSBjb25uZWN0ZWQgdG8gZWFjaAogICAgICAgICAgICAgICAgICAgICAgb3RoZXIuCiAgICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Imljb24iPgogICAgICAgICAgICAgICAgICAgIDxjaXJjbGUKICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IndoaXRlIgogICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPSIjODQ4NDg0IgogICAgICAgICAgICAgICAgICAgICAgY3g9IjEwIgogICAgICAgICAgICAgICAgICAgICAgY3k9IjEwIgogICAgICAgICAgICAgICAgICAgICAgcj0iNSIKICAgICAgICAgICAgICAgICAgICA+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgQ29uc3RhbnQKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcAogICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgIE5vZGUgdGhhdCBvdXRwdXRzIGEgY29uc3RhbnQgdmFsdWUuCiAgICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIDx0Zi1ncmFwaC1pY29uIHR5cGU9IlNVTU1BUlkiIGhlaWdodD0iMjAiPjwvdGYtZ3JhcGgtaWNvbj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIFN1bW1hcnkKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcAogICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgIE5vZGUgdGhhdCBjb2xsZWN0cyBkYXRhIGZvciB2aXN1YWxpemF0aW9uIHdpdGhpbgogICAgICAgICAgICAgICAgICAgICAgVGVuc29yQm9hcmQuCiAgICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIDxzdmcKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaWNvbiIKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE1cHgiCiAgICAgICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaWQgbWVldCIKICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PSIwIDAgMTUgMTUiCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICA8ZGVmcz4KICAgICAgICAgICAgICAgICAgICAgIDxtYXJrZXIKICAgICAgICAgICAgICAgICAgICAgICAgaWQ9ImRhdGFmbG93LWFycm93aGVhZC1sZWdlbmQiCiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiNiYmIiCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtlcldpZHRoPSIxMCIKICAgICAgICAgICAgICAgICAgICAgICAgbWFya2VySGVpZ2h0PSIxMCIKICAgICAgICAgICAgICAgICAgICAgICAgcmVmWD0iOSIKICAgICAgICAgICAgICAgICAgICAgICAgcmVmWT0iNSIKICAgICAgICAgICAgICAgICAgICAgICAgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiCiAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0gMCwwIEwgMTAsNSBMIDAsMTAgQyAzLDcgMywzIDAsMCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgPC9tYXJrZXI+CiAgICAgICAgICAgICAgICAgICAgPC9kZWZzPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICBtYXJrZXItZW5kPSJ1cmwoI2RhdGFmbG93LWFycm93aGVhZC1sZWdlbmQpIgogICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPSIjYmJiIgogICAgICAgICAgICAgICAgICAgICAgZD0iTTIgOSBsIDI5IDAiCiAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD0icm91bmQiCiAgICAgICAgICAgICAgICAgICAgPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICBEYXRhZmxvdyBlZGdlCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZ2VuZC1jbGFyaWZpZXIiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPj88L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheT0iMCIKICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICBFZGdlIHNob3dpbmcgdGhlIGRhdGEgZmxvdyBiZXR3ZWVuIG9wZXJhdGlvbnMuIEVkZ2VzIGZsb3cKICAgICAgICAgICAgICAgICAgICAgIHVwd2FyZHMgdW5sZXNzIGFycm93aGVhZHMgc3BlY2lmeSBvdGhlcndpc2UuCiAgICAgICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgIDxzdmcKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaWNvbiIKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjE1cHgiCiAgICAgICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaWQgbWVldCIKICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PSIwIDAgMTUgMTUiCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPSIjYmJiIgogICAgICAgICAgICAgICAgICAgICAgZD0iTTIgOSBsIDI5IDAiCiAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD0icm91bmQiCiAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PSIyLCAyIgogICAgICAgICAgICAgICAgICAgID48L3BhdGg+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgQ29udHJvbCBkZXBlbmRlbmN5IGVkZ2UKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcAogICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgIEVkZ2Ugc2hvd2luZyB0aGUgY29udHJvbCBkZXBlbmRlbmN5IGJldHdlZW4gb3BlcmF0aW9ucy4KICAgICAgICAgICAgICAgICAgICA8L3BhcGVyLXRvb2x0aXA+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgPHN2ZwogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpY29uIgogICAgICAgICAgICAgICAgICAgIGhlaWdodD0iMTVweCIKICAgICAgICAgICAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pZCBtZWV0IgogICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9IjAgMCAxNSAxNSIKICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgIDxkZWZzPgogICAgICAgICAgICAgICAgICAgICAgPG1hcmtlcgogICAgICAgICAgICAgICAgICAgICAgICBpZD0icmVmZXJlbmNlLWFycm93aGVhZC1sZWdlbmQiCiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9IiNGRkI3NEQiCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtlcldpZHRoPSIxMCIKICAgICAgICAgICAgICAgICAgICAgICAgbWFya2VySGVpZ2h0PSIxMCIKICAgICAgICAgICAgICAgICAgICAgICAgcmVmWD0iOSIKICAgICAgICAgICAgICAgICAgICAgICAgcmVmWT0iNSIKICAgICAgICAgICAgICAgICAgICAgICAgb3JpZW50PSJhdXRvLXN0YXJ0LXJldmVyc2UiCiAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0gMCwwIEwgMTAsNSBMIDAsMTAgQyAzLDcgMywzIDAsMCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgPC9tYXJrZXI+CiAgICAgICAgICAgICAgICAgICAgPC9kZWZzPgogICAgICAgICAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgICAgICAgICBtYXJrZXItZW5kPSJ1cmwoI3JlZmVyZW5jZS1hcnJvd2hlYWQtbGVnZW5kKSIKICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT0iI0ZGQjc0RCIKICAgICAgICAgICAgICAgICAgICAgIGQ9Ik0yIDkgbCAyOSAwIgogICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogICAgICAgICAgICAgICAgICAgID48L3BhdGg+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgUmVmZXJlbmNlIGVkZ2UKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLWNsYXJpZmllciI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+Pzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8cGFwZXItdG9vbHRpcAogICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgIEVkZ2Ugc2hvd2luZyB0aGF0IHRoZSBvdXRnb2luZyBvcGVyYXRpb24gbm9kZSBjYW4gbXV0YXRlCiAgICAgICAgICAgICAgICAgICAgICB0aGUgaW5jb21pbmcgdGVuc29yLgogICAgICAgICAgICAgICAgICAgIDwvcGFwZXItdG9vbHRpcD4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvZGl2PgogICAgICA8L2lyb24tY29sbGFwc2U+CiAgICA8L2Rpdj4KICBgLHQoW28oe3R5cGU6T2JqZWN0LG9ic2VydmVyOiJfc3RhdHNDaGFuZ2VkIn0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxsSnQucHJvdG90eXBlLCJzdGF0cyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sbEp0LnByb3RvdHlwZSwiZGV2aWNlc0ZvclN0YXRzIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxsSnQucHJvdG90eXBlLCJjb2xvckJ5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxsSnQucHJvdG90eXBlLCJjb2xvckJ5UGFyYW1zIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXksb2JzZXJ2ZXI6Il9kYXRhc2V0c0NoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGxKdC5wcm90b3R5cGUsImRhdGFzZXRzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLEFLdCldLGxKdC5wcm90b3R5cGUsInJlbmRlckhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxub3RpZnk6ITAscmVhZE9ubHk6ITAsY29tcHV0ZWQ6Il9jb21wdXRlU2VsZWN0aW9uKGRhdGFzZXRzLCBfc2VsZWN0ZWRSdW5JbmRleCwgX3NlbGVjdGVkVGFnSW5kZXgsIF9zZWxlY3RlZEdyYXBoVHlwZSkifSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGxKdC5wcm90b3R5cGUsInNlbGVjdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sbEp0LnByb3RvdHlwZSwic2VsZWN0ZWRGaWxlIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG9ic2VydmVyOiJfc2VsZWN0ZWRSdW5JbmRleENoYW5nZWQifSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGxKdC5wcm90b3R5cGUsIl9zZWxlY3RlZFJ1bkluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGxKdC5wcm90b3R5cGUsInRyYWNlSW5wdXRzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGxKdC5wcm90b3R5cGUsImF1dG9FeHRyYWN0Tm9kZXMiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXIsb2JzZXJ2ZXI6Il9zZWxlY3RlZFRhZ0luZGV4Q2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sbEp0LnByb3RvdHlwZSwiX3NlbGVjdGVkVGFnSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sbEp0LnByb3RvdHlwZSwiX3NlbGVjdGVkR3JhcGhUeXBlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxsSnQucHJvdG90eXBlLCJzZWxlY3RlZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxsSnQucHJvdG90eXBlLCJzaG93U2Vzc2lvblJ1bnNEcm9wZG93biIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGxKdC5wcm90b3R5cGUsInNob3dVcGxvYWRCdXR0b24iLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxsSnQucHJvdG90eXBlLCJoZWFsdGhQaWxsc0ZlYXR1cmVFbmFibGVkIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLGxKdC5wcm90b3R5cGUsImhlYWx0aFBpbGxzVG9nZ2xlZE9uIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sbEp0LnByb3RvdHlwZSwiX2xlZ2VuZE9wZW5lZCIsdm9pZCAwKSx0KFtzKCJkZXZpY2VzRm9yU3RhdHMiKSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLGxKdC5wcm90b3R5cGUsIl9jdXJyZW50RGV2aWNlcyIsbnVsbCksdChbcygiY29sb3JCeVBhcmFtcyIpLGUoImRlc2lnbjp0eXBlIixBcnJheSksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sbEp0LnByb3RvdHlwZSwiX2N1cnJlbnREZXZpY2VQYXJhbXMiLG51bGwpLHQoW3MoImNvbG9yQnlQYXJhbXMiKSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLGxKdC5wcm90b3R5cGUsIl9jdXJyZW50WGxhQ2x1c3RlclBhcmFtcyIsbnVsbCksdChbcygiY29sb3JCeVBhcmFtcyIsImNvbG9yQnkiKSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxsSnQucHJvdG90eXBlLCJfY3VycmVudEdyYWRpZW50UGFyYW1zIixudWxsKSxsSnQ9dChbaSgidGYtZ3JhcGgtY29udHJvbHMiKV0sbEp0KTtjb25zdCBkSnQ9eyJsaWJyYXJ5LmZ1bmN0aW9uIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZiI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuaW5wdXQiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUubGlzdC5iIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3QuZiI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LmZ1bmMiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUubGlzdC5pIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3QucyI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5saXN0LnNoYXBlIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3Quc2hhcGUuZGltIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3QudGVuc29yIjohMCwibGlicmFyeS5mdW5jdGlvbi5ub2RlX2RlZi5hdHRyLnZhbHVlLmxpc3QudHlwZSI6ITAsImxpYnJhcnkuZnVuY3Rpb24ubm9kZV9kZWYuYXR0ci52YWx1ZS5zaGFwZS5kaW0iOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUudGVuc29yLnN0cmluZ192YWwiOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLm5vZGVfZGVmLmF0dHIudmFsdWUudGVuc29yLnRlbnNvcl9zaGFwZS5kaW0iOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLnNpZ25hdHVyZS5pbnB1dF9hcmciOiEwLCJsaWJyYXJ5LmZ1bmN0aW9uLnNpZ25hdHVyZS5vdXRwdXRfYXJnIjohMCwibGlicmFyeS52ZXJzaW9ucyI6ITAsbm9kZTohMCwibm9kZS5pbnB1dCI6ITAsIm5vZGUuYXR0ciI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LmIiOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC5mIjohMCwibm9kZS5hdHRyLnZhbHVlLmxpc3QuZnVuYyI6ITAsIm5vZGUuYXR0ci52YWx1ZS5saXN0LmkiOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC5zIjohMCwibm9kZS5hdHRyLnZhbHVlLmxpc3Quc2hhcGUiOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC5zaGFwZS5kaW0iOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC50ZW5zb3IiOiEwLCJub2RlLmF0dHIudmFsdWUubGlzdC50eXBlIjohMCwibm9kZS5hdHRyLnZhbHVlLnNoYXBlLmRpbSI6ITAsIm5vZGUuYXR0ci52YWx1ZS50ZW5zb3Iuc3RyaW5nX3ZhbCI6ITAsIm5vZGUuYXR0ci52YWx1ZS50ZW5zb3IudGVuc29yX3NoYXBlLmRpbSI6ITB9LHBKdD17InN0ZXBfc3RhdHMuZGV2X3N0YXRzIjohMCwic3RlcF9zdGF0cy5kZXZfc3RhdHMubm9kZV9zdGF0cyI6ITAsInN0ZXBfc3RhdHMuZGV2X3N0YXRzLm5vZGVfc3RhdHMub3V0cHV0IjohMCwic3RlcF9zdGF0cy5kZXZfc3RhdHMubm9kZV9zdGF0cy5tZW1vcnkiOiEwLCJzdGVwX3N0YXRzLmRldl9zdGF0cy5ub2RlX3N0YXRzLm91dHB1dC50ZW5zb3JfZGVzY3JpcHRpb24uc2hhcGUuZGltIjohMH07ZnVuY3Rpb24gZkp0KHQsZSl7bGV0IG49e30saT1bXSxyPVtdLG89bjtmdW5jdGlvbiBhKHQpe2xldCBlPXQuaW5kZXhPZigiOiIpO3JldHVybntuYW1lOnQuc3Vic3RyaW5nKDAsZSkudHJpbSgpLHZhbHVlOihmdW5jdGlvbiBuKHQpe2lmKCJ0cnVlIj09PXQpcmV0dXJuITA7aWYoImZhbHNlIj09PXQpcmV0dXJuITE7aWYoJyInPT09dFswXSlyZXR1cm4gdC5zdWJzdHJpbmcoMSx0Lmxlbmd0aC0xKTtsZXQgZT1wYXJzZUZsb2F0KHQpO3JldHVybiBpc05hTihlKT90OmV9KSh0LnN1YnN0cmluZyhlKzIpLnRyaW0oKSl9fWZ1bmN0aW9uIHModCxuLGkscil7bGV0IG89dFtuXTtudWxsPT1vP3Rbbl09ci5qb2luKCIuIilpbiBlP1tpXTppOkFycmF5LmlzQXJyYXkobyk/by5wdXNoKGkpOnRbbl09W28saV19cmV0dXJuKGZ1bmN0aW9uIGwodCxlLG49MWU2LGk9IlxuIil7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihyLG8peyEoZnVuY3Rpb24gYShzLGwsYyl7Y29uc3QgdT1jPj10LmJ5dGVMZW5ndGgsaD1sLnNwbGl0KGkpO2hbMF09cytoWzBdO2NvbnN0IGQ9dT8iIjpoLnBvcCgpO2ZvcihsZXQgdCBvZiBoKXRyeXtlKHQpfWNhdGNoKHQpe3JldHVybiB2b2lkIG8odCl9aWYodSlyZXR1cm4gdm9pZCByKCEwKTtjb25zdCBwPW5ldyBCbG9iKFt0LnNsaWNlKGMsYytuKV0pLGY9bmV3IEZpbGVSZWFkZXI7Zi5vbmxvYWQ9ZnVuY3Rpb24odCl7YShkLHQudGFyZ2V0LnJlc3VsdCxjK24pfSxmLnJlYWRBc1RleHQocCl9KSgiIiwiIiwwKX0pKX0pKHQsKGZ1bmN0aW9uKHQpe2lmKHQ9dC50cmltKCkpc3dpdGNoKHRbdC5sZW5ndGgtMV0pe2Nhc2UieyI6bGV0IGU9dC5zdWJzdHJpbmcoMCx0Lmxlbmd0aC0yKS50cmltKCksbj17fTtpLnB1c2gobyksci5wdXNoKGUpLHMobyxlLG4sciksbz1uO2JyZWFrO2Nhc2UifSI6bz1pLnBvcCgpLHIucG9wKCk7YnJlYWs7ZGVmYXVsdDpsZXQgbD1hKHQpO3MobyxsLm5hbWUsbC52YWx1ZSxyLmNvbmNhdChsLm5hbWUpKX19KSkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKX1mdW5jdGlvbiBtSnQodCxlLGkscj1uZXcgbkp0LG89YUt0KXtjb25zdCBhPWYkdCh0LDMwLCJEYXRhIikscz1mJHQodCwyMCwiR3JhcGgiKSxsPWYkdCh0LDUwLCJOYW1lc3BhY2UgaGllcmFyY2h5IiksYz1EYXRlLm5vdygpO3JldHVybiBoSnQoZSxpLGEpLnRoZW4oKGZ1bmN0aW9uKHQpe2lmKCF0Lm5vZGUpdGhyb3cgbmV3IEVycm9yKCJUaGUgZ3JhcGggaXMgZW1wdHkuIFRoaXMgY2FuIGhhcHBlbiB3aGVuIFRlbnNvckZsb3cgY291bGQgbm90IHRyYWNlIGFueSBncmFwaC4gUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2lzc3Vlcy8xOTYxIGZvciBtb3JlIGluZm9ybWF0aW9uLiIpO3JldHVybiBxJHQodCxXJHQscyl9KSwoKCk9Pnt0aHJvdyBuZXcgRXJyb3IoIk1hbGZvcm1lZCBHcmFwaERlZi4gVGhpcyBjYW4gc29tZXRpbWVzIGJlIGNhdXNlZCBieSBhIGJhZCBuZXR3b3JrIGNvbm5lY3Rpb24gb3IgZGlmZmljdWx0eSByZWNvbmNpbGluZyBtdWx0aXBsZSBHcmFwaERlZnM7IGZvciB0aGUgbGF0dGVyIGNhc2UsIHBsZWFzZSByZWZlciB0byBodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9pc3N1ZXMvMTkyOS4iKX0pKS50aGVuKCh0PT5uKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7IShmdW5jdGlvbiBlKHQsbil7aWYobnVsbD09PW4pdGhyb3cgbmV3IEVycm9yKCJDb21wYXRpYmlsaXR5IHByb3ZpZGVyIHJlcXVpcmVkLCBidXQgZ290OiAiK24pO0NlLmV4cG9ydHMuZWFjaCh0Lm5vZGVzLCh0PT57dC5jb21wYXRpYmxlPW4ub3BWYWxpZCh0KSxDZS5leHBvcnRzLmVhY2godC5pbkVtYmVkZGluZ3MsKHQ9Pnt0LmNvbXBhdGlibGU9bi5vcFZhbGlkKHQpfSkpLENlLmV4cG9ydHMuZWFjaCh0Lm91dEVtYmVkZGluZ3MsKHQ9Pnt0LmNvbXBhdGlibGU9bi5vcFZhbGlkKHQpfSkpfSkpfSkodCxyKTtjb25zdCBuPXlpZWxkIHNLdCh0LG8sbCk7cmV0dXJuIGgkdCh7dGltaW5nSWQ6QkF0LkdSQVBIX0xPQURfU1VDQ0VFREVELGV2ZW50VmFsdWU6RGF0ZS5ub3coKS1jfSkse2dyYXBoOnQsZ3JhcGhIaWVyYXJjaHk6bn19KSkpKS5jYXRjaCgoZT0+e3Rocm93IHQucmVwb3J0RXJyb3IoYEdyYXBoIHZpc3VhbGl6YXRpb24gZmFpbGVkLlxuXG4ke2V9YCxlKSxoJHQoe3RpbWluZ0lkOkJBdC5HUkFQSF9MT0FEX0ZBSUxFRCxldmVudFZhbHVlOkRhdGUubm93KCktY30pLGV9KSl9bGV0IGdKdD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuY29tcGF0aWJpbGl0eVByb3ZpZGVyPW5ldyBuSnQsdGhpcy5oaWVyYXJjaHlQYXJhbXM9YUt0LHRoaXMuX3RlbXBsYXRlPW51bGx9X3NlbGVjdGlvbkNoYW5nZWQoKXt0aGlzLnNlbGVjdGlvbiYmdGhpcy5kZWJvdW5jZSgic2VsZWN0aW9uY2hhbmdlIiwoKCk9Pnt0aGlzLl9sb2FkKHRoaXMuc2VsZWN0aW9uKX0pKX1fbG9hZCh0KXtjb25zdHtydW46ZSx0YWc6bix0eXBlOml9PXQ7c3dpdGNoKGkpe2Nhc2UgUVh0Lk9QX0dSQVBIOmNhc2UgUVh0LkNPTkNFUFRVQUxfR1JBUEg6eyhmdW5jdGlvbigpe3RoaXMuX3NldE91dFN0YXRzKG51bGwpfSkuYmluZCh0aGlzKSgpO2NvbnN0IHQ9bmV3IFVSTFNlYXJjaFBhcmFtczt0LnNldCgicnVuIixlKSx0LnNldCgiY29uY2VwdHVhbCIsU3RyaW5nKGk9PT1RWHQuQ09OQ0VQVFVBTF9HUkFQSCkpLG4mJnQuc2V0KCJ0YWciLG4pO2NvbnN0IHI9RXIoKS5wbHVnaW5Sb3V0ZSgiZ3JhcGhzIiwiL2dyYXBoIix0KTtyZXR1cm4gdGhpcy5fZmV0Y2hBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaChyKS50aGVuKCgoKT0+e3RoaXMuX2dyYXBoUnVuVGFnPXtydW46ZSx0YWc6bn19KSl9Y2FzZSBRWHQuUFJPRklMRTp7Y29uc3R7dGFnczp0fT10aGlzLmRhdGFzZXRzLmZpbmQoKCh7bmFtZTp0fSk9PnQ9PT1lKSksaT10LmZpbmQoKHQ9PnQudGFnPT09bikpLm9wR3JhcGg/bjpudWxsO2NvbnNvbGUuYXNzZXJ0KHQuZmluZCgodD0+dC50YWc9PT1pKSksYFJlcXVpcmVkIHRhZyAoJHtpfSkgaXMgbWlzc2luZy5gKTtjb25zdCByPSF0aGlzLl9ncmFwaFJ1blRhZ3x8dGhpcy5fZ3JhcGhSdW5UYWcucnVuIT09ZXx8dGhpcy5fZ3JhcGhSdW5UYWcudGFnIT09aT90aGlzLl9sb2FkKHtydW46ZSx0YWc6aSx0eXBlOlFYdC5PUF9HUkFQSH0pOlByb21pc2UucmVzb2x2ZSgpLG89bmV3IFVSTFNlYXJjaFBhcmFtcztvLnNldCgidGFnIixuKSxvLnNldCgicnVuIixlKTtjb25zdCBhPUVyKCkucGx1Z2luUm91dGUoImdyYXBocyIsIi9ydW5fbWV0YWRhdGEiLG8pO3JldHVybiByLnRoZW4oKCgpPT50aGlzLl9yZWFkQW5kUGFyc2VNZXRhZGF0YShhKSkpfWRlZmF1bHQ6cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biBzZWxlY3Rpb24gdHlwZTogJHtpfWApKX19X3JlYWRBbmRQYXJzZU1ldGFkYXRhKHQpe3RoaXMuc2V0KCJwcm9ncmVzcyIse3ZhbHVlOjAsbXNnOiIifSksdUp0KHQscCR0KHRoaXMpKS50aGVuKGZ1bmN0aW9uKHQpe3RoaXMuX3NldE91dFN0YXRzKHQpfS5iaW5kKHRoaXMpKX1fZmV0Y2hBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaCh0LGUpe3RoaXMuc2V0KCJwcm9ncmVzcyIse3ZhbHVlOjAsbXNnOiIifSk7cmV0dXJuIG1KdChwJHQodGhpcyksdCxlLHRoaXMuY29tcGF0aWJpbGl0eVByb3ZpZGVyLHRoaXMuaGllcmFyY2h5UGFyYW1zKS50aGVuKGZ1bmN0aW9uKHtncmFwaDp0LGdyYXBoSGllcmFyY2h5OmV9KXt0aGlzLl9zZXRPdXRHcmFwaCh0KSx0aGlzLl9zZXRPdXRHcmFwaEhpZXJhcmNoeShlKX0uYmluZCh0aGlzKSl9X3NlbGVjdGVkRmlsZUNoYW5nZWQoKXt2YXIgdD10aGlzLnNlbGVjdGVkRmlsZTtpZighdClyZXR1cm47Y29uc3QgZT10LnRhcmdldCxuPWUuZmlsZXNbMF07biYmKGUudmFsdWU9IiIsdGhpcy5fZmV0Y2hBbmRDb25zdHJ1Y3RIaWVyYXJjaGljYWxHcmFwaChudWxsLG4pKX19O3QoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxnSnQucHJvdG90eXBlLCJkYXRhc2V0cyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZ0p0LnByb3RvdHlwZSwicHJvZ3Jlc3MiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZ0p0LnByb3RvdHlwZSwic2VsZWN0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGdKdC5wcm90b3R5cGUsInNlbGVjdGVkRmlsZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxnSnQucHJvdG90eXBlLCJjb21wYXRpYmlsaXR5UHJvdmlkZXIiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZ0p0LnByb3RvdHlwZSwiaGllcmFyY2h5UGFyYW1zIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LHJlYWRPbmx5OiEwLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixyS3QpXSxnSnQucHJvdG90eXBlLCJvdXRHcmFwaEhpZXJhcmNoeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxyZWFkT25seTohMCxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsSSR0KV0sZ0p0LnByb3RvdHlwZSwib3V0R3JhcGgiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3QscmVhZE9ubHk6ITAsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGdKdC5wcm90b3R5cGUsIm91dFN0YXRzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGdKdC5wcm90b3R5cGUsIl9ncmFwaFJ1blRhZyIsdm9pZCAwKSx0KFthKCJzZWxlY3Rpb24iLCJjb21wYXRpYmlsaXR5UHJvdmlkZXIiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGdKdC5wcm90b3R5cGUsIl9zZWxlY3Rpb25DaGFuZ2VkIixudWxsKSx0KFthKCJzZWxlY3RlZEZpbGUiLCJjb21wYXRpYmlsaXR5UHJvdmlkZXIiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGdKdC5wcm90b3R5cGUsIl9zZWxlY3RlZEZpbGVDaGFuZ2VkIixudWxsKSxnSnQ9dChbaSgidGYtZ3JhcGgtZGFzaGJvYXJkLWxvYWRlciIpXSxnSnQpO2xldCBfSnQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9kYXRhc2V0cz1bXSx0aGlzLl9kYXRhc2V0c0ZldGNoZWQ9ITEsdGhpcy5fc2VsZWN0ZWREYXRhc2V0PTAsdGhpcy5fcmVxdWVzdE1hbmFnZXI9bmV3IGJyLHRoaXMuX2NhbmNlbGxlcj1uZXcgeE8sdGhpcy5zcGVjaWZpY0hlYWx0aFBpbGxTdGVwPTAsdGhpcy5oZWFsdGhQaWxsc1RvZ2dsZWRPbj0hMSx0aGlzLl9kZWJ1Z2dlck51bWVyaWNBbGVydHM9W10sdGhpcy5fbm9kZU5hbWVzVG9IZWFsdGhQaWxscz17fSx0aGlzLl9oZWFsdGhQaWxsUmVxdWVzdElkPTEsdGhpcy5faGVhbHRoUGlsbFN0ZXBSZXF1ZXN0VGltZXJEZWxheT01MDAsdGhpcy5ydW49WHMoInJ1biIse2RlZmF1bHRWYWx1ZToiIix1c2VMb2NhbFN0b3JhZ2U6ITF9KS5jYWxsKHRoaXMpLHRoaXMuX3J1bk9ic2VydmVyPSRzKCJydW4iLHtkZWZhdWx0VmFsdWU6IiIscG9seW1lclByb3BlcnR5OiJydW4iLHVzZUxvY2FsU3RvcmFnZTohMX0pfWF0dGFjaGVkKCl7dGhpcy5zZXQoIl9pc0F0dGFjaGVkIiwhMCl9ZGV0YWNoZWQoKXt0aGlzLnNldCgiX2lzQXR0YWNoZWQiLCExKX1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJub2RlLXRvZ2dsZS1leHBhbmQiLHRoaXMuX2hhbmRsZU5vZGVUb2dnbGVFeHBhbmQuYmluZCh0aGlzKSl9cmVsb2FkKCl7dGhpcy5fZGVidWdnZXJEYXRhRW5hYmxlZHx8dGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdChFcigpLnBsdWdpbnNMaXN0aW5nKCkpLnRoZW4odGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKCh0PT57dC5jYW5jZWxsZWR8fHQudmFsdWUuZGVidWdnZXImJnRoaXMuc2V0KCJfZGVidWdnZXJEYXRhRW5hYmxlZCIsITApfSkpKSx0aGlzLl9tYXliZUZldGNoSGVhbHRoUGlsbHMoKX1fZml0KCl7dGhpcy4kJCgiI2dyYXBoYm9hcmQiKS5maXQoKX1fb25Eb3dubG9hZEltYWdlUmVxdWVzdGVkKHQpe3RoaXMuJCQoIiNncmFwaGJvYXJkIikuZG93bmxvYWRBc0ltYWdlKHQuZGV0YWlsKX1fZ2V0R3JhcGhEaXNwbGF5Q2xhc3NOYW1lKHQsZSl7cmV0dXJuIHR8fGUubGVuZ3RoPyIiOiJuby1ncmFwaCJ9X2ZldGNoRGF0YXNldCgpe3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KEVyKCkucGx1Z2luUm91dGUoImdyYXBocyIsIi9pbmZvIikpfV9mZXRjaEhlYWx0aFBpbGxzKHQsZSl7Y29uc3Qgbj17bm9kZV9uYW1lczpKU09OLnN0cmluZ2lmeSh0KSxydW46Il9fZGVidWdnZXJfZGF0YV9fIn07dm9pZCAwIT09ZSYmKG4uc3RlcD1lKTtjb25zdCBpPUVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL2hlYWx0aF9waWxscyIpO3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KGksbil9X2ZldGNoRGVidWdnZXJOdW1lcmljc0FsZXJ0cygpe3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KEVyKCkucGx1Z2luUm91dGUoImRlYnVnZ2VyIiwiL251bWVyaWNzX2FsZXJ0X3JlcG9ydCIpKX1fZ3JhcGhVcmwodCxlLG4pe3JldHVybiBFcigpLnBsdWdpblJvdXRlKCJncmFwaHMiLCIvZ3JhcGgiLG5ldyBVUkxTZWFyY2hQYXJhbXMoe3J1bjp0LGxpbWl0X2F0dHJfc2l6ZTplLGxhcmdlX2F0dHJzX2tleTpufSkpfV9zaG91bGRSZXF1ZXN0SGVhbHRoUGlsbHMoKXtyZXR1cm4gdGhpcy5fZGVidWdnZXJEYXRhRW5hYmxlZCYmdGhpcy5oZWFsdGhQaWxsc1RvZ2dsZWRPbiYmdGhpcy5fcmVuZGVySGllcmFyY2h5JiZ0aGlzLl9kYXRhc2V0c1N0YXRlKHRoaXMuX2RhdGFzZXRzRmV0Y2hlZCx0aGlzLl9kYXRhc2V0cywiUFJFU0VOVCIpfV9tYXliZUluaXRpYWxpemVEYXNoYm9hcmQoKXshdGhpcy5faW5pdGlhbGl6ZWQmJnRoaXMuX2lzQXR0YWNoZWQmJih0aGlzLnNldCgiX2NvbXBhdGliaWxpdHlQcm92aWRlciIsbmV3IG5KdCksdGhpcy5faW5pdGlhbGl6ZWQ9ITAsdGhpcy5fZmV0Y2hEYXRhc2V0KCkudGhlbigodD0+e2NvbnN0IGU9T2JqZWN0LmtleXModCk7dGhpcy5fZGF0YXNldHM9ZS5zb3J0KHVyKS5tYXAoKGU9Pntjb25zdCBuPXRbZV0saT1PYmplY3Qua2V5cyhuLnRhZ3MpLnNvcnQodXIpLm1hcCgodD0+bi50YWdzW3RdKSkubWFwKCgoe3RhZzp0LGNvbmNlcHR1YWxfZ3JhcGg6ZSxvcF9ncmFwaDpuLHByb2ZpbGU6aX0pPT4oe3RhZzp0LGRpc3BsYXlOYW1lOnQsY29uY2VwdHVhbEdyYXBoOmUsb3BHcmFwaDpuLHByb2ZpbGU6aX0pKSk7cmV0dXJue25hbWU6ZSx0YWdzOm4ucnVuX2dyYXBoP1t7dGFnOm51bGwsZGlzcGxheU5hbWU6IkRlZmF1bHQiLGNvbmNlcHR1YWxHcmFwaDohMSxvcEdyYXBoOiEwLHByb2ZpbGU6ITF9LC4uLmldOml9fSkpLHRoaXMuX2RhdGFzZXRzRmV0Y2hlZD0hMH0pKSl9X2RldGVybWluZVNlbGVjdGVkRGF0YXNldCgpe3ZhciB0PXRoaXMuX2RhdGFzZXRzRmV0Y2hlZCxlPXRoaXMuX2RhdGFzZXRzLG49dGhpcy5ydW47aWYoIW4pcmV0dXJuIHZvaWQgdGhpcy5zZXQoIl9zZWxlY3RlZERhdGFzZXQiLDApO2NvbnN0IGk9ZS5maW5kSW5kZXgoKHQ9PnQubmFtZT09PW4pKTtpZigtMSE9PWkpdGhpcy5zZXQoIl9zZWxlY3RlZERhdGFzZXQiLGkpO2Vsc2UgaWYodCl7Y29uc3QgdD10aGlzLiQkKCIjZXJyb3ItZGlhbG9nIik7dC50ZXh0Q29udGVudD1gTm8gZGF0YXNldCBuYW1lZCAiJHtufSIgY291bGQgYmUgZm91bmQuYCx0Lm9wZW4oKX19X3VwZGF0ZVNlbGVjdGVkRGF0YXNldE5hbWUoKXt2YXIgdD10aGlzLl9kYXRhc2V0cyxlPXRoaXMuX3NlbGVjdGVkRGF0YXNldDt0aGlzLl9kYXRhc2V0c0ZldGNoZWQmJih0Lmxlbmd0aDw9ZXx8dGhpcy5zZXQoInJ1biIsdFtlXS5uYW1lKSl9X3JlcXVlc3RIZWFsdGhQaWxscygpe3RoaXMuc2V0KCJfYXJlSGVhbHRoUGlsbHNMb2FkaW5nIiwhMCk7dmFyIHQ9Kyt0aGlzLl9oZWFsdGhQaWxsUmVxdWVzdElkO251bGwhPT10aGlzLl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkJiYod2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkKSx0aGlzLl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkPW51bGwpLHRoaXMuYWxsU3RlcHNNb2RlRW5hYmxlZD90aGlzLl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkPW51bGwsdGhpcy5faW5pdGlhdGVOZXR3b3JrUmVxdWVzdEZvckhlYWx0aFBpbGxzKHQpfS5iaW5kKHRoaXMpLHRoaXMuX2hlYWx0aFBpbGxTdGVwUmVxdWVzdFRpbWVyRGVsYXkpOnRoaXMuX2luaXRpYXRlTmV0d29ya1JlcXVlc3RGb3JIZWFsdGhQaWxscyh0KX1faW5pdGlhdGVOZXR3b3JrUmVxdWVzdEZvckhlYWx0aFBpbGxzKHQpe2lmKHRoaXMuX2hlYWx0aFBpbGxSZXF1ZXN0SWQhPT10KXJldHVybjtjb25zdCBlPXRoaXMuYWxsU3RlcHNNb2RlRW5hYmxlZD90aGlzLnNwZWNpZmljSGVhbHRoUGlsbFN0ZXA6dm9pZCAwLG49dGhpcy5fZmV0Y2hIZWFsdGhQaWxscyh0aGlzLl9yZW5kZXJIaWVyYXJjaHkuZ2V0TmFtZXNPZlJlbmRlcmVkT3BzKCksZSksaT10aGlzLl9mZXRjaERlYnVnZ2VyTnVtZXJpY3NBbGVydHMoKTtQcm9taXNlLmFsbChbbixpXSkudGhlbihmdW5jdGlvbihlKXt2YXIgbj1lWzBdLGk9ZVsxXTtpZih0aGlzLmhlYWx0aFBpbGxzVG9nZ2xlZE9uJiZ0PT09dGhpcy5faGVhbHRoUGlsbFJlcXVlc3RJZCl7Zm9yKHZhciByIGluIG4pe3RoaXMuc2V0KCJfaGVhbHRoUGlsbFN0ZXBJbmRleCIsbltyXS5sZW5ndGgtMSk7YnJlYWt9dGhpcy5zZXQoIl9kZWJ1Z2dlck51bWVyaWNBbGVydHMiLGkpLHRoaXMuc2V0KCJfbm9kZU5hbWVzVG9IZWFsdGhQaWxscyIsbiksdGhpcy5zZXQoIl9hcmVIZWFsdGhQaWxsc0xvYWRpbmciLCExKSx0aGlzLnNldCgiX2hlYWx0aFBpbGxTdGVwUmVxdWVzdFRpbWVySWQiLG51bGwpfX0uYmluZCh0aGlzKSl9X2RhdGFzZXRzU3RhdGUodCxlLG4pe3JldHVybiB0P2UmJmUubGVuZ3RoPyJQUkVTRU5UIj09PW46IkVNUFRZIj09PW46Ik5PVF9MT0FERUQiPT09bn1fcmVuZGVySGllcmFyY2h5Q2hhbmdlZCh0KXt0aGlzLnJlbG9hZCgpfV9oYW5kbGVOb2RlVG9nZ2xlRXhwYW5kKCl7dGhpcy5fbWF5YmVGZXRjaEhlYWx0aFBpbGxzKCl9X2hlYWx0aFBpbGxzVG9nZ2xlZE9uQ2hhbmdlZCh0KXt0P3RoaXMucmVsb2FkKCk6dGhpcy5zZXQoIl9ub2RlTmFtZXNUb0hlYWx0aFBpbGxzIix7fSl9X21heWJlRmV0Y2hIZWFsdGhQaWxscygpe3RoaXMuX3Nob3VsZFJlcXVlc3RIZWFsdGhQaWxscygpJiZ0aGlzLl9yZXF1ZXN0SGVhbHRoUGlsbHMoKX19O19KdC50ZW1wbGF0ZT14ZWAKICAgIDxwYXBlci1kaWFsb2cgaWQ9ImVycm9yLWRpYWxvZyIgd2l0aC1iYWNrZHJvcD48L3BhcGVyLWRpYWxvZz4KICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8dGYtZ3JhcGgtY29udHJvbHMKICAgICAgICBpZD0iY29udHJvbHMiCiAgICAgICAgY2xhc3M9InNpZGViYXIiCiAgICAgICAgc2xvdD0ic2lkZWJhciIKICAgICAgICBkZXZpY2VzLWZvci1zdGF0cz0ie3tfZGV2aWNlc0ZvclN0YXRzfX0iCiAgICAgICAgY29sb3ItYnktcGFyYW1zPSJbW19jb2xvckJ5UGFyYW1zXV0iCiAgICAgICAgc3RhdHM9IltbX3N0YXRzXV0iCiAgICAgICAgY29sb3ItYnk9Int7X2NvbG9yQnl9fSIKICAgICAgICBkYXRhc2V0cz0iW1tfZGF0YXNldHNdXSIKICAgICAgICByZW5kZXItaGllcmFyY2h5PSJbW19yZW5kZXJIaWVyYXJjaHldXSIKICAgICAgICBzZWxlY3Rpb249Int7X3NlbGVjdGlvbn19IgogICAgICAgIHNlbGVjdGVkLWZpbGU9Int7X3NlbGVjdGVkRmlsZX19IgogICAgICAgIHNlbGVjdGVkLW5vZGU9Int7X3NlbGVjdGVkTm9kZX19IgogICAgICAgIGhlYWx0aC1waWxscy1mZWF0dXJlLWVuYWJsZWQ9IltbX2RlYnVnZ2VyRGF0YUVuYWJsZWRdXSIKICAgICAgICBoZWFsdGgtcGlsbHMtdG9nZ2xlZC1vbj0ie3toZWFsdGhQaWxsc1RvZ2dsZWRPbn19IgogICAgICAgIG9uLWZpdC10YXA9Il9maXQiCiAgICAgICAgdHJhY2UtaW5wdXRzPSJ7e190cmFjZUlucHV0c319IgogICAgICAgIGF1dG8tZXh0cmFjdC1ub2Rlcz0ie3tfYXV0b0V4dHJhY3ROb2Rlc319IgogICAgICAgIG9uLWRvd25sb2FkLWltYWdlLXJlcXVlc3RlZD0iX29uRG93bmxvYWRJbWFnZVJlcXVlc3RlZCIKICAgICAgPjwvdGYtZ3JhcGgtY29udHJvbHM+CiAgICAgIDxkaXYKICAgICAgICBjbGFzcyQ9ImNlbnRlciBbW19nZXRHcmFwaERpc3BsYXlDbGFzc05hbWUoX3NlbGVjdGVkRmlsZSwgX2RhdGFzZXRzKV1dIgogICAgICAgIHNsb3Q9ImNlbnRlciIKICAgICAgPgogICAgICAgIDx0Zi1ncmFwaC1kYXNoYm9hcmQtbG9hZGVyCiAgICAgICAgICBpZD0ibG9hZGVyIgogICAgICAgICAgZGF0YXNldHM9IltbX2RhdGFzZXRzXV0iCiAgICAgICAgICBzZWxlY3Rpb249IltbX3NlbGVjdGlvbl1dIgogICAgICAgICAgc2VsZWN0ZWQtZmlsZT0iW1tfc2VsZWN0ZWRGaWxlXV0iCiAgICAgICAgICBvdXQtZ3JhcGgtaGllcmFyY2h5PSJ7e19ncmFwaEhpZXJhcmNoeX19IgogICAgICAgICAgb3V0LWdyYXBoPSJ7e19ncmFwaH19IgogICAgICAgICAgb3V0LXN0YXRzPSJ7e19zdGF0c319IgogICAgICAgICAgcHJvZ3Jlc3M9Int7X3Byb2dyZXNzfX0iCiAgICAgICAgICBoaWVyYXJjaHktcGFyYW1zPSJbW19oaWVyYXJjaHlQYXJhbXNdXSIKICAgICAgICAgIGNvbXBhdGliaWxpdHktcHJvdmlkZXI9IltbX2NvbXBhdGliaWxpdHlQcm92aWRlcl1dIgogICAgICAgID48L3RmLWdyYXBoLWRhc2hib2FyZC1sb2FkZXI+CiAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS1tZXNzYWdlIj4KICAgICAgICAgIDxoMz5ObyBncmFwaCBkZWZpbml0aW9uIGZpbGVzIHdlcmUgZm91bmQuPC9oMz4KICAgICAgICAgIDxwPgogICAgICAgICAgICBUbyBzdG9yZSBhIGdyYXBoLCBjcmVhdGUgYQogICAgICAgICAgICA8Y29kZT50Zi5zdW1tYXJ5LkZpbGVXcml0ZXI8L2NvZGU+CiAgICAgICAgICAgIGFuZCBwYXNzIHRoZSBncmFwaCBlaXRoZXIgdmlhIHRoZSBjb25zdHJ1Y3Rvciwgb3IgYnkgY2FsbGluZyBpdHMKICAgICAgICAgICAgPGNvZGU+YWRkX2dyYXBoKCk8L2NvZGU+IG1ldGhvZC4gWW91IG1heSB3YW50IHRvIGNoZWNrIG91dCB0aGUKICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvdGVuc29yYm9hcmQvZ3JhcGhzIgogICAgICAgICAgICAgID5leGFtaW5pbmcgdGhlIFRlbnNvckZsb3cgZ3JhcGggdHV0b3JpYWw8L2EKICAgICAgICAgICAgPi4KICAgICAgICAgIDwvcD4KCiAgICAgICAgICA8cD4KICAgICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8gYWRkCiAgICAgICAgICAgIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIgogICAgICAgICAgICAgID5SRUFETUU8L2EKICAgICAgICAgICAgPgogICAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgICAgPGEKICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgID5UZW5zb3JCb2FyZCB0dXRvcmlhbDwvYQogICAgICAgICAgICA+LgogICAgICAgICAgPC9wPgoKICAgICAgICAgIDxwPgogICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICA8YQogICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciCiAgICAgICAgICAgICAgPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2EKICAgICAgICAgICAgPgogICAgICAgICAgICBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJncmFwaGJvYXJkIj4KICAgICAgICAgIDx0Zi1ncmFwaC1ib2FyZAogICAgICAgICAgICBpZD0iZ3JhcGhib2FyZCIKICAgICAgICAgICAgZGV2aWNlcy1mb3Itc3RhdHM9IltbX2RldmljZXNGb3JTdGF0c11dIgogICAgICAgICAgICBjb2xvci1ieT0ie3tfY29sb3JCeX19IgogICAgICAgICAgICBjb2xvci1ieS1wYXJhbXM9Int7X2NvbG9yQnlQYXJhbXN9fSIKICAgICAgICAgICAgZ3JhcGgtaGllcmFyY2h5PSJbW19ncmFwaEhpZXJhcmNoeV1dIgogICAgICAgICAgICBncmFwaD0iW1tfZ3JhcGhdXSIKICAgICAgICAgICAgaGllcmFyY2h5LXBhcmFtcz0iW1tfaGllcmFyY2h5UGFyYW1zXV0iCiAgICAgICAgICAgIHByb2dyZXNzPSJbW19wcm9ncmVzc11dIgogICAgICAgICAgICBkZWJ1Z2dlci1kYXRhLWVuYWJsZWQ9IltbX2RlYnVnZ2VyRGF0YUVuYWJsZWRdXSIKICAgICAgICAgICAgYXJlLWhlYWx0aC1waWxscy1sb2FkaW5nPSJbW19hcmVIZWFsdGhQaWxsc0xvYWRpbmddXSIKICAgICAgICAgICAgZGVidWdnZXItbnVtZXJpYy1hbGVydHM9IltbX2RlYnVnZ2VyTnVtZXJpY0FsZXJ0c11dIgogICAgICAgICAgICBub2RlLW5hbWVzLXRvLWhlYWx0aC1waWxscz0iW1tfbm9kZU5hbWVzVG9IZWFsdGhQaWxsc11dIgogICAgICAgICAgICBhbGwtc3RlcHMtbW9kZS1lbmFibGVkPSJ7e2FsbFN0ZXBzTW9kZUVuYWJsZWR9fSIKICAgICAgICAgICAgc3BlY2lmaWMtaGVhbHRoLXBpbGwtc3RlcD0ie3tzcGVjaWZpY0hlYWx0aFBpbGxTdGVwfX0iCiAgICAgICAgICAgIGhlYWx0aC1waWxsLXN0ZXAtaW5kZXg9IltbX2hlYWx0aFBpbGxTdGVwSW5kZXhdXSIKICAgICAgICAgICAgcmVuZGVyLWhpZXJhcmNoeT0ie3tfcmVuZGVySGllcmFyY2h5fX0iCiAgICAgICAgICAgIHNlbGVjdGVkLW5vZGU9Int7X3NlbGVjdGVkTm9kZX19IgogICAgICAgICAgICBzdGF0cz0iW1tfc3RhdHNdXSIKICAgICAgICAgICAgdHJhY2UtaW5wdXRzPSJbW190cmFjZUlucHV0c11dIgogICAgICAgICAgICBhdXRvLWV4dHJhY3Qtbm9kZXM9IltbX2F1dG9FeHRyYWN0Tm9kZXNdXSIKICAgICAgICAgID48L3RmLWdyYXBoLWJvYXJkPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KICAgIDxzdHlsZT4KICAgICAgOmhvc3QgL2RlZXAvIHsKICAgICAgICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5zaWRlYmFyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNlbnRlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgcGFwZXItZGlhbG9nIHsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICB9CgogICAgICAubm8tZGF0YS1tZXNzYWdlIHsKICAgICAgICBtYXgtd2lkdGg6IDU0MHB4OwogICAgICAgIG1hcmdpbjogODBweCBhdXRvIDAgYXV0bzsKICAgICAgfQoKICAgICAgLmdyYXBoYm9hcmQgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLm5vLWdyYXBoIC5ncmFwaGJvYXJkIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAuY2VudGVyOm5vdCgubm8tZ3JhcGgpIC5uby1kYXRhLW1lc3NhZ2UgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIGEgewogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1saW5rKTsKICAgICAgfQoKICAgICAgYTp2aXNpdGVkIHsKICAgICAgICBjb2xvcjogdmFyKC0tdGItbGluay12aXNpdGVkKTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxfSnQucHJvdG90eXBlLCJfZGF0YXNldHMiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxfSnQucHJvdG90eXBlLCJfZGF0YXNldHNGZXRjaGVkIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLF9KdC5wcm90b3R5cGUsIl9zZWxlY3RlZERhdGFzZXQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il9yZW5kZXJIaWVyYXJjaHlDaGFuZ2VkIn0pLGUoImRlc2lnbjp0eXBlIixBS3QpXSxfSnQucHJvdG90eXBlLCJfcmVuZGVySGllcmFyY2h5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0sX0p0LnByb3RvdHlwZSwiX3JlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHhPKV0sX0p0LnByb3RvdHlwZSwiX2NhbmNlbGxlciIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF9KdC5wcm90b3R5cGUsIl9kZWJ1Z2dlckRhdGFFbmFibGVkIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sX0p0LnByb3RvdHlwZSwiYWxsU3RlcHNNb2RlRW5hYmxlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxfSnQucHJvdG90eXBlLCJzcGVjaWZpY0hlYWx0aFBpbGxTdGVwIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX2hlYWx0aFBpbGxzVG9nZ2xlZE9uQ2hhbmdlZCJ9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF9KdC5wcm90b3R5cGUsImhlYWx0aFBpbGxzVG9nZ2xlZE9uIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxfSnQucHJvdG90eXBlLCJzZWxlY3RlZE5vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxfSnQucHJvdG90eXBlLCJfaXNBdHRhY2hlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF9KdC5wcm90b3R5cGUsIl9pbml0aWFsaXplZCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF9KdC5wcm90b3R5cGUsIl9hcmVIZWFsdGhQaWxsc0xvYWRpbmciLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheSxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxfSnQucHJvdG90eXBlLCJfZGVidWdnZXJOdW1lcmljQWxlcnRzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLF9KdC5wcm90b3R5cGUsIl9ub2RlTmFtZXNUb0hlYWx0aFBpbGxzIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLF9KdC5wcm90b3R5cGUsIl9oZWFsdGhQaWxsU3RlcEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLF9KdC5wcm90b3R5cGUsIl9oZWFsdGhQaWxsUmVxdWVzdElkIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLF9KdC5wcm90b3R5cGUsIl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lcklkIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLF9KdC5wcm90b3R5cGUsIl9oZWFsdGhQaWxsU3RlcFJlcXVlc3RUaW1lckRlbGF5Iix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxfSnQucHJvdG90eXBlLCJydW5zIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nLG5vdGlmeTohMCxvYnNlcnZlcjoiX3J1bk9ic2VydmVyIn0pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxfSnQucHJvdG90eXBlLCJydW4iLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sX0p0LnByb3RvdHlwZSwiX3NlbGVjdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxfSnQucHJvdG90eXBlLCJfY29tcGF0aWJpbGl0eVByb3ZpZGVyIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sX0p0LnByb3RvdHlwZSwiX3RyYWNlSW5wdXRzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sX0p0LnByb3RvdHlwZSwiX2F1dG9FeHRyYWN0Tm9kZXMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sX0p0LnByb3RvdHlwZSwiX3NlbGVjdGVkRmlsZSIsdm9pZCAwKSx0KFthKCJfaXNBdHRhY2hlZCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sX0p0LnByb3RvdHlwZSwiX21heWJlSW5pdGlhbGl6ZURhc2hib2FyZCIsbnVsbCksdChbYSgiX2RhdGFzZXRzRmV0Y2hlZCIsIl9kYXRhc2V0cyIsInJ1biIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sX0p0LnByb3RvdHlwZSwiX2RldGVybWluZVNlbGVjdGVkRGF0YXNldCIsbnVsbCksdChbYSgiX2RhdGFzZXRzRmV0Y2hlZCIsIl9kYXRhc2V0cyIsIl9zZWxlY3RlZERhdGFzZXQiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLF9KdC5wcm90b3R5cGUsIl91cGRhdGVTZWxlY3RlZERhdGFzZXROYW1lIixudWxsKSxfSnQ9dChbaSgidGYtZ3JhcGgtZGFzaGJvYXJkIildLF9KdCk7Y29uc3QgeUp0PWlJO2xldCB2SnQ9Y2xhc3MgZXh0ZW5kcyhjcihnbCh3ZSkpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5tb2RlPSJvZmZzZXQiLHRoaXMudGltZVByb3BlcnR5PSJzdGVwIix0aGlzLmJpbnM9ImJpbnMiLHRoaXMueD0ieCIsdGhpcy5keD0iZHgiLHRoaXMueT0ieSIsdGhpcy5jb2xvclNjYWxlPXlKdC5zY2FsZU9yZGluYWwoeUp0LnNjaGVtZUNhdGVnb3J5MTApLHRoaXMubW9kZVRyYW5zaXRpb25EdXJhdGlvbj01MDAsdGhpcy5fbmFtZT1udWxsLHRoaXMuX2RhdGE9bnVsbH1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5zY29wZVN1YnRyZWUodGhpcy4kLnN2ZywhMCl9YXR0YWNoZWQoKXt0aGlzLl9hdHRhY2hlZD0hMH1kZXRhY2hlZCgpe3RoaXMuX2F0dGFjaGVkPSExfXNldFNlcmllc0RhdGEodCxlKXt0aGlzLl9uYW1lPXQsdGhpcy5fZGF0YT1lLHRoaXMucmVkcmF3KCl9X3JlZHJhd09uQ2hhbmdlKCl7dGhpcy5yZWRyYXcoKX1yZWRyYXcoKXt0aGlzLl9kcmF3KDApfV9tb2RlUmVkcmF3KCl7dGhpcy5fZHJhdyh0aGlzLm1vZGVUcmFuc2l0aW9uRHVyYXRpb24pfV9kcmF3KHQpe2lmKCF0aGlzLl9hdHRhY2hlZHx8IXRoaXMuX2RhdGEpcmV0dXJuO2lmKHZvaWQgMD09PXQpdGhyb3cgbmV3IEVycm9yKCJ2ei1oaXN0b2dyYW0tdGltZXNlcmllcyBfZHJhdyBuZWVkcyBkdXJhdGlvbiIpO2lmKHRoaXMuX2RhdGEubGVuZ3RoPD0wKXRocm93IG5ldyBFcnJvcigiTm90IGVub3VnaCBzdGVwcyBpbiB0aGUgZGF0YSIpO2lmKCF0aGlzLl9kYXRhWzBdLmhhc093blByb3BlcnR5KHRoaXMuYmlucykpdGhyb3cgbmV3IEVycm9yKCJObyBiaW5zIHByb3BlcnR5IG9mICciK3RoaXMuYmlucysiJyBpbiBkYXRhIik7aWYodGhpcy5fZGF0YVswXVt0aGlzLmJpbnNdLmxlbmd0aDw9MCl0aHJvdyBuZXcgRXJyb3IoIk11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgYmluIGluIGJpbnMgaW4gZGF0YSIpO2lmKCF0aGlzLl9kYXRhWzBdW3RoaXMuYmluc11bMF0uaGFzT3duUHJvcGVydHkodGhpcy54KSl0aHJvdyBuZXcgRXJyb3IoIk5vIHggcHJvcGVydHkgJyIrdGhpcy54KyInIG9uIGJpbnMgZGF0YSIpO2lmKCF0aGlzLl9kYXRhWzBdW3RoaXMuYmluc11bMF0uaGFzT3duUHJvcGVydHkodGhpcy5keCkpdGhyb3cgbmV3IEVycm9yKCJObyBkeCBwcm9wZXJ0eSAnIit0aGlzLmR4KyInIG9uIGJpbnMgZGF0YSIpO2lmKCF0aGlzLl9kYXRhWzBdW3RoaXMuYmluc11bMF0uaGFzT3duUHJvcGVydHkodGhpcy55KSl0aHJvdyBuZXcgRXJyb3IoIk5vIHkgcHJvcGVydHkgJyIrdGhpcy55KyInIG9uIGJpbnMgZGF0YSIpO3ZhciBlPXRoaXMudGltZVByb3BlcnR5LG49dGhpcy54LGk9dGhpcy5iaW5zLHI9dGhpcy5keCxvPXRoaXMueSxhPXRoaXMuX2RhdGEscz10aGlzLm1vZGUsbD15SnQuaGNsKHRoaXMuY29sb3JTY2FsZSh0aGlzLl9uYW1lKSksYz15SnQuc2VsZWN0KHRoaXMuJC50b29sdGlwKSx1PWZ1bmN0aW9uKHQpe3JldHVybiB0W25dfSxoPWZ1bmN0aW9uKHQpe3JldHVybiB0W29dfSxkPWZ1bmN0aW9uKHQpe3JldHVybiB0W25dK3Rbcl19LHA9ZnVuY3Rpb24odCl7cmV0dXJuIHRbZV19OyJyZWxhdGl2ZSI9PT1lJiYocD1mdW5jdGlvbih0KXtyZXR1cm4gdC53YWxsX3RpbWUtYVswXS53YWxsX3RpbWV9KTt2YXIgZixtPXRoaXMuJC5zdmcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZz1tLndpZHRoLF89bS5oZWlnaHQseT17dG9wOjUscmlnaHQ6NjAsYm90dG9tOjIwLGxlZnQ6MjR9OyJvZmZzZXQiPT09cz95LnRvcD0oZj1fLzIuNSkrNTpmPV8teS50b3AteS5ib3R0b207dmFyIHY9Zy15LmxlZnQteS5yaWdodCxiPV8teS50b3AteS5ib3R0b207eUp0Lm1pbihhLHUpLHlKdC5tYXgoYSxkKTt2YXIgeD15SnQuZm9ybWF0KCIuM24iKSx3PXlKdC5mb3JtYXQoIi4wZiIpOyJ3YWxsX3RpbWUiPT09ZT93PXlKdC50aW1lRm9ybWF0KCIlbS8lZCAlWCIpOiJyZWxhdGl2ZSI9PT1lJiYodz1mdW5jdGlvbih0KXtyZXR1cm4geUp0LmZvcm1hdCgiLjFyIikodC8zNmU1KSsiaCJ9KTt2YXIgUz1hLm1hcCgoZnVuY3Rpb24odCxlKXtyZXR1cm5beUp0Lm1pbih0W2ldLHUpLHlKdC5tYXgodFtpXSxkKV19KSksTT1hLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHlKdC5leHRlbnQodFtpXSxoKX0pKSxFPTUwMCxUPXlKdC5leHRlbnQoYSxwKSxDPSgid2FsbF90aW1lIj09PWU/eUp0LnNjYWxlVGltZSgpOnlKdC5zY2FsZUxpbmVhcigpKS5kb21haW4oVCkucmFuZ2UoWzAsIm9mZnNldCI9PT1zP2I6MF0pLEE9eUp0LnNjYWxlTGluZWFyKCkuZG9tYWluKFswLHlKdC5tYXgoYSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gTVtlXVsxXX0pKV0pLnJhbmdlKFtmLDBdKSxrPXlKdC5zY2FsZUxpbmVhcigpLmRvbWFpbihBLmRvbWFpbigpKS5yYW5nZShbRSwwXSksTD15SnQuc2NhbGVMaW5lYXIoKS5kb21haW4oW3lKdC5taW4oYSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gU1tlXVswXX0pKSx5SnQubWF4KGEsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIFNbZV1bMV19KSldKS5uaWNlKCkucmFuZ2UoWzAsdl0pLFA9eUp0LnNjYWxlTGluZWFyKCkuZG9tYWluKEwuZG9tYWluKCkpLnJhbmdlKFswLEVdKTtjb25zdCBOPXlKdC5zY2FsZUxpbmVhcigpLmRvbWFpbih5SnQuZXh0ZW50KGEscCkpLnJhbmdlKFtsLmJyaWdodGVyKCksbC5kYXJrZXIoKV0pLmludGVycG9sYXRlKHlKdC5pbnRlcnBvbGF0ZUhjbCk7dmFyIEk9eUp0LmF4aXNCb3R0b20oTCkudGlja3MoTWF0aC5tYXgoMix2LzIwKSksUj15SnQuYXhpc1JpZ2h0KEMpLnRpY2tzKE1hdGgubWF4KDIsYi8xNSkpLnRpY2tGb3JtYXQodyksTz15SnQuYXhpc1JpZ2h0KEEpLnRpY2tzKE1hdGgubWF4KDIsYi8xNSkpLnRpY2tTaXplKHYrNSkudGlja0Zvcm1hdCh4KSx6PWZ1bmN0aW9uKHQpe3JldHVybiB0W25dK3Rbcl0vMn0sRD15SnQubGluZSgpLngoKGZ1bmN0aW9uKHQpe3JldHVybiBQKHoodCkpfSkpLnkoKGZ1bmN0aW9uKHQpe3JldHVybiBrKHRbb10pfSkpLEI9dGhpcy4kLnN2ZyxIPXlKdC5zZWxlY3QoQiksRj1ILnRyYW5zaXRpb24oKS5kdXJhdGlvbih0KSxWPUguc2VsZWN0KCJnIikuY2xhc3NlZCgic21hbGwiLChmdW5jdGlvbigpe3JldHVybiB2PjAmJnY8PTE1MH0pKS5jbGFzc2VkKCJtZWRpdW0iLChmdW5jdGlvbigpe3JldHVybiB2PjE1MCYmdjw9MzAwfSkpLmNsYXNzZWQoImxhcmdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gdj4zMDB9KSksVT1GLnNlbGVjdCgiZyIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK3kubGVmdCsiLCIreS50b3ArIikiKSxqPXlKdC5iaXNlY3RvcihkKS5sZWZ0LEc9Vi5zZWxlY3QoIi5zdGFnZSIpLm9uKCJtb3VzZW92ZXIiLChmdW5jdGlvbigpe0ouc3R5bGUoIm9wYWNpdHkiLDEpLGV0LnN0eWxlKCJvcGFjaXR5IiwxKSxydC5zdHlsZSgib3BhY2l0eSIsMSksc3Quc3R5bGUoIm9wYWNpdHkiLDEpLGMuc3R5bGUoIm9wYWNpdHkiLDEpfSkpLm9uKCJtb3VzZW91dCIsKGZ1bmN0aW9uKCl7Si5zdHlsZSgib3BhY2l0eSIsMCksZXQuc3R5bGUoIm9wYWNpdHkiLDApLHJ0LnN0eWxlKCJvcGFjaXR5IiwwKSxzdC5zdHlsZSgib3BhY2l0eSIsMCksSi5jbGFzc2VkKCJob3Zlci1jbG9zZXN0IiwhMSksSy5jbGFzc2VkKCJvdXRsaW5lLWhvdmVyIiwhMSksYy5zdHlsZSgib3BhY2l0eSIsMCl9KSkub24oIm1vdXNlbW92ZSIsKGZ1bmN0aW9uIFcoKXt2YXIgdCxhPXlKdC5tb3VzZSh0aGlzKSxsPUwuaW52ZXJ0KGFbMF0pO2Z1bmN0aW9uIHUodCl7cmV0dXJuIE1hdGgubWluKHRbaV0ubGVuZ3RoLTEsaih0W2ldLGwpKX1DLmludmVydChhWzFdKTt2YXIgaCxkPTEvMDtKLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKGUsbCl7dmFyIGM9dShlKTtoPWU7dmFyIG09TChlW2ldW2NdW25dK2VbaV1bY11bcl0vMiksZz1BKGVbaV1bY11bb10pLF89Im9mZnNldCI9PT1zP0MocChlKSktKGYtZyk6Zyx5PU1hdGguYWJzKGFbMV0tXyk7cmV0dXJuIHk8ZCYmKGQ9eSx0PWUpLCJ0cmFuc2xhdGUoIittKyIsIitnKyIpIn0pKSxKLnNlbGVjdCgidGV4dCIpLnRleHQoKGZ1bmN0aW9uKHQpe3ZhciBlPXUodCk7cmV0dXJuIHRbaV1bZV1bb119KSksSi5jbGFzc2VkKCJob3Zlci1jbG9zZXN0IiwoZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10fSkpLEsuY2xhc3NlZCgib3V0bGluZS1ob3ZlciIsKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dH0pKTt2YXIgbT11KGgpO2V0LmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQpe3JldHVybiJ0cmFuc2xhdGUoIitMKGhbaV1bbV1bbl0raFtpXVttXVtyXS8yKSsiLCAiK2IrIikifSkpLnNlbGVjdCgidGV4dCIpLnRleHQoKGZ1bmN0aW9uKHQpe3JldHVybiB4KGhbaV1bbV1bbl0raFtpXVttXVtyXS8yKX0pKTt2YXIgZz1SLnRpY2tGb3JtYXQoKTtydC5hdHRyKCJ0cmFuc2Zvcm0iLChmdW5jdGlvbihlKXtyZXR1cm4idHJhbnNsYXRlKCIrdisiLCAiKygib2Zmc2V0Ij09PXM/QyhwKHQpKTowKSsiKSJ9KSkuc3R5bGUoImRpc3BsYXkiLCJvZmZzZXQiPT09cz8iIjoibm9uZSIpLnNlbGVjdCgidGV4dCIpLnRleHQoKGZ1bmN0aW9uKGUpe3JldHVybiBnKHAodCkpfSkpO3ZhciBfPU8udGlja0Zvcm1hdCgpO3N0LmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKGUpe3JldHVybiJ0cmFuc2xhdGUoIit2KyIsICIrKCJvZmZzZXQiPT09cz8wOkEodFtpXVttXVtvXSkpKyIpIn0pKS5zdHlsZSgiZGlzcGxheSIsIm9mZnNldCI9PT1zPyJub25lIjoiIikuc2VsZWN0KCJ0ZXh0IikudGV4dCgoZnVuY3Rpb24oZSl7cmV0dXJuIF8odFtpXVttXVtvXSl9KSk7dmFyIHk9eUp0Lm1vdXNlKEIpO2Muc3R5bGUoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiKyh5WzBdKzE1KSsicHgsIisoeVsxXS0xNSkrInB4KSIpLnNlbGVjdCgic3BhbiIpLnRleHQoIm9mZnNldCI9PT1zP18odFtpXVttXVtvXSk6KCJzdGVwIj09PWU/InN0ZXAgIjoiIikrZyhwKHQpKSl9KSk7Ry5zZWxlY3QoIi5iYWNrZ3JvdW5kIikuYXR0cigidHJhbnNmb3JtIiwidHJhbnNsYXRlKCIrLXkubGVmdCsiLCIrLXkudG9wKyIpIikuYXR0cigid2lkdGgiLGcpLmF0dHIoImhlaWdodCIsXyk7dmFyIHE9Ry5zZWxlY3RBbGwoIi5oaXN0b2dyYW0iKS5kYXRhKGEpO3EuZXhpdCgpLnJlbW92ZSgpO3ZhciBZPXEuZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsImhpc3RvZ3JhbSIpLFg9WS5tZXJnZShxKS5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiBwKHQpLXAoZSl9KSksJD1VLnNlbGVjdEFsbCgiLmhpc3RvZ3JhbSIpLmF0dHIoInRyYW5zZm9ybSIsKGZ1bmN0aW9uKHQpe3JldHVybiJ0cmFuc2xhdGUoMCwgIisoIm9mZnNldCI9PT1zP0MocCh0KSktZjowKSsiKSJ9KSk7WS5hcHBlbmQoImxpbmUiKS5hdHRyKCJjbGFzcyIsImJhc2VsaW5lIiksJC5zZWxlY3QoIi5iYXNlbGluZSIpLnN0eWxlKCJzdHJva2Utb3BhY2l0eSIsKGZ1bmN0aW9uKHQpe3JldHVybiJvZmZzZXQiPT09cz8uMTowfSkpLmF0dHIoInkxIixmKS5hdHRyKCJ5MiIsZikuYXR0cigieDIiLHYpLFkuYXBwZW5kKCJwYXRoIikuYXR0cigiY2xhc3MiLCJvdXRsaW5lIik7dmFyIEs9WC5zZWxlY3QoIi5vdXRsaW5lIikuYXR0cigidmVjdG9yLWVmZmVjdCIsIm5vbi1zY2FsaW5nLXN0cm9rZSIpLmF0dHIoImQiLChmdW5jdGlvbih0KXtyZXR1cm4oZnVuY3Rpb24odCl7cmV0dXJuIk0iK1Aoeih0WzBdKSkrIiwiK2soMCkrIkwiK0QodCkuc2xpY2UoMSkrIkwiK1Aoeih0W3QubGVuZ3RoLTFdKSkrIiwiK2soMCl9KSh0W2ldKX0pKS5zdHlsZSgic3Ryb2tlLXdpZHRoIiwxKTskLnNlbGVjdCgiLm91dGxpbmUiKS5hdHRyKCJ0cmFuc2Zvcm0iLCJzY2FsZSgiK3YvRSsiLCAiK2YvRSsiKSIpLnN0eWxlKCJzdHJva2UiLChmdW5jdGlvbih0KXtyZXR1cm4ib2Zmc2V0Ij09PXM/IiI6TihwKHQpKX0pKS5zdHlsZSgiZmlsbC1vcGFjaXR5IiwoZnVuY3Rpb24odCl7cmV0dXJuIm9mZnNldCI9PT1zPzE6MH0pKS5zdHlsZSgiZmlsbCIsKGZ1bmN0aW9uKHQpe3JldHVybiBOKHAodCkpfSkpO3ZhciBaPVkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJob3ZlciIpLEo9WC5zZWxlY3QoIi5ob3ZlciIpLnN0eWxlKCJmaWxsIiwoZnVuY3Rpb24odCl7cmV0dXJuIE4ocCh0KSl9KSk7Wi5hcHBlbmQoImNpcmNsZSIpLmF0dHIoInIiLDIpLFouYXBwZW5kKCJ0ZXh0Iikuc3R5bGUoImRpc3BsYXkiLCJub25lIikuYXR0cigiZHgiLDQpO3ZhciBRPVYuc2VsZWN0KCIueC1heGlzLWhvdmVyIikuc2VsZWN0QWxsKCIubGFiZWwiKS5kYXRhKFsieCJdKSx0dD1RLmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJsYWJlbCIpLGV0PVEubWVyZ2UodHQpO3R0LmFwcGVuZCgicmVjdCIpLmF0dHIoIngiLC0yMCkuYXR0cigieSIsNikuYXR0cigid2lkdGgiLDQwKS5hdHRyKCJoZWlnaHQiLDE0KSx0dC5hcHBlbmQoImxpbmUiKS5hdHRyKCJ4MSIsMCkuYXR0cigieDIiLDApLmF0dHIoInkxIiwwKS5hdHRyKCJ5MiIsNiksdHQuYXBwZW5kKCJ0ZXh0IikuYXR0cigiZHkiLDE4KTt2YXIgbnQ9Vi5zZWxlY3QoIi55LWF4aXMtaG92ZXIiKS5zZWxlY3RBbGwoIi5sYWJlbCIpLmRhdGEoWyJ5Il0pLGl0PW50LmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJsYWJlbCIpLHJ0PW50Lm1lcmdlKGl0KTtpdC5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4Iiw4KS5hdHRyKCJ5IiwtNikuYXR0cigid2lkdGgiLDQwKS5hdHRyKCJoZWlnaHQiLDE0KSxpdC5hcHBlbmQoImxpbmUiKS5hdHRyKCJ4MSIsMCkuYXR0cigieDIiLDYpLmF0dHIoInkxIiwwKS5hdHRyKCJ5MiIsMCksaXQuYXBwZW5kKCJ0ZXh0IikuYXR0cigiZHgiLDgpLmF0dHIoImR5Iiw0KTt2YXIgb3Q9Vi5zZWxlY3QoIi55LXNsaWNlLWF4aXMtaG92ZXIiKS5zZWxlY3RBbGwoIi5sYWJlbCIpLmRhdGEoWyJ5Il0pLGF0PW90LmVudGVyKCkuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJsYWJlbCIpLHN0PW90Lm1lcmdlKGF0KTthdC5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4Iiw4KS5hdHRyKCJ5IiwtNikuYXR0cigid2lkdGgiLDQwKS5hdHRyKCJoZWlnaHQiLDE0KSxhdC5hcHBlbmQoImxpbmUiKS5hdHRyKCJ4MSIsMCkuYXR0cigieDIiLDYpLmF0dHIoInkxIiwwKS5hdHRyKCJ5MiIsMCksYXQuYXBwZW5kKCJ0ZXh0IikuYXR0cigiZHgiLDgpLmF0dHIoImR5Iiw0KSxVLnNlbGVjdCgiLnkuYXhpcy5zbGljZSIpLnN0eWxlKCJvcGFjaXR5Iiwib2Zmc2V0Ij09PXM/MDoxKS5hdHRyKCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoMCwgIisoIm9mZnNldCI9PT1zPy1mOjApKyIpIikuY2FsbChPKSxVLnNlbGVjdCgiLnguYXhpcyIpLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgwLCAiK2IrIikiKS5jYWxsKEkpLFUuc2VsZWN0KCIueS5heGlzIikuc3R5bGUoIm9wYWNpdHkiLCJvZmZzZXQiPT09cz8xOjApLmF0dHIoInRyYW5zZm9ybSIsInRyYW5zbGF0ZSgiK3YrIiwgIisoIm9mZnNldCI9PT1zPzA6YikrIikiKS5jYWxsKFIpLFUuc2VsZWN0QWxsKCIudGljayB0ZXh0IikuYXR0cigiZmlsbCIsIiNhYWEiKSxVLnNlbGVjdEFsbCgiLmF4aXMgcGF0aC5kb21haW4iKS5hdHRyKCJzdHJva2UiLCJub25lIil9fTtmdW5jdGlvbiBiSnQodCl7Y29uc3RbZSxuLGldPXQ7cmV0dXJue3dhbGxfdGltZTplLHN0ZXA6bixtaW46c2MoaS5tYXAoKChbdCwsXSk9PnQpKSksbWF4Om9jKGkubWFwKCgoWyx0XSk9PnQpKSksYnVja2V0czppLm1hcCgoKFt0LGUsbl0pPT4oe2xlZnQ6dCxyaWdodDplLGNvdW50Om59KSkpfX1mdW5jdGlvbiB4SnQodCxlLG4saT0zMCl7dm9pZCAwIT09ZSYmbnVsbCE9bnx8KGU9MCxuPTApLG49PT1lJiYobj0xLjEqZSsxLGU9ZS8xLjEtMSk7Y29uc3Qgcj0obi1lKS9pO2xldCBvPTA7Y29uc3QgYT1bXTtmb3IobGV0IHM9MDtzPGk7cysrKXtjb25zdCBpPWUrcypyLGw9aStyO2xldCBjPTA7Zm9yKDtvPHQuYnVja2V0cy5sZW5ndGg7KXtjb25zdCByPU1hdGgubWluKG4sdC5idWNrZXRzW29dLnJpZ2h0KSxhPU1hdGgubWF4KGUsdC5idWNrZXRzW29dLmxlZnQpO2lmKHItYT4wKXtjb25zdCBlPU1hdGgubWluKHIsbCktTWF0aC5tYXgoYSxpKSxuPWUvKHItYSkqdC5idWNrZXRzW29dLmNvdW50O2MrPWU+MD9uOjB9ZWxzZXtjb25zdCBlPWw+PW47Yys9aTw9YSYmKGU/cjw9bDpyPGwpP3QuYnVja2V0c1tvXS5jb3VudDowfWlmKHI+bClicmVhaztvKyt9YS5wdXNoKHt4OmksZHg6cix5OmN9KX1yZXR1cm4gYX12SnQudGVtcGxhdGU9eGVgCiAgICA8ZGl2IGlkPSJ0b29sdGlwIj48c3Bhbj48L3NwYW4+PC9kaXY+CiAgICA8c3ZnIGlkPSJzdmciPgogICAgICA8Zz4KICAgICAgICA8ZyBjbGFzcz0iYXhpcyB4Ij48L2c+CiAgICAgICAgPGcgY2xhc3M9ImF4aXMgeSI+PC9nPgogICAgICAgIDxnIGNsYXNzPSJheGlzIHkgc2xpY2UiPjwvZz4KICAgICAgICA8ZyBjbGFzcz0ic3RhZ2UiPgogICAgICAgICAgPHJlY3QgY2xhc3M9ImJhY2tncm91bmQiPjwvcmVjdD4KICAgICAgICA8L2c+CiAgICAgICAgPGcgY2xhc3M9IngtYXhpcy1ob3ZlciI+PC9nPgogICAgICAgIDxnIGNsYXNzPSJ5LWF4aXMtaG92ZXIiPjwvZz4KICAgICAgICA8ZyBjbGFzcz0ieS1zbGljZS1heGlzLWhvdmVyIj48L2c+CiAgICAgIDwvZz4KICAgIDwvc3ZnPgoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGNvbG9yOiAjYWFhOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIC0tdnotaGlzdG9ncmFtLXRpbWVzZXJpZXMtaG92ZXItYmctY29sb3I6ICNmZmY7CiAgICAgICAgLS12ei1oaXN0b2dyYW0tdGltZXNlcmllcy1vdXRsaW5lLWNvbG9yOiAjZmZmOwogICAgICAgIC0tdnotaGlzdG9ncmFtLXRpbWVzZXJpZXMtaG92ZXItb3V0bGluZS1jb2xvcjogIzAwMDsKICAgICAgfQoKICAgICAgOmhvc3QoLmRhcmstbW9kZSkgewogICAgICAgIC0tdnotaGlzdG9ncmFtLXRpbWVzZXJpZXMtaG92ZXItYmctY29sb3I6IHZhcigKICAgICAgICAgIC0tcHJpbWFyeS1iYWNrZ3JvdW5kLWNvbG9yCiAgICAgICAgKTsKICAgICAgICAtLXZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzLW91dGxpbmUtY29sb3I6IHZhcigtLXBhcGVyLWdyZXktNjAwKTsKICAgICAgICAtLXZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzLWhvdmVyLW91dGxpbmUtY29sb3I6ICNmZmY7CiAgICAgIH0KCiAgICAgIHN2ZyB7CiAgICAgICAgZm9udC1mYW1pbHk6IHJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgIH0KCiAgICAgIHRleHQgewogICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsKICAgICAgfQoKICAgICAgI3Rvb2x0aXAgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgfQoKICAgICAgLmJhY2tncm91bmQgewogICAgICAgIGZpbGwtb3BhY2l0eTogMDsKICAgICAgICBmaWxsOiByZWQ7CiAgICAgIH0KCiAgICAgIC5oaXN0b2dyYW0gewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuaG92ZXIgewogICAgICAgIGZvbnQtc2l6ZTogOXB4OwogICAgICAgIGRvbWluYW50LWJhc2VsaW5lOiBtaWRkbGU7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQoKICAgICAgLmhvdmVyIGNpcmNsZSB7CiAgICAgICAgc3Ryb2tlOiB3aGl0ZTsKICAgICAgICBzdHJva2Utb3BhY2l0eTogMC41OwogICAgICAgIHN0cm9rZS13aWR0aDogMXB4OwogICAgICB9CgogICAgICAuaG92ZXIgdGV4dCB7CiAgICAgICAgZmlsbDogYmxhY2s7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQoKICAgICAgLmhvdmVyLmhvdmVyLWNsb3Nlc3QgY2lyY2xlIHsKICAgICAgICBmaWxsOiB2YXIoLS12ei1oaXN0b2dyYW0tdGltZXNlcmllcy1ob3Zlci1vdXRsaW5lLWNvbG9yKSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuaG92ZXIuaG92ZXItY2xvc2VzdCB0ZXh0IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuYmFzZWxpbmUgewogICAgICAgIHN0cm9rZTogYmxhY2s7CiAgICAgICAgc3Ryb2tlLW9wYWNpdHk6IDAuMTsKICAgICAgfQoKICAgICAgLm91dGxpbmUgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgICAgc3Ryb2tlOiB2YXIoLS12ei1oaXN0b2dyYW0tdGltZXNlcmllcy1vdXRsaW5lLWNvbG9yKTsKICAgICAgICBzdHJva2Utb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAub3V0bGluZS5vdXRsaW5lLWhvdmVyIHsKICAgICAgICBzdHJva2U6IHZhcigtLXZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzLWhvdmVyLW91dGxpbmUtY29sb3IpICFpbXBvcnRhbnQ7CiAgICAgICAgc3Ryb2tlLW9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC54LWF4aXMtaG92ZXIsCiAgICAgIC55LWF4aXMtaG92ZXIsCiAgICAgIC55LXNsaWNlLWF4aXMtaG92ZXIgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAueC1heGlzLWhvdmVyIC5sYWJlbCwKICAgICAgLnktYXhpcy1ob3ZlciAubGFiZWwsCiAgICAgIC55LXNsaWNlLWF4aXMtaG92ZXIgLmxhYmVsIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICB0ZXh0LWFuY2hvcjogZW5kOwogICAgICB9CgogICAgICAueC1heGlzLWhvdmVyIHRleHQgewogICAgICAgIHRleHQtYW5jaG9yOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC55LWF4aXMtaG92ZXIgdGV4dCwKICAgICAgLnktc2xpY2UtYXhpcy1ob3ZlciB0ZXh0IHsKICAgICAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7CiAgICAgIH0KCiAgICAgIC54LWF4aXMtaG92ZXIgbGluZSwKICAgICAgLnktYXhpcy1ob3ZlciBsaW5lLAogICAgICAueS1zbGljZS1heGlzLWhvdmVyIGxpbmUgewogICAgICAgIHN0cm9rZTogY3VycmVudENvbG9yOwogICAgICB9CgogICAgICAueC1heGlzLWhvdmVyIHJlY3QsCiAgICAgIC55LWF4aXMtaG92ZXIgcmVjdCwKICAgICAgLnktc2xpY2UtYXhpcy1ob3ZlciByZWN0IHsKICAgICAgICBmaWxsOiB2YXIoLS12ei1oaXN0b2dyYW0tdGltZXNlcmllcy1ob3Zlci1iZy1jb2xvcik7CiAgICAgIH0KCiAgICAgICN0b29sdGlwLAogICAgICAueC1heGlzLWhvdmVyIHRleHQsCiAgICAgIC55LWF4aXMtaG92ZXIgdGV4dCwKICAgICAgLnktc2xpY2UtYXhpcy1ob3ZlciB0ZXh0IHsKICAgICAgICBjb2xvcjogdmFyKC0tdnotaGlzdG9ncmFtLXRpbWVzZXJpZXMtaG92ZXItb3V0bGluZS1jb2xvcik7CiAgICAgIH0KCiAgICAgIC5heGlzIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIH0KCiAgICAgIC5heGlzIHBhdGguZG9tYWluIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuYXhpcyAudGljayBsaW5lIHsKICAgICAgICBzdHJva2U6ICNkZGQ7CiAgICAgIH0KCiAgICAgIC5heGlzLnNsaWNlIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAuYXhpcy5zbGljZSAudGljayBsaW5lIHsKICAgICAgICBzdHJva2UtZGFzaGFycmF5OiAyOwogICAgICB9CgogICAgICAuc21hbGwgLmF4aXMgdGV4dCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICAuc21hbGwgLmF4aXMgLnRpY2s6Zmlyc3Qtb2YtdHlwZSB0ZXh0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuc21hbGwgLmF4aXMgLnRpY2s6bGFzdC1vZi10eXBlIHRleHQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5tZWRpdW0gLmF4aXMgdGV4dCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICAubWVkaXVtIC5heGlzIC50aWNrOm50aC1jaGlsZCgybiArIDEpIHRleHQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5sYXJnZSAuYXhpcyB0ZXh0IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICAgIC5sYXJnZSAuYXhpcyAudGljazpudGgtY2hpbGQoMm4gKyAxKSB0ZXh0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHZKdC5wcm90b3R5cGUsIm1vZGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sdkp0LnByb3RvdHlwZSwidGltZVByb3BlcnR5Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHZKdC5wcm90b3R5cGUsImJpbnMiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sdkp0LnByb3RvdHlwZSwieCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx2SnQucHJvdG90eXBlLCJkeCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx2SnQucHJvdG90eXBlLCJ5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHZKdC5wcm90b3R5cGUsImNvbG9yU2NhbGUiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sdkp0LnByb3RvdHlwZSwibW9kZVRyYW5zaXRpb25EdXJhdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHZKdC5wcm90b3R5cGUsIl9hdHRhY2hlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx2SnQucHJvdG90eXBlLCJfbmFtZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sdkp0LnByb3RvdHlwZSwiX2RhdGEiLHZvaWQgMCksdChbYSgidGltZVByb3BlcnR5IiwiY29sb3JTY2FsZSIsIl9hdHRhY2hlZCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sdkp0LnByb3RvdHlwZSwiX3JlZHJhd09uQ2hhbmdlIixudWxsKSx0KFthKCJtb2RlIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSx2SnQucHJvdG90eXBlLCJfbW9kZVJlZHJhdyIsbnVsbCksdkp0PXQoW2koInZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzIildLHZKdCk7bGV0IHdKdD1jbGFzcyBleHRlbmRzKGJDdChjcih3ZSkpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5nZXREYXRhTG9hZE5hbWU9KHtydW46dH0pPT50LHRoaXMucmVxdWVzdERhdGE9KHQsZSxuKT0+e2NvbnN0IGk9RXIoKS5wbHVnaW5Sb3V0ZSgiaGlzdG9ncmFtcyIsIi9oaXN0b2dyYW1zIik7UHJvbWlzZS5hbGwodC5tYXAoKHQ9Pntjb25zdCBuPVBPKGkse3RhZzp0LnRhZyxydW46dC5ydW59KTtyZXR1cm4gdGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KG4pLnRoZW4oKG49PntlKHtpdGVtOnQsZGF0YTpufSl9KSl9KSkpLmZpbmFsbHkoKCgpPT57bigpfSkpfSx0aGlzLmxvYWREYXRhQ2FsbGJhY2s9KHQsZSxuKT0+e2NvbnN0IGk9KGZ1bmN0aW9uIHIodCl7Y29uc3QgZT10Lm1hcChiSnQpLG49c2MoZSwodD0+dC5taW4pKSxpPW9jKGUsKHQ9PnQubWF4KSk7cmV0dXJuIGUubWFwKCh0PT4oe3dhbGxfdGltZTp0LndhbGxfdGltZSxzdGVwOnQuc3RlcCxiaW5zOnhKdCh0LG4saSl9KSkpfSkobiksbz10aGlzLmdldERhdGFMb2FkTmFtZShlKTt0aGlzLiQuY2hhcnQuc2V0U2VyaWVzRGF0YShvLGkpfSx0aGlzLl9jb2xvclNjYWxlRnVuY3Rpb249X08sdGhpcy5fZXhwYW5kZWQ9ITF9X3JlbG9hZE9uUnVuVGFnUmVxdWVzdE1hbmFnZXJDaGFuZ2UoKXt0aGlzLnJlbG9hZCgpfV91cGRhdGVEYXRhVG9Mb2FkKCl7dGhpcy5kYXRhVG9Mb2FkPVt7cnVuOnRoaXMucnVuLHRhZzp0aGlzLnRhZ31dfWdldCBfcnVuQ29sb3IoKXtyZXR1cm4gdGhpcy5fY29sb3JTY2FsZUZ1bmN0aW9uKHRoaXMucnVuKX1yZWRyYXcoKXt0aGlzLiQuY2hhcnQucmVkcmF3KCl9X3RvZ2dsZUV4cGFuZGVkKHQpe3RoaXMuc2V0KCJfZXhwYW5kZWQiLCF0aGlzLl9leHBhbmRlZCksdGhpcy5yZWRyYXcoKX19O3dKdC50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1jYXJkLWhlYWRpbmcKICAgICAgdGFnPSJbW3RhZ11dIgogICAgICBydW49IltbcnVuXV0iCiAgICAgIGRpc3BsYXktbmFtZT0iW1t0YWdNZXRhZGF0YS5kaXNwbGF5TmFtZV1dIgogICAgICBkZXNjcmlwdGlvbj0iW1t0YWdNZXRhZGF0YS5kZXNjcmlwdGlvbl1dIgogICAgICBjb2xvcj0iW1tfcnVuQ29sb3JdXSIKICAgID48L3RmLWNhcmQtaGVhZGluZz4KICAgIDwhLS0KICAgICAgVGhlIG1haW4gaGlzdG9ncmFtIHRoYXQgd2UgcmVuZGVyLiBEYXRhIGlzIHNldCBkaXJlY3RseSB3aXRoCiAgICAgIFxgc2V0U2VyaWVzRGF0YVxgLCBub3Qgd2l0aCBhIGJvdW5kIHByb3BlcnR5LgogICAgLS0+CiAgICA8dnotaGlzdG9ncmFtLXRpbWVzZXJpZXMKICAgICAgaWQ9ImNoYXJ0IgogICAgICB0aW1lLXByb3BlcnR5PSJbW3RpbWVQcm9wZXJ0eV1dIgogICAgICBtb2RlPSJbW2hpc3RvZ3JhbU1vZGVdXSIKICAgICAgY29sb3Itc2NhbGU9IltbX2NvbG9yU2NhbGVGdW5jdGlvbl1dIgogICAgPjwvdnotaGlzdG9ncmFtLXRpbWVzZXJpZXM+CiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogcm93OyI+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgIHNlbGVjdGVkJD0iW1tfZXhwYW5kZWRdXSIKICAgICAgICBpY29uPSJmdWxsc2NyZWVuIgogICAgICAgIG9uLXRhcD0iX3RvZ2dsZUV4cGFuZGVkIgogICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHdpZHRoOiAzMzBweDsKICAgICAgICBoZWlnaHQ6IDIzNXB4OwogICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OwogICAgICB9CiAgICAgIDpob3N0KFtfZXhwYW5kZWRdKSB7CiAgICAgICAgd2lkdGg6IDcwMHB4OwogICAgICAgIGhlaWdodDogNTAwcHg7CiAgICAgIH0KCiAgICAgIHZ6LWhpc3RvZ3JhbS10aW1lc2VyaWVzIHsKICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGNvbG9yOiAjMjE5NmYzOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b25bc2VsZWN0ZWRdIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10Yi11aS1saWdodC1hY2NlbnQpOwogICAgICB9CgogICAgICB0Zi1jYXJkLWhlYWRpbmcgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgd2lkdGg6IDkwJTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHdKdC5wcm90b3R5cGUsInJ1biIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx3SnQucHJvdG90eXBlLCJ0YWciLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sd0p0LnByb3RvdHlwZSwiZ2V0RGF0YUxvYWROYW1lIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0sd0p0LnByb3RvdHlwZSwicmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sd0p0LnByb3RvdHlwZSwibG9hZERhdGFDYWxsYmFjayIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx3SnQucHJvdG90eXBlLCJ0YWdNZXRhZGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx3SnQucHJvdG90eXBlLCJ0aW1lUHJvcGVydHkiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sd0p0LnByb3RvdHlwZSwiaGlzdG9ncmFtTW9kZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLHdKdC5wcm90b3R5cGUsIl9jb2xvclNjYWxlRnVuY3Rpb24iLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFuLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sd0p0LnByb3RvdHlwZSwiX2V4cGFuZGVkIix2b2lkIDApLHQoW2EoInJ1biIsInRhZyIsInJlcXVlc3RNYW5hZ2VyIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSx3SnQucHJvdG90eXBlLCJfcmVsb2FkT25SdW5UYWdSZXF1ZXN0TWFuYWdlckNoYW5nZSIsbnVsbCksdChbYSgicnVuIiwidGFnIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSx3SnQucHJvdG90eXBlLCJfdXBkYXRlRGF0YVRvTG9hZCIsbnVsbCksdChbcygicnVuIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sd0p0LnByb3RvdHlwZSwiX3J1bkNvbG9yIixudWxsKSx3SnQ9dChbaSgidGYtaGlzdG9ncmFtLWxvYWRlciIpXSx3SnQpO2xldCBTSnQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJlbG9hZE9uUmVhZHk9ITAsdGhpcy5faGlzdG9ncmFtTW9kZT0ib2Zmc2V0Iix0aGlzLl90aW1lUHJvcGVydHk9InN0ZXAiLHRoaXMuX3Jlc3RhbXA9ITEsdGhpcy5fcmVxdWVzdE1hbmFnZXI9bmV3IGJyfV9yZWRyYXdDYXRlZ29yeVBhbmUodCxlKXtlJiZ0LnRhcmdldC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1oaXN0b2dyYW0tbG9hZGVyIikuZm9yRWFjaCgodD0+dC5yZWRyYXcoKSkpfXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLnJlbG9hZE9uUmVhZHkmJnRoaXMucmVsb2FkKCl9cmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKCk9Pnt0aGlzLl9yZWxvYWRIaXN0b2dyYW1zKCl9KSl9X2ZldGNoVGFncygpe2NvbnN0IHQ9RXIoKS5wbHVnaW5Sb3V0ZSgiaGlzdG9ncmFtcyIsIi90YWdzIik7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodCkudGhlbigodD0+e2lmKENlLmV4cG9ydHMuaXNFcXVhbCh0LHRoaXMuX3J1blRvVGFnSW5mbykpcmV0dXJuO2NvbnN0IGU9Q2UuZXhwb3J0cy5tYXBWYWx1ZXModCwodD0+T2JqZWN0LmtleXModCkpKSxuPWZyKGUpO3RoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwwPT09bi5sZW5ndGgpLHRoaXMuc2V0KCJfcnVuVG9UYWciLGUpLHRoaXMuc2V0KCJfcnVuVG9UYWdJbmZvIix0KSx0aGlzLmFzeW5jKCgoKT0+e3RoaXMuc2V0KCJfY2F0ZWdvcmllc0RvbVJlYWR5IiwhMCl9KSl9KSl9X3JlbG9hZEhpc3RvZ3JhbXMoKXt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtaGlzdG9ncmFtLWxvYWRlciIpLmZvckVhY2goKHQ9Pnt0LnJlbG9hZCgpfSkpfV9zaG91bGRPcGVuKHQpe3JldHVybiB0PD0yfWdldCBfY2F0ZWdvcmllcygpe3JldHVybiBJcih0aGlzLl9ydW5Ub1RhZyx0aGlzLl9zZWxlY3RlZFJ1bnMsdGhpcy5fdGFnRmlsdGVyKX1fdGFnTWV0YWRhdGEodCxlLG4pe3JldHVybiB0W2VdW25dfX07U0p0LnRlbXBsYXRlPXhlYAogICAgPHRmLWRhc2hib2FyZC1sYXlvdXQ+CiAgICAgIDxkaXYgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3MiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvcgogICAgICAgICAgICAgIGlkPSJoaXN0b2dyYW1Nb2RlU2VsZWN0b3IiCiAgICAgICAgICAgICAgbmFtZT0iSGlzdG9ncmFtIG1vZGUiCiAgICAgICAgICAgICAgc2VsZWN0ZWQtaWQ9Int7X2hpc3RvZ3JhbU1vZGV9fSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24gaWQ9Im92ZXJsYXkiPm92ZXJsYXk8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJvZmZzZXQiPm9mZnNldDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICA8L3RmLW9wdGlvbi1zZWxlY3Rvcj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvcgogICAgICAgICAgICAgIGlkPSJ0aW1lUHJvcGVydHlTZWxlY3RvciIKICAgICAgICAgICAgICBuYW1lPSJPZmZzZXQgdGltZSBheGlzIgogICAgICAgICAgICAgIHNlbGVjdGVkLWlkPSJ7e190aW1lUHJvcGVydHl9fSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxwYXBlci1idXR0b24gaWQ9InN0ZXAiPnN0ZXA8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJyZWxhdGl2ZSI+cmVsYXRpdmU8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJ3YWxsX3RpbWUiPndhbGw8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24gcnVucy1zZWxlY3RvciI+CiAgICAgICAgICA8dGYtcnVucy1zZWxlY3RvciBzZWxlY3RlZC1ydW5zPSJ7e19zZWxlY3RlZFJ1bnN9fSI+CiAgICAgICAgICA8L3RmLXJ1bnMtc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IHNsb3Q9ImNlbnRlciI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJuby1kYXRhLXdhcm5pbmciPgogICAgICAgICAgICA8aDM+Tm8gaGlzdG9ncmFtIGRhdGEgd2FzIGZvdW5kLjwvaDM+CiAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICBZb3UgaGF2ZW7igJl0IHdyaXR0ZW4gYW55IGhpc3RvZ3JhbSBkYXRhIHRvIHlvdXIgZXZlbnQgZmlsZXMuCiAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICA8bGk+VGVuc29yQm9hcmQgY2Fu4oCZdCBmaW5kIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdeKAmXJlIG5ldyB0byB1c2luZyBUZW5zb3JCb2FyZCwgYW5kIHdhbnQgdG8gZmluZCBvdXQgaG93IHRvCiAgICAgICAgICAgICAgYWRkIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCIKICAgICAgICAgICAgICAgID5SRUFETUU8L2EKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgYW5kIHBlcmhhcHMgdGhlCiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL2dldF9zdGFydGVkL3N1bW1hcmllc19hbmRfdGVuc29yYm9hcmQiCiAgICAgICAgICAgICAgICA+VGVuc29yQm9hcmQgdHV0b3JpYWw8L2EKICAgICAgICAgICAgICA+LgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQjbXktdGVuc29yYm9hcmQtaXNudC1zaG93aW5nLWFueS1kYXRhLXdoYXRzLXdyb25nIgogICAgICAgICAgICAgICAgPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2EKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRmLXRhZy1maWx0ZXJlciB0YWctZmlsdGVyPSJ7e190YWdGaWx0ZXJ9fSI+PC90Zi10YWctZmlsdGVyZXI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldwogICAgICAgICAgICAgIGNhdGVnb3J5PSJbW2NhdGVnb3J5XV0iCiAgICAgICAgICAgICAgaW5pdGlhbC1vcGVuZWQ9IltbX3Nob3VsZE9wZW4oaW5kZXgpXV0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtaGlzdG9ncmFtLWxvYWRlcgogICAgICAgICAgICAgICAgICBydW49IltbaXRlbS5ydW5dXSIKICAgICAgICAgICAgICAgICAgdGFnPSJbW2l0ZW0udGFnXV0iCiAgICAgICAgICAgICAgICAgIGFjdGl2ZT0iW1thY3RpdmVdXSIKICAgICAgICAgICAgICAgICAgdGFnLW1ldGFkYXRhPSJbW190YWdNZXRhZGF0YShfcnVuVG9UYWdJbmZvLCBpdGVtLnJ1biwgaXRlbS50YWcpXV0iCiAgICAgICAgICAgICAgICAgIHRpbWUtcHJvcGVydHk9IltbX3RpbWVQcm9wZXJ0eV1dIgogICAgICAgICAgICAgICAgICBoaXN0b2dyYW0tbW9kZT0iW1tfaGlzdG9ncmFtTW9kZV1dIgogICAgICAgICAgICAgICAgICByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iCiAgICAgICAgICAgICAgICA+PC90Zi1oaXN0b2dyYW0tbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgoKICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxTSnQucHJvdG90eXBlLCJyZWxvYWRPblJlYWR5Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFNKdC5wcm90b3R5cGUsIl9oaXN0b2dyYW1Nb2RlIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFNKdC5wcm90b3R5cGUsIl90aW1lUHJvcGVydHkiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLFNKdC5wcm90b3R5cGUsIl9zZWxlY3RlZFJ1bnMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sU0p0LnByb3RvdHlwZSwiX3J1blRvVGFnIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFNKdC5wcm90b3R5cGUsIl9ydW5Ub1RhZ0luZm8iLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxTSnQucHJvdG90eXBlLCJfZGF0YU5vdEZvdW5kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFNKdC5wcm90b3R5cGUsIl90YWdGaWx0ZXIiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxTSnQucHJvdG90eXBlLCJfcmVzdGFtcCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFNKdC5wcm90b3R5cGUsIl9jYXRlZ29yaWVzRG9tUmVhZHkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxTSnQucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbcygiX3J1blRvVGFnIiwiX3NlbGVjdGVkUnVucyIsIl90YWdGaWx0ZXIiLCJfY2F0ZWdvcmllc0RvbVJlYWR5IiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxTSnQucHJvdG90eXBlLCJfY2F0ZWdvcmllcyIsbnVsbCksU0p0PXQoW2koInRmLWhpc3RvZ3JhbS1kYXNoYm9hcmQiKV0sU0p0KTtjbGFzcyBNSnR7Y29uc3RydWN0b3IodCxlLG49ITApe3RoaXMuX2FwaVVybD10LHRoaXMuX3JlcXVlc3RNYW5hZ2VyPWUsdGhpcy5fdXNlSHR0cEdldD1ufWdldEV4cGVyaW1lbnQodCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJleHBlcmltZW50Iix0KX1nZXREb3dubG9hZFVybCh0LGUsbil7cmV0dXJuIHRoaXMuX2FwaVVybCsiL2Rvd25sb2FkX2RhdGE/IituZXcgVVJMU2VhcmNoUGFyYW1zKHtmb3JtYXQ6dCxjb2x1bW5zVmlzaWJpbGl0eTpKU09OLnN0cmluZ2lmeShuKSxyZXF1ZXN0OkpTT04uc3RyaW5naWZ5KGUpfSl9bGlzdFNlc3Npb25Hcm91cHModCl7cmV0dXJuIHRoaXMuX3NlbmRSZXF1ZXN0KCJzZXNzaW9uX2dyb3VwcyIsdCl9bGlzdE1ldHJpY0V2YWxzKHQpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCgibWV0cmljX2V2YWxzIix0KX1fc2VuZFJlcXVlc3QodCxlKXtpZih0aGlzLl91c2VIdHRwR2V0KXtjb25zdCBuPWVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShlKSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodGhpcy5fYXBpVXJsKyIvIit0KyI/cmVxdWVzdD0iK24pfWNvbnN0IG49bmV3IHZyO24ud2l0aENyZWRlbnRpYWxzPSEwLG4ubWV0aG9kVHlwZT15ci5QT1NULG4uY29udGVudFR5cGU9InRleHQvcGxhaW4iLG4uYm9keT1KU09OLnN0cmluZ2lmeShlKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdFdpdGhPcHRpb25zKHRoaXMuX2FwaVVybCsiLyIrdCxuKX19bGV0IEVKdD1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm9yaWVudGF0aW9uPSJob3Jpem9udGFsIn19O2Z1bmN0aW9uIFRKdCh0KXtyZXR1cm4iIiE9PXQuZGlzcGxheU5hbWUmJnZvaWQgMCE9PXQuZGlzcGxheU5hbWU/dC5kaXNwbGF5TmFtZTp0Lm5hbWV9ZnVuY3Rpb24gQ0p0KHQpe2lmKCIiIT09dC5kaXNwbGF5TmFtZSYmdm9pZCAwIT09dC5kaXNwbGF5TmFtZSlyZXR1cm4gdC5kaXNwbGF5TmFtZTtsZXQgZT10Lm5hbWUuZ3JvdXAsbj10Lm5hbWUudGFnO3JldHVybiB2b2lkIDA9PT1lJiYoZT0iIiksdm9pZCAwPT09biYmKG49IiIpLCIiPT09ZT9uOmUrIi4iK259ZnVuY3Rpb24gQUp0KHQsZSl7aWYoZTx0LmhwYXJhbUNvbHVtbnMubGVuZ3RoKXJldHVybiBUSnQodC5ocGFyYW1Db2x1bW5zW2VdLmhwYXJhbUluZm8pO3JldHVybiBDSnQodC5tZXRyaWNDb2x1bW5zW2UtdC5ocGFyYW1Db2x1bW5zLmxlbmd0aF0ubWV0cmljSW5mbyl9ZnVuY3Rpb24ga0p0KHQpe3JldHVybiB0LmhwYXJhbUNvbHVtbnMubGVuZ3RofWZ1bmN0aW9uIExKdCh0KXtyZXR1cm4gdC5tZXRyaWNDb2x1bW5zLmxlbmd0aH1mdW5jdGlvbiBQSnQodCl7cmV0dXJuIGtKdCh0KStMSnQodCl9ZnVuY3Rpb24gTkp0KHQsZSl7cmV0dXJuIHRbZV19ZnVuY3Rpb24gSUp0KHQsZSl7cmV0dXJuIHQuZmluZCgodD0+Q2UuZXhwb3J0cy5pc0VxdWFsKHQubmFtZSxlKSkpfWZ1bmN0aW9uIFJKdCh0LGUsbil7cmV0dXJuIGUuaHBhcmFtc1t0LmhwYXJhbUNvbHVtbnNbbl0uaHBhcmFtSW5mby5uYW1lXX1mdW5jdGlvbiBPSnQodCxlLG4pe2NvbnN0IGk9SUp0KGUubWV0cmljVmFsdWVzLHQubWV0cmljQ29sdW1uc1tuXS5tZXRyaWNJbmZvLm5hbWUpO3JldHVybiB2b2lkIDA9PT1pP3ZvaWQgMDppLnZhbHVlfWZ1bmN0aW9uIHpKdCh0LGUsbil7cmV0dXJuIG48dC5ocGFyYW1Db2x1bW5zLmxlbmd0aD9SSnQodCxlLG4pOk9KdCh0LGUsbi10LmhwYXJhbUNvbHVtbnMubGVuZ3RoKX1mdW5jdGlvbiBESnQodCxlLG4pe3JldHVybiBHbChlLChlPT56SnQodCxlLG4pKSl9ZnVuY3Rpb24gQkp0KHQsZSxuKXtsZXQgaTtpZihuPGUuaHBhcmFtSW5mb3MubGVuZ3RoKWk9dC5ocGFyYW1Db2x1bW5zLmZpbmRJbmRleCgodD0+dC5ocGFyYW1JbmZvLm5hbWU9PT1lLmhwYXJhbUluZm9zW25dLm5hbWUpKTtlbHNle2NvbnN0IHI9ZS5tZXRyaWNJbmZvc1tuLWUuaHBhcmFtSW5mb3MubGVuZ3RoXS5uYW1lO2k9dC5ocGFyYW1Db2x1bW5zLmxlbmd0aCt0Lm1ldHJpY0NvbHVtbnMuZmluZEluZGV4KCh0PT50Lm1ldHJpY0luZm8ubmFtZT09PXIpKX1yZXR1cm4gY29uc29sZS5hc3NlcnQoLTEhPT1pKSxpfWZ1bmN0aW9uIEhKdCh0KXtyZXR1cm4gdC5ocGFyYW1JbmZvcy5sZW5ndGh9ZnVuY3Rpb24gRkp0KHQpe3JldHVybiB0Lm1ldHJpY0luZm9zLmxlbmd0aH1mdW5jdGlvbiBWSnQodCxlLG4pe3JldHVybiBHbChlLChlPT5XSnQodCxlLG4pKSl9ZnVuY3Rpb24gVUp0KHQsZSl7cmV0dXJuIHQuZmluZCgodD0+dC5uYW1lPT09ZSkpfWZ1bmN0aW9uIGpKdCh0LGUsbil7cmV0dXJuIGUuaHBhcmFtc1t0LmhwYXJhbUluZm9zW25dLm5hbWVdfWZ1bmN0aW9uIEdKdCh0LGUsbil7Y29uc3QgaT1JSnQoZS5tZXRyaWNWYWx1ZXMsdC5tZXRyaWNJbmZvc1tuXS5uYW1lKTtyZXR1cm4gdm9pZCAwPT09aT92b2lkIDA6aS52YWx1ZX1mdW5jdGlvbiBXSnQodCxlLG4pe3JldHVybiBuPHQuaHBhcmFtSW5mb3MubGVuZ3RoP2pKdCh0LGUsbik6R0p0KHQsZSxuLXQuaHBhcmFtSW5mb3MubGVuZ3RoKX1mdW5jdGlvbiBxSnQodCl7cmV0dXJuIENlLmV4cG9ydHMuaXNOdW1iZXIodCk/dC50b1ByZWNpc2lvbig1KTp2b2lkIDA9PT10PyIiOnQudG9TdHJpbmcoKX1mdW5jdGlvbiBZSnQodCxlKXtyZXR1cm4gdCp0K2UqZX1mdW5jdGlvbiBYSnQodCxlLG4saSl7cmV0dXJuIE1hdGguc3FydChZSnQodC1uLGUtaSkpfWZ1bmN0aW9uICRKdCh0LGUsbixpLHIsbyl7aWYodDxuJiZlPGkpcmV0dXJuIFhKdCh0LGUsbixpKTtpZihuPD10JiZ0PHImJmU8aSlyZXR1cm4gaS1lO2lmKHI8PXQmJmU8aSlyZXR1cm4gWEp0KHQsZSxyLGkpO2lmKHQ8biYmaTw9ZSYmZTxvKXJldHVybiBuLXQ7aWYobjw9dCYmdDxyJiZpPD1lJiZlPG8pcmV0dXJuIDA7aWYocjw9dCYmaTw9ZSYmZTxvKXJldHVybiB0LXI7aWYodDxuJiZvPD1lKXJldHVybiBYSnQodCxlLG4sbyk7aWYobjw9dCYmdDxyJiZvPD1lKXJldHVybiBlLW87aWYocjw9dCYmbzw9ZSlyZXR1cm4gWEp0KHQsZSxyLG8pO3Rocm93IlBvaW50ICh4LHkpIG11c3QgYmUgaW4gb25lIG9mIHRoZSByZWdpb25zIGRlZmluZWQgYWJvdmUuIn1mdW5jdGlvbiBLSnQodCxlKXtyZXR1cm4gdm9pZCAwPT09ZT8idHJhbnNsYXRlKCIrdCsiKSI6InRyYW5zbGF0ZSgiK3QrIiwiK2UrIikifWZ1bmN0aW9uIFpKdCh0LGUsbil7Y29uc3QgaT10LmdldChlLHQpO0FycmF5LmlzQXJyYXkoaSk/dC5zcGxpY2UuYXBwbHkodCxbZSwwLGkubGVuZ3RoXS5jb25jYXQobikpOnQuc2V0KGUsbil9ZnVuY3Rpb24gSkp0KHQpe2xldCBlPTA7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDsrK24pZT0zMSplK3QuY2hhckNvZGVBdChuKSY0Mjk0OTY3Mjk1O3JldHVybiBlK01hdGgucG93KDIsMzEpfUVKdC50ZW1wbGF0ZT14ZWAKICAgIDxzbG90IG5hbWU9ImNvbnRlbnQiPjwvc2xvdD4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgOmhvc3Qgc2xvdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIDpob3N0IDo6c2xvdHRlZCgqKSB7CiAgICAgICAgZmxleDogMCAwIGF1dG87CiAgICAgIH0KCiAgICAgIDpob3N0KFtvcmllbnRhdGlvbj0naG9yaXpvbnRhbCddKSBzbG90IHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgIH0KCiAgICAgIDpob3N0KFtvcmllbnRhdGlvbj0ndmVydGljYWwnXSkgc2xvdCB7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICA6aG9zdCA6OnNsb3R0ZWQoKjpub3QoOmxhc3QtY2hpbGQpKSB7CiAgICAgICAgYm9yZGVyOiAwIHNvbGlkIHZhcigtLWRpdmlkZXItY29sb3IsICNjY2MpOwogICAgICB9CgogICAgICA6aG9zdChbb3JpZW50YXRpb249J3ZlcnRpY2FsJ10pIDo6c2xvdHRlZCgqOm5vdCg6bGFzdC1jaGlsZCkpIHsKICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiA1cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtvcmllbnRhdGlvbj0naG9yaXpvbnRhbCddKSA6OnNsb3R0ZWQoKjpub3QoOmxhc3QtY2hpbGQpKSB7CiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiA1cHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOlN0cmluZyxyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRUp0LnByb3RvdHlwZSwib3JpZW50YXRpb24iLHZvaWQgMCksRUp0PXQoW2koImhwYXJhbXMtc3BsaXQtbGF5b3V0IildLEVKdCk7dmFyIFFKdD1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxocGFyYW1OYW1lOlRKdCxtZXRyaWNOYW1lOkNKdCxzY2hlbWFDb2x1bW5OYW1lOkFKdCxudW1IUGFyYW1zOmtKdCxudW1NZXRyaWNzOkxKdCxudW1Db2x1bW5zOlBKdCxocGFyYW1WYWx1ZUJ5TmFtZTpOSnQsbWV0cmljVmFsdWVCeU5hbWU6SUp0LGhwYXJhbVZhbHVlQnlJbmRleDpSSnQsbWV0cmljVmFsdWVCeUluZGV4Ok9KdCxjb2x1bW5WYWx1ZUJ5SW5kZXg6ekp0LG51bWVyaWNDb2x1bW5FeHRlbnQ6REp0LGdldEFic29sdXRlQ29sdW1uSW5kZXg6Qkp0LHNjaGVtYVZpc2libGVDb2x1bW5OYW1lOmZ1bmN0aW9uIHRRdCh0LGUpe3JldHVybiBlPHQuaHBhcmFtSW5mb3MubGVuZ3RoP1RKdCh0LmhwYXJhbUluZm9zW2VdKTpDSnQodC5tZXRyaWNJbmZvc1tlLXQuaHBhcmFtSW5mb3MubGVuZ3RoXSl9LG51bVZpc2libGVIUGFyYW1zOkhKdCxudW1WaXNpYmxlTWV0cmljczpGSnQsbnVtVmlzaWJsZUNvbHVtbnM6ZnVuY3Rpb24gZVF0KHQpe3JldHVybiBISnQodCkrRkp0KHQpfSx2aXNpYmxlTnVtZXJpY0NvbHVtbkV4dGVudDpWSnQscHJldHR5UHJpbnRIUGFyYW1WYWx1ZUJ5TmFtZTpmdW5jdGlvbiBuUXQodCxlKXtyZXR1cm4gcUp0KE5KdCh0LGUpKX0scHJldHR5UHJpbnRNZXRyaWNWYWx1ZUJ5TmFtZTpmdW5jdGlvbiBpUXQodCxlKXtyZXR1cm4gcUp0KElKdCh0LGUpKX0sc2Vzc2lvbkdyb3VwV2l0aE5hbWU6VUp0LGhwYXJhbVZhbHVlQnlWaXNpYmxlSW5kZXg6akp0LG1ldHJpY1ZhbHVlQnlWaXNpYmxlSW5kZXg6R0p0LGNvbHVtblZhbHVlQnlWaXNpYmxlSW5kZXg6V0p0LHByZXR0eVByaW50OnFKdCxsMk5vcm1TcXVhcmVkOllKdCxldWNsaWRlYW5EaXN0OlhKdCxwb2ludFRvUmVjdGFuZ2xlRGlzdDokSnQsdHJhbnNsYXRlU3RyOktKdCxyb3RhdGVTdHI6ZnVuY3Rpb24gclF0KHQsZSxuKXtsZXQgaT0icm90YXRlKCIrdDtyZXR1cm4gdm9pZCAwIT09ZSYmdm9pZCAwIT09biYmKGk9aSsiLCIrZSsiLCIrbiksaSs9IikiLGl9LGlzTnVsbE9yVW5kZWZpbmVkOmZ1bmN0aW9uIG9RdCh0KXtyZXR1cm4gbnVsbD09dH0scXVhZFRyZWVWaXNpdFBvaW50c0luUmVjdDpmdW5jdGlvbiBhUXQodCxlLG4saSxyLG8pe3QudmlzaXQoKChhLHMsbCxjLHUpPT57aWYodm9pZCAwPT09YS5sZW5ndGgpe2Rve2NvbnN0IHM9dC54KCkoYS5kYXRhKSxsPXQueSgpKGEuZGF0YSk7ZTw9cyYmczxpJiZuPD1sJiZsPHImJm8oYS5kYXRhKX13aGlsZShhPWEubmV4dCk7cmV0dXJuITB9cmV0dXJuIHM+PWl8fGM8PWV8fGw+PXJ8fHU8PW59KSl9LHF1YWRUcmVlVmlzaXRQb2ludHNJbkRpc2s6ZnVuY3Rpb24gc1F0KHQsZSxuLGkscil7dC52aXNpdCgoKG8sYSxzLGwsYyk9PntpZih2b2lkIDA9PT1vLmxlbmd0aCl7ZG97Y29uc3QgYT10LngoKShvLmRhdGEpLHM9dC55KCkoby5kYXRhKSxsPVhKdChlLG4sYSxzKTtsPD1pJiZyKG8uZGF0YSxsKX13aGlsZShvPW8ubmV4dCk7cmV0dXJuITB9cmV0dXJuICRKdChlLG4sYSxzLGwsYyk+aX0pKX0sZmlsdGVyU2V0OmZ1bmN0aW9uIGxRdCh0LGUpe2NvbnN0IG49bmV3IFNldDtyZXR1cm4gdC5mb3JFYWNoKCh0PT57ZSh0KSYmbi5hZGQodCl9KSksbn0sc2V0QXJyYXlPYnNlcnZhYmx5OlpKdCxoYXNoT2ZTdHJpbmc6Skp0fSk7bGV0IGNRdD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuY29uZmlndXJhdGlvbj17c2NoZW1hOntocGFyYW1Db2x1bW5zOltdLG1ldHJpY0NvbHVtbnM6W119LGNvbHVtbnNWaXNpYmlsaXR5OltdLHZpc2libGVTY2hlbWE6e2hwYXJhbUluZm9zOltdLG1ldHJpY0luZm9zOltdfX0sdGhpcy5zZXNzaW9uR3JvdXBzPVtdLHRoaXMuZGF0YUxvYWRlZFdpdGhOb25FbXB0eUhwYXJhbXM9ITEsdGhpcy5kYXRhTG9hZGVkV2l0aEVtcHR5SHBhcmFtcz0hMSx0aGlzLl9zdGF0dXNlcz1be3ZhbHVlOiJTVEFUVVNfVU5LTk9XTiIsZGlzcGxheU5hbWU6IlVua25vd24iLGFsbG93ZWQ6ITB9LHt2YWx1ZToiU1RBVFVTX1NVQ0NFU1MiLGRpc3BsYXlOYW1lOiJTdWNjZXNzIixhbGxvd2VkOiEwfSx7dmFsdWU6IlNUQVRVU19GQUlMVVJFIixkaXNwbGF5TmFtZToiRmFpbHVyZSIsYWxsb3dlZDohMH0se3ZhbHVlOiJTVEFUVVNfUlVOTklORyIsZGlzcGxheU5hbWU6IlJ1bm5pbmciLGFsbG93ZWQ6ITB9XSx0aGlzLl9nZXRFeHBlcmltZW50UmVzb2x2ZWQ9bmV3IFByb21pc2UoKHQ9Pnt0aGlzLl9yZXNvbHZlR2V0RXhwZXJpbWVudD10fSkpLHRoaXMuX2xpc3RTZXNzaW9uR3JvdXBzQ2FuY2VsbGVyPW5ldyB4Tyx0aGlzLl9wYWdlU2l6ZUlucHV0PXt2YWx1ZToiMTAwIixpbnZhbGlkOiExfSx0aGlzLl9wYWdlTnVtYmVySW5wdXQ9e3ZhbHVlOiIxIixpbnZhbGlkOiExfSx0aGlzLl9wYWdlQ291bnRTdHI9Ij8iLHRoaXMuX2hwYXJhbU5hbWU9VEp0LHRoaXMuX21ldHJpY05hbWU9Q0p0LHRoaXMuX3ByZXR0eVByaW50PXFKdH1yZWxvYWQoKXt0aGlzLl9xdWVyeVNlcnZlcigpfV9jc3ZVcmwodCxlKXtyZXR1cm4gdGhpcy5fZG93bmxvYWREYXRhVXJsKHQsZSwiY3N2Iil9X2pzb25VcmwodCxlKXtyZXR1cm4gdGhpcy5fZG93bmxvYWREYXRhVXJsKHQsZSwianNvbiIpfV9sYXRleFVybCh0LGUpe3JldHVybiB0aGlzLl9kb3dubG9hZERhdGFVcmwodCxlLCJsYXRleCIpfV9kb3dubG9hZERhdGFVcmwodCxlLG4pe3JldHVybiB0aGlzLmJhY2tlbmQuZ2V0RG93bmxvYWRVcmwobix0LGUuY29sdW1uc1Zpc2liaWxpdHkpfV9jb21wdXRlRXhwZXJpbWVudEFuZFJlbGF0ZWRQcm9wcygpe2NvbnN0IHQ9UUp0O2lmKHQuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5iYWNrZW5kKXx8dC5pc051bGxPclVuZGVmaW5lZCh0aGlzLmV4cGVyaW1lbnROYW1lKSlyZXR1cm47dGhpcy5iYWNrZW5kLmdldEV4cGVyaW1lbnQoe2V4cGVyaW1lbnROYW1lOnRoaXMuZXhwZXJpbWVudE5hbWV9KS50aGVuKCh0PT57Q2UuZXhwb3J0cy5pc0VxdWFsKHQsdGhpcy5fZXhwZXJpbWVudCl8fCh0aGlzLnNldCgiX2V4cGVyaW1lbnQiLHQpLHRoaXMuX2NvbXB1dGVIUGFyYW1zKCksdGhpcy5fY29tcHV0ZU1ldHJpY3MoKSx0aGlzLl9xdWVyeVNlcnZlcigpLHRoaXMuX3Jlc29sdmVHZXRFeHBlcmltZW50KCkpfSkpLmZpbmFsbHkoKCgpPT57dGhpcy5fY29tcHV0ZURhdGFGb3VuZCgpfSkpfV9jb21wdXRlRGF0YUZvdW5kKCl7Y29uc3QgdD1Cb29sZWFuKHRoaXMuX2V4cGVyaW1lbnQmJnRoaXMuX2V4cGVyaW1lbnQuaHBhcmFtSW5mb3MmJnRoaXMuX2V4cGVyaW1lbnQuaHBhcmFtSW5mb3MubGVuZ3RoPjAmJnRoaXMuX2V4cGVyaW1lbnQubWV0cmljSW5mb3MmJnRoaXMuX2V4cGVyaW1lbnQubWV0cmljSW5mb3MubGVuZ3RoPjApO3RoaXMuc2V0KCJkYXRhTG9hZGVkV2l0aE5vbkVtcHR5SHBhcmFtcyIsdCksdGhpcy5zZXQoImRhdGFMb2FkZWRXaXRoRW1wdHlIcGFyYW1zIiwhdCl9X2NvbXB1dGVIUGFyYW1zKCl7Y29uc3QgdD1bXTt0aGlzLl9leHBlcmltZW50LmhwYXJhbUluZm9zLmZvckVhY2goKChlLG4pPT57Y29uc3QgaT17aW5mbzplLGRpc3BsYXllZDpuPDUsZmlsdGVyOnt9fTtpLmluZm8uaGFzT3duUHJvcGVydHkoImRvbWFpbkRpc2NyZXRlIik/KGkuZmlsdGVyLmRvbWFpbkRpc2NyZXRlPVtdLGkuaW5mby5kb21haW5EaXNjcmV0ZS5mb3JFYWNoKCh0PT57aS5maWx0ZXIuZG9tYWluRGlzY3JldGUucHVzaCh7dmFsdWU6dCxjaGVja2VkOiEwfSl9KSkpOiJEQVRBX1RZUEVfQk9PTCI9PT1pLmluZm8udHlwZT9pLmZpbHRlci5kb21haW5EaXNjcmV0ZT1be3ZhbHVlOiExLGNoZWNrZWQ6ITB9LHt2YWx1ZTohMCxjaGVja2VkOiEwfV06IkRBVEFfVFlQRV9GTE9BVDY0Ij09PWkuaW5mby50eXBlP2kuZmlsdGVyLmludGVydmFsPXttaW46e3ZhbHVlOiIiLGludmFsaWQ6ITF9LG1heDp7dmFsdWU6IiIsaW52YWxpZDohMX19OiJEQVRBX1RZUEVfU1RSSU5HIj09PWkuaW5mby50eXBlP2kuZmlsdGVyLnJlZ2V4cD0iIjpjb25zb2xlLndhcm4oInVua25vd24gaHBhcmFtLmluZm8udHlwZTogJXMiLGkuaW5mby50eXBlKSx0LnB1c2goaSl9KSksdGhpcy5zZXQoIl9ocGFyYW1zIix0KX1fY29tcHV0ZU1ldHJpY3MoKXtjb25zdCB0PVtdO3RoaXMuX2V4cGVyaW1lbnQubWV0cmljSW5mb3MuZm9yRWFjaCgoKGUsbik9Pnt0LnB1c2goe2luZm86ZSxmaWx0ZXI6e2ludGVydmFsOnttaW46e3ZhbHVlOiIiLGludmFsaWQ6ITF9LG1heDp7dmFsdWU6IiIsaW52YWxpZDohMX19fSxkaXNwbGF5ZWQ6bjw1fSl9KSksdGhpcy5zZXQoIl9tZXRyaWNzIix0KX1fY29tcHV0ZVNjaGVtYSgpe3JldHVybiB0aGlzLl9ocGFyYW1zJiZ0aGlzLl9tZXRyaWNzP3tocGFyYW1Db2x1bW5zOnRoaXMuX2hwYXJhbXMubWFwKCh0PT4oe2hwYXJhbUluZm86dC5pbmZvfSkpKSxtZXRyaWNDb2x1bW5zOnRoaXMuX21ldHJpY3MubWFwKCh0PT4oe21ldHJpY0luZm86dC5pbmZvfSkpKX06e2hwYXJhbUNvbHVtbnM6W10sbWV0cmljQ29sdW1uczpbXX19X3VwZGF0ZUNvbmZpZ3VyYXRpb24oKXt0aGlzLmRlYm91bmNlKCJfdXBkYXRlQ29uZmlndXJhdGlvbiIsKCgpPT57dGhpcy5jb25maWd1cmF0aW9uPXtzY2hlbWE6dGhpcy5fY29tcHV0ZVNjaGVtYSgpLGNvbHVtbnNWaXNpYmlsaXR5OnRoaXMuX2NvbXB1dGVDb2x1bW5zVmlzaWJpbGl0eSgpLHZpc2libGVTY2hlbWE6dGhpcy5fY29tcHV0ZVZpc2libGVTY2hlbWEoKX19KSl9X2NvbXB1dGVDb2x1bW5zVmlzaWJpbGl0eSgpe3JldHVybiB0aGlzLl9ocGFyYW1zJiZ0aGlzLl9tZXRyaWNzP3RoaXMuX2hwYXJhbXMubWFwKCh0PT50LmRpc3BsYXllZCkpLmNvbmNhdCh0aGlzLl9tZXRyaWNzLm1hcCgodD0+dC5kaXNwbGF5ZWQpKSk6W119X2NvbXB1dGVWaXNpYmxlU2NoZW1hKCl7aWYoIXRoaXMuX2hwYXJhbXN8fCF0aGlzLl9tZXRyaWNzKXJldHVybntocGFyYW1JbmZvczpbXSxtZXRyaWNJbmZvczpbXX07cmV0dXJue2hwYXJhbUluZm9zOnRoaXMuX2hwYXJhbXMuZmlsdGVyKCh0PT50LmRpc3BsYXllZCkpLm1hcCgodD0+dC5pbmZvKSksbWV0cmljSW5mb3M6dGhpcy5fbWV0cmljcy5maWx0ZXIoKHQ9PnQuZGlzcGxheWVkKSkubWFwKCh0PT50LmluZm8pKX19X3F1ZXJ5U2VydmVyKCl7dGhpcy5kZWJvdW5jZSgicXVlcnlTZXJ2ZXIiLCgoKT0+dGhpcy5fcXVlcnlTZXJ2ZXJOb0RlYm91bmNlKCkpLDEwMCl9X3F1ZXJ5U2VydmVyTm9EZWJvdW5jZSgpe2lmKHRoaXMuX2hwYXJhbXMmJnRoaXMuX21ldHJpY3MpcmV0dXJuIHRoaXMuX3NlbmRMaXN0U2Vzc2lvbkdyb3Vwc1JlcXVlc3QoKS50aGVuKHRoaXMuX2xpc3RTZXNzaW9uR3JvdXBzQ2FuY2VsbGVyLmNhbmNlbGxhYmxlKCgoe3ZhbHVlOnQsY2FuY2VsbGVkOmV9KT0+e2lmKCFlKXtpZih0LnRvdGFsU2l6ZT49MCl7dGhpcy5zZXQoIl9wYWdlQ291bnRTdHIiLFN0cmluZyhNYXRoLmNlaWwodC50b3RhbFNpemUvK3RoaXMuX3BhZ2VTaXplSW5wdXQudmFsdWUpKSksdGhpcy5zZXQoIl90b3RhbFNlc3Npb25Hcm91cHNDb3VudFN0ciIsdC50b3RhbFNpemUpfWVsc2UgdGhpcy5zZXQoIl9wYWdlQ291bnRTdHIiLCI/IiksdGhpcy5zZXQoIl90b3RhbFNlc3Npb25Hcm91cHNDb3VudFN0ciIsIlVua25vd24iKTtaSnQodGhpcywic2Vzc2lvbkdyb3VwcyIsdC5zZXNzaW9uR3JvdXBzKX19KSkpfV9zZW5kTGlzdFNlc3Npb25Hcm91cHNSZXF1ZXN0KCl7Y29uc3QgdD10aGlzLl9idWlsZExpc3RTZXNzaW9uR3JvdXBzUmVxdWVzdCgpO2lmKG51bGwhPT10KXJldHVybiB0aGlzLnNldCgiX3Nlc3Npb25Hcm91cHNSZXF1ZXN0Iix0KSx0aGlzLl9saXN0U2Vzc2lvbkdyb3Vwc0NhbmNlbGxlci5jYW5jZWxBbGwoKSx0aGlzLmJhY2tlbmQubGlzdFNlc3Npb25Hcm91cHModCl9X2J1aWxkTGlzdFNlc3Npb25Hcm91cHNSZXF1ZXN0KCl7Y29uc3QgdD10aGlzO2xldCBlPSEwO2Z1bmN0aW9uIG4obil7Y29uc3QgaT10LmdldChuKyIubWluLnZhbHVlIik7Y29uc29sZS5hc3NlcnQodm9pZCAwIT09aSk7Y29uc3Qgcj0iIj09PWk/Ii1JbmZpbml0eSI6K2k7dC5zZXQobisiLm1pbi5pbnZhbGlkIixpc05hTihyKSksZT1lJiYhaXNOYU4ocik7Y29uc3Qgbz10LmdldChuKyIubWF4LnZhbHVlIik7Y29uc29sZS5hc3NlcnQodm9pZCAwIT09byk7Y29uc3QgYT0iIj09PW8/IkluZmluaXR5IjorbztyZXR1cm4gdC5zZXQobisiLm1heC5pbnZhbGlkIixpc05hTihhKSksZT1lJiYhaXNOYU4oYSksaXNOYU4ocil8fGlzTmFOKGEpP251bGw6e21pblZhbHVlOnIsbWF4VmFsdWU6YX19ZnVuY3Rpb24gaShuKXtjb25zdCBpPXQuZ2V0KG4rIi52YWx1ZSIpO2NvbnNvbGUuYXNzZXJ0KHZvaWQgMCE9PWkpO2NvbnN0IHI9K2ksbz1OdW1iZXIuaXNJbnRlZ2VyKHIpJiZyPjA7cmV0dXJuIHQuc2V0KG4rIi5pbnZhbGlkIiwhbyksZT1lJiZvLG8/cjpudWxsfWNvbnN0IHI9dGhpcy5fc3RhdHVzZXMuZmlsdGVyKCh0PT50LmFsbG93ZWQpKS5tYXAoKHQ9PnQudmFsdWUpKTtsZXQgbz1bXTtpZih0aGlzLl9ocGFyYW1zLmZvckVhY2goKCh0LGUpPT57bGV0IGk9e2hwYXJhbTp0LmluZm8ubmFtZX07aWYodC5maWx0ZXIuZG9tYWluRGlzY3JldGUpaS5maWx0ZXJEaXNjcmV0ZT1bXSx0LmZpbHRlci5kb21haW5EaXNjcmV0ZS5mb3JFYWNoKCh0PT57dC5jaGVja2VkJiZpLmZpbHRlckRpc2NyZXRlLnB1c2godC52YWx1ZSl9KSk7ZWxzZSBpZih0LmZpbHRlci5pbnRlcnZhbClpLmZpbHRlckludGVydmFsPW4oIl9ocGFyYW1zLiIrZSsiLmZpbHRlci5pbnRlcnZhbCIpO2Vsc2V7aWYoIXQuZmlsdGVyLnJlZ2V4cClyZXR1cm4gY29uc29sZS5lcnJvcigiaHBhcmFtLmZpbHRlciB3aXRoIG5vIGRvbWFpbkRpc2NyZXRlLCBpbnRlcnZhbCBvciByZWdleHAgcHJvcGVydGllcyBzZXQ6ICVzIix0KSxudWxsO2kuZmlsdGVyUmVnZXhwPXQuZmlsdGVyLnJlZ2V4cH1vLnB1c2goaSl9KSksdGhpcy5fbWV0cmljcy5mb3JFYWNoKCgodCxlKT0+e2xldCBpPXttZXRyaWM6dC5pbmZvLm5hbWUsZmlsdGVySW50ZXJ2YWw6bigiX21ldHJpY3MuIitlKyIuZmlsdGVyLmludGVydmFsIil9O28ucHVzaChpKX0pKSx2b2lkIDAhPT10aGlzLl9zb3J0QnlJbmRleCYmdm9pZCAwIT09dGhpcy5fc29ydERpcmVjdGlvbil7aWYoISh0aGlzLl9zb3J0QnlJbmRleCBpbiBvKSlyZXR1cm4gY29uc29sZS5lcnJvcigiTm8gY29sdW1uIGluIGNvbFBhcmFtcyB3aXRoIGluZGV4IHNvcnRCeUluZGV4OiAlcyIsdGhpcy5fc29ydEJ5SW5kZXgpLG51bGw7b1t0aGlzLl9zb3J0QnlJbmRleF0ub3JkZXI9MD09PXRoaXMuX3NvcnREaXJlY3Rpb24/Ik9SREVSX0FTQyI6Ik9SREVSX0RFU0MifWNvbnN0IGE9aSgiX3BhZ2VOdW1iZXJJbnB1dCIpLHM9aSgiX3BhZ2VTaXplSW5wdXQiKTtpZighZSlyZXR1cm4gbnVsbDtyZXR1cm57ZXhwZXJpbWVudE5hbWU6dGhpcy5leHBlcmltZW50TmFtZSxhbGxvd2VkU3RhdHVzZXM6cixjb2xQYXJhbXM6byxzdGFydEluZGV4OnMqKGEtMSksc2xpY2VTaXplOnN9fV9tZXRyaWNTb3J0QnlJbmRleCh0KXtyZXR1cm4gdCt0aGlzLl9ocGFyYW1zLmxlbmd0aH19O2NRdC50ZW1wbGF0ZT14ZWAKICAgIDxocGFyYW1zLXNwbGl0LWxheW91dCBvcmllbnRhdGlvbj0idmVydGljYWwiPgogICAgICA8ZGl2IHNsb3Q9ImNvbnRlbnQiIGNsYXNzPSJzZWN0aW9uIGh5cGVycGFyYW1ldGVycyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SHlwZXJwYXJhbWV0ZXJzPC9kaXY+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0ie3tfaHBhcmFtc319IiBhcz0iaHBhcmFtIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhwYXJhbSI+CiAgICAgICAgICAgIDxwYXBlci1jaGVja2JveAogICAgICAgICAgICAgIGNoZWNrZWQ9Int7aHBhcmFtLmRpc3BsYXllZH19IgogICAgICAgICAgICAgIGNsYXNzPSJocGFyYW0tY2hlY2tib3giCiAgICAgICAgICAgID4KICAgICAgICAgICAgICBbW19ocGFyYW1OYW1lKGhwYXJhbS5pbmZvKV1dCiAgICAgICAgICAgIDwvcGFwZXItY2hlY2tib3g+CiAgICAgICAgICAgIDwhLS0gUHJlY2lzZWx5IG9uZSBvZiB0aGUgdGVtcGxhdGVzIGJlbG93IHdpbGwgYmUgc3RhbXBlZC4tLT4KICAgICAgICAgICAgPCEtLSAxLiBBIGxpc3Qgb2YgY2hlY2tib3hlcyAtLT4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2hwYXJhbS5maWx0ZXIuZG9tYWluRGlzY3JldGVdXSI+CiAgICAgICAgICAgICAgPHRlbXBsYXRlCiAgICAgICAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgICAgICAgIGl0ZW1zPSJbW2hwYXJhbS5maWx0ZXIuZG9tYWluRGlzY3JldGVdXSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8cGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICAgICAgY2hlY2tlZD0ie3tpdGVtLmNoZWNrZWR9fSIKICAgICAgICAgICAgICAgICAgY2xhc3M9ImRpc2NyZXRlLXZhbHVlLWNoZWNrYm94IgogICAgICAgICAgICAgICAgICBvbi1jaGFuZ2U9Il9xdWVyeVNlcnZlciIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgW1tfcHJldHR5UHJpbnQoaXRlbS52YWx1ZSldXQogICAgICAgICAgICAgICAgPC9wYXBlci1jaGVja2JveD4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8IS0tIDIuIEEgbnVtZXJpYyBpbnRlcnZhbCAtLT4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2hwYXJhbS5maWx0ZXIuaW50ZXJ2YWxdXSI+CiAgICAgICAgICAgICAgPHBhcGVyLWlucHV0CiAgICAgICAgICAgICAgICBsYWJlbD0iTWluIgogICAgICAgICAgICAgICAgdmFsdWU9Int7aHBhcmFtLmZpbHRlci5pbnRlcnZhbC5taW4udmFsdWV9fSIKICAgICAgICAgICAgICAgIGFsbG93ZWRfcGF0dGVybj0iWzAtOS5lXFwtXSIKICAgICAgICAgICAgICAgIG9uLXZhbHVlLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIKICAgICAgICAgICAgICAgIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiCiAgICAgICAgICAgICAgICBpbnZhbGlkPSJbW2hwYXJhbS5maWx0ZXIuaW50ZXJ2YWwubWluLmludmFsaWRdXSIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSItaW5maW5pdHkiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgICAgPHBhcGVyLWlucHV0CiAgICAgICAgICAgICAgICBsYWJlbD0iTWF4IgogICAgICAgICAgICAgICAgdmFsdWU9Int7aHBhcmFtLmZpbHRlci5pbnRlcnZhbC5tYXgudmFsdWV9fSIKICAgICAgICAgICAgICAgIGFsbG93ZWRfcGF0dGVybj0iWzAtOS5lXFwtXSIKICAgICAgICAgICAgICAgIG9uLXZhbHVlLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIKICAgICAgICAgICAgICAgIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiCiAgICAgICAgICAgICAgICBpbnZhbGlkPSJbW2hwYXJhbS5maWx0ZXIuaW50ZXJ2YWwubWF4LmludmFsaWRdXSIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSIraW5maW5pdHkiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwhLS0gMy4gQSByZWdleHAgLS0+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tocGFyYW0uZmlsdGVyLnJlZ2V4cF1dIj4KICAgICAgICAgICAgICA8cGFwZXItaW5wdXQKICAgICAgICAgICAgICAgIGxhYmVsPSJSZWd1bGFyIGV4cHJlc3Npb24iCiAgICAgICAgICAgICAgICB2YWx1ZT0ie3tocGFyYW0uZmlsdGVyLnJlZ2V4cH19IgogICAgICAgICAgICAgICAgb24tdmFsdWUtY2hhbmdlZD0iX3F1ZXJ5U2VydmVyIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgc2xvdD0iY29udGVudCIgY2xhc3M9InNlY3Rpb24gbWV0cmljcyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TWV0cmljczwvZGl2PgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9Int7X21ldHJpY3N9fSIgYXM9Im1ldHJpYyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPgogICAgICAgICAgICA8IS0tIFRPRE8oZXJleik6IE1ha2UgaXQgZWFzaWVyIHRvIGhhbmRsZSBhIGxhcmdlIG51bWJlciBvZgogICAgICAgICAgICAgICAgICBtZXRyaWNzOgogICAgICAgICAgICAgICAgICAxLiBBZGQgYW4gJ2lzb2xhdG9yJyByYWRpby1idXR0b24gdG8gc2VsZWN0IGp1c3Qgb25lCiAgICAgICAgICAgICAgICAgIG1ldHJpYyBhbmQKICAgICAgICAgICAgICAgICAgaGlkZSBhbGwgdGhlIHJlc3QKICAgICAgICAgICAgICAgICAgMi4gQWRkIGEgJ3RvZ2dsZS1hbGwnIGJ1dHRvbiB0aGF0IHdpbGwgaGlkZS91bmhpZGUKICAgICAgICAgICAgICAgICAgICBhbGwgdGhlCiAgICAgICAgICAgICAgICAgIG1ldHJpY3MuCiAgICAgICAgICAgICAgICAgIFVzZSBzaW1pbGFyIGxvZ2ljL2FwcGVhcmFuY2UgdG8gdGhlIHJ1bi1zZWxlY3RvciBvZgogICAgICAgICAgICAgICAgICBzY2FsYXJzLi0tPgogICAgICAgICAgICA8cGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICBjaGVja2VkPSJ7e21ldHJpYy5kaXNwbGF5ZWR9fSIKICAgICAgICAgICAgICBjbGFzcz0ibWV0cmljLWNoZWNrYm94IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgW1tfbWV0cmljTmFtZShtZXRyaWMuaW5mbyldXQogICAgICAgICAgICA8L3BhcGVyLWNoZWNrYm94PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZWxlbWVudCI+CiAgICAgICAgICAgICAgPHBhcGVyLWlucHV0CiAgICAgICAgICAgICAgICBsYWJlbD0iTWluIgogICAgICAgICAgICAgICAgdmFsdWU9Int7bWV0cmljLmZpbHRlci5pbnRlcnZhbC5taW4udmFsdWV9fSIKICAgICAgICAgICAgICAgIGFsbG93ZWQtcGF0dGVybj0iWzAtOS5lXFwtXSIKICAgICAgICAgICAgICAgIG9uLXZhbHVlLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIKICAgICAgICAgICAgICAgIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiCiAgICAgICAgICAgICAgICBpbnZhbGlkPSJ7e21ldHJpYy5maWx0ZXIuaW50ZXJ2YWwubWluLmludmFsaWR9fSIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSItaW5maW5pdHkiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZWxlbWVudCI+CiAgICAgICAgICAgICAgPHBhcGVyLWlucHV0CiAgICAgICAgICAgICAgICBsYWJlbD0iTWF4IgogICAgICAgICAgICAgICAgYWxsb3dlZC1wYXR0ZXJuPSJbMC05LmVcXC1dIgogICAgICAgICAgICAgICAgdmFsdWU9Int7bWV0cmljLmZpbHRlci5pbnRlcnZhbC5tYXgudmFsdWV9fSIKICAgICAgICAgICAgICAgIG9uLXZhbHVlLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIKICAgICAgICAgICAgICAgIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiCiAgICAgICAgICAgICAgICBpbnZhbGlkPSJ7e21ldHJpYy5maWx0ZXIuaW50ZXJ2YWwubWF4LmludmFsaWR9fSIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSIraW5maW5pdHkiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDwvcGFwZXItaW5wdXQ+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgc2xvdD0iY29udGVudCIgY2xhc3M9InNlY3Rpb24gc3RhdHVzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TdGF0dXM8L2Rpdj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19zdGF0dXNlc11dIiBhcz0ic3RhdHVzIj4KICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e3N0YXR1cy5hbGxvd2VkfX0iIG9uLWNoYW5nZT0iX3F1ZXJ5U2VydmVyIj4KICAgICAgICAgICAgW1tzdGF0dXMuZGlzcGxheU5hbWVdXQogICAgICAgICAgPC9wYXBlci1jaGVja2JveD4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBzbG90PSJjb250ZW50IiBjbGFzcz0ic2VjdGlvbiBzb3J0aW5nIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Tb3J0aW5nPC9kaXY+CiAgICAgICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUKICAgICAgICAgIGxhYmVsPSJTb3J0IGJ5IgogICAgICAgICAgb24tc2VsZWN0ZWQtaXRlbS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiCiAgICAgICAgICBob3Jpem9udGFsLWFsaWduPSJsZWZ0IgogICAgICAgID4KICAgICAgICAgIDxwYXBlci1saXN0Ym94CiAgICAgICAgICAgIGNsYXNzPSJkcm9wZG93bi1jb250ZW50IgogICAgICAgICAgICBzbG90PSJkcm9wZG93bi1jb250ZW50IgogICAgICAgICAgICBzZWxlY3RlZD0ie3tfc29ydEJ5SW5kZXh9fSIKICAgICAgICAgICAgb24tc2VsZWN0ZWQtaXRlbS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiCiAgICAgICAgICA+CiAgICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2hwYXJhbXNdXSIgYXM9ImhwYXJhbSI+CiAgICAgICAgICAgICAgPHBhcGVyLWl0ZW0+IFtbX2hwYXJhbU5hbWUoaHBhcmFtLmluZm8pXV0gPC9wYXBlci1pdGVtPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19tZXRyaWNzXV0iIGFzPSJtZXRyaWMiPgogICAgICAgICAgICAgIDxwYXBlci1pdGVtPiBbW19tZXRyaWNOYW1lKG1ldHJpYy5pbmZvKV1dIDwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUKICAgICAgICAgIGxhYmVsPSJEaXJlY3Rpb24iCiAgICAgICAgICBvbi1zZWxlY3RlZC1pdGVtLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIKICAgICAgICAgIGhvcml6b250YWwtYWxpZ249ImxlZnQiCiAgICAgICAgPgogICAgICAgICAgPHBhcGVyLWxpc3Rib3gKICAgICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICAgIHNsb3Q9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICAgIHNlbGVjdGVkPSJ7e19zb3J0RGlyZWN0aW9ufX0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxwYXBlci1pdGVtPkFzY2VuZGluZzwvcGFwZXItaXRlbT4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0+RGVzY2VuZGluZzwvcGFwZXItaXRlbT4KICAgICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgICA8L3BhcGVyLWRyb3Bkb3duLW1lbnU+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IHNsb3Q9ImNvbnRlbnQiIGNsYXNzPSJzZWN0aW9uIHBhZ2luZyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UGFnaW5nPC9kaXY+CiAgICAgICAgPGRpdj4KICAgICAgICAgIE51bWJlciBvZiBtYXRjaGluZyBzZXNzaW9uIGdyb3VwczogW1tfdG90YWxTZXNzaW9uR3JvdXBzQ291bnRTdHJdXQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImlubGluZS1lbGVtZW50IHBhZ2UtbnVtYmVyLWlucHV0Ij4KICAgICAgICAgIDxwYXBlci1pbnB1dAogICAgICAgICAgICBsYWJlbD0iUGFnZSAjIgogICAgICAgICAgICB2YWx1ZT0ie3tfcGFnZU51bWJlcklucHV0LnZhbHVlfX0iCiAgICAgICAgICAgIGFsbG93ZWQtcGF0dGVybj0iWzAtOV0iCiAgICAgICAgICAgIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiCiAgICAgICAgICAgIGludmFsaWQ9IltbX3BhZ2VOdW1iZXJJbnB1dC5pbnZhbGlkXV0iCiAgICAgICAgICAgIG9uLXZhbHVlLWNoYW5nZWQ9Il9xdWVyeVNlcnZlciIKICAgICAgICAgID4KICAgICAgICAgICAgPGRpdiBzbG90PSJzdWZmaXgiIGNsYXNzPSJwYWdlLXN1ZmZpeCI+LyBbW19wYWdlQ291bnRTdHJdXTwvZGl2PgogICAgICAgICAgPC9wYXBlci1pbnB1dD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJpbmxpbmUtZWxlbWVudCBwYWdlLXNpemUtaW5wdXQiPgogICAgICAgICAgPHBhcGVyLWlucHV0CiAgICAgICAgICAgIGxhYmVsPSJNYXggIyBvZiBzZXNzaW9uIGdyb3VwcyBwZXIgcGFnZToiCiAgICAgICAgICAgIHZhbHVlPSJ7e19wYWdlU2l6ZUlucHV0LnZhbHVlfX0iCiAgICAgICAgICAgIGFsbG93ZWQtcGF0dGVybj0iWzAtOV0iCiAgICAgICAgICAgIGVycm9yLW1lc3NhZ2U9IkludmFsaWQgaW5wdXQiCiAgICAgICAgICAgIGludmFsaWQ9IltbX3BhZ2VTaXplSW5wdXQuaW52YWxpZF1dIgogICAgICAgICAgICBvbi12YWx1ZS1jaGFuZ2VkPSJfcXVlcnlTZXJ2ZXIiCiAgICAgICAgICA+CiAgICAgICAgICA8L3BhcGVyLWlucHV0PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBzbG90PSJjb250ZW50IiBjbGFzcz0ic2VjdGlvbiBkb3dubG9hZCI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19zZXNzaW9uR3JvdXBzUmVxdWVzdF1dIj4KICAgICAgICAgIERvd25sb2FkIGRhdGEgYXMKICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICA8YQogICAgICAgICAgICAgIGlkPSJjc3ZMaW5rIgogICAgICAgICAgICAgIGRvd25sb2FkPSJocGFyYW1zX3RhYmxlLmNzdiIKICAgICAgICAgICAgICBocmVmPSJbW19jc3ZVcmwoX3Nlc3Npb25Hcm91cHNSZXF1ZXN0LCBjb25maWd1cmF0aW9uKV1dIgogICAgICAgICAgICAgID5DU1Y8L2EKICAgICAgICAgICAgPgogICAgICAgICAgICA8YQogICAgICAgICAgICAgIGlkPSJqc29uTGluayIKICAgICAgICAgICAgICBkb3dubG9hZD0iaHBhcmFtc190YWJsZS5qc29uIgogICAgICAgICAgICAgIGhyZWY9IltbX2pzb25VcmwoX3Nlc3Npb25Hcm91cHNSZXF1ZXN0LCBjb25maWd1cmF0aW9uKV1dIgogICAgICAgICAgICAgID5KU09OPC9hCiAgICAgICAgICAgID4KICAgICAgICAgICAgPGEKICAgICAgICAgICAgICBpZD0ibGF0ZXhMaW5rIgogICAgICAgICAgICAgIGRvd25sb2FkPSJocGFyYW1zX3RhYmxlLnRleCIKICAgICAgICAgICAgICBocmVmPSJbW19sYXRleFVybChfc2Vzc2lvbkdyb3Vwc1JlcXVlc3QsIGNvbmZpZ3VyYXRpb24pXV0iCiAgICAgICAgICAgICAgPkxhVGVYPC9hCiAgICAgICAgICAgID4KICAgICAgICAgIDwvc3Bhbj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvaHBhcmFtcy1zcGxpdC1sYXlvdXQ+CiAgICA8c3R5bGU+CiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICB9CiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7CiAgICAgIH0KICAgICAgLmRpc2NyZXRlLXZhbHVlLWNoZWNrYm94LAogICAgICAubWV0cmljLWNoZWNrYm94LAogICAgICAuaHBhcmFtLWNoZWNrYm94IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuZGlzY3JldGUtdmFsdWUtY2hlY2tib3ggewogICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OwogICAgICB9CiAgICAgIC5ocGFyYW0sCiAgICAgIC5tZXRyaWMgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5pbmxpbmUtZWxlbWVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiA0MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgICAgIH0KICAgICAgLnBhZ2UtbnVtYmVyLWlucHV0IHsKICAgICAgICB3aWR0aDogMjAlOwogICAgICB9CiAgICAgIC5wYWdlLXNpemUtaW5wdXQgewogICAgICAgIHdpZHRoOiA2MCU7CiAgICAgIH0KICAgICAgdmFhZGluLXNwbGl0LWxheW91dCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICAgIHBhcGVyLWxpc3Rib3ggewogICAgICAgIG1heC1oZWlnaHQ6IDE1ZW07CiAgICAgIH0KICAgICAgLnBhZ2Utc3VmZml4IHsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sY1F0LnByb3RvdHlwZSwiZXhwZXJpbWVudE5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGNRdC5wcm90b3R5cGUsImNvbmZpZ3VyYXRpb24iLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheSxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sY1F0LnByb3RvdHlwZSwic2Vzc2lvbkdyb3VwcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxjUXQucHJvdG90eXBlLCJkYXRhTG9hZGVkV2l0aE5vbkVtcHR5SHBhcmFtcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4sbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxjUXQucHJvdG90eXBlLCJkYXRhTG9hZGVkV2l0aEVtcHR5SHBhcmFtcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxjUXQucHJvdG90eXBlLCJfZXhwZXJpbWVudCIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sY1F0LnByb3RvdHlwZSwiX2hwYXJhbXMiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLGNRdC5wcm90b3R5cGUsIl9tZXRyaWNzIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sY1F0LnByb3RvdHlwZSwiX3N0YXR1c2VzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGNRdC5wcm90b3R5cGUsIl9nZXRFeHBlcmltZW50UmVzb2x2ZWQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSxjUXQucHJvdG90eXBlLCJfcmVzb2x2ZUdldEV4cGVyaW1lbnQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sY1F0LnByb3RvdHlwZSwiX2xpc3RTZXNzaW9uR3JvdXBzQ2FuY2VsbGVyIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGNRdC5wcm90b3R5cGUsIl9zb3J0QnlJbmRleCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxjUXQucHJvdG90eXBlLCJfc29ydERpcmVjdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxjUXQucHJvdG90eXBlLCJfcGFnZVNpemVJbnB1dCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxjUXQucHJvdG90eXBlLCJfcGFnZU51bWJlcklucHV0Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGNRdC5wcm90b3R5cGUsIl9wYWdlQ291bnRTdHIiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sY1F0LnByb3RvdHlwZSwiX3RvdGFsU2Vzc2lvbkdyb3Vwc0NvdW50U3RyIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGNRdC5wcm90b3R5cGUsIl9zZXNzaW9uR3JvdXBzUmVxdWVzdCIsdm9pZCAwKSx0KFthKCJiYWNrZW5kIiwiZXhwZXJpbWVudE5hbWUiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGNRdC5wcm90b3R5cGUsIl9jb21wdXRlRXhwZXJpbWVudEFuZFJlbGF0ZWRQcm9wcyIsbnVsbCksdChbYSgiX2hwYXJhbXMuKiIsIl9tZXRyaWNzLioiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGNRdC5wcm90b3R5cGUsIl91cGRhdGVDb25maWd1cmF0aW9uIixudWxsKSxjUXQ9dChbaSgidGYtaHBhcmFtcy1xdWVyeS1wYW5lIildLGNRdCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICAgKiBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgICogc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAgKi8KY29uc3QgdVF0PSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZudWxsIT13aW5kb3cuY3VzdG9tRWxlbWVudHMmJnZvaWQgMCE9PXdpbmRvdy5jdXN0b21FbGVtZW50cy5wb2x5ZmlsbFdyYXBGbHVzaENhbGxiYWNrLGhRdD0odCxlLG49bnVsbCk9Pntmb3IoO2UhPT1uOyl7Y29uc3Qgbj1lLm5leHRTaWJsaW5nO3QucmVtb3ZlQ2hpbGQoZSksZT1ufX0sZFF0PWB7e2xpdC0ke1N0cmluZyhNYXRoLnJhbmRvbSgpKS5zbGljZSgyKX19fWAscFF0PWBceDNjIS0tJHtkUXR9LS1ceDNlYCxmUXQ9bmV3IFJlZ0V4cChgJHtkUXR9fCR7cFF0fWApLG1RdD0iJGxpdCQiO2NsYXNzIGdRdHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMucGFydHM9W10sdGhpcy5lbGVtZW50PWU7Y29uc3Qgbj1bXSxpPVtdLHI9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihlLmNvbnRlbnQsMTMzLG51bGwsITEpO2xldCBvPTAsYT0tMSxzPTA7Y29uc3R7c3RyaW5nczpsLHZhbHVlczp7bGVuZ3RoOmN9fT10O2Zvcig7czxjOyl7Y29uc3QgdD1yLm5leHROb2RlKCk7aWYobnVsbCE9PXQpe2lmKGErKywxPT09dC5ub2RlVHlwZSl7aWYodC5oYXNBdHRyaWJ1dGVzKCkpe2NvbnN0IGU9dC5hdHRyaWJ1dGVzLHtsZW5ndGg6bn09ZTtsZXQgaT0wO2ZvcihsZXQgdD0wO3Q8bjt0KyspX1F0KGVbdF0ubmFtZSxtUXQpJiZpKys7Zm9yKDtpLS0gPjA7KXtjb25zdCBlPWJRdC5leGVjKGxbc10pWzJdLG49ZS50b0xvd2VyQ2FzZSgpK21RdCxpPXQuZ2V0QXR0cmlidXRlKG4pO3QucmVtb3ZlQXR0cmlidXRlKG4pO2NvbnN0IHI9aS5zcGxpdChmUXQpO3RoaXMucGFydHMucHVzaCh7dHlwZToiYXR0cmlidXRlIixpbmRleDphLG5hbWU6ZSxzdHJpbmdzOnJ9KSxzKz1yLmxlbmd0aC0xfX0iVEVNUExBVEUiPT09dC50YWdOYW1lJiYoaS5wdXNoKHQpLHIuY3VycmVudE5vZGU9dC5jb250ZW50KX1lbHNlIGlmKDM9PT10Lm5vZGVUeXBlKXtjb25zdCBlPXQuZGF0YTtpZihlLmluZGV4T2YoZFF0KT49MCl7Y29uc3QgaT10LnBhcmVudE5vZGUscj1lLnNwbGl0KGZRdCksbz1yLmxlbmd0aC0xO2ZvcihsZXQgZT0wO2U8bztlKyspe2xldCBuLG89cltlXTtpZigiIj09PW8pbj12UXQoKTtlbHNle2NvbnN0IHQ9YlF0LmV4ZWMobyk7bnVsbCE9PXQmJl9RdCh0WzJdLG1RdCkmJihvPW8uc2xpY2UoMCx0LmluZGV4KSt0WzFdK3RbMl0uc2xpY2UoMCwtbVF0Lmxlbmd0aCkrdFszXSksbj1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShvKX1pLmluc2VydEJlZm9yZShuLHQpLHRoaXMucGFydHMucHVzaCh7dHlwZToibm9kZSIsaW5kZXg6KythfSl9IiI9PT1yW29dPyhpLmluc2VydEJlZm9yZSh2UXQoKSx0KSxuLnB1c2godCkpOnQuZGF0YT1yW29dLHMrPW99fWVsc2UgaWYoOD09PXQubm9kZVR5cGUpaWYodC5kYXRhPT09ZFF0KXtjb25zdCBlPXQucGFyZW50Tm9kZTtudWxsIT09dC5wcmV2aW91c1NpYmxpbmcmJmEhPT1vfHwoYSsrLGUuaW5zZXJ0QmVmb3JlKHZRdCgpLHQpKSxvPWEsdGhpcy5wYXJ0cy5wdXNoKHt0eXBlOiJub2RlIixpbmRleDphfSksbnVsbD09PXQubmV4dFNpYmxpbmc/dC5kYXRhPSIiOihuLnB1c2godCksYS0tKSxzKyt9ZWxzZXtsZXQgZT0tMTtmb3IoOy0xIT09KGU9dC5kYXRhLmluZGV4T2YoZFF0LGUrMSkpOyl0aGlzLnBhcnRzLnB1c2goe3R5cGU6Im5vZGUiLGluZGV4Oi0xfSkscysrfX1lbHNlIHIuY3VycmVudE5vZGU9aS5wb3AoKX1mb3IoY29uc3QgdCBvZiBuKXQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KX19Y29uc3QgX1F0PSh0LGUpPT57Y29uc3Qgbj10Lmxlbmd0aC1lLmxlbmd0aDtyZXR1cm4gbj49MCYmdC5zbGljZShuKT09PWV9LHlRdD10PT4tMSE9PXQuaW5kZXgsdlF0PSgpPT5kb2N1bWVudC5jcmVhdGVDb21tZW50KCIiKSxiUXQ9LyhbIFx4MDlceDBhXHgwY1x4MGRdKShbXlwwLVx4MUZceDdGLVx4OUYgIic+PS9dKykoWyBceDA5XHgwYVx4MGNceDBkXSo9WyBceDA5XHgwYVx4MGNceDBkXSooPzpbXiBceDA5XHgwYVx4MGNceDBkIidgPD49XSp8IlteIl0qfCdbXiddKikpJC87ZnVuY3Rpb24geFF0KHQsZSl7Y29uc3R7ZWxlbWVudDp7Y29udGVudDpufSxwYXJ0czppfT10LHI9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihuLDEzMyxudWxsLCExKTtsZXQgbz1TUXQoaSksYT1pW29dLHM9LTEsbD0wO2NvbnN0IGM9W107bGV0IHU9bnVsbDtmb3IoO3IubmV4dE5vZGUoKTspe3MrKztjb25zdCB0PXIuY3VycmVudE5vZGU7Zm9yKHQucHJldmlvdXNTaWJsaW5nPT09dSYmKHU9bnVsbCksZS5oYXModCkmJihjLnB1c2godCksbnVsbD09PXUmJih1PXQpKSxudWxsIT09dSYmbCsrO3ZvaWQgMCE9PWEmJmEuaW5kZXg9PT1zOylhLmluZGV4PW51bGwhPT11Py0xOmEuaW5kZXgtbCxvPVNRdChpLG8pLGE9aVtvXX1jLmZvckVhY2goKHQ9PnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSkpfWNvbnN0IHdRdD10PT57bGV0IGU9MTE9PT10Lm5vZGVUeXBlPzA6MTtjb25zdCBuPWRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIodCwxMzMsbnVsbCwhMSk7Zm9yKDtuLm5leHROb2RlKCk7KWUrKztyZXR1cm4gZX0sU1F0PSh0LGU9LTEpPT57Zm9yKGxldCBuPWUrMTtuPHQubGVuZ3RoO24rKyl7aWYoeVF0KHRbbl0pKXJldHVybiBufXJldHVybi0xfTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgICAqIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgICAqIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgICAqIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICAgKiBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICAqLwpjb25zdCBNUXQ9bmV3IFdlYWtNYXAsRVF0PXt9LFRRdD17fTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgICAqIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgICAqIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgICAqIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICAgKiBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICAqLwpjbGFzcyBDUXR7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuX19wYXJ0cz1bXSx0aGlzLnRlbXBsYXRlPXQsdGhpcy5wcm9jZXNzb3I9ZSx0aGlzLm9wdGlvbnM9bn11cGRhdGUodCl7bGV0IGU9MDtmb3IoY29uc3QgbiBvZiB0aGlzLl9fcGFydHMpdm9pZCAwIT09biYmbi5zZXRWYWx1ZSh0W2VdKSxlKys7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fX3BhcnRzKXZvaWQgMCE9PXQmJnQuY29tbWl0KCl9X2Nsb25lKCl7Y29uc3QgdD11UXQ/dGhpcy50ZW1wbGF0ZS5lbGVtZW50LmNvbnRlbnQuY2xvbmVOb2RlKCEwKTpkb2N1bWVudC5pbXBvcnROb2RlKHRoaXMudGVtcGxhdGUuZWxlbWVudC5jb250ZW50LCEwKSxlPVtdLG49dGhpcy50ZW1wbGF0ZS5wYXJ0cyxpPWRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIodCwxMzMsbnVsbCwhMSk7bGV0IHIsbz0wLGE9MCxzPWkubmV4dE5vZGUoKTtmb3IoO288bi5sZW5ndGg7KWlmKHI9bltvXSx5UXQocikpe2Zvcig7YTxyLmluZGV4OylhKyssIlRFTVBMQVRFIj09PXMubm9kZU5hbWUmJihlLnB1c2gocyksaS5jdXJyZW50Tm9kZT1zLmNvbnRlbnQpLG51bGw9PT0ocz1pLm5leHROb2RlKCkpJiYoaS5jdXJyZW50Tm9kZT1lLnBvcCgpLHM9aS5uZXh0Tm9kZSgpKTtpZigibm9kZSI9PT1yLnR5cGUpe2NvbnN0IHQ9dGhpcy5wcm9jZXNzb3IuaGFuZGxlVGV4dEV4cHJlc3Npb24odGhpcy5vcHRpb25zKTt0Lmluc2VydEFmdGVyTm9kZShzLnByZXZpb3VzU2libGluZyksdGhpcy5fX3BhcnRzLnB1c2godCl9ZWxzZSB0aGlzLl9fcGFydHMucHVzaCguLi50aGlzLnByb2Nlc3Nvci5oYW5kbGVBdHRyaWJ1dGVFeHByZXNzaW9ucyhzLHIubmFtZSxyLnN0cmluZ3MsdGhpcy5vcHRpb25zKSk7bysrfWVsc2UgdGhpcy5fX3BhcnRzLnB1c2godm9pZCAwKSxvKys7cmV0dXJuIHVRdCYmKGRvY3VtZW50LmFkb3B0Tm9kZSh0KSxjdXN0b21FbGVtZW50cy51cGdyYWRlKHQpKSx0fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDE3IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgICAqIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0xJQ0VOU0UudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQKICAgICAqIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgICAqIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICAgKiBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHQKICAgICAqL2NvbnN0IEFRdD13aW5kb3cudHJ1c3RlZFR5cGVzJiZ0cnVzdGVkVHlwZXMuY3JlYXRlUG9saWN5KCJsaXQtaHRtbCIse2NyZWF0ZUhUTUw6dD0+dH0pLGtRdD1gICR7ZFF0fSBgO2NsYXNzIExRdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnZhbHVlPXZvaWQgMCx0aGlzLl9fcGVuZGluZ1ZhbHVlPXZvaWQgMCx0aGlzLm9wdGlvbnM9dH1hcHBlbmRJbnRvKHQpe3RoaXMuc3RhcnROb2RlPXQuYXBwZW5kQ2hpbGQodlF0KCkpLHRoaXMuZW5kTm9kZT10LmFwcGVuZENoaWxkKHZRdCgpKX1pbnNlcnRBZnRlck5vZGUodCl7dGhpcy5zdGFydE5vZGU9dCx0aGlzLmVuZE5vZGU9dC5uZXh0U2libGluZ31hcHBlbmRJbnRvUGFydCh0KXt0Ll9faW5zZXJ0KHRoaXMuc3RhcnROb2RlPXZRdCgpKSx0Ll9faW5zZXJ0KHRoaXMuZW5kTm9kZT12UXQoKSl9aW5zZXJ0QWZ0ZXJQYXJ0KHQpe3QuX19pbnNlcnQodGhpcy5zdGFydE5vZGU9dlF0KCkpLHRoaXMuZW5kTm9kZT10LmVuZE5vZGUsdC5lbmROb2RlPXRoaXMuc3RhcnROb2RlfXNldFZhbHVlKHQpe3RoaXMuX19wZW5kaW5nVmFsdWU9dH1jb21taXQoKXtpZihudWxsPT09dGhpcy5zdGFydE5vZGUucGFyZW50Tm9kZSlyZXR1cm47Zm9yKDsiZnVuY3Rpb24iPT10eXBlb2YodD10aGlzLl9fcGVuZGluZ1ZhbHVlKSYmTVF0Lmhhcyh0KTspe2NvbnN0IHQ9dGhpcy5fX3BlbmRpbmdWYWx1ZTt0aGlzLl9fcGVuZGluZ1ZhbHVlPUVRdCx0KHRoaXMpfXZhciB0O2NvbnN0IGU9dGhpcy5fX3BlbmRpbmdWYWx1ZTtlIT09RVF0JiYoKHQ9Pm51bGw9PT10fHwhKCJvYmplY3QiPT10eXBlb2YgdHx8ImZ1bmN0aW9uIj09dHlwZW9mIHQpKShlKT9lIT09dGhpcy52YWx1ZSYmdGhpcy5fX2NvbW1pdFRleHQoZSk6ZSBpbnN0YW5jZW9mIGNsYXNze2NvbnN0cnVjdG9yKHQsZSxuLGkpe3RoaXMuc3RyaW5ncz10LHRoaXMudmFsdWVzPWUsdGhpcy50eXBlPW4sdGhpcy5wcm9jZXNzb3I9aX1nZXRIVE1MKCl7Y29uc3QgdD10aGlzLnN0cmluZ3MubGVuZ3RoLTE7bGV0IGU9IiIsbj0hMTtmb3IobGV0IGk9MDtpPHQ7aSsrKXtjb25zdCB0PXRoaXMuc3RyaW5nc1tpXSxyPXQubGFzdEluZGV4T2YoIlx4M2MhLS0iKTtuPShyPi0xfHxuKSYmLTE9PT10LmluZGV4T2YoIi0tXHgzZSIscisxKTtjb25zdCBvPWJRdC5leGVjKHQpO2UrPW51bGw9PT1vP3QrKG4/a1F0OnBRdCk6dC5zdWJzdHIoMCxvLmluZGV4KStvWzFdK29bMl0rbVF0K29bM10rZFF0fXJldHVybiBlKz10aGlzLnN0cmluZ3NbdF0sZX1nZXRUZW1wbGF0ZUVsZW1lbnQoKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIik7bGV0IGU9dGhpcy5nZXRIVE1MKCk7cmV0dXJuIHZvaWQgMCE9PUFRdCYmKGU9QVF0LmNyZWF0ZUhUTUwoZSkpLHQuaW5uZXJIVE1MPWUsdH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICAgKiBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgICogc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAgKi8/dGhpcy5fX2NvbW1pdFRlbXBsYXRlUmVzdWx0KGUpOmUgaW5zdGFuY2VvZiBOb2RlP3RoaXMuX19jb21taXROb2RlKGUpOih0PT5BcnJheS5pc0FycmF5KHQpfHwhKCF0fHwhdFtTeW1ib2wuaXRlcmF0b3JdKSkoZSk/dGhpcy5fX2NvbW1pdEl0ZXJhYmxlKGUpOmU9PT1UUXQ/KHRoaXMudmFsdWU9VFF0LHRoaXMuY2xlYXIoKSk6dGhpcy5fX2NvbW1pdFRleHQoZSkpfV9faW5zZXJ0KHQpe3RoaXMuZW5kTm9kZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0LHRoaXMuZW5kTm9kZSl9X19jb21taXROb2RlKHQpe3RoaXMudmFsdWUhPT10JiYodGhpcy5jbGVhcigpLHRoaXMuX19pbnNlcnQodCksdGhpcy52YWx1ZT10KX1fX2NvbW1pdFRleHQodCl7Y29uc3QgZT10aGlzLnN0YXJ0Tm9kZS5uZXh0U2libGluZyxuPSJzdHJpbmciPT10eXBlb2YodD1udWxsPT10PyIiOnQpP3Q6U3RyaW5nKHQpO2U9PT10aGlzLmVuZE5vZGUucHJldmlvdXNTaWJsaW5nJiYzPT09ZS5ub2RlVHlwZT9lLmRhdGE9bjp0aGlzLl9fY29tbWl0Tm9kZShkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShuKSksdGhpcy52YWx1ZT10fV9fY29tbWl0VGVtcGxhdGVSZXN1bHQodCl7Y29uc3QgZT10aGlzLm9wdGlvbnMudGVtcGxhdGVGYWN0b3J5KHQpO2lmKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBDUXQmJnRoaXMudmFsdWUudGVtcGxhdGU9PT1lKXRoaXMudmFsdWUudXBkYXRlKHQudmFsdWVzKTtlbHNle2NvbnN0IG49bmV3IENRdChlLHQucHJvY2Vzc29yLHRoaXMub3B0aW9ucyksaT1uLl9jbG9uZSgpO24udXBkYXRlKHQudmFsdWVzKSx0aGlzLl9fY29tbWl0Tm9kZShpKSx0aGlzLnZhbHVlPW59fV9fY29tbWl0SXRlcmFibGUodCl7QXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKXx8KHRoaXMudmFsdWU9W10sdGhpcy5jbGVhcigpKTtjb25zdCBlPXRoaXMudmFsdWU7bGV0IG4saT0wO2Zvcihjb25zdCByIG9mIHQpbj1lW2ldLHZvaWQgMD09PW4mJihuPW5ldyBMUXQodGhpcy5vcHRpb25zKSxlLnB1c2gobiksMD09PWk/bi5hcHBlbmRJbnRvUGFydCh0aGlzKTpuLmluc2VydEFmdGVyUGFydChlW2ktMV0pKSxuLnNldFZhbHVlKHIpLG4uY29tbWl0KCksaSsrO2k8ZS5sZW5ndGgmJihlLmxlbmd0aD1pLHRoaXMuY2xlYXIobiYmbi5lbmROb2RlKSl9Y2xlYXIodD10aGlzLnN0YXJ0Tm9kZSl7aFF0KHRoaXMuc3RhcnROb2RlLnBhcmVudE5vZGUsdC5uZXh0U2libGluZyx0aGlzLmVuZE5vZGUpfX1sZXQgUFF0PSExOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgICogVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgICAqIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgICogQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgICAqIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgICovCmZ1bmN0aW9uIE5RdCh0KXtsZXQgZT1JUXQuZ2V0KHQudHlwZSk7dm9pZCAwPT09ZSYmKGU9e3N0cmluZ3NBcnJheTpuZXcgV2Vha01hcCxrZXlTdHJpbmc6bmV3IE1hcH0sSVF0LnNldCh0LnR5cGUsZSkpO2xldCBuPWUuc3RyaW5nc0FycmF5LmdldCh0LnN0cmluZ3MpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG47Y29uc3QgaT10LnN0cmluZ3Muam9pbihkUXQpO3JldHVybiBuPWUua2V5U3RyaW5nLmdldChpKSx2b2lkIDA9PT1uJiYobj1uZXcgZ1F0KHQsdC5nZXRUZW1wbGF0ZUVsZW1lbnQoKSksZS5rZXlTdHJpbmcuc2V0KGksbikpLGUuc3RyaW5nc0FycmF5LnNldCh0LnN0cmluZ3Msbiksbn0oKCk9Pnt0cnl7Y29uc3QgdD17Z2V0IGNhcHR1cmUoKXtyZXR1cm4gUFF0PSEwLCExfX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLHQsdCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLHQsdCl9Y2F0Y2godCl7fX0pKCk7Y29uc3QgSVF0PW5ldyBNYXAsUlF0PW5ldyBXZWFrTWFwOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgICogVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgICAqIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgICogQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgICAqIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgICovCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICAgKiBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgICogc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAgKi8KInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih3aW5kb3cubGl0SHRtbFZlcnNpb25zfHwod2luZG93LmxpdEh0bWxWZXJzaW9ucz1bXSkpLnB1c2goIjEuNC4xIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAxNyBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgKiBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBhdXRob3JzIG1heSBiZSBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICAgKiBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9DT05UUklCVVRPUlMudHh0CiAgICAgKiBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcyBwYXJ0IG9mIHRoZSBwb2x5bWVyIHByb2plY3QgaXMgYWxzbwogICAgICogc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdAogICAgICogaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAgKi9jb25zdCBPUXQ9KHQsZSk9PmAke3R9LS0ke2V9YDtsZXQgelF0PSEwO3ZvaWQgMD09PXdpbmRvdy5TaGFkeUNTUz96UXQ9ITE6dm9pZCAwPT09d2luZG93LlNoYWR5Q1NTLnByZXBhcmVUZW1wbGF0ZURvbSYmKGNvbnNvbGUud2FybigiSW5jb21wYXRpYmxlIFNoYWR5Q1NTIHZlcnNpb24gZGV0ZWN0ZWQuIFBsZWFzZSB1cGRhdGUgdG8gYXQgbGVhc3QgQHdlYmNvbXBvbmVudHMvd2ViY29tcG9uZW50c2pzQDIuMC4yIGFuZCBAd2ViY29tcG9uZW50cy9zaGFkeWNzc0AxLjMuMS4iKSx6UXQ9ITEpO2NvbnN0IERRdD10PT5lPT57Y29uc3Qgbj1PUXQoZS50eXBlLHQpO2xldCBpPUlRdC5nZXQobik7dm9pZCAwPT09aSYmKGk9e3N0cmluZ3NBcnJheTpuZXcgV2Vha01hcCxrZXlTdHJpbmc6bmV3IE1hcH0sSVF0LnNldChuLGkpKTtsZXQgcj1pLnN0cmluZ3NBcnJheS5nZXQoZS5zdHJpbmdzKTtpZih2b2lkIDAhPT1yKXJldHVybiByO2NvbnN0IG89ZS5zdHJpbmdzLmpvaW4oZFF0KTtpZihyPWkua2V5U3RyaW5nLmdldChvKSx2b2lkIDA9PT1yKXtjb25zdCBuPWUuZ2V0VGVtcGxhdGVFbGVtZW50KCk7elF0JiZ3aW5kb3cuU2hhZHlDU1MucHJlcGFyZVRlbXBsYXRlRG9tKG4sdCkscj1uZXcgZ1F0KGUsbiksaS5rZXlTdHJpbmcuc2V0KG8scil9cmV0dXJuIGkuc3RyaW5nc0FycmF5LnNldChlLnN0cmluZ3Mscikscn0sQlF0PVsiaHRtbCIsInN2ZyJdLEhRdD1uZXcgU2V0LEZRdD0odCxlLG4pPT57SFF0LmFkZCh0KTtjb25zdCBpPW4/bi5lbGVtZW50OmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIikscj1lLnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlIikse2xlbmd0aDpvfT1yO2lmKDA9PT1vKXJldHVybiB2b2lkIHdpbmRvdy5TaGFkeUNTUy5wcmVwYXJlVGVtcGxhdGVTdHlsZXMoaSx0KTtjb25zdCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7Zm9yKGxldCB0PTA7dDxvO3QrKyl7Y29uc3QgZT1yW3RdO2UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKSxhLnRleHRDb250ZW50Kz1lLnRleHRDb250ZW50fSh0PT57QlF0LmZvckVhY2goKGU9Pntjb25zdCBuPUlRdC5nZXQoT1F0KGUsdCkpO3ZvaWQgMCE9PW4mJm4ua2V5U3RyaW5nLmZvckVhY2goKHQ9Pntjb25zdHtlbGVtZW50Ontjb250ZW50OmV9fT10LG49bmV3IFNldDtBcnJheS5mcm9tKGUucXVlcnlTZWxlY3RvckFsbCgic3R5bGUiKSkuZm9yRWFjaCgodD0+e24uYWRkKHQpfSkpLHhRdCh0LG4pfSkpfSkpfSkodCk7Y29uc3Qgcz1pLmNvbnRlbnQ7bj8oZnVuY3Rpb24gbCh0LGUsbj1udWxsKXtjb25zdHtlbGVtZW50Ontjb250ZW50Oml9LHBhcnRzOnJ9PXQ7aWYobnVsbD09bilyZXR1cm4gdm9pZCBpLmFwcGVuZENoaWxkKGUpO2NvbnN0IG89ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihpLDEzMyxudWxsLCExKTtsZXQgYT1TUXQocikscz0wLGw9LTE7Zm9yKDtvLm5leHROb2RlKCk7KWZvcihsKyssby5jdXJyZW50Tm9kZT09PW4mJihzPXdRdChlKSxuLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsbikpOy0xIT09YSYmclthXS5pbmRleD09PWw7KXtpZihzPjApe2Zvcig7LTEhPT1hOylyW2FdLmluZGV4Kz1zLGE9U1F0KHIsYSk7cmV0dXJufWE9U1F0KHIsYSl9fSkobixhLHMuZmlyc3RDaGlsZCk6cy5pbnNlcnRCZWZvcmUoYSxzLmZpcnN0Q2hpbGQpLHdpbmRvdy5TaGFkeUNTUy5wcmVwYXJlVGVtcGxhdGVTdHlsZXMoaSx0KTtjb25zdCBjPXMucXVlcnlTZWxlY3Rvcigic3R5bGUiKTtpZih3aW5kb3cuU2hhZHlDU1MubmF0aXZlU2hhZG93JiZudWxsIT09YyllLmluc2VydEJlZm9yZShjLmNsb25lTm9kZSghMCksZS5maXJzdENoaWxkKTtlbHNlIGlmKG4pe3MuaW5zZXJ0QmVmb3JlKGEscy5maXJzdENoaWxkKTtjb25zdCB0PW5ldyBTZXQ7dC5hZGQoYSkseFF0KG4sdCl9fTt3aW5kb3cuSlNDb21waWxlcl9yZW5hbWVQcm9wZXJ0eT0odCxlKT0+dDtjb25zdCBWUXQ9e3RvQXR0cmlidXRlKHQsZSl7c3dpdGNoKGUpe2Nhc2UgQm9vbGVhbjpyZXR1cm4gdD8iIjpudWxsO2Nhc2UgT2JqZWN0OmNhc2UgQXJyYXk6cmV0dXJuIG51bGw9PXQ/dDpKU09OLnN0cmluZ2lmeSh0KX1yZXR1cm4gdH0sZnJvbUF0dHJpYnV0ZSh0LGUpe3N3aXRjaChlKXtjYXNlIEJvb2xlYW46cmV0dXJuIG51bGwhPT10O2Nhc2UgTnVtYmVyOnJldHVybiBudWxsPT09dD9udWxsOk51bWJlcih0KTtjYXNlIE9iamVjdDpjYXNlIEFycmF5OnJldHVybiBKU09OLnBhcnNlKHQpfXJldHVybiB0fX0sVVF0PSh0LGUpPT5lIT09dCYmKGU9PWV8fHQ9PXQpLGpRdD17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjpWUXQscmVmbGVjdDohMSxoYXNDaGFuZ2VkOlVRdH0sR1F0PSJmaW5hbGl6ZWQiO2NsYXNzIFdRdCBleHRlbmRzIEhUTUxFbGVtZW50e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmluaXRpYWxpemUoKX1zdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe3RoaXMuZmluYWxpemUoKTtjb25zdCB0PVtdO3JldHVybiB0aGlzLl9jbGFzc1Byb3BlcnRpZXMuZm9yRWFjaCgoKGUsbik9Pntjb25zdCBpPXRoaXMuX2F0dHJpYnV0ZU5hbWVGb3JQcm9wZXJ0eShuLGUpO3ZvaWQgMCE9PWkmJih0aGlzLl9hdHRyaWJ1dGVUb1Byb3BlcnR5TWFwLnNldChpLG4pLHQucHVzaChpKSl9KSksdH1zdGF0aWMgX2Vuc3VyZUNsYXNzUHJvcGVydGllcygpe2lmKCF0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoIl9jbGFzc1Byb3BlcnRpZXMiLHRoaXMpKSl7dGhpcy5fY2xhc3NQcm9wZXJ0aWVzPW5ldyBNYXA7Y29uc3QgdD1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykuX2NsYXNzUHJvcGVydGllczt2b2lkIDAhPT10JiZ0LmZvckVhY2goKCh0LGUpPT50aGlzLl9jbGFzc1Byb3BlcnRpZXMuc2V0KGUsdCkpKX19c3RhdGljIGNyZWF0ZVByb3BlcnR5KHQsZT1qUXQpe2lmKHRoaXMuX2Vuc3VyZUNsYXNzUHJvcGVydGllcygpLHRoaXMuX2NsYXNzUHJvcGVydGllcy5zZXQodCxlKSxlLm5vQWNjZXNzb3J8fHRoaXMucHJvdG90eXBlLmhhc093blByb3BlcnR5KHQpKXJldHVybjtjb25zdCBuPSJzeW1ib2wiPT10eXBlb2YgdD9TeW1ib2woKTpgX18ke3R9YCxpPXRoaXMuZ2V0UHJvcGVydHlEZXNjcmlwdG9yKHQsbixlKTt2b2lkIDAhPT1pJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5wcm90b3R5cGUsdCxpKX1zdGF0aWMgZ2V0UHJvcGVydHlEZXNjcmlwdG9yKHQsZSxuKXtyZXR1cm57Z2V0KCl7cmV0dXJuIHRoaXNbZV19LHNldChpKXtjb25zdCByPXRoaXNbdF07dGhpc1tlXT1pLHRoaXMucmVxdWVzdFVwZGF0ZUludGVybmFsKHQscixuKX0sY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITB9fXN0YXRpYyBnZXRQcm9wZXJ0eU9wdGlvbnModCl7cmV0dXJuIHRoaXMuX2NsYXNzUHJvcGVydGllcyYmdGhpcy5fY2xhc3NQcm9wZXJ0aWVzLmdldCh0KXx8alF0fXN0YXRpYyBmaW5hbGl6ZSgpe2NvbnN0IHQ9T2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpO2lmKHQuaGFzT3duUHJvcGVydHkoR1F0KXx8dC5maW5hbGl6ZSgpLHRoaXMuZmluYWxpemVkPSEwLHRoaXMuX2Vuc3VyZUNsYXNzUHJvcGVydGllcygpLHRoaXMuX2F0dHJpYnV0ZVRvUHJvcGVydHlNYXA9bmV3IE1hcCx0aGlzLmhhc093blByb3BlcnR5KEpTQ29tcGlsZXJfcmVuYW1lUHJvcGVydHkoInByb3BlcnRpZXMiLHRoaXMpKSl7Y29uc3QgdD10aGlzLnByb3BlcnRpZXMsZT1bLi4uT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModCksLi4uImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KTpbXV07Zm9yKGNvbnN0IG4gb2YgZSl0aGlzLmNyZWF0ZVByb3BlcnR5KG4sdFtuXSl9fXN0YXRpYyBfYXR0cmlidXRlTmFtZUZvclByb3BlcnR5KHQsZSl7Y29uc3Qgbj1lLmF0dHJpYnV0ZTtyZXR1cm4hMT09PW4/dm9pZCAwOiJzdHJpbmciPT10eXBlb2Ygbj9uOiJzdHJpbmciPT10eXBlb2YgdD90LnRvTG93ZXJDYXNlKCk6dm9pZCAwfXN0YXRpYyBfdmFsdWVIYXNDaGFuZ2VkKHQsZSxuPVVRdCl7cmV0dXJuIG4odCxlKX1zdGF0aWMgX3Byb3BlcnR5VmFsdWVGcm9tQXR0cmlidXRlKHQsZSl7Y29uc3Qgbj1lLmNvbnZlcnRlcnx8VlF0LGk9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bjpuLmZyb21BdHRyaWJ1dGU7cmV0dXJuIGk/aSh0LGUudHlwZSk6dH1zdGF0aWMgX3Byb3BlcnR5VmFsdWVUb0F0dHJpYnV0ZSh0LGUpe2lmKHZvaWQgMD09PWUucmVmbGVjdClyZXR1cm47Y29uc3Qgbj1lLmNvbnZlcnRlcjtyZXR1cm4obiYmbi50b0F0dHJpYnV0ZXx8VlF0LnRvQXR0cmlidXRlKSh0LGUudHlwZSl9aW5pdGlhbGl6ZSgpe3RoaXMuX3VwZGF0ZVN0YXRlPTAsdGhpcy5fdXBkYXRlUHJvbWlzZT1uZXcgUHJvbWlzZSgodD0+dGhpcy5fZW5hYmxlVXBkYXRpbmdSZXNvbHZlcj10KSksdGhpcy5fY2hhbmdlZFByb3BlcnRpZXM9bmV3IE1hcCx0aGlzLl9zYXZlSW5zdGFuY2VQcm9wZXJ0aWVzKCksdGhpcy5yZXF1ZXN0VXBkYXRlSW50ZXJuYWwoKX1fc2F2ZUluc3RhbmNlUHJvcGVydGllcygpe3RoaXMuY29uc3RydWN0b3IuX2NsYXNzUHJvcGVydGllcy5mb3JFYWNoKCgodCxlKT0+e2lmKHRoaXMuaGFzT3duUHJvcGVydHkoZSkpe2NvbnN0IHQ9dGhpc1tlXTtkZWxldGUgdGhpc1tlXSx0aGlzLl9pbnN0YW5jZVByb3BlcnRpZXN8fCh0aGlzLl9pbnN0YW5jZVByb3BlcnRpZXM9bmV3IE1hcCksdGhpcy5faW5zdGFuY2VQcm9wZXJ0aWVzLnNldChlLHQpfX0pKX1fYXBwbHlJbnN0YW5jZVByb3BlcnRpZXMoKXt0aGlzLl9pbnN0YW5jZVByb3BlcnRpZXMuZm9yRWFjaCgoKHQsZSk9PnRoaXNbZV09dCkpLHRoaXMuX2luc3RhbmNlUHJvcGVydGllcz12b2lkIDB9Y29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLmVuYWJsZVVwZGF0aW5nKCl9ZW5hYmxlVXBkYXRpbmcoKXt2b2lkIDAhPT10aGlzLl9lbmFibGVVcGRhdGluZ1Jlc29sdmVyJiYodGhpcy5fZW5hYmxlVXBkYXRpbmdSZXNvbHZlcigpLHRoaXMuX2VuYWJsZVVwZGF0aW5nUmVzb2x2ZXI9dm9pZCAwKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe31hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4pe2UhPT1uJiZ0aGlzLl9hdHRyaWJ1dGVUb1Byb3BlcnR5KHQsbil9X3Byb3BlcnR5VG9BdHRyaWJ1dGUodCxlLG49alF0KXtjb25zdCBpPXRoaXMuY29uc3RydWN0b3Iscj1pLl9hdHRyaWJ1dGVOYW1lRm9yUHJvcGVydHkodCxuKTtpZih2b2lkIDAhPT1yKXtjb25zdCB0PWkuX3Byb3BlcnR5VmFsdWVUb0F0dHJpYnV0ZShlLG4pO2lmKHZvaWQgMD09PXQpcmV0dXJuO3RoaXMuX3VwZGF0ZVN0YXRlPTh8dGhpcy5fdXBkYXRlU3RhdGUsbnVsbD09dD90aGlzLnJlbW92ZUF0dHJpYnV0ZShyKTp0aGlzLnNldEF0dHJpYnV0ZShyLHQpLHRoaXMuX3VwZGF0ZVN0YXRlPS05JnRoaXMuX3VwZGF0ZVN0YXRlfX1fYXR0cmlidXRlVG9Qcm9wZXJ0eSh0LGUpe2lmKDgmdGhpcy5fdXBkYXRlU3RhdGUpcmV0dXJuO2NvbnN0IG49dGhpcy5jb25zdHJ1Y3RvcixpPW4uX2F0dHJpYnV0ZVRvUHJvcGVydHlNYXAuZ2V0KHQpO2lmKHZvaWQgMCE9PWkpe2NvbnN0IHQ9bi5nZXRQcm9wZXJ0eU9wdGlvbnMoaSk7dGhpcy5fdXBkYXRlU3RhdGU9MTZ8dGhpcy5fdXBkYXRlU3RhdGUsdGhpc1tpXT1uLl9wcm9wZXJ0eVZhbHVlRnJvbUF0dHJpYnV0ZShlLHQpLHRoaXMuX3VwZGF0ZVN0YXRlPS0xNyZ0aGlzLl91cGRhdGVTdGF0ZX19cmVxdWVzdFVwZGF0ZUludGVybmFsKHQsZSxuKXtsZXQgaT0hMDtpZih2b2lkIDAhPT10KXtjb25zdCByPXRoaXMuY29uc3RydWN0b3I7bj1ufHxyLmdldFByb3BlcnR5T3B0aW9ucyh0KSxyLl92YWx1ZUhhc0NoYW5nZWQodGhpc1t0XSxlLG4uaGFzQ2hhbmdlZCk/KHRoaXMuX2NoYW5nZWRQcm9wZXJ0aWVzLmhhcyh0KXx8dGhpcy5fY2hhbmdlZFByb3BlcnRpZXMuc2V0KHQsZSksITAhPT1uLnJlZmxlY3R8fDE2JnRoaXMuX3VwZGF0ZVN0YXRlfHwodm9pZCAwPT09dGhpcy5fcmVmbGVjdGluZ1Byb3BlcnRpZXMmJih0aGlzLl9yZWZsZWN0aW5nUHJvcGVydGllcz1uZXcgTWFwKSx0aGlzLl9yZWZsZWN0aW5nUHJvcGVydGllcy5zZXQodCxuKSkpOmk9ITF9IXRoaXMuX2hhc1JlcXVlc3RlZFVwZGF0ZSYmaSYmKHRoaXMuX3VwZGF0ZVByb21pc2U9dGhpcy5fZW5xdWV1ZVVwZGF0ZSgpKX1yZXF1ZXN0VXBkYXRlKHQsZSl7cmV0dXJuIHRoaXMucmVxdWVzdFVwZGF0ZUludGVybmFsKHQsZSksdGhpcy51cGRhdGVDb21wbGV0ZX1hc3luYyBfZW5xdWV1ZVVwZGF0ZSgpe3RoaXMuX3VwZGF0ZVN0YXRlPTR8dGhpcy5fdXBkYXRlU3RhdGU7dHJ5e2F3YWl0IHRoaXMuX3VwZGF0ZVByb21pc2V9Y2F0Y2godCl7fWNvbnN0IHQ9dGhpcy5wZXJmb3JtVXBkYXRlKCk7cmV0dXJuIG51bGwhPXQmJmF3YWl0IHQsIXRoaXMuX2hhc1JlcXVlc3RlZFVwZGF0ZX1nZXQgX2hhc1JlcXVlc3RlZFVwZGF0ZSgpe3JldHVybiA0JnRoaXMuX3VwZGF0ZVN0YXRlfWdldCBoYXNVcGRhdGVkKCl7cmV0dXJuIDEmdGhpcy5fdXBkYXRlU3RhdGV9cGVyZm9ybVVwZGF0ZSgpe2lmKCF0aGlzLl9oYXNSZXF1ZXN0ZWRVcGRhdGUpcmV0dXJuO3RoaXMuX2luc3RhbmNlUHJvcGVydGllcyYmdGhpcy5fYXBwbHlJbnN0YW5jZVByb3BlcnRpZXMoKTtsZXQgdD0hMTtjb25zdCBlPXRoaXMuX2NoYW5nZWRQcm9wZXJ0aWVzO3RyeXt0PXRoaXMuc2hvdWxkVXBkYXRlKGUpLHQ/dGhpcy51cGRhdGUoZSk6dGhpcy5fbWFya1VwZGF0ZWQoKX1jYXRjaChlKXt0aHJvdyB0PSExLHRoaXMuX21hcmtVcGRhdGVkKCksZX10JiYoMSZ0aGlzLl91cGRhdGVTdGF0ZXx8KHRoaXMuX3VwZGF0ZVN0YXRlPTF8dGhpcy5fdXBkYXRlU3RhdGUsdGhpcy5maXJzdFVwZGF0ZWQoZSkpLHRoaXMudXBkYXRlZChlKSl9X21hcmtVcGRhdGVkKCl7dGhpcy5fY2hhbmdlZFByb3BlcnRpZXM9bmV3IE1hcCx0aGlzLl91cGRhdGVTdGF0ZT0tNSZ0aGlzLl91cGRhdGVTdGF0ZX1nZXQgdXBkYXRlQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5fZ2V0VXBkYXRlQ29tcGxldGUoKX1fZ2V0VXBkYXRlQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5nZXRVcGRhdGVDb21wbGV0ZSgpfWdldFVwZGF0ZUNvbXBsZXRlKCl7cmV0dXJuIHRoaXMuX3VwZGF0ZVByb21pc2V9c2hvdWxkVXBkYXRlKHQpe3JldHVybiEwfXVwZGF0ZSh0KXt2b2lkIDAhPT10aGlzLl9yZWZsZWN0aW5nUHJvcGVydGllcyYmdGhpcy5fcmVmbGVjdGluZ1Byb3BlcnRpZXMuc2l6ZT4wJiYodGhpcy5fcmVmbGVjdGluZ1Byb3BlcnRpZXMuZm9yRWFjaCgoKHQsZSk9PnRoaXMuX3Byb3BlcnR5VG9BdHRyaWJ1dGUoZSx0aGlzW2VdLHQpKSksdGhpcy5fcmVmbGVjdGluZ1Byb3BlcnRpZXM9dm9pZCAwKSx0aGlzLl9tYXJrVXBkYXRlZCgpfXVwZGF0ZWQodCl7fWZpcnN0VXBkYXRlZCh0KXt9fVdRdC5maW5hbGl6ZWQ9ITA7Ci8qKgogICAgQGxpY2Vuc2UKICAgIENvcHlyaWdodCAoYykgMjAxOSBUaGUgUG9seW1lciBQcm9qZWN0IEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICBUaGlzIGNvZGUgbWF5IG9ubHkgYmUgdXNlZCB1bmRlciB0aGUgQlNEIHN0eWxlIGxpY2Vuc2UgZm91bmQgYXQKICAgIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9MSUNFTlNFLnR4dCBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQVVUSE9SUy50eHQgVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlCiAgICBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dCBDb2RlIGRpc3RyaWJ1dGVkIGJ5IEdvb2dsZSBhcwogICAgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28gc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudAogICAgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL1BBVEVOVFMudHh0CiAgICAqLwpjb25zdCBxUXQ9d2luZG93LlNoYWRvd1Jvb3QmJih2b2lkIDA9PT13aW5kb3cuU2hhZHlDU1N8fHdpbmRvdy5TaGFkeUNTUy5uYXRpdmVTaGFkb3cpJiYiYWRvcHRlZFN0eWxlU2hlZXRzImluIERvY3VtZW50LnByb3RvdHlwZSYmInJlcGxhY2UiaW4gQ1NTU3R5bGVTaGVldC5wcm90b3R5cGUsWVF0PVN5bWJvbCgpO2NsYXNzIFhRdHtjb25zdHJ1Y3Rvcih0LGUpe2lmKGUhPT1ZUXQpdGhyb3cgbmV3IEVycm9yKCJDU1NSZXN1bHQgaXMgbm90IGNvbnN0cnVjdGFibGUuIFVzZSBgdW5zYWZlQ1NTYCBvciBgY3NzYCBpbnN0ZWFkLiIpO3RoaXMuY3NzVGV4dD10fWdldCBzdHlsZVNoZWV0KCl7cmV0dXJuIHZvaWQgMD09PXRoaXMuX3N0eWxlU2hlZXQmJihxUXQ/KHRoaXMuX3N0eWxlU2hlZXQ9bmV3IENTU1N0eWxlU2hlZXQsdGhpcy5fc3R5bGVTaGVldC5yZXBsYWNlU3luYyh0aGlzLmNzc1RleHQpKTp0aGlzLl9zdHlsZVNoZWV0PW51bGwpLHRoaXMuX3N0eWxlU2hlZXR9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5jc3NUZXh0fX1jb25zdCAkUXQ9KHQsLi4uZSk9Pntjb25zdCBuPWUucmVkdWNlKCgoZSxuLGkpPT5lKyh0PT57aWYodCBpbnN0YW5jZW9mIFhRdClyZXR1cm4gdC5jc3NUZXh0O2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoYFZhbHVlIHBhc3NlZCB0byAnY3NzJyBmdW5jdGlvbiBtdXN0IGJlIGEgJ2NzcycgZnVuY3Rpb24gcmVzdWx0OiAke3R9LiBVc2UgJ3Vuc2FmZUNTUycgdG8gcGFzcyBub24tbGl0ZXJhbCB2YWx1ZXMsIGJ1dFxuICAgICAgICAgICAgdGFrZSBjYXJlIHRvIGVuc3VyZSBwYWdlIHNlY3VyaXR5LmApfSkobikrdFtpKzFdKSx0WzBdKTtyZXR1cm4gbmV3IFhRdChuLFlRdCl9OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMTcgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICAgICogVGhpcyBjb2RlIG1heSBvbmx5IGJlIHVzZWQgdW5kZXIgdGhlIEJTRCBzdHlsZSBsaWNlbnNlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgICAqIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dAogICAgICogVGhlIGNvbXBsZXRlIHNldCBvZiBjb250cmlidXRvcnMgbWF5IGJlIGZvdW5kIGF0CiAgICAgKiBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dAogICAgICogQ29kZSBkaXN0cmlidXRlZCBieSBHb29nbGUgYXMgcGFydCBvZiB0aGUgcG9seW1lciBwcm9qZWN0IGlzIGFsc28KICAgICAqIHN1YmplY3QgdG8gYW4gYWRkaXRpb25hbCBJUCByaWdodHMgZ3JhbnQgZm91bmQgYXQKICAgICAqIGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgICovCih3aW5kb3cubGl0RWxlbWVudFZlcnNpb25zfHwod2luZG93LmxpdEVsZW1lbnRWZXJzaW9ucz1bXSkpLnB1c2goIjIuNS4xIik7Y29uc3QgS1F0PXt9O2NsYXNzIFpRdCBleHRlbmRzIFdRdHtzdGF0aWMgZ2V0U3R5bGVzKCl7cmV0dXJuIHRoaXMuc3R5bGVzfXN0YXRpYyBfZ2V0VW5pcXVlU3R5bGVzKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShKU0NvbXBpbGVyX3JlbmFtZVByb3BlcnR5KCJfc3R5bGVzIix0aGlzKSkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5nZXRTdHlsZXMoKTtpZihBcnJheS5pc0FycmF5KHQpKXtjb25zdCBlPSh0LG4pPT50LnJlZHVjZVJpZ2h0KCgodCxuKT0+QXJyYXkuaXNBcnJheShuKT9lKG4sdCk6KHQuYWRkKG4pLHQpKSxuKSxuPWUodCxuZXcgU2V0KSxpPVtdO24uZm9yRWFjaCgodD0+aS51bnNoaWZ0KHQpKSksdGhpcy5fc3R5bGVzPWl9ZWxzZSB0aGlzLl9zdHlsZXM9dm9pZCAwPT09dD9bXTpbdF07dGhpcy5fc3R5bGVzPXRoaXMuX3N0eWxlcy5tYXAoKHQ9PntpZih0IGluc3RhbmNlb2YgQ1NTU3R5bGVTaGVldCYmIXFRdCl7cmV0dXJuKHQ9Pm5ldyBYUXQoU3RyaW5nKHQpLFlRdCkpKEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQuY3NzUnVsZXMpLnJlZHVjZSgoKHQsZSk9PnQrZS5jc3NUZXh0KSwiIikpfXJldHVybiB0fSkpfWluaXRpYWxpemUoKXtzdXBlci5pbml0aWFsaXplKCksdGhpcy5jb25zdHJ1Y3Rvci5fZ2V0VW5pcXVlU3R5bGVzKCksdGhpcy5yZW5kZXJSb290PXRoaXMuY3JlYXRlUmVuZGVyUm9vdCgpLHdpbmRvdy5TaGFkb3dSb290JiZ0aGlzLnJlbmRlclJvb3QgaW5zdGFuY2VvZiB3aW5kb3cuU2hhZG93Um9vdCYmdGhpcy5hZG9wdFN0eWxlcygpfWNyZWF0ZVJlbmRlclJvb3QoKXtyZXR1cm4gdGhpcy5hdHRhY2hTaGFkb3codGhpcy5jb25zdHJ1Y3Rvci5zaGFkb3dSb290T3B0aW9ucyl9YWRvcHRTdHlsZXMoKXtjb25zdCB0PXRoaXMuY29uc3RydWN0b3IuX3N0eWxlczswIT09dC5sZW5ndGgmJih2b2lkIDA9PT13aW5kb3cuU2hhZHlDU1N8fHdpbmRvdy5TaGFkeUNTUy5uYXRpdmVTaGFkb3c/cVF0P3RoaXMucmVuZGVyUm9vdC5hZG9wdGVkU3R5bGVTaGVldHM9dC5tYXAoKHQ9PnQgaW5zdGFuY2VvZiBDU1NTdHlsZVNoZWV0P3Q6dC5zdHlsZVNoZWV0KSk6dGhpcy5fbmVlZHNTaGltQWRvcHRlZFN0eWxlU2hlZXRzPSEwOndpbmRvdy5TaGFkeUNTUy5TY29waW5nU2hpbS5wcmVwYXJlQWRvcHRlZENzc1RleHQodC5tYXAoKHQ9PnQuY3NzVGV4dCkpLHRoaXMubG9jYWxOYW1lKSl9Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaGFzVXBkYXRlZCYmdm9pZCAwIT09d2luZG93LlNoYWR5Q1NTJiZ3aW5kb3cuU2hhZHlDU1Muc3R5bGVFbGVtZW50KHRoaXMpfXVwZGF0ZSh0KXtjb25zdCBlPXRoaXMucmVuZGVyKCk7c3VwZXIudXBkYXRlKHQpLGUhPT1LUXQmJnRoaXMuY29uc3RydWN0b3IucmVuZGVyKGUsdGhpcy5yZW5kZXJSb290LHtzY29wZU5hbWU6dGhpcy5sb2NhbE5hbWUsZXZlbnRDb250ZXh0OnRoaXN9KSx0aGlzLl9uZWVkc1NoaW1BZG9wdGVkU3R5bGVTaGVldHMmJih0aGlzLl9uZWVkc1NoaW1BZG9wdGVkU3R5bGVTaGVldHM9ITEsdGhpcy5jb25zdHJ1Y3Rvci5fc3R5bGVzLmZvckVhY2goKHQ9Pntjb25zdCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7ZS50ZXh0Q29udGVudD10LmNzc1RleHQsdGhpcy5yZW5kZXJSb290LmFwcGVuZENoaWxkKGUpfSkpKX1yZW5kZXIoKXtyZXR1cm4gS1F0fX1aUXQuZmluYWxpemVkPSEwLFpRdC5yZW5kZXI9KHQsZSxuKT0+e2lmKCFufHwib2JqZWN0IiE9dHlwZW9mIG58fCFuLnNjb3BlTmFtZSl0aHJvdyBuZXcgRXJyb3IoIlRoZSBgc2NvcGVOYW1lYCBvcHRpb24gaXMgcmVxdWlyZWQuIik7Y29uc3QgaT1uLnNjb3BlTmFtZSxyPVJRdC5oYXMoZSksbz16UXQmJjExPT09ZS5ub2RlVHlwZSYmISFlLmhvc3QsYT1vJiYhSFF0LmhhcyhpKSxzPWE/ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOmU7aWYoKCh0LGUsbik9PntsZXQgaT1SUXQuZ2V0KGUpO3ZvaWQgMD09PWkmJihoUXQoZSxlLmZpcnN0Q2hpbGQpLFJRdC5zZXQoZSxpPW5ldyBMUXQoT2JqZWN0LmFzc2lnbih7dGVtcGxhdGVGYWN0b3J5Ok5RdH0sbikpKSxpLmFwcGVuZEludG8oZSkpLGkuc2V0VmFsdWUodCksaS5jb21taXQoKX0pKHQscyxPYmplY3QuYXNzaWduKHt0ZW1wbGF0ZUZhY3Rvcnk6RFF0KGkpfSxuKSksYSl7Y29uc3QgdD1SUXQuZ2V0KHMpO1JRdC5kZWxldGUocyk7RlF0KGkscyx0LnZhbHVlIGluc3RhbmNlb2YgQ1F0P3QudmFsdWUudGVtcGxhdGU6dm9pZCAwKSxoUXQoZSxlLmZpcnN0Q2hpbGQpLGUuYXBwZW5kQ2hpbGQocyksUlF0LnNldChlLHQpfSFyJiZvJiZ3aW5kb3cuU2hhZHlDU1Muc3R5bGVFbGVtZW50KGUuaG9zdCl9LFpRdC5zaGFkb3dSb290T3B0aW9ucz17bW9kZToib3BlbiJ9O2xldCBKUXQ9MDtjb25zdCBRUXQ9e30sdDF0PSh0LGUsbik9Pntjb25zdCBpPW4mJm4ubW9kdWxlSWR8fCJjdXN0b20tc3R5bGUtbW9kdWxlLSIrSlF0Kys7QXJyYXkuaXNBcnJheShlKXx8KGU9ZT9bZV06W10pLGUuZm9yRWFjaCgodD0+e2lmKCEodCBpbnN0YW5jZW9mIFhRdCkpdGhyb3cgbmV3IEVycm9yKCJBbiBpdGVtIGluIHN0eWxlcyBpcyBub3Qgb2YgdHlwZSBDU1NSZXN1bHQuIFVzZSBgdW5zYWZlQ1NTYCBvciBgY3NzYC4iKTtpZighUVF0W3RdKXtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRvbS1tb2R1bGUiKTtlLmlubmVySFRNTD1gXG4gICAgICAgIDx0ZW1wbGF0ZT5cbiAgICAgICAgICA8c3R5bGU+JHt0LnRvU3RyaW5nKCl9PC9zdHlsZT5cbiAgICAgICAgPC90ZW1wbGF0ZT5cbiAgICAgIGA7Y29uc3Qgbj0iY3VzdG9tLXN0eWxlLW1vZHVsZS0iK0pRdCsrO2UucmVnaXN0ZXIobiksUVF0W3RdPW59fSkpO2NvbnN0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZG9tLW1vZHVsZSIpO2lmKHQpe2NvbnN0IGU9Y3VzdG9tRWxlbWVudHMuZ2V0KHQpO2UmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLCJfX2ZpbmFsaXplZCIpJiZjb25zb2xlLndhcm4oYFRoZSBjdXN0b20gZWxlbWVudCBkZWZpbml0aW9uIGZvciAiJHt0fSJcbiAgICAgIHdhcyBmaW5hbGl6ZWQgYmVmb3JlIGEgc3R5bGUgbW9kdWxlIHdhcyByZWdpc3RlcmVkLlxuICAgICAgTWFrZSBzdXJlIHRvIGFkZCBjb21wb25lbnQgc3BlY2lmaWMgc3R5bGUgbW9kdWxlcyBiZWZvcmVcbiAgICAgIGltcG9ydGluZyB0aGUgY29ycmVzcG9uZGluZyBjdXN0b20gZWxlbWVudC5gKSxyLnNldEF0dHJpYnV0ZSgidGhlbWUtZm9yIix0KX1yLmlubmVySFRNTD1gXG4gICAgPHRlbXBsYXRlPlxuICAgICAgJHsobiYmbi5pbmNsdWRlfHxbXSkubWFwKCh0PT5gPHN0eWxlIGluY2x1ZGU9JHt0fT48L3N0eWxlPmApKX1cbiAgICAgICR7ZS5tYXAoKHQ9PmA8c3R5bGUgaW5jbHVkZT0ke1FRdFt0XX0+PC9zdHlsZT5gKSl9XG4gICAgPC90ZW1wbGF0ZT5cbiAgYCxyLnJlZ2lzdGVyKGkpfTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi8KY2xhc3MgZTF0IGV4dGVuZHMgSFRNTEVsZW1lbnR7c3RhdGljIGdldCB2ZXJzaW9uKCl7cmV0dXJuIjIwLjAuMiJ9fWN1c3RvbUVsZW1lbnRzLmRlZmluZSgidmFhZGluLWx1bW8tc3R5bGVzIixlMXQpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLwpjb25zdCBuMXQ9JFF0YAogIDpob3N0IHsKICAgIC8qIEJhc2UgKGJhY2tncm91bmQpICovCiAgICAtLWx1bW8tYmFzZS1jb2xvcjogI2ZmZjsKCiAgICAvKiBUaW50ICovCiAgICAtLWx1bW8tdGludC01cGN0OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjMpOwogICAgLS1sdW1vLXRpbnQtMTBwY3Q6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMzcpOwogICAgLS1sdW1vLXRpbnQtMjBwY3Q6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNDQpOwogICAgLS1sdW1vLXRpbnQtMzBwY3Q6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNSk7CiAgICAtLWx1bW8tdGludC00MHBjdDogaHNsYSgwLCAwJSwgMTAwJSwgMC41Nyk7CiAgICAtLWx1bW8tdGludC01MHBjdDogaHNsYSgwLCAwJSwgMTAwJSwgMC42NCk7CiAgICAtLWx1bW8tdGludC02MHBjdDogaHNsYSgwLCAwJSwgMTAwJSwgMC43KTsKICAgIC0tbHVtby10aW50LTcwcGN0OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjc3KTsKICAgIC0tbHVtby10aW50LTgwcGN0OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjg0KTsKICAgIC0tbHVtby10aW50LTkwcGN0OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjkpOwogICAgLS1sdW1vLXRpbnQ6ICNmZmY7CgogICAgLyogU2hhZGUgKi8KICAgIC0tbHVtby1zaGFkZS01cGN0OiBoc2xhKDIxNCwgNjElLCAyNSUsIDAuMDUpOwogICAgLS1sdW1vLXNoYWRlLTEwcGN0OiBoc2xhKDIxNCwgNTclLCAyNCUsIDAuMSk7CiAgICAtLWx1bW8tc2hhZGUtMjBwY3Q6IGhzbGEoMjE0LCA1MyUsIDIzJSwgMC4xNik7CiAgICAtLWx1bW8tc2hhZGUtMzBwY3Q6IGhzbGEoMjE0LCA1MCUsIDIyJSwgMC4yNik7CiAgICAtLWx1bW8tc2hhZGUtNDBwY3Q6IGhzbGEoMjE0LCA0NyUsIDIxJSwgMC4zOCk7CiAgICAtLWx1bW8tc2hhZGUtNTBwY3Q6IGhzbGEoMjE0LCA0NSUsIDIwJSwgMC41KTsKICAgIC0tbHVtby1zaGFkZS02MHBjdDogaHNsYSgyMTQsIDQzJSwgMTklLCAwLjYxKTsKICAgIC0tbHVtby1zaGFkZS03MHBjdDogaHNsYSgyMTQsIDQyJSwgMTglLCAwLjcyKTsKICAgIC0tbHVtby1zaGFkZS04MHBjdDogaHNsYSgyMTQsIDQxJSwgMTclLCAwLjgzKTsKICAgIC0tbHVtby1zaGFkZS05MHBjdDogaHNsYSgyMTQsIDQwJSwgMTYlLCAwLjk0KTsKICAgIC0tbHVtby1zaGFkZTogaHNsKDIxNCwgMzUlLCAxNSUpOwoKICAgIC8qIENvbnRyYXN0ICovCiAgICAtLWx1bW8tY29udHJhc3QtNXBjdDogdmFyKC0tbHVtby1zaGFkZS01cGN0KTsKICAgIC0tbHVtby1jb250cmFzdC0xMHBjdDogdmFyKC0tbHVtby1zaGFkZS0xMHBjdCk7CiAgICAtLWx1bW8tY29udHJhc3QtMjBwY3Q6IHZhcigtLWx1bW8tc2hhZGUtMjBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTMwcGN0OiB2YXIoLS1sdW1vLXNoYWRlLTMwcGN0KTsKICAgIC0tbHVtby1jb250cmFzdC00MHBjdDogdmFyKC0tbHVtby1zaGFkZS00MHBjdCk7CiAgICAtLWx1bW8tY29udHJhc3QtNTBwY3Q6IHZhcigtLWx1bW8tc2hhZGUtNTBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTYwcGN0OiB2YXIoLS1sdW1vLXNoYWRlLTYwcGN0KTsKICAgIC0tbHVtby1jb250cmFzdC03MHBjdDogdmFyKC0tbHVtby1zaGFkZS03MHBjdCk7CiAgICAtLWx1bW8tY29udHJhc3QtODBwY3Q6IHZhcigtLWx1bW8tc2hhZGUtODBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTkwcGN0OiB2YXIoLS1sdW1vLXNoYWRlLTkwcGN0KTsKICAgIC0tbHVtby1jb250cmFzdDogdmFyKC0tbHVtby1zaGFkZSk7CgogICAgLyogVGV4dCAqLwogICAgLS1sdW1vLWhlYWRlci10ZXh0LWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0KTsKICAgIC0tbHVtby1ib2R5LXRleHQtY29sb3I6IHZhcigtLWx1bW8tY29udHJhc3QtOTBwY3QpOwogICAgLS1sdW1vLXNlY29uZGFyeS10ZXh0LWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTcwcGN0KTsKICAgIC0tbHVtby10ZXJ0aWFyeS10ZXh0LWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTUwcGN0KTsKICAgIC0tbHVtby1kaXNhYmxlZC10ZXh0LWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTMwcGN0KTsKCiAgICAvKiBQcmltYXJ5ICovCiAgICAtLWx1bW8tcHJpbWFyeS1jb2xvcjogaHNsKDIxNCwgOTAlLCA1MiUpOwogICAgLS1sdW1vLXByaW1hcnktY29sb3ItNTBwY3Q6IGhzbGEoMjE0LCA5MCUsIDUyJSwgMC41KTsKICAgIC0tbHVtby1wcmltYXJ5LWNvbG9yLTEwcGN0OiBoc2xhKDIxNCwgOTAlLCA1MiUsIDAuMSk7CiAgICAtLWx1bW8tcHJpbWFyeS10ZXh0LWNvbG9yOiB2YXIoLS1sdW1vLXByaW1hcnktY29sb3IpOwogICAgLS1sdW1vLXByaW1hcnktY29udHJhc3QtY29sb3I6ICNmZmY7CgogICAgLyogRXJyb3IgKi8KICAgIC0tbHVtby1lcnJvci1jb2xvcjogaHNsKDMsIDEwMCUsIDYxJSk7CiAgICAtLWx1bW8tZXJyb3ItY29sb3ItNTBwY3Q6IGhzbGEoMywgMTAwJSwgNjAlLCAwLjUpOwogICAgLS1sdW1vLWVycm9yLWNvbG9yLTEwcGN0OiBoc2xhKDMsIDEwMCUsIDYwJSwgMC4xKTsKICAgIC0tbHVtby1lcnJvci10ZXh0LWNvbG9yOiBoc2woMywgOTIlLCA1MyUpOwogICAgLS1sdW1vLWVycm9yLWNvbnRyYXN0LWNvbG9yOiAjZmZmOwoKICAgIC8qIFN1Y2Nlc3MgKi8KICAgIC0tbHVtby1zdWNjZXNzLWNvbG9yOiBoc2woMTQ1LCA4MCUsIDQyJSk7IC8qIGhzbCgxNDQsODIlLDM3JSk7ICovCiAgICAtLWx1bW8tc3VjY2Vzcy1jb2xvci01MHBjdDogaHNsYSgxNDUsIDc2JSwgNDQlLCAwLjU1KTsKICAgIC0tbHVtby1zdWNjZXNzLWNvbG9yLTEwcGN0OiBoc2xhKDE0NSwgNzYlLCA0NCUsIDAuMTIpOwogICAgLS1sdW1vLXN1Y2Nlc3MtdGV4dC1jb2xvcjogaHNsKDE0NSwgMTAwJSwgMzIlKTsKICAgIC0tbHVtby1zdWNjZXNzLWNvbnRyYXN0LWNvbG9yOiAjZmZmOwogIH0KYCxpMXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtpMXQuaW5uZXJIVE1MPWA8c3R5bGU+JHtuMXQudG9TdHJpbmcoKS5yZXBsYWNlKCI6aG9zdCIsImh0bWwiKX08L3N0eWxlPmAsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChpMXQuY29udGVudCk7dDF0KCIiLCRRdGAKICBbdGhlbWV+PSdkYXJrJ10gewogICAgLyogQmFzZSAoYmFja2dyb3VuZCkgKi8KICAgIC0tbHVtby1iYXNlLWNvbG9yOiBoc2woMjE0LCAzNSUsIDIxJSk7CgogICAgLyogVGludCAqLwogICAgLS1sdW1vLXRpbnQtNXBjdDogaHNsYSgyMTQsIDY1JSwgODUlLCAwLjA2KTsKICAgIC0tbHVtby10aW50LTEwcGN0OiBoc2xhKDIxNCwgNjAlLCA4MCUsIDAuMTQpOwogICAgLS1sdW1vLXRpbnQtMjBwY3Q6IGhzbGEoMjE0LCA2NCUsIDgyJSwgMC4yMyk7CiAgICAtLWx1bW8tdGludC0zMHBjdDogaHNsYSgyMTQsIDY5JSwgODQlLCAwLjMyKTsKICAgIC0tbHVtby10aW50LTQwcGN0OiBoc2xhKDIxNCwgNzMlLCA4NiUsIDAuNDEpOwogICAgLS1sdW1vLXRpbnQtNTBwY3Q6IGhzbGEoMjE0LCA3OCUsIDg4JSwgMC41KTsKICAgIC0tbHVtby10aW50LTYwcGN0OiBoc2xhKDIxNCwgODIlLCA5MCUsIDAuNik7CiAgICAtLWx1bW8tdGludC03MHBjdDogaHNsYSgyMTQsIDg3JSwgOTIlLCAwLjcpOwogICAgLS1sdW1vLXRpbnQtODBwY3Q6IGhzbGEoMjE0LCA5MSUsIDk0JSwgMC44KTsKICAgIC0tbHVtby10aW50LTkwcGN0OiBoc2xhKDIxNCwgOTYlLCA5NiUsIDAuOSk7CiAgICAtLWx1bW8tdGludDogaHNsKDIxNCwgMTAwJSwgOTglKTsKCiAgICAvKiBTaGFkZSAqLwogICAgLS1sdW1vLXNoYWRlLTVwY3Q6IGhzbGEoMjE0LCAwJSwgMCUsIDAuMDcpOwogICAgLS1sdW1vLXNoYWRlLTEwcGN0OiBoc2xhKDIxNCwgNCUsIDIlLCAwLjE1KTsKICAgIC0tbHVtby1zaGFkZS0yMHBjdDogaHNsYSgyMTQsIDglLCA0JSwgMC4yMyk7CiAgICAtLWx1bW8tc2hhZGUtMzBwY3Q6IGhzbGEoMjE0LCAxMiUsIDYlLCAwLjMyKTsKICAgIC0tbHVtby1zaGFkZS00MHBjdDogaHNsYSgyMTQsIDE2JSwgOCUsIDAuNDEpOwogICAgLS1sdW1vLXNoYWRlLTUwcGN0OiBoc2xhKDIxNCwgMjAlLCAxMCUsIDAuNSk7CiAgICAtLWx1bW8tc2hhZGUtNjBwY3Q6IGhzbGEoMjE0LCAyNCUsIDEyJSwgMC42KTsKICAgIC0tbHVtby1zaGFkZS03MHBjdDogaHNsYSgyMTQsIDI4JSwgMTMlLCAwLjcpOwogICAgLS1sdW1vLXNoYWRlLTgwcGN0OiBoc2xhKDIxNCwgMzIlLCAxMyUsIDAuOCk7CiAgICAtLWx1bW8tc2hhZGUtOTBwY3Q6IGhzbGEoMjE0LCAzMyUsIDEzJSwgMC45KTsKICAgIC0tbHVtby1zaGFkZTogaHNsKDIxNCwgMzMlLCAxMyUpOwoKICAgIC8qIENvbnRyYXN0ICovCiAgICAtLWx1bW8tY29udHJhc3QtNXBjdDogdmFyKC0tbHVtby10aW50LTVwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTEwcGN0OiB2YXIoLS1sdW1vLXRpbnQtMTBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTIwcGN0OiB2YXIoLS1sdW1vLXRpbnQtMjBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTMwcGN0OiB2YXIoLS1sdW1vLXRpbnQtMzBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTQwcGN0OiB2YXIoLS1sdW1vLXRpbnQtNDBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTUwcGN0OiB2YXIoLS1sdW1vLXRpbnQtNTBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTYwcGN0OiB2YXIoLS1sdW1vLXRpbnQtNjBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTcwcGN0OiB2YXIoLS1sdW1vLXRpbnQtNzBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTgwcGN0OiB2YXIoLS1sdW1vLXRpbnQtODBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0LTkwcGN0OiB2YXIoLS1sdW1vLXRpbnQtOTBwY3QpOwogICAgLS1sdW1vLWNvbnRyYXN0OiB2YXIoLS1sdW1vLXRpbnQpOwoKICAgIC8qIFRleHQgKi8KICAgIC0tbHVtby1oZWFkZXItdGV4dC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdCk7CiAgICAtLWx1bW8tYm9keS10ZXh0LWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTkwcGN0KTsKICAgIC0tbHVtby1zZWNvbmRhcnktdGV4dC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC03MHBjdCk7CiAgICAtLWx1bW8tdGVydGlhcnktdGV4dC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC01MHBjdCk7CiAgICAtLWx1bW8tZGlzYWJsZWQtdGV4dC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC0zMHBjdCk7CgogICAgLyogUHJpbWFyeSAqLwogICAgLS1sdW1vLXByaW1hcnktY29sb3I6IGhzbCgyMTQsIDg2JSwgNTUlKTsKICAgIC0tbHVtby1wcmltYXJ5LWNvbG9yLTUwcGN0OiBoc2xhKDIxNCwgODYlLCA1NSUsIDAuNSk7CiAgICAtLWx1bW8tcHJpbWFyeS1jb2xvci0xMHBjdDogaHNsYSgyMTQsIDkwJSwgNjMlLCAwLjEpOwogICAgLS1sdW1vLXByaW1hcnktdGV4dC1jb2xvcjogaHNsKDIxNCwgMTAwJSwgNzAlKTsKICAgIC0tbHVtby1wcmltYXJ5LWNvbnRyYXN0LWNvbG9yOiAjZmZmOwoKICAgIC8qIEVycm9yICovCiAgICAtLWx1bW8tZXJyb3ItY29sb3I6IGhzbCgzLCA5MCUsIDYzJSk7CiAgICAtLWx1bW8tZXJyb3ItY29sb3ItNTBwY3Q6IGhzbGEoMywgOTAlLCA2MyUsIDAuNSk7CiAgICAtLWx1bW8tZXJyb3ItY29sb3ItMTBwY3Q6IGhzbGEoMywgOTAlLCA2MyUsIDAuMSk7CiAgICAtLWx1bW8tZXJyb3ItdGV4dC1jb2xvcjogaHNsKDMsIDEwMCUsIDY3JSk7CgogICAgLyogU3VjY2VzcyAqLwogICAgLS1sdW1vLXN1Y2Nlc3MtY29sb3I6IGhzbCgxNDUsIDY1JSwgNDIlKTsKICAgIC0tbHVtby1zdWNjZXNzLWNvbG9yLTUwcGN0OiBoc2xhKDE0NSwgNjUlLCA0MiUsIDAuNSk7CiAgICAtLWx1bW8tc3VjY2Vzcy1jb2xvci0xMHBjdDogaHNsYSgxNDUsIDY1JSwgNDIlLCAwLjEpOwogICAgLS1sdW1vLXN1Y2Nlc3MtdGV4dC1jb2xvcjogaHNsKDE0NSwgODUlLCA0NyUpOwogIH0KCiAgaHRtbCB7CiAgICBjb2xvcjogdmFyKC0tbHVtby1ib2R5LXRleHQtY29sb3IpOwogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1iYXNlLWNvbG9yKTsKICB9CgogIFt0aGVtZX49J2RhcmsnXSB7CiAgICBjb2xvcjogdmFyKC0tbHVtby1ib2R5LXRleHQtY29sb3IpOwogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1iYXNlLWNvbG9yKTsKICB9CgogIGgxLAogIGgyLAogIGgzLAogIGg0LAogIGg1LAogIGg2IHsKICAgIGNvbG9yOiB2YXIoLS1sdW1vLWhlYWRlci10ZXh0LWNvbG9yKTsKICB9CgogIGEgewogICAgY29sb3I6IHZhcigtLWx1bW8tcHJpbWFyeS10ZXh0LWNvbG9yKTsKICB9CgogIGJsb2NrcXVvdGUgewogICAgY29sb3I6IHZhcigtLWx1bW8tc2Vjb25kYXJ5LXRleHQtY29sb3IpOwogIH0KCiAgY29kZSwKICBwcmUgewogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC0xMHBjdCk7CiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdW1vLWJvcmRlci1yYWRpdXMtbSk7CiAgfQpgLHttb2R1bGVJZDoibHVtby1jb2xvciJ9KTt0MXQoIiIsJFF0YAogIDpob3N0IHsKICAgIGNvbG9yOiB2YXIoLS1sdW1vLWJvZHktdGV4dC1jb2xvcikgIWltcG9ydGFudDsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx1bW8tYmFzZS1jb2xvcikgIWltcG9ydGFudDsKICB9CmAse21vZHVsZUlkOiJsdW1vLWNvbG9yLWxlZ2FjeSIsaW5jbHVkZTpbImx1bW8tY29sb3IiXX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLwpjb25zdCByMXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtyMXQuaW5uZXJIVE1MPSdcbiAgPHN0eWxlPlxuICAgIEBmb250LWZhY2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwnbHVtby1pY29uc1wnO1xuICAgICAgc3JjOiB1cmwoZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsZDA5R1JnQUJBQUFBQUJFY0FBc0FBQUFBSWl3QUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJIVTFWQ0FBQUJDQUFBQURzQUFBQlVJSXNsZWs5VEx6SUFBQUZFQUFBQVF3QUFBRlpBSVV1S1kyMWhjQUFBQVlnQUFBRDRBQUFEcnNDVThkNW5iSGxtQUFBQ2dBQUFDMk1BQUJkNGg5VG8yV2hsWVdRQUFBM2tBQUFBTUFBQUFEWmEvNlNzYUdobFlRQUFEaFFBQUFBZEFBQUFKQWJwQTM1b2JYUjRBQUFPTkFBQUFCQUFBQUNzcEJBQUFHeHZZMkVBQUE1RUFBQUFXQUFBQUZoNTVJQXNiV0Y0Y0FBQURwd0FBQUFmQUFBQUlBRktBWEJ1WVcxbEFBQU92QUFBQVRFQUFBSXVVVUpaQ0hCdmMzUUFBQS93QUFBQkt3QUFBZWxtOFN6VmVKeGpZR1JnWU9CaU1HQ3dZMkJ5Y2ZNSlllRExTU3pKWTVCaVlHR0FBSkE4TXBzeEp6TTlrWUVEeGdQS3NZQnBEaUJtZzRnQ0FDWTdCVWdBZUp4allHUyt5RGlCZ1pXQmdhbUthUThEQTBNUGhHWjh3R0RJeUFRVVpXQmxac0FLQXRKY1V4Z2NYakcrMG1JTytwL0ZFTVVjeERBTktNd0lrZ01BQm44TUxRQjRuTzNTV1c2RE1BQkYwVXR3Q0VuSVBNL3poTEs4THFoZlhSeWJTUDE0WFVZdEhWOWhHWVF3UUJOSW8zY1VJUGtoUWVNN3JpYjFla3FuWGc5ODFYdUMxcXZ5ODRsem9qbGVoM3B1eEwwaFBqR2pSVTQ3M3RlbG9FZWZBVU5Hakprd1pjYWNCVXRXck5td1pjZWVBMGRPbkxsdzVjYWRCMDllbFBHaEdmK2owTlRJLzY1S2ZYZXJUNkpocUtucFJLdGdPcHVxYVRydEtqUFVscUhtaHRvMjFJN3BMNmk2aGxxWTNxN3FHV3JmVUFlR09qVFVrYUdPRFhWaXFGTkRuUm5xM0ZBWGhybzAxSldocmcxMVk2aGJROTBaNnQ1UUQ0WjZOTlNUb1o0TjlXS29WME85R2VyZFVCK0cralRVbDZHV1J2a0wyNEJrRVhpY3RWaDliRnZWRmIvbnh2YnorN1JmL042ekhjZDJiQ2ZQK1dnYzFaOU4wanBObkVMNmtiUlZTNkhBMmhRWUdoOVRHUjFDYkNxYTJyWHJXT2tRRS9zSE5KZ210WnZvVk5acUUxQjFETkh4elRReENlaFVUWWlKVFF5RU51aTBxU0xlenIzUGR1eVFmZ21SV09mZGU4Kzk1NTF6N3Jubi9PNGpMb0ovYlJQMFVhS1FNTEZKanBCQXZwaExaQzNEazBvazdXQnpSMi91cEpzN1J5dy9uZkZibG4vdXVOL2FwQ3Z3cktMclN2VXFSdWZibTVwbjBmczB3NGdZeG5HVlA2cUhuTzRiV2lEUUdRZ3d0UzZsbTNsQjNRb1gxTTJ2d0VtdXppckYzOXkrRXMyK0RKOGQxcGt5cUJJcW96ZTNEMStaejREckZvYXp4SThkV3dNckRsWjJETXFRQVI5QVJPc0pVKzJjbWxUUGF6VGNvNTJGMXhUYTJhMitLOHZ2cTkyZFZIbXRMb1BlUVgvQVpQUllHdGhEWU9lWmpCaktvRnNWR3VsUjNsV1U5NVdlQ0s0NHFIVTdNaFdVR1VLWkRUM29LVWNHMkdXdWgrRUREZlVZQS9qaEFobDBUT3NKTllTRXU3bVFtaTNVemZYd1pLQTRCc1ZzSExYUVlHZ1JXOTV1RXRwSjFWZm45WGlMcmlSQmxGRXF4c0RqQTA5eUNOVW9ReHh3ZDdLV1NUdDJ5M0dUS2lmbHFIUlNvV1pjM20xMVdhL2ZKZEZnWEQ0c1NZZmxlSkJLZDhHTXo3SjhkWm4vY0dSQ2NLR0RuQTJHZTNmS3pjdmxuVEROdGhHV0xYelgvV2FYdFVBbVJnZUxsSFNyMzByMEc5VVRYTWIwQXRtd3pPb3k3M2ZrU2xIWmtkdXcvVFl1VTljQUQ0WXV0UG94VFRzQTM3OTd3VnI0Wi8xTkM1ekFSSHI0dnR4Smp4SWZpWk1oTWtiV2srMTRCbkpaS3dxR1p3RGZzd0x5eFdEU2cxMXJGTEpGN05vcHhqZDFoMS9RT1Qrb2V6Z2Z1M1lxK0hrK2R1ZjV4KzQwbzFHVGthSWdpa0svSUVuQzZhWXhDVUJhWkpTTjRYVFlGalUvWU1OSUtxSndoREdPQ0NJOEZEWG5YbVhqdEdoR0p5U2hxakFPbkJPa1cySkc5UzdHZ1llTVdBVTVKemhuV21CT2FPTStDS0VQb3FTZkZEQzJVbnErRExsVWdVVlVGRkxaR0pnNmp0bG9qc2RzYThrUE9iUHVKZGk1ZG5CZEJzTEpNR1RXRGE0dDJKdnR3dVBvOXMrWTg2c3V2L1czM1FHMXJBYU9BVVYrdng0SzZmMkQwNFBWS2xDN1dMU3JaekFpNDVaVjZsSUM3V29YcW1SeXZVcW9Wd3J6VW9Wc0lqZVRYV1F2K1JINUdUbEJYaUIvSW44bG4wSWJCQ0FGT2FqQUpyZ1pZeU9IV3FPZlVlL2FIakkxMlI2T1FvMWpDZ3QyMTVsKzRmNlhQYiswTU5vdTBWKzQzbjJGNzd0U2ZSYjI0ZDd6aXRnbkttdllIczY5enVnYVB2Qnd2NmlvWGtiMkxkTDY1QXR3NTF1TGtYbHUxYmhNTVJjWFNQY1lvcUtJUmxoMzRsUVA4LzVKYnVVRnllNHZ4RDYvNk14RkYxMUMwdVZMcjlVbGd3NDR0UzNwTVZpTkxVRXhieWNGZ0xJY3QrUURNaWJSaW14MXlkVXo4RlhaaXVPSURCT01WWDJuVVpjK2h1TkU1WFVKODF1aUpvaWFid3FhVkYwdWFjS2JhdS9wbDRSMlZXMFhYbEpyYTZib1ZyWUc2NDZURjVOWXp3eTR2akVOVnJEbGNOcFpQbDhESDZYWDhYV0N4MG12V1ZaWTZLRkxydnNZNjYvelBpY3Q1Rm54YU5VUi9qdXZaQ00zVHZENjBFMlcxdFppemJYVFBEdWFiY20wbmJienBXS3BtQTFheUJROGdpZWRMVU0rQTBrTmpCalFqbXVZejdZcmdJWFl2bUY2M1pMQndTWHJwbjlUYjl3d2RkL1UxSDBQTVFLM1hjTzh1bDNXVDdQeVBQZHB5MFRlbUt4TlJjSk5hdWlYSm5uVURwVXBwUVdzNFNuVUl5MEVFU0dZcUpZUUxHSHh6YUdXd1ZJYVM2WTdtUUZNOFpqWURRM2F4amY2MVNXalUzM0p3T1pBMXB3YUcxTDltemY3MWFIUmRYMUpIdzZGcDBhWGhOd2JxeWVHTmc0TmJkekdDQnhvejRaWGp5NE51NjlacjZzRFk2dk1yTFU1bkExUDhKa2JkV1hKNkVSZk1yeXZOaDFKZlE5K1Q0ZEloR3ZLOXczZHhqQkJ6YXRzUS9NbE9IVklEbllwRHo2b2RBWGxRMDF0MlBhNUlhZmQ4TU1weEFlREtQMEM2Q2pnVkxUNW9zQjZpY1V4MDFsV2pYeHpUL0d5UkYyd2VsRU01Wi83akczVmpRMVNyTm41SWJ5ek9HNWRvYkIzL1FIeHladnNYY296OElvRXdTN3BsQ2crenhIUWs0MjRxOUJmRXBrRVNKYkZIUXVzREJTV0ZrdUJrb1BPMGtMS3dSVllqeEdYbEhUY1REUU1KL0g2VFg5YWZrTzdtbnJhVE8xZmVUblpBWEx1NGNwN0hBWE1tTkcxeWVGazlUZ1MvTkhoWlIvNFFvQlRyL1pCKzZoQ2d5bDE1TnExVWJONm5FMS9ablAxVTJjaXpDQnB2czhjSlFaSjRMa1l4NU4veVpQQVVaTlFRMFY0ZjNCUWxsV3JLM1lSemwzMGRPVDZSVm4ydXBOdXI2d29TYThDcXBkVC9hS25CTTRvM2pOdXI5ZDl4cXRVVDZ2ZUJFdDlDYTlhdCtFUnpFRWhVa1I4c2E1bVE0YVZ2Sm9WZUVBOHpJNGVpNW1VTFhGR3lVN3ovNlRBZVlMVmNwelNXWlk4UFlZRjV5clRWNjBzVDArWFYxNDF2WCsrV2YxNlYyYkZlR1ZQWlh4RnBrdnllS1RXTGx6ZlcwbW5LeHNZNlkzMjk0LzA5OThTQ2ZYMWJsbTVwYmN2RkdscS9yMDdNUkFNaFlJRGlXNUpGS1dXM3ZkckVwQ3NaU0pHK29tN1p1L1BTU2NaSmhOa0xibVc1V3NyMTJwV3FXNXpLdGx3UlM0YkZPeFV3MTdtQ3p5Nmxza0NEbDFXWU9HV0RZckFEck1BN0JERHdlV1dOZDVrb2lKblIxZHoreXRMUDJxMFNxUEIxbG5LMmNjQjdSWWU0RlNvUGtzM2lCM3Q0dHhUU0hjdGIyc3kxaXZrMHB2SHVDTm02dzFmNnd4djMrT0NnTjc4THFkUW5VVmg3UjBvVEFwMHpPZjJyYlc3NzBWdTVDMmRJeUdkVG5Ibzh6U2ppN2RwcGowVVNvVkN6K2xoUk1UaDUzVGVxOVZiR2ZianVTYkFvb1NkWGF5WTRQWUhnMzc0QzZmN2dsMUIvRFh1SjQvUVh4T0JkSkZKc3BGc0kzZWdwb1dVVUNqbFRJRm5OWU5sK1p5WkttQmVZS0dIa0QxUXlEbGhhS2JLd0tjSUpxSjRUTEoyT21kWS9KV1hhZTREZEdCdzhIWjdlWGNnRkYyenIyU29hbERyeTVpS3FvYTBQdWhlM2hQUTJzM2VsVFlNK01JK24zckswS2dMNy9MYTNHZU1MdDZtN3U5MTJ2R252dE9SaUlhMHFCbWhxVmkrWFc5WE5CbXFiOGVWZ0t6SUhmR0k1Yk5vRzdYMFVDemVJU21xSWNPL25ZOEZIN1U4YXZYOWZ4L1NUK2h4MHNlelB3OVF5OE11bTNHV2YyTjRVeS95SVlHVkJYYkpIV0lacDdkZlRjcHRkTVRyOVFtcTdEYWlLL3VrcUNMNGt0NFJVZlM1WFBuTXRtVDIyL21RRnFGN2VtU3F0cmx1OFNWRWx4RFJKclpPRGtwdXdlMFZmVGZqZEVwMWY3QTd2K2Zvek5CWFVKLzZXVHVLMlR0RmxwRlZaQVozTGNGdlVpMVoycDJZVCtFTUFrR0pWU3RPekxUQVBnNElxV0lBbHpSU2pPQmtsMnp4ajNUS3ljcHpUL01udlgzdWFTTVdNK2dVMHJrWGpvaGhlZlZSTWFwczMva0xNU0t2MjNsVDIzdXhRcmtRanlPSmxlTURzZGhBbkQ2WkdFbFdaNU1qQ1h6Q0UvaGtXWCtXRjRrbnpHaFZPeUsyZVFaZWtWM2V5bzB6TDhrdVlXQ25EQ3ZqamhBa2NUUE9CRFhWZG9hdjNIVmNGblFqTHZ0VjlTMnAwekE2SmVnUHdNUXh0K3lGYjNsbDl6R2xxLzVkUktiM2NFeVFZb2FOWXBoYXJKN3hDQjdBV3hzTFkzampaWFkwWHNaajBXandjOUk2UFAvZEtBQm5DWmFxSHBhWkVBQ3hrNFplTFpTS05nWkFCbCtsWVFYMXNKUU9TWDNuNnI0MTBldmNvdWQ1SmVBR1VYVlA5SDF0Wk9LZWpUcTRPbm8wejBlcnJvMUZybk9wb2h2YTFkL2hUZHRWc1FkS041VzlSbFQzTmpEMG56bnlLTlRnS0FNZldOV2N5b2RWMElHTFBJSE9GMG80SnlxdWZhSzR6NldJSXp1R2gzZDhjOGN3UWc4RVIrT1Z4eXJqZG04dk51aHRzNExvT2loR3hJTXVVZGd6d2lZTjd4aGgxK29abkpOdVRHN2dRWnZ1NFhXWjlHQVpaakdFdWJ3ZVBxWWh0S0RUSCs5VlFrbDE3L2lHeWJzbkorOCtzS3R5UHJjbGw5dHk2NVpzZHN0LzlpcXBFS2g3TTVWZEJ4aDNjc09kTmM2dFczSTF1eU0xUHpPWGVnU09yTEZzRk5JMk8yN00rVEYyQXBuTjlNVXY1dWQ2TGp4SXZFUW5IUnp4SXU0SXNBOU1MRmtKbjJ0Y1pvWjdPTjdkWGU3dWpyYzhIcnVzUEthbWxxWHdkNzdsUVV1THBpbGF1NFBVTWFwdWVCYjdpclU0Um9VWEVZWHVWdUlHbFJHbU9wKzJsTmthUlBWemlPcW1sYVp2YXFHNGRGZ1NqMGp4RUpXcnYxMklVV250bXcrcmZRYXJSRTBBcGg0b2NJNm5sVWxHcXMrdTMvK1QvZXRoVzYyUHBIcDJlSGJac3RuaC93T085NXlEQUhpY1kyQmtZR0FBNHBtSjZRSHgvRFpmR2JpWlh3QkZHR3BVTnpRaTZQK3ZtYWN5M1FKeU9SaVlRS0lBTm9VTFZYaWNZMkJrWUdBTytwOEZKRjh3QUFIelZBWkdCbFNnRFFCVzlnTnZBQUFBZUp4allHQmdZSDR4TkRBQXp3UW1qd0FBQUFBQVRnQ2FBT2dCQ2dFc0FVNEJjQUdhQWNRQjdnSWFBcHdDNkFTYUJMd0UxZ1R5QlE0RktnVjZCZEFGL2daRUJtWUd0Z2NZQjVBSUdBaFNDR29JL2dsR0NiNEoyZ29FQ2p3S2dncTRDdkFMVUF1V0M3eDRuR05nWkdCZzBHWk1ZUkJsQUFFbUlPWUNRZ2FHLzJBK0F3QVlsQUc4QUhpY2JaRTlUc013R0liZjlBL1JTZ2dFWW1IeEFndHErak4yWkdqM0R0M1QxR2xUT1hIa3VCVzlBeWZnRUJ5Q2dUTndDQTdCVy9OSmxWQnR5ZC9qeCs4WEt3bUFhM3dod25GRTZJYjFPQnE0NE82UG02UWI0UmI1UWJpTkhoNkZPL1JENFM2ZU1SSHU0UmFhVDRoYWx6UjNlQlZ1NEFwdndrMzZkK0VXK1VPNGpYdDhDbmZvdjRXN1dPQkh1SWVuNk1Yc0N0dlBVMXZXYzczZW1jU2R4SWtXMnRXNUxkVW9IcDdrVEpmYUpWNnYxUEtnNnYxNjdIMm1NbWNMTmJXbDE4WllWVG03MWFtUE45NVhrOEVnRXgrbnRvREJEZ1VzK3NpUnNwYW9NZWY3cnVrTkVyaXppWE51d1M3SG1vZTl3Z2d4ditlNTVJekpNcVFUZU5ZVjAwc2N1TmJZOCtZeHJVZkdmY2FNWmIvQ05QUWUwNGJUMGxUaGJFdVQwc2ZZaEs2Sy8yM0FtZjNMeCtIMjRoY2o0R1NjQUFBQWVKeHRqdGx1Z3pBUVJia0pVRUpJdXUvN3ZxUjhsR05QQWNXeDBZQWI1ZS9Ma2xSOTZFZ2VuU3VmR1kwMzhQcUt2ZjlyaGdHRzhCRWd4QTRpakJCampBUVRUTEdMUGV6akFJYzR3akZPY0lvem5PTUNsN2pDTlc1d2l6dmM0d0dQZU1Jelh2Q0tON3pqQXpOOGVvblFSV1pTU2FZbWp2dWc2YXNlOThoRmx0ZXhNSm1tVk5tVjJXQnZkTmdaVWMrdWpBV3pYVzNVRG51MXc0M2FzU3RIYzhHcHpBWFgvcHkwanFUUVpKVGdrY3hKTHBhQ0YwbEQzMnhOdCs0M3RBc24yOURmdDAydURLUzJjakdVTmdzazI2cUsybEZ0aFlvVTI3SU5QcW1pRHFnNWdvZTBwcVI1cVNvcU1kZWsvQ1VaRnl3TDQ2ckVzaUltbGVxaXFvTXl0NGJhWGx1LzFHTGRORmY1emJjTm1kcjFZVVdDWmU0N28relVtYi9Eb1N0YnczY1ZzZWY5QUxqamlQUUEpIGZvcm1hdChcJ3dvZmZcJyk7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cblxuICAgIGh0bWwge1xuICAgICAgLS1sdW1vLWljb25zLWFsaWduLWNlbnRlcjogIlxcZWEwMSI7XG4gICAgICAtLWx1bW8taWNvbnMtYWxpZ24tbGVmdDogIlxcZWEwMiI7XG4gICAgICAtLWx1bW8taWNvbnMtYWxpZ24tcmlnaHQ6ICJcXGVhMDMiO1xuICAgICAgLS1sdW1vLWljb25zLWFuZ2xlLWRvd246ICJcXGVhMDQiO1xuICAgICAgLS1sdW1vLWljb25zLWFuZ2xlLWxlZnQ6ICJcXGVhMDUiO1xuICAgICAgLS1sdW1vLWljb25zLWFuZ2xlLXJpZ2h0OiAiXFxlYTA2IjtcbiAgICAgIC0tbHVtby1pY29ucy1hbmdsZS11cDogIlxcZWEwNyI7XG4gICAgICAtLWx1bW8taWNvbnMtYXJyb3ctZG93bjogIlxcZWEwOCI7XG4gICAgICAtLWx1bW8taWNvbnMtYXJyb3ctbGVmdDogIlxcZWEwOSI7XG4gICAgICAtLWx1bW8taWNvbnMtYXJyb3ctcmlnaHQ6ICJcXGVhMGEiO1xuICAgICAgLS1sdW1vLWljb25zLWFycm93LXVwOiAiXFxlYTBiIjtcbiAgICAgIC0tbHVtby1pY29ucy1iYXItY2hhcnQ6ICJcXGVhMGMiO1xuICAgICAgLS1sdW1vLWljb25zLWJlbGw6ICJcXGVhMGQiO1xuICAgICAgLS1sdW1vLWljb25zLWNhbGVuZGFyOiAiXFxlYTBlIjtcbiAgICAgIC0tbHVtby1pY29ucy1jaGVja21hcms6ICJcXGVhMGYiO1xuICAgICAgLS1sdW1vLWljb25zLWNoZXZyb24tZG93bjogIlxcZWExMCI7XG4gICAgICAtLWx1bW8taWNvbnMtY2hldnJvbi1sZWZ0OiAiXFxlYTExIjtcbiAgICAgIC0tbHVtby1pY29ucy1jaGV2cm9uLXJpZ2h0OiAiXFxlYTEyIjtcbiAgICAgIC0tbHVtby1pY29ucy1jaGV2cm9uLXVwOiAiXFxlYTEzIjtcbiAgICAgIC0tbHVtby1pY29ucy1jbG9jazogIlxcZWExNCI7XG4gICAgICAtLWx1bW8taWNvbnMtY29nOiAiXFxlYTE1IjtcbiAgICAgIC0tbHVtby1pY29ucy1jcm9zczogIlxcZWExNiI7XG4gICAgICAtLWx1bW8taWNvbnMtZG93bmxvYWQ6ICJcXGVhMTciO1xuICAgICAgLS1sdW1vLWljb25zLWRyb3Bkb3duOiAiXFxlYTE4IjtcbiAgICAgIC0tbHVtby1pY29ucy1lZGl0OiAiXFxlYTE5IjtcbiAgICAgIC0tbHVtby1pY29ucy1lcnJvcjogIlxcZWExYSI7XG4gICAgICAtLWx1bW8taWNvbnMtZXllOiAiXFxlYTFiIjtcbiAgICAgIC0tbHVtby1pY29ucy1leWUtZGlzYWJsZWQ6ICJcXGVhMWMiO1xuICAgICAgLS1sdW1vLWljb25zLW1lbnU6ICJcXGVhMWQiO1xuICAgICAgLS1sdW1vLWljb25zLW1pbnVzOiAiXFxlYTFlIjtcbiAgICAgIC0tbHVtby1pY29ucy1vcmRlcmVkLWxpc3Q6ICJcXGVhMWYiO1xuICAgICAgLS1sdW1vLWljb25zLXBob25lOiAiXFxlYTIwIjtcbiAgICAgIC0tbHVtby1pY29ucy1waG90bzogIlxcZWEyMSI7XG4gICAgICAtLWx1bW8taWNvbnMtcGxheTogIlxcZWEyMiI7XG4gICAgICAtLWx1bW8taWNvbnMtcGx1czogIlxcZWEyMyI7XG4gICAgICAtLWx1bW8taWNvbnMtcmVkbzogIlxcZWEyNCI7XG4gICAgICAtLWx1bW8taWNvbnMtcmVsb2FkOiAiXFxlYTI1IjtcbiAgICAgIC0tbHVtby1pY29ucy1zZWFyY2g6ICJcXGVhMjYiO1xuICAgICAgLS1sdW1vLWljb25zLXVuZG86ICJcXGVhMjciO1xuICAgICAgLS1sdW1vLWljb25zLXVub3JkZXJlZC1saXN0OiAiXFxlYTI4IjtcbiAgICAgIC0tbHVtby1pY29ucy11cGxvYWQ6ICJcXGVhMjkiO1xuICAgICAgLS1sdW1vLWljb25zLXVzZXI6ICJcXGVhMmEiO1xuICAgIH1cbiAgPC9zdHlsZT5cbicsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChyMXQuY29udGVudCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovCmNvbnN0IG8xdD0kUXRgCiAgOmhvc3QgewogICAgLS1sdW1vLXNpemUteHM6IDEuNjI1cmVtOwogICAgLS1sdW1vLXNpemUtczogMS44NzVyZW07CiAgICAtLWx1bW8tc2l6ZS1tOiAyLjI1cmVtOwogICAgLS1sdW1vLXNpemUtbDogMi43NXJlbTsKICAgIC0tbHVtby1zaXplLXhsOiAzLjVyZW07CgogICAgLyogSWNvbnMgKi8KICAgIC0tbHVtby1pY29uLXNpemUtczogMS4yNWVtOwogICAgLS1sdW1vLWljb24tc2l6ZS1tOiAxLjVlbTsKICAgIC0tbHVtby1pY29uLXNpemUtbDogMi4yNWVtOwogICAgLyogRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5ICovCiAgICAtLWx1bW8taWNvbi1zaXplOiB2YXIoLS1sdW1vLWljb24tc2l6ZS1tKTsKICB9CmAsYTF0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIik7YTF0LmlubmVySFRNTD1gPHN0eWxlPiR7bzF0LnRvU3RyaW5nKCkucmVwbGFjZSgiOmhvc3QiLCJodG1sIil9PC9zdHlsZT5gLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYTF0LmNvbnRlbnQpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLwpjb25zdCBzMXQ9JFF0YAogIDpob3N0IHsKICAgIC8qIFNxdWFyZSAqLwogICAgLS1sdW1vLXNwYWNlLXhzOiAwLjI1cmVtOwogICAgLS1sdW1vLXNwYWNlLXM6IDAuNXJlbTsKICAgIC0tbHVtby1zcGFjZS1tOiAxcmVtOwogICAgLS1sdW1vLXNwYWNlLWw6IDEuNXJlbTsKICAgIC0tbHVtby1zcGFjZS14bDogMi41cmVtOwoKICAgIC8qIFdpZGUgKi8KICAgIC0tbHVtby1zcGFjZS13aWRlLXhzOiBjYWxjKHZhcigtLWx1bW8tc3BhY2UteHMpIC8gMikgdmFyKC0tbHVtby1zcGFjZS14cyk7CiAgICAtLWx1bW8tc3BhY2Utd2lkZS1zOiBjYWxjKHZhcigtLWx1bW8tc3BhY2UtcykgLyAyKSB2YXIoLS1sdW1vLXNwYWNlLXMpOwogICAgLS1sdW1vLXNwYWNlLXdpZGUtbTogY2FsYyh2YXIoLS1sdW1vLXNwYWNlLW0pIC8gMikgdmFyKC0tbHVtby1zcGFjZS1tKTsKICAgIC0tbHVtby1zcGFjZS13aWRlLWw6IGNhbGModmFyKC0tbHVtby1zcGFjZS1sKSAvIDIpIHZhcigtLWx1bW8tc3BhY2UtbCk7CiAgICAtLWx1bW8tc3BhY2Utd2lkZS14bDogY2FsYyh2YXIoLS1sdW1vLXNwYWNlLXhsKSAvIDIpIHZhcigtLWx1bW8tc3BhY2UteGwpOwoKICAgIC8qIFRhbGwgKi8KICAgIC0tbHVtby1zcGFjZS10YWxsLXhzOiB2YXIoLS1sdW1vLXNwYWNlLXhzKSBjYWxjKHZhcigtLWx1bW8tc3BhY2UteHMpIC8gMik7CiAgICAtLWx1bW8tc3BhY2UtdGFsbC1zOiB2YXIoLS1sdW1vLXNwYWNlLXMpIGNhbGModmFyKC0tbHVtby1zcGFjZS1zKSAvIDIpOwogICAgLS1sdW1vLXNwYWNlLXRhbGwtbTogdmFyKC0tbHVtby1zcGFjZS1tKSBjYWxjKHZhcigtLWx1bW8tc3BhY2UtbSkgLyAyKTsKICAgIC0tbHVtby1zcGFjZS10YWxsLWw6IHZhcigtLWx1bW8tc3BhY2UtbCkgY2FsYyh2YXIoLS1sdW1vLXNwYWNlLWwpIC8gMik7CiAgICAtLWx1bW8tc3BhY2UtdGFsbC14bDogdmFyKC0tbHVtby1zcGFjZS14bCkgY2FsYyh2YXIoLS1sdW1vLXNwYWNlLXhsKSAvIDIpOwogIH0KYCxsMXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtsMXQuaW5uZXJIVE1MPWA8c3R5bGU+JHtzMXQudG9TdHJpbmcoKS5yZXBsYWNlKCI6aG9zdCIsImh0bWwiKX08L3N0eWxlPmAsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChsMXQuY29udGVudCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovCmNvbnN0IGMxdD0kUXRgCiAgOmhvc3QgewogICAgLyogQm9yZGVyIHJhZGl1cyAqLwogICAgLS1sdW1vLWJvcmRlci1yYWRpdXMtczogMC4yNWVtOyAvKiBDaGVja2JveCwgYmFkZ2UsIGRhdGUtcGlja2VyIHllYXIgaW5kaWNhdG9yLCBldGMgKi8KICAgIC0tbHVtby1ib3JkZXItcmFkaXVzLW06IHZhcigtLWx1bW8tYm9yZGVyLXJhZGl1cywgMC4yNWVtKTsgLyogQnV0dG9uLCB0ZXh0IGZpZWxkLCBtZW51IG92ZXJsYXksIGV0YyAqLwogICAgLS1sdW1vLWJvcmRlci1yYWRpdXMtbDogMC41ZW07IC8qIERpYWxvZywgbm90aWZpY2F0aW9uLCBldGMgKi8KICAgIC0tbHVtby1ib3JkZXItcmFkaXVzOiAwLjI1ZW07IC8qIERlcHJlY2F0ZWQgKi8KCiAgICAvKiBTaGFkb3cgKi8KICAgIC0tbHVtby1ib3gtc2hhZG93LXhzOiAwIDFweCA0cHggLTFweCB2YXIoLS1sdW1vLXNoYWRlLTUwcGN0KTsKICAgIC0tbHVtby1ib3gtc2hhZG93LXM6IDAgMnB4IDRweCAtMXB4IHZhcigtLWx1bW8tc2hhZGUtMjBwY3QpLCAwIDNweCAxMnB4IC0xcHggdmFyKC0tbHVtby1zaGFkZS0zMHBjdCk7CiAgICAtLWx1bW8tYm94LXNoYWRvdy1tOiAwIDJweCA2cHggLTFweCB2YXIoLS1sdW1vLXNoYWRlLTIwcGN0KSwgMCA4cHggMjRweCAtNHB4IHZhcigtLWx1bW8tc2hhZGUtNDBwY3QpOwogICAgLS1sdW1vLWJveC1zaGFkb3ctbDogMCAzcHggMThweCAtMnB4IHZhcigtLWx1bW8tc2hhZGUtMjBwY3QpLCAwIDEycHggNDhweCAtNnB4IHZhcigtLWx1bW8tc2hhZGUtNDBwY3QpOwogICAgLS1sdW1vLWJveC1zaGFkb3cteGw6IDAgNHB4IDI0cHggLTNweCB2YXIoLS1sdW1vLXNoYWRlLTIwcGN0KSwgMCAxOHB4IDY0cHggLThweCB2YXIoLS1sdW1vLXNoYWRlLTQwcGN0KTsKCiAgICAvKiBDbGlja2FibGUgZWxlbWVudCBjdXJzb3IgKi8KICAgIC0tbHVtby1jbGlja2FibGUtY3Vyc29yOiBkZWZhdWx0OwogIH0KYCx1MXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTt1MXQuaW5uZXJIVE1MPWA8c3R5bGU+JHtjMXQudG9TdHJpbmcoKS5yZXBsYWNlKCI6aG9zdCIsImh0bWwiKX08L3N0eWxlPmAsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCh1MXQuY29udGVudCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovCmNvbnN0IGgxdD0kUXRgCiAgOmhvc3QgewogICAgLyogcHJldHRpZXItaWdub3JlICovCiAgICAtLWx1bW8tZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1JvYm90bycsICdTZWdvZSBVSScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsICdBcHBsZSBDb2xvciBFbW9qaScsICdTZWdvZSBVSSBFbW9qaScsICdTZWdvZSBVSSBTeW1ib2wnOwoKICAgIC8qIEZvbnQgc2l6ZXMgKi8KICAgIC0tbHVtby1mb250LXNpemUteHhzOiAwLjc1cmVtOwogICAgLS1sdW1vLWZvbnQtc2l6ZS14czogMC44MTI1cmVtOwogICAgLS1sdW1vLWZvbnQtc2l6ZS1zOiAwLjg3NXJlbTsKICAgIC0tbHVtby1mb250LXNpemUtbTogMXJlbTsKICAgIC0tbHVtby1mb250LXNpemUtbDogMS4xMjVyZW07CiAgICAtLWx1bW8tZm9udC1zaXplLXhsOiAxLjM3NXJlbTsKICAgIC0tbHVtby1mb250LXNpemUteHhsOiAxLjc1cmVtOwogICAgLS1sdW1vLWZvbnQtc2l6ZS14eHhsOiAyLjVyZW07CgogICAgLyogTGluZSBoZWlnaHRzICovCiAgICAtLWx1bW8tbGluZS1oZWlnaHQteHM6IDEuMjU7CiAgICAtLWx1bW8tbGluZS1oZWlnaHQtczogMS4zNzU7CiAgICAtLWx1bW8tbGluZS1oZWlnaHQtbTogMS42MjU7CiAgfQpgLGQxdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIpO2QxdC5pbm5lckhUTUw9YDxzdHlsZT4ke2gxdC50b1N0cmluZygpLnJlcGxhY2UoIjpob3N0IiwiaHRtbCIpfTwvc3R5bGU+YCxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGQxdC5jb250ZW50KTt0MXQoIiIsJFF0YAogIGh0bWwgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWx1bW8tZm9udC1mYW1pbHkpOwogICAgZm9udC1zaXplOiB2YXIoLS1sdW1vLWZvbnQtc2l6ZSwgdmFyKC0tbHVtby1mb250LXNpemUtbSkpOwogICAgbGluZS1oZWlnaHQ6IHZhcigtLWx1bW8tbGluZS1oZWlnaHQtbSk7CiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgfQoKICAvKiBDYW7igJl0IGNvbWJpbmUgd2l0aCB0aGUgYWJvdmUgc2VsZWN0b3IgYmVjYXVzZSB0aGF0IGRvZXNu4oCZdCB3b3JrIGluIGJyb3dzZXJzIHdpdGhvdXQgbmF0aXZlIHNoYWRvdyBkb20gKi8KICA6aG9zdCB7CiAgICBmb250LWZhbWlseTogdmFyKC0tbHVtby1mb250LWZhbWlseSk7CiAgICBmb250LXNpemU6IHZhcigtLWx1bW8tZm9udC1zaXplLCB2YXIoLS1sdW1vLWZvbnQtc2l6ZS1tKSk7CiAgICBsaW5lLWhlaWdodDogdmFyKC0tbHVtby1saW5lLWhlaWdodC1tKTsKICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsKICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICB9CgogIHNtYWxsLAogIFt0aGVtZX49J2ZvbnQtc2l6ZS1zJ10gewogICAgZm9udC1zaXplOiB2YXIoLS1sdW1vLWZvbnQtc2l6ZS1zKTsKICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1sdW1vLWxpbmUtaGVpZ2h0LXMpOwogIH0KCiAgW3RoZW1lfj0nZm9udC1zaXplLXhzJ10gewogICAgZm9udC1zaXplOiB2YXIoLS1sdW1vLWZvbnQtc2l6ZS14cyk7CiAgICBsaW5lLWhlaWdodDogdmFyKC0tbHVtby1saW5lLWhlaWdodC14cyk7CiAgfQoKICBoMSwKICBoMiwKICBoMywKICBoNCwKICBoNSwKICBoNiB7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGluZS1oZWlnaHQ6IHZhcigtLWx1bW8tbGluZS1oZWlnaHQteHMpOwogICAgbWFyZ2luLXRvcDogMS4yNWVtOwogIH0KCiAgaDEgewogICAgZm9udC1zaXplOiB2YXIoLS1sdW1vLWZvbnQtc2l6ZS14eHhsKTsKICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTsKICB9CgogIGgyIHsKICAgIGZvbnQtc2l6ZTogdmFyKC0tbHVtby1mb250LXNpemUteHhsKTsKICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOwogIH0KCiAgaDMgewogICAgZm9udC1zaXplOiB2YXIoLS1sdW1vLWZvbnQtc2l6ZS14bCk7CiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsKICB9CgogIGg0IHsKICAgIGZvbnQtc2l6ZTogdmFyKC0tbHVtby1mb250LXNpemUtbCk7CiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsKICB9CgogIGg1IHsKICAgIGZvbnQtc2l6ZTogdmFyKC0tbHVtby1mb250LXNpemUtbSk7CiAgICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07CiAgfQoKICBoNiB7CiAgICBmb250LXNpemU6IHZhcigtLWx1bW8tZm9udC1zaXplLXhzKTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTsKICB9CgogIHAsCiAgYmxvY2txdW90ZSB7CiAgICBtYXJnaW4tdG9wOiAwLjVlbTsKICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTsKICB9CgogIGEgewogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIH0KCiAgYTpob3ZlciB7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9CgogIGhyIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgYWxpZ24tc2VsZjogc3RyZXRjaDsKICAgIGhlaWdodDogMXB4OwogICAgYm9yZGVyOiAwOwogICAgcGFkZGluZzogMDsKICAgIG1hcmdpbjogdmFyKC0tbHVtby1zcGFjZS1zKSBjYWxjKHZhcigtLWx1bW8tYm9yZGVyLXJhZGl1cy1tKSAvIDIpOwogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC0xMHBjdCk7CiAgfQoKICBibG9ja3F1b3RlIHsKICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdmFyKC0tbHVtby1jb250cmFzdC0zMHBjdCk7CiAgfQoKICBiLAogIHN0cm9uZyB7CiAgICBmb250LXdlaWdodDogNjAwOwogIH0KCiAgLyogUlRMIHNwZWNpZmljIHN0eWxlcyAqLwoKICBibG9ja3F1b3RlW2Rpcj0ncnRsJ10gewogICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB2YXIoLS1sdW1vLWNvbnRyYXN0LTMwcGN0KTsKICB9CmAse21vZHVsZUlkOiJsdW1vLXR5cG9ncmFwaHkifSksdDF0KCJ2YWFkaW4tY2hlY2tib3giLCRRdGAKICAgIDpob3N0IHsKICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgb3V0bGluZTogbm9uZTsKICAgIH0KCiAgICBbcGFydD0nbGFiZWwnXTpub3QoW2VtcHR5XSkgewogICAgICBtYXJnaW46IDAuMTg3NWVtIDAuODc1ZW0gMC4xODc1ZW0gMC4zNzVlbTsKICAgIH0KCiAgICBbcGFydD0nY2hlY2tib3gnXSB7CiAgICAgIHdpZHRoOiBjYWxjKDFlbSArIDJweCk7CiAgICAgIGhlaWdodDogY2FsYygxZW0gKyAycHgpOwogICAgICBtYXJnaW46IDAuMTg3NWVtOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWx1bW8tYm9yZGVyLXJhZGl1cy1zKTsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC0yMHBjdCk7CiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjEyLCAwLjMyLCAwLjU0LCAyKSwgYmFja2dyb3VuZC1jb2xvciAwLjE1czsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICB9CgogICAgOmhvc3QoW2luZGV0ZXJtaW5hdGVdKSBbcGFydD0nY2hlY2tib3gnXSwKICAgIDpob3N0KFtjaGVja2VkXSkgW3BhcnQ9J2NoZWNrYm94J10gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdW1vLXByaW1hcnktY29sb3IpOwogICAgfQoKICAgIC8qIE5lZWRlZCB0byBhbGlnbiB0aGUgY2hlY2tib3ggbmljZWx5IG9uIHRoZSBiYXNlbGluZSAqLwogICAgW3BhcnQ9J2NoZWNrYm94J106OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICdcXDIwMDMnOwogICAgfQoKICAgIC8qIENoZWNrbWFyayAqLwogICAgW3BhcnQ9J2NoZWNrYm94J106OmFmdGVyIHsKICAgICAgY29udGVudDogJyc7CiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgd2lkdGg6IDA7CiAgICAgIGhlaWdodDogMDsKICAgICAgYm9yZGVyOiAwIHNvbGlkIHZhcigtLWx1bW8tcHJpbWFyeS1jb250cmFzdC1jb2xvcik7CiAgICAgIGJvcmRlci13aWR0aDogMC4xODc1ZW0gMCAwIDAuMTg3NWVtOwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwLjgxMjVlbTsKICAgICAgbGVmdDogMC41ZW07CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41NSkgcm90YXRlKC0xMzVkZWcpOwogICAgICBvcGFjaXR5OiAwOwogICAgfQoKICAgIDpob3N0KFtjaGVja2VkXSkgW3BhcnQ9J2NoZWNrYm94J106OmFmdGVyIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgd2lkdGg6IDAuNjI1ZW07CiAgICAgIGhlaWdodDogMS4wNjI1ZW07CiAgICB9CgogICAgLyogSW5kZXRlcm1pbmF0ZSBjaGVja21hcmsgKi8KICAgIDpob3N0KFtpbmRldGVybWluYXRlXSkgW3BhcnQ9J2NoZWNrYm94J106OmFmdGVyIHsKICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICBvcGFjaXR5OiAxOwogICAgICB0b3A6IDQ1JTsKICAgICAgaGVpZ2h0OiAxMCU7CiAgICAgIGxlZnQ6IDIyJTsKICAgICAgcmlnaHQ6IDIyJTsKICAgICAgd2lkdGg6IGF1dG87CiAgICAgIGJvcmRlcjogMDsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1wcmltYXJ5LWNvbnRyYXN0LWNvbG9yKTsKICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1czsKICAgIH0KCiAgICAvKiBGb2N1cyByaW5nICovCiAgICA6aG9zdChbZm9jdXMtcmluZ10pIFtwYXJ0PSdjaGVja2JveCddIHsKICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWx1bW8tcHJpbWFyeS1jb2xvci01MHBjdCk7CiAgICB9CgogICAgLyogRGlzYWJsZWQgKi8KICAgIDpob3N0KFtkaXNhYmxlZF0pIHsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIGNvbG9yOiB2YXIoLS1sdW1vLWRpc2FibGVkLXRleHQtY29sb3IpOwogICAgfQoKICAgIDpob3N0KFtkaXNhYmxlZF0pIFtwYXJ0PSdsYWJlbCddIDo6c2xvdHRlZCgqKSB7CiAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgfQoKICAgIDpob3N0KFtkaXNhYmxlZF0pIFtwYXJ0PSdjaGVja2JveCddIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC0xMHBjdCk7CiAgICB9CgogICAgOmhvc3QoW2Rpc2FibGVkXSkgW3BhcnQ9J2NoZWNrYm94J106OmFmdGVyIHsKICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTMwcGN0KTsKICAgIH0KCiAgICA6aG9zdChbaW5kZXRlcm1pbmF0ZV1bZGlzYWJsZWRdKSBbcGFydD0nY2hlY2tib3gnXTo6YWZ0ZXIgewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTMwcGN0KTsKICAgIH0KCiAgICAvKiBSVEwgc3BlY2lmaWMgc3R5bGVzICovCiAgICA6aG9zdChbZGlyPSdydGwnXSkgW3BhcnQ9J2xhYmVsJ106bm90KFtlbXB0eV0pIHsKICAgICAgbWFyZ2luOiAwLjE4NzVlbSAwLjM3NWVtIDAuMTg3NWVtIDAuODc1ZW07CiAgICB9CgogICAgLyogVHJhbnNpdGlvbiB0aGUgY2hlY2ttYXJrIGlmIGFjdGl2YXRlZCB3aXRoIHRoZSBtb3VzZSAoZGlzYWJsZWQgZm9yIGdyaWQgc2VsZWN0LWFsbCB0aGlzIHdheSkgKi8KICAgIDpob3N0KDpob3ZlcikgW3BhcnQ9J2NoZWNrYm94J106OmFmdGVyIHsKICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4xcywgaGVpZ2h0IDAuMjVzOwogICAgfQoKICAgIC8qIFVzZWQgZm9yIGFjdGl2YXRpb24gImhhbG8iICovCiAgICBbcGFydD0nY2hlY2tib3gnXTo6YmVmb3JlIHsKICAgICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTsKICAgICAgb3BhY2l0eTogMDsKICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMsIG9wYWNpdHkgMC44czsKICAgIH0KCiAgICAvKiBIb3ZlciAqLwogICAgOmhvc3QoOm5vdChbY2hlY2tlZF0pOm5vdChbaW5kZXRlcm1pbmF0ZV0pOm5vdChbZGlzYWJsZWRdKTpob3ZlcikgW3BhcnQ9J2NoZWNrYm94J10gewogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTMwcGN0KTsKICAgIH0KCiAgICAvKiBEaXNhYmxlIGhvdmVyIGZvciB0b3VjaCBkZXZpY2VzICovCiAgICBAbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkgewogICAgICA6aG9zdCg6bm90KFtjaGVja2VkXSk6bm90KFtpbmRldGVybWluYXRlXSk6bm90KFtkaXNhYmxlZF0pOmhvdmVyKSBbcGFydD0nY2hlY2tib3gnXSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1jb250cmFzdC0yMHBjdCk7CiAgICAgIH0KICAgIH0KCiAgICAvKiBBY3RpdmUgKi8KICAgIDpob3N0KFthY3RpdmVdKSBbcGFydD0nY2hlY2tib3gnXSB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTsKICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wNXM7CiAgICB9CgogICAgOmhvc3QoW2FjdGl2ZV1bY2hlY2tlZF0pIFtwYXJ0PSdjaGVja2JveCddIHsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogICAgfQoKICAgIDpob3N0KFthY3RpdmVdOm5vdChbY2hlY2tlZF0pKSBbcGFydD0nY2hlY2tib3gnXTo6YmVmb3JlIHsKICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMXMsIDAuMDFzOwogICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgICBvcGFjaXR5OiAwLjQ7CiAgICB9CiAgYCx7bW9kdWxlSWQ6Imx1bW8tY2hlY2tib3gifSk7Y29uc3QgcDF0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57dGhlbWU6e3R5cGU6U3RyaW5nLHJlYWRPbmx5OiEwfX19YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHQsZSxuKXtzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4pLCJ0aGVtZSI9PT10JiZ0aGlzLl9zZXRUaGVtZShuKX19LGYxdD10PT5jbGFzcyBleHRlbmRzKHAxdCh0KSl7c3RhdGljIGZpbmFsaXplKCl7c3VwZXIuZmluYWxpemUoKTtjb25zdCB0PXRoaXMucHJvdG90eXBlLl90ZW1wbGF0ZSxlPU9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzLnByb3RvdHlwZSkuX3RlbXBsYXRlO2UmJkFycmF5LmZyb20oZS5jb250ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInN0eWxlW2luY2x1ZGVdIikpLmZvckVhY2goKGU9Pnt0aGlzLl9pbmNsdWRlU3R5bGUoZS5nZXRBdHRyaWJ1dGUoImluY2x1ZGUiKSx0KX0pKSx0aGlzLl9pbmNsdWRlTWF0Y2hpbmdUaGVtZXModCl9c3RhdGljIF9pbmNsdWRlTWF0Y2hpbmdUaGVtZXModCl7Y29uc3QgZT1CLnByb3RvdHlwZS5tb2R1bGVzO2xldCBuPSExO2NvbnN0IGk9dGhpcy5pcysiLWRlZmF1bHQtdGhlbWUiO09iamVjdC5rZXlzKGUpLnNvcnQoKCh0LGUpPT57Y29uc3Qgbj0wPT09dC5pbmRleE9mKCJ2YWFkaW4tIiksaT0wPT09ZS5pbmRleE9mKCJ2YWFkaW4tIikscj1bImx1bW8tIiwibWF0ZXJpYWwtIl0sbz1yLmZpbHRlcigoZT0+MD09PXQuaW5kZXhPZihlKSkpLmxlbmd0aD4wLGE9ci5maWx0ZXIoKHQ9PjA9PT1lLmluZGV4T2YodCkpKS5sZW5ndGg+MDtyZXR1cm4gbiE9PWk/bj8tMToxOm8hPT1hP28/LTE6MTowfSkpLmZvckVhY2goKHI9PntpZihyIT09aSl7Y29uc3QgaT1lW3JdLmdldEF0dHJpYnV0ZSgidGhlbWUtZm9yIik7aSYmaS5zcGxpdCgiICIpLmZvckVhY2goKGU9PntuZXcgUmVnRXhwKCJeIitlLnNwbGl0KCIqIikuam9pbigiLioiKSsiJCIpLnRlc3QodGhpcy5pcykmJihuPSEwLHRoaXMuX2luY2x1ZGVTdHlsZShyLHQpKX0pKX19KSksIW4mJmVbaV0mJnRoaXMuX2luY2x1ZGVTdHlsZShpLHQpfXN0YXRpYyBfaW5jbHVkZVN0eWxlKHQsZSl7aWYoZSYmIWUuY29udGVudC5xdWVyeVNlbGVjdG9yKGBzdHlsZVtpbmNsdWRlPSIke3R9Il1gKSl7Y29uc3Qgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO24uc2V0QXR0cmlidXRlKCJpbmNsdWRlIix0KSxlLmNvbnRlbnQuYXBwZW5kQ2hpbGQobil9fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi87bGV0IG0xdD0hMTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKCgpPT57bTF0PSEwfSkse2NhcHR1cmU6ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwoKCk9PnttMXQ9ITF9KSx7Y2FwdHVyZTohMH0pO2NvbnN0IGcxdD10PT5jbGFzcyBleHRlbmRzKCh0PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue3RhYmluZGV4Ont0eXBlOk51bWJlcix2YWx1ZTowLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxvYnNlcnZlcjoiX3RhYmluZGV4Q2hhbmdlZCJ9fX19KSh0KSl7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue2F1dG9mb2N1czp7dHlwZTpCb29sZWFufSxfcHJldmlvdXNUYWJJbmRleDp7dHlwZTpOdW1iZXJ9LGRpc2FibGVkOnt0eXBlOkJvb2xlYW4sb2JzZXJ2ZXI6Il9kaXNhYmxlZENoYW5nZWQiLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0sX2lzU2hpZnRUYWJiaW5nOnt0eXBlOkJvb2xlYW59fX1yZWFkeSgpe3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsKHQ9Pnt0LmNvbXBvc2VkUGF0aCgpWzBdPT09dGhpcz90aGlzLmNvbnRhaW5zKHQucmVsYXRlZFRhcmdldCl8fHRoaXMuX2ZvY3VzKCk6LTE9PT10LmNvbXBvc2VkUGF0aCgpLmluZGV4T2YodGhpcy5mb2N1c0VsZW1lbnQpfHx0aGlzLmRpc2FibGVkfHx0aGlzLl9zZXRGb2N1c2VkKCEwKX0pKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IiwoKCk9PnRoaXMuX3NldEZvY3VzZWQoITEpKSksc3VwZXIucmVhZHkoKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCh0PT57IXQuZGVmYXVsdFByZXZlbnRlZCYmOT09PXQua2V5Q29kZSYmdC5zaGlmdEtleSYmKHRoaXMuX2lzU2hpZnRUYWJiaW5nPSEwLEhUTUxFbGVtZW50LnByb3RvdHlwZS5mb2N1cy5hcHBseSh0aGlzKSx0aGlzLl9zZXRGb2N1c2VkKCExKSxzZXRUaW1lb3V0KCgoKT0+dGhpcy5faXNTaGlmdFRhYmJpbmc9ITEpLDApKX0pKSx0aGlzLmF1dG9mb2N1cyYmIXRoaXMuZGlzYWJsZWQmJndpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57dGhpcy5fZm9jdXMoKSx0aGlzLl9zZXRGb2N1c2VkKCEwKSx0aGlzLnNldEF0dHJpYnV0ZSgiZm9jdXMtcmluZyIsIiIpfSkpfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmhhc0F0dHJpYnV0ZSgiZm9jdXNlZCIpJiZ0aGlzLl9zZXRGb2N1c2VkKCExKX1fc2V0Rm9jdXNlZCh0KXt0P3RoaXMuc2V0QXR0cmlidXRlKCJmb2N1c2VkIiwiIik6dGhpcy5yZW1vdmVBdHRyaWJ1dGUoImZvY3VzZWQiKSx0JiZtMXQ/dGhpcy5zZXRBdHRyaWJ1dGUoImZvY3VzLXJpbmciLCIiKTp0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiZm9jdXMtcmluZyIpfWdldCBmb2N1c0VsZW1lbnQoKXtyZXR1cm4gd2luZG93LmNvbnNvbGUud2FybihgUGxlYXNlIGltcGxlbWVudCB0aGUgJ2ZvY3VzRWxlbWVudCcgcHJvcGVydHkgaW4gPCR7dGhpcy5sb2NhbE5hbWV9PmApLHRoaXN9X2ZvY3VzKCl7dGhpcy5mb2N1c0VsZW1lbnQmJiF0aGlzLl9pc1NoaWZ0VGFiYmluZyYmKHRoaXMuZm9jdXNFbGVtZW50LmZvY3VzKCksdGhpcy5fc2V0Rm9jdXNlZCghMCkpfWZvY3VzKCl7dGhpcy5mb2N1c0VsZW1lbnQmJiF0aGlzLmRpc2FibGVkJiYodGhpcy5mb2N1c0VsZW1lbnQuZm9jdXMoKSx0aGlzLl9zZXRGb2N1c2VkKCEwKSl9Ymx1cigpe3RoaXMuZm9jdXNFbGVtZW50JiYodGhpcy5mb2N1c0VsZW1lbnQuYmx1cigpLHRoaXMuX3NldEZvY3VzZWQoITEpKX1fZGlzYWJsZWRDaGFuZ2VkKHQpe3RoaXMuZm9jdXNFbGVtZW50LmRpc2FibGVkPXQsdD8odGhpcy5ibHVyKCksdGhpcy5fcHJldmlvdXNUYWJJbmRleD10aGlzLnRhYmluZGV4LHRoaXMudGFiaW5kZXg9LTEsdGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIikpOih2b2lkIDAhPT10aGlzLl9wcmV2aW91c1RhYkluZGV4JiYodGhpcy50YWJpbmRleD10aGlzLl9wcmV2aW91c1RhYkluZGV4KSx0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIpKX1fdGFiaW5kZXhDaGFuZ2VkKHQpe3ZvaWQgMCE9PXQmJih0aGlzLmZvY3VzRWxlbWVudC50YWJJbmRleD10KSx0aGlzLmRpc2FibGVkJiZ0aGlzLnRhYmluZGV4JiYoLTEhPT10aGlzLnRhYmluZGV4JiYodGhpcy5fcHJldmlvdXNUYWJJbmRleD10aGlzLnRhYmluZGV4KSx0aGlzLnRhYmluZGV4PXQ9dm9pZCAwKX1jbGljaygpe3RoaXMuZGlzYWJsZWR8fHN1cGVyLmNsaWNrKCl9fSxfMXQ9L1wvXCpcKlxzK3ZhYWRpbi1kZXYtbW9kZTpzdGFydChbXHNcU10qKXZhYWRpbi1kZXYtbW9kZTplbmRccytcKlwqXC8vaSx5MXQ9d2luZG93LlZhYWRpbiYmd2luZG93LlZhYWRpbi5GbG93JiZ3aW5kb3cuVmFhZGluLkZsb3cuY2xpZW50cztmdW5jdGlvbiB2MXQodCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdClyZXR1cm47Y29uc3Qgbj1fMXQuZXhlYyh0LnRvU3RyaW5nKCkpO2lmKG4pdHJ5e3Q9bmV3IEZ1bmN0aW9uKG5bMV0pfWNhdGNoKHQpe2NvbnNvbGUubG9nKCJ2YWFkaW4tZGV2ZWxvcG1lbnQtbW9kZS1kZXRlY3RvcjogdW5jb21tZW50QW5kUnVuKCkgZmFpbGVkIix0KX1yZXR1cm4gdChlKX13aW5kb3cuVmFhZGluPXdpbmRvdy5WYWFkaW58fHt9O2NvbnN0IGIxdD1mdW5jdGlvbih0LGUpe2lmKHdpbmRvdy5WYWFkaW4uZGV2ZWxvcG1lbnRNb2RlKXJldHVybiB2MXQodCxlKX07ZnVuY3Rpb24geDF0KCl7fXZvaWQgMD09PXdpbmRvdy5WYWFkaW4uZGV2ZWxvcG1lbnRNb2RlJiYod2luZG93LlZhYWRpbi5kZXZlbG9wbWVudE1vZGU9KGZ1bmN0aW9uIHcxdCgpe3RyeXtyZXR1cm4hIShmdW5jdGlvbiB0KCl7cmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJ2YWFkaW4uZGV2ZWxvcG1lbnRtb2RlLmZvcmNlIil9KSgpfHwhIShmdW5jdGlvbiBlKCl7cmV0dXJuWyJsb2NhbGhvc3QiLCIxMjcuMC4wLjEiXS5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk+PTB9KSgpJiYoeTF0PyEoZnVuY3Rpb24gbigpe3JldHVybiEhKHkxdCYmT2JqZWN0LmtleXMoeTF0KS5tYXAoKHQ9PnkxdFt0XSkpLmZpbHRlcigodD0+dC5wcm9kdWN0aW9uTW9kZSkpLmxlbmd0aD4wKX0pKCk6IShmdW5jdGlvbiBpKCl7cmV0dXJuIHYxdCgoZnVuY3Rpb24gdCgpe3JldHVybiEwfSkpfSkoKSl9Y2F0Y2godCl7cmV0dXJuITF9fSkoKSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovCmNsYXNzIFMxdHtzdGF0aWMgZGV0ZWN0U2Nyb2xsVHlwZSgpe2NvbnN0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC50ZXh0Q29udGVudD0iQUJDRCIsdC5kaXI9InJ0bCIsdC5zdHlsZS5mb250U2l6ZT0iMTRweCIsdC5zdHlsZS53aWR0aD0iNHB4Iix0LnN0eWxlLmhlaWdodD0iMXB4Iix0LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdC5zdHlsZS50b3A9Ii0xMDAwcHgiLHQuc3R5bGUub3ZlcmZsb3c9InNjcm9sbCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KTtsZXQgZT0icmV2ZXJzZSI7cmV0dXJuIHQuc2Nyb2xsTGVmdD4wP2U9ImRlZmF1bHQiOih0LnNjcm9sbExlZnQ9Mix0LnNjcm9sbExlZnQ8MiYmKGU9Im5lZ2F0aXZlIikpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCksZX1zdGF0aWMgZ2V0Tm9ybWFsaXplZFNjcm9sbExlZnQodCxlLG4pe2NvbnN0e3Njcm9sbExlZnQ6aX09bjtpZigicnRsIiE9PWV8fCF0KXJldHVybiBpO3N3aXRjaCh0KXtjYXNlIm5lZ2F0aXZlIjpyZXR1cm4gbi5zY3JvbGxXaWR0aC1uLmNsaWVudFdpZHRoK2k7Y2FzZSJyZXZlcnNlIjpyZXR1cm4gbi5zY3JvbGxXaWR0aC1uLmNsaWVudFdpZHRoLWl9cmV0dXJuIGl9c3RhdGljIHNldE5vcm1hbGl6ZWRTY3JvbGxMZWZ0KHQsZSxuLGkpe2lmKCJydGwiPT09ZSYmdClzd2l0Y2godCl7Y2FzZSJuZWdhdGl2ZSI6bi5zY3JvbGxMZWZ0PW4uY2xpZW50V2lkdGgtbi5zY3JvbGxXaWR0aCtpO2JyZWFrO2Nhc2UicmV2ZXJzZSI6bi5zY3JvbGxMZWZ0PW4uc2Nyb2xsV2lkdGgtbi5jbGllbnRXaWR0aC1pO2JyZWFrO2RlZmF1bHQ6bi5zY3JvbGxMZWZ0PWl9ZWxzZSBuLnNjcm9sbExlZnQ9aX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovY29uc3QgTTF0PVtdO2xldCBFMXQ7bmV3IE11dGF0aW9uT2JzZXJ2ZXIoKGZ1bmN0aW9uKCl7Y29uc3QgdD1DMXQoKTtNMXQuZm9yRWFjaCgoZT0+e1QxdChlLHQpfSkpfSkpLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHthdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbImRpciJdfSk7Y29uc3QgVDF0PWZ1bmN0aW9uKHQsZSxuPXQuZ2V0QXR0cmlidXRlKCJkaXIiKSl7ZT90LnNldEF0dHJpYnV0ZSgiZGlyIixlKTpudWxsIT1uJiZ0LnJlbW92ZUF0dHJpYnV0ZSgiZGlyIil9LEMxdD1mdW5jdGlvbigpe3JldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkaXIiKX0sQTF0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57ZGlyOnt0eXBlOlN0cmluZyx2YWx1ZToiIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9fX1zdGF0aWMgZmluYWxpemUoKXtzdXBlci5maW5hbGl6ZSgpLEUxdHx8KEUxdD1TMXQuZGV0ZWN0U2Nyb2xsVHlwZSgpKX1jb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5oYXNBdHRyaWJ1dGUoImRpciIpfHwodGhpcy5fX3N1YnNjcmliZSgpLFQxdCh0aGlzLEMxdCgpLG51bGwpKX1hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4pe2lmKHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LGUsbiksImRpciIhPT10KXJldHVybjtjb25zdCBpPUMxdCgpLHI9bj09PWkmJi0xPT09TTF0LmluZGV4T2YodGhpcyksbz0hbiYmZSYmLTE9PT1NMXQuaW5kZXhPZih0aGlzKSxhPW4hPT1pJiZlPT09aTtyfHxvPyh0aGlzLl9fc3Vic2NyaWJlKCksVDF0KHRoaXMsaSxuKSk6YSYmdGhpcy5fX3N1YnNjcmliZSghMSl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuX19zdWJzY3JpYmUoITEpLHRoaXMucmVtb3ZlQXR0cmlidXRlKCJkaXIiKX1fdmFsdWVUb05vZGVBdHRyaWJ1dGUodCxlLG4peygiZGlyIiE9PW58fCIiIT09ZXx8dC5oYXNBdHRyaWJ1dGUoImRpciIpKSYmc3VwZXIuX3ZhbHVlVG9Ob2RlQXR0cmlidXRlKHQsZSxuKX1fYXR0cmlidXRlVG9Qcm9wZXJ0eSh0LGUsbil7ImRpciIhPT10fHxlP3N1cGVyLl9hdHRyaWJ1dGVUb1Byb3BlcnR5KHQsZSxuKTp0aGlzLmRpcj0iIn1fX3N1YnNjcmliZSh0PSEwKXt0Py0xPT09TTF0LmluZGV4T2YodGhpcykmJk0xdC5wdXNoKHRoaXMpOk0xdC5pbmRleE9mKHRoaXMpPi0xJiZNMXQuc3BsaWNlKE0xdC5pbmRleE9mKHRoaXMpLDEpfV9fZ2V0Tm9ybWFsaXplZFNjcm9sbExlZnQodCl7cmV0dXJuIFMxdC5nZXROb3JtYWxpemVkU2Nyb2xsTGVmdChFMXQsdGhpcy5nZXRBdHRyaWJ1dGUoImRpciIpfHwibHRyIix0KX1fX3NldE5vcm1hbGl6ZWRTY3JvbGxMZWZ0KHQsZSl7cmV0dXJuIFMxdC5zZXROb3JtYWxpemVkU2Nyb2xsTGVmdChFMXQsdGhpcy5nZXRBdHRyaWJ1dGUoImRpciIpfHwibHRyIix0LGUpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi87bGV0IGsxdDt3aW5kb3cuVmFhZGluPXdpbmRvdy5WYWFkaW58fHt9LHdpbmRvdy5WYWFkaW4ucmVnaXN0cmF0aW9ucz13aW5kb3cuVmFhZGluLnJlZ2lzdHJhdGlvbnN8fFtdLHdpbmRvdy5WYWFkaW4uZGV2ZWxvcG1lbnRNb2RlQ2FsbGJhY2s9d2luZG93LlZhYWRpbi5kZXZlbG9wbWVudE1vZGVDYWxsYmFja3x8e30sd2luZG93LlZhYWRpbi5kZXZlbG9wbWVudE1vZGVDYWxsYmFja1sidmFhZGluLXVzYWdlLXN0YXRpc3RpY3MiXT1mdW5jdGlvbigpe2IxdCh4MXQpfTtjb25zdCBMMXQ9bmV3IFNldCxQMXQ9dD0+Y2xhc3MgZXh0ZW5kcyhBMXQodCkpe3N0YXRpYyBmaW5hbGl6ZSgpe3N1cGVyLmZpbmFsaXplKCk7Y29uc3R7aXM6dH09dGhpczt0JiYhTDF0Lmhhcyh0KSYmKHdpbmRvdy5WYWFkaW4ucmVnaXN0cmF0aW9ucy5wdXNoKHRoaXMpLEwxdC5hZGQodCksd2luZG93LlZhYWRpbi5kZXZlbG9wbWVudE1vZGVDYWxsYmFjayYmKGsxdD1Obi5kZWJvdW5jZShrMXQseXQsKCgpPT57d2luZG93LlZhYWRpbi5kZXZlbG9wbWVudE1vZGVDYWxsYmFja1sidmFhZGluLXVzYWdlLXN0YXRpc3RpY3MiXSgpfSkpLFJuKGsxdCkpKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksbnVsbD09PWRvY3VtZW50LmRvY3R5cGUmJmNvbnNvbGUud2FybignVmFhZGluIGNvbXBvbmVudHMgcmVxdWlyZSB0aGUgInN0YW5kYXJkcyBtb2RlIiBkZWNsYXJhdGlvbi4gUGxlYXNlIGFkZCA8IURPQ1RZUEUgaHRtbD4gdG8gdGhlIEhUTUwgZG9jdW1lbnQuJyl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLztjbGFzcyBOMXQgZXh0ZW5kcyhQMXQoZzF0KGYxdChiaSh3ZSkpKSkpe3N0YXRpYyBnZXQgdGVtcGxhdGUoKXtyZXR1cm4geGVgCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgfQoKICAgICAgICA6aG9zdChbaGlkZGVuXSkgewogICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICAgIH0KCiAgICAgICAgbGFiZWwgewogICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIH0KCiAgICAgICAgW3BhcnQ9J2NoZWNrYm94J10gewogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgZmxleDogbm9uZTsKICAgICAgICB9CgogICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10gewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgdG9wOiAwOwogICAgICAgICAgbGVmdDogMDsKICAgICAgICAgIHJpZ2h0OiAwOwogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgY3Vyc29yOiBpbmhlcml0OwogICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIH0KCiAgICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgewogICAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CgogICAgICA8bGFiZWw+CiAgICAgICAgPHNwYW4gcGFydD0iY2hlY2tib3giPgogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIHR5cGU9ImNoZWNrYm94IgogICAgICAgICAgICBjaGVja2VkPSJ7e2NoZWNrZWQ6OmNoYW5nZX19IgogICAgICAgICAgICBkaXNhYmxlZCQ9IltbZGlzYWJsZWRdXSIKICAgICAgICAgICAgaW5kZXRlcm1pbmF0ZT0ie3tpbmRldGVybWluYXRlOjpjaGFuZ2V9fSIKICAgICAgICAgICAgcm9sZT0icHJlc2VudGF0aW9uIgogICAgICAgICAgICB0YWJpbmRleD0iLTEiCiAgICAgICAgICAvPgogICAgICAgIDwvc3Bhbj4KCiAgICAgICAgPHNwYW4gcGFydD0ibGFiZWwiPgogICAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICAgIDwvc3Bhbj4KICAgICAgPC9sYWJlbD4KICAgIGB9c3RhdGljIGdldCBpcygpe3JldHVybiJ2YWFkaW4tY2hlY2tib3gifXN0YXRpYyBnZXQgdmVyc2lvbigpe3JldHVybiIyMC4wLjIifXN0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybntjaGVja2VkOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITEsbm90aWZ5OiEwLG9ic2VydmVyOiJfY2hlY2tlZENoYW5nZWQiLHJlZmxlY3RUb0F0dHJpYnV0ZTohMH0saW5kZXRlcm1pbmF0ZTp7dHlwZTpCb29sZWFuLG5vdGlmeTohMCxvYnNlcnZlcjoiX2luZGV0ZXJtaW5hdGVDaGFuZ2VkIixyZWZsZWN0VG9BdHRyaWJ1dGU6ITAsdmFsdWU6ITF9LHZhbHVlOnt0eXBlOlN0cmluZyx2YWx1ZToib24ifSxfbmF0aXZlQ2hlY2tib3g6e3R5cGU6T2JqZWN0fX19Y29uc3RydWN0b3IoKXtzdXBlcigpfWdldCBuYW1lKCl7cmV0dXJuIHRoaXMuY2hlY2tlZD90aGlzLl9zdG9yZWROYW1lOiIifXNldCBuYW1lKHQpe3RoaXMuX3N0b3JlZE5hbWU9dH1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5zZXRBdHRyaWJ1dGUoInJvbGUiLCJjaGVja2JveCIpLHRoaXMuX25hdGl2ZUNoZWNrYm94PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCdpbnB1dFt0eXBlPSJjaGVja2JveCJdJyksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5faGFuZGxlQ2xpY2suYmluZCh0aGlzKSksdGhpcy5fYWRkQWN0aXZlTGlzdGVuZXJzKCk7Y29uc3QgdD10aGlzLmdldEF0dHJpYnV0ZSgibmFtZSIpO3QmJih0aGlzLm5hbWU9dCksdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ1twYXJ0fj0ibGFiZWwiXScpLnF1ZXJ5U2VsZWN0b3IoInNsb3QiKS5hZGRFdmVudExpc3RlbmVyKCJzbG90Y2hhbmdlIix0aGlzLl91cGRhdGVMYWJlbEF0dHJpYnV0ZS5iaW5kKHRoaXMpKSx0aGlzLl91cGRhdGVMYWJlbEF0dHJpYnV0ZSgpfV91cGRhdGVMYWJlbEF0dHJpYnV0ZSgpe2NvbnN0IHQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ1twYXJ0fj0ibGFiZWwiXScpLGU9dC5maXJzdEVsZW1lbnRDaGlsZC5hc3NpZ25lZE5vZGVzKCk7dGhpcy5faXNBc3NpZ25lZE5vZGVzRW1wdHkoZSk/dC5zZXRBdHRyaWJ1dGUoImVtcHR5IiwiIik6dC5yZW1vdmVBdHRyaWJ1dGUoImVtcHR5Iil9X2lzQXNzaWduZWROb2Rlc0VtcHR5KHQpe3JldHVybiAwPT09dC5sZW5ndGh8fDE9PXQubGVuZ3RoJiZ0WzBdLm5vZGVUeXBlPT1Ob2RlLlRFWFRfTk9ERSYmIiI9PT10WzBdLnRleHRDb250ZW50LnRyaW0oKX1fY2hlY2tlZENoYW5nZWQodCl7dGhpcy5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsdGhpcy5pbmRldGVybWluYXRlPyJtaXhlZCI6Qm9vbGVhbih0KSl9X2luZGV0ZXJtaW5hdGVDaGFuZ2VkKHQpe3RoaXMuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLHQ/Im1peGVkIjp0aGlzLmNoZWNrZWQpfV9hZGRBY3RpdmVMaXN0ZW5lcnMoKXt0aGlzLl9hZGRFdmVudExpc3RlbmVyVG9Ob2RlKHRoaXMsImRvd24iLCh0PT57dGhpcy5fX2ludGVyYWN0aW9uc0FsbG93ZWQodCkmJnRoaXMuc2V0QXR0cmlidXRlKCJhY3RpdmUiLCIiKX0pKSx0aGlzLl9hZGRFdmVudExpc3RlbmVyVG9Ob2RlKHRoaXMsInVwIiwoKCk9PnRoaXMucmVtb3ZlQXR0cmlidXRlKCJhY3RpdmUiKSkpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKHQ9Pnt0aGlzLl9faW50ZXJhY3Rpb25zQWxsb3dlZCh0KSYmMzI9PT10LmtleUNvZGUmJih0LnByZXZlbnREZWZhdWx0KCksdGhpcy5zZXRBdHRyaWJ1dGUoImFjdGl2ZSIsIiIpKX0pKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIiwodD0+e3RoaXMuX19pbnRlcmFjdGlvbnNBbGxvd2VkKHQpJiYzMj09PXQua2V5Q29kZSYmKHQucHJldmVudERlZmF1bHQoKSx0aGlzLl90b2dnbGVDaGVja2VkKCksdGhpcy5yZW1vdmVBdHRyaWJ1dGUoImFjdGl2ZSIpLHRoaXMuaW5kZXRlcm1pbmF0ZSYmKHRoaXMuaW5kZXRlcm1pbmF0ZT0hMSkpfSkpfWdldCBmb2N1c0VsZW1lbnQoKXtyZXR1cm4gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImlucHV0Iil9X19pbnRlcmFjdGlvbnNBbGxvd2VkKHQpe3JldHVybiF0aGlzLmRpc2FibGVkJiYiYSIhPT10LnRhcmdldC5sb2NhbE5hbWV9X2hhbmRsZUNsaWNrKHQpe3RoaXMuX19pbnRlcmFjdGlvbnNBbGxvd2VkKHQpJiYodGhpcy5pbmRldGVybWluYXRlPyh0aGlzLmluZGV0ZXJtaW5hdGU9ITEsdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX3RvZ2dsZUNoZWNrZWQoKSk6dC5jb21wb3NlZFBhdGgoKVswXSE9PXRoaXMuX25hdGl2ZUNoZWNrYm94JiYodC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX3RvZ2dsZUNoZWNrZWQoKSkpfV90b2dnbGVDaGVja2VkKCl7dGhpcy5jaGVja2VkPSF0aGlzLmNoZWNrZWQsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2hhbmdlIix7Y29tcG9zZWQ6ITEsYnViYmxlczohMH0pKX19Y3VzdG9tRWxlbWVudHMuZGVmaW5lKE4xdC5pcyxOMXQpLHQxdCgidmFhZGluLWdyaWQiLCRRdGAKICAgIDpob3N0IHsKICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWx1bW8tZm9udC1mYW1pbHkpOwogICAgICBmb250LXNpemU6IHZhcigtLWx1bW8tZm9udC1zaXplLW0pOwogICAgICBsaW5lLWhlaWdodDogdmFyKC0tbHVtby1saW5lLWhlaWdodC1zKTsKICAgICAgY29sb3I6IHZhcigtLWx1bW8tYm9keS10ZXh0LWNvbG9yKTsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1iYXNlLWNvbG9yKTsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOwogICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKCiAgICAgIC8qIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqLwogICAgICAtLV9sdW1vLWdyaWQtYm9yZGVyLWNvbG9yOiB2YXIoLS1sdW1vLWNvbnRyYXN0LTIwcGN0KTsKICAgICAgLS1fbHVtby1ncmlkLXNlY29uZGFyeS1ib3JkZXItY29sb3I6IHZhcigtLWx1bW8tY29udHJhc3QtMTBwY3QpOwogICAgICAtLV9sdW1vLWdyaWQtYm9yZGVyLXdpZHRoOiAxcHg7CiAgICAgIC0tX2x1bW8tZ3JpZC1zZWxlY3RlZC1yb3ctY29sb3I6IHZhcigtLWx1bW8tcHJpbWFyeS1jb2xvci0xMHBjdCk7CiAgICB9CgogICAgLyogTm8gKG91dGVyKSBib3JkZXIgKi8KCiAgICA6aG9zdCg6bm90KFt0aGVtZX49J25vLWJvcmRlciddKSkgewogICAgICBib3JkZXI6IHZhcigtLV9sdW1vLWdyaWQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1fbHVtby1ncmlkLWJvcmRlci1jb2xvcik7CiAgICB9CgogICAgLyogQ2VsbCBzdHlsZXMgKi8KCiAgICBbcGFydH49J2NlbGwnXSB7CiAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWx1bW8tc2l6ZS1tKTsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHVtby1iYXNlLWNvbG9yKTsKICAgIH0KCiAgICBbcGFydH49J2NlbGwnXSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgcGFkZGluZzogdmFyKC0tbHVtby1zcGFjZS14cykgdmFyKC0tbHVtby1zcGFjZS1tKTsKICAgIH0KCiAgICAvKiBBcHBseSByb3cgYm9yZGVycyBieSBkZWZhdWx0IGFuZCBpbnRyb2R1Y2UgdGhlICJuby1yb3ctYm9yZGVycyIgdmFyaWFudCAqLwogICAgOmhvc3QoOm5vdChbdGhlbWV+PSduby1yb3ctYm9yZGVycyddKSkgW3BhcnR+PSdjZWxsJ106bm90KFtwYXJ0fj0nZGV0YWlscy1jZWxsJ10pIHsKICAgICAgYm9yZGVyLXRvcDogdmFyKC0tX2x1bW8tZ3JpZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLV9sdW1vLWdyaWQtc2Vjb25kYXJ5LWJvcmRlci1jb2xvcik7CiAgICB9CgogICAgLyogSGlkZSBmaXJzdCBib2R5IHJvdyB0b3AgYm9yZGVyICovCiAgICA6aG9zdCg6bm90KFt0aGVtZX49J25vLXJvdy1ib3JkZXJzJ10pKSBbcGFydD0ncm93J11bZmlyc3RdIFtwYXJ0fj0nY2VsbCddOm5vdChbcGFydH49J2RldGFpbHMtY2VsbCddKSB7CiAgICAgIGJvcmRlci10b3A6IDA7CiAgICAgIG1pbi1oZWlnaHQ6IGNhbGModmFyKC0tbHVtby1zaXplLW0pIC0gdmFyKC0tX2x1bW8tZ3JpZC1ib3JkZXItd2lkdGgpKTsKICAgIH0KCiAgICAvKiBGb2N1cy1yaW5nICovCgogICAgW3BhcnR+PSdjZWxsJ106Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgfQoKICAgIDpob3N0KFtuYXZpZ2F0aW5nXSkgW3BhcnR+PSdjZWxsJ106Zm9jdXM6OmJlZm9yZSB7CiAgICAgIGNvbnRlbnQ6ICcnOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIGJvdHRvbTogMDsKICAgICAgbGVmdDogMDsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB2YXIoLS1sdW1vLXByaW1hcnktY29sb3ItNTBwY3QpOwogICAgfQoKICAgIC8qIERyYWcgYW5kIERyb3Agc3R5bGVzICovCiAgICA6aG9zdChbZHJhZ292ZXJdKTo6YWZ0ZXIgewogICAgICBjb250ZW50OiAnJzsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB6LWluZGV4OiAxMDA7CiAgICAgIHRvcDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIGJvdHRvbTogMDsKICAgICAgbGVmdDogMDsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCB2YXIoLS1sdW1vLXByaW1hcnktY29sb3ItNTBwY3QpOwogICAgfQoKICAgIFtwYXJ0fj0ncm93J11bZHJhZ292ZXJdIHsKICAgICAgei1pbmRleDogMTAwICFpbXBvcnRhbnQ7CiAgICB9CgogICAgW3BhcnR+PSdyb3cnXVtkcmFnb3Zlcl0gW3BhcnR+PSdjZWxsJ10gewogICAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgIH0KCiAgICBbcGFydH49J3JvdyddW2RyYWdvdmVyXSBbcGFydH49J2NlbGwnXTo6YWZ0ZXIgewogICAgICBjb250ZW50OiAnJzsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDA7CiAgICAgIHJpZ2h0OiAwOwogICAgICBib3R0b206IDA7CiAgICAgIGxlZnQ6IDA7CiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1fbHVtby1ncmlkLWJvcmRlci13aWR0aCkgKyAycHgpOwogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tbHVtby1wcmltYXJ5LWNvbG9yLTUwcGN0KTsKICAgIH0KCiAgICA6aG9zdChbdGhlbWV+PSduby1yb3ctYm9yZGVycyddKSBbZHJhZ292ZXJdIFtwYXJ0fj0nY2VsbCddOjphZnRlciB7CiAgICAgIGhlaWdodDogMnB4OwogICAgfQoKICAgIFtwYXJ0fj0ncm93J11bZHJhZ292ZXI9J2JlbG93J10gW3BhcnR+PSdjZWxsJ106OmFmdGVyIHsKICAgICAgdG9wOiAxMDAlOwogICAgICBib3R0b206IGF1dG87CiAgICAgIG1hcmdpbi10b3A6IC0xcHg7CiAgICB9CgogICAgW3BhcnR+PSdyb3cnXVtkcmFnb3Zlcj0nYWJvdmUnXSBbcGFydH49J2NlbGwnXTo6YWZ0ZXIgewogICAgICB0b3A6IGF1dG87CiAgICAgIGJvdHRvbTogMTAwJTsKICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDsKICAgIH0KCiAgICBbcGFydH49J3JvdyddW2RldGFpbHMtb3BlbmVkXVtkcmFnb3Zlcj0nYmVsb3cnXSBbcGFydH49J2NlbGwnXTpub3QoW3BhcnR+PSdkZXRhaWxzLWNlbGwnXSk6OmFmdGVyLAogICAgW3BhcnR+PSdyb3cnXVtkZXRhaWxzLW9wZW5lZF1bZHJhZ292ZXI9J2Fib3ZlJ10gW3BhcnR+PSdkZXRhaWxzLWNlbGwnXTo6YWZ0ZXIgewogICAgICBkaXNwbGF5OiBub25lOwogICAgfQoKICAgIFtwYXJ0fj0ncm93J11bZHJhZ292ZXJdW2RyYWdvdmVyPSdvbi10b3AnXSBbcGFydH49J2NlbGwnXTo6YWZ0ZXIgewogICAgICBoZWlnaHQ6IDEwMCU7CiAgICB9CgogICAgW3BhcnR+PSdyb3cnXVtkcmFnc3RhcnRdIHsKICAgICAgLyogQWRkIGJvdHRvbS1zcGFjZSB0byB0aGUgcm93IHNvIHRoZSBkcmFnIG51bWJlciBkb2Vzbid0IGdldCBjbGlwcGVkLiBOZWVkZWQgZm9yIElFL0VkZ2UgKi8KICAgICAgYm9yZGVyLWJvdHRvbTogMTAwcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgIHotaW5kZXg6IDEwMCAhaW1wb3J0YW50OwogICAgICBvcGFjaXR5OiAwLjk7CiAgICB9CgogICAgW3BhcnR+PSdyb3cnXVtkcmFnc3RhcnRdIFtwYXJ0fj0nY2VsbCddIHsKICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7CiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICBbcGFydH49J3JvdyddW2RyYWdzdGFydF0gW3BhcnR+PSdjZWxsJ11bbGFzdC1jb2x1bW5dIHsKICAgICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1sdW1vLWJvcmRlci1yYWRpdXMtcykgdmFyKC0tbHVtby1ib3JkZXItcmFkaXVzLXMpIDA7CiAgICB9CgogICAgW3BhcnR+PSdyb3cnXVtkcmFnc3RhcnRdIFtwYXJ0fj0nY2VsbCddW2ZpcnN0LWNvbHVtbl0gewogICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdW1vLWJvcmRlci1yYWRpdXMtcykgMCAwIHZhcigtLWx1bW8tYm9yZGVyLXJhZGl1cy1zKTsKICAgIH0KCiAgICBbaW9zXSBbcGFydH49J3JvdyddW2RyYWdzdGFydF0gW3BhcnR+PSdjZWxsJ10gewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1sdW1vLXByaW1hcnktY29sb3ItNTBwY3QpOwogICAgfQoKICAgICNzY3JvbGxlcjpub3QoW2lvc10pIFtwYXJ0fj0ncm93J11bZHJhZ3N0YXJ0XTpub3QoW2RyYWdzdGFydD0nJ10pOjphZnRlciB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGxlZnQ6IHZhcigtLV9ncmlkLWRyYWctc3RhcnQteCk7CiAgICAgIHRvcDogdmFyKC0tX2dyaWQtZHJhZy1zdGFydC15KTsKICAgICAgei1pbmRleDogMTAwOwogICAgICBjb250ZW50OiBhdHRyKGRyYWdzdGFydCk7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWx1bW8tc3BhY2UteHMpICogMC44KTsKICAgICAgY29sb3I6IHZhcigtLWx1bW8tZXJyb3ItY29udHJhc3QtY29sb3IpOwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdW1vLWVycm9yLWNvbG9yKTsKICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbHVtby1ib3JkZXItcmFkaXVzLW0pOwogICAgICBmb250LWZhbWlseTogdmFyKC0tbHVtby1mb250LWZhbWlseSk7CiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbHVtby1mb250LXNpemUteHhzKTsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsOwogICAgICBsZXR0ZXItc3BhY2luZzogaW5pdGlhbDsKICAgICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLWx1bW8tc2l6ZS1zKSAqIDAuNyk7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIH0KCiAgICAvKiBIZWFkZXJzIGFuZCBmb290ZXJzICovCgogICAgW3BhcnR+PSdoZWFkZXItY2VsbCddIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpLAogICAgW3BhcnR+PSdmb290ZXItY2VsbCddIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpLAogICAgW3BhcnR+PSdyZW9yZGVyLWdob3N0J10gewogICAgICBmb250LXNpemU6IHZhcigtLWx1bW8tZm9udC1zaXplLXMpOwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQoKICAgIFtwYXJ0fj0nZm9vdGVyLWNlbGwnXSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICB9CgogICAgW3BhcnQ9J3JvdyddOm9ubHktY2hpbGQgW3BhcnR+PSdoZWFkZXItY2VsbCddIHsKICAgICAgbWluLWhlaWdodDogdmFyKC0tbHVtby1zaXplLXhsKTsKICAgIH0KCiAgICAvKiBIZWFkZXIgYm9yZGVycyAqLwoKICAgIC8qIEhpZGUgZmlyc3QgaGVhZGVyIHJvdyB0b3AgYm9yZGVyICovCiAgICA6aG9zdCg6bm90KFt0aGVtZX49J25vLXJvdy1ib3JkZXJzJ10pKSBbcGFydD0ncm93J106Zmlyc3QtY2hpbGQgW3BhcnR+PSdoZWFkZXItY2VsbCddIHsKICAgICAgYm9yZGVyLXRvcDogMDsKICAgIH0KCiAgICBbcGFydD0ncm93J106bGFzdC1jaGlsZCBbcGFydH49J2hlYWRlci1jZWxsJ10gewogICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1fbHVtby1ncmlkLWJvcmRlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7CiAgICB9CgogICAgOmhvc3QoOm5vdChbdGhlbWV+PSduby1yb3ctYm9yZGVycyddKSkgW3BhcnQ9J3JvdyddOmxhc3QtY2hpbGQgW3BhcnR+PSdoZWFkZXItY2VsbCddIHsKICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tX2x1bW8tZ3JpZC1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTsKICAgIH0KCiAgICAvKiBPdmVyZmxvdyB1c2VzIGEgc3Ryb25nZXIgYm9yZGVyIGNvbG9yICovCiAgICA6aG9zdChbb3ZlcmZsb3d+PSd0b3AnXSkgW3BhcnQ9J3JvdyddOmxhc3QtY2hpbGQgW3BhcnR+PSdoZWFkZXItY2VsbCddIHsKICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tX2x1bW8tZ3JpZC1ib3JkZXItY29sb3IpOwogICAgfQoKICAgIC8qIEZvb3RlciBib3JkZXJzICovCgogICAgW3BhcnQ9J3JvdyddOmZpcnN0LWNoaWxkIFtwYXJ0fj0nZm9vdGVyLWNlbGwnXSB7CiAgICAgIGJvcmRlci10b3A6IHZhcigtLV9sdW1vLWdyaWQtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDsKICAgIH0KCiAgICA6aG9zdCg6bm90KFt0aGVtZX49J25vLXJvdy1ib3JkZXJzJ10pKSBbcGFydD0ncm93J106Zmlyc3QtY2hpbGQgW3BhcnR+PSdmb290ZXItY2VsbCddIHsKICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tX2x1bW8tZ3JpZC1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTsKICAgIH0KCiAgICAvKiBPdmVyZmxvdyB1c2VzIGEgc3Ryb25nZXIgYm9yZGVyIGNvbG9yICovCiAgICA6aG9zdChbb3ZlcmZsb3d+PSdib3R0b20nXSkgW3BhcnQ9J3JvdyddOmZpcnN0LWNoaWxkIFtwYXJ0fj0nZm9vdGVyLWNlbGwnXSB7CiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLV9sdW1vLWdyaWQtYm9yZGVyLWNvbG9yKTsKICAgIH0KCiAgICAvKiBDb2x1bW4gcmVvcmRlcmluZyAqLwoKICAgIDpob3N0KFtyZW9yZGVyaW5nXSkgW3BhcnR+PSdjZWxsJ10gewogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tbHVtby1zaGFkZS0yMHBjdCksIHZhcigtLWx1bW8tc2hhZGUtMjBwY3QpKSB2YXIoLS1sdW1vLWJhc2UtY29sb3IpOwogICAgfQoKICAgIDpob3N0KFtyZW9yZGVyaW5nXSkgW3BhcnR+PSdjZWxsJ11bcmVvcmRlci1zdGF0dXM9J2FsbG93ZWQnXSB7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWx1bW8tYmFzZS1jb2xvcik7CiAgICB9CgogICAgOmhvc3QoW3Jlb3JkZXJpbmddKSBbcGFydH49J2NlbGwnXVtyZW9yZGVyLXN0YXR1cz0nZHJhZ2dpbmcnXSB7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1sdW1vLWNvbnRyYXN0LTVwY3QpLCB2YXIoLS1sdW1vLWNvbnRyYXN0LTVwY3QpKSB2YXIoLS1sdW1vLWJhc2UtY29sb3IpOwogICAgfQoKICAgIFtwYXJ0fj0ncmVvcmRlci1naG9zdCddIHsKICAgICAgb3BhY2l0eTogMC44NTsKICAgICAgYm94LXNoYWRvdzogdmFyKC0tbHVtby1ib3gtc2hhZG93LXMpOwogICAgICAvKiBUT0RPIFVzZSB0aGUgc2FtZSBzdHlsZXMgYXMgZm9yIHRoZSBjZWxsIGVsZW1lbnQgKHJlb3JkZXItZ2hvc3QgY29waWVzIHN0eWxlcyBmcm9tIHRoZSBjZWxsIGVsZW1lbnQpICovCiAgICAgIHBhZGRpbmc6IHZhcigtLWx1bW8tc3BhY2UtcykgdmFyKC0tbHVtby1zcGFjZS1tKSAhaW1wb3J0YW50OwogICAgfQoKICAgIC8qIENvbHVtbiByZXNpemluZyAqLwoKICAgIFtwYXJ0PSdyZXNpemUtaGFuZGxlJ10gewogICAgICB3aWR0aDogM3B4OwogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdW1vLXByaW1hcnktY29sb3ItNTBwY3QpOwogICAgICBvcGFjaXR5OiAwOwogICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7CiAgICB9CgogICAgOmhvc3QoOm5vdChbcmVvcmRlcmluZ10pKSAqOm5vdChbY29sdW1uLXJlc2l6aW5nXSkgW3BhcnR+PSdjZWxsJ106aG92ZXIgW3BhcnQ9J3Jlc2l6ZS1oYW5kbGUnXSwKICAgIFtwYXJ0PSdyZXNpemUtaGFuZGxlJ106YWN0aXZlIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xNXM7CiAgICB9CgogICAgLyogQ29sdW1uIGJvcmRlcnMgKi8KCiAgICA6aG9zdChbdGhlbWV+PSdjb2x1bW4tYm9yZGVycyddKSBbcGFydH49J2NlbGwnXTpub3QoW2xhc3QtY29sdW1uXSk6bm90KFtwYXJ0fj0nZGV0YWlscy1jZWxsJ10pIHsKICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1fbHVtby1ncmlkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tX2x1bW8tZ3JpZC1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTsKICAgIH0KCiAgICAvKiBGcm96ZW4gY29sdW1ucyAqLwoKICAgIFtsYXN0LWZyb3plbl0gewogICAgICBib3JkZXItcmlnaHQ6IHZhcigtLV9sdW1vLWdyaWQtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCiAgICA6aG9zdChbb3ZlcmZsb3d+PSdsZWZ0J10pIFtwYXJ0fj0nY2VsbCddW2xhc3QtZnJvemVuXTpub3QoW3BhcnR+PSdkZXRhaWxzLWNlbGwnXSkgewogICAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLV9sdW1vLWdyaWQtYm9yZGVyLWNvbG9yKTsKICAgIH0KCiAgICAvKiBSb3cgc3RyaXBlcyAqLwoKICAgIDpob3N0KFt0aGVtZX49J3Jvdy1zdHJpcGVzJ10pIFtwYXJ0fj0ncm93J106bm90KFtvZGRdKSBbcGFydH49J2JvZHktY2VsbCddLAogICAgOmhvc3QoW3RoZW1lfj0ncm93LXN0cmlwZXMnXSkgW3BhcnR+PSdyb3cnXTpub3QoW29kZF0pIFtwYXJ0fj0nZGV0YWlscy1jZWxsJ10gewogICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tbHVtby1jb250cmFzdC01cGN0KSwgdmFyKC0tbHVtby1jb250cmFzdC01cGN0KSk7CiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsKICAgIH0KCiAgICAvKiBTZWxlY3RlZCByb3cgKi8KCiAgICAvKiBSYWlzZSB0aGUgc2VsZWN0ZWQgcm93cyBhYm92ZSB1bnNlbGVjdGVkIHJvd3MgKHNvIHRoYXQgYm94LXNoYWRvdyBjYW4gY292ZXIgdW5zZWxlY3RlZCByb3dzKSAqLwogICAgOmhvc3QoOm5vdChbcmVvcmRlcmluZ10pKSBbcGFydH49J3JvdyddW3NlbGVjdGVkXSB7CiAgICAgIHotaW5kZXg6IDE7CiAgICB9CgogICAgOmhvc3QoOm5vdChbcmVvcmRlcmluZ10pKSBbcGFydH49J3JvdyddW3NlbGVjdGVkXSBbcGFydH49J2JvZHktY2VsbCddOm5vdChbcGFydH49J2RldGFpbHMtY2VsbCddKSB7CiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1fbHVtby1ncmlkLXNlbGVjdGVkLXJvdy1jb2xvciksIHZhcigtLV9sdW1vLWdyaWQtc2VsZWN0ZWQtcm93LWNvbG9yKSk7CiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7CiAgICB9CgogICAgLyogQ292ZXIgdGhlIGJvcmRlciBvZiBhbiB1bnNlbGVjdGVkIHJvdyAqLwogICAgOmhvc3QoOm5vdChbdGhlbWV+PSduby1yb3ctYm9yZGVycyddKSkgW3BhcnR+PSdyb3cnXVtzZWxlY3RlZF0gW3BhcnR+PSdjZWxsJ106bm90KFtwYXJ0fj0nZGV0YWlscy1jZWxsJ10pIHsKICAgICAgYm94LXNoYWRvdzogMCB2YXIoLS1fbHVtby1ncmlkLWJvcmRlci13aWR0aCkgMCAwIHZhcigtLV9sdW1vLWdyaWQtc2VsZWN0ZWQtcm93LWNvbG9yKTsKICAgIH0KCiAgICAvKiBDb21wYWN0ICovCgogICAgOmhvc3QoW3RoZW1lfj0nY29tcGFjdCddKSBbcGFydD0ncm93J106b25seS1jaGlsZCBbcGFydH49J2hlYWRlci1jZWxsJ10gewogICAgICBtaW4taGVpZ2h0OiB2YXIoLS1sdW1vLXNpemUtbSk7CiAgICB9CgogICAgOmhvc3QoW3RoZW1lfj0nY29tcGFjdCddKSBbcGFydH49J2NlbGwnXSB7CiAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWx1bW8tc2l6ZS1zKTsKICAgIH0KCiAgICA6aG9zdChbdGhlbWV+PSdjb21wYWN0J10pIFtwYXJ0PSdyb3cnXVtmaXJzdF0gW3BhcnR+PSdjZWxsJ106bm90KFtwYXJ0fj0nZGV0YWlscy1jZWxsJ10pIHsKICAgICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1sdW1vLXNpemUtcykgLSB2YXIoLS1fbHVtby1ncmlkLWJvcmRlci13aWR0aCkpOwogICAgfQoKICAgIDpob3N0KFt0aGVtZX49J2NvbXBhY3QnXSkgW3BhcnR+PSdjZWxsJ10gOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICBwYWRkaW5nOiB2YXIoLS1sdW1vLXNwYWNlLXhzKSB2YXIoLS1sdW1vLXNwYWNlLXMpOwogICAgfQoKICAgIC8qIFdyYXAgY2VsbCBjb250ZW50cyAqLwoKICAgIDpob3N0KFt0aGVtZX49J3dyYXAtY2VsbC1jb250ZW50J10pIFtwYXJ0fj0nY2VsbCddIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsKICAgIH0KCiAgICAvKiBSVEwgc3BlY2lmaWMgc3R5bGVzICovCgogICAgOmhvc3QoW2Rpcj0ncnRsJ10pIFtwYXJ0fj0ncm93J11bZHJhZ3N0YXJ0XSBbcGFydH49J2NlbGwnXVtsYXN0LWNvbHVtbl0gewogICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdW1vLWJvcmRlci1yYWRpdXMtcykgMCAwIHZhcigtLWx1bW8tYm9yZGVyLXJhZGl1cy1zKTsKICAgIH0KCiAgICA6aG9zdChbZGlyPSdydGwnXSkgW3BhcnR+PSdyb3cnXVtkcmFnc3RhcnRdIFtwYXJ0fj0nY2VsbCddW2ZpcnN0LWNvbHVtbl0gewogICAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLWx1bW8tYm9yZGVyLXJhZGl1cy1zKSB2YXIoLS1sdW1vLWJvcmRlci1yYWRpdXMtcykgMDsKICAgIH0KCiAgICA6aG9zdChbZGlyPSdydGwnXVt0aGVtZX49J2NvbHVtbi1ib3JkZXJzJ10pIFtwYXJ0fj0nY2VsbCddOm5vdChbbGFzdC1jb2x1bW5dKTpub3QoW3BhcnR+PSdkZXRhaWxzLWNlbGwnXSkgewogICAgICBib3JkZXItcmlnaHQ6IG5vbmU7CiAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1fbHVtby1ncmlkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tX2x1bW8tZ3JpZC1zZWNvbmRhcnktYm9yZGVyLWNvbG9yKTsKICAgIH0KCiAgICA6aG9zdChbZGlyPSdydGwnXSkgW2xhc3QtZnJvemVuXSB7CiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsKICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLV9sdW1vLWdyaWQtYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDsKICAgIH0KCiAgICA6aG9zdChbZGlyPSdydGwnXVtvdmVyZmxvd349J3JpZ2h0J10pIFtwYXJ0fj0nY2VsbCddW2xhc3QtZnJvemVuXTpub3QoW3BhcnR+PSdkZXRhaWxzLWNlbGwnXSkgewogICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tX2x1bW8tZ3JpZC1ib3JkZXItY29sb3IpOwogICAgfQogIGAse21vZHVsZUlkOiJsdW1vLWdyaWQifSksdDF0KCJ2YWFkaW4tY2hlY2tib3giLCRRdGAKICAgIDpob3N0KC52YWFkaW4tZ3JpZC1zZWxlY3QtYWxsLWNoZWNrYm94KSB7CiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbHVtby1mb250LXNpemUtbSk7CiAgICB9CiAgYCx7bW9kdWxlSWQ6InZhYWRpbi1ncmlkLXNlbGVjdC1hbGwtY2hlY2tib3gtbHVtbyJ9KTsKLyoqCiAgICBAbGljZW5zZQogICAgQ29weXJpZ2h0IChjKSAyMDE2IFRoZSBQb2x5bWVyIFByb2plY3QgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHQKICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgYXV0aG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0FVVEhPUlMudHh0CiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGNvbnRyaWJ1dG9ycyBtYXkgYmUgZm91bmQgYXQgaHR0cDovL3BvbHltZXIuZ2l0aHViLmlvL0NPTlRSSUJVVE9SUy50eHQKICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvCiAgICBzdWJqZWN0IHRvIGFuIGFkZGl0aW9uYWwgSVAgcmlnaHRzIGdyYW50IGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9QQVRFTlRTLnR4dAogICAgKi8KY29uc3QgSTF0PW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lQKD86aG9uZXxhZDsoPzogVTspPyBDUFUpIE9TIChcZCspLyksUjF0PUkxdCYmSTF0WzFdPj04LE8xdD1Vcih7YmVoYXZpb3JzOltDbywkb10sX3JhdGlvOi41LF9zY3JvbGxlclBhZGRpbmdUb3A6MCxfc2Nyb2xsUG9zaXRpb246MCxfcGh5c2ljYWxTaXplOjAsX3BoeXNpY2FsQXZlcmFnZTowLF9waHlzaWNhbEF2ZXJhZ2VDb3VudDowLF9waHlzaWNhbFRvcDowLF92aXJ0dWFsQ291bnQ6MCxfZXN0U2Nyb2xsSGVpZ2h0OjAsX3Njcm9sbEhlaWdodDowLF92aWV3cG9ydEhlaWdodDowLF92aWV3cG9ydFdpZHRoOjAsX3BoeXNpY2FsSXRlbXM6bnVsbCxfcGh5c2ljYWxTaXplczpudWxsLF9maXJzdFZpc2libGVJbmRleFZhbDpudWxsLF9sYXN0VmlzaWJsZUluZGV4VmFsOm51bGwsX21heFBhZ2VzOjIsX2ZvY3VzZWRWaXJ0dWFsSW5kZXg6LTEsX3RlbXBsYXRlQ29zdDowLGdldCBfcGh5c2ljYWxCb3R0b20oKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxUb3ArdGhpcy5fcGh5c2ljYWxTaXplfSxnZXQgX3Njcm9sbEJvdHRvbSgpe3JldHVybiB0aGlzLl9zY3JvbGxQb3NpdGlvbit0aGlzLl92aWV3cG9ydEhlaWdodH0sZ2V0IF92aXJ0dWFsRW5kKCl7cmV0dXJuIHRoaXMuX3ZpcnR1YWxTdGFydCt0aGlzLl9waHlzaWNhbENvdW50LTF9LGdldCBfaGlkZGVuQ29udGVudFNpemUoKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxTaXplLXRoaXMuX3ZpZXdwb3J0SGVpZ2h0fSxnZXQgX21heFNjcm9sbFRvcCgpe3JldHVybiB0aGlzLl9lc3RTY3JvbGxIZWlnaHQtdGhpcy5fdmlld3BvcnRIZWlnaHQrdGhpcy5fc2Nyb2xsT2Zmc2V0fSxnZXQgX21heFZpcnR1YWxTdGFydCgpe3JldHVybiBNYXRoLm1heCgwLHRoaXMuX3ZpcnR1YWxDb3VudC10aGlzLl9waHlzaWNhbENvdW50KX0sc2V0IF92aXJ0dWFsU3RhcnQodCl7dD10aGlzLl9jbGFtcCh0LDAsdGhpcy5fbWF4VmlydHVhbFN0YXJ0KSx0aGlzLl92aXJ0dWFsU3RhcnRWYWw9dH0sZ2V0IF92aXJ0dWFsU3RhcnQoKXtyZXR1cm4gdGhpcy5fdmlydHVhbFN0YXJ0VmFsfHwwfSxzZXQgX3BoeXNpY2FsU3RhcnQodCl7KHQlPXRoaXMuX3BoeXNpY2FsQ291bnQpPDAmJih0PXRoaXMuX3BoeXNpY2FsQ291bnQrdCksdGhpcy5fcGh5c2ljYWxTdGFydFZhbD10fSxnZXQgX3BoeXNpY2FsU3RhcnQoKXtyZXR1cm4gdGhpcy5fcGh5c2ljYWxTdGFydFZhbHx8MH0sZ2V0IF9waHlzaWNhbEVuZCgpe3JldHVybih0aGlzLl9waHlzaWNhbFN0YXJ0K3RoaXMuX3BoeXNpY2FsQ291bnQtMSkldGhpcy5fcGh5c2ljYWxDb3VudH0sc2V0IF9waHlzaWNhbENvdW50KHQpe3RoaXMuX3BoeXNpY2FsQ291bnRWYWw9dH0sZ2V0IF9waHlzaWNhbENvdW50KCl7cmV0dXJuIHRoaXMuX3BoeXNpY2FsQ291bnRWYWx8fDB9LGdldCBfb3B0UGh5c2ljYWxTaXplKCl7cmV0dXJuIDA9PT10aGlzLl92aWV3cG9ydEhlaWdodD8xLzA6dGhpcy5fdmlld3BvcnRIZWlnaHQqdGhpcy5fbWF4UGFnZXN9LGdldCBfaXNWaXNpYmxlKCl7cmV0dXJuIEJvb2xlYW4odGhpcy5vZmZzZXRXaWR0aHx8dGhpcy5vZmZzZXRIZWlnaHQpfSxnZXQgZmlyc3RWaXNpYmxlSW5kZXgoKXtsZXQgdD10aGlzLl9maXJzdFZpc2libGVJbmRleFZhbDtpZihudWxsPT10KXtsZXQgZT10aGlzLl9waHlzaWNhbFRvcCt0aGlzLl9zY3JvbGxPZmZzZXQ7dD10aGlzLl9pdGVyYXRlSXRlbXMoKGZ1bmN0aW9uKHQsbil7aWYoZSs9dGhpcy5fcGh5c2ljYWxTaXplc1t0XSxlPnRoaXMuX3Njcm9sbFBvc2l0aW9uKXJldHVybiBufSkpfHwwLHRoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPXR9cmV0dXJuIHR9LGdldCBsYXN0VmlzaWJsZUluZGV4KCl7bGV0IHQ9dGhpcy5fbGFzdFZpc2libGVJbmRleFZhbDtpZihudWxsPT10KXtsZXQgZT10aGlzLl9waHlzaWNhbFRvcCt0aGlzLl9zY3JvbGxPZmZzZXQ7dGhpcy5faXRlcmF0ZUl0ZW1zKChmdW5jdGlvbihuLGkpe2U8dGhpcy5fc2Nyb2xsQm90dG9tJiYodD1pKSxlKz10aGlzLl9waHlzaWNhbFNpemVzW25dfSkpLHRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9dH1yZXR1cm4gdH0sZ2V0IF9zY3JvbGxPZmZzZXQoKXtyZXR1cm4gdGhpcy5fc2Nyb2xsZXJQYWRkaW5nVG9wfSxhdHRhY2hlZDpmdW5jdGlvbigpe3RoaXMuX2RlYm91bmNlKCJfcmVuZGVyIix0aGlzLl9yZW5kZXIsX3QpLHRoaXMubGlzdGVuKHRoaXMsImlyb24tcmVzaXplIiwiX3Jlc2l6ZUhhbmRsZXIiKX0sZGV0YWNoZWQ6ZnVuY3Rpb24oKXt0aGlzLnVubGlzdGVuKHRoaXMsImlyb24tcmVzaXplIiwiX3Jlc2l6ZUhhbmRsZXIiKX0sdXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzOmZ1bmN0aW9uKCl7Y29uc3QgdD13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKTt0aGlzLl9zY3JvbGxlclBhZGRpbmdUb3A9dGhpcy5zY3JvbGxUYXJnZXQ9PT10aGlzPzA6cGFyc2VJbnQodFsicGFkZGluZy10b3AiXSwxMCksdGhpcy5faXNSVEw9Qm9vbGVhbigicnRsIj09PXQuZGlyZWN0aW9uKSx0aGlzLl92aWV3cG9ydFdpZHRoPXRoaXMuJC5pdGVtcy5vZmZzZXRXaWR0aCx0aGlzLl92aWV3cG9ydEhlaWdodD10aGlzLl9zY3JvbGxUYXJnZXRIZWlnaHR9LF9zY3JvbGxIYW5kbGVyOmZ1bmN0aW9uKCl7Y29uc3QgdD1NYXRoLm1heCgwLE1hdGgubWluKHRoaXMuX21heFNjcm9sbFRvcCx0aGlzLl9zY3JvbGxUb3ApKTtsZXQgZT10LXRoaXMuX3Njcm9sbFBvc2l0aW9uO2NvbnN0IG49ZT49MDtpZih0aGlzLl9zY3JvbGxQb3NpdGlvbj10LHRoaXMuX2ZpcnN0VmlzaWJsZUluZGV4VmFsPW51bGwsdGhpcy5fbGFzdFZpc2libGVJbmRleFZhbD1udWxsLE1hdGguYWJzKGUpPnRoaXMuX3BoeXNpY2FsU2l6ZSYmdGhpcy5fcGh5c2ljYWxTaXplPjApe2UtPXRoaXMuX3Njcm9sbE9mZnNldDtjb25zdCB0PU1hdGgucm91bmQoZS90aGlzLl9waHlzaWNhbEF2ZXJhZ2UpO3RoaXMuX3ZpcnR1YWxTdGFydD10aGlzLl92aXJ0dWFsU3RhcnQrdCx0aGlzLl9waHlzaWNhbFN0YXJ0PXRoaXMuX3BoeXNpY2FsU3RhcnQrdCx0aGlzLl9waHlzaWNhbFRvcD1NYXRoLmZsb29yKHRoaXMuX3ZpcnR1YWxTdGFydCkqdGhpcy5fcGh5c2ljYWxBdmVyYWdlLHRoaXMuX3VwZGF0ZSgpfWVsc2UgaWYodGhpcy5fcGh5c2ljYWxDb3VudD4wKXtjb25zdHtwaHlzaWNhbFRvcDp0LGluZGV4ZXM6ZX09dGhpcy5fZ2V0UmV1c2FibGVzKG4pO24/KHRoaXMuX3BoeXNpY2FsVG9wPXQsdGhpcy5fdmlydHVhbFN0YXJ0PXRoaXMuX3ZpcnR1YWxTdGFydCtlLmxlbmd0aCx0aGlzLl9waHlzaWNhbFN0YXJ0PXRoaXMuX3BoeXNpY2FsU3RhcnQrZS5sZW5ndGgpOih0aGlzLl92aXJ0dWFsU3RhcnQ9dGhpcy5fdmlydHVhbFN0YXJ0LWUubGVuZ3RoLHRoaXMuX3BoeXNpY2FsU3RhcnQ9dGhpcy5fcGh5c2ljYWxTdGFydC1lLmxlbmd0aCksdGhpcy5fdXBkYXRlKGUsbj9udWxsOmUpLHRoaXMuX2RlYm91bmNlKCJfaW5jcmVhc2VQb29sSWZOZWVkZWQiLHRoaXMuX2luY3JlYXNlUG9vbElmTmVlZGVkLmJpbmQodGhpcywwKSx2dCl9fSxfZ2V0UmV1c2FibGVzOmZ1bmN0aW9uKHQpe2xldCBlLG4saTtjb25zdCByPVtdLG89dGhpcy5faGlkZGVuQ29udGVudFNpemUqdGhpcy5fcmF0aW8sYT10aGlzLl92aXJ0dWFsU3RhcnQscz10aGlzLl92aXJ0dWFsRW5kLGw9dGhpcy5fcGh5c2ljYWxDb3VudDtsZXQgYz10aGlzLl9waHlzaWNhbFRvcCt0aGlzLl9zY3JvbGxPZmZzZXQ7Y29uc3QgdT10aGlzLl9zY3JvbGxUb3AsaD10aGlzLl9zY3JvbGxCb3R0b207Zm9yKHQ/KGU9dGhpcy5fcGh5c2ljYWxTdGFydCxuPXUtYyk6KGU9dGhpcy5fcGh5c2ljYWxFbmQsbj10aGlzLl9waHlzaWNhbEJvdHRvbSt0aGlzLl9zY3JvbGxPZmZzZXQtaCk7aT10aGlzLl9waHlzaWNhbFNpemVzW2VdLG4tPWksIShyLmxlbmd0aD49bHx8bjw9byk7KWlmKHQpe2lmKHMrci5sZW5ndGgrMT49dGhpcy5fdmlydHVhbENvdW50KWJyZWFrO2lmKGMraT49dS10aGlzLl9zY3JvbGxPZmZzZXQpYnJlYWs7ci5wdXNoKGUpLGMrPWksZT0oZSsxKSVsfWVsc2V7aWYoYS1yLmxlbmd0aDw9MClicmVhaztpZihjK3RoaXMuX3BoeXNpY2FsU2l6ZS1pPD1oKWJyZWFrO3IucHVzaChlKSxjLT1pLGU9MD09PWU/bC0xOmUtMX1yZXR1cm57aW5kZXhlczpyLHBoeXNpY2FsVG9wOmMtdGhpcy5fc2Nyb2xsT2Zmc2V0fX0sX3VwZGF0ZTpmdW5jdGlvbih0LGUpe2lmKCEodCYmMD09PXQubGVuZ3RofHwwPT09dGhpcy5fcGh5c2ljYWxDb3VudCkpe2lmKHRoaXMuX2Fzc2lnbk1vZGVscyh0KSx0aGlzLl91cGRhdGVNZXRyaWNzKHQpLGUpZm9yKDtlLmxlbmd0aDspe2NvbnN0IHQ9ZS5wb3AoKTt0aGlzLl9waHlzaWNhbFRvcC09dGhpcy5fcGh5c2ljYWxTaXplc1t0XX10aGlzLl9wb3NpdGlvbkl0ZW1zKCksdGhpcy5fdXBkYXRlU2Nyb2xsZXJTaXplKCl9fSxfaXNDbGllbnRGdWxsOmZ1bmN0aW9uKCl7cmV0dXJuIDAhPXRoaXMuX3Njcm9sbEJvdHRvbSYmdGhpcy5fcGh5c2ljYWxCb3R0b20tMT49dGhpcy5fc2Nyb2xsQm90dG9tJiZ0aGlzLl9waHlzaWNhbFRvcDw9dGhpcy5fc2Nyb2xsUG9zaXRpb259LF9pbmNyZWFzZVBvb2xJZk5lZWRlZDpmdW5jdGlvbih0KXtjb25zdCBlPXRoaXMuX2NsYW1wKHRoaXMuX3BoeXNpY2FsQ291bnQrdCwzLHRoaXMuX3ZpcnR1YWxDb3VudC10aGlzLl92aXJ0dWFsU3RhcnQpLXRoaXMuX3BoeXNpY2FsQ291bnQ7bGV0IG49TWF0aC5yb3VuZCguNSp0aGlzLl9waHlzaWNhbENvdW50KTtpZighKGU8MCkpe2lmKGU+MCl7Y29uc3QgdD13aW5kb3cucGVyZm9ybWFuY2Uubm93KCk7W10ucHVzaC5hcHBseSh0aGlzLl9waHlzaWNhbEl0ZW1zLHRoaXMuX2NyZWF0ZVBvb2woZSkpO2ZvcihsZXQgdD0wO3Q8ZTt0KyspdGhpcy5fcGh5c2ljYWxTaXplcy5wdXNoKDApO3RoaXMuX3BoeXNpY2FsQ291bnQ9dGhpcy5fcGh5c2ljYWxDb3VudCtlLHRoaXMuX3BoeXNpY2FsU3RhcnQ+dGhpcy5fcGh5c2ljYWxFbmQmJnRoaXMuX2lzSW5kZXhSZW5kZXJlZCh0aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4KSYmdGhpcy5fZ2V0UGh5c2ljYWxJbmRleCh0aGlzLl9mb2N1c2VkVmlydHVhbEluZGV4KTx0aGlzLl9waHlzaWNhbEVuZCYmKHRoaXMuX3BoeXNpY2FsU3RhcnQ9dGhpcy5fcGh5c2ljYWxTdGFydCtlKSx0aGlzLl91cGRhdGUoKSx0aGlzLl90ZW1wbGF0ZUNvc3Q9KHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKS10KS9lLG49TWF0aC5yb3VuZCguNSp0aGlzLl9waHlzaWNhbENvdW50KX10aGlzLl92aXJ0dWFsRW5kPj10aGlzLl92aXJ0dWFsQ291bnQtMXx8MD09PW58fCh0aGlzLl9pc0NsaWVudEZ1bGwoKT90aGlzLl9waHlzaWNhbFNpemU8dGhpcy5fb3B0UGh5c2ljYWxTaXplJiZ0aGlzLl9kZWJvdW5jZSgiX2luY3JlYXNlUG9vbElmTmVlZGVkIix0aGlzLl9pbmNyZWFzZVBvb2xJZk5lZWRlZC5iaW5kKHRoaXMsdGhpcy5fY2xhbXAoTWF0aC5yb3VuZCg1MC90aGlzLl90ZW1wbGF0ZUNvc3QpLDEsbikpLHl0KTp0aGlzLl9kZWJvdW5jZSgiX2luY3JlYXNlUG9vbElmTmVlZGVkIix0aGlzLl9pbmNyZWFzZVBvb2xJZk5lZWRlZC5iaW5kKHRoaXMsbiksdnQpKX19LF9yZW5kZXI6ZnVuY3Rpb24oKXtpZih0aGlzLmlzQXR0YWNoZWQmJnRoaXMuX2lzVmlzaWJsZSlpZigwIT09dGhpcy5fcGh5c2ljYWxDb3VudCl7Y29uc3R7cGh5c2ljYWxUb3A6dCxpbmRleGVzOmV9PXRoaXMuX2dldFJldXNhYmxlcyghMCk7dGhpcy5fcGh5c2ljYWxUb3A9dCx0aGlzLl92aXJ0dWFsU3RhcnQ9dGhpcy5fdmlydHVhbFN0YXJ0K2UubGVuZ3RoLHRoaXMuX3BoeXNpY2FsU3RhcnQ9dGhpcy5fcGh5c2ljYWxTdGFydCtlLmxlbmd0aCx0aGlzLl91cGRhdGUoZSksdGhpcy5fdXBkYXRlKCksdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQoMCl9ZWxzZSB0aGlzLl92aXJ0dWFsQ291bnQ+MCYmKHRoaXMudXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzKCksdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQoMykpfSxfaXRlbXNDaGFuZ2VkOmZ1bmN0aW9uKHQpeyJpdGVtcyI9PT10LnBhdGgmJih0aGlzLl92aXJ0dWFsU3RhcnQ9MCx0aGlzLl9waHlzaWNhbFRvcD0wLHRoaXMuX3ZpcnR1YWxDb3VudD10aGlzLml0ZW1zP3RoaXMuaXRlbXMubGVuZ3RoOjAsdGhpcy5fcGh5c2ljYWxJbmRleEZvcktleT17fSx0aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsLHRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLl9waHlzaWNhbENvdW50PXRoaXMuX3BoeXNpY2FsQ291bnR8fDAsdGhpcy5fcGh5c2ljYWxJdGVtcz10aGlzLl9waHlzaWNhbEl0ZW1zfHxbXSx0aGlzLl9waHlzaWNhbFNpemVzPXRoaXMuX3BoeXNpY2FsU2l6ZXN8fFtdLHRoaXMuX3BoeXNpY2FsU3RhcnQ9MCx0aGlzLl9zY3JvbGxUb3A+dGhpcy5fc2Nyb2xsT2Zmc2V0JiZ0aGlzLl9yZXNldFNjcm9sbFBvc2l0aW9uKDApLHRoaXMuX2RlYm91bmNlKCJfcmVuZGVyIix0aGlzLl9yZW5kZXIsX3QpKX0sX2l0ZXJhdGVJdGVtczpmdW5jdGlvbih0LGUpe2xldCBuLGkscixvO2lmKDI9PT1hcmd1bWVudHMubGVuZ3RoJiZlKXtmb3Iobz0wO288ZS5sZW5ndGg7bysrKWlmKG49ZVtvXSxpPXRoaXMuX2NvbXB1dGVWaWR4KG4pLG51bGwhPShyPXQuY2FsbCh0aGlzLG4saSkpKXJldHVybiByfWVsc2V7Zm9yKG49dGhpcy5fcGh5c2ljYWxTdGFydCxpPXRoaXMuX3ZpcnR1YWxTdGFydDtuPHRoaXMuX3BoeXNpY2FsQ291bnQ7bisrLGkrKylpZihudWxsIT0ocj10LmNhbGwodGhpcyxuLGkpKSlyZXR1cm4gcjtmb3Iobj0wO248dGhpcy5fcGh5c2ljYWxTdGFydDtuKyssaSsrKWlmKG51bGwhPShyPXQuY2FsbCh0aGlzLG4saSkpKXJldHVybiByfX0sX2NvbXB1dGVWaWR4OmZ1bmN0aW9uKHQpe3JldHVybiB0Pj10aGlzLl9waHlzaWNhbFN0YXJ0P3RoaXMuX3ZpcnR1YWxTdGFydCsodC10aGlzLl9waHlzaWNhbFN0YXJ0KTp0aGlzLl92aXJ0dWFsU3RhcnQrKHRoaXMuX3BoeXNpY2FsQ291bnQtdGhpcy5fcGh5c2ljYWxTdGFydCkrdH0sX3VwZGF0ZU1ldHJpY3M6ZnVuY3Rpb24odCl7aWYoIXRoaXMuX2lzVmlzaWJsZSlyZXR1cm47V2koKTtsZXQgZT0wLG49MDtjb25zdCBpPXRoaXMuX3BoeXNpY2FsQXZlcmFnZUNvdW50LHI9dGhpcy5fcGh5c2ljYWxBdmVyYWdlO3RoaXMuX2l0ZXJhdGVJdGVtcygoZnVuY3Rpb24odCl7bis9dGhpcy5fcGh5c2ljYWxTaXplc1t0XSx0aGlzLl9waHlzaWNhbFNpemVzW3RdPXRoaXMuX3BoeXNpY2FsSXRlbXNbdF0ub2Zmc2V0SGVpZ2h0LGUrPXRoaXMuX3BoeXNpY2FsU2l6ZXNbdF0sdGhpcy5fcGh5c2ljYWxBdmVyYWdlQ291bnQrPXRoaXMuX3BoeXNpY2FsU2l6ZXNbdF0/MTowfSksdCksdGhpcy5fcGh5c2ljYWxTaXplPXRoaXMuX3BoeXNpY2FsU2l6ZStlLW4sdGhpcy5fcGh5c2ljYWxBdmVyYWdlQ291bnQhPT1pJiYodGhpcy5fcGh5c2ljYWxBdmVyYWdlPU1hdGgucm91bmQoKHIqaStlKS90aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudCkpfSxfcG9zaXRpb25JdGVtczpmdW5jdGlvbigpe3RoaXMuX2FkanVzdFNjcm9sbFBvc2l0aW9uKCk7bGV0IHQ9dGhpcy5fcGh5c2ljYWxUb3A7dGhpcy5faXRlcmF0ZUl0ZW1zKChmdW5jdGlvbihlKXt0aGlzLnRyYW5zbGF0ZTNkKDAsdCsicHgiLDAsdGhpcy5fcGh5c2ljYWxJdGVtc1tlXSksdCs9dGhpcy5fcGh5c2ljYWxTaXplc1tlXX0pKX0sX2FkanVzdFNjcm9sbFBvc2l0aW9uOmZ1bmN0aW9uKCl7Y29uc3QgdD0wPT09dGhpcy5fdmlydHVhbFN0YXJ0P3RoaXMuX3BoeXNpY2FsVG9wOk1hdGgubWluKHRoaXMuX3Njcm9sbFBvc2l0aW9uK3RoaXMuX3BoeXNpY2FsVG9wLDApO2lmKDAhPT10KXt0aGlzLl9waHlzaWNhbFRvcD10aGlzLl9waHlzaWNhbFRvcC10O2NvbnN0IGU9dGhpcy5fc2Nyb2xsVG9wOyFSMXQmJmU+MCYmdGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbihlLXQpfX0sX3Jlc2V0U2Nyb2xsUG9zaXRpb246ZnVuY3Rpb24odCl7dGhpcy5zY3JvbGxUYXJnZXQmJnQ+PTAmJih0aGlzLl9zY3JvbGxUb3A9dCx0aGlzLl9zY3JvbGxQb3NpdGlvbj10aGlzLl9zY3JvbGxUb3ApfSxfdXBkYXRlU2Nyb2xsZXJTaXplOmZ1bmN0aW9uKHQpe3RoaXMuX2VzdFNjcm9sbEhlaWdodD10aGlzLl9waHlzaWNhbEJvdHRvbStNYXRoLm1heCh0aGlzLl92aXJ0dWFsQ291bnQtdGhpcy5fcGh5c2ljYWxDb3VudC10aGlzLl92aXJ0dWFsU3RhcnQsMCkqdGhpcy5fcGh5c2ljYWxBdmVyYWdlLCgodD0odD10fHwwPT09dGhpcy5fc2Nyb2xsSGVpZ2h0KXx8dGhpcy5fc2Nyb2xsUG9zaXRpb24+PXRoaXMuX2VzdFNjcm9sbEhlaWdodC10aGlzLl9waHlzaWNhbFNpemUpfHxNYXRoLmFicyh0aGlzLl9lc3RTY3JvbGxIZWlnaHQtdGhpcy5fc2Nyb2xsSGVpZ2h0KT49dGhpcy5fdmlld3BvcnRIZWlnaHQpJiYodGhpcy4kLml0ZW1zLnN0eWxlLmhlaWdodD10aGlzLl9lc3RTY3JvbGxIZWlnaHQrInB4Iix0aGlzLl9zY3JvbGxIZWlnaHQ9dGhpcy5fZXN0U2Nyb2xsSGVpZ2h0KX0sc2Nyb2xsVG9JbmRleDpmdW5jdGlvbih0KXtpZigibnVtYmVyIiE9dHlwZW9mIHR8fHQ8MHx8dD50aGlzLml0ZW1zLmxlbmd0aC0xKXJldHVybjtpZihXaSgpLDA9PT10aGlzLl9waHlzaWNhbENvdW50KXJldHVybjt0PXRoaXMuX2NsYW1wKHQsMCx0aGlzLl92aXJ0dWFsQ291bnQtMSksKCF0aGlzLl9pc0luZGV4UmVuZGVyZWQodCl8fHQ+PXRoaXMuX21heFZpcnR1YWxTdGFydCkmJih0aGlzLl92aXJ0dWFsU3RhcnQ9dC0xKSx0aGlzLl9hc3NpZ25Nb2RlbHMoKSx0aGlzLl91cGRhdGVNZXRyaWNzKCksdGhpcy5fcGh5c2ljYWxUb3A9TWF0aC5mbG9vcih0aGlzLl92aXJ0dWFsU3RhcnQpKnRoaXMuX3BoeXNpY2FsQXZlcmFnZTtsZXQgZT10aGlzLl9waHlzaWNhbFN0YXJ0LG49dGhpcy5fdmlydHVhbFN0YXJ0LGk9MDtjb25zdCByPXRoaXMuX2hpZGRlbkNvbnRlbnRTaXplO2Zvcig7bjx0JiZpPD1yOylpKz10aGlzLl9waHlzaWNhbFNpemVzW2VdLGU9KGUrMSkldGhpcy5fcGh5c2ljYWxDb3VudCxuKys7dGhpcy5fdXBkYXRlU2Nyb2xsZXJTaXplKCEwKSx0aGlzLl9wb3NpdGlvbkl0ZW1zKCksdGhpcy5fcmVzZXRTY3JvbGxQb3NpdGlvbih0aGlzLl9waHlzaWNhbFRvcCt0aGlzLl9zY3JvbGxPZmZzZXQraSksdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQoMCksdGhpcy5fZmlyc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLl9sYXN0VmlzaWJsZUluZGV4VmFsPW51bGx9LF9yZXNldEF2ZXJhZ2U6ZnVuY3Rpb24oKXt0aGlzLl9waHlzaWNhbEF2ZXJhZ2U9MCx0aGlzLl9waHlzaWNhbEF2ZXJhZ2VDb3VudD0wfSxfcmVzaXplSGFuZGxlcjpmdW5jdGlvbigpe3RoaXMuX2RlYm91bmNlKCJfcmVuZGVyIiwoZnVuY3Rpb24oKXt0aGlzLl9maXJzdFZpc2libGVJbmRleFZhbD1udWxsLHRoaXMuX2xhc3RWaXNpYmxlSW5kZXhWYWw9bnVsbCx0aGlzLnVwZGF0ZVZpZXdwb3J0Qm91bmRhcmllcygpLHRoaXMuX2lzVmlzaWJsZT8odGhpcy50b2dnbGVTY3JvbGxMaXN0ZW5lcighMCksdGhpcy5fcmVzZXRBdmVyYWdlKCksdGhpcy5fcmVuZGVyKCkpOnRoaXMudG9nZ2xlU2Nyb2xsTGlzdGVuZXIoITEpfSksX3QpfSxfaXNJbmRleFJlbmRlcmVkOmZ1bmN0aW9uKHQpe3JldHVybiB0Pj10aGlzLl92aXJ0dWFsU3RhcnQmJnQ8PXRoaXMuX3ZpcnR1YWxFbmR9LF9nZXRQaHlzaWNhbEluZGV4OmZ1bmN0aW9uKHQpe3JldHVybih0aGlzLl9waHlzaWNhbFN0YXJ0Kyh0LXRoaXMuX3ZpcnR1YWxTdGFydCkpJXRoaXMuX3BoeXNpY2FsQ291bnR9LF9jbGFtcDpmdW5jdGlvbih0LGUsbil7cmV0dXJuIE1hdGgubWluKG4sTWF0aC5tYXgoZSx0KSl9LF9kZWJvdW5jZTpmdW5jdGlvbih0LGUsbil7dGhpcy5fZGVib3VuY2Vycz10aGlzLl9kZWJvdW5jZXJzfHx7fSx0aGlzLl9kZWJvdW5jZXJzW3RdPU5uLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlcnNbdF0sbixlLmJpbmQodGhpcykpLFJuKHRoaXMuX2RlYm91bmNlcnNbdF0pfX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLwpjbGFzcyB6MXQgZXh0ZW5kcyBPMXR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue3NpemU6e3R5cGU6TnVtYmVyLG5vdGlmeTohMH0sX3ZpZHhPZmZzZXQ6e3R5cGU6TnVtYmVyLHZhbHVlOjB9fX1zdGF0aWMgZ2V0IG9ic2VydmVycygpe3JldHVyblsiX2VmZmVjdGl2ZVNpemVDaGFuZ2VkKF9lZmZlY3RpdmVTaXplKSJdfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl9zY3JvbGxIYW5kbGVyKCl9X3VwZGF0ZVNjcm9sbGVySXRlbSgpe31fYWZ0ZXJTY3JvbGwoKXt9X2dldFJvd1RhcmdldCgpe31fY3JlYXRlU2Nyb2xsZXJSb3dzKCl7fV9jYW5Qb3B1bGF0ZSgpe31zY3JvbGxUb0luZGV4KHQpe3RoaXMuX3dhcm5Qcml2YXRlQVBJQWNjZXNzKCJzY3JvbGxUb0luZGV4IiksdGhpcy5fc2Nyb2xsaW5nVG9JbmRleD0hMCx0PU1hdGgubWluKE1hdGgubWF4KHQsMCksdGhpcy5fZWZmZWN0aXZlU2l6ZS0xKSx0aGlzLiQudGFibGUuc2Nyb2xsVG9wPXQvdGhpcy5fZWZmZWN0aXZlU2l6ZSoodGhpcy4kLnRhYmxlLnNjcm9sbEhlaWdodC10aGlzLiQudGFibGUub2Zmc2V0SGVpZ2h0KSx0aGlzLl9zY3JvbGxIYW5kbGVyKCksdGhpcy5fYWNjZXNzSXJvbkxpc3RBUEkoKCgpPT50aGlzLl9tYXhTY3JvbGxUb3ApKSYmdGhpcy5fdmlydHVhbENvdW50PHRoaXMuX2VmZmVjdGl2ZVNpemUmJnRoaXMuX2FkanVzdFZpcnR1YWxJbmRleE9mZnNldCgxZTYpLHRoaXMuX2FjY2Vzc0lyb25MaXN0QVBJKCgoKT0+c3VwZXIuc2Nyb2xsVG9JbmRleCh0LXRoaXMuX3ZpZHhPZmZzZXQpKSksdGhpcy5fc2Nyb2xsSGFuZGxlcigpO2NvbnN0IGU9QXJyYXkuZnJvbSh0aGlzLiQuaXRlbXMuY2hpbGRyZW4pLmZpbHRlcigoZT0+ZS5pbmRleD09PXQpKVswXTtpZihlKXtjb25zdCB0PWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLXRoaXMuJC5oZWFkZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tO01hdGguYWJzKHQpPjEmJih0aGlzLiQudGFibGUuc2Nyb2xsVG9wKz10LHRoaXMuX3Njcm9sbEhhbmRsZXIoKSl9dGhpcy5fc2Nyb2xsaW5nVG9JbmRleD0hMX1fZWZmZWN0aXZlU2l6ZUNoYW5nZWQodCl7bGV0IGUsbj0wO2lmKHRoaXMuX2l0ZXJhdGVJdGVtcygoKHQsaSk9PntpZihpPT09dGhpcy5fZmlyc3RWaXNpYmxlSW5kZXgpe2NvbnN0IGk9dGhpcy5fcGh5c2ljYWxJdGVtc1t0XTtlPWkuaW5kZXgsbj1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcH19KSksdGhpcy5pdGVtcyYmdDx0aGlzLml0ZW1zLmxlbmd0aCYmKHRoaXMuX3Njcm9sbFRvcD0wKSwhQXJyYXkuaXNBcnJheSh0aGlzLml0ZW1zKSl7dGhpcy5pdGVtcz17bGVuZ3RoOk1hdGgubWluKHQsMWU1KX19dGhpcy5fYWNjZXNzSXJvbkxpc3RBUEkoKCgpPT5zdXBlci5faXRlbXNDaGFuZ2VkKHtwYXRoOiJpdGVtcyJ9KSkpLHRoaXMuX3ZpcnR1YWxDb3VudD1NYXRoLm1pbih0aGlzLml0ZW1zLmxlbmd0aCx0KXx8MCwwPT09dGhpcy5fc2Nyb2xsVG9wJiYodGhpcy5fYWNjZXNzSXJvbkxpc3RBUEkoKCgpPT50aGlzLl9zY3JvbGxUb0luZGV4KE1hdGgubWluKHQtMSxlKSkpKSx0aGlzLl9pdGVyYXRlSXRlbXMoKHQ9Pntjb25zdCBpPXRoaXMuX3BoeXNpY2FsSXRlbXNbdF07aWYoaS5pbmRleD09PWUmJih0aGlzLiQudGFibGUuc2Nyb2xsVG9wKz1NYXRoLnJvdW5kKGkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wLW4pKSxpLmluZGV4PT09dGhpcy5fZm9jdXNlZEl0ZW1JbmRleCYmdGhpcy5faXRlbXNGb2N1c2FibGUmJnRoaXMuJC5pdGVtcy5jb250YWlucyh0aGlzLnNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudCkpe2NvbnN0IHQ9QXJyYXkuZnJvbSh0aGlzLl9pdGVtc0ZvY3VzYWJsZS5wYXJlbnRFbGVtZW50LmNoaWxkcmVuKS5pbmRleE9mKHRoaXMuX2l0ZW1zRm9jdXNhYmxlKTtpLmNoaWxkcmVuW3RdLmZvY3VzKCl9fSkpKSx0aGlzLl9hc3NpZ25Nb2RlbHMoKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLl91cGRhdGUoKSkpLHRoaXMuX191cGRhdGVGb290ZXJQb3NpdGlvbmluZygpfV9wb3NpdGlvbkl0ZW1zKCl7bGV0IHQ7dGhpcy5fYWRqdXN0U2Nyb2xsUG9zaXRpb24oKSxpc05hTih0aGlzLl9waHlzaWNhbFRvcCkmJih0PSEwLHRoaXMuX3BoeXNpY2FsVG9wPTApO2xldCBlPXRoaXMuX3BoeXNpY2FsVG9wO3RoaXMuX2l0ZXJhdGVJdGVtcygodD0+e3RoaXMuX3BoeXNpY2FsSXRlbXNbdF0uc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGVZKCR7ZX1weClgLGUrPXRoaXMuX3BoeXNpY2FsU2l6ZXNbdF19KSksdCYmdGhpcy5fc2Nyb2xsVG9JbmRleCgwKX1faW5jcmVhc2VQb29sSWZOZWVkZWQodCl7MD09PXQmJnRoaXMuX3Njcm9sbGluZ1RvSW5kZXh8fCF0aGlzLl9jYW5Qb3B1bGF0ZSgpfHwhdGhpcy5fZWZmZWN0aXZlU2l6ZXx8KHRoaXMuX2luaXRpYWxQb29sQ3JlYXRlZD90aGlzLl9vcHRQaHlzaWNhbFNpemUhPT0xLzAmJih0aGlzLl9kZWJvdW5jZUluY3JlYXNlUG9vbD1Obi5kZWJvdW5jZSh0aGlzLl9kZWJvdW5jZUluY3JlYXNlUG9vbCxfdCwoKCk9Pnt0aGlzLl91cGRhdGVNZXRyaWNzKCk7bGV0IHQ9TWF0aC5jZWlsKCh0aGlzLl9vcHRQaHlzaWNhbFNpemUtdGhpcy5fcGh5c2ljYWxTaXplKS90aGlzLl9waHlzaWNhbEF2ZXJhZ2UpO3RoaXMuX3BoeXNpY2FsQ291bnQrdD50aGlzLl9lZmZlY3RpdmVTaXplJiYodD1NYXRoLm1heCgwLHRoaXMuX2VmZmVjdGl2ZVNpemUtdGhpcy5fcGh5c2ljYWxDb3VudCkpLHRoaXMuX3BoeXNpY2FsU2l6ZSYmdD4wJiZ0aGlzLl9vcHRQaHlzaWNhbFNpemUhPT0xLzAmJihzdXBlci5faW5jcmVhc2VQb29sSWZOZWVkZWQodCksdGhpcy5fX3Jlb3JkZXJDaGlsZE5vZGVzKCkpfSkpKToodGhpcy5faW5pdGlhbFBvb2xDcmVhdGVkPSEwLHN1cGVyLl9pbmNyZWFzZVBvb2xJZk5lZWRlZCgyNSkpKX1fX3Jlb3JkZXJDaGlsZE5vZGVzKCl7Y29uc3QgdD1BcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZE5vZGVzKTshIXQucmVkdWNlKCgodCxlLG4saSk9PntpZigwPT09bnx8aVtuLTFdLmluZGV4PT09ZS5pbmRleC0xKXJldHVybiB0fSksITApfHx0LnNvcnQoKCh0LGUpPT50LmluZGV4LWUuaW5kZXgpKS5mb3JFYWNoKCh0PT50aGlzLiQuaXRlbXMuYXBwZW5kQ2hpbGQodCkpKX1fY3JlYXRlUG9vbCh0KXtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxuPXRoaXMuX2NyZWF0ZVNjcm9sbGVyUm93cyh0KTtuLmZvckVhY2goKHQ9PmUuYXBwZW5kQ2hpbGQodCkpKSx0aGlzLl9nZXRSb3dUYXJnZXQoKS5hcHBlbmRDaGlsZChlKTtjb25zdCBpPXRoaXMucXVlcnlTZWxlY3RvcigiW3Nsb3RdIik7aWYoaSl7Y29uc3QgdD1pLmdldEF0dHJpYnV0ZSgic2xvdCIpO2kuc2V0QXR0cmlidXRlKCJzbG90IiwiZm9vLWJhciIpLGkuc2V0QXR0cmlidXRlKCJzbG90Iix0KX1yZXR1cm4gRGkodGhpcywoKCk9PnRoaXMubm90aWZ5UmVzaXplKCkpKSxufV9hc3NpZ25Nb2RlbHModCl7dGhpcy5faXRlcmF0ZUl0ZW1zKCgodCxlKT0+e2NvbnN0IG49dGhpcy5fcGh5c2ljYWxJdGVtc1t0XTt0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImhpZGRlbiIsZT49dGhpcy5fZWZmZWN0aXZlU2l6ZSxuKSx0aGlzLl91cGRhdGVTY3JvbGxlckl0ZW0obixlKyh0aGlzLl92aWR4T2Zmc2V0fHwwKSl9KSx0KX1fc2Nyb2xsSGFuZGxlcigpe2NvbnN0IHQ9dGhpcy4kLnRhYmxlLnNjcm9sbFRvcC10aGlzLl9zY3JvbGxQb3NpdGlvbjt0aGlzLl9hY2Nlc3NJcm9uTGlzdEFQSShzdXBlci5fc2Nyb2xsSGFuZGxlcik7Y29uc3QgZT10aGlzLl92aWR4T2Zmc2V0O3RoaXMuX2FjY2Vzc0lyb25MaXN0QVBJKCgoKT0+dGhpcy5fbWF4U2Nyb2xsVG9wKSkmJnRoaXMuX3ZpcnR1YWxDb3VudDx0aGlzLl9lZmZlY3RpdmVTaXplP3RoaXMuX2FkanVzdFZpcnR1YWxJbmRleE9mZnNldCh0KTp0aGlzLl92aWR4T2Zmc2V0PTAsdGhpcy5fdmlkeE9mZnNldCE9PWUmJnRoaXMuX3VwZGF0ZSgpLHRoaXMuX2FmdGVyU2Nyb2xsKCl9X2FkanVzdFZpcnR1YWxJbmRleE9mZnNldCh0KXtpZihNYXRoLmFicyh0KT4xZTQpe2lmKHRoaXMuX25vU2NhbGUpcmV0dXJuIHZvaWQodGhpcy5fbm9TY2FsZT0hMSk7Y29uc3QgdD10aGlzLiQudGFibGUuc2Nyb2xsVG9wLyh0aGlzLiQudGFibGUuc2Nyb2xsSGVpZ2h0LXRoaXMuJC50YWJsZS5vZmZzZXRIZWlnaHQpO3RoaXMuX3ZpZHhPZmZzZXQ9TWF0aC5yb3VuZCh0KnRoaXMuX2VmZmVjdGl2ZVNpemUtdCp0aGlzLl92aXJ0dWFsQ291bnQpfWVsc2V7Y29uc3QgdD10aGlzLl92aWR4T2Zmc2V0fHwwLGU9MWUzLG49MTAwOzA9PT10aGlzLl9zY3JvbGxUb3A/KHRoaXMuX3ZpZHhPZmZzZXQ9MCx0IT09dGhpcy5fdmlkeE9mZnNldCYmc3VwZXIuc2Nyb2xsVG9JbmRleCgwKSk6dGhpcy5maXJzdFZpc2libGVJbmRleDxlJiZ0aGlzLl92aWR4T2Zmc2V0PjAmJih0aGlzLl92aWR4T2Zmc2V0LT1NYXRoLm1pbih0aGlzLl92aWR4T2Zmc2V0LG4pLHQhPT10aGlzLl92aWR4T2Zmc2V0JiZzdXBlci5zY3JvbGxUb0luZGV4KHRoaXMuZmlyc3RWaXNpYmxlSW5kZXgrKHQtdGhpcy5fdmlkeE9mZnNldCkpLHRoaXMuX25vU2NhbGU9ITApO2NvbnN0IGk9dGhpcy5fZWZmZWN0aXZlU2l6ZS10aGlzLl92aXJ0dWFsQ291bnQ7dGhpcy5fc2Nyb2xsVG9wPj10aGlzLl9tYXhTY3JvbGxUb3AmJnRoaXMuX21heFNjcm9sbFRvcD4wPyh0aGlzLl92aWR4T2Zmc2V0PWksdCE9PXRoaXMuX3ZpZHhPZmZzZXQmJnN1cGVyLnNjcm9sbFRvSW5kZXgodGhpcy5fdmlydHVhbENvdW50KSk6dGhpcy5maXJzdFZpc2libGVJbmRleD50aGlzLl92aXJ0dWFsQ291bnQtZSYmdGhpcy5fdmlkeE9mZnNldDxpJiYodGhpcy5fdmlkeE9mZnNldCs9TWF0aC5taW4oaS10aGlzLl92aWR4T2Zmc2V0LG4pLHQhPT10aGlzLl92aWR4T2Zmc2V0JiZzdXBlci5zY3JvbGxUb0luZGV4KHRoaXMuZmlyc3RWaXNpYmxlSW5kZXgtKHRoaXMuX3ZpZHhPZmZzZXQtdCkpLHRoaXMuX25vU2NhbGU9ITApfX1fYWNjZXNzSXJvbkxpc3RBUEkodCl7dGhpcy5fd2FyblByaXZhdGVBUElBY2Nlc3NBc3luY0VuYWJsZWQ9ITE7Y29uc3QgZT10LmFwcGx5KHRoaXMpO3JldHVybiB0aGlzLl9kZWJvdW5jZXJXYXJuUHJpdmF0ZUFQSUFjY2Vzcz1Obi5kZWJvdW5jZSh0aGlzLl9kZWJvdW5jZXJXYXJuUHJpdmF0ZUFQSUFjY2VzcyxfdCwoKCk9PnRoaXMuX3dhcm5Qcml2YXRlQVBJQWNjZXNzQXN5bmNFbmFibGVkPSEwKSksZX1fZGVib3VuY2VSZW5kZXIodCxlKXtzdXBlci5fZGVib3VuY2VSZW5kZXIoKCgpPT50aGlzLl9hY2Nlc3NJcm9uTGlzdEFQSSh0KSksZSl9X3dhcm5Qcml2YXRlQVBJQWNjZXNzKHQpe3RoaXMuX3dhcm5Qcml2YXRlQVBJQWNjZXNzQXN5bmNFbmFibGVkJiZjb25zb2xlLndhcm4oYEFjY2Vzc2luZyBwcml2YXRlIEFQSSAoJHt0fSkhYCl9X3JlbmRlcigpe3RoaXMuX2FjY2Vzc0lyb25MaXN0QVBJKHN1cGVyLl9yZW5kZXIpfV9pdGVtc0NoYW5nZWQoKXt9Z2V0IF9maXJzdFZpc2libGVJbmRleCgpe3JldHVybiB0aGlzLl9hY2Nlc3NJcm9uTGlzdEFQSSgoKCk9PnN1cGVyLmZpcnN0VmlzaWJsZUluZGV4KSl9Z2V0IF9sYXN0VmlzaWJsZUluZGV4KCl7cmV0dXJuIHRoaXMuX2FjY2Vzc0lyb25MaXN0QVBJKCgoKT0+c3VwZXIubGFzdFZpc2libGVJbmRleCkpfV9zY3JvbGxUb0luZGV4KHQpe3RoaXMuX2FjY2Vzc0lyb25MaXN0QVBJKCgoKT0+dGhpcy5zY3JvbGxUb0luZGV4KHQpKSl9Z2V0IGZpcnN0VmlzaWJsZUluZGV4KCl7cmV0dXJuIHRoaXMuX3dhcm5Qcml2YXRlQVBJQWNjZXNzKCJmaXJzdFZpc2libGVJbmRleCIpLHN1cGVyLmZpcnN0VmlzaWJsZUluZGV4fXNldCBmaXJzdFZpc2libGVJbmRleCh0KXt0aGlzLl93YXJuUHJpdmF0ZUFQSUFjY2VzcygiZmlyc3RWaXNpYmxlSW5kZXgiKSxzdXBlci5maXJzdFZpc2libGVJbmRleD10fWdldCBsYXN0VmlzaWJsZUluZGV4KCl7cmV0dXJuIHRoaXMuX3dhcm5Qcml2YXRlQVBJQWNjZXNzKCJsYXN0VmlzaWJsZUluZGV4Iiksc3VwZXIubGFzdFZpc2libGVJbmRleH1zZXQgbGFzdFZpc2libGVJbmRleCh0KXt0aGlzLl93YXJuUHJpdmF0ZUFQSUFjY2VzcygibGFzdFZpc2libGVJbmRleCIpLHN1cGVyLmxhc3RWaXNpYmxlSW5kZXg9dH11cGRhdGVWaWV3cG9ydEJvdW5kYXJpZXMoKXt0aGlzLl93YXJuUHJpdmF0ZUFQSUFjY2VzcygidXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzIiksc3VwZXIudXBkYXRlVmlld3BvcnRCb3VuZGFyaWVzLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1fcmVzaXplSGFuZGxlcigpe3N1cGVyLl9yZXNpemVIYW5kbGVyKCksV2koKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovY29uc3QgRDF0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IG9ic2VydmVycygpe3JldHVyblsiX2ExMXlVcGRhdGVHcmlkU2l6ZShzaXplLCBfY29sdW1uVHJlZSwgX2NvbHVtblRyZWUuKikiXX1fYTExeUdldEhlYWRlclJvd0NvdW50KHQpe3JldHVybiB0LmZpbHRlcigodD0+dC5zb21lKCh0PT50Ll9oZWFkZXJUZW1wbGF0ZXx8dC5oZWFkZXJSZW5kZXJlcnx8dC5wYXRofHx0LmhlYWRlcikpKSkubGVuZ3RofV9hMTF5R2V0Rm9vdGVyUm93Q291bnQodCl7cmV0dXJuIHQuZmlsdGVyKCh0PT50LnNvbWUoKHQ9PnQuX2hlYWRlclRlbXBsYXRlfHx0LmhlYWRlclJlbmRlcmVyKSkpKS5sZW5ndGh9X2ExMXlVcGRhdGVHcmlkU2l6ZSh0LGUpe2lmKHZvaWQgMD09PXR8fHZvaWQgMD09PWUpcmV0dXJuO2NvbnN0IG49ZVtlLmxlbmd0aC0xXTt0aGlzLiQudGFibGUuc2V0QXR0cmlidXRlKCJhcmlhLXJvd2NvdW50Iix0K3RoaXMuX2ExMXlHZXRIZWFkZXJSb3dDb3VudChlKSt0aGlzLl9hMTF5R2V0Rm9vdGVyUm93Q291bnQoZSkpLHRoaXMuJC50YWJsZS5zZXRBdHRyaWJ1dGUoImFyaWEtY29sY291bnQiLG4mJm4ubGVuZ3RofHwwKSx0aGlzLl9hMTF5VXBkYXRlSGVhZGVyUm93cygpLHRoaXMuX2ExMXlVcGRhdGVGb290ZXJSb3dzKCl9X2ExMXlVcGRhdGVIZWFkZXJSb3dzKCl7QXJyYXkuZnJvbSh0aGlzLiQuaGVhZGVyLmNoaWxkcmVuKS5mb3JFYWNoKCgodCxlKT0+dC5zZXRBdHRyaWJ1dGUoImFyaWEtcm93aW5kZXgiLGUrMSkpKX1fYTExeVVwZGF0ZUZvb3RlclJvd3MoKXtBcnJheS5mcm9tKHRoaXMuJC5mb290ZXIuY2hpbGRyZW4pLmZvckVhY2goKCh0LGUpPT50LnNldEF0dHJpYnV0ZSgiYXJpYS1yb3dpbmRleCIsdGhpcy5fYTExeUdldEhlYWRlclJvd0NvdW50KHRoaXMuX2NvbHVtblRyZWUpK3RoaXMuc2l6ZStlKzEpKSl9X2ExMXlVcGRhdGVSb3dSb3dpbmRleCh0LGUpe3Quc2V0QXR0cmlidXRlKCJhcmlhLXJvd2luZGV4IixlK3RoaXMuX2ExMXlHZXRIZWFkZXJSb3dDb3VudCh0aGlzLl9jb2x1bW5UcmVlKSsxKX1fYTExeVVwZGF0ZVJvd1NlbGVjdGVkKHQsZSl7dC5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLEJvb2xlYW4oZSkpLEFycmF5LmZyb20odC5jaGlsZHJlbikuZm9yRWFjaCgodD0+dC5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLEJvb2xlYW4oZSkpKSl9X2ExMXlVcGRhdGVSb3dMZXZlbCh0LGUpe3Quc2V0QXR0cmlidXRlKCJhcmlhLWxldmVsIixlKzEpfV9hMTF5VXBkYXRlUm93RGV0YWlsc09wZW5lZCh0LGUpe0FycmF5LmZyb20odC5jaGlsZHJlbikuZm9yRWFjaCgodD0+eyJib29sZWFuIj09dHlwZW9mIGU/dC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLGUpOnQuaGFzQXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIikmJnQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIil9KSl9X2ExMXlTZXRSb3dEZXRhaWxzQ2VsbCh0LGUpe0FycmF5LmZyb20odC5jaGlsZHJlbikuZm9yRWFjaCgodD0+e3QhPT1lJiZ0LnNldEF0dHJpYnV0ZSgiYXJpYS1jb250cm9scyIsZS5pZCl9KSl9X2ExMXlVcGRhdGVDZWxsQ29sc3Bhbih0LGUpe3Quc2V0QXR0cmlidXRlKCJhcmlhLWNvbHNwYW4iLE51bWJlcihlKSl9X2ExMXlVcGRhdGVTb3J0ZXJzKCl7QXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoInZhYWRpbi1ncmlkLXNvcnRlciIpKS5mb3JFYWNoKCh0PT57bGV0IGU9dC5wYXJlbnROb2RlO2Zvcig7ZSYmInZhYWRpbi1ncmlkLWNlbGwtY29udGVudCIhPT1lLmxvY2FsTmFtZTspZT1lLnBhcmVudE5vZGU7aWYoZSYmZS5hc3NpZ25lZFNsb3Qpe2UuYXNzaWduZWRTbG90LnBhcmVudE5vZGUuc2V0QXR0cmlidXRlKCJhcmlhLXNvcnQiLHthc2M6ImFzY2VuZGluZyIsZGVzYzoiZGVzY2VuZGluZyJ9W1N0cmluZyh0LmRpcmVjdGlvbildfHwibm9uZSIpfX0pKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLEIxdD10PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue2FjdGl2ZUl0ZW06e3R5cGU6T2JqZWN0LG5vdGlmeTohMCx2YWx1ZTpudWxsfX19cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMuJC5zY3JvbGxlci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5fb25DbGljay5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImNlbGwtYWN0aXZhdGUiLHRoaXMuX2FjdGl2YXRlSXRlbS5iaW5kKHRoaXMpKX1fYWN0aXZhdGVJdGVtKHQpe2NvbnN0IGU9dC5kZXRhaWwubW9kZWwsbj1lP2UuaXRlbTpudWxsO24mJih0aGlzLmFjdGl2ZUl0ZW09dGhpcy5faXRlbXNFcXVhbCh0aGlzLmFjdGl2ZUl0ZW0sbik/bnVsbDpuKX1fb25DbGljayh0KXtpZih0LmRlZmF1bHRQcmV2ZW50ZWQpcmV0dXJuO2NvbnN0IGU9dC5jb21wb3NlZFBhdGgoKSxuPWVbZS5pbmRleE9mKHRoaXMuJC50YWJsZSktM107aWYoIW58fG4uZ2V0QXR0cmlidXRlKCJwYXJ0IikuaW5kZXhPZigiZGV0YWlscy1jZWxsIik+LTEpcmV0dXJuO2NvbnN0IGk9bi5fY29udGVudCxyPXRoaXMuZ2V0Um9vdE5vZGUoKS5hY3RpdmVFbGVtZW50O2kuY29udGFpbnMocil8fHRoaXMuX2lzRm9jdXNhYmxlKHQudGFyZ2V0KXx8dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2VsbC1hY3RpdmF0ZSIse2RldGFpbDp7bW9kZWw6dGhpcy5fX2dldFJvd01vZGVsKG4ucGFyZW50RWxlbWVudCl9fSkpfV9pc0ZvY3VzYWJsZSh0KXtyZXR1cm4gSDF0KHQpfX0sSDF0PXQ9PntpZighdC5wYXJlbnROb2RlKXJldHVybiExO2NvbnN0IGU9LTEhPT1BcnJheS5mcm9tKHQucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yQWxsKCJbdGFiaW5kZXhdLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBvYmplY3QsIGlmcmFtZSwgbGFiZWwsIGFbaHJlZl0sIGFyZWFbaHJlZl0iKSkuZmlsdGVyKCh0PT4iY2VsbCBib2R5LWNlbGwiIT09dC5nZXRBdHRyaWJ1dGUoInBhcnQiKSkpLmluZGV4T2YodCk7cmV0dXJuIXQuZGlzYWJsZWQmJmV9LEYxdD10PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue2l0ZW1zOkFycmF5fX1zdGF0aWMgZ2V0IG9ic2VydmVycygpe3JldHVyblsiX2l0ZW1zQ2hhbmdlZChpdGVtcywgaXRlbXMuKiwgaXNBdHRhY2hlZCkiXX1faXRlbXNDaGFuZ2VkKHQsZSxuKXtpZihuKXtpZighQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gbnVsbD09dCYmKHRoaXMuc2l6ZT0wKSx2b2lkKHRoaXMuZGF0YVByb3ZpZGVyPT09dGhpcy5fYXJyYXlEYXRhUHJvdmlkZXImJih0aGlzLmRhdGFQcm92aWRlcj12b2lkIDApKTt0aGlzLnNpemU9dC5sZW5ndGgsdGhpcy5kYXRhUHJvdmlkZXI9dGhpcy5kYXRhUHJvdmlkZXJ8fHRoaXMuX2FycmF5RGF0YVByb3ZpZGVyLHRoaXMuY2xlYXJDYWNoZSgpLHRoaXMuX2Vuc3VyZUZpcnN0UGFnZUxvYWRlZCgpfX1fYXJyYXlEYXRhUHJvdmlkZXIodCxlKXtsZXQgbj0oQXJyYXkuaXNBcnJheSh0aGlzLml0ZW1zKT90aGlzLml0ZW1zOltdKS5zbGljZSgwKTt0aGlzLl9maWx0ZXJzJiZ0aGlzLl9jaGVja1BhdGhzKHRoaXMuX2ZpbHRlcnMsImZpbHRlcmluZyIsbikmJihuPXRoaXMuX2ZpbHRlcihuKSksdGhpcy5zaXplPW4ubGVuZ3RoLHQuc29ydE9yZGVycy5sZW5ndGgmJnRoaXMuX2NoZWNrUGF0aHModGhpcy5fc29ydGVycywic29ydGluZyIsbikmJihuPW4uc29ydCh0aGlzLl9tdWx0aVNvcnQuYmluZCh0aGlzKSkpO2NvbnN0IGk9dC5wYWdlKnQucGFnZVNpemU7ZShuLnNsaWNlKGksaSt0LnBhZ2VTaXplKSxuLmxlbmd0aCl9X2NoZWNrUGF0aHModCxlLG4pe2lmKCFuLmxlbmd0aClyZXR1cm4hMTtsZXQgaT0hMDtmb3IobGV0IHIgaW4gdCl7Y29uc3Qgbz10W3JdLnBhdGg7aWYoIW98fC0xPT09by5pbmRleE9mKCIuIikpY29udGludWU7Y29uc3QgYT1vLnJlcGxhY2UoL1wuW14uXSokLywiIik7dm9pZCAwPT09RW8uZ2V0KGEsblswXSkmJihjb25zb2xlLndhcm4oYFBhdGggIiR7b30iIHVzZWQgZm9yICR7ZX0gZG9lcyBub3QgZXhpc3QgaW4gYWxsIG9mIHRoZSBpdGVtcywgJHtlfSBpcyBkaXNhYmxlZC5gKSxpPSExKX1yZXR1cm4gaX1fbXVsdGlTb3J0KHQsZSl7cmV0dXJuIHRoaXMuX3NvcnRlcnMubWFwKChuPT4iYXNjIj09PW4uZGlyZWN0aW9uP3RoaXMuX2NvbXBhcmUoRW8uZ2V0KG4ucGF0aCx0KSxFby5nZXQobi5wYXRoLGUpKToiZGVzYyI9PT1uLmRpcmVjdGlvbj90aGlzLl9jb21wYXJlKEVvLmdldChuLnBhdGgsZSksRW8uZ2V0KG4ucGF0aCx0KSk6MCkpLnJlZHVjZSgoKHQsZSk9PnR8fGUpLDApfV9ub3JtYWxpemVFbXB0eVZhbHVlKHQpe3JldHVyblt2b2lkIDAsbnVsbF0uaW5kZXhPZih0KT49MD8iIjppc05hTih0KT90LnRvU3RyaW5nKCk6dH1fY29tcGFyZSh0LGUpe3JldHVybih0PXRoaXMuX25vcm1hbGl6ZUVtcHR5VmFsdWUodCkpPChlPXRoaXMuX25vcm1hbGl6ZUVtcHR5VmFsdWUoZSkpPy0xOnQ+ZT8xOjB9X2ZpbHRlcih0KXtyZXR1cm4gdC5maWx0ZXIoKHQ9PjA9PT10aGlzLl9maWx0ZXJzLmZpbHRlcigoZT0+e2NvbnN0IG49dGhpcy5fbm9ybWFsaXplRW1wdHlWYWx1ZShFby5nZXQoZS5wYXRoLHQpKSxpPXRoaXMuX25vcm1hbGl6ZUVtcHR5VmFsdWUoZS52YWx1ZSkudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO3JldHVybi0xPT09bi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihpKX0pKS5sZW5ndGgpKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLFYxdD10PT5jbGFzcyBleHRlbmRzKGJpKHQpKXtyZWFkeSgpe3N1cGVyLnJlYWR5KCk7Y29uc3QgdD10aGlzLiQuc2Nyb2xsZXI7Y2kodCwidHJhY2siLHRoaXMuX29uSGVhZGVyVHJhY2suYmluZCh0aGlzKSksdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLChlPT50Lmhhc0F0dHJpYnV0ZSgiY29sdW1uLXJlc2l6aW5nIikmJmUucHJldmVudERlZmF1bHQoKSkpLHQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLCh0PT4icmVzaXplLWhhbmRsZSI9PXQudGFyZ2V0LmdldEF0dHJpYnV0ZSgicGFydCIpJiZ0LnByZXZlbnREZWZhdWx0KCkpKSx0LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsKHQ9PiJyZXNpemUtaGFuZGxlIj09PXQudGFyZ2V0LmdldEF0dHJpYnV0ZSgicGFydCIpJiZ0LnByZXZlbnREZWZhdWx0KCkpKX1fb25IZWFkZXJUcmFjayh0KXtjb25zdCBlPXQudGFyZ2V0O2lmKCJyZXNpemUtaGFuZGxlIj09PWUuZ2V0QXR0cmlidXRlKCJwYXJ0Iikpe2xldCBuPWUucGFyZW50RWxlbWVudC5fY29sdW1uO2Zvcih0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImNvbHVtbi1yZXNpemluZyIsITAsdGhpcy4kLnNjcm9sbGVyKTsidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIj09PW4ubG9jYWxOYW1lOyluPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG4uX2NoaWxkQ29sdW1ucywwKS5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiB0Ll9vcmRlci1lLl9vcmRlcn0pKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiF0LmhpZGRlbn0pKS5wb3AoKTtjb25zdCBpPUFycmF5LmZyb20odGhpcy4kLmhlYWRlci5xdWVyeVNlbGVjdG9yQWxsKCdbcGFydH49InJvdyJdOmxhc3QtY2hpbGQgW3BhcnR+PSJjZWxsIl0nKSkscj1pLmZpbHRlcigodD0+dC5fY29sdW1uPT09bikpWzBdO2lmKHIub2Zmc2V0V2lkdGgpe2NvbnN0IGU9d2luZG93LmdldENvbXB1dGVkU3R5bGUociksaT0xMCtwYXJzZUludChlLnBhZGRpbmdMZWZ0KStwYXJzZUludChlLnBhZGRpbmdSaWdodCkrcGFyc2VJbnQoZS5ib3JkZXJMZWZ0V2lkdGgpK3BhcnNlSW50KGUuYm9yZGVyUmlnaHRXaWR0aCkrcGFyc2VJbnQoZS5tYXJnaW5MZWZ0KStwYXJzZUludChlLm1hcmdpblJpZ2h0KSxvPXIub2Zmc2V0V2lkdGgrKHRoaXMuX19pc1JUTD9yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQtdC5kZXRhaWwueDp0LmRldGFpbC54LXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkucmlnaHQpO24ud2lkdGg9TWF0aC5tYXgoaSxvKSsicHgiLG4uZmxleEdyb3c9MH1pLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuX2NvbHVtbi5fb3JkZXItZS5fY29sdW1uLl9vcmRlcn0pKS5mb3JFYWNoKChmdW5jdGlvbih0LGUsbil7ZTxuLmluZGV4T2YocikmJih0Ll9jb2x1bW4ud2lkdGg9dC5vZmZzZXRXaWR0aCsicHgiLHQuX2NvbHVtbi5mbGV4R3Jvdz0wKX0pKSwiZW5kIj09PXQuZGV0YWlsLnN0YXRlJiYodGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJjb2x1bW4tcmVzaXppbmciLCExLHRoaXMuJC5zY3JvbGxlciksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29sdW1uLXJlc2l6ZSIse2RldGFpbDp7cmVzaXplZENvbHVtbjpufX0pKSksdGhpcy5fcmVzaXplSGFuZGxlcigpfX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLFUxdD1jbGFzcyB0e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmdyaWQ9dCx0aGlzLnBhcmVudENhY2hlPWUsdGhpcy5wYXJlbnRJdGVtPW4sdGhpcy5pdGVtQ2FjaGVzPXt9LHRoaXMuaXRlbXM9e30sdGhpcy5lZmZlY3RpdmVTaXplPTAsdGhpcy5zaXplPTAsdGhpcy5wZW5kaW5nUmVxdWVzdHM9e319aXNMb2FkaW5nKCl7cmV0dXJuIEJvb2xlYW4oT2JqZWN0LmtleXModGhpcy5wZW5kaW5nUmVxdWVzdHMpLmxlbmd0aHx8T2JqZWN0LmtleXModGhpcy5pdGVtQ2FjaGVzKS5maWx0ZXIoKHQ9PnRoaXMuaXRlbUNhY2hlc1t0XS5pc0xvYWRpbmcoKSkpWzBdKX1nZXRJdGVtRm9ySW5kZXgodCl7Y29uc3R7Y2FjaGU6ZSxzY2FsZWRJbmRleDpufT10aGlzLmdldENhY2hlQW5kSW5kZXgodCk7cmV0dXJuIGUuaXRlbXNbbl19dXBkYXRlU2l6ZSgpe3RoaXMuZWZmZWN0aXZlU2l6ZT0hdGhpcy5wYXJlbnRJdGVtfHx0aGlzLmdyaWQuX2lzRXhwYW5kZWQodGhpcy5wYXJlbnRJdGVtKT90aGlzLnNpemUrT2JqZWN0LmtleXModGhpcy5pdGVtQ2FjaGVzKS5yZWR1Y2UoKCh0LGUpPT57Y29uc3Qgbj10aGlzLml0ZW1DYWNoZXNbZV07cmV0dXJuIG4udXBkYXRlU2l6ZSgpLHQrbi5lZmZlY3RpdmVTaXplfSksMCk6MH1lbnN1cmVTdWJDYWNoZUZvclNjYWxlZEluZGV4KGUpe2lmKCF0aGlzLml0ZW1DYWNoZXNbZV0pe2NvbnN0IG49bmV3IHQodGhpcy5ncmlkLHRoaXMsdGhpcy5pdGVtc1tlXSk7dGhpcy5pdGVtQ2FjaGVzW2VdPW4sdGhpcy5ncmlkLl9sb2FkUGFnZSgwLG4pfX1nZXRDYWNoZUFuZEluZGV4KHQpe2xldCBlPXQ7Y29uc3Qgbj1PYmplY3Qua2V5cyh0aGlzLml0ZW1DYWNoZXMpO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXtjb25zdCBpPU51bWJlcihuW3RdKSxyPXRoaXMuaXRlbUNhY2hlc1tpXTtpZihlPD1pKXJldHVybntjYWNoZTp0aGlzLHNjYWxlZEluZGV4OmV9O2lmKGU8PWkrci5lZmZlY3RpdmVTaXplKXJldHVybiByLmdldENhY2hlQW5kSW5kZXgoZS1pLTEpO2UtPXIuZWZmZWN0aXZlU2l6ZX1yZXR1cm57Y2FjaGU6dGhpcyxzY2FsZWRJbmRleDplfX19LGoxdD10PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue3BhZ2VTaXplOnt0eXBlOk51bWJlcix2YWx1ZTo1MCxvYnNlcnZlcjoiX3BhZ2VTaXplQ2hhbmdlZCJ9LGRhdGFQcm92aWRlcjp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwLG9ic2VydmVyOiJfZGF0YVByb3ZpZGVyQ2hhbmdlZCJ9LGxvYWRpbmc6e3R5cGU6Qm9vbGVhbixub3RpZnk6ITAscmVhZE9ubHk6ITAscmVmbGVjdFRvQXR0cmlidXRlOiEwfSxfY2FjaGU6e3R5cGU6T2JqZWN0LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBVMXQodGhpcyl9fSxpdGVtSWRQYXRoOnt0eXBlOlN0cmluZyx2YWx1ZTpudWxsfSxleHBhbmRlZEl0ZW1zOnt0eXBlOk9iamVjdCxub3RpZnk6ITAsdmFsdWU6KCk9PltdfX19c3RhdGljIGdldCBvYnNlcnZlcnMoKXtyZXR1cm5bIl9zaXplQ2hhbmdlZChzaXplKSIsIl9pdGVtSWRQYXRoQ2hhbmdlZChpdGVtSWRQYXRoKSIsIl9leHBhbmRlZEl0ZW1zQ2hhbmdlZChleHBhbmRlZEl0ZW1zLiopIl19X3NpemVDaGFuZ2VkKHQpe2NvbnN0IGU9dC10aGlzLl9jYWNoZS5zaXplO3RoaXMuX2NhY2hlLnNpemUrPWUsdGhpcy5fY2FjaGUuZWZmZWN0aXZlU2l6ZSs9ZSx0aGlzLl9lZmZlY3RpdmVTaXplPXRoaXMuX2NhY2hlLmVmZmVjdGl2ZVNpemUsdGhpcy5faW5jcmVhc2VQb29sSWZOZWVkZWQoMCksdGhpcy5fZGVib3VuY2VJbmNyZWFzZVBvb2wmJnRoaXMuX2RlYm91bmNlSW5jcmVhc2VQb29sLmZsdXNoKCl9X2dldEl0ZW0odCxlKXtpZih0Pj10aGlzLl9lZmZlY3RpdmVTaXplKXJldHVybjtlLmluZGV4PXQ7Y29uc3R7Y2FjaGU6bixzY2FsZWRJbmRleDppfT10aGlzLl9jYWNoZS5nZXRDYWNoZUFuZEluZGV4KHQpLHI9bi5pdGVtc1tpXTtyPyh0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImxvYWRpbmciLCExLGUpLHRoaXMuX3VwZGF0ZUl0ZW0oZSxyKSx0aGlzLl9pc0V4cGFuZGVkKHIpJiZuLmVuc3VyZVN1YkNhY2hlRm9yU2NhbGVkSW5kZXgoaSkpOih0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImxvYWRpbmciLCEwLGUpLHRoaXMuX2xvYWRQYWdlKHRoaXMuX2dldFBhZ2VGb3JJbmRleChpKSxuKSl9X2V4cGFuZGVkSW5zdGFuY2VDaGFuZ2VkQ2FsbGJhY2sodCxlKXt2b2lkIDAhPT10Lml0ZW0mJihlP3RoaXMuZXhwYW5kSXRlbSh0Lml0ZW0pOnRoaXMuY29sbGFwc2VJdGVtKHQuaXRlbSkpfWdldEl0ZW1JZCh0KXtyZXR1cm4gdGhpcy5pdGVtSWRQYXRoP3RoaXMuZ2V0KHRoaXMuaXRlbUlkUGF0aCx0KTp0fV9pc0V4cGFuZGVkKHQpe3JldHVybiB0aGlzLl9fZXhwYW5kZWRLZXlzLmhhcyh0aGlzLmdldEl0ZW1JZCh0KSl9X2V4cGFuZGVkSXRlbXNDaGFuZ2VkKCl7dGhpcy5fX2NhY2hlRXhwYW5kZWRLZXlzKCksdGhpcy5fY2FjaGUudXBkYXRlU2l6ZSgpLHRoaXMuX2VmZmVjdGl2ZVNpemU9dGhpcy5fY2FjaGUuZWZmZWN0aXZlU2l6ZSx0aGlzLl9hc3NpZ25Nb2RlbHMoKX1faXRlbUlkUGF0aENoYW5nZWQoKXt0aGlzLl9fY2FjaGVFeHBhbmRlZEtleXMoKX1fX2NhY2hlRXhwYW5kZWRLZXlzKCl7dGhpcy5leHBhbmRlZEl0ZW1zJiYodGhpcy5fX2V4cGFuZGVkS2V5cz1uZXcgU2V0LHRoaXMuZXhwYW5kZWRJdGVtcy5mb3JFYWNoKCh0PT57dGhpcy5fX2V4cGFuZGVkS2V5cy5hZGQodGhpcy5nZXRJdGVtSWQodCkpfSkpKX1leHBhbmRJdGVtKHQpe3RoaXMuX2lzRXhwYW5kZWQodCl8fCh0aGlzLmV4cGFuZGVkSXRlbXM9Wy4uLnRoaXMuZXhwYW5kZWRJdGVtcyx0XSl9Y29sbGFwc2VJdGVtKHQpe3RoaXMuX2lzRXhwYW5kZWQodCkmJih0aGlzLmV4cGFuZGVkSXRlbXM9dGhpcy5leHBhbmRlZEl0ZW1zLmZpbHRlcigoZT0+IXRoaXMuX2l0ZW1zRXF1YWwoZSx0KSkpKX1fZ2V0SW5kZXhMZXZlbCh0KXtsZXR7Y2FjaGU6ZX09dGhpcy5fY2FjaGUuZ2V0Q2FjaGVBbmRJbmRleCh0KSxuPTA7Zm9yKDtlLnBhcmVudENhY2hlOyllPWUucGFyZW50Q2FjaGUsbisrO3JldHVybiBufV9jYW5Qb3B1bGF0ZSgpe3JldHVybiBCb29sZWFuKHRoaXMuX2hhc0RhdGEmJnRoaXMuX2NvbHVtblRyZWUpfV9sb2FkUGFnZSh0LGUpe2lmKCFlLnBlbmRpbmdSZXF1ZXN0c1t0XSYmdGhpcy5kYXRhUHJvdmlkZXIpe3RoaXMuX3NldExvYWRpbmcoITApLGUucGVuZGluZ1JlcXVlc3RzW3RdPSEwO2NvbnN0IG49e3BhZ2U6dCxwYWdlU2l6ZTp0aGlzLnBhZ2VTaXplLHNvcnRPcmRlcnM6dGhpcy5fbWFwU29ydGVycygpLGZpbHRlcnM6dGhpcy5fbWFwRmlsdGVycygpLHBhcmVudEl0ZW06ZS5wYXJlbnRJdGVtfTt0aGlzLl9kZWJvdW5jZUluY3JlYXNlUG9vbCYmdGhpcy5fZGVib3VuY2VJbmNyZWFzZVBvb2wuZmx1c2goKSx0aGlzLmRhdGFQcm92aWRlcihuLCgoaSxyKT0+e3ZvaWQgMCE9PXI/ZS5zaXplPXI6bi5wYXJlbnRJdGVtJiYoZS5zaXplPWkubGVuZ3RoKTtjb25zdCBvPUFycmF5LmZyb20odGhpcy4kLml0ZW1zLmNoaWxkcmVuKS5tYXAoKHQ9PnQuX2l0ZW0pKTtpLmZvckVhY2goKChuLGkpPT57Y29uc3Qgcj10KnRoaXMucGFnZVNpemUraTtlLml0ZW1zW3JdPW4sdGhpcy5faXNFeHBhbmRlZChuKSYmby5pbmRleE9mKG4pPi0xJiZlLmVuc3VyZVN1YkNhY2hlRm9yU2NhbGVkSW5kZXgocil9KSksdGhpcy5faGFzRGF0YT0hMCxkZWxldGUgZS5wZW5kaW5nUmVxdWVzdHNbdF0sdGhpcy5fZGVib3VuY2VyQXBwbHlDYWNoZWREYXRhPU5uLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlckFwcGx5Q2FjaGVkRGF0YSxndC5hZnRlcigwKSwoKCk9Pnt0aGlzLl9zZXRMb2FkaW5nKCExKSx0aGlzLl9jYWNoZS51cGRhdGVTaXplKCksdGhpcy5fZWZmZWN0aXZlU2l6ZT10aGlzLl9jYWNoZS5lZmZlY3RpdmVTaXplLEFycmF5LmZyb20odGhpcy4kLml0ZW1zLmNoaWxkcmVuKS5maWx0ZXIoKHQ9PiF0LmhpZGRlbikpLmZvckVhY2goKHQ9Pnt0aGlzLl9jYWNoZS5nZXRJdGVtRm9ySW5kZXgodC5pbmRleCkmJnRoaXMuX2dldEl0ZW0odC5pbmRleCx0KX0pKSx0aGlzLl9pbmNyZWFzZVBvb2xJZk5lZWRlZCgwKSx0aGlzLl9fc2Nyb2xsVG9QZW5kaW5nSW5kZXgoKX0pKSx0aGlzLl9jYWNoZS5pc0xvYWRpbmcoKXx8dGhpcy5fZGVib3VuY2VyQXBwbHlDYWNoZWREYXRhLmZsdXNoKCksdGhpcy5fX2l0ZW1zUmVjZWl2ZWQoKX0pKX19X2dldFBhZ2VGb3JJbmRleCh0KXtyZXR1cm4gTWF0aC5mbG9vcih0L3RoaXMucGFnZVNpemUpfWNsZWFyQ2FjaGUoKXt0aGlzLl9jYWNoZT1uZXcgVTF0KHRoaXMpLEFycmF5LmZyb20odGhpcy4kLml0ZW1zLmNoaWxkcmVuKS5mb3JFYWNoKCh0PT57QXJyYXkuZnJvbSh0LmNoaWxkcmVuKS5mb3JFYWNoKCh0PT57dC5faW5zdGFuY2UmJnQuX2luc3RhbmNlLl9zZXRQZW5kaW5nUHJvcGVydHkoIml0ZW0iLHt9LCExKX0pKX0pKSx0aGlzLl9jYWNoZS5zaXplPXRoaXMuc2l6ZXx8MCx0aGlzLl9jYWNoZS51cGRhdGVTaXplKCksdGhpcy5faGFzRGF0YT0hMSx0aGlzLl9hc3NpZ25Nb2RlbHMoKSx0aGlzLl9lZmZlY3RpdmVTaXplJiZ0aGlzLl9pbml0aWFsUG9vbENyZWF0ZWR8fHRoaXMuX2xvYWRQYWdlKDAsdGhpcy5fY2FjaGUpfV9wYWdlU2l6ZUNoYW5nZWQodCxlKXt2b2lkIDAhPT1lJiZ0IT09ZSYmdGhpcy5jbGVhckNhY2hlKCl9X2NoZWNrU2l6ZSgpe3ZvaWQgMD09PXRoaXMuc2l6ZSYmMD09PXRoaXMuX2VmZmVjdGl2ZVNpemUmJmNvbnNvbGUud2FybigiVGhlIDx2YWFkaW4tZ3JpZD4gbmVlZHMgdGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcyBpbiBvcmRlciB0byBkaXNwbGF5IHJvd3MuIFNldCB0aGUgdG90YWwgbnVtYmVyIG9mIGl0ZW1zIHRvIHRoZSBgc2l6ZWAgcHJvcGVydHksIG9yIHByb3ZpZGUgdGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgc2Vjb25kIGFyZ3VtZW50IG9mIHRoZSBgZGF0YVByb3ZpZGVyYOKAmXMgYGNhbGxiYWNrYCBjYWxsLiIpfV9kYXRhUHJvdmlkZXJDaGFuZ2VkKHQsZSl7dm9pZCAwIT09ZSYmdGhpcy5jbGVhckNhY2hlKCksdCYmdGhpcy5pdGVtcyYmdGhpcy5pdGVtcy5sZW5ndGgmJnRoaXMuX3Njcm9sbFRvSW5kZXgodGhpcy5fZmlyc3RWaXNpYmxlSW5kZXgpLHRoaXMuX2Vuc3VyZUZpcnN0UGFnZUxvYWRlZCgpLHRoaXMuX2RlYm91bmNlckNoZWNrU2l6ZT1Obi5kZWJvdW5jZSh0aGlzLl9kZWJvdW5jZXJDaGVja1NpemUsZ3QuYWZ0ZXIoMmUzKSx0aGlzLl9jaGVja1NpemUuYmluZCh0aGlzKSksdGhpcy5fc2Nyb2xsSGFuZGxlcigpfV9lbnN1cmVGaXJzdFBhZ2VMb2FkZWQoKXt0aGlzLl9oYXNEYXRhfHx0aGlzLl9sb2FkUGFnZSgwLHRoaXMuX2NhY2hlKX1faXRlbXNFcXVhbCh0LGUpe3JldHVybiB0aGlzLmdldEl0ZW1JZCh0KT09PXRoaXMuZ2V0SXRlbUlkKGUpfV9nZXRJdGVtSW5kZXhJbkFycmF5KHQsZSl7bGV0IG49LTE7cmV0dXJuIGUuZm9yRWFjaCgoKGUsaSk9Pnt0aGlzLl9pdGVtc0VxdWFsKGUsdCkmJihuPWkpfSkpLG59c2Nyb2xsVG9JbmRleCh0KXtzdXBlci5zY3JvbGxUb0luZGV4KHQpLGlzTmFOKHQpfHwhdGhpcy5fY2FjaGUuaXNMb2FkaW5nKCkmJnRoaXMuY2xpZW50SGVpZ2h0fHwodGhpcy5fX3BlbmRpbmdTY3JvbGxUb0luZGV4PXQpfV9fc2Nyb2xsVG9QZW5kaW5nSW5kZXgoKXtpZih0aGlzLl9fcGVuZGluZ1Njcm9sbFRvSW5kZXgmJnRoaXMuJC5pdGVtcy5jaGlsZHJlbi5sZW5ndGgpe2NvbnN0IHQ9dGhpcy5fX3BlbmRpbmdTY3JvbGxUb0luZGV4O2RlbGV0ZSB0aGlzLl9fcGVuZGluZ1Njcm9sbFRvSW5kZXgsdGhpcy5fZGVib3VuY2VJbmNyZWFzZVBvb2wmJnRoaXMuX2RlYm91bmNlSW5jcmVhc2VQb29sLmZsdXNoKCksdGhpcy5zY3JvbGxUb0luZGV4KHQpfX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLEcxdD10PT5jbGFzcyBleHRlbmRzIHR7cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMuX2FkZE5vZGVPYnNlcnZlcigpfV9oYXNDb2x1bW5Hcm91cHModCl7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspaWYoInZhYWRpbi1ncmlkLWNvbHVtbi1ncm91cCI9PT10W2VdLmxvY2FsTmFtZSlyZXR1cm4hMDtyZXR1cm4hMX1fZ2V0Q2hpbGRDb2x1bW5zKHQpe3JldHVybiBHaS5nZXRGbGF0dGVuZWROb2Rlcyh0KS5maWx0ZXIodGhpcy5faXNDb2x1bW5FbGVtZW50KX1fZmxhdHRlbkNvbHVtbkdyb3Vwcyh0KXtyZXR1cm4gdC5tYXAoKHQ9PiJ2YWFkaW4tZ3JpZC1jb2x1bW4tZ3JvdXAiPT09dC5sb2NhbE5hbWU/dGhpcy5fZ2V0Q2hpbGRDb2x1bW5zKHQpOlt0XSkpLnJlZHVjZSgoKHQsZSk9PnQuY29uY2F0KGUpKSxbXSl9X2dldENvbHVtblRyZWUoKXtjb25zdCB0PVtdO2ZvcihsZXQgZT1HaS5nZXRGbGF0dGVuZWROb2Rlcyh0aGlzKS5maWx0ZXIodGhpcy5faXNDb2x1bW5FbGVtZW50KTt0LnB1c2goZSksdGhpcy5faGFzQ29sdW1uR3JvdXBzKGUpOyllPXRoaXMuX2ZsYXR0ZW5Db2x1bW5Hcm91cHMoZSk7cmV0dXJuIHR9X3VwZGF0ZUNvbHVtblRyZWUoKXtjb25zdCB0PXRoaXMuX2dldENvbHVtblRyZWUoKTt0aGlzLl9hcnJheUVxdWFscyh0LHRoaXMuX2NvbHVtblRyZWUpfHwodGhpcy5fY29sdW1uVHJlZT10KX1fYWRkTm9kZU9ic2VydmVyKCl7dGhpcy5fb2JzZXJ2ZXI9bmV3IEdpKHRoaXMsKHQ9Pntjb25zdCBlPXQuYWRkZWROb2Rlcy5maWx0ZXIoKHQ9PiJ0ZW1wbGF0ZSI9PT10LmxvY2FsTmFtZSYmdC5jbGFzc0xpc3QuY29udGFpbnMoInJvdy1kZXRhaWxzIikpKVswXTtlJiZ0aGlzLl9yb3dEZXRhaWxzVGVtcGxhdGUhPT1lJiYodGhpcy5fcm93RGV0YWlsc1RlbXBsYXRlPWUpO2NvbnN0IG49dD0+dC5maWx0ZXIodGhpcy5faXNDb2x1bW5FbGVtZW50KS5sZW5ndGg+MDtpZihuKHQuYWRkZWROb2Rlcyl8fG4odC5yZW1vdmVkTm9kZXMpKXtjb25zdCBlPXQucmVtb3ZlZE5vZGVzLmZsYXRNYXAoKHQ9PnQuX2FsbENlbGxzKSksbj10PT5lLmZpbHRlcigoZT0+ZS5fY29udGVudC5jb250YWlucyh0KSkpLmxlbmd0aDt0aGlzLl9fcmVtb3ZlU29ydGVycyh0aGlzLl9zb3J0ZXJzLmZpbHRlcihuKSksdGhpcy5fX3JlbW92ZUZpbHRlcnModGhpcy5fZmlsdGVycy5maWx0ZXIobikpLHRoaXMuX3VwZGF0ZUNvbHVtblRyZWUoKX10aGlzLl9kZWJvdW5jZXJDaGVja0ltcG9ydHM9Tm4uZGVib3VuY2UodGhpcy5fZGVib3VuY2VyQ2hlY2tJbXBvcnRzLGd0LmFmdGVyKDJlMyksdGhpcy5fY2hlY2tJbXBvcnRzLmJpbmQodGhpcykpLHRoaXMuX2Vuc3VyZUZpcnN0UGFnZUxvYWRlZCgpfSkpfV9hcnJheUVxdWFscyh0LGUpe2lmKCF0fHwhZXx8dC5sZW5ndGghPWUubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgbj0wLGk9dC5sZW5ndGg7bjxpO24rKylpZih0W25daW5zdGFuY2VvZiBBcnJheSYmZVtuXWluc3RhbmNlb2YgQXJyYXkpe2lmKCF0aGlzLl9hcnJheUVxdWFscyh0W25dLGVbbl0pKXJldHVybiExfWVsc2UgaWYodFtuXSE9ZVtuXSlyZXR1cm4hMTtyZXR1cm4hMH1fY2hlY2tJbXBvcnRzKCl7WyJ2YWFkaW4tZ3JpZC1jb2x1bW4tZ3JvdXAiLCJ2YWFkaW4tZ3JpZC1maWx0ZXIiLCJ2YWFkaW4tZ3JpZC1maWx0ZXItY29sdW1uIiwidmFhZGluLWdyaWQtdHJlZS10b2dnbGUiLCJ2YWFkaW4tZ3JpZC1zZWxlY3Rpb24tY29sdW1uIiwidmFhZGluLWdyaWQtc29ydC1jb2x1bW4iLCJ2YWFkaW4tZ3JpZC1zb3J0ZXIiXS5mb3JFYWNoKCh0PT57Y29uc3QgZT10aGlzLnF1ZXJ5U2VsZWN0b3IodCk7IWV8fGUgaW5zdGFuY2VvZiB3ZXx8Y29uc29sZS53YXJuKGBNYWtlIHN1cmUgeW91IGhhdmUgaW1wb3J0ZWQgdGhlIHJlcXVpcmVkIG1vZHVsZSBmb3IgPCR7dH0+IGVsZW1lbnQuYCl9KSl9X3VwZGF0ZUZpcnN0QW5kTGFzdENvbHVtbigpe0FycmF5LmZyb20odGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRyIikpLmZvckVhY2goKHQ9PnRoaXMuX3VwZGF0ZUZpcnN0QW5kTGFzdENvbHVtbkZvclJvdyh0KSkpfV91cGRhdGVGaXJzdEFuZExhc3RDb2x1bW5Gb3JSb3codCl7QXJyYXkuZnJvbSh0LnF1ZXJ5U2VsZWN0b3JBbGwoJ1twYXJ0fj0iY2VsbCJdOm5vdChbcGFydH49ImRldGFpbHMtY2VsbCJdKScpKS5zb3J0KCgodCxlKT0+dC5fY29sdW1uLl9vcmRlci1lLl9jb2x1bW4uX29yZGVyKSkuZm9yRWFjaCgoKHQsZSxuKT0+e3RoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgiZmlyc3QtY29sdW1uIiwwPT09ZSx0KSx0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImxhc3QtY29sdW1uIixlPT09bi5sZW5ndGgtMSx0KX0pKX1faXNDb2x1bW5FbGVtZW50KHQpe3JldHVybiB0Lm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJi9cYmNvbHVtblxiLy50ZXN0KHQubG9jYWxOYW1lKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLFcxdD10PT5jbGFzcyBleHRlbmRzIHR7Z2V0RXZlbnRDb250ZXh0KHQpe2NvbnN0IGU9e30sbj10LmNvbXBvc2VkUGF0aCgpLGk9bltuLmluZGV4T2YodGhpcy4kLnRhYmxlKS0zXTtyZXR1cm4gaT8oZS5zZWN0aW9uPVsiYm9keSIsImhlYWRlciIsImZvb3RlciIsImRldGFpbHMiXS5maWx0ZXIoKHQ9PmkuZ2V0QXR0cmlidXRlKCJwYXJ0IikuaW5kZXhPZih0KT4tMSkpWzBdLGkuX2NvbHVtbiYmKGUuY29sdW1uPWkuX2NvbHVtbiksImJvZHkiIT09ZS5zZWN0aW9uJiYiZGV0YWlscyIhPT1lLnNlY3Rpb258fE9iamVjdC5hc3NpZ24oZSx0aGlzLl9fZ2V0Um93TW9kZWwoaS5wYXJlbnRFbGVtZW50KSksZSk6ZX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLHExdD10PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue19maWx0ZXJzOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fX19cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZmlsdGVyLWNoYW5nZWQiLHRoaXMuX2ZpbHRlckNoYW5nZWQuYmluZCh0aGlzKSl9X2ZpbHRlckNoYW5nZWQodCl7dC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLl9fYWRkRmlsdGVyKHQudGFyZ2V0KSx0aGlzLl9fYXBwbHlGaWx0ZXJzKCl9X19yZW1vdmVGaWx0ZXJzKHQpezAhPXQubGVuZ3RoJiYodGhpcy5fZmlsdGVycz10aGlzLl9maWx0ZXJzLmZpbHRlcigoZT0+dC5pbmRleE9mKGUpPDApKSx0aGlzLl9fYXBwbHlGaWx0ZXJzKCkpfV9fYWRkRmlsdGVyKHQpey0xPT09dGhpcy5fZmlsdGVycy5pbmRleE9mKHQpJiZ0aGlzLl9maWx0ZXJzLnB1c2godCl9X19hcHBseUZpbHRlcnMoKXt0aGlzLmRhdGFQcm92aWRlciYmdGhpcy5pc0F0dGFjaGVkJiZ0aGlzLmNsZWFyQ2FjaGUoKX1fbWFwRmlsdGVycygpe3JldHVybiB0aGlzLl9maWx0ZXJzLm1hcCgodD0+KHtwYXRoOnQucGF0aCx2YWx1ZTp0LnZhbHVlfSkpKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovO2NsYXNzIFkxdCBleHRlbmRzIHdle3N0YXRpYyBnZXQgaXMoKXtyZXR1cm4idmFhZGluLWdyaWQtdGVtcGxhdGl6ZXIifXN0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybntkYXRhSG9zdDpPYmplY3QsdGVtcGxhdGU6T2JqZWN0LF90ZW1wbGF0ZUluc3RhbmNlczp7dHlwZTpBcnJheSx2YWx1ZTpmdW5jdGlvbigpe3JldHVybltdfX0sX3BhcmVudFBhdGhWYWx1ZXM6e3ZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJue319fSxfZ3JpZDpPYmplY3R9fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfdGVtcGxhdGVJbnN0YW5jZXNDaGFuZ2VkKF90ZW1wbGF0ZUluc3RhbmNlcy4qLCBfcGFyZW50UGF0aFZhbHVlcy4qKSJdfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9pbnN0YW5jZVByb3BzPXtkZXRhaWxzT3BlbmVkOiEwLGluZGV4OiEwLGl0ZW06ITAsc2VsZWN0ZWQ6ITAsZXhwYW5kZWQ6ITAsbGV2ZWw6ITB9fWNyZWF0ZUluc3RhbmNlKCl7dGhpcy5fZW5zdXJlVGVtcGxhdGl6ZWQoKTtjb25zdCB0PW5ldyB0aGlzLl9UZW1wbGF0ZUNsYXNzKHt9KTtyZXR1cm4gdGhpcy5hZGRJbnN0YW5jZSh0KSx0fWFkZEluc3RhbmNlKHQpey0xPT09dGhpcy5fdGVtcGxhdGVJbnN0YW5jZXMuaW5kZXhPZih0KSYmKHRoaXMuX3RlbXBsYXRlSW5zdGFuY2VzLnB1c2godCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5ub3RpZnlQYXRoKCJfdGVtcGxhdGVJbnN0YW5jZXMuKiIsdGhpcy5fdGVtcGxhdGVJbnN0YW5jZXMpKSkpfXJlbW92ZUluc3RhbmNlKHQpe2NvbnN0IGU9dGhpcy5fdGVtcGxhdGVJbnN0YW5jZXMuaW5kZXhPZih0KTt0aGlzLnNwbGljZSgiX3RlbXBsYXRlSW5zdGFuY2VzIixlLDEpfV9lbnN1cmVUZW1wbGF0aXplZCgpe3RoaXMuX1RlbXBsYXRlQ2xhc3N8fCh0aGlzLl9UZW1wbGF0ZUNsYXNzPWFvKHRoaXMudGVtcGxhdGUsdGhpcyx7aW5zdGFuY2VQcm9wczp0aGlzLl9pbnN0YW5jZVByb3BzLHBhcmVudE1vZGVsOiEwLGZvcndhcmRIb3N0UHJvcDpmdW5jdGlvbih0LGUpe3RoaXMuX2ZvcndhcmRQYXJlbnRQcm9wKHQsZSksdGhpcy5fdGVtcGxhdGVJbnN0YW5jZXMmJnRoaXMuX3RlbXBsYXRlSW5zdGFuY2VzLmZvckVhY2goKG49Pm4ubm90aWZ5UGF0aCh0LGUpKSl9LG5vdGlmeUluc3RhbmNlUHJvcDpmdW5jdGlvbih0LGUsbil7aWYoImluZGV4Ij09PWV8fCJpdGVtIj09PWUpcmV0dXJuO2NvbnN0IGk9YF9fJHtlfV9fYDtpZih0W2ldPT09bilyZXR1cm47dFtpXT1uO2NvbnN0IHI9QXJyYXkuZnJvbSh0aGlzLl9ncmlkLiQuaXRlbXMuY2hpbGRyZW4pLmZpbHRlcigoZT0+dGhpcy5fZ3JpZC5faXRlbXNFcXVhbChlLl9pdGVtLHQuaXRlbSkpKVswXTtyJiZBcnJheS5mcm9tKHIuY2hpbGRyZW4pLmZvckVhY2goKHQ9Pnt0Ll9pbnN0YW5jZSYmKHQuX2luc3RhbmNlW2ldPW4sdC5faW5zdGFuY2Uubm90aWZ5UGF0aChlLG4pKX0pKTtjb25zdCBvPSJpdGVtLiI7aWYoQXJyYXkuaXNBcnJheSh0aGlzLl9ncmlkLml0ZW1zKSYmMD09PWUuaW5kZXhPZihvKSl7Y29uc3QgaT10aGlzLl9ncmlkLml0ZW1zLmluZGV4T2YodC5pdGVtKSxyPWUuc2xpY2Uoby5sZW5ndGgpO3RoaXMuX2dyaWQubm90aWZ5UGF0aChgaXRlbXMuJHtpfS4ke3J9YCxuKX1jb25zdCBhPWBfJHtlfUluc3RhbmNlQ2hhbmdlZENhbGxiYWNrYDt0aGlzLl9ncmlkJiZ0aGlzLl9ncmlkW2FdJiZ0aGlzLl9ncmlkW2FdKHQsbil9fSkpfV9mb3J3YXJkUGFyZW50UHJvcCh0LGUpe3RoaXMuX3BhcmVudFBhdGhWYWx1ZXNbdF09ZSx0aGlzLl90ZW1wbGF0ZUluc3RhbmNlcy5mb3JFYWNoKChuPT5uLm5vdGlmeVBhdGgodCxlKSkpfV90ZW1wbGF0ZUluc3RhbmNlc0NoYW5nZWQodCl7bGV0IGUsbjtpZigiX3RlbXBsYXRlSW5zdGFuY2VzIj09PXQucGF0aCllPTAsbj10aGlzLl90ZW1wbGF0ZUluc3RhbmNlcy5sZW5ndGg7ZWxzZXtpZigiX3RlbXBsYXRlSW5zdGFuY2VzLnNwbGljZXMiIT09dC5wYXRoKXJldHVybjtlPXQudmFsdWUuaW5kZXgsbj10LnZhbHVlLmFkZGVkQ291bnR9T2JqZWN0LmtleXModGhpcy5fcGFyZW50UGF0aFZhbHVlc3x8e30pLmZvckVhY2goKHQ9Pntmb3IobGV0IGk9ZTtpPGUrbjtpKyspdGhpcy5fdGVtcGxhdGVJbnN0YW5jZXNbaV0uc2V0KHQsdGhpcy5fcGFyZW50UGF0aFZhbHVlc1t0XSl9KSl9fWN1c3RvbUVsZW1lbnRzLmRlZmluZShZMXQuaXMsWTF0KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi8KY29uc3QgWDF0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57ZGV0YWlsc09wZW5lZEl0ZW1zOnt0eXBlOkFycmF5LHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuW119fSxfcm93RGV0YWlsc1RlbXBsYXRlOk9iamVjdCxyb3dEZXRhaWxzUmVuZGVyZXI6RnVuY3Rpb24sX2RldGFpbHNDZWxsczp7dHlwZTpBcnJheX19fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfZGV0YWlsc09wZW5lZEl0ZW1zQ2hhbmdlZChkZXRhaWxzT3BlbmVkSXRlbXMuKiwgX3Jvd0RldGFpbHNUZW1wbGF0ZSwgcm93RGV0YWlsc1JlbmRlcmVyKSIsIl9yb3dEZXRhaWxzVGVtcGxhdGVPclJlbmRlcmVyQ2hhbmdlZChfcm93RGV0YWlsc1RlbXBsYXRlLCByb3dEZXRhaWxzUmVuZGVyZXIpIl19X3Jvd0RldGFpbHNUZW1wbGF0ZU9yUmVuZGVyZXJDaGFuZ2VkKHQsZSl7aWYodCYmZSl0aHJvdyBuZXcgRXJyb3IoIllvdSBzaG91bGQgb25seSB1c2UgZWl0aGVyIGEgcmVuZGVyZXIgb3IgYSB0ZW1wbGF0ZSBmb3Igcm93IGRldGFpbHMiKTtpZih0fHxlKXtpZih0JiYhdC50ZW1wbGF0aXplcil7Y29uc3QgZT1uZXcgWTF0O2UuX2dyaWQ9dGhpcyxlLmRhdGFIb3N0PXRoaXMuZGF0YUhvc3QsZS50ZW1wbGF0ZT10LHQudGVtcGxhdGl6ZXI9ZX10aGlzLl9jb2x1bW5UcmVlJiZBcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZm9yRWFjaCgodD0+e3QucXVlcnlTZWxlY3RvcigiW3BhcnR+PWRldGFpbHMtY2VsbF0iKXx8KHRoaXMuX3VwZGF0ZVJvdyh0LHRoaXMuX2NvbHVtblRyZWVbdGhpcy5fY29sdW1uVHJlZS5sZW5ndGgtMV0pLHRoaXMuX2ExMXlVcGRhdGVSb3dEZXRhaWxzT3BlbmVkKHQsITEpKSxkZWxldGUgdC5xdWVyeVNlbGVjdG9yKCJbcGFydH49ZGV0YWlscy1jZWxsXSIpLl9pbnN0YW5jZX0pKSx0aGlzLmRldGFpbHNPcGVuZWRJdGVtcy5sZW5ndGgmJihBcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZm9yRWFjaCh0aGlzLl90b2dnbGVEZXRhaWxzQ2VsbCx0aGlzKSx0aGlzLl91cGRhdGUoKSl9fV9kZXRhaWxzT3BlbmVkSXRlbXNDaGFuZ2VkKHQpeyJkZXRhaWxzT3BlbmVkSXRlbXMubGVuZ3RoIiE9PXQucGF0aCYmdC52YWx1ZSYmQXJyYXkuZnJvbSh0aGlzLiQuaXRlbXMuY2hpbGRyZW4pLmZvckVhY2goKHQ9Pnt0aGlzLl90b2dnbGVEZXRhaWxzQ2VsbCh0LHQuX2l0ZW0pLHRoaXMuX2ExMXlVcGRhdGVSb3dEZXRhaWxzT3BlbmVkKHQsdGhpcy5faXNEZXRhaWxzT3BlbmVkKHQuX2l0ZW0pKSx0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImRldGFpbHMtb3BlbmVkIix0aGlzLl9pc0RldGFpbHNPcGVuZWQodC5faXRlbSksdCl9KSl9X2NvbmZpZ3VyZURldGFpbHNDZWxsKHQpe3Quc2V0QXR0cmlidXRlKCJwYXJ0IiwiY2VsbCBkZXRhaWxzLWNlbGwiKSx0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImZyb3plbiIsITAsdCl9X3RvZ2dsZURldGFpbHNDZWxsKHQsZSl7Y29uc3Qgbj10LnF1ZXJ5U2VsZWN0b3IoJ1twYXJ0fj0iZGV0YWlscy1jZWxsIl0nKTtpZighbilyZXR1cm47Y29uc3QgaT0hdGhpcy5faXNEZXRhaWxzT3BlbmVkKGUpLHI9ISFuLmhpZGRlbiE9PWk7KG4uX2luc3RhbmNlfHxuLl9yZW5kZXJlcikmJm4uaGlkZGVuPT09aXx8KG4uaGlkZGVuPWksaT90LnN0eWxlLnJlbW92ZVByb3BlcnR5KCJwYWRkaW5nLWJvdHRvbSIpOih0aGlzLnJvd0RldGFpbHNSZW5kZXJlcj8obi5fcmVuZGVyZXI9dGhpcy5yb3dEZXRhaWxzUmVuZGVyZXIsbi5fcmVuZGVyZXIuY2FsbCh0aGlzLG4uX2NvbnRlbnQsdGhpcyx7aW5kZXg6dC5pbmRleCxpdGVtOmV9KSk6dGhpcy5fcm93RGV0YWlsc1RlbXBsYXRlJiYhbi5faW5zdGFuY2UmJihuLl9pbnN0YW5jZT10aGlzLl9yb3dEZXRhaWxzVGVtcGxhdGUudGVtcGxhdGl6ZXIuY3JlYXRlSW5zdGFuY2UoKSxuLl9jb250ZW50LmlubmVySFRNTD0iIixuLl9jb250ZW50LmFwcGVuZENoaWxkKG4uX2luc3RhbmNlLnJvb3QpLHRoaXMuX3VwZGF0ZUl0ZW0odCxlKSksV2koKSx0LnN0eWxlLnNldFByb3BlcnR5KCJwYWRkaW5nLWJvdHRvbSIsYCR7bi5vZmZzZXRIZWlnaHR9cHhgKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLm5vdGlmeVJlc2l6ZSgpKSkpKSxyJiYodGhpcy5fdXBkYXRlTWV0cmljcygpLHRoaXMuX3Bvc2l0aW9uSXRlbXMoKSl9X3VwZGF0ZURldGFpbHNDZWxsSGVpZ2h0cygpe0FycmF5LmZyb20odGhpcy4kLml0ZW1zLnF1ZXJ5U2VsZWN0b3JBbGwoJ1twYXJ0fj0iZGV0YWlscy1jZWxsIl06bm90KFtoaWRkZW5dKScpKS5mb3JFYWNoKCh0PT57dC5wYXJlbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCJwYWRkaW5nLWJvdHRvbSIsYCR7dC5vZmZzZXRIZWlnaHR9cHhgKX0pKX1faXNEZXRhaWxzT3BlbmVkKHQpe3JldHVybiB0aGlzLmRldGFpbHNPcGVuZWRJdGVtcyYmLTEhPT10aGlzLl9nZXRJdGVtSW5kZXhJbkFycmF5KHQsdGhpcy5kZXRhaWxzT3BlbmVkSXRlbXMpfW9wZW5JdGVtRGV0YWlscyh0KXt0aGlzLl9pc0RldGFpbHNPcGVuZWQodCl8fCh0aGlzLmRldGFpbHNPcGVuZWRJdGVtcz1bLi4udGhpcy5kZXRhaWxzT3BlbmVkSXRlbXMsdF0pfWNsb3NlSXRlbURldGFpbHModCl7dGhpcy5faXNEZXRhaWxzT3BlbmVkKHQpJiYodGhpcy5kZXRhaWxzT3BlbmVkSXRlbXM9dGhpcy5kZXRhaWxzT3BlbmVkSXRlbXMuZmlsdGVyKChlPT4hdGhpcy5faXRlbXNFcXVhbChlLHQpKSkpfV9kZXRhaWxzT3BlbmVkSW5zdGFuY2VDaGFuZ2VkQ2FsbGJhY2sodCxlKXtlP3RoaXMub3Blbkl0ZW1EZXRhaWxzKHQuaXRlbSk6dGhpcy5jbG9zZUl0ZW1EZXRhaWxzKHQuaXRlbSl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLywkMXQ9NTAwLEsxdD01MDAsWjF0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57X2Zyb3plbkNlbGxzOnt0eXBlOkFycmF5LHZhbHVlOigpPT5bXX0sX3Jvd1dpdGhGb2N1c2VkRWxlbWVudDpFbGVtZW50LF9kZWx0YVlBY2M6e3R5cGU6TnVtYmVyLHZhbHVlOjB9LF91c2VTdGlja3k6e3R5cGU6Qm9vbGVhbix2YWx1ZTp3aW5kb3cuQ1NTJiZ3aW5kb3cuQ1NTLnN1cHBvcnRzJiYod2luZG93LkNTUy5zdXBwb3J0cygicG9zaXRpb24iLCJzdGlja3kiKXx8d2luZG93LkNTUy5zdXBwb3J0cygicG9zaXRpb24iLCItd2Via2l0LXN0aWNreSIpKX19fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfc2Nyb2xsVmlld3BvcnRIZWlnaHRVcGRhdGVkKF92aWV3cG9ydEhlaWdodCkiXX1zZXQgX3Njcm9sbFRvcCh0KXt0aGlzLiQudGFibGUuc2Nyb2xsVG9wPXR9Z2V0IF9zY3JvbGxUb3AoKXtyZXR1cm4gdGhpcy4kLnRhYmxlLnNjcm9sbFRvcH1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5fc2Nyb2xsTGluZUhlaWdodD10aGlzLl9nZXRTY3JvbGxMaW5lSGVpZ2h0KCl9X2dldFNjcm9sbExpbmVIZWlnaHQoKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3Quc3R5bGUuZm9udFNpemU9ImluaXRpYWwiLHQuc3R5bGUuZGlzcGxheT0ibm9uZSIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KTtjb25zdCBlPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLmZvbnRTaXplO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLGU/d2luZG93LnBhcnNlSW50KGUpOnZvaWQgMH1fc2Nyb2xsVmlld3BvcnRIZWlnaHRVcGRhdGVkKHQpe3RoaXMuX3Njcm9sbFBhZ2VIZWlnaHQ9dC10aGlzLiQuaGVhZGVyLmNsaWVudEhlaWdodC10aGlzLiQuZm9vdGVyLmNsaWVudEhlaWdodC10aGlzLl9zY3JvbGxMaW5lSGVpZ2h0fXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLiQub3V0ZXJzY3JvbGxlcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLnNjcm9sbFRhcmdldD10aGlzLiQudGFibGUsdGhpcy5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsdGhpcy5fb25XaGVlbCksdGhpcy4kLml0ZW1zLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCh0PT57Y29uc3QgZT10LmNvbXBvc2VkUGF0aCgpLmluZGV4T2YodGhpcy4kLml0ZW1zKTt0aGlzLl9yb3dXaXRoRm9jdXNlZEVsZW1lbnQ9dC5jb21wb3NlZFBhdGgoKVtlLTFdfSkpLHRoaXMuJC5pdGVtcy5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsKCgpPT50aGlzLl9yb3dXaXRoRm9jdXNlZEVsZW1lbnQ9dm9pZCAwKSksdGhpcy5zY3JvbGxUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwoKCk9PnRoaXMuX19tb3VzZURvd249ITApKSx0aGlzLnNjcm9sbFRhcmdldC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwoKCk9Pnt0aGlzLl9fbW91c2VEb3duPSExLHRoaXMuX19wZW5kaW5nUmVvcmRlciYmKHRoaXMuX19wZW5kaW5nUmVvcmRlcj0hMSxzZXRUaW1lb3V0KCgoKT0+dGhpcy5fcmVvcmRlclJvd3MoKSksJDF0KSl9KSl9c2Nyb2xsVG9JbmRleCh0KXt0aGlzLl9hY2Nlc3NJcm9uTGlzdEFQSSgoKCk9PnN1cGVyLnNjcm9sbFRvSW5kZXgodCkpKX1fb25XaGVlbCh0KXtpZih0LmN0cmxLZXl8fHRoaXMuX2hhc1Njcm9sbGVkQW5jZXN0b3IodC50YXJnZXQsdC5kZWx0YVgsdC5kZWx0YVkpKXJldHVybjtjb25zdCBlPXRoaXMuJC50YWJsZTtsZXQgbj10LmRlbHRhWTtpZih0LmRlbHRhTW9kZT09PVdoZWVsRXZlbnQuRE9NX0RFTFRBX0xJTkU/bio9dGhpcy5fc2Nyb2xsTGluZUhlaWdodDp0LmRlbHRhTW9kZT09PVdoZWVsRXZlbnQuRE9NX0RFTFRBX1BBR0UmJihuKj10aGlzLl9zY3JvbGxQYWdlSGVpZ2h0KSx0aGlzLl93aGVlbEFuaW1hdGlvbkZyYW1lKXJldHVybiB0aGlzLl9kZWx0YVlBY2MrPW4sdm9pZCB0LnByZXZlbnREZWZhdWx0KCk7bis9dGhpcy5fZGVsdGFZQWNjLHRoaXMuX2RlbHRhWUFjYz0wLHRoaXMuX3doZWVsQW5pbWF0aW9uRnJhbWU9ITAsdGhpcy5fZGVib3VuY2VyV2hlZWxBbmltYXRpb25GcmFtZT1Obi5kZWJvdW5jZSh0aGlzLl9kZWJvdW5jZXJXaGVlbEFuaW1hdGlvbkZyYW1lLF90LCgoKT0+dGhpcy5fd2hlZWxBbmltYXRpb25GcmFtZT0hMSkpO2NvbnN0IGk9TWF0aC5hYnModC5kZWx0YVgpK01hdGguYWJzKG4pO3RoaXMuX2NhblNjcm9sbChlLHQuZGVsdGFYLG4pPyh0LnByZXZlbnREZWZhdWx0KCksZS5zY3JvbGxUb3ArPW4sZS5zY3JvbGxMZWZ0Kz10LmRlbHRhWCx0aGlzLl9zY3JvbGxIYW5kbGVyKCksdGhpcy5faGFzUmVzaWR1YWxNb21lbnR1bT0hMCx0aGlzLl9pZ25vcmVOZXdXaGVlbD0hMCx0aGlzLl9kZWJvdW5jZXJJZ25vcmVOZXdXaGVlbD1Obi5kZWJvdW5jZSh0aGlzLl9kZWJvdW5jZXJJZ25vcmVOZXdXaGVlbCxndC5hZnRlcihLMXQpLCgoKT0+dGhpcy5faWdub3JlTmV3V2hlZWw9ITEpKSk6dGhpcy5faGFzUmVzaWR1YWxNb21lbnR1bSYmaTw9dGhpcy5fcHJldmlvdXNNb21lbnR1bXx8dGhpcy5faWdub3JlTmV3V2hlZWw/dC5wcmV2ZW50RGVmYXVsdCgpOmk+dGhpcy5fcHJldmlvdXNNb21lbnR1bSYmKHRoaXMuX2hhc1Jlc2lkdWFsTW9tZW50dW09ITEpLHRoaXMuX3ByZXZpb3VzTW9tZW50dW09aX1faGFzU2Nyb2xsZWRBbmNlc3Rvcih0LGUsbil7cmV0dXJuInZhYWRpbi1ncmlkLWNlbGwtY29udGVudCIhPT10LmxvY2FsTmFtZSYmKCEoIXRoaXMuX2NhblNjcm9sbCh0LGUsbil8fC0xPT09WyJhdXRvIiwic2Nyb2xsIl0uaW5kZXhPZihnZXRDb21wdXRlZFN0eWxlKHQpLm92ZXJmbG93KSl8fCh0IT09dGhpcyYmdC5wYXJlbnRFbGVtZW50P3RoaXMuX2hhc1Njcm9sbGVkQW5jZXN0b3IodC5wYXJlbnRFbGVtZW50LGUsbik6dm9pZCAwKSl9X2NhblNjcm9sbCh0LGUsbil7cmV0dXJuIG4+MCYmdC5zY3JvbGxUb3A8dC5zY3JvbGxIZWlnaHQtdC5vZmZzZXRIZWlnaHR8fG48MCYmdC5zY3JvbGxUb3A+MHx8ZT4wJiZ0LnNjcm9sbExlZnQ8dC5zY3JvbGxXaWR0aC10Lm9mZnNldFdpZHRofHxlPDAmJnQuc2Nyb2xsTGVmdD4wfV9zY2hlZHVsZVNjcm9sbGluZygpe3RoaXMuX3Njcm9sbGluZ0ZyYW1lfHwodGhpcy5fc2Nyb2xsaW5nRnJhbWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJzY3JvbGxpbmciLCEwLHRoaXMuJC5zY3JvbGxlcikpKSksdGhpcy5fZGVib3VuY2VTY3JvbGxpbmc9Tm4uZGVib3VuY2UodGhpcy5fZGVib3VuY2VTY3JvbGxpbmcsZ3QuYWZ0ZXIoJDF0KSwoKCk9PntjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9zY3JvbGxpbmdGcmFtZSksZGVsZXRlIHRoaXMuX3Njcm9sbGluZ0ZyYW1lLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgic2Nyb2xsaW5nIiwhMSx0aGlzLiQuc2Nyb2xsZXIpLHRoaXMuX3Jlb3JkZXJSb3dzKCl9KSl9X2FmdGVyU2Nyb2xsKCl7dGhpcy5fdHJhbnNsYXRlU3RhdGlvbmFyeUVsZW1lbnRzKCksdGhpcy5oYXNBdHRyaWJ1dGUoInJlb3JkZXJpbmciKXx8dGhpcy5fc2NoZWR1bGVTY3JvbGxpbmcoKSx0aGlzLl91cGRhdGVPdmVyZmxvdygpfV91cGRhdGVPdmVyZmxvdygpe2xldCB0PSIiO2NvbnN0IGU9dGhpcy4kLnRhYmxlO2Uuc2Nyb2xsVG9wPGUuc2Nyb2xsSGVpZ2h0LWUuY2xpZW50SGVpZ2h0JiYodCs9IiBib3R0b20iKSxlLnNjcm9sbFRvcD4wJiYodCs9IiB0b3AiKSxlLnNjcm9sbExlZnQ8ZS5zY3JvbGxXaWR0aC1lLmNsaWVudFdpZHRoJiYodCs9IiByaWdodCIpLGUuc2Nyb2xsTGVmdD4wJiYodCs9IiBsZWZ0IiksdGhpcy5fZGVib3VuY2VPdmVyZmxvdz1Obi5kZWJvdW5jZSh0aGlzLl9kZWJvdW5jZU92ZXJmbG93LF90LCgoKT0+e2NvbnN0IGU9dC50cmltKCk7ZS5sZW5ndGg+MCYmdGhpcy5nZXRBdHRyaWJ1dGUoIm92ZXJmbG93IikhPT1lP3RoaXMuc2V0QXR0cmlidXRlKCJvdmVyZmxvdyIsZSk6MD09ZS5sZW5ndGgmJnRoaXMuaGFzQXR0cmlidXRlKCJvdmVyZmxvdyIpJiZ0aGlzLnJlbW92ZUF0dHJpYnV0ZSgib3ZlcmZsb3ciKX0pKX1fcmVvcmRlclJvd3MoKXtpZih0aGlzLl9fbW91c2VEb3duKXJldHVybiB2b2lkKHRoaXMuX19wZW5kaW5nUmVvcmRlcj0hMCk7Y29uc3QgdD10aGlzLiQuaXRlbXMsZT10LnF1ZXJ5U2VsZWN0b3JBbGwoInRyIik7aWYoIWUubGVuZ3RoKXJldHVybjtjb25zdCBuPXRoaXMuX3ZpcnR1YWxTdGFydCt0aGlzLl92aWR4T2Zmc2V0LGk9dGhpcy5fcm93V2l0aEZvY3VzZWRFbGVtZW50fHxBcnJheS5mcm9tKGUpLmZpbHRlcigodD0+IXQuaGlkZGVuKSlbMF07aWYoIWkpcmV0dXJuO2NvbnN0IHI9aS5pbmRleC1uLG89QXJyYXkuZnJvbShlKS5pbmRleE9mKGkpLXI7aWYobz4wKWZvcihsZXQgbj0wO248bztuKyspdC5hcHBlbmRDaGlsZChlW25dKTtlbHNlIGlmKG88MClmb3IobGV0IG49ZS5sZW5ndGgrbztuPGUubGVuZ3RoO24rKyl0Lmluc2VydEJlZm9yZShlW25dLGVbMF0pO2lmKHRoaXMuX3NhZmFyaSl7Y29uc3R7dHJhbnNmb3JtOnR9PXRoaXMuJC5oZWFkZXIuc3R5bGU7dGhpcy4kLmhlYWRlci5zdHlsZS50cmFuc2Zvcm09IiIsc2V0VGltZW91dCgoKCk9PnRoaXMuJC5oZWFkZXIuc3R5bGUudHJhbnNmb3JtPXQpKX19X2Zyb3plbkNlbGxzQ2hhbmdlZCgpe3RoaXMuX2RlYm91bmNlckNhY2hlRWxlbWVudHM9Tm4uZGVib3VuY2UodGhpcy5fZGVib3VuY2VyQ2FjaGVFbGVtZW50cyx2dCwoKCk9PntBcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCdbcGFydH49ImNlbGwiXScpKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnN0eWxlLnRyYW5zZm9ybT0iIn0pKSx0aGlzLl9mcm96ZW5DZWxscz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLiQudGFibGUucXVlcnlTZWxlY3RvckFsbCgiW2Zyb3plbl0iKSksdGhpcy5fdXBkYXRlU2Nyb2xsZXJNZWFzdXJlbWVudHMoKSx0aGlzLl90cmFuc2xhdGVTdGF0aW9uYXJ5RWxlbWVudHMoKX0pKSx0aGlzLl91cGRhdGVMYXN0RnJvemVuKCl9X3VwZGF0ZVNjcm9sbGVyTWVhc3VyZW1lbnRzKCl7dGhpcy5fZnJvemVuQ2VsbHMubGVuZ3RoPjAmJnRoaXMuX19pc1JUTCYmKHRoaXMuX19zY3JvbGxlck1ldHJpY3M9e3Njcm9sbFdpZHRoOnRoaXMuJC50YWJsZS5zY3JvbGxXaWR0aCxjbGllbnRXaWR0aDp0aGlzLiQudGFibGUuY2xpZW50V2lkdGh9KX1fdXBkYXRlTGFzdEZyb3plbigpe2lmKCF0aGlzLl9jb2x1bW5UcmVlKXJldHVybjtjb25zdCB0PXRoaXMuX2NvbHVtblRyZWVbdGhpcy5fY29sdW1uVHJlZS5sZW5ndGgtMV0uc2xpY2UoMCk7dC5zb3J0KCgodCxlKT0+dC5fb3JkZXItZS5fb3JkZXIpKTtjb25zdCBlPXQucmVkdWNlKCgodCxlLG4pPT4oZS5fbGFzdEZyb3plbj0hMSxlLmZyb3plbiYmIWUuaGlkZGVuP246dCkpLHZvaWQgMCk7dm9pZCAwIT09ZSYmKHRbZV0uX2xhc3RGcm96ZW49ITApfV90cmFuc2xhdGVTdGF0aW9uYXJ5RWxlbWVudHMoKXtjb25zdCB0PU1hdGgubWF4KDAsdGhpcy5fc2Nyb2xsTGVmdCksZT1NYXRoLm1heCgwLHRoaXMuX3Njcm9sbFRvcCk7bGV0IG49MCxpPTAscj0wO2lmKHRoaXMuX3VzZVN0aWNreXx8KG49dCxpPWUscj10aGlzLiQudGFibGUuY2xpZW50SGVpZ2h0LXRoaXMuJC5mb290ZXIub2Zmc2V0SGVpZ2h0LXRoaXMuJC5mb290ZXIub2Zmc2V0VG9wKSx0aGlzLiQuaGVhZGVyLnN0eWxlLnRyYW5zZm9ybT10aGlzLl9nZXRUcmFuc2xhdGUoLXQrbixpKSx0aGlzLiQuZm9vdGVyLnN0eWxlLnRyYW5zZm9ybT10aGlzLl9nZXRUcmFuc2xhdGUoLXQrbixpK3IpLHRoaXMuJC5pdGVtcy5zdHlsZS50cmFuc2Zvcm09dGhpcy5fZ2V0VHJhbnNsYXRlKC10K24sMCksdGhpcy5fZnJvemVuQ2VsbHMubGVuZ3RoPjApe2NvbnN0IHQ9dGhpcy5fX2lzUlRMP3RoaXMuX19nZXROb3JtYWxpemVkU2Nyb2xsTGVmdCh0aGlzLiQudGFibGUpK3RoaXMuX19zY3JvbGxlck1ldHJpY3MuY2xpZW50V2lkdGgtdGhpcy5fX3Njcm9sbGVyTWV0cmljcy5zY3JvbGxXaWR0aDp0aGlzLl9zY3JvbGxMZWZ0LGU9dGhpcy5fZ2V0VHJhbnNsYXRlKHQsMCk7Zm9yKGxldCB0PTA7dDx0aGlzLl9mcm96ZW5DZWxscy5sZW5ndGg7dCsrKXRoaXMuX2Zyb3plbkNlbGxzW3RdLnN0eWxlLnRyYW5zZm9ybT1lfX1fZ2V0VHJhbnNsYXRlKHQsZSl7cmV0dXJuYHRyYW5zbGF0ZSgke3R9cHgsICR7ZX1weClgfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi8sSjF0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57c2VsZWN0ZWRJdGVtczp7dHlwZTpPYmplY3Qsbm90aWZ5OiEwLHZhbHVlOigpPT5bXX19fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfc2VsZWN0ZWRJdGVtc0NoYW5nZWQoc2VsZWN0ZWRJdGVtcy4qKSJdfV9pc1NlbGVjdGVkKHQpe3JldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMmJnRoaXMuX2dldEl0ZW1JbmRleEluQXJyYXkodCx0aGlzLnNlbGVjdGVkSXRlbXMpPi0xfXNlbGVjdEl0ZW0odCl7dGhpcy5faXNTZWxlY3RlZCh0KXx8KHRoaXMuc2VsZWN0ZWRJdGVtcz1bLi4udGhpcy5zZWxlY3RlZEl0ZW1zLHRdKX1kZXNlbGVjdEl0ZW0odCl7dGhpcy5faXNTZWxlY3RlZCh0KSYmKHRoaXMuc2VsZWN0ZWRJdGVtcz10aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKChlPT4hdGhpcy5faXRlbXNFcXVhbChlLHQpKSkpfV90b2dnbGVJdGVtKHQpey0xPT09dGhpcy5fZ2V0SXRlbUluZGV4SW5BcnJheSh0LHRoaXMuc2VsZWN0ZWRJdGVtcyk/dGhpcy5zZWxlY3RJdGVtKHQpOnRoaXMuZGVzZWxlY3RJdGVtKHQpfV9zZWxlY3RlZEl0ZW1zQ2hhbmdlZCh0KXshdGhpcy4kLml0ZW1zLmNoaWxkcmVuLmxlbmd0aHx8InNlbGVjdGVkSXRlbXMiIT09dC5wYXRoJiYic2VsZWN0ZWRJdGVtcy5zcGxpY2VzIiE9PXQucGF0aHx8QXJyYXkuZnJvbSh0aGlzLiQuaXRlbXMuY2hpbGRyZW4pLmZvckVhY2goKHQ9Pnt0aGlzLl91cGRhdGVJdGVtKHQsdC5faXRlbSl9KSl9X3NlbGVjdGVkSW5zdGFuY2VDaGFuZ2VkQ2FsbGJhY2sodCxlKXtlP3RoaXMuc2VsZWN0SXRlbSh0Lml0ZW0pOnRoaXMuZGVzZWxlY3RJdGVtKHQuaXRlbSl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLyxRMXQ9dD0+Y2xhc3MgZXh0ZW5kcyB0e3N0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybnttdWx0aVNvcnQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMX0sX3NvcnRlcnM6e3R5cGU6QXJyYXksdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LF9wcmV2aW91c1NvcnRlcnM6e3R5cGU6QXJyYXksdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm5bXX19fX1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJzb3J0ZXItY2hhbmdlZCIsdGhpcy5fb25Tb3J0ZXJDaGFuZ2VkKX1fb25Tb3J0ZXJDaGFuZ2VkKHQpe2NvbnN0IGU9dC50YXJnZXQ7dC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLl9fdXBkYXRlU29ydGVyKGUpLHRoaXMuX19hcHBseVNvcnRlcnMoKX1fX3JlbW92ZVNvcnRlcnModCl7MCE9dC5sZW5ndGgmJih0aGlzLl9zb3J0ZXJzPXRoaXMuX3NvcnRlcnMuZmlsdGVyKChlPT50LmluZGV4T2YoZSk8MCkpLHRoaXMubXVsdGlTb3J0JiZ0aGlzLl9fdXBkYXRlU29ydE9yZGVycygpLHRoaXMuX19hcHBseVNvcnRlcnMoKSl9X191cGRhdGVTb3J0T3JkZXJzKCl7dGhpcy5fc29ydGVycy5mb3JFYWNoKCgodCxlKT0+dC5fb3JkZXI9dGhpcy5fc29ydGVycy5sZW5ndGg+MT9lOm51bGwpLHRoaXMpfV9fdXBkYXRlU29ydGVyKHQpe2lmKHQuZGlyZWN0aW9ufHwtMSE9PXRoaXMuX3NvcnRlcnMuaW5kZXhPZih0KSlpZih0Ll9vcmRlcj1udWxsLHRoaXMubXVsdGlTb3J0KXRoaXMuX3JlbW92ZUFycmF5SXRlbSh0aGlzLl9zb3J0ZXJzLHQpLHQuZGlyZWN0aW9uJiZ0aGlzLl9zb3J0ZXJzLnVuc2hpZnQodCksdGhpcy5fX3VwZGF0ZVNvcnRPcmRlcnMoKTtlbHNlIGlmKHQuZGlyZWN0aW9uKXtjb25zdCBlPXRoaXMuX3NvcnRlcnMuZmlsdGVyKChlPT5lIT10KSk7dGhpcy5fc29ydGVycz1bdF0sZS5mb3JFYWNoKCh0PT57dC5fb3JkZXI9bnVsbCx0LmRpcmVjdGlvbj1udWxsfSkpfX1fX2FwcGx5U29ydGVycygpe3RoaXMuZGF0YVByb3ZpZGVyJiZ0aGlzLmlzQXR0YWNoZWQmJkpTT04uc3RyaW5naWZ5KHRoaXMuX3ByZXZpb3VzU29ydGVycykhPT1KU09OLnN0cmluZ2lmeSh0aGlzLl9tYXBTb3J0ZXJzKCkpJiZ0aGlzLmNsZWFyQ2FjaGUoKSx0aGlzLl9hMTF5VXBkYXRlU29ydGVycygpLHRoaXMuX3ByZXZpb3VzU29ydGVycz10aGlzLl9tYXBTb3J0ZXJzKCl9X21hcFNvcnRlcnMoKXtyZXR1cm4gdGhpcy5fc29ydGVycy5tYXAoKHQ9Pih7cGF0aDp0LnBhdGgsZGlyZWN0aW9uOnQuZGlyZWN0aW9ufSkpKX1fcmVtb3ZlQXJyYXlJdGVtKHQsZSl7Y29uc3Qgbj10LmluZGV4T2YoZSk7bj4tMSYmdC5zcGxpY2UobiwxKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLHQwdD10PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue2NlbGxDbGFzc05hbWVHZW5lcmF0b3I6RnVuY3Rpb259fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfX2NlbGxDbGFzc05hbWVHZW5lcmF0b3JDaGFuZ2VkKGNlbGxDbGFzc05hbWVHZW5lcmF0b3IpIl19X19jZWxsQ2xhc3NOYW1lR2VuZXJhdG9yQ2hhbmdlZCgpe3RoaXMuZ2VuZXJhdGVDZWxsQ2xhc3NOYW1lcygpfWdlbmVyYXRlQ2VsbENsYXNzTmFtZXMoKXtBcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKS5mb3JFYWNoKCh0PT50aGlzLl9nZW5lcmF0ZUNlbGxDbGFzc05hbWVzKHQsdGhpcy5fX2dldFJvd01vZGVsKHQpKSkpfV9nZW5lcmF0ZUNlbGxDbGFzc05hbWVzKHQsZSl7QXJyYXkuZnJvbSh0LmNoaWxkcmVuKS5mb3JFYWNoKCh0PT57aWYodC5fX2dlbmVyYXRlZENsYXNzZXMmJnQuX19nZW5lcmF0ZWRDbGFzc2VzLmZvckVhY2goKGU9PnQuY2xhc3NMaXN0LnJlbW92ZShlKSkpLHRoaXMuY2VsbENsYXNzTmFtZUdlbmVyYXRvcil7Y29uc3Qgbj10aGlzLmNlbGxDbGFzc05hbWVHZW5lcmF0b3IodC5fY29sdW1uLGUpO3QuX19nZW5lcmF0ZWRDbGFzc2VzPW4mJm4uc3BsaXQoIiAiKS5maWx0ZXIoKHQ9PnQubGVuZ3RoPjApKSx0Ll9fZ2VuZXJhdGVkQ2xhc3NlcyYmdC5fX2dlbmVyYXRlZENsYXNzZXMuZm9yRWFjaCgoZT0+dC5jbGFzc0xpc3QuYWRkKGUpKSl9fSkpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi8sZTB0PSJiZXR3ZWVuIixuMHQ9Im9uLXRvcC1vci1iZXR3ZWVuIixpMHQ9Im9uLWdyaWQiLHIwdD0ib24tdG9wIixvMHQ9ImFib3ZlIixhMHQ9ImJlbG93IixzMHQ9ImVtcHR5IixsMHQ9dD0+Y2xhc3MgZXh0ZW5kcyB0e3N0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybntkcm9wTW9kZTpTdHJpbmcscm93c0RyYWdnYWJsZTpCb29sZWFuLGRyYWdGaWx0ZXI6RnVuY3Rpb24sZHJvcEZpbHRlcjpGdW5jdGlvbixfX2RuZEF1dG9TY3JvbGxUaHJlc2hvbGQ6e3ZhbHVlOjUwfX19c3RhdGljIGdldCBvYnNlcnZlcnMoKXtyZXR1cm5bIl9kcmFnRHJvcEFjY2Vzc0NoYW5nZWQocm93c0RyYWdnYWJsZSwgZHJvcE1vZGUsIGRyYWdGaWx0ZXIsIGRyb3BGaWx0ZXIpIl19cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMuJC50YWJsZS5hZGRFdmVudExpc3RlbmVyKCJkcmFnc3RhcnQiLHRoaXMuX29uRHJhZ1N0YXJ0LmJpbmQodGhpcykpLHRoaXMuJC50YWJsZS5hZGRFdmVudExpc3RlbmVyKCJkcmFnZW5kIix0aGlzLl9vbkRyYWdFbmQuYmluZCh0aGlzKSksdGhpcy4kLnRhYmxlLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIix0aGlzLl9vbkRyYWdPdmVyLmJpbmQodGhpcykpLHRoaXMuJC50YWJsZS5hZGRFdmVudExpc3RlbmVyKCJkcmFnbGVhdmUiLHRoaXMuX29uRHJhZ0xlYXZlLmJpbmQodGhpcykpLHRoaXMuJC50YWJsZS5hZGRFdmVudExpc3RlbmVyKCJkcm9wIix0aGlzLl9vbkRyb3AuYmluZCh0aGlzKSksdGhpcy4kLnRhYmxlLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdlbnRlciIsKHQ9Pnt0aGlzLmRyb3BNb2RlJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCkpfSkpfV9vbkRyYWdTdGFydCh0KXtpZih0aGlzLnJvd3NEcmFnZ2FibGUpe2xldCBlPXQudGFyZ2V0O2lmKCJ2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQiPT09ZS5sb2NhbE5hbWUmJihlPWUuYXNzaWduZWRTbG90LnBhcmVudE5vZGUucGFyZW50Tm9kZSksZS5wYXJlbnROb2RlIT09dGhpcy4kLml0ZW1zKXJldHVybjtpZih0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgiZHJhZ2dpbmctcm93cyIsITAsdGhpcyksdGhpcy5fc2FmYXJpKXtjb25zdCB0PWUuc3R5bGUudHJhbnNmb3JtO2Uuc3R5bGUudG9wPS90cmFuc2xhdGVZXCgoLiopXCkvLmV4ZWModClbMV0sZS5zdHlsZS50cmFuc2Zvcm09Im5vbmUiLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9PntlLnN0eWxlLnRvcD0iIixlLnN0eWxlLnRyYW5zZm9ybT10fSkpfWNvbnN0IG49ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLl9pb3M/dC5kYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKGUpOnQuZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZShlLHQuY2xpZW50WC1uLmxlZnQsdC5jbGllbnRZLW4udG9wKTtsZXQgaT1bZV07dGhpcy5faXNTZWxlY3RlZChlLl9pdGVtKSYmKGk9dGhpcy5fX2dldFZpZXdwb3J0Um93cygpLmZpbHRlcigodD0+dGhpcy5faXNTZWxlY3RlZCh0Ll9pdGVtKSkpLmZpbHRlcigodD0+IXRoaXMuZHJhZ0ZpbHRlcnx8dGhpcy5kcmFnRmlsdGVyKHRoaXMuX19nZXRSb3dNb2RlbCh0KSkpKSksdC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgidGV4dCIsdGhpcy5fX2Zvcm1hdERlZmF1bHRUcmFuc2ZlckRhdGEoaSkpLGUuc2V0QXR0cmlidXRlKCJkcmFnc3RhcnQiLGkubGVuZ3RoPjE/aS5sZW5ndGg6IiIpLHRoaXMudXBkYXRlU3R5bGVzKHsiLS1fZ3JpZC1kcmFnLXN0YXJ0LXgiOnQuY2xpZW50WC1uLmxlZnQrMjArInB4IiwiLS1fZ3JpZC1kcmFnLXN0YXJ0LXkiOnQuY2xpZW50WS1uLnRvcCsxMCsicHgifSkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e2UucmVtb3ZlQXR0cmlidXRlKCJkcmFnc3RhcnQiKSx0aGlzLnVwZGF0ZVN0eWxlcyh7Ii0tX2dyaWQtZHJhZy1zdGFydC14IjoiIiwiLS1fZ3JpZC1kcmFnLXN0YXJ0LXkiOiIifSl9KSk7Y29uc3Qgcj1uZXcgQ3VzdG9tRXZlbnQoImdyaWQtZHJhZ3N0YXJ0Iix7ZGV0YWlsOntkcmFnZ2VkSXRlbXM6aS5tYXAoKHQ9PnQuX2l0ZW0pKSxzZXREcmFnRGF0YTooZSxuKT0+dC5kYXRhVHJhbnNmZXIuc2V0RGF0YShlLG4pLHNldERyYWdnZWRJdGVtc0NvdW50OnQ9PmUuc2V0QXR0cmlidXRlKCJkcmFnc3RhcnQiLHQpfX0pO3Iub3JpZ2luYWxFdmVudD10LHRoaXMuZGlzcGF0Y2hFdmVudChyKX19X29uRHJhZ0VuZCh0KXt0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImRyYWdnaW5nLXJvd3MiLCExLHRoaXMpLHQuc3RvcFByb3BhZ2F0aW9uKCk7Y29uc3QgZT1uZXcgQ3VzdG9tRXZlbnQoImdyaWQtZHJhZ2VuZCIpO2Uub3JpZ2luYWxFdmVudD10LHRoaXMuZGlzcGF0Y2hFdmVudChlKX1fb25EcmFnTGVhdmUodCl7dC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLl9jbGVhckRyYWdTdHlsZXMoKX1fb25EcmFnT3Zlcih0KXtpZih0aGlzLmRyb3BNb2RlKXtpZih0aGlzLl9kcm9wTG9jYXRpb249dm9pZCAwLHRoaXMuX2RyYWdPdmVySXRlbT12b2lkIDAsdGhpcy5fX2RuZEF1dG9TY3JvbGwodC5jbGllbnRZKSlyZXR1cm4gdm9pZCB0aGlzLl9jbGVhckRyYWdTdHlsZXMoKTtsZXQgZT10LmNvbXBvc2VkUGF0aCgpLmZpbHRlcigodD0+InRyIj09PXQubG9jYWxOYW1lKSlbMF07aWYodGhpcy5fZWZmZWN0aXZlU2l6ZSYmdGhpcy5kcm9wTW9kZSE9PWkwdClpZihlJiZlLnBhcmVudE5vZGU9PT10aGlzLiQuaXRlbXMpe2NvbnN0IG49ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZih0aGlzLl9kcm9wTG9jYXRpb249cjB0LHRoaXMuZHJvcE1vZGU9PT1lMHQpe3RoaXMuX2Ryb3BMb2NhdGlvbj10LmNsaWVudFktbi50b3A8bi5ib3R0b20tdC5jbGllbnRZP28wdDphMHR9ZWxzZSB0aGlzLmRyb3BNb2RlPT09bjB0JiYodC5jbGllbnRZLW4udG9wPG4uaGVpZ2h0LzM/dGhpcy5fZHJvcExvY2F0aW9uPW8wdDp0LmNsaWVudFktbi50b3A+bi5oZWlnaHQvMyoyJiYodGhpcy5fZHJvcExvY2F0aW9uPWEwdCkpfWVsc2V7aWYoZSlyZXR1cm47aWYodGhpcy5kcm9wTW9kZSE9PWUwdCYmdGhpcy5kcm9wTW9kZSE9PW4wdClyZXR1cm47ZT1BcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKS5wb3AoKSx0aGlzLl9kcm9wTG9jYXRpb249YTB0fWVsc2UgdGhpcy5fZHJvcExvY2F0aW9uPXMwdDtpZihlJiZlLmhhc0F0dHJpYnV0ZSgiZHJvcC1kaXNhYmxlZCIpKXJldHVybiB2b2lkKHRoaXMuX2Ryb3BMb2NhdGlvbj12b2lkIDApO3Quc3RvcFByb3BhZ2F0aW9uKCksdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2Ryb3BMb2NhdGlvbj09PXMwdD90aGlzLl90b2dnbGVBdHRyaWJ1dGUoImRyYWdvdmVyIiwhMCx0aGlzKTplPyh0aGlzLl9kcmFnT3Zlckl0ZW09ZS5faXRlbSxlLmdldEF0dHJpYnV0ZSgiZHJhZ292ZXIiKSE9PXRoaXMuX2Ryb3BMb2NhdGlvbiYmZS5zZXRBdHRyaWJ1dGUoImRyYWdvdmVyIix0aGlzLl9kcm9wTG9jYXRpb24pKTp0aGlzLl9jbGVhckRyYWdTdHlsZXMoKX19X19kbmRBdXRvU2Nyb2xsKHQpe2lmKHRoaXMuX19kbmRBdXRvU2Nyb2xsaW5nKXJldHVybiEwO2NvbnN0IGU9dGhpcy4kLmhlYWRlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20sbj10aGlzLiQuZm9vdGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCxpPWUtdCt0aGlzLl9fZG5kQXV0b1Njcm9sbFRocmVzaG9sZCxyPXQtbit0aGlzLl9fZG5kQXV0b1Njcm9sbFRocmVzaG9sZDtsZXQgbz0wO2lmKHI+MD9vPTIqcjppPjAmJihvPTIqLWkpLG8pe2NvbnN0IHQ9dGhpcy4kLnRhYmxlLnNjcm9sbFRvcDt0aGlzLiQudGFibGUuc2Nyb2xsVG9wKz1vO2lmKHQhPT10aGlzLiQudGFibGUuc2Nyb2xsVG9wKXJldHVybiB0aGlzLl9fZG5kQXV0b1Njcm9sbGluZz0hMCxzZXRUaW1lb3V0KCgoKT0+dGhpcy5fX2RuZEF1dG9TY3JvbGxpbmc9ITEpLDIwKSx0aGlzLl9zY3JvbGxIYW5kbGVyKCksITB9fV9fZ2V0Vmlld3BvcnRSb3dzKCl7Y29uc3QgdD10aGlzLiQuaGVhZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSxlPXRoaXMuJC5mb290ZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO3JldHVybiBBcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZmlsdGVyKChuPT57Y29uc3QgaT1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBpLmJvdHRvbT50JiZpLnRvcDxlfSkpfV9jbGVhckRyYWdTdHlsZXMoKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZSgiZHJhZ292ZXIiKSxBcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZm9yRWFjaCgodD0+dC5yZW1vdmVBdHRyaWJ1dGUoImRyYWdvdmVyIikpKX1fb25Ecm9wKHQpe2lmKHRoaXMuZHJvcE1vZGUpe3Quc3RvcFByb3BhZ2F0aW9uKCksdC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGU9dC5kYXRhVHJhbnNmZXIudHlwZXMmJkFycmF5LmZyb20odC5kYXRhVHJhbnNmZXIudHlwZXMpLm1hcCgoZT0+KHt0eXBlOmUsZGF0YTp0LmRhdGFUcmFuc2Zlci5nZXREYXRhKGUpfSkpKTt0aGlzLl9jbGVhckRyYWdTdHlsZXMoKTtjb25zdCBuPW5ldyBDdXN0b21FdmVudCgiZ3JpZC1kcm9wIix7YnViYmxlczp0LmJ1YmJsZXMsY2FuY2VsYWJsZTp0LmNhbmNlbGFibGUsZGV0YWlsOntkcm9wVGFyZ2V0SXRlbTp0aGlzLl9kcmFnT3Zlckl0ZW0sZHJvcExvY2F0aW9uOnRoaXMuX2Ryb3BMb2NhdGlvbixkcmFnRGF0YTplfX0pO24ub3JpZ2luYWxFdmVudD10LHRoaXMuZGlzcGF0Y2hFdmVudChuKX19X19mb3JtYXREZWZhdWx0VHJhbnNmZXJEYXRhKHQpe3JldHVybiB0Lm1hcCgodD0+QXJyYXkuZnJvbSh0LmNoaWxkcmVuKS5maWx0ZXIoKHQ9PiF0LmhpZGRlbiYmLTE9PT10LmdldEF0dHJpYnV0ZSgicGFydCIpLmluZGV4T2YoImRldGFpbHMtY2VsbCIpKSkuc29ydCgoKHQsZSk9PnQuX2NvbHVtbi5fb3JkZXI+ZS5fY29sdW1uLl9vcmRlcj8xOi0xKSkubWFwKCh0PT50Ll9jb250ZW50LnRleHRDb250ZW50LnRyaW0oKSkpLmZpbHRlcigodD0+dCkpLmpvaW4oIlx0IikpKS5qb2luKCJcbiIpfV9kcmFnRHJvcEFjY2Vzc0NoYW5nZWQoKXt0aGlzLmZpbHRlckRyYWdBbmREcm9wKCl9ZmlsdGVyRHJhZ0FuZERyb3AoKXtBcnJheS5mcm9tKHRoaXMuJC5pdGVtcy5jaGlsZHJlbikuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKS5mb3JFYWNoKCh0PT57dGhpcy5fZmlsdGVyRHJhZ0FuZERyb3AodCx0aGlzLl9fZ2V0Um93TW9kZWwodCkpfSkpfV9maWx0ZXJEcmFnQW5kRHJvcCh0LGUpe2NvbnN0IG49IXRoaXMucm93c0RyYWdnYWJsZXx8dGhpcy5kcmFnRmlsdGVyJiYhdGhpcy5kcmFnRmlsdGVyKGUpLGk9IXRoaXMuZHJvcE1vZGV8fHRoaXMuZHJvcEZpbHRlciYmIXRoaXMuZHJvcEZpbHRlcihlKTtBcnJheS5mcm9tKHQuY2hpbGRyZW4pLm1hcCgodD0+dC5fY29udGVudCkpLmZvckVhY2goKHQ9PntuP3QucmVtb3ZlQXR0cmlidXRlKCJkcmFnZ2FibGUiKTp0LnNldEF0dHJpYnV0ZSgiZHJhZ2dhYmxlIiwhMCl9KSksdGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJkcmFnLWRpc2FibGVkIixuLHQpLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgiZHJvcC1kaXNhYmxlZCIsaSx0KX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovLGMwdD10PT5jbGFzcyBleHRlbmRzIHR7c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue19oZWFkZXJGb2N1c2FibGU6e3R5cGU6T2JqZWN0LG9ic2VydmVyOiJfZm9jdXNhYmxlQ2hhbmdlZCJ9LF9pdGVtc0ZvY3VzYWJsZTp7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il9mb2N1c2FibGVDaGFuZ2VkIn0sX2Zvb3RlckZvY3VzYWJsZTp7dHlwZTpPYmplY3Qsb2JzZXJ2ZXI6Il9mb2N1c2FibGVDaGFuZ2VkIn0sX25hdmlnYXRpbmdJc0hpZGRlbjpCb29sZWFuLF9mb2N1c2VkSXRlbUluZGV4Ont0eXBlOk51bWJlcix2YWx1ZTowfSxfZm9jdXNlZENvbHVtbk9yZGVyOk51bWJlcixpbnRlcmFjdGluZzp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxyZWFkT25seTohMCxvYnNlcnZlcjoiX2ludGVyYWN0aW5nQ2hhbmdlZCJ9fX1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5faW9zfHx0aGlzLl9hbmRyb2lkfHwodGhpcy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9vbktleURvd24pLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLHRoaXMuX29uS2V5VXApLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsdGhpcy5fb25Gb2N1c0luKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0Iix0aGlzLl9vbkZvY3VzT3V0KSx0aGlzLiQudGFibGUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsdGhpcy5fb25DZWxsRm9jdXNJbi5iaW5kKHRoaXMpKSx0aGlzLiQudGFibGUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLHRoaXMuX29uQ2VsbEZvY3VzT3V0LmJpbmQodGhpcykpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwoKCk9Pnt0aGlzLl90b2dnbGVBdHRyaWJ1dGUoIm5hdmlnYXRpbmciLCExLHRoaXMpLHRoaXMuX2lzTW91c2Vkb3duPSEwfSkpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsKCgpPT50aGlzLl9pc01vdXNlZG93bj0hMSkpKX1fZm9jdXNhYmxlQ2hhbmdlZCh0LGUpe2UmJmUuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIi0xIiksdCYmdGhpcy5fdXBkYXRlR3JpZFNlY3Rpb25Gb2N1c1RhcmdldCh0KX1faW50ZXJhY3RpbmdDaGFuZ2VkKCl7dGhpcy5fdXBkYXRlR3JpZFNlY3Rpb25Gb2N1c1RhcmdldCh0aGlzLl9oZWFkZXJGb2N1c2FibGUpLHRoaXMuX3VwZGF0ZUdyaWRTZWN0aW9uRm9jdXNUYXJnZXQodGhpcy5faXRlbXNGb2N1c2FibGUpLHRoaXMuX3VwZGF0ZUdyaWRTZWN0aW9uRm9jdXNUYXJnZXQodGhpcy5fZm9vdGVyRm9jdXNhYmxlKX1fb25LZXlEb3duKHQpe2NvbnN0IGU9dC5rZXk7bGV0IG47c3dpdGNoKGUpe2Nhc2UiQXJyb3dVcCI6Y2FzZSJBcnJvd0Rvd24iOmNhc2UiQXJyb3dMZWZ0IjpjYXNlIkFycm93UmlnaHQiOmNhc2UiUGFnZVVwIjpjYXNlIlBhZ2VEb3duIjpjYXNlIkhvbWUiOmNhc2UiRW5kIjpuPSJOYXZpZ2F0aW9uIjticmVhaztjYXNlIkVudGVyIjpjYXNlIkVzY2FwZSI6Y2FzZSJGMiI6bj0iSW50ZXJhY3Rpb24iO2JyZWFrO2Nhc2UiVGFiIjpuPSJUYWIiO2JyZWFrO2Nhc2UiICI6bj0iU3BhY2UifXRoaXMuX2RldGVjdEludGVyYWN0aW5nKHQpLHRoaXMuaW50ZXJhY3RpbmcmJiJJbnRlcmFjdGlvbiIhPT1uJiYobj12b2lkIDApLG4mJnRoaXNbYF9vbiR7bn1LZXlEb3duYF0odCxlKX1fZW5zdXJlU2Nyb2xsZWRUb0luZGV4KHQpe0FycmF5LmZyb20odGhpcy4kLml0ZW1zLmNoaWxkcmVuKS5maWx0ZXIoKGU9PmUuaW5kZXg9PT10KSlbMF18fHRoaXMuX3Njcm9sbFRvSW5kZXgodCl9X29uTmF2aWdhdGlvbktleURvd24odCxlKXtmdW5jdGlvbiBuKHQpe3JldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHQucGFyZW50Tm9kZS5jaGlsZHJlbix0KX10aGlzLl9zY3JvbGxIYW5kbGVyKCksdC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGk9dGhpcy5fbGFzdFZpc2libGVJbmRleC10aGlzLl9maXJzdFZpc2libGVJbmRleC0xO2xldCByPTAsbz0wO3N3aXRjaChlKXtjYXNlIkFycm93UmlnaHQiOnI9dGhpcy5fX2lzUlRMPy0xOjE7YnJlYWs7Y2FzZSJBcnJvd0xlZnQiOnI9dGhpcy5fX2lzUlRMPzE6LTE7YnJlYWs7Y2FzZSJIb21lIjpyPS0xLzAsdC5jdHJsS2V5JiYobz0tMS8wKTticmVhaztjYXNlIkVuZCI6cj0xLzAsdC5jdHJsS2V5JiYobz0xLzApO2JyZWFrO2Nhc2UiQXJyb3dEb3duIjpvPTE7YnJlYWs7Y2FzZSJBcnJvd1VwIjpvPS0xO2JyZWFrO2Nhc2UiUGFnZURvd24iOm89aTticmVhaztjYXNlIlBhZ2VVcCI6bz0taX1jb25zdCBhPXQuY29tcG9zZWRQYXRoKClbMF0scz1uKGEpLGw9dGhpcy5fZWxlbWVudE1hdGNoZXMoYSwnW3BhcnR+PSJkZXRhaWxzLWNlbGwiXScpLGM9YS5wYXJlbnROb2RlLHU9Yy5wYXJlbnROb2RlLGg9KHU9PT10aGlzLiQuaXRlbXM/dGhpcy5fZWZmZWN0aXZlU2l6ZTp1LmNoaWxkcmVuLmxlbmd0aCktMSxkPXU9PT10aGlzLiQuaXRlbXM/dm9pZCAwIT09dGhpcy5fZm9jdXNlZEl0ZW1JbmRleD90aGlzLl9mb2N1c2VkSXRlbUluZGV4OmMuaW5kZXg6bihjKTtsZXQgcD1NYXRoLm1heCgwLE1hdGgubWluKGQrbyxoKSksZj0hMTtpZih1PT09dGhpcy4kLml0ZW1zKXtjb25zdCB0PWMuX2l0ZW0sZT10aGlzLl9jYWNoZS5nZXRJdGVtRm9ySW5kZXgocCk7Zj1sPzA9PT1vOjE9PT1vJiZ0aGlzLl9pc0RldGFpbHNPcGVuZWQodCl8fC0xPT09byYmcCE9PWQmJnRoaXMuX2lzRGV0YWlsc09wZW5lZChlKSxmIT09bCYmKDE9PT1vJiZmfHwtMT09PW8mJiFmKSYmKHA9ZCl9aWYodSE9PXRoaXMuJC5pdGVtcylpZihwPmQpZm9yKDtwPGgmJnUuY2hpbGRyZW5bcF0uaGlkZGVuOylwKys7ZWxzZSBpZihwPGQpZm9yKDtwPjAmJnUuY2hpbGRyZW5bcF0uaGlkZGVuOylwLS07dm9pZCAwPT09dGhpcy5fZm9jdXNlZENvbHVtbk9yZGVyJiYodGhpcy5fZm9jdXNlZENvbHVtbk9yZGVyPWw/MDp0aGlzLl9nZXRDb2x1bW5zKHUsZCkuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKVtzXS5fb3JkZXIpO2NvbnN0IG09dGhpcy5fZ2V0Q29sdW1ucyh1LHApLmZpbHRlcigodD0+IXQuaGlkZGVuKSksZz1tLm1hcCgodD0+dC5fb3JkZXIpKS5zb3J0KCgodCxlKT0+dC1lKSksXz1nLmxlbmd0aC0xLHk9Zy5pbmRleE9mKGcuc2xpY2UoMCkuc29ydCgoKHQsZSk9Pk1hdGguYWJzKHQtdGhpcy5fZm9jdXNlZENvbHVtbk9yZGVyKS1NYXRoLmFicyhlLXRoaXMuX2ZvY3VzZWRDb2x1bW5PcmRlcikpKVswXSksdj0wPT09byYmbD95Ok1hdGgubWF4KDAsTWF0aC5taW4oeStyLF8pKTt2IT09eSYmKHRoaXMuX2ZvY3VzZWRDb2x1bW5PcmRlcj12b2lkIDApLHU9PT10aGlzLiQuaXRlbXMmJnRoaXMuX2Vuc3VyZVNjcm9sbGVkVG9JbmRleChwKSx0aGlzLl90b2dnbGVBdHRyaWJ1dGUoIm5hdmlnYXRpbmciLCEwLHRoaXMpO2NvbnN0IGI9bS5yZWR1Y2UoKCh0LGUsbik9Pih0W2UuX29yZGVyXT1uLHQpKSx7fSlbZ1t2XV0seD11PT09dGhpcy4kLml0ZW1zP0FycmF5LmZyb20odS5jaGlsZHJlbikuZmlsdGVyKCh0PT50LmluZGV4PT09cCkpWzBdOnUuY2hpbGRyZW5bcF07aWYoIXgpcmV0dXJuO2NvbnN0IHc9Zj9BcnJheS5mcm9tKHguY2hpbGRyZW4pLmZpbHRlcigodD0+dGhpcy5fZWxlbWVudE1hdGNoZXModCwnW3BhcnR+PSJkZXRhaWxzLWNlbGwiXScpKSlbMF06eC5jaGlsZHJlbltiXTtpZih0aGlzLl9zY3JvbGxIb3Jpem9udGFsbHlUb0NlbGwodyksdT09PXRoaXMuJC5pdGVtcyYmKHRoaXMuX2ZvY3VzZWRJdGVtSW5kZXg9cCksdT09PXRoaXMuJC5pdGVtcyl7Y29uc3QgdD13LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGU9dGhpcy4kLmZvb3Rlci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3Asbj10aGlzLiQuaGVhZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbTt0LmJvdHRvbT5lPyh0aGlzLiQudGFibGUuc2Nyb2xsVG9wKz10LmJvdHRvbS1lLHRoaXMuX3Njcm9sbEhhbmRsZXIoKSk6dC50b3A8biYmKHRoaXMuJC50YWJsZS5zY3JvbGxUb3AtPW4tdC50b3AsdGhpcy5fc2Nyb2xsSGFuZGxlcigpKX13LmZvY3VzKCl9X29uSW50ZXJhY3Rpb25LZXlEb3duKHQsZSl7Y29uc3Qgbj10LmNvbXBvc2VkUGF0aCgpWzBdLGk9ImlucHV0Ij09PW4ubG9jYWxOYW1lJiYhL14oYnV0dG9ufGNoZWNrYm94fGNvbG9yfGZpbGV8aW1hZ2V8cmFkaW98cmFuZ2V8cmVzZXR8c3VibWl0KSQvaS50ZXN0KG4udHlwZSk7bGV0IHI7c3dpdGNoKGUpe2Nhc2UiRW50ZXIiOnI9IXRoaXMuaW50ZXJhY3Rpbmd8fCFpO2JyZWFrO2Nhc2UiRXNjYXBlIjpyPSExO2JyZWFrO2Nhc2UiRjIiOnI9IXRoaXMuaW50ZXJhY3Rpbmd9Y29uc3R7Y2VsbDpvfT10aGlzLl9nZXRHcmlkRXZlbnRMb2NhdGlvbih0KTtpZih0aGlzLmludGVyYWN0aW5nIT09ciYmbnVsbCE9PW8paWYocil7Y29uc3QgZT1vLl9jb250ZW50LnF1ZXJ5U2VsZWN0b3IoIltmb2N1cy10YXJnZXRdIil8fG8uX2NvbnRlbnQuZmlyc3RFbGVtZW50Q2hpbGQ7ZSYmKHQucHJldmVudERlZmF1bHQoKSxlLmZvY3VzKCksdGhpcy5fc2V0SW50ZXJhY3RpbmcoITApLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgibmF2aWdhdGluZyIsITEsdGhpcykpfWVsc2UgdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2ZvY3VzZWRDb2x1bW5PcmRlcj12b2lkIDAsby5mb2N1cygpLHRoaXMuX3NldEludGVyYWN0aW5nKCExKSx0aGlzLl90b2dnbGVBdHRyaWJ1dGUoIm5hdmlnYXRpbmciLCEwLHRoaXMpfV9wcmVkaWN0Rm9jdXNTdGVwVGFyZ2V0KHQsZSl7Y29uc3Qgbj1bdGhpcy4kLnRhYmxlLHRoaXMuX2hlYWRlckZvY3VzYWJsZSx0aGlzLl9pdGVtc0ZvY3VzYWJsZSx0aGlzLl9mb290ZXJGb2N1c2FibGUsdGhpcy4kLmZvY3VzZXhpdF07bGV0IGk9bi5pbmRleE9mKHQpO2ZvcihpKz1lO2k+PTAmJmk8PW4ubGVuZ3RoLTEmJighbltpXXx8bltpXS5wYXJlbnROb2RlLmhpZGRlbik7KWkrPWU7cmV0dXJuIG5baV19X29uVGFiS2V5RG93bih0KXtjb25zdCBlPXRoaXMuX3ByZWRpY3RGb2N1c1N0ZXBUYXJnZXQodC5jb21wb3NlZFBhdGgoKVswXSx0LnNoaWZ0S2V5Py0xOjEpO2lmKGU9PT10aGlzLiQudGFibGUpdGhpcy4kLnRhYmxlLmZvY3VzKCk7ZWxzZSBpZihlPT09dGhpcy4kLmZvY3VzZXhpdCl0aGlzLiQuZm9jdXNleGl0LmZvY3VzKCk7ZWxzZSBpZihlPT09dGhpcy5faXRlbXNGb2N1c2FibGUpe2xldCBuPWU7Y29uc3QgaT10aGlzLl9pdGVtc0ZvY3VzYWJsZS5wYXJlbnROb2RlO2lmKHRoaXMuX2Vuc3VyZVNjcm9sbGVkVG9JbmRleCh0aGlzLl9mb2N1c2VkSXRlbUluZGV4KSxpLmluZGV4IT09dGhpcy5fZm9jdXNlZEl0ZW1JbmRleCl7Y29uc3QgdD1BcnJheS5mcm9tKGkuY2hpbGRyZW4pLmluZGV4T2YodGhpcy5faXRlbXNGb2N1c2FibGUpLGU9QXJyYXkuZnJvbSh0aGlzLiQuaXRlbXMuY2hpbGRyZW4pLmZpbHRlcigodD0+dC5pbmRleD09PXRoaXMuX2ZvY3VzZWRJdGVtSW5kZXgpKVswXTtlJiYobj1lLmNoaWxkcmVuW3RdKX10LnByZXZlbnREZWZhdWx0KCksbi5mb2N1cygpfWVsc2UgdC5wcmV2ZW50RGVmYXVsdCgpLGUuZm9jdXMoKTt0aGlzLl90b2dnbGVBdHRyaWJ1dGUoIm5hdmlnYXRpbmciLCEwLHRoaXMpfV9vblNwYWNlS2V5RG93bih0KXt0LnByZXZlbnREZWZhdWx0KCk7Y29uc3QgZT10LmNvbXBvc2VkUGF0aCgpWzBdO2UuX2NvbnRlbnQmJmUuX2NvbnRlbnQuZmlyc3RFbGVtZW50Q2hpbGR8fHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNlbGwtYWN0aXZhdGUiLHtkZXRhaWw6e21vZGVsOnRoaXMuX19nZXRSb3dNb2RlbChlLnBhcmVudEVsZW1lbnQpfX0pKX1fb25LZXlVcCh0KXtpZighL14oIHxTcGFjZUJhcikkLy50ZXN0KHQua2V5KSlyZXR1cm47dC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGU9dC5jb21wb3NlZFBhdGgoKVswXTtpZihlLl9jb250ZW50JiZlLl9jb250ZW50LmZpcnN0RWxlbWVudENoaWxkKXtjb25zdCB0PXRoaXMuaGFzQXR0cmlidXRlKCJuYXZpZ2F0aW5nIik7ZS5fY29udGVudC5maXJzdEVsZW1lbnRDaGlsZC5jbGljaygpLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgibmF2aWdhdGluZyIsdCx0aGlzKX19X29uRm9jdXNJbih0KXt0aGlzLl9pc01vdXNlZG93bnx8dGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJuYXZpZ2F0aW5nIiwhMCx0aGlzKTtjb25zdCBlPXQuY29tcG9zZWRQYXRoKClbMF07ZT09PXRoaXMuJC50YWJsZXx8ZT09PXRoaXMuJC5mb2N1c2V4aXQ/KHRoaXMuX3ByZWRpY3RGb2N1c1N0ZXBUYXJnZXQoZSxlPT09dGhpcy4kLnRhYmxlPzE6LTEpLmZvY3VzKCksdGhpcy5fc2V0SW50ZXJhY3RpbmcoITEpKTp0aGlzLl9kZXRlY3RJbnRlcmFjdGluZyh0KX1fb25Gb2N1c091dCh0KXt0aGlzLl90b2dnbGVBdHRyaWJ1dGUoIm5hdmlnYXRpbmciLCExLHRoaXMpLHRoaXMuX2RldGVjdEludGVyYWN0aW5nKHQpfV9vbkNlbGxGb2N1c0luKHQpe2NvbnN0e3NlY3Rpb246ZSxjZWxsOm59PXRoaXMuX2dldEdyaWRFdmVudExvY2F0aW9uKHQpO3RoaXMuX2RldGVjdEludGVyYWN0aW5nKHQpLGUmJm4mJih0aGlzLl9hY3RpdmVSb3dHcm91cD1lLHRoaXMuJC5oZWFkZXI9PT1lP3RoaXMuX2hlYWRlckZvY3VzYWJsZT1uOnRoaXMuJC5pdGVtcz09PWU/dGhpcy5faXRlbXNGb2N1c2FibGU9bjp0aGlzLiQuZm9vdGVyPT09ZSYmKHRoaXMuX2Zvb3RlckZvY3VzYWJsZT1uKSxuLl9jb250ZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjZWxsLWZvY3VzaW4iLHtidWJibGVzOiExfSkpLG4uZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNlbGwtZm9jdXMiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKSx0aGlzLl9kZXRlY3RGb2N1c2VkSXRlbUluZGV4KHQpfV9vbkNlbGxGb2N1c091dCh0KXtpZigzPT09dC5jb21wb3NlZFBhdGgoKS5pbmRleE9mKHRoaXMuJC50YWJsZSkpe3QuY29tcG9zZWRQYXRoKClbMF0uX2NvbnRlbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNlbGwtZm9jdXNvdXQiLHtidWJibGVzOiExfSkpfX1fZGV0ZWN0SW50ZXJhY3RpbmcodCl7Y29uc3QgZT10LmNvbXBvc2VkUGF0aCgpLnNvbWUoKHQ9PiJ2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQiPT09dC5sb2NhbE5hbWUpKTt0aGlzLl9zZXRJbnRlcmFjdGluZyhlKX1fZGV0ZWN0Rm9jdXNlZEl0ZW1JbmRleCh0KXtjb25zdHtzZWN0aW9uOmUscm93Om59PXRoaXMuX2dldEdyaWRFdmVudExvY2F0aW9uKHQpO2U9PT10aGlzLiQuaXRlbXMmJih0aGlzLl9mb2N1c2VkSXRlbUluZGV4PW4uaW5kZXgpfV91cGRhdGVHcmlkU2VjdGlvbkZvY3VzVGFyZ2V0KHQpe2lmKCF0KXJldHVybjtjb25zdCBlPXRoaXMuX2dldEdyaWRTZWN0aW9uRnJvbUZvY3VzVGFyZ2V0KHQpO3QudGFiSW5kZXg9dGhpcy5pbnRlcmFjdGluZyYmZT09PXRoaXMuX2FjdGl2ZVJvd0dyb3VwPy0xOjB9X3ByZXZlbnRTY3JvbGxlclJvdGF0aW5nQ2VsbEZvY3VzKHQsZSl7dC5pbmRleD09PXRoaXMuX2ZvY3VzZWRJdGVtSW5kZXgmJnRoaXMuaGFzQXR0cmlidXRlKCJuYXZpZ2F0aW5nIikmJnRoaXMuX2FjdGl2ZVJvd0dyb3VwPT09dGhpcy4kLml0ZW1zJiYodGhpcy5fbmF2aWdhdGluZ0lzSGlkZGVuPSEwLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgibmF2aWdhdGluZyIsITEsdGhpcykpLGU9PT10aGlzLl9mb2N1c2VkSXRlbUluZGV4JiZ0aGlzLl9uYXZpZ2F0aW5nSXNIaWRkZW4mJih0aGlzLl9uYXZpZ2F0aW5nSXNIaWRkZW49ITEsdGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJuYXZpZ2F0aW5nIiwhMCx0aGlzKSl9X2dldENvbHVtbnModCxlKXtsZXQgbj10aGlzLl9jb2x1bW5UcmVlLmxlbmd0aC0xO3JldHVybiB0PT09dGhpcy4kLmhlYWRlcj9uPWU6dD09PXRoaXMuJC5mb290ZXImJihuPXRoaXMuX2NvbHVtblRyZWUubGVuZ3RoLTEtZSksdGhpcy5fY29sdW1uVHJlZVtuXX1fcmVzZXRLZXlib2FyZE5hdmlnYXRpb24oKXtpZih0aGlzLiQuaGVhZGVyLmZpcnN0RWxlbWVudENoaWxkJiYodGhpcy5faGVhZGVyRm9jdXNhYmxlPUFycmF5LmZyb20odGhpcy4kLmhlYWRlci5maXJzdEVsZW1lbnRDaGlsZC5jaGlsZHJlbikuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKVswXSksdGhpcy4kLml0ZW1zLmZpcnN0RWxlbWVudENoaWxkKXtjb25zdCB0PXRoaXMuX2l0ZXJhdGVJdGVtcygoKHQsZSk9PntpZih0aGlzLl9maXJzdFZpc2libGVJbmRleD09PWUpcmV0dXJuIHRoaXMuJC5pdGVtcy5jaGlsZHJlblt0XX0pKTt0JiYodGhpcy5faXRlbXNGb2N1c2FibGU9QXJyYXkuZnJvbSh0LmNoaWxkcmVuKS5maWx0ZXIoKHQ9PiF0LmhpZGRlbikpWzBdKX10aGlzLiQuZm9vdGVyLmZpcnN0RWxlbWVudENoaWxkJiYodGhpcy5fZm9vdGVyRm9jdXNhYmxlPUFycmF5LmZyb20odGhpcy4kLmZvb3Rlci5maXJzdEVsZW1lbnRDaGlsZC5jaGlsZHJlbikuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKVswXSl9X3Njcm9sbEhvcml6b250YWxseVRvQ2VsbCh0KXtpZih0Lmhhc0F0dHJpYnV0ZSgiZnJvemVuIil8fHRoaXMuX2VsZW1lbnRNYXRjaGVzKHQsJ1twYXJ0fj0iZGV0YWlscy1jZWxsIl0nKSlyZXR1cm47Y29uc3QgZT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49dC5wYXJlbnROb2RlLGk9QXJyYXkuZnJvbShuLmNoaWxkcmVuKS5pbmRleE9mKHQpLHI9dGhpcy4kLnRhYmxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2xldCBvPXIubGVmdCxhPXIucmlnaHQ7Zm9yKGxldCB0PWktMTt0Pj0wO3QtLSl7Y29uc3QgZT1uLmNoaWxkcmVuW3RdO2lmKCFlLmhhc0F0dHJpYnV0ZSgiaGlkZGVuIikmJiF0aGlzLl9lbGVtZW50TWF0Y2hlcyhlLCdbcGFydH49ImRldGFpbHMtY2VsbCJdJykmJmUuaGFzQXR0cmlidXRlKCJmcm96ZW4iKSl7bz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0O2JyZWFrfX1mb3IobGV0IHQ9aSsxO3Q8bi5jaGlsZHJlbi5sZW5ndGg7dCsrKXtjb25zdCBlPW4uY2hpbGRyZW5bdF07aWYoIWUuaGFzQXR0cmlidXRlKCJoaWRkZW4iKSYmIXRoaXMuX2VsZW1lbnRNYXRjaGVzKGUsJ1twYXJ0fj0iZGV0YWlscy1jZWxsIl0nKSYmZS5oYXNBdHRyaWJ1dGUoImZyb3plbiIpKXthPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDticmVha319ZS5sZWZ0PG8mJih0aGlzLiQudGFibGUuc2Nyb2xsTGVmdCs9TWF0aC5yb3VuZChlLmxlZnQtbykpLGUucmlnaHQ+YSYmKHRoaXMuJC50YWJsZS5zY3JvbGxMZWZ0Kz1NYXRoLnJvdW5kKGUucmlnaHQtYSkpfV9lbGVtZW50TWF0Y2hlcyh0LGUpe3JldHVybiB0Lm1hdGNoZXM/dC5tYXRjaGVzKGUpOi0xIT09QXJyYXkuZnJvbSh0LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvckFsbChlKSkuaW5kZXhPZih0KX1fZ2V0R3JpZEV2ZW50TG9jYXRpb24odCl7Y29uc3QgZT10LmNvbXBvc2VkUGF0aCgpLG49ZS5pbmRleE9mKHRoaXMuJC50YWJsZSk7cmV0dXJue3NlY3Rpb246bj49MT9lW24tMV06bnVsbCxyb3c6bj49Mj9lW24tMl06bnVsbCxjZWxsOm4+PTM/ZVtuLTNdOm51bGx9fV9nZXRHcmlkU2VjdGlvbkZyb21Gb2N1c1RhcmdldCh0KXtyZXR1cm4gdD09PXRoaXMuX2hlYWRlckZvY3VzYWJsZT90aGlzLiQuaGVhZGVyOnQ9PT10aGlzLl9pdGVtc0ZvY3VzYWJsZT90aGlzLiQuaXRlbXM6dD09PXRoaXMuX2Zvb3RlckZvY3VzYWJsZT90aGlzLiQuZm9vdGVyOm51bGx9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLzsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi8KY29uc3QgdTB0PXQ9PmNsYXNzIGV4dGVuZHMoYmkodCkpe3N0YXRpYyBnZXQgcHJvcGVydGllcygpe3JldHVybntjb2x1bW5SZW9yZGVyaW5nQWxsb3dlZDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfb3JkZXJCYXNlU2NvcGU6e3R5cGU6TnVtYmVyLHZhbHVlOjFlN319fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfdXBkYXRlT3JkZXJzKF9jb2x1bW5UcmVlLCBfY29sdW1uVHJlZS4qKSJdfXJlYWR5KCl7c3VwZXIucmVhZHkoKSxjaSh0aGlzLCJ0cmFjayIsdGhpcy5fb25UcmFja0V2ZW50KSx0aGlzLl9yZW9yZGVyR2hvc3Q9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ1twYXJ0PSJyZW9yZGVyLWdob3N0Il0nKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hTdGFydC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fb25Ub3VjaE1vdmUuYmluZCh0aGlzKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5fb25Ub3VjaEVuZC5iaW5kKHRoaXMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51Iix0aGlzLl9vbkNvbnRleHRNZW51LmJpbmQodGhpcykpfV9vbkNvbnRleHRNZW51KHQpe3RoaXMuaGFzQXR0cmlidXRlKCJyZW9yZGVyaW5nIikmJnQucHJldmVudERlZmF1bHQoKX1fb25Ub3VjaFN0YXJ0KHQpe3RoaXMuX3N0YXJ0VG91Y2hSZW9yZGVyVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX29uVHJhY2tTdGFydCh7ZGV0YWlsOnt4OnQudG91Y2hlc1swXS5jbGllbnRYLHk6dC50b3VjaGVzWzBdLmNsaWVudFl9fSl9KSwxMDApfV9vblRvdWNoTW92ZSh0KXt0aGlzLl9kcmFnZ2VkQ29sdW1uJiZ0LnByZXZlbnREZWZhdWx0KCksY2xlYXJUaW1lb3V0KHRoaXMuX3N0YXJ0VG91Y2hSZW9yZGVyVGltZW91dCl9X29uVG91Y2hFbmQoKXtjbGVhclRpbWVvdXQodGhpcy5fc3RhcnRUb3VjaFJlb3JkZXJUaW1lb3V0KSx0aGlzLl9vblRyYWNrRW5kKCl9X29uVHJhY2tFdmVudCh0KXtpZigic3RhcnQiPT09dC5kZXRhaWwuc3RhdGUpe2NvbnN0IGU9dC5jb21wb3NlZFBhdGgoKSxuPWVbZS5pbmRleE9mKHRoaXMuJC5oZWFkZXIpLTJdO2lmKCFufHwhbi5fY29udGVudClyZXR1cm47aWYobi5fY29udGVudC5jb250YWlucyh0aGlzLmdldFJvb3ROb2RlKCkuYWN0aXZlRWxlbWVudCkpcmV0dXJuO2lmKHRoaXMuJC5zY3JvbGxlci5oYXNBdHRyaWJ1dGUoImNvbHVtbi1yZXNpemluZyIpKXJldHVybjt0aGlzLl90b3VjaERldmljZXx8dGhpcy5fb25UcmFja1N0YXJ0KHQpfWVsc2UidHJhY2siPT09dC5kZXRhaWwuc3RhdGU/dGhpcy5fb25UcmFjayh0KToiZW5kIj09PXQuZGV0YWlsLnN0YXRlJiZ0aGlzLl9vblRyYWNrRW5kKHQpfV9vblRyYWNrU3RhcnQodCl7aWYoIXRoaXMuY29sdW1uUmVvcmRlcmluZ0FsbG93ZWQpcmV0dXJuO2NvbnN0IGU9dC5jb21wb3NlZFBhdGgmJnQuY29tcG9zZWRQYXRoKCk7aWYoZSYmZS5maWx0ZXIoKHQ9PnQuaGFzQXR0cmlidXRlJiZ0Lmhhc0F0dHJpYnV0ZSgiZHJhZ2dhYmxlIikpKVswXSlyZXR1cm47Y29uc3Qgbj10aGlzLl9jZWxsRnJvbVBvaW50KHQuZGV0YWlsLngsdC5kZXRhaWwueSk7aWYobiYmLTEhPT1uLmdldEF0dHJpYnV0ZSgicGFydCIpLmluZGV4T2YoImhlYWRlci1jZWxsIikpe2Zvcih0aGlzLl90b2dnbGVBdHRyaWJ1dGUoInJlb3JkZXJpbmciLCEwLHRoaXMpLHRoaXMuX2RyYWdnZWRDb2x1bW49bi5fY29sdW1uOzE9PT10aGlzLl9kcmFnZ2VkQ29sdW1uLnBhcmVudEVsZW1lbnQuY2hpbGRFbGVtZW50Q291bnQ7KXRoaXMuX2RyYWdnZWRDb2x1bW49dGhpcy5fZHJhZ2dlZENvbHVtbi5wYXJlbnRFbGVtZW50O3RoaXMuX3NldFNpYmxpbmdzUmVvcmRlclN0YXR1cyh0aGlzLl9kcmFnZ2VkQ29sdW1uLCJhbGxvd2VkIiksdGhpcy5fZHJhZ2dlZENvbHVtbi5fcmVvcmRlclN0YXR1cz0iZHJhZ2dpbmciLHRoaXMuX3VwZGF0ZUdob3N0KG4pLHRoaXMuX3Jlb3JkZXJHaG9zdC5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIix0aGlzLl91cGRhdGVHaG9zdFBvc2l0aW9uKHQuZGV0YWlsLngsdGhpcy5fdG91Y2hEZXZpY2U/dC5kZXRhaWwueS01MDp0LmRldGFpbC55KSx0aGlzLl9hdXRvU2Nyb2xsZXIoKX19X29uVHJhY2sodCl7aWYoIXRoaXMuX2RyYWdnZWRDb2x1bW4pcmV0dXJuO2NvbnN0IGU9dGhpcy5fY2VsbEZyb21Qb2ludCh0LmRldGFpbC54LHQuZGV0YWlsLnkpO2lmKCFlKXJldHVybjtjb25zdCBuPXRoaXMuX2dldFRhcmdldENvbHVtbihlLHRoaXMuX2RyYWdnZWRDb2x1bW4pO3RoaXMuX2lzU3dhcEFsbG93ZWQodGhpcy5fZHJhZ2dlZENvbHVtbixuKSYmdGhpcy5faXNTd2FwcGFibGVCeVBvc2l0aW9uKG4sdC5kZXRhaWwueCkmJnRoaXMuX3N3YXBDb2x1bW5PcmRlcnModGhpcy5fZHJhZ2dlZENvbHVtbixuKSx0aGlzLl91cGRhdGVHaG9zdFBvc2l0aW9uKHQuZGV0YWlsLngsdGhpcy5fdG91Y2hEZXZpY2U/dC5kZXRhaWwueS01MDp0LmRldGFpbC55KSx0aGlzLl9sYXN0RHJhZ0NsaWVudFg9dC5kZXRhaWwueH1fb25UcmFja0VuZCgpe3RoaXMuX2RyYWdnZWRDb2x1bW4mJih0aGlzLl90b2dnbGVBdHRyaWJ1dGUoInJlb3JkZXJpbmciLCExLHRoaXMpLHRoaXMuX2RyYWdnZWRDb2x1bW4uX3Jlb3JkZXJTdGF0dXM9IiIsdGhpcy5fc2V0U2libGluZ3NSZW9yZGVyU3RhdHVzKHRoaXMuX2RyYWdnZWRDb2x1bW4sIiIpLHRoaXMuX2RyYWdnZWRDb2x1bW49bnVsbCx0aGlzLl9sYXN0RHJhZ0NsaWVudFg9bnVsbCx0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb2x1bW4tcmVvcmRlciIse2RldGFpbDp7Y29sdW1uczp0aGlzLl9nZXRDb2x1bW5zSW5PcmRlcigpfX0pKSl9X2dldENvbHVtbnNJbk9yZGVyKCl7cmV0dXJuIHRoaXMuX2NvbHVtblRyZWUuc2xpY2UoMCkucG9wKCkuZmlsdGVyKCh0PT4hdC5oaWRkZW4pKS5zb3J0KCgodCxlKT0+dC5fb3JkZXItZS5fb3JkZXIpKX1fY2VsbEZyb21Qb2ludCh0LGUpe3Q9dHx8MCxlPWV8fDAsdGhpcy5fZHJhZ2dlZENvbHVtbnx8dGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJuby1jb250ZW50LXBvaW50ZXItZXZlbnRzIiwhMCx0aGlzLiQuc2Nyb2xsZXIpO2NvbnN0IG49dGhpcy5zaGFkb3dSb290LmVsZW1lbnRGcm9tUG9pbnQodCxlKTtpZih0aGlzLl90b2dnbGVBdHRyaWJ1dGUoIm5vLWNvbnRlbnQtcG9pbnRlci1ldmVudHMiLCExLHRoaXMuJC5zY3JvbGxlciksbiYmbi5fY29sdW1uKXJldHVybiBufV91cGRhdGVHaG9zdFBvc2l0aW9uKHQsZSl7Y29uc3Qgbj10aGlzLl9yZW9yZGVyR2hvc3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaT10LW4ud2lkdGgvMixyPWUtbi5oZWlnaHQvMixvPXBhcnNlSW50KHRoaXMuX3Jlb3JkZXJHaG9zdC5fbGVmdHx8MCksYT1wYXJzZUludCh0aGlzLl9yZW9yZGVyR2hvc3QuX3RvcHx8MCk7dGhpcy5fcmVvcmRlckdob3N0Ll9sZWZ0PW8tKG4ubGVmdC1pKSx0aGlzLl9yZW9yZGVyR2hvc3QuX3RvcD1hLShuLnRvcC1yKSx0aGlzLl9yZW9yZGVyR2hvc3Quc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGUoJHt0aGlzLl9yZW9yZGVyR2hvc3QuX2xlZnR9cHgsICR7dGhpcy5fcmVvcmRlckdob3N0Ll90b3B9cHgpYH1fdXBkYXRlR2hvc3QodCl7Y29uc3QgZT10aGlzLl9yZW9yZGVyR2hvc3Q7ZS50ZXh0Q29udGVudD10Ll9jb250ZW50LmlubmVyVGV4dDtjb25zdCBuPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpO3JldHVyblsiYm94U2l6aW5nIiwiZGlzcGxheSIsIndpZHRoIiwiaGVpZ2h0IiwiYmFja2dyb3VuZCIsImFsaWduSXRlbXMiLCJwYWRkaW5nIiwiYm9yZGVyIiwiZmxleC1kaXJlY3Rpb24iLCJvdmVyZmxvdyJdLmZvckVhY2goKHQ9PmUuc3R5bGVbdF09blt0XSkpLGV9X3VwZGF0ZU9yZGVycyh0LGUpe3ZvaWQgMCE9PXQmJnZvaWQgMCE9PWUmJih0WzBdLmZvckVhY2goKHQ9PnQuX29yZGVyPTApKSwoZnVuY3Rpb24gbih0LGUsaSl7bGV0IHI9MTt0LmZvckVhY2goKHQ9PntyJTEwPT0wJiZyKyssdC5fb3JkZXI9aStyKmUscisrfSkpfSkodFswXSx0aGlzLl9vcmRlckJhc2VTY29wZSwwKSl9X3NldFNpYmxpbmdzUmVvcmRlclN0YXR1cyh0LGUpe0FycmF5LmZyb20odC5wYXJlbnROb2RlLmNoaWxkcmVuKS5maWx0ZXIoKGU9Pi9jb2x1bW4vLnRlc3QoZS5sb2NhbE5hbWUpJiZ0aGlzLl9pc1N3YXBBbGxvd2VkKGUsdCkpKS5mb3JFYWNoKCh0PT50Ll9yZW9yZGVyU3RhdHVzPWUpKX1fYXV0b1Njcm9sbGVyKCl7aWYodGhpcy5fbGFzdERyYWdDbGllbnRYKXtjb25zdCB0PXRoaXMuX2xhc3REcmFnQ2xpZW50WC10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnJpZ2h0KzUwLGU9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0LXRoaXMuX2xhc3REcmFnQ2xpZW50WCs1MDt0PjA/dGhpcy4kLnRhYmxlLnNjcm9sbExlZnQrPXQvMTA6ZT4wJiYodGhpcy4kLnRhYmxlLnNjcm9sbExlZnQtPWUvMTApLHRoaXMuX3Njcm9sbEhhbmRsZXIoKX10aGlzLl9kcmFnZ2VkQ29sdW1uJiZ0aGlzLmFzeW5jKHRoaXMuX2F1dG9TY3JvbGxlciwxMCl9X2lzU3dhcEFsbG93ZWQodCxlKXtpZih0JiZlKXtjb25zdCBuPXQucGFyZW50RWxlbWVudD09PWUucGFyZW50RWxlbWVudCxpPXQuZnJvemVuPT09ZS5mcm96ZW47cmV0dXJuIHQhPT1lJiZuJiZpfX1faXNTd2FwcGFibGVCeVBvc2l0aW9uKHQsZSl7Y29uc3Qgbj1BcnJheS5mcm9tKHRoaXMuJC5oZWFkZXIucXVlcnlTZWxlY3RvckFsbCgndHI6bm90KFtoaWRkZW5dKSBbcGFydH49ImNlbGwiXScpKS5maWx0ZXIoKGU9PnQuY29udGFpbnMoZS5fY29sdW1uKSkpWzBdLGk9dGhpcy4kLmhlYWRlci5xdWVyeVNlbGVjdG9yKCJ0cjpub3QoW2hpZGRlbl0pIFtyZW9yZGVyLXN0YXR1cz1kcmFnZ2luZ10iKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIHIubGVmdD5pLmxlZnQ/ZT5yLnJpZ2h0LWkud2lkdGg6ZTxyLmxlZnQraS53aWR0aH1fc3dhcENvbHVtbk9yZGVycyh0LGUpe2NvbnN0IG49dC5fb3JkZXI7dC5fb3JkZXI9ZS5fb3JkZXIsZS5fb3JkZXI9bix0aGlzLl91cGRhdGVMYXN0RnJvemVuKCksdGhpcy5fdXBkYXRlRmlyc3RBbmRMYXN0Q29sdW1uKCl9X2dldFRhcmdldENvbHVtbih0LGUpe2lmKHQmJmUpe2xldCBuPXQuX2NvbHVtbjtmb3IoO24ucGFyZW50RWxlbWVudCE9PWUucGFyZW50RWxlbWVudCYmbiE9PXRoaXM7KW49bi5wYXJlbnRFbGVtZW50O3JldHVybiBuLnBhcmVudEVsZW1lbnQ9PT1lLnBhcmVudEVsZW1lbnQ/bjp0Ll9jb2x1bW59fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IChjKSAyMDIxIFZhYWRpbiBMdGQuCiAgICAgKiBUaGlzIHByb2dyYW0gaXMgYXZhaWxhYmxlIHVuZGVyIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wLCBhdmFpbGFibGUgYXQgaHR0cHM6Ly92YWFkaW4uY29tL2xpY2Vuc2UvCiAgICAgKi8saDB0PXQ9PmNsYXNzIGV4dGVuZHMgdHtzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKXtyZXR1cm57cmVzaXphYmxlOnt0eXBlOkJvb2xlYW4sdmFsdWU6ZnVuY3Rpb24oKXtpZigidmFhZGluLWdyaWQtY29sdW1uLWdyb3VwIj09PXRoaXMubG9jYWxOYW1lKXJldHVybjtjb25zdCB0PXRoaXMucGFyZW50Tm9kZTtyZXR1cm4gdCYmInZhYWRpbi1ncmlkLWNvbHVtbi1ncm91cCI9PT10LmxvY2FsTmFtZSYmdC5yZXNpemFibGV8fCExfX0sX2hlYWRlclRlbXBsYXRlOnt0eXBlOk9iamVjdH0sX2Zvb3RlclRlbXBsYXRlOnt0eXBlOk9iamVjdH0sZnJvemVuOnt0eXBlOkJvb2xlYW4sdmFsdWU6ITF9LGhpZGRlbjp7dHlwZTpCb29sZWFufSxoZWFkZXI6e3R5cGU6U3RyaW5nfSx0ZXh0QWxpZ246e3R5cGU6U3RyaW5nfSxfbGFzdEZyb3plbjp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfb3JkZXI6TnVtYmVyLF9yZW9yZGVyU3RhdHVzOkJvb2xlYW4sX2VtcHR5Q2VsbHM6QXJyYXksX2hlYWRlckNlbGw6T2JqZWN0LF9mb290ZXJDZWxsOk9iamVjdCxfZ3JpZDpPYmplY3QsaGVhZGVyUmVuZGVyZXI6RnVuY3Rpb24sZm9vdGVyUmVuZGVyZXI6RnVuY3Rpb259fXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfd2lkdGhDaGFuZ2VkKHdpZHRoLCBfaGVhZGVyQ2VsbCwgX2Zvb3RlckNlbGwsIF9jZWxscy4qKSIsIl9mcm96ZW5DaGFuZ2VkKGZyb3plbiwgX2hlYWRlckNlbGwsIF9mb290ZXJDZWxsLCBfY2VsbHMuKikiLCJfZmxleEdyb3dDaGFuZ2VkKGZsZXhHcm93LCBfaGVhZGVyQ2VsbCwgX2Zvb3RlckNlbGwsIF9jZWxscy4qKSIsIl9wYXRoT3JIZWFkZXJDaGFuZ2VkKHBhdGgsIGhlYWRlciwgX2hlYWRlckNlbGwsIF9mb290ZXJDZWxsLCBfY2VsbHMuKiwgcmVuZGVyZXIsIGhlYWRlclJlbmRlcmVyLCBfYm9keVRlbXBsYXRlLCBfaGVhZGVyVGVtcGxhdGUpIiwiX3RleHRBbGlnbkNoYW5nZWQodGV4dEFsaWduLCBfY2VsbHMuKiwgX2hlYWRlckNlbGwsIF9mb290ZXJDZWxsKSIsIl9vcmRlckNoYW5nZWQoX29yZGVyLCBfaGVhZGVyQ2VsbCwgX2Zvb3RlckNlbGwsIF9jZWxscy4qKSIsIl9sYXN0RnJvemVuQ2hhbmdlZChfbGFzdEZyb3plbikiLCJfc2V0Qm9keVRlbXBsYXRlT3JSZW5kZXJlcihfYm9keVRlbXBsYXRlLCByZW5kZXJlciwgX2NlbGxzLCBfY2VsbHMuKikiLCJfc2V0SGVhZGVyVGVtcGxhdGVPclJlbmRlcmVyKF9oZWFkZXJUZW1wbGF0ZSwgaGVhZGVyUmVuZGVyZXIsIF9oZWFkZXJDZWxsKSIsIl9zZXRGb290ZXJUZW1wbGF0ZU9yUmVuZGVyZXIoX2Zvb3RlclRlbXBsYXRlLCBmb290ZXJSZW5kZXJlciwgX2Zvb3RlckNlbGwpIiwiX3Jlc2l6YWJsZUNoYW5nZWQocmVzaXphYmxlLCBfaGVhZGVyQ2VsbCkiLCJfcmVvcmRlclN0YXR1c0NoYW5nZWQoX3Jlb3JkZXJTdGF0dXMsIF9oZWFkZXJDZWxsLCBfZm9vdGVyQ2VsbCwgX2NlbGxzLiopIiwiX2hpZGRlbkNoYW5nZWQoaGlkZGVuLCBfaGVhZGVyQ2VsbCwgX2Zvb3RlckNlbGwsIF9jZWxscy4qKSJdfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl9ib2R5VGVtcGxhdGUmJih0aGlzLl9ib2R5VGVtcGxhdGUudGVtcGxhdGl6ZXIuX2dyaWQ9dGhpcy5fZ3JpZCksdGhpcy5faGVhZGVyVGVtcGxhdGUmJih0aGlzLl9oZWFkZXJUZW1wbGF0ZS50ZW1wbGF0aXplci5fZ3JpZD10aGlzLl9ncmlkKSx0aGlzLl9mb290ZXJUZW1wbGF0ZSYmKHRoaXMuX2Zvb3RlclRlbXBsYXRlLnRlbXBsYXRpemVyLl9ncmlkPXRoaXMuX2dyaWQpLHRoaXMuX3RlbXBsYXRlT2JzZXJ2ZXIuZmx1c2goKSx0aGlzLl9ib2R5VGVtcGxhdGV8fHRoaXMuX3RlbXBsYXRlT2JzZXJ2ZXIuY2FsbGJhY2soKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT57dGhpcy5fYWxsQ2VsbHMuZm9yRWFjaCgodD0+e3QuX2NvbnRlbnQucGFyZW50Tm9kZXx8dGhpcy5fZ3JpZCYmdGhpcy5fZ3JpZC5hcHBlbmRDaGlsZCh0Ll9jb250ZW50KX0pKX0pKX1kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX2ZpbmRIb3N0R3JpZCgpfHx0aGlzLl9hbGxDZWxscy5mb3JFYWNoKCh0PT57dC5fY29udGVudC5wYXJlbnROb2RlJiZ0Ll9jb250ZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodC5fY29udGVudCl9KSl9KSksdGhpcy5fZ3JpZFZhbHVlPXZvaWQgMH1fZmluZEhvc3RHcmlkKCl7bGV0IHQ9dGhpcztmb3IoO3QmJiEvXnZhYWRpbi4qZ3JpZCgtcHJvKT8kLy50ZXN0KHQubG9jYWxOYW1lKTspdD10LmFzc2lnbmVkU2xvdD90LmFzc2lnbmVkU2xvdC5wYXJlbnROb2RlOnQucGFyZW50Tm9kZTtyZXR1cm4gdHx8dm9pZCAwfWdldCBfZ3JpZCgpe3JldHVybiB0aGlzLl9ncmlkVmFsdWV8fCh0aGlzLl9ncmlkVmFsdWU9dGhpcy5fZmluZEhvc3RHcmlkKCkpLHRoaXMuX2dyaWRWYWx1ZX1nZXQgX2FsbENlbGxzKCl7cmV0dXJuW10uY29uY2F0KHRoaXMuX2NlbGxzfHxbXSkuY29uY2F0KHRoaXMuX2VtcHR5Q2VsbHN8fFtdKS5jb25jYXQodGhpcy5faGVhZGVyQ2VsbCkuY29uY2F0KHRoaXMuX2Zvb3RlckNlbGwpLmZpbHRlcigodD0+dCkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl90ZW1wbGF0ZU9ic2VydmVyPW5ldyBHaSh0aGlzLCgoKT0+e3RoaXMuX2hlYWRlclRlbXBsYXRlPXRoaXMuX3ByZXBhcmVIZWFkZXJUZW1wbGF0ZSgpLHRoaXMuX2Zvb3RlclRlbXBsYXRlPXRoaXMuX3ByZXBhcmVGb290ZXJUZW1wbGF0ZSgpLHRoaXMuX2JvZHlUZW1wbGF0ZT10aGlzLl9wcmVwYXJlQm9keVRlbXBsYXRlKCl9KSl9X3ByZXBhcmVIZWFkZXJUZW1wbGF0ZSgpe3JldHVybiB0aGlzLl9wcmVwYXJlVGVtcGxhdGl6ZXIodGhpcy5fZmluZFRlbXBsYXRlKCEwKXx8bnVsbCx7fSl9X3ByZXBhcmVGb290ZXJUZW1wbGF0ZSgpe3JldHVybiB0aGlzLl9wcmVwYXJlVGVtcGxhdGl6ZXIodGhpcy5fZmluZFRlbXBsYXRlKCExLCEwKXx8bnVsbCx7fSl9X3ByZXBhcmVCb2R5VGVtcGxhdGUoKXtyZXR1cm4gdGhpcy5fcHJlcGFyZVRlbXBsYXRpemVyKHRoaXMuX2ZpbmRUZW1wbGF0ZSgpfHxudWxsKX1fcHJlcGFyZVRlbXBsYXRpemVyKHQsZSl7aWYodCYmIXQudGVtcGxhdGl6ZXIpe2NvbnN0IG49bmV3IFkxdDtuLl9ncmlkPXRoaXMuX2dyaWQsbi5kYXRhSG9zdD10aGlzLmRhdGFIb3N0LG4uX2luc3RhbmNlUHJvcHM9ZXx8bi5faW5zdGFuY2VQcm9wcyxuLnRlbXBsYXRlPXQsdC50ZW1wbGF0aXplcj1ufXJldHVybiB0fV9yZW5kZXJIZWFkZXJBbmRGb290ZXIoKXt0aGlzLmhlYWRlclJlbmRlcmVyJiZ0aGlzLl9oZWFkZXJDZWxsJiZ0aGlzLl9fcnVuUmVuZGVyZXIodGhpcy5oZWFkZXJSZW5kZXJlcix0aGlzLl9oZWFkZXJDZWxsKSx0aGlzLmZvb3RlclJlbmRlcmVyJiZ0aGlzLl9mb290ZXJDZWxsJiZ0aGlzLl9fcnVuUmVuZGVyZXIodGhpcy5mb290ZXJSZW5kZXJlcix0aGlzLl9mb290ZXJDZWxsKX1fX3J1blJlbmRlcmVyKHQsZSxuKXtjb25zdCBpPVtlLl9jb250ZW50LHRoaXNdO24mJm4uaXRlbSYmaS5wdXNoKG4pLHQuYXBwbHkodGhpcyxpKX1fX3NldENvbHVtblRlbXBsYXRlT3JSZW5kZXJlcih0LGUsbil7aWYoIXRoaXMuaGlkZGVuKXtpZih0JiZlKXRocm93IG5ldyBFcnJvcigiWW91IHNob3VsZCBvbmx5IHVzZSBlaXRoZXIgYSByZW5kZXJlciBvciBhIHRlbXBsYXRlIik7bi5mb3JFYWNoKChuPT57Y29uc3QgaT10aGlzLl9ncmlkLl9fZ2V0Um93TW9kZWwobi5wYXJlbnRFbGVtZW50KTtpZihlKW4uX3JlbmRlcmVyPWUsKGkuaXRlbXx8ZT09PXRoaXMuaGVhZGVyUmVuZGVyZXJ8fGU9PT10aGlzLmZvb3RlclJlbmRlcmVyKSYmdGhpcy5fX3J1blJlbmRlcmVyKGUsbixpKTtlbHNlIGlmKG4uX3RlbXBsYXRlIT09dCl7bi5fdGVtcGxhdGU9dCxuLl9jb250ZW50LmlubmVySFRNTD0iIix0LnRlbXBsYXRpemVyLl9ncmlkPXQudGVtcGxhdGl6ZXIuX2dyaWR8fHRoaXMuX2dyaWQ7Y29uc3QgZT10LnRlbXBsYXRpemVyLmNyZWF0ZUluc3RhbmNlKCk7bi5fY29udGVudC5hcHBlbmRDaGlsZChlLnJvb3QpLG4uX2luc3RhbmNlPWUsaS5pdGVtJiZuLl9pbnN0YW5jZS5zZXRQcm9wZXJ0aWVzKGkpfX0pKX19X3NldEJvZHlUZW1wbGF0ZU9yUmVuZGVyZXIodCxlLG4peyh0fHxlKSYmbiYmdGhpcy5fX3NldENvbHVtblRlbXBsYXRlT3JSZW5kZXJlcih0LGUsbil9X3NldEhlYWRlclRlbXBsYXRlT3JSZW5kZXJlcih0LGUsbil7KHR8fGUpJiZuJiZ0aGlzLl9fc2V0Q29sdW1uVGVtcGxhdGVPclJlbmRlcmVyKHQsZSxbbl0pfV9zZXRGb290ZXJUZW1wbGF0ZU9yUmVuZGVyZXIodCxlLG4peyh0fHxlKSYmbiYmKHRoaXMuX19zZXRDb2x1bW5UZW1wbGF0ZU9yUmVuZGVyZXIodCxlLFtuXSksdGhpcy5fZ3JpZC5fX3VwZGF0ZUhlYWRlckZvb3RlclJvd1Zpc2liaWxpdHkobi5wYXJlbnRFbGVtZW50KSl9X3NlbGVjdEZpcnN0VGVtcGxhdGUodD0hMSxlPSExKXtyZXR1cm4gR2kuZ2V0RmxhdHRlbmVkTm9kZXModGhpcykuZmlsdGVyKChuPT4idGVtcGxhdGUiPT09bi5sb2NhbE5hbWUmJm4uY2xhc3NMaXN0LmNvbnRhaW5zKCJoZWFkZXIiKT09PXQmJm4uY2xhc3NMaXN0LmNvbnRhaW5zKCJmb290ZXIiKT09PWUpKVswXX1fZmluZFRlbXBsYXRlKHQsZSl7Y29uc3Qgbj10aGlzLl9zZWxlY3RGaXJzdFRlbXBsYXRlKHQsZSk7cmV0dXJuIG4mJnRoaXMuZGF0YUhvc3QmJihuLl9yb290RGF0YUhvc3Q9dGhpcy5kYXRhSG9zdC5fcm9vdERhdGFIb3N0fHx0aGlzLmRhdGFIb3N0KSxufV9mbGV4R3Jvd0NoYW5nZWQodCl7dGhpcy5wYXJlbnRFbGVtZW50JiZ0aGlzLnBhcmVudEVsZW1lbnQuX2NvbHVtblByb3BDaGFuZ2VkJiZ0aGlzLnBhcmVudEVsZW1lbnQuX2NvbHVtblByb3BDaGFuZ2VkKCJmbGV4R3JvdyIpLHRoaXMuX2FsbENlbGxzLmZvckVhY2goKGU9PmUuc3R5bGUuZmxleEdyb3c9dCkpfV9vcmRlckNoYW5nZWQodCl7dGhpcy5fYWxsQ2VsbHMuZm9yRWFjaCgoZT0+ZS5zdHlsZS5vcmRlcj10KSl9X3dpZHRoQ2hhbmdlZCh0KXt0aGlzLnBhcmVudEVsZW1lbnQmJnRoaXMucGFyZW50RWxlbWVudC5fY29sdW1uUHJvcENoYW5nZWQmJnRoaXMucGFyZW50RWxlbWVudC5fY29sdW1uUHJvcENoYW5nZWQoIndpZHRoIiksdGhpcy5fYWxsQ2VsbHMuZm9yRWFjaCgoZT0+ZS5zdHlsZS53aWR0aD10KSksdGhpcy5fZ3JpZCYmdGhpcy5fZ3JpZC5fX2ZvcmNlUmVmbG93JiZ0aGlzLl9ncmlkLl9fZm9yY2VSZWZsb3coKX1fZnJvemVuQ2hhbmdlZCh0KXt0aGlzLnBhcmVudEVsZW1lbnQmJnRoaXMucGFyZW50RWxlbWVudC5fY29sdW1uUHJvcENoYW5nZWQmJnRoaXMucGFyZW50RWxlbWVudC5fY29sdW1uUHJvcENoYW5nZWQoImZyb3plbiIsdCksdGhpcy5fYWxsQ2VsbHMuZm9yRWFjaCgoZT0+dGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJmcm96ZW4iLHQsZSkpKSx0aGlzLl9ncmlkJiZ0aGlzLl9ncmlkLl9mcm96ZW5DZWxsc0NoYW5nZWQmJnRoaXMuX2dyaWQuX2Zyb3plbkNlbGxzQ2hhbmdlZCgpfV9sYXN0RnJvemVuQ2hhbmdlZCh0KXt0aGlzLl9hbGxDZWxscy5mb3JFYWNoKChlPT50aGlzLl90b2dnbGVBdHRyaWJ1dGUoImxhc3QtZnJvemVuIix0LGUpKSksdGhpcy5wYXJlbnRFbGVtZW50JiZ0aGlzLnBhcmVudEVsZW1lbnQuX2NvbHVtblByb3BDaGFuZ2VkJiYodGhpcy5wYXJlbnRFbGVtZW50Ll9sYXN0RnJvemVuPXQpfV9wYXRoT3JIZWFkZXJDaGFuZ2VkKHQsZSxuLGkscixvLGEscyxsKXtjb25zdCBjPXZvaWQgMCE9PWU7aWYoIWEmJiFsJiZjJiZuJiZ0aGlzLl9fc2V0VGV4dENvbnRlbnQobi5fY29udGVudCxlKSx0JiZyLnZhbHVlKXtpZighbyYmIXMpe3RoaXMuX19zZXRDb2x1bW5UZW1wbGF0ZU9yUmVuZGVyZXIodm9pZCAwLCgoZSxuLHtpdGVtOml9KT0+dGhpcy5fX3NldFRleHRDb250ZW50KGUsdGhpcy5nZXQodCxpKSkpLHIudmFsdWUpfWF8fGx8fGN8fCFufHxudWxsPT09ZXx8dGhpcy5fX3NldFRleHRDb250ZW50KG4uX2NvbnRlbnQsdGhpcy5fZ2VuZXJhdGVIZWFkZXIodCkpfW4mJnRoaXMuX2dyaWQuX191cGRhdGVIZWFkZXJGb290ZXJSb3dWaXNpYmlsaXR5KG4ucGFyZW50RWxlbWVudCl9X19zZXRUZXh0Q29udGVudCh0LGUpe3QudGV4dENvbnRlbnQhPT1lJiYodC50ZXh0Q29udGVudD1lKX1fZ2VuZXJhdGVIZWFkZXIodCl7cmV0dXJuIHQuc3Vic3RyKHQubGFzdEluZGV4T2YoIi4iKSsxKS5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvLS9nLCIgIikucmVwbGFjZSgvXi4vLCh0PT50LnRvVXBwZXJDYXNlKCkpKX1fdG9nZ2xlQXR0cmlidXRlKHQsZSxuKXtuLmhhc0F0dHJpYnV0ZSh0KT09PSFlJiYoZT9uLnNldEF0dHJpYnV0ZSh0LCIiKTpuLnJlbW92ZUF0dHJpYnV0ZSh0KSl9X3Jlb3JkZXJTdGF0dXNDaGFuZ2VkKHQpe3RoaXMuX2FsbENlbGxzLmZvckVhY2goKGU9PmUuc2V0QXR0cmlidXRlKCJyZW9yZGVyLXN0YXR1cyIsdCkpKX1fcmVzaXphYmxlQ2hhbmdlZCh0LGUpe3ZvaWQgMCE9PXQmJnZvaWQgMCE9PWUmJmUmJltlXS5jb25jYXQodGhpcy5fZW1wdHlDZWxscykuZm9yRWFjaCgoZT0+e2lmKGUpe2NvbnN0IG49ZS5xdWVyeVNlbGVjdG9yKCdbcGFydH49InJlc2l6ZS1oYW5kbGUiXScpO2lmKG4mJmUucmVtb3ZlQ2hpbGQobiksdCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LnNldEF0dHJpYnV0ZSgicGFydCIsInJlc2l6ZS1oYW5kbGUiKSxlLmFwcGVuZENoaWxkKHQpfX19KSl9X3RleHRBbGlnbkNoYW5nZWQodCl7aWYodm9pZCAwPT09dClyZXR1cm47aWYoLTE9PT1bInN0YXJ0IiwiZW5kIiwiY2VudGVyIl0uaW5kZXhPZih0KSlyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oJ3RleHRBbGlnbiBjYW4gb25seSBiZSBzZXQgYXMgInN0YXJ0IiwgImVuZCIgb3IgImNlbnRlciInKTtsZXQgZTsibHRyIj09PWdldENvbXB1dGVkU3R5bGUodGhpcy5fZ3JpZCkuZGlyZWN0aW9uPyJzdGFydCI9PT10P2U9ImxlZnQiOiJlbmQiPT09dCYmKGU9InJpZ2h0Iik6InN0YXJ0Ij09PXQ/ZT0icmlnaHQiOiJlbmQiPT09dCYmKGU9ImxlZnQiKSx0aGlzLl9hbGxDZWxscy5mb3JFYWNoKChuPT57bi5fY29udGVudC5zdHlsZS50ZXh0QWxpZ249dCxnZXRDb21wdXRlZFN0eWxlKG4uX2NvbnRlbnQpLnRleHRBbGlnbiE9PXQmJihuLl9jb250ZW50LnN0eWxlLnRleHRBbGlnbj1lKX0pKX1faGlkZGVuQ2hhbmdlZCh0KXt0aGlzLnBhcmVudEVsZW1lbnQmJnRoaXMucGFyZW50RWxlbWVudC5fY29sdW1uUHJvcENoYW5nZWQmJnRoaXMucGFyZW50RWxlbWVudC5fY29sdW1uUHJvcENoYW5nZWQoImhpZGRlbiIsdCksISF0IT0hIXRoaXMuX3ByZXZpb3VzSGlkZGVuJiZ0aGlzLl9ncmlkJiYoITA9PT10JiZ0aGlzLl9hbGxDZWxscy5mb3JFYWNoKCh0PT57dC5fY29udGVudC5wYXJlbnROb2RlJiZ0Ll9jb250ZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodC5fY29udGVudCl9KSksdGhpcy5fZ3JpZC5fZGVib3VuY2VySGlkZGVuQ2hhbmdlZD1Obi5kZWJvdW5jZSh0aGlzLl9ncmlkLl9kZWJvdW5jZXJIaWRkZW5DaGFuZ2VkLF90LCgoKT0+e3RoaXMuX2dyaWQmJnRoaXMuX2dyaWQuX3JlbmRlckNvbHVtblRyZWUmJnRoaXMuX2dyaWQuX3JlbmRlckNvbHVtblRyZWUodGhpcy5fZ3JpZC5fY29sdW1uVHJlZSl9KSksdGhpcy5fZ3JpZC5fdXBkYXRlTGFzdEZyb3plbiYmdGhpcy5fZ3JpZC5fdXBkYXRlTGFzdEZyb3plbigpLHRoaXMuX2dyaWQubm90aWZ5UmVzaXplJiZ0aGlzLl9ncmlkLm5vdGlmeVJlc2l6ZSgpLHRoaXMuX2dyaWQuX3Jlc2V0S2V5Ym9hcmROYXZpZ2F0aW9uJiZ0aGlzLl9ncmlkLl9yZXNldEtleWJvYXJkTmF2aWdhdGlvbigpKSx0aGlzLl9wcmV2aW91c0hpZGRlbj10fX07Y2xhc3MgZDB0IGV4dGVuZHMoaDB0KEExdCh3ZSkpKXtzdGF0aWMgZ2V0IGlzKCl7cmV0dXJuInZhYWRpbi1ncmlkLWNvbHVtbiJ9c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue3dpZHRoOnt0eXBlOlN0cmluZyx2YWx1ZToiMTAwcHgifSxmbGV4R3Jvdzp7dHlwZTpOdW1iZXIsdmFsdWU6MX0scmVuZGVyZXI6RnVuY3Rpb24scGF0aDp7dHlwZTpTdHJpbmd9LGF1dG9XaWR0aDp7dHlwZTpCb29sZWFuLHZhbHVlOiExfSxfYm9keVRlbXBsYXRlOnt0eXBlOk9iamVjdH0sX2NlbGxzOkFycmF5fX19Y3VzdG9tRWxlbWVudHMuZGVmaW5lKGQwdC5pcyxkMHQpLAovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgKGMpIDIwMjEgVmFhZGluIEx0ZC4KICAgICAqIFRoaXMgcHJvZ3JhbSBpcyBhdmFpbGFibGUgdW5kZXIgQXBhY2hlIExpY2Vuc2UgVmVyc2lvbiAyLjAsIGF2YWlsYWJsZSBhdCBodHRwczovL3ZhYWRpbi5jb20vbGljZW5zZS8KICAgICAqLwp0MXQoInZhYWRpbi1ncmlkIiwkUXRgCiAgICBAa2V5ZnJhbWVzIHZhYWRpbi1ncmlkLWFwcGVhciB7CiAgICAgIHRvIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CiAgICB9CgogICAgOmhvc3QgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgYW5pbWF0aW9uOiAxbXMgdmFhZGluLWdyaWQtYXBwZWFyOwogICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICBmbGV4OiAxIDEgYXV0bzsKICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgfQoKICAgIDpob3N0KFtoaWRkZW5dKSB7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICAjc2Nyb2xsZXIgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICB3aWR0aDogYXV0bzsKICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIGJvdHRvbTogMDsKICAgICAgbGVmdDogMDsKICAgIH0KCiAgICA6aG9zdChbaGVpZ2h0LWJ5LXJvd3NdKSB7CiAgICAgIGhlaWdodDogYXV0bzsKICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICAgICAgZmxleC1ncm93OiAwOwogICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICA6aG9zdChbaGVpZ2h0LWJ5LXJvd3NdKSAjc2Nyb2xsZXIgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgI3RhYmxlIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgLyogV29ya2Fyb3VuZCBmb3IgYSBEZXNrdG9wIFNhZmFyaSBidWc6IG5ldyBzdGFja2luZyBjb250ZXh0IGhlcmUgcHJldmVudHMgdGhlIHNjcm9sbGJhciBmcm9tIGdldHRpbmcgaGlkZGVuICovCiAgICAgIHotaW5kZXg6IDA7CiAgICB9CgogICAgI2hlYWRlciwKICAgICNmb290ZXIgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5OwogICAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgICBsZWZ0OiAwOwogICAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIHotaW5kZXg6IDE7CiAgICB9CgogICAgI2hlYWRlciB7CiAgICAgIHRvcDogMDsKICAgIH0KCiAgICB0aCB7CiAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7CiAgICB9CgogICAgLyogU2FmYXJpIGRvZXNuJ3Qgd29yayB3aXRoICJpbmhlcml0IiAqLwogICAgW3NhZmFyaV0gdGggewogICAgICB0ZXh0LWFsaWduOiBpbml0aWFsOwogICAgfQoKICAgICNmb290ZXIgewogICAgICBib3R0b206IDA7CiAgICB9CgogICAgI2l0ZW1zIHsKICAgICAgZmxleC1ncm93OiAxOwogICAgICBmbGV4LXNocmluazogMDsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTsKICAgICAgcG9zaXRpb246IHN0aWNreTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGxlZnQ6IDA7CiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgfQoKICAgIFtwYXJ0fj0ncm93J10gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB3aWR0aDogMTAwJTsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgbWFyZ2luOiAwOwogICAgfQoKICAgIFtwYXJ0fj0ncm93J11bbG9hZGluZ10gW3BhcnR+PSdib2R5LWNlbGwnXSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSB7CiAgICAgIG9wYWNpdHk6IDA7CiAgICB9CgogICAgI2l0ZW1zIFtwYXJ0fj0ncm93J10gewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB9CgogICAgI2l0ZW1zIFtwYXJ0fj0ncm93J106ZW1wdHkgewogICAgICBoZWlnaHQ6IDFlbTsKICAgIH0KCiAgICBbcGFydH49J2NlbGwnXTpub3QoW3BhcnR+PSdkZXRhaWxzLWNlbGwnXSkgewogICAgICBmbGV4LXNocmluazogMDsKICAgICAgZmxleC1ncm93OiAxOwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB3aWR0aDogMTAwJTsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBwYWRkaW5nOiAwOwogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgfQoKICAgIFtwYXJ0fj0nZGV0YWlscy1jZWxsJ10gewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGJvdHRvbTogMDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIHBhZGRpbmc6IDA7CiAgICB9CgogICAgW3BhcnR+PSdjZWxsJ10gOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgfQoKICAgIFtoaWRkZW5dIHsKICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgfQoKICAgIFtmcm96ZW5dIHsKICAgICAgei1pbmRleDogMjsKICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgIH0KCiAgICBbbm8tc2Nyb2xsYmFyc11bc2FmYXJpXSAjdGFibGUsCiAgICBbbm8tc2Nyb2xsYmFyc11bZmlyZWZveF0gI3RhYmxlIHsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCiAgICAvKiBSZW9yZGVyaW5nIHN0eWxlcyAqLwogICAgOmhvc3QoW3Jlb3JkZXJpbmddKSBbcGFydH49J2NlbGwnXSA6OnNsb3R0ZWQodmFhZGluLWdyaWQtY2VsbC1jb250ZW50KSwKICAgIDpob3N0KFtyZW9yZGVyaW5nXSkgW3BhcnR+PSdyZXNpemUtaGFuZGxlJ10sCiAgICAjc2Nyb2xsZXJbbm8tY29udGVudC1wb2ludGVyLWV2ZW50c10gW3BhcnR+PSdjZWxsJ10gOjpzbG90dGVkKHZhYWRpbi1ncmlkLWNlbGwtY29udGVudCkgewogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIH0KCiAgICBbcGFydH49J3Jlb3JkZXItZ2hvc3QnXSB7CiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgb3BhY2l0eTogMC41OwoKICAgICAgLyogUHJldmVudCBvdmVyZmxvd2luZyB0aGUgZ3JpZCBpbiBGaXJlZm94ICovCiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgIH0KCiAgICA6aG9zdChbcmVvcmRlcmluZ10pIHsKICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB9CgogICAgLyogUmVzaXppbmcgc3R5bGVzICovCiAgICBbcGFydH49J3Jlc2l6ZS1oYW5kbGUnXSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICByaWdodDogMDsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBjdXJzb3I6IGNvbC1yZXNpemU7CiAgICAgIHotaW5kZXg6IDE7CiAgICB9CgogICAgW3BhcnR+PSdyZXNpemUtaGFuZGxlJ106OmJlZm9yZSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgY29udGVudDogJyc7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgd2lkdGg6IDM1cHg7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICAgIH0KCiAgICBbbGFzdC1jb2x1bW5dIFtwYXJ0fj0ncmVzaXplLWhhbmRsZSddOjpiZWZvcmUsCiAgICBbbGFzdC1mcm96ZW5dIFtwYXJ0fj0ncmVzaXplLWhhbmRsZSddOjpiZWZvcmUgewogICAgICB3aWR0aDogMThweDsKICAgICAgdHJhbnNmb3JtOiBub25lOwogICAgICByaWdodDogMDsKICAgIH0KCiAgICAjc2Nyb2xsZXJbY29sdW1uLXJlc2l6aW5nXSB7CiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB9CgogICAgLyogU2l6ZXIgc3R5bGVzICovCiAgICAjc2l6ZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIH0KCiAgICAjc2l6ZXIgW3BhcnR+PSdkZXRhaWxzLWNlbGwnXSB7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICAjc2l6ZXIgW3BhcnR+PSdjZWxsJ11baGlkZGVuXSB7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KCiAgICAjc2l6ZXIgW3BhcnR+PSdjZWxsJ10gewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIGxpbmUtaGVpZ2h0OiAwOwogICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDsKICAgICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50OwogICAgICBtYXgtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7CiAgICB9CgogICAgI3NpemVyIFtwYXJ0fj0nY2VsbCddOjpiZWZvcmUgewogICAgICBjb250ZW50OiAnLSc7CiAgICB9CgogICAgI3NpemVyIFtwYXJ0fj0nY2VsbCddIDo6c2xvdHRlZCh2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQpIHsKICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgfQoKICAgIC8qIFJUTCBzcGVjaWZpYyBzdHlsZXMgKi8KCiAgICA6aG9zdChbZGlyPSdydGwnXSkgI2l0ZW1zLAogICAgOmhvc3QoW2Rpcj0ncnRsJ10pICNoZWFkZXIsCiAgICA6aG9zdChbZGlyPSdydGwnXSkgI2Zvb3RlciB7CiAgICAgIGxlZnQ6IGF1dG87CiAgICB9CgogICAgOmhvc3QoW2Rpcj0ncnRsJ10pIFtwYXJ0fj0ncmVvcmRlci1naG9zdCddIHsKICAgICAgbGVmdDogYXV0bzsKICAgICAgcmlnaHQ6IDA7CiAgICB9CgogICAgOmhvc3QoW2Rpcj0ncnRsJ10pIFtwYXJ0fj0ncmVzaXplLWhhbmRsZSddIHsKICAgICAgbGVmdDogMDsKICAgICAgcmlnaHQ6IGF1dG87CiAgICB9CgogICAgOmhvc3QoW2Rpcj0ncnRsJ10pIFtwYXJ0fj0ncmVzaXplLWhhbmRsZSddOjpiZWZvcmUgewogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTsKICAgIH0KCiAgICA6aG9zdChbZGlyPSdydGwnXSkgW2xhc3QtY29sdW1uXSBbcGFydH49J3Jlc2l6ZS1oYW5kbGUnXTo6YmVmb3JlLAogICAgOmhvc3QoW2Rpcj0ncnRsJ10pIFtsYXN0LWZyb3plbl0gW3BhcnR+PSdyZXNpemUtaGFuZGxlJ106OmJlZm9yZSB7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHJpZ2h0OiBhdXRvOwogICAgfQogIGAse21vZHVsZUlkOiJ2YWFkaW4tZ3JpZC1zdHlsZXMifSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBWYWFkaW4gTHRkLgogICAgICogVGhpcyBwcm9ncmFtIGlzIGF2YWlsYWJsZSB1bmRlciBBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vdmFhZGluLmNvbS9saWNlbnNlLwogICAgICovCmNvbnN0IHAwdD0oKCk9Pnt0cnl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCJUb3VjaEV2ZW50IiksITB9Y2F0Y2godCl7cmV0dXJuITF9fSkoKTtjbGFzcyBmMHQgZXh0ZW5kcyhQMXQoZjF0KGoxdChGMXQoRzF0KEIxdChaMXQoSjF0KFExdChYMXQoYzB0KEQxdChxMXQodTB0KFYxdChXMXQobDB0KHQwdCh6MXQpKSkpKSkpKSkpKSkpKSkpKSkpe3N0YXRpYyBnZXQgdGVtcGxhdGUoKXtyZXR1cm4geGVgCiAgICAgIDxkaXYKICAgICAgICBpZD0ic2Nyb2xsZXIiCiAgICAgICAgc2FmYXJpJD0iW1tfc2FmYXJpXV0iCiAgICAgICAgaW9zJD0iW1tfaW9zXV0iCiAgICAgICAgbG9hZGluZyQ9IltbbG9hZGluZ11dIgogICAgICAgIGNvbHVtbi1yZW9yZGVyaW5nLWFsbG93ZWQkPSJbW2NvbHVtblJlb3JkZXJpbmdBbGxvd2VkXV0iCiAgICAgID4KICAgICAgICA8dGFibGUgaWQ9InRhYmxlIiByb2xlPSJncmlkIiBhcmlhLW11bHRpc2VsZWN0YWJsZT0idHJ1ZSIgdGFiaW5kZXg9IjAiPgogICAgICAgICAgPGNhcHRpb24gaWQ9InNpemVyIiBwYXJ0PSJyb3ciPjwvY2FwdGlvbj4KICAgICAgICAgIDx0aGVhZCBpZD0iaGVhZGVyIiByb2xlPSJyb3dncm91cCI+PC90aGVhZD4KICAgICAgICAgIDx0Ym9keSBpZD0iaXRlbXMiIHJvbGU9InJvd2dyb3VwIj48L3Rib2R5PgogICAgICAgICAgPHRmb290IGlkPSJmb290ZXIiIHJvbGU9InJvd2dyb3VwIj48L3Rmb290PgogICAgICAgIDwvdGFibGU+CgogICAgICAgIDxkaXYgcGFydD0icmVvcmRlci1naG9zdCI+PC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBpZD0iZm9jdXNleGl0IiB0YWJpbmRleD0iMCI+PC9kaXY+CiAgICBgfXN0YXRpYyBnZXQgaXMoKXtyZXR1cm4idmFhZGluLWdyaWQifXN0YXRpYyBnZXQgdmVyc2lvbigpe3JldHVybiIyMC4wLjIifXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfY29sdW1uVHJlZUNoYW5nZWQoX2NvbHVtblRyZWUsIF9jb2x1bW5UcmVlLiopIl19c3RhdGljIGdldCBwcm9wZXJ0aWVzKCl7cmV0dXJue19zYWZhcmk6e3R5cGU6Qm9vbGVhbix2YWx1ZTovXigoPyFjaHJvbWV8YW5kcm9pZCkuKSpzYWZhcmkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfSxfaW9zOnt0eXBlOkJvb2xlYW4sdmFsdWU6L2lQYWR8aVBob25lfGlQb2QvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJiF3aW5kb3cuTVNTdHJlYW18fCJNYWNJbnRlbCI9PT1uYXZpZ2F0b3IucGxhdGZvcm0mJm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4xfSxfZmlyZWZveDp7dHlwZTpCb29sZWFuLHZhbHVlOm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJmaXJlZm94Iik+LTF9LF9hbmRyb2lkOnt0eXBlOkJvb2xlYW4sdmFsdWU6L2FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpfSxfdG91Y2hEZXZpY2U6e3R5cGU6Qm9vbGVhbix2YWx1ZTpwMHR9LGhlaWdodEJ5Um93czp7dHlwZTpCb29sZWFuLHZhbHVlOiExLHJlZmxlY3RUb0F0dHJpYnV0ZTohMCxvYnNlcnZlcjoiX2hlaWdodEJ5Um93c0NoYW5nZWQifSxfcmVjYWxjdWxhdGVDb2x1bW5XaWR0aE9uY2VMb2FkaW5nRmluaXNoZWQ6e3R5cGU6Qm9vbGVhbix2YWx1ZTohMH19fWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmVuZCIsdGhpcy5fb25BbmltYXRpb25FbmQpfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJlY2FsY3VsYXRlQ29sdW1uV2lkdGhzKCl9YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKHQsZSxuKXtzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxlLG4pLCJkaXIiPT09dCYmKHRoaXMuX19pc1JUTD0icnRsIj09PW4sdGhpcy5fdXBkYXRlU2Nyb2xsZXJNZWFzdXJlbWVudHMoKSl9X19oYXNSb3dzV2l0aENsaWVudEhlaWdodCgpe3JldHVybiEhQXJyYXkuZnJvbSh0aGlzLiQuaXRlbXMuY2hpbGRyZW4pLmZpbHRlcigodD0+dC5jbGllbnRIZWlnaHQpKS5sZW5ndGh9X19pdGVtc1JlY2VpdmVkKCl7dGhpcy5fcmVjYWxjdWxhdGVDb2x1bW5XaWR0aE9uY2VMb2FkaW5nRmluaXNoZWQmJiF0aGlzLl9jYWNoZS5pc0xvYWRpbmcoKSYmdGhpcy5fX2hhc1Jvd3NXaXRoQ2xpZW50SGVpZ2h0KCkmJih0aGlzLl9yZWNhbGN1bGF0ZUNvbHVtbldpZHRoT25jZUxvYWRpbmdGaW5pc2hlZD0hMSx0aGlzLnJlY2FsY3VsYXRlQ29sdW1uV2lkdGhzKCkpfV9yZWNhbGN1bGF0ZUNvbHVtbldpZHRocyh0KXt0LmZvckVhY2goKHQ9Pnt0LndpZHRoPSJhdXRvIix0Ll9vcmlnRmxleEdyb3c9dC5mbGV4R3Jvdyx0LmZsZXhHcm93PTB9KSksdC5mb3JFYWNoKCh0PT57dC5fY3VycmVudFdpZHRoPTAsdC5fYWxsQ2VsbHMuZm9yRWFjaCgoZT0+e3QuX2N1cnJlbnRXaWR0aD1NYXRoLm1heCh0Ll9jdXJyZW50V2lkdGgsZS5vZmZzZXRXaWR0aCsxKX0pKX0pKSx0LmZvckVhY2goKHQ9Pnt0LndpZHRoPWAke3QuX2N1cnJlbnRXaWR0aH1weGAsdC5mbGV4R3Jvdz10Ll9vcmlnRmxleEdyb3csdC5fY3VycmVudFdpZHRoPXZvaWQgMCx0Ll9vcmlnRmxleEdyb3c9dm9pZCAwfSkpfXJlY2FsY3VsYXRlQ29sdW1uV2lkdGhzKCl7aWYodGhpcy5fY29sdW1uVHJlZSlpZih0aGlzLl9jYWNoZS5pc0xvYWRpbmcoKSl0aGlzLl9yZWNhbGN1bGF0ZUNvbHVtbldpZHRoT25jZUxvYWRpbmdGaW5pc2hlZD0hMDtlbHNle2NvbnN0IHQ9dGhpcy5fZ2V0Q29sdW1ucygpLmZpbHRlcigodD0+IXQuaGlkZGVuJiZ0LmF1dG9XaWR0aCkpO3RoaXMuX3JlY2FsY3VsYXRlQ29sdW1uV2lkdGhzKHQpfX1fY3JlYXRlU2Nyb2xsZXJSb3dzKHQpe2NvbnN0IGU9W107Zm9yKGxldCBuPTA7bjx0O24rKyl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpO3Quc2V0QXR0cmlidXRlKCJwYXJ0Iiwicm93IiksdC5zZXRBdHRyaWJ1dGUoInJvbGUiLCJyb3ciKSx0aGlzLl9jb2x1bW5UcmVlJiZ0aGlzLl91cGRhdGVSb3codCx0aGlzLl9jb2x1bW5UcmVlW3RoaXMuX2NvbHVtblRyZWUubGVuZ3RoLTFdLCJib2R5IiwhMSwhMCksZS5wdXNoKHQpfXJldHVybiB0aGlzLl9jb2x1bW5UcmVlJiZ0aGlzLl9jb2x1bW5UcmVlW3RoaXMuX2NvbHVtblRyZWUubGVuZ3RoLTFdLmZvckVhY2goKHQ9PnQuaXNDb25uZWN0ZWQmJnQubm90aWZ5UGF0aCYmdC5ub3RpZnlQYXRoKCJfY2VsbHMuKiIsdC5fY2VsbHMpKSksKGZ1bmN0aW9uIG4odCxlLGkpe05pfHxPaSgpLElpLnB1c2goW3QsZSxpXSl9KSh0aGlzLCgoKT0+e3RoaXMuX3VwZGF0ZUZpcnN0QW5kTGFzdENvbHVtbigpLHRoaXMuX3Jlc2V0S2V5Ym9hcmROYXZpZ2F0aW9uKCl9KSksZX1fZ2V0Um93VGFyZ2V0KCl7cmV0dXJuIHRoaXMuJC5pdGVtc31fY3JlYXRlQ2VsbCh0KXtjb25zdCBlPSJ2YWFkaW4tZ3JpZC1jZWxsLWNvbnRlbnQtIisodGhpcy5fY29udGVudEluZGV4PXRoaXMuX2NvbnRlbnRJbmRleCsxfHwwKSxuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZhYWRpbi1ncmlkLWNlbGwtY29udGVudCIpO24uc2V0QXR0cmlidXRlKCJzbG90IixlKTtjb25zdCBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCk7aS5pZD1lLnJlcGxhY2UoIi1jb250ZW50LSIsIi0iKSxpLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCItMSIpLGkuc2V0QXR0cmlidXRlKCJyb2xlIiwidGQiPT09dD8iZ3JpZGNlbGwiOiJjb2x1bW5oZWFkZXIiKTtjb25zdCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNsb3QiKTtyZXR1cm4gci5zZXRBdHRyaWJ1dGUoIm5hbWUiLGUpLGkuYXBwZW5kQ2hpbGQociksaS5fY29udGVudD1uLG4uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwoKCk9PntpZih3aW5kb3cuY2hyb21lKXtjb25zdCB0PSgpPT57bi5jb250YWlucyh0aGlzLmdldFJvb3ROb2RlKCkuYWN0aXZlRWxlbWVudCl8fGkuZm9jdXMoKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0LCEwKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdCwhMCl9ZWxzZSBzZXRUaW1lb3V0KCgoKT0+e24uY29udGFpbnModGhpcy5nZXRSb290Tm9kZSgpLmFjdGl2ZUVsZW1lbnQpfHxpLmZvY3VzKCl9KSl9KSksaX1fdXBkYXRlUm93KHQsZSxuLGkscil7bj1ufHwiYm9keSI7Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7QXJyYXkuZnJvbSh0LmNoaWxkcmVuKS5mb3JFYWNoKCh0PT50Ll92YWNhbnQ9ITApKSx0LmlubmVySFRNTD0iIiwic2l6ZXIiIT09dC5pZCYmKHQuaGlkZGVuPSEwKSxlLmZpbHRlcigodD0+IXQuaGlkZGVuKSkuZm9yRWFjaCgoKGUsYSxzKT0+e2xldCBsO2lmKCJib2R5Ij09PW4pe2lmKGUuX2NlbGxzPWUuX2NlbGxzfHxbXSxsPWUuX2NlbGxzLmZpbHRlcigodD0+dC5fdmFjYW50KSlbMF0sbHx8KGw9dGhpcy5fY3JlYXRlQ2VsbCgidGQiKSxlLl9jZWxscy5wdXNoKGwpKSxsLnNldEF0dHJpYnV0ZSgicGFydCIsImNlbGwgYm9keS1jZWxsIiksdC5hcHBlbmRDaGlsZChsKSxhPT09cy5sZW5ndGgtMSYmKHRoaXMuX3Jvd0RldGFpbHNUZW1wbGF0ZXx8dGhpcy5yb3dEZXRhaWxzUmVuZGVyZXIpKXt0aGlzLl9kZXRhaWxzQ2VsbHM9dGhpcy5fZGV0YWlsc0NlbGxzfHxbXTtjb25zdCBlPXRoaXMuX2RldGFpbHNDZWxscy5maWx0ZXIoKHQ9PnQuX3ZhY2FudCkpWzBdfHx0aGlzLl9jcmVhdGVDZWxsKCJ0ZCIpOy0xPT09dGhpcy5fZGV0YWlsc0NlbGxzLmluZGV4T2YoZSkmJnRoaXMuX2RldGFpbHNDZWxscy5wdXNoKGUpLGUuX2NvbnRlbnQucGFyZW50RWxlbWVudHx8by5hcHBlbmRDaGlsZChlLl9jb250ZW50KSx0aGlzLl9jb25maWd1cmVEZXRhaWxzQ2VsbChlKSx0LmFwcGVuZENoaWxkKGUpLHRoaXMuX2ExMXlTZXRSb3dEZXRhaWxzQ2VsbCh0LGUpLGUuX3ZhY2FudD0hMX1lLm5vdGlmeVBhdGgmJiFyJiZlLm5vdGlmeVBhdGgoIl9jZWxscy4qIixlLl9jZWxscyl9ZWxzZXtjb25zdCByPSJoZWFkZXIiPT09bj8idGgiOiJ0ZCI7aXx8InZhYWRpbi1ncmlkLWNvbHVtbi1ncm91cCI9PT1lLmxvY2FsTmFtZT8obD1lW2BfJHtufUNlbGxgXXx8dGhpcy5fY3JlYXRlQ2VsbChyKSxsLl9jb2x1bW49ZSx0LmFwcGVuZENoaWxkKGwpLGVbYF8ke259Q2VsbGBdPWwpOihlLl9lbXB0eUNlbGxzPWUuX2VtcHR5Q2VsbHN8fFtdLGw9ZS5fZW1wdHlDZWxscy5maWx0ZXIoKHQ9PnQuX3ZhY2FudCkpWzBdfHx0aGlzLl9jcmVhdGVDZWxsKHIpLGwuX2NvbHVtbj1lLHQuYXBwZW5kQ2hpbGQobCksLTE9PT1lLl9lbXB0eUNlbGxzLmluZGV4T2YobCkmJmUuX2VtcHR5Q2VsbHMucHVzaChsKSksbC5zZXRBdHRyaWJ1dGUoInBhcnQiLGBjZWxsICR7bn0tY2VsbGApLHRoaXMuX191cGRhdGVIZWFkZXJGb290ZXJSb3dWaXNpYmlsaXR5KHQpfWwuX2NvbnRlbnQucGFyZW50RWxlbWVudHx8by5hcHBlbmRDaGlsZChsLl9jb250ZW50KSxsLl92YWNhbnQ9ITEsbC5fY29sdW1uPWV9KSksdGhpcy5hcHBlbmRDaGlsZChvKSx0aGlzLl9mcm96ZW5DZWxsc0NoYW5nZWQoKSx0aGlzLl91cGRhdGVGaXJzdEFuZExhc3RDb2x1bW5Gb3JSb3codCl9X191cGRhdGVIZWFkZXJGb290ZXJSb3dWaXNpYmlsaXR5KHQpe2lmKCF0KXJldHVybjtjb25zdCBlPUFycmF5LmZyb20odC5jaGlsZHJlbikuZmlsdGVyKChlPT57Y29uc3Qgbj1lLl9jb2x1bW47aWYobi5fZW1wdHlDZWxscyYmbi5fZW1wdHlDZWxscy5pbmRleE9mKGUpPi0xKXJldHVybiExO2lmKHQucGFyZW50RWxlbWVudD09PXRoaXMuJC5oZWFkZXIpe2lmKG4uaGVhZGVyUmVuZGVyZXJ8fG4uX2hlYWRlclRlbXBsYXRlKXJldHVybiEwO2lmKG51bGw9PT1uLmhlYWRlcilyZXR1cm4hMTtpZihuLnBhdGh8fHZvaWQgMCE9PW4uaGVhZGVyKXJldHVybiEwfWVsc2UgaWYobi5mb290ZXJSZW5kZXJlcnx8bi5fZm9vdGVyVGVtcGxhdGUpcmV0dXJuITB9KSk7dC5oaWRkZW4hPT0hZS5sZW5ndGgmJih0LmhpZGRlbj0hZS5sZW5ndGgsdGhpcy5ub3RpZnlSZXNpemUoKSl9X3VwZGF0ZVNjcm9sbGVySXRlbSh0LGUpe3RoaXMuX3ByZXZlbnRTY3JvbGxlclJvdGF0aW5nQ2VsbEZvY3VzKHQsZSksdGhpcy5fY29sdW1uVHJlZSYmKHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgiZmlyc3QiLDA9PT1lLHQpLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgib2RkIixlJTIsdCksdGhpcy5fYTExeVVwZGF0ZVJvd1Jvd2luZGV4KHQsZSksdGhpcy5fZ2V0SXRlbShlLHQpKX1fY29sdW1uVHJlZUNoYW5nZWQodCl7dGhpcy5fcmVuZGVyQ29sdW1uVHJlZSh0KSx0aGlzLnJlY2FsY3VsYXRlQ29sdW1uV2lkdGhzKCl9X3JlbmRlckNvbHVtblRyZWUodCl7Zm9yKEFycmF5LmZyb20odGhpcy4kLml0ZW1zLmNoaWxkcmVuKS5mb3JFYWNoKChlPT50aGlzLl91cGRhdGVSb3coZSx0W3QubGVuZ3RoLTFdLG51bGwsITEsITApKSk7dGhpcy4kLmhlYWRlci5jaGlsZHJlbi5sZW5ndGg8dC5sZW5ndGg7KXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIik7dC5zZXRBdHRyaWJ1dGUoInBhcnQiLCJyb3ciKSx0LnNldEF0dHJpYnV0ZSgicm9sZSIsInJvdyIpLHRoaXMuJC5oZWFkZXIuYXBwZW5kQ2hpbGQodCk7Y29uc3QgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpO2Uuc2V0QXR0cmlidXRlKCJwYXJ0Iiwicm93IiksZS5zZXRBdHRyaWJ1dGUoInJvbGUiLCJyb3ciKSx0aGlzLiQuZm9vdGVyLmFwcGVuZENoaWxkKGUpfWZvcig7dGhpcy4kLmhlYWRlci5jaGlsZHJlbi5sZW5ndGg+dC5sZW5ndGg7KXRoaXMuJC5oZWFkZXIucmVtb3ZlQ2hpbGQodGhpcy4kLmhlYWRlci5maXJzdEVsZW1lbnRDaGlsZCksdGhpcy4kLmZvb3Rlci5yZW1vdmVDaGlsZCh0aGlzLiQuZm9vdGVyLmZpcnN0RWxlbWVudENoaWxkKTtBcnJheS5mcm9tKHRoaXMuJC5oZWFkZXIuY2hpbGRyZW4pLmZvckVhY2goKChlLG4pPT50aGlzLl91cGRhdGVSb3coZSx0W25dLCJoZWFkZXIiLG49PT10Lmxlbmd0aC0xKSkpLEFycmF5LmZyb20odGhpcy4kLmZvb3Rlci5jaGlsZHJlbikuZm9yRWFjaCgoKGUsbik9PnRoaXMuX3VwZGF0ZVJvdyhlLHRbdC5sZW5ndGgtMS1uXSwiZm9vdGVyIiwwPT09bikpKSx0aGlzLl91cGRhdGVSb3codGhpcy4kLnNpemVyLHRbdC5sZW5ndGgtMV0pLHRoaXMuX3Jlc2l6ZUhhbmRsZXIoKSx0aGlzLl9mcm96ZW5DZWxsc0NoYW5nZWQoKSx0aGlzLl91cGRhdGVGaXJzdEFuZExhc3RDb2x1bW4oKSx0aGlzLl9yZXNldEtleWJvYXJkTmF2aWdhdGlvbigpLHRoaXMuX2ExMXlVcGRhdGVIZWFkZXJSb3dzKCksdGhpcy5fYTExeVVwZGF0ZUZvb3RlclJvd3MoKSx0aGlzLl9fdXBkYXRlRm9vdGVyUG9zaXRpb25pbmcoKX1fX3VwZGF0ZUZvb3RlclBvc2l0aW9uaW5nKCl7aWYodGhpcy5fZmlyZWZveCYmKHRoaXMuJC5pdGVtcy5zdHlsZS5wYWRkaW5nQm90dG9tPTAsdGhpcy5oZWlnaHRCeVJvd3N8fCh0aGlzLiQuaXRlbXMuc3R5bGUucGFkZGluZ0JvdHRvbT1gJHt0aGlzLiQuZm9vdGVyLm9mZnNldEhlaWdodH1weGApKSx0aGlzLl9pb3MpeyF3aW5kb3cuQ1NTLnN1cHBvcnRzKCJwb3NpdGlvbiIsInN0aWNreSIpJiYodGhpcy4kLnRhYmxlLnN0eWxlLmhlaWdodD0iIix0aGlzLiQudGFibGUuc3R5bGUubWluSGVpZ2h0PSIxMDAlIix0aGlzLiQudGFibGUuc3R5bGUubWF4SGVpZ2h0PSIxMDAlIixzZXRUaW1lb3V0KCgoKT0+dGhpcy4kLnRhYmxlLnN0eWxlLmhlaWdodD1gJHt0aGlzLiQuc2Nyb2xsZXIub2Zmc2V0SGVpZ2h0fXB4YCkpKX19X3VwZGF0ZUl0ZW0odCxlKXt0Ll9pdGVtPWU7Y29uc3Qgbj10aGlzLl9fZ2V0Um93TW9kZWwodCk7dGhpcy5fdG9nZ2xlQXR0cmlidXRlKCJzZWxlY3RlZCIsbi5zZWxlY3RlZCx0KSx0aGlzLl9hMTF5VXBkYXRlUm93U2VsZWN0ZWQodCxuLnNlbGVjdGVkKSx0aGlzLl9hMTF5VXBkYXRlUm93TGV2ZWwodCxuLmxldmVsKSx0aGlzLl90b2dnbGVBdHRyaWJ1dGUoImV4cGFuZGVkIixuLmV4cGFuZGVkLHQpLHRoaXMuX3RvZ2dsZUF0dHJpYnV0ZSgiZGV0YWlscy1vcGVuZWQiLHRoaXMuX2lzRGV0YWlsc09wZW5lZChlKSx0KSwodGhpcy5fcm93RGV0YWlsc1RlbXBsYXRlfHx0aGlzLnJvd0RldGFpbHNSZW5kZXJlcikmJnRoaXMuX3RvZ2dsZURldGFpbHNDZWxsKHQsZSksdGhpcy5fZ2VuZXJhdGVDZWxsQ2xhc3NOYW1lcyh0LG4pLHRoaXMuX2ZpbHRlckRyYWdBbmREcm9wKHQsbiksQXJyYXkuZnJvbSh0LmNoaWxkcmVuKS5mb3JFYWNoKCh0PT57aWYodC5fcmVuZGVyZXIpe2NvbnN0IGU9dC5fY29sdW1ufHx0aGlzO3QuX3JlbmRlcmVyLmNhbGwoZSx0Ll9jb250ZW50LGUsbil9ZWxzZSB0Ll9pbnN0YW5jZSYmKHQuX2luc3RhbmNlLl9fZGV0YWlsc09wZW5lZF9fPW4uZGV0YWlsc09wZW5lZCx0Ll9pbnN0YW5jZS5fX3NlbGVjdGVkX189bi5zZWxlY3RlZCx0Ll9pbnN0YW5jZS5fX2xldmVsX189bi5sZXZlbCx0Ll9pbnN0YW5jZS5fX2V4cGFuZGVkX189bi5leHBhbmRlZCx0Ll9pbnN0YW5jZS5zZXRQcm9wZXJ0aWVzKG4pKX0pKSx0aGlzLl9kZWJvdW5jZXJVcGRhdGVIZWlnaHRzPU5uLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlclVwZGF0ZUhlaWdodHMsZ3QuYWZ0ZXIoMSksKCgpPT57dGhpcy5fdXBkYXRlTWV0cmljcygpLHRoaXMuX3Bvc2l0aW9uSXRlbXMoKSx0aGlzLl91cGRhdGVTY3JvbGxlclNpemUoKX0pKX1fcmVzaXplSGFuZGxlcigpe3RoaXMuX3VwZGF0ZURldGFpbHNDZWxsSGVpZ2h0cygpLHRoaXMuX2FjY2Vzc0lyb25MaXN0QVBJKHN1cGVyLl9yZXNpemVIYW5kbGVyLCEwKSx0aGlzLl91cGRhdGVTY3JvbGxlck1lYXN1cmVtZW50cygpLHRoaXMuX191cGRhdGVGb290ZXJQb3NpdGlvbmluZygpfV9vbkFuaW1hdGlvbkVuZCh0KXswPT09dC5hbmltYXRpb25OYW1lLmluZGV4T2YoInZhYWRpbi1ncmlkLWFwcGVhciIpJiYodGhpcy5fcmVuZGVyKCksdC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLm5vdGlmeVJlc2l6ZSgpLHRoaXMuX19pdGVtc1JlY2VpdmVkKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+e3RoaXMuX19zY3JvbGxUb1BlbmRpbmdJbmRleCgpLHRoaXMuJC50YWJsZS5zdHlsZS53ZWJraXRPdmVyZmxvd1Njcm9sbGluZz0idG91Y2gifSkpKX1fdG9nZ2xlQXR0cmlidXRlKHQsZSxuKXtuLmhhc0F0dHJpYnV0ZSh0KT09PSFlJiYoZT9uLnNldEF0dHJpYnV0ZSh0LCIiKTpuLnJlbW92ZUF0dHJpYnV0ZSh0KSl9X19nZXRSb3dNb2RlbCh0KXtyZXR1cm57aW5kZXg6dC5pbmRleCxpdGVtOnQuX2l0ZW0sbGV2ZWw6dGhpcy5fZ2V0SW5kZXhMZXZlbCh0LmluZGV4KSxleHBhbmRlZDp0aGlzLl9pc0V4cGFuZGVkKHQuX2l0ZW0pLHNlbGVjdGVkOnRoaXMuX2lzU2VsZWN0ZWQodC5faXRlbSksZGV0YWlsc09wZW5lZDohKCF0aGlzLl9yb3dEZXRhaWxzVGVtcGxhdGUmJiF0aGlzLnJvd0RldGFpbHNSZW5kZXJlcikmJnRoaXMuX2lzRGV0YWlsc09wZW5lZCh0Ll9pdGVtKX19cmVuZGVyKCl7dGhpcy5fY29sdW1uVHJlZSYmKHRoaXMuX2NvbHVtblRyZWUuZm9yRWFjaCgodD0+e3QuZm9yRWFjaCgodD0+dC5fcmVuZGVySGVhZGVyQW5kRm9vdGVyKCkpKX0pKSx0aGlzLl91cGRhdGUoKSl9bm90aWZ5UmVzaXplKCl7c3VwZXIubm90aWZ5UmVzaXplKCl9X2hlaWdodEJ5Um93c0NoYW5nZWQodCxlKXsodHx8ZSkmJnRoaXMubm90aWZ5UmVzaXplKCl9X19mb3JjZVJlZmxvdygpe3RoaXMuX2RlYm91bmNlckZvcmNlUmVmbG93PU5uLmRlYm91bmNlKHRoaXMuX2RlYm91bmNlckZvcmNlUmVmbG93LF90LCgoKT0+e3RoaXMuJC5zY3JvbGxlci5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixzZXRUaW1lb3V0KCgoKT0+dGhpcy4kLnNjcm9sbGVyLnN0eWxlLm92ZXJmbG93PSIiKSl9KSl9fWZ1bmN0aW9uIG0wdCh0LGUpe3JldHVybihmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIFZyKHt9LGNyKGUpLHQpfSkodCxlKX1jdXN0b21FbGVtZW50cy5kZWZpbmUoZjB0LmlzLGYwdCk7bGV0IGcwdD1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9ydW49IiJ9X2NzdlVybCh0LGUsbil7cmV0dXJuIGU/UE8obih0LGUpLHtmb3JtYXQ6ImNzdiJ9KToiIn1fanNvblVybCh0LGUsbil7cmV0dXJuIGU/bih0LGUpOiIifV9jc3ZOYW1lKHQsZSl7cmV0dXJuIGU/YHJ1bi0ke2V9LXRhZy0ke3R9LmNzdmA6IiJ9X2pzb25OYW1lKHQsZSl7cmV0dXJuIGU/YHJ1bi0ke2V9LXRhZy0ke3R9Lmpzb25gOiIifX07ZzB0LnRlbXBsYXRlPXhlYAogICAgPHBhcGVyLWRyb3Bkb3duLW1lbnUKICAgICAgbm8tbGFiZWwtZmxvYXQ9InRydWUiCiAgICAgIGxhYmVsPSJydW4gdG8gZG93bmxvYWQiCiAgICAgIHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X3J1bn19IgogICAgPgogICAgICA8cGFwZXItbGlzdGJveCBzbG90PSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW3J1bnNdXSI+CiAgICAgICAgICA8cGFwZXItaXRlbSBuby1sYWJlbC1mbG9hdD0idHJ1ZSI+W1tpdGVtXV08L3BhcGVyLWl0ZW0+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19ydW5dXSI+CiAgICAgIDxhIGRvd25sb2FkPSJbW19jc3ZOYW1lKHRhZywgX3J1bildXSIgaHJlZj0iW1tfY3N2VXJsKHRhZywgX3J1biwgdXJsRm4pXV0iCiAgICAgICAgPkNTVjwvYQogICAgICA+PCEtLQogICAgICAtLT48YQogICAgICAgIGRvd25sb2FkPSJbW19qc29uTmFtZSh0YWcsIF9ydW4pXV0iCiAgICAgICAgaHJlZj0iW1tfanNvblVybCh0YWcsIF9ydW4sIHVybEZuKV1dIgogICAgICAgID5KU09OPC9hCiAgICAgID4KICAgIDwvdGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICB9CiAgICAgIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgfQogICAgICBhIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgbWFyZ2luOiAwIDAuMmVtOwogICAgICB9CiAgICAgIHBhcGVyLWlucHV0IHsKICAgICAgICBmb250LXNpemU6IDIycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxnMHQucHJvdG90eXBlLCJfcnVuIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxnMHQucHJvdG90eXBlLCJydW5zIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGcwdC5wcm90b3R5cGUsInRhZyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxnMHQucHJvdG90eXBlLCJ1cmxGbiIsdm9pZCAwKSxnMHQ9dChbaSgidGYtZG93bmxvYWRlciIpXSxnMHQpO25ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7bGV0IF8wdD1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLmNvbG9yU2NhbGU9bnVsbCx0aGlzLl9sb2FkRGF0YUNhbGxiYWNrPSh0LGUsbik9PntpZihudWxsPT1uKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBsb2FkIGRhdGEgZm9yOiIsZSk7Y29uc3QgaT1uLm1hcCgodD0+KHt3YWxsX3RpbWU6bmV3IERhdGUoMWUzKnRbMF0pLHN0ZXA6dFsxXSxzY2FsYXI6dFsyXX0pKSkscj10aGlzLl9nZXRTZXJpZXNOYW1lRnJvbURhdHVtKGUpO3Quc2V0U2VyaWVzTWV0YWRhdGEocixlKSx0LnNldFNlcmllc0RhdGEocixpKX0sdGhpcy5nZXREYXRhTG9hZFVybD0oe3RhZzp0LHJ1bjplfSk9PkVyKCkucGx1Z2luUm91dGUoInNjYWxhcnMiLCIvc2NhbGFycyIsbmV3IFVSTFNlYXJjaFBhcmFtcyh7dGFnOnQscnVuOmV9KSksdGhpcy5fZG93bmxvYWRVcmxGbj0odCxlKT0+dGhpcy5nZXREYXRhTG9hZFVybCh7dGFnOnQscnVuOmV9KSx0aGlzLnJlcXVlc3REYXRhPSh0LGUsbik9PnRoaXMuaW5Db2xhYj90aGlzLl9yZXF1ZXN0RGF0YUdldCh0LGUsbik6dGhpcy5fcmVxdWVzdERhdGFQb3N0KHQsZSxuKSx0aGlzLl9yZXF1ZXN0RGF0YUdldD0odCxlLG4pPT57Y29uc3QgaT1FcigpLnBsdWdpblJvdXRlKCJzY2FsYXJzIiwiL3NjYWxhcnMiKTtQcm9taXNlLmFsbCh0Lm1hcCgodD0+e2NvbnN0IG49UE8oaSx7dGFnOnQudGFnLHJ1bjp0LnJ1bn0pO3JldHVybiB0aGlzLnJlcXVlc3RNYW5hZ2VyLnJlcXVlc3QobikudGhlbigobj0+e2Uoe2l0ZW06dCxkYXRhOm59KX0pKX0pKSkuZmluYWxseSgoKCk9PntuKCl9KSl9LHRoaXMuX3JlcXVlc3REYXRhUG9zdD0odCxlLG4pPT57dmFyIGk7Y29uc3Qgcj1FcigpLnBsdWdpblJvdXRlKCJzY2FsYXJzIiwiL3NjYWxhcnNfbXVsdGlydW4iKSxvPW5ldyBNYXA7Zm9yKGNvbnN0e3RhZzplLHJ1bjpufW9mIHQpe2xldCB0PW8uZ2V0KGUpO251bGw9PXQmJm8uc2V0KGUsdD1bXSksdC5wdXNoKG4pfWNvbnN0IGE9bnVsbCE9PShpPXRoaXMuYmF0Y2hTaXplKSYmdm9pZCAwIT09aT9pOjY0LHM9W107Zm9yKGNvbnN0W3QsZV1vZiBvKWZvcihsZXQgbj0wO248ZS5sZW5ndGg7bis9YSlzLnB1c2goe3RhZzp0LHJ1bnM6ZS5zbGljZShuLG4rYSl9KTtQcm9taXNlLmFsbChzLm1hcCgoKHt0YWc6dCxydW5zOm59KT0+dGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KHIse3RhZzp0LHJ1bnM6bn0pLnRoZW4oKGk9Pntmb3IoY29uc3QgciBvZiBuKXtjb25zdCBuPXt0YWc6dCxydW46cn07T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGkscik/ZSh7aXRlbTpuLGRhdGE6aVtyXX0pOmUoe2l0ZW06bixkYXRhOm51bGx9KX19KSkpKSkuZmluYWxseSgoKCk9PntuKCl9KSl9LHRoaXMuX2dldERhdGFMb2FkTmFtZT10PT50aGlzLl9nZXRTZXJpZXNOYW1lRnJvbURhdHVtKHQpLHRoaXMuX2V4cGFuZGVkPSExLHRoaXMuX3Rvb2x0aXBDb2x1bW5zPSgoKT0+e2NvbnN0IHQ9cEF0LnNsaWNlKCksZT10LmZpbmRJbmRleCgodD0+Ik5hbWUiPT10LnRpdGxlKSk7cmV0dXJuIHQuc3BsaWNlKGUsMSx7dGl0bGU6Ik5hbWUiLGV2YWx1YXRlOnQ9Pntjb25zdCBlPXQuZGF0YXNldC5tZXRhZGF0YSgpLm1ldGE7cmV0dXJuIHRoaXMuX2dldFNlcmllc0Rpc3BsYXlOYW1lRnJvbURhdHVtKGUpfX0pLHR9KSgpfV9nZXRDaGFydERhdGFMb2FkZXIoKXtyZXR1cm4gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoInRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIiKX1yZWxvYWQoKXt0aGlzLl9nZXRDaGFydERhdGFMb2FkZXIoKS5yZWxvYWQoKX1yZWRyYXcoKXt0aGlzLl9nZXRDaGFydERhdGFMb2FkZXIoKS5yZWRyYXcoKX1fdG9nZ2xlRXhwYW5kZWQodCl7dGhpcy5zZXQoIl9leHBhbmRlZCIsIXRoaXMuX2V4cGFuZGVkKSx0aGlzLnJlZHJhdygpfV90b2dnbGVMb2dTY2FsZSgpe3RoaXMuc2V0KCJfbG9nU2NhbGVBY3RpdmUiLCF0aGlzLl9sb2dTY2FsZUFjdGl2ZSl9X3Jlc2V0RG9tYWluKCl7Y29uc3QgdD10aGlzLl9nZXRDaGFydERhdGFMb2FkZXIoKTt0JiZ0LnJlc2V0RG9tYWluKCl9X3VwZGF0ZURvd25sb2FkTGluaygpe2NvbnN0IHQ9dGhpcy5fZ2V0Q2hhcnREYXRhTG9hZGVyKCkuZXhwb3J0QXNTdmdTdHJpbmcoKTt0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiI3N2Z0xpbmsiKS5ocmVmPWBkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LCR7YnRvYSh0KX1gfV9ydW5zRnJvbURhdGEodCl7cmV0dXJuIHQubWFwKCh0PT50LnJ1bikpfV9nZXREYXRhU2VyaWVzKCl7cmV0dXJuIHRoaXMuZGF0YVRvTG9hZC5tYXAoKHQ9PnRoaXMuX2dldFNlcmllc05hbWVGcm9tRGF0dW0odCkpKX1fZ2V0U2VyaWVzTmFtZUZyb21EYXR1bSh7cnVuOnQsZXhwZXJpbWVudDplPXtuYW1lOiJfZGVmYXVsdCJ9fSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFtlLm5hbWUsdF0pfV9nZXRTZXJpZXNEaXNwbGF5TmFtZUZyb21EYXR1bSh0KXtyZXR1cm4gdC5ydW59X2dldENvbG9yU2NhbGUoKXtyZXR1cm4gbnVsbCE9PXRoaXMuY29sb3JTY2FsZT90aGlzLmNvbG9yU2NhbGU6e3NjYWxlOnQ9Pntjb25zdFssZV09SlNPTi5wYXJzZSh0KTtyZXR1cm4gX08oZSl9fX19O18wdC50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1jYXJkLWhlYWRpbmcKICAgICAgdGFnPSJbW3RhZ11dIgogICAgICBkaXNwbGF5LW5hbWU9IltbdGFnTWV0YWRhdGEuZGlzcGxheU5hbWVdXSIKICAgICAgZGVzY3JpcHRpb249IltbdGFnTWV0YWRhdGEuZGVzY3JpcHRpb25dXSIKICAgID48L3RmLWNhcmQtaGVhZGluZz4KICAgIDxkaXYgaWQ9InRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIj4KICAgICAgPHRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIKICAgICAgICBhY3RpdmU9IltbYWN0aXZlXV0iCiAgICAgICAgY29sb3Itc2NhbGU9IltbX2dldENvbG9yU2NhbGUoY29sb3JTY2FsZSldXSIKICAgICAgICBkYXRhLXNlcmllcz0iW1tfZ2V0RGF0YVNlcmllcyhkYXRhVG9Mb2FkLiopXV0iCiAgICAgICAgZGF0YS10by1sb2FkPSJbW2RhdGFUb0xvYWRdXSIKICAgICAgICBnZXQtZGF0YS1sb2FkLW5hbWU9IltbX2dldERhdGFMb2FkTmFtZV1dIgogICAgICAgIGdldC1kYXRhLWxvYWQtdXJsPSJbW2dldERhdGFMb2FkVXJsXV0iCiAgICAgICAgcmVxdWVzdC1kYXRhPSJbW3JlcXVlc3REYXRhXV0iCiAgICAgICAgaWdub3JlLXktb3V0bGllcnM9IltbaWdub3JlWU91dGxpZXJzXV0iCiAgICAgICAgbG9hZC1kYXRhLWNhbGxiYWNrPSJbW19sb2FkRGF0YUNhbGxiYWNrXV0iCiAgICAgICAgbG9hZC1rZXk9IltbdGFnXV0iCiAgICAgICAgbG9nLXNjYWxlLWFjdGl2ZT0iW1tfbG9nU2NhbGVBY3RpdmVdXSIKICAgICAgICByZXF1ZXN0LW1hbmFnZXI9IltbcmVxdWVzdE1hbmFnZXJdXSIKICAgICAgICBzbW9vdGhpbmctZW5hYmxlZD0iW1tzbW9vdGhpbmdFbmFibGVkXV0iCiAgICAgICAgc21vb3RoaW5nLXdlaWdodD0iW1tzbW9vdGhpbmdXZWlnaHRdXSIKICAgICAgICB0YWctbWV0YWRhdGE9IltbdGFnTWV0YWRhdGFdXSIKICAgICAgICB0b29sdGlwLWNvbHVtbnM9IltbX3Rvb2x0aXBDb2x1bW5zXV0iCiAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj0iYXV0byIKICAgICAgICB0b29sdGlwLXNvcnRpbmctbWV0aG9kPSJbW3Rvb2x0aXBTb3J0aW5nTWV0aG9kXV0iCiAgICAgICAgeC10eXBlPSJbW3hUeXBlXV0iCiAgICAgID4KICAgICAgPC90Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyPgogICAgPC9kaXY+CiAgICA8ZGl2IGlkPSJidXR0b25zIj4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgc2VsZWN0ZWQkPSJbW19leHBhbmRlZF1dIgogICAgICAgIGljb249ImZ1bGxzY3JlZW4iCiAgICAgICAgb24tdGFwPSJfdG9nZ2xlRXhwYW5kZWQiCiAgICAgID48L3BhcGVyLWljb24tYnV0dG9uPgogICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICBzZWxlY3RlZCQ9IltbX2xvZ1NjYWxlQWN0aXZlXV0iCiAgICAgICAgaWNvbj0ibGluZS13ZWlnaHQiCiAgICAgICAgb24tdGFwPSJfdG9nZ2xlTG9nU2NhbGUiCiAgICAgICAgdGl0bGU9IlRvZ2dsZSB5LWF4aXMgbG9nIHNjYWxlIgogICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgaWNvbj0ic2V0dGluZ3Mtb3ZlcnNjYW4iCiAgICAgICAgb24tdGFwPSJfcmVzZXREb21haW4iCiAgICAgICAgdGl0bGU9IkZpdCBkb21haW4gdG8gZGF0YSIKICAgICAgPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tzaG93RG93bmxvYWRMaW5rc11dIj4KICAgICAgICA8cGFwZXItbWVudS1idXR0b24gb24tcGFwZXItZHJvcGRvd24tb3Blbj0iX3VwZGF0ZURvd25sb2FkTGluayI+CiAgICAgICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLXRyaWdnZXIiCiAgICAgICAgICAgIHNsb3Q9ImRyb3Bkb3duLXRyaWdnZXIiCiAgICAgICAgICAgIGljb249ImZpbGUtZG93bmxvYWQiCiAgICAgICAgICA+PC9wYXBlci1pY29uLWJ1dHRvbj4KICAgICAgICAgIDxwYXBlci1saXN0Ym94IGNsYXNzPSJkcm9wZG93bi1jb250ZW50IiBzbG90PSJkcm9wZG93bi1jb250ZW50Ij4KICAgICAgICAgICAgPHBhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgPGEgaWQ9InN2Z0xpbmsiIGRvd25sb2FkPSJbW3RhZ11dLnN2ZyI+CiAgICAgICAgICAgICAgICBEb3dubG9hZCBDdXJyZW50IENoYXJ0IGFzIFNWRwogICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9wYXBlci1pdGVtPgogICAgICAgICAgPC9wYXBlci1saXN0Ym94PgogICAgICAgIDwvcGFwZXItbWVudS1idXR0b24+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDxzcGFuIHN0eWxlPSJmbGV4LWdyb3c6IDEiPjwvc3Bhbj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW3Nob3dEb3dubG9hZExpbmtzXV0iPgogICAgICAgIDxkaXYgY2xhc3M9ImRvd25sb2FkLWxpbmtzIj4KICAgICAgICAgIDx0Zi1kb3dubG9hZGVyCiAgICAgICAgICAgIHJ1bnM9IltbX3J1bnNGcm9tRGF0YShkYXRhVG9Mb2FkKV1dIgogICAgICAgICAgICB0YWc9IltbdGFnXV0iCiAgICAgICAgICAgIHVybC1mbj0iW1tfZG93bmxvYWRVcmxGbl1dIgogICAgICAgICAgPjwvdGYtZG93bmxvYWRlcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvZGl2PgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgbWFyZ2luOiA1cHg7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDMzMHB4OwogICAgICB9CgogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgI3RmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXItY29udGFpbmVyIHsKICAgICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICB9CgogICAgICAjdGYtbGluZS1jaGFydC1kYXRhLWxvYWRlci1jb250YWluZXIgewogICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIHRmLWNhcmQtaGVhZGluZyB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgfQoKICAgICAgI2J1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b24gewogICAgICAgIGNvbG9yOiAjMjE5NmYzOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQoKICAgICAgcGFwZXItaWNvbi1idXR0b25bc2VsZWN0ZWRdIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10Yi11aS1saWdodC1hY2NlbnQpOwogICAgICB9CgogICAgICAuZG93bmxvYWQtbGlua3MgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICB9CgogICAgICAuZG93bmxvYWQtbGlua3MgYSB7CiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBtYXJnaW46IDJweDsKICAgICAgfQoKICAgICAgLmRvd25sb2FkLWxpbmtzIHBhcGVyLWRyb3Bkb3duLW1lbnUgewogICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1sYWJlbDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgICAtLXBhcGVyLWlucHV0LWNvbnRhaW5lci1pbnB1dDogewogICAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIH0KICAgICAgfQoKICAgICAgcGFwZXItbWVudS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KICAgICAgcGFwZXItaXRlbSBhIHsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLF8wdC5wcm90b3R5cGUsInRhZyIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sXzB0LnByb3RvdHlwZSwiZGF0YVRvTG9hZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxfMHQucHJvdG90eXBlLCJ4VHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF8wdC5wcm90b3R5cGUsImFjdGl2ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF8wdC5wcm90b3R5cGUsImlnbm9yZVlPdXRsaWVycyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixicildLF8wdC5wcm90b3R5cGUsInJlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sXzB0LnByb3RvdHlwZSwic2hvd0Rvd25MaW5rcyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF8wdC5wcm90b3R5cGUsInNtb290aGluZ0VuYWJsZWQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sXzB0LnByb3RvdHlwZSwic21vb3RoaW5nV2VpZ2h0Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLF8wdC5wcm90b3R5cGUsInRhZ01ldGFkYXRhIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLF8wdC5wcm90b3R5cGUsImNvbG9yU2NhbGUiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sXzB0LnByb3RvdHlwZSwidG9vbHRpcFNvcnRpbmdNZXRob2QiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sXzB0LnByb3RvdHlwZSwiYmF0Y2hTaXplIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxfMHQucHJvdG90eXBlLCJpbkNvbGFiIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLF8wdC5wcm90b3R5cGUsIl9sb2FkRGF0YUNhbGxiYWNrIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKV0sXzB0LnByb3RvdHlwZSwiZ2V0RGF0YUxvYWRVcmwiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sXzB0LnByb3RvdHlwZSwiX2Rvd25sb2FkVXJsRm4iLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSxfMHQucHJvdG90eXBlLCJyZXF1ZXN0RGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxfMHQucHJvdG90eXBlLCJfZ2V0RGF0YUxvYWROYW1lIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixyZWZsZWN0VG9BdHRyaWJ1dGU6ITB9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF8wdC5wcm90b3R5cGUsIl9leHBhbmRlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLF8wdC5wcm90b3R5cGUsIl9sb2dTY2FsZUFjdGl2ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sXzB0LnByb3RvdHlwZSwiX3Rvb2x0aXBDb2x1bW5zIix2b2lkIDApLF8wdD10KFtpKCJ0Zi1zY2FsYXItY2FyZCIpXSxfMHQpO2xldCB5MHQ9Y2xhc3MgZXh0ZW5kcyhtMHQoW0FvXSx3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnNlc3Npb25Hcm91cD1udWxsLHRoaXMuX3hUeXBlPXdDdC5TVEVQLHRoaXMuX25vTXVsdGlFeHBlcmltZW50cz0hMSx0aGlzLl9yZXF1ZXN0RGF0YT0odCxlLG4pPT57UHJvbWlzZS5hbGwodC5tYXAoKHQ9PnRoaXMuYmFja2VuZC5saXN0TWV0cmljRXZhbHMoe2V4cGVyaW1lbnROYW1lOnRoaXMuZXhwZXJpbWVudE5hbWUsc2Vzc2lvbk5hbWU6dC5ydW4sbWV0cmljTmFtZTp0LnRhZ30pLnRoZW4oKG49PntlKHtpdGVtOnQsZGF0YTpufSl9KSkpKSkuZmluYWxseSgoKCk9PntuKCl9KSl9LHRoaXMuX2NvbG9yU2NhbGU9e3NjYWxlOnQ9Pntjb25zdCBlPUpTT04ucGFyc2UodClbMV0sbj10aGlzLl9pbmRleE9mU2Vzc2lvbi5nZXQoZSk7cmV0dXJuIGZPWyh0aGlzLl9zZXNzaW9uR3JvdXBOYW1lSGFzaCtuKSVmTy5sZW5ndGhdfX19Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiaXJvbi1yZXNpemUiLHRoaXMucmVkcmF3LmJpbmQodGhpcykpfXJlZHJhdygpe3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1zY2FsYXItY2FyZCIpLmZvckVhY2goKHQ9PnQucmVkcmF3KCkpKX1fc2Vzc2lvbkdyb3VwQ2hhbmdlZCgpe3RoaXMuc2Vzc2lvbkdyb3VwJiYwIT1PYmplY3Qua2V5cyh0aGlzLnNlc3Npb25Hcm91cCkubGVuZ3RoPyh0aGlzLl9pbmRleE9mU2Vzc2lvbj1uZXcgTWFwKHRoaXMuc2Vzc2lvbkdyb3VwLnNlc3Npb25zLm1hcCgoKHQsZSk9Plt0Lm5hbWUsZV0pKSksdGhpcy5fc2Vzc2lvbkdyb3VwTmFtZUhhc2g9Skp0KHRoaXMuc2Vzc2lvbkdyb3VwLm5hbWUpKToodGhpcy5faW5kZXhPZlNlc3Npb249bmV3IE1hcCx0aGlzLl9zZXNzaW9uR3JvdXBOYW1lSGFzaD0wKSx0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtc2NhbGFyLWNhcmQiKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10LG49ZS5nZXQoInRhZyIpO2Uuc2V0KCJ0YWciLCIiKSxlLnNldCgidGFnIixuKX0pKX1faGF2ZU1ldHJpY3MoKXtyZXR1cm4gdGhpcy52aXNpYmxlU2NoZW1hJiZBcnJheS5pc0FycmF5KHRoaXMudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvcykmJnRoaXMudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvcy5sZW5ndGg+MH1faGF2ZU1ldHJpY3NBbmRTZXNzaW9uR3JvdXAoKXtyZXR1cm4gdGhpcy5zZXNzaW9uR3JvdXAmJnRoaXMuX2hhdmVNZXRyaWNzKCl9X2NvbXB1dGVTZXJpZXNGb3JTZXNzaW9uR3JvdXBNZXRyaWModCxlKXtyZXR1cm4gbnVsbD09PXR8fDA9PU9iamVjdC5rZXlzKHQpLmxlbmd0aHx8bnVsbD09PWU/W106dC5zZXNzaW9ucy5maWx0ZXIoKHQ9PnZvaWQgMCE9PUlKdCh0Lm1ldHJpY1ZhbHVlcyxlLm5hbWUpKSkubWFwKCh0PT4oe3RhZzplLm5hbWUscnVuOnQubmFtZX0pKSl9X2NvbXB1dGVUYWdNZXRhZGF0YSh0KXtyZXR1cm57ZGlzcGxheU5hbWU6Q0p0KHQpLGRlc2NyaXB0aW9uOnQuZGVzY3JpcHRpb258fCIifX19O3kwdC50ZW1wbGF0ZT14ZWAKICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shc2Vzc2lvbkdyb3VwXV0iPgogICAgICA8ZGl2PgogICAgICAgIDxoMz5ObyBzZXNzaW9uIGdyb3VwIHNlbGVjdGVkPC9oMz4KICAgICAgICA8cD5QbGVhc2Ugc2VsZWN0IGEgc2Vzc2lvbiBncm91cCB0byBzZWUgaXRzIG1ldHJpYy1ncmFwaHMgaGVyZS48L3A+CiAgICAgIDwvZGl2PgogICAgPC90ZW1wbGF0ZT4KICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2hhdmVNZXRyaWNzKHZpc2libGVTY2hlbWEuKildXSI+CiAgICAgIDxkaXY+CiAgICAgICAgPGgzPk5vIG1ldHJpY3MgYXJlIGVuYWJsZWQ8L2gzPgogICAgICAgIDxwPlBsZWFzZSBlbmFibGUgc29tZSBtZXRyaWNzIHRvIHNlZSBjb250ZW50IGhlcmUuPC9wPgogICAgICA8L2Rpdj4KICAgIDwvdGVtcGxhdGU+CiAgICA8ZGl2IGNsYXNzPSJsYXlvdXQgaG9yaXpvbnRhbCB3cmFwIHNlc3Npb24tZ3JvdXAtZGV0YWlscyI+CiAgICAgIDx0ZW1wbGF0ZQogICAgICAgIGlzPSJkb20taWYiCiAgICAgICAgaWY9IltbX2hhdmVNZXRyaWNzQW5kU2Vzc2lvbkdyb3VwKHZpc2libGVTY2hlbWEuKiwgc2Vzc2lvbkdyb3VwKV1dIgogICAgICA+CiAgICAgICAgPHRlbXBsYXRlCiAgICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICAgIGl0ZW1zPSJbW3Zpc2libGVTY2hlbWEubWV0cmljSW5mb3NdXSIKICAgICAgICAgIGFzPSJtZXRyaWNJbmZvIgogICAgICAgID4KICAgICAgICAgIDwhLS0gTm90ZSB0aGF0IHdlIGRvIG5vdCBwcm92aWRlIGEgcmVxdWVzdC1tYW5hZ2VyIGF0dHJpYnV0ZSBzaW5jZQogICAgICAgICAgICAgICB3ZSBwcm92aWRlIGEgZnVuY3Rpb24gaW4gcmVxdWVzdC1kYXRhIGZvciBjYWxsaW5nIHRoZSBiYWNrZW5kCiAgICAgICAgICAgICAgIHRvIGdldCB0aGUgbWV0cmljcyBkYXRhLgogICAgICAgICAgICAtLT4KICAgICAgICAgIDx0Zi1zY2FsYXItY2FyZAogICAgICAgICAgICBjbGFzcz0ic2NhbGFyLWNhcmQiCiAgICAgICAgICAgIGNvbG9yLXNjYWxlPSJbW19jb2xvclNjYWxlXV0iCiAgICAgICAgICAgIGRhdGEtdG8tbG9hZD0iW1tfY29tcHV0ZVNlcmllc0ZvclNlc3Npb25Hcm91cE1ldHJpYyhzZXNzaW9uR3JvdXAsIG1ldHJpY0luZm8pXV0iCiAgICAgICAgICAgIHRhZz0iW1ttZXRyaWNJbmZvLm5hbWUudGFnXV0iCiAgICAgICAgICAgIHRhZy1tZXRhZGF0YT0iW1tfY29tcHV0ZVRhZ01ldGFkYXRhKG1ldHJpY0luZm8pXV0iCiAgICAgICAgICAgIHgtdHlwZT0iW1tfeFR5cGVdXSIKICAgICAgICAgICAgbXVsdGktZXhwZXJpbWVudHM9IltbX25vTXVsdGlFeHBlcmltZW50c11dIgogICAgICAgICAgICByZXF1ZXN0LWRhdGE9IltbX3JlcXVlc3REYXRhXV0iCiAgICAgICAgICAgIGFjdGl2ZQogICAgICAgICAgPgogICAgICAgICAgPC90Zi1zY2FsYXItY2FyZD4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CiAgICA8IS0tICJpcm9uLWZsZXgiIGlzIG5lZWRlZCB0byB1c2UgdGhlIGxheW91dCBjbGFzc2VzIGluIHRoZSBkaXYgYWJvdmUgLS0+CiAgICA8c3R5bGUgaW5jbHVkZT0iaXJvbi1mbGV4Ij4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0seTB0LnByb3RvdHlwZSwiYmFja2VuZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx5MHQucHJvdG90eXBlLCJleHBlcmltZW50TmFtZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx5MHQucHJvdG90eXBlLCJ2aXNpYmxlU2NoZW1hIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHkwdC5wcm90b3R5cGUsInNlc3Npb25Hcm91cCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx5MHQucHJvdG90eXBlLCJfeFR5cGUiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSx5MHQucHJvdG90eXBlLCJfbm9NdWx0aUV4cGVyaW1lbnRzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLHkwdC5wcm90b3R5cGUsIl9pbmRleE9mU2Vzc2lvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSx5MHQucHJvdG90eXBlLCJfc2Vzc2lvbkdyb3VwTmFtZUhhc2giLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pXSx5MHQucHJvdG90eXBlLCJfcmVxdWVzdERhdGEiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0seTB0LnByb3RvdHlwZSwiX2NvbG9yU2NhbGUiLHZvaWQgMCksdChbYSgic2Vzc2lvbkdyb3VwLioiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLHkwdC5wcm90b3R5cGUsIl9zZXNzaW9uR3JvdXBDaGFuZ2VkIixudWxsKSx5MHQ9dChbaSgidGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMiKV0seTB0KTtsZXQgdjB0PWNsYXNzIGV4dGVuZHMoY3IoZ2wod2UpKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2hwYXJhbU5hbWU9VEp0LHRoaXMuX21ldHJpY05hbWU9Q0p0fV92aXNpYmxlU2NoZW1hT3JTZXNzaW9uR3JvdXBzQ2hhbmdlZCgpe2NvbnN0IHQ9dGhpcy4kLnNlc3Npb25Hcm91cHNUYWJsZS5nZXQoImRldGFpbHNPcGVuZWRJdGVtcyIpO3RoaXMuJC5zZXNzaW9uR3JvdXBzVGFibGUuc2V0KCJkZXRhaWxzT3BlbmVkSXRlbXMiLFtdKSxXaSgpO2NvbnN0IGU9bmV3IE1hcDt0aGlzLnNlc3Npb25Hcm91cHMuZm9yRWFjaCgodD0+e2Uuc2V0KHQubmFtZSx0KX0pKSx0aGlzLiQuc2Vzc2lvbkdyb3Vwc1RhYmxlLnNldCgiZGV0YWlsc09wZW5lZEl0ZW1zIix0Lm1hcCgodD0+ZS5nZXQodC5uYW1lKSkpLmZpbHRlcihCb29sZWFuKSl9X3Nlc3Npb25Hcm91cEhQYXJhbSh0LGUpe3JldHVybiBudWxsIT10JiYwIT1PYmplY3Qua2V5cyh0KS5sZW5ndGgmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LmhwYXJhbXMsZSk/cUp0KHQuaHBhcmFtc1tlXSk6IiJ9X3Nlc3Npb25Hcm91cE1ldHJpYyh0LGUpe2lmKG51bGw9PXR8fDA9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm4iIjtmb3IobGV0IG49MDtuPHQubWV0cmljVmFsdWVzLmxlbmd0aDsrK24pe2xldCBpPXQubWV0cmljVmFsdWVzW25dO2lmKGkubmFtZS5ncm91cD09PWUuZ3JvdXAmJmkubmFtZS50YWc9PWUudGFnKXJldHVybiBxSnQoaS52YWx1ZSl9cmV0dXJuIiJ9X3Jvd051bWJlcih0KXtyZXR1cm4gdCsxfX07djB0LnRlbXBsYXRlPXhlYAogICAgPHZhYWRpbi1ncmlkCiAgICAgIGNsYXNzPSJzZXNzaW9uLWdyb3VwLXRhYmxlIgogICAgICBpZD0ic2Vzc2lvbkdyb3Vwc1RhYmxlIgogICAgICBjb2x1bW4tcmVvcmRlcmluZy1hbGxvd2VkPSIiCiAgICAgIGl0ZW1zPSJbW3Nlc3Npb25Hcm91cHNdXSIKICAgID4KICAgICAgPHZhYWRpbi1ncmlkLWNvbHVtbiBmbGV4LWdyb3c9IjAiIHdpZHRoPSIxMGVtIiByZXNpemFibGU9IiI+CiAgICAgICAgPHRlbXBsYXRlIGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIHRhYmxlLWNlbGwiPlRyaWFsIElEPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jZWxsIj5bW2l0ZW0ubmFtZV1dPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC92YWFkaW4tZ3JpZC1jb2x1bW4+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tlbmFibGVTaG93TWV0cmljc11dIj4KICAgICAgICA8dmFhZGluLWdyaWQtY29sdW1uIGZsZXgtZ3Jvdz0iMCIgYXV0b1dpZHRoPSIiIHJlc2l6YWJsZT0iIj4KICAgICAgICAgIDx0ZW1wbGF0ZSBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIHRhYmxlLWNlbGwiPlNob3cgTWV0cmljczwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNsYXNzPSJ0YWJsZS1jZWxsIiBjaGVja2VkPSJ7e2RldGFpbHNPcGVuZWR9fSI+CiAgICAgICAgICAgIDwvcGFwZXItY2hlY2tib3g+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdmFhZGluLWdyaWQtY29sdW1uPgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUKICAgICAgICBpcz0iZG9tLXJlcGVhdCIKICAgICAgICBpdGVtcz0iW1t2aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zXV0iCiAgICAgICAgYXM9ImhwYXJhbUluZm8iCiAgICAgICAgaW5kZXgtYXM9ImhwYXJhbUluZGV4IgogICAgICA+CiAgICAgICAgPHZhYWRpbi1ncmlkLWNvbHVtbiBmbGV4LWdyb3c9IjIiIHdpZHRoPSIxMGVtIiByZXNpemFibGU9IiI+CiAgICAgICAgICA8dGVtcGxhdGUgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciB0YWJsZS1jZWxsIj4KICAgICAgICAgICAgICBbW19ocGFyYW1OYW1lKGhwYXJhbUluZm8pXV0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jZWxsIj4KICAgICAgICAgICAgICBbW19zZXNzaW9uR3JvdXBIUGFyYW0oaXRlbSwgaHBhcmFtSW5mby5uYW1lKV1dCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3ZhYWRpbi1ncmlkLWNvbHVtbj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlCiAgICAgICAgaXM9ImRvbS1yZXBlYXQiCiAgICAgICAgaXRlbXM9Int7dmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvc319IgogICAgICAgIGFzPSJtZXRyaWNJbmZvIgogICAgICAgIGluZGV4LWFzPSJtZXRyaWNJbmRleCIKICAgICAgPgogICAgICAgIDx2YWFkaW4tZ3JpZC1jb2x1bW4gZmxleC1ncm93PSIyIiB3aWR0aD0iMTBlbSIgcmVzaXphYmxlPSIiPgogICAgICAgICAgPHRlbXBsYXRlIGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1oZWFkZXIgdGFibGUtY2VsbCI+CiAgICAgICAgICAgICAgW1tfbWV0cmljTmFtZShtZXRyaWNJbmZvKV1dCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtY2VsbCI+CiAgICAgICAgICAgICAgW1tfc2Vzc2lvbkdyb3VwTWV0cmljKGl0ZW0sIG1ldHJpY0luZm8ubmFtZSldXQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC92YWFkaW4tZ3JpZC1jb2x1bW4+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBjbGFzcz0icm93LWRldGFpbHMiPgogICAgICAgIDx0Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtZGV0YWlscwogICAgICAgICAgYmFja2VuZD0iW1tiYWNrZW5kXV0iCiAgICAgICAgICBleHBlcmltZW50LW5hbWU9IltbZXhwZXJpbWVudE5hbWVdXSIKICAgICAgICAgIHNlc3Npb24tZ3JvdXA9IltbaXRlbV1dIgogICAgICAgICAgdmlzaWJsZS1zY2hlbWE9IltbdmlzaWJsZVNjaGVtYV1dIgogICAgICAgICAgY2xhc3M9InNlc3Npb24tZ3JvdXAtZGV0YWlscyIKICAgICAgICA+CiAgICAgICAgPC90Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtZGV0YWlscz4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvdmFhZGluLWdyaWQ+CgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lOwogICAgICB9CgogICAgICA6aG9zdCguZGFyay1tb2RlKSB7CiAgICAgICAgLS1sdW1vLWJhc2UtY29sb3I6ICMzMDMwMzA7CiAgICAgICAgLS1sdW1vLWJvZHktdGV4dC1jb2xvcjogI2ZmZjsKICAgICAgfQoKICAgICAgOmhvc3QoLmRhcmstbW9kZSkgdmFhZGluLWdyaWQgewogICAgICAgIC0tX2x1bW8tZ3JpZC1zZWNvbmRhcnktYm9yZGVyLWNvbG9yOiAjNTA1MDUwOwogICAgICB9CgogICAgICAudGFibGUtY2VsbCB7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIC50YWJsZS1oZWFkZXIgewogICAgICAgIC8qIGxpbmUtYnJlYWsgb3ZlcmZsb3dpbmcgY29sdW1uIGhlYWRlcnMgKi8KICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgIH0KICAgICAgLnNlc3Npb24tZ3JvdXAtdGFibGUgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICAuc2Vzc2lvbi1ncm91cC1kZXRhaWxzIHsKICAgICAgICBoZWlnaHQ6IDM2MHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx2MHQucHJvdG90eXBlLCJ2aXNpYmxlU2NoZW1hIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSx2MHQucHJvdG90eXBlLCJzZXNzaW9uR3JvdXBzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sdjB0LnByb3RvdHlwZSwiZW5hYmxlU2hvd01ldHJpY3MiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sdjB0LnByb3RvdHlwZSwiYmFja2VuZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSx2MHQucHJvdG90eXBlLCJleHBlcmltZW50TmFtZSIsdm9pZCAwKSx0KFthKCJ2aXNpYmxlU2NoZW1hLioiLCJzZXNzaW9uR3JvdXBzLioiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLHYwdC5wcm90b3R5cGUsIl92aXNpYmxlU2NoZW1hT3JTZXNzaW9uR3JvdXBzQ2hhbmdlZCIsbnVsbCksdjB0PXQoW2koInRmLWhwYXJhbXMtdGFibGUtdmlldyIpXSx2MHQpO2xldCBiMHQ9Y2xhc3MgZXh0ZW5kcyB3ZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5zZXNzaW9uR3JvdXA9bnVsbCx0aGlzLnZpc2libGVTY2hlbWE9bnVsbH1fcHJvcGVydGllc0FyZVBvcHVsYXRlZCh0LGUpe3JldHVybiBudWxsIT10JiZudWxsIT1lfV9zaW5nbGV0b25TZXNzaW9uR3JvdXBzKHQpe3JldHVybiBudWxsPT10P1tdOlt0XX19O2Z1bmN0aW9uIHgwdCh0LGUsbixpKXtpZihlLmxlbmd0aDwyKXJldHVybiBjb25zb2xlLmVycm9yKCJMZXNzIHRoYW4gdHdvIGF4ZXMgaW4gcGFyYWxsZWwgY29vcmRpbmF0ZXMgcGxvdC4iKSxudWxsO2NvbnN0IHI9blswXSxvPW5bMV07aWYocjw9ZVswXXx8cj49ZVtlLmxlbmd0aC0xXSlyZXR1cm4gbnVsbDtjb25zdCBhPUNlLmV4cG9ydHMuc29ydGVkSW5kZXgoZSxyKTtjb25zb2xlLmFzc2VydChhPjApLGNvbnNvbGUuYXNzZXJ0KGE8ZS5sZW5ndGgpO2NvbnN0IHM9YS0xO2xldCBsPW51bGwsYz1udWxsO3JldHVybiB0LmZvckVhY2goKHQ9Pntjb25zdCBlPShmdW5jdGlvbiBuKHQsZSxpLGEpe2NvbnN0IHM9dC1pLGw9ZS1hLGM9ci1pLHU9by1hLGg9KHMqYytsKnUpLyhzKnMrbCpsKTtpZihoPD0wKXJldHVybiBZSnQoYyx1KTtpZihoPj0xKXJldHVybiBZSnQodC1yLGUtbyk7cmV0dXJuIFlKdChjLWgqcyx1LWgqbCl9KSh0LmNvbnRyb2xQb2ludHNbc11bMF0sdC5jb250cm9sUG9pbnRzW3NdWzFdLHQuY29udHJvbFBvaW50c1thXVswXSx0LmNvbnRyb2xQb2ludHNbYV1bMV0pO2U+aXx8KG51bGw9PT1sfHxlPGwpJiYobD1lLGM9dCl9KSksY31mdW5jdGlvbiB3MHQodCxlLG4pe2Z1bmN0aW9uIGkoKXtpZigwPT09dC5sZW5ndGgpcmV0dXJuWzEsMl07Y29uc3RbZSxuXT1HbCh0KTtyZXR1cm4gZSE9PW4/W2Usbl06ZT4wP1suNSplLDEuNSplXTplPDA/WzEuNSplLC41KmVdOlstMSwxXX1pZigiTElORUFSIj09PW4pcmV0dXJuIGNFKCkuZG9tYWluKGkoKSkucmFuZ2UoW2UsMF0pO2lmKCJMT0ciPT09bil7Y29uc3Qgbj1pKCk7cmV0dXJuIG5bMF08PTAmJm5bMV0+PTA/dzB0KHQsZSwiTElORUFSIik6eUUoKS5kb21haW4obikucmFuZ2UoW2UsMF0pfWlmKCJRVUFOVElMRSI9PT1uKXtjb25zdCBuPTIwLGk9S2wobikubWFwKCh0PT5lLXQqZS8obi0xKSkpO3JldHVybiAwPT09dC5sZW5ndGgmJih0PVsxXSksQ0UoKS5kb21haW4oQ2UuZXhwb3J0cy51bmlxKHQpKS5yYW5nZShpKX1pZigiTk9OX05VTUVSSUMiPT09bilyZXR1cm4gS00oKS5kb21haW4oQ2UuZXhwb3J0cy51bmlxKHQuc29ydCgpKSkucmFuZ2UoW2UsMF0pLnBhZGRpbmcoLjEpO3Rocm93IFJhbmdlRXJyb3IoIlVua25vd24gc2NhbGU6ICIrbil9dmFyIFMwdCxNMHQ7YjB0LnRlbXBsYXRlPXhlYAogICAgPCEtLSBJZiBzZXNzaW9uR3JvdXAgb3IgdmlzaWJsZVNjaGVtYSBhcmUgbm90IHBvcHVsYXRlZCwgZG8gbm90IGRpc3BsYXkKICAgICAgICAgYW55dGhpbmcuCiAgICAgIC0tPgogICAgPHRlbXBsYXRlCiAgICAgIGlzPSJkb20taWYiCiAgICAgIGlmPSJbW19wcm9wZXJ0aWVzQXJlUG9wdWxhdGVkKHZpc2libGVTY2hlbWEsIHNlc3Npb25Hcm91cCldXSIKICAgID4KICAgICAgPCEtLSBEaXNwbGF5IG9uZSByb3cgd2l0aG91dCBhICJzaG93LW1ldHJpY3MiIGNvbHVtbiAtLT4KICAgICAgPHRmLWhwYXJhbXMtdGFibGUtdmlldwogICAgICAgIHZpc2libGUtc2NoZW1hPSJbW3Zpc2libGVTY2hlbWFdXSIKICAgICAgICBzZXNzaW9uLWdyb3Vwcz0iW1tfc2luZ2xldG9uU2Vzc2lvbkdyb3VwcyhzZXNzaW9uR3JvdXApXV0iCiAgICAgID4KICAgICAgPC90Zi1ocGFyYW1zLXRhYmxlLXZpZXc+CiAgICA8L3RlbXBsYXRlPgogICAgPHRlbXBsYXRlCiAgICAgIGlzPSJkb20taWYiCiAgICAgIGlmPSJbWyFfcHJvcGVydGllc0FyZVBvcHVsYXRlZCh2aXNpYmxlU2NoZW1hLCBzZXNzaW9uR3JvdXApXV0iCiAgICA+CiAgICAgIDxkaXY+Q2xpY2sgb3IgaG92ZXIgb3ZlciBhIHNlc3Npb24gZ3JvdXAgdG8gZGlzcGxheSBpdHMgdmFsdWVzIGhlcmUuPC9kaXY+CiAgICA8L3RlbXBsYXRlPgoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sYjB0LnByb3RvdHlwZSwic2Vzc2lvbkdyb3VwIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGIwdC5wcm90b3R5cGUsInZpc2libGVTY2hlbWEiLHZvaWQgMCksYjB0PXQoW2koInRmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC12YWx1ZXMiKV0sYjB0KSwoZnVuY3Rpb24odCl7dC5MSU5FQVI9IkxJTkVBUiIsdC5MT0c9IkxPRyIsdC5RVUFOVElMRT0iUVVBTlRJTEUiLHQuTk9OX05VTUVSSUM9Ik5PTl9OVU1FUklDIn0pKFMwdHx8KFMwdD17fSkpO2NsYXNzIEUwdHtpc1Bhc3NpbmcodCl7cmV0dXJuITB9fWNsYXNzIFQwdHtjb25zdHJ1Y3Rvcih0LGUsbixpKXt0aGlzLl9sb3dlcj10LHRoaXMuX3VwcGVyPWUsdGhpcy5fbG93ZXJPcGVuPW4sdGhpcy5fdXBwZXJPcGVuPWl9aXNQYXNzaW5nKHQpe2NvbnN0IGU9dDtyZXR1cm4gdGhpcy5fYmVmb3JlKHRoaXMuX2xvd2VyLGUsIXRoaXMuX2xvd2VyT3BlbikmJnRoaXMuX2JlZm9yZShlLHRoaXMuX3VwcGVyLCF0aGlzLl91cHBlck9wZW4pfV9iZWZvcmUodCxlLG4pe3JldHVybiBuP3Q8PWU6dDxlfX1jbGFzcyBDMHR7Y29uc3RydWN0b3IodCl7dGhpcy5fZG9tYWluU2V0PXR9aXNQYXNzaW5nKHQpe3JldHVybi0xIT09dGhpcy5fZG9tYWluU2V0LmZpbmRJbmRleCgoZT0+ZT09PXQpKX19Y2xhc3MgQTB0e2NvbnN0cnVjdG9yKHQsZSxuLGkpe3RoaXMuX3N2Z1Byb3BzPXQsdGhpcy5fc2NoZW1hPWUsdGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyPW4sdGhpcy5fY29sSW5kZXg9aSx0aGlzLl9pc0Rpc3BsYXllZD0hMSx0aGlzLl95U2NhbGU9bnVsbCx0aGlzLl9zY2FsZVR5cGU9bnVsbCx0aGlzLnNldEJydXNoU2VsZWN0aW9uKG51bGwpfWNvbEluZGV4KCl7cmV0dXJuIHRoaXMuX2NvbEluZGV4fXlTY2FsZSgpe3JldHVybiB0aGlzLl95U2NhbGV9c2NhbGVUeXBlKCl7cmV0dXJuIHRoaXMuX3NjYWxlVHlwZX1icnVzaFNlbGVjdGlvbigpe3JldHVybiB0aGlzLl9icnVzaFNlbGVjdGlvbn1pc0Rpc3BsYXllZCgpe3JldHVybiB0aGlzLl9pc0Rpc3BsYXllZH1zZXRCcnVzaFNlbGVjdGlvbih0KXt0aGlzLl9icnVzaFNlbGVjdGlvbj10LHRoaXMuX2JydXNoRmlsdGVyPXRoaXMuX2J1aWxkQnJ1c2hGaWx0ZXIodGhpcy5icnVzaFNlbGVjdGlvbigpLHRoaXMuc2NhbGVUeXBlKCksdGhpcy55U2NhbGUoKSl9c2V0RG9tYWluQW5kU2NhbGUodCxlKXt0aGlzLl9zY2FsZVR5cGU9ZSx0aGlzLl95U2NhbGU9dzB0KHQuc2xpY2UoKSx0aGlzLl9zdmdQcm9wcy5oZWlnaHQsdGhpcy5zY2FsZVR5cGUoKSksdGhpcy5fYnJ1c2hGaWx0ZXI9dGhpcy5fYnVpbGRCcnVzaEZpbHRlcih0aGlzLmJydXNoU2VsZWN0aW9uKCksdGhpcy5zY2FsZVR5cGUoKSx0aGlzLnlTY2FsZSgpKX1icnVzaEZpbHRlcigpe3JldHVybiB0aGlzLl9icnVzaEZpbHRlcn11cGRhdGVET00odCl7bGV0IGU9YmModGhpcy55U2NhbGUoKSk7dGhpcy5zY2FsZVR5cGUoKT09PVMwdC5RVUFOVElMRSYmKGU9ZS50aWNrVmFsdWVzKHRoaXMueVNjYWxlKCkucXVhbnRpbGVzKCkpLnRpY2tGb3JtYXQoRHkoIi0uNmciKSkpO2NvbnN0IG49RHUodCk7bi5zZWxlY3RBbGwoImciKS5yZW1vdmUoKSxuLmFwcGVuZCgiZyIpLmNsYXNzZWQoImF4aXMiLCEwKS5jYWxsKGUpLmFwcGVuZCgidGV4dCIpLmNsYXNzZWQoImF4aXMtdGl0bGUiLCEwKS5zdHlsZSgiY3Vyc29yIiwibW92ZSIpLnN0eWxlKCJ0ZXh0LWFuY2hvciIsIm1pZGRsZSIpLmF0dHIoInkiLC05KS50ZXh0KCh0PT5BSnQodGhpcy5fc2NoZW1hLHQpKSksbi5jYWxsKEloKCkub24oInN0YXJ0IiwoKCk9Pnt0LnNldEF0dHJpYnV0ZSgiaXMtZHJhZ2dpbmciLCIiKSx0aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXIub25EcmFnU3RhcnQodGhpcy5jb2xJbmRleCgpKX0pKS5vbigiZHJhZyIsKCgpPT50aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXIub25EcmFnKE11LngpKSkub24oImVuZCIsKCgpPT57dGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyLm9uRHJhZ0VuZCgpLHQucmVtb3ZlQXR0cmlidXRlKCJpcy1kcmFnZ2luZyIpfSkpKTtjb25zdCBpPXlnKCkuZXh0ZW50KFtbLTgsMF0sWzgsdGhpcy5fc3ZnUHJvcHMuaGVpZ2h0KzFdXSkub24oInN0YXJ0IiwoKCk9PntMMHQoTXUpJiYodC5zZXRBdHRyaWJ1dGUoImlzLWJydXNoaW5nIiwiIiksdGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyLm9uQnJ1c2hDaGFuZ2VkKHRoaXMuY29sSW5kZXgoKSxNdS5zZWxlY3Rpb24pKX0pKS5vbigiYnJ1c2giLCgoKT0+e0wwdChNdSkmJnRoaXMuX2ludGVyYWN0aW9uTWFuYWdlci5vbkJydXNoQ2hhbmdlZCh0aGlzLmNvbEluZGV4KCksTXUuc2VsZWN0aW9uKX0pKS5vbigiZW5kIiwoKCk9PntMMHQoTXUpJiYodGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyLm9uQnJ1c2hDaGFuZ2VkKHRoaXMuY29sSW5kZXgoKSxNdS5zZWxlY3Rpb24pLHQucmVtb3ZlQXR0cmlidXRlKCJpcy1icnVzaGluZyIpKX0pKSxyPUR1KHQpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImJydXNoIiwhMCk7ci5jYWxsKGkpLGkubW92ZShyLHRoaXMuYnJ1c2hTZWxlY3Rpb24oKSl9c2V0RGlzcGxheWVkKHQpe3RoaXMuX2lzRGlzcGxheWVkPXR9X2J1aWxkQnJ1c2hGaWx0ZXIodCxlLG4pe2lmKG51bGw9PT10KXJldHVybiBuZXcgRTB0O2lmKG51bGw9PT1lKXJldHVybiBjb25zb2xlLmVycm9yKCJTY2FsZSB0eXBlIGlzIG51bGwsIGJ1dCBicnVzaFNlbGVjdGlvbiBpc24ndDogIix0KSxuZXcgRTB0O3N3aXRjaChlKXtjYXNlIFMwdC5MSU5FQVI6Y2FzZSBTMHQuTE9HOntjb25zdFtlLGldPShmdW5jdGlvbiByKHQsZSxuKXtyZXR1cm5bdC5pbnZlcnQoZSksdC5pbnZlcnQobildLnNvcnQoKCh0LGUpPT50LWUpKX0pKG4sdFswXSx0WzFdKTtyZXR1cm4gbmV3IFQwdChlLGksITEsITEpfWNhc2UgUzB0LlFVQU5USUxFOntjb25zdFtlLGldPShmdW5jdGlvbiByKHQsZSxuKXtjb25zdCBpPXQucmFuZ2UoKSxyPWkuZmlsdGVyKCh0PT5lPD10JiZ0PD1uKSkubWFwKChlPT57Y29uc3Qgbj10LmludmVydEV4dGVudChlKTtyZXR1cm4gZT09PWlbaS5sZW5ndGgtMV0/W25bMF0sblsxXSsxXTpufSkpO3JldHVybiAwPT1yLmxlbmd0aD9bMCwwXTpHbChhYyhyKSl9KShuLHRbMF0sdFsxXSk7cmV0dXJuIG5ldyBUMHQoZSxpLCExLCEwKX1jYXNlIFMwdC5OT05fTlVNRVJJQzpyZXR1cm4gbmV3IEMwdCgoZnVuY3Rpb24gZSh0LG4saSl7cmV0dXJuIHQuZG9tYWluKCkuZmlsdGVyKChlPT57Y29uc3Qgcj10KGUpO3JldHVybiBuPD1yJiZyPD1pfSkpfSkobix0WzBdLHRbMV0pKX1yZXR1cm4gY29uc29sZS5lcnJvcigiVW5rbm93biBzY2FsZSB0eXBlOiAiLGUpLG5ldyBFMHR9fWNsYXNzIGswdHtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fc3ZnUHJvcHM9dCx0aGlzLl9zY2hlbWE9ZSx0aGlzLl9heGVzPXRoaXMuX2NyZWF0ZUF4ZXMobiksdGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnM9S00oKS5yYW5nZShbMSx0aGlzLl9zdmdQcm9wcy53aWR0aC0xXSkucGFkZGluZyguNSksdGhpcy5fZHJhZ2dlZEF4aXM9bnVsbCx0aGlzLl9zdmdQcm9wcy5zdmdHLnNlbGVjdEFsbCgiZy5heGlzLXBhcmVudCIpLnJlbW92ZSgpLHRoaXMuX3BhcmVudHNTZWw9dGhpcy5fc3ZnUHJvcHMuc3ZnRy5zZWxlY3RBbGwoIi5heGlzLXBhcmVudCIpfXVwZGF0ZUF4ZXModCxlKXtjb25zb2xlLmFzc2VydCghdGhpcy5pc0F4aXNEcmFnZ2luZygpKTtjb25zdCBuPW5ldyBTZXQ7dC5jb2x1bW5zLmZvckVhY2goKHQ9Pntjb25zdCBpPXQuYWJzb2x1dGVJbmRleDtsZXQgcj10aGlzLl9heGVzW2ldO3Iuc2V0RGlzcGxheWVkKCEwKTtjb25zdCBvPWUubWFwKCh0PT56SnQodGhpcy5fc2NoZW1hLHQsaSkpKTtyLnNldERvbWFpbkFuZFNjYWxlKG8sdC5zY2FsZSksbi5hZGQoaSl9KSksdGhpcy5fYXhlcy5mb3JFYWNoKCh0PT57bi5oYXModC5jb2xJbmRleCgpKXx8dC5zZXREaXNwbGF5ZWQoITEpfSkpLHRoaXMuX3VwZGF0ZVN0YXRpb25hcnlBeGVzUG9zaXRpb25zKG4pLHRoaXMuX3BhcmVudHNTZWw9dGhpcy5fcGFyZW50c1NlbC5kYXRhKEFycmF5LmZyb20obiksKHQ9PnQpKSx0aGlzLl9wYXJlbnRzU2VsLmV4aXQoKS5yZW1vdmUoKSx0aGlzLl9wYXJlbnRzU2VsPXRoaXMuX3BhcmVudHNTZWwuZW50ZXIoKS5hcHBlbmQoImciKS5jbGFzc2VkKCJheGlzLXBhcmVudCIsITApLm1lcmdlKHRoaXMuX3BhcmVudHNTZWwpO2NvbnN0IGk9dGhpczt0aGlzLl9wYXJlbnRzU2VsLmNhbGwoKHQ9PnRoaXMuX3VwZGF0ZUF4ZXNQb3NpdGlvbnNJbkRPTSh0KSkpLmVhY2goKGZ1bmN0aW9uKHQpe2kuX2F4ZXNbdF0udXBkYXRlRE9NKHRoaXMpfSkpfW1hcFZpc2libGVBeGVzKHQpe3JldHVybiB0aGlzLl9zdGF0aW9uYXJ5QXhlc1Bvc2l0aW9ucy5kb21haW4oKS5tYXAoKGU9PnQodGhpcy5nZXRBeGlzUG9zaXRpb24oZSksdGhpcy5fYXhlc1tlXSkpKX1hbGxWaXNpYmxlQXhlc1NhdGlzZnkodCl7cmV0dXJuIHRoaXMuX3N0YXRpb25hcnlBeGVzUG9zaXRpb25zLmRvbWFpbigpLmV2ZXJ5KChlPT50KHRoaXMuZ2V0QXhpc1Bvc2l0aW9uKGUpLHRoaXMuX2F4ZXNbZV0pKSl9Z2V0QXhpc0ZvckNvbEluZGV4KHQpe3JldHVybiB0aGlzLl9heGVzW3RdfWRyYWdTdGFydCh0KXtjb25zb2xlLmFzc2VydCghdGhpcy5pc0F4aXNEcmFnZ2luZygpKSxjb25zb2xlLmFzc2VydCh0aGlzLl9heGVzW3RdLmlzRGlzcGxheWVkKCkpLHRoaXMuX2RyYWdnZWRBeGlzPXRoaXMuX2F4ZXNbdF0sdGhpcy5fZHJhZ2dlZEF4aXNQb3NpdGlvbj10aGlzLl9zdGF0aW9uYXJ5QXhlc1Bvc2l0aW9ucyh0KX1kcmFnKHQpe3Q9TWF0aC5taW4oTWF0aC5tYXgodCwwKSx0aGlzLl9zdmdQcm9wcy53aWR0aCksdGhpcy5fZHJhZ2dlZEF4aXNQb3NpdGlvbj10O2xldCBlPXRoaXMuX3N0YXRpb25hcnlBeGVzUG9zaXRpb25zLmRvbWFpbigpO2Uuc29ydCgoKHQsZSk9PnRoaXMuZ2V0QXhpc1Bvc2l0aW9uKHQpLXRoaXMuZ2V0QXhpc1Bvc2l0aW9uKGUpKSksdGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMuZG9tYWluKGUpLHRoaXMuX3VwZGF0ZUF4ZXNQb3NpdGlvbnNJbkRPTSh0aGlzLl9wYXJlbnRzU2VsKX1kcmFnRW5kKHQpe2NvbnNvbGUuYXNzZXJ0KHRoaXMuaXNBeGlzRHJhZ2dpbmcoKSksdGhpcy5fZHJhZ2dlZEF4aXNQb3NpdGlvbj1udWxsLHRoaXMuX2RyYWdnZWRBeGlzPW51bGwsdGhpcy5fdXBkYXRlQXhlc1Bvc2l0aW9uc0luRE9NKHRoaXMuX3BhcmVudHNTZWwudHJhbnNpdGlvbigpLmR1cmF0aW9uKHQpKX1pc0F4aXNEcmFnZ2luZygpe3JldHVybiBudWxsIT09dGhpcy5fZHJhZ2dlZEF4aXN9Z2V0QXhpc1Bvc2l0aW9uKHQpe3JldHVybiBudWxsIT09dGhpcy5fZHJhZ2dlZEF4aXMmJnRoaXMuX2RyYWdnZWRBeGlzLmNvbEluZGV4KCk9PT10P3RoaXMuX2RyYWdnZWRBeGlzUG9zaXRpb246dGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnModCl9X3VwZGF0ZVN0YXRpb25hcnlBeGVzUG9zaXRpb25zKHQpe2NvbnN0IGU9dGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMuZG9tYWluKCkuZmlsdGVyKChlPT50LmhhcyhlKSkpLG49QXJyYXkuZnJvbShuZXcgU2V0KFsuLi5lLC4uLkFycmF5LmZyb20odCldKSk7dGhpcy5fc3RhdGlvbmFyeUF4ZXNQb3NpdGlvbnMuZG9tYWluKG4pfV91cGRhdGVBeGVzUG9zaXRpb25zSW5ET00odCl7dC5hdHRyKCJ0cmFuc2Zvcm0iLCh0PT5LSnQodGhpcy5nZXRBeGlzUG9zaXRpb24odCkpKSl9X2NyZWF0ZUF4ZXModCl7cmV0dXJuIEtsKFBKdCh0aGlzLl9zY2hlbWEpKS5tYXAoKGU9Pm5ldyBBMHQodGhpcy5fc3ZnUHJvcHMsdGhpcy5fc2NoZW1hLHQsZSkpKX19ZnVuY3Rpb24gTDB0KHQpe3JldHVybiBudWxsIT09dC5zb3VyY2VFdmVudH0hKGZ1bmN0aW9uKHQpe3RbdC5GT1JFR1JPVU5EPTBdPSJGT1JFR1JPVU5EIix0W3QuQkFDS0dST1VORD0xXT0iQkFDS0dST1VORCJ9KShNMHR8fChNMHQ9e30pKTtjbGFzcyBQMHR7Y29uc3RydWN0b3IodCl7dm9pZCAwPT09dCYmKHQ9eGgobnVsbCkpLGNvbnNvbGUuYXNzZXJ0KHQuc2l6ZSgpPD0xKSx0aGlzLl9zZXNzaW9uR3JvdXBTZWw9dH1zZXNzaW9uR3JvdXAoKXtyZXR1cm4gMT09PXRoaXMuX3Nlc3Npb25Hcm91cFNlbC5zaXplKCk/dGhpcy5fc2Vzc2lvbkdyb3VwU2VsLmRhdHVtKCk6bnVsbH1pc051bGwoKXtyZXR1cm4gbnVsbD09PXRoaXMuc2Vzc2lvbkdyb3VwKCl9c2VsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX3Nlc3Npb25Hcm91cFNlbH1lcXVhbHNUbyh0KXtyZXR1cm4gdGhpcy5pc051bGwoKT90LmlzTnVsbCgpOiF0LmlzTnVsbCgpJiZ0LnNlc3Npb25Hcm91cCgpLm5hbWU9PXRoaXMuc2Vzc2lvbkdyb3VwKCkubmFtZX19Y2xhc3MgTjB0e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9zdmdQcm9wcz10LHRoaXMuX3NjaGVtYT1lLHRoaXMuX2F4ZXNDb2xsZWN0aW9uPW4sdGhpcy5fc2Vzc2lvbkdyb3Vwcz1bXSx0aGlzLl9zdmdQcm9wcy5zdmdHLnNlbGVjdEFsbCgiZy5iYWNrZ3JvdW5kIikucmVtb3ZlKCksdGhpcy5fc3ZnUHJvcHMuc3ZnRy5zZWxlY3RBbGwoImcuZm9yZWdyb3VuZCIpLnJlbW92ZSgpLHRoaXMuX2JnUGF0aHNTZWw9dGhpcy5fc3ZnUHJvcHMuc3ZnRy5hcHBlbmQoImciKS5jbGFzc2VkKCJiYWNrZ3JvdW5kIiwhMCkuc2VsZWN0QWxsKCJwYXRoIiksdGhpcy5fZmdQYXRoc1NlbD10aGlzLl9zdmdQcm9wcy5zdmdHLmFwcGVuZCgiZyIpLmNsYXNzZWQoImZvcmVncm91bmQiLCEwKS5zZWxlY3RBbGwoInBhdGgiKSx0aGlzLl91cGRhdGVWaXNpYmxlRmdQYXRoc1NlbCgpLHRoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZT1uZXcgUDB0LHRoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlPW5ldyBQMHQsdGhpcy5fZDNsaW5lPURMKCkuY3VydmUoUkwpfWdldFNlc3Npb25Hcm91cEhhbmRsZSh0KXtyZXR1cm4gbnVsbD09dD9uZXcgUDB0Om5ldyBQMHQodGhpcy5fZmdQYXRoc1NlbC5maWx0ZXIoKGU9PmUubmFtZT09PXQubmFtZSkpKX1oaWRlQmFja2dyb3VuZExpbmVzKCl7dGhpcy5fYmdQYXRoc1NlbC5hdHRyKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIil9c2hvd0JhY2tncm91bmRMaW5lcygpe3RoaXMuX2JnUGF0aHNTZWwuYXR0cigidmlzaWJpbGl0eSIsbnVsbCl9cGVha2VkU2Vzc2lvbkdyb3VwSGFuZGxlKCl7cmV0dXJuIHRoaXMuX3BlYWtlZFNlc3Npb25Hcm91cEhhbmRsZX1zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZSgpe3JldHVybiB0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZX1yZWNvbXB1dGVDb250cm9sUG9pbnRzKHQsZT0wKXsodD09PU0wdC5GT1JFR1JPVU5EP3RoaXMuX2ZnUGF0aHNTZWw6dGhpcy5fYmdQYXRoc1NlbCkudHJhbnNpdGlvbigpLmR1cmF0aW9uKGUpLmF0dHIoImQiLCh0PT50aGlzLl9wYXRoREF0dHJpYnV0ZSh0KSkpLHQ9PT1NMHQuRk9SRUdST1VORCYmd2luZG93LnNldFRpbWVvdXQoKCgpPT57Y29uc3QgdD10aGlzO3RoaXMuX2ZnUGF0aHNTZWwuZWFjaCgoZnVuY3Rpb24oZSl7dC5fc2V0Q29udHJvbFBvaW50c1Byb3BlcnR5KHRoaXMsZSl9KSl9KSl9cmVjb21wdXRlRm9yZWdyb3VuZExpbmVzVmlzaWJpbGl0eSgpe3RoaXMuX2ZnUGF0aHNTZWwuY2xhc3NlZCgiaW52aXNpYmxlLXBhdGgiLCh0PT4hdGhpcy5fYXhlc0NvbGxlY3Rpb24uYWxsVmlzaWJsZUF4ZXNTYXRpc2Z5KCgoZSxuKT0+bi5icnVzaEZpbHRlcigpLmlzUGFzc2luZyh6SnQodGhpcy5fc2NoZW1hLHQsbi5jb2xJbmRleCgpKSkpKSkpLHRoaXMuX3VwZGF0ZVZpc2libGVGZ1BhdGhzU2VsKCl9c2V0Rm9yZWdyb3VuZExpbmVzQ29sb3IodCxlLG4pe2NvbnN0IGk9dGhpcy5fY3JlYXRlTGluZUNvbG9yRnVuY3Rpb24odCxlLG4pO3RoaXMuX2ZnUGF0aHNTZWwuYXR0cigic3Ryb2tlIixpKX1yZWRyYXcodCxlLG4saSl7Y29uc3Qgcj10aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUuc2Vzc2lvbkdyb3VwKCksbz10aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZS5zZXNzaW9uR3JvdXAoKTt0aGlzLl9zZXNzaW9uR3JvdXBzPXQsdGhpcy5fZmdQYXRoc1NlbD10aGlzLl9yZWNvbXB1dGVQYXRoU2VsZWN0aW9uKHRoaXMuX2ZnUGF0aHNTZWwpLHRoaXMuX2JnUGF0aHNTZWw9dGhpcy5fcmVjb21wdXRlUGF0aFNlbGVjdGlvbih0aGlzLl9iZ1BhdGhzU2VsKSx0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGU9dGhpcy5nZXRTZXNzaW9uR3JvdXBIYW5kbGUociksdGhpcy5fc2VsZWN0ZWRTZXNzaW9uR3JvdXBIYW5kbGU9dGhpcy5nZXRTZXNzaW9uR3JvdXBIYW5kbGUobyksdGhpcy5yZWNvbXB1dGVDb250cm9sUG9pbnRzKE0wdC5GT1JFR1JPVU5EKSx0aGlzLnJlY29tcHV0ZUNvbnRyb2xQb2ludHMoTTB0LkJBQ0tHUk9VTkQpLHRoaXMucmVjb21wdXRlRm9yZWdyb3VuZExpbmVzVmlzaWJpbGl0eSgpLHRoaXMuc2V0Rm9yZWdyb3VuZExpbmVzQ29sb3IoZSxuLGkpfXVwZGF0ZVBlYWtlZFNlc3Npb25Hcm91cCh0KXt0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUuc2VsZWN0aW9uKCkuY2xhc3NlZCgicGVha2VkLXBhdGgiLCExKSx0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGU9dCx0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUuc2VsZWN0aW9uKCkuY2xhc3NlZCgicGVha2VkLXBhdGgiLCEwKX1jbGVhclBlYWtlZFNlc3Npb25Hcm91cCgpe3RoaXMudXBkYXRlUGVha2VkU2Vzc2lvbkdyb3VwKG5ldyBQMHQpfXVwZGF0ZVNlbGVjdGVkU2Vzc2lvbkdyb3VwKHQpe3RoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlLnNlbGVjdGlvbigpLmNsYXNzZWQoInNlbGVjdGVkLXBhdGgiLCExKSx0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZT10LHRoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwSGFuZGxlLnNlbGVjdGlvbigpLmNsYXNzZWQoInNlbGVjdGVkLXBhdGgiLCEwKX1maW5kQ2xvc2VzdFNlc3Npb25Hcm91cCh0LGUpe2NvbnN0IG49dGhpcy5fYXhlc0NvbGxlY3Rpb24ubWFwVmlzaWJsZUF4ZXMoKCh0LGUpPT50KSksaT14MHQodGhpcy5fdmlzaWJsZUZnUGF0aHNTZWwubm9kZXMoKSxuLFt0LGVdLDEwMCk7cmV0dXJuIG51bGw9PT1pP25ldyBQMHQ6bmV3IFAwdChEdShpKSl9X2NyZWF0ZUxpbmVDb2xvckZ1bmN0aW9uKHQsZSxuKXtpZihudWxsPT09dClyZXR1cm4oKT0+InJlZCI7Y29uc3QgaT1jRSgpLmRvbWFpbihESnQodGhpcy5fc2NoZW1hLHRoaXMuX3Nlc3Npb25Hcm91cHMsdCkpLnJhbmdlKFtlLG5dKS5pbnRlcnBvbGF0ZShrcCk7cmV0dXJuIGU9Pmkoekp0KHRoaXMuX3NjaGVtYSxlLHQpKX1fcmVjb21wdXRlUGF0aFNlbGVjdGlvbih0KXtyZXR1cm4odD10LmRhdGEodGhpcy5fc2Vzc2lvbkdyb3VwcywodD0+dC5uYW1lKSkpLmV4aXQoKS5yZW1vdmUoKSx0LmVudGVyKCkuYXBwZW5kKCJwYXRoIikubWVyZ2UodCl9X3NldENvbnRyb2xQb2ludHNQcm9wZXJ0eSh0LGUpe3QuY29udHJvbFBvaW50cz10aGlzLl9jb21wdXRlQ29udHJvbFBvaW50cyhlKX1fY29tcHV0ZUNvbnRyb2xQb2ludHModCl7cmV0dXJuIHRoaXMuX2F4ZXNDb2xsZWN0aW9uLm1hcFZpc2libGVBeGVzKCgoZSxuKT0+W2Usbi55U2NhbGUoKSh6SnQodGhpcy5fc2NoZW1hLHQsbi5jb2xJbmRleCgpKSldKSl9X3BhdGhEQXR0cmlidXRlKHQpe3JldHVybiB0aGlzLl9kM2xpbmUodGhpcy5fY29tcHV0ZUNvbnRyb2xQb2ludHModCkpfV91cGRhdGVWaXNpYmxlRmdQYXRoc1NlbCgpe3RoaXMuX3Zpc2libGVGZ1BhdGhzU2VsPXRoaXMuX2ZnUGF0aHNTZWwuZmlsdGVyKCI6bm90KC5pbnZpc2libGUtcGF0aCkiKX19Y2xhc3MgSTB0e2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5zdmc9RHUodCk7Y29uc3Qgbj0zMCxpPTEwLHI9MTAsbz0xMCxhPTEwMCplK28raSxzPTIwMCtuK3I7dGhpcy5zdmcuYXR0cigidmlld0JveCIsYDAgMCAke2F9ICR7c31gKSx0aGlzLnN2Zy5hdHRyKCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIiwieE1pZFlNaWQiKSx0aGlzLnN2Zy5zdHlsZSgibWluLXdpZHRoIixhKyJweCIpLHRoaXMuc3ZnLnN0eWxlKCJtaW4taGVpZ2h0IixzKyJweCIpLHRoaXMud2lkdGg9YS1vLWksdGhpcy5oZWlnaHQ9cy1uLXIsdGhpcy5zdmdHPXRoaXMuc3ZnLmFwcGVuZCgiZyIpLmF0dHIoInRyYW5zZm9ybSIsS0p0KG8sbikpfX1jbGFzcyBSMHR7Y29uc3RydWN0b3IodCxlLG4saSl7dGhpcy5fc3ZnUHJvcHM9dCx0aGlzLl9zY2hlbWE9ZSx0aGlzLl9wZWFrZWRTZXNzaW9uR3JvdXBDaGFuZ2VkQ0I9bix0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cENoYW5nZWRDQj1pLHRoaXMuX2F4ZXNDb2xsZWN0aW9uPW5ldyBrMHQodCxlLHRoaXMpLHRoaXMuX2xpbmVzQ29sbGVjdGlvbj1uZXcgTjB0KHQsZSx0aGlzLl9heGVzQ29sbGVjdGlvbiksdGhpcy5fc3ZnUHJvcHMuc3ZnLm9uKCJjbGljayIsKCgpPT50aGlzLm9uQ2xpY2soKSkpLm9uKCJtb3VzZW1vdmUgbW91c2VlbnRlciIsKCgpPT57Y29uc3RbdCxlXT1iaCh0aGlzLl9zdmdQcm9wcy5zdmdHLm5vZGUoKSk7dGhpcy5vbk1vdXNlTW92ZWQodCxlKX0pKS5vbigibW91c2VsZWF2ZSIsKCgpPT50aGlzLm9uTW91c2VMZWF2ZSgpKSl9b25EcmFnU3RhcnQodCl7dGhpcy5fYXhlc0NvbGxlY3Rpb24uZHJhZ1N0YXJ0KHQpLHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5oaWRlQmFja2dyb3VuZExpbmVzKCl9b25EcmFnKHQpe3RoaXMuX2F4ZXNDb2xsZWN0aW9uLmRyYWcodCksdGhpcy5fbGluZXNDb2xsZWN0aW9uLnJlY29tcHV0ZUNvbnRyb2xQb2ludHMoTTB0LkZPUkVHUk9VTkQpfW9uRHJhZ0VuZCgpe3RoaXMuX2F4ZXNDb2xsZWN0aW9uLmRyYWdFbmQoNTAwKSx0aGlzLl9saW5lc0NvbGxlY3Rpb24ucmVjb21wdXRlQ29udHJvbFBvaW50cyhNMHQuRk9SRUdST1VORCw1MDApLHdpbmRvdy5zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX2xpbmVzQ29sbGVjdGlvbi5yZWNvbXB1dGVDb250cm9sUG9pbnRzKE0wdC5CQUNLR1JPVU5EKSx0aGlzLl9saW5lc0NvbGxlY3Rpb24uc2hvd0JhY2tncm91bmRMaW5lcygpfSksNTAwKX1vbkJydXNoQ2hhbmdlZCh0LGUpe3RoaXMuX2F4ZXNDb2xsZWN0aW9uLmdldEF4aXNGb3JDb2xJbmRleCh0KS5zZXRCcnVzaFNlbGVjdGlvbihlKSx0aGlzLl9saW5lc0NvbGxlY3Rpb24ucmVjb21wdXRlRm9yZWdyb3VuZExpbmVzVmlzaWJpbGl0eSgpfW9uTW91c2VNb3ZlZCh0LGUpe3RoaXMuX2xpbmVzQ29sbGVjdGlvbi51cGRhdGVQZWFrZWRTZXNzaW9uR3JvdXAodGhpcy5fbGluZXNDb2xsZWN0aW9uLmZpbmRDbG9zZXN0U2Vzc2lvbkdyb3VwKHQsZSkpLHRoaXMuX3BlYWtlZFNlc3Npb25Hcm91cENoYW5nZWRDQih0aGlzLl9saW5lc0NvbGxlY3Rpb24ucGVha2VkU2Vzc2lvbkdyb3VwSGFuZGxlKCkuc2Vzc2lvbkdyb3VwKCkpfW9uTW91c2VMZWF2ZSgpe3RoaXMuX2xpbmVzQ29sbGVjdGlvbi5wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUoKS5pc051bGwoKXx8KHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5jbGVhclBlYWtlZFNlc3Npb25Hcm91cCgpLHRoaXMuX3BlYWtlZFNlc3Npb25Hcm91cENoYW5nZWRDQihudWxsKSl9b25DbGljaygpe3RoaXMuX2xpbmVzQ29sbGVjdGlvbi5wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUoKS5zZXNzaW9uR3JvdXAoKT09PXRoaXMuX2xpbmVzQ29sbGVjdGlvbi5zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZSgpLnNlc3Npb25Hcm91cCgpP3RoaXMuX2xpbmVzQ29sbGVjdGlvbi51cGRhdGVTZWxlY3RlZFNlc3Npb25Hcm91cChuZXcgUDB0KTp0aGlzLl9saW5lc0NvbGxlY3Rpb24udXBkYXRlU2VsZWN0ZWRTZXNzaW9uR3JvdXAodGhpcy5fbGluZXNDb2xsZWN0aW9uLnBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpKSx0aGlzLl9zZWxlY3RlZFNlc3Npb25Hcm91cENoYW5nZWRDQih0aGlzLl9saW5lc0NvbGxlY3Rpb24uc2VsZWN0ZWRTZXNzaW9uR3JvdXBIYW5kbGUoKS5zZXNzaW9uR3JvdXAoKSl9b25PcHRpb25zT3JTZXNzaW9uR3JvdXBzQ2hhbmdlZCh0LGUpe3RoaXMuX2F4ZXNDb2xsZWN0aW9uLnVwZGF0ZUF4ZXModCxlKTtjb25zdCBuPXRoaXMuX2xpbmVzQ29sbGVjdGlvbi5wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUoKSxpPXRoaXMuX2xpbmVzQ29sbGVjdGlvbi5zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZSgpO3RoaXMuX2xpbmVzQ29sbGVjdGlvbi5yZWRyYXcoZSx2b2lkIDAhPT10LmNvbG9yQnlDb2x1bW5JbmRleD90LmNvbHVtbnNbdC5jb2xvckJ5Q29sdW1uSW5kZXhdLmFic29sdXRlSW5kZXg6bnVsbCx0Lm1pbkNvbG9yLHQubWF4Q29sb3IpLG4uZXF1YWxzVG8odGhpcy5fbGluZXNDb2xsZWN0aW9uLnBlYWtlZFNlc3Npb25Hcm91cEhhbmRsZSgpKXx8dGhpcy5fcGVha2VkU2Vzc2lvbkdyb3VwQ2hhbmdlZENCKHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5wZWFrZWRTZXNzaW9uR3JvdXBIYW5kbGUoKS5zZXNzaW9uR3JvdXAoKSksaS5lcXVhbHNUbyh0aGlzLl9saW5lc0NvbGxlY3Rpb24uc2VsZWN0ZWRTZXNzaW9uR3JvdXBIYW5kbGUoKSl8fHRoaXMuX3NlbGVjdGVkU2Vzc2lvbkdyb3VwQ2hhbmdlZENCKHRoaXMuX2xpbmVzQ29sbGVjdGlvbi5zZWxlY3RlZFNlc3Npb25Hcm91cEhhbmRsZSgpLnNlc3Npb25Hcm91cCgpKX1zY2hlbWEoKXtyZXR1cm4gdGhpcy5fc2NoZW1hfX1sZXQgTzB0PWNsYXNzIGV4dGVuZHMoY3IoZ2wod2UpKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuc2VsZWN0ZWRTZXNzaW9uR3JvdXA9bnVsbCx0aGlzLmNsb3Nlc3RTZXNzaW9uR3JvdXA9bnVsbCx0aGlzLnJlZHJhd0NvdW50PTB9X29wdGlvbnNPclNlc3Npb25Hcm91cHNDaGFuZ2VkKCl7dmFyIHQ7aWYoIXRoaXMub3B0aW9ucylyZXR1cm47Y29uc3R7Y29uZmlndXJhdGlvbjplfT1udWxsIT09KHQ9dGhpcy5fcHJldk9wdGlvbnMpJiZ2b2lkIDAhPT10P3Q6e30se2NvbmZpZ3VyYXRpb246bn09dGhpcy5vcHRpb25zO2lmKHZvaWQgMD09PXRoaXMuX2ludGVyYWN0aW9uTWFuYWdlcnx8IUNlLmV4cG9ydHMuaXNFcXVhbChlLnNjaGVtYSxuLnNjaGVtYSl8fCFDZS5leHBvcnRzLmlzRXF1YWwoZS5jb2x1bW5zVmlzaWJpbGl0eSxuLmNvbHVtbnNWaXNpYmlsaXR5KSl7RHUodGhpcy4kLnN2Zykuc2VsZWN0QWxsKCIqIikucmVtb3ZlKCk7Y29uc3QgdD1uZXcgSTB0KHRoaXMuJC5zdmcsbi5jb2x1bW5zVmlzaWJpbGl0eS5maWx0ZXIoQm9vbGVhbikubGVuZ3RoKTt0aGlzLnNjb3BlU3VidHJlZSh0aGlzLiQuc3ZnLCEwKSx0aGlzLl9pbnRlcmFjdGlvbk1hbmFnZXI9bmV3IFIwdCh0LG4uc2NoZW1hLCh0PT50aGlzLmNsb3Nlc3RTZXNzaW9uR3JvdXBDaGFuZ2VkKHQpKSwodD0+dGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cENoYW5nZWQodCkpKX10aGlzLl9jb21wdXRlVmFsaWRTZXNzaW9uR3JvdXBzKCksdGhpcy5faW50ZXJhY3Rpb25NYW5hZ2VyLm9uT3B0aW9uc09yU2Vzc2lvbkdyb3Vwc0NoYW5nZWQodGhpcy5vcHRpb25zLHRoaXMuX3ZhbGlkU2Vzc2lvbkdyb3VwcyksdGhpcy5yZWRyYXdDb3VudCsrLHRoaXMuX3ByZXZPcHRpb25zPXRoaXMub3B0aW9uc31jbG9zZXN0U2Vzc2lvbkdyb3VwQ2hhbmdlZCh0KXt0aGlzLmNsb3Nlc3RTZXNzaW9uR3JvdXA9dH1zZWxlY3RlZFNlc3Npb25Hcm91cENoYW5nZWQodCl7dGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cD10fV9jb21wdXRlVmFsaWRTZXNzaW9uR3JvdXBzKCl7Y29uc3QgdD1RSnQ7aWYodm9pZCAwPT09dGhpcy5zZXNzaW9uR3JvdXBzKXJldHVybiB2b2lkKHRoaXMuX3ZhbGlkU2Vzc2lvbkdyb3Vwcz12b2lkIDApO2NvbnN0IGU9dGhpcy5vcHRpb25zLmNvbmZpZ3VyYXRpb24uc2NoZW1hO3RoaXMuX3ZhbGlkU2Vzc2lvbkdyb3Vwcz10aGlzLnNlc3Npb25Hcm91cHMuZmlsdGVyKChuPT57Zm9yKGxldCBpPTA7aTx0Lm51bUNvbHVtbnMoZSk7KytpKWlmKHRoaXMub3B0aW9ucy5jb25maWd1cmF0aW9uLmNvbHVtbnNWaXNpYmlsaXR5W2ldJiZ2b2lkIDA9PT10LmNvbHVtblZhbHVlQnlJbmRleChlLG4saSkpcmV0dXJuITE7cmV0dXJuITB9KSl9fTtPMHQudGVtcGxhdGU9eGVgCiAgICA8ZGl2IGlkPSJjb250YWluZXIiPgogICAgICA8c3ZnIGlkPSJzdmciPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAtLXRmLWhwYXJhbXMtcGFyYWxsZWwtY29vcmRzLXBsb3QtYXhpcy1zaGFkb3c6IDAgMXB4IDAgI2ZmZiwKICAgICAgICAgIDFweCAwIDAgI2ZmZiwgMCAtMXB4IDAgI2ZmZiwgLTFweCAwIDAgI2ZmZjsKICAgICAgfQogICAgICA6aG9zdCguZGFyay1tb2RlKSB7CiAgICAgICAgLS10Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy1wbG90LWF4aXMtc2hhZG93OiAwIDFweCAwICMwMDAsCiAgICAgICAgICAxcHggMCAwICMwMDAsIDAgLTFweCAwICMwMDAsIC0xcHggMCAwICMwMDA7CiAgICAgIH0KICAgICAgc3ZnIHsKICAgICAgICBmb250OiAxMHB4IHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5iYWNrZ3JvdW5kIHBhdGggewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgICAgc3Ryb2tlOiAjZGRkOwogICAgICAgIHNoYXBlLXJlbmRlcmluZzogY3Jpc3BFZGdlczsKICAgICAgfQoKICAgICAgLmZvcmVncm91bmQgcGF0aCB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2Utb3BhY2l0eTogMC43OwogICAgICAgIHN0cm9rZS13aWR0aDogMTsKICAgICAgfQoKICAgICAgLyogV2lsbCBiZSBzZXQgb24gZm9yZWdyb3VuZCBwYXRocyB0aGF0IGFyZSBub3QgImNvbnRhaW5lZCIgaW4gdGhlIGN1cnJlbnQKICAgICAgICAgYXhlcyBicnVzaGVzLiBJZiBubyBicnVzaGVzIGFyZSBzZXQsIG5vIHBhdGggd2lsbCBoYXZlIHRoaXMgY2xhc3MuICovCiAgICAgIC5mb3JlZ3JvdW5kIC5pbnZpc2libGUtcGF0aCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogU3R5bGUgZm9yIHRoZSBwYXRoIGNsb3Nlc3QgdG8gdGhlIG1vdXNlIHBvaW50ZXIgKHR5cGljYWxseSB3aWxsIGJlY29tZQogICAgICB0aGUgc2VsZWN0ZWQgcGF0aCB3aGVuIHRoZSB1c2VyIGNsaWNrcykuICovCiAgICAgIC5mb3JlZ3JvdW5kIC5wZWFrZWQtcGF0aCB7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAzOwogICAgICB9CgogICAgICAvKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHBhdGggY2xhc3MuIFdlIHVzZSAhaW1wb3J0YW50IHRvIG92ZXJyaWRlIHRoZQogICAgICAgICBpbmxpbmUgc3R5bGUgdGhhdCBzZXRzIHRoZSByZWd1bGFyIGNvbG9yIG9mIGEgcGF0aC4gKi8KICAgICAgLmZvcmVncm91bmQgLnNlbGVjdGVkLXBhdGggewogICAgICAgIHN0cm9rZS13aWR0aDogMyAhaW1wb3J0YW50OwogICAgICAgIHN0cm9rZTogIzBmMCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAjY29udGFpbmVyIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIHN2ZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuYXhpcyB0ZXh0IHsKICAgICAgICB0ZXh0LXNoYWRvdzogdmFyKC0tdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtcGxvdC1heGlzLXNoYWRvdyk7CiAgICAgICAgZmlsbDogY3VycmVudENvbG9yOwogICAgICAgIGN1cnNvcjogbW92ZTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxPMHQucHJvdG90eXBlLCJzZXNzaW9uR3JvdXBzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLE8wdC5wcm90b3R5cGUsIm9wdGlvbnMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLE8wdC5wcm90b3R5cGUsInNlbGVjdGVkU2Vzc2lvbkdyb3VwIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxPMHQucHJvdG90eXBlLCJjbG9zZXN0U2Vzc2lvbkdyb3VwIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLE8wdC5wcm90b3R5cGUsInJlZHJhd0NvdW50Iix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxPMHQucHJvdG90eXBlLCJfdmFsaWRTZXNzaW9uR3JvdXBzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLE8wdC5wcm90b3R5cGUsIl9pbnRlcmFjdGlvbk1hbmFnZXIiLHZvaWQgMCksdChbYSgib3B0aW9ucy4qIiwic2Vzc2lvbkdyb3Vwcy4qIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxPMHQucHJvdG90eXBlLCJfb3B0aW9uc09yU2Vzc2lvbkdyb3Vwc0NoYW5nZWQiLG51bGwpLE8wdD10KFtpKCJ0Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy1wbG90IildLE8wdCk7bGV0IHowdD1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm9wdGlvbnM9bnVsbH1fY29uZmlndXJhdGlvbkNoYW5nZWQoKXtjb25zdCB0PXRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLGU9dGhpcy5jb25maWd1cmF0aW9uLnNjaGVtYSxuPXtjb2x1bW5zOnQuaHBhcmFtSW5mb3MubWFwKCgobixpKT0+KHtuYW1lOlRKdChuKSxpbmRleDppLGFic29sdXRlSW5kZXg6Qkp0KGUsdCxpKSxzY2FsZTp0aGlzLl9pc051bWVyaWNDb2x1bW4oaSk/IkxJTkVBUiI6Ik5PTl9OVU1FUklDIn0pKSkuY29uY2F0KHQubWV0cmljSW5mb3MubWFwKCgobixpKT0+e2NvbnN0IHI9aSt0LmhwYXJhbUluZm9zLmxlbmd0aDtyZXR1cm57c2NhbGU6IkxJTkVBUiIsbmFtZTpDSnQobiksaW5kZXg6cixhYnNvbHV0ZUluZGV4OkJKdChlLHQscil9fSkpKSxtaW5Db2xvcjoiIzAwMDBGRiIsbWF4Q29sb3I6IiNGRjAwMDAiLGNvbmZpZ3VyYXRpb246dGhpcy5jb25maWd1cmF0aW9ufTt0aGlzLnNldCgib3B0aW9ucyIsbiksV2koKSx0aGlzLnNldCgib3B0aW9ucy5jb2xvckJ5Q29sdW1uSW5kZXgiLHRoaXMuX2RlZmF1bHRDb2xvckJ5Q29sdW1uSW5kZXgoKSl9X3Vuc2VsZWN0RGlzYWJsZWRMb2dTY2FsZXMoKXtudWxsIT09dGhpcy5vcHRpb25zJiZ0aGlzLm9wdGlvbnMuY29sdW1ucy5mb3JFYWNoKCh0PT57Y29uc3QgZT0ib3B0aW9ucy5jb2x1bW5zLiIrdC5pbmRleDt0aGlzLl9hbGxvd0xvZ1NjYWxlKHQpfHwiTE9HIiE9PXQuc2NhbGV8fHRoaXMuc2V0KGUrIi5zY2FsZSIsIkxJTkVBUiIpfSkpfV9hbGxvd0xvZ1NjYWxlKHQpe2lmKCF0aGlzLl9pc051bWVyaWNDb2x1bW4odC5pbmRleCl8fCF0aGlzLnNlc3Npb25Hcm91cHMpcmV0dXJuITE7Y29uc3RbZSxuXT1WSnQodGhpcy5jb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWEsdGhpcy5zZXNzaW9uR3JvdXBzLHQuaW5kZXgpO3JldHVybiBlPjB8fG48MH1faXNOdW1lcmljQ29sdW1uKHQpe3JldHVybiB0Pj10aGlzLmNvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYS5ocGFyYW1JbmZvcy5sZW5ndGh8fCJEQVRBX1RZUEVfRkxPQVQ2NCI9PT10aGlzLmNvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYS5ocGFyYW1JbmZvc1t0XS50eXBlfV9kZWZhdWx0Q29sb3JCeUNvbHVtbkluZGV4KCl7aWYodGhpcy5jb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWEubWV0cmljSW5mb3MubGVuZ3RoPjApcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zLmxlbmd0aDtjb25zdCB0PXRoaXMuY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hLmhwYXJhbUluZm9zLmZpbmRJbmRleCgodD0+IkRBVEFfVFlQRV9GTE9BVDY0Ij09PXQudHlwZSkpO3JldHVybi0xIT09dD90OnZvaWQgMH19O3owdC50ZW1wbGF0ZT14ZWAKICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtcGFuZWwiPgogICAgICA8IS0tICdDb2xvciBieScgZHJvcCBkb3duIG1lbnUgLS0+CiAgICAgIDxwYXBlci1kcm9wZG93bi1tZW51CiAgICAgICAgbGFiZWw9IkNvbG9yIGJ5IgogICAgICAgIGlkPSJjb2xvckJ5RHJvcERvd25NZW51IgogICAgICAgIGhvcml6b250YWwtYWxpZ249ImxlZnQiCiAgICAgID4KICAgICAgICA8cGFwZXItbGlzdGJveAogICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICBzbG90PSJkcm9wZG93bi1jb250ZW50IgogICAgICAgICAgc2VsZWN0ZWQ9Int7b3B0aW9ucy5jb2xvckJ5Q29sdW1uSW5kZXh9fSIKICAgICAgICAgIGlkPSJjb2xvckJ5TGlzdEJveCIKICAgICAgICA+CiAgICAgICAgICA8dGVtcGxhdGUKICAgICAgICAgICAgaXM9ImRvbS1yZXBlYXQiCiAgICAgICAgICAgIGl0ZW1zPSJbW29wdGlvbnMuY29sdW1uc11dIgogICAgICAgICAgICBhcz0iY29sdW1uIgogICAgICAgICAgICBpZD0iY29sb3JCeUNvbHVtblRlbXBsYXRlIgogICAgICAgICAgPgogICAgICAgICAgICA8cGFwZXItaXRlbSBkaXNhYmxlZD0iW1shX2lzTnVtZXJpY0NvbHVtbihjb2x1bW4uaW5kZXgpXV0iPgogICAgICAgICAgICAgIFtbY29sdW1uLm5hbWVdXQogICAgICAgICAgICA8L3BhcGVyLWl0ZW0+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvcGFwZXItbGlzdGJveD4KICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgoKICAgICAgPCEtLSBDb2x1bW5zIHNjYWxlcyAtLT4KICAgICAgPGRpdiBjbGFzcz0iY29sdW1ucy1jb250YWluZXIiPgogICAgICAgIDwhLS0gU2NhbGUgb3B0aW9ucyBmb3IgZWFjaCBudW1lcmljIGZlYXR1cmUgLS0+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0ie3tvcHRpb25zLmNvbHVtbnN9fSIgYXM9ImNvbHVtbiI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2lzTnVtZXJpY0NvbHVtbihjb2x1bW4uaW5kZXgpXV0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2x1bW4iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbHVtbi10aXRsZSI+W1tjb2x1bW4ubmFtZV1dPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxwYXBlci1yYWRpby1ncm91cAogICAgICAgICAgICAgICAgICBjbGFzcz0ic2NhbGUtcmFkaW8tZ3JvdXAiCiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPSJ7e2NvbHVtbi5zY2FsZX19IgogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIG5hbWU9IkxJTkVBUiI+CiAgICAgICAgICAgICAgICAgICAgTGluZWFyCiAgICAgICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgICAgICAgICA8IS0tIFRoZSBpZCBoZXJlIGlzIHVzZWQgdG8gYWNjZXNzIHRoaXMgYnV0dG9uIGluIHVuaXQKICAgICAgICAgICAgICAgICAgICAgICB0ZXN0cy4tLT4KICAgICAgICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbgogICAgICAgICAgICAgICAgICAgIGlkPSJsb2dTY2FsZUJ1dHRvbl9bW2NvbHVtbi5uYW1lXV0iCiAgICAgICAgICAgICAgICAgICAgbmFtZT0iTE9HIgogICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPSJbWyFfYWxsb3dMb2dTY2FsZShjb2x1bW4sIHNlc3Npb25Hcm91cHMuKildXSIKICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgIExvZ2FyaXRobWljCiAgICAgICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIG5hbWU9IlFVQU5USUxFIj4KICAgICAgICAgICAgICAgICAgICBRdWFudGlsZQogICAgICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWJ1dHRvbj4KICAgICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tZ3JvdXA+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxzdHlsZT4KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC5jb250cm9sLXBhbmVsIHsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgfQogICAgICAuY29sdW1uIHsKICAgICAgICBmbGV4LWdyb3c6IDE7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggZGFya2dyYXk7CiAgICAgICAgcGFkZGluZzogM3B4OwogICAgICB9CiAgICAgIC5jb2x1bW4tdGl0bGUgewogICAgICAgIC8qIEZpdCBldmVyeSB0aXRsZSBpbiBvbmUgbGluZSBzbyB0aGUgcmFkaW8gYm94ZXMgYWxpZ24gdmVydGljYWxseS4gKi8KICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CiAgICAgIC5jb2x1bW5zLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICB9CiAgICAgIC5zY2FsZS1yYWRpby1ncm91cCBwYXBlci1yYWRpby1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDJweDsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICBwYXBlci1saXN0Ym94IHsKICAgICAgICBtYXgtaGVpZ2h0OiAxNWVtOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sejB0LnByb3RvdHlwZSwiY29uZmlndXJhdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sejB0LnByb3RvdHlwZSwic2Vzc2lvbkdyb3VwcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sejB0LnByb3RvdHlwZSwib3B0aW9ucyIsdm9pZCAwKSx0KFthKCJjb25maWd1cmF0aW9uLioiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLHowdC5wcm90b3R5cGUsIl9jb25maWd1cmF0aW9uQ2hhbmdlZCIsbnVsbCksdChbYSgic2Vzc2lvbkdyb3Vwcy4qIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSx6MHQucHJvdG90eXBlLCJfdW5zZWxlY3REaXNhYmxlZExvZ1NjYWxlcyIsbnVsbCksejB0PXQoW2koInRmLWhwYXJhbXMtc2NhbGUtYW5kLWNvbG9yLWNvbnRyb2xzIildLHowdCk7bGV0IEQwdD1jbGFzcyBleHRlbmRzIHdle19jbG9zZXN0T3JTZWxlY3RlZCh0LGUpe3JldHVybiBudWxsIT09dD90OmV9fTtEMHQudGVtcGxhdGU9eGVgCiAgICA8IS0tIENvbnRyb2xzIGJlaGF2aW9yIG9mIHBhcmFsbGVsIGNvb3JkaW5hdGVzIHBsb3QKICAgICAgICAgb3V0cHV0cyBzZXQgb3B0aW9ucyB0byB0aGUgX29wdGlvbnMgcHJvcGVydHkuCiAgICAgIC0tPgogICAgPGhwYXJhbXMtc3BsaXQtbGF5b3V0IG9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCI+CiAgICAgIDwhLS0gVGhlIHNjYWxlIGFuZCBjb2xvciBjb250cm9scy4gLS0+CiAgICAgIDx0Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scwogICAgICAgIGlkPSJjb250cm9scyIKICAgICAgICBzbG90PSJjb250ZW50IgogICAgICAgIGNsYXNzPSJzZWN0aW9uIgogICAgICAgIGNvbmZpZ3VyYXRpb249IltbY29uZmlndXJhdGlvbl1dIgogICAgICAgIHNlc3Npb24tZ3JvdXBzPSJbW3Nlc3Npb25Hcm91cHNdXSIKICAgICAgICBvcHRpb25zPSJ7e19vcHRpb25zfX0iCiAgICAgID4KICAgICAgPC90Zi1ocGFyYW1zLXNjYWxlLWFuZC1jb2xvci1jb250cm9scz4KICAgICAgPCEtLSBUaGUgYWN0dWFsIHBhcmFsbGVsIGNvb3JkaW5hdGVzIHBsb3QgLS0+CiAgICAgIDx0Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy1wbG90CiAgICAgICAgaWQ9InBsb3QiCiAgICAgICAgc2xvdD0iY29udGVudCIKICAgICAgICBjbGFzcz0ic2VjdGlvbiIKICAgICAgICBzZXNzaW9uLWdyb3Vwcz0iW1tzZXNzaW9uR3JvdXBzXV0iCiAgICAgICAgc2VsZWN0ZWQtc2Vzc2lvbi1ncm91cD0ie3tfc2VsZWN0ZWRHcm91cH19IgogICAgICAgIGNsb3Nlc3Qtc2Vzc2lvbi1ncm91cD0ie3tfY2xvc2VzdEdyb3VwfX0iCiAgICAgICAgb3B0aW9ucz0iW1tfb3B0aW9uc11dIgogICAgICA+CiAgICAgIDwvdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtcGxvdD4KICAgICAgPHRmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC12YWx1ZXMKICAgICAgICBpZD0idmFsdWVzIgogICAgICAgIHNsb3Q9ImNvbnRlbnQiCiAgICAgICAgY2xhc3M9InNlY3Rpb24iCiAgICAgICAgdmlzaWJsZS1zY2hlbWE9IltbY29uZmlndXJhdGlvbi52aXNpYmxlU2NoZW1hXV0iCiAgICAgICAgc2Vzc2lvbi1ncm91cD0iW1tfY2xvc2VzdE9yU2VsZWN0ZWQoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2Nsb3Nlc3RHcm91cCwgX3NlbGVjdGVkR3JvdXApXV0iCiAgICAgID4KICAgICAgPC90Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtdmFsdWVzPgogICAgICA8dGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMKICAgICAgICBpZD0iZGV0YWlscyIKICAgICAgICBzbG90PSJjb250ZW50IgogICAgICAgIGNsYXNzPSJzZWN0aW9uIgogICAgICAgIGJhY2tlbmQ9IltbYmFja2VuZF1dIgogICAgICAgIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIgogICAgICAgIHNlc3Npb24tZ3JvdXA9IltbX3NlbGVjdGVkR3JvdXBdXSIKICAgICAgICB2aXNpYmxlLXNjaGVtYT0iW1tjb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWFdXSIKICAgICAgPgogICAgICA8L3RmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC1kZXRhaWxzPgogICAgPC9ocGFyYW1zLXNwbGl0LWxheW91dD4KCiAgICA8c3R5bGU+CiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICB9CiAgICAgICN2YWx1ZXMgewogICAgICAgIGhlaWdodDogMTE1cHg7CiAgICAgIH0KICAgICAgI2RldGFpbHMgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEQwdC5wcm90b3R5cGUsImJhY2tlbmQiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRDB0LnByb3RvdHlwZSwiZXhwZXJpbWVudE5hbWUiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sRDB0LnByb3RvdHlwZSwiY29uZmlndXJhdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sRDB0LnByb3RvdHlwZSwic2Vzc2lvbkdyb3VwcyIsdm9pZCAwKSxEMHQ9dChbaSgidGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtdmlldyIpXSxEMHQpO2xldCBCMHQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnNlbGVjdGVkU2Vzc2lvbkdyb3VwPW51bGwsdGhpcy5jbG9zZXN0U2Vzc2lvbkdyb3VwPW51bGwsdGhpcy5fY29udGFpbmVyPW51bGwsdGhpcy5fc3ZnPW51bGwsdGhpcy53aWR0aD0wLHRoaXMuaGVpZ2h0PTAsdGhpcy5fYnJ1c2hlZENlbGxJbmRleD1udWxsLHRoaXMuX2JydXNoU2VsZWN0aW9uPW51bGx9cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMuX2NvbnRhaW5lcj10aGlzLiQuY29udGFpbmVyLHRoaXMuX3N2Zz1EdSh0aGlzLiQuc3ZnKSx0aGlzLl9yZWRyYXcoKX1fc2Vzc2lvbkdyb3Vwc0NoYW5nZWQoKXtudWxsIT09dGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cCYmKHRoaXMuc2VsZWN0ZWRTZXNzaW9uR3JvdXA9VUp0KHRoaXMuc2Vzc2lvbkdyb3Vwcyx0aGlzLnNlbGVjdGVkU2Vzc2lvbkdyb3VwLm5hbWUpfHxudWxsKSx0aGlzLl9yZWRyYXcoKX1fdmlzaWJsZVNjaGVtYUNoYW5nZWQoKXt0aGlzLl9icnVzaGVkQ2VsbEluZGV4PW51bGwsdGhpcy5fYnJ1c2hTZWxlY3Rpb249bnVsbCx0aGlzLl9yZWRyYXcoKX1fcmVkcmF3KCl7dGhpcy5kZWJvdW5jZSgiX3JlZHJhdyIsKCgpPT57Y29uc3QgdD1RSnQ7dGhpcy53aWR0aD1NYXRoLm1heCgxNTAqdC5udW1WaXNpYmxlQ29sdW1ucyh0aGlzLnZpc2libGVTY2hlbWEpLDEyMDApLHRoaXMuaGVpZ2h0PU1hdGgubWF4KDExMi41KnQubnVtVmlzaWJsZU1ldHJpY3ModGhpcy52aXNpYmxlU2NoZW1hKSw0ODApLHRoaXMuX2NvbnRhaW5lci5zdHlsZS53aWR0aD10aGlzLndpZHRoKyJweCIsdGhpcy5fY29udGFpbmVyLnN0eWxlLmhlaWdodD10aGlzLmhlaWdodCsicHgiLHRoaXMuX3N2Zy5hdHRyKCJ3aWR0aCIsdGhpcy53aWR0aCkuYXR0cigiaGVpZ2h0Iix0aGlzLmhlaWdodCksdGhpcy5fc3ZnLnNlbGVjdEFsbCgiZyIpLnJlbW92ZSgpLHRoaXMuX2RyYXcoKX0pLDEwMCl9X2RyYXcoKXtjb25zdCB0PVFKdCxlPXRoaXM7aWYoIXRoaXMuc2Vzc2lvbkdyb3Vwc3x8MD09dGhpcy5zZXNzaW9uR3JvdXBzLmxlbmd0aHx8IXRoaXMudmlzaWJsZVNjaGVtYXx8MD09dGhpcy52aXNpYmxlU2NoZW1hLm1ldHJpY0luZm9zLmxlbmd0aClyZXR1cm47Y29uc3Qgbj1LbCh0Lm51bVZpc2libGVDb2x1bW5zKGUudmlzaWJsZVNjaGVtYSkpLGk9S2wodC5udW1WaXNpYmxlTWV0cmljcyhlLnZpc2libGVTY2hlbWEpKSxyPTgwLG89NTAsYT1YTSgpLmRvbWFpbihuKS5yYW5nZShbODUsdGhpcy53aWR0aC0xLTVdKS5wYWRkaW5nSW5uZXIoLjEpLHM9WE0oKS5kb21haW4oaSkucmFuZ2UoW3RoaXMuaGVpZ2h0LTEtNS1vLDVdKS5wYWRkaW5nSW5uZXIoLjEpLGw9YS5iYW5kd2lkdGgoKSxjPXMuYmFuZHdpZHRoKCksdT1uLm1hcCgodD0+ZS5fY2VsbFNjYWxlKHQsWzAsbC0xXSkpKSxoPWkubWFwKChuPT5lLl9jZWxsU2NhbGUobit0Lm51bVZpc2libGVIUGFyYW1zKGUudmlzaWJsZVNjaGVtYSksW2MtMSwwXSkpKSxkPXRoaXMuX3N2Zy5zZWxlY3RBbGwoIi54LWF4aXMiKS5kYXRhKG4pLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgieC1heGlzIiwhMCkuYXR0cigidHJhbnNmb3JtIiwoZT0+dC50cmFuc2xhdGVTdHIoYShlKSwwKSkpO2Z1bmN0aW9uIHAodCl7cmV0dXJuIngtYXhpcy1jbGlwLXBhdGgtIit0fWZ1bmN0aW9uIGYodCl7cmV0dXJuIngtbGFiZWwtY2xpcC1wYXRoLSIrdH1kLmFwcGVuZCgiY2xpcFBhdGgiKS5hdHRyKCJpZCIscCkuYXBwZW5kKCJyZWN0IikuYXR0cigieCIsLTUpLmF0dHIoInkiLDApLmF0dHIoIndpZHRoIixsKzEwKS5hdHRyKCJoZWlnaHQiLGUuaGVpZ2h0LTI1KSxkLmFwcGVuZCgiY2xpcFBhdGgiKS5hdHRyKCJpZCIsZikuYXBwZW5kKCJyZWN0IikuYXR0cigieCIsMCkuYXR0cigieSIsZS5oZWlnaHQtMjUpLmF0dHIoIndpZHRoIixsKS5hdHRyKCJoZWlnaHQiLDI1KSxkLmFwcGVuZCgiZyIpLmF0dHIoImNsaXAtcGF0aCIsKHQ9PiJ1cmwoIyIrcCh0KSsiKSIpKS5lYWNoKChmdW5jdGlvbih0KXtEdSh0aGlzKS5jYWxsKHksdmModVt0XSkudGlja1NpemUoZS5oZWlnaHQtbyksbCw0MCxlLm9wdGlvbnMuY29sdW1uc1t0XS5zY2FsZSl9KSksZC5hcHBlbmQoImciKS5jbGFzc2VkKCJ4LWF4aXMtbGFiZWwiLCEwKS5hdHRyKCJjbGlwLXBhdGgiLCh0PT4idXJsKCMiK2YodCkrIikiKSkuYXBwZW5kKCJ0ZXh0IikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKS5hdHRyKCJ4IixsLzIpLmF0dHIoInkiLGUuaGVpZ2h0LTEtMTIuNSkudGV4dCgobj0+dC5zY2hlbWFWaXNpYmxlQ29sdW1uTmFtZShlLnZpc2libGVTY2hlbWEsbikpKS5hcHBlbmQoInRpdGxlIikudGV4dCgobj0+dC5zY2hlbWFWaXNpYmxlQ29sdW1uTmFtZShlLnZpc2libGVTY2hlbWEsbikpKTtjb25zdCBtPXRoaXMuX3N2Zy5zZWxlY3RBbGwoIi55LWF4aXMiKS5kYXRhKGkpLmVudGVyKCkuYXBwZW5kKCJnIikuY2xhc3NlZCgieS1heGlzIiwhMCkuYXR0cigidHJhbnNmb3JtIiwobj0+dC50cmFuc2xhdGVTdHIoZS53aWR0aC0xLHMobikpKSk7ZnVuY3Rpb24gZyh0KXtyZXR1cm4ieS1heGlzLWNsaXAtcGF0aC0iK3R9ZnVuY3Rpb24gXyh0KXtyZXR1cm4ieS1sYWJlbC1jbGlwLXBhdGgtIit0fWZ1bmN0aW9uIHkodCxlLG4saSxyKXtjb25zdCBvPU1hdGguZmxvb3Iobi9pKSxhPWUuc2NhbGUoKTtpZigiUVVBTlRJTEUiPT09cil7bGV0IHQ9YS5xdWFudGlsZXMoKTtjb25zdCBuPU1hdGguY2VpbCh0Lmxlbmd0aC9vKTt0PUtsKDAsdC5sZW5ndGgsbikubWFwKChlPT50W2VdKSksZS50aWNrVmFsdWVzKHQpLnRpY2tGb3JtYXQoRHkoIi0uMmciKSl9IkxJTkVBUiIhPT1yJiYiTE9HIiE9PXJ8fGUudGlja3MobyksdC5jYWxsKGUpLHQuc2VsZWN0QWxsKCIuZG9tYWluIikucmVtb3ZlKCksdC5zZWxlY3RBbGwoIi50aWNrIGxpbmUiKS5hdHRyKCJzdHJva2UiLCIjZGRkIil9bS5hcHBlbmQoImNsaXBQYXRoIikuYXR0cigiaWQiLGcpLmFwcGVuZCgicmVjdCIpLmF0dHIoIngiLC0oZS53aWR0aC00MC0xKSkuYXR0cigieSIsLTUpLmF0dHIoIndpZHRoIixlLndpZHRoLTQwKS5hdHRyKCJoZWlnaHQiLGMrMTApLG0uYXBwZW5kKCJjbGlwUGF0aCIpLmF0dHIoImlkIixfKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJ4IiwtKGUud2lkdGgtMSkpLmF0dHIoInkiLDApLmF0dHIoIndpZHRoIiw0MCkuYXR0cigiaGVpZ2h0IixjKSxtLmFwcGVuZCgiZyIpLmF0dHIoImNsaXAtcGF0aCIsKHQ9PiJ1cmwoIyIrZyh0KSsiKSIpKS5lYWNoKChmdW5jdGlvbihuKXtEdSh0aGlzKS5jYWxsKHksYmMoaFtuXSkudGlja1NpemUoZS53aWR0aC1yKSxjLDIwLGUub3B0aW9ucy5jb2x1bW5zW24rdC5udW1WaXNpYmxlSFBhcmFtcyhlLnZpc2libGVTY2hlbWEpXS5zY2FsZSl9KSksbS5hcHBlbmQoImciKS5jbGFzc2VkKCJ5LWF4aXMtbGFiZWwiLCEwKS5hdHRyKCJjbGlwLXBhdGgiLCh0PT4idXJsKCMiK18odCkrIikiKSkuYXBwZW5kKCJ0ZXh0IikuYXR0cigidGV4dC1hbmNob3IiLCJtaWRkbGUiKS5hdHRyKCJ4IiwtKGUud2lkdGgtMjAtMSkpLmF0dHIoInkiLGMvMikuYXR0cigidHJhbnNmb3JtIix0LnJvdGF0ZVN0cig5MCwtKGUud2lkdGgtMjAtMSksYy8yKSkudGV4dCgobj0+dC5tZXRyaWNOYW1lKGUudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvc1tuXSkpKS5hcHBlbmQoInRpdGxlIikudGV4dCgobj0+dC5tZXRyaWNOYW1lKGUudmlzaWJsZVNjaGVtYS5tZXRyaWNJbmZvc1tuXSkpKTtjb25zdCB2PXRoaXMuX3N2Zy5zZWxlY3RBbGwoIi5jZWxsIikuZGF0YShGbChuLGkpKS5lbnRlcigpLmFwcGVuZCgiZyIpLmNsYXNzZWQoImNlbGwiLCEwKS5hdHRyKCJ0cmFuc2Zvcm0iLCgoW2Usbl0pPT50LnRyYW5zbGF0ZVN0cihhKGUpLHMobikpKSk7di5hcHBlbmQoImciKS5jbGFzc2VkKCJmcmFtZSIsITApLmFwcGVuZCgicmVjdCIpLmF0dHIoIngiLC01KS5hdHRyKCJ5IiwtNSkuYXR0cigid2lkdGgiLGwrMTApLmF0dHIoImhlaWdodCIsYysxMCkuYXR0cigic3Ryb2tlIiwiIzAwMCIpLmF0dHIoImZpbGwiLCJub25lIikuYXR0cigic2hhcGUtcmVuZGVyaW5nIiwiY3Jpc3BFZGdlcyIpO2xldCBiPW51bGw7dm9pZCAwIT09ZS5vcHRpb25zLmNvbG9yQnlDb2x1bW5JbmRleCYmKGI9Y0UoKS5kb21haW4odGhpcy5fY29sRXh0ZW50KHRoaXMub3B0aW9ucy5jb2xvckJ5Q29sdW1uSW5kZXgpKS5yYW5nZShbdGhpcy5vcHRpb25zLm1pbkNvbG9yLHRoaXMub3B0aW9ucy5tYXhDb2xvcl0pLmludGVycG9sYXRlKGtwKSk7Y29uc3QgeD12b2lkIDA9PT1lLm9wdGlvbnMuY29sb3JCeUNvbHVtbkluZGV4PygpPT4icmVkIjooe3Nlc3Npb25Hcm91cDp0fSk9PmIodGhpcy5fY29sVmFsdWUodCxlLm9wdGlvbnMuY29sb3JCeUNvbHVtbkluZGV4KSk7ZnVuY3Rpb24gdyh0LG4pe3JldHVybiB1W25dKGUuX2NvbFZhbHVlKHQsbikpfWZ1bmN0aW9uIFModCxuKXtyZXR1cm4gaFtuXShlLl9tZXRyaWNWYWx1ZSh0LG4pKX1jb25zdFtNLEUsVF09KGZ1bmN0aW9uIEModCxyKXtjb25zdCBvPXQuc2VsZWN0QWxsKCIuZGF0YS1tYXJrZXIiKS5kYXRhKCgoW3Qsbl0pPT5lLnNlc3Npb25Hcm91cHMuZmlsdGVyKChpPT52b2lkIDAhPT1lLl9jb2xWYWx1ZShpLHQpJiZ2b2lkIDAhPT1lLl9tZXRyaWNWYWx1ZShpLG4pKSkubWFwKChlPT4oe2NvbDp0LG1ldHJpYzpuLHNlc3Npb25Hcm91cDplLHg6dyhlLHQpLHk6UyhlLG4pLHNlc3Npb25Hcm91cE1hcmtlcnM6bnVsbH0pKSkpKS5lbnRlcigpLmFwcGVuZCgiY2lyY2xlIikuY2xhc3NlZCgiZGF0YS1tYXJrZXIiLCEwKS5hdHRyKCJjeCIsKCh7eDp0fSk9PnQpKS5hdHRyKCJjeSIsKCh7eTp0fSk9PnQpKS5hdHRyKCJyIiwyKS5hdHRyKCJmaWxsIixyKSxhPW5ldyBNYXA7ZS5zZXNzaW9uR3JvdXBzLmZvckVhY2goKHQ9PnthLnNldCh0LFtdKX0pKSxvLmVhY2goKGZ1bmN0aW9uKHQpe2EuZ2V0KHQuc2Vzc2lvbkdyb3VwKS5wdXNoKHRoaXMpfSkpLG8uZWFjaCgodD0+e2NvbnN0IGU9YS5nZXQodC5zZXNzaW9uR3JvdXApO3Quc2Vzc2lvbkdyb3VwTWFya2Vycz1uZXcgU2V0KGUpfSkpO2NvbnN0IHM9bi5tYXAoKHQ9PmkubWFwKChlPT5vLmZpbHRlcigobj0+bi5jb2w9PXQmJm4ubWV0cmljPT1lKSkpKSkpO3JldHVybltvLHMsYV19KSh2LmFwcGVuZCgiZyIpLHgpO2NvbnN0IEE9bi5tYXAoKHQ9PmkubWFwKChlPT4oZnVuY3Rpb24gbih0LGUpe2NvbnN0IG49W107cmV0dXJuIEVbdF1bZV0uZWFjaCgoZnVuY3Rpb24oKXtuLnB1c2godGhpcyl9KSksdHkoKS54KCh0PT5EdSh0KS5kYXR1bSgpLngpKS55KCh0PT5EdSh0KS5kYXR1bSgpLnkpKS5hZGRBbGwobil9KSh0LGUpKSkpKTtsZXQgaz1udWxsO1IoKSYmKGs9di5maWx0ZXIoKHQ9PkNlLmV4cG9ydHMuaXNFcXVhbCh0LGUuX2JydXNoZWRDZWxsSW5kZXgpKSksY29uc29sZS5hc3NlcnQoMT09ay5zaXplKCksaykpO2xldCBMPW5ldyBTZXQoTS5ub2RlcygpKTtmdW5jdGlvbiBQKCl7bGV0IG49bmV3IFNldChNLm5vZGVzKCkpOyhmdW5jdGlvbiBpKCl7cmV0dXJuIVIoKXx8ZS5fYnJ1c2hTZWxlY3Rpb25bMF1bMF09PT1lLl9icnVzaFNlbGVjdGlvblsxXVswXXx8ZS5fYnJ1c2hTZWxlY3Rpb25bMF1bMV09PT1lLl9icnVzaFNlbGVjdGlvblsxXVsxXX0pKCl8fChuPShmdW5jdGlvbiByKGUsbil7Y29uc29sZS5hc3NlcnQobnVsbCE9PWUpLGNvbnNvbGUuYXNzZXJ0KG51bGwhPT1uKTtjb25zdFtpLHJdPWUsbz1uZXcgU2V0O3JldHVybiB0LnF1YWRUcmVlVmlzaXRQb2ludHNJblJlY3QoQVtpXVtyXSxuWzBdWzBdLG5bMF1bMV0sblsxXVswXSxuWzFdWzFdLCh0PT57RHUodCkuZGF0dW0oKS5zZXNzaW9uR3JvdXBNYXJrZXJzLmZvckVhY2goKHQ9PntvLmFkZCh0KX0pKX0pKSxvfSkoZS5fYnJ1c2hlZENlbGxJbmRleCxlLl9icnVzaFNlbGVjdGlvbikpLHhoKEFycmF5LmZyb20odC5maWx0ZXJTZXQobiwodD0+IUwuaGFzKHQpKSkpKS5hdHRyKCJmaWxsIix4KSx4aChBcnJheS5mcm9tKHQuZmlsdGVyU2V0KEwsKHQ9PiFuLmhhcyh0KSkpKSkuYXR0cigiZmlsbCIsIiNkZGQiKSxMPW59UCgpO2NvbnN0IE49dmcoKS5leHRlbnQoW1stNCwtNF0sW2wtMSs1LTEsYy0xKzUtMV1dKS5vbigic3RhcnQiLChmdW5jdGlvbigpe1IoKSYmay5ub2RlKCkhPXRoaXMmJk4ubW92ZShrLG51bGwpLEkodGhpcyl9KSkub24oImJydXNoIiwoZnVuY3Rpb24oKXtJKHRoaXMpfSkpLm9uKCJlbmQiLChmdW5jdGlvbigpe0kodGhpcyl9KSk7ZnVuY3Rpb24gSSh0KXtjb25zdCBuPV9nKHQpOyFSKCkmJm51bGw9PT1ufHxSKCkmJnQ9PT1rLm5vZGUoKSYmQ2UuZXhwb3J0cy5pc0VxdWFsKG4sZS5fYnJ1c2hTZWxlY3Rpb24pfHwoZS5fYnJ1c2hTZWxlY3Rpb249bixudWxsIT09bj8oaz1EdSh0KSxlLl9icnVzaGVkQ2VsbEluZGV4PWsuZGF0dW0oKSk6KGs9bnVsbCxlLl9icnVzaGVkQ2VsbEluZGV4PW51bGwpLFAoKSl9ZnVuY3Rpb24gUigpe3JldHVybiBudWxsIT09ZS5fYnJ1c2hlZENlbGxJbmRleCYmbnVsbCE9PWUuX2JydXNoU2VsZWN0aW9ufXYuY2FsbChOKSxSKCkmJk4ubW92ZShrLGUuX2JydXNoU2VsZWN0aW9uKTtsZXQgTz1udWxsLHo9bnVsbDtudWxsIT09dGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cCYmKHo9eGgoVC5nZXQodGhpcy5zZWxlY3RlZFNlc3Npb25Hcm91cCkpLmNsYXNzZWQoInNlbGVjdGVkLW1hcmtlciIsITApKSx2Lm9uKCJjbGljayIsKGZ1bmN0aW9uKCl7Y29uc3QgdD1PPT09ej9udWxsOk87aWYodD09PXopcmV0dXJuO251bGwhPT16JiZ6LmNsYXNzZWQoInNlbGVjdGVkLW1hcmtlciIsITEpLHo9dCxudWxsIT09eiYmei5jbGFzc2VkKCJzZWxlY3RlZC1tYXJrZXIiLCEwKTtjb25zdCBuPW51bGw9PT16P251bGw6ei5kYXR1bSgpLnNlc3Npb25Hcm91cDtlLnNlbGVjdGVkU2Vzc2lvbkdyb3VwPW59KSkub24oIm1vdXNlbW92ZSBtb3VzZWVudGVyIiwoZnVuY3Rpb24oW24saV0pe2NvbnN0W3Isb109YmgodGhpcyksYT0oZnVuY3Rpb24gcyhlLG4saSxyLG8pe2xldCBhPTEvMCxzPW51bGw7aWYodC5xdWFkVHJlZVZpc2l0UG9pbnRzSW5EaXNrKEFbZV1bbl0saSxyLG8sKCh0LGUpPT57aWYoTC5oYXModCkmJmU8YSl7Y29uc3Qgbj1EdSh0KS5kYXR1bSgpO2E9ZSxzPW4uc2Vzc2lvbkdyb3VwfX0pKSxudWxsPT09cylyZXR1cm4gbnVsbDtyZXR1cm4geGgoVC5nZXQocykpfSkobixpLHIsbywyMCk7TyE9PWEmJihudWxsIT09TyYmTy5jbGFzc2VkKCJjbG9zZXN0LW1hcmtlciIsITEpLE89YSxudWxsIT09Tz8oTy5jbGFzc2VkKCJjbG9zZXN0LW1hcmtlciIsITApLGUuY2xvc2VzdFNlc3Npb25Hcm91cD1PLmRhdHVtKCkuc2Vzc2lvbkdyb3VwKTplLmNsb3Nlc3RTZXNzaW9uR3JvdXA9bnVsbCl9KSkub24oIm1vdXNlbGVhdmUiLChmdW5jdGlvbihbdCxuXSl7bnVsbCE9PU8mJihPLmNsYXNzZWQoImNsb3Nlc3QtbWFya2VyIiwhMSksTz1udWxsLGUuY2xvc2VzdFNlc3Npb25Hcm91cD1udWxsKX0pKSx0aGlzLl9zdmcuc2VsZWN0QWxsKCIqIikuY2xhc3NlZCgidGYtaHBhcmFtcy1zY2F0dGVyLXBsb3QtbWF0cml4LXBsb3QiLCEwKX1fY2VsbFNjYWxlKHQsZSl7Y29uc3Qgbj10aGlzLl9jb2xFeHRlbnQodCksaT1jRSgpLmRvbWFpbihuKS5yYW5nZShlKTtpZigiTElORUFSIj09PXRoaXMub3B0aW9ucy5jb2x1bW5zW3RdLnNjYWxlKXJldHVybiBpO2lmKCJMT0ciPT09dGhpcy5vcHRpb25zLmNvbHVtbnNbdF0uc2NhbGUpcmV0dXJuIG5bMF08PTAmJm5bMV0+PTA/aTp5RSgpLmRvbWFpbihuKS5yYW5nZShlKTtpZigiUVVBTlRJTEUiPT09dGhpcy5vcHRpb25zLmNvbHVtbnNbdF0uc2NhbGUpe2NvbnN0IG49KGVbMV0tZVswXSkvMTksaT1LbCgyMCkubWFwKCh0PT5lWzBdK24qdCkpO3JldHVybiBDRSgpLmRvbWFpbihDZS5leHBvcnRzLnVuaXEodGhpcy5zZXNzaW9uR3JvdXBzLm1hcCgoZT0+dGhpcy5fY29sVmFsdWUoZSx0KSkpKSkucmFuZ2UoaSl9aWYoIk5PTl9OVU1FUklDIj09PXRoaXMub3B0aW9ucy5jb2x1bW5zW3RdLnNjYWxlKXJldHVybiBLTSgpLmRvbWFpbihDZS5leHBvcnRzLnVuaXEodGhpcy5zZXNzaW9uR3JvdXBzLm1hcCgoZT0+dGhpcy5fY29sVmFsdWUoZSx0KSkpLnNvcnQoKSkpLnJhbmdlKGUpLnBhZGRpbmcoLjEpO3Rocm93IlVua25vd24gc2NhbGUgZm9yIGNvbHVtbjogIit0KyIuIG9wdGlvbnM6ICIrdGhpcy5vcHRpb25zfV9jb2xWYWx1ZSh0LGUpe3JldHVybiBXSnQodGhpcy52aXNpYmxlU2NoZW1hLHQsZSl9X21ldHJpY1ZhbHVlKHQsZSl7cmV0dXJuIEdKdCh0aGlzLnZpc2libGVTY2hlbWEsdCxlKX1fY29sRXh0ZW50KHQpe3JldHVybiBWSnQodGhpcy52aXNpYmxlU2NoZW1hLHRoaXMuc2Vzc2lvbkdyb3Vwcyx0KX19O0IwdC50ZW1wbGF0ZT14ZWAKICAgIDxkaXYgaWQ9ImNvbnRhaW5lciI+CiAgICAgIDxzdmcgaWQ9InN2ZyI+PC9zdmc+CiAgICA8L2Rpdj4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICBzdmcgewogICAgICAgIGZvbnQ6IDEwcHggc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgdGV4dCB7CiAgICAgICAgZmlsbDogY3VycmVudENvbG9yOwogICAgICB9CgogICAgICAuZnJhbWUgcmVjdCB7CiAgICAgICAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7CiAgICAgIH0KCiAgICAgIC8qIFRoZSBjbG9zZXN0IGRhdGEgcG9pbnQgbWFya2VyIHRvIHRoZSBtb3VzZSBwb2ludGVyLiBXZSB1c2UgIWltcG9ydGFudAogICAgICAgICB0byBvdmVycmlkZSB0aGUgaW5saW5lIHN0eWxlIHRoYXQgc2V0cyB0aGUgcmVndWxhciBzdHlsZSBvZiBhIG1hcmtlci4KICAgICAgKi8KICAgICAgLmNsb3Nlc3QtbWFya2VyIHsKICAgICAgICByOiA2ICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC8qIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZGF0YSBwb2ludCBtYXJrZXIuIFdlIHVzZSAhaW1wb3J0YW50IHRvCiAgICAgICAgIG92ZXJyaWRlIHRoZSBpbmxpbmUgc3R5bGUgdGhhdCBzZXRzIHRoZSByZWd1bGFyIHN0eWxlIG9mIGEgbWFya2VyLiAqLwogICAgICAuc2VsZWN0ZWQtbWFya2VyIHsKICAgICAgICByOiA2ICFpbXBvcnRhbnQ7CiAgICAgICAgZmlsbDogIzBmMCAhaW1wb3J0YW50OwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sQjB0LnByb3RvdHlwZSwidmlzaWJsZVNjaGVtYSIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sQjB0LnByb3RvdHlwZSwic2Vzc2lvbkdyb3VwcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxCMHQucHJvdG90eXBlLCJvcHRpb25zIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxCMHQucHJvdG90eXBlLCJzZWxlY3RlZFNlc3Npb25Hcm91cCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdCxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sQjB0LnByb3RvdHlwZSwiY2xvc2VzdFNlc3Npb25Hcm91cCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixIVE1MRWxlbWVudCldLEIwdC5wcm90b3R5cGUsIl9jb250YWluZXIiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sQjB0LnByb3RvdHlwZSwiX3N2ZyIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxCMHQucHJvdG90eXBlLCJ3aWR0aCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxCMHQucHJvdG90eXBlLCJoZWlnaHQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sQjB0LnByb3RvdHlwZSwiX2JydXNoZWRDZWxsSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sQjB0LnByb3RvdHlwZSwiX2JydXNoU2VsZWN0aW9uIix2b2lkIDApLHQoW2EoInNlc3Npb25Hcm91cHMuKiIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sQjB0LnByb3RvdHlwZSwiX3Nlc3Npb25Hcm91cHNDaGFuZ2VkIixudWxsKSx0KFthKCJ2aXNpYmxlU2NoZW1hLioiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLEIwdC5wcm90b3R5cGUsIl92aXNpYmxlU2NoZW1hQ2hhbmdlZCIsbnVsbCksdChbYSgib3B0aW9ucy4qIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxCMHQucHJvdG90eXBlLCJfcmVkcmF3IixudWxsKSxCMHQ9dChbaSgidGYtaHBhcmFtcy1zY2F0dGVyLXBsb3QtbWF0cml4LXBsb3QiKV0sQjB0KTtsZXQgSDB0PWNsYXNzIGV4dGVuZHMgd2V7X2Nsb3Nlc3RPclNlbGVjdGVkKHQsZSl7cmV0dXJuIG51bGwhPT10P3Q6ZX19O0gwdC50ZW1wbGF0ZT14ZWAKICAgIDxocGFyYW1zLXNwbGl0LWxheW91dCBvcmllbnRhdGlvbj0idmVydGljYWwiPgogICAgICA8IS0tIENvbnRyb2xzIGJlaGF2aW9yIG9mIHRoZSBzY2F0dGVyIHBsb3QgbWF0cml4CiAgICAgICAgICAgICBvdXRwdXRzIHRoZSBjb25maWd1cmVkIG9wdGlvbnMgdG8gdGhlIF9vcHRpb25zIHByb3BlcnR5LiAtLT4KICAgICAgPHRmLWhwYXJhbXMtc2NhbGUtYW5kLWNvbG9yLWNvbnRyb2xzCiAgICAgICAgc2xvdD0iY29udGVudCIKICAgICAgICBjbGFzcz0ic2VjdGlvbiIKICAgICAgICBpZD0iY29udHJvbHMiCiAgICAgICAgY29uZmlndXJhdGlvbj0iW1tjb25maWd1cmF0aW9uXV0iCiAgICAgICAgc2Vzc2lvbi1ncm91cHM9Iltbc2Vzc2lvbkdyb3Vwc11dIgogICAgICAgIG9wdGlvbnM9Int7X29wdGlvbnN9fSIKICAgICAgPgogICAgICA8L3RmLWhwYXJhbXMtc2NhbGUtYW5kLWNvbG9yLWNvbnRyb2xzPgogICAgICA8IS0tIFRoZSBhY3R1YWwgc2NhdHRlciBwbG90IG1hdHJpeCAtLT4KICAgICAgPHRmLWhwYXJhbXMtc2NhdHRlci1wbG90LW1hdHJpeC1wbG90CiAgICAgICAgc2xvdD0iY29udGVudCIKICAgICAgICBjbGFzcz0ic2VjdGlvbiIKICAgICAgICBpZD0icGxvdCIKICAgICAgICB2aXNpYmxlLXNjaGVtYT0iW1tjb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWFdXSIKICAgICAgICBzZXNzaW9uLWdyb3Vwcz0iW1tzZXNzaW9uR3JvdXBzXV0iCiAgICAgICAgc2VsZWN0ZWQtc2Vzc2lvbi1ncm91cD0ie3tfc2VsZWN0ZWRHcm91cH19IgogICAgICAgIGNsb3Nlc3Qtc2Vzc2lvbi1ncm91cD0ie3tfY2xvc2VzdEdyb3VwfX0iCiAgICAgICAgb3B0aW9ucz0iW1tfb3B0aW9uc11dIgogICAgICA+CiAgICAgIDwvdGYtaHBhcmFtcy1zY2F0dGVyLXBsb3QtbWF0cml4LXBsb3Q+CiAgICAgIDx0Zi1ocGFyYW1zLXNlc3Npb24tZ3JvdXAtdmFsdWVzCiAgICAgICAgc2xvdD0iY29udGVudCIKICAgICAgICBjbGFzcz0ic2VjdGlvbiIKICAgICAgICBpZD0idmFsdWVzIgogICAgICAgIHZpc2libGUtc2NoZW1hPSJbW2NvbmZpZ3VyYXRpb24udmlzaWJsZVNjaGVtYV1dIgogICAgICAgIHNlc3Npb24tZ3JvdXA9IltbX2Nsb3Nlc3RPclNlbGVjdGVkKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfY2xvc2VzdEdyb3VwLCBfc2VsZWN0ZWRHcm91cCldXSIKICAgICAgPgogICAgICA8L3RmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC12YWx1ZXM+CiAgICAgIDwhLS0gU2hvd3Mgc2Vzc2lvbiBncm91cCBkZXRhaWxzIGZvciB0aGUgY2xpY2tlZCBtYXJrZXIuIC0tPgogICAgICA8dGYtaHBhcmFtcy1zZXNzaW9uLWdyb3VwLWRldGFpbHMKICAgICAgICBzbG90PSJjb250ZW50IgogICAgICAgIGNsYXNzPSJzZWN0aW9uIgogICAgICAgIGlkPSJkZXRhaWxzIgogICAgICAgIGJhY2tlbmQ9IltbYmFja2VuZF1dIgogICAgICAgIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIgogICAgICAgIHNlc3Npb24tZ3JvdXA9IltbX3NlbGVjdGVkR3JvdXBdXSIKICAgICAgICB2aXNpYmxlLXNjaGVtYT0iW1tjb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWFdXSIKICAgICAgPgogICAgICA8L3RmLWhwYXJhbXMtc2Vzc2lvbi1ncm91cC1kZXRhaWxzPgogICAgPC9ocGFyYW1zLXNwbGl0LWxheW91dD4KICAgIDxzdHlsZT4KICAgICAgLnNlY3Rpb24gewogICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgIH0KICAgICAgI2NvbnRyb2xzIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDsKICAgICAgfQogICAgICAjcGxvdCB7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7CiAgICAgIH0KICAgICAgI3ZhbHVlcyB7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGZsZXgtYmFzaXM6IGF1dG87CiAgICAgICAgaGVpZ2h0OiAxMTVweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50OwogICAgICB9CiAgICAgICNkZXRhaWxzIHsKICAgICAgICBmbGV4LWdyb3c6IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDE7CiAgICAgICAgZmxleC1iYXNpczogYXV0bzsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDsKICAgICAgfQogICAgICB2YWFkaW4tc3BsaXQtbGF5b3V0IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxIMHQucHJvdG90eXBlLCJiYWNrZW5kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEgwdC5wcm90b3R5cGUsImV4cGVyaW1lbnROYW1lIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEgwdC5wcm90b3R5cGUsImNvbmZpZ3VyYXRpb24iLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLEgwdC5wcm90b3R5cGUsInNlc3Npb25Hcm91cHMiLHZvaWQgMCksSDB0PXQoW2koInRmLWhwYXJhbXMtc2NhdHRlci1wbG90LW1hdHJpeC12aWV3IildLEgwdCk7bGV0IEYwdD1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9zZWxlY3RlZFRhYj0wfX07RjB0LnRlbXBsYXRlPXhlYAogICAgPHBhcGVyLWhlYWRlci1wYW5lbD4KICAgICAgPHBhcGVyLXRvb2xiYXIgc2xvdD0iaGVhZGVyIiBjbGFzcz0idGFiLWJhciI+CiAgICAgICAgPHBhcGVyLXRhYnMgc2VsZWN0ZWQ9Int7X3NlbGVjdGVkVGFifX0iIHNsb3Q9InRvcCI+CiAgICAgICAgICA8IS0tIHZpZXctaWQgY2FuIGJlIHVzZWQgYnkgaW50ZWdyYXRpb24gdGVzdHMgdG8gbG9jYXRlIGEgdGFiLgogICAgICAgICAgICAgICBJdCBzaG91bGQgYmUgdGhlIG5hbWUgb2YgdGhlIHJvb3QgZWxlbWVudCBpbXBsZW1lbnRpbmcgdGhlIHZpZXcKICAgICAgICAgICAgICAgd2l0aG91dCB0aGUgJ3RmLWhwYXJhbXMtJyBwcmVmaXguIC0tPgogICAgICAgICAgPHBhcGVyLXRhYiB2aWV3LWlkPSJ0YWJsZS12aWV3Ij4gVEFCTEUgVklFVyA8L3BhcGVyLXRhYj4KICAgICAgICAgIDxwYXBlci10YWIgdmlldy1pZD0icGFyYWxsZWwtY29vcmRzLXZpZXciPgogICAgICAgICAgICBQQVJBTExFTCBDT09SRElOQVRFUyBWSUVXCiAgICAgICAgICA8L3BhcGVyLXRhYj4KICAgICAgICAgIDxwYXBlci10YWIgdmlldy1pZD0ic2NhdHRlci1wbG90LW1hdHJpeC12aWV3Ij4KICAgICAgICAgICAgU0NBVFRFUiBQTE9UIE1BVFJJWCBWSUVXCiAgICAgICAgICA8L3BhcGVyLXRhYj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlbHAtYW5kLWZlZWRiYWNrIj4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW2J1Z1JlcG9ydFVybF1dIj4KICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZiQ9IltbYnVnUmVwb3J0VXJsXV0iCiAgICAgICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAgICAgIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgICAgIGlkPSJidWctcmVwb3J0IgogICAgICAgICAgICAgICAgICByYWlzZWQKICAgICAgICAgICAgICAgICAgdGl0bGU9IlNlbmQgYSBidWcgcmVwb3J0IG9yIGZlYXR1cmUgcmVxdWVzdCIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgQnVnIFJlcG9ydCAvIEZlYXR1cmUgUmVxdWVzdAogICAgICAgICAgICAgICAgPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbaGVscFVybF1dIj4KICAgICAgICAgICAgICA8YSBocmVmJD0iW1toZWxwVXJsXV0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPgogICAgICAgICAgICAgICAgPHBhcGVyLWljb24tYnV0dG9uCiAgICAgICAgICAgICAgICAgIGljb249ImhlbHAtb3V0bGluZSIKICAgICAgICAgICAgICAgICAgdGl0bGU9IlZpZXcgZG9jdW1lbnRhdGlvbiIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9wYXBlci10YWJzPgogICAgICA8L3BhcGVyLXRvb2xiYXI+CiAgICAgIDxpcm9uLXBhZ2VzIHNlbGVjdGVkPSJbW19zZWxlY3RlZFRhYl1dIiBjbGFzcz0iZml0IHRhYi12aWV3Ij4KICAgICAgICA8ZGl2IGlkPSIwIiBjbGFzcz0idGFiIj4KICAgICAgICAgIDx0Zi1ocGFyYW1zLXRhYmxlLXZpZXcKICAgICAgICAgICAgYmFja2VuZD0iW1tiYWNrZW5kXV0iCiAgICAgICAgICAgIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIgogICAgICAgICAgICB2aXNpYmxlLXNjaGVtYT0iW1tjb25maWd1cmF0aW9uLnZpc2libGVTY2hlbWFdXSIKICAgICAgICAgICAgc2Vzc2lvbi1ncm91cHM9Iltbc2Vzc2lvbkdyb3Vwc11dIgogICAgICAgICAgICBlbmFibGUtc2hvdy1tZXRyaWNzCiAgICAgICAgICA+CiAgICAgICAgICA8L3RmLWhwYXJhbXMtdGFibGUtdmlldz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSIxIiBjbGFzcz0idGFiIj4KICAgICAgICAgIDx0Zi1ocGFyYW1zLXBhcmFsbGVsLWNvb3Jkcy12aWV3CiAgICAgICAgICAgIGJhY2tlbmQ9IltbYmFja2VuZF1dIgogICAgICAgICAgICBleHBlcmltZW50LW5hbWU9IltbZXhwZXJpbWVudE5hbWVdXSIKICAgICAgICAgICAgY29uZmlndXJhdGlvbj0iW1tjb25maWd1cmF0aW9uXV0iCiAgICAgICAgICAgIHNlc3Npb24tZ3JvdXBzPSJbW3Nlc3Npb25Hcm91cHNdXSIKICAgICAgICAgID4KICAgICAgICAgIDwvdGYtaHBhcmFtcy1wYXJhbGxlbC1jb29yZHMtdmlldz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSIyIiBjbGFzcz0idGFiIj4KICAgICAgICAgIDx0Zi1ocGFyYW1zLXNjYXR0ZXItcGxvdC1tYXRyaXgtdmlldwogICAgICAgICAgICBiYWNrZW5kPSJbW2JhY2tlbmRdXSIKICAgICAgICAgICAgZXhwZXJpbWVudC1uYW1lPSJbW2V4cGVyaW1lbnROYW1lXV0iCiAgICAgICAgICAgIGNvbmZpZ3VyYXRpb249IltbY29uZmlndXJhdGlvbl1dIgogICAgICAgICAgICBzZXNzaW9uLWdyb3Vwcz0iW1tzZXNzaW9uR3JvdXBzXV0iCiAgICAgICAgICA+CiAgICAgICAgICA8L3RmLWhwYXJhbXMtc2NhdHRlci1wbG90LW1hdHJpeC12aWV3PgogICAgICAgIDwvZGl2PgogICAgICA8L2lyb24tcGFnZXM+CiAgICA8L3BhcGVyLWhlYWRlci1wYW5lbD4KCiAgICA8c3R5bGU+CiAgICAgIC50YWItdmlldyB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICAgIC50YWItYmFyIHsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoCiAgICAgICAgICAtLXRiLXRvb2xiYXItYmFja2dyb3VuZC1jb2xvciwKICAgICAgICAgIHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpCiAgICAgICAgKTsKICAgICAgfQogICAgICAudGFiIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgcGFwZXItdGFicyB7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAtLXBhcGVyLXRhYnMtc2VsZWN0aW9uLWJhci1jb2xvcjogd2hpdGU7CiAgICAgICAgLS1wYXBlci10YWJzLWNvbnRlbnQ6IHsKICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgICAgIH0KICAgICAgfQogICAgICB0Zi1ocGFyYW1zLXRhYmxlLXZpZXcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICAuaGVscC1hbmQtZmVlZGJhY2sgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyAvKiBFbnN1cmUgdGhhdCBpY29ucyBzdGF5IGFsaWduZWQgKi8KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CiAgICAgICNidWctcmVwb3J0IHsKICAgICAgICBib3JkZXI6IHNvbGlkIGJsYWNrOwogICAgICAgIGJhY2tncm91bmQ6IHJlZDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmRzOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBtYXgtd2lkdGg6IDE1MHB4OwogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgIH0KICAgICAgLmhlbHAtYW5kLWZlZWRiYWNrIGEgewogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxGMHQucHJvdG90eXBlLCJiYWNrZW5kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEYwdC5wcm90b3R5cGUsImhlbHBVcmwiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sRjB0LnByb3RvdHlwZSwiYnVnUmVwb3J0VXJsIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEYwdC5wcm90b3R5cGUsImV4cGVyaW1lbnROYW1lIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEYwdC5wcm90b3R5cGUsImNvbmZpZ3VyYXRpb24iLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLEYwdC5wcm90b3R5cGUsInNlc3Npb25Hcm91cHMiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sRjB0LnByb3RvdHlwZSwiX3NlbGVjdGVkVGFiIix2b2lkIDApLEYwdD10KFtpKCJ0Zi1ocGFyYW1zLXNlc3Npb25zLXBhbmUiKV0sRjB0KTtsZXQgVjB0PWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtyZWxvYWQoKXt0aGlzLiRbInF1ZXJ5LXBhbmUiXS5yZWxvYWQoKX19O1YwdC50ZW1wbGF0ZT14ZWAKICAgIDxocGFyYW1zLXNwbGl0LWxheW91dD4KICAgICAgPGRpdiBzbG90PSJjb250ZW50IiBjbGFzcz0ic2lkZWJhciI+CiAgICAgICAgPHRmLWhwYXJhbXMtcXVlcnktcGFuZQogICAgICAgICAgaWQ9InF1ZXJ5LXBhbmUiCiAgICAgICAgICBiYWNrZW5kPSJbW2JhY2tlbmRdXSIKICAgICAgICAgIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIgogICAgICAgICAgY29uZmlndXJhdGlvbj0ie3tfY29uZmlndXJhdGlvbn19IgogICAgICAgICAgc2Vzc2lvbi1ncm91cHM9Int7X3Nlc3Npb25Hcm91cHN9fSIKICAgICAgICAgIGRhdGEtbG9hZGVkLXdpdGgtbm9uLWVtcHR5LWhwYXJhbXM9Int7X2RhdGFMb2FkZWRXaXRoTm9uRW1wdHlIcGFyYW1zfX0iCiAgICAgICAgICBkYXRhLWxvYWRlZC13aXRoLWVtcHR5LWhwYXJhbXM9Int7X2RhdGFMb2FkZWRXaXRoRW1wdHlIcGFyYW1zfX0iCiAgICAgICAgPgogICAgICAgIDwvdGYtaHBhcmFtcy1xdWVyeS1wYW5lPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBzbG90PSJjb250ZW50IiBjbGFzcz0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFMb2FkZWRXaXRoRW1wdHlIcGFyYW1zXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPk5vIGhwYXJhbXMgZGF0YSB3YXMgZm91bmQuPC9oMz4KICAgICAgICAgICAgPHA+UHJvYmFibGUgY2F1c2VzOjwvcD4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgIDxsaT5Zb3UgaGF2ZW7igJl0IHdyaXR0ZW4gYW55IGhwYXJhbXMgZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgRXZlbnQgZmlsZXMgYXJlIHN0aWxsIGJlaW5nIGxvYWRlZCAodHJ5IHJlbG9hZGluZyB0aGlzIHBhZ2UpLgogICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgPGxpPlRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiCiAgICAgICAgICAgICAgICA+UkVBRE1FPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgICAgPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hCiAgICAgICAgICAgICAgPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyIKICAgICAgICAgICAgICAgID50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgoKICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFMb2FkZWRXaXRoTm9uRW1wdHlIcGFyYW1zXV0iPgogICAgICAgICAgPHRmLWhwYXJhbXMtc2Vzc2lvbnMtcGFuZQogICAgICAgICAgICBpZD0ic2Vzc2lvbnMtcGFuZSIKICAgICAgICAgICAgYmFja2VuZD0iW1tiYWNrZW5kXV0iCiAgICAgICAgICAgIGhlbHAtdXJsPSJbW2hlbHBVcmxdXSIKICAgICAgICAgICAgYnVnLXJlcG9ydC11cmw9IltbYnVnUmVwb3J0VXJsXV0iCiAgICAgICAgICAgIGV4cGVyaW1lbnQtbmFtZT0iW1tleHBlcmltZW50TmFtZV1dIgogICAgICAgICAgICBjb25maWd1cmF0aW9uPSJbW19jb25maWd1cmF0aW9uXV0iCiAgICAgICAgICAgIHNlc3Npb24tZ3JvdXBzPSJbW19zZXNzaW9uR3JvdXBzXV0iCiAgICAgICAgICA+CiAgICAgICAgICA8L3RmLWhwYXJhbXMtc2Vzc2lvbnMtcGFuZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvaHBhcmFtcy1zcGxpdC1sYXlvdXQ+CiAgICA8c3R5bGU+CiAgICAgIGhwYXJhbXMtc3BsaXQtbGF5b3V0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLnNpZGViYXIgewogICAgICAgIHdpZHRoOiAyMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIGZsZXgtZ3JvdzogMDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBtaW4td2lkdGg6IDEwJTsKICAgICAgfQoKICAgICAgLmNlbnRlciB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGZsZXgtc2hyaW5rOiAxOwogICAgICAgIHdpZHRoOiA4MCU7CiAgICAgIH0KCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAubm8tZGF0YS13YXJuaW5nIHsKICAgICAgICBtYXgtd2lkdGg6IDU0MHB4OwogICAgICAgIG1hcmdpbjogODBweCBhdXRvIDAgYXV0bzsKICAgICAgfQoKICAgICAgYSB7CiAgICAgICAgY29sb3I6IHZhcigtLXRiLWxpbmspOwogICAgICB9CgogICAgICBhOnZpc2l0ZWQgewogICAgICAgIGNvbG9yOiB2YXIoLS10Yi1saW5rLXZpc2l0ZWQpOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsTUp0KV0sVjB0LnByb3RvdHlwZSwiYmFja2VuZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxWMHQucHJvdG90eXBlLCJleHBlcmltZW50TmFtZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxWMHQucHJvdG90eXBlLCJoZWxwVXJsIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFYwdC5wcm90b3R5cGUsImJ1Z1JlcG9ydFVybCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxWMHQucHJvdG90eXBlLCJfY29uZmlndXJhdGlvbiIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sVjB0LnByb3RvdHlwZSwiX3Nlc3Npb25Hcm91cHMiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxWMHQucHJvdG90eXBlLCJfZGF0YUxvYWRlZFdpdGhOb25FbXB0eUhwYXJhbXMiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxWMHQucHJvdG90eXBlLCJfZGF0YUxvYWRlZFdpdGhFbXB0eUhwYXJhbXMiLHZvaWQgMCksVjB0PXQoW2koInRmLWhwYXJhbXMtbWFpbiIpXSxWMHQpO2NvbnN0IFUwdD0idHJ1ZSI9PT1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmdldCgidGVuc29yYm9hcmRDb2xhYiIpO2xldCBqMHQ9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9iYWNrZW5kPW5ldyBNSnQoRXIoKS5wbHVnaW5Sb3V0ZSgiaHBhcmFtcyIsIiIpLG5ldyBicixVMHQpfXJlbG9hZCgpe3RoaXMuJFsiaHBhcmFtcy1tYWluIl0ucmVsb2FkKCl9fTtqMHQudGVtcGxhdGU9eGVgCiAgICA8IS0tIFRlbnNvckJvYXJkIGRvZXMgbm90IHNwZWNpZnkgYW4gZXhwZXJpbWVudE5hbWUuIEN1cnJlbnRseSBpdCBvbmx5CiAgICAgICAgIHN1cHBvcnRzIG9uZSBleHBlcmltZW50IHBlciBpbnZvY2F0aW9uLiAtLT4KICAgIDx0Zi1ocGFyYW1zLW1haW4KICAgICAgaWQ9ImhwYXJhbXMtbWFpbiIKICAgICAgYmFja2VuZD0iW1tfYmFja2VuZF1dIgogICAgICBleHBlcmltZW50LW5hbWU9IiIKICAgID4KICAgIDwvdGYtaHBhcmFtcy1tYWluPgogIGAsdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sajB0LnByb3RvdHlwZSwiX2JhY2tlbmQiLHZvaWQgMCksajB0PXQoW2koInRmLWhwYXJhbXMtZGFzaGJvYXJkIildLGowdCk7bGV0IEcwdD1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuYWN0dWFsU2l6ZT0hMSx0aGlzLmJyaWdodG5lc3NBZGp1c3RtZW50PS41LHRoaXMuY29udHJhc3RQZXJjZW50YWdlPTAsdGhpcy5fbWV0YWRhdGFDYW5jZWxsZXI9bmV3IHhPLHRoaXMuX2ltYWdlQ2FuY2VsbGVyPW5ldyB4Tyx0aGlzLl9zdGVwcz1bXSx0aGlzLl9pc0ltYWdlTG9hZGluZz0hMX1nZXQgX3J1bkNvbG9yKCl7cmV0dXJuIF9PKHRoaXMucnVuKX1nZXQgX2hhc0F0TGVhc3RPbmVTdGVwKCl7dmFyIHQ9dGhpcy5fc3RlcHM7cmV0dXJuISF0JiZ0Lmxlbmd0aD4wfWdldCBfaGFzTXVsdGlwbGVTdGVwcygpe3ZhciB0PXRoaXMuX3N0ZXBzO3JldHVybiEhdCYmdC5sZW5ndGg+MX1nZXQgX2N1cnJlbnRTdGVwKCl7cmV0dXJuIHRoaXMuX3N0ZXBzW3RoaXMuX3N0ZXBJbmRleF18fG51bGx9Z2V0IF9zdGVwVmFsdWUoKXt2YXIgdD10aGlzLl9jdXJyZW50U3RlcDtyZXR1cm4gdD90LnN0ZXA6MH1nZXQgX2N1cnJlbnRXYWxsVGltZSgpe3ZhciB0PXRoaXMuX2N1cnJlbnRTdGVwO3JldHVybiB0P1NPKHQud2FsbF90aW1lKToiIn1nZXQgX21heFN0ZXBJbmRleCgpe3JldHVybiB0aGlzLl9zdGVwcy5sZW5ndGgtMX1nZXQgX3NhbXBsZVRleHQoKXtyZXR1cm5gJHt0aGlzLnNhbXBsZSsxfWB9Z2V0IF9oYXNNdWx0aXBsZVNhbXBsZXMoKXtyZXR1cm4gdGhpcy5vZlNhbXBsZXM+MX1fZ2V0QXJpYUV4cGFuZGVkKCl7cmV0dXJuIHRoaXMuYWN0dWFsU2l6ZT8idHJ1ZSI6ImZhbHNlIn1hdHRhY2hlZCgpe3RoaXMucmVsb2FkKCl9cmVsb2FkKCl7aWYoIXRoaXMuaXNBdHRhY2hlZClyZXR1cm47dGhpcy5fbWV0YWRhdGFDYW5jZWxsZXIuY2FuY2VsQWxsKCk7Y29uc3QgdD1QTyhFcigpLnBsdWdpblJvdXRlKCJpbWFnZXMiLCIvaW1hZ2VzIikse3RhZzp0aGlzLnRhZyxydW46dGhpcy5ydW4sc2FtcGxlOnRoaXMuc2FtcGxlfSksZT10aGlzLl9tZXRhZGF0YUNhbmNlbGxlci5jYW5jZWxsYWJsZSgodD0+e2lmKHQuY2FuY2VsbGVkKXJldHVybjtjb25zdCBlPXQudmFsdWUubWFwKHRoaXMuX2NyZWF0ZVN0ZXBEYXR1bS5iaW5kKHRoaXMpKTt0aGlzLnNldCgiX3N0ZXBzIixlKSx0aGlzLnNldCgiX3N0ZXBJbmRleCIsZS5sZW5ndGgtMSl9KSk7dGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KHQpLnRoZW4oZSl9X2NyZWF0ZVN0ZXBEYXR1bSh0KXtsZXQgZT1FcigpLnBsdWdpblJvdXRlKCJpbWFnZXMiLCIvaW5kaXZpZHVhbEltYWdlIik7cmV0dXJuIGU9UE8oZSx7dHM6dC53YWxsX3RpbWV9KSxlKz0iJiIrdC5xdWVyeSx7d2FsbF90aW1lOm5ldyBEYXRlKDFlMyp0LndhbGxfdGltZSksc3RlcDp0LnN0ZXAsdXJsOmV9fV91cGRhdGVJbWFnZVVybCgpe3ZhciB0PXRoaXMuX2N1cnJlbnRTdGVwLGU9dGhpcy5icmlnaHRuZXNzQWRqdXN0bWVudCxuPXRoaXMuY29udHJhc3RQZXJjZW50YWdlO2lmKCF0KXJldHVybjtjb25zdCBpPW5ldyBJbWFnZTt0aGlzLl9pbWFnZUNhbmNlbGxlci5jYW5jZWxBbGwoKSxpLm9ubG9hZD1pLm9uZXJyb3I9dGhpcy5faW1hZ2VDYW5jZWxsZXIuY2FuY2VsbGFibGUoKHQ9PntpZih0LmNhbmNlbGxlZClyZXR1cm47Y29uc3QgZT10aGlzLiQkKCIjbWFpbi1pbWFnZS1jb250YWluZXIiKTtlLnRleHRDb250ZW50PSIiLGVyKGUpLmFwcGVuZENoaWxkKGkpLHRoaXMuc2V0KCJfaXNJbWFnZUxvYWRpbmciLCExKX0pKS5iaW5kKHRoaXMpLGkuc3R5bGUuZmlsdGVyPWBjb250cmFzdCgke259JSkgYCxpLnN0eWxlLmZpbHRlcis9YGJyaWdodG5lc3MoJHtlfSlgLHRoaXMuc2V0KCJfaXNJbWFnZUxvYWRpbmciLCEwKSxpLnNyYz10LnVybH1faGFuZGxlVGFwKHQpe3RoaXMuc2V0KCJhY3R1YWxTaXplIiwhdGhpcy5hY3R1YWxTaXplKX1fdG9Mb2NhbGVTdHJpbmcodCl7cmV0dXJuIHQudG9Mb2NhbGVTdHJpbmcoKX19O0cwdC50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1jYXJkLWhlYWRpbmcKICAgICAgdGFnPSJbW3RhZ11dIgogICAgICBydW49IltbcnVuXV0iCiAgICAgIGRpc3BsYXktbmFtZT0iW1t0YWdNZXRhZGF0YS5kaXNwbGF5TmFtZV1dIgogICAgICBkZXNjcmlwdGlvbj0iW1t0YWdNZXRhZGF0YS5kZXNjcmlwdGlvbl1dIgogICAgICBjb2xvcj0iW1tfcnVuQ29sb3JdXSIKICAgID4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19oYXNNdWx0aXBsZVNhbXBsZXNdXSI+CiAgICAgICAgPGRpdj5zYW1wbGU6IFtbX3NhbXBsZVRleHRdXSBvZiBbW29mU2FtcGxlc11dPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzQXRMZWFzdE9uZVN0ZXBdXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1sYWJlbCI+CiAgICAgICAgICAgIHN0ZXAKICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkIgogICAgICAgICAgICAgID5bW190b0xvY2FsZVN0cmluZyhfc3RlcFZhbHVlKV1dPC9zcGFuCiAgICAgICAgICAgID4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1sYWJlbCBoZWFkaW5nLXJpZ2h0IGRhdGV0aW1lIj4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19jdXJyZW50V2FsbFRpbWVdXSI+CiAgICAgICAgICAgICAgW1tfY3VycmVudFdhbGxUaW1lXV0KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwgcmlnaHQiPgogICAgICAgICAgICA8cGFwZXItc3Bpbm5lci1saXRlIGFjdGl2ZSBoaWRkZW4kPSJbWyFfaXNJbWFnZUxvYWRpbmddXSI+CiAgICAgICAgICAgIDwvcGFwZXItc3Bpbm5lci1saXRlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfaGFzTXVsdGlwbGVTdGVwc11dIj4KICAgICAgICA8ZGl2PgogICAgICAgICAgPHBhcGVyLXNsaWRlcgogICAgICAgICAgICBpZD0ic3RlcHMiCiAgICAgICAgICAgIGltbWVkaWF0ZS12YWx1ZT0ie3tfc3RlcEluZGV4fX0iCiAgICAgICAgICAgIG1heD0iW1tfbWF4U3RlcEluZGV4XV0iCiAgICAgICAgICAgIG1heC1tYXJrZXJzPSJbW19tYXhTdGVwSW5kZXhdXSIKICAgICAgICAgICAgc25hcHMKICAgICAgICAgICAgc3RlcD0iMSIKICAgICAgICAgICAgdmFsdWU9Int7X3N0ZXBJbmRleH19IgogICAgICAgICAgPjwvcGFwZXItc2xpZGVyPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC90Zi1jYXJkLWhlYWRpbmc+CgogICAgPCEtLSBTZW1hbnRpY2FsbHkgYSBidXR0b24gYnV0IDxpbWc+IGluc2lkZSBhIDxidXR0b24+IGRpc2FsbG93cyB1c2VyIHRvIGRvCiAgICBhbiBpbnRlcmVzdGluZyBvcGVyYXRpb24gbGlrZSAiQ29weSBJbWFnZSIgaW4gbm9uLUNocm9taXVtIGJyb3dzZXJzLiAtLT4KICAgIDxhCiAgICAgIGlkPSJtYWluLWltYWdlLWNvbnRhaW5lciIKICAgICAgcm9sZT0iYnV0dG9uIgogICAgICBhcmlhLWxhYmVsPSJUb2dnbGUgYWN0dWFsIHNpemUiCiAgICAgIGFyaWEtZXhwYW5kZWQkPSJbW19nZXRBcmlhRXhwYW5kZWQoYWN0dWFsU2l6ZSldXSIKICAgICAgb24tdGFwPSJfaGFuZGxlVGFwIgogICAgPjwvYT4KCiAgICA8c3R5bGUgaW5jbHVkZT0idGYtY2FyZC1oZWFkaW5nLXN0eWxlIj4KICAgICAgLyoqIE1ha2UgYnV0dG9uIGEgZGl2LiAqLwogICAgICBidXR0b24gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC8qKiBGaXJlZm94OiBHZXQgcmlkIG9mIGRvdHRlZCBsaW5lIGluc2lkZSBidXR0b24uICovCiAgICAgIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC8qKiBGaXJlZm94OiBTaW11bGF0ZSBDaHJvbWUncyBvdXRlciBnbG93IG9uIGJ1dHRvbiB3aGVuIGZvY3VzZWQuICovCiAgICAgIGJ1dHRvbjotbW96LWZvY3VzcmluZyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDFweCAycHggSGlnaGxpZ2h0OwogICAgICB9CgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDM1MHB4OwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAwIDE1cHggNDBweCAwOwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgIH0KCiAgICAgIC8qKiBXaGVuIGFjdHVhbCBzaXplIHNob3duIGlzIG9uLCB1c2UgdGhlIGFjdHVhbCBpbWFnZSB3aWR0aC4gKi8KICAgICAgOmhvc3QoW2FjdHVhbC1zaXplXSkgewogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgfQoKICAgICAgOmhvc3QoW2FjdHVhbC1zaXplXSkgI21haW4taW1hZ2UtY29udGFpbmVyIHsKICAgICAgICBtYXgtaGVpZ2h0OiBub25lOwogICAgICAgIHdpZHRoOiBhdXRvOwogICAgICB9CgogICAgICA6aG9zdChbYWN0dWFsLXNpemVdKSAjbWFpbi1pbWFnZS1jb250YWluZXIgaW1nIHsKICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgfQoKICAgICAgcGFwZXItc3Bpbm5lci1saXRlIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tOwogICAgICAgIC0tcGFwZXItc3Bpbm5lci1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgIH0KCiAgICAgICNzdGVwcyB7CiAgICAgICAgaGVpZ2h0OiAxNXB4OwogICAgICAgIG1hcmdpbjogMCAwIDAgLTE1cHg7CiAgICAgICAgLyoKICAgICAgICAgKiAzMSBjb21lcyBmcm9tIGFkZGluZyBhIHBhZGRpbmcgb2YgMTVweCBmcm9tIGJvdGggc2lkZXMgb2YgdGhlCiAgICAgICAgICogcGFwZXItc2xpZGVyLCBzdWJ0cmFjdGluZyAxcHggc28gdGhhdCB0aGUgc2xpZGVyIHdpZHRoIGFsaWducwogICAgICAgICAqIHdpdGggdGhlIGltYWdlICh0aGUgbGFzdCBzbGlkZXIgbWFya2VyIHRha2VzIHVwIDFweCksIGFuZAogICAgICAgICAqIGFkZGluZyAycHggdG8gYWNjb3VudCBmb3IgYSBib3JkZXIgb2YgMXB4IG9uIGJvdGggc2lkZXMgb2YKICAgICAgICAgKiB0aGUgaW1hZ2UuIDMwIC0gMSArIDIuCiAgICAgICAgICovCiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMxcHgpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWFjdGl2ZS1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1zdGFydC1ib3JkZXItY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLWtub2Itc3RhcnQtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLW1hcmtlcnMtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIC0tcGFwZXItc2xpZGVyLXBpbi1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLXN0YXJ0LWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgfQoKICAgICAgI21haW4taW1hZ2UtY29udGFpbmVyIHsKICAgICAgICBtYXgtaGVpZ2h0OiAxMDI0cHg7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KCiAgICAgICNtYWluLWltYWdlLWNvbnRhaW5lciBpbWcgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7CiAgICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICB9CgogICAgICBwYXBlci1pY29uLWJ1dHRvbiB7CiAgICAgICAgY29sb3I6ICMyMTk2ZjM7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CiAgICAgIHBhcGVyLWljb24tYnV0dG9uW3NlbGVjdGVkXSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTsKICAgICAgfQogICAgICBbaGlkZGVuXSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLEcwdC5wcm90b3R5cGUsInJ1biIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxHMHQucHJvdG90eXBlLCJ0YWciLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sRzB0LnByb3RvdHlwZSwic2FtcGxlIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLEcwdC5wcm90b3R5cGUsIm9mU2FtcGxlcyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxHMHQucHJvdG90eXBlLCJ0YWdNZXRhZGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxHMHQucHJvdG90eXBlLCJhY3R1YWxTaXplIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLEcwdC5wcm90b3R5cGUsImJyaWdodG5lc3NBZGp1c3RtZW50Iix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLEcwdC5wcm90b3R5cGUsImNvbnRyYXN0UGVyY2VudGFnZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixicildLEcwdC5wcm90b3R5cGUsInJlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLEcwdC5wcm90b3R5cGUsIl9tZXRhZGF0YUNhbmNlbGxlciIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxHMHQucHJvdG90eXBlLCJfaW1hZ2VDYW5jZWxsZXIiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheSxub3RpZnk6ITB9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxHMHQucHJvdG90eXBlLCJfc3RlcHMiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXIsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLEcwdC5wcm90b3R5cGUsIl9zdGVwSW5kZXgiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxHMHQucHJvdG90eXBlLCJfaXNJbWFnZUxvYWRpbmciLHZvaWQgMCksdChbcygicnVuIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sRzB0LnByb3RvdHlwZSwiX3J1bkNvbG9yIixudWxsKSx0KFtzKCJfc3RlcHMiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sRzB0LnByb3RvdHlwZSwiX2hhc0F0TGVhc3RPbmVTdGVwIixudWxsKSx0KFtzKCJfc3RlcHMiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sRzB0LnByb3RvdHlwZSwiX2hhc011bHRpcGxlU3RlcHMiLG51bGwpLHQoW3MoIl9zdGVwcyIsIl9zdGVwSW5kZXgiKSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxHMHQucHJvdG90eXBlLCJfY3VycmVudFN0ZXAiLG51bGwpLHQoW3MoIl9jdXJyZW50U3RlcCIpLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEcwdC5wcm90b3R5cGUsIl9zdGVwVmFsdWUiLG51bGwpLHQoW3MoIl9jdXJyZW50U3RlcCIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEcwdC5wcm90b3R5cGUsIl9jdXJyZW50V2FsbFRpbWUiLG51bGwpLHQoW3MoIl9zdGVwcyIpLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEcwdC5wcm90b3R5cGUsIl9tYXhTdGVwSW5kZXgiLG51bGwpLHQoW3MoInNhbXBsZSIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEcwdC5wcm90b3R5cGUsIl9zYW1wbGVUZXh0IixudWxsKSx0KFtzKCJvZlNhbXBsZXMiKSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sRzB0LnByb3RvdHlwZSwiX2hhc011bHRpcGxlU2FtcGxlcyIsbnVsbCksdChbYSgicnVuIiwidGFnIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxHMHQucHJvdG90eXBlLCJyZWxvYWQiLG51bGwpLHQoW2EoIl9jdXJyZW50U3RlcCIsImJyaWdodG5lc3NBZGp1c3RtZW50IiwiY29udHJhc3RQZXJjZW50YWdlIiksZSgiZGVzaWduOnR5cGUiLEZ1bmN0aW9uKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pLGUoImRlc2lnbjpyZXR1cm50eXBlIix2b2lkIDApXSxHMHQucHJvdG90eXBlLCJfdXBkYXRlSW1hZ2VVcmwiLG51bGwpLEcwdD10KFtpKCJ0Zi1pbWFnZS1sb2FkZXIiKV0sRzB0KTtsZXQgVzB0PWNsYXNzIGV4dGVuZHMoY3Iod2UpKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5yZWxvYWRPblJlYWR5PSEwLHRoaXMuX2RlZmF1bHRCcmlnaHRuZXNzQWRqdXN0bWVudD0xLHRoaXMuX2RlZmF1bHRDb250cmFzdFBlcmNlbnRhZ2U9MTAwLHRoaXMuX2JyaWdodG5lc3NBZGp1c3RtZW50PTEsdGhpcy5fY29udHJhc3RQZXJjZW50YWdlPTEwMCx0aGlzLl9yZXF1ZXN0TWFuYWdlcj1uZXcgYnJ9cmVhZHkoKXtzdXBlci5yZWFkeSgpLHRoaXMucmVsb2FkT25SZWFkeSYmdGhpcy5yZWxvYWQoKX1yZWxvYWQoKXt0aGlzLl9mZXRjaFRhZ3MoKS50aGVuKCgoKT0+e3RoaXMuX3JlbG9hZEltYWdlcygpfSkpfV9mZXRjaFRhZ3MoKXtjb25zdCB0PUVyKCkucGx1Z2luUm91dGUoImltYWdlcyIsIi90YWdzIik7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodCkudGhlbigodD0+e2lmKENlLmV4cG9ydHMuaXNFcXVhbCh0LHRoaXMuX3J1blRvVGFnSW5mbykpcmV0dXJuO2NvbnN0IGU9ZnIoQ2UuZXhwb3J0cy5tYXBWYWx1ZXModCwodD0+T2JqZWN0LmtleXModCkpKSk7dGhpcy5zZXQoIl9kYXRhTm90Rm91bmQiLDA9PT1lLmxlbmd0aCksdGhpcy5zZXQoIl9ydW5Ub1RhZ0luZm8iLHQpLHRoaXMuYXN5bmMoKCgpPT57dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pKX0pKX1fcmVsb2FkSW1hZ2VzKCl7dGhpcy5yb290LnF1ZXJ5U2VsZWN0b3JBbGwoInRmLWltYWdlLWxvYWRlciIpLmZvckVhY2goKHQ9Pnt0LnJlbG9hZCgpfSkpfV9zaG91bGRPcGVuKHQpe3JldHVybiB0PD0yfV9yZXNldEJyaWdodG5lc3MoKXt0aGlzLl9icmlnaHRuZXNzQWRqdXN0bWVudD10aGlzLl9kZWZhdWx0QnJpZ2h0bmVzc0FkanVzdG1lbnR9X3Jlc2V0Q29udHJhc3QoKXt0aGlzLl9jb250cmFzdFBlcmNlbnRhZ2U9dGhpcy5fZGVmYXVsdENvbnRyYXN0UGVyY2VudGFnZX1nZXQgX2JyaWdodG5lc3NJc0RlZmF1bHQoKXtyZXR1cm4gdGhpcy5fYnJpZ2h0bmVzc0FkanVzdG1lbnQ9PT10aGlzLl9kZWZhdWx0QnJpZ2h0bmVzc0FkanVzdG1lbnR9Z2V0IF9jb250cmFzdElzRGVmYXVsdCgpe3JldHVybiB0aGlzLl9jb250cmFzdFBlcmNlbnRhZ2U9PT10aGlzLl9kZWZhdWx0Q29udHJhc3RQZXJjZW50YWdlfWdldCBfY2F0ZWdvcmllcygpe3ZhciB0PXRoaXMuX3J1blRvVGFnSW5mbyxlPXRoaXMuX3NlbGVjdGVkUnVucyxuPXRoaXMuX3RhZ0ZpbHRlcjtmdW5jdGlvbiBpKGUpe2NvbnN0IG49dFtlLnJ1bl1bZS50YWddLnNhbXBsZXM7cmV0dXJuIENlLmV4cG9ydHMucmFuZ2UobikubWFwKCh0PT5PYmplY3QuYXNzaWduKHt9LGUse3NhbXBsZTp0LG9mU2FtcGxlczpufSkpKX1yZXR1cm4gSXIoQ2UuZXhwb3J0cy5tYXBWYWx1ZXModCwodD0+T2JqZWN0LmtleXModCkpKSxlLG4pLm1hcCgodD0+T2JqZWN0LmFzc2lnbih7fSx0LHtpdGVtczpbXS5jb25jYXQuYXBwbHkoW10sdC5pdGVtcy5tYXAoaSkpfSkpKX1fdGFnTWV0YWRhdGEodCxlLG4pe3JldHVybiB0W2VdW25dfX07dmFyIHEwdCxZMHQsWDB0O1cwdC50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveCBjaGVja2VkPSJ7e19hY3R1YWxTaXplfX0iCiAgICAgICAgICAgICAgICA+U2hvdyBhY3R1YWwgaW1hZ2Ugc2l6ZTwvcGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgICA8aDMgY2xhc3M9InRvb2x0aXAtY29udGFpbmVyIj5CcmlnaHRuZXNzIGFkanVzdG1lbnQ8L2gzPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZXNldHRhYmxlLXNsaWRlci1jb250YWluZXIiPgogICAgICAgICAgICAgIDxwYXBlci1zbGlkZXIKICAgICAgICAgICAgICAgIG1pbj0iMCIKICAgICAgICAgICAgICAgIG1heD0iMiIKICAgICAgICAgICAgICAgIHNuYXBzCiAgICAgICAgICAgICAgICBwaW4KICAgICAgICAgICAgICAgIHN0ZXA9IjAuMDEiCiAgICAgICAgICAgICAgICB2YWx1ZT0ie3tfYnJpZ2h0bmVzc0FkanVzdG1lbnR9fSIKICAgICAgICAgICAgICAgIGltbWVkaWF0ZS12YWx1ZT0ie3tfYnJpZ2h0bmVzc0FkanVzdG1lbnR9fSIKICAgICAgICAgICAgICA+PC9wYXBlci1zbGlkZXI+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9IngtYnV0dG9uIgogICAgICAgICAgICAgICAgb24tdGFwPSJfcmVzZXRCcmlnaHRuZXNzIgogICAgICAgICAgICAgICAgZGlzYWJsZWQ9IltbX2JyaWdodG5lc3NJc0RlZmF1bHRdXSIKICAgICAgICAgICAgICAgID5SZXNldDwvcGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPGgzIGNsYXNzPSJ0b29sdGlwLWNvbnRhaW5lciI+Q29udHJhc3QgYWRqdXN0bWVudDwvaDM+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc2V0dGFibGUtc2xpZGVyLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgPHBhcGVyLXNsaWRlcgogICAgICAgICAgICAgICAgbWluPSIwIgogICAgICAgICAgICAgICAgbWF4PSI1MDAiCiAgICAgICAgICAgICAgICBzbmFwcwogICAgICAgICAgICAgICAgcGluCiAgICAgICAgICAgICAgICBzdGVwPSIxIgogICAgICAgICAgICAgICAgdmFsdWU9Int7X2NvbnRyYXN0UGVyY2VudGFnZX19IgogICAgICAgICAgICAgICAgaW1tZWRpYXRlLXZhbHVlPSJ7e19jb250cmFzdFBlcmNlbnRhZ2V9fSIKICAgICAgICAgICAgICA+PC9wYXBlci1zbGlkZXI+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9IngtYnV0dG9uIgogICAgICAgICAgICAgICAgb24tdGFwPSJfcmVzZXRDb250cmFzdCIKICAgICAgICAgICAgICAgIGRpc2FibGVkPSJbW19jb250cmFzdElzRGVmYXVsdF1dIgogICAgICAgICAgICAgICAgPlJlc2V0PC9wYXBlci1idXR0b24KICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIHJ1bnMtc2VsZWN0b3IiPgogICAgICAgICAgPHRmLXJ1bnMtc2VsZWN0b3IKICAgICAgICAgICAgaWQ9InJ1bnMtc2VsZWN0b3IiCiAgICAgICAgICAgIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319IgogICAgICAgICAgPjwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBpbWFnZSBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgaW1hZ2UgZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgPGxpPlRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiCiAgICAgICAgICAgICAgICA+UkVBRE1FPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgICAgPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hCiAgICAgICAgICAgICAgPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyIKICAgICAgICAgICAgICAgID50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDx0Zi10YWctZmlsdGVyZXIgdGFnLWZpbHRlcj0ie3tfdGFnRmlsdGVyfX0iPjwvdGYtdGFnLWZpbHRlcmVyPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcKICAgICAgICAgICAgICBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIgogICAgICAgICAgICAgIGluaXRpYWwtb3BlbmVkPSJbW19zaG91bGRPcGVuKGluZGV4KV1dIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHRlbXBsYXRlPgogICAgICAgICAgICAgICAgPHRmLWltYWdlLWxvYWRlcgogICAgICAgICAgICAgICAgICBhY3RpdmU9IltbYWN0aXZlXV0iCiAgICAgICAgICAgICAgICAgIHJ1bj0iW1tpdGVtLnJ1bl1dIgogICAgICAgICAgICAgICAgICB0YWc9IltbaXRlbS50YWddXSIKICAgICAgICAgICAgICAgICAgc2FtcGxlPSJbW2l0ZW0uc2FtcGxlXV0iCiAgICAgICAgICAgICAgICAgIG9mLXNhbXBsZXM9IltbaXRlbS5vZlNhbXBsZXNdXSIKICAgICAgICAgICAgICAgICAgdGFnLW1ldGFkYXRhPSJbW190YWdNZXRhZGF0YShfcnVuVG9UYWdJbmZvLCBpdGVtLnJ1biwgaXRlbS50YWcpXV0iCiAgICAgICAgICAgICAgICAgIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSIKICAgICAgICAgICAgICAgICAgYWN0dWFsLXNpemU9IltbX2FjdHVhbFNpemVdXSIKICAgICAgICAgICAgICAgICAgYnJpZ2h0bmVzcy1hZGp1c3RtZW50PSJbW19icmlnaHRuZXNzQWRqdXN0bWVudF1dIgogICAgICAgICAgICAgICAgICBjb250cmFzdC1wZXJjZW50YWdlPSJbW19jb250cmFzdFBlcmNlbnRhZ2VdXSIKICAgICAgICAgICAgICAgID48L3RmLWltYWdlLWxvYWRlcj4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KICAgIDxzdHlsZSBpbmNsdWRlPSJkYXNoYm9hcmQtc3R5bGUiPjwvc3R5bGU+CiAgICA8c3R5bGU+CiAgICAgIC5yZXNldHRhYmxlLXNsaWRlci1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIH0KICAgICAgLnJlc2V0dGFibGUtc2xpZGVyLWNvbnRhaW5lciBwYXBlci1zbGlkZXIgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQogICAgICAucmVzZXR0YWJsZS1zbGlkZXItY29udGFpbmVyIHBhcGVyLWJ1dHRvbiB7CiAgICAgICAgZmxleC1ncm93OiAwOwogICAgICB9CiAgICAgIC5yZXNldHRhYmxlLXNsaWRlci1jb250YWluZXIgcGFwZXItYnV0dG9uW2Rpc2FibGVkXSB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7CiAgICAgIH0KICAgICAgLngtYnV0dG9uIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGItdWktbGlnaHQtYWNjZW50KTsKICAgICAgICBjb2xvcjogdmFyKC0tdGItdWktZGFyay1hY2NlbnQpOwogICAgICB9CiAgICAgIC5uby1kYXRhLXdhcm5pbmcgewogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICB9CiAgICAgIHBhcGVyLXNsaWRlciB7CiAgICAgICAgLS1wYXBlci1zbGlkZXItYWN0aXZlLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1rbm9iLXN0YXJ0LWJvcmRlci1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXIta25vYi1zdGFydC1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXItbWFya2Vycy1jb2xvcjogdmFyKC0tdGItb3JhbmdlLXN0cm9uZyk7CiAgICAgICAgLS1wYXBlci1zbGlkZXItcGluLWNvbG9yOiB2YXIoLS10Yi1vcmFuZ2Utc3Ryb25nKTsKICAgICAgICAtLXBhcGVyLXNsaWRlci1waW4tc3RhcnQtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxXMHQucHJvdG90eXBlLCJyZWxvYWRPblJlYWR5Iix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxXMHQucHJvdG90eXBlLCJfc2VsZWN0ZWRSdW5zIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFcwdC5wcm90b3R5cGUsIl9ydW5Ub1RhZ0luZm8iLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxXMHQucHJvdG90eXBlLCJfZGF0YU5vdEZvdW5kIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sVzB0LnByb3RvdHlwZSwiX2FjdHVhbFNpemUiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sVzB0LnByb3RvdHlwZSwiX2RlZmF1bHRCcmlnaHRuZXNzQWRqdXN0bWVudCIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxXMHQucHJvdG90eXBlLCJfZGVmYXVsdENvbnRyYXN0UGVyY2VudGFnZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxXMHQucHJvdG90eXBlLCJfYnJpZ2h0bmVzc0FkanVzdG1lbnQiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXJ9KSxlKCJkZXNpZ246dHlwZSIsTnVtYmVyKV0sVzB0LnByb3RvdHlwZSwiX2NvbnRyYXN0UGVyY2VudGFnZSIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxXMHQucHJvdG90eXBlLCJfdGFnRmlsdGVyIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sVzB0LnByb3RvdHlwZSwiX2NhdGVnb3JpZXNEb21SZWFkeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxXMHQucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbcygiX2JyaWdodG5lc3NBZGp1c3RtZW50IiksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLFcwdC5wcm90b3R5cGUsIl9icmlnaHRuZXNzSXNEZWZhdWx0IixudWxsKSx0KFtzKCJfY29udHJhc3RQZXJjZW50YWdlIiksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLFcwdC5wcm90b3R5cGUsIl9jb250cmFzdElzRGVmYXVsdCIsbnVsbCksdChbcygiX3J1blRvVGFnSW5mbyIsIl9zZWxlY3RlZFJ1bnMiLCJfdGFnRmlsdGVyIiwiX2NhdGVnb3JpZXNEb21SZWFkeSIpLGUoImRlc2lnbjp0eXBlIixBcnJheSksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sVzB0LnByb3RvdHlwZSwiX2NhdGVnb3JpZXMiLG51bGwpLFcwdD10KFtpKCJ0Zi1pbWFnZS1kYXNoYm9hcmQiKV0sVzB0KSwoZnVuY3Rpb24odCl7dFt0LkNBTkNFTExFRD0xXT0iQ0FOQ0VMTEVEIn0pKHEwdHx8KHEwdD17fSkpLChmdW5jdGlvbih0KXt0W3QuVkVSVEVYPTFdPSJWRVJURVgiLHRbdC5GQUNFPTJdPSJGQUNFIix0W3QuQ09MT1I9M109IkNPTE9SIn0pKFkwdHx8KFkwdD17fSkpLChmdW5jdGlvbih0KXt0LlZFUlRFWD0iZmxvYXQzMiIsdC5GQUNFPSJpbnQzMiIsdC5DT0xPUj0idWludDgifSkoWDB0fHwoWDB0PXt9KSk7Y2xhc3MgJDB0e2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NhbmNlbGxlcj1uZXcgeE8sdGhpcy5fcmVxdWVzdE1hbmFnZXI9dH1yZWxvYWQodCxlLG4pe3JldHVybiB0aGlzLl9jYW5jZWxsZXIuY2FuY2VsQWxsKCksdGhpcy5fZmV0Y2hNZXRhZGF0YSh0LGUsbil9X2ZldGNoRGF0YUJ5U3RlcCh0LGUsbixpLHIsbyl7Y29uc3QgYT1FcigpLnBsdWdpblJvdXRlKCJtZXNoIiwiL2RhdGEiLG5ldyBVUkxTZWFyY2hQYXJhbXMoe3RhZzplLHJ1bjp0LGNvbnRlbnRfdHlwZTpuLHNhbXBsZTpTdHJpbmcoaSksc3RlcDpTdHJpbmcocil9KSkscz1mdW5jdGlvbih0KXtsZXQgZT1bXTtmb3IobGV0IG49MDtuPHQubGVuZ3RoLzM7bisrKXtsZXQgaT1bXTtmb3IobGV0IGU9MDtlPDM7ZSsrKWkucHVzaCh0WzMqbitlXSk7ZS5wdXNoKGkpfXJldHVybiBlfSxsPXRoaXMuX2NhbmNlbGxlci5jYW5jZWxsYWJsZSgodD0+e2lmKHQuY2FuY2VsbGVkKXJldHVybiBQcm9taXNlLnJlamVjdCh7Y29kZTpxMHQuQ0FOQ0VMTEVELG1lc3NhZ2U6IlJlc3BvbnNlIHdhcyBpbnZhbGlkYXRlZC4ifSk7bGV0IGU9dC52YWx1ZTtzd2l0Y2gobil7Y2FzZSJWRVJURVgiOm8udmVydGljZXM9cyhuZXcgRmxvYXQzMkFycmF5KGUpKTticmVhaztjYXNlIkZBQ0UiOm8uZmFjZXM9cyhuZXcgSW50MzJBcnJheShlKSk7YnJlYWs7Y2FzZSJDT0xPUiI6by5jb2xvcnM9cyhuZXcgVWludDhBcnJheShlKSl9cmV0dXJuIG99KSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLmZldGNoKGEse21ldGhvZDoiR0VUIixoZWFkZXJzOntyZXNwb25zZVR5cGU6ImFycmF5YnVmZmVyIixjb250ZW50VHlwZTpYMHRbbl19fSkudGhlbigodD0+dC5hcnJheUJ1ZmZlcigpKSkudGhlbihsKX1mZXRjaERhdGEodCxlLG4saSl7bGV0IHI9W10sbz1uZXcgTWFwO3JldHVybiBPYmplY3Qua2V5cyhZMHQpLmZvckVhY2goKGE9Pnt0LmNvbXBvbmVudHMmMTw8WTB0W2FdJiZyLnB1c2godGhpcy5fZmV0Y2hEYXRhQnlTdGVwKGUsbixhLGksdC5zdGVwLG8pKX0pKSxQcm9taXNlLmFsbChyKX1fZmV0Y2hNZXRhZGF0YSh0LGUsbil7dGhpcy5fY2FuY2VsbGVyLmNhbmNlbEFsbCgpO2NvbnN0IGk9RXIoKS5wbHVnaW5Sb3V0ZSgibWVzaCIsIi9tZXNoZXMiLG5ldyBVUkxTZWFyY2hQYXJhbXMoe3RhZzplLHJ1bjp0LHNhbXBsZTpufSkpLHI9dGhpcy5fY2FuY2VsbGVyLmNhbmNlbGxhYmxlKCh0PT50LmNhbmNlbGxlZD9Qcm9taXNlLnJlamVjdCh7Y29kZTpxMHQuQ0FOQ0VMTEVELG1lc3NhZ2U6IlJlc3BvbnNlIHdhcyBpbnZhbGlkYXRlZC4ifSk6dC52YWx1ZSkpO3JldHVybiB0aGlzLl9yZXF1ZXN0TWFuYWdlci5mZXRjaChpKS50aGVuKCh0PT50Lmpzb24oKSkpLnRoZW4ocikudGhlbih0aGlzLl9wcm9jZXNzTWV0YWRhdGEuYmluZCh0aGlzKSl9X3Byb2Nlc3NNZXRhZGF0YSh0KXtpZighdClyZXR1cm47Y29uc3QgZT1uZXcgTWFwO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtsZXQgaT10W25dO2UuaGFzKGkuc3RlcCl8fGUuc2V0KGkuc3RlcCxbXSksZS5nZXQoaS5zdGVwKS5wdXNoKGkpfWxldCBuPVtdO3JldHVybiBlLmZvckVhY2goKHQ9PntsZXQgZT10aGlzLl9jcmVhdGVTdGVwRGF0dW0odFswXSk7bi5wdXNoKGUpfSkpLG59X2NyZWF0ZVN0ZXBEYXR1bSh0KXtyZXR1cm57d2FsbF90aW1lOm5ldyBEYXRlKDFlMyp0LndhbGxfdGltZSksc3RlcDp0LnN0ZXAsY29uZmlnOnQuY29uZmlnLGNvbnRlbnRfdHlwZTp0LmNvbnRlbnRfdHlwZSxjb21wb25lbnRzOnQuY29tcG9uZW50c319fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgMjAxMC0yMDIxIFRocmVlLmpzIEF1dGhvcnMKICAgICAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKICAgICAqL2NvbnN0IEswdD0iMTMxIixaMHQ9e0xFRlQ6MCxNSURETEU6MSxSSUdIVDoyLFJPVEFURTowLERPTExZOjEsUEFOOjJ9LEowdD17Uk9UQVRFOjAsUEFOOjEsRE9MTFlfUEFOOjIsRE9MTFlfUk9UQVRFOjN9LFEwdD0xMDAsdDJ0PTMwMCxlMnQ9MzAxLG4ydD0zMDIsaTJ0PTMwMyxyMnQ9MzA0LG8ydD0zMDYsYTJ0PTMwNyxzMnQ9MWUzLGwydD0xMDAxLGMydD0xMDAyLHUydD0xMDAzLGgydD0xMDA0LGQydD0xMDA1LHAydD0xMDA2LGYydD0xMDA3LG0ydD0xMDA4LGcydD0xMDA5LF8ydD0xMDEyLHkydD0xMDE0LHYydD0xMDE1LGIydD0xMDE2LHgydD0xMDIwLHcydD0xMDIyLFMydD0xMDIzLE0ydD0xMDI2LEUydD0xMDI3LFQydD0zMzc3NixDMnQ9MzM3NzcsQTJ0PTMzNzc4LGsydD0zMzc3OSxMMnQ9MzU4NDAsUDJ0PTM1ODQxLE4ydD0zNTg0MixJMnQ9MzU4NDMsUjJ0PTM3NDkyLE8ydD0zNzQ5Nix6MnQ9MjMwMCxEMnQ9MjMwMSxCMnQ9MjMwMixIMnQ9MjQwMCxGMnQ9MjQwMSxWMnQ9MjQwMixVMnQ9MjUwMCxqMnQ9MjUwMSxHMnQ9M2UzLFcydD0zMDAxLHEydD0zMDA3LFkydD0zMDAyLFgydD0zMDA0LCQydD0zMDA1LEsydD0zMDA2LFoydD03NjgwLEoydD0zNTA0NCxRMnQ9MzUwNDgsdDV0PSIzMDAgZXMiO2NsYXNzIGU1dHthZGRFdmVudExpc3RlbmVyKHQsZSl7dm9pZCAwPT09dGhpcy5fbGlzdGVuZXJzJiYodGhpcy5fbGlzdGVuZXJzPXt9KTtjb25zdCBuPXRoaXMuX2xpc3RlbmVyczt2b2lkIDA9PT1uW3RdJiYoblt0XT1bXSksLTE9PT1uW3RdLmluZGV4T2YoZSkmJm5bdF0ucHVzaChlKX1oYXNFdmVudExpc3RlbmVyKHQsZSl7aWYodm9pZCAwPT09dGhpcy5fbGlzdGVuZXJzKXJldHVybiExO2NvbnN0IG49dGhpcy5fbGlzdGVuZXJzO3JldHVybiB2b2lkIDAhPT1uW3RdJiYtMSE9PW5bdF0uaW5kZXhPZihlKX1yZW1vdmVFdmVudExpc3RlbmVyKHQsZSl7aWYodm9pZCAwPT09dGhpcy5fbGlzdGVuZXJzKXJldHVybjtjb25zdCBuPXRoaXMuX2xpc3RlbmVyc1t0XTtpZih2b2lkIDAhPT1uKXtjb25zdCB0PW4uaW5kZXhPZihlKTstMSE9PXQmJm4uc3BsaWNlKHQsMSl9fWRpc3BhdGNoRXZlbnQodCl7aWYodm9pZCAwPT09dGhpcy5fbGlzdGVuZXJzKXJldHVybjtjb25zdCBlPXRoaXMuX2xpc3RlbmVyc1t0LnR5cGVdO2lmKHZvaWQgMCE9PWUpe3QudGFyZ2V0PXRoaXM7Y29uc3Qgbj1lLnNsaWNlKDApO2ZvcihsZXQgZT0wLGk9bi5sZW5ndGg7ZTxpO2UrKyluW2VdLmNhbGwodGhpcyx0KTt0LnRhcmdldD1udWxsfX19Y29uc3QgbjV0PVtdO2ZvcihsZXQgdD0wO3Q8MjU2O3QrKyluNXRbdF09KHQ8MTY/IjAiOiIiKSt0LnRvU3RyaW5nKDE2KTtsZXQgaTV0PTEyMzQ1Njc7Y29uc3QgcjV0PU1hdGguUEkvMTgwLG81dD0xODAvTWF0aC5QSTtmdW5jdGlvbiBhNXQoKXtjb25zdCB0PTQyOTQ5NjcyOTUqTWF0aC5yYW5kb20oKXwwLGU9NDI5NDk2NzI5NSpNYXRoLnJhbmRvbSgpfDAsbj00Mjk0OTY3Mjk1Kk1hdGgucmFuZG9tKCl8MCxpPTQyOTQ5NjcyOTUqTWF0aC5yYW5kb20oKXwwO3JldHVybihuNXRbMjU1JnRdK241dFt0Pj44JjI1NV0rbjV0W3Q+PjE2JjI1NV0rbjV0W3Q+PjI0JjI1NV0rIi0iK241dFsyNTUmZV0rbjV0W2U+PjgmMjU1XSsiLSIrbjV0W2U+PjE2JjE1fDY0XStuNXRbZT4+MjQmMjU1XSsiLSIrbjV0WzYzJm58MTI4XStuNXRbbj4+OCYyNTVdKyItIituNXRbbj4+MTYmMjU1XStuNXRbbj4+MjQmMjU1XStuNXRbMjU1JmldK241dFtpPj44JjI1NV0rbjV0W2k+PjE2JjI1NV0rbjV0W2k+PjI0JjI1NV0pLnRvVXBwZXJDYXNlKCl9ZnVuY3Rpb24gczV0KHQsZSxuKXtyZXR1cm4gTWF0aC5tYXgoZSxNYXRoLm1pbihuLHQpKX1mdW5jdGlvbiBsNXQodCxlKXtyZXR1cm4odCVlK2UpJWV9ZnVuY3Rpb24gYzV0KHQsZSxuKXtyZXR1cm4oMS1uKSp0K24qZX1mdW5jdGlvbiB1NXQodCl7cmV0dXJuIDA9PSh0JnQtMSkmJjAhPT10fWZ1bmN0aW9uIGg1dCh0KXtyZXR1cm4gTWF0aC5wb3coMixNYXRoLmNlaWwoTWF0aC5sb2codCkvTWF0aC5MTjIpKX1mdW5jdGlvbiBkNXQodCl7cmV0dXJuIE1hdGgucG93KDIsTWF0aC5mbG9vcihNYXRoLmxvZyh0KS9NYXRoLkxOMikpfXZhciBwNXQ9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsREVHMlJBRDpyNXQsUkFEMkRFRzpvNXQsZ2VuZXJhdGVVVUlEOmE1dCxjbGFtcDpzNXQsZXVjbGlkZWFuTW9kdWxvOmw1dCxtYXBMaW5lYXI6ZnVuY3Rpb24gZjV0KHQsZSxuLGkscil7cmV0dXJuIGkrKHQtZSkqKHItaSkvKG4tZSl9LGludmVyc2VMZXJwOmZ1bmN0aW9uIG01dCh0LGUsbil7cmV0dXJuIHQhPT1lPyhuLXQpLyhlLXQpOjB9LGxlcnA6YzV0LGRhbXA6ZnVuY3Rpb24gZzV0KHQsZSxuLGkpe3JldHVybiBjNXQodCxlLDEtTWF0aC5leHAoLW4qaSkpfSxwaW5ncG9uZzpmdW5jdGlvbiBfNXQodCxlPTEpe3JldHVybiBlLU1hdGguYWJzKGw1dCh0LDIqZSktZSl9LHNtb290aHN0ZXA6ZnVuY3Rpb24geTV0KHQsZSxuKXtyZXR1cm4gdDw9ZT8wOnQ+PW4/MToodD0odC1lKS8obi1lKSkqdCooMy0yKnQpfSxzbW9vdGhlcnN0ZXA6ZnVuY3Rpb24gdjV0KHQsZSxuKXtyZXR1cm4gdDw9ZT8wOnQ+PW4/MToodD0odC1lKS8obi1lKSkqdCp0Kih0Kig2KnQtMTUpKzEwKX0scmFuZEludDpmdW5jdGlvbiBiNXQodCxlKXtyZXR1cm4gdCtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKGUtdCsxKSl9LHJhbmRGbG9hdDpmdW5jdGlvbiB4NXQodCxlKXtyZXR1cm4gdCtNYXRoLnJhbmRvbSgpKihlLXQpfSxyYW5kRmxvYXRTcHJlYWQ6ZnVuY3Rpb24gdzV0KHQpe3JldHVybiB0KiguNS1NYXRoLnJhbmRvbSgpKX0sc2VlZGVkUmFuZG9tOmZ1bmN0aW9uIFM1dCh0KXtyZXR1cm4gdm9pZCAwIT09dCYmKGk1dD10JTIxNDc0ODM2NDcpLGk1dD0xNjgwNyppNXQlMjE0NzQ4MzY0NywoaTV0LTEpLzIxNDc0ODM2NDZ9LGRlZ1RvUmFkOmZ1bmN0aW9uIE01dCh0KXtyZXR1cm4gdCpyNXR9LHJhZFRvRGVnOmZ1bmN0aW9uIEU1dCh0KXtyZXR1cm4gdCpvNXR9LGlzUG93ZXJPZlR3bzp1NXQsY2VpbFBvd2VyT2ZUd286aDV0LGZsb29yUG93ZXJPZlR3bzpkNXQsc2V0UXVhdGVybmlvbkZyb21Qcm9wZXJFdWxlcjpmdW5jdGlvbiBUNXQodCxlLG4saSxyKXtjb25zdCBvPU1hdGguY29zLGE9TWF0aC5zaW4scz1vKG4vMiksbD1hKG4vMiksYz1vKChlK2kpLzIpLHU9YSgoZStpKS8yKSxoPW8oKGUtaSkvMiksZD1hKChlLWkpLzIpLHA9bygoaS1lKS8yKSxmPWEoKGktZSkvMik7c3dpdGNoKHIpe2Nhc2UiWFlYIjp0LnNldChzKnUsbCpoLGwqZCxzKmMpO2JyZWFrO2Nhc2UiWVpZIjp0LnNldChsKmQscyp1LGwqaCxzKmMpO2JyZWFrO2Nhc2UiWlhaIjp0LnNldChsKmgsbCpkLHMqdSxzKmMpO2JyZWFrO2Nhc2UiWFpYIjp0LnNldChzKnUsbCpmLGwqcCxzKmMpO2JyZWFrO2Nhc2UiWVhZIjp0LnNldChsKnAscyp1LGwqZixzKmMpO2JyZWFrO2Nhc2UiWllaIjp0LnNldChsKmYsbCpwLHMqdSxzKmMpO2JyZWFrO2RlZmF1bHQ6Y29uc29sZS53YXJuKCJUSFJFRS5NYXRoVXRpbHM6IC5zZXRRdWF0ZXJuaW9uRnJvbVByb3BlckV1bGVyKCkgZW5jb3VudGVyZWQgYW4gdW5rbm93biBvcmRlcjogIityKX19fSk7Y2xhc3MgQzV0e2NvbnN0cnVjdG9yKHQ9MCxlPTApe3RoaXMueD10LHRoaXMueT1lfWdldCB3aWR0aCgpe3JldHVybiB0aGlzLnh9c2V0IHdpZHRoKHQpe3RoaXMueD10fWdldCBoZWlnaHQoKXtyZXR1cm4gdGhpcy55fXNldCBoZWlnaHQodCl7dGhpcy55PXR9c2V0KHQsZSl7cmV0dXJuIHRoaXMueD10LHRoaXMueT1lLHRoaXN9c2V0U2NhbGFyKHQpe3JldHVybiB0aGlzLng9dCx0aGlzLnk9dCx0aGlzfXNldFgodCl7cmV0dXJuIHRoaXMueD10LHRoaXN9c2V0WSh0KXtyZXR1cm4gdGhpcy55PXQsdGhpc31zZXRDb21wb25lbnQodCxlKXtzd2l0Y2godCl7Y2FzZSAwOnRoaXMueD1lO2JyZWFrO2Nhc2UgMTp0aGlzLnk9ZTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW5kZXggaXMgb3V0IG9mIHJhbmdlOiAiK3QpfXJldHVybiB0aGlzfWdldENvbXBvbmVudCh0KXtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB0aGlzLng7Y2FzZSAxOnJldHVybiB0aGlzLnk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIit0KX19Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy54LHRoaXMueSl9Y29weSh0KXtyZXR1cm4gdGhpcy54PXQueCx0aGlzLnk9dC55LHRoaXN9YWRkKHQsZSl7cmV0dXJuIHZvaWQgMCE9PWU/KGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLmFkZCgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLmFkZFZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuYWRkVmVjdG9ycyh0LGUpKToodGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcyl9YWRkU2NhbGFyKHQpe3JldHVybiB0aGlzLngrPXQsdGhpcy55Kz10LHRoaXN9YWRkVmVjdG9ycyh0LGUpe3JldHVybiB0aGlzLng9dC54K2UueCx0aGlzLnk9dC55K2UueSx0aGlzfWFkZFNjYWxlZFZlY3Rvcih0LGUpe3JldHVybiB0aGlzLngrPXQueCplLHRoaXMueSs9dC55KmUsdGhpc31zdWIodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiAuc3ViKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuc3ViVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5zdWJWZWN0b3JzKHQsZSkpOih0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzKX1zdWJTY2FsYXIodCl7cmV0dXJuIHRoaXMueC09dCx0aGlzLnktPXQsdGhpc31zdWJWZWN0b3JzKHQsZSl7cmV0dXJuIHRoaXMueD10LngtZS54LHRoaXMueT10LnktZS55LHRoaXN9bXVsdGlwbHkodCl7cmV0dXJuIHRoaXMueCo9dC54LHRoaXMueSo9dC55LHRoaXN9bXVsdGlwbHlTY2FsYXIodCl7cmV0dXJuIHRoaXMueCo9dCx0aGlzLnkqPXQsdGhpc31kaXZpZGUodCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXN9ZGl2aWRlU2NhbGFyKHQpe3JldHVybiB0aGlzLm11bHRpcGx5U2NhbGFyKDEvdCl9YXBwbHlNYXRyaXgzKHQpe2NvbnN0IGU9dGhpcy54LG49dGhpcy55LGk9dC5lbGVtZW50cztyZXR1cm4gdGhpcy54PWlbMF0qZStpWzNdKm4raVs2XSx0aGlzLnk9aVsxXSplK2lbNF0qbitpWzddLHRoaXN9bWluKHQpe3JldHVybiB0aGlzLng9TWF0aC5taW4odGhpcy54LHQueCksdGhpcy55PU1hdGgubWluKHRoaXMueSx0LnkpLHRoaXN9bWF4KHQpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodGhpcy54LHQueCksdGhpcy55PU1hdGgubWF4KHRoaXMueSx0LnkpLHRoaXN9Y2xhbXAodCxlKXtyZXR1cm4gdGhpcy54PU1hdGgubWF4KHQueCxNYXRoLm1pbihlLngsdGhpcy54KSksdGhpcy55PU1hdGgubWF4KHQueSxNYXRoLm1pbihlLnksdGhpcy55KSksdGhpc31jbGFtcFNjYWxhcih0LGUpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodCxNYXRoLm1pbihlLHRoaXMueCkpLHRoaXMueT1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy55KSksdGhpc31jbGFtcExlbmd0aCh0LGUpe2NvbnN0IG49dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIobnx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgodCxNYXRoLm1pbihlLG4pKSl9Zmxvb3IoKXtyZXR1cm4gdGhpcy54PU1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpLHRoaXN9Y2VpbCgpe3JldHVybiB0aGlzLng9TWF0aC5jZWlsKHRoaXMueCksdGhpcy55PU1hdGguY2VpbCh0aGlzLnkpLHRoaXN9cm91bmQoKXtyZXR1cm4gdGhpcy54PU1hdGgucm91bmQodGhpcy54KSx0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpLHRoaXN9cm91bmRUb1plcm8oKXtyZXR1cm4gdGhpcy54PXRoaXMueDwwP01hdGguY2VpbCh0aGlzLngpOk1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9dGhpcy55PDA/TWF0aC5jZWlsKHRoaXMueSk6TWF0aC5mbG9vcih0aGlzLnkpLHRoaXN9bmVnYXRlKCl7cmV0dXJuIHRoaXMueD0tdGhpcy54LHRoaXMueT0tdGhpcy55LHRoaXN9ZG90KHQpe3JldHVybiB0aGlzLngqdC54K3RoaXMueSp0Lnl9Y3Jvc3ModCl7cmV0dXJuIHRoaXMueCp0LnktdGhpcy55KnQueH1sZW5ndGhTcSgpe3JldHVybiB0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnl9bGVuZ3RoKCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnkpfW1hbmhhdHRhbkxlbmd0aCgpe3JldHVybiBNYXRoLmFicyh0aGlzLngpK01hdGguYWJzKHRoaXMueSl9bm9ybWFsaXplKCl7cmV0dXJuIHRoaXMuZGl2aWRlU2NhbGFyKHRoaXMubGVuZ3RoKCl8fDEpfWFuZ2xlKCl7cmV0dXJuIE1hdGguYXRhbjIoLXRoaXMueSwtdGhpcy54KStNYXRoLlBJfWRpc3RhbmNlVG8odCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKHQpKX1kaXN0YW5jZVRvU3F1YXJlZCh0KXtjb25zdCBlPXRoaXMueC10Lngsbj10aGlzLnktdC55O3JldHVybiBlKmUrbipufW1hbmhhdHRhbkRpc3RhbmNlVG8odCl7cmV0dXJuIE1hdGguYWJzKHRoaXMueC10LngpK01hdGguYWJzKHRoaXMueS10LnkpfXNldExlbmd0aCh0KXtyZXR1cm4gdGhpcy5ub3JtYWxpemUoKS5tdWx0aXBseVNjYWxhcih0KX1sZXJwKHQsZSl7cmV0dXJuIHRoaXMueCs9KHQueC10aGlzLngpKmUsdGhpcy55Kz0odC55LXRoaXMueSkqZSx0aGlzfWxlcnBWZWN0b3JzKHQsZSxuKXtyZXR1cm4gdGhpcy54PXQueCsoZS54LXQueCkqbix0aGlzLnk9dC55KyhlLnktdC55KSpuLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lng9PT10aGlzLngmJnQueT09PXRoaXMueX1mcm9tQXJyYXkodCxlPTApe3JldHVybiB0aGlzLng9dFtlXSx0aGlzLnk9dFtlKzFdLHRoaXN9dG9BcnJheSh0PVtdLGU9MCl7cmV0dXJuIHRbZV09dGhpcy54LHRbZSsxXT10aGlzLnksdH1mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSxuKXtyZXR1cm4gdm9pZCAwIT09biYmY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiBvZmZzZXQgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIC5mcm9tQnVmZmVyQXR0cmlidXRlKCkuIiksdGhpcy54PXQuZ2V0WChlKSx0aGlzLnk9dC5nZXRZKGUpLHRoaXN9cm90YXRlQXJvdW5kKHQsZSl7Y29uc3Qgbj1NYXRoLmNvcyhlKSxpPU1hdGguc2luKGUpLHI9dGhpcy54LXQueCxvPXRoaXMueS10Lnk7cmV0dXJuIHRoaXMueD1yKm4tbyppK3QueCx0aGlzLnk9cippK28qbit0LnksdGhpc31yYW5kb20oKXtyZXR1cm4gdGhpcy54PU1hdGgucmFuZG9tKCksdGhpcy55PU1hdGgucmFuZG9tKCksdGhpc319QzV0LnByb3RvdHlwZS5pc1ZlY3RvcjI9ITA7Y2xhc3MgQTV0e2NvbnN0cnVjdG9yKCl7dGhpcy5lbGVtZW50cz1bMSwwLDAsMCwxLDAsMCwwLDFdLGFyZ3VtZW50cy5sZW5ndGg+MCYmY29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4MzogdGhlIGNvbnN0cnVjdG9yIG5vIGxvbmdlciByZWFkcyBhcmd1bWVudHMuIHVzZSAuc2V0KCkgaW5zdGVhZC4iKX1zZXQodCxlLG4saSxyLG8sYSxzLGwpe2NvbnN0IGM9dGhpcy5lbGVtZW50cztyZXR1cm4gY1swXT10LGNbMV09aSxjWzJdPWEsY1szXT1lLGNbNF09cixjWzVdPXMsY1s2XT1uLGNbN109byxjWzhdPWwsdGhpc31pZGVudGl0eSgpe3JldHVybiB0aGlzLnNldCgxLDAsMCwwLDEsMCwwLDAsMSksdGhpc31jb3B5KHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50cyxuPXQuZWxlbWVudHM7cmV0dXJuIGVbMF09blswXSxlWzFdPW5bMV0sZVsyXT1uWzJdLGVbM109blszXSxlWzRdPW5bNF0sZVs1XT1uWzVdLGVbNl09bls2XSxlWzddPW5bN10sZVs4XT1uWzhdLHRoaXN9ZXh0cmFjdEJhc2lzKHQsZSxuKXtyZXR1cm4gdC5zZXRGcm9tTWF0cml4M0NvbHVtbih0aGlzLDApLGUuc2V0RnJvbU1hdHJpeDNDb2x1bW4odGhpcywxKSxuLnNldEZyb21NYXRyaXgzQ29sdW1uKHRoaXMsMiksdGhpc31zZXRGcm9tTWF0cml4NCh0KXtjb25zdCBlPXQuZWxlbWVudHM7cmV0dXJuIHRoaXMuc2V0KGVbMF0sZVs0XSxlWzhdLGVbMV0sZVs1XSxlWzldLGVbMl0sZVs2XSxlWzEwXSksdGhpc31tdWx0aXBseSh0KXtyZXR1cm4gdGhpcy5tdWx0aXBseU1hdHJpY2VzKHRoaXMsdCl9cHJlbXVsdGlwbHkodCl7cmV0dXJuIHRoaXMubXVsdGlwbHlNYXRyaWNlcyh0LHRoaXMpfW11bHRpcGx5TWF0cmljZXModCxlKXtjb25zdCBuPXQuZWxlbWVudHMsaT1lLmVsZW1lbnRzLHI9dGhpcy5lbGVtZW50cyxvPW5bMF0sYT1uWzNdLHM9bls2XSxsPW5bMV0sYz1uWzRdLHU9bls3XSxoPW5bMl0sZD1uWzVdLHA9bls4XSxmPWlbMF0sbT1pWzNdLGc9aVs2XSxfPWlbMV0seT1pWzRdLHY9aVs3XSxiPWlbMl0seD1pWzVdLHc9aVs4XTtyZXR1cm4gclswXT1vKmYrYSpfK3MqYixyWzNdPW8qbSthKnkrcyp4LHJbNl09bypnK2EqditzKncsclsxXT1sKmYrYypfK3UqYixyWzRdPWwqbStjKnkrdSp4LHJbN109bCpnK2Mqdit1KncsclsyXT1oKmYrZCpfK3AqYixyWzVdPWgqbStkKnkrcCp4LHJbOF09aCpnK2QqditwKncsdGhpc31tdWx0aXBseVNjYWxhcih0KXtjb25zdCBlPXRoaXMuZWxlbWVudHM7cmV0dXJuIGVbMF0qPXQsZVszXSo9dCxlWzZdKj10LGVbMV0qPXQsZVs0XSo9dCxlWzddKj10LGVbMl0qPXQsZVs1XSo9dCxlWzhdKj10LHRoaXN9ZGV0ZXJtaW5hbnQoKXtjb25zdCB0PXRoaXMuZWxlbWVudHMsZT10WzBdLG49dFsxXSxpPXRbMl0scj10WzNdLG89dFs0XSxhPXRbNV0scz10WzZdLGw9dFs3XSxjPXRbOF07cmV0dXJuIGUqbypjLWUqYSpsLW4qcipjK24qYSpzK2kqcipsLWkqbypzfWludmVydCgpe2NvbnN0IHQ9dGhpcy5lbGVtZW50cyxlPXRbMF0sbj10WzFdLGk9dFsyXSxyPXRbM10sbz10WzRdLGE9dFs1XSxzPXRbNl0sbD10WzddLGM9dFs4XSx1PWMqby1hKmwsaD1hKnMtYypyLGQ9bCpyLW8qcyxwPWUqdStuKmgraSpkO2lmKDA9PT1wKXJldHVybiB0aGlzLnNldCgwLDAsMCwwLDAsMCwwLDAsMCk7Y29uc3QgZj0xL3A7cmV0dXJuIHRbMF09dSpmLHRbMV09KGkqbC1jKm4pKmYsdFsyXT0oYSpuLWkqbykqZix0WzNdPWgqZix0WzRdPShjKmUtaSpzKSpmLHRbNV09KGkqci1hKmUpKmYsdFs2XT1kKmYsdFs3XT0obipzLWwqZSkqZix0WzhdPShvKmUtbipyKSpmLHRoaXN9dHJhbnNwb3NlKCl7bGV0IHQ7Y29uc3QgZT10aGlzLmVsZW1lbnRzO3JldHVybiB0PWVbMV0sZVsxXT1lWzNdLGVbM109dCx0PWVbMl0sZVsyXT1lWzZdLGVbNl09dCx0PWVbNV0sZVs1XT1lWzddLGVbN109dCx0aGlzfWdldE5vcm1hbE1hdHJpeCh0KXtyZXR1cm4gdGhpcy5zZXRGcm9tTWF0cml4NCh0KS5pbnZlcnQoKS50cmFuc3Bvc2UoKX10cmFuc3Bvc2VJbnRvQXJyYXkodCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzO3JldHVybiB0WzBdPWVbMF0sdFsxXT1lWzNdLHRbMl09ZVs2XSx0WzNdPWVbMV0sdFs0XT1lWzRdLHRbNV09ZVs3XSx0WzZdPWVbMl0sdFs3XT1lWzVdLHRbOF09ZVs4XSx0aGlzfXNldFV2VHJhbnNmb3JtKHQsZSxuLGkscixvLGEpe2NvbnN0IHM9TWF0aC5jb3MociksbD1NYXRoLnNpbihyKTtyZXR1cm4gdGhpcy5zZXQobipzLG4qbCwtbioocypvK2wqYSkrbyt0LC1pKmwsaSpzLC1pKigtbCpvK3MqYSkrYStlLDAsMCwxKSx0aGlzfXNjYWxlKHQsZSl7Y29uc3Qgbj10aGlzLmVsZW1lbnRzO3JldHVybiBuWzBdKj10LG5bM10qPXQsbls2XSo9dCxuWzFdKj1lLG5bNF0qPWUsbls3XSo9ZSx0aGlzfXJvdGF0ZSh0KXtjb25zdCBlPU1hdGguY29zKHQpLG49TWF0aC5zaW4odCksaT10aGlzLmVsZW1lbnRzLHI9aVswXSxvPWlbM10sYT1pWzZdLHM9aVsxXSxsPWlbNF0sYz1pWzddO3JldHVybiBpWzBdPWUqcituKnMsaVszXT1lKm8rbipsLGlbNl09ZSphK24qYyxpWzFdPS1uKnIrZSpzLGlbNF09LW4qbytlKmwsaVs3XT0tbiphK2UqYyx0aGlzfXRyYW5zbGF0ZSh0LGUpe2NvbnN0IG49dGhpcy5lbGVtZW50cztyZXR1cm4gblswXSs9dCpuWzJdLG5bM10rPXQqbls1XSxuWzZdKz10Km5bOF0sblsxXSs9ZSpuWzJdLG5bNF0rPWUqbls1XSxuWzddKz1lKm5bOF0sdGhpc31lcXVhbHModCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC5lbGVtZW50cztmb3IobGV0IHQ9MDt0PDk7dCsrKWlmKGVbdF0hPT1uW3RdKXJldHVybiExO3JldHVybiEwfWZyb21BcnJheSh0LGU9MCl7Zm9yKGxldCBuPTA7bjw5O24rKyl0aGlzLmVsZW1lbnRzW25dPXRbbitlXTtyZXR1cm4gdGhpc310b0FycmF5KHQ9W10sZT0wKXtjb25zdCBuPXRoaXMuZWxlbWVudHM7cmV0dXJuIHRbZV09blswXSx0W2UrMV09blsxXSx0W2UrMl09blsyXSx0W2UrM109blszXSx0W2UrNF09bls0XSx0W2UrNV09bls1XSx0W2UrNl09bls2XSx0W2UrN109bls3XSx0W2UrOF09bls4XSx0fWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5mcm9tQXJyYXkodGhpcy5lbGVtZW50cyl9fWxldCBrNXQ7QTV0LnByb3RvdHlwZS5pc01hdHJpeDM9ITA7Y2xhc3MgTDV0e3N0YXRpYyBnZXREYXRhVVJMKHQpe2lmKC9eZGF0YTovaS50ZXN0KHQuc3JjKSlyZXR1cm4gdC5zcmM7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBIVE1MQ2FudmFzRWxlbWVudClyZXR1cm4gdC5zcmM7bGV0IGU7aWYodCBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50KWU9dDtlbHNle3ZvaWQgMD09PWs1dCYmKGs1dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKSksazV0LndpZHRoPXQud2lkdGgsazV0LmhlaWdodD10LmhlaWdodDtjb25zdCBuPWs1dC5nZXRDb250ZXh0KCIyZCIpO3QgaW5zdGFuY2VvZiBJbWFnZURhdGE/bi5wdXRJbWFnZURhdGEodCwwLDApOm4uZHJhd0ltYWdlKHQsMCwwLHQud2lkdGgsdC5oZWlnaHQpLGU9azV0fXJldHVybiBlLndpZHRoPjIwNDh8fGUuaGVpZ2h0PjIwNDg/KGNvbnNvbGUud2FybigiVEhSRUUuSW1hZ2VVdGlscy5nZXREYXRhVVJMOiBJbWFnZSBjb252ZXJ0ZWQgdG8ganBnIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIix0KSxlLnRvRGF0YVVSTCgiaW1hZ2UvanBlZyIsLjYpKTplLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIil9fWxldCBQNXQ9MDtjbGFzcyBONXQgZXh0ZW5kcyBlNXR7Y29uc3RydWN0b3IodD1ONXQuREVGQVVMVF9JTUFHRSxlPU41dC5ERUZBVUxUX01BUFBJTkcsbj0xMDAxLGk9MTAwMSxyPTEwMDYsbz0xMDA4LGE9MTAyMyxzPTEwMDksbD0xLGM9M2UzKXtzdXBlcigpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOlA1dCsrfSksdGhpcy51dWlkPWE1dCgpLHRoaXMubmFtZT0iIix0aGlzLmltYWdlPXQsdGhpcy5taXBtYXBzPVtdLHRoaXMubWFwcGluZz1lLHRoaXMud3JhcFM9bix0aGlzLndyYXBUPWksdGhpcy5tYWdGaWx0ZXI9cix0aGlzLm1pbkZpbHRlcj1vLHRoaXMuYW5pc290cm9weT1sLHRoaXMuZm9ybWF0PWEsdGhpcy5pbnRlcm5hbEZvcm1hdD1udWxsLHRoaXMudHlwZT1zLHRoaXMub2Zmc2V0PW5ldyBDNXQoMCwwKSx0aGlzLnJlcGVhdD1uZXcgQzV0KDEsMSksdGhpcy5jZW50ZXI9bmV3IEM1dCgwLDApLHRoaXMucm90YXRpb249MCx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITAsdGhpcy5tYXRyaXg9bmV3IEE1dCx0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMCx0aGlzLnByZW11bHRpcGx5QWxwaGE9ITEsdGhpcy5mbGlwWT0hMCx0aGlzLnVucGFja0FsaWdubWVudD00LHRoaXMuZW5jb2Rpbmc9Yyx0aGlzLnZlcnNpb249MCx0aGlzLm9uVXBkYXRlPW51bGwsdGhpcy5pc1JlbmRlclRhcmdldFRleHR1cmU9ITF9dXBkYXRlTWF0cml4KCl7dGhpcy5tYXRyaXguc2V0VXZUcmFuc2Zvcm0odGhpcy5vZmZzZXQueCx0aGlzLm9mZnNldC55LHRoaXMucmVwZWF0LngsdGhpcy5yZXBlYXQueSx0aGlzLnJvdGF0aW9uLHRoaXMuY2VudGVyLngsdGhpcy5jZW50ZXIueSl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXtyZXR1cm4gdGhpcy5uYW1lPXQubmFtZSx0aGlzLmltYWdlPXQuaW1hZ2UsdGhpcy5taXBtYXBzPXQubWlwbWFwcy5zbGljZSgwKSx0aGlzLm1hcHBpbmc9dC5tYXBwaW5nLHRoaXMud3JhcFM9dC53cmFwUyx0aGlzLndyYXBUPXQud3JhcFQsdGhpcy5tYWdGaWx0ZXI9dC5tYWdGaWx0ZXIsdGhpcy5taW5GaWx0ZXI9dC5taW5GaWx0ZXIsdGhpcy5hbmlzb3Ryb3B5PXQuYW5pc290cm9weSx0aGlzLmZvcm1hdD10LmZvcm1hdCx0aGlzLmludGVybmFsRm9ybWF0PXQuaW50ZXJuYWxGb3JtYXQsdGhpcy50eXBlPXQudHlwZSx0aGlzLm9mZnNldC5jb3B5KHQub2Zmc2V0KSx0aGlzLnJlcGVhdC5jb3B5KHQucmVwZWF0KSx0aGlzLmNlbnRlci5jb3B5KHQuY2VudGVyKSx0aGlzLnJvdGF0aW9uPXQucm90YXRpb24sdGhpcy5tYXRyaXhBdXRvVXBkYXRlPXQubWF0cml4QXV0b1VwZGF0ZSx0aGlzLm1hdHJpeC5jb3B5KHQubWF0cml4KSx0aGlzLmdlbmVyYXRlTWlwbWFwcz10LmdlbmVyYXRlTWlwbWFwcyx0aGlzLnByZW11bHRpcGx5QWxwaGE9dC5wcmVtdWx0aXBseUFscGhhLHRoaXMuZmxpcFk9dC5mbGlwWSx0aGlzLnVucGFja0FsaWdubWVudD10LnVucGFja0FsaWdubWVudCx0aGlzLmVuY29kaW5nPXQuZW5jb2RpbmcsdGhpc310b0pTT04odCl7Y29uc3QgZT12b2lkIDA9PT10fHwic3RyaW5nIj09dHlwZW9mIHQ7aWYoIWUmJnZvaWQgMCE9PXQudGV4dHVyZXNbdGhpcy51dWlkXSlyZXR1cm4gdC50ZXh0dXJlc1t0aGlzLnV1aWRdO2NvbnN0IG49e21ldGFkYXRhOnt2ZXJzaW9uOjQuNSx0eXBlOiJUZXh0dXJlIixnZW5lcmF0b3I6IlRleHR1cmUudG9KU09OIn0sdXVpZDp0aGlzLnV1aWQsbmFtZTp0aGlzLm5hbWUsbWFwcGluZzp0aGlzLm1hcHBpbmcscmVwZWF0Olt0aGlzLnJlcGVhdC54LHRoaXMucmVwZWF0LnldLG9mZnNldDpbdGhpcy5vZmZzZXQueCx0aGlzLm9mZnNldC55XSxjZW50ZXI6W3RoaXMuY2VudGVyLngsdGhpcy5jZW50ZXIueV0scm90YXRpb246dGhpcy5yb3RhdGlvbix3cmFwOlt0aGlzLndyYXBTLHRoaXMud3JhcFRdLGZvcm1hdDp0aGlzLmZvcm1hdCx0eXBlOnRoaXMudHlwZSxlbmNvZGluZzp0aGlzLmVuY29kaW5nLG1pbkZpbHRlcjp0aGlzLm1pbkZpbHRlcixtYWdGaWx0ZXI6dGhpcy5tYWdGaWx0ZXIsYW5pc290cm9weTp0aGlzLmFuaXNvdHJvcHksZmxpcFk6dGhpcy5mbGlwWSxwcmVtdWx0aXBseUFscGhhOnRoaXMucHJlbXVsdGlwbHlBbHBoYSx1bnBhY2tBbGlnbm1lbnQ6dGhpcy51bnBhY2tBbGlnbm1lbnR9O2lmKHZvaWQgMCE9PXRoaXMuaW1hZ2Upe2NvbnN0IGk9dGhpcy5pbWFnZTtpZih2b2lkIDA9PT1pLnV1aWQmJihpLnV1aWQ9YTV0KCkpLCFlJiZ2b2lkIDA9PT10LmltYWdlc1tpLnV1aWRdKXtsZXQgZTtpZihBcnJheS5pc0FycmF5KGkpKXtlPVtdO2ZvcihsZXQgdD0wLG49aS5sZW5ndGg7dDxuO3QrKyllLnB1c2goSTV0KGlbdF0uaXNEYXRhVGV4dHVyZT9pW3RdLmltYWdlOmlbdF0pKX1lbHNlIGU9STV0KGkpO3QuaW1hZ2VzW2kudXVpZF09e3V1aWQ6aS51dWlkLHVybDplfX1uLmltYWdlPWkudXVpZH1yZXR1cm4gZXx8KHQudGV4dHVyZXNbdGhpcy51dWlkXT1uKSxufWRpc3Bvc2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9dHJhbnNmb3JtVXYodCl7aWYodGhpcy5tYXBwaW5nIT09dDJ0KXJldHVybiB0O2lmKHQuYXBwbHlNYXRyaXgzKHRoaXMubWF0cml4KSx0Lng8MHx8dC54PjEpc3dpdGNoKHRoaXMud3JhcFMpe2Nhc2UgczJ0OnQueD10LngtTWF0aC5mbG9vcih0LngpO2JyZWFrO2Nhc2UgbDJ0OnQueD10Lng8MD8wOjE7YnJlYWs7Y2FzZSBjMnQ6dC54PTE9PT1NYXRoLmFicyhNYXRoLmZsb29yKHQueCklMik/TWF0aC5jZWlsKHQueCktdC54OnQueC1NYXRoLmZsb29yKHQueCl9aWYodC55PDB8fHQueT4xKXN3aXRjaCh0aGlzLndyYXBUKXtjYXNlIHMydDp0Lnk9dC55LU1hdGguZmxvb3IodC55KTticmVhaztjYXNlIGwydDp0Lnk9dC55PDA/MDoxO2JyZWFrO2Nhc2UgYzJ0OnQueT0xPT09TWF0aC5hYnMoTWF0aC5mbG9vcih0LnkpJTIpP01hdGguY2VpbCh0LnkpLXQueTp0LnktTWF0aC5mbG9vcih0LnkpfXJldHVybiB0aGlzLmZsaXBZJiYodC55PTEtdC55KSx0fXNldCBuZWVkc1VwZGF0ZSh0KXshMD09PXQmJnRoaXMudmVyc2lvbisrfX1mdW5jdGlvbiBJNXQodCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MSW1hZ2VFbGVtZW50JiZ0IGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MQ2FudmFzRWxlbWVudCYmdCBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50fHwidW5kZWZpbmVkIiE9dHlwZW9mIEltYWdlQml0bWFwJiZ0IGluc3RhbmNlb2YgSW1hZ2VCaXRtYXA/TDV0LmdldERhdGFVUkwodCk6dC5kYXRhP3tkYXRhOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQuZGF0YSksd2lkdGg6dC53aWR0aCxoZWlnaHQ6dC5oZWlnaHQsdHlwZTp0LmRhdGEuY29uc3RydWN0b3IubmFtZX06KGNvbnNvbGUud2FybigiVEhSRUUuVGV4dHVyZTogVW5hYmxlIHRvIHNlcmlhbGl6ZSBUZXh0dXJlLiIpLHt9KX1ONXQuREVGQVVMVF9JTUFHRT12b2lkIDAsTjV0LkRFRkFVTFRfTUFQUElORz10MnQsTjV0LnByb3RvdHlwZS5pc1RleHR1cmU9ITA7Y2xhc3MgUjV0e2NvbnN0cnVjdG9yKHQ9MCxlPTAsbj0wLGk9MSl7dGhpcy54PXQsdGhpcy55PWUsdGhpcy56PW4sdGhpcy53PWl9Z2V0IHdpZHRoKCl7cmV0dXJuIHRoaXMuen1zZXQgd2lkdGgodCl7dGhpcy56PXR9Z2V0IGhlaWdodCgpe3JldHVybiB0aGlzLnd9c2V0IGhlaWdodCh0KXt0aGlzLnc9dH1zZXQodCxlLG4saSl7cmV0dXJuIHRoaXMueD10LHRoaXMueT1lLHRoaXMuej1uLHRoaXMudz1pLHRoaXN9c2V0U2NhbGFyKHQpe3JldHVybiB0aGlzLng9dCx0aGlzLnk9dCx0aGlzLno9dCx0aGlzLnc9dCx0aGlzfXNldFgodCl7cmV0dXJuIHRoaXMueD10LHRoaXN9c2V0WSh0KXtyZXR1cm4gdGhpcy55PXQsdGhpc31zZXRaKHQpe3JldHVybiB0aGlzLno9dCx0aGlzfXNldFcodCl7cmV0dXJuIHRoaXMudz10LHRoaXN9c2V0Q29tcG9uZW50KHQsZSl7c3dpdGNoKHQpe2Nhc2UgMDp0aGlzLng9ZTticmVhaztjYXNlIDE6dGhpcy55PWU7YnJlYWs7Y2FzZSAyOnRoaXMuej1lO2JyZWFrO2Nhc2UgMzp0aGlzLnc9ZTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW5kZXggaXMgb3V0IG9mIHJhbmdlOiAiK3QpfXJldHVybiB0aGlzfWdldENvbXBvbmVudCh0KXtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB0aGlzLng7Y2FzZSAxOnJldHVybiB0aGlzLnk7Y2FzZSAyOnJldHVybiB0aGlzLno7Y2FzZSAzOnJldHVybiB0aGlzLnc7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIit0KX19Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy54LHRoaXMueSx0aGlzLnosdGhpcy53KX1jb3B5KHQpe3JldHVybiB0aGlzLng9dC54LHRoaXMueT10LnksdGhpcy56PXQueix0aGlzLnc9dm9pZCAwIT09dC53P3QudzoxLHRoaXN9YWRkKHQsZSl7cmV0dXJuIHZvaWQgMCE9PWU/KGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yNDogLmFkZCgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLmFkZFZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuYWRkVmVjdG9ycyh0LGUpKToodGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcy56Kz10LnosdGhpcy53Kz10LncsdGhpcyl9YWRkU2NhbGFyKHQpe3JldHVybiB0aGlzLngrPXQsdGhpcy55Kz10LHRoaXMueis9dCx0aGlzLncrPXQsdGhpc31hZGRWZWN0b3JzKHQsZSl7cmV0dXJuIHRoaXMueD10LngrZS54LHRoaXMueT10LnkrZS55LHRoaXMuej10LnorZS56LHRoaXMudz10LncrZS53LHRoaXN9YWRkU2NhbGVkVmVjdG9yKHQsZSl7cmV0dXJuIHRoaXMueCs9dC54KmUsdGhpcy55Kz10LnkqZSx0aGlzLnorPXQueiplLHRoaXMudys9dC53KmUsdGhpc31zdWIodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3I0OiAuc3ViKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuc3ViVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5zdWJWZWN0b3JzKHQsZSkpOih0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzLnotPXQueix0aGlzLnctPXQudyx0aGlzKX1zdWJTY2FsYXIodCl7cmV0dXJuIHRoaXMueC09dCx0aGlzLnktPXQsdGhpcy56LT10LHRoaXMudy09dCx0aGlzfXN1YlZlY3RvcnModCxlKXtyZXR1cm4gdGhpcy54PXQueC1lLngsdGhpcy55PXQueS1lLnksdGhpcy56PXQuei1lLnosdGhpcy53PXQudy1lLncsdGhpc31tdWx0aXBseSh0KXtyZXR1cm4gdGhpcy54Kj10LngsdGhpcy55Kj10LnksdGhpcy56Kj10LnosdGhpcy53Kj10LncsdGhpc31tdWx0aXBseVNjYWxhcih0KXtyZXR1cm4gdGhpcy54Kj10LHRoaXMueSo9dCx0aGlzLnoqPXQsdGhpcy53Kj10LHRoaXN9YXBwbHlNYXRyaXg0KHQpe2NvbnN0IGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56LHI9dGhpcy53LG89dC5lbGVtZW50cztyZXR1cm4gdGhpcy54PW9bMF0qZStvWzRdKm4rb1s4XSppK29bMTJdKnIsdGhpcy55PW9bMV0qZStvWzVdKm4rb1s5XSppK29bMTNdKnIsdGhpcy56PW9bMl0qZStvWzZdKm4rb1sxMF0qaStvWzE0XSpyLHRoaXMudz1vWzNdKmUrb1s3XSpuK29bMTFdKmkrb1sxNV0qcix0aGlzfWRpdmlkZVNjYWxhcih0KXtyZXR1cm4gdGhpcy5tdWx0aXBseVNjYWxhcigxL3QpfXNldEF4aXNBbmdsZUZyb21RdWF0ZXJuaW9uKHQpe3RoaXMudz0yKk1hdGguYWNvcyh0LncpO2NvbnN0IGU9TWF0aC5zcXJ0KDEtdC53KnQudyk7cmV0dXJuIGU8MWUtND8odGhpcy54PTEsdGhpcy55PTAsdGhpcy56PTApOih0aGlzLng9dC54L2UsdGhpcy55PXQueS9lLHRoaXMuej10LnovZSksdGhpc31zZXRBeGlzQW5nbGVGcm9tUm90YXRpb25NYXRyaXgodCl7bGV0IGUsbixpLHI7Y29uc3Qgbz0uMDEsYT0uMSxzPXQuZWxlbWVudHMsbD1zWzBdLGM9c1s0XSx1PXNbOF0saD1zWzFdLGQ9c1s1XSxwPXNbOV0sZj1zWzJdLG09c1s2XSxnPXNbMTBdO2lmKE1hdGguYWJzKGMtaCk8byYmTWF0aC5hYnModS1mKTxvJiZNYXRoLmFicyhwLW0pPG8pe2lmKE1hdGguYWJzKGMraCk8YSYmTWF0aC5hYnModStmKTxhJiZNYXRoLmFicyhwK20pPGEmJk1hdGguYWJzKGwrZCtnLTMpPGEpcmV0dXJuIHRoaXMuc2V0KDEsMCwwLDApLHRoaXM7ZT1NYXRoLlBJO2NvbnN0IHQ9KGwrMSkvMixzPShkKzEpLzIsXz0oZysxKS8yLHk9KGMraCkvNCx2PSh1K2YpLzQsYj0ocCttKS80O3JldHVybiB0PnMmJnQ+Xz90PG8/KG49MCxpPS43MDcxMDY3ODEscj0uNzA3MTA2NzgxKToobj1NYXRoLnNxcnQodCksaT15L24scj12L24pOnM+Xz9zPG8/KG49LjcwNzEwNjc4MSxpPTAscj0uNzA3MTA2NzgxKTooaT1NYXRoLnNxcnQocyksbj15L2kscj1iL2kpOl88bz8obj0uNzA3MTA2NzgxLGk9LjcwNzEwNjc4MSxyPTApOihyPU1hdGguc3FydChfKSxuPXYvcixpPWIvciksdGhpcy5zZXQobixpLHIsZSksdGhpc31sZXQgXz1NYXRoLnNxcnQoKG0tcCkqKG0tcCkrKHUtZikqKHUtZikrKGgtYykqKGgtYykpO3JldHVybiBNYXRoLmFicyhfKTwuMDAxJiYoXz0xKSx0aGlzLng9KG0tcCkvXyx0aGlzLnk9KHUtZikvXyx0aGlzLno9KGgtYykvXyx0aGlzLnc9TWF0aC5hY29zKChsK2QrZy0xKS8yKSx0aGlzfW1pbih0KXtyZXR1cm4gdGhpcy54PU1hdGgubWluKHRoaXMueCx0LngpLHRoaXMueT1NYXRoLm1pbih0aGlzLnksdC55KSx0aGlzLno9TWF0aC5taW4odGhpcy56LHQueiksdGhpcy53PU1hdGgubWluKHRoaXMudyx0LncpLHRoaXN9bWF4KHQpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodGhpcy54LHQueCksdGhpcy55PU1hdGgubWF4KHRoaXMueSx0LnkpLHRoaXMuej1NYXRoLm1heCh0aGlzLnosdC56KSx0aGlzLnc9TWF0aC5tYXgodGhpcy53LHQudyksdGhpc31jbGFtcCh0LGUpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodC54LE1hdGgubWluKGUueCx0aGlzLngpKSx0aGlzLnk9TWF0aC5tYXgodC55LE1hdGgubWluKGUueSx0aGlzLnkpKSx0aGlzLno9TWF0aC5tYXgodC56LE1hdGgubWluKGUueix0aGlzLnopKSx0aGlzLnc9TWF0aC5tYXgodC53LE1hdGgubWluKGUudyx0aGlzLncpKSx0aGlzfWNsYW1wU2NhbGFyKHQsZSl7cmV0dXJuIHRoaXMueD1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy54KSksdGhpcy55PU1hdGgubWF4KHQsTWF0aC5taW4oZSx0aGlzLnkpKSx0aGlzLno9TWF0aC5tYXgodCxNYXRoLm1pbihlLHRoaXMueikpLHRoaXMudz1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy53KSksdGhpc31jbGFtcExlbmd0aCh0LGUpe2NvbnN0IG49dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIobnx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgodCxNYXRoLm1pbihlLG4pKSl9Zmxvb3IoKXtyZXR1cm4gdGhpcy54PU1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpLHRoaXMuej1NYXRoLmZsb29yKHRoaXMueiksdGhpcy53PU1hdGguZmxvb3IodGhpcy53KSx0aGlzfWNlaWwoKXtyZXR1cm4gdGhpcy54PU1hdGguY2VpbCh0aGlzLngpLHRoaXMueT1NYXRoLmNlaWwodGhpcy55KSx0aGlzLno9TWF0aC5jZWlsKHRoaXMueiksdGhpcy53PU1hdGguY2VpbCh0aGlzLncpLHRoaXN9cm91bmQoKXtyZXR1cm4gdGhpcy54PU1hdGgucm91bmQodGhpcy54KSx0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpLHRoaXMuej1NYXRoLnJvdW5kKHRoaXMueiksdGhpcy53PU1hdGgucm91bmQodGhpcy53KSx0aGlzfXJvdW5kVG9aZXJvKCl7cmV0dXJuIHRoaXMueD10aGlzLng8MD9NYXRoLmNlaWwodGhpcy54KTpNYXRoLmZsb29yKHRoaXMueCksdGhpcy55PXRoaXMueTwwP01hdGguY2VpbCh0aGlzLnkpOk1hdGguZmxvb3IodGhpcy55KSx0aGlzLno9dGhpcy56PDA/TWF0aC5jZWlsKHRoaXMueik6TWF0aC5mbG9vcih0aGlzLnopLHRoaXMudz10aGlzLnc8MD9NYXRoLmNlaWwodGhpcy53KTpNYXRoLmZsb29yKHRoaXMudyksdGhpc31uZWdhdGUoKXtyZXR1cm4gdGhpcy54PS10aGlzLngsdGhpcy55PS10aGlzLnksdGhpcy56PS10aGlzLnosdGhpcy53PS10aGlzLncsdGhpc31kb3QodCl7cmV0dXJuIHRoaXMueCp0LngrdGhpcy55KnQueSt0aGlzLnoqdC56K3RoaXMudyp0Lnd9bGVuZ3RoU3EoKXtyZXR1cm4gdGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55K3RoaXMueip0aGlzLnordGhpcy53KnRoaXMud31sZW5ndGgoKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSt0aGlzLnoqdGhpcy56K3RoaXMudyp0aGlzLncpfW1hbmhhdHRhbkxlbmd0aCgpe3JldHVybiBNYXRoLmFicyh0aGlzLngpK01hdGguYWJzKHRoaXMueSkrTWF0aC5hYnModGhpcy56KStNYXRoLmFicyh0aGlzLncpfW5vcm1hbGl6ZSgpe3JldHVybiB0aGlzLmRpdmlkZVNjYWxhcih0aGlzLmxlbmd0aCgpfHwxKX1zZXRMZW5ndGgodCl7cmV0dXJuIHRoaXMubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIodCl9bGVycCh0LGUpe3JldHVybiB0aGlzLngrPSh0LngtdGhpcy54KSplLHRoaXMueSs9KHQueS10aGlzLnkpKmUsdGhpcy56Kz0odC56LXRoaXMueikqZSx0aGlzLncrPSh0LnctdGhpcy53KSplLHRoaXN9bGVycFZlY3RvcnModCxlLG4pe3JldHVybiB0aGlzLng9dC54KyhlLngtdC54KSpuLHRoaXMueT10LnkrKGUueS10LnkpKm4sdGhpcy56PXQueisoZS56LXQueikqbix0aGlzLnc9dC53KyhlLnctdC53KSpuLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lng9PT10aGlzLngmJnQueT09PXRoaXMueSYmdC56PT09dGhpcy56JiZ0Lnc9PT10aGlzLnd9ZnJvbUFycmF5KHQsZT0wKXtyZXR1cm4gdGhpcy54PXRbZV0sdGhpcy55PXRbZSsxXSx0aGlzLno9dFtlKzJdLHRoaXMudz10W2UrM10sdGhpc310b0FycmF5KHQ9W10sZT0wKXtyZXR1cm4gdFtlXT10aGlzLngsdFtlKzFdPXRoaXMueSx0W2UrMl09dGhpcy56LHRbZSszXT10aGlzLncsdH1mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSxuKXtyZXR1cm4gdm9pZCAwIT09biYmY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3I0OiBvZmZzZXQgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIC5mcm9tQnVmZmVyQXR0cmlidXRlKCkuIiksdGhpcy54PXQuZ2V0WChlKSx0aGlzLnk9dC5nZXRZKGUpLHRoaXMuej10LmdldFooZSksdGhpcy53PXQuZ2V0VyhlKSx0aGlzfXJhbmRvbSgpe3JldHVybiB0aGlzLng9TWF0aC5yYW5kb20oKSx0aGlzLnk9TWF0aC5yYW5kb20oKSx0aGlzLno9TWF0aC5yYW5kb20oKSx0aGlzLnc9TWF0aC5yYW5kb20oKSx0aGlzfX1SNXQucHJvdG90eXBlLmlzVmVjdG9yND0hMDtjbGFzcyBPNXQgZXh0ZW5kcyBlNXR7Y29uc3RydWN0b3IodCxlLG49e30pe3N1cGVyKCksdGhpcy53aWR0aD10LHRoaXMuaGVpZ2h0PWUsdGhpcy5kZXB0aD0xLHRoaXMuc2Npc3Nvcj1uZXcgUjV0KDAsMCx0LGUpLHRoaXMuc2Npc3NvclRlc3Q9ITEsdGhpcy52aWV3cG9ydD1uZXcgUjV0KDAsMCx0LGUpLHRoaXMudGV4dHVyZT1uZXcgTjV0KHZvaWQgMCxuLm1hcHBpbmcsbi53cmFwUyxuLndyYXBULG4ubWFnRmlsdGVyLG4ubWluRmlsdGVyLG4uZm9ybWF0LG4udHlwZSxuLmFuaXNvdHJvcHksbi5lbmNvZGluZyksdGhpcy50ZXh0dXJlLmlzUmVuZGVyVGFyZ2V0VGV4dHVyZT0hMCx0aGlzLnRleHR1cmUuaW1hZ2U9e3dpZHRoOnQsaGVpZ2h0OmUsZGVwdGg6MX0sdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz12b2lkIDAhPT1uLmdlbmVyYXRlTWlwbWFwcyYmbi5nZW5lcmF0ZU1pcG1hcHMsdGhpcy50ZXh0dXJlLm1pbkZpbHRlcj12b2lkIDAhPT1uLm1pbkZpbHRlcj9uLm1pbkZpbHRlcjpwMnQsdGhpcy5kZXB0aEJ1ZmZlcj12b2lkIDA9PT1uLmRlcHRoQnVmZmVyfHxuLmRlcHRoQnVmZmVyLHRoaXMuc3RlbmNpbEJ1ZmZlcj12b2lkIDAhPT1uLnN0ZW5jaWxCdWZmZXImJm4uc3RlbmNpbEJ1ZmZlcix0aGlzLmRlcHRoVGV4dHVyZT12b2lkIDAhPT1uLmRlcHRoVGV4dHVyZT9uLmRlcHRoVGV4dHVyZTpudWxsfXNldFRleHR1cmUodCl7dC5pbWFnZT17d2lkdGg6dGhpcy53aWR0aCxoZWlnaHQ6dGhpcy5oZWlnaHQsZGVwdGg6dGhpcy5kZXB0aH0sdGhpcy50ZXh0dXJlPXR9c2V0U2l6ZSh0LGUsbj0xKXt0aGlzLndpZHRoPT09dCYmdGhpcy5oZWlnaHQ9PT1lJiZ0aGlzLmRlcHRoPT09bnx8KHRoaXMud2lkdGg9dCx0aGlzLmhlaWdodD1lLHRoaXMuZGVwdGg9bix0aGlzLnRleHR1cmUuaW1hZ2Uud2lkdGg9dCx0aGlzLnRleHR1cmUuaW1hZ2UuaGVpZ2h0PWUsdGhpcy50ZXh0dXJlLmltYWdlLmRlcHRoPW4sdGhpcy5kaXNwb3NlKCkpLHRoaXMudmlld3BvcnQuc2V0KDAsMCx0LGUpLHRoaXMuc2Npc3Nvci5zZXQoMCwwLHQsZSl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXtyZXR1cm4gdGhpcy53aWR0aD10LndpZHRoLHRoaXMuaGVpZ2h0PXQuaGVpZ2h0LHRoaXMuZGVwdGg9dC5kZXB0aCx0aGlzLnZpZXdwb3J0LmNvcHkodC52aWV3cG9ydCksdGhpcy50ZXh0dXJlPXQudGV4dHVyZS5jbG9uZSgpLHRoaXMudGV4dHVyZS5pbWFnZT17Li4udGhpcy50ZXh0dXJlLmltYWdlfSx0aGlzLmRlcHRoQnVmZmVyPXQuZGVwdGhCdWZmZXIsdGhpcy5zdGVuY2lsQnVmZmVyPXQuc3RlbmNpbEJ1ZmZlcix0aGlzLmRlcHRoVGV4dHVyZT10LmRlcHRoVGV4dHVyZSx0aGlzfWRpc3Bvc2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9fU81dC5wcm90b3R5cGUuaXNXZWJHTFJlbmRlclRhcmdldD0hMDtjbGFzcyB6NXQgZXh0ZW5kcyBPNXR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSk7Y29uc3QgaT10aGlzLnRleHR1cmU7dGhpcy50ZXh0dXJlPVtdO2ZvcihsZXQgdD0wO3Q8bjt0KyspdGhpcy50ZXh0dXJlW3RdPWkuY2xvbmUoKX1zZXRTaXplKHQsZSxuPTEpe2lmKHRoaXMud2lkdGghPT10fHx0aGlzLmhlaWdodCE9PWV8fHRoaXMuZGVwdGghPT1uKXt0aGlzLndpZHRoPXQsdGhpcy5oZWlnaHQ9ZSx0aGlzLmRlcHRoPW47Zm9yKGxldCBpPTAscj10aGlzLnRleHR1cmUubGVuZ3RoO2k8cjtpKyspdGhpcy50ZXh0dXJlW2ldLmltYWdlLndpZHRoPXQsdGhpcy50ZXh0dXJlW2ldLmltYWdlLmhlaWdodD1lLHRoaXMudGV4dHVyZVtpXS5pbWFnZS5kZXB0aD1uO3RoaXMuZGlzcG9zZSgpfXJldHVybiB0aGlzLnZpZXdwb3J0LnNldCgwLDAsdCxlKSx0aGlzLnNjaXNzb3Iuc2V0KDAsMCx0LGUpLHRoaXN9Y29weSh0KXt0aGlzLmRpc3Bvc2UoKSx0aGlzLndpZHRoPXQud2lkdGgsdGhpcy5oZWlnaHQ9dC5oZWlnaHQsdGhpcy5kZXB0aD10LmRlcHRoLHRoaXMudmlld3BvcnQuc2V0KDAsMCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KSx0aGlzLnNjaXNzb3Iuc2V0KDAsMCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KSx0aGlzLmRlcHRoQnVmZmVyPXQuZGVwdGhCdWZmZXIsdGhpcy5zdGVuY2lsQnVmZmVyPXQuc3RlbmNpbEJ1ZmZlcix0aGlzLmRlcHRoVGV4dHVyZT10LmRlcHRoVGV4dHVyZSx0aGlzLnRleHR1cmUubGVuZ3RoPTA7Zm9yKGxldCBlPTAsbj10LnRleHR1cmUubGVuZ3RoO2U8bjtlKyspdGhpcy50ZXh0dXJlW2VdPXQudGV4dHVyZVtlXS5jbG9uZSgpO3JldHVybiB0aGlzfX16NXQucHJvdG90eXBlLmlzV2ViR0xNdWx0aXBsZVJlbmRlclRhcmdldHM9ITA7Y2xhc3MgRDV0IGV4dGVuZHMgTzV0e2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcih0LGUsbiksdGhpcy5zYW1wbGVzPTR9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weS5jYWxsKHRoaXMsdCksdGhpcy5zYW1wbGVzPXQuc2FtcGxlcyx0aGlzfX1ENXQucHJvdG90eXBlLmlzV2ViR0xNdWx0aXNhbXBsZVJlbmRlclRhcmdldD0hMDtjbGFzcyBCNXR7Y29uc3RydWN0b3IodD0wLGU9MCxuPTAsaT0xKXt0aGlzLl94PXQsdGhpcy5feT1lLHRoaXMuX3o9bix0aGlzLl93PWl9c3RhdGljIHNsZXJwKHQsZSxuLGkpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlF1YXRlcm5pb246IFN0YXRpYyAuc2xlcnAoKSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgcW0uc2xlcnBRdWF0ZXJuaW9ucyggcWEsIHFiLCB0ICkgaW5zdGVhZC4iKSxuLnNsZXJwUXVhdGVybmlvbnModCxlLGkpfXN0YXRpYyBzbGVycEZsYXQodCxlLG4saSxyLG8sYSl7bGV0IHM9bltpKzBdLGw9bltpKzFdLGM9bltpKzJdLHU9bltpKzNdO2NvbnN0IGg9cltvKzBdLGQ9cltvKzFdLHA9cltvKzJdLGY9cltvKzNdO2lmKDA9PT1hKXJldHVybiB0W2UrMF09cyx0W2UrMV09bCx0W2UrMl09Yyx2b2lkKHRbZSszXT11KTtpZigxPT09YSlyZXR1cm4gdFtlKzBdPWgsdFtlKzFdPWQsdFtlKzJdPXAsdm9pZCh0W2UrM109Zik7aWYodSE9PWZ8fHMhPT1ofHxsIT09ZHx8YyE9PXApe2xldCB0PTEtYTtjb25zdCBlPXMqaCtsKmQrYypwK3UqZixuPWU+PTA/MTotMSxpPTEtZSplO2lmKGk+TnVtYmVyLkVQU0lMT04pe2NvbnN0IHI9TWF0aC5zcXJ0KGkpLG89TWF0aC5hdGFuMihyLGUqbik7dD1NYXRoLnNpbih0Km8pL3IsYT1NYXRoLnNpbihhKm8pL3J9Y29uc3Qgcj1hKm47aWYocz1zKnQraCpyLGw9bCp0K2QqcixjPWMqdCtwKnIsdT11KnQrZipyLHQ9PT0xLWEpe2NvbnN0IHQ9MS9NYXRoLnNxcnQocypzK2wqbCtjKmMrdSp1KTtzKj10LGwqPXQsYyo9dCx1Kj10fX10W2VdPXMsdFtlKzFdPWwsdFtlKzJdPWMsdFtlKzNdPXV9c3RhdGljIG11bHRpcGx5UXVhdGVybmlvbnNGbGF0KHQsZSxuLGkscixvKXtjb25zdCBhPW5baV0scz1uW2krMV0sbD1uW2krMl0sYz1uW2krM10sdT1yW29dLGg9cltvKzFdLGQ9cltvKzJdLHA9cltvKzNdO3JldHVybiB0W2VdPWEqcCtjKnUrcypkLWwqaCx0W2UrMV09cypwK2MqaCtsKnUtYSpkLHRbZSsyXT1sKnArYypkK2EqaC1zKnUsdFtlKzNdPWMqcC1hKnUtcypoLWwqZCx0fWdldCB4KCl7cmV0dXJuIHRoaXMuX3h9c2V0IHgodCl7dGhpcy5feD10LHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX1nZXQgeSgpe3JldHVybiB0aGlzLl95fXNldCB5KHQpe3RoaXMuX3k9dCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9Z2V0IHooKXtyZXR1cm4gdGhpcy5fen1zZXQgeih0KXt0aGlzLl96PXQsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpfWdldCB3KCl7cmV0dXJuIHRoaXMuX3d9c2V0IHcodCl7dGhpcy5fdz10LHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX1zZXQodCxlLG4saSl7cmV0dXJuIHRoaXMuX3g9dCx0aGlzLl95PWUsdGhpcy5fej1uLHRoaXMuX3c9aSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31jbG9uZSgpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLl94LHRoaXMuX3ksdGhpcy5feix0aGlzLl93KX1jb3B5KHQpe3JldHVybiB0aGlzLl94PXQueCx0aGlzLl95PXQueSx0aGlzLl96PXQueix0aGlzLl93PXQudyx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zZXRGcm9tRXVsZXIodCxlKXtpZighdHx8IXQuaXNFdWxlcil0aHJvdyBuZXcgRXJyb3IoIlRIUkVFLlF1YXRlcm5pb246IC5zZXRGcm9tRXVsZXIoKSBub3cgZXhwZWN0cyBhbiBFdWxlciByb3RhdGlvbiByYXRoZXIgdGhhbiBhIFZlY3RvcjMgYW5kIG9yZGVyLiIpO2NvbnN0IG49dC5feCxpPXQuX3kscj10Ll96LG89dC5fb3JkZXIsYT1NYXRoLmNvcyxzPU1hdGguc2luLGw9YShuLzIpLGM9YShpLzIpLHU9YShyLzIpLGg9cyhuLzIpLGQ9cyhpLzIpLHA9cyhyLzIpO3N3aXRjaChvKXtjYXNlIlhZWiI6dGhpcy5feD1oKmMqdStsKmQqcCx0aGlzLl95PWwqZCp1LWgqYypwLHRoaXMuX3o9bCpjKnAraCpkKnUsdGhpcy5fdz1sKmMqdS1oKmQqcDticmVhaztjYXNlIllYWiI6dGhpcy5feD1oKmMqdStsKmQqcCx0aGlzLl95PWwqZCp1LWgqYypwLHRoaXMuX3o9bCpjKnAtaCpkKnUsdGhpcy5fdz1sKmMqdStoKmQqcDticmVhaztjYXNlIlpYWSI6dGhpcy5feD1oKmMqdS1sKmQqcCx0aGlzLl95PWwqZCp1K2gqYypwLHRoaXMuX3o9bCpjKnAraCpkKnUsdGhpcy5fdz1sKmMqdS1oKmQqcDticmVhaztjYXNlIlpZWCI6dGhpcy5feD1oKmMqdS1sKmQqcCx0aGlzLl95PWwqZCp1K2gqYypwLHRoaXMuX3o9bCpjKnAtaCpkKnUsdGhpcy5fdz1sKmMqdStoKmQqcDticmVhaztjYXNlIllaWCI6dGhpcy5feD1oKmMqdStsKmQqcCx0aGlzLl95PWwqZCp1K2gqYypwLHRoaXMuX3o9bCpjKnAtaCpkKnUsdGhpcy5fdz1sKmMqdS1oKmQqcDticmVhaztjYXNlIlhaWSI6dGhpcy5feD1oKmMqdS1sKmQqcCx0aGlzLl95PWwqZCp1LWgqYypwLHRoaXMuX3o9bCpjKnAraCpkKnUsdGhpcy5fdz1sKmMqdStoKmQqcDticmVhaztkZWZhdWx0OmNvbnNvbGUud2FybigiVEhSRUUuUXVhdGVybmlvbjogLnNldEZyb21FdWxlcigpIGVuY291bnRlcmVkIGFuIHVua25vd24gb3JkZXI6ICIrbyl9cmV0dXJuITEhPT1lJiZ0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zZXRGcm9tQXhpc0FuZ2xlKHQsZSl7Y29uc3Qgbj1lLzIsaT1NYXRoLnNpbihuKTtyZXR1cm4gdGhpcy5feD10LngqaSx0aGlzLl95PXQueSppLHRoaXMuX3o9dC56KmksdGhpcy5fdz1NYXRoLmNvcyhuKSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zZXRGcm9tUm90YXRpb25NYXRyaXgodCl7Y29uc3QgZT10LmVsZW1lbnRzLG49ZVswXSxpPWVbNF0scj1lWzhdLG89ZVsxXSxhPWVbNV0scz1lWzldLGw9ZVsyXSxjPWVbNl0sdT1lWzEwXSxoPW4rYSt1O2lmKGg+MCl7Y29uc3QgdD0uNS9NYXRoLnNxcnQoaCsxKTt0aGlzLl93PS4yNS90LHRoaXMuX3g9KGMtcykqdCx0aGlzLl95PShyLWwpKnQsdGhpcy5fej0oby1pKSp0fWVsc2UgaWYobj5hJiZuPnUpe2NvbnN0IHQ9MipNYXRoLnNxcnQoMStuLWEtdSk7dGhpcy5fdz0oYy1zKS90LHRoaXMuX3g9LjI1KnQsdGhpcy5feT0oaStvKS90LHRoaXMuX3o9KHIrbCkvdH1lbHNlIGlmKGE+dSl7Y29uc3QgdD0yKk1hdGguc3FydCgxK2Etbi11KTt0aGlzLl93PShyLWwpL3QsdGhpcy5feD0oaStvKS90LHRoaXMuX3k9LjI1KnQsdGhpcy5fej0ocytjKS90fWVsc2V7Y29uc3QgdD0yKk1hdGguc3FydCgxK3Utbi1hKTt0aGlzLl93PShvLWkpL3QsdGhpcy5feD0ocitsKS90LHRoaXMuX3k9KHMrYykvdCx0aGlzLl96PS4yNSp0fXJldHVybiB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zZXRGcm9tVW5pdFZlY3RvcnModCxlKXtsZXQgbj10LmRvdChlKSsxO3JldHVybiBuPE51bWJlci5FUFNJTE9OPyhuPTAsTWF0aC5hYnModC54KT5NYXRoLmFicyh0LnopPyh0aGlzLl94PS10LnksdGhpcy5feT10LngsdGhpcy5fej0wLHRoaXMuX3c9bik6KHRoaXMuX3g9MCx0aGlzLl95PS10LnosdGhpcy5fej10LnksdGhpcy5fdz1uKSk6KHRoaXMuX3g9dC55KmUuei10LnoqZS55LHRoaXMuX3k9dC56KmUueC10LngqZS56LHRoaXMuX3o9dC54KmUueS10LnkqZS54LHRoaXMuX3c9biksdGhpcy5ub3JtYWxpemUoKX1hbmdsZVRvKHQpe3JldHVybiAyKk1hdGguYWNvcyhNYXRoLmFicyhzNXQodGhpcy5kb3QodCksLTEsMSkpKX1yb3RhdGVUb3dhcmRzKHQsZSl7Y29uc3Qgbj10aGlzLmFuZ2xlVG8odCk7aWYoMD09PW4pcmV0dXJuIHRoaXM7Y29uc3QgaT1NYXRoLm1pbigxLGUvbik7cmV0dXJuIHRoaXMuc2xlcnAodCxpKSx0aGlzfWlkZW50aXR5KCl7cmV0dXJuIHRoaXMuc2V0KDAsMCwwLDEpfWludmVydCgpe3JldHVybiB0aGlzLmNvbmp1Z2F0ZSgpfWNvbmp1Z2F0ZSgpe3JldHVybiB0aGlzLl94Kj0tMSx0aGlzLl95Kj0tMSx0aGlzLl96Kj0tMSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31kb3QodCl7cmV0dXJuIHRoaXMuX3gqdC5feCt0aGlzLl95KnQuX3krdGhpcy5feip0Ll96K3RoaXMuX3cqdC5fd31sZW5ndGhTcSgpe3JldHVybiB0aGlzLl94KnRoaXMuX3grdGhpcy5feSp0aGlzLl95K3RoaXMuX3oqdGhpcy5feit0aGlzLl93KnRoaXMuX3d9bGVuZ3RoKCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLl94KnRoaXMuX3grdGhpcy5feSp0aGlzLl95K3RoaXMuX3oqdGhpcy5feit0aGlzLl93KnRoaXMuX3cpfW5vcm1hbGl6ZSgpe2xldCB0PXRoaXMubGVuZ3RoKCk7cmV0dXJuIDA9PT10Pyh0aGlzLl94PTAsdGhpcy5feT0wLHRoaXMuX3o9MCx0aGlzLl93PTEpOih0PTEvdCx0aGlzLl94PXRoaXMuX3gqdCx0aGlzLl95PXRoaXMuX3kqdCx0aGlzLl96PXRoaXMuX3oqdCx0aGlzLl93PXRoaXMuX3cqdCksdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9bXVsdGlwbHkodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5RdWF0ZXJuaW9uOiAubXVsdGlwbHkoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5tdWx0aXBseVF1YXRlcm5pb25zKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLm11bHRpcGx5UXVhdGVybmlvbnModCxlKSk6dGhpcy5tdWx0aXBseVF1YXRlcm5pb25zKHRoaXMsdCl9cHJlbXVsdGlwbHkodCl7cmV0dXJuIHRoaXMubXVsdGlwbHlRdWF0ZXJuaW9ucyh0LHRoaXMpfW11bHRpcGx5UXVhdGVybmlvbnModCxlKXtjb25zdCBuPXQuX3gsaT10Ll95LHI9dC5feixvPXQuX3csYT1lLl94LHM9ZS5feSxsPWUuX3osYz1lLl93O3JldHVybiB0aGlzLl94PW4qYytvKmEraSpsLXIqcyx0aGlzLl95PWkqYytvKnMrciphLW4qbCx0aGlzLl96PXIqYytvKmwrbipzLWkqYSx0aGlzLl93PW8qYy1uKmEtaSpzLXIqbCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zbGVycCh0LGUpe2lmKDA9PT1lKXJldHVybiB0aGlzO2lmKDE9PT1lKXJldHVybiB0aGlzLmNvcHkodCk7Y29uc3Qgbj10aGlzLl94LGk9dGhpcy5feSxyPXRoaXMuX3osbz10aGlzLl93O2xldCBhPW8qdC5fdytuKnQuX3graSp0Ll95K3IqdC5fejtpZihhPDA/KHRoaXMuX3c9LXQuX3csdGhpcy5feD0tdC5feCx0aGlzLl95PS10Ll95LHRoaXMuX3o9LXQuX3osYT0tYSk6dGhpcy5jb3B5KHQpLGE+PTEpcmV0dXJuIHRoaXMuX3c9byx0aGlzLl94PW4sdGhpcy5feT1pLHRoaXMuX3o9cix0aGlzO2NvbnN0IHM9MS1hKmE7aWYoczw9TnVtYmVyLkVQU0lMT04pe2NvbnN0IHQ9MS1lO3JldHVybiB0aGlzLl93PXQqbytlKnRoaXMuX3csdGhpcy5feD10Km4rZSp0aGlzLl94LHRoaXMuX3k9dCppK2UqdGhpcy5feSx0aGlzLl96PXQqcitlKnRoaXMuX3osdGhpcy5ub3JtYWxpemUoKSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31jb25zdCBsPU1hdGguc3FydChzKSxjPU1hdGguYXRhbjIobCxhKSx1PU1hdGguc2luKCgxLWUpKmMpL2wsaD1NYXRoLnNpbihlKmMpL2w7cmV0dXJuIHRoaXMuX3c9byp1K3RoaXMuX3cqaCx0aGlzLl94PW4qdSt0aGlzLl94KmgsdGhpcy5feT1pKnUrdGhpcy5feSpoLHRoaXMuX3o9cip1K3RoaXMuX3oqaCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zbGVycFF1YXRlcm5pb25zKHQsZSxuKXt0aGlzLmNvcHkodCkuc2xlcnAoZSxuKX1lcXVhbHModCl7cmV0dXJuIHQuX3g9PT10aGlzLl94JiZ0Ll95PT09dGhpcy5feSYmdC5fej09PXRoaXMuX3omJnQuX3c9PT10aGlzLl93fWZyb21BcnJheSh0LGU9MCl7cmV0dXJuIHRoaXMuX3g9dFtlXSx0aGlzLl95PXRbZSsxXSx0aGlzLl96PXRbZSsyXSx0aGlzLl93PXRbZSszXSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc310b0FycmF5KHQ9W10sZT0wKXtyZXR1cm4gdFtlXT10aGlzLl94LHRbZSsxXT10aGlzLl95LHRbZSsyXT10aGlzLl96LHRbZSszXT10aGlzLl93LHR9ZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LGUpe3JldHVybiB0aGlzLl94PXQuZ2V0WChlKSx0aGlzLl95PXQuZ2V0WShlKSx0aGlzLl96PXQuZ2V0WihlKSx0aGlzLl93PXQuZ2V0VyhlKSx0aGlzfV9vbkNoYW5nZSh0KXtyZXR1cm4gdGhpcy5fb25DaGFuZ2VDYWxsYmFjaz10LHRoaXN9X29uQ2hhbmdlQ2FsbGJhY2soKXt9fUI1dC5wcm90b3R5cGUuaXNRdWF0ZXJuaW9uPSEwO2NsYXNzIEg1dHtjb25zdHJ1Y3Rvcih0PTAsZT0wLG49MCl7dGhpcy54PXQsdGhpcy55PWUsdGhpcy56PW59c2V0KHQsZSxuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49dGhpcy56KSx0aGlzLng9dCx0aGlzLnk9ZSx0aGlzLno9bix0aGlzfXNldFNjYWxhcih0KXtyZXR1cm4gdGhpcy54PXQsdGhpcy55PXQsdGhpcy56PXQsdGhpc31zZXRYKHQpe3JldHVybiB0aGlzLng9dCx0aGlzfXNldFkodCl7cmV0dXJuIHRoaXMueT10LHRoaXN9c2V0Wih0KXtyZXR1cm4gdGhpcy56PXQsdGhpc31zZXRDb21wb25lbnQodCxlKXtzd2l0Y2godCl7Y2FzZSAwOnRoaXMueD1lO2JyZWFrO2Nhc2UgMTp0aGlzLnk9ZTticmVhaztjYXNlIDI6dGhpcy56PWU7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIit0KX1yZXR1cm4gdGhpc31nZXRDb21wb25lbnQodCl7c3dpdGNoKHQpe2Nhc2UgMDpyZXR1cm4gdGhpcy54O2Nhc2UgMTpyZXR1cm4gdGhpcy55O2Nhc2UgMjpyZXR1cm4gdGhpcy56O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJpbmRleCBpcyBvdXQgb2YgcmFuZ2U6ICIrdCl9fWNsb25lKCl7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMueCx0aGlzLnksdGhpcy56KX1jb3B5KHQpe3JldHVybiB0aGlzLng9dC54LHRoaXMueT10LnksdGhpcy56PXQueix0aGlzfWFkZCh0LGUpe3JldHVybiB2b2lkIDAhPT1lPyhjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5hZGQoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5hZGRWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLmFkZFZlY3RvcnModCxlKSk6KHRoaXMueCs9dC54LHRoaXMueSs9dC55LHRoaXMueis9dC56LHRoaXMpfWFkZFNjYWxhcih0KXtyZXR1cm4gdGhpcy54Kz10LHRoaXMueSs9dCx0aGlzLnorPXQsdGhpc31hZGRWZWN0b3JzKHQsZSl7cmV0dXJuIHRoaXMueD10LngrZS54LHRoaXMueT10LnkrZS55LHRoaXMuej10LnorZS56LHRoaXN9YWRkU2NhbGVkVmVjdG9yKHQsZSl7cmV0dXJuIHRoaXMueCs9dC54KmUsdGhpcy55Kz10LnkqZSx0aGlzLnorPXQueiplLHRoaXN9c3ViKHQsZSl7cmV0dXJuIHZvaWQgMCE9PWU/KGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLnN1YigpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLnN1YlZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuc3ViVmVjdG9ycyh0LGUpKToodGhpcy54LT10LngsdGhpcy55LT10LnksdGhpcy56LT10LnosdGhpcyl9c3ViU2NhbGFyKHQpe3JldHVybiB0aGlzLngtPXQsdGhpcy55LT10LHRoaXMuei09dCx0aGlzfXN1YlZlY3RvcnModCxlKXtyZXR1cm4gdGhpcy54PXQueC1lLngsdGhpcy55PXQueS1lLnksdGhpcy56PXQuei1lLnosdGhpc31tdWx0aXBseSh0LGUpe3JldHVybiB2b2lkIDAhPT1lPyhjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5tdWx0aXBseSgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLm11bHRpcGx5VmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5tdWx0aXBseVZlY3RvcnModCxlKSk6KHRoaXMueCo9dC54LHRoaXMueSo9dC55LHRoaXMueio9dC56LHRoaXMpfW11bHRpcGx5U2NhbGFyKHQpe3JldHVybiB0aGlzLngqPXQsdGhpcy55Kj10LHRoaXMueio9dCx0aGlzfW11bHRpcGx5VmVjdG9ycyh0LGUpe3JldHVybiB0aGlzLng9dC54KmUueCx0aGlzLnk9dC55KmUueSx0aGlzLno9dC56KmUueix0aGlzfWFwcGx5RXVsZXIodCl7cmV0dXJuIHQmJnQuaXNFdWxlcnx8Y29uc29sZS5lcnJvcigiVEhSRUUuVmVjdG9yMzogLmFwcGx5RXVsZXIoKSBub3cgZXhwZWN0cyBhbiBFdWxlciByb3RhdGlvbiByYXRoZXIgdGhhbiBhIFZlY3RvcjMgYW5kIG9yZGVyLiIpLHRoaXMuYXBwbHlRdWF0ZXJuaW9uKFY1dC5zZXRGcm9tRXVsZXIodCkpfWFwcGx5QXhpc0FuZ2xlKHQsZSl7cmV0dXJuIHRoaXMuYXBwbHlRdWF0ZXJuaW9uKFY1dC5zZXRGcm9tQXhpc0FuZ2xlKHQsZSkpfWFwcGx5TWF0cml4Myh0KXtjb25zdCBlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPXQuZWxlbWVudHM7cmV0dXJuIHRoaXMueD1yWzBdKmUrclszXSpuK3JbNl0qaSx0aGlzLnk9clsxXSplK3JbNF0qbityWzddKmksdGhpcy56PXJbMl0qZStyWzVdKm4rcls4XSppLHRoaXN9YXBwbHlOb3JtYWxNYXRyaXgodCl7cmV0dXJuIHRoaXMuYXBwbHlNYXRyaXgzKHQpLm5vcm1hbGl6ZSgpfWFwcGx5TWF0cml4NCh0KXtjb25zdCBlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPXQuZWxlbWVudHMsbz0xLyhyWzNdKmUrcls3XSpuK3JbMTFdKmkrclsxNV0pO3JldHVybiB0aGlzLng9KHJbMF0qZStyWzRdKm4rcls4XSppK3JbMTJdKSpvLHRoaXMueT0oclsxXSplK3JbNV0qbityWzldKmkrclsxM10pKm8sdGhpcy56PShyWzJdKmUrcls2XSpuK3JbMTBdKmkrclsxNF0pKm8sdGhpc31hcHBseVF1YXRlcm5pb24odCl7Y29uc3QgZT10aGlzLngsbj10aGlzLnksaT10aGlzLnoscj10Lngsbz10LnksYT10Lnoscz10LncsbD1zKmUrbyppLWEqbixjPXMqbithKmUtcippLHU9cyppK3Iqbi1vKmUsaD0tciplLW8qbi1hKmk7cmV0dXJuIHRoaXMueD1sKnMraCotcitjKi1hLXUqLW8sdGhpcy55PWMqcytoKi1vK3UqLXItbCotYSx0aGlzLno9dSpzK2gqLWErbCotby1jKi1yLHRoaXN9cHJvamVjdCh0KXtyZXR1cm4gdGhpcy5hcHBseU1hdHJpeDQodC5tYXRyaXhXb3JsZEludmVyc2UpLmFwcGx5TWF0cml4NCh0LnByb2plY3Rpb25NYXRyaXgpfXVucHJvamVjdCh0KXtyZXR1cm4gdGhpcy5hcHBseU1hdHJpeDQodC5wcm9qZWN0aW9uTWF0cml4SW52ZXJzZSkuYXBwbHlNYXRyaXg0KHQubWF0cml4V29ybGQpfXRyYW5zZm9ybURpcmVjdGlvbih0KXtjb25zdCBlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPXQuZWxlbWVudHM7cmV0dXJuIHRoaXMueD1yWzBdKmUrcls0XSpuK3JbOF0qaSx0aGlzLnk9clsxXSplK3JbNV0qbityWzldKmksdGhpcy56PXJbMl0qZStyWzZdKm4rclsxMF0qaSx0aGlzLm5vcm1hbGl6ZSgpfWRpdmlkZSh0KXtyZXR1cm4gdGhpcy54Lz10LngsdGhpcy55Lz10LnksdGhpcy56Lz10LnosdGhpc31kaXZpZGVTY2FsYXIodCl7cmV0dXJuIHRoaXMubXVsdGlwbHlTY2FsYXIoMS90KX1taW4odCl7cmV0dXJuIHRoaXMueD1NYXRoLm1pbih0aGlzLngsdC54KSx0aGlzLnk9TWF0aC5taW4odGhpcy55LHQueSksdGhpcy56PU1hdGgubWluKHRoaXMueix0LnopLHRoaXN9bWF4KHQpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodGhpcy54LHQueCksdGhpcy55PU1hdGgubWF4KHRoaXMueSx0LnkpLHRoaXMuej1NYXRoLm1heCh0aGlzLnosdC56KSx0aGlzfWNsYW1wKHQsZSl7cmV0dXJuIHRoaXMueD1NYXRoLm1heCh0LngsTWF0aC5taW4oZS54LHRoaXMueCkpLHRoaXMueT1NYXRoLm1heCh0LnksTWF0aC5taW4oZS55LHRoaXMueSkpLHRoaXMuej1NYXRoLm1heCh0LnosTWF0aC5taW4oZS56LHRoaXMueikpLHRoaXN9Y2xhbXBTY2FsYXIodCxlKXtyZXR1cm4gdGhpcy54PU1hdGgubWF4KHQsTWF0aC5taW4oZSx0aGlzLngpKSx0aGlzLnk9TWF0aC5tYXgodCxNYXRoLm1pbihlLHRoaXMueSkpLHRoaXMuej1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy56KSksdGhpc31jbGFtcExlbmd0aCh0LGUpe2NvbnN0IG49dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIobnx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgodCxNYXRoLm1pbihlLG4pKSl9Zmxvb3IoKXtyZXR1cm4gdGhpcy54PU1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpLHRoaXMuej1NYXRoLmZsb29yKHRoaXMueiksdGhpc31jZWlsKCl7cmV0dXJuIHRoaXMueD1NYXRoLmNlaWwodGhpcy54KSx0aGlzLnk9TWF0aC5jZWlsKHRoaXMueSksdGhpcy56PU1hdGguY2VpbCh0aGlzLnopLHRoaXN9cm91bmQoKXtyZXR1cm4gdGhpcy54PU1hdGgucm91bmQodGhpcy54KSx0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpLHRoaXMuej1NYXRoLnJvdW5kKHRoaXMueiksdGhpc31yb3VuZFRvWmVybygpe3JldHVybiB0aGlzLng9dGhpcy54PDA/TWF0aC5jZWlsKHRoaXMueCk6TWF0aC5mbG9vcih0aGlzLngpLHRoaXMueT10aGlzLnk8MD9NYXRoLmNlaWwodGhpcy55KTpNYXRoLmZsb29yKHRoaXMueSksdGhpcy56PXRoaXMuejwwP01hdGguY2VpbCh0aGlzLnopOk1hdGguZmxvb3IodGhpcy56KSx0aGlzfW5lZ2F0ZSgpe3JldHVybiB0aGlzLng9LXRoaXMueCx0aGlzLnk9LXRoaXMueSx0aGlzLno9LXRoaXMueix0aGlzfWRvdCh0KXtyZXR1cm4gdGhpcy54KnQueCt0aGlzLnkqdC55K3RoaXMueip0Lnp9bGVuZ3RoU3EoKXtyZXR1cm4gdGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55K3RoaXMueip0aGlzLnp9bGVuZ3RoKCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnkrdGhpcy56KnRoaXMueil9bWFuaGF0dGFuTGVuZ3RoKCl7cmV0dXJuIE1hdGguYWJzKHRoaXMueCkrTWF0aC5hYnModGhpcy55KStNYXRoLmFicyh0aGlzLnopfW5vcm1hbGl6ZSgpe3JldHVybiB0aGlzLmRpdmlkZVNjYWxhcih0aGlzLmxlbmd0aCgpfHwxKX1zZXRMZW5ndGgodCl7cmV0dXJuIHRoaXMubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIodCl9bGVycCh0LGUpe3JldHVybiB0aGlzLngrPSh0LngtdGhpcy54KSplLHRoaXMueSs9KHQueS10aGlzLnkpKmUsdGhpcy56Kz0odC56LXRoaXMueikqZSx0aGlzfWxlcnBWZWN0b3JzKHQsZSxuKXtyZXR1cm4gdGhpcy54PXQueCsoZS54LXQueCkqbix0aGlzLnk9dC55KyhlLnktdC55KSpuLHRoaXMuej10LnorKGUuei10LnopKm4sdGhpc31jcm9zcyh0LGUpe3JldHVybiB2b2lkIDAhPT1lPyhjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5jcm9zcygpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLmNyb3NzVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5jcm9zc1ZlY3RvcnModCxlKSk6dGhpcy5jcm9zc1ZlY3RvcnModGhpcyx0KX1jcm9zc1ZlY3RvcnModCxlKXtjb25zdCBuPXQueCxpPXQueSxyPXQueixvPWUueCxhPWUueSxzPWUuejtyZXR1cm4gdGhpcy54PWkqcy1yKmEsdGhpcy55PXIqby1uKnMsdGhpcy56PW4qYS1pKm8sdGhpc31wcm9qZWN0T25WZWN0b3IodCl7Y29uc3QgZT10Lmxlbmd0aFNxKCk7aWYoMD09PWUpcmV0dXJuIHRoaXMuc2V0KDAsMCwwKTtjb25zdCBuPXQuZG90KHRoaXMpL2U7cmV0dXJuIHRoaXMuY29weSh0KS5tdWx0aXBseVNjYWxhcihuKX1wcm9qZWN0T25QbGFuZSh0KXtyZXR1cm4gRjV0LmNvcHkodGhpcykucHJvamVjdE9uVmVjdG9yKHQpLHRoaXMuc3ViKEY1dCl9cmVmbGVjdCh0KXtyZXR1cm4gdGhpcy5zdWIoRjV0LmNvcHkodCkubXVsdGlwbHlTY2FsYXIoMip0aGlzLmRvdCh0KSkpfWFuZ2xlVG8odCl7Y29uc3QgZT1NYXRoLnNxcnQodGhpcy5sZW5ndGhTcSgpKnQubGVuZ3RoU3EoKSk7aWYoMD09PWUpcmV0dXJuIE1hdGguUEkvMjtjb25zdCBuPXRoaXMuZG90KHQpL2U7cmV0dXJuIE1hdGguYWNvcyhzNXQobiwtMSwxKSl9ZGlzdGFuY2VUbyh0KXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuZGlzdGFuY2VUb1NxdWFyZWQodCkpfWRpc3RhbmNlVG9TcXVhcmVkKHQpe2NvbnN0IGU9dGhpcy54LXQueCxuPXRoaXMueS10LnksaT10aGlzLnotdC56O3JldHVybiBlKmUrbipuK2kqaX1tYW5oYXR0YW5EaXN0YW5jZVRvKHQpe3JldHVybiBNYXRoLmFicyh0aGlzLngtdC54KStNYXRoLmFicyh0aGlzLnktdC55KStNYXRoLmFicyh0aGlzLnotdC56KX1zZXRGcm9tU3BoZXJpY2FsKHQpe3JldHVybiB0aGlzLnNldEZyb21TcGhlcmljYWxDb29yZHModC5yYWRpdXMsdC5waGksdC50aGV0YSl9c2V0RnJvbVNwaGVyaWNhbENvb3Jkcyh0LGUsbil7Y29uc3QgaT1NYXRoLnNpbihlKSp0O3JldHVybiB0aGlzLng9aSpNYXRoLnNpbihuKSx0aGlzLnk9TWF0aC5jb3MoZSkqdCx0aGlzLno9aSpNYXRoLmNvcyhuKSx0aGlzfXNldEZyb21DeWxpbmRyaWNhbCh0KXtyZXR1cm4gdGhpcy5zZXRGcm9tQ3lsaW5kcmljYWxDb29yZHModC5yYWRpdXMsdC50aGV0YSx0LnkpfXNldEZyb21DeWxpbmRyaWNhbENvb3Jkcyh0LGUsbil7cmV0dXJuIHRoaXMueD10Kk1hdGguc2luKGUpLHRoaXMueT1uLHRoaXMuej10Kk1hdGguY29zKGUpLHRoaXN9c2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQpe2NvbnN0IGU9dC5lbGVtZW50cztyZXR1cm4gdGhpcy54PWVbMTJdLHRoaXMueT1lWzEzXSx0aGlzLno9ZVsxNF0sdGhpc31zZXRGcm9tTWF0cml4U2NhbGUodCl7Y29uc3QgZT10aGlzLnNldEZyb21NYXRyaXhDb2x1bW4odCwwKS5sZW5ndGgoKSxuPXRoaXMuc2V0RnJvbU1hdHJpeENvbHVtbih0LDEpLmxlbmd0aCgpLGk9dGhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKHQsMikubGVuZ3RoKCk7cmV0dXJuIHRoaXMueD1lLHRoaXMueT1uLHRoaXMuej1pLHRoaXN9c2V0RnJvbU1hdHJpeENvbHVtbih0LGUpe3JldHVybiB0aGlzLmZyb21BcnJheSh0LmVsZW1lbnRzLDQqZSl9c2V0RnJvbU1hdHJpeDNDb2x1bW4odCxlKXtyZXR1cm4gdGhpcy5mcm9tQXJyYXkodC5lbGVtZW50cywzKmUpfWVxdWFscyh0KXtyZXR1cm4gdC54PT09dGhpcy54JiZ0Lnk9PT10aGlzLnkmJnQuej09PXRoaXMuen1mcm9tQXJyYXkodCxlPTApe3JldHVybiB0aGlzLng9dFtlXSx0aGlzLnk9dFtlKzFdLHRoaXMuej10W2UrMl0sdGhpc310b0FycmF5KHQ9W10sZT0wKXtyZXR1cm4gdFtlXT10aGlzLngsdFtlKzFdPXRoaXMueSx0W2UrMl09dGhpcy56LHR9ZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LGUsbil7cmV0dXJuIHZvaWQgMCE9PW4mJmNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogb2Zmc2V0IGhhcyBiZWVuIHJlbW92ZWQgZnJvbSAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpLHRoaXMueD10LmdldFgoZSksdGhpcy55PXQuZ2V0WShlKSx0aGlzLno9dC5nZXRaKGUpLHRoaXN9cmFuZG9tKCl7cmV0dXJuIHRoaXMueD1NYXRoLnJhbmRvbSgpLHRoaXMueT1NYXRoLnJhbmRvbSgpLHRoaXMuej1NYXRoLnJhbmRvbSgpLHRoaXN9fUg1dC5wcm90b3R5cGUuaXNWZWN0b3IzPSEwO2NvbnN0IEY1dD1uZXcgSDV0LFY1dD1uZXcgQjV0O2NsYXNzIFU1dHtjb25zdHJ1Y3Rvcih0PW5ldyBINXQoMS8wLDEvMCwxLzApLGU9bmV3IEg1dCgtMS8wLC0xLzAsLTEvMCkpe3RoaXMubWluPXQsdGhpcy5tYXg9ZX1zZXQodCxlKXtyZXR1cm4gdGhpcy5taW4uY29weSh0KSx0aGlzLm1heC5jb3B5KGUpLHRoaXN9c2V0RnJvbUFycmF5KHQpe2xldCBlPTEvMCxuPTEvMCxpPTEvMCxyPS0xLzAsbz0tMS8wLGE9LTEvMDtmb3IobGV0IHM9MCxsPXQubGVuZ3RoO3M8bDtzKz0zKXtjb25zdCBsPXRbc10sYz10W3MrMV0sdT10W3MrMl07bDxlJiYoZT1sKSxjPG4mJihuPWMpLHU8aSYmKGk9dSksbD5yJiYocj1sKSxjPm8mJihvPWMpLHU+YSYmKGE9dSl9cmV0dXJuIHRoaXMubWluLnNldChlLG4saSksdGhpcy5tYXguc2V0KHIsbyxhKSx0aGlzfXNldEZyb21CdWZmZXJBdHRyaWJ1dGUodCl7bGV0IGU9MS8wLG49MS8wLGk9MS8wLHI9LTEvMCxvPS0xLzAsYT0tMS8wO2ZvcihsZXQgcz0wLGw9dC5jb3VudDtzPGw7cysrKXtjb25zdCBsPXQuZ2V0WChzKSxjPXQuZ2V0WShzKSx1PXQuZ2V0WihzKTtsPGUmJihlPWwpLGM8biYmKG49YyksdTxpJiYoaT11KSxsPnImJihyPWwpLGM+byYmKG89YyksdT5hJiYoYT11KX1yZXR1cm4gdGhpcy5taW4uc2V0KGUsbixpKSx0aGlzLm1heC5zZXQocixvLGEpLHRoaXN9c2V0RnJvbVBvaW50cyh0KXt0aGlzLm1ha2VFbXB0eSgpO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl0aGlzLmV4cGFuZEJ5UG9pbnQodFtlXSk7cmV0dXJuIHRoaXN9c2V0RnJvbUNlbnRlckFuZFNpemUodCxlKXtjb25zdCBuPUc1dC5jb3B5KGUpLm11bHRpcGx5U2NhbGFyKC41KTtyZXR1cm4gdGhpcy5taW4uY29weSh0KS5zdWIobiksdGhpcy5tYXguY29weSh0KS5hZGQobiksdGhpc31zZXRGcm9tT2JqZWN0KHQpe3JldHVybiB0aGlzLm1ha2VFbXB0eSgpLHRoaXMuZXhwYW5kQnlPYmplY3QodCl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXtyZXR1cm4gdGhpcy5taW4uY29weSh0Lm1pbiksdGhpcy5tYXguY29weSh0Lm1heCksdGhpc31tYWtlRW1wdHkoKXtyZXR1cm4gdGhpcy5taW4ueD10aGlzLm1pbi55PXRoaXMubWluLno9MS8wLHRoaXMubWF4Lng9dGhpcy5tYXgueT10aGlzLm1heC56PS0xLzAsdGhpc31pc0VtcHR5KCl7cmV0dXJuIHRoaXMubWF4Lng8dGhpcy5taW4ueHx8dGhpcy5tYXgueTx0aGlzLm1pbi55fHx0aGlzLm1heC56PHRoaXMubWluLnp9Z2V0Q2VudGVyKHQpe3JldHVybiB0aGlzLmlzRW1wdHkoKT90LnNldCgwLDAsMCk6dC5hZGRWZWN0b3JzKHRoaXMubWluLHRoaXMubWF4KS5tdWx0aXBseVNjYWxhciguNSl9Z2V0U2l6ZSh0KXtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/dC5zZXQoMCwwLDApOnQuc3ViVmVjdG9ycyh0aGlzLm1heCx0aGlzLm1pbil9ZXhwYW5kQnlQb2ludCh0KXtyZXR1cm4gdGhpcy5taW4ubWluKHQpLHRoaXMubWF4Lm1heCh0KSx0aGlzfWV4cGFuZEJ5VmVjdG9yKHQpe3JldHVybiB0aGlzLm1pbi5zdWIodCksdGhpcy5tYXguYWRkKHQpLHRoaXN9ZXhwYW5kQnlTY2FsYXIodCl7cmV0dXJuIHRoaXMubWluLmFkZFNjYWxhcigtdCksdGhpcy5tYXguYWRkU2NhbGFyKHQpLHRoaXN9ZXhwYW5kQnlPYmplY3QodCl7dC51cGRhdGVXb3JsZE1hdHJpeCghMSwhMSk7Y29uc3QgZT10Lmdlb21ldHJ5O3ZvaWQgMCE9PWUmJihudWxsPT09ZS5ib3VuZGluZ0JveCYmZS5jb21wdXRlQm91bmRpbmdCb3goKSxXNXQuY29weShlLmJvdW5kaW5nQm94KSxXNXQuYXBwbHlNYXRyaXg0KHQubWF0cml4V29ybGQpLHRoaXMudW5pb24oVzV0KSk7Y29uc3Qgbj10LmNoaWxkcmVuO2ZvcihsZXQgdD0wLGU9bi5sZW5ndGg7dDxlO3QrKyl0aGlzLmV4cGFuZEJ5T2JqZWN0KG5bdF0pO3JldHVybiB0aGlzfWNvbnRhaW5zUG9pbnQodCl7cmV0dXJuISh0Lng8dGhpcy5taW4ueHx8dC54PnRoaXMubWF4Lnh8fHQueTx0aGlzLm1pbi55fHx0Lnk+dGhpcy5tYXgueXx8dC56PHRoaXMubWluLnp8fHQuej50aGlzLm1heC56KX1jb250YWluc0JveCh0KXtyZXR1cm4gdGhpcy5taW4ueDw9dC5taW4ueCYmdC5tYXgueDw9dGhpcy5tYXgueCYmdGhpcy5taW4ueTw9dC5taW4ueSYmdC5tYXgueTw9dGhpcy5tYXgueSYmdGhpcy5taW4uejw9dC5taW4ueiYmdC5tYXguejw9dGhpcy5tYXguen1nZXRQYXJhbWV0ZXIodCxlKXtyZXR1cm4gZS5zZXQoKHQueC10aGlzLm1pbi54KS8odGhpcy5tYXgueC10aGlzLm1pbi54KSwodC55LXRoaXMubWluLnkpLyh0aGlzLm1heC55LXRoaXMubWluLnkpLCh0LnotdGhpcy5taW4ueikvKHRoaXMubWF4LnotdGhpcy5taW4ueikpfWludGVyc2VjdHNCb3godCl7cmV0dXJuISh0Lm1heC54PHRoaXMubWluLnh8fHQubWluLng+dGhpcy5tYXgueHx8dC5tYXgueTx0aGlzLm1pbi55fHx0Lm1pbi55PnRoaXMubWF4Lnl8fHQubWF4Lno8dGhpcy5taW4uenx8dC5taW4uej50aGlzLm1heC56KX1pbnRlcnNlY3RzU3BoZXJlKHQpe3JldHVybiB0aGlzLmNsYW1wUG9pbnQodC5jZW50ZXIsRzV0KSxHNXQuZGlzdGFuY2VUb1NxdWFyZWQodC5jZW50ZXIpPD10LnJhZGl1cyp0LnJhZGl1c31pbnRlcnNlY3RzUGxhbmUodCl7bGV0IGUsbjtyZXR1cm4gdC5ub3JtYWwueD4wPyhlPXQubm9ybWFsLngqdGhpcy5taW4ueCxuPXQubm9ybWFsLngqdGhpcy5tYXgueCk6KGU9dC5ub3JtYWwueCp0aGlzLm1heC54LG49dC5ub3JtYWwueCp0aGlzLm1pbi54KSx0Lm5vcm1hbC55PjA/KGUrPXQubm9ybWFsLnkqdGhpcy5taW4ueSxuKz10Lm5vcm1hbC55KnRoaXMubWF4LnkpOihlKz10Lm5vcm1hbC55KnRoaXMubWF4Lnksbis9dC5ub3JtYWwueSp0aGlzLm1pbi55KSx0Lm5vcm1hbC56PjA/KGUrPXQubm9ybWFsLnoqdGhpcy5taW4ueixuKz10Lm5vcm1hbC56KnRoaXMubWF4LnopOihlKz10Lm5vcm1hbC56KnRoaXMubWF4Lnosbis9dC5ub3JtYWwueip0aGlzLm1pbi56KSxlPD0tdC5jb25zdGFudCYmbj49LXQuY29uc3RhbnR9aW50ZXJzZWN0c1RyaWFuZ2xlKHQpe2lmKHRoaXMuaXNFbXB0eSgpKXJldHVybiExO3RoaXMuZ2V0Q2VudGVyKEo1dCksUTV0LnN1YlZlY3RvcnModGhpcy5tYXgsSjV0KSxxNXQuc3ViVmVjdG9ycyh0LmEsSjV0KSxZNXQuc3ViVmVjdG9ycyh0LmIsSjV0KSxYNXQuc3ViVmVjdG9ycyh0LmMsSjV0KSwkNXQuc3ViVmVjdG9ycyhZNXQscTV0KSxLNXQuc3ViVmVjdG9ycyhYNXQsWTV0KSxaNXQuc3ViVmVjdG9ycyhxNXQsWDV0KTtsZXQgZT1bMCwtJDV0LnosJDV0LnksMCwtSzV0LnosSzV0LnksMCwtWjV0LnosWjV0LnksJDV0LnosMCwtJDV0LngsSzV0LnosMCwtSzV0LngsWjV0LnosMCwtWjV0LngsLSQ1dC55LCQ1dC54LDAsLUs1dC55LEs1dC54LDAsLVo1dC55LFo1dC54LDBdO3JldHVybiEhbjN0KGUscTV0LFk1dCxYNXQsUTV0KSYmKGU9WzEsMCwwLDAsMSwwLDAsMCwxXSwhIW4zdChlLHE1dCxZNXQsWDV0LFE1dCkmJih0M3QuY3Jvc3NWZWN0b3JzKCQ1dCxLNXQpLGU9W3QzdC54LHQzdC55LHQzdC56XSxuM3QoZSxxNXQsWTV0LFg1dCxRNXQpKSl9Y2xhbXBQb2ludCh0LGUpe3JldHVybiBlLmNvcHkodCkuY2xhbXAodGhpcy5taW4sdGhpcy5tYXgpfWRpc3RhbmNlVG9Qb2ludCh0KXtyZXR1cm4gRzV0LmNvcHkodCkuY2xhbXAodGhpcy5taW4sdGhpcy5tYXgpLnN1Yih0KS5sZW5ndGgoKX1nZXRCb3VuZGluZ1NwaGVyZSh0KXtyZXR1cm4gdGhpcy5nZXRDZW50ZXIodC5jZW50ZXIpLHQucmFkaXVzPS41KnRoaXMuZ2V0U2l6ZShHNXQpLmxlbmd0aCgpLHR9aW50ZXJzZWN0KHQpe3JldHVybiB0aGlzLm1pbi5tYXgodC5taW4pLHRoaXMubWF4Lm1pbih0Lm1heCksdGhpcy5pc0VtcHR5KCkmJnRoaXMubWFrZUVtcHR5KCksdGhpc311bmlvbih0KXtyZXR1cm4gdGhpcy5taW4ubWluKHQubWluKSx0aGlzLm1heC5tYXgodC5tYXgpLHRoaXN9YXBwbHlNYXRyaXg0KHQpe3JldHVybiB0aGlzLmlzRW1wdHkoKXx8KGo1dFswXS5zZXQodGhpcy5taW4ueCx0aGlzLm1pbi55LHRoaXMubWluLnopLmFwcGx5TWF0cml4NCh0KSxqNXRbMV0uc2V0KHRoaXMubWluLngsdGhpcy5taW4ueSx0aGlzLm1heC56KS5hcHBseU1hdHJpeDQodCksajV0WzJdLnNldCh0aGlzLm1pbi54LHRoaXMubWF4LnksdGhpcy5taW4ueikuYXBwbHlNYXRyaXg0KHQpLGo1dFszXS5zZXQodGhpcy5taW4ueCx0aGlzLm1heC55LHRoaXMubWF4LnopLmFwcGx5TWF0cml4NCh0KSxqNXRbNF0uc2V0KHRoaXMubWF4LngsdGhpcy5taW4ueSx0aGlzLm1pbi56KS5hcHBseU1hdHJpeDQodCksajV0WzVdLnNldCh0aGlzLm1heC54LHRoaXMubWluLnksdGhpcy5tYXgueikuYXBwbHlNYXRyaXg0KHQpLGo1dFs2XS5zZXQodGhpcy5tYXgueCx0aGlzLm1heC55LHRoaXMubWluLnopLmFwcGx5TWF0cml4NCh0KSxqNXRbN10uc2V0KHRoaXMubWF4LngsdGhpcy5tYXgueSx0aGlzLm1heC56KS5hcHBseU1hdHJpeDQodCksdGhpcy5zZXRGcm9tUG9pbnRzKGo1dCkpLHRoaXN9dHJhbnNsYXRlKHQpe3JldHVybiB0aGlzLm1pbi5hZGQodCksdGhpcy5tYXguYWRkKHQpLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lm1pbi5lcXVhbHModGhpcy5taW4pJiZ0Lm1heC5lcXVhbHModGhpcy5tYXgpfX1VNXQucHJvdG90eXBlLmlzQm94Mz0hMDtjb25zdCBqNXQ9W25ldyBINXQsbmV3IEg1dCxuZXcgSDV0LG5ldyBINXQsbmV3IEg1dCxuZXcgSDV0LG5ldyBINXQsbmV3IEg1dF0sRzV0PW5ldyBINXQsVzV0PW5ldyBVNXQscTV0PW5ldyBINXQsWTV0PW5ldyBINXQsWDV0PW5ldyBINXQsJDV0PW5ldyBINXQsSzV0PW5ldyBINXQsWjV0PW5ldyBINXQsSjV0PW5ldyBINXQsUTV0PW5ldyBINXQsdDN0PW5ldyBINXQsZTN0PW5ldyBINXQ7ZnVuY3Rpb24gbjN0KHQsZSxuLGkscil7Zm9yKGxldCBvPTAsYT10Lmxlbmd0aC0zO288PWE7bys9Myl7ZTN0LmZyb21BcnJheSh0LG8pO2NvbnN0IGE9ci54Kk1hdGguYWJzKGUzdC54KStyLnkqTWF0aC5hYnMoZTN0LnkpK3IueipNYXRoLmFicyhlM3Queikscz1lLmRvdChlM3QpLGw9bi5kb3QoZTN0KSxjPWkuZG90KGUzdCk7aWYoTWF0aC5tYXgoLU1hdGgubWF4KHMsbCxjKSxNYXRoLm1pbihzLGwsYykpPmEpcmV0dXJuITF9cmV0dXJuITB9Y29uc3QgaTN0PW5ldyBVNXQscjN0PW5ldyBINXQsbzN0PW5ldyBINXQsYTN0PW5ldyBINXQ7Y2xhc3MgczN0e2NvbnN0cnVjdG9yKHQ9bmV3IEg1dCxlPS0xKXt0aGlzLmNlbnRlcj10LHRoaXMucmFkaXVzPWV9c2V0KHQsZSl7cmV0dXJuIHRoaXMuY2VudGVyLmNvcHkodCksdGhpcy5yYWRpdXM9ZSx0aGlzfXNldEZyb21Qb2ludHModCxlKXtjb25zdCBuPXRoaXMuY2VudGVyO3ZvaWQgMCE9PWU/bi5jb3B5KGUpOmkzdC5zZXRGcm9tUG9pbnRzKHQpLmdldENlbnRlcihuKTtsZXQgaT0wO2ZvcihsZXQgZT0wLHI9dC5sZW5ndGg7ZTxyO2UrKylpPU1hdGgubWF4KGksbi5kaXN0YW5jZVRvU3F1YXJlZCh0W2VdKSk7cmV0dXJuIHRoaXMucmFkaXVzPU1hdGguc3FydChpKSx0aGlzfWNvcHkodCl7cmV0dXJuIHRoaXMuY2VudGVyLmNvcHkodC5jZW50ZXIpLHRoaXMucmFkaXVzPXQucmFkaXVzLHRoaXN9aXNFbXB0eSgpe3JldHVybiB0aGlzLnJhZGl1czwwfW1ha2VFbXB0eSgpe3JldHVybiB0aGlzLmNlbnRlci5zZXQoMCwwLDApLHRoaXMucmFkaXVzPS0xLHRoaXN9Y29udGFpbnNQb2ludCh0KXtyZXR1cm4gdC5kaXN0YW5jZVRvU3F1YXJlZCh0aGlzLmNlbnRlcik8PXRoaXMucmFkaXVzKnRoaXMucmFkaXVzfWRpc3RhbmNlVG9Qb2ludCh0KXtyZXR1cm4gdC5kaXN0YW5jZVRvKHRoaXMuY2VudGVyKS10aGlzLnJhZGl1c31pbnRlcnNlY3RzU3BoZXJlKHQpe2NvbnN0IGU9dGhpcy5yYWRpdXMrdC5yYWRpdXM7cmV0dXJuIHQuY2VudGVyLmRpc3RhbmNlVG9TcXVhcmVkKHRoaXMuY2VudGVyKTw9ZSplfWludGVyc2VjdHNCb3godCl7cmV0dXJuIHQuaW50ZXJzZWN0c1NwaGVyZSh0aGlzKX1pbnRlcnNlY3RzUGxhbmUodCl7cmV0dXJuIE1hdGguYWJzKHQuZGlzdGFuY2VUb1BvaW50KHRoaXMuY2VudGVyKSk8PXRoaXMucmFkaXVzfWNsYW1wUG9pbnQodCxlKXtjb25zdCBuPXRoaXMuY2VudGVyLmRpc3RhbmNlVG9TcXVhcmVkKHQpO3JldHVybiBlLmNvcHkodCksbj50aGlzLnJhZGl1cyp0aGlzLnJhZGl1cyYmKGUuc3ViKHRoaXMuY2VudGVyKS5ub3JtYWxpemUoKSxlLm11bHRpcGx5U2NhbGFyKHRoaXMucmFkaXVzKS5hZGQodGhpcy5jZW50ZXIpKSxlfWdldEJvdW5kaW5nQm94KHQpe3JldHVybiB0aGlzLmlzRW1wdHkoKT8odC5tYWtlRW1wdHkoKSx0KToodC5zZXQodGhpcy5jZW50ZXIsdGhpcy5jZW50ZXIpLHQuZXhwYW5kQnlTY2FsYXIodGhpcy5yYWRpdXMpLHQpfWFwcGx5TWF0cml4NCh0KXtyZXR1cm4gdGhpcy5jZW50ZXIuYXBwbHlNYXRyaXg0KHQpLHRoaXMucmFkaXVzPXRoaXMucmFkaXVzKnQuZ2V0TWF4U2NhbGVPbkF4aXMoKSx0aGlzfXRyYW5zbGF0ZSh0KXtyZXR1cm4gdGhpcy5jZW50ZXIuYWRkKHQpLHRoaXN9ZXhwYW5kQnlQb2ludCh0KXthM3Quc3ViVmVjdG9ycyh0LHRoaXMuY2VudGVyKTtjb25zdCBlPWEzdC5sZW5ndGhTcSgpO2lmKGU+dGhpcy5yYWRpdXMqdGhpcy5yYWRpdXMpe2NvbnN0IHQ9TWF0aC5zcXJ0KGUpLG49LjUqKHQtdGhpcy5yYWRpdXMpO3RoaXMuY2VudGVyLmFkZChhM3QubXVsdGlwbHlTY2FsYXIobi90KSksdGhpcy5yYWRpdXMrPW59cmV0dXJuIHRoaXN9dW5pb24odCl7cmV0dXJuIG8zdC5zdWJWZWN0b3JzKHQuY2VudGVyLHRoaXMuY2VudGVyKS5ub3JtYWxpemUoKS5tdWx0aXBseVNjYWxhcih0LnJhZGl1cyksdGhpcy5leHBhbmRCeVBvaW50KHIzdC5jb3B5KHQuY2VudGVyKS5hZGQobzN0KSksdGhpcy5leHBhbmRCeVBvaW50KHIzdC5jb3B5KHQuY2VudGVyKS5zdWIobzN0KSksdGhpc31lcXVhbHModCl7cmV0dXJuIHQuY2VudGVyLmVxdWFscyh0aGlzLmNlbnRlcikmJnQucmFkaXVzPT09dGhpcy5yYWRpdXN9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9fWNvbnN0IGwzdD1uZXcgSDV0LGMzdD1uZXcgSDV0LHUzdD1uZXcgSDV0LGgzdD1uZXcgSDV0LGQzdD1uZXcgSDV0LHAzdD1uZXcgSDV0LGYzdD1uZXcgSDV0O2NsYXNzIG0zdHtjb25zdHJ1Y3Rvcih0PW5ldyBINXQsZT1uZXcgSDV0KDAsMCwtMSkpe3RoaXMub3JpZ2luPXQsdGhpcy5kaXJlY3Rpb249ZX1zZXQodCxlKXtyZXR1cm4gdGhpcy5vcmlnaW4uY29weSh0KSx0aGlzLmRpcmVjdGlvbi5jb3B5KGUpLHRoaXN9Y29weSh0KXtyZXR1cm4gdGhpcy5vcmlnaW4uY29weSh0Lm9yaWdpbiksdGhpcy5kaXJlY3Rpb24uY29weSh0LmRpcmVjdGlvbiksdGhpc31hdCh0LGUpe3JldHVybiBlLmNvcHkodGhpcy5kaXJlY3Rpb24pLm11bHRpcGx5U2NhbGFyKHQpLmFkZCh0aGlzLm9yaWdpbil9bG9va0F0KHQpe3JldHVybiB0aGlzLmRpcmVjdGlvbi5jb3B5KHQpLnN1Yih0aGlzLm9yaWdpbikubm9ybWFsaXplKCksdGhpc31yZWNhc3QodCl7cmV0dXJuIHRoaXMub3JpZ2luLmNvcHkodGhpcy5hdCh0LGwzdCkpLHRoaXN9Y2xvc2VzdFBvaW50VG9Qb2ludCh0LGUpe2Uuc3ViVmVjdG9ycyh0LHRoaXMub3JpZ2luKTtjb25zdCBuPWUuZG90KHRoaXMuZGlyZWN0aW9uKTtyZXR1cm4gbjwwP2UuY29weSh0aGlzLm9yaWdpbik6ZS5jb3B5KHRoaXMuZGlyZWN0aW9uKS5tdWx0aXBseVNjYWxhcihuKS5hZGQodGhpcy5vcmlnaW4pfWRpc3RhbmNlVG9Qb2ludCh0KXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuZGlzdGFuY2VTcVRvUG9pbnQodCkpfWRpc3RhbmNlU3FUb1BvaW50KHQpe2NvbnN0IGU9bDN0LnN1YlZlY3RvcnModCx0aGlzLm9yaWdpbikuZG90KHRoaXMuZGlyZWN0aW9uKTtyZXR1cm4gZTwwP3RoaXMub3JpZ2luLmRpc3RhbmNlVG9TcXVhcmVkKHQpOihsM3QuY29weSh0aGlzLmRpcmVjdGlvbikubXVsdGlwbHlTY2FsYXIoZSkuYWRkKHRoaXMub3JpZ2luKSxsM3QuZGlzdGFuY2VUb1NxdWFyZWQodCkpfWRpc3RhbmNlU3FUb1NlZ21lbnQodCxlLG4saSl7YzN0LmNvcHkodCkuYWRkKGUpLm11bHRpcGx5U2NhbGFyKC41KSx1M3QuY29weShlKS5zdWIodCkubm9ybWFsaXplKCksaDN0LmNvcHkodGhpcy5vcmlnaW4pLnN1YihjM3QpO2NvbnN0IHI9LjUqdC5kaXN0YW5jZVRvKGUpLG89LXRoaXMuZGlyZWN0aW9uLmRvdCh1M3QpLGE9aDN0LmRvdCh0aGlzLmRpcmVjdGlvbikscz0taDN0LmRvdCh1M3QpLGw9aDN0Lmxlbmd0aFNxKCksYz1NYXRoLmFicygxLW8qbyk7bGV0IHUsaCxkLHA7aWYoYz4wKWlmKHU9bypzLWEsaD1vKmEtcyxwPXIqYyx1Pj0wKWlmKGg+PS1wKWlmKGg8PXApe2NvbnN0IHQ9MS9jO3UqPXQsaCo9dCxkPXUqKHUrbypoKzIqYSkraCoobyp1K2grMipzKStsfWVsc2UgaD1yLHU9TWF0aC5tYXgoMCwtKG8qaCthKSksZD0tdSp1K2gqKGgrMipzKStsO2Vsc2UgaD0tcix1PU1hdGgubWF4KDAsLShvKmgrYSkpLGQ9LXUqdStoKihoKzIqcykrbDtlbHNlIGg8PS1wPyh1PU1hdGgubWF4KDAsLSgtbypyK2EpKSxoPXU+MD8tcjpNYXRoLm1pbihNYXRoLm1heCgtciwtcyksciksZD0tdSp1K2gqKGgrMipzKStsKTpoPD1wPyh1PTAsaD1NYXRoLm1pbihNYXRoLm1heCgtciwtcyksciksZD1oKihoKzIqcykrbCk6KHU9TWF0aC5tYXgoMCwtKG8qcithKSksaD11PjA/cjpNYXRoLm1pbihNYXRoLm1heCgtciwtcyksciksZD0tdSp1K2gqKGgrMipzKStsKTtlbHNlIGg9bz4wPy1yOnIsdT1NYXRoLm1heCgwLC0obypoK2EpKSxkPS11KnUraCooaCsyKnMpK2w7cmV0dXJuIG4mJm4uY29weSh0aGlzLmRpcmVjdGlvbikubXVsdGlwbHlTY2FsYXIodSkuYWRkKHRoaXMub3JpZ2luKSxpJiZpLmNvcHkodTN0KS5tdWx0aXBseVNjYWxhcihoKS5hZGQoYzN0KSxkfWludGVyc2VjdFNwaGVyZSh0LGUpe2wzdC5zdWJWZWN0b3JzKHQuY2VudGVyLHRoaXMub3JpZ2luKTtjb25zdCBuPWwzdC5kb3QodGhpcy5kaXJlY3Rpb24pLGk9bDN0LmRvdChsM3QpLW4qbixyPXQucmFkaXVzKnQucmFkaXVzO2lmKGk+cilyZXR1cm4gbnVsbDtjb25zdCBvPU1hdGguc3FydChyLWkpLGE9bi1vLHM9bitvO3JldHVybiBhPDAmJnM8MD9udWxsOnRoaXMuYXQoYTwwP3M6YSxlKX1pbnRlcnNlY3RzU3BoZXJlKHQpe3JldHVybiB0aGlzLmRpc3RhbmNlU3FUb1BvaW50KHQuY2VudGVyKTw9dC5yYWRpdXMqdC5yYWRpdXN9ZGlzdGFuY2VUb1BsYW5lKHQpe2NvbnN0IGU9dC5ub3JtYWwuZG90KHRoaXMuZGlyZWN0aW9uKTtpZigwPT09ZSlyZXR1cm4gMD09PXQuZGlzdGFuY2VUb1BvaW50KHRoaXMub3JpZ2luKT8wOm51bGw7Y29uc3Qgbj0tKHRoaXMub3JpZ2luLmRvdCh0Lm5vcm1hbCkrdC5jb25zdGFudCkvZTtyZXR1cm4gbj49MD9uOm51bGx9aW50ZXJzZWN0UGxhbmUodCxlKXtjb25zdCBuPXRoaXMuZGlzdGFuY2VUb1BsYW5lKHQpO3JldHVybiBudWxsPT09bj9udWxsOnRoaXMuYXQobixlKX1pbnRlcnNlY3RzUGxhbmUodCl7Y29uc3QgZT10LmRpc3RhbmNlVG9Qb2ludCh0aGlzLm9yaWdpbik7aWYoMD09PWUpcmV0dXJuITA7cmV0dXJuIHQubm9ybWFsLmRvdCh0aGlzLmRpcmVjdGlvbikqZTwwfWludGVyc2VjdEJveCh0LGUpe2xldCBuLGkscixvLGEscztjb25zdCBsPTEvdGhpcy5kaXJlY3Rpb24ueCxjPTEvdGhpcy5kaXJlY3Rpb24ueSx1PTEvdGhpcy5kaXJlY3Rpb24ueixoPXRoaXMub3JpZ2luO3JldHVybiBsPj0wPyhuPSh0Lm1pbi54LWgueCkqbCxpPSh0Lm1heC54LWgueCkqbCk6KG49KHQubWF4LngtaC54KSpsLGk9KHQubWluLngtaC54KSpsKSxjPj0wPyhyPSh0Lm1pbi55LWgueSkqYyxvPSh0Lm1heC55LWgueSkqYyk6KHI9KHQubWF4LnktaC55KSpjLG89KHQubWluLnktaC55KSpjKSxuPm98fHI+aT9udWxsOigocj5ufHxuIT1uKSYmKG49ciksKG88aXx8aSE9aSkmJihpPW8pLHU+PTA/KGE9KHQubWluLnotaC56KSp1LHM9KHQubWF4LnotaC56KSp1KTooYT0odC5tYXguei1oLnopKnUscz0odC5taW4uei1oLnopKnUpLG4+c3x8YT5pP251bGw6KChhPm58fG4hPW4pJiYobj1hKSwoczxpfHxpIT1pKSYmKGk9cyksaTwwP251bGw6dGhpcy5hdChuPj0wP246aSxlKSkpfWludGVyc2VjdHNCb3godCl7cmV0dXJuIG51bGwhPT10aGlzLmludGVyc2VjdEJveCh0LGwzdCl9aW50ZXJzZWN0VHJpYW5nbGUodCxlLG4saSxyKXtkM3Quc3ViVmVjdG9ycyhlLHQpLHAzdC5zdWJWZWN0b3JzKG4sdCksZjN0LmNyb3NzVmVjdG9ycyhkM3QscDN0KTtsZXQgbyxhPXRoaXMuZGlyZWN0aW9uLmRvdChmM3QpO2lmKGE+MCl7aWYoaSlyZXR1cm4gbnVsbDtvPTF9ZWxzZXtpZighKGE8MCkpcmV0dXJuIG51bGw7bz0tMSxhPS1hfWgzdC5zdWJWZWN0b3JzKHRoaXMub3JpZ2luLHQpO2NvbnN0IHM9byp0aGlzLmRpcmVjdGlvbi5kb3QocDN0LmNyb3NzVmVjdG9ycyhoM3QscDN0KSk7aWYoczwwKXJldHVybiBudWxsO2NvbnN0IGw9byp0aGlzLmRpcmVjdGlvbi5kb3QoZDN0LmNyb3NzKGgzdCkpO2lmKGw8MClyZXR1cm4gbnVsbDtpZihzK2w+YSlyZXR1cm4gbnVsbDtjb25zdCBjPS1vKmgzdC5kb3QoZjN0KTtyZXR1cm4gYzwwP251bGw6dGhpcy5hdChjL2Escil9YXBwbHlNYXRyaXg0KHQpe3JldHVybiB0aGlzLm9yaWdpbi5hcHBseU1hdHJpeDQodCksdGhpcy5kaXJlY3Rpb24udHJhbnNmb3JtRGlyZWN0aW9uKHQpLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lm9yaWdpbi5lcXVhbHModGhpcy5vcmlnaW4pJiZ0LmRpcmVjdGlvbi5lcXVhbHModGhpcy5kaXJlY3Rpb24pfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX1jbGFzcyBnM3R7Y29uc3RydWN0b3IoKXt0aGlzLmVsZW1lbnRzPVsxLDAsMCwwLDAsMSwwLDAsMCwwLDEsMCwwLDAsMCwxXSxhcmd1bWVudHMubGVuZ3RoPjAmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IHRoZSBjb25zdHJ1Y3RvciBubyBsb25nZXIgcmVhZHMgYXJndW1lbnRzLiB1c2UgLnNldCgpIGluc3RlYWQuIil9c2V0KHQsZSxuLGkscixvLGEscyxsLGMsdSxoLGQscCxmLG0pe2NvbnN0IGc9dGhpcy5lbGVtZW50cztyZXR1cm4gZ1swXT10LGdbNF09ZSxnWzhdPW4sZ1sxMl09aSxnWzFdPXIsZ1s1XT1vLGdbOV09YSxnWzEzXT1zLGdbMl09bCxnWzZdPWMsZ1sxMF09dSxnWzE0XT1oLGdbM109ZCxnWzddPXAsZ1sxMV09ZixnWzE1XT1tLHRoaXN9aWRlbnRpdHkoKXtyZXR1cm4gdGhpcy5zZXQoMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMSksdGhpc31jbG9uZSgpe3JldHVybihuZXcgZzN0KS5mcm9tQXJyYXkodGhpcy5lbGVtZW50cyl9Y29weSh0KXtjb25zdCBlPXRoaXMuZWxlbWVudHMsbj10LmVsZW1lbnRzO3JldHVybiBlWzBdPW5bMF0sZVsxXT1uWzFdLGVbMl09blsyXSxlWzNdPW5bM10sZVs0XT1uWzRdLGVbNV09bls1XSxlWzZdPW5bNl0sZVs3XT1uWzddLGVbOF09bls4XSxlWzldPW5bOV0sZVsxMF09blsxMF0sZVsxMV09blsxMV0sZVsxMl09blsxMl0sZVsxM109blsxM10sZVsxNF09blsxNF0sZVsxNV09blsxNV0sdGhpc31jb3B5UG9zaXRpb24odCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC5lbGVtZW50cztyZXR1cm4gZVsxMl09blsxMl0sZVsxM109blsxM10sZVsxNF09blsxNF0sdGhpc31zZXRGcm9tTWF0cml4Myh0KXtjb25zdCBlPXQuZWxlbWVudHM7cmV0dXJuIHRoaXMuc2V0KGVbMF0sZVszXSxlWzZdLDAsZVsxXSxlWzRdLGVbN10sMCxlWzJdLGVbNV0sZVs4XSwwLDAsMCwwLDEpLHRoaXN9ZXh0cmFjdEJhc2lzKHQsZSxuKXtyZXR1cm4gdC5zZXRGcm9tTWF0cml4Q29sdW1uKHRoaXMsMCksZS5zZXRGcm9tTWF0cml4Q29sdW1uKHRoaXMsMSksbi5zZXRGcm9tTWF0cml4Q29sdW1uKHRoaXMsMiksdGhpc31tYWtlQmFzaXModCxlLG4pe3JldHVybiB0aGlzLnNldCh0LngsZS54LG4ueCwwLHQueSxlLnksbi55LDAsdC56LGUueixuLnosMCwwLDAsMCwxKSx0aGlzfWV4dHJhY3RSb3RhdGlvbih0KXtjb25zdCBlPXRoaXMuZWxlbWVudHMsbj10LmVsZW1lbnRzLGk9MS9fM3Quc2V0RnJvbU1hdHJpeENvbHVtbih0LDApLmxlbmd0aCgpLHI9MS9fM3Quc2V0RnJvbU1hdHJpeENvbHVtbih0LDEpLmxlbmd0aCgpLG89MS9fM3Quc2V0RnJvbU1hdHJpeENvbHVtbih0LDIpLmxlbmd0aCgpO3JldHVybiBlWzBdPW5bMF0qaSxlWzFdPW5bMV0qaSxlWzJdPW5bMl0qaSxlWzNdPTAsZVs0XT1uWzRdKnIsZVs1XT1uWzVdKnIsZVs2XT1uWzZdKnIsZVs3XT0wLGVbOF09bls4XSpvLGVbOV09bls5XSpvLGVbMTBdPW5bMTBdKm8sZVsxMV09MCxlWzEyXT0wLGVbMTNdPTAsZVsxNF09MCxlWzE1XT0xLHRoaXN9bWFrZVJvdGF0aW9uRnJvbUV1bGVyKHQpe3QmJnQuaXNFdWxlcnx8Y29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4NDogLm1ha2VSb3RhdGlvbkZyb21FdWxlcigpIG5vdyBleHBlY3RzIGEgRXVsZXIgcm90YXRpb24gcmF0aGVyIHRoYW4gYSBWZWN0b3IzIGFuZCBvcmRlci4iKTtjb25zdCBlPXRoaXMuZWxlbWVudHMsbj10LngsaT10Lnkscj10Lnosbz1NYXRoLmNvcyhuKSxhPU1hdGguc2luKG4pLHM9TWF0aC5jb3MoaSksbD1NYXRoLnNpbihpKSxjPU1hdGguY29zKHIpLHU9TWF0aC5zaW4ocik7aWYoIlhZWiI9PT10Lm9yZGVyKXtjb25zdCB0PW8qYyxuPW8qdSxpPWEqYyxyPWEqdTtlWzBdPXMqYyxlWzRdPS1zKnUsZVs4XT1sLGVbMV09bitpKmwsZVs1XT10LXIqbCxlWzldPS1hKnMsZVsyXT1yLXQqbCxlWzZdPWkrbipsLGVbMTBdPW8qc31lbHNlIGlmKCJZWFoiPT09dC5vcmRlcil7Y29uc3QgdD1zKmMsbj1zKnUsaT1sKmMscj1sKnU7ZVswXT10K3IqYSxlWzRdPWkqYS1uLGVbOF09bypsLGVbMV09byp1LGVbNV09bypjLGVbOV09LWEsZVsyXT1uKmEtaSxlWzZdPXIrdCphLGVbMTBdPW8qc31lbHNlIGlmKCJaWFkiPT09dC5vcmRlcil7Y29uc3QgdD1zKmMsbj1zKnUsaT1sKmMscj1sKnU7ZVswXT10LXIqYSxlWzRdPS1vKnUsZVs4XT1pK24qYSxlWzFdPW4raSphLGVbNV09bypjLGVbOV09ci10KmEsZVsyXT0tbypsLGVbNl09YSxlWzEwXT1vKnN9ZWxzZSBpZigiWllYIj09PXQub3JkZXIpe2NvbnN0IHQ9bypjLG49byp1LGk9YSpjLHI9YSp1O2VbMF09cypjLGVbNF09aSpsLW4sZVs4XT10KmwrcixlWzFdPXMqdSxlWzVdPXIqbCt0LGVbOV09bipsLWksZVsyXT0tbCxlWzZdPWEqcyxlWzEwXT1vKnN9ZWxzZSBpZigiWVpYIj09PXQub3JkZXIpe2NvbnN0IHQ9bypzLG49bypsLGk9YSpzLHI9YSpsO2VbMF09cypjLGVbNF09ci10KnUsZVs4XT1pKnUrbixlWzFdPXUsZVs1XT1vKmMsZVs5XT0tYSpjLGVbMl09LWwqYyxlWzZdPW4qdStpLGVbMTBdPXQtcip1fWVsc2UgaWYoIlhaWSI9PT10Lm9yZGVyKXtjb25zdCB0PW8qcyxuPW8qbCxpPWEqcyxyPWEqbDtlWzBdPXMqYyxlWzRdPS11LGVbOF09bCpjLGVbMV09dCp1K3IsZVs1XT1vKmMsZVs5XT1uKnUtaSxlWzJdPWkqdS1uLGVbNl09YSpjLGVbMTBdPXIqdSt0fXJldHVybiBlWzNdPTAsZVs3XT0wLGVbMTFdPTAsZVsxMl09MCxlWzEzXT0wLGVbMTRdPTAsZVsxNV09MSx0aGlzfW1ha2VSb3RhdGlvbkZyb21RdWF0ZXJuaW9uKHQpe3JldHVybiB0aGlzLmNvbXBvc2UodjN0LHQsYjN0KX1sb29rQXQodCxlLG4pe2NvbnN0IGk9dGhpcy5lbGVtZW50cztyZXR1cm4gUzN0LnN1YlZlY3RvcnModCxlKSwwPT09UzN0Lmxlbmd0aFNxKCkmJihTM3Quej0xKSxTM3Qubm9ybWFsaXplKCkseDN0LmNyb3NzVmVjdG9ycyhuLFMzdCksMD09PXgzdC5sZW5ndGhTcSgpJiYoMT09PU1hdGguYWJzKG4ueik/UzN0LngrPTFlLTQ6UzN0LnorPTFlLTQsUzN0Lm5vcm1hbGl6ZSgpLHgzdC5jcm9zc1ZlY3RvcnMobixTM3QpKSx4M3Qubm9ybWFsaXplKCksdzN0LmNyb3NzVmVjdG9ycyhTM3QseDN0KSxpWzBdPXgzdC54LGlbNF09dzN0LngsaVs4XT1TM3QueCxpWzFdPXgzdC55LGlbNV09dzN0LnksaVs5XT1TM3QueSxpWzJdPXgzdC56LGlbNl09dzN0LnosaVsxMF09UzN0LnosdGhpc31tdWx0aXBseSh0LGUpe3JldHVybiB2b2lkIDAhPT1lPyhjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5tdWx0aXBseSgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLm11bHRpcGx5TWF0cmljZXMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMubXVsdGlwbHlNYXRyaWNlcyh0LGUpKTp0aGlzLm11bHRpcGx5TWF0cmljZXModGhpcyx0KX1wcmVtdWx0aXBseSh0KXtyZXR1cm4gdGhpcy5tdWx0aXBseU1hdHJpY2VzKHQsdGhpcyl9bXVsdGlwbHlNYXRyaWNlcyh0LGUpe2NvbnN0IG49dC5lbGVtZW50cyxpPWUuZWxlbWVudHMscj10aGlzLmVsZW1lbnRzLG89blswXSxhPW5bNF0scz1uWzhdLGw9blsxMl0sYz1uWzFdLHU9bls1XSxoPW5bOV0sZD1uWzEzXSxwPW5bMl0sZj1uWzZdLG09blsxMF0sZz1uWzE0XSxfPW5bM10seT1uWzddLHY9blsxMV0sYj1uWzE1XSx4PWlbMF0sdz1pWzRdLFM9aVs4XSxNPWlbMTJdLEU9aVsxXSxUPWlbNV0sQz1pWzldLEE9aVsxM10saz1pWzJdLEw9aVs2XSxQPWlbMTBdLE49aVsxNF0sST1pWzNdLFI9aVs3XSxPPWlbMTFdLHo9aVsxNV07cmV0dXJuIHJbMF09byp4K2EqRStzKmsrbCpJLHJbNF09byp3K2EqVCtzKkwrbCpSLHJbOF09bypTK2EqQytzKlArbCpPLHJbMTJdPW8qTSthKkErcypOK2wqeixyWzFdPWMqeCt1KkUraCprK2QqSSxyWzVdPWMqdyt1KlQraCpMK2QqUixyWzldPWMqUyt1KkMraCpQK2QqTyxyWzEzXT1jKk0rdSpBK2gqTitkKnosclsyXT1wKngrZipFK20qaytnKkkscls2XT1wKncrZipUK20qTCtnKlIsclsxMF09cCpTK2YqQyttKlArZypPLHJbMTRdPXAqTStmKkErbSpOK2cqeixyWzNdPV8qeCt5KkUrdiprK2IqSSxyWzddPV8qdyt5KlQrdipMK2IqUixyWzExXT1fKlMreSpDK3YqUCtiKk8sclsxNV09XypNK3kqQSt2Kk4rYip6LHRoaXN9bXVsdGlwbHlTY2FsYXIodCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzO3JldHVybiBlWzBdKj10LGVbNF0qPXQsZVs4XSo9dCxlWzEyXSo9dCxlWzFdKj10LGVbNV0qPXQsZVs5XSo9dCxlWzEzXSo9dCxlWzJdKj10LGVbNl0qPXQsZVsxMF0qPXQsZVsxNF0qPXQsZVszXSo9dCxlWzddKj10LGVbMTFdKj10LGVbMTVdKj10LHRoaXN9ZGV0ZXJtaW5hbnQoKXtjb25zdCB0PXRoaXMuZWxlbWVudHMsZT10WzBdLG49dFs0XSxpPXRbOF0scj10WzEyXSxvPXRbMV0sYT10WzVdLHM9dFs5XSxsPXRbMTNdLGM9dFsyXSx1PXRbNl0saD10WzEwXSxkPXRbMTRdO3JldHVybiB0WzNdKigrcipzKnUtaSpsKnUtciphKmgrbipsKmgraSphKmQtbipzKmQpK3RbN10qKCtlKnMqZC1lKmwqaCtyKm8qaC1pKm8qZCtpKmwqYy1yKnMqYykrdFsxMV0qKCtlKmwqdS1lKmEqZC1yKm8qdStuKm8qZCtyKmEqYy1uKmwqYykrdFsxNV0qKC1pKmEqYy1lKnMqdStlKmEqaCtpKm8qdS1uKm8qaCtuKnMqYyl9dHJhbnNwb3NlKCl7Y29uc3QgdD10aGlzLmVsZW1lbnRzO2xldCBlO3JldHVybiBlPXRbMV0sdFsxXT10WzRdLHRbNF09ZSxlPXRbMl0sdFsyXT10WzhdLHRbOF09ZSxlPXRbNl0sdFs2XT10WzldLHRbOV09ZSxlPXRbM10sdFszXT10WzEyXSx0WzEyXT1lLGU9dFs3XSx0WzddPXRbMTNdLHRbMTNdPWUsZT10WzExXSx0WzExXT10WzE0XSx0WzE0XT1lLHRoaXN9c2V0UG9zaXRpb24odCxlLG4pe2NvbnN0IGk9dGhpcy5lbGVtZW50cztyZXR1cm4gdC5pc1ZlY3RvcjM/KGlbMTJdPXQueCxpWzEzXT10LnksaVsxNF09dC56KTooaVsxMl09dCxpWzEzXT1lLGlbMTRdPW4pLHRoaXN9aW52ZXJ0KCl7Y29uc3QgdD10aGlzLmVsZW1lbnRzLGU9dFswXSxuPXRbMV0saT10WzJdLHI9dFszXSxvPXRbNF0sYT10WzVdLHM9dFs2XSxsPXRbN10sYz10WzhdLHU9dFs5XSxoPXRbMTBdLGQ9dFsxMV0scD10WzEyXSxmPXRbMTNdLG09dFsxNF0sZz10WzE1XSxfPXUqbSpsLWYqaCpsK2YqcypkLWEqbSpkLXUqcypnK2EqaCpnLHk9cCpoKmwtYyptKmwtcCpzKmQrbyptKmQrYypzKmctbypoKmcsdj1jKmYqbC1wKnUqbCtwKmEqZC1vKmYqZC1jKmEqZytvKnUqZyxiPXAqdSpzLWMqZipzLXAqYSpoK28qZipoK2MqYSptLW8qdSptLHg9ZSpfK24qeStpKnYrcipiO2lmKDA9PT14KXJldHVybiB0aGlzLnNldCgwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwKTtjb25zdCB3PTEveDtyZXR1cm4gdFswXT1fKncsdFsxXT0oZipoKnItdSptKnItZippKmQrbiptKmQrdSppKmctbipoKmcpKncsdFsyXT0oYSptKnItZipzKnIrZippKmwtbiptKmwtYSppKmcrbipzKmcpKncsdFszXT0odSpzKnItYSpoKnItdSppKmwrbipoKmwrYSppKmQtbipzKmQpKncsdFs0XT15KncsdFs1XT0oYyptKnItcCpoKnIrcCppKmQtZSptKmQtYyppKmcrZSpoKmcpKncsdFs2XT0ocCpzKnItbyptKnItcCppKmwrZSptKmwrbyppKmctZSpzKmcpKncsdFs3XT0obypoKnItYypzKnIrYyppKmwtZSpoKmwtbyppKmQrZSpzKmQpKncsdFs4XT12KncsdFs5XT0ocCp1KnItYypmKnItcCpuKmQrZSpmKmQrYypuKmctZSp1KmcpKncsdFsxMF09KG8qZipyLXAqYSpyK3AqbipsLWUqZipsLW8qbipnK2UqYSpnKSp3LHRbMTFdPShjKmEqci1vKnUqci1jKm4qbCtlKnUqbCtvKm4qZC1lKmEqZCkqdyx0WzEyXT1iKncsdFsxM109KGMqZippLXAqdSppK3AqbipoLWUqZipoLWMqbiptK2UqdSptKSp3LHRbMTRdPShwKmEqaS1vKmYqaS1wKm4qcytlKmYqcytvKm4qbS1lKmEqbSkqdyx0WzE1XT0obyp1KmktYyphKmkrYypuKnMtZSp1KnMtbypuKmgrZSphKmgpKncsdGhpc31zY2FsZSh0KXtjb25zdCBlPXRoaXMuZWxlbWVudHMsbj10LngsaT10Lnkscj10Lno7cmV0dXJuIGVbMF0qPW4sZVs0XSo9aSxlWzhdKj1yLGVbMV0qPW4sZVs1XSo9aSxlWzldKj1yLGVbMl0qPW4sZVs2XSo9aSxlWzEwXSo9cixlWzNdKj1uLGVbN10qPWksZVsxMV0qPXIsdGhpc31nZXRNYXhTY2FsZU9uQXhpcygpe2NvbnN0IHQ9dGhpcy5lbGVtZW50cztyZXR1cm4gTWF0aC5zcXJ0KE1hdGgubWF4KHRbMF0qdFswXSt0WzFdKnRbMV0rdFsyXSp0WzJdLHRbNF0qdFs0XSt0WzVdKnRbNV0rdFs2XSp0WzZdLHRbOF0qdFs4XSt0WzldKnRbOV0rdFsxMF0qdFsxMF0pKX1tYWtlVHJhbnNsYXRpb24odCxlLG4pe3JldHVybiB0aGlzLnNldCgxLDAsMCx0LDAsMSwwLGUsMCwwLDEsbiwwLDAsMCwxKSx0aGlzfW1ha2VSb3RhdGlvblgodCl7Y29uc3QgZT1NYXRoLmNvcyh0KSxuPU1hdGguc2luKHQpO3JldHVybiB0aGlzLnNldCgxLDAsMCwwLDAsZSwtbiwwLDAsbixlLDAsMCwwLDAsMSksdGhpc31tYWtlUm90YXRpb25ZKHQpe2NvbnN0IGU9TWF0aC5jb3ModCksbj1NYXRoLnNpbih0KTtyZXR1cm4gdGhpcy5zZXQoZSwwLG4sMCwwLDEsMCwwLC1uLDAsZSwwLDAsMCwwLDEpLHRoaXN9bWFrZVJvdGF0aW9uWih0KXtjb25zdCBlPU1hdGguY29zKHQpLG49TWF0aC5zaW4odCk7cmV0dXJuIHRoaXMuc2V0KGUsLW4sMCwwLG4sZSwwLDAsMCwwLDEsMCwwLDAsMCwxKSx0aGlzfW1ha2VSb3RhdGlvbkF4aXModCxlKXtjb25zdCBuPU1hdGguY29zKGUpLGk9TWF0aC5zaW4oZSkscj0xLW4sbz10LngsYT10Lnkscz10LnosbD1yKm8sYz1yKmE7cmV0dXJuIHRoaXMuc2V0KGwqbytuLGwqYS1pKnMsbCpzK2kqYSwwLGwqYStpKnMsYyphK24sYypzLWkqbywwLGwqcy1pKmEsYypzK2kqbyxyKnMqcytuLDAsMCwwLDAsMSksdGhpc31tYWtlU2NhbGUodCxlLG4pe3JldHVybiB0aGlzLnNldCh0LDAsMCwwLDAsZSwwLDAsMCwwLG4sMCwwLDAsMCwxKSx0aGlzfW1ha2VTaGVhcih0LGUsbixpLHIsbyl7cmV0dXJuIHRoaXMuc2V0KDEsbixyLDAsdCwxLG8sMCxlLGksMSwwLDAsMCwwLDEpLHRoaXN9Y29tcG9zZSh0LGUsbil7Y29uc3QgaT10aGlzLmVsZW1lbnRzLHI9ZS5feCxvPWUuX3ksYT1lLl96LHM9ZS5fdyxsPXIrcixjPW8rbyx1PWErYSxoPXIqbCxkPXIqYyxwPXIqdSxmPW8qYyxtPW8qdSxnPWEqdSxfPXMqbCx5PXMqYyx2PXMqdSxiPW4ueCx4PW4ueSx3PW4uejtyZXR1cm4gaVswXT0oMS0oZitnKSkqYixpWzFdPShkK3YpKmIsaVsyXT0ocC15KSpiLGlbM109MCxpWzRdPShkLXYpKngsaVs1XT0oMS0oaCtnKSkqeCxpWzZdPShtK18pKngsaVs3XT0wLGlbOF09KHAreSkqdyxpWzldPShtLV8pKncsaVsxMF09KDEtKGgrZikpKncsaVsxMV09MCxpWzEyXT10LngsaVsxM109dC55LGlbMTRdPXQueixpWzE1XT0xLHRoaXN9ZGVjb21wb3NlKHQsZSxuKXtjb25zdCBpPXRoaXMuZWxlbWVudHM7bGV0IHI9XzN0LnNldChpWzBdLGlbMV0saVsyXSkubGVuZ3RoKCk7Y29uc3Qgbz1fM3Quc2V0KGlbNF0saVs1XSxpWzZdKS5sZW5ndGgoKSxhPV8zdC5zZXQoaVs4XSxpWzldLGlbMTBdKS5sZW5ndGgoKTt0aGlzLmRldGVybWluYW50KCk8MCYmKHI9LXIpLHQueD1pWzEyXSx0Lnk9aVsxM10sdC56PWlbMTRdLHkzdC5jb3B5KHRoaXMpO2NvbnN0IHM9MS9yLGw9MS9vLGM9MS9hO3JldHVybiB5M3QuZWxlbWVudHNbMF0qPXMseTN0LmVsZW1lbnRzWzFdKj1zLHkzdC5lbGVtZW50c1syXSo9cyx5M3QuZWxlbWVudHNbNF0qPWwseTN0LmVsZW1lbnRzWzVdKj1sLHkzdC5lbGVtZW50c1s2XSo9bCx5M3QuZWxlbWVudHNbOF0qPWMseTN0LmVsZW1lbnRzWzldKj1jLHkzdC5lbGVtZW50c1sxMF0qPWMsZS5zZXRGcm9tUm90YXRpb25NYXRyaXgoeTN0KSxuLng9cixuLnk9byxuLno9YSx0aGlzfW1ha2VQZXJzcGVjdGl2ZSh0LGUsbixpLHIsbyl7dm9pZCAwPT09byYmY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubWFrZVBlcnNwZWN0aXZlKCkgaGFzIGJlZW4gcmVkZWZpbmVkIGFuZCBoYXMgYSBuZXcgc2lnbmF0dXJlLiBQbGVhc2UgY2hlY2sgdGhlIGRvY3MuIik7Y29uc3QgYT10aGlzLmVsZW1lbnRzLHM9MipyLyhuLWkpLGw9KGUrdCkvKGUtdCksYz0obitpKS8obi1pKSx1PS0obytyKS8oby1yKSxoPS0yKm8qci8oby1yKTtyZXR1cm4gYVswXT0yKnIvKGUtdCksYVs0XT0wLGFbOF09bCxhWzEyXT0wLGFbMV09MCxhWzVdPXMsYVs5XT1jLGFbMTNdPTAsYVsyXT0wLGFbNl09MCxhWzEwXT11LGFbMTRdPWgsYVszXT0wLGFbN109MCxhWzExXT0tMSxhWzE1XT0wLHRoaXN9bWFrZU9ydGhvZ3JhcGhpYyh0LGUsbixpLHIsbyl7Y29uc3QgYT10aGlzLmVsZW1lbnRzLHM9MS8oZS10KSxsPTEvKG4taSksYz0xLyhvLXIpLHU9KGUrdCkqcyxoPShuK2kpKmwsZD0obytyKSpjO3JldHVybiBhWzBdPTIqcyxhWzRdPTAsYVs4XT0wLGFbMTJdPS11LGFbMV09MCxhWzVdPTIqbCxhWzldPTAsYVsxM109LWgsYVsyXT0wLGFbNl09MCxhWzEwXT0tMipjLGFbMTRdPS1kLGFbM109MCxhWzddPTAsYVsxMV09MCxhWzE1XT0xLHRoaXN9ZXF1YWxzKHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50cyxuPXQuZWxlbWVudHM7Zm9yKGxldCB0PTA7dDwxNjt0KyspaWYoZVt0XSE9PW5bdF0pcmV0dXJuITE7cmV0dXJuITB9ZnJvbUFycmF5KHQsZT0wKXtmb3IobGV0IG49MDtuPDE2O24rKyl0aGlzLmVsZW1lbnRzW25dPXRbbitlXTtyZXR1cm4gdGhpc310b0FycmF5KHQ9W10sZT0wKXtjb25zdCBuPXRoaXMuZWxlbWVudHM7cmV0dXJuIHRbZV09blswXSx0W2UrMV09blsxXSx0W2UrMl09blsyXSx0W2UrM109blszXSx0W2UrNF09bls0XSx0W2UrNV09bls1XSx0W2UrNl09bls2XSx0W2UrN109bls3XSx0W2UrOF09bls4XSx0W2UrOV09bls5XSx0W2UrMTBdPW5bMTBdLHRbZSsxMV09blsxMV0sdFtlKzEyXT1uWzEyXSx0W2UrMTNdPW5bMTNdLHRbZSsxNF09blsxNF0sdFtlKzE1XT1uWzE1XSx0fX1nM3QucHJvdG90eXBlLmlzTWF0cml4ND0hMDtjb25zdCBfM3Q9bmV3IEg1dCx5M3Q9bmV3IGczdCx2M3Q9bmV3IEg1dCgwLDAsMCksYjN0PW5ldyBINXQoMSwxLDEpLHgzdD1uZXcgSDV0LHczdD1uZXcgSDV0LFMzdD1uZXcgSDV0LE0zdD1uZXcgZzN0LEUzdD1uZXcgQjV0O2NsYXNzIFQzdHtjb25zdHJ1Y3Rvcih0PTAsZT0wLG49MCxpPVQzdC5EZWZhdWx0T3JkZXIpe3RoaXMuX3g9dCx0aGlzLl95PWUsdGhpcy5fej1uLHRoaXMuX29yZGVyPWl9Z2V0IHgoKXtyZXR1cm4gdGhpcy5feH1zZXQgeCh0KXt0aGlzLl94PXQsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpfWdldCB5KCl7cmV0dXJuIHRoaXMuX3l9c2V0IHkodCl7dGhpcy5feT10LHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX1nZXQgeigpe3JldHVybiB0aGlzLl96fXNldCB6KHQpe3RoaXMuX3o9dCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9Z2V0IG9yZGVyKCl7cmV0dXJuIHRoaXMuX29yZGVyfXNldCBvcmRlcih0KXt0aGlzLl9vcmRlcj10LHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX1zZXQodCxlLG4saT10aGlzLl9vcmRlcil7cmV0dXJuIHRoaXMuX3g9dCx0aGlzLl95PWUsdGhpcy5fej1uLHRoaXMuX29yZGVyPWksdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5feCx0aGlzLl95LHRoaXMuX3osdGhpcy5fb3JkZXIpfWNvcHkodCl7cmV0dXJuIHRoaXMuX3g9dC5feCx0aGlzLl95PXQuX3ksdGhpcy5fej10Ll96LHRoaXMuX29yZGVyPXQuX29yZGVyLHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKSx0aGlzfXNldEZyb21Sb3RhdGlvbk1hdHJpeCh0LGU9dGhpcy5fb3JkZXIsbj0hMCl7Y29uc3QgaT10LmVsZW1lbnRzLHI9aVswXSxvPWlbNF0sYT1pWzhdLHM9aVsxXSxsPWlbNV0sYz1pWzldLHU9aVsyXSxoPWlbNl0sZD1pWzEwXTtzd2l0Y2goZSl7Y2FzZSJYWVoiOnRoaXMuX3k9TWF0aC5hc2luKHM1dChhLC0xLDEpKSxNYXRoLmFicyhhKTwuOTk5OTk5OT8odGhpcy5feD1NYXRoLmF0YW4yKC1jLGQpLHRoaXMuX3o9TWF0aC5hdGFuMigtbyxyKSk6KHRoaXMuX3g9TWF0aC5hdGFuMihoLGwpLHRoaXMuX3o9MCk7YnJlYWs7Y2FzZSJZWFoiOnRoaXMuX3g9TWF0aC5hc2luKC1zNXQoYywtMSwxKSksTWF0aC5hYnMoYyk8Ljk5OTk5OTk/KHRoaXMuX3k9TWF0aC5hdGFuMihhLGQpLHRoaXMuX3o9TWF0aC5hdGFuMihzLGwpKToodGhpcy5feT1NYXRoLmF0YW4yKC11LHIpLHRoaXMuX3o9MCk7YnJlYWs7Y2FzZSJaWFkiOnRoaXMuX3g9TWF0aC5hc2luKHM1dChoLC0xLDEpKSxNYXRoLmFicyhoKTwuOTk5OTk5OT8odGhpcy5feT1NYXRoLmF0YW4yKC11LGQpLHRoaXMuX3o9TWF0aC5hdGFuMigtbyxsKSk6KHRoaXMuX3k9MCx0aGlzLl96PU1hdGguYXRhbjIocyxyKSk7YnJlYWs7Y2FzZSJaWVgiOnRoaXMuX3k9TWF0aC5hc2luKC1zNXQodSwtMSwxKSksTWF0aC5hYnModSk8Ljk5OTk5OTk/KHRoaXMuX3g9TWF0aC5hdGFuMihoLGQpLHRoaXMuX3o9TWF0aC5hdGFuMihzLHIpKToodGhpcy5feD0wLHRoaXMuX3o9TWF0aC5hdGFuMigtbyxsKSk7YnJlYWs7Y2FzZSJZWlgiOnRoaXMuX3o9TWF0aC5hc2luKHM1dChzLC0xLDEpKSxNYXRoLmFicyhzKTwuOTk5OTk5OT8odGhpcy5feD1NYXRoLmF0YW4yKC1jLGwpLHRoaXMuX3k9TWF0aC5hdGFuMigtdSxyKSk6KHRoaXMuX3g9MCx0aGlzLl95PU1hdGguYXRhbjIoYSxkKSk7YnJlYWs7Y2FzZSJYWlkiOnRoaXMuX3o9TWF0aC5hc2luKC1zNXQobywtMSwxKSksTWF0aC5hYnMobyk8Ljk5OTk5OTk/KHRoaXMuX3g9TWF0aC5hdGFuMihoLGwpLHRoaXMuX3k9TWF0aC5hdGFuMihhLHIpKToodGhpcy5feD1NYXRoLmF0YW4yKC1jLGQpLHRoaXMuX3k9MCk7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLndhcm4oIlRIUkVFLkV1bGVyOiAuc2V0RnJvbVJvdGF0aW9uTWF0cml4KCkgZW5jb3VudGVyZWQgYW4gdW5rbm93biBvcmRlcjogIitlKX1yZXR1cm4gdGhpcy5fb3JkZXI9ZSwhMD09PW4mJnRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKSx0aGlzfXNldEZyb21RdWF0ZXJuaW9uKHQsZSxuKXtyZXR1cm4gTTN0Lm1ha2VSb3RhdGlvbkZyb21RdWF0ZXJuaW9uKHQpLHRoaXMuc2V0RnJvbVJvdGF0aW9uTWF0cml4KE0zdCxlLG4pfXNldEZyb21WZWN0b3IzKHQsZT10aGlzLl9vcmRlcil7cmV0dXJuIHRoaXMuc2V0KHQueCx0LnksdC56LGUpfXJlb3JkZXIodCl7cmV0dXJuIEUzdC5zZXRGcm9tRXVsZXIodGhpcyksdGhpcy5zZXRGcm9tUXVhdGVybmlvbihFM3QsdCl9ZXF1YWxzKHQpe3JldHVybiB0Ll94PT09dGhpcy5feCYmdC5feT09PXRoaXMuX3kmJnQuX3o9PT10aGlzLl96JiZ0Ll9vcmRlcj09PXRoaXMuX29yZGVyfWZyb21BcnJheSh0KXtyZXR1cm4gdGhpcy5feD10WzBdLHRoaXMuX3k9dFsxXSx0aGlzLl96PXRbMl0sdm9pZCAwIT09dFszXSYmKHRoaXMuX29yZGVyPXRbM10pLHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKSx0aGlzfXRvQXJyYXkodD1bXSxlPTApe3JldHVybiB0W2VdPXRoaXMuX3gsdFtlKzFdPXRoaXMuX3ksdFtlKzJdPXRoaXMuX3osdFtlKzNdPXRoaXMuX29yZGVyLHR9dG9WZWN0b3IzKHQpe3JldHVybiB0P3Quc2V0KHRoaXMuX3gsdGhpcy5feSx0aGlzLl96KTpuZXcgSDV0KHRoaXMuX3gsdGhpcy5feSx0aGlzLl96KX1fb25DaGFuZ2UodCl7cmV0dXJuIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2s9dCx0aGlzfV9vbkNoYW5nZUNhbGxiYWNrKCl7fX1UM3QucHJvdG90eXBlLmlzRXVsZXI9ITAsVDN0LkRlZmF1bHRPcmRlcj0iWFlaIixUM3QuUm90YXRpb25PcmRlcnM9WyJYWVoiLCJZWlgiLCJaWFkiLCJYWlkiLCJZWFoiLCJaWVgiXTtjbGFzcyBDM3R7Y29uc3RydWN0b3IoKXt0aGlzLm1hc2s9MX1zZXQodCl7dGhpcy5tYXNrPTE8PHR8MH1lbmFibGUodCl7dGhpcy5tYXNrfD0xPDx0fDB9ZW5hYmxlQWxsKCl7dGhpcy5tYXNrPS0xfXRvZ2dsZSh0KXt0aGlzLm1hc2tePTE8PHR8MH1kaXNhYmxlKHQpe3RoaXMubWFzayY9figxPDx0fDApfWRpc2FibGVBbGwoKXt0aGlzLm1hc2s9MH10ZXN0KHQpe3JldHVybiAwIT0odGhpcy5tYXNrJnQubWFzayl9fWxldCBBM3Q9MDtjb25zdCBrM3Q9bmV3IEg1dCxMM3Q9bmV3IEI1dCxQM3Q9bmV3IGczdCxOM3Q9bmV3IEg1dCxJM3Q9bmV3IEg1dCxSM3Q9bmV3IEg1dCxPM3Q9bmV3IEI1dCx6M3Q9bmV3IEg1dCgxLDAsMCksRDN0PW5ldyBINXQoMCwxLDApLEIzdD1uZXcgSDV0KDAsMCwxKSxIM3Q9e3R5cGU6ImFkZGVkIn0sRjN0PXt0eXBlOiJyZW1vdmVkIn07Y2xhc3MgVjN0IGV4dGVuZHMgZTV0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiaWQiLHt2YWx1ZTpBM3QrK30pLHRoaXMudXVpZD1hNXQoKSx0aGlzLm5hbWU9IiIsdGhpcy50eXBlPSJPYmplY3QzRCIsdGhpcy5wYXJlbnQ9bnVsbCx0aGlzLmNoaWxkcmVuPVtdLHRoaXMudXA9VjN0LkRlZmF1bHRVcC5jbG9uZSgpO2NvbnN0IHQ9bmV3IEg1dCxlPW5ldyBUM3Qsbj1uZXcgQjV0LGk9bmV3IEg1dCgxLDEsMSk7ZS5fb25DaGFuZ2UoKGZ1bmN0aW9uIHIoKXtuLnNldEZyb21FdWxlcihlLCExKX0pKSxuLl9vbkNoYW5nZSgoZnVuY3Rpb24gbygpe2Uuc2V0RnJvbVF1YXRlcm5pb24obix2b2lkIDAsITEpfSkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRoaXMse3Bvc2l0aW9uOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTp0fSxyb3RhdGlvbjp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6ZX0scXVhdGVybmlvbjp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6bn0sc2NhbGU6e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOml9LG1vZGVsVmlld01hdHJpeDp7dmFsdWU6bmV3IGczdH0sbm9ybWFsTWF0cml4Ont2YWx1ZTpuZXcgQTV0fX0pLHRoaXMubWF0cml4PW5ldyBnM3QsdGhpcy5tYXRyaXhXb3JsZD1uZXcgZzN0LHRoaXMubWF0cml4QXV0b1VwZGF0ZT1WM3QuRGVmYXVsdE1hdHJpeEF1dG9VcGRhdGUsdGhpcy5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSExLHRoaXMubGF5ZXJzPW5ldyBDM3QsdGhpcy52aXNpYmxlPSEwLHRoaXMuY2FzdFNoYWRvdz0hMSx0aGlzLnJlY2VpdmVTaGFkb3c9ITEsdGhpcy5mcnVzdHVtQ3VsbGVkPSEwLHRoaXMucmVuZGVyT3JkZXI9MCx0aGlzLmFuaW1hdGlvbnM9W10sdGhpcy51c2VyRGF0YT17fX1vbkJlZm9yZVJlbmRlcigpe31vbkFmdGVyUmVuZGVyKCl7fWFwcGx5TWF0cml4NCh0KXt0aGlzLm1hdHJpeEF1dG9VcGRhdGUmJnRoaXMudXBkYXRlTWF0cml4KCksdGhpcy5tYXRyaXgucHJlbXVsdGlwbHkodCksdGhpcy5tYXRyaXguZGVjb21wb3NlKHRoaXMucG9zaXRpb24sdGhpcy5xdWF0ZXJuaW9uLHRoaXMuc2NhbGUpfWFwcGx5UXVhdGVybmlvbih0KXtyZXR1cm4gdGhpcy5xdWF0ZXJuaW9uLnByZW11bHRpcGx5KHQpLHRoaXN9c2V0Um90YXRpb25Gcm9tQXhpc0FuZ2xlKHQsZSl7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21BeGlzQW5nbGUodCxlKX1zZXRSb3RhdGlvbkZyb21FdWxlcih0KXt0aGlzLnF1YXRlcm5pb24uc2V0RnJvbUV1bGVyKHQsITApfXNldFJvdGF0aW9uRnJvbU1hdHJpeCh0KXt0aGlzLnF1YXRlcm5pb24uc2V0RnJvbVJvdGF0aW9uTWF0cml4KHQpfXNldFJvdGF0aW9uRnJvbVF1YXRlcm5pb24odCl7dGhpcy5xdWF0ZXJuaW9uLmNvcHkodCl9cm90YXRlT25BeGlzKHQsZSl7cmV0dXJuIEwzdC5zZXRGcm9tQXhpc0FuZ2xlKHQsZSksdGhpcy5xdWF0ZXJuaW9uLm11bHRpcGx5KEwzdCksdGhpc31yb3RhdGVPbldvcmxkQXhpcyh0LGUpe3JldHVybiBMM3Quc2V0RnJvbUF4aXNBbmdsZSh0LGUpLHRoaXMucXVhdGVybmlvbi5wcmVtdWx0aXBseShMM3QpLHRoaXN9cm90YXRlWCh0KXtyZXR1cm4gdGhpcy5yb3RhdGVPbkF4aXMoejN0LHQpfXJvdGF0ZVkodCl7cmV0dXJuIHRoaXMucm90YXRlT25BeGlzKEQzdCx0KX1yb3RhdGVaKHQpe3JldHVybiB0aGlzLnJvdGF0ZU9uQXhpcyhCM3QsdCl9dHJhbnNsYXRlT25BeGlzKHQsZSl7cmV0dXJuIGszdC5jb3B5KHQpLmFwcGx5UXVhdGVybmlvbih0aGlzLnF1YXRlcm5pb24pLHRoaXMucG9zaXRpb24uYWRkKGszdC5tdWx0aXBseVNjYWxhcihlKSksdGhpc310cmFuc2xhdGVYKHQpe3JldHVybiB0aGlzLnRyYW5zbGF0ZU9uQXhpcyh6M3QsdCl9dHJhbnNsYXRlWSh0KXtyZXR1cm4gdGhpcy50cmFuc2xhdGVPbkF4aXMoRDN0LHQpfXRyYW5zbGF0ZVoodCl7cmV0dXJuIHRoaXMudHJhbnNsYXRlT25BeGlzKEIzdCx0KX1sb2NhbFRvV29ybGQodCl7cmV0dXJuIHQuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpfXdvcmxkVG9Mb2NhbCh0KXtyZXR1cm4gdC5hcHBseU1hdHJpeDQoUDN0LmNvcHkodGhpcy5tYXRyaXhXb3JsZCkuaW52ZXJ0KCkpfWxvb2tBdCh0LGUsbil7dC5pc1ZlY3RvcjM/TjN0LmNvcHkodCk6TjN0LnNldCh0LGUsbik7Y29uc3QgaT10aGlzLnBhcmVudDt0aGlzLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKSxJM3Quc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHRoaXMubWF0cml4V29ybGQpLHRoaXMuaXNDYW1lcmF8fHRoaXMuaXNMaWdodD9QM3QubG9va0F0KEkzdCxOM3QsdGhpcy51cCk6UDN0Lmxvb2tBdChOM3QsSTN0LHRoaXMudXApLHRoaXMucXVhdGVybmlvbi5zZXRGcm9tUm90YXRpb25NYXRyaXgoUDN0KSxpJiYoUDN0LmV4dHJhY3RSb3RhdGlvbihpLm1hdHJpeFdvcmxkKSxMM3Quc2V0RnJvbVJvdGF0aW9uTWF0cml4KFAzdCksdGhpcy5xdWF0ZXJuaW9uLnByZW11bHRpcGx5KEwzdC5pbnZlcnQoKSkpfWFkZCh0KXtpZihhcmd1bWVudHMubGVuZ3RoPjEpe2ZvcihsZXQgdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspdGhpcy5hZGQoYXJndW1lbnRzW3RdKTtyZXR1cm4gdGhpc31yZXR1cm4gdD09PXRoaXM/KGNvbnNvbGUuZXJyb3IoIlRIUkVFLk9iamVjdDNELmFkZDogb2JqZWN0IGNhbid0IGJlIGFkZGVkIGFzIGEgY2hpbGQgb2YgaXRzZWxmLiIsdCksdGhpcyk6KHQmJnQuaXNPYmplY3QzRD8obnVsbCE9PXQucGFyZW50JiZ0LnBhcmVudC5yZW1vdmUodCksdC5wYXJlbnQ9dGhpcyx0aGlzLmNoaWxkcmVuLnB1c2godCksdC5kaXNwYXRjaEV2ZW50KEgzdCkpOmNvbnNvbGUuZXJyb3IoIlRIUkVFLk9iamVjdDNELmFkZDogb2JqZWN0IG5vdCBhbiBpbnN0YW5jZSBvZiBUSFJFRS5PYmplY3QzRC4iLHQpLHRoaXMpfXJlbW92ZSh0KXtpZihhcmd1bWVudHMubGVuZ3RoPjEpe2ZvcihsZXQgdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspdGhpcy5yZW1vdmUoYXJndW1lbnRzW3RdKTtyZXR1cm4gdGhpc31jb25zdCBlPXRoaXMuY2hpbGRyZW4uaW5kZXhPZih0KTtyZXR1cm4tMSE9PWUmJih0LnBhcmVudD1udWxsLHRoaXMuY2hpbGRyZW4uc3BsaWNlKGUsMSksdC5kaXNwYXRjaEV2ZW50KEYzdCkpLHRoaXN9cmVtb3ZlRnJvbVBhcmVudCgpe2NvbnN0IHQ9dGhpcy5wYXJlbnQ7cmV0dXJuIG51bGwhPT10JiZ0LnJlbW92ZSh0aGlzKSx0aGlzfWNsZWFyKCl7Zm9yKGxldCB0PTA7dDx0aGlzLmNoaWxkcmVuLmxlbmd0aDt0Kyspe2NvbnN0IGU9dGhpcy5jaGlsZHJlblt0XTtlLnBhcmVudD1udWxsLGUuZGlzcGF0Y2hFdmVudChGM3QpfXJldHVybiB0aGlzLmNoaWxkcmVuLmxlbmd0aD0wLHRoaXN9YXR0YWNoKHQpe3JldHVybiB0aGlzLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKSxQM3QuY29weSh0aGlzLm1hdHJpeFdvcmxkKS5pbnZlcnQoKSxudWxsIT09dC5wYXJlbnQmJih0LnBhcmVudC51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSksUDN0Lm11bHRpcGx5KHQucGFyZW50Lm1hdHJpeFdvcmxkKSksdC5hcHBseU1hdHJpeDQoUDN0KSx0aGlzLmFkZCh0KSx0LnVwZGF0ZVdvcmxkTWF0cml4KCExLCEwKSx0aGlzfWdldE9iamVjdEJ5SWQodCl7cmV0dXJuIHRoaXMuZ2V0T2JqZWN0QnlQcm9wZXJ0eSgiaWQiLHQpfWdldE9iamVjdEJ5TmFtZSh0KXtyZXR1cm4gdGhpcy5nZXRPYmplY3RCeVByb3BlcnR5KCJuYW1lIix0KX1nZXRPYmplY3RCeVByb3BlcnR5KHQsZSl7aWYodGhpc1t0XT09PWUpcmV0dXJuIHRoaXM7Zm9yKGxldCBuPTAsaT10aGlzLmNoaWxkcmVuLmxlbmd0aDtuPGk7bisrKXtjb25zdCBpPXRoaXMuY2hpbGRyZW5bbl0uZ2V0T2JqZWN0QnlQcm9wZXJ0eSh0LGUpO2lmKHZvaWQgMCE9PWkpcmV0dXJuIGl9fWdldFdvcmxkUG9zaXRpb24odCl7cmV0dXJuIHRoaXMudXBkYXRlV29ybGRNYXRyaXgoITAsITEpLHQuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHRoaXMubWF0cml4V29ybGQpfWdldFdvcmxkUXVhdGVybmlvbih0KXtyZXR1cm4gdGhpcy51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSksdGhpcy5tYXRyaXhXb3JsZC5kZWNvbXBvc2UoSTN0LHQsUjN0KSx0fWdldFdvcmxkU2NhbGUodCl7cmV0dXJuIHRoaXMudXBkYXRlV29ybGRNYXRyaXgoITAsITEpLHRoaXMubWF0cml4V29ybGQuZGVjb21wb3NlKEkzdCxPM3QsdCksdH1nZXRXb3JsZERpcmVjdGlvbih0KXt0aGlzLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKTtjb25zdCBlPXRoaXMubWF0cml4V29ybGQuZWxlbWVudHM7cmV0dXJuIHQuc2V0KGVbOF0sZVs5XSxlWzEwXSkubm9ybWFsaXplKCl9cmF5Y2FzdCgpe310cmF2ZXJzZSh0KXt0KHRoaXMpO2NvbnN0IGU9dGhpcy5jaGlsZHJlbjtmb3IobGV0IG49MCxpPWUubGVuZ3RoO248aTtuKyspZVtuXS50cmF2ZXJzZSh0KX10cmF2ZXJzZVZpc2libGUodCl7aWYoITE9PT10aGlzLnZpc2libGUpcmV0dXJuO3QodGhpcyk7Y29uc3QgZT10aGlzLmNoaWxkcmVuO2ZvcihsZXQgbj0wLGk9ZS5sZW5ndGg7bjxpO24rKyllW25dLnRyYXZlcnNlVmlzaWJsZSh0KX10cmF2ZXJzZUFuY2VzdG9ycyh0KXtjb25zdCBlPXRoaXMucGFyZW50O251bGwhPT1lJiYodChlKSxlLnRyYXZlcnNlQW5jZXN0b3JzKHQpKX11cGRhdGVNYXRyaXgoKXt0aGlzLm1hdHJpeC5jb21wb3NlKHRoaXMucG9zaXRpb24sdGhpcy5xdWF0ZXJuaW9uLHRoaXMuc2NhbGUpLHRoaXMubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMH11cGRhdGVNYXRyaXhXb3JsZCh0KXt0aGlzLm1hdHJpeEF1dG9VcGRhdGUmJnRoaXMudXBkYXRlTWF0cml4KCksKHRoaXMubWF0cml4V29ybGROZWVkc1VwZGF0ZXx8dCkmJihudWxsPT09dGhpcy5wYXJlbnQ/dGhpcy5tYXRyaXhXb3JsZC5jb3B5KHRoaXMubWF0cml4KTp0aGlzLm1hdHJpeFdvcmxkLm11bHRpcGx5TWF0cmljZXModGhpcy5wYXJlbnQubWF0cml4V29ybGQsdGhpcy5tYXRyaXgpLHRoaXMubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMSx0PSEwKTtjb25zdCBlPXRoaXMuY2hpbGRyZW47Zm9yKGxldCBuPTAsaT1lLmxlbmd0aDtuPGk7bisrKWVbbl0udXBkYXRlTWF0cml4V29ybGQodCl9dXBkYXRlV29ybGRNYXRyaXgodCxlKXtjb25zdCBuPXRoaXMucGFyZW50O2lmKCEwPT09dCYmbnVsbCE9PW4mJm4udXBkYXRlV29ybGRNYXRyaXgoITAsITEpLHRoaXMubWF0cml4QXV0b1VwZGF0ZSYmdGhpcy51cGRhdGVNYXRyaXgoKSxudWxsPT09dGhpcy5wYXJlbnQ/dGhpcy5tYXRyaXhXb3JsZC5jb3B5KHRoaXMubWF0cml4KTp0aGlzLm1hdHJpeFdvcmxkLm11bHRpcGx5TWF0cmljZXModGhpcy5wYXJlbnQubWF0cml4V29ybGQsdGhpcy5tYXRyaXgpLCEwPT09ZSl7Y29uc3QgdD10aGlzLmNoaWxkcmVuO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl0W2VdLnVwZGF0ZVdvcmxkTWF0cml4KCExLCEwKX19dG9KU09OKHQpe2NvbnN0IGU9dm9pZCAwPT09dHx8InN0cmluZyI9PXR5cGVvZiB0LG49e307ZSYmKHQ9e2dlb21ldHJpZXM6e30sbWF0ZXJpYWxzOnt9LHRleHR1cmVzOnt9LGltYWdlczp7fSxzaGFwZXM6e30sc2tlbGV0b25zOnt9LGFuaW1hdGlvbnM6e319LG4ubWV0YWRhdGE9e3ZlcnNpb246NC41LHR5cGU6Ik9iamVjdCIsZ2VuZXJhdG9yOiJPYmplY3QzRC50b0pTT04ifSk7Y29uc3QgaT17fTtmdW5jdGlvbiByKGUsbil7cmV0dXJuIHZvaWQgMD09PWVbbi51dWlkXSYmKGVbbi51dWlkXT1uLnRvSlNPTih0KSksbi51dWlkfWlmKGkudXVpZD10aGlzLnV1aWQsaS50eXBlPXRoaXMudHlwZSwiIiE9PXRoaXMubmFtZSYmKGkubmFtZT10aGlzLm5hbWUpLCEwPT09dGhpcy5jYXN0U2hhZG93JiYoaS5jYXN0U2hhZG93PSEwKSwhMD09PXRoaXMucmVjZWl2ZVNoYWRvdyYmKGkucmVjZWl2ZVNoYWRvdz0hMCksITE9PT10aGlzLnZpc2libGUmJihpLnZpc2libGU9ITEpLCExPT09dGhpcy5mcnVzdHVtQ3VsbGVkJiYoaS5mcnVzdHVtQ3VsbGVkPSExKSwwIT09dGhpcy5yZW5kZXJPcmRlciYmKGkucmVuZGVyT3JkZXI9dGhpcy5yZW5kZXJPcmRlciksInt9IiE9PUpTT04uc3RyaW5naWZ5KHRoaXMudXNlckRhdGEpJiYoaS51c2VyRGF0YT10aGlzLnVzZXJEYXRhKSxpLmxheWVycz10aGlzLmxheWVycy5tYXNrLGkubWF0cml4PXRoaXMubWF0cml4LnRvQXJyYXkoKSwhMT09PXRoaXMubWF0cml4QXV0b1VwZGF0ZSYmKGkubWF0cml4QXV0b1VwZGF0ZT0hMSksdGhpcy5pc0luc3RhbmNlZE1lc2gmJihpLnR5cGU9Ikluc3RhbmNlZE1lc2giLGkuY291bnQ9dGhpcy5jb3VudCxpLmluc3RhbmNlTWF0cml4PXRoaXMuaW5zdGFuY2VNYXRyaXgudG9KU09OKCksbnVsbCE9PXRoaXMuaW5zdGFuY2VDb2xvciYmKGkuaW5zdGFuY2VDb2xvcj10aGlzLmluc3RhbmNlQ29sb3IudG9KU09OKCkpKSx0aGlzLmlzU2NlbmUpdGhpcy5iYWNrZ3JvdW5kJiYodGhpcy5iYWNrZ3JvdW5kLmlzQ29sb3I/aS5iYWNrZ3JvdW5kPXRoaXMuYmFja2dyb3VuZC50b0pTT04oKTp0aGlzLmJhY2tncm91bmQuaXNUZXh0dXJlJiYoaS5iYWNrZ3JvdW5kPXRoaXMuYmFja2dyb3VuZC50b0pTT04odCkudXVpZCkpLHRoaXMuZW52aXJvbm1lbnQmJnRoaXMuZW52aXJvbm1lbnQuaXNUZXh0dXJlJiYoaS5lbnZpcm9ubWVudD10aGlzLmVudmlyb25tZW50LnRvSlNPTih0KS51dWlkKTtlbHNlIGlmKHRoaXMuaXNNZXNofHx0aGlzLmlzTGluZXx8dGhpcy5pc1BvaW50cyl7aS5nZW9tZXRyeT1yKHQuZ2VvbWV0cmllcyx0aGlzLmdlb21ldHJ5KTtjb25zdCBlPXRoaXMuZ2VvbWV0cnkucGFyYW1ldGVycztpZih2b2lkIDAhPT1lJiZ2b2lkIDAhPT1lLnNoYXBlcyl7Y29uc3Qgbj1lLnNoYXBlcztpZihBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgZT0wLGk9bi5sZW5ndGg7ZTxpO2UrKyl7cih0LnNoYXBlcyxuW2VdKX1lbHNlIHIodC5zaGFwZXMsbil9fWlmKHRoaXMuaXNTa2lubmVkTWVzaCYmKGkuYmluZE1vZGU9dGhpcy5iaW5kTW9kZSxpLmJpbmRNYXRyaXg9dGhpcy5iaW5kTWF0cml4LnRvQXJyYXkoKSx2b2lkIDAhPT10aGlzLnNrZWxldG9uJiYocih0LnNrZWxldG9ucyx0aGlzLnNrZWxldG9uKSxpLnNrZWxldG9uPXRoaXMuc2tlbGV0b24udXVpZCkpLHZvaWQgMCE9PXRoaXMubWF0ZXJpYWwpaWYoQXJyYXkuaXNBcnJheSh0aGlzLm1hdGVyaWFsKSl7Y29uc3QgZT1bXTtmb3IobGV0IG49MCxpPXRoaXMubWF0ZXJpYWwubGVuZ3RoO248aTtuKyspZS5wdXNoKHIodC5tYXRlcmlhbHMsdGhpcy5tYXRlcmlhbFtuXSkpO2kubWF0ZXJpYWw9ZX1lbHNlIGkubWF0ZXJpYWw9cih0Lm1hdGVyaWFscyx0aGlzLm1hdGVyaWFsKTtpZih0aGlzLmNoaWxkcmVuLmxlbmd0aD4wKXtpLmNoaWxkcmVuPVtdO2ZvcihsZXQgZT0wO2U8dGhpcy5jaGlsZHJlbi5sZW5ndGg7ZSsrKWkuY2hpbGRyZW4ucHVzaCh0aGlzLmNoaWxkcmVuW2VdLnRvSlNPTih0KS5vYmplY3QpfWlmKHRoaXMuYW5pbWF0aW9ucy5sZW5ndGg+MCl7aS5hbmltYXRpb25zPVtdO2ZvcihsZXQgZT0wO2U8dGhpcy5hbmltYXRpb25zLmxlbmd0aDtlKyspe2kuYW5pbWF0aW9ucy5wdXNoKHIodC5hbmltYXRpb25zLHRoaXMuYW5pbWF0aW9uc1tlXSkpfX1pZihlKXtjb25zdCBlPW8odC5nZW9tZXRyaWVzKSxpPW8odC5tYXRlcmlhbHMpLHI9byh0LnRleHR1cmVzKSxhPW8odC5pbWFnZXMpLHM9byh0LnNoYXBlcyksbD1vKHQuc2tlbGV0b25zKSxjPW8odC5hbmltYXRpb25zKTtlLmxlbmd0aD4wJiYobi5nZW9tZXRyaWVzPWUpLGkubGVuZ3RoPjAmJihuLm1hdGVyaWFscz1pKSxyLmxlbmd0aD4wJiYobi50ZXh0dXJlcz1yKSxhLmxlbmd0aD4wJiYobi5pbWFnZXM9YSkscy5sZW5ndGg+MCYmKG4uc2hhcGVzPXMpLGwubGVuZ3RoPjAmJihuLnNrZWxldG9ucz1sKSxjLmxlbmd0aD4wJiYobi5hbmltYXRpb25zPWMpfXJldHVybiBuLm9iamVjdD1pLG47ZnVuY3Rpb24gbyh0KXtjb25zdCBlPVtdO2Zvcihjb25zdCBuIGluIHQpe2NvbnN0IGk9dFtuXTtkZWxldGUgaS5tZXRhZGF0YSxlLnB1c2goaSl9cmV0dXJuIGV9fWNsb25lKHQpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzLHQpfWNvcHkodCxlPSEwKXtpZih0aGlzLm5hbWU9dC5uYW1lLHRoaXMudXAuY29weSh0LnVwKSx0aGlzLnBvc2l0aW9uLmNvcHkodC5wb3NpdGlvbiksdGhpcy5yb3RhdGlvbi5vcmRlcj10LnJvdGF0aW9uLm9yZGVyLHRoaXMucXVhdGVybmlvbi5jb3B5KHQucXVhdGVybmlvbiksdGhpcy5zY2FsZS5jb3B5KHQuc2NhbGUpLHRoaXMubWF0cml4LmNvcHkodC5tYXRyaXgpLHRoaXMubWF0cml4V29ybGQuY29weSh0Lm1hdHJpeFdvcmxkKSx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9dC5tYXRyaXhBdXRvVXBkYXRlLHRoaXMubWF0cml4V29ybGROZWVkc1VwZGF0ZT10Lm1hdHJpeFdvcmxkTmVlZHNVcGRhdGUsdGhpcy5sYXllcnMubWFzaz10LmxheWVycy5tYXNrLHRoaXMudmlzaWJsZT10LnZpc2libGUsdGhpcy5jYXN0U2hhZG93PXQuY2FzdFNoYWRvdyx0aGlzLnJlY2VpdmVTaGFkb3c9dC5yZWNlaXZlU2hhZG93LHRoaXMuZnJ1c3R1bUN1bGxlZD10LmZydXN0dW1DdWxsZWQsdGhpcy5yZW5kZXJPcmRlcj10LnJlbmRlck9yZGVyLHRoaXMudXNlckRhdGE9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0LnVzZXJEYXRhKSksITA9PT1lKWZvcihsZXQgZT0wO2U8dC5jaGlsZHJlbi5sZW5ndGg7ZSsrKXt0aGlzLmFkZCh0LmNoaWxkcmVuW2VdLmNsb25lKCkpfXJldHVybiB0aGlzfX1WM3QuRGVmYXVsdFVwPW5ldyBINXQoMCwxLDApLFYzdC5EZWZhdWx0TWF0cml4QXV0b1VwZGF0ZT0hMCxWM3QucHJvdG90eXBlLmlzT2JqZWN0M0Q9ITA7Y29uc3QgVTN0PW5ldyBINXQsajN0PW5ldyBINXQsRzN0PW5ldyBINXQsVzN0PW5ldyBINXQscTN0PW5ldyBINXQsWTN0PW5ldyBINXQsWDN0PW5ldyBINXQsJDN0PW5ldyBINXQsSzN0PW5ldyBINXQsWjN0PW5ldyBINXQ7Y2xhc3MgSjN0e2NvbnN0cnVjdG9yKHQ9bmV3IEg1dCxlPW5ldyBINXQsbj1uZXcgSDV0KXt0aGlzLmE9dCx0aGlzLmI9ZSx0aGlzLmM9bn1zdGF0aWMgZ2V0Tm9ybWFsKHQsZSxuLGkpe2kuc3ViVmVjdG9ycyhuLGUpLFUzdC5zdWJWZWN0b3JzKHQsZSksaS5jcm9zcyhVM3QpO2NvbnN0IHI9aS5sZW5ndGhTcSgpO3JldHVybiByPjA/aS5tdWx0aXBseVNjYWxhcigxL01hdGguc3FydChyKSk6aS5zZXQoMCwwLDApfXN0YXRpYyBnZXRCYXJ5Y29vcmQodCxlLG4saSxyKXtVM3Quc3ViVmVjdG9ycyhpLGUpLGozdC5zdWJWZWN0b3JzKG4sZSksRzN0LnN1YlZlY3RvcnModCxlKTtjb25zdCBvPVUzdC5kb3QoVTN0KSxhPVUzdC5kb3QoajN0KSxzPVUzdC5kb3QoRzN0KSxsPWozdC5kb3QoajN0KSxjPWozdC5kb3QoRzN0KSx1PW8qbC1hKmE7aWYoMD09PXUpcmV0dXJuIHIuc2V0KC0yLC0xLC0xKTtjb25zdCBoPTEvdSxkPShsKnMtYSpjKSpoLHA9KG8qYy1hKnMpKmg7cmV0dXJuIHIuc2V0KDEtZC1wLHAsZCl9c3RhdGljIGNvbnRhaW5zUG9pbnQodCxlLG4saSl7cmV0dXJuIHRoaXMuZ2V0QmFyeWNvb3JkKHQsZSxuLGksVzN0KSxXM3QueD49MCYmVzN0Lnk+PTAmJlczdC54K1czdC55PD0xfXN0YXRpYyBnZXRVVih0LGUsbixpLHIsbyxhLHMpe3JldHVybiB0aGlzLmdldEJhcnljb29yZCh0LGUsbixpLFczdCkscy5zZXQoMCwwKSxzLmFkZFNjYWxlZFZlY3RvcihyLFczdC54KSxzLmFkZFNjYWxlZFZlY3RvcihvLFczdC55KSxzLmFkZFNjYWxlZFZlY3RvcihhLFczdC56KSxzfXN0YXRpYyBpc0Zyb250RmFjaW5nKHQsZSxuLGkpe3JldHVybiBVM3Quc3ViVmVjdG9ycyhuLGUpLGozdC5zdWJWZWN0b3JzKHQsZSksVTN0LmNyb3NzKGozdCkuZG90KGkpPDB9c2V0KHQsZSxuKXtyZXR1cm4gdGhpcy5hLmNvcHkodCksdGhpcy5iLmNvcHkoZSksdGhpcy5jLmNvcHkobiksdGhpc31zZXRGcm9tUG9pbnRzQW5kSW5kaWNlcyh0LGUsbixpKXtyZXR1cm4gdGhpcy5hLmNvcHkodFtlXSksdGhpcy5iLmNvcHkodFtuXSksdGhpcy5jLmNvcHkodFtpXSksdGhpc31jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX1jb3B5KHQpe3JldHVybiB0aGlzLmEuY29weSh0LmEpLHRoaXMuYi5jb3B5KHQuYiksdGhpcy5jLmNvcHkodC5jKSx0aGlzfWdldEFyZWEoKXtyZXR1cm4gVTN0LnN1YlZlY3RvcnModGhpcy5jLHRoaXMuYiksajN0LnN1YlZlY3RvcnModGhpcy5hLHRoaXMuYiksLjUqVTN0LmNyb3NzKGozdCkubGVuZ3RoKCl9Z2V0TWlkcG9pbnQodCl7cmV0dXJuIHQuYWRkVmVjdG9ycyh0aGlzLmEsdGhpcy5iKS5hZGQodGhpcy5jKS5tdWx0aXBseVNjYWxhcigxLzMpfWdldE5vcm1hbCh0KXtyZXR1cm4gSjN0LmdldE5vcm1hbCh0aGlzLmEsdGhpcy5iLHRoaXMuYyx0KX1nZXRQbGFuZSh0KXtyZXR1cm4gdC5zZXRGcm9tQ29wbGFuYXJQb2ludHModGhpcy5hLHRoaXMuYix0aGlzLmMpfWdldEJhcnljb29yZCh0LGUpe3JldHVybiBKM3QuZ2V0QmFyeWNvb3JkKHQsdGhpcy5hLHRoaXMuYix0aGlzLmMsZSl9Z2V0VVYodCxlLG4saSxyKXtyZXR1cm4gSjN0LmdldFVWKHQsdGhpcy5hLHRoaXMuYix0aGlzLmMsZSxuLGkscil9Y29udGFpbnNQb2ludCh0KXtyZXR1cm4gSjN0LmNvbnRhaW5zUG9pbnQodCx0aGlzLmEsdGhpcy5iLHRoaXMuYyl9aXNGcm9udEZhY2luZyh0KXtyZXR1cm4gSjN0LmlzRnJvbnRGYWNpbmcodGhpcy5hLHRoaXMuYix0aGlzLmMsdCl9aW50ZXJzZWN0c0JveCh0KXtyZXR1cm4gdC5pbnRlcnNlY3RzVHJpYW5nbGUodGhpcyl9Y2xvc2VzdFBvaW50VG9Qb2ludCh0LGUpe2NvbnN0IG49dGhpcy5hLGk9dGhpcy5iLHI9dGhpcy5jO2xldCBvLGE7cTN0LnN1YlZlY3RvcnMoaSxuKSxZM3Quc3ViVmVjdG9ycyhyLG4pLCQzdC5zdWJWZWN0b3JzKHQsbik7Y29uc3Qgcz1xM3QuZG90KCQzdCksbD1ZM3QuZG90KCQzdCk7aWYoczw9MCYmbDw9MClyZXR1cm4gZS5jb3B5KG4pO0szdC5zdWJWZWN0b3JzKHQsaSk7Y29uc3QgYz1xM3QuZG90KEszdCksdT1ZM3QuZG90KEszdCk7aWYoYz49MCYmdTw9YylyZXR1cm4gZS5jb3B5KGkpO2NvbnN0IGg9cyp1LWMqbDtpZihoPD0wJiZzPj0wJiZjPD0wKXJldHVybiBvPXMvKHMtYyksZS5jb3B5KG4pLmFkZFNjYWxlZFZlY3RvcihxM3Qsbyk7WjN0LnN1YlZlY3RvcnModCxyKTtjb25zdCBkPXEzdC5kb3QoWjN0KSxwPVkzdC5kb3QoWjN0KTtpZihwPj0wJiZkPD1wKXJldHVybiBlLmNvcHkocik7Y29uc3QgZj1kKmwtcypwO2lmKGY8PTAmJmw+PTAmJnA8PTApcmV0dXJuIGE9bC8obC1wKSxlLmNvcHkobikuYWRkU2NhbGVkVmVjdG9yKFkzdCxhKTtjb25zdCBtPWMqcC1kKnU7aWYobTw9MCYmdS1jPj0wJiZkLXA+PTApcmV0dXJuIFgzdC5zdWJWZWN0b3JzKHIsaSksYT0odS1jKS8odS1jKyhkLXApKSxlLmNvcHkoaSkuYWRkU2NhbGVkVmVjdG9yKFgzdCxhKTtjb25zdCBnPTEvKG0rZitoKTtyZXR1cm4gbz1mKmcsYT1oKmcsZS5jb3B5KG4pLmFkZFNjYWxlZFZlY3RvcihxM3QsbykuYWRkU2NhbGVkVmVjdG9yKFkzdCxhKX1lcXVhbHModCl7cmV0dXJuIHQuYS5lcXVhbHModGhpcy5hKSYmdC5iLmVxdWFscyh0aGlzLmIpJiZ0LmMuZXF1YWxzKHRoaXMuYyl9fWxldCBRM3Q9MDtjbGFzcyB0NHQgZXh0ZW5kcyBlNXR7Y29uc3RydWN0b3IoKXtzdXBlcigpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOlEzdCsrfSksdGhpcy51dWlkPWE1dCgpLHRoaXMubmFtZT0iIix0aGlzLnR5cGU9Ik1hdGVyaWFsIix0aGlzLmZvZz0hMCx0aGlzLmJsZW5kaW5nPTEsdGhpcy5zaWRlPTAsdGhpcy52ZXJ0ZXhDb2xvcnM9ITEsdGhpcy5vcGFjaXR5PTEsdGhpcy50cmFuc3BhcmVudD0hMSx0aGlzLmJsZW5kU3JjPTIwNCx0aGlzLmJsZW5kRHN0PTIwNSx0aGlzLmJsZW5kRXF1YXRpb249UTB0LHRoaXMuYmxlbmRTcmNBbHBoYT1udWxsLHRoaXMuYmxlbmREc3RBbHBoYT1udWxsLHRoaXMuYmxlbmRFcXVhdGlvbkFscGhhPW51bGwsdGhpcy5kZXB0aEZ1bmM9Myx0aGlzLmRlcHRoVGVzdD0hMCx0aGlzLmRlcHRoV3JpdGU9ITAsdGhpcy5zdGVuY2lsV3JpdGVNYXNrPTI1NSx0aGlzLnN0ZW5jaWxGdW5jPTUxOSx0aGlzLnN0ZW5jaWxSZWY9MCx0aGlzLnN0ZW5jaWxGdW5jTWFzaz0yNTUsdGhpcy5zdGVuY2lsRmFpbD1aMnQsdGhpcy5zdGVuY2lsWkZhaWw9WjJ0LHRoaXMuc3RlbmNpbFpQYXNzPVoydCx0aGlzLnN0ZW5jaWxXcml0ZT0hMSx0aGlzLmNsaXBwaW5nUGxhbmVzPW51bGwsdGhpcy5jbGlwSW50ZXJzZWN0aW9uPSExLHRoaXMuY2xpcFNoYWRvd3M9ITEsdGhpcy5zaGFkb3dTaWRlPW51bGwsdGhpcy5jb2xvcldyaXRlPSEwLHRoaXMucHJlY2lzaW9uPW51bGwsdGhpcy5wb2x5Z29uT2Zmc2V0PSExLHRoaXMucG9seWdvbk9mZnNldEZhY3Rvcj0wLHRoaXMucG9seWdvbk9mZnNldFVuaXRzPTAsdGhpcy5kaXRoZXJpbmc9ITEsdGhpcy5hbHBoYVRlc3Q9MCx0aGlzLmFscGhhVG9Db3ZlcmFnZT0hMSx0aGlzLnByZW11bHRpcGxpZWRBbHBoYT0hMSx0aGlzLnZpc2libGU9ITAsdGhpcy50b25lTWFwcGVkPSEwLHRoaXMudXNlckRhdGE9e30sdGhpcy52ZXJzaW9uPTB9b25CdWlsZCgpe31vbkJlZm9yZUNvbXBpbGUoKXt9Y3VzdG9tUHJvZ3JhbUNhY2hlS2V5KCl7cmV0dXJuIHRoaXMub25CZWZvcmVDb21waWxlLnRvU3RyaW5nKCl9c2V0VmFsdWVzKHQpe2lmKHZvaWQgMCE9PXQpZm9yKGNvbnN0IGUgaW4gdCl7Y29uc3Qgbj10W2VdO2lmKHZvaWQgMD09PW4pe2NvbnNvbGUud2FybigiVEhSRUUuTWF0ZXJpYWw6ICciK2UrIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC4iKTtjb250aW51ZX1pZigic2hhZGluZyI9PT1lKXtjb25zb2xlLndhcm4oIlRIUkVFLiIrdGhpcy50eXBlKyI6IC5zaGFkaW5nIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSB0aGUgYm9vbGVhbiAuZmxhdFNoYWRpbmcgaW5zdGVhZC4iKSx0aGlzLmZsYXRTaGFkaW5nPTE9PT1uO2NvbnRpbnVlfWNvbnN0IGk9dGhpc1tlXTt2b2lkIDAhPT1pP2kmJmkuaXNDb2xvcj9pLnNldChuKTppJiZpLmlzVmVjdG9yMyYmbiYmbi5pc1ZlY3RvcjM/aS5jb3B5KG4pOnRoaXNbZV09bjpjb25zb2xlLndhcm4oIlRIUkVFLiIrdGhpcy50eXBlKyI6ICciK2UrIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC4iKX19dG9KU09OKHQpe2NvbnN0IGU9dm9pZCAwPT09dHx8InN0cmluZyI9PXR5cGVvZiB0O2UmJih0PXt0ZXh0dXJlczp7fSxpbWFnZXM6e319KTtjb25zdCBuPXttZXRhZGF0YTp7dmVyc2lvbjo0LjUsdHlwZToiTWF0ZXJpYWwiLGdlbmVyYXRvcjoiTWF0ZXJpYWwudG9KU09OIn19O2Z1bmN0aW9uIGkodCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgbiBpbiB0KXtjb25zdCBpPXRbbl07ZGVsZXRlIGkubWV0YWRhdGEsZS5wdXNoKGkpfXJldHVybiBlfWlmKG4udXVpZD10aGlzLnV1aWQsbi50eXBlPXRoaXMudHlwZSwiIiE9PXRoaXMubmFtZSYmKG4ubmFtZT10aGlzLm5hbWUpLHRoaXMuY29sb3ImJnRoaXMuY29sb3IuaXNDb2xvciYmKG4uY29sb3I9dGhpcy5jb2xvci5nZXRIZXgoKSksdm9pZCAwIT09dGhpcy5yb3VnaG5lc3MmJihuLnJvdWdobmVzcz10aGlzLnJvdWdobmVzcyksdm9pZCAwIT09dGhpcy5tZXRhbG5lc3MmJihuLm1ldGFsbmVzcz10aGlzLm1ldGFsbmVzcyksdGhpcy5zaGVlbiYmdGhpcy5zaGVlbi5pc0NvbG9yJiYobi5zaGVlbj10aGlzLnNoZWVuLmdldEhleCgpKSx0aGlzLmVtaXNzaXZlJiZ0aGlzLmVtaXNzaXZlLmlzQ29sb3ImJihuLmVtaXNzaXZlPXRoaXMuZW1pc3NpdmUuZ2V0SGV4KCkpLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHkmJjEhPT10aGlzLmVtaXNzaXZlSW50ZW5zaXR5JiYobi5lbWlzc2l2ZUludGVuc2l0eT10aGlzLmVtaXNzaXZlSW50ZW5zaXR5KSx0aGlzLnNwZWN1bGFyJiZ0aGlzLnNwZWN1bGFyLmlzQ29sb3ImJihuLnNwZWN1bGFyPXRoaXMuc3BlY3VsYXIuZ2V0SGV4KCkpLHZvaWQgMCE9PXRoaXMuc3BlY3VsYXJJbnRlbnNpdHkmJihuLnNwZWN1bGFySW50ZW5zaXR5PXRoaXMuc3BlY3VsYXJJbnRlbnNpdHkpLHRoaXMuc3BlY3VsYXJUaW50JiZ0aGlzLnNwZWN1bGFyVGludC5pc0NvbG9yJiYobi5zcGVjdWxhclRpbnQ9dGhpcy5zcGVjdWxhclRpbnQuZ2V0SGV4KCkpLHZvaWQgMCE9PXRoaXMuc2hpbmluZXNzJiYobi5zaGluaW5lc3M9dGhpcy5zaGluaW5lc3MpLHZvaWQgMCE9PXRoaXMuY2xlYXJjb2F0JiYobi5jbGVhcmNvYXQ9dGhpcy5jbGVhcmNvYXQpLHZvaWQgMCE9PXRoaXMuY2xlYXJjb2F0Um91Z2huZXNzJiYobi5jbGVhcmNvYXRSb3VnaG5lc3M9dGhpcy5jbGVhcmNvYXRSb3VnaG5lc3MpLHRoaXMuY2xlYXJjb2F0TWFwJiZ0aGlzLmNsZWFyY29hdE1hcC5pc1RleHR1cmUmJihuLmNsZWFyY29hdE1hcD10aGlzLmNsZWFyY29hdE1hcC50b0pTT04odCkudXVpZCksdGhpcy5jbGVhcmNvYXRSb3VnaG5lc3NNYXAmJnRoaXMuY2xlYXJjb2F0Um91Z2huZXNzTWFwLmlzVGV4dHVyZSYmKG4uY2xlYXJjb2F0Um91Z2huZXNzTWFwPXRoaXMuY2xlYXJjb2F0Um91Z2huZXNzTWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLmNsZWFyY29hdE5vcm1hbE1hcCYmdGhpcy5jbGVhcmNvYXROb3JtYWxNYXAuaXNUZXh0dXJlJiYobi5jbGVhcmNvYXROb3JtYWxNYXA9dGhpcy5jbGVhcmNvYXROb3JtYWxNYXAudG9KU09OKHQpLnV1aWQsbi5jbGVhcmNvYXROb3JtYWxTY2FsZT10aGlzLmNsZWFyY29hdE5vcm1hbFNjYWxlLnRvQXJyYXkoKSksdGhpcy5tYXAmJnRoaXMubWFwLmlzVGV4dHVyZSYmKG4ubWFwPXRoaXMubWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLm1hdGNhcCYmdGhpcy5tYXRjYXAuaXNUZXh0dXJlJiYobi5tYXRjYXA9dGhpcy5tYXRjYXAudG9KU09OKHQpLnV1aWQpLHRoaXMuYWxwaGFNYXAmJnRoaXMuYWxwaGFNYXAuaXNUZXh0dXJlJiYobi5hbHBoYU1hcD10aGlzLmFscGhhTWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLmxpZ2h0TWFwJiZ0aGlzLmxpZ2h0TWFwLmlzVGV4dHVyZSYmKG4ubGlnaHRNYXA9dGhpcy5saWdodE1hcC50b0pTT04odCkudXVpZCxuLmxpZ2h0TWFwSW50ZW5zaXR5PXRoaXMubGlnaHRNYXBJbnRlbnNpdHkpLHRoaXMuYW9NYXAmJnRoaXMuYW9NYXAuaXNUZXh0dXJlJiYobi5hb01hcD10aGlzLmFvTWFwLnRvSlNPTih0KS51dWlkLG4uYW9NYXBJbnRlbnNpdHk9dGhpcy5hb01hcEludGVuc2l0eSksdGhpcy5idW1wTWFwJiZ0aGlzLmJ1bXBNYXAuaXNUZXh0dXJlJiYobi5idW1wTWFwPXRoaXMuYnVtcE1hcC50b0pTT04odCkudXVpZCxuLmJ1bXBTY2FsZT10aGlzLmJ1bXBTY2FsZSksdGhpcy5ub3JtYWxNYXAmJnRoaXMubm9ybWFsTWFwLmlzVGV4dHVyZSYmKG4ubm9ybWFsTWFwPXRoaXMubm9ybWFsTWFwLnRvSlNPTih0KS51dWlkLG4ubm9ybWFsTWFwVHlwZT10aGlzLm5vcm1hbE1hcFR5cGUsbi5ub3JtYWxTY2FsZT10aGlzLm5vcm1hbFNjYWxlLnRvQXJyYXkoKSksdGhpcy5kaXNwbGFjZW1lbnRNYXAmJnRoaXMuZGlzcGxhY2VtZW50TWFwLmlzVGV4dHVyZSYmKG4uZGlzcGxhY2VtZW50TWFwPXRoaXMuZGlzcGxhY2VtZW50TWFwLnRvSlNPTih0KS51dWlkLG4uZGlzcGxhY2VtZW50U2NhbGU9dGhpcy5kaXNwbGFjZW1lbnRTY2FsZSxuLmRpc3BsYWNlbWVudEJpYXM9dGhpcy5kaXNwbGFjZW1lbnRCaWFzKSx0aGlzLnJvdWdobmVzc01hcCYmdGhpcy5yb3VnaG5lc3NNYXAuaXNUZXh0dXJlJiYobi5yb3VnaG5lc3NNYXA9dGhpcy5yb3VnaG5lc3NNYXAudG9KU09OKHQpLnV1aWQpLHRoaXMubWV0YWxuZXNzTWFwJiZ0aGlzLm1ldGFsbmVzc01hcC5pc1RleHR1cmUmJihuLm1ldGFsbmVzc01hcD10aGlzLm1ldGFsbmVzc01hcC50b0pTT04odCkudXVpZCksdGhpcy5lbWlzc2l2ZU1hcCYmdGhpcy5lbWlzc2l2ZU1hcC5pc1RleHR1cmUmJihuLmVtaXNzaXZlTWFwPXRoaXMuZW1pc3NpdmVNYXAudG9KU09OKHQpLnV1aWQpLHRoaXMuc3BlY3VsYXJNYXAmJnRoaXMuc3BlY3VsYXJNYXAuaXNUZXh0dXJlJiYobi5zcGVjdWxhck1hcD10aGlzLnNwZWN1bGFyTWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLnNwZWN1bGFySW50ZW5zaXR5TWFwJiZ0aGlzLnNwZWN1bGFySW50ZW5zaXR5TWFwLmlzVGV4dHVyZSYmKG4uc3BlY3VsYXJJbnRlbnNpdHlNYXA9dGhpcy5zcGVjdWxhckludGVuc2l0eU1hcC50b0pTT04odCkudXVpZCksdGhpcy5zcGVjdWxhclRpbnRNYXAmJnRoaXMuc3BlY3VsYXJUaW50TWFwLmlzVGV4dHVyZSYmKG4uc3BlY3VsYXJUaW50TWFwPXRoaXMuc3BlY3VsYXJUaW50TWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLmVudk1hcCYmdGhpcy5lbnZNYXAuaXNUZXh0dXJlJiYobi5lbnZNYXA9dGhpcy5lbnZNYXAudG9KU09OKHQpLnV1aWQsdm9pZCAwIT09dGhpcy5jb21iaW5lJiYobi5jb21iaW5lPXRoaXMuY29tYmluZSkpLHZvaWQgMCE9PXRoaXMuZW52TWFwSW50ZW5zaXR5JiYobi5lbnZNYXBJbnRlbnNpdHk9dGhpcy5lbnZNYXBJbnRlbnNpdHkpLHZvaWQgMCE9PXRoaXMucmVmbGVjdGl2aXR5JiYobi5yZWZsZWN0aXZpdHk9dGhpcy5yZWZsZWN0aXZpdHkpLHZvaWQgMCE9PXRoaXMucmVmcmFjdGlvblJhdGlvJiYobi5yZWZyYWN0aW9uUmF0aW89dGhpcy5yZWZyYWN0aW9uUmF0aW8pLHRoaXMuZ3JhZGllbnRNYXAmJnRoaXMuZ3JhZGllbnRNYXAuaXNUZXh0dXJlJiYobi5ncmFkaWVudE1hcD10aGlzLmdyYWRpZW50TWFwLnRvSlNPTih0KS51dWlkKSx2b2lkIDAhPT10aGlzLnRyYW5zbWlzc2lvbiYmKG4udHJhbnNtaXNzaW9uPXRoaXMudHJhbnNtaXNzaW9uKSx0aGlzLnRyYW5zbWlzc2lvbk1hcCYmdGhpcy50cmFuc21pc3Npb25NYXAuaXNUZXh0dXJlJiYobi50cmFuc21pc3Npb25NYXA9dGhpcy50cmFuc21pc3Npb25NYXAudG9KU09OKHQpLnV1aWQpLHZvaWQgMCE9PXRoaXMudGhpY2tuZXNzJiYobi50aGlja25lc3M9dGhpcy50aGlja25lc3MpLHRoaXMudGhpY2tuZXNzTWFwJiZ0aGlzLnRoaWNrbmVzc01hcC5pc1RleHR1cmUmJihuLnRoaWNrbmVzc01hcD10aGlzLnRoaWNrbmVzc01hcC50b0pTT04odCkudXVpZCksdm9pZCAwIT09dGhpcy5hdHRlbnVhdGlvbkRpc3RhbmNlJiYobi5hdHRlbnVhdGlvbkRpc3RhbmNlPXRoaXMuYXR0ZW51YXRpb25EaXN0YW5jZSksdm9pZCAwIT09dGhpcy5hdHRlbnVhdGlvblRpbnQmJihuLmF0dGVudWF0aW9uVGludD10aGlzLmF0dGVudWF0aW9uVGludC5nZXRIZXgoKSksdm9pZCAwIT09dGhpcy5zaXplJiYobi5zaXplPXRoaXMuc2l6ZSksbnVsbCE9PXRoaXMuc2hhZG93U2lkZSYmKG4uc2hhZG93U2lkZT10aGlzLnNoYWRvd1NpZGUpLHZvaWQgMCE9PXRoaXMuc2l6ZUF0dGVudWF0aW9uJiYobi5zaXplQXR0ZW51YXRpb249dGhpcy5zaXplQXR0ZW51YXRpb24pLDEhPT10aGlzLmJsZW5kaW5nJiYobi5ibGVuZGluZz10aGlzLmJsZW5kaW5nKSwwIT09dGhpcy5zaWRlJiYobi5zaWRlPXRoaXMuc2lkZSksdGhpcy52ZXJ0ZXhDb2xvcnMmJihuLnZlcnRleENvbG9ycz0hMCksdGhpcy5vcGFjaXR5PDEmJihuLm9wYWNpdHk9dGhpcy5vcGFjaXR5KSwhMD09PXRoaXMudHJhbnNwYXJlbnQmJihuLnRyYW5zcGFyZW50PXRoaXMudHJhbnNwYXJlbnQpLG4uZGVwdGhGdW5jPXRoaXMuZGVwdGhGdW5jLG4uZGVwdGhUZXN0PXRoaXMuZGVwdGhUZXN0LG4uZGVwdGhXcml0ZT10aGlzLmRlcHRoV3JpdGUsbi5jb2xvcldyaXRlPXRoaXMuY29sb3JXcml0ZSxuLnN0ZW5jaWxXcml0ZT10aGlzLnN0ZW5jaWxXcml0ZSxuLnN0ZW5jaWxXcml0ZU1hc2s9dGhpcy5zdGVuY2lsV3JpdGVNYXNrLG4uc3RlbmNpbEZ1bmM9dGhpcy5zdGVuY2lsRnVuYyxuLnN0ZW5jaWxSZWY9dGhpcy5zdGVuY2lsUmVmLG4uc3RlbmNpbEZ1bmNNYXNrPXRoaXMuc3RlbmNpbEZ1bmNNYXNrLG4uc3RlbmNpbEZhaWw9dGhpcy5zdGVuY2lsRmFpbCxuLnN0ZW5jaWxaRmFpbD10aGlzLnN0ZW5jaWxaRmFpbCxuLnN0ZW5jaWxaUGFzcz10aGlzLnN0ZW5jaWxaUGFzcyx0aGlzLnJvdGF0aW9uJiYwIT09dGhpcy5yb3RhdGlvbiYmKG4ucm90YXRpb249dGhpcy5yb3RhdGlvbiksITA9PT10aGlzLnBvbHlnb25PZmZzZXQmJihuLnBvbHlnb25PZmZzZXQ9ITApLDAhPT10aGlzLnBvbHlnb25PZmZzZXRGYWN0b3ImJihuLnBvbHlnb25PZmZzZXRGYWN0b3I9dGhpcy5wb2x5Z29uT2Zmc2V0RmFjdG9yKSwwIT09dGhpcy5wb2x5Z29uT2Zmc2V0VW5pdHMmJihuLnBvbHlnb25PZmZzZXRVbml0cz10aGlzLnBvbHlnb25PZmZzZXRVbml0cyksdGhpcy5saW5ld2lkdGgmJjEhPT10aGlzLmxpbmV3aWR0aCYmKG4ubGluZXdpZHRoPXRoaXMubGluZXdpZHRoKSx2b2lkIDAhPT10aGlzLmRhc2hTaXplJiYobi5kYXNoU2l6ZT10aGlzLmRhc2hTaXplKSx2b2lkIDAhPT10aGlzLmdhcFNpemUmJihuLmdhcFNpemU9dGhpcy5nYXBTaXplKSx2b2lkIDAhPT10aGlzLnNjYWxlJiYobi5zY2FsZT10aGlzLnNjYWxlKSwhMD09PXRoaXMuZGl0aGVyaW5nJiYobi5kaXRoZXJpbmc9ITApLHRoaXMuYWxwaGFUZXN0PjAmJihuLmFscGhhVGVzdD10aGlzLmFscGhhVGVzdCksITA9PT10aGlzLmFscGhhVG9Db3ZlcmFnZSYmKG4uYWxwaGFUb0NvdmVyYWdlPXRoaXMuYWxwaGFUb0NvdmVyYWdlKSwhMD09PXRoaXMucHJlbXVsdGlwbGllZEFscGhhJiYobi5wcmVtdWx0aXBsaWVkQWxwaGE9dGhpcy5wcmVtdWx0aXBsaWVkQWxwaGEpLCEwPT09dGhpcy53aXJlZnJhbWUmJihuLndpcmVmcmFtZT10aGlzLndpcmVmcmFtZSksdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg+MSYmKG4ud2lyZWZyYW1lTGluZXdpZHRoPXRoaXMud2lyZWZyYW1lTGluZXdpZHRoKSwicm91bmQiIT09dGhpcy53aXJlZnJhbWVMaW5lY2FwJiYobi53aXJlZnJhbWVMaW5lY2FwPXRoaXMud2lyZWZyYW1lTGluZWNhcCksInJvdW5kIiE9PXRoaXMud2lyZWZyYW1lTGluZWpvaW4mJihuLndpcmVmcmFtZUxpbmVqb2luPXRoaXMud2lyZWZyYW1lTGluZWpvaW4pLCEwPT09dGhpcy5mbGF0U2hhZGluZyYmKG4uZmxhdFNoYWRpbmc9dGhpcy5mbGF0U2hhZGluZyksITE9PT10aGlzLnZpc2libGUmJihuLnZpc2libGU9ITEpLCExPT09dGhpcy50b25lTWFwcGVkJiYobi50b25lTWFwcGVkPSExKSwie30iIT09SlNPTi5zdHJpbmdpZnkodGhpcy51c2VyRGF0YSkmJihuLnVzZXJEYXRhPXRoaXMudXNlckRhdGEpLGUpe2NvbnN0IGU9aSh0LnRleHR1cmVzKSxyPWkodC5pbWFnZXMpO2UubGVuZ3RoPjAmJihuLnRleHR1cmVzPWUpLHIubGVuZ3RoPjAmJihuLmltYWdlcz1yKX1yZXR1cm4gbn1jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX1jb3B5KHQpe3RoaXMubmFtZT10Lm5hbWUsdGhpcy5mb2c9dC5mb2csdGhpcy5ibGVuZGluZz10LmJsZW5kaW5nLHRoaXMuc2lkZT10LnNpZGUsdGhpcy52ZXJ0ZXhDb2xvcnM9dC52ZXJ0ZXhDb2xvcnMsdGhpcy5vcGFjaXR5PXQub3BhY2l0eSx0aGlzLnRyYW5zcGFyZW50PXQudHJhbnNwYXJlbnQsdGhpcy5ibGVuZFNyYz10LmJsZW5kU3JjLHRoaXMuYmxlbmREc3Q9dC5ibGVuZERzdCx0aGlzLmJsZW5kRXF1YXRpb249dC5ibGVuZEVxdWF0aW9uLHRoaXMuYmxlbmRTcmNBbHBoYT10LmJsZW5kU3JjQWxwaGEsdGhpcy5ibGVuZERzdEFscGhhPXQuYmxlbmREc3RBbHBoYSx0aGlzLmJsZW5kRXF1YXRpb25BbHBoYT10LmJsZW5kRXF1YXRpb25BbHBoYSx0aGlzLmRlcHRoRnVuYz10LmRlcHRoRnVuYyx0aGlzLmRlcHRoVGVzdD10LmRlcHRoVGVzdCx0aGlzLmRlcHRoV3JpdGU9dC5kZXB0aFdyaXRlLHRoaXMuc3RlbmNpbFdyaXRlTWFzaz10LnN0ZW5jaWxXcml0ZU1hc2ssdGhpcy5zdGVuY2lsRnVuYz10LnN0ZW5jaWxGdW5jLHRoaXMuc3RlbmNpbFJlZj10LnN0ZW5jaWxSZWYsdGhpcy5zdGVuY2lsRnVuY01hc2s9dC5zdGVuY2lsRnVuY01hc2ssdGhpcy5zdGVuY2lsRmFpbD10LnN0ZW5jaWxGYWlsLHRoaXMuc3RlbmNpbFpGYWlsPXQuc3RlbmNpbFpGYWlsLHRoaXMuc3RlbmNpbFpQYXNzPXQuc3RlbmNpbFpQYXNzLHRoaXMuc3RlbmNpbFdyaXRlPXQuc3RlbmNpbFdyaXRlO2NvbnN0IGU9dC5jbGlwcGluZ1BsYW5lcztsZXQgbj1udWxsO2lmKG51bGwhPT1lKXtjb25zdCB0PWUubGVuZ3RoO249bmV3IEFycmF5KHQpO2ZvcihsZXQgaT0wO2khPT10OysraSluW2ldPWVbaV0uY2xvbmUoKX1yZXR1cm4gdGhpcy5jbGlwcGluZ1BsYW5lcz1uLHRoaXMuY2xpcEludGVyc2VjdGlvbj10LmNsaXBJbnRlcnNlY3Rpb24sdGhpcy5jbGlwU2hhZG93cz10LmNsaXBTaGFkb3dzLHRoaXMuc2hhZG93U2lkZT10LnNoYWRvd1NpZGUsdGhpcy5jb2xvcldyaXRlPXQuY29sb3JXcml0ZSx0aGlzLnByZWNpc2lvbj10LnByZWNpc2lvbix0aGlzLnBvbHlnb25PZmZzZXQ9dC5wb2x5Z29uT2Zmc2V0LHRoaXMucG9seWdvbk9mZnNldEZhY3Rvcj10LnBvbHlnb25PZmZzZXRGYWN0b3IsdGhpcy5wb2x5Z29uT2Zmc2V0VW5pdHM9dC5wb2x5Z29uT2Zmc2V0VW5pdHMsdGhpcy5kaXRoZXJpbmc9dC5kaXRoZXJpbmcsdGhpcy5hbHBoYVRlc3Q9dC5hbHBoYVRlc3QsdGhpcy5hbHBoYVRvQ292ZXJhZ2U9dC5hbHBoYVRvQ292ZXJhZ2UsdGhpcy5wcmVtdWx0aXBsaWVkQWxwaGE9dC5wcmVtdWx0aXBsaWVkQWxwaGEsdGhpcy52aXNpYmxlPXQudmlzaWJsZSx0aGlzLnRvbmVNYXBwZWQ9dC50b25lTWFwcGVkLHRoaXMudXNlckRhdGE9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0LnVzZXJEYXRhKSksdGhpc31kaXNwb3NlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNwb3NlIn0pfXNldCBuZWVkc1VwZGF0ZSh0KXshMD09PXQmJnRoaXMudmVyc2lvbisrfX10NHQucHJvdG90eXBlLmlzTWF0ZXJpYWw9ITA7Y29uc3QgZTR0PXthbGljZWJsdWU6MTU3OTIzODMsYW50aXF1ZXdoaXRlOjE2NDQ0Mzc1LGFxdWE6NjU1MzUsYXF1YW1hcmluZTo4Mzg4NTY0LGF6dXJlOjE1Nzk0MTc1LGJlaWdlOjE2MTE5MjYwLGJpc3F1ZToxNjc3MDI0NCxibGFjazowLGJsYW5jaGVkYWxtb25kOjE2NzcyMDQ1LGJsdWU6MjU1LGJsdWV2aW9sZXQ6OTA1NTIwMixicm93bjoxMDgyNDIzNCxidXJseXdvb2Q6MTQ1OTYyMzEsY2FkZXRibHVlOjYyNjY1MjgsY2hhcnRyZXVzZTo4Mzg4MzUyLGNob2NvbGF0ZToxMzc4OTQ3MCxjb3JhbDoxNjc0NDI3Mixjb3JuZmxvd2VyYmx1ZTo2NTkxOTgxLGNvcm5zaWxrOjE2Nzc1Mzg4LGNyaW1zb246MTQ0MjMxMDAsY3lhbjo2NTUzNSxkYXJrYmx1ZToxMzksZGFya2N5YW46MzU3MjMsZGFya2dvbGRlbnJvZDoxMjA5MjkzOSxkYXJrZ3JheToxMTExOTAxNyxkYXJrZ3JlZW46MjU2MDAsZGFya2dyZXk6MTExMTkwMTcsZGFya2toYWtpOjEyNDMzMjU5LGRhcmttYWdlbnRhOjkxMDk2NDMsZGFya29saXZlZ3JlZW46NTU5Nzk5OSxkYXJrb3JhbmdlOjE2NzQ3NTIwLGRhcmtvcmNoaWQ6MTAwNDAwMTIsZGFya3JlZDo5MTA5NTA0LGRhcmtzYWxtb246MTUzMDg0MTAsZGFya3NlYWdyZWVuOjk0MTk5MTksZGFya3NsYXRlYmx1ZTo0NzM0MzQ3LGRhcmtzbGF0ZWdyYXk6MzEwMDQ5NSxkYXJrc2xhdGVncmV5OjMxMDA0OTUsZGFya3R1cnF1b2lzZTo1Mjk0NSxkYXJrdmlvbGV0Ojk2OTk1MzksZGVlcHBpbms6MTY3MTY5NDcsZGVlcHNreWJsdWU6NDkxNTEsZGltZ3JheTo2OTA4MjY1LGRpbWdyZXk6NjkwODI2NSxkb2RnZXJibHVlOjIwMDMxOTksZmlyZWJyaWNrOjExNjc0MTQ2LGZsb3JhbHdoaXRlOjE2Nzc1OTIwLGZvcmVzdGdyZWVuOjIyNjM4NDIsZnVjaHNpYToxNjcxMTkzNSxnYWluc2Jvcm86MTQ0NzQ0NjAsZ2hvc3R3aGl0ZToxNjMxNjY3MSxnb2xkOjE2NzY2NzIwLGdvbGRlbnJvZDoxNDMyOTEyMCxncmF5Ojg0MjE1MDQsZ3JlZW46MzI3NjgsZ3JlZW55ZWxsb3c6MTE0MDMwNTUsZ3JleTo4NDIxNTA0LGhvbmV5ZGV3OjE1Nzk0MTYwLGhvdHBpbms6MTY3Mzg3NDAsaW5kaWFucmVkOjEzNDU4NTI0LGluZGlnbzo0OTE1MzMwLGl2b3J5OjE2Nzc3MjAwLGtoYWtpOjE1Nzg3NjYwLGxhdmVuZGVyOjE1MTMyNDEwLGxhdmVuZGVyYmx1c2g6MTY3NzMzNjUsbGF3bmdyZWVuOjgxOTA5NzYsbGVtb25jaGlmZm9uOjE2Nzc1ODg1LGxpZ2h0Ymx1ZToxMTM5MzI1NCxsaWdodGNvcmFsOjE1NzYxNTM2LGxpZ2h0Y3lhbjoxNDc0NTU5OSxsaWdodGdvbGRlbnJvZHllbGxvdzoxNjQ0ODIxMCxsaWdodGdyYXk6MTM4ODIzMjMsbGlnaHRncmVlbjo5NDk4MjU2LGxpZ2h0Z3JleToxMzg4MjMyMyxsaWdodHBpbms6MTY3NTg0NjUsbGlnaHRzYWxtb246MTY3NTI3NjIsbGlnaHRzZWFncmVlbjoyMTQyODkwLGxpZ2h0c2t5Ymx1ZTo4OTAwMzQ2LGxpZ2h0c2xhdGVncmF5Ojc4MzM3NTMsbGlnaHRzbGF0ZWdyZXk6NzgzMzc1MyxsaWdodHN0ZWVsYmx1ZToxMTU4NDczNCxsaWdodHllbGxvdzoxNjc3NzE4NCxsaW1lOjY1MjgwLGxpbWVncmVlbjozMzI5MzMwLGxpbmVuOjE2NDQ1NjcwLG1hZ2VudGE6MTY3MTE5MzUsbWFyb29uOjgzODg2MDgsbWVkaXVtYXF1YW1hcmluZTo2NzM3MzIyLG1lZGl1bWJsdWU6MjA1LG1lZGl1bW9yY2hpZDoxMjIxMTY2NyxtZWRpdW1wdXJwbGU6OTY2MjY4MyxtZWRpdW1zZWFncmVlbjozOTc4MDk3LG1lZGl1bXNsYXRlYmx1ZTo4MDg3NzkwLG1lZGl1bXNwcmluZ2dyZWVuOjY0MTU0LG1lZGl1bXR1cnF1b2lzZTo0NzcyMzAwLG1lZGl1bXZpb2xldHJlZDoxMzA0NzE3MyxtaWRuaWdodGJsdWU6MTY0NDkxMixtaW50Y3JlYW06MTYxMjE4NTAsbWlzdHlyb3NlOjE2NzcwMjczLG1vY2Nhc2luOjE2NzcwMjI5LG5hdmFqb3doaXRlOjE2NzY4Njg1LG5hdnk6MTI4LG9sZGxhY2U6MTY2NDM1NTgsb2xpdmU6ODQyMTM3NixvbGl2ZWRyYWI6NzA0ODczOSxvcmFuZ2U6MTY3NTM5MjAsb3JhbmdlcmVkOjE2NzI5MzQ0LG9yY2hpZDoxNDMxNTczNCxwYWxlZ29sZGVucm9kOjE1NjU3MTMwLHBhbGVncmVlbjoxMDAyNTg4MCxwYWxldHVycXVvaXNlOjExNTI5OTY2LHBhbGV2aW9sZXRyZWQ6MTQzODEyMDMscGFwYXlhd2hpcDoxNjc3MzA3NyxwZWFjaHB1ZmY6MTY3Njc2NzMscGVydToxMzQ2ODk5MSxwaW5rOjE2NzYxMDM1LHBsdW06MTQ1MjQ2MzcscG93ZGVyYmx1ZToxMTU5MTkxMCxwdXJwbGU6ODM4ODczNixyZWJlY2NhcHVycGxlOjY2OTc4ODEscmVkOjE2NzExNjgwLHJvc3licm93bjoxMjM1NzUxOSxyb3lhbGJsdWU6NDI4Njk0NSxzYWRkbGVicm93bjo5MTI3MTg3LHNhbG1vbjoxNjQxNjg4MixzYW5keWJyb3duOjE2MDMyODY0LHNlYWdyZWVuOjMwNTAzMjcsc2Vhc2hlbGw6MTY3NzQ2Mzgsc2llbm5hOjEwNTA2Nzk3LHNpbHZlcjoxMjYzMjI1Nixza3libHVlOjg5MDAzMzEsc2xhdGVibHVlOjY5NzAwNjEsc2xhdGVncmF5OjczNzI5NDQsc2xhdGVncmV5OjczNzI5NDQsc25vdzoxNjc3NTkzMCxzcHJpbmdncmVlbjo2NTQwNyxzdGVlbGJsdWU6NDYyMDk4MCx0YW46MTM4MDg3ODAsdGVhbDozMjg5Nix0aGlzdGxlOjE0MjA0ODg4LHRvbWF0bzoxNjczNzA5NSx0dXJxdW9pc2U6NDI1MTg1Nix2aW9sZXQ6MTU2MzEwODYsd2hlYXQ6MTYxMTMzMzEsd2hpdGU6MTY3NzcyMTUsd2hpdGVzbW9rZToxNjExOTI4NSx5ZWxsb3c6MTY3NzY5NjAseWVsbG93Z3JlZW46MTAxNDUwNzR9LG40dD17aDowLHM6MCxsOjB9LGk0dD17aDowLHM6MCxsOjB9O2Z1bmN0aW9uIHI0dCh0LGUsbil7cmV0dXJuIG48MCYmKG4rPTEpLG4+MSYmKG4tPTEpLG48MS82P3QrNiooZS10KSpuOm48LjU/ZTpuPDIvMz90KzYqKGUtdCkqKDIvMy1uKTp0fWZ1bmN0aW9uIG80dCh0KXtyZXR1cm4gdDwuMDQwNDU/LjA3NzM5OTM4MDgqdDpNYXRoLnBvdyguOTQ3ODY3Mjk4Nip0Ky4wNTIxMzI3MDE0LDIuNCl9ZnVuY3Rpb24gYTR0KHQpe3JldHVybiB0PC4wMDMxMzA4PzEyLjkyKnQ6MS4wNTUqTWF0aC5wb3codCwuNDE2NjYpLS4wNTV9Y2xhc3MgczR0e2NvbnN0cnVjdG9yKHQsZSxuKXtyZXR1cm4gdm9pZCAwPT09ZSYmdm9pZCAwPT09bj90aGlzLnNldCh0KTp0aGlzLnNldFJHQih0LGUsbil9c2V0KHQpe3JldHVybiB0JiZ0LmlzQ29sb3I/dGhpcy5jb3B5KHQpOiJudW1iZXIiPT10eXBlb2YgdD90aGlzLnNldEhleCh0KToic3RyaW5nIj09dHlwZW9mIHQmJnRoaXMuc2V0U3R5bGUodCksdGhpc31zZXRTY2FsYXIodCl7cmV0dXJuIHRoaXMucj10LHRoaXMuZz10LHRoaXMuYj10LHRoaXN9c2V0SGV4KHQpe3JldHVybiB0PU1hdGguZmxvb3IodCksdGhpcy5yPSh0Pj4xNiYyNTUpLzI1NSx0aGlzLmc9KHQ+PjgmMjU1KS8yNTUsdGhpcy5iPSgyNTUmdCkvMjU1LHRoaXN9c2V0UkdCKHQsZSxuKXtyZXR1cm4gdGhpcy5yPXQsdGhpcy5nPWUsdGhpcy5iPW4sdGhpc31zZXRIU0wodCxlLG4pe2lmKHQ9bDV0KHQsMSksZT1zNXQoZSwwLDEpLG49czV0KG4sMCwxKSwwPT09ZSl0aGlzLnI9dGhpcy5nPXRoaXMuYj1uO2Vsc2V7Y29uc3QgaT1uPD0uNT9uKigxK2UpOm4rZS1uKmUscj0yKm4taTt0aGlzLnI9cjR0KHIsaSx0KzEvMyksdGhpcy5nPXI0dChyLGksdCksdGhpcy5iPXI0dChyLGksdC0xLzMpfXJldHVybiB0aGlzfXNldFN0eWxlKHQpe2Z1bmN0aW9uIGUoZSl7dm9pZCAwIT09ZSYmcGFyc2VGbG9hdChlKTwxJiZjb25zb2xlLndhcm4oIlRIUkVFLkNvbG9yOiBBbHBoYSBjb21wb25lbnQgb2YgIit0KyIgd2lsbCBiZSBpZ25vcmVkLiIpfWxldCBuO2lmKG49L14oKD86cmdifGhzbClhPylcKChbXlwpXSopXCkvLmV4ZWModCkpe2xldCB0O2NvbnN0IGk9blsyXTtzd2l0Y2goblsxXSl7Y2FzZSJyZ2IiOmNhc2UicmdiYSI6aWYodD0vXlxzKihcZCspXHMqLFxzKihcZCspXHMqLFxzKihcZCspXHMqKD86LFxzKihcZCpcLj9cZCspXHMqKT8kLy5leGVjKGkpKXJldHVybiB0aGlzLnI9TWF0aC5taW4oMjU1LHBhcnNlSW50KHRbMV0sMTApKS8yNTUsdGhpcy5nPU1hdGgubWluKDI1NSxwYXJzZUludCh0WzJdLDEwKSkvMjU1LHRoaXMuYj1NYXRoLm1pbigyNTUscGFyc2VJbnQodFszXSwxMCkpLzI1NSxlKHRbNF0pLHRoaXM7aWYodD0vXlxzKihcZCspXCVccyosXHMqKFxkKylcJVxzKixccyooXGQrKVwlXHMqKD86LFxzKihcZCpcLj9cZCspXHMqKT8kLy5leGVjKGkpKXJldHVybiB0aGlzLnI9TWF0aC5taW4oMTAwLHBhcnNlSW50KHRbMV0sMTApKS8xMDAsdGhpcy5nPU1hdGgubWluKDEwMCxwYXJzZUludCh0WzJdLDEwKSkvMTAwLHRoaXMuYj1NYXRoLm1pbigxMDAscGFyc2VJbnQodFszXSwxMCkpLzEwMCxlKHRbNF0pLHRoaXM7YnJlYWs7Y2FzZSJoc2wiOmNhc2UiaHNsYSI6aWYodD0vXlxzKihcZCpcLj9cZCspXHMqLFxzKihcZCspXCVccyosXHMqKFxkKylcJVxzKig/OixccyooXGQqXC4/XGQrKVxzKik/JC8uZXhlYyhpKSl7Y29uc3Qgbj1wYXJzZUZsb2F0KHRbMV0pLzM2MCxpPXBhcnNlSW50KHRbMl0sMTApLzEwMCxyPXBhcnNlSW50KHRbM10sMTApLzEwMDtyZXR1cm4gZSh0WzRdKSx0aGlzLnNldEhTTChuLGkscil9fX1lbHNlIGlmKG49L15cIyhbQS1GYS1mXGRdKykkLy5leGVjKHQpKXtjb25zdCB0PW5bMV0sZT10Lmxlbmd0aDtpZigzPT09ZSlyZXR1cm4gdGhpcy5yPXBhcnNlSW50KHQuY2hhckF0KDApK3QuY2hhckF0KDApLDE2KS8yNTUsdGhpcy5nPXBhcnNlSW50KHQuY2hhckF0KDEpK3QuY2hhckF0KDEpLDE2KS8yNTUsdGhpcy5iPXBhcnNlSW50KHQuY2hhckF0KDIpK3QuY2hhckF0KDIpLDE2KS8yNTUsdGhpcztpZig2PT09ZSlyZXR1cm4gdGhpcy5yPXBhcnNlSW50KHQuY2hhckF0KDApK3QuY2hhckF0KDEpLDE2KS8yNTUsdGhpcy5nPXBhcnNlSW50KHQuY2hhckF0KDIpK3QuY2hhckF0KDMpLDE2KS8yNTUsdGhpcy5iPXBhcnNlSW50KHQuY2hhckF0KDQpK3QuY2hhckF0KDUpLDE2KS8yNTUsdGhpc31yZXR1cm4gdCYmdC5sZW5ndGg+MD90aGlzLnNldENvbG9yTmFtZSh0KTp0aGlzfXNldENvbG9yTmFtZSh0KXtjb25zdCBlPWU0dFt0LnRvTG93ZXJDYXNlKCldO3JldHVybiB2b2lkIDAhPT1lP3RoaXMuc2V0SGV4KGUpOmNvbnNvbGUud2FybigiVEhSRUUuQ29sb3I6IFVua25vd24gY29sb3IgIit0KSx0aGlzfWNsb25lKCl7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMucix0aGlzLmcsdGhpcy5iKX1jb3B5KHQpe3JldHVybiB0aGlzLnI9dC5yLHRoaXMuZz10LmcsdGhpcy5iPXQuYix0aGlzfWNvcHlHYW1tYVRvTGluZWFyKHQsZT0yKXtyZXR1cm4gdGhpcy5yPU1hdGgucG93KHQucixlKSx0aGlzLmc9TWF0aC5wb3codC5nLGUpLHRoaXMuYj1NYXRoLnBvdyh0LmIsZSksdGhpc31jb3B5TGluZWFyVG9HYW1tYSh0LGU9Mil7Y29uc3Qgbj1lPjA/MS9lOjE7cmV0dXJuIHRoaXMucj1NYXRoLnBvdyh0LnIsbiksdGhpcy5nPU1hdGgucG93KHQuZyxuKSx0aGlzLmI9TWF0aC5wb3codC5iLG4pLHRoaXN9Y29udmVydEdhbW1hVG9MaW5lYXIodCl7cmV0dXJuIHRoaXMuY29weUdhbW1hVG9MaW5lYXIodGhpcyx0KSx0aGlzfWNvbnZlcnRMaW5lYXJUb0dhbW1hKHQpe3JldHVybiB0aGlzLmNvcHlMaW5lYXJUb0dhbW1hKHRoaXMsdCksdGhpc31jb3B5U1JHQlRvTGluZWFyKHQpe3JldHVybiB0aGlzLnI9bzR0KHQuciksdGhpcy5nPW80dCh0LmcpLHRoaXMuYj1vNHQodC5iKSx0aGlzfWNvcHlMaW5lYXJUb1NSR0IodCl7cmV0dXJuIHRoaXMucj1hNHQodC5yKSx0aGlzLmc9YTR0KHQuZyksdGhpcy5iPWE0dCh0LmIpLHRoaXN9Y29udmVydFNSR0JUb0xpbmVhcigpe3JldHVybiB0aGlzLmNvcHlTUkdCVG9MaW5lYXIodGhpcyksdGhpc31jb252ZXJ0TGluZWFyVG9TUkdCKCl7cmV0dXJuIHRoaXMuY29weUxpbmVhclRvU1JHQih0aGlzKSx0aGlzfWdldEhleCgpe3JldHVybiAyNTUqdGhpcy5yPDwxNl4yNTUqdGhpcy5nPDw4XjI1NSp0aGlzLmI8PDB9Z2V0SGV4U3RyaW5nKCl7cmV0dXJuKCIwMDAwMDAiK3RoaXMuZ2V0SGV4KCkudG9TdHJpbmcoMTYpKS5zbGljZSgtNil9Z2V0SFNMKHQpe2NvbnN0IGU9dGhpcy5yLG49dGhpcy5nLGk9dGhpcy5iLHI9TWF0aC5tYXgoZSxuLGkpLG89TWF0aC5taW4oZSxuLGkpO2xldCBhLHM7Y29uc3QgbD0obytyKS8yO2lmKG89PT1yKWE9MCxzPTA7ZWxzZXtjb25zdCB0PXItbztzd2l0Y2gocz1sPD0uNT90LyhyK28pOnQvKDItci1vKSxyKXtjYXNlIGU6YT0obi1pKS90KyhuPGk/NjowKTticmVhaztjYXNlIG46YT0oaS1lKS90KzI7YnJlYWs7Y2FzZSBpOmE9KGUtbikvdCs0fWEvPTZ9cmV0dXJuIHQuaD1hLHQucz1zLHQubD1sLHR9Z2V0U3R5bGUoKXtyZXR1cm4icmdiKCIrKDI1NSp0aGlzLnJ8MCkrIiwiKygyNTUqdGhpcy5nfDApKyIsIisoMjU1KnRoaXMuYnwwKSsiKSJ9b2Zmc2V0SFNMKHQsZSxuKXtyZXR1cm4gdGhpcy5nZXRIU0wobjR0KSxuNHQuaCs9dCxuNHQucys9ZSxuNHQubCs9bix0aGlzLnNldEhTTChuNHQuaCxuNHQucyxuNHQubCksdGhpc31hZGQodCl7cmV0dXJuIHRoaXMucis9dC5yLHRoaXMuZys9dC5nLHRoaXMuYis9dC5iLHRoaXN9YWRkQ29sb3JzKHQsZSl7cmV0dXJuIHRoaXMucj10LnIrZS5yLHRoaXMuZz10LmcrZS5nLHRoaXMuYj10LmIrZS5iLHRoaXN9YWRkU2NhbGFyKHQpe3JldHVybiB0aGlzLnIrPXQsdGhpcy5nKz10LHRoaXMuYis9dCx0aGlzfXN1Yih0KXtyZXR1cm4gdGhpcy5yPU1hdGgubWF4KDAsdGhpcy5yLXQuciksdGhpcy5nPU1hdGgubWF4KDAsdGhpcy5nLXQuZyksdGhpcy5iPU1hdGgubWF4KDAsdGhpcy5iLXQuYiksdGhpc31tdWx0aXBseSh0KXtyZXR1cm4gdGhpcy5yKj10LnIsdGhpcy5nKj10LmcsdGhpcy5iKj10LmIsdGhpc31tdWx0aXBseVNjYWxhcih0KXtyZXR1cm4gdGhpcy5yKj10LHRoaXMuZyo9dCx0aGlzLmIqPXQsdGhpc31sZXJwKHQsZSl7cmV0dXJuIHRoaXMucis9KHQuci10aGlzLnIpKmUsdGhpcy5nKz0odC5nLXRoaXMuZykqZSx0aGlzLmIrPSh0LmItdGhpcy5iKSplLHRoaXN9bGVycENvbG9ycyh0LGUsbil7cmV0dXJuIHRoaXMucj10LnIrKGUuci10LnIpKm4sdGhpcy5nPXQuZysoZS5nLXQuZykqbix0aGlzLmI9dC5iKyhlLmItdC5iKSpuLHRoaXN9bGVycEhTTCh0LGUpe3RoaXMuZ2V0SFNMKG40dCksdC5nZXRIU0woaTR0KTtjb25zdCBuPWM1dChuNHQuaCxpNHQuaCxlKSxpPWM1dChuNHQucyxpNHQucyxlKSxyPWM1dChuNHQubCxpNHQubCxlKTtyZXR1cm4gdGhpcy5zZXRIU0wobixpLHIpLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0LnI9PT10aGlzLnImJnQuZz09PXRoaXMuZyYmdC5iPT09dGhpcy5ifWZyb21BcnJheSh0LGU9MCl7cmV0dXJuIHRoaXMucj10W2VdLHRoaXMuZz10W2UrMV0sdGhpcy5iPXRbZSsyXSx0aGlzfXRvQXJyYXkodD1bXSxlPTApe3JldHVybiB0W2VdPXRoaXMucix0W2UrMV09dGhpcy5nLHRbZSsyXT10aGlzLmIsdH1mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSl7cmV0dXJuIHRoaXMucj10LmdldFgoZSksdGhpcy5nPXQuZ2V0WShlKSx0aGlzLmI9dC5nZXRaKGUpLCEwPT09dC5ub3JtYWxpemVkJiYodGhpcy5yLz0yNTUsdGhpcy5nLz0yNTUsdGhpcy5iLz0yNTUpLHRoaXN9dG9KU09OKCl7cmV0dXJuIHRoaXMuZ2V0SGV4KCl9fXM0dC5OQU1FUz1lNHQsczR0LnByb3RvdHlwZS5pc0NvbG9yPSEwLHM0dC5wcm90b3R5cGUucj0xLHM0dC5wcm90b3R5cGUuZz0xLHM0dC5wcm90b3R5cGUuYj0xO2NsYXNzIGw0dCBleHRlbmRzIHQ0dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iTWVzaEJhc2ljTWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IHM0dCgxNjc3NzIxNSksdGhpcy5tYXA9bnVsbCx0aGlzLmxpZ2h0TWFwPW51bGwsdGhpcy5saWdodE1hcEludGVuc2l0eT0xLHRoaXMuYW9NYXA9bnVsbCx0aGlzLmFvTWFwSW50ZW5zaXR5PTEsdGhpcy5zcGVjdWxhck1hcD1udWxsLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmVudk1hcD1udWxsLHRoaXMuY29tYmluZT0wLHRoaXMucmVmbGVjdGl2aXR5PTEsdGhpcy5yZWZyYWN0aW9uUmF0aW89Ljk4LHRoaXMud2lyZWZyYW1lPSExLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPTEsdGhpcy53aXJlZnJhbWVMaW5lY2FwPSJyb3VuZCIsdGhpcy53aXJlZnJhbWVMaW5lam9pbj0icm91bmQiLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMubGlnaHRNYXA9dC5saWdodE1hcCx0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PXQubGlnaHRNYXBJbnRlbnNpdHksdGhpcy5hb01hcD10LmFvTWFwLHRoaXMuYW9NYXBJbnRlbnNpdHk9dC5hb01hcEludGVuc2l0eSx0aGlzLnNwZWN1bGFyTWFwPXQuc3BlY3VsYXJNYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZW52TWFwPXQuZW52TWFwLHRoaXMuY29tYmluZT10LmNvbWJpbmUsdGhpcy5yZWZsZWN0aXZpdHk9dC5yZWZsZWN0aXZpdHksdGhpcy5yZWZyYWN0aW9uUmF0aW89dC5yZWZyYWN0aW9uUmF0aW8sdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCx0aGlzLndpcmVmcmFtZUxpbmVqb2luPXQud2lyZWZyYW1lTGluZWpvaW4sdGhpc319bDR0LnByb3RvdHlwZS5pc01lc2hCYXNpY01hdGVyaWFsPSEwO2NvbnN0IGM0dD1uZXcgSDV0LHU0dD1uZXcgQzV0O2NsYXNzIGg0dHtjb25zdHJ1Y3Rvcih0LGUsbil7aWYoQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJUSFJFRS5CdWZmZXJBdHRyaWJ1dGU6IGFycmF5IHNob3VsZCBiZSBhIFR5cGVkIEFycmF5LiIpO3RoaXMubmFtZT0iIix0aGlzLmFycmF5PXQsdGhpcy5pdGVtU2l6ZT1lLHRoaXMuY291bnQ9dm9pZCAwIT09dD90Lmxlbmd0aC9lOjAsdGhpcy5ub3JtYWxpemVkPSEwPT09bix0aGlzLnVzYWdlPUoydCx0aGlzLnVwZGF0ZVJhbmdlPXtvZmZzZXQ6MCxjb3VudDotMX0sdGhpcy52ZXJzaW9uPTB9b25VcGxvYWRDYWxsYmFjaygpe31zZXQgbmVlZHNVcGRhdGUodCl7ITA9PT10JiZ0aGlzLnZlcnNpb24rK31zZXRVc2FnZSh0KXtyZXR1cm4gdGhpcy51c2FnZT10LHRoaXN9Y29weSh0KXtyZXR1cm4gdGhpcy5uYW1lPXQubmFtZSx0aGlzLmFycmF5PW5ldyB0LmFycmF5LmNvbnN0cnVjdG9yKHQuYXJyYXkpLHRoaXMuaXRlbVNpemU9dC5pdGVtU2l6ZSx0aGlzLmNvdW50PXQuY291bnQsdGhpcy5ub3JtYWxpemVkPXQubm9ybWFsaXplZCx0aGlzLnVzYWdlPXQudXNhZ2UsdGhpc31jb3B5QXQodCxlLG4pe3QqPXRoaXMuaXRlbVNpemUsbio9ZS5pdGVtU2l6ZTtmb3IobGV0IGk9MCxyPXRoaXMuaXRlbVNpemU7aTxyO2krKyl0aGlzLmFycmF5W3QraV09ZS5hcnJheVtuK2ldO3JldHVybiB0aGlzfWNvcHlBcnJheSh0KXtyZXR1cm4gdGhpcy5hcnJheS5zZXQodCksdGhpc31jb3B5Q29sb3JzQXJyYXkodCl7Y29uc3QgZT10aGlzLmFycmF5O2xldCBuPTA7Zm9yKGxldCBpPTAscj10Lmxlbmd0aDtpPHI7aSsrKXtsZXQgcj10W2ldO3ZvaWQgMD09PXImJihjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZS5jb3B5Q29sb3JzQXJyYXkoKTogY29sb3IgaXMgdW5kZWZpbmVkIixpKSxyPW5ldyBzNHQpLGVbbisrXT1yLnIsZVtuKytdPXIuZyxlW24rK109ci5ifXJldHVybiB0aGlzfWNvcHlWZWN0b3Iyc0FycmF5KHQpe2NvbnN0IGU9dGhpcy5hcnJheTtsZXQgbj0wO2ZvcihsZXQgaT0wLHI9dC5sZW5ndGg7aTxyO2krKyl7bGV0IHI9dFtpXTt2b2lkIDA9PT1yJiYoY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJBdHRyaWJ1dGUuY29weVZlY3RvcjJzQXJyYXkoKTogdmVjdG9yIGlzIHVuZGVmaW5lZCIsaSkscj1uZXcgQzV0KSxlW24rK109ci54LGVbbisrXT1yLnl9cmV0dXJuIHRoaXN9Y29weVZlY3RvcjNzQXJyYXkodCl7Y29uc3QgZT10aGlzLmFycmF5O2xldCBuPTA7Zm9yKGxldCBpPTAscj10Lmxlbmd0aDtpPHI7aSsrKXtsZXQgcj10W2ldO3ZvaWQgMD09PXImJihjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZS5jb3B5VmVjdG9yM3NBcnJheSgpOiB2ZWN0b3IgaXMgdW5kZWZpbmVkIixpKSxyPW5ldyBINXQpLGVbbisrXT1yLngsZVtuKytdPXIueSxlW24rK109ci56fXJldHVybiB0aGlzfWNvcHlWZWN0b3I0c0FycmF5KHQpe2NvbnN0IGU9dGhpcy5hcnJheTtsZXQgbj0wO2ZvcihsZXQgaT0wLHI9dC5sZW5ndGg7aTxyO2krKyl7bGV0IHI9dFtpXTt2b2lkIDA9PT1yJiYoY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJBdHRyaWJ1dGUuY29weVZlY3RvcjRzQXJyYXkoKTogdmVjdG9yIGlzIHVuZGVmaW5lZCIsaSkscj1uZXcgUjV0KSxlW24rK109ci54LGVbbisrXT1yLnksZVtuKytdPXIueixlW24rK109ci53fXJldHVybiB0aGlzfWFwcGx5TWF0cml4Myh0KXtpZigyPT09dGhpcy5pdGVtU2l6ZSlmb3IobGV0IGU9MCxuPXRoaXMuY291bnQ7ZTxuO2UrKyl1NHQuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0aGlzLGUpLHU0dC5hcHBseU1hdHJpeDModCksdGhpcy5zZXRYWShlLHU0dC54LHU0dC55KTtlbHNlIGlmKDM9PT10aGlzLml0ZW1TaXplKWZvcihsZXQgZT0wLG49dGhpcy5jb3VudDtlPG47ZSsrKWM0dC5mcm9tQnVmZmVyQXR0cmlidXRlKHRoaXMsZSksYzR0LmFwcGx5TWF0cml4Myh0KSx0aGlzLnNldFhZWihlLGM0dC54LGM0dC55LGM0dC56KTtyZXR1cm4gdGhpc31hcHBseU1hdHJpeDQodCl7Zm9yKGxldCBlPTAsbj10aGlzLmNvdW50O2U8bjtlKyspYzR0Lng9dGhpcy5nZXRYKGUpLGM0dC55PXRoaXMuZ2V0WShlKSxjNHQuej10aGlzLmdldFooZSksYzR0LmFwcGx5TWF0cml4NCh0KSx0aGlzLnNldFhZWihlLGM0dC54LGM0dC55LGM0dC56KTtyZXR1cm4gdGhpc31hcHBseU5vcm1hbE1hdHJpeCh0KXtmb3IobGV0IGU9MCxuPXRoaXMuY291bnQ7ZTxuO2UrKyljNHQueD10aGlzLmdldFgoZSksYzR0Lnk9dGhpcy5nZXRZKGUpLGM0dC56PXRoaXMuZ2V0WihlKSxjNHQuYXBwbHlOb3JtYWxNYXRyaXgodCksdGhpcy5zZXRYWVooZSxjNHQueCxjNHQueSxjNHQueik7cmV0dXJuIHRoaXN9dHJhbnNmb3JtRGlyZWN0aW9uKHQpe2ZvcihsZXQgZT0wLG49dGhpcy5jb3VudDtlPG47ZSsrKWM0dC54PXRoaXMuZ2V0WChlKSxjNHQueT10aGlzLmdldFkoZSksYzR0Lno9dGhpcy5nZXRaKGUpLGM0dC50cmFuc2Zvcm1EaXJlY3Rpb24odCksdGhpcy5zZXRYWVooZSxjNHQueCxjNHQueSxjNHQueik7cmV0dXJuIHRoaXN9c2V0KHQsZT0wKXtyZXR1cm4gdGhpcy5hcnJheS5zZXQodCxlKSx0aGlzfWdldFgodCl7cmV0dXJuIHRoaXMuYXJyYXlbdCp0aGlzLml0ZW1TaXplXX1zZXRYKHQsZSl7cmV0dXJuIHRoaXMuYXJyYXlbdCp0aGlzLml0ZW1TaXplXT1lLHRoaXN9Z2V0WSh0KXtyZXR1cm4gdGhpcy5hcnJheVt0KnRoaXMuaXRlbVNpemUrMV19c2V0WSh0LGUpe3JldHVybiB0aGlzLmFycmF5W3QqdGhpcy5pdGVtU2l6ZSsxXT1lLHRoaXN9Z2V0Wih0KXtyZXR1cm4gdGhpcy5hcnJheVt0KnRoaXMuaXRlbVNpemUrMl19c2V0Wih0LGUpe3JldHVybiB0aGlzLmFycmF5W3QqdGhpcy5pdGVtU2l6ZSsyXT1lLHRoaXN9Z2V0Vyh0KXtyZXR1cm4gdGhpcy5hcnJheVt0KnRoaXMuaXRlbVNpemUrM119c2V0Vyh0LGUpe3JldHVybiB0aGlzLmFycmF5W3QqdGhpcy5pdGVtU2l6ZSszXT1lLHRoaXN9c2V0WFkodCxlLG4pe3JldHVybiB0aGlzLmFycmF5Wyh0Kj10aGlzLml0ZW1TaXplKSswXT1lLHRoaXMuYXJyYXlbdCsxXT1uLHRoaXN9c2V0WFlaKHQsZSxuLGkpe3JldHVybiB0aGlzLmFycmF5Wyh0Kj10aGlzLml0ZW1TaXplKSswXT1lLHRoaXMuYXJyYXlbdCsxXT1uLHRoaXMuYXJyYXlbdCsyXT1pLHRoaXN9c2V0WFlaVyh0LGUsbixpLHIpe3JldHVybiB0aGlzLmFycmF5Wyh0Kj10aGlzLml0ZW1TaXplKSswXT1lLHRoaXMuYXJyYXlbdCsxXT1uLHRoaXMuYXJyYXlbdCsyXT1pLHRoaXMuYXJyYXlbdCszXT1yLHRoaXN9b25VcGxvYWQodCl7cmV0dXJuIHRoaXMub25VcGxvYWRDYWxsYmFjaz10LHRoaXN9Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5hcnJheSx0aGlzLml0ZW1TaXplKS5jb3B5KHRoaXMpfXRvSlNPTigpe2NvbnN0IHQ9e2l0ZW1TaXplOnRoaXMuaXRlbVNpemUsdHlwZTp0aGlzLmFycmF5LmNvbnN0cnVjdG9yLm5hbWUsYXJyYXk6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5hcnJheSksbm9ybWFsaXplZDp0aGlzLm5vcm1hbGl6ZWR9O3JldHVybiIiIT09dGhpcy5uYW1lJiYodC5uYW1lPXRoaXMubmFtZSksdGhpcy51c2FnZSE9PUoydCYmKHQudXNhZ2U9dGhpcy51c2FnZSksMD09PXRoaXMudXBkYXRlUmFuZ2Uub2Zmc2V0JiYtMT09PXRoaXMudXBkYXRlUmFuZ2UuY291bnR8fCh0LnVwZGF0ZVJhbmdlPXRoaXMudXBkYXRlUmFuZ2UpLHR9fWg0dC5wcm90b3R5cGUuaXNCdWZmZXJBdHRyaWJ1dGU9ITA7Y2xhc3MgZDR0IGV4dGVuZHMgaDR0e2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcihuZXcgSW50OEFycmF5KHQpLGUsbil9fWNsYXNzIHA0dCBleHRlbmRzIGg0dHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIobmV3IFVpbnQ4QXJyYXkodCksZSxuKX19Y2xhc3MgZjR0IGV4dGVuZHMgaDR0e2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcihuZXcgVWludDhDbGFtcGVkQXJyYXkodCksZSxuKX19Y2xhc3MgbTR0IGV4dGVuZHMgaDR0e2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcihuZXcgSW50MTZBcnJheSh0KSxlLG4pfX1jbGFzcyBnNHQgZXh0ZW5kcyBoNHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKG5ldyBVaW50MTZBcnJheSh0KSxlLG4pfX1jbGFzcyBfNHQgZXh0ZW5kcyBoNHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKG5ldyBJbnQzMkFycmF5KHQpLGUsbil9fWNsYXNzIHk0dCBleHRlbmRzIGg0dHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIobmV3IFVpbnQzMkFycmF5KHQpLGUsbil9fWNsYXNzIHY0dCBleHRlbmRzIGg0dHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIobmV3IFVpbnQxNkFycmF5KHQpLGUsbil9fXY0dC5wcm90b3R5cGUuaXNGbG9hdDE2QnVmZmVyQXR0cmlidXRlPSEwO2NsYXNzIGI0dCBleHRlbmRzIGg0dHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIobmV3IEZsb2F0MzJBcnJheSh0KSxlLG4pfX1jbGFzcyB4NHQgZXh0ZW5kcyBoNHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKG5ldyBGbG9hdDY0QXJyYXkodCksZSxuKX19ZnVuY3Rpb24gdzR0KHQpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm4tMS8wO2xldCBlPXRbMF07Zm9yKGxldCBuPTEsaT10Lmxlbmd0aDtuPGk7KytuKXRbbl0+ZSYmKGU9dFtuXSk7cmV0dXJuIGV9Y29uc3QgUzR0PXtJbnQ4QXJyYXk6SW50OEFycmF5LFVpbnQ4QXJyYXk6VWludDhBcnJheSxVaW50OENsYW1wZWRBcnJheTpVaW50OENsYW1wZWRBcnJheSxJbnQxNkFycmF5OkludDE2QXJyYXksVWludDE2QXJyYXk6VWludDE2QXJyYXksSW50MzJBcnJheTpJbnQzMkFycmF5LFVpbnQzMkFycmF5OlVpbnQzMkFycmF5LEZsb2F0MzJBcnJheTpGbG9hdDMyQXJyYXksRmxvYXQ2NEFycmF5OkZsb2F0NjRBcnJheX07ZnVuY3Rpb24gTTR0KHQsZSl7cmV0dXJuIG5ldyBTNHRbdF0oZSl9bGV0IEU0dD0wO2NvbnN0IFQ0dD1uZXcgZzN0LEM0dD1uZXcgVjN0LEE0dD1uZXcgSDV0LGs0dD1uZXcgVTV0LEw0dD1uZXcgVTV0LFA0dD1uZXcgSDV0O2NsYXNzIE40dCBleHRlbmRzIGU1dHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImlkIix7dmFsdWU6RTR0Kyt9KSx0aGlzLnV1aWQ9YTV0KCksdGhpcy5uYW1lPSIiLHRoaXMudHlwZT0iQnVmZmVyR2VvbWV0cnkiLHRoaXMuaW5kZXg9bnVsbCx0aGlzLmF0dHJpYnV0ZXM9e30sdGhpcy5tb3JwaEF0dHJpYnV0ZXM9e30sdGhpcy5tb3JwaFRhcmdldHNSZWxhdGl2ZT0hMSx0aGlzLmdyb3Vwcz1bXSx0aGlzLmJvdW5kaW5nQm94PW51bGwsdGhpcy5ib3VuZGluZ1NwaGVyZT1udWxsLHRoaXMuZHJhd1JhbmdlPXtzdGFydDowLGNvdW50OjEvMH0sdGhpcy51c2VyRGF0YT17fX1nZXRJbmRleCgpe3JldHVybiB0aGlzLmluZGV4fXNldEluZGV4KHQpe3JldHVybiB0aGlzLmluZGV4PUFycmF5LmlzQXJyYXkodCk/bmV3KHc0dCh0KT42NTUzNT95NHQ6ZzR0KSh0LDEpOnQsdGhpc31nZXRBdHRyaWJ1dGUodCl7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1t0XX1zZXRBdHRyaWJ1dGUodCxlKXtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVzW3RdPWUsdGhpc31kZWxldGVBdHRyaWJ1dGUodCl7cmV0dXJuIGRlbGV0ZSB0aGlzLmF0dHJpYnV0ZXNbdF0sdGhpc31oYXNBdHRyaWJ1dGUodCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuYXR0cmlidXRlc1t0XX1hZGRHcm91cCh0LGUsbj0wKXt0aGlzLmdyb3Vwcy5wdXNoKHtzdGFydDp0LGNvdW50OmUsbWF0ZXJpYWxJbmRleDpufSl9Y2xlYXJHcm91cHMoKXt0aGlzLmdyb3Vwcz1bXX1zZXREcmF3UmFuZ2UodCxlKXt0aGlzLmRyYXdSYW5nZS5zdGFydD10LHRoaXMuZHJhd1JhbmdlLmNvdW50PWV9YXBwbHlNYXRyaXg0KHQpe2NvbnN0IGU9dGhpcy5hdHRyaWJ1dGVzLnBvc2l0aW9uO3ZvaWQgMCE9PWUmJihlLmFwcGx5TWF0cml4NCh0KSxlLm5lZWRzVXBkYXRlPSEwKTtjb25zdCBuPXRoaXMuYXR0cmlidXRlcy5ub3JtYWw7aWYodm9pZCAwIT09bil7Y29uc3QgZT0obmV3IEE1dCkuZ2V0Tm9ybWFsTWF0cml4KHQpO24uYXBwbHlOb3JtYWxNYXRyaXgoZSksbi5uZWVkc1VwZGF0ZT0hMH1jb25zdCBpPXRoaXMuYXR0cmlidXRlcy50YW5nZW50O3JldHVybiB2b2lkIDAhPT1pJiYoaS50cmFuc2Zvcm1EaXJlY3Rpb24odCksaS5uZWVkc1VwZGF0ZT0hMCksbnVsbCE9PXRoaXMuYm91bmRpbmdCb3gmJnRoaXMuY29tcHV0ZUJvdW5kaW5nQm94KCksbnVsbCE9PXRoaXMuYm91bmRpbmdTcGhlcmUmJnRoaXMuY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCksdGhpc31hcHBseVF1YXRlcm5pb24odCl7cmV0dXJuIFQ0dC5tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbih0KSx0aGlzLmFwcGx5TWF0cml4NChUNHQpLHRoaXN9cm90YXRlWCh0KXtyZXR1cm4gVDR0Lm1ha2VSb3RhdGlvblgodCksdGhpcy5hcHBseU1hdHJpeDQoVDR0KSx0aGlzfXJvdGF0ZVkodCl7cmV0dXJuIFQ0dC5tYWtlUm90YXRpb25ZKHQpLHRoaXMuYXBwbHlNYXRyaXg0KFQ0dCksdGhpc31yb3RhdGVaKHQpe3JldHVybiBUNHQubWFrZVJvdGF0aW9uWih0KSx0aGlzLmFwcGx5TWF0cml4NChUNHQpLHRoaXN9dHJhbnNsYXRlKHQsZSxuKXtyZXR1cm4gVDR0Lm1ha2VUcmFuc2xhdGlvbih0LGUsbiksdGhpcy5hcHBseU1hdHJpeDQoVDR0KSx0aGlzfXNjYWxlKHQsZSxuKXtyZXR1cm4gVDR0Lm1ha2VTY2FsZSh0LGUsbiksdGhpcy5hcHBseU1hdHJpeDQoVDR0KSx0aGlzfWxvb2tBdCh0KXtyZXR1cm4gQzR0Lmxvb2tBdCh0KSxDNHQudXBkYXRlTWF0cml4KCksdGhpcy5hcHBseU1hdHJpeDQoQzR0Lm1hdHJpeCksdGhpc31jZW50ZXIoKXtyZXR1cm4gdGhpcy5jb21wdXRlQm91bmRpbmdCb3goKSx0aGlzLmJvdW5kaW5nQm94LmdldENlbnRlcihBNHQpLm5lZ2F0ZSgpLHRoaXMudHJhbnNsYXRlKEE0dC54LEE0dC55LEE0dC56KSx0aGlzfXNldEZyb21Qb2ludHModCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MCxpPXQubGVuZ3RoO248aTtuKyspe2NvbnN0IGk9dFtuXTtlLnB1c2goaS54LGkueSxpLnp8fDApfXJldHVybiB0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQoZSwzKSksdGhpc31jb21wdXRlQm91bmRpbmdCb3goKXtudWxsPT09dGhpcy5ib3VuZGluZ0JveCYmKHRoaXMuYm91bmRpbmdCb3g9bmV3IFU1dCk7Y29uc3QgdD10aGlzLmF0dHJpYnV0ZXMucG9zaXRpb24sZT10aGlzLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbjtpZih0JiZ0LmlzR0xCdWZmZXJBdHRyaWJ1dGUpcmV0dXJuIGNvbnNvbGUuZXJyb3IoJ1RIUkVFLkJ1ZmZlckdlb21ldHJ5LmNvbXB1dGVCb3VuZGluZ0JveCgpOiBHTEJ1ZmZlckF0dHJpYnV0ZSByZXF1aXJlcyBhIG1hbnVhbCBib3VuZGluZyBib3guIEFsdGVybmF0aXZlbHkgc2V0ICJtZXNoLmZydXN0dW1DdWxsZWQiIHRvICJmYWxzZSIuJyx0aGlzKSx2b2lkIHRoaXMuYm91bmRpbmdCb3guc2V0KG5ldyBINXQoLTEvMCwtMS8wLC0xLzApLG5ldyBINXQoMS8wLDEvMCwxLzApKTtpZih2b2lkIDAhPT10KXtpZih0aGlzLmJvdW5kaW5nQm94LnNldEZyb21CdWZmZXJBdHRyaWJ1dGUodCksZSlmb3IobGV0IHQ9MCxuPWUubGVuZ3RoO3Q8bjt0Kyspe2s0dC5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKGVbdF0pLHRoaXMubW9ycGhUYXJnZXRzUmVsYXRpdmU/KFA0dC5hZGRWZWN0b3JzKHRoaXMuYm91bmRpbmdCb3gubWluLGs0dC5taW4pLHRoaXMuYm91bmRpbmdCb3guZXhwYW5kQnlQb2ludChQNHQpLFA0dC5hZGRWZWN0b3JzKHRoaXMuYm91bmRpbmdCb3gubWF4LGs0dC5tYXgpLHRoaXMuYm91bmRpbmdCb3guZXhwYW5kQnlQb2ludChQNHQpKToodGhpcy5ib3VuZGluZ0JveC5leHBhbmRCeVBvaW50KGs0dC5taW4pLHRoaXMuYm91bmRpbmdCb3guZXhwYW5kQnlQb2ludChrNHQubWF4KSl9fWVsc2UgdGhpcy5ib3VuZGluZ0JveC5tYWtlRW1wdHkoKTsoaXNOYU4odGhpcy5ib3VuZGluZ0JveC5taW4ueCl8fGlzTmFOKHRoaXMuYm91bmRpbmdCb3gubWluLnkpfHxpc05hTih0aGlzLmJvdW5kaW5nQm94Lm1pbi56KSkmJmNvbnNvbGUuZXJyb3IoJ1RIUkVFLkJ1ZmZlckdlb21ldHJ5LmNvbXB1dGVCb3VuZGluZ0JveCgpOiBDb21wdXRlZCBtaW4vbWF4IGhhdmUgTmFOIHZhbHVlcy4gVGhlICJwb3NpdGlvbiIgYXR0cmlidXRlIGlzIGxpa2VseSB0byBoYXZlIE5hTiB2YWx1ZXMuJyx0aGlzKX1jb21wdXRlQm91bmRpbmdTcGhlcmUoKXtudWxsPT09dGhpcy5ib3VuZGluZ1NwaGVyZSYmKHRoaXMuYm91bmRpbmdTcGhlcmU9bmV3IHMzdCk7Y29uc3QgdD10aGlzLmF0dHJpYnV0ZXMucG9zaXRpb24sZT10aGlzLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbjtpZih0JiZ0LmlzR0xCdWZmZXJBdHRyaWJ1dGUpcmV0dXJuIGNvbnNvbGUuZXJyb3IoJ1RIUkVFLkJ1ZmZlckdlb21ldHJ5LmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpOiBHTEJ1ZmZlckF0dHJpYnV0ZSByZXF1aXJlcyBhIG1hbnVhbCBib3VuZGluZyBzcGhlcmUuIEFsdGVybmF0aXZlbHkgc2V0ICJtZXNoLmZydXN0dW1DdWxsZWQiIHRvICJmYWxzZSIuJyx0aGlzKSx2b2lkIHRoaXMuYm91bmRpbmdTcGhlcmUuc2V0KG5ldyBINXQsMS8wKTtpZih0KXtjb25zdCBuPXRoaXMuYm91bmRpbmdTcGhlcmUuY2VudGVyO2lmKGs0dC5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKHQpLGUpZm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0PG47dCsrKXtMNHQuc2V0RnJvbUJ1ZmZlckF0dHJpYnV0ZShlW3RdKSx0aGlzLm1vcnBoVGFyZ2V0c1JlbGF0aXZlPyhQNHQuYWRkVmVjdG9ycyhrNHQubWluLEw0dC5taW4pLGs0dC5leHBhbmRCeVBvaW50KFA0dCksUDR0LmFkZFZlY3RvcnMoazR0Lm1heCxMNHQubWF4KSxrNHQuZXhwYW5kQnlQb2ludChQNHQpKTooazR0LmV4cGFuZEJ5UG9pbnQoTDR0Lm1pbiksazR0LmV4cGFuZEJ5UG9pbnQoTDR0Lm1heCkpfWs0dC5nZXRDZW50ZXIobik7bGV0IGk9MDtmb3IobGV0IGU9MCxyPXQuY291bnQ7ZTxyO2UrKylQNHQuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LGUpLGk9TWF0aC5tYXgoaSxuLmRpc3RhbmNlVG9TcXVhcmVkKFA0dCkpO2lmKGUpZm9yKGxldCByPTAsbz1lLmxlbmd0aDtyPG87cisrKXtjb25zdCBvPWVbcl0sYT10aGlzLm1vcnBoVGFyZ2V0c1JlbGF0aXZlO2ZvcihsZXQgZT0wLHI9by5jb3VudDtlPHI7ZSsrKVA0dC5mcm9tQnVmZmVyQXR0cmlidXRlKG8sZSksYSYmKEE0dC5mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSksUDR0LmFkZChBNHQpKSxpPU1hdGgubWF4KGksbi5kaXN0YW5jZVRvU3F1YXJlZChQNHQpKX10aGlzLmJvdW5kaW5nU3BoZXJlLnJhZGl1cz1NYXRoLnNxcnQoaSksaXNOYU4odGhpcy5ib3VuZGluZ1NwaGVyZS5yYWRpdXMpJiZjb25zb2xlLmVycm9yKCdUSFJFRS5CdWZmZXJHZW9tZXRyeS5jb21wdXRlQm91bmRpbmdTcGhlcmUoKTogQ29tcHV0ZWQgcmFkaXVzIGlzIE5hTi4gVGhlICJwb3NpdGlvbiIgYXR0cmlidXRlIGlzIGxpa2VseSB0byBoYXZlIE5hTiB2YWx1ZXMuJyx0aGlzKX19Y29tcHV0ZUZhY2VOb3JtYWxzKCl7fWNvbXB1dGVUYW5nZW50cygpe2NvbnN0IHQ9dGhpcy5pbmRleCxlPXRoaXMuYXR0cmlidXRlcztpZihudWxsPT09dHx8dm9pZCAwPT09ZS5wb3NpdGlvbnx8dm9pZCAwPT09ZS5ub3JtYWx8fHZvaWQgMD09PWUudXYpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5jb21wdXRlVGFuZ2VudHMoKSBmYWlsZWQuIE1pc3NpbmcgcmVxdWlyZWQgYXR0cmlidXRlcyAoaW5kZXgsIHBvc2l0aW9uLCBub3JtYWwgb3IgdXYpIik7Y29uc3Qgbj10LmFycmF5LGk9ZS5wb3NpdGlvbi5hcnJheSxyPWUubm9ybWFsLmFycmF5LG89ZS51di5hcnJheSxhPWkubGVuZ3RoLzM7dm9pZCAwPT09ZS50YW5nZW50JiZ0aGlzLnNldEF0dHJpYnV0ZSgidGFuZ2VudCIsbmV3IGg0dChuZXcgRmxvYXQzMkFycmF5KDQqYSksNCkpO2NvbnN0IHM9ZS50YW5nZW50LmFycmF5LGw9W10sYz1bXTtmb3IobGV0IHQ9MDt0PGE7dCsrKWxbdF09bmV3IEg1dCxjW3RdPW5ldyBINXQ7Y29uc3QgdT1uZXcgSDV0LGg9bmV3IEg1dCxkPW5ldyBINXQscD1uZXcgQzV0LGY9bmV3IEM1dCxtPW5ldyBDNXQsZz1uZXcgSDV0LF89bmV3IEg1dDtmdW5jdGlvbiB5KHQsZSxuKXt1LmZyb21BcnJheShpLDMqdCksaC5mcm9tQXJyYXkoaSwzKmUpLGQuZnJvbUFycmF5KGksMypuKSxwLmZyb21BcnJheShvLDIqdCksZi5mcm9tQXJyYXkobywyKmUpLG0uZnJvbUFycmF5KG8sMipuKSxoLnN1Yih1KSxkLnN1Yih1KSxmLnN1YihwKSxtLnN1YihwKTtjb25zdCByPTEvKGYueCptLnktbS54KmYueSk7aXNGaW5pdGUocikmJihnLmNvcHkoaCkubXVsdGlwbHlTY2FsYXIobS55KS5hZGRTY2FsZWRWZWN0b3IoZCwtZi55KS5tdWx0aXBseVNjYWxhcihyKSxfLmNvcHkoZCkubXVsdGlwbHlTY2FsYXIoZi54KS5hZGRTY2FsZWRWZWN0b3IoaCwtbS54KS5tdWx0aXBseVNjYWxhcihyKSxsW3RdLmFkZChnKSxsW2VdLmFkZChnKSxsW25dLmFkZChnKSxjW3RdLmFkZChfKSxjW2VdLmFkZChfKSxjW25dLmFkZChfKSl9bGV0IHY9dGhpcy5ncm91cHM7MD09PXYubGVuZ3RoJiYodj1be3N0YXJ0OjAsY291bnQ6bi5sZW5ndGh9XSk7Zm9yKGxldCB0PTAsZT12Lmxlbmd0aDt0PGU7Kyt0KXtjb25zdCBlPXZbdF0saT1lLnN0YXJ0O2ZvcihsZXQgdD1pLHI9aStlLmNvdW50O3Q8cjt0Kz0zKXkoblt0KzBdLG5bdCsxXSxuW3QrMl0pfWNvbnN0IGI9bmV3IEg1dCx4PW5ldyBINXQsdz1uZXcgSDV0LFM9bmV3IEg1dDtmdW5jdGlvbiBNKHQpe3cuZnJvbUFycmF5KHIsMyp0KSxTLmNvcHkodyk7Y29uc3QgZT1sW3RdO2IuY29weShlKSxiLnN1Yih3Lm11bHRpcGx5U2NhbGFyKHcuZG90KGUpKSkubm9ybWFsaXplKCkseC5jcm9zc1ZlY3RvcnMoUyxlKTtjb25zdCBuPXguZG90KGNbdF0pPDA/LTE6MTtzWzQqdF09Yi54LHNbNCp0KzFdPWIueSxzWzQqdCsyXT1iLnosc1s0KnQrM109bn1mb3IobGV0IHQ9MCxlPXYubGVuZ3RoO3Q8ZTsrK3Qpe2NvbnN0IGU9dlt0XSxpPWUuc3RhcnQ7Zm9yKGxldCB0PWkscj1pK2UuY291bnQ7dDxyO3QrPTMpTShuW3QrMF0pLE0oblt0KzFdKSxNKG5bdCsyXSl9fWNvbXB1dGVWZXJ0ZXhOb3JtYWxzKCl7Y29uc3QgdD10aGlzLmluZGV4LGU9dGhpcy5nZXRBdHRyaWJ1dGUoInBvc2l0aW9uIik7aWYodm9pZCAwIT09ZSl7bGV0IG49dGhpcy5nZXRBdHRyaWJ1dGUoIm5vcm1hbCIpO2lmKHZvaWQgMD09PW4pbj1uZXcgaDR0KG5ldyBGbG9hdDMyQXJyYXkoMyplLmNvdW50KSwzKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuKTtlbHNlIGZvcihsZXQgdD0wLGU9bi5jb3VudDt0PGU7dCsrKW4uc2V0WFlaKHQsMCwwLDApO2NvbnN0IGk9bmV3IEg1dCxyPW5ldyBINXQsbz1uZXcgSDV0LGE9bmV3IEg1dCxzPW5ldyBINXQsbD1uZXcgSDV0LGM9bmV3IEg1dCx1PW5ldyBINXQ7aWYodClmb3IobGV0IGg9MCxkPXQuY291bnQ7aDxkO2grPTMpe2NvbnN0IGQ9dC5nZXRYKGgrMCkscD10LmdldFgoaCsxKSxmPXQuZ2V0WChoKzIpO2kuZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLGQpLHIuZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLHApLG8uZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLGYpLGMuc3ViVmVjdG9ycyhvLHIpLHUuc3ViVmVjdG9ycyhpLHIpLGMuY3Jvc3ModSksYS5mcm9tQnVmZmVyQXR0cmlidXRlKG4sZCkscy5mcm9tQnVmZmVyQXR0cmlidXRlKG4scCksbC5mcm9tQnVmZmVyQXR0cmlidXRlKG4sZiksYS5hZGQoYykscy5hZGQoYyksbC5hZGQoYyksbi5zZXRYWVooZCxhLngsYS55LGEueiksbi5zZXRYWVoocCxzLngscy55LHMueiksbi5zZXRYWVooZixsLngsbC55LGwueil9ZWxzZSBmb3IobGV0IHQ9MCxhPWUuY291bnQ7dDxhO3QrPTMpaS5mcm9tQnVmZmVyQXR0cmlidXRlKGUsdCswKSxyLmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx0KzEpLG8uZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLHQrMiksYy5zdWJWZWN0b3JzKG8sciksdS5zdWJWZWN0b3JzKGksciksYy5jcm9zcyh1KSxuLnNldFhZWih0KzAsYy54LGMueSxjLnopLG4uc2V0WFlaKHQrMSxjLngsYy55LGMueiksbi5zZXRYWVoodCsyLGMueCxjLnksYy56KTt0aGlzLm5vcm1hbGl6ZU5vcm1hbHMoKSxuLm5lZWRzVXBkYXRlPSEwfX1tZXJnZSh0LGUpe2lmKCF0fHwhdC5pc0J1ZmZlckdlb21ldHJ5KXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLkJ1ZmZlckdlb21ldHJ5Lm1lcmdlKCk6IGdlb21ldHJ5IG5vdCBhbiBpbnN0YW5jZSBvZiBUSFJFRS5CdWZmZXJHZW9tZXRyeS4iLHQpO3ZvaWQgMD09PWUmJihlPTAsY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeS5tZXJnZSgpOiBPdmVyd3JpdGluZyBvcmlnaW5hbCBnZW9tZXRyeSwgc3RhcnRpbmcgYXQgb2Zmc2V0PTAuIFVzZSBCdWZmZXJHZW9tZXRyeVV0aWxzLm1lcmdlQnVmZmVyR2VvbWV0cmllcygpIGZvciBsb3NzbGVzcyBtZXJnZS4iKSk7Y29uc3Qgbj10aGlzLmF0dHJpYnV0ZXM7Zm9yKGNvbnN0IGkgaW4gbil7aWYodm9pZCAwPT09dC5hdHRyaWJ1dGVzW2ldKWNvbnRpbnVlO2NvbnN0IHI9bltpXS5hcnJheSxvPXQuYXR0cmlidXRlc1tpXSxhPW8uYXJyYXkscz1vLml0ZW1TaXplKmUsbD1NYXRoLm1pbihhLmxlbmd0aCxyLmxlbmd0aC1zKTtmb3IobGV0IHQ9MCxlPXM7dDxsO3QrKyxlKyspcltlXT1hW3RdfXJldHVybiB0aGlzfW5vcm1hbGl6ZU5vcm1hbHMoKXtjb25zdCB0PXRoaXMuYXR0cmlidXRlcy5ub3JtYWw7Zm9yKGxldCBlPTAsbj10LmNvdW50O2U8bjtlKyspUDR0LmZyb21CdWZmZXJBdHRyaWJ1dGUodCxlKSxQNHQubm9ybWFsaXplKCksdC5zZXRYWVooZSxQNHQueCxQNHQueSxQNHQueil9dG9Ob25JbmRleGVkKCl7ZnVuY3Rpb24gdCh0LGUpe2NvbnN0IG49dC5hcnJheSxpPXQuaXRlbVNpemUscj10Lm5vcm1hbGl6ZWQsbz1uZXcgbi5jb25zdHJ1Y3RvcihlLmxlbmd0aCppKTtsZXQgYT0wLHM9MDtmb3IobGV0IHI9MCxsPWUubGVuZ3RoO3I8bDtyKyspe2E9dC5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlP2Vbcl0qdC5kYXRhLnN0cmlkZSt0Lm9mZnNldDplW3JdKmk7Zm9yKGxldCB0PTA7dDxpO3QrKylvW3MrK109blthKytdfXJldHVybiBuZXcgaDR0KG8saSxyKX1pZihudWxsPT09dGhpcy5pbmRleClyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeS50b05vbkluZGV4ZWQoKTogQnVmZmVyR2VvbWV0cnkgaXMgYWxyZWFkeSBub24taW5kZXhlZC4iKSx0aGlzO2NvbnN0IGU9bmV3IE40dCxuPXRoaXMuaW5kZXguYXJyYXksaT10aGlzLmF0dHJpYnV0ZXM7Zm9yKGNvbnN0IHIgaW4gaSl7Y29uc3Qgbz10KGlbcl0sbik7ZS5zZXRBdHRyaWJ1dGUocixvKX1jb25zdCByPXRoaXMubW9ycGhBdHRyaWJ1dGVzO2Zvcihjb25zdCBpIGluIHIpe2NvbnN0IG89W10sYT1yW2ldO2ZvcihsZXQgZT0wLGk9YS5sZW5ndGg7ZTxpO2UrKyl7Y29uc3QgaT10KGFbZV0sbik7by5wdXNoKGkpfWUubW9ycGhBdHRyaWJ1dGVzW2ldPW99ZS5tb3JwaFRhcmdldHNSZWxhdGl2ZT10aGlzLm1vcnBoVGFyZ2V0c1JlbGF0aXZlO2NvbnN0IG89dGhpcy5ncm91cHM7Zm9yKGxldCB0PTAsbj1vLmxlbmd0aDt0PG47dCsrKXtjb25zdCBuPW9bdF07ZS5hZGRHcm91cChuLnN0YXJ0LG4uY291bnQsbi5tYXRlcmlhbEluZGV4KX1yZXR1cm4gZX10b0pTT04oKXtjb25zdCB0PXttZXRhZGF0YTp7dmVyc2lvbjo0LjUsdHlwZToiQnVmZmVyR2VvbWV0cnkiLGdlbmVyYXRvcjoiQnVmZmVyR2VvbWV0cnkudG9KU09OIn19O2lmKHQudXVpZD10aGlzLnV1aWQsdC50eXBlPXRoaXMudHlwZSwiIiE9PXRoaXMubmFtZSYmKHQubmFtZT10aGlzLm5hbWUpLE9iamVjdC5rZXlzKHRoaXMudXNlckRhdGEpLmxlbmd0aD4wJiYodC51c2VyRGF0YT10aGlzLnVzZXJEYXRhKSx2b2lkIDAhPT10aGlzLnBhcmFtZXRlcnMpe2NvbnN0IGU9dGhpcy5wYXJhbWV0ZXJzO2Zvcihjb25zdCBuIGluIGUpdm9pZCAwIT09ZVtuXSYmKHRbbl09ZVtuXSk7cmV0dXJuIHR9dC5kYXRhPXthdHRyaWJ1dGVzOnt9fTtjb25zdCBlPXRoaXMuaW5kZXg7bnVsbCE9PWUmJih0LmRhdGEuaW5kZXg9e3R5cGU6ZS5hcnJheS5jb25zdHJ1Y3Rvci5uYW1lLGFycmF5OkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUuYXJyYXkpfSk7Y29uc3Qgbj10aGlzLmF0dHJpYnV0ZXM7Zm9yKGNvbnN0IGUgaW4gbil7dC5kYXRhLmF0dHJpYnV0ZXNbZV09bltlXS50b0pTT04odC5kYXRhKX1jb25zdCBpPXt9O2xldCByPSExO2Zvcihjb25zdCBlIGluIHRoaXMubW9ycGhBdHRyaWJ1dGVzKXtjb25zdCBuPXRoaXMubW9ycGhBdHRyaWJ1dGVzW2VdLG89W107Zm9yKGxldCBlPTAsaT1uLmxlbmd0aDtlPGk7ZSsrKXtvLnB1c2gobltlXS50b0pTT04odC5kYXRhKSl9by5sZW5ndGg+MCYmKGlbZV09byxyPSEwKX1yJiYodC5kYXRhLm1vcnBoQXR0cmlidXRlcz1pLHQuZGF0YS5tb3JwaFRhcmdldHNSZWxhdGl2ZT10aGlzLm1vcnBoVGFyZ2V0c1JlbGF0aXZlKTtjb25zdCBvPXRoaXMuZ3JvdXBzO28ubGVuZ3RoPjAmJih0LmRhdGEuZ3JvdXBzPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobykpKTtjb25zdCBhPXRoaXMuYm91bmRpbmdTcGhlcmU7cmV0dXJuIG51bGwhPT1hJiYodC5kYXRhLmJvdW5kaW5nU3BoZXJlPXtjZW50ZXI6YS5jZW50ZXIudG9BcnJheSgpLHJhZGl1czphLnJhZGl1c30pLHR9Y2xvbmUoKXtyZXR1cm4obmV3IE40dCkuY29weSh0aGlzKX1jb3B5KHQpe3RoaXMuaW5kZXg9bnVsbCx0aGlzLmF0dHJpYnV0ZXM9e30sdGhpcy5tb3JwaEF0dHJpYnV0ZXM9e30sdGhpcy5ncm91cHM9W10sdGhpcy5ib3VuZGluZ0JveD1udWxsLHRoaXMuYm91bmRpbmdTcGhlcmU9bnVsbDtjb25zdCBlPXt9O3RoaXMubmFtZT10Lm5hbWU7Y29uc3Qgbj10LmluZGV4O251bGwhPT1uJiZ0aGlzLnNldEluZGV4KG4uY2xvbmUoZSkpO2NvbnN0IGk9dC5hdHRyaWJ1dGVzO2Zvcihjb25zdCB0IGluIGkpe3RoaXMuc2V0QXR0cmlidXRlKHQsaVt0XS5jbG9uZShlKSl9Y29uc3Qgcj10Lm1vcnBoQXR0cmlidXRlcztmb3IoY29uc3QgdCBpbiByKXtjb25zdCBuPVtdLGk9clt0XTtmb3IobGV0IHQ9MCxyPWkubGVuZ3RoO3Q8cjt0Kyspbi5wdXNoKGlbdF0uY2xvbmUoZSkpO3RoaXMubW9ycGhBdHRyaWJ1dGVzW3RdPW59dGhpcy5tb3JwaFRhcmdldHNSZWxhdGl2ZT10Lm1vcnBoVGFyZ2V0c1JlbGF0aXZlO2NvbnN0IG89dC5ncm91cHM7Zm9yKGxldCB0PTAsZT1vLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPW9bdF07dGhpcy5hZGRHcm91cChlLnN0YXJ0LGUuY291bnQsZS5tYXRlcmlhbEluZGV4KX1jb25zdCBhPXQuYm91bmRpbmdCb3g7bnVsbCE9PWEmJih0aGlzLmJvdW5kaW5nQm94PWEuY2xvbmUoKSk7Y29uc3Qgcz10LmJvdW5kaW5nU3BoZXJlO3JldHVybiBudWxsIT09cyYmKHRoaXMuYm91bmRpbmdTcGhlcmU9cy5jbG9uZSgpKSx0aGlzLmRyYXdSYW5nZS5zdGFydD10LmRyYXdSYW5nZS5zdGFydCx0aGlzLmRyYXdSYW5nZS5jb3VudD10LmRyYXdSYW5nZS5jb3VudCx0aGlzLnVzZXJEYXRhPXQudXNlckRhdGEsdGhpc31kaXNwb3NlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNwb3NlIn0pfX1ONHQucHJvdG90eXBlLmlzQnVmZmVyR2VvbWV0cnk9ITA7Y29uc3QgSTR0PW5ldyBnM3QsUjR0PW5ldyBtM3QsTzR0PW5ldyBzM3QsejR0PW5ldyBINXQsRDR0PW5ldyBINXQsQjR0PW5ldyBINXQsSDR0PW5ldyBINXQsRjR0PW5ldyBINXQsVjR0PW5ldyBINXQsVTR0PW5ldyBINXQsajR0PW5ldyBINXQsRzR0PW5ldyBINXQsVzR0PW5ldyBDNXQscTR0PW5ldyBDNXQsWTR0PW5ldyBDNXQsWDR0PW5ldyBINXQsJDR0PW5ldyBINXQ7Y2xhc3MgSzR0IGV4dGVuZHMgVjN0e2NvbnN0cnVjdG9yKHQ9bmV3IE40dCxlPW5ldyBsNHQpe3N1cGVyKCksdGhpcy50eXBlPSJNZXNoIix0aGlzLmdlb21ldHJ5PXQsdGhpcy5tYXRlcmlhbD1lLHRoaXMudXBkYXRlTW9ycGhUYXJnZXRzKCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx2b2lkIDAhPT10Lm1vcnBoVGFyZ2V0SW5mbHVlbmNlcyYmKHRoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzPXQubW9ycGhUYXJnZXRJbmZsdWVuY2VzLnNsaWNlKCkpLHZvaWQgMCE9PXQubW9ycGhUYXJnZXREaWN0aW9uYXJ5JiYodGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnk9T2JqZWN0LmFzc2lnbih7fSx0Lm1vcnBoVGFyZ2V0RGljdGlvbmFyeSkpLHRoaXMubWF0ZXJpYWw9dC5tYXRlcmlhbCx0aGlzLmdlb21ldHJ5PXQuZ2VvbWV0cnksdGhpc311cGRhdGVNb3JwaFRhcmdldHMoKXtjb25zdCB0PXRoaXMuZ2VvbWV0cnk7aWYodC5pc0J1ZmZlckdlb21ldHJ5KXtjb25zdCBlPXQubW9ycGhBdHRyaWJ1dGVzLG49T2JqZWN0LmtleXMoZSk7aWYobi5sZW5ndGg+MCl7Y29uc3QgdD1lW25bMF1dO2lmKHZvaWQgMCE9PXQpe3RoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzPVtdLHRoaXMubW9ycGhUYXJnZXREaWN0aW9uYXJ5PXt9O2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10W2VdLm5hbWV8fFN0cmluZyhlKTt0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcy5wdXNoKDApLHRoaXMubW9ycGhUYXJnZXREaWN0aW9uYXJ5W25dPWV9fX19ZWxzZXtjb25zdCBlPXQubW9ycGhUYXJnZXRzO3ZvaWQgMCE9PWUmJmUubGVuZ3RoPjAmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLk1lc2gudXBkYXRlTW9ycGhUYXJnZXRzKCkgbm8gbG9uZ2VyIHN1cHBvcnRzIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKX19cmF5Y2FzdCh0LGUpe2NvbnN0IG49dGhpcy5nZW9tZXRyeSxpPXRoaXMubWF0ZXJpYWwscj10aGlzLm1hdHJpeFdvcmxkO2lmKHZvaWQgMD09PWkpcmV0dXJuO2lmKG51bGw9PT1uLmJvdW5kaW5nU3BoZXJlJiZuLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLE80dC5jb3B5KG4uYm91bmRpbmdTcGhlcmUpLE80dC5hcHBseU1hdHJpeDQociksITE9PT10LnJheS5pbnRlcnNlY3RzU3BoZXJlKE80dCkpcmV0dXJuO2lmKEk0dC5jb3B5KHIpLmludmVydCgpLFI0dC5jb3B5KHQucmF5KS5hcHBseU1hdHJpeDQoSTR0KSxudWxsIT09bi5ib3VuZGluZ0JveCYmITE9PT1SNHQuaW50ZXJzZWN0c0JveChuLmJvdW5kaW5nQm94KSlyZXR1cm47bGV0IG87aWYobi5pc0J1ZmZlckdlb21ldHJ5KXtjb25zdCByPW4uaW5kZXgsYT1uLmF0dHJpYnV0ZXMucG9zaXRpb24scz1uLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbixsPW4ubW9ycGhUYXJnZXRzUmVsYXRpdmUsYz1uLmF0dHJpYnV0ZXMudXYsdT1uLmF0dHJpYnV0ZXMudXYyLGg9bi5ncm91cHMsZD1uLmRyYXdSYW5nZTtpZihudWxsIT09cilpZihBcnJheS5pc0FycmF5KGkpKWZvcihsZXQgbj0wLHA9aC5sZW5ndGg7bjxwO24rKyl7Y29uc3QgcD1oW25dLGY9aVtwLm1hdGVyaWFsSW5kZXhdO2ZvcihsZXQgbj1NYXRoLm1heChwLnN0YXJ0LGQuc3RhcnQpLGk9TWF0aC5taW4ocC5zdGFydCtwLmNvdW50LGQuc3RhcnQrZC5jb3VudCk7bjxpO24rPTMpe2NvbnN0IGk9ci5nZXRYKG4pLGg9ci5nZXRYKG4rMSksZD1yLmdldFgobisyKTtvPVo0dCh0aGlzLGYsdCxSNHQsYSxzLGwsYyx1LGksaCxkKSxvJiYoby5mYWNlSW5kZXg9TWF0aC5mbG9vcihuLzMpLG8uZmFjZS5tYXRlcmlhbEluZGV4PXAubWF0ZXJpYWxJbmRleCxlLnB1c2gobykpfX1lbHNle2ZvcihsZXQgbj1NYXRoLm1heCgwLGQuc3RhcnQpLGg9TWF0aC5taW4oci5jb3VudCxkLnN0YXJ0K2QuY291bnQpO248aDtuKz0zKXtjb25zdCBoPXIuZ2V0WChuKSxkPXIuZ2V0WChuKzEpLHA9ci5nZXRYKG4rMik7bz1aNHQodGhpcyxpLHQsUjR0LGEscyxsLGMsdSxoLGQscCksbyYmKG8uZmFjZUluZGV4PU1hdGguZmxvb3Iobi8zKSxlLnB1c2gobykpfX1lbHNlIGlmKHZvaWQgMCE9PWEpaWYoQXJyYXkuaXNBcnJheShpKSlmb3IobGV0IG49MCxyPWgubGVuZ3RoO248cjtuKyspe2NvbnN0IHI9aFtuXSxwPWlbci5tYXRlcmlhbEluZGV4XTtmb3IobGV0IG49TWF0aC5tYXgoci5zdGFydCxkLnN0YXJ0KSxpPU1hdGgubWluKHIuc3RhcnQrci5jb3VudCxkLnN0YXJ0K2QuY291bnQpO248aTtuKz0zKXtvPVo0dCh0aGlzLHAsdCxSNHQsYSxzLGwsYyx1LG4sbisxLG4rMiksbyYmKG8uZmFjZUluZGV4PU1hdGguZmxvb3Iobi8zKSxvLmZhY2UubWF0ZXJpYWxJbmRleD1yLm1hdGVyaWFsSW5kZXgsZS5wdXNoKG8pKX19ZWxzZXtmb3IobGV0IG49TWF0aC5tYXgoMCxkLnN0YXJ0KSxyPU1hdGgubWluKGEuY291bnQsZC5zdGFydCtkLmNvdW50KTtuPHI7bis9Myl7bz1aNHQodGhpcyxpLHQsUjR0LGEscyxsLGMsdSxuLG4rMSxuKzIpLG8mJihvLmZhY2VJbmRleD1NYXRoLmZsb29yKG4vMyksZS5wdXNoKG8pKX19fWVsc2Ugbi5pc0dlb21ldHJ5JiZjb25zb2xlLmVycm9yKCJUSFJFRS5NZXNoLnJheWNhc3QoKSBubyBsb25nZXIgc3VwcG9ydHMgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfX1mdW5jdGlvbiBaNHQodCxlLG4saSxyLG8sYSxzLGwsYyx1LGgpe3o0dC5mcm9tQnVmZmVyQXR0cmlidXRlKHIsYyksRDR0LmZyb21CdWZmZXJBdHRyaWJ1dGUocix1KSxCNHQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShyLGgpO2NvbnN0IGQ9dC5tb3JwaFRhcmdldEluZmx1ZW5jZXM7aWYobyYmZCl7VTR0LnNldCgwLDAsMCksajR0LnNldCgwLDAsMCksRzR0LnNldCgwLDAsMCk7Zm9yKGxldCB0PTAsZT1vLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPWRbdF0sbj1vW3RdOzAhPT1lJiYoSDR0LmZyb21CdWZmZXJBdHRyaWJ1dGUobixjKSxGNHQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShuLHUpLFY0dC5mcm9tQnVmZmVyQXR0cmlidXRlKG4saCksYT8oVTR0LmFkZFNjYWxlZFZlY3RvcihINHQsZSksajR0LmFkZFNjYWxlZFZlY3RvcihGNHQsZSksRzR0LmFkZFNjYWxlZFZlY3RvcihWNHQsZSkpOihVNHQuYWRkU2NhbGVkVmVjdG9yKEg0dC5zdWIoejR0KSxlKSxqNHQuYWRkU2NhbGVkVmVjdG9yKEY0dC5zdWIoRDR0KSxlKSxHNHQuYWRkU2NhbGVkVmVjdG9yKFY0dC5zdWIoQjR0KSxlKSkpfXo0dC5hZGQoVTR0KSxENHQuYWRkKGo0dCksQjR0LmFkZChHNHQpfXQuaXNTa2lubmVkTWVzaCYmKHQuYm9uZVRyYW5zZm9ybShjLHo0dCksdC5ib25lVHJhbnNmb3JtKHUsRDR0KSx0LmJvbmVUcmFuc2Zvcm0oaCxCNHQpKTtjb25zdCBwPShmdW5jdGlvbiBmKHQsZSxuLGkscixvLGEscyl7bGV0IGw7aWYobD0xPT09ZS5zaWRlP2kuaW50ZXJzZWN0VHJpYW5nbGUoYSxvLHIsITAscyk6aS5pbnRlcnNlY3RUcmlhbmdsZShyLG8sYSwyIT09ZS5zaWRlLHMpLG51bGw9PT1sKXJldHVybiBudWxsOyQ0dC5jb3B5KHMpLCQ0dC5hcHBseU1hdHJpeDQodC5tYXRyaXhXb3JsZCk7Y29uc3QgYz1uLnJheS5vcmlnaW4uZGlzdGFuY2VUbygkNHQpO3JldHVybiBjPG4ubmVhcnx8Yz5uLmZhcj9udWxsOntkaXN0YW5jZTpjLHBvaW50OiQ0dC5jbG9uZSgpLG9iamVjdDp0fX0pKHQsZSxuLGksejR0LEQ0dCxCNHQsWDR0KTtpZihwKXtzJiYoVzR0LmZyb21CdWZmZXJBdHRyaWJ1dGUocyxjKSxxNHQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShzLHUpLFk0dC5mcm9tQnVmZmVyQXR0cmlidXRlKHMsaCkscC51dj1KM3QuZ2V0VVYoWDR0LHo0dCxENHQsQjR0LFc0dCxxNHQsWTR0LG5ldyBDNXQpKSxsJiYoVzR0LmZyb21CdWZmZXJBdHRyaWJ1dGUobCxjKSxxNHQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShsLHUpLFk0dC5mcm9tQnVmZmVyQXR0cmlidXRlKGwsaCkscC51djI9SjN0LmdldFVWKFg0dCx6NHQsRDR0LEI0dCxXNHQscTR0LFk0dCxuZXcgQzV0KSk7Y29uc3QgdD17YTpjLGI6dSxjOmgsbm9ybWFsOm5ldyBINXQsbWF0ZXJpYWxJbmRleDowfTtKM3QuZ2V0Tm9ybWFsKHo0dCxENHQsQjR0LHQubm9ybWFsKSxwLmZhY2U9dH1yZXR1cm4gcH1LNHQucHJvdG90eXBlLmlzTWVzaD0hMDtjbGFzcyBKNHQgZXh0ZW5kcyBONHR7Y29uc3RydWN0b3IodD0xLGU9MSxuPTEsaT0xLHI9MSxvPTEpe3N1cGVyKCksdGhpcy50eXBlPSJCb3hHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXt3aWR0aDp0LGhlaWdodDplLGRlcHRoOm4sd2lkdGhTZWdtZW50czppLGhlaWdodFNlZ21lbnRzOnIsZGVwdGhTZWdtZW50czpvfTtjb25zdCBhPXRoaXM7aT1NYXRoLmZsb29yKGkpLHI9TWF0aC5mbG9vcihyKSxvPU1hdGguZmxvb3Iobyk7Y29uc3Qgcz1bXSxsPVtdLGM9W10sdT1bXTtsZXQgaD0wLGQ9MDtmdW5jdGlvbiBwKHQsZSxuLGkscixvLHAsZixtLGcsXyl7Y29uc3QgeT1vL20sdj1wL2csYj1vLzIseD1wLzIsdz1mLzIsUz1tKzEsTT1nKzE7bGV0IEU9MCxUPTA7Y29uc3QgQz1uZXcgSDV0O2ZvcihsZXQgbz0wO288TTtvKyspe2NvbnN0IGE9byp2LXg7Zm9yKGxldCBzPTA7czxTO3MrKyl7Q1t0XT0ocyp5LWIpKmksQ1tlXT1hKnIsQ1tuXT13LGwucHVzaChDLngsQy55LEMueiksQ1t0XT0wLENbZV09MCxDW25dPWY+MD8xOi0xLGMucHVzaChDLngsQy55LEMueiksdS5wdXNoKHMvbSksdS5wdXNoKDEtby9nKSxFKz0xfX1mb3IobGV0IHQ9MDt0PGc7dCsrKWZvcihsZXQgZT0wO2U8bTtlKyspe2NvbnN0IG49aCtlK1MqKHQrMSksaT1oKyhlKzEpK1MqKHQrMSkscj1oKyhlKzEpK1MqdDtzLnB1c2goaCtlK1MqdCxuLHIpLHMucHVzaChuLGksciksVCs9Nn1hLmFkZEdyb3VwKGQsVCxfKSxkKz1ULGgrPUV9cCgieiIsInkiLCJ4IiwtMSwtMSxuLGUsdCxvLHIsMCkscCgieiIsInkiLCJ4IiwxLC0xLG4sZSwtdCxvLHIsMSkscCgieCIsInoiLCJ5IiwxLDEsdCxuLGUsaSxvLDIpLHAoIngiLCJ6IiwieSIsMSwtMSx0LG4sLWUsaSxvLDMpLHAoIngiLCJ5IiwieiIsMSwtMSx0LGUsbixpLHIsNCkscCgieCIsInkiLCJ6IiwtMSwtMSx0LGUsLW4saSxyLDUpLHRoaXMuc2V0SW5kZXgocyksdGhpcy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KGwsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJub3JtYWwiLG5ldyBiNHQoYywzKSksdGhpcy5zZXRBdHRyaWJ1dGUoInV2IixuZXcgYjR0KHUsMikpfXN0YXRpYyBmcm9tSlNPTih0KXtyZXR1cm4gbmV3IEo0dCh0LndpZHRoLHQuaGVpZ2h0LHQuZGVwdGgsdC53aWR0aFNlZ21lbnRzLHQuaGVpZ2h0U2VnbWVudHMsdC5kZXB0aFNlZ21lbnRzKX19ZnVuY3Rpb24gUTR0KHQpe2NvbnN0IGU9e307Zm9yKGNvbnN0IG4gaW4gdCl7ZVtuXT17fTtmb3IoY29uc3QgaSBpbiB0W25dKXtjb25zdCByPXRbbl1baV07ZVtuXVtpXT1yJiYoci5pc0NvbG9yfHxyLmlzTWF0cml4M3x8ci5pc01hdHJpeDR8fHIuaXNWZWN0b3IyfHxyLmlzVmVjdG9yM3x8ci5pc1ZlY3RvcjR8fHIuaXNUZXh0dXJlfHxyLmlzUXVhdGVybmlvbik/ci5jbG9uZSgpOkFycmF5LmlzQXJyYXkocik/ci5zbGljZSgpOnJ9fXJldHVybiBlfWZ1bmN0aW9uIHQ2dCh0KXtjb25zdCBlPXt9O2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCBpPVE0dCh0W25dKTtmb3IoY29uc3QgdCBpbiBpKWVbdF09aVt0XX1yZXR1cm4gZX1jb25zdCBlNnQ9e2Nsb25lOlE0dCxtZXJnZTp0NnR9O2NsYXNzIG42dCBleHRlbmRzIHQ0dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iU2hhZGVyTWF0ZXJpYWwiLHRoaXMuZGVmaW5lcz17fSx0aGlzLnVuaWZvcm1zPXt9LHRoaXMudmVydGV4U2hhZGVyPSJ2b2lkIG1haW4oKSB7XG5cdGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbk1hdHJpeCAqIG1vZGVsVmlld01hdHJpeCAqIHZlYzQoIHBvc2l0aW9uLCAxLjAgKTtcbn0iLHRoaXMuZnJhZ21lbnRTaGFkZXI9InZvaWQgbWFpbigpIHtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggMS4wLCAwLjAsIDAuMCwgMS4wICk7XG59Iix0aGlzLmxpbmV3aWR0aD0xLHRoaXMud2lyZWZyYW1lPSExLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPTEsdGhpcy5mb2c9ITEsdGhpcy5saWdodHM9ITEsdGhpcy5jbGlwcGluZz0hMSx0aGlzLmV4dGVuc2lvbnM9e2Rlcml2YXRpdmVzOiExLGZyYWdEZXB0aDohMSxkcmF3QnVmZmVyczohMSxzaGFkZXJUZXh0dXJlTE9EOiExfSx0aGlzLmRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXM9e2NvbG9yOlsxLDEsMV0sdXY6WzAsMF0sdXYyOlswLDBdfSx0aGlzLmluZGV4MEF0dHJpYnV0ZU5hbWU9dm9pZCAwLHRoaXMudW5pZm9ybXNOZWVkVXBkYXRlPSExLHRoaXMuZ2xzbFZlcnNpb249bnVsbCx2b2lkIDAhPT10JiYodm9pZCAwIT09dC5hdHRyaWJ1dGVzJiZjb25zb2xlLmVycm9yKCJUSFJFRS5TaGFkZXJNYXRlcmlhbDogYXR0cmlidXRlcyBzaG91bGQgbm93IGJlIGRlZmluZWQgaW4gVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKSx0aGlzLnNldFZhbHVlcyh0KSl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmZyYWdtZW50U2hhZGVyPXQuZnJhZ21lbnRTaGFkZXIsdGhpcy52ZXJ0ZXhTaGFkZXI9dC52ZXJ0ZXhTaGFkZXIsdGhpcy51bmlmb3Jtcz1RNHQodC51bmlmb3JtcyksdGhpcy5kZWZpbmVzPU9iamVjdC5hc3NpZ24oe30sdC5kZWZpbmVzKSx0aGlzLndpcmVmcmFtZT10LndpcmVmcmFtZSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD10LndpcmVmcmFtZUxpbmV3aWR0aCx0aGlzLmxpZ2h0cz10LmxpZ2h0cyx0aGlzLmNsaXBwaW5nPXQuY2xpcHBpbmcsdGhpcy5leHRlbnNpb25zPU9iamVjdC5hc3NpZ24oe30sdC5leHRlbnNpb25zKSx0aGlzLmdsc2xWZXJzaW9uPXQuZ2xzbFZlcnNpb24sdGhpc310b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7ZS5nbHNsVmVyc2lvbj10aGlzLmdsc2xWZXJzaW9uLGUudW5pZm9ybXM9e307Zm9yKGNvbnN0IG4gaW4gdGhpcy51bmlmb3Jtcyl7Y29uc3QgaT10aGlzLnVuaWZvcm1zW25dLnZhbHVlO2UudW5pZm9ybXNbbl09aSYmaS5pc1RleHR1cmU/e3R5cGU6InQiLHZhbHVlOmkudG9KU09OKHQpLnV1aWR9OmkmJmkuaXNDb2xvcj97dHlwZToiYyIsdmFsdWU6aS5nZXRIZXgoKX06aSYmaS5pc1ZlY3RvcjI/e3R5cGU6InYyIix2YWx1ZTppLnRvQXJyYXkoKX06aSYmaS5pc1ZlY3RvcjM/e3R5cGU6InYzIix2YWx1ZTppLnRvQXJyYXkoKX06aSYmaS5pc1ZlY3RvcjQ/e3R5cGU6InY0Iix2YWx1ZTppLnRvQXJyYXkoKX06aSYmaS5pc01hdHJpeDM/e3R5cGU6Im0zIix2YWx1ZTppLnRvQXJyYXkoKX06aSYmaS5pc01hdHJpeDQ/e3R5cGU6Im00Iix2YWx1ZTppLnRvQXJyYXkoKX06e3ZhbHVlOml9fU9iamVjdC5rZXlzKHRoaXMuZGVmaW5lcykubGVuZ3RoPjAmJihlLmRlZmluZXM9dGhpcy5kZWZpbmVzKSxlLnZlcnRleFNoYWRlcj10aGlzLnZlcnRleFNoYWRlcixlLmZyYWdtZW50U2hhZGVyPXRoaXMuZnJhZ21lbnRTaGFkZXI7Y29uc3Qgbj17fTtmb3IoY29uc3QgdCBpbiB0aGlzLmV4dGVuc2lvbnMpITA9PT10aGlzLmV4dGVuc2lvbnNbdF0mJihuW3RdPSEwKTtyZXR1cm4gT2JqZWN0LmtleXMobikubGVuZ3RoPjAmJihlLmV4dGVuc2lvbnM9biksZX19bjZ0LnByb3RvdHlwZS5pc1NoYWRlck1hdGVyaWFsPSEwO2NsYXNzIGk2dCBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50eXBlPSJDYW1lcmEiLHRoaXMubWF0cml4V29ybGRJbnZlcnNlPW5ldyBnM3QsdGhpcy5wcm9qZWN0aW9uTWF0cml4PW5ldyBnM3QsdGhpcy5wcm9qZWN0aW9uTWF0cml4SW52ZXJzZT1uZXcgZzN0fWNvcHkodCxlKXtyZXR1cm4gc3VwZXIuY29weSh0LGUpLHRoaXMubWF0cml4V29ybGRJbnZlcnNlLmNvcHkodC5tYXRyaXhXb3JsZEludmVyc2UpLHRoaXMucHJvamVjdGlvbk1hdHJpeC5jb3B5KHQucHJvamVjdGlvbk1hdHJpeCksdGhpcy5wcm9qZWN0aW9uTWF0cml4SW52ZXJzZS5jb3B5KHQucHJvamVjdGlvbk1hdHJpeEludmVyc2UpLHRoaXN9Z2V0V29ybGREaXJlY3Rpb24odCl7dGhpcy51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSk7Y29uc3QgZT10aGlzLm1hdHJpeFdvcmxkLmVsZW1lbnRzO3JldHVybiB0LnNldCgtZVs4XSwtZVs5XSwtZVsxMF0pLm5vcm1hbGl6ZSgpfXVwZGF0ZU1hdHJpeFdvcmxkKHQpe3N1cGVyLnVwZGF0ZU1hdHJpeFdvcmxkKHQpLHRoaXMubWF0cml4V29ybGRJbnZlcnNlLmNvcHkodGhpcy5tYXRyaXhXb3JsZCkuaW52ZXJ0KCl9dXBkYXRlV29ybGRNYXRyaXgodCxlKXtzdXBlci51cGRhdGVXb3JsZE1hdHJpeCh0LGUpLHRoaXMubWF0cml4V29ybGRJbnZlcnNlLmNvcHkodGhpcy5tYXRyaXhXb3JsZCkuaW52ZXJ0KCl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9fWk2dC5wcm90b3R5cGUuaXNDYW1lcmE9ITA7Y2xhc3MgcjZ0IGV4dGVuZHMgaTZ0e2NvbnN0cnVjdG9yKHQ9NTAsZT0xLG49LjEsaT0yZTMpe3N1cGVyKCksdGhpcy50eXBlPSJQZXJzcGVjdGl2ZUNhbWVyYSIsdGhpcy5mb3Y9dCx0aGlzLnpvb209MSx0aGlzLm5lYXI9bix0aGlzLmZhcj1pLHRoaXMuZm9jdXM9MTAsdGhpcy5hc3BlY3Q9ZSx0aGlzLnZpZXc9bnVsbCx0aGlzLmZpbG1HYXVnZT0zNSx0aGlzLmZpbG1PZmZzZXQ9MCx0aGlzLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX1jb3B5KHQsZSl7cmV0dXJuIHN1cGVyLmNvcHkodCxlKSx0aGlzLmZvdj10LmZvdix0aGlzLnpvb209dC56b29tLHRoaXMubmVhcj10Lm5lYXIsdGhpcy5mYXI9dC5mYXIsdGhpcy5mb2N1cz10LmZvY3VzLHRoaXMuYXNwZWN0PXQuYXNwZWN0LHRoaXMudmlldz1udWxsPT09dC52aWV3P251bGw6T2JqZWN0LmFzc2lnbih7fSx0LnZpZXcpLHRoaXMuZmlsbUdhdWdlPXQuZmlsbUdhdWdlLHRoaXMuZmlsbU9mZnNldD10LmZpbG1PZmZzZXQsdGhpc31zZXRGb2NhbExlbmd0aCh0KXtjb25zdCBlPS41KnRoaXMuZ2V0RmlsbUhlaWdodCgpL3Q7dGhpcy5mb3Y9MipvNXQqTWF0aC5hdGFuKGUpLHRoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfWdldEZvY2FsTGVuZ3RoKCl7Y29uc3QgdD1NYXRoLnRhbiguNSpyNXQqdGhpcy5mb3YpO3JldHVybi41KnRoaXMuZ2V0RmlsbUhlaWdodCgpL3R9Z2V0RWZmZWN0aXZlRk9WKCl7cmV0dXJuIDIqbzV0Kk1hdGguYXRhbihNYXRoLnRhbiguNSpyNXQqdGhpcy5mb3YpL3RoaXMuem9vbSl9Z2V0RmlsbVdpZHRoKCl7cmV0dXJuIHRoaXMuZmlsbUdhdWdlKk1hdGgubWluKHRoaXMuYXNwZWN0LDEpfWdldEZpbG1IZWlnaHQoKXtyZXR1cm4gdGhpcy5maWxtR2F1Z2UvTWF0aC5tYXgodGhpcy5hc3BlY3QsMSl9c2V0Vmlld09mZnNldCh0LGUsbixpLHIsbyl7dGhpcy5hc3BlY3Q9dC9lLG51bGw9PT10aGlzLnZpZXcmJih0aGlzLnZpZXc9e2VuYWJsZWQ6ITAsZnVsbFdpZHRoOjEsZnVsbEhlaWdodDoxLG9mZnNldFg6MCxvZmZzZXRZOjAsd2lkdGg6MSxoZWlnaHQ6MX0pLHRoaXMudmlldy5lbmFibGVkPSEwLHRoaXMudmlldy5mdWxsV2lkdGg9dCx0aGlzLnZpZXcuZnVsbEhlaWdodD1lLHRoaXMudmlldy5vZmZzZXRYPW4sdGhpcy52aWV3Lm9mZnNldFk9aSx0aGlzLnZpZXcud2lkdGg9cix0aGlzLnZpZXcuaGVpZ2h0PW8sdGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9Y2xlYXJWaWV3T2Zmc2V0KCl7bnVsbCE9PXRoaXMudmlldyYmKHRoaXMudmlldy5lbmFibGVkPSExKSx0aGlzLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX11cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl7Y29uc3QgdD10aGlzLm5lYXI7bGV0IGU9dCpNYXRoLnRhbiguNSpyNXQqdGhpcy5mb3YpL3RoaXMuem9vbSxuPTIqZSxpPXRoaXMuYXNwZWN0Km4scj0tLjUqaTtjb25zdCBvPXRoaXMudmlldztpZihudWxsIT09dGhpcy52aWV3JiZ0aGlzLnZpZXcuZW5hYmxlZCl7Y29uc3QgdD1vLmZ1bGxXaWR0aCxhPW8uZnVsbEhlaWdodDtyKz1vLm9mZnNldFgqaS90LGUtPW8ub2Zmc2V0WSpuL2EsaSo9by53aWR0aC90LG4qPW8uaGVpZ2h0L2F9Y29uc3QgYT10aGlzLmZpbG1PZmZzZXQ7MCE9PWEmJihyKz10KmEvdGhpcy5nZXRGaWxtV2lkdGgoKSksdGhpcy5wcm9qZWN0aW9uTWF0cml4Lm1ha2VQZXJzcGVjdGl2ZShyLHIraSxlLGUtbix0LHRoaXMuZmFyKSx0aGlzLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlLmNvcHkodGhpcy5wcm9qZWN0aW9uTWF0cml4KS5pbnZlcnQoKX10b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7cmV0dXJuIGUub2JqZWN0LmZvdj10aGlzLmZvdixlLm9iamVjdC56b29tPXRoaXMuem9vbSxlLm9iamVjdC5uZWFyPXRoaXMubmVhcixlLm9iamVjdC5mYXI9dGhpcy5mYXIsZS5vYmplY3QuZm9jdXM9dGhpcy5mb2N1cyxlLm9iamVjdC5hc3BlY3Q9dGhpcy5hc3BlY3QsbnVsbCE9PXRoaXMudmlldyYmKGUub2JqZWN0LnZpZXc9T2JqZWN0LmFzc2lnbih7fSx0aGlzLnZpZXcpKSxlLm9iamVjdC5maWxtR2F1Z2U9dGhpcy5maWxtR2F1Z2UsZS5vYmplY3QuZmlsbU9mZnNldD10aGlzLmZpbG1PZmZzZXQsZX19cjZ0LnByb3RvdHlwZS5pc1BlcnNwZWN0aXZlQ2FtZXJhPSEwO2NvbnN0IG82dD05MDtjbGFzcyBhNnQgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IodCxlLG4pe2lmKHN1cGVyKCksdGhpcy50eXBlPSJDdWJlQ2FtZXJhIiwhMCE9PW4uaXNXZWJHTEN1YmVSZW5kZXJUYXJnZXQpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuQ3ViZUNhbWVyYTogVGhlIGNvbnN0cnVjdG9yIG5vdyBleHBlY3RzIGFuIGluc3RhbmNlIG9mIFdlYkdMQ3ViZVJlbmRlclRhcmdldCBhcyB0aGlyZCBwYXJhbWV0ZXIuIik7dGhpcy5yZW5kZXJUYXJnZXQ9bjtjb25zdCBpPW5ldyByNnQobzZ0LDEsdCxlKTtpLmxheWVycz10aGlzLmxheWVycyxpLnVwLnNldCgwLC0xLDApLGkubG9va0F0KG5ldyBINXQoMSwwLDApKSx0aGlzLmFkZChpKTtjb25zdCByPW5ldyByNnQobzZ0LDEsdCxlKTtyLmxheWVycz10aGlzLmxheWVycyxyLnVwLnNldCgwLC0xLDApLHIubG9va0F0KG5ldyBINXQoLTEsMCwwKSksdGhpcy5hZGQocik7Y29uc3Qgbz1uZXcgcjZ0KG82dCwxLHQsZSk7by5sYXllcnM9dGhpcy5sYXllcnMsby51cC5zZXQoMCwwLDEpLG8ubG9va0F0KG5ldyBINXQoMCwxLDApKSx0aGlzLmFkZChvKTtjb25zdCBhPW5ldyByNnQobzZ0LDEsdCxlKTthLmxheWVycz10aGlzLmxheWVycyxhLnVwLnNldCgwLDAsLTEpLGEubG9va0F0KG5ldyBINXQoMCwtMSwwKSksdGhpcy5hZGQoYSk7Y29uc3Qgcz1uZXcgcjZ0KG82dCwxLHQsZSk7cy5sYXllcnM9dGhpcy5sYXllcnMscy51cC5zZXQoMCwtMSwwKSxzLmxvb2tBdChuZXcgSDV0KDAsMCwxKSksdGhpcy5hZGQocyk7Y29uc3QgbD1uZXcgcjZ0KG82dCwxLHQsZSk7bC5sYXllcnM9dGhpcy5sYXllcnMsbC51cC5zZXQoMCwtMSwwKSxsLmxvb2tBdChuZXcgSDV0KDAsMCwtMSkpLHRoaXMuYWRkKGwpfXVwZGF0ZSh0LGUpe251bGw9PT10aGlzLnBhcmVudCYmdGhpcy51cGRhdGVNYXRyaXhXb3JsZCgpO2NvbnN0IG49dGhpcy5yZW5kZXJUYXJnZXQsW2kscixvLGEscyxsXT10aGlzLmNoaWxkcmVuLGM9dC54ci5lbmFibGVkLHU9dC5nZXRSZW5kZXJUYXJnZXQoKTt0LnhyLmVuYWJsZWQ9ITE7Y29uc3QgaD1uLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzO24udGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHM9ITEsdC5zZXRSZW5kZXJUYXJnZXQobiwwKSx0LnJlbmRlcihlLGkpLHQuc2V0UmVuZGVyVGFyZ2V0KG4sMSksdC5yZW5kZXIoZSxyKSx0LnNldFJlbmRlclRhcmdldChuLDIpLHQucmVuZGVyKGUsbyksdC5zZXRSZW5kZXJUYXJnZXQobiwzKSx0LnJlbmRlcihlLGEpLHQuc2V0UmVuZGVyVGFyZ2V0KG4sNCksdC5yZW5kZXIoZSxzKSxuLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzPWgsdC5zZXRSZW5kZXJUYXJnZXQobiw1KSx0LnJlbmRlcihlLGwpLHQuc2V0UmVuZGVyVGFyZ2V0KHUpLHQueHIuZW5hYmxlZD1jfX1jbGFzcyBzNnQgZXh0ZW5kcyBONXR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8sYSxzLGwsYyl7c3VwZXIodD12b2lkIDAhPT10P3Q6W10sZT12b2lkIDAhPT1lP2U6ZTJ0LG4saSxyLG8sYT12b2lkIDAhPT1hP2E6dzJ0LHMsbCxjKSx0aGlzLmZsaXBZPSExfWdldCBpbWFnZXMoKXtyZXR1cm4gdGhpcy5pbWFnZX1zZXQgaW1hZ2VzKHQpe3RoaXMuaW1hZ2U9dH19czZ0LnByb3RvdHlwZS5pc0N1YmVUZXh0dXJlPSEwO2NsYXNzIGw2dCBleHRlbmRzIE81dHtjb25zdHJ1Y3Rvcih0LGUsbil7TnVtYmVyLmlzSW50ZWdlcihlKSYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xDdWJlUmVuZGVyVGFyZ2V0OiBjb25zdHJ1Y3RvciBzaWduYXR1cmUgaXMgbm93IFdlYkdMQ3ViZVJlbmRlclRhcmdldCggc2l6ZSwgb3B0aW9ucyApIiksZT1uKSxzdXBlcih0LHQsZSksdGhpcy50ZXh0dXJlPW5ldyBzNnQodm9pZCAwLChlPWV8fHt9KS5tYXBwaW5nLGUud3JhcFMsZS53cmFwVCxlLm1hZ0ZpbHRlcixlLm1pbkZpbHRlcixlLmZvcm1hdCxlLnR5cGUsZS5hbmlzb3Ryb3B5LGUuZW5jb2RpbmcpLHRoaXMudGV4dHVyZS5pc1JlbmRlclRhcmdldFRleHR1cmU9ITAsdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz12b2lkIDAhPT1lLmdlbmVyYXRlTWlwbWFwcyYmZS5nZW5lcmF0ZU1pcG1hcHMsdGhpcy50ZXh0dXJlLm1pbkZpbHRlcj12b2lkIDAhPT1lLm1pbkZpbHRlcj9lLm1pbkZpbHRlcjpwMnQsdGhpcy50ZXh0dXJlLl9uZWVkc0ZsaXBFbnZNYXA9ITF9ZnJvbUVxdWlyZWN0YW5ndWxhclRleHR1cmUodCxlKXt0aGlzLnRleHR1cmUudHlwZT1lLnR5cGUsdGhpcy50ZXh0dXJlLmZvcm1hdD1TMnQsdGhpcy50ZXh0dXJlLmVuY29kaW5nPWUuZW5jb2RpbmcsdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz1lLmdlbmVyYXRlTWlwbWFwcyx0aGlzLnRleHR1cmUubWluRmlsdGVyPWUubWluRmlsdGVyLHRoaXMudGV4dHVyZS5tYWdGaWx0ZXI9ZS5tYWdGaWx0ZXI7Y29uc3Qgbj17dW5pZm9ybXM6e3RFcXVpcmVjdDp7dmFsdWU6bnVsbH19LHZlcnRleFNoYWRlcjoiXG5cblx0XHRcdFx0dmFyeWluZyB2ZWMzIHZXb3JsZERpcmVjdGlvbjtcblxuXHRcdFx0XHR2ZWMzIHRyYW5zZm9ybURpcmVjdGlvbiggaW4gdmVjMyBkaXIsIGluIG1hdDQgbWF0cml4ICkge1xuXG5cdFx0XHRcdFx0cmV0dXJuIG5vcm1hbGl6ZSggKCBtYXRyaXggKiB2ZWM0KCBkaXIsIDAuMCApICkueHl6ICk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHZvaWQgbWFpbigpIHtcblxuXHRcdFx0XHRcdHZXb3JsZERpcmVjdGlvbiA9IHRyYW5zZm9ybURpcmVjdGlvbiggcG9zaXRpb24sIG1vZGVsTWF0cml4ICk7XG5cblx0XHRcdFx0XHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHRcdFx0XHRcdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblxuXHRcdFx0XHR9XG5cdFx0XHQiLGZyYWdtZW50U2hhZGVyOiJcblxuXHRcdFx0XHR1bmlmb3JtIHNhbXBsZXIyRCB0RXF1aXJlY3Q7XG5cblx0XHRcdFx0dmFyeWluZyB2ZWMzIHZXb3JsZERpcmVjdGlvbjtcblxuXHRcdFx0XHQjaW5jbHVkZSA8Y29tbW9uPlxuXG5cdFx0XHRcdHZvaWQgbWFpbigpIHtcblxuXHRcdFx0XHRcdHZlYzMgZGlyZWN0aW9uID0gbm9ybWFsaXplKCB2V29ybGREaXJlY3Rpb24gKTtcblxuXHRcdFx0XHRcdHZlYzIgc2FtcGxlVVYgPSBlcXVpcmVjdFV2KCBkaXJlY3Rpb24gKTtcblxuXHRcdFx0XHRcdGdsX0ZyYWdDb2xvciA9IHRleHR1cmUyRCggdEVxdWlyZWN0LCBzYW1wbGVVViApO1xuXG5cdFx0XHRcdH1cblx0XHRcdCJ9LGk9bmV3IEo0dCg1LDUsNSkscj1uZXcgbjZ0KHtuYW1lOiJDdWJlbWFwRnJvbUVxdWlyZWN0Iix1bmlmb3JtczpRNHQobi51bmlmb3JtcyksdmVydGV4U2hhZGVyOm4udmVydGV4U2hhZGVyLGZyYWdtZW50U2hhZGVyOm4uZnJhZ21lbnRTaGFkZXIsc2lkZToxLGJsZW5kaW5nOjB9KTtyLnVuaWZvcm1zLnRFcXVpcmVjdC52YWx1ZT1lO2NvbnN0IG89bmV3IEs0dChpLHIpLGE9ZS5taW5GaWx0ZXI7ZS5taW5GaWx0ZXI9PT1tMnQmJihlLm1pbkZpbHRlcj1wMnQpO3JldHVybiBuZXcgYTZ0KDEsMTAsdGhpcykudXBkYXRlKHQsbyksZS5taW5GaWx0ZXI9YSxvLmdlb21ldHJ5LmRpc3Bvc2UoKSxvLm1hdGVyaWFsLmRpc3Bvc2UoKSx0aGlzfWNsZWFyKHQsZSxuLGkpe2NvbnN0IHI9dC5nZXRSZW5kZXJUYXJnZXQoKTtmb3IobGV0IHI9MDtyPDY7cisrKXQuc2V0UmVuZGVyVGFyZ2V0KHRoaXMsciksdC5jbGVhcihlLG4saSk7dC5zZXRSZW5kZXJUYXJnZXQocil9fWw2dC5wcm90b3R5cGUuaXNXZWJHTEN1YmVSZW5kZXJUYXJnZXQ9ITA7Y29uc3QgYzZ0PW5ldyBINXQsdTZ0PW5ldyBINXQsaDZ0PW5ldyBBNXQ7Y2xhc3MgZDZ0e2NvbnN0cnVjdG9yKHQ9bmV3IEg1dCgxLDAsMCksZT0wKXt0aGlzLm5vcm1hbD10LHRoaXMuY29uc3RhbnQ9ZX1zZXQodCxlKXtyZXR1cm4gdGhpcy5ub3JtYWwuY29weSh0KSx0aGlzLmNvbnN0YW50PWUsdGhpc31zZXRDb21wb25lbnRzKHQsZSxuLGkpe3JldHVybiB0aGlzLm5vcm1hbC5zZXQodCxlLG4pLHRoaXMuY29uc3RhbnQ9aSx0aGlzfXNldEZyb21Ob3JtYWxBbmRDb3BsYW5hclBvaW50KHQsZSl7cmV0dXJuIHRoaXMubm9ybWFsLmNvcHkodCksdGhpcy5jb25zdGFudD0tZS5kb3QodGhpcy5ub3JtYWwpLHRoaXN9c2V0RnJvbUNvcGxhbmFyUG9pbnRzKHQsZSxuKXtjb25zdCBpPWM2dC5zdWJWZWN0b3JzKG4sZSkuY3Jvc3ModTZ0LnN1YlZlY3RvcnModCxlKSkubm9ybWFsaXplKCk7cmV0dXJuIHRoaXMuc2V0RnJvbU5vcm1hbEFuZENvcGxhbmFyUG9pbnQoaSx0KSx0aGlzfWNvcHkodCl7cmV0dXJuIHRoaXMubm9ybWFsLmNvcHkodC5ub3JtYWwpLHRoaXMuY29uc3RhbnQ9dC5jb25zdGFudCx0aGlzfW5vcm1hbGl6ZSgpe2NvbnN0IHQ9MS90aGlzLm5vcm1hbC5sZW5ndGgoKTtyZXR1cm4gdGhpcy5ub3JtYWwubXVsdGlwbHlTY2FsYXIodCksdGhpcy5jb25zdGFudCo9dCx0aGlzfW5lZ2F0ZSgpe3JldHVybiB0aGlzLmNvbnN0YW50Kj0tMSx0aGlzLm5vcm1hbC5uZWdhdGUoKSx0aGlzfWRpc3RhbmNlVG9Qb2ludCh0KXtyZXR1cm4gdGhpcy5ub3JtYWwuZG90KHQpK3RoaXMuY29uc3RhbnR9ZGlzdGFuY2VUb1NwaGVyZSh0KXtyZXR1cm4gdGhpcy5kaXN0YW5jZVRvUG9pbnQodC5jZW50ZXIpLXQucmFkaXVzfXByb2plY3RQb2ludCh0LGUpe3JldHVybiBlLmNvcHkodGhpcy5ub3JtYWwpLm11bHRpcGx5U2NhbGFyKC10aGlzLmRpc3RhbmNlVG9Qb2ludCh0KSkuYWRkKHQpfWludGVyc2VjdExpbmUodCxlKXtjb25zdCBuPXQuZGVsdGEoYzZ0KSxpPXRoaXMubm9ybWFsLmRvdChuKTtpZigwPT09aSlyZXR1cm4gMD09PXRoaXMuZGlzdGFuY2VUb1BvaW50KHQuc3RhcnQpP2UuY29weSh0LnN0YXJ0KTpudWxsO2NvbnN0IHI9LSh0LnN0YXJ0LmRvdCh0aGlzLm5vcm1hbCkrdGhpcy5jb25zdGFudCkvaTtyZXR1cm4gcjwwfHxyPjE/bnVsbDplLmNvcHkobikubXVsdGlwbHlTY2FsYXIocikuYWRkKHQuc3RhcnQpfWludGVyc2VjdHNMaW5lKHQpe2NvbnN0IGU9dGhpcy5kaXN0YW5jZVRvUG9pbnQodC5zdGFydCksbj10aGlzLmRpc3RhbmNlVG9Qb2ludCh0LmVuZCk7cmV0dXJuIGU8MCYmbj4wfHxuPDAmJmU+MH1pbnRlcnNlY3RzQm94KHQpe3JldHVybiB0LmludGVyc2VjdHNQbGFuZSh0aGlzKX1pbnRlcnNlY3RzU3BoZXJlKHQpe3JldHVybiB0LmludGVyc2VjdHNQbGFuZSh0aGlzKX1jb3BsYW5hclBvaW50KHQpe3JldHVybiB0LmNvcHkodGhpcy5ub3JtYWwpLm11bHRpcGx5U2NhbGFyKC10aGlzLmNvbnN0YW50KX1hcHBseU1hdHJpeDQodCxlKXtjb25zdCBuPWV8fGg2dC5nZXROb3JtYWxNYXRyaXgodCksaT10aGlzLmNvcGxhbmFyUG9pbnQoYzZ0KS5hcHBseU1hdHJpeDQodCkscj10aGlzLm5vcm1hbC5hcHBseU1hdHJpeDMobikubm9ybWFsaXplKCk7cmV0dXJuIHRoaXMuY29uc3RhbnQ9LWkuZG90KHIpLHRoaXN9dHJhbnNsYXRlKHQpe3JldHVybiB0aGlzLmNvbnN0YW50LT10LmRvdCh0aGlzLm5vcm1hbCksdGhpc31lcXVhbHModCl7cmV0dXJuIHQubm9ybWFsLmVxdWFscyh0aGlzLm5vcm1hbCkmJnQuY29uc3RhbnQ9PT10aGlzLmNvbnN0YW50fWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX1kNnQucHJvdG90eXBlLmlzUGxhbmU9ITA7Y29uc3QgcDZ0PW5ldyBzM3QsZjZ0PW5ldyBINXQ7Y2xhc3MgbTZ0e2NvbnN0cnVjdG9yKHQ9bmV3IGQ2dCxlPW5ldyBkNnQsbj1uZXcgZDZ0LGk9bmV3IGQ2dCxyPW5ldyBkNnQsbz1uZXcgZDZ0KXt0aGlzLnBsYW5lcz1bdCxlLG4saSxyLG9dfXNldCh0LGUsbixpLHIsbyl7Y29uc3QgYT10aGlzLnBsYW5lcztyZXR1cm4gYVswXS5jb3B5KHQpLGFbMV0uY29weShlKSxhWzJdLmNvcHkobiksYVszXS5jb3B5KGkpLGFbNF0uY29weShyKSxhWzVdLmNvcHkobyksdGhpc31jb3B5KHQpe2NvbnN0IGU9dGhpcy5wbGFuZXM7Zm9yKGxldCBuPTA7bjw2O24rKyllW25dLmNvcHkodC5wbGFuZXNbbl0pO3JldHVybiB0aGlzfXNldEZyb21Qcm9qZWN0aW9uTWF0cml4KHQpe2NvbnN0IGU9dGhpcy5wbGFuZXMsbj10LmVsZW1lbnRzLGk9blswXSxyPW5bMV0sbz1uWzJdLGE9blszXSxzPW5bNF0sbD1uWzVdLGM9bls2XSx1PW5bN10saD1uWzhdLGQ9bls5XSxwPW5bMTBdLGY9blsxMV0sbT1uWzEyXSxnPW5bMTNdLF89blsxNF0seT1uWzE1XTtyZXR1cm4gZVswXS5zZXRDb21wb25lbnRzKGEtaSx1LXMsZi1oLHktbSkubm9ybWFsaXplKCksZVsxXS5zZXRDb21wb25lbnRzKGEraSx1K3MsZitoLHkrbSkubm9ybWFsaXplKCksZVsyXS5zZXRDb21wb25lbnRzKGErcix1K2wsZitkLHkrZykubm9ybWFsaXplKCksZVszXS5zZXRDb21wb25lbnRzKGEtcix1LWwsZi1kLHktZykubm9ybWFsaXplKCksZVs0XS5zZXRDb21wb25lbnRzKGEtbyx1LWMsZi1wLHktXykubm9ybWFsaXplKCksZVs1XS5zZXRDb21wb25lbnRzKGErbyx1K2MsZitwLHkrXykubm9ybWFsaXplKCksdGhpc31pbnRlcnNlY3RzT2JqZWN0KHQpe2NvbnN0IGU9dC5nZW9tZXRyeTtyZXR1cm4gbnVsbD09PWUuYm91bmRpbmdTcGhlcmUmJmUuY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCkscDZ0LmNvcHkoZS5ib3VuZGluZ1NwaGVyZSkuYXBwbHlNYXRyaXg0KHQubWF0cml4V29ybGQpLHRoaXMuaW50ZXJzZWN0c1NwaGVyZShwNnQpfWludGVyc2VjdHNTcHJpdGUodCl7cmV0dXJuIHA2dC5jZW50ZXIuc2V0KDAsMCwwKSxwNnQucmFkaXVzPS43MDcxMDY3ODExODY1NDc2LHA2dC5hcHBseU1hdHJpeDQodC5tYXRyaXhXb3JsZCksdGhpcy5pbnRlcnNlY3RzU3BoZXJlKHA2dCl9aW50ZXJzZWN0c1NwaGVyZSh0KXtjb25zdCBlPXRoaXMucGxhbmVzLG49dC5jZW50ZXIsaT0tdC5yYWRpdXM7Zm9yKGxldCB0PTA7dDw2O3QrKyl7aWYoZVt0XS5kaXN0YW5jZVRvUG9pbnQobik8aSlyZXR1cm4hMX1yZXR1cm4hMH1pbnRlcnNlY3RzQm94KHQpe2NvbnN0IGU9dGhpcy5wbGFuZXM7Zm9yKGxldCBuPTA7bjw2O24rKyl7Y29uc3QgaT1lW25dO2lmKGY2dC54PWkubm9ybWFsLng+MD90Lm1heC54OnQubWluLngsZjZ0Lnk9aS5ub3JtYWwueT4wP3QubWF4Lnk6dC5taW4ueSxmNnQuej1pLm5vcm1hbC56PjA/dC5tYXguejp0Lm1pbi56LGkuZGlzdGFuY2VUb1BvaW50KGY2dCk8MClyZXR1cm4hMX1yZXR1cm4hMH1jb250YWluc1BvaW50KHQpe2NvbnN0IGU9dGhpcy5wbGFuZXM7Zm9yKGxldCBuPTA7bjw2O24rKylpZihlW25dLmRpc3RhbmNlVG9Qb2ludCh0KTwwKXJldHVybiExO3JldHVybiEwfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX1mdW5jdGlvbiBnNnQoKXtsZXQgdD1udWxsLGU9ITEsbj1udWxsLGk9bnVsbDtmdW5jdGlvbiByKGUsbyl7bihlLG8pLGk9dC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUocil9cmV0dXJue3N0YXJ0OmZ1bmN0aW9uKCl7ITAhPT1lJiZudWxsIT09biYmKGk9dC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUociksZT0hMCl9LHN0b3A6ZnVuY3Rpb24oKXt0LmNhbmNlbEFuaW1hdGlvbkZyYW1lKGkpLGU9ITF9LHNldEFuaW1hdGlvbkxvb3A6ZnVuY3Rpb24odCl7bj10fSxzZXRDb250ZXh0OmZ1bmN0aW9uKGUpe3Q9ZX19fWZ1bmN0aW9uIF82dCh0LGUpe2NvbnN0IG49ZS5pc1dlYkdMMixpPW5ldyBXZWFrTWFwO3JldHVybntnZXQ6ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlJiYodD10LmRhdGEpLGkuZ2V0KHQpfSxyZW1vdmU6ZnVuY3Rpb24gbyhlKXtlLmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUmJihlPWUuZGF0YSk7Y29uc3Qgbj1pLmdldChlKTtuJiYodC5kZWxldGVCdWZmZXIobi5idWZmZXIpLGkuZGVsZXRlKGUpKX0sdXBkYXRlOmZ1bmN0aW9uIGEoZSxyKXtpZihlLmlzR0xCdWZmZXJBdHRyaWJ1dGUpe2NvbnN0IHQ9aS5nZXQoZSk7cmV0dXJuIHZvaWQoKCF0fHx0LnZlcnNpb248ZS52ZXJzaW9uKSYmaS5zZXQoZSx7YnVmZmVyOmUuYnVmZmVyLHR5cGU6ZS50eXBlLGJ5dGVzUGVyRWxlbWVudDplLmVsZW1lbnRTaXplLHZlcnNpb246ZS52ZXJzaW9ufSkpfWUuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZSYmKGU9ZS5kYXRhKTtjb25zdCBvPWkuZ2V0KGUpO3ZvaWQgMD09PW8/aS5zZXQoZSwoZnVuY3Rpb24gYShlLGkpe2NvbnN0IHI9ZS5hcnJheSxvPWUudXNhZ2UsYT10LmNyZWF0ZUJ1ZmZlcigpO3QuYmluZEJ1ZmZlcihpLGEpLHQuYnVmZmVyRGF0YShpLHIsbyksZS5vblVwbG9hZENhbGxiYWNrKCk7bGV0IHM9NTEyNjtyZXR1cm4gciBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheT9zPTUxMjY6ciBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheT9jb25zb2xlLndhcm4oIlRIUkVFLldlYkdMQXR0cmlidXRlczogVW5zdXBwb3J0ZWQgZGF0YSBidWZmZXIgZm9ybWF0OiBGbG9hdDY0QXJyYXkuIik6ciBpbnN0YW5jZW9mIFVpbnQxNkFycmF5P2UuaXNGbG9hdDE2QnVmZmVyQXR0cmlidXRlP24/cz01MTMxOmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xBdHRyaWJ1dGVzOiBVc2FnZSBvZiBGbG9hdDE2QnVmZmVyQXR0cmlidXRlIHJlcXVpcmVzIFdlYkdMMi4iKTpzPTUxMjM6ciBpbnN0YW5jZW9mIEludDE2QXJyYXk/cz01MTIyOnIgaW5zdGFuY2VvZiBVaW50MzJBcnJheT9zPTUxMjU6ciBpbnN0YW5jZW9mIEludDMyQXJyYXk/cz01MTI0OnIgaW5zdGFuY2VvZiBJbnQ4QXJyYXk/cz01MTIwOihyIGluc3RhbmNlb2YgVWludDhBcnJheXx8ciBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5KSYmKHM9NTEyMSkse2J1ZmZlcjphLHR5cGU6cyxieXRlc1BlckVsZW1lbnQ6ci5CWVRFU19QRVJfRUxFTUVOVCx2ZXJzaW9uOmUudmVyc2lvbn19KShlLHIpKTpvLnZlcnNpb248ZS52ZXJzaW9uJiYoIShmdW5jdGlvbiBzKGUsaSxyKXtjb25zdCBvPWkuYXJyYXksYT1pLnVwZGF0ZVJhbmdlO3QuYmluZEJ1ZmZlcihyLGUpLC0xPT09YS5jb3VudD90LmJ1ZmZlclN1YkRhdGEociwwLG8pOihuP3QuYnVmZmVyU3ViRGF0YShyLGEub2Zmc2V0Km8uQllURVNfUEVSX0VMRU1FTlQsbyxhLm9mZnNldCxhLmNvdW50KTp0LmJ1ZmZlclN1YkRhdGEocixhLm9mZnNldCpvLkJZVEVTX1BFUl9FTEVNRU5ULG8uc3ViYXJyYXkoYS5vZmZzZXQsYS5vZmZzZXQrYS5jb3VudCkpLGEuY291bnQ9LTEpfSkoby5idWZmZXIsZSxyKSxvLnZlcnNpb249ZS52ZXJzaW9uKX19fWNsYXNzIHk2dCBleHRlbmRzIE40dHtjb25zdHJ1Y3Rvcih0PTEsZT0xLG49MSxpPTEpe3N1cGVyKCksdGhpcy50eXBlPSJQbGFuZUdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3dpZHRoOnQsaGVpZ2h0OmUsd2lkdGhTZWdtZW50czpuLGhlaWdodFNlZ21lbnRzOml9O2NvbnN0IHI9dC8yLG89ZS8yLGE9TWF0aC5mbG9vcihuKSxzPU1hdGguZmxvb3IoaSksbD1hKzEsYz1zKzEsdT10L2EsaD1lL3MsZD1bXSxwPVtdLGY9W10sbT1bXTtmb3IobGV0IHQ9MDt0PGM7dCsrKXtjb25zdCBlPXQqaC1vO2ZvcihsZXQgbj0wO248bDtuKyspe3AucHVzaChuKnUtciwtZSwwKSxmLnB1c2goMCwwLDEpLG0ucHVzaChuL2EpLG0ucHVzaCgxLXQvcyl9fWZvcihsZXQgdD0wO3Q8czt0KyspZm9yKGxldCBlPTA7ZTxhO2UrKyl7Y29uc3Qgbj1lK2wqKHQrMSksaT1lKzErbCoodCsxKSxyPWUrMStsKnQ7ZC5wdXNoKGUrbCp0LG4sciksZC5wdXNoKG4saSxyKX10aGlzLnNldEluZGV4KGQpLHRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChwLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYjR0KGYsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGI0dChtLDIpKX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyB5NnQodC53aWR0aCx0LmhlaWdodCx0LndpZHRoU2VnbWVudHMsdC5oZWlnaHRTZWdtZW50cyl9fWNvbnN0IHY2dD17YWxwaGFtYXBfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfQUxQSEFNQVBcblx0ZGlmZnVzZUNvbG9yLmEgKj0gdGV4dHVyZTJEKCBhbHBoYU1hcCwgdlV2ICkuZztcbiNlbmRpZiIsYWxwaGFtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9BTFBIQU1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBhbHBoYU1hcDtcbiNlbmRpZiIsYWxwaGF0ZXN0X2ZyYWdtZW50OiIjaWZkZWYgQUxQSEFURVNUXG5cdGlmICggZGlmZnVzZUNvbG9yLmEgPCBBTFBIQVRFU1QgKSBkaXNjYXJkO1xuI2VuZGlmIixhb21hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9BT01BUFxuXHRmbG9hdCBhbWJpZW50T2NjbHVzaW9uID0gKCB0ZXh0dXJlMkQoIGFvTWFwLCB2VXYyICkuciAtIDEuMCApICogYW9NYXBJbnRlbnNpdHkgKyAxLjA7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSAqPSBhbWJpZW50T2NjbHVzaW9uO1xuXHQjaWYgZGVmaW5lZCggVVNFX0VOVk1BUCApICYmIGRlZmluZWQoIFNUQU5EQVJEIClcblx0XHRmbG9hdCBkb3ROViA9IHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZ2VvbWV0cnkudmlld0RpciApICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3RTcGVjdWxhciAqPSBjb21wdXRlU3BlY3VsYXJPY2NsdXNpb24oIGRvdE5WLCBhbWJpZW50T2NjbHVzaW9uLCBtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyApO1xuXHQjZW5kaWZcbiNlbmRpZiIsYW9tYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9BT01BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBhb01hcDtcblx0dW5pZm9ybSBmbG9hdCBhb01hcEludGVuc2l0eTtcbiNlbmRpZiIsYmVnaW5fdmVydGV4OiJ2ZWMzIHRyYW5zZm9ybWVkID0gdmVjMyggcG9zaXRpb24gKTsiLGJlZ2lubm9ybWFsX3ZlcnRleDoidmVjMyBvYmplY3ROb3JtYWwgPSB2ZWMzKCBub3JtYWwgKTtcbiNpZmRlZiBVU0VfVEFOR0VOVFxuXHR2ZWMzIG9iamVjdFRhbmdlbnQgPSB2ZWMzKCB0YW5nZW50Lnh5eiApO1xuI2VuZGlmIixic2RmczoidmVjMiBpbnRlZ3JhdGVTcGVjdWxhckJSREYoIGNvbnN0IGluIGZsb2F0IGRvdE5WLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGNvbnN0IHZlYzQgYzAgPSB2ZWM0KCAtIDEsIC0gMC4wMjc1LCAtIDAuNTcyLCAwLjAyMiApO1xuXHRjb25zdCB2ZWM0IGMxID0gdmVjNCggMSwgMC4wNDI1LCAxLjA0LCAtIDAuMDQgKTtcblx0dmVjNCByID0gcm91Z2huZXNzICogYzAgKyBjMTtcblx0ZmxvYXQgYTAwNCA9IG1pbiggci54ICogci54LCBleHAyKCAtIDkuMjggKiBkb3ROViApICkgKiByLnggKyByLnk7XG5cdHJldHVybiB2ZWMyKCAtMS4wNCwgMS4wNCApICogYTAwNCArIHIuenc7XG59XG5mbG9hdCBwdW5jdHVhbExpZ2h0SW50ZW5zaXR5VG9JcnJhZGlhbmNlRmFjdG9yKCBjb25zdCBpbiBmbG9hdCBsaWdodERpc3RhbmNlLCBjb25zdCBpbiBmbG9hdCBjdXRvZmZEaXN0YW5jZSwgY29uc3QgaW4gZmxvYXQgZGVjYXlFeHBvbmVudCApIHtcbiNpZiBkZWZpbmVkICggUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUUyApXG5cdGZsb2F0IGRpc3RhbmNlRmFsbG9mZiA9IDEuMCAvIG1heCggcG93KCBsaWdodERpc3RhbmNlLCBkZWNheUV4cG9uZW50ICksIDAuMDEgKTtcblx0aWYoIGN1dG9mZkRpc3RhbmNlID4gMC4wICkge1xuXHRcdGRpc3RhbmNlRmFsbG9mZiAqPSBwb3cyKCBzYXR1cmF0ZSggMS4wIC0gcG93NCggbGlnaHREaXN0YW5jZSAvIGN1dG9mZkRpc3RhbmNlICkgKSApO1xuXHR9XG5cdHJldHVybiBkaXN0YW5jZUZhbGxvZmY7XG4jZWxzZVxuXHRpZiggY3V0b2ZmRGlzdGFuY2UgPiAwLjAgJiYgZGVjYXlFeHBvbmVudCA+IDAuMCApIHtcblx0XHRyZXR1cm4gcG93KCBzYXR1cmF0ZSggLWxpZ2h0RGlzdGFuY2UgLyBjdXRvZmZEaXN0YW5jZSArIDEuMCApLCBkZWNheUV4cG9uZW50ICk7XG5cdH1cblx0cmV0dXJuIDEuMDtcbiNlbmRpZlxufVxudmVjMyBCUkRGX0RpZmZ1c2VfTGFtYmVydCggY29uc3QgaW4gdmVjMyBkaWZmdXNlQ29sb3IgKSB7XG5cdHJldHVybiBSRUNJUFJPQ0FMX1BJICogZGlmZnVzZUNvbG9yO1xufVxudmVjMyBGX1NjaGxpY2soIGNvbnN0IGluIHZlYzMgZjAsIGNvbnN0IGluIHZlYzMgZjkwLCBjb25zdCBpbiBmbG9hdCBkb3RWSCApIHtcblx0ZmxvYXQgZnJlc25lbCA9IGV4cDIoICggLTUuNTU0NzMgKiBkb3RWSCAtIDYuOTgzMTYgKSAqIGRvdFZIICk7XG5cdHJldHVybiAoIGY5MCAtIGYwICkgKiBmcmVzbmVsICsgZjA7XG59XG52ZWMzIEZfU2NobGlja19Sb3VnaG5lc3NEZXBlbmRlbnQoIGNvbnN0IGluIHZlYzMgRjAsIGNvbnN0IGluIGZsb2F0IGRvdE5WLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGZsb2F0IGZyZXNuZWwgPSBleHAyKCAoIC01LjU1NDczICogZG90TlYgLSA2Ljk4MzE2ICkgKiBkb3ROViApO1xuXHR2ZWMzIEZyID0gbWF4KCB2ZWMzKCAxLjAgLSByb3VnaG5lc3MgKSwgRjAgKSAtIEYwO1xuXHRyZXR1cm4gRnIgKiBmcmVzbmVsICsgRjA7XG59XG5mbG9hdCBHX0dHWF9TbWl0aCggY29uc3QgaW4gZmxvYXQgYWxwaGEsIGNvbnN0IGluIGZsb2F0IGRvdE5MLCBjb25zdCBpbiBmbG9hdCBkb3ROViApIHtcblx0ZmxvYXQgYTIgPSBwb3cyKCBhbHBoYSApO1xuXHRmbG9hdCBnbCA9IGRvdE5MICsgc3FydCggYTIgKyAoIDEuMCAtIGEyICkgKiBwb3cyKCBkb3ROTCApICk7XG5cdGZsb2F0IGd2ID0gZG90TlYgKyBzcXJ0KCBhMiArICggMS4wIC0gYTIgKSAqIHBvdzIoIGRvdE5WICkgKTtcblx0cmV0dXJuIDEuMCAvICggZ2wgKiBndiApO1xufVxuZmxvYXQgR19HR1hfU21pdGhDb3JyZWxhdGVkKCBjb25zdCBpbiBmbG9hdCBhbHBoYSwgY29uc3QgaW4gZmxvYXQgZG90TkwsIGNvbnN0IGluIGZsb2F0IGRvdE5WICkge1xuXHRmbG9hdCBhMiA9IHBvdzIoIGFscGhhICk7XG5cdGZsb2F0IGd2ID0gZG90TkwgKiBzcXJ0KCBhMiArICggMS4wIC0gYTIgKSAqIHBvdzIoIGRvdE5WICkgKTtcblx0ZmxvYXQgZ2wgPSBkb3ROViAqIHNxcnQoIGEyICsgKCAxLjAgLSBhMiApICogcG93MiggZG90TkwgKSApO1xuXHRyZXR1cm4gMC41IC8gbWF4KCBndiArIGdsLCBFUFNJTE9OICk7XG59XG5mbG9hdCBEX0dHWCggY29uc3QgaW4gZmxvYXQgYWxwaGEsIGNvbnN0IGluIGZsb2F0IGRvdE5IICkge1xuXHRmbG9hdCBhMiA9IHBvdzIoIGFscGhhICk7XG5cdGZsb2F0IGRlbm9tID0gcG93MiggZG90TkggKSAqICggYTIgLSAxLjAgKSArIDEuMDtcblx0cmV0dXJuIFJFQ0lQUk9DQUxfUEkgKiBhMiAvIHBvdzIoIGRlbm9tICk7XG59XG52ZWMzIEJSREZfU3BlY3VsYXJfR0dYKCBjb25zdCBpbiBJbmNpZGVudExpZ2h0IGluY2lkZW50TGlnaHQsIGNvbnN0IGluIHZlYzMgdmlld0RpciwgY29uc3QgaW4gdmVjMyBub3JtYWwsIGNvbnN0IGluIHZlYzMgZjAsIGNvbnN0IGluIHZlYzMgZjkwLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGZsb2F0IGFscGhhID0gcG93Miggcm91Z2huZXNzICk7XG5cdHZlYzMgaGFsZkRpciA9IG5vcm1hbGl6ZSggaW5jaWRlbnRMaWdodC5kaXJlY3Rpb24gKyB2aWV3RGlyICk7XG5cdGZsb2F0IGRvdE5MID0gc2F0dXJhdGUoIGRvdCggbm9ybWFsLCBpbmNpZGVudExpZ2h0LmRpcmVjdGlvbiApICk7XG5cdGZsb2F0IGRvdE5WID0gc2F0dXJhdGUoIGRvdCggbm9ybWFsLCB2aWV3RGlyICkgKTtcblx0ZmxvYXQgZG90TkggPSBzYXR1cmF0ZSggZG90KCBub3JtYWwsIGhhbGZEaXIgKSApO1xuXHRmbG9hdCBkb3RMSCA9IHNhdHVyYXRlKCBkb3QoIGluY2lkZW50TGlnaHQuZGlyZWN0aW9uLCBoYWxmRGlyICkgKTtcblx0dmVjMyBGID0gRl9TY2hsaWNrKCBmMCwgZjkwLCBkb3RMSCApO1xuXHRmbG9hdCBHID0gR19HR1hfU21pdGhDb3JyZWxhdGVkKCBhbHBoYSwgZG90TkwsIGRvdE5WICk7XG5cdGZsb2F0IEQgPSBEX0dHWCggYWxwaGEsIGRvdE5IICk7XG5cdHJldHVybiBGICogKCBHICogRCApO1xufVxudmVjMiBMVENfVXYoIGNvbnN0IGluIHZlYzMgTiwgY29uc3QgaW4gdmVjMyBWLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdGNvbnN0IGZsb2F0IExVVF9TSVpFID0gNjQuMDtcblx0Y29uc3QgZmxvYXQgTFVUX1NDQUxFID0gKCBMVVRfU0laRSAtIDEuMCApIC8gTFVUX1NJWkU7XG5cdGNvbnN0IGZsb2F0IExVVF9CSUFTID0gMC41IC8gTFVUX1NJWkU7XG5cdGZsb2F0IGRvdE5WID0gc2F0dXJhdGUoIGRvdCggTiwgViApICk7XG5cdHZlYzIgdXYgPSB2ZWMyKCByb3VnaG5lc3MsIHNxcnQoIDEuMCAtIGRvdE5WICkgKTtcblx0dXYgPSB1diAqIExVVF9TQ0FMRSArIExVVF9CSUFTO1xuXHRyZXR1cm4gdXY7XG59XG5mbG9hdCBMVENfQ2xpcHBlZFNwaGVyZUZvcm1GYWN0b3IoIGNvbnN0IGluIHZlYzMgZiApIHtcblx0ZmxvYXQgbCA9IGxlbmd0aCggZiApO1xuXHRyZXR1cm4gbWF4KCAoIGwgKiBsICsgZi56ICkgLyAoIGwgKyAxLjAgKSwgMC4wICk7XG59XG52ZWMzIExUQ19FZGdlVmVjdG9yRm9ybUZhY3RvciggY29uc3QgaW4gdmVjMyB2MSwgY29uc3QgaW4gdmVjMyB2MiApIHtcblx0ZmxvYXQgeCA9IGRvdCggdjEsIHYyICk7XG5cdGZsb2F0IHkgPSBhYnMoIHggKTtcblx0ZmxvYXQgYSA9IDAuODU0Mzk4NSArICggMC40OTY1MTU1ICsgMC4wMTQ1MjA2ICogeSApICogeTtcblx0ZmxvYXQgYiA9IDMuNDE3NTk0MCArICggNC4xNjE2NzI0ICsgeSApICogeTtcblx0ZmxvYXQgdiA9IGEgLyBiO1xuXHRmbG9hdCB0aGV0YV9zaW50aGV0YSA9ICggeCA+IDAuMCApID8gdiA6IDAuNSAqIGludmVyc2VzcXJ0KCBtYXgoIDEuMCAtIHggKiB4LCAxZS03ICkgKSAtIHY7XG5cdHJldHVybiBjcm9zcyggdjEsIHYyICkgKiB0aGV0YV9zaW50aGV0YTtcbn1cbnZlYzMgTFRDX0V2YWx1YXRlKCBjb25zdCBpbiB2ZWMzIE4sIGNvbnN0IGluIHZlYzMgViwgY29uc3QgaW4gdmVjMyBQLCBjb25zdCBpbiBtYXQzIG1JbnYsIGNvbnN0IGluIHZlYzMgcmVjdENvb3Jkc1sgNCBdICkge1xuXHR2ZWMzIHYxID0gcmVjdENvb3Jkc1sgMSBdIC0gcmVjdENvb3Jkc1sgMCBdO1xuXHR2ZWMzIHYyID0gcmVjdENvb3Jkc1sgMyBdIC0gcmVjdENvb3Jkc1sgMCBdO1xuXHR2ZWMzIGxpZ2h0Tm9ybWFsID0gY3Jvc3MoIHYxLCB2MiApO1xuXHRpZiggZG90KCBsaWdodE5vcm1hbCwgUCAtIHJlY3RDb29yZHNbIDAgXSApIDwgMC4wICkgcmV0dXJuIHZlYzMoIDAuMCApO1xuXHR2ZWMzIFQxLCBUMjtcblx0VDEgPSBub3JtYWxpemUoIFYgLSBOICogZG90KCBWLCBOICkgKTtcblx0VDIgPSAtIGNyb3NzKCBOLCBUMSApO1xuXHRtYXQzIG1hdCA9IG1JbnYgKiB0cmFuc3Bvc2VNYXQzKCBtYXQzKCBUMSwgVDIsIE4gKSApO1xuXHR2ZWMzIGNvb3Jkc1sgNCBdO1xuXHRjb29yZHNbIDAgXSA9IG1hdCAqICggcmVjdENvb3Jkc1sgMCBdIC0gUCApO1xuXHRjb29yZHNbIDEgXSA9IG1hdCAqICggcmVjdENvb3Jkc1sgMSBdIC0gUCApO1xuXHRjb29yZHNbIDIgXSA9IG1hdCAqICggcmVjdENvb3Jkc1sgMiBdIC0gUCApO1xuXHRjb29yZHNbIDMgXSA9IG1hdCAqICggcmVjdENvb3Jkc1sgMyBdIC0gUCApO1xuXHRjb29yZHNbIDAgXSA9IG5vcm1hbGl6ZSggY29vcmRzWyAwIF0gKTtcblx0Y29vcmRzWyAxIF0gPSBub3JtYWxpemUoIGNvb3Jkc1sgMSBdICk7XG5cdGNvb3Jkc1sgMiBdID0gbm9ybWFsaXplKCBjb29yZHNbIDIgXSApO1xuXHRjb29yZHNbIDMgXSA9IG5vcm1hbGl6ZSggY29vcmRzWyAzIF0gKTtcblx0dmVjMyB2ZWN0b3JGb3JtRmFjdG9yID0gdmVjMyggMC4wICk7XG5cdHZlY3RvckZvcm1GYWN0b3IgKz0gTFRDX0VkZ2VWZWN0b3JGb3JtRmFjdG9yKCBjb29yZHNbIDAgXSwgY29vcmRzWyAxIF0gKTtcblx0dmVjdG9yRm9ybUZhY3RvciArPSBMVENfRWRnZVZlY3RvckZvcm1GYWN0b3IoIGNvb3Jkc1sgMSBdLCBjb29yZHNbIDIgXSApO1xuXHR2ZWN0b3JGb3JtRmFjdG9yICs9IExUQ19FZGdlVmVjdG9yRm9ybUZhY3RvciggY29vcmRzWyAyIF0sIGNvb3Jkc1sgMyBdICk7XG5cdHZlY3RvckZvcm1GYWN0b3IgKz0gTFRDX0VkZ2VWZWN0b3JGb3JtRmFjdG9yKCBjb29yZHNbIDMgXSwgY29vcmRzWyAwIF0gKTtcblx0ZmxvYXQgcmVzdWx0ID0gTFRDX0NsaXBwZWRTcGhlcmVGb3JtRmFjdG9yKCB2ZWN0b3JGb3JtRmFjdG9yICk7XG5cdHJldHVybiB2ZWMzKCByZXN1bHQgKTtcbn1cbnZlYzMgQlJERl9TcGVjdWxhcl9HR1hfRW52aXJvbm1lbnQoIGNvbnN0IGluIHZlYzMgdmlld0RpciwgY29uc3QgaW4gdmVjMyBub3JtYWwsIGNvbnN0IGluIHZlYzMgc3BlY3VsYXJDb2xvciwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzICkge1xuXHRmbG9hdCBkb3ROViA9IHNhdHVyYXRlKCBkb3QoIG5vcm1hbCwgdmlld0RpciApICk7XG5cdHZlYzIgYnJkZiA9IGludGVncmF0ZVNwZWN1bGFyQlJERiggZG90TlYsIHJvdWdobmVzcyApO1xuXHRyZXR1cm4gc3BlY3VsYXJDb2xvciAqIGJyZGYueCArIGJyZGYueTtcbn1cbnZvaWQgQlJERl9TcGVjdWxhcl9NdWx0aXNjYXR0ZXJpbmdfRW52aXJvbm1lbnQoIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIHZlYzMgc3BlY3VsYXJDb2xvciwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzLCBpbm91dCB2ZWMzIHNpbmdsZVNjYXR0ZXIsIGlub3V0IHZlYzMgbXVsdGlTY2F0dGVyICkge1xuXHRmbG9hdCBkb3ROViA9IHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZ2VvbWV0cnkudmlld0RpciApICk7XG5cdHZlYzMgRiA9IEZfU2NobGlja19Sb3VnaG5lc3NEZXBlbmRlbnQoIHNwZWN1bGFyQ29sb3IsIGRvdE5WLCByb3VnaG5lc3MgKTtcblx0dmVjMiBicmRmID0gaW50ZWdyYXRlU3BlY3VsYXJCUkRGKCBkb3ROViwgcm91Z2huZXNzICk7XG5cdHZlYzMgRnNzRXNzID0gRiAqIGJyZGYueCArIGJyZGYueTtcblx0ZmxvYXQgRXNzID0gYnJkZi54ICsgYnJkZi55O1xuXHRmbG9hdCBFbXMgPSAxLjAgLSBFc3M7XG5cdHZlYzMgRmF2ZyA9IHNwZWN1bGFyQ29sb3IgKyAoIDEuMCAtIHNwZWN1bGFyQ29sb3IgKSAqIDAuMDQ3NjE5O1x0dmVjMyBGbXMgPSBGc3NFc3MgKiBGYXZnIC8gKCAxLjAgLSBFbXMgKiBGYXZnICk7XG5cdHNpbmdsZVNjYXR0ZXIgKz0gRnNzRXNzO1xuXHRtdWx0aVNjYXR0ZXIgKz0gRm1zICogRW1zO1xufVxuZmxvYXQgR19CbGlublBob25nX0ltcGxpY2l0KCApIHtcblx0cmV0dXJuIDAuMjU7XG59XG5mbG9hdCBEX0JsaW5uUGhvbmcoIGNvbnN0IGluIGZsb2F0IHNoaW5pbmVzcywgY29uc3QgaW4gZmxvYXQgZG90TkggKSB7XG5cdHJldHVybiBSRUNJUFJPQ0FMX1BJICogKCBzaGluaW5lc3MgKiAwLjUgKyAxLjAgKSAqIHBvdyggZG90TkgsIHNoaW5pbmVzcyApO1xufVxudmVjMyBCUkRGX1NwZWN1bGFyX0JsaW5uUGhvbmcoIGNvbnN0IGluIEluY2lkZW50TGlnaHQgaW5jaWRlbnRMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gdmVjMyBzcGVjdWxhckNvbG9yLCBjb25zdCBpbiBmbG9hdCBzaGluaW5lc3MgKSB7XG5cdHZlYzMgaGFsZkRpciA9IG5vcm1hbGl6ZSggaW5jaWRlbnRMaWdodC5kaXJlY3Rpb24gKyBnZW9tZXRyeS52aWV3RGlyICk7XG5cdGZsb2F0IGRvdE5IID0gc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkubm9ybWFsLCBoYWxmRGlyICkgKTtcblx0ZmxvYXQgZG90TEggPSBzYXR1cmF0ZSggZG90KCBpbmNpZGVudExpZ2h0LmRpcmVjdGlvbiwgaGFsZkRpciApICk7XG5cdHZlYzMgRiA9IEZfU2NobGljayggc3BlY3VsYXJDb2xvciwgdmVjMyggMS4wICksIGRvdExIICk7XG5cdGZsb2F0IEcgPSBHX0JsaW5uUGhvbmdfSW1wbGljaXQoICk7XG5cdGZsb2F0IEQgPSBEX0JsaW5uUGhvbmcoIHNoaW5pbmVzcywgZG90TkggKTtcblx0cmV0dXJuIEYgKiAoIEcgKiBEICk7XG59XG5mbG9hdCBHR1hSb3VnaG5lc3NUb0JsaW5uRXhwb25lbnQoIGNvbnN0IGluIGZsb2F0IGdneFJvdWdobmVzcyApIHtcblx0cmV0dXJuICggMi4wIC8gcG93MiggZ2d4Um91Z2huZXNzICsgMC4wMDAxICkgLSAyLjAgKTtcbn1cbmZsb2F0IEJsaW5uRXhwb25lbnRUb0dHWFJvdWdobmVzcyggY29uc3QgaW4gZmxvYXQgYmxpbm5FeHBvbmVudCApIHtcblx0cmV0dXJuIHNxcnQoIDIuMCAvICggYmxpbm5FeHBvbmVudCArIDIuMCApICk7XG59XG4jaWYgZGVmaW5lZCggVVNFX1NIRUVOIClcbmZsb2F0IERfQ2hhcmxpZShmbG9hdCByb3VnaG5lc3MsIGZsb2F0IE5vSCkge1xuXHRmbG9hdCBpbnZBbHBoYSA9IDEuMCAvIHJvdWdobmVzcztcblx0ZmxvYXQgY29zMmggPSBOb0ggKiBOb0g7XG5cdGZsb2F0IHNpbjJoID0gbWF4KDEuMCAtIGNvczJoLCAwLjAwNzgxMjUpO1x0cmV0dXJuICgyLjAgKyBpbnZBbHBoYSkgKiBwb3coc2luMmgsIGludkFscGhhICogMC41KSAvICgyLjAgKiBQSSk7XG59XG5mbG9hdCBWX05ldWJlbHQoZmxvYXQgTm9WLCBmbG9hdCBOb0wpIHtcblx0cmV0dXJuIHNhdHVyYXRlKDEuMCAvICg0LjAgKiAoTm9MICsgTm9WIC0gTm9MICogTm9WKSkpO1xufVxudmVjMyBCUkRGX1NwZWN1bGFyX1NoZWVuKCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MsIGNvbnN0IGluIHZlYzMgTCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgdmVjMyBzcGVjdWxhckNvbG9yICkge1xuXHR2ZWMzIE4gPSBnZW9tZXRyeS5ub3JtYWw7XG5cdHZlYzMgViA9IGdlb21ldHJ5LnZpZXdEaXI7XG5cdHZlYzMgSCA9IG5vcm1hbGl6ZSggViArIEwgKTtcblx0ZmxvYXQgZG90TkggPSBzYXR1cmF0ZSggZG90KCBOLCBIICkgKTtcblx0cmV0dXJuIHNwZWN1bGFyQ29sb3IgKiBEX0NoYXJsaWUoIHJvdWdobmVzcywgZG90TkggKSAqIFZfTmV1YmVsdCggZG90KE4sIFYpLCBkb3QoTiwgTCkgKTtcbn1cbiNlbmRpZiIsYnVtcG1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0JVTVBNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgYnVtcE1hcDtcblx0dW5pZm9ybSBmbG9hdCBidW1wU2NhbGU7XG5cdHZlYzIgZEhkeHlfZndkKCkge1xuXHRcdHZlYzIgZFNUZHggPSBkRmR4KCB2VXYgKTtcblx0XHR2ZWMyIGRTVGR5ID0gZEZkeSggdlV2ICk7XG5cdFx0ZmxvYXQgSGxsID0gYnVtcFNjYWxlICogdGV4dHVyZTJEKCBidW1wTWFwLCB2VXYgKS54O1xuXHRcdGZsb2F0IGRCeCA9IGJ1bXBTY2FsZSAqIHRleHR1cmUyRCggYnVtcE1hcCwgdlV2ICsgZFNUZHggKS54IC0gSGxsO1xuXHRcdGZsb2F0IGRCeSA9IGJ1bXBTY2FsZSAqIHRleHR1cmUyRCggYnVtcE1hcCwgdlV2ICsgZFNUZHkgKS54IC0gSGxsO1xuXHRcdHJldHVybiB2ZWMyKCBkQngsIGRCeSApO1xuXHR9XG5cdHZlYzMgcGVydHVyYk5vcm1hbEFyYiggdmVjMyBzdXJmX3BvcywgdmVjMyBzdXJmX25vcm0sIHZlYzIgZEhkeHksIGZsb2F0IGZhY2VEaXJlY3Rpb24gKSB7XG5cdFx0dmVjMyB2U2lnbWFYID0gdmVjMyggZEZkeCggc3VyZl9wb3MueCApLCBkRmR4KCBzdXJmX3Bvcy55ICksIGRGZHgoIHN1cmZfcG9zLnogKSApO1xuXHRcdHZlYzMgdlNpZ21hWSA9IHZlYzMoIGRGZHkoIHN1cmZfcG9zLnggKSwgZEZkeSggc3VyZl9wb3MueSApLCBkRmR5KCBzdXJmX3Bvcy56ICkgKTtcblx0XHR2ZWMzIHZOID0gc3VyZl9ub3JtO1xuXHRcdHZlYzMgUjEgPSBjcm9zcyggdlNpZ21hWSwgdk4gKTtcblx0XHR2ZWMzIFIyID0gY3Jvc3MoIHZOLCB2U2lnbWFYICk7XG5cdFx0ZmxvYXQgZkRldCA9IGRvdCggdlNpZ21hWCwgUjEgKSAqIGZhY2VEaXJlY3Rpb247XG5cdFx0dmVjMyB2R3JhZCA9IHNpZ24oIGZEZXQgKSAqICggZEhkeHkueCAqIFIxICsgZEhkeHkueSAqIFIyICk7XG5cdFx0cmV0dXJuIG5vcm1hbGl6ZSggYWJzKCBmRGV0ICkgKiBzdXJmX25vcm0gLSB2R3JhZCApO1xuXHR9XG4jZW5kaWYiLGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudDoiI2lmIE5VTV9DTElQUElOR19QTEFORVMgPiAwXG5cdHZlYzQgcGxhbmU7XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgVU5JT05fQ0xJUFBJTkdfUExBTkVTOyBpICsrICkge1xuXHRcdHBsYW5lID0gY2xpcHBpbmdQbGFuZXNbIGkgXTtcblx0XHRpZiAoIGRvdCggdkNsaXBQb3NpdGlvbiwgcGxhbmUueHl6ICkgPiBwbGFuZS53ICkgZGlzY2FyZDtcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuXHQjaWYgVU5JT05fQ0xJUFBJTkdfUExBTkVTIDwgTlVNX0NMSVBQSU5HX1BMQU5FU1xuXHRcdGJvb2wgY2xpcHBlZCA9IHRydWU7XG5cdFx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRcdGZvciAoIGludCBpID0gVU5JT05fQ0xJUFBJTkdfUExBTkVTOyBpIDwgTlVNX0NMSVBQSU5HX1BMQU5FUzsgaSArKyApIHtcblx0XHRcdHBsYW5lID0gY2xpcHBpbmdQbGFuZXNbIGkgXTtcblx0XHRcdGNsaXBwZWQgPSAoIGRvdCggdkNsaXBQb3NpdGlvbiwgcGxhbmUueHl6ICkgPiBwbGFuZS53ICkgJiYgY2xpcHBlZDtcblx0XHR9XG5cdFx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcblx0XHRpZiAoIGNsaXBwZWQgKSBkaXNjYXJkO1xuXHQjZW5kaWZcbiNlbmRpZiIsY2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnQ6IiNpZiBOVU1fQ0xJUFBJTkdfUExBTkVTID4gMFxuXHR2YXJ5aW5nIHZlYzMgdkNsaXBQb3NpdGlvbjtcblx0dW5pZm9ybSB2ZWM0IGNsaXBwaW5nUGxhbmVzWyBOVU1fQ0xJUFBJTkdfUExBTkVTIF07XG4jZW5kaWYiLGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleDoiI2lmIE5VTV9DTElQUElOR19QTEFORVMgPiAwXG5cdHZhcnlpbmcgdmVjMyB2Q2xpcFBvc2l0aW9uO1xuI2VuZGlmIixjbGlwcGluZ19wbGFuZXNfdmVydGV4OiIjaWYgTlVNX0NMSVBQSU5HX1BMQU5FUyA+IDBcblx0dkNsaXBQb3NpdGlvbiA9IC0gbXZQb3NpdGlvbi54eXo7XG4jZW5kaWYiLGNvbG9yX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX0NPTE9SX0FMUEhBIClcblx0ZGlmZnVzZUNvbG9yICo9IHZDb2xvcjtcbiNlbGlmIGRlZmluZWQoIFVTRV9DT0xPUiApXG5cdGRpZmZ1c2VDb2xvci5yZ2IgKj0gdkNvbG9yO1xuI2VuZGlmIixjb2xvcl9wYXJzX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX0NPTE9SX0FMUEhBIClcblx0dmFyeWluZyB2ZWM0IHZDb2xvcjtcbiNlbGlmIGRlZmluZWQoIFVTRV9DT0xPUiApXG5cdHZhcnlpbmcgdmVjMyB2Q29sb3I7XG4jZW5kaWYiLGNvbG9yX3BhcnNfdmVydGV4OiIjaWYgZGVmaW5lZCggVVNFX0NPTE9SX0FMUEhBIClcblx0dmFyeWluZyB2ZWM0IHZDb2xvcjtcbiNlbGlmIGRlZmluZWQoIFVTRV9DT0xPUiApIHx8IGRlZmluZWQoIFVTRV9JTlNUQU5DSU5HX0NPTE9SIClcblx0dmFyeWluZyB2ZWMzIHZDb2xvcjtcbiNlbmRpZiIsY29sb3JfdmVydGV4OiIjaWYgZGVmaW5lZCggVVNFX0NPTE9SX0FMUEhBIClcblx0dkNvbG9yID0gdmVjNCggMS4wICk7XG4jZWxpZiBkZWZpbmVkKCBVU0VfQ09MT1IgKSB8fCBkZWZpbmVkKCBVU0VfSU5TVEFOQ0lOR19DT0xPUiApXG5cdHZDb2xvciA9IHZlYzMoIDEuMCApO1xuI2VuZGlmXG4jaWZkZWYgVVNFX0NPTE9SXG5cdHZDb2xvciAqPSBjb2xvcjtcbiNlbmRpZlxuI2lmZGVmIFVTRV9JTlNUQU5DSU5HX0NPTE9SXG5cdHZDb2xvci54eXogKj0gaW5zdGFuY2VDb2xvci54eXo7XG4jZW5kaWYiLGNvbW1vbjoiI2RlZmluZSBQSSAzLjE0MTU5MjY1MzU4OTc5M1xuI2RlZmluZSBQSTIgNi4yODMxODUzMDcxNzk1ODZcbiNkZWZpbmUgUElfSEFMRiAxLjU3MDc5NjMyNjc5NDg5NjZcbiNkZWZpbmUgUkVDSVBST0NBTF9QSSAwLjMxODMwOTg4NjE4Mzc5MDdcbiNkZWZpbmUgUkVDSVBST0NBTF9QSTIgMC4xNTkxNTQ5NDMwOTE4OTUzNVxuI2RlZmluZSBFUFNJTE9OIDFlLTZcbiNpZm5kZWYgc2F0dXJhdGVcbiNkZWZpbmUgc2F0dXJhdGUoYSkgY2xhbXAoIGEsIDAuMCwgMS4wIClcbiNlbmRpZlxuI2RlZmluZSB3aGl0ZUNvbXBsZW1lbnQoYSkgKCAxLjAgLSBzYXR1cmF0ZSggYSApIClcbmZsb2F0IHBvdzIoIGNvbnN0IGluIGZsb2F0IHggKSB7IHJldHVybiB4Kng7IH1cbmZsb2F0IHBvdzMoIGNvbnN0IGluIGZsb2F0IHggKSB7IHJldHVybiB4KngqeDsgfVxuZmxvYXQgcG93NCggY29uc3QgaW4gZmxvYXQgeCApIHsgZmxvYXQgeDIgPSB4Kng7IHJldHVybiB4Mip4MjsgfVxuZmxvYXQgYXZlcmFnZSggY29uc3QgaW4gdmVjMyBjb2xvciApIHsgcmV0dXJuIGRvdCggY29sb3IsIHZlYzMoIDAuMzMzMyApICk7IH1cbmhpZ2hwIGZsb2F0IHJhbmQoIGNvbnN0IGluIHZlYzIgdXYgKSB7XG5cdGNvbnN0IGhpZ2hwIGZsb2F0IGEgPSAxMi45ODk4LCBiID0gNzguMjMzLCBjID0gNDM3NTguNTQ1Mztcblx0aGlnaHAgZmxvYXQgZHQgPSBkb3QoIHV2Lnh5LCB2ZWMyKCBhLGIgKSApLCBzbiA9IG1vZCggZHQsIFBJICk7XG5cdHJldHVybiBmcmFjdChzaW4oc24pICogYyk7XG59XG4jaWZkZWYgSElHSF9QUkVDSVNJT05cblx0ZmxvYXQgcHJlY2lzaW9uU2FmZUxlbmd0aCggdmVjMyB2ICkgeyByZXR1cm4gbGVuZ3RoKCB2ICk7IH1cbiNlbHNlXG5cdGZsb2F0IG1heDMoIHZlYzMgdiApIHsgcmV0dXJuIG1heCggbWF4KCB2LngsIHYueSApLCB2LnogKTsgfVxuXHRmbG9hdCBwcmVjaXNpb25TYWZlTGVuZ3RoKCB2ZWMzIHYgKSB7XG5cdFx0ZmxvYXQgbWF4Q29tcG9uZW50ID0gbWF4MyggYWJzKCB2ICkgKTtcblx0XHRyZXR1cm4gbGVuZ3RoKCB2IC8gbWF4Q29tcG9uZW50ICkgKiBtYXhDb21wb25lbnQ7XG5cdH1cbiNlbmRpZlxuc3RydWN0IEluY2lkZW50TGlnaHQge1xuXHR2ZWMzIGNvbG9yO1xuXHR2ZWMzIGRpcmVjdGlvbjtcblx0Ym9vbCB2aXNpYmxlO1xufTtcbnN0cnVjdCBSZWZsZWN0ZWRMaWdodCB7XG5cdHZlYzMgZGlyZWN0RGlmZnVzZTtcblx0dmVjMyBkaXJlY3RTcGVjdWxhcjtcblx0dmVjMyBpbmRpcmVjdERpZmZ1c2U7XG5cdHZlYzMgaW5kaXJlY3RTcGVjdWxhcjtcbn07XG5zdHJ1Y3QgR2VvbWV0cmljQ29udGV4dCB7XG5cdHZlYzMgcG9zaXRpb247XG5cdHZlYzMgbm9ybWFsO1xuXHR2ZWMzIHZpZXdEaXI7XG4jaWZkZWYgQ0xFQVJDT0FUXG5cdHZlYzMgY2xlYXJjb2F0Tm9ybWFsO1xuI2VuZGlmXG59O1xudmVjMyB0cmFuc2Zvcm1EaXJlY3Rpb24oIGluIHZlYzMgZGlyLCBpbiBtYXQ0IG1hdHJpeCApIHtcblx0cmV0dXJuIG5vcm1hbGl6ZSggKCBtYXRyaXggKiB2ZWM0KCBkaXIsIDAuMCApICkueHl6ICk7XG59XG52ZWMzIGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIGluIHZlYzMgZGlyLCBpbiBtYXQ0IG1hdHJpeCApIHtcblx0cmV0dXJuIG5vcm1hbGl6ZSggKCB2ZWM0KCBkaXIsIDAuMCApICogbWF0cml4ICkueHl6ICk7XG59XG52ZWMzIHByb2plY3RPblBsYW5lKGluIHZlYzMgcG9pbnQsIGluIHZlYzMgcG9pbnRPblBsYW5lLCBpbiB2ZWMzIHBsYW5lTm9ybWFsICkge1xuXHRmbG9hdCBkaXN0YW5jZSA9IGRvdCggcGxhbmVOb3JtYWwsIHBvaW50IC0gcG9pbnRPblBsYW5lICk7XG5cdHJldHVybiAtIGRpc3RhbmNlICogcGxhbmVOb3JtYWwgKyBwb2ludDtcbn1cbmZsb2F0IHNpZGVPZlBsYW5lKCBpbiB2ZWMzIHBvaW50LCBpbiB2ZWMzIHBvaW50T25QbGFuZSwgaW4gdmVjMyBwbGFuZU5vcm1hbCApIHtcblx0cmV0dXJuIHNpZ24oIGRvdCggcG9pbnQgLSBwb2ludE9uUGxhbmUsIHBsYW5lTm9ybWFsICkgKTtcbn1cbnZlYzMgbGluZVBsYW5lSW50ZXJzZWN0KCBpbiB2ZWMzIHBvaW50T25MaW5lLCBpbiB2ZWMzIGxpbmVEaXJlY3Rpb24sIGluIHZlYzMgcG9pbnRPblBsYW5lLCBpbiB2ZWMzIHBsYW5lTm9ybWFsICkge1xuXHRyZXR1cm4gbGluZURpcmVjdGlvbiAqICggZG90KCBwbGFuZU5vcm1hbCwgcG9pbnRPblBsYW5lIC0gcG9pbnRPbkxpbmUgKSAvIGRvdCggcGxhbmVOb3JtYWwsIGxpbmVEaXJlY3Rpb24gKSApICsgcG9pbnRPbkxpbmU7XG59XG5tYXQzIHRyYW5zcG9zZU1hdDMoIGNvbnN0IGluIG1hdDMgbSApIHtcblx0bWF0MyB0bXA7XG5cdHRtcFsgMCBdID0gdmVjMyggbVsgMCBdLngsIG1bIDEgXS54LCBtWyAyIF0ueCApO1xuXHR0bXBbIDEgXSA9IHZlYzMoIG1bIDAgXS55LCBtWyAxIF0ueSwgbVsgMiBdLnkgKTtcblx0dG1wWyAyIF0gPSB2ZWMzKCBtWyAwIF0ueiwgbVsgMSBdLnosIG1bIDIgXS56ICk7XG5cdHJldHVybiB0bXA7XG59XG5mbG9hdCBsaW5lYXJUb1JlbGF0aXZlTHVtaW5hbmNlKCBjb25zdCBpbiB2ZWMzIGNvbG9yICkge1xuXHR2ZWMzIHdlaWdodHMgPSB2ZWMzKCAwLjIxMjYsIDAuNzE1MiwgMC4wNzIyICk7XG5cdHJldHVybiBkb3QoIHdlaWdodHMsIGNvbG9yLnJnYiApO1xufVxuYm9vbCBpc1BlcnNwZWN0aXZlTWF0cml4KCBtYXQ0IG0gKSB7XG5cdHJldHVybiBtWyAyIF1bIDMgXSA9PSAtIDEuMDtcbn1cbnZlYzIgZXF1aXJlY3RVdiggaW4gdmVjMyBkaXIgKSB7XG5cdGZsb2F0IHUgPSBhdGFuKCBkaXIueiwgZGlyLnggKSAqIFJFQ0lQUk9DQUxfUEkyICsgMC41O1xuXHRmbG9hdCB2ID0gYXNpbiggY2xhbXAoIGRpci55LCAtIDEuMCwgMS4wICkgKSAqIFJFQ0lQUk9DQUxfUEkgKyAwLjU7XG5cdHJldHVybiB2ZWMyKCB1LCB2ICk7XG59IixjdWJlX3V2X3JlZmxlY3Rpb25fZnJhZ21lbnQ6IiNpZmRlZiBFTlZNQVBfVFlQRV9DVUJFX1VWXG5cdCNkZWZpbmUgY3ViZVVWX21heE1pcExldmVsIDguMFxuXHQjZGVmaW5lIGN1YmVVVl9taW5NaXBMZXZlbCA0LjBcblx0I2RlZmluZSBjdWJlVVZfbWF4VGlsZVNpemUgMjU2LjBcblx0I2RlZmluZSBjdWJlVVZfbWluVGlsZVNpemUgMTYuMFxuXHRmbG9hdCBnZXRGYWNlKCB2ZWMzIGRpcmVjdGlvbiApIHtcblx0XHR2ZWMzIGFic0RpcmVjdGlvbiA9IGFicyggZGlyZWN0aW9uICk7XG5cdFx0ZmxvYXQgZmFjZSA9IC0gMS4wO1xuXHRcdGlmICggYWJzRGlyZWN0aW9uLnggPiBhYnNEaXJlY3Rpb24ueiApIHtcblx0XHRcdGlmICggYWJzRGlyZWN0aW9uLnggPiBhYnNEaXJlY3Rpb24ueSApXG5cdFx0XHRcdGZhY2UgPSBkaXJlY3Rpb24ueCA+IDAuMCA/IDAuMCA6IDMuMDtcblx0XHRcdGVsc2Vcblx0XHRcdFx0ZmFjZSA9IGRpcmVjdGlvbi55ID4gMC4wID8gMS4wIDogNC4wO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAoIGFic0RpcmVjdGlvbi56ID4gYWJzRGlyZWN0aW9uLnkgKVxuXHRcdFx0XHRmYWNlID0gZGlyZWN0aW9uLnogPiAwLjAgPyAyLjAgOiA1LjA7XG5cdFx0XHRlbHNlXG5cdFx0XHRcdGZhY2UgPSBkaXJlY3Rpb24ueSA+IDAuMCA/IDEuMCA6IDQuMDtcblx0XHR9XG5cdFx0cmV0dXJuIGZhY2U7XG5cdH1cblx0dmVjMiBnZXRVViggdmVjMyBkaXJlY3Rpb24sIGZsb2F0IGZhY2UgKSB7XG5cdFx0dmVjMiB1djtcblx0XHRpZiAoIGZhY2UgPT0gMC4wICkge1xuXHRcdFx0dXYgPSB2ZWMyKCBkaXJlY3Rpb24ueiwgZGlyZWN0aW9uLnkgKSAvIGFicyggZGlyZWN0aW9uLnggKTtcblx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDEuMCApIHtcblx0XHRcdHV2ID0gdmVjMiggLSBkaXJlY3Rpb24ueCwgLSBkaXJlY3Rpb24ueiApIC8gYWJzKCBkaXJlY3Rpb24ueSApO1xuXHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gMi4wICkge1xuXHRcdFx0dXYgPSB2ZWMyKCAtIGRpcmVjdGlvbi54LCBkaXJlY3Rpb24ueSApIC8gYWJzKCBkaXJlY3Rpb24ueiApO1xuXHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gMy4wICkge1xuXHRcdFx0dXYgPSB2ZWMyKCAtIGRpcmVjdGlvbi56LCBkaXJlY3Rpb24ueSApIC8gYWJzKCBkaXJlY3Rpb24ueCApO1xuXHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gNC4wICkge1xuXHRcdFx0dXYgPSB2ZWMyKCAtIGRpcmVjdGlvbi54LCBkaXJlY3Rpb24ueiApIC8gYWJzKCBkaXJlY3Rpb24ueSApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR1diA9IHZlYzIoIGRpcmVjdGlvbi54LCBkaXJlY3Rpb24ueSApIC8gYWJzKCBkaXJlY3Rpb24ueiApO1xuXHRcdH1cblx0XHRyZXR1cm4gMC41ICogKCB1diArIDEuMCApO1xuXHR9XG5cdHZlYzMgYmlsaW5lYXJDdWJlVVYoIHNhbXBsZXIyRCBlbnZNYXAsIHZlYzMgZGlyZWN0aW9uLCBmbG9hdCBtaXBJbnQgKSB7XG5cdFx0ZmxvYXQgZmFjZSA9IGdldEZhY2UoIGRpcmVjdGlvbiApO1xuXHRcdGZsb2F0IGZpbHRlckludCA9IG1heCggY3ViZVVWX21pbk1pcExldmVsIC0gbWlwSW50LCAwLjAgKTtcblx0XHRtaXBJbnQgPSBtYXgoIG1pcEludCwgY3ViZVVWX21pbk1pcExldmVsICk7XG5cdFx0ZmxvYXQgZmFjZVNpemUgPSBleHAyKCBtaXBJbnQgKTtcblx0XHRmbG9hdCB0ZXhlbFNpemUgPSAxLjAgLyAoIDMuMCAqIGN1YmVVVl9tYXhUaWxlU2l6ZSApO1xuXHRcdHZlYzIgdXYgPSBnZXRVViggZGlyZWN0aW9uLCBmYWNlICkgKiAoIGZhY2VTaXplIC0gMS4wICk7XG5cdFx0dmVjMiBmID0gZnJhY3QoIHV2ICk7XG5cdFx0dXYgKz0gMC41IC0gZjtcblx0XHRpZiAoIGZhY2UgPiAyLjAgKSB7XG5cdFx0XHR1di55ICs9IGZhY2VTaXplO1xuXHRcdFx0ZmFjZSAtPSAzLjA7XG5cdFx0fVxuXHRcdHV2LnggKz0gZmFjZSAqIGZhY2VTaXplO1xuXHRcdGlmICggbWlwSW50IDwgY3ViZVVWX21heE1pcExldmVsICkge1xuXHRcdFx0dXYueSArPSAyLjAgKiBjdWJlVVZfbWF4VGlsZVNpemU7XG5cdFx0fVxuXHRcdHV2LnkgKz0gZmlsdGVySW50ICogMi4wICogY3ViZVVWX21pblRpbGVTaXplO1xuXHRcdHV2LnggKz0gMy4wICogbWF4KCAwLjAsIGN1YmVVVl9tYXhUaWxlU2l6ZSAtIDIuMCAqIGZhY2VTaXplICk7XG5cdFx0dXYgKj0gdGV4ZWxTaXplO1xuXHRcdHZlYzMgdGwgPSBlbnZNYXBUZXhlbFRvTGluZWFyKCB0ZXh0dXJlMkQoIGVudk1hcCwgdXYgKSApLnJnYjtcblx0XHR1di54ICs9IHRleGVsU2l6ZTtcblx0XHR2ZWMzIHRyID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEKCBlbnZNYXAsIHV2ICkgKS5yZ2I7XG5cdFx0dXYueSArPSB0ZXhlbFNpemU7XG5cdFx0dmVjMyBiciA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCggZW52TWFwLCB1diApICkucmdiO1xuXHRcdHV2LnggLT0gdGV4ZWxTaXplO1xuXHRcdHZlYzMgYmwgPSBlbnZNYXBUZXhlbFRvTGluZWFyKCB0ZXh0dXJlMkQoIGVudk1hcCwgdXYgKSApLnJnYjtcblx0XHR2ZWMzIHRtID0gbWl4KCB0bCwgdHIsIGYueCApO1xuXHRcdHZlYzMgYm0gPSBtaXgoIGJsLCBiciwgZi54ICk7XG5cdFx0cmV0dXJuIG1peCggdG0sIGJtLCBmLnkgKTtcblx0fVxuXHQjZGVmaW5lIHIwIDEuMFxuXHQjZGVmaW5lIHYwIDAuMzM5XG5cdCNkZWZpbmUgbTAgLSAyLjBcblx0I2RlZmluZSByMSAwLjhcblx0I2RlZmluZSB2MSAwLjI3NlxuXHQjZGVmaW5lIG0xIC0gMS4wXG5cdCNkZWZpbmUgcjQgMC40XG5cdCNkZWZpbmUgdjQgMC4wNDZcblx0I2RlZmluZSBtNCAyLjBcblx0I2RlZmluZSByNSAwLjMwNVxuXHQjZGVmaW5lIHY1IDAuMDE2XG5cdCNkZWZpbmUgbTUgMy4wXG5cdCNkZWZpbmUgcjYgMC4yMVxuXHQjZGVmaW5lIHY2IDAuMDAzOFxuXHQjZGVmaW5lIG02IDQuMFxuXHRmbG9hdCByb3VnaG5lc3NUb01pcCggZmxvYXQgcm91Z2huZXNzICkge1xuXHRcdGZsb2F0IG1pcCA9IDAuMDtcblx0XHRpZiAoIHJvdWdobmVzcyA+PSByMSApIHtcblx0XHRcdG1pcCA9ICggcjAgLSByb3VnaG5lc3MgKSAqICggbTEgLSBtMCApIC8gKCByMCAtIHIxICkgKyBtMDtcblx0XHR9IGVsc2UgaWYgKCByb3VnaG5lc3MgPj0gcjQgKSB7XG5cdFx0XHRtaXAgPSAoIHIxIC0gcm91Z2huZXNzICkgKiAoIG00IC0gbTEgKSAvICggcjEgLSByNCApICsgbTE7XG5cdFx0fSBlbHNlIGlmICggcm91Z2huZXNzID49IHI1ICkge1xuXHRcdFx0bWlwID0gKCByNCAtIHJvdWdobmVzcyApICogKCBtNSAtIG00ICkgLyAoIHI0IC0gcjUgKSArIG00O1xuXHRcdH0gZWxzZSBpZiAoIHJvdWdobmVzcyA+PSByNiApIHtcblx0XHRcdG1pcCA9ICggcjUgLSByb3VnaG5lc3MgKSAqICggbTYgLSBtNSApIC8gKCByNSAtIHI2ICkgKyBtNTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bWlwID0gLSAyLjAgKiBsb2cyKCAxLjE2ICogcm91Z2huZXNzICk7XHRcdH1cblx0XHRyZXR1cm4gbWlwO1xuXHR9XG5cdHZlYzQgdGV4dHVyZUN1YmVVViggc2FtcGxlcjJEIGVudk1hcCwgdmVjMyBzYW1wbGVEaXIsIGZsb2F0IHJvdWdobmVzcyApIHtcblx0XHRmbG9hdCBtaXAgPSBjbGFtcCggcm91Z2huZXNzVG9NaXAoIHJvdWdobmVzcyApLCBtMCwgY3ViZVVWX21heE1pcExldmVsICk7XG5cdFx0ZmxvYXQgbWlwRiA9IGZyYWN0KCBtaXAgKTtcblx0XHRmbG9hdCBtaXBJbnQgPSBmbG9vciggbWlwICk7XG5cdFx0dmVjMyBjb2xvcjAgPSBiaWxpbmVhckN1YmVVViggZW52TWFwLCBzYW1wbGVEaXIsIG1pcEludCApO1xuXHRcdGlmICggbWlwRiA9PSAwLjAgKSB7XG5cdFx0XHRyZXR1cm4gdmVjNCggY29sb3IwLCAxLjAgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dmVjMyBjb2xvcjEgPSBiaWxpbmVhckN1YmVVViggZW52TWFwLCBzYW1wbGVEaXIsIG1pcEludCArIDEuMCApO1xuXHRcdFx0cmV0dXJuIHZlYzQoIG1peCggY29sb3IwLCBjb2xvcjEsIG1pcEYgKSwgMS4wICk7XG5cdFx0fVxuXHR9XG4jZW5kaWYiLGRlZmF1bHRub3JtYWxfdmVydGV4OiJ2ZWMzIHRyYW5zZm9ybWVkTm9ybWFsID0gb2JqZWN0Tm9ybWFsO1xuI2lmZGVmIFVTRV9JTlNUQU5DSU5HXG5cdG1hdDMgbSA9IG1hdDMoIGluc3RhbmNlTWF0cml4ICk7XG5cdHRyYW5zZm9ybWVkTm9ybWFsIC89IHZlYzMoIGRvdCggbVsgMCBdLCBtWyAwIF0gKSwgZG90KCBtWyAxIF0sIG1bIDEgXSApLCBkb3QoIG1bIDIgXSwgbVsgMiBdICkgKTtcblx0dHJhbnNmb3JtZWROb3JtYWwgPSBtICogdHJhbnNmb3JtZWROb3JtYWw7XG4jZW5kaWZcbnRyYW5zZm9ybWVkTm9ybWFsID0gbm9ybWFsTWF0cml4ICogdHJhbnNmb3JtZWROb3JtYWw7XG4jaWZkZWYgRkxJUF9TSURFRFxuXHR0cmFuc2Zvcm1lZE5vcm1hbCA9IC0gdHJhbnNmb3JtZWROb3JtYWw7XG4jZW5kaWZcbiNpZmRlZiBVU0VfVEFOR0VOVFxuXHR2ZWMzIHRyYW5zZm9ybWVkVGFuZ2VudCA9ICggbW9kZWxWaWV3TWF0cml4ICogdmVjNCggb2JqZWN0VGFuZ2VudCwgMC4wICkgKS54eXo7XG5cdCNpZmRlZiBGTElQX1NJREVEXG5cdFx0dHJhbnNmb3JtZWRUYW5nZW50ID0gLSB0cmFuc2Zvcm1lZFRhbmdlbnQ7XG5cdCNlbmRpZlxuI2VuZGlmIixkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfRElTUExBQ0VNRU5UTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGRpc3BsYWNlbWVudE1hcDtcblx0dW5pZm9ybSBmbG9hdCBkaXNwbGFjZW1lbnRTY2FsZTtcblx0dW5pZm9ybSBmbG9hdCBkaXNwbGFjZW1lbnRCaWFzO1xuI2VuZGlmIixkaXNwbGFjZW1lbnRtYXBfdmVydGV4OiIjaWZkZWYgVVNFX0RJU1BMQUNFTUVOVE1BUFxuXHR0cmFuc2Zvcm1lZCArPSBub3JtYWxpemUoIG9iamVjdE5vcm1hbCApICogKCB0ZXh0dXJlMkQoIGRpc3BsYWNlbWVudE1hcCwgdlV2ICkueCAqIGRpc3BsYWNlbWVudFNjYWxlICsgZGlzcGxhY2VtZW50QmlhcyApO1xuI2VuZGlmIixlbWlzc2l2ZW1hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9FTUlTU0lWRU1BUFxuXHR2ZWM0IGVtaXNzaXZlQ29sb3IgPSB0ZXh0dXJlMkQoIGVtaXNzaXZlTWFwLCB2VXYgKTtcblx0ZW1pc3NpdmVDb2xvci5yZ2IgPSBlbWlzc2l2ZU1hcFRleGVsVG9MaW5lYXIoIGVtaXNzaXZlQ29sb3IgKS5yZ2I7XG5cdHRvdGFsRW1pc3NpdmVSYWRpYW5jZSAqPSBlbWlzc2l2ZUNvbG9yLnJnYjtcbiNlbmRpZiIsZW1pc3NpdmVtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9FTUlTU0lWRU1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBlbWlzc2l2ZU1hcDtcbiNlbmRpZiIsZW5jb2RpbmdzX2ZyYWdtZW50OiJnbF9GcmFnQ29sb3IgPSBsaW5lYXJUb091dHB1dFRleGVsKCBnbF9GcmFnQ29sb3IgKTsiLGVuY29kaW5nc19wYXJzX2ZyYWdtZW50OiJcbnZlYzQgTGluZWFyVG9MaW5lYXIoIGluIHZlYzQgdmFsdWUgKSB7XG5cdHJldHVybiB2YWx1ZTtcbn1cbnZlYzQgR2FtbWFUb0xpbmVhciggaW4gdmVjNCB2YWx1ZSwgaW4gZmxvYXQgZ2FtbWFGYWN0b3IgKSB7XG5cdHJldHVybiB2ZWM0KCBwb3coIHZhbHVlLnJnYiwgdmVjMyggZ2FtbWFGYWN0b3IgKSApLCB2YWx1ZS5hICk7XG59XG52ZWM0IExpbmVhclRvR2FtbWEoIGluIHZlYzQgdmFsdWUsIGluIGZsb2F0IGdhbW1hRmFjdG9yICkge1xuXHRyZXR1cm4gdmVjNCggcG93KCB2YWx1ZS5yZ2IsIHZlYzMoIDEuMCAvIGdhbW1hRmFjdG9yICkgKSwgdmFsdWUuYSApO1xufVxudmVjNCBzUkdCVG9MaW5lYXIoIGluIHZlYzQgdmFsdWUgKSB7XG5cdHJldHVybiB2ZWM0KCBtaXgoIHBvdyggdmFsdWUucmdiICogMC45NDc4NjcyOTg2ICsgdmVjMyggMC4wNTIxMzI3MDE0ICksIHZlYzMoIDIuNCApICksIHZhbHVlLnJnYiAqIDAuMDc3Mzk5MzgwOCwgdmVjMyggbGVzc1RoYW5FcXVhbCggdmFsdWUucmdiLCB2ZWMzKCAwLjA0MDQ1ICkgKSApICksIHZhbHVlLmEgKTtcbn1cbnZlYzQgTGluZWFyVG9zUkdCKCBpbiB2ZWM0IHZhbHVlICkge1xuXHRyZXR1cm4gdmVjNCggbWl4KCBwb3coIHZhbHVlLnJnYiwgdmVjMyggMC40MTY2NiApICkgKiAxLjA1NSAtIHZlYzMoIDAuMDU1ICksIHZhbHVlLnJnYiAqIDEyLjkyLCB2ZWMzKCBsZXNzVGhhbkVxdWFsKCB2YWx1ZS5yZ2IsIHZlYzMoIDAuMDAzMTMwOCApICkgKSApLCB2YWx1ZS5hICk7XG59XG52ZWM0IFJHQkVUb0xpbmVhciggaW4gdmVjNCB2YWx1ZSApIHtcblx0cmV0dXJuIHZlYzQoIHZhbHVlLnJnYiAqIGV4cDIoIHZhbHVlLmEgKiAyNTUuMCAtIDEyOC4wICksIDEuMCApO1xufVxudmVjNCBMaW5lYXJUb1JHQkUoIGluIHZlYzQgdmFsdWUgKSB7XG5cdGZsb2F0IG1heENvbXBvbmVudCA9IG1heCggbWF4KCB2YWx1ZS5yLCB2YWx1ZS5nICksIHZhbHVlLmIgKTtcblx0ZmxvYXQgZkV4cCA9IGNsYW1wKCBjZWlsKCBsb2cyKCBtYXhDb21wb25lbnQgKSApLCAtMTI4LjAsIDEyNy4wICk7XG5cdHJldHVybiB2ZWM0KCB2YWx1ZS5yZ2IgLyBleHAyKCBmRXhwICksICggZkV4cCArIDEyOC4wICkgLyAyNTUuMCApO1xufVxudmVjNCBSR0JNVG9MaW5lYXIoIGluIHZlYzQgdmFsdWUsIGluIGZsb2F0IG1heFJhbmdlICkge1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiICogdmFsdWUuYSAqIG1heFJhbmdlLCAxLjAgKTtcbn1cbnZlYzQgTGluZWFyVG9SR0JNKCBpbiB2ZWM0IHZhbHVlLCBpbiBmbG9hdCBtYXhSYW5nZSApIHtcblx0ZmxvYXQgbWF4UkdCID0gbWF4KCB2YWx1ZS5yLCBtYXgoIHZhbHVlLmcsIHZhbHVlLmIgKSApO1xuXHRmbG9hdCBNID0gY2xhbXAoIG1heFJHQiAvIG1heFJhbmdlLCAwLjAsIDEuMCApO1xuXHRNID0gY2VpbCggTSAqIDI1NS4wICkgLyAyNTUuMDtcblx0cmV0dXJuIHZlYzQoIHZhbHVlLnJnYiAvICggTSAqIG1heFJhbmdlICksIE0gKTtcbn1cbnZlYzQgUkdCRFRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlLCBpbiBmbG9hdCBtYXhSYW5nZSApIHtcblx0cmV0dXJuIHZlYzQoIHZhbHVlLnJnYiAqICggKCBtYXhSYW5nZSAvIDI1NS4wICkgLyB2YWx1ZS5hICksIDEuMCApO1xufVxudmVjNCBMaW5lYXJUb1JHQkQoIGluIHZlYzQgdmFsdWUsIGluIGZsb2F0IG1heFJhbmdlICkge1xuXHRmbG9hdCBtYXhSR0IgPSBtYXgoIHZhbHVlLnIsIG1heCggdmFsdWUuZywgdmFsdWUuYiApICk7XG5cdGZsb2F0IEQgPSBtYXgoIG1heFJhbmdlIC8gbWF4UkdCLCAxLjAgKTtcblx0RCA9IGNsYW1wKCBmbG9vciggRCApIC8gMjU1LjAsIDAuMCwgMS4wICk7XG5cdHJldHVybiB2ZWM0KCB2YWx1ZS5yZ2IgKiAoIEQgKiAoIDI1NS4wIC8gbWF4UmFuZ2UgKSApLCBEICk7XG59XG5jb25zdCBtYXQzIGNMb2dMdXZNID0gbWF0MyggMC4yMjA5LCAwLjMzOTAsIDAuNDE4NCwgMC4xMTM4LCAwLjY3ODAsIDAuNzMxOSwgMC4wMTAyLCAwLjExMzAsIDAuMjk2OSApO1xudmVjNCBMaW5lYXJUb0xvZ0x1diggaW4gdmVjNCB2YWx1ZSApIHtcblx0dmVjMyBYcF9ZX1hZWnAgPSBjTG9nTHV2TSAqIHZhbHVlLnJnYjtcblx0WHBfWV9YWVpwID0gbWF4KCBYcF9ZX1hZWnAsIHZlYzMoIDFlLTYsIDFlLTYsIDFlLTYgKSApO1xuXHR2ZWM0IHZSZXN1bHQ7XG5cdHZSZXN1bHQueHkgPSBYcF9ZX1hZWnAueHkgLyBYcF9ZX1hZWnAuejtcblx0ZmxvYXQgTGUgPSAyLjAgKiBsb2cyKFhwX1lfWFlacC55KSArIDEyNy4wO1xuXHR2UmVzdWx0LncgPSBmcmFjdCggTGUgKTtcblx0dlJlc3VsdC56ID0gKCBMZSAtICggZmxvb3IoIHZSZXN1bHQudyAqIDI1NS4wICkgKSAvIDI1NS4wICkgLyAyNTUuMDtcblx0cmV0dXJuIHZSZXN1bHQ7XG59XG5jb25zdCBtYXQzIGNMb2dMdXZJbnZlcnNlTSA9IG1hdDMoIDYuMDAxNCwgLTIuNzAwOCwgLTEuNzk5NiwgLTEuMzMyMCwgMy4xMDI5LCAtNS43NzIxLCAwLjMwMDgsIC0xLjA4ODIsIDUuNjI2OCApO1xudmVjNCBMb2dMdXZUb0xpbmVhciggaW4gdmVjNCB2YWx1ZSApIHtcblx0ZmxvYXQgTGUgPSB2YWx1ZS56ICogMjU1LjAgKyB2YWx1ZS53O1xuXHR2ZWMzIFhwX1lfWFlacDtcblx0WHBfWV9YWVpwLnkgPSBleHAyKCAoIExlIC0gMTI3LjAgKSAvIDIuMCApO1xuXHRYcF9ZX1hZWnAueiA9IFhwX1lfWFlacC55IC8gdmFsdWUueTtcblx0WHBfWV9YWVpwLnggPSB2YWx1ZS54ICogWHBfWV9YWVpwLno7XG5cdHZlYzMgdlJHQiA9IGNMb2dMdXZJbnZlcnNlTSAqIFhwX1lfWFlacC5yZ2I7XG5cdHJldHVybiB2ZWM0KCBtYXgoIHZSR0IsIDAuMCApLCAxLjAgKTtcbn0iLGVudm1hcF9mcmFnbWVudDoiI2lmZGVmIFVTRV9FTlZNQVBcblx0I2lmZGVmIEVOVl9XT1JMRFBPU1xuXHRcdHZlYzMgY2FtZXJhVG9GcmFnO1xuXHRcdGlmICggaXNPcnRob2dyYXBoaWMgKSB7XG5cdFx0XHRjYW1lcmFUb0ZyYWcgPSBub3JtYWxpemUoIHZlYzMoIC0gdmlld01hdHJpeFsgMCBdWyAyIF0sIC0gdmlld01hdHJpeFsgMSBdWyAyIF0sIC0gdmlld01hdHJpeFsgMiBdWyAyIF0gKSApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjYW1lcmFUb0ZyYWcgPSBub3JtYWxpemUoIHZXb3JsZFBvc2l0aW9uIC0gY2FtZXJhUG9zaXRpb24gKTtcblx0XHR9XG5cdFx0dmVjMyB3b3JsZE5vcm1hbCA9IGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIG5vcm1hbCwgdmlld01hdHJpeCApO1xuXHRcdCNpZmRlZiBFTlZNQVBfTU9ERV9SRUZMRUNUSU9OXG5cdFx0XHR2ZWMzIHJlZmxlY3RWZWMgPSByZWZsZWN0KCBjYW1lcmFUb0ZyYWcsIHdvcmxkTm9ybWFsICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHZlYzMgcmVmbGVjdFZlYyA9IHJlZnJhY3QoIGNhbWVyYVRvRnJhZywgd29ybGROb3JtYWwsIHJlZnJhY3Rpb25SYXRpbyApO1xuXHRcdCNlbmRpZlxuXHQjZWxzZVxuXHRcdHZlYzMgcmVmbGVjdFZlYyA9IHZSZWZsZWN0O1xuXHQjZW5kaWZcblx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHR2ZWM0IGVudkNvbG9yID0gdGV4dHVyZUN1YmUoIGVudk1hcCwgdmVjMyggZmxpcEVudk1hcCAqIHJlZmxlY3RWZWMueCwgcmVmbGVjdFZlYy55eiApICk7XG5cdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX0NVQkVfVVYgKVxuXHRcdHZlYzQgZW52Q29sb3IgPSB0ZXh0dXJlQ3ViZVVWKCBlbnZNYXAsIHJlZmxlY3RWZWMsIDAuMCApO1xuXHQjZWxzZVxuXHRcdHZlYzQgZW52Q29sb3IgPSB2ZWM0KCAwLjAgKTtcblx0I2VuZGlmXG5cdCNpZm5kZWYgRU5WTUFQX1RZUEVfQ1VCRV9VVlxuXHRcdGVudkNvbG9yID0gZW52TWFwVGV4ZWxUb0xpbmVhciggZW52Q29sb3IgKTtcblx0I2VuZGlmXG5cdCNpZmRlZiBFTlZNQVBfQkxFTkRJTkdfTVVMVElQTFlcblx0XHRvdXRnb2luZ0xpZ2h0ID0gbWl4KCBvdXRnb2luZ0xpZ2h0LCBvdXRnb2luZ0xpZ2h0ICogZW52Q29sb3IueHl6LCBzcGVjdWxhclN0cmVuZ3RoICogcmVmbGVjdGl2aXR5ICk7XG5cdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9CTEVORElOR19NSVggKVxuXHRcdG91dGdvaW5nTGlnaHQgPSBtaXgoIG91dGdvaW5nTGlnaHQsIGVudkNvbG9yLnh5eiwgc3BlY3VsYXJTdHJlbmd0aCAqIHJlZmxlY3Rpdml0eSApO1xuXHQjZWxpZiBkZWZpbmVkKCBFTlZNQVBfQkxFTkRJTkdfQUREIClcblx0XHRvdXRnb2luZ0xpZ2h0ICs9IGVudkNvbG9yLnh5eiAqIHNwZWN1bGFyU3RyZW5ndGggKiByZWZsZWN0aXZpdHk7XG5cdCNlbmRpZlxuI2VuZGlmIixlbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRU5WTUFQXG5cdHVuaWZvcm0gZmxvYXQgZW52TWFwSW50ZW5zaXR5O1xuXHR1bmlmb3JtIGZsb2F0IGZsaXBFbnZNYXA7XG5cdHVuaWZvcm0gaW50IG1heE1pcExldmVsO1xuXHQjaWZkZWYgRU5WTUFQX1RZUEVfQ1VCRVxuXHRcdHVuaWZvcm0gc2FtcGxlckN1YmUgZW52TWFwO1xuXHQjZWxzZVxuXHRcdHVuaWZvcm0gc2FtcGxlcjJEIGVudk1hcDtcblx0I2VuZGlmXG5cdFxuI2VuZGlmIixlbnZtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9FTlZNQVBcblx0dW5pZm9ybSBmbG9hdCByZWZsZWN0aXZpdHk7XG5cdCNpZiBkZWZpbmVkKCBVU0VfQlVNUE1BUCApIHx8IGRlZmluZWQoIFVTRV9OT1JNQUxNQVAgKSB8fCBkZWZpbmVkKCBQSE9ORyApXG5cdFx0I2RlZmluZSBFTlZfV09STERQT1Ncblx0I2VuZGlmXG5cdCNpZmRlZiBFTlZfV09STERQT1Ncblx0XHR2YXJ5aW5nIHZlYzMgdldvcmxkUG9zaXRpb247XG5cdFx0dW5pZm9ybSBmbG9hdCByZWZyYWN0aW9uUmF0aW87XG5cdCNlbHNlXG5cdFx0dmFyeWluZyB2ZWMzIHZSZWZsZWN0O1xuXHQjZW5kaWZcbiNlbmRpZiIsZW52bWFwX3BhcnNfdmVydGV4OiIjaWZkZWYgVVNFX0VOVk1BUFxuXHQjaWYgZGVmaW5lZCggVVNFX0JVTVBNQVAgKSB8fCBkZWZpbmVkKCBVU0VfTk9STUFMTUFQICkgfHxkZWZpbmVkKCBQSE9ORyApXG5cdFx0I2RlZmluZSBFTlZfV09STERQT1Ncblx0I2VuZGlmXG5cdCNpZmRlZiBFTlZfV09STERQT1Ncblx0XHRcblx0XHR2YXJ5aW5nIHZlYzMgdldvcmxkUG9zaXRpb247XG5cdCNlbHNlXG5cdFx0dmFyeWluZyB2ZWMzIHZSZWZsZWN0O1xuXHRcdHVuaWZvcm0gZmxvYXQgcmVmcmFjdGlvblJhdGlvO1xuXHQjZW5kaWZcbiNlbmRpZiIsZW52bWFwX3BoeXNpY2FsX3BhcnNfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBVU0VfRU5WTUFQIClcblx0I2lmZGVmIEVOVk1BUF9NT0RFX1JFRlJBQ1RJT05cblx0XHR1bmlmb3JtIGZsb2F0IHJlZnJhY3Rpb25SYXRpbztcblx0I2VuZGlmXG5cdHZlYzMgZ2V0TGlnaHRQcm9iZUluZGlyZWN0SXJyYWRpYW5jZSggY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gaW50IG1heE1JUExldmVsICkge1xuXHRcdHZlYzMgd29ybGROb3JtYWwgPSBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBnZW9tZXRyeS5ub3JtYWwsIHZpZXdNYXRyaXggKTtcblx0XHQjaWZkZWYgRU5WTUFQX1RZUEVfQ1VCRVxuXHRcdFx0dmVjMyBxdWVyeVZlYyA9IHZlYzMoIGZsaXBFbnZNYXAgKiB3b3JsZE5vcm1hbC54LCB3b3JsZE5vcm1hbC55eiApO1xuXHRcdFx0I2lmZGVmIFRFWFRVUkVfTE9EX0VYVFxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yID0gdGV4dHVyZUN1YmVMb2RFWFQoIGVudk1hcCwgcXVlcnlWZWMsIGZsb2F0KCBtYXhNSVBMZXZlbCApICk7XG5cdFx0XHQjZWxzZVxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yID0gdGV4dHVyZUN1YmUoIGVudk1hcCwgcXVlcnlWZWMsIGZsb2F0KCBtYXhNSVBMZXZlbCApICk7XG5cdFx0XHQjZW5kaWZcblx0XHRcdGVudk1hcENvbG9yLnJnYiA9IGVudk1hcFRleGVsVG9MaW5lYXIoIGVudk1hcENvbG9yICkucmdiO1xuXHRcdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX0NVQkVfVVYgKVxuXHRcdFx0dmVjNCBlbnZNYXBDb2xvciA9IHRleHR1cmVDdWJlVVYoIGVudk1hcCwgd29ybGROb3JtYWwsIDEuMCApO1xuXHRcdCNlbHNlXG5cdFx0XHR2ZWM0IGVudk1hcENvbG9yID0gdmVjNCggMC4wICk7XG5cdFx0I2VuZGlmXG5cdFx0cmV0dXJuIFBJICogZW52TWFwQ29sb3IucmdiICogZW52TWFwSW50ZW5zaXR5O1xuXHR9XG5cdGZsb2F0IGdldFNwZWN1bGFyTUlQTGV2ZWwoIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcywgY29uc3QgaW4gaW50IG1heE1JUExldmVsICkge1xuXHRcdGZsb2F0IG1heE1JUExldmVsU2NhbGFyID0gZmxvYXQoIG1heE1JUExldmVsICk7XG5cdFx0ZmxvYXQgc2lnbWEgPSBQSSAqIHJvdWdobmVzcyAqIHJvdWdobmVzcyAvICggMS4wICsgcm91Z2huZXNzICk7XG5cdFx0ZmxvYXQgZGVzaXJlZE1JUExldmVsID0gbWF4TUlQTGV2ZWxTY2FsYXIgKyBsb2cyKCBzaWdtYSApO1xuXHRcdHJldHVybiBjbGFtcCggZGVzaXJlZE1JUExldmVsLCAwLjAsIG1heE1JUExldmVsU2NhbGFyICk7XG5cdH1cblx0dmVjMyBnZXRMaWdodFByb2JlSW5kaXJlY3RSYWRpYW5jZSggY29uc3QgaW4gdmVjMyB2aWV3RGlyLCBjb25zdCBpbiB2ZWMzIG5vcm1hbCwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzLCBjb25zdCBpbiBpbnQgbWF4TUlQTGV2ZWwgKSB7XG5cdFx0I2lmZGVmIEVOVk1BUF9NT0RFX1JFRkxFQ1RJT05cblx0XHRcdHZlYzMgcmVmbGVjdFZlYyA9IHJlZmxlY3QoIC12aWV3RGlyLCBub3JtYWwgKTtcblx0XHRcdHJlZmxlY3RWZWMgPSBub3JtYWxpemUoIG1peCggcmVmbGVjdFZlYywgbm9ybWFsLCByb3VnaG5lc3MgKiByb3VnaG5lc3MpICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHZlYzMgcmVmbGVjdFZlYyA9IHJlZnJhY3QoIC12aWV3RGlyLCBub3JtYWwsIHJlZnJhY3Rpb25SYXRpbyApO1xuXHRcdCNlbmRpZlxuXHRcdHJlZmxlY3RWZWMgPSBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCByZWZsZWN0VmVjLCB2aWV3TWF0cml4ICk7XG5cdFx0ZmxvYXQgc3BlY3VsYXJNSVBMZXZlbCA9IGdldFNwZWN1bGFyTUlQTGV2ZWwoIHJvdWdobmVzcywgbWF4TUlQTGV2ZWwgKTtcblx0XHQjaWZkZWYgRU5WTUFQX1RZUEVfQ1VCRVxuXHRcdFx0dmVjMyBxdWVyeVJlZmxlY3RWZWMgPSB2ZWMzKCBmbGlwRW52TWFwICogcmVmbGVjdFZlYy54LCByZWZsZWN0VmVjLnl6ICk7XG5cdFx0XHQjaWZkZWYgVEVYVFVSRV9MT0RfRVhUXG5cdFx0XHRcdHZlYzQgZW52TWFwQ29sb3IgPSB0ZXh0dXJlQ3ViZUxvZEVYVCggZW52TWFwLCBxdWVyeVJlZmxlY3RWZWMsIHNwZWN1bGFyTUlQTGV2ZWwgKTtcblx0XHRcdCNlbHNlXG5cdFx0XHRcdHZlYzQgZW52TWFwQ29sb3IgPSB0ZXh0dXJlQ3ViZSggZW52TWFwLCBxdWVyeVJlZmxlY3RWZWMsIHNwZWN1bGFyTUlQTGV2ZWwgKTtcblx0XHRcdCNlbmRpZlxuXHRcdFx0ZW52TWFwQ29sb3IucmdiID0gZW52TWFwVGV4ZWxUb0xpbmVhciggZW52TWFwQ29sb3IgKS5yZ2I7XG5cdFx0I2VsaWYgZGVmaW5lZCggRU5WTUFQX1RZUEVfQ1VCRV9VViApXG5cdFx0XHR2ZWM0IGVudk1hcENvbG9yID0gdGV4dHVyZUN1YmVVViggZW52TWFwLCByZWZsZWN0VmVjLCByb3VnaG5lc3MgKTtcblx0XHQjZW5kaWZcblx0XHRyZXR1cm4gZW52TWFwQ29sb3IucmdiICogZW52TWFwSW50ZW5zaXR5O1xuXHR9XG4jZW5kaWYiLGVudm1hcF92ZXJ0ZXg6IiNpZmRlZiBVU0VfRU5WTUFQXG5cdCNpZmRlZiBFTlZfV09STERQT1Ncblx0XHR2V29ybGRQb3NpdGlvbiA9IHdvcmxkUG9zaXRpb24ueHl6O1xuXHQjZWxzZVxuXHRcdHZlYzMgY2FtZXJhVG9WZXJ0ZXg7XG5cdFx0aWYgKCBpc09ydGhvZ3JhcGhpYyApIHtcblx0XHRcdGNhbWVyYVRvVmVydGV4ID0gbm9ybWFsaXplKCB2ZWMzKCAtIHZpZXdNYXRyaXhbIDAgXVsgMiBdLCAtIHZpZXdNYXRyaXhbIDEgXVsgMiBdLCAtIHZpZXdNYXRyaXhbIDIgXVsgMiBdICkgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y2FtZXJhVG9WZXJ0ZXggPSBub3JtYWxpemUoIHdvcmxkUG9zaXRpb24ueHl6IC0gY2FtZXJhUG9zaXRpb24gKTtcblx0XHR9XG5cdFx0dmVjMyB3b3JsZE5vcm1hbCA9IGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIHRyYW5zZm9ybWVkTm9ybWFsLCB2aWV3TWF0cml4ICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9NT0RFX1JFRkxFQ1RJT05cblx0XHRcdHZSZWZsZWN0ID0gcmVmbGVjdCggY2FtZXJhVG9WZXJ0ZXgsIHdvcmxkTm9ybWFsICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHZSZWZsZWN0ID0gcmVmcmFjdCggY2FtZXJhVG9WZXJ0ZXgsIHdvcmxkTm9ybWFsLCByZWZyYWN0aW9uUmF0aW8gKTtcblx0XHQjZW5kaWZcblx0I2VuZGlmXG4jZW5kaWYiLGZvZ192ZXJ0ZXg6IiNpZmRlZiBVU0VfRk9HXG5cdGZvZ0RlcHRoID0gLSBtdlBvc2l0aW9uLno7XG4jZW5kaWYiLGZvZ19wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9GT0dcblx0dmFyeWluZyBmbG9hdCBmb2dEZXB0aDtcbiNlbmRpZiIsZm9nX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0ZPR1xuXHQjaWZkZWYgRk9HX0VYUDJcblx0XHRmbG9hdCBmb2dGYWN0b3IgPSAxLjAgLSBleHAoIC0gZm9nRGVuc2l0eSAqIGZvZ0RlbnNpdHkgKiBmb2dEZXB0aCAqIGZvZ0RlcHRoICk7XG5cdCNlbHNlXG5cdFx0ZmxvYXQgZm9nRmFjdG9yID0gc21vb3Roc3RlcCggZm9nTmVhciwgZm9nRmFyLCBmb2dEZXB0aCApO1xuXHQjZW5kaWZcblx0Z2xfRnJhZ0NvbG9yLnJnYiA9IG1peCggZ2xfRnJhZ0NvbG9yLnJnYiwgZm9nQ29sb3IsIGZvZ0ZhY3RvciApO1xuI2VuZGlmIixmb2dfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9GT0dcblx0dW5pZm9ybSB2ZWMzIGZvZ0NvbG9yO1xuXHR2YXJ5aW5nIGZsb2F0IGZvZ0RlcHRoO1xuXHQjaWZkZWYgRk9HX0VYUDJcblx0XHR1bmlmb3JtIGZsb2F0IGZvZ0RlbnNpdHk7XG5cdCNlbHNlXG5cdFx0dW5pZm9ybSBmbG9hdCBmb2dOZWFyO1xuXHRcdHVuaWZvcm0gZmxvYXQgZm9nRmFyO1xuXHQjZW5kaWZcbiNlbmRpZiIsZ3JhZGllbnRtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9HUkFESUVOVE1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBncmFkaWVudE1hcDtcbiNlbmRpZlxudmVjMyBnZXRHcmFkaWVudElycmFkaWFuY2UoIHZlYzMgbm9ybWFsLCB2ZWMzIGxpZ2h0RGlyZWN0aW9uICkge1xuXHRmbG9hdCBkb3ROTCA9IGRvdCggbm9ybWFsLCBsaWdodERpcmVjdGlvbiApO1xuXHR2ZWMyIGNvb3JkID0gdmVjMiggZG90TkwgKiAwLjUgKyAwLjUsIDAuMCApO1xuXHQjaWZkZWYgVVNFX0dSQURJRU5UTUFQXG5cdFx0cmV0dXJuIHRleHR1cmUyRCggZ3JhZGllbnRNYXAsIGNvb3JkICkucmdiO1xuXHQjZWxzZVxuXHRcdHJldHVybiAoIGNvb3JkLnggPCAwLjcgKSA/IHZlYzMoIDAuNyApIDogdmVjMyggMS4wICk7XG5cdCNlbmRpZlxufSIsbGlnaHRtYXBfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfTElHSFRNQVBcblx0dmVjNCBsaWdodE1hcFRleGVsPSB0ZXh0dXJlMkQoIGxpZ2h0TWFwLCB2VXYyICk7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSBQSSAqIGxpZ2h0TWFwVGV4ZWxUb0xpbmVhciggbGlnaHRNYXBUZXhlbCApLnJnYiAqIGxpZ2h0TWFwSW50ZW5zaXR5O1xuI2VuZGlmIixsaWdodG1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0xJR0hUTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGxpZ2h0TWFwO1xuXHR1bmlmb3JtIGZsb2F0IGxpZ2h0TWFwSW50ZW5zaXR5O1xuI2VuZGlmIixsaWdodHNfbGFtYmVydF92ZXJ0ZXg6InZlYzMgZGlmZnVzZSA9IHZlYzMoIDEuMCApO1xuR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeTtcbmdlb21ldHJ5LnBvc2l0aW9uID0gbXZQb3NpdGlvbi54eXo7XG5nZW9tZXRyeS5ub3JtYWwgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkTm9ybWFsICk7XG5nZW9tZXRyeS52aWV3RGlyID0gKCBpc09ydGhvZ3JhcGhpYyApID8gdmVjMyggMCwgMCwgMSApIDogbm9ybWFsaXplKCAtbXZQb3NpdGlvbi54eXogKTtcbkdlb21ldHJpY0NvbnRleHQgYmFja0dlb21ldHJ5O1xuYmFja0dlb21ldHJ5LnBvc2l0aW9uID0gZ2VvbWV0cnkucG9zaXRpb247XG5iYWNrR2VvbWV0cnkubm9ybWFsID0gLWdlb21ldHJ5Lm5vcm1hbDtcbmJhY2tHZW9tZXRyeS52aWV3RGlyID0gZ2VvbWV0cnkudmlld0RpcjtcbnZMaWdodEZyb250ID0gdmVjMyggMC4wICk7XG52SW5kaXJlY3RGcm9udCA9IHZlYzMoIDAuMCApO1xuI2lmZGVmIERPVUJMRV9TSURFRFxuXHR2TGlnaHRCYWNrID0gdmVjMyggMC4wICk7XG5cdHZJbmRpcmVjdEJhY2sgPSB2ZWMzKCAwLjAgKTtcbiNlbmRpZlxuSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodDtcbmZsb2F0IGRvdE5MO1xudmVjMyBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG52SW5kaXJlY3RGcm9udCArPSBnZXRBbWJpZW50TGlnaHRJcnJhZGlhbmNlKCBhbWJpZW50TGlnaHRDb2xvciApO1xudkluZGlyZWN0RnJvbnQgKz0gZ2V0TGlnaHRQcm9iZUlycmFkaWFuY2UoIGxpZ2h0UHJvYmUsIGdlb21ldHJ5ICk7XG4jaWZkZWYgRE9VQkxFX1NJREVEXG5cdHZJbmRpcmVjdEJhY2sgKz0gZ2V0QW1iaWVudExpZ2h0SXJyYWRpYW5jZSggYW1iaWVudExpZ2h0Q29sb3IgKTtcblx0dkluZGlyZWN0QmFjayArPSBnZXRMaWdodFByb2JlSXJyYWRpYW5jZSggbGlnaHRQcm9iZSwgYmFja0dlb21ldHJ5ICk7XG4jZW5kaWZcbiNpZiBOVU1fUE9JTlRfTElHSFRTID4gMFxuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9QT0lOVF9MSUdIVFM7IGkgKysgKSB7XG5cdFx0Z2V0UG9pbnREaXJlY3RMaWdodElycmFkaWFuY2UoIHBvaW50TGlnaHRzWyBpIF0sIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdGRvdE5MID0gZG90KCBnZW9tZXRyeS5ub3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApO1xuXHRcdGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZSA9IFBJICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdFx0dkxpZ2h0RnJvbnQgKz0gc2F0dXJhdGUoIGRvdE5MICkgKiBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG5cdFx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdFx0dkxpZ2h0QmFjayArPSBzYXR1cmF0ZSggLWRvdE5MICkgKiBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG5cdFx0I2VuZGlmXG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcbiNlbmRpZlxuI2lmIE5VTV9TUE9UX0xJR0hUUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fU1BPVF9MSUdIVFM7IGkgKysgKSB7XG5cdFx0Z2V0U3BvdERpcmVjdExpZ2h0SXJyYWRpYW5jZSggc3BvdExpZ2h0c1sgaSBdLCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcblx0XHRkb3ROTCA9IGRvdCggZ2VvbWV0cnkubm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKTtcblx0XHRkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2UgPSBQSSAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHRcdHZMaWdodEZyb250ICs9IHNhdHVyYXRlKCBkb3ROTCApICogZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHZMaWdodEJhY2sgKz0gc2F0dXJhdGUoIC1kb3ROTCApICogZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xuXHRcdCNlbmRpZlxuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG4jZW5kaWZcbiNpZiBOVU1fRElSX0xJR0hUUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fRElSX0xJR0hUUzsgaSArKyApIHtcblx0XHRnZXREaXJlY3Rpb25hbERpcmVjdExpZ2h0SXJyYWRpYW5jZSggZGlyZWN0aW9uYWxMaWdodHNbIGkgXSwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XG5cdFx0ZG90TkwgPSBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICk7XG5cdFx0ZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlID0gUEkgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0XHR2TGlnaHRGcm9udCArPSBzYXR1cmF0ZSggZG90TkwgKSAqIGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZTtcblx0XHQjaWZkZWYgRE9VQkxFX1NJREVEXG5cdFx0XHR2TGlnaHRCYWNrICs9IHNhdHVyYXRlKCAtZG90TkwgKSAqIGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZTtcblx0XHQjZW5kaWZcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuI2VuZGlmXG4jaWYgTlVNX0hFTUlfTElHSFRTID4gMFxuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9IRU1JX0xJR0hUUzsgaSArKyApIHtcblx0XHR2SW5kaXJlY3RGcm9udCArPSBnZXRIZW1pc3BoZXJlTGlnaHRJcnJhZGlhbmNlKCBoZW1pc3BoZXJlTGlnaHRzWyBpIF0sIGdlb21ldHJ5ICk7XG5cdFx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdFx0dkluZGlyZWN0QmFjayArPSBnZXRIZW1pc3BoZXJlTGlnaHRJcnJhZGlhbmNlKCBoZW1pc3BoZXJlTGlnaHRzWyBpIF0sIGJhY2tHZW9tZXRyeSApO1xuXHRcdCNlbmRpZlxuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG4jZW5kaWYiLGxpZ2h0c19wYXJzX2JlZ2luOiJ1bmlmb3JtIGJvb2wgcmVjZWl2ZVNoYWRvdztcbnVuaWZvcm0gdmVjMyBhbWJpZW50TGlnaHRDb2xvcjtcbnVuaWZvcm0gdmVjMyBsaWdodFByb2JlWyA5IF07XG52ZWMzIHNoR2V0SXJyYWRpYW5jZUF0KCBpbiB2ZWMzIG5vcm1hbCwgaW4gdmVjMyBzaENvZWZmaWNpZW50c1sgOSBdICkge1xuXHRmbG9hdCB4ID0gbm9ybWFsLngsIHkgPSBub3JtYWwueSwgeiA9IG5vcm1hbC56O1xuXHR2ZWMzIHJlc3VsdCA9IHNoQ29lZmZpY2llbnRzWyAwIF0gKiAwLjg4NjIyNztcblx0cmVzdWx0ICs9IHNoQ29lZmZpY2llbnRzWyAxIF0gKiAyLjAgKiAwLjUxMTY2NCAqIHk7XG5cdHJlc3VsdCArPSBzaENvZWZmaWNpZW50c1sgMiBdICogMi4wICogMC41MTE2NjQgKiB6O1xuXHRyZXN1bHQgKz0gc2hDb2VmZmljaWVudHNbIDMgXSAqIDIuMCAqIDAuNTExNjY0ICogeDtcblx0cmVzdWx0ICs9IHNoQ29lZmZpY2llbnRzWyA0IF0gKiAyLjAgKiAwLjQyOTA0MyAqIHggKiB5O1xuXHRyZXN1bHQgKz0gc2hDb2VmZmljaWVudHNbIDUgXSAqIDIuMCAqIDAuNDI5MDQzICogeSAqIHo7XG5cdHJlc3VsdCArPSBzaENvZWZmaWNpZW50c1sgNiBdICogKCAwLjc0MzEyNSAqIHogKiB6IC0gMC4yNDc3MDggKTtcblx0cmVzdWx0ICs9IHNoQ29lZmZpY2llbnRzWyA3IF0gKiAyLjAgKiAwLjQyOTA0MyAqIHggKiB6O1xuXHRyZXN1bHQgKz0gc2hDb2VmZmljaWVudHNbIDggXSAqIDAuNDI5MDQzICogKCB4ICogeCAtIHkgKiB5ICk7XG5cdHJldHVybiByZXN1bHQ7XG59XG52ZWMzIGdldExpZ2h0UHJvYmVJcnJhZGlhbmNlKCBjb25zdCBpbiB2ZWMzIGxpZ2h0UHJvYmVbIDkgXSwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSApIHtcblx0dmVjMyB3b3JsZE5vcm1hbCA9IGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIGdlb21ldHJ5Lm5vcm1hbCwgdmlld01hdHJpeCApO1xuXHR2ZWMzIGlycmFkaWFuY2UgPSBzaEdldElycmFkaWFuY2VBdCggd29ybGROb3JtYWwsIGxpZ2h0UHJvYmUgKTtcblx0cmV0dXJuIGlycmFkaWFuY2U7XG59XG52ZWMzIGdldEFtYmllbnRMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIHZlYzMgYW1iaWVudExpZ2h0Q29sb3IgKSB7XG5cdHZlYzMgaXJyYWRpYW5jZSA9IGFtYmllbnRMaWdodENvbG9yO1xuXHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRpcnJhZGlhbmNlICo9IFBJO1xuXHQjZW5kaWZcblx0cmV0dXJuIGlycmFkaWFuY2U7XG59XG4jaWYgTlVNX0RJUl9MSUdIVFMgPiAwXG5cdHN0cnVjdCBEaXJlY3Rpb25hbExpZ2h0IHtcblx0XHR2ZWMzIGRpcmVjdGlvbjtcblx0XHR2ZWMzIGNvbG9yO1xuXHR9O1xuXHR1bmlmb3JtIERpcmVjdGlvbmFsTGlnaHQgZGlyZWN0aW9uYWxMaWdodHNbIE5VTV9ESVJfTElHSFRTIF07XG5cdHZvaWQgZ2V0RGlyZWN0aW9uYWxEaXJlY3RMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIERpcmVjdGlvbmFsTGlnaHQgZGlyZWN0aW9uYWxMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgb3V0IEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQgKSB7XG5cdFx0ZGlyZWN0TGlnaHQuY29sb3IgPSBkaXJlY3Rpb25hbExpZ2h0LmNvbG9yO1xuXHRcdGRpcmVjdExpZ2h0LmRpcmVjdGlvbiA9IGRpcmVjdGlvbmFsTGlnaHQuZGlyZWN0aW9uO1xuXHRcdGRpcmVjdExpZ2h0LnZpc2libGUgPSB0cnVlO1xuXHR9XG4jZW5kaWZcbiNpZiBOVU1fUE9JTlRfTElHSFRTID4gMFxuXHRzdHJ1Y3QgUG9pbnRMaWdodCB7XG5cdFx0dmVjMyBwb3NpdGlvbjtcblx0XHR2ZWMzIGNvbG9yO1xuXHRcdGZsb2F0IGRpc3RhbmNlO1xuXHRcdGZsb2F0IGRlY2F5O1xuXHR9O1xuXHR1bmlmb3JtIFBvaW50TGlnaHQgcG9pbnRMaWdodHNbIE5VTV9QT0lOVF9MSUdIVFMgXTtcblx0dm9pZCBnZXRQb2ludERpcmVjdExpZ2h0SXJyYWRpYW5jZSggY29uc3QgaW4gUG9pbnRMaWdodCBwb2ludExpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBvdXQgSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodCApIHtcblx0XHR2ZWMzIGxWZWN0b3IgPSBwb2ludExpZ2h0LnBvc2l0aW9uIC0gZ2VvbWV0cnkucG9zaXRpb247XG5cdFx0ZGlyZWN0TGlnaHQuZGlyZWN0aW9uID0gbm9ybWFsaXplKCBsVmVjdG9yICk7XG5cdFx0ZmxvYXQgbGlnaHREaXN0YW5jZSA9IGxlbmd0aCggbFZlY3RvciApO1xuXHRcdGRpcmVjdExpZ2h0LmNvbG9yID0gcG9pbnRMaWdodC5jb2xvcjtcblx0XHRkaXJlY3RMaWdodC5jb2xvciAqPSBwdW5jdHVhbExpZ2h0SW50ZW5zaXR5VG9JcnJhZGlhbmNlRmFjdG9yKCBsaWdodERpc3RhbmNlLCBwb2ludExpZ2h0LmRpc3RhbmNlLCBwb2ludExpZ2h0LmRlY2F5ICk7XG5cdFx0ZGlyZWN0TGlnaHQudmlzaWJsZSA9ICggZGlyZWN0TGlnaHQuY29sb3IgIT0gdmVjMyggMC4wICkgKTtcblx0fVxuI2VuZGlmXG4jaWYgTlVNX1NQT1RfTElHSFRTID4gMFxuXHRzdHJ1Y3QgU3BvdExpZ2h0IHtcblx0XHR2ZWMzIHBvc2l0aW9uO1xuXHRcdHZlYzMgZGlyZWN0aW9uO1xuXHRcdHZlYzMgY29sb3I7XG5cdFx0ZmxvYXQgZGlzdGFuY2U7XG5cdFx0ZmxvYXQgZGVjYXk7XG5cdFx0ZmxvYXQgY29uZUNvcztcblx0XHRmbG9hdCBwZW51bWJyYUNvcztcblx0fTtcblx0dW5pZm9ybSBTcG90TGlnaHQgc3BvdExpZ2h0c1sgTlVNX1NQT1RfTElHSFRTIF07XG5cdHZvaWQgZ2V0U3BvdERpcmVjdExpZ2h0SXJyYWRpYW5jZSggY29uc3QgaW4gU3BvdExpZ2h0IHNwb3RMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgb3V0IEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQgKSB7XG5cdFx0dmVjMyBsVmVjdG9yID0gc3BvdExpZ2h0LnBvc2l0aW9uIC0gZ2VvbWV0cnkucG9zaXRpb247XG5cdFx0ZGlyZWN0TGlnaHQuZGlyZWN0aW9uID0gbm9ybWFsaXplKCBsVmVjdG9yICk7XG5cdFx0ZmxvYXQgbGlnaHREaXN0YW5jZSA9IGxlbmd0aCggbFZlY3RvciApO1xuXHRcdGZsb2F0IGFuZ2xlQ29zID0gZG90KCBkaXJlY3RMaWdodC5kaXJlY3Rpb24sIHNwb3RMaWdodC5kaXJlY3Rpb24gKTtcblx0XHRpZiAoIGFuZ2xlQ29zID4gc3BvdExpZ2h0LmNvbmVDb3MgKSB7XG5cdFx0XHRmbG9hdCBzcG90RWZmZWN0ID0gc21vb3Roc3RlcCggc3BvdExpZ2h0LmNvbmVDb3MsIHNwb3RMaWdodC5wZW51bWJyYUNvcywgYW5nbGVDb3MgKTtcblx0XHRcdGRpcmVjdExpZ2h0LmNvbG9yID0gc3BvdExpZ2h0LmNvbG9yO1xuXHRcdFx0ZGlyZWN0TGlnaHQuY29sb3IgKj0gc3BvdEVmZmVjdCAqIHB1bmN0dWFsTGlnaHRJbnRlbnNpdHlUb0lycmFkaWFuY2VGYWN0b3IoIGxpZ2h0RGlzdGFuY2UsIHNwb3RMaWdodC5kaXN0YW5jZSwgc3BvdExpZ2h0LmRlY2F5ICk7XG5cdFx0XHRkaXJlY3RMaWdodC52aXNpYmxlID0gdHJ1ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZGlyZWN0TGlnaHQuY29sb3IgPSB2ZWMzKCAwLjAgKTtcblx0XHRcdGRpcmVjdExpZ2h0LnZpc2libGUgPSBmYWxzZTtcblx0XHR9XG5cdH1cbiNlbmRpZlxuI2lmIE5VTV9SRUNUX0FSRUFfTElHSFRTID4gMFxuXHRzdHJ1Y3QgUmVjdEFyZWFMaWdodCB7XG5cdFx0dmVjMyBjb2xvcjtcblx0XHR2ZWMzIHBvc2l0aW9uO1xuXHRcdHZlYzMgaGFsZldpZHRoO1xuXHRcdHZlYzMgaGFsZkhlaWdodDtcblx0fTtcblx0dW5pZm9ybSBzYW1wbGVyMkQgbHRjXzE7XHR1bmlmb3JtIHNhbXBsZXIyRCBsdGNfMjtcblx0dW5pZm9ybSBSZWN0QXJlYUxpZ2h0IHJlY3RBcmVhTGlnaHRzWyBOVU1fUkVDVF9BUkVBX0xJR0hUUyBdO1xuI2VuZGlmXG4jaWYgTlVNX0hFTUlfTElHSFRTID4gMFxuXHRzdHJ1Y3QgSGVtaXNwaGVyZUxpZ2h0IHtcblx0XHR2ZWMzIGRpcmVjdGlvbjtcblx0XHR2ZWMzIHNreUNvbG9yO1xuXHRcdHZlYzMgZ3JvdW5kQ29sb3I7XG5cdH07XG5cdHVuaWZvcm0gSGVtaXNwaGVyZUxpZ2h0IGhlbWlzcGhlcmVMaWdodHNbIE5VTV9IRU1JX0xJR0hUUyBdO1xuXHR2ZWMzIGdldEhlbWlzcGhlcmVMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIEhlbWlzcGhlcmVMaWdodCBoZW1pTGlnaHQsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnkgKSB7XG5cdFx0ZmxvYXQgZG90TkwgPSBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgaGVtaUxpZ2h0LmRpcmVjdGlvbiApO1xuXHRcdGZsb2F0IGhlbWlEaWZmdXNlV2VpZ2h0ID0gMC41ICogZG90TkwgKyAwLjU7XG5cdFx0dmVjMyBpcnJhZGlhbmNlID0gbWl4KCBoZW1pTGlnaHQuZ3JvdW5kQ29sb3IsIGhlbWlMaWdodC5za3lDb2xvciwgaGVtaURpZmZ1c2VXZWlnaHQgKTtcblx0XHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRcdGlycmFkaWFuY2UgKj0gUEk7XG5cdFx0I2VuZGlmXG5cdFx0cmV0dXJuIGlycmFkaWFuY2U7XG5cdH1cbiNlbmRpZiIsbGlnaHRzX3Rvb25fZnJhZ21lbnQ6IlRvb25NYXRlcmlhbCBtYXRlcmlhbDtcbm1hdGVyaWFsLmRpZmZ1c2VDb2xvciA9IGRpZmZ1c2VDb2xvci5yZ2I7IixsaWdodHNfdG9vbl9wYXJzX2ZyYWdtZW50OiJ2YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG4jZW5kaWZcbnN0cnVjdCBUb29uTWF0ZXJpYWwge1xuXHR2ZWMzIGRpZmZ1c2VDb2xvcjtcbn07XG52b2lkIFJFX0RpcmVjdF9Ub29uKCBjb25zdCBpbiBJbmNpZGVudExpZ2h0IGRpcmVjdExpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiBUb29uTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHR2ZWMzIGlycmFkaWFuY2UgPSBnZXRHcmFkaWVudElycmFkaWFuY2UoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICkgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0aXJyYWRpYW5jZSAqPSBQSTtcblx0I2VuZGlmXG5cdHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKz0gaXJyYWRpYW5jZSAqIEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKTtcbn1cbnZvaWQgUkVfSW5kaXJlY3REaWZmdXNlX1Rvb24oIGNvbnN0IGluIHZlYzMgaXJyYWRpYW5jZSwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gVG9vbk1hdGVyaWFsIG1hdGVyaWFsLCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCApIHtcblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICs9IGlycmFkaWFuY2UgKiBCUkRGX0RpZmZ1c2VfTGFtYmVydCggbWF0ZXJpYWwuZGlmZnVzZUNvbG9yICk7XG59XG4jZGVmaW5lIFJFX0RpcmVjdFx0XHRcdFx0UkVfRGlyZWN0X1Rvb25cbiNkZWZpbmUgUkVfSW5kaXJlY3REaWZmdXNlXHRcdFJFX0luZGlyZWN0RGlmZnVzZV9Ub29uXG4jZGVmaW5lIE1hdGVyaWFsX0xpZ2h0UHJvYmVMT0QoIG1hdGVyaWFsIClcdCgwKSIsbGlnaHRzX3Bob25nX2ZyYWdtZW50OiJCbGlublBob25nTWF0ZXJpYWwgbWF0ZXJpYWw7XG5tYXRlcmlhbC5kaWZmdXNlQ29sb3IgPSBkaWZmdXNlQ29sb3IucmdiO1xubWF0ZXJpYWwuc3BlY3VsYXJDb2xvciA9IHNwZWN1bGFyO1xubWF0ZXJpYWwuc3BlY3VsYXJTaGluaW5lc3MgPSBzaGluaW5lc3M7XG5tYXRlcmlhbC5zcGVjdWxhclN0cmVuZ3RoID0gc3BlY3VsYXJTdHJlbmd0aDsiLGxpZ2h0c19waG9uZ19wYXJzX2ZyYWdtZW50OiJ2YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG4jZW5kaWZcbnN0cnVjdCBCbGlublBob25nTWF0ZXJpYWwge1xuXHR2ZWMzIGRpZmZ1c2VDb2xvcjtcblx0dmVjMyBzcGVjdWxhckNvbG9yO1xuXHRmbG9hdCBzcGVjdWxhclNoaW5pbmVzcztcblx0ZmxvYXQgc3BlY3VsYXJTdHJlbmd0aDtcbn07XG52b2lkIFJFX0RpcmVjdF9CbGlublBob25nKCBjb25zdCBpbiBJbmNpZGVudExpZ2h0IGRpcmVjdExpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiBCbGlublBob25nTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHRmbG9hdCBkb3ROTCA9IHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICkgKTtcblx0dmVjMyBpcnJhZGlhbmNlID0gZG90TkwgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0aXJyYWRpYW5jZSAqPSBQSTtcblx0I2VuZGlmXG5cdHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKz0gaXJyYWRpYW5jZSAqIEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKTtcblx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKz0gaXJyYWRpYW5jZSAqIEJSREZfU3BlY3VsYXJfQmxpbm5QaG9uZyggZGlyZWN0TGlnaHQsIGdlb21ldHJ5LCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yLCBtYXRlcmlhbC5zcGVjdWxhclNoaW5pbmVzcyApICogbWF0ZXJpYWwuc3BlY3VsYXJTdHJlbmd0aDtcbn1cbnZvaWQgUkVfSW5kaXJlY3REaWZmdXNlX0JsaW5uUGhvbmcoIGNvbnN0IGluIHZlYzMgaXJyYWRpYW5jZSwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gQmxpbm5QaG9uZ01hdGVyaWFsIG1hdGVyaWFsLCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCApIHtcblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICs9IGlycmFkaWFuY2UgKiBCUkRGX0RpZmZ1c2VfTGFtYmVydCggbWF0ZXJpYWwuZGlmZnVzZUNvbG9yICk7XG59XG4jZGVmaW5lIFJFX0RpcmVjdFx0XHRcdFx0UkVfRGlyZWN0X0JsaW5uUGhvbmdcbiNkZWZpbmUgUkVfSW5kaXJlY3REaWZmdXNlXHRcdFJFX0luZGlyZWN0RGlmZnVzZV9CbGlublBob25nXG4jZGVmaW5lIE1hdGVyaWFsX0xpZ2h0UHJvYmVMT0QoIG1hdGVyaWFsIClcdCgwKSIsbGlnaHRzX3BoeXNpY2FsX2ZyYWdtZW50OiJQaHlzaWNhbE1hdGVyaWFsIG1hdGVyaWFsO1xubWF0ZXJpYWwuZGlmZnVzZUNvbG9yID0gZGlmZnVzZUNvbG9yLnJnYiAqICggMS4wIC0gbWV0YWxuZXNzRmFjdG9yICk7XG52ZWMzIGR4eSA9IG1heCggYWJzKCBkRmR4KCBnZW9tZXRyeU5vcm1hbCApICksIGFicyggZEZkeSggZ2VvbWV0cnlOb3JtYWwgKSApICk7XG5mbG9hdCBnZW9tZXRyeVJvdWdobmVzcyA9IG1heCggbWF4KCBkeHkueCwgZHh5LnkgKSwgZHh5LnogKTtcbm1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzID0gbWF4KCByb3VnaG5lc3NGYWN0b3IsIDAuMDUyNSApO21hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzICs9IGdlb21ldHJ5Um91Z2huZXNzO1xubWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MgPSBtaW4oIG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzLCAxLjAgKTtcbiNpZmRlZiBSRUZMRUNUSVZJVFlcblx0I2lmZGVmIFNQRUNVTEFSXG5cdFx0dmVjMyBzcGVjdWxhckludGVuc2l0eUZhY3RvciA9IHZlYzMoIHNwZWN1bGFySW50ZW5zaXR5ICk7XG5cdFx0dmVjMyBzcGVjdWxhclRpbnRGYWN0b3IgPSBzcGVjdWxhclRpbnQ7XG5cdFx0I2lmZGVmIFVTRV9TUEVDVUxBUklOVEVOU0lUWU1BUFxuXHRcdFx0c3BlY3VsYXJJbnRlbnNpdHlGYWN0b3IgKj0gdGV4dHVyZTJEKCBzcGVjdWxhckludGVuc2l0eU1hcCwgdlV2ICkuYTtcblx0XHQjZW5kaWZcblx0XHQjaWZkZWYgVVNFX1NQRUNVTEFSVElOVE1BUFxuXHRcdFx0c3BlY3VsYXJUaW50RmFjdG9yICo9IHNwZWN1bGFyVGludE1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCggc3BlY3VsYXJUaW50TWFwLCB2VXYgKSApLnJnYjtcblx0XHQjZW5kaWZcblx0XHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yRjkwID0gbWl4KCBzcGVjdWxhckludGVuc2l0eUZhY3RvciwgdmVjMyggMS4wICksIG1ldGFsbmVzc0ZhY3RvciApO1xuXHQjZWxzZVxuXHRcdHZlYzMgc3BlY3VsYXJJbnRlbnNpdHlGYWN0b3IgPSB2ZWMzKCAxLjAgKTtcblx0XHR2ZWMzIHNwZWN1bGFyVGludEZhY3RvciA9IHZlYzMoIDEuMCApO1xuXHRcdG1hdGVyaWFsLnNwZWN1bGFyQ29sb3JGOTAgPSB2ZWMzKCAxLjAgKTtcblx0I2VuZGlmXG5cdG1hdGVyaWFsLnNwZWN1bGFyQ29sb3IgPSBtaXgoIG1pbiggdmVjMyggTUFYSU1VTV9TUEVDVUxBUl9DT0VGRklDSUVOVCAqIHBvdzIoIHJlZmxlY3Rpdml0eSApICkgKiBzcGVjdWxhclRpbnRGYWN0b3IsIHZlYzMoIDEuMCApICkgKiBzcGVjdWxhckludGVuc2l0eUZhY3RvciwgZGlmZnVzZUNvbG9yLnJnYiwgbWV0YWxuZXNzRmFjdG9yICk7XG4jZWxzZVxuXHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yID0gbWl4KCB2ZWMzKCBERUZBVUxUX1NQRUNVTEFSX0NPRUZGSUNJRU5UICksIGRpZmZ1c2VDb2xvci5yZ2IsIG1ldGFsbmVzc0ZhY3RvciApO1xuXHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yRjkwID0gdmVjMyggMS4wICk7XG4jZW5kaWZcbiNpZmRlZiBDTEVBUkNPQVRcblx0bWF0ZXJpYWwuY2xlYXJjb2F0ID0gY2xlYXJjb2F0O1xuXHRtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MgPSBjbGVhcmNvYXRSb3VnaG5lc3M7XG5cdCNpZmRlZiBVU0VfQ0xFQVJDT0FUTUFQXG5cdFx0bWF0ZXJpYWwuY2xlYXJjb2F0ICo9IHRleHR1cmUyRCggY2xlYXJjb2F0TWFwLCB2VXYgKS54O1xuXHQjZW5kaWZcblx0I2lmZGVmIFVTRV9DTEVBUkNPQVRfUk9VR0hORVNTTUFQXG5cdFx0bWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzICo9IHRleHR1cmUyRCggY2xlYXJjb2F0Um91Z2huZXNzTWFwLCB2VXYgKS55O1xuXHQjZW5kaWZcblx0bWF0ZXJpYWwuY2xlYXJjb2F0ID0gc2F0dXJhdGUoIG1hdGVyaWFsLmNsZWFyY29hdCApO1x0bWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzID0gbWF4KCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MsIDAuMDUyNSApO1xuXHRtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MgKz0gZ2VvbWV0cnlSb3VnaG5lc3M7XG5cdG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcyA9IG1pbiggbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzLCAxLjAgKTtcbiNlbmRpZlxuI2lmZGVmIFVTRV9TSEVFTlxuXHRtYXRlcmlhbC5zaGVlbkNvbG9yID0gc2hlZW47XG4jZW5kaWYiLGxpZ2h0c19waHlzaWNhbF9wYXJzX2ZyYWdtZW50OiJzdHJ1Y3QgUGh5c2ljYWxNYXRlcmlhbCB7XG5cdHZlYzMgZGlmZnVzZUNvbG9yO1xuXHRmbG9hdCBzcGVjdWxhclJvdWdobmVzcztcblx0dmVjMyBzcGVjdWxhckNvbG9yO1xuXHR2ZWMzIHNwZWN1bGFyQ29sb3JGOTA7XG4jaWZkZWYgQ0xFQVJDT0FUXG5cdGZsb2F0IGNsZWFyY29hdDtcblx0ZmxvYXQgY2xlYXJjb2F0Um91Z2huZXNzO1xuI2VuZGlmXG4jaWZkZWYgVVNFX1NIRUVOXG5cdHZlYzMgc2hlZW5Db2xvcjtcbiNlbmRpZlxufTtcbiNkZWZpbmUgTUFYSU1VTV9TUEVDVUxBUl9DT0VGRklDSUVOVCAwLjE2XG4jZGVmaW5lIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgMC4wNFxuZmxvYXQgY2xlYXJjb2F0REhSQXBwcm94KCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MsIGNvbnN0IGluIGZsb2F0IGRvdE5MICkge1xuXHRyZXR1cm4gREVGQVVMVF9TUEVDVUxBUl9DT0VGRklDSUVOVCArICggMS4wIC0gREVGQVVMVF9TUEVDVUxBUl9DT0VGRklDSUVOVCApICogKCBwb3coIDEuMCAtIGRvdE5MLCA1LjAgKSAqIHBvdyggMS4wIC0gcm91Z2huZXNzLCAyLjAgKSApO1xufVxuI2lmIE5VTV9SRUNUX0FSRUFfTElHSFRTID4gMFxuXHR2b2lkIFJFX0RpcmVjdF9SZWN0QXJlYV9QaHlzaWNhbCggY29uc3QgaW4gUmVjdEFyZWFMaWdodCByZWN0QXJlYUxpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiBQaHlzaWNhbE1hdGVyaWFsIG1hdGVyaWFsLCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCApIHtcblx0XHR2ZWMzIG5vcm1hbCA9IGdlb21ldHJ5Lm5vcm1hbDtcblx0XHR2ZWMzIHZpZXdEaXIgPSBnZW9tZXRyeS52aWV3RGlyO1xuXHRcdHZlYzMgcG9zaXRpb24gPSBnZW9tZXRyeS5wb3NpdGlvbjtcblx0XHR2ZWMzIGxpZ2h0UG9zID0gcmVjdEFyZWFMaWdodC5wb3NpdGlvbjtcblx0XHR2ZWMzIGhhbGZXaWR0aCA9IHJlY3RBcmVhTGlnaHQuaGFsZldpZHRoO1xuXHRcdHZlYzMgaGFsZkhlaWdodCA9IHJlY3RBcmVhTGlnaHQuaGFsZkhlaWdodDtcblx0XHR2ZWMzIGxpZ2h0Q29sb3IgPSByZWN0QXJlYUxpZ2h0LmNvbG9yO1xuXHRcdGZsb2F0IHJvdWdobmVzcyA9IG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzO1xuXHRcdHZlYzMgcmVjdENvb3Jkc1sgNCBdO1xuXHRcdHJlY3RDb29yZHNbIDAgXSA9IGxpZ2h0UG9zICsgaGFsZldpZHRoIC0gaGFsZkhlaWdodDtcdFx0cmVjdENvb3Jkc1sgMSBdID0gbGlnaHRQb3MgLSBoYWxmV2lkdGggLSBoYWxmSGVpZ2h0O1xuXHRcdHJlY3RDb29yZHNbIDIgXSA9IGxpZ2h0UG9zIC0gaGFsZldpZHRoICsgaGFsZkhlaWdodDtcblx0XHRyZWN0Q29vcmRzWyAzIF0gPSBsaWdodFBvcyArIGhhbGZXaWR0aCArIGhhbGZIZWlnaHQ7XG5cdFx0dmVjMiB1diA9IExUQ19Vdiggbm9ybWFsLCB2aWV3RGlyLCByb3VnaG5lc3MgKTtcblx0XHR2ZWM0IHQxID0gdGV4dHVyZTJEKCBsdGNfMSwgdXYgKTtcblx0XHR2ZWM0IHQyID0gdGV4dHVyZTJEKCBsdGNfMiwgdXYgKTtcblx0XHRtYXQzIG1JbnYgPSBtYXQzKFxuXHRcdFx0dmVjMyggdDEueCwgMCwgdDEueSApLFxuXHRcdFx0dmVjMyggICAgMCwgMSwgICAgMCApLFxuXHRcdFx0dmVjMyggdDEueiwgMCwgdDEudyApXG5cdFx0KTtcblx0XHR2ZWMzIGZyZXNuZWwgPSAoIG1hdGVyaWFsLnNwZWN1bGFyQ29sb3IgKiB0Mi54ICsgKCB2ZWMzKCAxLjAgKSAtIG1hdGVyaWFsLnNwZWN1bGFyQ29sb3IgKSAqIHQyLnkgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArPSBsaWdodENvbG9yICogZnJlc25lbCAqIExUQ19FdmFsdWF0ZSggbm9ybWFsLCB2aWV3RGlyLCBwb3NpdGlvbiwgbUludiwgcmVjdENvb3JkcyApO1xuXHRcdHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKz0gbGlnaHRDb2xvciAqIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciAqIExUQ19FdmFsdWF0ZSggbm9ybWFsLCB2aWV3RGlyLCBwb3NpdGlvbiwgbWF0MyggMS4wICksIHJlY3RDb29yZHMgKTtcblx0fVxuI2VuZGlmXG52b2lkIFJFX0RpcmVjdF9QaHlzaWNhbCggY29uc3QgaW4gSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gUGh5c2ljYWxNYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdGZsb2F0IGRvdE5MID0gc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkubm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKSApO1xuXHR2ZWMzIGlycmFkaWFuY2UgPSBkb3ROTCAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRpcnJhZGlhbmNlICo9IFBJO1xuXHQjZW5kaWZcblx0I2lmZGVmIENMRUFSQ09BVFxuXHRcdGZsb2F0IGNjRG90TkwgPSBzYXR1cmF0ZSggZG90KCBnZW9tZXRyeS5jbGVhcmNvYXROb3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApICk7XG5cdFx0dmVjMyBjY0lycmFkaWFuY2UgPSBjY0RvdE5MICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdFx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0XHRjY0lycmFkaWFuY2UgKj0gUEk7XG5cdFx0I2VuZGlmXG5cdFx0ZmxvYXQgY2xlYXJjb2F0REhSID0gbWF0ZXJpYWwuY2xlYXJjb2F0ICogY2xlYXJjb2F0REhSQXBwcm94KCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MsIGNjRG90TkwgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArPSBjY0lycmFkaWFuY2UgKiBtYXRlcmlhbC5jbGVhcmNvYXQgKiBCUkRGX1NwZWN1bGFyX0dHWCggZGlyZWN0TGlnaHQsIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCwgdmVjMyggREVGQVVMVF9TUEVDVUxBUl9DT0VGRklDSUVOVCApLCB2ZWMzKCAxLjAgKSwgbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzICk7XG5cdCNlbHNlXG5cdFx0ZmxvYXQgY2xlYXJjb2F0REhSID0gMC4wO1xuXHQjZW5kaWZcblx0I2lmZGVmIFVTRV9TSEVFTlxuXHRcdHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyICs9ICggMS4wIC0gY2xlYXJjb2F0REhSICkgKiBpcnJhZGlhbmNlICogQlJERl9TcGVjdWxhcl9TaGVlbihcblx0XHRcdG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzLFxuXHRcdFx0ZGlyZWN0TGlnaHQuZGlyZWN0aW9uLFxuXHRcdFx0Z2VvbWV0cnksXG5cdFx0XHRtYXRlcmlhbC5zaGVlbkNvbG9yXG5cdFx0KTtcblx0I2Vsc2Vcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArPSAoIDEuMCAtIGNsZWFyY29hdERIUiApICogaXJyYWRpYW5jZSAqIEJSREZfU3BlY3VsYXJfR0dYKCBkaXJlY3RMaWdodCwgZ2VvbWV0cnkudmlld0RpciwgZ2VvbWV0cnkubm9ybWFsLCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yLCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yRjkwLCBtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyk7XG5cdCNlbmRpZlxuXHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICs9ICggMS4wIC0gY2xlYXJjb2F0REhSICkgKiBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xufVxudm9pZCBSRV9JbmRpcmVjdERpZmZ1c2VfUGh5c2ljYWwoIGNvbnN0IGluIHZlYzMgaXJyYWRpYW5jZSwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gUGh5c2ljYWxNYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xufVxudm9pZCBSRV9JbmRpcmVjdFNwZWN1bGFyX1BoeXNpY2FsKCBjb25zdCBpbiB2ZWMzIHJhZGlhbmNlLCBjb25zdCBpbiB2ZWMzIGlycmFkaWFuY2UsIGNvbnN0IGluIHZlYzMgY2xlYXJjb2F0UmFkaWFuY2UsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIFBoeXNpY2FsTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0KSB7XG5cdCNpZmRlZiBDTEVBUkNPQVRcblx0XHRmbG9hdCBjY0RvdE5WID0gc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkuY2xlYXJjb2F0Tm9ybWFsLCBnZW9tZXRyeS52aWV3RGlyICkgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICs9IGNsZWFyY29hdFJhZGlhbmNlICogbWF0ZXJpYWwuY2xlYXJjb2F0ICogQlJERl9TcGVjdWxhcl9HR1hfRW52aXJvbm1lbnQoIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCwgdmVjMyggREVGQVVMVF9TUEVDVUxBUl9DT0VGRklDSUVOVCApLCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MgKTtcblx0XHRmbG9hdCBjY0RvdE5MID0gY2NEb3ROVjtcblx0XHRmbG9hdCBjbGVhcmNvYXRESFIgPSBtYXRlcmlhbC5jbGVhcmNvYXQgKiBjbGVhcmNvYXRESFJBcHByb3goIG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcywgY2NEb3ROTCApO1xuXHQjZWxzZVxuXHRcdGZsb2F0IGNsZWFyY29hdERIUiA9IDAuMDtcblx0I2VuZGlmXG5cdGZsb2F0IGNsZWFyY29hdEludiA9IDEuMCAtIGNsZWFyY29hdERIUjtcblx0dmVjMyBzaW5nbGVTY2F0dGVyaW5nID0gdmVjMyggMC4wICk7XG5cdHZlYzMgbXVsdGlTY2F0dGVyaW5nID0gdmVjMyggMC4wICk7XG5cdHZlYzMgY29zaW5lV2VpZ2h0ZWRJcnJhZGlhbmNlID0gaXJyYWRpYW5jZSAqIFJFQ0lQUk9DQUxfUEk7XG5cdEJSREZfU3BlY3VsYXJfTXVsdGlzY2F0dGVyaW5nX0Vudmlyb25tZW50KCBnZW9tZXRyeSwgbWF0ZXJpYWwuc3BlY3VsYXJDb2xvciwgbWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MsIHNpbmdsZVNjYXR0ZXJpbmcsIG11bHRpU2NhdHRlcmluZyApO1xuXHR2ZWMzIGRpZmZ1c2UgPSBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKiAoIDEuMCAtICggc2luZ2xlU2NhdHRlcmluZyArIG11bHRpU2NhdHRlcmluZyApICk7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0U3BlY3VsYXIgKz0gY2xlYXJjb2F0SW52ICogcmFkaWFuY2UgKiBzaW5nbGVTY2F0dGVyaW5nO1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICs9IG11bHRpU2NhdHRlcmluZyAqIGNvc2luZVdlaWdodGVkSXJyYWRpYW5jZTtcblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICs9IGRpZmZ1c2UgKiBjb3NpbmVXZWlnaHRlZElycmFkaWFuY2U7XG59XG4jZGVmaW5lIFJFX0RpcmVjdFx0XHRcdFx0UkVfRGlyZWN0X1BoeXNpY2FsXG4jZGVmaW5lIFJFX0RpcmVjdF9SZWN0QXJlYVx0XHRSRV9EaXJlY3RfUmVjdEFyZWFfUGh5c2ljYWxcbiNkZWZpbmUgUkVfSW5kaXJlY3REaWZmdXNlXHRcdFJFX0luZGlyZWN0RGlmZnVzZV9QaHlzaWNhbFxuI2RlZmluZSBSRV9JbmRpcmVjdFNwZWN1bGFyXHRcdFJFX0luZGlyZWN0U3BlY3VsYXJfUGh5c2ljYWxcbmZsb2F0IGNvbXB1dGVTcGVjdWxhck9jY2x1c2lvbiggY29uc3QgaW4gZmxvYXQgZG90TlYsIGNvbnN0IGluIGZsb2F0IGFtYmllbnRPY2NsdXNpb24sIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcyApIHtcblx0cmV0dXJuIHNhdHVyYXRlKCBwb3coIGRvdE5WICsgYW1iaWVudE9jY2x1c2lvbiwgZXhwMiggLSAxNi4wICogcm91Z2huZXNzIC0gMS4wICkgKSAtIDEuMCArIGFtYmllbnRPY2NsdXNpb24gKTtcbn0iLGxpZ2h0c19mcmFnbWVudF9iZWdpbjoiXG5HZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5O1xuZ2VvbWV0cnkucG9zaXRpb24gPSAtIHZWaWV3UG9zaXRpb247XG5nZW9tZXRyeS5ub3JtYWwgPSBub3JtYWw7XG5nZW9tZXRyeS52aWV3RGlyID0gKCBpc09ydGhvZ3JhcGhpYyApID8gdmVjMyggMCwgMCwgMSApIDogbm9ybWFsaXplKCB2Vmlld1Bvc2l0aW9uICk7XG4jaWZkZWYgQ0xFQVJDT0FUXG5cdGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCA9IGNsZWFyY29hdE5vcm1hbDtcbiNlbmRpZlxuSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodDtcbiNpZiAoIE5VTV9QT0lOVF9MSUdIVFMgPiAwICkgJiYgZGVmaW5lZCggUkVfRGlyZWN0IClcblx0UG9pbnRMaWdodCBwb2ludExpZ2h0O1xuXHQjaWYgZGVmaW5lZCggVVNFX1NIQURPV01BUCApICYmIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTID4gMFxuXHRQb2ludExpZ2h0U2hhZG93IHBvaW50TGlnaHRTaGFkb3c7XG5cdCNlbmRpZlxuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9QT0lOVF9MSUdIVFM7IGkgKysgKSB7XG5cdFx0cG9pbnRMaWdodCA9IHBvaW50TGlnaHRzWyBpIF07XG5cdFx0Z2V0UG9pbnREaXJlY3RMaWdodElycmFkaWFuY2UoIHBvaW50TGlnaHQsIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdCNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgJiYgKCBVTlJPTExFRF9MT09QX0lOREVYIDwgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgKVxuXHRcdHBvaW50TGlnaHRTaGFkb3cgPSBwb2ludExpZ2h0U2hhZG93c1sgaSBdO1xuXHRcdGRpcmVjdExpZ2h0LmNvbG9yICo9IGFsbCggYnZlYzIoIGRpcmVjdExpZ2h0LnZpc2libGUsIHJlY2VpdmVTaGFkb3cgKSApID8gZ2V0UG9pbnRTaGFkb3coIHBvaW50U2hhZG93TWFwWyBpIF0sIHBvaW50TGlnaHRTaGFkb3cuc2hhZG93TWFwU2l6ZSwgcG9pbnRMaWdodFNoYWRvdy5zaGFkb3dCaWFzLCBwb2ludExpZ2h0U2hhZG93LnNoYWRvd1JhZGl1cywgdlBvaW50U2hhZG93Q29vcmRbIGkgXSwgcG9pbnRMaWdodFNoYWRvdy5zaGFkb3dDYW1lcmFOZWFyLCBwb2ludExpZ2h0U2hhZG93LnNoYWRvd0NhbWVyYUZhciApIDogMS4wO1xuXHRcdCNlbmRpZlxuXHRcdFJFX0RpcmVjdCggZGlyZWN0TGlnaHQsIGdlb21ldHJ5LCBtYXRlcmlhbCwgcmVmbGVjdGVkTGlnaHQgKTtcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuI2VuZGlmXG4jaWYgKCBOVU1fU1BPVF9MSUdIVFMgPiAwICkgJiYgZGVmaW5lZCggUkVfRGlyZWN0IClcblx0U3BvdExpZ2h0IHNwb3RMaWdodDtcblx0I2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiBOVU1fU1BPVF9MSUdIVF9TSEFET1dTID4gMFxuXHRTcG90TGlnaHRTaGFkb3cgc3BvdExpZ2h0U2hhZG93O1xuXHQjZW5kaWZcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fU1BPVF9MSUdIVFM7IGkgKysgKSB7XG5cdFx0c3BvdExpZ2h0ID0gc3BvdExpZ2h0c1sgaSBdO1xuXHRcdGdldFNwb3REaXJlY3RMaWdodElycmFkaWFuY2UoIHNwb3RMaWdodCwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XG5cdFx0I2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiAoIFVOUk9MTEVEX0xPT1BfSU5ERVggPCBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIClcblx0XHRzcG90TGlnaHRTaGFkb3cgPSBzcG90TGlnaHRTaGFkb3dzWyBpIF07XG5cdFx0ZGlyZWN0TGlnaHQuY29sb3IgKj0gYWxsKCBidmVjMiggZGlyZWN0TGlnaHQudmlzaWJsZSwgcmVjZWl2ZVNoYWRvdyApICkgPyBnZXRTaGFkb3coIHNwb3RTaGFkb3dNYXBbIGkgXSwgc3BvdExpZ2h0U2hhZG93LnNoYWRvd01hcFNpemUsIHNwb3RMaWdodFNoYWRvdy5zaGFkb3dCaWFzLCBzcG90TGlnaHRTaGFkb3cuc2hhZG93UmFkaXVzLCB2U3BvdFNoYWRvd0Nvb3JkWyBpIF0gKSA6IDEuMDtcblx0XHQjZW5kaWZcblx0XHRSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcbiNlbmRpZlxuI2lmICggTlVNX0RJUl9MSUdIVFMgPiAwICkgJiYgZGVmaW5lZCggUkVfRGlyZWN0IClcblx0RGlyZWN0aW9uYWxMaWdodCBkaXJlY3Rpb25hbExpZ2h0O1xuXHQjaWYgZGVmaW5lZCggVVNFX1NIQURPV01BUCApICYmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyA+IDBcblx0RGlyZWN0aW9uYWxMaWdodFNoYWRvdyBkaXJlY3Rpb25hbExpZ2h0U2hhZG93O1xuXHQjZW5kaWZcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fRElSX0xJR0hUUzsgaSArKyApIHtcblx0XHRkaXJlY3Rpb25hbExpZ2h0ID0gZGlyZWN0aW9uYWxMaWdodHNbIGkgXTtcblx0XHRnZXREaXJlY3Rpb25hbERpcmVjdExpZ2h0SXJyYWRpYW5jZSggZGlyZWN0aW9uYWxMaWdodCwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XG5cdFx0I2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiAoIFVOUk9MTEVEX0xPT1BfSU5ERVggPCBOVU1fRElSX0xJR0hUX1NIQURPV1MgKVxuXHRcdGRpcmVjdGlvbmFsTGlnaHRTaGFkb3cgPSBkaXJlY3Rpb25hbExpZ2h0U2hhZG93c1sgaSBdO1xuXHRcdGRpcmVjdExpZ2h0LmNvbG9yICo9IGFsbCggYnZlYzIoIGRpcmVjdExpZ2h0LnZpc2libGUsIHJlY2VpdmVTaGFkb3cgKSApID8gZ2V0U2hhZG93KCBkaXJlY3Rpb25hbFNoYWRvd01hcFsgaSBdLCBkaXJlY3Rpb25hbExpZ2h0U2hhZG93LnNoYWRvd01hcFNpemUsIGRpcmVjdGlvbmFsTGlnaHRTaGFkb3cuc2hhZG93QmlhcywgZGlyZWN0aW9uYWxMaWdodFNoYWRvdy5zaGFkb3dSYWRpdXMsIHZEaXJlY3Rpb25hbFNoYWRvd0Nvb3JkWyBpIF0gKSA6IDEuMDtcblx0XHQjZW5kaWZcblx0XHRSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcbiNlbmRpZlxuI2lmICggTlVNX1JFQ1RfQVJFQV9MSUdIVFMgPiAwICkgJiYgZGVmaW5lZCggUkVfRGlyZWN0X1JlY3RBcmVhIClcblx0UmVjdEFyZWFMaWdodCByZWN0QXJlYUxpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9SRUNUX0FSRUFfTElHSFRTOyBpICsrICkge1xuXHRcdHJlY3RBcmVhTGlnaHQgPSByZWN0QXJlYUxpZ2h0c1sgaSBdO1xuXHRcdFJFX0RpcmVjdF9SZWN0QXJlYSggcmVjdEFyZWFMaWdodCwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG4jZW5kaWZcbiNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdERpZmZ1c2UgKVxuXHR2ZWMzIGlibElycmFkaWFuY2UgPSB2ZWMzKCAwLjAgKTtcblx0dmVjMyBpcnJhZGlhbmNlID0gZ2V0QW1iaWVudExpZ2h0SXJyYWRpYW5jZSggYW1iaWVudExpZ2h0Q29sb3IgKTtcblx0aXJyYWRpYW5jZSArPSBnZXRMaWdodFByb2JlSXJyYWRpYW5jZSggbGlnaHRQcm9iZSwgZ2VvbWV0cnkgKTtcblx0I2lmICggTlVNX0hFTUlfTElHSFRTID4gMCApXG5cdFx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRcdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9IRU1JX0xJR0hUUzsgaSArKyApIHtcblx0XHRcdGlycmFkaWFuY2UgKz0gZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBnZW9tZXRyeSApO1xuXHRcdH1cblx0XHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuXHQjZW5kaWZcbiNlbmRpZlxuI2lmIGRlZmluZWQoIFJFX0luZGlyZWN0U3BlY3VsYXIgKVxuXHR2ZWMzIHJhZGlhbmNlID0gdmVjMyggMC4wICk7XG5cdHZlYzMgY2xlYXJjb2F0UmFkaWFuY2UgPSB2ZWMzKCAwLjAgKTtcbiNlbmRpZiIsbGlnaHRzX2ZyYWdtZW50X21hcHM6IiNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdERpZmZ1c2UgKVxuXHQjaWZkZWYgVVNFX0xJR0hUTUFQXG5cdFx0dmVjNCBsaWdodE1hcFRleGVsPSB0ZXh0dXJlMkQoIGxpZ2h0TWFwLCB2VXYyICk7XG5cdFx0dmVjMyBsaWdodE1hcElycmFkaWFuY2UgPSBsaWdodE1hcFRleGVsVG9MaW5lYXIoIGxpZ2h0TWFwVGV4ZWwgKS5yZ2IgKiBsaWdodE1hcEludGVuc2l0eTtcblx0XHQjaWZuZGVmIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFNcblx0XHRcdGxpZ2h0TWFwSXJyYWRpYW5jZSAqPSBQSTtcblx0XHQjZW5kaWZcblx0XHRpcnJhZGlhbmNlICs9IGxpZ2h0TWFwSXJyYWRpYW5jZTtcblx0I2VuZGlmXG5cdCNpZiBkZWZpbmVkKCBVU0VfRU5WTUFQICkgJiYgZGVmaW5lZCggU1RBTkRBUkQgKSAmJiBkZWZpbmVkKCBFTlZNQVBfVFlQRV9DVUJFX1VWIClcblx0XHRpYmxJcnJhZGlhbmNlICs9IGdldExpZ2h0UHJvYmVJbmRpcmVjdElycmFkaWFuY2UoIGdlb21ldHJ5LCBtYXhNaXBMZXZlbCApO1xuXHQjZW5kaWZcbiNlbmRpZlxuI2lmIGRlZmluZWQoIFVTRV9FTlZNQVAgKSAmJiBkZWZpbmVkKCBSRV9JbmRpcmVjdFNwZWN1bGFyIClcblx0cmFkaWFuY2UgKz0gZ2V0TGlnaHRQcm9iZUluZGlyZWN0UmFkaWFuY2UoIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5Lm5vcm1hbCwgbWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MsIG1heE1pcExldmVsICk7XG5cdCNpZmRlZiBDTEVBUkNPQVRcblx0XHRjbGVhcmNvYXRSYWRpYW5jZSArPSBnZXRMaWdodFByb2JlSW5kaXJlY3RSYWRpYW5jZSggZ2VvbWV0cnkudmlld0RpciwgZ2VvbWV0cnkuY2xlYXJjb2F0Tm9ybWFsLCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MsIG1heE1pcExldmVsICk7XG5cdCNlbmRpZlxuI2VuZGlmIixsaWdodHNfZnJhZ21lbnRfZW5kOiIjaWYgZGVmaW5lZCggUkVfSW5kaXJlY3REaWZmdXNlIClcblx0UkVfSW5kaXJlY3REaWZmdXNlKCBpcnJhZGlhbmNlLCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG4jZW5kaWZcbiNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdFNwZWN1bGFyIClcblx0UkVfSW5kaXJlY3RTcGVjdWxhciggcmFkaWFuY2UsIGlibElycmFkaWFuY2UsIGNsZWFyY29hdFJhZGlhbmNlLCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG4jZW5kaWYiLGxvZ2RlcHRoYnVmX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX0xPR0RFUFRIQlVGICkgJiYgZGVmaW5lZCggVVNFX0xPR0RFUFRIQlVGX0VYVCApXG5cdGdsX0ZyYWdEZXB0aEVYVCA9IHZJc1BlcnNwZWN0aXZlID09IDAuMCA/IGdsX0ZyYWdDb29yZC56IDogbG9nMiggdkZyYWdEZXB0aCApICogbG9nRGVwdGhCdWZGQyAqIDAuNTtcbiNlbmRpZiIsbG9nZGVwdGhidWZfcGFyc19mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9MT0dERVBUSEJVRiApICYmIGRlZmluZWQoIFVTRV9MT0dERVBUSEJVRl9FWFQgKVxuXHR1bmlmb3JtIGZsb2F0IGxvZ0RlcHRoQnVmRkM7XG5cdHZhcnlpbmcgZmxvYXQgdkZyYWdEZXB0aDtcblx0dmFyeWluZyBmbG9hdCB2SXNQZXJzcGVjdGl2ZTtcbiNlbmRpZiIsbG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfTE9HREVQVEhCVUZcblx0I2lmZGVmIFVTRV9MT0dERVBUSEJVRl9FWFRcblx0XHR2YXJ5aW5nIGZsb2F0IHZGcmFnRGVwdGg7XG5cdFx0dmFyeWluZyBmbG9hdCB2SXNQZXJzcGVjdGl2ZTtcblx0I2Vsc2Vcblx0XHR1bmlmb3JtIGZsb2F0IGxvZ0RlcHRoQnVmRkM7XG5cdCNlbmRpZlxuI2VuZGlmIixsb2dkZXB0aGJ1Zl92ZXJ0ZXg6IiNpZmRlZiBVU0VfTE9HREVQVEhCVUZcblx0I2lmZGVmIFVTRV9MT0dERVBUSEJVRl9FWFRcblx0XHR2RnJhZ0RlcHRoID0gMS4wICsgZ2xfUG9zaXRpb24udztcblx0XHR2SXNQZXJzcGVjdGl2ZSA9IGZsb2F0KCBpc1BlcnNwZWN0aXZlTWF0cml4KCBwcm9qZWN0aW9uTWF0cml4ICkgKTtcblx0I2Vsc2Vcblx0XHRpZiAoIGlzUGVyc3BlY3RpdmVNYXRyaXgoIHByb2plY3Rpb25NYXRyaXggKSApIHtcblx0XHRcdGdsX1Bvc2l0aW9uLnogPSBsb2cyKCBtYXgoIEVQU0lMT04sIGdsX1Bvc2l0aW9uLncgKyAxLjAgKSApICogbG9nRGVwdGhCdWZGQyAtIDEuMDtcblx0XHRcdGdsX1Bvc2l0aW9uLnogKj0gZ2xfUG9zaXRpb24udztcblx0XHR9XG5cdCNlbmRpZlxuI2VuZGlmIixtYXBfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfTUFQXG5cdHZlYzQgdGV4ZWxDb2xvciA9IHRleHR1cmUyRCggbWFwLCB2VXYgKTtcblx0dGV4ZWxDb2xvciA9IG1hcFRleGVsVG9MaW5lYXIoIHRleGVsQ29sb3IgKTtcblx0ZGlmZnVzZUNvbG9yICo9IHRleGVsQ29sb3I7XG4jZW5kaWYiLG1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX01BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBtYXA7XG4jZW5kaWYiLG1hcF9wYXJ0aWNsZV9mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9NQVAgKSB8fCBkZWZpbmVkKCBVU0VfQUxQSEFNQVAgKVxuXHR2ZWMyIHV2ID0gKCB1dlRyYW5zZm9ybSAqIHZlYzMoIGdsX1BvaW50Q29vcmQueCwgMS4wIC0gZ2xfUG9pbnRDb29yZC55LCAxICkgKS54eTtcbiNlbmRpZlxuI2lmZGVmIFVTRV9NQVBcblx0dmVjNCBtYXBUZXhlbCA9IHRleHR1cmUyRCggbWFwLCB1diApO1xuXHRkaWZmdXNlQ29sb3IgKj0gbWFwVGV4ZWxUb0xpbmVhciggbWFwVGV4ZWwgKTtcbiNlbmRpZlxuI2lmZGVmIFVTRV9BTFBIQU1BUFxuXHRkaWZmdXNlQ29sb3IuYSAqPSB0ZXh0dXJlMkQoIGFscGhhTWFwLCB1diApLmc7XG4jZW5kaWYiLG1hcF9wYXJ0aWNsZV9wYXJzX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX01BUCApIHx8IGRlZmluZWQoIFVTRV9BTFBIQU1BUCApXG5cdHVuaWZvcm0gbWF0MyB1dlRyYW5zZm9ybTtcbiNlbmRpZlxuI2lmZGVmIFVTRV9NQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgbWFwO1xuI2VuZGlmXG4jaWZkZWYgVVNFX0FMUEhBTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGFscGhhTWFwO1xuI2VuZGlmIixtZXRhbG5lc3NtYXBfZnJhZ21lbnQ6ImZsb2F0IG1ldGFsbmVzc0ZhY3RvciA9IG1ldGFsbmVzcztcbiNpZmRlZiBVU0VfTUVUQUxORVNTTUFQXG5cdHZlYzQgdGV4ZWxNZXRhbG5lc3MgPSB0ZXh0dXJlMkQoIG1ldGFsbmVzc01hcCwgdlV2ICk7XG5cdG1ldGFsbmVzc0ZhY3RvciAqPSB0ZXhlbE1ldGFsbmVzcy5iO1xuI2VuZGlmIixtZXRhbG5lc3NtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9NRVRBTE5FU1NNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgbWV0YWxuZXNzTWFwO1xuI2VuZGlmIixtb3JwaG5vcm1hbF92ZXJ0ZXg6IiNpZmRlZiBVU0VfTU9SUEhOT1JNQUxTXG5cdG9iamVjdE5vcm1hbCAqPSBtb3JwaFRhcmdldEJhc2VJbmZsdWVuY2U7XG5cdG9iamVjdE5vcm1hbCArPSBtb3JwaE5vcm1hbDAgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDAgXTtcblx0b2JqZWN0Tm9ybWFsICs9IG1vcnBoTm9ybWFsMSAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgMSBdO1xuXHRvYmplY3ROb3JtYWwgKz0gbW9ycGhOb3JtYWwyICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAyIF07XG5cdG9iamVjdE5vcm1hbCArPSBtb3JwaE5vcm1hbDMgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDMgXTtcbiNlbmRpZiIsbW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfTU9SUEhUQVJHRVRTXG5cdHVuaWZvcm0gZmxvYXQgbW9ycGhUYXJnZXRCYXNlSW5mbHVlbmNlO1xuXHQjaWZuZGVmIFVTRV9NT1JQSE5PUk1BTFNcblx0XHR1bmlmb3JtIGZsb2F0IG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgOCBdO1xuXHQjZWxzZVxuXHRcdHVuaWZvcm0gZmxvYXQgbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyA0IF07XG5cdCNlbmRpZlxuI2VuZGlmIixtb3JwaHRhcmdldF92ZXJ0ZXg6IiNpZmRlZiBVU0VfTU9SUEhUQVJHRVRTXG5cdHRyYW5zZm9ybWVkICo9IG1vcnBoVGFyZ2V0QmFzZUluZmx1ZW5jZTtcblx0dHJhbnNmb3JtZWQgKz0gbW9ycGhUYXJnZXQwICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAwIF07XG5cdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0MSAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgMSBdO1xuXHR0cmFuc2Zvcm1lZCArPSBtb3JwaFRhcmdldDIgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDIgXTtcblx0dHJhbnNmb3JtZWQgKz0gbW9ycGhUYXJnZXQzICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAzIF07XG5cdCNpZm5kZWYgVVNFX01PUlBITk9STUFMU1xuXHRcdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0NCAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNCBdO1xuXHRcdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0NSAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNSBdO1xuXHRcdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0NiAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNiBdO1xuXHRcdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0NyAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNyBdO1xuXHQjZW5kaWZcbiNlbmRpZiIsbm9ybWFsX2ZyYWdtZW50X2JlZ2luOiJmbG9hdCBmYWNlRGlyZWN0aW9uID0gZ2xfRnJvbnRGYWNpbmcgPyAxLjAgOiAtIDEuMDtcbiNpZmRlZiBGTEFUX1NIQURFRFxuXHR2ZWMzIGZkeCA9IHZlYzMoIGRGZHgoIHZWaWV3UG9zaXRpb24ueCApLCBkRmR4KCB2Vmlld1Bvc2l0aW9uLnkgKSwgZEZkeCggdlZpZXdQb3NpdGlvbi56ICkgKTtcblx0dmVjMyBmZHkgPSB2ZWMzKCBkRmR5KCB2Vmlld1Bvc2l0aW9uLnggKSwgZEZkeSggdlZpZXdQb3NpdGlvbi55ICksIGRGZHkoIHZWaWV3UG9zaXRpb24ueiApICk7XG5cdHZlYzMgbm9ybWFsID0gbm9ybWFsaXplKCBjcm9zcyggZmR4LCBmZHkgKSApO1xuI2Vsc2Vcblx0dmVjMyBub3JtYWwgPSBub3JtYWxpemUoIHZOb3JtYWwgKTtcblx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdG5vcm1hbCA9IG5vcm1hbCAqIGZhY2VEaXJlY3Rpb247XG5cdCNlbmRpZlxuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2ZWMzIHRhbmdlbnQgPSBub3JtYWxpemUoIHZUYW5nZW50ICk7XG5cdFx0dmVjMyBiaXRhbmdlbnQgPSBub3JtYWxpemUoIHZCaXRhbmdlbnQgKTtcblx0XHQjaWZkZWYgRE9VQkxFX1NJREVEXG5cdFx0XHR0YW5nZW50ID0gdGFuZ2VudCAqIGZhY2VEaXJlY3Rpb247XG5cdFx0XHRiaXRhbmdlbnQgPSBiaXRhbmdlbnQgKiBmYWNlRGlyZWN0aW9uO1xuXHRcdCNlbmRpZlxuXHRcdCNpZiBkZWZpbmVkKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQICkgfHwgZGVmaW5lZCggVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVAgKVxuXHRcdFx0bWF0MyB2VEJOID0gbWF0MyggdGFuZ2VudCwgYml0YW5nZW50LCBub3JtYWwgKTtcblx0XHQjZW5kaWZcblx0I2VuZGlmXG4jZW5kaWZcbnZlYzMgZ2VvbWV0cnlOb3JtYWwgPSBub3JtYWw7Iixub3JtYWxfZnJhZ21lbnRfbWFwczoiI2lmZGVmIE9CSkVDVFNQQUNFX05PUk1BTE1BUFxuXHRub3JtYWwgPSB0ZXh0dXJlMkQoIG5vcm1hbE1hcCwgdlV2ICkueHl6ICogMi4wIC0gMS4wO1xuXHQjaWZkZWYgRkxJUF9TSURFRFxuXHRcdG5vcm1hbCA9IC0gbm9ybWFsO1xuXHQjZW5kaWZcblx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdG5vcm1hbCA9IG5vcm1hbCAqIGZhY2VEaXJlY3Rpb247XG5cdCNlbmRpZlxuXHRub3JtYWwgPSBub3JtYWxpemUoIG5vcm1hbE1hdHJpeCAqIG5vcm1hbCApO1xuI2VsaWYgZGVmaW5lZCggVEFOR0VOVFNQQUNFX05PUk1BTE1BUCApXG5cdHZlYzMgbWFwTiA9IHRleHR1cmUyRCggbm9ybWFsTWFwLCB2VXYgKS54eXogKiAyLjAgLSAxLjA7XG5cdG1hcE4ueHkgKj0gbm9ybWFsU2NhbGU7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdG5vcm1hbCA9IG5vcm1hbGl6ZSggdlRCTiAqIG1hcE4gKTtcblx0I2Vsc2Vcblx0XHRub3JtYWwgPSBwZXJ0dXJiTm9ybWFsMkFyYiggLXZWaWV3UG9zaXRpb24sIG5vcm1hbCwgbWFwTiwgZmFjZURpcmVjdGlvbiApO1xuXHQjZW5kaWZcbiNlbGlmIGRlZmluZWQoIFVTRV9CVU1QTUFQIClcblx0bm9ybWFsID0gcGVydHVyYk5vcm1hbEFyYiggLXZWaWV3UG9zaXRpb24sIG5vcm1hbCwgZEhkeHlfZndkKCksIGZhY2VEaXJlY3Rpb24gKTtcbiNlbmRpZiIsbm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfTk9STUFMTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIG5vcm1hbE1hcDtcblx0dW5pZm9ybSB2ZWMyIG5vcm1hbFNjYWxlO1xuI2VuZGlmXG4jaWZkZWYgT0JKRUNUU1BBQ0VfTk9STUFMTUFQXG5cdHVuaWZvcm0gbWF0MyBub3JtYWxNYXRyaXg7XG4jZW5kaWZcbiNpZiAhIGRlZmluZWQgKCBVU0VfVEFOR0VOVCApICYmICggZGVmaW5lZCAoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKSB8fCBkZWZpbmVkICggVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVAgKSApXG5cdHZlYzMgcGVydHVyYk5vcm1hbDJBcmIoIHZlYzMgZXllX3BvcywgdmVjMyBzdXJmX25vcm0sIHZlYzMgbWFwTiwgZmxvYXQgZmFjZURpcmVjdGlvbiApIHtcblx0XHR2ZWMzIHEwID0gdmVjMyggZEZkeCggZXllX3Bvcy54ICksIGRGZHgoIGV5ZV9wb3MueSApLCBkRmR4KCBleWVfcG9zLnogKSApO1xuXHRcdHZlYzMgcTEgPSB2ZWMzKCBkRmR5KCBleWVfcG9zLnggKSwgZEZkeSggZXllX3Bvcy55ICksIGRGZHkoIGV5ZV9wb3MueiApICk7XG5cdFx0dmVjMiBzdDAgPSBkRmR4KCB2VXYuc3QgKTtcblx0XHR2ZWMyIHN0MSA9IGRGZHkoIHZVdi5zdCApO1xuXHRcdHZlYzMgTiA9IHN1cmZfbm9ybTtcblx0XHR2ZWMzIHExcGVycCA9IGNyb3NzKCBxMSwgTiApO1xuXHRcdHZlYzMgcTBwZXJwID0gY3Jvc3MoIE4sIHEwICk7XG5cdFx0dmVjMyBUID0gcTFwZXJwICogc3QwLnggKyBxMHBlcnAgKiBzdDEueDtcblx0XHR2ZWMzIEIgPSBxMXBlcnAgKiBzdDAueSArIHEwcGVycCAqIHN0MS55O1xuXHRcdGZsb2F0IGRldCA9IG1heCggZG90KCBULCBUICksIGRvdCggQiwgQiApICk7XG5cdFx0ZmxvYXQgc2NhbGUgPSAoIGRldCA9PSAwLjAgKSA/IDAuMCA6IGZhY2VEaXJlY3Rpb24gKiBpbnZlcnNlc3FydCggZGV0ICk7XG5cdFx0cmV0dXJuIG5vcm1hbGl6ZSggVCAqICggbWFwTi54ICogc2NhbGUgKSArIEIgKiAoIG1hcE4ueSAqIHNjYWxlICkgKyBOICogbWFwTi56ICk7XG5cdH1cbiNlbmRpZiIsY2xlYXJjb2F0X25vcm1hbF9mcmFnbWVudF9iZWdpbjoiI2lmZGVmIENMRUFSQ09BVFxuXHR2ZWMzIGNsZWFyY29hdE5vcm1hbCA9IGdlb21ldHJ5Tm9ybWFsO1xuI2VuZGlmIixjbGVhcmNvYXRfbm9ybWFsX2ZyYWdtZW50X21hcHM6IiNpZmRlZiBVU0VfQ0xFQVJDT0FUX05PUk1BTE1BUFxuXHR2ZWMzIGNsZWFyY29hdE1hcE4gPSB0ZXh0dXJlMkQoIGNsZWFyY29hdE5vcm1hbE1hcCwgdlV2ICkueHl6ICogMi4wIC0gMS4wO1xuXHRjbGVhcmNvYXRNYXBOLnh5ICo9IGNsZWFyY29hdE5vcm1hbFNjYWxlO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHRjbGVhcmNvYXROb3JtYWwgPSBub3JtYWxpemUoIHZUQk4gKiBjbGVhcmNvYXRNYXBOICk7XG5cdCNlbHNlXG5cdFx0Y2xlYXJjb2F0Tm9ybWFsID0gcGVydHVyYk5vcm1hbDJBcmIoIC0gdlZpZXdQb3NpdGlvbiwgY2xlYXJjb2F0Tm9ybWFsLCBjbGVhcmNvYXRNYXBOLCBmYWNlRGlyZWN0aW9uICk7XG5cdCNlbmRpZlxuI2VuZGlmIixjbGVhcmNvYXRfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9DTEVBUkNPQVRNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgY2xlYXJjb2F0TWFwO1xuI2VuZGlmXG4jaWZkZWYgVVNFX0NMRUFSQ09BVF9ST1VHSE5FU1NNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgY2xlYXJjb2F0Um91Z2huZXNzTWFwO1xuI2VuZGlmXG4jaWZkZWYgVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgY2xlYXJjb2F0Tm9ybWFsTWFwO1xuXHR1bmlmb3JtIHZlYzIgY2xlYXJjb2F0Tm9ybWFsU2NhbGU7XG4jZW5kaWYiLHBhY2tpbmc6InZlYzMgcGFja05vcm1hbFRvUkdCKCBjb25zdCBpbiB2ZWMzIG5vcm1hbCApIHtcblx0cmV0dXJuIG5vcm1hbGl6ZSggbm9ybWFsICkgKiAwLjUgKyAwLjU7XG59XG52ZWMzIHVucGFja1JHQlRvTm9ybWFsKCBjb25zdCBpbiB2ZWMzIHJnYiApIHtcblx0cmV0dXJuIDIuMCAqIHJnYi54eXogLSAxLjA7XG59XG5jb25zdCBmbG9hdCBQYWNrVXBzY2FsZSA9IDI1Ni4gLyAyNTUuO2NvbnN0IGZsb2F0IFVucGFja0Rvd25zY2FsZSA9IDI1NS4gLyAyNTYuO1xuY29uc3QgdmVjMyBQYWNrRmFjdG9ycyA9IHZlYzMoIDI1Ni4gKiAyNTYuICogMjU2LiwgMjU2LiAqIDI1Ni4sIDI1Ni4gKTtcbmNvbnN0IHZlYzQgVW5wYWNrRmFjdG9ycyA9IFVucGFja0Rvd25zY2FsZSAvIHZlYzQoIFBhY2tGYWN0b3JzLCAxLiApO1xuY29uc3QgZmxvYXQgU2hpZnRSaWdodDggPSAxLiAvIDI1Ni47XG52ZWM0IHBhY2tEZXB0aFRvUkdCQSggY29uc3QgaW4gZmxvYXQgdiApIHtcblx0dmVjNCByID0gdmVjNCggZnJhY3QoIHYgKiBQYWNrRmFjdG9ycyApLCB2ICk7XG5cdHIueXp3IC09IHIueHl6ICogU2hpZnRSaWdodDg7XHRyZXR1cm4gciAqIFBhY2tVcHNjYWxlO1xufVxuZmxvYXQgdW5wYWNrUkdCQVRvRGVwdGgoIGNvbnN0IGluIHZlYzQgdiApIHtcblx0cmV0dXJuIGRvdCggdiwgVW5wYWNrRmFjdG9ycyApO1xufVxudmVjNCBwYWNrMkhhbGZUb1JHQkEoIHZlYzIgdiApIHtcblx0dmVjNCByID0gdmVjNCggdi54LCBmcmFjdCggdi54ICogMjU1LjAgKSwgdi55LCBmcmFjdCggdi55ICogMjU1LjAgKSk7XG5cdHJldHVybiB2ZWM0KCByLnggLSByLnkgLyAyNTUuMCwgci55LCByLnogLSByLncgLyAyNTUuMCwgci53KTtcbn1cbnZlYzIgdW5wYWNrUkdCQVRvMkhhbGYoIHZlYzQgdiApIHtcblx0cmV0dXJuIHZlYzIoIHYueCArICggdi55IC8gMjU1LjAgKSwgdi56ICsgKCB2LncgLyAyNTUuMCApICk7XG59XG5mbG9hdCB2aWV3WlRvT3J0aG9ncmFwaGljRGVwdGgoIGNvbnN0IGluIGZsb2F0IHZpZXdaLCBjb25zdCBpbiBmbG9hdCBuZWFyLCBjb25zdCBpbiBmbG9hdCBmYXIgKSB7XG5cdHJldHVybiAoIHZpZXdaICsgbmVhciApIC8gKCBuZWFyIC0gZmFyICk7XG59XG5mbG9hdCBvcnRob2dyYXBoaWNEZXB0aFRvVmlld1ooIGNvbnN0IGluIGZsb2F0IGxpbmVhckNsaXBaLCBjb25zdCBpbiBmbG9hdCBuZWFyLCBjb25zdCBpbiBmbG9hdCBmYXIgKSB7XG5cdHJldHVybiBsaW5lYXJDbGlwWiAqICggbmVhciAtIGZhciApIC0gbmVhcjtcbn1cbmZsb2F0IHZpZXdaVG9QZXJzcGVjdGl2ZURlcHRoKCBjb25zdCBpbiBmbG9hdCB2aWV3WiwgY29uc3QgaW4gZmxvYXQgbmVhciwgY29uc3QgaW4gZmxvYXQgZmFyICkge1xuXHRyZXR1cm4gKCggbmVhciArIHZpZXdaICkgKiBmYXIgKSAvICgoIGZhciAtIG5lYXIgKSAqIHZpZXdaICk7XG59XG5mbG9hdCBwZXJzcGVjdGl2ZURlcHRoVG9WaWV3WiggY29uc3QgaW4gZmxvYXQgaW52Q2xpcFosIGNvbnN0IGluIGZsb2F0IG5lYXIsIGNvbnN0IGluIGZsb2F0IGZhciApIHtcblx0cmV0dXJuICggbmVhciAqIGZhciApIC8gKCAoIGZhciAtIG5lYXIgKSAqIGludkNsaXBaIC0gZmFyICk7XG59IixwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50OiIjaWZkZWYgUFJFTVVMVElQTElFRF9BTFBIQVxuXHRnbF9GcmFnQ29sb3IucmdiICo9IGdsX0ZyYWdDb2xvci5hO1xuI2VuZGlmIixwcm9qZWN0X3ZlcnRleDoidmVjNCBtdlBvc2l0aW9uID0gdmVjNCggdHJhbnNmb3JtZWQsIDEuMCApO1xuI2lmZGVmIFVTRV9JTlNUQU5DSU5HXG5cdG12UG9zaXRpb24gPSBpbnN0YW5jZU1hdHJpeCAqIG12UG9zaXRpb247XG4jZW5kaWZcbm12UG9zaXRpb24gPSBtb2RlbFZpZXdNYXRyaXggKiBtdlBvc2l0aW9uO1xuZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uTWF0cml4ICogbXZQb3NpdGlvbjsiLGRpdGhlcmluZ19mcmFnbWVudDoiI2lmZGVmIERJVEhFUklOR1xuXHRnbF9GcmFnQ29sb3IucmdiID0gZGl0aGVyaW5nKCBnbF9GcmFnQ29sb3IucmdiICk7XG4jZW5kaWYiLGRpdGhlcmluZ19wYXJzX2ZyYWdtZW50OiIjaWZkZWYgRElUSEVSSU5HXG5cdHZlYzMgZGl0aGVyaW5nKCB2ZWMzIGNvbG9yICkge1xuXHRcdGZsb2F0IGdyaWRfcG9zaXRpb24gPSByYW5kKCBnbF9GcmFnQ29vcmQueHkgKTtcblx0XHR2ZWMzIGRpdGhlcl9zaGlmdF9SR0IgPSB2ZWMzKCAwLjI1IC8gMjU1LjAsIC0wLjI1IC8gMjU1LjAsIDAuMjUgLyAyNTUuMCApO1xuXHRcdGRpdGhlcl9zaGlmdF9SR0IgPSBtaXgoIDIuMCAqIGRpdGhlcl9zaGlmdF9SR0IsIC0yLjAgKiBkaXRoZXJfc2hpZnRfUkdCLCBncmlkX3Bvc2l0aW9uICk7XG5cdFx0cmV0dXJuIGNvbG9yICsgZGl0aGVyX3NoaWZ0X1JHQjtcblx0fVxuI2VuZGlmIixyb3VnaG5lc3NtYXBfZnJhZ21lbnQ6ImZsb2F0IHJvdWdobmVzc0ZhY3RvciA9IHJvdWdobmVzcztcbiNpZmRlZiBVU0VfUk9VR0hORVNTTUFQXG5cdHZlYzQgdGV4ZWxSb3VnaG5lc3MgPSB0ZXh0dXJlMkQoIHJvdWdobmVzc01hcCwgdlV2ICk7XG5cdHJvdWdobmVzc0ZhY3RvciAqPSB0ZXhlbFJvdWdobmVzcy5nO1xuI2VuZGlmIixyb3VnaG5lc3NtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9ST1VHSE5FU1NNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgcm91Z2huZXNzTWFwO1xuI2VuZGlmIixzaGFkb3dtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9TSEFET1dNQVBcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyA+IDBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBkaXJlY3Rpb25hbFNoYWRvd01hcFsgTlVNX0RJUl9MSUdIVF9TSEFET1dTIF07XG5cdFx0dmFyeWluZyB2ZWM0IHZEaXJlY3Rpb25hbFNoYWRvd0Nvb3JkWyBOVU1fRElSX0xJR0hUX1NIQURPV1MgXTtcblx0XHRzdHJ1Y3QgRGlyZWN0aW9uYWxMaWdodFNoYWRvdyB7XG5cdFx0XHRmbG9hdCBzaGFkb3dCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93Tm9ybWFsQmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd1JhZGl1cztcblx0XHRcdHZlYzIgc2hhZG93TWFwU2l6ZTtcblx0XHR9O1xuXHRcdHVuaWZvcm0gRGlyZWN0aW9uYWxMaWdodFNoYWRvdyBkaXJlY3Rpb25hbExpZ2h0U2hhZG93c1sgTlVNX0RJUl9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuXHQjaWYgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyA+IDBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBzcG90U2hhZG93TWFwWyBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIF07XG5cdFx0dmFyeWluZyB2ZWM0IHZTcG90U2hhZG93Q29vcmRbIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXTtcblx0XHRzdHJ1Y3QgU3BvdExpZ2h0U2hhZG93IHtcblx0XHRcdGZsb2F0IHNoYWRvd0JpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dOb3JtYWxCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93UmFkaXVzO1xuXHRcdFx0dmVjMiBzaGFkb3dNYXBTaXplO1xuXHRcdH07XG5cdFx0dW5pZm9ybSBTcG90TGlnaHRTaGFkb3cgc3BvdExpZ2h0U2hhZG93c1sgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTID4gMFxuXHRcdHVuaWZvcm0gc2FtcGxlcjJEIHBvaW50U2hhZG93TWFwWyBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHZhcnlpbmcgdmVjNCB2UG9pbnRTaGFkb3dDb29yZFsgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgXTtcblx0XHRzdHJ1Y3QgUG9pbnRMaWdodFNoYWRvdyB7XG5cdFx0XHRmbG9hdCBzaGFkb3dCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93Tm9ybWFsQmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd1JhZGl1cztcblx0XHRcdHZlYzIgc2hhZG93TWFwU2l6ZTtcblx0XHRcdGZsb2F0IHNoYWRvd0NhbWVyYU5lYXI7XG5cdFx0XHRmbG9hdCBzaGFkb3dDYW1lcmFGYXI7XG5cdFx0fTtcblx0XHR1bmlmb3JtIFBvaW50TGlnaHRTaGFkb3cgcG9pbnRMaWdodFNoYWRvd3NbIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuXHRmbG9hdCB0ZXh0dXJlMkRDb21wYXJlKCBzYW1wbGVyMkQgZGVwdGhzLCB2ZWMyIHV2LCBmbG9hdCBjb21wYXJlICkge1xuXHRcdHJldHVybiBzdGVwKCBjb21wYXJlLCB1bnBhY2tSR0JBVG9EZXB0aCggdGV4dHVyZTJEKCBkZXB0aHMsIHV2ICkgKSApO1xuXHR9XG5cdHZlYzIgdGV4dHVyZTJERGlzdHJpYnV0aW9uKCBzYW1wbGVyMkQgc2hhZG93LCB2ZWMyIHV2ICkge1xuXHRcdHJldHVybiB1bnBhY2tSR0JBVG8ySGFsZiggdGV4dHVyZTJEKCBzaGFkb3csIHV2ICkgKTtcblx0fVxuXHRmbG9hdCBWU01TaGFkb3cgKHNhbXBsZXIyRCBzaGFkb3csIHZlYzIgdXYsIGZsb2F0IGNvbXBhcmUgKXtcblx0XHRmbG9hdCBvY2NsdXNpb24gPSAxLjA7XG5cdFx0dmVjMiBkaXN0cmlidXRpb24gPSB0ZXh0dXJlMkREaXN0cmlidXRpb24oIHNoYWRvdywgdXYgKTtcblx0XHRmbG9hdCBoYXJkX3NoYWRvdyA9IHN0ZXAoIGNvbXBhcmUgLCBkaXN0cmlidXRpb24ueCApO1xuXHRcdGlmIChoYXJkX3NoYWRvdyAhPSAxLjAgKSB7XG5cdFx0XHRmbG9hdCBkaXN0YW5jZSA9IGNvbXBhcmUgLSBkaXN0cmlidXRpb24ueCA7XG5cdFx0XHRmbG9hdCB2YXJpYW5jZSA9IG1heCggMC4wMDAwMCwgZGlzdHJpYnV0aW9uLnkgKiBkaXN0cmlidXRpb24ueSApO1xuXHRcdFx0ZmxvYXQgc29mdG5lc3NfcHJvYmFiaWxpdHkgPSB2YXJpYW5jZSAvICh2YXJpYW5jZSArIGRpc3RhbmNlICogZGlzdGFuY2UgKTtcdFx0XHRzb2Z0bmVzc19wcm9iYWJpbGl0eSA9IGNsYW1wKCAoIHNvZnRuZXNzX3Byb2JhYmlsaXR5IC0gMC4zICkgLyAoIDAuOTUgLSAwLjMgKSwgMC4wLCAxLjAgKTtcdFx0XHRvY2NsdXNpb24gPSBjbGFtcCggbWF4KCBoYXJkX3NoYWRvdywgc29mdG5lc3NfcHJvYmFiaWxpdHkgKSwgMC4wLCAxLjAgKTtcblx0XHR9XG5cdFx0cmV0dXJuIG9jY2x1c2lvbjtcblx0fVxuXHRmbG9hdCBnZXRTaGFkb3coIHNhbXBsZXIyRCBzaGFkb3dNYXAsIHZlYzIgc2hhZG93TWFwU2l6ZSwgZmxvYXQgc2hhZG93QmlhcywgZmxvYXQgc2hhZG93UmFkaXVzLCB2ZWM0IHNoYWRvd0Nvb3JkICkge1xuXHRcdGZsb2F0IHNoYWRvdyA9IDEuMDtcblx0XHRzaGFkb3dDb29yZC54eXogLz0gc2hhZG93Q29vcmQudztcblx0XHRzaGFkb3dDb29yZC56ICs9IHNoYWRvd0JpYXM7XG5cdFx0YnZlYzQgaW5GcnVzdHVtVmVjID0gYnZlYzQgKCBzaGFkb3dDb29yZC54ID49IDAuMCwgc2hhZG93Q29vcmQueCA8PSAxLjAsIHNoYWRvd0Nvb3JkLnkgPj0gMC4wLCBzaGFkb3dDb29yZC55IDw9IDEuMCApO1xuXHRcdGJvb2wgaW5GcnVzdHVtID0gYWxsKCBpbkZydXN0dW1WZWMgKTtcblx0XHRidmVjMiBmcnVzdHVtVGVzdFZlYyA9IGJ2ZWMyKCBpbkZydXN0dW0sIHNoYWRvd0Nvb3JkLnogPD0gMS4wICk7XG5cdFx0Ym9vbCBmcnVzdHVtVGVzdCA9IGFsbCggZnJ1c3R1bVRlc3RWZWMgKTtcblx0XHRpZiAoIGZydXN0dW1UZXN0ICkge1xuXHRcdCNpZiBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9QQ0YgKVxuXHRcdFx0dmVjMiB0ZXhlbFNpemUgPSB2ZWMyKCAxLjAgKSAvIHNoYWRvd01hcFNpemU7XG5cdFx0XHRmbG9hdCBkeDAgPSAtIHRleGVsU2l6ZS54ICogc2hhZG93UmFkaXVzO1xuXHRcdFx0ZmxvYXQgZHkwID0gLSB0ZXhlbFNpemUueSAqIHNoYWRvd1JhZGl1cztcblx0XHRcdGZsb2F0IGR4MSA9ICsgdGV4ZWxTaXplLnggKiBzaGFkb3dSYWRpdXM7XG5cdFx0XHRmbG9hdCBkeTEgPSArIHRleGVsU2l6ZS55ICogc2hhZG93UmFkaXVzO1xuXHRcdFx0ZmxvYXQgZHgyID0gZHgwIC8gMi4wO1xuXHRcdFx0ZmxvYXQgZHkyID0gZHkwIC8gMi4wO1xuXHRcdFx0ZmxvYXQgZHgzID0gZHgxIC8gMi4wO1xuXHRcdFx0ZmxvYXQgZHkzID0gZHkxIC8gMi4wO1xuXHRcdFx0c2hhZG93ID0gKFxuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgwLCBkeTAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIDAuMCwgZHkwICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDEsIGR5MCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgyLCBkeTIgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIDAuMCwgZHkyICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDMsIGR5MiApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgwLCAwLjAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MiwgMC4wICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDMsIDAuMCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgxLCAwLjAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MiwgZHkzICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCAwLjAsIGR5MyApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgzLCBkeTMgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MCwgZHkxICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCAwLjAsIGR5MSApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgxLCBkeTEgKSwgc2hhZG93Q29vcmQueiApXG5cdFx0XHQpICogKCAxLjAgLyAxNy4wICk7XG5cdFx0I2VsaWYgZGVmaW5lZCggU0hBRE9XTUFQX1RZUEVfUENGX1NPRlQgKVxuXHRcdFx0dmVjMiB0ZXhlbFNpemUgPSB2ZWMyKCAxLjAgKSAvIHNoYWRvd01hcFNpemU7XG5cdFx0XHRmbG9hdCBkeCA9IHRleGVsU2l6ZS54O1xuXHRcdFx0ZmxvYXQgZHkgPSB0ZXhlbFNpemUueTtcblx0XHRcdHZlYzIgdXYgPSBzaGFkb3dDb29yZC54eTtcblx0XHRcdHZlYzIgZiA9IGZyYWN0KCB1diAqIHNoYWRvd01hcFNpemUgKyAwLjUgKTtcblx0XHRcdHV2IC09IGYgKiB0ZXhlbFNpemU7XG5cdFx0XHRzaGFkb3cgPSAoXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYsIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCBkeCwgMC4wICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAwLjAsIGR5ICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB0ZXhlbFNpemUsIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdG1peCggdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCB1diArIHZlYzIoIC1keCwgMC4wICksIHNoYWRvd0Nvb3JkLnogKSwgXG5cdFx0XHRcdFx0IHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAyLjAgKiBkeCwgMC4wICksIHNoYWRvd0Nvb3JkLnogKSxcblx0XHRcdFx0XHQgZi54ICkgK1xuXHRcdFx0XHRtaXgoIHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAtZHgsIGR5ICksIHNoYWRvd0Nvb3JkLnogKSwgXG5cdFx0XHRcdFx0IHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAyLjAgKiBkeCwgZHkgKSwgc2hhZG93Q29vcmQueiApLFxuXHRcdFx0XHRcdCBmLnggKSArXG5cdFx0XHRcdG1peCggdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCB1diArIHZlYzIoIDAuMCwgLWR5ICksIHNoYWRvd0Nvb3JkLnogKSwgXG5cdFx0XHRcdFx0IHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAwLjAsIDIuMCAqIGR5ICksIHNoYWRvd0Nvb3JkLnogKSxcblx0XHRcdFx0XHQgZi55ICkgK1xuXHRcdFx0XHRtaXgoIHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCBkeCwgLWR5ICksIHNoYWRvd0Nvb3JkLnogKSwgXG5cdFx0XHRcdFx0IHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCBkeCwgMi4wICogZHkgKSwgc2hhZG93Q29vcmQueiApLFxuXHRcdFx0XHRcdCBmLnkgKSArXG5cdFx0XHRcdG1peCggbWl4KCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggLWR4LCAtZHkgKSwgc2hhZG93Q29vcmQueiApLCBcblx0XHRcdFx0XHRcdCAgdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCB1diArIHZlYzIoIDIuMCAqIGR4LCAtZHkgKSwgc2hhZG93Q29vcmQueiApLFxuXHRcdFx0XHRcdFx0ICBmLnggKSxcblx0XHRcdFx0XHQgbWl4KCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggLWR4LCAyLjAgKiBkeSApLCBzaGFkb3dDb29yZC56ICksIFxuXHRcdFx0XHRcdFx0ICB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggMi4wICogZHgsIDIuMCAqIGR5ICksIHNoYWRvd0Nvb3JkLnogKSxcblx0XHRcdFx0XHRcdCAgZi54ICksXG5cdFx0XHRcdFx0IGYueSApXG5cdFx0XHQpICogKCAxLjAgLyA5LjAgKTtcblx0XHQjZWxpZiBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9WU00gKVxuXHRcdFx0c2hhZG93ID0gVlNNU2hhZG93KCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5LCBzaGFkb3dDb29yZC56ICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHNoYWRvdyA9IHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHksIHNoYWRvd0Nvb3JkLnogKTtcblx0XHQjZW5kaWZcblx0XHR9XG5cdFx0cmV0dXJuIHNoYWRvdztcblx0fVxuXHR2ZWMyIGN1YmVUb1VWKCB2ZWMzIHYsIGZsb2F0IHRleGVsU2l6ZVkgKSB7XG5cdFx0dmVjMyBhYnNWID0gYWJzKCB2ICk7XG5cdFx0ZmxvYXQgc2NhbGVUb0N1YmUgPSAxLjAgLyBtYXgoIGFic1YueCwgbWF4KCBhYnNWLnksIGFic1YueiApICk7XG5cdFx0YWJzViAqPSBzY2FsZVRvQ3ViZTtcblx0XHR2ICo9IHNjYWxlVG9DdWJlICogKCAxLjAgLSAyLjAgKiB0ZXhlbFNpemVZICk7XG5cdFx0dmVjMiBwbGFuYXIgPSB2Lnh5O1xuXHRcdGZsb2F0IGFsbW9zdEFUZXhlbCA9IDEuNSAqIHRleGVsU2l6ZVk7XG5cdFx0ZmxvYXQgYWxtb3N0T25lID0gMS4wIC0gYWxtb3N0QVRleGVsO1xuXHRcdGlmICggYWJzVi56ID49IGFsbW9zdE9uZSApIHtcblx0XHRcdGlmICggdi56ID4gMC4wIClcblx0XHRcdFx0cGxhbmFyLnggPSA0LjAgLSB2Lng7XG5cdFx0fSBlbHNlIGlmICggYWJzVi54ID49IGFsbW9zdE9uZSApIHtcblx0XHRcdGZsb2F0IHNpZ25YID0gc2lnbiggdi54ICk7XG5cdFx0XHRwbGFuYXIueCA9IHYueiAqIHNpZ25YICsgMi4wICogc2lnblg7XG5cdFx0fSBlbHNlIGlmICggYWJzVi55ID49IGFsbW9zdE9uZSApIHtcblx0XHRcdGZsb2F0IHNpZ25ZID0gc2lnbiggdi55ICk7XG5cdFx0XHRwbGFuYXIueCA9IHYueCArIDIuMCAqIHNpZ25ZICsgMi4wO1xuXHRcdFx0cGxhbmFyLnkgPSB2LnogKiBzaWduWSAtIDIuMDtcblx0XHR9XG5cdFx0cmV0dXJuIHZlYzIoIDAuMTI1LCAwLjI1ICkgKiBwbGFuYXIgKyB2ZWMyKCAwLjM3NSwgMC43NSApO1xuXHR9XG5cdGZsb2F0IGdldFBvaW50U2hhZG93KCBzYW1wbGVyMkQgc2hhZG93TWFwLCB2ZWMyIHNoYWRvd01hcFNpemUsIGZsb2F0IHNoYWRvd0JpYXMsIGZsb2F0IHNoYWRvd1JhZGl1cywgdmVjNCBzaGFkb3dDb29yZCwgZmxvYXQgc2hhZG93Q2FtZXJhTmVhciwgZmxvYXQgc2hhZG93Q2FtZXJhRmFyICkge1xuXHRcdHZlYzIgdGV4ZWxTaXplID0gdmVjMiggMS4wICkgLyAoIHNoYWRvd01hcFNpemUgKiB2ZWMyKCA0LjAsIDIuMCApICk7XG5cdFx0dmVjMyBsaWdodFRvUG9zaXRpb24gPSBzaGFkb3dDb29yZC54eXo7XG5cdFx0ZmxvYXQgZHAgPSAoIGxlbmd0aCggbGlnaHRUb1Bvc2l0aW9uICkgLSBzaGFkb3dDYW1lcmFOZWFyICkgLyAoIHNoYWRvd0NhbWVyYUZhciAtIHNoYWRvd0NhbWVyYU5lYXIgKTtcdFx0ZHAgKz0gc2hhZG93Qmlhcztcblx0XHR2ZWMzIGJkM0QgPSBub3JtYWxpemUoIGxpZ2h0VG9Qb3NpdGlvbiApO1xuXHRcdCNpZiBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9QQ0YgKSB8fCBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9QQ0ZfU09GVCApIHx8IGRlZmluZWQoIFNIQURPV01BUF9UWVBFX1ZTTSApXG5cdFx0XHR2ZWMyIG9mZnNldCA9IHZlYzIoIC0gMSwgMSApICogc2hhZG93UmFkaXVzICogdGV4ZWxTaXplLnk7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnh5eSwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QgKyBvZmZzZXQueXl5LCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC54eXgsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnl5eCwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnh4eSwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QgKyBvZmZzZXQueXh5LCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC54eHgsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnl4eCwgdGV4ZWxTaXplLnkgKSwgZHAgKVxuXHRcdFx0KSAqICggMS4wIC8gOS4wICk7XG5cdFx0I2Vsc2Vcblx0XHRcdHJldHVybiB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNELCB0ZXhlbFNpemUueSApLCBkcCApO1xuXHRcdCNlbmRpZlxuXHR9XG4jZW5kaWYiLHNoYWRvd21hcF9wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9TSEFET1dNQVBcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyA+IDBcblx0XHR1bmlmb3JtIG1hdDQgZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXhbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHZhcnlpbmcgdmVjNCB2RGlyZWN0aW9uYWxTaGFkb3dDb29yZFsgTlVNX0RJUl9MSUdIVF9TSEFET1dTIF07XG5cdFx0c3RydWN0IERpcmVjdGlvbmFsTGlnaHRTaGFkb3cge1xuXHRcdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd05vcm1hbEJpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0XHR2ZWMyIHNoYWRvd01hcFNpemU7XG5cdFx0fTtcblx0XHR1bmlmb3JtIERpcmVjdGlvbmFsTGlnaHRTaGFkb3cgZGlyZWN0aW9uYWxMaWdodFNoYWRvd3NbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgPiAwXG5cdFx0dW5pZm9ybSBtYXQ0IHNwb3RTaGFkb3dNYXRyaXhbIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdlNwb3RTaGFkb3dDb29yZFsgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHN0cnVjdCBTcG90TGlnaHRTaGFkb3cge1xuXHRcdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd05vcm1hbEJpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0XHR2ZWMyIHNoYWRvd01hcFNpemU7XG5cdFx0fTtcblx0XHR1bmlmb3JtIFNwb3RMaWdodFNoYWRvdyBzcG90TGlnaHRTaGFkb3dzWyBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuXHQjaWYgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgPiAwXG5cdFx0dW5pZm9ybSBtYXQ0IHBvaW50U2hhZG93TWF0cml4WyBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHZhcnlpbmcgdmVjNCB2UG9pbnRTaGFkb3dDb29yZFsgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgXTtcblx0XHRzdHJ1Y3QgUG9pbnRMaWdodFNoYWRvdyB7XG5cdFx0XHRmbG9hdCBzaGFkb3dCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93Tm9ybWFsQmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd1JhZGl1cztcblx0XHRcdHZlYzIgc2hhZG93TWFwU2l6ZTtcblx0XHRcdGZsb2F0IHNoYWRvd0NhbWVyYU5lYXI7XG5cdFx0XHRmbG9hdCBzaGFkb3dDYW1lcmFGYXI7XG5cdFx0fTtcblx0XHR1bmlmb3JtIFBvaW50TGlnaHRTaGFkb3cgcG9pbnRMaWdodFNoYWRvd3NbIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIF07XG5cdCNlbmRpZlxuI2VuZGlmIixzaGFkb3dtYXBfdmVydGV4OiIjaWZkZWYgVVNFX1NIQURPV01BUFxuXHQjaWYgTlVNX0RJUl9MSUdIVF9TSEFET1dTID4gMCB8fCBOVU1fU1BPVF9MSUdIVF9TSEFET1dTID4gMCB8fCBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyA+IDBcblx0XHR2ZWMzIHNoYWRvd1dvcmxkTm9ybWFsID0gaW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiggdHJhbnNmb3JtZWROb3JtYWwsIHZpZXdNYXRyaXggKTtcblx0XHR2ZWM0IHNoYWRvd1dvcmxkUG9zaXRpb247XG5cdCNlbmRpZlxuXHQjaWYgTlVNX0RJUl9MSUdIVF9TSEFET1dTID4gMFxuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9ESVJfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHRzaGFkb3dXb3JsZFBvc2l0aW9uID0gd29ybGRQb3NpdGlvbiArIHZlYzQoIHNoYWRvd1dvcmxkTm9ybWFsICogZGlyZWN0aW9uYWxMaWdodFNoYWRvd3NbIGkgXS5zaGFkb3dOb3JtYWxCaWFzLCAwICk7XG5cdFx0dkRpcmVjdGlvbmFsU2hhZG93Q29vcmRbIGkgXSA9IGRpcmVjdGlvbmFsU2hhZG93TWF0cml4WyBpIF0gKiBzaGFkb3dXb3JsZFBvc2l0aW9uO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdCNlbmRpZlxuXHQjaWYgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fU1BPVF9MSUdIVF9TSEFET1dTOyBpICsrICkge1xuXHRcdHNoYWRvd1dvcmxkUG9zaXRpb24gPSB3b3JsZFBvc2l0aW9uICsgdmVjNCggc2hhZG93V29ybGROb3JtYWwgKiBzcG90TGlnaHRTaGFkb3dzWyBpIF0uc2hhZG93Tm9ybWFsQmlhcywgMCApO1xuXHRcdHZTcG90U2hhZG93Q29vcmRbIGkgXSA9IHNwb3RTaGFkb3dNYXRyaXhbIGkgXSAqIHNoYWRvd1dvcmxkUG9zaXRpb247XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcblx0I2VuZGlmXG5cdCNpZiBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHRzaGFkb3dXb3JsZFBvc2l0aW9uID0gd29ybGRQb3NpdGlvbiArIHZlYzQoIHNoYWRvd1dvcmxkTm9ybWFsICogcG9pbnRMaWdodFNoYWRvd3NbIGkgXS5zaGFkb3dOb3JtYWxCaWFzLCAwICk7XG5cdFx0dlBvaW50U2hhZG93Q29vcmRbIGkgXSA9IHBvaW50U2hhZG93TWF0cml4WyBpIF0gKiBzaGFkb3dXb3JsZFBvc2l0aW9uO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdCNlbmRpZlxuI2VuZGlmIixzaGFkb3dtYXNrX3BhcnNfZnJhZ21lbnQ6ImZsb2F0IGdldFNoYWRvd01hc2soKSB7XG5cdGZsb2F0IHNoYWRvdyA9IDEuMDtcblx0I2lmZGVmIFVTRV9TSEFET1dNQVBcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyA+IDBcblx0RGlyZWN0aW9uYWxMaWdodFNoYWRvdyBkaXJlY3Rpb25hbExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9ESVJfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHRkaXJlY3Rpb25hbExpZ2h0ID0gZGlyZWN0aW9uYWxMaWdodFNoYWRvd3NbIGkgXTtcblx0XHRzaGFkb3cgKj0gcmVjZWl2ZVNoYWRvdyA/IGdldFNoYWRvdyggZGlyZWN0aW9uYWxTaGFkb3dNYXBbIGkgXSwgZGlyZWN0aW9uYWxMaWdodC5zaGFkb3dNYXBTaXplLCBkaXJlY3Rpb25hbExpZ2h0LnNoYWRvd0JpYXMsIGRpcmVjdGlvbmFsTGlnaHQuc2hhZG93UmFkaXVzLCB2RGlyZWN0aW9uYWxTaGFkb3dDb29yZFsgaSBdICkgOiAxLjA7XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcblx0I2VuZGlmXG5cdCNpZiBOVU1fU1BPVF9MSUdIVF9TSEFET1dTID4gMFxuXHRTcG90TGlnaHRTaGFkb3cgc3BvdExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9TUE9UX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0c3BvdExpZ2h0ID0gc3BvdExpZ2h0U2hhZG93c1sgaSBdO1xuXHRcdHNoYWRvdyAqPSByZWNlaXZlU2hhZG93ID8gZ2V0U2hhZG93KCBzcG90U2hhZG93TWFwWyBpIF0sIHNwb3RMaWdodC5zaGFkb3dNYXBTaXplLCBzcG90TGlnaHQuc2hhZG93Qmlhcywgc3BvdExpZ2h0LnNoYWRvd1JhZGl1cywgdlNwb3RTaGFkb3dDb29yZFsgaSBdICkgOiAxLjA7XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcblx0I2VuZGlmXG5cdCNpZiBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyA+IDBcblx0UG9pbnRMaWdodFNoYWRvdyBwb2ludExpZ2h0O1xuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTOyBpICsrICkge1xuXHRcdHBvaW50TGlnaHQgPSBwb2ludExpZ2h0U2hhZG93c1sgaSBdO1xuXHRcdHNoYWRvdyAqPSByZWNlaXZlU2hhZG93ID8gZ2V0UG9pbnRTaGFkb3coIHBvaW50U2hhZG93TWFwWyBpIF0sIHBvaW50TGlnaHQuc2hhZG93TWFwU2l6ZSwgcG9pbnRMaWdodC5zaGFkb3dCaWFzLCBwb2ludExpZ2h0LnNoYWRvd1JhZGl1cywgdlBvaW50U2hhZG93Q29vcmRbIGkgXSwgcG9pbnRMaWdodC5zaGFkb3dDYW1lcmFOZWFyLCBwb2ludExpZ2h0LnNoYWRvd0NhbWVyYUZhciApIDogMS4wO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdCNlbmRpZlxuXHQjZW5kaWZcblx0cmV0dXJuIHNoYWRvdztcbn0iLHNraW5iYXNlX3ZlcnRleDoiI2lmZGVmIFVTRV9TS0lOTklOR1xuXHRtYXQ0IGJvbmVNYXRYID0gZ2V0Qm9uZU1hdHJpeCggc2tpbkluZGV4LnggKTtcblx0bWF0NCBib25lTWF0WSA9IGdldEJvbmVNYXRyaXgoIHNraW5JbmRleC55ICk7XG5cdG1hdDQgYm9uZU1hdFogPSBnZXRCb25lTWF0cml4KCBza2luSW5kZXgueiApO1xuXHRtYXQ0IGJvbmVNYXRXID0gZ2V0Qm9uZU1hdHJpeCggc2tpbkluZGV4LncgKTtcbiNlbmRpZiIsc2tpbm5pbmdfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfU0tJTk5JTkdcblx0dW5pZm9ybSBtYXQ0IGJpbmRNYXRyaXg7XG5cdHVuaWZvcm0gbWF0NCBiaW5kTWF0cml4SW52ZXJzZTtcblx0I2lmZGVmIEJPTkVfVEVYVFVSRVxuXHRcdHVuaWZvcm0gaGlnaHAgc2FtcGxlcjJEIGJvbmVUZXh0dXJlO1xuXHRcdHVuaWZvcm0gaW50IGJvbmVUZXh0dXJlU2l6ZTtcblx0XHRtYXQ0IGdldEJvbmVNYXRyaXgoIGNvbnN0IGluIGZsb2F0IGkgKSB7XG5cdFx0XHRmbG9hdCBqID0gaSAqIDQuMDtcblx0XHRcdGZsb2F0IHggPSBtb2QoIGosIGZsb2F0KCBib25lVGV4dHVyZVNpemUgKSApO1xuXHRcdFx0ZmxvYXQgeSA9IGZsb29yKCBqIC8gZmxvYXQoIGJvbmVUZXh0dXJlU2l6ZSApICk7XG5cdFx0XHRmbG9hdCBkeCA9IDEuMCAvIGZsb2F0KCBib25lVGV4dHVyZVNpemUgKTtcblx0XHRcdGZsb2F0IGR5ID0gMS4wIC8gZmxvYXQoIGJvbmVUZXh0dXJlU2l6ZSApO1xuXHRcdFx0eSA9IGR5ICogKCB5ICsgMC41ICk7XG5cdFx0XHR2ZWM0IHYxID0gdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAwLjUgKSwgeSApICk7XG5cdFx0XHR2ZWM0IHYyID0gdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAxLjUgKSwgeSApICk7XG5cdFx0XHR2ZWM0IHYzID0gdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAyLjUgKSwgeSApICk7XG5cdFx0XHR2ZWM0IHY0ID0gdGV4dHVyZTJEKCBib25lVGV4dHVyZSwgdmVjMiggZHggKiAoIHggKyAzLjUgKSwgeSApICk7XG5cdFx0XHRtYXQ0IGJvbmUgPSBtYXQ0KCB2MSwgdjIsIHYzLCB2NCApO1xuXHRcdFx0cmV0dXJuIGJvbmU7XG5cdFx0fVxuXHQjZWxzZVxuXHRcdHVuaWZvcm0gbWF0NCBib25lTWF0cmljZXNbIE1BWF9CT05FUyBdO1xuXHRcdG1hdDQgZ2V0Qm9uZU1hdHJpeCggY29uc3QgaW4gZmxvYXQgaSApIHtcblx0XHRcdG1hdDQgYm9uZSA9IGJvbmVNYXRyaWNlc1sgaW50KGkpIF07XG5cdFx0XHRyZXR1cm4gYm9uZTtcblx0XHR9XG5cdCNlbmRpZlxuI2VuZGlmIixza2lubmluZ192ZXJ0ZXg6IiNpZmRlZiBVU0VfU0tJTk5JTkdcblx0dmVjNCBza2luVmVydGV4ID0gYmluZE1hdHJpeCAqIHZlYzQoIHRyYW5zZm9ybWVkLCAxLjAgKTtcblx0dmVjNCBza2lubmVkID0gdmVjNCggMC4wICk7XG5cdHNraW5uZWQgKz0gYm9uZU1hdFggKiBza2luVmVydGV4ICogc2tpbldlaWdodC54O1xuXHRza2lubmVkICs9IGJvbmVNYXRZICogc2tpblZlcnRleCAqIHNraW5XZWlnaHQueTtcblx0c2tpbm5lZCArPSBib25lTWF0WiAqIHNraW5WZXJ0ZXggKiBza2luV2VpZ2h0Lno7XG5cdHNraW5uZWQgKz0gYm9uZU1hdFcgKiBza2luVmVydGV4ICogc2tpbldlaWdodC53O1xuXHR0cmFuc2Zvcm1lZCA9ICggYmluZE1hdHJpeEludmVyc2UgKiBza2lubmVkICkueHl6O1xuI2VuZGlmIixza2lubm9ybWFsX3ZlcnRleDoiI2lmZGVmIFVTRV9TS0lOTklOR1xuXHRtYXQ0IHNraW5NYXRyaXggPSBtYXQ0KCAwLjAgKTtcblx0c2tpbk1hdHJpeCArPSBza2luV2VpZ2h0LnggKiBib25lTWF0WDtcblx0c2tpbk1hdHJpeCArPSBza2luV2VpZ2h0LnkgKiBib25lTWF0WTtcblx0c2tpbk1hdHJpeCArPSBza2luV2VpZ2h0LnogKiBib25lTWF0Wjtcblx0c2tpbk1hdHJpeCArPSBza2luV2VpZ2h0LncgKiBib25lTWF0Vztcblx0c2tpbk1hdHJpeCA9IGJpbmRNYXRyaXhJbnZlcnNlICogc2tpbk1hdHJpeCAqIGJpbmRNYXRyaXg7XG5cdG9iamVjdE5vcm1hbCA9IHZlYzQoIHNraW5NYXRyaXggKiB2ZWM0KCBvYmplY3ROb3JtYWwsIDAuMCApICkueHl6O1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHRvYmplY3RUYW5nZW50ID0gdmVjNCggc2tpbk1hdHJpeCAqIHZlYzQoIG9iamVjdFRhbmdlbnQsIDAuMCApICkueHl6O1xuXHQjZW5kaWZcbiNlbmRpZiIsc3BlY3VsYXJtYXBfZnJhZ21lbnQ6ImZsb2F0IHNwZWN1bGFyU3RyZW5ndGg7XG4jaWZkZWYgVVNFX1NQRUNVTEFSTUFQXG5cdHZlYzQgdGV4ZWxTcGVjdWxhciA9IHRleHR1cmUyRCggc3BlY3VsYXJNYXAsIHZVdiApO1xuXHRzcGVjdWxhclN0cmVuZ3RoID0gdGV4ZWxTcGVjdWxhci5yO1xuI2Vsc2Vcblx0c3BlY3VsYXJTdHJlbmd0aCA9IDEuMDtcbiNlbmRpZiIsc3BlY3VsYXJtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9TUEVDVUxBUk1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBzcGVjdWxhck1hcDtcbiNlbmRpZiIsdG9uZW1hcHBpbmdfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBUT05FX01BUFBJTkcgKVxuXHRnbF9GcmFnQ29sb3IucmdiID0gdG9uZU1hcHBpbmcoIGdsX0ZyYWdDb2xvci5yZ2IgKTtcbiNlbmRpZiIsdG9uZW1hcHBpbmdfcGFyc19mcmFnbWVudDoiI2lmbmRlZiBzYXR1cmF0ZVxuI2RlZmluZSBzYXR1cmF0ZShhKSBjbGFtcCggYSwgMC4wLCAxLjAgKVxuI2VuZGlmXG51bmlmb3JtIGZsb2F0IHRvbmVNYXBwaW5nRXhwb3N1cmU7XG52ZWMzIExpbmVhclRvbmVNYXBwaW5nKCB2ZWMzIGNvbG9yICkge1xuXHRyZXR1cm4gdG9uZU1hcHBpbmdFeHBvc3VyZSAqIGNvbG9yO1xufVxudmVjMyBSZWluaGFyZFRvbmVNYXBwaW5nKCB2ZWMzIGNvbG9yICkge1xuXHRjb2xvciAqPSB0b25lTWFwcGluZ0V4cG9zdXJlO1xuXHRyZXR1cm4gc2F0dXJhdGUoIGNvbG9yIC8gKCB2ZWMzKCAxLjAgKSArIGNvbG9yICkgKTtcbn1cbnZlYzMgT3B0aW1pemVkQ2luZW9uVG9uZU1hcHBpbmcoIHZlYzMgY29sb3IgKSB7XG5cdGNvbG9yICo9IHRvbmVNYXBwaW5nRXhwb3N1cmU7XG5cdGNvbG9yID0gbWF4KCB2ZWMzKCAwLjAgKSwgY29sb3IgLSAwLjAwNCApO1xuXHRyZXR1cm4gcG93KCAoIGNvbG9yICogKCA2LjIgKiBjb2xvciArIDAuNSApICkgLyAoIGNvbG9yICogKCA2LjIgKiBjb2xvciArIDEuNyApICsgMC4wNiApLCB2ZWMzKCAyLjIgKSApO1xufVxudmVjMyBSUlRBbmRPRFRGaXQoIHZlYzMgdiApIHtcblx0dmVjMyBhID0gdiAqICggdiArIDAuMDI0NTc4NiApIC0gMC4wMDAwOTA1Mzc7XG5cdHZlYzMgYiA9IHYgKiAoIDAuOTgzNzI5ICogdiArIDAuNDMyOTUxMCApICsgMC4yMzgwODE7XG5cdHJldHVybiBhIC8gYjtcbn1cbnZlYzMgQUNFU0ZpbG1pY1RvbmVNYXBwaW5nKCB2ZWMzIGNvbG9yICkge1xuXHRjb25zdCBtYXQzIEFDRVNJbnB1dE1hdCA9IG1hdDMoXG5cdFx0dmVjMyggMC41OTcxOSwgMC4wNzYwMCwgMC4wMjg0MCApLFx0XHR2ZWMzKCAwLjM1NDU4LCAwLjkwODM0LCAwLjEzMzgzICksXG5cdFx0dmVjMyggMC4wNDgyMywgMC4wMTU2NiwgMC44Mzc3NyApXG5cdCk7XG5cdGNvbnN0IG1hdDMgQUNFU091dHB1dE1hdCA9IG1hdDMoXG5cdFx0dmVjMyggIDEuNjA0NzUsIC0wLjEwMjA4LCAtMC4wMDMyNyApLFx0XHR2ZWMzKCAtMC41MzEwOCwgIDEuMTA4MTMsIC0wLjA3Mjc2ICksXG5cdFx0dmVjMyggLTAuMDczNjcsIC0wLjAwNjA1LCAgMS4wNzYwMiApXG5cdCk7XG5cdGNvbG9yICo9IHRvbmVNYXBwaW5nRXhwb3N1cmUgLyAwLjY7XG5cdGNvbG9yID0gQUNFU0lucHV0TWF0ICogY29sb3I7XG5cdGNvbG9yID0gUlJUQW5kT0RURml0KCBjb2xvciApO1xuXHRjb2xvciA9IEFDRVNPdXRwdXRNYXQgKiBjb2xvcjtcblx0cmV0dXJuIHNhdHVyYXRlKCBjb2xvciApO1xufVxudmVjMyBDdXN0b21Ub25lTWFwcGluZyggdmVjMyBjb2xvciApIHsgcmV0dXJuIGNvbG9yOyB9Iix0cmFuc21pc3Npb25fZnJhZ21lbnQ6IiNpZmRlZiBVU0VfVFJBTlNNSVNTSU9OXG5cdGZsb2F0IHRyYW5zbWlzc2lvbkZhY3RvciA9IHRyYW5zbWlzc2lvbjtcblx0ZmxvYXQgdGhpY2tuZXNzRmFjdG9yID0gdGhpY2tuZXNzO1xuXHQjaWZkZWYgVVNFX1RSQU5TTUlTU0lPTk1BUFxuXHRcdHRyYW5zbWlzc2lvbkZhY3RvciAqPSB0ZXh0dXJlMkQoIHRyYW5zbWlzc2lvbk1hcCwgdlV2ICkucjtcblx0I2VuZGlmXG5cdCNpZmRlZiBVU0VfVEhJQ0tORVNTTUFQXG5cdFx0dGhpY2tuZXNzRmFjdG9yICo9IHRleHR1cmUyRCggdGhpY2tuZXNzTWFwLCB2VXYgKS5nO1xuXHQjZW5kaWZcblx0dmVjMyBwb3MgPSB2V29ybGRQb3NpdGlvbi54eXogLyB2V29ybGRQb3NpdGlvbi53O1xuXHR2ZWMzIHYgPSBub3JtYWxpemUoIGNhbWVyYVBvc2l0aW9uIC0gcG9zICk7XG5cdHZlYzMgbiA9IGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIG5vcm1hbCwgdmlld01hdHJpeCApO1xuXHRmbG9hdCBpb3IgPSAoIDEuMCArIDAuNCAqIHJlZmxlY3Rpdml0eSApIC8gKCAxLjAgLSAwLjQgKiByZWZsZWN0aXZpdHkgKTtcblx0dmVjMyB0cmFuc21pc3Npb24gPSB0cmFuc21pc3Npb25GYWN0b3IgKiBnZXRJQkxWb2x1bWVSZWZyYWN0aW9uKFxuXHRcdG4sIHYsIHJvdWdobmVzc0ZhY3RvciwgbWF0ZXJpYWwuZGlmZnVzZUNvbG9yLCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yLFxuXHRcdHBvcywgbW9kZWxNYXRyaXgsIHZpZXdNYXRyaXgsIHByb2plY3Rpb25NYXRyaXgsIGlvciwgdGhpY2tuZXNzRmFjdG9yLFxuXHRcdGF0dGVudWF0aW9uVGludCwgYXR0ZW51YXRpb25EaXN0YW5jZSApO1xuXHR0b3RhbERpZmZ1c2UgPSBtaXgoIHRvdGFsRGlmZnVzZSwgdHJhbnNtaXNzaW9uLCB0cmFuc21pc3Npb25GYWN0b3IgKTtcbiNlbmRpZiIsdHJhbnNtaXNzaW9uX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfVFJBTlNNSVNTSU9OXG5cdCNpZmRlZiBVU0VfVFJBTlNNSVNTSU9OTUFQXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgdHJhbnNtaXNzaW9uTWFwO1xuXHQjZW5kaWZcblx0I2lmZGVmIFVTRV9USElDS05FU1NNQVBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCB0aGlja25lc3NNYXA7XG5cdCNlbmRpZlxuXHR1bmlmb3JtIHZlYzIgdHJhbnNtaXNzaW9uU2FtcGxlclNpemU7XG5cdHVuaWZvcm0gc2FtcGxlcjJEIHRyYW5zbWlzc2lvblNhbXBsZXJNYXA7XG5cdHVuaWZvcm0gbWF0NCBtb2RlbE1hdHJpeDtcblx0dW5pZm9ybSBtYXQ0IHByb2plY3Rpb25NYXRyaXg7XG5cdHZhcnlpbmcgdmVjNCB2V29ybGRQb3NpdGlvbjtcblx0dmVjMyBnZXRWb2x1bWVUcmFuc21pc3Npb25SYXkodmVjMyBuLCB2ZWMzIHYsIGZsb2F0IHRoaWNrbmVzcywgZmxvYXQgaW9yLCBtYXQ0IG1vZGVsTWF0cml4KSB7XG5cdFx0dmVjMyByZWZyYWN0aW9uVmVjdG9yID0gcmVmcmFjdCgtdiwgbm9ybWFsaXplKG4pLCAxLjAgLyBpb3IpO1xuXHRcdHZlYzMgbW9kZWxTY2FsZTtcblx0XHRtb2RlbFNjYWxlLnggPSBsZW5ndGgodmVjMyhtb2RlbE1hdHJpeFswXS54eXopKTtcblx0XHRtb2RlbFNjYWxlLnkgPSBsZW5ndGgodmVjMyhtb2RlbE1hdHJpeFsxXS54eXopKTtcblx0XHRtb2RlbFNjYWxlLnogPSBsZW5ndGgodmVjMyhtb2RlbE1hdHJpeFsyXS54eXopKTtcblx0XHRyZXR1cm4gbm9ybWFsaXplKHJlZnJhY3Rpb25WZWN0b3IpICogdGhpY2tuZXNzICogbW9kZWxTY2FsZTtcblx0fVxuXHRmbG9hdCBhcHBseUlvclRvUm91Z2huZXNzKGZsb2F0IHJvdWdobmVzcywgZmxvYXQgaW9yKSB7XG5cdFx0cmV0dXJuIHJvdWdobmVzcyAqIGNsYW1wKGlvciAqIDIuMCAtIDIuMCwgMC4wLCAxLjApO1xuXHR9XG5cdHZlYzMgZ2V0VHJhbnNtaXNzaW9uU2FtcGxlKHZlYzIgZnJhZ0Nvb3JkLCBmbG9hdCByb3VnaG5lc3MsIGZsb2F0IGlvcikge1xuXHRcdGZsb2F0IGZyYW1lYnVmZmVyTG9kID0gbG9nMih0cmFuc21pc3Npb25TYW1wbGVyU2l6ZS54KSAqIGFwcGx5SW9yVG9Sb3VnaG5lc3Mocm91Z2huZXNzLCBpb3IpO1xuXHRcdHJldHVybiB0ZXh0dXJlMkRMb2RFWFQodHJhbnNtaXNzaW9uU2FtcGxlck1hcCwgZnJhZ0Nvb3JkLnh5LCBmcmFtZWJ1ZmZlckxvZCkucmdiO1xuXHR9XG5cdHZlYzMgYXBwbHlWb2x1bWVBdHRlbnVhdGlvbih2ZWMzIHJhZGlhbmNlLCBmbG9hdCB0cmFuc21pc3Npb25EaXN0YW5jZSwgdmVjMyBhdHRlbnVhdGlvbkNvbG9yLCBmbG9hdCBhdHRlbnVhdGlvbkRpc3RhbmNlKSB7XG5cdFx0aWYgKGF0dGVudWF0aW9uRGlzdGFuY2UgPT0gMC4wKSB7XG5cdFx0XHRyZXR1cm4gcmFkaWFuY2U7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHZlYzMgYXR0ZW51YXRpb25Db2VmZmljaWVudCA9IC1sb2coYXR0ZW51YXRpb25Db2xvcikgLyBhdHRlbnVhdGlvbkRpc3RhbmNlO1xuXHRcdFx0dmVjMyB0cmFuc21pdHRhbmNlID0gZXhwKC1hdHRlbnVhdGlvbkNvZWZmaWNpZW50ICogdHJhbnNtaXNzaW9uRGlzdGFuY2UpO1x0XHRcdHJldHVybiB0cmFuc21pdHRhbmNlICogcmFkaWFuY2U7XG5cdFx0fVxuXHR9XG5cdHZlYzMgZ2V0SUJMVm9sdW1lUmVmcmFjdGlvbih2ZWMzIG4sIHZlYzMgdiwgZmxvYXQgcGVyY2VwdHVhbFJvdWdobmVzcywgdmVjMyBiYXNlQ29sb3IsIHZlYzMgc3BlY3VsYXJDb2xvcixcblx0XHR2ZWMzIHBvc2l0aW9uLCBtYXQ0IG1vZGVsTWF0cml4LCBtYXQ0IHZpZXdNYXRyaXgsIG1hdDQgcHJvak1hdHJpeCwgZmxvYXQgaW9yLCBmbG9hdCB0aGlja25lc3MsXG5cdFx0dmVjMyBhdHRlbnVhdGlvbkNvbG9yLCBmbG9hdCBhdHRlbnVhdGlvbkRpc3RhbmNlKSB7XG5cdFx0dmVjMyB0cmFuc21pc3Npb25SYXkgPSBnZXRWb2x1bWVUcmFuc21pc3Npb25SYXkobiwgdiwgdGhpY2tuZXNzLCBpb3IsIG1vZGVsTWF0cml4KTtcblx0XHR2ZWMzIHJlZnJhY3RlZFJheUV4aXQgPSBwb3NpdGlvbiArIHRyYW5zbWlzc2lvblJheTtcblx0XHR2ZWM0IG5kY1BvcyA9IHByb2pNYXRyaXggKiB2aWV3TWF0cml4ICogdmVjNChyZWZyYWN0ZWRSYXlFeGl0LCAxLjApO1xuXHRcdHZlYzIgcmVmcmFjdGlvbkNvb3JkcyA9IG5kY1Bvcy54eSAvIG5kY1Bvcy53O1xuXHRcdHJlZnJhY3Rpb25Db29yZHMgKz0gMS4wO1xuXHRcdHJlZnJhY3Rpb25Db29yZHMgLz0gMi4wO1xuXHRcdHZlYzMgdHJhbnNtaXR0ZWRMaWdodCA9IGdldFRyYW5zbWlzc2lvblNhbXBsZShyZWZyYWN0aW9uQ29vcmRzLCBwZXJjZXB0dWFsUm91Z2huZXNzLCBpb3IpO1xuXHRcdHZlYzMgYXR0ZW51YXRlZENvbG9yID0gYXBwbHlWb2x1bWVBdHRlbnVhdGlvbih0cmFuc21pdHRlZExpZ2h0LCBsZW5ndGgodHJhbnNtaXNzaW9uUmF5KSwgYXR0ZW51YXRpb25Db2xvciwgYXR0ZW51YXRpb25EaXN0YW5jZSk7XG5cdFx0cmV0dXJuICgxLjAgLSBzcGVjdWxhckNvbG9yKSAqIGF0dGVudWF0ZWRDb2xvciAqIGJhc2VDb2xvcjtcblx0fVxuI2VuZGlmIix1dl9wYXJzX2ZyYWdtZW50OiIjaWYgKCBkZWZpbmVkKCBVU0VfVVYgKSAmJiAhIGRlZmluZWQoIFVWU19WRVJURVhfT05MWSApIClcblx0dmFyeWluZyB2ZWMyIHZVdjtcbiNlbmRpZiIsdXZfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfVVZcblx0I2lmZGVmIFVWU19WRVJURVhfT05MWVxuXHRcdHZlYzIgdlV2O1xuXHQjZWxzZVxuXHRcdHZhcnlpbmcgdmVjMiB2VXY7XG5cdCNlbmRpZlxuXHR1bmlmb3JtIG1hdDMgdXZUcmFuc2Zvcm07XG4jZW5kaWYiLHV2X3ZlcnRleDoiI2lmZGVmIFVTRV9VVlxuXHR2VXYgPSAoIHV2VHJhbnNmb3JtICogdmVjMyggdXYsIDEgKSApLnh5O1xuI2VuZGlmIix1djJfcGFyc19mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9MSUdIVE1BUCApIHx8IGRlZmluZWQoIFVTRV9BT01BUCApXG5cdHZhcnlpbmcgdmVjMiB2VXYyO1xuI2VuZGlmIix1djJfcGFyc192ZXJ0ZXg6IiNpZiBkZWZpbmVkKCBVU0VfTElHSFRNQVAgKSB8fCBkZWZpbmVkKCBVU0VfQU9NQVAgKVxuXHRhdHRyaWJ1dGUgdmVjMiB1djI7XG5cdHZhcnlpbmcgdmVjMiB2VXYyO1xuXHR1bmlmb3JtIG1hdDMgdXYyVHJhbnNmb3JtO1xuI2VuZGlmIix1djJfdmVydGV4OiIjaWYgZGVmaW5lZCggVVNFX0xJR0hUTUFQICkgfHwgZGVmaW5lZCggVVNFX0FPTUFQIClcblx0dlV2MiA9ICggdXYyVHJhbnNmb3JtICogdmVjMyggdXYyLCAxICkgKS54eTtcbiNlbmRpZiIsd29ybGRwb3NfdmVydGV4OiIjaWYgZGVmaW5lZCggVVNFX0VOVk1BUCApIHx8IGRlZmluZWQoIERJU1RBTkNFICkgfHwgZGVmaW5lZCAoIFVTRV9TSEFET1dNQVAgKSB8fCBkZWZpbmVkICggVVNFX1RSQU5TTUlTU0lPTiApXG5cdHZlYzQgd29ybGRQb3NpdGlvbiA9IHZlYzQoIHRyYW5zZm9ybWVkLCAxLjAgKTtcblx0I2lmZGVmIFVTRV9JTlNUQU5DSU5HXG5cdFx0d29ybGRQb3NpdGlvbiA9IGluc3RhbmNlTWF0cml4ICogd29ybGRQb3NpdGlvbjtcblx0I2VuZGlmXG5cdHdvcmxkUG9zaXRpb24gPSBtb2RlbE1hdHJpeCAqIHdvcmxkUG9zaXRpb247XG4jZW5kaWYiLGJhY2tncm91bmRfZnJhZzoidW5pZm9ybSBzYW1wbGVyMkQgdDJEO1xudmFyeWluZyB2ZWMyIHZVdjtcbnZvaWQgbWFpbigpIHtcblx0dmVjNCB0ZXhDb2xvciA9IHRleHR1cmUyRCggdDJELCB2VXYgKTtcblx0Z2xfRnJhZ0NvbG9yID0gbWFwVGV4ZWxUb0xpbmVhciggdGV4Q29sb3IgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxufSIsYmFja2dyb3VuZF92ZXJ0OiJ2YXJ5aW5nIHZlYzIgdlV2O1xudW5pZm9ybSBtYXQzIHV2VHJhbnNmb3JtO1xudm9pZCBtYWluKCkge1xuXHR2VXYgPSAoIHV2VHJhbnNmb3JtICogdmVjMyggdXYsIDEgKSApLnh5O1xuXHRnbF9Qb3NpdGlvbiA9IHZlYzQoIHBvc2l0aW9uLnh5LCAxLjAsIDEuMCApO1xufSIsY3ViZV9mcmFnOiIjaW5jbHVkZSA8ZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50PlxudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xudmFyeWluZyB2ZWMzIHZXb3JsZERpcmVjdGlvbjtcbiNpbmNsdWRlIDxjdWJlX3V2X3JlZmxlY3Rpb25fZnJhZ21lbnQ+XG52b2lkIG1haW4oKSB7XG5cdHZlYzMgdlJlZmxlY3QgPSB2V29ybGREaXJlY3Rpb247XG5cdCNpbmNsdWRlIDxlbnZtYXBfZnJhZ21lbnQ+XG5cdGdsX0ZyYWdDb2xvciA9IGVudkNvbG9yO1xuXHRnbF9GcmFnQ29sb3IuYSAqPSBvcGFjaXR5O1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG59IixjdWJlX3ZlcnQ6InZhcnlpbmcgdmVjMyB2V29ybGREaXJlY3Rpb247XG4jaW5jbHVkZSA8Y29tbW9uPlxudm9pZCBtYWluKCkge1xuXHR2V29ybGREaXJlY3Rpb24gPSB0cmFuc2Zvcm1EaXJlY3Rpb24oIHBvc2l0aW9uLCBtb2RlbE1hdHJpeCApO1xuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdGdsX1Bvc2l0aW9uLnogPSBnbF9Qb3NpdGlvbi53O1xufSIsZGVwdGhfZnJhZzoiI2lmIERFUFRIX1BBQ0tJTkcgPT0gMzIwMFxuXHR1bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jZW5kaWZcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8cGFja2luZz5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZhcnlpbmcgdmVjMiB2SGlnaFByZWNpc2lvblpXO1xudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIDEuMCApO1xuXHQjaWYgREVQVEhfUEFDS0lORyA9PSAzMjAwXG5cdFx0ZGlmZnVzZUNvbG9yLmEgPSBvcGFjaXR5O1xuXHQjZW5kaWZcblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhbWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGF0ZXN0X2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdGZsb2F0IGZyYWdDb29yZFogPSAwLjUgKiB2SGlnaFByZWNpc2lvblpXWzBdIC8gdkhpZ2hQcmVjaXNpb25aV1sxXSArIDAuNTtcblx0I2lmIERFUFRIX1BBQ0tJTkcgPT0gMzIwMFxuXHRcdGdsX0ZyYWdDb2xvciA9IHZlYzQoIHZlYzMoIDEuMCAtIGZyYWdDb29yZFogKSwgb3BhY2l0eSApO1xuXHQjZWxpZiBERVBUSF9QQUNLSU5HID09IDMyMDFcblx0XHRnbF9GcmFnQ29sb3IgPSBwYWNrRGVwdGhUb1JHQkEoIGZyYWdDb29yZFogKTtcblx0I2VuZGlmXG59IixkZXB0aF92ZXJ0OiIjaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxtb3JwaHRhcmdldF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxza2lubmluZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52YXJ5aW5nIHZlYzIgdkhpZ2hQcmVjaXNpb25aVztcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2lmZGVmIFVTRV9ESVNQTEFDRU1FTlRNQVBcblx0XHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxtb3JwaG5vcm1hbF92ZXJ0ZXg+XG5cdFx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjZW5kaWZcblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBodGFyZ2V0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5uaW5nX3ZlcnRleD5cblx0I2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdHZIaWdoUHJlY2lzaW9uWlcgPSBnbF9Qb3NpdGlvbi56dztcbn0iLGRpc3RhbmNlUkdCQV9mcmFnOiIjZGVmaW5lIERJU1RBTkNFXG51bmlmb3JtIHZlYzMgcmVmZXJlbmNlUG9zaXRpb247XG51bmlmb3JtIGZsb2F0IG5lYXJEaXN0YW5jZTtcbnVuaWZvcm0gZmxvYXQgZmFyRGlzdGFuY2U7XG52YXJ5aW5nIHZlYzMgdldvcmxkUG9zaXRpb247XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluICgpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCAxLjAgKTtcblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhbWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGF0ZXN0X2ZyYWdtZW50PlxuXHRmbG9hdCBkaXN0ID0gbGVuZ3RoKCB2V29ybGRQb3NpdGlvbiAtIHJlZmVyZW5jZVBvc2l0aW9uICk7XG5cdGRpc3QgPSAoIGRpc3QgLSBuZWFyRGlzdGFuY2UgKSAvICggZmFyRGlzdGFuY2UgLSBuZWFyRGlzdGFuY2UgKTtcblx0ZGlzdCA9IHNhdHVyYXRlKCBkaXN0ICk7XG5cdGdsX0ZyYWdDb2xvciA9IHBhY2tEZXB0aFRvUkdCQSggZGlzdCApO1xufSIsZGlzdGFuY2VSR0JBX3ZlcnQ6IiNkZWZpbmUgRElTVEFOQ0VcbnZhcnlpbmcgdmVjMyB2V29ybGRQb3NpdGlvbjtcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2lmZGVmIFVTRV9ESVNQTEFDRU1FTlRNQVBcblx0XHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxtb3JwaG5vcm1hbF92ZXJ0ZXg+XG5cdFx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjZW5kaWZcblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBodGFyZ2V0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5uaW5nX3ZlcnRleD5cblx0I2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdHZXb3JsZFBvc2l0aW9uID0gd29ybGRQb3NpdGlvbi54eXo7XG59IixlcXVpcmVjdF9mcmFnOiJ1bmlmb3JtIHNhbXBsZXIyRCB0RXF1aXJlY3Q7XG52YXJ5aW5nIHZlYzMgdldvcmxkRGlyZWN0aW9uO1xuI2luY2x1ZGUgPGNvbW1vbj5cbnZvaWQgbWFpbigpIHtcblx0dmVjMyBkaXJlY3Rpb24gPSBub3JtYWxpemUoIHZXb3JsZERpcmVjdGlvbiApO1xuXHR2ZWMyIHNhbXBsZVVWID0gZXF1aXJlY3RVdiggZGlyZWN0aW9uICk7XG5cdHZlYzQgdGV4Q29sb3IgPSB0ZXh0dXJlMkQoIHRFcXVpcmVjdCwgc2FtcGxlVVYgKTtcblx0Z2xfRnJhZ0NvbG9yID0gbWFwVGV4ZWxUb0xpbmVhciggdGV4Q29sb3IgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxufSIsZXF1aXJlY3RfdmVydDoidmFyeWluZyB2ZWMzIHZXb3JsZERpcmVjdGlvbjtcbiNpbmNsdWRlIDxjb21tb24+XG52b2lkIG1haW4oKSB7XG5cdHZXb3JsZERpcmVjdGlvbiA9IHRyYW5zZm9ybURpcmVjdGlvbiggcG9zaXRpb24sIG1vZGVsTWF0cml4ICk7XG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cbn0iLGxpbmVkYXNoZWRfZnJhZzoidW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG51bmlmb3JtIGZsb2F0IGRhc2hTaXplO1xudW5pZm9ybSBmbG9hdCB0b3RhbFNpemU7XG52YXJ5aW5nIGZsb2F0IHZMaW5lRGlzdGFuY2U7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0aWYgKCBtb2QoIHZMaW5lRGlzdGFuY2UsIHRvdGFsU2l6ZSApID4gZGFzaFNpemUgKSB7XG5cdFx0ZGlzY2FyZDtcblx0fVxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSB2ZWMzKCAwLjAgKTtcblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHRvdXRnb2luZ0xpZ2h0ID0gZGlmZnVzZUNvbG9yLnJnYjtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cbn0iLGxpbmVkYXNoZWRfdmVydDoidW5pZm9ybSBmbG9hdCBzY2FsZTtcbmF0dHJpYnV0ZSBmbG9hdCBsaW5lRGlzdGFuY2U7XG52YXJ5aW5nIGZsb2F0IHZMaW5lRGlzdGFuY2U7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGZvZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxtb3JwaHRhcmdldF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdHZMaW5lRGlzdGFuY2UgPSBzY2FsZSAqIGxpbmVEaXN0YW5jZTtcblx0I2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBodGFyZ2V0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cblx0I2luY2x1ZGUgPGZvZ192ZXJ0ZXg+XG59IixtZXNoYmFzaWNfZnJhZzoidW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPGRpdGhlcmluZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1djJfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFvbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bGlnaHRtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxlbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW52bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y3ViZV91dl9yZWZsZWN0aW9uX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNwZWN1bGFybWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGFtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYXRlc3RfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxzcGVjdWxhcm1hcF9mcmFnbWVudD5cblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgPSBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0I2lmZGVmIFVTRV9MSUdIVE1BUFxuXHRcblx0XHR2ZWM0IGxpZ2h0TWFwVGV4ZWw9IHRleHR1cmUyRCggbGlnaHRNYXAsIHZVdjIgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKz0gbGlnaHRNYXBUZXhlbFRvTGluZWFyKCBsaWdodE1hcFRleGVsICkucmdiICogbGlnaHRNYXBJbnRlbnNpdHk7XG5cdCNlbHNlXG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICs9IHZlYzMoIDEuMCApO1xuXHQjZW5kaWZcblx0I2luY2x1ZGUgPGFvbWFwX2ZyYWdtZW50PlxuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKj0gZGlmZnVzZUNvbG9yLnJnYjtcblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlO1xuXHQjaW5jbHVkZSA8ZW52bWFwX2ZyYWdtZW50PlxuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZGl0aGVyaW5nX2ZyYWdtZW50PlxufSIsbWVzaGJhc2ljX3ZlcnQ6IiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8dXYyX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGVudm1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxmb2dfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2tpbm5pbmdfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8dXZfdmVydGV4PlxuXHQjaW5jbHVkZSA8dXYyX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cblx0I2lmIGRlZmluZWQgKCBVU0VfRU5WTUFQICkgfHwgZGVmaW5lZCAoIFVTRV9TS0lOTklORyApXG5cdFx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0XHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxza2luYmFzZV92ZXJ0ZXg+XG5cdFx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx3b3JsZHBvc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxlbnZtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0iLG1lc2hsYW1iZXJ0X2ZyYWc6InVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSB2ZWMzIGVtaXNzaXZlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xudmFyeWluZyB2ZWMzIHZMaWdodEZyb250O1xudmFyeWluZyB2ZWMzIHZJbmRpcmVjdEZyb250O1xuI2lmZGVmIERPVUJMRV9TSURFRFxuXHR2YXJ5aW5nIHZlYzMgdkxpZ2h0QmFjaztcblx0dmFyeWluZyB2ZWMzIHZJbmRpcmVjdEJhY2s7XG4jZW5kaWZcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8cGFja2luZz5cbiNpbmNsdWRlIDxkaXRoZXJpbmdfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2X3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXYyX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YWxwaGFtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhb21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxpZ2h0bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW1pc3NpdmVtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxlbnZtYXBfY29tbW9uX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW52bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y3ViZV91dl9yZWZsZWN0aW9uX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGJzZGZzPlxuI2luY2x1ZGUgPGxpZ2h0c19wYXJzX2JlZ2luPlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNoYWRvd21hc2tfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzcGVjdWxhcm1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnQ+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnQ+XG5cdHZlYzQgZGlmZnVzZUNvbG9yID0gdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHRSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCA9IFJlZmxlY3RlZExpZ2h0KCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSApO1xuXHR2ZWMzIHRvdGFsRW1pc3NpdmVSYWRpYW5jZSA9IGVtaXNzaXZlO1xuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxjb2xvcl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhbWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGF0ZXN0X2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8c3BlY3VsYXJtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbWlzc2l2ZW1hcF9mcmFnbWVudD5cblx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSAoIGdsX0Zyb250RmFjaW5nICkgPyB2SW5kaXJlY3RGcm9udCA6IHZJbmRpcmVjdEJhY2s7XG5cdCNlbHNlXG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICs9IHZJbmRpcmVjdEZyb250O1xuXHQjZW5kaWZcblx0I2luY2x1ZGUgPGxpZ2h0bWFwX2ZyYWdtZW50PlxuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKj0gQlJERl9EaWZmdXNlX0xhbWJlcnQoIGRpZmZ1c2VDb2xvci5yZ2IgKTtcblx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgPSAoIGdsX0Zyb250RmFjaW5nICkgPyB2TGlnaHRGcm9udCA6IHZMaWdodEJhY2s7XG5cdCNlbHNlXG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSA9IHZMaWdodEZyb250O1xuXHQjZW5kaWZcblx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSAqPSBCUkRGX0RpZmZ1c2VfTGFtYmVydCggZGlmZnVzZUNvbG9yLnJnYiApICogZ2V0U2hhZG93TWFzaygpO1xuXHQjaW5jbHVkZSA8YW9tYXBfZnJhZ21lbnQ+XG5cdHZlYzMgb3V0Z29pbmdMaWdodCA9IHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKyByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKyB0b3RhbEVtaXNzaXZlUmFkaWFuY2U7XG5cdCNpbmNsdWRlIDxlbnZtYXBfZnJhZ21lbnQ+XG5cdGdsX0ZyYWdDb2xvciA9IHZlYzQoIG91dGdvaW5nTGlnaHQsIGRpZmZ1c2VDb2xvci5hICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGZvZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPHByZW11bHRpcGxpZWRfYWxwaGFfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxkaXRoZXJpbmdfZnJhZ21lbnQ+XG59IixtZXNobGFtYmVydF92ZXJ0OiIjZGVmaW5lIExBTUJFUlRcbnZhcnlpbmcgdmVjMyB2TGlnaHRGcm9udDtcbnZhcnlpbmcgdmVjMyB2SW5kaXJlY3RGcm9udDtcbiNpZmRlZiBET1VCTEVfU0lERURcblx0dmFyeWluZyB2ZWMzIHZMaWdodEJhY2s7XG5cdHZhcnlpbmcgdmVjMyB2SW5kaXJlY3RCYWNrO1xuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxlbnZtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8YnNkZnM+XG4jaW5jbHVkZSA8bGlnaHRzX3BhcnNfYmVnaW4+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx1djJfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y29sb3JfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBodGFyZ2V0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5uaW5nX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPGVudm1hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsaWdodHNfbGFtYmVydF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxzaGFkb3dtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0iLG1lc2htYXRjYXBfZnJhZzoiI2RlZmluZSBNQVRDQVBcbnVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xudW5pZm9ybSBzYW1wbGVyMkQgbWF0Y2FwO1xudmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2YXJ5aW5nIHZlYzMgdlRhbmdlbnQ7XG5cdFx0dmFyeWluZyB2ZWMzIHZCaXRhbmdlbnQ7XG5cdCNlbmRpZlxuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPGRpdGhlcmluZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGJ1bXBtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxub3JtYWxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Y29sb3JfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9tYXBzPlxuXHR2ZWMzIHZpZXdEaXIgPSBub3JtYWxpemUoIHZWaWV3UG9zaXRpb24gKTtcblx0dmVjMyB4ID0gbm9ybWFsaXplKCB2ZWMzKCB2aWV3RGlyLnosIDAuMCwgLSB2aWV3RGlyLnggKSApO1xuXHR2ZWMzIHkgPSBjcm9zcyggdmlld0RpciwgeCApO1xuXHR2ZWMyIHV2ID0gdmVjMiggZG90KCB4LCBub3JtYWwgKSwgZG90KCB5LCBub3JtYWwgKSApICogMC40OTUgKyAwLjU7XG5cdCNpZmRlZiBVU0VfTUFUQ0FQXG5cdFx0dmVjNCBtYXRjYXBDb2xvciA9IHRleHR1cmUyRCggbWF0Y2FwLCB1diApO1xuXHRcdG1hdGNhcENvbG9yID0gbWF0Y2FwVGV4ZWxUb0xpbmVhciggbWF0Y2FwQ29sb3IgKTtcblx0I2Vsc2Vcblx0XHR2ZWM0IG1hdGNhcENvbG9yID0gdmVjNCggMS4wICk7XG5cdCNlbmRpZlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSBkaWZmdXNlQ29sb3IucmdiICogbWF0Y2FwQ29sb3IucmdiO1xuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZGl0aGVyaW5nX2ZyYWdtZW50PlxufSIsbWVzaG1hdGNhcF92ZXJ0OiIjZGVmaW5lIE1BVENBUFxudmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2YXJ5aW5nIHZlYzMgdlRhbmdlbnQ7XG5cdFx0dmFyeWluZyB2ZWMzIHZCaXRhbmdlbnQ7XG5cdCNlbmRpZlxuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxmb2dfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2tpbm5pbmdfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8dXZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y29sb3JfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cblx0I2lmbmRlZiBGTEFUX1NIQURFRFxuXHRcdHZOb3JtYWwgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkTm9ybWFsICk7XG5cdFx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0XHR2VGFuZ2VudCA9IG5vcm1hbGl6ZSggdHJhbnNmb3JtZWRUYW5nZW50ICk7XG5cdFx0XHR2Qml0YW5nZW50ID0gbm9ybWFsaXplKCBjcm9zcyggdk5vcm1hbCwgdlRhbmdlbnQgKSAqIHRhbmdlbnQudyApO1xuXHRcdCNlbmRpZlxuXHQjZW5kaWZcblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBodGFyZ2V0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5uaW5nX3ZlcnRleD5cblx0I2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxmb2dfdmVydGV4PlxuXHR2Vmlld1Bvc2l0aW9uID0gLSBtdlBvc2l0aW9uLnh5ejtcbn0iLG1lc2h0b29uX2ZyYWc6IiNkZWZpbmUgVE9PTlxudW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIHZlYzMgZW1pc3NpdmU7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8ZGl0aGVyaW5nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YW9tYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsaWdodG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVtaXNzaXZlbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Z3JhZGllbnRtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxic2Rmcz5cbiNpbmNsdWRlIDxsaWdodHNfcGFyc19iZWdpbj5cbiNpbmNsdWRlIDxsaWdodHNfdG9vbl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGJ1bXBtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxub3JtYWxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgPSBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0dmVjMyB0b3RhbEVtaXNzaXZlUmFkaWFuY2UgPSBlbWlzc2l2ZTtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Y29sb3JfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9tYXBzPlxuXHQjaW5jbHVkZSA8ZW1pc3NpdmVtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxsaWdodHNfdG9vbl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9tYXBzPlxuXHQjaW5jbHVkZSA8bGlnaHRzX2ZyYWdtZW50X2VuZD5cblx0I2luY2x1ZGUgPGFvbWFwX2ZyYWdtZW50PlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSByZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICsgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICsgdG90YWxFbWlzc2l2ZVJhZGlhbmNlO1xuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZGl0aGVyaW5nX2ZyYWdtZW50PlxufSIsbWVzaHRvb25fdmVydDoiI2RlZmluZSBUT09OXG52YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG4jZW5kaWZcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8dXYyX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxmb2dfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2tpbm5pbmdfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2hhZG93bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPHV2Ml92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjb2xvcl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxiZWdpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaG5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2luYmFzZV92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPGRlZmF1bHRub3JtYWxfdmVydGV4PlxuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2Tm9ybWFsID0gbm9ybWFsaXplKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xuI2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHR2Vmlld1Bvc2l0aW9uID0gLSBtdlBvc2l0aW9uLnh5ejtcblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNoYWRvd21hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxmb2dfdmVydGV4PlxufSIsbWVzaHBob25nX2ZyYWc6IiNkZWZpbmUgUEhPTkdcbnVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSB2ZWMzIGVtaXNzaXZlO1xudW5pZm9ybSB2ZWMzIHNwZWN1bGFyO1xudW5pZm9ybSBmbG9hdCBzaGluaW5lc3M7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8ZGl0aGVyaW5nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YW9tYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsaWdodG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVtaXNzaXZlbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVudm1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGN1YmVfdXZfcmVmbGVjdGlvbl9mcmFnbWVudD5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxic2Rmcz5cbiNpbmNsdWRlIDxsaWdodHNfcGFyc19iZWdpbj5cbiNpbmNsdWRlIDxsaWdodHNfcGhvbmdfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxidW1wbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8c3BlY3VsYXJtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgPSBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0dmVjMyB0b3RhbEVtaXNzaXZlUmFkaWFuY2UgPSBlbWlzc2l2ZTtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Y29sb3JfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPHNwZWN1bGFybWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bm9ybWFsX2ZyYWdtZW50X2JlZ2luPlxuXHQjaW5jbHVkZSA8bm9ybWFsX2ZyYWdtZW50X21hcHM+XG5cdCNpbmNsdWRlIDxlbWlzc2l2ZW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxpZ2h0c19waG9uZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9tYXBzPlxuXHQjaW5jbHVkZSA8bGlnaHRzX2ZyYWdtZW50X2VuZD5cblx0I2luY2x1ZGUgPGFvbWFwX2ZyYWdtZW50PlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSByZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICsgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICsgcmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKyByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICsgdG90YWxFbWlzc2l2ZVJhZGlhbmNlO1xuXHQjaW5jbHVkZSA8ZW52bWFwX2ZyYWdtZW50PlxuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZGl0aGVyaW5nX2ZyYWdtZW50PlxufSIsbWVzaHBob25nX3ZlcnQ6IiNkZWZpbmUgUEhPTkdcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDx1djJfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGVudm1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxmb2dfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2tpbm5pbmdfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2hhZG93bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPHV2Ml92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjb2xvcl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxiZWdpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaG5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2luYmFzZV92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPGRlZmF1bHRub3JtYWxfdmVydGV4PlxuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2Tm9ybWFsID0gbm9ybWFsaXplKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xuI2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHR2Vmlld1Bvc2l0aW9uID0gLSBtdlBvc2l0aW9uLnh5ejtcblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPGVudm1hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxzaGFkb3dtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0iLG1lc2hwaHlzaWNhbF9mcmFnOiIjZGVmaW5lIFNUQU5EQVJEXG4jaWZkZWYgUEhZU0lDQUxcblx0I2RlZmluZSBSRUZMRUNUSVZJVFlcblx0I2RlZmluZSBDTEVBUkNPQVRcblx0I2RlZmluZSBTUEVDVUxBUlxuI2VuZGlmXG51bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gdmVjMyBlbWlzc2l2ZTtcbnVuaWZvcm0gZmxvYXQgcm91Z2huZXNzO1xudW5pZm9ybSBmbG9hdCBtZXRhbG5lc3M7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaWZkZWYgVVNFX1RSQU5TTUlTU0lPTlxuXHR1bmlmb3JtIGZsb2F0IHRyYW5zbWlzc2lvbjtcblx0dW5pZm9ybSBmbG9hdCB0aGlja25lc3M7XG5cdHVuaWZvcm0gZmxvYXQgYXR0ZW51YXRpb25EaXN0YW5jZTtcblx0dW5pZm9ybSB2ZWMzIGF0dGVudWF0aW9uVGludDtcbiNlbmRpZlxuI2lmZGVmIFJFRkxFQ1RJVklUWVxuXHR1bmlmb3JtIGZsb2F0IHJlZmxlY3Rpdml0eTtcbiNlbmRpZlxuI2lmZGVmIFNQRUNVTEFSXG5cdHVuaWZvcm0gZmxvYXQgc3BlY3VsYXJJbnRlbnNpdHk7XG5cdHVuaWZvcm0gdmVjMyBzcGVjdWxhclRpbnQ7XG5cdCNpZmRlZiBVU0VfU1BFQ1VMQVJJTlRFTlNJVFlNQVBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBzcGVjdWxhckludGVuc2l0eU1hcDtcblx0I2VuZGlmXG5cdCNpZmRlZiBVU0VfU1BFQ1VMQVJUSU5UTUFQXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgc3BlY3VsYXJUaW50TWFwO1xuXHQjZW5kaWZcbiNlbmRpZlxuI2lmZGVmIENMRUFSQ09BVFxuXHR1bmlmb3JtIGZsb2F0IGNsZWFyY29hdDtcblx0dW5pZm9ybSBmbG9hdCBjbGVhcmNvYXRSb3VnaG5lc3M7XG4jZW5kaWZcbiNpZmRlZiBVU0VfU0hFRU5cblx0dW5pZm9ybSB2ZWMzIHNoZWVuO1xuI2VuZGlmXG52YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZhcnlpbmcgdmVjMyB2VGFuZ2VudDtcblx0XHR2YXJ5aW5nIHZlYzMgdkJpdGFuZ2VudDtcblx0I2VuZGlmXG4jZW5kaWZcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8cGFja2luZz5cbiNpbmNsdWRlIDxkaXRoZXJpbmdfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2X3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXYyX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YWxwaGFtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhb21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxpZ2h0bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW1pc3NpdmVtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxic2Rmcz5cbiNpbmNsdWRlIDx0cmFuc21pc3Npb25fcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjdWJlX3V2X3JlZmxlY3Rpb25fZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVudm1hcF9waHlzaWNhbF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxpZ2h0c19wYXJzX2JlZ2luPlxuI2luY2x1ZGUgPGxpZ2h0c19waHlzaWNhbF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGJ1bXBtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxub3JtYWxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGVhcmNvYXRfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxyb3VnaG5lc3NtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtZXRhbG5lc3NtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgPSBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0dmVjMyB0b3RhbEVtaXNzaXZlUmFkaWFuY2UgPSBlbWlzc2l2ZTtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Y29sb3JfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPHJvdWdobmVzc21hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1ldGFsbmVzc21hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9tYXBzPlxuXHQjaW5jbHVkZSA8Y2xlYXJjb2F0X25vcm1hbF9mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPGNsZWFyY29hdF9ub3JtYWxfZnJhZ21lbnRfbWFwcz5cblx0I2luY2x1ZGUgPGVtaXNzaXZlbWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bGlnaHRzX3BoeXNpY2FsX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bGlnaHRzX2ZyYWdtZW50X2JlZ2luPlxuXHQjaW5jbHVkZSA8bGlnaHRzX2ZyYWdtZW50X21hcHM+XG5cdCNpbmNsdWRlIDxsaWdodHNfZnJhZ21lbnRfZW5kPlxuXHQjaW5jbHVkZSA8YW9tYXBfZnJhZ21lbnQ+XG5cdHZlYzMgdG90YWxEaWZmdXNlID0gcmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZTtcblx0dmVjMyB0b3RhbFNwZWN1bGFyID0gcmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKyByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyO1xuXHQjaW5jbHVkZSA8dHJhbnNtaXNzaW9uX2ZyYWdtZW50PlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSB0b3RhbERpZmZ1c2UgKyB0b3RhbFNwZWN1bGFyICsgdG90YWxFbWlzc2l2ZVJhZGlhbmNlO1xuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZGl0aGVyaW5nX2ZyYWdtZW50PlxufSIsbWVzaHBoeXNpY2FsX3ZlcnQ6IiNkZWZpbmUgU1RBTkRBUkRcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2lmZGVmIFVTRV9UUkFOU01JU1NJT05cblx0dmFyeWluZyB2ZWM0IHZXb3JsZFBvc2l0aW9uO1xuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx1djJfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y29sb3JfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dk5vcm1hbCA9IG5vcm1hbGl6ZSggdHJhbnNmb3JtZWROb3JtYWwgKTtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dlRhbmdlbnQgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkVGFuZ2VudCApO1xuXHRcdHZCaXRhbmdlbnQgPSBub3JtYWxpemUoIGNyb3NzKCB2Tm9ybWFsLCB2VGFuZ2VudCApICogdGFuZ2VudC53ICk7XG5cdCNlbmRpZlxuI2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHR2Vmlld1Bvc2l0aW9uID0gLSBtdlBvc2l0aW9uLnh5ejtcblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNoYWRvd21hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxmb2dfdmVydGV4PlxuI2lmZGVmIFVTRV9UUkFOU01JU1NJT05cblx0dldvcmxkUG9zaXRpb24gPSB3b3JsZFBvc2l0aW9uO1xuI2VuZGlmXG59Iixub3JtYWxfZnJhZzoiI2RlZmluZSBOT1JNQUxcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNpZiBkZWZpbmVkKCBGTEFUX1NIQURFRCApIHx8IGRlZmluZWQoIFVTRV9CVU1QTUFQICkgfHwgZGVmaW5lZCggVEFOR0VOVFNQQUNFX05PUk1BTE1BUCApXG5cdHZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2VuZGlmXG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2YXJ5aW5nIHZlYzMgdlRhbmdlbnQ7XG5cdFx0dmFyeWluZyB2ZWMzIHZCaXRhbmdlbnQ7XG5cdCNlbmRpZlxuI2VuZGlmXG4jaW5jbHVkZSA8cGFja2luZz5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGJ1bXBtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxub3JtYWxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfbWFwcz5cblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggcGFja05vcm1hbFRvUkdCKCBub3JtYWwgKSwgb3BhY2l0eSApO1xufSIsbm9ybWFsX3ZlcnQ6IiNkZWZpbmUgTk9STUFMXG4jaWYgZGVmaW5lZCggRkxBVF9TSEFERUQgKSB8fCBkZWZpbmVkKCBVU0VfQlVNUE1BUCApIHx8IGRlZmluZWQoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKVxuXHR2YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNlbmRpZlxuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2tpbm5pbmdfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8dXZfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dk5vcm1hbCA9IG5vcm1hbGl6ZSggdHJhbnNmb3JtZWROb3JtYWwgKTtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dlRhbmdlbnQgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkVGFuZ2VudCApO1xuXHRcdHZCaXRhbmdlbnQgPSBub3JtYWxpemUoIGNyb3NzKCB2Tm9ybWFsLCB2VGFuZ2VudCApICogdGFuZ2VudC53ICk7XG5cdCNlbmRpZlxuI2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuI2lmIGRlZmluZWQoIEZMQVRfU0hBREVEICkgfHwgZGVmaW5lZCggVVNFX0JVTVBNQVAgKSB8fCBkZWZpbmVkKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQIClcblx0dlZpZXdQb3NpdGlvbiA9IC0gbXZQb3NpdGlvbi54eXo7XG4jZW5kaWZcbn0iLHBvaW50c19mcmFnOiJ1bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFydGljbGVfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSB2ZWMzKCAwLjAgKTtcblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1hcF9wYXJ0aWNsZV9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGF0ZXN0X2ZyYWdtZW50PlxuXHRvdXRnb2luZ0xpZ2h0ID0gZGlmZnVzZUNvbG9yLnJnYjtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cbn0iLHBvaW50c192ZXJ0OiJ1bmlmb3JtIGZsb2F0IHNpemU7XG51bmlmb3JtIGZsb2F0IHNjYWxlO1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxmb2dfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y29sb3JfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGh0YXJnZXRfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdGdsX1BvaW50U2l6ZSA9IHNpemU7XG5cdCNpZmRlZiBVU0VfU0laRUFUVEVOVUFUSU9OXG5cdFx0Ym9vbCBpc1BlcnNwZWN0aXZlID0gaXNQZXJzcGVjdGl2ZU1hdHJpeCggcHJvamVjdGlvbk1hdHJpeCApO1xuXHRcdGlmICggaXNQZXJzcGVjdGl2ZSApIGdsX1BvaW50U2l6ZSAqPSAoIHNjYWxlIC8gLSBtdlBvc2l0aW9uLnogKTtcblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHQjaW5jbHVkZSA8d29ybGRwb3NfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0iLHNoYWRvd19mcmFnOiJ1bmlmb3JtIHZlYzMgY29sb3I7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YnNkZnM+XG4jaW5jbHVkZSA8bGlnaHRzX3BhcnNfYmVnaW4+XG4jaW5jbHVkZSA8c2hhZG93bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8c2hhZG93bWFza19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBjb2xvciwgb3BhY2l0eSAqICggMS4wIC0gZ2V0U2hhZG93TWFzaygpICkgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxufSIsc2hhZG93X3ZlcnQ6IiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8d29ybGRwb3NfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNoYWRvd21hcF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxmb2dfdmVydGV4PlxufSIsc3ByaXRlX2ZyYWc6InVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gdmVjMyggMC4wICk7XG5cdHZlYzQgZGlmZnVzZUNvbG9yID0gdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0b3V0Z29pbmdMaWdodCA9IGRpZmZ1c2VDb2xvci5yZ2I7XG5cdGdsX0ZyYWdDb2xvciA9IHZlYzQoIG91dGdvaW5nTGlnaHQsIGRpZmZ1c2VDb2xvci5hICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGZvZ19mcmFnbWVudD5cbn0iLHNwcml0ZV92ZXJ0OiJ1bmlmb3JtIGZsb2F0IHJvdGF0aW9uO1xudW5pZm9ybSB2ZWMyIGNlbnRlcjtcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0dmVjNCBtdlBvc2l0aW9uID0gbW9kZWxWaWV3TWF0cml4ICogdmVjNCggMC4wLCAwLjAsIDAuMCwgMS4wICk7XG5cdHZlYzIgc2NhbGU7XG5cdHNjYWxlLnggPSBsZW5ndGgoIHZlYzMoIG1vZGVsTWF0cml4WyAwIF0ueCwgbW9kZWxNYXRyaXhbIDAgXS55LCBtb2RlbE1hdHJpeFsgMCBdLnogKSApO1xuXHRzY2FsZS55ID0gbGVuZ3RoKCB2ZWMzKCBtb2RlbE1hdHJpeFsgMSBdLngsIG1vZGVsTWF0cml4WyAxIF0ueSwgbW9kZWxNYXRyaXhbIDEgXS56ICkgKTtcblx0I2lmbmRlZiBVU0VfU0laRUFUVEVOVUFUSU9OXG5cdFx0Ym9vbCBpc1BlcnNwZWN0aXZlID0gaXNQZXJzcGVjdGl2ZU1hdHJpeCggcHJvamVjdGlvbk1hdHJpeCApO1xuXHRcdGlmICggaXNQZXJzcGVjdGl2ZSApIHNjYWxlICo9IC0gbXZQb3NpdGlvbi56O1xuXHQjZW5kaWZcblx0dmVjMiBhbGlnbmVkUG9zaXRpb24gPSAoIHBvc2l0aW9uLnh5IC0gKCBjZW50ZXIgLSB2ZWMyKCAwLjUgKSApICkgKiBzY2FsZTtcblx0dmVjMiByb3RhdGVkUG9zaXRpb247XG5cdHJvdGF0ZWRQb3NpdGlvbi54ID0gY29zKCByb3RhdGlvbiApICogYWxpZ25lZFBvc2l0aW9uLnggLSBzaW4oIHJvdGF0aW9uICkgKiBhbGlnbmVkUG9zaXRpb24ueTtcblx0cm90YXRlZFBvc2l0aW9uLnkgPSBzaW4oIHJvdGF0aW9uICkgKiBhbGlnbmVkUG9zaXRpb24ueCArIGNvcyggcm90YXRpb24gKSAqIGFsaWduZWRQb3NpdGlvbi55O1xuXHRtdlBvc2l0aW9uLnh5ICs9IHJvdGF0ZWRQb3NpdGlvbjtcblx0Z2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uTWF0cml4ICogbXZQb3NpdGlvbjtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxmb2dfdmVydGV4PlxufSJ9LGI2dD17Y29tbW9uOntkaWZmdXNlOnt2YWx1ZTpuZXcgczR0KDE2Nzc3MjE1KX0sb3BhY2l0eTp7dmFsdWU6MX0sbWFwOnt2YWx1ZTpudWxsfSx1dlRyYW5zZm9ybTp7dmFsdWU6bmV3IEE1dH0sdXYyVHJhbnNmb3JtOnt2YWx1ZTpuZXcgQTV0fSxhbHBoYU1hcDp7dmFsdWU6bnVsbH19LHNwZWN1bGFybWFwOntzcGVjdWxhck1hcDp7dmFsdWU6bnVsbH19LGVudm1hcDp7ZW52TWFwOnt2YWx1ZTpudWxsfSxmbGlwRW52TWFwOnt2YWx1ZTotMX0scmVmbGVjdGl2aXR5Ont2YWx1ZToxfSxyZWZyYWN0aW9uUmF0aW86e3ZhbHVlOi45OH0sbWF4TWlwTGV2ZWw6e3ZhbHVlOjB9fSxhb21hcDp7YW9NYXA6e3ZhbHVlOm51bGx9LGFvTWFwSW50ZW5zaXR5Ont2YWx1ZToxfX0sbGlnaHRtYXA6e2xpZ2h0TWFwOnt2YWx1ZTpudWxsfSxsaWdodE1hcEludGVuc2l0eTp7dmFsdWU6MX19LGVtaXNzaXZlbWFwOntlbWlzc2l2ZU1hcDp7dmFsdWU6bnVsbH19LGJ1bXBtYXA6e2J1bXBNYXA6e3ZhbHVlOm51bGx9LGJ1bXBTY2FsZTp7dmFsdWU6MX19LG5vcm1hbG1hcDp7bm9ybWFsTWFwOnt2YWx1ZTpudWxsfSxub3JtYWxTY2FsZTp7dmFsdWU6bmV3IEM1dCgxLDEpfX0sZGlzcGxhY2VtZW50bWFwOntkaXNwbGFjZW1lbnRNYXA6e3ZhbHVlOm51bGx9LGRpc3BsYWNlbWVudFNjYWxlOnt2YWx1ZToxfSxkaXNwbGFjZW1lbnRCaWFzOnt2YWx1ZTowfX0scm91Z2huZXNzbWFwOntyb3VnaG5lc3NNYXA6e3ZhbHVlOm51bGx9fSxtZXRhbG5lc3NtYXA6e21ldGFsbmVzc01hcDp7dmFsdWU6bnVsbH19LGdyYWRpZW50bWFwOntncmFkaWVudE1hcDp7dmFsdWU6bnVsbH19LGZvZzp7Zm9nRGVuc2l0eTp7dmFsdWU6MjVlLTV9LGZvZ05lYXI6e3ZhbHVlOjF9LGZvZ0Zhcjp7dmFsdWU6MmUzfSxmb2dDb2xvcjp7dmFsdWU6bmV3IHM0dCgxNjc3NzIxNSl9fSxsaWdodHM6e2FtYmllbnRMaWdodENvbG9yOnt2YWx1ZTpbXX0sbGlnaHRQcm9iZTp7dmFsdWU6W119LGRpcmVjdGlvbmFsTGlnaHRzOnt2YWx1ZTpbXSxwcm9wZXJ0aWVzOntkaXJlY3Rpb246e30sY29sb3I6e319fSxkaXJlY3Rpb25hbExpZ2h0U2hhZG93czp7dmFsdWU6W10scHJvcGVydGllczp7c2hhZG93Qmlhczp7fSxzaGFkb3dOb3JtYWxCaWFzOnt9LHNoYWRvd1JhZGl1czp7fSxzaGFkb3dNYXBTaXplOnt9fX0sZGlyZWN0aW9uYWxTaGFkb3dNYXA6e3ZhbHVlOltdfSxkaXJlY3Rpb25hbFNoYWRvd01hdHJpeDp7dmFsdWU6W119LHNwb3RMaWdodHM6e3ZhbHVlOltdLHByb3BlcnRpZXM6e2NvbG9yOnt9LHBvc2l0aW9uOnt9LGRpcmVjdGlvbjp7fSxkaXN0YW5jZTp7fSxjb25lQ29zOnt9LHBlbnVtYnJhQ29zOnt9LGRlY2F5Ont9fX0sc3BvdExpZ2h0U2hhZG93czp7dmFsdWU6W10scHJvcGVydGllczp7c2hhZG93Qmlhczp7fSxzaGFkb3dOb3JtYWxCaWFzOnt9LHNoYWRvd1JhZGl1czp7fSxzaGFkb3dNYXBTaXplOnt9fX0sc3BvdFNoYWRvd01hcDp7dmFsdWU6W119LHNwb3RTaGFkb3dNYXRyaXg6e3ZhbHVlOltdfSxwb2ludExpZ2h0czp7dmFsdWU6W10scHJvcGVydGllczp7Y29sb3I6e30scG9zaXRpb246e30sZGVjYXk6e30sZGlzdGFuY2U6e319fSxwb2ludExpZ2h0U2hhZG93czp7dmFsdWU6W10scHJvcGVydGllczp7c2hhZG93Qmlhczp7fSxzaGFkb3dOb3JtYWxCaWFzOnt9LHNoYWRvd1JhZGl1czp7fSxzaGFkb3dNYXBTaXplOnt9LHNoYWRvd0NhbWVyYU5lYXI6e30sc2hhZG93Q2FtZXJhRmFyOnt9fX0scG9pbnRTaGFkb3dNYXA6e3ZhbHVlOltdfSxwb2ludFNoYWRvd01hdHJpeDp7dmFsdWU6W119LGhlbWlzcGhlcmVMaWdodHM6e3ZhbHVlOltdLHByb3BlcnRpZXM6e2RpcmVjdGlvbjp7fSxza3lDb2xvcjp7fSxncm91bmRDb2xvcjp7fX19LHJlY3RBcmVhTGlnaHRzOnt2YWx1ZTpbXSxwcm9wZXJ0aWVzOntjb2xvcjp7fSxwb3NpdGlvbjp7fSx3aWR0aDp7fSxoZWlnaHQ6e319fSxsdGNfMTp7dmFsdWU6bnVsbH0sbHRjXzI6e3ZhbHVlOm51bGx9fSxwb2ludHM6e2RpZmZ1c2U6e3ZhbHVlOm5ldyBzNHQoMTY3NzcyMTUpfSxvcGFjaXR5Ont2YWx1ZToxfSxzaXplOnt2YWx1ZToxfSxzY2FsZTp7dmFsdWU6MX0sbWFwOnt2YWx1ZTpudWxsfSxhbHBoYU1hcDp7dmFsdWU6bnVsbH0sdXZUcmFuc2Zvcm06e3ZhbHVlOm5ldyBBNXR9fSxzcHJpdGU6e2RpZmZ1c2U6e3ZhbHVlOm5ldyBzNHQoMTY3NzcyMTUpfSxvcGFjaXR5Ont2YWx1ZToxfSxjZW50ZXI6e3ZhbHVlOm5ldyBDNXQoLjUsLjUpfSxyb3RhdGlvbjp7dmFsdWU6MH0sbWFwOnt2YWx1ZTpudWxsfSxhbHBoYU1hcDp7dmFsdWU6bnVsbH0sdXZUcmFuc2Zvcm06e3ZhbHVlOm5ldyBBNXR9fX0seDZ0PXtiYXNpYzp7dW5pZm9ybXM6dDZ0KFtiNnQuY29tbW9uLGI2dC5zcGVjdWxhcm1hcCxiNnQuZW52bWFwLGI2dC5hb21hcCxiNnQubGlnaHRtYXAsYjZ0LmZvZ10pLHZlcnRleFNoYWRlcjp2NnQubWVzaGJhc2ljX3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0Lm1lc2hiYXNpY19mcmFnfSxsYW1iZXJ0Ont1bmlmb3Jtczp0NnQoW2I2dC5jb21tb24sYjZ0LnNwZWN1bGFybWFwLGI2dC5lbnZtYXAsYjZ0LmFvbWFwLGI2dC5saWdodG1hcCxiNnQuZW1pc3NpdmVtYXAsYjZ0LmZvZyxiNnQubGlnaHRzLHtlbWlzc2l2ZTp7dmFsdWU6bmV3IHM0dCgwKX19XSksdmVydGV4U2hhZGVyOnY2dC5tZXNobGFtYmVydF92ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5tZXNobGFtYmVydF9mcmFnfSxwaG9uZzp7dW5pZm9ybXM6dDZ0KFtiNnQuY29tbW9uLGI2dC5zcGVjdWxhcm1hcCxiNnQuZW52bWFwLGI2dC5hb21hcCxiNnQubGlnaHRtYXAsYjZ0LmVtaXNzaXZlbWFwLGI2dC5idW1wbWFwLGI2dC5ub3JtYWxtYXAsYjZ0LmRpc3BsYWNlbWVudG1hcCxiNnQuZm9nLGI2dC5saWdodHMse2VtaXNzaXZlOnt2YWx1ZTpuZXcgczR0KDApfSxzcGVjdWxhcjp7dmFsdWU6bmV3IHM0dCgxMTE4NDgxKX0sc2hpbmluZXNzOnt2YWx1ZTozMH19XSksdmVydGV4U2hhZGVyOnY2dC5tZXNocGhvbmdfdmVydCxmcmFnbWVudFNoYWRlcjp2NnQubWVzaHBob25nX2ZyYWd9LHN0YW5kYXJkOnt1bmlmb3Jtczp0NnQoW2I2dC5jb21tb24sYjZ0LmVudm1hcCxiNnQuYW9tYXAsYjZ0LmxpZ2h0bWFwLGI2dC5lbWlzc2l2ZW1hcCxiNnQuYnVtcG1hcCxiNnQubm9ybWFsbWFwLGI2dC5kaXNwbGFjZW1lbnRtYXAsYjZ0LnJvdWdobmVzc21hcCxiNnQubWV0YWxuZXNzbWFwLGI2dC5mb2csYjZ0LmxpZ2h0cyx7ZW1pc3NpdmU6e3ZhbHVlOm5ldyBzNHQoMCl9LHJvdWdobmVzczp7dmFsdWU6MX0sbWV0YWxuZXNzOnt2YWx1ZTowfSxlbnZNYXBJbnRlbnNpdHk6e3ZhbHVlOjF9fV0pLHZlcnRleFNoYWRlcjp2NnQubWVzaHBoeXNpY2FsX3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0Lm1lc2hwaHlzaWNhbF9mcmFnfSx0b29uOnt1bmlmb3Jtczp0NnQoW2I2dC5jb21tb24sYjZ0LmFvbWFwLGI2dC5saWdodG1hcCxiNnQuZW1pc3NpdmVtYXAsYjZ0LmJ1bXBtYXAsYjZ0Lm5vcm1hbG1hcCxiNnQuZGlzcGxhY2VtZW50bWFwLGI2dC5ncmFkaWVudG1hcCxiNnQuZm9nLGI2dC5saWdodHMse2VtaXNzaXZlOnt2YWx1ZTpuZXcgczR0KDApfX1dKSx2ZXJ0ZXhTaGFkZXI6djZ0Lm1lc2h0b29uX3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0Lm1lc2h0b29uX2ZyYWd9LG1hdGNhcDp7dW5pZm9ybXM6dDZ0KFtiNnQuY29tbW9uLGI2dC5idW1wbWFwLGI2dC5ub3JtYWxtYXAsYjZ0LmRpc3BsYWNlbWVudG1hcCxiNnQuZm9nLHttYXRjYXA6e3ZhbHVlOm51bGx9fV0pLHZlcnRleFNoYWRlcjp2NnQubWVzaG1hdGNhcF92ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5tZXNobWF0Y2FwX2ZyYWd9LHBvaW50czp7dW5pZm9ybXM6dDZ0KFtiNnQucG9pbnRzLGI2dC5mb2ddKSx2ZXJ0ZXhTaGFkZXI6djZ0LnBvaW50c192ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5wb2ludHNfZnJhZ30sZGFzaGVkOnt1bmlmb3Jtczp0NnQoW2I2dC5jb21tb24sYjZ0LmZvZyx7c2NhbGU6e3ZhbHVlOjF9LGRhc2hTaXplOnt2YWx1ZToxfSx0b3RhbFNpemU6e3ZhbHVlOjJ9fV0pLHZlcnRleFNoYWRlcjp2NnQubGluZWRhc2hlZF92ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5saW5lZGFzaGVkX2ZyYWd9LGRlcHRoOnt1bmlmb3Jtczp0NnQoW2I2dC5jb21tb24sYjZ0LmRpc3BsYWNlbWVudG1hcF0pLHZlcnRleFNoYWRlcjp2NnQuZGVwdGhfdmVydCxmcmFnbWVudFNoYWRlcjp2NnQuZGVwdGhfZnJhZ30sbm9ybWFsOnt1bmlmb3Jtczp0NnQoW2I2dC5jb21tb24sYjZ0LmJ1bXBtYXAsYjZ0Lm5vcm1hbG1hcCxiNnQuZGlzcGxhY2VtZW50bWFwLHtvcGFjaXR5Ont2YWx1ZToxfX1dKSx2ZXJ0ZXhTaGFkZXI6djZ0Lm5vcm1hbF92ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5ub3JtYWxfZnJhZ30sc3ByaXRlOnt1bmlmb3Jtczp0NnQoW2I2dC5zcHJpdGUsYjZ0LmZvZ10pLHZlcnRleFNoYWRlcjp2NnQuc3ByaXRlX3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0LnNwcml0ZV9mcmFnfSxiYWNrZ3JvdW5kOnt1bmlmb3Jtczp7dXZUcmFuc2Zvcm06e3ZhbHVlOm5ldyBBNXR9LHQyRDp7dmFsdWU6bnVsbH19LHZlcnRleFNoYWRlcjp2NnQuYmFja2dyb3VuZF92ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5iYWNrZ3JvdW5kX2ZyYWd9LGN1YmU6e3VuaWZvcm1zOnQ2dChbYjZ0LmVudm1hcCx7b3BhY2l0eTp7dmFsdWU6MX19XSksdmVydGV4U2hhZGVyOnY2dC5jdWJlX3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0LmN1YmVfZnJhZ30sZXF1aXJlY3Q6e3VuaWZvcm1zOnt0RXF1aXJlY3Q6e3ZhbHVlOm51bGx9fSx2ZXJ0ZXhTaGFkZXI6djZ0LmVxdWlyZWN0X3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0LmVxdWlyZWN0X2ZyYWd9LGRpc3RhbmNlUkdCQTp7dW5pZm9ybXM6dDZ0KFtiNnQuY29tbW9uLGI2dC5kaXNwbGFjZW1lbnRtYXAse3JlZmVyZW5jZVBvc2l0aW9uOnt2YWx1ZTpuZXcgSDV0fSxuZWFyRGlzdGFuY2U6e3ZhbHVlOjF9LGZhckRpc3RhbmNlOnt2YWx1ZToxZTN9fV0pLHZlcnRleFNoYWRlcjp2NnQuZGlzdGFuY2VSR0JBX3ZlcnQsZnJhZ21lbnRTaGFkZXI6djZ0LmRpc3RhbmNlUkdCQV9mcmFnfSxzaGFkb3c6e3VuaWZvcm1zOnQ2dChbYjZ0LmxpZ2h0cyxiNnQuZm9nLHtjb2xvcjp7dmFsdWU6bmV3IHM0dCgwKX0sb3BhY2l0eTp7dmFsdWU6MX19XSksdmVydGV4U2hhZGVyOnY2dC5zaGFkb3dfdmVydCxmcmFnbWVudFNoYWRlcjp2NnQuc2hhZG93X2ZyYWd9fTtmdW5jdGlvbiB3NnQodCxlLG4saSxyKXtjb25zdCBvPW5ldyBzNHQoMCk7bGV0IGEscyxsPTAsYz1udWxsLHU9MCxoPW51bGw7ZnVuY3Rpb24gZCh0LGUpe24uYnVmZmVycy5jb2xvci5zZXRDbGVhcih0LnIsdC5nLHQuYixlLHIpfXJldHVybntnZXRDbGVhckNvbG9yOmZ1bmN0aW9uKCl7cmV0dXJuIG99LHNldENsZWFyQ29sb3I6ZnVuY3Rpb24odCxlPTEpe28uc2V0KHQpLGw9ZSxkKG8sbCl9LGdldENsZWFyQWxwaGE6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sc2V0Q2xlYXJBbHBoYTpmdW5jdGlvbih0KXtsPXQsZChvLGwpfSxyZW5kZXI6ZnVuY3Rpb24gcChuLHIpe2xldCBwPSExLGY9ITA9PT1yLmlzU2NlbmU/ci5iYWNrZ3JvdW5kOm51bGw7ZiYmZi5pc1RleHR1cmUmJihmPWUuZ2V0KGYpKTtjb25zdCBtPXQueHIsZz1tLmdldFNlc3Npb24mJm0uZ2V0U2Vzc2lvbigpO2cmJiJhZGRpdGl2ZSI9PT1nLmVudmlyb25tZW50QmxlbmRNb2RlJiYoZj1udWxsKSxudWxsPT09Zj9kKG8sbCk6ZiYmZi5pc0NvbG9yJiYoZChmLDEpLHA9ITApLCh0LmF1dG9DbGVhcnx8cCkmJnQuY2xlYXIodC5hdXRvQ2xlYXJDb2xvcix0LmF1dG9DbGVhckRlcHRoLHQuYXV0b0NsZWFyU3RlbmNpbCksZiYmKGYuaXNDdWJlVGV4dHVyZXx8Zi5tYXBwaW5nPT09bzJ0KT8odm9pZCAwPT09cyYmKHM9bmV3IEs0dChuZXcgSjR0KDEsMSwxKSxuZXcgbjZ0KHtuYW1lOiJCYWNrZ3JvdW5kQ3ViZU1hdGVyaWFsIix1bmlmb3JtczpRNHQoeDZ0LmN1YmUudW5pZm9ybXMpLHZlcnRleFNoYWRlcjp4NnQuY3ViZS52ZXJ0ZXhTaGFkZXIsZnJhZ21lbnRTaGFkZXI6eDZ0LmN1YmUuZnJhZ21lbnRTaGFkZXIsc2lkZToxLGRlcHRoVGVzdDohMSxkZXB0aFdyaXRlOiExLGZvZzohMX0pKSxzLmdlb21ldHJ5LmRlbGV0ZUF0dHJpYnV0ZSgibm9ybWFsIikscy5nZW9tZXRyeS5kZWxldGVBdHRyaWJ1dGUoInV2Iikscy5vbkJlZm9yZVJlbmRlcj1mdW5jdGlvbih0LGUsbil7dGhpcy5tYXRyaXhXb3JsZC5jb3B5UG9zaXRpb24obi5tYXRyaXhXb3JsZCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzLm1hdGVyaWFsLCJlbnZNYXAiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51bmlmb3Jtcy5lbnZNYXAudmFsdWV9fSksaS51cGRhdGUocykpLHMubWF0ZXJpYWwudW5pZm9ybXMuZW52TWFwLnZhbHVlPWYscy5tYXRlcmlhbC51bmlmb3Jtcy5mbGlwRW52TWFwLnZhbHVlPWYuaXNDdWJlVGV4dHVyZSYmITE9PT1mLmlzUmVuZGVyVGFyZ2V0VGV4dHVyZT8tMToxLGM9PT1mJiZ1PT09Zi52ZXJzaW9uJiZoPT09dC50b25lTWFwcGluZ3x8KHMubWF0ZXJpYWwubmVlZHNVcGRhdGU9ITAsYz1mLHU9Zi52ZXJzaW9uLGg9dC50b25lTWFwcGluZyksbi51bnNoaWZ0KHMscy5nZW9tZXRyeSxzLm1hdGVyaWFsLDAsMCxudWxsKSk6ZiYmZi5pc1RleHR1cmUmJih2b2lkIDA9PT1hJiYoYT1uZXcgSzR0KG5ldyB5NnQoMiwyKSxuZXcgbjZ0KHtuYW1lOiJCYWNrZ3JvdW5kTWF0ZXJpYWwiLHVuaWZvcm1zOlE0dCh4NnQuYmFja2dyb3VuZC51bmlmb3JtcyksdmVydGV4U2hhZGVyOng2dC5iYWNrZ3JvdW5kLnZlcnRleFNoYWRlcixmcmFnbWVudFNoYWRlcjp4NnQuYmFja2dyb3VuZC5mcmFnbWVudFNoYWRlcixzaWRlOjAsZGVwdGhUZXN0OiExLGRlcHRoV3JpdGU6ITEsZm9nOiExfSkpLGEuZ2VvbWV0cnkuZGVsZXRlQXR0cmlidXRlKCJub3JtYWwiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYS5tYXRlcmlhbCwibWFwIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudW5pZm9ybXMudDJELnZhbHVlfX0pLGkudXBkYXRlKGEpKSxhLm1hdGVyaWFsLnVuaWZvcm1zLnQyRC52YWx1ZT1mLCEwPT09Zi5tYXRyaXhBdXRvVXBkYXRlJiZmLnVwZGF0ZU1hdHJpeCgpLGEubWF0ZXJpYWwudW5pZm9ybXMudXZUcmFuc2Zvcm0udmFsdWUuY29weShmLm1hdHJpeCksYz09PWYmJnU9PT1mLnZlcnNpb24mJmg9PT10LnRvbmVNYXBwaW5nfHwoYS5tYXRlcmlhbC5uZWVkc1VwZGF0ZT0hMCxjPWYsdT1mLnZlcnNpb24saD10LnRvbmVNYXBwaW5nKSxuLnVuc2hpZnQoYSxhLmdlb21ldHJ5LGEubWF0ZXJpYWwsMCwwLG51bGwpKX19fWZ1bmN0aW9uIFM2dCh0LGUsbixpKXtjb25zdCByPXQuZ2V0UGFyYW1ldGVyKDM0OTIxKSxvPWkuaXNXZWJHTDI/bnVsbDplLmdldCgiT0VTX3ZlcnRleF9hcnJheV9vYmplY3QiKSxhPWkuaXNXZWJHTDJ8fG51bGwhPT1vLHM9e30sbD1kKG51bGwpO2xldCBjPWw7ZnVuY3Rpb24gdShlKXtyZXR1cm4gaS5pc1dlYkdMMj90LmJpbmRWZXJ0ZXhBcnJheShlKTpvLmJpbmRWZXJ0ZXhBcnJheU9FUyhlKX1mdW5jdGlvbiBoKGUpe3JldHVybiBpLmlzV2ViR0wyP3QuZGVsZXRlVmVydGV4QXJyYXkoZSk6by5kZWxldGVWZXJ0ZXhBcnJheU9FUyhlKX1mdW5jdGlvbiBkKHQpe2NvbnN0IGU9W10sbj1bXSxpPVtdO2ZvcihsZXQgdD0wO3Q8cjt0KyspZVt0XT0wLG5bdF09MCxpW3RdPTA7cmV0dXJue2dlb21ldHJ5Om51bGwscHJvZ3JhbTpudWxsLHdpcmVmcmFtZTohMSxuZXdBdHRyaWJ1dGVzOmUsZW5hYmxlZEF0dHJpYnV0ZXM6bixhdHRyaWJ1dGVEaXZpc29yczppLG9iamVjdDp0LGF0dHJpYnV0ZXM6e30saW5kZXg6bnVsbH19ZnVuY3Rpb24gcCgpe2NvbnN0IHQ9Yy5uZXdBdHRyaWJ1dGVzO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl0W2VdPTB9ZnVuY3Rpb24gZih0KXttKHQsMCl9ZnVuY3Rpb24gbShuLHIpe2NvbnN0IG89Yy5lbmFibGVkQXR0cmlidXRlcyxhPWMuYXR0cmlidXRlRGl2aXNvcnM7aWYoYy5uZXdBdHRyaWJ1dGVzW25dPTEsMD09PW9bbl0mJih0LmVuYWJsZVZlcnRleEF0dHJpYkFycmF5KG4pLG9bbl09MSksYVtuXSE9PXIpeyhpLmlzV2ViR0wyP3Q6ZS5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSlbaS5pc1dlYkdMMj8idmVydGV4QXR0cmliRGl2aXNvciI6InZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRSJdKG4sciksYVtuXT1yfX1mdW5jdGlvbiBnKCl7Y29uc3QgZT1jLm5ld0F0dHJpYnV0ZXMsbj1jLmVuYWJsZWRBdHRyaWJ1dGVzO2ZvcihsZXQgaT0wLHI9bi5sZW5ndGg7aTxyO2krKyluW2ldIT09ZVtpXSYmKHQuZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGkpLG5baV09MCl9ZnVuY3Rpb24gXyhlLG4scixvLGEscyl7ITAhPT1pLmlzV2ViR0wyfHw1MTI0IT09ciYmNTEyNSE9PXI/dC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGUsbixyLG8sYSxzKTp0LnZlcnRleEF0dHJpYklQb2ludGVyKGUsbixyLGEscyl9ZnVuY3Rpb24geSgpe3YoKSxjIT09bCYmKGM9bCx1KGMub2JqZWN0KSl9ZnVuY3Rpb24gdigpe2wuZ2VvbWV0cnk9bnVsbCxsLnByb2dyYW09bnVsbCxsLndpcmVmcmFtZT0hMX1yZXR1cm57c2V0dXA6ZnVuY3Rpb24gYihyLGwsaCx5LHYpe2xldCBiPSExO2lmKGEpe2NvbnN0IGU9KGZ1bmN0aW9uIHgoZSxuLHIpe2NvbnN0IGE9ITA9PT1yLndpcmVmcmFtZTtsZXQgbD1zW2UuaWRdO3ZvaWQgMD09PWwmJihsPXt9LHNbZS5pZF09bCk7bGV0IGM9bFtuLmlkXTt2b2lkIDA9PT1jJiYoYz17fSxsW24uaWRdPWMpO2xldCB1PWNbYV07dm9pZCAwPT09dSYmKHU9ZCgoZnVuY3Rpb24gaCgpe3JldHVybiBpLmlzV2ViR0wyP3QuY3JlYXRlVmVydGV4QXJyYXkoKTpvLmNyZWF0ZVZlcnRleEFycmF5T0VTKCl9KSgpKSxjW2FdPXUpO3JldHVybiB1fSkoeSxoLGwpO2MhPT1lJiYoYz1lLHUoYy5vYmplY3QpKSxiPShmdW5jdGlvbiB3KHQsZSl7Y29uc3Qgbj1jLmF0dHJpYnV0ZXMsaT10LmF0dHJpYnV0ZXM7bGV0IHI9MDtmb3IoY29uc3QgdCBpbiBpKXtjb25zdCBlPW5bdF0sbz1pW3RdO2lmKHZvaWQgMD09PWUpcmV0dXJuITA7aWYoZS5hdHRyaWJ1dGUhPT1vKXJldHVybiEwO2lmKGUuZGF0YSE9PW8uZGF0YSlyZXR1cm4hMDtyKyt9cmV0dXJuIGMuYXR0cmlidXRlc051bSE9PXJ8fGMuaW5kZXghPT1lfSkoeSx2KSxiJiYoZnVuY3Rpb24gUyh0LGUpe2NvbnN0IG49e30saT10LmF0dHJpYnV0ZXM7bGV0IHI9MDtmb3IoY29uc3QgdCBpbiBpKXtjb25zdCBlPWlbdF0sbz17fTtvLmF0dHJpYnV0ZT1lLGUuZGF0YSYmKG8uZGF0YT1lLmRhdGEpLG5bdF09byxyKyt9Yy5hdHRyaWJ1dGVzPW4sYy5hdHRyaWJ1dGVzTnVtPXIsYy5pbmRleD1lfSkoeSx2KX1lbHNle2NvbnN0IHQ9ITA9PT1sLndpcmVmcmFtZTtjLmdlb21ldHJ5PT09eS5pZCYmYy5wcm9ncmFtPT09aC5pZCYmYy53aXJlZnJhbWU9PT10fHwoYy5nZW9tZXRyeT15LmlkLGMucHJvZ3JhbT1oLmlkLGMud2lyZWZyYW1lPXQsYj0hMCl9ITA9PT1yLmlzSW5zdGFuY2VkTWVzaCYmKGI9ITApLG51bGwhPT12JiZuLnVwZGF0ZSh2LDM0OTYzKSxiJiYoIShmdW5jdGlvbiBNKHIsbyxhLHMpe2lmKCExPT09aS5pc1dlYkdMMiYmKHIuaXNJbnN0YW5jZWRNZXNofHxzLmlzSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnkpJiZudWxsPT09ZS5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSlyZXR1cm47cCgpO2NvbnN0IGw9cy5hdHRyaWJ1dGVzLGM9YS5nZXRBdHRyaWJ1dGVzKCksdT1vLmRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXM7Zm9yKGNvbnN0IGUgaW4gYyl7Y29uc3QgaT1jW2VdO2lmKGk+PTApe2NvbnN0IG89bFtlXTtpZih2b2lkIDAhPT1vKXtjb25zdCBlPW8ubm9ybWFsaXplZCxyPW8uaXRlbVNpemUsYT1uLmdldChvKTtpZih2b2lkIDA9PT1hKWNvbnRpbnVlO2NvbnN0IGw9YS5idWZmZXIsYz1hLnR5cGUsdT1hLmJ5dGVzUGVyRWxlbWVudDtpZihvLmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUpe2NvbnN0IG49by5kYXRhLGE9bi5zdHJpZGUsaD1vLm9mZnNldDtuJiZuLmlzSW5zdGFuY2VkSW50ZXJsZWF2ZWRCdWZmZXI/KG0oaSxuLm1lc2hQZXJBdHRyaWJ1dGUpLHZvaWQgMD09PXMuX21heEluc3RhbmNlQ291bnQmJihzLl9tYXhJbnN0YW5jZUNvdW50PW4ubWVzaFBlckF0dHJpYnV0ZSpuLmNvdW50KSk6ZihpKSx0LmJpbmRCdWZmZXIoMzQ5NjIsbCksXyhpLHIsYyxlLGEqdSxoKnUpfWVsc2Ugby5pc0luc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT8obShpLG8ubWVzaFBlckF0dHJpYnV0ZSksdm9pZCAwPT09cy5fbWF4SW5zdGFuY2VDb3VudCYmKHMuX21heEluc3RhbmNlQ291bnQ9by5tZXNoUGVyQXR0cmlidXRlKm8uY291bnQpKTpmKGkpLHQuYmluZEJ1ZmZlcigzNDk2MixsKSxfKGkscixjLGUsMCwwKX1lbHNlIGlmKCJpbnN0YW5jZU1hdHJpeCI9PT1lKXtjb25zdCBlPW4uZ2V0KHIuaW5zdGFuY2VNYXRyaXgpO2lmKHZvaWQgMD09PWUpY29udGludWU7Y29uc3Qgbz1lLmJ1ZmZlcixhPWUudHlwZTttKGkrMCwxKSxtKGkrMSwxKSxtKGkrMiwxKSxtKGkrMywxKSx0LmJpbmRCdWZmZXIoMzQ5NjIsbyksdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGkrMCw0LGEsITEsNjQsMCksdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGkrMSw0LGEsITEsNjQsMTYpLHQudmVydGV4QXR0cmliUG9pbnRlcihpKzIsNCxhLCExLDY0LDMyKSx0LnZlcnRleEF0dHJpYlBvaW50ZXIoaSszLDQsYSwhMSw2NCw0OCl9ZWxzZSBpZigiaW5zdGFuY2VDb2xvciI9PT1lKXtjb25zdCBlPW4uZ2V0KHIuaW5zdGFuY2VDb2xvcik7aWYodm9pZCAwPT09ZSljb250aW51ZTtjb25zdCBvPWUuYnVmZmVyLGE9ZS50eXBlO20oaSwxKSx0LmJpbmRCdWZmZXIoMzQ5NjIsbyksdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGksMyxhLCExLDEyLDApfWVsc2UgaWYodm9pZCAwIT09dSl7Y29uc3Qgbj11W2VdO2lmKHZvaWQgMCE9PW4pc3dpdGNoKG4ubGVuZ3RoKXtjYXNlIDI6dC52ZXJ0ZXhBdHRyaWIyZnYoaSxuKTticmVhaztjYXNlIDM6dC52ZXJ0ZXhBdHRyaWIzZnYoaSxuKTticmVhaztjYXNlIDQ6dC52ZXJ0ZXhBdHRyaWI0ZnYoaSxuKTticmVhaztkZWZhdWx0OnQudmVydGV4QXR0cmliMWZ2KGksbil9fX19ZygpfSkocixsLGgseSksbnVsbCE9PXYmJnQuYmluZEJ1ZmZlcigzNDk2MyxuLmdldCh2KS5idWZmZXIpKX0scmVzZXQ6eSxyZXNldERlZmF1bHRTdGF0ZTp2LGRpc3Bvc2U6ZnVuY3Rpb24geCgpe3koKTtmb3IoY29uc3QgdCBpbiBzKXtjb25zdCBlPXNbdF07Zm9yKGNvbnN0IHQgaW4gZSl7Y29uc3Qgbj1lW3RdO2Zvcihjb25zdCB0IGluIG4paChuW3RdLm9iamVjdCksZGVsZXRlIG5bdF07ZGVsZXRlIGVbdF19ZGVsZXRlIHNbdF19fSxyZWxlYXNlU3RhdGVzT2ZHZW9tZXRyeTpmdW5jdGlvbiB3KHQpe2lmKHZvaWQgMD09PXNbdC5pZF0pcmV0dXJuO2NvbnN0IGU9c1t0LmlkXTtmb3IoY29uc3QgdCBpbiBlKXtjb25zdCBuPWVbdF07Zm9yKGNvbnN0IHQgaW4gbiloKG5bdF0ub2JqZWN0KSxkZWxldGUgblt0XTtkZWxldGUgZVt0XX1kZWxldGUgc1t0LmlkXX0scmVsZWFzZVN0YXRlc09mUHJvZ3JhbTpmdW5jdGlvbiBTKHQpe2Zvcihjb25zdCBlIGluIHMpe2NvbnN0IG49c1tlXTtpZih2b2lkIDA9PT1uW3QuaWRdKWNvbnRpbnVlO2NvbnN0IGk9blt0LmlkXTtmb3IoY29uc3QgdCBpbiBpKWgoaVt0XS5vYmplY3QpLGRlbGV0ZSBpW3RdO2RlbGV0ZSBuW3QuaWRdfX0saW5pdEF0dHJpYnV0ZXM6cCxlbmFibGVBdHRyaWJ1dGU6ZixkaXNhYmxlVW51c2VkQXR0cmlidXRlczpnfX1mdW5jdGlvbiBNNnQodCxlLG4saSl7Y29uc3Qgcj1pLmlzV2ViR0wyO2xldCBvO3RoaXMuc2V0TW9kZT1mdW5jdGlvbiBhKHQpe289dH0sdGhpcy5yZW5kZXI9ZnVuY3Rpb24gcyhlLGkpe3QuZHJhd0FycmF5cyhvLGUsaSksbi51cGRhdGUoaSxvLDEpfSx0aGlzLnJlbmRlckluc3RhbmNlcz1mdW5jdGlvbiBsKGksYSxzKXtpZigwPT09cylyZXR1cm47bGV0IGwsYztpZihyKWw9dCxjPSJkcmF3QXJyYXlzSW5zdGFuY2VkIjtlbHNlIGlmKGw9ZS5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSxjPSJkcmF3QXJyYXlzSW5zdGFuY2VkQU5HTEUiLG51bGw9PT1sKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMQnVmZmVyUmVuZGVyZXI6IHVzaW5nIFRIUkVFLkluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5IGJ1dCBoYXJkd2FyZSBkb2VzIG5vdCBzdXBwb3J0IGV4dGVuc2lvbiBBTkdMRV9pbnN0YW5jZWRfYXJyYXlzLiIpO2xbY10obyxpLGEscyksbi51cGRhdGUoYSxvLHMpfX1mdW5jdGlvbiBFNnQodCxlLG4pe2xldCBpO2Z1bmN0aW9uIHIoZSl7aWYoImhpZ2hwIj09PWUpe2lmKHQuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0KDM1NjMzLDM2MzM4KS5wcmVjaXNpb24+MCYmdC5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoMzU2MzIsMzYzMzgpLnByZWNpc2lvbj4wKXJldHVybiJoaWdocCI7ZT0ibWVkaXVtcCJ9cmV0dXJuIm1lZGl1bXAiPT09ZSYmdC5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoMzU2MzMsMzYzMzcpLnByZWNpc2lvbj4wJiZ0LmdldFNoYWRlclByZWNpc2lvbkZvcm1hdCgzNTYzMiwzNjMzNykucHJlY2lzaW9uPjA/Im1lZGl1bXAiOiJsb3dwIn1jb25zdCBvPSJ1bmRlZmluZWQiIT10eXBlb2YgV2ViR0wyUmVuZGVyaW5nQ29udGV4dCYmdCBpbnN0YW5jZW9mIFdlYkdMMlJlbmRlcmluZ0NvbnRleHR8fCJ1bmRlZmluZWQiIT10eXBlb2YgV2ViR0wyQ29tcHV0ZVJlbmRlcmluZ0NvbnRleHQmJnQgaW5zdGFuY2VvZiBXZWJHTDJDb21wdXRlUmVuZGVyaW5nQ29udGV4dDtsZXQgYT12b2lkIDAhPT1uLnByZWNpc2lvbj9uLnByZWNpc2lvbjoiaGlnaHAiO2NvbnN0IHM9cihhKTtzIT09YSYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjoiLGEsIm5vdCBzdXBwb3J0ZWQsIHVzaW5nIixzLCJpbnN0ZWFkLiIpLGE9cyk7Y29uc3QgbD1vfHxlLmhhcygiV0VCR0xfZHJhd19idWZmZXJzIiksYz0hMD09PW4ubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcix1PXQuZ2V0UGFyYW1ldGVyKDM0OTMwKSxoPXQuZ2V0UGFyYW1ldGVyKDM1NjYwKSxkPXQuZ2V0UGFyYW1ldGVyKDMzNzkpLHA9dC5nZXRQYXJhbWV0ZXIoMzQwNzYpLGY9dC5nZXRQYXJhbWV0ZXIoMzQ5MjEpLG09dC5nZXRQYXJhbWV0ZXIoMzYzNDcpLGc9dC5nZXRQYXJhbWV0ZXIoMzYzNDgpLF89dC5nZXRQYXJhbWV0ZXIoMzYzNDkpLHk9aD4wLHY9b3x8ZS5oYXMoIk9FU190ZXh0dXJlX2Zsb2F0Iik7cmV0dXJue2lzV2ViR0wyOm8sZHJhd0J1ZmZlcnM6bCxnZXRNYXhBbmlzb3Ryb3B5OmZ1bmN0aW9uIGIoKXtpZih2b2lkIDAhPT1pKXJldHVybiBpO2lmKCEwPT09ZS5oYXMoIkVYVF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyIpKXtjb25zdCBuPWUuZ2V0KCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKTtpPXQuZ2V0UGFyYW1ldGVyKG4uTUFYX1RFWFRVUkVfTUFYX0FOSVNPVFJPUFlfRVhUKX1lbHNlIGk9MDtyZXR1cm4gaX0sZ2V0TWF4UHJlY2lzaW9uOnIscHJlY2lzaW9uOmEsbG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcjpjLG1heFRleHR1cmVzOnUsbWF4VmVydGV4VGV4dHVyZXM6aCxtYXhUZXh0dXJlU2l6ZTpkLG1heEN1YmVtYXBTaXplOnAsbWF4QXR0cmlidXRlczpmLG1heFZlcnRleFVuaWZvcm1zOm0sbWF4VmFyeWluZ3M6ZyxtYXhGcmFnbWVudFVuaWZvcm1zOl8sdmVydGV4VGV4dHVyZXM6eSxmbG9hdEZyYWdtZW50VGV4dHVyZXM6dixmbG9hdFZlcnRleFRleHR1cmVzOnkmJnYsbWF4U2FtcGxlczpvP3QuZ2V0UGFyYW1ldGVyKDM2MTgzKTowfX1mdW5jdGlvbiBUNnQodCl7Y29uc3QgZT10aGlzO2xldCBuPW51bGwsaT0wLHI9ITEsbz0hMTtjb25zdCBhPW5ldyBkNnQscz1uZXcgQTV0LGw9e3ZhbHVlOm51bGwsbmVlZHNVcGRhdGU6ITF9O2Z1bmN0aW9uIGMoKXtsLnZhbHVlIT09biYmKGwudmFsdWU9bixsLm5lZWRzVXBkYXRlPWk+MCksZS5udW1QbGFuZXM9aSxlLm51bUludGVyc2VjdGlvbj0wfWZ1bmN0aW9uIHUodCxuLGkscil7Y29uc3Qgbz1udWxsIT09dD90Lmxlbmd0aDowO2xldCBjPW51bGw7aWYoMCE9PW8pe2lmKGM9bC52YWx1ZSwhMCE9PXJ8fG51bGw9PT1jKXtjb25zdCBlPWkrNCpvLHI9bi5tYXRyaXhXb3JsZEludmVyc2U7cy5nZXROb3JtYWxNYXRyaXgociksKG51bGw9PT1jfHxjLmxlbmd0aDxlKSYmKGM9bmV3IEZsb2F0MzJBcnJheShlKSk7Zm9yKGxldCBlPTAsbj1pO2UhPT1vOysrZSxuKz00KWEuY29weSh0W2VdKS5hcHBseU1hdHJpeDQocixzKSxhLm5vcm1hbC50b0FycmF5KGMsbiksY1tuKzNdPWEuY29uc3RhbnR9bC52YWx1ZT1jLGwubmVlZHNVcGRhdGU9ITB9cmV0dXJuIGUubnVtUGxhbmVzPW8sZS5udW1JbnRlcnNlY3Rpb249MCxjfXRoaXMudW5pZm9ybT1sLHRoaXMubnVtUGxhbmVzPTAsdGhpcy5udW1JbnRlcnNlY3Rpb249MCx0aGlzLmluaXQ9ZnVuY3Rpb24odCxlLG8pe2NvbnN0IGE9MCE9PXQubGVuZ3RofHxlfHwwIT09aXx8cjtyZXR1cm4gcj1lLG49dSh0LG8sMCksaT10Lmxlbmd0aCxhfSx0aGlzLmJlZ2luU2hhZG93cz1mdW5jdGlvbigpe289ITAsdShudWxsKX0sdGhpcy5lbmRTaGFkb3dzPWZ1bmN0aW9uKCl7bz0hMSxjKCl9LHRoaXMuc2V0U3RhdGU9ZnVuY3Rpb24oZSxhLHMpe2NvbnN0IGg9ZS5jbGlwcGluZ1BsYW5lcyxkPWUuY2xpcEludGVyc2VjdGlvbixwPWUuY2xpcFNoYWRvd3MsZj10LmdldChlKTtpZighcnx8bnVsbD09PWh8fDA9PT1oLmxlbmd0aHx8byYmIXApbz91KG51bGwpOmMoKTtlbHNle2NvbnN0IHQ9bz8wOmksZT00KnQ7bGV0IHI9Zi5jbGlwcGluZ1N0YXRlfHxudWxsO2wudmFsdWU9cixyPXUoaCxhLGUscyk7Zm9yKGxldCB0PTA7dCE9PWU7Kyt0KXJbdF09blt0XTtmLmNsaXBwaW5nU3RhdGU9cix0aGlzLm51bUludGVyc2VjdGlvbj1kP3RoaXMubnVtUGxhbmVzOjAsdGhpcy5udW1QbGFuZXMrPXR9fX1mdW5jdGlvbiBDNnQodCl7bGV0IGU9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbih0LGUpe3JldHVybiBlPT09aTJ0P3QubWFwcGluZz1lMnQ6ZT09PXIydCYmKHQubWFwcGluZz1uMnQpLHR9ZnVuY3Rpb24gaSh0KXtjb25zdCBuPXQudGFyZ2V0O24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsaSk7Y29uc3Qgcj1lLmdldChuKTt2b2lkIDAhPT1yJiYoZS5kZWxldGUobiksci5kaXNwb3NlKCkpfXJldHVybntnZXQ6ZnVuY3Rpb24gcihvKXtpZihvJiZvLmlzVGV4dHVyZSYmITE9PT1vLmlzUmVuZGVyVGFyZ2V0VGV4dHVyZSl7Y29uc3Qgcj1vLm1hcHBpbmc7aWYocj09PWkydHx8cj09PXIydCl7aWYoZS5oYXMobykpe3JldHVybiBuKGUuZ2V0KG8pLnRleHR1cmUsby5tYXBwaW5nKX17Y29uc3Qgcj1vLmltYWdlO2lmKHImJnIuaGVpZ2h0PjApe2NvbnN0IGE9dC5nZXRSZW5kZXJUYXJnZXQoKSxzPW5ldyBsNnQoci5oZWlnaHQvMik7cmV0dXJuIHMuZnJvbUVxdWlyZWN0YW5ndWxhclRleHR1cmUodCxvKSxlLnNldChvLHMpLHQuc2V0UmVuZGVyVGFyZ2V0KGEpLG8uYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsaSksbihzLnRleHR1cmUsby5tYXBwaW5nKX1yZXR1cm4gbnVsbH19fXJldHVybiBvfSxkaXNwb3NlOmZ1bmN0aW9uIG8oKXtlPW5ldyBXZWFrTWFwfX19eDZ0LnBoeXNpY2FsPXt1bmlmb3Jtczp0NnQoW3g2dC5zdGFuZGFyZC51bmlmb3Jtcyx7Y2xlYXJjb2F0Ont2YWx1ZTowfSxjbGVhcmNvYXRNYXA6e3ZhbHVlOm51bGx9LGNsZWFyY29hdFJvdWdobmVzczp7dmFsdWU6MH0sY2xlYXJjb2F0Um91Z2huZXNzTWFwOnt2YWx1ZTpudWxsfSxjbGVhcmNvYXROb3JtYWxTY2FsZTp7dmFsdWU6bmV3IEM1dCgxLDEpfSxjbGVhcmNvYXROb3JtYWxNYXA6e3ZhbHVlOm51bGx9LHNoZWVuOnt2YWx1ZTpuZXcgczR0KDApfSx0cmFuc21pc3Npb246e3ZhbHVlOjB9LHRyYW5zbWlzc2lvbk1hcDp7dmFsdWU6bnVsbH0sdHJhbnNtaXNzaW9uU2FtcGxlclNpemU6e3ZhbHVlOm5ldyBDNXR9LHRyYW5zbWlzc2lvblNhbXBsZXJNYXA6e3ZhbHVlOm51bGx9LHRoaWNrbmVzczp7dmFsdWU6MH0sdGhpY2tuZXNzTWFwOnt2YWx1ZTpudWxsfSxhdHRlbnVhdGlvbkRpc3RhbmNlOnt2YWx1ZTowfSxhdHRlbnVhdGlvblRpbnQ6e3ZhbHVlOm5ldyBzNHQoMCl9LHNwZWN1bGFySW50ZW5zaXR5Ont2YWx1ZTowfSxzcGVjdWxhckludGVuc2l0eU1hcDp7dmFsdWU6bnVsbH0sc3BlY3VsYXJUaW50Ont2YWx1ZTpuZXcgczR0KDEsMSwxKX0sc3BlY3VsYXJUaW50TWFwOnt2YWx1ZTpudWxsfX1dKSx2ZXJ0ZXhTaGFkZXI6djZ0Lm1lc2hwaHlzaWNhbF92ZXJ0LGZyYWdtZW50U2hhZGVyOnY2dC5tZXNocGh5c2ljYWxfZnJhZ307Y2xhc3MgQTZ0IGV4dGVuZHMgaTZ0e2NvbnN0cnVjdG9yKHQ9LTEsZT0xLG49MSxpPS0xLHI9LjEsbz0yZTMpe3N1cGVyKCksdGhpcy50eXBlPSJPcnRob2dyYXBoaWNDYW1lcmEiLHRoaXMuem9vbT0xLHRoaXMudmlldz1udWxsLHRoaXMubGVmdD10LHRoaXMucmlnaHQ9ZSx0aGlzLnRvcD1uLHRoaXMuYm90dG9tPWksdGhpcy5uZWFyPXIsdGhpcy5mYXI9byx0aGlzLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX1jb3B5KHQsZSl7cmV0dXJuIHN1cGVyLmNvcHkodCxlKSx0aGlzLmxlZnQ9dC5sZWZ0LHRoaXMucmlnaHQ9dC5yaWdodCx0aGlzLnRvcD10LnRvcCx0aGlzLmJvdHRvbT10LmJvdHRvbSx0aGlzLm5lYXI9dC5uZWFyLHRoaXMuZmFyPXQuZmFyLHRoaXMuem9vbT10Lnpvb20sdGhpcy52aWV3PW51bGw9PT10LnZpZXc/bnVsbDpPYmplY3QuYXNzaWduKHt9LHQudmlldyksdGhpc31zZXRWaWV3T2Zmc2V0KHQsZSxuLGkscixvKXtudWxsPT09dGhpcy52aWV3JiYodGhpcy52aWV3PXtlbmFibGVkOiEwLGZ1bGxXaWR0aDoxLGZ1bGxIZWlnaHQ6MSxvZmZzZXRYOjAsb2Zmc2V0WTowLHdpZHRoOjEsaGVpZ2h0OjF9KSx0aGlzLnZpZXcuZW5hYmxlZD0hMCx0aGlzLnZpZXcuZnVsbFdpZHRoPXQsdGhpcy52aWV3LmZ1bGxIZWlnaHQ9ZSx0aGlzLnZpZXcub2Zmc2V0WD1uLHRoaXMudmlldy5vZmZzZXRZPWksdGhpcy52aWV3LndpZHRoPXIsdGhpcy52aWV3LmhlaWdodD1vLHRoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfWNsZWFyVmlld09mZnNldCgpe251bGwhPT10aGlzLnZpZXcmJih0aGlzLnZpZXcuZW5hYmxlZD0hMSksdGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9dXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpe2NvbnN0IHQ9KHRoaXMucmlnaHQtdGhpcy5sZWZ0KS8oMip0aGlzLnpvb20pLGU9KHRoaXMudG9wLXRoaXMuYm90dG9tKS8oMip0aGlzLnpvb20pLG49KHRoaXMucmlnaHQrdGhpcy5sZWZ0KS8yLGk9KHRoaXMudG9wK3RoaXMuYm90dG9tKS8yO2xldCByPW4tdCxvPW4rdCxhPWkrZSxzPWktZTtpZihudWxsIT09dGhpcy52aWV3JiZ0aGlzLnZpZXcuZW5hYmxlZCl7Y29uc3QgdD0odGhpcy5yaWdodC10aGlzLmxlZnQpL3RoaXMudmlldy5mdWxsV2lkdGgvdGhpcy56b29tLGU9KHRoaXMudG9wLXRoaXMuYm90dG9tKS90aGlzLnZpZXcuZnVsbEhlaWdodC90aGlzLnpvb207cis9dCp0aGlzLnZpZXcub2Zmc2V0WCxvPXIrdCp0aGlzLnZpZXcud2lkdGgsYS09ZSp0aGlzLnZpZXcub2Zmc2V0WSxzPWEtZSp0aGlzLnZpZXcuaGVpZ2h0fXRoaXMucHJvamVjdGlvbk1hdHJpeC5tYWtlT3J0aG9ncmFwaGljKHIsbyxhLHMsdGhpcy5uZWFyLHRoaXMuZmFyKSx0aGlzLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlLmNvcHkodGhpcy5wcm9qZWN0aW9uTWF0cml4KS5pbnZlcnQoKX10b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7cmV0dXJuIGUub2JqZWN0Lnpvb209dGhpcy56b29tLGUub2JqZWN0LmxlZnQ9dGhpcy5sZWZ0LGUub2JqZWN0LnJpZ2h0PXRoaXMucmlnaHQsZS5vYmplY3QudG9wPXRoaXMudG9wLGUub2JqZWN0LmJvdHRvbT10aGlzLmJvdHRvbSxlLm9iamVjdC5uZWFyPXRoaXMubmVhcixlLm9iamVjdC5mYXI9dGhpcy5mYXIsbnVsbCE9PXRoaXMudmlldyYmKGUub2JqZWN0LnZpZXc9T2JqZWN0LmFzc2lnbih7fSx0aGlzLnZpZXcpKSxlfX1BNnQucHJvdG90eXBlLmlzT3J0aG9ncmFwaGljQ2FtZXJhPSEwO2NsYXNzIGs2dCBleHRlbmRzIG42dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLnR5cGU9IlJhd1NoYWRlck1hdGVyaWFsIn19azZ0LnByb3RvdHlwZS5pc1Jhd1NoYWRlck1hdGVyaWFsPSEwO2NvbnN0IEw2dD1NYXRoLnBvdygyLDgpLFA2dD1bLjEyNSwuMjE1LC4zNSwuNDQ2LC41MjYsLjU4Ml0sTjZ0PTUrUDZ0Lmxlbmd0aCxJNnQ9MjAsUjZ0PXtbRzJ0XTowLFtXMnRdOjEsW1kydF06MixbWDJ0XTozLFskMnRdOjQsW0sydF06NSxbcTJ0XTo2fSxPNnQ9bmV3IGw0dCh7c2lkZToxLGRlcHRoV3JpdGU6ITEsZGVwdGhUZXN0OiExfSksejZ0PW5ldyBLNHQobmV3IEo0dCxPNnQpLEQ2dD1uZXcgQTZ0LHtfbG9kUGxhbmVzOkI2dCxfc2l6ZUxvZHM6SDZ0LF9zaWdtYXM6RjZ0fT0kNnQoKSxWNnQ9bmV3IHM0dDtsZXQgVTZ0PW51bGw7Y29uc3QgajZ0PSgxK01hdGguc3FydCg1KSkvMixHNnQ9MS9qNnQsVzZ0PVtuZXcgSDV0KDEsMSwxKSxuZXcgSDV0KC0xLDEsMSksbmV3IEg1dCgxLDEsLTEpLG5ldyBINXQoLTEsMSwtMSksbmV3IEg1dCgwLGo2dCxHNnQpLG5ldyBINXQoMCxqNnQsLUc2dCksbmV3IEg1dChHNnQsMCxqNnQpLG5ldyBINXQoLUc2dCwwLGo2dCksbmV3IEg1dChqNnQsRzZ0LDApLG5ldyBINXQoLWo2dCxHNnQsMCldO2Z1bmN0aW9uIHE2dCh0KXtjb25zdCBlPU1hdGgubWF4KHQucix0LmcsdC5iKSxuPU1hdGgubWluKE1hdGgubWF4KE1hdGguY2VpbChNYXRoLmxvZzIoZSkpLC0xMjgpLDEyNyk7dC5tdWx0aXBseVNjYWxhcihNYXRoLnBvdygyLC1uKSk7cmV0dXJuKG4rMTI4KS8yNTV9Y2xhc3MgWTZ0e2NvbnN0cnVjdG9yKHQpe3RoaXMuX3JlbmRlcmVyPXQsdGhpcy5fcGluZ1BvbmdSZW5kZXJUYXJnZXQ9bnVsbCx0aGlzLl9ibHVyTWF0ZXJpYWw9KGZ1bmN0aW9uIGUodCl7Y29uc3QgZT1uZXcgRmxvYXQzMkFycmF5KHQpLG49bmV3IEg1dCgwLDEsMCk7cmV0dXJuIG5ldyBrNnQoe25hbWU6IlNwaGVyaWNhbEdhdXNzaWFuQmx1ciIsZGVmaW5lczp7bjp0fSx1bmlmb3Jtczp7ZW52TWFwOnt2YWx1ZTpudWxsfSxzYW1wbGVzOnt2YWx1ZToxfSx3ZWlnaHRzOnt2YWx1ZTplfSxsYXRpdHVkaW5hbDp7dmFsdWU6ITF9LGRUaGV0YTp7dmFsdWU6MH0sbWlwSW50Ont2YWx1ZTowfSxwb2xlQXhpczp7dmFsdWU6bn0saW5wdXRFbmNvZGluZzp7dmFsdWU6UjZ0WzNlM119LG91dHB1dEVuY29kaW5nOnt2YWx1ZTpSNnRbM2UzXX19LHZlcnRleFNoYWRlcjp0OXQoKSxmcmFnbWVudFNoYWRlcjpgXG5cblx0XHRcdHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuXHRcdFx0cHJlY2lzaW9uIG1lZGl1bXAgaW50O1xuXG5cdFx0XHR2YXJ5aW5nIHZlYzMgdk91dHB1dERpcmVjdGlvbjtcblxuXHRcdFx0dW5pZm9ybSBzYW1wbGVyMkQgZW52TWFwO1xuXHRcdFx0dW5pZm9ybSBpbnQgc2FtcGxlcztcblx0XHRcdHVuaWZvcm0gZmxvYXQgd2VpZ2h0c1sgbiBdO1xuXHRcdFx0dW5pZm9ybSBib29sIGxhdGl0dWRpbmFsO1xuXHRcdFx0dW5pZm9ybSBmbG9hdCBkVGhldGE7XG5cdFx0XHR1bmlmb3JtIGZsb2F0IG1pcEludDtcblx0XHRcdHVuaWZvcm0gdmVjMyBwb2xlQXhpcztcblxuXHRcdFx0JHtlOXQoKX1cblxuXHRcdFx0I2RlZmluZSBFTlZNQVBfVFlQRV9DVUJFX1VWXG5cdFx0XHQjaW5jbHVkZSA8Y3ViZV91dl9yZWZsZWN0aW9uX2ZyYWdtZW50PlxuXG5cdFx0XHR2ZWMzIGdldFNhbXBsZSggZmxvYXQgdGhldGEsIHZlYzMgYXhpcyApIHtcblxuXHRcdFx0XHRmbG9hdCBjb3NUaGV0YSA9IGNvcyggdGhldGEgKTtcblx0XHRcdFx0Ly8gUm9kcmlndWVzJyBheGlzLWFuZ2xlIHJvdGF0aW9uXG5cdFx0XHRcdHZlYzMgc2FtcGxlRGlyZWN0aW9uID0gdk91dHB1dERpcmVjdGlvbiAqIGNvc1RoZXRhXG5cdFx0XHRcdFx0KyBjcm9zcyggYXhpcywgdk91dHB1dERpcmVjdGlvbiApICogc2luKCB0aGV0YSApXG5cdFx0XHRcdFx0KyBheGlzICogZG90KCBheGlzLCB2T3V0cHV0RGlyZWN0aW9uICkgKiAoIDEuMCAtIGNvc1RoZXRhICk7XG5cblx0XHRcdFx0cmV0dXJuIGJpbGluZWFyQ3ViZVVWKCBlbnZNYXAsIHNhbXBsZURpcmVjdGlvbiwgbWlwSW50ICk7XG5cblx0XHRcdH1cblxuXHRcdFx0dm9pZCBtYWluKCkge1xuXG5cdFx0XHRcdHZlYzMgYXhpcyA9IGxhdGl0dWRpbmFsID8gcG9sZUF4aXMgOiBjcm9zcyggcG9sZUF4aXMsIHZPdXRwdXREaXJlY3Rpb24gKTtcblxuXHRcdFx0XHRpZiAoIGFsbCggZXF1YWwoIGF4aXMsIHZlYzMoIDAuMCApICkgKSApIHtcblxuXHRcdFx0XHRcdGF4aXMgPSB2ZWMzKCB2T3V0cHV0RGlyZWN0aW9uLnosIDAuMCwgLSB2T3V0cHV0RGlyZWN0aW9uLnggKTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0YXhpcyA9IG5vcm1hbGl6ZSggYXhpcyApO1xuXG5cdFx0XHRcdGdsX0ZyYWdDb2xvciA9IHZlYzQoIDAuMCwgMC4wLCAwLjAsIDEuMCApO1xuXHRcdFx0XHRnbF9GcmFnQ29sb3IucmdiICs9IHdlaWdodHNbIDAgXSAqIGdldFNhbXBsZSggMC4wLCBheGlzICk7XG5cblx0XHRcdFx0Zm9yICggaW50IGkgPSAxOyBpIDwgbjsgaSsrICkge1xuXG5cdFx0XHRcdFx0aWYgKCBpID49IHNhbXBsZXMgKSB7XG5cblx0XHRcdFx0XHRcdGJyZWFrO1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0ZmxvYXQgdGhldGEgPSBkVGhldGEgKiBmbG9hdCggaSApO1xuXHRcdFx0XHRcdGdsX0ZyYWdDb2xvci5yZ2IgKz0gd2VpZ2h0c1sgaSBdICogZ2V0U2FtcGxlKCAtMS4wICogdGhldGEsIGF4aXMgKTtcblx0XHRcdFx0XHRnbF9GcmFnQ29sb3IucmdiICs9IHdlaWdodHNbIGkgXSAqIGdldFNhbXBsZSggdGhldGEsIGF4aXMgKTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Z2xfRnJhZ0NvbG9yID0gbGluZWFyVG9PdXRwdXRUZXhlbCggZ2xfRnJhZ0NvbG9yICk7XG5cblx0XHRcdH1cblx0XHRgLGJsZW5kaW5nOjAsZGVwdGhUZXN0OiExLGRlcHRoV3JpdGU6ITF9KX0pKEk2dCksdGhpcy5fZXF1aXJlY3RTaGFkZXI9bnVsbCx0aGlzLl9jdWJlbWFwU2hhZGVyPW51bGwsdGhpcy5fY29tcGlsZU1hdGVyaWFsKHRoaXMuX2JsdXJNYXRlcmlhbCl9ZnJvbVNjZW5lKHQsZT0wLG49LjEsaT0xMDApe1U2dD10aGlzLl9yZW5kZXJlci5nZXRSZW5kZXJUYXJnZXQoKTtjb25zdCByPXRoaXMuX2FsbG9jYXRlVGFyZ2V0cygpO3JldHVybiB0aGlzLl9zY2VuZVRvQ3ViZVVWKHQsbixpLHIpLGU+MCYmdGhpcy5fYmx1cihyLDAsMCxlKSx0aGlzLl9hcHBseVBNUkVNKHIpLHRoaXMuX2NsZWFudXAocikscn1mcm9tRXF1aXJlY3Rhbmd1bGFyKHQpe3JldHVybiB0aGlzLl9mcm9tVGV4dHVyZSh0KX1mcm9tQ3ViZW1hcCh0KXtyZXR1cm4gdGhpcy5fZnJvbVRleHR1cmUodCl9Y29tcGlsZUN1YmVtYXBTaGFkZXIoKXtudWxsPT09dGhpcy5fY3ViZW1hcFNoYWRlciYmKHRoaXMuX2N1YmVtYXBTaGFkZXI9UTZ0KCksdGhpcy5fY29tcGlsZU1hdGVyaWFsKHRoaXMuX2N1YmVtYXBTaGFkZXIpKX1jb21waWxlRXF1aXJlY3Rhbmd1bGFyU2hhZGVyKCl7bnVsbD09PXRoaXMuX2VxdWlyZWN0U2hhZGVyJiYodGhpcy5fZXF1aXJlY3RTaGFkZXI9SjZ0KCksdGhpcy5fY29tcGlsZU1hdGVyaWFsKHRoaXMuX2VxdWlyZWN0U2hhZGVyKSl9ZGlzcG9zZSgpe3RoaXMuX2JsdXJNYXRlcmlhbC5kaXNwb3NlKCksbnVsbCE9PXRoaXMuX2N1YmVtYXBTaGFkZXImJnRoaXMuX2N1YmVtYXBTaGFkZXIuZGlzcG9zZSgpLG51bGwhPT10aGlzLl9lcXVpcmVjdFNoYWRlciYmdGhpcy5fZXF1aXJlY3RTaGFkZXIuZGlzcG9zZSgpO2ZvcihsZXQgdD0wO3Q8QjZ0Lmxlbmd0aDt0KyspQjZ0W3RdLmRpc3Bvc2UoKX1fY2xlYW51cCh0KXt0aGlzLl9waW5nUG9uZ1JlbmRlclRhcmdldC5kaXNwb3NlKCksdGhpcy5fcmVuZGVyZXIuc2V0UmVuZGVyVGFyZ2V0KFU2dCksdC5zY2lzc29yVGVzdD0hMSxaNnQodCwwLDAsdC53aWR0aCx0LmhlaWdodCl9X2Zyb21UZXh0dXJlKHQpe1U2dD10aGlzLl9yZW5kZXJlci5nZXRSZW5kZXJUYXJnZXQoKTtjb25zdCBlPXRoaXMuX2FsbG9jYXRlVGFyZ2V0cyh0KTtyZXR1cm4gdGhpcy5fdGV4dHVyZVRvQ3ViZVVWKHQsZSksdGhpcy5fYXBwbHlQTVJFTShlKSx0aGlzLl9jbGVhbnVwKGUpLGV9X2FsbG9jYXRlVGFyZ2V0cyh0KXtjb25zdCBlPXttYWdGaWx0ZXI6dTJ0LG1pbkZpbHRlcjp1MnQsZ2VuZXJhdGVNaXBtYXBzOiExLHR5cGU6ZzJ0LGZvcm1hdDoxMDIzLGVuY29kaW5nOlg2dCh0KT90LmVuY29kaW5nOlkydCxkZXB0aEJ1ZmZlcjohMX0sbj1LNnQoZSk7cmV0dXJuIG4uZGVwdGhCdWZmZXI9IXQsdGhpcy5fcGluZ1BvbmdSZW5kZXJUYXJnZXQ9SzZ0KGUpLG59X2NvbXBpbGVNYXRlcmlhbCh0KXtjb25zdCBlPW5ldyBLNHQoQjZ0WzBdLHQpO3RoaXMuX3JlbmRlcmVyLmNvbXBpbGUoZSxENnQpfV9zY2VuZVRvQ3ViZVVWKHQsZSxuLGkpe2NvbnN0IHI9bmV3IHI2dCg5MCwxLGUsbiksbz1bMSwtMSwxLDEsMSwxXSxhPVsxLDEsMSwtMSwtMSwtMV0scz10aGlzLl9yZW5kZXJlcixsPXMuYXV0b0NsZWFyLGM9cy5vdXRwdXRFbmNvZGluZyx1PXMudG9uZU1hcHBpbmc7cy5nZXRDbGVhckNvbG9yKFY2dCkscy50b25lTWFwcGluZz0wLHMub3V0cHV0RW5jb2Rpbmc9RzJ0LHMuYXV0b0NsZWFyPSExO2xldCBoPSExO2NvbnN0IGQ9dC5iYWNrZ3JvdW5kO2lmKGQpe2lmKGQuaXNDb2xvcil7TzZ0LmNvbG9yLmNvcHkoZCkuY29udmVydFNSR0JUb0xpbmVhcigpLHQuYmFja2dyb3VuZD1udWxsO2NvbnN0IGU9cTZ0KE82dC5jb2xvcik7TzZ0Lm9wYWNpdHk9ZSxoPSEwfX1lbHNle082dC5jb2xvci5jb3B5KFY2dCkuY29udmVydFNSR0JUb0xpbmVhcigpO2NvbnN0IHQ9cTZ0KE82dC5jb2xvcik7TzZ0Lm9wYWNpdHk9dCxoPSEwfWZvcihsZXQgZT0wO2U8NjtlKyspe2NvbnN0IG49ZSUzOzA9PW4/KHIudXAuc2V0KDAsb1tlXSwwKSxyLmxvb2tBdChhW2VdLDAsMCkpOjE9PW4/KHIudXAuc2V0KDAsMCxvW2VdKSxyLmxvb2tBdCgwLGFbZV0sMCkpOihyLnVwLnNldCgwLG9bZV0sMCksci5sb29rQXQoMCwwLGFbZV0pKSxaNnQoaSxuKkw2dCxlPjI/TDZ0OjAsTDZ0LEw2dCkscy5zZXRSZW5kZXJUYXJnZXQoaSksaCYmcy5yZW5kZXIoejZ0LHIpLHMucmVuZGVyKHQscil9cy50b25lTWFwcGluZz11LHMub3V0cHV0RW5jb2Rpbmc9YyxzLmF1dG9DbGVhcj1sfV90ZXh0dXJlVG9DdWJlVVYodCxlKXtjb25zdCBuPXRoaXMuX3JlbmRlcmVyO3QuaXNDdWJlVGV4dHVyZT9udWxsPT10aGlzLl9jdWJlbWFwU2hhZGVyJiYodGhpcy5fY3ViZW1hcFNoYWRlcj1RNnQoKSk6bnVsbD09dGhpcy5fZXF1aXJlY3RTaGFkZXImJih0aGlzLl9lcXVpcmVjdFNoYWRlcj1KNnQoKSk7Y29uc3QgaT10LmlzQ3ViZVRleHR1cmU/dGhpcy5fY3ViZW1hcFNoYWRlcjp0aGlzLl9lcXVpcmVjdFNoYWRlcixyPW5ldyBLNHQoQjZ0WzBdLGkpLG89aS51bmlmb3JtcztvLmVudk1hcC52YWx1ZT10LHQuaXNDdWJlVGV4dHVyZXx8by50ZXhlbFNpemUudmFsdWUuc2V0KDEvdC5pbWFnZS53aWR0aCwxL3QuaW1hZ2UuaGVpZ2h0KSxvLmlucHV0RW5jb2RpbmcudmFsdWU9UjZ0W3QuZW5jb2RpbmddLG8ub3V0cHV0RW5jb2RpbmcudmFsdWU9UjZ0W2UudGV4dHVyZS5lbmNvZGluZ10sWjZ0KGUsMCwwLDMqTDZ0LDIqTDZ0KSxuLnNldFJlbmRlclRhcmdldChlKSxuLnJlbmRlcihyLEQ2dCl9X2FwcGx5UE1SRU0odCl7Y29uc3QgZT10aGlzLl9yZW5kZXJlcixuPWUuYXV0b0NsZWFyO2UuYXV0b0NsZWFyPSExO2ZvcihsZXQgZT0xO2U8TjZ0O2UrKyl7Y29uc3Qgbj1NYXRoLnNxcnQoRjZ0W2VdKkY2dFtlXS1GNnRbZS0xXSpGNnRbZS0xXSk7dGhpcy5fYmx1cih0LGUtMSxlLG4sVzZ0WyhlLTEpJVc2dC5sZW5ndGhdKX1lLmF1dG9DbGVhcj1ufV9ibHVyKHQsZSxuLGkscil7Y29uc3Qgbz10aGlzLl9waW5nUG9uZ1JlbmRlclRhcmdldDt0aGlzLl9oYWxmQmx1cih0LG8sZSxuLGksImxhdGl0dWRpbmFsIixyKSx0aGlzLl9oYWxmQmx1cihvLHQsbixuLGksImxvbmdpdHVkaW5hbCIscil9X2hhbGZCbHVyKHQsZSxuLGkscixvLGEpe2NvbnN0IHM9dGhpcy5fcmVuZGVyZXIsbD10aGlzLl9ibHVyTWF0ZXJpYWw7ImxhdGl0dWRpbmFsIiE9PW8mJiJsb25naXR1ZGluYWwiIT09byYmY29uc29sZS5lcnJvcigiYmx1ciBkaXJlY3Rpb24gbXVzdCBiZSBlaXRoZXIgbGF0aXR1ZGluYWwgb3IgbG9uZ2l0dWRpbmFsISIpO2NvbnN0IGM9bmV3IEs0dChCNnRbaV0sbCksdT1sLnVuaWZvcm1zLGg9SDZ0W25dLTEsZD1pc0Zpbml0ZShyKT9NYXRoLlBJLygyKmgpOjIqTWF0aC5QSS8zOSxwPXIvZCxmPWlzRmluaXRlKHIpPzErTWF0aC5mbG9vcigzKnApOkk2dDtmPkk2dCYmY29uc29sZS53YXJuKGBzaWdtYVJhZGlhbnMsICR7cn0sIGlzIHRvbyBsYXJnZSBhbmQgd2lsbCBjbGlwLCBhcyBpdCByZXF1ZXN0ZWQgJHtmfSBzYW1wbGVzIHdoZW4gdGhlIG1heGltdW0gaXMgc2V0IHRvIDIwYCk7Y29uc3QgbT1bXTtsZXQgZz0wO2ZvcihsZXQgdD0wO3Q8STZ0OysrdCl7Y29uc3QgZT10L3Asbj1NYXRoLmV4cCgtZSplLzIpO20ucHVzaChuKSwwPT10P2crPW46dDxmJiYoZys9MipuKX1mb3IobGV0IHQ9MDt0PG0ubGVuZ3RoO3QrKyltW3RdPW1bdF0vZzt1LmVudk1hcC52YWx1ZT10LnRleHR1cmUsdS5zYW1wbGVzLnZhbHVlPWYsdS53ZWlnaHRzLnZhbHVlPW0sdS5sYXRpdHVkaW5hbC52YWx1ZT0ibGF0aXR1ZGluYWwiPT09byxhJiYodS5wb2xlQXhpcy52YWx1ZT1hKSx1LmRUaGV0YS52YWx1ZT1kLHUubWlwSW50LnZhbHVlPTgtbix1LmlucHV0RW5jb2RpbmcudmFsdWU9UjZ0W3QudGV4dHVyZS5lbmNvZGluZ10sdS5vdXRwdXRFbmNvZGluZy52YWx1ZT1SNnRbdC50ZXh0dXJlLmVuY29kaW5nXTtjb25zdCBfPUg2dFtpXTtaNnQoZSwzKk1hdGgubWF4KDAsTDZ0LTIqXyksKDA9PT1pPzA6MipMNnQpKzIqXyooaT40P2ktOCs0OjApLDMqXywyKl8pLHMuc2V0UmVuZGVyVGFyZ2V0KGUpLHMucmVuZGVyKGMsRDZ0KX19ZnVuY3Rpb24gWDZ0KHQpe3JldHVybiB2b2lkIDAhPT10JiZ0LnR5cGU9PT1nMnQmJih0LmVuY29kaW5nPT09RzJ0fHx0LmVuY29kaW5nPT09VzJ0fHx0LmVuY29kaW5nPT09cTJ0KX1mdW5jdGlvbiAkNnQoKXtjb25zdCB0PVtdLGU9W10sbj1bXTtsZXQgaT04O2ZvcihsZXQgcj0wO3I8TjZ0O3IrKyl7Y29uc3Qgbz1NYXRoLnBvdygyLGkpO2UucHVzaChvKTtsZXQgYT0xL287cj40P2E9UDZ0W3ItOCs0LTFdOjA9PXImJihhPTApLG4ucHVzaChhKTtjb25zdCBzPTEvKG8tMSksbD0tcy8yLGM9MStzLzIsdT1bbCxsLGMsbCxjLGMsbCxsLGMsYyxsLGNdLGg9NixkPTYscD0zLGY9MixtPTEsZz1uZXcgRmxvYXQzMkFycmF5KHAqZCpoKSxfPW5ldyBGbG9hdDMyQXJyYXkoZipkKmgpLHk9bmV3IEZsb2F0MzJBcnJheShtKmQqaCk7Zm9yKGxldCB0PTA7dDxoO3QrKyl7Y29uc3QgZT10JTMqMi8zLTEsbj10PjI/MDotMTtnLnNldChbZSxuLDAsZSsyLzMsbiwwLGUrMi8zLG4rMSwwLGUsbiwwLGUrMi8zLG4rMSwwLGUsbisxLDBdLHAqZCp0KSxfLnNldCh1LGYqZCp0KTt5LnNldChbdCx0LHQsdCx0LHRdLG0qZCp0KX1jb25zdCB2PW5ldyBONHQ7di5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgaDR0KGcscCkpLHYuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGg0dChfLGYpKSx2LnNldEF0dHJpYnV0ZSgiZmFjZUluZGV4IixuZXcgaDR0KHksbSkpLHQucHVzaCh2KSxpPjQmJmktLX1yZXR1cm57X2xvZFBsYW5lczp0LF9zaXplTG9kczplLF9zaWdtYXM6bn19ZnVuY3Rpb24gSzZ0KHQpe2NvbnN0IGU9bmV3IE81dCgzKkw2dCwzKkw2dCx0KTtyZXR1cm4gZS50ZXh0dXJlLm1hcHBpbmc9bzJ0LGUudGV4dHVyZS5uYW1lPSJQTVJFTS5jdWJlVXYiLGUuc2Npc3NvclRlc3Q9ITAsZX1mdW5jdGlvbiBaNnQodCxlLG4saSxyKXt0LnZpZXdwb3J0LnNldChlLG4saSxyKSx0LnNjaXNzb3Iuc2V0KGUsbixpLHIpfWZ1bmN0aW9uIEo2dCgpe2NvbnN0IHQ9bmV3IEM1dCgxLDEpO3JldHVybiBuZXcgazZ0KHtuYW1lOiJFcXVpcmVjdGFuZ3VsYXJUb0N1YmVVViIsdW5pZm9ybXM6e2Vudk1hcDp7dmFsdWU6bnVsbH0sdGV4ZWxTaXplOnt2YWx1ZTp0fSxpbnB1dEVuY29kaW5nOnt2YWx1ZTpSNnRbM2UzXX0sb3V0cHV0RW5jb2Rpbmc6e3ZhbHVlOlI2dFszZTNdfX0sdmVydGV4U2hhZGVyOnQ5dCgpLGZyYWdtZW50U2hhZGVyOmBcblxuXHRcdFx0cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG5cdFx0XHRwcmVjaXNpb24gbWVkaXVtcCBpbnQ7XG5cblx0XHRcdHZhcnlpbmcgdmVjMyB2T3V0cHV0RGlyZWN0aW9uO1xuXG5cdFx0XHR1bmlmb3JtIHNhbXBsZXIyRCBlbnZNYXA7XG5cdFx0XHR1bmlmb3JtIHZlYzIgdGV4ZWxTaXplO1xuXG5cdFx0XHQke2U5dCgpfVxuXG5cdFx0XHQjaW5jbHVkZSA8Y29tbW9uPlxuXG5cdFx0XHR2b2lkIG1haW4oKSB7XG5cblx0XHRcdFx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggMC4wLCAwLjAsIDAuMCwgMS4wICk7XG5cblx0XHRcdFx0dmVjMyBvdXRwdXREaXJlY3Rpb24gPSBub3JtYWxpemUoIHZPdXRwdXREaXJlY3Rpb24gKTtcblx0XHRcdFx0dmVjMiB1diA9IGVxdWlyZWN0VXYoIG91dHB1dERpcmVjdGlvbiApO1xuXG5cdFx0XHRcdHZlYzIgZiA9IGZyYWN0KCB1diAvIHRleGVsU2l6ZSAtIDAuNSApO1xuXHRcdFx0XHR1diAtPSBmICogdGV4ZWxTaXplO1xuXHRcdFx0XHR2ZWMzIHRsID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEICggZW52TWFwLCB1diApICkucmdiO1xuXHRcdFx0XHR1di54ICs9IHRleGVsU2l6ZS54O1xuXHRcdFx0XHR2ZWMzIHRyID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEICggZW52TWFwLCB1diApICkucmdiO1xuXHRcdFx0XHR1di55ICs9IHRleGVsU2l6ZS55O1xuXHRcdFx0XHR2ZWMzIGJyID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEICggZW52TWFwLCB1diApICkucmdiO1xuXHRcdFx0XHR1di54IC09IHRleGVsU2l6ZS54O1xuXHRcdFx0XHR2ZWMzIGJsID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEICggZW52TWFwLCB1diApICkucmdiO1xuXG5cdFx0XHRcdHZlYzMgdG0gPSBtaXgoIHRsLCB0ciwgZi54ICk7XG5cdFx0XHRcdHZlYzMgYm0gPSBtaXgoIGJsLCBiciwgZi54ICk7XG5cdFx0XHRcdGdsX0ZyYWdDb2xvci5yZ2IgPSBtaXgoIHRtLCBibSwgZi55ICk7XG5cblx0XHRcdFx0Z2xfRnJhZ0NvbG9yID0gbGluZWFyVG9PdXRwdXRUZXhlbCggZ2xfRnJhZ0NvbG9yICk7XG5cblx0XHRcdH1cblx0XHRgLGJsZW5kaW5nOjAsZGVwdGhUZXN0OiExLGRlcHRoV3JpdGU6ITF9KX1mdW5jdGlvbiBRNnQoKXtyZXR1cm4gbmV3IGs2dCh7bmFtZToiQ3ViZW1hcFRvQ3ViZVVWIix1bmlmb3Jtczp7ZW52TWFwOnt2YWx1ZTpudWxsfSxpbnB1dEVuY29kaW5nOnt2YWx1ZTpSNnRbM2UzXX0sb3V0cHV0RW5jb2Rpbmc6e3ZhbHVlOlI2dFszZTNdfX0sdmVydGV4U2hhZGVyOnQ5dCgpLGZyYWdtZW50U2hhZGVyOmBcblxuXHRcdFx0cHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG5cdFx0XHRwcmVjaXNpb24gbWVkaXVtcCBpbnQ7XG5cblx0XHRcdHZhcnlpbmcgdmVjMyB2T3V0cHV0RGlyZWN0aW9uO1xuXG5cdFx0XHR1bmlmb3JtIHNhbXBsZXJDdWJlIGVudk1hcDtcblxuXHRcdFx0JHtlOXQoKX1cblxuXHRcdFx0dm9pZCBtYWluKCkge1xuXG5cdFx0XHRcdGdsX0ZyYWdDb2xvciA9IHZlYzQoIDAuMCwgMC4wLCAwLjAsIDEuMCApO1xuXHRcdFx0XHRnbF9GcmFnQ29sb3IucmdiID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZUN1YmUoIGVudk1hcCwgdmVjMyggLSB2T3V0cHV0RGlyZWN0aW9uLngsIHZPdXRwdXREaXJlY3Rpb24ueXogKSApICkucmdiO1xuXHRcdFx0XHRnbF9GcmFnQ29sb3IgPSBsaW5lYXJUb091dHB1dFRleGVsKCBnbF9GcmFnQ29sb3IgKTtcblxuXHRcdFx0fVxuXHRcdGAsYmxlbmRpbmc6MCxkZXB0aFRlc3Q6ITEsZGVwdGhXcml0ZTohMX0pfWZ1bmN0aW9uIHQ5dCgpe3JldHVybiJcblxuXHRcdHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuXHRcdHByZWNpc2lvbiBtZWRpdW1wIGludDtcblxuXHRcdGF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uO1xuXHRcdGF0dHJpYnV0ZSB2ZWMyIHV2O1xuXHRcdGF0dHJpYnV0ZSBmbG9hdCBmYWNlSW5kZXg7XG5cblx0XHR2YXJ5aW5nIHZlYzMgdk91dHB1dERpcmVjdGlvbjtcblxuXHRcdC8vIFJIIGNvb3JkaW5hdGUgc3lzdGVtOyBQTVJFTSBmYWNlLWluZGV4aW5nIGNvbnZlbnRpb25cblx0XHR2ZWMzIGdldERpcmVjdGlvbiggdmVjMiB1diwgZmxvYXQgZmFjZSApIHtcblxuXHRcdFx0dXYgPSAyLjAgKiB1diAtIDEuMDtcblxuXHRcdFx0dmVjMyBkaXJlY3Rpb24gPSB2ZWMzKCB1diwgMS4wICk7XG5cblx0XHRcdGlmICggZmFjZSA9PSAwLjAgKSB7XG5cblx0XHRcdFx0ZGlyZWN0aW9uID0gZGlyZWN0aW9uLnp5eDsgLy8gKCAxLCB2LCB1ICkgcG9zIHhcblxuXHRcdFx0fSBlbHNlIGlmICggZmFjZSA9PSAxLjAgKSB7XG5cblx0XHRcdFx0ZGlyZWN0aW9uID0gZGlyZWN0aW9uLnh6eTtcblx0XHRcdFx0ZGlyZWN0aW9uLnh6ICo9IC0xLjA7IC8vICggLXUsIDEsIC12ICkgcG9zIHlcblxuXHRcdFx0fSBlbHNlIGlmICggZmFjZSA9PSAyLjAgKSB7XG5cblx0XHRcdFx0ZGlyZWN0aW9uLnggKj0gLTEuMDsgLy8gKCAtdSwgdiwgMSApIHBvcyB6XG5cblx0XHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gMy4wICkge1xuXG5cdFx0XHRcdGRpcmVjdGlvbiA9IGRpcmVjdGlvbi56eXg7XG5cdFx0XHRcdGRpcmVjdGlvbi54eiAqPSAtMS4wOyAvLyAoIC0xLCB2LCAtdSApIG5lZyB4XG5cblx0XHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gNC4wICkge1xuXG5cdFx0XHRcdGRpcmVjdGlvbiA9IGRpcmVjdGlvbi54enk7XG5cdFx0XHRcdGRpcmVjdGlvbi54eSAqPSAtMS4wOyAvLyAoIC11LCAtMSwgdiApIG5lZyB5XG5cblx0XHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gNS4wICkge1xuXG5cdFx0XHRcdGRpcmVjdGlvbi56ICo9IC0xLjA7IC8vICggdSwgdiwgLTEgKSBuZWcgelxuXG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBkaXJlY3Rpb247XG5cblx0XHR9XG5cblx0XHR2b2lkIG1haW4oKSB7XG5cblx0XHRcdHZPdXRwdXREaXJlY3Rpb24gPSBnZXREaXJlY3Rpb24oIHV2LCBmYWNlSW5kZXggKTtcblx0XHRcdGdsX1Bvc2l0aW9uID0gdmVjNCggcG9zaXRpb24sIDEuMCApO1xuXG5cdFx0fVxuXHQifWZ1bmN0aW9uIGU5dCgpe3JldHVybiJcblxuXHRcdHVuaWZvcm0gaW50IGlucHV0RW5jb2Rpbmc7XG5cdFx0dW5pZm9ybSBpbnQgb3V0cHV0RW5jb2Rpbmc7XG5cblx0XHQjaW5jbHVkZSA8ZW5jb2RpbmdzX3BhcnNfZnJhZ21lbnQ+XG5cblx0XHR2ZWM0IGlucHV0VGV4ZWxUb0xpbmVhciggdmVjNCB2YWx1ZSApIHtcblxuXHRcdFx0aWYgKCBpbnB1dEVuY29kaW5nID09IDAgKSB7XG5cblx0XHRcdFx0cmV0dXJuIHZhbHVlO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBpbnB1dEVuY29kaW5nID09IDEgKSB7XG5cblx0XHRcdFx0cmV0dXJuIHNSR0JUb0xpbmVhciggdmFsdWUgKTtcblxuXHRcdFx0fSBlbHNlIGlmICggaW5wdXRFbmNvZGluZyA9PSAyICkge1xuXG5cdFx0XHRcdHJldHVybiBSR0JFVG9MaW5lYXIoIHZhbHVlICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIGlucHV0RW5jb2RpbmcgPT0gMyApIHtcblxuXHRcdFx0XHRyZXR1cm4gUkdCTVRvTGluZWFyKCB2YWx1ZSwgNy4wICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIGlucHV0RW5jb2RpbmcgPT0gNCApIHtcblxuXHRcdFx0XHRyZXR1cm4gUkdCTVRvTGluZWFyKCB2YWx1ZSwgMTYuMCApO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBpbnB1dEVuY29kaW5nID09IDUgKSB7XG5cblx0XHRcdFx0cmV0dXJuIFJHQkRUb0xpbmVhciggdmFsdWUsIDI1Ni4wICk7XG5cblx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0cmV0dXJuIEdhbW1hVG9MaW5lYXIoIHZhbHVlLCAyLjIgKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0dmVjNCBsaW5lYXJUb091dHB1dFRleGVsKCB2ZWM0IHZhbHVlICkge1xuXG5cdFx0XHRpZiAoIG91dHB1dEVuY29kaW5nID09IDAgKSB7XG5cblx0XHRcdFx0cmV0dXJuIHZhbHVlO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBvdXRwdXRFbmNvZGluZyA9PSAxICkge1xuXG5cdFx0XHRcdHJldHVybiBMaW5lYXJUb3NSR0IoIHZhbHVlICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIG91dHB1dEVuY29kaW5nID09IDIgKSB7XG5cblx0XHRcdFx0cmV0dXJuIExpbmVhclRvUkdCRSggdmFsdWUgKTtcblxuXHRcdFx0fSBlbHNlIGlmICggb3V0cHV0RW5jb2RpbmcgPT0gMyApIHtcblxuXHRcdFx0XHRyZXR1cm4gTGluZWFyVG9SR0JNKCB2YWx1ZSwgNy4wICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIG91dHB1dEVuY29kaW5nID09IDQgKSB7XG5cblx0XHRcdFx0cmV0dXJuIExpbmVhclRvUkdCTSggdmFsdWUsIDE2LjAgKTtcblxuXHRcdFx0fSBlbHNlIGlmICggb3V0cHV0RW5jb2RpbmcgPT0gNSApIHtcblxuXHRcdFx0XHRyZXR1cm4gTGluZWFyVG9SR0JEKCB2YWx1ZSwgMjU2LjAgKTtcblxuXHRcdFx0fSBlbHNlIHtcblxuXHRcdFx0XHRyZXR1cm4gTGluZWFyVG9HYW1tYSggdmFsdWUsIDIuMiApO1xuXG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHR2ZWM0IGVudk1hcFRleGVsVG9MaW5lYXIoIHZlYzQgY29sb3IgKSB7XG5cblx0XHRcdHJldHVybiBpbnB1dFRleGVsVG9MaW5lYXIoIGNvbG9yICk7XG5cblx0XHR9XG5cdCJ9ZnVuY3Rpb24gbjl0KHQpe2xldCBlPW5ldyBXZWFrTWFwLG49bnVsbDtmdW5jdGlvbiBpKHQpe2NvbnN0IG49dC50YXJnZXQ7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixpKTtjb25zdCByPWUuZ2V0KG4pO3ZvaWQgMCE9PXImJihyLmRlbGV0ZShuKSxyLmRpc3Bvc2UoKSl9cmV0dXJue2dldDpmdW5jdGlvbiByKG8pe2lmKG8mJm8uaXNUZXh0dXJlJiYhMT09PW8uaXNSZW5kZXJUYXJnZXRUZXh0dXJlKXtjb25zdCByPW8ubWFwcGluZyxhPXI9PT1pMnR8fHI9PT1yMnQscz1yPT09ZTJ0fHxyPT09bjJ0O2lmKGF8fHMpe2lmKGUuaGFzKG8pKXJldHVybiBlLmdldChvKS50ZXh0dXJlO3tjb25zdCByPW8uaW1hZ2U7aWYoYSYmciYmci5oZWlnaHQ+MHx8cyYmciYmKGZ1bmN0aW9uIGEodCl7bGV0IGU9MDtjb25zdCBuPTY7Zm9yKGxldCBpPTA7aTxuO2krKyl2b2lkIDAhPT10W2ldJiZlKys7cmV0dXJuIGU9PT1ufSkocikpe2NvbnN0IHI9dC5nZXRSZW5kZXJUYXJnZXQoKTtudWxsPT09biYmKG49bmV3IFk2dCh0KSk7Y29uc3Qgcz1hP24uZnJvbUVxdWlyZWN0YW5ndWxhcihvKTpuLmZyb21DdWJlbWFwKG8pO3JldHVybiBlLnNldChvLHMpLHQuc2V0UmVuZGVyVGFyZ2V0KHIpLG8uYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsaSkscy50ZXh0dXJlfXJldHVybiBudWxsfX19cmV0dXJuIG99LGRpc3Bvc2U6ZnVuY3Rpb24gbygpe2U9bmV3IFdlYWtNYXAsbnVsbCE9PW4mJihuLmRpc3Bvc2UoKSxuPW51bGwpfX19ZnVuY3Rpb24gaTl0KHQpe2NvbnN0IGU9e307ZnVuY3Rpb24gbihuKXtpZih2b2lkIDAhPT1lW25dKXJldHVybiBlW25dO2xldCBpO3N3aXRjaChuKXtjYXNlIldFQkdMX2RlcHRoX3RleHR1cmUiOmk9dC5nZXRFeHRlbnNpb24oIldFQkdMX2RlcHRoX3RleHR1cmUiKXx8dC5nZXRFeHRlbnNpb24oIk1PWl9XRUJHTF9kZXB0aF90ZXh0dXJlIil8fHQuZ2V0RXh0ZW5zaW9uKCJXRUJLSVRfV0VCR0xfZGVwdGhfdGV4dHVyZSIpO2JyZWFrO2Nhc2UiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIjppPXQuZ2V0RXh0ZW5zaW9uKCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKXx8dC5nZXRFeHRlbnNpb24oIk1PWl9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKXx8dC5nZXRFeHRlbnNpb24oIldFQktJVF9FWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKTticmVhaztjYXNlIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIjppPXQuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyIpfHx0LmdldEV4dGVuc2lvbigiTU9aX1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIil8fHQuZ2V0RXh0ZW5zaW9uKCJXRUJLSVRfV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKTticmVhaztjYXNlIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyI6aT10LmdldEV4dGVuc2lvbigiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIil8fHQuZ2V0RXh0ZW5zaW9uKCJXRUJLSVRfV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIik7YnJlYWs7ZGVmYXVsdDppPXQuZ2V0RXh0ZW5zaW9uKG4pfXJldHVybiBlW25dPWksaX1yZXR1cm57aGFzOmZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT09bih0KX0saW5pdDpmdW5jdGlvbih0KXt0LmlzV2ViR0wyP24oIkVYVF9jb2xvcl9idWZmZXJfZmxvYXQiKToobigiV0VCR0xfZGVwdGhfdGV4dHVyZSIpLG4oIk9FU190ZXh0dXJlX2Zsb2F0IiksbigiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpLG4oIk9FU190ZXh0dXJlX2hhbGZfZmxvYXRfbGluZWFyIiksbigiT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzIiksbigiT0VTX2VsZW1lbnRfaW5kZXhfdWludCIpLG4oIk9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0IiksbigiQU5HTEVfaW5zdGFuY2VkX2FycmF5cyIpKSxuKCJPRVNfdGV4dHVyZV9mbG9hdF9saW5lYXIiKSxuKCJFWFRfY29sb3JfYnVmZmVyX2hhbGZfZmxvYXQiKX0sZ2V0OmZ1bmN0aW9uKHQpe2NvbnN0IGU9bih0KTtyZXR1cm4gbnVsbD09PWUmJmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogIit0KyIgZXh0ZW5zaW9uIG5vdCBzdXBwb3J0ZWQuIiksZX19fWZ1bmN0aW9uIHI5dCh0LGUsbixpKXtjb25zdCByPXt9LG89bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYSh0KXtjb25zdCBzPXQudGFyZ2V0O251bGwhPT1zLmluZGV4JiZlLnJlbW92ZShzLmluZGV4KTtmb3IoY29uc3QgdCBpbiBzLmF0dHJpYnV0ZXMpZS5yZW1vdmUocy5hdHRyaWJ1dGVzW3RdKTtzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGEpLGRlbGV0ZSByW3MuaWRdO2NvbnN0IGw9by5nZXQocyk7bCYmKGUucmVtb3ZlKGwpLG8uZGVsZXRlKHMpKSxpLnJlbGVhc2VTdGF0ZXNPZkdlb21ldHJ5KHMpLCEwPT09cy5pc0luc3RhbmNlZEJ1ZmZlckdlb21ldHJ5JiZkZWxldGUgcy5fbWF4SW5zdGFuY2VDb3VudCxuLm1lbW9yeS5nZW9tZXRyaWVzLS19ZnVuY3Rpb24gcyh0KXtjb25zdCBuPVtdLGk9dC5pbmRleCxyPXQuYXR0cmlidXRlcy5wb3NpdGlvbjtsZXQgYT0wO2lmKG51bGwhPT1pKXtjb25zdCB0PWkuYXJyYXk7YT1pLnZlcnNpb247Zm9yKGxldCBlPTAsaT10Lmxlbmd0aDtlPGk7ZSs9Myl7Y29uc3QgaT10W2UrMF0scj10W2UrMV0sbz10W2UrMl07bi5wdXNoKGkscixyLG8sbyxpKX19ZWxzZXthPXIudmVyc2lvbjtmb3IobGV0IHQ9MCxlPXIuYXJyYXkubGVuZ3RoLzMtMTt0PGU7dCs9Myl7Y29uc3QgZT10KzAsaT10KzEscj10KzI7bi5wdXNoKGUsaSxpLHIscixlKX19Y29uc3Qgcz1uZXcodzR0KG4pPjY1NTM1P3k0dDpnNHQpKG4sMSk7cy52ZXJzaW9uPWE7Y29uc3QgbD1vLmdldCh0KTtsJiZlLnJlbW92ZShsKSxvLnNldCh0LHMpfXJldHVybntnZXQ6ZnVuY3Rpb24gbCh0LGUpe3JldHVybiEwPT09cltlLmlkXXx8KGUuYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsYSkscltlLmlkXT0hMCxuLm1lbW9yeS5nZW9tZXRyaWVzKyspLGV9LHVwZGF0ZTpmdW5jdGlvbiBjKHQpe2NvbnN0IG49dC5hdHRyaWJ1dGVzO2Zvcihjb25zdCB0IGluIG4pZS51cGRhdGUoblt0XSwzNDk2Mik7Y29uc3QgaT10Lm1vcnBoQXR0cmlidXRlcztmb3IoY29uc3QgdCBpbiBpKXtjb25zdCBuPWlbdF07Zm9yKGxldCB0PTAsaT1uLmxlbmd0aDt0PGk7dCsrKWUudXBkYXRlKG5bdF0sMzQ5NjIpfX0sZ2V0V2lyZWZyYW1lQXR0cmlidXRlOmZ1bmN0aW9uIHUodCl7Y29uc3QgZT1vLmdldCh0KTtpZihlKXtjb25zdCBuPXQuaW5kZXg7bnVsbCE9PW4mJmUudmVyc2lvbjxuLnZlcnNpb24mJnModCl9ZWxzZSBzKHQpO3JldHVybiBvLmdldCh0KX19fWZ1bmN0aW9uIG85dCh0LGUsbixpKXtjb25zdCByPWkuaXNXZWJHTDI7bGV0IG8sYSxzO3RoaXMuc2V0TW9kZT1mdW5jdGlvbiBsKHQpe289dH0sdGhpcy5zZXRJbmRleD1mdW5jdGlvbiBjKHQpe2E9dC50eXBlLHM9dC5ieXRlc1BlckVsZW1lbnR9LHRoaXMucmVuZGVyPWZ1bmN0aW9uIHUoZSxpKXt0LmRyYXdFbGVtZW50cyhvLGksYSxlKnMpLG4udXBkYXRlKGksbywxKX0sdGhpcy5yZW5kZXJJbnN0YW5jZXM9ZnVuY3Rpb24gaChpLGwsYyl7aWYoMD09PWMpcmV0dXJuO2xldCB1LGg7aWYocil1PXQsaD0iZHJhd0VsZW1lbnRzSW5zdGFuY2VkIjtlbHNlIGlmKHU9ZS5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSxoPSJkcmF3RWxlbWVudHNJbnN0YW5jZWRBTkdMRSIsbnVsbD09PXUpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xJbmRleGVkQnVmZmVyUmVuZGVyZXI6IHVzaW5nIFRIUkVFLkluc3RhbmNlZEJ1ZmZlckdlb21ldHJ5IGJ1dCBoYXJkd2FyZSBkb2VzIG5vdCBzdXBwb3J0IGV4dGVuc2lvbiBBTkdMRV9pbnN0YW5jZWRfYXJyYXlzLiIpO3VbaF0obyxsLGEsaSpzLGMpLG4udXBkYXRlKGwsbyxjKX19ZnVuY3Rpb24gYTl0KHQpe2NvbnN0IGU9e2ZyYW1lOjAsY2FsbHM6MCx0cmlhbmdsZXM6MCxwb2ludHM6MCxsaW5lczowfTtyZXR1cm57bWVtb3J5OntnZW9tZXRyaWVzOjAsdGV4dHVyZXM6MH0scmVuZGVyOmUscHJvZ3JhbXM6bnVsbCxhdXRvUmVzZXQ6ITAscmVzZXQ6ZnVuY3Rpb24gbigpe2UuZnJhbWUrKyxlLmNhbGxzPTAsZS50cmlhbmdsZXM9MCxlLnBvaW50cz0wLGUubGluZXM9MH0sdXBkYXRlOmZ1bmN0aW9uIGkodCxuLHIpe3N3aXRjaChlLmNhbGxzKyssbil7Y2FzZSA0OmUudHJpYW5nbGVzKz1yKih0LzMpO2JyZWFrO2Nhc2UgMTplLmxpbmVzKz1yKih0LzIpO2JyZWFrO2Nhc2UgMzplLmxpbmVzKz1yKih0LTEpO2JyZWFrO2Nhc2UgMjplLmxpbmVzKz1yKnQ7YnJlYWs7Y2FzZSAwOmUucG9pbnRzKz1yKnQ7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTEluZm86IFVua25vd24gZHJhdyBtb2RlOiIsbil9fX19ZnVuY3Rpb24gczl0KHQsZSl7cmV0dXJuIHRbMF0tZVswXX1mdW5jdGlvbiBsOXQodCxlKXtyZXR1cm4gTWF0aC5hYnMoZVsxXSktTWF0aC5hYnModFsxXSl9ZnVuY3Rpb24gYzl0KHQpe2NvbnN0IGU9e30sbj1uZXcgRmxvYXQzMkFycmF5KDgpLGk9W107Zm9yKGxldCB0PTA7dDw4O3QrKylpW3RdPVt0LDBdO3JldHVybnt1cGRhdGU6ZnVuY3Rpb24gcihvLGEscyxsKXtjb25zdCBjPW8ubW9ycGhUYXJnZXRJbmZsdWVuY2VzLHU9dm9pZCAwPT09Yz8wOmMubGVuZ3RoO2xldCBoPWVbYS5pZF07aWYodm9pZCAwPT09aHx8aC5sZW5ndGghPT11KXtoPVtdO2ZvcihsZXQgdD0wO3Q8dTt0KyspaFt0XT1bdCwwXTtlW2EuaWRdPWh9Zm9yKGxldCB0PTA7dDx1O3QrKyl7Y29uc3QgZT1oW3RdO2VbMF09dCxlWzFdPWNbdF19aC5zb3J0KGw5dCk7Zm9yKGxldCB0PTA7dDw4O3QrKyl0PHUmJmhbdF1bMV0/KGlbdF1bMF09aFt0XVswXSxpW3RdWzFdPWhbdF1bMV0pOihpW3RdWzBdPU51bWJlci5NQVhfU0FGRV9JTlRFR0VSLGlbdF1bMV09MCk7aS5zb3J0KHM5dCk7Y29uc3QgZD1hLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbixwPWEubW9ycGhBdHRyaWJ1dGVzLm5vcm1hbDtsZXQgZj0wO2ZvcihsZXQgdD0wO3Q8ODt0Kyspe2NvbnN0IGU9aVt0XSxyPWVbMF0sbz1lWzFdO3IhPT1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUiYmbz8oZCYmYS5nZXRBdHRyaWJ1dGUoIm1vcnBoVGFyZ2V0Iit0KSE9PWRbcl0mJmEuc2V0QXR0cmlidXRlKCJtb3JwaFRhcmdldCIrdCxkW3JdKSxwJiZhLmdldEF0dHJpYnV0ZSgibW9ycGhOb3JtYWwiK3QpIT09cFtyXSYmYS5zZXRBdHRyaWJ1dGUoIm1vcnBoTm9ybWFsIit0LHBbcl0pLG5bdF09byxmKz1vKTooZCYmITA9PT1hLmhhc0F0dHJpYnV0ZSgibW9ycGhUYXJnZXQiK3QpJiZhLmRlbGV0ZUF0dHJpYnV0ZSgibW9ycGhUYXJnZXQiK3QpLHAmJiEwPT09YS5oYXNBdHRyaWJ1dGUoIm1vcnBoTm9ybWFsIit0KSYmYS5kZWxldGVBdHRyaWJ1dGUoIm1vcnBoTm9ybWFsIit0KSxuW3RdPTApfWNvbnN0IG09YS5tb3JwaFRhcmdldHNSZWxhdGl2ZT8xOjEtZjtsLmdldFVuaWZvcm1zKCkuc2V0VmFsdWUodCwibW9ycGhUYXJnZXRCYXNlSW5mbHVlbmNlIixtKSxsLmdldFVuaWZvcm1zKCkuc2V0VmFsdWUodCwibW9ycGhUYXJnZXRJbmZsdWVuY2VzIixuKX19fWZ1bmN0aW9uIHU5dCh0LGUsbixpKXtsZXQgcj1uZXcgV2Vha01hcDtmdW5jdGlvbiBvKHQpe2NvbnN0IGU9dC50YXJnZXQ7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixvKSxuLnJlbW92ZShlLmluc3RhbmNlTWF0cml4KSxudWxsIT09ZS5pbnN0YW5jZUNvbG9yJiZuLnJlbW92ZShlLmluc3RhbmNlQ29sb3IpfXJldHVybnt1cGRhdGU6ZnVuY3Rpb24gYSh0KXtjb25zdCBhPWkucmVuZGVyLmZyYW1lLHM9ZS5nZXQodCx0Lmdlb21ldHJ5KTtyZXR1cm4gci5nZXQocykhPT1hJiYoZS51cGRhdGUocyksci5zZXQocyxhKSksdC5pc0luc3RhbmNlZE1lc2gmJighMT09PXQuaGFzRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsbykmJnQuYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsbyksbi51cGRhdGUodC5pbnN0YW5jZU1hdHJpeCwzNDk2MiksbnVsbCE9PXQuaW5zdGFuY2VDb2xvciYmbi51cGRhdGUodC5pbnN0YW5jZUNvbG9yLDM0OTYyKSksc30sZGlzcG9zZTpmdW5jdGlvbiBzKCl7cj1uZXcgV2Vha01hcH19fWNsYXNzIGg5dCBleHRlbmRzIE41dHtjb25zdHJ1Y3Rvcih0PW51bGwsZT0xLG49MSxpPTEpe3N1cGVyKG51bGwpLHRoaXMuaW1hZ2U9e2RhdGE6dCx3aWR0aDplLGhlaWdodDpuLGRlcHRoOml9LHRoaXMubWFnRmlsdGVyPXUydCx0aGlzLm1pbkZpbHRlcj11MnQsdGhpcy53cmFwUj1sMnQsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITEsdGhpcy5mbGlwWT0hMSx0aGlzLnVucGFja0FsaWdubWVudD0xLHRoaXMubmVlZHNVcGRhdGU9ITB9fWg5dC5wcm90b3R5cGUuaXNEYXRhVGV4dHVyZTJEQXJyYXk9ITA7Y2xhc3MgZDl0IGV4dGVuZHMgTjV0e2NvbnN0cnVjdG9yKHQ9bnVsbCxlPTEsbj0xLGk9MSl7c3VwZXIobnVsbCksdGhpcy5pbWFnZT17ZGF0YTp0LHdpZHRoOmUsaGVpZ2h0Om4sZGVwdGg6aX0sdGhpcy5tYWdGaWx0ZXI9dTJ0LHRoaXMubWluRmlsdGVyPXUydCx0aGlzLndyYXBSPWwydCx0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMSx0aGlzLmZsaXBZPSExLHRoaXMudW5wYWNrQWxpZ25tZW50PTEsdGhpcy5uZWVkc1VwZGF0ZT0hMH19ZDl0LnByb3RvdHlwZS5pc0RhdGFUZXh0dXJlM0Q9ITA7Y29uc3QgcDl0PW5ldyBONXQsZjl0PW5ldyBoOXQsbTl0PW5ldyBkOXQsZzl0PW5ldyBzNnQsXzl0PVtdLHk5dD1bXSx2OXQ9bmV3IEZsb2F0MzJBcnJheSgxNiksYjl0PW5ldyBGbG9hdDMyQXJyYXkoOSkseDl0PW5ldyBGbG9hdDMyQXJyYXkoNCk7ZnVuY3Rpb24gdzl0KHQsZSxuKXtjb25zdCBpPXRbMF07aWYoaTw9MHx8aT4wKXJldHVybiB0O2NvbnN0IHI9ZSpuO2xldCBvPV85dFtyXTtpZih2b2lkIDA9PT1vJiYobz1uZXcgRmxvYXQzMkFycmF5KHIpLF85dFtyXT1vKSwwIT09ZSl7aS50b0FycmF5KG8sMCk7Zm9yKGxldCBpPTEscj0wO2khPT1lOysraSlyKz1uLHRbaV0udG9BcnJheShvLHIpfXJldHVybiBvfWZ1bmN0aW9uIFM5dCh0LGUpe2lmKHQubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBuPTAsaT10Lmxlbmd0aDtuPGk7bisrKWlmKHRbbl0hPT1lW25dKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIE05dCh0LGUpe2ZvcihsZXQgbj0wLGk9ZS5sZW5ndGg7bjxpO24rKyl0W25dPWVbbl19ZnVuY3Rpb24gRTl0KHQsZSl7bGV0IG49eTl0W2VdO3ZvaWQgMD09PW4mJihuPW5ldyBJbnQzMkFycmF5KGUpLHk5dFtlXT1uKTtmb3IobGV0IGk9MDtpIT09ZTsrK2kpbltpXT10LmFsbG9jYXRlVGV4dHVyZVVuaXQoKTtyZXR1cm4gbn1mdW5jdGlvbiBUOXQodCxlKXtjb25zdCBuPXRoaXMuY2FjaGU7blswXSE9PWUmJih0LnVuaWZvcm0xZih0aGlzLmFkZHIsZSksblswXT1lKX1mdW5jdGlvbiBDOXQodCxlKXtjb25zdCBuPXRoaXMuY2FjaGU7aWYodm9pZCAwIT09ZS54KW5bMF09PT1lLngmJm5bMV09PT1lLnl8fCh0LnVuaWZvcm0yZih0aGlzLmFkZHIsZS54LGUueSksblswXT1lLngsblsxXT1lLnkpO2Vsc2V7aWYoUzl0KG4sZSkpcmV0dXJuO3QudW5pZm9ybTJmdih0aGlzLmFkZHIsZSksTTl0KG4sZSl9fWZ1bmN0aW9uIEE5dCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtpZih2b2lkIDAhPT1lLngpblswXT09PWUueCYmblsxXT09PWUueSYmblsyXT09PWUuenx8KHQudW5pZm9ybTNmKHRoaXMuYWRkcixlLngsZS55LGUueiksblswXT1lLngsblsxXT1lLnksblsyXT1lLnopO2Vsc2UgaWYodm9pZCAwIT09ZS5yKW5bMF09PT1lLnImJm5bMV09PT1lLmcmJm5bMl09PT1lLmJ8fCh0LnVuaWZvcm0zZih0aGlzLmFkZHIsZS5yLGUuZyxlLmIpLG5bMF09ZS5yLG5bMV09ZS5nLG5bMl09ZS5iKTtlbHNle2lmKFM5dChuLGUpKXJldHVybjt0LnVuaWZvcm0zZnYodGhpcy5hZGRyLGUpLE05dChuLGUpfX1mdW5jdGlvbiBrOXQodCxlKXtjb25zdCBuPXRoaXMuY2FjaGU7aWYodm9pZCAwIT09ZS54KW5bMF09PT1lLngmJm5bMV09PT1lLnkmJm5bMl09PT1lLnomJm5bM109PT1lLnd8fCh0LnVuaWZvcm00Zih0aGlzLmFkZHIsZS54LGUueSxlLnosZS53KSxuWzBdPWUueCxuWzFdPWUueSxuWzJdPWUueixuWzNdPWUudyk7ZWxzZXtpZihTOXQobixlKSlyZXR1cm47dC51bmlmb3JtNGZ2KHRoaXMuYWRkcixlKSxNOXQobixlKX19ZnVuY3Rpb24gTDl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlLGk9ZS5lbGVtZW50cztpZih2b2lkIDA9PT1pKXtpZihTOXQobixlKSlyZXR1cm47dC51bmlmb3JtTWF0cml4MmZ2KHRoaXMuYWRkciwhMSxlKSxNOXQobixlKX1lbHNle2lmKFM5dChuLGkpKXJldHVybjt4OXQuc2V0KGkpLHQudW5pZm9ybU1hdHJpeDJmdih0aGlzLmFkZHIsITEseDl0KSxNOXQobixpKX19ZnVuY3Rpb24gUDl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlLGk9ZS5lbGVtZW50cztpZih2b2lkIDA9PT1pKXtpZihTOXQobixlKSlyZXR1cm47dC51bmlmb3JtTWF0cml4M2Z2KHRoaXMuYWRkciwhMSxlKSxNOXQobixlKX1lbHNle2lmKFM5dChuLGkpKXJldHVybjtiOXQuc2V0KGkpLHQudW5pZm9ybU1hdHJpeDNmdih0aGlzLmFkZHIsITEsYjl0KSxNOXQobixpKX19ZnVuY3Rpb24gTjl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlLGk9ZS5lbGVtZW50cztpZih2b2lkIDA9PT1pKXtpZihTOXQobixlKSlyZXR1cm47dC51bmlmb3JtTWF0cml4NGZ2KHRoaXMuYWRkciwhMSxlKSxNOXQobixlKX1lbHNle2lmKFM5dChuLGkpKXJldHVybjt2OXQuc2V0KGkpLHQudW5pZm9ybU1hdHJpeDRmdih0aGlzLmFkZHIsITEsdjl0KSxNOXQobixpKX19ZnVuY3Rpb24gSTl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO25bMF0hPT1lJiYodC51bmlmb3JtMWkodGhpcy5hZGRyLGUpLG5bMF09ZSl9ZnVuY3Rpb24gUjl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO1M5dChuLGUpfHwodC51bmlmb3JtMml2KHRoaXMuYWRkcixlKSxNOXQobixlKSl9ZnVuY3Rpb24gTzl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO1M5dChuLGUpfHwodC51bmlmb3JtM2l2KHRoaXMuYWRkcixlKSxNOXQobixlKSl9ZnVuY3Rpb24gejl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO1M5dChuLGUpfHwodC51bmlmb3JtNGl2KHRoaXMuYWRkcixlKSxNOXQobixlKSl9ZnVuY3Rpb24gRDl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO25bMF0hPT1lJiYodC51bmlmb3JtMXVpKHRoaXMuYWRkcixlKSxuWzBdPWUpfWZ1bmN0aW9uIEI5dCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtTOXQobixlKXx8KHQudW5pZm9ybTJ1aXYodGhpcy5hZGRyLGUpLE05dChuLGUpKX1mdW5jdGlvbiBIOXQodCxlKXtjb25zdCBuPXRoaXMuY2FjaGU7Uzl0KG4sZSl8fCh0LnVuaWZvcm0zdWl2KHRoaXMuYWRkcixlKSxNOXQobixlKSl9ZnVuY3Rpb24gRjl0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO1M5dChuLGUpfHwodC51bmlmb3JtNHVpdih0aGlzLmFkZHIsZSksTTl0KG4sZSkpfWZ1bmN0aW9uIFY5dCh0LGUsbil7Y29uc3QgaT10aGlzLmNhY2hlLHI9bi5hbGxvY2F0ZVRleHR1cmVVbml0KCk7aVswXSE9PXImJih0LnVuaWZvcm0xaSh0aGlzLmFkZHIsciksaVswXT1yKSxuLnNhZmVTZXRUZXh0dXJlMkQoZXx8cDl0LHIpfWZ1bmN0aW9uIFU5dCh0LGUsbil7Y29uc3QgaT10aGlzLmNhY2hlLHI9bi5hbGxvY2F0ZVRleHR1cmVVbml0KCk7aVswXSE9PXImJih0LnVuaWZvcm0xaSh0aGlzLmFkZHIsciksaVswXT1yKSxuLnNldFRleHR1cmUzRChlfHxtOXQscil9ZnVuY3Rpb24gajl0KHQsZSxuKXtjb25zdCBpPXRoaXMuY2FjaGUscj1uLmFsbG9jYXRlVGV4dHVyZVVuaXQoKTtpWzBdIT09ciYmKHQudW5pZm9ybTFpKHRoaXMuYWRkcixyKSxpWzBdPXIpLG4uc2FmZVNldFRleHR1cmVDdWJlKGV8fGc5dCxyKX1mdW5jdGlvbiBHOXQodCxlLG4pe2NvbnN0IGk9dGhpcy5jYWNoZSxyPW4uYWxsb2NhdGVUZXh0dXJlVW5pdCgpO2lbMF0hPT1yJiYodC51bmlmb3JtMWkodGhpcy5hZGRyLHIpLGlbMF09ciksbi5zZXRUZXh0dXJlMkRBcnJheShlfHxmOXQscil9ZnVuY3Rpb24gVzl0KHQsZSl7dC51bmlmb3JtMWZ2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBxOXQodCxlKXtjb25zdCBuPXc5dChlLHRoaXMuc2l6ZSwyKTt0LnVuaWZvcm0yZnYodGhpcy5hZGRyLG4pfWZ1bmN0aW9uIFk5dCh0LGUpe2NvbnN0IG49dzl0KGUsdGhpcy5zaXplLDMpO3QudW5pZm9ybTNmdih0aGlzLmFkZHIsbil9ZnVuY3Rpb24gWDl0KHQsZSl7Y29uc3Qgbj13OXQoZSx0aGlzLnNpemUsNCk7dC51bmlmb3JtNGZ2KHRoaXMuYWRkcixuKX1mdW5jdGlvbiAkOXQodCxlKXtjb25zdCBuPXc5dChlLHRoaXMuc2l6ZSw0KTt0LnVuaWZvcm1NYXRyaXgyZnYodGhpcy5hZGRyLCExLG4pfWZ1bmN0aW9uIEs5dCh0LGUpe2NvbnN0IG49dzl0KGUsdGhpcy5zaXplLDkpO3QudW5pZm9ybU1hdHJpeDNmdih0aGlzLmFkZHIsITEsbil9ZnVuY3Rpb24gWjl0KHQsZSl7Y29uc3Qgbj13OXQoZSx0aGlzLnNpemUsMTYpO3QudW5pZm9ybU1hdHJpeDRmdih0aGlzLmFkZHIsITEsbil9ZnVuY3Rpb24gSjl0KHQsZSl7dC51bmlmb3JtMWl2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBROXQodCxlKXt0LnVuaWZvcm0yaXYodGhpcy5hZGRyLGUpfWZ1bmN0aW9uIHQ4dCh0LGUpe3QudW5pZm9ybTNpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gZTh0KHQsZSl7dC51bmlmb3JtNGl2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBuOHQodCxlKXt0LnVuaWZvcm0xdWl2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBpOHQodCxlKXt0LnVuaWZvcm0ydWl2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiByOHQodCxlKXt0LnVuaWZvcm0zdWl2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBvOHQodCxlKXt0LnVuaWZvcm00dWl2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBhOHQodCxlLG4pe2NvbnN0IGk9ZS5sZW5ndGgscj1FOXQobixpKTt0LnVuaWZvcm0xaXYodGhpcy5hZGRyLHIpO2ZvcihsZXQgdD0wO3QhPT1pOysrdCluLnNhZmVTZXRUZXh0dXJlMkQoZVt0XXx8cDl0LHJbdF0pfWZ1bmN0aW9uIHM4dCh0LGUsbil7Y29uc3QgaT1lLmxlbmd0aCxyPUU5dChuLGkpO3QudW5pZm9ybTFpdih0aGlzLmFkZHIscik7Zm9yKGxldCB0PTA7dCE9PWk7Kyt0KW4uc2FmZVNldFRleHR1cmVDdWJlKGVbdF18fGc5dCxyW3RdKX1mdW5jdGlvbiBsOHQodCxlLG4pe3RoaXMuaWQ9dCx0aGlzLmFkZHI9bix0aGlzLmNhY2hlPVtdLHRoaXMuc2V0VmFsdWU9KGZ1bmN0aW9uIGkodCl7c3dpdGNoKHQpe2Nhc2UgNTEyNjpyZXR1cm4gVDl0O2Nhc2UgMzU2NjQ6cmV0dXJuIEM5dDtjYXNlIDM1NjY1OnJldHVybiBBOXQ7Y2FzZSAzNTY2NjpyZXR1cm4gazl0O2Nhc2UgMzU2NzQ6cmV0dXJuIEw5dDtjYXNlIDM1Njc1OnJldHVybiBQOXQ7Y2FzZSAzNTY3NjpyZXR1cm4gTjl0O2Nhc2UgNTEyNDpjYXNlIDM1NjcwOnJldHVybiBJOXQ7Y2FzZSAzNTY2NzpjYXNlIDM1NjcxOnJldHVybiBSOXQ7Y2FzZSAzNTY2ODpjYXNlIDM1NjcyOnJldHVybiBPOXQ7Y2FzZSAzNTY2OTpjYXNlIDM1NjczOnJldHVybiB6OXQ7Y2FzZSA1MTI1OnJldHVybiBEOXQ7Y2FzZSAzNjI5NDpyZXR1cm4gQjl0O2Nhc2UgMzYyOTU6cmV0dXJuIEg5dDtjYXNlIDM2Mjk2OnJldHVybiBGOXQ7Y2FzZSAzNTY3ODpjYXNlIDM2MTk4OmNhc2UgMzYyOTg6Y2FzZSAzNjMwNjpjYXNlIDM1NjgyOnJldHVybiBWOXQ7Y2FzZSAzNTY3OTpjYXNlIDM2Mjk5OmNhc2UgMzYzMDc6cmV0dXJuIFU5dDtjYXNlIDM1NjgwOmNhc2UgMzYzMDA6Y2FzZSAzNjMwODpjYXNlIDM2MjkzOnJldHVybiBqOXQ7Y2FzZSAzNjI4OTpjYXNlIDM2MzAzOmNhc2UgMzYzMTE6Y2FzZSAzNjI5MjpyZXR1cm4gRzl0fX0pKGUudHlwZSl9ZnVuY3Rpb24gYzh0KHQsZSxuKXt0aGlzLmlkPXQsdGhpcy5hZGRyPW4sdGhpcy5jYWNoZT1bXSx0aGlzLnNpemU9ZS5zaXplLHRoaXMuc2V0VmFsdWU9KGZ1bmN0aW9uIGkodCl7c3dpdGNoKHQpe2Nhc2UgNTEyNjpyZXR1cm4gVzl0O2Nhc2UgMzU2NjQ6cmV0dXJuIHE5dDtjYXNlIDM1NjY1OnJldHVybiBZOXQ7Y2FzZSAzNTY2NjpyZXR1cm4gWDl0O2Nhc2UgMzU2NzQ6cmV0dXJuICQ5dDtjYXNlIDM1Njc1OnJldHVybiBLOXQ7Y2FzZSAzNTY3NjpyZXR1cm4gWjl0O2Nhc2UgNTEyNDpjYXNlIDM1NjcwOnJldHVybiBKOXQ7Y2FzZSAzNTY2NzpjYXNlIDM1NjcxOnJldHVybiBROXQ7Y2FzZSAzNTY2ODpjYXNlIDM1NjcyOnJldHVybiB0OHQ7Y2FzZSAzNTY2OTpjYXNlIDM1NjczOnJldHVybiBlOHQ7Y2FzZSA1MTI1OnJldHVybiBuOHQ7Y2FzZSAzNjI5NDpyZXR1cm4gaTh0O2Nhc2UgMzYyOTU6cmV0dXJuIHI4dDtjYXNlIDM2Mjk2OnJldHVybiBvOHQ7Y2FzZSAzNTY3ODpjYXNlIDM2MTk4OmNhc2UgMzYyOTg6Y2FzZSAzNjMwNjpjYXNlIDM1NjgyOnJldHVybiBhOHQ7Y2FzZSAzNTY4MDpjYXNlIDM2MzAwOmNhc2UgMzYzMDg6Y2FzZSAzNjI5MzpyZXR1cm4gczh0fX0pKGUudHlwZSl9ZnVuY3Rpb24gdTh0KHQpe3RoaXMuaWQ9dCx0aGlzLnNlcT1bXSx0aGlzLm1hcD17fX1jOHQucHJvdG90eXBlLnVwZGF0ZUNhY2hlPWZ1bmN0aW9uKHQpe2NvbnN0IGU9dGhpcy5jYWNoZTt0IGluc3RhbmNlb2YgRmxvYXQzMkFycmF5JiZlLmxlbmd0aCE9PXQubGVuZ3RoJiYodGhpcy5jYWNoZT1uZXcgRmxvYXQzMkFycmF5KHQubGVuZ3RoKSksTTl0KGUsdCl9LHU4dC5wcm90b3R5cGUuc2V0VmFsdWU9ZnVuY3Rpb24odCxlLG4pe2NvbnN0IGk9dGhpcy5zZXE7Zm9yKGxldCByPTAsbz1pLmxlbmd0aDtyIT09bzsrK3Ipe2NvbnN0IG89aVtyXTtvLnNldFZhbHVlKHQsZVtvLmlkXSxuKX19O2NvbnN0IGg4dD0vKFx3KykoXF0pPyhcW3xcLik/L2c7ZnVuY3Rpb24gZDh0KHQsZSl7dC5zZXEucHVzaChlKSx0Lm1hcFtlLmlkXT1lfWZ1bmN0aW9uIHA4dCh0LGUsbil7Y29uc3QgaT10Lm5hbWUscj1pLmxlbmd0aDtmb3IoaDh0Lmxhc3RJbmRleD0wOzspe2NvbnN0IG89aDh0LmV4ZWMoaSksYT1oOHQubGFzdEluZGV4O2xldCBzPW9bMV07Y29uc3QgbD1vWzNdO2lmKCJdIj09PW9bMl0mJihzfD0wKSx2b2lkIDA9PT1sfHwiWyI9PT1sJiZhKzI9PT1yKXtkOHQobix2b2lkIDA9PT1sP25ldyBsOHQocyx0LGUpOm5ldyBjOHQocyx0LGUpKTticmVha317bGV0IHQ9bi5tYXBbc107dm9pZCAwPT09dCYmKHQ9bmV3IHU4dChzKSxkOHQobix0KSksbj10fX19ZnVuY3Rpb24gZjh0KHQsZSl7dGhpcy5zZXE9W10sdGhpcy5tYXA9e307Y29uc3Qgbj10LmdldFByb2dyYW1QYXJhbWV0ZXIoZSwzNTcxOCk7Zm9yKGxldCBpPTA7aTxuOysraSl7Y29uc3Qgbj10LmdldEFjdGl2ZVVuaWZvcm0oZSxpKTtwOHQobix0LmdldFVuaWZvcm1Mb2NhdGlvbihlLG4ubmFtZSksdGhpcyl9fWZ1bmN0aW9uIG04dCh0LGUsbil7Y29uc3QgaT10LmNyZWF0ZVNoYWRlcihlKTtyZXR1cm4gdC5zaGFkZXJTb3VyY2UoaSxuKSx0LmNvbXBpbGVTaGFkZXIoaSksaX1mOHQucHJvdG90eXBlLnNldFZhbHVlPWZ1bmN0aW9uKHQsZSxuLGkpe2NvbnN0IHI9dGhpcy5tYXBbZV07dm9pZCAwIT09ciYmci5zZXRWYWx1ZSh0LG4saSl9LGY4dC5wcm90b3R5cGUuc2V0T3B0aW9uYWw9ZnVuY3Rpb24odCxlLG4pe2NvbnN0IGk9ZVtuXTt2b2lkIDAhPT1pJiZ0aGlzLnNldFZhbHVlKHQsbixpKX0sZjh0LnVwbG9hZD1mdW5jdGlvbih0LGUsbixpKXtmb3IobGV0IHI9MCxvPWUubGVuZ3RoO3IhPT1vOysrcil7Y29uc3Qgbz1lW3JdLGE9bltvLmlkXTshMSE9PWEubmVlZHNVcGRhdGUmJm8uc2V0VmFsdWUodCxhLnZhbHVlLGkpfX0sZjh0LnNlcVdpdGhWYWx1ZT1mdW5jdGlvbih0LGUpe2NvbnN0IG49W107Zm9yKGxldCBpPTAscj10Lmxlbmd0aDtpIT09cjsrK2kpe2NvbnN0IHI9dFtpXTtyLmlkIGluIGUmJm4ucHVzaChyKX1yZXR1cm4gbn07bGV0IGc4dD0wO2Z1bmN0aW9uIF84dCh0KXtzd2l0Y2godCl7Y2FzZSBHMnQ6cmV0dXJuWyJMaW5lYXIiLCIoIHZhbHVlICkiXTtjYXNlIFcydDpyZXR1cm5bInNSR0IiLCIoIHZhbHVlICkiXTtjYXNlIFkydDpyZXR1cm5bIlJHQkUiLCIoIHZhbHVlICkiXTtjYXNlIFgydDpyZXR1cm5bIlJHQk0iLCIoIHZhbHVlLCA3LjAgKSJdO2Nhc2UgJDJ0OnJldHVyblsiUkdCTSIsIiggdmFsdWUsIDE2LjAgKSJdO2Nhc2UgSzJ0OnJldHVyblsiUkdCRCIsIiggdmFsdWUsIDI1Ni4wICkiXTtjYXNlIHEydDpyZXR1cm5bIkdhbW1hIiwiKCB2YWx1ZSwgZmxvYXQoIEdBTU1BX0ZBQ1RPUiApICkiXTtjYXNlIDMwMDM6cmV0dXJuWyJMb2dMdXYiLCIoIHZhbHVlICkiXTtkZWZhdWx0OnJldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUHJvZ3JhbTogVW5zdXBwb3J0ZWQgZW5jb2Rpbmc6Iix0KSxbIkxpbmVhciIsIiggdmFsdWUgKSJdfX1mdW5jdGlvbiB5OHQodCxlLG4pe2NvbnN0IGk9dC5nZXRTaGFkZXJQYXJhbWV0ZXIoZSwzNTcxMykscj10LmdldFNoYWRlckluZm9Mb2coZSkudHJpbSgpO2lmKGkmJiIiPT09cilyZXR1cm4iIjtyZXR1cm4iVEhSRUUuV2ViR0xTaGFkZXI6IGdsLmdldFNoYWRlckluZm9Mb2coKSAiK24rIlxuIityKyhmdW5jdGlvbiBvKHQpe2NvbnN0IGU9dC5zcGxpdCgiXG4iKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdPXQrMSsiOiAiK2VbdF07cmV0dXJuIGUuam9pbigiXG4iKX0pKHQuZ2V0U2hhZGVyU291cmNlKGUpKX1mdW5jdGlvbiB2OHQodCxlKXtjb25zdCBuPV84dChlKTtyZXR1cm4idmVjNCAiK3QrIiggdmVjNCB2YWx1ZSApIHsgcmV0dXJuICIrblswXSsiVG9MaW5lYXIiK25bMV0rIjsgfSJ9ZnVuY3Rpb24gYjh0KHQsZSl7Y29uc3Qgbj1fOHQoZSk7cmV0dXJuInZlYzQgIit0KyIoIHZlYzQgdmFsdWUgKSB7IHJldHVybiBMaW5lYXJUbyIrblswXStuWzFdKyI7IH0ifWZ1bmN0aW9uIHg4dCh0LGUpe2xldCBuO3N3aXRjaChlKXtjYXNlIDE6bj0iTGluZWFyIjticmVhaztjYXNlIDI6bj0iUmVpbmhhcmQiO2JyZWFrO2Nhc2UgMzpuPSJPcHRpbWl6ZWRDaW5lb24iO2JyZWFrO2Nhc2UgNDpuPSJBQ0VTRmlsbWljIjticmVhaztjYXNlIDU6bj0iQ3VzdG9tIjticmVhaztkZWZhdWx0OmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xQcm9ncmFtOiBVbnN1cHBvcnRlZCB0b25lTWFwcGluZzoiLGUpLG49IkxpbmVhciJ9cmV0dXJuInZlYzMgIit0KyIoIHZlYzMgY29sb3IgKSB7IHJldHVybiAiK24rIlRvbmVNYXBwaW5nKCBjb2xvciApOyB9In1mdW5jdGlvbiB3OHQodCl7cmV0dXJuIiIhPT10fWZ1bmN0aW9uIFM4dCh0LGUpe3JldHVybiB0LnJlcGxhY2UoL05VTV9ESVJfTElHSFRTL2csZS5udW1EaXJMaWdodHMpLnJlcGxhY2UoL05VTV9TUE9UX0xJR0hUUy9nLGUubnVtU3BvdExpZ2h0cykucmVwbGFjZSgvTlVNX1JFQ1RfQVJFQV9MSUdIVFMvZyxlLm51bVJlY3RBcmVhTGlnaHRzKS5yZXBsYWNlKC9OVU1fUE9JTlRfTElHSFRTL2csZS5udW1Qb2ludExpZ2h0cykucmVwbGFjZSgvTlVNX0hFTUlfTElHSFRTL2csZS5udW1IZW1pTGlnaHRzKS5yZXBsYWNlKC9OVU1fRElSX0xJR0hUX1NIQURPV1MvZyxlLm51bURpckxpZ2h0U2hhZG93cykucmVwbGFjZSgvTlVNX1NQT1RfTElHSFRfU0hBRE9XUy9nLGUubnVtU3BvdExpZ2h0U2hhZG93cykucmVwbGFjZSgvTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MvZyxlLm51bVBvaW50TGlnaHRTaGFkb3dzKX1mdW5jdGlvbiBNOHQodCxlKXtyZXR1cm4gdC5yZXBsYWNlKC9OVU1fQ0xJUFBJTkdfUExBTkVTL2csZS5udW1DbGlwcGluZ1BsYW5lcykucmVwbGFjZSgvVU5JT05fQ0xJUFBJTkdfUExBTkVTL2csZS5udW1DbGlwcGluZ1BsYW5lcy1lLm51bUNsaXBJbnRlcnNlY3Rpb24pfWNvbnN0IEU4dD0vXlsgXHRdKiNpbmNsdWRlICs8KFtcd1xkLi9dKyk+L2dtO2Z1bmN0aW9uIFQ4dCh0KXtyZXR1cm4gdC5yZXBsYWNlKEU4dCxDOHQpfWZ1bmN0aW9uIEM4dCh0LGUpe2NvbnN0IG49djZ0W2VdO2lmKHZvaWQgMD09PW4pdGhyb3cgbmV3IEVycm9yKCJDYW4gbm90IHJlc29sdmUgI2luY2x1ZGUgPCIrZSsiPiIpO3JldHVybiBUOHQobil9Y29uc3QgQTh0PS8jcHJhZ21hIHVucm9sbF9sb29wW1xzXSs/Zm9yIFwoIGludCBpIFw9IChcZCspXDsgaSA8IChcZCspXDsgaSBcK1wrIFwpIFx7KFtcc1xTXSs/KSg/PVx9KVx9L2csazh0PS8jcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XHMrZm9yXHMqXChccyppbnRccytpXHMqPVxzKihcZCspXHMqO1xzKmlccyo8XHMqKFxkKylccyo7XHMqaVxzKlwrXCtccypcKVxzKnsoW1xzXFNdKz8pfVxzKyNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kL2c7ZnVuY3Rpb24gTDh0KHQpe3JldHVybiB0LnJlcGxhY2Uoazh0LE44dCkucmVwbGFjZShBOHQsUDh0KX1mdW5jdGlvbiBQOHQodCxlLG4saSl7cmV0dXJuIGNvbnNvbGUud2FybigiV2ViR0xQcm9ncmFtOiAjcHJhZ21hIHVucm9sbF9sb29wIHNoYWRlciBzeW50YXggaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSAjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0IHN5bnRheCBpbnN0ZWFkLiIpLE44dCh0LGUsbixpKX1mdW5jdGlvbiBOOHQodCxlLG4saSl7bGV0IHI9IiI7Zm9yKGxldCB0PXBhcnNlSW50KGUpO3Q8cGFyc2VJbnQobik7dCsrKXIrPWkucmVwbGFjZSgvXFtccyppXHMqXF0vZywiWyAiK3QrIiBdIikucmVwbGFjZSgvVU5ST0xMRURfTE9PUF9JTkRFWC9nLHQpO3JldHVybiByfWZ1bmN0aW9uIEk4dCh0KXtsZXQgZT0icHJlY2lzaW9uICIrdC5wcmVjaXNpb24rIiBmbG9hdDtcbnByZWNpc2lvbiAiK3QucHJlY2lzaW9uKyIgaW50OyI7cmV0dXJuImhpZ2hwIj09PXQucHJlY2lzaW9uP2UrPSJcbiNkZWZpbmUgSElHSF9QUkVDSVNJT04iOiJtZWRpdW1wIj09PXQucHJlY2lzaW9uP2UrPSJcbiNkZWZpbmUgTUVESVVNX1BSRUNJU0lPTiI6Imxvd3AiPT09dC5wcmVjaXNpb24mJihlKz0iXG4jZGVmaW5lIExPV19QUkVDSVNJT04iKSxlfWZ1bmN0aW9uIFI4dCh0LGUsbixpKXtjb25zdCByPXQuZ2V0Q29udGV4dCgpLG89bi5kZWZpbmVzO2xldCBhPW4udmVydGV4U2hhZGVyLHM9bi5mcmFnbWVudFNoYWRlcjtjb25zdCBsPShmdW5jdGlvbiBjKHQpe2xldCBlPSJTSEFET1dNQVBfVFlQRV9CQVNJQyI7cmV0dXJuIDE9PT10LnNoYWRvd01hcFR5cGU/ZT0iU0hBRE9XTUFQX1RZUEVfUENGIjoyPT09dC5zaGFkb3dNYXBUeXBlP2U9IlNIQURPV01BUF9UWVBFX1BDRl9TT0ZUIjozPT09dC5zaGFkb3dNYXBUeXBlJiYoZT0iU0hBRE9XTUFQX1RZUEVfVlNNIiksZX0pKG4pLHU9KGZ1bmN0aW9uIGgodCl7bGV0IGU9IkVOVk1BUF9UWVBFX0NVQkUiO2lmKHQuZW52TWFwKXN3aXRjaCh0LmVudk1hcE1vZGUpe2Nhc2UgZTJ0OmNhc2UgbjJ0OmU9IkVOVk1BUF9UWVBFX0NVQkUiO2JyZWFrO2Nhc2UgbzJ0OmNhc2UgYTJ0OmU9IkVOVk1BUF9UWVBFX0NVQkVfVVYifXJldHVybiBlfSkobiksZD0oZnVuY3Rpb24gcCh0KXtsZXQgZT0iRU5WTUFQX01PREVfUkVGTEVDVElPTiI7aWYodC5lbnZNYXApc3dpdGNoKHQuZW52TWFwTW9kZSl7Y2FzZSBuMnQ6Y2FzZSBhMnQ6ZT0iRU5WTUFQX01PREVfUkVGUkFDVElPTiJ9cmV0dXJuIGV9KShuKSxmPShmdW5jdGlvbiBtKHQpe2xldCBlPSJFTlZNQVBfQkxFTkRJTkdfTk9ORSI7aWYodC5lbnZNYXApc3dpdGNoKHQuY29tYmluZSl7Y2FzZSAwOmU9IkVOVk1BUF9CTEVORElOR19NVUxUSVBMWSI7YnJlYWs7Y2FzZSAxOmU9IkVOVk1BUF9CTEVORElOR19NSVgiO2JyZWFrO2Nhc2UgMjplPSJFTlZNQVBfQkxFTkRJTkdfQUREIn1yZXR1cm4gZX0pKG4pLGc9dC5nYW1tYUZhY3Rvcj4wP3QuZ2FtbWFGYWN0b3I6MSxfPW4uaXNXZWJHTDI/IiI6KGZ1bmN0aW9uIHkodCl7cmV0dXJuW3QuZXh0ZW5zaW9uRGVyaXZhdGl2ZXN8fHQuZW52TWFwQ3ViZVVWfHx0LmJ1bXBNYXB8fHQudGFuZ2VudFNwYWNlTm9ybWFsTWFwfHx0LmNsZWFyY29hdE5vcm1hbE1hcHx8dC5mbGF0U2hhZGluZ3x8InBoeXNpY2FsIj09PXQuc2hhZGVySUQ/IiNleHRlbnNpb24gR0xfT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzIDogZW5hYmxlIjoiIiwodC5leHRlbnNpb25GcmFnRGVwdGh8fHQubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcikmJnQucmVuZGVyZXJFeHRlbnNpb25GcmFnRGVwdGg/IiNleHRlbnNpb24gR0xfRVhUX2ZyYWdfZGVwdGggOiBlbmFibGUiOiIiLHQuZXh0ZW5zaW9uRHJhd0J1ZmZlcnMmJnQucmVuZGVyZXJFeHRlbnNpb25EcmF3QnVmZmVycz8iI2V4dGVuc2lvbiBHTF9FWFRfZHJhd19idWZmZXJzIDogcmVxdWlyZSI6IiIsKHQuZXh0ZW5zaW9uU2hhZGVyVGV4dHVyZUxPRHx8dC5lbnZNYXB8fHQudHJhbnNtaXNzaW9uPjApJiZ0LnJlbmRlcmVyRXh0ZW5zaW9uU2hhZGVyVGV4dHVyZUxvZD8iI2V4dGVuc2lvbiBHTF9FWFRfc2hhZGVyX3RleHR1cmVfbG9kIDogZW5hYmxlIjoiIl0uZmlsdGVyKHc4dCkuam9pbigiXG4iKX0pKG4pLHY9KGZ1bmN0aW9uIGIodCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgbiBpbiB0KXtjb25zdCBpPXRbbl07ITEhPT1pJiZlLnB1c2goIiNkZWZpbmUgIituKyIgIitpKX1yZXR1cm4gZS5qb2luKCJcbiIpfSkobykseD1yLmNyZWF0ZVByb2dyYW0oKTtsZXQgdyxTLE09bi5nbHNsVmVyc2lvbj8iI3ZlcnNpb24gIituLmdsc2xWZXJzaW9uKyJcbiI6IiI7bi5pc1Jhd1NoYWRlck1hdGVyaWFsPyh3PVt2XS5maWx0ZXIodzh0KS5qb2luKCJcbiIpLHcubGVuZ3RoPjAmJih3Kz0iXG4iKSxTPVtfLHZdLmZpbHRlcih3OHQpLmpvaW4oIlxuIiksUy5sZW5ndGg+MCYmKFMrPSJcbiIpKToodz1bSTh0KG4pLCIjZGVmaW5lIFNIQURFUl9OQU1FICIrbi5zaGFkZXJOYW1lLHYsbi5pbnN0YW5jaW5nPyIjZGVmaW5lIFVTRV9JTlNUQU5DSU5HIjoiIixuLmluc3RhbmNpbmdDb2xvcj8iI2RlZmluZSBVU0VfSU5TVEFOQ0lOR19DT0xPUiI6IiIsbi5zdXBwb3J0c1ZlcnRleFRleHR1cmVzPyIjZGVmaW5lIFZFUlRFWF9URVhUVVJFUyI6IiIsIiNkZWZpbmUgR0FNTUFfRkFDVE9SICIrZywiI2RlZmluZSBNQVhfQk9ORVMgIituLm1heEJvbmVzLG4udXNlRm9nJiZuLmZvZz8iI2RlZmluZSBVU0VfRk9HIjoiIixuLnVzZUZvZyYmbi5mb2dFeHAyPyIjZGVmaW5lIEZPR19FWFAyIjoiIixuLm1hcD8iI2RlZmluZSBVU0VfTUFQIjoiIixuLmVudk1hcD8iI2RlZmluZSBVU0VfRU5WTUFQIjoiIixuLmVudk1hcD8iI2RlZmluZSAiK2Q6IiIsbi5saWdodE1hcD8iI2RlZmluZSBVU0VfTElHSFRNQVAiOiIiLG4uYW9NYXA/IiNkZWZpbmUgVVNFX0FPTUFQIjoiIixuLmVtaXNzaXZlTWFwPyIjZGVmaW5lIFVTRV9FTUlTU0lWRU1BUCI6IiIsbi5idW1wTWFwPyIjZGVmaW5lIFVTRV9CVU1QTUFQIjoiIixuLm5vcm1hbE1hcD8iI2RlZmluZSBVU0VfTk9STUFMTUFQIjoiIixuLm5vcm1hbE1hcCYmbi5vYmplY3RTcGFjZU5vcm1hbE1hcD8iI2RlZmluZSBPQkpFQ1RTUEFDRV9OT1JNQUxNQVAiOiIiLG4ubm9ybWFsTWFwJiZuLnRhbmdlbnRTcGFjZU5vcm1hbE1hcD8iI2RlZmluZSBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQIjoiIixuLmNsZWFyY29hdE1hcD8iI2RlZmluZSBVU0VfQ0xFQVJDT0FUTUFQIjoiIixuLmNsZWFyY29hdFJvdWdobmVzc01hcD8iI2RlZmluZSBVU0VfQ0xFQVJDT0FUX1JPVUdITkVTU01BUCI6IiIsbi5jbGVhcmNvYXROb3JtYWxNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVAiOiIiLG4uZGlzcGxhY2VtZW50TWFwJiZuLnN1cHBvcnRzVmVydGV4VGV4dHVyZXM/IiNkZWZpbmUgVVNFX0RJU1BMQUNFTUVOVE1BUCI6IiIsbi5zcGVjdWxhck1hcD8iI2RlZmluZSBVU0VfU1BFQ1VMQVJNQVAiOiIiLG4uc3BlY3VsYXJJbnRlbnNpdHlNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSSU5URU5TSVRZTUFQIjoiIixuLnNwZWN1bGFyVGludE1hcD8iI2RlZmluZSBVU0VfU1BFQ1VMQVJUSU5UTUFQIjoiIixuLnJvdWdobmVzc01hcD8iI2RlZmluZSBVU0VfUk9VR0hORVNTTUFQIjoiIixuLm1ldGFsbmVzc01hcD8iI2RlZmluZSBVU0VfTUVUQUxORVNTTUFQIjoiIixuLmFscGhhTWFwPyIjZGVmaW5lIFVTRV9BTFBIQU1BUCI6IiIsbi50cmFuc21pc3Npb24/IiNkZWZpbmUgVVNFX1RSQU5TTUlTU0lPTiI6IiIsbi50cmFuc21pc3Npb25NYXA/IiNkZWZpbmUgVVNFX1RSQU5TTUlTU0lPTk1BUCI6IiIsbi50aGlja25lc3NNYXA/IiNkZWZpbmUgVVNFX1RISUNLTkVTU01BUCI6IiIsbi52ZXJ0ZXhUYW5nZW50cz8iI2RlZmluZSBVU0VfVEFOR0VOVCI6IiIsbi52ZXJ0ZXhDb2xvcnM/IiNkZWZpbmUgVVNFX0NPTE9SIjoiIixuLnZlcnRleEFscGhhcz8iI2RlZmluZSBVU0VfQ09MT1JfQUxQSEEiOiIiLG4udmVydGV4VXZzPyIjZGVmaW5lIFVTRV9VViI6IiIsbi51dnNWZXJ0ZXhPbmx5PyIjZGVmaW5lIFVWU19WRVJURVhfT05MWSI6IiIsbi5mbGF0U2hhZGluZz8iI2RlZmluZSBGTEFUX1NIQURFRCI6IiIsbi5za2lubmluZz8iI2RlZmluZSBVU0VfU0tJTk5JTkciOiIiLG4udXNlVmVydGV4VGV4dHVyZT8iI2RlZmluZSBCT05FX1RFWFRVUkUiOiIiLG4ubW9ycGhUYXJnZXRzPyIjZGVmaW5lIFVTRV9NT1JQSFRBUkdFVFMiOiIiLG4ubW9ycGhOb3JtYWxzJiYhMT09PW4uZmxhdFNoYWRpbmc/IiNkZWZpbmUgVVNFX01PUlBITk9STUFMUyI6IiIsbi5kb3VibGVTaWRlZD8iI2RlZmluZSBET1VCTEVfU0lERUQiOiIiLG4uZmxpcFNpZGVkPyIjZGVmaW5lIEZMSVBfU0lERUQiOiIiLG4uc2hhZG93TWFwRW5hYmxlZD8iI2RlZmluZSBVU0VfU0hBRE9XTUFQIjoiIixuLnNoYWRvd01hcEVuYWJsZWQ/IiNkZWZpbmUgIitsOiIiLG4uc2l6ZUF0dGVudWF0aW9uPyIjZGVmaW5lIFVTRV9TSVpFQVRURU5VQVRJT04iOiIiLG4ubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcj8iI2RlZmluZSBVU0VfTE9HREVQVEhCVUYiOiIiLG4ubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlciYmbi5yZW5kZXJlckV4dGVuc2lvbkZyYWdEZXB0aD8iI2RlZmluZSBVU0VfTE9HREVQVEhCVUZfRVhUIjoiIiwidW5pZm9ybSBtYXQ0IG1vZGVsTWF0cml4OyIsInVuaWZvcm0gbWF0NCBtb2RlbFZpZXdNYXRyaXg7IiwidW5pZm9ybSBtYXQ0IHByb2plY3Rpb25NYXRyaXg7IiwidW5pZm9ybSBtYXQ0IHZpZXdNYXRyaXg7IiwidW5pZm9ybSBtYXQzIG5vcm1hbE1hdHJpeDsiLCJ1bmlmb3JtIHZlYzMgY2FtZXJhUG9zaXRpb247IiwidW5pZm9ybSBib29sIGlzT3J0aG9ncmFwaGljOyIsIiNpZmRlZiBVU0VfSU5TVEFOQ0lORyIsIlx0YXR0cmlidXRlIG1hdDQgaW5zdGFuY2VNYXRyaXg7IiwiI2VuZGlmIiwiI2lmZGVmIFVTRV9JTlNUQU5DSU5HX0NPTE9SIiwiXHRhdHRyaWJ1dGUgdmVjMyBpbnN0YW5jZUNvbG9yOyIsIiNlbmRpZiIsImF0dHJpYnV0ZSB2ZWMzIHBvc2l0aW9uOyIsImF0dHJpYnV0ZSB2ZWMzIG5vcm1hbDsiLCJhdHRyaWJ1dGUgdmVjMiB1djsiLCIjaWZkZWYgVVNFX1RBTkdFTlQiLCJcdGF0dHJpYnV0ZSB2ZWM0IHRhbmdlbnQ7IiwiI2VuZGlmIiwiI2lmIGRlZmluZWQoIFVTRV9DT0xPUl9BTFBIQSApIiwiXHRhdHRyaWJ1dGUgdmVjNCBjb2xvcjsiLCIjZWxpZiBkZWZpbmVkKCBVU0VfQ09MT1IgKSIsIlx0YXR0cmlidXRlIHZlYzMgY29sb3I7IiwiI2VuZGlmIiwiI2lmZGVmIFVTRV9NT1JQSFRBUkdFVFMiLCJcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0MDsiLCJcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0MTsiLCJcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0MjsiLCJcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0MzsiLCJcdCNpZmRlZiBVU0VfTU9SUEhOT1JNQUxTIiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoTm9ybWFsMDsiLCJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhOb3JtYWwxOyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaE5vcm1hbDI7IiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoTm9ybWFsMzsiLCJcdCNlbHNlIiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0NDsiLCJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQ1OyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDY7IiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0NzsiLCJcdCNlbmRpZiIsIiNlbmRpZiIsIiNpZmRlZiBVU0VfU0tJTk5JTkciLCJcdGF0dHJpYnV0ZSB2ZWM0IHNraW5JbmRleDsiLCJcdGF0dHJpYnV0ZSB2ZWM0IHNraW5XZWlnaHQ7IiwiI2VuZGlmIiwiXG4iXS5maWx0ZXIodzh0KS5qb2luKCJcbiIpLFM9W18sSTh0KG4pLCIjZGVmaW5lIFNIQURFUl9OQU1FICIrbi5zaGFkZXJOYW1lLHYsbi5hbHBoYVRlc3Q/IiNkZWZpbmUgQUxQSEFURVNUICIrbi5hbHBoYVRlc3QrKG4uYWxwaGFUZXN0JTE/IiI6Ii4wIik6IiIsIiNkZWZpbmUgR0FNTUFfRkFDVE9SICIrZyxuLnVzZUZvZyYmbi5mb2c/IiNkZWZpbmUgVVNFX0ZPRyI6IiIsbi51c2VGb2cmJm4uZm9nRXhwMj8iI2RlZmluZSBGT0dfRVhQMiI6IiIsbi5tYXA/IiNkZWZpbmUgVVNFX01BUCI6IiIsbi5tYXRjYXA/IiNkZWZpbmUgVVNFX01BVENBUCI6IiIsbi5lbnZNYXA/IiNkZWZpbmUgVVNFX0VOVk1BUCI6IiIsbi5lbnZNYXA/IiNkZWZpbmUgIit1OiIiLG4uZW52TWFwPyIjZGVmaW5lICIrZDoiIixuLmVudk1hcD8iI2RlZmluZSAiK2Y6IiIsbi5saWdodE1hcD8iI2RlZmluZSBVU0VfTElHSFRNQVAiOiIiLG4uYW9NYXA/IiNkZWZpbmUgVVNFX0FPTUFQIjoiIixuLmVtaXNzaXZlTWFwPyIjZGVmaW5lIFVTRV9FTUlTU0lWRU1BUCI6IiIsbi5idW1wTWFwPyIjZGVmaW5lIFVTRV9CVU1QTUFQIjoiIixuLm5vcm1hbE1hcD8iI2RlZmluZSBVU0VfTk9STUFMTUFQIjoiIixuLm5vcm1hbE1hcCYmbi5vYmplY3RTcGFjZU5vcm1hbE1hcD8iI2RlZmluZSBPQkpFQ1RTUEFDRV9OT1JNQUxNQVAiOiIiLG4ubm9ybWFsTWFwJiZuLnRhbmdlbnRTcGFjZU5vcm1hbE1hcD8iI2RlZmluZSBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQIjoiIixuLmNsZWFyY29hdE1hcD8iI2RlZmluZSBVU0VfQ0xFQVJDT0FUTUFQIjoiIixuLmNsZWFyY29hdFJvdWdobmVzc01hcD8iI2RlZmluZSBVU0VfQ0xFQVJDT0FUX1JPVUdITkVTU01BUCI6IiIsbi5jbGVhcmNvYXROb3JtYWxNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVAiOiIiLG4uc3BlY3VsYXJNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSTUFQIjoiIixuLnNwZWN1bGFySW50ZW5zaXR5TWFwPyIjZGVmaW5lIFVTRV9TUEVDVUxBUklOVEVOU0lUWU1BUCI6IiIsbi5zcGVjdWxhclRpbnRNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSVElOVE1BUCI6IiIsbi5yb3VnaG5lc3NNYXA/IiNkZWZpbmUgVVNFX1JPVUdITkVTU01BUCI6IiIsbi5tZXRhbG5lc3NNYXA/IiNkZWZpbmUgVVNFX01FVEFMTkVTU01BUCI6IiIsbi5hbHBoYU1hcD8iI2RlZmluZSBVU0VfQUxQSEFNQVAiOiIiLG4uc2hlZW4/IiNkZWZpbmUgVVNFX1NIRUVOIjoiIixuLnRyYW5zbWlzc2lvbj8iI2RlZmluZSBVU0VfVFJBTlNNSVNTSU9OIjoiIixuLnRyYW5zbWlzc2lvbk1hcD8iI2RlZmluZSBVU0VfVFJBTlNNSVNTSU9OTUFQIjoiIixuLnRoaWNrbmVzc01hcD8iI2RlZmluZSBVU0VfVEhJQ0tORVNTTUFQIjoiIixuLnZlcnRleFRhbmdlbnRzPyIjZGVmaW5lIFVTRV9UQU5HRU5UIjoiIixuLnZlcnRleENvbG9yc3x8bi5pbnN0YW5jaW5nQ29sb3I/IiNkZWZpbmUgVVNFX0NPTE9SIjoiIixuLnZlcnRleEFscGhhcz8iI2RlZmluZSBVU0VfQ09MT1JfQUxQSEEiOiIiLG4udmVydGV4VXZzPyIjZGVmaW5lIFVTRV9VViI6IiIsbi51dnNWZXJ0ZXhPbmx5PyIjZGVmaW5lIFVWU19WRVJURVhfT05MWSI6IiIsbi5ncmFkaWVudE1hcD8iI2RlZmluZSBVU0VfR1JBRElFTlRNQVAiOiIiLG4uZmxhdFNoYWRpbmc/IiNkZWZpbmUgRkxBVF9TSEFERUQiOiIiLG4uZG91YmxlU2lkZWQ/IiNkZWZpbmUgRE9VQkxFX1NJREVEIjoiIixuLmZsaXBTaWRlZD8iI2RlZmluZSBGTElQX1NJREVEIjoiIixuLnNoYWRvd01hcEVuYWJsZWQ/IiNkZWZpbmUgVVNFX1NIQURPV01BUCI6IiIsbi5zaGFkb3dNYXBFbmFibGVkPyIjZGVmaW5lICIrbDoiIixuLnByZW11bHRpcGxpZWRBbHBoYT8iI2RlZmluZSBQUkVNVUxUSVBMSUVEX0FMUEhBIjoiIixuLnBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzPyIjZGVmaW5lIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFMiOiIiLG4ubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcj8iI2RlZmluZSBVU0VfTE9HREVQVEhCVUYiOiIiLG4ubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlciYmbi5yZW5kZXJlckV4dGVuc2lvbkZyYWdEZXB0aD8iI2RlZmluZSBVU0VfTE9HREVQVEhCVUZfRVhUIjoiIiwobi5leHRlbnNpb25TaGFkZXJUZXh0dXJlTE9EfHxuLmVudk1hcCkmJm4ucmVuZGVyZXJFeHRlbnNpb25TaGFkZXJUZXh0dXJlTG9kPyIjZGVmaW5lIFRFWFRVUkVfTE9EX0VYVCI6IiIsInVuaWZvcm0gbWF0NCB2aWV3TWF0cml4OyIsInVuaWZvcm0gdmVjMyBjYW1lcmFQb3NpdGlvbjsiLCJ1bmlmb3JtIGJvb2wgaXNPcnRob2dyYXBoaWM7IiwwIT09bi50b25lTWFwcGluZz8iI2RlZmluZSBUT05FX01BUFBJTkciOiIiLDAhPT1uLnRvbmVNYXBwaW5nP3Y2dC50b25lbWFwcGluZ19wYXJzX2ZyYWdtZW50OiIiLDAhPT1uLnRvbmVNYXBwaW5nP3g4dCgidG9uZU1hcHBpbmciLG4udG9uZU1hcHBpbmcpOiIiLG4uZGl0aGVyaW5nPyIjZGVmaW5lIERJVEhFUklORyI6IiIsdjZ0LmVuY29kaW5nc19wYXJzX2ZyYWdtZW50LG4ubWFwP3Y4dCgibWFwVGV4ZWxUb0xpbmVhciIsbi5tYXBFbmNvZGluZyk6IiIsbi5tYXRjYXA/djh0KCJtYXRjYXBUZXhlbFRvTGluZWFyIixuLm1hdGNhcEVuY29kaW5nKToiIixuLmVudk1hcD92OHQoImVudk1hcFRleGVsVG9MaW5lYXIiLG4uZW52TWFwRW5jb2RpbmcpOiIiLG4uZW1pc3NpdmVNYXA/djh0KCJlbWlzc2l2ZU1hcFRleGVsVG9MaW5lYXIiLG4uZW1pc3NpdmVNYXBFbmNvZGluZyk6IiIsbi5zcGVjdWxhclRpbnRNYXA/djh0KCJzcGVjdWxhclRpbnRNYXBUZXhlbFRvTGluZWFyIixuLnNwZWN1bGFyVGludE1hcEVuY29kaW5nKToiIixuLmxpZ2h0TWFwP3Y4dCgibGlnaHRNYXBUZXhlbFRvTGluZWFyIixuLmxpZ2h0TWFwRW5jb2RpbmcpOiIiLGI4dCgibGluZWFyVG9PdXRwdXRUZXhlbCIsbi5vdXRwdXRFbmNvZGluZyksbi5kZXB0aFBhY2tpbmc/IiNkZWZpbmUgREVQVEhfUEFDS0lORyAiK24uZGVwdGhQYWNraW5nOiIiLCJcbiJdLmZpbHRlcih3OHQpLmpvaW4oIlxuIikpLGE9VDh0KGEpLGE9Uzh0KGEsbiksYT1NOHQoYSxuKSxzPVQ4dChzKSxzPVM4dChzLG4pLHM9TTh0KHMsbiksYT1MOHQoYSkscz1MOHQocyksbi5pc1dlYkdMMiYmITAhPT1uLmlzUmF3U2hhZGVyTWF0ZXJpYWwmJihNPSIjdmVyc2lvbiAzMDAgZXNcbiIsdz1bIiNkZWZpbmUgYXR0cmlidXRlIGluIiwiI2RlZmluZSB2YXJ5aW5nIG91dCIsIiNkZWZpbmUgdGV4dHVyZTJEIHRleHR1cmUiXS5qb2luKCJcbiIpKyJcbiIrdyxTPVsiI2RlZmluZSB2YXJ5aW5nIGluIixuLmdsc2xWZXJzaW9uPT09dDV0PyIiOiJvdXQgaGlnaHAgdmVjNCBwY19mcmFnQ29sb3I7IixuLmdsc2xWZXJzaW9uPT09dDV0PyIiOiIjZGVmaW5lIGdsX0ZyYWdDb2xvciBwY19mcmFnQ29sb3IiLCIjZGVmaW5lIGdsX0ZyYWdEZXB0aEVYVCBnbF9GcmFnRGVwdGgiLCIjZGVmaW5lIHRleHR1cmUyRCB0ZXh0dXJlIiwiI2RlZmluZSB0ZXh0dXJlQ3ViZSB0ZXh0dXJlIiwiI2RlZmluZSB0ZXh0dXJlMkRQcm9qIHRleHR1cmVQcm9qIiwiI2RlZmluZSB0ZXh0dXJlMkRMb2RFWFQgdGV4dHVyZUxvZCIsIiNkZWZpbmUgdGV4dHVyZTJEUHJvakxvZEVYVCB0ZXh0dXJlUHJvakxvZCIsIiNkZWZpbmUgdGV4dHVyZUN1YmVMb2RFWFQgdGV4dHVyZUxvZCIsIiNkZWZpbmUgdGV4dHVyZTJER3JhZEVYVCB0ZXh0dXJlR3JhZCIsIiNkZWZpbmUgdGV4dHVyZTJEUHJvakdyYWRFWFQgdGV4dHVyZVByb2pHcmFkIiwiI2RlZmluZSB0ZXh0dXJlQ3ViZUdyYWRFWFQgdGV4dHVyZUdyYWQiXS5qb2luKCJcbiIpKyJcbiIrUyk7Y29uc3QgRT1NK1MrcyxUPW04dChyLDM1NjMzLE0rdythKSxDPW04dChyLDM1NjMyLEUpO2lmKHIuYXR0YWNoU2hhZGVyKHgsVCksci5hdHRhY2hTaGFkZXIoeCxDKSx2b2lkIDAhPT1uLmluZGV4MEF0dHJpYnV0ZU5hbWU/ci5iaW5kQXR0cmliTG9jYXRpb24oeCwwLG4uaW5kZXgwQXR0cmlidXRlTmFtZSk6ITA9PT1uLm1vcnBoVGFyZ2V0cyYmci5iaW5kQXR0cmliTG9jYXRpb24oeCwwLCJwb3NpdGlvbiIpLHIubGlua1Byb2dyYW0oeCksdC5kZWJ1Zy5jaGVja1NoYWRlckVycm9ycyl7Y29uc3QgdD1yLmdldFByb2dyYW1JbmZvTG9nKHgpLnRyaW0oKSxlPXIuZ2V0U2hhZGVySW5mb0xvZyhUKS50cmltKCksbj1yLmdldFNoYWRlckluZm9Mb2coQykudHJpbSgpO2xldCBpPSEwLG89ITA7aWYoITE9PT1yLmdldFByb2dyYW1QYXJhbWV0ZXIoeCwzNTcxNCkpe2k9ITE7Y29uc3QgZT15OHQocixULCJ2ZXJ0ZXgiKSxuPXk4dChyLEMsImZyYWdtZW50Iik7Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xQcm9ncmFtOiBzaGFkZXIgZXJyb3I6ICIsci5nZXRFcnJvcigpLCIzNTcxNSIsci5nZXRQcm9ncmFtUGFyYW1ldGVyKHgsMzU3MTUpLCJnbC5nZXRQcm9ncmFtSW5mb0xvZyIsdCxlLG4pfWVsc2UiIiE9PXQ/Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFByb2dyYW06IGdsLmdldFByb2dyYW1JbmZvTG9nKCkiLHQpOiIiIT09ZSYmIiIhPT1ufHwobz0hMSk7byYmKHRoaXMuZGlhZ25vc3RpY3M9e3J1bm5hYmxlOmkscHJvZ3JhbUxvZzp0LHZlcnRleFNoYWRlcjp7bG9nOmUscHJlZml4Ond9LGZyYWdtZW50U2hhZGVyOntsb2c6bixwcmVmaXg6U319KX1sZXQgQSxrO3JldHVybiByLmRlbGV0ZVNoYWRlcihUKSxyLmRlbGV0ZVNoYWRlcihDKSx0aGlzLmdldFVuaWZvcm1zPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PUEmJihBPW5ldyBmOHQocix4KSksQX0sdGhpcy5nZXRBdHRyaWJ1dGVzPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWsmJihrPShmdW5jdGlvbiB0KGUsbil7Y29uc3QgaT17fSxyPWUuZ2V0UHJvZ3JhbVBhcmFtZXRlcihuLDM1NzIxKTtmb3IobGV0IHQ9MDt0PHI7dCsrKXtjb25zdCByPWUuZ2V0QWN0aXZlQXR0cmliKG4sdCkubmFtZTtpW3JdPWUuZ2V0QXR0cmliTG9jYXRpb24obixyKX1yZXR1cm4gaX0pKHIseCkpLGt9LHRoaXMuZGVzdHJveT1mdW5jdGlvbigpe2kucmVsZWFzZVN0YXRlc09mUHJvZ3JhbSh0aGlzKSxyLmRlbGV0ZVByb2dyYW0oeCksdGhpcy5wcm9ncmFtPXZvaWQgMH0sdGhpcy5uYW1lPW4uc2hhZGVyTmFtZSx0aGlzLmlkPWc4dCsrLHRoaXMuY2FjaGVLZXk9ZSx0aGlzLnVzZWRUaW1lcz0xLHRoaXMucHJvZ3JhbT14LHRoaXMudmVydGV4U2hhZGVyPVQsdGhpcy5mcmFnbWVudFNoYWRlcj1DLHRoaXN9ZnVuY3Rpb24gTzh0KHQsZSxuLGkscixvLGEpe2NvbnN0IHM9W10sbD1yLmlzV2ViR0wyLGM9ci5sb2dhcml0aG1pY0RlcHRoQnVmZmVyLHU9ci5mbG9hdFZlcnRleFRleHR1cmVzLGg9ci5tYXhWZXJ0ZXhVbmlmb3JtcyxkPXIudmVydGV4VGV4dHVyZXM7bGV0IHA9ci5wcmVjaXNpb247Y29uc3QgZj17TWVzaERlcHRoTWF0ZXJpYWw6ImRlcHRoIixNZXNoRGlzdGFuY2VNYXRlcmlhbDoiZGlzdGFuY2VSR0JBIixNZXNoTm9ybWFsTWF0ZXJpYWw6Im5vcm1hbCIsTWVzaEJhc2ljTWF0ZXJpYWw6ImJhc2ljIixNZXNoTGFtYmVydE1hdGVyaWFsOiJsYW1iZXJ0IixNZXNoUGhvbmdNYXRlcmlhbDoicGhvbmciLE1lc2hUb29uTWF0ZXJpYWw6InRvb24iLE1lc2hTdGFuZGFyZE1hdGVyaWFsOiJwaHlzaWNhbCIsTWVzaFBoeXNpY2FsTWF0ZXJpYWw6InBoeXNpY2FsIixNZXNoTWF0Y2FwTWF0ZXJpYWw6Im1hdGNhcCIsTGluZUJhc2ljTWF0ZXJpYWw6ImJhc2ljIixMaW5lRGFzaGVkTWF0ZXJpYWw6ImRhc2hlZCIsUG9pbnRzTWF0ZXJpYWw6InBvaW50cyIsU2hhZG93TWF0ZXJpYWw6InNoYWRvdyIsU3ByaXRlTWF0ZXJpYWw6InNwcml0ZSJ9LG09WyJwcmVjaXNpb24iLCJpc1dlYkdMMiIsInN1cHBvcnRzVmVydGV4VGV4dHVyZXMiLCJvdXRwdXRFbmNvZGluZyIsImluc3RhbmNpbmciLCJpbnN0YW5jaW5nQ29sb3IiLCJtYXAiLCJtYXBFbmNvZGluZyIsIm1hdGNhcCIsIm1hdGNhcEVuY29kaW5nIiwiZW52TWFwIiwiZW52TWFwTW9kZSIsImVudk1hcEVuY29kaW5nIiwiZW52TWFwQ3ViZVVWIiwibGlnaHRNYXAiLCJsaWdodE1hcEVuY29kaW5nIiwiYW9NYXAiLCJlbWlzc2l2ZU1hcCIsImVtaXNzaXZlTWFwRW5jb2RpbmciLCJidW1wTWFwIiwibm9ybWFsTWFwIiwib2JqZWN0U3BhY2VOb3JtYWxNYXAiLCJ0YW5nZW50U3BhY2VOb3JtYWxNYXAiLCJjbGVhcmNvYXRNYXAiLCJjbGVhcmNvYXRSb3VnaG5lc3NNYXAiLCJjbGVhcmNvYXROb3JtYWxNYXAiLCJkaXNwbGFjZW1lbnRNYXAiLCJzcGVjdWxhck1hcCIsInNwZWN1bGFySW50ZW5zaXR5TWFwIiwic3BlY3VsYXJUaW50TWFwIiwic3BlY3VsYXJUaW50TWFwRW5jb2RpbmciLCJyb3VnaG5lc3NNYXAiLCJtZXRhbG5lc3NNYXAiLCJncmFkaWVudE1hcCIsImFscGhhTWFwIiwiY29tYmluZSIsInZlcnRleENvbG9ycyIsInZlcnRleEFscGhhcyIsInZlcnRleFRhbmdlbnRzIiwidmVydGV4VXZzIiwidXZzVmVydGV4T25seSIsImZvZyIsInVzZUZvZyIsImZvZ0V4cDIiLCJmbGF0U2hhZGluZyIsInNpemVBdHRlbnVhdGlvbiIsImxvZ2FyaXRobWljRGVwdGhCdWZmZXIiLCJza2lubmluZyIsIm1heEJvbmVzIiwidXNlVmVydGV4VGV4dHVyZSIsIm1vcnBoVGFyZ2V0cyIsIm1vcnBoTm9ybWFscyIsInByZW11bHRpcGxpZWRBbHBoYSIsIm51bURpckxpZ2h0cyIsIm51bVBvaW50TGlnaHRzIiwibnVtU3BvdExpZ2h0cyIsIm51bUhlbWlMaWdodHMiLCJudW1SZWN0QXJlYUxpZ2h0cyIsIm51bURpckxpZ2h0U2hhZG93cyIsIm51bVBvaW50TGlnaHRTaGFkb3dzIiwibnVtU3BvdExpZ2h0U2hhZG93cyIsInNoYWRvd01hcEVuYWJsZWQiLCJzaGFkb3dNYXBUeXBlIiwidG9uZU1hcHBpbmciLCJwaHlzaWNhbGx5Q29ycmVjdExpZ2h0cyIsImFscGhhVGVzdCIsImRvdWJsZVNpZGVkIiwiZmxpcFNpZGVkIiwibnVtQ2xpcHBpbmdQbGFuZXMiLCJudW1DbGlwSW50ZXJzZWN0aW9uIiwiZGVwdGhQYWNraW5nIiwiZGl0aGVyaW5nIiwic2hlZW4iLCJ0cmFuc21pc3Npb24iLCJ0cmFuc21pc3Npb25NYXAiLCJ0aGlja25lc3NNYXAiXTtmdW5jdGlvbiBnKHQpe2xldCBlO3JldHVybiB0JiZ0LmlzVGV4dHVyZT9lPXQuZW5jb2Rpbmc6dCYmdC5pc1dlYkdMUmVuZGVyVGFyZ2V0Pyhjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUHJvZ3JhbXMuZ2V0VGV4dHVyZUVuY29kaW5nRnJvbU1hcDogZG9uJ3QgdXNlIHJlbmRlciB0YXJnZXRzIGFzIHRleHR1cmVzLiBVc2UgdGhlaXIgLnRleHR1cmUgcHJvcGVydHkgaW5zdGVhZC4iKSxlPXQudGV4dHVyZS5lbmNvZGluZyk6ZT1HMnQsZX1yZXR1cm57Z2V0UGFyYW1ldGVyczpmdW5jdGlvbiBfKG8scyxtLHksdil7Y29uc3QgYj15LmZvZyx4PShvLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWw/bjplKS5nZXQoby5lbnZNYXB8fChvLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWw/eS5lbnZpcm9ubWVudDpudWxsKSksdz1mW28udHlwZV0sUz12LmlzU2tpbm5lZE1lc2g/KGZ1bmN0aW9uIE0odCl7Y29uc3QgZT10LnNrZWxldG9uLmJvbmVzO2lmKHUpcmV0dXJuIDEwMjQ7e2NvbnN0IHQ9TWF0aC5mbG9vcigoaC0yMCkvNCksbj1NYXRoLm1pbih0LGUubGVuZ3RoKTtyZXR1cm4gbjxlLmxlbmd0aD8oY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBTa2VsZXRvbiBoYXMgIitlLmxlbmd0aCsiIGJvbmVzLiBUaGlzIEdQVSBzdXBwb3J0cyAiK24rIi4iKSwwKTpufX0pKHYpOjA7bGV0IEUsVDtpZihudWxsIT09by5wcmVjaXNpb24mJihwPXIuZ2V0TWF4UHJlY2lzaW9uKG8ucHJlY2lzaW9uKSxwIT09by5wcmVjaXNpb24mJmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xQcm9ncmFtLmdldFBhcmFtZXRlcnM6IixvLnByZWNpc2lvbiwibm90IHN1cHBvcnRlZCwgdXNpbmciLHAsImluc3RlYWQuIikpLHcpe2NvbnN0IHQ9eDZ0W3ddO0U9dC52ZXJ0ZXhTaGFkZXIsVD10LmZyYWdtZW50U2hhZGVyfWVsc2UgRT1vLnZlcnRleFNoYWRlcixUPW8uZnJhZ21lbnRTaGFkZXI7Y29uc3QgQz10LmdldFJlbmRlclRhcmdldCgpO3JldHVybntpc1dlYkdMMjpsLHNoYWRlcklEOncsc2hhZGVyTmFtZTpvLnR5cGUsdmVydGV4U2hhZGVyOkUsZnJhZ21lbnRTaGFkZXI6VCxkZWZpbmVzOm8uZGVmaW5lcyxpc1Jhd1NoYWRlck1hdGVyaWFsOiEwPT09by5pc1Jhd1NoYWRlck1hdGVyaWFsLGdsc2xWZXJzaW9uOm8uZ2xzbFZlcnNpb24scHJlY2lzaW9uOnAsaW5zdGFuY2luZzohMD09PXYuaXNJbnN0YW5jZWRNZXNoLGluc3RhbmNpbmdDb2xvcjohMD09PXYuaXNJbnN0YW5jZWRNZXNoJiZudWxsIT09di5pbnN0YW5jZUNvbG9yLHN1cHBvcnRzVmVydGV4VGV4dHVyZXM6ZCxvdXRwdXRFbmNvZGluZzpudWxsIT09Qz9nKEMudGV4dHVyZSk6dC5vdXRwdXRFbmNvZGluZyxtYXA6ISFvLm1hcCxtYXBFbmNvZGluZzpnKG8ubWFwKSxtYXRjYXA6ISFvLm1hdGNhcCxtYXRjYXBFbmNvZGluZzpnKG8ubWF0Y2FwKSxlbnZNYXA6ISF4LGVudk1hcE1vZGU6eCYmeC5tYXBwaW5nLGVudk1hcEVuY29kaW5nOmcoeCksZW52TWFwQ3ViZVVWOiEheCYmKHgubWFwcGluZz09PW8ydHx8eC5tYXBwaW5nPT09YTJ0KSxsaWdodE1hcDohIW8ubGlnaHRNYXAsbGlnaHRNYXBFbmNvZGluZzpnKG8ubGlnaHRNYXApLGFvTWFwOiEhby5hb01hcCxlbWlzc2l2ZU1hcDohIW8uZW1pc3NpdmVNYXAsZW1pc3NpdmVNYXBFbmNvZGluZzpnKG8uZW1pc3NpdmVNYXApLGJ1bXBNYXA6ISFvLmJ1bXBNYXAsbm9ybWFsTWFwOiEhby5ub3JtYWxNYXAsb2JqZWN0U3BhY2VOb3JtYWxNYXA6MT09PW8ubm9ybWFsTWFwVHlwZSx0YW5nZW50U3BhY2VOb3JtYWxNYXA6MD09PW8ubm9ybWFsTWFwVHlwZSxjbGVhcmNvYXRNYXA6ISFvLmNsZWFyY29hdE1hcCxjbGVhcmNvYXRSb3VnaG5lc3NNYXA6ISFvLmNsZWFyY29hdFJvdWdobmVzc01hcCxjbGVhcmNvYXROb3JtYWxNYXA6ISFvLmNsZWFyY29hdE5vcm1hbE1hcCxkaXNwbGFjZW1lbnRNYXA6ISFvLmRpc3BsYWNlbWVudE1hcCxyb3VnaG5lc3NNYXA6ISFvLnJvdWdobmVzc01hcCxtZXRhbG5lc3NNYXA6ISFvLm1ldGFsbmVzc01hcCxzcGVjdWxhck1hcDohIW8uc3BlY3VsYXJNYXAsc3BlY3VsYXJJbnRlbnNpdHlNYXA6ISFvLnNwZWN1bGFySW50ZW5zaXR5TWFwLHNwZWN1bGFyVGludE1hcDohIW8uc3BlY3VsYXJUaW50TWFwLHNwZWN1bGFyVGludE1hcEVuY29kaW5nOmcoby5zcGVjdWxhclRpbnRNYXApLGFscGhhTWFwOiEhby5hbHBoYU1hcCxncmFkaWVudE1hcDohIW8uZ3JhZGllbnRNYXAsc2hlZW46ISFvLnNoZWVuLHRyYW5zbWlzc2lvbjohIW8udHJhbnNtaXNzaW9uLHRyYW5zbWlzc2lvbk1hcDohIW8udHJhbnNtaXNzaW9uTWFwLHRoaWNrbmVzc01hcDohIW8udGhpY2tuZXNzTWFwLGNvbWJpbmU6by5jb21iaW5lLHZlcnRleFRhbmdlbnRzOiEhby5ub3JtYWxNYXAmJiEhdi5nZW9tZXRyeSYmISF2Lmdlb21ldHJ5LmF0dHJpYnV0ZXMudGFuZ2VudCx2ZXJ0ZXhDb2xvcnM6by52ZXJ0ZXhDb2xvcnMsdmVydGV4QWxwaGFzOiEwPT09by52ZXJ0ZXhDb2xvcnMmJiEhdi5nZW9tZXRyeSYmISF2Lmdlb21ldHJ5LmF0dHJpYnV0ZXMuY29sb3ImJjQ9PT12Lmdlb21ldHJ5LmF0dHJpYnV0ZXMuY29sb3IuaXRlbVNpemUsdmVydGV4VXZzOiEhKG8ubWFwfHxvLmJ1bXBNYXB8fG8ubm9ybWFsTWFwfHxvLnNwZWN1bGFyTWFwfHxvLmFscGhhTWFwfHxvLmVtaXNzaXZlTWFwfHxvLnJvdWdobmVzc01hcHx8by5tZXRhbG5lc3NNYXB8fG8uY2xlYXJjb2F0TWFwfHxvLmNsZWFyY29hdFJvdWdobmVzc01hcHx8by5jbGVhcmNvYXROb3JtYWxNYXB8fG8uZGlzcGxhY2VtZW50TWFwfHxvLnRyYW5zbWlzc2lvbk1hcHx8by50aGlja25lc3NNYXB8fG8uc3BlY3VsYXJJbnRlbnNpdHlNYXB8fG8uc3BlY3VsYXJUaW50TWFwKSx1dnNWZXJ0ZXhPbmx5OiEoby5tYXB8fG8uYnVtcE1hcHx8by5ub3JtYWxNYXB8fG8uc3BlY3VsYXJNYXB8fG8uYWxwaGFNYXB8fG8uZW1pc3NpdmVNYXB8fG8ucm91Z2huZXNzTWFwfHxvLm1ldGFsbmVzc01hcHx8by5jbGVhcmNvYXROb3JtYWxNYXB8fG8udHJhbnNtaXNzaW9ufHxvLnRyYW5zbWlzc2lvbk1hcHx8by50aGlja25lc3NNYXB8fG8uc3BlY3VsYXJJbnRlbnNpdHlNYXB8fG8uc3BlY3VsYXJUaW50TWFwfHwhby5kaXNwbGFjZW1lbnRNYXApLGZvZzohIWIsdXNlRm9nOm8uZm9nLGZvZ0V4cDI6YiYmYi5pc0ZvZ0V4cDIsZmxhdFNoYWRpbmc6ISFvLmZsYXRTaGFkaW5nLHNpemVBdHRlbnVhdGlvbjpvLnNpemVBdHRlbnVhdGlvbixsb2dhcml0aG1pY0RlcHRoQnVmZmVyOmMsc2tpbm5pbmc6ITA9PT12LmlzU2tpbm5lZE1lc2gmJlM+MCxtYXhCb25lczpTLHVzZVZlcnRleFRleHR1cmU6dSxtb3JwaFRhcmdldHM6ISF2Lmdlb21ldHJ5JiYhIXYuZ2VvbWV0cnkubW9ycGhBdHRyaWJ1dGVzLnBvc2l0aW9uLG1vcnBoTm9ybWFsczohIXYuZ2VvbWV0cnkmJiEhdi5nZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMubm9ybWFsLG51bURpckxpZ2h0czpzLmRpcmVjdGlvbmFsLmxlbmd0aCxudW1Qb2ludExpZ2h0czpzLnBvaW50Lmxlbmd0aCxudW1TcG90TGlnaHRzOnMuc3BvdC5sZW5ndGgsbnVtUmVjdEFyZWFMaWdodHM6cy5yZWN0QXJlYS5sZW5ndGgsbnVtSGVtaUxpZ2h0czpzLmhlbWkubGVuZ3RoLG51bURpckxpZ2h0U2hhZG93czpzLmRpcmVjdGlvbmFsU2hhZG93TWFwLmxlbmd0aCxudW1Qb2ludExpZ2h0U2hhZG93czpzLnBvaW50U2hhZG93TWFwLmxlbmd0aCxudW1TcG90TGlnaHRTaGFkb3dzOnMuc3BvdFNoYWRvd01hcC5sZW5ndGgsbnVtQ2xpcHBpbmdQbGFuZXM6YS5udW1QbGFuZXMsbnVtQ2xpcEludGVyc2VjdGlvbjphLm51bUludGVyc2VjdGlvbixkaXRoZXJpbmc6by5kaXRoZXJpbmcsc2hhZG93TWFwRW5hYmxlZDp0LnNoYWRvd01hcC5lbmFibGVkJiZtLmxlbmd0aD4wLHNoYWRvd01hcFR5cGU6dC5zaGFkb3dNYXAudHlwZSx0b25lTWFwcGluZzpvLnRvbmVNYXBwZWQ/dC50b25lTWFwcGluZzowLHBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzOnQucGh5c2ljYWxseUNvcnJlY3RMaWdodHMscHJlbXVsdGlwbGllZEFscGhhOm8ucHJlbXVsdGlwbGllZEFscGhhLGFscGhhVGVzdDpvLmFscGhhVGVzdCxkb3VibGVTaWRlZDoyPT09by5zaWRlLGZsaXBTaWRlZDoxPT09by5zaWRlLGRlcHRoUGFja2luZzp2b2lkIDAhPT1vLmRlcHRoUGFja2luZyYmby5kZXB0aFBhY2tpbmcsaW5kZXgwQXR0cmlidXRlTmFtZTpvLmluZGV4MEF0dHJpYnV0ZU5hbWUsZXh0ZW5zaW9uRGVyaXZhdGl2ZXM6by5leHRlbnNpb25zJiZvLmV4dGVuc2lvbnMuZGVyaXZhdGl2ZXMsZXh0ZW5zaW9uRnJhZ0RlcHRoOm8uZXh0ZW5zaW9ucyYmby5leHRlbnNpb25zLmZyYWdEZXB0aCxleHRlbnNpb25EcmF3QnVmZmVyczpvLmV4dGVuc2lvbnMmJm8uZXh0ZW5zaW9ucy5kcmF3QnVmZmVycyxleHRlbnNpb25TaGFkZXJUZXh0dXJlTE9EOm8uZXh0ZW5zaW9ucyYmby5leHRlbnNpb25zLnNoYWRlclRleHR1cmVMT0QscmVuZGVyZXJFeHRlbnNpb25GcmFnRGVwdGg6bHx8aS5oYXMoIkVYVF9mcmFnX2RlcHRoIikscmVuZGVyZXJFeHRlbnNpb25EcmF3QnVmZmVyczpsfHxpLmhhcygiV0VCR0xfZHJhd19idWZmZXJzIikscmVuZGVyZXJFeHRlbnNpb25TaGFkZXJUZXh0dXJlTG9kOmx8fGkuaGFzKCJFWFRfc2hhZGVyX3RleHR1cmVfbG9kIiksY3VzdG9tUHJvZ3JhbUNhY2hlS2V5Om8uY3VzdG9tUHJvZ3JhbUNhY2hlS2V5KCl9fSxnZXRQcm9ncmFtQ2FjaGVLZXk6ZnVuY3Rpb24geShlKXtjb25zdCBuPVtdO2lmKGUuc2hhZGVySUQ/bi5wdXNoKGUuc2hhZGVySUQpOihuLnB1c2goZS5mcmFnbWVudFNoYWRlciksbi5wdXNoKGUudmVydGV4U2hhZGVyKSksdm9pZCAwIT09ZS5kZWZpbmVzKWZvcihjb25zdCB0IGluIGUuZGVmaW5lcyluLnB1c2godCksbi5wdXNoKGUuZGVmaW5lc1t0XSk7aWYoITE9PT1lLmlzUmF3U2hhZGVyTWF0ZXJpYWwpe2ZvcihsZXQgdD0wO3Q8bS5sZW5ndGg7dCsrKW4ucHVzaChlW21bdF1dKTtuLnB1c2godC5vdXRwdXRFbmNvZGluZyksbi5wdXNoKHQuZ2FtbWFGYWN0b3IpfXJldHVybiBuLnB1c2goZS5jdXN0b21Qcm9ncmFtQ2FjaGVLZXkpLG4uam9pbigpfSxnZXRVbmlmb3JtczpmdW5jdGlvbiB2KHQpe2NvbnN0IGU9Zlt0LnR5cGVdO2xldCBuO2lmKGUpe249ZTZ0LmNsb25lKHg2dFtlXS51bmlmb3Jtcyl9ZWxzZSBuPXQudW5pZm9ybXM7cmV0dXJuIG59LGFjcXVpcmVQcm9ncmFtOmZ1bmN0aW9uIGIoZSxuKXtsZXQgaTtmb3IobGV0IHQ9MCxlPXMubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9c1t0XTtpZihlLmNhY2hlS2V5PT09bil7aT1lLCsraS51c2VkVGltZXM7YnJlYWt9fXJldHVybiB2b2lkIDA9PT1pJiYoaT1uZXcgUjh0KHQsbixlLG8pLHMucHVzaChpKSksaX0scmVsZWFzZVByb2dyYW06ZnVuY3Rpb24geCh0KXtpZigwPT0tLXQudXNlZFRpbWVzKXtjb25zdCBlPXMuaW5kZXhPZih0KTtzW2VdPXNbcy5sZW5ndGgtMV0scy5wb3AoKSx0LmRlc3Ryb3koKX19LHByb2dyYW1zOnN9fWZ1bmN0aW9uIHo4dCgpe2xldCB0PW5ldyBXZWFrTWFwO3JldHVybntnZXQ6ZnVuY3Rpb24gZShuKXtsZXQgaT10LmdldChuKTtyZXR1cm4gdm9pZCAwPT09aSYmKGk9e30sdC5zZXQobixpKSksaX0scmVtb3ZlOmZ1bmN0aW9uIG4oZSl7dC5kZWxldGUoZSl9LHVwZGF0ZTpmdW5jdGlvbiBpKGUsbixyKXt0LmdldChlKVtuXT1yfSxkaXNwb3NlOmZ1bmN0aW9uIHIoKXt0PW5ldyBXZWFrTWFwfX19ZnVuY3Rpb24gRDh0KHQsZSl7cmV0dXJuIHQuZ3JvdXBPcmRlciE9PWUuZ3JvdXBPcmRlcj90Lmdyb3VwT3JkZXItZS5ncm91cE9yZGVyOnQucmVuZGVyT3JkZXIhPT1lLnJlbmRlck9yZGVyP3QucmVuZGVyT3JkZXItZS5yZW5kZXJPcmRlcjp0LnByb2dyYW0hPT1lLnByb2dyYW0/dC5wcm9ncmFtLmlkLWUucHJvZ3JhbS5pZDp0Lm1hdGVyaWFsLmlkIT09ZS5tYXRlcmlhbC5pZD90Lm1hdGVyaWFsLmlkLWUubWF0ZXJpYWwuaWQ6dC56IT09ZS56P3Quei1lLno6dC5pZC1lLmlkfWZ1bmN0aW9uIEI4dCh0LGUpe3JldHVybiB0Lmdyb3VwT3JkZXIhPT1lLmdyb3VwT3JkZXI/dC5ncm91cE9yZGVyLWUuZ3JvdXBPcmRlcjp0LnJlbmRlck9yZGVyIT09ZS5yZW5kZXJPcmRlcj90LnJlbmRlck9yZGVyLWUucmVuZGVyT3JkZXI6dC56IT09ZS56P2Uuei10Lno6dC5pZC1lLmlkfWZ1bmN0aW9uIEg4dCh0KXtjb25zdCBlPVtdO2xldCBuPTA7Y29uc3QgaT1bXSxyPVtdLG89W10sYT17aWQ6LTF9O2Z1bmN0aW9uIHMoaSxyLG8scyxsLGMpe2xldCB1PWVbbl07Y29uc3QgaD10LmdldChvKTtyZXR1cm4gdm9pZCAwPT09dT8odT17aWQ6aS5pZCxvYmplY3Q6aSxnZW9tZXRyeTpyLG1hdGVyaWFsOm8scHJvZ3JhbTpoLnByb2dyYW18fGEsZ3JvdXBPcmRlcjpzLHJlbmRlck9yZGVyOmkucmVuZGVyT3JkZXIsejpsLGdyb3VwOmN9LGVbbl09dSk6KHUuaWQ9aS5pZCx1Lm9iamVjdD1pLHUuZ2VvbWV0cnk9cix1Lm1hdGVyaWFsPW8sdS5wcm9ncmFtPWgucHJvZ3JhbXx8YSx1Lmdyb3VwT3JkZXI9cyx1LnJlbmRlck9yZGVyPWkucmVuZGVyT3JkZXIsdS56PWwsdS5ncm91cD1jKSxuKyssdX1yZXR1cm57b3BhcXVlOmksdHJhbnNtaXNzaXZlOnIsdHJhbnNwYXJlbnQ6byxpbml0OmZ1bmN0aW9uIGwoKXtuPTAsaS5sZW5ndGg9MCxyLmxlbmd0aD0wLG8ubGVuZ3RoPTB9LHB1c2g6ZnVuY3Rpb24gYyh0LGUsbixhLGwsdSl7Y29uc3QgaD1zKHQsZSxuLGEsbCx1KTtuLnRyYW5zbWlzc2lvbj4wP3IucHVzaChoKTohMD09PW4udHJhbnNwYXJlbnQ/by5wdXNoKGgpOmkucHVzaChoKX0sdW5zaGlmdDpmdW5jdGlvbiB1KHQsZSxuLGEsbCxjKXtjb25zdCB1PXModCxlLG4sYSxsLGMpO24udHJhbnNtaXNzaW9uPjA/ci51bnNoaWZ0KHUpOiEwPT09bi50cmFuc3BhcmVudD9vLnVuc2hpZnQodSk6aS51bnNoaWZ0KHUpfSxmaW5pc2g6ZnVuY3Rpb24gaCgpe2ZvcihsZXQgdD1uLGk9ZS5sZW5ndGg7dDxpO3QrKyl7Y29uc3Qgbj1lW3RdO2lmKG51bGw9PT1uLmlkKWJyZWFrO24uaWQ9bnVsbCxuLm9iamVjdD1udWxsLG4uZ2VvbWV0cnk9bnVsbCxuLm1hdGVyaWFsPW51bGwsbi5wcm9ncmFtPW51bGwsbi5ncm91cD1udWxsfX0sc29ydDpmdW5jdGlvbiBkKHQsZSl7aS5sZW5ndGg+MSYmaS5zb3J0KHR8fEQ4dCksci5sZW5ndGg+MSYmci5zb3J0KGV8fEI4dCksby5sZW5ndGg+MSYmby5zb3J0KGV8fEI4dCl9fX1mdW5jdGlvbiBGOHQodCl7bGV0IGU9bmV3IFdlYWtNYXA7cmV0dXJue2dldDpmdW5jdGlvbiBuKGkscil7bGV0IG87cmV0dXJuITE9PT1lLmhhcyhpKT8obz1uZXcgSDh0KHQpLGUuc2V0KGksW29dKSk6cj49ZS5nZXQoaSkubGVuZ3RoPyhvPW5ldyBIOHQodCksZS5nZXQoaSkucHVzaChvKSk6bz1lLmdldChpKVtyXSxvfSxkaXNwb3NlOmZ1bmN0aW9uIGkoKXtlPW5ldyBXZWFrTWFwfX19ZnVuY3Rpb24gVjh0KCl7Y29uc3QgdD17fTtyZXR1cm57Z2V0OmZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PXRbZS5pZF0pcmV0dXJuIHRbZS5pZF07bGV0IG47c3dpdGNoKGUudHlwZSl7Y2FzZSJEaXJlY3Rpb25hbExpZ2h0IjpuPXtkaXJlY3Rpb246bmV3IEg1dCxjb2xvcjpuZXcgczR0fTticmVhaztjYXNlIlNwb3RMaWdodCI6bj17cG9zaXRpb246bmV3IEg1dCxkaXJlY3Rpb246bmV3IEg1dCxjb2xvcjpuZXcgczR0LGRpc3RhbmNlOjAsY29uZUNvczowLHBlbnVtYnJhQ29zOjAsZGVjYXk6MH07YnJlYWs7Y2FzZSJQb2ludExpZ2h0IjpuPXtwb3NpdGlvbjpuZXcgSDV0LGNvbG9yOm5ldyBzNHQsZGlzdGFuY2U6MCxkZWNheTowfTticmVhaztjYXNlIkhlbWlzcGhlcmVMaWdodCI6bj17ZGlyZWN0aW9uOm5ldyBINXQsc2t5Q29sb3I6bmV3IHM0dCxncm91bmRDb2xvcjpuZXcgczR0fTticmVhaztjYXNlIlJlY3RBcmVhTGlnaHQiOm49e2NvbG9yOm5ldyBzNHQscG9zaXRpb246bmV3IEg1dCxoYWxmV2lkdGg6bmV3IEg1dCxoYWxmSGVpZ2h0Om5ldyBINXR9fXJldHVybiB0W2UuaWRdPW4sbn19fWxldCBVOHQ9MDtmdW5jdGlvbiBqOHQodCxlKXtyZXR1cm4oZS5jYXN0U2hhZG93PzE6MCktKHQuY2FzdFNoYWRvdz8xOjApfWZ1bmN0aW9uIEc4dCh0LGUpe2NvbnN0IG49bmV3IFY4dCxpPShmdW5jdGlvbiByKCl7Y29uc3QgdD17fTtyZXR1cm57Z2V0OmZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PXRbZS5pZF0pcmV0dXJuIHRbZS5pZF07bGV0IG47c3dpdGNoKGUudHlwZSl7Y2FzZSJEaXJlY3Rpb25hbExpZ2h0IjpjYXNlIlNwb3RMaWdodCI6bj17c2hhZG93QmlhczowLHNoYWRvd05vcm1hbEJpYXM6MCxzaGFkb3dSYWRpdXM6MSxzaGFkb3dNYXBTaXplOm5ldyBDNXR9O2JyZWFrO2Nhc2UiUG9pbnRMaWdodCI6bj17c2hhZG93QmlhczowLHNoYWRvd05vcm1hbEJpYXM6MCxzaGFkb3dSYWRpdXM6MSxzaGFkb3dNYXBTaXplOm5ldyBDNXQsc2hhZG93Q2FtZXJhTmVhcjoxLHNoYWRvd0NhbWVyYUZhcjoxZTN9fXJldHVybiB0W2UuaWRdPW4sbn19fSkoKSxvPXt2ZXJzaW9uOjAsaGFzaDp7ZGlyZWN0aW9uYWxMZW5ndGg6LTEscG9pbnRMZW5ndGg6LTEsc3BvdExlbmd0aDotMSxyZWN0QXJlYUxlbmd0aDotMSxoZW1pTGVuZ3RoOi0xLG51bURpcmVjdGlvbmFsU2hhZG93czotMSxudW1Qb2ludFNoYWRvd3M6LTEsbnVtU3BvdFNoYWRvd3M6LTF9LGFtYmllbnQ6WzAsMCwwXSxwcm9iZTpbXSxkaXJlY3Rpb25hbDpbXSxkaXJlY3Rpb25hbFNoYWRvdzpbXSxkaXJlY3Rpb25hbFNoYWRvd01hcDpbXSxkaXJlY3Rpb25hbFNoYWRvd01hdHJpeDpbXSxzcG90OltdLHNwb3RTaGFkb3c6W10sc3BvdFNoYWRvd01hcDpbXSxzcG90U2hhZG93TWF0cml4OltdLHJlY3RBcmVhOltdLHJlY3RBcmVhTFRDMTpudWxsLHJlY3RBcmVhTFRDMjpudWxsLHBvaW50OltdLHBvaW50U2hhZG93OltdLHBvaW50U2hhZG93TWFwOltdLHBvaW50U2hhZG93TWF0cml4OltdLGhlbWk6W119O2ZvcihsZXQgdD0wO3Q8OTt0Kyspby5wcm9iZS5wdXNoKG5ldyBINXQpO2NvbnN0IGE9bmV3IEg1dCxzPW5ldyBnM3QsbD1uZXcgZzN0O3JldHVybntzZXR1cDpmdW5jdGlvbiBjKHIpe2xldCBhPTAscz0wLGw9MDtmb3IobGV0IHQ9MDt0PDk7dCsrKW8ucHJvYmVbdF0uc2V0KDAsMCwwKTtsZXQgYz0wLHU9MCxoPTAsZD0wLHA9MCxmPTAsbT0wLGc9MDtyLnNvcnQoajh0KTtmb3IobGV0IHQ9MCxlPXIubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9clt0XSxfPWUuY29sb3IseT1lLmludGVuc2l0eSx2PWUuZGlzdGFuY2UsYj1lLnNoYWRvdyYmZS5zaGFkb3cubWFwP2Uuc2hhZG93Lm1hcC50ZXh0dXJlOm51bGw7aWYoZS5pc0FtYmllbnRMaWdodClhKz1fLnIqeSxzKz1fLmcqeSxsKz1fLmIqeTtlbHNlIGlmKGUuaXNMaWdodFByb2JlKWZvcihsZXQgdD0wO3Q8OTt0Kyspby5wcm9iZVt0XS5hZGRTY2FsZWRWZWN0b3IoZS5zaC5jb2VmZmljaWVudHNbdF0seSk7ZWxzZSBpZihlLmlzRGlyZWN0aW9uYWxMaWdodCl7Y29uc3QgdD1uLmdldChlKTtpZih0LmNvbG9yLmNvcHkoZS5jb2xvcikubXVsdGlwbHlTY2FsYXIoZS5pbnRlbnNpdHkpLGUuY2FzdFNoYWRvdyl7Y29uc3QgdD1lLnNoYWRvdyxuPWkuZ2V0KGUpO24uc2hhZG93Qmlhcz10LmJpYXMsbi5zaGFkb3dOb3JtYWxCaWFzPXQubm9ybWFsQmlhcyxuLnNoYWRvd1JhZGl1cz10LnJhZGl1cyxuLnNoYWRvd01hcFNpemU9dC5tYXBTaXplLG8uZGlyZWN0aW9uYWxTaGFkb3dbY109bixvLmRpcmVjdGlvbmFsU2hhZG93TWFwW2NdPWIsby5kaXJlY3Rpb25hbFNoYWRvd01hdHJpeFtjXT1lLnNoYWRvdy5tYXRyaXgsZisrfW8uZGlyZWN0aW9uYWxbY109dCxjKyt9ZWxzZSBpZihlLmlzU3BvdExpZ2h0KXtjb25zdCB0PW4uZ2V0KGUpO2lmKHQucG9zaXRpb24uc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGUubWF0cml4V29ybGQpLHQuY29sb3IuY29weShfKS5tdWx0aXBseVNjYWxhcih5KSx0LmRpc3RhbmNlPXYsdC5jb25lQ29zPU1hdGguY29zKGUuYW5nbGUpLHQucGVudW1icmFDb3M9TWF0aC5jb3MoZS5hbmdsZSooMS1lLnBlbnVtYnJhKSksdC5kZWNheT1lLmRlY2F5LGUuY2FzdFNoYWRvdyl7Y29uc3QgdD1lLnNoYWRvdyxuPWkuZ2V0KGUpO24uc2hhZG93Qmlhcz10LmJpYXMsbi5zaGFkb3dOb3JtYWxCaWFzPXQubm9ybWFsQmlhcyxuLnNoYWRvd1JhZGl1cz10LnJhZGl1cyxuLnNoYWRvd01hcFNpemU9dC5tYXBTaXplLG8uc3BvdFNoYWRvd1toXT1uLG8uc3BvdFNoYWRvd01hcFtoXT1iLG8uc3BvdFNoYWRvd01hdHJpeFtoXT1lLnNoYWRvdy5tYXRyaXgsZysrfW8uc3BvdFtoXT10LGgrK31lbHNlIGlmKGUuaXNSZWN0QXJlYUxpZ2h0KXtjb25zdCB0PW4uZ2V0KGUpO3QuY29sb3IuY29weShfKS5tdWx0aXBseVNjYWxhcih5KSx0LmhhbGZXaWR0aC5zZXQoLjUqZS53aWR0aCwwLDApLHQuaGFsZkhlaWdodC5zZXQoMCwuNSplLmhlaWdodCwwKSxvLnJlY3RBcmVhW2RdPXQsZCsrfWVsc2UgaWYoZS5pc1BvaW50TGlnaHQpe2NvbnN0IHQ9bi5nZXQoZSk7aWYodC5jb2xvci5jb3B5KGUuY29sb3IpLm11bHRpcGx5U2NhbGFyKGUuaW50ZW5zaXR5KSx0LmRpc3RhbmNlPWUuZGlzdGFuY2UsdC5kZWNheT1lLmRlY2F5LGUuY2FzdFNoYWRvdyl7Y29uc3QgdD1lLnNoYWRvdyxuPWkuZ2V0KGUpO24uc2hhZG93Qmlhcz10LmJpYXMsbi5zaGFkb3dOb3JtYWxCaWFzPXQubm9ybWFsQmlhcyxuLnNoYWRvd1JhZGl1cz10LnJhZGl1cyxuLnNoYWRvd01hcFNpemU9dC5tYXBTaXplLG4uc2hhZG93Q2FtZXJhTmVhcj10LmNhbWVyYS5uZWFyLG4uc2hhZG93Q2FtZXJhRmFyPXQuY2FtZXJhLmZhcixvLnBvaW50U2hhZG93W3VdPW4sby5wb2ludFNoYWRvd01hcFt1XT1iLG8ucG9pbnRTaGFkb3dNYXRyaXhbdV09ZS5zaGFkb3cubWF0cml4LG0rK31vLnBvaW50W3VdPXQsdSsrfWVsc2UgaWYoZS5pc0hlbWlzcGhlcmVMaWdodCl7Y29uc3QgdD1uLmdldChlKTt0LnNreUNvbG9yLmNvcHkoZS5jb2xvcikubXVsdGlwbHlTY2FsYXIoeSksdC5ncm91bmRDb2xvci5jb3B5KGUuZ3JvdW5kQ29sb3IpLm11bHRpcGx5U2NhbGFyKHkpLG8uaGVtaVtwXT10LHArK319ZD4wJiYoZS5pc1dlYkdMMnx8ITA9PT10LmhhcygiT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIik/KG8ucmVjdEFyZWFMVEMxPWI2dC5MVENfRkxPQVRfMSxvLnJlY3RBcmVhTFRDMj1iNnQuTFRDX0ZMT0FUXzIpOiEwPT09dC5oYXMoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXRfbGluZWFyIik/KG8ucmVjdEFyZWFMVEMxPWI2dC5MVENfSEFMRl8xLG8ucmVjdEFyZWFMVEMyPWI2dC5MVENfSEFMRl8yKTpjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBVbmFibGUgdG8gdXNlIFJlY3RBcmVhTGlnaHQuIE1pc3NpbmcgV2ViR0wgZXh0ZW5zaW9ucy4iKSksby5hbWJpZW50WzBdPWEsby5hbWJpZW50WzFdPXMsby5hbWJpZW50WzJdPWw7Y29uc3QgXz1vLmhhc2g7Xy5kaXJlY3Rpb25hbExlbmd0aD09PWMmJl8ucG9pbnRMZW5ndGg9PT11JiZfLnNwb3RMZW5ndGg9PT1oJiZfLnJlY3RBcmVhTGVuZ3RoPT09ZCYmXy5oZW1pTGVuZ3RoPT09cCYmXy5udW1EaXJlY3Rpb25hbFNoYWRvd3M9PT1mJiZfLm51bVBvaW50U2hhZG93cz09PW0mJl8ubnVtU3BvdFNoYWRvd3M9PT1nfHwoby5kaXJlY3Rpb25hbC5sZW5ndGg9YyxvLnNwb3QubGVuZ3RoPWgsby5yZWN0QXJlYS5sZW5ndGg9ZCxvLnBvaW50Lmxlbmd0aD11LG8uaGVtaS5sZW5ndGg9cCxvLmRpcmVjdGlvbmFsU2hhZG93Lmxlbmd0aD1mLG8uZGlyZWN0aW9uYWxTaGFkb3dNYXAubGVuZ3RoPWYsby5wb2ludFNoYWRvdy5sZW5ndGg9bSxvLnBvaW50U2hhZG93TWFwLmxlbmd0aD1tLG8uc3BvdFNoYWRvdy5sZW5ndGg9ZyxvLnNwb3RTaGFkb3dNYXAubGVuZ3RoPWcsby5kaXJlY3Rpb25hbFNoYWRvd01hdHJpeC5sZW5ndGg9ZixvLnBvaW50U2hhZG93TWF0cml4Lmxlbmd0aD1tLG8uc3BvdFNoYWRvd01hdHJpeC5sZW5ndGg9ZyxfLmRpcmVjdGlvbmFsTGVuZ3RoPWMsXy5wb2ludExlbmd0aD11LF8uc3BvdExlbmd0aD1oLF8ucmVjdEFyZWFMZW5ndGg9ZCxfLmhlbWlMZW5ndGg9cCxfLm51bURpcmVjdGlvbmFsU2hhZG93cz1mLF8ubnVtUG9pbnRTaGFkb3dzPW0sXy5udW1TcG90U2hhZG93cz1nLG8udmVyc2lvbj1VOHQrKyl9LHNldHVwVmlldzpmdW5jdGlvbiB1KHQsZSl7bGV0IG49MCxpPTAscj0wLGM9MCx1PTA7Y29uc3QgaD1lLm1hdHJpeFdvcmxkSW52ZXJzZTtmb3IobGV0IGU9MCxkPXQubGVuZ3RoO2U8ZDtlKyspe2NvbnN0IGQ9dFtlXTtpZihkLmlzRGlyZWN0aW9uYWxMaWdodCl7Y29uc3QgdD1vLmRpcmVjdGlvbmFsW25dO3QuZGlyZWN0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihkLm1hdHJpeFdvcmxkKSxhLnNldEZyb21NYXRyaXhQb3NpdGlvbihkLnRhcmdldC5tYXRyaXhXb3JsZCksdC5kaXJlY3Rpb24uc3ViKGEpLHQuZGlyZWN0aW9uLnRyYW5zZm9ybURpcmVjdGlvbihoKSxuKyt9ZWxzZSBpZihkLmlzU3BvdExpZ2h0KXtjb25zdCB0PW8uc3BvdFtyXTt0LnBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihkLm1hdHJpeFdvcmxkKSx0LnBvc2l0aW9uLmFwcGx5TWF0cml4NChoKSx0LmRpcmVjdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24oZC5tYXRyaXhXb3JsZCksYS5zZXRGcm9tTWF0cml4UG9zaXRpb24oZC50YXJnZXQubWF0cml4V29ybGQpLHQuZGlyZWN0aW9uLnN1YihhKSx0LmRpcmVjdGlvbi50cmFuc2Zvcm1EaXJlY3Rpb24oaCkscisrfWVsc2UgaWYoZC5pc1JlY3RBcmVhTGlnaHQpe2NvbnN0IHQ9by5yZWN0QXJlYVtjXTt0LnBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihkLm1hdHJpeFdvcmxkKSx0LnBvc2l0aW9uLmFwcGx5TWF0cml4NChoKSxsLmlkZW50aXR5KCkscy5jb3B5KGQubWF0cml4V29ybGQpLHMucHJlbXVsdGlwbHkoaCksbC5leHRyYWN0Um90YXRpb24ocyksdC5oYWxmV2lkdGguc2V0KC41KmQud2lkdGgsMCwwKSx0LmhhbGZIZWlnaHQuc2V0KDAsLjUqZC5oZWlnaHQsMCksdC5oYWxmV2lkdGguYXBwbHlNYXRyaXg0KGwpLHQuaGFsZkhlaWdodC5hcHBseU1hdHJpeDQobCksYysrfWVsc2UgaWYoZC5pc1BvaW50TGlnaHQpe2NvbnN0IHQ9by5wb2ludFtpXTt0LnBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihkLm1hdHJpeFdvcmxkKSx0LnBvc2l0aW9uLmFwcGx5TWF0cml4NChoKSxpKyt9ZWxzZSBpZihkLmlzSGVtaXNwaGVyZUxpZ2h0KXtjb25zdCB0PW8uaGVtaVt1XTt0LmRpcmVjdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24oZC5tYXRyaXhXb3JsZCksdC5kaXJlY3Rpb24udHJhbnNmb3JtRGlyZWN0aW9uKGgpLHQuZGlyZWN0aW9uLm5vcm1hbGl6ZSgpLHUrK319fSxzdGF0ZTpvfX1mdW5jdGlvbiBXOHQodCxlKXtjb25zdCBuPW5ldyBHOHQodCxlKSxpPVtdLHI9W107cmV0dXJue2luaXQ6ZnVuY3Rpb24gbygpe2kubGVuZ3RoPTAsci5sZW5ndGg9MH0sc3RhdGU6e2xpZ2h0c0FycmF5Omksc2hhZG93c0FycmF5OnIsbGlnaHRzOm59LHNldHVwTGlnaHRzOmZ1bmN0aW9uIGEoKXtuLnNldHVwKGkpfSxzZXR1cExpZ2h0c1ZpZXc6ZnVuY3Rpb24gcyh0KXtuLnNldHVwVmlldyhpLHQpfSxwdXNoTGlnaHQ6ZnVuY3Rpb24gbCh0KXtpLnB1c2godCl9LHB1c2hTaGFkb3c6ZnVuY3Rpb24gYyh0KXtyLnB1c2godCl9fX1mdW5jdGlvbiBxOHQodCxlKXtsZXQgbj1uZXcgV2Vha01hcDtyZXR1cm57Z2V0OmZ1bmN0aW9uIGkocixvPTApe2xldCBhO3JldHVybiExPT09bi5oYXMocik/KGE9bmV3IFc4dCh0LGUpLG4uc2V0KHIsW2FdKSk6bz49bi5nZXQocikubGVuZ3RoPyhhPW5ldyBXOHQodCxlKSxuLmdldChyKS5wdXNoKGEpKTphPW4uZ2V0KHIpW29dLGF9LGRpc3Bvc2U6ZnVuY3Rpb24gcigpe249bmV3IFdlYWtNYXB9fX1jbGFzcyBZOHQgZXh0ZW5kcyB0NHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9Ik1lc2hEZXB0aE1hdGVyaWFsIix0aGlzLmRlcHRoUGFja2luZz0zMjAwLHRoaXMubWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50TWFwPW51bGwsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz0wLHRoaXMud2lyZWZyYW1lPSExLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPTEsdGhpcy5mb2c9ITEsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmRlcHRoUGFja2luZz10LmRlcHRoUGFja2luZyx0aGlzLm1hcD10Lm1hcCx0aGlzLmFscGhhTWFwPXQuYWxwaGFNYXAsdGhpcy5kaXNwbGFjZW1lbnRNYXA9dC5kaXNwbGFjZW1lbnRNYXAsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT10LmRpc3BsYWNlbWVudFNjYWxlLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz10LmRpc3BsYWNlbWVudEJpYXMsdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpc319WTh0LnByb3RvdHlwZS5pc01lc2hEZXB0aE1hdGVyaWFsPSEwO2NsYXNzIFg4dCBleHRlbmRzIHQ0dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iTWVzaERpc3RhbmNlTWF0ZXJpYWwiLHRoaXMucmVmZXJlbmNlUG9zaXRpb249bmV3IEg1dCx0aGlzLm5lYXJEaXN0YW5jZT0xLHRoaXMuZmFyRGlzdGFuY2U9MWUzLHRoaXMubWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50TWFwPW51bGwsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz0wLHRoaXMuZm9nPSExLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5yZWZlcmVuY2VQb3NpdGlvbi5jb3B5KHQucmVmZXJlbmNlUG9zaXRpb24pLHRoaXMubmVhckRpc3RhbmNlPXQubmVhckRpc3RhbmNlLHRoaXMuZmFyRGlzdGFuY2U9dC5mYXJEaXN0YW5jZSx0aGlzLm1hcD10Lm1hcCx0aGlzLmFscGhhTWFwPXQuYWxwaGFNYXAsdGhpcy5kaXNwbGFjZW1lbnRNYXA9dC5kaXNwbGFjZW1lbnRNYXAsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT10LmRpc3BsYWNlbWVudFNjYWxlLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz10LmRpc3BsYWNlbWVudEJpYXMsdGhpc319WDh0LnByb3RvdHlwZS5pc01lc2hEaXN0YW5jZU1hdGVyaWFsPSEwO2Z1bmN0aW9uICQ4dCh0LGUsbil7bGV0IGk9bmV3IG02dDtjb25zdCByPW5ldyBDNXQsbz1uZXcgQzV0LGE9bmV3IFI1dCxzPW5ldyBZOHQoe2RlcHRoUGFja2luZzozMjAxfSksbD1uZXcgWDh0LGM9e30sdT1uLm1heFRleHR1cmVTaXplLGg9ezA6MSwxOjAsMjoyfSxkPW5ldyBuNnQoe2RlZmluZXM6e1NBTVBMRV9SQVRFOjIvOCxIQUxGX1NBTVBMRV9SQVRFOjEvOH0sdW5pZm9ybXM6e3NoYWRvd19wYXNzOnt2YWx1ZTpudWxsfSxyZXNvbHV0aW9uOnt2YWx1ZTpuZXcgQzV0fSxyYWRpdXM6e3ZhbHVlOjR9fSx2ZXJ0ZXhTaGFkZXI6InZvaWQgbWFpbigpIHtcblx0Z2xfUG9zaXRpb24gPSB2ZWM0KCBwb3NpdGlvbiwgMS4wICk7XG59IixmcmFnbWVudFNoYWRlcjoidW5pZm9ybSBzYW1wbGVyMkQgc2hhZG93X3Bhc3M7XG51bmlmb3JtIHZlYzIgcmVzb2x1dGlvbjtcbnVuaWZvcm0gZmxvYXQgcmFkaXVzO1xuI2luY2x1ZGUgPHBhY2tpbmc+XG52b2lkIG1haW4oKSB7XG5cdGZsb2F0IG1lYW4gPSAwLjA7XG5cdGZsb2F0IHNxdWFyZWRfbWVhbiA9IDAuMDtcblx0ZmxvYXQgZGVwdGggPSB1bnBhY2tSR0JBVG9EZXB0aCggdGV4dHVyZTJEKCBzaGFkb3dfcGFzcywgKCBnbF9GcmFnQ29vcmQueHkgKSAvIHJlc29sdXRpb24gKSApO1xuXHRmb3IgKCBmbG9hdCBpID0gLTEuMDsgaSA8IDEuMCA7IGkgKz0gU0FNUExFX1JBVEUpIHtcblx0XHQjaWZkZWYgSE9SSVpPTlRBTF9QQVNTXG5cdFx0XHR2ZWMyIGRpc3RyaWJ1dGlvbiA9IHVucGFja1JHQkFUbzJIYWxmKCB0ZXh0dXJlMkQoIHNoYWRvd19wYXNzLCAoIGdsX0ZyYWdDb29yZC54eSArIHZlYzIoIGksIDAuMCApICogcmFkaXVzICkgLyByZXNvbHV0aW9uICkgKTtcblx0XHRcdG1lYW4gKz0gZGlzdHJpYnV0aW9uLng7XG5cdFx0XHRzcXVhcmVkX21lYW4gKz0gZGlzdHJpYnV0aW9uLnkgKiBkaXN0cmlidXRpb24ueSArIGRpc3RyaWJ1dGlvbi54ICogZGlzdHJpYnV0aW9uLng7XG5cdFx0I2Vsc2Vcblx0XHRcdGZsb2F0IGRlcHRoID0gdW5wYWNrUkdCQVRvRGVwdGgoIHRleHR1cmUyRCggc2hhZG93X3Bhc3MsICggZ2xfRnJhZ0Nvb3JkLnh5ICsgdmVjMiggMC4wLCBpICkgKiByYWRpdXMgKSAvIHJlc29sdXRpb24gKSApO1xuXHRcdFx0bWVhbiArPSBkZXB0aDtcblx0XHRcdHNxdWFyZWRfbWVhbiArPSBkZXB0aCAqIGRlcHRoO1xuXHRcdCNlbmRpZlxuXHR9XG5cdG1lYW4gPSBtZWFuICogSEFMRl9TQU1QTEVfUkFURTtcblx0c3F1YXJlZF9tZWFuID0gc3F1YXJlZF9tZWFuICogSEFMRl9TQU1QTEVfUkFURTtcblx0ZmxvYXQgc3RkX2RldiA9IHNxcnQoIHNxdWFyZWRfbWVhbiAtIG1lYW4gKiBtZWFuICk7XG5cdGdsX0ZyYWdDb2xvciA9IHBhY2sySGFsZlRvUkdCQSggdmVjMiggbWVhbiwgc3RkX2RldiApICk7XG59In0pLHA9ZC5jbG9uZSgpO3AuZGVmaW5lcy5IT1JJWk9OVEFMX1BBU1M9MTtjb25zdCBmPW5ldyBONHQ7Zi5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgaDR0KG5ldyBGbG9hdDMyQXJyYXkoWy0xLC0xLC41LDMsLTEsLjUsLTEsMywuNV0pLDMpKTtjb25zdCBtPW5ldyBLNHQoZixkKSxnPXRoaXM7ZnVuY3Rpb24gXyhuLGkpe2NvbnN0IHI9ZS51cGRhdGUobSk7ZC51bmlmb3Jtcy5zaGFkb3dfcGFzcy52YWx1ZT1uLm1hcC50ZXh0dXJlLGQudW5pZm9ybXMucmVzb2x1dGlvbi52YWx1ZT1uLm1hcFNpemUsZC51bmlmb3Jtcy5yYWRpdXMudmFsdWU9bi5yYWRpdXMsdC5zZXRSZW5kZXJUYXJnZXQobi5tYXBQYXNzKSx0LmNsZWFyKCksdC5yZW5kZXJCdWZmZXJEaXJlY3QoaSxudWxsLHIsZCxtLG51bGwpLHAudW5pZm9ybXMuc2hhZG93X3Bhc3MudmFsdWU9bi5tYXBQYXNzLnRleHR1cmUscC51bmlmb3Jtcy5yZXNvbHV0aW9uLnZhbHVlPW4ubWFwU2l6ZSxwLnVuaWZvcm1zLnJhZGl1cy52YWx1ZT1uLnJhZGl1cyx0LnNldFJlbmRlclRhcmdldChuLm1hcCksdC5jbGVhcigpLHQucmVuZGVyQnVmZmVyRGlyZWN0KGksbnVsbCxyLHAsbSxudWxsKX1mdW5jdGlvbiB5KGUsbixpLHIsbyxhLHUpe2xldCBkPW51bGw7Y29uc3QgcD0hMD09PXIuaXNQb2ludExpZ2h0P2UuY3VzdG9tRGlzdGFuY2VNYXRlcmlhbDplLmN1c3RvbURlcHRoTWF0ZXJpYWw7aWYoZD12b2lkIDAhPT1wP3A6ITA9PT1yLmlzUG9pbnRMaWdodD9sOnMsdC5sb2NhbENsaXBwaW5nRW5hYmxlZCYmITA9PT1pLmNsaXBTaGFkb3dzJiYwIT09aS5jbGlwcGluZ1BsYW5lcy5sZW5ndGgpe2NvbnN0IHQ9ZC51dWlkLGU9aS51dWlkO2xldCBuPWNbdF07dm9pZCAwPT09biYmKG49e30sY1t0XT1uKTtsZXQgcj1uW2VdO3ZvaWQgMD09PXImJihyPWQuY2xvbmUoKSxuW2VdPXIpLGQ9cn1yZXR1cm4gZC52aXNpYmxlPWkudmlzaWJsZSxkLndpcmVmcmFtZT1pLndpcmVmcmFtZSxkLnNpZGU9Mz09PXU/bnVsbCE9PWkuc2hhZG93U2lkZT9pLnNoYWRvd1NpZGU6aS5zaWRlOm51bGwhPT1pLnNoYWRvd1NpZGU/aS5zaGFkb3dTaWRlOmhbaS5zaWRlXSxkLmNsaXBTaGFkb3dzPWkuY2xpcFNoYWRvd3MsZC5jbGlwcGluZ1BsYW5lcz1pLmNsaXBwaW5nUGxhbmVzLGQuY2xpcEludGVyc2VjdGlvbj1pLmNsaXBJbnRlcnNlY3Rpb24sZC53aXJlZnJhbWVMaW5ld2lkdGg9aS53aXJlZnJhbWVMaW5ld2lkdGgsZC5saW5ld2lkdGg9aS5saW5ld2lkdGgsITA9PT1yLmlzUG9pbnRMaWdodCYmITA9PT1kLmlzTWVzaERpc3RhbmNlTWF0ZXJpYWwmJihkLnJlZmVyZW5jZVBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihyLm1hdHJpeFdvcmxkKSxkLm5lYXJEaXN0YW5jZT1vLGQuZmFyRGlzdGFuY2U9YSksZH1mdW5jdGlvbiB2KG4scixvLGEscyl7aWYoITE9PT1uLnZpc2libGUpcmV0dXJuO2lmKG4ubGF5ZXJzLnRlc3Qoci5sYXllcnMpJiYobi5pc01lc2h8fG4uaXNMaW5lfHxuLmlzUG9pbnRzKSYmKG4uY2FzdFNoYWRvd3x8bi5yZWNlaXZlU2hhZG93JiYzPT09cykmJighbi5mcnVzdHVtQ3VsbGVkfHxpLmludGVyc2VjdHNPYmplY3QobikpKXtuLm1vZGVsVmlld01hdHJpeC5tdWx0aXBseU1hdHJpY2VzKG8ubWF0cml4V29ybGRJbnZlcnNlLG4ubWF0cml4V29ybGQpO2NvbnN0IGk9ZS51cGRhdGUobikscj1uLm1hdGVyaWFsO2lmKEFycmF5LmlzQXJyYXkocikpe2NvbnN0IGU9aS5ncm91cHM7Zm9yKGxldCBsPTAsYz1lLmxlbmd0aDtsPGM7bCsrKXtjb25zdCBjPWVbbF0sdT1yW2MubWF0ZXJpYWxJbmRleF07aWYodSYmdS52aXNpYmxlKXtjb25zdCBlPXkobiwwLHUsYSxvLm5lYXIsby5mYXIscyk7dC5yZW5kZXJCdWZmZXJEaXJlY3QobyxudWxsLGksZSxuLGMpfX19ZWxzZSBpZihyLnZpc2libGUpe2NvbnN0IGU9eShuLDAscixhLG8ubmVhcixvLmZhcixzKTt0LnJlbmRlckJ1ZmZlckRpcmVjdChvLG51bGwsaSxlLG4sbnVsbCl9fWNvbnN0IGw9bi5jaGlsZHJlbjtmb3IobGV0IHQ9MCxlPWwubGVuZ3RoO3Q8ZTt0KyspdihsW3RdLHIsbyxhLHMpfXRoaXMuZW5hYmxlZD0hMSx0aGlzLmF1dG9VcGRhdGU9ITAsdGhpcy5uZWVkc1VwZGF0ZT0hMSx0aGlzLnR5cGU9MSx0aGlzLnJlbmRlcj1mdW5jdGlvbihlLG4scyl7aWYoITE9PT1nLmVuYWJsZWQpcmV0dXJuO2lmKCExPT09Zy5hdXRvVXBkYXRlJiYhMT09PWcubmVlZHNVcGRhdGUpcmV0dXJuO2lmKDA9PT1lLmxlbmd0aClyZXR1cm47Y29uc3QgbD10LmdldFJlbmRlclRhcmdldCgpLGM9dC5nZXRBY3RpdmVDdWJlRmFjZSgpLGg9dC5nZXRBY3RpdmVNaXBtYXBMZXZlbCgpLGQ9dC5zdGF0ZTtkLnNldEJsZW5kaW5nKDApLGQuYnVmZmVycy5jb2xvci5zZXRDbGVhcigxLDEsMSwxKSxkLmJ1ZmZlcnMuZGVwdGguc2V0VGVzdCghMCksZC5zZXRTY2lzc29yVGVzdCghMSk7Zm9yKGxldCBsPTAsYz1lLmxlbmd0aDtsPGM7bCsrKXtjb25zdCBjPWVbbF0saD1jLnNoYWRvdztpZih2b2lkIDA9PT1oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMU2hhZG93TWFwOiIsYywiaGFzIG5vIHNoYWRvdy4iKTtjb250aW51ZX1pZighMT09PWguYXV0b1VwZGF0ZSYmITE9PT1oLm5lZWRzVXBkYXRlKWNvbnRpbnVlO3IuY29weShoLm1hcFNpemUpO2NvbnN0IHA9aC5nZXRGcmFtZUV4dGVudHMoKTtpZihyLm11bHRpcGx5KHApLG8uY29weShoLm1hcFNpemUpLChyLng+dXx8ci55PnUpJiYoci54PnUmJihvLng9TWF0aC5mbG9vcih1L3AueCksci54PW8ueCpwLngsaC5tYXBTaXplLng9by54KSxyLnk+dSYmKG8ueT1NYXRoLmZsb29yKHUvcC55KSxyLnk9by55KnAueSxoLm1hcFNpemUueT1vLnkpKSxudWxsPT09aC5tYXAmJiFoLmlzUG9pbnRMaWdodFNoYWRvdyYmMz09PXRoaXMudHlwZSl7Y29uc3QgdD17bWluRmlsdGVyOnAydCxtYWdGaWx0ZXI6cDJ0LGZvcm1hdDpTMnR9O2gubWFwPW5ldyBPNXQoci54LHIueSx0KSxoLm1hcC50ZXh0dXJlLm5hbWU9Yy5uYW1lKyIuc2hhZG93TWFwIixoLm1hcFBhc3M9bmV3IE81dChyLngsci55LHQpLGguY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX1pZihudWxsPT09aC5tYXApe2gubWFwPW5ldyBPNXQoci54LHIueSx7bWluRmlsdGVyOnUydCxtYWdGaWx0ZXI6dTJ0LGZvcm1hdDpTMnR9KSxoLm1hcC50ZXh0dXJlLm5hbWU9Yy5uYW1lKyIuc2hhZG93TWFwIixoLmNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9dC5zZXRSZW5kZXJUYXJnZXQoaC5tYXApLHQuY2xlYXIoKTtjb25zdCBmPWguZ2V0Vmlld3BvcnRDb3VudCgpO2ZvcihsZXQgdD0wO3Q8Zjt0Kyspe2NvbnN0IGU9aC5nZXRWaWV3cG9ydCh0KTthLnNldChvLngqZS54LG8ueSplLnksby54KmUueixvLnkqZS53KSxkLnZpZXdwb3J0KGEpLGgudXBkYXRlTWF0cmljZXMoYyx0KSxpPWguZ2V0RnJ1c3R1bSgpLHYobixzLGguY2FtZXJhLGMsdGhpcy50eXBlKX1oLmlzUG9pbnRMaWdodFNoYWRvd3x8MyE9PXRoaXMudHlwZXx8XyhoLHMpLGgubmVlZHNVcGRhdGU9ITF9Zy5uZWVkc1VwZGF0ZT0hMSx0LnNldFJlbmRlclRhcmdldChsLGMsaCl9fWZ1bmN0aW9uIEs4dCh0LGUsbil7Y29uc3QgaT1uLmlzV2ViR0wyO2NvbnN0IHI9bmV3KGZ1bmN0aW9uIG8oKXtsZXQgZT0hMTtjb25zdCBuPW5ldyBSNXQ7bGV0IGk9bnVsbDtjb25zdCByPW5ldyBSNXQoMCwwLDAsMCk7cmV0dXJue3NldE1hc2s6ZnVuY3Rpb24obil7aT09PW58fGV8fCh0LmNvbG9yTWFzayhuLG4sbixuKSxpPW4pfSxzZXRMb2NrZWQ6ZnVuY3Rpb24odCl7ZT10fSxzZXRDbGVhcjpmdW5jdGlvbihlLGksbyxhLHMpeyEwPT09cyYmKGUqPWEsaSo9YSxvKj1hKSxuLnNldChlLGksbyxhKSwhMT09PXIuZXF1YWxzKG4pJiYodC5jbGVhckNvbG9yKGUsaSxvLGEpLHIuY29weShuKSl9LHJlc2V0OmZ1bmN0aW9uKCl7ZT0hMSxpPW51bGwsci5zZXQoLTEsMCwwLDApfX19KSxhPW5ldyhmdW5jdGlvbiBzKCl7bGV0IGU9ITEsbj1udWxsLGk9bnVsbCxyPW51bGw7cmV0dXJue3NldFRlc3Q6ZnVuY3Rpb24odCl7dD9GKDI5MjkpOlYoMjkyOSl9LHNldE1hc2s6ZnVuY3Rpb24oaSl7bj09PWl8fGV8fCh0LmRlcHRoTWFzayhpKSxuPWkpfSxzZXRGdW5jOmZ1bmN0aW9uKGUpe2lmKGkhPT1lKXtpZihlKXN3aXRjaChlKXtjYXNlIDA6dC5kZXB0aEZ1bmMoNTEyKTticmVhaztjYXNlIDE6dC5kZXB0aEZ1bmMoNTE5KTticmVhaztjYXNlIDI6dC5kZXB0aEZ1bmMoNTEzKTticmVhaztjYXNlIDM6dC5kZXB0aEZ1bmMoNTE1KTticmVhaztjYXNlIDQ6dC5kZXB0aEZ1bmMoNTE0KTticmVhaztjYXNlIDU6dC5kZXB0aEZ1bmMoNTE4KTticmVhaztjYXNlIDY6dC5kZXB0aEZ1bmMoNTE2KTticmVhaztjYXNlIDc6dC5kZXB0aEZ1bmMoNTE3KTticmVhaztkZWZhdWx0OnQuZGVwdGhGdW5jKDUxNSl9ZWxzZSB0LmRlcHRoRnVuYyg1MTUpO2k9ZX19LHNldExvY2tlZDpmdW5jdGlvbih0KXtlPXR9LHNldENsZWFyOmZ1bmN0aW9uKGUpe3IhPT1lJiYodC5jbGVhckRlcHRoKGUpLHI9ZSl9LHJlc2V0OmZ1bmN0aW9uKCl7ZT0hMSxuPW51bGwsaT1udWxsLHI9bnVsbH19fSksbD1uZXcoZnVuY3Rpb24gYygpe2xldCBlPSExLG49bnVsbCxpPW51bGwscj1udWxsLG89bnVsbCxhPW51bGwscz1udWxsLGw9bnVsbCxjPW51bGw7cmV0dXJue3NldFRlc3Q6ZnVuY3Rpb24odCl7ZXx8KHQ/RigyOTYwKTpWKDI5NjApKX0sc2V0TWFzazpmdW5jdGlvbihpKXtuPT09aXx8ZXx8KHQuc3RlbmNpbE1hc2soaSksbj1pKX0sc2V0RnVuYzpmdW5jdGlvbihlLG4sYSl7aT09PWUmJnI9PT1uJiZvPT09YXx8KHQuc3RlbmNpbEZ1bmMoZSxuLGEpLGk9ZSxyPW4sbz1hKX0sc2V0T3A6ZnVuY3Rpb24oZSxuLGkpe2E9PT1lJiZzPT09biYmbD09PWl8fCh0LnN0ZW5jaWxPcChlLG4saSksYT1lLHM9bixsPWkpfSxzZXRMb2NrZWQ6ZnVuY3Rpb24odCl7ZT10fSxzZXRDbGVhcjpmdW5jdGlvbihlKXtjIT09ZSYmKHQuY2xlYXJTdGVuY2lsKGUpLGM9ZSl9LHJlc2V0OmZ1bmN0aW9uKCl7ZT0hMSxuPW51bGwsaT1udWxsLHI9bnVsbCxvPW51bGwsYT1udWxsLHM9bnVsbCxsPW51bGwsYz1udWxsfX19KTtsZXQgdT17fSxoPW51bGwsZD17fSxwPW51bGwsZj0hMSxtPW51bGwsZz1udWxsLF89bnVsbCx5PW51bGwsdj1udWxsLGI9bnVsbCx4PW51bGwsdz0hMSxTPW51bGwsTT1udWxsLEU9bnVsbCxUPW51bGwsQz1udWxsO2NvbnN0IEE9dC5nZXRQYXJhbWV0ZXIoMzU2NjEpO2xldCBrPSExLEw9MDtjb25zdCBQPXQuZ2V0UGFyYW1ldGVyKDc5MzgpOy0xIT09UC5pbmRleE9mKCJXZWJHTCIpPyhMPXBhcnNlRmxvYXQoL15XZWJHTCAoXGQpLy5leGVjKFApWzFdKSxrPUw+PTEpOi0xIT09UC5pbmRleE9mKCJPcGVuR0wgRVMiKSYmKEw9cGFyc2VGbG9hdCgvXk9wZW5HTCBFUyAoXGQpLy5leGVjKFApWzFdKSxrPUw+PTIpO2xldCBOPW51bGwsST17fTtjb25zdCBSPXQuZ2V0UGFyYW1ldGVyKDMwODgpLE89dC5nZXRQYXJhbWV0ZXIoMjk3OCksej0obmV3IFI1dCkuZnJvbUFycmF5KFIpLEQ9KG5ldyBSNXQpLmZyb21BcnJheShPKTtmdW5jdGlvbiBCKGUsbixpKXtjb25zdCByPW5ldyBVaW50OEFycmF5KDQpLG89dC5jcmVhdGVUZXh0dXJlKCk7dC5iaW5kVGV4dHVyZShlLG8pLHQudGV4UGFyYW1ldGVyaShlLDEwMjQxLDk3MjgpLHQudGV4UGFyYW1ldGVyaShlLDEwMjQwLDk3MjgpO2ZvcihsZXQgZT0wO2U8aTtlKyspdC50ZXhJbWFnZTJEKG4rZSwwLDY0MDgsMSwxLDAsNjQwOCw1MTIxLHIpO3JldHVybiBvfWNvbnN0IEg9e307ZnVuY3Rpb24gRihlKXshMCE9PXVbZV0mJih0LmVuYWJsZShlKSx1W2VdPSEwKX1mdW5jdGlvbiBWKGUpeyExIT09dVtlXSYmKHQuZGlzYWJsZShlKSx1W2VdPSExKX1IWzM1NTNdPUIoMzU1MywzNTUzLDEpLEhbMzQwNjddPUIoMzQwNjcsMzQwNjksNiksci5zZXRDbGVhcigwLDAsMCwxKSxhLnNldENsZWFyKDEpLGwuc2V0Q2xlYXIoMCksRigyOTI5KSxhLnNldEZ1bmMoMyksVyghMSkscSgxKSxGKDI4ODQpLEcoMCk7Y29uc3QgVT17W1EwdF06MzI3NzQsMTAxOjMyNzc4LDEwMjozMjc3OX07aWYoaSlVWzEwM109MzI3NzUsVVsxMDRdPTMyNzc2O2Vsc2V7Y29uc3QgdD1lLmdldCgiRVhUX2JsZW5kX21pbm1heCIpO251bGwhPT10JiYoVVsxMDNdPXQuTUlOX0VYVCxVWzEwNF09dC5NQVhfRVhUKX1jb25zdCBqPXsyMDA6MCwyMDE6MSwyMDI6NzY4LDIwNDo3NzAsMjEwOjc3NiwyMDg6Nzc0LDIwNjo3NzIsMjAzOjc2OSwyMDU6NzcxLDIwOTo3NzUsMjA3Ojc3M307ZnVuY3Rpb24gRyhlLG4saSxyLG8sYSxzLGwpe2lmKDAhPT1lKXtpZighMT09PWYmJihGKDMwNDIpLGY9ITApLDU9PT1lKW89b3x8bixhPWF8fGkscz1zfHxyLG49PT1nJiZvPT09dnx8KHQuYmxlbmRFcXVhdGlvblNlcGFyYXRlKFVbbl0sVVtvXSksZz1uLHY9byksaT09PV8mJnI9PT15JiZhPT09YiYmcz09PXh8fCh0LmJsZW5kRnVuY1NlcGFyYXRlKGpbaV0saltyXSxqW2FdLGpbc10pLF89aSx5PXIsYj1hLHg9cyksbT1lLHc9bnVsbDtlbHNlIGlmKGUhPT1tfHxsIT09dyl7aWYoZz09PVEwdCYmdj09PVEwdHx8KHQuYmxlbmRFcXVhdGlvbigzMjc3NCksZz1RMHQsdj1RMHQpLGwpc3dpdGNoKGUpe2Nhc2UgMTp0LmJsZW5kRnVuY1NlcGFyYXRlKDEsNzcxLDEsNzcxKTticmVhaztjYXNlIDI6dC5ibGVuZEZ1bmMoMSwxKTticmVhaztjYXNlIDM6dC5ibGVuZEZ1bmNTZXBhcmF0ZSgwLDAsNzY5LDc3MSk7YnJlYWs7Y2FzZSA0OnQuYmxlbmRGdW5jU2VwYXJhdGUoMCw3NjgsMCw3NzApO2JyZWFrO2RlZmF1bHQ6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xTdGF0ZTogSW52YWxpZCBibGVuZGluZzogIixlKX1lbHNlIHN3aXRjaChlKXtjYXNlIDE6dC5ibGVuZEZ1bmNTZXBhcmF0ZSg3NzAsNzcxLDEsNzcxKTticmVhaztjYXNlIDI6dC5ibGVuZEZ1bmMoNzcwLDEpO2JyZWFrO2Nhc2UgMzp0LmJsZW5kRnVuYygwLDc2OSk7YnJlYWs7Y2FzZSA0OnQuYmxlbmRGdW5jKDAsNzY4KTticmVhaztkZWZhdWx0OmNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMU3RhdGU6IEludmFsaWQgYmxlbmRpbmc6ICIsZSl9Xz1udWxsLHk9bnVsbCxiPW51bGwseD1udWxsLG09ZSx3PWx9fWVsc2UhMD09PWYmJihWKDMwNDIpLGY9ITEpfWZ1bmN0aW9uIFcoZSl7UyE9PWUmJih0LmZyb250RmFjZShlPzIzMDQ6MjMwNSksUz1lKX1mdW5jdGlvbiBxKGUpezAhPT1lPyhGKDI4ODQpLGUhPT1NJiZ0LmN1bGxGYWNlKDE9PT1lPzEwMjk6Mj09PWU/MTAyODoxMDMyKSk6VigyODg0KSxNPWV9ZnVuY3Rpb24gWShlLG4saSl7ZT8oRigzMjgyMyksVD09PW4mJkM9PT1pfHwodC5wb2x5Z29uT2Zmc2V0KG4saSksVD1uLEM9aSkpOlYoMzI4MjMpfWZ1bmN0aW9uIFgoZSl7dm9pZCAwPT09ZSYmKGU9MzM5ODQrQS0xKSxOIT09ZSYmKHQuYWN0aXZlVGV4dHVyZShlKSxOPWUpfXJldHVybntidWZmZXJzOntjb2xvcjpyLGRlcHRoOmEsc3RlbmNpbDpsfSxlbmFibGU6RixkaXNhYmxlOlYsYmluZEZyYW1lYnVmZmVyOmZ1bmN0aW9uICQoZSxuKXtyZXR1cm4gbnVsbD09PW4mJm51bGwhPT1oJiYobj1oKSxkW2VdIT09biYmKHQuYmluZEZyYW1lYnVmZmVyKGUsbiksZFtlXT1uLGkmJigzNjAwOT09PWUmJihkWzM2MTYwXT1uKSwzNjE2MD09PWUmJihkWzM2MDA5XT1uKSksITApfSxiaW5kWFJGcmFtZWJ1ZmZlcjpmdW5jdGlvbiBLKGUpe2UhPT1oJiYodC5iaW5kRnJhbWVidWZmZXIoMzYxNjAsZSksaD1lKX0sdXNlUHJvZ3JhbTpmdW5jdGlvbiBaKGUpe3JldHVybiBwIT09ZSYmKHQudXNlUHJvZ3JhbShlKSxwPWUsITApfSxzZXRCbGVuZGluZzpHLHNldE1hdGVyaWFsOmZ1bmN0aW9uIEoodCxlKXsyPT09dC5zaWRlP1YoMjg4NCk6RigyODg0KTtsZXQgbj0xPT09dC5zaWRlO2UmJihuPSFuKSxXKG4pLDE9PT10LmJsZW5kaW5nJiYhMT09PXQudHJhbnNwYXJlbnQ/RygwKTpHKHQuYmxlbmRpbmcsdC5ibGVuZEVxdWF0aW9uLHQuYmxlbmRTcmMsdC5ibGVuZERzdCx0LmJsZW5kRXF1YXRpb25BbHBoYSx0LmJsZW5kU3JjQWxwaGEsdC5ibGVuZERzdEFscGhhLHQucHJlbXVsdGlwbGllZEFscGhhKSxhLnNldEZ1bmModC5kZXB0aEZ1bmMpLGEuc2V0VGVzdCh0LmRlcHRoVGVzdCksYS5zZXRNYXNrKHQuZGVwdGhXcml0ZSksci5zZXRNYXNrKHQuY29sb3JXcml0ZSk7Y29uc3QgaT10LnN0ZW5jaWxXcml0ZTtsLnNldFRlc3QoaSksaSYmKGwuc2V0TWFzayh0LnN0ZW5jaWxXcml0ZU1hc2spLGwuc2V0RnVuYyh0LnN0ZW5jaWxGdW5jLHQuc3RlbmNpbFJlZix0LnN0ZW5jaWxGdW5jTWFzayksbC5zZXRPcCh0LnN0ZW5jaWxGYWlsLHQuc3RlbmNpbFpGYWlsLHQuc3RlbmNpbFpQYXNzKSksWSh0LnBvbHlnb25PZmZzZXQsdC5wb2x5Z29uT2Zmc2V0RmFjdG9yLHQucG9seWdvbk9mZnNldFVuaXRzKSwhMD09PXQuYWxwaGFUb0NvdmVyYWdlP0YoMzI5MjYpOlYoMzI5MjYpfSxzZXRGbGlwU2lkZWQ6VyxzZXRDdWxsRmFjZTpxLHNldExpbmVXaWR0aDpmdW5jdGlvbiBRKGUpe2UhPT1FJiYoayYmdC5saW5lV2lkdGgoZSksRT1lKX0sc2V0UG9seWdvbk9mZnNldDpZLHNldFNjaXNzb3JUZXN0OmZ1bmN0aW9uIHR0KHQpe3Q/RigzMDg5KTpWKDMwODkpfSxhY3RpdmVUZXh0dXJlOlgsYmluZFRleHR1cmU6ZnVuY3Rpb24gZXQoZSxuKXtudWxsPT09TiYmWCgpO2xldCBpPUlbTl07dm9pZCAwPT09aSYmKGk9e3R5cGU6dm9pZCAwLHRleHR1cmU6dm9pZCAwfSxJW05dPWkpLGkudHlwZT09PWUmJmkudGV4dHVyZT09PW58fCh0LmJpbmRUZXh0dXJlKGUsbnx8SFtlXSksaS50eXBlPWUsaS50ZXh0dXJlPW4pfSx1bmJpbmRUZXh0dXJlOmZ1bmN0aW9uIG50KCl7Y29uc3QgZT1JW05dO3ZvaWQgMCE9PWUmJnZvaWQgMCE9PWUudHlwZSYmKHQuYmluZFRleHR1cmUoZS50eXBlLG51bGwpLGUudHlwZT12b2lkIDAsZS50ZXh0dXJlPXZvaWQgMCl9LGNvbXByZXNzZWRUZXhJbWFnZTJEOmZ1bmN0aW9uIGl0KCl7dHJ5e3QuY29tcHJlc3NlZFRleEltYWdlMkQuYXBwbHkodCxhcmd1bWVudHMpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMU3RhdGU6Iix0KX19LHRleEltYWdlMkQ6ZnVuY3Rpb24gcnQoKXt0cnl7dC50ZXhJbWFnZTJELmFwcGx5KHQsYXJndW1lbnRzKX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFN0YXRlOiIsdCl9fSx0ZXhJbWFnZTNEOmZ1bmN0aW9uIG90KCl7dHJ5e3QudGV4SW1hZ2UzRC5hcHBseSh0LGFyZ3VtZW50cyl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xTdGF0ZToiLHQpfX0sc2Npc3NvcjpmdW5jdGlvbiBhdChlKXshMT09PXouZXF1YWxzKGUpJiYodC5zY2lzc29yKGUueCxlLnksZS56LGUudyksei5jb3B5KGUpKX0sdmlld3BvcnQ6ZnVuY3Rpb24gc3QoZSl7ITE9PT1ELmVxdWFscyhlKSYmKHQudmlld3BvcnQoZS54LGUueSxlLnosZS53KSxELmNvcHkoZSkpfSxyZXNldDpmdW5jdGlvbiBsdCgpe3QuZGlzYWJsZSgzMDQyKSx0LmRpc2FibGUoMjg4NCksdC5kaXNhYmxlKDI5MjkpLHQuZGlzYWJsZSgzMjgyMyksdC5kaXNhYmxlKDMwODkpLHQuZGlzYWJsZSgyOTYwKSx0LmRpc2FibGUoMzI5MjYpLHQuYmxlbmRFcXVhdGlvbigzMjc3NCksdC5ibGVuZEZ1bmMoMSwwKSx0LmJsZW5kRnVuY1NlcGFyYXRlKDEsMCwxLDApLHQuY29sb3JNYXNrKCEwLCEwLCEwLCEwKSx0LmNsZWFyQ29sb3IoMCwwLDAsMCksdC5kZXB0aE1hc2soITApLHQuZGVwdGhGdW5jKDUxMyksdC5jbGVhckRlcHRoKDEpLHQuc3RlbmNpbE1hc2soNDI5NDk2NzI5NSksdC5zdGVuY2lsRnVuYyg1MTksMCw0Mjk0OTY3Mjk1KSx0LnN0ZW5jaWxPcCg3NjgwLDc2ODAsNzY4MCksdC5jbGVhclN0ZW5jaWwoMCksdC5jdWxsRmFjZSgxMDI5KSx0LmZyb250RmFjZSgyMzA1KSx0LnBvbHlnb25PZmZzZXQoMCwwKSx0LmFjdGl2ZVRleHR1cmUoMzM5ODQpLHQuYmluZEZyYW1lYnVmZmVyKDM2MTYwLG51bGwpLCEwPT09aSYmKHQuYmluZEZyYW1lYnVmZmVyKDM2MDA5LG51bGwpLHQuYmluZEZyYW1lYnVmZmVyKDM2MDA4LG51bGwpKSx0LnVzZVByb2dyYW0obnVsbCksdC5saW5lV2lkdGgoMSksdC5zY2lzc29yKDAsMCx0LmNhbnZhcy53aWR0aCx0LmNhbnZhcy5oZWlnaHQpLHQudmlld3BvcnQoMCwwLHQuY2FudmFzLndpZHRoLHQuY2FudmFzLmhlaWdodCksdT17fSxOPW51bGwsST17fSxoPW51bGwsZD17fSxwPW51bGwsZj0hMSxtPW51bGwsZz1udWxsLF89bnVsbCx5PW51bGwsdj1udWxsLGI9bnVsbCx4PW51bGwsdz0hMSxTPW51bGwsTT1udWxsLEU9bnVsbCxUPW51bGwsQz1udWxsLHouc2V0KDAsMCx0LmNhbnZhcy53aWR0aCx0LmNhbnZhcy5oZWlnaHQpLEQuc2V0KDAsMCx0LmNhbnZhcy53aWR0aCx0LmNhbnZhcy5oZWlnaHQpLHIucmVzZXQoKSxhLnJlc2V0KCksbC5yZXNldCgpfX19ZnVuY3Rpb24gWjh0KHQsZSxuLGkscixvLGEpe2NvbnN0IHM9ci5pc1dlYkdMMixsPXIubWF4VGV4dHVyZXMsYz1yLm1heEN1YmVtYXBTaXplLHU9ci5tYXhUZXh0dXJlU2l6ZSxoPXIubWF4U2FtcGxlcyxkPW5ldyBXZWFrTWFwO2xldCBwLGY9ITE7dHJ5e2Y9InVuZGVmaW5lZCIhPXR5cGVvZiBPZmZzY3JlZW5DYW52YXMmJm51bGwhPT1uZXcgT2Zmc2NyZWVuQ2FudmFzKDEsMSkuZ2V0Q29udGV4dCgiMmQiKX1jYXRjaCh0KXt9ZnVuY3Rpb24gbSh0LGUpe3JldHVybiBmP25ldyBPZmZzY3JlZW5DYW52YXModCxlKTpkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKX1mdW5jdGlvbiBnKHQsZSxuLGkpe2xldCByPTE7aWYoKHQud2lkdGg+aXx8dC5oZWlnaHQ+aSkmJihyPWkvTWF0aC5tYXgodC53aWR0aCx0LmhlaWdodCkpLHI8MXx8ITA9PT1lKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEhUTUxJbWFnZUVsZW1lbnQmJnQgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50fHwidW5kZWZpbmVkIiE9dHlwZW9mIEhUTUxDYW52YXNFbGVtZW50JiZ0IGluc3RhbmNlb2YgSFRNTENhbnZhc0VsZW1lbnR8fCJ1bmRlZmluZWQiIT10eXBlb2YgSW1hZ2VCaXRtYXAmJnQgaW5zdGFuY2VvZiBJbWFnZUJpdG1hcCl7Y29uc3QgaT1lP2Q1dDpNYXRoLmZsb29yLG89aShyKnQud2lkdGgpLGE9aShyKnQuaGVpZ2h0KTt2b2lkIDA9PT1wJiYocD1tKG8sYSkpO2NvbnN0IHM9bj9tKG8sYSk6cDtzLndpZHRoPW8scy5oZWlnaHQ9YTtyZXR1cm4gcy5nZXRDb250ZXh0KCIyZCIpLmRyYXdJbWFnZSh0LDAsMCxvLGEpLGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVGV4dHVyZSBoYXMgYmVlbiByZXNpemVkIGZyb20gKCIrdC53aWR0aCsieCIrdC5oZWlnaHQrIikgdG8gKCIrbysieCIrYSsiKS4iKSxzfXJldHVybiJkYXRhImluIHQmJmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogSW1hZ2UgaW4gRGF0YVRleHR1cmUgaXMgdG9vIGJpZyAoIit0LndpZHRoKyJ4Iit0LmhlaWdodCsiKS4iKSx0fXJldHVybiB0fWZ1bmN0aW9uIF8odCl7cmV0dXJuIHU1dCh0LndpZHRoKSYmdTV0KHQuaGVpZ2h0KX1mdW5jdGlvbiB5KHQsZSl7cmV0dXJuIHQuZ2VuZXJhdGVNaXBtYXBzJiZlJiZ0Lm1pbkZpbHRlciE9PXUydCYmdC5taW5GaWx0ZXIhPT1wMnR9ZnVuY3Rpb24gdihlLG4scixvLGE9MSl7dC5nZW5lcmF0ZU1pcG1hcChlKTtpLmdldChuKS5fX21heE1pcExldmVsPU1hdGgubG9nMihNYXRoLm1heChyLG8sYSkpfWZ1bmN0aW9uIGIobixpLHIpe2lmKCExPT09cylyZXR1cm4gaTtpZihudWxsIT09bil7aWYodm9pZCAwIT09dFtuXSlyZXR1cm4gdFtuXTtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IEF0dGVtcHQgdG8gdXNlIG5vbi1leGlzdGluZyBXZWJHTCBpbnRlcm5hbCBmb3JtYXQgJyIrbisiJyIpfWxldCBvPWk7cmV0dXJuIDY0MDM9PT1pJiYoNTEyNj09PXImJihvPTMzMzI2KSw1MTMxPT09ciYmKG89MzMzMjUpLDUxMjE9PT1yJiYobz0zMzMyMSkpLDY0MDc9PT1pJiYoNTEyNj09PXImJihvPTM0ODM3KSw1MTMxPT09ciYmKG89MzQ4NDMpLDUxMjE9PT1yJiYobz0zMjg0OSkpLDY0MDg9PT1pJiYoNTEyNj09PXImJihvPTM0ODM2KSw1MTMxPT09ciYmKG89MzQ4NDIpLDUxMjE9PT1yJiYobz0zMjg1NikpLDMzMzI1IT09byYmMzMzMjYhPT1vJiYzNDg0MiE9PW8mJjM0ODM2IT09b3x8ZS5nZXQoIkVYVF9jb2xvcl9idWZmZXJfZmxvYXQiKSxvfWZ1bmN0aW9uIHgodCl7cmV0dXJuIHQ9PT11MnR8fHQ9PT1oMnR8fHQ9PT1kMnQ/OTcyODo5NzI5fWZ1bmN0aW9uIHcoZSl7Y29uc3Qgbj1lLnRhcmdldDtuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHcpLChmdW5jdGlvbiByKGUpe2NvbnN0IG49aS5nZXQoZSk7aWYodm9pZCAwPT09bi5fX3dlYmdsSW5pdClyZXR1cm47dC5kZWxldGVUZXh0dXJlKG4uX193ZWJnbFRleHR1cmUpLGkucmVtb3ZlKGUpfSkobiksbi5pc1ZpZGVvVGV4dHVyZSYmZC5kZWxldGUobiksYS5tZW1vcnkudGV4dHVyZXMtLX1mdW5jdGlvbiBTKGUpe2NvbnN0IG49ZS50YXJnZXQ7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixTKSwoZnVuY3Rpb24gcihlKXtjb25zdCBuPWUudGV4dHVyZSxyPWkuZ2V0KGUpLG89aS5nZXQobik7aWYoIWUpcmV0dXJuO3ZvaWQgMCE9PW8uX193ZWJnbFRleHR1cmUmJih0LmRlbGV0ZVRleHR1cmUoby5fX3dlYmdsVGV4dHVyZSksYS5tZW1vcnkudGV4dHVyZXMtLSk7ZS5kZXB0aFRleHR1cmUmJmUuZGVwdGhUZXh0dXJlLmRpc3Bvc2UoKTtpZihlLmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0KWZvcihsZXQgZT0wO2U8NjtlKyspdC5kZWxldGVGcmFtZWJ1ZmZlcihyLl9fd2ViZ2xGcmFtZWJ1ZmZlcltlXSksci5fX3dlYmdsRGVwdGhidWZmZXImJnQuZGVsZXRlUmVuZGVyYnVmZmVyKHIuX193ZWJnbERlcHRoYnVmZmVyW2VdKTtlbHNlIHQuZGVsZXRlRnJhbWVidWZmZXIoci5fX3dlYmdsRnJhbWVidWZmZXIpLHIuX193ZWJnbERlcHRoYnVmZmVyJiZ0LmRlbGV0ZVJlbmRlcmJ1ZmZlcihyLl9fd2ViZ2xEZXB0aGJ1ZmZlciksci5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXImJnQuZGVsZXRlRnJhbWVidWZmZXIoci5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXIpLHIuX193ZWJnbENvbG9yUmVuZGVyYnVmZmVyJiZ0LmRlbGV0ZVJlbmRlcmJ1ZmZlcihyLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlciksci5fX3dlYmdsRGVwdGhSZW5kZXJidWZmZXImJnQuZGVsZXRlUmVuZGVyYnVmZmVyKHIuX193ZWJnbERlcHRoUmVuZGVyYnVmZmVyKTtpZihlLmlzV2ViR0xNdWx0aXBsZVJlbmRlclRhcmdldHMpZm9yKGxldCBlPTAscj1uLmxlbmd0aDtlPHI7ZSsrKXtjb25zdCByPWkuZ2V0KG5bZV0pO3IuX193ZWJnbFRleHR1cmUmJih0LmRlbGV0ZVRleHR1cmUoci5fX3dlYmdsVGV4dHVyZSksYS5tZW1vcnkudGV4dHVyZXMtLSksaS5yZW1vdmUobltlXSl9aS5yZW1vdmUobiksaS5yZW1vdmUoZSl9KShuKX1sZXQgTT0wO2Z1bmN0aW9uIEUodCxlKXtjb25zdCByPWkuZ2V0KHQpO2lmKHQuaXNWaWRlb1RleHR1cmUmJihmdW5jdGlvbiBvKHQpe2NvbnN0IGU9YS5yZW5kZXIuZnJhbWU7ZC5nZXQodCkhPT1lJiYoZC5zZXQodCxlKSx0LnVwZGF0ZSgpKX0pKHQpLHQudmVyc2lvbj4wJiZyLl9fdmVyc2lvbiE9PXQudmVyc2lvbil7Y29uc3Qgbj10LmltYWdlO2lmKHZvaWQgMD09PW4pY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBUZXh0dXJlIG1hcmtlZCBmb3IgdXBkYXRlIGJ1dCBpbWFnZSBpcyB1bmRlZmluZWQiKTtlbHNle2lmKCExIT09bi5jb21wbGV0ZSlyZXR1cm4gdm9pZCBQKHIsdCxlKTtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgbWFya2VkIGZvciB1cGRhdGUgYnV0IGltYWdlIGlzIGluY29tcGxldGUiKX19bi5hY3RpdmVUZXh0dXJlKDMzOTg0K2UpLG4uYmluZFRleHR1cmUoMzU1MyxyLl9fd2ViZ2xUZXh0dXJlKX1mdW5jdGlvbiBUKGUscil7Y29uc3QgYT1pLmdldChlKTtlLnZlcnNpb24+MCYmYS5fX3ZlcnNpb24hPT1lLnZlcnNpb24/KGZ1bmN0aW9uIGwoZSxpLHIpe2lmKDYhPT1pLmltYWdlLmxlbmd0aClyZXR1cm47TChlLGkpLG4uYWN0aXZlVGV4dHVyZSgzMzk4NCtyKSxuLmJpbmRUZXh0dXJlKDM0MDY3LGUuX193ZWJnbFRleHR1cmUpLHQucGl4ZWxTdG9yZWkoMzc0NDAsaS5mbGlwWSksdC5waXhlbFN0b3JlaSgzNzQ0MSxpLnByZW11bHRpcGx5QWxwaGEpLHQucGl4ZWxTdG9yZWkoMzMxNyxpLnVucGFja0FsaWdubWVudCksdC5waXhlbFN0b3JlaSgzNzQ0MywwKTtjb25zdCBhPWkmJihpLmlzQ29tcHJlc3NlZFRleHR1cmV8fGkuaW1hZ2VbMF0uaXNDb21wcmVzc2VkVGV4dHVyZSksbD1pLmltYWdlWzBdJiZpLmltYWdlWzBdLmlzRGF0YVRleHR1cmUsdT1bXTtmb3IobGV0IHQ9MDt0PDY7dCsrKXVbdF09YXx8bD9sP2kuaW1hZ2VbdF0uaW1hZ2U6aS5pbWFnZVt0XTpnKGkuaW1hZ2VbdF0sITEsITAsYyk7Y29uc3QgaD11WzBdLGQ9XyhoKXx8cyxwPW8uY29udmVydChpLmZvcm1hdCksZj1vLmNvbnZlcnQoaS50eXBlKSxtPWIoaS5pbnRlcm5hbEZvcm1hdCxwLGYpO2xldCB4O2lmKGsoMzQwNjcsaSxkKSxhKXtmb3IobGV0IHQ9MDt0PDY7dCsrKXt4PXVbdF0ubWlwbWFwcztmb3IobGV0IGU9MDtlPHgubGVuZ3RoO2UrKyl7Y29uc3Qgcj14W2VdO2kuZm9ybWF0IT09UzJ0JiZpLmZvcm1hdCE9PXcydD9udWxsIT09cD9uLmNvbXByZXNzZWRUZXhJbWFnZTJEKDM0MDY5K3QsZSxtLHIud2lkdGgsci5oZWlnaHQsMCxyLmRhdGEpOmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogQXR0ZW1wdCB0byBsb2FkIHVuc3VwcG9ydGVkIGNvbXByZXNzZWQgdGV4dHVyZSBmb3JtYXQgaW4gLnNldFRleHR1cmVDdWJlKCkiKTpuLnRleEltYWdlMkQoMzQwNjkrdCxlLG0sci53aWR0aCxyLmhlaWdodCwwLHAsZixyLmRhdGEpfX1lLl9fbWF4TWlwTGV2ZWw9eC5sZW5ndGgtMX1lbHNle3g9aS5taXBtYXBzO2ZvcihsZXQgdD0wO3Q8Njt0KyspaWYobCl7bi50ZXhJbWFnZTJEKDM0MDY5K3QsMCxtLHVbdF0ud2lkdGgsdVt0XS5oZWlnaHQsMCxwLGYsdVt0XS5kYXRhKTtmb3IobGV0IGU9MDtlPHgubGVuZ3RoO2UrKyl7Y29uc3QgaT14W2VdLmltYWdlW3RdLmltYWdlO24udGV4SW1hZ2UyRCgzNDA2OSt0LGUrMSxtLGkud2lkdGgsaS5oZWlnaHQsMCxwLGYsaS5kYXRhKX19ZWxzZXtuLnRleEltYWdlMkQoMzQwNjkrdCwwLG0scCxmLHVbdF0pO2ZvcihsZXQgZT0wO2U8eC5sZW5ndGg7ZSsrKXtuLnRleEltYWdlMkQoMzQwNjkrdCxlKzEsbSxwLGYseFtlXS5pbWFnZVt0XSl9fWUuX19tYXhNaXBMZXZlbD14Lmxlbmd0aH15KGksZCkmJnYoMzQwNjcsaSxoLndpZHRoLGguaGVpZ2h0KTtlLl9fdmVyc2lvbj1pLnZlcnNpb24saS5vblVwZGF0ZSYmaS5vblVwZGF0ZShpKX0pKGEsZSxyKToobi5hY3RpdmVUZXh0dXJlKDMzOTg0K3IpLG4uYmluZFRleHR1cmUoMzQwNjcsYS5fX3dlYmdsVGV4dHVyZSkpfWNvbnN0IEM9e1tzMnRdOjEwNDk3LFtsMnRdOjMzMDcxLFtjMnRdOjMzNjQ4fSxBPXtbdTJ0XTo5NzI4LFtoMnRdOjk5ODQsW2QydF06OTk4NixbcDJ0XTo5NzI5LFtmMnRdOjk5ODUsW20ydF06OTk4N307ZnVuY3Rpb24gayhuLG8sYSl7aWYoYT8odC50ZXhQYXJhbWV0ZXJpKG4sMTAyNDIsQ1tvLndyYXBTXSksdC50ZXhQYXJhbWV0ZXJpKG4sMTAyNDMsQ1tvLndyYXBUXSksMzI4NzkhPT1uJiYzNTg2NiE9PW58fHQudGV4UGFyYW1ldGVyaShuLDMyODgyLENbby53cmFwUl0pLHQudGV4UGFyYW1ldGVyaShuLDEwMjQwLEFbby5tYWdGaWx0ZXJdKSx0LnRleFBhcmFtZXRlcmkobiwxMDI0MSxBW28ubWluRmlsdGVyXSkpOih0LnRleFBhcmFtZXRlcmkobiwxMDI0MiwzMzA3MSksdC50ZXhQYXJhbWV0ZXJpKG4sMTAyNDMsMzMwNzEpLDMyODc5IT09biYmMzU4NjYhPT1ufHx0LnRleFBhcmFtZXRlcmkobiwzMjg4MiwzMzA3MSksby53cmFwUz09PWwydCYmby53cmFwVD09PWwydHx8Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBUZXh0dXJlIGlzIG5vdCBwb3dlciBvZiB0d28uIFRleHR1cmUud3JhcFMgYW5kIFRleHR1cmUud3JhcFQgc2hvdWxkIGJlIHNldCB0byBUSFJFRS5DbGFtcFRvRWRnZVdyYXBwaW5nLiIpLHQudGV4UGFyYW1ldGVyaShuLDEwMjQwLHgoby5tYWdGaWx0ZXIpKSx0LnRleFBhcmFtZXRlcmkobiwxMDI0MSx4KG8ubWluRmlsdGVyKSksby5taW5GaWx0ZXIhPT11MnQmJm8ubWluRmlsdGVyIT09cDJ0JiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgaXMgbm90IHBvd2VyIG9mIHR3by4gVGV4dHVyZS5taW5GaWx0ZXIgc2hvdWxkIGJlIHNldCB0byBUSFJFRS5OZWFyZXN0RmlsdGVyIG9yIFRIUkVFLkxpbmVhckZpbHRlci4iKSksITA9PT1lLmhhcygiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIikpe2NvbnN0IGE9ZS5nZXQoIkVYVF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyIpO2lmKG8udHlwZT09PXYydCYmITE9PT1lLmhhcygiT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIikpcmV0dXJuO2lmKCExPT09cyYmby50eXBlPT09YjJ0JiYhMT09PWUuaGFzKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xpbmVhciIpKXJldHVybjsoby5hbmlzb3Ryb3B5PjF8fGkuZ2V0KG8pLl9fY3VycmVudEFuaXNvdHJvcHkpJiYodC50ZXhQYXJhbWV0ZXJmKG4sYS5URVhUVVJFX01BWF9BTklTT1RST1BZX0VYVCxNYXRoLm1pbihvLmFuaXNvdHJvcHksci5nZXRNYXhBbmlzb3Ryb3B5KCkpKSxpLmdldChvKS5fX2N1cnJlbnRBbmlzb3Ryb3B5PW8uYW5pc290cm9weSl9fWZ1bmN0aW9uIEwoZSxuKXt2b2lkIDA9PT1lLl9fd2ViZ2xJbml0JiYoZS5fX3dlYmdsSW5pdD0hMCxuLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHcpLGUuX193ZWJnbFRleHR1cmU9dC5jcmVhdGVUZXh0dXJlKCksYS5tZW1vcnkudGV4dHVyZXMrKyl9ZnVuY3Rpb24gUChlLGkscil7bGV0IGE9MzU1MztpLmlzRGF0YVRleHR1cmUyREFycmF5JiYoYT0zNTg2NiksaS5pc0RhdGFUZXh0dXJlM0QmJihhPTMyODc5KSxMKGUsaSksbi5hY3RpdmVUZXh0dXJlKDMzOTg0K3IpLG4uYmluZFRleHR1cmUoYSxlLl9fd2ViZ2xUZXh0dXJlKSx0LnBpeGVsU3RvcmVpKDM3NDQwLGkuZmxpcFkpLHQucGl4ZWxTdG9yZWkoMzc0NDEsaS5wcmVtdWx0aXBseUFscGhhKSx0LnBpeGVsU3RvcmVpKDMzMTcsaS51bnBhY2tBbGlnbm1lbnQpLHQucGl4ZWxTdG9yZWkoMzc0NDMsMCk7Y29uc3QgbD0oZnVuY3Rpb24gYyh0KXtyZXR1cm4hcyYmKHQud3JhcFMhPT1sMnR8fHQud3JhcFQhPT1sMnR8fHQubWluRmlsdGVyIT09dTJ0JiZ0Lm1pbkZpbHRlciE9PXAydCl9KShpKSYmITE9PT1fKGkuaW1hZ2UpLGg9ZyhpLmltYWdlLGwsITEsdSksZD1fKGgpfHxzLHA9by5jb252ZXJ0KGkuZm9ybWF0KTtsZXQgZixtPW8uY29udmVydChpLnR5cGUpLHg9YihpLmludGVybmFsRm9ybWF0LHAsbSk7ayhhLGksZCk7Y29uc3Qgdz1pLm1pcG1hcHM7aWYoaS5pc0RlcHRoVGV4dHVyZSl4PTY0MDIscz94PWkudHlwZT09PXYydD8zNjAxMjppLnR5cGU9PT15MnQ/MzMxOTA6aS50eXBlPT09eDJ0PzM1MDU2OjMzMTg5OmkudHlwZT09PXYydCYmY29uc29sZS5lcnJvcigiV2ViR0xSZW5kZXJlcjogRmxvYXRpbmcgcG9pbnQgZGVwdGggdGV4dHVyZSByZXF1aXJlcyBXZWJHTDIuIiksaS5mb3JtYXQ9PT1NMnQmJjY0MDI9PT14JiZpLnR5cGUhPT1fMnQmJmkudHlwZSE9PXkydCYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVXNlIFVuc2lnbmVkU2hvcnRUeXBlIG9yIFVuc2lnbmVkSW50VHlwZSBmb3IgRGVwdGhGb3JtYXQgRGVwdGhUZXh0dXJlLiIpLGkudHlwZT1fMnQsbT1vLmNvbnZlcnQoaS50eXBlKSksaS5mb3JtYXQ9PT1FMnQmJjY0MDI9PT14JiYoeD0zNDA0MSxpLnR5cGUhPT14MnQmJihjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFVzZSBVbnNpZ25lZEludDI0OFR5cGUgZm9yIERlcHRoU3RlbmNpbEZvcm1hdCBEZXB0aFRleHR1cmUuIiksaS50eXBlPXgydCxtPW8uY29udmVydChpLnR5cGUpKSksbi50ZXhJbWFnZTJEKDM1NTMsMCx4LGgud2lkdGgsaC5oZWlnaHQsMCxwLG0sbnVsbCk7ZWxzZSBpZihpLmlzRGF0YVRleHR1cmUpaWYody5sZW5ndGg+MCYmZCl7Zm9yKGxldCB0PTAsZT13Lmxlbmd0aDt0PGU7dCsrKWY9d1t0XSxuLnRleEltYWdlMkQoMzU1Myx0LHgsZi53aWR0aCxmLmhlaWdodCwwLHAsbSxmLmRhdGEpO2kuZ2VuZXJhdGVNaXBtYXBzPSExLGUuX19tYXhNaXBMZXZlbD13Lmxlbmd0aC0xfWVsc2Ugbi50ZXhJbWFnZTJEKDM1NTMsMCx4LGgud2lkdGgsaC5oZWlnaHQsMCxwLG0saC5kYXRhKSxlLl9fbWF4TWlwTGV2ZWw9MDtlbHNlIGlmKGkuaXNDb21wcmVzc2VkVGV4dHVyZSl7Zm9yKGxldCB0PTAsZT13Lmxlbmd0aDt0PGU7dCsrKWY9d1t0XSxpLmZvcm1hdCE9PVMydCYmaS5mb3JtYXQhPT13MnQ/bnVsbCE9PXA/bi5jb21wcmVzc2VkVGV4SW1hZ2UyRCgzNTUzLHQseCxmLndpZHRoLGYuaGVpZ2h0LDAsZi5kYXRhKTpjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IEF0dGVtcHQgdG8gbG9hZCB1bnN1cHBvcnRlZCBjb21wcmVzc2VkIHRleHR1cmUgZm9ybWF0IGluIC51cGxvYWRUZXh0dXJlKCkiKTpuLnRleEltYWdlMkQoMzU1Myx0LHgsZi53aWR0aCxmLmhlaWdodCwwLHAsbSxmLmRhdGEpO2UuX19tYXhNaXBMZXZlbD13Lmxlbmd0aC0xfWVsc2UgaWYoaS5pc0RhdGFUZXh0dXJlMkRBcnJheSluLnRleEltYWdlM0QoMzU4NjYsMCx4LGgud2lkdGgsaC5oZWlnaHQsaC5kZXB0aCwwLHAsbSxoLmRhdGEpLGUuX19tYXhNaXBMZXZlbD0wO2Vsc2UgaWYoaS5pc0RhdGFUZXh0dXJlM0Qpbi50ZXhJbWFnZTNEKDMyODc5LDAseCxoLndpZHRoLGguaGVpZ2h0LGguZGVwdGgsMCxwLG0saC5kYXRhKSxlLl9fbWF4TWlwTGV2ZWw9MDtlbHNlIGlmKHcubGVuZ3RoPjAmJmQpe2ZvcihsZXQgdD0wLGU9dy5sZW5ndGg7dDxlO3QrKylmPXdbdF0sbi50ZXhJbWFnZTJEKDM1NTMsdCx4LHAsbSxmKTtpLmdlbmVyYXRlTWlwbWFwcz0hMSxlLl9fbWF4TWlwTGV2ZWw9dy5sZW5ndGgtMX1lbHNlIG4udGV4SW1hZ2UyRCgzNTUzLDAseCxwLG0saCksZS5fX21heE1pcExldmVsPTA7eShpLGQpJiZ2KGEsaSxoLndpZHRoLGguaGVpZ2h0KSxlLl9fdmVyc2lvbj1pLnZlcnNpb24saS5vblVwZGF0ZSYmaS5vblVwZGF0ZShpKX1mdW5jdGlvbiBOKGUscixhLHMsbCl7Y29uc3QgYz1vLmNvbnZlcnQoYS5mb3JtYXQpLHU9by5jb252ZXJ0KGEudHlwZSksaD1iKGEuaW50ZXJuYWxGb3JtYXQsYyx1KTszMjg3OT09PWx8fDM1ODY2PT09bD9uLnRleEltYWdlM0QobCwwLGgsci53aWR0aCxyLmhlaWdodCxyLmRlcHRoLDAsYyx1LG51bGwpOm4udGV4SW1hZ2UyRChsLDAsaCxyLndpZHRoLHIuaGVpZ2h0LDAsYyx1LG51bGwpLG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLGUpLHQuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAscyxsLGkuZ2V0KGEpLl9fd2ViZ2xUZXh0dXJlLDApLG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLG51bGwpfWZ1bmN0aW9uIEkoZSxuLGkpe2lmKHQuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxlKSxuLmRlcHRoQnVmZmVyJiYhbi5zdGVuY2lsQnVmZmVyKXtsZXQgcj0zMzE4OTtpZihpKXtjb25zdCBlPW4uZGVwdGhUZXh0dXJlO2UmJmUuaXNEZXB0aFRleHR1cmUmJihlLnR5cGU9PT12MnQ/cj0zNjAxMjplLnR5cGU9PT15MnQmJihyPTMzMTkwKSk7Y29uc3QgaT1PKG4pO3QucmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKDM2MTYxLGkscixuLndpZHRoLG4uaGVpZ2h0KX1lbHNlIHQucmVuZGVyYnVmZmVyU3RvcmFnZSgzNjE2MSxyLG4ud2lkdGgsbi5oZWlnaHQpO3QuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoMzYxNjAsMzYwOTYsMzYxNjEsZSl9ZWxzZSBpZihuLmRlcHRoQnVmZmVyJiZuLnN0ZW5jaWxCdWZmZXIpe2lmKGkpe2NvbnN0IGU9TyhuKTt0LnJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZSgzNjE2MSxlLDM1MDU2LG4ud2lkdGgsbi5oZWlnaHQpfWVsc2UgdC5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLDM0MDQxLG4ud2lkdGgsbi5oZWlnaHQpO3QuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoMzYxNjAsMzMzMDYsMzYxNjEsZSl9ZWxzZXtjb25zdCBlPSEwPT09bi5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzP24udGV4dHVyZVswXTpuLnRleHR1cmUscj1vLmNvbnZlcnQoZS5mb3JtYXQpLGE9by5jb252ZXJ0KGUudHlwZSkscz1iKGUuaW50ZXJuYWxGb3JtYXQscixhKTtpZihpKXtjb25zdCBlPU8obik7dC5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoMzYxNjEsZSxzLG4ud2lkdGgsbi5oZWlnaHQpfWVsc2UgdC5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLHMsbi53aWR0aCxuLmhlaWdodCl9dC5iaW5kUmVuZGVyYnVmZmVyKDM2MTYxLG51bGwpfWZ1bmN0aW9uIFIoZSl7Y29uc3Qgcj1pLmdldChlKSxvPSEwPT09ZS5pc1dlYkdMQ3ViZVJlbmRlclRhcmdldDtpZihlLmRlcHRoVGV4dHVyZSl7aWYobyl0aHJvdyBuZXcgRXJyb3IoInRhcmdldC5kZXB0aFRleHR1cmUgbm90IHN1cHBvcnRlZCBpbiBDdWJlIHJlbmRlciB0YXJnZXRzIik7IShmdW5jdGlvbiBhKGUscil7aWYociYmci5pc1dlYkdMQ3ViZVJlbmRlclRhcmdldCl0aHJvdyBuZXcgRXJyb3IoIkRlcHRoIFRleHR1cmUgd2l0aCBjdWJlIHJlbmRlciB0YXJnZXRzIGlzIG5vdCBzdXBwb3J0ZWQiKTtpZihuLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxlKSwhci5kZXB0aFRleHR1cmV8fCFyLmRlcHRoVGV4dHVyZS5pc0RlcHRoVGV4dHVyZSl0aHJvdyBuZXcgRXJyb3IoInJlbmRlclRhcmdldC5kZXB0aFRleHR1cmUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBUSFJFRS5EZXB0aFRleHR1cmUiKTtpLmdldChyLmRlcHRoVGV4dHVyZSkuX193ZWJnbFRleHR1cmUmJnIuZGVwdGhUZXh0dXJlLmltYWdlLndpZHRoPT09ci53aWR0aCYmci5kZXB0aFRleHR1cmUuaW1hZ2UuaGVpZ2h0PT09ci5oZWlnaHR8fChyLmRlcHRoVGV4dHVyZS5pbWFnZS53aWR0aD1yLndpZHRoLHIuZGVwdGhUZXh0dXJlLmltYWdlLmhlaWdodD1yLmhlaWdodCxyLmRlcHRoVGV4dHVyZS5uZWVkc1VwZGF0ZT0hMCksRShyLmRlcHRoVGV4dHVyZSwwKTtjb25zdCBvPWkuZ2V0KHIuZGVwdGhUZXh0dXJlKS5fX3dlYmdsVGV4dHVyZTtpZihyLmRlcHRoVGV4dHVyZS5mb3JtYXQ9PT1NMnQpdC5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCwzNjA5NiwzNTUzLG8sMCk7ZWxzZXtpZihyLmRlcHRoVGV4dHVyZS5mb3JtYXQhPT1FMnQpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIGRlcHRoVGV4dHVyZSBmb3JtYXQiKTt0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKDM2MTYwLDMzMzA2LDM1NTMsbywwKX19KShyLl9fd2ViZ2xGcmFtZWJ1ZmZlcixlKX1lbHNlIGlmKG8pe3IuX193ZWJnbERlcHRoYnVmZmVyPVtdO2ZvcihsZXQgaT0wO2k8NjtpKyspbi5iaW5kRnJhbWVidWZmZXIoMzYxNjAsci5fX3dlYmdsRnJhbWVidWZmZXJbaV0pLHIuX193ZWJnbERlcHRoYnVmZmVyW2ldPXQuY3JlYXRlUmVuZGVyYnVmZmVyKCksSShyLl9fd2ViZ2xEZXB0aGJ1ZmZlcltpXSxlLCExKX1lbHNlIG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLHIuX193ZWJnbEZyYW1lYnVmZmVyKSxyLl9fd2ViZ2xEZXB0aGJ1ZmZlcj10LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpLEkoci5fX3dlYmdsRGVwdGhidWZmZXIsZSwhMSk7bi5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbnVsbCl9ZnVuY3Rpb24gTyh0KXtyZXR1cm4gcyYmdC5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQ/TWF0aC5taW4oaCx0LnNhbXBsZXMpOjB9bGV0IHo9ITEsRD0hMTt0aGlzLmFsbG9jYXRlVGV4dHVyZVVuaXQ9ZnVuY3Rpb24gQigpe2NvbnN0IHQ9TTtyZXR1cm4gdD49bCYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFRleHR1cmVzOiBUcnlpbmcgdG8gdXNlICIrdCsiIHRleHR1cmUgdW5pdHMgd2hpbGUgdGhpcyBHUFUgc3VwcG9ydHMgb25seSAiK2wpLE0rPTEsdH0sdGhpcy5yZXNldFRleHR1cmVVbml0cz1mdW5jdGlvbiBIKCl7TT0wfSx0aGlzLnNldFRleHR1cmUyRD1FLHRoaXMuc2V0VGV4dHVyZTJEQXJyYXk9ZnVuY3Rpb24gRih0LGUpe2NvbnN0IHI9aS5nZXQodCk7dC52ZXJzaW9uPjAmJnIuX192ZXJzaW9uIT09dC52ZXJzaW9uP1Aocix0LGUpOihuLmFjdGl2ZVRleHR1cmUoMzM5ODQrZSksbi5iaW5kVGV4dHVyZSgzNTg2NixyLl9fd2ViZ2xUZXh0dXJlKSl9LHRoaXMuc2V0VGV4dHVyZTNEPWZ1bmN0aW9uIFYodCxlKXtjb25zdCByPWkuZ2V0KHQpO3QudmVyc2lvbj4wJiZyLl9fdmVyc2lvbiE9PXQudmVyc2lvbj9QKHIsdCxlKToobi5hY3RpdmVUZXh0dXJlKDMzOTg0K2UpLG4uYmluZFRleHR1cmUoMzI4Nzksci5fX3dlYmdsVGV4dHVyZSkpfSx0aGlzLnNldFRleHR1cmVDdWJlPVQsdGhpcy5zZXR1cFJlbmRlclRhcmdldD1mdW5jdGlvbiBVKGUpe2NvbnN0IGw9ZS50ZXh0dXJlLGM9aS5nZXQoZSksdT1pLmdldChsKTtlLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLFMpLCEwIT09ZS5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzJiYodS5fX3dlYmdsVGV4dHVyZT10LmNyZWF0ZVRleHR1cmUoKSx1Ll9fdmVyc2lvbj1sLnZlcnNpb24sYS5tZW1vcnkudGV4dHVyZXMrKyk7Y29uc3QgaD0hMD09PWUuaXNXZWJHTEN1YmVSZW5kZXJUYXJnZXQsZD0hMD09PWUuaXNXZWJHTE11bHRpcGxlUmVuZGVyVGFyZ2V0cyxwPSEwPT09ZS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQsZj1sLmlzRGF0YVRleHR1cmUzRHx8bC5pc0RhdGFUZXh0dXJlMkRBcnJheSxtPV8oZSl8fHM7aWYoIXN8fGwuZm9ybWF0IT09dzJ0fHxsLnR5cGUhPT12MnQmJmwudHlwZSE9PWIydHx8KGwuZm9ybWF0PVMydCxjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFJlbmRlcmluZyB0byB0ZXh0dXJlcyB3aXRoIFJHQiBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZC4gVXNpbmcgUkdCQSBmb3JtYXQgaW5zdGVhZC4iKSksaCl7Yy5fX3dlYmdsRnJhbWVidWZmZXI9W107Zm9yKGxldCBlPTA7ZTw2O2UrKyljLl9fd2ViZ2xGcmFtZWJ1ZmZlcltlXT10LmNyZWF0ZUZyYW1lYnVmZmVyKCl9ZWxzZSBpZihjLl9fd2ViZ2xGcmFtZWJ1ZmZlcj10LmNyZWF0ZUZyYW1lYnVmZmVyKCksZClpZihyLmRyYXdCdWZmZXJzKXtjb25zdCBuPWUudGV4dHVyZTtmb3IobGV0IGU9MCxyPW4ubGVuZ3RoO2U8cjtlKyspe2NvbnN0IHI9aS5nZXQobltlXSk7dm9pZCAwPT09ci5fX3dlYmdsVGV4dHVyZSYmKHIuX193ZWJnbFRleHR1cmU9dC5jcmVhdGVUZXh0dXJlKCksYS5tZW1vcnkudGV4dHVyZXMrKyl9fWVsc2UgY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBXZWJHTE11bHRpcGxlUmVuZGVyVGFyZ2V0cyBjYW4gb25seSBiZSB1c2VkIHdpdGggV2ViR0wyIG9yIFdFQkdMX2RyYXdfYnVmZmVycyBleHRlbnNpb24uIik7ZWxzZSBpZihwKWlmKHMpe2MuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyPXQuY3JlYXRlRnJhbWVidWZmZXIoKSxjLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlcj10LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpLHQuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxjLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlcik7Y29uc3QgaT1vLmNvbnZlcnQobC5mb3JtYXQpLHI9by5jb252ZXJ0KGwudHlwZSksYT1iKGwuaW50ZXJuYWxGb3JtYXQsaSxyKSxzPU8oZSk7dC5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoMzYxNjEscyxhLGUud2lkdGgsZS5oZWlnaHQpLG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLGMuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyKSx0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKDM2MTYwLDM2MDY0LDM2MTYxLGMuX193ZWJnbENvbG9yUmVuZGVyYnVmZmVyKSx0LmJpbmRSZW5kZXJidWZmZXIoMzYxNjEsbnVsbCksZS5kZXB0aEJ1ZmZlciYmKGMuX193ZWJnbERlcHRoUmVuZGVyYnVmZmVyPXQuY3JlYXRlUmVuZGVyYnVmZmVyKCksSShjLl9fd2ViZ2xEZXB0aFJlbmRlcmJ1ZmZlcixlLCEwKSksbi5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbnVsbCl9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFdlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIFdlYkdMMi4iKTtpZihoKXtuLmJpbmRUZXh0dXJlKDM0MDY3LHUuX193ZWJnbFRleHR1cmUpLGsoMzQwNjcsbCxtKTtmb3IobGV0IHQ9MDt0PDY7dCsrKU4oYy5fX3dlYmdsRnJhbWVidWZmZXJbdF0sZSxsLDM2MDY0LDM0MDY5K3QpO3kobCxtKSYmdigzNDA2NyxsLGUud2lkdGgsZS5oZWlnaHQpLG4uYmluZFRleHR1cmUoMzQwNjcsbnVsbCl9ZWxzZSBpZihkKXtjb25zdCB0PWUudGV4dHVyZTtmb3IobGV0IHI9MCxvPXQubGVuZ3RoO3I8bztyKyspe2NvbnN0IG89dFtyXSxhPWkuZ2V0KG8pO24uYmluZFRleHR1cmUoMzU1MyxhLl9fd2ViZ2xUZXh0dXJlKSxrKDM1NTMsbyxtKSxOKGMuX193ZWJnbEZyYW1lYnVmZmVyLGUsbywzNjA2NCtyLDM1NTMpLHkobyxtKSYmdigzNTUzLG8sZS53aWR0aCxlLmhlaWdodCl9bi5iaW5kVGV4dHVyZSgzNTUzLG51bGwpfWVsc2V7bGV0IHQ9MzU1MztpZihmKWlmKHMpe3Q9bC5pc0RhdGFUZXh0dXJlM0Q/MzI4Nzk6MzU4NjZ9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLkRhdGFUZXh0dXJlM0QgYW5kIFRIUkVFLkRhdGFUZXh0dXJlMkRBcnJheSBvbmx5IHN1cHBvcnRlZCB3aXRoIFdlYkdMMi4iKTtuLmJpbmRUZXh0dXJlKHQsdS5fX3dlYmdsVGV4dHVyZSksayh0LGwsbSksTihjLl9fd2ViZ2xGcmFtZWJ1ZmZlcixlLGwsMzYwNjQsdCkseShsLG0pJiZ2KHQsbCxlLndpZHRoLGUuaGVpZ2h0LGUuZGVwdGgpLG4uYmluZFRleHR1cmUodCxudWxsKX1lLmRlcHRoQnVmZmVyJiZSKGUpfSx0aGlzLnVwZGF0ZVJlbmRlclRhcmdldE1pcG1hcD1mdW5jdGlvbiBqKHQpe2NvbnN0IGU9Xyh0KXx8cyxyPSEwPT09dC5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzP3QudGV4dHVyZTpbdC50ZXh0dXJlXTtmb3IobGV0IG89MCxhPXIubGVuZ3RoO288YTtvKyspe2NvbnN0IGE9cltvXTtpZih5KGEsZSkpe2NvbnN0IGU9dC5pc1dlYkdMQ3ViZVJlbmRlclRhcmdldD8zNDA2NzozNTUzLHI9aS5nZXQoYSkuX193ZWJnbFRleHR1cmU7bi5iaW5kVGV4dHVyZShlLHIpLHYoZSxhLHQud2lkdGgsdC5oZWlnaHQpLG4uYmluZFRleHR1cmUoZSxudWxsKX19fSx0aGlzLnVwZGF0ZU11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0PWZ1bmN0aW9uIEcoZSl7aWYoZS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQpaWYocyl7Y29uc3Qgcj1lLndpZHRoLG89ZS5oZWlnaHQ7bGV0IGE9MTYzODQ7ZS5kZXB0aEJ1ZmZlciYmKGF8PTI1NiksZS5zdGVuY2lsQnVmZmVyJiYoYXw9MTAyNCk7Y29uc3Qgcz1pLmdldChlKTtuLmJpbmRGcmFtZWJ1ZmZlcigzNjAwOCxzLl9fd2ViZ2xNdWx0aXNhbXBsZWRGcmFtZWJ1ZmZlciksbi5iaW5kRnJhbWVidWZmZXIoMzYwMDkscy5fX3dlYmdsRnJhbWVidWZmZXIpLHQuYmxpdEZyYW1lYnVmZmVyKDAsMCxyLG8sMCwwLHIsbyxhLDk3MjgpLG4uYmluZEZyYW1lYnVmZmVyKDM2MDA4LG51bGwpLG4uYmluZEZyYW1lYnVmZmVyKDM2MDA5LHMuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyKX1lbHNlIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogV2ViR0xNdWx0aXNhbXBsZVJlbmRlclRhcmdldCBjYW4gb25seSBiZSB1c2VkIHdpdGggV2ViR0wyLiIpfSx0aGlzLnNhZmVTZXRUZXh0dXJlMkQ9ZnVuY3Rpb24gVyh0LGUpe3QmJnQuaXNXZWJHTFJlbmRlclRhcmdldCYmKCExPT09eiYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xUZXh0dXJlcy5zYWZlU2V0VGV4dHVyZTJEOiBkb24ndCB1c2UgcmVuZGVyIHRhcmdldHMgYXMgdGV4dHVyZXMuIFVzZSB0aGVpciAudGV4dHVyZSBwcm9wZXJ0eSBpbnN0ZWFkLiIpLHo9ITApLHQ9dC50ZXh0dXJlKSxFKHQsZSl9LHRoaXMuc2FmZVNldFRleHR1cmVDdWJlPWZ1bmN0aW9uIHEodCxlKXt0JiZ0LmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0JiYoITE9PT1EJiYoY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFRleHR1cmVzLnNhZmVTZXRUZXh0dXJlQ3ViZTogZG9uJ3QgdXNlIGN1YmUgcmVuZGVyIHRhcmdldHMgYXMgdGV4dHVyZXMuIFVzZSB0aGVpciAudGV4dHVyZSBwcm9wZXJ0eSBpbnN0ZWFkLiIpLEQ9ITApLHQ9dC50ZXh0dXJlKSxUKHQsZSl9fWZ1bmN0aW9uIEo4dCh0LGUsbil7Y29uc3QgaT1uLmlzV2ViR0wyO3JldHVybntjb252ZXJ0OmZ1bmN0aW9uIHIodCl7bGV0IG47aWYodD09PWcydClyZXR1cm4gNTEyMTtpZigxMDE3PT09dClyZXR1cm4gMzI4MTk7aWYoMTAxOD09PXQpcmV0dXJuIDMyODIwO2lmKDEwMTk9PT10KXJldHVybiAzMzYzNTtpZigxMDEwPT09dClyZXR1cm4gNTEyMDtpZigxMDExPT09dClyZXR1cm4gNTEyMjtpZih0PT09XzJ0KXJldHVybiA1MTIzO2lmKDEwMTM9PT10KXJldHVybiA1MTI0O2lmKHQ9PT15MnQpcmV0dXJuIDUxMjU7aWYodD09PXYydClyZXR1cm4gNTEyNjtpZih0PT09YjJ0KXJldHVybiBpPzUxMzE6KG49ZS5nZXQoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSxudWxsIT09bj9uLkhBTEZfRkxPQVRfT0VTOm51bGwpO2lmKDEwMjE9PT10KXJldHVybiA2NDA2O2lmKHQ9PT13MnQpcmV0dXJuIDY0MDc7aWYodD09PVMydClyZXR1cm4gNjQwODtpZigxMDI0PT09dClyZXR1cm4gNjQwOTtpZigxMDI1PT09dClyZXR1cm4gNjQxMDtpZih0PT09TTJ0KXJldHVybiA2NDAyO2lmKHQ9PT1FMnQpcmV0dXJuIDM0MDQxO2lmKDEwMjg9PT10KXJldHVybiA2NDAzO2lmKDEwMjk9PT10KXJldHVybiAzNjI0NDtpZigxMDMwPT09dClyZXR1cm4gMzMzMTk7aWYoMTAzMT09PXQpcmV0dXJuIDMzMzIwO2lmKDEwMzI9PT10KXJldHVybiAzNjI0ODtpZigxMDMzPT09dClyZXR1cm4gMzYyNDk7aWYodD09PVQydHx8dD09PUMydHx8dD09PUEydHx8dD09PWsydCl7aWYobj1lLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKSxudWxsPT09bilyZXR1cm4gbnVsbDtpZih0PT09VDJ0KXJldHVybiBuLkNPTVBSRVNTRURfUkdCX1MzVENfRFhUMV9FWFQ7aWYodD09PUMydClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVDtpZih0PT09QTJ0KXJldHVybiBuLkNPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDNfRVhUO2lmKHQ9PT1rMnQpcmV0dXJuIG4uQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9FWFR9aWYodD09PUwydHx8dD09PVAydHx8dD09PU4ydHx8dD09PUkydCl7aWYobj1lLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIiksbnVsbD09PW4pcmV0dXJuIG51bGw7aWYodD09PUwydClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQl9QVlJUQ180QlBQVjFfSU1HO2lmKHQ9PT1QMnQpcmV0dXJuIG4uQ09NUFJFU1NFRF9SR0JfUFZSVENfMkJQUFYxX0lNRztpZih0PT09TjJ0KXJldHVybiBuLkNPTVBSRVNTRURfUkdCQV9QVlJUQ180QlBQVjFfSU1HO2lmKHQ9PT1JMnQpcmV0dXJuIG4uQ09NUFJFU1NFRF9SR0JBX1BWUlRDXzJCUFBWMV9JTUd9aWYoMzYxOTY9PT10KXJldHVybiBuPWUuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfZXRjMSIpLG51bGwhPT1uP24uQ09NUFJFU1NFRF9SR0JfRVRDMV9XRUJHTDpudWxsO2lmKCh0PT09UjJ0fHx0PT09TzJ0KSYmKG49ZS5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9ldGMiKSxudWxsIT09bikpe2lmKHQ9PT1SMnQpcmV0dXJuIG4uQ09NUFJFU1NFRF9SR0I4X0VUQzI7aWYodD09PU8ydClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQkE4X0VUQzJfRUFDfXJldHVybiAzNzgwOD09PXR8fDM3ODA5PT09dHx8Mzc4MTA9PT10fHwzNzgxMT09PXR8fDM3ODEyPT09dHx8Mzc4MTM9PT10fHwzNzgxND09PXR8fDM3ODE1PT09dHx8Mzc4MTY9PT10fHwzNzgxNz09PXR8fDM3ODE4PT09dHx8Mzc4MTk9PT10fHwzNzgyMD09PXR8fDM3ODIxPT09dHx8Mzc4NDA9PT10fHwzNzg0MT09PXR8fDM3ODQyPT09dHx8Mzc4NDM9PT10fHwzNzg0ND09PXR8fDM3ODQ1PT09dHx8Mzc4NDY9PT10fHwzNzg0Nz09PXR8fDM3ODQ4PT09dHx8Mzc4NDk9PT10fHwzNzg1MD09PXR8fDM3ODUxPT09dHx8Mzc4NTI9PT10fHwzNzg1Mz09PXQ/KG49ZS5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9hc3RjIiksbnVsbCE9PW4/dDpudWxsKTozNjQ5Mj09PXQ/KG49ZS5nZXQoIkVYVF90ZXh0dXJlX2NvbXByZXNzaW9uX2JwdGMiKSxudWxsIT09bj90Om51bGwpOnQ9PT14MnQ/aT8zNDA0Mjoobj1lLmdldCgiV0VCR0xfZGVwdGhfdGV4dHVyZSIpLG51bGwhPT1uP24uVU5TSUdORURfSU5UXzI0XzhfV0VCR0w6bnVsbCk6dm9pZCAwfX19Y2xhc3MgUTh0IGV4dGVuZHMgcjZ0e2NvbnN0cnVjdG9yKHQ9W10pe3N1cGVyKCksdGhpcy5jYW1lcmFzPXR9fVE4dC5wcm90b3R5cGUuaXNBcnJheUNhbWVyYT0hMDtjbGFzcyB0N3QgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iR3JvdXAifX10N3QucHJvdG90eXBlLmlzR3JvdXA9ITA7Y29uc3QgZTd0PXt0eXBlOiJtb3ZlIn07Y2xhc3Mgbjd0e2NvbnN0cnVjdG9yKCl7dGhpcy5fdGFyZ2V0UmF5PW51bGwsdGhpcy5fZ3JpcD1udWxsLHRoaXMuX2hhbmQ9bnVsbH1nZXRIYW5kU3BhY2UoKXtyZXR1cm4gbnVsbD09PXRoaXMuX2hhbmQmJih0aGlzLl9oYW5kPW5ldyB0N3QsdGhpcy5faGFuZC5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuX2hhbmQudmlzaWJsZT0hMSx0aGlzLl9oYW5kLmpvaW50cz17fSx0aGlzLl9oYW5kLmlucHV0U3RhdGU9e3BpbmNoaW5nOiExfSksdGhpcy5faGFuZH1nZXRUYXJnZXRSYXlTcGFjZSgpe3JldHVybiBudWxsPT09dGhpcy5fdGFyZ2V0UmF5JiYodGhpcy5fdGFyZ2V0UmF5PW5ldyB0N3QsdGhpcy5fdGFyZ2V0UmF5Lm1hdHJpeEF1dG9VcGRhdGU9ITEsdGhpcy5fdGFyZ2V0UmF5LnZpc2libGU9ITEsdGhpcy5fdGFyZ2V0UmF5Lmhhc0xpbmVhclZlbG9jaXR5PSExLHRoaXMuX3RhcmdldFJheS5saW5lYXJWZWxvY2l0eT1uZXcgSDV0LHRoaXMuX3RhcmdldFJheS5oYXNBbmd1bGFyVmVsb2NpdHk9ITEsdGhpcy5fdGFyZ2V0UmF5LmFuZ3VsYXJWZWxvY2l0eT1uZXcgSDV0KSx0aGlzLl90YXJnZXRSYXl9Z2V0R3JpcFNwYWNlKCl7cmV0dXJuIG51bGw9PT10aGlzLl9ncmlwJiYodGhpcy5fZ3JpcD1uZXcgdDd0LHRoaXMuX2dyaXAubWF0cml4QXV0b1VwZGF0ZT0hMSx0aGlzLl9ncmlwLnZpc2libGU9ITEsdGhpcy5fZ3JpcC5oYXNMaW5lYXJWZWxvY2l0eT0hMSx0aGlzLl9ncmlwLmxpbmVhclZlbG9jaXR5PW5ldyBINXQsdGhpcy5fZ3JpcC5oYXNBbmd1bGFyVmVsb2NpdHk9ITEsdGhpcy5fZ3JpcC5hbmd1bGFyVmVsb2NpdHk9bmV3IEg1dCksdGhpcy5fZ3JpcH1kaXNwYXRjaEV2ZW50KHQpe3JldHVybiBudWxsIT09dGhpcy5fdGFyZ2V0UmF5JiZ0aGlzLl90YXJnZXRSYXkuZGlzcGF0Y2hFdmVudCh0KSxudWxsIT09dGhpcy5fZ3JpcCYmdGhpcy5fZ3JpcC5kaXNwYXRjaEV2ZW50KHQpLG51bGwhPT10aGlzLl9oYW5kJiZ0aGlzLl9oYW5kLmRpc3BhdGNoRXZlbnQodCksdGhpc31kaXNjb25uZWN0KHQpe3JldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc2Nvbm5lY3RlZCIsZGF0YTp0fSksbnVsbCE9PXRoaXMuX3RhcmdldFJheSYmKHRoaXMuX3RhcmdldFJheS52aXNpYmxlPSExKSxudWxsIT09dGhpcy5fZ3JpcCYmKHRoaXMuX2dyaXAudmlzaWJsZT0hMSksbnVsbCE9PXRoaXMuX2hhbmQmJih0aGlzLl9oYW5kLnZpc2libGU9ITEpLHRoaXN9dXBkYXRlKHQsZSxuKXtsZXQgaT1udWxsLHI9bnVsbCxvPW51bGw7Y29uc3QgYT10aGlzLl90YXJnZXRSYXkscz10aGlzLl9ncmlwLGw9dGhpcy5faGFuZDtpZih0JiYidmlzaWJsZS1ibHVycmVkIiE9PWUuc2Vzc2lvbi52aXNpYmlsaXR5U3RhdGUpaWYobnVsbCE9PWEmJihpPWUuZ2V0UG9zZSh0LnRhcmdldFJheVNwYWNlLG4pLG51bGwhPT1pJiYoYS5tYXRyaXguZnJvbUFycmF5KGkudHJhbnNmb3JtLm1hdHJpeCksYS5tYXRyaXguZGVjb21wb3NlKGEucG9zaXRpb24sYS5yb3RhdGlvbixhLnNjYWxlKSxpLmxpbmVhclZlbG9jaXR5PyhhLmhhc0xpbmVhclZlbG9jaXR5PSEwLGEubGluZWFyVmVsb2NpdHkuY29weShpLmxpbmVhclZlbG9jaXR5KSk6YS5oYXNMaW5lYXJWZWxvY2l0eT0hMSxpLmFuZ3VsYXJWZWxvY2l0eT8oYS5oYXNBbmd1bGFyVmVsb2NpdHk9ITAsYS5hbmd1bGFyVmVsb2NpdHkuY29weShpLmFuZ3VsYXJWZWxvY2l0eSkpOmEuaGFzQW5ndWxhclZlbG9jaXR5PSExLHRoaXMuZGlzcGF0Y2hFdmVudChlN3QpKSksbCYmdC5oYW5kKXtvPSEwO2Zvcihjb25zdCBpIG9mIHQuaGFuZC52YWx1ZXMoKSl7Y29uc3QgdD1lLmdldEpvaW50UG9zZShpLG4pO2lmKHZvaWQgMD09PWwuam9pbnRzW2kuam9pbnROYW1lXSl7Y29uc3QgdD1uZXcgdDd0O3QubWF0cml4QXV0b1VwZGF0ZT0hMSx0LnZpc2libGU9ITEsbC5qb2ludHNbaS5qb2ludE5hbWVdPXQsbC5hZGQodCl9Y29uc3Qgcj1sLmpvaW50c1tpLmpvaW50TmFtZV07bnVsbCE9PXQmJihyLm1hdHJpeC5mcm9tQXJyYXkodC50cmFuc2Zvcm0ubWF0cml4KSxyLm1hdHJpeC5kZWNvbXBvc2Uoci5wb3NpdGlvbixyLnJvdGF0aW9uLHIuc2NhbGUpLHIuam9pbnRSYWRpdXM9dC5yYWRpdXMpLHIudmlzaWJsZT1udWxsIT09dH1jb25zdCBpPWwuam9pbnRzWyJpbmRleC1maW5nZXItdGlwIl0ucG9zaXRpb24uZGlzdGFuY2VUbyhsLmpvaW50c1sidGh1bWItdGlwIl0ucG9zaXRpb24pLHI9LjAyLGE9LjAwNTtsLmlucHV0U3RhdGUucGluY2hpbmcmJmk+cithPyhsLmlucHV0U3RhdGUucGluY2hpbmc9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJwaW5jaGVuZCIsaGFuZGVkbmVzczp0LmhhbmRlZG5lc3MsdGFyZ2V0OnRoaXN9KSk6IWwuaW5wdXRTdGF0ZS5waW5jaGluZyYmaTw9ci1hJiYobC5pbnB1dFN0YXRlLnBpbmNoaW5nPSEwLHRoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToicGluY2hzdGFydCIsaGFuZGVkbmVzczp0LmhhbmRlZG5lc3MsdGFyZ2V0OnRoaXN9KSl9ZWxzZSBudWxsIT09cyYmdC5ncmlwU3BhY2UmJihyPWUuZ2V0UG9zZSh0LmdyaXBTcGFjZSxuKSxudWxsIT09ciYmKHMubWF0cml4LmZyb21BcnJheShyLnRyYW5zZm9ybS5tYXRyaXgpLHMubWF0cml4LmRlY29tcG9zZShzLnBvc2l0aW9uLHMucm90YXRpb24scy5zY2FsZSksci5saW5lYXJWZWxvY2l0eT8ocy5oYXNMaW5lYXJWZWxvY2l0eT0hMCxzLmxpbmVhclZlbG9jaXR5LmNvcHkoci5saW5lYXJWZWxvY2l0eSkpOnMuaGFzTGluZWFyVmVsb2NpdHk9ITEsci5hbmd1bGFyVmVsb2NpdHk/KHMuaGFzQW5ndWxhclZlbG9jaXR5PSEwLHMuYW5ndWxhclZlbG9jaXR5LmNvcHkoci5hbmd1bGFyVmVsb2NpdHkpKTpzLmhhc0FuZ3VsYXJWZWxvY2l0eT0hMSkpO3JldHVybiBudWxsIT09YSYmKGEudmlzaWJsZT1udWxsIT09aSksbnVsbCE9PXMmJihzLnZpc2libGU9bnVsbCE9PXIpLG51bGwhPT1sJiYobC52aXNpYmxlPW51bGwhPT1vKSx0aGlzfX1jbGFzcyBpN3QgZXh0ZW5kcyBlNXR7Y29uc3RydWN0b3IodCxlKXtzdXBlcigpO2NvbnN0IG49dGhpcyxpPXQuc3RhdGU7bGV0IHI9bnVsbCxvPTEsYT1udWxsLHM9ImxvY2FsLWZsb29yIixsPW51bGwsYz1udWxsLHU9bnVsbCxoPW51bGwsZD1udWxsO2NvbnN0IHA9W10sZj1uZXcgTWFwLG09bmV3IHI2dDttLmxheWVycy5lbmFibGUoMSksbS52aWV3cG9ydD1uZXcgUjV0O2NvbnN0IGc9bmV3IHI2dDtnLmxheWVycy5lbmFibGUoMiksZy52aWV3cG9ydD1uZXcgUjV0O2NvbnN0IF89W20sZ10seT1uZXcgUTh0O3kubGF5ZXJzLmVuYWJsZSgxKSx5LmxheWVycy5lbmFibGUoMik7bGV0IHY9bnVsbCxiPW51bGw7ZnVuY3Rpb24geCh0KXtjb25zdCBlPWYuZ2V0KHQuaW5wdXRTb3VyY2UpO2UmJmUuZGlzcGF0Y2hFdmVudCh7dHlwZTp0LnR5cGUsZGF0YTp0LmlucHV0U291cmNlfSl9ZnVuY3Rpb24gdygpe2YuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXt0LmRpc2Nvbm5lY3QoZSl9KSksZi5jbGVhcigpLHY9bnVsbCxiPW51bGwsaS5iaW5kWFJGcmFtZWJ1ZmZlcihudWxsKSx0LnNldFJlbmRlclRhcmdldCh0LmdldFJlbmRlclRhcmdldCgpKSxBLnN0b3AoKSxuLmlzUHJlc2VudGluZz0hMSxuLmRpc3BhdGNoRXZlbnQoe3R5cGU6InNlc3Npb25lbmQifSl9ZnVuY3Rpb24gUyh0KXtjb25zdCBlPXIuaW5wdXRTb3VyY2VzO2ZvcihsZXQgdD0wO3Q8cC5sZW5ndGg7dCsrKWYuc2V0KGVbdF0scFt0XSk7Zm9yKGxldCBlPTA7ZTx0LnJlbW92ZWQubGVuZ3RoO2UrKyl7Y29uc3Qgbj10LnJlbW92ZWRbZV0saT1mLmdldChuKTtpJiYoaS5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNjb25uZWN0ZWQiLGRhdGE6bn0pLGYuZGVsZXRlKG4pKX1mb3IobGV0IGU9MDtlPHQuYWRkZWQubGVuZ3RoO2UrKyl7Y29uc3Qgbj10LmFkZGVkW2VdLGk9Zi5nZXQobik7aSYmaS5kaXNwYXRjaEV2ZW50KHt0eXBlOiJjb25uZWN0ZWQiLGRhdGE6bn0pfX10aGlzLmNhbWVyYUF1dG9VcGRhdGU9ITAsdGhpcy5lbmFibGVkPSExLHRoaXMuaXNQcmVzZW50aW5nPSExLHRoaXMuZ2V0Q29udHJvbGxlcj1mdW5jdGlvbih0KXtsZXQgZT1wW3RdO3JldHVybiB2b2lkIDA9PT1lJiYoZT1uZXcgbjd0LHBbdF09ZSksZS5nZXRUYXJnZXRSYXlTcGFjZSgpfSx0aGlzLmdldENvbnRyb2xsZXJHcmlwPWZ1bmN0aW9uKHQpe2xldCBlPXBbdF07cmV0dXJuIHZvaWQgMD09PWUmJihlPW5ldyBuN3QscFt0XT1lKSxlLmdldEdyaXBTcGFjZSgpfSx0aGlzLmdldEhhbmQ9ZnVuY3Rpb24odCl7bGV0IGU9cFt0XTtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9bmV3IG43dCxwW3RdPWUpLGUuZ2V0SGFuZFNwYWNlKCl9LHRoaXMuc2V0RnJhbWVidWZmZXJTY2FsZUZhY3Rvcj1mdW5jdGlvbih0KXtvPXQsITA9PT1uLmlzUHJlc2VudGluZyYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJYUk1hbmFnZXI6IENhbm5vdCBjaGFuZ2UgZnJhbWVidWZmZXIgc2NhbGUgd2hpbGUgcHJlc2VudGluZy4iKX0sdGhpcy5zZXRSZWZlcmVuY2VTcGFjZVR5cGU9ZnVuY3Rpb24odCl7cz10LCEwPT09bi5pc1ByZXNlbnRpbmcmJmNvbnNvbGUud2FybigiVEhSRUUuV2ViWFJNYW5hZ2VyOiBDYW5ub3QgY2hhbmdlIHJlZmVyZW5jZSBzcGFjZSB0eXBlIHdoaWxlIHByZXNlbnRpbmcuIil9LHRoaXMuZ2V0UmVmZXJlbmNlU3BhY2U9ZnVuY3Rpb24oKXtyZXR1cm4gYX0sdGhpcy5nZXRTZXNzaW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHJ9LHRoaXMuc2V0U2Vzc2lvbj1hc3luYyBmdW5jdGlvbih0KXtpZihyPXQsbnVsbCE9PXIpe3IuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0Iix4KSxyLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdHN0YXJ0Iix4KSxyLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGVuZCIseCksci5hZGRFdmVudExpc3RlbmVyKCJzcXVlZXplIix4KSxyLmFkZEV2ZW50TGlzdGVuZXIoInNxdWVlemVzdGFydCIseCksci5hZGRFdmVudExpc3RlbmVyKCJzcXVlZXplZW5kIix4KSxyLmFkZEV2ZW50TGlzdGVuZXIoImVuZCIsdyksci5hZGRFdmVudExpc3RlbmVyKCJpbnB1dHNvdXJjZXNjaGFuZ2UiLFMpO2NvbnN0IHQ9ZS5nZXRDb250ZXh0QXR0cmlidXRlcygpO2lmKCEwIT09dC54ckNvbXBhdGlibGUmJmF3YWl0IGUubWFrZVhSQ29tcGF0aWJsZSgpLHZvaWQgMD09PXIucmVuZGVyU3RhdGUubGF5ZXJzKXtkPW5ldyBYUldlYkdMTGF5ZXIocixlLHthbnRpYWxpYXM6dC5hbnRpYWxpYXMsYWxwaGE6dC5hbHBoYSxkZXB0aDp0LmRlcHRoLHN0ZW5jaWw6dC5zdGVuY2lsLGZyYW1lYnVmZmVyU2NhbGVGYWN0b3I6b30pLHIudXBkYXRlUmVuZGVyU3RhdGUoe2Jhc2VMYXllcjpkfSl9ZWxzZXtsZXQgbj0wO2lmKHQuYW50aWFsaWFzKXtkPW5ldyBYUldlYkdMTGF5ZXIocixlLHthbnRpYWxpYXM6ITAsYWxwaGE6dC5hbHBoYSxkZXB0aDp0LmRlcHRoLHN0ZW5jaWw6dC5zdGVuY2lsLGZyYW1lYnVmZmVyU2NhbGVGYWN0b3I6b30pLHIudXBkYXRlUmVuZGVyU3RhdGUoe2xheWVyczpbZF19KX1lbHNle3QuZGVwdGgmJihuPXQuc3RlbmNpbD8zNDA0MTo2NDAyKTtjb25zdCBpPXtjb2xvckZvcm1hdDp0LmFscGhhPzY0MDg6NjQwNyxkZXB0aEZvcm1hdDpuLHNjYWxlRmFjdG9yOm99O2M9bmV3IFhSV2ViR0xCaW5kaW5nKHIsZSksaD1jLmNyZWF0ZVByb2plY3Rpb25MYXllcihpKSx1PWUuY3JlYXRlRnJhbWVidWZmZXIoKSxyLnVwZGF0ZVJlbmRlclN0YXRlKHtsYXllcnM6W2hdfSl9fWE9YXdhaXQgci5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UocyksQS5zZXRDb250ZXh0KHIpLEEuc3RhcnQoKSxuLmlzUHJlc2VudGluZz0hMCxuLmRpc3BhdGNoRXZlbnQoe3R5cGU6InNlc3Npb25zdGFydCJ9KX19O2NvbnN0IE09bmV3IEg1dCxFPW5ldyBINXQ7ZnVuY3Rpb24gVCh0LGUpe251bGw9PT1lP3QubWF0cml4V29ybGQuY29weSh0Lm1hdHJpeCk6dC5tYXRyaXhXb3JsZC5tdWx0aXBseU1hdHJpY2VzKGUubWF0cml4V29ybGQsdC5tYXRyaXgpLHQubWF0cml4V29ybGRJbnZlcnNlLmNvcHkodC5tYXRyaXhXb3JsZCkuaW52ZXJ0KCl9dGhpcy51cGRhdGVDYW1lcmE9ZnVuY3Rpb24odCl7aWYobnVsbD09PXIpcmV0dXJuO3kubmVhcj1nLm5lYXI9bS5uZWFyPXQubmVhcix5LmZhcj1nLmZhcj1tLmZhcj10LmZhcix2PT09eS5uZWFyJiZiPT09eS5mYXJ8fChyLnVwZGF0ZVJlbmRlclN0YXRlKHtkZXB0aE5lYXI6eS5uZWFyLGRlcHRoRmFyOnkuZmFyfSksdj15Lm5lYXIsYj15LmZhcik7Y29uc3QgZT10LnBhcmVudCxuPXkuY2FtZXJhcztUKHksZSk7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0KyspVChuW3RdLGUpO3kubWF0cml4V29ybGQuZGVjb21wb3NlKHkucG9zaXRpb24seS5xdWF0ZXJuaW9uLHkuc2NhbGUpLHQucG9zaXRpb24uY29weSh5LnBvc2l0aW9uKSx0LnF1YXRlcm5pb24uY29weSh5LnF1YXRlcm5pb24pLHQuc2NhbGUuY29weSh5LnNjYWxlKSx0Lm1hdHJpeC5jb3B5KHkubWF0cml4KSx0Lm1hdHJpeFdvcmxkLmNvcHkoeS5tYXRyaXhXb3JsZCk7Y29uc3QgaT10LmNoaWxkcmVuO2ZvcihsZXQgdD0wLGU9aS5sZW5ndGg7dDxlO3QrKylpW3RdLnVwZGF0ZU1hdHJpeFdvcmxkKCEwKTsyPT09bi5sZW5ndGg/KGZ1bmN0aW9uIG8odCxlLG4pe00uc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGUubWF0cml4V29ybGQpLEUuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKG4ubWF0cml4V29ybGQpO2NvbnN0IGk9TS5kaXN0YW5jZVRvKEUpLHI9ZS5wcm9qZWN0aW9uTWF0cml4LmVsZW1lbnRzLG89bi5wcm9qZWN0aW9uTWF0cml4LmVsZW1lbnRzLGE9clsxNF0vKHJbMTBdLTEpLHM9clsxNF0vKHJbMTBdKzEpLGw9KHJbOV0rMSkvcls1XSxjPShyWzldLTEpL3JbNV0sdT0ocls4XS0xKS9yWzBdLGg9KG9bOF0rMSkvb1swXSxkPWEqdSxwPWEqaCxmPWkvKC11K2gpLG09ZiotdTtlLm1hdHJpeFdvcmxkLmRlY29tcG9zZSh0LnBvc2l0aW9uLHQucXVhdGVybmlvbix0LnNjYWxlKSx0LnRyYW5zbGF0ZVgobSksdC50cmFuc2xhdGVaKGYpLHQubWF0cml4V29ybGQuY29tcG9zZSh0LnBvc2l0aW9uLHQucXVhdGVybmlvbix0LnNjYWxlKSx0Lm1hdHJpeFdvcmxkSW52ZXJzZS5jb3B5KHQubWF0cml4V29ybGQpLmludmVydCgpO2NvbnN0IGc9YStmLF89cytmO3QucHJvamVjdGlvbk1hdHJpeC5tYWtlUGVyc3BlY3RpdmUoZC1tLHArKGktbSksbCpzL18qZyxjKnMvXypnLGcsXyl9KSh5LG0sZyk6eS5wcm9qZWN0aW9uTWF0cml4LmNvcHkobS5wcm9qZWN0aW9uTWF0cml4KX0sdGhpcy5nZXRDYW1lcmE9ZnVuY3Rpb24oKXtyZXR1cm4geX0sdGhpcy5nZXRGb3ZlYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9PWg/aC5maXhlZEZvdmVhdGlvbjpudWxsIT09ZD9kLmZpeGVkRm92ZWF0aW9uOnZvaWQgMH0sdGhpcy5zZXRGb3ZlYXRpb249ZnVuY3Rpb24odCl7bnVsbCE9PWgmJihoLmZpeGVkRm92ZWF0aW9uPXQpLG51bGwhPT1kJiZ2b2lkIDAhPT1kLmZpeGVkRm92ZWF0aW9uJiYoZC5maXhlZEZvdmVhdGlvbj10KX07bGV0IEM9bnVsbDtjb25zdCBBPW5ldyBnNnQ7QS5zZXRBbmltYXRpb25Mb29wKChmdW5jdGlvbiBrKHQsbil7aWYobD1uLmdldFZpZXdlclBvc2UoYSksbnVsbCE9PWwpe2NvbnN0IHQ9bC52aWV3cztudWxsIT09ZCYmaS5iaW5kWFJGcmFtZWJ1ZmZlcihkLmZyYW1lYnVmZmVyKTtsZXQgbj0hMTt0Lmxlbmd0aCE9PXkuY2FtZXJhcy5sZW5ndGgmJih5LmNhbWVyYXMubGVuZ3RoPTAsbj0hMCk7Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspe2NvbnN0IG89dFtyXTtsZXQgYT1udWxsO2lmKG51bGwhPT1kKWE9ZC5nZXRWaWV3cG9ydChvKTtlbHNle2NvbnN0IHQ9Yy5nZXRWaWV3U3ViSW1hZ2UoaCxvKTtpLmJpbmRYUkZyYW1lYnVmZmVyKHUpLHZvaWQgMCE9PXQuZGVwdGhTdGVuY2lsVGV4dHVyZSYmZS5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCwzNjA5NiwzNTUzLHQuZGVwdGhTdGVuY2lsVGV4dHVyZSwwKSxlLmZyYW1lYnVmZmVyVGV4dHVyZTJEKDM2MTYwLDM2MDY0LDM1NTMsdC5jb2xvclRleHR1cmUsMCksYT10LnZpZXdwb3J0fWNvbnN0IHM9X1tyXTtzLm1hdHJpeC5mcm9tQXJyYXkoby50cmFuc2Zvcm0ubWF0cml4KSxzLnByb2plY3Rpb25NYXRyaXguZnJvbUFycmF5KG8ucHJvamVjdGlvbk1hdHJpeCkscy52aWV3cG9ydC5zZXQoYS54LGEueSxhLndpZHRoLGEuaGVpZ2h0KSwwPT09ciYmeS5tYXRyaXguY29weShzLm1hdHJpeCksITA9PT1uJiZ5LmNhbWVyYXMucHVzaChzKX19Y29uc3Qgbz1yLmlucHV0U291cmNlcztmb3IobGV0IHQ9MDt0PHAubGVuZ3RoO3QrKyl7cFt0XS51cGRhdGUob1t0XSxuLGEpfUMmJkModCxuKX0pKSx0aGlzLnNldEFuaW1hdGlvbkxvb3A9ZnVuY3Rpb24odCl7Qz10fSx0aGlzLmRpc3Bvc2U9ZnVuY3Rpb24oKXt9fX1mdW5jdGlvbiByN3QodCl7ZnVuY3Rpb24gZShlLG4pe2Uub3BhY2l0eS52YWx1ZT1uLm9wYWNpdHksbi5jb2xvciYmZS5kaWZmdXNlLnZhbHVlLmNvcHkobi5jb2xvciksbi5lbWlzc2l2ZSYmZS5lbWlzc2l2ZS52YWx1ZS5jb3B5KG4uZW1pc3NpdmUpLm11bHRpcGx5U2NhbGFyKG4uZW1pc3NpdmVJbnRlbnNpdHkpLG4ubWFwJiYoZS5tYXAudmFsdWU9bi5tYXApLG4uYWxwaGFNYXAmJihlLmFscGhhTWFwLnZhbHVlPW4uYWxwaGFNYXApLG4uc3BlY3VsYXJNYXAmJihlLnNwZWN1bGFyTWFwLnZhbHVlPW4uc3BlY3VsYXJNYXApO2NvbnN0IGk9dC5nZXQobikuZW52TWFwO2lmKGkpe2UuZW52TWFwLnZhbHVlPWksZS5mbGlwRW52TWFwLnZhbHVlPWkuaXNDdWJlVGV4dHVyZSYmITE9PT1pLmlzUmVuZGVyVGFyZ2V0VGV4dHVyZT8tMToxLGUucmVmbGVjdGl2aXR5LnZhbHVlPW4ucmVmbGVjdGl2aXR5LGUucmVmcmFjdGlvblJhdGlvLnZhbHVlPW4ucmVmcmFjdGlvblJhdGlvO2NvbnN0IHI9dC5nZXQoaSkuX19tYXhNaXBMZXZlbDt2b2lkIDAhPT1yJiYoZS5tYXhNaXBMZXZlbC52YWx1ZT1yKX1sZXQgcixvO24ubGlnaHRNYXAmJihlLmxpZ2h0TWFwLnZhbHVlPW4ubGlnaHRNYXAsZS5saWdodE1hcEludGVuc2l0eS52YWx1ZT1uLmxpZ2h0TWFwSW50ZW5zaXR5KSxuLmFvTWFwJiYoZS5hb01hcC52YWx1ZT1uLmFvTWFwLGUuYW9NYXBJbnRlbnNpdHkudmFsdWU9bi5hb01hcEludGVuc2l0eSksbi5tYXA/cj1uLm1hcDpuLnNwZWN1bGFyTWFwP3I9bi5zcGVjdWxhck1hcDpuLmRpc3BsYWNlbWVudE1hcD9yPW4uZGlzcGxhY2VtZW50TWFwOm4ubm9ybWFsTWFwP3I9bi5ub3JtYWxNYXA6bi5idW1wTWFwP3I9bi5idW1wTWFwOm4ucm91Z2huZXNzTWFwP3I9bi5yb3VnaG5lc3NNYXA6bi5tZXRhbG5lc3NNYXA/cj1uLm1ldGFsbmVzc01hcDpuLmFscGhhTWFwP3I9bi5hbHBoYU1hcDpuLmVtaXNzaXZlTWFwP3I9bi5lbWlzc2l2ZU1hcDpuLmNsZWFyY29hdE1hcD9yPW4uY2xlYXJjb2F0TWFwOm4uY2xlYXJjb2F0Tm9ybWFsTWFwP3I9bi5jbGVhcmNvYXROb3JtYWxNYXA6bi5jbGVhcmNvYXRSb3VnaG5lc3NNYXA/cj1uLmNsZWFyY29hdFJvdWdobmVzc01hcDpuLnNwZWN1bGFySW50ZW5zaXR5TWFwP3I9bi5zcGVjdWxhckludGVuc2l0eU1hcDpuLnNwZWN1bGFyVGludE1hcCYmKHI9bi5zcGVjdWxhclRpbnRNYXApLHZvaWQgMCE9PXImJihyLmlzV2ViR0xSZW5kZXJUYXJnZXQmJihyPXIudGV4dHVyZSksITA9PT1yLm1hdHJpeEF1dG9VcGRhdGUmJnIudXBkYXRlTWF0cml4KCksZS51dlRyYW5zZm9ybS52YWx1ZS5jb3B5KHIubWF0cml4KSksbi5hb01hcD9vPW4uYW9NYXA6bi5saWdodE1hcCYmKG89bi5saWdodE1hcCksdm9pZCAwIT09byYmKG8uaXNXZWJHTFJlbmRlclRhcmdldCYmKG89by50ZXh0dXJlKSwhMD09PW8ubWF0cml4QXV0b1VwZGF0ZSYmby51cGRhdGVNYXRyaXgoKSxlLnV2MlRyYW5zZm9ybS52YWx1ZS5jb3B5KG8ubWF0cml4KSl9ZnVuY3Rpb24gbihlLG4pe2Uucm91Z2huZXNzLnZhbHVlPW4ucm91Z2huZXNzLGUubWV0YWxuZXNzLnZhbHVlPW4ubWV0YWxuZXNzLG4ucm91Z2huZXNzTWFwJiYoZS5yb3VnaG5lc3NNYXAudmFsdWU9bi5yb3VnaG5lc3NNYXApLG4ubWV0YWxuZXNzTWFwJiYoZS5tZXRhbG5lc3NNYXAudmFsdWU9bi5tZXRhbG5lc3NNYXApLG4uZW1pc3NpdmVNYXAmJihlLmVtaXNzaXZlTWFwLnZhbHVlPW4uZW1pc3NpdmVNYXApLG4uYnVtcE1hcCYmKGUuYnVtcE1hcC52YWx1ZT1uLmJ1bXBNYXAsZS5idW1wU2NhbGUudmFsdWU9bi5idW1wU2NhbGUsMT09PW4uc2lkZSYmKGUuYnVtcFNjYWxlLnZhbHVlKj0tMSkpLG4ubm9ybWFsTWFwJiYoZS5ub3JtYWxNYXAudmFsdWU9bi5ub3JtYWxNYXAsZS5ub3JtYWxTY2FsZS52YWx1ZS5jb3B5KG4ubm9ybWFsU2NhbGUpLDE9PT1uLnNpZGUmJmUubm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpLG4uZGlzcGxhY2VtZW50TWFwJiYoZS5kaXNwbGFjZW1lbnRNYXAudmFsdWU9bi5kaXNwbGFjZW1lbnRNYXAsZS5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1uLmRpc3BsYWNlbWVudFNjYWxlLGUuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT1uLmRpc3BsYWNlbWVudEJpYXMpO3QuZ2V0KG4pLmVudk1hcCYmKGUuZW52TWFwSW50ZW5zaXR5LnZhbHVlPW4uZW52TWFwSW50ZW5zaXR5KX1yZXR1cm57cmVmcmVzaEZvZ1VuaWZvcm1zOmZ1bmN0aW9uIGkodCxlKXt0LmZvZ0NvbG9yLnZhbHVlLmNvcHkoZS5jb2xvciksZS5pc0ZvZz8odC5mb2dOZWFyLnZhbHVlPWUubmVhcix0LmZvZ0Zhci52YWx1ZT1lLmZhcik6ZS5pc0ZvZ0V4cDImJih0LmZvZ0RlbnNpdHkudmFsdWU9ZS5kZW5zaXR5KX0scmVmcmVzaE1hdGVyaWFsVW5pZm9ybXM6ZnVuY3Rpb24gcih0LGksbyxhLHMpe2kuaXNNZXNoQmFzaWNNYXRlcmlhbD9lKHQsaSk6aS5pc01lc2hMYW1iZXJ0TWF0ZXJpYWw/KGUodCxpKSwoZnVuY3Rpb24gbCh0LGUpe2UuZW1pc3NpdmVNYXAmJih0LmVtaXNzaXZlTWFwLnZhbHVlPWUuZW1pc3NpdmVNYXApfSkodCxpKSk6aS5pc01lc2hUb29uTWF0ZXJpYWw/KGUodCxpKSwoZnVuY3Rpb24gYyh0LGUpe2UuZ3JhZGllbnRNYXAmJih0LmdyYWRpZW50TWFwLnZhbHVlPWUuZ3JhZGllbnRNYXApO2UuZW1pc3NpdmVNYXAmJih0LmVtaXNzaXZlTWFwLnZhbHVlPWUuZW1pc3NpdmVNYXApO2UuYnVtcE1hcCYmKHQuYnVtcE1hcC52YWx1ZT1lLmJ1bXBNYXAsdC5idW1wU2NhbGUudmFsdWU9ZS5idW1wU2NhbGUsMT09PWUuc2lkZSYmKHQuYnVtcFNjYWxlLnZhbHVlKj0tMSkpO2Uubm9ybWFsTWFwJiYodC5ub3JtYWxNYXAudmFsdWU9ZS5ub3JtYWxNYXAsdC5ub3JtYWxTY2FsZS52YWx1ZS5jb3B5KGUubm9ybWFsU2NhbGUpLDE9PT1lLnNpZGUmJnQubm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpO2UuZGlzcGxhY2VtZW50TWFwJiYodC5kaXNwbGFjZW1lbnRNYXAudmFsdWU9ZS5kaXNwbGFjZW1lbnRNYXAsdC5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1lLmRpc3BsYWNlbWVudFNjYWxlLHQuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT1lLmRpc3BsYWNlbWVudEJpYXMpfSkodCxpKSk6aS5pc01lc2hQaG9uZ01hdGVyaWFsPyhlKHQsaSksKGZ1bmN0aW9uIHUodCxlKXt0LnNwZWN1bGFyLnZhbHVlLmNvcHkoZS5zcGVjdWxhciksdC5zaGluaW5lc3MudmFsdWU9TWF0aC5tYXgoZS5zaGluaW5lc3MsMWUtNCksZS5lbWlzc2l2ZU1hcCYmKHQuZW1pc3NpdmVNYXAudmFsdWU9ZS5lbWlzc2l2ZU1hcCk7ZS5idW1wTWFwJiYodC5idW1wTWFwLnZhbHVlPWUuYnVtcE1hcCx0LmJ1bXBTY2FsZS52YWx1ZT1lLmJ1bXBTY2FsZSwxPT09ZS5zaWRlJiYodC5idW1wU2NhbGUudmFsdWUqPS0xKSk7ZS5ub3JtYWxNYXAmJih0Lm5vcm1hbE1hcC52YWx1ZT1lLm5vcm1hbE1hcCx0Lm5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoZS5ub3JtYWxTY2FsZSksMT09PWUuc2lkZSYmdC5ub3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7ZS5kaXNwbGFjZW1lbnRNYXAmJih0LmRpc3BsYWNlbWVudE1hcC52YWx1ZT1lLmRpc3BsYWNlbWVudE1hcCx0LmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPWUuZGlzcGxhY2VtZW50U2NhbGUsdC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPWUuZGlzcGxhY2VtZW50Qmlhcyl9KSh0LGkpKTppLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWw/KGUodCxpKSxpLmlzTWVzaFBoeXNpY2FsTWF0ZXJpYWw/KGZ1bmN0aW9uIGgodCxlLGkpe24odCxlKSx0LnJlZmxlY3Rpdml0eS52YWx1ZT1lLnJlZmxlY3Rpdml0eSx0LmNsZWFyY29hdC52YWx1ZT1lLmNsZWFyY29hdCx0LmNsZWFyY29hdFJvdWdobmVzcy52YWx1ZT1lLmNsZWFyY29hdFJvdWdobmVzcyxlLnNoZWVuJiZ0LnNoZWVuLnZhbHVlLmNvcHkoZS5zaGVlbik7ZS5jbGVhcmNvYXRNYXAmJih0LmNsZWFyY29hdE1hcC52YWx1ZT1lLmNsZWFyY29hdE1hcCk7ZS5jbGVhcmNvYXRSb3VnaG5lc3NNYXAmJih0LmNsZWFyY29hdFJvdWdobmVzc01hcC52YWx1ZT1lLmNsZWFyY29hdFJvdWdobmVzc01hcCk7ZS5jbGVhcmNvYXROb3JtYWxNYXAmJih0LmNsZWFyY29hdE5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoZS5jbGVhcmNvYXROb3JtYWxTY2FsZSksdC5jbGVhcmNvYXROb3JtYWxNYXAudmFsdWU9ZS5jbGVhcmNvYXROb3JtYWxNYXAsMT09PWUuc2lkZSYmdC5jbGVhcmNvYXROb3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7dC50cmFuc21pc3Npb24udmFsdWU9ZS50cmFuc21pc3Npb24sZS50cmFuc21pc3Npb25NYXAmJih0LnRyYW5zbWlzc2lvbk1hcC52YWx1ZT1lLnRyYW5zbWlzc2lvbk1hcCk7ZS50cmFuc21pc3Npb24+MCYmKHQudHJhbnNtaXNzaW9uU2FtcGxlck1hcC52YWx1ZT1pLnRleHR1cmUsdC50cmFuc21pc3Npb25TYW1wbGVyU2l6ZS52YWx1ZS5zZXQoaS53aWR0aCxpLmhlaWdodCkpO3QudGhpY2tuZXNzLnZhbHVlPWUudGhpY2tuZXNzLGUudGhpY2tuZXNzTWFwJiYodC50aGlja25lc3NNYXAudmFsdWU9ZS50aGlja25lc3NNYXApO3QuYXR0ZW51YXRpb25EaXN0YW5jZS52YWx1ZT1lLmF0dGVudWF0aW9uRGlzdGFuY2UsdC5hdHRlbnVhdGlvblRpbnQudmFsdWUuY29weShlLmF0dGVudWF0aW9uVGludCksdC5zcGVjdWxhckludGVuc2l0eS52YWx1ZT1lLnNwZWN1bGFySW50ZW5zaXR5LHQuc3BlY3VsYXJUaW50LnZhbHVlLmNvcHkoZS5zcGVjdWxhclRpbnQpLGUuc3BlY3VsYXJJbnRlbnNpdHlNYXAmJih0LnNwZWN1bGFySW50ZW5zaXR5TWFwLnZhbHVlPWUuc3BlY3VsYXJJbnRlbnNpdHlNYXApO2Uuc3BlY3VsYXJUaW50TWFwJiYodC5zcGVjdWxhclRpbnRNYXAudmFsdWU9ZS5zcGVjdWxhclRpbnRNYXApfSkodCxpLHMpOm4odCxpKSk6aS5pc01lc2hNYXRjYXBNYXRlcmlhbD8oZSh0LGkpLChmdW5jdGlvbiBkKHQsZSl7ZS5tYXRjYXAmJih0Lm1hdGNhcC52YWx1ZT1lLm1hdGNhcCk7ZS5idW1wTWFwJiYodC5idW1wTWFwLnZhbHVlPWUuYnVtcE1hcCx0LmJ1bXBTY2FsZS52YWx1ZT1lLmJ1bXBTY2FsZSwxPT09ZS5zaWRlJiYodC5idW1wU2NhbGUudmFsdWUqPS0xKSk7ZS5ub3JtYWxNYXAmJih0Lm5vcm1hbE1hcC52YWx1ZT1lLm5vcm1hbE1hcCx0Lm5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoZS5ub3JtYWxTY2FsZSksMT09PWUuc2lkZSYmdC5ub3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7ZS5kaXNwbGFjZW1lbnRNYXAmJih0LmRpc3BsYWNlbWVudE1hcC52YWx1ZT1lLmRpc3BsYWNlbWVudE1hcCx0LmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPWUuZGlzcGxhY2VtZW50U2NhbGUsdC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPWUuZGlzcGxhY2VtZW50Qmlhcyl9KSh0LGkpKTppLmlzTWVzaERlcHRoTWF0ZXJpYWw/KGUodCxpKSwoZnVuY3Rpb24gcCh0LGUpe2UuZGlzcGxhY2VtZW50TWFwJiYodC5kaXNwbGFjZW1lbnRNYXAudmFsdWU9ZS5kaXNwbGFjZW1lbnRNYXAsdC5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1lLmRpc3BsYWNlbWVudFNjYWxlLHQuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT1lLmRpc3BsYWNlbWVudEJpYXMpfSkodCxpKSk6aS5pc01lc2hEaXN0YW5jZU1hdGVyaWFsPyhlKHQsaSksKGZ1bmN0aW9uIGYodCxlKXtlLmRpc3BsYWNlbWVudE1hcCYmKHQuZGlzcGxhY2VtZW50TWFwLnZhbHVlPWUuZGlzcGxhY2VtZW50TWFwLHQuZGlzcGxhY2VtZW50U2NhbGUudmFsdWU9ZS5kaXNwbGFjZW1lbnRTY2FsZSx0LmRpc3BsYWNlbWVudEJpYXMudmFsdWU9ZS5kaXNwbGFjZW1lbnRCaWFzKTt0LnJlZmVyZW5jZVBvc2l0aW9uLnZhbHVlLmNvcHkoZS5yZWZlcmVuY2VQb3NpdGlvbiksdC5uZWFyRGlzdGFuY2UudmFsdWU9ZS5uZWFyRGlzdGFuY2UsdC5mYXJEaXN0YW5jZS52YWx1ZT1lLmZhckRpc3RhbmNlfSkodCxpKSk6aS5pc01lc2hOb3JtYWxNYXRlcmlhbD8oZSh0LGkpLChmdW5jdGlvbiBtKHQsZSl7ZS5idW1wTWFwJiYodC5idW1wTWFwLnZhbHVlPWUuYnVtcE1hcCx0LmJ1bXBTY2FsZS52YWx1ZT1lLmJ1bXBTY2FsZSwxPT09ZS5zaWRlJiYodC5idW1wU2NhbGUudmFsdWUqPS0xKSk7ZS5ub3JtYWxNYXAmJih0Lm5vcm1hbE1hcC52YWx1ZT1lLm5vcm1hbE1hcCx0Lm5vcm1hbFNjYWxlLnZhbHVlLmNvcHkoZS5ub3JtYWxTY2FsZSksMT09PWUuc2lkZSYmdC5ub3JtYWxTY2FsZS52YWx1ZS5uZWdhdGUoKSk7ZS5kaXNwbGFjZW1lbnRNYXAmJih0LmRpc3BsYWNlbWVudE1hcC52YWx1ZT1lLmRpc3BsYWNlbWVudE1hcCx0LmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPWUuZGlzcGxhY2VtZW50U2NhbGUsdC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPWUuZGlzcGxhY2VtZW50Qmlhcyl9KSh0LGkpKTppLmlzTGluZUJhc2ljTWF0ZXJpYWw/KCEoZnVuY3Rpb24gZyh0LGUpe3QuZGlmZnVzZS52YWx1ZS5jb3B5KGUuY29sb3IpLHQub3BhY2l0eS52YWx1ZT1lLm9wYWNpdHl9KSh0LGkpLGkuaXNMaW5lRGFzaGVkTWF0ZXJpYWwmJihmdW5jdGlvbiBfKHQsZSl7dC5kYXNoU2l6ZS52YWx1ZT1lLmRhc2hTaXplLHQudG90YWxTaXplLnZhbHVlPWUuZGFzaFNpemUrZS5nYXBTaXplLHQuc2NhbGUudmFsdWU9ZS5zY2FsZX0pKHQsaSkpOmkuaXNQb2ludHNNYXRlcmlhbD8oZnVuY3Rpb24geSh0LGUsbixpKXt0LmRpZmZ1c2UudmFsdWUuY29weShlLmNvbG9yKSx0Lm9wYWNpdHkudmFsdWU9ZS5vcGFjaXR5LHQuc2l6ZS52YWx1ZT1lLnNpemUqbix0LnNjYWxlLnZhbHVlPS41KmksZS5tYXAmJih0Lm1hcC52YWx1ZT1lLm1hcCk7ZS5hbHBoYU1hcCYmKHQuYWxwaGFNYXAudmFsdWU9ZS5hbHBoYU1hcCk7bGV0IHI7ZS5tYXA/cj1lLm1hcDplLmFscGhhTWFwJiYocj1lLmFscGhhTWFwKTt2b2lkIDAhPT1yJiYoITA9PT1yLm1hdHJpeEF1dG9VcGRhdGUmJnIudXBkYXRlTWF0cml4KCksdC51dlRyYW5zZm9ybS52YWx1ZS5jb3B5KHIubWF0cml4KSl9KSh0LGksbyxhKTppLmlzU3ByaXRlTWF0ZXJpYWw/KGZ1bmN0aW9uIHYodCxlKXt0LmRpZmZ1c2UudmFsdWUuY29weShlLmNvbG9yKSx0Lm9wYWNpdHkudmFsdWU9ZS5vcGFjaXR5LHQucm90YXRpb24udmFsdWU9ZS5yb3RhdGlvbixlLm1hcCYmKHQubWFwLnZhbHVlPWUubWFwKTtlLmFscGhhTWFwJiYodC5hbHBoYU1hcC52YWx1ZT1lLmFscGhhTWFwKTtsZXQgbjtlLm1hcD9uPWUubWFwOmUuYWxwaGFNYXAmJihuPWUuYWxwaGFNYXApO3ZvaWQgMCE9PW4mJighMD09PW4ubWF0cml4QXV0b1VwZGF0ZSYmbi51cGRhdGVNYXRyaXgoKSx0LnV2VHJhbnNmb3JtLnZhbHVlLmNvcHkobi5tYXRyaXgpKX0pKHQsaSk6aS5pc1NoYWRvd01hdGVyaWFsPyh0LmNvbG9yLnZhbHVlLmNvcHkoaS5jb2xvciksdC5vcGFjaXR5LnZhbHVlPWkub3BhY2l0eSk6aS5pc1NoYWRlck1hdGVyaWFsJiYoaS51bmlmb3Jtc05lZWRVcGRhdGU9ITEpfX19ZnVuY3Rpb24gbzd0KHQ9e30pe2NvbnN0IGU9dm9pZCAwIT09dC5jYW52YXM/dC5jYW52YXM6KGZ1bmN0aW9uIG4oKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImNhbnZhcyIpO3JldHVybiB0LnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0fSkoKSxpPXZvaWQgMCE9PXQuY29udGV4dD90LmNvbnRleHQ6bnVsbCxyPXZvaWQgMCE9PXQuYWxwaGEmJnQuYWxwaGEsbz12b2lkIDA9PT10LmRlcHRofHx0LmRlcHRoLGE9dm9pZCAwPT09dC5zdGVuY2lsfHx0LnN0ZW5jaWwscz12b2lkIDAhPT10LmFudGlhbGlhcyYmdC5hbnRpYWxpYXMsbD12b2lkIDA9PT10LnByZW11bHRpcGxpZWRBbHBoYXx8dC5wcmVtdWx0aXBsaWVkQWxwaGEsYz12b2lkIDAhPT10LnByZXNlcnZlRHJhd2luZ0J1ZmZlciYmdC5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIsdT12b2lkIDAhPT10LnBvd2VyUHJlZmVyZW5jZT90LnBvd2VyUHJlZmVyZW5jZToiZGVmYXVsdCIsaD12b2lkIDAhPT10LmZhaWxJZk1ham9yUGVyZm9ybWFuY2VDYXZlYXQmJnQuZmFpbElmTWFqb3JQZXJmb3JtYW5jZUNhdmVhdDtsZXQgZD1udWxsLHA9bnVsbDtjb25zdCBmPVtdLG09W107dGhpcy5kb21FbGVtZW50PWUsdGhpcy5kZWJ1Zz17Y2hlY2tTaGFkZXJFcnJvcnM6ITB9LHRoaXMuYXV0b0NsZWFyPSEwLHRoaXMuYXV0b0NsZWFyQ29sb3I9ITAsdGhpcy5hdXRvQ2xlYXJEZXB0aD0hMCx0aGlzLmF1dG9DbGVhclN0ZW5jaWw9ITAsdGhpcy5zb3J0T2JqZWN0cz0hMCx0aGlzLmNsaXBwaW5nUGxhbmVzPVtdLHRoaXMubG9jYWxDbGlwcGluZ0VuYWJsZWQ9ITEsdGhpcy5nYW1tYUZhY3Rvcj0yLHRoaXMub3V0cHV0RW5jb2Rpbmc9RzJ0LHRoaXMucGh5c2ljYWxseUNvcnJlY3RMaWdodHM9ITEsdGhpcy50b25lTWFwcGluZz0wLHRoaXMudG9uZU1hcHBpbmdFeHBvc3VyZT0xO2NvbnN0IGc9dGhpcztsZXQgXz0hMSx5PTAsdj0wLGI9bnVsbCx4PS0xLHc9bnVsbDtjb25zdCBTPW5ldyBSNXQsTT1uZXcgUjV0O2xldCBFPW51bGwsVD1lLndpZHRoLEM9ZS5oZWlnaHQsQT0xLGs9bnVsbCxMPW51bGw7Y29uc3QgUD1uZXcgUjV0KDAsMCxULEMpLE49bmV3IFI1dCgwLDAsVCxDKTtsZXQgST0hMTtjb25zdCBSPVtdLE89bmV3IG02dDtsZXQgej0hMSxEPSExLEI9bnVsbDtjb25zdCBIPW5ldyBnM3QsRj1uZXcgSDV0LFY9e2JhY2tncm91bmQ6bnVsbCxmb2c6bnVsbCxlbnZpcm9ubWVudDpudWxsLG92ZXJyaWRlTWF0ZXJpYWw6bnVsbCxpc1NjZW5lOiEwfTtmdW5jdGlvbiBVKCl7cmV0dXJuIG51bGw9PT1iP0E6MX1sZXQgaixHLFcscSxZLFgsJCxLLFosSixRLHR0LGV0LG50LGl0LHJ0LG90LGF0LHN0LGx0LGN0LHV0LGh0LGR0PWk7ZnVuY3Rpb24gcHQodCxuKXtmb3IobGV0IGk9MDtpPHQubGVuZ3RoO2krKyl7Y29uc3Qgcj1lLmdldENvbnRleHQodFtpXSxuKTtpZihudWxsIT09cilyZXR1cm4gcn1yZXR1cm4gbnVsbH10cnl7Y29uc3QgdD17YWxwaGE6cixkZXB0aDpvLHN0ZW5jaWw6YSxhbnRpYWxpYXM6cyxwcmVtdWx0aXBsaWVkQWxwaGE6bCxwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6Yyxwb3dlclByZWZlcmVuY2U6dSxmYWlsSWZNYWpvclBlcmZvcm1hbmNlQ2F2ZWF0Omh9O2lmKGUuYWRkRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0bG9zdCIsZ3QsITEpLGUuYWRkRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0cmVzdG9yZWQiLF90LCExKSxudWxsPT09ZHQpe2NvbnN0IGU9WyJ3ZWJnbDIiLCJ3ZWJnbCIsImV4cGVyaW1lbnRhbC13ZWJnbCJdO2lmKCEwPT09Zy5pc1dlYkdMMVJlbmRlcmVyJiZlLnNoaWZ0KCksZHQ9cHQoZSx0KSxudWxsPT09ZHQpdGhyb3cgcHQoZSk/bmV3IEVycm9yKCJFcnJvciBjcmVhdGluZyBXZWJHTCBjb250ZXh0IHdpdGggeW91ciBzZWxlY3RlZCBhdHRyaWJ1dGVzLiIpOm5ldyBFcnJvcigiRXJyb3IgY3JlYXRpbmcgV2ViR0wgY29udGV4dC4iKX12b2lkIDA9PT1kdC5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQmJihkdC5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQ9ZnVuY3Rpb24oKXtyZXR1cm57cmFuZ2VNaW46MSxyYW5nZU1heDoxLHByZWNpc2lvbjoxfX0pfWNhdGNoKHQpe3Rocm93IGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXI6ICIrdC5tZXNzYWdlKSx0fWZ1bmN0aW9uIGZ0KCl7aj1uZXcgaTl0KGR0KSxHPW5ldyBFNnQoZHQsaix0KSxqLmluaXQoRyksdXQ9bmV3IEo4dChkdCxqLEcpLFc9bmV3IEs4dChkdCxqLEcpLFJbMF09MTAyOSxxPW5ldyBhOXQoZHQpLFk9bmV3IHo4dCxYPW5ldyBaOHQoZHQsaixXLFksRyx1dCxxKSwkPW5ldyBDNnQoZyksSz1uZXcgbjl0KGcpLFo9bmV3IF82dChkdCxHKSxodD1uZXcgUzZ0KGR0LGosWixHKSxKPW5ldyByOXQoZHQsWixxLGh0KSxRPW5ldyB1OXQoZHQsSixaLHEpLHN0PW5ldyBjOXQoZHQpLHJ0PW5ldyBUNnQoWSksdHQ9bmV3IE84dChnLCQsSyxqLEcsaHQscnQpLGV0PW5ldyByN3QoWSksbnQ9bmV3IEY4dChZKSxpdD1uZXcgcTh0KGosRyksYXQ9bmV3IHc2dChnLCQsVyxRLGwpLG90PW5ldyAkOHQoZyxRLEcpLGx0PW5ldyBNNnQoZHQsaixxLEcpLGN0PW5ldyBvOXQoZHQsaixxLEcpLHEucHJvZ3JhbXM9dHQucHJvZ3JhbXMsZy5jYXBhYmlsaXRpZXM9RyxnLmV4dGVuc2lvbnM9aixnLnByb3BlcnRpZXM9WSxnLnJlbmRlckxpc3RzPW50LGcuc2hhZG93TWFwPW90LGcuc3RhdGU9VyxnLmluZm89cX1mdCgpO2NvbnN0IG10PW5ldyBpN3QoZyxkdCk7ZnVuY3Rpb24gZ3QodCl7dC5wcmV2ZW50RGVmYXVsdCgpLGNvbnNvbGUubG9nKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBDb250ZXh0IExvc3QuIiksXz0hMH1mdW5jdGlvbiBfdCgpe2NvbnNvbGUubG9nKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBDb250ZXh0IFJlc3RvcmVkLiIpLF89ITE7Y29uc3QgdD1xLmF1dG9SZXNldCxlPW90LmVuYWJsZWQsbj1vdC5hdXRvVXBkYXRlLGk9b3QubmVlZHNVcGRhdGUscj1vdC50eXBlO2Z0KCkscS5hdXRvUmVzZXQ9dCxvdC5lbmFibGVkPWUsb3QuYXV0b1VwZGF0ZT1uLG90Lm5lZWRzVXBkYXRlPWksb3QudHlwZT1yfWZ1bmN0aW9uIHl0KHQpe2NvbnN0IGU9dC50YXJnZXQ7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIix5dCksKGZ1bmN0aW9uIG4odCl7KGZ1bmN0aW9uIGUodCl7Y29uc3QgZT1ZLmdldCh0KS5wcm9ncmFtczt2b2lkIDAhPT1lJiZlLmZvckVhY2goKGZ1bmN0aW9uKHQpe3R0LnJlbGVhc2VQcm9ncmFtKHQpfSkpfSkodCksWS5yZW1vdmUodCl9KShlKX10aGlzLnhyPW10LHRoaXMuZ2V0Q29udGV4dD1mdW5jdGlvbigpe3JldHVybiBkdH0sdGhpcy5nZXRDb250ZXh0QXR0cmlidXRlcz1mdW5jdGlvbigpe3JldHVybiBkdC5nZXRDb250ZXh0QXR0cmlidXRlcygpfSx0aGlzLmZvcmNlQ29udGV4dExvc3M9ZnVuY3Rpb24oKXtjb25zdCB0PWouZ2V0KCJXRUJHTF9sb3NlX2NvbnRleHQiKTt0JiZ0Lmxvc2VDb250ZXh0KCl9LHRoaXMuZm9yY2VDb250ZXh0UmVzdG9yZT1mdW5jdGlvbigpe2NvbnN0IHQ9ai5nZXQoIldFQkdMX2xvc2VfY29udGV4dCIpO3QmJnQucmVzdG9yZUNvbnRleHQoKX0sdGhpcy5nZXRQaXhlbFJhdGlvPWZ1bmN0aW9uKCl7cmV0dXJuIEF9LHRoaXMuc2V0UGl4ZWxSYXRpbz1mdW5jdGlvbih0KXt2b2lkIDAhPT10JiYoQT10LHRoaXMuc2V0U2l6ZShULEMsITEpKX0sdGhpcy5nZXRTaXplPWZ1bmN0aW9uKHQpe3JldHVybiB0LnNldChULEMpfSx0aGlzLnNldFNpemU9ZnVuY3Rpb24odCxuLGkpe210LmlzUHJlc2VudGluZz9jb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IENhbid0IGNoYW5nZSBzaXplIHdoaWxlIFZSIGRldmljZSBpcyBwcmVzZW50aW5nLiIpOihUPXQsQz1uLGUud2lkdGg9TWF0aC5mbG9vcih0KkEpLGUuaGVpZ2h0PU1hdGguZmxvb3IobipBKSwhMSE9PWkmJihlLnN0eWxlLndpZHRoPXQrInB4IixlLnN0eWxlLmhlaWdodD1uKyJweCIpLHRoaXMuc2V0Vmlld3BvcnQoMCwwLHQsbikpfSx0aGlzLmdldERyYXdpbmdCdWZmZXJTaXplPWZ1bmN0aW9uKHQpe3JldHVybiB0LnNldChUKkEsQypBKS5mbG9vcigpfSx0aGlzLnNldERyYXdpbmdCdWZmZXJTaXplPWZ1bmN0aW9uKHQsbixpKXtUPXQsQz1uLEE9aSxlLndpZHRoPU1hdGguZmxvb3IodCppKSxlLmhlaWdodD1NYXRoLmZsb29yKG4qaSksdGhpcy5zZXRWaWV3cG9ydCgwLDAsdCxuKX0sdGhpcy5nZXRDdXJyZW50Vmlld3BvcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weShTKX0sdGhpcy5nZXRWaWV3cG9ydD1mdW5jdGlvbih0KXtyZXR1cm4gdC5jb3B5KFApfSx0aGlzLnNldFZpZXdwb3J0PWZ1bmN0aW9uKHQsZSxuLGkpe3QuaXNWZWN0b3I0P1Auc2V0KHQueCx0LnksdC56LHQudyk6UC5zZXQodCxlLG4saSksVy52aWV3cG9ydChTLmNvcHkoUCkubXVsdGlwbHlTY2FsYXIoQSkuZmxvb3IoKSl9LHRoaXMuZ2V0U2Npc3Nvcj1mdW5jdGlvbih0KXtyZXR1cm4gdC5jb3B5KE4pfSx0aGlzLnNldFNjaXNzb3I9ZnVuY3Rpb24odCxlLG4saSl7dC5pc1ZlY3RvcjQ/Ti5zZXQodC54LHQueSx0LnosdC53KTpOLnNldCh0LGUsbixpKSxXLnNjaXNzb3IoTS5jb3B5KE4pLm11bHRpcGx5U2NhbGFyKEEpLmZsb29yKCkpfSx0aGlzLmdldFNjaXNzb3JUZXN0PWZ1bmN0aW9uKCl7cmV0dXJuIEl9LHRoaXMuc2V0U2Npc3NvclRlc3Q9ZnVuY3Rpb24odCl7Vy5zZXRTY2lzc29yVGVzdChJPXQpfSx0aGlzLnNldE9wYXF1ZVNvcnQ9ZnVuY3Rpb24odCl7az10fSx0aGlzLnNldFRyYW5zcGFyZW50U29ydD1mdW5jdGlvbih0KXtMPXR9LHRoaXMuZ2V0Q2xlYXJDb2xvcj1mdW5jdGlvbih0KXtyZXR1cm4gdC5jb3B5KGF0LmdldENsZWFyQ29sb3IoKSl9LHRoaXMuc2V0Q2xlYXJDb2xvcj1mdW5jdGlvbigpe2F0LnNldENsZWFyQ29sb3IuYXBwbHkoYXQsYXJndW1lbnRzKX0sdGhpcy5nZXRDbGVhckFscGhhPWZ1bmN0aW9uKCl7cmV0dXJuIGF0LmdldENsZWFyQWxwaGEoKX0sdGhpcy5zZXRDbGVhckFscGhhPWZ1bmN0aW9uKCl7YXQuc2V0Q2xlYXJBbHBoYS5hcHBseShhdCxhcmd1bWVudHMpfSx0aGlzLmNsZWFyPWZ1bmN0aW9uKHQsZSxuKXtsZXQgaT0wOyh2b2lkIDA9PT10fHx0KSYmKGl8PTE2Mzg0KSwodm9pZCAwPT09ZXx8ZSkmJihpfD0yNTYpLCh2b2lkIDA9PT1ufHxuKSYmKGl8PTEwMjQpLGR0LmNsZWFyKGkpfSx0aGlzLmNsZWFyQ29sb3I9ZnVuY3Rpb24oKXt0aGlzLmNsZWFyKCEwLCExLCExKX0sdGhpcy5jbGVhckRlcHRoPWZ1bmN0aW9uKCl7dGhpcy5jbGVhcighMSwhMCwhMSl9LHRoaXMuY2xlYXJTdGVuY2lsPWZ1bmN0aW9uKCl7dGhpcy5jbGVhcighMSwhMSwhMCl9LHRoaXMuZGlzcG9zZT1mdW5jdGlvbigpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0bG9zdCIsZ3QsITEpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0cmVzdG9yZWQiLF90LCExKSxudC5kaXNwb3NlKCksaXQuZGlzcG9zZSgpLFkuZGlzcG9zZSgpLCQuZGlzcG9zZSgpLEsuZGlzcG9zZSgpLFEuZGlzcG9zZSgpLGh0LmRpc3Bvc2UoKSxtdC5kaXNwb3NlKCksbXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Vzc2lvbnN0YXJ0IixidCksbXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Vzc2lvbmVuZCIseHQpLEImJihCLmRpc3Bvc2UoKSxCPW51bGwpLHd0LnN0b3AoKX0sdGhpcy5yZW5kZXJCdWZmZXJJbW1lZGlhdGU9ZnVuY3Rpb24odCxlKXtodC5pbml0QXR0cmlidXRlcygpO2NvbnN0IG49WS5nZXQodCk7dC5oYXNQb3NpdGlvbnMmJiFuLnBvc2l0aW9uJiYobi5wb3NpdGlvbj1kdC5jcmVhdGVCdWZmZXIoKSksdC5oYXNOb3JtYWxzJiYhbi5ub3JtYWwmJihuLm5vcm1hbD1kdC5jcmVhdGVCdWZmZXIoKSksdC5oYXNVdnMmJiFuLnV2JiYobi51dj1kdC5jcmVhdGVCdWZmZXIoKSksdC5oYXNDb2xvcnMmJiFuLmNvbG9yJiYobi5jb2xvcj1kdC5jcmVhdGVCdWZmZXIoKSk7Y29uc3QgaT1lLmdldEF0dHJpYnV0ZXMoKTt0Lmhhc1Bvc2l0aW9ucyYmKGR0LmJpbmRCdWZmZXIoMzQ5NjIsbi5wb3NpdGlvbiksZHQuYnVmZmVyRGF0YSgzNDk2Mix0LnBvc2l0aW9uQXJyYXksMzUwNDgpLGh0LmVuYWJsZUF0dHJpYnV0ZShpLnBvc2l0aW9uKSxkdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGkucG9zaXRpb24sMyw1MTI2LCExLDAsMCkpLHQuaGFzTm9ybWFscyYmKGR0LmJpbmRCdWZmZXIoMzQ5NjIsbi5ub3JtYWwpLGR0LmJ1ZmZlckRhdGEoMzQ5NjIsdC5ub3JtYWxBcnJheSwzNTA0OCksaHQuZW5hYmxlQXR0cmlidXRlKGkubm9ybWFsKSxkdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGkubm9ybWFsLDMsNTEyNiwhMSwwLDApKSx0Lmhhc1V2cyYmKGR0LmJpbmRCdWZmZXIoMzQ5NjIsbi51diksZHQuYnVmZmVyRGF0YSgzNDk2Mix0LnV2QXJyYXksMzUwNDgpLGh0LmVuYWJsZUF0dHJpYnV0ZShpLnV2KSxkdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKGkudXYsMiw1MTI2LCExLDAsMCkpLHQuaGFzQ29sb3JzJiYoZHQuYmluZEJ1ZmZlcigzNDk2MixuLmNvbG9yKSxkdC5idWZmZXJEYXRhKDM0OTYyLHQuY29sb3JBcnJheSwzNTA0OCksaHQuZW5hYmxlQXR0cmlidXRlKGkuY29sb3IpLGR0LnZlcnRleEF0dHJpYlBvaW50ZXIoaS5jb2xvciwzLDUxMjYsITEsMCwwKSksaHQuZGlzYWJsZVVudXNlZEF0dHJpYnV0ZXMoKSxkdC5kcmF3QXJyYXlzKDQsMCx0LmNvdW50KSx0LmNvdW50PTB9LHRoaXMucmVuZGVyQnVmZmVyRGlyZWN0PWZ1bmN0aW9uKHQsZSxuLGkscixvKXtudWxsPT09ZSYmKGU9Vik7Y29uc3QgYT1yLmlzTWVzaCYmci5tYXRyaXhXb3JsZC5kZXRlcm1pbmFudCgpPDAscz1BdCh0LGUsaSxyKTtXLnNldE1hdGVyaWFsKGksYSk7bGV0IGw9bi5pbmRleDtjb25zdCBjPW4uYXR0cmlidXRlcy5wb3NpdGlvbjtpZihudWxsPT09bCl7aWYodm9pZCAwPT09Y3x8MD09PWMuY291bnQpcmV0dXJufWVsc2UgaWYoMD09PWwuY291bnQpcmV0dXJuO2xldCB1LGg9MTshMD09PWkud2lyZWZyYW1lJiYobD1KLmdldFdpcmVmcmFtZUF0dHJpYnV0ZShuKSxoPTIpLHZvaWQgMD09PW4ubW9ycGhBdHRyaWJ1dGVzLnBvc2l0aW9uJiZ2b2lkIDA9PT1uLm1vcnBoQXR0cmlidXRlcy5ub3JtYWx8fHN0LnVwZGF0ZShyLG4saSxzKSxodC5zZXR1cChyLGkscyxuLGwpO2xldCBkPWx0O251bGwhPT1sJiYodT1aLmdldChsKSxkPWN0LGQuc2V0SW5kZXgodSkpO2NvbnN0IHA9bnVsbCE9PWw/bC5jb3VudDpjLmNvdW50LGY9bi5kcmF3UmFuZ2Uuc3RhcnQqaCxtPW4uZHJhd1JhbmdlLmNvdW50KmgsZz1udWxsIT09bz9vLnN0YXJ0Kmg6MCxfPW51bGwhPT1vP28uY291bnQqaDoxLzAseT1NYXRoLm1heChmLGcpLHY9TWF0aC5taW4ocCxmK20sZytfKS0xLGI9TWF0aC5tYXgoMCx2LXkrMSk7aWYoMCE9PWIpe2lmKHIuaXNNZXNoKSEwPT09aS53aXJlZnJhbWU/KFcuc2V0TGluZVdpZHRoKGkud2lyZWZyYW1lTGluZXdpZHRoKlUoKSksZC5zZXRNb2RlKDEpKTpkLnNldE1vZGUoNCk7ZWxzZSBpZihyLmlzTGluZSl7bGV0IHQ9aS5saW5ld2lkdGg7dm9pZCAwPT09dCYmKHQ9MSksVy5zZXRMaW5lV2lkdGgodCpVKCkpLGQuc2V0TW9kZShyLmlzTGluZVNlZ21lbnRzPzE6ci5pc0xpbmVMb29wPzI6Myl9ZWxzZSByLmlzUG9pbnRzP2Quc2V0TW9kZSgwKTpyLmlzU3ByaXRlJiZkLnNldE1vZGUoNCk7aWYoci5pc0luc3RhbmNlZE1lc2gpZC5yZW5kZXJJbnN0YW5jZXMoeSxiLHIuY291bnQpO2Vsc2UgaWYobi5pc0luc3RhbmNlZEJ1ZmZlckdlb21ldHJ5KXtjb25zdCB0PU1hdGgubWluKG4uaW5zdGFuY2VDb3VudCxuLl9tYXhJbnN0YW5jZUNvdW50KTtkLnJlbmRlckluc3RhbmNlcyh5LGIsdCl9ZWxzZSBkLnJlbmRlcih5LGIpfX0sdGhpcy5jb21waWxlPWZ1bmN0aW9uKHQsZSl7cD1pdC5nZXQodCkscC5pbml0KCksbS5wdXNoKHApLHQudHJhdmVyc2VWaXNpYmxlKChmdW5jdGlvbih0KXt0LmlzTGlnaHQmJnQubGF5ZXJzLnRlc3QoZS5sYXllcnMpJiYocC5wdXNoTGlnaHQodCksdC5jYXN0U2hhZG93JiZwLnB1c2hTaGFkb3codCkpfSkpLHAuc2V0dXBMaWdodHMoKSx0LnRyYXZlcnNlKChmdW5jdGlvbihlKXtjb25zdCBuPWUubWF0ZXJpYWw7aWYobilpZihBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgaT0wO2k8bi5sZW5ndGg7aSsrKXtUdChuW2ldLHQsZSl9ZWxzZSBUdChuLHQsZSl9KSksbS5wb3AoKSxwPW51bGx9O2xldCB2dD1udWxsO2Z1bmN0aW9uIGJ0KCl7d3Quc3RvcCgpfWZ1bmN0aW9uIHh0KCl7d3Quc3RhcnQoKX1jb25zdCB3dD1uZXcgZzZ0O2Z1bmN0aW9uIFN0KHQsZSxuLGkpe2lmKCExPT09dC52aXNpYmxlKXJldHVybjtpZih0LmxheWVycy50ZXN0KGUubGF5ZXJzKSlpZih0LmlzR3JvdXApbj10LnJlbmRlck9yZGVyO2Vsc2UgaWYodC5pc0xPRCkhMD09PXQuYXV0b1VwZGF0ZSYmdC51cGRhdGUoZSk7ZWxzZSBpZih0LmlzTGlnaHQpcC5wdXNoTGlnaHQodCksdC5jYXN0U2hhZG93JiZwLnB1c2hTaGFkb3codCk7ZWxzZSBpZih0LmlzU3ByaXRlKXtpZighdC5mcnVzdHVtQ3VsbGVkfHxPLmludGVyc2VjdHNTcHJpdGUodCkpe2kmJkYuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQubWF0cml4V29ybGQpLmFwcGx5TWF0cml4NChIKTtjb25zdCBlPVEudXBkYXRlKHQpLHI9dC5tYXRlcmlhbDtyLnZpc2libGUmJmQucHVzaCh0LGUscixuLEYueixudWxsKX19ZWxzZSBpZih0LmlzSW1tZWRpYXRlUmVuZGVyT2JqZWN0KWkmJkYuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQubWF0cml4V29ybGQpLmFwcGx5TWF0cml4NChIKSxkLnB1c2godCxudWxsLHQubWF0ZXJpYWwsbixGLnosbnVsbCk7ZWxzZSBpZigodC5pc01lc2h8fHQuaXNMaW5lfHx0LmlzUG9pbnRzKSYmKHQuaXNTa2lubmVkTWVzaCYmdC5za2VsZXRvbi5mcmFtZSE9PXEucmVuZGVyLmZyYW1lJiYodC5za2VsZXRvbi51cGRhdGUoKSx0LnNrZWxldG9uLmZyYW1lPXEucmVuZGVyLmZyYW1lKSwhdC5mcnVzdHVtQ3VsbGVkfHxPLmludGVyc2VjdHNPYmplY3QodCkpKXtpJiZGLnNldEZyb21NYXRyaXhQb3NpdGlvbih0Lm1hdHJpeFdvcmxkKS5hcHBseU1hdHJpeDQoSCk7Y29uc3QgZT1RLnVwZGF0ZSh0KSxyPXQubWF0ZXJpYWw7aWYoQXJyYXkuaXNBcnJheShyKSl7Y29uc3QgaT1lLmdyb3Vwcztmb3IobGV0IG89MCxhPWkubGVuZ3RoO288YTtvKyspe2NvbnN0IGE9aVtvXSxzPXJbYS5tYXRlcmlhbEluZGV4XTtzJiZzLnZpc2libGUmJmQucHVzaCh0LGUscyxuLEYueixhKX19ZWxzZSByLnZpc2libGUmJmQucHVzaCh0LGUscixuLEYueixudWxsKX1jb25zdCByPXQuY2hpbGRyZW47Zm9yKGxldCB0PTAsbz1yLmxlbmd0aDt0PG87dCsrKVN0KHJbdF0sZSxuLGkpfWZ1bmN0aW9uIE10KHQsZSxuKXtjb25zdCBpPSEwPT09ZS5pc1NjZW5lP2Uub3ZlcnJpZGVNYXRlcmlhbDpudWxsO2lmKG4uaXNBcnJheUNhbWVyYSl7Y29uc3Qgcj1uLmNhbWVyYXM7Zm9yKGxldCBuPTAsbz1yLmxlbmd0aDtuPG87bisrKXtjb25zdCBvPXJbbl07Vy52aWV3cG9ydChTLmNvcHkoby52aWV3cG9ydCkpLHAuc2V0dXBMaWdodHNWaWV3KG8pO2ZvcihsZXQgbj0wLHI9dC5sZW5ndGg7bjxyO24rKyl7Y29uc3Qgcj10W25dLGE9ci5vYmplY3Qscz1yLmdlb21ldHJ5LGw9bnVsbD09PWk/ci5tYXRlcmlhbDppLGM9ci5ncm91cDthLmxheWVycy50ZXN0KG8ubGF5ZXJzKSYmRXQoYSxlLG8scyxsLGMpfX19ZWxzZSBmb3IobGV0IHI9MCxvPXQubGVuZ3RoO3I8bztyKyspe2NvbnN0IG89dFtyXTtFdChvLm9iamVjdCxlLG4sby5nZW9tZXRyeSxudWxsPT09aT9vLm1hdGVyaWFsOmksby5ncm91cCl9fWZ1bmN0aW9uIEV0KHQsZSxuLGkscixvKXtpZih0Lm9uQmVmb3JlUmVuZGVyKGcsZSxuLGkscixvKSx0Lm1vZGVsVmlld01hdHJpeC5tdWx0aXBseU1hdHJpY2VzKG4ubWF0cml4V29ybGRJbnZlcnNlLHQubWF0cml4V29ybGQpLHQubm9ybWFsTWF0cml4LmdldE5vcm1hbE1hdHJpeCh0Lm1vZGVsVmlld01hdHJpeCksdC5pc0ltbWVkaWF0ZVJlbmRlck9iamVjdCl7Y29uc3QgaT1BdChuLGUscix0KTtXLnNldE1hdGVyaWFsKHIpLGh0LnJlc2V0KCksKGZ1bmN0aW9uIGEodCxlKXt0LnJlbmRlcigoZnVuY3Rpb24odCl7Zy5yZW5kZXJCdWZmZXJJbW1lZGlhdGUodCxlKX0pKX0pKHQsaSl9ZWxzZSEwPT09ci50cmFuc3BhcmVudCYmMj09PXIuc2lkZT8oci5zaWRlPTEsci5uZWVkc1VwZGF0ZT0hMCxnLnJlbmRlckJ1ZmZlckRpcmVjdChuLGUsaSxyLHQsbyksci5zaWRlPTAsci5uZWVkc1VwZGF0ZT0hMCxnLnJlbmRlckJ1ZmZlckRpcmVjdChuLGUsaSxyLHQsbyksci5zaWRlPTIpOmcucmVuZGVyQnVmZmVyRGlyZWN0KG4sZSxpLHIsdCxvKTt0Lm9uQWZ0ZXJSZW5kZXIoZyxlLG4saSxyLG8pfWZ1bmN0aW9uIFR0KHQsZSxuKXshMCE9PWUuaXNTY2VuZSYmKGU9Vik7Y29uc3QgaT1ZLmdldCh0KSxyPXAuc3RhdGUubGlnaHRzLG89ci5zdGF0ZS52ZXJzaW9uLGE9dHQuZ2V0UGFyYW1ldGVycyh0LHIuc3RhdGUscC5zdGF0ZS5zaGFkb3dzQXJyYXksZSxuKSxzPXR0LmdldFByb2dyYW1DYWNoZUtleShhKTtsZXQgbD1pLnByb2dyYW1zO2kuZW52aXJvbm1lbnQ9dC5pc01lc2hTdGFuZGFyZE1hdGVyaWFsP2UuZW52aXJvbm1lbnQ6bnVsbCxpLmZvZz1lLmZvZyxpLmVudk1hcD0odC5pc01lc2hTdGFuZGFyZE1hdGVyaWFsP0s6JCkuZ2V0KHQuZW52TWFwfHxpLmVudmlyb25tZW50KSx2b2lkIDA9PT1sJiYodC5hZGRFdmVudExpc3RlbmVyKCJkaXNwb3NlIix5dCksbD1uZXcgTWFwLGkucHJvZ3JhbXM9bCk7bGV0IGM9bC5nZXQocyk7aWYodm9pZCAwIT09Yyl7aWYoaS5jdXJyZW50UHJvZ3JhbT09PWMmJmkubGlnaHRzU3RhdGVWZXJzaW9uPT09bylyZXR1cm4gQ3QodCxhKSxjfWVsc2UgYS51bmlmb3Jtcz10dC5nZXRVbmlmb3Jtcyh0KSx0Lm9uQnVpbGQoYSxnKSx0Lm9uQmVmb3JlQ29tcGlsZShhLGcpLGM9dHQuYWNxdWlyZVByb2dyYW0oYSxzKSxsLnNldChzLGMpLGkudW5pZm9ybXM9YS51bmlmb3Jtcztjb25zdCB1PWkudW5pZm9ybXM7KHQuaXNTaGFkZXJNYXRlcmlhbHx8dC5pc1Jhd1NoYWRlck1hdGVyaWFsKSYmITAhPT10LmNsaXBwaW5nfHwodS5jbGlwcGluZ1BsYW5lcz1ydC51bmlmb3JtKSxDdCh0LGEpLGkubmVlZHNMaWdodHM9KGZ1bmN0aW9uIGgodCl7cmV0dXJuIHQuaXNNZXNoTGFtYmVydE1hdGVyaWFsfHx0LmlzTWVzaFRvb25NYXRlcmlhbHx8dC5pc01lc2hQaG9uZ01hdGVyaWFsfHx0LmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWx8fHQuaXNTaGFkb3dNYXRlcmlhbHx8dC5pc1NoYWRlck1hdGVyaWFsJiYhMD09PXQubGlnaHRzfSkodCksaS5saWdodHNTdGF0ZVZlcnNpb249byxpLm5lZWRzTGlnaHRzJiYodS5hbWJpZW50TGlnaHRDb2xvci52YWx1ZT1yLnN0YXRlLmFtYmllbnQsdS5saWdodFByb2JlLnZhbHVlPXIuc3RhdGUucHJvYmUsdS5kaXJlY3Rpb25hbExpZ2h0cy52YWx1ZT1yLnN0YXRlLmRpcmVjdGlvbmFsLHUuZGlyZWN0aW9uYWxMaWdodFNoYWRvd3MudmFsdWU9ci5zdGF0ZS5kaXJlY3Rpb25hbFNoYWRvdyx1LnNwb3RMaWdodHMudmFsdWU9ci5zdGF0ZS5zcG90LHUuc3BvdExpZ2h0U2hhZG93cy52YWx1ZT1yLnN0YXRlLnNwb3RTaGFkb3csdS5yZWN0QXJlYUxpZ2h0cy52YWx1ZT1yLnN0YXRlLnJlY3RBcmVhLHUubHRjXzEudmFsdWU9ci5zdGF0ZS5yZWN0QXJlYUxUQzEsdS5sdGNfMi52YWx1ZT1yLnN0YXRlLnJlY3RBcmVhTFRDMix1LnBvaW50TGlnaHRzLnZhbHVlPXIuc3RhdGUucG9pbnQsdS5wb2ludExpZ2h0U2hhZG93cy52YWx1ZT1yLnN0YXRlLnBvaW50U2hhZG93LHUuaGVtaXNwaGVyZUxpZ2h0cy52YWx1ZT1yLnN0YXRlLmhlbWksdS5kaXJlY3Rpb25hbFNoYWRvd01hcC52YWx1ZT1yLnN0YXRlLmRpcmVjdGlvbmFsU2hhZG93TWFwLHUuZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXgudmFsdWU9ci5zdGF0ZS5kaXJlY3Rpb25hbFNoYWRvd01hdHJpeCx1LnNwb3RTaGFkb3dNYXAudmFsdWU9ci5zdGF0ZS5zcG90U2hhZG93TWFwLHUuc3BvdFNoYWRvd01hdHJpeC52YWx1ZT1yLnN0YXRlLnNwb3RTaGFkb3dNYXRyaXgsdS5wb2ludFNoYWRvd01hcC52YWx1ZT1yLnN0YXRlLnBvaW50U2hhZG93TWFwLHUucG9pbnRTaGFkb3dNYXRyaXgudmFsdWU9ci5zdGF0ZS5wb2ludFNoYWRvd01hdHJpeCk7Y29uc3QgZD1jLmdldFVuaWZvcm1zKCksZj1mOHQuc2VxV2l0aFZhbHVlKGQuc2VxLHUpO3JldHVybiBpLmN1cnJlbnRQcm9ncmFtPWMsaS51bmlmb3Jtc0xpc3Q9ZixjfWZ1bmN0aW9uIEN0KHQsZSl7Y29uc3Qgbj1ZLmdldCh0KTtuLm91dHB1dEVuY29kaW5nPWUub3V0cHV0RW5jb2Rpbmcsbi5pbnN0YW5jaW5nPWUuaW5zdGFuY2luZyxuLnNraW5uaW5nPWUuc2tpbm5pbmcsbi5tb3JwaFRhcmdldHM9ZS5tb3JwaFRhcmdldHMsbi5tb3JwaE5vcm1hbHM9ZS5tb3JwaE5vcm1hbHMsbi5udW1DbGlwcGluZ1BsYW5lcz1lLm51bUNsaXBwaW5nUGxhbmVzLG4ubnVtSW50ZXJzZWN0aW9uPWUubnVtQ2xpcEludGVyc2VjdGlvbixuLnZlcnRleEFscGhhcz1lLnZlcnRleEFscGhhcyxuLnZlcnRleFRhbmdlbnRzPWUudmVydGV4VGFuZ2VudHN9ZnVuY3Rpb24gQXQodCxlLG4saSl7ITAhPT1lLmlzU2NlbmUmJihlPVYpLFgucmVzZXRUZXh0dXJlVW5pdHMoKTtjb25zdCByPWUuZm9nLG89bnVsbD09PWI/Zy5vdXRwdXRFbmNvZGluZzpiLnRleHR1cmUuZW5jb2RpbmcsYT0obi5pc01lc2hTdGFuZGFyZE1hdGVyaWFsP0s6JCkuZ2V0KG4uZW52TWFwfHwobi5pc01lc2hTdGFuZGFyZE1hdGVyaWFsP2UuZW52aXJvbm1lbnQ6bnVsbCkpLHM9ITA9PT1uLnZlcnRleENvbG9ycyYmISFpLmdlb21ldHJ5JiYhIWkuZ2VvbWV0cnkuYXR0cmlidXRlcy5jb2xvciYmND09PWkuZ2VvbWV0cnkuYXR0cmlidXRlcy5jb2xvci5pdGVtU2l6ZSxsPSEhaS5nZW9tZXRyeSYmISFpLmdlb21ldHJ5LmF0dHJpYnV0ZXMudGFuZ2VudCxjPSEhaS5nZW9tZXRyeSYmISFpLmdlb21ldHJ5Lm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbix1PSEhaS5nZW9tZXRyeSYmISFpLmdlb21ldHJ5Lm1vcnBoQXR0cmlidXRlcy5ub3JtYWwsaD1ZLmdldChuKSxkPXAuc3RhdGUubGlnaHRzO2lmKCEwPT09eiYmKCEwPT09RHx8dCE9PXcpKXtydC5zZXRTdGF0ZShuLHQsdD09PXcmJm4uaWQ9PT14KX1sZXQgZj0hMTtuLnZlcnNpb249PT1oLl9fdmVyc2lvbj9oLm5lZWRzTGlnaHRzJiZoLmxpZ2h0c1N0YXRlVmVyc2lvbiE9PWQuc3RhdGUudmVyc2lvbnx8aC5vdXRwdXRFbmNvZGluZyE9PW98fGkuaXNJbnN0YW5jZWRNZXNoJiYhMT09PWguaW5zdGFuY2luZz9mPSEwOmkuaXNJbnN0YW5jZWRNZXNofHwhMCE9PWguaW5zdGFuY2luZz9pLmlzU2tpbm5lZE1lc2gmJiExPT09aC5za2lubmluZz9mPSEwOmkuaXNTa2lubmVkTWVzaHx8ITAhPT1oLnNraW5uaW5nP2guZW52TWFwIT09YXx8bi5mb2cmJmguZm9nIT09cj9mPSEwOnZvaWQgMD09PWgubnVtQ2xpcHBpbmdQbGFuZXN8fGgubnVtQ2xpcHBpbmdQbGFuZXM9PT1ydC5udW1QbGFuZXMmJmgubnVtSW50ZXJzZWN0aW9uPT09cnQubnVtSW50ZXJzZWN0aW9uPyhoLnZlcnRleEFscGhhcyE9PXN8fGgudmVydGV4VGFuZ2VudHMhPT1sfHxoLm1vcnBoVGFyZ2V0cyE9PWN8fGgubW9ycGhOb3JtYWxzIT09dSkmJihmPSEwKTpmPSEwOmY9ITA6Zj0hMDooZj0hMCxoLl9fdmVyc2lvbj1uLnZlcnNpb24pO2xldCBtPWguY3VycmVudFByb2dyYW07ITA9PT1mJiYobT1UdChuLGUsaSkpO2xldCBfPSExLHk9ITEsdj0hMTtjb25zdCBTPW0uZ2V0VW5pZm9ybXMoKSxNPWgudW5pZm9ybXM7aWYoVy51c2VQcm9ncmFtKG0ucHJvZ3JhbSkmJihfPSEwLHk9ITAsdj0hMCksbi5pZCE9PXgmJih4PW4uaWQseT0hMCksX3x8dyE9PXQpe2lmKFMuc2V0VmFsdWUoZHQsInByb2plY3Rpb25NYXRyaXgiLHQucHJvamVjdGlvbk1hdHJpeCksRy5sb2dhcml0aG1pY0RlcHRoQnVmZmVyJiZTLnNldFZhbHVlKGR0LCJsb2dEZXB0aEJ1ZkZDIiwyLyhNYXRoLmxvZyh0LmZhcisxKS9NYXRoLkxOMikpLHchPT10JiYodz10LHk9ITAsdj0hMCksbi5pc1NoYWRlck1hdGVyaWFsfHxuLmlzTWVzaFBob25nTWF0ZXJpYWx8fG4uaXNNZXNoVG9vbk1hdGVyaWFsfHxuLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWx8fG4uZW52TWFwKXtjb25zdCBlPVMubWFwLmNhbWVyYVBvc2l0aW9uO3ZvaWQgMCE9PWUmJmUuc2V0VmFsdWUoZHQsRi5zZXRGcm9tTWF0cml4UG9zaXRpb24odC5tYXRyaXhXb3JsZCkpfShuLmlzTWVzaFBob25nTWF0ZXJpYWx8fG4uaXNNZXNoVG9vbk1hdGVyaWFsfHxuLmlzTWVzaExhbWJlcnRNYXRlcmlhbHx8bi5pc01lc2hCYXNpY01hdGVyaWFsfHxuLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWx8fG4uaXNTaGFkZXJNYXRlcmlhbCkmJlMuc2V0VmFsdWUoZHQsImlzT3J0aG9ncmFwaGljIiwhMD09PXQuaXNPcnRob2dyYXBoaWNDYW1lcmEpLChuLmlzTWVzaFBob25nTWF0ZXJpYWx8fG4uaXNNZXNoVG9vbk1hdGVyaWFsfHxuLmlzTWVzaExhbWJlcnRNYXRlcmlhbHx8bi5pc01lc2hCYXNpY01hdGVyaWFsfHxuLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWx8fG4uaXNTaGFkZXJNYXRlcmlhbHx8bi5pc1NoYWRvd01hdGVyaWFsfHxpLmlzU2tpbm5lZE1lc2gpJiZTLnNldFZhbHVlKGR0LCJ2aWV3TWF0cml4Iix0Lm1hdHJpeFdvcmxkSW52ZXJzZSl9aWYoaS5pc1NraW5uZWRNZXNoKXtTLnNldE9wdGlvbmFsKGR0LGksImJpbmRNYXRyaXgiKSxTLnNldE9wdGlvbmFsKGR0LGksImJpbmRNYXRyaXhJbnZlcnNlIik7Y29uc3QgdD1pLnNrZWxldG9uO3QmJihHLmZsb2F0VmVydGV4VGV4dHVyZXM/KG51bGw9PT10LmJvbmVUZXh0dXJlJiZ0LmNvbXB1dGVCb25lVGV4dHVyZSgpLFMuc2V0VmFsdWUoZHQsImJvbmVUZXh0dXJlIix0LmJvbmVUZXh0dXJlLFgpLFMuc2V0VmFsdWUoZHQsImJvbmVUZXh0dXJlU2l6ZSIsdC5ib25lVGV4dHVyZVNpemUpKTpTLnNldE9wdGlvbmFsKGR0LHQsImJvbmVNYXRyaWNlcyIpKX1yZXR1cm4oeXx8aC5yZWNlaXZlU2hhZG93IT09aS5yZWNlaXZlU2hhZG93KSYmKGgucmVjZWl2ZVNoYWRvdz1pLnJlY2VpdmVTaGFkb3csUy5zZXRWYWx1ZShkdCwicmVjZWl2ZVNoYWRvdyIsaS5yZWNlaXZlU2hhZG93KSkseSYmKFMuc2V0VmFsdWUoZHQsInRvbmVNYXBwaW5nRXhwb3N1cmUiLGcudG9uZU1hcHBpbmdFeHBvc3VyZSksaC5uZWVkc0xpZ2h0cyYmKGZ1bmN0aW9uIEUodCxlKXt0LmFtYmllbnRMaWdodENvbG9yLm5lZWRzVXBkYXRlPWUsdC5saWdodFByb2JlLm5lZWRzVXBkYXRlPWUsdC5kaXJlY3Rpb25hbExpZ2h0cy5uZWVkc1VwZGF0ZT1lLHQuZGlyZWN0aW9uYWxMaWdodFNoYWRvd3MubmVlZHNVcGRhdGU9ZSx0LnBvaW50TGlnaHRzLm5lZWRzVXBkYXRlPWUsdC5wb2ludExpZ2h0U2hhZG93cy5uZWVkc1VwZGF0ZT1lLHQuc3BvdExpZ2h0cy5uZWVkc1VwZGF0ZT1lLHQuc3BvdExpZ2h0U2hhZG93cy5uZWVkc1VwZGF0ZT1lLHQucmVjdEFyZWFMaWdodHMubmVlZHNVcGRhdGU9ZSx0LmhlbWlzcGhlcmVMaWdodHMubmVlZHNVcGRhdGU9ZX0pKE0sdiksciYmbi5mb2cmJmV0LnJlZnJlc2hGb2dVbmlmb3JtcyhNLHIpLGV0LnJlZnJlc2hNYXRlcmlhbFVuaWZvcm1zKE0sbixBLEMsQiksZjh0LnVwbG9hZChkdCxoLnVuaWZvcm1zTGlzdCxNLFgpKSxuLmlzU2hhZGVyTWF0ZXJpYWwmJiEwPT09bi51bmlmb3Jtc05lZWRVcGRhdGUmJihmOHQudXBsb2FkKGR0LGgudW5pZm9ybXNMaXN0LE0sWCksbi51bmlmb3Jtc05lZWRVcGRhdGU9ITEpLG4uaXNTcHJpdGVNYXRlcmlhbCYmUy5zZXRWYWx1ZShkdCwiY2VudGVyIixpLmNlbnRlciksUy5zZXRWYWx1ZShkdCwibW9kZWxWaWV3TWF0cml4IixpLm1vZGVsVmlld01hdHJpeCksUy5zZXRWYWx1ZShkdCwibm9ybWFsTWF0cml4IixpLm5vcm1hbE1hdHJpeCksUy5zZXRWYWx1ZShkdCwibW9kZWxNYXRyaXgiLGkubWF0cml4V29ybGQpLG19d3Quc2V0QW5pbWF0aW9uTG9vcCgoZnVuY3Rpb24ga3QodCl7dnQmJnZ0KHQpfSkpLCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3dC5zZXRDb250ZXh0KHdpbmRvdyksdGhpcy5zZXRBbmltYXRpb25Mb29wPWZ1bmN0aW9uKHQpe3Z0PXQsbXQuc2V0QW5pbWF0aW9uTG9vcCh0KSxudWxsPT09dD93dC5zdG9wKCk6d3Quc3RhcnQoKX0sbXQuYWRkRXZlbnRMaXN0ZW5lcigic2Vzc2lvbnN0YXJ0IixidCksbXQuYWRkRXZlbnRMaXN0ZW5lcigic2Vzc2lvbmVuZCIseHQpLHRoaXMucmVuZGVyPWZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwIT09ZSYmITAhPT1lLmlzQ2FtZXJhKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXIucmVuZGVyOiBjYW1lcmEgaXMgbm90IGFuIGluc3RhbmNlIG9mIFRIUkVFLkNhbWVyYS4iKTtpZighMD09PV8pcmV0dXJuOyEwPT09dC5hdXRvVXBkYXRlJiZ0LnVwZGF0ZU1hdHJpeFdvcmxkKCksbnVsbD09PWUucGFyZW50JiZlLnVwZGF0ZU1hdHJpeFdvcmxkKCksITA9PT1tdC5lbmFibGVkJiYhMD09PW10LmlzUHJlc2VudGluZyYmKCEwPT09bXQuY2FtZXJhQXV0b1VwZGF0ZSYmbXQudXBkYXRlQ2FtZXJhKGUpLGU9bXQuZ2V0Q2FtZXJhKCkpLCEwPT09dC5pc1NjZW5lJiZ0Lm9uQmVmb3JlUmVuZGVyKGcsdCxlLGIpLHA9aXQuZ2V0KHQsbS5sZW5ndGgpLHAuaW5pdCgpLG0ucHVzaChwKSxILm11bHRpcGx5TWF0cmljZXMoZS5wcm9qZWN0aW9uTWF0cml4LGUubWF0cml4V29ybGRJbnZlcnNlKSxPLnNldEZyb21Qcm9qZWN0aW9uTWF0cml4KEgpLEQ9dGhpcy5sb2NhbENsaXBwaW5nRW5hYmxlZCx6PXJ0LmluaXQodGhpcy5jbGlwcGluZ1BsYW5lcyxELGUpLGQ9bnQuZ2V0KHQsZi5sZW5ndGgpLGQuaW5pdCgpLGYucHVzaChkKSxTdCh0LGUsMCxnLnNvcnRPYmplY3RzKSxkLmZpbmlzaCgpLCEwPT09Zy5zb3J0T2JqZWN0cyYmZC5zb3J0KGssTCksITA9PT16JiZydC5iZWdpblNoYWRvd3MoKTtvdC5yZW5kZXIocC5zdGF0ZS5zaGFkb3dzQXJyYXksdCxlKSxwLnNldHVwTGlnaHRzKCkscC5zZXR1cExpZ2h0c1ZpZXcoZSksITA9PT16JiZydC5lbmRTaGFkb3dzKCksITA9PT10aGlzLmluZm8uYXV0b1Jlc2V0JiZ0aGlzLmluZm8ucmVzZXQoKSxhdC5yZW5kZXIoZCx0KTtjb25zdCBuPWQub3BhcXVlLGk9ZC50cmFuc21pc3NpdmUscj1kLnRyYW5zcGFyZW50O24ubGVuZ3RoPjAmJk10KG4sdCxlKSxpLmxlbmd0aD4wJiYoZnVuY3Rpb24gbyh0LGUsbixpKXtpZihudWxsPT09Qil7Qj1uZXcoITA9PT1zJiYhMD09PUcuaXNXZWJHTDI/RDV0Ok81dCkoMTAyNCwxMDI0LHtnZW5lcmF0ZU1pcG1hcHM6ITAsdHlwZTpudWxsIT09dXQuY29udmVydChiMnQpP2IydDpnMnQsbWluRmlsdGVyOm0ydCxtYWdGaWx0ZXI6dTJ0LHdyYXBTOmwydCx3cmFwVDpsMnR9KX1jb25zdCByPWcuZ2V0UmVuZGVyVGFyZ2V0KCk7Zy5zZXRSZW5kZXJUYXJnZXQoQiksZy5jbGVhcigpO2NvbnN0IG89Zy50b25lTWFwcGluZztnLnRvbmVNYXBwaW5nPTAsTXQodCxuLGkpLGcudG9uZU1hcHBpbmc9byxYLnVwZGF0ZU11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0KEIpLFgudXBkYXRlUmVuZGVyVGFyZ2V0TWlwbWFwKEIpLGcuc2V0UmVuZGVyVGFyZ2V0KHIpLE10KGUsbixpKX0pKG4saSx0LGUpLHIubGVuZ3RoPjAmJk10KHIsdCxlKSxudWxsIT09YiYmKFgudXBkYXRlTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQoYiksWC51cGRhdGVSZW5kZXJUYXJnZXRNaXBtYXAoYikpLCEwPT09dC5pc1NjZW5lJiZ0Lm9uQWZ0ZXJSZW5kZXIoZyx0LGUpLFcuYnVmZmVycy5kZXB0aC5zZXRUZXN0KCEwKSxXLmJ1ZmZlcnMuZGVwdGguc2V0TWFzayghMCksVy5idWZmZXJzLmNvbG9yLnNldE1hc2soITApLFcuc2V0UG9seWdvbk9mZnNldCghMSksaHQucmVzZXREZWZhdWx0U3RhdGUoKSx4PS0xLHc9bnVsbCxtLnBvcCgpLHA9bS5sZW5ndGg+MD9tW20ubGVuZ3RoLTFdOm51bGwsZi5wb3AoKSxkPWYubGVuZ3RoPjA/ZltmLmxlbmd0aC0xXTpudWxsfSx0aGlzLmdldEFjdGl2ZUN1YmVGYWNlPWZ1bmN0aW9uKCl7cmV0dXJuIHl9LHRoaXMuZ2V0QWN0aXZlTWlwbWFwTGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4gdn0sdGhpcy5nZXRSZW5kZXJUYXJnZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gYn0sdGhpcy5zZXRSZW5kZXJUYXJnZXQ9ZnVuY3Rpb24odCxlPTAsbj0wKXtiPXQseT1lLHY9bix0JiZ2b2lkIDA9PT1ZLmdldCh0KS5fX3dlYmdsRnJhbWVidWZmZXImJlguc2V0dXBSZW5kZXJUYXJnZXQodCk7bGV0IGk9bnVsbCxyPSExLG89ITE7aWYodCl7Y29uc3Qgbj10LnRleHR1cmU7KG4uaXNEYXRhVGV4dHVyZTNEfHxuLmlzRGF0YVRleHR1cmUyREFycmF5KSYmKG89ITApO2NvbnN0IGE9WS5nZXQodCkuX193ZWJnbEZyYW1lYnVmZmVyO3QuaXNXZWJHTEN1YmVSZW5kZXJUYXJnZXQ/KGk9YVtlXSxyPSEwKTppPXQuaXNXZWJHTE11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0P1kuZ2V0KHQpLl9fd2ViZ2xNdWx0aXNhbXBsZWRGcmFtZWJ1ZmZlcjphLFMuY29weSh0LnZpZXdwb3J0KSxNLmNvcHkodC5zY2lzc29yKSxFPXQuc2Npc3NvclRlc3R9ZWxzZSBTLmNvcHkoUCkubXVsdGlwbHlTY2FsYXIoQSkuZmxvb3IoKSxNLmNvcHkoTikubXVsdGlwbHlTY2FsYXIoQSkuZmxvb3IoKSxFPUk7aWYoVy5iaW5kRnJhbWVidWZmZXIoMzYxNjAsaSkmJkcuZHJhd0J1ZmZlcnMpe2xldCBlPSExO2lmKHQpaWYodC5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzKXtjb25zdCBuPXQudGV4dHVyZTtpZihSLmxlbmd0aCE9PW4ubGVuZ3RofHwzNjA2NCE9PVJbMF0pe2ZvcihsZXQgdD0wLGU9bi5sZW5ndGg7dDxlO3QrKylSW3RdPTM2MDY0K3Q7Ui5sZW5ndGg9bi5sZW5ndGgsZT0hMH19ZWxzZSAxPT09Ui5sZW5ndGgmJjM2MDY0PT09UlswXXx8KFJbMF09MzYwNjQsUi5sZW5ndGg9MSxlPSEwKTtlbHNlIDE9PT1SLmxlbmd0aCYmMTAyOT09PVJbMF18fChSWzBdPTEwMjksUi5sZW5ndGg9MSxlPSEwKTtlJiYoRy5pc1dlYkdMMj9kdC5kcmF3QnVmZmVycyhSKTpqLmdldCgiV0VCR0xfZHJhd19idWZmZXJzIikuZHJhd0J1ZmZlcnNXRUJHTChSKSl9aWYoVy52aWV3cG9ydChTKSxXLnNjaXNzb3IoTSksVy5zZXRTY2lzc29yVGVzdChFKSxyKXtjb25zdCBpPVkuZ2V0KHQudGV4dHVyZSk7ZHQuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzYwNjQsMzQwNjkrZSxpLl9fd2ViZ2xUZXh0dXJlLG4pfWVsc2UgaWYobyl7Y29uc3QgaT1ZLmdldCh0LnRleHR1cmUpO2R0LmZyYW1lYnVmZmVyVGV4dHVyZUxheWVyKDM2MTYwLDM2MDY0LGkuX193ZWJnbFRleHR1cmUsbnx8MCxlfHwwKX19LHRoaXMucmVhZFJlbmRlclRhcmdldFBpeGVscz1mdW5jdGlvbih0LGUsbixpLHIsbyxhKXtpZighdHx8IXQuaXNXZWJHTFJlbmRlclRhcmdldClyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyLnJlYWRSZW5kZXJUYXJnZXRQaXhlbHM6IHJlbmRlclRhcmdldCBpcyBub3QgVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQuIik7bGV0IHM9WS5nZXQodCkuX193ZWJnbEZyYW1lYnVmZmVyO2lmKHQuaXNXZWJHTEN1YmVSZW5kZXJUYXJnZXQmJnZvaWQgMCE9PWEmJihzPXNbYV0pLHMpe1cuYmluZEZyYW1lYnVmZmVyKDM2MTYwLHMpO3RyeXtjb25zdCBhPXQudGV4dHVyZSxzPWEuZm9ybWF0LGw9YS50eXBlO2lmKHMhPT1TMnQmJnV0LmNvbnZlcnQocykhPT1kdC5nZXRQYXJhbWV0ZXIoMzU3MzkpKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXIucmVhZFJlbmRlclRhcmdldFBpeGVsczogcmVuZGVyVGFyZ2V0IGlzIG5vdCBpbiBSR0JBIG9yIGltcGxlbWVudGF0aW9uIGRlZmluZWQgZm9ybWF0LiIpO2NvbnN0IGM9bD09PWIydCYmKGouaGFzKCJFWFRfY29sb3JfYnVmZmVyX2hhbGZfZmxvYXQiKXx8Ry5pc1dlYkdMMiYmai5oYXMoIkVYVF9jb2xvcl9idWZmZXJfZmxvYXQiKSk7aWYoIShsPT09ZzJ0fHx1dC5jb252ZXJ0KGwpPT09ZHQuZ2V0UGFyYW1ldGVyKDM1NzM4KXx8bD09PXYydCYmKEcuaXNXZWJHTDJ8fGouaGFzKCJPRVNfdGV4dHVyZV9mbG9hdCIpfHxqLmhhcygiV0VCR0xfY29sb3JfYnVmZmVyX2Zsb2F0IikpfHxjKSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyLnJlYWRSZW5kZXJUYXJnZXRQaXhlbHM6IHJlbmRlclRhcmdldCBpcyBub3QgaW4gVW5zaWduZWRCeXRlVHlwZSBvciBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIHR5cGUuIik7MzYwNTM9PT1kdC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKDM2MTYwKT9lPj0wJiZlPD10LndpZHRoLWkmJm4+PTAmJm48PXQuaGVpZ2h0LXImJmR0LnJlYWRQaXhlbHMoZSxuLGkscix1dC5jb252ZXJ0KHMpLHV0LmNvbnZlcnQobCksbyk6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xSZW5kZXJlci5yZWFkUmVuZGVyVGFyZ2V0UGl4ZWxzOiByZWFkUGl4ZWxzIGZyb20gcmVuZGVyVGFyZ2V0IGZhaWxlZC4gRnJhbWVidWZmZXIgbm90IGNvbXBsZXRlLiIpfWZpbmFsbHl7Y29uc3QgdD1udWxsIT09Yj9ZLmdldChiKS5fX3dlYmdsRnJhbWVidWZmZXI6bnVsbDtXLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCx0KX19fSx0aGlzLmNvcHlGcmFtZWJ1ZmZlclRvVGV4dHVyZT1mdW5jdGlvbih0LGUsbj0wKXtjb25zdCBpPU1hdGgucG93KDIsLW4pLHI9TWF0aC5mbG9vcihlLmltYWdlLndpZHRoKmkpLG89TWF0aC5mbG9vcihlLmltYWdlLmhlaWdodCppKTtsZXQgYT11dC5jb252ZXJ0KGUuZm9ybWF0KTtHLmlzV2ViR0wyJiYoNjQwNz09PWEmJihhPTMyODQ5KSw2NDA4PT09YSYmKGE9MzI4NTYpKSxYLnNldFRleHR1cmUyRChlLDApLGR0LmNvcHlUZXhJbWFnZTJEKDM1NTMsbixhLHQueCx0LnkscixvLDApLFcudW5iaW5kVGV4dHVyZSgpfSx0aGlzLmNvcHlUZXh0dXJlVG9UZXh0dXJlPWZ1bmN0aW9uKHQsZSxuLGk9MCl7Y29uc3Qgcj1lLmltYWdlLndpZHRoLG89ZS5pbWFnZS5oZWlnaHQsYT11dC5jb252ZXJ0KG4uZm9ybWF0KSxzPXV0LmNvbnZlcnQobi50eXBlKTtYLnNldFRleHR1cmUyRChuLDApLGR0LnBpeGVsU3RvcmVpKDM3NDQwLG4uZmxpcFkpLGR0LnBpeGVsU3RvcmVpKDM3NDQxLG4ucHJlbXVsdGlwbHlBbHBoYSksZHQucGl4ZWxTdG9yZWkoMzMxNyxuLnVucGFja0FsaWdubWVudCksZS5pc0RhdGFUZXh0dXJlP2R0LnRleFN1YkltYWdlMkQoMzU1MyxpLHQueCx0LnkscixvLGEscyxlLmltYWdlLmRhdGEpOmUuaXNDb21wcmVzc2VkVGV4dHVyZT9kdC5jb21wcmVzc2VkVGV4U3ViSW1hZ2UyRCgzNTUzLGksdC54LHQueSxlLm1pcG1hcHNbMF0ud2lkdGgsZS5taXBtYXBzWzBdLmhlaWdodCxhLGUubWlwbWFwc1swXS5kYXRhKTpkdC50ZXhTdWJJbWFnZTJEKDM1NTMsaSx0LngsdC55LGEscyxlLmltYWdlKSwwPT09aSYmbi5nZW5lcmF0ZU1pcG1hcHMmJmR0LmdlbmVyYXRlTWlwbWFwKDM1NTMpLFcudW5iaW5kVGV4dHVyZSgpfSx0aGlzLmNvcHlUZXh0dXJlVG9UZXh0dXJlM0Q9ZnVuY3Rpb24odCxlLG4saSxyPTApe2lmKGcuaXNXZWJHTDFSZW5kZXJlcilyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXIuY29weVRleHR1cmVUb1RleHR1cmUzRDogY2FuIG9ubHkgYmUgdXNlZCB3aXRoIFdlYkdMMi4iKTtjb25zdCBvPXQubWF4LngtdC5taW4ueCsxLGE9dC5tYXgueS10Lm1pbi55KzEscz10Lm1heC56LXQubWluLnorMSxsPXV0LmNvbnZlcnQoaS5mb3JtYXQpLGM9dXQuY29udmVydChpLnR5cGUpO2xldCB1O2lmKGkuaXNEYXRhVGV4dHVyZTNEKVguc2V0VGV4dHVyZTNEKGksMCksdT0zMjg3OTtlbHNle2lmKCFpLmlzRGF0YVRleHR1cmUyREFycmF5KXJldHVybiB2b2lkIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlci5jb3B5VGV4dHVyZVRvVGV4dHVyZTNEOiBvbmx5IHN1cHBvcnRzIFRIUkVFLkRhdGFUZXh0dXJlM0QgYW5kIFRIUkVFLkRhdGFUZXh0dXJlMkRBcnJheS4iKTtYLnNldFRleHR1cmUyREFycmF5KGksMCksdT0zNTg2Nn1kdC5waXhlbFN0b3JlaSgzNzQ0MCxpLmZsaXBZKSxkdC5waXhlbFN0b3JlaSgzNzQ0MSxpLnByZW11bHRpcGx5QWxwaGEpLGR0LnBpeGVsU3RvcmVpKDMzMTcsaS51bnBhY2tBbGlnbm1lbnQpO2NvbnN0IGg9ZHQuZ2V0UGFyYW1ldGVyKDMzMTQpLGQ9ZHQuZ2V0UGFyYW1ldGVyKDMyODc4KSxwPWR0LmdldFBhcmFtZXRlcigzMzE2KSxmPWR0LmdldFBhcmFtZXRlcigzMzE1KSxtPWR0LmdldFBhcmFtZXRlcigzMjg3NyksXz1uLmlzQ29tcHJlc3NlZFRleHR1cmU/bi5taXBtYXBzWzBdOm4uaW1hZ2U7ZHQucGl4ZWxTdG9yZWkoMzMxNCxfLndpZHRoKSxkdC5waXhlbFN0b3JlaSgzMjg3OCxfLmhlaWdodCksZHQucGl4ZWxTdG9yZWkoMzMxNix0Lm1pbi54KSxkdC5waXhlbFN0b3JlaSgzMzE1LHQubWluLnkpLGR0LnBpeGVsU3RvcmVpKDMyODc3LHQubWluLnopLG4uaXNEYXRhVGV4dHVyZXx8bi5pc0RhdGFUZXh0dXJlM0Q/ZHQudGV4U3ViSW1hZ2UzRCh1LHIsZS54LGUueSxlLnosbyxhLHMsbCxjLF8uZGF0YSk6bi5pc0NvbXByZXNzZWRUZXh0dXJlPyhjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXIuY29weVRleHR1cmVUb1RleHR1cmUzRDogdW50ZXN0ZWQgc3VwcG9ydCBmb3IgY29tcHJlc3NlZCBzcmNUZXh0dXJlLiIpLGR0LmNvbXByZXNzZWRUZXhTdWJJbWFnZTNEKHUscixlLngsZS55LGUueixvLGEscyxsLF8uZGF0YSkpOmR0LnRleFN1YkltYWdlM0QodSxyLGUueCxlLnksZS56LG8sYSxzLGwsYyxfKSxkdC5waXhlbFN0b3JlaSgzMzE0LGgpLGR0LnBpeGVsU3RvcmVpKDMyODc4LGQpLGR0LnBpeGVsU3RvcmVpKDMzMTYscCksZHQucGl4ZWxTdG9yZWkoMzMxNSxmKSxkdC5waXhlbFN0b3JlaSgzMjg3NyxtKSwwPT09ciYmaS5nZW5lcmF0ZU1pcG1hcHMmJmR0LmdlbmVyYXRlTWlwbWFwKHUpLFcudW5iaW5kVGV4dHVyZSgpfSx0aGlzLmluaXRUZXh0dXJlPWZ1bmN0aW9uKHQpe1guc2V0VGV4dHVyZTJEKHQsMCksVy51bmJpbmRUZXh0dXJlKCl9LHRoaXMucmVzZXRTdGF0ZT1mdW5jdGlvbigpe3k9MCx2PTAsYj1udWxsLFcucmVzZXQoKSxodC5yZXNldCgpfSwidW5kZWZpbmVkIiE9dHlwZW9mIF9fVEhSRUVfREVWVE9PTFNfXyYmX19USFJFRV9ERVZUT09MU19fLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJvYnNlcnZlIix7ZGV0YWlsOnRoaXN9KSl9Y2xhc3MgYTd0IGV4dGVuZHMgbzd0e31hN3QucHJvdG90eXBlLmlzV2ViR0wxUmVuZGVyZXI9ITA7Y2xhc3Mgczd0e2NvbnN0cnVjdG9yKHQsZT0yNWUtNSl7dGhpcy5uYW1lPSIiLHRoaXMuY29sb3I9bmV3IHM0dCh0KSx0aGlzLmRlbnNpdHk9ZX1jbG9uZSgpe3JldHVybiBuZXcgczd0KHRoaXMuY29sb3IsdGhpcy5kZW5zaXR5KX10b0pTT04oKXtyZXR1cm57dHlwZToiRm9nRXhwMiIsY29sb3I6dGhpcy5jb2xvci5nZXRIZXgoKSxkZW5zaXR5OnRoaXMuZGVuc2l0eX19fXM3dC5wcm90b3R5cGUuaXNGb2dFeHAyPSEwO2NsYXNzIGw3dHtjb25zdHJ1Y3Rvcih0LGU9MSxuPTFlMyl7dGhpcy5uYW1lPSIiLHRoaXMuY29sb3I9bmV3IHM0dCh0KSx0aGlzLm5lYXI9ZSx0aGlzLmZhcj1ufWNsb25lKCl7cmV0dXJuIG5ldyBsN3QodGhpcy5jb2xvcix0aGlzLm5lYXIsdGhpcy5mYXIpfXRvSlNPTigpe3JldHVybnt0eXBlOiJGb2ciLGNvbG9yOnRoaXMuY29sb3IuZ2V0SGV4KCksbmVhcjp0aGlzLm5lYXIsZmFyOnRoaXMuZmFyfX19bDd0LnByb3RvdHlwZS5pc0ZvZz0hMDtjbGFzcyBjN3QgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iU2NlbmUiLHRoaXMuYmFja2dyb3VuZD1udWxsLHRoaXMuZW52aXJvbm1lbnQ9bnVsbCx0aGlzLmZvZz1udWxsLHRoaXMub3ZlcnJpZGVNYXRlcmlhbD1udWxsLHRoaXMuYXV0b1VwZGF0ZT0hMCwidW5kZWZpbmVkIiE9dHlwZW9mIF9fVEhSRUVfREVWVE9PTFNfXyYmX19USFJFRV9ERVZUT09MU19fLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJvYnNlcnZlIix7ZGV0YWlsOnRoaXN9KSl9Y29weSh0LGUpe3JldHVybiBzdXBlci5jb3B5KHQsZSksbnVsbCE9PXQuYmFja2dyb3VuZCYmKHRoaXMuYmFja2dyb3VuZD10LmJhY2tncm91bmQuY2xvbmUoKSksbnVsbCE9PXQuZW52aXJvbm1lbnQmJih0aGlzLmVudmlyb25tZW50PXQuZW52aXJvbm1lbnQuY2xvbmUoKSksbnVsbCE9PXQuZm9nJiYodGhpcy5mb2c9dC5mb2cuY2xvbmUoKSksbnVsbCE9PXQub3ZlcnJpZGVNYXRlcmlhbCYmKHRoaXMub3ZlcnJpZGVNYXRlcmlhbD10Lm92ZXJyaWRlTWF0ZXJpYWwuY2xvbmUoKSksdGhpcy5hdXRvVXBkYXRlPXQuYXV0b1VwZGF0ZSx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9dC5tYXRyaXhBdXRvVXBkYXRlLHRoaXN9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO3JldHVybiBudWxsIT09dGhpcy5mb2cmJihlLm9iamVjdC5mb2c9dGhpcy5mb2cudG9KU09OKCkpLGV9fWM3dC5wcm90b3R5cGUuaXNTY2VuZT0hMDtjbGFzcyB1N3R7Y29uc3RydWN0b3IodCxlKXt0aGlzLmFycmF5PXQsdGhpcy5zdHJpZGU9ZSx0aGlzLmNvdW50PXZvaWQgMCE9PXQ/dC5sZW5ndGgvZTowLHRoaXMudXNhZ2U9SjJ0LHRoaXMudXBkYXRlUmFuZ2U9e29mZnNldDowLGNvdW50Oi0xfSx0aGlzLnZlcnNpb249MCx0aGlzLnV1aWQ9YTV0KCl9b25VcGxvYWRDYWxsYmFjaygpe31zZXQgbmVlZHNVcGRhdGUodCl7ITA9PT10JiZ0aGlzLnZlcnNpb24rK31zZXRVc2FnZSh0KXtyZXR1cm4gdGhpcy51c2FnZT10LHRoaXN9Y29weSh0KXtyZXR1cm4gdGhpcy5hcnJheT1uZXcgdC5hcnJheS5jb25zdHJ1Y3Rvcih0LmFycmF5KSx0aGlzLmNvdW50PXQuY291bnQsdGhpcy5zdHJpZGU9dC5zdHJpZGUsdGhpcy51c2FnZT10LnVzYWdlLHRoaXN9Y29weUF0KHQsZSxuKXt0Kj10aGlzLnN0cmlkZSxuKj1lLnN0cmlkZTtmb3IobGV0IGk9MCxyPXRoaXMuc3RyaWRlO2k8cjtpKyspdGhpcy5hcnJheVt0K2ldPWUuYXJyYXlbbitpXTtyZXR1cm4gdGhpc31zZXQodCxlPTApe3JldHVybiB0aGlzLmFycmF5LnNldCh0LGUpLHRoaXN9Y2xvbmUodCl7dm9pZCAwPT09dC5hcnJheUJ1ZmZlcnMmJih0LmFycmF5QnVmZmVycz17fSksdm9pZCAwPT09dGhpcy5hcnJheS5idWZmZXIuX3V1aWQmJih0aGlzLmFycmF5LmJ1ZmZlci5fdXVpZD1hNXQoKSksdm9pZCAwPT09dC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdJiYodC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdPXRoaXMuYXJyYXkuc2xpY2UoMCkuYnVmZmVyKTtjb25zdCBlPW5ldyB0aGlzLmFycmF5LmNvbnN0cnVjdG9yKHQuYXJyYXlCdWZmZXJzW3RoaXMuYXJyYXkuYnVmZmVyLl91dWlkXSksbj1uZXcgdGhpcy5jb25zdHJ1Y3RvcihlLHRoaXMuc3RyaWRlKTtyZXR1cm4gbi5zZXRVc2FnZSh0aGlzLnVzYWdlKSxufW9uVXBsb2FkKHQpe3JldHVybiB0aGlzLm9uVXBsb2FkQ2FsbGJhY2s9dCx0aGlzfXRvSlNPTih0KXtyZXR1cm4gdm9pZCAwPT09dC5hcnJheUJ1ZmZlcnMmJih0LmFycmF5QnVmZmVycz17fSksdm9pZCAwPT09dGhpcy5hcnJheS5idWZmZXIuX3V1aWQmJih0aGlzLmFycmF5LmJ1ZmZlci5fdXVpZD1hNXQoKSksdm9pZCAwPT09dC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdJiYodC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG5ldyBVaW50MzJBcnJheSh0aGlzLmFycmF5LmJ1ZmZlcikpKSx7dXVpZDp0aGlzLnV1aWQsYnVmZmVyOnRoaXMuYXJyYXkuYnVmZmVyLl91dWlkLHR5cGU6dGhpcy5hcnJheS5jb25zdHJ1Y3Rvci5uYW1lLHN0cmlkZTp0aGlzLnN0cmlkZX19fXU3dC5wcm90b3R5cGUuaXNJbnRlcmxlYXZlZEJ1ZmZlcj0hMDtjb25zdCBoN3Q9bmV3IEg1dDtjbGFzcyBkN3R7Y29uc3RydWN0b3IodCxlLG4saT0hMSl7dGhpcy5uYW1lPSIiLHRoaXMuZGF0YT10LHRoaXMuaXRlbVNpemU9ZSx0aGlzLm9mZnNldD1uLHRoaXMubm9ybWFsaXplZD0hMD09PWl9Z2V0IGNvdW50KCl7cmV0dXJuIHRoaXMuZGF0YS5jb3VudH1nZXQgYXJyYXkoKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5fXNldCBuZWVkc1VwZGF0ZSh0KXt0aGlzLmRhdGEubmVlZHNVcGRhdGU9dH1hcHBseU1hdHJpeDQodCl7Zm9yKGxldCBlPTAsbj10aGlzLmRhdGEuY291bnQ7ZTxuO2UrKyloN3QueD10aGlzLmdldFgoZSksaDd0Lnk9dGhpcy5nZXRZKGUpLGg3dC56PXRoaXMuZ2V0WihlKSxoN3QuYXBwbHlNYXRyaXg0KHQpLHRoaXMuc2V0WFlaKGUsaDd0LngsaDd0LnksaDd0LnopO3JldHVybiB0aGlzfWFwcGx5Tm9ybWFsTWF0cml4KHQpe2ZvcihsZXQgZT0wLG49dGhpcy5jb3VudDtlPG47ZSsrKWg3dC54PXRoaXMuZ2V0WChlKSxoN3QueT10aGlzLmdldFkoZSksaDd0Lno9dGhpcy5nZXRaKGUpLGg3dC5hcHBseU5vcm1hbE1hdHJpeCh0KSx0aGlzLnNldFhZWihlLGg3dC54LGg3dC55LGg3dC56KTtyZXR1cm4gdGhpc310cmFuc2Zvcm1EaXJlY3Rpb24odCl7Zm9yKGxldCBlPTAsbj10aGlzLmNvdW50O2U8bjtlKyspaDd0Lng9dGhpcy5nZXRYKGUpLGg3dC55PXRoaXMuZ2V0WShlKSxoN3Quej10aGlzLmdldFooZSksaDd0LnRyYW5zZm9ybURpcmVjdGlvbih0KSx0aGlzLnNldFhZWihlLGg3dC54LGg3dC55LGg3dC56KTtyZXR1cm4gdGhpc31zZXRYKHQsZSl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVt0KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXRdPWUsdGhpc31zZXRZKHQsZSl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVt0KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQrMV09ZSx0aGlzfXNldFoodCxlKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5W3QqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldCsyXT1lLHRoaXN9c2V0Vyh0LGUpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbdCp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzNdPWUsdGhpc31nZXRYKHQpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbdCp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0XX1nZXRZKHQpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbdCp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzFdfWdldFoodCl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVt0KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQrMl19Z2V0Vyh0KXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5W3QqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldCszXX1zZXRYWSh0LGUsbil7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVsodD10KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQpKzBdPWUsdGhpcy5kYXRhLmFycmF5W3QrMV09bix0aGlzfXNldFhZWih0LGUsbixpKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5Wyh0PXQqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldCkrMF09ZSx0aGlzLmRhdGEuYXJyYXlbdCsxXT1uLHRoaXMuZGF0YS5hcnJheVt0KzJdPWksdGhpc31zZXRYWVpXKHQsZSxuLGkscil7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVsodD10KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQpKzBdPWUsdGhpcy5kYXRhLmFycmF5W3QrMV09bix0aGlzLmRhdGEuYXJyYXlbdCsyXT1pLHRoaXMuZGF0YS5hcnJheVt0KzNdPXIsdGhpc31jbG9uZSh0KXtpZih2b2lkIDA9PT10KXtjb25zb2xlLmxvZygiVEhSRUUuSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUuY2xvbmUoKTogQ2xvbmluZyBhbiBpbnRlcmxhdmVkIGJ1ZmZlciBhdHRyaWJ1dGUgd2lsbCBkZWludGVybGVhdmUgYnVmZmVyIGRhdGEuIik7Y29uc3QgdD1bXTtmb3IobGV0IGU9MDtlPHRoaXMuY291bnQ7ZSsrKXtjb25zdCBuPWUqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldDtmb3IobGV0IGU9MDtlPHRoaXMuaXRlbVNpemU7ZSsrKXQucHVzaCh0aGlzLmRhdGEuYXJyYXlbbitlXSl9cmV0dXJuIG5ldyBoNHQobmV3IHRoaXMuYXJyYXkuY29uc3RydWN0b3IodCksdGhpcy5pdGVtU2l6ZSx0aGlzLm5vcm1hbGl6ZWQpfXJldHVybiB2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVycyYmKHQuaW50ZXJsZWF2ZWRCdWZmZXJzPXt9KSx2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF0mJih0LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF09dGhpcy5kYXRhLmNsb25lKHQpKSxuZXcgZDd0KHQuaW50ZXJsZWF2ZWRCdWZmZXJzW3RoaXMuZGF0YS51dWlkXSx0aGlzLml0ZW1TaXplLHRoaXMub2Zmc2V0LHRoaXMubm9ybWFsaXplZCl9dG9KU09OKHQpe2lmKHZvaWQgMD09PXQpe2NvbnNvbGUubG9nKCJUSFJFRS5JbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZS50b0pTT04oKTogU2VyaWFsaXppbmcgYW4gaW50ZXJsYXZlZCBidWZmZXIgYXR0cmlidXRlIHdpbGwgZGVpbnRlcmxlYXZlIGJ1ZmZlciBkYXRhLiIpO2NvbnN0IHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLmNvdW50O2UrKyl7Y29uc3Qgbj1lKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQ7Zm9yKGxldCBlPTA7ZTx0aGlzLml0ZW1TaXplO2UrKyl0LnB1c2godGhpcy5kYXRhLmFycmF5W24rZV0pfXJldHVybntpdGVtU2l6ZTp0aGlzLml0ZW1TaXplLHR5cGU6dGhpcy5hcnJheS5jb25zdHJ1Y3Rvci5uYW1lLGFycmF5OnQsbm9ybWFsaXplZDp0aGlzLm5vcm1hbGl6ZWR9fXJldHVybiB2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVycyYmKHQuaW50ZXJsZWF2ZWRCdWZmZXJzPXt9KSx2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF0mJih0LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF09dGhpcy5kYXRhLnRvSlNPTih0KSkse2lzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGU6ITAsaXRlbVNpemU6dGhpcy5pdGVtU2l6ZSxkYXRhOnRoaXMuZGF0YS51dWlkLG9mZnNldDp0aGlzLm9mZnNldCxub3JtYWxpemVkOnRoaXMubm9ybWFsaXplZH19fWQ3dC5wcm90b3R5cGUuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZT0hMDtjbGFzcyBwN3QgZXh0ZW5kcyB0NHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlNwcml0ZU1hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBzNHQoMTY3NzcyMTUpLHRoaXMubWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMucm90YXRpb249MCx0aGlzLnNpemVBdHRlbnVhdGlvbj0hMCx0aGlzLnRyYW5zcGFyZW50PSEwLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMuYWxwaGFNYXA9dC5hbHBoYU1hcCx0aGlzLnJvdGF0aW9uPXQucm90YXRpb24sdGhpcy5zaXplQXR0ZW51YXRpb249dC5zaXplQXR0ZW51YXRpb24sdGhpc319bGV0IGY3dDtwN3QucHJvdG90eXBlLmlzU3ByaXRlTWF0ZXJpYWw9ITA7Y29uc3QgbTd0PW5ldyBINXQsZzd0PW5ldyBINXQsXzd0PW5ldyBINXQseTd0PW5ldyBDNXQsdjd0PW5ldyBDNXQsYjd0PW5ldyBnM3QseDd0PW5ldyBINXQsdzd0PW5ldyBINXQsUzd0PW5ldyBINXQsTTd0PW5ldyBDNXQsRTd0PW5ldyBDNXQsVDd0PW5ldyBDNXQ7Y2xhc3MgQzd0IGV4dGVuZHMgVjN0e2NvbnN0cnVjdG9yKHQpe2lmKHN1cGVyKCksdGhpcy50eXBlPSJTcHJpdGUiLHZvaWQgMD09PWY3dCl7Zjd0PW5ldyBONHQ7Y29uc3QgdD1uZXcgRmxvYXQzMkFycmF5KFstLjUsLS41LDAsMCwwLC41LC0uNSwwLDEsMCwuNSwuNSwwLDEsMSwtLjUsLjUsMCwwLDFdKSxlPW5ldyB1N3QodCw1KTtmN3Quc2V0SW5kZXgoWzAsMSwyLDAsMiwzXSksZjd0LnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBkN3QoZSwzLDAsITEpKSxmN3Quc2V0QXR0cmlidXRlKCJ1diIsbmV3IGQ3dChlLDIsMywhMSkpfXRoaXMuZ2VvbWV0cnk9Zjd0LHRoaXMubWF0ZXJpYWw9dm9pZCAwIT09dD90Om5ldyBwN3QsdGhpcy5jZW50ZXI9bmV3IEM1dCguNSwuNSl9cmF5Y2FzdCh0LGUpe251bGw9PT10LmNhbWVyYSYmY29uc29sZS5lcnJvcignVEhSRUUuU3ByaXRlOiAiUmF5Y2FzdGVyLmNhbWVyYSIgbmVlZHMgdG8gYmUgc2V0IGluIG9yZGVyIHRvIHJheWNhc3QgYWdhaW5zdCBzcHJpdGVzLicpLGc3dC5zZXRGcm9tTWF0cml4U2NhbGUodGhpcy5tYXRyaXhXb3JsZCksYjd0LmNvcHkodC5jYW1lcmEubWF0cml4V29ybGQpLHRoaXMubW9kZWxWaWV3TWF0cml4Lm11bHRpcGx5TWF0cmljZXModC5jYW1lcmEubWF0cml4V29ybGRJbnZlcnNlLHRoaXMubWF0cml4V29ybGQpLF83dC5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tb2RlbFZpZXdNYXRyaXgpLHQuY2FtZXJhLmlzUGVyc3BlY3RpdmVDYW1lcmEmJiExPT09dGhpcy5tYXRlcmlhbC5zaXplQXR0ZW51YXRpb24mJmc3dC5tdWx0aXBseVNjYWxhcigtXzd0LnopO2NvbnN0IG49dGhpcy5tYXRlcmlhbC5yb3RhdGlvbjtsZXQgaSxyOzAhPT1uJiYocj1NYXRoLmNvcyhuKSxpPU1hdGguc2luKG4pKTtjb25zdCBvPXRoaXMuY2VudGVyO0E3dCh4N3Quc2V0KC0uNSwtLjUsMCksXzd0LG8sZzd0LGksciksQTd0KHc3dC5zZXQoLjUsLS41LDApLF83dCxvLGc3dCxpLHIpLEE3dChTN3Quc2V0KC41LC41LDApLF83dCxvLGc3dCxpLHIpLE03dC5zZXQoMCwwKSxFN3Quc2V0KDEsMCksVDd0LnNldCgxLDEpO2xldCBhPXQucmF5LmludGVyc2VjdFRyaWFuZ2xlKHg3dCx3N3QsUzd0LCExLG03dCk7aWYobnVsbD09PWEmJihBN3Qodzd0LnNldCgtLjUsLjUsMCksXzd0LG8sZzd0LGksciksRTd0LnNldCgwLDEpLGE9dC5yYXkuaW50ZXJzZWN0VHJpYW5nbGUoeDd0LFM3dCx3N3QsITEsbTd0KSxudWxsPT09YSkpcmV0dXJuO2NvbnN0IHM9dC5yYXkub3JpZ2luLmRpc3RhbmNlVG8obTd0KTtzPHQubmVhcnx8cz50LmZhcnx8ZS5wdXNoKHtkaXN0YW5jZTpzLHBvaW50Om03dC5jbG9uZSgpLHV2OkozdC5nZXRVVihtN3QseDd0LHc3dCxTN3QsTTd0LEU3dCxUN3QsbmV3IEM1dCksZmFjZTpudWxsLG9iamVjdDp0aGlzfSl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx2b2lkIDAhPT10LmNlbnRlciYmdGhpcy5jZW50ZXIuY29weSh0LmNlbnRlciksdGhpcy5tYXRlcmlhbD10Lm1hdGVyaWFsLHRoaXN9fWZ1bmN0aW9uIEE3dCh0LGUsbixpLHIsbyl7eTd0LnN1YlZlY3RvcnModCxuKS5hZGRTY2FsYXIoLjUpLm11bHRpcGx5KGkpLHZvaWQgMCE9PXI/KHY3dC54PW8qeTd0Lngtcip5N3QueSx2N3QueT1yKnk3dC54K28qeTd0LnkpOnY3dC5jb3B5KHk3dCksdC5jb3B5KGUpLHQueCs9djd0LngsdC55Kz12N3QueSx0LmFwcGx5TWF0cml4NChiN3QpfUM3dC5wcm90b3R5cGUuaXNTcHJpdGU9ITA7Y29uc3Qgazd0PW5ldyBINXQsTDd0PW5ldyBINXQ7Y2xhc3MgUDd0IGV4dGVuZHMgVjN0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9jdXJyZW50TGV2ZWw9MCx0aGlzLnR5cGU9IkxPRCIsT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcyx7bGV2ZWxzOntlbnVtZXJhYmxlOiEwLHZhbHVlOltdfSxpc0xPRDp7dmFsdWU6ITB9fSksdGhpcy5hdXRvVXBkYXRlPSEwfWNvcHkodCl7c3VwZXIuY29weSh0LCExKTtjb25zdCBlPXQubGV2ZWxzO2ZvcihsZXQgdD0wLG49ZS5sZW5ndGg7dDxuO3QrKyl7Y29uc3Qgbj1lW3RdO3RoaXMuYWRkTGV2ZWwobi5vYmplY3QuY2xvbmUoKSxuLmRpc3RhbmNlKX1yZXR1cm4gdGhpcy5hdXRvVXBkYXRlPXQuYXV0b1VwZGF0ZSx0aGlzfWFkZExldmVsKHQsZT0wKXtlPU1hdGguYWJzKGUpO2NvbnN0IG49dGhpcy5sZXZlbHM7bGV0IGk7Zm9yKGk9MDtpPG4ubGVuZ3RoJiYhKGU8bltpXS5kaXN0YW5jZSk7aSsrKTtyZXR1cm4gbi5zcGxpY2UoaSwwLHtkaXN0YW5jZTplLG9iamVjdDp0fSksdGhpcy5hZGQodCksdGhpc31nZXRDdXJyZW50TGV2ZWwoKXtyZXR1cm4gdGhpcy5fY3VycmVudExldmVsfWdldE9iamVjdEZvckRpc3RhbmNlKHQpe2NvbnN0IGU9dGhpcy5sZXZlbHM7aWYoZS5sZW5ndGg+MCl7bGV0IG4saTtmb3Iobj0xLGk9ZS5sZW5ndGg7bjxpJiYhKHQ8ZVtuXS5kaXN0YW5jZSk7bisrKTtyZXR1cm4gZVtuLTFdLm9iamVjdH1yZXR1cm4gbnVsbH1yYXljYXN0KHQsZSl7aWYodGhpcy5sZXZlbHMubGVuZ3RoPjApe2s3dC5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tYXRyaXhXb3JsZCk7Y29uc3Qgbj10LnJheS5vcmlnaW4uZGlzdGFuY2VUbyhrN3QpO3RoaXMuZ2V0T2JqZWN0Rm9yRGlzdGFuY2UobikucmF5Y2FzdCh0LGUpfX11cGRhdGUodCl7Y29uc3QgZT10aGlzLmxldmVscztpZihlLmxlbmd0aD4xKXtrN3Quc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQubWF0cml4V29ybGQpLEw3dC5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tYXRyaXhXb3JsZCk7Y29uc3Qgbj1rN3QuZGlzdGFuY2VUbyhMN3QpL3Quem9vbTtsZXQgaSxyO2ZvcihlWzBdLm9iamVjdC52aXNpYmxlPSEwLGk9MSxyPWUubGVuZ3RoO2k8ciYmbj49ZVtpXS5kaXN0YW5jZTtpKyspZVtpLTFdLm9iamVjdC52aXNpYmxlPSExLGVbaV0ub2JqZWN0LnZpc2libGU9ITA7Zm9yKHRoaXMuX2N1cnJlbnRMZXZlbD1pLTE7aTxyO2krKyllW2ldLm9iamVjdC52aXNpYmxlPSExfX10b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7ITE9PT10aGlzLmF1dG9VcGRhdGUmJihlLm9iamVjdC5hdXRvVXBkYXRlPSExKSxlLm9iamVjdC5sZXZlbHM9W107Y29uc3Qgbj10aGlzLmxldmVscztmb3IobGV0IHQ9MCxpPW4ubGVuZ3RoO3Q8aTt0Kyspe2NvbnN0IGk9blt0XTtlLm9iamVjdC5sZXZlbHMucHVzaCh7b2JqZWN0Omkub2JqZWN0LnV1aWQsZGlzdGFuY2U6aS5kaXN0YW5jZX0pfXJldHVybiBlfX1jb25zdCBON3Q9bmV3IEg1dCxJN3Q9bmV3IFI1dCxSN3Q9bmV3IFI1dCxPN3Q9bmV3IEg1dCx6N3Q9bmV3IGczdDtjbGFzcyBEN3QgZXh0ZW5kcyBLNHR7Y29uc3RydWN0b3IodCxlKXtzdXBlcih0LGUpLHRoaXMudHlwZT0iU2tpbm5lZE1lc2giLHRoaXMuYmluZE1vZGU9ImF0dGFjaGVkIix0aGlzLmJpbmRNYXRyaXg9bmV3IGczdCx0aGlzLmJpbmRNYXRyaXhJbnZlcnNlPW5ldyBnM3R9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmJpbmRNb2RlPXQuYmluZE1vZGUsdGhpcy5iaW5kTWF0cml4LmNvcHkodC5iaW5kTWF0cml4KSx0aGlzLmJpbmRNYXRyaXhJbnZlcnNlLmNvcHkodC5iaW5kTWF0cml4SW52ZXJzZSksdGhpcy5za2VsZXRvbj10LnNrZWxldG9uLHRoaXN9YmluZCh0LGUpe3RoaXMuc2tlbGV0b249dCx2b2lkIDA9PT1lJiYodGhpcy51cGRhdGVNYXRyaXhXb3JsZCghMCksdGhpcy5za2VsZXRvbi5jYWxjdWxhdGVJbnZlcnNlcygpLGU9dGhpcy5tYXRyaXhXb3JsZCksdGhpcy5iaW5kTWF0cml4LmNvcHkoZSksdGhpcy5iaW5kTWF0cml4SW52ZXJzZS5jb3B5KGUpLmludmVydCgpfXBvc2UoKXt0aGlzLnNrZWxldG9uLnBvc2UoKX1ub3JtYWxpemVTa2luV2VpZ2h0cygpe2NvbnN0IHQ9bmV3IFI1dCxlPXRoaXMuZ2VvbWV0cnkuYXR0cmlidXRlcy5za2luV2VpZ2h0O2ZvcihsZXQgbj0wLGk9ZS5jb3VudDtuPGk7bisrKXt0Lng9ZS5nZXRYKG4pLHQueT1lLmdldFkobiksdC56PWUuZ2V0WihuKSx0Lnc9ZS5nZXRXKG4pO2NvbnN0IGk9MS90Lm1hbmhhdHRhbkxlbmd0aCgpO2khPT0xLzA/dC5tdWx0aXBseVNjYWxhcihpKTp0LnNldCgxLDAsMCwwKSxlLnNldFhZWlcobix0LngsdC55LHQueix0LncpfX11cGRhdGVNYXRyaXhXb3JsZCh0KXtzdXBlci51cGRhdGVNYXRyaXhXb3JsZCh0KSwiYXR0YWNoZWQiPT09dGhpcy5iaW5kTW9kZT90aGlzLmJpbmRNYXRyaXhJbnZlcnNlLmNvcHkodGhpcy5tYXRyaXhXb3JsZCkuaW52ZXJ0KCk6ImRldGFjaGVkIj09PXRoaXMuYmluZE1vZGU/dGhpcy5iaW5kTWF0cml4SW52ZXJzZS5jb3B5KHRoaXMuYmluZE1hdHJpeCkuaW52ZXJ0KCk6Y29uc29sZS53YXJuKCJUSFJFRS5Ta2lubmVkTWVzaDogVW5yZWNvZ25pemVkIGJpbmRNb2RlOiAiK3RoaXMuYmluZE1vZGUpfWJvbmVUcmFuc2Zvcm0odCxlKXtjb25zdCBuPXRoaXMuc2tlbGV0b24saT10aGlzLmdlb21ldHJ5O0k3dC5mcm9tQnVmZmVyQXR0cmlidXRlKGkuYXR0cmlidXRlcy5za2luSW5kZXgsdCksUjd0LmZyb21CdWZmZXJBdHRyaWJ1dGUoaS5hdHRyaWJ1dGVzLnNraW5XZWlnaHQsdCksTjd0LmZyb21CdWZmZXJBdHRyaWJ1dGUoaS5hdHRyaWJ1dGVzLnBvc2l0aW9uLHQpLmFwcGx5TWF0cml4NCh0aGlzLmJpbmRNYXRyaXgpLGUuc2V0KDAsMCwwKTtmb3IobGV0IHQ9MDt0PDQ7dCsrKXtjb25zdCBpPVI3dC5nZXRDb21wb25lbnQodCk7aWYoMCE9PWkpe2NvbnN0IHI9STd0LmdldENvbXBvbmVudCh0KTt6N3QubXVsdGlwbHlNYXRyaWNlcyhuLmJvbmVzW3JdLm1hdHJpeFdvcmxkLG4uYm9uZUludmVyc2VzW3JdKSxlLmFkZFNjYWxlZFZlY3RvcihPN3QuY29weShON3QpLmFwcGx5TWF0cml4NCh6N3QpLGkpfX1yZXR1cm4gZS5hcHBseU1hdHJpeDQodGhpcy5iaW5kTWF0cml4SW52ZXJzZSl9fUQ3dC5wcm90b3R5cGUuaXNTa2lubmVkTWVzaD0hMDtjbGFzcyBCN3QgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iQm9uZSJ9fUI3dC5wcm90b3R5cGUuaXNCb25lPSEwO2NsYXNzIEg3dCBleHRlbmRzIE41dHtjb25zdHJ1Y3Rvcih0PW51bGwsZT0xLG49MSxpLHIsbyxhLHMsbD0xMDAzLGM9MTAwMyx1LGgpe3N1cGVyKG51bGwsbyxhLHMsbCxjLGkscix1LGgpLHRoaXMuaW1hZ2U9e2RhdGE6dCx3aWR0aDplLGhlaWdodDpufSx0aGlzLm1hZ0ZpbHRlcj1sLHRoaXMubWluRmlsdGVyPWMsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITEsdGhpcy5mbGlwWT0hMSx0aGlzLnVucGFja0FsaWdubWVudD0xLHRoaXMubmVlZHNVcGRhdGU9ITB9fUg3dC5wcm90b3R5cGUuaXNEYXRhVGV4dHVyZT0hMDtjb25zdCBGN3Q9bmV3IGczdCxWN3Q9bmV3IGczdDtjbGFzcyBVN3R7Y29uc3RydWN0b3IodD1bXSxlPVtdKXt0aGlzLnV1aWQ9YTV0KCksdGhpcy5ib25lcz10LnNsaWNlKDApLHRoaXMuYm9uZUludmVyc2VzPWUsdGhpcy5ib25lTWF0cmljZXM9bnVsbCx0aGlzLmJvbmVUZXh0dXJlPW51bGwsdGhpcy5ib25lVGV4dHVyZVNpemU9MCx0aGlzLmZyYW1lPS0xLHRoaXMuaW5pdCgpfWluaXQoKXtjb25zdCB0PXRoaXMuYm9uZXMsZT10aGlzLmJvbmVJbnZlcnNlcztpZih0aGlzLmJvbmVNYXRyaWNlcz1uZXcgRmxvYXQzMkFycmF5KDE2KnQubGVuZ3RoKSwwPT09ZS5sZW5ndGgpdGhpcy5jYWxjdWxhdGVJbnZlcnNlcygpO2Vsc2UgaWYodC5sZW5ndGghPT1lLmxlbmd0aCl7Y29uc29sZS53YXJuKCJUSFJFRS5Ta2VsZXRvbjogTnVtYmVyIG9mIGludmVyc2UgYm9uZSBtYXRyaWNlcyBkb2VzIG5vdCBtYXRjaCBhbW91bnQgb2YgYm9uZXMuIiksdGhpcy5ib25lSW52ZXJzZXM9W107Zm9yKGxldCB0PTAsZT10aGlzLmJvbmVzLmxlbmd0aDt0PGU7dCsrKXRoaXMuYm9uZUludmVyc2VzLnB1c2gobmV3IGczdCl9fWNhbGN1bGF0ZUludmVyc2VzKCl7dGhpcy5ib25lSW52ZXJzZXMubGVuZ3RoPTA7Zm9yKGxldCB0PTAsZT10aGlzLmJvbmVzLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPW5ldyBnM3Q7dGhpcy5ib25lc1t0XSYmZS5jb3B5KHRoaXMuYm9uZXNbdF0ubWF0cml4V29ybGQpLmludmVydCgpLHRoaXMuYm9uZUludmVyc2VzLnB1c2goZSl9fXBvc2UoKXtmb3IobGV0IHQ9MCxlPXRoaXMuYm9uZXMubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9dGhpcy5ib25lc1t0XTtlJiZlLm1hdHJpeFdvcmxkLmNvcHkodGhpcy5ib25lSW52ZXJzZXNbdF0pLmludmVydCgpfWZvcihsZXQgdD0wLGU9dGhpcy5ib25lcy5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT10aGlzLmJvbmVzW3RdO2UmJihlLnBhcmVudCYmZS5wYXJlbnQuaXNCb25lPyhlLm1hdHJpeC5jb3B5KGUucGFyZW50Lm1hdHJpeFdvcmxkKS5pbnZlcnQoKSxlLm1hdHJpeC5tdWx0aXBseShlLm1hdHJpeFdvcmxkKSk6ZS5tYXRyaXguY29weShlLm1hdHJpeFdvcmxkKSxlLm1hdHJpeC5kZWNvbXBvc2UoZS5wb3NpdGlvbixlLnF1YXRlcm5pb24sZS5zY2FsZSkpfX11cGRhdGUoKXtjb25zdCB0PXRoaXMuYm9uZXMsZT10aGlzLmJvbmVJbnZlcnNlcyxuPXRoaXMuYm9uZU1hdHJpY2VzLGk9dGhpcy5ib25lVGV4dHVyZTtmb3IobGV0IGk9MCxyPXQubGVuZ3RoO2k8cjtpKyspe0Y3dC5tdWx0aXBseU1hdHJpY2VzKHRbaV0/dFtpXS5tYXRyaXhXb3JsZDpWN3QsZVtpXSksRjd0LnRvQXJyYXkobiwxNippKX1udWxsIT09aSYmKGkubmVlZHNVcGRhdGU9ITApfWNsb25lKCl7cmV0dXJuIG5ldyBVN3QodGhpcy5ib25lcyx0aGlzLmJvbmVJbnZlcnNlcyl9Y29tcHV0ZUJvbmVUZXh0dXJlKCl7bGV0IHQ9TWF0aC5zcXJ0KDQqdGhpcy5ib25lcy5sZW5ndGgpO3Q9aDV0KHQpLHQ9TWF0aC5tYXgodCw0KTtjb25zdCBlPW5ldyBGbG9hdDMyQXJyYXkodCp0KjQpO2Uuc2V0KHRoaXMuYm9uZU1hdHJpY2VzKTtjb25zdCBuPW5ldyBIN3QoZSx0LHQsUzJ0LHYydCk7cmV0dXJuIHRoaXMuYm9uZU1hdHJpY2VzPWUsdGhpcy5ib25lVGV4dHVyZT1uLHRoaXMuYm9uZVRleHR1cmVTaXplPXQsdGhpc31nZXRCb25lQnlOYW1lKHQpe2ZvcihsZXQgZT0wLG49dGhpcy5ib25lcy5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10aGlzLmJvbmVzW2VdO2lmKG4ubmFtZT09PXQpcmV0dXJuIG59fWRpc3Bvc2UoKXtudWxsIT09dGhpcy5ib25lVGV4dHVyZSYmKHRoaXMuYm9uZVRleHR1cmUuZGlzcG9zZSgpLHRoaXMuYm9uZVRleHR1cmU9bnVsbCl9ZnJvbUpTT04odCxlKXt0aGlzLnV1aWQ9dC51dWlkO2ZvcihsZXQgbj0wLGk9dC5ib25lcy5sZW5ndGg7bjxpO24rKyl7Y29uc3QgaT10LmJvbmVzW25dO2xldCByPWVbaV07dm9pZCAwPT09ciYmKGNvbnNvbGUud2FybigiVEhSRUUuU2tlbGV0b246IE5vIGJvbmUgZm91bmQgd2l0aCBVVUlEOiIsaSkscj1uZXcgQjd0KSx0aGlzLmJvbmVzLnB1c2gociksdGhpcy5ib25lSW52ZXJzZXMucHVzaCgobmV3IGczdCkuZnJvbUFycmF5KHQuYm9uZUludmVyc2VzW25dKSl9cmV0dXJuIHRoaXMuaW5pdCgpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD17bWV0YWRhdGE6e3ZlcnNpb246NC41LHR5cGU6IlNrZWxldG9uIixnZW5lcmF0b3I6IlNrZWxldG9uLnRvSlNPTiJ9LGJvbmVzOltdLGJvbmVJbnZlcnNlczpbXX07dC51dWlkPXRoaXMudXVpZDtjb25zdCBlPXRoaXMuYm9uZXMsbj10aGlzLmJvbmVJbnZlcnNlcztmb3IobGV0IGk9MCxyPWUubGVuZ3RoO2k8cjtpKyspe3QuYm9uZXMucHVzaChlW2ldLnV1aWQpO3QuYm9uZUludmVyc2VzLnB1c2gobltpXS50b0FycmF5KCkpfXJldHVybiB0fX1jb25zdCBqN3Q9bmV3IGczdCxHN3Q9bmV3IGczdCxXN3Q9W10scTd0PW5ldyBLNHQ7Y2xhc3MgWTd0IGV4dGVuZHMgSzR0e2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcih0LGUpLHRoaXMuaW5zdGFuY2VNYXRyaXg9bmV3IGg0dChuZXcgRmxvYXQzMkFycmF5KDE2Km4pLDE2KSx0aGlzLmluc3RhbmNlQ29sb3I9bnVsbCx0aGlzLmNvdW50PW4sdGhpcy5mcnVzdHVtQ3VsbGVkPSExfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5pbnN0YW5jZU1hdHJpeC5jb3B5KHQuaW5zdGFuY2VNYXRyaXgpLG51bGwhPT10Lmluc3RhbmNlQ29sb3ImJih0aGlzLmluc3RhbmNlQ29sb3I9dC5pbnN0YW5jZUNvbG9yLmNsb25lKCkpLHRoaXMuY291bnQ9dC5jb3VudCx0aGlzfWdldENvbG9yQXQodCxlKXtlLmZyb21BcnJheSh0aGlzLmluc3RhbmNlQ29sb3IuYXJyYXksMyp0KX1nZXRNYXRyaXhBdCh0LGUpe2UuZnJvbUFycmF5KHRoaXMuaW5zdGFuY2VNYXRyaXguYXJyYXksMTYqdCl9cmF5Y2FzdCh0LGUpe2NvbnN0IG49dGhpcy5tYXRyaXhXb3JsZCxpPXRoaXMuY291bnQ7aWYocTd0Lmdlb21ldHJ5PXRoaXMuZ2VvbWV0cnkscTd0Lm1hdGVyaWFsPXRoaXMubWF0ZXJpYWwsdm9pZCAwIT09cTd0Lm1hdGVyaWFsKWZvcihsZXQgcj0wO3I8aTtyKyspe3RoaXMuZ2V0TWF0cml4QXQocixqN3QpLEc3dC5tdWx0aXBseU1hdHJpY2VzKG4sajd0KSxxN3QubWF0cml4V29ybGQ9Rzd0LHE3dC5yYXljYXN0KHQsVzd0KTtmb3IobGV0IHQ9MCxuPVc3dC5sZW5ndGg7dDxuO3QrKyl7Y29uc3Qgbj1XN3RbdF07bi5pbnN0YW5jZUlkPXIsbi5vYmplY3Q9dGhpcyxlLnB1c2gobil9Vzd0Lmxlbmd0aD0wfX1zZXRDb2xvckF0KHQsZSl7bnVsbD09PXRoaXMuaW5zdGFuY2VDb2xvciYmKHRoaXMuaW5zdGFuY2VDb2xvcj1uZXcgaDR0KG5ldyBGbG9hdDMyQXJyYXkoMyp0aGlzLmluc3RhbmNlTWF0cml4LmNvdW50KSwzKSksZS50b0FycmF5KHRoaXMuaW5zdGFuY2VDb2xvci5hcnJheSwzKnQpfXNldE1hdHJpeEF0KHQsZSl7ZS50b0FycmF5KHRoaXMuaW5zdGFuY2VNYXRyaXguYXJyYXksMTYqdCl9dXBkYXRlTW9ycGhUYXJnZXRzKCl7fWRpc3Bvc2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9fVk3dC5wcm90b3R5cGUuaXNJbnN0YW5jZWRNZXNoPSEwO2NsYXNzIFg3dCBleHRlbmRzIHQ0dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iTGluZUJhc2ljTWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IHM0dCgxNjc3NzIxNSksdGhpcy5saW5ld2lkdGg9MSx0aGlzLmxpbmVjYXA9InJvdW5kIix0aGlzLmxpbmVqb2luPSJyb3VuZCIsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmNvbG9yLmNvcHkodC5jb2xvciksdGhpcy5saW5ld2lkdGg9dC5saW5ld2lkdGgsdGhpcy5saW5lY2FwPXQubGluZWNhcCx0aGlzLmxpbmVqb2luPXQubGluZWpvaW4sdGhpc319WDd0LnByb3RvdHlwZS5pc0xpbmVCYXNpY01hdGVyaWFsPSEwO2NvbnN0ICQ3dD1uZXcgSDV0LEs3dD1uZXcgSDV0LFo3dD1uZXcgZzN0LEo3dD1uZXcgbTN0LFE3dD1uZXcgczN0O2NsYXNzIHR0ZSBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcih0PW5ldyBONHQsZT1uZXcgWDd0KXtzdXBlcigpLHRoaXMudHlwZT0iTGluZSIsdGhpcy5nZW9tZXRyeT10LHRoaXMubWF0ZXJpYWw9ZSx0aGlzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5tYXRlcmlhbD10Lm1hdGVyaWFsLHRoaXMuZ2VvbWV0cnk9dC5nZW9tZXRyeSx0aGlzfWNvbXB1dGVMaW5lRGlzdGFuY2VzKCl7Y29uc3QgdD10aGlzLmdlb21ldHJ5O2lmKHQuaXNCdWZmZXJHZW9tZXRyeSlpZihudWxsPT09dC5pbmRleCl7Y29uc3QgZT10LmF0dHJpYnV0ZXMucG9zaXRpb24sbj1bMF07Zm9yKGxldCB0PTEsaT1lLmNvdW50O3Q8aTt0KyspJDd0LmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx0LTEpLEs3dC5mcm9tQnVmZmVyQXR0cmlidXRlKGUsdCksblt0XT1uW3QtMV0sblt0XSs9JDd0LmRpc3RhbmNlVG8oSzd0KTt0LnNldEF0dHJpYnV0ZSgibGluZURpc3RhbmNlIixuZXcgYjR0KG4sMSkpfWVsc2UgY29uc29sZS53YXJuKCJUSFJFRS5MaW5lLmNvbXB1dGVMaW5lRGlzdGFuY2VzKCk6IENvbXB1dGF0aW9uIG9ubHkgcG9zc2libGUgd2l0aCBub24taW5kZXhlZCBCdWZmZXJHZW9tZXRyeS4iKTtlbHNlIHQuaXNHZW9tZXRyeSYmY29uc29sZS5lcnJvcigiVEhSRUUuTGluZS5jb21wdXRlTGluZURpc3RhbmNlcygpIG5vIGxvbmdlciBzdXBwb3J0cyBUSFJFRS5HZW9tZXRyeS4gVXNlIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIik7cmV0dXJuIHRoaXN9cmF5Y2FzdCh0LGUpe2NvbnN0IG49dGhpcy5nZW9tZXRyeSxpPXRoaXMubWF0cml4V29ybGQscj10LnBhcmFtcy5MaW5lLnRocmVzaG9sZCxvPW4uZHJhd1JhbmdlO2lmKG51bGw9PT1uLmJvdW5kaW5nU3BoZXJlJiZuLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLFE3dC5jb3B5KG4uYm91bmRpbmdTcGhlcmUpLFE3dC5hcHBseU1hdHJpeDQoaSksUTd0LnJhZGl1cys9ciwhMT09PXQucmF5LmludGVyc2VjdHNTcGhlcmUoUTd0KSlyZXR1cm47Wjd0LmNvcHkoaSkuaW52ZXJ0KCksSjd0LmNvcHkodC5yYXkpLmFwcGx5TWF0cml4NChaN3QpO2NvbnN0IGE9ci8oKHRoaXMuc2NhbGUueCt0aGlzLnNjYWxlLnkrdGhpcy5zY2FsZS56KS8zKSxzPWEqYSxsPW5ldyBINXQsYz1uZXcgSDV0LHU9bmV3IEg1dCxoPW5ldyBINXQsZD10aGlzLmlzTGluZVNlZ21lbnRzPzI6MTtpZihuLmlzQnVmZmVyR2VvbWV0cnkpe2NvbnN0IGk9bi5pbmRleCxyPW4uYXR0cmlidXRlcy5wb3NpdGlvbjtpZihudWxsIT09aSl7Zm9yKGxldCBuPU1hdGgubWF4KDAsby5zdGFydCksYT1NYXRoLm1pbihpLmNvdW50LG8uc3RhcnQrby5jb3VudCktMTtuPGE7bis9ZCl7Y29uc3Qgbz1pLmdldFgobiksYT1pLmdldFgobisxKTtsLmZyb21CdWZmZXJBdHRyaWJ1dGUocixvKSxjLmZyb21CdWZmZXJBdHRyaWJ1dGUocixhKTtpZihKN3QuZGlzdGFuY2VTcVRvU2VnbWVudChsLGMsaCx1KT5zKWNvbnRpbnVlO2guYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpO2NvbnN0IGQ9dC5yYXkub3JpZ2luLmRpc3RhbmNlVG8oaCk7ZDx0Lm5lYXJ8fGQ+dC5mYXJ8fGUucHVzaCh7ZGlzdGFuY2U6ZCxwb2ludDp1LmNsb25lKCkuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpLGluZGV4Om4sZmFjZTpudWxsLGZhY2VJbmRleDpudWxsLG9iamVjdDp0aGlzfSl9fWVsc2V7Zm9yKGxldCBuPU1hdGgubWF4KDAsby5zdGFydCksaT1NYXRoLm1pbihyLmNvdW50LG8uc3RhcnQrby5jb3VudCktMTtuPGk7bis9ZCl7bC5mcm9tQnVmZmVyQXR0cmlidXRlKHIsbiksYy5mcm9tQnVmZmVyQXR0cmlidXRlKHIsbisxKTtpZihKN3QuZGlzdGFuY2VTcVRvU2VnbWVudChsLGMsaCx1KT5zKWNvbnRpbnVlO2guYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpO2NvbnN0IGk9dC5yYXkub3JpZ2luLmRpc3RhbmNlVG8oaCk7aTx0Lm5lYXJ8fGk+dC5mYXJ8fGUucHVzaCh7ZGlzdGFuY2U6aSxwb2ludDp1LmNsb25lKCkuYXBwbHlNYXRyaXg0KHRoaXMubWF0cml4V29ybGQpLGluZGV4Om4sZmFjZTpudWxsLGZhY2VJbmRleDpudWxsLG9iamVjdDp0aGlzfSl9fX1lbHNlIG4uaXNHZW9tZXRyeSYmY29uc29sZS5lcnJvcigiVEhSRUUuTGluZS5yYXljYXN0KCkgbm8gbG9uZ2VyIHN1cHBvcnRzIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKX11cGRhdGVNb3JwaFRhcmdldHMoKXtjb25zdCB0PXRoaXMuZ2VvbWV0cnk7aWYodC5pc0J1ZmZlckdlb21ldHJ5KXtjb25zdCBlPXQubW9ycGhBdHRyaWJ1dGVzLG49T2JqZWN0LmtleXMoZSk7aWYobi5sZW5ndGg+MCl7Y29uc3QgdD1lW25bMF1dO2lmKHZvaWQgMCE9PXQpe3RoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzPVtdLHRoaXMubW9ycGhUYXJnZXREaWN0aW9uYXJ5PXt9O2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10W2VdLm5hbWV8fFN0cmluZyhlKTt0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcy5wdXNoKDApLHRoaXMubW9ycGhUYXJnZXREaWN0aW9uYXJ5W25dPWV9fX19ZWxzZXtjb25zdCBlPXQubW9ycGhUYXJnZXRzO3ZvaWQgMCE9PWUmJmUubGVuZ3RoPjAmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLkxpbmUudXBkYXRlTW9ycGhUYXJnZXRzKCkgZG9lcyBub3Qgc3VwcG9ydCBUSFJFRS5HZW9tZXRyeS4gVXNlIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIil9fX10dGUucHJvdG90eXBlLmlzTGluZT0hMDtjb25zdCBldGU9bmV3IEg1dCxudGU9bmV3IEg1dDtjbGFzcyBpdGUgZXh0ZW5kcyB0dGV7Y29uc3RydWN0b3IodCxlKXtzdXBlcih0LGUpLHRoaXMudHlwZT0iTGluZVNlZ21lbnRzIn1jb21wdXRlTGluZURpc3RhbmNlcygpe2NvbnN0IHQ9dGhpcy5nZW9tZXRyeTtpZih0LmlzQnVmZmVyR2VvbWV0cnkpaWYobnVsbD09PXQuaW5kZXgpe2NvbnN0IGU9dC5hdHRyaWJ1dGVzLnBvc2l0aW9uLG49W107Zm9yKGxldCB0PTAsaT1lLmNvdW50O3Q8aTt0Kz0yKWV0ZS5mcm9tQnVmZmVyQXR0cmlidXRlKGUsdCksbnRlLmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx0KzEpLG5bdF09MD09PXQ/MDpuW3QtMV0sblt0KzFdPW5bdF0rZXRlLmRpc3RhbmNlVG8obnRlKTt0LnNldEF0dHJpYnV0ZSgibGluZURpc3RhbmNlIixuZXcgYjR0KG4sMSkpfWVsc2UgY29uc29sZS53YXJuKCJUSFJFRS5MaW5lU2VnbWVudHMuY29tcHV0ZUxpbmVEaXN0YW5jZXMoKTogQ29tcHV0YXRpb24gb25seSBwb3NzaWJsZSB3aXRoIG5vbi1pbmRleGVkIEJ1ZmZlckdlb21ldHJ5LiIpO2Vsc2UgdC5pc0dlb21ldHJ5JiZjb25zb2xlLmVycm9yKCJUSFJFRS5MaW5lU2VnbWVudHMuY29tcHV0ZUxpbmVEaXN0YW5jZXMoKSBubyBsb25nZXIgc3VwcG9ydHMgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpO3JldHVybiB0aGlzfX1pdGUucHJvdG90eXBlLmlzTGluZVNlZ21lbnRzPSEwO2NsYXNzIHJ0ZSBleHRlbmRzIHR0ZXtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy50eXBlPSJMaW5lTG9vcCJ9fXJ0ZS5wcm90b3R5cGUuaXNMaW5lTG9vcD0hMDtjbGFzcyBvdGUgZXh0ZW5kcyB0NHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlBvaW50c01hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBzNHQoMTY3NzcyMTUpLHRoaXMubWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuc2l6ZT0xLHRoaXMuc2l6ZUF0dGVudWF0aW9uPSEwLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMuYWxwaGFNYXA9dC5hbHBoYU1hcCx0aGlzLnNpemU9dC5zaXplLHRoaXMuc2l6ZUF0dGVudWF0aW9uPXQuc2l6ZUF0dGVudWF0aW9uLHRoaXN9fW90ZS5wcm90b3R5cGUuaXNQb2ludHNNYXRlcmlhbD0hMDtjb25zdCBhdGU9bmV3IGczdCxzdGU9bmV3IG0zdCxsdGU9bmV3IHMzdCxjdGU9bmV3IEg1dDtjbGFzcyB1dGUgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IodD1uZXcgTjR0LGU9bmV3IG90ZSl7c3VwZXIoKSx0aGlzLnR5cGU9IlBvaW50cyIsdGhpcy5nZW9tZXRyeT10LHRoaXMubWF0ZXJpYWw9ZSx0aGlzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5tYXRlcmlhbD10Lm1hdGVyaWFsLHRoaXMuZ2VvbWV0cnk9dC5nZW9tZXRyeSx0aGlzfXJheWNhc3QodCxlKXtjb25zdCBuPXRoaXMuZ2VvbWV0cnksaT10aGlzLm1hdHJpeFdvcmxkLHI9dC5wYXJhbXMuUG9pbnRzLnRocmVzaG9sZCxvPW4uZHJhd1JhbmdlO2lmKG51bGw9PT1uLmJvdW5kaW5nU3BoZXJlJiZuLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLGx0ZS5jb3B5KG4uYm91bmRpbmdTcGhlcmUpLGx0ZS5hcHBseU1hdHJpeDQoaSksbHRlLnJhZGl1cys9ciwhMT09PXQucmF5LmludGVyc2VjdHNTcGhlcmUobHRlKSlyZXR1cm47YXRlLmNvcHkoaSkuaW52ZXJ0KCksc3RlLmNvcHkodC5yYXkpLmFwcGx5TWF0cml4NChhdGUpO2NvbnN0IGE9ci8oKHRoaXMuc2NhbGUueCt0aGlzLnNjYWxlLnkrdGhpcy5zY2FsZS56KS8zKSxzPWEqYTtpZihuLmlzQnVmZmVyR2VvbWV0cnkpe2NvbnN0IHI9bi5pbmRleCxhPW4uYXR0cmlidXRlcy5wb3NpdGlvbjtpZihudWxsIT09cil7Zm9yKGxldCBuPU1hdGgubWF4KDAsby5zdGFydCksbD1NYXRoLm1pbihyLmNvdW50LG8uc3RhcnQrby5jb3VudCk7bjxsO24rKyl7Y29uc3Qgbz1yLmdldFgobik7Y3RlLmZyb21CdWZmZXJBdHRyaWJ1dGUoYSxvKSxodGUoY3RlLG8scyxpLHQsZSx0aGlzKX19ZWxzZXtmb3IobGV0IG49TWF0aC5tYXgoMCxvLnN0YXJ0KSxyPU1hdGgubWluKGEuY291bnQsby5zdGFydCtvLmNvdW50KTtuPHI7bisrKWN0ZS5mcm9tQnVmZmVyQXR0cmlidXRlKGEsbiksaHRlKGN0ZSxuLHMsaSx0LGUsdGhpcyl9fWVsc2UgY29uc29sZS5lcnJvcigiVEhSRUUuUG9pbnRzLnJheWNhc3QoKSBubyBsb25nZXIgc3VwcG9ydHMgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfXVwZGF0ZU1vcnBoVGFyZ2V0cygpe2NvbnN0IHQ9dGhpcy5nZW9tZXRyeTtpZih0LmlzQnVmZmVyR2VvbWV0cnkpe2NvbnN0IGU9dC5tb3JwaEF0dHJpYnV0ZXMsbj1PYmplY3Qua2V5cyhlKTtpZihuLmxlbmd0aD4wKXtjb25zdCB0PWVbblswXV07aWYodm9pZCAwIT09dCl7dGhpcy5tb3JwaFRhcmdldEluZmx1ZW5jZXM9W10sdGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnk9e307Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXtjb25zdCBuPXRbZV0ubmFtZXx8U3RyaW5nKGUpO3RoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzLnB1c2goMCksdGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnlbbl09ZX19fX1lbHNle2NvbnN0IGU9dC5tb3JwaFRhcmdldHM7dm9pZCAwIT09ZSYmZS5sZW5ndGg+MCYmY29uc29sZS5lcnJvcigiVEhSRUUuUG9pbnRzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpIGRvZXMgbm90IHN1cHBvcnQgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfX19ZnVuY3Rpb24gaHRlKHQsZSxuLGkscixvLGEpe2NvbnN0IHM9c3RlLmRpc3RhbmNlU3FUb1BvaW50KHQpO2lmKHM8bil7Y29uc3Qgbj1uZXcgSDV0O3N0ZS5jbG9zZXN0UG9pbnRUb1BvaW50KHQsbiksbi5hcHBseU1hdHJpeDQoaSk7Y29uc3QgbD1yLnJheS5vcmlnaW4uZGlzdGFuY2VUbyhuKTtpZihsPHIubmVhcnx8bD5yLmZhcilyZXR1cm47by5wdXNoKHtkaXN0YW5jZTpsLGRpc3RhbmNlVG9SYXk6TWF0aC5zcXJ0KHMpLHBvaW50Om4saW5kZXg6ZSxmYWNlOm51bGwsb2JqZWN0OmF9KX19dXRlLnByb3RvdHlwZS5pc1BvaW50cz0hMDtjbGFzcyBkdGUgZXh0ZW5kcyBONXR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8sYSxzLGwpe3N1cGVyKHQsZSxuLGkscixvLGEscyxsKSx0aGlzLmZvcm1hdD12b2lkIDAhPT1hP2E6dzJ0LHRoaXMubWluRmlsdGVyPXZvaWQgMCE9PW8/bzpwMnQsdGhpcy5tYWdGaWx0ZXI9dm9pZCAwIT09cj9yOnAydCx0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMTtjb25zdCBjPXRoaXM7InJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2siaW4gdCYmdC5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKChmdW5jdGlvbiBlKCl7Yy5uZWVkc1VwZGF0ZT0hMCx0LnJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2soZSl9KSl9Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5pbWFnZSkuY29weSh0aGlzKX11cGRhdGUoKXtjb25zdCB0PXRoaXMuaW1hZ2U7ITE9PT0icmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjayJpbiB0JiZ0LnJlYWR5U3RhdGU+PXQuSEFWRV9DVVJSRU5UX0RBVEEmJih0aGlzLm5lZWRzVXBkYXRlPSEwKX19ZHRlLnByb3RvdHlwZS5pc1ZpZGVvVGV4dHVyZT0hMDtjbGFzcyBwdGUgZXh0ZW5kcyBONXR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8sYSxzLGwsYyx1LGgpe3N1cGVyKG51bGwsbyxhLHMsbCxjLGkscix1LGgpLHRoaXMuaW1hZ2U9e3dpZHRoOmUsaGVpZ2h0Om59LHRoaXMubWlwbWFwcz10LHRoaXMuZmxpcFk9ITEsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITF9fXB0ZS5wcm90b3R5cGUuaXNDb21wcmVzc2VkVGV4dHVyZT0hMDtjbGFzcyBmdGUgZXh0ZW5kcyBONXR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8sYSxzLGwpe3N1cGVyKHQsZSxuLGkscixvLGEscyxsKSx0aGlzLm5lZWRzVXBkYXRlPSEwfX1mdGUucHJvdG90eXBlLmlzQ2FudmFzVGV4dHVyZT0hMDtjbGFzcyBtdGUgZXh0ZW5kcyBONXR7Y29uc3RydWN0b3IodCxlLG4saSxyLG8sYSxzLGwsYyl7aWYoKGM9dm9pZCAwIT09Yz9jOk0ydCkhPT1NMnQmJmMhPT1FMnQpdGhyb3cgbmV3IEVycm9yKCJEZXB0aFRleHR1cmUgZm9ybWF0IG11c3QgYmUgZWl0aGVyIFRIUkVFLkRlcHRoRm9ybWF0IG9yIFRIUkVFLkRlcHRoU3RlbmNpbEZvcm1hdCIpO3ZvaWQgMD09PW4mJmM9PT1NMnQmJihuPV8ydCksdm9pZCAwPT09biYmYz09PUUydCYmKG49eDJ0KSxzdXBlcihudWxsLGkscixvLGEscyxjLG4sbCksdGhpcy5pbWFnZT17d2lkdGg6dCxoZWlnaHQ6ZX0sdGhpcy5tYWdGaWx0ZXI9dm9pZCAwIT09YT9hOnUydCx0aGlzLm1pbkZpbHRlcj12b2lkIDAhPT1zP3M6dTJ0LHRoaXMuZmxpcFk9ITEsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITF9fW10ZS5wcm90b3R5cGUuaXNEZXB0aFRleHR1cmU9ITA7Y2xhc3MgZ3RlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQ9MSxlPTgsbj0wLGk9MipNYXRoLlBJKXtzdXBlcigpLHRoaXMudHlwZT0iQ2lyY2xlR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17cmFkaXVzOnQsc2VnbWVudHM6ZSx0aGV0YVN0YXJ0Om4sdGhldGFMZW5ndGg6aX0sZT1NYXRoLm1heCgzLGUpO2NvbnN0IHI9W10sbz1bXSxhPVtdLHM9W10sbD1uZXcgSDV0LGM9bmV3IEM1dDtvLnB1c2goMCwwLDApLGEucHVzaCgwLDAsMSkscy5wdXNoKC41LC41KTtmb3IobGV0IHI9MCx1PTM7cjw9ZTtyKyssdSs9Myl7Y29uc3QgaD1uK3IvZSppO2wueD10Kk1hdGguY29zKGgpLGwueT10Kk1hdGguc2luKGgpLG8ucHVzaChsLngsbC55LGwueiksYS5wdXNoKDAsMCwxKSxjLng9KG9bdV0vdCsxKS8yLGMueT0ob1t1KzFdL3QrMSkvMixzLnB1c2goYy54LGMueSl9Zm9yKGxldCB0PTE7dDw9ZTt0Kyspci5wdXNoKHQsdCsxLDApO3RoaXMuc2V0SW5kZXgociksdGhpcy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KG8sMykpLHRoaXMuc2V0QXR0cmlidXRlKCJub3JtYWwiLG5ldyBiNHQoYSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoInV2IixuZXcgYjR0KHMsMikpfXN0YXRpYyBmcm9tSlNPTih0KXtyZXR1cm4gbmV3IGd0ZSh0LnJhZGl1cyx0LnNlZ21lbnRzLHQudGhldGFTdGFydCx0LnRoZXRhTGVuZ3RoKX19Y2xhc3MgX3RlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQ9MSxlPTEsbj0xLGk9OCxyPTEsbz0hMSxhPTAscz0yKk1hdGguUEkpe3N1cGVyKCksdGhpcy50eXBlPSJDeWxpbmRlckdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3JhZGl1c1RvcDp0LHJhZGl1c0JvdHRvbTplLGhlaWdodDpuLHJhZGlhbFNlZ21lbnRzOmksaGVpZ2h0U2VnbWVudHM6cixvcGVuRW5kZWQ6byx0aGV0YVN0YXJ0OmEsdGhldGFMZW5ndGg6c307Y29uc3QgbD10aGlzO2k9TWF0aC5mbG9vcihpKSxyPU1hdGguZmxvb3Iocik7Y29uc3QgYz1bXSx1PVtdLGg9W10sZD1bXTtsZXQgcD0wO2NvbnN0IGY9W10sbT1uLzI7bGV0IGc9MDtmdW5jdGlvbiBfKG4pe2NvbnN0IHI9cCxvPW5ldyBDNXQsZj1uZXcgSDV0O2xldCBfPTA7Y29uc3QgeT0hMD09PW4/dDplLHY9ITA9PT1uPzE6LTE7Zm9yKGxldCB0PTE7dDw9aTt0KyspdS5wdXNoKDAsbSp2LDApLGgucHVzaCgwLHYsMCksZC5wdXNoKC41LC41KSxwKys7Y29uc3QgYj1wO2ZvcihsZXQgdD0wO3Q8PWk7dCsrKXtjb25zdCBlPXQvaSpzK2Esbj1NYXRoLmNvcyhlKSxyPU1hdGguc2luKGUpO2YueD15KnIsZi55PW0qdixmLno9eSpuLHUucHVzaChmLngsZi55LGYueiksaC5wdXNoKDAsdiwwKSxvLng9LjUqbisuNSxvLnk9LjUqcip2Ky41LGQucHVzaChvLngsby55KSxwKyt9Zm9yKGxldCB0PTA7dDxpO3QrKyl7Y29uc3QgZT1yK3QsaT1iK3Q7ITA9PT1uP2MucHVzaChpLGkrMSxlKTpjLnB1c2goaSsxLGksZSksXys9M31sLmFkZEdyb3VwKGcsXywhMD09PW4/MToyKSxnKz1ffSEoZnVuY3Rpb24geSgpe2NvbnN0IG89bmV3IEg1dCxfPW5ldyBINXQ7bGV0IHk9MDtjb25zdCB2PShlLXQpL247Zm9yKGxldCBsPTA7bDw9cjtsKyspe2NvbnN0IGM9W10sZz1sL3IseT1nKihlLXQpK3Q7Zm9yKGxldCB0PTA7dDw9aTt0Kyspe2NvbnN0IGU9dC9pLHI9ZSpzK2EsbD1NYXRoLnNpbihyKSxmPU1hdGguY29zKHIpO18ueD15KmwsXy55PS1nKm4rbSxfLno9eSpmLHUucHVzaChfLngsXy55LF8ueiksby5zZXQobCx2LGYpLm5vcm1hbGl6ZSgpLGgucHVzaChvLngsby55LG8ueiksZC5wdXNoKGUsMS1nKSxjLnB1c2gocCsrKX1mLnB1c2goYyl9Zm9yKGxldCB0PTA7dDxpO3QrKylmb3IobGV0IGU9MDtlPHI7ZSsrKXtjb25zdCBuPWZbZSsxXVt0XSxpPWZbZSsxXVt0KzFdLHI9ZltlXVt0KzFdO2MucHVzaChmW2VdW3RdLG4sciksYy5wdXNoKG4saSxyKSx5Kz02fWwuYWRkR3JvdXAoZyx5LDApLGcrPXl9KSgpLCExPT09byYmKHQ+MCYmXyghMCksZT4wJiZfKCExKSksdGhpcy5zZXRJbmRleChjKSx0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQodSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGI0dChoLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBiNHQoZCwyKSl9c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgX3RlKHQucmFkaXVzVG9wLHQucmFkaXVzQm90dG9tLHQuaGVpZ2h0LHQucmFkaWFsU2VnbWVudHMsdC5oZWlnaHRTZWdtZW50cyx0Lm9wZW5FbmRlZCx0LnRoZXRhU3RhcnQsdC50aGV0YUxlbmd0aCl9fWNsYXNzIHl0ZSBleHRlbmRzIF90ZXtjb25zdHJ1Y3Rvcih0PTEsZT0xLG49OCxpPTEscj0hMSxvPTAsYT0yKk1hdGguUEkpe3N1cGVyKDAsdCxlLG4saSxyLG8sYSksdGhpcy50eXBlPSJDb25lR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17cmFkaXVzOnQsaGVpZ2h0OmUscmFkaWFsU2VnbWVudHM6bixoZWlnaHRTZWdtZW50czppLG9wZW5FbmRlZDpyLHRoZXRhU3RhcnQ6byx0aGV0YUxlbmd0aDphfX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyB5dGUodC5yYWRpdXMsdC5oZWlnaHQsdC5yYWRpYWxTZWdtZW50cyx0LmhlaWdodFNlZ21lbnRzLHQub3BlbkVuZGVkLHQudGhldGFTdGFydCx0LnRoZXRhTGVuZ3RoKX19Y2xhc3MgdnRlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQsZSxuPTEsaT0wKXtzdXBlcigpLHRoaXMudHlwZT0iUG9seWhlZHJvbkdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3ZlcnRpY2VzOnQsaW5kaWNlczplLHJhZGl1czpuLGRldGFpbDppfTtjb25zdCByPVtdLG89W107ZnVuY3Rpb24gYSh0LGUsbixpKXtjb25zdCByPWkrMSxvPVtdO2ZvcihsZXQgaT0wO2k8PXI7aSsrKXtvW2ldPVtdO2NvbnN0IGE9dC5jbG9uZSgpLmxlcnAobixpL3IpLHM9ZS5jbG9uZSgpLmxlcnAobixpL3IpLGw9ci1pO2ZvcihsZXQgdD0wO3Q8PWw7dCsrKW9baV1bdF09MD09PXQmJmk9PT1yP2E6YS5jbG9uZSgpLmxlcnAocyx0L2wpfWZvcihsZXQgdD0wO3Q8cjt0KyspZm9yKGxldCBlPTA7ZTwyKihyLXQpLTE7ZSsrKXtjb25zdCBuPU1hdGguZmxvb3IoZS8yKTtlJTI9PTA/KHMob1t0XVtuKzFdKSxzKG9bdCsxXVtuXSkscyhvW3RdW25dKSk6KHMob1t0XVtuKzFdKSxzKG9bdCsxXVtuKzFdKSxzKG9bdCsxXVtuXSkpfX1mdW5jdGlvbiBzKHQpe3IucHVzaCh0LngsdC55LHQueil9ZnVuY3Rpb24gbChlLG4pe2NvbnN0IGk9MyplO24ueD10W2krMF0sbi55PXRbaSsxXSxuLno9dFtpKzJdfWZ1bmN0aW9uIGModCxlLG4saSl7aTwwJiYxPT09dC54JiYob1tlXT10LngtMSksMD09PW4ueCYmMD09PW4ueiYmKG9bZV09aS8yL01hdGguUEkrLjUpfWZ1bmN0aW9uIHUodCl7cmV0dXJuIE1hdGguYXRhbjIodC56LC10LngpfSEoZnVuY3Rpb24gaCh0KXtjb25zdCBuPW5ldyBINXQsaT1uZXcgSDV0LHI9bmV3IEg1dDtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rPTMpbChlW28rMF0sbiksbChlW28rMV0saSksbChlW28rMl0sciksYShuLGkscix0KX0pKGkpLChmdW5jdGlvbiBkKHQpe2NvbnN0IGU9bmV3IEg1dDtmb3IobGV0IG49MDtuPHIubGVuZ3RoO24rPTMpZS54PXJbbiswXSxlLnk9cltuKzFdLGUuej1yW24rMl0sZS5ub3JtYWxpemUoKS5tdWx0aXBseVNjYWxhcih0KSxyW24rMF09ZS54LHJbbisxXT1lLnkscltuKzJdPWUuen0pKG4pLChmdW5jdGlvbiBwKCl7Y29uc3QgdD1uZXcgSDV0O2ZvcihsZXQgbj0wO248ci5sZW5ndGg7bis9Myl7dC54PXJbbiswXSx0Lnk9cltuKzFdLHQuej1yW24rMl07Y29uc3QgaT11KHQpLzIvTWF0aC5QSSsuNSxhPShlPXQsTWF0aC5hdGFuMigtZS55LE1hdGguc3FydChlLngqZS54K2UueiplLnopKS9NYXRoLlBJKy41KTtvLnB1c2goaSwxLWEpfXZhciBlOyhmdW5jdGlvbiBuKCl7Y29uc3QgdD1uZXcgSDV0LGU9bmV3IEg1dCxuPW5ldyBINXQsaT1uZXcgSDV0LGE9bmV3IEM1dCxzPW5ldyBDNXQsbD1uZXcgQzV0O2ZvcihsZXQgaD0wLGQ9MDtoPHIubGVuZ3RoO2grPTksZCs9Nil7dC5zZXQocltoKzBdLHJbaCsxXSxyW2grMl0pLGUuc2V0KHJbaCszXSxyW2grNF0scltoKzVdKSxuLnNldChyW2grNl0scltoKzddLHJbaCs4XSksYS5zZXQob1tkKzBdLG9bZCsxXSkscy5zZXQob1tkKzJdLG9bZCszXSksbC5zZXQob1tkKzRdLG9bZCs1XSksaS5jb3B5KHQpLmFkZChlKS5hZGQobikuZGl2aWRlU2NhbGFyKDMpO2NvbnN0IHA9dShpKTtjKGEsZCswLHQscCksYyhzLGQrMixlLHApLGMobCxkKzQsbixwKX19KSgpLChmdW5jdGlvbiBpKCl7Zm9yKGxldCB0PTA7dDxvLmxlbmd0aDt0Kz02KXtjb25zdCBlPW9bdCswXSxuPW9bdCsyXSxpPW9bdCs0XSxyPU1hdGgubWF4KGUsbixpKSxhPU1hdGgubWluKGUsbixpKTtyPi45JiZhPC4xJiYoZTwuMiYmKG9bdCswXSs9MSksbjwuMiYmKG9bdCsyXSs9MSksaTwuMiYmKG9bdCs0XSs9MSkpfX0pKCl9KSgpLHRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChyLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYjR0KHIuc2xpY2UoKSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoInV2IixuZXcgYjR0KG8sMikpLDA9PT1pP3RoaXMuY29tcHV0ZVZlcnRleE5vcm1hbHMoKTp0aGlzLm5vcm1hbGl6ZU5vcm1hbHMoKX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyB2dGUodC52ZXJ0aWNlcyx0LmluZGljZXMsdC5yYWRpdXMsdC5kZXRhaWxzKX19Y2xhc3MgYnRlIGV4dGVuZHMgdnRle2NvbnN0cnVjdG9yKHQ9MSxlPTApe2NvbnN0IG49KDErTWF0aC5zcXJ0KDUpKS8yLGk9MS9uO3N1cGVyKFstMSwtMSwtMSwtMSwtMSwxLC0xLDEsLTEsLTEsMSwxLDEsLTEsLTEsMSwtMSwxLDEsMSwtMSwxLDEsMSwwLC1pLC1uLDAsLWksbiwwLGksLW4sMCxpLG4sLWksLW4sMCwtaSxuLDAsaSwtbiwwLGksbiwwLC1uLDAsLWksbiwwLC1pLC1uLDAsaSxuLDAsaV0sWzMsMTEsNywzLDcsMTUsMywxNSwxMyw3LDE5LDE3LDcsMTcsNiw3LDYsMTUsMTcsNCw4LDE3LDgsMTAsMTcsMTAsNiw4LDAsMTYsOCwxNiwyLDgsMiwxMCwwLDEyLDEsMCwxLDE4LDAsMTgsMTYsNiwxMCwyLDYsMiwxMyw2LDEzLDE1LDIsMTYsMTgsMiwxOCwzLDIsMywxMywxOCwxLDksMTgsOSwxMSwxOCwxMSwzLDQsMTQsMTIsNCwxMiwwLDQsMCw4LDExLDksNSwxMSw1LDE5LDExLDE5LDcsMTksNSwxNCwxOSwxNCw0LDE5LDQsMTcsMSwxMiwxNCwxLDE0LDUsMSw1LDldLHQsZSksdGhpcy50eXBlPSJEb2RlY2FoZWRyb25HZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6dCxkZXRhaWw6ZX19c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgYnRlKHQucmFkaXVzLHQuZGV0YWlsKX19Y29uc3QgeHRlPW5ldyBINXQsd3RlPW5ldyBINXQsU3RlPW5ldyBINXQsTXRlPW5ldyBKM3Q7Y2xhc3MgRXRlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQsZSl7aWYoc3VwZXIoKSx0aGlzLnR5cGU9IkVkZ2VzR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17dGhyZXNob2xkQW5nbGU6ZX0sZT12b2lkIDAhPT1lP2U6MSwhMD09PXQuaXNHZW9tZXRyeSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5FZGdlc0dlb21ldHJ5IG5vIGxvbmdlciBzdXBwb3J0cyBUSFJFRS5HZW9tZXRyeS4gVXNlIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIik7Y29uc3Qgbj1NYXRoLmNvcyhyNXQqZSksaT10LmdldEluZGV4KCkscj10LmdldEF0dHJpYnV0ZSgicG9zaXRpb24iKSxvPWk/aS5jb3VudDpyLmNvdW50LGE9WzAsMCwwXSxzPVsiYSIsImIiLCJjIl0sbD1uZXcgQXJyYXkoMyksYz17fSx1PVtdO2ZvcihsZXQgdD0wO3Q8bzt0Kz0zKXtpPyhhWzBdPWkuZ2V0WCh0KSxhWzFdPWkuZ2V0WCh0KzEpLGFbMl09aS5nZXRYKHQrMikpOihhWzBdPXQsYVsxXT10KzEsYVsyXT10KzIpO2NvbnN0e2E6ZSxiOm8sYzpofT1NdGU7aWYoZS5mcm9tQnVmZmVyQXR0cmlidXRlKHIsYVswXSksby5mcm9tQnVmZmVyQXR0cmlidXRlKHIsYVsxXSksaC5mcm9tQnVmZmVyQXR0cmlidXRlKHIsYVsyXSksTXRlLmdldE5vcm1hbChTdGUpLGxbMF09YCR7ZS54fSwke2UueX0sJHtlLnp9YCxsWzFdPWAke28ueH0sJHtvLnl9LCR7by56fWAsbFsyXT1gJHtoLnh9LCR7aC55fSwke2guen1gLGxbMF0hPT1sWzFdJiZsWzFdIT09bFsyXSYmbFsyXSE9PWxbMF0pZm9yKGxldCB0PTA7dDwzO3QrKyl7Y29uc3QgZT0odCsxKSUzLGk9bFt0XSxyPWxbZV0sbz1NdGVbc1t0XV0saD1NdGVbc1tlXV0sZD1gJHtpfV8ke3J9YCxwPWAke3J9XyR7aX1gO3AgaW4gYyYmY1twXT8oU3RlLmRvdChjW3BdLm5vcm1hbCk8PW4mJih1LnB1c2goby54LG8ueSxvLnopLHUucHVzaChoLngsaC55LGgueikpLGNbcF09bnVsbCk6ZCBpbiBjfHwoY1tkXT17aW5kZXgwOmFbdF0saW5kZXgxOmFbZV0sbm9ybWFsOlN0ZS5jbG9uZSgpfSl9fWZvcihjb25zdCB0IGluIGMpaWYoY1t0XSl7Y29uc3R7aW5kZXgwOmUsaW5kZXgxOm59PWNbdF07eHRlLmZyb21CdWZmZXJBdHRyaWJ1dGUocixlKSx3dGUuZnJvbUJ1ZmZlckF0dHJpYnV0ZShyLG4pLHUucHVzaCh4dGUueCx4dGUueSx4dGUueiksdS5wdXNoKHd0ZS54LHd0ZS55LHd0ZS56KX10aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQodSwzKSl9fWNsYXNzIFR0ZXtjb25zdHJ1Y3Rvcigpe3RoaXMudHlwZT0iQ3VydmUiLHRoaXMuYXJjTGVuZ3RoRGl2aXNpb25zPTIwMH1nZXRQb2ludCgpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkN1cnZlOiAuZ2V0UG9pbnQoKSBub3QgaW1wbGVtZW50ZWQuIiksbnVsbH1nZXRQb2ludEF0KHQsZSl7Y29uc3Qgbj10aGlzLmdldFV0b1RtYXBwaW5nKHQpO3JldHVybiB0aGlzLmdldFBvaW50KG4sZSl9Z2V0UG9pbnRzKHQ9NSl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPD10O24rKyllLnB1c2godGhpcy5nZXRQb2ludChuL3QpKTtyZXR1cm4gZX1nZXRTcGFjZWRQb2ludHModD01KXtjb25zdCBlPVtdO2ZvcihsZXQgbj0wO248PXQ7bisrKWUucHVzaCh0aGlzLmdldFBvaW50QXQobi90KSk7cmV0dXJuIGV9Z2V0TGVuZ3RoKCl7Y29uc3QgdD10aGlzLmdldExlbmd0aHMoKTtyZXR1cm4gdFt0Lmxlbmd0aC0xXX1nZXRMZW5ndGhzKHQ9dGhpcy5hcmNMZW5ndGhEaXZpc2lvbnMpe2lmKHRoaXMuY2FjaGVBcmNMZW5ndGhzJiZ0aGlzLmNhY2hlQXJjTGVuZ3Rocy5sZW5ndGg9PT10KzEmJiF0aGlzLm5lZWRzVXBkYXRlKXJldHVybiB0aGlzLmNhY2hlQXJjTGVuZ3Roczt0aGlzLm5lZWRzVXBkYXRlPSExO2NvbnN0IGU9W107bGV0IG4saT10aGlzLmdldFBvaW50KDApLHI9MDtlLnB1c2goMCk7Zm9yKGxldCBvPTE7bzw9dDtvKyspbj10aGlzLmdldFBvaW50KG8vdCkscis9bi5kaXN0YW5jZVRvKGkpLGUucHVzaChyKSxpPW47cmV0dXJuIHRoaXMuY2FjaGVBcmNMZW5ndGhzPWUsZX11cGRhdGVBcmNMZW5ndGhzKCl7dGhpcy5uZWVkc1VwZGF0ZT0hMCx0aGlzLmdldExlbmd0aHMoKX1nZXRVdG9UbWFwcGluZyh0LGUpe2NvbnN0IG49dGhpcy5nZXRMZW5ndGhzKCk7bGV0IGk9MDtjb25zdCByPW4ubGVuZ3RoO2xldCBvO289ZXx8dCpuW3ItMV07bGV0IGEscz0wLGw9ci0xO2Zvcig7czw9bDspaWYoaT1NYXRoLmZsb29yKHMrKGwtcykvMiksYT1uW2ldLW8sYTwwKXM9aSsxO2Vsc2V7aWYoIShhPjApKXtsPWk7YnJlYWt9bD1pLTF9aWYoaT1sLG5baV09PT1vKXJldHVybiBpLyhyLTEpO2NvbnN0IGM9bltpXTtyZXR1cm4oaSsoby1jKS8obltpKzFdLWMpKS8oci0xKX1nZXRUYW5nZW50KHQsZSl7Y29uc3Qgbj0xZS00O2xldCBpPXQtbixyPXQrbjtpPDAmJihpPTApLHI+MSYmKHI9MSk7Y29uc3Qgbz10aGlzLmdldFBvaW50KGkpLGE9dGhpcy5nZXRQb2ludChyKSxzPWV8fChvLmlzVmVjdG9yMj9uZXcgQzV0Om5ldyBINXQpO3JldHVybiBzLmNvcHkoYSkuc3ViKG8pLm5vcm1hbGl6ZSgpLHN9Z2V0VGFuZ2VudEF0KHQsZSl7Y29uc3Qgbj10aGlzLmdldFV0b1RtYXBwaW5nKHQpO3JldHVybiB0aGlzLmdldFRhbmdlbnQobixlKX1jb21wdXRlRnJlbmV0RnJhbWVzKHQsZSl7Y29uc3Qgbj1uZXcgSDV0LGk9W10scj1bXSxvPVtdLGE9bmV3IEg1dCxzPW5ldyBnM3Q7Zm9yKGxldCBlPTA7ZTw9dDtlKyspe2lbZV09dGhpcy5nZXRUYW5nZW50QXQoZS90LG5ldyBINXQpLGlbZV0ubm9ybWFsaXplKCl9clswXT1uZXcgSDV0LG9bMF09bmV3IEg1dDtsZXQgbD1OdW1iZXIuTUFYX1ZBTFVFO2NvbnN0IGM9TWF0aC5hYnMoaVswXS54KSx1PU1hdGguYWJzKGlbMF0ueSksaD1NYXRoLmFicyhpWzBdLnopO2M8PWwmJihsPWMsbi5zZXQoMSwwLDApKSx1PD1sJiYobD11LG4uc2V0KDAsMSwwKSksaDw9bCYmbi5zZXQoMCwwLDEpLGEuY3Jvc3NWZWN0b3JzKGlbMF0sbikubm9ybWFsaXplKCksclswXS5jcm9zc1ZlY3RvcnMoaVswXSxhKSxvWzBdLmNyb3NzVmVjdG9ycyhpWzBdLHJbMF0pO2ZvcihsZXQgZT0xO2U8PXQ7ZSsrKXtpZihyW2VdPXJbZS0xXS5jbG9uZSgpLG9bZV09b1tlLTFdLmNsb25lKCksYS5jcm9zc1ZlY3RvcnMoaVtlLTFdLGlbZV0pLGEubGVuZ3RoKCk+TnVtYmVyLkVQU0lMT04pe2Eubm9ybWFsaXplKCk7Y29uc3QgdD1NYXRoLmFjb3MoczV0KGlbZS0xXS5kb3QoaVtlXSksLTEsMSkpO3JbZV0uYXBwbHlNYXRyaXg0KHMubWFrZVJvdGF0aW9uQXhpcyhhLHQpKX1vW2VdLmNyb3NzVmVjdG9ycyhpW2VdLHJbZV0pfWlmKCEwPT09ZSl7bGV0IGU9TWF0aC5hY29zKHM1dChyWzBdLmRvdChyW3RdKSwtMSwxKSk7ZS89dCxpWzBdLmRvdChhLmNyb3NzVmVjdG9ycyhyWzBdLHJbdF0pKT4wJiYoZT0tZSk7Zm9yKGxldCBuPTE7bjw9dDtuKyspcltuXS5hcHBseU1hdHJpeDQocy5tYWtlUm90YXRpb25BeGlzKGlbbl0sZSpuKSksb1tuXS5jcm9zc1ZlY3RvcnMoaVtuXSxyW25dKX1yZXR1cm57dGFuZ2VudHM6aSxub3JtYWxzOnIsYmlub3JtYWxzOm99fWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfWNvcHkodCl7cmV0dXJuIHRoaXMuYXJjTGVuZ3RoRGl2aXNpb25zPXQuYXJjTGVuZ3RoRGl2aXNpb25zLHRoaXN9dG9KU09OKCl7Y29uc3QgdD17bWV0YWRhdGE6e3ZlcnNpb246NC41LHR5cGU6IkN1cnZlIixnZW5lcmF0b3I6IkN1cnZlLnRvSlNPTiJ9fTtyZXR1cm4gdC5hcmNMZW5ndGhEaXZpc2lvbnM9dGhpcy5hcmNMZW5ndGhEaXZpc2lvbnMsdC50eXBlPXRoaXMudHlwZSx0fWZyb21KU09OKHQpe3JldHVybiB0aGlzLmFyY0xlbmd0aERpdmlzaW9ucz10LmFyY0xlbmd0aERpdmlzaW9ucyx0aGlzfX1jbGFzcyBDdGUgZXh0ZW5kcyBUdGV7Y29uc3RydWN0b3IodD0wLGU9MCxuPTEsaT0xLHI9MCxvPTIqTWF0aC5QSSxhPSExLHM9MCl7c3VwZXIoKSx0aGlzLnR5cGU9IkVsbGlwc2VDdXJ2ZSIsdGhpcy5hWD10LHRoaXMuYVk9ZSx0aGlzLnhSYWRpdXM9bix0aGlzLnlSYWRpdXM9aSx0aGlzLmFTdGFydEFuZ2xlPXIsdGhpcy5hRW5kQW5nbGU9byx0aGlzLmFDbG9ja3dpc2U9YSx0aGlzLmFSb3RhdGlvbj1zfWdldFBvaW50KHQsZSl7Y29uc3Qgbj1lfHxuZXcgQzV0LGk9MipNYXRoLlBJO2xldCByPXRoaXMuYUVuZEFuZ2xlLXRoaXMuYVN0YXJ0QW5nbGU7Y29uc3Qgbz1NYXRoLmFicyhyKTxOdW1iZXIuRVBTSUxPTjtmb3IoO3I8MDspcis9aTtmb3IoO3I+aTspci09aTtyPE51bWJlci5FUFNJTE9OJiYocj1vPzA6aSksITAhPT10aGlzLmFDbG9ja3dpc2V8fG98fChyPT09aT9yPS1pOnItPWkpO2NvbnN0IGE9dGhpcy5hU3RhcnRBbmdsZSt0KnI7bGV0IHM9dGhpcy5hWCt0aGlzLnhSYWRpdXMqTWF0aC5jb3MoYSksbD10aGlzLmFZK3RoaXMueVJhZGl1cypNYXRoLnNpbihhKTtpZigwIT09dGhpcy5hUm90YXRpb24pe2NvbnN0IHQ9TWF0aC5jb3ModGhpcy5hUm90YXRpb24pLGU9TWF0aC5zaW4odGhpcy5hUm90YXRpb24pLG49cy10aGlzLmFYLGk9bC10aGlzLmFZO3M9bip0LWkqZSt0aGlzLmFYLGw9biplK2kqdCt0aGlzLmFZfXJldHVybiBuLnNldChzLGwpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5hWD10LmFYLHRoaXMuYVk9dC5hWSx0aGlzLnhSYWRpdXM9dC54UmFkaXVzLHRoaXMueVJhZGl1cz10LnlSYWRpdXMsdGhpcy5hU3RhcnRBbmdsZT10LmFTdGFydEFuZ2xlLHRoaXMuYUVuZEFuZ2xlPXQuYUVuZEFuZ2xlLHRoaXMuYUNsb2Nrd2lzZT10LmFDbG9ja3dpc2UsdGhpcy5hUm90YXRpb249dC5hUm90YXRpb24sdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LmFYPXRoaXMuYVgsdC5hWT10aGlzLmFZLHQueFJhZGl1cz10aGlzLnhSYWRpdXMsdC55UmFkaXVzPXRoaXMueVJhZGl1cyx0LmFTdGFydEFuZ2xlPXRoaXMuYVN0YXJ0QW5nbGUsdC5hRW5kQW5nbGU9dGhpcy5hRW5kQW5nbGUsdC5hQ2xvY2t3aXNlPXRoaXMuYUNsb2Nrd2lzZSx0LmFSb3RhdGlvbj10aGlzLmFSb3RhdGlvbix0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLmFYPXQuYVgsdGhpcy5hWT10LmFZLHRoaXMueFJhZGl1cz10LnhSYWRpdXMsdGhpcy55UmFkaXVzPXQueVJhZGl1cyx0aGlzLmFTdGFydEFuZ2xlPXQuYVN0YXJ0QW5nbGUsdGhpcy5hRW5kQW5nbGU9dC5hRW5kQW5nbGUsdGhpcy5hQ2xvY2t3aXNlPXQuYUNsb2Nrd2lzZSx0aGlzLmFSb3RhdGlvbj10LmFSb3RhdGlvbix0aGlzfX1DdGUucHJvdG90eXBlLmlzRWxsaXBzZUN1cnZlPSEwO2NsYXNzIEF0ZSBleHRlbmRzIEN0ZXtjb25zdHJ1Y3Rvcih0LGUsbixpLHIsbyl7c3VwZXIodCxlLG4sbixpLHIsbyksdGhpcy50eXBlPSJBcmNDdXJ2ZSJ9fWZ1bmN0aW9uIGt0ZSgpe2xldCB0PTAsZT0wLG49MCxpPTA7ZnVuY3Rpb24gcihyLG8sYSxzKXt0PXIsZT1hLG49LTMqciszKm8tMiphLXMsaT0yKnItMipvK2Erc31yZXR1cm57aW5pdENhdG11bGxSb206ZnVuY3Rpb24odCxlLG4saSxvKXtyKGUsbixvKihuLXQpLG8qKGktZSkpfSxpbml0Tm9udW5pZm9ybUNhdG11bGxSb206ZnVuY3Rpb24odCxlLG4saSxvLGEscyl7bGV0IGw9KGUtdCkvby0obi10KS8obythKSsobi1lKS9hLGM9KG4tZSkvYS0oaS1lKS8oYStzKSsoaS1uKS9zO2wqPWEsYyo9YSxyKGUsbixsLGMpfSxjYWxjOmZ1bmN0aW9uKHIpe2NvbnN0IG89cipyO3JldHVybiB0K2UqcituKm8raSoobypyKX19fUF0ZS5wcm90b3R5cGUuaXNBcmNDdXJ2ZT0hMDtjb25zdCBMdGU9bmV3IEg1dCxQdGU9bmV3IGt0ZSxOdGU9bmV3IGt0ZSxJdGU9bmV3IGt0ZTtjbGFzcyBSdGUgZXh0ZW5kcyBUdGV7Y29uc3RydWN0b3IodD1bXSxlPSExLG49ImNlbnRyaXBldGFsIixpPS41KXtzdXBlcigpLHRoaXMudHlwZT0iQ2F0bXVsbFJvbUN1cnZlMyIsdGhpcy5wb2ludHM9dCx0aGlzLmNsb3NlZD1lLHRoaXMuY3VydmVUeXBlPW4sdGhpcy50ZW5zaW9uPWl9Z2V0UG9pbnQodCxlPW5ldyBINXQpe2NvbnN0IG49ZSxpPXRoaXMucG9pbnRzLHI9aS5sZW5ndGgsbz0oci0odGhpcy5jbG9zZWQ/MDoxKSkqdDtsZXQgYSxzLGw9TWF0aC5mbG9vcihvKSxjPW8tbDt0aGlzLmNsb3NlZD9sKz1sPjA/MDooTWF0aC5mbG9vcihNYXRoLmFicyhsKS9yKSsxKSpyOjA9PT1jJiZsPT09ci0xJiYobD1yLTIsYz0xKSx0aGlzLmNsb3NlZHx8bD4wP2E9aVsobC0xKSVyXTooTHRlLnN1YlZlY3RvcnMoaVswXSxpWzFdKS5hZGQoaVswXSksYT1MdGUpO2NvbnN0IHU9aVtsJXJdLGg9aVsobCsxKSVyXTtpZih0aGlzLmNsb3NlZHx8bCsyPHI/cz1pWyhsKzIpJXJdOihMdGUuc3ViVmVjdG9ycyhpW3ItMV0saVtyLTJdKS5hZGQoaVtyLTFdKSxzPUx0ZSksImNlbnRyaXBldGFsIj09PXRoaXMuY3VydmVUeXBlfHwiY2hvcmRhbCI9PT10aGlzLmN1cnZlVHlwZSl7Y29uc3QgdD0iY2hvcmRhbCI9PT10aGlzLmN1cnZlVHlwZT8uNTouMjU7bGV0IGU9TWF0aC5wb3coYS5kaXN0YW5jZVRvU3F1YXJlZCh1KSx0KSxuPU1hdGgucG93KHUuZGlzdGFuY2VUb1NxdWFyZWQoaCksdCksaT1NYXRoLnBvdyhoLmRpc3RhbmNlVG9TcXVhcmVkKHMpLHQpO248MWUtNCYmKG49MSksZTwxZS00JiYoZT1uKSxpPDFlLTQmJihpPW4pLFB0ZS5pbml0Tm9udW5pZm9ybUNhdG11bGxSb20oYS54LHUueCxoLngscy54LGUsbixpKSxOdGUuaW5pdE5vbnVuaWZvcm1DYXRtdWxsUm9tKGEueSx1LnksaC55LHMueSxlLG4saSksSXRlLmluaXROb251bmlmb3JtQ2F0bXVsbFJvbShhLnosdS56LGgueixzLnosZSxuLGkpfWVsc2UiY2F0bXVsbHJvbSI9PT10aGlzLmN1cnZlVHlwZSYmKFB0ZS5pbml0Q2F0bXVsbFJvbShhLngsdS54LGgueCxzLngsdGhpcy50ZW5zaW9uKSxOdGUuaW5pdENhdG11bGxSb20oYS55LHUueSxoLnkscy55LHRoaXMudGVuc2lvbiksSXRlLmluaXRDYXRtdWxsUm9tKGEueix1LnosaC56LHMueix0aGlzLnRlbnNpb24pKTtyZXR1cm4gbi5zZXQoUHRlLmNhbGMoYyksTnRlLmNhbGMoYyksSXRlLmNhbGMoYykpLG59Y29weSh0KXtzdXBlci5jb3B5KHQpLHRoaXMucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dC5wb2ludHMubGVuZ3RoO2U8bjtlKyspe3RoaXMucG9pbnRzLnB1c2godC5wb2ludHNbZV0uY2xvbmUoKSl9cmV0dXJuIHRoaXMuY2xvc2VkPXQuY2xvc2VkLHRoaXMuY3VydmVUeXBlPXQuY3VydmVUeXBlLHRoaXMudGVuc2lvbj10LnRlbnNpb24sdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3QucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dGhpcy5wb2ludHMubGVuZ3RoO2U8bjtlKyspe3QucG9pbnRzLnB1c2godGhpcy5wb2ludHNbZV0udG9BcnJheSgpKX1yZXR1cm4gdC5jbG9zZWQ9dGhpcy5jbG9zZWQsdC5jdXJ2ZVR5cGU9dGhpcy5jdXJ2ZVR5cGUsdC50ZW5zaW9uPXRoaXMudGVuc2lvbix0fWZyb21KU09OKHQpe3N1cGVyLmZyb21KU09OKHQpLHRoaXMucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dC5wb2ludHMubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dC5wb2ludHNbZV07dGhpcy5wb2ludHMucHVzaCgobmV3IEg1dCkuZnJvbUFycmF5KG4pKX1yZXR1cm4gdGhpcy5jbG9zZWQ9dC5jbG9zZWQsdGhpcy5jdXJ2ZVR5cGU9dC5jdXJ2ZVR5cGUsdGhpcy50ZW5zaW9uPXQudGVuc2lvbix0aGlzfX1mdW5jdGlvbiBPdGUodCxlLG4saSxyKXtjb25zdCBvPS41KihpLWUpLGE9LjUqKHItbikscz10KnQ7cmV0dXJuKDIqbi0yKmkrbythKSoodCpzKSsoLTMqbiszKmktMipvLWEpKnMrbyp0K259ZnVuY3Rpb24genRlKHQsZSxuLGkpe3JldHVybihmdW5jdGlvbiByKHQsZSl7Y29uc3Qgbj0xLXQ7cmV0dXJuIG4qbiplfSkodCxlKSsoZnVuY3Rpb24gbyh0LGUpe3JldHVybiAyKigxLXQpKnQqZX0pKHQsbikrKGZ1bmN0aW9uIGEodCxlKXtyZXR1cm4gdCp0KmV9KSh0LGkpfWZ1bmN0aW9uIER0ZSh0LGUsbixpLHIpe3JldHVybihmdW5jdGlvbiBvKHQsZSl7Y29uc3Qgbj0xLXQ7cmV0dXJuIG4qbipuKmV9KSh0LGUpKyhmdW5jdGlvbiBhKHQsZSl7Y29uc3Qgbj0xLXQ7cmV0dXJuIDMqbipuKnQqZX0pKHQsbikrKGZ1bmN0aW9uIHModCxlKXtyZXR1cm4gMyooMS10KSp0KnQqZX0pKHQsaSkrKGZ1bmN0aW9uIGwodCxlKXtyZXR1cm4gdCp0KnQqZX0pKHQscil9UnRlLnByb3RvdHlwZS5pc0NhdG11bGxSb21DdXJ2ZTM9ITA7Y2xhc3MgQnRlIGV4dGVuZHMgVHRle2NvbnN0cnVjdG9yKHQ9bmV3IEM1dCxlPW5ldyBDNXQsbj1uZXcgQzV0LGk9bmV3IEM1dCl7c3VwZXIoKSx0aGlzLnR5cGU9IkN1YmljQmV6aWVyQ3VydmUiLHRoaXMudjA9dCx0aGlzLnYxPWUsdGhpcy52Mj1uLHRoaXMudjM9aX1nZXRQb2ludCh0LGU9bmV3IEM1dCl7Y29uc3Qgbj1lLGk9dGhpcy52MCxyPXRoaXMudjEsbz10aGlzLnYyLGE9dGhpcy52MztyZXR1cm4gbi5zZXQoRHRlKHQsaS54LHIueCxvLngsYS54KSxEdGUodCxpLnksci55LG8ueSxhLnkpKSxufWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy52MC5jb3B5KHQudjApLHRoaXMudjEuY29weSh0LnYxKSx0aGlzLnYyLmNvcHkodC52MiksdGhpcy52My5jb3B5KHQudjMpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC52MD10aGlzLnYwLnRvQXJyYXkoKSx0LnYxPXRoaXMudjEudG9BcnJheSgpLHQudjI9dGhpcy52Mi50b0FycmF5KCksdC52Mz10aGlzLnYzLnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLnYwLmZyb21BcnJheSh0LnYwKSx0aGlzLnYxLmZyb21BcnJheSh0LnYxKSx0aGlzLnYyLmZyb21BcnJheSh0LnYyKSx0aGlzLnYzLmZyb21BcnJheSh0LnYzKSx0aGlzfX1CdGUucHJvdG90eXBlLmlzQ3ViaWNCZXppZXJDdXJ2ZT0hMDtjbGFzcyBIdGUgZXh0ZW5kcyBUdGV7Y29uc3RydWN0b3IodD1uZXcgSDV0LGU9bmV3IEg1dCxuPW5ldyBINXQsaT1uZXcgSDV0KXtzdXBlcigpLHRoaXMudHlwZT0iQ3ViaWNCZXppZXJDdXJ2ZTMiLHRoaXMudjA9dCx0aGlzLnYxPWUsdGhpcy52Mj1uLHRoaXMudjM9aX1nZXRQb2ludCh0LGU9bmV3IEg1dCl7Y29uc3Qgbj1lLGk9dGhpcy52MCxyPXRoaXMudjEsbz10aGlzLnYyLGE9dGhpcy52MztyZXR1cm4gbi5zZXQoRHRlKHQsaS54LHIueCxvLngsYS54KSxEdGUodCxpLnksci55LG8ueSxhLnkpLER0ZSh0LGkueixyLnosby56LGEueikpLG59Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLnYwLmNvcHkodC52MCksdGhpcy52MS5jb3B5KHQudjEpLHRoaXMudjIuY29weSh0LnYyKSx0aGlzLnYzLmNvcHkodC52MyksdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LnYwPXRoaXMudjAudG9BcnJheSgpLHQudjE9dGhpcy52MS50b0FycmF5KCksdC52Mj10aGlzLnYyLnRvQXJyYXkoKSx0LnYzPXRoaXMudjMudG9BcnJheSgpLHR9ZnJvbUpTT04odCl7cmV0dXJuIHN1cGVyLmZyb21KU09OKHQpLHRoaXMudjAuZnJvbUFycmF5KHQudjApLHRoaXMudjEuZnJvbUFycmF5KHQudjEpLHRoaXMudjIuZnJvbUFycmF5KHQudjIpLHRoaXMudjMuZnJvbUFycmF5KHQudjMpLHRoaXN9fUh0ZS5wcm90b3R5cGUuaXNDdWJpY0JlemllckN1cnZlMz0hMDtjbGFzcyBGdGUgZXh0ZW5kcyBUdGV7Y29uc3RydWN0b3IodD1uZXcgQzV0LGU9bmV3IEM1dCl7c3VwZXIoKSx0aGlzLnR5cGU9IkxpbmVDdXJ2ZSIsdGhpcy52MT10LHRoaXMudjI9ZX1nZXRQb2ludCh0LGU9bmV3IEM1dCl7Y29uc3Qgbj1lO3JldHVybiAxPT09dD9uLmNvcHkodGhpcy52Mik6KG4uY29weSh0aGlzLnYyKS5zdWIodGhpcy52MSksbi5tdWx0aXBseVNjYWxhcih0KS5hZGQodGhpcy52MSkpLG59Z2V0UG9pbnRBdCh0LGUpe3JldHVybiB0aGlzLmdldFBvaW50KHQsZSl9Z2V0VGFuZ2VudCh0LGUpe2NvbnN0IG49ZXx8bmV3IEM1dDtyZXR1cm4gbi5jb3B5KHRoaXMudjIpLnN1Yih0aGlzLnYxKS5ub3JtYWxpemUoKSxufWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy52MS5jb3B5KHQudjEpLHRoaXMudjIuY29weSh0LnYyKSx0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7cmV0dXJuIHQudjE9dGhpcy52MS50b0FycmF5KCksdC52Mj10aGlzLnYyLnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLnYxLmZyb21BcnJheSh0LnYxKSx0aGlzLnYyLmZyb21BcnJheSh0LnYyKSx0aGlzfX1GdGUucHJvdG90eXBlLmlzTGluZUN1cnZlPSEwO2NsYXNzIFZ0ZSBleHRlbmRzIFR0ZXtjb25zdHJ1Y3Rvcih0PW5ldyBINXQsZT1uZXcgSDV0KXtzdXBlcigpLHRoaXMudHlwZT0iTGluZUN1cnZlMyIsdGhpcy5pc0xpbmVDdXJ2ZTM9ITAsdGhpcy52MT10LHRoaXMudjI9ZX1nZXRQb2ludCh0LGU9bmV3IEg1dCl7Y29uc3Qgbj1lO3JldHVybiAxPT09dD9uLmNvcHkodGhpcy52Mik6KG4uY29weSh0aGlzLnYyKS5zdWIodGhpcy52MSksbi5tdWx0aXBseVNjYWxhcih0KS5hZGQodGhpcy52MSkpLG59Z2V0UG9pbnRBdCh0LGUpe3JldHVybiB0aGlzLmdldFBvaW50KHQsZSl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLnYxLmNvcHkodC52MSksdGhpcy52Mi5jb3B5KHQudjIpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC52MT10aGlzLnYxLnRvQXJyYXkoKSx0LnYyPXRoaXMudjIudG9BcnJheSgpLHR9ZnJvbUpTT04odCl7cmV0dXJuIHN1cGVyLmZyb21KU09OKHQpLHRoaXMudjEuZnJvbUFycmF5KHQudjEpLHRoaXMudjIuZnJvbUFycmF5KHQudjIpLHRoaXN9fWNsYXNzIFV0ZSBleHRlbmRzIFR0ZXtjb25zdHJ1Y3Rvcih0PW5ldyBDNXQsZT1uZXcgQzV0LG49bmV3IEM1dCl7c3VwZXIoKSx0aGlzLnR5cGU9IlF1YWRyYXRpY0JlemllckN1cnZlIix0aGlzLnYwPXQsdGhpcy52MT1lLHRoaXMudjI9bn1nZXRQb2ludCh0LGU9bmV3IEM1dCl7Y29uc3Qgbj1lLGk9dGhpcy52MCxyPXRoaXMudjEsbz10aGlzLnYyO3JldHVybiBuLnNldCh6dGUodCxpLngsci54LG8ueCksenRlKHQsaS55LHIueSxvLnkpKSxufWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy52MC5jb3B5KHQudjApLHRoaXMudjEuY29weSh0LnYxKSx0aGlzLnYyLmNvcHkodC52MiksdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LnYwPXRoaXMudjAudG9BcnJheSgpLHQudjE9dGhpcy52MS50b0FycmF5KCksdC52Mj10aGlzLnYyLnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLnYwLmZyb21BcnJheSh0LnYwKSx0aGlzLnYxLmZyb21BcnJheSh0LnYxKSx0aGlzLnYyLmZyb21BcnJheSh0LnYyKSx0aGlzfX1VdGUucHJvdG90eXBlLmlzUXVhZHJhdGljQmV6aWVyQ3VydmU9ITA7Y2xhc3MganRlIGV4dGVuZHMgVHRle2NvbnN0cnVjdG9yKHQ9bmV3IEg1dCxlPW5ldyBINXQsbj1uZXcgSDV0KXtzdXBlcigpLHRoaXMudHlwZT0iUXVhZHJhdGljQmV6aWVyQ3VydmUzIix0aGlzLnYwPXQsdGhpcy52MT1lLHRoaXMudjI9bn1nZXRQb2ludCh0LGU9bmV3IEg1dCl7Y29uc3Qgbj1lLGk9dGhpcy52MCxyPXRoaXMudjEsbz10aGlzLnYyO3JldHVybiBuLnNldCh6dGUodCxpLngsci54LG8ueCksenRlKHQsaS55LHIueSxvLnkpLHp0ZSh0LGkueixyLnosby56KSksbn1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMudjAuY29weSh0LnYwKSx0aGlzLnYxLmNvcHkodC52MSksdGhpcy52Mi5jb3B5KHQudjIpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC52MD10aGlzLnYwLnRvQXJyYXkoKSx0LnYxPXRoaXMudjEudG9BcnJheSgpLHQudjI9dGhpcy52Mi50b0FycmF5KCksdH1mcm9tSlNPTih0KXtyZXR1cm4gc3VwZXIuZnJvbUpTT04odCksdGhpcy52MC5mcm9tQXJyYXkodC52MCksdGhpcy52MS5mcm9tQXJyYXkodC52MSksdGhpcy52Mi5mcm9tQXJyYXkodC52MiksdGhpc319anRlLnByb3RvdHlwZS5pc1F1YWRyYXRpY0JlemllckN1cnZlMz0hMDtjbGFzcyBHdGUgZXh0ZW5kcyBUdGV7Y29uc3RydWN0b3IodD1bXSl7c3VwZXIoKSx0aGlzLnR5cGU9IlNwbGluZUN1cnZlIix0aGlzLnBvaW50cz10fWdldFBvaW50KHQsZT1uZXcgQzV0KXtjb25zdCBuPWUsaT10aGlzLnBvaW50cyxyPShpLmxlbmd0aC0xKSp0LG89TWF0aC5mbG9vcihyKSxhPXItbyxzPWlbMD09PW8/bzpvLTFdLGw9aVtvXSxjPWlbbz5pLmxlbmd0aC0yP2kubGVuZ3RoLTE6bysxXSx1PWlbbz5pLmxlbmd0aC0zP2kubGVuZ3RoLTE6bysyXTtyZXR1cm4gbi5zZXQoT3RlKGEscy54LGwueCxjLngsdS54KSxPdGUoYSxzLnksbC55LGMueSx1LnkpKSxufWNvcHkodCl7c3VwZXIuY29weSh0KSx0aGlzLnBvaW50cz1bXTtmb3IobGV0IGU9MCxuPXQucG9pbnRzLmxlbmd0aDtlPG47ZSsrKXt0aGlzLnBvaW50cy5wdXNoKHQucG9pbnRzW2VdLmNsb25lKCkpfXJldHVybiB0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7dC5wb2ludHM9W107Zm9yKGxldCBlPTAsbj10aGlzLnBvaW50cy5sZW5ndGg7ZTxuO2UrKyl7dC5wb2ludHMucHVzaCh0aGlzLnBvaW50c1tlXS50b0FycmF5KCkpfXJldHVybiB0fWZyb21KU09OKHQpe3N1cGVyLmZyb21KU09OKHQpLHRoaXMucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dC5wb2ludHMubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dC5wb2ludHNbZV07dGhpcy5wb2ludHMucHVzaCgobmV3IEM1dCkuZnJvbUFycmF5KG4pKX1yZXR1cm4gdGhpc319R3RlLnByb3RvdHlwZS5pc1NwbGluZUN1cnZlPSEwO3ZhciBXdGU9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsQXJjQ3VydmU6QXRlLENhdG11bGxSb21DdXJ2ZTM6UnRlLEN1YmljQmV6aWVyQ3VydmU6QnRlLEN1YmljQmV6aWVyQ3VydmUzOkh0ZSxFbGxpcHNlQ3VydmU6Q3RlLExpbmVDdXJ2ZTpGdGUsTGluZUN1cnZlMzpWdGUsUXVhZHJhdGljQmV6aWVyQ3VydmU6VXRlLFF1YWRyYXRpY0JlemllckN1cnZlMzpqdGUsU3BsaW5lQ3VydmU6R3RlfSk7Y29uc3QgcXRlPWZ1bmN0aW9uKHQsZSxuPTIpe2NvbnN0IGk9ZSYmZS5sZW5ndGgscj1pP2VbMF0qbjp0Lmxlbmd0aDtsZXQgbz1ZdGUodCwwLHIsbiwhMCk7Y29uc3QgYT1bXTtpZighb3x8by5uZXh0PT09by5wcmV2KXJldHVybiBhO2xldCBzLGwsYyx1LGgsZCxwO2lmKGkmJihvPShmdW5jdGlvbiBmKHQsZSxuLGkpe2NvbnN0IHI9W107bGV0IG8sYSxzLGwsYztmb3Iobz0wLGE9ZS5sZW5ndGg7bzxhO28rKylzPWVbb10qaSxsPW88YS0xP2VbbysxXSppOnQubGVuZ3RoLGM9WXRlKHQscyxsLGksITEpLGM9PT1jLm5leHQmJihjLnN0ZWluZXI9ITApLHIucHVzaChyZWUoYykpO2ZvcihyLnNvcnQodGVlKSxvPTA7bzxyLmxlbmd0aDtvKyspZWVlKHJbb10sbiksbj1YdGUobixuLm5leHQpO3JldHVybiBufSkodCxlLG8sbikpLHQubGVuZ3RoPjgwKm4pe3M9Yz10WzBdLGw9dT10WzFdO2ZvcihsZXQgZT1uO2U8cjtlKz1uKWg9dFtlXSxkPXRbZSsxXSxoPHMmJihzPWgpLGQ8bCYmKGw9ZCksaD5jJiYoYz1oKSxkPnUmJih1PWQpO3A9TWF0aC5tYXgoYy1zLHUtbCkscD0wIT09cD8xL3A6MH1yZXR1cm4gJHRlKG8sYSxuLHMsbCxwKSxhfTtmdW5jdGlvbiBZdGUodCxlLG4saSxyKXtsZXQgbyxhO2lmKHI9PT0oZnVuY3Rpb24gcyh0LGUsbixpKXtsZXQgcj0wO2ZvcihsZXQgbz1lLGE9bi1pO288bjtvKz1pKXIrPSh0W2FdLXRbb10pKih0W28rMV0rdFthKzFdKSxhPW87cmV0dXJuIHJ9KSh0LGUsbixpKT4wKWZvcihvPWU7bzxuO28rPWkpYT1mZWUobyx0W29dLHRbbysxXSxhKTtlbHNlIGZvcihvPW4taTtvPj1lO28tPWkpYT1mZWUobyx0W29dLHRbbysxXSxhKTtyZXR1cm4gYSYmbGVlKGEsYS5uZXh0KSYmKG1lZShhKSxhPWEubmV4dCksYX1mdW5jdGlvbiBYdGUodCxlKXtpZighdClyZXR1cm4gdDtlfHwoZT10KTtsZXQgbixpPXQ7ZG97aWYobj0hMSxpLnN0ZWluZXJ8fCFsZWUoaSxpLm5leHQpJiYwIT09c2VlKGkucHJldixpLGkubmV4dCkpaT1pLm5leHQ7ZWxzZXtpZihtZWUoaSksaT1lPWkucHJldixpPT09aS5uZXh0KWJyZWFrO249ITB9fXdoaWxlKG58fGkhPT1lKTtyZXR1cm4gZX1mdW5jdGlvbiAkdGUodCxlLG4saSxyLG8sYSl7aWYoIXQpcmV0dXJuOyFhJiZvJiYoZnVuY3Rpb24gcyh0LGUsbixpKXtsZXQgcj10O2Rve251bGw9PT1yLnomJihyLno9aWVlKHIueCxyLnksZSxuLGkpKSxyLnByZXZaPXIucHJldixyLm5leHRaPXIubmV4dCxyPXIubmV4dH13aGlsZShyIT09dCk7ci5wcmV2Wi5uZXh0Wj1udWxsLHIucHJldlo9bnVsbCwoZnVuY3Rpb24gbyh0KXtsZXQgZSxuLGkscixvLGEscyxsLGM9MTtkb3tmb3Iobj10LHQ9bnVsbCxvPW51bGwsYT0wO247KXtmb3IoYSsrLGk9bixzPTAsZT0wO2U8YyYmKHMrKyxpPWkubmV4dFosaSk7ZSsrKTtmb3IobD1jO3M+MHx8bD4wJiZpOykwIT09cyYmKDA9PT1sfHwhaXx8bi56PD1pLnopPyhyPW4sbj1uLm5leHRaLHMtLSk6KHI9aSxpPWkubmV4dFosbC0tKSxvP28ubmV4dFo9cjp0PXIsci5wcmV2Wj1vLG89cjtuPWl9by5uZXh0Wj1udWxsLGMqPTJ9d2hpbGUoYT4xKTtyZXR1cm4gdH0pKHIpfSkodCxpLHIsbyk7bGV0IGwsYyx1PXQ7Zm9yKDt0LnByZXYhPT10Lm5leHQ7KWlmKGw9dC5wcmV2LGM9dC5uZXh0LG8/WnRlKHQsaSxyLG8pOkt0ZSh0KSllLnB1c2gobC5pL24pLGUucHVzaCh0LmkvbiksZS5wdXNoKGMuaS9uKSxtZWUodCksdD1jLm5leHQsdT1jLm5leHQ7ZWxzZSBpZigodD1jKT09PXUpe2E/MT09PWE/JHRlKHQ9SnRlKFh0ZSh0KSxlLG4pLGUsbixpLHIsbywyKToyPT09YSYmUXRlKHQsZSxuLGkscixvKTokdGUoWHRlKHQpLGUsbixpLHIsbywxKTticmVha319ZnVuY3Rpb24gS3RlKHQpe2NvbnN0IGU9dC5wcmV2LG49dCxpPXQubmV4dDtpZihzZWUoZSxuLGkpPj0wKXJldHVybiExO2xldCByPXQubmV4dC5uZXh0O2Zvcig7ciE9PXQucHJldjspe2lmKG9lZShlLngsZS55LG4ueCxuLnksaS54LGkueSxyLngsci55KSYmc2VlKHIucHJldixyLHIubmV4dCk+PTApcmV0dXJuITE7cj1yLm5leHR9cmV0dXJuITB9ZnVuY3Rpb24gWnRlKHQsZSxuLGkpe2NvbnN0IHI9dC5wcmV2LG89dCxhPXQubmV4dDtpZihzZWUocixvLGEpPj0wKXJldHVybiExO2NvbnN0IHM9ci54Pm8ueD9yLng+YS54P3IueDphLng6by54PmEueD9vLng6YS54LGw9ci55Pm8ueT9yLnk+YS55P3IueTphLnk6by55PmEueT9vLnk6YS55LGM9aWVlKHIueDxvLng/ci54PGEueD9yLng6YS54Om8ueDxhLng/by54OmEueCxyLnk8by55P3IueTxhLnk/ci55OmEueTpvLnk8YS55P28ueTphLnksZSxuLGkpLHU9aWVlKHMsbCxlLG4saSk7bGV0IGg9dC5wcmV2WixkPXQubmV4dFo7Zm9yKDtoJiZoLno+PWMmJmQmJmQuejw9dTspe2lmKGghPT10LnByZXYmJmghPT10Lm5leHQmJm9lZShyLngsci55LG8ueCxvLnksYS54LGEueSxoLngsaC55KSYmc2VlKGgucHJldixoLGgubmV4dCk+PTApcmV0dXJuITE7aWYoaD1oLnByZXZaLGQhPT10LnByZXYmJmQhPT10Lm5leHQmJm9lZShyLngsci55LG8ueCxvLnksYS54LGEueSxkLngsZC55KSYmc2VlKGQucHJldixkLGQubmV4dCk+PTApcmV0dXJuITE7ZD1kLm5leHRafWZvcig7aCYmaC56Pj1jOyl7aWYoaCE9PXQucHJldiYmaCE9PXQubmV4dCYmb2VlKHIueCxyLnksby54LG8ueSxhLngsYS55LGgueCxoLnkpJiZzZWUoaC5wcmV2LGgsaC5uZXh0KT49MClyZXR1cm4hMTtoPWgucHJldlp9Zm9yKDtkJiZkLno8PXU7KXtpZihkIT09dC5wcmV2JiZkIT09dC5uZXh0JiZvZWUoci54LHIueSxvLngsby55LGEueCxhLnksZC54LGQueSkmJnNlZShkLnByZXYsZCxkLm5leHQpPj0wKXJldHVybiExO2Q9ZC5uZXh0Wn1yZXR1cm4hMH1mdW5jdGlvbiBKdGUodCxlLG4pe2xldCBpPXQ7ZG97Y29uc3Qgcj1pLnByZXYsbz1pLm5leHQubmV4dDshbGVlKHIsbykmJmNlZShyLGksaS5uZXh0LG8pJiZkZWUocixvKSYmZGVlKG8scikmJihlLnB1c2goci5pL24pLGUucHVzaChpLmkvbiksZS5wdXNoKG8uaS9uKSxtZWUoaSksbWVlKGkubmV4dCksaT10PW8pLGk9aS5uZXh0fXdoaWxlKGkhPT10KTtyZXR1cm4gWHRlKGkpfWZ1bmN0aW9uIFF0ZSh0LGUsbixpLHIsbyl7bGV0IGE9dDtkb3tsZXQgdD1hLm5leHQubmV4dDtmb3IoO3QhPT1hLnByZXY7KXtpZihhLmkhPT10LmkmJmFlZShhLHQpKXtsZXQgcz1wZWUoYSx0KTtyZXR1cm4gYT1YdGUoYSxhLm5leHQpLHM9WHRlKHMscy5uZXh0KSwkdGUoYSxlLG4saSxyLG8pLHZvaWQgJHRlKHMsZSxuLGkscixvKX10PXQubmV4dH1hPWEubmV4dH13aGlsZShhIT09dCl9ZnVuY3Rpb24gdGVlKHQsZSl7cmV0dXJuIHQueC1lLnh9ZnVuY3Rpb24gZWVlKHQsZSl7aWYoZT0oZnVuY3Rpb24gbih0LGUpe2xldCBuPWU7Y29uc3QgaT10Lngscj10Lnk7bGV0IG8sYT0tMS8wO2Rve2lmKHI8PW4ueSYmcj49bi5uZXh0LnkmJm4ubmV4dC55IT09bi55KXtjb25zdCB0PW4ueCsoci1uLnkpKihuLm5leHQueC1uLngpLyhuLm5leHQueS1uLnkpO2lmKHQ8PWkmJnQ+YSl7aWYoYT10LHQ9PT1pKXtpZihyPT09bi55KXJldHVybiBuO2lmKHI9PT1uLm5leHQueSlyZXR1cm4gbi5uZXh0fW89bi54PG4ubmV4dC54P246bi5uZXh0fX1uPW4ubmV4dH13aGlsZShuIT09ZSk7aWYoIW8pcmV0dXJuIG51bGw7aWYoaT09PWEpcmV0dXJuIG87Y29uc3Qgcz1vLGw9by54LGM9by55O2xldCB1LGg9MS8wO249bztkb3tpPj1uLngmJm4ueD49bCYmaSE9PW4ueCYmb2VlKHI8Yz9pOmEscixsLGMscjxjP2E6aSxyLG4ueCxuLnkpJiYodT1NYXRoLmFicyhyLW4ueSkvKGktbi54KSxkZWUobix0KSYmKHU8aHx8dT09PWgmJihuLng+by54fHxuLng9PT1vLngmJm5lZShvLG4pKSkmJihvPW4saD11KSksbj1uLm5leHR9d2hpbGUobiE9PXMpO3JldHVybiBvfSkodCxlKSl7Y29uc3Qgbj1wZWUoZSx0KTtYdGUoZSxlLm5leHQpLFh0ZShuLG4ubmV4dCl9fWZ1bmN0aW9uIG5lZSh0LGUpe3JldHVybiBzZWUodC5wcmV2LHQsZS5wcmV2KTwwJiZzZWUoZS5uZXh0LHQsdC5uZXh0KTwwfWZ1bmN0aW9uIGllZSh0LGUsbixpLHIpe3JldHVybih0PTE0MzE2NTU3NjUmKCh0PTg1ODk5MzQ1OSYoKHQ9MjUyNjQ1MTM1JigodD0xNjcxMTkzNSYoKHQ9MzI3NjcqKHQtbikqcil8dDw8OCkpfHQ8PDQpKXx0PDwyKSl8dDw8MSkpfChlPTE0MzE2NTU3NjUmKChlPTg1ODk5MzQ1OSYoKGU9MjUyNjQ1MTM1JigoZT0xNjcxMTkzNSYoKGU9MzI3NjcqKGUtaSkqcil8ZTw8OCkpfGU8PDQpKXxlPDwyKSl8ZTw8MSkpPDwxfWZ1bmN0aW9uIHJlZSh0KXtsZXQgZT10LG49dDtkb3soZS54PG4ueHx8ZS54PT09bi54JiZlLnk8bi55KSYmKG49ZSksZT1lLm5leHR9d2hpbGUoZSE9PXQpO3JldHVybiBufWZ1bmN0aW9uIG9lZSh0LGUsbixpLHIsbyxhLHMpe3JldHVybihyLWEpKihlLXMpLSh0LWEpKihvLXMpPj0wJiYodC1hKSooaS1zKS0obi1hKSooZS1zKT49MCYmKG4tYSkqKG8tcyktKHItYSkqKGktcyk+PTB9ZnVuY3Rpb24gYWVlKHQsZSl7cmV0dXJuIHQubmV4dC5pIT09ZS5pJiZ0LnByZXYuaSE9PWUuaSYmIShmdW5jdGlvbiBuKHQsZSl7bGV0IG49dDtkb3tpZihuLmkhPT10LmkmJm4ubmV4dC5pIT09dC5pJiZuLmkhPT1lLmkmJm4ubmV4dC5pIT09ZS5pJiZjZWUobixuLm5leHQsdCxlKSlyZXR1cm4hMDtuPW4ubmV4dH13aGlsZShuIT09dCk7cmV0dXJuITF9KSh0LGUpJiYoZGVlKHQsZSkmJmRlZShlLHQpJiYoZnVuY3Rpb24gaSh0LGUpe2xldCBuPXQsaT0hMTtjb25zdCByPSh0LngrZS54KS8yLG89KHQueStlLnkpLzI7ZG97bi55Pm8hPW4ubmV4dC55Pm8mJm4ubmV4dC55IT09bi55JiZyPChuLm5leHQueC1uLngpKihvLW4ueSkvKG4ubmV4dC55LW4ueSkrbi54JiYoaT0haSksbj1uLm5leHR9d2hpbGUobiE9PXQpO3JldHVybiBpfSkodCxlKSYmKHNlZSh0LnByZXYsdCxlLnByZXYpfHxzZWUodCxlLnByZXYsZSkpfHxsZWUodCxlKSYmc2VlKHQucHJldix0LHQubmV4dCk+MCYmc2VlKGUucHJldixlLGUubmV4dCk+MCl9ZnVuY3Rpb24gc2VlKHQsZSxuKXtyZXR1cm4oZS55LXQueSkqKG4ueC1lLngpLShlLngtdC54KSoobi55LWUueSl9ZnVuY3Rpb24gbGVlKHQsZSl7cmV0dXJuIHQueD09PWUueCYmdC55PT09ZS55fWZ1bmN0aW9uIGNlZSh0LGUsbixpKXtjb25zdCByPWhlZShzZWUodCxlLG4pKSxvPWhlZShzZWUodCxlLGkpKSxhPWhlZShzZWUobixpLHQpKSxzPWhlZShzZWUobixpLGUpKTtyZXR1cm4gciE9PW8mJmEhPT1zfHwoISgwIT09cnx8IXVlZSh0LG4sZSkpfHwoISgwIT09b3x8IXVlZSh0LGksZSkpfHwoISgwIT09YXx8IXVlZShuLHQsaSkpfHwhKDAhPT1zfHwhdWVlKG4sZSxpKSkpKSl9ZnVuY3Rpb24gdWVlKHQsZSxuKXtyZXR1cm4gZS54PD1NYXRoLm1heCh0Lngsbi54KSYmZS54Pj1NYXRoLm1pbih0Lngsbi54KSYmZS55PD1NYXRoLm1heCh0Lnksbi55KSYmZS55Pj1NYXRoLm1pbih0Lnksbi55KX1mdW5jdGlvbiBoZWUodCl7cmV0dXJuIHQ+MD8xOnQ8MD8tMTowfWZ1bmN0aW9uIGRlZSh0LGUpe3JldHVybiBzZWUodC5wcmV2LHQsdC5uZXh0KTwwP3NlZSh0LGUsdC5uZXh0KT49MCYmc2VlKHQsdC5wcmV2LGUpPj0wOnNlZSh0LGUsdC5wcmV2KTwwfHxzZWUodCx0Lm5leHQsZSk8MH1mdW5jdGlvbiBwZWUodCxlKXtjb25zdCBuPW5ldyBnZWUodC5pLHQueCx0LnkpLGk9bmV3IGdlZShlLmksZS54LGUueSkscj10Lm5leHQsbz1lLnByZXY7cmV0dXJuIHQubmV4dD1lLGUucHJldj10LG4ubmV4dD1yLHIucHJldj1uLGkubmV4dD1uLG4ucHJldj1pLG8ubmV4dD1pLGkucHJldj1vLGl9ZnVuY3Rpb24gZmVlKHQsZSxuLGkpe2NvbnN0IHI9bmV3IGdlZSh0LGUsbik7cmV0dXJuIGk/KHIubmV4dD1pLm5leHQsci5wcmV2PWksaS5uZXh0LnByZXY9cixpLm5leHQ9cik6KHIucHJldj1yLHIubmV4dD1yKSxyfWZ1bmN0aW9uIG1lZSh0KXt0Lm5leHQucHJldj10LnByZXYsdC5wcmV2Lm5leHQ9dC5uZXh0LHQucHJldlomJih0LnByZXZaLm5leHRaPXQubmV4dFopLHQubmV4dFomJih0Lm5leHRaLnByZXZaPXQucHJldlopfWZ1bmN0aW9uIGdlZSh0LGUsbil7dGhpcy5pPXQsdGhpcy54PWUsdGhpcy55PW4sdGhpcy5wcmV2PW51bGwsdGhpcy5uZXh0PW51bGwsdGhpcy56PW51bGwsdGhpcy5wcmV2Wj1udWxsLHRoaXMubmV4dFo9bnVsbCx0aGlzLnN0ZWluZXI9ITF9Y2xhc3MgX2Vle3N0YXRpYyBhcmVhKHQpe2NvbnN0IGU9dC5sZW5ndGg7bGV0IG49MDtmb3IobGV0IGk9ZS0xLHI9MDtyPGU7aT1yKyspbis9dFtpXS54KnRbcl0ueS10W3JdLngqdFtpXS55O3JldHVybi41Km59c3RhdGljIGlzQ2xvY2tXaXNlKHQpe3JldHVybiBfZWUuYXJlYSh0KTwwfXN0YXRpYyB0cmlhbmd1bGF0ZVNoYXBlKHQsZSl7Y29uc3Qgbj1bXSxpPVtdLHI9W107eWVlKHQpLHZlZShuLHQpO2xldCBvPXQubGVuZ3RoO2UuZm9yRWFjaCh5ZWUpO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWkucHVzaChvKSxvKz1lW3RdLmxlbmd0aCx2ZWUobixlW3RdKTtjb25zdCBhPXF0ZShuLGkpO2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7dCs9MylyLnB1c2goYS5zbGljZSh0LHQrMykpO3JldHVybiByfX1mdW5jdGlvbiB5ZWUodCl7Y29uc3QgZT10Lmxlbmd0aDtlPjImJnRbZS0xXS5lcXVhbHModFswXSkmJnQucG9wKCl9ZnVuY3Rpb24gdmVlKHQsZSl7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdC5wdXNoKGVbbl0ueCksdC5wdXNoKGVbbl0ueSl9Y2xhc3MgYmVlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLnR5cGU9IkV4dHJ1ZGVHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXtzaGFwZXM6dCxvcHRpb25zOmV9LHQ9QXJyYXkuaXNBcnJheSh0KT90Olt0XTtjb25zdCBuPXRoaXMsaT1bXSxyPVtdO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7byh0W2VdKX1mdW5jdGlvbiBvKHQpe2NvbnN0IG89W10sYT12b2lkIDAhPT1lLmN1cnZlU2VnbWVudHM/ZS5jdXJ2ZVNlZ21lbnRzOjEyLHM9dm9pZCAwIT09ZS5zdGVwcz9lLnN0ZXBzOjE7bGV0IGw9dm9pZCAwIT09ZS5kZXB0aD9lLmRlcHRoOjEwMCxjPXZvaWQgMD09PWUuYmV2ZWxFbmFibGVkfHxlLmJldmVsRW5hYmxlZCx1PXZvaWQgMCE9PWUuYmV2ZWxUaGlja25lc3M/ZS5iZXZlbFRoaWNrbmVzczo2LGg9dm9pZCAwIT09ZS5iZXZlbFNpemU/ZS5iZXZlbFNpemU6dS0yLGQ9dm9pZCAwIT09ZS5iZXZlbE9mZnNldD9lLmJldmVsT2Zmc2V0OjAscD12b2lkIDAhPT1lLmJldmVsU2VnbWVudHM/ZS5iZXZlbFNlZ21lbnRzOjM7Y29uc3QgZj1lLmV4dHJ1ZGVQYXRoLG09dm9pZCAwIT09ZS5VVkdlbmVyYXRvcj9lLlVWR2VuZXJhdG9yOnhlZTt2b2lkIDAhPT1lLmFtb3VudCYmKGNvbnNvbGUud2FybigiVEhSRUUuRXh0cnVkZUJ1ZmZlckdlb21ldHJ5OiBhbW91bnQgaGFzIGJlZW4gcmVuYW1lZCB0byBkZXB0aC4iKSxsPWUuYW1vdW50KTtsZXQgZyxfLHksdixiLHg9ITE7ZiYmKGc9Zi5nZXRTcGFjZWRQb2ludHMocykseD0hMCxjPSExLF89Zi5jb21wdXRlRnJlbmV0RnJhbWVzKHMsITEpLHk9bmV3IEg1dCx2PW5ldyBINXQsYj1uZXcgSDV0KSxjfHwocD0wLHU9MCxoPTAsZD0wKTtjb25zdCB3PXQuZXh0cmFjdFBvaW50cyhhKTtsZXQgUz13LnNoYXBlO2NvbnN0IE09dy5ob2xlcztpZighX2VlLmlzQ2xvY2tXaXNlKFMpKXtTPVMucmV2ZXJzZSgpO2ZvcihsZXQgdD0wLGU9TS5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1NW3RdO19lZS5pc0Nsb2NrV2lzZShlKSYmKE1bdF09ZS5yZXZlcnNlKCkpfX1jb25zdCBFPV9lZS50cmlhbmd1bGF0ZVNoYXBlKFMsTSksVD1TO2ZvcihsZXQgdD0wLGU9TS5sZW5ndGg7dDxlO3QrKyl7Uz1TLmNvbmNhdChNW3RdKX1mdW5jdGlvbiBDKHQsZSxuKXtyZXR1cm4gZXx8Y29uc29sZS5lcnJvcigiVEhSRUUuRXh0cnVkZUdlb21ldHJ5OiB2ZWMgZG9lcyBub3QgZXhpc3QiKSxlLmNsb25lKCkubXVsdGlwbHlTY2FsYXIobikuYWRkKHQpfWNvbnN0IEE9Uy5sZW5ndGgsaz1FLmxlbmd0aDtmdW5jdGlvbiBMKHQsZSxuKXtsZXQgaSxyLG87Y29uc3QgYT10LngtZS54LHM9dC55LWUueSxsPW4ueC10LngsYz1uLnktdC55LHU9YSphK3MqcztpZihNYXRoLmFicyhhKmMtcypsKT5OdW1iZXIuRVBTSUxPTil7Y29uc3QgaD1NYXRoLnNxcnQodSksZD1NYXRoLnNxcnQobCpsK2MqYykscD1lLngtcy9oLGY9ZS55K2EvaCxtPSgobi54LWMvZC1wKSpjLShuLnkrbC9kLWYpKmwpLyhhKmMtcypsKTtpPXArYSptLXQueCxyPWYrcyptLXQueTtjb25zdCBnPWkqaStyKnI7aWYoZzw9MilyZXR1cm4gbmV3IEM1dChpLHIpO289TWF0aC5zcXJ0KGcvMil9ZWxzZXtsZXQgdD0hMTthPk51bWJlci5FUFNJTE9OP2w+TnVtYmVyLkVQU0lMT04mJih0PSEwKTphPC1OdW1iZXIuRVBTSUxPTj9sPC1OdW1iZXIuRVBTSUxPTiYmKHQ9ITApOk1hdGguc2lnbihzKT09PU1hdGguc2lnbihjKSYmKHQ9ITApLHQ/KGk9LXMscj1hLG89TWF0aC5zcXJ0KHUpKTooaT1hLHI9cyxvPU1hdGguc3FydCh1LzIpKX1yZXR1cm4gbmV3IEM1dChpL28sci9vKX1jb25zdCBQPVtdO2ZvcihsZXQgdD0wLGU9VC5sZW5ndGgsbj1lLTEsaT10KzE7dDxlO3QrKyxuKyssaSsrKW49PT1lJiYobj0wKSxpPT09ZSYmKGk9MCksUFt0XT1MKFRbdF0sVFtuXSxUW2ldKTtjb25zdCBOPVtdO2xldCBJLFI9UC5jb25jYXQoKTtmb3IobGV0IHQ9MCxlPU0ubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9TVt0XTtJPVtdO2ZvcihsZXQgdD0wLG49ZS5sZW5ndGgsaT1uLTEscj10KzE7dDxuO3QrKyxpKysscisrKWk9PT1uJiYoaT0wKSxyPT09biYmKHI9MCksSVt0XT1MKGVbdF0sZVtpXSxlW3JdKTtOLnB1c2goSSksUj1SLmNvbmNhdChJKX1mb3IobGV0IHQ9MDt0PHA7dCsrKXtjb25zdCBlPXQvcCxuPXUqTWF0aC5jb3MoZSpNYXRoLlBJLzIpLGk9aCpNYXRoLnNpbihlKk1hdGguUEkvMikrZDtmb3IobGV0IHQ9MCxlPVQubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9QyhUW3RdLFBbdF0saSk7RChlLngsZS55LC1uKX1mb3IobGV0IHQ9MCxlPU0ubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9TVt0XTtJPU5bdF07Zm9yKGxldCB0PTAscj1lLmxlbmd0aDt0PHI7dCsrKXtjb25zdCByPUMoZVt0XSxJW3RdLGkpO0Qoci54LHIueSwtbil9fX1jb25zdCBPPWgrZDtmb3IobGV0IHQ9MDt0PEE7dCsrKXtjb25zdCBlPWM/QyhTW3RdLFJbdF0sTyk6U1t0XTt4Pyh2LmNvcHkoXy5ub3JtYWxzWzBdKS5tdWx0aXBseVNjYWxhcihlLngpLHkuY29weShfLmJpbm9ybWFsc1swXSkubXVsdGlwbHlTY2FsYXIoZS55KSxiLmNvcHkoZ1swXSkuYWRkKHYpLmFkZCh5KSxEKGIueCxiLnksYi56KSk6RChlLngsZS55LDApfWZvcihsZXQgdD0xO3Q8PXM7dCsrKWZvcihsZXQgZT0wO2U8QTtlKyspe2NvbnN0IG49Yz9DKFNbZV0sUltlXSxPKTpTW2VdO3g/KHYuY29weShfLm5vcm1hbHNbdF0pLm11bHRpcGx5U2NhbGFyKG4ueCkseS5jb3B5KF8uYmlub3JtYWxzW3RdKS5tdWx0aXBseVNjYWxhcihuLnkpLGIuY29weShnW3RdKS5hZGQodikuYWRkKHkpLEQoYi54LGIueSxiLnopKTpEKG4ueCxuLnksbC9zKnQpfWZvcihsZXQgdD1wLTE7dD49MDt0LS0pe2NvbnN0IGU9dC9wLG49dSpNYXRoLmNvcyhlKk1hdGguUEkvMiksaT1oKk1hdGguc2luKGUqTWF0aC5QSS8yKStkO2ZvcihsZXQgdD0wLGU9VC5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1DKFRbdF0sUFt0XSxpKTtEKGUueCxlLnksbCtuKX1mb3IobGV0IHQ9MCxlPU0ubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9TVt0XTtJPU5bdF07Zm9yKGxldCB0PTAscj1lLmxlbmd0aDt0PHI7dCsrKXtjb25zdCByPUMoZVt0XSxJW3RdLGkpO3g/RChyLngsci55K2dbcy0xXS55LGdbcy0xXS54K24pOkQoci54LHIueSxsK24pfX19ZnVuY3Rpb24geih0LGUpe2xldCBuPXQubGVuZ3RoO2Zvcig7LS1uPj0wOyl7Y29uc3QgaT1uO2xldCByPW4tMTtyPDAmJihyPXQubGVuZ3RoLTEpO2ZvcihsZXQgdD0wLG49cysyKnA7dDxuO3QrKyl7Y29uc3Qgbj1BKnQsbz1BKih0KzEpO0goZStpK24sZStyK24sZStyK28sZStpK28pfX19ZnVuY3Rpb24gRCh0LGUsbil7by5wdXNoKHQpLG8ucHVzaChlKSxvLnB1c2gobil9ZnVuY3Rpb24gQih0LGUscil7Rih0KSxGKGUpLEYocik7Y29uc3Qgbz1pLmxlbmd0aC8zLGE9bS5nZW5lcmF0ZVRvcFVWKG4saSxvLTMsby0yLG8tMSk7VihhWzBdKSxWKGFbMV0pLFYoYVsyXSl9ZnVuY3Rpb24gSCh0LGUscixvKXtGKHQpLEYoZSksRihvKSxGKGUpLEYociksRihvKTtjb25zdCBhPWkubGVuZ3RoLzMscz1tLmdlbmVyYXRlU2lkZVdhbGxVVihuLGksYS02LGEtMyxhLTIsYS0xKTtWKHNbMF0pLFYoc1sxXSksVihzWzNdKSxWKHNbMV0pLFYoc1syXSksVihzWzNdKX1mdW5jdGlvbiBGKHQpe2kucHVzaChvWzMqdCswXSksaS5wdXNoKG9bMyp0KzFdKSxpLnB1c2gob1szKnQrMl0pfWZ1bmN0aW9uIFYodCl7ci5wdXNoKHQueCksci5wdXNoKHQueSl9IShmdW5jdGlvbiBVKCl7Y29uc3QgdD1pLmxlbmd0aC8zO2lmKGMpe2xldCB0PTAsZT1BKnQ7Zm9yKGxldCB0PTA7dDxrO3QrKyl7Y29uc3Qgbj1FW3RdO0IoblsyXStlLG5bMV0rZSxuWzBdK2UpfXQ9cysyKnAsZT1BKnQ7Zm9yKGxldCB0PTA7dDxrO3QrKyl7Y29uc3Qgbj1FW3RdO0IoblswXStlLG5bMV0rZSxuWzJdK2UpfX1lbHNle2ZvcihsZXQgdD0wO3Q8azt0Kyspe2NvbnN0IGU9RVt0XTtCKGVbMl0sZVsxXSxlWzBdKX1mb3IobGV0IHQ9MDt0PGs7dCsrKXtjb25zdCBlPUVbdF07QihlWzBdK0EqcyxlWzFdK0EqcyxlWzJdK0Eqcyl9fW4uYWRkR3JvdXAodCxpLmxlbmd0aC8zLXQsMCl9KSgpLChmdW5jdGlvbiBqKCl7Y29uc3QgdD1pLmxlbmd0aC8zO2xldCBlPTA7eihULGUpLGUrPVQubGVuZ3RoO2ZvcihsZXQgdD0wLG49TS5sZW5ndGg7dDxuO3QrKyl7Y29uc3Qgbj1NW3RdO3oobixlKSxlKz1uLmxlbmd0aH1uLmFkZEdyb3VwKHQsaS5sZW5ndGgvMy10LDEpfSkoKX10aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQoaSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoInV2IixuZXcgYjR0KHIsMikpLHRoaXMuY29tcHV0ZVZlcnRleE5vcm1hbHMoKX10b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybihmdW5jdGlvbiBlKHQsbixpKXtpZihpLnNoYXBlcz1bXSxBcnJheS5pc0FycmF5KHQpKWZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7aS5zaGFwZXMucHVzaCh0W2VdLnV1aWQpfWVsc2UgaS5zaGFwZXMucHVzaCh0LnV1aWQpO3ZvaWQgMCE9PW4uZXh0cnVkZVBhdGgmJihpLm9wdGlvbnMuZXh0cnVkZVBhdGg9bi5leHRydWRlUGF0aC50b0pTT04oKSk7cmV0dXJuIGl9KSh0aGlzLnBhcmFtZXRlcnMuc2hhcGVzLHRoaXMucGFyYW1ldGVycy5vcHRpb25zLHQpfXN0YXRpYyBmcm9tSlNPTih0LGUpe2NvbnN0IG49W107Zm9yKGxldCBpPTAscj10LnNoYXBlcy5sZW5ndGg7aTxyO2krKyl7bi5wdXNoKGVbdC5zaGFwZXNbaV1dKX1jb25zdCBpPXQub3B0aW9ucy5leHRydWRlUGF0aDtyZXR1cm4gdm9pZCAwIT09aSYmKHQub3B0aW9ucy5leHRydWRlUGF0aD0obmV3IFd0ZVtpLnR5cGVdKS5mcm9tSlNPTihpKSksbmV3IGJlZShuLHQub3B0aW9ucyl9fWNvbnN0IHhlZT17Z2VuZXJhdGVUb3BVVjpmdW5jdGlvbih0LGUsbixpLHIpe2NvbnN0IG89ZVszKmldLGE9ZVszKmkrMV0scz1lWzMqcl0sbD1lWzMqcisxXTtyZXR1cm5bbmV3IEM1dChlWzMqbl0sZVszKm4rMV0pLG5ldyBDNXQobyxhKSxuZXcgQzV0KHMsbCldfSxnZW5lcmF0ZVNpZGVXYWxsVVY6ZnVuY3Rpb24odCxlLG4saSxyLG8pe2NvbnN0IGE9ZVszKm5dLHM9ZVszKm4rMV0sbD1lWzMqbisyXSxjPWVbMyppXSx1PWVbMyppKzFdLGg9ZVszKmkrMl0sZD1lWzMqcl0scD1lWzMqcisxXSxmPWVbMypyKzJdLG09ZVszKm9dLGc9ZVszKm8rMV0sXz1lWzMqbysyXTtyZXR1cm4gTWF0aC5hYnMocy11KTxNYXRoLmFicyhhLWMpP1tuZXcgQzV0KGEsMS1sKSxuZXcgQzV0KGMsMS1oKSxuZXcgQzV0KGQsMS1mKSxuZXcgQzV0KG0sMS1fKV06W25ldyBDNXQocywxLWwpLG5ldyBDNXQodSwxLWgpLG5ldyBDNXQocCwxLWYpLG5ldyBDNXQoZywxLV8pXX19O2NsYXNzIHdlZSBleHRlbmRzIHZ0ZXtjb25zdHJ1Y3Rvcih0PTEsZT0wKXtjb25zdCBuPSgxK01hdGguc3FydCg1KSkvMjtzdXBlcihbLTEsbiwwLDEsbiwwLC0xLC1uLDAsMSwtbiwwLDAsLTEsbiwwLDEsbiwwLC0xLC1uLDAsMSwtbixuLDAsLTEsbiwwLDEsLW4sMCwtMSwtbiwwLDFdLFswLDExLDUsMCw1LDEsMCwxLDcsMCw3LDEwLDAsMTAsMTEsMSw1LDksNSwxMSw0LDExLDEwLDIsMTAsNyw2LDcsMSw4LDMsOSw0LDMsNCwyLDMsMiw2LDMsNiw4LDMsOCw5LDQsOSw1LDIsNCwxMSw2LDIsMTAsOCw2LDcsOSw4LDFdLHQsZSksdGhpcy50eXBlPSJJY29zYWhlZHJvbkdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czp0LGRldGFpbDplfX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyB3ZWUodC5yYWRpdXMsdC5kZXRhaWwpfX1jbGFzcyBTZWUgZXh0ZW5kcyBONHR7Y29uc3RydWN0b3IodCxlPTEyLG49MCxpPTIqTWF0aC5QSSl7c3VwZXIoKSx0aGlzLnR5cGU9IkxhdGhlR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17cG9pbnRzOnQsc2VnbWVudHM6ZSxwaGlTdGFydDpuLHBoaUxlbmd0aDppfSxlPU1hdGguZmxvb3IoZSksaT1zNXQoaSwwLDIqTWF0aC5QSSk7Y29uc3Qgcj1bXSxvPVtdLGE9W10scz0xL2UsbD1uZXcgSDV0LGM9bmV3IEM1dDtmb3IobGV0IHI9MDtyPD1lO3IrKyl7Y29uc3QgdT1uK3IqcyppLGg9TWF0aC5zaW4odSksZD1NYXRoLmNvcyh1KTtmb3IobGV0IG49MDtuPD10Lmxlbmd0aC0xO24rKylsLng9dFtuXS54KmgsbC55PXRbbl0ueSxsLno9dFtuXS54KmQsby5wdXNoKGwueCxsLnksbC56KSxjLng9ci9lLGMueT1uLyh0Lmxlbmd0aC0xKSxhLnB1c2goYy54LGMueSl9Zm9yKGxldCBuPTA7bjxlO24rKylmb3IobGV0IGU9MDtlPHQubGVuZ3RoLTE7ZSsrKXtjb25zdCBpPWUrbip0Lmxlbmd0aCxvPWkrdC5sZW5ndGgsYT1pK3QubGVuZ3RoKzEscz1pKzE7ci5wdXNoKGksbyxzKSxyLnB1c2gobyxhLHMpfWlmKHRoaXMuc2V0SW5kZXgociksdGhpcy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KG8sMykpLHRoaXMuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGI0dChhLDIpKSx0aGlzLmNvbXB1dGVWZXJ0ZXhOb3JtYWxzKCksaT09PTIqTWF0aC5QSSl7Y29uc3Qgbj10aGlzLmF0dHJpYnV0ZXMubm9ybWFsLmFycmF5LGk9bmV3IEg1dCxyPW5ldyBINXQsbz1uZXcgSDV0LGE9ZSp0Lmxlbmd0aCozO2ZvcihsZXQgZT0wLHM9MDtlPHQubGVuZ3RoO2UrKyxzKz0zKWkueD1uW3MrMF0saS55PW5bcysxXSxpLno9bltzKzJdLHIueD1uW2ErcyswXSxyLnk9blthK3MrMV0sci56PW5bYStzKzJdLG8uYWRkVmVjdG9ycyhpLHIpLm5vcm1hbGl6ZSgpLG5bcyswXT1uW2ErcyswXT1vLngsbltzKzFdPW5bYStzKzFdPW8ueSxuW3MrMl09blthK3MrMl09by56fX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyBTZWUodC5wb2ludHMsdC5zZWdtZW50cyx0LnBoaVN0YXJ0LHQucGhpTGVuZ3RoKX19Y2xhc3MgTWVlIGV4dGVuZHMgdnRle2NvbnN0cnVjdG9yKHQ9MSxlPTApe3N1cGVyKFsxLDAsMCwtMSwwLDAsMCwxLDAsMCwtMSwwLDAsMCwxLDAsMCwtMV0sWzAsMiw0LDAsNCwzLDAsMyw1LDAsNSwyLDEsMiw1LDEsNSwzLDEsMyw0LDEsNCwyXSx0LGUpLHRoaXMudHlwZT0iT2N0YWhlZHJvbkdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3JhZGl1czp0LGRldGFpbDplfX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyBNZWUodC5yYWRpdXMsdC5kZXRhaWwpfX1jbGFzcyBFZWUgZXh0ZW5kcyBONHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKCksdGhpcy50eXBlPSJQYXJhbWV0cmljR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17ZnVuYzp0LHNsaWNlczplLHN0YWNrczpufTtjb25zdCBpPVtdLHI9W10sbz1bXSxhPVtdLHM9MWUtNSxsPW5ldyBINXQsYz1uZXcgSDV0LHU9bmV3IEg1dCxoPW5ldyBINXQsZD1uZXcgSDV0O3QubGVuZ3RoPDMmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLlBhcmFtZXRyaWNHZW9tZXRyeTogRnVuY3Rpb24gbXVzdCBub3cgbW9kaWZ5IGEgVmVjdG9yMyBhcyB0aGlyZCBwYXJhbWV0ZXIuIik7Y29uc3QgcD1lKzE7Zm9yKGxldCBpPTA7aTw9bjtpKyspe2NvbnN0IHA9aS9uO2ZvcihsZXQgbj0wO248PWU7bisrKXtjb25zdCBpPW4vZTt0KGkscCxjKSxyLnB1c2goYy54LGMueSxjLnopLGktcz49MD8odChpLXMscCx1KSxoLnN1YlZlY3RvcnMoYyx1KSk6KHQoaStzLHAsdSksaC5zdWJWZWN0b3JzKHUsYykpLHAtcz49MD8odChpLHAtcyx1KSxkLnN1YlZlY3RvcnMoYyx1KSk6KHQoaSxwK3MsdSksZC5zdWJWZWN0b3JzKHUsYykpLGwuY3Jvc3NWZWN0b3JzKGgsZCkubm9ybWFsaXplKCksby5wdXNoKGwueCxsLnksbC56KSxhLnB1c2goaSxwKX19Zm9yKGxldCB0PTA7dDxuO3QrKylmb3IobGV0IG49MDtuPGU7bisrKXtjb25zdCBlPXQqcCtuKzEscj0odCsxKSpwK24rMSxvPSh0KzEpKnArbjtpLnB1c2godCpwK24sZSxvKSxpLnB1c2goZSxyLG8pfXRoaXMuc2V0SW5kZXgoaSksdGhpcy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KHIsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJub3JtYWwiLG5ldyBiNHQobywzKSksdGhpcy5zZXRBdHRyaWJ1dGUoInV2IixuZXcgYjR0KGEsMikpfX1jbGFzcyBUZWUgZXh0ZW5kcyBONHR7Y29uc3RydWN0b3IodD0uNSxlPTEsbj04LGk9MSxyPTAsbz0yKk1hdGguUEkpe3N1cGVyKCksdGhpcy50eXBlPSJSaW5nR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17aW5uZXJSYWRpdXM6dCxvdXRlclJhZGl1czplLHRoZXRhU2VnbWVudHM6bixwaGlTZWdtZW50czppLHRoZXRhU3RhcnQ6cix0aGV0YUxlbmd0aDpvfSxuPU1hdGgubWF4KDMsbik7Y29uc3QgYT1bXSxzPVtdLGw9W10sYz1bXTtsZXQgdT10O2NvbnN0IGg9KGUtdCkvKGk9TWF0aC5tYXgoMSxpKSksZD1uZXcgSDV0LHA9bmV3IEM1dDtmb3IobGV0IHQ9MDt0PD1pO3QrKyl7Zm9yKGxldCB0PTA7dDw9bjt0Kyspe2NvbnN0IGk9cit0L24qbztkLng9dSpNYXRoLmNvcyhpKSxkLnk9dSpNYXRoLnNpbihpKSxzLnB1c2goZC54LGQueSxkLnopLGwucHVzaCgwLDAsMSkscC54PShkLngvZSsxKS8yLHAueT0oZC55L2UrMSkvMixjLnB1c2gocC54LHAueSl9dSs9aH1mb3IobGV0IHQ9MDt0PGk7dCsrKXtjb25zdCBlPXQqKG4rMSk7Zm9yKGxldCB0PTA7dDxuO3QrKyl7Y29uc3QgaT10K2Uscj1pK24rMSxvPWkrbisyLHM9aSsxO2EucHVzaChpLHIscyksYS5wdXNoKHIsbyxzKX19dGhpcy5zZXRJbmRleChhKSx0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQocywzKSksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGI0dChsLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBiNHQoYywyKSl9c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgVGVlKHQuaW5uZXJSYWRpdXMsdC5vdXRlclJhZGl1cyx0LnRoZXRhU2VnbWVudHMsdC5waGlTZWdtZW50cyx0LnRoZXRhU3RhcnQsdC50aGV0YUxlbmd0aCl9fWNsYXNzIENlZSBleHRlbmRzIE40dHtjb25zdHJ1Y3Rvcih0LGU9MTIpe3N1cGVyKCksdGhpcy50eXBlPSJTaGFwZUdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3NoYXBlczp0LGN1cnZlU2VnbWVudHM6ZX07Y29uc3Qgbj1bXSxpPVtdLHI9W10sbz1bXTtsZXQgYT0wLHM9MDtpZighMT09PUFycmF5LmlzQXJyYXkodCkpbCh0KTtlbHNlIGZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKWwodFtlXSksdGhpcy5hZGRHcm91cChhLHMsZSksYSs9cyxzPTA7ZnVuY3Rpb24gbCh0KXtjb25zdCBhPWkubGVuZ3RoLzMsbD10LmV4dHJhY3RQb2ludHMoZSk7bGV0IGM9bC5zaGFwZTtjb25zdCB1PWwuaG9sZXM7ITE9PT1fZWUuaXNDbG9ja1dpc2UoYykmJihjPWMucmV2ZXJzZSgpKTtmb3IobGV0IHQ9MCxlPXUubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9dVt0XTshMD09PV9lZS5pc0Nsb2NrV2lzZShlKSYmKHVbdF09ZS5yZXZlcnNlKCkpfWNvbnN0IGg9X2VlLnRyaWFuZ3VsYXRlU2hhcGUoYyx1KTtmb3IobGV0IHQ9MCxlPXUubGVuZ3RoO3Q8ZTt0Kyspe2M9Yy5jb25jYXQodVt0XSl9Zm9yKGxldCB0PTAsZT1jLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPWNbdF07aS5wdXNoKGUueCxlLnksMCksci5wdXNoKDAsMCwxKSxvLnB1c2goZS54LGUueSl9Zm9yKGxldCB0PTAsZT1oLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPWhbdF07bi5wdXNoKGVbMF0rYSxlWzFdK2EsZVsyXSthKSxzKz0zfX10aGlzLnNldEluZGV4KG4pLHRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChpLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYjR0KHIsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGI0dChvLDIpKX10b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybihmdW5jdGlvbiBlKHQsbil7aWYobi5zaGFwZXM9W10sQXJyYXkuaXNBcnJheSh0KSlmb3IobGV0IGU9MCxpPXQubGVuZ3RoO2U8aTtlKyspe24uc2hhcGVzLnB1c2godFtlXS51dWlkKX1lbHNlIG4uc2hhcGVzLnB1c2godC51dWlkKTtyZXR1cm4gbn0pKHRoaXMucGFyYW1ldGVycy5zaGFwZXMsdCl9c3RhdGljIGZyb21KU09OKHQsZSl7Y29uc3Qgbj1bXTtmb3IobGV0IGk9MCxyPXQuc2hhcGVzLmxlbmd0aDtpPHI7aSsrKXtuLnB1c2goZVt0LnNoYXBlc1tpXV0pfXJldHVybiBuZXcgQ2VlKG4sdC5jdXJ2ZVNlZ21lbnRzKX19Y2xhc3MgQWVlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQ9MSxlPTMyLG49MTYsaT0wLHI9MipNYXRoLlBJLG89MCxhPU1hdGguUEkpe3N1cGVyKCksdGhpcy50eXBlPSJTcGhlcmVHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6dCx3aWR0aFNlZ21lbnRzOmUsaGVpZ2h0U2VnbWVudHM6bixwaGlTdGFydDppLHBoaUxlbmd0aDpyLHRoZXRhU3RhcnQ6byx0aGV0YUxlbmd0aDphfSxlPU1hdGgubWF4KDMsTWF0aC5mbG9vcihlKSksbj1NYXRoLm1heCgyLE1hdGguZmxvb3IobikpO2NvbnN0IHM9TWF0aC5taW4obythLE1hdGguUEkpO2xldCBsPTA7Y29uc3QgYz1bXSx1PW5ldyBINXQsaD1uZXcgSDV0LGQ9W10scD1bXSxmPVtdLG09W107Zm9yKGxldCBkPTA7ZDw9bjtkKyspe2NvbnN0IGc9W10sXz1kL247bGV0IHk9MDswPT1kJiYwPT1vP3k9LjUvZTpkPT1uJiZzPT1NYXRoLlBJJiYoeT0tLjUvZSk7Zm9yKGxldCBuPTA7bjw9ZTtuKyspe2NvbnN0IHM9bi9lO3UueD0tdCpNYXRoLmNvcyhpK3MqcikqTWF0aC5zaW4obytfKmEpLHUueT10Kk1hdGguY29zKG8rXyphKSx1Lno9dCpNYXRoLnNpbihpK3MqcikqTWF0aC5zaW4obytfKmEpLHAucHVzaCh1LngsdS55LHUueiksaC5jb3B5KHUpLm5vcm1hbGl6ZSgpLGYucHVzaChoLngsaC55LGgueiksbS5wdXNoKHMreSwxLV8pLGcucHVzaChsKyspfWMucHVzaChnKX1mb3IobGV0IHQ9MDt0PG47dCsrKWZvcihsZXQgaT0wO2k8ZTtpKyspe2NvbnN0IGU9Y1t0XVtpKzFdLHI9Y1t0XVtpXSxhPWNbdCsxXVtpXSxsPWNbdCsxXVtpKzFdOygwIT09dHx8bz4wKSYmZC5wdXNoKGUscixsKSwodCE9PW4tMXx8czxNYXRoLlBJKSYmZC5wdXNoKHIsYSxsKX10aGlzLnNldEluZGV4KGQpLHRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChwLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYjR0KGYsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGI0dChtLDIpKX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyBBZWUodC5yYWRpdXMsdC53aWR0aFNlZ21lbnRzLHQuaGVpZ2h0U2VnbWVudHMsdC5waGlTdGFydCx0LnBoaUxlbmd0aCx0LnRoZXRhU3RhcnQsdC50aGV0YUxlbmd0aCl9fWNsYXNzIGtlZSBleHRlbmRzIHZ0ZXtjb25zdHJ1Y3Rvcih0PTEsZT0wKXtzdXBlcihbMSwxLDEsLTEsLTEsMSwtMSwxLC0xLDEsLTEsLTFdLFsyLDEsMCwwLDMsMiwxLDMsMCwyLDMsMV0sdCxlKSx0aGlzLnR5cGU9IlRldHJhaGVkcm9uR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17cmFkaXVzOnQsZGV0YWlsOmV9fXN0YXRpYyBmcm9tSlNPTih0KXtyZXR1cm4gbmV3IGtlZSh0LnJhZGl1cyx0LmRldGFpbCl9fWNsYXNzIExlZSBleHRlbmRzIGJlZXtjb25zdHJ1Y3Rvcih0LGU9e30pe2NvbnN0IG49ZS5mb250O2lmKCFufHwhbi5pc0ZvbnQpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlRleHRHZW9tZXRyeTogZm9udCBwYXJhbWV0ZXIgaXMgbm90IGFuIGluc3RhbmNlIG9mIFRIUkVFLkZvbnQuIiksbmV3IE40dDtjb25zdCBpPW4uZ2VuZXJhdGVTaGFwZXModCxlLnNpemUpO2UuZGVwdGg9dm9pZCAwIT09ZS5oZWlnaHQ/ZS5oZWlnaHQ6NTAsdm9pZCAwPT09ZS5iZXZlbFRoaWNrbmVzcyYmKGUuYmV2ZWxUaGlja25lc3M9MTApLHZvaWQgMD09PWUuYmV2ZWxTaXplJiYoZS5iZXZlbFNpemU9OCksdm9pZCAwPT09ZS5iZXZlbEVuYWJsZWQmJihlLmJldmVsRW5hYmxlZD0hMSksc3VwZXIoaSxlKSx0aGlzLnR5cGU9IlRleHRHZW9tZXRyeSJ9fWNsYXNzIFBlZSBleHRlbmRzIE40dHtjb25zdHJ1Y3Rvcih0PTEsZT0uNCxuPTgsaT02LHI9MipNYXRoLlBJKXtzdXBlcigpLHRoaXMudHlwZT0iVG9ydXNHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6dCx0dWJlOmUscmFkaWFsU2VnbWVudHM6bix0dWJ1bGFyU2VnbWVudHM6aSxhcmM6cn0sbj1NYXRoLmZsb29yKG4pLGk9TWF0aC5mbG9vcihpKTtjb25zdCBvPVtdLGE9W10scz1bXSxsPVtdLGM9bmV3IEg1dCx1PW5ldyBINXQsaD1uZXcgSDV0O2ZvcihsZXQgbz0wO288PW47bysrKWZvcihsZXQgZD0wO2Q8PWk7ZCsrKXtjb25zdCBwPWQvaSpyLGY9by9uKk1hdGguUEkqMjt1Lng9KHQrZSpNYXRoLmNvcyhmKSkqTWF0aC5jb3MocCksdS55PSh0K2UqTWF0aC5jb3MoZikpKk1hdGguc2luKHApLHUuej1lKk1hdGguc2luKGYpLGEucHVzaCh1LngsdS55LHUueiksYy54PXQqTWF0aC5jb3MocCksYy55PXQqTWF0aC5zaW4ocCksaC5zdWJWZWN0b3JzKHUsYykubm9ybWFsaXplKCkscy5wdXNoKGgueCxoLnksaC56KSxsLnB1c2goZC9pKSxsLnB1c2goby9uKX1mb3IobGV0IHQ9MTt0PD1uO3QrKylmb3IobGV0IGU9MTtlPD1pO2UrKyl7Y29uc3Qgbj0oaSsxKSoodC0xKStlLTEscj0oaSsxKSoodC0xKStlLGE9KGkrMSkqdCtlO28ucHVzaCgoaSsxKSp0K2UtMSxuLGEpLG8ucHVzaChuLHIsYSl9dGhpcy5zZXRJbmRleChvKSx0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQoYSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGI0dChzLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBiNHQobCwyKSl9c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgUGVlKHQucmFkaXVzLHQudHViZSx0LnJhZGlhbFNlZ21lbnRzLHQudHVidWxhclNlZ21lbnRzLHQuYXJjKX19Y2xhc3MgTmVlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQ9MSxlPS40LG49NjQsaT04LHI9MixvPTMpe3N1cGVyKCksdGhpcy50eXBlPSJUb3J1c0tub3RHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6dCx0dWJlOmUsdHVidWxhclNlZ21lbnRzOm4scmFkaWFsU2VnbWVudHM6aSxwOnIscTpvfSxuPU1hdGguZmxvb3IobiksaT1NYXRoLmZsb29yKGkpO2NvbnN0IGE9W10scz1bXSxsPVtdLGM9W10sdT1uZXcgSDV0LGg9bmV3IEg1dCxkPW5ldyBINXQscD1uZXcgSDV0LGY9bmV3IEg1dCxtPW5ldyBINXQsZz1uZXcgSDV0O2ZvcihsZXQgYT0wO2E8PW47KythKXtjb25zdCB5PWEvbipyKk1hdGguUEkqMjtfKHkscixvLHQsZCksXyh5Ky4wMSxyLG8sdCxwKSxtLnN1YlZlY3RvcnMocCxkKSxnLmFkZFZlY3RvcnMocCxkKSxmLmNyb3NzVmVjdG9ycyhtLGcpLGcuY3Jvc3NWZWN0b3JzKGYsbSksZi5ub3JtYWxpemUoKSxnLm5vcm1hbGl6ZSgpO2ZvcihsZXQgdD0wO3Q8PWk7Kyt0KXtjb25zdCByPXQvaSpNYXRoLlBJKjIsbz0tZSpNYXRoLmNvcyhyKSxwPWUqTWF0aC5zaW4ocik7dS54PWQueCsobypnLngrcCpmLngpLHUueT1kLnkrKG8qZy55K3AqZi55KSx1Lno9ZC56KyhvKmcueitwKmYueikscy5wdXNoKHUueCx1LnksdS56KSxoLnN1YlZlY3RvcnModSxkKS5ub3JtYWxpemUoKSxsLnB1c2goaC54LGgueSxoLnopLGMucHVzaChhL24pLGMucHVzaCh0L2kpfX1mb3IobGV0IHQ9MTt0PD1uO3QrKylmb3IobGV0IGU9MTtlPD1pO2UrKyl7Y29uc3Qgbj0oaSsxKSp0KyhlLTEpLHI9KGkrMSkqdCtlLG89KGkrMSkqKHQtMSkrZTthLnB1c2goKGkrMSkqKHQtMSkrKGUtMSksbixvKSxhLnB1c2gobixyLG8pfWZ1bmN0aW9uIF8odCxlLG4saSxyKXtjb25zdCBvPU1hdGguY29zKHQpLGE9TWF0aC5zaW4odCkscz1uL2UqdCxsPU1hdGguY29zKHMpO3IueD1pKigyK2wpKi41Km8sci55PWkqKDIrbCkqYSouNSxyLno9aSpNYXRoLnNpbihzKSouNX10aGlzLnNldEluZGV4KGEpLHRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChzLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgYjR0KGwsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGI0dChjLDIpKX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyBOZWUodC5yYWRpdXMsdC50dWJlLHQudHVidWxhclNlZ21lbnRzLHQucmFkaWFsU2VnbWVudHMsdC5wLHQucSl9fWNsYXNzIEllZSBleHRlbmRzIE40dHtjb25zdHJ1Y3Rvcih0LGU9NjQsbj0xLGk9OCxyPSExKXtzdXBlcigpLHRoaXMudHlwZT0iVHViZUdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3BhdGg6dCx0dWJ1bGFyU2VnbWVudHM6ZSxyYWRpdXM6bixyYWRpYWxTZWdtZW50czppLGNsb3NlZDpyfTtjb25zdCBvPXQuY29tcHV0ZUZyZW5ldEZyYW1lcyhlLHIpO3RoaXMudGFuZ2VudHM9by50YW5nZW50cyx0aGlzLm5vcm1hbHM9by5ub3JtYWxzLHRoaXMuYmlub3JtYWxzPW8uYmlub3JtYWxzO2NvbnN0IGE9bmV3IEg1dCxzPW5ldyBINXQsbD1uZXcgQzV0O2xldCBjPW5ldyBINXQ7Y29uc3QgdT1bXSxoPVtdLGQ9W10scD1bXTtmdW5jdGlvbiBmKHIpe2M9dC5nZXRQb2ludEF0KHIvZSxjKTtjb25zdCBsPW8ubm9ybWFsc1tyXSxkPW8uYmlub3JtYWxzW3JdO2ZvcihsZXQgdD0wO3Q8PWk7dCsrKXtjb25zdCBlPXQvaSpNYXRoLlBJKjIscj1NYXRoLnNpbihlKSxvPS1NYXRoLmNvcyhlKTtzLng9bypsLngrcipkLngscy55PW8qbC55K3IqZC55LHMuej1vKmwueityKmQueixzLm5vcm1hbGl6ZSgpLGgucHVzaChzLngscy55LHMueiksYS54PWMueCtuKnMueCxhLnk9Yy55K24qcy55LGEuej1jLnorbipzLnosdS5wdXNoKGEueCxhLnksYS56KX19IShmdW5jdGlvbiBtKCl7Zm9yKGxldCB0PTA7dDxlO3QrKylmKHQpO2YoITE9PT1yP2U6MCksKGZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PD1lO3QrKylmb3IobGV0IG49MDtuPD1pO24rKylsLng9dC9lLGwueT1uL2ksZC5wdXNoKGwueCxsLnkpfSkoKSwoZnVuY3Rpb24gbigpe2ZvcihsZXQgdD0xO3Q8PWU7dCsrKWZvcihsZXQgZT0xO2U8PWk7ZSsrKXtjb25zdCBuPShpKzEpKnQrKGUtMSkscj0oaSsxKSp0K2Usbz0oaSsxKSoodC0xKStlO3AucHVzaCgoaSsxKSoodC0xKSsoZS0xKSxuLG8pLHAucHVzaChuLHIsbyl9fSkoKX0pKCksdGhpcy5zZXRJbmRleChwKSx0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQodSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGI0dChoLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBiNHQoZCwyKSl9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC5wYXRoPXRoaXMucGFyYW1ldGVycy5wYXRoLnRvSlNPTigpLHR9c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgSWVlKChuZXcgV3RlW3QucGF0aC50eXBlXSkuZnJvbUpTT04odC5wYXRoKSx0LnR1YnVsYXJTZWdtZW50cyx0LnJhZGl1cyx0LnJhZGlhbFNlZ21lbnRzLHQuY2xvc2VkKX19Y2xhc3MgUmVlIGV4dGVuZHMgTjR0e2NvbnN0cnVjdG9yKHQpe2lmKHN1cGVyKCksdGhpcy50eXBlPSJXaXJlZnJhbWVHZW9tZXRyeSIsITA9PT10LmlzR2VvbWV0cnkpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuV2lyZWZyYW1lR2VvbWV0cnkgbm8gbG9uZ2VyIHN1cHBvcnRzIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKTtjb25zdCBlPVtdLG49bmV3IFNldCxpPW5ldyBINXQscj1uZXcgSDV0O2lmKG51bGwhPT10LmluZGV4KXtjb25zdCBvPXQuYXR0cmlidXRlcy5wb3NpdGlvbixhPXQuaW5kZXg7bGV0IHM9dC5ncm91cHM7MD09PXMubGVuZ3RoJiYocz1be3N0YXJ0OjAsY291bnQ6YS5jb3VudCxtYXRlcmlhbEluZGV4OjB9XSk7Zm9yKGxldCB0PTAsbD1zLmxlbmd0aDt0PGw7Kyt0KXtjb25zdCBsPXNbdF0sYz1sLnN0YXJ0O2ZvcihsZXQgdD1jLHM9YytsLmNvdW50O3Q8czt0Kz0zKWZvcihsZXQgcz0wO3M8MztzKyspe2NvbnN0IGw9YS5nZXRYKHQrcyksYz1hLmdldFgodCsocysxKSUzKTtpLmZyb21CdWZmZXJBdHRyaWJ1dGUobyxsKSxyLmZyb21CdWZmZXJBdHRyaWJ1dGUobyxjKSwhMD09PU9lZShpLHIsbikmJihlLnB1c2goaS54LGkueSxpLnopLGUucHVzaChyLngsci55LHIueikpfX19ZWxzZXtjb25zdCBvPXQuYXR0cmlidXRlcy5wb3NpdGlvbjtmb3IobGV0IHQ9MCxhPW8uY291bnQvMzt0PGE7dCsrKWZvcihsZXQgYT0wO2E8MzthKyspe2NvbnN0IHM9Myp0KyhhKzEpJTM7aS5mcm9tQnVmZmVyQXR0cmlidXRlKG8sMyp0K2EpLHIuZnJvbUJ1ZmZlckF0dHJpYnV0ZShvLHMpLCEwPT09T2VlKGkscixuKSYmKGUucHVzaChpLngsaS55LGkueiksZS5wdXNoKHIueCxyLnksci56KSl9fXRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChlLDMpKX19ZnVuY3Rpb24gT2VlKHQsZSxuKXtjb25zdCBpPWAke3QueH0sJHt0Lnl9LCR7dC56fS0ke2UueH0sJHtlLnl9LCR7ZS56fWAscj1gJHtlLnh9LCR7ZS55fSwke2Uuen0tJHt0Lnh9LCR7dC55fSwke3Quen1gO3JldHVybiEwIT09bi5oYXMoaSkmJiEwIT09bi5oYXMocikmJihuLmFkZChpLHIpLCEwKX12YXIgemVlPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLEJveEdlb21ldHJ5Oko0dCxCb3hCdWZmZXJHZW9tZXRyeTpKNHQsQ2lyY2xlR2VvbWV0cnk6Z3RlLENpcmNsZUJ1ZmZlckdlb21ldHJ5Omd0ZSxDb25lR2VvbWV0cnk6eXRlLENvbmVCdWZmZXJHZW9tZXRyeTp5dGUsQ3lsaW5kZXJHZW9tZXRyeTpfdGUsQ3lsaW5kZXJCdWZmZXJHZW9tZXRyeTpfdGUsRG9kZWNhaGVkcm9uR2VvbWV0cnk6YnRlLERvZGVjYWhlZHJvbkJ1ZmZlckdlb21ldHJ5OmJ0ZSxFZGdlc0dlb21ldHJ5OkV0ZSxFeHRydWRlR2VvbWV0cnk6YmVlLEV4dHJ1ZGVCdWZmZXJHZW9tZXRyeTpiZWUsSWNvc2FoZWRyb25HZW9tZXRyeTp3ZWUsSWNvc2FoZWRyb25CdWZmZXJHZW9tZXRyeTp3ZWUsTGF0aGVHZW9tZXRyeTpTZWUsTGF0aGVCdWZmZXJHZW9tZXRyeTpTZWUsT2N0YWhlZHJvbkdlb21ldHJ5Ok1lZSxPY3RhaGVkcm9uQnVmZmVyR2VvbWV0cnk6TWVlLFBhcmFtZXRyaWNHZW9tZXRyeTpFZWUsUGFyYW1ldHJpY0J1ZmZlckdlb21ldHJ5OkVlZSxQbGFuZUdlb21ldHJ5Onk2dCxQbGFuZUJ1ZmZlckdlb21ldHJ5Onk2dCxQb2x5aGVkcm9uR2VvbWV0cnk6dnRlLFBvbHloZWRyb25CdWZmZXJHZW9tZXRyeTp2dGUsUmluZ0dlb21ldHJ5OlRlZSxSaW5nQnVmZmVyR2VvbWV0cnk6VGVlLFNoYXBlR2VvbWV0cnk6Q2VlLFNoYXBlQnVmZmVyR2VvbWV0cnk6Q2VlLFNwaGVyZUdlb21ldHJ5OkFlZSxTcGhlcmVCdWZmZXJHZW9tZXRyeTpBZWUsVGV0cmFoZWRyb25HZW9tZXRyeTprZWUsVGV0cmFoZWRyb25CdWZmZXJHZW9tZXRyeTprZWUsVGV4dEdlb21ldHJ5OkxlZSxUZXh0QnVmZmVyR2VvbWV0cnk6TGVlLFRvcnVzR2VvbWV0cnk6UGVlLFRvcnVzQnVmZmVyR2VvbWV0cnk6UGVlLFRvcnVzS25vdEdlb21ldHJ5Ok5lZSxUb3J1c0tub3RCdWZmZXJHZW9tZXRyeTpOZWUsVHViZUdlb21ldHJ5OkllZSxUdWJlQnVmZmVyR2VvbWV0cnk6SWVlLFdpcmVmcmFtZUdlb21ldHJ5OlJlZX0pO2NsYXNzIERlZSBleHRlbmRzIHQ0dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iU2hhZG93TWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IHM0dCgwKSx0aGlzLnRyYW5zcGFyZW50PSEwLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXN9fURlZS5wcm90b3R5cGUuaXNTaGFkb3dNYXRlcmlhbD0hMDtjbGFzcyBCZWUgZXh0ZW5kcyB0NHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLmRlZmluZXM9e1NUQU5EQVJEOiIifSx0aGlzLnR5cGU9Ik1lc2hTdGFuZGFyZE1hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBzNHQoMTY3NzcyMTUpLHRoaXMucm91Z2huZXNzPTEsdGhpcy5tZXRhbG5lc3M9MCx0aGlzLm1hcD1udWxsLHRoaXMubGlnaHRNYXA9bnVsbCx0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PTEsdGhpcy5hb01hcD1udWxsLHRoaXMuYW9NYXBJbnRlbnNpdHk9MSx0aGlzLmVtaXNzaXZlPW5ldyBzNHQoMCksdGhpcy5lbWlzc2l2ZUludGVuc2l0eT0xLHRoaXMuZW1pc3NpdmVNYXA9bnVsbCx0aGlzLmJ1bXBNYXA9bnVsbCx0aGlzLmJ1bXBTY2FsZT0xLHRoaXMubm9ybWFsTWFwPW51bGwsdGhpcy5ub3JtYWxNYXBUeXBlPTAsdGhpcy5ub3JtYWxTY2FsZT1uZXcgQzV0KDEsMSksdGhpcy5kaXNwbGFjZW1lbnRNYXA9bnVsbCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPTEsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPTAsdGhpcy5yb3VnaG5lc3NNYXA9bnVsbCx0aGlzLm1ldGFsbmVzc01hcD1udWxsLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmVudk1hcD1udWxsLHRoaXMuZW52TWFwSW50ZW5zaXR5PTEsdGhpcy5yZWZyYWN0aW9uUmF0aW89Ljk4LHRoaXMud2lyZWZyYW1lPSExLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPTEsdGhpcy53aXJlZnJhbWVMaW5lY2FwPSJyb3VuZCIsdGhpcy53aXJlZnJhbWVMaW5lam9pbj0icm91bmQiLHRoaXMuZmxhdFNoYWRpbmc9ITEsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmRlZmluZXM9e1NUQU5EQVJEOiIifSx0aGlzLmNvbG9yLmNvcHkodC5jb2xvciksdGhpcy5yb3VnaG5lc3M9dC5yb3VnaG5lc3MsdGhpcy5tZXRhbG5lc3M9dC5tZXRhbG5lc3MsdGhpcy5tYXA9dC5tYXAsdGhpcy5saWdodE1hcD10LmxpZ2h0TWFwLHRoaXMubGlnaHRNYXBJbnRlbnNpdHk9dC5saWdodE1hcEludGVuc2l0eSx0aGlzLmFvTWFwPXQuYW9NYXAsdGhpcy5hb01hcEludGVuc2l0eT10LmFvTWFwSW50ZW5zaXR5LHRoaXMuZW1pc3NpdmUuY29weSh0LmVtaXNzaXZlKSx0aGlzLmVtaXNzaXZlTWFwPXQuZW1pc3NpdmVNYXAsdGhpcy5lbWlzc2l2ZUludGVuc2l0eT10LmVtaXNzaXZlSW50ZW5zaXR5LHRoaXMuYnVtcE1hcD10LmJ1bXBNYXAsdGhpcy5idW1wU2NhbGU9dC5idW1wU2NhbGUsdGhpcy5ub3JtYWxNYXA9dC5ub3JtYWxNYXAsdGhpcy5ub3JtYWxNYXBUeXBlPXQubm9ybWFsTWFwVHlwZSx0aGlzLm5vcm1hbFNjYWxlLmNvcHkodC5ub3JtYWxTY2FsZSksdGhpcy5kaXNwbGFjZW1lbnRNYXA9dC5kaXNwbGFjZW1lbnRNYXAsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT10LmRpc3BsYWNlbWVudFNjYWxlLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz10LmRpc3BsYWNlbWVudEJpYXMsdGhpcy5yb3VnaG5lc3NNYXA9dC5yb3VnaG5lc3NNYXAsdGhpcy5tZXRhbG5lc3NNYXA9dC5tZXRhbG5lc3NNYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZW52TWFwPXQuZW52TWFwLHRoaXMuZW52TWFwSW50ZW5zaXR5PXQuZW52TWFwSW50ZW5zaXR5LHRoaXMucmVmcmFjdGlvblJhdGlvPXQucmVmcmFjdGlvblJhdGlvLHRoaXMud2lyZWZyYW1lPXQud2lyZWZyYW1lLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPXQud2lyZWZyYW1lTGluZXdpZHRoLHRoaXMud2lyZWZyYW1lTGluZWNhcD10LndpcmVmcmFtZUxpbmVjYXAsdGhpcy53aXJlZnJhbWVMaW5lam9pbj10LndpcmVmcmFtZUxpbmVqb2luLHRoaXMuZmxhdFNoYWRpbmc9dC5mbGF0U2hhZGluZyx0aGlzfX1CZWUucHJvdG90eXBlLmlzTWVzaFN0YW5kYXJkTWF0ZXJpYWw9ITA7Y2xhc3MgSGVlIGV4dGVuZHMgQmVle2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5kZWZpbmVzPXtTVEFOREFSRDoiIixQSFlTSUNBTDoiIn0sdGhpcy50eXBlPSJNZXNoUGh5c2ljYWxNYXRlcmlhbCIsdGhpcy5jbGVhcmNvYXQ9MCx0aGlzLmNsZWFyY29hdE1hcD1udWxsLHRoaXMuY2xlYXJjb2F0Um91Z2huZXNzPTAsdGhpcy5jbGVhcmNvYXRSb3VnaG5lc3NNYXA9bnVsbCx0aGlzLmNsZWFyY29hdE5vcm1hbFNjYWxlPW5ldyBDNXQoMSwxKSx0aGlzLmNsZWFyY29hdE5vcm1hbE1hcD1udWxsLHRoaXMucmVmbGVjdGl2aXR5PS41LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpb3IiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4oMSsuNCp0aGlzLnJlZmxlY3Rpdml0eSkvKDEtLjQqdGhpcy5yZWZsZWN0aXZpdHkpfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy5yZWZsZWN0aXZpdHk9czV0KDIuNSoodC0xKS8odCsxKSwwLDEpfX0pLHRoaXMuc2hlZW49bnVsbCx0aGlzLnRyYW5zbWlzc2lvbj0wLHRoaXMudHJhbnNtaXNzaW9uTWFwPW51bGwsdGhpcy50aGlja25lc3M9LjAxLHRoaXMudGhpY2tuZXNzTWFwPW51bGwsdGhpcy5hdHRlbnVhdGlvbkRpc3RhbmNlPTAsdGhpcy5hdHRlbnVhdGlvblRpbnQ9bmV3IHM0dCgxLDEsMSksdGhpcy5zcGVjdWxhckludGVuc2l0eT0xLHRoaXMuc3BlY3VsYXJJbnRlbnNpdHlNYXA9bnVsbCx0aGlzLnNwZWN1bGFyVGludD1uZXcgczR0KDEsMSwxKSx0aGlzLnNwZWN1bGFyVGludE1hcD1udWxsLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5kZWZpbmVzPXtTVEFOREFSRDoiIixQSFlTSUNBTDoiIn0sdGhpcy5jbGVhcmNvYXQ9dC5jbGVhcmNvYXQsdGhpcy5jbGVhcmNvYXRNYXA9dC5jbGVhcmNvYXRNYXAsdGhpcy5jbGVhcmNvYXRSb3VnaG5lc3M9dC5jbGVhcmNvYXRSb3VnaG5lc3MsdGhpcy5jbGVhcmNvYXRSb3VnaG5lc3NNYXA9dC5jbGVhcmNvYXRSb3VnaG5lc3NNYXAsdGhpcy5jbGVhcmNvYXROb3JtYWxNYXA9dC5jbGVhcmNvYXROb3JtYWxNYXAsdGhpcy5jbGVhcmNvYXROb3JtYWxTY2FsZS5jb3B5KHQuY2xlYXJjb2F0Tm9ybWFsU2NhbGUpLHRoaXMucmVmbGVjdGl2aXR5PXQucmVmbGVjdGl2aXR5LHRoaXMuc2hlZW49dC5zaGVlbj8odGhpcy5zaGVlbnx8bmV3IHM0dCkuY29weSh0LnNoZWVuKTpudWxsLHRoaXMudHJhbnNtaXNzaW9uPXQudHJhbnNtaXNzaW9uLHRoaXMudHJhbnNtaXNzaW9uTWFwPXQudHJhbnNtaXNzaW9uTWFwLHRoaXMudGhpY2tuZXNzPXQudGhpY2tuZXNzLHRoaXMudGhpY2tuZXNzTWFwPXQudGhpY2tuZXNzTWFwLHRoaXMuYXR0ZW51YXRpb25EaXN0YW5jZT10LmF0dGVudWF0aW9uRGlzdGFuY2UsdGhpcy5hdHRlbnVhdGlvblRpbnQuY29weSh0LmF0dGVudWF0aW9uVGludCksdGhpcy5zcGVjdWxhckludGVuc2l0eT10LnNwZWN1bGFySW50ZW5zaXR5LHRoaXMuc3BlY3VsYXJJbnRlbnNpdHlNYXA9dC5zcGVjdWxhckludGVuc2l0eU1hcCx0aGlzLnNwZWN1bGFyVGludC5jb3B5KHQuc3BlY3VsYXJUaW50KSx0aGlzLnNwZWN1bGFyVGludE1hcD10LnNwZWN1bGFyVGludE1hcCx0aGlzfX1IZWUucHJvdG90eXBlLmlzTWVzaFBoeXNpY2FsTWF0ZXJpYWw9ITA7Y2xhc3MgRmVlIGV4dGVuZHMgdDR0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJNZXNoUGhvbmdNYXRlcmlhbCIsdGhpcy5jb2xvcj1uZXcgczR0KDE2Nzc3MjE1KSx0aGlzLnNwZWN1bGFyPW5ldyBzNHQoMTExODQ4MSksdGhpcy5zaGluaW5lc3M9MzAsdGhpcy5tYXA9bnVsbCx0aGlzLmxpZ2h0TWFwPW51bGwsdGhpcy5saWdodE1hcEludGVuc2l0eT0xLHRoaXMuYW9NYXA9bnVsbCx0aGlzLmFvTWFwSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZT1uZXcgczR0KDApLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9MSx0aGlzLmVtaXNzaXZlTWFwPW51bGwsdGhpcy5idW1wTWFwPW51bGwsdGhpcy5idW1wU2NhbGU9MSx0aGlzLm5vcm1hbE1hcD1udWxsLHRoaXMubm9ybWFsTWFwVHlwZT0wLHRoaXMubm9ybWFsU2NhbGU9bmV3IEM1dCgxLDEpLHRoaXMuZGlzcGxhY2VtZW50TWFwPW51bGwsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz0wLHRoaXMuc3BlY3VsYXJNYXA9bnVsbCx0aGlzLmFscGhhTWFwPW51bGwsdGhpcy5lbnZNYXA9bnVsbCx0aGlzLmNvbWJpbmU9MCx0aGlzLnJlZmxlY3Rpdml0eT0xLHRoaXMucmVmcmFjdGlvblJhdGlvPS45OCx0aGlzLndpcmVmcmFtZT0hMSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xLHRoaXMud2lyZWZyYW1lTGluZWNhcD0icm91bmQiLHRoaXMud2lyZWZyYW1lTGluZWpvaW49InJvdW5kIix0aGlzLmZsYXRTaGFkaW5nPSExLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMuc3BlY3VsYXIuY29weSh0LnNwZWN1bGFyKSx0aGlzLnNoaW5pbmVzcz10LnNoaW5pbmVzcyx0aGlzLm1hcD10Lm1hcCx0aGlzLmxpZ2h0TWFwPXQubGlnaHRNYXAsdGhpcy5saWdodE1hcEludGVuc2l0eT10LmxpZ2h0TWFwSW50ZW5zaXR5LHRoaXMuYW9NYXA9dC5hb01hcCx0aGlzLmFvTWFwSW50ZW5zaXR5PXQuYW9NYXBJbnRlbnNpdHksdGhpcy5lbWlzc2l2ZS5jb3B5KHQuZW1pc3NpdmUpLHRoaXMuZW1pc3NpdmVNYXA9dC5lbWlzc2l2ZU1hcCx0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PXQuZW1pc3NpdmVJbnRlbnNpdHksdGhpcy5idW1wTWFwPXQuYnVtcE1hcCx0aGlzLmJ1bXBTY2FsZT10LmJ1bXBTY2FsZSx0aGlzLm5vcm1hbE1hcD10Lm5vcm1hbE1hcCx0aGlzLm5vcm1hbE1hcFR5cGU9dC5ub3JtYWxNYXBUeXBlLHRoaXMubm9ybWFsU2NhbGUuY29weSh0Lm5vcm1hbFNjYWxlKSx0aGlzLmRpc3BsYWNlbWVudE1hcD10LmRpc3BsYWNlbWVudE1hcCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPXQuZGlzcGxhY2VtZW50U2NhbGUsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPXQuZGlzcGxhY2VtZW50Qmlhcyx0aGlzLnNwZWN1bGFyTWFwPXQuc3BlY3VsYXJNYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZW52TWFwPXQuZW52TWFwLHRoaXMuY29tYmluZT10LmNvbWJpbmUsdGhpcy5yZWZsZWN0aXZpdHk9dC5yZWZsZWN0aXZpdHksdGhpcy5yZWZyYWN0aW9uUmF0aW89dC5yZWZyYWN0aW9uUmF0aW8sdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCx0aGlzLndpcmVmcmFtZUxpbmVqb2luPXQud2lyZWZyYW1lTGluZWpvaW4sdGhpcy5mbGF0U2hhZGluZz10LmZsYXRTaGFkaW5nLHRoaXN9fUZlZS5wcm90b3R5cGUuaXNNZXNoUGhvbmdNYXRlcmlhbD0hMDtjbGFzcyBWZWUgZXh0ZW5kcyB0NHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLmRlZmluZXM9e1RPT046IiJ9LHRoaXMudHlwZT0iTWVzaFRvb25NYXRlcmlhbCIsdGhpcy5jb2xvcj1uZXcgczR0KDE2Nzc3MjE1KSx0aGlzLm1hcD1udWxsLHRoaXMuZ3JhZGllbnRNYXA9bnVsbCx0aGlzLmxpZ2h0TWFwPW51bGwsdGhpcy5saWdodE1hcEludGVuc2l0eT0xLHRoaXMuYW9NYXA9bnVsbCx0aGlzLmFvTWFwSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZT1uZXcgczR0KDApLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9MSx0aGlzLmVtaXNzaXZlTWFwPW51bGwsdGhpcy5idW1wTWFwPW51bGwsdGhpcy5idW1wU2NhbGU9MSx0aGlzLm5vcm1hbE1hcD1udWxsLHRoaXMubm9ybWFsTWFwVHlwZT0wLHRoaXMubm9ybWFsU2NhbGU9bmV3IEM1dCgxLDEpLHRoaXMuZGlzcGxhY2VtZW50TWFwPW51bGwsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz0wLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLndpcmVmcmFtZT0hMSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xLHRoaXMud2lyZWZyYW1lTGluZWNhcD0icm91bmQiLHRoaXMud2lyZWZyYW1lTGluZWpvaW49InJvdW5kIix0aGlzLnNldFZhbHVlcyh0KX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuY29sb3IuY29weSh0LmNvbG9yKSx0aGlzLm1hcD10Lm1hcCx0aGlzLmdyYWRpZW50TWFwPXQuZ3JhZGllbnRNYXAsdGhpcy5saWdodE1hcD10LmxpZ2h0TWFwLHRoaXMubGlnaHRNYXBJbnRlbnNpdHk9dC5saWdodE1hcEludGVuc2l0eSx0aGlzLmFvTWFwPXQuYW9NYXAsdGhpcy5hb01hcEludGVuc2l0eT10LmFvTWFwSW50ZW5zaXR5LHRoaXMuZW1pc3NpdmUuY29weSh0LmVtaXNzaXZlKSx0aGlzLmVtaXNzaXZlTWFwPXQuZW1pc3NpdmVNYXAsdGhpcy5lbWlzc2l2ZUludGVuc2l0eT10LmVtaXNzaXZlSW50ZW5zaXR5LHRoaXMuYnVtcE1hcD10LmJ1bXBNYXAsdGhpcy5idW1wU2NhbGU9dC5idW1wU2NhbGUsdGhpcy5ub3JtYWxNYXA9dC5ub3JtYWxNYXAsdGhpcy5ub3JtYWxNYXBUeXBlPXQubm9ybWFsTWFwVHlwZSx0aGlzLm5vcm1hbFNjYWxlLmNvcHkodC5ub3JtYWxTY2FsZSksdGhpcy5kaXNwbGFjZW1lbnRNYXA9dC5kaXNwbGFjZW1lbnRNYXAsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT10LmRpc3BsYWNlbWVudFNjYWxlLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz10LmRpc3BsYWNlbWVudEJpYXMsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMud2lyZWZyYW1lPXQud2lyZWZyYW1lLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPXQud2lyZWZyYW1lTGluZXdpZHRoLHRoaXMud2lyZWZyYW1lTGluZWNhcD10LndpcmVmcmFtZUxpbmVjYXAsdGhpcy53aXJlZnJhbWVMaW5lam9pbj10LndpcmVmcmFtZUxpbmVqb2luLHRoaXN9fVZlZS5wcm90b3R5cGUuaXNNZXNoVG9vbk1hdGVyaWFsPSEwO2NsYXNzIFVlZSBleHRlbmRzIHQ0dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iTWVzaE5vcm1hbE1hdGVyaWFsIix0aGlzLmJ1bXBNYXA9bnVsbCx0aGlzLmJ1bXBTY2FsZT0xLHRoaXMubm9ybWFsTWFwPW51bGwsdGhpcy5ub3JtYWxNYXBUeXBlPTAsdGhpcy5ub3JtYWxTY2FsZT1uZXcgQzV0KDEsMSksdGhpcy5kaXNwbGFjZW1lbnRNYXA9bnVsbCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPTEsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPTAsdGhpcy53aXJlZnJhbWU9ITEsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9MSx0aGlzLmZvZz0hMSx0aGlzLmZsYXRTaGFkaW5nPSExLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5idW1wTWFwPXQuYnVtcE1hcCx0aGlzLmJ1bXBTY2FsZT10LmJ1bXBTY2FsZSx0aGlzLm5vcm1hbE1hcD10Lm5vcm1hbE1hcCx0aGlzLm5vcm1hbE1hcFR5cGU9dC5ub3JtYWxNYXBUeXBlLHRoaXMubm9ybWFsU2NhbGUuY29weSh0Lm5vcm1hbFNjYWxlKSx0aGlzLmRpc3BsYWNlbWVudE1hcD10LmRpc3BsYWNlbWVudE1hcCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPXQuZGlzcGxhY2VtZW50U2NhbGUsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPXQuZGlzcGxhY2VtZW50Qmlhcyx0aGlzLndpcmVmcmFtZT10LndpcmVmcmFtZSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD10LndpcmVmcmFtZUxpbmV3aWR0aCx0aGlzLmZsYXRTaGFkaW5nPXQuZmxhdFNoYWRpbmcsdGhpc319VWVlLnByb3RvdHlwZS5pc01lc2hOb3JtYWxNYXRlcmlhbD0hMDtjbGFzcyBqZWUgZXh0ZW5kcyB0NHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9Ik1lc2hMYW1iZXJ0TWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IHM0dCgxNjc3NzIxNSksdGhpcy5tYXA9bnVsbCx0aGlzLmxpZ2h0TWFwPW51bGwsdGhpcy5saWdodE1hcEludGVuc2l0eT0xLHRoaXMuYW9NYXA9bnVsbCx0aGlzLmFvTWFwSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZT1uZXcgczR0KDApLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9MSx0aGlzLmVtaXNzaXZlTWFwPW51bGwsdGhpcy5zcGVjdWxhck1hcD1udWxsLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmVudk1hcD1udWxsLHRoaXMuY29tYmluZT0wLHRoaXMucmVmbGVjdGl2aXR5PTEsdGhpcy5yZWZyYWN0aW9uUmF0aW89Ljk4LHRoaXMud2lyZWZyYW1lPSExLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPTEsdGhpcy53aXJlZnJhbWVMaW5lY2FwPSJyb3VuZCIsdGhpcy53aXJlZnJhbWVMaW5lam9pbj0icm91bmQiLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMubGlnaHRNYXA9dC5saWdodE1hcCx0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PXQubGlnaHRNYXBJbnRlbnNpdHksdGhpcy5hb01hcD10LmFvTWFwLHRoaXMuYW9NYXBJbnRlbnNpdHk9dC5hb01hcEludGVuc2l0eSx0aGlzLmVtaXNzaXZlLmNvcHkodC5lbWlzc2l2ZSksdGhpcy5lbWlzc2l2ZU1hcD10LmVtaXNzaXZlTWFwLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9dC5lbWlzc2l2ZUludGVuc2l0eSx0aGlzLnNwZWN1bGFyTWFwPXQuc3BlY3VsYXJNYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZW52TWFwPXQuZW52TWFwLHRoaXMuY29tYmluZT10LmNvbWJpbmUsdGhpcy5yZWZsZWN0aXZpdHk9dC5yZWZsZWN0aXZpdHksdGhpcy5yZWZyYWN0aW9uUmF0aW89dC5yZWZyYWN0aW9uUmF0aW8sdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCx0aGlzLndpcmVmcmFtZUxpbmVqb2luPXQud2lyZWZyYW1lTGluZWpvaW4sdGhpc319amVlLnByb3RvdHlwZS5pc01lc2hMYW1iZXJ0TWF0ZXJpYWw9ITA7Y2xhc3MgR2VlIGV4dGVuZHMgdDR0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5kZWZpbmVzPXtNQVRDQVA6IiJ9LHRoaXMudHlwZT0iTWVzaE1hdGNhcE1hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBzNHQoMTY3NzcyMTUpLHRoaXMubWF0Y2FwPW51bGwsdGhpcy5tYXA9bnVsbCx0aGlzLmJ1bXBNYXA9bnVsbCx0aGlzLmJ1bXBTY2FsZT0xLHRoaXMubm9ybWFsTWFwPW51bGwsdGhpcy5ub3JtYWxNYXBUeXBlPTAsdGhpcy5ub3JtYWxTY2FsZT1uZXcgQzV0KDEsMSksdGhpcy5kaXNwbGFjZW1lbnRNYXA9bnVsbCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPTEsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPTAsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuZmxhdFNoYWRpbmc9ITEsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmRlZmluZXM9e01BVENBUDoiIn0sdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWF0Y2FwPXQubWF0Y2FwLHRoaXMubWFwPXQubWFwLHRoaXMuYnVtcE1hcD10LmJ1bXBNYXAsdGhpcy5idW1wU2NhbGU9dC5idW1wU2NhbGUsdGhpcy5ub3JtYWxNYXA9dC5ub3JtYWxNYXAsdGhpcy5ub3JtYWxNYXBUeXBlPXQubm9ybWFsTWFwVHlwZSx0aGlzLm5vcm1hbFNjYWxlLmNvcHkodC5ub3JtYWxTY2FsZSksdGhpcy5kaXNwbGFjZW1lbnRNYXA9dC5kaXNwbGFjZW1lbnRNYXAsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT10LmRpc3BsYWNlbWVudFNjYWxlLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz10LmRpc3BsYWNlbWVudEJpYXMsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZmxhdFNoYWRpbmc9dC5mbGF0U2hhZGluZyx0aGlzfX1HZWUucHJvdG90eXBlLmlzTWVzaE1hdGNhcE1hdGVyaWFsPSEwO2NsYXNzIFdlZSBleHRlbmRzIFg3dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iTGluZURhc2hlZE1hdGVyaWFsIix0aGlzLnNjYWxlPTEsdGhpcy5kYXNoU2l6ZT0zLHRoaXMuZ2FwU2l6ZT0xLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5zY2FsZT10LnNjYWxlLHRoaXMuZGFzaFNpemU9dC5kYXNoU2l6ZSx0aGlzLmdhcFNpemU9dC5nYXBTaXplLHRoaXN9fVdlZS5wcm90b3R5cGUuaXNMaW5lRGFzaGVkTWF0ZXJpYWw9ITA7dmFyIHFlZT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxTaGFkb3dNYXRlcmlhbDpEZWUsU3ByaXRlTWF0ZXJpYWw6cDd0LFJhd1NoYWRlck1hdGVyaWFsOms2dCxTaGFkZXJNYXRlcmlhbDpuNnQsUG9pbnRzTWF0ZXJpYWw6b3RlLE1lc2hQaHlzaWNhbE1hdGVyaWFsOkhlZSxNZXNoU3RhbmRhcmRNYXRlcmlhbDpCZWUsTWVzaFBob25nTWF0ZXJpYWw6RmVlLE1lc2hUb29uTWF0ZXJpYWw6VmVlLE1lc2hOb3JtYWxNYXRlcmlhbDpVZWUsTWVzaExhbWJlcnRNYXRlcmlhbDpqZWUsTWVzaERlcHRoTWF0ZXJpYWw6WTh0LE1lc2hEaXN0YW5jZU1hdGVyaWFsOlg4dCxNZXNoQmFzaWNNYXRlcmlhbDpsNHQsTWVzaE1hdGNhcE1hdGVyaWFsOkdlZSxMaW5lRGFzaGVkTWF0ZXJpYWw6V2VlLExpbmVCYXNpY01hdGVyaWFsOlg3dCxNYXRlcmlhbDp0NHR9KTtjb25zdCBZZWU9e2FycmF5U2xpY2U6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBZZWUuaXNUeXBlZEFycmF5KHQpP25ldyB0LmNvbnN0cnVjdG9yKHQuc3ViYXJyYXkoZSx2b2lkIDAhPT1uP246dC5sZW5ndGgpKTp0LnNsaWNlKGUsbil9LGNvbnZlcnRBcnJheTpmdW5jdGlvbih0LGUsbil7cmV0dXJuIXR8fCFuJiZ0LmNvbnN0cnVjdG9yPT09ZT90OiJudW1iZXIiPT10eXBlb2YgZS5CWVRFU19QRVJfRUxFTUVOVD9uZXcgZSh0KTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KX0saXNUeXBlZEFycmF5OmZ1bmN0aW9uKHQpe3JldHVybiBBcnJheUJ1ZmZlci5pc1ZpZXcodCkmJiEodCBpbnN0YW5jZW9mIERhdGFWaWV3KX0sZ2V0S2V5ZnJhbWVPcmRlcjpmdW5jdGlvbih0KXtjb25zdCBlPXQubGVuZ3RoLG49bmV3IEFycmF5KGUpO2ZvcihsZXQgdD0wO3QhPT1lOysrdCluW3RdPXQ7cmV0dXJuIG4uc29ydCgoZnVuY3Rpb24gaShlLG4pe3JldHVybiB0W2VdLXRbbl19KSksbn0sc29ydGVkQXJyYXk6ZnVuY3Rpb24odCxlLG4pe2NvbnN0IGk9dC5sZW5ndGgscj1uZXcgdC5jb25zdHJ1Y3RvcihpKTtmb3IobGV0IG89MCxhPTA7YSE9PWk7KytvKXtjb25zdCBpPW5bb10qZTtmb3IobGV0IG49MDtuIT09ZTsrK24pclthKytdPXRbaStuXX1yZXR1cm4gcn0sZmxhdHRlbkpTT046ZnVuY3Rpb24odCxlLG4saSl7bGV0IHI9MSxvPXRbMF07Zm9yKDt2b2lkIDAhPT1vJiZ2b2lkIDA9PT1vW2ldOylvPXRbcisrXTtpZih2b2lkIDA9PT1vKXJldHVybjtsZXQgYT1vW2ldO2lmKHZvaWQgMCE9PWEpaWYoQXJyYXkuaXNBcnJheShhKSlkb3thPW9baV0sdm9pZCAwIT09YSYmKGUucHVzaChvLnRpbWUpLG4ucHVzaC5hcHBseShuLGEpKSxvPXRbcisrXX13aGlsZSh2b2lkIDAhPT1vKTtlbHNlIGlmKHZvaWQgMCE9PWEudG9BcnJheSlkb3thPW9baV0sdm9pZCAwIT09YSYmKGUucHVzaChvLnRpbWUpLGEudG9BcnJheShuLG4ubGVuZ3RoKSksbz10W3IrK119d2hpbGUodm9pZCAwIT09byk7ZWxzZSBkb3thPW9baV0sdm9pZCAwIT09YSYmKGUucHVzaChvLnRpbWUpLG4ucHVzaChhKSksbz10W3IrK119d2hpbGUodm9pZCAwIT09byl9LHN1YmNsaXA6ZnVuY3Rpb24odCxlLG4saSxyPTMwKXtjb25zdCBvPXQuY2xvbmUoKTtvLm5hbWU9ZTtjb25zdCBhPVtdO2ZvcihsZXQgdD0wO3Q8by50cmFja3MubGVuZ3RoOysrdCl7Y29uc3QgZT1vLnRyYWNrc1t0XSxzPWUuZ2V0VmFsdWVTaXplKCksbD1bXSxjPVtdO2ZvcihsZXQgdD0wO3Q8ZS50aW1lcy5sZW5ndGg7Kyt0KXtjb25zdCBvPWUudGltZXNbdF0qcjtpZighKG88bnx8bz49aSkpe2wucHVzaChlLnRpbWVzW3RdKTtmb3IobGV0IG49MDtuPHM7KytuKWMucHVzaChlLnZhbHVlc1t0KnMrbl0pfX0wIT09bC5sZW5ndGgmJihlLnRpbWVzPVllZS5jb252ZXJ0QXJyYXkobCxlLnRpbWVzLmNvbnN0cnVjdG9yKSxlLnZhbHVlcz1ZZWUuY29udmVydEFycmF5KGMsZS52YWx1ZXMuY29uc3RydWN0b3IpLGEucHVzaChlKSl9by50cmFja3M9YTtsZXQgcz0xLzA7Zm9yKGxldCB0PTA7dDxvLnRyYWNrcy5sZW5ndGg7Kyt0KXM+by50cmFja3NbdF0udGltZXNbMF0mJihzPW8udHJhY2tzW3RdLnRpbWVzWzBdKTtmb3IobGV0IHQ9MDt0PG8udHJhY2tzLmxlbmd0aDsrK3Qpby50cmFja3NbdF0uc2hpZnQoLTEqcyk7cmV0dXJuIG8ucmVzZXREdXJhdGlvbigpLG99LG1ha2VDbGlwQWRkaXRpdmU6ZnVuY3Rpb24odCxlPTAsbj10LGk9MzApe2k8PTAmJihpPTMwKTtjb25zdCByPW4udHJhY2tzLmxlbmd0aCxvPWUvaTtmb3IobGV0IGU9MDtlPHI7KytlKXtjb25zdCBpPW4udHJhY2tzW2VdLHI9aS5WYWx1ZVR5cGVOYW1lO2lmKCJib29sIj09PXJ8fCJzdHJpbmciPT09ciljb250aW51ZTtjb25zdCBhPXQudHJhY2tzLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5hbWU9PT1pLm5hbWUmJnQuVmFsdWVUeXBlTmFtZT09PXJ9KSk7aWYodm9pZCAwPT09YSljb250aW51ZTtsZXQgcz0wO2NvbnN0IGw9aS5nZXRWYWx1ZVNpemUoKTtpLmNyZWF0ZUludGVycG9sYW50LmlzSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kR0xURkN1YmljU3BsaW5lJiYocz1sLzMpO2xldCBjPTA7Y29uc3QgdT1hLmdldFZhbHVlU2l6ZSgpO2EuY3JlYXRlSW50ZXJwb2xhbnQuaXNJbnRlcnBvbGFudEZhY3RvcnlNZXRob2RHTFRGQ3ViaWNTcGxpbmUmJihjPXUvMyk7Y29uc3QgaD1pLnRpbWVzLmxlbmd0aC0xO2xldCBkO2lmKG88PWkudGltZXNbMF0pe2Q9WWVlLmFycmF5U2xpY2UoaS52YWx1ZXMscyxsLXMpfWVsc2UgaWYobz49aS50aW1lc1toXSl7Y29uc3QgdD1oKmwrcztkPVllZS5hcnJheVNsaWNlKGkudmFsdWVzLHQsdCtsLXMpfWVsc2V7Y29uc3QgdD1pLmNyZWF0ZUludGVycG9sYW50KCksZT1zLG49bC1zO3QuZXZhbHVhdGUobyksZD1ZZWUuYXJyYXlTbGljZSh0LnJlc3VsdEJ1ZmZlcixlLG4pfWlmKCJxdWF0ZXJuaW9uIj09PXIpeyhuZXcgQjV0KS5mcm9tQXJyYXkoZCkubm9ybWFsaXplKCkuY29uanVnYXRlKCkudG9BcnJheShkKX1jb25zdCBwPWEudGltZXMubGVuZ3RoO2ZvcihsZXQgdD0wO3Q8cDsrK3Qpe2NvbnN0IGU9dCp1K2M7aWYoInF1YXRlcm5pb24iPT09cilCNXQubXVsdGlwbHlRdWF0ZXJuaW9uc0ZsYXQoYS52YWx1ZXMsZSxkLDAsYS52YWx1ZXMsZSk7ZWxzZXtjb25zdCB0PXUtMipjO2ZvcihsZXQgbj0wO248dDsrK24pYS52YWx1ZXNbZStuXS09ZFtuXX19fXJldHVybiB0LmJsZW5kTW9kZT1qMnQsdH19O2NsYXNzIFhlZXtjb25zdHJ1Y3Rvcih0LGUsbixpKXt0aGlzLnBhcmFtZXRlclBvc2l0aW9ucz10LHRoaXMuX2NhY2hlZEluZGV4PTAsdGhpcy5yZXN1bHRCdWZmZXI9dm9pZCAwIT09aT9pOm5ldyBlLmNvbnN0cnVjdG9yKG4pLHRoaXMuc2FtcGxlVmFsdWVzPWUsdGhpcy52YWx1ZVNpemU9bix0aGlzLnNldHRpbmdzPW51bGwsdGhpcy5EZWZhdWx0U2V0dGluZ3NfPXt9fWV2YWx1YXRlKHQpe2NvbnN0IGU9dGhpcy5wYXJhbWV0ZXJQb3NpdGlvbnM7bGV0IG49dGhpcy5fY2FjaGVkSW5kZXgsaT1lW25dLHI9ZVtuLTFdO3Q6e2U6e2xldCBvO246e2k6aWYoISh0PGkpKXtmb3IobGV0IG89bisyOzspe2lmKHZvaWQgMD09PWkpe2lmKHQ8cilicmVhayBpO3JldHVybiBuPWUubGVuZ3RoLHRoaXMuX2NhY2hlZEluZGV4PW4sdGhpcy5hZnRlckVuZF8obi0xLHQscil9aWYobj09PW8pYnJlYWs7aWYocj1pLGk9ZVsrK25dLHQ8aSlicmVhayBlfW89ZS5sZW5ndGg7YnJlYWsgbn1pZih0Pj1yKWJyZWFrIHQ7e2NvbnN0IGE9ZVsxXTt0PGEmJihuPTIscj1hKTtmb3IobGV0IG89bi0yOzspe2lmKHZvaWQgMD09PXIpcmV0dXJuIHRoaXMuX2NhY2hlZEluZGV4PTAsdGhpcy5iZWZvcmVTdGFydF8oMCx0LGkpO2lmKG49PT1vKWJyZWFrO2lmKGk9cixyPWVbLS1uLTFdLHQ+PXIpYnJlYWsgZX1vPW4sbj0wfX1mb3IoO248bzspe2NvbnN0IGk9bitvPj4+MTt0PGVbaV0/bz1pOm49aSsxfWlmKGk9ZVtuXSxyPWVbbi0xXSx2b2lkIDA9PT1yKXJldHVybiB0aGlzLl9jYWNoZWRJbmRleD0wLHRoaXMuYmVmb3JlU3RhcnRfKDAsdCxpKTtpZih2b2lkIDA9PT1pKXJldHVybiBuPWUubGVuZ3RoLHRoaXMuX2NhY2hlZEluZGV4PW4sdGhpcy5hZnRlckVuZF8obi0xLHIsdCl9dGhpcy5fY2FjaGVkSW5kZXg9bix0aGlzLmludGVydmFsQ2hhbmdlZF8obixyLGkpfXJldHVybiB0aGlzLmludGVycG9sYXRlXyhuLHIsdCxpKX1nZXRTZXR0aW5nc18oKXtyZXR1cm4gdGhpcy5zZXR0aW5nc3x8dGhpcy5EZWZhdWx0U2V0dGluZ3NffWNvcHlTYW1wbGVWYWx1ZV8odCl7Y29uc3QgZT10aGlzLnJlc3VsdEJ1ZmZlcixuPXRoaXMuc2FtcGxlVmFsdWVzLGk9dGhpcy52YWx1ZVNpemUscj10Kmk7Zm9yKGxldCB0PTA7dCE9PWk7Kyt0KWVbdF09bltyK3RdO3JldHVybiBlfWludGVycG9sYXRlXygpe3Rocm93IG5ldyBFcnJvcigiY2FsbCB0byBhYnN0cmFjdCBtZXRob2QiKX1pbnRlcnZhbENoYW5nZWRfKCl7fX1YZWUucHJvdG90eXBlLmJlZm9yZVN0YXJ0Xz1YZWUucHJvdG90eXBlLmNvcHlTYW1wbGVWYWx1ZV8sWGVlLnByb3RvdHlwZS5hZnRlckVuZF89WGVlLnByb3RvdHlwZS5jb3B5U2FtcGxlVmFsdWVfO2NsYXNzICRlZSBleHRlbmRzIFhlZXtjb25zdHJ1Y3Rvcih0LGUsbixpKXtzdXBlcih0LGUsbixpKSx0aGlzLl93ZWlnaHRQcmV2PS0wLHRoaXMuX29mZnNldFByZXY9LTAsdGhpcy5fd2VpZ2h0TmV4dD0tMCx0aGlzLl9vZmZzZXROZXh0PS0wLHRoaXMuRGVmYXVsdFNldHRpbmdzXz17ZW5kaW5nU3RhcnQ6SDJ0LGVuZGluZ0VuZDpIMnR9fWludGVydmFsQ2hhbmdlZF8odCxlLG4pe2NvbnN0IGk9dGhpcy5wYXJhbWV0ZXJQb3NpdGlvbnM7bGV0IHI9dC0yLG89dCsxLGE9aVtyXSxzPWlbb107aWYodm9pZCAwPT09YSlzd2l0Y2godGhpcy5nZXRTZXR0aW5nc18oKS5lbmRpbmdTdGFydCl7Y2FzZSBGMnQ6cj10LGE9MiplLW47YnJlYWs7Y2FzZSBWMnQ6cj1pLmxlbmd0aC0yLGE9ZStpW3JdLWlbcisxXTticmVhaztkZWZhdWx0OnI9dCxhPW59aWYodm9pZCAwPT09cylzd2l0Y2godGhpcy5nZXRTZXR0aW5nc18oKS5lbmRpbmdFbmQpe2Nhc2UgRjJ0Om89dCxzPTIqbi1lO2JyZWFrO2Nhc2UgVjJ0Om89MSxzPW4raVsxXS1pWzBdO2JyZWFrO2RlZmF1bHQ6bz10LTEscz1lfWNvbnN0IGw9LjUqKG4tZSksYz10aGlzLnZhbHVlU2l6ZTt0aGlzLl93ZWlnaHRQcmV2PWwvKGUtYSksdGhpcy5fd2VpZ2h0TmV4dD1sLyhzLW4pLHRoaXMuX29mZnNldFByZXY9cipjLHRoaXMuX29mZnNldE5leHQ9bypjfWludGVycG9sYXRlXyh0LGUsbixpKXtjb25zdCByPXRoaXMucmVzdWx0QnVmZmVyLG89dGhpcy5zYW1wbGVWYWx1ZXMsYT10aGlzLnZhbHVlU2l6ZSxzPXQqYSxsPXMtYSxjPXRoaXMuX29mZnNldFByZXYsdT10aGlzLl9vZmZzZXROZXh0LGg9dGhpcy5fd2VpZ2h0UHJldixkPXRoaXMuX3dlaWdodE5leHQscD0obi1lKS8oaS1lKSxmPXAqcCxtPWYqcCxnPS1oKm0rMipoKmYtaCpwLF89KDEraCkqbSsoLTEuNS0yKmgpKmYrKC0uNStoKSpwKzEseT0oLTEtZCkqbSsoMS41K2QpKmYrLjUqcCx2PWQqbS1kKmY7Zm9yKGxldCB0PTA7dCE9PWE7Kyt0KXJbdF09ZypvW2MrdF0rXypvW2wrdF0reSpvW3MrdF0rdipvW3UrdF07cmV0dXJuIHJ9fWNsYXNzIEtlZSBleHRlbmRzIFhlZXtjb25zdHJ1Y3Rvcih0LGUsbixpKXtzdXBlcih0LGUsbixpKX1pbnRlcnBvbGF0ZV8odCxlLG4saSl7Y29uc3Qgcj10aGlzLnJlc3VsdEJ1ZmZlcixvPXRoaXMuc2FtcGxlVmFsdWVzLGE9dGhpcy52YWx1ZVNpemUscz10KmEsbD1zLWEsYz0obi1lKS8oaS1lKSx1PTEtYztmb3IobGV0IHQ9MDt0IT09YTsrK3Qpclt0XT1vW2wrdF0qdStvW3MrdF0qYztyZXR1cm4gcn19Y2xhc3MgWmVlIGV4dGVuZHMgWGVle2NvbnN0cnVjdG9yKHQsZSxuLGkpe3N1cGVyKHQsZSxuLGkpfWludGVycG9sYXRlXyh0KXtyZXR1cm4gdGhpcy5jb3B5U2FtcGxlVmFsdWVfKHQtMSl9fWNsYXNzIEplZXtjb25zdHJ1Y3Rvcih0LGUsbixpKXtpZih2b2lkIDA9PT10KXRocm93IG5ldyBFcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogdHJhY2sgbmFtZSBpcyB1bmRlZmluZWQiKTtpZih2b2lkIDA9PT1lfHwwPT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBubyBrZXlmcmFtZXMgaW4gdHJhY2sgbmFtZWQgIit0KTt0aGlzLm5hbWU9dCx0aGlzLnRpbWVzPVllZS5jb252ZXJ0QXJyYXkoZSx0aGlzLlRpbWVCdWZmZXJUeXBlKSx0aGlzLnZhbHVlcz1ZZWUuY29udmVydEFycmF5KG4sdGhpcy5WYWx1ZUJ1ZmZlclR5cGUpLHRoaXMuc2V0SW50ZXJwb2xhdGlvbihpfHx0aGlzLkRlZmF1bHRJbnRlcnBvbGF0aW9uKX1zdGF0aWMgdG9KU09OKHQpe2NvbnN0IGU9dC5jb25zdHJ1Y3RvcjtsZXQgbjtpZihlLnRvSlNPTiE9PXRoaXMudG9KU09OKW49ZS50b0pTT04odCk7ZWxzZXtuPXtuYW1lOnQubmFtZSx0aW1lczpZZWUuY29udmVydEFycmF5KHQudGltZXMsQXJyYXkpLHZhbHVlczpZZWUuY29udmVydEFycmF5KHQudmFsdWVzLEFycmF5KX07Y29uc3QgZT10LmdldEludGVycG9sYXRpb24oKTtlIT09dC5EZWZhdWx0SW50ZXJwb2xhdGlvbiYmKG4uaW50ZXJwb2xhdGlvbj1lKX1yZXR1cm4gbi50eXBlPXQuVmFsdWVUeXBlTmFtZSxufUludGVycG9sYW50RmFjdG9yeU1ldGhvZERpc2NyZXRlKHQpe3JldHVybiBuZXcgWmVlKHRoaXMudGltZXMsdGhpcy52YWx1ZXMsdGhpcy5nZXRWYWx1ZVNpemUoKSx0KX1JbnRlcnBvbGFudEZhY3RvcnlNZXRob2RMaW5lYXIodCl7cmV0dXJuIG5ldyBLZWUodGhpcy50aW1lcyx0aGlzLnZhbHVlcyx0aGlzLmdldFZhbHVlU2l6ZSgpLHQpfUludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aCh0KXtyZXR1cm4gbmV3ICRlZSh0aGlzLnRpbWVzLHRoaXMudmFsdWVzLHRoaXMuZ2V0VmFsdWVTaXplKCksdCl9c2V0SW50ZXJwb2xhdGlvbih0KXtsZXQgZTtzd2l0Y2godCl7Y2FzZSB6MnQ6ZT10aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZERpc2NyZXRlO2JyZWFrO2Nhc2UgRDJ0OmU9dGhpcy5JbnRlcnBvbGFudEZhY3RvcnlNZXRob2RMaW5lYXI7YnJlYWs7Y2FzZSBCMnQ6ZT10aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aH1pZih2b2lkIDA9PT1lKXtjb25zdCBlPSJ1bnN1cHBvcnRlZCBpbnRlcnBvbGF0aW9uIGZvciAiK3RoaXMuVmFsdWVUeXBlTmFtZSsiIGtleWZyYW1lIHRyYWNrIG5hbWVkICIrdGhpcy5uYW1lO2lmKHZvaWQgMD09PXRoaXMuY3JlYXRlSW50ZXJwb2xhbnQpe2lmKHQ9PT10aGlzLkRlZmF1bHRJbnRlcnBvbGF0aW9uKXRocm93IG5ldyBFcnJvcihlKTt0aGlzLnNldEludGVycG9sYXRpb24odGhpcy5EZWZhdWx0SW50ZXJwb2xhdGlvbil9cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuS2V5ZnJhbWVUcmFjazoiLGUpLHRoaXN9cmV0dXJuIHRoaXMuY3JlYXRlSW50ZXJwb2xhbnQ9ZSx0aGlzfWdldEludGVycG9sYXRpb24oKXtzd2l0Y2godGhpcy5jcmVhdGVJbnRlcnBvbGFudCl7Y2FzZSB0aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZERpc2NyZXRlOnJldHVybiB6MnQ7Y2FzZSB0aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcjpyZXR1cm4gRDJ0O2Nhc2UgdGhpcy5JbnRlcnBvbGFudEZhY3RvcnlNZXRob2RTbW9vdGg6cmV0dXJuIEIydH19Z2V0VmFsdWVTaXplKCl7cmV0dXJuIHRoaXMudmFsdWVzLmxlbmd0aC90aGlzLnRpbWVzLmxlbmd0aH1zaGlmdCh0KXtpZigwIT09dCl7Y29uc3QgZT10aGlzLnRpbWVzO2ZvcihsZXQgbj0wLGk9ZS5sZW5ndGg7biE9PWk7KytuKWVbbl0rPXR9cmV0dXJuIHRoaXN9c2NhbGUodCl7aWYoMSE9PXQpe2NvbnN0IGU9dGhpcy50aW1lcztmb3IobGV0IG49MCxpPWUubGVuZ3RoO24hPT1pOysrbillW25dKj10fXJldHVybiB0aGlzfXRyaW0odCxlKXtjb25zdCBuPXRoaXMudGltZXMsaT1uLmxlbmd0aDtsZXQgcj0wLG89aS0xO2Zvcig7ciE9PWkmJm5bcl08dDspKytyO2Zvcig7LTEhPT1vJiZuW29dPmU7KS0tbztpZigrK28sMCE9PXJ8fG8hPT1pKXtyPj1vJiYobz1NYXRoLm1heChvLDEpLHI9by0xKTtjb25zdCB0PXRoaXMuZ2V0VmFsdWVTaXplKCk7dGhpcy50aW1lcz1ZZWUuYXJyYXlTbGljZShuLHIsbyksdGhpcy52YWx1ZXM9WWVlLmFycmF5U2xpY2UodGhpcy52YWx1ZXMscip0LG8qdCl9cmV0dXJuIHRoaXN9dmFsaWRhdGUoKXtsZXQgdD0hMDtjb25zdCBlPXRoaXMuZ2V0VmFsdWVTaXplKCk7ZS1NYXRoLmZsb29yKGUpIT0wJiYoY29uc29sZS5lcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogSW52YWxpZCB2YWx1ZSBzaXplIGluIHRyYWNrLiIsdGhpcyksdD0hMSk7Y29uc3Qgbj10aGlzLnRpbWVzLGk9dGhpcy52YWx1ZXMscj1uLmxlbmd0aDswPT09ciYmKGNvbnNvbGUuZXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IFRyYWNrIGlzIGVtcHR5LiIsdGhpcyksdD0hMSk7bGV0IG89bnVsbDtmb3IobGV0IGU9MDtlIT09cjtlKyspe2NvbnN0IGk9bltlXTtpZigibnVtYmVyIj09dHlwZW9mIGkmJmlzTmFOKGkpKXtjb25zb2xlLmVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBUaW1lIGlzIG5vdCBhIHZhbGlkIG51bWJlci4iLHRoaXMsZSxpKSx0PSExO2JyZWFrfWlmKG51bGwhPT1vJiZvPmkpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IE91dCBvZiBvcmRlciBrZXlzLiIsdGhpcyxlLGksbyksdD0hMTticmVha31vPWl9aWYodm9pZCAwIT09aSYmWWVlLmlzVHlwZWRBcnJheShpKSlmb3IobGV0IGU9MCxuPWkubGVuZ3RoO2UhPT1uOysrZSl7Y29uc3Qgbj1pW2VdO2lmKGlzTmFOKG4pKXtjb25zb2xlLmVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBWYWx1ZSBpcyBub3QgYSB2YWxpZCBudW1iZXIuIix0aGlzLGUsbiksdD0hMTticmVha319cmV0dXJuIHR9b3B0aW1pemUoKXtjb25zdCB0PVllZS5hcnJheVNsaWNlKHRoaXMudGltZXMpLGU9WWVlLmFycmF5U2xpY2UodGhpcy52YWx1ZXMpLG49dGhpcy5nZXRWYWx1ZVNpemUoKSxpPXRoaXMuZ2V0SW50ZXJwb2xhdGlvbigpPT09QjJ0LHI9dC5sZW5ndGgtMTtsZXQgbz0xO2ZvcihsZXQgYT0xO2E8cjsrK2Epe2xldCByPSExO2NvbnN0IHM9dFthXTtpZihzIT09dFthKzFdJiYoMSE9PWF8fHMhPT10WzBdKSlpZihpKXI9ITA7ZWxzZXtjb25zdCB0PWEqbixpPXQtbixvPXQrbjtmb3IobGV0IGE9MDthIT09bjsrK2Epe2NvbnN0IG49ZVt0K2FdO2lmKG4hPT1lW2krYV18fG4hPT1lW28rYV0pe3I9ITA7YnJlYWt9fX1pZihyKXtpZihhIT09byl7dFtvXT10W2FdO2NvbnN0IGk9YSpuLHI9bypuO2ZvcihsZXQgdD0wO3QhPT1uOysrdCllW3IrdF09ZVtpK3RdfSsrb319aWYocj4wKXt0W29dPXRbcl07Zm9yKGxldCB0PXIqbixpPW8qbixhPTA7YSE9PW47KythKWVbaSthXT1lW3QrYV07KytvfXJldHVybiBvIT09dC5sZW5ndGg/KHRoaXMudGltZXM9WWVlLmFycmF5U2xpY2UodCwwLG8pLHRoaXMudmFsdWVzPVllZS5hcnJheVNsaWNlKGUsMCxvKm4pKToodGhpcy50aW1lcz10LHRoaXMudmFsdWVzPWUpLHRoaXN9Y2xvbmUoKXtjb25zdCB0PVllZS5hcnJheVNsaWNlKHRoaXMudGltZXMsMCksZT1ZZWUuYXJyYXlTbGljZSh0aGlzLnZhbHVlcywwKSxuPW5ldygwLHRoaXMuY29uc3RydWN0b3IpKHRoaXMubmFtZSx0LGUpO3JldHVybiBuLmNyZWF0ZUludGVycG9sYW50PXRoaXMuY3JlYXRlSW50ZXJwb2xhbnQsbn19SmVlLnByb3RvdHlwZS5UaW1lQnVmZmVyVHlwZT1GbG9hdDMyQXJyYXksSmVlLnByb3RvdHlwZS5WYWx1ZUJ1ZmZlclR5cGU9RmxvYXQzMkFycmF5LEplZS5wcm90b3R5cGUuRGVmYXVsdEludGVycG9sYXRpb249RDJ0O2NsYXNzIFFlZSBleHRlbmRzIEplZXt9UWVlLnByb3RvdHlwZS5WYWx1ZVR5cGVOYW1lPSJib29sIixRZWUucHJvdG90eXBlLlZhbHVlQnVmZmVyVHlwZT1BcnJheSxRZWUucHJvdG90eXBlLkRlZmF1bHRJbnRlcnBvbGF0aW9uPXoydCxRZWUucHJvdG90eXBlLkludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcj12b2lkIDAsUWVlLnByb3RvdHlwZS5JbnRlcnBvbGFudEZhY3RvcnlNZXRob2RTbW9vdGg9dm9pZCAwO2NsYXNzIHRuZSBleHRlbmRzIEplZXt9dG5lLnByb3RvdHlwZS5WYWx1ZVR5cGVOYW1lPSJjb2xvciI7Y2xhc3MgZW5lIGV4dGVuZHMgSmVle31lbmUucHJvdG90eXBlLlZhbHVlVHlwZU5hbWU9Im51bWJlciI7Y2xhc3Mgbm5lIGV4dGVuZHMgWGVle2NvbnN0cnVjdG9yKHQsZSxuLGkpe3N1cGVyKHQsZSxuLGkpfWludGVycG9sYXRlXyh0LGUsbixpKXtjb25zdCByPXRoaXMucmVzdWx0QnVmZmVyLG89dGhpcy5zYW1wbGVWYWx1ZXMsYT10aGlzLnZhbHVlU2l6ZSxzPShuLWUpLyhpLWUpO2xldCBsPXQqYTtmb3IobGV0IHQ9bCthO2whPT10O2wrPTQpQjV0LnNsZXJwRmxhdChyLDAsbyxsLWEsbyxsLHMpO3JldHVybiByfX1jbGFzcyBpbmUgZXh0ZW5kcyBKZWV7SW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kTGluZWFyKHQpe3JldHVybiBuZXcgbm5lKHRoaXMudGltZXMsdGhpcy52YWx1ZXMsdGhpcy5nZXRWYWx1ZVNpemUoKSx0KX19aW5lLnByb3RvdHlwZS5WYWx1ZVR5cGVOYW1lPSJxdWF0ZXJuaW9uIixpbmUucHJvdG90eXBlLkRlZmF1bHRJbnRlcnBvbGF0aW9uPUQydCxpbmUucHJvdG90eXBlLkludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aD12b2lkIDA7Y2xhc3Mgcm5lIGV4dGVuZHMgSmVle31ybmUucHJvdG90eXBlLlZhbHVlVHlwZU5hbWU9InN0cmluZyIscm5lLnByb3RvdHlwZS5WYWx1ZUJ1ZmZlclR5cGU9QXJyYXkscm5lLnByb3RvdHlwZS5EZWZhdWx0SW50ZXJwb2xhdGlvbj16MnQscm5lLnByb3RvdHlwZS5JbnRlcnBvbGFudEZhY3RvcnlNZXRob2RMaW5lYXI9dm9pZCAwLHJuZS5wcm90b3R5cGUuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kU21vb3RoPXZvaWQgMDtjbGFzcyBvbmUgZXh0ZW5kcyBKZWV7fW9uZS5wcm90b3R5cGUuVmFsdWVUeXBlTmFtZT0idmVjdG9yIjtjbGFzcyBhbmV7Y29uc3RydWN0b3IodCxlPS0xLG4saT0yNTAwKXt0aGlzLm5hbWU9dCx0aGlzLnRyYWNrcz1uLHRoaXMuZHVyYXRpb249ZSx0aGlzLmJsZW5kTW9kZT1pLHRoaXMudXVpZD1hNXQoKSx0aGlzLmR1cmF0aW9uPDAmJnRoaXMucmVzZXREdXJhdGlvbigpfXN0YXRpYyBwYXJzZSh0KXtjb25zdCBlPVtdLG49dC50cmFja3MsaT0xLyh0LmZwc3x8MSk7Zm9yKGxldCB0PTAscj1uLmxlbmd0aDt0IT09cjsrK3QpZS5wdXNoKHNuZShuW3RdKS5zY2FsZShpKSk7Y29uc3Qgcj1uZXcgdGhpcyh0Lm5hbWUsdC5kdXJhdGlvbixlLHQuYmxlbmRNb2RlKTtyZXR1cm4gci51dWlkPXQudXVpZCxyfXN0YXRpYyB0b0pTT04odCl7Y29uc3QgZT1bXSxuPXQudHJhY2tzLGk9e25hbWU6dC5uYW1lLGR1cmF0aW9uOnQuZHVyYXRpb24sdHJhY2tzOmUsdXVpZDp0LnV1aWQsYmxlbmRNb2RlOnQuYmxlbmRNb2RlfTtmb3IobGV0IHQ9MCxpPW4ubGVuZ3RoO3QhPT1pOysrdCllLnB1c2goSmVlLnRvSlNPTihuW3RdKSk7cmV0dXJuIGl9c3RhdGljIENyZWF0ZUZyb21Nb3JwaFRhcmdldFNlcXVlbmNlKHQsZSxuLGkpe2NvbnN0IHI9ZS5sZW5ndGgsbz1bXTtmb3IobGV0IHQ9MDt0PHI7dCsrKXtsZXQgYT1bXSxzPVtdO2EucHVzaCgodCtyLTEpJXIsdCwodCsxKSVyKSxzLnB1c2goMCwxLDApO2NvbnN0IGw9WWVlLmdldEtleWZyYW1lT3JkZXIoYSk7YT1ZZWUuc29ydGVkQXJyYXkoYSwxLGwpLHM9WWVlLnNvcnRlZEFycmF5KHMsMSxsKSxpfHwwIT09YVswXXx8KGEucHVzaChyKSxzLnB1c2goc1swXSkpLG8ucHVzaChuZXcgZW5lKCIubW9ycGhUYXJnZXRJbmZsdWVuY2VzWyIrZVt0XS5uYW1lKyJdIixhLHMpLnNjYWxlKDEvbikpfXJldHVybiBuZXcgdGhpcyh0LC0xLG8pfXN0YXRpYyBmaW5kQnlOYW1lKHQsZSl7bGV0IG49dDtpZighQXJyYXkuaXNBcnJheSh0KSl7Y29uc3QgZT10O249ZS5nZW9tZXRyeSYmZS5nZW9tZXRyeS5hbmltYXRpb25zfHxlLmFuaW1hdGlvbnN9Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0KyspaWYoblt0XS5uYW1lPT09ZSlyZXR1cm4gblt0XTtyZXR1cm4gbnVsbH1zdGF0aWMgQ3JlYXRlQ2xpcHNGcm9tTW9ycGhUYXJnZXRTZXF1ZW5jZXModCxlLG4pe2NvbnN0IGk9e30scj0vXihbXHctXSo/KShbXGRdKykkLztmb3IobGV0IGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dFtlXSxvPW4ubmFtZS5tYXRjaChyKTtpZihvJiZvLmxlbmd0aD4xKXtjb25zdCB0PW9bMV07bGV0IGU9aVt0XTtlfHwoaVt0XT1lPVtdKSxlLnB1c2gobil9fWNvbnN0IG89W107Zm9yKGNvbnN0IHQgaW4gaSlvLnB1c2godGhpcy5DcmVhdGVGcm9tTW9ycGhUYXJnZXRTZXF1ZW5jZSh0LGlbdF0sZSxuKSk7cmV0dXJuIG99c3RhdGljIHBhcnNlQW5pbWF0aW9uKHQsZSl7aWYoIXQpcmV0dXJuIGNvbnNvbGUuZXJyb3IoIlRIUkVFLkFuaW1hdGlvbkNsaXA6IE5vIGFuaW1hdGlvbiBpbiBKU09OTG9hZGVyIGRhdGEuIiksbnVsbDtjb25zdCBuPWZ1bmN0aW9uKHQsZSxuLGkscil7aWYoMCE9PW4ubGVuZ3RoKXtjb25zdCBvPVtdLGE9W107WWVlLmZsYXR0ZW5KU09OKG4sbyxhLGkpLDAhPT1vLmxlbmd0aCYmci5wdXNoKG5ldyB0KGUsbyxhKSl9fSxpPVtdLHI9dC5uYW1lfHwiZGVmYXVsdCIsbz10LmZwc3x8MzAsYT10LmJsZW5kTW9kZTtsZXQgcz10Lmxlbmd0aHx8LTE7Y29uc3QgbD10LmhpZXJhcmNoeXx8W107Zm9yKGxldCB0PTA7dDxsLmxlbmd0aDt0Kyspe2NvbnN0IHI9bFt0XS5rZXlzO2lmKHImJjAhPT1yLmxlbmd0aClpZihyWzBdLm1vcnBoVGFyZ2V0cyl7Y29uc3QgdD17fTtsZXQgZTtmb3IoZT0wO2U8ci5sZW5ndGg7ZSsrKWlmKHJbZV0ubW9ycGhUYXJnZXRzKWZvcihsZXQgbj0wO248cltlXS5tb3JwaFRhcmdldHMubGVuZ3RoO24rKyl0W3JbZV0ubW9ycGhUYXJnZXRzW25dXT0tMTtmb3IoY29uc3QgbiBpbiB0KXtjb25zdCB0PVtdLG89W107Zm9yKGxldCBpPTA7aSE9PXJbZV0ubW9ycGhUYXJnZXRzLmxlbmd0aDsrK2kpe2NvbnN0IGk9cltlXTt0LnB1c2goaS50aW1lKSxvLnB1c2goaS5tb3JwaFRhcmdldD09PW4/MTowKX1pLnB1c2gobmV3IGVuZSgiLm1vcnBoVGFyZ2V0SW5mbHVlbmNlWyIrbisiXSIsdCxvKSl9cz10Lmxlbmd0aCoob3x8MSl9ZWxzZXtjb25zdCBvPSIuYm9uZXNbIitlW3RdLm5hbWUrIl0iO24ob25lLG8rIi5wb3NpdGlvbiIsciwicG9zIixpKSxuKGluZSxvKyIucXVhdGVybmlvbiIsciwicm90IixpKSxuKG9uZSxvKyIuc2NhbGUiLHIsInNjbCIsaSl9fWlmKDA9PT1pLmxlbmd0aClyZXR1cm4gbnVsbDtyZXR1cm4gbmV3IHRoaXMocixzLGksYSl9cmVzZXREdXJhdGlvbigpe2xldCB0PTA7Zm9yKGxldCBlPTAsbj10aGlzLnRyYWNrcy5sZW5ndGg7ZSE9PW47KytlKXtjb25zdCBuPXRoaXMudHJhY2tzW2VdO3Q9TWF0aC5tYXgodCxuLnRpbWVzW24udGltZXMubGVuZ3RoLTFdKX1yZXR1cm4gdGhpcy5kdXJhdGlvbj10LHRoaXN9dHJpbSgpe2ZvcihsZXQgdD0wO3Q8dGhpcy50cmFja3MubGVuZ3RoO3QrKyl0aGlzLnRyYWNrc1t0XS50cmltKDAsdGhpcy5kdXJhdGlvbik7cmV0dXJuIHRoaXN9dmFsaWRhdGUoKXtsZXQgdD0hMDtmb3IobGV0IGU9MDtlPHRoaXMudHJhY2tzLmxlbmd0aDtlKyspdD10JiZ0aGlzLnRyYWNrc1tlXS52YWxpZGF0ZSgpO3JldHVybiB0fW9wdGltaXplKCl7Zm9yKGxldCB0PTA7dDx0aGlzLnRyYWNrcy5sZW5ndGg7dCsrKXRoaXMudHJhY2tzW3RdLm9wdGltaXplKCk7cmV0dXJuIHRoaXN9Y2xvbmUoKXtjb25zdCB0PVtdO2ZvcihsZXQgZT0wO2U8dGhpcy50cmFja3MubGVuZ3RoO2UrKyl0LnB1c2godGhpcy50cmFja3NbZV0uY2xvbmUoKSk7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMubmFtZSx0aGlzLmR1cmF0aW9uLHQsdGhpcy5ibGVuZE1vZGUpfXRvSlNPTigpe3JldHVybiB0aGlzLmNvbnN0cnVjdG9yLnRvSlNPTih0aGlzKX19ZnVuY3Rpb24gc25lKHQpe2lmKHZvaWQgMD09PXQudHlwZSl0aHJvdyBuZXcgRXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IHRyYWNrIHR5cGUgdW5kZWZpbmVkLCBjYW4gbm90IHBhcnNlIik7Y29uc3QgZT0oZnVuY3Rpb24gbih0KXtzd2l0Y2godC50b0xvd2VyQ2FzZSgpKXtjYXNlInNjYWxhciI6Y2FzZSJkb3VibGUiOmNhc2UiZmxvYXQiOmNhc2UibnVtYmVyIjpjYXNlImludGVnZXIiOnJldHVybiBlbmU7Y2FzZSJ2ZWN0b3IiOmNhc2UidmVjdG9yMiI6Y2FzZSJ2ZWN0b3IzIjpjYXNlInZlY3RvcjQiOnJldHVybiBvbmU7Y2FzZSJjb2xvciI6cmV0dXJuIHRuZTtjYXNlInF1YXRlcm5pb24iOnJldHVybiBpbmU7Y2FzZSJib29sIjpjYXNlImJvb2xlYW4iOnJldHVybiBRZWU7Y2FzZSJzdHJpbmciOnJldHVybiBybmV9dGhyb3cgbmV3IEVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBVbnN1cHBvcnRlZCB0eXBlTmFtZTogIit0KX0pKHQudHlwZSk7aWYodm9pZCAwPT09dC50aW1lcyl7Y29uc3QgZT1bXSxuPVtdO1llZS5mbGF0dGVuSlNPTih0LmtleXMsZSxuLCJ2YWx1ZSIpLHQudGltZXM9ZSx0LnZhbHVlcz1ufXJldHVybiB2b2lkIDAhPT1lLnBhcnNlP2UucGFyc2UodCk6bmV3IGUodC5uYW1lLHQudGltZXMsdC52YWx1ZXMsdC5pbnRlcnBvbGF0aW9uKX1jb25zdCBsbmU9e2VuYWJsZWQ6ITEsZmlsZXM6e30sYWRkOmZ1bmN0aW9uKHQsZSl7ITEhPT10aGlzLmVuYWJsZWQmJih0aGlzLmZpbGVzW3RdPWUpfSxnZXQ6ZnVuY3Rpb24odCl7aWYoITEhPT10aGlzLmVuYWJsZWQpcmV0dXJuIHRoaXMuZmlsZXNbdF19LHJlbW92ZTpmdW5jdGlvbih0KXtkZWxldGUgdGhpcy5maWxlc1t0XX0sY2xlYXI6ZnVuY3Rpb24oKXt0aGlzLmZpbGVzPXt9fX07Y2xhc3MgY25le2NvbnN0cnVjdG9yKHQsZSxuKXtjb25zdCBpPXRoaXM7bGV0IHIsbz0hMSxhPTAscz0wO2NvbnN0IGw9W107dGhpcy5vblN0YXJ0PXZvaWQgMCx0aGlzLm9uTG9hZD10LHRoaXMub25Qcm9ncmVzcz1lLHRoaXMub25FcnJvcj1uLHRoaXMuaXRlbVN0YXJ0PWZ1bmN0aW9uKHQpe3MrKywhMT09PW8mJnZvaWQgMCE9PWkub25TdGFydCYmaS5vblN0YXJ0KHQsYSxzKSxvPSEwfSx0aGlzLml0ZW1FbmQ9ZnVuY3Rpb24odCl7YSsrLHZvaWQgMCE9PWkub25Qcm9ncmVzcyYmaS5vblByb2dyZXNzKHQsYSxzKSxhPT09cyYmKG89ITEsdm9pZCAwIT09aS5vbkxvYWQmJmkub25Mb2FkKCkpfSx0aGlzLml0ZW1FcnJvcj1mdW5jdGlvbih0KXt2b2lkIDAhPT1pLm9uRXJyb3ImJmkub25FcnJvcih0KX0sdGhpcy5yZXNvbHZlVVJMPWZ1bmN0aW9uKHQpe3JldHVybiByP3IodCk6dH0sdGhpcy5zZXRVUkxNb2RpZmllcj1mdW5jdGlvbih0KXtyZXR1cm4gcj10LHRoaXN9LHRoaXMuYWRkSGFuZGxlcj1mdW5jdGlvbih0LGUpe3JldHVybiBsLnB1c2godCxlKSx0aGlzfSx0aGlzLnJlbW92ZUhhbmRsZXI9ZnVuY3Rpb24odCl7Y29uc3QgZT1sLmluZGV4T2YodCk7cmV0dXJuLTEhPT1lJiZsLnNwbGljZShlLDIpLHRoaXN9LHRoaXMuZ2V0SGFuZGxlcj1mdW5jdGlvbih0KXtmb3IobGV0IGU9MCxuPWwubGVuZ3RoO2U8bjtlKz0yKXtjb25zdCBuPWxbZV0saT1sW2UrMV07aWYobi5nbG9iYWwmJihuLmxhc3RJbmRleD0wKSxuLnRlc3QodCkpcmV0dXJuIGl9cmV0dXJuIG51bGx9fX1jb25zdCB1bmU9bmV3IGNuZTtjbGFzcyBobmV7Y29uc3RydWN0b3IodCl7dGhpcy5tYW5hZ2VyPXZvaWQgMCE9PXQ/dDp1bmUsdGhpcy5jcm9zc09yaWdpbj0iYW5vbnltb3VzIix0aGlzLndpdGhDcmVkZW50aWFscz0hMSx0aGlzLnBhdGg9IiIsdGhpcy5yZXNvdXJjZVBhdGg9IiIsdGhpcy5yZXF1ZXN0SGVhZGVyPXt9fWxvYWQoKXt9bG9hZEFzeW5jKHQsZSl7Y29uc3Qgbj10aGlzO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oaSxyKXtuLmxvYWQodCxpLGUscil9KSl9cGFyc2UoKXt9c2V0Q3Jvc3NPcmlnaW4odCl7cmV0dXJuIHRoaXMuY3Jvc3NPcmlnaW49dCx0aGlzfXNldFdpdGhDcmVkZW50aWFscyh0KXtyZXR1cm4gdGhpcy53aXRoQ3JlZGVudGlhbHM9dCx0aGlzfXNldFBhdGgodCl7cmV0dXJuIHRoaXMucGF0aD10LHRoaXN9c2V0UmVzb3VyY2VQYXRoKHQpe3JldHVybiB0aGlzLnJlc291cmNlUGF0aD10LHRoaXN9c2V0UmVxdWVzdEhlYWRlcih0KXtyZXR1cm4gdGhpcy5yZXF1ZXN0SGVhZGVyPXQsdGhpc319Y29uc3QgZG5lPXt9O2NsYXNzIHBuZSBleHRlbmRzIGhuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1sb2FkKHQsZSxuLGkpe3ZvaWQgMD09PXQmJih0PSIiKSx2b2lkIDAhPT10aGlzLnBhdGgmJih0PXRoaXMucGF0aCt0KSx0PXRoaXMubWFuYWdlci5yZXNvbHZlVVJMKHQpO2NvbnN0IHI9dGhpcyxvPWxuZS5nZXQodCk7aWYodm9pZCAwIT09bylyZXR1cm4gci5tYW5hZ2VyLml0ZW1TdGFydCh0KSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2UmJmUobyksci5tYW5hZ2VyLml0ZW1FbmQodCl9KSwwKSxvO2lmKHZvaWQgMCE9PWRuZVt0XSlyZXR1cm4gdm9pZCBkbmVbdF0ucHVzaCh7b25Mb2FkOmUsb25Qcm9ncmVzczpuLG9uRXJyb3I6aX0pO2NvbnN0IGE9dC5tYXRjaCgvXmRhdGE6KC4qPykoO2Jhc2U2NCk/LCguKikkLyk7bGV0IHM7aWYoYSl7Y29uc3Qgbj1hWzFdLG89ISFhWzJdO2xldCBzPWFbM107cz1kZWNvZGVVUklDb21wb25lbnQocyksbyYmKHM9YXRvYihzKSk7dHJ5e2xldCBpO2NvbnN0IG89KHRoaXMucmVzcG9uc2VUeXBlfHwiIikudG9Mb3dlckNhc2UoKTtzd2l0Y2gobyl7Y2FzZSJhcnJheWJ1ZmZlciI6Y2FzZSJibG9iIjpjb25zdCB0PW5ldyBVaW50OEFycmF5KHMubGVuZ3RoKTtmb3IobGV0IGU9MDtlPHMubGVuZ3RoO2UrKyl0W2VdPXMuY2hhckNvZGVBdChlKTtpPSJibG9iIj09PW8/bmV3IEJsb2IoW3QuYnVmZmVyXSx7dHlwZTpufSk6dC5idWZmZXI7YnJlYWs7Y2FzZSJkb2N1bWVudCI6Y29uc3QgZT1uZXcgRE9NUGFyc2VyO2k9ZS5wYXJzZUZyb21TdHJpbmcocyxuKTticmVhaztjYXNlImpzb24iOmk9SlNPTi5wYXJzZShzKTticmVhaztkZWZhdWx0Omk9c31zZXRUaW1lb3V0KChmdW5jdGlvbigpe2UmJmUoaSksci5tYW5hZ2VyLml0ZW1FbmQodCl9KSwwKX1jYXRjaChlKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe2kmJmkoZSksci5tYW5hZ2VyLml0ZW1FcnJvcih0KSxyLm1hbmFnZXIuaXRlbUVuZCh0KX0pLDApfX1lbHNle2RuZVt0XT1bXSxkbmVbdF0ucHVzaCh7b25Mb2FkOmUsb25Qcm9ncmVzczpuLG9uRXJyb3I6aX0pLHM9bmV3IFhNTEh0dHBSZXF1ZXN0LHMub3BlbigiR0VUIix0LCEwKSxzLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLChmdW5jdGlvbihlKXtjb25zdCBuPXRoaXMucmVzcG9uc2UsaT1kbmVbdF07aWYoZGVsZXRlIGRuZVt0XSwyMDA9PT10aGlzLnN0YXR1c3x8MD09PXRoaXMuc3RhdHVzKXswPT09dGhpcy5zdGF0dXMmJmNvbnNvbGUud2FybigiVEhSRUUuRmlsZUxvYWRlcjogSFRUUCBTdGF0dXMgMCByZWNlaXZlZC4iKSxsbmUuYWRkKHQsbik7Zm9yKGxldCB0PTAsZT1pLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPWlbdF07ZS5vbkxvYWQmJmUub25Mb2FkKG4pfXIubWFuYWdlci5pdGVtRW5kKHQpfWVsc2V7Zm9yKGxldCB0PTAsbj1pLmxlbmd0aDt0PG47dCsrKXtjb25zdCBuPWlbdF07bi5vbkVycm9yJiZuLm9uRXJyb3IoZSl9ci5tYW5hZ2VyLml0ZW1FcnJvcih0KSxyLm1hbmFnZXIuaXRlbUVuZCh0KX19KSwhMSkscy5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsKGZ1bmN0aW9uKGUpe2NvbnN0IG49ZG5lW3RdO2ZvcihsZXQgdD0wLGk9bi5sZW5ndGg7dDxpO3QrKyl7Y29uc3QgaT1uW3RdO2kub25Qcm9ncmVzcyYmaS5vblByb2dyZXNzKGUpfX0pLCExKSxzLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoZnVuY3Rpb24oZSl7Y29uc3Qgbj1kbmVbdF07ZGVsZXRlIGRuZVt0XTtmb3IobGV0IHQ9MCxpPW4ubGVuZ3RoO3Q8aTt0Kyspe2NvbnN0IGk9blt0XTtpLm9uRXJyb3ImJmkub25FcnJvcihlKX1yLm1hbmFnZXIuaXRlbUVycm9yKHQpLHIubWFuYWdlci5pdGVtRW5kKHQpfSksITEpLHMuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLChmdW5jdGlvbihlKXtjb25zdCBuPWRuZVt0XTtkZWxldGUgZG5lW3RdO2ZvcihsZXQgdD0wLGk9bi5sZW5ndGg7dDxpO3QrKyl7Y29uc3QgaT1uW3RdO2kub25FcnJvciYmaS5vbkVycm9yKGUpfXIubWFuYWdlci5pdGVtRXJyb3IodCksci5tYW5hZ2VyLml0ZW1FbmQodCl9KSwhMSksdm9pZCAwIT09dGhpcy5yZXNwb25zZVR5cGUmJihzLnJlc3BvbnNlVHlwZT10aGlzLnJlc3BvbnNlVHlwZSksdm9pZCAwIT09dGhpcy53aXRoQ3JlZGVudGlhbHMmJihzLndpdGhDcmVkZW50aWFscz10aGlzLndpdGhDcmVkZW50aWFscykscy5vdmVycmlkZU1pbWVUeXBlJiZzLm92ZXJyaWRlTWltZVR5cGUodm9pZCAwIT09dGhpcy5taW1lVHlwZT90aGlzLm1pbWVUeXBlOiJ0ZXh0L3BsYWluIik7Zm9yKGNvbnN0IHQgaW4gdGhpcy5yZXF1ZXN0SGVhZGVyKXMuc2V0UmVxdWVzdEhlYWRlcih0LHRoaXMucmVxdWVzdEhlYWRlclt0XSk7cy5zZW5kKG51bGwpfXJldHVybiByLm1hbmFnZXIuaXRlbVN0YXJ0KHQpLHN9c2V0UmVzcG9uc2VUeXBlKHQpe3JldHVybiB0aGlzLnJlc3BvbnNlVHlwZT10LHRoaXN9c2V0TWltZVR5cGUodCl7cmV0dXJuIHRoaXMubWltZVR5cGU9dCx0aGlzfX1jbGFzcyBmbmUgZXh0ZW5kcyBobmV7Y29uc3RydWN0b3IodCl7c3VwZXIodCl9bG9hZCh0LGUsbixpKXt2b2lkIDAhPT10aGlzLnBhdGgmJih0PXRoaXMucGF0aCt0KSx0PXRoaXMubWFuYWdlci5yZXNvbHZlVVJMKHQpO2NvbnN0IHI9dGhpcyxvPWxuZS5nZXQodCk7aWYodm9pZCAwIT09bylyZXR1cm4gci5tYW5hZ2VyLml0ZW1TdGFydCh0KSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2UmJmUobyksci5tYW5hZ2VyLml0ZW1FbmQodCl9KSwwKSxvO2NvbnN0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiaW1nIik7ZnVuY3Rpb24gcygpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIscywhMSksYS5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsbCwhMSksbG5lLmFkZCh0LHRoaXMpLGUmJmUodGhpcyksci5tYW5hZ2VyLml0ZW1FbmQodCl9ZnVuY3Rpb24gbChlKXthLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLHMsITEpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGwsITEpLGkmJmkoZSksci5tYW5hZ2VyLml0ZW1FcnJvcih0KSxyLm1hbmFnZXIuaXRlbUVuZCh0KX1yZXR1cm4gYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixzLCExKSxhLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixsLCExKSwiZGF0YToiIT09dC5zdWJzdHIoMCw1KSYmdm9pZCAwIT09dGhpcy5jcm9zc09yaWdpbiYmKGEuY3Jvc3NPcmlnaW49dGhpcy5jcm9zc09yaWdpbiksci5tYW5hZ2VyLml0ZW1TdGFydCh0KSxhLnNyYz10LGF9fWNsYXNzIG1uZSBleHRlbmRzIGhuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1sb2FkKHQsZSxuLGkpe2NvbnN0IHI9bmV3IHM2dCxvPW5ldyBmbmUodGhpcy5tYW5hZ2VyKTtvLnNldENyb3NzT3JpZ2luKHRoaXMuY3Jvc3NPcmlnaW4pLG8uc2V0UGF0aCh0aGlzLnBhdGgpO2xldCBhPTA7ZnVuY3Rpb24gcyhuKXtvLmxvYWQodFtuXSwoZnVuY3Rpb24odCl7ci5pbWFnZXNbbl09dCxhKyssNj09PWEmJihyLm5lZWRzVXBkYXRlPSEwLGUmJmUocikpfSksdm9pZCAwLGkpfWZvcihsZXQgZT0wO2U8dC5sZW5ndGg7KytlKXMoZSk7cmV0dXJuIHJ9fWNsYXNzIGduZSBleHRlbmRzIGhuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1sb2FkKHQsZSxuLGkpe2NvbnN0IHI9dGhpcyxvPW5ldyBIN3QsYT1uZXcgcG5lKHRoaXMubWFuYWdlcik7cmV0dXJuIGEuc2V0UmVzcG9uc2VUeXBlKCJhcnJheWJ1ZmZlciIpLGEuc2V0UmVxdWVzdEhlYWRlcih0aGlzLnJlcXVlc3RIZWFkZXIpLGEuc2V0UGF0aCh0aGlzLnBhdGgpLGEuc2V0V2l0aENyZWRlbnRpYWxzKHIud2l0aENyZWRlbnRpYWxzKSxhLmxvYWQodCwoZnVuY3Rpb24odCl7Y29uc3Qgbj1yLnBhcnNlKHQpO24mJih2b2lkIDAhPT1uLmltYWdlP28uaW1hZ2U9bi5pbWFnZTp2b2lkIDAhPT1uLmRhdGEmJihvLmltYWdlLndpZHRoPW4ud2lkdGgsby5pbWFnZS5oZWlnaHQ9bi5oZWlnaHQsby5pbWFnZS5kYXRhPW4uZGF0YSksby53cmFwUz12b2lkIDAhPT1uLndyYXBTP24ud3JhcFM6bDJ0LG8ud3JhcFQ9dm9pZCAwIT09bi53cmFwVD9uLndyYXBUOmwydCxvLm1hZ0ZpbHRlcj12b2lkIDAhPT1uLm1hZ0ZpbHRlcj9uLm1hZ0ZpbHRlcjpwMnQsby5taW5GaWx0ZXI9dm9pZCAwIT09bi5taW5GaWx0ZXI/bi5taW5GaWx0ZXI6cDJ0LG8uYW5pc290cm9weT12b2lkIDAhPT1uLmFuaXNvdHJvcHk/bi5hbmlzb3Ryb3B5OjEsdm9pZCAwIT09bi5lbmNvZGluZyYmKG8uZW5jb2Rpbmc9bi5lbmNvZGluZyksdm9pZCAwIT09bi5mbGlwWSYmKG8uZmxpcFk9bi5mbGlwWSksdm9pZCAwIT09bi5mb3JtYXQmJihvLmZvcm1hdD1uLmZvcm1hdCksdm9pZCAwIT09bi50eXBlJiYoby50eXBlPW4udHlwZSksdm9pZCAwIT09bi5taXBtYXBzJiYoby5taXBtYXBzPW4ubWlwbWFwcyxvLm1pbkZpbHRlcj1tMnQpLDE9PT1uLm1pcG1hcENvdW50JiYoby5taW5GaWx0ZXI9cDJ0KSx2b2lkIDAhPT1uLmdlbmVyYXRlTWlwbWFwcyYmKG8uZ2VuZXJhdGVNaXBtYXBzPW4uZ2VuZXJhdGVNaXBtYXBzKSxvLm5lZWRzVXBkYXRlPSEwLGUmJmUobyxuKSl9KSxuLGkpLG99fWNsYXNzIF9uZSBleHRlbmRzIGhuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1sb2FkKHQsZSxuLGkpe2NvbnN0IHI9bmV3IE41dCxvPW5ldyBmbmUodGhpcy5tYW5hZ2VyKTtyZXR1cm4gby5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKSxvLnNldFBhdGgodGhpcy5wYXRoKSxvLmxvYWQodCwoZnVuY3Rpb24obil7ci5pbWFnZT1uO2NvbnN0IGk9dC5zZWFyY2goL1wuanBlP2coJHxcPykvaSk+MHx8MD09PXQuc2VhcmNoKC9eZGF0YVw6aW1hZ2VcL2pwZWcvKTtyLmZvcm1hdD1pP3cydDpTMnQsci5uZWVkc1VwZGF0ZT0hMCx2b2lkIDAhPT1lJiZlKHIpfSksbixpKSxyfX1jbGFzcyB5bmUgZXh0ZW5kcyBUdGV7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iQ3VydmVQYXRoIix0aGlzLmN1cnZlcz1bXSx0aGlzLmF1dG9DbG9zZT0hMX1hZGQodCl7dGhpcy5jdXJ2ZXMucHVzaCh0KX1jbG9zZVBhdGgoKXtjb25zdCB0PXRoaXMuY3VydmVzWzBdLmdldFBvaW50KDApLGU9dGhpcy5jdXJ2ZXNbdGhpcy5jdXJ2ZXMubGVuZ3RoLTFdLmdldFBvaW50KDEpO3QuZXF1YWxzKGUpfHx0aGlzLmN1cnZlcy5wdXNoKG5ldyBGdGUoZSx0KSl9Z2V0UG9pbnQodCl7Y29uc3QgZT10KnRoaXMuZ2V0TGVuZ3RoKCksbj10aGlzLmdldEN1cnZlTGVuZ3RocygpO2xldCBpPTA7Zm9yKDtpPG4ubGVuZ3RoOyl7aWYobltpXT49ZSl7Y29uc3QgdD1uW2ldLWUscj10aGlzLmN1cnZlc1tpXSxvPXIuZ2V0TGVuZ3RoKCk7cmV0dXJuIHIuZ2V0UG9pbnRBdCgwPT09bz8wOjEtdC9vKX1pKyt9cmV0dXJuIG51bGx9Z2V0TGVuZ3RoKCl7Y29uc3QgdD10aGlzLmdldEN1cnZlTGVuZ3RocygpO3JldHVybiB0W3QubGVuZ3RoLTFdfXVwZGF0ZUFyY0xlbmd0aHMoKXt0aGlzLm5lZWRzVXBkYXRlPSEwLHRoaXMuY2FjaGVMZW5ndGhzPW51bGwsdGhpcy5nZXRDdXJ2ZUxlbmd0aHMoKX1nZXRDdXJ2ZUxlbmd0aHMoKXtpZih0aGlzLmNhY2hlTGVuZ3RocyYmdGhpcy5jYWNoZUxlbmd0aHMubGVuZ3RoPT09dGhpcy5jdXJ2ZXMubGVuZ3RoKXJldHVybiB0aGlzLmNhY2hlTGVuZ3Rocztjb25zdCB0PVtdO2xldCBlPTA7Zm9yKGxldCBuPTAsaT10aGlzLmN1cnZlcy5sZW5ndGg7bjxpO24rKyllKz10aGlzLmN1cnZlc1tuXS5nZXRMZW5ndGgoKSx0LnB1c2goZSk7cmV0dXJuIHRoaXMuY2FjaGVMZW5ndGhzPXQsdH1nZXRTcGFjZWRQb2ludHModD00MCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPD10O24rKyllLnB1c2godGhpcy5nZXRQb2ludChuL3QpKTtyZXR1cm4gdGhpcy5hdXRvQ2xvc2UmJmUucHVzaChlWzBdKSxlfWdldFBvaW50cyh0PTEyKXtjb25zdCBlPVtdO2xldCBuO2ZvcihsZXQgaT0wLHI9dGhpcy5jdXJ2ZXM7aTxyLmxlbmd0aDtpKyspe2NvbnN0IG89cltpXSxhPW8uZ2V0UG9pbnRzKG8mJm8uaXNFbGxpcHNlQ3VydmU/Mip0Om8mJihvLmlzTGluZUN1cnZlfHxvLmlzTGluZUN1cnZlMyk/MTpvJiZvLmlzU3BsaW5lQ3VydmU/dCpvLnBvaW50cy5sZW5ndGg6dCk7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0Kyspe2NvbnN0IGk9YVt0XTtuJiZuLmVxdWFscyhpKXx8KGUucHVzaChpKSxuPWkpfX1yZXR1cm4gdGhpcy5hdXRvQ2xvc2UmJmUubGVuZ3RoPjEmJiFlW2UubGVuZ3RoLTFdLmVxdWFscyhlWzBdKSYmZS5wdXNoKGVbMF0pLGV9Y29weSh0KXtzdXBlci5jb3B5KHQpLHRoaXMuY3VydmVzPVtdO2ZvcihsZXQgZT0wLG49dC5jdXJ2ZXMubGVuZ3RoO2U8bjtlKyspe3RoaXMuY3VydmVzLnB1c2godC5jdXJ2ZXNbZV0uY2xvbmUoKSl9cmV0dXJuIHRoaXMuYXV0b0Nsb3NlPXQuYXV0b0Nsb3NlLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTt0LmF1dG9DbG9zZT10aGlzLmF1dG9DbG9zZSx0LmN1cnZlcz1bXTtmb3IobGV0IGU9MCxuPXRoaXMuY3VydmVzLmxlbmd0aDtlPG47ZSsrKXt0LmN1cnZlcy5wdXNoKHRoaXMuY3VydmVzW2VdLnRvSlNPTigpKX1yZXR1cm4gdH1mcm9tSlNPTih0KXtzdXBlci5mcm9tSlNPTih0KSx0aGlzLmF1dG9DbG9zZT10LmF1dG9DbG9zZSx0aGlzLmN1cnZlcz1bXTtmb3IobGV0IGU9MCxuPXQuY3VydmVzLmxlbmd0aDtlPG47ZSsrKXtjb25zdCBuPXQuY3VydmVzW2VdO3RoaXMuY3VydmVzLnB1c2goKG5ldyBXdGVbbi50eXBlXSkuZnJvbUpTT04obikpfXJldHVybiB0aGlzfX1jbGFzcyB2bmUgZXh0ZW5kcyB5bmV7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlBhdGgiLHRoaXMuY3VycmVudFBvaW50PW5ldyBDNXQsdCYmdGhpcy5zZXRGcm9tUG9pbnRzKHQpfXNldEZyb21Qb2ludHModCl7dGhpcy5tb3ZlVG8odFswXS54LHRbMF0ueSk7Zm9yKGxldCBlPTEsbj10Lmxlbmd0aDtlPG47ZSsrKXRoaXMubGluZVRvKHRbZV0ueCx0W2VdLnkpO3JldHVybiB0aGlzfW1vdmVUbyh0LGUpe3JldHVybiB0aGlzLmN1cnJlbnRQb2ludC5zZXQodCxlKSx0aGlzfWxpbmVUbyh0LGUpe2NvbnN0IG49bmV3IEZ0ZSh0aGlzLmN1cnJlbnRQb2ludC5jbG9uZSgpLG5ldyBDNXQodCxlKSk7cmV0dXJuIHRoaXMuY3VydmVzLnB1c2gobiksdGhpcy5jdXJyZW50UG9pbnQuc2V0KHQsZSksdGhpc31xdWFkcmF0aWNDdXJ2ZVRvKHQsZSxuLGkpe2NvbnN0IHI9bmV3IFV0ZSh0aGlzLmN1cnJlbnRQb2ludC5jbG9uZSgpLG5ldyBDNXQodCxlKSxuZXcgQzV0KG4saSkpO3JldHVybiB0aGlzLmN1cnZlcy5wdXNoKHIpLHRoaXMuY3VycmVudFBvaW50LnNldChuLGkpLHRoaXN9YmV6aWVyQ3VydmVUbyh0LGUsbixpLHIsbyl7Y29uc3QgYT1uZXcgQnRlKHRoaXMuY3VycmVudFBvaW50LmNsb25lKCksbmV3IEM1dCh0LGUpLG5ldyBDNXQobixpKSxuZXcgQzV0KHIsbykpO3JldHVybiB0aGlzLmN1cnZlcy5wdXNoKGEpLHRoaXMuY3VycmVudFBvaW50LnNldChyLG8pLHRoaXN9c3BsaW5lVGhydSh0KXtjb25zdCBlPVt0aGlzLmN1cnJlbnRQb2ludC5jbG9uZSgpXS5jb25jYXQodCksbj1uZXcgR3RlKGUpO3JldHVybiB0aGlzLmN1cnZlcy5wdXNoKG4pLHRoaXMuY3VycmVudFBvaW50LmNvcHkodFt0Lmxlbmd0aC0xXSksdGhpc31hcmModCxlLG4saSxyLG8pe3JldHVybiB0aGlzLmFic2FyYyh0K3RoaXMuY3VycmVudFBvaW50LngsZSt0aGlzLmN1cnJlbnRQb2ludC55LG4saSxyLG8pLHRoaXN9YWJzYXJjKHQsZSxuLGkscixvKXtyZXR1cm4gdGhpcy5hYnNlbGxpcHNlKHQsZSxuLG4saSxyLG8pLHRoaXN9ZWxsaXBzZSh0LGUsbixpLHIsbyxhLHMpe3JldHVybiB0aGlzLmFic2VsbGlwc2UodCt0aGlzLmN1cnJlbnRQb2ludC54LGUrdGhpcy5jdXJyZW50UG9pbnQueSxuLGkscixvLGEscyksdGhpc31hYnNlbGxpcHNlKHQsZSxuLGkscixvLGEscyl7Y29uc3QgbD1uZXcgQ3RlKHQsZSxuLGkscixvLGEscyk7aWYodGhpcy5jdXJ2ZXMubGVuZ3RoPjApe2NvbnN0IHQ9bC5nZXRQb2ludCgwKTt0LmVxdWFscyh0aGlzLmN1cnJlbnRQb2ludCl8fHRoaXMubGluZVRvKHQueCx0LnkpfXRoaXMuY3VydmVzLnB1c2gobCk7Y29uc3QgYz1sLmdldFBvaW50KDEpO3JldHVybiB0aGlzLmN1cnJlbnRQb2ludC5jb3B5KGMpLHRoaXN9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmN1cnJlbnRQb2ludC5jb3B5KHQuY3VycmVudFBvaW50KSx0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7cmV0dXJuIHQuY3VycmVudFBvaW50PXRoaXMuY3VycmVudFBvaW50LnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLmN1cnJlbnRQb2ludC5mcm9tQXJyYXkodC5jdXJyZW50UG9pbnQpLHRoaXN9fWNsYXNzIGJuZSBleHRlbmRzIHZuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLnV1aWQ9YTV0KCksdGhpcy50eXBlPSJTaGFwZSIsdGhpcy5ob2xlcz1bXX1nZXRQb2ludHNIb2xlcyh0KXtjb25zdCBlPVtdO2ZvcihsZXQgbj0wLGk9dGhpcy5ob2xlcy5sZW5ndGg7bjxpO24rKyllW25dPXRoaXMuaG9sZXNbbl0uZ2V0UG9pbnRzKHQpO3JldHVybiBlfWV4dHJhY3RQb2ludHModCl7cmV0dXJue3NoYXBlOnRoaXMuZ2V0UG9pbnRzKHQpLGhvbGVzOnRoaXMuZ2V0UG9pbnRzSG9sZXModCl9fWNvcHkodCl7c3VwZXIuY29weSh0KSx0aGlzLmhvbGVzPVtdO2ZvcihsZXQgZT0wLG49dC5ob2xlcy5sZW5ndGg7ZTxuO2UrKyl7dGhpcy5ob2xlcy5wdXNoKHQuaG9sZXNbZV0uY2xvbmUoKSl9cmV0dXJuIHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTt0LnV1aWQ9dGhpcy51dWlkLHQuaG9sZXM9W107Zm9yKGxldCBlPTAsbj10aGlzLmhvbGVzLmxlbmd0aDtlPG47ZSsrKXt0LmhvbGVzLnB1c2godGhpcy5ob2xlc1tlXS50b0pTT04oKSl9cmV0dXJuIHR9ZnJvbUpTT04odCl7c3VwZXIuZnJvbUpTT04odCksdGhpcy51dWlkPXQudXVpZCx0aGlzLmhvbGVzPVtdO2ZvcihsZXQgZT0wLG49dC5ob2xlcy5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10LmhvbGVzW2VdO3RoaXMuaG9sZXMucHVzaCgobmV3IHZuZSkuZnJvbUpTT04obikpfXJldHVybiB0aGlzfX1jbGFzcyB4bmUgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IodCxlPTEpe3N1cGVyKCksdGhpcy50eXBlPSJMaWdodCIsdGhpcy5jb2xvcj1uZXcgczR0KHQpLHRoaXMuaW50ZW5zaXR5PWV9ZGlzcG9zZSgpe31jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuY29sb3IuY29weSh0LmNvbG9yKSx0aGlzLmludGVuc2l0eT10LmludGVuc2l0eSx0aGlzfXRvSlNPTih0KXtjb25zdCBlPXN1cGVyLnRvSlNPTih0KTtyZXR1cm4gZS5vYmplY3QuY29sb3I9dGhpcy5jb2xvci5nZXRIZXgoKSxlLm9iamVjdC5pbnRlbnNpdHk9dGhpcy5pbnRlbnNpdHksdm9pZCAwIT09dGhpcy5ncm91bmRDb2xvciYmKGUub2JqZWN0Lmdyb3VuZENvbG9yPXRoaXMuZ3JvdW5kQ29sb3IuZ2V0SGV4KCkpLHZvaWQgMCE9PXRoaXMuZGlzdGFuY2UmJihlLm9iamVjdC5kaXN0YW5jZT10aGlzLmRpc3RhbmNlKSx2b2lkIDAhPT10aGlzLmFuZ2xlJiYoZS5vYmplY3QuYW5nbGU9dGhpcy5hbmdsZSksdm9pZCAwIT09dGhpcy5kZWNheSYmKGUub2JqZWN0LmRlY2F5PXRoaXMuZGVjYXkpLHZvaWQgMCE9PXRoaXMucGVudW1icmEmJihlLm9iamVjdC5wZW51bWJyYT10aGlzLnBlbnVtYnJhKSx2b2lkIDAhPT10aGlzLnNoYWRvdyYmKGUub2JqZWN0LnNoYWRvdz10aGlzLnNoYWRvdy50b0pTT04oKSksZX19eG5lLnByb3RvdHlwZS5pc0xpZ2h0PSEwO2NsYXNzIHduZSBleHRlbmRzIHhuZXtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIodCxuKSx0aGlzLnR5cGU9IkhlbWlzcGhlcmVMaWdodCIsdGhpcy5wb3NpdGlvbi5jb3B5KFYzdC5EZWZhdWx0VXApLHRoaXMudXBkYXRlTWF0cml4KCksdGhpcy5ncm91bmRDb2xvcj1uZXcgczR0KGUpfWNvcHkodCl7cmV0dXJuIHhuZS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsdCksdGhpcy5ncm91bmRDb2xvci5jb3B5KHQuZ3JvdW5kQ29sb3IpLHRoaXN9fXduZS5wcm90b3R5cGUuaXNIZW1pc3BoZXJlTGlnaHQ9ITA7Y29uc3QgU25lPW5ldyBnM3QsTW5lPW5ldyBINXQsRW5lPW5ldyBINXQ7Y2xhc3MgVG5le2NvbnN0cnVjdG9yKHQpe3RoaXMuY2FtZXJhPXQsdGhpcy5iaWFzPTAsdGhpcy5ub3JtYWxCaWFzPTAsdGhpcy5yYWRpdXM9MSx0aGlzLm1hcFNpemU9bmV3IEM1dCg1MTIsNTEyKSx0aGlzLm1hcD1udWxsLHRoaXMubWFwUGFzcz1udWxsLHRoaXMubWF0cml4PW5ldyBnM3QsdGhpcy5hdXRvVXBkYXRlPSEwLHRoaXMubmVlZHNVcGRhdGU9ITEsdGhpcy5fZnJ1c3R1bT1uZXcgbTZ0LHRoaXMuX2ZyYW1lRXh0ZW50cz1uZXcgQzV0KDEsMSksdGhpcy5fdmlld3BvcnRDb3VudD0xLHRoaXMuX3ZpZXdwb3J0cz1bbmV3IFI1dCgwLDAsMSwxKV19Z2V0Vmlld3BvcnRDb3VudCgpe3JldHVybiB0aGlzLl92aWV3cG9ydENvdW50fWdldEZydXN0dW0oKXtyZXR1cm4gdGhpcy5fZnJ1c3R1bX11cGRhdGVNYXRyaWNlcyh0KXtjb25zdCBlPXRoaXMuY2FtZXJhLG49dGhpcy5tYXRyaXg7TW5lLnNldEZyb21NYXRyaXhQb3NpdGlvbih0Lm1hdHJpeFdvcmxkKSxlLnBvc2l0aW9uLmNvcHkoTW5lKSxFbmUuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQudGFyZ2V0Lm1hdHJpeFdvcmxkKSxlLmxvb2tBdChFbmUpLGUudXBkYXRlTWF0cml4V29ybGQoKSxTbmUubXVsdGlwbHlNYXRyaWNlcyhlLnByb2plY3Rpb25NYXRyaXgsZS5tYXRyaXhXb3JsZEludmVyc2UpLHRoaXMuX2ZydXN0dW0uc2V0RnJvbVByb2plY3Rpb25NYXRyaXgoU25lKSxuLnNldCguNSwwLDAsLjUsMCwuNSwwLC41LDAsMCwuNSwuNSwwLDAsMCwxKSxuLm11bHRpcGx5KGUucHJvamVjdGlvbk1hdHJpeCksbi5tdWx0aXBseShlLm1hdHJpeFdvcmxkSW52ZXJzZSl9Z2V0Vmlld3BvcnQodCl7cmV0dXJuIHRoaXMuX3ZpZXdwb3J0c1t0XX1nZXRGcmFtZUV4dGVudHMoKXtyZXR1cm4gdGhpcy5fZnJhbWVFeHRlbnRzfWRpc3Bvc2UoKXt0aGlzLm1hcCYmdGhpcy5tYXAuZGlzcG9zZSgpLHRoaXMubWFwUGFzcyYmdGhpcy5tYXBQYXNzLmRpc3Bvc2UoKX1jb3B5KHQpe3JldHVybiB0aGlzLmNhbWVyYT10LmNhbWVyYS5jbG9uZSgpLHRoaXMuYmlhcz10LmJpYXMsdGhpcy5yYWRpdXM9dC5yYWRpdXMsdGhpcy5tYXBTaXplLmNvcHkodC5tYXBTaXplKSx0aGlzfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfXRvSlNPTigpe2NvbnN0IHQ9e307cmV0dXJuIDAhPT10aGlzLmJpYXMmJih0LmJpYXM9dGhpcy5iaWFzKSwwIT09dGhpcy5ub3JtYWxCaWFzJiYodC5ub3JtYWxCaWFzPXRoaXMubm9ybWFsQmlhcyksMSE9PXRoaXMucmFkaXVzJiYodC5yYWRpdXM9dGhpcy5yYWRpdXMpLDUxMj09PXRoaXMubWFwU2l6ZS54JiY1MTI9PT10aGlzLm1hcFNpemUueXx8KHQubWFwU2l6ZT10aGlzLm1hcFNpemUudG9BcnJheSgpKSx0LmNhbWVyYT10aGlzLmNhbWVyYS50b0pTT04oITEpLm9iamVjdCxkZWxldGUgdC5jYW1lcmEubWF0cml4LHR9fWNsYXNzIENuZSBleHRlbmRzIFRuZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKG5ldyByNnQoNTAsMSwuNSw1MDApKSx0aGlzLmZvY3VzPTF9dXBkYXRlTWF0cmljZXModCl7Y29uc3QgZT10aGlzLmNhbWVyYSxuPTIqbzV0KnQuYW5nbGUqdGhpcy5mb2N1cyxpPXRoaXMubWFwU2l6ZS53aWR0aC90aGlzLm1hcFNpemUuaGVpZ2h0LHI9dC5kaXN0YW5jZXx8ZS5mYXI7bj09PWUuZm92JiZpPT09ZS5hc3BlY3QmJnI9PT1lLmZhcnx8KGUuZm92PW4sZS5hc3BlY3Q9aSxlLmZhcj1yLGUudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpKSxzdXBlci51cGRhdGVNYXRyaWNlcyh0KX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuZm9jdXM9dC5mb2N1cyx0aGlzfX1DbmUucHJvdG90eXBlLmlzU3BvdExpZ2h0U2hhZG93PSEwO2NsYXNzIEFuZSBleHRlbmRzIHhuZXtjb25zdHJ1Y3Rvcih0LGUsbj0wLGk9TWF0aC5QSS8zLHI9MCxvPTEpe3N1cGVyKHQsZSksdGhpcy50eXBlPSJTcG90TGlnaHQiLHRoaXMucG9zaXRpb24uY29weShWM3QuRGVmYXVsdFVwKSx0aGlzLnVwZGF0ZU1hdHJpeCgpLHRoaXMudGFyZ2V0PW5ldyBWM3QsdGhpcy5kaXN0YW5jZT1uLHRoaXMuYW5nbGU9aSx0aGlzLnBlbnVtYnJhPXIsdGhpcy5kZWNheT1vLHRoaXMuc2hhZG93PW5ldyBDbmV9Z2V0IHBvd2VyKCl7cmV0dXJuIHRoaXMuaW50ZW5zaXR5Kk1hdGguUEl9c2V0IHBvd2VyKHQpe3RoaXMuaW50ZW5zaXR5PXQvTWF0aC5QSX1kaXNwb3NlKCl7dGhpcy5zaGFkb3cuZGlzcG9zZSgpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5kaXN0YW5jZT10LmRpc3RhbmNlLHRoaXMuYW5nbGU9dC5hbmdsZSx0aGlzLnBlbnVtYnJhPXQucGVudW1icmEsdGhpcy5kZWNheT10LmRlY2F5LHRoaXMudGFyZ2V0PXQudGFyZ2V0LmNsb25lKCksdGhpcy5zaGFkb3c9dC5zaGFkb3cuY2xvbmUoKSx0aGlzfX1BbmUucHJvdG90eXBlLmlzU3BvdExpZ2h0PSEwO2NvbnN0IGtuZT1uZXcgZzN0LExuZT1uZXcgSDV0LFBuZT1uZXcgSDV0O2NsYXNzIE5uZSBleHRlbmRzIFRuZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKG5ldyByNnQoOTAsMSwuNSw1MDApKSx0aGlzLl9mcmFtZUV4dGVudHM9bmV3IEM1dCg0LDIpLHRoaXMuX3ZpZXdwb3J0Q291bnQ9Nix0aGlzLl92aWV3cG9ydHM9W25ldyBSNXQoMiwxLDEsMSksbmV3IFI1dCgwLDEsMSwxKSxuZXcgUjV0KDMsMSwxLDEpLG5ldyBSNXQoMSwxLDEsMSksbmV3IFI1dCgzLDAsMSwxKSxuZXcgUjV0KDEsMCwxLDEpXSx0aGlzLl9jdWJlRGlyZWN0aW9ucz1bbmV3IEg1dCgxLDAsMCksbmV3IEg1dCgtMSwwLDApLG5ldyBINXQoMCwwLDEpLG5ldyBINXQoMCwwLC0xKSxuZXcgSDV0KDAsMSwwKSxuZXcgSDV0KDAsLTEsMCldLHRoaXMuX2N1YmVVcHM9W25ldyBINXQoMCwxLDApLG5ldyBINXQoMCwxLDApLG5ldyBINXQoMCwxLDApLG5ldyBINXQoMCwxLDApLG5ldyBINXQoMCwwLDEpLG5ldyBINXQoMCwwLC0xKV19dXBkYXRlTWF0cmljZXModCxlPTApe2NvbnN0IG49dGhpcy5jYW1lcmEsaT10aGlzLm1hdHJpeCxyPXQuZGlzdGFuY2V8fG4uZmFyO3IhPT1uLmZhciYmKG4uZmFyPXIsbi51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCkpLExuZS5zZXRGcm9tTWF0cml4UG9zaXRpb24odC5tYXRyaXhXb3JsZCksbi5wb3NpdGlvbi5jb3B5KExuZSksUG5lLmNvcHkobi5wb3NpdGlvbiksUG5lLmFkZCh0aGlzLl9jdWJlRGlyZWN0aW9uc1tlXSksbi51cC5jb3B5KHRoaXMuX2N1YmVVcHNbZV0pLG4ubG9va0F0KFBuZSksbi51cGRhdGVNYXRyaXhXb3JsZCgpLGkubWFrZVRyYW5zbGF0aW9uKC1MbmUueCwtTG5lLnksLUxuZS56KSxrbmUubXVsdGlwbHlNYXRyaWNlcyhuLnByb2plY3Rpb25NYXRyaXgsbi5tYXRyaXhXb3JsZEludmVyc2UpLHRoaXMuX2ZydXN0dW0uc2V0RnJvbVByb2plY3Rpb25NYXRyaXgoa25lKX19Tm5lLnByb3RvdHlwZS5pc1BvaW50TGlnaHRTaGFkb3c9ITA7Y2xhc3MgSW5lIGV4dGVuZHMgeG5le2NvbnN0cnVjdG9yKHQsZSxuPTAsaT0xKXtzdXBlcih0LGUpLHRoaXMudHlwZT0iUG9pbnRMaWdodCIsdGhpcy5kaXN0YW5jZT1uLHRoaXMuZGVjYXk9aSx0aGlzLnNoYWRvdz1uZXcgTm5lfWdldCBwb3dlcigpe3JldHVybiA0KnRoaXMuaW50ZW5zaXR5Kk1hdGguUEl9c2V0IHBvd2VyKHQpe3RoaXMuaW50ZW5zaXR5PXQvKDQqTWF0aC5QSSl9ZGlzcG9zZSgpe3RoaXMuc2hhZG93LmRpc3Bvc2UoKX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuZGlzdGFuY2U9dC5kaXN0YW5jZSx0aGlzLmRlY2F5PXQuZGVjYXksdGhpcy5zaGFkb3c9dC5zaGFkb3cuY2xvbmUoKSx0aGlzfX1JbmUucHJvdG90eXBlLmlzUG9pbnRMaWdodD0hMDtjbGFzcyBSbmUgZXh0ZW5kcyBUbmV7Y29uc3RydWN0b3IoKXtzdXBlcihuZXcgQTZ0KC01LDUsNSwtNSwuNSw1MDApKX19Um5lLnByb3RvdHlwZS5pc0RpcmVjdGlvbmFsTGlnaHRTaGFkb3c9ITA7Y2xhc3MgT25lIGV4dGVuZHMgeG5le2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIodCxlKSx0aGlzLnR5cGU9IkRpcmVjdGlvbmFsTGlnaHQiLHRoaXMucG9zaXRpb24uY29weShWM3QuRGVmYXVsdFVwKSx0aGlzLnVwZGF0ZU1hdHJpeCgpLHRoaXMudGFyZ2V0PW5ldyBWM3QsdGhpcy5zaGFkb3c9bmV3IFJuZX1kaXNwb3NlKCl7dGhpcy5zaGFkb3cuZGlzcG9zZSgpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy50YXJnZXQ9dC50YXJnZXQuY2xvbmUoKSx0aGlzLnNoYWRvdz10LnNoYWRvdy5jbG9uZSgpLHRoaXN9fU9uZS5wcm90b3R5cGUuaXNEaXJlY3Rpb25hbExpZ2h0PSEwO2NsYXNzIHpuZSBleHRlbmRzIHhuZXtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy50eXBlPSJBbWJpZW50TGlnaHQifX16bmUucHJvdG90eXBlLmlzQW1iaWVudExpZ2h0PSEwO2NsYXNzIERuZSBleHRlbmRzIHhuZXtjb25zdHJ1Y3Rvcih0LGUsbj0xMCxpPTEwKXtzdXBlcih0LGUpLHRoaXMudHlwZT0iUmVjdEFyZWFMaWdodCIsdGhpcy53aWR0aD1uLHRoaXMuaGVpZ2h0PWl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLndpZHRoPXQud2lkdGgsdGhpcy5oZWlnaHQ9dC5oZWlnaHQsdGhpc310b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7cmV0dXJuIGUub2JqZWN0LndpZHRoPXRoaXMud2lkdGgsZS5vYmplY3QuaGVpZ2h0PXRoaXMuaGVpZ2h0LGV9fURuZS5wcm90b3R5cGUuaXNSZWN0QXJlYUxpZ2h0PSEwO2NsYXNzIEJuZXtjb25zdHJ1Y3Rvcigpe3RoaXMuY29lZmZpY2llbnRzPVtdO2ZvcihsZXQgdD0wO3Q8OTt0KyspdGhpcy5jb2VmZmljaWVudHMucHVzaChuZXcgSDV0KX1zZXQodCl7Zm9yKGxldCBlPTA7ZTw5O2UrKyl0aGlzLmNvZWZmaWNpZW50c1tlXS5jb3B5KHRbZV0pO3JldHVybiB0aGlzfXplcm8oKXtmb3IobGV0IHQ9MDt0PDk7dCsrKXRoaXMuY29lZmZpY2llbnRzW3RdLnNldCgwLDAsMCk7cmV0dXJuIHRoaXN9Z2V0QXQodCxlKXtjb25zdCBuPXQueCxpPXQueSxyPXQueixvPXRoaXMuY29lZmZpY2llbnRzO3JldHVybiBlLmNvcHkob1swXSkubXVsdGlwbHlTY2FsYXIoLjI4MjA5NSksZS5hZGRTY2FsZWRWZWN0b3Iob1sxXSwuNDg4NjAzKmkpLGUuYWRkU2NhbGVkVmVjdG9yKG9bMl0sLjQ4ODYwMypyKSxlLmFkZFNjYWxlZFZlY3RvcihvWzNdLC40ODg2MDMqbiksZS5hZGRTY2FsZWRWZWN0b3Iob1s0XSxuKmkqMS4wOTI1NDgpLGUuYWRkU2NhbGVkVmVjdG9yKG9bNV0saSpyKjEuMDkyNTQ4KSxlLmFkZFNjYWxlZFZlY3RvcihvWzZdLC4zMTUzOTIqKDMqcipyLTEpKSxlLmFkZFNjYWxlZFZlY3RvcihvWzddLG4qcioxLjA5MjU0OCksZS5hZGRTY2FsZWRWZWN0b3Iob1s4XSwuNTQ2Mjc0KihuKm4taSppKSksZX1nZXRJcnJhZGlhbmNlQXQodCxlKXtjb25zdCBuPXQueCxpPXQueSxyPXQueixvPXRoaXMuY29lZmZpY2llbnRzO3JldHVybiBlLmNvcHkob1swXSkubXVsdGlwbHlTY2FsYXIoLjg4NjIyNyksZS5hZGRTY2FsZWRWZWN0b3Iob1sxXSwxLjAyMzMyOCppKSxlLmFkZFNjYWxlZFZlY3RvcihvWzJdLDEuMDIzMzI4KnIpLGUuYWRkU2NhbGVkVmVjdG9yKG9bM10sMS4wMjMzMjgqbiksZS5hZGRTY2FsZWRWZWN0b3Iob1s0XSwuODU4MDg2Km4qaSksZS5hZGRTY2FsZWRWZWN0b3Iob1s1XSwuODU4MDg2KmkqciksZS5hZGRTY2FsZWRWZWN0b3Iob1s2XSwuNzQzMTI1KnIqci0uMjQ3NzA4KSxlLmFkZFNjYWxlZFZlY3RvcihvWzddLC44NTgwODYqbipyKSxlLmFkZFNjYWxlZFZlY3RvcihvWzhdLC40MjkwNDMqKG4qbi1pKmkpKSxlfWFkZCh0KXtmb3IobGV0IGU9MDtlPDk7ZSsrKXRoaXMuY29lZmZpY2llbnRzW2VdLmFkZCh0LmNvZWZmaWNpZW50c1tlXSk7cmV0dXJuIHRoaXN9YWRkU2NhbGVkU0godCxlKXtmb3IobGV0IG49MDtuPDk7bisrKXRoaXMuY29lZmZpY2llbnRzW25dLmFkZFNjYWxlZFZlY3Rvcih0LmNvZWZmaWNpZW50c1tuXSxlKTtyZXR1cm4gdGhpc31zY2FsZSh0KXtmb3IobGV0IGU9MDtlPDk7ZSsrKXRoaXMuY29lZmZpY2llbnRzW2VdLm11bHRpcGx5U2NhbGFyKHQpO3JldHVybiB0aGlzfWxlcnAodCxlKXtmb3IobGV0IG49MDtuPDk7bisrKXRoaXMuY29lZmZpY2llbnRzW25dLmxlcnAodC5jb2VmZmljaWVudHNbbl0sZSk7cmV0dXJuIHRoaXN9ZXF1YWxzKHQpe2ZvcihsZXQgZT0wO2U8OTtlKyspaWYoIXRoaXMuY29lZmZpY2llbnRzW2VdLmVxdWFscyh0LmNvZWZmaWNpZW50c1tlXSkpcmV0dXJuITE7cmV0dXJuITB9Y29weSh0KXtyZXR1cm4gdGhpcy5zZXQodC5jb2VmZmljaWVudHMpfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfWZyb21BcnJheSh0LGU9MCl7Y29uc3Qgbj10aGlzLmNvZWZmaWNpZW50cztmb3IobGV0IGk9MDtpPDk7aSsrKW5baV0uZnJvbUFycmF5KHQsZSszKmkpO3JldHVybiB0aGlzfXRvQXJyYXkodD1bXSxlPTApe2NvbnN0IG49dGhpcy5jb2VmZmljaWVudHM7Zm9yKGxldCBpPTA7aTw5O2krKyluW2ldLnRvQXJyYXkodCxlKzMqaSk7cmV0dXJuIHR9c3RhdGljIGdldEJhc2lzQXQodCxlKXtjb25zdCBuPXQueCxpPXQueSxyPXQuejtlWzBdPS4yODIwOTUsZVsxXT0uNDg4NjAzKmksZVsyXT0uNDg4NjAzKnIsZVszXT0uNDg4NjAzKm4sZVs0XT0xLjA5MjU0OCpuKmksZVs1XT0xLjA5MjU0OCppKnIsZVs2XT0uMzE1MzkyKigzKnIqci0xKSxlWzddPTEuMDkyNTQ4Km4qcixlWzhdPS41NDYyNzQqKG4qbi1pKmkpfX1CbmUucHJvdG90eXBlLmlzU3BoZXJpY2FsSGFybW9uaWNzMz0hMDtjbGFzcyBIbmUgZXh0ZW5kcyB4bmV7Y29uc3RydWN0b3IodD1uZXcgQm5lLGU9MSl7c3VwZXIodm9pZCAwLGUpLHRoaXMuc2g9dH1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuc2guY29weSh0LnNoKSx0aGlzfWZyb21KU09OKHQpe3JldHVybiB0aGlzLmludGVuc2l0eT10LmludGVuc2l0eSx0aGlzLnNoLmZyb21BcnJheSh0LnNoKSx0aGlzfXRvSlNPTih0KXtjb25zdCBlPXN1cGVyLnRvSlNPTih0KTtyZXR1cm4gZS5vYmplY3Quc2g9dGhpcy5zaC50b0FycmF5KCksZX19SG5lLnByb3RvdHlwZS5pc0xpZ2h0UHJvYmU9ITA7Y2xhc3MgRm5lIGV4dGVuZHMgaG5le2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMudGV4dHVyZXM9e319bG9hZCh0LGUsbixpKXtjb25zdCByPXRoaXMsbz1uZXcgcG5lKHIubWFuYWdlcik7by5zZXRQYXRoKHIucGF0aCksby5zZXRSZXF1ZXN0SGVhZGVyKHIucmVxdWVzdEhlYWRlciksby5zZXRXaXRoQ3JlZGVudGlhbHMoci53aXRoQ3JlZGVudGlhbHMpLG8ubG9hZCh0LChmdW5jdGlvbihuKXt0cnl7ZShyLnBhcnNlKEpTT04ucGFyc2UobikpKX1jYXRjaChlKXtpP2koZSk6Y29uc29sZS5lcnJvcihlKSxyLm1hbmFnZXIuaXRlbUVycm9yKHQpfX0pLG4saSl9cGFyc2UodCl7Y29uc3QgZT10aGlzLnRleHR1cmVzO2Z1bmN0aW9uIG4odCl7cmV0dXJuIHZvaWQgMD09PWVbdF0mJmNvbnNvbGUud2FybigiVEhSRUUuTWF0ZXJpYWxMb2FkZXI6IFVuZGVmaW5lZCB0ZXh0dXJlIix0KSxlW3RdfWNvbnN0IGk9bmV3IHFlZVt0LnR5cGVdO2lmKHZvaWQgMCE9PXQudXVpZCYmKGkudXVpZD10LnV1aWQpLHZvaWQgMCE9PXQubmFtZSYmKGkubmFtZT10Lm5hbWUpLHZvaWQgMCE9PXQuY29sb3ImJnZvaWQgMCE9PWkuY29sb3ImJmkuY29sb3Iuc2V0SGV4KHQuY29sb3IpLHZvaWQgMCE9PXQucm91Z2huZXNzJiYoaS5yb3VnaG5lc3M9dC5yb3VnaG5lc3MpLHZvaWQgMCE9PXQubWV0YWxuZXNzJiYoaS5tZXRhbG5lc3M9dC5tZXRhbG5lc3MpLHZvaWQgMCE9PXQuc2hlZW4mJihpLnNoZWVuPShuZXcgczR0KS5zZXRIZXgodC5zaGVlbikpLHZvaWQgMCE9PXQuZW1pc3NpdmUmJnZvaWQgMCE9PWkuZW1pc3NpdmUmJmkuZW1pc3NpdmUuc2V0SGV4KHQuZW1pc3NpdmUpLHZvaWQgMCE9PXQuc3BlY3VsYXImJnZvaWQgMCE9PWkuc3BlY3VsYXImJmkuc3BlY3VsYXIuc2V0SGV4KHQuc3BlY3VsYXIpLHZvaWQgMCE9PXQuc3BlY3VsYXJJbnRlbnNpdHkmJihpLnNwZWN1bGFySW50ZW5zaXR5PXQuc3BlY3VsYXJJbnRlbnNpdHkpLHZvaWQgMCE9PXQuc3BlY3VsYXJUaW50JiZ2b2lkIDAhPT1pLnNwZWN1bGFyVGludCYmaS5zcGVjdWxhclRpbnQuc2V0SGV4KHQuc3BlY3VsYXJUaW50KSx2b2lkIDAhPT10LnNoaW5pbmVzcyYmKGkuc2hpbmluZXNzPXQuc2hpbmluZXNzKSx2b2lkIDAhPT10LmNsZWFyY29hdCYmKGkuY2xlYXJjb2F0PXQuY2xlYXJjb2F0KSx2b2lkIDAhPT10LmNsZWFyY29hdFJvdWdobmVzcyYmKGkuY2xlYXJjb2F0Um91Z2huZXNzPXQuY2xlYXJjb2F0Um91Z2huZXNzKSx2b2lkIDAhPT10LnRyYW5zbWlzc2lvbiYmKGkudHJhbnNtaXNzaW9uPXQudHJhbnNtaXNzaW9uKSx2b2lkIDAhPT10LnRoaWNrbmVzcyYmKGkudGhpY2tuZXNzPXQudGhpY2tuZXNzKSx2b2lkIDAhPT10LmF0dGVudWF0aW9uRGlzdGFuY2UmJihpLmF0dGVudWF0aW9uRGlzdGFuY2U9dC5hdHRlbnVhdGlvbkRpc3RhbmNlKSx2b2lkIDAhPT10LmF0dGVudWF0aW9uVGludCYmdm9pZCAwIT09aS5hdHRlbnVhdGlvblRpbnQmJmkuYXR0ZW51YXRpb25UaW50LnNldEhleCh0LmF0dGVudWF0aW9uVGludCksdm9pZCAwIT09dC5mb2cmJihpLmZvZz10LmZvZyksdm9pZCAwIT09dC5mbGF0U2hhZGluZyYmKGkuZmxhdFNoYWRpbmc9dC5mbGF0U2hhZGluZyksdm9pZCAwIT09dC5ibGVuZGluZyYmKGkuYmxlbmRpbmc9dC5ibGVuZGluZyksdm9pZCAwIT09dC5jb21iaW5lJiYoaS5jb21iaW5lPXQuY29tYmluZSksdm9pZCAwIT09dC5zaWRlJiYoaS5zaWRlPXQuc2lkZSksdm9pZCAwIT09dC5zaGFkb3dTaWRlJiYoaS5zaGFkb3dTaWRlPXQuc2hhZG93U2lkZSksdm9pZCAwIT09dC5vcGFjaXR5JiYoaS5vcGFjaXR5PXQub3BhY2l0eSksdm9pZCAwIT09dC50cmFuc3BhcmVudCYmKGkudHJhbnNwYXJlbnQ9dC50cmFuc3BhcmVudCksdm9pZCAwIT09dC5hbHBoYVRlc3QmJihpLmFscGhhVGVzdD10LmFscGhhVGVzdCksdm9pZCAwIT09dC5kZXB0aFRlc3QmJihpLmRlcHRoVGVzdD10LmRlcHRoVGVzdCksdm9pZCAwIT09dC5kZXB0aFdyaXRlJiYoaS5kZXB0aFdyaXRlPXQuZGVwdGhXcml0ZSksdm9pZCAwIT09dC5jb2xvcldyaXRlJiYoaS5jb2xvcldyaXRlPXQuY29sb3JXcml0ZSksdm9pZCAwIT09dC5zdGVuY2lsV3JpdGUmJihpLnN0ZW5jaWxXcml0ZT10LnN0ZW5jaWxXcml0ZSksdm9pZCAwIT09dC5zdGVuY2lsV3JpdGVNYXNrJiYoaS5zdGVuY2lsV3JpdGVNYXNrPXQuc3RlbmNpbFdyaXRlTWFzayksdm9pZCAwIT09dC5zdGVuY2lsRnVuYyYmKGkuc3RlbmNpbEZ1bmM9dC5zdGVuY2lsRnVuYyksdm9pZCAwIT09dC5zdGVuY2lsUmVmJiYoaS5zdGVuY2lsUmVmPXQuc3RlbmNpbFJlZiksdm9pZCAwIT09dC5zdGVuY2lsRnVuY01hc2smJihpLnN0ZW5jaWxGdW5jTWFzaz10LnN0ZW5jaWxGdW5jTWFzayksdm9pZCAwIT09dC5zdGVuY2lsRmFpbCYmKGkuc3RlbmNpbEZhaWw9dC5zdGVuY2lsRmFpbCksdm9pZCAwIT09dC5zdGVuY2lsWkZhaWwmJihpLnN0ZW5jaWxaRmFpbD10LnN0ZW5jaWxaRmFpbCksdm9pZCAwIT09dC5zdGVuY2lsWlBhc3MmJihpLnN0ZW5jaWxaUGFzcz10LnN0ZW5jaWxaUGFzcyksdm9pZCAwIT09dC53aXJlZnJhbWUmJihpLndpcmVmcmFtZT10LndpcmVmcmFtZSksdm9pZCAwIT09dC53aXJlZnJhbWVMaW5ld2lkdGgmJihpLndpcmVmcmFtZUxpbmV3aWR0aD10LndpcmVmcmFtZUxpbmV3aWR0aCksdm9pZCAwIT09dC53aXJlZnJhbWVMaW5lY2FwJiYoaS53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCksdm9pZCAwIT09dC53aXJlZnJhbWVMaW5lam9pbiYmKGkud2lyZWZyYW1lTGluZWpvaW49dC53aXJlZnJhbWVMaW5lam9pbiksdm9pZCAwIT09dC5yb3RhdGlvbiYmKGkucm90YXRpb249dC5yb3RhdGlvbiksMSE9PXQubGluZXdpZHRoJiYoaS5saW5ld2lkdGg9dC5saW5ld2lkdGgpLHZvaWQgMCE9PXQuZGFzaFNpemUmJihpLmRhc2hTaXplPXQuZGFzaFNpemUpLHZvaWQgMCE9PXQuZ2FwU2l6ZSYmKGkuZ2FwU2l6ZT10LmdhcFNpemUpLHZvaWQgMCE9PXQuc2NhbGUmJihpLnNjYWxlPXQuc2NhbGUpLHZvaWQgMCE9PXQucG9seWdvbk9mZnNldCYmKGkucG9seWdvbk9mZnNldD10LnBvbHlnb25PZmZzZXQpLHZvaWQgMCE9PXQucG9seWdvbk9mZnNldEZhY3RvciYmKGkucG9seWdvbk9mZnNldEZhY3Rvcj10LnBvbHlnb25PZmZzZXRGYWN0b3IpLHZvaWQgMCE9PXQucG9seWdvbk9mZnNldFVuaXRzJiYoaS5wb2x5Z29uT2Zmc2V0VW5pdHM9dC5wb2x5Z29uT2Zmc2V0VW5pdHMpLHZvaWQgMCE9PXQuZGl0aGVyaW5nJiYoaS5kaXRoZXJpbmc9dC5kaXRoZXJpbmcpLHZvaWQgMCE9PXQuYWxwaGFUb0NvdmVyYWdlJiYoaS5hbHBoYVRvQ292ZXJhZ2U9dC5hbHBoYVRvQ292ZXJhZ2UpLHZvaWQgMCE9PXQucHJlbXVsdGlwbGllZEFscGhhJiYoaS5wcmVtdWx0aXBsaWVkQWxwaGE9dC5wcmVtdWx0aXBsaWVkQWxwaGEpLHZvaWQgMCE9PXQudmlzaWJsZSYmKGkudmlzaWJsZT10LnZpc2libGUpLHZvaWQgMCE9PXQudG9uZU1hcHBlZCYmKGkudG9uZU1hcHBlZD10LnRvbmVNYXBwZWQpLHZvaWQgMCE9PXQudXNlckRhdGEmJihpLnVzZXJEYXRhPXQudXNlckRhdGEpLHZvaWQgMCE9PXQudmVydGV4Q29sb3JzJiYoaS52ZXJ0ZXhDb2xvcnM9Im51bWJlciI9PXR5cGVvZiB0LnZlcnRleENvbG9ycz90LnZlcnRleENvbG9ycz4wOnQudmVydGV4Q29sb3JzKSx2b2lkIDAhPT10LnVuaWZvcm1zKWZvcihjb25zdCBlIGluIHQudW5pZm9ybXMpe2NvbnN0IHI9dC51bmlmb3Jtc1tlXTtzd2l0Y2goaS51bmlmb3Jtc1tlXT17fSxyLnR5cGUpe2Nhc2UidCI6aS51bmlmb3Jtc1tlXS52YWx1ZT1uKHIudmFsdWUpO2JyZWFrO2Nhc2UiYyI6aS51bmlmb3Jtc1tlXS52YWx1ZT0obmV3IHM0dCkuc2V0SGV4KHIudmFsdWUpO2JyZWFrO2Nhc2UidjIiOmkudW5pZm9ybXNbZV0udmFsdWU9KG5ldyBDNXQpLmZyb21BcnJheShyLnZhbHVlKTticmVhaztjYXNlInYzIjppLnVuaWZvcm1zW2VdLnZhbHVlPShuZXcgSDV0KS5mcm9tQXJyYXkoci52YWx1ZSk7YnJlYWs7Y2FzZSJ2NCI6aS51bmlmb3Jtc1tlXS52YWx1ZT0obmV3IFI1dCkuZnJvbUFycmF5KHIudmFsdWUpO2JyZWFrO2Nhc2UibTMiOmkudW5pZm9ybXNbZV0udmFsdWU9KG5ldyBBNXQpLmZyb21BcnJheShyLnZhbHVlKTticmVhaztjYXNlIm00IjppLnVuaWZvcm1zW2VdLnZhbHVlPShuZXcgZzN0KS5mcm9tQXJyYXkoci52YWx1ZSk7YnJlYWs7ZGVmYXVsdDppLnVuaWZvcm1zW2VdLnZhbHVlPXIudmFsdWV9fWlmKHZvaWQgMCE9PXQuZGVmaW5lcyYmKGkuZGVmaW5lcz10LmRlZmluZXMpLHZvaWQgMCE9PXQudmVydGV4U2hhZGVyJiYoaS52ZXJ0ZXhTaGFkZXI9dC52ZXJ0ZXhTaGFkZXIpLHZvaWQgMCE9PXQuZnJhZ21lbnRTaGFkZXImJihpLmZyYWdtZW50U2hhZGVyPXQuZnJhZ21lbnRTaGFkZXIpLHZvaWQgMCE9PXQuZXh0ZW5zaW9ucylmb3IoY29uc3QgZSBpbiB0LmV4dGVuc2lvbnMpaS5leHRlbnNpb25zW2VdPXQuZXh0ZW5zaW9uc1tlXTtpZih2b2lkIDAhPT10LnNoYWRpbmcmJihpLmZsYXRTaGFkaW5nPTE9PT10LnNoYWRpbmcpLHZvaWQgMCE9PXQuc2l6ZSYmKGkuc2l6ZT10LnNpemUpLHZvaWQgMCE9PXQuc2l6ZUF0dGVudWF0aW9uJiYoaS5zaXplQXR0ZW51YXRpb249dC5zaXplQXR0ZW51YXRpb24pLHZvaWQgMCE9PXQubWFwJiYoaS5tYXA9bih0Lm1hcCkpLHZvaWQgMCE9PXQubWF0Y2FwJiYoaS5tYXRjYXA9bih0Lm1hdGNhcCkpLHZvaWQgMCE9PXQuYWxwaGFNYXAmJihpLmFscGhhTWFwPW4odC5hbHBoYU1hcCkpLHZvaWQgMCE9PXQuYnVtcE1hcCYmKGkuYnVtcE1hcD1uKHQuYnVtcE1hcCkpLHZvaWQgMCE9PXQuYnVtcFNjYWxlJiYoaS5idW1wU2NhbGU9dC5idW1wU2NhbGUpLHZvaWQgMCE9PXQubm9ybWFsTWFwJiYoaS5ub3JtYWxNYXA9bih0Lm5vcm1hbE1hcCkpLHZvaWQgMCE9PXQubm9ybWFsTWFwVHlwZSYmKGkubm9ybWFsTWFwVHlwZT10Lm5vcm1hbE1hcFR5cGUpLHZvaWQgMCE9PXQubm9ybWFsU2NhbGUpe2xldCBlPXQubm9ybWFsU2NhbGU7ITE9PT1BcnJheS5pc0FycmF5KGUpJiYoZT1bZSxlXSksaS5ub3JtYWxTY2FsZT0obmV3IEM1dCkuZnJvbUFycmF5KGUpfXJldHVybiB2b2lkIDAhPT10LmRpc3BsYWNlbWVudE1hcCYmKGkuZGlzcGxhY2VtZW50TWFwPW4odC5kaXNwbGFjZW1lbnRNYXApKSx2b2lkIDAhPT10LmRpc3BsYWNlbWVudFNjYWxlJiYoaS5kaXNwbGFjZW1lbnRTY2FsZT10LmRpc3BsYWNlbWVudFNjYWxlKSx2b2lkIDAhPT10LmRpc3BsYWNlbWVudEJpYXMmJihpLmRpc3BsYWNlbWVudEJpYXM9dC5kaXNwbGFjZW1lbnRCaWFzKSx2b2lkIDAhPT10LnJvdWdobmVzc01hcCYmKGkucm91Z2huZXNzTWFwPW4odC5yb3VnaG5lc3NNYXApKSx2b2lkIDAhPT10Lm1ldGFsbmVzc01hcCYmKGkubWV0YWxuZXNzTWFwPW4odC5tZXRhbG5lc3NNYXApKSx2b2lkIDAhPT10LmVtaXNzaXZlTWFwJiYoaS5lbWlzc2l2ZU1hcD1uKHQuZW1pc3NpdmVNYXApKSx2b2lkIDAhPT10LmVtaXNzaXZlSW50ZW5zaXR5JiYoaS5lbWlzc2l2ZUludGVuc2l0eT10LmVtaXNzaXZlSW50ZW5zaXR5KSx2b2lkIDAhPT10LnNwZWN1bGFyTWFwJiYoaS5zcGVjdWxhck1hcD1uKHQuc3BlY3VsYXJNYXApKSx2b2lkIDAhPT10LnNwZWN1bGFySW50ZW5zaXR5TWFwJiYoaS5zcGVjdWxhckludGVuc2l0eU1hcD1uKHQuc3BlY3VsYXJJbnRlbnNpdHlNYXApKSx2b2lkIDAhPT10LnNwZWN1bGFyVGludE1hcCYmKGkuc3BlY3VsYXJUaW50TWFwPW4odC5zcGVjdWxhclRpbnRNYXApKSx2b2lkIDAhPT10LmVudk1hcCYmKGkuZW52TWFwPW4odC5lbnZNYXApKSx2b2lkIDAhPT10LmVudk1hcEludGVuc2l0eSYmKGkuZW52TWFwSW50ZW5zaXR5PXQuZW52TWFwSW50ZW5zaXR5KSx2b2lkIDAhPT10LnJlZmxlY3Rpdml0eSYmKGkucmVmbGVjdGl2aXR5PXQucmVmbGVjdGl2aXR5KSx2b2lkIDAhPT10LnJlZnJhY3Rpb25SYXRpbyYmKGkucmVmcmFjdGlvblJhdGlvPXQucmVmcmFjdGlvblJhdGlvKSx2b2lkIDAhPT10LmxpZ2h0TWFwJiYoaS5saWdodE1hcD1uKHQubGlnaHRNYXApKSx2b2lkIDAhPT10LmxpZ2h0TWFwSW50ZW5zaXR5JiYoaS5saWdodE1hcEludGVuc2l0eT10LmxpZ2h0TWFwSW50ZW5zaXR5KSx2b2lkIDAhPT10LmFvTWFwJiYoaS5hb01hcD1uKHQuYW9NYXApKSx2b2lkIDAhPT10LmFvTWFwSW50ZW5zaXR5JiYoaS5hb01hcEludGVuc2l0eT10LmFvTWFwSW50ZW5zaXR5KSx2b2lkIDAhPT10LmdyYWRpZW50TWFwJiYoaS5ncmFkaWVudE1hcD1uKHQuZ3JhZGllbnRNYXApKSx2b2lkIDAhPT10LmNsZWFyY29hdE1hcCYmKGkuY2xlYXJjb2F0TWFwPW4odC5jbGVhcmNvYXRNYXApKSx2b2lkIDAhPT10LmNsZWFyY29hdFJvdWdobmVzc01hcCYmKGkuY2xlYXJjb2F0Um91Z2huZXNzTWFwPW4odC5jbGVhcmNvYXRSb3VnaG5lc3NNYXApKSx2b2lkIDAhPT10LmNsZWFyY29hdE5vcm1hbE1hcCYmKGkuY2xlYXJjb2F0Tm9ybWFsTWFwPW4odC5jbGVhcmNvYXROb3JtYWxNYXApKSx2b2lkIDAhPT10LmNsZWFyY29hdE5vcm1hbFNjYWxlJiYoaS5jbGVhcmNvYXROb3JtYWxTY2FsZT0obmV3IEM1dCkuZnJvbUFycmF5KHQuY2xlYXJjb2F0Tm9ybWFsU2NhbGUpKSx2b2lkIDAhPT10LnRyYW5zbWlzc2lvbk1hcCYmKGkudHJhbnNtaXNzaW9uTWFwPW4odC50cmFuc21pc3Npb25NYXApKSx2b2lkIDAhPT10LnRoaWNrbmVzc01hcCYmKGkudGhpY2tuZXNzTWFwPW4odC50aGlja25lc3NNYXApKSxpfXNldFRleHR1cmVzKHQpe3JldHVybiB0aGlzLnRleHR1cmVzPXQsdGhpc319Y2xhc3MgVm5le3N0YXRpYyBkZWNvZGVUZXh0KHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgVGV4dERlY29kZXIpcmV0dXJuKG5ldyBUZXh0RGVjb2RlcikuZGVjb2RlKHQpO2xldCBlPSIiO2ZvcihsZXQgbj0wLGk9dC5sZW5ndGg7bjxpO24rKyllKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHRbbl0pO3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShlKSl9Y2F0Y2godCl7cmV0dXJuIGV9fXN0YXRpYyBleHRyYWN0VXJsQmFzZSh0KXtjb25zdCBlPXQubGFzdEluZGV4T2YoIi8iKTtyZXR1cm4tMT09PWU/Ii4vIjp0LnN1YnN0cigwLGUrMSl9fWNsYXNzIFVuZSBleHRlbmRzIE40dHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50eXBlPSJJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSIsdGhpcy5pbnN0YW5jZUNvdW50PTEvMH1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuaW5zdGFuY2VDb3VudD10Lmluc3RhbmNlQ291bnQsdGhpc31jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX10b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTih0aGlzKTtyZXR1cm4gdC5pbnN0YW5jZUNvdW50PXRoaXMuaW5zdGFuY2VDb3VudCx0LmlzSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnk9ITAsdH19VW5lLnByb3RvdHlwZS5pc0luc3RhbmNlZEJ1ZmZlckdlb21ldHJ5PSEwO2NsYXNzIGpuZSBleHRlbmRzIGg0dHtjb25zdHJ1Y3Rvcih0LGUsbixpPTEpeyJudW1iZXIiPT10eXBlb2YgbiYmKGk9bixuPSExLGNvbnNvbGUuZXJyb3IoIlRIUkVFLkluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZTogVGhlIGNvbnN0cnVjdG9yIG5vdyBleHBlY3RzIG5vcm1hbGl6ZWQgYXMgdGhlIHRoaXJkIGFyZ3VtZW50LiIpKSxzdXBlcih0LGUsbiksdGhpcy5tZXNoUGVyQXR0cmlidXRlPWl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLm1lc2hQZXJBdHRyaWJ1dGU9dC5tZXNoUGVyQXR0cmlidXRlLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC5tZXNoUGVyQXR0cmlidXRlPXRoaXMubWVzaFBlckF0dHJpYnV0ZSx0LmlzSW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlPSEwLHR9fWpuZS5wcm90b3R5cGUuaXNJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGU9ITA7Y2xhc3MgR25lIGV4dGVuZHMgaG5le2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfWxvYWQodCxlLG4saSl7Y29uc3Qgcj10aGlzLG89bmV3IHBuZShyLm1hbmFnZXIpO28uc2V0UGF0aChyLnBhdGgpLG8uc2V0UmVxdWVzdEhlYWRlcihyLnJlcXVlc3RIZWFkZXIpLG8uc2V0V2l0aENyZWRlbnRpYWxzKHIud2l0aENyZWRlbnRpYWxzKSxvLmxvYWQodCwoZnVuY3Rpb24obil7dHJ5e2Uoci5wYXJzZShKU09OLnBhcnNlKG4pKSl9Y2F0Y2goZSl7aT9pKGUpOmNvbnNvbGUuZXJyb3IoZSksci5tYW5hZ2VyLml0ZW1FcnJvcih0KX19KSxuLGkpfXBhcnNlKHQpe2NvbnN0IGU9e30sbj17fTtmdW5jdGlvbiBpKHQsaSl7aWYodm9pZCAwIT09ZVtpXSlyZXR1cm4gZVtpXTtjb25zdCByPXQuaW50ZXJsZWF2ZWRCdWZmZXJzW2ldLG89KGZ1bmN0aW9uIGEodCxlKXtpZih2b2lkIDAhPT1uW2VdKXJldHVybiBuW2VdO2NvbnN0IGk9bmV3IFVpbnQzMkFycmF5KHQuYXJyYXlCdWZmZXJzW2VdKS5idWZmZXI7cmV0dXJuIG5bZV09aSxpfSkodCxyLmJ1ZmZlcikscz1NNHQoci50eXBlLG8pLGw9bmV3IHU3dChzLHIuc3RyaWRlKTtyZXR1cm4gbC51dWlkPXIudXVpZCxlW2ldPWwsbH1jb25zdCByPXQuaXNJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeT9uZXcgVW5lOm5ldyBONHQsbz10LmRhdGEuaW5kZXg7aWYodm9pZCAwIT09byl7Y29uc3QgdD1NNHQoby50eXBlLG8uYXJyYXkpO3Iuc2V0SW5kZXgobmV3IGg0dCh0LDEpKX1jb25zdCBhPXQuZGF0YS5hdHRyaWJ1dGVzO2Zvcihjb25zdCBlIGluIGEpe2NvbnN0IG49YVtlXTtsZXQgbztpZihuLmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUpe2NvbnN0IGU9aSh0LmRhdGEsbi5kYXRhKTtvPW5ldyBkN3QoZSxuLml0ZW1TaXplLG4ub2Zmc2V0LG4ubm9ybWFsaXplZCl9ZWxzZXtjb25zdCB0PU00dChuLnR5cGUsbi5hcnJheSk7bz1uZXcobi5pc0luc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT9qbmU6aDR0KSh0LG4uaXRlbVNpemUsbi5ub3JtYWxpemVkKX12b2lkIDAhPT1uLm5hbWUmJihvLm5hbWU9bi5uYW1lKSx2b2lkIDAhPT1uLnVzYWdlJiZvLnNldFVzYWdlKG4udXNhZ2UpLHZvaWQgMCE9PW4udXBkYXRlUmFuZ2UmJihvLnVwZGF0ZVJhbmdlLm9mZnNldD1uLnVwZGF0ZVJhbmdlLm9mZnNldCxvLnVwZGF0ZVJhbmdlLmNvdW50PW4udXBkYXRlUmFuZ2UuY291bnQpLHIuc2V0QXR0cmlidXRlKGUsbyl9Y29uc3Qgcz10LmRhdGEubW9ycGhBdHRyaWJ1dGVzO2lmKHMpZm9yKGNvbnN0IGUgaW4gcyl7Y29uc3Qgbj1zW2VdLG89W107Zm9yKGxldCBlPTAscj1uLmxlbmd0aDtlPHI7ZSsrKXtjb25zdCByPW5bZV07bGV0IGE7aWYoci5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlKXtjb25zdCBlPWkodC5kYXRhLHIuZGF0YSk7YT1uZXcgZDd0KGUsci5pdGVtU2l6ZSxyLm9mZnNldCxyLm5vcm1hbGl6ZWQpfWVsc2V7Y29uc3QgdD1NNHQoci50eXBlLHIuYXJyYXkpO2E9bmV3IGg0dCh0LHIuaXRlbVNpemUsci5ub3JtYWxpemVkKX12b2lkIDAhPT1yLm5hbWUmJihhLm5hbWU9ci5uYW1lKSxvLnB1c2goYSl9ci5tb3JwaEF0dHJpYnV0ZXNbZV09b310LmRhdGEubW9ycGhUYXJnZXRzUmVsYXRpdmUmJihyLm1vcnBoVGFyZ2V0c1JlbGF0aXZlPSEwKTtjb25zdCBsPXQuZGF0YS5ncm91cHN8fHQuZGF0YS5kcmF3Y2FsbHN8fHQuZGF0YS5vZmZzZXRzO2lmKHZvaWQgMCE9PWwpZm9yKGxldCB0PTAsZT1sLmxlbmd0aDt0IT09ZTsrK3Qpe2NvbnN0IGU9bFt0XTtyLmFkZEdyb3VwKGUuc3RhcnQsZS5jb3VudCxlLm1hdGVyaWFsSW5kZXgpfWNvbnN0IGM9dC5kYXRhLmJvdW5kaW5nU3BoZXJlO2lmKHZvaWQgMCE9PWMpe2NvbnN0IHQ9bmV3IEg1dDt2b2lkIDAhPT1jLmNlbnRlciYmdC5mcm9tQXJyYXkoYy5jZW50ZXIpLHIuYm91bmRpbmdTcGhlcmU9bmV3IHMzdCh0LGMucmFkaXVzKX1yZXR1cm4gdC5uYW1lJiYoci5uYW1lPXQubmFtZSksdC51c2VyRGF0YSYmKHIudXNlckRhdGE9dC51c2VyRGF0YSkscn19Y29uc3QgV25lPXtVVk1hcHBpbmc6dDJ0LEN1YmVSZWZsZWN0aW9uTWFwcGluZzplMnQsQ3ViZVJlZnJhY3Rpb25NYXBwaW5nOm4ydCxFcXVpcmVjdGFuZ3VsYXJSZWZsZWN0aW9uTWFwcGluZzppMnQsRXF1aXJlY3Rhbmd1bGFyUmVmcmFjdGlvbk1hcHBpbmc6cjJ0LEN1YmVVVlJlZmxlY3Rpb25NYXBwaW5nOm8ydCxDdWJlVVZSZWZyYWN0aW9uTWFwcGluZzphMnR9LHFuZT17UmVwZWF0V3JhcHBpbmc6czJ0LENsYW1wVG9FZGdlV3JhcHBpbmc6bDJ0LE1pcnJvcmVkUmVwZWF0V3JhcHBpbmc6YzJ0fSxZbmU9e05lYXJlc3RGaWx0ZXI6dTJ0LE5lYXJlc3RNaXBtYXBOZWFyZXN0RmlsdGVyOmgydCxOZWFyZXN0TWlwbWFwTGluZWFyRmlsdGVyOmQydCxMaW5lYXJGaWx0ZXI6cDJ0LExpbmVhck1pcG1hcE5lYXJlc3RGaWx0ZXI6ZjJ0LExpbmVhck1pcG1hcExpbmVhckZpbHRlcjptMnR9O2NsYXNzIFhuZSBleHRlbmRzIGhuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSwidW5kZWZpbmVkIj09dHlwZW9mIGNyZWF0ZUltYWdlQml0bWFwJiZjb25zb2xlLndhcm4oIlRIUkVFLkltYWdlQml0bWFwTG9hZGVyOiBjcmVhdGVJbWFnZUJpdG1hcCgpIG5vdCBzdXBwb3J0ZWQuIiksInVuZGVmaW5lZCI9PXR5cGVvZiBmZXRjaCYmY29uc29sZS53YXJuKCJUSFJFRS5JbWFnZUJpdG1hcExvYWRlcjogZmV0Y2goKSBub3Qgc3VwcG9ydGVkLiIpLHRoaXMub3B0aW9ucz17cHJlbXVsdGlwbHlBbHBoYToibm9uZSJ9fXNldE9wdGlvbnModCl7cmV0dXJuIHRoaXMub3B0aW9ucz10LHRoaXN9bG9hZCh0LGUsbixpKXt2b2lkIDA9PT10JiYodD0iIiksdm9pZCAwIT09dGhpcy5wYXRoJiYodD10aGlzLnBhdGgrdCksdD10aGlzLm1hbmFnZXIucmVzb2x2ZVVSTCh0KTtjb25zdCByPXRoaXMsbz1sbmUuZ2V0KHQpO2lmKHZvaWQgMCE9PW8pcmV0dXJuIHIubWFuYWdlci5pdGVtU3RhcnQodCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlJiZlKG8pLHIubWFuYWdlci5pdGVtRW5kKHQpfSksMCksbztjb25zdCBhPXt9O2EuY3JlZGVudGlhbHM9ImFub255bW91cyI9PT10aGlzLmNyb3NzT3JpZ2luPyJzYW1lLW9yaWdpbiI6ImluY2x1ZGUiLGEuaGVhZGVycz10aGlzLnJlcXVlc3RIZWFkZXIsZmV0Y2godCxhKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdC5ibG9iKCl9KSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIGNyZWF0ZUltYWdlQml0bWFwKHQsT2JqZWN0LmFzc2lnbihyLm9wdGlvbnMse2NvbG9yU3BhY2VDb252ZXJzaW9uOiJub25lIn0pKX0pKS50aGVuKChmdW5jdGlvbihuKXtsbmUuYWRkKHQsbiksZSYmZShuKSxyLm1hbmFnZXIuaXRlbUVuZCh0KX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aSYmaShlKSxyLm1hbmFnZXIuaXRlbUVycm9yKHQpLHIubWFuYWdlci5pdGVtRW5kKHQpfSkpLHIubWFuYWdlci5pdGVtU3RhcnQodCl9fVhuZS5wcm90b3R5cGUuaXNJbWFnZUJpdG1hcExvYWRlcj0hMDtjbGFzcyAkbmV7Y29uc3RydWN0b3IoKXt0aGlzLnR5cGU9IlNoYXBlUGF0aCIsdGhpcy5jb2xvcj1uZXcgczR0LHRoaXMuc3ViUGF0aHM9W10sdGhpcy5jdXJyZW50UGF0aD1udWxsfW1vdmVUbyh0LGUpe3JldHVybiB0aGlzLmN1cnJlbnRQYXRoPW5ldyB2bmUsdGhpcy5zdWJQYXRocy5wdXNoKHRoaXMuY3VycmVudFBhdGgpLHRoaXMuY3VycmVudFBhdGgubW92ZVRvKHQsZSksdGhpc31saW5lVG8odCxlKXtyZXR1cm4gdGhpcy5jdXJyZW50UGF0aC5saW5lVG8odCxlKSx0aGlzfXF1YWRyYXRpY0N1cnZlVG8odCxlLG4saSl7cmV0dXJuIHRoaXMuY3VycmVudFBhdGgucXVhZHJhdGljQ3VydmVUbyh0LGUsbixpKSx0aGlzfWJlemllckN1cnZlVG8odCxlLG4saSxyLG8pe3JldHVybiB0aGlzLmN1cnJlbnRQYXRoLmJlemllckN1cnZlVG8odCxlLG4saSxyLG8pLHRoaXN9c3BsaW5lVGhydSh0KXtyZXR1cm4gdGhpcy5jdXJyZW50UGF0aC5zcGxpbmVUaHJ1KHQpLHRoaXN9dG9TaGFwZXModCxlKXtmdW5jdGlvbiBuKHQpe2NvbnN0IGU9W107Zm9yKGxldCBuPTAsaT10Lmxlbmd0aDtuPGk7bisrKXtjb25zdCBpPXRbbl0scj1uZXcgYm5lO3IuY3VydmVzPWkuY3VydmVzLGUucHVzaChyKX1yZXR1cm4gZX1mdW5jdGlvbiBpKHQsZSl7Y29uc3Qgbj1lLmxlbmd0aDtsZXQgaT0hMTtmb3IobGV0IHI9bi0xLG89MDtvPG47cj1vKyspe2xldCBuPWVbcl0sYT1lW29dLHM9YS54LW4ueCxsPWEueS1uLnk7aWYoTWF0aC5hYnMobCk+TnVtYmVyLkVQU0lMT04pe2lmKGw8MCYmKG49ZVtvXSxzPS1zLGE9ZVtyXSxsPS1sKSx0Lnk8bi55fHx0Lnk+YS55KWNvbnRpbnVlO2lmKHQueT09PW4ueSl7aWYodC54PT09bi54KXJldHVybiEwfWVsc2V7Y29uc3QgZT1sKih0Lngtbi54KS1zKih0Lnktbi55KTtpZigwPT09ZSlyZXR1cm4hMDtpZihlPDApY29udGludWU7aT0haX19ZWxzZXtpZih0LnkhPT1uLnkpY29udGludWU7aWYoYS54PD10LngmJnQueDw9bi54fHxuLng8PXQueCYmdC54PD1hLngpcmV0dXJuITB9fXJldHVybiBpfWNvbnN0IHI9X2VlLmlzQ2xvY2tXaXNlLG89dGhpcy5zdWJQYXRocztpZigwPT09by5sZW5ndGgpcmV0dXJuW107aWYoITA9PT1lKXJldHVybiBuKG8pO2xldCBhLHMsbDtjb25zdCBjPVtdO2lmKDE9PT1vLmxlbmd0aClyZXR1cm4gcz1vWzBdLGw9bmV3IGJuZSxsLmN1cnZlcz1zLmN1cnZlcyxjLnB1c2gobCksYztsZXQgdT0hcihvWzBdLmdldFBvaW50cygpKTt1PXQ/IXU6dTtjb25zdCBoPVtdLGQ9W107bGV0IHAsZixtPVtdLGc9MDtkW2ddPXZvaWQgMCxtW2ddPVtdO2ZvcihsZXQgZT0wLG49by5sZW5ndGg7ZTxuO2UrKylzPW9bZV0scD1zLmdldFBvaW50cygpLGE9cihwKSxhPXQ/IWE6YSxhPyghdSYmZFtnXSYmZysrLGRbZ109e3M6bmV3IGJuZSxwOnB9LGRbZ10ucy5jdXJ2ZXM9cy5jdXJ2ZXMsdSYmZysrLG1bZ109W10pOm1bZ10ucHVzaCh7aDpzLHA6cFswXX0pO2lmKCFkWzBdKXJldHVybiBuKG8pO2lmKGQubGVuZ3RoPjEpe2xldCB0PSExO2NvbnN0IGU9W107Zm9yKGxldCB0PTAsZT1kLmxlbmd0aDt0PGU7dCsrKWhbdF09W107Zm9yKGxldCBuPTAscj1kLmxlbmd0aDtuPHI7bisrKXtjb25zdCByPW1bbl07Zm9yKGxldCBvPTA7bzxyLmxlbmd0aDtvKyspe2NvbnN0IGE9cltvXTtsZXQgcz0hMDtmb3IobGV0IHI9MDtyPGQubGVuZ3RoO3IrKylpKGEucCxkW3JdLnApJiYobiE9PXImJmUucHVzaCh7ZnJvbXM6bix0b3M6cixob2xlOm99KSxzPyhzPSExLGhbcl0ucHVzaChhKSk6dD0hMCk7cyYmaFtuXS5wdXNoKGEpfX1lLmxlbmd0aD4wJiYodHx8KG09aCkpfWZvcihsZXQgdD0wLGU9ZC5sZW5ndGg7dDxlO3QrKyl7bD1kW3RdLnMsYy5wdXNoKGwpLGY9bVt0XTtmb3IobGV0IHQ9MCxlPWYubGVuZ3RoO3Q8ZTt0KyspbC5ob2xlcy5wdXNoKGZbdF0uaCl9cmV0dXJuIGN9fWNsYXNzIEtuZXtjb25zdHJ1Y3Rvcih0KXt0aGlzLnR5cGU9IkZvbnQiLHRoaXMuZGF0YT10fWdlbmVyYXRlU2hhcGVzKHQsZT0xMDApe2NvbnN0IG49W10saT0oZnVuY3Rpb24gcih0LGUsbil7Y29uc3QgaT1BcnJheS5mcm9tKHQpLHI9ZS9uLnJlc29sdXRpb24sbz0obi5ib3VuZGluZ0JveC55TWF4LW4uYm91bmRpbmdCb3gueU1pbituLnVuZGVybGluZVRoaWNrbmVzcykqcixhPVtdO2xldCBzPTAsbD0wO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtjb25zdCBlPWlbdF07aWYoIlxuIj09PWUpcz0wLGwtPW87ZWxzZXtjb25zdCB0PVpuZShlLHIscyxsLG4pO3MrPXQub2Zmc2V0WCxhLnB1c2godC5wYXRoKX19cmV0dXJuIGF9KSh0LGUsdGhpcy5kYXRhKTtmb3IobGV0IHQ9MCxlPWkubGVuZ3RoO3Q8ZTt0KyspQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkobixpW3RdLnRvU2hhcGVzKCkpO3JldHVybiBufX1mdW5jdGlvbiBabmUodCxlLG4saSxyKXtjb25zdCBvPXIuZ2x5cGhzW3RdfHxyLmdseXBoc1siPyJdO2lmKCFvKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoJ1RIUkVFLkZvbnQ6IGNoYXJhY3RlciAiJyt0KyciIGRvZXMgbm90IGV4aXN0cyBpbiBmb250IGZhbWlseSAnK3IuZmFtaWx5TmFtZSsiLiIpO2NvbnN0IGE9bmV3ICRuZTtsZXQgcyxsLGMsdSxoLGQscCxmO2lmKG8ubyl7Y29uc3QgdD1vLl9jYWNoZWRPdXRsaW5lfHwoby5fY2FjaGVkT3V0bGluZT1vLm8uc3BsaXQoIiAiKSk7Zm9yKGxldCByPTAsbz10Lmxlbmd0aDtyPG87KXtzd2l0Y2godFtyKytdKXtjYXNlIm0iOnM9dFtyKytdKmUrbixsPXRbcisrXSplK2ksYS5tb3ZlVG8ocyxsKTticmVhaztjYXNlImwiOnM9dFtyKytdKmUrbixsPXRbcisrXSplK2ksYS5saW5lVG8ocyxsKTticmVhaztjYXNlInEiOmM9dFtyKytdKmUrbix1PXRbcisrXSplK2ksaD10W3IrK10qZStuLGQ9dFtyKytdKmUraSxhLnF1YWRyYXRpY0N1cnZlVG8oaCxkLGMsdSk7YnJlYWs7Y2FzZSJiIjpjPXRbcisrXSplK24sdT10W3IrK10qZStpLGg9dFtyKytdKmUrbixkPXRbcisrXSplK2kscD10W3IrK10qZStuLGY9dFtyKytdKmUraSxhLmJlemllckN1cnZlVG8oaCxkLHAsZixjLHUpfX19cmV0dXJue29mZnNldFg6by5oYSplLHBhdGg6YX19S25lLnByb3RvdHlwZS5pc0ZvbnQ9ITA7bGV0IEpuZTtjb25zdCBRbmU9e2dldENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09Sm5lJiYoSm5lPW5ldyh3aW5kb3cuQXVkaW9Db250ZXh0fHx3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0KSksSm5lfSxzZXRDb250ZXh0OmZ1bmN0aW9uKHQpe0puZT10fX07Y2xhc3MgdGllIGV4dGVuZHMgaG5le2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfWxvYWQodCxlLG4saSl7Y29uc3Qgcj10aGlzLG89bmV3IHBuZSh0aGlzLm1hbmFnZXIpO28uc2V0UmVzcG9uc2VUeXBlKCJhcnJheWJ1ZmZlciIpLG8uc2V0UGF0aCh0aGlzLnBhdGgpLG8uc2V0UmVxdWVzdEhlYWRlcih0aGlzLnJlcXVlc3RIZWFkZXIpLG8uc2V0V2l0aENyZWRlbnRpYWxzKHRoaXMud2l0aENyZWRlbnRpYWxzKSxvLmxvYWQodCwoZnVuY3Rpb24obil7dHJ5e2NvbnN0IHQ9bi5zbGljZSgwKTtRbmUuZ2V0Q29udGV4dCgpLmRlY29kZUF1ZGlvRGF0YSh0LChmdW5jdGlvbih0KXtlKHQpfSkpfWNhdGNoKGUpe2k/aShlKTpjb25zb2xlLmVycm9yKGUpLHIubWFuYWdlci5pdGVtRXJyb3IodCl9fSksbixpKX19Y2xhc3MgZWllIGV4dGVuZHMgSG5le2NvbnN0cnVjdG9yKHQsZSxuPTEpe3N1cGVyKHZvaWQgMCxuKTtjb25zdCBpPShuZXcgczR0KS5zZXQodCkscj0obmV3IHM0dCkuc2V0KGUpLG89bmV3IEg1dChpLnIsaS5nLGkuYiksYT1uZXcgSDV0KHIucixyLmcsci5iKSxzPU1hdGguc3FydChNYXRoLlBJKSxsPXMqTWF0aC5zcXJ0KC43NSk7dGhpcy5zaC5jb2VmZmljaWVudHNbMF0uY29weShvKS5hZGQoYSkubXVsdGlwbHlTY2FsYXIocyksdGhpcy5zaC5jb2VmZmljaWVudHNbMV0uY29weShvKS5zdWIoYSkubXVsdGlwbHlTY2FsYXIobCl9fWVpZS5wcm90b3R5cGUuaXNIZW1pc3BoZXJlTGlnaHRQcm9iZT0hMDtjbGFzcyBuaWUgZXh0ZW5kcyBIbmV7Y29uc3RydWN0b3IodCxlPTEpe3N1cGVyKHZvaWQgMCxlKTtjb25zdCBuPShuZXcgczR0KS5zZXQodCk7dGhpcy5zaC5jb2VmZmljaWVudHNbMF0uc2V0KG4ucixuLmcsbi5iKS5tdWx0aXBseVNjYWxhcigyKk1hdGguc3FydChNYXRoLlBJKSl9fW5pZS5wcm90b3R5cGUuaXNBbWJpZW50TGlnaHRQcm9iZT0hMDtjb25zdCBpaWU9bmV3IGczdCxyaWU9bmV3IGczdDtjbGFzcyBvaWV7Y29uc3RydWN0b3IodD0hMCl7dGhpcy5hdXRvU3RhcnQ9dCx0aGlzLnN0YXJ0VGltZT0wLHRoaXMub2xkVGltZT0wLHRoaXMuZWxhcHNlZFRpbWU9MCx0aGlzLnJ1bm5pbmc9ITF9c3RhcnQoKXt0aGlzLnN0YXJ0VGltZT1haWUoKSx0aGlzLm9sZFRpbWU9dGhpcy5zdGFydFRpbWUsdGhpcy5lbGFwc2VkVGltZT0wLHRoaXMucnVubmluZz0hMH1zdG9wKCl7dGhpcy5nZXRFbGFwc2VkVGltZSgpLHRoaXMucnVubmluZz0hMSx0aGlzLmF1dG9TdGFydD0hMX1nZXRFbGFwc2VkVGltZSgpe3JldHVybiB0aGlzLmdldERlbHRhKCksdGhpcy5lbGFwc2VkVGltZX1nZXREZWx0YSgpe2xldCB0PTA7aWYodGhpcy5hdXRvU3RhcnQmJiF0aGlzLnJ1bm5pbmcpcmV0dXJuIHRoaXMuc3RhcnQoKSwwO2lmKHRoaXMucnVubmluZyl7Y29uc3QgZT1haWUoKTt0PShlLXRoaXMub2xkVGltZSkvMWUzLHRoaXMub2xkVGltZT1lLHRoaXMuZWxhcHNlZFRpbWUrPXR9cmV0dXJuIHR9fWZ1bmN0aW9uIGFpZSgpe3JldHVybigidW5kZWZpbmVkIj09dHlwZW9mIHBlcmZvcm1hbmNlP0RhdGU6cGVyZm9ybWFuY2UpLm5vdygpfWNvbnN0IHNpZT1uZXcgSDV0LGxpZT1uZXcgQjV0LGNpZT1uZXcgSDV0LHVpZT1uZXcgSDV0O2NsYXNzIGhpZSBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iQXVkaW8iLHRoaXMubGlzdGVuZXI9dCx0aGlzLmNvbnRleHQ9dC5jb250ZXh0LHRoaXMuZ2Fpbj10aGlzLmNvbnRleHQuY3JlYXRlR2FpbigpLHRoaXMuZ2Fpbi5jb25uZWN0KHQuZ2V0SW5wdXQoKSksdGhpcy5hdXRvcGxheT0hMSx0aGlzLmJ1ZmZlcj1udWxsLHRoaXMuZGV0dW5lPTAsdGhpcy5sb29wPSExLHRoaXMubG9vcFN0YXJ0PTAsdGhpcy5sb29wRW5kPTAsdGhpcy5vZmZzZXQ9MCx0aGlzLmR1cmF0aW9uPXZvaWQgMCx0aGlzLnBsYXliYWNrUmF0ZT0xLHRoaXMuaXNQbGF5aW5nPSExLHRoaXMuaGFzUGxheWJhY2tDb250cm9sPSEwLHRoaXMuc291cmNlPW51bGwsdGhpcy5zb3VyY2VUeXBlPSJlbXB0eSIsdGhpcy5fc3RhcnRlZEF0PTAsdGhpcy5fcHJvZ3Jlc3M9MCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5maWx0ZXJzPVtdfWdldE91dHB1dCgpe3JldHVybiB0aGlzLmdhaW59c2V0Tm9kZVNvdXJjZSh0KXtyZXR1cm4gdGhpcy5oYXNQbGF5YmFja0NvbnRyb2w9ITEsdGhpcy5zb3VyY2VUeXBlPSJhdWRpb05vZGUiLHRoaXMuc291cmNlPXQsdGhpcy5jb25uZWN0KCksdGhpc31zZXRNZWRpYUVsZW1lbnRTb3VyY2UodCl7cmV0dXJuIHRoaXMuaGFzUGxheWJhY2tDb250cm9sPSExLHRoaXMuc291cmNlVHlwZT0ibWVkaWFOb2RlIix0aGlzLnNvdXJjZT10aGlzLmNvbnRleHQuY3JlYXRlTWVkaWFFbGVtZW50U291cmNlKHQpLHRoaXMuY29ubmVjdCgpLHRoaXN9c2V0TWVkaWFTdHJlYW1Tb3VyY2UodCl7cmV0dXJuIHRoaXMuaGFzUGxheWJhY2tDb250cm9sPSExLHRoaXMuc291cmNlVHlwZT0ibWVkaWFTdHJlYW1Ob2RlIix0aGlzLnNvdXJjZT10aGlzLmNvbnRleHQuY3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2UodCksdGhpcy5jb25uZWN0KCksdGhpc31zZXRCdWZmZXIodCl7cmV0dXJuIHRoaXMuYnVmZmVyPXQsdGhpcy5zb3VyY2VUeXBlPSJidWZmZXIiLHRoaXMuYXV0b3BsYXkmJnRoaXMucGxheSgpLHRoaXN9cGxheSh0PTApe2lmKCEwPT09dGhpcy5pc1BsYXlpbmcpcmV0dXJuIHZvaWQgY29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogQXVkaW8gaXMgYWxyZWFkeSBwbGF5aW5nLiIpO2lmKCExPT09dGhpcy5oYXNQbGF5YmFja0NvbnRyb2wpcmV0dXJuIHZvaWQgY29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKTt0aGlzLl9zdGFydGVkQXQ9dGhpcy5jb250ZXh0LmN1cnJlbnRUaW1lK3Q7Y29uc3QgZT10aGlzLmNvbnRleHQuY3JlYXRlQnVmZmVyU291cmNlKCk7cmV0dXJuIGUuYnVmZmVyPXRoaXMuYnVmZmVyLGUubG9vcD10aGlzLmxvb3AsZS5sb29wU3RhcnQ9dGhpcy5sb29wU3RhcnQsZS5sb29wRW5kPXRoaXMubG9vcEVuZCxlLm9uZW5kZWQ9dGhpcy5vbkVuZGVkLmJpbmQodGhpcyksZS5zdGFydCh0aGlzLl9zdGFydGVkQXQsdGhpcy5fcHJvZ3Jlc3MrdGhpcy5vZmZzZXQsdGhpcy5kdXJhdGlvbiksdGhpcy5pc1BsYXlpbmc9ITAsdGhpcy5zb3VyY2U9ZSx0aGlzLnNldERldHVuZSh0aGlzLmRldHVuZSksdGhpcy5zZXRQbGF5YmFja1JhdGUodGhpcy5wbGF5YmFja1JhdGUpLHRoaXMuY29ubmVjdCgpfXBhdXNlKCl7aWYoITEhPT10aGlzLmhhc1BsYXliYWNrQ29udHJvbClyZXR1cm4hMD09PXRoaXMuaXNQbGF5aW5nJiYodGhpcy5fcHJvZ3Jlc3MrPU1hdGgubWF4KHRoaXMuY29udGV4dC5jdXJyZW50VGltZS10aGlzLl9zdGFydGVkQXQsMCkqdGhpcy5wbGF5YmFja1JhdGUsITA9PT10aGlzLmxvb3AmJih0aGlzLl9wcm9ncmVzcz10aGlzLl9wcm9ncmVzcyUodGhpcy5kdXJhdGlvbnx8dGhpcy5idWZmZXIuZHVyYXRpb24pKSx0aGlzLnNvdXJjZS5zdG9wKCksdGhpcy5zb3VyY2Uub25lbmRlZD1udWxsLHRoaXMuaXNQbGF5aW5nPSExKSx0aGlzO2NvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIil9c3RvcCgpe2lmKCExIT09dGhpcy5oYXNQbGF5YmFja0NvbnRyb2wpcmV0dXJuIHRoaXMuX3Byb2dyZXNzPTAsdGhpcy5zb3VyY2Uuc3RvcCgpLHRoaXMuc291cmNlLm9uZW5kZWQ9bnVsbCx0aGlzLmlzUGxheWluZz0hMSx0aGlzO2NvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIil9Y29ubmVjdCgpe2lmKHRoaXMuZmlsdGVycy5sZW5ndGg+MCl7dGhpcy5zb3VyY2UuY29ubmVjdCh0aGlzLmZpbHRlcnNbMF0pO2ZvcihsZXQgdD0xLGU9dGhpcy5maWx0ZXJzLmxlbmd0aDt0PGU7dCsrKXRoaXMuZmlsdGVyc1t0LTFdLmNvbm5lY3QodGhpcy5maWx0ZXJzW3RdKTt0aGlzLmZpbHRlcnNbdGhpcy5maWx0ZXJzLmxlbmd0aC0xXS5jb25uZWN0KHRoaXMuZ2V0T3V0cHV0KCkpfWVsc2UgdGhpcy5zb3VyY2UuY29ubmVjdCh0aGlzLmdldE91dHB1dCgpKTtyZXR1cm4gdGhpcy5fY29ubmVjdGVkPSEwLHRoaXN9ZGlzY29ubmVjdCgpe2lmKHRoaXMuZmlsdGVycy5sZW5ndGg+MCl7dGhpcy5zb3VyY2UuZGlzY29ubmVjdCh0aGlzLmZpbHRlcnNbMF0pO2ZvcihsZXQgdD0xLGU9dGhpcy5maWx0ZXJzLmxlbmd0aDt0PGU7dCsrKXRoaXMuZmlsdGVyc1t0LTFdLmRpc2Nvbm5lY3QodGhpcy5maWx0ZXJzW3RdKTt0aGlzLmZpbHRlcnNbdGhpcy5maWx0ZXJzLmxlbmd0aC0xXS5kaXNjb25uZWN0KHRoaXMuZ2V0T3V0cHV0KCkpfWVsc2UgdGhpcy5zb3VyY2UuZGlzY29ubmVjdCh0aGlzLmdldE91dHB1dCgpKTtyZXR1cm4gdGhpcy5fY29ubmVjdGVkPSExLHRoaXN9Z2V0RmlsdGVycygpe3JldHVybiB0aGlzLmZpbHRlcnN9c2V0RmlsdGVycyh0KXtyZXR1cm4gdHx8KHQ9W10pLCEwPT09dGhpcy5fY29ubmVjdGVkPyh0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLmZpbHRlcnM9dC5zbGljZSgpLHRoaXMuY29ubmVjdCgpKTp0aGlzLmZpbHRlcnM9dC5zbGljZSgpLHRoaXN9c2V0RGV0dW5lKHQpe2lmKHRoaXMuZGV0dW5lPXQsdm9pZCAwIT09dGhpcy5zb3VyY2UuZGV0dW5lKXJldHVybiEwPT09dGhpcy5pc1BsYXlpbmcmJnRoaXMuc291cmNlLmRldHVuZS5zZXRUYXJnZXRBdFRpbWUodGhpcy5kZXR1bmUsdGhpcy5jb250ZXh0LmN1cnJlbnRUaW1lLC4wMSksdGhpc31nZXREZXR1bmUoKXtyZXR1cm4gdGhpcy5kZXR1bmV9Z2V0RmlsdGVyKCl7cmV0dXJuIHRoaXMuZ2V0RmlsdGVycygpWzBdfXNldEZpbHRlcih0KXtyZXR1cm4gdGhpcy5zZXRGaWx0ZXJzKHQ/W3RdOltdKX1zZXRQbGF5YmFja1JhdGUodCl7aWYoITEhPT10aGlzLmhhc1BsYXliYWNrQ29udHJvbClyZXR1cm4gdGhpcy5wbGF5YmFja1JhdGU9dCwhMD09PXRoaXMuaXNQbGF5aW5nJiZ0aGlzLnNvdXJjZS5wbGF5YmFja1JhdGUuc2V0VGFyZ2V0QXRUaW1lKHRoaXMucGxheWJhY2tSYXRlLHRoaXMuY29udGV4dC5jdXJyZW50VGltZSwuMDEpLHRoaXM7Y29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKX1nZXRQbGF5YmFja1JhdGUoKXtyZXR1cm4gdGhpcy5wbGF5YmFja1JhdGV9b25FbmRlZCgpe3RoaXMuaXNQbGF5aW5nPSExfWdldExvb3AoKXtyZXR1cm4hMT09PXRoaXMuaGFzUGxheWJhY2tDb250cm9sPyhjb25zb2xlLndhcm4oIlRIUkVFLkF1ZGlvOiB0aGlzIEF1ZGlvIGhhcyBubyBwbGF5YmFjayBjb250cm9sLiIpLCExKTp0aGlzLmxvb3B9c2V0TG9vcCh0KXtpZighMSE9PXRoaXMuaGFzUGxheWJhY2tDb250cm9sKXJldHVybiB0aGlzLmxvb3A9dCwhMD09PXRoaXMuaXNQbGF5aW5nJiYodGhpcy5zb3VyY2UubG9vcD10aGlzLmxvb3ApLHRoaXM7Y29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKX1zZXRMb29wU3RhcnQodCl7cmV0dXJuIHRoaXMubG9vcFN0YXJ0PXQsdGhpc31zZXRMb29wRW5kKHQpe3JldHVybiB0aGlzLmxvb3BFbmQ9dCx0aGlzfWdldFZvbHVtZSgpe3JldHVybiB0aGlzLmdhaW4uZ2Fpbi52YWx1ZX1zZXRWb2x1bWUodCl7cmV0dXJuIHRoaXMuZ2Fpbi5nYWluLnNldFRhcmdldEF0VGltZSh0LHRoaXMuY29udGV4dC5jdXJyZW50VGltZSwuMDEpLHRoaXN9fWNvbnN0IGRpZT1uZXcgSDV0LHBpZT1uZXcgQjV0LGZpZT1uZXcgSDV0LG1pZT1uZXcgSDV0O2NsYXNzIGdpZXtjb25zdHJ1Y3Rvcih0LGU9MjA0OCl7dGhpcy5hbmFseXNlcj10LmNvbnRleHQuY3JlYXRlQW5hbHlzZXIoKSx0aGlzLmFuYWx5c2VyLmZmdFNpemU9ZSx0aGlzLmRhdGE9bmV3IFVpbnQ4QXJyYXkodGhpcy5hbmFseXNlci5mcmVxdWVuY3lCaW5Db3VudCksdC5nZXRPdXRwdXQoKS5jb25uZWN0KHRoaXMuYW5hbHlzZXIpfWdldEZyZXF1ZW5jeURhdGEoKXtyZXR1cm4gdGhpcy5hbmFseXNlci5nZXRCeXRlRnJlcXVlbmN5RGF0YSh0aGlzLmRhdGEpLHRoaXMuZGF0YX1nZXRBdmVyYWdlRnJlcXVlbmN5KCl7bGV0IHQ9MDtjb25zdCBlPXRoaXMuZ2V0RnJlcXVlbmN5RGF0YSgpO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXQrPWVbbl07cmV0dXJuIHQvZS5sZW5ndGh9fWNsYXNzIF9pZXtjb25zdHJ1Y3Rvcih0LGUsbil7bGV0IGkscixvO3N3aXRjaCh0aGlzLmJpbmRpbmc9dCx0aGlzLnZhbHVlU2l6ZT1uLGUpe2Nhc2UicXVhdGVybmlvbiI6aT10aGlzLl9zbGVycCxyPXRoaXMuX3NsZXJwQWRkaXRpdmUsbz10aGlzLl9zZXRBZGRpdGl2ZUlkZW50aXR5UXVhdGVybmlvbix0aGlzLmJ1ZmZlcj1uZXcgRmxvYXQ2NEFycmF5KDYqbiksdGhpcy5fd29ya0luZGV4PTU7YnJlYWs7Y2FzZSJzdHJpbmciOmNhc2UiYm9vbCI6aT10aGlzLl9zZWxlY3Qscj10aGlzLl9zZWxlY3Qsbz10aGlzLl9zZXRBZGRpdGl2ZUlkZW50aXR5T3RoZXIsdGhpcy5idWZmZXI9bmV3IEFycmF5KDUqbik7YnJlYWs7ZGVmYXVsdDppPXRoaXMuX2xlcnAscj10aGlzLl9sZXJwQWRkaXRpdmUsbz10aGlzLl9zZXRBZGRpdGl2ZUlkZW50aXR5TnVtZXJpYyx0aGlzLmJ1ZmZlcj1uZXcgRmxvYXQ2NEFycmF5KDUqbil9dGhpcy5fbWl4QnVmZmVyUmVnaW9uPWksdGhpcy5fbWl4QnVmZmVyUmVnaW9uQWRkaXRpdmU9cix0aGlzLl9zZXRJZGVudGl0eT1vLHRoaXMuX29yaWdJbmRleD0zLHRoaXMuX2FkZEluZGV4PTQsdGhpcy5jdW11bGF0aXZlV2VpZ2h0PTAsdGhpcy5jdW11bGF0aXZlV2VpZ2h0QWRkaXRpdmU9MCx0aGlzLnVzZUNvdW50PTAsdGhpcy5yZWZlcmVuY2VDb3VudD0wfWFjY3VtdWxhdGUodCxlKXtjb25zdCBuPXRoaXMuYnVmZmVyLGk9dGhpcy52YWx1ZVNpemUscj10KmkraTtsZXQgbz10aGlzLmN1bXVsYXRpdmVXZWlnaHQ7aWYoMD09PW8pe2ZvcihsZXQgdD0wO3QhPT1pOysrdCluW3IrdF09blt0XTtvPWV9ZWxzZXtvKz1lO3RoaXMuX21peEJ1ZmZlclJlZ2lvbihuLHIsMCxlL28saSl9dGhpcy5jdW11bGF0aXZlV2VpZ2h0PW99YWNjdW11bGF0ZUFkZGl0aXZlKHQpe2NvbnN0IGU9dGhpcy5idWZmZXIsbj10aGlzLnZhbHVlU2l6ZSxpPW4qdGhpcy5fYWRkSW5kZXg7MD09PXRoaXMuY3VtdWxhdGl2ZVdlaWdodEFkZGl0aXZlJiZ0aGlzLl9zZXRJZGVudGl0eSgpLHRoaXMuX21peEJ1ZmZlclJlZ2lvbkFkZGl0aXZlKGUsaSwwLHQsbiksdGhpcy5jdW11bGF0aXZlV2VpZ2h0QWRkaXRpdmUrPXR9YXBwbHkodCl7Y29uc3QgZT10aGlzLnZhbHVlU2l6ZSxuPXRoaXMuYnVmZmVyLGk9dCplK2Uscj10aGlzLmN1bXVsYXRpdmVXZWlnaHQsbz10aGlzLmN1bXVsYXRpdmVXZWlnaHRBZGRpdGl2ZSxhPXRoaXMuYmluZGluZztpZih0aGlzLmN1bXVsYXRpdmVXZWlnaHQ9MCx0aGlzLmN1bXVsYXRpdmVXZWlnaHRBZGRpdGl2ZT0wLHI8MSl7dGhpcy5fbWl4QnVmZmVyUmVnaW9uKG4saSxlKnRoaXMuX29yaWdJbmRleCwxLXIsZSl9bz4wJiZ0aGlzLl9taXhCdWZmZXJSZWdpb25BZGRpdGl2ZShuLGksdGhpcy5fYWRkSW5kZXgqZSwxLGUpO2ZvcihsZXQgdD1lLHI9ZStlO3QhPT1yOysrdClpZihuW3RdIT09blt0K2VdKXthLnNldFZhbHVlKG4saSk7YnJlYWt9fXNhdmVPcmlnaW5hbFN0YXRlKCl7Y29uc3QgdD10aGlzLmJ1ZmZlcixlPXRoaXMudmFsdWVTaXplLG49ZSp0aGlzLl9vcmlnSW5kZXg7dGhpcy5iaW5kaW5nLmdldFZhbHVlKHQsbik7Zm9yKGxldCBpPWUscj1uO2khPT1yOysraSl0W2ldPXRbbitpJWVdO3RoaXMuX3NldElkZW50aXR5KCksdGhpcy5jdW11bGF0aXZlV2VpZ2h0PTAsdGhpcy5jdW11bGF0aXZlV2VpZ2h0QWRkaXRpdmU9MH1yZXN0b3JlT3JpZ2luYWxTdGF0ZSgpe3RoaXMuYmluZGluZy5zZXRWYWx1ZSh0aGlzLmJ1ZmZlciwzKnRoaXMudmFsdWVTaXplKX1fc2V0QWRkaXRpdmVJZGVudGl0eU51bWVyaWMoKXtjb25zdCB0PXRoaXMuX2FkZEluZGV4KnRoaXMudmFsdWVTaXplLGU9dCt0aGlzLnZhbHVlU2l6ZTtmb3IobGV0IG49dDtuPGU7bisrKXRoaXMuYnVmZmVyW25dPTB9X3NldEFkZGl0aXZlSWRlbnRpdHlRdWF0ZXJuaW9uKCl7dGhpcy5fc2V0QWRkaXRpdmVJZGVudGl0eU51bWVyaWMoKSx0aGlzLmJ1ZmZlclt0aGlzLl9hZGRJbmRleCp0aGlzLnZhbHVlU2l6ZSszXT0xfV9zZXRBZGRpdGl2ZUlkZW50aXR5T3RoZXIoKXtjb25zdCB0PXRoaXMuX29yaWdJbmRleCp0aGlzLnZhbHVlU2l6ZSxlPXRoaXMuX2FkZEluZGV4KnRoaXMudmFsdWVTaXplO2ZvcihsZXQgbj0wO248dGhpcy52YWx1ZVNpemU7bisrKXRoaXMuYnVmZmVyW2Urbl09dGhpcy5idWZmZXJbdCtuXX1fc2VsZWN0KHQsZSxuLGkscil7aWYoaT49LjUpZm9yKGxldCBpPTA7aSE9PXI7KytpKXRbZStpXT10W24raV19X3NsZXJwKHQsZSxuLGkpe0I1dC5zbGVycEZsYXQodCxlLHQsZSx0LG4saSl9X3NsZXJwQWRkaXRpdmUodCxlLG4saSxyKXtjb25zdCBvPXRoaXMuX3dvcmtJbmRleCpyO0I1dC5tdWx0aXBseVF1YXRlcm5pb25zRmxhdCh0LG8sdCxlLHQsbiksQjV0LnNsZXJwRmxhdCh0LGUsdCxlLHQsbyxpKX1fbGVycCh0LGUsbixpLHIpe2NvbnN0IG89MS1pO2ZvcihsZXQgYT0wO2EhPT1yOysrYSl7Y29uc3Qgcj1lK2E7dFtyXT10W3JdKm8rdFtuK2FdKml9fV9sZXJwQWRkaXRpdmUodCxlLG4saSxyKXtmb3IobGV0IG89MDtvIT09cjsrK28pe2NvbnN0IHI9ZStvO3Rbcl09dFtyXSt0W24rb10qaX19fWNvbnN0IHlpZT0iXFxbXFxdXFwuOlxcLyIsdmllPW5ldyBSZWdFeHAoIltcXFtcXF1cXC46XFwvXSIsImciKSxiaWU9IlteXFxbXFxdXFwuOlxcL10iLHhpZT0iW14iK3lpZS5yZXBsYWNlKCJcXC4iLCIiKSsiXSIsd2llPS8oKD86V0MrW1wvOl0pKikvLnNvdXJjZS5yZXBsYWNlKCJXQyIsYmllKSxTaWU9LyhXQ09EKyk/Ly5zb3VyY2UucmVwbGFjZSgiV0NPRCIseGllKSxNaWU9Lyg/OlwuKFdDKykoPzpcWyguKylcXSk/KT8vLnNvdXJjZS5yZXBsYWNlKCJXQyIsYmllKSxFaWU9L1wuKFdDKykoPzpcWyguKylcXSk/Ly5zb3VyY2UucmVwbGFjZSgiV0MiLGJpZSksVGllPW5ldyBSZWdFeHAoIl4iK3dpZStTaWUrTWllK0VpZSsiJCIpLENpZT1bIm1hdGVyaWFsIiwibWF0ZXJpYWxzIiwiYm9uZXMiXTtjbGFzcyBBaWV7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMucGF0aD1lLHRoaXMucGFyc2VkUGF0aD1ufHxBaWUucGFyc2VUcmFja05hbWUoZSksdGhpcy5ub2RlPUFpZS5maW5kTm9kZSh0LHRoaXMucGFyc2VkUGF0aC5ub2RlTmFtZSl8fHQsdGhpcy5yb290Tm9kZT10LHRoaXMuZ2V0VmFsdWU9dGhpcy5fZ2V0VmFsdWVfdW5ib3VuZCx0aGlzLnNldFZhbHVlPXRoaXMuX3NldFZhbHVlX3VuYm91bmR9c3RhdGljIGNyZWF0ZSh0LGUsbil7cmV0dXJuIHQmJnQuaXNBbmltYXRpb25PYmplY3RHcm91cD9uZXcgQWllLkNvbXBvc2l0ZSh0LGUsbik6bmV3IEFpZSh0LGUsbil9c3RhdGljIHNhbml0aXplTm9kZU5hbWUodCl7cmV0dXJuIHQucmVwbGFjZSgvXHMvZywiXyIpLnJlcGxhY2UodmllLCIiKX1zdGF0aWMgcGFyc2VUcmFja05hbWUodCl7Y29uc3QgZT1UaWUuZXhlYyh0KTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIlByb3BlcnR5QmluZGluZzogQ2Fubm90IHBhcnNlIHRyYWNrTmFtZTogIit0KTtjb25zdCBuPXtub2RlTmFtZTplWzJdLG9iamVjdE5hbWU6ZVszXSxvYmplY3RJbmRleDplWzRdLHByb3BlcnR5TmFtZTplWzVdLHByb3BlcnR5SW5kZXg6ZVs2XX0saT1uLm5vZGVOYW1lJiZuLm5vZGVOYW1lLmxhc3RJbmRleE9mKCIuIik7aWYodm9pZCAwIT09aSYmLTEhPT1pKXtjb25zdCB0PW4ubm9kZU5hbWUuc3Vic3RyaW5nKGkrMSk7LTEhPT1DaWUuaW5kZXhPZih0KSYmKG4ubm9kZU5hbWU9bi5ub2RlTmFtZS5zdWJzdHJpbmcoMCxpKSxuLm9iamVjdE5hbWU9dCl9aWYobnVsbD09PW4ucHJvcGVydHlOYW1lfHwwPT09bi5wcm9wZXJ0eU5hbWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiUHJvcGVydHlCaW5kaW5nOiBjYW4gbm90IHBhcnNlIHByb3BlcnR5TmFtZSBmcm9tIHRyYWNrTmFtZTogIit0KTtyZXR1cm4gbn1zdGF0aWMgZmluZE5vZGUodCxlKXtpZighZXx8IiI9PT1lfHwiLiI9PT1lfHwtMT09PWV8fGU9PT10Lm5hbWV8fGU9PT10LnV1aWQpcmV0dXJuIHQ7aWYodC5za2VsZXRvbil7Y29uc3Qgbj10LnNrZWxldG9uLmdldEJvbmVCeU5hbWUoZSk7aWYodm9pZCAwIT09bilyZXR1cm4gbn1pZih0LmNoaWxkcmVuKXtjb25zdCBuPWZ1bmN0aW9uKHQpe2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXtjb25zdCByPXRbaV07aWYoci5uYW1lPT09ZXx8ci51dWlkPT09ZSlyZXR1cm4gcjtjb25zdCBvPW4oci5jaGlsZHJlbik7aWYobylyZXR1cm4gb31yZXR1cm4gbnVsbH0saT1uKHQuY2hpbGRyZW4pO2lmKGkpcmV0dXJuIGl9cmV0dXJuIG51bGx9X2dldFZhbHVlX3VuYXZhaWxhYmxlKCl7fV9zZXRWYWx1ZV91bmF2YWlsYWJsZSgpe31fZ2V0VmFsdWVfZGlyZWN0KHQsZSl7dFtlXT10aGlzLm5vZGVbdGhpcy5wcm9wZXJ0eU5hbWVdfV9nZXRWYWx1ZV9hcnJheSh0LGUpe2NvbnN0IG49dGhpcy5yZXNvbHZlZFByb3BlcnR5O2ZvcihsZXQgaT0wLHI9bi5sZW5ndGg7aSE9PXI7KytpKXRbZSsrXT1uW2ldfV9nZXRWYWx1ZV9hcnJheUVsZW1lbnQodCxlKXt0W2VdPXRoaXMucmVzb2x2ZWRQcm9wZXJ0eVt0aGlzLnByb3BlcnR5SW5kZXhdfV9nZXRWYWx1ZV90b0FycmF5KHQsZSl7dGhpcy5yZXNvbHZlZFByb3BlcnR5LnRvQXJyYXkodCxlKX1fc2V0VmFsdWVfZGlyZWN0KHQsZSl7dGhpcy50YXJnZXRPYmplY3RbdGhpcy5wcm9wZXJ0eU5hbWVdPXRbZV19X3NldFZhbHVlX2RpcmVjdF9zZXROZWVkc1VwZGF0ZSh0LGUpe3RoaXMudGFyZ2V0T2JqZWN0W3RoaXMucHJvcGVydHlOYW1lXT10W2VdLHRoaXMudGFyZ2V0T2JqZWN0Lm5lZWRzVXBkYXRlPSEwfV9zZXRWYWx1ZV9kaXJlY3Rfc2V0TWF0cml4V29ybGROZWVkc1VwZGF0ZSh0LGUpe3RoaXMudGFyZ2V0T2JqZWN0W3RoaXMucHJvcGVydHlOYW1lXT10W2VdLHRoaXMudGFyZ2V0T2JqZWN0Lm1hdHJpeFdvcmxkTmVlZHNVcGRhdGU9ITB9X3NldFZhbHVlX2FycmF5KHQsZSl7Y29uc3Qgbj10aGlzLnJlc29sdmVkUHJvcGVydHk7Zm9yKGxldCBpPTAscj1uLmxlbmd0aDtpIT09cjsrK2kpbltpXT10W2UrK119X3NldFZhbHVlX2FycmF5X3NldE5lZWRzVXBkYXRlKHQsZSl7Y29uc3Qgbj10aGlzLnJlc29sdmVkUHJvcGVydHk7Zm9yKGxldCBpPTAscj1uLmxlbmd0aDtpIT09cjsrK2kpbltpXT10W2UrK107dGhpcy50YXJnZXRPYmplY3QubmVlZHNVcGRhdGU9ITB9X3NldFZhbHVlX2FycmF5X3NldE1hdHJpeFdvcmxkTmVlZHNVcGRhdGUodCxlKXtjb25zdCBuPXRoaXMucmVzb2x2ZWRQcm9wZXJ0eTtmb3IobGV0IGk9MCxyPW4ubGVuZ3RoO2khPT1yOysraSluW2ldPXRbZSsrXTt0aGlzLnRhcmdldE9iamVjdC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSEwfV9zZXRWYWx1ZV9hcnJheUVsZW1lbnQodCxlKXt0aGlzLnJlc29sdmVkUHJvcGVydHlbdGhpcy5wcm9wZXJ0eUluZGV4XT10W2VdfV9zZXRWYWx1ZV9hcnJheUVsZW1lbnRfc2V0TmVlZHNVcGRhdGUodCxlKXt0aGlzLnJlc29sdmVkUHJvcGVydHlbdGhpcy5wcm9wZXJ0eUluZGV4XT10W2VdLHRoaXMudGFyZ2V0T2JqZWN0Lm5lZWRzVXBkYXRlPSEwfV9zZXRWYWx1ZV9hcnJheUVsZW1lbnRfc2V0TWF0cml4V29ybGROZWVkc1VwZGF0ZSh0LGUpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eVt0aGlzLnByb3BlcnR5SW5kZXhdPXRbZV0sdGhpcy50YXJnZXRPYmplY3QubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMH1fc2V0VmFsdWVfZnJvbUFycmF5KHQsZSl7dGhpcy5yZXNvbHZlZFByb3BlcnR5LmZyb21BcnJheSh0LGUpfV9zZXRWYWx1ZV9mcm9tQXJyYXlfc2V0TmVlZHNVcGRhdGUodCxlKXt0aGlzLnJlc29sdmVkUHJvcGVydHkuZnJvbUFycmF5KHQsZSksdGhpcy50YXJnZXRPYmplY3QubmVlZHNVcGRhdGU9ITB9X3NldFZhbHVlX2Zyb21BcnJheV9zZXRNYXRyaXhXb3JsZE5lZWRzVXBkYXRlKHQsZSl7dGhpcy5yZXNvbHZlZFByb3BlcnR5LmZyb21BcnJheSh0LGUpLHRoaXMudGFyZ2V0T2JqZWN0Lm1hdHJpeFdvcmxkTmVlZHNVcGRhdGU9ITB9X2dldFZhbHVlX3VuYm91bmQodCxlKXt0aGlzLmJpbmQoKSx0aGlzLmdldFZhbHVlKHQsZSl9X3NldFZhbHVlX3VuYm91bmQodCxlKXt0aGlzLmJpbmQoKSx0aGlzLnNldFZhbHVlKHQsZSl9YmluZCgpe2xldCB0PXRoaXMubm9kZTtjb25zdCBlPXRoaXMucGFyc2VkUGF0aCxuPWUub2JqZWN0TmFtZSxpPWUucHJvcGVydHlOYW1lO2xldCByPWUucHJvcGVydHlJbmRleDtpZih0fHwodD1BaWUuZmluZE5vZGUodGhpcy5yb290Tm9kZSxlLm5vZGVOYW1lKXx8dGhpcy5yb290Tm9kZSx0aGlzLm5vZGU9dCksdGhpcy5nZXRWYWx1ZT10aGlzLl9nZXRWYWx1ZV91bmF2YWlsYWJsZSx0aGlzLnNldFZhbHVlPXRoaXMuX3NldFZhbHVlX3VuYXZhaWxhYmxlLCF0KXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogVHJ5aW5nIHRvIHVwZGF0ZSBub2RlIGZvciB0cmFjazogIit0aGlzLnBhdGgrIiBidXQgaXQgd2Fzbid0IGZvdW5kLiIpO2lmKG4pe2xldCBpPWUub2JqZWN0SW5kZXg7c3dpdGNoKG4pe2Nhc2UibWF0ZXJpYWxzIjppZighdC5tYXRlcmlhbClyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IENhbiBub3QgYmluZCB0byBtYXRlcmlhbCBhcyBub2RlIGRvZXMgbm90IGhhdmUgYSBtYXRlcmlhbC4iLHRoaXMpO2lmKCF0Lm1hdGVyaWFsLm1hdGVyaWFscylyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IENhbiBub3QgYmluZCB0byBtYXRlcmlhbC5tYXRlcmlhbHMgYXMgbm9kZS5tYXRlcmlhbCBkb2VzIG5vdCBoYXZlIGEgbWF0ZXJpYWxzIGFycmF5LiIsdGhpcyk7dD10Lm1hdGVyaWFsLm1hdGVyaWFsczticmVhaztjYXNlImJvbmVzIjppZighdC5za2VsZXRvbilyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IENhbiBub3QgYmluZCB0byBib25lcyBhcyBub2RlIGRvZXMgbm90IGhhdmUgYSBza2VsZXRvbi4iLHRoaXMpO3Q9dC5za2VsZXRvbi5ib25lcztmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKylpZih0W2VdLm5hbWU9PT1pKXtpPWU7YnJlYWt9YnJlYWs7ZGVmYXVsdDppZih2b2lkIDA9PT10W25dKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogQ2FuIG5vdCBiaW5kIHRvIG9iamVjdE5hbWUgb2Ygbm9kZSB1bmRlZmluZWQuIix0aGlzKTt0PXRbbl19aWYodm9pZCAwIT09aSl7aWYodm9pZCAwPT09dFtpXSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IFRyeWluZyB0byBiaW5kIHRvIG9iamVjdEluZGV4IG9mIG9iamVjdE5hbWUsIGJ1dCBpcyB1bmRlZmluZWQuIix0aGlzLHQpO3Q9dFtpXX19Y29uc3Qgbz10W2ldO2lmKHZvaWQgMD09PW8pe3JldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogVHJ5aW5nIHRvIHVwZGF0ZSBwcm9wZXJ0eSBmb3IgdHJhY2s6ICIrZS5ub2RlTmFtZSsiLiIraSsiIGJ1dCBpdCB3YXNuJ3QgZm91bmQuIix0KX1sZXQgYT10aGlzLlZlcnNpb25pbmcuTm9uZTt0aGlzLnRhcmdldE9iamVjdD10LHZvaWQgMCE9PXQubmVlZHNVcGRhdGU/YT10aGlzLlZlcnNpb25pbmcuTmVlZHNVcGRhdGU6dm9pZCAwIT09dC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlJiYoYT10aGlzLlZlcnNpb25pbmcuTWF0cml4V29ybGROZWVkc1VwZGF0ZSk7bGV0IHM9dGhpcy5CaW5kaW5nVHlwZS5EaXJlY3Q7aWYodm9pZCAwIT09cil7aWYoIm1vcnBoVGFyZ2V0SW5mbHVlbmNlcyI9PT1pKXtpZighdC5nZW9tZXRyeSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IENhbiBub3QgYmluZCB0byBtb3JwaFRhcmdldEluZmx1ZW5jZXMgYmVjYXVzZSBub2RlIGRvZXMgbm90IGhhdmUgYSBnZW9tZXRyeS4iLHRoaXMpO2lmKCF0Lmdlb21ldHJ5LmlzQnVmZmVyR2VvbWV0cnkpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbW9ycGhUYXJnZXRJbmZsdWVuY2VzIG9uIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iLHRoaXMpO2lmKCF0Lmdlb21ldHJ5Lm1vcnBoQXR0cmlidXRlcylyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IENhbiBub3QgYmluZCB0byBtb3JwaFRhcmdldEluZmx1ZW5jZXMgYmVjYXVzZSBub2RlIGRvZXMgbm90IGhhdmUgYSBnZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMuIix0aGlzKTt2b2lkIDAhPT10Lm1vcnBoVGFyZ2V0RGljdGlvbmFyeVtyXSYmKHI9dC5tb3JwaFRhcmdldERpY3Rpb25hcnlbcl0pfXM9dGhpcy5CaW5kaW5nVHlwZS5BcnJheUVsZW1lbnQsdGhpcy5yZXNvbHZlZFByb3BlcnR5PW8sdGhpcy5wcm9wZXJ0eUluZGV4PXJ9ZWxzZSB2b2lkIDAhPT1vLmZyb21BcnJheSYmdm9pZCAwIT09by50b0FycmF5PyhzPXRoaXMuQmluZGluZ1R5cGUuSGFzRnJvbVRvQXJyYXksdGhpcy5yZXNvbHZlZFByb3BlcnR5PW8pOkFycmF5LmlzQXJyYXkobyk/KHM9dGhpcy5CaW5kaW5nVHlwZS5FbnRpcmVBcnJheSx0aGlzLnJlc29sdmVkUHJvcGVydHk9byk6dGhpcy5wcm9wZXJ0eU5hbWU9aTt0aGlzLmdldFZhbHVlPXRoaXMuR2V0dGVyQnlCaW5kaW5nVHlwZVtzXSx0aGlzLnNldFZhbHVlPXRoaXMuU2V0dGVyQnlCaW5kaW5nVHlwZUFuZFZlcnNpb25pbmdbc11bYV19dW5iaW5kKCl7dGhpcy5ub2RlPW51bGwsdGhpcy5nZXRWYWx1ZT10aGlzLl9nZXRWYWx1ZV91bmJvdW5kLHRoaXMuc2V0VmFsdWU9dGhpcy5fc2V0VmFsdWVfdW5ib3VuZH19QWllLkNvbXBvc2l0ZT1jbGFzc3tjb25zdHJ1Y3Rvcih0LGUsbil7Y29uc3QgaT1ufHxBaWUucGFyc2VUcmFja05hbWUoZSk7dGhpcy5fdGFyZ2V0R3JvdXA9dCx0aGlzLl9iaW5kaW5ncz10LnN1YnNjcmliZV8oZSxpKX1nZXRWYWx1ZSh0LGUpe3RoaXMuYmluZCgpO2NvbnN0IG49dGhpcy5fYmluZGluZ3NbdGhpcy5fdGFyZ2V0R3JvdXAubkNhY2hlZE9iamVjdHNfXTt2b2lkIDAhPT1uJiZuLmdldFZhbHVlKHQsZSl9c2V0VmFsdWUodCxlKXtjb25zdCBuPXRoaXMuX2JpbmRpbmdzO2ZvcihsZXQgaT10aGlzLl90YXJnZXRHcm91cC5uQ2FjaGVkT2JqZWN0c18scj1uLmxlbmd0aDtpIT09cjsrK2kpbltpXS5zZXRWYWx1ZSh0LGUpfWJpbmQoKXtjb25zdCB0PXRoaXMuX2JpbmRpbmdzO2ZvcihsZXQgZT10aGlzLl90YXJnZXRHcm91cC5uQ2FjaGVkT2JqZWN0c18sbj10Lmxlbmd0aDtlIT09bjsrK2UpdFtlXS5iaW5kKCl9dW5iaW5kKCl7Y29uc3QgdD10aGlzLl9iaW5kaW5ncztmb3IobGV0IGU9dGhpcy5fdGFyZ2V0R3JvdXAubkNhY2hlZE9iamVjdHNfLG49dC5sZW5ndGg7ZSE9PW47KytlKXRbZV0udW5iaW5kKCl9fSxBaWUucHJvdG90eXBlLkJpbmRpbmdUeXBlPXtEaXJlY3Q6MCxFbnRpcmVBcnJheToxLEFycmF5RWxlbWVudDoyLEhhc0Zyb21Ub0FycmF5OjN9LEFpZS5wcm90b3R5cGUuVmVyc2lvbmluZz17Tm9uZTowLE5lZWRzVXBkYXRlOjEsTWF0cml4V29ybGROZWVkc1VwZGF0ZToyfSxBaWUucHJvdG90eXBlLkdldHRlckJ5QmluZGluZ1R5cGU9W0FpZS5wcm90b3R5cGUuX2dldFZhbHVlX2RpcmVjdCxBaWUucHJvdG90eXBlLl9nZXRWYWx1ZV9hcnJheSxBaWUucHJvdG90eXBlLl9nZXRWYWx1ZV9hcnJheUVsZW1lbnQsQWllLnByb3RvdHlwZS5fZ2V0VmFsdWVfdG9BcnJheV0sQWllLnByb3RvdHlwZS5TZXR0ZXJCeUJpbmRpbmdUeXBlQW5kVmVyc2lvbmluZz1bW0FpZS5wcm90b3R5cGUuX3NldFZhbHVlX2RpcmVjdCxBaWUucHJvdG90eXBlLl9zZXRWYWx1ZV9kaXJlY3Rfc2V0TmVlZHNVcGRhdGUsQWllLnByb3RvdHlwZS5fc2V0VmFsdWVfZGlyZWN0X3NldE1hdHJpeFdvcmxkTmVlZHNVcGRhdGVdLFtBaWUucHJvdG90eXBlLl9zZXRWYWx1ZV9hcnJheSxBaWUucHJvdG90eXBlLl9zZXRWYWx1ZV9hcnJheV9zZXROZWVkc1VwZGF0ZSxBaWUucHJvdG90eXBlLl9zZXRWYWx1ZV9hcnJheV9zZXRNYXRyaXhXb3JsZE5lZWRzVXBkYXRlXSxbQWllLnByb3RvdHlwZS5fc2V0VmFsdWVfYXJyYXlFbGVtZW50LEFpZS5wcm90b3R5cGUuX3NldFZhbHVlX2FycmF5RWxlbWVudF9zZXROZWVkc1VwZGF0ZSxBaWUucHJvdG90eXBlLl9zZXRWYWx1ZV9hcnJheUVsZW1lbnRfc2V0TWF0cml4V29ybGROZWVkc1VwZGF0ZV0sW0FpZS5wcm90b3R5cGUuX3NldFZhbHVlX2Zyb21BcnJheSxBaWUucHJvdG90eXBlLl9zZXRWYWx1ZV9mcm9tQXJyYXlfc2V0TmVlZHNVcGRhdGUsQWllLnByb3RvdHlwZS5fc2V0VmFsdWVfZnJvbUFycmF5X3NldE1hdHJpeFdvcmxkTmVlZHNVcGRhdGVdXTtjbGFzcyBraWV7Y29uc3RydWN0b3IoKXt0aGlzLnV1aWQ9YTV0KCksdGhpcy5fb2JqZWN0cz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLHRoaXMubkNhY2hlZE9iamVjdHNfPTA7Y29uc3QgdD17fTt0aGlzLl9pbmRpY2VzQnlVVUlEPXQ7Zm9yKGxldCBlPTAsbj1hcmd1bWVudHMubGVuZ3RoO2UhPT1uOysrZSl0W2FyZ3VtZW50c1tlXS51dWlkXT1lO3RoaXMuX3BhdGhzPVtdLHRoaXMuX3BhcnNlZFBhdGhzPVtdLHRoaXMuX2JpbmRpbmdzPVtdLHRoaXMuX2JpbmRpbmdzSW5kaWNlc0J5UGF0aD17fTtjb25zdCBlPXRoaXM7dGhpcy5zdGF0cz17b2JqZWN0czp7Z2V0IHRvdGFsKCl7cmV0dXJuIGUuX29iamVjdHMubGVuZ3RofSxnZXQgaW5Vc2UoKXtyZXR1cm4gdGhpcy50b3RhbC1lLm5DYWNoZWRPYmplY3RzX319LGdldCBiaW5kaW5nc1Blck9iamVjdCgpe3JldHVybiBlLl9iaW5kaW5ncy5sZW5ndGh9fX1hZGQoKXtjb25zdCB0PXRoaXMuX29iamVjdHMsZT10aGlzLl9pbmRpY2VzQnlVVUlELG49dGhpcy5fcGF0aHMsaT10aGlzLl9wYXJzZWRQYXRocyxyPXRoaXMuX2JpbmRpbmdzLG89ci5sZW5ndGg7bGV0IGEscz10Lmxlbmd0aCxsPXRoaXMubkNhY2hlZE9iamVjdHNfO2ZvcihsZXQgYz0wLHU9YXJndW1lbnRzLmxlbmd0aDtjIT09dTsrK2Mpe2NvbnN0IHU9YXJndW1lbnRzW2NdLGg9dS51dWlkO2xldCBkPWVbaF07aWYodm9pZCAwPT09ZCl7ZD1zKyssZVtoXT1kLHQucHVzaCh1KTtmb3IobGV0IHQ9MCxlPW87dCE9PWU7Kyt0KXJbdF0ucHVzaChuZXcgQWllKHUsblt0XSxpW3RdKSl9ZWxzZSBpZihkPGwpe2E9dFtkXTtjb25zdCBzPS0tbCxjPXRbc107ZVtjLnV1aWRdPWQsdFtkXT1jLGVbaF09cyx0W3NdPXU7Zm9yKGxldCB0PTAsZT1vO3QhPT1lOysrdCl7Y29uc3QgZT1yW3RdO2xldCBvPWVbZF07ZVtkXT1lW3NdLHZvaWQgMD09PW8mJihvPW5ldyBBaWUodSxuW3RdLGlbdF0pKSxlW3NdPW99fWVsc2UgdFtkXSE9PWEmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLkFuaW1hdGlvbk9iamVjdEdyb3VwOiBEaWZmZXJlbnQgb2JqZWN0cyB3aXRoIHRoZSBzYW1lIFVVSUQgZGV0ZWN0ZWQuIENsZWFuIHRoZSBjYWNoZXMgb3IgcmVjcmVhdGUgeW91ciBpbmZyYXN0cnVjdHVyZSB3aGVuIHJlbG9hZGluZyBzY2VuZXMuIil9dGhpcy5uQ2FjaGVkT2JqZWN0c189bH1yZW1vdmUoKXtjb25zdCB0PXRoaXMuX29iamVjdHMsZT10aGlzLl9pbmRpY2VzQnlVVUlELG49dGhpcy5fYmluZGluZ3MsaT1uLmxlbmd0aDtsZXQgcj10aGlzLm5DYWNoZWRPYmplY3RzXztmb3IobGV0IG89MCxhPWFyZ3VtZW50cy5sZW5ndGg7byE9PWE7KytvKXtjb25zdCBhPWFyZ3VtZW50c1tvXSxzPWEudXVpZCxsPWVbc107aWYodm9pZCAwIT09bCYmbD49cil7Y29uc3Qgbz1yKyssYz10W29dO2VbYy51dWlkXT1sLHRbbF09YyxlW3NdPW8sdFtvXT1hO2ZvcihsZXQgdD0wLGU9aTt0IT09ZTsrK3Qpe2NvbnN0IGU9blt0XSxpPWVbbF07ZVtsXT1lW29dLGVbb109aX19fXRoaXMubkNhY2hlZE9iamVjdHNfPXJ9dW5jYWNoZSgpe2NvbnN0IHQ9dGhpcy5fb2JqZWN0cyxlPXRoaXMuX2luZGljZXNCeVVVSUQsbj10aGlzLl9iaW5kaW5ncyxpPW4ubGVuZ3RoO2xldCByPXRoaXMubkNhY2hlZE9iamVjdHNfLG89dC5sZW5ndGg7Zm9yKGxldCBhPTAscz1hcmd1bWVudHMubGVuZ3RoO2EhPT1zOysrYSl7Y29uc3Qgcz1hcmd1bWVudHNbYV0udXVpZCxsPWVbc107aWYodm9pZCAwIT09bClpZihkZWxldGUgZVtzXSxsPHIpe2NvbnN0IGE9LS1yLHM9dFthXSxjPS0tbyx1PXRbY107ZVtzLnV1aWRdPWwsdFtsXT1zLGVbdS51dWlkXT1hLHRbYV09dSx0LnBvcCgpO2ZvcihsZXQgdD0wLGU9aTt0IT09ZTsrK3Qpe2NvbnN0IGU9blt0XSxpPWVbY107ZVtsXT1lW2FdLGVbYV09aSxlLnBvcCgpfX1lbHNle2NvbnN0IHI9LS1vLGE9dFtyXTtyPjAmJihlW2EudXVpZF09bCksdFtsXT1hLHQucG9wKCk7Zm9yKGxldCB0PTAsZT1pO3QhPT1lOysrdCl7Y29uc3QgZT1uW3RdO2VbbF09ZVtyXSxlLnBvcCgpfX19dGhpcy5uQ2FjaGVkT2JqZWN0c189cn1zdWJzY3JpYmVfKHQsZSl7Y29uc3Qgbj10aGlzLl9iaW5kaW5nc0luZGljZXNCeVBhdGg7bGV0IGk9blt0XTtjb25zdCByPXRoaXMuX2JpbmRpbmdzO2lmKHZvaWQgMCE9PWkpcmV0dXJuIHJbaV07Y29uc3Qgbz10aGlzLl9wYXRocyxhPXRoaXMuX3BhcnNlZFBhdGhzLHM9dGhpcy5fb2JqZWN0cyxsPXRoaXMubkNhY2hlZE9iamVjdHNfLGM9bmV3IEFycmF5KHMubGVuZ3RoKTtpPXIubGVuZ3RoLG5bdF09aSxvLnB1c2godCksYS5wdXNoKGUpLHIucHVzaChjKTtmb3IobGV0IG49bCxpPXMubGVuZ3RoO24hPT1pOysrbil7Y1tuXT1uZXcgQWllKHNbbl0sdCxlKX1yZXR1cm4gY311bnN1YnNjcmliZV8odCl7Y29uc3QgZT10aGlzLl9iaW5kaW5nc0luZGljZXNCeVBhdGgsbj1lW3RdO2lmKHZvaWQgMCE9PW4pe2NvbnN0IGk9dGhpcy5fcGF0aHMscj10aGlzLl9wYXJzZWRQYXRocyxvPXRoaXMuX2JpbmRpbmdzLGE9by5sZW5ndGgtMSxzPW9bYV07ZVt0W2FdXT1uLG9bbl09cyxvLnBvcCgpLHJbbl09clthXSxyLnBvcCgpLGlbbl09aVthXSxpLnBvcCgpfX19a2llLnByb3RvdHlwZS5pc0FuaW1hdGlvbk9iamVjdEdyb3VwPSEwO2NsYXNzIExpZXtjb25zdHJ1Y3Rvcih0LGUsbj1udWxsLGk9ZS5ibGVuZE1vZGUpe3RoaXMuX21peGVyPXQsdGhpcy5fY2xpcD1lLHRoaXMuX2xvY2FsUm9vdD1uLHRoaXMuYmxlbmRNb2RlPWk7Y29uc3Qgcj1lLnRyYWNrcyxvPXIubGVuZ3RoLGE9bmV3IEFycmF5KG8pLHM9e2VuZGluZ1N0YXJ0OkgydCxlbmRpbmdFbmQ6SDJ0fTtmb3IobGV0IHQ9MDt0IT09bzsrK3Qpe2NvbnN0IGU9clt0XS5jcmVhdGVJbnRlcnBvbGFudChudWxsKTthW3RdPWUsZS5zZXR0aW5ncz1zfXRoaXMuX2ludGVycG9sYW50U2V0dGluZ3M9cyx0aGlzLl9pbnRlcnBvbGFudHM9YSx0aGlzLl9wcm9wZXJ0eUJpbmRpbmdzPW5ldyBBcnJheShvKSx0aGlzLl9jYWNoZUluZGV4PW51bGwsdGhpcy5fYnlDbGlwQ2FjaGVJbmRleD1udWxsLHRoaXMuX3RpbWVTY2FsZUludGVycG9sYW50PW51bGwsdGhpcy5fd2VpZ2h0SW50ZXJwb2xhbnQ9bnVsbCx0aGlzLmxvb3A9MjIwMSx0aGlzLl9sb29wQ291bnQ9LTEsdGhpcy5fc3RhcnRUaW1lPW51bGwsdGhpcy50aW1lPTAsdGhpcy50aW1lU2NhbGU9MSx0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGU9MSx0aGlzLndlaWdodD0xLHRoaXMuX2VmZmVjdGl2ZVdlaWdodD0xLHRoaXMucmVwZXRpdGlvbnM9MS8wLHRoaXMucGF1c2VkPSExLHRoaXMuZW5hYmxlZD0hMCx0aGlzLmNsYW1wV2hlbkZpbmlzaGVkPSExLHRoaXMuemVyb1Nsb3BlQXRTdGFydD0hMCx0aGlzLnplcm9TbG9wZUF0RW5kPSEwfXBsYXkoKXtyZXR1cm4gdGhpcy5fbWl4ZXIuX2FjdGl2YXRlQWN0aW9uKHRoaXMpLHRoaXN9c3RvcCgpe3JldHVybiB0aGlzLl9taXhlci5fZGVhY3RpdmF0ZUFjdGlvbih0aGlzKSx0aGlzLnJlc2V0KCl9cmVzZXQoKXtyZXR1cm4gdGhpcy5wYXVzZWQ9ITEsdGhpcy5lbmFibGVkPSEwLHRoaXMudGltZT0wLHRoaXMuX2xvb3BDb3VudD0tMSx0aGlzLl9zdGFydFRpbWU9bnVsbCx0aGlzLnN0b3BGYWRpbmcoKS5zdG9wV2FycGluZygpfWlzUnVubmluZygpe3JldHVybiB0aGlzLmVuYWJsZWQmJiF0aGlzLnBhdXNlZCYmMCE9PXRoaXMudGltZVNjYWxlJiZudWxsPT09dGhpcy5fc3RhcnRUaW1lJiZ0aGlzLl9taXhlci5faXNBY3RpdmVBY3Rpb24odGhpcyl9aXNTY2hlZHVsZWQoKXtyZXR1cm4gdGhpcy5fbWl4ZXIuX2lzQWN0aXZlQWN0aW9uKHRoaXMpfXN0YXJ0QXQodCl7cmV0dXJuIHRoaXMuX3N0YXJ0VGltZT10LHRoaXN9c2V0TG9vcCh0LGUpe3JldHVybiB0aGlzLmxvb3A9dCx0aGlzLnJlcGV0aXRpb25zPWUsdGhpc31zZXRFZmZlY3RpdmVXZWlnaHQodCl7cmV0dXJuIHRoaXMud2VpZ2h0PXQsdGhpcy5fZWZmZWN0aXZlV2VpZ2h0PXRoaXMuZW5hYmxlZD90OjAsdGhpcy5zdG9wRmFkaW5nKCl9Z2V0RWZmZWN0aXZlV2VpZ2h0KCl7cmV0dXJuIHRoaXMuX2VmZmVjdGl2ZVdlaWdodH1mYWRlSW4odCl7cmV0dXJuIHRoaXMuX3NjaGVkdWxlRmFkaW5nKHQsMCwxKX1mYWRlT3V0KHQpe3JldHVybiB0aGlzLl9zY2hlZHVsZUZhZGluZyh0LDEsMCl9Y3Jvc3NGYWRlRnJvbSh0LGUsbil7aWYodC5mYWRlT3V0KGUpLHRoaXMuZmFkZUluKGUpLG4pe2NvbnN0IG49dGhpcy5fY2xpcC5kdXJhdGlvbixpPXQuX2NsaXAuZHVyYXRpb24scj1uL2k7dC53YXJwKDEsaS9uLGUpLHRoaXMud2FycChyLDEsZSl9cmV0dXJuIHRoaXN9Y3Jvc3NGYWRlVG8odCxlLG4pe3JldHVybiB0LmNyb3NzRmFkZUZyb20odGhpcyxlLG4pfXN0b3BGYWRpbmcoKXtjb25zdCB0PXRoaXMuX3dlaWdodEludGVycG9sYW50O3JldHVybiBudWxsIT09dCYmKHRoaXMuX3dlaWdodEludGVycG9sYW50PW51bGwsdGhpcy5fbWl4ZXIuX3Rha2VCYWNrQ29udHJvbEludGVycG9sYW50KHQpKSx0aGlzfXNldEVmZmVjdGl2ZVRpbWVTY2FsZSh0KXtyZXR1cm4gdGhpcy50aW1lU2NhbGU9dCx0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGU9dGhpcy5wYXVzZWQ/MDp0LHRoaXMuc3RvcFdhcnBpbmcoKX1nZXRFZmZlY3RpdmVUaW1lU2NhbGUoKXtyZXR1cm4gdGhpcy5fZWZmZWN0aXZlVGltZVNjYWxlfXNldER1cmF0aW9uKHQpe3JldHVybiB0aGlzLnRpbWVTY2FsZT10aGlzLl9jbGlwLmR1cmF0aW9uL3QsdGhpcy5zdG9wV2FycGluZygpfXN5bmNXaXRoKHQpe3JldHVybiB0aGlzLnRpbWU9dC50aW1lLHRoaXMudGltZVNjYWxlPXQudGltZVNjYWxlLHRoaXMuc3RvcFdhcnBpbmcoKX1oYWx0KHQpe3JldHVybiB0aGlzLndhcnAodGhpcy5fZWZmZWN0aXZlVGltZVNjYWxlLDAsdCl9d2FycCh0LGUsbil7Y29uc3QgaT10aGlzLl9taXhlcixyPWkudGltZSxvPXRoaXMudGltZVNjYWxlO2xldCBhPXRoaXMuX3RpbWVTY2FsZUludGVycG9sYW50O251bGw9PT1hJiYoYT1pLl9sZW5kQ29udHJvbEludGVycG9sYW50KCksdGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ9YSk7Y29uc3Qgcz1hLnBhcmFtZXRlclBvc2l0aW9ucyxsPWEuc2FtcGxlVmFsdWVzO3JldHVybiBzWzBdPXIsc1sxXT1yK24sbFswXT10L28sbFsxXT1lL28sdGhpc31zdG9wV2FycGluZygpe2NvbnN0IHQ9dGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ7cmV0dXJuIG51bGwhPT10JiYodGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ9bnVsbCx0aGlzLl9taXhlci5fdGFrZUJhY2tDb250cm9sSW50ZXJwb2xhbnQodCkpLHRoaXN9Z2V0TWl4ZXIoKXtyZXR1cm4gdGhpcy5fbWl4ZXJ9Z2V0Q2xpcCgpe3JldHVybiB0aGlzLl9jbGlwfWdldFJvb3QoKXtyZXR1cm4gdGhpcy5fbG9jYWxSb290fHx0aGlzLl9taXhlci5fcm9vdH1fdXBkYXRlKHQsZSxuLGkpe2lmKCF0aGlzLmVuYWJsZWQpcmV0dXJuIHZvaWQgdGhpcy5fdXBkYXRlV2VpZ2h0KHQpO2NvbnN0IHI9dGhpcy5fc3RhcnRUaW1lO2lmKG51bGwhPT1yKXtjb25zdCBpPSh0LXIpKm47aWYoaTwwfHwwPT09bilyZXR1cm47dGhpcy5fc3RhcnRUaW1lPW51bGwsZT1uKml9ZSo9dGhpcy5fdXBkYXRlVGltZVNjYWxlKHQpO2NvbnN0IG89dGhpcy5fdXBkYXRlVGltZShlKSxhPXRoaXMuX3VwZGF0ZVdlaWdodCh0KTtpZihhPjApe2NvbnN0IHQ9dGhpcy5faW50ZXJwb2xhbnRzLGU9dGhpcy5fcHJvcGVydHlCaW5kaW5ncztzd2l0Y2godGhpcy5ibGVuZE1vZGUpe2Nhc2UgajJ0OmZvcihsZXQgbj0wLGk9dC5sZW5ndGg7biE9PWk7KytuKXRbbl0uZXZhbHVhdGUobyksZVtuXS5hY2N1bXVsYXRlQWRkaXRpdmUoYSk7YnJlYWs7Y2FzZSBVMnQ6ZGVmYXVsdDpmb3IobGV0IG49MCxyPXQubGVuZ3RoO24hPT1yOysrbil0W25dLmV2YWx1YXRlKG8pLGVbbl0uYWNjdW11bGF0ZShpLGEpfX19X3VwZGF0ZVdlaWdodCh0KXtsZXQgZT0wO2lmKHRoaXMuZW5hYmxlZCl7ZT10aGlzLndlaWdodDtjb25zdCBuPXRoaXMuX3dlaWdodEludGVycG9sYW50O2lmKG51bGwhPT1uKXtjb25zdCBpPW4uZXZhbHVhdGUodClbMF07ZSo9aSx0Pm4ucGFyYW1ldGVyUG9zaXRpb25zWzFdJiYodGhpcy5zdG9wRmFkaW5nKCksMD09PWkmJih0aGlzLmVuYWJsZWQ9ITEpKX19cmV0dXJuIHRoaXMuX2VmZmVjdGl2ZVdlaWdodD1lLGV9X3VwZGF0ZVRpbWVTY2FsZSh0KXtsZXQgZT0wO2lmKCF0aGlzLnBhdXNlZCl7ZT10aGlzLnRpbWVTY2FsZTtjb25zdCBuPXRoaXMuX3RpbWVTY2FsZUludGVycG9sYW50O2lmKG51bGwhPT1uKXtlKj1uLmV2YWx1YXRlKHQpWzBdLHQ+bi5wYXJhbWV0ZXJQb3NpdGlvbnNbMV0mJih0aGlzLnN0b3BXYXJwaW5nKCksMD09PWU/dGhpcy5wYXVzZWQ9ITA6dGhpcy50aW1lU2NhbGU9ZSl9fXJldHVybiB0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGU9ZSxlfV91cGRhdGVUaW1lKHQpe2NvbnN0IGU9dGhpcy5fY2xpcC5kdXJhdGlvbixuPXRoaXMubG9vcDtsZXQgaT10aGlzLnRpbWUrdCxyPXRoaXMuX2xvb3BDb3VudDtjb25zdCBvPTIyMDI9PT1uO2lmKDA9PT10KXJldHVybi0xPT09cj9pOm8mJjE9PSgxJnIpP2UtaTppO2lmKDIyMDA9PT1uKXstMT09PXImJih0aGlzLl9sb29wQ291bnQ9MCx0aGlzLl9zZXRFbmRpbmdzKCEwLCEwLCExKSk7dDp7aWYoaT49ZSlpPWU7ZWxzZXtpZighKGk8MCkpe3RoaXMudGltZT1pO2JyZWFrIHR9aT0wfXRoaXMuY2xhbXBXaGVuRmluaXNoZWQ/dGhpcy5wYXVzZWQ9ITA6dGhpcy5lbmFibGVkPSExLHRoaXMudGltZT1pLHRoaXMuX21peGVyLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImZpbmlzaGVkIixhY3Rpb246dGhpcyxkaXJlY3Rpb246dDwwPy0xOjF9KX19ZWxzZXtpZigtMT09PXImJih0Pj0wPyhyPTAsdGhpcy5fc2V0RW5kaW5ncyghMCwwPT09dGhpcy5yZXBldGl0aW9ucyxvKSk6dGhpcy5fc2V0RW5kaW5ncygwPT09dGhpcy5yZXBldGl0aW9ucywhMCxvKSksaT49ZXx8aTwwKXtjb25zdCBuPU1hdGguZmxvb3IoaS9lKTtpLT1lKm4scis9TWF0aC5hYnMobik7Y29uc3QgYT10aGlzLnJlcGV0aXRpb25zLXI7aWYoYTw9MCl0aGlzLmNsYW1wV2hlbkZpbmlzaGVkP3RoaXMucGF1c2VkPSEwOnRoaXMuZW5hYmxlZD0hMSxpPXQ+MD9lOjAsdGhpcy50aW1lPWksdGhpcy5fbWl4ZXIuZGlzcGF0Y2hFdmVudCh7dHlwZToiZmluaXNoZWQiLGFjdGlvbjp0aGlzLGRpcmVjdGlvbjp0PjA/MTotMX0pO2Vsc2V7aWYoMT09PWEpe2NvbnN0IGU9dDwwO3RoaXMuX3NldEVuZGluZ3MoZSwhZSxvKX1lbHNlIHRoaXMuX3NldEVuZGluZ3MoITEsITEsbyk7dGhpcy5fbG9vcENvdW50PXIsdGhpcy50aW1lPWksdGhpcy5fbWl4ZXIuZGlzcGF0Y2hFdmVudCh7dHlwZToibG9vcCIsYWN0aW9uOnRoaXMsbG9vcERlbHRhOm59KX19ZWxzZSB0aGlzLnRpbWU9aTtpZihvJiYxPT0oMSZyKSlyZXR1cm4gZS1pfXJldHVybiBpfV9zZXRFbmRpbmdzKHQsZSxuKXtjb25zdCBpPXRoaXMuX2ludGVycG9sYW50U2V0dGluZ3M7bj8oaS5lbmRpbmdTdGFydD1GMnQsaS5lbmRpbmdFbmQ9RjJ0KTooaS5lbmRpbmdTdGFydD10P3RoaXMuemVyb1Nsb3BlQXRTdGFydD9GMnQ6SDJ0OlYydCxpLmVuZGluZ0VuZD1lP3RoaXMuemVyb1Nsb3BlQXRFbmQ/RjJ0OkgydDpWMnQpfV9zY2hlZHVsZUZhZGluZyh0LGUsbil7Y29uc3QgaT10aGlzLl9taXhlcixyPWkudGltZTtsZXQgbz10aGlzLl93ZWlnaHRJbnRlcnBvbGFudDtudWxsPT09byYmKG89aS5fbGVuZENvbnRyb2xJbnRlcnBvbGFudCgpLHRoaXMuX3dlaWdodEludGVycG9sYW50PW8pO2NvbnN0IGE9by5wYXJhbWV0ZXJQb3NpdGlvbnMscz1vLnNhbXBsZVZhbHVlcztyZXR1cm4gYVswXT1yLHNbMF09ZSxhWzFdPXIrdCxzWzFdPW4sdGhpc319Y2xhc3MgUGllIGV4dGVuZHMgZTV0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5fcm9vdD10LHRoaXMuX2luaXRNZW1vcnlNYW5hZ2VyKCksdGhpcy5fYWNjdUluZGV4PTAsdGhpcy50aW1lPTAsdGhpcy50aW1lU2NhbGU9MX1fYmluZEFjdGlvbih0LGUpe2NvbnN0IG49dC5fbG9jYWxSb290fHx0aGlzLl9yb290LGk9dC5fY2xpcC50cmFja3Mscj1pLmxlbmd0aCxvPXQuX3Byb3BlcnR5QmluZGluZ3MsYT10Ll9pbnRlcnBvbGFudHMscz1uLnV1aWQsbD10aGlzLl9iaW5kaW5nc0J5Um9vdEFuZE5hbWU7bGV0IGM9bFtzXTt2b2lkIDA9PT1jJiYoYz17fSxsW3NdPWMpO2ZvcihsZXQgdD0wO3QhPT1yOysrdCl7Y29uc3Qgcj1pW3RdLGw9ci5uYW1lO2xldCB1PWNbbF07aWYodm9pZCAwIT09dSlvW3RdPXU7ZWxzZXtpZih1PW9bdF0sdm9pZCAwIT09dSl7bnVsbD09PXUuX2NhY2hlSW5kZXgmJigrK3UucmVmZXJlbmNlQ291bnQsdGhpcy5fYWRkSW5hY3RpdmVCaW5kaW5nKHUscyxsKSk7Y29udGludWV9dT1uZXcgX2llKEFpZS5jcmVhdGUobixsLGUmJmUuX3Byb3BlcnR5QmluZGluZ3NbdF0uYmluZGluZy5wYXJzZWRQYXRoKSxyLlZhbHVlVHlwZU5hbWUsci5nZXRWYWx1ZVNpemUoKSksKyt1LnJlZmVyZW5jZUNvdW50LHRoaXMuX2FkZEluYWN0aXZlQmluZGluZyh1LHMsbCksb1t0XT11fWFbdF0ucmVzdWx0QnVmZmVyPXUuYnVmZmVyfX1fYWN0aXZhdGVBY3Rpb24odCl7aWYoIXRoaXMuX2lzQWN0aXZlQWN0aW9uKHQpKXtpZihudWxsPT09dC5fY2FjaGVJbmRleCl7Y29uc3QgZT0odC5fbG9jYWxSb290fHx0aGlzLl9yb290KS51dWlkLG49dC5fY2xpcC51dWlkLGk9dGhpcy5fYWN0aW9uc0J5Q2xpcFtuXTt0aGlzLl9iaW5kQWN0aW9uKHQsaSYmaS5rbm93bkFjdGlvbnNbMF0pLHRoaXMuX2FkZEluYWN0aXZlQWN0aW9uKHQsbixlKX1jb25zdCBlPXQuX3Byb3BlcnR5QmluZGluZ3M7Zm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0IT09bjsrK3Qpe2NvbnN0IG49ZVt0XTswPT1uLnVzZUNvdW50KysmJih0aGlzLl9sZW5kQmluZGluZyhuKSxuLnNhdmVPcmlnaW5hbFN0YXRlKCkpfXRoaXMuX2xlbmRBY3Rpb24odCl9fV9kZWFjdGl2YXRlQWN0aW9uKHQpe2lmKHRoaXMuX2lzQWN0aXZlQWN0aW9uKHQpKXtjb25zdCBlPXQuX3Byb3BlcnR5QmluZGluZ3M7Zm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0IT09bjsrK3Qpe2NvbnN0IG49ZVt0XTswPT0tLW4udXNlQ291bnQmJihuLnJlc3RvcmVPcmlnaW5hbFN0YXRlKCksdGhpcy5fdGFrZUJhY2tCaW5kaW5nKG4pKX10aGlzLl90YWtlQmFja0FjdGlvbih0KX19X2luaXRNZW1vcnlNYW5hZ2VyKCl7dGhpcy5fYWN0aW9ucz1bXSx0aGlzLl9uQWN0aXZlQWN0aW9ucz0wLHRoaXMuX2FjdGlvbnNCeUNsaXA9e30sdGhpcy5fYmluZGluZ3M9W10sdGhpcy5fbkFjdGl2ZUJpbmRpbmdzPTAsdGhpcy5fYmluZGluZ3NCeVJvb3RBbmROYW1lPXt9LHRoaXMuX2NvbnRyb2xJbnRlcnBvbGFudHM9W10sdGhpcy5fbkFjdGl2ZUNvbnRyb2xJbnRlcnBvbGFudHM9MDtjb25zdCB0PXRoaXM7dGhpcy5zdGF0cz17YWN0aW9uczp7Z2V0IHRvdGFsKCl7cmV0dXJuIHQuX2FjdGlvbnMubGVuZ3RofSxnZXQgaW5Vc2UoKXtyZXR1cm4gdC5fbkFjdGl2ZUFjdGlvbnN9fSxiaW5kaW5nczp7Z2V0IHRvdGFsKCl7cmV0dXJuIHQuX2JpbmRpbmdzLmxlbmd0aH0sZ2V0IGluVXNlKCl7cmV0dXJuIHQuX25BY3RpdmVCaW5kaW5nc319LGNvbnRyb2xJbnRlcnBvbGFudHM6e2dldCB0b3RhbCgpe3JldHVybiB0Ll9jb250cm9sSW50ZXJwb2xhbnRzLmxlbmd0aH0sZ2V0IGluVXNlKCl7cmV0dXJuIHQuX25BY3RpdmVDb250cm9sSW50ZXJwb2xhbnRzfX19fV9pc0FjdGl2ZUFjdGlvbih0KXtjb25zdCBlPXQuX2NhY2hlSW5kZXg7cmV0dXJuIG51bGwhPT1lJiZlPHRoaXMuX25BY3RpdmVBY3Rpb25zfV9hZGRJbmFjdGl2ZUFjdGlvbih0LGUsbil7Y29uc3QgaT10aGlzLl9hY3Rpb25zLHI9dGhpcy5fYWN0aW9uc0J5Q2xpcDtsZXQgbz1yW2VdO2lmKHZvaWQgMD09PW8pbz17a25vd25BY3Rpb25zOlt0XSxhY3Rpb25CeVJvb3Q6e319LHQuX2J5Q2xpcENhY2hlSW5kZXg9MCxyW2VdPW87ZWxzZXtjb25zdCBlPW8ua25vd25BY3Rpb25zO3QuX2J5Q2xpcENhY2hlSW5kZXg9ZS5sZW5ndGgsZS5wdXNoKHQpfXQuX2NhY2hlSW5kZXg9aS5sZW5ndGgsaS5wdXNoKHQpLG8uYWN0aW9uQnlSb290W25dPXR9X3JlbW92ZUluYWN0aXZlQWN0aW9uKHQpe2NvbnN0IGU9dGhpcy5fYWN0aW9ucyxuPWVbZS5sZW5ndGgtMV0saT10Ll9jYWNoZUluZGV4O24uX2NhY2hlSW5kZXg9aSxlW2ldPW4sZS5wb3AoKSx0Ll9jYWNoZUluZGV4PW51bGw7Y29uc3Qgcj10Ll9jbGlwLnV1aWQsbz10aGlzLl9hY3Rpb25zQnlDbGlwLGE9b1tyXSxzPWEua25vd25BY3Rpb25zLGw9c1tzLmxlbmd0aC0xXSxjPXQuX2J5Q2xpcENhY2hlSW5kZXg7bC5fYnlDbGlwQ2FjaGVJbmRleD1jLHNbY109bCxzLnBvcCgpLHQuX2J5Q2xpcENhY2hlSW5kZXg9bnVsbDtkZWxldGUgYS5hY3Rpb25CeVJvb3RbKHQuX2xvY2FsUm9vdHx8dGhpcy5fcm9vdCkudXVpZF0sMD09PXMubGVuZ3RoJiZkZWxldGUgb1tyXSx0aGlzLl9yZW1vdmVJbmFjdGl2ZUJpbmRpbmdzRm9yQWN0aW9uKHQpfV9yZW1vdmVJbmFjdGl2ZUJpbmRpbmdzRm9yQWN0aW9uKHQpe2NvbnN0IGU9dC5fcHJvcGVydHlCaW5kaW5ncztmb3IobGV0IHQ9MCxuPWUubGVuZ3RoO3QhPT1uOysrdCl7Y29uc3Qgbj1lW3RdOzA9PS0tbi5yZWZlcmVuY2VDb3VudCYmdGhpcy5fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKG4pfX1fbGVuZEFjdGlvbih0KXtjb25zdCBlPXRoaXMuX2FjdGlvbnMsbj10Ll9jYWNoZUluZGV4LGk9dGhpcy5fbkFjdGl2ZUFjdGlvbnMrKyxyPWVbaV07dC5fY2FjaGVJbmRleD1pLGVbaV09dCxyLl9jYWNoZUluZGV4PW4sZVtuXT1yfV90YWtlQmFja0FjdGlvbih0KXtjb25zdCBlPXRoaXMuX2FjdGlvbnMsbj10Ll9jYWNoZUluZGV4LGk9LS10aGlzLl9uQWN0aXZlQWN0aW9ucyxyPWVbaV07dC5fY2FjaGVJbmRleD1pLGVbaV09dCxyLl9jYWNoZUluZGV4PW4sZVtuXT1yfV9hZGRJbmFjdGl2ZUJpbmRpbmcodCxlLG4pe2NvbnN0IGk9dGhpcy5fYmluZGluZ3NCeVJvb3RBbmROYW1lLHI9dGhpcy5fYmluZGluZ3M7bGV0IG89aVtlXTt2b2lkIDA9PT1vJiYobz17fSxpW2VdPW8pLG9bbl09dCx0Ll9jYWNoZUluZGV4PXIubGVuZ3RoLHIucHVzaCh0KX1fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKHQpe2NvbnN0IGU9dGhpcy5fYmluZGluZ3Msbj10LmJpbmRpbmcsaT1uLnJvb3ROb2RlLnV1aWQscj1uLnBhdGgsbz10aGlzLl9iaW5kaW5nc0J5Um9vdEFuZE5hbWUsYT1vW2ldLHM9ZVtlLmxlbmd0aC0xXSxsPXQuX2NhY2hlSW5kZXg7cy5fY2FjaGVJbmRleD1sLGVbbF09cyxlLnBvcCgpLGRlbGV0ZSBhW3JdLDA9PT1PYmplY3Qua2V5cyhhKS5sZW5ndGgmJmRlbGV0ZSBvW2ldfV9sZW5kQmluZGluZyh0KXtjb25zdCBlPXRoaXMuX2JpbmRpbmdzLG49dC5fY2FjaGVJbmRleCxpPXRoaXMuX25BY3RpdmVCaW5kaW5ncysrLHI9ZVtpXTt0Ll9jYWNoZUluZGV4PWksZVtpXT10LHIuX2NhY2hlSW5kZXg9bixlW25dPXJ9X3Rha2VCYWNrQmluZGluZyh0KXtjb25zdCBlPXRoaXMuX2JpbmRpbmdzLG49dC5fY2FjaGVJbmRleCxpPS0tdGhpcy5fbkFjdGl2ZUJpbmRpbmdzLHI9ZVtpXTt0Ll9jYWNoZUluZGV4PWksZVtpXT10LHIuX2NhY2hlSW5kZXg9bixlW25dPXJ9X2xlbmRDb250cm9sSW50ZXJwb2xhbnQoKXtjb25zdCB0PXRoaXMuX2NvbnRyb2xJbnRlcnBvbGFudHMsZT10aGlzLl9uQWN0aXZlQ29udHJvbEludGVycG9sYW50cysrO2xldCBuPXRbZV07cmV0dXJuIHZvaWQgMD09PW4mJihuPW5ldyBLZWUobmV3IEZsb2F0MzJBcnJheSgyKSxuZXcgRmxvYXQzMkFycmF5KDIpLDEsdGhpcy5fY29udHJvbEludGVycG9sYW50c1Jlc3VsdEJ1ZmZlciksbi5fX2NhY2hlSW5kZXg9ZSx0W2VdPW4pLG59X3Rha2VCYWNrQ29udHJvbEludGVycG9sYW50KHQpe2NvbnN0IGU9dGhpcy5fY29udHJvbEludGVycG9sYW50cyxuPXQuX19jYWNoZUluZGV4LGk9LS10aGlzLl9uQWN0aXZlQ29udHJvbEludGVycG9sYW50cyxyPWVbaV07dC5fX2NhY2hlSW5kZXg9aSxlW2ldPXQsci5fX2NhY2hlSW5kZXg9bixlW25dPXJ9Y2xpcEFjdGlvbih0LGUsbil7Y29uc3QgaT1lfHx0aGlzLl9yb290LHI9aS51dWlkO2xldCBvPSJzdHJpbmciPT10eXBlb2YgdD9hbmUuZmluZEJ5TmFtZShpLHQpOnQ7Y29uc3QgYT1udWxsIT09bz9vLnV1aWQ6dCxzPXRoaXMuX2FjdGlvbnNCeUNsaXBbYV07bGV0IGw9bnVsbDtpZih2b2lkIDA9PT1uJiYobj1udWxsIT09bz9vLmJsZW5kTW9kZTpVMnQpLHZvaWQgMCE9PXMpe2NvbnN0IHQ9cy5hY3Rpb25CeVJvb3Rbcl07aWYodm9pZCAwIT09dCYmdC5ibGVuZE1vZGU9PT1uKXJldHVybiB0O2w9cy5rbm93bkFjdGlvbnNbMF0sbnVsbD09PW8mJihvPWwuX2NsaXApfWlmKG51bGw9PT1vKXJldHVybiBudWxsO2NvbnN0IGM9bmV3IExpZSh0aGlzLG8sZSxuKTtyZXR1cm4gdGhpcy5fYmluZEFjdGlvbihjLGwpLHRoaXMuX2FkZEluYWN0aXZlQWN0aW9uKGMsYSxyKSxjfWV4aXN0aW5nQWN0aW9uKHQsZSl7Y29uc3Qgbj1lfHx0aGlzLl9yb290LGk9bi51dWlkLHI9InN0cmluZyI9PXR5cGVvZiB0P2FuZS5maW5kQnlOYW1lKG4sdCk6dCxvPXRoaXMuX2FjdGlvbnNCeUNsaXBbcj9yLnV1aWQ6dF07cmV0dXJuIHZvaWQgMCE9PW8mJm8uYWN0aW9uQnlSb290W2ldfHxudWxsfXN0b3BBbGxBY3Rpb24oKXtjb25zdCB0PXRoaXMuX2FjdGlvbnM7Zm9yKGxldCBlPXRoaXMuX25BY3RpdmVBY3Rpb25zLTE7ZT49MDstLWUpdFtlXS5zdG9wKCk7cmV0dXJuIHRoaXN9dXBkYXRlKHQpe2NvbnN0IGU9dGhpcy5fYWN0aW9ucyxuPXRoaXMuX25BY3RpdmVBY3Rpb25zLGk9dGhpcy50aW1lKz10Kj10aGlzLnRpbWVTY2FsZSxyPU1hdGguc2lnbih0KSxvPXRoaXMuX2FjY3VJbmRleF49MTtmb3IobGV0IGE9MDthIT09bjsrK2Epe2VbYV0uX3VwZGF0ZShpLHQscixvKX1jb25zdCBhPXRoaXMuX2JpbmRpbmdzLHM9dGhpcy5fbkFjdGl2ZUJpbmRpbmdzO2ZvcihsZXQgdD0wO3QhPT1zOysrdClhW3RdLmFwcGx5KG8pO3JldHVybiB0aGlzfXNldFRpbWUodCl7dGhpcy50aW1lPTA7Zm9yKGxldCB0PTA7dDx0aGlzLl9hY3Rpb25zLmxlbmd0aDt0KyspdGhpcy5fYWN0aW9uc1t0XS50aW1lPTA7cmV0dXJuIHRoaXMudXBkYXRlKHQpfWdldFJvb3QoKXtyZXR1cm4gdGhpcy5fcm9vdH11bmNhY2hlQ2xpcCh0KXtjb25zdCBlPXRoaXMuX2FjdGlvbnMsbj10LnV1aWQsaT10aGlzLl9hY3Rpb25zQnlDbGlwLHI9aVtuXTtpZih2b2lkIDAhPT1yKXtjb25zdCB0PXIua25vd25BY3Rpb25zO2ZvcihsZXQgbj0wLGk9dC5sZW5ndGg7biE9PWk7KytuKXtjb25zdCBpPXRbbl07dGhpcy5fZGVhY3RpdmF0ZUFjdGlvbihpKTtjb25zdCByPWkuX2NhY2hlSW5kZXgsbz1lW2UubGVuZ3RoLTFdO2kuX2NhY2hlSW5kZXg9bnVsbCxpLl9ieUNsaXBDYWNoZUluZGV4PW51bGwsby5fY2FjaGVJbmRleD1yLGVbcl09byxlLnBvcCgpLHRoaXMuX3JlbW92ZUluYWN0aXZlQmluZGluZ3NGb3JBY3Rpb24oaSl9ZGVsZXRlIGlbbl19fXVuY2FjaGVSb290KHQpe2NvbnN0IGU9dC51dWlkLG49dGhpcy5fYWN0aW9uc0J5Q2xpcDtmb3IoY29uc3QgdCBpbiBuKXtjb25zdCBpPW5bdF0uYWN0aW9uQnlSb290W2VdO3ZvaWQgMCE9PWkmJih0aGlzLl9kZWFjdGl2YXRlQWN0aW9uKGkpLHRoaXMuX3JlbW92ZUluYWN0aXZlQWN0aW9uKGkpKX1jb25zdCBpPXRoaXMuX2JpbmRpbmdzQnlSb290QW5kTmFtZVtlXTtpZih2b2lkIDAhPT1pKWZvcihjb25zdCB0IGluIGkpe2NvbnN0IGU9aVt0XTtlLnJlc3RvcmVPcmlnaW5hbFN0YXRlKCksdGhpcy5fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKGUpfX11bmNhY2hlQWN0aW9uKHQsZSl7Y29uc3Qgbj10aGlzLmV4aXN0aW5nQWN0aW9uKHQsZSk7bnVsbCE9PW4mJih0aGlzLl9kZWFjdGl2YXRlQWN0aW9uKG4pLHRoaXMuX3JlbW92ZUluYWN0aXZlQWN0aW9uKG4pKX19UGllLnByb3RvdHlwZS5fY29udHJvbEludGVycG9sYW50c1Jlc3VsdEJ1ZmZlcj1uZXcgRmxvYXQzMkFycmF5KDEpO2NsYXNzIE5pZXtjb25zdHJ1Y3Rvcih0KXsic3RyaW5nIj09dHlwZW9mIHQmJihjb25zb2xlLndhcm4oIlRIUkVFLlVuaWZvcm06IFR5cGUgcGFyYW1ldGVyIGlzIG5vIGxvbmdlciBuZWVkZWQuIiksdD1hcmd1bWVudHNbMV0pLHRoaXMudmFsdWU9dH1jbG9uZSgpe3JldHVybiBuZXcgTmllKHZvaWQgMD09PXRoaXMudmFsdWUuY2xvbmU/dGhpcy52YWx1ZTp0aGlzLnZhbHVlLmNsb25lKCkpfX1jbGFzcyBJaWUgZXh0ZW5kcyB1N3R7Y29uc3RydWN0b3IodCxlLG49MSl7c3VwZXIodCxlKSx0aGlzLm1lc2hQZXJBdHRyaWJ1dGU9bn1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMubWVzaFBlckF0dHJpYnV0ZT10Lm1lc2hQZXJBdHRyaWJ1dGUsdGhpc31jbG9uZSh0KXtjb25zdCBlPXN1cGVyLmNsb25lKHQpO3JldHVybiBlLm1lc2hQZXJBdHRyaWJ1dGU9dGhpcy5tZXNoUGVyQXR0cmlidXRlLGV9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO3JldHVybiBlLmlzSW5zdGFuY2VkSW50ZXJsZWF2ZWRCdWZmZXI9ITAsZS5tZXNoUGVyQXR0cmlidXRlPXRoaXMubWVzaFBlckF0dHJpYnV0ZSxlfX1JaWUucHJvdG90eXBlLmlzSW5zdGFuY2VkSW50ZXJsZWF2ZWRCdWZmZXI9ITA7Y2xhc3MgUmlle2NvbnN0cnVjdG9yKHQsZSxuLGkscil7dGhpcy5idWZmZXI9dCx0aGlzLnR5cGU9ZSx0aGlzLml0ZW1TaXplPW4sdGhpcy5lbGVtZW50U2l6ZT1pLHRoaXMuY291bnQ9cix0aGlzLnZlcnNpb249MH1zZXQgbmVlZHNVcGRhdGUodCl7ITA9PT10JiZ0aGlzLnZlcnNpb24rK31zZXRCdWZmZXIodCl7cmV0dXJuIHRoaXMuYnVmZmVyPXQsdGhpc31zZXRUeXBlKHQsZSl7cmV0dXJuIHRoaXMudHlwZT10LHRoaXMuZWxlbWVudFNpemU9ZSx0aGlzfXNldEl0ZW1TaXplKHQpe3JldHVybiB0aGlzLml0ZW1TaXplPXQsdGhpc31zZXRDb3VudCh0KXtyZXR1cm4gdGhpcy5jb3VudD10LHRoaXN9fVJpZS5wcm90b3R5cGUuaXNHTEJ1ZmZlckF0dHJpYnV0ZT0hMDtmdW5jdGlvbiBPaWUodCxlKXtyZXR1cm4gdC5kaXN0YW5jZS1lLmRpc3RhbmNlfWZ1bmN0aW9uIHppZSh0LGUsbixpKXtpZih0LmxheWVycy50ZXN0KGUubGF5ZXJzKSYmdC5yYXljYXN0KGUsbiksITA9PT1pKXtjb25zdCBpPXQuY2hpbGRyZW47Zm9yKGxldCB0PTAscj1pLmxlbmd0aDt0PHI7dCsrKXppZShpW3RdLGUsbiwhMCl9fWNsYXNzIERpZXtjb25zdHJ1Y3Rvcih0PTEsZT0wLG49MCl7cmV0dXJuIHRoaXMucmFkaXVzPXQsdGhpcy5waGk9ZSx0aGlzLnRoZXRhPW4sdGhpc31zZXQodCxlLG4pe3JldHVybiB0aGlzLnJhZGl1cz10LHRoaXMucGhpPWUsdGhpcy50aGV0YT1uLHRoaXN9Y29weSh0KXtyZXR1cm4gdGhpcy5yYWRpdXM9dC5yYWRpdXMsdGhpcy5waGk9dC5waGksdGhpcy50aGV0YT10LnRoZXRhLHRoaXN9bWFrZVNhZmUoKXtjb25zdCB0PTFlLTY7cmV0dXJuIHRoaXMucGhpPU1hdGgubWF4KHQsTWF0aC5taW4oTWF0aC5QSS10LHRoaXMucGhpKSksdGhpc31zZXRGcm9tVmVjdG9yMyh0KXtyZXR1cm4gdGhpcy5zZXRGcm9tQ2FydGVzaWFuQ29vcmRzKHQueCx0LnksdC56KX1zZXRGcm9tQ2FydGVzaWFuQ29vcmRzKHQsZSxuKXtyZXR1cm4gdGhpcy5yYWRpdXM9TWF0aC5zcXJ0KHQqdCtlKmUrbipuKSwwPT09dGhpcy5yYWRpdXM/KHRoaXMudGhldGE9MCx0aGlzLnBoaT0wKToodGhpcy50aGV0YT1NYXRoLmF0YW4yKHQsbiksdGhpcy5waGk9TWF0aC5hY29zKHM1dChlL3RoaXMucmFkaXVzLC0xLDEpKSksdGhpc31jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX19Y29uc3QgQmllPW5ldyBDNXQ7Y2xhc3MgSGlle2NvbnN0cnVjdG9yKHQ9bmV3IEM1dCgxLzAsMS8wKSxlPW5ldyBDNXQoLTEvMCwtMS8wKSl7dGhpcy5taW49dCx0aGlzLm1heD1lfXNldCh0LGUpe3JldHVybiB0aGlzLm1pbi5jb3B5KHQpLHRoaXMubWF4LmNvcHkoZSksdGhpc31zZXRGcm9tUG9pbnRzKHQpe3RoaXMubWFrZUVtcHR5KCk7Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXRoaXMuZXhwYW5kQnlQb2ludCh0W2VdKTtyZXR1cm4gdGhpc31zZXRGcm9tQ2VudGVyQW5kU2l6ZSh0LGUpe2NvbnN0IG49QmllLmNvcHkoZSkubXVsdGlwbHlTY2FsYXIoLjUpO3JldHVybiB0aGlzLm1pbi5jb3B5KHQpLnN1YihuKSx0aGlzLm1heC5jb3B5KHQpLmFkZChuKSx0aGlzfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfWNvcHkodCl7cmV0dXJuIHRoaXMubWluLmNvcHkodC5taW4pLHRoaXMubWF4LmNvcHkodC5tYXgpLHRoaXN9bWFrZUVtcHR5KCl7cmV0dXJuIHRoaXMubWluLng9dGhpcy5taW4ueT0xLzAsdGhpcy5tYXgueD10aGlzLm1heC55PS0xLzAsdGhpc31pc0VtcHR5KCl7cmV0dXJuIHRoaXMubWF4Lng8dGhpcy5taW4ueHx8dGhpcy5tYXgueTx0aGlzLm1pbi55fWdldENlbnRlcih0KXtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/dC5zZXQoMCwwKTp0LmFkZFZlY3RvcnModGhpcy5taW4sdGhpcy5tYXgpLm11bHRpcGx5U2NhbGFyKC41KX1nZXRTaXplKHQpe3JldHVybiB0aGlzLmlzRW1wdHkoKT90LnNldCgwLDApOnQuc3ViVmVjdG9ycyh0aGlzLm1heCx0aGlzLm1pbil9ZXhwYW5kQnlQb2ludCh0KXtyZXR1cm4gdGhpcy5taW4ubWluKHQpLHRoaXMubWF4Lm1heCh0KSx0aGlzfWV4cGFuZEJ5VmVjdG9yKHQpe3JldHVybiB0aGlzLm1pbi5zdWIodCksdGhpcy5tYXguYWRkKHQpLHRoaXN9ZXhwYW5kQnlTY2FsYXIodCl7cmV0dXJuIHRoaXMubWluLmFkZFNjYWxhcigtdCksdGhpcy5tYXguYWRkU2NhbGFyKHQpLHRoaXN9Y29udGFpbnNQb2ludCh0KXtyZXR1cm4hKHQueDx0aGlzLm1pbi54fHx0Lng+dGhpcy5tYXgueHx8dC55PHRoaXMubWluLnl8fHQueT50aGlzLm1heC55KX1jb250YWluc0JveCh0KXtyZXR1cm4gdGhpcy5taW4ueDw9dC5taW4ueCYmdC5tYXgueDw9dGhpcy5tYXgueCYmdGhpcy5taW4ueTw9dC5taW4ueSYmdC5tYXgueTw9dGhpcy5tYXgueX1nZXRQYXJhbWV0ZXIodCxlKXtyZXR1cm4gZS5zZXQoKHQueC10aGlzLm1pbi54KS8odGhpcy5tYXgueC10aGlzLm1pbi54KSwodC55LXRoaXMubWluLnkpLyh0aGlzLm1heC55LXRoaXMubWluLnkpKX1pbnRlcnNlY3RzQm94KHQpe3JldHVybiEodC5tYXgueDx0aGlzLm1pbi54fHx0Lm1pbi54PnRoaXMubWF4Lnh8fHQubWF4Lnk8dGhpcy5taW4ueXx8dC5taW4ueT50aGlzLm1heC55KX1jbGFtcFBvaW50KHQsZSl7cmV0dXJuIGUuY29weSh0KS5jbGFtcCh0aGlzLm1pbix0aGlzLm1heCl9ZGlzdGFuY2VUb1BvaW50KHQpe3JldHVybiBCaWUuY29weSh0KS5jbGFtcCh0aGlzLm1pbix0aGlzLm1heCkuc3ViKHQpLmxlbmd0aCgpfWludGVyc2VjdCh0KXtyZXR1cm4gdGhpcy5taW4ubWF4KHQubWluKSx0aGlzLm1heC5taW4odC5tYXgpLHRoaXN9dW5pb24odCl7cmV0dXJuIHRoaXMubWluLm1pbih0Lm1pbiksdGhpcy5tYXgubWF4KHQubWF4KSx0aGlzfXRyYW5zbGF0ZSh0KXtyZXR1cm4gdGhpcy5taW4uYWRkKHQpLHRoaXMubWF4LmFkZCh0KSx0aGlzfWVxdWFscyh0KXtyZXR1cm4gdC5taW4uZXF1YWxzKHRoaXMubWluKSYmdC5tYXguZXF1YWxzKHRoaXMubWF4KX19SGllLnByb3RvdHlwZS5pc0JveDI9ITA7Y29uc3QgRmllPW5ldyBINXQsVmllPW5ldyBINXQ7Y2xhc3MgVWlle2NvbnN0cnVjdG9yKHQ9bmV3IEg1dCxlPW5ldyBINXQpe3RoaXMuc3RhcnQ9dCx0aGlzLmVuZD1lfXNldCh0LGUpe3JldHVybiB0aGlzLnN0YXJ0LmNvcHkodCksdGhpcy5lbmQuY29weShlKSx0aGlzfWNvcHkodCl7cmV0dXJuIHRoaXMuc3RhcnQuY29weSh0LnN0YXJ0KSx0aGlzLmVuZC5jb3B5KHQuZW5kKSx0aGlzfWdldENlbnRlcih0KXtyZXR1cm4gdC5hZGRWZWN0b3JzKHRoaXMuc3RhcnQsdGhpcy5lbmQpLm11bHRpcGx5U2NhbGFyKC41KX1kZWx0YSh0KXtyZXR1cm4gdC5zdWJWZWN0b3JzKHRoaXMuZW5kLHRoaXMuc3RhcnQpfWRpc3RhbmNlU3EoKXtyZXR1cm4gdGhpcy5zdGFydC5kaXN0YW5jZVRvU3F1YXJlZCh0aGlzLmVuZCl9ZGlzdGFuY2UoKXtyZXR1cm4gdGhpcy5zdGFydC5kaXN0YW5jZVRvKHRoaXMuZW5kKX1hdCh0LGUpe3JldHVybiB0aGlzLmRlbHRhKGUpLm11bHRpcGx5U2NhbGFyKHQpLmFkZCh0aGlzLnN0YXJ0KX1jbG9zZXN0UG9pbnRUb1BvaW50UGFyYW1ldGVyKHQsZSl7RmllLnN1YlZlY3RvcnModCx0aGlzLnN0YXJ0KSxWaWUuc3ViVmVjdG9ycyh0aGlzLmVuZCx0aGlzLnN0YXJ0KTtjb25zdCBuPVZpZS5kb3QoVmllKTtsZXQgaT1WaWUuZG90KEZpZSkvbjtyZXR1cm4gZSYmKGk9czV0KGksMCwxKSksaX1jbG9zZXN0UG9pbnRUb1BvaW50KHQsZSxuKXtjb25zdCBpPXRoaXMuY2xvc2VzdFBvaW50VG9Qb2ludFBhcmFtZXRlcih0LGUpO3JldHVybiB0aGlzLmRlbHRhKG4pLm11bHRpcGx5U2NhbGFyKGkpLmFkZCh0aGlzLnN0YXJ0KX1hcHBseU1hdHJpeDQodCl7cmV0dXJuIHRoaXMuc3RhcnQuYXBwbHlNYXRyaXg0KHQpLHRoaXMuZW5kLmFwcGx5TWF0cml4NCh0KSx0aGlzfWVxdWFscyh0KXtyZXR1cm4gdC5zdGFydC5lcXVhbHModGhpcy5zdGFydCkmJnQuZW5kLmVxdWFscyh0aGlzLmVuZCl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9fWNsYXNzIGppZSBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMubWF0ZXJpYWw9dCx0aGlzLnJlbmRlcj1mdW5jdGlvbigpe30sdGhpcy5oYXNQb3NpdGlvbnM9ITEsdGhpcy5oYXNOb3JtYWxzPSExLHRoaXMuaGFzQ29sb3JzPSExLHRoaXMuaGFzVXZzPSExLHRoaXMucG9zaXRpb25BcnJheT1udWxsLHRoaXMubm9ybWFsQXJyYXk9bnVsbCx0aGlzLmNvbG9yQXJyYXk9bnVsbCx0aGlzLnV2QXJyYXk9bnVsbCx0aGlzLmNvdW50PTB9fWppZS5wcm90b3R5cGUuaXNJbW1lZGlhdGVSZW5kZXJPYmplY3Q9ITA7Y29uc3QgR2llPW5ldyBINXQ7Y29uc3QgV2llPW5ldyBINXQscWllPW5ldyBnM3QsWWllPW5ldyBnM3Q7Y2xhc3MgWGllIGV4dGVuZHMgaXRle2NvbnN0cnVjdG9yKHQpe2NvbnN0IGU9JGllKHQpLG49bmV3IE40dCxpPVtdLHI9W10sbz1uZXcgczR0KDAsMCwxKSxhPW5ldyBzNHQoMCwxLDApO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXtjb25zdCBuPWVbdF07bi5wYXJlbnQmJm4ucGFyZW50LmlzQm9uZSYmKGkucHVzaCgwLDAsMCksaS5wdXNoKDAsMCwwKSxyLnB1c2goby5yLG8uZyxvLmIpLHIucHVzaChhLnIsYS5nLGEuYikpfW4uc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChpLDMpKSxuLnNldEF0dHJpYnV0ZSgiY29sb3IiLG5ldyBiNHQociwzKSk7c3VwZXIobixuZXcgWDd0KHt2ZXJ0ZXhDb2xvcnM6ITAsZGVwdGhUZXN0OiExLGRlcHRoV3JpdGU6ITEsdG9uZU1hcHBlZDohMSx0cmFuc3BhcmVudDohMH0pKSx0aGlzLnR5cGU9IlNrZWxldG9uSGVscGVyIix0aGlzLmlzU2tlbGV0b25IZWxwZXI9ITAsdGhpcy5yb290PXQsdGhpcy5ib25lcz1lLHRoaXMubWF0cml4PXQubWF0cml4V29ybGQsdGhpcy5tYXRyaXhBdXRvVXBkYXRlPSExfXVwZGF0ZU1hdHJpeFdvcmxkKHQpe2NvbnN0IGU9dGhpcy5ib25lcyxuPXRoaXMuZ2VvbWV0cnksaT1uLmdldEF0dHJpYnV0ZSgicG9zaXRpb24iKTtZaWUuY29weSh0aGlzLnJvb3QubWF0cml4V29ybGQpLmludmVydCgpO2ZvcihsZXQgdD0wLG49MDt0PGUubGVuZ3RoO3QrKyl7Y29uc3Qgcj1lW3RdO3IucGFyZW50JiZyLnBhcmVudC5pc0JvbmUmJihxaWUubXVsdGlwbHlNYXRyaWNlcyhZaWUsci5tYXRyaXhXb3JsZCksV2llLnNldEZyb21NYXRyaXhQb3NpdGlvbihxaWUpLGkuc2V0WFlaKG4sV2llLngsV2llLnksV2llLnopLHFpZS5tdWx0aXBseU1hdHJpY2VzKFlpZSxyLnBhcmVudC5tYXRyaXhXb3JsZCksV2llLnNldEZyb21NYXRyaXhQb3NpdGlvbihxaWUpLGkuc2V0WFlaKG4rMSxXaWUueCxXaWUueSxXaWUueiksbis9Mil9bi5nZXRBdHRyaWJ1dGUoInBvc2l0aW9uIikubmVlZHNVcGRhdGU9ITAsc3VwZXIudXBkYXRlTWF0cml4V29ybGQodCl9fWZ1bmN0aW9uICRpZSh0KXtjb25zdCBlPVtdO3QmJnQuaXNCb25lJiZlLnB1c2godCk7Zm9yKGxldCBuPTA7bjx0LmNoaWxkcmVuLmxlbmd0aDtuKyspZS5wdXNoLmFwcGx5KGUsJGllKHQuY2hpbGRyZW5bbl0pKTtyZXR1cm4gZX1jb25zdCBLaWU9bmV3IEg1dCxaaWU9bmV3IHM0dCxKaWU9bmV3IHM0dDtjbGFzcyBRaWUgZXh0ZW5kcyBpdGV7Y29uc3RydWN0b3IodD0xMCxlPTEwLG49NDQ3MzkyNCxpPTg5NDc4NDgpe249bmV3IHM0dChuKSxpPW5ldyBzNHQoaSk7Y29uc3Qgcj1lLzIsbz10L2UsYT10LzIscz1bXSxsPVtdO2ZvcihsZXQgdD0wLGM9MCx1PS1hO3Q8PWU7dCsrLHUrPW8pe3MucHVzaCgtYSwwLHUsYSwwLHUpLHMucHVzaCh1LDAsLWEsdSwwLGEpO2NvbnN0IGU9dD09PXI/bjppO2UudG9BcnJheShsLGMpLGMrPTMsZS50b0FycmF5KGwsYyksYys9MyxlLnRvQXJyYXkobCxjKSxjKz0zLGUudG9BcnJheShsLGMpLGMrPTN9Y29uc3QgYz1uZXcgTjR0O2Muc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChzLDMpKSxjLnNldEF0dHJpYnV0ZSgiY29sb3IiLG5ldyBiNHQobCwzKSk7c3VwZXIoYyxuZXcgWDd0KHt2ZXJ0ZXhDb2xvcnM6ITAsdG9uZU1hcHBlZDohMX0pKSx0aGlzLnR5cGU9IkdyaWRIZWxwZXIifX1jb25zdCB0cmU9bmV3IEg1dCxlcmU9bmV3IEg1dCxucmU9bmV3IEg1dDtjb25zdCBpcmU9bmV3IEg1dCxycmU9bmV3IGk2dDtmdW5jdGlvbiBvcmUodCxlLG4saSxyLG8sYSl7aXJlLnNldChyLG8sYSkudW5wcm9qZWN0KGkpO2NvbnN0IHM9ZVt0XTtpZih2b2lkIDAhPT1zKXtjb25zdCB0PW4uZ2V0QXR0cmlidXRlKCJwb3NpdGlvbiIpO2ZvcihsZXQgZT0wLG49cy5sZW5ndGg7ZTxuO2UrKyl0LnNldFhZWihzW2VdLGlyZS54LGlyZS55LGlyZS56KX19Y29uc3QgYXJlPW5ldyBVNXQ7Y2xhc3Mgc3JlIGV4dGVuZHMgaXRle2NvbnN0cnVjdG9yKHQsZT0xNjc3Njk2MCl7Y29uc3Qgbj1uZXcgVWludDE2QXJyYXkoWzAsMSwxLDIsMiwzLDMsMCw0LDUsNSw2LDYsNyw3LDQsMCw0LDEsNSwyLDYsMyw3XSksaT1uZXcgRmxvYXQzMkFycmF5KDI0KSxyPW5ldyBONHQ7ci5zZXRJbmRleChuZXcgaDR0KG4sMSkpLHIuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGg0dChpLDMpKSxzdXBlcihyLG5ldyBYN3Qoe2NvbG9yOmUsdG9uZU1hcHBlZDohMX0pKSx0aGlzLm9iamVjdD10LHRoaXMudHlwZT0iQm94SGVscGVyIix0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITEsdGhpcy51cGRhdGUoKX11cGRhdGUodCl7aWYodm9pZCAwIT09dCYmY29uc29sZS53YXJuKCJUSFJFRS5Cb3hIZWxwZXI6IC51cGRhdGUoKSBoYXMgbm8gbG9uZ2VyIGFyZ3VtZW50cy4iKSx2b2lkIDAhPT10aGlzLm9iamVjdCYmYXJlLnNldEZyb21PYmplY3QodGhpcy5vYmplY3QpLGFyZS5pc0VtcHR5KCkpcmV0dXJuO2NvbnN0IGU9YXJlLm1pbixuPWFyZS5tYXgsaT10aGlzLmdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24scj1pLmFycmF5O3JbMF09bi54LHJbMV09bi55LHJbMl09bi56LHJbM109ZS54LHJbNF09bi55LHJbNV09bi56LHJbNl09ZS54LHJbN109ZS55LHJbOF09bi56LHJbOV09bi54LHJbMTBdPWUueSxyWzExXT1uLnosclsxMl09bi54LHJbMTNdPW4ueSxyWzE0XT1lLnosclsxNV09ZS54LHJbMTZdPW4ueSxyWzE3XT1lLnosclsxOF09ZS54LHJbMTldPWUueSxyWzIwXT1lLnosclsyMV09bi54LHJbMjJdPWUueSxyWzIzXT1lLnosaS5uZWVkc1VwZGF0ZT0hMCx0aGlzLmdlb21ldHJ5LmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpfXNldEZyb21PYmplY3QodCl7cmV0dXJuIHRoaXMub2JqZWN0PXQsdGhpcy51cGRhdGUoKSx0aGlzfWNvcHkodCl7cmV0dXJuIGl0ZS5wcm90b3R5cGUuY29weS5jYWxsKHRoaXMsdCksdGhpcy5vYmplY3Q9dC5vYmplY3QsdGhpc319Y29uc3QgbHJlPW5ldyBINXQ7bGV0IGNyZSx1cmU7Y2xhc3MgaHJlIGV4dGVuZHMgaXRle2NvbnN0cnVjdG9yKHQ9MSl7Y29uc3QgZT1bMCwwLDAsdCwwLDAsMCwwLDAsMCx0LDAsMCwwLDAsMCwwLHRdLG49bmV3IE40dDtuLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQoZSwzKSksbi5zZXRBdHRyaWJ1dGUoImNvbG9yIixuZXcgYjR0KFsxLDAsMCwxLC42LDAsMCwxLDAsLjYsMSwwLDAsMCwxLDAsLjYsMV0sMykpO3N1cGVyKG4sbmV3IFg3dCh7dmVydGV4Q29sb3JzOiEwLHRvbmVNYXBwZWQ6ITF9KSksdGhpcy50eXBlPSJBeGVzSGVscGVyIn1zZXRDb2xvcnModCxlLG4pe2NvbnN0IGk9bmV3IHM0dCxyPXRoaXMuZ2VvbWV0cnkuYXR0cmlidXRlcy5jb2xvci5hcnJheTtyZXR1cm4gaS5zZXQodCksaS50b0FycmF5KHIsMCksaS50b0FycmF5KHIsMyksaS5zZXQoZSksaS50b0FycmF5KHIsNiksaS50b0FycmF5KHIsOSksaS5zZXQobiksaS50b0FycmF5KHIsMTIpLGkudG9BcnJheShyLDE1KSx0aGlzLmdlb21ldHJ5LmF0dHJpYnV0ZXMuY29sb3IubmVlZHNVcGRhdGU9ITAsdGhpc31kaXNwb3NlKCl7dGhpcy5nZW9tZXRyeS5kaXNwb3NlKCksdGhpcy5tYXRlcmlhbC5kaXNwb3NlKCl9fWNvbnN0IGRyZT1uZXcgRmxvYXQzMkFycmF5KDEpLHByZT1uZXcgSW50MzJBcnJheShkcmUuYnVmZmVyKTtUdGUuY3JlYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUubG9nKCJUSFJFRS5DdXJ2ZS5jcmVhdGUoKSBoYXMgYmVlbiBkZXByZWNhdGVkIiksdC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShUdGUucHJvdG90eXBlKSx0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10LHQucHJvdG90eXBlLmdldFBvaW50PWUsdH0sdm5lLnByb3RvdHlwZS5mcm9tUG9pbnRzPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlBhdGg6IC5mcm9tUG9pbnRzKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuc2V0RnJvbVBvaW50cygpLiIpLHRoaXMuc2V0RnJvbVBvaW50cyh0KX0sUWllLnByb3RvdHlwZS5zZXRDb2xvcnM9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5HcmlkSGVscGVyOiBzZXRDb2xvcnMoKSBoYXMgYmVlbiBkZXByZWNhdGVkLCBwYXNzIHRoZW0gaW4gdGhlIGNvbnN0cnVjdG9yIGluc3RlYWQuIil9LFhpZS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuU2tlbGV0b25IZWxwZXI6IHVwZGF0ZSgpIG5vIGxvbmdlciBuZWVkcyB0byBiZSBjYWxsZWQuIil9LGhuZS5wcm90b3R5cGUuZXh0cmFjdFVybEJhc2U9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTG9hZGVyOiAuZXh0cmFjdFVybEJhc2UoKSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgVEhSRUUuTG9hZGVyVXRpbHMuZXh0cmFjdFVybEJhc2UoKSBpbnN0ZWFkLiIpLFZuZS5leHRyYWN0VXJsQmFzZSh0KX0saG5lLkhhbmRsZXJzPXthZGQ6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5Mb2FkZXI6IEhhbmRsZXJzLmFkZCgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBMb2FkaW5nTWFuYWdlci5hZGRIYW5kbGVyKCkgaW5zdGVhZC4iKX0sZ2V0OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTG9hZGVyOiBIYW5kbGVycy5nZXQoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgTG9hZGluZ01hbmFnZXIuZ2V0SGFuZGxlcigpIGluc3RlYWQuIil9fSxIaWUucHJvdG90eXBlLmNlbnRlcj1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5Cb3gyOiAuY2VudGVyKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0Q2VudGVyKCkuIiksdGhpcy5nZXRDZW50ZXIodCl9LEhpZS5wcm90b3R5cGUuZW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5Cb3gyOiAuZW1wdHkoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pc0VtcHR5KCkuIiksdGhpcy5pc0VtcHR5KCl9LEhpZS5wcm90b3R5cGUuaXNJbnRlcnNlY3Rpb25Cb3g9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MjogLmlzSW50ZXJzZWN0aW9uQm94KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c0JveCgpLiIpLHRoaXMuaW50ZXJzZWN0c0JveCh0KX0sSGllLnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJveDI6IC5zaXplKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0U2l6ZSgpLiIpLHRoaXMuZ2V0U2l6ZSh0KX0sVTV0LnByb3RvdHlwZS5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmNlbnRlcigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldENlbnRlcigpLiIpLHRoaXMuZ2V0Q2VudGVyKHQpfSxVNXQucHJvdG90eXBlLmVtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmVtcHR5KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaXNFbXB0eSgpLiIpLHRoaXMuaXNFbXB0eSgpfSxVNXQucHJvdG90eXBlLmlzSW50ZXJzZWN0aW9uQm94PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5pc0ludGVyc2VjdGlvbkJveCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNCb3goKS4iKSx0aGlzLmludGVyc2VjdHNCb3godCl9LFU1dC5wcm90b3R5cGUuaXNJbnRlcnNlY3Rpb25TcGhlcmU9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmlzSW50ZXJzZWN0aW9uU3BoZXJlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c1NwaGVyZSgpLiIpLHRoaXMuaW50ZXJzZWN0c1NwaGVyZSh0KX0sVTV0LnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5zaXplKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0U2l6ZSgpLiIpLHRoaXMuZ2V0U2l6ZSh0KX0sczN0LnByb3RvdHlwZS5lbXB0eT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlNwaGVyZTogLmVtcHR5KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaXNFbXB0eSgpLiIpLHRoaXMuaXNFbXB0eSgpfSxtNnQucHJvdG90eXBlLnNldEZyb21NYXRyaXg9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuRnJ1c3R1bTogLnNldEZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tUHJvamVjdGlvbk1hdHJpeCgpLiIpLHRoaXMuc2V0RnJvbVByb2plY3Rpb25NYXRyaXgodCl9LFVpZS5wcm90b3R5cGUuY2VudGVyPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkxpbmUzOiAuY2VudGVyKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0Q2VudGVyKCkuIiksdGhpcy5nZXRDZW50ZXIodCl9LEE1dC5wcm90b3R5cGUuZmxhdHRlblRvQXJyYXlPZmZzZXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXgzOiAuZmxhdHRlblRvQXJyYXlPZmZzZXQoKSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgLnRvQXJyYXkoKSBpbnN0ZWFkLiIpLHRoaXMudG9BcnJheSh0LGUpfSxBNXQucHJvdG90eXBlLm11bHRpcGx5VmVjdG9yMz1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXgzOiAubXVsdGlwbHlWZWN0b3IzKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDMoIG1hdHJpeCApIGluc3RlYWQuIiksdC5hcHBseU1hdHJpeDModGhpcyl9LEE1dC5wcm90b3R5cGUubXVsdGlwbHlWZWN0b3IzQXJyYXk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXgzOiAubXVsdGlwbHlWZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxBNXQucHJvdG90eXBlLmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGU9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4MzogLmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGUoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgYXR0cmlidXRlLmFwcGx5TWF0cml4MyggbWF0cml4ICkgaW5zdGVhZC4iKSx0LmFwcGx5TWF0cml4Myh0aGlzKX0sQTV0LnByb3RvdHlwZS5hcHBseVRvVmVjdG9yM0FycmF5PWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4MzogLmFwcGx5VG9WZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxBNXQucHJvdG90eXBlLmdldEludmVyc2U9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4MzogLmdldEludmVyc2UoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbWF0cml4SW52LmNvcHkoIG1hdHJpeCApLmludmVydCgpOyBpbnN0ZWFkLiIpLHRoaXMuY29weSh0KS5pbnZlcnQoKX0sZzN0LnByb3RvdHlwZS5leHRyYWN0UG9zaXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmV4dHJhY3RQb3NpdGlvbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmNvcHlQb3NpdGlvbigpLiIpLHRoaXMuY29weVBvc2l0aW9uKHQpfSxnM3QucHJvdG90eXBlLmZsYXR0ZW5Ub0FycmF5T2Zmc2V0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmZsYXR0ZW5Ub0FycmF5T2Zmc2V0KCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC50b0FycmF5KCkgaW5zdGVhZC4iKSx0aGlzLnRvQXJyYXkodCxlKX0sZzN0LnByb3RvdHlwZS5nZXRQb3NpdGlvbj1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5nZXRQb3NpdGlvbigpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBWZWN0b3IzLnNldEZyb21NYXRyaXhQb3NpdGlvbiggbWF0cml4ICkgaW5zdGVhZC4iKSwobmV3IEg1dCkuc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDMpfSxnM3QucHJvdG90eXBlLnNldFJvdGF0aW9uRnJvbVF1YXRlcm5pb249ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLnNldFJvdGF0aW9uRnJvbVF1YXRlcm5pb24oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbigpLiIpLHRoaXMubWFrZVJvdGF0aW9uRnJvbVF1YXRlcm5pb24odCl9LGczdC5wcm90b3R5cGUubXVsdGlwbHlUb0FycmF5PWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlUb0FycmF5KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sZzN0LnByb3RvdHlwZS5tdWx0aXBseVZlY3RvcjM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm11bHRpcGx5VmVjdG9yMygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSB2ZWN0b3IuYXBwbHlNYXRyaXg0KCBtYXRyaXggKSBpbnN0ZWFkLiIpLHQuYXBwbHlNYXRyaXg0KHRoaXMpfSxnM3QucHJvdG90eXBlLm11bHRpcGx5VmVjdG9yND1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlWZWN0b3I0KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIiksdC5hcHBseU1hdHJpeDQodGhpcyl9LGczdC5wcm90b3R5cGUubXVsdGlwbHlWZWN0b3IzQXJyYXk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlWZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxnM3QucHJvdG90eXBlLnJvdGF0ZUF4aXM9ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlQXhpcygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBWZWN0b3IzLnRyYW5zZm9ybURpcmVjdGlvbiggbWF0cml4ICkgaW5zdGVhZC4iKSx0LnRyYW5zZm9ybURpcmVjdGlvbih0aGlzKX0sZzN0LnByb3RvdHlwZS5jcm9zc1ZlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAuY3Jvc3NWZWN0b3IoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdmVjdG9yLmFwcGx5TWF0cml4NCggbWF0cml4ICkgaW5zdGVhZC4iKSx0LmFwcGx5TWF0cml4NCh0aGlzKX0sZzN0LnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAudHJhbnNsYXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sZzN0LnByb3RvdHlwZS5yb3RhdGVYPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4NDogLnJvdGF0ZVgoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxnM3QucHJvdG90eXBlLnJvdGF0ZVk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlWSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LGczdC5wcm90b3R5cGUucm90YXRlWj1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5yb3RhdGVaKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sZzN0LnByb3RvdHlwZS5yb3RhdGVCeUF4aXM9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlQnlBeGlzKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sZzN0LnByb3RvdHlwZS5hcHBseVRvQnVmZmVyQXR0cmlidXRlPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5hcHBseVRvQnVmZmVyQXR0cmlidXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIGF0dHJpYnV0ZS5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIiksdC5hcHBseU1hdHJpeDQodGhpcyl9LGczdC5wcm90b3R5cGUuYXBwbHlUb1ZlY3RvcjNBcnJheT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5hcHBseVRvVmVjdG9yM0FycmF5KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sZzN0LnByb3RvdHlwZS5tYWtlRnJ1c3R1bT1mdW5jdGlvbih0LGUsbixpLHIsbyl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm1ha2VGcnVzdHVtKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5tYWtlUGVyc3BlY3RpdmUoIGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbSwgbmVhciwgZmFyICkgaW5zdGVhZC4iKSx0aGlzLm1ha2VQZXJzcGVjdGl2ZSh0LGUsaSxuLHIsbyl9LGczdC5wcm90b3R5cGUuZ2V0SW52ZXJzZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAuZ2V0SW52ZXJzZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBtYXRyaXhJbnYuY29weSggbWF0cml4ICkuaW52ZXJ0KCk7IGluc3RlYWQuIiksdGhpcy5jb3B5KHQpLmludmVydCgpfSxkNnQucHJvdG90eXBlLmlzSW50ZXJzZWN0aW9uTGluZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5QbGFuZTogLmlzSW50ZXJzZWN0aW9uTGluZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNMaW5lKCkuIiksdGhpcy5pbnRlcnNlY3RzTGluZSh0KX0sQjV0LnByb3RvdHlwZS5tdWx0aXBseVZlY3RvcjM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUXVhdGVybmlvbjogLm11bHRpcGx5VmVjdG9yMygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBpcyBub3cgdmVjdG9yLmFwcGx5UXVhdGVybmlvbiggcXVhdGVybmlvbiApIGluc3RlYWQuIiksdC5hcHBseVF1YXRlcm5pb24odGhpcyl9LEI1dC5wcm90b3R5cGUuaW52ZXJzZT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlF1YXRlcm5pb246IC5pbnZlcnNlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byBpbnZlcnQoKS4iKSx0aGlzLmludmVydCgpfSxtM3QucHJvdG90eXBlLmlzSW50ZXJzZWN0aW9uQm94PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlJheTogLmlzSW50ZXJzZWN0aW9uQm94KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c0JveCgpLiIpLHRoaXMuaW50ZXJzZWN0c0JveCh0KX0sbTN0LnByb3RvdHlwZS5pc0ludGVyc2VjdGlvblBsYW5lPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlJheTogLmlzSW50ZXJzZWN0aW9uUGxhbmUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pbnRlcnNlY3RzUGxhbmUoKS4iKSx0aGlzLmludGVyc2VjdHNQbGFuZSh0KX0sbTN0LnByb3RvdHlwZS5pc0ludGVyc2VjdGlvblNwaGVyZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5SYXk6IC5pc0ludGVyc2VjdGlvblNwaGVyZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNTcGhlcmUoKS4iKSx0aGlzLmludGVyc2VjdHNTcGhlcmUodCl9LEozdC5wcm90b3R5cGUuYXJlYT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlRyaWFuZ2xlOiAuYXJlYSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEFyZWEoKS4iKSx0aGlzLmdldEFyZWEoKX0sSjN0LnByb3RvdHlwZS5iYXJ5Y29vcmRGcm9tUG9pbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmJhcnljb29yZEZyb21Qb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEJhcnljb29yZCgpLiIpLHRoaXMuZ2V0QmFyeWNvb3JkKHQsZSl9LEozdC5wcm90b3R5cGUubWlkcG9pbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5taWRwb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE1pZHBvaW50KCkuIiksdGhpcy5nZXRNaWRwb2ludCh0KX0sSjN0LnByb3RvdHlwZW5vcm1hbD1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLm5vcm1hbCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE5vcm1hbCgpLiIpLHRoaXMuZ2V0Tm9ybWFsKHQpfSxKM3QucHJvdG90eXBlLnBsYW5lPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlRyaWFuZ2xlOiAucGxhbmUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXRQbGFuZSgpLiIpLHRoaXMuZ2V0UGxhbmUodCl9LEozdC5iYXJ5Y29vcmRGcm9tUG9pbnQ9ZnVuY3Rpb24odCxlLG4saSxyKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmJhcnljb29yZEZyb21Qb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEJhcnljb29yZCgpLiIpLEozdC5nZXRCYXJ5Y29vcmQodCxlLG4saSxyKX0sSjN0Lm5vcm1hbD1mdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLm5vcm1hbCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE5vcm1hbCgpLiIpLEozdC5nZXROb3JtYWwodCxlLG4saSl9LGJuZS5wcm90b3R5cGUuZXh0cmFjdEFsbFBvaW50cz1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5TaGFwZTogLmV4dHJhY3RBbGxQb2ludHMoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLmV4dHJhY3RQb2ludHMoKSBpbnN0ZWFkLiIpLHRoaXMuZXh0cmFjdFBvaW50cyh0KX0sYm5lLnByb3RvdHlwZS5leHRydWRlPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlNoYXBlOiAuZXh0cnVkZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBFeHRydWRlR2VvbWV0cnkoKSBpbnN0ZWFkLiIpLG5ldyBiZWUodGhpcyx0KX0sYm5lLnByb3RvdHlwZS5tYWtlR2VvbWV0cnk9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuU2hhcGU6IC5tYWtlR2VvbWV0cnkoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgU2hhcGVHZW9tZXRyeSgpIGluc3RlYWQuIiksbmV3IENlZSh0aGlzLHQpfSxDNXQucHJvdG90eXBlLmZyb21BdHRyaWJ1dGU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjI6IC5mcm9tQXR0cmlidXRlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpLHRoaXMuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LGUsbil9LEM1dC5wcm90b3R5cGUuZGlzdGFuY2VUb01hbmhhdHRhbj1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiAuZGlzdGFuY2VUb01hbmhhdHRhbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1hbmhhdHRhbkRpc3RhbmNlVG8oKS4iKSx0aGlzLm1hbmhhdHRhbkRpc3RhbmNlVG8odCl9LEM1dC5wcm90b3R5cGUubGVuZ3RoTWFuaGF0dGFuPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLmxlbmd0aE1hbmhhdHRhbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1hbmhhdHRhbkxlbmd0aCgpLiIpLHRoaXMubWFuaGF0dGFuTGVuZ3RoKCl9LEg1dC5wcm90b3R5cGUuc2V0RXVsZXJGcm9tUm90YXRpb25NYXRyaXg9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5WZWN0b3IzOiAuc2V0RXVsZXJGcm9tUm90YXRpb25NYXRyaXgoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgRXVsZXIuc2V0RnJvbVJvdGF0aW9uTWF0cml4KCkgaW5zdGVhZC4iKX0sSDV0LnByb3RvdHlwZS5zZXRFdWxlckZyb21RdWF0ZXJuaW9uPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuVmVjdG9yMzogLnNldEV1bGVyRnJvbVF1YXRlcm5pb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgRXVsZXIuc2V0RnJvbVF1YXRlcm5pb24oKSBpbnN0ZWFkLiIpfSxINXQucHJvdG90eXBlLmdldFBvc2l0aW9uRnJvbU1hdHJpeD1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuZ2V0UG9zaXRpb25Gcm9tTWF0cml4KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKCkuIiksdGhpcy5zZXRGcm9tTWF0cml4UG9zaXRpb24odCl9LEg1dC5wcm90b3R5cGUuZ2V0U2NhbGVGcm9tTWF0cml4PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5nZXRTY2FsZUZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tTWF0cml4U2NhbGUoKS4iKSx0aGlzLnNldEZyb21NYXRyaXhTY2FsZSh0KX0sSDV0LnByb3RvdHlwZS5nZXRDb2x1bW5Gcm9tTWF0cml4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLmdldENvbHVtbkZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tTWF0cml4Q29sdW1uKCkuIiksdGhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKGUsdCl9LEg1dC5wcm90b3R5cGUuYXBwbHlQcm9qZWN0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5hcHBseVByb2plY3Rpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLmFwcGx5TWF0cml4NCggbSApIGluc3RlYWQuIiksdGhpcy5hcHBseU1hdHJpeDQodCl9LEg1dC5wcm90b3R5cGUuZnJvbUF0dHJpYnV0ZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLmZyb21BdHRyaWJ1dGUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5mcm9tQnVmZmVyQXR0cmlidXRlKCkuIiksdGhpcy5mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSxuKX0sSDV0LnByb3RvdHlwZS5kaXN0YW5jZVRvTWFuaGF0dGFuPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5kaXN0YW5jZVRvTWFuaGF0dGFuKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAubWFuaGF0dGFuRGlzdGFuY2VUbygpLiIpLHRoaXMubWFuaGF0dGFuRGlzdGFuY2VUbyh0KX0sSDV0LnByb3RvdHlwZS5sZW5ndGhNYW5oYXR0YW49ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAubGVuZ3RoTWFuaGF0dGFuKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAubWFuaGF0dGFuTGVuZ3RoKCkuIiksdGhpcy5tYW5oYXR0YW5MZW5ndGgoKX0sUjV0LnByb3RvdHlwZS5mcm9tQXR0cmlidXRlPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3I0OiAuZnJvbUF0dHJpYnV0ZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmZyb21CdWZmZXJBdHRyaWJ1dGUoKS4iKSx0aGlzLmZyb21CdWZmZXJBdHRyaWJ1dGUodCxlLG4pfSxSNXQucHJvdG90eXBlLmxlbmd0aE1hbmhhdHRhbj1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjQ6IC5sZW5ndGhNYW5oYXR0YW4oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5tYW5oYXR0YW5MZW5ndGgoKS4iKSx0aGlzLm1hbmhhdHRhbkxlbmd0aCgpfSxWM3QucHJvdG90eXBlLmdldENoaWxkQnlOYW1lPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAuZ2V0Q2hpbGRCeU5hbWUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXRPYmplY3RCeU5hbWUoKS4iKSx0aGlzLmdldE9iamVjdEJ5TmFtZSh0KX0sVjN0LnByb3RvdHlwZS5yZW5kZXJEZXB0aD1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5yZW5kZXJEZXB0aCBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLnJlbmRlck9yZGVyLCBpbnN0ZWFkLiIpfSxWM3QucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAudHJhbnNsYXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC50cmFuc2xhdGVPbkF4aXMoIGF4aXMsIGRpc3RhbmNlICkgaW5zdGVhZC4iKSx0aGlzLnRyYW5zbGF0ZU9uQXhpcyhlLHQpfSxWM3QucHJvdG90eXBlLmdldFdvcmxkUm90YXRpb249ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3QzRDogLmdldFdvcmxkUm90YXRpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuT2JqZWN0M0QuZ2V0V29ybGRRdWF0ZXJuaW9uKCB0YXJnZXQgKSBpbnN0ZWFkLiIpfSxWM3QucHJvdG90eXBlLmFwcGx5TWF0cml4PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAuYXBwbHlNYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5hcHBseU1hdHJpeDQoKS4iKSx0aGlzLmFwcGx5TWF0cml4NCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoVjN0LnByb3RvdHlwZSx7ZXVsZXJPcmRlcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5ldWxlck9yZGVyIGlzIG5vdyAucm90YXRpb24ub3JkZXIuIiksdGhpcy5yb3RhdGlvbi5vcmRlcn0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5ldWxlck9yZGVyIGlzIG5vdyAucm90YXRpb24ub3JkZXIuIiksdGhpcy5yb3RhdGlvbi5vcmRlcj10fX0sdXNlUXVhdGVybmlvbjp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnVzZVF1YXRlcm5pb24gaGFzIGJlZW4gcmVtb3ZlZC4gVGhlIGxpYnJhcnkgbm93IHVzZXMgcXVhdGVybmlvbnMgYnkgZGVmYXVsdC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnVzZVF1YXRlcm5pb24gaGFzIGJlZW4gcmVtb3ZlZC4gVGhlIGxpYnJhcnkgbm93IHVzZXMgcXVhdGVybmlvbnMgYnkgZGVmYXVsdC4iKX19fSksSzR0LnByb3RvdHlwZS5zZXREcmF3TW9kZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1lc2g6IC5zZXREcmF3TW9kZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFRoZSByZW5kZXJlciBub3cgYWx3YXlzIGFzc3VtZXMgVEhSRUUuVHJpYW5nbGVzRHJhd01vZGUuIFRyYW5zZm9ybSB5b3VyIGdlb21ldHJ5IHZpYSBCdWZmZXJHZW9tZXRyeVV0aWxzLnRvVHJpYW5nbGVzRHJhd01vZGUoKSBpZiBuZWNlc3NhcnkuIil9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEs0dC5wcm90b3R5cGUse2RyYXdNb2RlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS5lcnJvcigiVEhSRUUuTWVzaDogLmRyYXdNb2RlIGhhcyBiZWVuIHJlbW92ZWQuIFRoZSByZW5kZXJlciBub3cgYWx3YXlzIGFzc3VtZXMgVEhSRUUuVHJpYW5nbGVzRHJhd01vZGUuIiksMH0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWVzaDogLmRyYXdNb2RlIGhhcyBiZWVuIHJlbW92ZWQuIFRoZSByZW5kZXJlciBub3cgYWx3YXlzIGFzc3VtZXMgVEhSRUUuVHJpYW5nbGVzRHJhd01vZGUuIFRyYW5zZm9ybSB5b3VyIGdlb21ldHJ5IHZpYSBCdWZmZXJHZW9tZXRyeVV0aWxzLnRvVHJpYW5nbGVzRHJhd01vZGUoKSBpZiBuZWNlc3NhcnkuIil9fX0pLEQ3dC5wcm90b3R5cGUuaW5pdEJvbmVzPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuU2tpbm5lZE1lc2g6IGluaXRCb25lcygpIGhhcyBiZWVuIHJlbW92ZWQuIil9LHI2dC5wcm90b3R5cGUuc2V0TGVucz1mdW5jdGlvbih0LGUpe2NvbnNvbGUud2FybigiVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmEuc2V0TGVucyBpcyBkZXByZWNhdGVkLiBVc2UgLnNldEZvY2FsTGVuZ3RoIGFuZCAuZmlsbUdhdWdlIGZvciBhIHBob3RvZ3JhcGhpYyBzZXR1cC4iKSx2b2lkIDAhPT1lJiYodGhpcy5maWxtR2F1Z2U9ZSksdGhpcy5zZXRGb2NhbExlbmd0aCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoeG5lLnByb3RvdHlwZSx7b25seVNoYWRvdzp7c2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLm9ubHlTaGFkb3cgaGFzIGJlZW4gcmVtb3ZlZC4iKX19LHNoYWRvd0NhbWVyYUZvdjp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFGb3YgaXMgbm93IC5zaGFkb3cuY2FtZXJhLmZvdi4iKSx0aGlzLnNoYWRvdy5jYW1lcmEuZm92PXR9fSxzaGFkb3dDYW1lcmFMZWZ0OntzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYUxlZnQgaXMgbm93IC5zaGFkb3cuY2FtZXJhLmxlZnQuIiksdGhpcy5zaGFkb3cuY2FtZXJhLmxlZnQ9dH19LHNoYWRvd0NhbWVyYVJpZ2h0OntzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYVJpZ2h0IGlzIG5vdyAuc2hhZG93LmNhbWVyYS5yaWdodC4iKSx0aGlzLnNoYWRvdy5jYW1lcmEucmlnaHQ9dH19LHNoYWRvd0NhbWVyYVRvcDp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFUb3AgaXMgbm93IC5zaGFkb3cuY2FtZXJhLnRvcC4iKSx0aGlzLnNoYWRvdy5jYW1lcmEudG9wPXR9fSxzaGFkb3dDYW1lcmFCb3R0b206e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93Q2FtZXJhQm90dG9tIGlzIG5vdyAuc2hhZG93LmNhbWVyYS5ib3R0b20uIiksdGhpcy5zaGFkb3cuY2FtZXJhLmJvdHRvbT10fX0sc2hhZG93Q2FtZXJhTmVhcjp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFOZWFyIGlzIG5vdyAuc2hhZG93LmNhbWVyYS5uZWFyLiIpLHRoaXMuc2hhZG93LmNhbWVyYS5uZWFyPXR9fSxzaGFkb3dDYW1lcmFGYXI6e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93Q2FtZXJhRmFyIGlzIG5vdyAuc2hhZG93LmNhbWVyYS5mYXIuIiksdGhpcy5zaGFkb3cuY2FtZXJhLmZhcj10fX0sc2hhZG93Q2FtZXJhVmlzaWJsZTp7c2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYVZpc2libGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5DYW1lcmFIZWxwZXIoIGxpZ2h0LnNoYWRvdy5jYW1lcmEgKSBpbnN0ZWFkLiIpfX0sc2hhZG93Qmlhczp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dCaWFzIGlzIG5vdyAuc2hhZG93LmJpYXMuIiksdGhpcy5zaGFkb3cuYmlhcz10fX0sc2hhZG93RGFya25lc3M6e3NldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dEYXJrbmVzcyBoYXMgYmVlbiByZW1vdmVkLiIpfX0sc2hhZG93TWFwV2lkdGg6e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93TWFwV2lkdGggaXMgbm93IC5zaGFkb3cubWFwU2l6ZS53aWR0aC4iKSx0aGlzLnNoYWRvdy5tYXBTaXplLndpZHRoPXR9fSxzaGFkb3dNYXBIZWlnaHQ6e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93TWFwSGVpZ2h0IGlzIG5vdyAuc2hhZG93Lm1hcFNpemUuaGVpZ2h0LiIpLHRoaXMuc2hhZG93Lm1hcFNpemUuaGVpZ2h0PXR9fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGg0dC5wcm90b3R5cGUse2xlbmd0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAubGVuZ3RoIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuY291bnQgaW5zdGVhZC4iKSx0aGlzLmFycmF5Lmxlbmd0aH19LGR5bmFtaWM6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZTogLmR5bmFtaWMgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC51c2FnZSBpbnN0ZWFkLiIpLHRoaXMudXNhZ2U9PT1RMnR9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuZHluYW1pYyBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgLnVzYWdlIGluc3RlYWQuIiksdGhpcy5zZXRVc2FnZShRMnQpfX19KSxoNHQucHJvdG90eXBlLnNldER5bmFtaWM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuc2V0RHluYW1pYygpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuc2V0VXNhZ2UoKSBpbnN0ZWFkLiIpLHRoaXMuc2V0VXNhZ2UoITA9PT10P1EydDpKMnQpLHRoaXN9LGg0dC5wcm90b3R5cGUuY29weUluZGljZXNBcnJheT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZTogLmNvcHlJbmRpY2VzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxoNHQucHJvdG90eXBlLnNldEFycmF5PWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuc2V0QXJyYXkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIEJ1ZmZlckdlb21ldHJ5IC5zZXRBdHRyaWJ1dGUgdG8gcmVwbGFjZS9yZXNpemUgYXR0cmlidXRlIGJ1ZmZlcnMiKX0sTjR0LnByb3RvdHlwZS5hZGRJbmRleD1mdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuYWRkSW5kZXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRJbmRleCgpLiIpLHRoaXMuc2V0SW5kZXgodCl9LE40dC5wcm90b3R5cGUuYWRkQXR0cmlidXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5hZGRBdHRyaWJ1dGUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRBdHRyaWJ1dGUoKS4iKSxlJiZlLmlzQnVmZmVyQXR0cmlidXRlfHxlJiZlLmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGU/ImluZGV4Ij09PXQ/KGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnkuYWRkQXR0cmlidXRlOiBVc2UgLnNldEluZGV4KCkgZm9yIGluZGV4IGF0dHJpYnV0ZS4iKSx0aGlzLnNldEluZGV4KGUpLHRoaXMpOnRoaXMuc2V0QXR0cmlidXRlKHQsZSk6KGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5hZGRBdHRyaWJ1dGUoKSBub3cgZXhwZWN0cyAoIG5hbWUsIGF0dHJpYnV0ZSApLiIpLHRoaXMuc2V0QXR0cmlidXRlKHQsbmV3IGg0dChhcmd1bWVudHNbMV0sYXJndW1lbnRzWzJdKSkpfSxONHQucHJvdG90eXBlLmFkZERyYXdDYWxsPWZ1bmN0aW9uKHQsZSxuKXt2b2lkIDAhPT1uJiZjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuYWRkRHJhd0NhbGwoKSBubyBsb25nZXIgc3VwcG9ydHMgaW5kZXhPZmZzZXQuIiksY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLmFkZERyYXdDYWxsKCkgaXMgbm93IC5hZGRHcm91cCgpLiIpLHRoaXMuYWRkR3JvdXAodCxlKX0sTjR0LnByb3RvdHlwZS5jbGVhckRyYXdDYWxscz1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5jbGVhckRyYXdDYWxscygpIGlzIG5vdyAuY2xlYXJHcm91cHMoKS4iKSx0aGlzLmNsZWFyR3JvdXBzKCl9LE40dC5wcm90b3R5cGUuY29tcHV0ZU9mZnNldHM9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuY29tcHV0ZU9mZnNldHMoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxONHQucHJvdG90eXBlLnJlbW92ZUF0dHJpYnV0ZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLnJlbW92ZUF0dHJpYnV0ZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmRlbGV0ZUF0dHJpYnV0ZSgpLiIpLHRoaXMuZGVsZXRlQXR0cmlidXRlKHQpfSxONHQucHJvdG90eXBlLmFwcGx5TWF0cml4PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuYXBwbHlNYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5hcHBseU1hdHJpeDQoKS4iKSx0aGlzLmFwcGx5TWF0cml4NCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTjR0LnByb3RvdHlwZSx7ZHJhd2NhbGxzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5kcmF3Y2FsbHMgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ3JvdXBzLiIpLHRoaXMuZ3JvdXBzfX0sb2Zmc2V0czp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5vZmZzZXRzIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdyb3Vwcy4iKSx0aGlzLmdyb3Vwc319fSksdTd0LnByb3RvdHlwZS5zZXREeW5hbWljPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkludGVybGVhdmVkQnVmZmVyOiAuc2V0RHluYW1pYygpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuc2V0VXNhZ2UoKSBpbnN0ZWFkLiIpLHRoaXMuc2V0VXNhZ2UoITA9PT10P1EydDpKMnQpLHRoaXN9LHU3dC5wcm90b3R5cGUuc2V0QXJyYXk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5JbnRlcmxlYXZlZEJ1ZmZlcjogLnNldEFycmF5IGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBCdWZmZXJHZW9tZXRyeSAuc2V0QXR0cmlidXRlIHRvIHJlcGxhY2UvcmVzaXplIGF0dHJpYnV0ZSBidWZmZXJzIil9LGJlZS5wcm90b3R5cGUuZ2V0QXJyYXlzPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuRXh0cnVkZUdlb21ldHJ5OiAuZ2V0QXJyYXlzKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sYmVlLnByb3RvdHlwZS5hZGRTaGFwZUxpc3Q9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5FeHRydWRlR2VvbWV0cnk6IC5hZGRTaGFwZUxpc3QoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxiZWUucHJvdG90eXBlLmFkZFNoYXBlPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuRXh0cnVkZUdlb21ldHJ5OiAuYWRkU2hhcGUoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxjN3QucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5TY2VuZTogLmRpc3Bvc2UoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxOaWUucHJvdG90eXBlLm9uVXBkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVW5pZm9ybTogLm9uVXBkYXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG9iamVjdC5vbkJlZm9yZVJlbmRlcigpIGluc3RlYWQuIiksdGhpc30sT2JqZWN0LmRlZmluZVByb3BlcnRpZXModDR0LnByb3RvdHlwZSx7d3JhcEFyb3VuZDp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRlcmlhbDogLndyYXBBcm91bmQgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRlcmlhbDogLndyYXBBcm91bmQgaGFzIGJlZW4gcmVtb3ZlZC4iKX19LG92ZXJkcmF3OntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAub3ZlcmRyYXcgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRlcmlhbDogLm92ZXJkcmF3IGhhcyBiZWVuIHJlbW92ZWQuIil9fSx3cmFwUkdCOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRlcmlhbDogLndyYXBSR0IgaGFzIGJlZW4gcmVtb3ZlZC4iKSxuZXcgczR0fX0sc2hhZGluZzp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuIit0aGlzLnR5cGUrIjogLnNoYWRpbmcgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHRoZSBib29sZWFuIC5mbGF0U2hhZGluZyBpbnN0ZWFkLiIpfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAuc2hhZGluZyBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdGhlIGJvb2xlYW4gLmZsYXRTaGFkaW5nIGluc3RlYWQuIiksdGhpcy5mbGF0U2hhZGluZz0xPT09dH19LHN0ZW5jaWxNYXNrOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAuc3RlbmNpbE1hc2sgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5zdGVuY2lsRnVuY01hc2sgaW5zdGVhZC4iKSx0aGlzLnN0ZW5jaWxGdW5jTWFza30sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuIit0aGlzLnR5cGUrIjogLnN0ZW5jaWxNYXNrIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSAuc3RlbmNpbEZ1bmNNYXNrIGluc3RlYWQuIiksdGhpcy5zdGVuY2lsRnVuY01hc2s9dH19LHZlcnRleFRhbmdlbnRzOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLiIrdGhpcy50eXBlKyI6IC52ZXJ0ZXhUYW5nZW50cyBoYXMgYmVlbiByZW1vdmVkLiIpfSxzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLiIrdGhpcy50eXBlKyI6IC52ZXJ0ZXhUYW5nZW50cyBoYXMgYmVlbiByZW1vdmVkLiIpfX19KSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhuNnQucHJvdG90eXBlLHtkZXJpdmF0aXZlczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuU2hhZGVyTWF0ZXJpYWw6IC5kZXJpdmF0aXZlcyBoYXMgYmVlbiBtb3ZlZCB0byAuZXh0ZW5zaW9ucy5kZXJpdmF0aXZlcy4iKSx0aGlzLmV4dGVuc2lvbnMuZGVyaXZhdGl2ZXN9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLiBTaGFkZXJNYXRlcmlhbDogLmRlcml2YXRpdmVzIGhhcyBiZWVuIG1vdmVkIHRvIC5leHRlbnNpb25zLmRlcml2YXRpdmVzLiIpLHRoaXMuZXh0ZW5zaW9ucy5kZXJpdmF0aXZlcz10fX19KSxvN3QucHJvdG90eXBlLmNsZWFyVGFyZ2V0PWZ1bmN0aW9uKHQsZSxuLGkpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmNsZWFyVGFyZ2V0KCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC5zZXRSZW5kZXJUYXJnZXQoKSBhbmQgLmNsZWFyKCkgaW5zdGVhZC4iKSx0aGlzLnNldFJlbmRlclRhcmdldCh0KSx0aGlzLmNsZWFyKGUsbixpKX0sbzd0LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmFuaW1hdGUoKSBpcyBub3cgLnNldEFuaW1hdGlvbkxvb3AoKS4iKSx0aGlzLnNldEFuaW1hdGlvbkxvb3AodCl9LG83dC5wcm90b3R5cGUuZ2V0Q3VycmVudFJlbmRlclRhcmdldD1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5nZXRDdXJyZW50UmVuZGVyVGFyZ2V0KCkgaXMgbm93IC5nZXRSZW5kZXJUYXJnZXQoKS4iKSx0aGlzLmdldFJlbmRlclRhcmdldCgpfSxvN3QucHJvdG90eXBlLmdldE1heEFuaXNvdHJvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2V0TWF4QW5pc290cm9weSgpIGlzIG5vdyAuY2FwYWJpbGl0aWVzLmdldE1heEFuaXNvdHJvcHkoKS4iKSx0aGlzLmNhcGFiaWxpdGllcy5nZXRNYXhBbmlzb3Ryb3B5KCl9LG83dC5wcm90b3R5cGUuZ2V0UHJlY2lzaW9uPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmdldFByZWNpc2lvbigpIGlzIG5vdyAuY2FwYWJpbGl0aWVzLnByZWNpc2lvbi4iKSx0aGlzLmNhcGFiaWxpdGllcy5wcmVjaXNpb259LG83dC5wcm90b3R5cGUucmVzZXRHTFN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnJlc2V0R0xTdGF0ZSgpIGlzIG5vdyAuc3RhdGUucmVzZXQoKS4iKSx0aGlzLnN0YXRlLnJlc2V0KCl9LG83dC5wcm90b3R5cGUuc3VwcG9ydHNGbG9hdFRleHR1cmVzPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzRmxvYXRUZXh0dXJlcygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdPRVNfdGV4dHVyZV9mbG9hdCcgKS4iKSx0aGlzLmV4dGVuc2lvbnMuZ2V0KCJPRVNfdGV4dHVyZV9mbG9hdCIpfSxvN3QucHJvdG90eXBlLnN1cHBvcnRzSGFsZkZsb2F0VGV4dHVyZXM9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNIYWxmRmxvYXRUZXh0dXJlcygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0JyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKX0sbzd0LnByb3RvdHlwZS5zdXBwb3J0c1N0YW5kYXJkRGVyaXZhdGl2ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNTdGFuZGFyZERlcml2YXRpdmVzKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ09FU19zdGFuZGFyZF9kZXJpdmF0aXZlcycgKS4iKSx0aGlzLmV4dGVuc2lvbnMuZ2V0KCJPRVNfc3RhbmRhcmRfZGVyaXZhdGl2ZXMiKX0sbzd0LnByb3RvdHlwZS5zdXBwb3J0c0NvbXByZXNzZWRUZXh0dXJlUzNUQz1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0NvbXByZXNzZWRUZXh0dXJlUzNUQygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YycgKS4iKSx0aGlzLmV4dGVuc2lvbnMuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyIpfSxvN3QucHJvdG90eXBlLnN1cHBvcnRzQ29tcHJlc3NlZFRleHR1cmVQVlJUQz1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0NvbXByZXNzZWRUZXh0dXJlUFZSVEMoKSBpcyBub3cgLmV4dGVuc2lvbnMuZ2V0KCAnV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjJyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyIpfSxvN3QucHJvdG90eXBlLnN1cHBvcnRzQmxlbmRNaW5NYXg9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNCbGVuZE1pbk1heCgpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdFWFRfYmxlbmRfbWlubWF4JyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIkVYVF9ibGVuZF9taW5tYXgiKX0sbzd0LnByb3RvdHlwZS5zdXBwb3J0c1ZlcnRleFRleHR1cmVzPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzVmVydGV4VGV4dHVyZXMoKSBpcyBub3cgLmNhcGFiaWxpdGllcy52ZXJ0ZXhUZXh0dXJlcy4iKSx0aGlzLmNhcGFiaWxpdGllcy52ZXJ0ZXhUZXh0dXJlc30sbzd0LnByb3RvdHlwZS5zdXBwb3J0c0luc3RhbmNlZEFycmF5cz1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0luc3RhbmNlZEFycmF5cygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdBTkdMRV9pbnN0YW5jZWRfYXJyYXlzJyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKX0sbzd0LnByb3RvdHlwZS5lbmFibGVTY2lzc29yVGVzdD1mdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5lbmFibGVTY2lzc29yVGVzdCgpIGlzIG5vdyAuc2V0U2Npc3NvclRlc3QoKS4iKSx0aGlzLnNldFNjaXNzb3JUZXN0KHQpfSxvN3QucHJvdG90eXBlLmluaXRNYXRlcmlhbD1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmluaXRNYXRlcmlhbCgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LG83dC5wcm90b3R5cGUuYWRkUHJlUGx1Z2luPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuYWRkUHJlUGx1Z2luKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sbzd0LnByb3RvdHlwZS5hZGRQb3N0UGx1Z2luPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuYWRkUG9zdFBsdWdpbigpIGhhcyBiZWVuIHJlbW92ZWQuIil9LG83dC5wcm90b3R5cGUudXBkYXRlU2hhZG93TWFwPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAudXBkYXRlU2hhZG93TWFwKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sbzd0LnByb3RvdHlwZS5zZXRGYWNlQ3VsbGluZz1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNldEZhY2VDdWxsaW5nKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sbzd0LnByb3RvdHlwZS5hbGxvY1RleHR1cmVVbml0PWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuYWxsb2NUZXh0dXJlVW5pdCgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LG83dC5wcm90b3R5cGUuc2V0VGV4dHVyZT1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNldFRleHR1cmUoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxvN3QucHJvdG90eXBlLnNldFRleHR1cmUyRD1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNldFRleHR1cmUyRCgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LG83dC5wcm90b3R5cGUuc2V0VGV4dHVyZUN1YmU9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zZXRUZXh0dXJlQ3ViZSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LG83dC5wcm90b3R5cGUuZ2V0QWN0aXZlTWlwTWFwTGV2ZWw9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2V0QWN0aXZlTWlwTWFwTGV2ZWwoKSBpcyBub3cgLmdldEFjdGl2ZU1pcG1hcExldmVsKCkuIiksdGhpcy5nZXRBY3RpdmVNaXBtYXBMZXZlbCgpfSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvN3QucHJvdG90eXBlLHtzaGFkb3dNYXBFbmFibGVkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaGFkb3dNYXAuZW5hYmxlZH0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcEVuYWJsZWQgaXMgbm93IC5zaGFkb3dNYXAuZW5hYmxlZC4iKSx0aGlzLnNoYWRvd01hcC5lbmFibGVkPXR9fSxzaGFkb3dNYXBUeXBlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaGFkb3dNYXAudHlwZX0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcFR5cGUgaXMgbm93IC5zaGFkb3dNYXAudHlwZS4iKSx0aGlzLnNoYWRvd01hcC50eXBlPXR9fSxzaGFkb3dNYXBDdWxsRmFjZTp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwQ3VsbEZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwQ3VsbEZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX19LGNvbnRleHQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5jb250ZXh0IGhhcyBiZWVuIHJlbW92ZWQuIFVzZSAuZ2V0Q29udGV4dCgpIGluc3RlYWQuIiksdGhpcy5nZXRDb250ZXh0KCl9fSx2cjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnZyIGhhcyBiZWVuIHJlbmFtZWQgdG8gLnhyIiksdGhpcy54cn19LGdhbW1hSW5wdXQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5nYW1tYUlucHV0IGhhcyBiZWVuIHJlbW92ZWQuIFNldCB0aGUgZW5jb2RpbmcgZm9yIHRleHR1cmVzIHZpYSBUZXh0dXJlLmVuY29kaW5nIGluc3RlYWQuIiksITF9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmdhbW1hSW5wdXQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IHRoZSBlbmNvZGluZyBmb3IgdGV4dHVyZXMgdmlhIFRleHR1cmUuZW5jb2RpbmcgaW5zdGVhZC4iKX19LGdhbW1hT3V0cHV0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2FtbWFPdXRwdXQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IFdlYkdMUmVuZGVyZXIub3V0cHV0RW5jb2RpbmcgaW5zdGVhZC4iKSwhMX0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmdhbW1hT3V0cHV0IGhhcyBiZWVuIHJlbW92ZWQuIFNldCBXZWJHTFJlbmRlcmVyLm91dHB1dEVuY29kaW5nIGluc3RlYWQuIiksdGhpcy5vdXRwdXRFbmNvZGluZz0hMD09PXQ/VzJ0OkcydH19LHRvbmVNYXBwaW5nV2hpdGVQb2ludDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnRvbmVNYXBwaW5nV2hpdGVQb2ludCBoYXMgYmVlbiByZW1vdmVkLiIpLDF9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnRvbmVNYXBwaW5nV2hpdGVQb2ludCBoYXMgYmVlbiByZW1vdmVkLiIpfX19KSxPYmplY3QuZGVmaW5lUHJvcGVydGllcygkOHQucHJvdG90eXBlLHtjdWxsRmFjZTp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLmN1bGxGYWNlIGhhcyBiZWVuIHJlbW92ZWQuIFNldCBNYXRlcmlhbC5zaGFkb3dTaWRlIGluc3RlYWQuIil9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcC5jdWxsRmFjZSBoYXMgYmVlbiByZW1vdmVkLiBTZXQgTWF0ZXJpYWwuc2hhZG93U2lkZSBpbnN0ZWFkLiIpfX0scmVuZGVyUmV2ZXJzZVNpZGVkOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXAucmVuZGVyUmV2ZXJzZVNpZGVkIGhhcyBiZWVuIHJlbW92ZWQuIFNldCBNYXRlcmlhbC5zaGFkb3dTaWRlIGluc3RlYWQuIil9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcC5yZW5kZXJSZXZlcnNlU2lkZWQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX19LHJlbmRlclNpbmdsZVNpZGVkOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXAucmVuZGVyU2luZ2xlU2lkZWQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLnJlbmRlclNpbmdsZVNpZGVkIGhhcyBiZWVuIHJlbW92ZWQuIFNldCBNYXRlcmlhbC5zaGFkb3dTaWRlIGluc3RlYWQuIil9fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKE81dC5wcm90b3R5cGUse3dyYXBTOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLndyYXBTIGlzIG5vdyAudGV4dHVyZS53cmFwUy4iKSx0aGlzLnRleHR1cmUud3JhcFN9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAud3JhcFMgaXMgbm93IC50ZXh0dXJlLndyYXBTLiIpLHRoaXMudGV4dHVyZS53cmFwUz10fX0sd3JhcFQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAud3JhcFQgaXMgbm93IC50ZXh0dXJlLndyYXBULiIpLHRoaXMudGV4dHVyZS53cmFwVH0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC53cmFwVCBpcyBub3cgLnRleHR1cmUud3JhcFQuIiksdGhpcy50ZXh0dXJlLndyYXBUPXR9fSxtYWdGaWx0ZXI6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAubWFnRmlsdGVyIGlzIG5vdyAudGV4dHVyZS5tYWdGaWx0ZXIuIiksdGhpcy50ZXh0dXJlLm1hZ0ZpbHRlcn0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5tYWdGaWx0ZXIgaXMgbm93IC50ZXh0dXJlLm1hZ0ZpbHRlci4iKSx0aGlzLnRleHR1cmUubWFnRmlsdGVyPXR9fSxtaW5GaWx0ZXI6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAubWluRmlsdGVyIGlzIG5vdyAudGV4dHVyZS5taW5GaWx0ZXIuIiksdGhpcy50ZXh0dXJlLm1pbkZpbHRlcn0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5taW5GaWx0ZXIgaXMgbm93IC50ZXh0dXJlLm1pbkZpbHRlci4iKSx0aGlzLnRleHR1cmUubWluRmlsdGVyPXR9fSxhbmlzb3Ryb3B5OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLmFuaXNvdHJvcHkgaXMgbm93IC50ZXh0dXJlLmFuaXNvdHJvcHkuIiksdGhpcy50ZXh0dXJlLmFuaXNvdHJvcHl9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuYW5pc290cm9weSBpcyBub3cgLnRleHR1cmUuYW5pc290cm9weS4iKSx0aGlzLnRleHR1cmUuYW5pc290cm9weT10fX0sb2Zmc2V0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLm9mZnNldCBpcyBub3cgLnRleHR1cmUub2Zmc2V0LiIpLHRoaXMudGV4dHVyZS5vZmZzZXR9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAub2Zmc2V0IGlzIG5vdyAudGV4dHVyZS5vZmZzZXQuIiksdGhpcy50ZXh0dXJlLm9mZnNldD10fX0scmVwZWF0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLnJlcGVhdCBpcyBub3cgLnRleHR1cmUucmVwZWF0LiIpLHRoaXMudGV4dHVyZS5yZXBlYXR9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAucmVwZWF0IGlzIG5vdyAudGV4dHVyZS5yZXBlYXQuIiksdGhpcy50ZXh0dXJlLnJlcGVhdD10fX0sZm9ybWF0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLmZvcm1hdCBpcyBub3cgLnRleHR1cmUuZm9ybWF0LiIpLHRoaXMudGV4dHVyZS5mb3JtYXR9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuZm9ybWF0IGlzIG5vdyAudGV4dHVyZS5mb3JtYXQuIiksdGhpcy50ZXh0dXJlLmZvcm1hdD10fX0sdHlwZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC50eXBlIGlzIG5vdyAudGV4dHVyZS50eXBlLiIpLHRoaXMudGV4dHVyZS50eXBlfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLnR5cGUgaXMgbm93IC50ZXh0dXJlLnR5cGUuIiksdGhpcy50ZXh0dXJlLnR5cGU9dH19LGdlbmVyYXRlTWlwbWFwczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5nZW5lcmF0ZU1pcG1hcHMgaXMgbm93IC50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcy4iKSx0aGlzLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLmdlbmVyYXRlTWlwbWFwcyBpcyBub3cgLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzLiIpLHRoaXMudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHM9dH19fSksaGllLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IC5sb2FkIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSBUSFJFRS5BdWRpb0xvYWRlciBpbnN0ZWFkLiIpO2NvbnN0IGU9dGhpcztyZXR1cm4obmV3IHRpZSkubG9hZCh0LChmdW5jdGlvbih0KXtlLnNldEJ1ZmZlcih0KX0pKSx0aGlzfSxnaWUucHJvdG90eXBlLmdldERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5BdWRpb0FuYWx5c2VyOiAuZ2V0RGF0YSgpIGlzIG5vdyAuZ2V0RnJlcXVlbmN5RGF0YSgpLiIpLHRoaXMuZ2V0RnJlcXVlbmN5RGF0YSgpfSxhNnQucHJvdG90eXBlLnVwZGF0ZUN1YmVNYXA9ZnVuY3Rpb24odCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5DdWJlQ2FtZXJhOiAudXBkYXRlQ3ViZU1hcCgpIGlzIG5vdyAudXBkYXRlKCkuIiksdGhpcy51cGRhdGUodCxlKX0sYTZ0LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5DdWJlQ2FtZXJhOiAuY2xlYXIoKSBpcyBub3cgLnJlbmRlclRhcmdldC5jbGVhcigpLiIpLHRoaXMucmVuZGVyVGFyZ2V0LmNsZWFyKHQsZSxuLGkpfSxMNXQuY3Jvc3NPcmlnaW49dm9pZCAwLEw1dC5sb2FkVGV4dHVyZT1mdW5jdGlvbih0LGUsbixpKXtjb25zb2xlLndhcm4oIlRIUkVFLkltYWdlVXRpbHMubG9hZFRleHR1cmUgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIFRIUkVFLlRleHR1cmVMb2FkZXIoKSBpbnN0ZWFkLiIpO2NvbnN0IHI9bmV3IF9uZTtyLnNldENyb3NzT3JpZ2luKHRoaXMuY3Jvc3NPcmlnaW4pO2NvbnN0IG89ci5sb2FkKHQsbix2b2lkIDAsaSk7cmV0dXJuIGUmJihvLm1hcHBpbmc9ZSksb30sTDV0LmxvYWRUZXh0dXJlQ3ViZT1mdW5jdGlvbih0LGUsbixpKXtjb25zb2xlLndhcm4oIlRIUkVFLkltYWdlVXRpbHMubG9hZFRleHR1cmVDdWJlIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSBUSFJFRS5DdWJlVGV4dHVyZUxvYWRlcigpIGluc3RlYWQuIik7Y29uc3Qgcj1uZXcgbW5lO3Iuc2V0Q3Jvc3NPcmlnaW4odGhpcy5jcm9zc09yaWdpbik7Y29uc3Qgbz1yLmxvYWQodCxuLHZvaWQgMCxpKTtyZXR1cm4gZSYmKG8ubWFwcGluZz1lKSxvfSxMNXQubG9hZENvbXByZXNzZWRUZXh0dXJlPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuSW1hZ2VVdGlscy5sb2FkQ29tcHJlc3NlZFRleHR1cmUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIFRIUkVFLkREU0xvYWRlciBpbnN0ZWFkLiIpfSxMNXQubG9hZENvbXByZXNzZWRUZXh0dXJlQ3ViZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkltYWdlVXRpbHMubG9hZENvbXByZXNzZWRUZXh0dXJlQ3ViZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuRERTTG9hZGVyIGluc3RlYWQuIil9O2NvbnN0IGZyZT17Y3JlYXRlTXVsdGlNYXRlcmlhbE9iamVjdDpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlNjZW5lVXRpbHMgaGFzIGJlZW4gbW92ZWQgdG8gL2V4YW1wbGVzL2pzbS91dGlscy9TY2VuZVV0aWxzLmpzIil9LGRldGFjaDpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlNjZW5lVXRpbHMgaGFzIGJlZW4gbW92ZWQgdG8gL2V4YW1wbGVzL2pzbS91dGlscy9TY2VuZVV0aWxzLmpzIil9LGF0dGFjaDpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlNjZW5lVXRpbHMgaGFzIGJlZW4gbW92ZWQgdG8gL2V4YW1wbGVzL2pzbS91dGlscy9TY2VuZVV0aWxzLmpzIil9fTsidW5kZWZpbmVkIiE9dHlwZW9mIF9fVEhSRUVfREVWVE9PTFNfXyYmX19USFJFRV9ERVZUT09MU19fLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZWdpc3RlciIse2RldGFpbDp7cmV2aXNpb246SzB0fX0pKSwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5fX1RIUkVFX18/Y29uc29sZS53YXJuKCJXQVJOSU5HOiBNdWx0aXBsZSBpbnN0YW5jZXMgb2YgVGhyZWUuanMgYmVpbmcgaW1wb3J0ZWQuIik6d2luZG93Ll9fVEhSRUVfXz1LMHQpO3ZhciBtcmU9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsQUNFU0ZpbG1pY1RvbmVNYXBwaW5nOjQsQWRkRXF1YXRpb246UTB0LEFkZE9wZXJhdGlvbjoyLEFkZGl0aXZlQW5pbWF0aW9uQmxlbmRNb2RlOmoydCxBZGRpdGl2ZUJsZW5kaW5nOjIsQWxwaGFGb3JtYXQ6MTAyMSxBbHdheXNEZXB0aDoxLEFsd2F5c1N0ZW5jaWxGdW5jOjUxOSxBbWJpZW50TGlnaHQ6em5lLEFtYmllbnRMaWdodFByb2JlOm5pZSxBbmltYXRpb25DbGlwOmFuZSxBbmltYXRpb25Mb2FkZXI6Y2xhc3MgZXh0ZW5kcyBobmV7Y29uc3RydWN0b3IodCl7c3VwZXIodCl9bG9hZCh0LGUsbixpKXtjb25zdCByPXRoaXMsbz1uZXcgcG5lKHRoaXMubWFuYWdlcik7by5zZXRQYXRoKHRoaXMucGF0aCksby5zZXRSZXF1ZXN0SGVhZGVyKHRoaXMucmVxdWVzdEhlYWRlciksby5zZXRXaXRoQ3JlZGVudGlhbHModGhpcy53aXRoQ3JlZGVudGlhbHMpLG8ubG9hZCh0LChmdW5jdGlvbihuKXt0cnl7ZShyLnBhcnNlKEpTT04ucGFyc2UobikpKX1jYXRjaChlKXtpP2koZSk6Y29uc29sZS5lcnJvcihlKSxyLm1hbmFnZXIuaXRlbUVycm9yKHQpfX0pLG4saSl9cGFyc2UodCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7Y29uc3QgaT1hbmUucGFyc2UodFtuXSk7ZS5wdXNoKGkpfXJldHVybiBlfX0sQW5pbWF0aW9uTWl4ZXI6UGllLEFuaW1hdGlvbk9iamVjdEdyb3VwOmtpZSxBbmltYXRpb25VdGlsczpZZWUsQXJjQ3VydmU6QXRlLEFycmF5Q2FtZXJhOlE4dCxBcnJvd0hlbHBlcjpjbGFzcyBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcih0PW5ldyBINXQoMCwwLDEpLGU9bmV3IEg1dCgwLDAsMCksbj0xLGk9MTY3NzY5NjAscj0uMipuLG89LjIqcil7c3VwZXIoKSx0aGlzLnR5cGU9IkFycm93SGVscGVyIix2b2lkIDA9PT1jcmUmJihjcmU9bmV3IE40dCxjcmUuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChbMCwwLDAsMCwxLDBdLDMpKSx1cmU9bmV3IF90ZSgwLC41LDEsNSwxKSx1cmUudHJhbnNsYXRlKDAsLS41LDApKSx0aGlzLnBvc2l0aW9uLmNvcHkoZSksdGhpcy5saW5lPW5ldyB0dGUoY3JlLG5ldyBYN3Qoe2NvbG9yOmksdG9uZU1hcHBlZDohMX0pKSx0aGlzLmxpbmUubWF0cml4QXV0b1VwZGF0ZT0hMSx0aGlzLmFkZCh0aGlzLmxpbmUpLHRoaXMuY29uZT1uZXcgSzR0KHVyZSxuZXcgbDR0KHtjb2xvcjppLHRvbmVNYXBwZWQ6ITF9KSksdGhpcy5jb25lLm1hdHJpeEF1dG9VcGRhdGU9ITEsdGhpcy5hZGQodGhpcy5jb25lKSx0aGlzLnNldERpcmVjdGlvbih0KSx0aGlzLnNldExlbmd0aChuLHIsbyl9c2V0RGlyZWN0aW9uKHQpe2lmKHQueT4uOTk5OTkpdGhpcy5xdWF0ZXJuaW9uLnNldCgwLDAsMCwxKTtlbHNlIGlmKHQueTwtLjk5OTk5KXRoaXMucXVhdGVybmlvbi5zZXQoMSwwLDAsMCk7ZWxzZXtscmUuc2V0KHQueiwwLC10LngpLm5vcm1hbGl6ZSgpO2NvbnN0IGU9TWF0aC5hY29zKHQueSk7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21BeGlzQW5nbGUobHJlLGUpfX1zZXRMZW5ndGgodCxlPS4yKnQsbj0uMiplKXt0aGlzLmxpbmUuc2NhbGUuc2V0KDEsTWF0aC5tYXgoMWUtNCx0LWUpLDEpLHRoaXMubGluZS51cGRhdGVNYXRyaXgoKSx0aGlzLmNvbmUuc2NhbGUuc2V0KG4sZSxuKSx0aGlzLmNvbmUucG9zaXRpb24ueT10LHRoaXMuY29uZS51cGRhdGVNYXRyaXgoKX1zZXRDb2xvcih0KXt0aGlzLmxpbmUubWF0ZXJpYWwuY29sb3Iuc2V0KHQpLHRoaXMuY29uZS5tYXRlcmlhbC5jb2xvci5zZXQodCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0LCExKSx0aGlzLmxpbmUuY29weSh0LmxpbmUpLHRoaXMuY29uZS5jb3B5KHQuY29uZSksdGhpc319LEF1ZGlvOmhpZSxBdWRpb0FuYWx5c2VyOmdpZSxBdWRpb0NvbnRleHQ6UW5lLEF1ZGlvTGlzdGVuZXI6Y2xhc3MgZXh0ZW5kcyBWM3R7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iQXVkaW9MaXN0ZW5lciIsdGhpcy5jb250ZXh0PVFuZS5nZXRDb250ZXh0KCksdGhpcy5nYWluPXRoaXMuY29udGV4dC5jcmVhdGVHYWluKCksdGhpcy5nYWluLmNvbm5lY3QodGhpcy5jb250ZXh0LmRlc3RpbmF0aW9uKSx0aGlzLmZpbHRlcj1udWxsLHRoaXMudGltZURlbHRhPTAsdGhpcy5fY2xvY2s9bmV3IG9pZX1nZXRJbnB1dCgpe3JldHVybiB0aGlzLmdhaW59cmVtb3ZlRmlsdGVyKCl7cmV0dXJuIG51bGwhPT10aGlzLmZpbHRlciYmKHRoaXMuZ2Fpbi5kaXNjb25uZWN0KHRoaXMuZmlsdGVyKSx0aGlzLmZpbHRlci5kaXNjb25uZWN0KHRoaXMuY29udGV4dC5kZXN0aW5hdGlvbiksdGhpcy5nYWluLmNvbm5lY3QodGhpcy5jb250ZXh0LmRlc3RpbmF0aW9uKSx0aGlzLmZpbHRlcj1udWxsKSx0aGlzfWdldEZpbHRlcigpe3JldHVybiB0aGlzLmZpbHRlcn1zZXRGaWx0ZXIodCl7cmV0dXJuIG51bGwhPT10aGlzLmZpbHRlcj8odGhpcy5nYWluLmRpc2Nvbm5lY3QodGhpcy5maWx0ZXIpLHRoaXMuZmlsdGVyLmRpc2Nvbm5lY3QodGhpcy5jb250ZXh0LmRlc3RpbmF0aW9uKSk6dGhpcy5nYWluLmRpc2Nvbm5lY3QodGhpcy5jb250ZXh0LmRlc3RpbmF0aW9uKSx0aGlzLmZpbHRlcj10LHRoaXMuZ2Fpbi5jb25uZWN0KHRoaXMuZmlsdGVyKSx0aGlzLmZpbHRlci5jb25uZWN0KHRoaXMuY29udGV4dC5kZXN0aW5hdGlvbiksdGhpc31nZXRNYXN0ZXJWb2x1bWUoKXtyZXR1cm4gdGhpcy5nYWluLmdhaW4udmFsdWV9c2V0TWFzdGVyVm9sdW1lKHQpe3JldHVybiB0aGlzLmdhaW4uZ2Fpbi5zZXRUYXJnZXRBdFRpbWUodCx0aGlzLmNvbnRleHQuY3VycmVudFRpbWUsLjAxKSx0aGlzfXVwZGF0ZU1hdHJpeFdvcmxkKHQpe3N1cGVyLnVwZGF0ZU1hdHJpeFdvcmxkKHQpO2NvbnN0IGU9dGhpcy5jb250ZXh0Lmxpc3RlbmVyLG49dGhpcy51cDtpZih0aGlzLnRpbWVEZWx0YT10aGlzLl9jbG9jay5nZXREZWx0YSgpLHRoaXMubWF0cml4V29ybGQuZGVjb21wb3NlKHNpZSxsaWUsY2llKSx1aWUuc2V0KDAsMCwtMSkuYXBwbHlRdWF0ZXJuaW9uKGxpZSksZS5wb3NpdGlvblgpe2NvbnN0IHQ9dGhpcy5jb250ZXh0LmN1cnJlbnRUaW1lK3RoaXMudGltZURlbHRhO2UucG9zaXRpb25YLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKHNpZS54LHQpLGUucG9zaXRpb25ZLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKHNpZS55LHQpLGUucG9zaXRpb25aLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKHNpZS56LHQpLGUuZm9yd2FyZFgubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUodWllLngsdCksZS5mb3J3YXJkWS5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZSh1aWUueSx0KSxlLmZvcndhcmRaLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKHVpZS56LHQpLGUudXBYLmxpbmVhclJhbXBUb1ZhbHVlQXRUaW1lKG4ueCx0KSxlLnVwWS5saW5lYXJSYW1wVG9WYWx1ZUF0VGltZShuLnksdCksZS51cFoubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobi56LHQpfWVsc2UgZS5zZXRQb3NpdGlvbihzaWUueCxzaWUueSxzaWUueiksZS5zZXRPcmllbnRhdGlvbih1aWUueCx1aWUueSx1aWUueixuLngsbi55LG4ueil9fSxBdWRpb0xvYWRlcjp0aWUsQXhlc0hlbHBlcjpocmUsQXhpc0hlbHBlcjpmdW5jdGlvbiBncmUodCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQXhpc0hlbHBlciBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLkF4ZXNIZWxwZXIuIiksbmV3IGhyZSh0KX0sQmFja1NpZGU6MSxCYXNpY0RlcHRoUGFja2luZzozMjAwLEJhc2ljU2hhZG93TWFwOjAsQmluYXJ5VGV4dHVyZUxvYWRlcjpmdW5jdGlvbiBfcmUodCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQmluYXJ5VGV4dHVyZUxvYWRlciBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLkRhdGFUZXh0dXJlTG9hZGVyLiIpLG5ldyBnbmUodCl9LEJvbmU6Qjd0LEJvb2xlYW5LZXlmcmFtZVRyYWNrOlFlZSxCb3VuZGluZ0JveEhlbHBlcjpmdW5jdGlvbiB5cmUodCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5Cb3VuZGluZ0JveEhlbHBlciBoYXMgYmVlbiBkZXByZWNhdGVkLiBDcmVhdGluZyBhIFRIUkVFLkJveEhlbHBlciBpbnN0ZWFkLiIpLG5ldyBzcmUodCxlKX0sQm94MjpIaWUsQm94MzpVNXQsQm94M0hlbHBlcjpjbGFzcyBleHRlbmRzIGl0ZXtjb25zdHJ1Y3Rvcih0LGU9MTY3NzY5NjApe2NvbnN0IG49bmV3IFVpbnQxNkFycmF5KFswLDEsMSwyLDIsMywzLDAsNCw1LDUsNiw2LDcsNyw0LDAsNCwxLDUsMiw2LDMsN10pLGk9bmV3IE40dDtpLnNldEluZGV4KG5ldyBoNHQobiwxKSksaS5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KFsxLDEsMSwtMSwxLDEsLTEsLTEsMSwxLC0xLDEsMSwxLC0xLC0xLDEsLTEsLTEsLTEsLTEsMSwtMSwtMV0sMykpLHN1cGVyKGksbmV3IFg3dCh7Y29sb3I6ZSx0b25lTWFwcGVkOiExfSkpLHRoaXMuYm94PXQsdGhpcy50eXBlPSJCb3gzSGVscGVyIix0aGlzLmdlb21ldHJ5LmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpfXVwZGF0ZU1hdHJpeFdvcmxkKHQpe2NvbnN0IGU9dGhpcy5ib3g7ZS5pc0VtcHR5KCl8fChlLmdldENlbnRlcih0aGlzLnBvc2l0aW9uKSxlLmdldFNpemUodGhpcy5zY2FsZSksdGhpcy5zY2FsZS5tdWx0aXBseVNjYWxhciguNSksc3VwZXIudXBkYXRlTWF0cml4V29ybGQodCkpfX0sQm94QnVmZmVyR2VvbWV0cnk6SjR0LEJveEdlb21ldHJ5Oko0dCxCb3hIZWxwZXI6c3JlLEJ1ZmZlckF0dHJpYnV0ZTpoNHQsQnVmZmVyR2VvbWV0cnk6TjR0LEJ1ZmZlckdlb21ldHJ5TG9hZGVyOkduZSxCeXRlVHlwZToxMDEwLENhY2hlOmxuZSxDYW1lcmE6aTZ0LENhbWVyYUhlbHBlcjpjbGFzcyBleHRlbmRzIGl0ZXtjb25zdHJ1Y3Rvcih0KXtjb25zdCBlPW5ldyBONHQsbj1uZXcgWDd0KHtjb2xvcjoxNjc3NzIxNSx2ZXJ0ZXhDb2xvcnM6ITAsdG9uZU1hcHBlZDohMX0pLGk9W10scj1bXSxvPXt9LGE9bmV3IHM0dCgxNjc1NTIwMCkscz1uZXcgczR0KDE2NzExNjgwKSxsPW5ldyBzNHQoNDM3NzUpLGM9bmV3IHM0dCgxNjc3NzIxNSksdT1uZXcgczR0KDMzNTU0NDMpO2Z1bmN0aW9uIGgodCxlLG4pe2QodCxuKSxkKGUsbil9ZnVuY3Rpb24gZCh0LGUpe2kucHVzaCgwLDAsMCksci5wdXNoKGUucixlLmcsZS5iKSx2b2lkIDA9PT1vW3RdJiYob1t0XT1bXSksb1t0XS5wdXNoKGkubGVuZ3RoLzMtMSl9aCgibjEiLCJuMiIsYSksaCgibjIiLCJuNCIsYSksaCgibjQiLCJuMyIsYSksaCgibjMiLCJuMSIsYSksaCgiZjEiLCJmMiIsYSksaCgiZjIiLCJmNCIsYSksaCgiZjQiLCJmMyIsYSksaCgiZjMiLCJmMSIsYSksaCgibjEiLCJmMSIsYSksaCgibjIiLCJmMiIsYSksaCgibjMiLCJmMyIsYSksaCgibjQiLCJmNCIsYSksaCgicCIsIm4xIixzKSxoKCJwIiwibjIiLHMpLGgoInAiLCJuMyIscyksaCgicCIsIm40IixzKSxoKCJ1MSIsInUyIixsKSxoKCJ1MiIsInUzIixsKSxoKCJ1MyIsInUxIixsKSxoKCJjIiwidCIsYyksaCgicCIsImMiLHUpLGgoImNuMSIsImNuMiIsdSksaCgiY24zIiwiY240Iix1KSxoKCJjZjEiLCJjZjIiLHUpLGgoImNmMyIsImNmNCIsdSksZS5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KGksMykpLGUuc2V0QXR0cmlidXRlKCJjb2xvciIsbmV3IGI0dChyLDMpKSxzdXBlcihlLG4pLHRoaXMudHlwZT0iQ2FtZXJhSGVscGVyIix0aGlzLmNhbWVyYT10LHRoaXMuY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgmJnRoaXMuY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKSx0aGlzLm1hdHJpeD10Lm1hdHJpeFdvcmxkLHRoaXMubWF0cml4QXV0b1VwZGF0ZT0hMSx0aGlzLnBvaW50TWFwPW8sdGhpcy51cGRhdGUoKX11cGRhdGUoKXtjb25zdCB0PXRoaXMuZ2VvbWV0cnksZT10aGlzLnBvaW50TWFwO3JyZS5wcm9qZWN0aW9uTWF0cml4SW52ZXJzZS5jb3B5KHRoaXMuY2FtZXJhLnByb2plY3Rpb25NYXRyaXhJbnZlcnNlKSxvcmUoImMiLGUsdCxycmUsMCwwLC0xKSxvcmUoInQiLGUsdCxycmUsMCwwLDEpLG9yZSgibjEiLGUsdCxycmUsLTEsLTEsLTEpLG9yZSgibjIiLGUsdCxycmUsMSwtMSwtMSksb3JlKCJuMyIsZSx0LHJyZSwtMSwxLC0xKSxvcmUoIm40IixlLHQscnJlLDEsMSwtMSksb3JlKCJmMSIsZSx0LHJyZSwtMSwtMSwxKSxvcmUoImYyIixlLHQscnJlLDEsLTEsMSksb3JlKCJmMyIsZSx0LHJyZSwtMSwxLDEpLG9yZSgiZjQiLGUsdCxycmUsMSwxLDEpLG9yZSgidTEiLGUsdCxycmUsLjcsMS4xLC0xKSxvcmUoInUyIixlLHQscnJlLC0uNywxLjEsLTEpLG9yZSgidTMiLGUsdCxycmUsMCwyLC0xKSxvcmUoImNmMSIsZSx0LHJyZSwtMSwwLDEpLG9yZSgiY2YyIixlLHQscnJlLDEsMCwxKSxvcmUoImNmMyIsZSx0LHJyZSwwLC0xLDEpLG9yZSgiY2Y0IixlLHQscnJlLDAsMSwxKSxvcmUoImNuMSIsZSx0LHJyZSwtMSwwLC0xKSxvcmUoImNuMiIsZSx0LHJyZSwxLDAsLTEpLG9yZSgiY24zIixlLHQscnJlLDAsLTEsLTEpLG9yZSgiY240IixlLHQscnJlLDAsMSwtMSksdC5nZXRBdHRyaWJ1dGUoInBvc2l0aW9uIikubmVlZHNVcGRhdGU9ITB9ZGlzcG9zZSgpe3RoaXMuZ2VvbWV0cnkuZGlzcG9zZSgpLHRoaXMubWF0ZXJpYWwuZGlzcG9zZSgpfX0sQ2FudmFzUmVuZGVyZXI6ZnVuY3Rpb24gdnJlKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuQ2FudmFzUmVuZGVyZXIgaGFzIGJlZW4gcmVtb3ZlZCIpfSxDYW52YXNUZXh0dXJlOmZ0ZSxDYXRtdWxsUm9tQ3VydmUzOlJ0ZSxDaW5lb25Ub25lTWFwcGluZzozLENpcmNsZUJ1ZmZlckdlb21ldHJ5Omd0ZSxDaXJjbGVHZW9tZXRyeTpndGUsQ2xhbXBUb0VkZ2VXcmFwcGluZzpsMnQsQ2xvY2s6b2llLENvbG9yOnM0dCxDb2xvcktleWZyYW1lVHJhY2s6dG5lLENvbXByZXNzZWRUZXh0dXJlOnB0ZSxDb21wcmVzc2VkVGV4dHVyZUxvYWRlcjpjbGFzcyBleHRlbmRzIGhuZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1sb2FkKHQsZSxuLGkpe2NvbnN0IHI9dGhpcyxvPVtdLGE9bmV3IHB0ZSxzPW5ldyBwbmUodGhpcy5tYW5hZ2VyKTtzLnNldFBhdGgodGhpcy5wYXRoKSxzLnNldFJlc3BvbnNlVHlwZSgiYXJyYXlidWZmZXIiKSxzLnNldFJlcXVlc3RIZWFkZXIodGhpcy5yZXF1ZXN0SGVhZGVyKSxzLnNldFdpdGhDcmVkZW50aWFscyhyLndpdGhDcmVkZW50aWFscyk7bGV0IGw9MDtmdW5jdGlvbiBjKGMpe3MubG9hZCh0W2NdLChmdW5jdGlvbih0KXtjb25zdCBuPXIucGFyc2UodCwhMCk7b1tjXT17d2lkdGg6bi53aWR0aCxoZWlnaHQ6bi5oZWlnaHQsZm9ybWF0Om4uZm9ybWF0LG1pcG1hcHM6bi5taXBtYXBzfSxsKz0xLDY9PT1sJiYoMT09PW4ubWlwbWFwQ291bnQmJihhLm1pbkZpbHRlcj1wMnQpLGEuaW1hZ2U9byxhLmZvcm1hdD1uLmZvcm1hdCxhLm5lZWRzVXBkYXRlPSEwLGUmJmUoYSkpfSksbixpKX1pZihBcnJheS5pc0FycmF5KHQpKWZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuOysrZSljKGUpO2Vsc2Ugcy5sb2FkKHQsKGZ1bmN0aW9uKHQpe2NvbnN0IG49ci5wYXJzZSh0LCEwKTtpZihuLmlzQ3ViZW1hcCl7Y29uc3QgdD1uLm1pcG1hcHMubGVuZ3RoL24ubWlwbWFwQ291bnQ7Zm9yKGxldCBlPTA7ZTx0O2UrKyl7b1tlXT17bWlwbWFwczpbXX07Zm9yKGxldCB0PTA7dDxuLm1pcG1hcENvdW50O3QrKylvW2VdLm1pcG1hcHMucHVzaChuLm1pcG1hcHNbZSpuLm1pcG1hcENvdW50K3RdKSxvW2VdLmZvcm1hdD1uLmZvcm1hdCxvW2VdLndpZHRoPW4ud2lkdGgsb1tlXS5oZWlnaHQ9bi5oZWlnaHR9YS5pbWFnZT1vfWVsc2UgYS5pbWFnZS53aWR0aD1uLndpZHRoLGEuaW1hZ2UuaGVpZ2h0PW4uaGVpZ2h0LGEubWlwbWFwcz1uLm1pcG1hcHM7MT09PW4ubWlwbWFwQ291bnQmJihhLm1pbkZpbHRlcj1wMnQpLGEuZm9ybWF0PW4uZm9ybWF0LGEubmVlZHNVcGRhdGU9ITAsZSYmZShhKX0pLG4saSk7cmV0dXJuIGF9fSxDb25lQnVmZmVyR2VvbWV0cnk6eXRlLENvbmVHZW9tZXRyeTp5dGUsQ3ViZUNhbWVyYTphNnQsQ3ViZVJlZmxlY3Rpb25NYXBwaW5nOmUydCxDdWJlUmVmcmFjdGlvbk1hcHBpbmc6bjJ0LEN1YmVUZXh0dXJlOnM2dCxDdWJlVGV4dHVyZUxvYWRlcjptbmUsQ3ViZVVWUmVmbGVjdGlvbk1hcHBpbmc6bzJ0LEN1YmVVVlJlZnJhY3Rpb25NYXBwaW5nOmEydCxDdWJpY0JlemllckN1cnZlOkJ0ZSxDdWJpY0JlemllckN1cnZlMzpIdGUsQ3ViaWNJbnRlcnBvbGFudDokZWUsQ3VsbEZhY2VCYWNrOjEsQ3VsbEZhY2VGcm9udDoyLEN1bGxGYWNlRnJvbnRCYWNrOjMsQ3VsbEZhY2VOb25lOjAsQ3VydmU6VHRlLEN1cnZlUGF0aDp5bmUsQ3VzdG9tQmxlbmRpbmc6NSxDdXN0b21Ub25lTWFwcGluZzo1LEN5bGluZGVyQnVmZmVyR2VvbWV0cnk6X3RlLEN5bGluZGVyR2VvbWV0cnk6X3RlLEN5bGluZHJpY2FsOmNsYXNze2NvbnN0cnVjdG9yKHQ9MSxlPTAsbj0wKXtyZXR1cm4gdGhpcy5yYWRpdXM9dCx0aGlzLnRoZXRhPWUsdGhpcy55PW4sdGhpc31zZXQodCxlLG4pe3JldHVybiB0aGlzLnJhZGl1cz10LHRoaXMudGhldGE9ZSx0aGlzLnk9bix0aGlzfWNvcHkodCl7cmV0dXJuIHRoaXMucmFkaXVzPXQucmFkaXVzLHRoaXMudGhldGE9dC50aGV0YSx0aGlzLnk9dC55LHRoaXN9c2V0RnJvbVZlY3RvcjModCl7cmV0dXJuIHRoaXMuc2V0RnJvbUNhcnRlc2lhbkNvb3Jkcyh0LngsdC55LHQueil9c2V0RnJvbUNhcnRlc2lhbkNvb3Jkcyh0LGUsbil7cmV0dXJuIHRoaXMucmFkaXVzPU1hdGguc3FydCh0KnQrbipuKSx0aGlzLnRoZXRhPU1hdGguYXRhbjIodCxuKSx0aGlzLnk9ZSx0aGlzfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX0sRGF0YVRleHR1cmU6SDd0LERhdGFUZXh0dXJlMkRBcnJheTpoOXQsRGF0YVRleHR1cmUzRDpkOXQsRGF0YVRleHR1cmVMb2FkZXI6Z25lLERhdGFVdGlsczpjbGFzc3tzdGF0aWMgdG9IYWxmRmxvYXQodCl7ZHJlWzBdPXQ7Y29uc3QgZT1wcmVbMF07bGV0IG49ZT4+MTYmMzI3NjgsaT1lPj4xMiYyMDQ3O2NvbnN0IHI9ZT4+MjMmMjU1O3JldHVybiByPDEwMz9uOnI+MTQyPyhufD0zMTc0NCxufD0oMjU1PT1yPzA6MSkmJjgzODg2MDcmZSxuKTpyPDExMz8oaXw9MjA0OCxufD0oaT4+MTE0LXIpKyhpPj4xMTMtciYxKSxuKToobnw9ci0xMTI8PDEwfGk+PjEsbis9MSZpLG4pfX0sRGVjcmVtZW50U3RlbmNpbE9wOjc2ODMsRGVjcmVtZW50V3JhcFN0ZW5jaWxPcDozNDA1NixEZWZhdWx0TG9hZGluZ01hbmFnZXI6dW5lLERlcHRoRm9ybWF0Ok0ydCxEZXB0aFN0ZW5jaWxGb3JtYXQ6RTJ0LERlcHRoVGV4dHVyZTptdGUsRGlyZWN0aW9uYWxMaWdodDpPbmUsRGlyZWN0aW9uYWxMaWdodEhlbHBlcjpjbGFzcyBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIoKSx0aGlzLmxpZ2h0PXQsdGhpcy5saWdodC51cGRhdGVNYXRyaXhXb3JsZCgpLHRoaXMubWF0cml4PXQubWF0cml4V29ybGQsdGhpcy5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuY29sb3I9bix2b2lkIDA9PT1lJiYoZT0xKTtsZXQgaT1uZXcgTjR0O2kuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChbLWUsZSwwLGUsZSwwLGUsLWUsMCwtZSwtZSwwLC1lLGUsMF0sMykpO2NvbnN0IHI9bmV3IFg3dCh7Zm9nOiExLHRvbmVNYXBwZWQ6ITF9KTt0aGlzLmxpZ2h0UGxhbmU9bmV3IHR0ZShpLHIpLHRoaXMuYWRkKHRoaXMubGlnaHRQbGFuZSksaT1uZXcgTjR0LGkuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChbMCwwLDAsMCwwLDFdLDMpKSx0aGlzLnRhcmdldExpbmU9bmV3IHR0ZShpLHIpLHRoaXMuYWRkKHRoaXMudGFyZ2V0TGluZSksdGhpcy51cGRhdGUoKX1kaXNwb3NlKCl7dGhpcy5saWdodFBsYW5lLmdlb21ldHJ5LmRpc3Bvc2UoKSx0aGlzLmxpZ2h0UGxhbmUubWF0ZXJpYWwuZGlzcG9zZSgpLHRoaXMudGFyZ2V0TGluZS5nZW9tZXRyeS5kaXNwb3NlKCksdGhpcy50YXJnZXRMaW5lLm1hdGVyaWFsLmRpc3Bvc2UoKX11cGRhdGUoKXt0cmUuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHRoaXMubGlnaHQubWF0cml4V29ybGQpLGVyZS5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5saWdodC50YXJnZXQubWF0cml4V29ybGQpLG5yZS5zdWJWZWN0b3JzKGVyZSx0cmUpLHRoaXMubGlnaHRQbGFuZS5sb29rQXQoZXJlKSx2b2lkIDAhPT10aGlzLmNvbG9yPyh0aGlzLmxpZ2h0UGxhbmUubWF0ZXJpYWwuY29sb3Iuc2V0KHRoaXMuY29sb3IpLHRoaXMudGFyZ2V0TGluZS5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvcikpOih0aGlzLmxpZ2h0UGxhbmUubWF0ZXJpYWwuY29sb3IuY29weSh0aGlzLmxpZ2h0LmNvbG9yKSx0aGlzLnRhcmdldExpbmUubWF0ZXJpYWwuY29sb3IuY29weSh0aGlzLmxpZ2h0LmNvbG9yKSksdGhpcy50YXJnZXRMaW5lLmxvb2tBdChlcmUpLHRoaXMudGFyZ2V0TGluZS5zY2FsZS56PW5yZS5sZW5ndGgoKX19LERpc2NyZXRlSW50ZXJwb2xhbnQ6WmVlLERvZGVjYWhlZHJvbkJ1ZmZlckdlb21ldHJ5OmJ0ZSxEb2RlY2FoZWRyb25HZW9tZXRyeTpidGUsRG91YmxlU2lkZToyLERzdEFscGhhRmFjdG9yOjIwNixEc3RDb2xvckZhY3RvcjoyMDgsRHluYW1pY0J1ZmZlckF0dHJpYnV0ZTpmdW5jdGlvbiBicmUodCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5EeW5hbWljQnVmZmVyQXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuQnVmZmVyQXR0cmlidXRlKCkuc2V0VXNhZ2UoIFRIUkVFLkR5bmFtaWNEcmF3VXNhZ2UgKSBpbnN0ZWFkLiIpLG5ldyBoNHQodCxlKS5zZXRVc2FnZShRMnQpfSxEeW5hbWljQ29weVVzYWdlOjM1MDUwLER5bmFtaWNEcmF3VXNhZ2U6UTJ0LER5bmFtaWNSZWFkVXNhZ2U6MzUwNDksRWRnZXNHZW9tZXRyeTpFdGUsRWRnZXNIZWxwZXI6ZnVuY3Rpb24geHJlKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuRWRnZXNIZWxwZXIgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIFRIUkVFLkVkZ2VzR2VvbWV0cnkgaW5zdGVhZC4iKSxuZXcgaXRlKG5ldyBFdGUodC5nZW9tZXRyeSksbmV3IFg3dCh7Y29sb3I6dm9pZCAwIT09ZT9lOjE2Nzc3MjE1fSkpfSxFbGxpcHNlQ3VydmU6Q3RlLEVxdWFsRGVwdGg6NCxFcXVhbFN0ZW5jaWxGdW5jOjUxNCxFcXVpcmVjdGFuZ3VsYXJSZWZsZWN0aW9uTWFwcGluZzppMnQsRXF1aXJlY3Rhbmd1bGFyUmVmcmFjdGlvbk1hcHBpbmc6cjJ0LEV1bGVyOlQzdCxFdmVudERpc3BhdGNoZXI6ZTV0LEV4dHJ1ZGVCdWZmZXJHZW9tZXRyeTpiZWUsRXh0cnVkZUdlb21ldHJ5OmJlZSxGYWNlQ29sb3JzOjEsRmlsZUxvYWRlcjpwbmUsRmxhdFNoYWRpbmc6MSxGbG9hdDE2QnVmZmVyQXR0cmlidXRlOnY0dCxGbG9hdDMyQXR0cmlidXRlOmZ1bmN0aW9uIHdyZSh0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkZsb2F0MzJBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5GbG9hdDMyQnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKSxuZXcgYjR0KHQsZSl9LEZsb2F0MzJCdWZmZXJBdHRyaWJ1dGU6YjR0LEZsb2F0NjRBdHRyaWJ1dGU6ZnVuY3Rpb24gU3JlKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuRmxvYXQ2NEF0dHJpYnV0ZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbmV3IFRIUkVFLkZsb2F0NjRCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpLG5ldyB4NHQodCxlKX0sRmxvYXQ2NEJ1ZmZlckF0dHJpYnV0ZTp4NHQsRmxvYXRUeXBlOnYydCxGb2c6bDd0LEZvZ0V4cDI6czd0LEZvbnQ6S25lLEZvbnRMb2FkZXI6Y2xhc3MgZXh0ZW5kcyBobmV7Y29uc3RydWN0b3IodCl7c3VwZXIodCl9bG9hZCh0LGUsbixpKXtjb25zdCByPXRoaXMsbz1uZXcgcG5lKHRoaXMubWFuYWdlcik7by5zZXRQYXRoKHRoaXMucGF0aCksby5zZXRSZXF1ZXN0SGVhZGVyKHRoaXMucmVxdWVzdEhlYWRlciksby5zZXRXaXRoQ3JlZGVudGlhbHMoci53aXRoQ3JlZGVudGlhbHMpLG8ubG9hZCh0LChmdW5jdGlvbih0KXtsZXQgbjt0cnl7bj1KU09OLnBhcnNlKHQpfWNhdGNoKGUpe2NvbnNvbGUud2FybigiVEhSRUUuRm9udExvYWRlcjogdHlwZWZhY2UuanMgc3VwcG9ydCBpcyBiZWluZyBkZXByZWNhdGVkLiBVc2UgdHlwZWZhY2UuanNvbiBpbnN0ZWFkLiIpLG49SlNPTi5wYXJzZSh0LnN1YnN0cmluZyg2NSx0Lmxlbmd0aC0yKSl9Y29uc3QgaT1yLnBhcnNlKG4pO2UmJmUoaSl9KSxuLGkpfXBhcnNlKHQpe3JldHVybiBuZXcgS25lKHQpfX0sRnJvbnRTaWRlOjAsRnJ1c3R1bTptNnQsR0xCdWZmZXJBdHRyaWJ1dGU6UmllLEdMU0wxOiIxMDAiLEdMU0wzOnQ1dCxHYW1tYUVuY29kaW5nOnEydCxHcmVhdGVyRGVwdGg6NixHcmVhdGVyRXF1YWxEZXB0aDo1LEdyZWF0ZXJFcXVhbFN0ZW5jaWxGdW5jOjUxOCxHcmVhdGVyU3RlbmNpbEZ1bmM6NTE2LEdyaWRIZWxwZXI6UWllLEdyb3VwOnQ3dCxIYWxmRmxvYXRUeXBlOmIydCxIZW1pc3BoZXJlTGlnaHQ6d25lLEhlbWlzcGhlcmVMaWdodEhlbHBlcjpjbGFzcyBleHRlbmRzIFYzdHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIoKSx0aGlzLmxpZ2h0PXQsdGhpcy5saWdodC51cGRhdGVNYXRyaXhXb3JsZCgpLHRoaXMubWF0cml4PXQubWF0cml4V29ybGQsdGhpcy5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuY29sb3I9bjtjb25zdCBpPW5ldyBNZWUoZSk7aS5yb3RhdGVZKC41Kk1hdGguUEkpLHRoaXMubWF0ZXJpYWw9bmV3IGw0dCh7d2lyZWZyYW1lOiEwLGZvZzohMSx0b25lTWFwcGVkOiExfSksdm9pZCAwPT09dGhpcy5jb2xvciYmKHRoaXMubWF0ZXJpYWwudmVydGV4Q29sb3JzPSEwKTtjb25zdCByPWkuZ2V0QXR0cmlidXRlKCJwb3NpdGlvbiIpLG89bmV3IEZsb2F0MzJBcnJheSgzKnIuY291bnQpO2kuc2V0QXR0cmlidXRlKCJjb2xvciIsbmV3IGg0dChvLDMpKSx0aGlzLmFkZChuZXcgSzR0KGksdGhpcy5tYXRlcmlhbCkpLHRoaXMudXBkYXRlKCl9ZGlzcG9zZSgpe3RoaXMuY2hpbGRyZW5bMF0uZ2VvbWV0cnkuZGlzcG9zZSgpLHRoaXMuY2hpbGRyZW5bMF0ubWF0ZXJpYWwuZGlzcG9zZSgpfXVwZGF0ZSgpe2NvbnN0IHQ9dGhpcy5jaGlsZHJlblswXTtpZih2b2lkIDAhPT10aGlzLmNvbG9yKXRoaXMubWF0ZXJpYWwuY29sb3Iuc2V0KHRoaXMuY29sb3IpO2Vsc2V7Y29uc3QgZT10Lmdlb21ldHJ5LmdldEF0dHJpYnV0ZSgiY29sb3IiKTtaaWUuY29weSh0aGlzLmxpZ2h0LmNvbG9yKSxKaWUuY29weSh0aGlzLmxpZ2h0Lmdyb3VuZENvbG9yKTtmb3IobGV0IHQ9MCxuPWUuY291bnQ7dDxuO3QrKyl7Y29uc3QgaT10PG4vMj9aaWU6SmllO2Uuc2V0WFlaKHQsaS5yLGkuZyxpLmIpfWUubmVlZHNVcGRhdGU9ITB9dC5sb29rQXQoS2llLnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLmxpZ2h0Lm1hdHJpeFdvcmxkKS5uZWdhdGUoKSl9fSxIZW1pc3BoZXJlTGlnaHRQcm9iZTplaWUsSWNvc2FoZWRyb25CdWZmZXJHZW9tZXRyeTp3ZWUsSWNvc2FoZWRyb25HZW9tZXRyeTp3ZWUsSW1hZ2VCaXRtYXBMb2FkZXI6WG5lLEltYWdlTG9hZGVyOmZuZSxJbWFnZVV0aWxzOkw1dCxJbW1lZGlhdGVSZW5kZXJPYmplY3Q6amllLEluY3JlbWVudFN0ZW5jaWxPcDo3NjgyLEluY3JlbWVudFdyYXBTdGVuY2lsT3A6MzQwNTUsSW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlOmpuZSxJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeTpVbmUsSW5zdGFuY2VkSW50ZXJsZWF2ZWRCdWZmZXI6SWllLEluc3RhbmNlZE1lc2g6WTd0LEludDE2QXR0cmlidXRlOmZ1bmN0aW9uIE1yZSh0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkludDE2QXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuSW50MTZCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpLG5ldyBtNHQodCxlKX0sSW50MTZCdWZmZXJBdHRyaWJ1dGU6bTR0LEludDMyQXR0cmlidXRlOmZ1bmN0aW9uIEVyZSh0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkludDMyQXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuSW50MzJCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpLG5ldyBfNHQodCxlKX0sSW50MzJCdWZmZXJBdHRyaWJ1dGU6XzR0LEludDhBdHRyaWJ1dGU6ZnVuY3Rpb24gVHJlKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuSW50OEF0dHJpYnV0ZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbmV3IFRIUkVFLkludDhCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpLG5ldyBkNHQodCxlKX0sSW50OEJ1ZmZlckF0dHJpYnV0ZTpkNHQsSW50VHlwZToxMDEzLEludGVybGVhdmVkQnVmZmVyOnU3dCxJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZTpkN3QsSW50ZXJwb2xhbnQ6WGVlLEludGVycG9sYXRlRGlzY3JldGU6ejJ0LEludGVycG9sYXRlTGluZWFyOkQydCxJbnRlcnBvbGF0ZVNtb290aDpCMnQsSW52ZXJ0U3RlbmNpbE9wOjUzODYsSlNPTkxvYWRlcjpmdW5jdGlvbiBDcmUoKXtjb25zb2xlLmVycm9yKCJUSFJFRS5KU09OTG9hZGVyIGhhcyBiZWVuIHJlbW92ZWQuIil9LEtlZXBTdGVuY2lsT3A6WjJ0LEtleWZyYW1lVHJhY2s6SmVlLExPRDpQN3QsTGF0aGVCdWZmZXJHZW9tZXRyeTpTZWUsTGF0aGVHZW9tZXRyeTpTZWUsTGF5ZXJzOkMzdCxMZW5zRmxhcmU6ZnVuY3Rpb24gQXJlKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTGVuc0ZsYXJlIGhhcyBiZWVuIG1vdmVkIHRvIC9leGFtcGxlcy9qc20vb2JqZWN0cy9MZW5zZmxhcmUuanMiKX0sTGVzc0RlcHRoOjIsTGVzc0VxdWFsRGVwdGg6MyxMZXNzRXF1YWxTdGVuY2lsRnVuYzo1MTUsTGVzc1N0ZW5jaWxGdW5jOjUxMyxMaWdodDp4bmUsTGlnaHRQcm9iZTpIbmUsTGluZTp0dGUsTGluZTM6VWllLExpbmVCYXNpY01hdGVyaWFsOlg3dCxMaW5lQ3VydmU6RnRlLExpbmVDdXJ2ZTM6VnRlLExpbmVEYXNoZWRNYXRlcmlhbDpXZWUsTGluZUxvb3A6cnRlLExpbmVQaWVjZXM6MSxMaW5lU2VnbWVudHM6aXRlLExpbmVTdHJpcDowLExpbmVhckVuY29kaW5nOkcydCxMaW5lYXJGaWx0ZXI6cDJ0LExpbmVhckludGVycG9sYW50OktlZSxMaW5lYXJNaXBNYXBMaW5lYXJGaWx0ZXI6MTAwOCxMaW5lYXJNaXBNYXBOZWFyZXN0RmlsdGVyOjEwMDcsTGluZWFyTWlwbWFwTGluZWFyRmlsdGVyOm0ydCxMaW5lYXJNaXBtYXBOZWFyZXN0RmlsdGVyOmYydCxMaW5lYXJUb25lTWFwcGluZzoxLExvYWRlcjpobmUsTG9hZGVyVXRpbHM6Vm5lLExvYWRpbmdNYW5hZ2VyOmNuZSxMb2dMdXZFbmNvZGluZzozMDAzLExvb3BPbmNlOjIyMDAsTG9vcFBpbmdQb25nOjIyMDIsTG9vcFJlcGVhdDoyMjAxLEx1bWluYW5jZUFscGhhRm9ybWF0OjEwMjUsTHVtaW5hbmNlRm9ybWF0OjEwMjQsTU9VU0U6WjB0LE1hdGVyaWFsOnQ0dCxNYXRlcmlhbExvYWRlcjpGbmUsTWF0aDpwNXQsTWF0aFV0aWxzOnA1dCxNYXRyaXgzOkE1dCxNYXRyaXg0OmczdCxNYXhFcXVhdGlvbjoxMDQsTWVzaDpLNHQsTWVzaEJhc2ljTWF0ZXJpYWw6bDR0LE1lc2hEZXB0aE1hdGVyaWFsOlk4dCxNZXNoRGlzdGFuY2VNYXRlcmlhbDpYOHQsTWVzaEZhY2VNYXRlcmlhbDpmdW5jdGlvbiBrcmUodCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWVzaEZhY2VNYXRlcmlhbCBoYXMgYmVlbiByZW1vdmVkLiBVc2UgYW4gQXJyYXkgaW5zdGVhZC4iKSx0fSxNZXNoTGFtYmVydE1hdGVyaWFsOmplZSxNZXNoTWF0Y2FwTWF0ZXJpYWw6R2VlLE1lc2hOb3JtYWxNYXRlcmlhbDpVZWUsTWVzaFBob25nTWF0ZXJpYWw6RmVlLE1lc2hQaHlzaWNhbE1hdGVyaWFsOkhlZSxNZXNoU3RhbmRhcmRNYXRlcmlhbDpCZWUsTWVzaFRvb25NYXRlcmlhbDpWZWUsTWluRXF1YXRpb246MTAzLE1pcnJvcmVkUmVwZWF0V3JhcHBpbmc6YzJ0LE1peE9wZXJhdGlvbjoxLE11bHRpTWF0ZXJpYWw6ZnVuY3Rpb24gTHJlKHQ9W10pe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk11bHRpTWF0ZXJpYWwgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIGFuIEFycmF5IGluc3RlYWQuIiksdC5pc011bHRpTWF0ZXJpYWw9ITAsdC5tYXRlcmlhbHM9dCx0LmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHQuc2xpY2UoKX0sdH0sTXVsdGlwbHlCbGVuZGluZzo0LE11bHRpcGx5T3BlcmF0aW9uOjAsTmVhcmVzdEZpbHRlcjp1MnQsTmVhcmVzdE1pcE1hcExpbmVhckZpbHRlcjoxMDA1LE5lYXJlc3RNaXBNYXBOZWFyZXN0RmlsdGVyOjEwMDQsTmVhcmVzdE1pcG1hcExpbmVhckZpbHRlcjpkMnQsTmVhcmVzdE1pcG1hcE5lYXJlc3RGaWx0ZXI6aDJ0LE5ldmVyRGVwdGg6MCxOZXZlclN0ZW5jaWxGdW5jOjUxMixOb0JsZW5kaW5nOjAsTm9Db2xvcnM6MCxOb1RvbmVNYXBwaW5nOjAsTm9ybWFsQW5pbWF0aW9uQmxlbmRNb2RlOlUydCxOb3JtYWxCbGVuZGluZzoxLE5vdEVxdWFsRGVwdGg6NyxOb3RFcXVhbFN0ZW5jaWxGdW5jOjUxNyxOdW1iZXJLZXlmcmFtZVRyYWNrOmVuZSxPYmplY3QzRDpWM3QsT2JqZWN0TG9hZGVyOmNsYXNzIGV4dGVuZHMgaG5le2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfWxvYWQodCxlLG4saSl7Y29uc3Qgcj10aGlzLG89IiI9PT10aGlzLnBhdGg/Vm5lLmV4dHJhY3RVcmxCYXNlKHQpOnRoaXMucGF0aDt0aGlzLnJlc291cmNlUGF0aD10aGlzLnJlc291cmNlUGF0aHx8bztjb25zdCBhPW5ldyBwbmUodGhpcy5tYW5hZ2VyKTthLnNldFBhdGgodGhpcy5wYXRoKSxhLnNldFJlcXVlc3RIZWFkZXIodGhpcy5yZXF1ZXN0SGVhZGVyKSxhLnNldFdpdGhDcmVkZW50aWFscyh0aGlzLndpdGhDcmVkZW50aWFscyksYS5sb2FkKHQsKGZ1bmN0aW9uKG4pe2xldCBvPW51bGw7dHJ5e289SlNPTi5wYXJzZShuKX1jYXRjaChlKXtyZXR1cm4gdm9pZCAwIT09aSYmaShlKSx2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFOk9iamVjdExvYWRlcjogQ2FuJ3QgcGFyc2UgIit0KyIuIixlLm1lc3NhZ2UpfWNvbnN0IGE9by5tZXRhZGF0YTt2b2lkIDAhPT1hJiZ2b2lkIDAhPT1hLnR5cGUmJiJnZW9tZXRyeSIhPT1hLnR5cGUudG9Mb3dlckNhc2UoKT9yLnBhcnNlKG8sZSk6Y29uc29sZS5lcnJvcigiVEhSRUUuT2JqZWN0TG9hZGVyOiBDYW4ndCBsb2FkICIrdCl9KSxuLGkpfWFzeW5jIGxvYWRBc3luYyh0LGUpe2NvbnN0IG49IiI9PT10aGlzLnBhdGg/Vm5lLmV4dHJhY3RVcmxCYXNlKHQpOnRoaXMucGF0aDt0aGlzLnJlc291cmNlUGF0aD10aGlzLnJlc291cmNlUGF0aHx8bjtjb25zdCBpPW5ldyBwbmUodGhpcy5tYW5hZ2VyKTtpLnNldFBhdGgodGhpcy5wYXRoKSxpLnNldFJlcXVlc3RIZWFkZXIodGhpcy5yZXF1ZXN0SGVhZGVyKSxpLnNldFdpdGhDcmVkZW50aWFscyh0aGlzLndpdGhDcmVkZW50aWFscyk7Y29uc3Qgcj1hd2FpdCBpLmxvYWRBc3luYyh0LGUpLG89SlNPTi5wYXJzZShyKSxhPW8ubWV0YWRhdGE7aWYodm9pZCAwPT09YXx8dm9pZCAwPT09YS50eXBlfHwiZ2VvbWV0cnkiPT09YS50eXBlLnRvTG93ZXJDYXNlKCkpdGhyb3cgbmV3IEVycm9yKCJUSFJFRS5PYmplY3RMb2FkZXI6IENhbid0IGxvYWQgIit0KTtyZXR1cm4gYXdhaXQgdGhpcy5wYXJzZUFzeW5jKG8pfXBhcnNlKHQsZSl7Y29uc3Qgbj10aGlzLnBhcnNlQW5pbWF0aW9ucyh0LmFuaW1hdGlvbnMpLGk9dGhpcy5wYXJzZVNoYXBlcyh0LnNoYXBlcykscj10aGlzLnBhcnNlR2VvbWV0cmllcyh0Lmdlb21ldHJpZXMsaSksbz10aGlzLnBhcnNlSW1hZ2VzKHQuaW1hZ2VzLChmdW5jdGlvbigpe3ZvaWQgMCE9PWUmJmUobCl9KSksYT10aGlzLnBhcnNlVGV4dHVyZXModC50ZXh0dXJlcyxvKSxzPXRoaXMucGFyc2VNYXRlcmlhbHModC5tYXRlcmlhbHMsYSksbD10aGlzLnBhcnNlT2JqZWN0KHQub2JqZWN0LHIscyxhLG4pLGM9dGhpcy5wYXJzZVNrZWxldG9ucyh0LnNrZWxldG9ucyxsKTtpZih0aGlzLmJpbmRTa2VsZXRvbnMobCxjKSx2b2lkIDAhPT1lKXtsZXQgdD0hMTtmb3IoY29uc3QgZSBpbiBvKWlmKG9bZV1pbnN0YW5jZW9mIEhUTUxJbWFnZUVsZW1lbnQpe3Q9ITA7YnJlYWt9ITE9PT10JiZlKGwpfXJldHVybiBsfWFzeW5jIHBhcnNlQXN5bmModCl7Y29uc3QgZT10aGlzLnBhcnNlQW5pbWF0aW9ucyh0LmFuaW1hdGlvbnMpLG49dGhpcy5wYXJzZVNoYXBlcyh0LnNoYXBlcyksaT10aGlzLnBhcnNlR2VvbWV0cmllcyh0Lmdlb21ldHJpZXMsbikscj1hd2FpdCB0aGlzLnBhcnNlSW1hZ2VzQXN5bmModC5pbWFnZXMpLG89dGhpcy5wYXJzZVRleHR1cmVzKHQudGV4dHVyZXMsciksYT10aGlzLnBhcnNlTWF0ZXJpYWxzKHQubWF0ZXJpYWxzLG8pLHM9dGhpcy5wYXJzZU9iamVjdCh0Lm9iamVjdCxpLGEsbyxlKSxsPXRoaXMucGFyc2VTa2VsZXRvbnModC5za2VsZXRvbnMscyk7cmV0dXJuIHRoaXMuYmluZFNrZWxldG9ucyhzLGwpLHN9cGFyc2VTaGFwZXModCl7Y29uc3QgZT17fTtpZih2b2lkIDAhPT10KWZvcihsZXQgbj0wLGk9dC5sZW5ndGg7bjxpO24rKyl7Y29uc3QgaT0obmV3IGJuZSkuZnJvbUpTT04odFtuXSk7ZVtpLnV1aWRdPWl9cmV0dXJuIGV9cGFyc2VTa2VsZXRvbnModCxlKXtjb25zdCBuPXt9LGk9e307aWYoZS50cmF2ZXJzZSgoZnVuY3Rpb24odCl7dC5pc0JvbmUmJihpW3QudXVpZF09dCl9KSksdm9pZCAwIT09dClmb3IobGV0IGU9MCxyPXQubGVuZ3RoO2U8cjtlKyspe2NvbnN0IHI9KG5ldyBVN3QpLmZyb21KU09OKHRbZV0saSk7bltyLnV1aWRdPXJ9cmV0dXJuIG59cGFyc2VHZW9tZXRyaWVzKHQsZSl7Y29uc3Qgbj17fTtpZih2b2lkIDAhPT10KXtjb25zdCBpPW5ldyBHbmU7Zm9yKGxldCByPTAsbz10Lmxlbmd0aDtyPG87cisrKXtsZXQgbztjb25zdCBhPXRbcl07c3dpdGNoKGEudHlwZSl7Y2FzZSJCdWZmZXJHZW9tZXRyeSI6Y2FzZSJJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSI6bz1pLnBhcnNlKGEpO2JyZWFrO2Nhc2UiR2VvbWV0cnkiOmNvbnNvbGUuZXJyb3IoIlRIUkVFLk9iamVjdExvYWRlcjogVGhlIGxlZ2FjeSBHZW9tZXRyeSB0eXBlIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuIik7YnJlYWs7ZGVmYXVsdDphLnR5cGUgaW4gemVlP289emVlW2EudHlwZV0uZnJvbUpTT04oYSxlKTpjb25zb2xlLndhcm4oYFRIUkVFLk9iamVjdExvYWRlcjogVW5zdXBwb3J0ZWQgZ2VvbWV0cnkgdHlwZSAiJHthLnR5cGV9ImApfW8udXVpZD1hLnV1aWQsdm9pZCAwIT09YS5uYW1lJiYoby5uYW1lPWEubmFtZSksITA9PT1vLmlzQnVmZmVyR2VvbWV0cnkmJnZvaWQgMCE9PWEudXNlckRhdGEmJihvLnVzZXJEYXRhPWEudXNlckRhdGEpLG5bYS51dWlkXT1vfX1yZXR1cm4gbn1wYXJzZU1hdGVyaWFscyh0LGUpe2NvbnN0IG49e30saT17fTtpZih2b2lkIDAhPT10KXtjb25zdCByPW5ldyBGbmU7ci5zZXRUZXh0dXJlcyhlKTtmb3IobGV0IGU9MCxvPXQubGVuZ3RoO2U8bztlKyspe2NvbnN0IG89dFtlXTtpZigiTXVsdGlNYXRlcmlhbCI9PT1vLnR5cGUpe2NvbnN0IHQ9W107Zm9yKGxldCBlPTA7ZTxvLm1hdGVyaWFscy5sZW5ndGg7ZSsrKXtjb25zdCBpPW8ubWF0ZXJpYWxzW2VdO3ZvaWQgMD09PW5baS51dWlkXSYmKG5baS51dWlkXT1yLnBhcnNlKGkpKSx0LnB1c2gobltpLnV1aWRdKX1pW28udXVpZF09dH1lbHNlIHZvaWQgMD09PW5bby51dWlkXSYmKG5bby51dWlkXT1yLnBhcnNlKG8pKSxpW28udXVpZF09bltvLnV1aWRdfX1yZXR1cm4gaX1wYXJzZUFuaW1hdGlvbnModCl7Y29uc3QgZT17fTtpZih2b2lkIDAhPT10KWZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCBpPWFuZS5wYXJzZSh0W25dKTtlW2kudXVpZF09aX1yZXR1cm4gZX1wYXJzZUltYWdlcyh0LGUpe2NvbnN0IG49dGhpcyxpPXt9O2xldCByO2Z1bmN0aW9uIG8odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtjb25zdCBlPXQ7cmV0dXJuKGZ1bmN0aW9uIGkodCl7cmV0dXJuIG4ubWFuYWdlci5pdGVtU3RhcnQodCksci5sb2FkKHQsKGZ1bmN0aW9uKCl7bi5tYW5hZ2VyLml0ZW1FbmQodCl9KSx2b2lkIDAsKGZ1bmN0aW9uKCl7bi5tYW5hZ2VyLml0ZW1FcnJvcih0KSxuLm1hbmFnZXIuaXRlbUVuZCh0KX0pKX0pKC9eKFwvXC8pfChbYS16XSs6KFwvXC8pPykvaS50ZXN0KGUpP2U6bi5yZXNvdXJjZVBhdGgrZSl9cmV0dXJuIHQuZGF0YT97ZGF0YTpNNHQodC50eXBlLHQuZGF0YSksd2lkdGg6dC53aWR0aCxoZWlnaHQ6dC5oZWlnaHR9Om51bGx9aWYodm9pZCAwIT09dCYmdC5sZW5ndGg+MCl7Y29uc3Qgbj1uZXcgY25lKGUpO3I9bmV3IGZuZShuKSxyLnNldENyb3NzT3JpZ2luKHRoaXMuY3Jvc3NPcmlnaW4pO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10W2VdLHI9bi51cmw7aWYoQXJyYXkuaXNBcnJheShyKSl7aVtuLnV1aWRdPVtdO2ZvcihsZXQgdD0wLGU9ci5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1vKHJbdF0pO251bGwhPT1lJiYoZSBpbnN0YW5jZW9mIEhUTUxJbWFnZUVsZW1lbnQ/aVtuLnV1aWRdLnB1c2goZSk6aVtuLnV1aWRdLnB1c2gobmV3IEg3dChlLmRhdGEsZS53aWR0aCxlLmhlaWdodCkpKX19ZWxzZXtjb25zdCB0PW8obi51cmwpO251bGwhPT10JiYoaVtuLnV1aWRdPXQpfX19cmV0dXJuIGl9YXN5bmMgcGFyc2VJbWFnZXNBc3luYyh0KXtjb25zdCBlPXRoaXMsbj17fTtsZXQgaTthc3luYyBmdW5jdGlvbiByKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7Y29uc3Qgbj10LHI9L14oXC9cLyl8KFthLXpdKzooXC9cLyk/KS9pLnRlc3Qobik/bjplLnJlc291cmNlUGF0aCtuO3JldHVybiBhd2FpdCBpLmxvYWRBc3luYyhyKX1yZXR1cm4gdC5kYXRhP3tkYXRhOk00dCh0LnR5cGUsdC5kYXRhKSx3aWR0aDp0LndpZHRoLGhlaWdodDp0LmhlaWdodH06bnVsbH1pZih2b2lkIDAhPT10JiZ0Lmxlbmd0aD4wKXtpPW5ldyBmbmUodGhpcy5tYW5hZ2VyKSxpLnNldENyb3NzT3JpZ2luKHRoaXMuY3Jvc3NPcmlnaW4pO2ZvcihsZXQgZT0wLGk9dC5sZW5ndGg7ZTxpO2UrKyl7Y29uc3QgaT10W2VdLG89aS51cmw7aWYoQXJyYXkuaXNBcnJheShvKSl7bltpLnV1aWRdPVtdO2ZvcihsZXQgdD0wLGU9by5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1vW3RdLGE9YXdhaXQgcihlKTtudWxsIT09YSYmKGEgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50P25baS51dWlkXS5wdXNoKGEpOm5baS51dWlkXS5wdXNoKG5ldyBIN3QoYS5kYXRhLGEud2lkdGgsYS5oZWlnaHQpKSl9fWVsc2V7Y29uc3QgdD1hd2FpdCByKGkudXJsKTtudWxsIT09dCYmKG5baS51dWlkXT10KX19fXJldHVybiBufXBhcnNlVGV4dHVyZXModCxlKXtmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0P3Q6KGNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyLnBhcnNlVGV4dHVyZTogQ29uc3RhbnQgc2hvdWxkIGJlIGluIG51bWVyaWMgZm9ybS4iLHQpLGVbdF0pfWNvbnN0IGk9e307aWYodm9pZCAwIT09dClmb3IobGV0IHI9MCxvPXQubGVuZ3RoO3I8bztyKyspe2NvbnN0IG89dFtyXTtsZXQgYTt2b2lkIDA9PT1vLmltYWdlJiZjb25zb2xlLndhcm4oJ1RIUkVFLk9iamVjdExvYWRlcjogTm8gImltYWdlIiBzcGVjaWZpZWQgZm9yJyxvLnV1aWQpLHZvaWQgMD09PWVbby5pbWFnZV0mJmNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiBVbmRlZmluZWQgaW1hZ2UiLG8uaW1hZ2UpO2NvbnN0IHM9ZVtvLmltYWdlXTtBcnJheS5pc0FycmF5KHMpPyhhPW5ldyBzNnQocyksNj09PXMubGVuZ3RoJiYoYS5uZWVkc1VwZGF0ZT0hMCkpOihhPXMmJnMuZGF0YT9uZXcgSDd0KHMuZGF0YSxzLndpZHRoLHMuaGVpZ2h0KTpuZXcgTjV0KHMpLHMmJihhLm5lZWRzVXBkYXRlPSEwKSksYS51dWlkPW8udXVpZCx2b2lkIDAhPT1vLm5hbWUmJihhLm5hbWU9by5uYW1lKSx2b2lkIDAhPT1vLm1hcHBpbmcmJihhLm1hcHBpbmc9bihvLm1hcHBpbmcsV25lKSksdm9pZCAwIT09by5vZmZzZXQmJmEub2Zmc2V0LmZyb21BcnJheShvLm9mZnNldCksdm9pZCAwIT09by5yZXBlYXQmJmEucmVwZWF0LmZyb21BcnJheShvLnJlcGVhdCksdm9pZCAwIT09by5jZW50ZXImJmEuY2VudGVyLmZyb21BcnJheShvLmNlbnRlciksdm9pZCAwIT09by5yb3RhdGlvbiYmKGEucm90YXRpb249by5yb3RhdGlvbiksdm9pZCAwIT09by53cmFwJiYoYS53cmFwUz1uKG8ud3JhcFswXSxxbmUpLGEud3JhcFQ9bihvLndyYXBbMV0scW5lKSksdm9pZCAwIT09by5mb3JtYXQmJihhLmZvcm1hdD1vLmZvcm1hdCksdm9pZCAwIT09by50eXBlJiYoYS50eXBlPW8udHlwZSksdm9pZCAwIT09by5lbmNvZGluZyYmKGEuZW5jb2Rpbmc9by5lbmNvZGluZyksdm9pZCAwIT09by5taW5GaWx0ZXImJihhLm1pbkZpbHRlcj1uKG8ubWluRmlsdGVyLFluZSkpLHZvaWQgMCE9PW8ubWFnRmlsdGVyJiYoYS5tYWdGaWx0ZXI9bihvLm1hZ0ZpbHRlcixZbmUpKSx2b2lkIDAhPT1vLmFuaXNvdHJvcHkmJihhLmFuaXNvdHJvcHk9by5hbmlzb3Ryb3B5KSx2b2lkIDAhPT1vLmZsaXBZJiYoYS5mbGlwWT1vLmZsaXBZKSx2b2lkIDAhPT1vLnByZW11bHRpcGx5QWxwaGEmJihhLnByZW11bHRpcGx5QWxwaGE9by5wcmVtdWx0aXBseUFscGhhKSx2b2lkIDAhPT1vLnVucGFja0FsaWdubWVudCYmKGEudW5wYWNrQWxpZ25tZW50PW8udW5wYWNrQWxpZ25tZW50KSxpW28udXVpZF09YX1yZXR1cm4gaX1wYXJzZU9iamVjdCh0LGUsbixpLHIpe2xldCBvLGEscztmdW5jdGlvbiBsKHQpe3JldHVybiB2b2lkIDA9PT1lW3RdJiZjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdExvYWRlcjogVW5kZWZpbmVkIGdlb21ldHJ5Iix0KSxlW3RdfWZ1bmN0aW9uIGModCl7aWYodm9pZCAwIT09dCl7aWYoQXJyYXkuaXNBcnJheSh0KSl7Y29uc3QgZT1bXTtmb3IobGV0IGk9MCxyPXQubGVuZ3RoO2k8cjtpKyspe2NvbnN0IHI9dFtpXTt2b2lkIDA9PT1uW3JdJiZjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdExvYWRlcjogVW5kZWZpbmVkIG1hdGVyaWFsIixyKSxlLnB1c2gobltyXSl9cmV0dXJuIGV9cmV0dXJuIHZvaWQgMD09PW5bdF0mJmNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiBVbmRlZmluZWQgbWF0ZXJpYWwiLHQpLG5bdF19fWZ1bmN0aW9uIHUodCl7cmV0dXJuIHZvaWQgMD09PWlbdF0mJmNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiBVbmRlZmluZWQgdGV4dHVyZSIsdCksaVt0XX1zd2l0Y2godC50eXBlKXtjYXNlIlNjZW5lIjpvPW5ldyBjN3Qsdm9pZCAwIT09dC5iYWNrZ3JvdW5kJiYoby5iYWNrZ3JvdW5kPU51bWJlci5pc0ludGVnZXIodC5iYWNrZ3JvdW5kKT9uZXcgczR0KHQuYmFja2dyb3VuZCk6dSh0LmJhY2tncm91bmQpKSx2b2lkIDAhPT10LmVudmlyb25tZW50JiYoby5lbnZpcm9ubWVudD11KHQuZW52aXJvbm1lbnQpKSx2b2lkIDAhPT10LmZvZyYmKCJGb2ciPT09dC5mb2cudHlwZT9vLmZvZz1uZXcgbDd0KHQuZm9nLmNvbG9yLHQuZm9nLm5lYXIsdC5mb2cuZmFyKToiRm9nRXhwMiI9PT10LmZvZy50eXBlJiYoby5mb2c9bmV3IHM3dCh0LmZvZy5jb2xvcix0LmZvZy5kZW5zaXR5KSkpO2JyZWFrO2Nhc2UiUGVyc3BlY3RpdmVDYW1lcmEiOm89bmV3IHI2dCh0LmZvdix0LmFzcGVjdCx0Lm5lYXIsdC5mYXIpLHZvaWQgMCE9PXQuZm9jdXMmJihvLmZvY3VzPXQuZm9jdXMpLHZvaWQgMCE9PXQuem9vbSYmKG8uem9vbT10Lnpvb20pLHZvaWQgMCE9PXQuZmlsbUdhdWdlJiYoby5maWxtR2F1Z2U9dC5maWxtR2F1Z2UpLHZvaWQgMCE9PXQuZmlsbU9mZnNldCYmKG8uZmlsbU9mZnNldD10LmZpbG1PZmZzZXQpLHZvaWQgMCE9PXQudmlldyYmKG8udmlldz1PYmplY3QuYXNzaWduKHt9LHQudmlldykpO2JyZWFrO2Nhc2UiT3J0aG9ncmFwaGljQ2FtZXJhIjpvPW5ldyBBNnQodC5sZWZ0LHQucmlnaHQsdC50b3AsdC5ib3R0b20sdC5uZWFyLHQuZmFyKSx2b2lkIDAhPT10Lnpvb20mJihvLnpvb209dC56b29tKSx2b2lkIDAhPT10LnZpZXcmJihvLnZpZXc9T2JqZWN0LmFzc2lnbih7fSx0LnZpZXcpKTticmVhaztjYXNlIkFtYmllbnRMaWdodCI6bz1uZXcgem5lKHQuY29sb3IsdC5pbnRlbnNpdHkpO2JyZWFrO2Nhc2UiRGlyZWN0aW9uYWxMaWdodCI6bz1uZXcgT25lKHQuY29sb3IsdC5pbnRlbnNpdHkpO2JyZWFrO2Nhc2UiUG9pbnRMaWdodCI6bz1uZXcgSW5lKHQuY29sb3IsdC5pbnRlbnNpdHksdC5kaXN0YW5jZSx0LmRlY2F5KTticmVhaztjYXNlIlJlY3RBcmVhTGlnaHQiOm89bmV3IERuZSh0LmNvbG9yLHQuaW50ZW5zaXR5LHQud2lkdGgsdC5oZWlnaHQpO2JyZWFrO2Nhc2UiU3BvdExpZ2h0IjpvPW5ldyBBbmUodC5jb2xvcix0LmludGVuc2l0eSx0LmRpc3RhbmNlLHQuYW5nbGUsdC5wZW51bWJyYSx0LmRlY2F5KTticmVhaztjYXNlIkhlbWlzcGhlcmVMaWdodCI6bz1uZXcgd25lKHQuY29sb3IsdC5ncm91bmRDb2xvcix0LmludGVuc2l0eSk7YnJlYWs7Y2FzZSJMaWdodFByb2JlIjpvPShuZXcgSG5lKS5mcm9tSlNPTih0KTticmVhaztjYXNlIlNraW5uZWRNZXNoIjphPWwodC5nZW9tZXRyeSkscz1jKHQubWF0ZXJpYWwpLG89bmV3IEQ3dChhLHMpLHZvaWQgMCE9PXQuYmluZE1vZGUmJihvLmJpbmRNb2RlPXQuYmluZE1vZGUpLHZvaWQgMCE9PXQuYmluZE1hdHJpeCYmby5iaW5kTWF0cml4LmZyb21BcnJheSh0LmJpbmRNYXRyaXgpLHZvaWQgMCE9PXQuc2tlbGV0b24mJihvLnNrZWxldG9uPXQuc2tlbGV0b24pO2JyZWFrO2Nhc2UiTWVzaCI6YT1sKHQuZ2VvbWV0cnkpLHM9Yyh0Lm1hdGVyaWFsKSxvPW5ldyBLNHQoYSxzKTticmVhaztjYXNlIkluc3RhbmNlZE1lc2giOmE9bCh0Lmdlb21ldHJ5KSxzPWModC5tYXRlcmlhbCk7Y29uc3QgZT10Lmluc3RhbmNlTWF0cml4LG49dC5pbnN0YW5jZUNvbG9yO289bmV3IFk3dChhLHMsdC5jb3VudCksby5pbnN0YW5jZU1hdHJpeD1uZXcgaDR0KG5ldyBGbG9hdDMyQXJyYXkoZS5hcnJheSksMTYpLHZvaWQgMCE9PW4mJihvLmluc3RhbmNlQ29sb3I9bmV3IGg0dChuZXcgRmxvYXQzMkFycmF5KG4uYXJyYXkpLG4uaXRlbVNpemUpKTticmVhaztjYXNlIkxPRCI6bz1uZXcgUDd0O2JyZWFrO2Nhc2UiTGluZSI6bz1uZXcgdHRlKGwodC5nZW9tZXRyeSksYyh0Lm1hdGVyaWFsKSk7YnJlYWs7Y2FzZSJMaW5lTG9vcCI6bz1uZXcgcnRlKGwodC5nZW9tZXRyeSksYyh0Lm1hdGVyaWFsKSk7YnJlYWs7Y2FzZSJMaW5lU2VnbWVudHMiOm89bmV3IGl0ZShsKHQuZ2VvbWV0cnkpLGModC5tYXRlcmlhbCkpO2JyZWFrO2Nhc2UiUG9pbnRDbG91ZCI6Y2FzZSJQb2ludHMiOm89bmV3IHV0ZShsKHQuZ2VvbWV0cnkpLGModC5tYXRlcmlhbCkpO2JyZWFrO2Nhc2UiU3ByaXRlIjpvPW5ldyBDN3QoYyh0Lm1hdGVyaWFsKSk7YnJlYWs7Y2FzZSJHcm91cCI6bz1uZXcgdDd0O2JyZWFrO2Nhc2UiQm9uZSI6bz1uZXcgQjd0O2JyZWFrO2RlZmF1bHQ6bz1uZXcgVjN0fWlmKG8udXVpZD10LnV1aWQsdm9pZCAwIT09dC5uYW1lJiYoby5uYW1lPXQubmFtZSksdm9pZCAwIT09dC5tYXRyaXg/KG8ubWF0cml4LmZyb21BcnJheSh0Lm1hdHJpeCksdm9pZCAwIT09dC5tYXRyaXhBdXRvVXBkYXRlJiYoby5tYXRyaXhBdXRvVXBkYXRlPXQubWF0cml4QXV0b1VwZGF0ZSksby5tYXRyaXhBdXRvVXBkYXRlJiZvLm1hdHJpeC5kZWNvbXBvc2Uoby5wb3NpdGlvbixvLnF1YXRlcm5pb24sby5zY2FsZSkpOih2b2lkIDAhPT10LnBvc2l0aW9uJiZvLnBvc2l0aW9uLmZyb21BcnJheSh0LnBvc2l0aW9uKSx2b2lkIDAhPT10LnJvdGF0aW9uJiZvLnJvdGF0aW9uLmZyb21BcnJheSh0LnJvdGF0aW9uKSx2b2lkIDAhPT10LnF1YXRlcm5pb24mJm8ucXVhdGVybmlvbi5mcm9tQXJyYXkodC5xdWF0ZXJuaW9uKSx2b2lkIDAhPT10LnNjYWxlJiZvLnNjYWxlLmZyb21BcnJheSh0LnNjYWxlKSksdm9pZCAwIT09dC5jYXN0U2hhZG93JiYoby5jYXN0U2hhZG93PXQuY2FzdFNoYWRvdyksdm9pZCAwIT09dC5yZWNlaXZlU2hhZG93JiYoby5yZWNlaXZlU2hhZG93PXQucmVjZWl2ZVNoYWRvdyksdC5zaGFkb3cmJih2b2lkIDAhPT10LnNoYWRvdy5iaWFzJiYoby5zaGFkb3cuYmlhcz10LnNoYWRvdy5iaWFzKSx2b2lkIDAhPT10LnNoYWRvdy5ub3JtYWxCaWFzJiYoby5zaGFkb3cubm9ybWFsQmlhcz10LnNoYWRvdy5ub3JtYWxCaWFzKSx2b2lkIDAhPT10LnNoYWRvdy5yYWRpdXMmJihvLnNoYWRvdy5yYWRpdXM9dC5zaGFkb3cucmFkaXVzKSx2b2lkIDAhPT10LnNoYWRvdy5tYXBTaXplJiZvLnNoYWRvdy5tYXBTaXplLmZyb21BcnJheSh0LnNoYWRvdy5tYXBTaXplKSx2b2lkIDAhPT10LnNoYWRvdy5jYW1lcmEmJihvLnNoYWRvdy5jYW1lcmE9dGhpcy5wYXJzZU9iamVjdCh0LnNoYWRvdy5jYW1lcmEpKSksdm9pZCAwIT09dC52aXNpYmxlJiYoby52aXNpYmxlPXQudmlzaWJsZSksdm9pZCAwIT09dC5mcnVzdHVtQ3VsbGVkJiYoby5mcnVzdHVtQ3VsbGVkPXQuZnJ1c3R1bUN1bGxlZCksdm9pZCAwIT09dC5yZW5kZXJPcmRlciYmKG8ucmVuZGVyT3JkZXI9dC5yZW5kZXJPcmRlciksdm9pZCAwIT09dC51c2VyRGF0YSYmKG8udXNlckRhdGE9dC51c2VyRGF0YSksdm9pZCAwIT09dC5sYXllcnMmJihvLmxheWVycy5tYXNrPXQubGF5ZXJzKSx2b2lkIDAhPT10LmNoaWxkcmVuKXtjb25zdCBhPXQuY2hpbGRyZW47Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0Kyspby5hZGQodGhpcy5wYXJzZU9iamVjdChhW3RdLGUsbixpLHIpKX1pZih2b2lkIDAhPT10LmFuaW1hdGlvbnMpe2NvbnN0IGU9dC5hbmltYXRpb25zO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXtvLmFuaW1hdGlvbnMucHVzaChyW2VbdF1dKX19aWYoIkxPRCI9PT10LnR5cGUpe3ZvaWQgMCE9PXQuYXV0b1VwZGF0ZSYmKG8uYXV0b1VwZGF0ZT10LmF1dG9VcGRhdGUpO2NvbnN0IGU9dC5sZXZlbHM7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XSxpPW8uZ2V0T2JqZWN0QnlQcm9wZXJ0eSgidXVpZCIsbi5vYmplY3QpO3ZvaWQgMCE9PWkmJm8uYWRkTGV2ZWwoaSxuLmRpc3RhbmNlKX19cmV0dXJuIG99YmluZFNrZWxldG9ucyh0LGUpezAhPT1PYmplY3Qua2V5cyhlKS5sZW5ndGgmJnQudHJhdmVyc2UoKGZ1bmN0aW9uKHQpe2lmKCEwPT09dC5pc1NraW5uZWRNZXNoJiZ2b2lkIDAhPT10LnNrZWxldG9uKXtjb25zdCBuPWVbdC5za2VsZXRvbl07dm9pZCAwPT09bj9jb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdExvYWRlcjogTm8gc2tlbGV0b24gZm91bmQgd2l0aCBVVUlEOiIsdC5za2VsZXRvbik6dC5iaW5kKG4sdC5iaW5kTWF0cml4KX19KSl9c2V0VGV4dHVyZVBhdGgodCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0TG9hZGVyOiAuc2V0VGV4dHVyZVBhdGgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRSZXNvdXJjZVBhdGgoKS4iKSx0aGlzLnNldFJlc291cmNlUGF0aCh0KX19LE9iamVjdFNwYWNlTm9ybWFsTWFwOjEsT2N0YWhlZHJvbkJ1ZmZlckdlb21ldHJ5Ok1lZSxPY3RhaGVkcm9uR2VvbWV0cnk6TWVlLE9uZUZhY3RvcjoyMDEsT25lTWludXNEc3RBbHBoYUZhY3RvcjoyMDcsT25lTWludXNEc3RDb2xvckZhY3RvcjoyMDksT25lTWludXNTcmNBbHBoYUZhY3RvcjoyMDUsT25lTWludXNTcmNDb2xvckZhY3RvcjoyMDMsT3J0aG9ncmFwaGljQ2FtZXJhOkE2dCxQQ0ZTaGFkb3dNYXA6MSxQQ0ZTb2Z0U2hhZG93TWFwOjIsUE1SRU1HZW5lcmF0b3I6WTZ0LFBhcmFtZXRyaWNCdWZmZXJHZW9tZXRyeTpFZWUsUGFyYW1ldHJpY0dlb21ldHJ5OkVlZSxQYXJ0aWNsZTpmdW5jdGlvbiBQcmUodCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUGFydGljbGUgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5TcHJpdGUuIiksbmV3IEM3dCh0KX0sUGFydGljbGVCYXNpY01hdGVyaWFsOmZ1bmN0aW9uIE5yZSh0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5QYXJ0aWNsZUJhc2ljTWF0ZXJpYWwgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5Qb2ludHNNYXRlcmlhbC4iKSxuZXcgb3RlKHQpfSxQYXJ0aWNsZVN5c3RlbTpmdW5jdGlvbiBJcmUodCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5QYXJ0aWNsZVN5c3RlbSBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLlBvaW50cy4iKSxuZXcgdXRlKHQsZSl9LFBhcnRpY2xlU3lzdGVtTWF0ZXJpYWw6ZnVuY3Rpb24gUnJlKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlBhcnRpY2xlU3lzdGVtTWF0ZXJpYWwgaGFzIGJlZW4gcmVuYW1lZCB0byBUSFJFRS5Qb2ludHNNYXRlcmlhbC4iKSxuZXcgb3RlKHQpfSxQYXRoOnZuZSxQZXJzcGVjdGl2ZUNhbWVyYTpyNnQsUGxhbmU6ZDZ0LFBsYW5lQnVmZmVyR2VvbWV0cnk6eTZ0LFBsYW5lR2VvbWV0cnk6eTZ0LFBsYW5lSGVscGVyOmNsYXNzIGV4dGVuZHMgdHRle2NvbnN0cnVjdG9yKHQsZT0xLG49MTY3NzY5NjApe2NvbnN0IGk9bixyPW5ldyBONHQ7ci5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KFsxLC0xLDEsLTEsMSwxLC0xLC0xLDEsMSwxLDEsLTEsMSwxLC0xLC0xLDEsMSwtMSwxLDEsMSwxLDAsMCwxLDAsMCwwXSwzKSksci5jb21wdXRlQm91bmRpbmdTcGhlcmUoKSxzdXBlcihyLG5ldyBYN3Qoe2NvbG9yOmksdG9uZU1hcHBlZDohMX0pKSx0aGlzLnR5cGU9IlBsYW5lSGVscGVyIix0aGlzLnBsYW5lPXQsdGhpcy5zaXplPWU7Y29uc3Qgbz1uZXcgTjR0O28uc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGI0dChbMSwxLDEsLTEsMSwxLC0xLC0xLDEsMSwxLDEsLTEsLTEsMSwxLC0xLDFdLDMpKSxvLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLHRoaXMuYWRkKG5ldyBLNHQobyxuZXcgbDR0KHtjb2xvcjppLG9wYWNpdHk6LjIsdHJhbnNwYXJlbnQ6ITAsZGVwdGhXcml0ZTohMSx0b25lTWFwcGVkOiExfSkpKX11cGRhdGVNYXRyaXhXb3JsZCh0KXtsZXQgZT0tdGhpcy5wbGFuZS5jb25zdGFudDtNYXRoLmFicyhlKTwxZS04JiYoZT0xZS04KSx0aGlzLnNjYWxlLnNldCguNSp0aGlzLnNpemUsLjUqdGhpcy5zaXplLGUpLHRoaXMuY2hpbGRyZW5bMF0ubWF0ZXJpYWwuc2lkZT1lPDA/MTowLHRoaXMubG9va0F0KHRoaXMucGxhbmUubm9ybWFsKSxzdXBlci51cGRhdGVNYXRyaXhXb3JsZCh0KX19LFBvaW50Q2xvdWQ6ZnVuY3Rpb24gT3JlKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUG9pbnRDbG91ZCBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLlBvaW50cy4iKSxuZXcgdXRlKHQsZSl9LFBvaW50Q2xvdWRNYXRlcmlhbDpmdW5jdGlvbiB6cmUodCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUG9pbnRDbG91ZE1hdGVyaWFsIGhhcyBiZWVuIHJlbmFtZWQgdG8gVEhSRUUuUG9pbnRzTWF0ZXJpYWwuIiksbmV3IG90ZSh0KX0sUG9pbnRMaWdodDpJbmUsUG9pbnRMaWdodEhlbHBlcjpjbGFzcyBleHRlbmRzIEs0dHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIobmV3IEFlZShlLDQsMiksbmV3IGw0dCh7d2lyZWZyYW1lOiEwLGZvZzohMSx0b25lTWFwcGVkOiExfSkpLHRoaXMubGlnaHQ9dCx0aGlzLmxpZ2h0LnVwZGF0ZU1hdHJpeFdvcmxkKCksdGhpcy5jb2xvcj1uLHRoaXMudHlwZT0iUG9pbnRMaWdodEhlbHBlciIsdGhpcy5tYXRyaXg9dGhpcy5saWdodC5tYXRyaXhXb3JsZCx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITEsdGhpcy51cGRhdGUoKX1kaXNwb3NlKCl7dGhpcy5nZW9tZXRyeS5kaXNwb3NlKCksdGhpcy5tYXRlcmlhbC5kaXNwb3NlKCl9dXBkYXRlKCl7dm9pZCAwIT09dGhpcy5jb2xvcj90aGlzLm1hdGVyaWFsLmNvbG9yLnNldCh0aGlzLmNvbG9yKTp0aGlzLm1hdGVyaWFsLmNvbG9yLmNvcHkodGhpcy5saWdodC5jb2xvcil9fSxQb2ludHM6dXRlLFBvaW50c01hdGVyaWFsOm90ZSxQb2xhckdyaWRIZWxwZXI6Y2xhc3MgZXh0ZW5kcyBpdGV7Y29uc3RydWN0b3IodD0xMCxlPTE2LG49OCxpPTY0LHI9NDQ3MzkyNCxvPTg5NDc4NDgpe3I9bmV3IHM0dChyKSxvPW5ldyBzNHQobyk7Y29uc3QgYT1bXSxzPVtdO2ZvcihsZXQgbj0wO248PWU7bisrKXtjb25zdCBpPW4vZSooMipNYXRoLlBJKSxsPU1hdGguc2luKGkpKnQsYz1NYXRoLmNvcyhpKSp0O2EucHVzaCgwLDAsMCksYS5wdXNoKGwsMCxjKTtjb25zdCB1PTEmbj9yOm87cy5wdXNoKHUucix1LmcsdS5iKSxzLnB1c2godS5yLHUuZyx1LmIpfWZvcihsZXQgZT0wO2U8PW47ZSsrKXtjb25zdCBsPTEmZT9yOm8sYz10LXQvbiplO2ZvcihsZXQgdD0wO3Q8aTt0Kyspe2xldCBlPXQvaSooMipNYXRoLlBJKSxuPU1hdGguc2luKGUpKmMscj1NYXRoLmNvcyhlKSpjO2EucHVzaChuLDAscikscy5wdXNoKGwucixsLmcsbC5iKSxlPSh0KzEpL2kqKDIqTWF0aC5QSSksbj1NYXRoLnNpbihlKSpjLHI9TWF0aC5jb3MoZSkqYyxhLnB1c2gobiwwLHIpLHMucHVzaChsLnIsbC5nLGwuYil9fWNvbnN0IGw9bmV3IE40dDtsLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBiNHQoYSwzKSksbC5zZXRBdHRyaWJ1dGUoImNvbG9yIixuZXcgYjR0KHMsMykpO3N1cGVyKGwsbmV3IFg3dCh7dmVydGV4Q29sb3JzOiEwLHRvbmVNYXBwZWQ6ITF9KSksdGhpcy50eXBlPSJQb2xhckdyaWRIZWxwZXIifX0sUG9seWhlZHJvbkJ1ZmZlckdlb21ldHJ5OnZ0ZSxQb2x5aGVkcm9uR2VvbWV0cnk6dnRlLFBvc2l0aW9uYWxBdWRpbzpjbGFzcyBleHRlbmRzIGhpZXtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLnBhbm5lcj10aGlzLmNvbnRleHQuY3JlYXRlUGFubmVyKCksdGhpcy5wYW5uZXIucGFubmluZ01vZGVsPSJIUlRGIix0aGlzLnBhbm5lci5jb25uZWN0KHRoaXMuZ2Fpbil9Z2V0T3V0cHV0KCl7cmV0dXJuIHRoaXMucGFubmVyfWdldFJlZkRpc3RhbmNlKCl7cmV0dXJuIHRoaXMucGFubmVyLnJlZkRpc3RhbmNlfXNldFJlZkRpc3RhbmNlKHQpe3JldHVybiB0aGlzLnBhbm5lci5yZWZEaXN0YW5jZT10LHRoaXN9Z2V0Um9sbG9mZkZhY3Rvcigpe3JldHVybiB0aGlzLnBhbm5lci5yb2xsb2ZmRmFjdG9yfXNldFJvbGxvZmZGYWN0b3IodCl7cmV0dXJuIHRoaXMucGFubmVyLnJvbGxvZmZGYWN0b3I9dCx0aGlzfWdldERpc3RhbmNlTW9kZWwoKXtyZXR1cm4gdGhpcy5wYW5uZXIuZGlzdGFuY2VNb2RlbH1zZXREaXN0YW5jZU1vZGVsKHQpe3JldHVybiB0aGlzLnBhbm5lci5kaXN0YW5jZU1vZGVsPXQsdGhpc31nZXRNYXhEaXN0YW5jZSgpe3JldHVybiB0aGlzLnBhbm5lci5tYXhEaXN0YW5jZX1zZXRNYXhEaXN0YW5jZSh0KXtyZXR1cm4gdGhpcy5wYW5uZXIubWF4RGlzdGFuY2U9dCx0aGlzfXNldERpcmVjdGlvbmFsQ29uZSh0LGUsbil7cmV0dXJuIHRoaXMucGFubmVyLmNvbmVJbm5lckFuZ2xlPXQsdGhpcy5wYW5uZXIuY29uZU91dGVyQW5nbGU9ZSx0aGlzLnBhbm5lci5jb25lT3V0ZXJHYWluPW4sdGhpc311cGRhdGVNYXRyaXhXb3JsZCh0KXtpZihzdXBlci51cGRhdGVNYXRyaXhXb3JsZCh0KSwhMD09PXRoaXMuaGFzUGxheWJhY2tDb250cm9sJiYhMT09PXRoaXMuaXNQbGF5aW5nKXJldHVybjt0aGlzLm1hdHJpeFdvcmxkLmRlY29tcG9zZShkaWUscGllLGZpZSksbWllLnNldCgwLDAsMSkuYXBwbHlRdWF0ZXJuaW9uKHBpZSk7Y29uc3QgZT10aGlzLnBhbm5lcjtpZihlLnBvc2l0aW9uWCl7Y29uc3QgdD10aGlzLmNvbnRleHQuY3VycmVudFRpbWUrdGhpcy5saXN0ZW5lci50aW1lRGVsdGE7ZS5wb3NpdGlvblgubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoZGllLngsdCksZS5wb3NpdGlvblkubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoZGllLnksdCksZS5wb3NpdGlvbloubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUoZGllLnosdCksZS5vcmllbnRhdGlvblgubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobWllLngsdCksZS5vcmllbnRhdGlvblkubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobWllLnksdCksZS5vcmllbnRhdGlvbloubGluZWFyUmFtcFRvVmFsdWVBdFRpbWUobWllLnosdCl9ZWxzZSBlLnNldFBvc2l0aW9uKGRpZS54LGRpZS55LGRpZS56KSxlLnNldE9yaWVudGF0aW9uKG1pZS54LG1pZS55LG1pZS56KX19LFByb3BlcnR5QmluZGluZzpBaWUsUHJvcGVydHlNaXhlcjpfaWUsUXVhZHJhdGljQmV6aWVyQ3VydmU6VXRlLFF1YWRyYXRpY0JlemllckN1cnZlMzpqdGUsUXVhdGVybmlvbjpCNXQsUXVhdGVybmlvbktleWZyYW1lVHJhY2s6aW5lLFF1YXRlcm5pb25MaW5lYXJJbnRlcnBvbGFudDpubmUsUkVWSVNJT046SzB0LFJHQkFEZXB0aFBhY2tpbmc6MzIwMSxSR0JBRm9ybWF0OlMydCxSR0JBSW50ZWdlckZvcm1hdDoxMDMzLFJHQkFfQVNUQ18xMHgxMF9Gb3JtYXQ6Mzc4MTksUkdCQV9BU1RDXzEweDVfRm9ybWF0OjM3ODE2LFJHQkFfQVNUQ18xMHg2X0Zvcm1hdDozNzgxNyxSR0JBX0FTVENfMTB4OF9Gb3JtYXQ6Mzc4MTgsUkdCQV9BU1RDXzEyeDEwX0Zvcm1hdDozNzgyMCxSR0JBX0FTVENfMTJ4MTJfRm9ybWF0OjM3ODIxLFJHQkFfQVNUQ180eDRfRm9ybWF0OjM3ODA4LFJHQkFfQVNUQ181eDRfRm9ybWF0OjM3ODA5LFJHQkFfQVNUQ181eDVfRm9ybWF0OjM3ODEwLFJHQkFfQVNUQ182eDVfRm9ybWF0OjM3ODExLFJHQkFfQVNUQ182eDZfRm9ybWF0OjM3ODEyLFJHQkFfQVNUQ184eDVfRm9ybWF0OjM3ODEzLFJHQkFfQVNUQ184eDZfRm9ybWF0OjM3ODE0LFJHQkFfQVNUQ184eDhfRm9ybWF0OjM3ODE1LFJHQkFfQlBUQ19Gb3JtYXQ6MzY0OTIsUkdCQV9FVEMyX0VBQ19Gb3JtYXQ6TzJ0LFJHQkFfUFZSVENfMkJQUFYxX0Zvcm1hdDpJMnQsUkdCQV9QVlJUQ180QlBQVjFfRm9ybWF0Ok4ydCxSR0JBX1MzVENfRFhUMV9Gb3JtYXQ6QzJ0LFJHQkFfUzNUQ19EWFQzX0Zvcm1hdDpBMnQsUkdCQV9TM1RDX0RYVDVfRm9ybWF0OmsydCxSR0JERW5jb2Rpbmc6SzJ0LFJHQkVFbmNvZGluZzpZMnQsUkdCRUZvcm1hdDoxMDIzLFJHQkZvcm1hdDp3MnQsUkdCSW50ZWdlckZvcm1hdDoxMDMyLFJHQk0xNkVuY29kaW5nOiQydCxSR0JNN0VuY29kaW5nOlgydCxSR0JfRVRDMV9Gb3JtYXQ6MzYxOTYsUkdCX0VUQzJfRm9ybWF0OlIydCxSR0JfUFZSVENfMkJQUFYxX0Zvcm1hdDpQMnQsUkdCX1BWUlRDXzRCUFBWMV9Gb3JtYXQ6TDJ0LFJHQl9TM1RDX0RYVDFfRm9ybWF0OlQydCxSR0Zvcm1hdDoxMDMwLFJHSW50ZWdlckZvcm1hdDoxMDMxLFJhd1NoYWRlck1hdGVyaWFsOms2dCxSYXk6bTN0LFJheWNhc3RlcjpjbGFzc3tjb25zdHJ1Y3Rvcih0LGUsbj0wLGk9MS8wKXt0aGlzLnJheT1uZXcgbTN0KHQsZSksdGhpcy5uZWFyPW4sdGhpcy5mYXI9aSx0aGlzLmNhbWVyYT1udWxsLHRoaXMubGF5ZXJzPW5ldyBDM3QsdGhpcy5wYXJhbXM9e01lc2g6e30sTGluZTp7dGhyZXNob2xkOjF9LExPRDp7fSxQb2ludHM6e3RocmVzaG9sZDoxfSxTcHJpdGU6e319fXNldCh0LGUpe3RoaXMucmF5LnNldCh0LGUpfXNldEZyb21DYW1lcmEodCxlKXtlJiZlLmlzUGVyc3BlY3RpdmVDYW1lcmE/KHRoaXMucmF5Lm9yaWdpbi5zZXRGcm9tTWF0cml4UG9zaXRpb24oZS5tYXRyaXhXb3JsZCksdGhpcy5yYXkuZGlyZWN0aW9uLnNldCh0LngsdC55LC41KS51bnByb2plY3QoZSkuc3ViKHRoaXMucmF5Lm9yaWdpbikubm9ybWFsaXplKCksdGhpcy5jYW1lcmE9ZSk6ZSYmZS5pc09ydGhvZ3JhcGhpY0NhbWVyYT8odGhpcy5yYXkub3JpZ2luLnNldCh0LngsdC55LChlLm5lYXIrZS5mYXIpLyhlLm5lYXItZS5mYXIpKS51bnByb2plY3QoZSksdGhpcy5yYXkuZGlyZWN0aW9uLnNldCgwLDAsLTEpLnRyYW5zZm9ybURpcmVjdGlvbihlLm1hdHJpeFdvcmxkKSx0aGlzLmNhbWVyYT1lKTpjb25zb2xlLmVycm9yKCJUSFJFRS5SYXljYXN0ZXI6IFVuc3VwcG9ydGVkIGNhbWVyYSB0eXBlOiAiK2UudHlwZSl9aW50ZXJzZWN0T2JqZWN0KHQsZT0hMSxuPVtdKXtyZXR1cm4gemllKHQsdGhpcyxuLGUpLG4uc29ydChPaWUpLG59aW50ZXJzZWN0T2JqZWN0cyh0LGU9ITEsbj1bXSl7Zm9yKGxldCBpPTAscj10Lmxlbmd0aDtpPHI7aSsrKXppZSh0W2ldLHRoaXMsbixlKTtyZXR1cm4gbi5zb3J0KE9pZSksbn19LFJlY3RBcmVhTGlnaHQ6RG5lLFJlZEZvcm1hdDoxMDI4LFJlZEludGVnZXJGb3JtYXQ6MTAyOSxSZWluaGFyZFRvbmVNYXBwaW5nOjIsUmVwZWF0V3JhcHBpbmc6czJ0LFJlcGxhY2VTdGVuY2lsT3A6NzY4MSxSZXZlcnNlU3VidHJhY3RFcXVhdGlvbjoxMDIsUmluZ0J1ZmZlckdlb21ldHJ5OlRlZSxSaW5nR2VvbWV0cnk6VGVlLFNSR0I4X0FMUEhBOF9BU1RDXzEweDEwX0Zvcm1hdDozNzg1MSxTUkdCOF9BTFBIQThfQVNUQ18xMHg1X0Zvcm1hdDozNzg0OCxTUkdCOF9BTFBIQThfQVNUQ18xMHg2X0Zvcm1hdDozNzg0OSxTUkdCOF9BTFBIQThfQVNUQ18xMHg4X0Zvcm1hdDozNzg1MCxTUkdCOF9BTFBIQThfQVNUQ18xMngxMF9Gb3JtYXQ6Mzc4NTIsU1JHQjhfQUxQSEE4X0FTVENfMTJ4MTJfRm9ybWF0OjM3ODUzLFNSR0I4X0FMUEhBOF9BU1RDXzR4NF9Gb3JtYXQ6Mzc4NDAsU1JHQjhfQUxQSEE4X0FTVENfNXg0X0Zvcm1hdDozNzg0MSxTUkdCOF9BTFBIQThfQVNUQ181eDVfRm9ybWF0OjM3ODQyLFNSR0I4X0FMUEhBOF9BU1RDXzZ4NV9Gb3JtYXQ6Mzc4NDMsU1JHQjhfQUxQSEE4X0FTVENfNng2X0Zvcm1hdDozNzg0NCxTUkdCOF9BTFBIQThfQVNUQ184eDVfRm9ybWF0OjM3ODQ1LFNSR0I4X0FMUEhBOF9BU1RDXzh4Nl9Gb3JtYXQ6Mzc4NDYsU1JHQjhfQUxQSEE4X0FTVENfOHg4X0Zvcm1hdDozNzg0NyxTY2VuZTpjN3QsU2NlbmVVdGlsczpmcmUsU2hhZGVyQ2h1bms6djZ0LFNoYWRlckxpYjp4NnQsU2hhZGVyTWF0ZXJpYWw6bjZ0LFNoYWRvd01hdGVyaWFsOkRlZSxTaGFwZTpibmUsU2hhcGVCdWZmZXJHZW9tZXRyeTpDZWUsU2hhcGVHZW9tZXRyeTpDZWUsU2hhcGVQYXRoOiRuZSxTaGFwZVV0aWxzOl9lZSxTaG9ydFR5cGU6MTAxMSxTa2VsZXRvbjpVN3QsU2tlbGV0b25IZWxwZXI6WGllLFNraW5uZWRNZXNoOkQ3dCxTbW9vdGhTaGFkaW5nOjIsU3BoZXJlOnMzdCxTcGhlcmVCdWZmZXJHZW9tZXRyeTpBZWUsU3BoZXJlR2VvbWV0cnk6QWVlLFNwaGVyaWNhbDpEaWUsU3BoZXJpY2FsSGFybW9uaWNzMzpCbmUsU3BsaW5lQ3VydmU6R3RlLFNwb3RMaWdodDpBbmUsU3BvdExpZ2h0SGVscGVyOmNsYXNzIGV4dGVuZHMgVjN0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLmxpZ2h0PXQsdGhpcy5saWdodC51cGRhdGVNYXRyaXhXb3JsZCgpLHRoaXMubWF0cml4PXQubWF0cml4V29ybGQsdGhpcy5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuY29sb3I9ZTtjb25zdCBuPW5ldyBONHQsaT1bMCwwLDAsMCwwLDEsMCwwLDAsMSwwLDEsMCwwLDAsLTEsMCwxLDAsMCwwLDAsMSwxLDAsMCwwLDAsLTEsMV07Zm9yKGxldCB0PTAsZT0xLG49MzI7dDxuO3QrKyxlKyspe2NvbnN0IHI9dC9uKk1hdGguUEkqMixvPWUvbipNYXRoLlBJKjI7aS5wdXNoKE1hdGguY29zKHIpLE1hdGguc2luKHIpLDEsTWF0aC5jb3MobyksTWF0aC5zaW4obyksMSl9bi5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgYjR0KGksMykpO2NvbnN0IHI9bmV3IFg3dCh7Zm9nOiExLHRvbmVNYXBwZWQ6ITF9KTt0aGlzLmNvbmU9bmV3IGl0ZShuLHIpLHRoaXMuYWRkKHRoaXMuY29uZSksdGhpcy51cGRhdGUoKX1kaXNwb3NlKCl7dGhpcy5jb25lLmdlb21ldHJ5LmRpc3Bvc2UoKSx0aGlzLmNvbmUubWF0ZXJpYWwuZGlzcG9zZSgpfXVwZGF0ZSgpe3RoaXMubGlnaHQudXBkYXRlTWF0cml4V29ybGQoKTtjb25zdCB0PXRoaXMubGlnaHQuZGlzdGFuY2U/dGhpcy5saWdodC5kaXN0YW5jZToxZTMsZT10Kk1hdGgudGFuKHRoaXMubGlnaHQuYW5nbGUpO3RoaXMuY29uZS5zY2FsZS5zZXQoZSxlLHQpLEdpZS5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5saWdodC50YXJnZXQubWF0cml4V29ybGQpLHRoaXMuY29uZS5sb29rQXQoR2llKSx2b2lkIDAhPT10aGlzLmNvbG9yP3RoaXMuY29uZS5tYXRlcmlhbC5jb2xvci5zZXQodGhpcy5jb2xvcik6dGhpcy5jb25lLm1hdGVyaWFsLmNvbG9yLmNvcHkodGhpcy5saWdodC5jb2xvcil9fSxTcHJpdGU6Qzd0LFNwcml0ZU1hdGVyaWFsOnA3dCxTcmNBbHBoYUZhY3RvcjoyMDQsU3JjQWxwaGFTYXR1cmF0ZUZhY3RvcjoyMTAsU3JjQ29sb3JGYWN0b3I6MjAyLFN0YXRpY0NvcHlVc2FnZTozNTA0NixTdGF0aWNEcmF3VXNhZ2U6SjJ0LFN0YXRpY1JlYWRVc2FnZTozNTA0NSxTdGVyZW9DYW1lcmE6Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnR5cGU9IlN0ZXJlb0NhbWVyYSIsdGhpcy5hc3BlY3Q9MSx0aGlzLmV5ZVNlcD0uMDY0LHRoaXMuY2FtZXJhTD1uZXcgcjZ0LHRoaXMuY2FtZXJhTC5sYXllcnMuZW5hYmxlKDEpLHRoaXMuY2FtZXJhTC5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuY2FtZXJhUj1uZXcgcjZ0LHRoaXMuY2FtZXJhUi5sYXllcnMuZW5hYmxlKDIpLHRoaXMuY2FtZXJhUi5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuX2NhY2hlPXtmb2N1czpudWxsLGZvdjpudWxsLGFzcGVjdDpudWxsLG5lYXI6bnVsbCxmYXI6bnVsbCx6b29tOm51bGwsZXllU2VwOm51bGx9fXVwZGF0ZSh0KXtjb25zdCBlPXRoaXMuX2NhY2hlO2lmKGUuZm9jdXMhPT10LmZvY3VzfHxlLmZvdiE9PXQuZm92fHxlLmFzcGVjdCE9PXQuYXNwZWN0KnRoaXMuYXNwZWN0fHxlLm5lYXIhPT10Lm5lYXJ8fGUuZmFyIT09dC5mYXJ8fGUuem9vbSE9PXQuem9vbXx8ZS5leWVTZXAhPT10aGlzLmV5ZVNlcCl7ZS5mb2N1cz10LmZvY3VzLGUuZm92PXQuZm92LGUuYXNwZWN0PXQuYXNwZWN0KnRoaXMuYXNwZWN0LGUubmVhcj10Lm5lYXIsZS5mYXI9dC5mYXIsZS56b29tPXQuem9vbSxlLmV5ZVNlcD10aGlzLmV5ZVNlcDtjb25zdCBuPXQucHJvamVjdGlvbk1hdHJpeC5jbG9uZSgpLGk9ZS5leWVTZXAvMixyPWkqZS5uZWFyL2UuZm9jdXMsbz1lLm5lYXIqTWF0aC50YW4ocjV0KmUuZm92Ki41KS9lLnpvb207bGV0IGEscztyaWUuZWxlbWVudHNbMTJdPS1pLGlpZS5lbGVtZW50c1sxMl09aSxhPS1vKmUuYXNwZWN0K3Iscz1vKmUuYXNwZWN0K3Isbi5lbGVtZW50c1swXT0yKmUubmVhci8ocy1hKSxuLmVsZW1lbnRzWzhdPShzK2EpLyhzLWEpLHRoaXMuY2FtZXJhTC5wcm9qZWN0aW9uTWF0cml4LmNvcHkobiksYT0tbyplLmFzcGVjdC1yLHM9byplLmFzcGVjdC1yLG4uZWxlbWVudHNbMF09MiplLm5lYXIvKHMtYSksbi5lbGVtZW50c1s4XT0ocythKS8ocy1hKSx0aGlzLmNhbWVyYVIucHJvamVjdGlvbk1hdHJpeC5jb3B5KG4pfXRoaXMuY2FtZXJhTC5tYXRyaXhXb3JsZC5jb3B5KHQubWF0cml4V29ybGQpLm11bHRpcGx5KHJpZSksdGhpcy5jYW1lcmFSLm1hdHJpeFdvcmxkLmNvcHkodC5tYXRyaXhXb3JsZCkubXVsdGlwbHkoaWllKX19LFN0cmVhbUNvcHlVc2FnZTozNTA0MixTdHJlYW1EcmF3VXNhZ2U6MzUwNDAsU3RyZWFtUmVhZFVzYWdlOjM1MDQxLFN0cmluZ0tleWZyYW1lVHJhY2s6cm5lLFN1YnRyYWN0RXF1YXRpb246MTAxLFN1YnRyYWN0aXZlQmxlbmRpbmc6MyxUT1VDSDpKMHQsVGFuZ2VudFNwYWNlTm9ybWFsTWFwOjAsVGV0cmFoZWRyb25CdWZmZXJHZW9tZXRyeTprZWUsVGV0cmFoZWRyb25HZW9tZXRyeTprZWUsVGV4dEJ1ZmZlckdlb21ldHJ5OkxlZSxUZXh0R2VvbWV0cnk6TGVlLFRleHR1cmU6TjV0LFRleHR1cmVMb2FkZXI6X25lLFRvcnVzQnVmZmVyR2VvbWV0cnk6UGVlLFRvcnVzR2VvbWV0cnk6UGVlLFRvcnVzS25vdEJ1ZmZlckdlb21ldHJ5Ok5lZSxUb3J1c0tub3RHZW9tZXRyeTpOZWUsVHJpYW5nbGU6SjN0LFRyaWFuZ2xlRmFuRHJhd01vZGU6MixUcmlhbmdsZVN0cmlwRHJhd01vZGU6MSxUcmlhbmdsZXNEcmF3TW9kZTowLFR1YmVCdWZmZXJHZW9tZXRyeTpJZWUsVHViZUdlb21ldHJ5OkllZSxVVk1hcHBpbmc6dDJ0LFVpbnQxNkF0dHJpYnV0ZTpmdW5jdGlvbiBEcmUodCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5VaW50MTZBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5VaW50MTZCdWZmZXJBdHRyaWJ1dGUoKSBpbnN0ZWFkLiIpLG5ldyBnNHQodCxlKX0sVWludDE2QnVmZmVyQXR0cmlidXRlOmc0dCxVaW50MzJBdHRyaWJ1dGU6ZnVuY3Rpb24gQnJlKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVWludDMyQXR0cmlidXRlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBuZXcgVEhSRUUuVWludDMyQnVmZmVyQXR0cmlidXRlKCkgaW5zdGVhZC4iKSxuZXcgeTR0KHQsZSl9LFVpbnQzMkJ1ZmZlckF0dHJpYnV0ZTp5NHQsVWludDhBdHRyaWJ1dGU6ZnVuY3Rpb24gSHJlKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVWludDhBdHRyaWJ1dGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5VaW50OEJ1ZmZlckF0dHJpYnV0ZSgpIGluc3RlYWQuIiksbmV3IHA0dCh0LGUpfSxVaW50OEJ1ZmZlckF0dHJpYnV0ZTpwNHQsVWludDhDbGFtcGVkQXR0cmlidXRlOmZ1bmN0aW9uIEZyZSh0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlVpbnQ4Q2xhbXBlZEF0dHJpYnV0ZSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbmV3IFRIUkVFLlVpbnQ4Q2xhbXBlZEJ1ZmZlckF0dHJpYnV0ZSgpIGluc3RlYWQuIiksbmV3IGY0dCh0LGUpfSxVaW50OENsYW1wZWRCdWZmZXJBdHRyaWJ1dGU6ZjR0LFVuaWZvcm06TmllLFVuaWZvcm1zTGliOmI2dCxVbmlmb3Jtc1V0aWxzOmU2dCxVbnNpZ25lZEJ5dGVUeXBlOmcydCxVbnNpZ25lZEludDI0OFR5cGU6eDJ0LFVuc2lnbmVkSW50VHlwZTp5MnQsVW5zaWduZWRTaG9ydDQ0NDRUeXBlOjEwMTcsVW5zaWduZWRTaG9ydDU1NTFUeXBlOjEwMTgsVW5zaWduZWRTaG9ydDU2NVR5cGU6MTAxOSxVbnNpZ25lZFNob3J0VHlwZTpfMnQsVlNNU2hhZG93TWFwOjMsVmVjdG9yMjpDNXQsVmVjdG9yMzpINXQsVmVjdG9yNDpSNXQsVmVjdG9yS2V5ZnJhbWVUcmFjazpvbmUsVmVydGV4OmZ1bmN0aW9uIFZyZSh0LGUsbil7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVydGV4IGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBUSFJFRS5WZWN0b3IzIGluc3RlYWQuIiksbmV3IEg1dCh0LGUsbil9LFZlcnRleENvbG9yczoyLFZpZGVvVGV4dHVyZTpkdGUsV2ViR0wxUmVuZGVyZXI6YTd0LFdlYkdMQ3ViZVJlbmRlclRhcmdldDpsNnQsV2ViR0xNdWx0aXBsZVJlbmRlclRhcmdldHM6ejV0LFdlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQ6RDV0LFdlYkdMUmVuZGVyVGFyZ2V0Ok81dCxXZWJHTFJlbmRlclRhcmdldEN1YmU6ZnVuY3Rpb24gVXJlKHQsZSxuKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldEN1YmUoIHdpZHRoLCBoZWlnaHQsIG9wdGlvbnMgKSBpcyBub3cgV2ViR0xDdWJlUmVuZGVyVGFyZ2V0KCBzaXplLCBvcHRpb25zICkuIiksbmV3IGw2dCh0LG4pfSxXZWJHTFJlbmRlcmVyOm83dCxXZWJHTFV0aWxzOko4dCxXaXJlZnJhbWVHZW9tZXRyeTpSZWUsV2lyZWZyYW1lSGVscGVyOmZ1bmN0aW9uIGpyZSh0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldpcmVmcmFtZUhlbHBlciBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuV2lyZWZyYW1lR2VvbWV0cnkgaW5zdGVhZC4iKSxuZXcgaXRlKG5ldyBSZWUodC5nZW9tZXRyeSksbmV3IFg3dCh7Y29sb3I6dm9pZCAwIT09ZT9lOjE2Nzc3MjE1fSkpfSxXcmFwQXJvdW5kRW5kaW5nOlYydCxYSFJMb2FkZXI6ZnVuY3Rpb24gR3JlKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlhIUkxvYWRlciBoYXMgYmVlbiByZW5hbWVkIHRvIFRIUkVFLkZpbGVMb2FkZXIuIiksbmV3IHBuZSh0KX0sWmVyb0N1cnZhdHVyZUVuZGluZzpIMnQsWmVyb0ZhY3RvcjoyMDAsWmVyb1Nsb3BlRW5kaW5nOkYydCxaZXJvU3RlbmNpbE9wOjAsc1JHQkVuY29kaW5nOlcydH0pO2NvbnN0IFdyZT17dHlwZToiY2hhbmdlIn0scXJlPXt0eXBlOiJzdGFydCJ9LFlyZT17dHlwZToiZW5kIn07Y2xhc3MgWHJlIGV4dGVuZHMgZTV0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx2b2lkIDA9PT1lJiZjb25zb2xlLndhcm4oJ1RIUkVFLk9yYml0Q29udHJvbHM6IFRoZSBzZWNvbmQgcGFyYW1ldGVyICJkb21FbGVtZW50IiBpcyBub3cgbWFuZGF0b3J5LicpLGU9PT1kb2N1bWVudCYmY29uc29sZS5lcnJvcignVEhSRUUuT3JiaXRDb250cm9sczogImRvY3VtZW50IiBzaG91bGQgbm90IGJlIHVzZWQgYXMgdGhlIHRhcmdldCAiZG9tRWxlbWVudCIuIFBsZWFzZSB1c2UgInJlbmRlcmVyLmRvbUVsZW1lbnQiIGluc3RlYWQuJyksdGhpcy5vYmplY3Q9dCx0aGlzLmRvbUVsZW1lbnQ9ZSx0aGlzLmRvbUVsZW1lbnQuc3R5bGUudG91Y2hBY3Rpb249Im5vbmUiLHRoaXMuZW5hYmxlZD0hMCx0aGlzLnRhcmdldD1uZXcgSDV0LHRoaXMubWluRGlzdGFuY2U9MCx0aGlzLm1heERpc3RhbmNlPTEvMCx0aGlzLm1pblpvb209MCx0aGlzLm1heFpvb209MS8wLHRoaXMubWluUG9sYXJBbmdsZT0wLHRoaXMubWF4UG9sYXJBbmdsZT1NYXRoLlBJLHRoaXMubWluQXppbXV0aEFuZ2xlPS0xLzAsdGhpcy5tYXhBemltdXRoQW5nbGU9MS8wLHRoaXMuZW5hYmxlRGFtcGluZz0hMSx0aGlzLmRhbXBpbmdGYWN0b3I9LjA1LHRoaXMuZW5hYmxlWm9vbT0hMCx0aGlzLnpvb21TcGVlZD0xLHRoaXMuZW5hYmxlUm90YXRlPSEwLHRoaXMucm90YXRlU3BlZWQ9MSx0aGlzLmVuYWJsZVBhbj0hMCx0aGlzLnBhblNwZWVkPTEsdGhpcy5zY3JlZW5TcGFjZVBhbm5pbmc9ITAsdGhpcy5rZXlQYW5TcGVlZD03LHRoaXMuYXV0b1JvdGF0ZT0hMSx0aGlzLmF1dG9Sb3RhdGVTcGVlZD0yLHRoaXMua2V5cz17TEVGVDoiQXJyb3dMZWZ0IixVUDoiQXJyb3dVcCIsUklHSFQ6IkFycm93UmlnaHQiLEJPVFRPTToiQXJyb3dEb3duIn0sdGhpcy5tb3VzZUJ1dHRvbnM9e0xFRlQ6WjB0LlJPVEFURSxNSURETEU6WjB0LkRPTExZLFJJR0hUOlowdC5QQU59LHRoaXMudG91Y2hlcz17T05FOkowdC5ST1RBVEUsVFdPOkowdC5ET0xMWV9QQU59LHRoaXMudGFyZ2V0MD10aGlzLnRhcmdldC5jbG9uZSgpLHRoaXMucG9zaXRpb24wPXRoaXMub2JqZWN0LnBvc2l0aW9uLmNsb25lKCksdGhpcy56b29tMD10aGlzLm9iamVjdC56b29tLHRoaXMuX2RvbUVsZW1lbnRLZXlFdmVudHM9bnVsbCx0aGlzLmdldFBvbGFyQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gYS5waGl9LHRoaXMuZ2V0QXppbXV0aGFsQW5nbGU9ZnVuY3Rpb24oKXtyZXR1cm4gYS50aGV0YX0sdGhpcy5nZXREaXN0YW5jZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm9iamVjdC5wb3NpdGlvbi5kaXN0YW5jZVRvKHRoaXMudGFyZ2V0KX0sdGhpcy5saXN0ZW5Ub0tleUV2ZW50cz1mdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGopLHRoaXMuX2RvbUVsZW1lbnRLZXlFdmVudHM9dH0sdGhpcy5zYXZlU3RhdGU9ZnVuY3Rpb24oKXtuLnRhcmdldDAuY29weShuLnRhcmdldCksbi5wb3NpdGlvbjAuY29weShuLm9iamVjdC5wb3NpdGlvbiksbi56b29tMD1uLm9iamVjdC56b29tfSx0aGlzLnJlc2V0PWZ1bmN0aW9uKCl7bi50YXJnZXQuY29weShuLnRhcmdldDApLG4ub2JqZWN0LnBvc2l0aW9uLmNvcHkobi5wb3NpdGlvbjApLG4ub2JqZWN0Lnpvb209bi56b29tMCxuLm9iamVjdC51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCksbi5kaXNwYXRjaEV2ZW50KFdyZSksbi51cGRhdGUoKSxyPWkuTk9ORX0sdGhpcy51cGRhdGU9KGZ1bmN0aW9uKCl7Y29uc3QgZT1uZXcgSDV0LGg9KG5ldyBCNXQpLnNldEZyb21Vbml0VmVjdG9ycyh0LnVwLG5ldyBINXQoMCwxLDApKSxkPWguY2xvbmUoKS5pbnZlcnQoKSxwPW5ldyBINXQsZj1uZXcgQjV0LG09MipNYXRoLlBJO3JldHVybiBmdW5jdGlvbiB0KCl7Y29uc3QgZz1uLm9iamVjdC5wb3NpdGlvbjtlLmNvcHkoZykuc3ViKG4udGFyZ2V0KSxlLmFwcGx5UXVhdGVybmlvbihoKSxhLnNldEZyb21WZWN0b3IzKGUpLG4uYXV0b1JvdGF0ZSYmcj09PWkuTk9ORSYmUygoZnVuY3Rpb24gXygpe3JldHVybiAyKk1hdGguUEkvNjAvNjAqbi5hdXRvUm90YXRlU3BlZWR9KSgpKSxuLmVuYWJsZURhbXBpbmc/KGEudGhldGErPXMudGhldGEqbi5kYW1waW5nRmFjdG9yLGEucGhpKz1zLnBoaSpuLmRhbXBpbmdGYWN0b3IpOihhLnRoZXRhKz1zLnRoZXRhLGEucGhpKz1zLnBoaSk7bGV0IHk9bi5taW5BemltdXRoQW5nbGUsdj1uLm1heEF6aW11dGhBbmdsZTtyZXR1cm4gaXNGaW5pdGUoeSkmJmlzRmluaXRlKHYpJiYoeTwtTWF0aC5QST95Kz1tOnk+TWF0aC5QSSYmKHktPW0pLHY8LU1hdGguUEk/dis9bTp2Pk1hdGguUEkmJih2LT1tKSxhLnRoZXRhPXk8PXY/TWF0aC5tYXgoeSxNYXRoLm1pbih2LGEudGhldGEpKTphLnRoZXRhPih5K3YpLzI/TWF0aC5tYXgoeSxhLnRoZXRhKTpNYXRoLm1pbih2LGEudGhldGEpKSxhLnBoaT1NYXRoLm1heChuLm1pblBvbGFyQW5nbGUsTWF0aC5taW4obi5tYXhQb2xhckFuZ2xlLGEucGhpKSksYS5tYWtlU2FmZSgpLGEucmFkaXVzKj1sLGEucmFkaXVzPU1hdGgubWF4KG4ubWluRGlzdGFuY2UsTWF0aC5taW4obi5tYXhEaXN0YW5jZSxhLnJhZGl1cykpLCEwPT09bi5lbmFibGVEYW1waW5nP24udGFyZ2V0LmFkZFNjYWxlZFZlY3RvcihjLG4uZGFtcGluZ0ZhY3Rvcik6bi50YXJnZXQuYWRkKGMpLGUuc2V0RnJvbVNwaGVyaWNhbChhKSxlLmFwcGx5UXVhdGVybmlvbihkKSxnLmNvcHkobi50YXJnZXQpLmFkZChlKSxuLm9iamVjdC5sb29rQXQobi50YXJnZXQpLCEwPT09bi5lbmFibGVEYW1waW5nPyhzLnRoZXRhKj0xLW4uZGFtcGluZ0ZhY3RvcixzLnBoaSo9MS1uLmRhbXBpbmdGYWN0b3IsYy5tdWx0aXBseVNjYWxhcigxLW4uZGFtcGluZ0ZhY3RvcikpOihzLnNldCgwLDAsMCksYy5zZXQoMCwwLDApKSxsPTEsISEodXx8cC5kaXN0YW5jZVRvU3F1YXJlZChuLm9iamVjdC5wb3NpdGlvbik+b3x8OCooMS1mLmRvdChuLm9iamVjdC5xdWF0ZXJuaW9uKSk+bykmJihuLmRpc3BhdGNoRXZlbnQoV3JlKSxwLmNvcHkobi5vYmplY3QucG9zaXRpb24pLGYuY29weShuLm9iamVjdC5xdWF0ZXJuaW9uKSx1PSExLCEwKX19KSgpLHRoaXMuZGlzcG9zZT1mdW5jdGlvbigpe24uZG9tRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsRyksbi5kb21FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIixCKSxuLmRvbUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmNhbmNlbCIsViksbi5kb21FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIixVKSxuLmRvbUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLEgpLG4uZG9tRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLEYpLG51bGwhPT1uLl9kb21FbGVtZW50S2V5RXZlbnRzJiZuLl9kb21FbGVtZW50S2V5RXZlbnRzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGopfTtjb25zdCBuPXRoaXMsaT17Tk9ORTotMSxST1RBVEU6MCxET0xMWToxLFBBTjoyLFRPVUNIX1JPVEFURTozLFRPVUNIX1BBTjo0LFRPVUNIX0RPTExZX1BBTjo1LFRPVUNIX0RPTExZX1JPVEFURTo2fTtsZXQgcj1pLk5PTkU7Y29uc3Qgbz0xZS02LGE9bmV3IERpZSxzPW5ldyBEaWU7bGV0IGw9MTtjb25zdCBjPW5ldyBINXQ7bGV0IHU9ITE7Y29uc3QgaD1uZXcgQzV0LGQ9bmV3IEM1dCxwPW5ldyBDNXQsZj1uZXcgQzV0LG09bmV3IEM1dCxnPW5ldyBDNXQsXz1uZXcgQzV0LHk9bmV3IEM1dCx2PW5ldyBDNXQsYj1bXSx4PXt9O2Z1bmN0aW9uIHcoKXtyZXR1cm4gTWF0aC5wb3coLjk1LG4uem9vbVNwZWVkKX1mdW5jdGlvbiBTKHQpe3MudGhldGEtPXR9ZnVuY3Rpb24gTSh0KXtzLnBoaS09dH1jb25zdCBFPShmdW5jdGlvbigpe2NvbnN0IHQ9bmV3IEg1dDtyZXR1cm4gZnVuY3Rpb24gZShuLGkpe3Quc2V0RnJvbU1hdHJpeENvbHVtbihpLDApLHQubXVsdGlwbHlTY2FsYXIoLW4pLGMuYWRkKHQpfX0pKCksVD0oZnVuY3Rpb24oKXtjb25zdCB0PW5ldyBINXQ7cmV0dXJuIGZ1bmN0aW9uIGUoaSxyKXshMD09PW4uc2NyZWVuU3BhY2VQYW5uaW5nP3Quc2V0RnJvbU1hdHJpeENvbHVtbihyLDEpOih0LnNldEZyb21NYXRyaXhDb2x1bW4ociwwKSx0LmNyb3NzVmVjdG9ycyhuLm9iamVjdC51cCx0KSksdC5tdWx0aXBseVNjYWxhcihpKSxjLmFkZCh0KX19KSgpLEM9KGZ1bmN0aW9uKCl7Y29uc3QgdD1uZXcgSDV0O3JldHVybiBmdW5jdGlvbiBlKGkscil7Y29uc3Qgbz1uLmRvbUVsZW1lbnQ7aWYobi5vYmplY3QuaXNQZXJzcGVjdGl2ZUNhbWVyYSl7dC5jb3B5KG4ub2JqZWN0LnBvc2l0aW9uKS5zdWIobi50YXJnZXQpO2xldCBlPXQubGVuZ3RoKCk7ZSo9TWF0aC50YW4obi5vYmplY3QuZm92LzIqTWF0aC5QSS8xODApLEUoMippKmUvby5jbGllbnRIZWlnaHQsbi5vYmplY3QubWF0cml4KSxUKDIqciplL28uY2xpZW50SGVpZ2h0LG4ub2JqZWN0Lm1hdHJpeCl9ZWxzZSBuLm9iamVjdC5pc09ydGhvZ3JhcGhpY0NhbWVyYT8oRShpKihuLm9iamVjdC5yaWdodC1uLm9iamVjdC5sZWZ0KS9uLm9iamVjdC56b29tL28uY2xpZW50V2lkdGgsbi5vYmplY3QubWF0cml4KSxUKHIqKG4ub2JqZWN0LnRvcC1uLm9iamVjdC5ib3R0b20pL24ub2JqZWN0Lnpvb20vby5jbGllbnRIZWlnaHQsbi5vYmplY3QubWF0cml4KSk6KGNvbnNvbGUud2FybigiV0FSTklORzogT3JiaXRDb250cm9scy5qcyBlbmNvdW50ZXJlZCBhbiB1bmtub3duIGNhbWVyYSB0eXBlIC0gcGFuIGRpc2FibGVkLiIpLG4uZW5hYmxlUGFuPSExKX19KSgpO2Z1bmN0aW9uIEEodCl7bi5vYmplY3QuaXNQZXJzcGVjdGl2ZUNhbWVyYT9sLz10Om4ub2JqZWN0LmlzT3J0aG9ncmFwaGljQ2FtZXJhPyhuLm9iamVjdC56b29tPU1hdGgubWF4KG4ubWluWm9vbSxNYXRoLm1pbihuLm1heFpvb20sbi5vYmplY3Quem9vbSp0KSksbi5vYmplY3QudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpLHU9ITApOihjb25zb2xlLndhcm4oIldBUk5JTkc6IE9yYml0Q29udHJvbHMuanMgZW5jb3VudGVyZWQgYW4gdW5rbm93biBjYW1lcmEgdHlwZSAtIGRvbGx5L3pvb20gZGlzYWJsZWQuIiksbi5lbmFibGVab29tPSExKX1mdW5jdGlvbiBrKHQpe24ub2JqZWN0LmlzUGVyc3BlY3RpdmVDYW1lcmE/bCo9dDpuLm9iamVjdC5pc09ydGhvZ3JhcGhpY0NhbWVyYT8obi5vYmplY3Quem9vbT1NYXRoLm1heChuLm1pblpvb20sTWF0aC5taW4obi5tYXhab29tLG4ub2JqZWN0Lnpvb20vdCkpLG4ub2JqZWN0LnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKSx1PSEwKTooY29uc29sZS53YXJuKCJXQVJOSU5HOiBPcmJpdENvbnRyb2xzLmpzIGVuY291bnRlcmVkIGFuIHVua25vd24gY2FtZXJhIHR5cGUgLSBkb2xseS96b29tIGRpc2FibGVkLiIpLG4uZW5hYmxlWm9vbT0hMSl9ZnVuY3Rpb24gTCh0KXtoLnNldCh0LmNsaWVudFgsdC5jbGllbnRZKX1mdW5jdGlvbiBQKHQpe2Yuc2V0KHQuY2xpZW50WCx0LmNsaWVudFkpfWZ1bmN0aW9uIE4oKXtpZigxPT09Yi5sZW5ndGgpaC5zZXQoYlswXS5wYWdlWCxiWzBdLnBhZ2VZKTtlbHNle2guc2V0KC41KihiWzBdLnBhZ2VYK2JbMV0ucGFnZVgpLC41KihiWzBdLnBhZ2VZK2JbMV0ucGFnZVkpKX19ZnVuY3Rpb24gSSgpe2lmKDE9PT1iLmxlbmd0aClmLnNldChiWzBdLnBhZ2VYLGJbMF0ucGFnZVkpO2Vsc2V7Zi5zZXQoLjUqKGJbMF0ucGFnZVgrYlsxXS5wYWdlWCksLjUqKGJbMF0ucGFnZVkrYlsxXS5wYWdlWSkpfX1mdW5jdGlvbiBSKCl7Y29uc3QgdD1iWzBdLnBhZ2VYLWJbMV0ucGFnZVgsZT1iWzBdLnBhZ2VZLWJbMV0ucGFnZVksbj1NYXRoLnNxcnQodCp0K2UqZSk7Xy5zZXQoMCxuKX1mdW5jdGlvbiBPKHQpe2lmKDE9PWIubGVuZ3RoKWQuc2V0KHQucGFnZVgsdC5wYWdlWSk7ZWxzZXtjb25zdCBlPVkodCk7ZC5zZXQoLjUqKHQucGFnZVgrZS54KSwuNSoodC5wYWdlWStlLnkpKX1wLnN1YlZlY3RvcnMoZCxoKS5tdWx0aXBseVNjYWxhcihuLnJvdGF0ZVNwZWVkKTtjb25zdCBlPW4uZG9tRWxlbWVudDtTKDIqTWF0aC5QSSpwLngvZS5jbGllbnRIZWlnaHQpLE0oMipNYXRoLlBJKnAueS9lLmNsaWVudEhlaWdodCksaC5jb3B5KGQpfWZ1bmN0aW9uIHoodCl7aWYoMT09PWIubGVuZ3RoKW0uc2V0KHQucGFnZVgsdC5wYWdlWSk7ZWxzZXtjb25zdCBlPVkodCk7bS5zZXQoLjUqKHQucGFnZVgrZS54KSwuNSoodC5wYWdlWStlLnkpKX1nLnN1YlZlY3RvcnMobSxmKS5tdWx0aXBseVNjYWxhcihuLnBhblNwZWVkKSxDKGcueCxnLnkpLGYuY29weShtKX1mdW5jdGlvbiBEKHQpe2NvbnN0IGU9WSh0KSxpPXQucGFnZVgtZS54LHI9dC5wYWdlWS1lLnksbz1NYXRoLnNxcnQoaSppK3Iqcik7eS5zZXQoMCxvKSx2LnNldCgwLE1hdGgucG93KHkueS9fLnksbi56b29tU3BlZWQpKSxBKHYueSksXy5jb3B5KHkpfWZ1bmN0aW9uIEIodCl7ITEhPT1uLmVuYWJsZWQmJigwPT09Yi5sZW5ndGgmJihuLmRvbUVsZW1lbnQuc2V0UG9pbnRlckNhcHR1cmUodC5wb2ludGVySWQpLG4uZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsSCksbi5kb21FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsRikpLChmdW5jdGlvbiBlKHQpe2IucHVzaCh0KX0pKHQpLCJ0b3VjaCI9PT10LnBvaW50ZXJUeXBlPyhmdW5jdGlvbiBvKHQpe3N3aXRjaChxKHQpLGIubGVuZ3RoKXtjYXNlIDE6c3dpdGNoKG4udG91Y2hlcy5PTkUpe2Nhc2UgSjB0LlJPVEFURTppZighMT09PW4uZW5hYmxlUm90YXRlKXJldHVybjtOKCkscj1pLlRPVUNIX1JPVEFURTticmVhaztjYXNlIEowdC5QQU46aWYoITE9PT1uLmVuYWJsZVBhbilyZXR1cm47SSgpLHI9aS5UT1VDSF9QQU47YnJlYWs7ZGVmYXVsdDpyPWkuTk9ORX1icmVhaztjYXNlIDI6c3dpdGNoKG4udG91Y2hlcy5UV08pe2Nhc2UgSjB0LkRPTExZX1BBTjppZighMT09PW4uZW5hYmxlWm9vbSYmITE9PT1uLmVuYWJsZVBhbilyZXR1cm47IShmdW5jdGlvbiB0KCl7bi5lbmFibGVab29tJiZSKCksbi5lbmFibGVQYW4mJkkoKX0pKCkscj1pLlRPVUNIX0RPTExZX1BBTjticmVhaztjYXNlIEowdC5ET0xMWV9ST1RBVEU6aWYoITE9PT1uLmVuYWJsZVpvb20mJiExPT09bi5lbmFibGVSb3RhdGUpcmV0dXJuOyEoZnVuY3Rpb24gZSgpe24uZW5hYmxlWm9vbSYmUigpLG4uZW5hYmxlUm90YXRlJiZOKCl9KSgpLHI9aS5UT1VDSF9ET0xMWV9ST1RBVEU7YnJlYWs7ZGVmYXVsdDpyPWkuTk9ORX1icmVhaztkZWZhdWx0OnI9aS5OT05FfXIhPT1pLk5PTkUmJm4uZGlzcGF0Y2hFdmVudChxcmUpfSkodCk6KGZ1bmN0aW9uIGEodCl7bGV0IGU7c3dpdGNoKHQuYnV0dG9uKXtjYXNlIDA6ZT1uLm1vdXNlQnV0dG9ucy5MRUZUO2JyZWFrO2Nhc2UgMTplPW4ubW91c2VCdXR0b25zLk1JRERMRTticmVhaztjYXNlIDI6ZT1uLm1vdXNlQnV0dG9ucy5SSUdIVDticmVhaztkZWZhdWx0OmU9LTF9c3dpdGNoKGUpe2Nhc2UgWjB0LkRPTExZOmlmKCExPT09bi5lbmFibGVab29tKXJldHVybjshKGZ1bmN0aW9uIGUodCl7Xy5zZXQodC5jbGllbnRYLHQuY2xpZW50WSl9KSh0KSxyPWkuRE9MTFk7YnJlYWs7Y2FzZSBaMHQuUk9UQVRFOmlmKHQuY3RybEtleXx8dC5tZXRhS2V5fHx0LnNoaWZ0S2V5KXtpZighMT09PW4uZW5hYmxlUGFuKXJldHVybjtQKHQpLHI9aS5QQU59ZWxzZXtpZighMT09PW4uZW5hYmxlUm90YXRlKXJldHVybjtMKHQpLHI9aS5ST1RBVEV9YnJlYWs7Y2FzZSBaMHQuUEFOOmlmKHQuY3RybEtleXx8dC5tZXRhS2V5fHx0LnNoaWZ0S2V5KXtpZighMT09PW4uZW5hYmxlUm90YXRlKXJldHVybjtMKHQpLHI9aS5ST1RBVEV9ZWxzZXtpZighMT09PW4uZW5hYmxlUGFuKXJldHVybjtQKHQpLHI9aS5QQU59YnJlYWs7ZGVmYXVsdDpyPWkuTk9ORX1yIT09aS5OT05FJiZuLmRpc3BhdGNoRXZlbnQocXJlKX0pKHQpKX1mdW5jdGlvbiBIKHQpeyExIT09bi5lbmFibGVkJiYoInRvdWNoIj09PXQucG9pbnRlclR5cGU/KGZ1bmN0aW9uIGUodCl7c3dpdGNoKHEodCkscil7Y2FzZSBpLlRPVUNIX1JPVEFURTppZighMT09PW4uZW5hYmxlUm90YXRlKXJldHVybjtPKHQpLG4udXBkYXRlKCk7YnJlYWs7Y2FzZSBpLlRPVUNIX1BBTjppZighMT09PW4uZW5hYmxlUGFuKXJldHVybjt6KHQpLG4udXBkYXRlKCk7YnJlYWs7Y2FzZSBpLlRPVUNIX0RPTExZX1BBTjppZighMT09PW4uZW5hYmxlWm9vbSYmITE9PT1uLmVuYWJsZVBhbilyZXR1cm47IShmdW5jdGlvbiBlKHQpe24uZW5hYmxlWm9vbSYmRCh0KSxuLmVuYWJsZVBhbiYmeih0KX0pKHQpLG4udXBkYXRlKCk7YnJlYWs7Y2FzZSBpLlRPVUNIX0RPTExZX1JPVEFURTppZighMT09PW4uZW5hYmxlWm9vbSYmITE9PT1uLmVuYWJsZVJvdGF0ZSlyZXR1cm47IShmdW5jdGlvbiBvKHQpe24uZW5hYmxlWm9vbSYmRCh0KSxuLmVuYWJsZVJvdGF0ZSYmTyh0KX0pKHQpLG4udXBkYXRlKCk7YnJlYWs7ZGVmYXVsdDpyPWkuTk9ORX19KSh0KTooZnVuY3Rpb24gbyh0KXtpZighMT09PW4uZW5hYmxlZClyZXR1cm47c3dpdGNoKHIpe2Nhc2UgaS5ST1RBVEU6aWYoITE9PT1uLmVuYWJsZVJvdGF0ZSlyZXR1cm47IShmdW5jdGlvbiBlKHQpe2Quc2V0KHQuY2xpZW50WCx0LmNsaWVudFkpLHAuc3ViVmVjdG9ycyhkLGgpLm11bHRpcGx5U2NhbGFyKG4ucm90YXRlU3BlZWQpO2NvbnN0IGU9bi5kb21FbGVtZW50O1MoMipNYXRoLlBJKnAueC9lLmNsaWVudEhlaWdodCksTSgyKk1hdGguUEkqcC55L2UuY2xpZW50SGVpZ2h0KSxoLmNvcHkoZCksbi51cGRhdGUoKX0pKHQpO2JyZWFrO2Nhc2UgaS5ET0xMWTppZighMT09PW4uZW5hYmxlWm9vbSlyZXR1cm47IShmdW5jdGlvbiByKHQpe3kuc2V0KHQuY2xpZW50WCx0LmNsaWVudFkpLHYuc3ViVmVjdG9ycyh5LF8pLHYueT4wP0EodygpKTp2Lnk8MCYmayh3KCkpLF8uY29weSh5KSxuLnVwZGF0ZSgpfSkodCk7YnJlYWs7Y2FzZSBpLlBBTjppZighMT09PW4uZW5hYmxlUGFuKXJldHVybjshKGZ1bmN0aW9uIG8odCl7bS5zZXQodC5jbGllbnRYLHQuY2xpZW50WSksZy5zdWJWZWN0b3JzKG0sZikubXVsdGlwbHlTY2FsYXIobi5wYW5TcGVlZCksQyhnLngsZy55KSxmLmNvcHkobSksbi51cGRhdGUoKX0pKHQpfX0pKHQpKX1mdW5jdGlvbiBGKHQpeyExIT09bi5lbmFibGVkJiYoInRvdWNoIj09PXQucG9pbnRlclR5cGU/KGZ1bmN0aW9uIGUodCl7bi5kaXNwYXRjaEV2ZW50KFlyZSkscj1pLk5PTkV9KSgpOihmdW5jdGlvbiBvKHQpe24uZGlzcGF0Y2hFdmVudChZcmUpLHI9aS5OT05FfSkoKSxXKHQpLDA9PT1iLmxlbmd0aCYmKG4uZG9tRWxlbWVudC5yZWxlYXNlUG9pbnRlckNhcHR1cmUodC5wb2ludGVySWQpLG4uZG9tRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsSCksbi5kb21FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsRikpKX1mdW5jdGlvbiBWKHQpe1codCl9ZnVuY3Rpb24gVSh0KXshMT09PW4uZW5hYmxlZHx8ITE9PT1uLmVuYWJsZVpvb218fHIhPT1pLk5PTkUmJnIhPT1pLlJPVEFURXx8KHQucHJldmVudERlZmF1bHQoKSxuLmRpc3BhdGNoRXZlbnQocXJlKSwoZnVuY3Rpb24gZSh0KXt0LmRlbHRhWTwwP2sodygpKTp0LmRlbHRhWT4wJiZBKHcoKSksbi51cGRhdGUoKX0pKHQpLG4uZGlzcGF0Y2hFdmVudChZcmUpKX1mdW5jdGlvbiBqKHQpeyExIT09bi5lbmFibGVkJiYhMSE9PW4uZW5hYmxlUGFuJiYoZnVuY3Rpb24gZSh0KXtsZXQgZT0hMTtzd2l0Y2godC5jb2RlKXtjYXNlIG4ua2V5cy5VUDpDKDAsbi5rZXlQYW5TcGVlZCksZT0hMDticmVhaztjYXNlIG4ua2V5cy5CT1RUT006QygwLC1uLmtleVBhblNwZWVkKSxlPSEwO2JyZWFrO2Nhc2Ugbi5rZXlzLkxFRlQ6QyhuLmtleVBhblNwZWVkLDApLGU9ITA7YnJlYWs7Y2FzZSBuLmtleXMuUklHSFQ6Qygtbi5rZXlQYW5TcGVlZCwwKSxlPSEwfWUmJih0LnByZXZlbnREZWZhdWx0KCksbi51cGRhdGUoKSl9KSh0KX1mdW5jdGlvbiBHKHQpeyExIT09bi5lbmFibGVkJiZ0LnByZXZlbnREZWZhdWx0KCl9ZnVuY3Rpb24gVyh0KXtkZWxldGUgeFt0LnBvaW50ZXJJZF07Zm9yKGxldCBlPTA7ZTxiLmxlbmd0aDtlKyspaWYoYltlXS5wb2ludGVySWQ9PXQucG9pbnRlcklkKXJldHVybiB2b2lkIGIuc3BsaWNlKGUsMSl9ZnVuY3Rpb24gcSh0KXtsZXQgZT14W3QucG9pbnRlcklkXTt2b2lkIDA9PT1lJiYoZT1uZXcgQzV0LHhbdC5wb2ludGVySWRdPWUpLGUuc2V0KHQucGFnZVgsdC5wYWdlWSl9ZnVuY3Rpb24gWSh0KXtyZXR1cm4geFsodC5wb2ludGVySWQ9PT1iWzBdLnBvaW50ZXJJZD9iWzFdOmJbMF0pLnBvaW50ZXJJZF19bi5kb21FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IixHKSxuLmRvbUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLEIpLG4uZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIixWKSxuLmRvbUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigid2hlZWwiLFUse3Bhc3NpdmU6ITF9KSx0aGlzLnVwZGF0ZSgpfX1jbGFzcyAkcmUgZXh0ZW5kcyBlNXR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLl9sYXN0TWVzaD1udWxsLHRoaXMuX2Nsb2NrPW5ldyBvaWUsdGhpcy5fY2FudmFzU2l6ZT1udWxsLHRoaXMuX2xheWVyc0NvbmZpZz1udWxsLHRoaXMuX3J1bkNvbG9yPXR9X2lzT2JqZWN0KHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9dCYmIUFycmF5LmlzQXJyYXkodCl9X2FwcGx5RGVmYXVsdHModCxlKXtsZXQgbj17fTtjb25zdCBpPVt0LGVdO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtjb25zdCBlPWlbdF07Zm9yKGxldCB0IGluIGUpe2NvbnN0IGk9dCBpbiBuO3RoaXMuX2lzT2JqZWN0KGVbdF0pP25bdF09dGhpcy5fYXBwbHlEZWZhdWx0cyhuW3RdfHx7fSxlW3RdKTppfHwoblt0XT1lW3RdKX19cmV0dXJuIG59X2NyZWF0ZUxheWVycygpe2lmKHRoaXMuX2xheWVyc0NvbmZpZyYmdGhpcy5fc2NlbmUmJnRoaXMuX2xhc3RNZXNoKXtpZih0aGlzLl9sYXllcnNDb25maWcuc2hvd0JvdW5kaW5nQm94KXt2YXIgdD1uZXcgc3JlKHRoaXMuX2xhc3RNZXNoLG5ldyBzNHQoInJnYigwLCAwLCAyNTUpIikpO3RoaXMuX3NjZW5lLmFkZCh0KX1pZih0aGlzLl9sYXllcnNDb25maWcuc2hvd0F4ZXMpe3ZhciBlPW5ldyBocmUoNSk7dGhpcy5fc2NlbmUuYWRkKGUpfX19c2V0TGF5ZXJzQ29uZmlnKHQpe3RoaXMuX2xheWVyc0NvbmZpZz10aGlzLl9hcHBseURlZmF1bHRzKHQsdGhpcy5fbGF5ZXJzQ29uZmlnfHx7fSl9X2NyZWF0ZVdvcmxkKHQsZSl7aWYodGhpcy5pc1JlYWR5KCkpcmV0dXJuO3RoaXMuX3NjZW5lPW5ldyBjN3Q7dmFyIG49bmV3IG1yZVt0LmNhbWVyYS5jbHNdKHQuY2FtZXJhLmZvdix0aGlzLl9jYW52YXNTaXplLndpZHRoL3RoaXMuX2NhbnZhc1NpemUuaGVpZ2h0LHQuY2FtZXJhLm5lYXIsdC5jYW1lcmEuZmFyKTt0aGlzLl9jYW1lcmE9bix0aGlzLmluaXRDYW1lcmFQb3NpdGlvbj1udWxsLHQuY2FtZXJhLnBvc2l0aW9uJiYodGhpcy5pbml0Q2FtZXJhUG9zaXRpb249KG5ldyBINXQpLmZyb21BcnJheSh0LmNhbWVyYS5wb3NpdGlvbikpLHRoaXMuaW5pdENhbWVyYUxvb2tBdD1udWxsLHQuY2FtZXJhLmxvb2tBdCYmKHRoaXMuaW5pdENhbWVyYUxvb2tBdD0obmV3IEg1dCkuZnJvbUFycmF5KHQuY2FtZXJhLmxvb2tBdCkpO3ZhciBpPW5ldyBYcmUobixlKTtjb25zdCByPWk7ci5sb29rU3BlZWQ9LjQsci5tb3ZlbWVudFNwZWVkPTIwLHIubm9GbHk9ITAsci5sb29rVmVydGljYWw9ITAsci5jb25zdHJhaW5WZXJ0aWNhbD0hMCxyLnZlcnRpY2FsTWluPTEsci52ZXJ0aWNhbE1heD0yLHIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLl9vbkNhbWVyYVBvc2l0aW9uQ2hhbmdlLmJpbmQodGhpcykpLHRoaXMuX2NhbWVyYUNvbnRyb2xzPWksdGhpcy5fcmVuZGVyZXI9bmV3IG83dCh7YW50aWFsaWFzOiEwfSksdGhpcy5fcmVuZGVyZXIuc2V0UGl4ZWxSYXRpbyh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyksdGhpcy5fcmVuZGVyZXIuc2V0U2l6ZSh0aGlzLl9jYW52YXNTaXplLndpZHRoLHRoaXMuX2NhbnZhc1NpemUuaGVpZ2h0KSx0aGlzLl9yZW5kZXJlci5zZXRDbGVhckNvbG9yKDE2Nzc3MjE1LDEpfV9jbGVhclNjZW5lKCl7Zm9yKDt0aGlzLl9zY2VuZS5jaGlsZHJlbi5sZW5ndGg+MDspdGhpcy5fc2NlbmUucmVtb3ZlKHRoaXMuX3NjZW5lLmNoaWxkcmVuWzBdKX1nZXRSZW5kZXJlcigpe3JldHVybiB0aGlzLl9yZW5kZXJlcn1nZXRDYW1lcmFDb250cm9scygpe3JldHVybiB0aGlzLl9jYW1lcmFDb250cm9sc31pc1JlYWR5KCl7cmV0dXJuISF0aGlzLl9jYW1lcmEmJiEhdGhpcy5fY2FtZXJhQ29udHJvbHN9Z2V0Q2FtZXJhUG9zaXRpb24oKXtyZXR1cm57ZmFyOnRoaXMuX2NhbWVyYS5mYXIscG9zaXRpb246dGhpcy5fY2FtZXJhLnBvc2l0aW9uLmNsb25lKCksdGFyZ2V0OnRoaXMuX2NhbWVyYUNvbnRyb2xzLnRhcmdldC5jbG9uZSgpfX1zZXRDYW52YXNTaXplKHQpe3RoaXMuX2NhbnZhc1NpemU9dH1kcmF3KCl7dGhpcy5fYW5pbWF0aW9uRnJhbWVJbmRleCYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fYW5pbWF0aW9uRnJhbWVJbmRleCksdGhpcy5fY2FtZXJhLmFzcGVjdD10aGlzLl9jYW52YXNTaXplLndpZHRoL3RoaXMuX2NhbnZhc1NpemUuaGVpZ2h0LHRoaXMuX2NhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCksdGhpcy5fcmVuZGVyZXIuc2V0U2l6ZSh0aGlzLl9jYW52YXNTaXplLndpZHRoLHRoaXMuX2NhbnZhc1NpemUuaGVpZ2h0KTtjb25zdCB0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fY2xvY2suZ2V0RGVsdGEoKTt0aGlzLl9jYW1lcmFDb250cm9scy51cGRhdGUoZSksdGhpcy5fYW5pbWF0aW9uRnJhbWVJbmRleD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodCksdGhpcy5fcmVuZGVyZXIucmVuZGVyKHRoaXMuX3NjZW5lLHRoaXMuX2NhbWVyYSl9LmJpbmQodGhpcyk7dCgpfXVwZGF0ZVNjZW5lKHQsZSl7bGV0IG49e307ImNvbmZpZyJpbiB0JiZ0LmNvbmZpZyYmKG49SlNPTi5wYXJzZSh0LmNvbmZpZykpLHRoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiYmVmb3JlVXBkYXRlU2NlbmUifSk7bj10aGlzLl9hcHBseURlZmF1bHRzKG4se2NhbWVyYTp7Y2xzOiJQZXJzcGVjdGl2ZUNhbWVyYSIsZm92Ojc1LG5lYXI6LjEsZmFyOjFlM30sbGlnaHRzOlt7Y2xzOiJBbWJpZW50TGlnaHQiLGNvbG9yOiIjZmZmZmZmIixpbnRlbnNpdHk6Ljc1fSx7Y2xzOiJEaXJlY3Rpb25hbExpZ2h0Iixjb2xvcjoiI2ZmZmZmZiIsaW50ZW5zaXR5Oi43NSxwb3NpdGlvbjpbMCwtMSwyXX1dfSksdGhpcy5fY3JlYXRlV29ybGQobixlKSx0aGlzLl9jbGVhclNjZW5lKCksdGhpcy5fY3JlYXRlTGlnaHRzKHRoaXMuX3NjZW5lLG4pLHRoaXMuX2NyZWF0ZUdlb21ldHJ5KHQsbiksdGhpcy5fY3JlYXRlTGF5ZXJzKCksdGhpcy5kcmF3KCl9cmVzZXRWaWV3KHQpe2lmKCF0aGlzLmlzUmVhZHkoKSlyZXR1cm47bGV0IGU7dGhpcy5fY2FtZXJhQ29udHJvbHMucmVzZXQoKSwhdCYmdGhpcy5fbGFzdE1lc2gmJihlPXRoaXMuX2xhc3RNZXNoKSxlJiYodGhpcy5fZml0T2JqZWN0VG9WaWV3cG9ydChlKSx0aGlzLl9sYXN0TWVzaD1lKSx0aGlzLl9jYW1lcmFDb250cm9scy51cGRhdGUoKX1fY3JlYXRlR2VvbWV0cnkodCxlKXtjb25zdCBuPXQubWVzaDtuLnZlcnRpY2VzJiZuLmZhY2VzJiZuLmZhY2VzLmxlbmd0aD90aGlzLl9jcmVhdGVNZXNoKG4sZSk6dGhpcy5fY3JlYXRlUG9pbnRDbG91ZChuLGUpfV9jcmVhdGVQb2ludENsb3VkKHQsZSl7Y29uc3Qgbj10LnZlcnRpY2VzLGk9dC5jb2xvcnM7bGV0IHI9e21hdGVyaWFsOntjbHM6IlBvaW50c01hdGVyaWFsIixzaXplOi4wMDV9fTtpJiZpLmxlbmd0aD09bi5sZW5ndGg/ci5tYXRlcmlhbC52ZXJ0ZXhDb2xvcnM9ITA6ci5tYXRlcmlhbC5jb2xvcj10aGlzLl9ydW5Db2xvcjtjb25zdCBvPXRoaXMuX2FwcGx5RGVmYXVsdHMoZSxyKSxhPW5ldyBONHQscz1uZXcgRmxvYXQzMkFycmF5KG4uZmxhdCgpKTtpZihhLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBoNHQocywzKSksaSYmaS5sZW5ndGg9PW4ubGVuZ3RoKXtjb25zdCB0PW5ldyBGbG9hdDMyQXJyYXkoaS5mbGF0KCkpO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV09dFtlXS8yNTU7YS5zZXRBdHRyaWJ1dGUoImNvbG9yIixuZXcgaDR0KHQsMykpfXZhciBsPW5ldyBtcmVbby5tYXRlcmlhbC5jbHNdKG8ubWF0ZXJpYWwpLGM9bmV3IHV0ZShhLGwpO3RoaXMuX3NjZW5lLmFkZChjKSx0aGlzLl9sYXN0TWVzaD1jfXNldENhbWVyYVZpZXdwb2ludCh0LGUsbil7dGhpcy5fc2lsZW50PSEwLHRoaXMuX2NhbWVyYS5mYXI9ZSx0aGlzLl9jYW1lcmEucG9zaXRpb24uc2V0KHQueCx0LnksdC56KSx0aGlzLl9jYW1lcmEubG9va0F0KG4uY2xvbmUoKSksdGhpcy5fY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKSx0aGlzLl9jYW1lcmFDb250cm9scy50YXJnZXQ9bi5jbG9uZSgpLHRoaXMuX2NhbWVyYUNvbnRyb2xzLnVwZGF0ZSgpLHRoaXMuX3NpbGVudD0hMX1fb25DYW1lcmFQb3NpdGlvbkNoYW5nZSh0KXt0aGlzLl9zaWxlbnR8fHRoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiY2FtZXJhUG9zaXRpb25DaGFuZ2UiLGV2ZW50OnR9KX1fZml0T2JqZWN0VG9WaWV3cG9ydCh0KXt2YXIgZSxuO2NvbnN0IGk9bmV3IFU1dCxyPW5ldyBINXQsbz1uZXcgSDV0O2kuc2V0RnJvbU9iamVjdCh0KSxpLmdldENlbnRlcihyKSxpLmdldFNpemUobyk7Y29uc3QgYT1NYXRoLm1heChvLngsby55LG8ueikscz10aGlzLl9jYW1lcmEuZm92KihNYXRoLlBJLzE4MCk7bGV0IGw9MS4yNSpNYXRoLmFicyhhLygyKk1hdGgudGFuKHMvMikpKTtjb25zdCBjPWkubWluLnosdT1jPDA/LWMrbDpsLWMsaD1udWxsIT09KGU9dGhpcy5pbml0Q2FtZXJhUG9zaXRpb24pJiZ2b2lkIDAhPT1lP2U6bmV3IEg1dChyLngsci55LGwpLGQ9bnVsbCE9PShuPXRoaXMuaW5pdENhbWVyYUxvb2tBdCkmJnZvaWQgMCE9PW4/bjpyO3RoaXMuc2V0Q2FtZXJhVmlld3BvaW50KGgsMyp1LGQpfV9jcmVhdGVNZXNoKHQsZSl7Y29uc3Qgbj10LnZlcnRpY2VzLGk9dC5mYWNlcyxyPXQuY29sb3JzLG89dGhpcy5fYXBwbHlEZWZhdWx0cyhlLHttYXRlcmlhbDp7Y2xzOiJNZXNoU3RhbmRhcmRNYXRlcmlhbCIsY29sb3I6IiNhMGEwYTAiLHJvdWdobmVzczoxLG1ldGFsbmVzczowfX0pLGE9bmV3IE40dCxzPW5ldyBGbG9hdDMyQXJyYXkobi5mbGF0KCkpO2Euc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGg0dChzLDMpKTtjb25zdCBsPW5ldyBVaW50MTZBcnJheShpLmZsYXQoKSk7aWYociYmci5sZW5ndGgpe2NvbnN0IHQ9ci5mbGF0KCk7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXT10W2VdLzI1NTthLnNldEF0dHJpYnV0ZSgiY29sb3IiLG5ldyBoNHQobmV3IEZsb2F0MzJBcnJheSh0KSwzKSksby5tYXRlcmlhbD1vLm1hdGVyaWFsfHx7fSxvLm1hdGVyaWFsLnZlcnRleENvbG9ycz0hMH1hLmNlbnRlcigpLGEuY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCksYS5zZXRJbmRleChuZXcgaDR0KGwsMSkpLGEuY29tcHV0ZVZlcnRleE5vcm1hbHMoKTtsZXQgYz1uZXcgbXJlW28ubWF0ZXJpYWwuY2xzXShvLm1hdGVyaWFsKSx1PW5ldyBLNHQoYSxjKTt1LmNhc3RTaGFkb3c9ITAsdS5yZWNlaXZlU2hhZG93PSEwLHRoaXMuX3NjZW5lLmFkZCh1KSx0aGlzLl9sYXN0TWVzaD11fV9jcmVhdGVMaWdodHModCxlKXtmb3IobGV0IG49MDtuPGUubGlnaHRzLmxlbmd0aDtuKyspe2NvbnN0IGk9ZS5saWdodHNbbl07bGV0IHI9bmV3IG1yZVtpLmNsc10oaS5jb2xvcixpLmludGVuc2l0eSk7aS5wb3NpdGlvbiYmci5wb3NpdGlvbi5zZXQoaS5wb3NpdGlvblswXSxpLnBvc2l0aW9uWzFdLGkucG9zaXRpb25bMl0pLHQuYWRkKHIpfX19bGV0IEtyZT1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuc2VsZWN0ZWRWaWV3PSJhbGwiLHRoaXMuYWN0aXZlPSExLHRoaXMuX2NvbG9yU2NhbGVGdW5jdGlvbj1fTyx0aGlzLl9zdGVwcz1bXSx0aGlzLl9tZXNoVmlld2VyQXR0YWNoZWQ9ITEsdGhpcy5fY2FtZXJhUG9zaXRpb25Jbml0aWFsaXplZD0hMSx0aGlzLl9pc01lc2hMb2FkaW5nPSExfWdldCBfcnVuQ29sb3IoKXtyZXR1cm4gdGhpcy5fY29sb3JTY2FsZUZ1bmN0aW9uKHRoaXMucnVuKX1jb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5fZGF0YVByb3ZpZGVyPW5ldyAkMHQodGhpcy5yZXF1ZXN0TWFuYWdlcik7Y29uc3QgdD1uZXcgJHJlKHRoaXMuX3J1bkNvbG9yKTt0LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZVVwZGF0ZVNjZW5lIix0aGlzLl91cGRhdGVDYW52YXNTaXplLmJpbmQodGhpcykpLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2FtZXJhUG9zaXRpb25DaGFuZ2UiLHRoaXMuX29uQ2FtZXJhUG9zaXRpb25DaGFuZ2UuYmluZCh0aGlzKSksdGhpcy5fbWVzaFZpZXdlcj10fXJlbG9hZCgpe3RoaXMuYWN0aXZlJiZ0aGlzLl9kYXRhUHJvdmlkZXImJih0aGlzLl9pc01lc2hMb2FkaW5nPSEwLHRoaXMuX2RhdGFQcm92aWRlci5yZWxvYWQodGhpcy5ydW4sdGhpcy50YWcsdGhpcy5zYW1wbGUpLnRoZW4oKHQ9Pnt0JiYodGhpcy5fc3RlcHM9dCx0aGlzLl9zdGVwSW5kZXg9dC5sZW5ndGgtMSl9KSkuY2F0Y2goKHQ9PntpZighdHx8IXQuY29kZXx8dC5jb2RlIT1xMHQuQ0FOQ0VMTEVEKXRocm93IHQ9dHx8IlJlc3BvbnNlIHByb2Nlc3NpbmcgZmFpbGVkLiIsbmV3IEVycm9yKHQpfSkpKX1fdXBkYXRlU2NlbmUoKXtjb25zdCB0PXRoaXMuX2N1cnJlbnRTdGVwO3QmJnQubWVzaCYmKHRoaXMuX21lc2hWaWV3ZXIudXBkYXRlU2NlbmUodCx0aGlzKSx0aGlzLl9jYW1lcmFQb3NpdGlvbkluaXRpYWxpemVkfHwodGhpcy5fbWVzaFZpZXdlci5yZXNldFZpZXcoKSx0aGlzLl9jYW1lcmFQb3NpdGlvbkluaXRpYWxpemVkPSEwKSx0aGlzLl9tZXNoVmlld2VyQXR0YWNoZWR8fCh0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQodGhpcy5fbWVzaFZpZXdlci5nZXRSZW5kZXJlcigpLmRvbUVsZW1lbnQpLHRoaXMuX21lc2hWaWV3ZXJBdHRhY2hlZD0hMCkpfV9kZWJvdW5jZWRGZXRjaE1lc2goKXt0aGlzLmRlYm91bmNlKCJmZXRjaE1lc2giLCgoKT0+dGhpcy5fbWF5YmVGZXRjaE1lc2goKSksMTAwKX1fbWF5YmVGZXRjaE1lc2goKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0IHQ9dGhpcy5fY3VycmVudFN0ZXA7aWYodCYmIXQubWVzaCYmIXQubWVzaEZldGNoaW5nKXt0Lm1lc2hGZXRjaGluZz0hMCx0aGlzLl9pc01lc2hMb2FkaW5nPSEwO3RyeXtjb25zdCBlPXlpZWxkIHRoaXMuX2RhdGFQcm92aWRlci5mZXRjaERhdGEodCx0aGlzLnJ1bix0aGlzLnRhZyx0aGlzLnNhbXBsZSk7dC5tZXNoPWVbMF0sdGhpcy5ub3RpZnlQYXRoKCJfY3VycmVudFN0ZXAubWVzaCIpfWNhdGNoKHQpe2lmKCF0fHwhdC5jb2RlfHx0LmNvZGUhPXEwdC5DQU5DRUxMRUQpdGhyb3cgdD10fHwiUmVzcG9uc2UgcHJvY2Vzc2luZyBmYWlsZWQuIixuZXcgRXJyb3IodCl9ZmluYWxseXt0aGlzLl9pc01lc2hMb2FkaW5nPSExLHQubWVzaEZldGNoaW5nPSExfX19KSl9X29uQ2FtZXJhUG9zaXRpb25DaGFuZ2UoKXtpZighdGhpcy5fbWVzaFZpZXdlci5pc1JlYWR5KCkpcmV0dXJuO2NvbnN0IHQ9bmV3IEN1c3RvbUV2ZW50KCJjYW1lcmEtcG9zaXRpb24tY2hhbmdlIix7ZGV0YWlsOnRoaXMuX21lc2hWaWV3ZXIuZ2V0Q2FtZXJhUG9zaXRpb24oKX0pO3RoaXMuZGlzcGF0Y2hFdmVudCh0KX1zZXRDYW1lcmFWaWV3cG9pbnQodCxlLG4pe3RoaXMuX21lc2hWaWV3ZXIuc2V0Q2FtZXJhVmlld3BvaW50KHQsZSxuKX1fdXBkYXRlQ2FudmFzU2l6ZSgpe2NvbnN0IHQ9dGhpcy5vZmZzZXRXaWR0aCxlPXQsbj10aGlzLiQkKCIudGYtbWVzaC1sb2FkZXItaGVhZGVyIikub2Zmc2V0SGVpZ2h0O3RoaXMuX21lc2hWaWV3ZXIuc2V0Q2FudmFzU2l6ZSh7d2lkdGg6dCxoZWlnaHQ6ZS1ufSl9cmVkcmF3KCl7dGhpcy5fdXBkYXRlQ2FudmFzU2l6ZSgpLHRoaXMuaXNDb25uZWN0ZWQmJnRoaXMuX21lc2hWaWV3ZXIuZHJhdygpfV9oYXNBdExlYXN0T25lU3RlcCh0KXtyZXR1cm4hIXQmJnQubGVuZ3RoPjB9X2hhc011bHRpcGxlU3RlcHModCl7cmV0dXJuISF0JiZ0Lmxlbmd0aD4xfWdldCBfY3VycmVudFN0ZXAoKXtyZXR1cm4gdGhpcy5fc3RlcHNbdGhpcy5fc3RlcEluZGV4XXx8bnVsbH1nZXQgX3N0ZXBWYWx1ZSgpe2NvbnN0IHQ9dGhpcy5fY3VycmVudFN0ZXA7cmV0dXJuIHQ/dC5zdGVwOjB9Z2V0IF9jdXJyZW50V2FsbFRpbWUoKXtjb25zdCB0PXRoaXMuX2N1cnJlbnRTdGVwO3JldHVybiB0P1NPKHQud2FsbF90aW1lKToiIn1fZ2V0TWF4U3RlcEluZGV4KHQpe3JldHVybiB0Lmxlbmd0aC0xfV9nZXRTYW1wbGVUZXh0KHQpe3JldHVybiBTdHJpbmcodCsxKX1faGFzTXVsdGlwbGVTYW1wbGVzKHQpe3JldHVybiB0PjF9X3VwZGF0ZVZpZXcoKXt0aGlzLl9tZXNoVmlld2VyJiYiYWxsIj09dGhpcy5zZWxlY3RlZFZpZXcmJnRoaXMuX21lc2hWaWV3ZXIucmVzZXRWaWV3KCl9dG9Mb2NhbGVTdHJpbmdfKHQpe3JldHVybiB0LnRvTG9jYWxlU3RyaW5nKCl9fTtLcmUudGVtcGxhdGU9eGVgCiAgICA8dGYtY2FyZC1oZWFkaW5nIGNvbG9yPSJbW19ydW5Db2xvcl1dIiBjbGFzcz0idGYtbWVzaC1sb2FkZXItaGVhZGVyIj4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19oYXNNdWx0aXBsZVNhbXBsZXMob2ZTYW1wbGVzKV1dIj4KICAgICAgICA8ZGl2PnNhbXBsZTogW1tfZ2V0U2FtcGxlVGV4dChzYW1wbGUpXV0gb2YgW1tvZlNhbXBsZXNdXTwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2hhc0F0TGVhc3RPbmVTdGVwKF9zdGVwcyldXSI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1sYWJlbCI+CiAgICAgICAgICAgIHN0ZXAKICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkIgogICAgICAgICAgICAgID5bW3RvTG9jYWxlU3RyaW5nXyhfc3RlcFZhbHVlKV1dPC9zcGFuCiAgICAgICAgICAgID4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZy1sYWJlbCBoZWFkaW5nLXJpZ2h0Ij4KICAgICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19jdXJyZW50V2FsbFRpbWVdXSI+CiAgICAgICAgICAgICAgW1tfY3VycmVudFdhbGxUaW1lXV0KICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwgcmlnaHQiPgogICAgICAgICAgICA8cGFwZXItc3Bpbm5lci1saXRlIGFjdGl2ZSBoaWRkZW4kPSJbWyFfaXNNZXNoTG9hZGluZ11dIj4KICAgICAgICAgICAgPC9wYXBlci1zcGlubmVyLWxpdGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19oYXNNdWx0aXBsZVN0ZXBzKF9zdGVwcyldXSI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxwYXBlci1zbGlkZXIKICAgICAgICAgICAgaWQ9InN0ZXBzIgogICAgICAgICAgICBpbW1lZGlhdGUtdmFsdWU9Int7X3N0ZXBJbmRleH19IgogICAgICAgICAgICBtYXg9IltbX2dldE1heFN0ZXBJbmRleChfc3RlcHMpXV0iCiAgICAgICAgICAgIG1heC1tYXJrZXJzPSJbW19nZXRNYXhTdGVwSW5kZXgoX3N0ZXBzKV1dIgogICAgICAgICAgICBzbmFwcwogICAgICAgICAgICBzdGVwPSIxIgogICAgICAgICAgICB2YWx1ZT0ie3tfc3RlcEluZGV4fX0iCiAgICAgICAgICA+PC9wYXBlci1zbGlkZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGVtcGxhdGU+CiAgICA8L3RmLWNhcmQtaGVhZGluZz4KICAgIDxzdHlsZT4KICAgICAgcGFwZXItc2xpZGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXJnaW4tbGVmdDogMXB4OwogICAgICAgIG1hcmdpbi1yaWdodDogMXB4OwogICAgICB9CiAgICAgIC50Zi1tZXNoLWxvYWRlci1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTA1cHg7CiAgICAgIH0KICAgICAgW2hpZGRlbl0gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxLcmUucHJvdG90eXBlLCJydW4iLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sS3JlLnByb3RvdHlwZSwidGFnIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLEtyZS5wcm90b3R5cGUsInNhbXBsZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk51bWJlcn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxLcmUucHJvdG90eXBlLCJvZlNhbXBsZXMiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sS3JlLnByb3RvdHlwZSwic2VsZWN0ZWRWaWV3Iix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sS3JlLnByb3RvdHlwZSwiYWN0aXZlIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLGJyKV0sS3JlLnByb3RvdHlwZSwicmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsJHJlKV0sS3JlLnByb3RvdHlwZSwiX21lc2hWaWV3ZXIiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsJDB0KV0sS3JlLnByb3RvdHlwZSwiX2RhdGFQcm92aWRlciIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxLcmUucHJvdG90eXBlLCJfY29sb3JTY2FsZUZ1bmN0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXksbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sS3JlLnByb3RvdHlwZSwiX3N0ZXBzIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMH0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxLcmUucHJvdG90eXBlLCJfc3RlcEluZGV4Iix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sS3JlLnByb3RvdHlwZSwiX21lc2hWaWV3ZXJBdHRhY2hlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLEtyZS5wcm90b3R5cGUsIl9jYW1lcmFQb3NpdGlvbkluaXRpYWxpemVkIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sS3JlLnByb3RvdHlwZSwiX2lzTWVzaExvYWRpbmciLHZvaWQgMCksdChbcygicnVuIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sS3JlLnByb3RvdHlwZSwiX3J1bkNvbG9yIixudWxsKSx0KFthKCJydW4iLCJ0YWciLCJhY3RpdmUiLCJfZGF0YVByb3ZpZGVyIiwiX21lc2hWaWV3ZXIiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLEtyZS5wcm90b3R5cGUsInJlbG9hZCIsbnVsbCksdChbYSgiX2N1cnJlbnRTdGVwLioiLCJfbWVzaFZpZXdlciIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sS3JlLnByb3RvdHlwZSwiX3VwZGF0ZVNjZW5lIixudWxsKSx0KFthKCJfY3VycmVudFN0ZXAiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLEtyZS5wcm90b3R5cGUsIl9kZWJvdW5jZWRGZXRjaE1lc2giLG51bGwpLHQoW3MoIl9zdGVwcyIsIl9zdGVwSW5kZXgiKSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxLcmUucHJvdG90eXBlLCJfY3VycmVudFN0ZXAiLG51bGwpLHQoW3MoIl9jdXJyZW50U3RlcCIpLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEtyZS5wcm90b3R5cGUsIl9zdGVwVmFsdWUiLG51bGwpLHQoW3MoIl9jdXJyZW50U3RlcCIpLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLEtyZS5wcm90b3R5cGUsIl9jdXJyZW50V2FsbFRpbWUiLG51bGwpLHQoW2EoInNlbGVjdGVkVmlldyIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sS3JlLnByb3RvdHlwZSwiX3VwZGF0ZVZpZXciLG51bGwpLEtyZT10KFtpKCJ0Zi1tZXNoLWxvYWRlciIpXSxLcmUpO2xldCBacmU9Y2xhc3MgZXh0ZW5kcyB3ZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5yZWxvYWRPblJlYWR5PSEwLHRoaXMuX3RhZ0ZpbHRlcj0iLioiLHRoaXMuX3NlbGVjdGVkVmlldz0iYWxsIix0aGlzLl9yZXF1ZXN0TWFuYWdlcj1uZXcgYnIsd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKCgpPT57dGhpcy5faGFuZGxlV2luZG93UmVzaXplKCl9KSwhMSksdGhpcy5yZWxvYWRPblJlYWR5JiZ0aGlzLnJlbG9hZCgpfV9nZXRBbGxDaGlsZHJlbigpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1tZXNoLWxvYWRlciIpKX1fb25DYW1lcmFQb3NpdGlvbkNoYW5nZWQodCl7InNoYXJlIj09dGhpcy5fc2VsZWN0ZWRWaWV3JiZ0aGlzLl9nZXRBbGxDaGlsZHJlbigpLmZvckVhY2goKGU9Pnt0LnRhcmdldCE9ZSYmZS5zZXRDYW1lcmFWaWV3cG9pbnQodC5kZXRhaWwucG9zaXRpb24sdC5kZXRhaWwuZmFyLHQuZGV0YWlsLnRhcmdldCl9KSl9X3Nob3VsZE9wZW4odCl7cmV0dXJuIHQ8PTJ9cmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbih0aGlzLl9yZWxvYWRNZXNoZXMuYmluZCh0aGlzKSl9X2hhbmRsZVdpbmRvd1Jlc2l6ZSgpe3RoaXMuX2dldEFsbENoaWxkcmVuKCkuZm9yRWFjaCgodD0+e3QucmVkcmF3KCl9KSl9X2ZldGNoVGFncygpe2NvbnN0IHQ9RXIoKS5wbHVnaW5Sb3V0ZSgibWVzaCIsIi90YWdzIik7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodCkudGhlbigodD0+e2lmKENlLmV4cG9ydHMuaXNFcXVhbCh0LHRoaXMuX3J1blRvVGFnSW5mbykpcmV0dXJuO2NvbnN0IGU9ZnIoQ2UuZXhwb3J0cy5tYXBWYWx1ZXModCwodD0+T2JqZWN0LmtleXModCkpKSk7dGhpcy5fZGF0YU5vdEZvdW5kPTA9PT1lLmxlbmd0aCx0aGlzLl9ydW5Ub1RhZ0luZm89dH0pKX1fcmVsb2FkTWVzaGVzKCl7dGhpcy5fZ2V0QWxsQ2hpbGRyZW4oKS5mb3JFYWNoKCh0PT57dC5yZWxvYWQoKX0pKX1nZXQgX2NhdGVnb3JpZXMoKXt2YXIgdD10aGlzLl9ydW5Ub1RhZ0luZm8sZT10aGlzLl9zZWxlY3RlZFJ1bnMsbj10aGlzLl90YWdGaWx0ZXI7ZnVuY3Rpb24gaShlKXtjb25zdCBuPXRbZS5ydW5dW2UudGFnXS5zYW1wbGVzO3JldHVybiBDZS5leHBvcnRzLnJhbmdlKG4pLm1hcCgodD0+T2JqZWN0LmFzc2lnbih7fSxlLHtzYW1wbGU6dCxvZlNhbXBsZXM6bn0pKSl9cmV0dXJuIElyKENlLmV4cG9ydHMubWFwVmFsdWVzKHQsKHQ9Pk9iamVjdC5rZXlzKHQpKSksZSxuKS5tYXAoKHQ9Pk9iamVjdC5hc3NpZ24oe30sdCx7aXRlbXM6W10uY29uY2F0LmFwcGx5KFtdLHQuaXRlbXMubWFwKGkpKX0pKSl9fTtacmUudGVtcGxhdGU9eGVgCiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBzbG90PSJzaWRlYmFyIiBjbGFzcz0iYWxsLWNvbnRyb2xzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24gdmlldy1jb250cm9sIj4KICAgICAgICAgICAgPGgzIGNsYXNzPSJ0aXRsZSI+UG9pbnQgb2YgdmlldzwvaDM+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWdyb3VwCiAgICAgICAgICAgICAgICBpZD0idmlldy1yYWRpby1ncm91cCIKICAgICAgICAgICAgICAgIHNlbGVjdGVkPSJ7e19zZWxlY3RlZFZpZXd9fSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8cGFwZXItcmFkaW8tYnV0dG9uIGlkPSJhbGwtcmFkaW8tYnV0dG9uIiBuYW1lPSJhbGwiPgogICAgICAgICAgICAgICAgICBEaXNwbGF5IGFsbCBwb2ludHMKICAgICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICBmb3I9ImFsbC1yYWRpby1idXR0b24iCiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPSJyaWdodCIKICAgICAgICAgICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICBab29tIGFuZCBjZW50ZXIgY2FtZXJhIHRvIGRpc3BsYXkgYWxsIHBvaW50cyBhdCBvbmNlLiBOb3RlLAogICAgICAgICAgICAgICAgICB0aGF0IHNvbWUgcG9pbnRzIGNvdWxkIGJlIHRvbyBmYXIgKGkuZS4gdG9vIHNtYWxsKSB0byBiZQogICAgICAgICAgICAgICAgICB2aXNpYmxlLgogICAgICAgICAgICAgICAgPC9wYXBlci10b29sdGlwPgogICAgICAgICAgICAgICAgPHBhcGVyLXJhZGlvLWJ1dHRvbiBpZD0idXNlci1yYWRpby1idXR0b24iIG5hbWU9InVzZXIiPgogICAgICAgICAgICAgICAgICBDdXJyZW50IHZpZXcKICAgICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICBmb3I9InVzZXItcmFkaW8tYnV0dG9uIgogICAgICAgICAgICAgICAgICBwb3NpdGlvbj0icmlnaHQiCiAgICAgICAgICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgS2VlcCBjdXJyZW50IGNhbWVyYSBwb3NpdGlvbiBhbmQgem9vbSBsZXZlbC4KICAgICAgICAgICAgICAgIDwvcGFwZXItdG9vbHRpcD4KICAgICAgICAgICAgICAgIDxwYXBlci1yYWRpby1idXR0b24gaWQ9InNoYXJlLXJhZGlvLWJ1dHRvbiIgbmFtZT0ic2hhcmUiPgogICAgICAgICAgICAgICAgICBTaGFyZSB2aWV3cG9pbnQKICAgICAgICAgICAgICAgIDwvcGFwZXItcmFkaW8tYnV0dG9uPgogICAgICAgICAgICAgICAgPHBhcGVyLXRvb2x0aXAKICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5PSIwIgogICAgICAgICAgICAgICAgICBmb3I9InNoYXJlLXJhZGlvLWJ1dHRvbiIKICAgICAgICAgICAgICAgICAgcG9zaXRpb249InJpZ2h0IgogICAgICAgICAgICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIFNoYXJlIHZpZXdwb2ludCBhbW9uZyBhbGwgY2FtZXJhcy4KICAgICAgICAgICAgICAgIDwvcGFwZXItdG9vbHRpcD4KICAgICAgICAgICAgICA8L3BhcGVyLXJhZGlvLWdyb3VwPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiBydW5zLXNlbGVjdG9yIj4KICAgICAgICAgIDx0Zi1ydW5zLXNlbGVjdG9yIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319Ij4KICAgICAgICAgIDwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyBwb2ludCBjbG91ZCBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgWW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSBwb2ludCBjbG91ZCBkYXRhIHRvIHlvdXIgZXZlbnQgZmlsZXMuCiAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICA8bGk+VGVuc29yQm9hcmQgY2Fu4oCZdCBmaW5kIHlvdXIgZXZlbnQgZmlsZXMuPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdeKAmXJlIG5ldyB0byB1c2luZyBUZW5zb3JCb2FyZCwgYW5kIHdhbnQgdG8gZmluZCBvdXQgaG93IHRvCiAgICAgICAgICAgICAgYWRkIGRhdGEgYW5kIHNldCB1cCB5b3VyIGV2ZW50IGZpbGVzLCBjaGVjayBvdXQgdGhlCiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCIKICAgICAgICAgICAgICAgID5SRUFETUU8L2EKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgYW5kIHBlcmhhcHMgdGhlCiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3LnRlbnNvcmZsb3cub3JnL2dldF9zdGFydGVkL3N1bW1hcmllc19hbmRfdGVuc29yYm9hcmQiCiAgICAgICAgICAgICAgICA+VGVuc29yQm9hcmQgdHV0b3JpYWw8L2EKICAgICAgICAgICAgICA+LgogICAgICAgICAgICA8L3A+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3UgdGhpbmsgVGVuc29yQm9hcmQgaXMgY29uZmlndXJlZCBwcm9wZXJseSwgcGxlYXNlIHNlZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQjbXktdGVuc29yYm9hcmQtaXNudC1zaG93aW5nLWFueS1kYXRhLXdoYXRzLXdyb25nIgogICAgICAgICAgICAgICAgPnRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXM8L2EKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuCiAgICAgICAgICAgIDwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbWyFfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPHRmLXRhZy1maWx0ZXJlciB0YWctZmlsdGVyPSJ7e190YWdGaWx0ZXJ9fSI+PC90Zi10YWctZmlsdGVyZXI+CiAgICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19jYXRlZ29yaWVzXV0iIGFzPSJjYXRlZ29yeSI+CiAgICAgICAgICAgIDx0Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldwogICAgICAgICAgICAgIGNhdGVnb3J5PSJbW2NhdGVnb3J5XV0iCiAgICAgICAgICAgICAgaW5pdGlhbC1vcGVuZWQ9IltbX3Nob3VsZE9wZW4oaW5kZXgpXV0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtbWVzaC1sb2FkZXIKICAgICAgICAgICAgICAgICAgYWN0aXZlPSJbW2FjdGl2ZV1dIgogICAgICAgICAgICAgICAgICBzZWxlY3RlZC12aWV3PSJbW19zZWxlY3RlZFZpZXddXSIKICAgICAgICAgICAgICAgICAgcnVuPSJbW2l0ZW0ucnVuXV0iCiAgICAgICAgICAgICAgICAgIHRhZz0iW1tpdGVtLnRhZ11dIgogICAgICAgICAgICAgICAgICBzYW1wbGU9IltbaXRlbS5zYW1wbGVdXSIKICAgICAgICAgICAgICAgICAgb2Ytc2FtcGxlcz0iW1tpdGVtLm9mU2FtcGxlc11dIgogICAgICAgICAgICAgICAgICByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0Zi1tZXNoLWxvYWRlci1jb250YWluZXIiCiAgICAgICAgICAgICAgICAgIG9uLWNhbWVyYS1wb3NpdGlvbi1jaGFuZ2U9Il9vbkNhbWVyYVBvc2l0aW9uQ2hhbmdlZCIKICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDwvdGYtbWVzaC1sb2FkZXI+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC90Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldz4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICA8L3RmLWRhc2hib2FyZC1sYXlvdXQ+CgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgICAgcGFwZXItcmFkaW8tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiA1cHg7CiAgICAgIH0KICAgICAgLnNpZGViYXItc2VjdGlvbiBoMyB7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsKICAgICAgfQoKICAgICAgLnJ1bnMtc2VsZWN0b3IgewogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgfQoKICAgICAgdGYtcnVucy1zZWxlY3RvciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQoKICAgICAgLnZpZXctY29udHJvbCB7CiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLnZpZXctY29udHJvbCBoMy50aXRsZSB7CiAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5hbGxjb250cm9scyAudmlldy1jb250cm9sIHBhcGVyLXJhZGlvLWdyb3VwIHsKICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgIH0KICAgICAgLyogTGF5b3V0IG11c3QgYmUgaG9yaXpvbnRhbCwgaS5lLiBpdGVtcyBhcnJhbmdlZCBpbiBhIHJvdy4gSWYgaXRlbXMgY2Fubm90IGZpdCBpbiBhIHJvdywKICAgICAgICogdGhleSBzaG91bGQgYmUgbW92ZWQgdG8gbmV4dCBsaW5lLiBBbGwgaXRlbXMgbXVzdCBiZSBzcXVhcmUgYXQgYWxsIHRpbWVzLiBNaW5pbXVtIHNpemUgb2YKICAgICAgICogdGhlIGl0ZW0gaXMgNDgwcHguIFRoaXMgbWVhbnMgdGhhdCBtYXhpbXVtIHNpemUgb2YgdGhlIGl0ZW0gbXVzdCBiZSA0ODBweCArIDQ3OXB4ID0gOTU5cHguCiAgICAgICAqICovCiAgICAgIC5ob3Jpem9udGFsIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIHRmLW1lc2gtbG9hZGVyIHsKICAgICAgICB3aWR0aDogNDgwcHg7CiAgICAgICAgZmxleC1iYXNpczogNDgwcHg7CiAgICAgICAgZmxleC1ncm93OiAxOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxacmUucHJvdG90eXBlLCJyZWxvYWRPblJlYWR5Iix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxacmUucHJvdG90eXBlLCJfc2VsZWN0ZWRSdW5zIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFpyZS5wcm90b3R5cGUsIl9ydW5Ub1RhZ0luZm8iLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxacmUucHJvdG90eXBlLCJfZGF0YU5vdEZvdW5kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFpyZS5wcm90b3R5cGUsIl90YWdGaWx0ZXIiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmcsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFpyZS5wcm90b3R5cGUsIl9zZWxlY3RlZFZpZXciLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sWnJlLnByb3RvdHlwZSwiX3JlcXVlc3RNYW5hZ2VyIix2b2lkIDApLHQoW3MoIl9ydW5Ub1RhZ0luZm8iLCJfc2VsZWN0ZWRSdW5zIiwiX3RhZ0ZpbHRlciIpLGUoImRlc2lnbjp0eXBlIixBcnJheSksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sWnJlLnByb3RvdHlwZSwiX2NhdGVnb3JpZXMiLG51bGwpLFpyZT10KFtpKCJtZXNoLWRhc2hib2FyZCIpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLFpyZSk7bGV0IEpyZT1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX2luc3RhbGxDb21tYW5kPSJwaXAgaW5zdGFsbCAtVSB0ZW5zb3Jib2FyZC1wbHVnaW4tcHJvZmlsZSJ9X2NvcHlJbnN0YWxsQ29tbWFuZCgpe3JldHVybiBuKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7Y29uc3QgdD0oKT0+bih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RoaXMuJC5jb21tYW5kVGV4dGFyZWEuc2VsZWN0KCk7dHJ5e3lpZWxkIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRoaXMuX2luc3RhbGxDb21tYW5kKX1jYXRjaCh0KXtpZighZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKSlyZXR1cm4gUHJvbWlzZS5yZWplY3QoKX19KSksZT10aGlzLiQuY29waWVkTWVzc2FnZTt0cnl7eWllbGQgdCgpLGUuaW5uZXJUZXh0PSJDb3BpZWQuIn1jYXRjaCh0KXtlLmlubmVyVGV4dD0iRmFpbGVkIHRvIGNvcHkgdG8gY2xpcGJvYXJkLiJ9fSkpfV9yZW1vdmVDb3BpZWRNZXNzYWdlKCl7dGhpcy4kLmNvcGllZE1lc3NhZ2UuaW5uZXJUZXh0PSIifX07SnJlLnRlbXBsYXRlPXhlYAogICAgPGRpdiBjbGFzcz0ibWVzc2FnZSI+CiAgICAgIDxoMz5UaGUgcHJvZmlsZSBwbHVnaW4gaGFzIG1vdmVkLjwvaDM+CiAgICAgIDxwPgogICAgICAgIFBsZWFzZSBpbnN0YWxsIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGUgcHJvZmlsZSBwbHVnaW4gZnJvbSBQeVBJIGJ5CiAgICAgICAgcnVubmluZyB0aGUgZm9sbG93aW5nIGNvbW1hbmQgZnJvbSB0aGUgbWFjaGluZSBydW5uaW5nIFRlbnNvckJvYXJkOgogICAgICA8L3A+CiAgICAgIDx0ZXh0YXJlYQogICAgICAgIGlkPSJjb21tYW5kVGV4dGFyZWEiCiAgICAgICAgcmVhZG9ubHk9IiIKICAgICAgICByb3dzPSIxIgogICAgICAgIG9uLWJsdXI9Il9yZW1vdmVDb3BpZWRNZXNzYWdlIgogICAgICA+CltbX2luc3RhbGxDb21tYW5kXV08L3RleHRhcmVhCiAgICAgID4KICAgICAgPGRpdiBpZD0iY29weUNvbnRhaW5lciI+CiAgICAgICAgPHNwYW4gaWQ9ImNvcGllZE1lc3NhZ2UiPjwvc3Bhbj4KICAgICAgICA8cGFwZXItYnV0dG9uIHJhaXNlZD0iIiBvbi10YXA9Il9jb3B5SW5zdGFsbENvbW1hbmQiCiAgICAgICAgICA+Q29weSB0byBjbGlwYm9hcmQ8L3BhcGVyLWJ1dHRvbgogICAgICAgID4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8c3R5bGU+CiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICB9CgogICAgICAubWVzc2FnZSB7CiAgICAgICAgbWFyZ2luOiA4MHB4IGF1dG8gMCBhdXRvOwogICAgICAgIG1heC13aWR0aDogNTQwcHg7CiAgICAgIH0KICAgICAgI2NvbW1hbmRUZXh0YXJlYSB7CiAgICAgICAgbWFyZ2luLXRvcDogMWV4OwogICAgICAgIHBhZGRpbmc6IDFleCAxZW07CiAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQogICAgICAjY29weUNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQogICAgICAjY29waWVkTWVzc2FnZSB7CiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyOwogICAgICAgIGZsZXgtZ3JvdzogMTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgcGFkZGluZy1yaWdodDogMWVtOwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sSnJlLnByb3RvdHlwZSwiX2luc3RhbGxDb21tYW5kIix2b2lkIDApLEpyZT10KFtpKCJ0Zi1wcm9maWxlLXJlZGlyZWN0LWRhc2hib2FyZCIpXSxKcmUpO2xldCBRcmU9Y2xhc3MgZXh0ZW5kcyB3ZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fZXhwYW5kZWQ9ITEsdGhpcy5fcnVuVG9QckN1cnZlRW50cnk9e30sdGhpcy5fcHJldmlvdXNSdW5Ub1ByQ3VydmVFbnRyeT17fSx0aGlzLl9jb2xvclNjYWxlRnVuY3Rpb249e3NjYWxlOl9PfSx0aGlzLl9jYW5jZWxsZXI9bmV3IHhPLHRoaXMuX3hDb21wb25lbnRzQ3JlYXRpb25NZXRob2Q9KCk9Pntjb25zdCB0PW5ldyBOTy5TY2FsZXMuTGluZWFyO3JldHVybntzY2FsZTp0LGF4aXM6bmV3IE5PLkF4ZXMuTnVtZXJpYyh0LCJib3R0b20iKSxhY2Nlc3Nvcjp0PT50LnJlY2FsbH19LHRoaXMuX3lWYWx1ZUFjY2Vzc29yPXQ9PnQucHJlY2lzaW9uLHRoaXMuX3Rvb2x0aXBDb2x1bW5zPSgoKT0+e2NvbnN0IHQ9U0N0KDQpLGU9ZT0+aXNOYU4oZSk/Ik5hTiI6dChlKTtyZXR1cm5be3RpdGxlOiJSdW4iLGV2YWx1YXRlOnQ9PnQuZGF0YXNldC5tZXRhZGF0YSgpLm5hbWV9LHt0aXRsZToiVGhyZXNob2xkIixldmFsdWF0ZTp0PT5lKHQuZGF0dW0udGhyZXNob2xkcyl9LHt0aXRsZToiUHJlY2lzaW9uIixldmFsdWF0ZTp0PT5lKHQuZGF0dW0ucHJlY2lzaW9uKX0se3RpdGxlOiJSZWNhbGwiLGV2YWx1YXRlOnQ9PmUodC5kYXR1bS5yZWNhbGwpfSx7dGl0bGU6IlRQIixldmFsdWF0ZTp0PT50LmRhdHVtLnRydWVfcG9zaXRpdmVzfSx7dGl0bGU6IkZQIixldmFsdWF0ZTp0PT50LmRhdHVtLmZhbHNlX3Bvc2l0aXZlc30se3RpdGxlOiJUTiIsZXZhbHVhdGU6dD0+dC5kYXR1bS50cnVlX25lZ2F0aXZlc30se3RpdGxlOiJGTiIsZXZhbHVhdGU6dD0+dC5kYXR1bS5mYWxzZV9uZWdhdGl2ZXN9XX0pKCksdGhpcy5fc2VyaWVzRGF0YUZpZWxkcz1bInRocmVzaG9sZHMiLCJwcmVjaXNpb24iLCJyZWNhbGwiLCJ0cnVlX3Bvc2l0aXZlcyIsImZhbHNlX3Bvc2l0aXZlcyIsInRydWVfbmVnYXRpdmVzIiwiZmFsc2VfbmVnYXRpdmVzIl0sdGhpcy5fZGVmYXVsdFhSYW5nZT1bLS4wNSwxLjA1XSx0aGlzLl9kZWZhdWx0WVJhbmdlPVstLjA1LDEuMDVdLHRoaXMuX3JlcXVlc3REYXRhPSh0LGUsbik9Pntjb25zdCBpPUVyKCkucGx1Z2luUm91dGUoInByX2N1cnZlcyIsIi9wcl9jdXJ2ZXMiKTtQcm9taXNlLmFsbCh0Lm1hcCgodD0+e2NvbnN0IG49UE8oaSx7dGFnOnRoaXMudGFnLHJ1bjp0fSk7cmV0dXJuIHRoaXMucmVxdWVzdE1hbmFnZXIucmVxdWVzdChuKS50aGVuKChuPT57ZSh7aXRlbTp0LGRhdGE6bn0pfSkpfSkpKS5maW5hbGx5KCgoKT0+e24oKX0pKX0sdGhpcy5fc21vb3RoaW5nRW5hYmxlZD0hMX1fY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbigpe3JldHVybih0LGUsbik9Pnt0aGlzLnNldCgiX3J1blRvRGF0YU92ZXJUaW1lIixPYmplY3QuYXNzaWduKHt9LHRoaXMuX3J1blRvRGF0YU92ZXJUaW1lLG4pKX19X2NvbXB1dGVSdW5Db2xvcih0KXtyZXR1cm4gX08odCl9Y29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuX2F0dGFjaGVkPSEwLHRoaXMucmVsb2FkKCl9X2dldENoYXJ0RGF0YUxvYWRlcigpe3JldHVybiB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigidGYtbGluZS1jaGFydC1kYXRhLWxvYWRlciIpfXJlbG9hZCgpe3RoaXMuX2F0dGFjaGVkJiYoMCE9PXRoaXMucnVucy5sZW5ndGg/dGhpcy5fZ2V0Q2hhcnREYXRhTG9hZGVyKCkucmVsb2FkKCk6dGhpcy5zZXQoIl9ydW5Ub0RhdGFPdmVyVGltZSIse30pKX1fc2V0Q2hhcnREYXRhKCl7dmFyIHQ9dGhpcy5fcnVuVG9QckN1cnZlRW50cnksZT10aGlzLl9wcmV2aW91c1J1blRvUHJDdXJ2ZUVudHJ5LG49dGhpcy5fc2V0T2ZSZWxldmFudFJ1bnM7Q2UuZXhwb3J0cy5mb3JPd24odCwoKGkscik9Pntjb25zdCBvPWVbcl07byYmdFtyXS5zdGVwPT09by5zdGVwfHwobltyXT90aGlzLl91cGRhdGVTZXJpZXNEYXRhRm9yUnVuKHIsaSk6dGhpcy5fY2xlYXJTZXJpZXNEYXRhKHIpKX0pKX1fdXBkYXRlU2VyaWVzRGF0YUZvclJ1bih0LGUpe2NvbnN0IG49Q2UuZXhwb3J0cy5yZWR1Y2UodGhpcy5fc2VyaWVzRGF0YUZpZWxkcywoKHQsbik9Pih0W25dPWVbbl0uc2xpY2UoKS5yZXZlcnNlKCksdCkpLHt9KSxpPW5ldyBBcnJheShuW3RoaXMuX3Nlcmllc0RhdGFGaWVsZHNbMF1dLmxlbmd0aCk7Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0KyspaVt0XT1DZS5leHBvcnRzLm1hcFZhbHVlcyhuLChlPT5lW3RdKSk7Y29uc3Qgcj10aGlzLl9nZXRDaGFydERhdGFMb2FkZXIoKTtyLnNldFNlcmllc0RhdGEodCxpKSxyLmNvbW1pdENoYW5nZXMoKX1fY2xlYXJTZXJpZXNEYXRhKHQpe2NvbnN0IGU9dGhpcy5fZ2V0Q2hhcnREYXRhTG9hZGVyKCk7ZS5zZXRTZXJpZXNEYXRhKHQsW10pLGUuY29tbWl0Q2hhbmdlcygpfV91cGRhdGVSdW5Ub1ByQ3VydmVFbnRyeSgpe3ZhciB0PXRoaXMucnVuVG9TdGVwQ2FwO2NvbnN0IGU9e307Q2UuZXhwb3J0cy5mb3JPd24odGhpcy5fcnVuVG9EYXRhT3ZlclRpbWUsKChuLGkpPT57biYmbi5sZW5ndGgmJihlW2ldPXRoaXMuX2NvbXB1dGVFbnRyeUNsb3Nlc3RPckVxdWFsVG9TdGVwQ2FwKHRbaV0sbikpfSkpLHRoaXMuc2V0KCJfcHJldmlvdXNSdW5Ub1ByQ3VydmVFbnRyeSIsdGhpcy5fcnVuVG9QckN1cnZlRW50cnkpLHRoaXMuc2V0KCJfcnVuVG9QckN1cnZlRW50cnkiLGUpfV9ub3RpZnlEYXRhQ2hhbmdlKCl7dGhpcy5vbkRhdGFDaGFuZ2UmJnRoaXMub25EYXRhQ2hhbmdlKHRoaXMuX3J1blRvRGF0YU92ZXJUaW1lKX1fY29tcHV0ZUVudHJ5Q2xvc2VzdE9yRXF1YWxUb1N0ZXBDYXAodCxlKXtjb25zdCBuPU1hdGgubWluKENlLmV4cG9ydHMuc29ydGVkSW5kZXgoZS5tYXAoKHQ9PnQuc3RlcCkpLHQpLGUubGVuZ3RoLTEpO3JldHVybiBlW25dfWdldCBfcnVuc1dpdGhTdGVwQXZhaWxhYmxlKCl7dmFyIHQ9dGhpcy5fcnVuVG9QckN1cnZlRW50cnk7cmV0dXJuIENlLmV4cG9ydHMuZmlsdGVyKHRoaXMucnVucywoZT0+dFtlXSkpLnNvcnQoKX1nZXQgX3NldE9mUmVsZXZhbnRSdW5zKCl7Y29uc3QgdD17fTtyZXR1cm4gQ2UuZXhwb3J0cy5mb3JFYWNoKHRoaXMuX3J1bnNXaXRoU3RlcEF2YWlsYWJsZSwoZT0+e3RbZV09ITB9KSksdH1fY29tcHV0ZUN1cnJlbnRTdGVwRm9yUnVuKHQsZSl7Y29uc3Qgbj10W2VdO3JldHVybiBuP24uc3RlcDpudWxsfV9jb21wdXRlQ3VycmVudFdhbGxUaW1lRm9yUnVuKHQsZSl7Y29uc3Qgbj10W2VdO3JldHVybiBuP25ldyBEYXRlKDFlMypuLndhbGxfdGltZSkudG9TdHJpbmcoKTpudWxsfV90b2dnbGVFeHBhbmRlZCh0KXt0aGlzLnNldCgiX2V4cGFuZGVkIiwhdGhpcy5fZXhwYW5kZWQpLHRoaXMucmVkcmF3KCl9X3Jlc2V0RG9tYWluKCl7dGhpcy5fZ2V0Q2hhcnREYXRhTG9hZGVyKCkucmVzZXREb21haW4oKX1yZWRyYXcoKXt0aGlzLl9nZXRDaGFydERhdGFMb2FkZXIoKS5yZWRyYXcoKX19O1FyZS50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1jYXJkLWhlYWRpbmcKICAgICAgdGFnPSJbW3RhZ11dIgogICAgICBkaXNwbGF5LW5hbWU9IltbdGFnTWV0YWRhdGEuZGlzcGxheU5hbWVdXSIKICAgICAgZGVzY3JpcHRpb249IltbdGFnTWV0YWRhdGEuZGVzY3JpcHRpb25dXSIKICAgID48L3RmLWNhcmQtaGVhZGluZz4KCiAgICA8dGYtbGluZS1jaGFydC1kYXRhLWxvYWRlcgogICAgICB4LWNvbXBvbmVudHMtY3JlYXRpb24tbWV0aG9kPSJbW194Q29tcG9uZW50c0NyZWF0aW9uTWV0aG9kXV0iCiAgICAgIHktdmFsdWUtYWNjZXNzb3I9IltbX3lWYWx1ZUFjY2Vzc29yXV0iCiAgICAgIHRvb2x0aXAtY29sdW1ucz0iW1tfdG9vbHRpcENvbHVtbnNdXSIKICAgICAgY29sb3Itc2NhbGU9IltbX2NvbG9yU2NhbGVGdW5jdGlvbl1dIgogICAgICBkZWZhdWx0LXgtcmFuZ2U9IltbX2RlZmF1bHRYUmFuZ2VdXSIKICAgICAgZGVmYXVsdC15LXJhbmdlPSJbW19kZWZhdWx0WVJhbmdlXV0iCiAgICAgIHNtb290aGluZy1lbmFibGVkPSJbW19zbW9vdGhpbmdFbmFibGVkXV0iCiAgICAgIHJlcXVlc3QtbWFuYWdlcj0iW1tyZXF1ZXN0TWFuYWdlcl1dIgogICAgICBkYXRhLXRvLWxvYWQ9IltbcnVuc11dIgogICAgICBkYXRhLXNlcmllcz0iW1tydW5zXV0iCiAgICAgIGxvYWQta2V5PSJbW3RhZ11dIgogICAgICByZXF1ZXN0LWRhdGE9IltbX3JlcXVlc3REYXRhXV0iCiAgICAgIGxvYWQtZGF0YS1jYWxsYmFjaz0iW1tfY3JlYXRlUHJvY2Vzc0RhdGFGdW5jdGlvbigpXV0iCiAgICAgIGFjdGl2ZT0iW1thY3RpdmVdXSIKICAgID48L3RmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXI+CgogICAgPGRpdiBpZD0iYnV0dG9ucy1yb3ciPgogICAgICA8cGFwZXItaWNvbi1idXR0b24KICAgICAgICBzZWxlY3RlZCQ9IltbX2V4cGFuZGVkXV0iCiAgICAgICAgaWNvbj0iZnVsbHNjcmVlbiIKICAgICAgICBvbi10YXA9Il90b2dnbGVFeHBhbmRlZCIKICAgICAgPjwvcGFwZXItaWNvbi1idXR0b24+CiAgICAgIDxwYXBlci1pY29uLWJ1dHRvbgogICAgICAgIGljb249InNldHRpbmdzLW92ZXJzY2FuIgogICAgICAgIG9uLXRhcD0iX3Jlc2V0RG9tYWluIgogICAgICAgIHRpdGxlPSJSZXNldCBheGVzIHRvIFswLCAxXS4iCiAgICAgID48L3BhcGVyLWljb24tYnV0dG9uPgogICAgPC9kaXY+CgogICAgPGRpdiBpZD0ic3RlcC1sZWdlbmQiPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19ydW5zV2l0aFN0ZXBBdmFpbGFibGVdXSIgYXM9InJ1biI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVnZW5kLXJvdyI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJjb2xvci1ib3giCiAgICAgICAgICAgIHN0eWxlPSJiYWNrZ3JvdW5kOiBbW19jb21wdXRlUnVuQ29sb3IocnVuKV1dOyIKICAgICAgICAgID48L2Rpdj4KICAgICAgICAgIFtbcnVuXV0gaXMgYXQKICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGVwLWxhYmVsLXRleHQiPgogICAgICAgICAgICBzdGVwIFtbX2NvbXB1dGVDdXJyZW50U3RlcEZvclJ1bihfcnVuVG9QckN1cnZlRW50cnksIHJ1bildXSA8L3NwYW4KICAgICAgICAgID48YnIgLz4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3YWxsLXRpbWUtbGFiZWwtdGV4dCI+CiAgICAgICAgICAgIChbW19jb21wdXRlQ3VycmVudFdhbGxUaW1lRm9yUnVuKF9ydW5Ub1ByQ3VydmVFbnRyeSwgcnVuKV1dKQogICAgICAgICAgPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L3RlbXBsYXRlPgogICAgPC9kaXY+CgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHdpZHRoOiA1MDBweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsKICAgICAgfQogICAgICA6aG9zdChbX2V4cGFuZGVkXSkgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIHRmLWxpbmUtY2hhcnQtZGF0YS1sb2FkZXIgewogICAgICAgIGhlaWdodDogMzAwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICAgIDpob3N0KFtfZXhwYW5kZWRdKSB0Zi1saW5lLWNoYXJ0LWRhdGEtbG9hZGVyIHsKICAgICAgICBoZWlnaHQ6IDYwMHB4OwogICAgICB9CiAgICAgICNidXR0b25zLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICB9CiAgICAgICNidXR0b25zLXJvdyBwYXBlci1pY29uLWJ1dHRvbiB7CiAgICAgICAgY29sb3I6ICMyMTk2ZjM7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CiAgICAgICNidXR0b25zLXJvdyBwYXBlci1pY29uLWJ1dHRvbltzZWxlY3RlZF0gewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgIH0KICAgICAgI3N0ZXAtbGVnZW5kIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGZvbnQtc2l6ZTogMC44ZW07CiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5sZWdlbmQtcm93IHsKICAgICAgICBtYXJnaW46IDVweCAwIDVweCAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5jb2xvci1ib3ggewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgaGVpZ2h0OiAxMHB4OwogICAgICB9CiAgICAgIC5zdGVwLWxhYmVsLXRleHQgewogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CiAgICAgIC53YWxsLXRpbWUtbGFiZWwtdGV4dCB7CiAgICAgICAgY29sb3I6ICM4ODg7CiAgICAgICAgZm9udC1zaXplOiAwLjhlbTsKICAgICAgfQogICAgPC9zdHlsZT4KICBgLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxRcmUucHJvdG90eXBlLCJydW5zIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLFFyZS5wcm90b3R5cGUsInRhZyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxRcmUucHJvdG90eXBlLCJ0YWdNZXRhZGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxRcmUucHJvdG90eXBlLCJydW5Ub1N0ZXBDYXAiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxRcmUucHJvdG90eXBlLCJyZXF1ZXN0TWFuYWdlciIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFFyZS5wcm90b3R5cGUsImFjdGl2ZSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW4scmVmbGVjdFRvQXR0cmlidXRlOiEwfSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxRcmUucHJvdG90eXBlLCJfZXhwYW5kZWQiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sUXJlLnByb3RvdHlwZSwiX3J1blRvUHJDdXJ2ZUVudHJ5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFFyZS5wcm90b3R5cGUsIl9wcmV2aW91c1J1blRvUHJDdXJ2ZUVudHJ5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLFFyZS5wcm90b3R5cGUsIl9ydW5Ub0RhdGFPdmVyVGltZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLFFyZS5wcm90b3R5cGUsIm9uRGF0YUNoYW5nZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxRcmUucHJvdG90eXBlLCJfY29sb3JTY2FsZUZ1bmN0aW9uIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLHhPKV0sUXJlLnByb3RvdHlwZSwiX2NhbmNlbGxlciIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFFyZS5wcm90b3R5cGUsIl9hdHRhY2hlZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxRcmUucHJvdG90eXBlLCJfeENvbXBvbmVudHNDcmVhdGlvbk1ldGhvZCIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxRcmUucHJvdG90eXBlLCJfeVZhbHVlQWNjZXNzb3IiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLFFyZS5wcm90b3R5cGUsIl90b29sdGlwQ29sdW1ucyIsdm9pZCAwKSx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sUXJlLnByb3RvdHlwZSwiX3Nlcmllc0RhdGFGaWVsZHMiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLFFyZS5wcm90b3R5cGUsIl9kZWZhdWx0WFJhbmdlIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxRcmUucHJvdG90eXBlLCJfZGVmYXVsdFlSYW5nZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbildLFFyZS5wcm90b3R5cGUsIl9yZXF1ZXN0RGF0YSIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLFFyZS5wcm90b3R5cGUsIl9zbW9vdGhpbmdFbmFibGVkIix2b2lkIDApLHQoW2EoInJ1bnMiLCJ0YWciKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLFFyZS5wcm90b3R5cGUsInJlbG9hZCIsbnVsbCksdChbYSgiX3J1blRvUHJDdXJ2ZUVudHJ5IiwiX3ByZXZpb3VzUnVuVG9QckN1cnZlRW50cnkiLCJfc2V0T2ZSZWxldmFudFJ1bnMiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLFFyZS5wcm90b3R5cGUsIl9zZXRDaGFydERhdGEiLG51bGwpLHQoW2EoIl9ydW5Ub0RhdGFPdmVyVGltZSIsInJ1blRvU3RlcENhcCIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sUXJlLnByb3RvdHlwZSwiX3VwZGF0ZVJ1blRvUHJDdXJ2ZUVudHJ5IixudWxsKSx0KFthKCJfcnVuVG9EYXRhT3ZlclRpbWUiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLFFyZS5wcm90b3R5cGUsIl9ub3RpZnlEYXRhQ2hhbmdlIixudWxsKSx0KFtzKCJydW5zIiwiX3J1blRvUHJDdXJ2ZUVudHJ5IiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxRcmUucHJvdG90eXBlLCJfcnVuc1dpdGhTdGVwQXZhaWxhYmxlIixudWxsKSx0KFtzKCJfcnVuc1dpdGhTdGVwQXZhaWxhYmxlIiksZSgiZGVzaWduOnR5cGUiLE9iamVjdCksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sUXJlLnByb3RvdHlwZSwiX3NldE9mUmVsZXZhbnRSdW5zIixudWxsKSxRcmU9dChbaSgidGYtcHItY3VydmUtY2FyZCIpXSxRcmUpO2xldCB0b2U9Y2xhc3MgZXh0ZW5kcyB3ZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fcnVuVG9TdGVwSW5kZXg9e319X2NvbXB1dGVDb2xvckZvclJ1bih0KXtyZXR1cm4gX08odCl9X2NvbXB1dGVUaW1lVGV4dEZvclJ1bih0LGUsbixpKXtjb25zdCByPWVbbl07aWYoIUNlLmV4cG9ydHMuaXNOdW1iZXIocikpcmV0dXJuIiI7Y29uc3Qgbz10W25dO2lmKCFvKXJldHVybiIiO2NvbnN0IGE9b1tyXVtpXTtpZigic3RlcCI9PT1pKXJldHVybmBzdGVwICR7YX1gO2lmKCJyZWxhdGl2ZSI9PT1pKXJldHVybiBhPDE/YCR7KDFlMyphKS50b0ZpeGVkKDIpfSBtc2A6YCR7YS50b0ZpeGVkKDIpfSBzYDtpZigid2FsbF90aW1lIj09PWkpcmV0dXJuIG5ldyBEYXRlKDFlMyphKS50b1N0cmluZygpO3Rocm93IG5ldyBFcnJvcihgVGhlIGRpc3BsYXkgdHlwZSBvZiAke2l9IGlzIG5vdCByZWNvZ25pemVkLmApfV9zbGlkZXJWYWx1ZUNoYW5nZWQodCl7Y29uc3QgZT10LnRhcmdldC5kYXRhc2V0LnJ1bixuPXQudGFyZ2V0LmltbWVkaWF0ZVZhbHVlLGk9T2JqZWN0LmFzc2lnbih7fSx0aGlzLl9ydW5Ub1N0ZXBJbmRleCk7aXNOYU4obik/ZGVsZXRlIGlbZV06aVtlXT10LnRhcmdldC5pbW1lZGlhdGVWYWx1ZSx0aGlzLl9ydW5Ub1N0ZXBJbmRleD1pfV9jb21wdXRlTWF4U3RlcEluZGV4Rm9yUnVuKHQsZSl7Y29uc3Qgbj10W2VdO3JldHVybiBuJiZuLmxlbmd0aD9uLmxlbmd0aC0xOjB9X3VwZGF0ZVN0ZXBzRm9yTmV3UnVucygpe3ZhciB0PXRoaXMucnVuVG9BdmFpbGFibGVUaW1lRW50cmllcztjb25zdCBlPU9iamVjdC5hc3NpZ24oe30sdGhpcy5fcnVuVG9TdGVwSW5kZXgpO0NlLmV4cG9ydHMuZm9yT3duKHQsKCh0LG4pPT57Q2UuZXhwb3J0cy5pc051bWJlcihlW25dKXx8KGVbbl09dC5sZW5ndGgtMSl9KSksdGhpcy5fcnVuVG9TdGVwSW5kZXg9ZX1fZ2V0U3RlcCh0LGUpe3JldHVybiB0aGlzLl9ydW5Ub1N0ZXBJbmRleD90aGlzLl9ydW5Ub1N0ZXBJbmRleFtlXTowfV9jb21wdXRlUnVuVG9TdGVwKHQsZSl7Y29uc3Qgbj17fTtyZXR1cm4gQ2UuZXhwb3J0cy5mb3JPd24oZSwoKGUsaSk9Pntjb25zdCByPXRbaV07ciYmKG5baV09cltlXS5zdGVwKX0pKSxufWdldCBfcnVuc1dpdGhTbGlkZXJzKCl7dmFyIHQ9dGhpcy5ydW5Ub0F2YWlsYWJsZVRpbWVFbnRyaWVzO3JldHVybiB0aGlzLnJ1bnMuZmlsdGVyKChlPT50W2VdKSl9fTt0b2UudGVtcGxhdGU9eGVgCiAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW19ydW5zV2l0aFNsaWRlcnNdXSIgYXM9InJ1biI+CiAgICAgIDxkaXYgY2xhc3M9InJ1bi13aWRnZXQiPgogICAgICAgIDxkaXYgY2xhc3M9InJ1bi1kaXNwbGF5LWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJydW4tY29sb3ItYm94IgogICAgICAgICAgICBzdHlsZT0iYmFja2dyb3VuZDpbW19jb21wdXRlQ29sb3JGb3JSdW4ocnVuKV1dOyIKICAgICAgICAgID48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJ1bi10ZXh0Ij5bW3J1bl1dPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RlcC1kaXNwbGF5LWNvbnRhaW5lciI+CiAgICAgICAgICBbW19jb21wdXRlVGltZVRleHRGb3JSdW4ocnVuVG9BdmFpbGFibGVUaW1lRW50cmllcywgX3J1blRvU3RlcEluZGV4LAogICAgICAgICAgcnVuLCB0aW1lRGlzcGxheVR5cGUpXV0KICAgICAgICA8L2Rpdj4KICAgICAgICA8cGFwZXItc2xpZGVyCiAgICAgICAgICBkYXRhLXJ1biQ9IltbcnVuXV0iCiAgICAgICAgICBzdGVwPSIxIgogICAgICAgICAgdHlwZT0ibnVtYmVyIgogICAgICAgICAgbWluPSIwIgogICAgICAgICAgbWF4PSJbW19jb21wdXRlTWF4U3RlcEluZGV4Rm9yUnVuKHJ1blRvQXZhaWxhYmxlVGltZUVudHJpZXMsIHJ1bildXSIKICAgICAgICAgIHZhbHVlPSJbW19nZXRTdGVwKF9ydW5Ub1N0ZXBJbmRleCwgcnVuKV1dIgogICAgICAgICAgb24taW1tZWRpYXRlLXZhbHVlLWNoYW5nZWQ9Il9zbGlkZXJWYWx1ZUNoYW5nZWQiCiAgICAgICAgPjwvcGFwZXItc2xpZGVyPgogICAgICA8L2Rpdj4KICAgIDwvdGVtcGxhdGU+CiAgICA8c3R5bGU+CiAgICAgIC5ydW4td2lkZ2V0IHsKICAgICAgICBtYXJnaW46IDEwcHggMCAwIDA7CiAgICAgIH0KICAgICAgcGFwZXItc2xpZGVyIHsKICAgICAgICBtYXJnaW46IC04cHggMCAwIC0xNXB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICAgIC5zdGVwLWRpc3BsYXktY29udGFpbmVyIHsKICAgICAgICBmb250LXNpemU6IDAuOWVtOwogICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDsKICAgICAgfQogICAgICAucnVuLXRleHQgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQogICAgICAucnVuLWNvbG9yLWJveCB7CiAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOkFycmF5fSksZSgiZGVzaWduOnR5cGUiLEFycmF5KV0sdG9lLnByb3RvdHlwZSwicnVucyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx0b2UucHJvdG90eXBlLCJydW5Ub0F2YWlsYWJsZVRpbWVFbnRyaWVzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0LG5vdGlmeTohMCxjb21wdXRlZDoiX2NvbXB1dGVSdW5Ub1N0ZXAocnVuVG9BdmFpbGFibGVUaW1lRW50cmllcywgX3J1blRvU3RlcEluZGV4KSJ9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sdG9lLnByb3RvdHlwZSwicnVuVG9TdGVwIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLHRvZS5wcm90b3R5cGUsInRpbWVEaXNwbGF5VHlwZSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSx0b2UucHJvdG90eXBlLCJfcnVuVG9TdGVwSW5kZXgiLHZvaWQgMCksdChbYSgicnVuVG9BdmFpbGFibGVUaW1lRW50cmllcyIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sdG9lLnByb3RvdHlwZSwiX3VwZGF0ZVN0ZXBzRm9yTmV3UnVucyIsbnVsbCksdChbcygicnVucyIsInJ1blRvQXZhaWxhYmxlVGltZUVudHJpZXMiKSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLHRvZS5wcm90b3R5cGUsIl9ydW5zV2l0aFNsaWRlcnMiLG51bGwpLHRvZT10KFtpKCJ0Zi1wci1jdXJ2ZS1zdGVwcy1zZWxlY3RvciIpXSx0b2UpO2xldCBlb2U9Y2xhc3MgZXh0ZW5kcyhjcih3ZSkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJlbG9hZE9uUmVhZHk9ITAsdGhpcy5fdGltZURpc3BsYXlUeXBlPSJzdGVwIix0aGlzLl9zZWxlY3RlZFJ1bnM9W10sdGhpcy5fcnVuVG9UYWdJbmZvPXt9LHRoaXMuX3RhZ1RvUnVuVG9EYXRhPXt9LHRoaXMuX2dldENhdGVnb3J5SXRlbUtleT10PT50LnRhZyx0aGlzLl9yZXF1ZXN0TWFuYWdlcj1uZXcgYnIsdGhpcy5fc3RlcD0wfXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLnJlbG9hZE9uUmVhZHkmJnRoaXMucmVsb2FkKCl9cmVsb2FkKCl7UHJvbWlzZS5hbGwoW3RoaXMuX2ZldGNoVGFncygpXSkudGhlbigoKCk9Pnt0aGlzLl9yZWxvYWRDYXJkcygpfSkpfV9zaG91bGRPcGVuKHQpe3JldHVybiB0PD0yfV9mZXRjaFRhZ3MoKXtjb25zdCB0PUVyKCkucGx1Z2luUm91dGUoInByX2N1cnZlcyIsIi90YWdzIik7cmV0dXJuIHRoaXMuX3JlcXVlc3RNYW5hZ2VyLnJlcXVlc3QodCkudGhlbigodD0+e2lmKENlLmV4cG9ydHMuaXNFcXVhbCh0LHRoaXMuX3J1blRvVGFnSW5mbykpcmV0dXJuO2NvbnN0IGU9ZnIoQ2UuZXhwb3J0cy5tYXBWYWx1ZXModCwodD0+Q2UuZXhwb3J0cy5rZXlzKHQpKSkpO3RoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwwPT09ZS5sZW5ndGgpLHRoaXMuc2V0KCJfcnVuVG9UYWdJbmZvIix0KSx0aGlzLmFzeW5jKCgoKT0+e3RoaXMuc2V0KCJfY2F0ZWdvcmllc0RvbVJlYWR5IiwhMCl9KSl9KSl9X3JlbG9hZENhcmRzKCl7Q2UuZXhwb3J0cy5mb3JFYWNoKHRoaXMucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCJ0Zi1wci1jdXJ2ZS1jYXJkIiksKHQ9Pnt0LnJlbG9hZCgpfSkpfWdldCBfY2F0ZWdvcmllcygpe3ZhciB0PXRoaXMuX3NlbGVjdGVkUnVucyxlPXRoaXMuX3RhZ0ZpbHRlcjtyZXR1cm4gUHIoQ2UuZXhwb3J0cy5tYXBWYWx1ZXModGhpcy5fcnVuVG9UYWdJbmZvLCh0PT5PYmplY3Qua2V5cyh0KSkpLHQsZSl9Z2V0IF9yZWxldmFudFNlbGVjdGVkUnVucygpe3ZhciB0PXRoaXMuX3J1blRvVGFnSW5mbztyZXR1cm4gdGhpcy5fc2VsZWN0ZWRSdW5zLmZpbHRlcigoZT0+dFtlXSkpfV90YWdNZXRhZGF0YSh0LGUsbil7Y29uc3QgaT17fTtlLmZvckVhY2goKGU9PntpW2VdPXRbZV1bbl19KSk7Y29uc3Qgcj1uLnJlcGxhY2UoL1wvcHJfY3VydmVzJC8sIiIpO3JldHVybiBrTyhpLHIpfV9jcmVhdGVEYXRhQ2hhbmdlQ2FsbGJhY2sodCl7cmV0dXJuIGU9Pnt0aGlzLnNldCgiX3RhZ1RvUnVuVG9EYXRhIixPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdGhpcy5fdGFnVG9SdW5Ub0RhdGEpLHtbdF06ZX0pKX19Z2V0IF9ydW5Ub0F2YWlsYWJsZVRpbWVFbnRyaWVzKCl7dmFyIHQ9dGhpcy5fdGFnVG9SdW5Ub0RhdGE7Y29uc3QgZT17fTtmb3IoY29uc3RbbixpXW9mIE9iamVjdC5lbnRyaWVzKHQpKWZvcihjb25zdFt0XW9mIE9iamVjdC5lbnRyaWVzKGkpKShudWxsPT1lW3RdfHxuPGVbdF0pJiYoZVt0XT1uKTtjb25zdCBuPXt9O2Zvcihjb25zdFtpLHJdb2YgT2JqZWN0LmVudHJpZXMoZSkpe2NvbnN0IGU9dFtyXVtpXTtuW2ldPWUubWFwKCh0PT4oe3N0ZXA6dC5zdGVwLHdhbGxfdGltZTp0LndhbGxfdGltZSxyZWxhdGl2ZTp0LndhbGxfdGltZS1lWzBdLndhbGxfdGltZX0pKSl9cmV0dXJuIG59fTtlb2UudGVtcGxhdGU9eGVgCiAgICA8dGYtZGFzaGJvYXJkLWxheW91dD4KICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciIgc2xvdD0ic2lkZWJhciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3MiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvcgogICAgICAgICAgICAgIGlkPSJ0aW1lLXR5cGUtc2VsZWN0b3IiCiAgICAgICAgICAgICAgbmFtZT0iVGltZSBEaXNwbGF5IFR5cGUiCiAgICAgICAgICAgICAgc2VsZWN0ZWQtaWQ9Int7X3RpbWVEaXNwbGF5VHlwZX19IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ic3RlcCI+c3RlcDwvcGFwZXItYnV0dG9uPgogICAgICAgICAgICAgIDwhLS0KICAgICAgICAgICAgLS0+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0icmVsYXRpdmUiPnJlbGF0aXZlPC9wYXBlci1idXR0b24+CiAgICAgICAgICAgICAgPCEtLQogICAgICAgICAgICAtLT4KICAgICAgICAgICAgICA8cGFwZXItYnV0dG9uIGlkPSJ3YWxsX3RpbWUiPndhbGw8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfcnVuVG9BdmFpbGFibGVUaW1lRW50cmllc11dIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIiBpZD0ic3RlcHMtc2VsZWN0b3ItY29udGFpbmVyIj4KICAgICAgICAgICAgICA8dGYtcHItY3VydmUtc3RlcHMtc2VsZWN0b3IKICAgICAgICAgICAgICAgIHJ1bnM9IltbX3JlbGV2YW50U2VsZWN0ZWRSdW5zXV0iCiAgICAgICAgICAgICAgICBydW4tdG8tc3RlcD0ie3tfcnVuVG9TdGVwfX0iCiAgICAgICAgICAgICAgICBydW4tdG8tYXZhaWxhYmxlLXRpbWUtZW50cmllcz0iW1tfcnVuVG9BdmFpbGFibGVUaW1lRW50cmllc11dIgogICAgICAgICAgICAgICAgdGltZS1kaXNwbGF5LXR5cGU9IltbX3RpbWVEaXNwbGF5VHlwZV1dIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8L3RmLXByLWN1cnZlLXN0ZXBzLXNlbGVjdG9yPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIHJ1bnMtc2VsZWN0b3IiPgogICAgICAgICAgPHRmLXJ1bnMtc2VsZWN0b3Igc2VsZWN0ZWQtcnVucz0ie3tfc2VsZWN0ZWRSdW5zfX0iPgogICAgICAgICAgPC90Zi1ydW5zLXNlbGVjdG9yPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2VudGVyIiBzbG90PSJjZW50ZXIiPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1tfZGF0YU5vdEZvdW5kXV0iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibm8tZGF0YS13YXJuaW5nIj4KICAgICAgICAgICAgPGgzPk5vIHByZWNpc2lvbuKAk3JlY2FsbCBjdXJ2ZSBkYXRhIHdhcyBmb3VuZC48L2gzPgogICAgICAgICAgICA8cD5Qcm9iYWJsZSBjYXVzZXM6PC9wPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgWW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSBwcmVjaXNpb27igJNyZWNhbGwgZGF0YSB0byB5b3VyIGV2ZW50CiAgICAgICAgICAgICAgICBmaWxlcy4KICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgIDxsaT5UZW5zb3JCb2FyZCBjYW7igJl0IGZpbmQgeW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiCiAgICAgICAgICAgICAgICA+UkVBRE1FPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgICAgPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hCiAgICAgICAgICAgICAgPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyIKICAgICAgICAgICAgICAgID50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDx0Zi10YWctZmlsdGVyZXIgdGFnLWZpbHRlcj0ie3tfdGFnRmlsdGVyfX0iPjwvdGYtdGFnLWZpbHRlcmVyPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcKICAgICAgICAgICAgICBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIgogICAgICAgICAgICAgIGluaXRpYWwtb3BlbmVkPSJbW19zaG91bGRPcGVuKGluZGV4KV1dIgogICAgICAgICAgICAgIGdldC1jYXRlZ29yeS1pdGVtLWtleT0iW1tfZ2V0Q2F0ZWdvcnlJdGVtS2V5XV0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtcHItY3VydmUtY2FyZAogICAgICAgICAgICAgICAgICBhY3RpdmU9IltbYWN0aXZlXV0iCiAgICAgICAgICAgICAgICAgIHJ1bnM9IltbaXRlbS5ydW5zXV0iCiAgICAgICAgICAgICAgICAgIHRhZz0iW1tpdGVtLnRhZ11dIgogICAgICAgICAgICAgICAgICB0YWctbWV0YWRhdGE9IltbX3RhZ01ldGFkYXRhKF9ydW5Ub1RhZ0luZm8sIGl0ZW0ucnVucywgaXRlbS50YWcpXV0iCiAgICAgICAgICAgICAgICAgIHJlcXVlc3QtbWFuYWdlcj0iW1tfcmVxdWVzdE1hbmFnZXJdXSIKICAgICAgICAgICAgICAgICAgcnVuLXRvLXN0ZXAtY2FwPSJbW19ydW5Ub1N0ZXBdXSIKICAgICAgICAgICAgICAgICAgb24tZGF0YS1jaGFuZ2U9IltbX2NyZWF0ZURhdGFDaGFuZ2VDYWxsYmFjayhpdGVtLnRhZyldXSIKICAgICAgICAgICAgICAgID48L3RmLXByLWN1cnZlLWNhcmQ+CiAgICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgICAgPC90Zi1jYXRlZ29yeS1wYWdpbmF0ZWQtdmlldz4KICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgPC9kaXY+CiAgICA8L3RmLWRhc2hib2FyZC1sYXlvdXQ+CgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KCiAgICAgIC8qKiBEbyBub3QgbGV0IHRoZSBzdGVwcyBzZWxlY3RvciBvY2NsdWRlIHRoZSBydW4gc2VsZWN0b3IuICovCiAgICAgICNzdGVwcy1zZWxlY3Rvci1jb250YWluZXIgewogICAgICAgIG1heC1oZWlnaHQ6IDYwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CiAgICA8L3N0eWxlPgogIGAsdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxlb2UucHJvdG90eXBlLCJyZWxvYWRPblJlYWR5Iix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGVvZS5wcm90b3R5cGUsIl90aW1lRGlzcGxheVR5cGUiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLGVvZS5wcm90b3R5cGUsIl9zZWxlY3RlZFJ1bnMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sZW9lLnByb3RvdHlwZSwiX3J1blRvVGFnSW5mbyIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxlb2UucHJvdG90eXBlLCJfdGFnVG9SdW5Ub0RhdGEiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3Qsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGVvZS5wcm90b3R5cGUsIl9ydW5Ub1N0ZXAiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxlb2UucHJvdG90eXBlLCJfZGF0YU5vdEZvdW5kIix2b2lkIDApLHQoW28oe3R5cGU6U3RyaW5nfSksZSgiZGVzaWduOnR5cGUiLFN0cmluZyldLGVvZS5wcm90b3R5cGUsIl90YWdGaWx0ZXIiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFufSksZSgiZGVzaWduOnR5cGUiLEJvb2xlYW4pXSxlb2UucHJvdG90eXBlLCJfY2F0ZWdvcmllc0RvbVJlYWR5Iix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLGVvZS5wcm90b3R5cGUsIl9nZXRDYXRlZ29yeUl0ZW1LZXkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxlb2UucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbbyh7dHlwZTpOdW1iZXIsbm90aWZ5OiEwfSksZSgiZGVzaWduOnR5cGUiLE51bWJlcildLGVvZS5wcm90b3R5cGUsIl9zdGVwIix2b2lkIDApLHQoW3MoIl9ydW5Ub1RhZ0luZm8iLCJfc2VsZWN0ZWRSdW5zIiwiX3RhZ0ZpbHRlciIsIl9jYXRlZ29yaWVzRG9tUmVhZHkiKSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSldLGVvZS5wcm90b3R5cGUsIl9jYXRlZ29yaWVzIixudWxsKSx0KFtzKCJfc2VsZWN0ZWRSdW5zIiwiX3J1blRvVGFnSW5mbyIpLGUoImRlc2lnbjp0eXBlIixBcnJheSksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0sZW9lLnByb3RvdHlwZSwiX3JlbGV2YW50U2VsZWN0ZWRSdW5zIixudWxsKSx0KFtzKCJfdGFnVG9SdW5Ub0RhdGEiKSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxlb2UucHJvdG90eXBlLCJfcnVuVG9BdmFpbGFibGVUaW1lRW50cmllcyIsbnVsbCksZW9lPXQoW2koInRmLXByLWN1cnZlLWRhc2hib2FyZCIpXSxlb2UpO2xldCBub2U9Y2xhc3MgZXh0ZW5kcyhjcihFbCkpe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJlbG9hZE9uUmVhZHk9ITAsdGhpcy5fc2hvd0Rvd25sb2FkTGlua3M9UXMoIl9zaG93RG93bmxvYWRMaW5rcyIse2RlZmF1bHRWYWx1ZTohMSx1c2VMb2NhbFN0b3JhZ2U6ITB9KS5jYWxsKHRoaXMpLHRoaXMuX3Ntb290aGluZ1dlaWdodD1ybCgiX3Ntb290aGluZ1dlaWdodCIse2RlZmF1bHRWYWx1ZTouNn0pLmNhbGwodGhpcyksdGhpcy5faWdub3JlWU91dGxpZXJzPVFzKCJfaWdub3JlWU91dGxpZXJzIix7ZGVmYXVsdFZhbHVlOiEwLHVzZUxvY2FsU3RvcmFnZTohMH0pLmNhbGwodGhpcyksdGhpcy5feFR5cGU9d0N0LlNURVAsdGhpcy5fc2VsZWN0ZWRSdW5zPVtdLHRoaXMuX3RhZ0ZpbHRlcj0iIix0aGlzLl9jYXRlZ29yaWVzPVtdLHRoaXMuX2dldENhdGVnb3J5SXRlbUtleT10PT50LnRhZyx0aGlzLl9yZXF1ZXN0TWFuYWdlcj1uZXcgYnIoNTApLHRoaXMuX3Nob3dEb3dubG9hZExpbmtzT2JzZXJ2ZXI9dGwoIl9zaG93RG93bmxvYWRMaW5rcyIse2RlZmF1bHRWYWx1ZTohMSx1c2VMb2NhbFN0b3JhZ2U6ITB9KSx0aGlzLl9zbW9vdGhpbmdXZWlnaHRPYnNlcnZlcj1vbCgiX3Ntb290aGluZ1dlaWdodCIse2RlZmF1bHRWYWx1ZTouNn0pLHRoaXMuX2lnbm9yZVlPdXRsaWVyc09ic2VydmVyPXRsKCJfaWdub3JlWU91dGxpZXJzIix7ZGVmYXVsdFZhbHVlOiEwLHVzZUxvY2FsU3RvcmFnZTohMH0pfWdldCBfc21vb3RoaW5nRW5hYmxlZCgpe3JldHVybiB0aGlzLl9zbW9vdGhpbmdXZWlnaHQ+MH1fZ2V0Q2F0ZWdvcnlLZXkodCl7cmV0dXJuIHQubWV0YWRhdGEudHlwZT09QXIuU0VBUkNIX1JFU1VMVFM/IiI6dC5uYW1lfV9zaG91bGRPcGVuKHQpe3JldHVybiB0PD0yfXJlYWR5KCl7c3VwZXIucmVhZHkoKSx0aGlzLnJlbG9hZE9uUmVhZHkmJnRoaXMucmVsb2FkKCl9cmVsb2FkKCl7dGhpcy5fZmV0Y2hUYWdzKCkudGhlbigoKCk9Pnt0aGlzLl9yZWxvYWRDaGFydHMoKX0pKX1fZmV0Y2hUYWdzKCl7Y29uc3QgdD1FcigpLnBsdWdpblJvdXRlKCJzY2FsYXJzIiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0KS50aGVuKCh0PT57aWYoQ2UuZXhwb3J0cy5pc0VxdWFsKHQsdGhpcy5fcnVuVG9UYWdJbmZvKSlyZXR1cm47Y29uc3QgZT1mcihDZS5leHBvcnRzLm1hcFZhbHVlcyh0LCh0PT5PYmplY3Qua2V5cyh0KSkpKTt0aGlzLnNldCgiX2RhdGFOb3RGb3VuZCIsMD09PWUubGVuZ3RoKSx0aGlzLnNldCgiX3J1blRvVGFnSW5mbyIsdCksdGhpcy5hc3luYygoKCk9Pnt0aGlzLnNldCgiX2NhdGVnb3JpZXNEb21SZWFkeSIsITApfSkpfSkpfV9yZWxvYWRDaGFydHMoKXt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtc2NhbGFyLWNhcmQiKS5mb3JFYWNoKCh0PT57dC5yZWxvYWQoKX0pKX1fdXBkYXRlQ2F0ZWdvcmllcygpe3ZhciB0PXRoaXMuX3NlbGVjdGVkUnVucztsZXQgZSxuPXRoaXMuX3RhZ0ZpbHRlcjtlPVByKENlLmV4cG9ydHMubWFwVmFsdWVzKHRoaXMuX3J1blRvVGFnSW5mbywodD0+T2JqZWN0LmtleXModCkpKSx0LG4pLGUuZm9yRWFjaCgodD0+e3QuaXRlbXM9dC5pdGVtcy5tYXAoKHQ9Pih7dGFnOnQudGFnLHNlcmllczp0LnJ1bnMubWFwKChlPT4oe3J1bjplLHRhZzp0LnRhZ30pKSl9KSkpfSkpLHRoaXMudXBkYXRlQXJyYXlQcm9wKCJfY2F0ZWdvcmllcyIsZSx0aGlzLl9nZXRDYXRlZ29yeUtleSl9X3RhZ01ldGFkYXRhKHQsZSxuKXtjb25zdCBpPXQubmFtZSxyPW4udGFnLG89e307bi5zZXJpZXMuZm9yRWFjaCgoKHtydW46dH0pPT57b1t0XT1lW3RdW3JdfSkpO2NvbnN0IGE9ci5yZXBsYWNlKC9cL3NjYWxhcl9zdW1tYXJ5JC8sIiIpO2xldHtkZXNjcmlwdGlvbjpzLGRpc3BsYXlOYW1lOmx9PWtPKG8sYSk7cmV0dXJuIHQubWV0YWRhdGEudHlwZT09QXIuUFJFRklYX0dST1VQJiZsLnN0YXJ0c1dpdGgoaSsiLyIpJiYobD1sLnNsaWNlKGkubGVuZ3RoKzEpKSx7ZGVzY3JpcHRpb246cyxkaXNwbGF5TmFtZTpsfX19O25vZS50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveAogICAgICAgICAgICAgICAgaWQ9InNob3ctZG93bmxvYWQtbGlua3MiCiAgICAgICAgICAgICAgICBjaGVja2VkPSJ7e19zaG93RG93bmxvYWRMaW5rc319IgogICAgICAgICAgICAgICAgPlNob3cgZGF0YSBkb3dubG9hZCBsaW5rczwvcGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lLWl0ZW0iPgogICAgICAgICAgICAgIDxwYXBlci1jaGVja2JveAogICAgICAgICAgICAgICAgaWQ9Imlnbm9yZS15LW91dGxpZXIiCiAgICAgICAgICAgICAgICBjaGVja2VkPSJ7e19pZ25vcmVZT3V0bGllcnN9fSIKICAgICAgICAgICAgICAgID5JZ25vcmUgb3V0bGllcnMgaW4gY2hhcnQgc2NhbGluZzwvcGFwZXItY2hlY2tib3gKICAgICAgICAgICAgICA+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGlkPSJ0b29sdGlwLXNvcnRpbmciPgogICAgICAgICAgICAgIDxkaXY+VG9vbHRpcCBzb3J0aW5nIG1ldGhvZDo8L2Rpdj4KICAgICAgICAgICAgICA8cGFwZXItZHJvcGRvd24tbWVudQogICAgICAgICAgICAgICAgbm8tbGFiZWwtZmxvYXQKICAgICAgICAgICAgICAgIHNlbGVjdGVkLWl0ZW0tbGFiZWw9Int7X3Rvb2x0aXBTb3J0aW5nTWV0aG9kfX0iCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPHBhcGVyLWxpc3Rib3gKICAgICAgICAgICAgICAgICAgY2xhc3M9ImRyb3Bkb3duLWNvbnRlbnQiCiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPSIwIgogICAgICAgICAgICAgICAgICBzbG90PSJkcm9wZG93bi1jb250ZW50IgogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5kZWZhdWx0PC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5kZXNjZW5kaW5nPC9wYXBlci1pdGVtPgogICAgICAgICAgICAgICAgICA8cGFwZXItaXRlbT5hc2NlbmRpbmc8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICAgIDxwYXBlci1pdGVtPm5lYXJlc3Q8L3BhcGVyLWl0ZW0+CiAgICAgICAgICAgICAgICA8L3BhcGVyLWxpc3Rib3g+CiAgICAgICAgICAgICAgPC9wYXBlci1kcm9wZG93bi1tZW51PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLXNtb290aGluZy1pbnB1dAogICAgICAgICAgICAgIHdlaWdodD0ie3tfc21vb3RoaW5nV2VpZ2h0fX0iCiAgICAgICAgICAgICAgc3RlcD0iMC4wMDEiCiAgICAgICAgICAgICAgbWluPSIwIgogICAgICAgICAgICAgIG1heD0iMC45OTkiCiAgICAgICAgICAgID48L3RmLXNtb290aGluZy1pbnB1dD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1zZWN0aW9uIj4KICAgICAgICAgICAgPHRmLW9wdGlvbi1zZWxlY3RvcgogICAgICAgICAgICAgIGlkPSJ4LXR5cGUtc2VsZWN0b3IiCiAgICAgICAgICAgICAgbmFtZT0iSG9yaXpvbnRhbCBBeGlzIgogICAgICAgICAgICAgIHNlbGVjdGVkLWlkPSJ7e194VHlwZX19IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHBhcGVyLWJ1dHRvbiBpZD0ic3RlcCI+c3RlcDwvcGFwZXItYnV0dG9uCiAgICAgICAgICAgICAgPjwhLS0KICAgICAgICAgICAgLS0+PHBhcGVyLWJ1dHRvbiBpZD0icmVsYXRpdmUiPnJlbGF0aXZlPC9wYXBlci1idXR0b24KICAgICAgICAgICAgICA+PCEtLQogICAgICAgICAgICAtLT48cGFwZXItYnV0dG9uIGlkPSJ3YWxsX3RpbWUiPndhbGw8L3BhcGVyLWJ1dHRvbj4KICAgICAgICAgICAgPC90Zi1vcHRpb24tc2VsZWN0b3I+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24gcnVucy1zZWxlY3RvciI+CiAgICAgICAgICA8dGYtcnVucy1zZWxlY3RvciBzZWxlY3RlZC1ydW5zPSJ7e19zZWxlY3RlZFJ1bnN9fSI+CiAgICAgICAgICA8L3RmLXJ1bnMtc2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjZW50ZXIiIHNsb3Q9ImNlbnRlciI+CiAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20taWYiIGlmPSJbW19kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJuby1kYXRhLXdhcm5pbmciPgogICAgICAgICAgICA8aDM+Tm8gc2NhbGFyIGRhdGEgd2FzIGZvdW5kLjwvaDM+CiAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+WW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSBzY2FsYXIgZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgICAgPGxpPlRlbnNvckJvYXJkIGNhbuKAmXQgZmluZCB5b3VyIGV2ZW50IGZpbGVzLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0bwogICAgICAgICAgICAgIGFkZCBkYXRhIGFuZCBzZXQgdXAgeW91ciBldmVudCBmaWxlcywgY2hlY2sgb3V0IHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiCiAgICAgICAgICAgICAgICA+UkVBRE1FPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBwZXJoYXBzIHRoZQogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIgogICAgICAgICAgICAgICAgPlRlbnNvckJvYXJkIHR1dG9yaWFsPC9hCiAgICAgICAgICAgICAgPi4KICAgICAgICAgICAgPC9wPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW91IHRoaW5rIFRlbnNvckJvYXJkIGlzIGNvbmZpZ3VyZWQgcHJvcGVybHksIHBsZWFzZSBzZWUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyIKICAgICAgICAgICAgICAgID50aGUgc2VjdGlvbiBvZiB0aGUgUkVBRE1FIGRldm90ZWQgdG8gbWlzc2luZyBkYXRhIHByb2JsZW1zPC9hCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIGFuZCBjb25zaWRlciBmaWxpbmcgYW4gaXNzdWUgb24gR2l0SHViLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLWlmIiBpZj0iW1shX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDx0Zi10YWctZmlsdGVyZXIgdGFnLWZpbHRlcj0ie3tfdGFnRmlsdGVyfX0iPjwvdGYtdGFnLWZpbHRlcmVyPgogICAgICAgICAgPHRlbXBsYXRlIGlzPSJkb20tcmVwZWF0IiBpdGVtcz0iW1tfY2F0ZWdvcmllc11dIiBhcz0iY2F0ZWdvcnkiPgogICAgICAgICAgICA8dGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXcKICAgICAgICAgICAgICBjYXRlZ29yeT0iW1tjYXRlZ29yeV1dIgogICAgICAgICAgICAgIGluaXRpYWwtb3BlbmVkPSJbW19zaG91bGRPcGVuKGluZGV4KV1dIgogICAgICAgICAgICAgIGdldC1jYXRlZ29yeS1pdGVtLWtleT0iW1tfZ2V0Q2F0ZWdvcnlJdGVtS2V5XV0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8dGVtcGxhdGU+CiAgICAgICAgICAgICAgICA8dGYtc2NhbGFyLWNhcmQKICAgICAgICAgICAgICAgICAgYWN0aXZlPSJbW2FjdGl2ZV1dIgogICAgICAgICAgICAgICAgICBkYXRhLXRvLWxvYWQ9IltbaXRlbS5zZXJpZXNdXSIKICAgICAgICAgICAgICAgICAgaWdub3JlLXktb3V0bGllcnM9IltbX2lnbm9yZVlPdXRsaWVyc11dIgogICAgICAgICAgICAgICAgICBtdWx0aS1leHBlcmltZW50cz0iW1tfZ2V0TXVsdGlFeHBlcmltZW50cyhkYXRhU2VsZWN0aW9uKV1dIgogICAgICAgICAgICAgICAgICByZXF1ZXN0LW1hbmFnZXI9IltbX3JlcXVlc3RNYW5hZ2VyXV0iCiAgICAgICAgICAgICAgICAgIHNob3ctZG93bmxvYWQtbGlua3M9IltbX3Nob3dEb3dubG9hZExpbmtzXV0iCiAgICAgICAgICAgICAgICAgIHNtb290aGluZy1lbmFibGVkPSJbW19zbW9vdGhpbmdFbmFibGVkXV0iCiAgICAgICAgICAgICAgICAgIHNtb290aGluZy13ZWlnaHQ9IltbX3Ntb290aGluZ1dlaWdodF1dIgogICAgICAgICAgICAgICAgICB0YWctbWV0YWRhdGE9IltbX3RhZ01ldGFkYXRhKGNhdGVnb3J5LCBfcnVuVG9UYWdJbmZvLCBpdGVtKV1dIgogICAgICAgICAgICAgICAgICB0YWc9IltbaXRlbS50YWddXSIKICAgICAgICAgICAgICAgICAgdG9vbHRpcC1zb3J0aW5nLW1ldGhvZD0iW1tfdG9vbHRpcFNvcnRpbmdNZXRob2RdXSIKICAgICAgICAgICAgICAgICAgeC10eXBlPSJbW194VHlwZV1dIgogICAgICAgICAgICAgICAgICBiYXRjaC1zaXplPSJbW2ZlYXR1cmVGbGFncy5zY2FsYXJzQmF0Y2hTaXplXV0iCiAgICAgICAgICAgICAgICAgIGluLWNvbGFiPSJbW2ZlYXR1cmVGbGFncy5pbkNvbGFiXV0iCiAgICAgICAgICAgICAgICA+PC90Zi1zY2FsYXItY2FyZD4KICAgICAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgICAgICA8L3RmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3PgogICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8L3RlbXBsYXRlPgogICAgICA8L2Rpdj4KICAgIDwvdGYtZGFzaGJvYXJkLWxheW91dD4KCiAgICA8c3R5bGUgaW5jbHVkZT0iZGFzaGJvYXJkLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICAjdG9vbHRpcC1zb3J0aW5nIHsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi10b3A6IDE1cHg7CiAgICAgIH0KCiAgICAgICN0b29sdGlwLXNvcnRpbmcgcGFwZXItZHJvcGRvd24tbWVudSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7CiAgICAgICAgLS1wYXBlci1pbnB1dC1jb250YWluZXItZm9jdXMtY29sb3I6IHZhcigtLXRiLW9yYW5nZS1zdHJvbmcpOwogICAgICAgIHdpZHRoOiAxMDVweDsKICAgICAgfQoKICAgICAgLmxpbmUtaXRlbSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZy10b3A6IDVweDsKICAgICAgfQogICAgICAubm8tZGF0YS13YXJuaW5nIHsKICAgICAgICBtYXgtd2lkdGg6IDU0MHB4OwogICAgICAgIG1hcmdpbjogODBweCBhdXRvIDAgYXV0bzsKICAgICAgfQogICAgICAuY2VudGVyIHsKICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLG5vZS5wcm90b3R5cGUsInJlbG9hZE9uUmVhZHkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sbm9lLnByb3RvdHlwZSwiZmVhdHVyZUZsYWdzIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixub3RpZnk6ITAsb2JzZXJ2ZXI6Il9zaG93RG93bmxvYWRMaW5rc09ic2VydmVyIn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sbm9lLnByb3RvdHlwZSwiX3Nob3dEb3dubG9hZExpbmtzIix2b2lkIDApLHQoW28oe3R5cGU6TnVtYmVyLG5vdGlmeTohMCxvYnNlcnZlcjoiX3Ntb290aGluZ1dlaWdodE9ic2VydmVyIn0pLGUoImRlc2lnbjp0eXBlIixOdW1iZXIpXSxub2UucHJvdG90eXBlLCJfc21vb3RoaW5nV2VpZ2h0Iix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbixvYnNlcnZlcjoiX2lnbm9yZVlPdXRsaWVyc09ic2VydmVyIn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0sbm9lLnByb3RvdHlwZSwiX2lnbm9yZVlPdXRsaWVycyIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxub2UucHJvdG90eXBlLCJfeFR5cGUiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLG5vZS5wcm90b3R5cGUsIl9zZWxlY3RlZFJ1bnMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0sbm9lLnByb3RvdHlwZSwiX3J1blRvVGFnSW5mbyIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLG5vZS5wcm90b3R5cGUsIl9kYXRhTm90Rm91bmQiLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0sbm9lLnByb3RvdHlwZSwiX3RhZ0ZpbHRlciIsdm9pZCAwKSx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLG5vZS5wcm90b3R5cGUsIl9jYXRlZ29yaWVzRG9tUmVhZHkiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLG5vZS5wcm90b3R5cGUsIl9jYXRlZ29yaWVzIix2b2lkIDApLHQoW28oe3R5cGU6T2JqZWN0fSksZSgiZGVzaWduOnR5cGUiLE9iamVjdCldLG5vZS5wcm90b3R5cGUsIl9nZXRDYXRlZ29yeUl0ZW1LZXkiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxub2UucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbcygiX3Ntb290aGluZ1dlaWdodCIpLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxub2UucHJvdG90eXBlLCJfc21vb3RoaW5nRW5hYmxlZCIsbnVsbCksdChbYSgiX3J1blRvVGFnSW5mbyIsIl9zZWxlY3RlZFJ1bnMiLCJfdGFnRmlsdGVyIiwiX2NhdGVnb3JpZXNEb21SZWFkeSIpLGUoImRlc2lnbjp0eXBlIixGdW5jdGlvbiksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKSxlKCJkZXNpZ246cmV0dXJudHlwZSIsdm9pZCAwKV0sbm9lLnByb3RvdHlwZSwiX3VwZGF0ZUNhdGVnb3JpZXMiLG51bGwpLG5vZT10KFtpKCJ0Zi1zY2FsYXItZGFzaGJvYXJkIildLG5vZSk7bGV0IGlvZT1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3RleHRzPVtdLHRoaXMuX2NhbmNlbGxlcj1uZXcgeE99Z2V0IF9ydW5Db2xvcigpe3JldHVybiBfTyh0aGlzLnJ1bil9X2NoYW5nZVJ1bkNvbG9yKCl7dGhpcy51cGRhdGVTdHlsZXMoeyItLXRiLXRleHQtbG9hZGVyLW91dGxpbmUiOnRoaXMuX3J1bkNvbG9yfSl9YXR0YWNoZWQoKXt0aGlzLnJlbG9hZCgpfXJlbG9hZCgpe2lmKCF0aGlzLmlzQXR0YWNoZWQpcmV0dXJuO3RoaXMuX2NhbmNlbGxlci5jYW5jZWxBbGwoKTtjb25zdCB0PVBPKEVyKCkucGx1Z2luUm91dGUoInRleHQiLCIvdGV4dCIpLHt0YWc6dGhpcy50YWcscnVuOnRoaXMucnVuLG1hcmtkb3duOnRoaXMubWFya2Rvd25FbmFibGVkPyJ0cnVlIjoiZmFsc2UifSksZT10aGlzLl9jYW5jZWxsZXIuY2FuY2VsbGFibGUoKHQ9PntpZih0LmNhbmNlbGxlZClyZXR1cm47Y29uc3QgZT10LnZhbHVlLm1hcCgodD0+KHt3YWxsX3RpbWU6bmV3IERhdGUoMWUzKnQud2FsbF90aW1lKSxzdGVwOnQuc3RlcCx0ZXh0OnQudGV4dH0pKSk7dGhpcy5zZXQoIl90ZXh0cyIsZS5zbGljZSgpLnJldmVyc2UoKSl9KSk7dGhpcy5yZXF1ZXN0TWFuYWdlci5yZXF1ZXN0KHQpLnRoZW4oZSl9X2Zvcm1hdFN0ZXAodCl7cmV0dXJuIER5KCIsIikodCl9fTtpb2UudGVtcGxhdGU9eGVgCiAgICA8dGYtY2FyZC1oZWFkaW5nIHJ1bj0iW1tydW5dXSIgdGFnPSJbW3RhZ11dIiBjb2xvcj0iW1tfcnVuQ29sb3JdXSI+CiAgICA8L3RmLWNhcmQtaGVhZGluZz4KICAgIDxwYXBlci1tYXRlcmlhbAogICAgICBlbGV2YXRpb249IjEiCiAgICAgIGlkPSJzdGVwcy1jb250YWluZXIiCiAgICAgIGNsYXNzPSJjb250YWluZXIgc2Nyb2xsYmFyIgogICAgPgogICAgICA8dGVtcGxhdGUgaXM9ImRvbS1yZXBlYXQiIGl0ZW1zPSJbW190ZXh0c11dIj4KICAgICAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0ic3RlcC1jb250YWluZXIiPgogICAgICAgICAgc3RlcCA8c3BhbiBjbGFzcz0ic3RlcC12YWx1ZSI+W1tfZm9ybWF0U3RlcChpdGVtLnN0ZXApXV08L3NwYW4+CiAgICAgICAgPC9wYXBlci1tYXRlcmlhbD4KICAgICAgICA8cGFwZXItbWF0ZXJpYWwgZWxldmF0aW9uPSIxIiBjbGFzcz0idGV4dCI+CiAgICAgICAgICA8dGYtbWFya2Rvd24tdmlldyBodG1sPSJbW2l0ZW0udGV4dF1dIj48L3RmLW1hcmtkb3duLXZpZXc+CiAgICAgICAgPC9wYXBlci1tYXRlcmlhbD4KICAgICAgPC90ZW1wbGF0ZT4KICAgIDwvcGFwZXItbWF0ZXJpYWw+CiAgICA8c3R5bGUgaW5jbHVkZT0ic2Nyb2xsYmFyLXN0eWxlIj48L3N0eWxlPgogICAgPHN0eWxlPgogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsKICAgICAgfQogICAgICAuc2Nyb2xsYmFyIHsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CiAgICAgICNzdGVwcy1jb250YWluZXIgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAvKiBjb2xvciBjb21wdXRlZCBhbmQgc2V0IGFzIGlubGluZSBzdHlsZSAqLzsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGItdGV4dC1sb2FkZXItb3V0bGluZSk7CiAgICAgIH0KICAgICAgLnRleHQgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDNweDsKICAgICAgICBwYWRkaW5nOiA1cHg7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDsKICAgICAgfQogICAgICAuc3RlcC1jb250YWluZXIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRiLXVpLWxpZ2h0LWFjY2VudCk7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10Yi11aS1ib3JkZXIpOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyAvKiB0byBjb3JyZWN0IGZvciBib3JkZXIgKi8KICAgICAgICBwYWRkaW5nOiAzcHg7CiAgICAgIH0KICAgICAgLnN0ZXAtY29udGFpbmVyOm5vdCg6Zmlyc3QtY2hpbGQpIHsKICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OwogICAgICB9CgogICAgICB0Zi1jYXJkLWhlYWRpbmcgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxpb2UucHJvdG90eXBlLCJydW4iLHZvaWQgMCksdChbbyh7dHlwZTpTdHJpbmd9KSxlKCJkZXNpZ246dHlwZSIsU3RyaW5nKV0saW9lLnByb3RvdHlwZSwidGFnIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0saW9lLnByb3RvdHlwZSwibWFya2Rvd25FbmFibGVkIix2b2lkIDApLHQoW28oe3R5cGU6QXJyYXl9KSxlKCJkZXNpZ246dHlwZSIsQXJyYXkpXSxpb2UucHJvdG90eXBlLCJfdGV4dHMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsYnIpXSxpb2UucHJvdG90eXBlLCJyZXF1ZXN0TWFuYWdlciIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIix4TyldLGlvZS5wcm90b3R5cGUsIl9jYW5jZWxsZXIiLHZvaWQgMCksdChbcygicnVuIiksZSgiZGVzaWduOnR5cGUiLFN0cmluZyksZSgiZGVzaWduOnBhcmFtdHlwZXMiLFtdKV0saW9lLnByb3RvdHlwZSwiX3J1bkNvbG9yIixudWxsKSx0KFthKCJfcnVuQ29sb3IiKSxlKCJkZXNpZ246dHlwZSIsRnVuY3Rpb24pLGUoImRlc2lnbjpwYXJhbXR5cGVzIixbXSksZSgiZGVzaWduOnJldHVybnR5cGUiLHZvaWQgMCldLGlvZS5wcm90b3R5cGUsIl9jaGFuZ2VSdW5Db2xvciIsbnVsbCksaW9lPXQoW2koInRmLXRleHQtbG9hZGVyIildLGlvZSk7bGV0IHJvZT1jbGFzcyBleHRlbmRzKGNyKHdlKSl7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVsb2FkT25SZWFkeT0hMCx0aGlzLl9tYXJrZG93bkVuYWJsZWQ9UXMoIl9tYXJrZG93bkVuYWJsZWQiLHtkZWZhdWx0VmFsdWU6ITAsdXNlTG9jYWxTdG9yYWdlOiEwfSkuY2FsbCh0aGlzKSx0aGlzLl9yZXF1ZXN0TWFuYWdlcj1uZXcgYnIsdGhpcy5fbWFya2Rvd25FbmFibGVkU3RvcmFnZU9ic2VydmVyPXRsKCJfbWFya2Rvd25FbmFibGVkIix7ZGVmYXVsdFZhbHVlOiEwLHVzZUxvY2FsU3RvcmFnZTohMH0pfXN0YXRpYyBnZXQgb2JzZXJ2ZXJzKCl7cmV0dXJuWyJfbWFya2Rvd25FbmFibGVkT2JzZXJ2ZXIoX21hcmtkb3duRW5hYmxlZCkiXX1yZWFkeSgpe3N1cGVyLnJlYWR5KCksdGhpcy5yZWxvYWRPblJlYWR5JiZ0aGlzLnJlbG9hZCgpfXJlbG9hZCgpe3RoaXMuX2ZldGNoVGFncygpLnRoZW4oKCgpPT57dGhpcy5fcmVsb2FkVGV4dHMoKX0pKX1fc2hvdWxkT3Blbih0KXtyZXR1cm4gdDw9Mn1fZmV0Y2hUYWdzKCl7Y29uc3QgdD1FcigpLnBsdWdpblJvdXRlKCJ0ZXh0IiwiL3RhZ3MiKTtyZXR1cm4gdGhpcy5fcmVxdWVzdE1hbmFnZXIucmVxdWVzdCh0KS50aGVuKCh0PT57aWYoQ2UuZXhwb3J0cy5pc0VxdWFsKHQsdGhpcy5fcnVuVG9UYWcpKXJldHVybjtjb25zdCBlPWZyKHQpO3RoaXMuc2V0KCJfZGF0YU5vdEZvdW5kIiwwPT09ZS5sZW5ndGgpLHRoaXMuc2V0KCJfcnVuVG9UYWciLHQpLHRoaXMuYXN5bmMoKCgpPT57dGhpcy5zZXQoIl9jYXRlZ29yaWVzRG9tUmVhZHkiLCEwKX0pKX0pKX1fcmVsb2FkVGV4dHMoKXt0aGlzLnJvb3QucXVlcnlTZWxlY3RvckFsbCgidGYtdGV4dC1sb2FkZXIiKS5mb3JFYWNoKCh0PT57dC5yZWxvYWQoKX0pKX1nZXQgX2NhdGVnb3JpZXMoKXtyZXR1cm4gSXIodGhpcy5fcnVuVG9UYWcsdGhpcy5fc2VsZWN0ZWRSdW5zLHRoaXMuX3RhZ0ZpbHRlcil9X21hcmtkb3duRW5hYmxlZE9ic2VydmVyKCl7dGhpcy5fcmVsb2FkVGV4dHMoKX19O3JvZS50ZW1wbGF0ZT14ZWAKICAgIDx0Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIiBzbG90PSJzaWRlYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibGluZS1pdGVtIj4KICAgICAgICAgICAgPHBhcGVyLWNoZWNrYm94IGNoZWNrZWQ9Int7X21hcmtkb3duRW5hYmxlZH19IgogICAgICAgICAgICAgID5FbmFibGUgTWFya2Rvd248L3BhcGVyLWNoZWNrYm94CiAgICAgICAgICAgID4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItc2VjdGlvbiBydW5zLXNlbGVjdG9yIj4KICAgICAgICAgIDx0Zi1ydW5zLXNlbGVjdG9yIHNlbGVjdGVkLXJ1bnM9Int7X3NlbGVjdGVkUnVuc319Ij4KICAgICAgICAgIDwvdGYtcnVucy1zZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNlbnRlciIgc2xvdD0iY2VudGVyIj4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbX2RhdGFOb3RGb3VuZF1dIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im5vLWRhdGEtd2FybmluZyI+CiAgICAgICAgICAgIDxoMz5ObyB0ZXh0IGRhdGEgd2FzIGZvdW5kLjwvaDM+CiAgICAgICAgICAgIDxwPlByb2JhYmxlIGNhdXNlczo8L3A+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+WW91IGhhdmVu4oCZdCB3cml0dGVuIGFueSB0ZXh0IGRhdGEgdG8geW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICAgIDxsaT5UZW5zb3JCb2FyZCBjYW7igJl0IGZpbmQgeW91ciBldmVudCBmaWxlcy48L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgSWYgeW914oCZcmUgbmV3IHRvIHVzaW5nIFRlbnNvckJvYXJkLCBhbmQgd2FudCB0byBmaW5kIG91dCBob3cgdG8KICAgICAgICAgICAgICBhZGQgZGF0YSBhbmQgc2V0IHVwIHlvdXIgZXZlbnQgZmlsZXMsIGNoZWNrIG91dCB0aGUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIgogICAgICAgICAgICAgICAgPlJFQURNRTwvYQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICBhbmQgcGVyaGFwcyB0aGUKICAgICAgICAgICAgICA8YQogICAgICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvZ2V0X3N0YXJ0ZWQvc3VtbWFyaWVzX2FuZF90ZW5zb3Jib2FyZCIKICAgICAgICAgICAgICAgID5UZW5zb3JCb2FyZCB0dXRvcmlhbDwvYQogICAgICAgICAgICAgID4uCiAgICAgICAgICAgIDwvcD4KCiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgIElmIHlvdSB0aGluayBUZW5zb3JCb2FyZCBpcyBjb25maWd1cmVkIHByb3Blcmx5LCBwbGVhc2Ugc2VlCiAgICAgICAgICAgICAgPGEKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCNteS10ZW5zb3Jib2FyZC1pc250LXNob3dpbmctYW55LWRhdGEtd2hhdHMtd3JvbmciCiAgICAgICAgICAgICAgICA+dGhlIHNlY3Rpb24gb2YgdGhlIFJFQURNRSBkZXZvdGVkIHRvIG1pc3NpbmcgZGF0YSBwcm9ibGVtczwvYQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICBhbmQgY29uc2lkZXIgZmlsaW5nIGFuIGlzc3VlIG9uIEdpdEh1Yi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICA8dGVtcGxhdGUgaXM9ImRvbS1pZiIgaWY9IltbIV9kYXRhTm90Rm91bmRdXSI+CiAgICAgICAgICA8dGYtdGFnLWZpbHRlcmVyIHRhZy1maWx0ZXI9Int7X3RhZ0ZpbHRlcn19Ij48L3RmLXRhZy1maWx0ZXJlcj4KICAgICAgICAgIDx0ZW1wbGF0ZSBpcz0iZG9tLXJlcGVhdCIgaXRlbXM9IltbX2NhdGVnb3JpZXNdXSIgYXM9ImNhdGVnb3J5Ij4KICAgICAgICAgICAgPHRmLWNhdGVnb3J5LXBhZ2luYXRlZC12aWV3CiAgICAgICAgICAgICAgY2F0ZWdvcnk9IltbY2F0ZWdvcnldXSIKICAgICAgICAgICAgICBpbml0aWFsLW9wZW5lZD0iW1tfc2hvdWxkT3BlbihpbmRleCldXSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDx0ZW1wbGF0ZT4KICAgICAgICAgICAgICAgIDx0Zi10ZXh0LWxvYWRlcgogICAgICAgICAgICAgICAgICBhY3RpdmU9IltbYWN0aXZlXV0iCiAgICAgICAgICAgICAgICAgIHRhZz0iW1tpdGVtLnRhZ11dIgogICAgICAgICAgICAgICAgICBydW49IltbaXRlbS5ydW5dXSIKICAgICAgICAgICAgICAgICAgcmVxdWVzdC1tYW5hZ2VyPSJbW19yZXF1ZXN0TWFuYWdlcl1dIgogICAgICAgICAgICAgICAgICBtYXJrZG93bi1lbmFibGVkPSJbW19tYXJrZG93bkVuYWJsZWRdXSIKICAgICAgICAgICAgICAgID48L3RmLXRleHQtbG9hZGVyPgogICAgICAgICAgICAgIDwvdGVtcGxhdGU+CiAgICAgICAgICAgIDwvdGYtY2F0ZWdvcnktcGFnaW5hdGVkLXZpZXc+CiAgICAgICAgICA8L3RlbXBsYXRlPgogICAgICAgIDwvdGVtcGxhdGU+CiAgICAgIDwvZGl2PgogICAgPC90Zi1kYXNoYm9hcmQtbGF5b3V0PgogICAgPHN0eWxlIGluY2x1ZGU9ImRhc2hib2FyZC1zdHlsZSI+PC9zdHlsZT4KICAgIDxzdHlsZT4KICAgICAgLm5vLWRhdGEtd2FybmluZyB7CiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDsKICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwIGF1dG87CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgYCx0KFtvKHt0eXBlOkJvb2xlYW59KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHJvZS5wcm90b3R5cGUsInJlbG9hZE9uUmVhZHkiLHZvaWQgMCksdChbbyh7dHlwZTpCb29sZWFuLG5vdGlmeTohMCxvYnNlcnZlcjoiX21hcmtkb3duRW5hYmxlZFN0b3JhZ2VPYnNlcnZlciJ9KSxlKCJkZXNpZ246dHlwZSIsQm9vbGVhbildLHJvZS5wcm90b3R5cGUsIl9tYXJrZG93bkVuYWJsZWQiLHZvaWQgMCksdChbbyh7dHlwZTpBcnJheX0pLGUoImRlc2lnbjp0eXBlIixBcnJheSldLHJvZS5wcm90b3R5cGUsIl9zZWxlY3RlZFJ1bnMiLHZvaWQgMCksdChbbyh7dHlwZTpPYmplY3R9KSxlKCJkZXNpZ246dHlwZSIsT2JqZWN0KV0scm9lLnByb3RvdHlwZSwiX3J1blRvVGFnIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0scm9lLnByb3RvdHlwZSwiX2RhdGFOb3RGb3VuZCIsdm9pZCAwKSx0KFtvKHt0eXBlOlN0cmluZ30pLGUoImRlc2lnbjp0eXBlIixTdHJpbmcpXSxyb2UucHJvdG90eXBlLCJfdGFnRmlsdGVyIix2b2lkIDApLHQoW28oe3R5cGU6Qm9vbGVhbn0pLGUoImRlc2lnbjp0eXBlIixCb29sZWFuKV0scm9lLnByb3RvdHlwZSwiX2NhdGVnb3JpZXNEb21SZWFkeSIsdm9pZCAwKSx0KFtvKHt0eXBlOk9iamVjdH0pLGUoImRlc2lnbjp0eXBlIixPYmplY3QpXSxyb2UucHJvdG90eXBlLCJfcmVxdWVzdE1hbmFnZXIiLHZvaWQgMCksdChbcygiX3J1blRvVGFnIiwiX3NlbGVjdGVkUnVucyIsIl90YWdGaWx0ZXIiLCJfY2F0ZWdvcmllc0RvbVJlYWR5IiksZSgiZGVzaWduOnR5cGUiLEFycmF5KSxlKCJkZXNpZ246cGFyYW10eXBlcyIsW10pXSxyb2UucHJvdG90eXBlLCJfY2F0ZWdvcmllcyIsbnVsbCkscm9lPXQoW2koInRmLXRleHQtZGFzaGJvYXJkIildLHJvZSk7bGV0IG9vZT1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl90ZW1wbGF0ZT1udWxsLHRoaXMudGZfYmFja2VuZD1TQXR9fTtvb2U9dChbaSgidGYtYmFja2VuZCIpXSxvb2UpO2xldCBhb2U9Y2xhc3MgZXh0ZW5kcyB3ZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fdGVtcGxhdGU9bnVsbCx0aGlzLnJ1bnNDb2xvclNjYWxlPV9PfX07YW9lPXQoW2koInRmLWNvbG9yLXNjYWxlIildLGFvZSk7bGV0IHNvZT1jbGFzcyBleHRlbmRzIHdle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl90ZW1wbGF0ZT1udWxsLHRoaXMudGZfZ2xvYmFscz1Ec319O3NvZT10KFtpKCJ0Zi1nbG9iYWxzIildLHNvZSk7dmFyIGxvZT1PYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxhZGRMaW1pdExpc3RlbmVyOndsLHJlbW92ZUxpbWl0TGlzdGVuZXI6U2wsZ2V0TGltaXQ6TWwsc2V0TGltaXQ6ZnVuY3Rpb24gY29lKHQpe2lmKHQhPT1NYXRoLmZsb29yKHQpKXRocm93IG5ldyBFcnJvcihgbGltaXQgbXVzdCBiZSBhbiBpbnRlZ2VyLCBidXQgZ290OiAke3R9YCk7aWYodDw9MCl0aHJvdyBuZXcgRXJyb3IoYGxpbWl0IG11c3QgYmUgcG9zaXRpdmUsIGJ1dCBnb3Q6ICR7dH1gKTt0IT09YmwmJihibD10LGlsKHZsLGJsLHt1c2VMb2NhbFN0b3JhZ2U6ITB9KSx4bC5mb3JFYWNoKCh0PT57dCgpfSkpKX0sVGZEb21SZXBlYXQ6VGx9KTtsZXQgdW9lPWNsYXNzIGV4dGVuZHMgd2V7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3RlbXBsYXRlPW51bGwsdGhpcy50Zl9wYWdpbmF0ZWRfdmlldz1sb2V9fTt1b2U9dChbaSgidGYtcGFnaW5hdGVkLXZpZXctc3RvcmUiKV0sdW9lKTtsZXQgaG9lPWNsYXNzIGV4dGVuZHMgd2V7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3RlbXBsYXRlPW51bGwsdGhpcy50Zl9zdG9yYWdlPUlBdH19O2hvZT10KFtpKCJ0Zi1zdG9yYWdlIildLGhvZSl9KSgpOwoKIShmdW5jdGlvbigpewovKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLgoKICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLgoKICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRICiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkKICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwKICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IKICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwp2YXIgdD1mdW5jdGlvbihlLG4pe3JldHVybih0PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLG4pJiYodFtuXT1lW25dKX0pKGUsbil9O2Z1bmN0aW9uIGUoZSxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgbiYmbnVsbCE9PW4pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyhuKSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiBvKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfXQoZSxuKSxlLnByb3RvdHlwZT1udWxsPT09bj9PYmplY3QuY3JlYXRlKG4pOihvLnByb3RvdHlwZT1uLnByb3RvdHlwZSxuZXcgbyl9ZnVuY3Rpb24gbih0LGUsbixvKXtyZXR1cm4gbmV3KG58fChuPVByb21pc2UpKSgoZnVuY3Rpb24oaSxhKXtmdW5jdGlvbiByKHQpe3RyeXtsKG8ubmV4dCh0KSl9Y2F0Y2godCl7YSh0KX19ZnVuY3Rpb24gcyh0KXt0cnl7bChvLnRocm93KHQpKX1jYXRjaCh0KXthKHQpfX1mdW5jdGlvbiBsKHQpe3QuZG9uZT9pKHQudmFsdWUpOihmdW5jdGlvbiBlKHQpe3JldHVybiB0IGluc3RhbmNlb2Ygbj90Om5ldyBuKChmdW5jdGlvbihlKXtlKHQpfSkpfSkodC52YWx1ZSkudGhlbihyLHMpfWwoKG89by5hcHBseSh0LGV8fFtdKSkubmV4dCgpKX0pKX1mdW5jdGlvbiBvKHQsZSl7dmFyIG4sbyxpLGEscj17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZpWzBdKXRocm93IGlbMV07cmV0dXJuIGlbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gYT17bmV4dDpzKDApLHRocm93OnMoMSkscmV0dXJuOnMoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihhW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGE7ZnVuY3Rpb24gcyhhKXtyZXR1cm4gZnVuY3Rpb24ocyl7cmV0dXJuKGZ1bmN0aW9uIGwoYSl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtyOyl0cnl7aWYobj0xLG8mJihpPTImYVswXT9vLnJldHVybjphWzBdP28udGhyb3d8fCgoaT1vLnJldHVybikmJmkuY2FsbChvKSwwKTpvLm5leHQpJiYhKGk9aS5jYWxsKG8sYVsxXSkpLmRvbmUpcmV0dXJuIGk7c3dpdGNoKG89MCxpJiYoYT1bMiZhWzBdLGkudmFsdWVdKSxhWzBdKXtjYXNlIDA6Y2FzZSAxOmk9YTticmVhaztjYXNlIDQ6cmV0dXJuIHIubGFiZWwrKyx7dmFsdWU6YVsxXSxkb25lOiExfTtjYXNlIDU6ci5sYWJlbCsrLG89YVsxXSxhPVswXTtjb250aW51ZTtjYXNlIDc6YT1yLm9wcy5wb3AoKSxyLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKGk9ci50cnlzLChpPWkubGVuZ3RoPjAmJmlbaS5sZW5ndGgtMV0pfHw2IT09YVswXSYmMiE9PWFbMF0pKXtyPTA7Y29udGludWV9aWYoMz09PWFbMF0mJighaXx8YVsxXT5pWzBdJiZhWzFdPGlbM10pKXtyLmxhYmVsPWFbMV07YnJlYWt9aWYoNj09PWFbMF0mJnIubGFiZWw8aVsxXSl7ci5sYWJlbD1pWzFdLGk9YTticmVha31pZihpJiZyLmxhYmVsPGlbMl0pe3IubGFiZWw9aVsyXSxyLm9wcy5wdXNoKGEpO2JyZWFrfWlbMl0mJnIub3BzLnBvcCgpLHIudHJ5cy5wb3AoKTtjb250aW51ZX1hPWUuY2FsbCh0LHIpfWNhdGNoKHQpe2E9WzYsdF0sbz0wfWZpbmFsbHl7bj1pPTB9aWYoNSZhWzBdKXRocm93IGFbMV07cmV0dXJue3ZhbHVlOmFbMF0/YVsxXTp2b2lkIDAsZG9uZTohMH19KShbYSxzXSl9fX1mdW5jdGlvbiBpKHQpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvcixuPWUmJnRbZV0sbz0wO2lmKG4pcmV0dXJuIG4uY2FsbCh0KTtpZih0JiYibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKXJldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHQmJm8+PXQubGVuZ3RoJiYodD12b2lkIDApLHt2YWx1ZTp0JiZ0W28rK10sZG9uZTohdH19fTt0aHJvdyBuZXcgVHlwZUVycm9yKGU/Ik9iamVjdCBpcyBub3QgaXRlcmFibGUuIjoiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpfWZ1bmN0aW9uIGEodCxlKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl07aWYoIW4pcmV0dXJuIHQ7dmFyIG8saSxhPW4uY2FsbCh0KSxyPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT1lfHxlLS0gPjApJiYhKG89YS5uZXh0KCkpLmRvbmU7KXIucHVzaChvLnZhbHVlKX1jYXRjaCh0KXtpPXtlcnJvcjp0fX1maW5hbGx5e3RyeXtvJiYhby5kb25lJiYobj1hLnJldHVybikmJm4uY2FsbChhKX1maW5hbGx5e2lmKGkpdGhyb3cgaS5lcnJvcn19cmV0dXJuIHJ9ZnVuY3Rpb24gcih0LGUpe2Zvcih2YXIgbj0wLG89ZS5sZW5ndGgsaT10Lmxlbmd0aDtuPG87bisrLGkrKyl0W2ldPWVbbl07cmV0dXJuIHR9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIHM/KHRoaXMudj10LHRoaXMpOm5ldyBzKHQpfWZ1bmN0aW9uIGwodCxlLG4pe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgbyxpPW4uYXBwbHkodCxlfHxbXSksYT1bXTtyZXR1cm4gbz17fSxyKCJuZXh0IikscigidGhyb3ciKSxyKCJyZXR1cm4iKSxvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxvO2Z1bmN0aW9uIHIodCl7aVt0XSYmKG9bdF09ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihuLG8pe2EucHVzaChbdCxlLG4sb10pPjF8fGwodCxlKX0pKX0pfWZ1bmN0aW9uIGwodCxlKXt0cnl7IShmdW5jdGlvbiBuKHQpe3QudmFsdWUgaW5zdGFuY2VvZiBzP1Byb21pc2UucmVzb2x2ZSh0LnZhbHVlLnYpLnRoZW4oYyxkKTpwKGFbMF1bMl0sdCl9KShpW3RdKGUpKX1jYXRjaCh0KXtwKGFbMF1bM10sdCl9fWZ1bmN0aW9uIGModCl7bCgibmV4dCIsdCl9ZnVuY3Rpb24gZCh0KXtsKCJ0aHJvdyIsdCl9ZnVuY3Rpb24gcCh0LGUpe3QoZSksYS5zaGlmdCgpLGEubGVuZ3RoJiZsKGFbMF1bMF0sYVswXVsxXSl9fWZ1bmN0aW9uIGModCl7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciBlLG49dFtTeW1ib2wuYXN5bmNJdGVyYXRvcl07cmV0dXJuIG4/bi5jYWxsKHQpOih0PWkodCksZT17fSxvKCJuZXh0IiksbygidGhyb3ciKSxvKCJyZXR1cm4iKSxlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlKTtmdW5jdGlvbiBvKG4pe2Vbbl09dFtuXSYmZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihvLGkpeyhmdW5jdGlvbiBhKHQsZSxuLG8pe1Byb21pc2UucmVzb2x2ZShvKS50aGVuKChmdW5jdGlvbihlKXt0KHt2YWx1ZTplLGRvbmU6bn0pfSksZSl9KShvLGksKGU9dFtuXShlKSkuZG9uZSxlLnZhbHVlKX0pKX19fWZ1bmN0aW9uIGQodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHR9ZnVuY3Rpb24gcCh0KXt2YXIgZT10KChmdW5jdGlvbih0KXtFcnJvci5jYWxsKHQpLHQuc3RhY2s9KG5ldyBFcnJvcikuc3RhY2t9KSk7cmV0dXJuIGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGV9dmFyIG09cCgoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uIGUobil7dCh0aGlzKSx0aGlzLm1lc3NhZ2U9bj9uLmxlbmd0aCsiIGVycm9ycyBvY2N1cnJlZCBkdXJpbmcgdW5zdWJzY3JpcHRpb246XG4iK24ubWFwKChmdW5jdGlvbih0LGUpe3JldHVybiBlKzErIikgIit0LnRvU3RyaW5nKCl9KSkuam9pbigiXG4gICIpOiIiLHRoaXMubmFtZT0iVW5zdWJzY3JpcHRpb25FcnJvciIsdGhpcy5lcnJvcnM9bn19KSk7ZnVuY3Rpb24gZih0LGUpe2lmKHQpe3ZhciBuPXQuaW5kZXhPZihlKTswPD1uJiZ0LnNwbGljZShuLDEpfX12YXIgdT0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMuaW5pdGlhbFRlYXJkb3duPXQsdGhpcy5jbG9zZWQ9ITEsdGhpcy5fcGFyZW50YWdlPW51bGwsdGhpcy5fdGVhcmRvd25zPW51bGx9cmV0dXJuIHQucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7dmFyIHQsZSxuLG8scztpZighdGhpcy5jbG9zZWQpe3RoaXMuY2xvc2VkPSEwO3ZhciBsPXRoaXMuX3BhcmVudGFnZTtpZihsKWlmKHRoaXMuX3BhcmVudGFnZT1udWxsLEFycmF5LmlzQXJyYXkobCkpdHJ5e2Zvcih2YXIgYz1pKGwpLHA9Yy5uZXh0KCk7IXAuZG9uZTtwPWMubmV4dCgpKXtwLnZhbHVlLnJlbW92ZSh0aGlzKX19Y2F0Y2goZSl7dD17ZXJyb3I6ZX19ZmluYWxseXt0cnl7cCYmIXAuZG9uZSYmKGU9Yy5yZXR1cm4pJiZlLmNhbGwoYyl9ZmluYWxseXtpZih0KXRocm93IHQuZXJyb3J9fWVsc2UgbC5yZW1vdmUodGhpcyk7dmFyIGY9dGhpcy5pbml0aWFsVGVhcmRvd247aWYoZChmKSl0cnl7ZigpfWNhdGNoKHQpe3M9dCBpbnN0YW5jZW9mIG0/dC5lcnJvcnM6W3RdfXZhciB1PXRoaXMuX3RlYXJkb3ducztpZih1KXt0aGlzLl90ZWFyZG93bnM9bnVsbDt0cnl7Zm9yKHZhciBnPWkodSksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpe3ZhciB5PWgudmFsdWU7dHJ5e2IoeSl9Y2F0Y2godCl7cz1udWxsIT1zP3M6W10sdCBpbnN0YW5jZW9mIG0/cz1yKHIoW10sYShzKSksYSh0LmVycm9ycykpOnMucHVzaCh0KX19fWNhdGNoKHQpe249e2Vycm9yOnR9fWZpbmFsbHl7dHJ5e2gmJiFoLmRvbmUmJihvPWcucmV0dXJuKSYmby5jYWxsKGcpfWZpbmFsbHl7aWYobil0aHJvdyBuLmVycm9yfX19aWYocyl0aHJvdyBuZXcgbShzKX19LHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlKXt2YXIgbjtpZihlJiZlIT09dGhpcylpZih0aGlzLmNsb3NlZCliKGUpO2Vsc2V7aWYoZSBpbnN0YW5jZW9mIHQpe2lmKGUuY2xvc2VkfHxlLl9oYXNQYXJlbnQodGhpcykpcmV0dXJuO2UuX2FkZFBhcmVudCh0aGlzKX0odGhpcy5fdGVhcmRvd25zPW51bGwhPT0obj10aGlzLl90ZWFyZG93bnMpJiZ2b2lkIDAhPT1uP246W10pLnB1c2goZSl9fSx0LnByb3RvdHlwZS5faGFzUGFyZW50PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3BhcmVudGFnZTtyZXR1cm4gZT09PXR8fEFycmF5LmlzQXJyYXkoZSkmJmUuaW5jbHVkZXModCl9LHQucHJvdG90eXBlLl9hZGRQYXJlbnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fcGFyZW50YWdlO3RoaXMuX3BhcmVudGFnZT1BcnJheS5pc0FycmF5KGUpPyhlLnB1c2godCksZSk6ZT9bZSx0XTp0fSx0LnByb3RvdHlwZS5fcmVtb3ZlUGFyZW50PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3BhcmVudGFnZTtlPT09dD90aGlzLl9wYXJlbnRhZ2U9bnVsbDpBcnJheS5pc0FycmF5KGUpJiZmKGUsdCl9LHQucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihlKXt2YXIgbj10aGlzLl90ZWFyZG93bnM7biYmZihuLGUpLGUgaW5zdGFuY2VvZiB0JiZlLl9yZW1vdmVQYXJlbnQodGhpcyl9LHQuRU1QVFk9KGZ1bmN0aW9uKCl7dmFyIGU9bmV3IHQ7cmV0dXJuIGUuY2xvc2VkPSEwLGV9KSgpLHR9KSgpLGc9dS5FTVBUWTtmdW5jdGlvbiBoKHQpe3JldHVybiB0IGluc3RhbmNlb2YgdXx8dCYmImNsb3NlZCJpbiB0JiZkKHQucmVtb3ZlKSYmZCh0LmFkZCkmJmQodC51bnN1YnNjcmliZSl9ZnVuY3Rpb24gYih0KXtkKHQpP3QoKTp0LnVuc3Vic2NyaWJlKCl9dmFyIHk9e29uVW5oYW5kbGVkRXJyb3I6bnVsbCxvblN0b3BwZWROb3RpZmljYXRpb246bnVsbCxQcm9taXNlOnZvaWQgMCx1c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nOiExLHVzZURlcHJlY2F0ZWROZXh0Q29udGV4dDohMX0sXz17c2V0VGltZW91dDpmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgbj1fLmRlbGVnYXRlO3JldHVybigobnVsbD09bj92b2lkIDA6bi5zZXRUaW1lb3V0KXx8c2V0VGltZW91dCkuYXBwbHkodm9pZCAwLHIoW10sYSh0KSkpfSxjbGVhclRpbWVvdXQ6ZnVuY3Rpb24odCl7dmFyIGU9Xy5kZWxlZ2F0ZTtyZXR1cm4oKG51bGw9PWU/dm9pZCAwOmUuY2xlYXJUaW1lb3V0KXx8Y2xlYXJUaW1lb3V0KSh0KX0sZGVsZWdhdGU6dm9pZCAwfTtmdW5jdGlvbiBDKHQpe18uc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0aHJvdyB0fSkpfWZ1bmN0aW9uIE0oKXt9dmFyIHY9bnVsbDtmdW5jdGlvbiB4KHQpe2lmKHkudXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyl7dmFyIGU9IXY7aWYoZSYmKHY9e2Vycm9yVGhyb3duOiExLGVycm9yOm51bGx9KSx0KCksZSl7dmFyIG49djtpZih2PW51bGwsbi5lcnJvclRocm93bil0aHJvdyBuLmVycm9yfX1lbHNlIHQoKX12YXIgTz0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihlKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4uaXNTdG9wcGVkPSExLGU/KG4uZGVzdGluYXRpb249ZSxoKGUpJiZlLmFkZChuKSk6bi5kZXN0aW5hdGlvbj1TLG59cmV0dXJuIGUobix0KSxuLmNyZWF0ZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIG5ldyBQKHQsZSxuKX0sbi5wcm90b3R5cGUubmV4dD1mdW5jdGlvbih0KXt0aGlzLmlzU3RvcHBlZHx8dGhpcy5fbmV4dCh0KX0sbi5wcm90b3R5cGUuZXJyb3I9ZnVuY3Rpb24odCl7dGhpcy5pc1N0b3BwZWR8fCh0aGlzLmlzU3RvcHBlZD0hMCx0aGlzLl9lcnJvcih0KSl9LG4ucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dGhpcy5pc1N0b3BwZWR8fCh0aGlzLmlzU3RvcHBlZD0hMCx0aGlzLl9jb21wbGV0ZSgpKX0sbi5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXt0aGlzLmNsb3NlZHx8KHRoaXMuaXNTdG9wcGVkPSEwLHQucHJvdG90eXBlLnVuc3Vic2NyaWJlLmNhbGwodGhpcyksdGhpcy5kZXN0aW5hdGlvbj1udWxsKX0sbi5wcm90b3R5cGUuX25leHQ9ZnVuY3Rpb24odCl7dGhpcy5kZXN0aW5hdGlvbi5uZXh0KHQpfSxuLnByb3RvdHlwZS5fZXJyb3I9ZnVuY3Rpb24odCl7dHJ5e3RoaXMuZGVzdGluYXRpb24uZXJyb3IodCl9ZmluYWxseXt0aGlzLnVuc3Vic2NyaWJlKCl9fSxuLnByb3RvdHlwZS5fY29tcGxldGU9ZnVuY3Rpb24oKXt0cnl7dGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX0sbn0pKHUpLFA9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4oZSxuLG8pe3ZhciBpLGE9dC5jYWxsKHRoaXMpfHx0aGlzO2lmKGQoZSkpaT1lO2Vsc2UgaWYoZSl7dmFyIHI7aT1lLm5leHQsbj1lLmVycm9yLG89ZS5jb21wbGV0ZSxhJiZ5LnVzZURlcHJlY2F0ZWROZXh0Q29udGV4dD8ocj1PYmplY3QuY3JlYXRlKGUpKS51bnN1YnNjcmliZT1mdW5jdGlvbigpe3JldHVybiBhLnVuc3Vic2NyaWJlKCl9OnI9ZSxpPW51bGw9PWk/dm9pZCAwOmkuYmluZChyKSxuPW51bGw9PW4/dm9pZCAwOm4uYmluZChyKSxvPW51bGw9PW8/dm9pZCAwOm8uYmluZChyKX1yZXR1cm4gYS5kZXN0aW5hdGlvbj17bmV4dDppP3coaSk6TSxlcnJvcjp3KG51bGwhPW4/bjprKSxjb21wbGV0ZTpvP3cobyk6TX0sYX1yZXR1cm4gZShuLHQpLG59KShPKTtmdW5jdGlvbiB3KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLG49MDtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKWVbbl09YXJndW1lbnRzW25dO3RyeXt0LmFwcGx5KHZvaWQgMCxyKFtdLGEoZSkpKX1jYXRjaCh0KXtDKHQpfX19ZnVuY3Rpb24gayh0KXt0aHJvdyB0fXZhciBTPXtjbG9zZWQ6ITAsbmV4dDpNLGVycm9yOmssY29tcGxldGU6TX0sRD0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7ZnVuY3Rpb24gUih0KXtyZXR1cm4gdH1mdW5jdGlvbiBFKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3JldHVybiBBKHQpfWZ1bmN0aW9uIEEodCl7cmV0dXJuIDA9PT10Lmxlbmd0aD9SOjE9PT10Lmxlbmd0aD90WzBdOmZ1bmN0aW9uIGUobil7cmV0dXJuIHQucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiBlKHQpfSksbil9fXZhciBUPShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dCYmKHRoaXMuX3N1YnNjcmliZT10KX1yZXR1cm4gdC5wcm90b3R5cGUubGlmdD1mdW5jdGlvbihlKXt2YXIgbj1uZXcgdDtyZXR1cm4gbi5zb3VyY2U9dGhpcyxuLm9wZXJhdG9yPWUsbn0sdC5wcm90b3R5cGUuc3Vic2NyaWJlPWZ1bmN0aW9uKHQsZSxuKXt2YXIgbz10aGlzLGk9KGZ1bmN0aW9uIGEodCl7cmV0dXJuIHQmJnQgaW5zdGFuY2VvZiBPfHwoZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmZCh0Lm5leHQpJiZkKHQuZXJyb3IpJiZkKHQuY29tcGxldGUpfSkodCkmJmgodCl9KSh0KT90Om5ldyBQKHQsZSxuKTtyZXR1cm4geCgoZnVuY3Rpb24oKXt2YXIgdD1vLm9wZXJhdG9yLGU9by5zb3VyY2U7aS5hZGQodD90LmNhbGwoaSxlKTplP28uX3N1YnNjcmliZShpKTpvLl90cnlTdWJzY3JpYmUoaSkpfSkpLGl9LHQucHJvdG90eXBlLl90cnlTdWJzY3JpYmU9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0aGlzLl9zdWJzY3JpYmUodCl9Y2F0Y2goZSl7dC5lcnJvcihlKX19LHQucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO3JldHVybiBuZXcoZT1OKGUpKSgoZnVuY3Rpb24oZSxvKXt2YXIgaTtpPW4uc3Vic2NyaWJlKChmdW5jdGlvbihlKXt0cnl7dChlKX1jYXRjaCh0KXtvKHQpLG51bGw9PWl8fGkudW5zdWJzY3JpYmUoKX19KSxvLGUpfSkpfSx0LnByb3RvdHlwZS5fc3Vic2NyaWJlPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBudWxsPT09KGU9dGhpcy5zb3VyY2UpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnN1YnNjcmliZSh0KX0sdC5wcm90b3R5cGVbRF09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdC5wcm90b3R5cGUucGlwZT1mdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gQSh0KSh0aGlzKX0sdC5wcm90b3R5cGUudG9Qcm9taXNlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7cmV0dXJuIG5ldyh0PU4odCkpKChmdW5jdGlvbih0LG4pe3ZhciBvO2Uuc3Vic2NyaWJlKChmdW5jdGlvbih0KXtyZXR1cm4gbz10fSksKGZ1bmN0aW9uKHQpe3JldHVybiBuKHQpfSksKGZ1bmN0aW9uKCl7cmV0dXJuIHQobyl9KSl9KSl9LHQuY3JlYXRlPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgdChlKX0sdH0pKCk7ZnVuY3Rpb24gTih0KXt2YXIgZTtyZXR1cm4gbnVsbCE9PShlPW51bGwhPXQ/dDp5LlByb21pc2UpJiZ2b2lkIDAhPT1lP2U6UHJvbWlzZX1mdW5jdGlvbiB6KHQpe3JldHVybiBmdW5jdGlvbihlKXtpZigoZnVuY3Rpb24gbih0KXtyZXR1cm4gZChudWxsPT10P3ZvaWQgMDp0LmxpZnQpfSkoZSkpcmV0dXJuIGUubGlmdCgoZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0KGUsdGhpcyl9Y2F0Y2godCl7dGhpcy5lcnJvcih0KX19KSk7dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5hYmxlIHRvIGxpZnQgdW5rbm93biBPYnNlcnZhYmxlIHR5cGUiKX19dmFyIEksSD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihlLG4sbyxpLGEpe3ZhciByPXQuY2FsbCh0aGlzLGUpfHx0aGlzO3JldHVybiByLm9uRmluYWxpemU9YSxyLl9uZXh0PW4/ZnVuY3Rpb24odCl7dHJ5e24odCl9Y2F0Y2godCl7ZS5lcnJvcih0KX19OnQucHJvdG90eXBlLl9uZXh0LHIuX2Vycm9yPWk/ZnVuY3Rpb24odCl7dHJ5e2kodCl9Y2F0Y2godCl7ZS5lcnJvcih0KX1maW5hbGx5e3RoaXMudW5zdWJzY3JpYmUoKX19OnQucHJvdG90eXBlLl9lcnJvcixyLl9jb21wbGV0ZT1vP2Z1bmN0aW9uKCl7dHJ5e28oKX1jYXRjaCh0KXtlLmVycm9yKHQpfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX06dC5wcm90b3R5cGUuX2NvbXBsZXRlLHJ9cmV0dXJuIGUobix0KSxuLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbigpe3ZhciBlLG49dGhpcy5jbG9zZWQ7dC5wcm90b3R5cGUudW5zdWJzY3JpYmUuY2FsbCh0aGlzKSwhbiYmKG51bGw9PT0oZT10aGlzLm9uRmluYWxpemUpfHx2b2lkIDA9PT1lfHxlLmNhbGwodGhpcykpfSxufSkoTyksRj17c2NoZWR1bGU6ZnVuY3Rpb24odCl7dmFyIGU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lLG49Y2FuY2VsQW5pbWF0aW9uRnJhbWUsbz1GLmRlbGVnYXRlO28mJihlPW8ucmVxdWVzdEFuaW1hdGlvbkZyYW1lLG49by5jYW5jZWxBbmltYXRpb25GcmFtZSk7dmFyIGk9ZSgoZnVuY3Rpb24oZSl7bj12b2lkIDAsdChlKX0pKTtyZXR1cm4gbmV3IHUoKGZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PW4/dm9pZCAwOm4oaSl9KSl9LHJlcXVlc3RBbmltYXRpb25GcmFtZTpmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgbj1GLmRlbGVnYXRlO3JldHVybigobnVsbD09bj92b2lkIDA6bi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUpLmFwcGx5KHZvaWQgMCxyKFtdLGEodCkpKX0sY2FuY2VsQW5pbWF0aW9uRnJhbWU6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49Ri5kZWxlZ2F0ZTtyZXR1cm4oKG51bGw9PW4/dm9pZCAwOm4uY2FuY2VsQW5pbWF0aW9uRnJhbWUpfHxjYW5jZWxBbmltYXRpb25GcmFtZSkuYXBwbHkodm9pZCAwLHIoW10sYSh0KSkpfSxkZWxlZ2F0ZTp2b2lkIDB9LEw9cCgoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uIGUoKXt0KHRoaXMpLHRoaXMubmFtZT0iT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3IiLHRoaXMubWVzc2FnZT0ib2JqZWN0IHVuc3Vic2NyaWJlZCJ9fSkpLEI9KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4oKXt2YXIgZT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGUuY2xvc2VkPSExLGUub2JzZXJ2ZXJzPVtdLGUuaXNTdG9wcGVkPSExLGUuaGFzRXJyb3I9ITEsZS50aHJvd25FcnJvcj1udWxsLGV9cmV0dXJuIGUobix0KSxuLnByb3RvdHlwZS5saWZ0PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBWKHRoaXMsdGhpcyk7cmV0dXJuIGUub3BlcmF0b3I9dCxlfSxuLnByb3RvdHlwZS5fdGhyb3dJZkNsb3NlZD1mdW5jdGlvbigpe2lmKHRoaXMuY2xvc2VkKXRocm93IG5ldyBMfSxuLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7eCgoZnVuY3Rpb24oKXt2YXIgbixvO2lmKGUuX3Rocm93SWZDbG9zZWQoKSwhZS5pc1N0b3BwZWQpe3ZhciBhPWUub2JzZXJ2ZXJzLnNsaWNlKCk7dHJ5e2Zvcih2YXIgcj1pKGEpLHM9ci5uZXh0KCk7IXMuZG9uZTtzPXIubmV4dCgpKXtzLnZhbHVlLm5leHQodCl9fWNhdGNoKHQpe249e2Vycm9yOnR9fWZpbmFsbHl7dHJ5e3MmJiFzLmRvbmUmJihvPXIucmV0dXJuKSYmby5jYWxsKHIpfWZpbmFsbHl7aWYobil0aHJvdyBuLmVycm9yfX19fSkpfSxuLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3goKGZ1bmN0aW9uKCl7aWYoZS5fdGhyb3dJZkNsb3NlZCgpLCFlLmlzU3RvcHBlZCl7ZS5oYXNFcnJvcj1lLmlzU3RvcHBlZD0hMCxlLnRocm93bkVycm9yPXQ7Zm9yKHZhciBuPWUub2JzZXJ2ZXJzO24ubGVuZ3RoOyluLnNoaWZ0KCkuZXJyb3IodCl9fSkpfSxuLnByb3RvdHlwZS5jb21wbGV0ZT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7eCgoZnVuY3Rpb24oKXtpZih0Ll90aHJvd0lmQ2xvc2VkKCksIXQuaXNTdG9wcGVkKXt0LmlzU3RvcHBlZD0hMDtmb3IodmFyIGU9dC5vYnNlcnZlcnM7ZS5sZW5ndGg7KWUuc2hpZnQoKS5jb21wbGV0ZSgpfX0pKX0sbi5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXt0aGlzLmlzU3RvcHBlZD10aGlzLmNsb3NlZD0hMCx0aGlzLm9ic2VydmVycz1udWxsfSxPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsIm9ic2VydmVkIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuKG51bGw9PT0odD10aGlzLm9ic2VydmVycyl8fHZvaWQgMD09PXQ/dm9pZCAwOnQubGVuZ3RoKT4wfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLG4ucHJvdG90eXBlLl90cnlTdWJzY3JpYmU9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX3Rocm93SWZDbG9zZWQoKSx0LnByb3RvdHlwZS5fdHJ5U3Vic2NyaWJlLmNhbGwodGhpcyxlKX0sbi5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdGhyb3dJZkNsb3NlZCgpLHRoaXMuX2NoZWNrRmluYWxpemVkU3RhdHVzZXModCksdGhpcy5faW5uZXJTdWJzY3JpYmUodCl9LG4ucHJvdG90eXBlLl9pbm5lclN1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49ZS5vYnNlcnZlcnM7cmV0dXJuIGUuaGFzRXJyb3J8fGUuaXNTdG9wcGVkP2c6KG4ucHVzaCh0KSxuZXcgdSgoZnVuY3Rpb24oKXtyZXR1cm4gZihuLHQpfSkpKX0sbi5wcm90b3R5cGUuX2NoZWNrRmluYWxpemVkU3RhdHVzZXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPWUuaXNTdG9wcGVkO2UuaGFzRXJyb3I/dC5lcnJvcihlLnRocm93bkVycm9yKTpuJiZ0LmNvbXBsZXRlKCl9LG4ucHJvdG90eXBlLmFzT2JzZXJ2YWJsZT1mdW5jdGlvbigpe3ZhciB0PW5ldyBUO3JldHVybiB0LnNvdXJjZT10aGlzLHR9LG4uY3JlYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBWKHQsZSl9LG59KShUKSxWPShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUsbil7dmFyIG89dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBvLmRlc3RpbmF0aW9uPWUsby5zb3VyY2U9bixvfXJldHVybiBlKG4sdCksbi5wcm90b3R5cGUubmV4dD1mdW5jdGlvbih0KXt2YXIgZSxuO251bGw9PT0obj1udWxsPT09KGU9dGhpcy5kZXN0aW5hdGlvbil8fHZvaWQgMD09PWU/dm9pZCAwOmUubmV4dCl8fHZvaWQgMD09PW58fG4uY2FsbChlLHQpfSxuLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbih0KXt2YXIgZSxuO251bGw9PT0obj1udWxsPT09KGU9dGhpcy5kZXN0aW5hdGlvbil8fHZvaWQgMD09PWU/dm9pZCAwOmUuZXJyb3IpfHx2b2lkIDA9PT1ufHxuLmNhbGwoZSx0KX0sbi5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgdCxlO251bGw9PT0oZT1udWxsPT09KHQ9dGhpcy5kZXN0aW5hdGlvbil8fHZvaWQgMD09PXQ/dm9pZCAwOnQuY29tcGxldGUpfHx2b2lkIDA9PT1lfHxlLmNhbGwodCl9LG4ucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gbnVsbCE9PShuPW51bGw9PT0oZT10aGlzLnNvdXJjZSl8fHZvaWQgMD09PWU/dm9pZCAwOmUuc3Vic2NyaWJlKHQpKSYmdm9pZCAwIT09bj9uOmd9LG59KShCKSxqPShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUpe3ZhciBuPXQuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gbi5fdmFsdWU9ZSxufXJldHVybiBlKG4sdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLCJ2YWx1ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFZhbHVlKCl9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksbi5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbihlKXt2YXIgbj10LnByb3RvdHlwZS5fc3Vic2NyaWJlLmNhbGwodGhpcyxlKTtyZXR1cm4hbi5jbG9zZWQmJmUubmV4dCh0aGlzLl92YWx1ZSksbn0sbi5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5fdmFsdWU7aWYodC5oYXNFcnJvcil0aHJvdyB0LnRocm93bkVycm9yO3JldHVybiB0aGlzLl90aHJvd0lmQ2xvc2VkKCksZX0sbi5wcm90b3R5cGUubmV4dD1mdW5jdGlvbihlKXt0LnByb3RvdHlwZS5uZXh0LmNhbGwodGhpcyx0aGlzLl92YWx1ZT1lKX0sbn0pKEIpLFU9e25vdzpmdW5jdGlvbigpe3JldHVybihVLmRlbGVnYXRlfHxEYXRlKS5ub3coKX0sZGVsZWdhdGU6dm9pZCAwfSxXPShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUsbixvKXt2b2lkIDA9PT1lJiYoZT0xLzApLHZvaWQgMD09PW4mJihuPTEvMCksdm9pZCAwPT09byYmKG89VSk7dmFyIGk9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBpLl9idWZmZXJTaXplPWUsaS5fd2luZG93VGltZT1uLGkuX3RpbWVzdGFtcFByb3ZpZGVyPW8saS5fYnVmZmVyPVtdLGkuX2luZmluaXRlVGltZVdpbmRvdz0hMCxpLl9pbmZpbml0ZVRpbWVXaW5kb3c9bj09PTEvMCxpLl9idWZmZXJTaXplPU1hdGgubWF4KDEsZSksaS5fd2luZG93VGltZT1NYXRoLm1heCgxLG4pLGl9cmV0dXJuIGUobix0KSxuLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMsbz1uLl9idWZmZXIsaT1uLl9pbmZpbml0ZVRpbWVXaW5kb3csYT1uLl90aW1lc3RhbXBQcm92aWRlcixyPW4uX3dpbmRvd1RpbWU7bi5pc1N0b3BwZWR8fChvLnB1c2goZSksIWkmJm8ucHVzaChhLm5vdygpK3IpKSx0aGlzLl90cmltQnVmZmVyKCksdC5wcm90b3R5cGUubmV4dC5jYWxsKHRoaXMsZSl9LG4ucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24odCl7dGhpcy5fdGhyb3dJZkNsb3NlZCgpLHRoaXMuX3RyaW1CdWZmZXIoKTtmb3IodmFyIGU9dGhpcy5faW5uZXJTdWJzY3JpYmUodCksbj10aGlzLl9pbmZpbml0ZVRpbWVXaW5kb3csbz10aGlzLl9idWZmZXIuc2xpY2UoKSxpPTA7aTxvLmxlbmd0aCYmIXQuY2xvc2VkO2krPW4/MToyKXQubmV4dChvW2ldKTtyZXR1cm4gdGhpcy5fY2hlY2tGaW5hbGl6ZWRTdGF0dXNlcyh0KSxlfSxuLnByb3RvdHlwZS5fdHJpbUJ1ZmZlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10Ll9idWZmZXJTaXplLG49dC5fdGltZXN0YW1wUHJvdmlkZXIsbz10Ll9idWZmZXIsaT10Ll9pbmZpbml0ZVRpbWVXaW5kb3csYT0oaT8xOjIpKmU7aWYoZTwxLzAmJmE8by5sZW5ndGgmJm8uc3BsaWNlKDAsby5sZW5ndGgtYSksIWkpe2Zvcih2YXIgcj1uLm5vdygpLHM9MCxsPTE7bDxvLmxlbmd0aCYmb1tsXTw9cjtsKz0yKXM9bDtzJiZvLnNwbGljZSgwLHMrMSl9fSxufSkoQiksRz0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihlLG4pe3JldHVybiB0LmNhbGwodGhpcyl8fHRoaXN9cmV0dXJuIGUobix0KSxuLnByb3RvdHlwZS5zY2hlZHVsZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzfSxufSkodSksWT17c2V0SW50ZXJ2YWw6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49WS5kZWxlZ2F0ZTtyZXR1cm4oKG51bGw9PW4/dm9pZCAwOm4uc2V0SW50ZXJ2YWwpfHxzZXRJbnRlcnZhbCkuYXBwbHkodm9pZCAwLHIoW10sYSh0KSkpfSxjbGVhckludGVydmFsOmZ1bmN0aW9uKHQpe3ZhciBlPVkuZGVsZWdhdGU7cmV0dXJuKChudWxsPT1lP3ZvaWQgMDplLmNsZWFySW50ZXJ2YWwpfHxjbGVhckludGVydmFsKSh0KX0sZGVsZWdhdGU6dm9pZCAwfSxxPShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUsbil7dmFyIG89dC5jYWxsKHRoaXMsZSxuKXx8dGhpcztyZXR1cm4gby5zY2hlZHVsZXI9ZSxvLndvcms9bixvLnBlbmRpbmc9ITEsb31yZXR1cm4gZShuLHQpLG4ucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwPT09ZSYmKGU9MCksdGhpcy5jbG9zZWQpcmV0dXJuIHRoaXM7dGhpcy5zdGF0ZT10O3ZhciBuPXRoaXMuaWQsbz10aGlzLnNjaGVkdWxlcjtyZXR1cm4gbnVsbCE9biYmKHRoaXMuaWQ9dGhpcy5yZWN5Y2xlQXN5bmNJZChvLG4sZSkpLHRoaXMucGVuZGluZz0hMCx0aGlzLmRlbGF5PWUsdGhpcy5pZD10aGlzLmlkfHx0aGlzLnJlcXVlc3RBc3luY0lkKG8sdGhpcy5pZCxlKSx0aGlzfSxuLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHZvaWQgMD09PW4mJihuPTApLFkuc2V0SW50ZXJ2YWwodC5mbHVzaC5iaW5kKHQsdGhpcyksbil9LG4ucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKHQsZSxuKXtpZih2b2lkIDA9PT1uJiYobj0wKSxudWxsIT1uJiZ0aGlzLmRlbGF5PT09biYmITE9PT10aGlzLnBlbmRpbmcpcmV0dXJuIGU7WS5jbGVhckludGVydmFsKGUpfSxuLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKHQsZSl7aWYodGhpcy5jbG9zZWQpcmV0dXJuIG5ldyBFcnJvcigiZXhlY3V0aW5nIGEgY2FuY2VsbGVkIGFjdGlvbiIpO3RoaXMucGVuZGluZz0hMTt2YXIgbj10aGlzLl9leGVjdXRlKHQsZSk7aWYobilyZXR1cm4gbjshMT09PXRoaXMucGVuZGluZyYmbnVsbCE9dGhpcy5pZCYmKHRoaXMuaWQ9dGhpcy5yZWN5Y2xlQXN5bmNJZCh0aGlzLnNjaGVkdWxlcix0aGlzLmlkLG51bGwpKX0sbi5wcm90b3R5cGUuX2V4ZWN1dGU9ZnVuY3Rpb24odCxlKXt2YXIgbixvPSExO3RyeXt0aGlzLndvcmsodCl9Y2F0Y2godCl7bz0hMCxuPSEhdCYmdHx8bmV3IEVycm9yKHQpfWlmKG8pcmV0dXJuIHRoaXMudW5zdWJzY3JpYmUoKSxufSxuLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbigpe2lmKCF0aGlzLmNsb3NlZCl7dmFyIGU9dGhpcy5pZCxuPXRoaXMuc2NoZWR1bGVyLG89bi5hY3Rpb25zO3RoaXMud29yaz10aGlzLnN0YXRlPXRoaXMuc2NoZWR1bGVyPW51bGwsdGhpcy5wZW5kaW5nPSExLGYobyx0aGlzKSxudWxsIT1lJiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKG4sZSxudWxsKSksdGhpcy5kZWxheT1udWxsLHQucHJvdG90eXBlLnVuc3Vic2NyaWJlLmNhbGwodGhpcyl9fSxufSkoRyksWj0xLFg9e307ZnVuY3Rpb24gSyh0KXtyZXR1cm4gdCBpbiBYJiYoZGVsZXRlIFhbdF0sITApfXZhciBKPWZ1bmN0aW9uKHQpe3ZhciBlPVorKztyZXR1cm4gWFtlXT0hMCxJfHwoST1Qcm9taXNlLnJlc29sdmUoKSksSS50aGVuKChmdW5jdGlvbigpe3JldHVybiBLKGUpJiZ0KCl9KSksZX0sUT1mdW5jdGlvbih0KXtLKHQpfSwkPXtzZXRJbW1lZGlhdGU6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49JC5kZWxlZ2F0ZTtyZXR1cm4oKG51bGw9PW4/dm9pZCAwOm4uc2V0SW1tZWRpYXRlKXx8SikuYXBwbHkodm9pZCAwLHIoW10sYSh0KSkpfSxjbGVhckltbWVkaWF0ZTpmdW5jdGlvbih0KXt2YXIgZT0kLmRlbGVnYXRlO3JldHVybigobnVsbD09ZT92b2lkIDA6ZS5jbGVhckltbWVkaWF0ZSl8fFEpKHQpfSxkZWxlZ2F0ZTp2b2lkIDB9LHR0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUsbil7dmFyIG89dC5jYWxsKHRoaXMsZSxuKXx8dGhpcztyZXR1cm4gby5zY2hlZHVsZXI9ZSxvLndvcms9bixvfXJldHVybiBlKG4sdCksbi5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQ9ZnVuY3Rpb24oZSxuLG8pe3JldHVybiB2b2lkIDA9PT1vJiYobz0wKSxudWxsIT09byYmbz4wP3QucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkLmNhbGwodGhpcyxlLG4sbyk6KGUuYWN0aW9ucy5wdXNoKHRoaXMpLGUuX3NjaGVkdWxlZHx8KGUuX3NjaGVkdWxlZD0kLnNldEltbWVkaWF0ZShlLmZsdXNoLmJpbmQoZSx2b2lkIDApKSkpfSxuLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZD1mdW5jdGlvbihlLG4sbyl7aWYodm9pZCAwPT09byYmKG89MCksbnVsbCE9byYmbz4wfHxudWxsPT1vJiZ0aGlzLmRlbGF5PjApcmV0dXJuIHQucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkLmNhbGwodGhpcyxlLG4sbyk7MD09PWUuYWN0aW9ucy5sZW5ndGgmJigkLmNsZWFySW1tZWRpYXRlKG4pLGUuX3NjaGVkdWxlZD12b2lkIDApfSxufSkocSksZXQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4pe3ZvaWQgMD09PW4mJihuPXQubm93KSx0aGlzLnNjaGVkdWxlckFjdGlvbkN0b3I9ZSx0aGlzLm5vdz1ufXJldHVybiB0LnByb3RvdHlwZS5zY2hlZHVsZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHZvaWQgMD09PWUmJihlPTApLG5ldyB0aGlzLnNjaGVkdWxlckFjdGlvbkN0b3IodGhpcyx0KS5zY2hlZHVsZShuLGUpfSx0Lm5vdz1VLm5vdyx0fSkoKSxudD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihlLG4pe3ZvaWQgMD09PW4mJihuPWV0Lm5vdyk7dmFyIG89dC5jYWxsKHRoaXMsZSxuKXx8dGhpcztyZXR1cm4gby5hY3Rpb25zPVtdLG8uX2FjdGl2ZT0hMSxvLl9zY2hlZHVsZWQ9dm9pZCAwLG99cmV0dXJuIGUobix0KSxuLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmFjdGlvbnM7aWYodGhpcy5fYWN0aXZlKWUucHVzaCh0KTtlbHNle3ZhciBuO3RoaXMuX2FjdGl2ZT0hMDtkb3tpZihuPXQuZXhlY3V0ZSh0LnN0YXRlLHQuZGVsYXkpKWJyZWFrfXdoaWxlKHQ9ZS5zaGlmdCgpKTtpZih0aGlzLl9hY3RpdmU9ITEsbil7Zm9yKDt0PWUuc2hpZnQoKTspdC51bnN1YnNjcmliZSgpO3Rocm93IG59fX0sbn0pKGV0KSxvdD1uZXcoKGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gbnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBlKG4sdCksbi5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24odCl7dGhpcy5fYWN0aXZlPSEwLHRoaXMuX3NjaGVkdWxlZD12b2lkIDA7dmFyIGUsbj10aGlzLmFjdGlvbnMsbz0tMTt0PXR8fG4uc2hpZnQoKTt2YXIgaT1uLmxlbmd0aDtkb3tpZihlPXQuZXhlY3V0ZSh0LnN0YXRlLHQuZGVsYXkpKWJyZWFrfXdoaWxlKCsrbzxpJiYodD1uLnNoaWZ0KCkpKTtpZih0aGlzLl9hY3RpdmU9ITEsZSl7Zm9yKDsrK288aSYmKHQ9bi5zaGlmdCgpKTspdC51bnN1YnNjcmliZSgpO3Rocm93IGV9fSxufSkobnQpKSh0dCksaXQ9bmV3IG50KHEpLGF0PWl0LHJ0PShmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGUsbil7dmFyIG89dC5jYWxsKHRoaXMsZSxuKXx8dGhpcztyZXR1cm4gby5zY2hlZHVsZXI9ZSxvLndvcms9bixvfXJldHVybiBlKG4sdCksbi5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49MCksbj4wP3QucHJvdG90eXBlLnNjaGVkdWxlLmNhbGwodGhpcyxlLG4pOih0aGlzLmRlbGF5PW4sdGhpcy5zdGF0ZT1lLHRoaXMuc2NoZWR1bGVyLmZsdXNoKHRoaXMpLHRoaXMpfSxuLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGUsbil7cmV0dXJuIG4+MHx8dGhpcy5jbG9zZWQ/dC5wcm90b3R5cGUuZXhlY3V0ZS5jYWxsKHRoaXMsZSxuKTp0aGlzLl9leGVjdXRlKGUsbil9LG4ucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKGUsbixvKXtyZXR1cm4gdm9pZCAwPT09byYmKG89MCksbnVsbCE9byYmbz4wfHxudWxsPT1vJiZ0aGlzLmRlbGF5PjA/dC5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQuY2FsbCh0aGlzLGUsbixvKTplLmZsdXNoKHRoaXMpfSxufSkocSksc3Q9bmV3KChmdW5jdGlvbih0KXtmdW5jdGlvbiBuKCl7cmV0dXJuIG51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gZShuLHQpLG59KShudCkpKHJ0KSxsdD0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihlLG4pe3ZhciBvPXQuY2FsbCh0aGlzLGUsbil8fHRoaXM7cmV0dXJuIG8uc2NoZWR1bGVyPWUsby53b3JrPW4sb31yZXR1cm4gZShuLHQpLG4ucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKGUsbixvKXtyZXR1cm4gdm9pZCAwPT09byYmKG89MCksbnVsbCE9PW8mJm8+MD90LnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZC5jYWxsKHRoaXMsZSxuLG8pOihlLmFjdGlvbnMucHVzaCh0aGlzKSxlLl9zY2hlZHVsZWR8fChlLl9zY2hlZHVsZWQ9Ri5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7cmV0dXJuIGUuZmx1c2godm9pZCAwKX0pKSkpfSxuLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZD1mdW5jdGlvbihlLG4sbyl7aWYodm9pZCAwPT09byYmKG89MCksbnVsbCE9byYmbz4wfHxudWxsPT1vJiZ0aGlzLmRlbGF5PjApcmV0dXJuIHQucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkLmNhbGwodGhpcyxlLG4sbyk7MD09PWUuYWN0aW9ucy5sZW5ndGgmJihGLmNhbmNlbEFuaW1hdGlvbkZyYW1lKG4pLGUuX3NjaGVkdWxlZD12b2lkIDApfSxufSkocSksY3Q9bmV3KChmdW5jdGlvbih0KXtmdW5jdGlvbiBuKCl7cmV0dXJuIG51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gZShuLHQpLG4ucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKHQpe3RoaXMuX2FjdGl2ZT0hMCx0aGlzLl9zY2hlZHVsZWQ9dm9pZCAwO3ZhciBlLG49dGhpcy5hY3Rpb25zLG89LTE7dD10fHxuLnNoaWZ0KCk7dmFyIGk9bi5sZW5ndGg7ZG97aWYoZT10LmV4ZWN1dGUodC5zdGF0ZSx0LmRlbGF5KSlicmVha313aGlsZSgrK288aSYmKHQ9bi5zaGlmdCgpKSk7aWYodGhpcy5fYWN0aXZlPSExLGUpe2Zvcig7KytvPGkmJih0PW4uc2hpZnQoKSk7KXQudW5zdWJzY3JpYmUoKTt0aHJvdyBlfX0sbn0pKG50KSkobHQpLGR0PW5ldyBUKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jb21wbGV0ZSgpfSkpO2Z1bmN0aW9uIHB0KHQsZSl7cmV0dXJuIG5ldyBUKChmdW5jdGlvbihuKXt2YXIgbz0wO3JldHVybiBlLnNjaGVkdWxlKChmdW5jdGlvbigpe289PT10Lmxlbmd0aD9uLmNvbXBsZXRlKCk6KG4ubmV4dCh0W28rK10pLG4uY2xvc2VkfHx0aGlzLnNjaGVkdWxlKCkpfSkpfSkpfXZhciBtdD1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aCYmImZ1bmN0aW9uIiE9dHlwZW9mIHR9O2Z1bmN0aW9uIGZ0KHQpe3JldHVybiBkKG51bGw9PXQ/dm9pZCAwOnQudGhlbil9dmFyIHV0LGd0PShmdW5jdGlvbiBodCgpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvcj9TeW1ib2wuaXRlcmF0b3I6IkBAaXRlcmF0b3IifSkoKTtmdW5jdGlvbiBidCh0LGUpe2lmKCF0KXRocm93IG5ldyBFcnJvcigiSXRlcmFibGUgY2Fubm90IGJlIG51bGwiKTtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKG4pe3ZhciBvPW5ldyB1O3JldHVybiBvLmFkZChlLnNjaGVkdWxlKChmdW5jdGlvbigpe3ZhciBpPXRbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCk7by5hZGQoZS5zY2hlZHVsZSgoZnVuY3Rpb24oKXt2YXIgdD10aGlzO2kubmV4dCgpLnRoZW4oKGZ1bmN0aW9uKGUpe2UuZG9uZT9uLmNvbXBsZXRlKCk6KG4ubmV4dChlLnZhbHVlKSx0LnNjaGVkdWxlKCkpfSkpfSkpKX0pKSksb30pKX1mdW5jdGlvbiB5dCh0KXtyZXR1cm4gZCh0W0RdKX1mdW5jdGlvbiBfdCh0KXtyZXR1cm4gZChudWxsPT10P3ZvaWQgMDp0W2d0XSl9ZnVuY3Rpb24gQ3QodCl7cmV0dXJuIFN5bWJvbC5hc3luY0l0ZXJhdG9yJiZkKG51bGw9PXQ/dm9pZCAwOnRbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKX1mdW5jdGlvbiBNdCh0KXtyZXR1cm4gbmV3IFR5cGVFcnJvcigiWW91IHByb3ZpZGVkICIrKG51bGwhPT10JiYib2JqZWN0Ij09dHlwZW9mIHQ/ImFuIGludmFsaWQgb2JqZWN0IjoiJyIrdCsiJyIpKyIgd2hlcmUgYSBzdHJlYW0gd2FzIGV4cGVjdGVkLiBZb3UgY2FuIHByb3ZpZGUgYW4gT2JzZXJ2YWJsZSwgUHJvbWlzZSwgUmVhZGFibGVTdHJlYW0sIEFycmF5LCBBc3luY0l0ZXJhYmxlLCBvciBJdGVyYWJsZS4iKX1mdW5jdGlvbiB2dCh0KXtyZXR1cm4gbCh0aGlzLGFyZ3VtZW50cywoZnVuY3Rpb24gZSgpe3ZhciBuLGksYTtyZXR1cm4gbyh0aGlzLChmdW5jdGlvbihlKXtzd2l0Y2goZS5sYWJlbCl7Y2FzZSAwOm49dC5nZXRSZWFkZXIoKSxlLmxhYmVsPTE7Y2FzZSAxOmUudHJ5cy5wdXNoKFsxLCw5LDEwXSksZS5sYWJlbD0yO2Nhc2UgMjpyZXR1cm5bNCxzKG4ucmVhZCgpKV07Y2FzZSAzOnJldHVybiBpPWUuc2VudCgpLGE9aS52YWx1ZSxpLmRvbmU/WzQscyh2b2lkIDApXTpbMyw1XTtjYXNlIDQ6cmV0dXJuWzIsZS5zZW50KCldO2Nhc2UgNTpyZXR1cm5bNCxzKGEpXTtjYXNlIDY6cmV0dXJuWzQsZS5zZW50KCldO2Nhc2UgNzpyZXR1cm4gZS5zZW50KCksWzMsMl07Y2FzZSA4OnJldHVyblszLDEwXTtjYXNlIDk6cmV0dXJuIG4ucmVsZWFzZUxvY2soKSxbN107Y2FzZSAxMDpyZXR1cm5bMl19fSkpfSkpfWZ1bmN0aW9uIHh0KHQpe3JldHVybiBkKG51bGw9PXQ/dm9pZCAwOnQuZ2V0UmVhZGVyKX1mdW5jdGlvbiBPdCh0LGUpe2lmKG51bGwhPXQpe2lmKHl0KHQpKXJldHVybihmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIG5ldyBUKChmdW5jdGlvbihuKXt2YXIgbz1uZXcgdTtyZXR1cm4gby5hZGQoZS5zY2hlZHVsZSgoZnVuY3Rpb24oKXt2YXIgaT10W0RdKCk7by5hZGQoaS5zdWJzY3JpYmUoe25leHQ6ZnVuY3Rpb24odCl7by5hZGQoZS5zY2hlZHVsZSgoZnVuY3Rpb24oKXtyZXR1cm4gbi5uZXh0KHQpfSkpKX0sZXJyb3I6ZnVuY3Rpb24odCl7by5hZGQoZS5zY2hlZHVsZSgoZnVuY3Rpb24oKXtyZXR1cm4gbi5lcnJvcih0KX0pKSl9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7by5hZGQoZS5zY2hlZHVsZSgoZnVuY3Rpb24oKXtyZXR1cm4gbi5jb21wbGV0ZSgpfSkpKX19KSl9KSkpLG99KSl9KSh0LGUpO2lmKG10KHQpKXJldHVybiBwdCh0LGUpO2lmKGZ0KHQpKXJldHVybihmdW5jdGlvbiBvKHQsZSl7cmV0dXJuIG5ldyBUKChmdW5jdGlvbihuKXtyZXR1cm4gZS5zY2hlZHVsZSgoZnVuY3Rpb24oKXtyZXR1cm4gdC50aGVuKChmdW5jdGlvbih0KXtuLmFkZChlLnNjaGVkdWxlKChmdW5jdGlvbigpe24ubmV4dCh0KSxuLmFkZChlLnNjaGVkdWxlKChmdW5jdGlvbigpe3JldHVybiBuLmNvbXBsZXRlKCl9KSkpfSkpKX0pLChmdW5jdGlvbih0KXtuLmFkZChlLnNjaGVkdWxlKChmdW5jdGlvbigpe3JldHVybiBuLmVycm9yKHQpfSkpKX0pKX0pKX0pKX0pKHQsZSk7aWYoQ3QodCkpcmV0dXJuIGJ0KHQsZSk7aWYoX3QodCkpcmV0dXJuKGZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKG4pe3ZhciBvO3JldHVybiBuLmFkZChlLnNjaGVkdWxlKChmdW5jdGlvbigpe289dFtndF0oKSwoZnVuY3Rpb24gaSh0LGUsbixvKXt2b2lkIDA9PT1vJiYobz0wKTt2YXIgaT1lLnNjaGVkdWxlKChmdW5jdGlvbigpe3RyeXtuLmNhbGwodGhpcyl9Y2F0Y2goZSl7dC5lcnJvcihlKX19KSxvKTt0LmFkZChpKX0pKG4sZSwoZnVuY3Rpb24oKXt2YXIgdD1vLm5leHQoKSxlPXQudmFsdWU7dC5kb25lP24uY29tcGxldGUoKToobi5uZXh0KGUpLHRoaXMuc2NoZWR1bGUoKSl9KSl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIGQobnVsbD09bz92b2lkIDA6by5yZXR1cm4pJiZvLnJldHVybigpfX0pKX0pKHQsZSk7aWYoeHQodCkpcmV0dXJuKGZ1bmN0aW9uIGEodCxlKXtyZXR1cm4gYnQodnQodCksZSl9KSh0LGUpfXRocm93IE10KHQpfWZ1bmN0aW9uIFB0KHQsZSl7cmV0dXJuIGU/T3QodCxlKTp3dCh0KX1mdW5jdGlvbiB3dCh0KXtpZih0IGluc3RhbmNlb2YgVClyZXR1cm4gdDtpZihudWxsIT10KXtpZih5dCh0KSlyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKGUpe3ZhciBuPXRbRF0oKTtpZihkKG4uc3Vic2NyaWJlKSlyZXR1cm4gbi5zdWJzY3JpYmUoZSk7dGhyb3cgbmV3IFR5cGVFcnJvcigiUHJvdmlkZWQgb2JqZWN0IGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgU3ltYm9sLm9ic2VydmFibGUiKX0pKX0pKHQpO2lmKG10KHQpKXJldHVybiBrdCh0KTtpZihmdCh0KSlyZXR1cm4oZnVuY3Rpb24gbih0KXtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKGUpe3QudGhlbigoZnVuY3Rpb24odCl7ZS5jbG9zZWR8fChlLm5leHQodCksZS5jb21wbGV0ZSgpKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gZS5lcnJvcih0KX0pKS50aGVuKG51bGwsQyl9KSl9KSh0KTtpZihDdCh0KSlyZXR1cm4gU3QodCk7aWYoX3QodCkpcmV0dXJuKGZ1bmN0aW9uIG8odCl7cmV0dXJuIG5ldyBUKChmdW5jdGlvbihlKXt2YXIgbixvO3RyeXtmb3IodmFyIGE9aSh0KSxyPWEubmV4dCgpOyFyLmRvbmU7cj1hLm5leHQoKSl7aWYoZS5uZXh0KHIudmFsdWUpLGUuY2xvc2VkKXJldHVybn19Y2F0Y2godCl7bj17ZXJyb3I6dH19ZmluYWxseXt0cnl7ciYmIXIuZG9uZSYmKG89YS5yZXR1cm4pJiZvLmNhbGwoYSl9ZmluYWxseXtpZihuKXRocm93IG4uZXJyb3J9fWUuY29tcGxldGUoKX0pKX0pKHQpO2lmKHh0KHQpKXJldHVybihmdW5jdGlvbiBhKHQpe3JldHVybiBTdCh2dCh0KSl9KSh0KX10aHJvdyBNdCh0KX1mdW5jdGlvbiBrdCh0KXtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj0wO248dC5sZW5ndGgmJiFlLmNsb3NlZDtuKyspZS5uZXh0KHRbbl0pO2UuY29tcGxldGUoKX0pKX1mdW5jdGlvbiBTdCh0KXtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKGUpeyhmdW5jdGlvbiBpKHQsZSl7dmFyIGksYSxyLHM7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBuO3JldHVybiBvKHRoaXMsKGZ1bmN0aW9uKG8pe3N3aXRjaChvLmxhYmVsKXtjYXNlIDA6by50cnlzLnB1c2goWzAsNSw2LDExXSksaT1jKHQpLG8ubGFiZWw9MTtjYXNlIDE6cmV0dXJuWzQsaS5uZXh0KCldO2Nhc2UgMjppZigoYT1vLnNlbnQoKSkuZG9uZSlyZXR1cm5bMyw0XTtpZihlLm5leHQoYS52YWx1ZSksZS5jbG9zZWQpcmV0dXJuWzJdO28ubGFiZWw9MztjYXNlIDM6cmV0dXJuWzMsMV07Y2FzZSA0OnJldHVyblszLDExXTtjYXNlIDU6cmV0dXJuIG49by5zZW50KCkscj17ZXJyb3I6bn0sWzMsMTFdO2Nhc2UgNjpyZXR1cm4gby50cnlzLnB1c2goWzYsLDksMTBdKSxhJiYhYS5kb25lJiYocz1pLnJldHVybik/WzQscy5jYWxsKGkpXTpbMyw4XTtjYXNlIDc6by5zZW50KCksby5sYWJlbD04O2Nhc2UgODpyZXR1cm5bMywxMF07Y2FzZSA5OmlmKHIpdGhyb3cgci5lcnJvcjtyZXR1cm5bN107Y2FzZSAxMDpyZXR1cm5bN107Y2FzZSAxMTpyZXR1cm4gZS5jb21wbGV0ZSgpLFsyXX19KSl9KSl9KSh0LGUpLmNhdGNoKChmdW5jdGlvbih0KXtyZXR1cm4gZS5lcnJvcih0KX0pKX0pKX1mdW5jdGlvbiBEdCh0LGUpe3JldHVybiBlP3B0KHQsZSk6a3QodCl9ZnVuY3Rpb24gUnQodCl7cmV0dXJuIHQmJmQodC5zY2hlZHVsZSl9ZnVuY3Rpb24gRXQodCl7cmV0dXJuIHRbdC5sZW5ndGgtMV19ZnVuY3Rpb24gQXQodCl7cmV0dXJuIGQoRXQodCkpP3QucG9wKCk6dm9pZCAwfWZ1bmN0aW9uIFR0KHQpe3JldHVybiBSdChFdCh0KSk/dC5wb3AoKTp2b2lkIDB9ZnVuY3Rpb24gTnQodCxlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIEV0KHQpP3QucG9wKCk6ZX1mdW5jdGlvbiB6dCgpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgbj1UdCh0KTtyZXR1cm4gbj9wdCh0LG4pOkR0KHQpfWZ1bmN0aW9uIEl0KHQsZSl7dmFyIG49ZCh0KT90OmZ1bmN0aW9uKCl7cmV0dXJuIHR9LG89ZnVuY3Rpb24odCl7cmV0dXJuIHQuZXJyb3IobigpKX07cmV0dXJuIG5ldyBUKGU/ZnVuY3Rpb24odCl7cmV0dXJuIGUuc2NoZWR1bGUobywwLHQpfTpvKX0hKGZ1bmN0aW9uKHQpe3QuTkVYVD0iTiIsdC5FUlJPUj0iRSIsdC5DT01QTEVURT0iQyJ9KSh1dHx8KHV0PXt9KSk7dmFyIEh0PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlLG4pe3RoaXMua2luZD10LHRoaXMudmFsdWU9ZSx0aGlzLmVycm9yPW4sdGhpcy5oYXNWYWx1ZT0iTiI9PT10fXJldHVybiB0LnByb3RvdHlwZS5vYnNlcnZlPWZ1bmN0aW9uKHQpe3JldHVybiBGdCh0aGlzLHQpfSx0LnByb3RvdHlwZS5kbz1mdW5jdGlvbih0LGUsbil7dmFyIG89dGhpcyxpPW8ua2luZCxhPW8uZXJyb3I7cmV0dXJuIk4iPT09aT9udWxsPT10P3ZvaWQgMDp0KG8udmFsdWUpOiJFIj09PWk/bnVsbD09ZT92b2lkIDA6ZShhKTpudWxsPT1uP3ZvaWQgMDpuKCl9LHQucHJvdG90eXBlLmFjY2VwdD1mdW5jdGlvbih0LGUsbil7dmFyIG87cmV0dXJuIGQobnVsbD09PShvPXQpfHx2b2lkIDA9PT1vP3ZvaWQgMDpvLm5leHQpP3RoaXMub2JzZXJ2ZSh0KTp0aGlzLmRvKHQsZSxuKX0sdC5wcm90b3R5cGUudG9PYnNlcnZhYmxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQua2luZCxuPXQuZXJyb3Isbz0iTiI9PT1lP3p0KHQudmFsdWUpOiJFIj09PWU/SXQoKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSk6IkMiPT09ZT9kdDowO2lmKCFvKXRocm93IG5ldyBUeXBlRXJyb3IoIlVuZXhwZWN0ZWQgbm90aWZpY2F0aW9uIGtpbmQgIitlKTtyZXR1cm4gb30sdC5jcmVhdGVOZXh0PWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgdCgiTiIsZSl9LHQuY3JlYXRlRXJyb3I9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0KCJFIix2b2lkIDAsZSl9LHQuY3JlYXRlQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4gdC5jb21wbGV0ZU5vdGlmaWNhdGlvbn0sdC5jb21wbGV0ZU5vdGlmaWNhdGlvbj1uZXcgdCgiQyIpLHR9KSgpO2Z1bmN0aW9uIEZ0KHQsZSl7dmFyIG4sbyxpLGE9dC5raW5kLHI9dC52YWx1ZSxzPXQuZXJyb3I7aWYoInN0cmluZyIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgbm90aWZpY2F0aW9uLCBtaXNzaW5nICJraW5kIicpOyJOIj09PWE/bnVsbD09PShuPWUubmV4dCl8fHZvaWQgMD09PW58fG4uY2FsbChlLHIpOiJFIj09PWE/bnVsbD09PShvPWUuZXJyb3IpfHx2b2lkIDA9PT1vfHxvLmNhbGwoZSxzKTpudWxsPT09KGk9ZS5jb21wbGV0ZSl8fHZvaWQgMD09PWl8fGkuY2FsbChlKX1mdW5jdGlvbiBMdCh0KXtyZXR1cm4hIXQmJih0IGluc3RhbmNlb2YgVHx8ZCh0LmxpZnQpJiZkKHQuc3Vic2NyaWJlKSl9dmFyIEJ0PXAoKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbiBlKCl7dCh0aGlzKSx0aGlzLm5hbWU9IkVtcHR5RXJyb3IiLHRoaXMubWVzc2FnZT0ibm8gZWxlbWVudHMgaW4gc2VxdWVuY2UifX0pKTtmdW5jdGlvbiBWdCh0LGUpe3JldHVybiB6KChmdW5jdGlvbihuLG8pe3ZhciBpPTA7bi5zdWJzY3JpYmUobmV3IEgobywoZnVuY3Rpb24obil7by5uZXh0KHQuY2FsbChlLG4saSsrKSl9KSkpfSkpfXZhciBqdD1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIFV0KHQpe3JldHVybiBWdCgoZnVuY3Rpb24oZSl7cmV0dXJuKGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4ganQoZSk/dC5hcHBseSh2b2lkIDAscihbXSxhKGUpKSk6dChlKX0pKHQsZSl9KSl9dmFyIFd0PUFycmF5LmlzQXJyYXksR3Q9T2JqZWN0LmdldFByb3RvdHlwZU9mLFl0PU9iamVjdC5wcm90b3R5cGUscXQ9T2JqZWN0LmtleXM7ZnVuY3Rpb24gWnQodCl7aWYoMT09PXQubGVuZ3RoKXt2YXIgZT10WzBdO2lmKFd0KGUpKXJldHVybnthcmdzOmUsa2V5czpudWxsfTtpZigoZnVuY3Rpb24gbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0JiZHdCh0KT09PVl0fSkoZSkpe3ZhciBvPXF0KGUpO3JldHVybnthcmdzOm8ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX0pKSxrZXlzOm99fX1yZXR1cm57YXJnczp0LGtleXM6bnVsbH19ZnVuY3Rpb24gWHQodCxlKXtyZXR1cm4gdC5yZWR1Y2UoKGZ1bmN0aW9uKHQsbixvKXtyZXR1cm4gdFtuXT1lW29dLHR9KSx7fSl9ZnVuY3Rpb24gS3QoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49VHQodCksbz1BdCh0KSxpPVp0KHQpLGE9aS5hcmdzLHI9aS5rZXlzO2lmKDA9PT1hLmxlbmd0aClyZXR1cm4gUHQoW10sbik7dmFyIHM9bmV3IFQoSnQoYSxuLHI/ZnVuY3Rpb24odCl7cmV0dXJuIFh0KHIsdCl9OlIpKTtyZXR1cm4gbz9zLnBpcGUoVXQobykpOnN9ZnVuY3Rpb24gSnQodCxlLG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj1SKSxmdW5jdGlvbihvKXtRdChlLChmdW5jdGlvbigpe2Zvcih2YXIgaT10Lmxlbmd0aCxhPW5ldyBBcnJheShpKSxyPWkscz1pLGw9ZnVuY3Rpb24oaSl7UXQoZSwoZnVuY3Rpb24oKXt2YXIgbD1QdCh0W2ldLGUpLGM9ITE7bC5zdWJzY3JpYmUobmV3IEgobywoZnVuY3Rpb24odCl7YVtpXT10LGN8fChjPSEwLHMtLSksc3x8by5uZXh0KG4oYS5zbGljZSgpKSl9KSwoZnVuY3Rpb24oKXstLXJ8fG8uY29tcGxldGUoKX0pKSl9KSxvKX0sYz0wO2M8aTtjKyspbChjKX0pLG8pfX1mdW5jdGlvbiBRdCh0LGUsbil7dD9uLmFkZCh0LnNjaGVkdWxlKGUpKTplKCl9ZnVuY3Rpb24gJHQodCxlLG4pe3JldHVybiB2b2lkIDA9PT1uJiYobj0xLzApLGQoZSk/JHQoKGZ1bmN0aW9uKG4sbyl7cmV0dXJuIFZ0KChmdW5jdGlvbih0LGkpe3JldHVybiBlKG4sdCxvLGkpfSkpKHd0KHQobixvKSkpfSksbik6KCJudW1iZXIiPT10eXBlb2YgZSYmKG49ZSkseigoZnVuY3Rpb24oZSxvKXtyZXR1cm4oZnVuY3Rpb24gaSh0LGUsbixvLGEscixzLGwpe3ZhciBjPVtdLGQ9MCxwPTAsbT0hMSxmPWZ1bmN0aW9uKCl7IW18fGMubGVuZ3RofHxkfHxlLmNvbXBsZXRlKCl9LHU9ZnVuY3Rpb24odCl7cmV0dXJuIGQ8bz9nKHQpOmMucHVzaCh0KX0sZz1mdW5jdGlvbih0KXtyJiZlLm5leHQodCksZCsrO3ZhciBpPSExO3d0KG4odCxwKyspKS5zdWJzY3JpYmUobmV3IEgoZSwoZnVuY3Rpb24odCl7bnVsbD09YXx8YSh0KSxyP3UodCk6ZS5uZXh0KHQpfSksKGZ1bmN0aW9uKCl7aT0hMH0pLHZvaWQgMCwoZnVuY3Rpb24oKXtpZihpKXRyeXtkLS07Zm9yKHZhciB0PWZ1bmN0aW9uKCl7dmFyIHQ9Yy5zaGlmdCgpO3M/ZS5hZGQocy5zY2hlZHVsZSgoZnVuY3Rpb24oKXtyZXR1cm4gZyh0KX0pKSk6Zyh0KX07Yy5sZW5ndGgmJmQ8bzspdCgpO2YoKX1jYXRjaCh0KXtlLmVycm9yKHQpfX0pKSl9O3JldHVybiB0LnN1YnNjcmliZShuZXcgSChlLHUsKGZ1bmN0aW9uKCl7bT0hMCxmKCl9KSkpLGZ1bmN0aW9uKCl7bnVsbD09bHx8bCgpfX0pKGUsbyx0LG4pfSkpKX1mdW5jdGlvbiB0ZSh0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9MS8wKSwkdChSLHQpfWZ1bmN0aW9uIGVlKCl7cmV0dXJuIHRlKDEpfWZ1bmN0aW9uIG5lKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3JldHVybiBlZSgpKER0KHQsVHQodCkpKX1mdW5jdGlvbiBvZSh0KXtyZXR1cm4gbmV3IFQoKGZ1bmN0aW9uKGUpe3d0KHQoKSkuc3Vic2NyaWJlKGUpfSkpfWZ1bmN0aW9uIGllKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3ZhciBuPUF0KHQpLG89WnQodCksaT1vLmFyZ3MsYT1vLmtleXMscj1uZXcgVCgoZnVuY3Rpb24odCl7dmFyIGU9aS5sZW5ndGg7aWYoZSlmb3IodmFyIG49bmV3IEFycmF5KGUpLG89ZSxyPWUscz1mdW5jdGlvbihlKXt2YXIgcz0hMTt3dChpW2VdKS5zdWJzY3JpYmUobmV3IEgodCwoZnVuY3Rpb24odCl7c3x8KHM9ITAsci0tKSxuW2VdPXR9KSwoZnVuY3Rpb24oKXstLW8mJnN8fChyfHx0Lm5leHQoYT9YdChhLG4pOm4pLHQuY29tcGxldGUoKSl9KSkpfSxsPTA7bDxlO2wrKylzKGwpO2Vsc2UgdC5jb21wbGV0ZSgpfSkpO3JldHVybiBuP3IucGlwZShVdChuKSk6cn12YXIgYWU9WyJhZGRMaXN0ZW5lciIsInJlbW92ZUxpc3RlbmVyIl0scmU9WyJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciJdLHNlPVsib24iLCJvZmYiXTtmdW5jdGlvbiBsZSh0LGUsbixvKXtpZihkKG4pJiYobz1uLG49dm9pZCAwKSxvKXJldHVybiBsZSh0LGUsbikucGlwZShVdChvKSk7dmFyIGk9YSgoZnVuY3Rpb24gcih0KXtyZXR1cm4gZCh0LmFkZEV2ZW50TGlzdGVuZXIpJiZkKHQucmVtb3ZlRXZlbnRMaXN0ZW5lcil9KSh0KT9yZS5tYXAoKGZ1bmN0aW9uKG8pe3JldHVybiBmdW5jdGlvbihpKXtyZXR1cm4gdFtvXShlLGksbil9fSkpOihmdW5jdGlvbiBzKHQpe3JldHVybiBkKHQuYWRkTGlzdGVuZXIpJiZkKHQucmVtb3ZlTGlzdGVuZXIpfSkodCk/YWUubWFwKGNlKHQsZSkpOihmdW5jdGlvbiBsKHQpe3JldHVybiBkKHQub24pJiZkKHQub2ZmKX0pKHQpP3NlLm1hcChjZSh0LGUpKTpbXSwyKSxjPWlbMF0scD1pWzFdO2lmKCFjJiZtdCh0KSlyZXR1cm4gJHQoKGZ1bmN0aW9uKHQpe3JldHVybiBsZSh0LGUsbil9KSkoRHQodCkpO2lmKCFjKXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgZXZlbnQgdGFyZ2V0Iik7cmV0dXJuIG5ldyBUKChmdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyllW25dPWFyZ3VtZW50c1tuXTtyZXR1cm4gdC5uZXh0KDE8ZS5sZW5ndGg/ZTplWzBdKX07cmV0dXJuIGMoZSksZnVuY3Rpb24oKXtyZXR1cm4gcChlKX19KSl9ZnVuY3Rpb24gY2UodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG8pe3JldHVybiB0W25dKGUsbyl9fX1mdW5jdGlvbiBkZSh0LGUsbil7dm9pZCAwPT09dCYmKHQ9MCksdm9pZCAwPT09biYmKG49YXQpO3ZhciBvPS0xO3JldHVybiBudWxsIT1lJiYoUnQoZSk/bj1lOm89ZSksbmV3IFQoKGZ1bmN0aW9uKGUpe3ZhciBpPShmdW5jdGlvbiBhKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRGF0ZSYmIWlzTmFOKHQpfSkodCk/K3Qtbi5ub3coKTp0O2k8MCYmKGk9MCk7dmFyIHI9MDtyZXR1cm4gbi5zY2hlZHVsZSgoZnVuY3Rpb24oKXtlLmNsb3NlZHx8KGUubmV4dChyKyspLDA8PW8/dGhpcy5zY2hlZHVsZSh2b2lkIDAsbyk6ZS5jb21wbGV0ZSgpKX0pLGkpfSkpfWZ1bmN0aW9uIHBlKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3ZhciBuPVR0KHQpLG89TnQodCwxLzApLGk9dDtyZXR1cm4gaS5sZW5ndGg/MT09PWkubGVuZ3RoP3d0KGlbMF0pOnRlKG8pKER0KGksbikpOmR0fXZhciBtZT1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIGZlKHQpe3JldHVybiAxPT09dC5sZW5ndGgmJm1lKHRbMF0pP3RbMF06dH1mdW5jdGlvbiB1ZSh0LGUpe3JldHVybiB6KChmdW5jdGlvbihuLG8pe3ZhciBpPTA7bi5zdWJzY3JpYmUobmV3IEgobywoZnVuY3Rpb24obil7cmV0dXJuIHQuY2FsbChlLG4saSsrKSYmby5uZXh0KG4pfSkpKX0pKX1mdW5jdGlvbiBnZSh0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT1hdCksKGZ1bmN0aW9uIG4odCl7cmV0dXJuIHooKGZ1bmN0aW9uKGUsbil7dmFyIG89ITEsaT1udWxsLGE9bnVsbCxyPSExLHM9ZnVuY3Rpb24oKXtpZihudWxsPT1hfHxhLnVuc3Vic2NyaWJlKCksYT1udWxsLG8pe289ITE7dmFyIHQ9aTtpPW51bGwsbi5uZXh0KHQpfXImJm4uY29tcGxldGUoKX0sbD1mdW5jdGlvbigpe2E9bnVsbCxyJiZuLmNvbXBsZXRlKCl9O2Uuc3Vic2NyaWJlKG5ldyBIKG4sKGZ1bmN0aW9uKGUpe289ITAsaT1lLGF8fHd0KHQoZSkpLnN1YnNjcmliZShhPW5ldyBIKG4scyxsKSl9KSwoZnVuY3Rpb24oKXtyPSEwLCghb3x8IWF8fGEuY2xvc2VkKSYmbi5jb21wbGV0ZSgpfSkpKX0pKX0pKChmdW5jdGlvbigpe3JldHVybiBkZSh0LGUpfSkpfWZ1bmN0aW9uIGhlKHQpe3JldHVybiB6KChmdW5jdGlvbihlLG4pe3ZhciBvLGk9bnVsbCxhPSExO2k9ZS5zdWJzY3JpYmUobmV3IEgobix2b2lkIDAsdm9pZCAwLChmdW5jdGlvbihyKXtvPXd0KHQocixoZSh0KShlKSkpLGk/KGkudW5zdWJzY3JpYmUoKSxpPW51bGwsby5zdWJzY3JpYmUobikpOmE9ITB9KSkpLGEmJihpLnVuc3Vic2NyaWJlKCksaT1udWxsLG8uc3Vic2NyaWJlKG4pKX0pKX1mdW5jdGlvbiBiZSh0LGUsbixvLGkpe3JldHVybiBmdW5jdGlvbihhLHIpe3ZhciBzPW4sbD1lLGM9MDthLnN1YnNjcmliZShuZXcgSChyLChmdW5jdGlvbihlKXt2YXIgbj1jKys7bD1zP3QobCxlLG4pOihzPSEwLGUpLG8mJnIubmV4dChsKX0pLGkmJmZ1bmN0aW9uKCl7cyYmci5uZXh0KGwpLHIuY29tcGxldGUoKX0pKX19ZnVuY3Rpb24geWUoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49QXQodCk7cmV0dXJuIG4/RSh5ZS5hcHBseSh2b2lkIDAscihbXSxhKHQpKSksVXQobikpOnooKGZ1bmN0aW9uKGUsbil7SnQocihbZV0sYShmZSh0KSkpKShuKX0pKX1mdW5jdGlvbiBfZSgpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4geWUuYXBwbHkodm9pZCAwLHIoW10sYSh0KSkpfWZ1bmN0aW9uIENlKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPWl0KSx6KChmdW5jdGlvbihuLG8pe3ZhciBpPW51bGwsYT1udWxsLHI9bnVsbCxzPWZ1bmN0aW9uKCl7aWYoaSl7aS51bnN1YnNjcmliZSgpLGk9bnVsbDt2YXIgdD1hO2E9bnVsbCxvLm5leHQodCl9fTtmdW5jdGlvbiBsKCl7dmFyIG49cit0LGE9ZS5ub3coKTtpZihhPG4pcmV0dXJuIGk9dGhpcy5zY2hlZHVsZSh2b2lkIDAsbi1hKSx2b2lkIG8uYWRkKGkpO3MoKX1uLnN1YnNjcmliZShuZXcgSChvLChmdW5jdGlvbihuKXthPW4scj1lLm5vdygpLGl8fChpPWUuc2NoZWR1bGUobCx0KSxvLmFkZChpKSl9KSwoZnVuY3Rpb24oKXtzKCksby5jb21wbGV0ZSgpfSksdm9pZCAwLChmdW5jdGlvbigpe2E9aT1udWxsfSkpKX0pKX1mdW5jdGlvbiBNZSh0KXtyZXR1cm4geigoZnVuY3Rpb24oZSxuKXt2YXIgbz0hMTtlLnN1YnNjcmliZShuZXcgSChuLChmdW5jdGlvbih0KXtvPSEwLG4ubmV4dCh0KX0pLChmdW5jdGlvbigpe298fG4ubmV4dCh0KSxuLmNvbXBsZXRlKCl9KSkpfSkpfWZ1bmN0aW9uIHZlKHQpe3JldHVybiB0PD0wP2Z1bmN0aW9uKCl7cmV0dXJuIGR0fTp6KChmdW5jdGlvbihlLG4pe3ZhciBvPTA7ZS5zdWJzY3JpYmUobmV3IEgobiwoZnVuY3Rpb24oZSl7KytvPD10JiYobi5uZXh0KGUpLHQ8PW8mJm4uY29tcGxldGUoKSl9KSkpfSkpfWZ1bmN0aW9uIHhlKCl7cmV0dXJuIHooKGZ1bmN0aW9uKHQsZSl7dC5zdWJzY3JpYmUobmV3IEgoZSxNKSl9KSl9ZnVuY3Rpb24gT2UodCxlKXtyZXR1cm4gZT9mdW5jdGlvbihuKXtyZXR1cm4gbmUoZS5waXBlKHZlKDEpLHhlKCkpLG4ucGlwZShPZSh0KSkpfTokdCgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gdChlLG4pLnBpcGUodmUoMSksKGZ1bmN0aW9uIG8odCl7cmV0dXJuIFZ0KChmdW5jdGlvbigpe3JldHVybiB0fSkpfSkoZSkpfSkpfWZ1bmN0aW9uIFBlKHQsZSl7dm9pZCAwPT09ZSYmKGU9aXQpO3ZhciBuPWRlKHQsZSk7cmV0dXJuIE9lKChmdW5jdGlvbigpe3JldHVybiBufSkpfWZ1bmN0aW9uIHdlKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPVIpLHQ9bnVsbCE9dD90OmtlLHooKGZ1bmN0aW9uKG4sbyl7dmFyIGksYT0hMDtuLnN1YnNjcmliZShuZXcgSChvLChmdW5jdGlvbihuKXt2YXIgcj1lKG4pOyFhJiZ0KGkscil8fChhPSExLGk9cixvLm5leHQobikpfSkpKX0pKX1mdW5jdGlvbiBrZSh0LGUpe3JldHVybiB0PT09ZX1mdW5jdGlvbiBTZSh0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9RGUpLHooKGZ1bmN0aW9uKGUsbil7dmFyIG89ITE7ZS5zdWJzY3JpYmUobmV3IEgobiwoZnVuY3Rpb24odCl7bz0hMCxuLm5leHQodCl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gbz9uLmNvbXBsZXRlKCk6bi5lcnJvcih0KCkpfSkpKX0pKX1mdW5jdGlvbiBEZSgpe3JldHVybiBuZXcgQnR9ZnVuY3Rpb24gUmUodCxlKXtyZXR1cm4gZT9mdW5jdGlvbihuKXtyZXR1cm4gbi5waXBlKFJlKChmdW5jdGlvbihuLG8pe3JldHVybiB3dCh0KG4sbykpLnBpcGUoVnQoKGZ1bmN0aW9uKHQsaSl7cmV0dXJuIGUobix0LG8saSl9KSkpfSkpKX06eigoZnVuY3Rpb24oZSxuKXt2YXIgbz0wLGk9bnVsbCxhPSExO2Uuc3Vic2NyaWJlKG5ldyBIKG4sKGZ1bmN0aW9uKGUpe2l8fChpPW5ldyBIKG4sdm9pZCAwLChmdW5jdGlvbigpe2k9bnVsbCxhJiZuLmNvbXBsZXRlKCl9KSksd3QodChlLG8rKykpLnN1YnNjcmliZShpKSl9KSwoZnVuY3Rpb24oKXthPSEwLCFpJiZuLmNvbXBsZXRlKCl9KSkpfSkpfWZ1bmN0aW9uIEVlKHQsZSxuLG8pe3JldHVybiB6KChmdW5jdGlvbihpLGEpe3ZhciByO2UmJiJmdW5jdGlvbiIhPXR5cGVvZiBlPyhuPWUuZHVyYXRpb24scj1lLmVsZW1lbnQsbz1lLmNvbm5lY3Rvcik6cj1lO3ZhciBzPW5ldyBNYXAsbD1mdW5jdGlvbih0KXtzLmZvckVhY2godCksdChhKX0sYz1mdW5jdGlvbih0KXtyZXR1cm4gbCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZXJyb3IodCl9KSl9LGQ9bmV3IEFlKGEsKGZ1bmN0aW9uKGUpe3RyeXt2YXIgaT10KGUpLGw9cy5nZXQoaSk7aWYoIWwpe3Muc2V0KGksbD1vP28oKTpuZXcgQik7dmFyIHA9KGZ1bmN0aW9uIG0odCxlKXt2YXIgbj1uZXcgVCgoZnVuY3Rpb24odCl7ZC5hY3RpdmVHcm91cHMrKzt2YXIgbj1lLnN1YnNjcmliZSh0KTtyZXR1cm4gZnVuY3Rpb24oKXtuLnVuc3Vic2NyaWJlKCksMD09LS1kLmFjdGl2ZUdyb3VwcyYmZC50ZWFyZG93bkF0dGVtcHRlZCYmZC51bnN1YnNjcmliZSgpfX0pKTtyZXR1cm4gbi5rZXk9dCxufSkoaSxsKTtpZihhLm5leHQocCksbil7dmFyIGY9bmV3IEgobCwoZnVuY3Rpb24oKXtsLmNvbXBsZXRlKCksbnVsbD09Znx8Zi51bnN1YnNjcmliZSgpfSksdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXtyZXR1cm4gcy5kZWxldGUoaSl9KSk7ZC5hZGQod3QobihwKSkuc3Vic2NyaWJlKGYpKX19bC5uZXh0KHI/cihlKTplKX1jYXRjaCh0KXtjKHQpfX0pLChmdW5jdGlvbigpe3JldHVybiBsKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jb21wbGV0ZSgpfSkpfSksYywoZnVuY3Rpb24oKXtyZXR1cm4gcy5jbGVhcigpfSkpO2kuc3Vic2NyaWJlKGQpfSkpfXZhciBBZT0oZnVuY3Rpb24odCl7ZnVuY3Rpb24gbigpe3ZhciBlPW51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztyZXR1cm4gZS5hY3RpdmVHcm91cHM9MCxlLnRlYXJkb3duQXR0ZW1wdGVkPSExLGV9cmV0dXJuIGUobix0KSxuLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbigpe3RoaXMudGVhcmRvd25BdHRlbXB0ZWQ9ITAsMD09PXRoaXMuYWN0aXZlR3JvdXBzJiZ0LnByb3RvdHlwZS51bnN1YnNjcmliZS5jYWxsKHRoaXMpfSxufSkoSCk7ZnVuY3Rpb24gVGUodCl7cmV0dXJuIHQ8PTA/ZnVuY3Rpb24oKXtyZXR1cm4gZHR9OnooKGZ1bmN0aW9uKGUsbil7dmFyIG89W107ZS5zdWJzY3JpYmUobmV3IEgobiwoZnVuY3Rpb24oZSl7by5wdXNoKGUpLHQ8by5sZW5ndGgmJm8uc2hpZnQoKX0pLChmdW5jdGlvbigpe3ZhciB0LGU7dHJ5e2Zvcih2YXIgYT1pKG8pLHI9YS5uZXh0KCk7IXIuZG9uZTtyPWEubmV4dCgpKXtuLm5leHQoci52YWx1ZSl9fWNhdGNoKGUpe3Q9e2Vycm9yOmV9fWZpbmFsbHl7dHJ5e3ImJiFyLmRvbmUmJihlPWEucmV0dXJuKSYmZS5jYWxsKGEpfWZpbmFsbHl7aWYodCl0aHJvdyB0LmVycm9yfX1uLmNvbXBsZXRlKCl9KSx2b2lkIDAsKGZ1bmN0aW9uKCl7bz1udWxsfSkpKX0pKX1mdW5jdGlvbiBOZSgpe3JldHVybiB6KChmdW5jdGlvbih0LGUpe3ZhciBuLG89ITE7dC5zdWJzY3JpYmUobmV3IEgoZSwoZnVuY3Rpb24odCl7dmFyIGk9bjtuPXQsbyYmZS5uZXh0KFtpLHRdKSxvPSEwfSkpKX0pKX1mdW5jdGlvbiB6ZSh0KXtyZXR1cm4geigoZnVuY3Rpb24oZSxuKXt2YXIgbyxpLGE9ITEscj0hMSxzPSExLGw9ZnVuY3Rpb24oKXtyZXR1cm4gcyYmciYmKG4uY29tcGxldGUoKSwhMCl9LGM9ZnVuY3Rpb24oKXtzPSExLG89ZS5zdWJzY3JpYmUobmV3IEgobix2b2lkIDAsKGZ1bmN0aW9uKCl7cz0hMCwhbCgpJiYoaXx8KGk9bmV3IEIsdChpKS5zdWJzY3JpYmUobmV3IEgobiwoZnVuY3Rpb24oKXtvP2MoKTphPSEwfSksKGZ1bmN0aW9uKCl7cj0hMCxsKCl9KSkpKSxpKS5uZXh0KCl9KSkpLGEmJihvLnVuc3Vic2NyaWJlKCksbz1udWxsLGE9ITEsYygpKX07YygpfSkpfWZ1bmN0aW9uIEllKHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgZT10LmNvbm5lY3RvcixuPXZvaWQgMD09PWU/ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEJ9OmUsbz10LnJlc2V0T25FcnJvcixpPXZvaWQgMD09PW98fG8sYT10LnJlc2V0T25Db21wbGV0ZSxyPXZvaWQgMD09PWF8fGEscz10LnJlc2V0T25SZWZDb3VudFplcm8sbD12b2lkIDA9PT1zfHxzO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT1udWxsLG89bnVsbCxhPW51bGwscz0wLGM9ITEsZD0hMSxwPWZ1bmN0aW9uKCl7bnVsbD09b3x8by51bnN1YnNjcmliZSgpLG89bnVsbH0sbT1mdW5jdGlvbigpe3AoKSxlPWE9bnVsbCxjPWQ9ITF9LGY9ZnVuY3Rpb24oKXt2YXIgdD1lO20oKSxudWxsPT10fHx0LnVuc3Vic2NyaWJlKCl9O3JldHVybiB6KChmdW5jdGlvbih0LHUpe3MrKyxkfHxjfHxwKCk7dmFyIGc9YT1udWxsIT1hP2E6bigpO3UuYWRkKChmdW5jdGlvbigpezAhPT0tLXN8fGR8fGN8fChvPUhlKGYsbCkpfSkpLGcuc3Vic2NyaWJlKHUpLGV8fChlPW5ldyBQKHtuZXh0OmZ1bmN0aW9uKHQpe3JldHVybiBnLm5leHQodCl9LGVycm9yOmZ1bmN0aW9uKHQpe2Q9ITAscCgpLG89SGUobSxpLHQpLGcuZXJyb3IodCl9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7Yz0hMCxwKCksbz1IZShtLHIpLGcuY29tcGxldGUoKX19KSxQdCh0KS5zdWJzY3JpYmUoZSkpfSkpKHQpfX1mdW5jdGlvbiBIZSh0LGUpe2Zvcih2YXIgbj1bXSxvPTI7bzxhcmd1bWVudHMubGVuZ3RoO28rKyluW28tMl09YXJndW1lbnRzW29dO3JldHVybiEwPT09ZT8odCgpLG51bGwpOiExPT09ZT9udWxsOmUuYXBwbHkodm9pZCAwLHIoW10sYShuKSkpLnBpcGUodmUoMSkpLnN1YnNjcmliZSgoZnVuY3Rpb24oKXtyZXR1cm4gdCgpfSkpfWZ1bmN0aW9uIEZlKHQsZSxuKXt2YXIgbyxpLGEscj0hMTtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0PyhhPW51bGwhPT0obz10LmJ1ZmZlclNpemUpJiZ2b2lkIDAhPT1vP286MS8wLGU9bnVsbCE9PShpPXQud2luZG93VGltZSkmJnZvaWQgMCE9PWk/aToxLzAscj0hIXQucmVmQ291bnQsbj10LnNjaGVkdWxlcik6YT1udWxsIT10P3Q6MS8wLEllKHtjb25uZWN0b3I6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFcoYSxlLG4pfSxyZXNldE9uRXJyb3I6ITAscmVzZXRPbkNvbXBsZXRlOiExLHJlc2V0T25SZWZDb3VudFplcm86cn0pfWZ1bmN0aW9uIExlKHQpe3JldHVybiB1ZSgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gdDw9bn0pKX1mdW5jdGlvbiBCZSgpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgbj1UdCh0KTtyZXR1cm4geigoZnVuY3Rpb24oZSxvKXsobj9uZSh0LGUsbik6bmUodCxlKSkuc3Vic2NyaWJlKG8pfSkpfWZ1bmN0aW9uIFZlKHQsZSl7cmV0dXJuIHooKGZ1bmN0aW9uKG4sbyl7dmFyIGk9bnVsbCxhPTAscj0hMSxzPWZ1bmN0aW9uKCl7cmV0dXJuIHImJiFpJiZvLmNvbXBsZXRlKCl9O24uc3Vic2NyaWJlKG5ldyBIKG8sKGZ1bmN0aW9uKG4pe251bGw9PWl8fGkudW5zdWJzY3JpYmUoKTt2YXIgcj0wLGw9YSsrO3d0KHQobixsKSkuc3Vic2NyaWJlKGk9bmV3IEgobywoZnVuY3Rpb24odCl7cmV0dXJuIG8ubmV4dChlP2Uobix0LGwscisrKTp0KX0pLChmdW5jdGlvbigpe2k9bnVsbCxzKCl9KSkpfSksKGZ1bmN0aW9uKCl7cj0hMCxzKCl9KSkpfSkpfWZ1bmN0aW9uIGplKHQpe3JldHVybiB6KChmdW5jdGlvbihlLG4pe3d0KHQpLnN1YnNjcmliZShuZXcgSChuLChmdW5jdGlvbigpe3JldHVybiBuLmNvbXBsZXRlKCl9KSxNKSksIW4uY2xvc2VkJiZlLnN1YnNjcmliZShuKX0pKX1mdW5jdGlvbiBVZSh0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT0hMSkseigoZnVuY3Rpb24obixvKXt2YXIgaT0wO24uc3Vic2NyaWJlKG5ldyBIKG8sKGZ1bmN0aW9uKG4pe3ZhciBhPXQobixpKyspOyhhfHxlKSYmby5uZXh0KG4pLCFhJiZvLmNvbXBsZXRlKCl9KSkpfSkpfWZ1bmN0aW9uIFdlKHQsZSxuKXt2YXIgbz1kKHQpfHxlfHxuP3tuZXh0OnQsZXJyb3I6ZSxjb21wbGV0ZTpufTp0O3JldHVybiBvP3ooKGZ1bmN0aW9uKHQsZSl7dmFyIG47bnVsbD09PShuPW8uc3Vic2NyaWJlKXx8dm9pZCAwPT09bnx8bi5jYWxsKG8pO3ZhciBpPSEwO3Quc3Vic2NyaWJlKG5ldyBIKGUsKGZ1bmN0aW9uKHQpe3ZhciBuO251bGw9PT0obj1vLm5leHQpfHx2b2lkIDA9PT1ufHxuLmNhbGwobyx0KSxlLm5leHQodCl9KSwoZnVuY3Rpb24oKXt2YXIgdDtpPSExLG51bGw9PT0odD1vLmNvbXBsZXRlKXx8dm9pZCAwPT09dHx8dC5jYWxsKG8pLGUuY29tcGxldGUoKX0pLChmdW5jdGlvbih0KXt2YXIgbjtpPSExLG51bGw9PT0obj1vLmVycm9yKXx8dm9pZCAwPT09bnx8bi5jYWxsKG8sdCksZS5lcnJvcih0KX0pLChmdW5jdGlvbigpe3ZhciB0LGU7aSYmKG51bGw9PT0odD1vLnVuc3Vic2NyaWJlKXx8dm9pZCAwPT09dHx8dC5jYWxsKG8pKSxudWxsPT09KGU9by5maW5hbGl6ZSl8fHZvaWQgMD09PWV8fGUuY2FsbChvKX0pKSl9KSk6Un12YXIgR2U9e2xlYWRpbmc6ITAsdHJhaWxpbmc6ITF9O2Z1bmN0aW9uIFllKHQsZSxuKXt2b2lkIDA9PT1lJiYoZT1pdCksdm9pZCAwPT09biYmKG49R2UpO3ZhciBvPWRlKHQsZSk7cmV0dXJuKGZ1bmN0aW9uIGkodCxlKXt2YXIgbj12b2lkIDA9PT1lP0dlOmUsbz1uLmxlYWRpbmcsaT1uLnRyYWlsaW5nO3JldHVybiB6KChmdW5jdGlvbihlLG4pe3ZhciBhPSExLHI9bnVsbCxzPW51bGwsbD0hMSxjPWZ1bmN0aW9uKCl7bnVsbD09c3x8cy51bnN1YnNjcmliZSgpLHM9bnVsbCxpJiYobSgpLGwmJm4uY29tcGxldGUoKSl9LGQ9ZnVuY3Rpb24oKXtzPW51bGwsbCYmbi5jb21wbGV0ZSgpfSxwPWZ1bmN0aW9uKGUpe3JldHVybiBzPXd0KHQoZSkpLnN1YnNjcmliZShuZXcgSChuLGMsZCkpfSxtPWZ1bmN0aW9uKCl7aWYoYSl7YT0hMTt2YXIgdD1yO3I9bnVsbCxuLm5leHQodCksIWwmJnAodCl9fTtlLnN1YnNjcmliZShuZXcgSChuLChmdW5jdGlvbih0KXthPSEwLHI9dCwoIXN8fHMuY2xvc2VkKSYmKG8/bSgpOnAodCkpfSksKGZ1bmN0aW9uKCl7bD0hMCwoIShpJiZhJiZzKXx8cy5jbG9zZWQpJiZuLmNvbXBsZXRlKCl9KSkpfSkpfSkoKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSxuKX1mdW5jdGlvbiBxZSgpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgbj1BdCh0KTtyZXR1cm4geigoZnVuY3Rpb24oZSxvKXtmb3IodmFyIGk9dC5sZW5ndGgscz1uZXcgQXJyYXkoaSksbD10Lm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4hMX0pKSxjPSExLGQ9ZnVuY3Rpb24oZSl7d3QodFtlXSkuc3Vic2NyaWJlKG5ldyBIKG8sKGZ1bmN0aW9uKHQpe3NbZV09dCxjfHxsW2VdfHwobFtlXT0hMCwoYz1sLmV2ZXJ5KFIpKSYmKGw9bnVsbCkpfSksTSkpfSxwPTA7cDxpO3ArKylkKHApO2Uuc3Vic2NyaWJlKG5ldyBIKG8sKGZ1bmN0aW9uKHQpe2lmKGMpe3ZhciBlPXIoW3RdLGEocykpO28ubmV4dChuP24uYXBwbHkodm9pZCAwLHIoW10sYShlKSkpOmUpfX0pKSl9KSl9Ci8qKgogICAgICogQGxpY2Vuc2UgQW5ndWxhciB2MTIuMi4xCiAgICAgKiAoYykgMjAxMC0yMDIxIEdvb2dsZSBMTEMuIGh0dHBzOi8vYW5ndWxhci5pby8KICAgICAqIExpY2Vuc2U6IE1JVAogICAgICovCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFplKHQpe2ZvcihsZXQgZSBpbiB0KWlmKHRbZV09PT1aZSlyZXR1cm4gZTt0aHJvdyBFcnJvcigiQ291bGQgbm90IGZpbmQgcmVuYW1lZCBwcm9wZXJ0eSBvbiB0YXJnZXQgb2JqZWN0LiIpfWZ1bmN0aW9uIFhlKHQsZSl7Zm9yKGNvbnN0IG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYhdC5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbbl09ZVtuXSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIEtlKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdClyZXR1cm4gdDtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiJbIit0Lm1hcChLZSkuam9pbigiLCAiKSsiXSI7aWYobnVsbD09dClyZXR1cm4iIit0O2lmKHQub3ZlcnJpZGRlbk5hbWUpcmV0dXJuYCR7dC5vdmVycmlkZGVuTmFtZX1gO2lmKHQubmFtZSlyZXR1cm5gJHt0Lm5hbWV9YDtjb25zdCBlPXQudG9TdHJpbmcoKTtpZihudWxsPT1lKXJldHVybiIiK2U7Y29uc3Qgbj1lLmluZGV4T2YoIlxuIik7cmV0dXJuLTE9PT1uP2U6ZS5zdWJzdHJpbmcoMCxuKX1mdW5jdGlvbiBKZSh0LGUpe3JldHVybiBudWxsPT10fHwiIj09PXQ/bnVsbD09PWU/IiI6ZTpudWxsPT1lfHwiIj09PWU/dDp0KyIgIitlfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBRZT1aZSh7X19mb3J3YXJkX3JlZl9fOlplfSk7ZnVuY3Rpb24gJGUodCl7cmV0dXJuIHQuX19mb3J3YXJkX3JlZl9fPSRlLHQudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gS2UodGhpcygpKX0sdH1mdW5jdGlvbiB0bih0KXtyZXR1cm4gZW4odCk/dCgpOnR9ZnVuY3Rpb24gZW4odCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQmJnQuaGFzT3duUHJvcGVydHkoUWUpJiZ0Ll9fZm9yd2FyZF9yZWZfXz09PSRlfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBubiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoYW4odCxlKSksdGhpcy5jb2RlPXR9fWNvbnN0IG9uPW5ldyBTZXQoWyIxMDAiLCIyMDAiLCIyMDEiLCIzMDAiLCIzMDEiLCIzMDIiXSk7ZnVuY3Rpb24gYW4odCxlKXtsZXQgbj1gJHt0P2BORzAke3R9OiBgOiIifSR7ZX1gO3JldHVybiBuZ0Rldk1vZGUmJm9uLmhhcyh0KSYmKG49YCR7bn0uIEZpbmQgbW9yZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vZXJyb3JzL05HMCR7dH1gKSxufQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBybih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/dDpudWxsPT10PyIiOlN0cmluZyh0KX1mdW5jdGlvbiBzbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90Lm5hbWV8fHQudG9TdHJpbmcoKToib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnR5cGU/dC50eXBlLm5hbWV8fHQudHlwZS50b1N0cmluZygpOnJuKHQpfWZ1bmN0aW9uIGxuKHQsZSl7Y29uc3Qgbj1lP2AuIERlcGVuZGVuY3kgcGF0aDogJHtlLmpvaW4oIiA+ICIpfSA+ICR7dH1gOiIiO3Rocm93IG5ldyBubigiMjAwIixgQ2lyY3VsYXIgZGVwZW5kZW5jeSBpbiBESSBkZXRlY3RlZCBmb3IgJHt0fSR7bn1gKX1mdW5jdGlvbiBjbigpe3Rocm93IG5ldyBFcnJvcigiQ2Fubm90IG1peCBtdWx0aSBwcm92aWRlcnMgYW5kIHJlZ3VsYXIgcHJvdmlkZXJzIil9ZnVuY3Rpb24gZG4odCxlKXtjb25zdCBuPWU/YCBpbiAke2V9YDoiIjt0aHJvdyBuZXcgbm4oIjIwMSIsYE5vIHByb3ZpZGVyIGZvciAke3NuKHQpfSBmb3VuZCR7bn1gKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gcG4odCxlKXsibnVtYmVyIiE9dHlwZW9mIHQmJk9uKGUsdHlwZW9mIHQsIm51bWJlciIsIj09PSIpfWZ1bmN0aW9uIG1uKHQsZSxuKXtwbih0LCJFeHBlY3RlZCBhIG51bWJlciIpLENuKHQsbiwiRXhwZWN0ZWQgbnVtYmVyIHRvIGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byIpLHZuKHQsZSwiRXhwZWN0ZWQgbnVtYmVyIHRvIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byIpfWZ1bmN0aW9uIGZuKHQsZSl7InN0cmluZyIhPXR5cGVvZiB0JiZPbihlLG51bGw9PT10PyJudWxsIjp0eXBlb2YgdCwic3RyaW5nIiwiPT09Iil9ZnVuY3Rpb24gdW4odCxlKXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmT24oZSxudWxsPT09dD8ibnVsbCI6dHlwZW9mIHQsImZ1bmN0aW9uIiwiPT09Iil9ZnVuY3Rpb24gZ24odCxlLG4pe3QhPWUmJk9uKG4sdCxlLCI9PSIpfWZ1bmN0aW9uIGhuKHQsZSxuKXt0PT1lJiZPbihuLHQsZSwiIT0iKX1mdW5jdGlvbiBibih0LGUsbil7dCE9PWUmJk9uKG4sdCxlLCI9PT0iKX1mdW5jdGlvbiB5bih0LGUsbil7dD09PWUmJk9uKG4sdCxlLCIhPT0iKX1mdW5jdGlvbiBfbih0LGUsbil7dDxlfHxPbihuLHQsZSwiPCIpfWZ1bmN0aW9uIENuKHQsZSxuKXt0PD1lfHxPbihuLHQsZSwiPD0iKX1mdW5jdGlvbiBNbih0LGUsbil7dD5lfHxPbihuLHQsZSwiPiIpfWZ1bmN0aW9uIHZuKHQsZSxuKXt0Pj1lfHxPbihuLHQsZSwiPj0iKX1mdW5jdGlvbiB4bih0LGUpe251bGw9PXQmJk9uKGUsdCxudWxsLCIhPSIpfWZ1bmN0aW9uIE9uKHQsZSxuLG8pe3Rocm93IG5ldyBFcnJvcihgQVNTRVJUSU9OIEVSUk9SOiAke3R9YCsobnVsbD09bz8iIjpgIFtFeHBlY3RlZD0+ICR7bn0gJHtvfSAke2V9IDw9QWN0dWFsXWApKX1mdW5jdGlvbiBQbih0KXsidW5kZWZpbmVkIiE9dHlwZW9mIE5vZGUmJnQgaW5zdGFuY2VvZiBOb2RlfHwib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPXQmJiJXZWJXb3JrZXJSZW5kZXJOb2RlIj09PXQuY29uc3RydWN0b3IubmFtZXx8T24oYFRoZSBwcm92aWRlZCB2YWx1ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIGEgRE9NIE5vZGUgYnV0IGdvdCAke0tlKHQpfWApfWZ1bmN0aW9uIHduKHQsZSl7eG4odCwiQXJyYXkgbXVzdCBiZSBkZWZpbmVkLiIpO2NvbnN0IG49dC5sZW5ndGg7KGU8MHx8ZT49bikmJk9uKGBJbmRleCBleHBlY3RlZCB0byBiZSBsZXNzIHRoYW4gJHtufSBidXQgZ290ICR7ZX1gKX1mdW5jdGlvbiBrbih0LC4uLmUpe2lmKC0xIT09ZS5pbmRleE9mKHQpKXJldHVybiEwO09uKGBFeHBlY3RlZCB2YWx1ZSB0byBiZSBvbmUgb2YgJHtKU09OLnN0cmluZ2lmeShlKX0gYnV0IHdhcyAke0pTT04uc3RyaW5naWZ5KHQpfS5gKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gU24odCl7cmV0dXJue3Rva2VuOnQudG9rZW4scHJvdmlkZWRJbjp0LnByb3ZpZGVkSW58fG51bGwsZmFjdG9yeTp0LmZhY3RvcnksdmFsdWU6dm9pZCAwfX1mdW5jdGlvbiBEbih0KXtyZXR1cm57cHJvdmlkZXJzOnQucHJvdmlkZXJzfHxbXSxpbXBvcnRzOnQuaW1wb3J0c3x8W119fWZ1bmN0aW9uIFJuKHQpe3JldHVybiBFbih0LFRuKXx8RW4odCx6bil9ZnVuY3Rpb24gRW4odCxlKXtyZXR1cm4gdC5oYXNPd25Qcm9wZXJ0eShlKT90W2VdOm51bGx9ZnVuY3Rpb24gQW4odCl7cmV0dXJuIHQmJih0Lmhhc093blByb3BlcnR5KE5uKXx8dC5oYXNPd25Qcm9wZXJ0eShJbikpP3RbTm5dOm51bGx9Y29uc3QgVG49WmUoeyLJtXByb3YiOlplfSksTm49WmUoeyLJtWluaiI6WmV9KSx6bj1aZSh7bmdJbmplY3RhYmxlRGVmOlplfSksSW49WmUoe25nSW5qZWN0b3JEZWY6WmV9KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCnZhciBIbjsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBGbjtmdW5jdGlvbiBMbih0KXtjb25zdCBlPUZuO3JldHVybiBGbj10LGV9ZnVuY3Rpb24gQm4odCxlLG4pe2NvbnN0IG89Um4odCk7cmV0dXJuIG8mJiJyb290Ij09by5wcm92aWRlZEluP3ZvaWQgMD09PW8udmFsdWU/by52YWx1ZT1vLmZhY3RvcnkoKTpvLnZhbHVlOm4mSG4uT3B0aW9uYWw/bnVsbDp2b2lkIDAhPT1lP2U6dm9pZCBkbihLZSh0KSwiSW5qZWN0b3IiKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIFZuKHQpe3JldHVybnt0b1N0cmluZzp0fS50b1N0cmluZygpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi92YXIgam4sVW4sV247IShmdW5jdGlvbih0KXt0W3QuRGVmYXVsdD0wXT0iRGVmYXVsdCIsdFt0Lkhvc3Q9MV09Ikhvc3QiLHRbdC5TZWxmPTJdPSJTZWxmIix0W3QuU2tpcFNlbGY9NF09IlNraXBTZWxmIix0W3QuT3B0aW9uYWw9OF09Ik9wdGlvbmFsIn0pKEhufHwoSG49e30pKSwoZnVuY3Rpb24odCl7dFt0Lk9uUHVzaD0wXT0iT25QdXNoIix0W3QuRGVmYXVsdD0xXT0iRGVmYXVsdCJ9KShqbnx8KGpuPXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5DaGVja09uY2U9MF09IkNoZWNrT25jZSIsdFt0LkNoZWNrZWQ9MV09IkNoZWNrZWQiLHRbdC5DaGVja0Fsd2F5cz0yXT0iQ2hlY2tBbHdheXMiLHRbdC5EZXRhY2hlZD0zXT0iRGV0YWNoZWQiLHRbdC5FcnJvcmVkPTRdPSJFcnJvcmVkIix0W3QuRGVzdHJveWVkPTVdPSJEZXN0cm95ZWQifSkoVW58fChVbj17fSkpLChmdW5jdGlvbih0KXt0W3QuRW11bGF0ZWQ9MF09IkVtdWxhdGVkIix0W3QuTm9uZT0yXT0iTm9uZSIsdFt0LlNoYWRvd0RvbT0zXT0iU2hhZG93RG9tIn0pKFdufHwoV249e30pKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IEduPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxZbj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LHFuPSJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmInVuZGVmaW5lZCIhPXR5cGVvZiBXb3JrZXJHbG9iYWxTY29wZSYmc2VsZiBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmLFpuPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsJiZnbG9iYWwsWG49R258fFpufHxZbnx8cW47ZnVuY3Rpb24gS24oKXtyZXR1cm4hKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlKSYmKCJvYmplY3QiIT10eXBlb2YgbmdEZXZNb2RlJiYoCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiB0KCl7Y29uc3QgdD0idW5kZWZpbmVkIiE9dHlwZW9mIGxvY2F0aW9uP2xvY2F0aW9uLnRvU3RyaW5nKCk6IiIsZT17bmFtZWRDb25zdHJ1Y3RvcnM6LTEhPXQuaW5kZXhPZigibmdEZXZNb2RlPW5hbWVkQ29uc3RydWN0b3JzIiksZmlyc3RDcmVhdGVQYXNzOjAsdE5vZGU6MCx0VmlldzowLHJlbmRlcmVyQ3JlYXRlVGV4dE5vZGU6MCxyZW5kZXJlclNldFRleHQ6MCxyZW5kZXJlckNyZWF0ZUVsZW1lbnQ6MCxyZW5kZXJlckFkZEV2ZW50TGlzdGVuZXI6MCxyZW5kZXJlclNldEF0dHJpYnV0ZTowLHJlbmRlcmVyUmVtb3ZlQXR0cmlidXRlOjAscmVuZGVyZXJTZXRQcm9wZXJ0eTowLHJlbmRlcmVyU2V0Q2xhc3NOYW1lOjAscmVuZGVyZXJBZGRDbGFzczowLHJlbmRlcmVyUmVtb3ZlQ2xhc3M6MCxyZW5kZXJlclNldFN0eWxlOjAscmVuZGVyZXJSZW1vdmVTdHlsZTowLHJlbmRlcmVyRGVzdHJveTowLHJlbmRlcmVyRGVzdHJveU5vZGU6MCxyZW5kZXJlck1vdmVOb2RlOjAscmVuZGVyZXJSZW1vdmVOb2RlOjAscmVuZGVyZXJBcHBlbmRDaGlsZDowLHJlbmRlcmVySW5zZXJ0QmVmb3JlOjAscmVuZGVyZXJDcmVhdGVDb21tZW50OjB9LG49LTE9PT10LmluZGV4T2YoIm5nRGV2TW9kZT1mYWxzZSIpO3JldHVybiBYbi5uZ0Rldk1vZGU9biYmZSxlfSkoKSwidW5kZWZpbmVkIiE9dHlwZW9mIG5nRGV2TW9kZSYmISFuZ0Rldk1vZGUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBKbj17fSxRbj1bXTsoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJktuKCkmJihPYmplY3QuZnJlZXplKEpuKSxPYmplY3QuZnJlZXplKFFuKSkKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovO2NvbnN0ICRuPVplKHsiybVjbXAiOlplfSksdG89WmUoeyLJtWRpciI6WmV9KSxlbz1aZSh7Ism1cGlwZSI6WmV9KSxubz1aZSh7Ism1bW9kIjpaZX0pLG9vPVplKHsiybVsb2MiOlplfSksaW89WmUoeyLJtWZhYyI6WmV9KSxhbz1aZSh7X19OR19FTEVNRU5UX0lEX186WmV9KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBybz0wO2Z1bmN0aW9uIHNvKHQpe3JldHVybiBWbigoKCk9PnsoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJktuKCk7Y29uc3QgZT17fSxuPXt0eXBlOnQudHlwZSxwcm92aWRlcnNSZXNvbHZlcjpudWxsLGRlY2xzOnQuZGVjbHMsdmFyczp0LnZhcnMsZmFjdG9yeTpudWxsLHRlbXBsYXRlOnQudGVtcGxhdGV8fG51bGwsY29uc3RzOnQuY29uc3RzfHxudWxsLG5nQ29udGVudFNlbGVjdG9yczp0Lm5nQ29udGVudFNlbGVjdG9ycyxob3N0QmluZGluZ3M6dC5ob3N0QmluZGluZ3N8fG51bGwsaG9zdFZhcnM6dC5ob3N0VmFyc3x8MCxob3N0QXR0cnM6dC5ob3N0QXR0cnN8fG51bGwsY29udGVudFF1ZXJpZXM6dC5jb250ZW50UXVlcmllc3x8bnVsbCxkZWNsYXJlZElucHV0czplLGlucHV0czpudWxsLG91dHB1dHM6bnVsbCxleHBvcnRBczp0LmV4cG9ydEFzfHxudWxsLG9uUHVzaDp0LmNoYW5nZURldGVjdGlvbj09PWpuLk9uUHVzaCxkaXJlY3RpdmVEZWZzOm51bGwscGlwZURlZnM6bnVsbCxzZWxlY3RvcnM6dC5zZWxlY3RvcnN8fFFuLHZpZXdRdWVyeTp0LnZpZXdRdWVyeXx8bnVsbCxmZWF0dXJlczp0LmZlYXR1cmVzfHxudWxsLGRhdGE6dC5kYXRhfHx7fSxlbmNhcHN1bGF0aW9uOnQuZW5jYXBzdWxhdGlvbnx8V24uRW11bGF0ZWQsaWQ6ImMiLHN0eWxlczp0LnN0eWxlc3x8UW4sXzpudWxsLHNldElucHV0Om51bGwsc2NoZW1hczp0LnNjaGVtYXN8fG51bGwsdFZpZXc6bnVsbH0sbz10LmRpcmVjdGl2ZXMsaT10LmZlYXR1cmVzLGE9dC5waXBlcztyZXR1cm4gbi5pZCs9cm8rKyxuLmlucHV0cz1nbyh0LmlucHV0cyxlKSxuLm91dHB1dHM9Z28odC5vdXRwdXRzKSxpJiZpLmZvckVhY2goKHQ9PnQobikpKSxuLmRpcmVjdGl2ZURlZnM9bz8oKT0+KCJmdW5jdGlvbiI9PXR5cGVvZiBvP28oKTpvKS5tYXAoY28pOm51bGwsbi5waXBlRGVmcz1hPygpPT4oImZ1bmN0aW9uIj09dHlwZW9mIGE/YSgpOmEpLm1hcChwbyk6bnVsbCxufSkpfWZ1bmN0aW9uIGxvKHQsZSxuKXtjb25zdCBvPXQuybVjbXA7by5kaXJlY3RpdmVEZWZzPSgpPT5lLm1hcChjbyksby5waXBlRGVmcz0oKT0+bi5tYXAocG8pfWZ1bmN0aW9uIGNvKHQpe2NvbnN0IGU9eW8odCl8fF9vKHQpO2lmKG5nRGV2TW9kZSYmIWUpdGhyb3cgbmV3IEVycm9yKGAnJHt0Lm5hbWV9JyBpcyBuZWl0aGVyICdDb21wb25lbnRUeXBlJyBvciAnRGlyZWN0aXZlVHlwZScuYCk7cmV0dXJuIGV9ZnVuY3Rpb24gcG8odCl7Y29uc3QgZT1Dbyh0KTtpZihuZ0Rldk1vZGUmJiFlKXRocm93IG5ldyBFcnJvcihgJyR7dC5uYW1lfScgaXMgbm90IGEgJ1BpcGVUeXBlJy5gKTtyZXR1cm4gZX1jb25zdCBtbz17fTtmdW5jdGlvbiBmbyh0KXtyZXR1cm4gVm4oKCgpPT57Y29uc3QgZT17dHlwZTp0LnR5cGUsYm9vdHN0cmFwOnQuYm9vdHN0cmFwfHxRbixkZWNsYXJhdGlvbnM6dC5kZWNsYXJhdGlvbnN8fFFuLGltcG9ydHM6dC5pbXBvcnRzfHxRbixleHBvcnRzOnQuZXhwb3J0c3x8UW4sdHJhbnNpdGl2ZUNvbXBpbGVTY29wZXM6bnVsbCxzY2hlbWFzOnQuc2NoZW1hc3x8bnVsbCxpZDp0LmlkfHxudWxsfTtyZXR1cm4gbnVsbCE9dC5pZCYmKG1vW3QuaWRdPXQudHlwZSksZX0pKX1mdW5jdGlvbiB1byh0LGUpe3JldHVybiBWbigoKCk9Pntjb25zdCBuPU1vKHQsITApO24uZGVjbGFyYXRpb25zPWUuZGVjbGFyYXRpb25zfHxRbixuLmltcG9ydHM9ZS5pbXBvcnRzfHxRbixuLmV4cG9ydHM9ZS5leHBvcnRzfHxRbn0pKX1mdW5jdGlvbiBnbyh0LGUpe2lmKG51bGw9PXQpcmV0dXJuIEpuO2NvbnN0IG49e307Zm9yKGNvbnN0IG8gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG8pKXtsZXQgaT10W29dLGE9aTtBcnJheS5pc0FycmF5KGkpJiYoYT1pWzFdLGk9aVswXSksbltpXT1vLGUmJihlW2ldPWEpfXJldHVybiBufWNvbnN0IGhvPXNvO2Z1bmN0aW9uIGJvKHQpe3JldHVybnt0eXBlOnQudHlwZSxuYW1lOnQubmFtZSxmYWN0b3J5Om51bGwscHVyZTohMSE9PXQucHVyZSxvbkRlc3Ryb3k6dC50eXBlLnByb3RvdHlwZS5uZ09uRGVzdHJveXx8bnVsbH19ZnVuY3Rpb24geW8odCl7cmV0dXJuIHRbJG5dfHxudWxsfWZ1bmN0aW9uIF9vKHQpe3JldHVybiB0W3RvXXx8bnVsbH1mdW5jdGlvbiBDbyh0KXtyZXR1cm4gdFtlb118fG51bGx9ZnVuY3Rpb24gTW8odCxlKXtjb25zdCBuPXRbbm9dfHxudWxsO2lmKCFuJiYhMD09PWUpdGhyb3cgbmV3IEVycm9yKGBUeXBlICR7S2UodCl9IGRvZXMgbm90IGhhdmUgJ8m1bW9kJyBwcm9wZXJ0eS5gKTtyZXR1cm4gbn0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHZvPTIwLHhvPVsiUm9vdCIsIkNvbXBvbmVudCIsIkVtYmVkZGVkIl0sT289MTA7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiBQbyh0KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KSYmIm9iamVjdCI9PXR5cGVvZiB0WzFdfWZ1bmN0aW9uIHdvKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpJiYhMD09PXRbMV19ZnVuY3Rpb24ga28odCl7cmV0dXJuIDAhPSg4JnQuZmxhZ3MpfWZ1bmN0aW9uIFNvKHQpe3JldHVybiAyPT0oMiZ0LmZsYWdzKX1mdW5jdGlvbiBEbyh0KXtyZXR1cm4gMT09KDEmdC5mbGFncyl9ZnVuY3Rpb24gUm8odCl7cmV0dXJuIG51bGwhPT10LnRlbXBsYXRlfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gRW8odCxlKXtBbyh0LGVbMV0pfWZ1bmN0aW9uIEFvKHQsZSl7VG8odCksdC5oYXNPd25Qcm9wZXJ0eSgidFZpZXdfIikmJmduKHQudFZpZXdfLGUsIlRoaXMgVE5vZGUgZG9lcyBub3QgYmVsb25nIHRvIHRoaXMgVFZpZXcuIil9ZnVuY3Rpb24gVG8odCl7eG4odCwiVE5vZGUgbXVzdCBiZSBkZWZpbmVkIiksdCYmIm9iamVjdCI9PXR5cGVvZiB0JiZ0Lmhhc093blByb3BlcnR5KCJkaXJlY3RpdmVTdHlsaW5nTGFzdCIpfHxPbigiTm90IG9mIHR5cGUgVE5vZGUsIGdvdDogIit0KX1mdW5jdGlvbiBObyh0KXt4bih0LCJFeHBlY3RlZCBUSWN1IHRvIGJlIGRlZmluZWQiKSwibnVtYmVyIiE9dHlwZW9mIHQuY3VycmVudENhc2VMVmlld0luZGV4JiZPbigiT2JqZWN0IGlzIG5vdCBvZiBUSWN1IHR5cGUuIil9ZnVuY3Rpb24gem8odCl7eG4odCwiY3VycmVudFROb2RlIHNob3VsZCBleGlzdCEiKSx4bih0LnBhcmVudCwiY3VycmVudFROb2RlIHNob3VsZCBoYXZlIGEgcGFyZW50Iil9ZnVuY3Rpb24gSW8odCl7eG4odCwiTENvbnRhaW5lciBtdXN0IGJlIGRlZmluZWQiKSxnbih3byh0KSwhMCwiRXhwZWN0aW5nIExDb250YWluZXIiKX1mdW5jdGlvbiBIbyh0KXt0JiZnbihQbyh0KSwhMCwiRXhwZWN0aW5nIExWaWV3IG9yIHVuZGVmaW5lZCBvciBudWxsIil9ZnVuY3Rpb24gRm8odCl7eG4odCwiTFZpZXcgbXVzdCBiZSBkZWZpbmVkIiksZ24oUG8odCksITAsIkV4cGVjdGluZyBMVmlldyIpfWZ1bmN0aW9uIExvKHQsZSl7Z24odC5maXJzdENyZWF0ZVBhc3MsITAsZXx8IlNob3VsZCBvbmx5IGJlIGNhbGxlZCBpbiBmaXJzdCBjcmVhdGUgcGFzcy4iKX1mdW5jdGlvbiBCbyh0LGUpe2duKHQuZmlyc3RVcGRhdGVQYXNzLCEwLGV8fCJTaG91bGQgb25seSBiZSBjYWxsZWQgaW4gZmlyc3QgdXBkYXRlIHBhc3MuIil9ZnVuY3Rpb24gVm8odCxlKXtqbyh0WzFdLmV4cGFuZG9TdGFydEluZGV4LHQubGVuZ3RoLGUpfWZ1bmN0aW9uIGpvKHQsZSxuKXt0PD1uJiZuPGV8fE9uKGBJbmRleCBvdXQgb2YgcmFuZ2UgKGV4cGVjdGluZyAke3R9IDw9ICR7bn0gPCAke2V9KWApfWZ1bmN0aW9uIFVvKHQsZSl7eG4odCxlfHwiQ29tcG9uZW50IHZpZXdzIHNob3VsZCBhbHdheXMgaGF2ZSBhIHBhcmVudCB2aWV3IChjb21wb25lbnQncyBob3N0IHZpZXcpIil9ZnVuY3Rpb24gV28odCxlKXtWbyh0LGUpLFZvKHQsZSs4KSxwbih0W2UrMF0sImluamVjdG9ySW5kZXggc2hvdWxkIHBvaW50IHRvIGEgYmxvb20gZmlsdGVyIikscG4odFtlKzFdLCJpbmplY3RvckluZGV4IHNob3VsZCBwb2ludCB0byBhIGJsb29tIGZpbHRlciIpLHBuKHRbZSsyXSwiaW5qZWN0b3JJbmRleCBzaG91bGQgcG9pbnQgdG8gYSBibG9vbSBmaWx0ZXIiKSxwbih0W2UrM10sImluamVjdG9ySW5kZXggc2hvdWxkIHBvaW50IHRvIGEgYmxvb20gZmlsdGVyIikscG4odFtlKzRdLCJpbmplY3RvckluZGV4IHNob3VsZCBwb2ludCB0byBhIGJsb29tIGZpbHRlciIpLHBuKHRbZSs1XSwiaW5qZWN0b3JJbmRleCBzaG91bGQgcG9pbnQgdG8gYSBibG9vbSBmaWx0ZXIiKSxwbih0W2UrNl0sImluamVjdG9ySW5kZXggc2hvdWxkIHBvaW50IHRvIGEgYmxvb20gZmlsdGVyIikscG4odFtlKzddLCJpbmplY3RvckluZGV4IHNob3VsZCBwb2ludCB0byBhIGJsb29tIGZpbHRlciIpLHBuKHRbZSs4XSwiaW5qZWN0b3JJbmRleCBzaG91bGQgcG9pbnQgdG8gcGFyZW50IGluamVjdG9yIil9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIEdvKHQsZSl7Y29uc3Qgbj10Lmhhc093blByb3BlcnR5KGlvKTtpZighbiYmITA9PT1lJiZuZ0Rldk1vZGUpdGhyb3cgbmV3IEVycm9yKGBUeXBlICR7S2UodCl9IGRvZXMgbm90IGhhdmUgJ8m1ZmFjJyBwcm9wZXJ0eS5gKTtyZXR1cm4gbj90W2lvXTpudWxsfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBZb3tjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5wcmV2aW91c1ZhbHVlPXQsdGhpcy5jdXJyZW50VmFsdWU9ZSx0aGlzLmZpcnN0Q2hhbmdlPW59aXNGaXJzdENoYW5nZSgpe3JldHVybiB0aGlzLmZpcnN0Q2hhbmdlfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gcW8oKXtyZXR1cm4gWm99ZnVuY3Rpb24gWm8odCl7cmV0dXJuIHQudHlwZS5wcm90b3R5cGUubmdPbkNoYW5nZXMmJih0LnNldElucHV0PUtvKSxYb31mdW5jdGlvbiBYbygpe2NvbnN0IHQ9Sm8odGhpcyksZT1udWxsPT10P3ZvaWQgMDp0LmN1cnJlbnQ7aWYoZSl7Y29uc3Qgbj10LnByZXZpb3VzO2lmKG49PT1Kbil0LnByZXZpb3VzPWU7ZWxzZSBmb3IobGV0IHQgaW4gZSluW3RdPWVbdF07dC5jdXJyZW50PW51bGwsdGhpcy5uZ09uQ2hhbmdlcyhlKX19ZnVuY3Rpb24gS28odCxlLG4sbyl7Y29uc3QgaT1Kbyh0KXx8KGZ1bmN0aW9uIGEodCxlKXtyZXR1cm4gdC5fX25nU2ltcGxlQ2hhbmdlc19fPWV9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykodCx7cHJldmlvdXM6Sm4sY3VycmVudDpudWxsfSkscj1pLmN1cnJlbnR8fChpLmN1cnJlbnQ9e30pLHM9aS5wcmV2aW91cyxsPXRoaXMuZGVjbGFyZWRJbnB1dHNbbl0sYz1zW2xdO3JbbF09bmV3IFlvKGMmJmMuY3VycmVudFZhbHVlLGUscz09PUpuKSx0W29dPWV9cW8ubmdJbmhlcml0PSEwO2Z1bmN0aW9uIEpvKHQpe3JldHVybiB0Ll9fbmdTaW1wbGVDaGFuZ2VzX198fG51bGx9bGV0IFFvPW51bGw7Y29uc3QgJG89dD0+e1FvPXR9LHRpPWZ1bmN0aW9uKHQsZSxuKXtudWxsIT1RbyYmUW8odCxlLG4pfSxlaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLG5pPSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGhNTC8iOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KbGV0IG9pO2Z1bmN0aW9uIGlpKCl7cmV0dXJuIHZvaWQgMCE9PW9pP29pOiJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQ6dm9pZCAwfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi92YXIgYWk7ZnVuY3Rpb24gcmkodCl7cmV0dXJuISF0Lmxpc3Rlbn0hKGZ1bmN0aW9uKHQpe3RbdC5JbXBvcnRhbnQ9MV09IkltcG9ydGFudCIsdFt0LkRhc2hDYXNlPTJdPSJEYXNoQ2FzZSJ9KShhaXx8KGFpPXt9KSk7Y29uc3Qgc2k9e2NyZWF0ZVJlbmRlcmVyOih0LGUpPT5paSgpfTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIGxpKHQpe2Zvcig7QXJyYXkuaXNBcnJheSh0KTspdD10WzBdO3JldHVybiB0fWZ1bmN0aW9uIGNpKHQsZSl7cmV0dXJuIG5nRGV2TW9kZSYmd24oZSx0KSxuZ0Rldk1vZGUmJnZuKHQsdm8sIkV4cGVjdGVkIHRvIGJlIHBhc3QgSEVBREVSX09GRlNFVCIpLGxpKGVbdF0pfWZ1bmN0aW9uIGRpKHQsZSl7bmdEZXZNb2RlJiZFbyh0LGUpLG5nRGV2TW9kZSYmd24oZSx0LmluZGV4KTtjb25zdCBuPWxpKGVbdC5pbmRleF0pO3JldHVybiBuZ0Rldk1vZGUmJiFyaShlWzExXSkmJlBuKG4pLG59ZnVuY3Rpb24gcGkodCxlKXtuZ0Rldk1vZGUmJk1uKGUsLTEsIndyb25nIGluZGV4IGZvciBUTm9kZSIpLG5nRGV2TW9kZSYmX24oZSx0LmRhdGEubGVuZ3RoLCJ3cm9uZyBpbmRleCBmb3IgVE5vZGUiKTtjb25zdCBuPXQuZGF0YVtlXTtyZXR1cm4gbmdEZXZNb2RlJiZudWxsIT09biYmVG8obiksbn1mdW5jdGlvbiBtaSh0LGUpe3JldHVybiBuZ0Rldk1vZGUmJnduKHQsZSksdFtlXX1mdW5jdGlvbiBmaSh0LGUpe25nRGV2TW9kZSYmd24oZSx0KTtjb25zdCBuPWVbdF07cmV0dXJuIFBvKG4pP246blswXX1mdW5jdGlvbiB1aSh0KXtyZXR1cm4gND09KDQmdFsyXSl9ZnVuY3Rpb24gZ2kodCl7cmV0dXJuIDEyOD09KDEyOCZ0WzJdKX1mdW5jdGlvbiBoaSh0LGUpe3JldHVybiBudWxsPT1lP251bGw6KG5nRGV2TW9kZSYmd24odCxlKSx0W2VdKX1mdW5jdGlvbiBiaSh0KXt0WzE4XT0wfWZ1bmN0aW9uIHlpKHQsZSl7dFs1XSs9ZTtsZXQgbj10LG89dFszXTtmb3IoO251bGwhPT1vJiYoMT09PWUmJjE9PT1uWzVdfHwtMT09PWUmJjA9PT1uWzVdKTspb1s1XSs9ZSxuPW8sbz1vWzNdfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBfaT17bEZyYW1lOlhpKG51bGwpLGJpbmRpbmdzRW5hYmxlZDohMCxpc0luQ2hlY2tOb0NoYW5nZXNNb2RlOiExfTtmdW5jdGlvbiBDaSgpe3JldHVybiBfaS5iaW5kaW5nc0VuYWJsZWR9ZnVuY3Rpb24gTWkoKXtfaS5iaW5kaW5nc0VuYWJsZWQ9ITB9ZnVuY3Rpb24gdmkoKXtfaS5iaW5kaW5nc0VuYWJsZWQ9ITF9ZnVuY3Rpb24geGkoKXtyZXR1cm4gX2kubEZyYW1lLmxWaWV3fWZ1bmN0aW9uIE9pKCl7cmV0dXJuIF9pLmxGcmFtZS50Vmlld31mdW5jdGlvbiBQaSh0KXtyZXR1cm4gX2kubEZyYW1lLmNvbnRleHRMVmlldz10LHRbOF19ZnVuY3Rpb24gd2koKXtsZXQgdD1raSgpO2Zvcig7bnVsbCE9PXQmJjY0PT09dC50eXBlOyl0PXQucGFyZW50O3JldHVybiB0fWZ1bmN0aW9uIGtpKCl7cmV0dXJuIF9pLmxGcmFtZS5jdXJyZW50VE5vZGV9ZnVuY3Rpb24gU2koKXtjb25zdCB0PV9pLmxGcmFtZSxlPXQuY3VycmVudFROb2RlO3JldHVybiB0LmlzUGFyZW50P2U6ZS5wYXJlbnR9ZnVuY3Rpb24gRGkodCxlKXtuZ0Rldk1vZGUmJnQmJkFvKHQsX2kubEZyYW1lLnRWaWV3KTtjb25zdCBuPV9pLmxGcmFtZTtuLmN1cnJlbnRUTm9kZT10LG4uaXNQYXJlbnQ9ZX1mdW5jdGlvbiBSaSgpe3JldHVybiBfaS5sRnJhbWUuaXNQYXJlbnR9ZnVuY3Rpb24gRWkoKXtfaS5sRnJhbWUuaXNQYXJlbnQ9ITF9ZnVuY3Rpb24gQWkoKXtyZXR1cm4gX2kuaXNJbkNoZWNrTm9DaGFuZ2VzTW9kZX1mdW5jdGlvbiBUaSh0KXtfaS5pc0luQ2hlY2tOb0NoYW5nZXNNb2RlPXR9ZnVuY3Rpb24gTmkoKXtjb25zdCB0PV9pLmxGcmFtZTtsZXQgZT10LmJpbmRpbmdSb290SW5kZXg7cmV0dXJuLTE9PT1lJiYoZT10LmJpbmRpbmdSb290SW5kZXg9dC50Vmlldy5iaW5kaW5nU3RhcnRJbmRleCksZX1mdW5jdGlvbiB6aSgpe3JldHVybiBfaS5sRnJhbWUuYmluZGluZ0luZGV4fWZ1bmN0aW9uIElpKHQpe3JldHVybiBfaS5sRnJhbWUuYmluZGluZ0luZGV4PXR9ZnVuY3Rpb24gSGkoKXtyZXR1cm4gX2kubEZyYW1lLmJpbmRpbmdJbmRleCsrfWZ1bmN0aW9uIEZpKHQpe2NvbnN0IGU9X2kubEZyYW1lLG49ZS5iaW5kaW5nSW5kZXg7cmV0dXJuIGUuYmluZGluZ0luZGV4PWUuYmluZGluZ0luZGV4K3Qsbn1mdW5jdGlvbiBMaSh0KXtfaS5sRnJhbWUuaW5JMThuPXR9ZnVuY3Rpb24gQmkodCxlKXtjb25zdCBuPV9pLmxGcmFtZTtuLmJpbmRpbmdJbmRleD1uLmJpbmRpbmdSb290SW5kZXg9dCxWaShlKX1mdW5jdGlvbiBWaSh0KXtfaS5sRnJhbWUuY3VycmVudERpcmVjdGl2ZUluZGV4PXR9ZnVuY3Rpb24gamkodCl7Y29uc3QgZT1faS5sRnJhbWUuY3VycmVudERpcmVjdGl2ZUluZGV4O3JldHVybi0xPT09ZT9udWxsOnRbZV19ZnVuY3Rpb24gVWkoKXtyZXR1cm4gX2kubEZyYW1lLmN1cnJlbnRRdWVyeUluZGV4fWZ1bmN0aW9uIFdpKHQpe19pLmxGcmFtZS5jdXJyZW50UXVlcnlJbmRleD10fWZ1bmN0aW9uIEdpKHQpe2NvbnN0IGU9dFsxXTtyZXR1cm4gMj09PWUudHlwZT8obmdEZXZNb2RlJiZ4bihlLmRlY2xUTm9kZSwiRW1iZWRkZWQgVE5vZGVzIHNob3VsZCBoYXZlIGRlY2xhcmF0aW9uIHBhcmVudHMuIiksZS5kZWNsVE5vZGUpOjE9PT1lLnR5cGU/dFs2XTpudWxsfWZ1bmN0aW9uIFlpKHQsZSxuKXtpZihuZ0Rldk1vZGUmJkhvKHQpLG4mSG4uU2tpcFNlbGYpe25nRGV2TW9kZSYmQW8oZSx0WzFdKTtsZXQgbz1lLGk9dDtmb3IoOyEobmdEZXZNb2RlJiZ4bihvLCJQYXJlbnQgVE5vZGUgc2hvdWxkIGJlIGRlZmluZWQiKSxvPW8ucGFyZW50LG51bGwhPT1vfHxuJkhuLkhvc3R8fChvPUdpKGkpLG51bGw9PT1vKXx8KG5nRGV2TW9kZSYmeG4oaSwiUGFyZW50IExWaWV3IHNob3VsZCBiZSBkZWZpbmVkIiksaT1pWzE1XSwxMCZvLnR5cGUpKTspO2lmKG51bGw9PT1vKXJldHVybiExO2U9byx0PWl9bmdEZXZNb2RlJiZFbyhlLHQpO2NvbnN0IG89X2kubEZyYW1lPVppKCk7cmV0dXJuIG8uY3VycmVudFROb2RlPWUsby5sVmlldz10LCEwfWZ1bmN0aW9uIHFpKHQpe25nRGV2TW9kZSYmaG4odFswXSx0WzFdLCI/Pz8/IiksbmdEZXZNb2RlJiZIbyh0KTtjb25zdCBlPVppKCk7bmdEZXZNb2RlJiYoZ24oZS5pc1BhcmVudCwhMCwiRXhwZWN0ZWQgY2xlYW4gTEZyYW1lIiksZ24oZS5sVmlldyxudWxsLCJFeHBlY3RlZCBjbGVhbiBMRnJhbWUiKSxnbihlLnRWaWV3LG51bGwsIkV4cGVjdGVkIGNsZWFuIExGcmFtZSIpLGduKGUuc2VsZWN0ZWRJbmRleCwtMSwiRXhwZWN0ZWQgY2xlYW4gTEZyYW1lIiksZ24oZS5lbGVtZW50RGVwdGhDb3VudCwwLCJFeHBlY3RlZCBjbGVhbiBMRnJhbWUiKSxnbihlLmN1cnJlbnREaXJlY3RpdmVJbmRleCwtMSwiRXhwZWN0ZWQgY2xlYW4gTEZyYW1lIiksZ24oZS5jdXJyZW50TmFtZXNwYWNlLG51bGwsIkV4cGVjdGVkIGNsZWFuIExGcmFtZSIpLGduKGUuYmluZGluZ1Jvb3RJbmRleCwtMSwiRXhwZWN0ZWQgY2xlYW4gTEZyYW1lIiksZ24oZS5jdXJyZW50UXVlcnlJbmRleCwwLCJFeHBlY3RlZCBjbGVhbiBMRnJhbWUiKSk7Y29uc3Qgbj10WzFdO19pLmxGcmFtZT1lLG5nRGV2TW9kZSYmbi5maXJzdENoaWxkJiZBbyhuLmZpcnN0Q2hpbGQsbiksZS5jdXJyZW50VE5vZGU9bi5maXJzdENoaWxkLGUubFZpZXc9dCxlLnRWaWV3PW4sZS5jb250ZXh0TFZpZXc9dCxlLmJpbmRpbmdJbmRleD1uLmJpbmRpbmdTdGFydEluZGV4LGUuaW5JMThuPSExfWZ1bmN0aW9uIFppKCl7Y29uc3QgdD1faS5sRnJhbWUsZT1udWxsPT09dD9udWxsOnQuY2hpbGQ7cmV0dXJuIG51bGw9PT1lP1hpKHQpOmV9ZnVuY3Rpb24gWGkodCl7Y29uc3QgZT17Y3VycmVudFROb2RlOm51bGwsaXNQYXJlbnQ6ITAsbFZpZXc6bnVsbCx0VmlldzpudWxsLHNlbGVjdGVkSW5kZXg6LTEsY29udGV4dExWaWV3Om51bGwsZWxlbWVudERlcHRoQ291bnQ6MCxjdXJyZW50TmFtZXNwYWNlOm51bGwsY3VycmVudERpcmVjdGl2ZUluZGV4Oi0xLGJpbmRpbmdSb290SW5kZXg6LTEsYmluZGluZ0luZGV4Oi0xLGN1cnJlbnRRdWVyeUluZGV4OjAscGFyZW50OnQsY2hpbGQ6bnVsbCxpbkkxOG46ITF9O3JldHVybiBudWxsIT09dCYmKHQuY2hpbGQ9ZSksZX1mdW5jdGlvbiBLaSgpe2NvbnN0IHQ9X2kubEZyYW1lO3JldHVybiBfaS5sRnJhbWU9dC5wYXJlbnQsdC5jdXJyZW50VE5vZGU9bnVsbCx0LmxWaWV3PW51bGwsdH1jb25zdCBKaT1LaTtmdW5jdGlvbiBRaSgpe2NvbnN0IHQ9S2koKTt0LmlzUGFyZW50PSEwLHQudFZpZXc9bnVsbCx0LnNlbGVjdGVkSW5kZXg9LTEsdC5jb250ZXh0TFZpZXc9bnVsbCx0LmVsZW1lbnREZXB0aENvdW50PTAsdC5jdXJyZW50RGlyZWN0aXZlSW5kZXg9LTEsdC5jdXJyZW50TmFtZXNwYWNlPW51bGwsdC5iaW5kaW5nUm9vdEluZGV4PS0xLHQuYmluZGluZ0luZGV4PS0xLHQuY3VycmVudFF1ZXJ5SW5kZXg9MH1mdW5jdGlvbiAkaSh0KXtyZXR1cm4oX2kubEZyYW1lLmNvbnRleHRMVmlldz0oZnVuY3Rpb24gZSh0LG4pe2Zvcig7dD4wOyluZ0Rldk1vZGUmJnhuKG5bMTVdLCJEZWNsYXJhdGlvbiB2aWV3IHNob3VsZCBiZSBkZWZpbmVkIGlmIG5lc3RpbmcgbGV2ZWwgaXMgZ3JlYXRlciB0aGFuIDAuIiksbj1uWzE1XSx0LS07cmV0dXJuIG59KSh0LF9pLmxGcmFtZS5jb250ZXh0TFZpZXcpKVs4XX1mdW5jdGlvbiB0YSgpe3JldHVybiBfaS5sRnJhbWUuc2VsZWN0ZWRJbmRleH1mdW5jdGlvbiBlYSh0KXtuZ0Rldk1vZGUmJi0xIT09dCYmdm4odCx2bywiSW5kZXggbXVzdCBiZSBwYXN0IEhFQURFUl9PRkZTRVQgKG9yIC0xKS4iKSxuZ0Rldk1vZGUmJl9uKHQsX2kubEZyYW1lLmxWaWV3Lmxlbmd0aCwiQ2FuJ3Qgc2V0IGluZGV4IHBhc3NlZCBlbmQgb2YgTFZpZXciKSxfaS5sRnJhbWUuc2VsZWN0ZWRJbmRleD10fWZ1bmN0aW9uIG5hKCl7Y29uc3QgdD1faS5sRnJhbWU7cmV0dXJuIHBpKHQudFZpZXcsdC5zZWxlY3RlZEluZGV4KX1mdW5jdGlvbiBvYSgpe19pLmxGcmFtZS5jdXJyZW50TmFtZXNwYWNlPWVpfWZ1bmN0aW9uIGlhKCl7X2kubEZyYW1lLmN1cnJlbnROYW1lc3BhY2U9bml9ZnVuY3Rpb24gYWEoKXshKGZ1bmN0aW9uIHQoKXtfaS5sRnJhbWUuY3VycmVudE5hbWVzcGFjZT1udWxsfSkoKX1mdW5jdGlvbiByYSh0LGUpe25nRGV2TW9kZSYmTG8odCk7Zm9yKGxldCBuPWUuZGlyZWN0aXZlU3RhcnQsbz1lLmRpcmVjdGl2ZUVuZDtuPG87bisrKXtjb25zdCBlPXQuZGF0YVtuXTtuZ0Rldk1vZGUmJnhuKGUsIkV4cGVjdGluZyBEaXJlY3RpdmVEZWYiKTtjb25zdCBvPWUudHlwZS5wcm90b3R5cGUse25nQWZ0ZXJDb250ZW50SW5pdDppLG5nQWZ0ZXJDb250ZW50Q2hlY2tlZDphLG5nQWZ0ZXJWaWV3SW5pdDpyLG5nQWZ0ZXJWaWV3Q2hlY2tlZDpzLG5nT25EZXN0cm95Omx9PW87aSYmKHQuY29udGVudEhvb2tzfHwodC5jb250ZW50SG9va3M9W10pKS5wdXNoKC1uLGkpLGEmJigodC5jb250ZW50SG9va3N8fCh0LmNvbnRlbnRIb29rcz1bXSkpLnB1c2gobixhKSwodC5jb250ZW50Q2hlY2tIb29rc3x8KHQuY29udGVudENoZWNrSG9va3M9W10pKS5wdXNoKG4sYSkpLHImJih0LnZpZXdIb29rc3x8KHQudmlld0hvb2tzPVtdKSkucHVzaCgtbixyKSxzJiYoKHQudmlld0hvb2tzfHwodC52aWV3SG9va3M9W10pKS5wdXNoKG4scyksKHQudmlld0NoZWNrSG9va3N8fCh0LnZpZXdDaGVja0hvb2tzPVtdKSkucHVzaChuLHMpKSxudWxsIT1sJiYodC5kZXN0cm95SG9va3N8fCh0LmRlc3Ryb3lIb29rcz1bXSkpLnB1c2gobixsKX19ZnVuY3Rpb24gc2EodCxlLG4pe2RhKHQsZSwzLG4pfWZ1bmN0aW9uIGxhKHQsZSxuLG8pe25nRGV2TW9kZSYmaG4obiwzLCJJbml0IHByZS1vcmRlciBob29rcyBzaG91bGQgbm90IGJlIGNhbGxlZCBtb3JlIHRoYW4gb25jZSIpLCgzJnRbMl0pPT09biYmZGEodCxlLG4sbyl9ZnVuY3Rpb24gY2EodCxlKXtuZ0Rldk1vZGUmJmhuKGUsMywiSW5pdCBob29rcyBwaGFzZSBzaG91bGQgbm90IGJlIGluY3JlbWVudGVkIGFmdGVyIGFsbCBpbml0IGhvb2tzIGhhdmUgYmVlbiBydW4uIik7bGV0IG49dFsyXTsoMyZuKT09PWUmJihuJj0yMDQ3LG4rPTEsdFsyXT1uKX1mdW5jdGlvbiBkYSh0LGUsbixvKXtuZ0Rldk1vZGUmJmduKEFpKCksITEsIkhvb2tzIHNob3VsZCBuZXZlciBiZSBydW4gd2hlbiBpbiBjaGVjayBubyBjaGFuZ2VzIG1vZGUuIik7Y29uc3QgaT1udWxsIT1vP286LTEsYT1lLmxlbmd0aC0xO2xldCByPTA7Zm9yKGxldCBzPXZvaWQgMCE9PW8/NjU1MzUmdFsxOF06MDtzPGE7cysrKXtpZigibnVtYmVyIj09dHlwZW9mIGVbcysxXSl7aWYocj1lW3NdLG51bGwhPW8mJnI+PW8pYnJlYWt9ZWxzZXtlW3NdPDAmJih0WzE4XSs9NjU1MzYpLChyPGl8fC0xPT1pKSYmKHBhKHQsbixlLHMpLHRbMThdPSg0Mjk0OTAxNzYwJnRbMThdKStzKzIpLHMrK319fWZ1bmN0aW9uIHBhKHQsZSxuLG8pe2NvbnN0IGk9bltvXTwwLGE9bltvKzFdLHI9dFtpPy1uW29dOm5bb11dO2lmKGkpe2lmKHRbMl0+PjExPHRbMThdPj4xNiYmKDMmdFsyXSk9PT1lKXt0WzJdKz0yMDQ4LHRpKDQscixhKTt0cnl7YS5jYWxsKHIpfWZpbmFsbHl7dGkoNSxyLGEpfX19ZWxzZXt0aSg0LHIsYSk7dHJ5e2EuY2FsbChyKX1maW5hbGx5e3RpKDUscixhKX19fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBtYT0tMTtjbGFzcyBmYXtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5mYWN0b3J5PXQsdGhpcy5yZXNvbHZpbmc9ITEsbmdEZXZNb2RlJiZ4bih0LCJGYWN0b3J5IG5vdCBzcGVjaWZpZWQiKSxuZ0Rldk1vZGUmJmduKHR5cGVvZiB0LCJmdW5jdGlvbiIsIkV4cGVjdGVkIGZhY3RvcnkgZnVuY3Rpb24uIiksdGhpcy5jYW5TZWVWaWV3UHJvdmlkZXJzPWUsdGhpcy5pbmplY3RJbXBsPW59fWZ1bmN0aW9uIHVhKHQpe2xldCBlPSIiO3JldHVybiAxJnQmJihlKz0ifFRleHQiKSwyJnQmJihlKz0ifEVsZW1lbnQiKSw0JnQmJihlKz0ifENvbnRhaW5lciIpLDgmdCYmKGUrPSJ8RWxlbWVudENvbnRhaW5lciIpLDE2JnQmJihlKz0ifFByb2plY3Rpb24iKSwzMiZ0JiYoZSs9InxJY3VDb250YWluZXIiKSw2NCZ0JiYoZSs9InxQbGFjZWhvbGRlciIpLGUubGVuZ3RoPjA/ZS5zdWJzdHJpbmcoMSk6ZX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIGdhKHQsZSxuKXt4bih0LCJzaG91bGQgYmUgY2FsbGVkIHdpdGggYSBUTm9kZSIpLDA9PSh0LnR5cGUmZSkmJk9uKG58fGBFeHBlY3RlZCBbJHt1YShlKX1dIGJ1dCBnb3QgJHt1YSh0LnR5cGUpfS5gKX1mdW5jdGlvbiBoYSh0LGUsbil7Y29uc3Qgbz1yaSh0KTtsZXQgaT0wO2Zvcig7aTxuLmxlbmd0aDspe2NvbnN0IGE9bltpXTtpZigibnVtYmVyIj09dHlwZW9mIGEpe2lmKDAhPT1hKWJyZWFrO2krKztjb25zdCByPW5baSsrXSxzPW5baSsrXSxsPW5baSsrXTtuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlclNldEF0dHJpYnV0ZSsrLG8/dC5zZXRBdHRyaWJ1dGUoZSxzLGwscik6ZS5zZXRBdHRyaWJ1dGVOUyhyLHMsbCl9ZWxzZXtjb25zdCByPWEscz1uWysraV07bmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJTZXRBdHRyaWJ1dGUrKyx5YShyKT9vJiZ0LnNldFByb3BlcnR5KGUscixzKTpvP3Quc2V0QXR0cmlidXRlKGUscixzKTplLnNldEF0dHJpYnV0ZShyLHMpLGkrK319cmV0dXJuIGl9ZnVuY3Rpb24gYmEodCl7cmV0dXJuIDM9PT10fHw0PT09dHx8Nj09PXR9ZnVuY3Rpb24geWEodCl7cmV0dXJuIDY0PT09dC5jaGFyQ29kZUF0KDApfWZ1bmN0aW9uIF9hKHQsZSl7aWYobnVsbD09PWV8fDA9PT1lLmxlbmd0aCk7ZWxzZSBpZihudWxsPT09dHx8MD09PXQubGVuZ3RoKXQ9ZS5zbGljZSgpO2Vsc2V7bGV0IG49LTE7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspe2NvbnN0IGk9ZVtvXTsibnVtYmVyIj09dHlwZW9mIGk/bj1pOjA9PT1ufHxDYSh0LG4saSxudWxsLC0xPT09bnx8Mj09PW4/ZVsrK29dOm51bGwpfX1yZXR1cm4gdH1mdW5jdGlvbiBDYSh0LGUsbixvLGkpe2xldCBhPTAscj10Lmxlbmd0aDtpZigtMT09PWUpcj0tMTtlbHNlIGZvcig7YTx0Lmxlbmd0aDspe2NvbnN0IG49dFthKytdO2lmKCJudW1iZXIiPT10eXBlb2Ygbil7aWYobj09PWUpe3I9LTE7YnJlYWt9aWYobj5lKXtyPWEtMTticmVha319fWZvcig7YTx0Lmxlbmd0aDspe2NvbnN0IGU9dFthXTtpZigibnVtYmVyIj09dHlwZW9mIGUpYnJlYWs7aWYoZT09PW4pe2lmKG51bGw9PT1vKXJldHVybiB2b2lkKG51bGwhPT1pJiYodFthKzFdPWkpKTtpZihvPT09dFthKzFdKXJldHVybiB2b2lkKHRbYSsyXT1pKX1hKyssbnVsbCE9PW8mJmErKyxudWxsIT09aSYmYSsrfS0xIT09ciYmKHQuc3BsaWNlKHIsMCxlKSxhPXIrMSksdC5zcGxpY2UoYSsrLDAsbiksbnVsbCE9PW8mJnQuc3BsaWNlKGErKywwLG8pLG51bGwhPT1pJiZ0LnNwbGljZShhKyssMCxpKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gTWEodCl7cmV0dXJuIHQhPT1tYX1mdW5jdGlvbiB2YSh0KXtuZ0Rldk1vZGUmJnBuKHQsIk51bWJlciBleHBlY3RlZCIpLG5nRGV2TW9kZSYmaG4odCwtMSwiTm90IGEgdmFsaWQgc3RhdGUuIik7cmV0dXJuIG5nRGV2TW9kZSYmTW4oMzI3NjcmdCx2bywiUGFyZW50IGluamVjdG9yIG11c3QgYmUgcG9pbnRpbmcgcGFzdCBIRUFERVJfT0ZGU0VULiIpLDMyNzY3JnR9ZnVuY3Rpb24geGEodCxlKXtsZXQgbj0oZnVuY3Rpb24gbyh0KXtyZXR1cm4gdD4+MTZ9KSh0KSxpPWU7Zm9yKDtuPjA7KWk9aVsxNV0sbi0tO3JldHVybiBpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9sZXQgT2E9ITA7ZnVuY3Rpb24gUGEodCl7Y29uc3QgZT1PYTtyZXR1cm4gT2E9dCxlfWxldCB3YT0wO2Z1bmN0aW9uIGthKHQsZSl7Y29uc3Qgbj1EYSh0LGUpO2lmKC0xIT09bilyZXR1cm4gbjtjb25zdCBvPWVbMV07by5maXJzdENyZWF0ZVBhc3MmJih0LmluamVjdG9ySW5kZXg9ZS5sZW5ndGgsU2Eoby5kYXRhLHQpLFNhKGUsbnVsbCksU2Eoby5ibHVlcHJpbnQsbnVsbCkpO2NvbnN0IGk9UmEodCxlKSxhPXQuaW5qZWN0b3JJbmRleDtpZihNYShpKSl7Y29uc3QgdD12YShpKSxuPXhhKGksZSksbz1uWzFdLmRhdGE7Zm9yKGxldCBpPTA7aTw4O2krKyllW2EraV09blt0K2ldfG9bdCtpXX1yZXR1cm4gZVthKzhdPWksYX1mdW5jdGlvbiBTYSh0LGUpe3QucHVzaCgwLDAsMCwwLDAsMCwwLDAsZSl9ZnVuY3Rpb24gRGEodCxlKXtyZXR1cm4tMT09PXQuaW5qZWN0b3JJbmRleHx8dC5wYXJlbnQmJnQucGFyZW50LmluamVjdG9ySW5kZXg9PT10LmluamVjdG9ySW5kZXh8fG51bGw9PT1lW3QuaW5qZWN0b3JJbmRleCs4XT8tMToobmdEZXZNb2RlJiZ3bihlLHQuaW5qZWN0b3JJbmRleCksdC5pbmplY3RvckluZGV4KX1mdW5jdGlvbiBSYSh0LGUpe2lmKHQucGFyZW50JiYtMSE9PXQucGFyZW50LmluamVjdG9ySW5kZXgpcmV0dXJuIHQucGFyZW50LmluamVjdG9ySW5kZXg7bGV0IG49MCxvPW51bGwsaT1lO2Zvcig7bnVsbCE9PWk7KXtjb25zdCB0PWlbMV0sZT10LnR5cGU7aWYoMj09PWU/KG5nRGV2TW9kZSYmeG4odC5kZWNsVE5vZGUsIkVtYmVkZGVkIFROb2RlcyBzaG91bGQgaGF2ZSBkZWNsYXJhdGlvbiBwYXJlbnRzLiIpLG89dC5kZWNsVE5vZGUpOjE9PT1lP289aVs2XToobmdEZXZNb2RlJiZnbih0LnR5cGUsMCwiUm9vdCB0eXBlIGV4cGVjdGVkIiksbz1udWxsKSxudWxsPT09bylyZXR1cm4gbWE7aWYobmdEZXZNb2RlJiZvJiZFbyhvLGlbMTVdKSxuKyssaT1pWzE1XSwtMSE9PW8uaW5qZWN0b3JJbmRleClyZXR1cm4gby5pbmplY3RvckluZGV4fG48PDE2fXJldHVybiBtYX1mdW5jdGlvbiBFYSh0LGUsbil7IShmdW5jdGlvbiBvKHQsZSxuKXtsZXQgbztuZ0Rldk1vZGUmJmduKGUuZmlyc3RDcmVhdGVQYXNzLCEwLCJleHBlY3RlZCBmaXJzdENyZWF0ZVBhc3MgdG8gYmUgdHJ1ZSIpLCJzdHJpbmciPT10eXBlb2Ygbj9vPW4uY2hhckNvZGVBdCgwKXx8MDpuLmhhc093blByb3BlcnR5KGFvKSYmKG89blthb10pLG51bGw9PW8mJihvPW5bYW9dPXdhKyspO2NvbnN0IGk9MjU1Jm87ZS5kYXRhW3QrKGk+PjUpXXw9MTw8aX0pKHQsZSxuKX1mdW5jdGlvbiBBYSh0LGUsbil7aWYobiZIbi5PcHRpb25hbClyZXR1cm4gdDtkbihlLCJOb2RlSW5qZWN0b3IiKX1mdW5jdGlvbiBUYSh0LGUsbixvKXtpZihuJkhuLk9wdGlvbmFsJiZ2b2lkIDA9PT1vJiYobz1udWxsKSwwPT0obiYoSG4uU2VsZnxIbi5Ib3N0KSkpe2NvbnN0IGk9dFs5XSxhPUxuKHZvaWQgMCk7dHJ5e3JldHVybiBpP2kuZ2V0KGUsbyxuJkhuLk9wdGlvbmFsKTpCbihlLG8sbiZIbi5PcHRpb25hbCl9ZmluYWxseXtMbihhKX19cmV0dXJuIEFhKG8sZSxuKX1mdW5jdGlvbiBOYSh0LGUsbixvPUhuLkRlZmF1bHQsaSl7aWYobnVsbCE9PXQpe2NvbnN0IGE9KGZ1bmN0aW9uIGEodCl7aWYobmdEZXZNb2RlJiZ4bih0LCJ0b2tlbiBtdXN0IGJlIGRlZmluZWQiKSwic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHQuY2hhckNvZGVBdCgwKXx8MDtjb25zdCBlPXQuaGFzT3duUHJvcGVydHkoYW8pP3RbYW9dOnZvaWQgMDtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/ZT49MD8yNTUmZToobmdEZXZNb2RlJiZnbihlLC0xLCJFeHBlY3RpbmcgdG8gZ2V0IFNwZWNpYWwgSW5qZWN0b3IgSWQiKSxJYSk6ZX0pKG4pO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhKXtpZighWWkoZSx0LG8pKXJldHVybiBvJkhuLkhvc3Q/QWEoaSxuLG8pOlRhKGUsbixvLGkpO3RyeXtjb25zdCB0PWEobyk7aWYobnVsbCE9dHx8byZIbi5PcHRpb25hbClyZXR1cm4gdDtkbihuKX1maW5hbGx5e0ppKCl9fWVsc2UgaWYoIm51bWJlciI9PXR5cGVvZiBhKXtsZXQgaT1udWxsLHI9RGEodCxlKSxzPW1hLGw9byZIbi5Ib3N0P2VbMTZdWzZdOm51bGw7Zm9yKCgtMT09PXJ8fG8mSG4uU2tpcFNlbGYpJiYocz0tMT09PXI/UmEodCxlKTplW3IrOF0scyE9PW1hJiZWYShvLCExKT8oaT1lWzFdLHI9dmEocyksZT14YShzLGUpKTpyPS0xKTstMSE9PXI7KXtuZ0Rldk1vZGUmJldvKGUscik7Y29uc3QgdD1lWzFdO2lmKG5nRGV2TW9kZSYmRW8odC5kYXRhW3IrOF0sZSksQmEoYSxyLHQuZGF0YSkpe2NvbnN0IHQ9SGEocixlLG4saSxvLGwpO2lmKHQhPT16YSlyZXR1cm4gdH1zPWVbcis4XSxzIT09bWEmJlZhKG8sZVsxXS5kYXRhW3IrOF09PT1sKSYmQmEoYSxyLGUpPyhpPXQscj12YShzKSxlPXhhKHMsZSkpOnI9LTF9fX1yZXR1cm4gVGEoZSxuLG8saSl9Y29uc3QgemE9e307ZnVuY3Rpb24gSWEoKXtyZXR1cm4gbmV3IGphKHdpKCkseGkoKSl9ZnVuY3Rpb24gSGEodCxlLG4sbyxpLGEpe2NvbnN0IHI9ZVsxXSxzPXIuZGF0YVt0KzhdLGw9RmEocyxyLG4sbnVsbD09bz9TbyhzKSYmT2E6byE9ciYmMCE9KDMmcy50eXBlKSxpJkhuLkhvc3QmJmE9PT1zKTtyZXR1cm4gbnVsbCE9PWw/TGEoZSxyLGwscyk6emF9ZnVuY3Rpb24gRmEodCxlLG4sbyxpKXtjb25zdCBhPXQucHJvdmlkZXJJbmRleGVzLHI9ZS5kYXRhLHM9MTA0ODU3NSZhLGw9dC5kaXJlY3RpdmVTdGFydCxjPWE+PjIwLGQ9aT9zK2M6dC5kaXJlY3RpdmVFbmQ7Zm9yKGxldCB0PW8/czpzK2M7dDxkO3QrKyl7Y29uc3QgZT1yW3RdO2lmKHQ8bCYmbj09PWV8fHQ+PWwmJmUudHlwZT09PW4pcmV0dXJuIHR9aWYoaSl7Y29uc3QgdD1yW2xdO2lmKHQmJlJvKHQpJiZ0LnR5cGU9PT1uKXJldHVybiBsfXJldHVybiBudWxsfWZ1bmN0aW9uIExhKHQsZSxuLG8pe2xldCBpPXRbbl07Y29uc3QgYT1lLmRhdGE7aWYoKGZ1bmN0aW9uIHIodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBmYX0pKGkpKXtjb25zdCByPWk7ci5yZXNvbHZpbmcmJmxuKHNuKGFbbl0pKTtjb25zdCBzPVBhKHIuY2FuU2VlVmlld1Byb3ZpZGVycyk7ci5yZXNvbHZpbmc9ITA7Y29uc3QgbD1yLmluamVjdEltcGw/TG4oci5pbmplY3RJbXBsKTpudWxsLGM9WWkodCxvLEhuLkRlZmF1bHQpO25nRGV2TW9kZSYmZ24oYywhMCwiQmVjYXVzZSBmbGFncyBkbyBub3QgY29udGFpbiBgU2tpcFNlbGYnIHdlIGV4cGVjdCB0aGlzIHRvIGFsd2F5cyBzdWNjZWVkLiIpO3RyeXtpPXRbbl09ci5mYWN0b3J5KHZvaWQgMCxhLHQsbyksZS5maXJzdENyZWF0ZVBhc3MmJm4+PW8uZGlyZWN0aXZlU3RhcnQmJihuZ0Rldk1vZGUmJihmdW5jdGlvbiBzKHQpe3ZvaWQgMCE9PXQudHlwZSYmbnVsbCE9dC5zZWxlY3RvcnMmJnZvaWQgMCE9PXQuaW5wdXRzfHxPbigiRXhwZWN0ZWQgYSBEaXJlY3RpdmVEZWYvQ29tcG9uZW50RGVmIGFuZCB0aGlzIG9iamVjdCBkb2VzIG5vdCBzZWVtIHRvIGhhdmUgdGhlIGV4cGVjdGVkIHNoYXBlLiIpfSkoYVtuXSksKAovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gbCh0LGUsbil7bmdEZXZNb2RlJiZMbyhuKTtjb25zdHtuZ09uQ2hhbmdlczpvLG5nT25Jbml0OmksbmdEb0NoZWNrOmF9PWUudHlwZS5wcm90b3R5cGU7aWYobyl7Y29uc3Qgbz1abyhlKTsobi5wcmVPcmRlckhvb2tzfHwobi5wcmVPcmRlckhvb2tzPVtdKSkucHVzaCh0LG8pLChuLnByZU9yZGVyQ2hlY2tIb29rc3x8KG4ucHJlT3JkZXJDaGVja0hvb2tzPVtdKSkucHVzaCh0LG8pfWkmJihuLnByZU9yZGVySG9va3N8fChuLnByZU9yZGVySG9va3M9W10pKS5wdXNoKDAtdCxpKSxhJiYoKG4ucHJlT3JkZXJIb29rc3x8KG4ucHJlT3JkZXJIb29rcz1bXSkpLnB1c2godCxhKSwobi5wcmVPcmRlckNoZWNrSG9va3N8fChuLnByZU9yZGVyQ2hlY2tIb29rcz1bXSkpLnB1c2godCxhKSl9KShuLGFbbl0sZSkpfWZpbmFsbHl7bnVsbCE9PWwmJkxuKGwpLFBhKHMpLHIucmVzb2x2aW5nPSExLEppKCl9fXJldHVybiBpfWZ1bmN0aW9uIEJhKHQsZSxuKXtyZXR1cm4hIShuW2UrKHQ+PjUpXSYxPDx0KX1mdW5jdGlvbiBWYSh0LGUpe3JldHVybiEodCZIbi5TZWxmfHx0JkhuLkhvc3QmJmUpfWNsYXNzIGphe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fdE5vZGU9dCx0aGlzLl9sVmlldz1lfWdldCh0LGUpe3JldHVybiBOYSh0aGlzLl90Tm9kZSx0aGlzLl9sVmlldyx0LHZvaWQgMCxlKX19ZnVuY3Rpb24gVWEodCl7cmV0dXJuIFZuKCgoKT0+e2NvbnN0IGU9dC5wcm90b3R5cGUuY29uc3RydWN0b3Isbj1lW2lvXXx8V2EoZSksbz1PYmplY3QucHJvdG90eXBlO2xldCBpPU9iamVjdC5nZXRQcm90b3R5cGVPZih0LnByb3RvdHlwZSkuY29uc3RydWN0b3I7Zm9yKDtpJiZpIT09bzspe2NvbnN0IHQ9aVtpb118fFdhKGkpO2lmKHQmJnQhPT1uKXJldHVybiB0O2k9T2JqZWN0LmdldFByb3RvdHlwZU9mKGkpfXJldHVybiB0PT5uZXcgdH0pKX1mdW5jdGlvbiBXYSh0KXtyZXR1cm4gZW4odCk/KCk9Pntjb25zdCBlPVdhKHRuKHQpKTtyZXR1cm4gZSYmZSgpfTpHbyh0KX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gR2EodCl7cmV0dXJuKGZ1bmN0aW9uIGUodCxuKXtpZihuZ0Rldk1vZGUmJmdhKHQsMTUpLG5nRGV2TW9kZSYmeG4odCwiZXhwZWN0aW5nIHROb2RlIiksImNsYXNzIj09PW4pcmV0dXJuIHQuY2xhc3NlcztpZigic3R5bGUiPT09bilyZXR1cm4gdC5zdHlsZXM7Y29uc3Qgbz10LmF0dHJzO2lmKG8pe2NvbnN0IHQ9by5sZW5ndGg7bGV0IGU9MDtmb3IoO2U8dDspe2NvbnN0IGk9b1tlXTtpZihiYShpKSlicmVhaztpZigwPT09aSllKz0yO2Vsc2UgaWYoIm51bWJlciI9PXR5cGVvZiBpKWZvcihlKys7ZTx0JiYic3RyaW5nIj09dHlwZW9mIG9bZV07KWUrKztlbHNle2lmKGk9PT1uKXJldHVybiBvW2UrMV07ZSs9Mn19fXJldHVybiBudWxsfSkod2koKSx0KX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgWWE9Il9fYW5ub3RhdGlvbnNfXyIscWE9Il9fcGFyYW1ldGVyc19fIixaYT0iX19wcm9wX19tZXRhZGF0YV9fIjtmdW5jdGlvbiBYYSh0LGUsbixvLGkpe3JldHVybiBWbigoKCk9Pntjb25zdCBhPUthKGUpO2Z1bmN0aW9uIHIoLi4udCl7aWYodGhpcyBpbnN0YW5jZW9mIHIpcmV0dXJuIGEuY2FsbCh0aGlzLC4uLnQpLHRoaXM7Y29uc3QgZT1uZXcgciguLi50KTtyZXR1cm4gZnVuY3Rpb24gbihhKXtpJiZpKGEsLi4udCk7cmV0dXJuKGEuaGFzT3duUHJvcGVydHkoWWEpP2FbWWFdOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFlhLHt2YWx1ZTpbXX0pW1lhXSkucHVzaChlKSxvJiZvKGEpLGF9fXJldHVybiBuJiYoci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuLnByb3RvdHlwZSkpLHIucHJvdG90eXBlLm5nTWV0YWRhdGFOYW1lPXQsci5hbm5vdGF0aW9uQ2xzPXIscn0pKX1mdW5jdGlvbiBLYSh0KXtyZXR1cm4gZnVuY3Rpb24gZSguLi5uKXtpZih0KXtjb25zdCBlPXQoLi4ubik7Zm9yKGNvbnN0IHQgaW4gZSl0aGlzW3RdPWVbdF19fX1mdW5jdGlvbiBKYSh0LGUsbil7cmV0dXJuIFZuKCgoKT0+e2NvbnN0IG89S2EoZSk7ZnVuY3Rpb24gaSguLi50KXtpZih0aGlzIGluc3RhbmNlb2YgaSlyZXR1cm4gby5hcHBseSh0aGlzLHQpLHRoaXM7Y29uc3QgZT1uZXcgaSguLi50KTtyZXR1cm4gbi5hbm5vdGF0aW9uPWUsbjtmdW5jdGlvbiBuKHQsbixvKXtjb25zdCBpPXQuaGFzT3duUHJvcGVydHkocWEpP3RbcWFdOk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHFhLHt2YWx1ZTpbXX0pW3FhXTtmb3IoO2kubGVuZ3RoPD1vOylpLnB1c2gobnVsbCk7cmV0dXJuKGlbb109aVtvXXx8W10pLnB1c2goZSksdH19cmV0dXJuIG4mJihpLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4ucHJvdG90eXBlKSksaS5wcm90b3R5cGUubmdNZXRhZGF0YU5hbWU9dCxpLmFubm90YXRpb25DbHM9aSxpfSkpfWZ1bmN0aW9uIFFhKHQsZSxuLG8pe3JldHVybiBWbigoKCk9Pntjb25zdCBpPUthKGUpO2Z1bmN0aW9uIGEoLi4udCl7aWYodGhpcyBpbnN0YW5jZW9mIGEpcmV0dXJuIGkuYXBwbHkodGhpcyx0KSx0aGlzO2NvbnN0IGU9bmV3IGEoLi4udCk7cmV0dXJuIGZ1bmN0aW9uIG4oaSxhKXtjb25zdCByPWkuY29uc3RydWN0b3Iscz1yLmhhc093blByb3BlcnR5KFphKT9yW1phXTpPYmplY3QuZGVmaW5lUHJvcGVydHkocixaYSx7dmFsdWU6e319KVtaYV07c1thXT1zLmhhc093blByb3BlcnR5KGEpJiZzW2FdfHxbXSxzW2FdLnVuc2hpZnQoZSksbyYmbyhpLGEsLi4udCl9fXJldHVybiBuJiYoYS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuLnByb3RvdHlwZSkpLGEucHJvdG90eXBlLm5nTWV0YWRhdGFOYW1lPXQsYS5hbm5vdGF0aW9uQ2xzPWEsYX0pKX1jb25zdCAkYT0oZnVuY3Rpb24gdHIoKXtyZXR1cm4gSmEoIkF0dHJpYnV0ZSIsKHQ9Pih7YXR0cmlidXRlTmFtZTp0LF9fTkdfRUxFTUVOVF9JRF9fOigpPT5HYSh0KX0pKSl9KSgpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgZXJ7Y29uc3RydWN0b3IodCxlKXt0aGlzLl9kZXNjPXQsdGhpcy5uZ01ldGFkYXRhTmFtZT0iSW5qZWN0aW9uVG9rZW4iLHRoaXMuybVwcm92PXZvaWQgMCwibnVtYmVyIj09dHlwZW9mIGU/KCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmX24oZSwwLCJPbmx5IG5lZ2F0aXZlIG51bWJlcnMgYXJlIHN1cHBvcnRlZCBoZXJlIiksdGhpcy5fX05HX0VMRU1FTlRfSURfXz1lKTp2b2lkIDAhPT1lJiYodGhpcy7JtXByb3Y9U24oe3Rva2VuOnRoaXMscHJvdmlkZWRJbjplLnByb3ZpZGVkSW58fCJyb290IixmYWN0b3J5OmUuZmFjdG9yeX0pKX10b1N0cmluZygpe3JldHVybmBJbmplY3Rpb25Ub2tlbiAke3RoaXMuX2Rlc2N9YH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL25ldyBlcigiQW5hbHl6ZUZvckVudHJ5Q29tcG9uZW50cyIpO2NsYXNzIG5ye31jb25zdCBvcj1RYSgiQ29udGVudENoaWxkcmVuIiwoKHQsZT17fSk9Pk9iamVjdC5hc3NpZ24oe3NlbGVjdG9yOnQsZmlyc3Q6ITEsaXNWaWV3UXVlcnk6ITEsZGVzY2VuZGFudHM6ITEsZW1pdERpc3RpbmN0Q2hhbmdlc09ubHk6dHJ1ZX0sZSkpLG5yKSxpcj1RYSgiQ29udGVudENoaWxkIiwoKHQsZT17fSk9Pk9iamVjdC5hc3NpZ24oe3NlbGVjdG9yOnQsZmlyc3Q6ITAsaXNWaWV3UXVlcnk6ITEsZGVzY2VuZGFudHM6ITB9LGUpKSxucik7UWEoIlZpZXdDaGlsZHJlbiIsKCh0LGU9e30pPT5PYmplY3QuYXNzaWduKHtzZWxlY3Rvcjp0LGZpcnN0OiExLGlzVmlld1F1ZXJ5OiEwLGRlc2NlbmRhbnRzOiEwLGVtaXREaXN0aW5jdENoYW5nZXNPbmx5OnRydWV9LGUpKSxucik7Y29uc3QgYXI9UWEoIlZpZXdDaGlsZCIsKCh0LGUpPT5PYmplY3QuYXNzaWduKHtzZWxlY3Rvcjp0LGZpcnN0OiEwLGlzVmlld1F1ZXJ5OiEwLGRlc2NlbmRhbnRzOiEwfSxlKSksbnIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KdmFyIHJyLHNyOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gbHIodCl7Y29uc3QgZT1Ybi5uZztpZihlJiZlLsm1Y29tcGlsZXJGYWNhZGUpcmV0dXJuIGUuybVjb21waWxlckZhY2FkZTtpZigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKXtjb25zb2xlLmVycm9yKGBKSVQgY29tcGlsYXRpb24gZmFpbGVkIGZvciAke3Qua2luZH1gLHQudHlwZSk7bGV0IGU9YFRoZSAke3Qua2luZH0gJyR7dC50eXBlLm5hbWV9JyBuZWVkcyB0byBiZSBjb21waWxlZCB1c2luZyB0aGUgSklUIGNvbXBpbGVyLCBidXQgJ0Bhbmd1bGFyL2NvbXBpbGVyJyBpcyBub3QgYXZhaWxhYmxlLlxuXG5gO3Rocm93IDE9PT10LnVzYWdlPyhlKz1gVGhlICR7dC5raW5kfSBpcyBwYXJ0IG9mIGEgbGlicmFyeSB0aGF0IGhhcyBiZWVuIHBhcnRpYWxseSBjb21waWxlZC5cbmAsZSs9Ikhvd2V2ZXIsIHRoZSBBbmd1bGFyIExpbmtlciBoYXMgbm90IHByb2Nlc3NlZCB0aGUgbGlicmFyeSBzdWNoIHRoYXQgSklUIGNvbXBpbGF0aW9uIGlzIHVzZWQgYXMgZmFsbGJhY2suXG4iLGUrPSJcbiIsZSs9IklkZWFsbHksIHRoZSBsaWJyYXJ5IGlzIHByb2Nlc3NlZCB1c2luZyB0aGUgQW5ndWxhciBMaW5rZXIgdG8gYmVjb21lIGZ1bGx5IEFPVCBjb21waWxlZC5cbiIpOmUrPSJKSVQgY29tcGlsYXRpb24gaXMgZGlzY291cmFnZWQgZm9yIHByb2R1Y3Rpb24gdXNlLWNhc2VzISBDb25zaWRlciB1c2luZyBBT1QgbW9kZSBpbnN0ZWFkLlxuIixlKz0iQWx0ZXJuYXRpdmVseSwgdGhlIEpJVCBjb21waWxlciBzaG91bGQgYmUgbG9hZGVkIGJ5IGJvb3RzdHJhcHBpbmcgdXNpbmcgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYycgb3IgJ0Bhbmd1bGFyL3BsYXRmb3JtLXNlcnZlcicsXG4iLGUrPSJvciBtYW51YWxseSBwcm92aWRlIHRoZSBjb21waWxlciB3aXRoICdpbXBvcnQgXCJAYW5ndWxhci9jb21waWxlclwiOycgYmVmb3JlIGJvb3RzdHJhcHBpbmcuIixuZXcgRXJyb3IoZSl9dGhyb3cgbmV3IEVycm9yKCJKSVQgY29tcGlsZXIgdW5hdmFpbGFibGUiKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovIShmdW5jdGlvbih0KXt0W3QuRGlyZWN0aXZlPTBdPSJEaXJlY3RpdmUiLHRbdC5Db21wb25lbnQ9MV09IkNvbXBvbmVudCIsdFt0LkluamVjdGFibGU9Ml09IkluamVjdGFibGUiLHRbdC5QaXBlPTNdPSJQaXBlIix0W3QuTmdNb2R1bGU9NF09Ik5nTW9kdWxlIn0pKHJyfHwocnI9e30pKSwoZnVuY3Rpb24odCl7dFt0LkVtdWxhdGVkPTBdPSJFbXVsYXRlZCIsdFt0Lk5vbmU9Ml09Ik5vbmUiLHRbdC5TaGFkb3dEb209M109IlNoYWRvd0RvbSJ9KShzcnx8KHNyPXt9KSk7Y29uc3QgY3I9RnVuY3Rpb247ZnVuY3Rpb24gZHIodCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHR9ZnVuY3Rpb24gcHIodCxlKXt2b2lkIDA9PT1lJiYoZT10KTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7bGV0IG89dFtuXTtBcnJheS5pc0FycmF5KG8pPyhlPT09dCYmKGU9dC5zbGljZSgwLG4pKSxwcihvLGUpKTplIT09dCYmZS5wdXNoKG8pfXJldHVybiBlfWZ1bmN0aW9uIG1yKHQsZSl7dC5mb3JFYWNoKCh0PT5BcnJheS5pc0FycmF5KHQpP21yKHQsZSk6ZSh0KSkpfWZ1bmN0aW9uIGZyKHQsZSxuKXtlPj10Lmxlbmd0aD90LnB1c2gobik6dC5zcGxpY2UoZSwwLG4pfWZ1bmN0aW9uIHVyKHQsZSl7cmV0dXJuIGU+PXQubGVuZ3RoLTE/dC5wb3AoKTp0LnNwbGljZShlLDEpWzBdfWZ1bmN0aW9uIGdyKHQsZSl7Y29uc3Qgbj1bXTtmb3IobGV0IG89MDtvPHQ7bysrKW4ucHVzaChlKTtyZXR1cm4gbn1mdW5jdGlvbiBocih0LGUsbil7bGV0IG89eXIodCxlKTtyZXR1cm4gbz49MD90WzF8b109bjoobz1+bywoZnVuY3Rpb24gaSh0LGUsbixvKXtuZ0Rldk1vZGUmJkNuKGUsdC5sZW5ndGgsIkNhbid0IGluc2VydCBwYXN0IGFycmF5IGVuZC4iKTtsZXQgaT10Lmxlbmd0aDtpZihpPT1lKXQucHVzaChuLG8pO2Vsc2UgaWYoMT09PWkpdC5wdXNoKG8sdFswXSksdFswXT1uO2Vsc2V7Zm9yKGktLSx0LnB1c2godFtpLTFdLHRbaV0pO2k+ZTspdFtpXT10W2ktMl0saS0tO3RbZV09bix0W2UrMV09b319KSh0LG8sZSxuKSksb31mdW5jdGlvbiBicih0LGUpe2NvbnN0IG49eXIodCxlKTtpZihuPj0wKXJldHVybiB0WzF8bl19ZnVuY3Rpb24geXIodCxlKXtyZXR1cm4oZnVuY3Rpb24gbih0LGUsbyl7bmdEZXZNb2RlJiZnbihBcnJheS5pc0FycmF5KHQpLCEwLCJFeHBlY3RpbmcgYW4gYXJyYXkiKTtsZXQgaT0wLGE9dC5sZW5ndGg+Pm87Zm9yKDthIT09aTspe2NvbnN0IG49aSsoYS1pPj4xKSxyPXRbbjw8b107aWYoZT09PXIpcmV0dXJuIG48PG87cj5lP2E9bjppPW4rMX1yZXR1cm5+KGE8PG8pfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKHQsZSwxKX1jb25zdCBfcj0vXmZ1bmN0aW9uXHMrXFMrXChcKVxzKntbXHNcU10rXC5hcHBseVwodGhpcyxccyooYXJndW1lbnRzfCg/OlteKCldK1woXFtcXSwpP1teKCldK1woYXJndW1lbnRzXCkpXCkvLENyPS9eY2xhc3NccytbQS1aYS16XGQkX10qXHMqZXh0ZW5kc1xzK1tee10rey8sTXI9L15jbGFzc1xzK1tBLVphLXpcZCRfXSpccypleHRlbmRzXHMrW157XSt7W1xzXFNdKmNvbnN0cnVjdG9yXHMqXCgvLHZyPS9eY2xhc3NccytbQS1aYS16XGQkX10qXHMqZXh0ZW5kc1xzK1tee10re1tcc1xTXSpjb25zdHJ1Y3RvclxzKlwoXClccyp7XHMqc3VwZXJcKFwuXC5cLmFyZ3VtZW50c1wpLztjbGFzcyB4cntjb25zdHJ1Y3Rvcih0KXt0aGlzLl9yZWZsZWN0PXR8fFhuLlJlZmxlY3R9aXNSZWZsZWN0aW9uRW5hYmxlZCgpe3JldHVybiEwfWZhY3RvcnkodCl7cmV0dXJuKC4uLmUpPT5uZXcgdCguLi5lKX1femlwVHlwZXNBbmRBbm5vdGF0aW9ucyh0LGUpe2xldCBuO249Z3Iodm9pZCAwPT09dD9lLmxlbmd0aDp0Lmxlbmd0aCk7Zm9yKGxldCBvPTA7bzxuLmxlbmd0aDtvKyspbltvXT12b2lkIDA9PT10P1tdOnRbb10mJnRbb10hPU9iamVjdD9bdFtvXV06W10sZSYmbnVsbCE9ZVtvXSYmKG5bb109bltvXS5jb25jYXQoZVtvXSkpO3JldHVybiBufV9vd25QYXJhbWV0ZXJzKHQsZSl7aWYoKGZ1bmN0aW9uIG4odCl7cmV0dXJuIF9yLnRlc3QodCl8fHZyLnRlc3QodCl8fENyLnRlc3QodCkmJiFNci50ZXN0KHQpfSkodC50b1N0cmluZygpKSlyZXR1cm4gbnVsbDtpZih0LnBhcmFtZXRlcnMmJnQucGFyYW1ldGVycyE9PWUucGFyYW1ldGVycylyZXR1cm4gdC5wYXJhbWV0ZXJzO2NvbnN0IG89dC5jdG9yUGFyYW1ldGVycztpZihvJiZvIT09ZS5jdG9yUGFyYW1ldGVycyl7Y29uc3QgdD0iZnVuY3Rpb24iPT10eXBlb2Ygbz9vKCk6byxlPXQubWFwKCh0PT50JiZ0LnR5cGUpKSxuPXQubWFwKCh0PT50JiZPcih0LmRlY29yYXRvcnMpKSk7cmV0dXJuIHRoaXMuX3ppcFR5cGVzQW5kQW5ub3RhdGlvbnMoZSxuKX1jb25zdCBpPXQuaGFzT3duUHJvcGVydHkocWEpJiZ0W3FhXSxhPXRoaXMuX3JlZmxlY3QmJnRoaXMuX3JlZmxlY3QuZ2V0T3duTWV0YWRhdGEmJnRoaXMuX3JlZmxlY3QuZ2V0T3duTWV0YWRhdGEoImRlc2lnbjpwYXJhbXR5cGVzIix0KTtyZXR1cm4gYXx8aT90aGlzLl96aXBUeXBlc0FuZEFubm90YXRpb25zKGEsaSk6Z3IodC5sZW5ndGgpfXBhcmFtZXRlcnModCl7aWYoIWRyKHQpKXJldHVybltdO2NvbnN0IGU9UHIodCk7bGV0IG49dGhpcy5fb3duUGFyYW1ldGVycyh0LGUpO3JldHVybiBufHxlPT09T2JqZWN0fHwobj10aGlzLnBhcmFtZXRlcnMoZSkpLG58fFtdfV9vd25Bbm5vdGF0aW9ucyh0LGUpe2lmKHQuYW5ub3RhdGlvbnMmJnQuYW5ub3RhdGlvbnMhPT1lLmFubm90YXRpb25zKXtsZXQgZT10LmFubm90YXRpb25zO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLmFubm90YXRpb25zJiYoZT1lLmFubm90YXRpb25zKSxlfXJldHVybiB0LmRlY29yYXRvcnMmJnQuZGVjb3JhdG9ycyE9PWUuZGVjb3JhdG9ycz9Pcih0LmRlY29yYXRvcnMpOnQuaGFzT3duUHJvcGVydHkoWWEpP3RbWWFdOm51bGx9YW5ub3RhdGlvbnModCl7aWYoIWRyKHQpKXJldHVybltdO2NvbnN0IGU9UHIodCksbj10aGlzLl9vd25Bbm5vdGF0aW9ucyh0LGUpfHxbXTtyZXR1cm4oZSE9PU9iamVjdD90aGlzLmFubm90YXRpb25zKGUpOltdKS5jb25jYXQobil9X293blByb3BNZXRhZGF0YSh0LGUpe2lmKHQucHJvcE1ldGFkYXRhJiZ0LnByb3BNZXRhZGF0YSE9PWUucHJvcE1ldGFkYXRhKXtsZXQgZT10LnByb3BNZXRhZGF0YTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmZS5wcm9wTWV0YWRhdGEmJihlPWUucHJvcE1ldGFkYXRhKSxlfWlmKHQucHJvcERlY29yYXRvcnMmJnQucHJvcERlY29yYXRvcnMhPT1lLnByb3BEZWNvcmF0b3JzKXtjb25zdCBlPXQucHJvcERlY29yYXRvcnMsbj17fTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e25bdF09T3IoZVt0XSl9KSksbn1yZXR1cm4gdC5oYXNPd25Qcm9wZXJ0eShaYSk/dFtaYV06bnVsbH1wcm9wTWV0YWRhdGEodCl7aWYoIWRyKHQpKXJldHVybnt9O2NvbnN0IGU9UHIodCksbj17fTtpZihlIT09T2JqZWN0KXtjb25zdCB0PXRoaXMucHJvcE1ldGFkYXRhKGUpO09iamVjdC5rZXlzKHQpLmZvckVhY2goKGU9PntuW2VdPXRbZV19KSl9Y29uc3Qgbz10aGlzLl9vd25Qcm9wTWV0YWRhdGEodCxlKTtyZXR1cm4gbyYmT2JqZWN0LmtleXMobykuZm9yRWFjaCgodD0+e2NvbnN0IGU9W107bi5oYXNPd25Qcm9wZXJ0eSh0KSYmZS5wdXNoKC4uLm5bdF0pLGUucHVzaCguLi5vW3RdKSxuW3RdPWV9KSksbn1vd25Qcm9wTWV0YWRhdGEodCl7cmV0dXJuIGRyKHQpJiZ0aGlzLl9vd25Qcm9wTWV0YWRhdGEodCxQcih0KSl8fHt9fWhhc0xpZmVjeWNsZUhvb2sodCxlKXtyZXR1cm4gdCBpbnN0YW5jZW9mIGNyJiZlIGluIHQucHJvdG90eXBlfWd1YXJkcyh0KXtyZXR1cm57fX1nZXR0ZXIodCl7cmV0dXJuIG5ldyBGdW5jdGlvbigibyIsInJldHVybiBvLiIrdCsiOyIpfXNldHRlcih0KXtyZXR1cm4gbmV3IEZ1bmN0aW9uKCJvIiwidiIsInJldHVybiBvLiIrdCsiID0gdjsiKX1tZXRob2QodCl7cmV0dXJuIG5ldyBGdW5jdGlvbigibyIsImFyZ3MiLGBpZiAoIW8uJHt0fSkgdGhyb3cgbmV3IEVycm9yKCciJHt0fSIgaXMgdW5kZWZpbmVkJyk7XG4gICAgICAgIHJldHVybiBvLiR7dH0uYXBwbHkobywgYXJncyk7YCl9aW1wb3J0VXJpKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmdC5maWxlUGF0aD90LmZpbGVQYXRoOmAuLyR7S2UodCl9YH1yZXNvdXJjZVVyaSh0KXtyZXR1cm5gLi8ke0tlKHQpfWB9cmVzb2x2ZUlkZW50aWZpZXIodCxlLG4sbyl7cmV0dXJuIG99cmVzb2x2ZUVudW0odCxlKXtyZXR1cm4gdFtlXX19ZnVuY3Rpb24gT3IodCl7cmV0dXJuIHQ/dC5tYXAoKHQ9Pm5ldygwLHQudHlwZS5hbm5vdGF0aW9uQ2xzKSguLi50LmFyZ3M/dC5hcmdzOltdKSkpOltdfWZ1bmN0aW9uIFByKHQpe2NvbnN0IGU9dC5wcm90b3R5cGU/T2JqZWN0LmdldFByb3RvdHlwZU9mKHQucHJvdG90eXBlKTpudWxsO3JldHVybihlP2UuY29uc3RydWN0b3I6bnVsbCl8fE9iamVjdH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3Qgd3I9e30sa3I9L1xuL2dtLFNyPSJfX3NvdXJjZSIsRHI9WmUoe3Byb3ZpZGU6U3RyaW5nLHVzZVZhbHVlOlplfSk7bGV0IFJyO2Z1bmN0aW9uIEVyKHQpe2NvbnN0IGU9UnI7cmV0dXJuIFJyPXQsZX1mdW5jdGlvbiBBcih0LGU9SG4uRGVmYXVsdCl7aWYodm9pZCAwPT09UnIpdGhyb3cgbmV3IEVycm9yKCJpbmplY3QoKSBtdXN0IGJlIGNhbGxlZCBmcm9tIGFuIGluamVjdGlvbiBjb250ZXh0Iik7cmV0dXJuIG51bGw9PT1Scj9Cbih0LHZvaWQgMCxlKTpSci5nZXQodCxlJkhuLk9wdGlvbmFsP251bGw6dm9pZCAwLGUpfWZ1bmN0aW9uIFRyKHQsZT1Ibi5EZWZhdWx0KXtyZXR1cm4oKGZ1bmN0aW9uIG4oKXtyZXR1cm4gRm59KSgpfHxBcikodG4odCksZSl9ZnVuY3Rpb24gTnIodCl7Y29uc3QgZT1uZ0Rldk1vZGU/YFRoaXMgY29uc3RydWN0b3IgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBBbmd1bGFyIERlcGVuZGVuY3kgSW5qZWN0aW9uIGJlY2F1c2UgaXRzIGRlcGVuZGVuY3kgYXQgaW5kZXggJHt0fSBvZiB0aGUgcGFyYW1ldGVyIGxpc3QgaXMgaW52YWxpZC5cblRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgZGVwZW5kZW5jeSB0eXBlIGlzIGEgcHJpbWl0aXZlIGxpa2UgYSBzdHJpbmcgb3IgaWYgYW4gYW5jZXN0b3Igb2YgdGhpcyBjbGFzcyBpcyBtaXNzaW5nIGFuIEFuZ3VsYXIgZGVjb3JhdG9yLlxuXG5QbGVhc2UgY2hlY2sgdGhhdCAxKSB0aGUgdHlwZSBmb3IgdGhlIHBhcmFtZXRlciBhdCBpbmRleCAke3R9IGlzIGNvcnJlY3QgYW5kIDIpIHRoZSBjb3JyZWN0IEFuZ3VsYXIgZGVjb3JhdG9ycyBhcmUgZGVmaW5lZCBmb3IgdGhpcyBjbGFzcyBhbmQgaXRzIGFuY2VzdG9ycy5gOiJpbnZhbGlkIjt0aHJvdyBuZXcgRXJyb3IoZSl9Y29uc3QgenI9VHI7ZnVuY3Rpb24gSXIodCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7Y29uc3Qgbz10bih0W25dKTtpZihBcnJheS5pc0FycmF5KG8pKXtpZigwPT09by5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJBcmd1bWVudHMgYXJyYXkgbXVzdCBoYXZlIGFyZ3VtZW50cy4iKTtsZXQgdCxuPUhuLkRlZmF1bHQ7Zm9yKGxldCBlPTA7ZTxvLmxlbmd0aDtlKyspe2NvbnN0IGk9b1tlXSxhPWkuX19OR19ESV9GTEFHX187Im51bWJlciI9PXR5cGVvZiBhPy0xPT09YT90PWkudG9rZW46bnw9YTp0PWl9ZS5wdXNoKFRyKHQsbikpfWVsc2UgZS5wdXNoKFRyKG8pKX1yZXR1cm4gZX1mdW5jdGlvbiBIcih0LGUpe3JldHVybiB0Ll9fTkdfRElfRkxBR19fPWUsdC5wcm90b3R5cGUuX19OR19ESV9GTEFHX189ZSx0fWZ1bmN0aW9uIEZyKHQsZSxuLG8pe2NvbnN0IGk9dC5uZ1RlbXBUb2tlblBhdGg7dGhyb3cgZVtTcl0mJmkudW5zaGlmdChlW1NyXSksdC5tZXNzYWdlPShmdW5jdGlvbiBhKHQsZSxuLG89bnVsbCl7dD10JiYiXG4iPT09dC5jaGFyQXQoMCkmJiLJtSI9PXQuY2hhckF0KDEpP3Quc3Vic3RyKDIpOnQ7bGV0IGk9S2UoZSk7aWYoQXJyYXkuaXNBcnJheShlKSlpPWUubWFwKEtlKS5qb2luKCIgLT4gIik7ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGUpe2xldCB0PVtdO2ZvcihsZXQgbiBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobikpe2xldCBvPWVbbl07dC5wdXNoKG4rIjoiKygic3RyaW5nIj09dHlwZW9mIG8/SlNPTi5zdHJpbmdpZnkobyk6S2UobykpKX1pPWB7JHt0LmpvaW4oIiwgIil9fWB9cmV0dXJuYCR7bn0ke28/IigiK28rIikiOiIifVske2l9XTogJHt0LnJlcGxhY2Uoa3IsIlxuICAiKX1gfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKCJcbiIrdC5tZXNzYWdlLGksbixvKSx0Lm5nVG9rZW5QYXRoPWksdC5uZ1RlbXBUb2tlblBhdGg9bnVsbCx0fWNvbnN0IExyPUhyKEphKCJJbmplY3QiLCh0PT4oe3Rva2VuOnR9KSkpLC0xKSxCcj1IcihKYSgiT3B0aW9uYWwiKSw4KSxWcj1IcihKYSgiU2VsZiIpLDIpLGpyPUhyKEphKCJTa2lwU2VsZiIpLDQpLFVyPUhyKEphKCJIb3N0IiksMSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpsZXQgV3I9bnVsbDtmdW5jdGlvbiBHcigpe3JldHVybiBXcj1Xcnx8bmV3IHhyfWZ1bmN0aW9uIFlyKHQpe3JldHVybiBxcihHcigpLnBhcmFtZXRlcnModCkpfWZ1bmN0aW9uIHFyKHQpe3JldHVybiB0Lm1hcCgodD0+KGZ1bmN0aW9uIGUodCl7Y29uc3QgZT17dG9rZW46bnVsbCxhdHRyaWJ1dGU6bnVsbCxob3N0OiExLG9wdGlvbmFsOiExLHNlbGY6ITEsc2tpcFNlbGY6ITF9O2lmKEFycmF5LmlzQXJyYXkodCkmJnQubGVuZ3RoPjApZm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspe2NvbnN0IG89dFtuXTtpZih2b2lkIDA9PT1vKWNvbnRpbnVlO2NvbnN0IGk9T2JqZWN0LmdldFByb3RvdHlwZU9mKG8pO2lmKG8gaW5zdGFuY2VvZiBCcnx8Ik9wdGlvbmFsIj09PWkubmdNZXRhZGF0YU5hbWUpZS5vcHRpb25hbD0hMDtlbHNlIGlmKG8gaW5zdGFuY2VvZiBqcnx8IlNraXBTZWxmIj09PWkubmdNZXRhZGF0YU5hbWUpZS5za2lwU2VsZj0hMDtlbHNlIGlmKG8gaW5zdGFuY2VvZiBWcnx8IlNlbGYiPT09aS5uZ01ldGFkYXRhTmFtZSllLnNlbGY9ITA7ZWxzZSBpZihvIGluc3RhbmNlb2YgVXJ8fCJIb3N0Ij09PWkubmdNZXRhZGF0YU5hbWUpZS5ob3N0PSEwO2Vsc2UgaWYobyBpbnN0YW5jZW9mIExyKWUudG9rZW49by50b2tlbjtlbHNlIGlmKG8gaW5zdGFuY2VvZiAkYSl7aWYodm9pZCAwPT09by5hdHRyaWJ1dGVOYW1lKXRocm93IG5ldyBFcnJvcigiQXR0cmlidXRlIG5hbWUgbXVzdCBiZSBkZWZpbmVkLiIpO2UuYXR0cmlidXRlPW8uYXR0cmlidXRlTmFtZX1lbHNlIGUudG9rZW49b31lbHNlIGUudG9rZW49dm9pZCAwPT09dHx8QXJyYXkuaXNBcnJheSh0KSYmMD09PXQubGVuZ3RoP251bGw6dDtyZXR1cm4gZX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0KSkpfWZ1bmN0aW9uIFpyKHQpe2NvbnN0IGU9W10sbj1uZXcgTWFwO2Z1bmN0aW9uIG8oZSl7bGV0IG89bi5nZXQoZSk7aWYoIW8pe2NvbnN0IGk9dChlKTtuLnNldChlLG89aS50aGVuKFFyKSl9cmV0dXJuIG99cmV0dXJuIFhyLmZvckVhY2goKCh0LG4pPT57Y29uc3QgaT1bXTt0LnRlbXBsYXRlVXJsJiZpLnB1c2gobyh0LnRlbXBsYXRlVXJsKS50aGVuKChlPT57dC50ZW1wbGF0ZT1lfSkpKTtjb25zdCBhPXQuc3R5bGVVcmxzLHI9dC5zdHlsZXN8fCh0LnN0eWxlcz1bXSkscz10LnN0eWxlcy5sZW5ndGg7YSYmYS5mb3JFYWNoKCgoZSxuKT0+e3IucHVzaCgiIiksaS5wdXNoKG8oZSkudGhlbigobz0+e3JbcytuXT1vLGEuc3BsaWNlKGEuaW5kZXhPZihlKSwxKSwwPT1hLmxlbmd0aCYmKHQuc3R5bGVVcmxzPXZvaWQgMCl9KSkpfSkpO2NvbnN0IGw9UHJvbWlzZS5hbGwoaSkudGhlbigoKCk9PihmdW5jdGlvbiB0KGUpe0tyLmRlbGV0ZShlKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKShuKSkpO2UucHVzaChsKX0pKSwoZnVuY3Rpb24gaSgpe2NvbnN0IHQ9WHI7cmV0dXJuIFhyPW5ldyBNYXAsdH0pKCksUHJvbWlzZS5hbGwoZSkudGhlbigoKCk9Pnt9KSl9bGV0IFhyPW5ldyBNYXA7Y29uc3QgS3I9bmV3IFNldDtmdW5jdGlvbiBKcih0KXtyZXR1cm4hISh0LnRlbXBsYXRlVXJsJiYhdC5oYXNPd25Qcm9wZXJ0eSgidGVtcGxhdGUiKXx8dC5zdHlsZVVybHMmJnQuc3R5bGVVcmxzLmxlbmd0aCl9ZnVuY3Rpb24gUXIodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3Q6dC50ZXh0KCl9bGV0ICRyLHRzO2Z1bmN0aW9uIGVzKCl7aWYodm9pZCAwPT09JHImJigkcj1udWxsLFhuLnRydXN0ZWRUeXBlcykpdHJ5eyRyPVhuLnRydXN0ZWRUeXBlcy5jcmVhdGVQb2xpY3koImFuZ3VsYXIiLHtjcmVhdGVIVE1MOnQ9PnQsY3JlYXRlU2NyaXB0OnQ9PnQsY3JlYXRlU2NyaXB0VVJMOnQ9PnR9KX1jYXRjaCh0KXt9cmV0dXJuICRyfWZ1bmN0aW9uIG5zKHQpe3ZhciBlO3JldHVybihudWxsPT09KGU9ZXMoKSl8fHZvaWQgMD09PWU/dm9pZCAwOmUuY3JlYXRlSFRNTCh0KSl8fHR9ZnVuY3Rpb24gb3MoLi4udCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGUpdGhyb3cgbmV3IEVycm9yKCJuZXdUcnVzdGVkRnVuY3Rpb25Gb3JEZXYgc2hvdWxkIG5ldmVyIGJlIGNhbGxlZCBpbiBwcm9kdWN0aW9uIik7aWYoIVhuLnRydXN0ZWRUeXBlcylyZXR1cm4gbmV3IEZ1bmN0aW9uKC4uLnQpO2NvbnN0IGU9YChmdW5jdGlvbiBhbm9ueW1vdXMoJHt0LnNsaWNlKDAsLTEpLmpvaW4oIiwiKX1cbikgeyAke3RbdC5sZW5ndGgtMV19XG59KWAsbj1Ybi5ldmFsKChmdW5jdGlvbiBvKHQpe3ZhciBlO3JldHVybihudWxsPT09KGU9ZXMoKSl8fHZvaWQgMD09PWU/dm9pZCAwOmUuY3JlYXRlU2NyaXB0KHQpKXx8dH0pKGUpKTtyZXR1cm4gdm9pZCAwPT09bi5iaW5kP25ldyBGdW5jdGlvbiguLi50KToobi50b1N0cmluZz0oKT0+ZSxuLmJpbmQoWG4pKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gaXMoKXtpZih2b2lkIDA9PT10cyYmKHRzPW51bGwsWG4udHJ1c3RlZFR5cGVzKSl0cnl7dHM9WG4udHJ1c3RlZFR5cGVzLmNyZWF0ZVBvbGljeSgiYW5ndWxhciN1bnNhZmUtYnlwYXNzIix7Y3JlYXRlSFRNTDp0PT50LGNyZWF0ZVNjcmlwdDp0PT50LGNyZWF0ZVNjcmlwdFVSTDp0PT50fSl9Y2F0Y2godCl7fXJldHVybiB0c31mdW5jdGlvbiBhcyh0KXt2YXIgZTtyZXR1cm4obnVsbD09PShlPWlzKCkpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLmNyZWF0ZUhUTUwodCkpfHx0fWZ1bmN0aW9uIHJzKHQpe3ZhciBlO3JldHVybihudWxsPT09KGU9aXMoKSl8fHZvaWQgMD09PWU/dm9pZCAwOmUuY3JlYXRlU2NyaXB0KHQpKXx8dH1mdW5jdGlvbiBzcyh0KXt2YXIgZTtyZXR1cm4obnVsbD09PShlPWlzKCkpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLmNyZWF0ZVNjcmlwdFVSTCh0KSl8fHR9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIGxze2NvbnN0cnVjdG9yKHQpe3RoaXMuY2hhbmdpbmdUaGlzQnJlYWtzQXBwbGljYXRpb25TZWN1cml0eT10fXRvU3RyaW5nKCl7cmV0dXJuYFNhZmVWYWx1ZSBtdXN0IHVzZSBbcHJvcGVydHldPWJpbmRpbmc6ICR7dGhpcy5jaGFuZ2luZ1RoaXNCcmVha3NBcHBsaWNhdGlvblNlY3VyaXR5fSAoc2VlIGh0dHBzOi8vZy5jby9uZy9zZWN1cml0eSN4c3MpYH19Y2xhc3MgY3MgZXh0ZW5kcyBsc3tnZXRUeXBlTmFtZSgpe3JldHVybiJIVE1MIn19Y2xhc3MgZHMgZXh0ZW5kcyBsc3tnZXRUeXBlTmFtZSgpe3JldHVybiJTdHlsZSJ9fWNsYXNzIHBzIGV4dGVuZHMgbHN7Z2V0VHlwZU5hbWUoKXtyZXR1cm4iU2NyaXB0In19Y2xhc3MgbXMgZXh0ZW5kcyBsc3tnZXRUeXBlTmFtZSgpe3JldHVybiJVUkwifX1jbGFzcyBmcyBleHRlbmRzIGxze2dldFR5cGVOYW1lKCl7cmV0dXJuIlJlc291cmNlVVJMIn19ZnVuY3Rpb24gdXModCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBscz90LmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk6dH1mdW5jdGlvbiBncyh0LGUpe2NvbnN0IG49aHModCk7aWYobnVsbCE9biYmbiE9PWUpe2lmKCJSZXNvdXJjZVVSTCI9PT1uJiYiVVJMIj09PWUpcmV0dXJuITA7dGhyb3cgbmV3IEVycm9yKGBSZXF1aXJlZCBhIHNhZmUgJHtlfSwgZ290IGEgJHtufSAoc2VlIGh0dHBzOi8vZy5jby9uZy9zZWN1cml0eSN4c3MpYCl9cmV0dXJuIG49PT1lfWZ1bmN0aW9uIGhzKHQpe3JldHVybiB0IGluc3RhbmNlb2YgbHMmJnQuZ2V0VHlwZU5hbWUoKXx8bnVsbH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIGJzKHQpe2NvbnN0IGU9bmV3IF9zKHQpO3JldHVybihmdW5jdGlvbiBuKCl7dHJ5e3JldHVybiEhKG5ldyB3aW5kb3cuRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcobnMoIiIpLCJ0ZXh0L2h0bWwiKX1jYXRjaCh0KXtyZXR1cm4hMX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykoKT9uZXcgeXMoZSk6ZX1jbGFzcyB5c3tjb25zdHJ1Y3Rvcih0KXt0aGlzLmluZXJ0RG9jdW1lbnRIZWxwZXI9dH1nZXRJbmVydEJvZHlFbGVtZW50KHQpe3Q9Ijxib2R5PjxyZW1vdmU+PC9yZW1vdmU+Iit0O3RyeXtjb25zdCBlPShuZXcgd2luZG93LkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKG5zKHQpLCJ0ZXh0L2h0bWwiKS5ib2R5O3JldHVybiBudWxsPT09ZT90aGlzLmluZXJ0RG9jdW1lbnRIZWxwZXIuZ2V0SW5lcnRCb2R5RWxlbWVudCh0KTooZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpLGUpfWNhdGNoKHQpe3JldHVybiBudWxsfX19Y2xhc3MgX3N7Y29uc3RydWN0b3IodCl7aWYodGhpcy5kZWZhdWx0RG9jPXQsdGhpcy5pbmVydERvY3VtZW50PXRoaXMuZGVmYXVsdERvYy5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoInNhbml0aXphdGlvbi1pbmVydCIpLG51bGw9PXRoaXMuaW5lcnREb2N1bWVudC5ib2R5KXtjb25zdCB0PXRoaXMuaW5lcnREb2N1bWVudC5jcmVhdGVFbGVtZW50KCJodG1sIik7dGhpcy5pbmVydERvY3VtZW50LmFwcGVuZENoaWxkKHQpO2NvbnN0IGU9dGhpcy5pbmVydERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKTt0LmFwcGVuZENoaWxkKGUpfX1nZXRJbmVydEJvZHlFbGVtZW50KHQpe2NvbnN0IGU9dGhpcy5pbmVydERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIik7aWYoImNvbnRlbnQiaW4gZSlyZXR1cm4gZS5pbm5lckhUTUw9bnModCksZTtjb25zdCBuPXRoaXMuaW5lcnREb2N1bWVudC5jcmVhdGVFbGVtZW50KCJib2R5Iik7cmV0dXJuIG4uaW5uZXJIVE1MPW5zKHQpLHRoaXMuZGVmYXVsdERvYy5kb2N1bWVudE1vZGUmJnRoaXMuc3RyaXBDdXN0b21Oc0F0dHJzKG4pLG59c3RyaXBDdXN0b21Oc0F0dHJzKHQpe2NvbnN0IGU9dC5hdHRyaWJ1dGVzO2ZvcihsZXQgbj1lLmxlbmd0aC0xOzA8bjtuLS0pe2NvbnN0IG89ZS5pdGVtKG4pLm5hbWU7InhtbG5zOm5zMSIhPT1vJiYwIT09by5pbmRleE9mKCJuczE6Iil8fHQucmVtb3ZlQXR0cmlidXRlKG8pfWxldCBuPXQuZmlyc3RDaGlsZDtmb3IoO247KW4ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmdGhpcy5zdHJpcEN1c3RvbU5zQXR0cnMobiksbj1uLm5leHRTaWJsaW5nfX1jb25zdCBDcz0vXig/Oig/Omh0dHBzP3xtYWlsdG98ZnRwfHRlbHxmaWxlfHNtcyk6fFteJjovPyNdKig/OlsvPyNdfCQpKS9naSxNcz0vXmRhdGE6KD86aW1hZ2VcLyg/OmJtcHxnaWZ8anBlZ3xqcGd8cG5nfHRpZmZ8d2VicCl8dmlkZW9cLyg/Om1wZWd8bXA0fG9nZ3x3ZWJtKXxhdWRpb1wvKD86bXAzfG9nYXxvZ2d8b3B1cykpO2Jhc2U2NCxbYS16MC05K1wvXSs9KiQvaTtmdW5jdGlvbiB2cyh0KXtyZXR1cm4odD1TdHJpbmcodCkpLm1hdGNoKENzKXx8dC5tYXRjaChNcyk/dDooKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZjb25zb2xlLndhcm4oYFdBUk5JTkc6IHNhbml0aXppbmcgdW5zYWZlIFVSTCB2YWx1ZSAke3R9IChzZWUgaHR0cHM6Ly9nLmNvL25nL3NlY3VyaXR5I3hzcylgKSwidW5zYWZlOiIrdCl9ZnVuY3Rpb24geHModCl7cmV0dXJuKHQ9U3RyaW5nKHQpKS5zcGxpdCgiLCIpLm1hcCgodD0+dnModC50cmltKCkpKSkuam9pbigiLCAiKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gT3ModCl7Y29uc3QgZT17fTtmb3IoY29uc3QgbiBvZiB0LnNwbGl0KCIsIikpZVtuXT0hMDtyZXR1cm4gZX1mdW5jdGlvbiBQcyguLi50KXtjb25zdCBlPXt9O2Zvcihjb25zdCBuIG9mIHQpZm9yKGNvbnN0IHQgaW4gbiluLmhhc093blByb3BlcnR5KHQpJiYoZVt0XT0hMCk7cmV0dXJuIGV9Y29uc3Qgd3M9T3MoImFyZWEsYnIsY29sLGhyLGltZyx3YnIiKSxrcz1PcygiY29sZ3JvdXAsZGQsZHQsbGkscCx0Ym9keSx0ZCx0Zm9vdCx0aCx0aGVhZCx0ciIpLFNzPU9zKCJycCxydCIpLERzPVBzKFNzLGtzKSxScz1QcyhrcyxPcygiYWRkcmVzcyxhcnRpY2xlLGFzaWRlLGJsb2NrcXVvdGUsY2FwdGlvbixjZW50ZXIsZGVsLGRldGFpbHMsZGlhbG9nLGRpcixkaXYsZGwsZmlndXJlLGZpZ2NhcHRpb24sZm9vdGVyLGgxLGgyLGgzLGg0LGg1LGg2LGhlYWRlcixoZ3JvdXAsaHIsaW5zLG1haW4sbWFwLG1lbnUsbmF2LG9sLHByZSxzZWN0aW9uLHN1bW1hcnksdGFibGUsdWwiKSksRXM9UHMoU3MsT3MoImEsYWJicixhY3JvbnltLGF1ZGlvLGIsYmRpLGJkbyxiaWcsYnIsY2l0ZSxjb2RlLGRlbCxkZm4sZW0sZm9udCxpLGltZyxpbnMsa2JkLGxhYmVsLG1hcCxtYXJrLHBpY3R1cmUscSxydWJ5LHJwLHJ0LHMsc2FtcCxzbWFsbCxzb3VyY2Usc3BhbixzdHJpa2Usc3Ryb25nLHN1YixzdXAsdGltZSx0cmFjayx0dCx1LHZhcix2aWRlbyIpKSxBcz1Qcyh3cyxScyxFcyxEcyksVHM9T3MoImJhY2tncm91bmQsY2l0ZSxocmVmLGl0ZW10eXBlLGxvbmdkZXNjLHBvc3RlcixzcmMseGxpbms6aHJlZiIpLE5zPU9zKCJzcmNzZXQiKSx6cz1PcygiYWJicixhY2Nlc3NrZXksYWxpZ24sYWx0LGF1dG9wbGF5LGF4aXMsYmdjb2xvcixib3JkZXIsY2VsbHBhZGRpbmcsY2VsbHNwYWNpbmcsY2xhc3MsY2xlYXIsY29sb3IsY29scyxjb2xzcGFuLGNvbXBhY3QsY29udHJvbHMsY29vcmRzLGRhdGV0aW1lLGRlZmF1bHQsZGlyLGRvd25sb2FkLGZhY2UsaGVhZGVycyxoZWlnaHQsaGlkZGVuLGhyZWZsYW5nLGhzcGFjZSxpc21hcCxpdGVtc2NvcGUsaXRlbXByb3Asa2luZCxsYWJlbCxsYW5nLGxhbmd1YWdlLGxvb3AsbWVkaWEsbXV0ZWQsbm9ocmVmLG5vd3JhcCxvcGVuLHByZWxvYWQscmVsLHJldixyb2xlLHJvd3Mscm93c3BhbixydWxlcyxzY29wZSxzY3JvbGxpbmcsc2hhcGUsc2l6ZSxzaXplcyxzcGFuLHNyY2xhbmcsc3RhcnQsc3VtbWFyeSx0YWJpbmRleCx0YXJnZXQsdGl0bGUsdHJhbnNsYXRlLHR5cGUsdXNlbWFwLHZhbGlnbix2YWx1ZSx2c3BhY2Usd2lkdGgiKSxJcz1PcygiYXJpYS1hY3RpdmVkZXNjZW5kYW50LGFyaWEtYXRvbWljLGFyaWEtYXV0b2NvbXBsZXRlLGFyaWEtYnVzeSxhcmlhLWNoZWNrZWQsYXJpYS1jb2xjb3VudCxhcmlhLWNvbGluZGV4LGFyaWEtY29sc3BhbixhcmlhLWNvbnRyb2xzLGFyaWEtY3VycmVudCxhcmlhLWRlc2NyaWJlZGJ5LGFyaWEtZGV0YWlscyxhcmlhLWRpc2FibGVkLGFyaWEtZHJvcGVmZmVjdCxhcmlhLWVycm9ybWVzc2FnZSxhcmlhLWV4cGFuZGVkLGFyaWEtZmxvd3RvLGFyaWEtZ3JhYmJlZCxhcmlhLWhhc3BvcHVwLGFyaWEtaGlkZGVuLGFyaWEtaW52YWxpZCxhcmlhLWtleXNob3J0Y3V0cyxhcmlhLWxhYmVsLGFyaWEtbGFiZWxsZWRieSxhcmlhLWxldmVsLGFyaWEtbGl2ZSxhcmlhLW1vZGFsLGFyaWEtbXVsdGlsaW5lLGFyaWEtbXVsdGlzZWxlY3RhYmxlLGFyaWEtb3JpZW50YXRpb24sYXJpYS1vd25zLGFyaWEtcGxhY2Vob2xkZXIsYXJpYS1wb3NpbnNldCxhcmlhLXByZXNzZWQsYXJpYS1yZWFkb25seSxhcmlhLXJlbGV2YW50LGFyaWEtcmVxdWlyZWQsYXJpYS1yb2xlZGVzY3JpcHRpb24sYXJpYS1yb3djb3VudCxhcmlhLXJvd2luZGV4LGFyaWEtcm93c3BhbixhcmlhLXNlbGVjdGVkLGFyaWEtc2V0c2l6ZSxhcmlhLXNvcnQsYXJpYS12YWx1ZW1heCxhcmlhLXZhbHVlbWluLGFyaWEtdmFsdWVub3csYXJpYS12YWx1ZXRleHQiKSxIcz1QcyhUcyxOcyx6cyxJcyksRnM9T3MoInNjcmlwdCxzdHlsZSx0ZW1wbGF0ZSIpO2NsYXNzIExze2NvbnN0cnVjdG9yKCl7dGhpcy5zYW5pdGl6ZWRTb21ldGhpbmc9ITEsdGhpcy5idWY9W119c2FuaXRpemVDaGlsZHJlbih0KXtsZXQgZT10LmZpcnN0Q2hpbGQsbj0hMDtmb3IoO2U7KWlmKGUubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERT9uPXRoaXMuc3RhcnRFbGVtZW50KGUpOmUubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT90aGlzLmNoYXJzKGUubm9kZVZhbHVlKTp0aGlzLnNhbml0aXplZFNvbWV0aGluZz0hMCxuJiZlLmZpcnN0Q2hpbGQpZT1lLmZpcnN0Q2hpbGQ7ZWxzZSBmb3IoO2U7KXtlLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJnRoaXMuZW5kRWxlbWVudChlKTtsZXQgdD10aGlzLmNoZWNrQ2xvYmJlcmVkRWxlbWVudChlLGUubmV4dFNpYmxpbmcpO2lmKHQpe2U9dDticmVha31lPXRoaXMuY2hlY2tDbG9iYmVyZWRFbGVtZW50KGUsZS5wYXJlbnROb2RlKX1yZXR1cm4gdGhpcy5idWYuam9pbigiIil9c3RhcnRFbGVtZW50KHQpe2NvbnN0IGU9dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO2lmKCFBcy5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gdGhpcy5zYW5pdGl6ZWRTb21ldGhpbmc9ITAsIUZzLmhhc093blByb3BlcnR5KGUpO3RoaXMuYnVmLnB1c2goIjwiKSx0aGlzLmJ1Zi5wdXNoKGUpO2NvbnN0IG49dC5hdHRyaWJ1dGVzO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXtjb25zdCBlPW4uaXRlbSh0KSxvPWUubmFtZSxpPW8udG9Mb3dlckNhc2UoKTtpZighSHMuaGFzT3duUHJvcGVydHkoaSkpe3RoaXMuc2FuaXRpemVkU29tZXRoaW5nPSEwO2NvbnRpbnVlfWxldCBhPWUudmFsdWU7VHNbaV0mJihhPXZzKGEpKSxOc1tpXSYmKGE9eHMoYSkpLHRoaXMuYnVmLnB1c2goIiAiLG8sJz0iJyxqcyhhKSwnIicpfXJldHVybiB0aGlzLmJ1Zi5wdXNoKCI+IiksITB9ZW5kRWxlbWVudCh0KXtjb25zdCBlPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtBcy5oYXNPd25Qcm9wZXJ0eShlKSYmIXdzLmhhc093blByb3BlcnR5KGUpJiYodGhpcy5idWYucHVzaCgiPC8iKSx0aGlzLmJ1Zi5wdXNoKGUpLHRoaXMuYnVmLnB1c2goIj4iKSl9Y2hhcnModCl7dGhpcy5idWYucHVzaChqcyh0KSl9Y2hlY2tDbG9iYmVyZWRFbGVtZW50KHQsZSl7aWYoZSYmKHQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpPT09Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gc2FuaXRpemUgaHRtbCBiZWNhdXNlIHRoZSBlbGVtZW50IGlzIGNsb2JiZXJlZDogJHt0Lm91dGVySFRNTH1gKTtyZXR1cm4gZX19Y29uc3QgQnM9L1tcdUQ4MDAtXHVEQkZGXVtcdURDMDAtXHVERkZGXS9nLFZzPS8oW15cIy1+IHwhXSkvZztmdW5jdGlvbiBqcyh0KXtyZXR1cm4gdC5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZShCcywoZnVuY3Rpb24odCl7cmV0dXJuIiYjIisoMTAyNCoodC5jaGFyQ29kZUF0KDApLTU1Mjk2KSsodC5jaGFyQ29kZUF0KDEpLTU2MzIwKSs2NTUzNikrIjsifSkpLnJlcGxhY2UoVnMsKGZ1bmN0aW9uKHQpe3JldHVybiImIyIrdC5jaGFyQ29kZUF0KDApKyI7In0pKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKX1sZXQgVXM7ZnVuY3Rpb24gV3ModCxlKXtsZXQgbj1udWxsO3RyeXtVcz1Vc3x8YnModCk7bGV0IG89ZT9TdHJpbmcoZSk6IiI7bj1Vcy5nZXRJbmVydEJvZHlFbGVtZW50KG8pO2xldCBpPTUsYT1vO2Rve2lmKDA9PT1pKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIHNhbml0aXplIGh0bWwgYmVjYXVzZSB0aGUgaW5wdXQgaXMgdW5zdGFibGUiKTtpLS0sbz1hLGE9bi5pbm5lckhUTUwsbj1Vcy5nZXRJbmVydEJvZHlFbGVtZW50KG8pfXdoaWxlKG8hPT1hKTtjb25zdCByPW5ldyBMcyxzPXIuc2FuaXRpemVDaGlsZHJlbihHcyhuKXx8bik7cmV0dXJuKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZyLnNhbml0aXplZFNvbWV0aGluZyYmY29uc29sZS53YXJuKCJXQVJOSU5HOiBzYW5pdGl6aW5nIEhUTUwgc3RyaXBwZWQgc29tZSBjb250ZW50LCBzZWUgaHR0cHM6Ly9nLmNvL25nL3NlY3VyaXR5I3hzcyIpLG5zKHMpfWZpbmFsbHl7aWYobil7Y29uc3QgdD1HcyhuKXx8bjtmb3IoO3QuZmlyc3RDaGlsZDspdC5yZW1vdmVDaGlsZCh0LmZpcnN0Q2hpbGQpfX19ZnVuY3Rpb24gR3ModCl7cmV0dXJuImNvbnRlbnQiaW4gdCYmKGZ1bmN0aW9uIGUodCl7cmV0dXJuIHQubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmIlRFTVBMQVRFIj09PXQubm9kZU5hbWV9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykodCk/dC5jb250ZW50Om51bGx9dmFyIFlzOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gcXModCl7Y29uc3QgZT1lbCgpO3JldHVybiBlP2FzKGUuc2FuaXRpemUoWXMuSFRNTCx0KXx8IiIpOmdzKHQsIkhUTUwiKT9hcyh1cyh0KSk6V3MoaWkoKSxybih0KSl9ZnVuY3Rpb24gWnModCl7Y29uc3QgZT1lbCgpO3JldHVybiBlP2Uuc2FuaXRpemUoWXMuU1RZTEUsdCl8fCIiOmdzKHQsIlN0eWxlIik/dXModCk6cm4odCl9ZnVuY3Rpb24gWHModCl7Y29uc3QgZT1lbCgpO3JldHVybiBlP2Uuc2FuaXRpemUoWXMuVVJMLHQpfHwiIjpncyh0LCJVUkwiKT91cyh0KTp2cyhybih0KSl9ZnVuY3Rpb24gS3ModCl7Y29uc3QgZT1lbCgpO2lmKGUpcmV0dXJuIHNzKGUuc2FuaXRpemUoWXMuUkVTT1VSQ0VfVVJMLHQpfHwiIik7aWYoZ3ModCwiUmVzb3VyY2VVUkwiKSlyZXR1cm4gc3ModXModCkpO3Rocm93IG5ldyBFcnJvcigidW5zYWZlIHZhbHVlIHVzZWQgaW4gYSByZXNvdXJjZSBVUkwgY29udGV4dCAoc2VlIGh0dHBzOi8vZy5jby9uZy9zZWN1cml0eSN4c3MpIil9ZnVuY3Rpb24gSnModCl7Y29uc3QgZT1lbCgpO2lmKGUpcmV0dXJuIHJzKGUuc2FuaXRpemUoWXMuU0NSSVBULHQpfHwiIik7aWYoZ3ModCwiU2NyaXB0IikpcmV0dXJuIHJzKHVzKHQpKTt0aHJvdyBuZXcgRXJyb3IoInVuc2FmZSB2YWx1ZSB1c2VkIGluIGEgc2NyaXB0IGNvbnRleHQiKX1mdW5jdGlvbiBRcyh0KXtpZihuZ0Rldk1vZGUmJighQXJyYXkuaXNBcnJheSh0KXx8IUFycmF5LmlzQXJyYXkodC5yYXcpfHwxIT09dC5sZW5ndGgpKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBpbnRlcnBvbGF0aW9uIGluIHRydXN0ZWQgSFRNTCBjb25zdGFudDogJHt0LmpvaW4oIj8iKX1gKTtyZXR1cm4gbnModFswXSl9ZnVuY3Rpb24gJHModCl7aWYobmdEZXZNb2RlJiYoIUFycmF5LmlzQXJyYXkodCl8fCFBcnJheS5pc0FycmF5KHQucmF3KXx8MSE9PXQubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgaW50ZXJwb2xhdGlvbiBpbiB0cnVzdGVkIFVSTCBjb25zdGFudDogJHt0LmpvaW4oIj8iKX1gKTtyZXR1cm4oZnVuY3Rpb24gZSh0KXt2YXIgZTtyZXR1cm4obnVsbD09PShlPWVzKCkpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLmNyZWF0ZVNjcmlwdFVSTCh0KSl8fHR9KSh0WzBdKX1mdW5jdGlvbiB0bCh0LGUsbil7cmV0dXJuKGZ1bmN0aW9uIG8odCxlKXtyZXR1cm4ic3JjIj09PWUmJigiZW1iZWQiPT09dHx8ImZyYW1lIj09PXR8fCJpZnJhbWUiPT09dHx8Im1lZGlhIj09PXR8fCJzY3JpcHQiPT09dCl8fCJocmVmIj09PWUmJigiYmFzZSI9PT10fHwibGluayI9PT10KT9LczpYc30pKGUsbikodCl9ZnVuY3Rpb24gZWwoKXtjb25zdCB0PXhpKCk7cmV0dXJuIHQmJnRbMTJdfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBubCh0KXtsZXQgZT1ybCh0KTtpZihlKXtpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCBuPWU7bGV0IG8saSxhO2lmKChmdW5jdGlvbiBuKHQpe3JldHVybiB0JiZ0LmNvbnN0cnVjdG9yJiZ0LmNvbnN0cnVjdG9yLsm1Y21wfSkodCkpe2lmKG89ZGwobix0KSwtMT09byl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwcm92aWRlZCBjb21wb25lbnQgd2FzIG5vdCBmb3VuZCBpbiB0aGUgYXBwbGljYXRpb24iKTtpPXR9ZWxzZSBpZigoZnVuY3Rpb24gbyh0KXtyZXR1cm4gdCYmdC5jb25zdHJ1Y3RvciYmdC5jb25zdHJ1Y3Rvci7JtWRpcn0pKHQpKXtpZihvPShmdW5jdGlvbiBpKHQsZSl7bGV0IG49dFsxXS5maXJzdENoaWxkO2Zvcig7bjspe2NvbnN0IG89bi5kaXJlY3RpdmVFbmQ7Zm9yKGxldCBpPW4uZGlyZWN0aXZlU3RhcnQ7aTxvO2krKylpZih0W2ldPT09ZSlyZXR1cm4gbi5pbmRleDtuPWNsKG4pfXJldHVybi0xfSkobix0KSwtMT09byl0aHJvdyBuZXcgRXJyb3IoIlRoZSBwcm92aWRlZCBkaXJlY3RpdmUgd2FzIG5vdCBmb3VuZCBpbiB0aGUgYXBwbGljYXRpb24iKTthPXBsKG8sbiwhMSl9ZWxzZSBpZihvPWxsKG4sdCksLTE9PW8pcmV0dXJuIG51bGw7Y29uc3Qgcj1saShuW29dKSxzPXJsKHIpLGw9cyYmIUFycmF5LmlzQXJyYXkocyk/czpvbChuLG8scik7aWYoaSYmdm9pZCAwPT09bC5jb21wb25lbnQmJihsLmNvbXBvbmVudD1pLGFsKGwuY29tcG9uZW50LGwpKSxhJiZ2b2lkIDA9PT1sLmRpcmVjdGl2ZXMpe2wuZGlyZWN0aXZlcz1hO2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7dCsrKWFsKGFbdF0sbCl9YWwobC5uYXRpdmUsbCksZT1sfX1lbHNle2NvbnN0IG49dDtuZ0Rldk1vZGUmJlBuKG4pO2xldCBvPW47Zm9yKDtvPW8ucGFyZW50Tm9kZTspe2NvbnN0IHQ9cmwobyk7aWYodCl7bGV0IG87aWYobz1BcnJheS5pc0FycmF5KHQpP3Q6dC5sVmlldywhbylyZXR1cm4gbnVsbDtjb25zdCBpPWxsKG8sbik7aWYoaT49MCl7Y29uc3QgdD1saShvW2ldKSxuPW9sKG8saSx0KTthbCh0LG4pLGU9bjticmVha319fX1yZXR1cm4gZXx8bnVsbH1mdW5jdGlvbiBvbCh0LGUsbil7cmV0dXJue2xWaWV3OnQsbm9kZUluZGV4OmUsbmF0aXZlOm4sY29tcG9uZW50OnZvaWQgMCxkaXJlY3RpdmVzOnZvaWQgMCxsb2NhbFJlZnM6dm9pZCAwfX1mdW5jdGlvbiBpbCh0KXtsZXQgZSxuPXJsKHQpO2lmKEFycmF5LmlzQXJyYXkobikpe2NvbnN0IG89ZGwobix0KTtlPWZpKG8sbik7Y29uc3QgaT1vbChuLG8sZVswXSk7aS5jb21wb25lbnQ9dCxhbCh0LGkpLGFsKGkubmF0aXZlLGkpfWVsc2V7ZT1maShuLm5vZGVJbmRleCxuLmxWaWV3KX1yZXR1cm4gZX0hKGZ1bmN0aW9uKHQpe3RbdC5OT05FPTBdPSJOT05FIix0W3QuSFRNTD0xXT0iSFRNTCIsdFt0LlNUWUxFPTJdPSJTVFlMRSIsdFt0LlNDUklQVD0zXT0iU0NSSVBUIix0W3QuVVJMPTRdPSJVUkwiLHRbdC5SRVNPVVJDRV9VUkw9NV09IlJFU09VUkNFX1VSTCJ9KShZc3x8KFlzPXt9KSk7ZnVuY3Rpb24gYWwodCxlKXtuZ0Rldk1vZGUmJnhuKHQsIlRhcmdldCBleHBlY3RlZCIpLHQuX19uZ0NvbnRleHRfXz1lfWZ1bmN0aW9uIHJsKHQpe3JldHVybiBuZ0Rldk1vZGUmJnhuKHQsIlRhcmdldCBleHBlY3RlZCIpLHQuX19uZ0NvbnRleHRfX3x8bnVsbH1mdW5jdGlvbiBzbCh0KXtjb25zdCBlPXJsKHQpO3JldHVybiBlP0FycmF5LmlzQXJyYXkoZSk/ZTplLmxWaWV3Om51bGx9ZnVuY3Rpb24gbGwodCxlKXtjb25zdCBuPXRbMV07Zm9yKGxldCBvPXZvO288bi5iaW5kaW5nU3RhcnRJbmRleDtvKyspaWYobGkodFtvXSk9PT1lKXJldHVybiBvO3JldHVybi0xfWZ1bmN0aW9uIGNsKHQpe2lmKHQuY2hpbGQpcmV0dXJuIHQuY2hpbGQ7aWYodC5uZXh0KXJldHVybiB0Lm5leHQ7Zm9yKDt0LnBhcmVudCYmIXQucGFyZW50Lm5leHQ7KXQ9dC5wYXJlbnQ7cmV0dXJuIHQucGFyZW50JiZ0LnBhcmVudC5uZXh0fWZ1bmN0aW9uIGRsKHQsZSl7Y29uc3Qgbj10WzFdLmNvbXBvbmVudHM7aWYobilmb3IobGV0IG89MDtvPG4ubGVuZ3RoO28rKyl7Y29uc3QgaT1uW29dO2lmKGZpKGksdClbOF09PT1lKXJldHVybiBpfWVsc2V7aWYoZmkodm8sdClbOF09PT1lKXJldHVybiB2b31yZXR1cm4tMX1mdW5jdGlvbiBwbCh0LGUsbil7Y29uc3Qgbz1lWzFdLmRhdGFbdF07bGV0IGk9by5kaXJlY3RpdmVTdGFydDtpZigwPT1pKXJldHVybiBRbjtyZXR1cm4hbiYmMiZvLmZsYWdzJiZpKyssZS5zbGljZShpLG8uZGlyZWN0aXZlRW5kKX1mdW5jdGlvbiBtbCh0KXtyZXR1cm4gdC5uZ09yaWdpbmFsRXJyb3J9ZnVuY3Rpb24gZmwodCwuLi5lKXt0LmVycm9yKC4uLmUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyB1bHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvbnNvbGU9Y29uc29sZX1oYW5kbGVFcnJvcih0KXtjb25zdCBlPXRoaXMuX2ZpbmRPcmlnaW5hbEVycm9yKHQpLG49dGhpcy5fZmluZENvbnRleHQodCksbz0oZnVuY3Rpb24gaSh0KXtyZXR1cm4gdCYmdC5uZ0Vycm9yTG9nZ2VyfHxmbH0pKHQpO28odGhpcy5fY29uc29sZSwiRVJST1IiLHQpLGUmJm8odGhpcy5fY29uc29sZSwiT1JJR0lOQUwgRVJST1IiLGUpLG4mJm8odGhpcy5fY29uc29sZSwiRVJST1IgQ09OVEVYVCIsbil9X2ZpbmRDb250ZXh0KHQpe3JldHVybiB0PyhmdW5jdGlvbiBlKHQpe3JldHVybiB0Lm5nRGVidWdDb250ZXh0fSkodCl8fHRoaXMuX2ZpbmRDb250ZXh0KG1sKHQpKTpudWxsfV9maW5kT3JpZ2luYWxFcnJvcih0KXtsZXQgZT10JiZtbCh0KTtmb3IoO2UmJm1sKGUpOyllPW1sKGUpO3JldHVybiBlfHxudWxsfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgZ2w9e25hbWU6ImN1c3RvbS1lbGVtZW50cyJ9LGhsPXtuYW1lOiJuby1lcnJvcnMtc2NoZW1hIn0sYmw9L14+fF4tPnw8IS0tfC0tPnwtLSE+fDwhLSQvZyx5bD0vKDx8PikvO2Z1bmN0aW9uIF9sKHQpe3JldHVybiB0LnJlcGxhY2UoYmwsKHQ9PnQucmVwbGFjZSh5bCwi4oCLJDHigIsiKSkpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBDbCh0KXtpZighbmdEZXZNb2RlKXRocm93IG5ldyBFcnJvcigiTG9va3MgbGlrZSB3ZSBhcmUgaW4gJ3Byb2QgbW9kZScsIGJ1dCB3ZSBhcmUgY3JlYXRpbmcgYSBuYW1lZCBBcnJheSB0eXBlLCB3aGljaCBpcyB3cm9uZyEgQ2hlY2sgeW91ciBjb2RlIik7dHJ5e3JldHVybiBvcygiQXJyYXkiLGByZXR1cm4gY2xhc3MgJHt0fSBleHRlbmRzIEFycmF5e31gKShBcnJheSl9Y2F0Y2godCl7cmV0dXJuIEFycmF5fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gTWwodCl7cmV0dXJuYG5nLXJlZmxlY3QtJHt0PShmdW5jdGlvbiBlKHQpe3JldHVybiB0LnJlcGxhY2UodmwsKCguLi50KT0+Ii0iK3RbMV0udG9Mb3dlckNhc2UoKSkpfSkodC5yZXBsYWNlKC9bJEBdL2csIl8iKSl9YH1jb25zdCB2bD0vKFtBLVpdKS9nOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgeGw9KCJ1bmRlZmluZWQiIT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHNldFRpbWVvdXQpLmJpbmQoWG4pO2Z1bmN0aW9uIE9sKHQpe3JldHVybiB0Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd9ZnVuY3Rpb24gUGwodCl7cmV0dXJuIHQub3duZXJEb2N1bWVudH1mdW5jdGlvbiB3bCh0KXtyZXR1cm4gdC5vd25lckRvY3VtZW50LmJvZHl9Y29uc3Qga2w9Iu+/vSI7ZnVuY3Rpb24gU2wodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBGdW5jdGlvbj90KCk6dH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gRGwodCl7dGhyb3cgbmV3IG5uKCIzMDAiLGBNdWx0aXBsZSBjb21wb25lbnRzIG1hdGNoIG5vZGUgd2l0aCB0YWduYW1lICR7dC52YWx1ZX1gKX1mdW5jdGlvbiBSbCh0LGUsbixvLGkpe2NvbnN0W2EsciwuLi5zXT1vLnNwbGl0KGtsKTtsZXQgbD1yLGM9cjtmb3IobGV0IG89MDtvPHMubGVuZ3RoO28rKyl7Y29uc3QgYT1lK287bCs9YCR7dFthXX0ke3Nbb119YCxjKz1gJHthPT09bj9pOnRbYV19JHtzW29dfWB9cmV0dXJue3Byb3BOYW1lOmEsb2xkVmFsdWU6bCxuZXdWYWx1ZTpjfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCnZhciBFbDsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBBbDtmdW5jdGlvbiBUbCh0LGUpe3JldHVybiBBbCh0LGUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gTmwodCl7bmdEZXZNb2RlJiZGbyh0KTtjb25zdCBlPXRbM107cmV0dXJuIHdvKGUpP2VbM106ZX1mdW5jdGlvbiB6bCh0KXtjb25zdCBlPShmdW5jdGlvbiBuKHQpe25nRGV2TW9kZSYmeG4odCwiY29tcG9uZW50Iik7bGV0IGU9UG8odCk/dDpzbCh0KTtmb3IoO2UmJiEoNTEyJmVbMl0pOyllPU5sKGUpO3JldHVybiBuZ0Rldk1vZGUmJkZvKGUpLGV9KSh0KTtyZXR1cm4gbmdEZXZNb2RlJiZ4bihlWzhdLCJSb290VmlldyBoYXMgbm8gY29udGV4dC4gUGVyaGFwcyBpdCBpcyBkaXNjb25uZWN0ZWQ/IiksZVs4XX1mdW5jdGlvbiBJbCh0KXtyZXR1cm4gRmwodFsxM10pfWZ1bmN0aW9uIEhsKHQpe3JldHVybiBGbCh0WzRdKX1mdW5jdGlvbiBGbCh0KXtmb3IoO251bGwhPT10JiYhd28odCk7KXQ9dFs0XTtyZXR1cm4gdH1mdW5jdGlvbiBMbCh0LGUsbixvLGkpe2lmKG51bGwhPW8pe2xldCBhLHI9ITE7d28obyk/YT1vOlBvKG8pJiYocj0hMCxuZ0Rldk1vZGUmJnhuKG9bMF0sIkhPU1QgbXVzdCBiZSBkZWZpbmVkIGZvciBhIGNvbXBvbmVudCBMVmlldyIpLG89b1swXSk7Y29uc3Qgcz1saShvKTtuZ0Rldk1vZGUmJiFyaShlKSYmUG4ocyksMD09PXQmJm51bGwhPT1uP251bGw9PWk/UWwoZSxuLHMpOkpsKGUsbixzLGl8fG51bGwsITApOjE9PT10JiZudWxsIT09bj9KbChlLG4scyxpfHxudWxsLCEwKToyPT09dD9kYyhlLHMscik6Mz09PXQmJihuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckRlc3Ryb3lOb2RlKyssZS5kZXN0cm95Tm9kZShzKSksbnVsbCE9YSYmKGZ1bmN0aW9uIGEodCxlLG4sbyxpKXtuZ0Rldk1vZGUmJklvKG4pO2NvbnN0IGE9bls3XSxyPWxpKG4pO2EhPT1yJiZMbChlLHQsbyxhLGkpO2ZvcihsZXQgaT1PbztpPG4ubGVuZ3RoO2krKyl7Y29uc3Qgcj1uW2ldO21jKHJbMV0scix0LGUsbyxhKX19KShlLHQsYSxuLGkpfX1mdW5jdGlvbiBCbCh0LGUpe3JldHVybiBuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckNyZWF0ZVRleHROb2RlKyssbmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJTZXRUZXh0KysscmkodCk/dC5jcmVhdGVUZXh0KGUpOnQuY3JlYXRlVGV4dE5vZGUoZSl9ZnVuY3Rpb24gVmwodCxlLG4pe25nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyU2V0VGV4dCsrLHJpKHQpP3Quc2V0VmFsdWUoZSxuKTplLnRleHRDb250ZW50PW59ZnVuY3Rpb24gamwodCxlKXtyZXR1cm4gbmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJDcmVhdGVDb21tZW50KyssdC5jcmVhdGVDb21tZW50KF9sKGUpKX1mdW5jdGlvbiBVbCh0LGUsbil7cmV0dXJuIG5nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyQ3JlYXRlRWxlbWVudCsrLHJpKHQpP3QuY3JlYXRlRWxlbWVudChlLG4pOm51bGw9PT1uP3QuY3JlYXRlRWxlbWVudChlKTp0LmNyZWF0ZUVsZW1lbnROUyhuLGUpfWZ1bmN0aW9uIFdsKHQsZSxuLG8pe25nRGV2TW9kZSYmRm8oZSksbmdEZXZNb2RlJiZJbyhuKTtjb25zdCBpPU9vK28sYT1uLmxlbmd0aDtvPjAmJihuW2ktMV1bNF09ZSksbzxhLU9vPyhlWzRdPW5baV0sZnIobixPbytvLGUpKToobi5wdXNoKGUpLGVbNF09bnVsbCksZVszXT1uO2NvbnN0IHI9ZVsxN107bnVsbCE9PXImJm4hPT1yJiYoZnVuY3Rpb24gcyh0LGUpe25nRGV2TW9kZSYmeG4oZSwiTFZpZXcgcmVxdWlyZWQiKSxuZ0Rldk1vZGUmJklvKHQpO2NvbnN0IG49dFs5XSxvPWVbM107bmdEZXZNb2RlJiZJbyhvKTtjb25zdCBpPW9bM11bMTZdO25nRGV2TW9kZSYmeG4oaSwiTWlzc2luZyBpbnNlcnRlZENvbXBvbmVudExWaWV3Iik7Y29uc3QgYT1lWzE2XTtuZ0Rldk1vZGUmJnhuKGEsIk1pc3NpbmcgZGVjbGFyZWRDb21wb25lbnRMVmlldyIpLGEhPT1pJiYodFsyXT0hMCk7bnVsbD09PW4/dFs5XT1bZV06bi5wdXNoKGUpfSkocixlKTtjb25zdCBsPWVbMTldO251bGwhPT1sJiZsLmluc2VydFZpZXcodCksZVsyXXw9MTI4fWZ1bmN0aW9uIEdsKHQsZSl7bmdEZXZNb2RlJiZJbyh0KSxuZ0Rldk1vZGUmJnhuKHRbOV0sIkEgcHJvamVjdGVkIHZpZXcgc2hvdWxkIGJlbG9uZyB0byBhIG5vbi1lbXB0eSBwcm9qZWN0ZWQgdmlld3MgY29sbGVjdGlvbiIpO2NvbnN0IG49dFs5XSxvPW4uaW5kZXhPZihlKSxpPWVbM107bmdEZXZNb2RlJiZJbyhpKSwxMDI0JmVbMl0mJihlWzJdJj0tMTAyNSx5aShpLC0xKSksbi5zcGxpY2UobywxKX1mdW5jdGlvbiBZbCh0LGUpe2lmKHQubGVuZ3RoPD1PbylyZXR1cm47Y29uc3Qgbj1PbytlLG89dFtuXTtpZihvKXtjb25zdCBpPW9bMTddO251bGwhPT1pJiZpIT09dCYmR2woaSxvKSxlPjAmJih0W24tMV1bNF09b1s0XSk7Y29uc3QgYT11cih0LE9vK2UpOyEoZnVuY3Rpb24gaSh0LGUpe21jKHQsZSxlWzExXSwyLG51bGwsbnVsbCksZVswXT1udWxsLGVbNl09bnVsbH0pKG9bMV0sbyk7Y29uc3Qgcj1hWzE5XTtudWxsIT09ciYmci5kZXRhY2hWaWV3KGFbMV0pLG9bM109bnVsbCxvWzRdPW51bGwsb1syXSY9LTEyOX1yZXR1cm4gb31mdW5jdGlvbiBxbCh0LGUpe2lmKCEoMjU2JmVbMl0pKXtjb25zdCBuPWVbMTFdO3JpKG4pJiZuLmRlc3Ryb3lOb2RlJiZtYyh0LGUsbiwzLG51bGwsbnVsbCksKGZ1bmN0aW9uIG4odCl7bGV0IGU9dFsxM107aWYoIWUpcmV0dXJuIFpsKHRbMV0sdCk7Zm9yKDtlOyl7bGV0IG49bnVsbDtpZihQbyhlKSluPWVbMTNdO2Vsc2V7bmdEZXZNb2RlJiZJbyhlKTtjb25zdCB0PWVbMTBdO3QmJihuPXQpfWlmKCFuKXtmb3IoO2UmJiFlWzRdJiZlIT09dDspUG8oZSkmJlpsKGVbMV0sZSksZT1lWzNdO251bGw9PT1lJiYoZT10KSxQbyhlKSYmWmwoZVsxXSxlKSxuPWUmJmVbNF19ZT1ufX0pKGUpfX1mdW5jdGlvbiBabCh0LGUpe2lmKCEoMjU2JmVbMl0pKXtlWzJdJj0tMTI5LGVbMl18PTI1NiwoZnVuY3Rpb24gbih0LGUpe2xldCBuO2lmKG51bGwhPXQmJm51bGwhPShuPXQuZGVzdHJveUhvb2tzKSlmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrPTIpe2NvbnN0IG89ZVtuW3RdXTtpZighKG8gaW5zdGFuY2VvZiBmYSkpe2NvbnN0IGU9blt0KzFdO2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kz0yKXtjb25zdCBuPW9bZVt0XV0saT1lW3QrMV07dGkoNCxuLGkpO3RyeXtpLmNhbGwobil9ZmluYWxseXt0aSg1LG4saSl9fWVsc2V7dGkoNCxvLGUpO3RyeXtlLmNhbGwobyl9ZmluYWxseXt0aSg1LG8sZSl9fX19fSkodCxlKSwoZnVuY3Rpb24gbyh0LGUpe2NvbnN0IG49dC5jbGVhbnVwLG89ZVs3XTtsZXQgaT0tMTtpZihudWxsIT09bilmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoLTE7dCs9MilpZigic3RyaW5nIj09dHlwZW9mIG5bdF0pe2NvbnN0IGE9blt0KzFdLHI9ImZ1bmN0aW9uIj09dHlwZW9mIGE/YShlKTpsaShlW2FdKSxzPW9baT1uW3QrMl1dLGw9blt0KzNdOyJib29sZWFuIj09dHlwZW9mIGw/ci5yZW1vdmVFdmVudExpc3RlbmVyKG5bdF0scyxsKTpsPj0wP29baT1sXSgpOm9baT0tbF0udW5zdWJzY3JpYmUoKSx0Kz0yfWVsc2V7Y29uc3QgZT1vW2k9blt0KzFdXTtuW3RdLmNhbGwoZSl9aWYobnVsbCE9PW8pe2ZvcihsZXQgdD1pKzE7dDxvLmxlbmd0aDt0Kyspe2NvbnN0IGU9b1t0XTtuZ0Rldk1vZGUmJnVuKGUsIkV4cGVjdGluZyBpbnN0YW5jZSBjbGVhbnVwIGZ1bmN0aW9uLiIpLGUoKX1lWzddPW51bGx9fSkodCxlKSwxPT09ZVsxXS50eXBlJiZyaShlWzExXSkmJihuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckRlc3Ryb3krKyxlWzExXS5kZXN0cm95KCkpO2NvbnN0IG49ZVsxN107aWYobnVsbCE9PW4mJndvKGVbM10pKXtuIT09ZVszXSYmR2wobixlKTtjb25zdCBvPWVbMTldO251bGwhPT1vJiZvLmRldGFjaFZpZXcodCl9fX1mdW5jdGlvbiBYbCh0LGUsbil7cmV0dXJuIEtsKHQsZS5wYXJlbnQsbil9ZnVuY3Rpb24gS2wodCxlLG4pe2xldCBvPWU7Zm9yKDtudWxsIT09byYmNDAmby50eXBlOylvPShlPW8pLnBhcmVudDtpZihudWxsPT09bylyZXR1cm4gblswXTtpZihuZ0Rldk1vZGUmJmdhKG8sNyksMiZvLmZsYWdzKXtuZ0Rldk1vZGUmJkVvKG8sbik7Y29uc3QgZT10LmRhdGFbby5kaXJlY3RpdmVTdGFydF0uZW5jYXBzdWxhdGlvbjtpZihlPT09V24uTm9uZXx8ZT09PVduLkVtdWxhdGVkKXJldHVybiBudWxsfXJldHVybiBkaShvLG4pfWZ1bmN0aW9uIEpsKHQsZSxuLG8saSl7bmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJJbnNlcnRCZWZvcmUrKyxyaSh0KT90Lmluc2VydEJlZm9yZShlLG4sbyxpKTplLmluc2VydEJlZm9yZShuLG8saSl9ZnVuY3Rpb24gUWwodCxlLG4pe25nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyQXBwZW5kQ2hpbGQrKyxuZ0Rldk1vZGUmJnhuKGUsInBhcmVudCBub2RlIG11c3QgYmUgZGVmaW5lZCIpLHJpKHQpP3QuYXBwZW5kQ2hpbGQoZSxuKTplLmFwcGVuZENoaWxkKG4pfWZ1bmN0aW9uICRsKHQsZSxuLG8saSl7bnVsbCE9PW8/SmwodCxlLG4sbyxpKTpRbCh0LGUsbil9ZnVuY3Rpb24gdGModCxlKXtyZXR1cm4gcmkodCk/dC5wYXJlbnROb2RlKGUpOmUucGFyZW50Tm9kZX1mdW5jdGlvbiBlYyh0LGUsbil7cmV0dXJuIGljKHQsZSxuKX1mdW5jdGlvbiBuYyh0LGUsbil7cmV0dXJuIDQwJnQudHlwZT9kaSh0LG4pOm51bGx9IShmdW5jdGlvbih0KXt0W3QuSW1wb3J0YW50PTFdPSJJbXBvcnRhbnQiLHRbdC5EYXNoQ2FzZT0yXT0iRGFzaENhc2UifSkoRWx8fChFbD17fSkpO2xldCBvYyxpYz1uYztmdW5jdGlvbiBhYyh0LGUpe2ljPXQsb2M9ZX1mdW5jdGlvbiByYyh0LGUsbixvKXtjb25zdCBpPVhsKHQsbyxlKSxhPWVbMTFdLHI9ZWMoby5wYXJlbnR8fGVbNl0sbyxlKTtpZihudWxsIT1pKWlmKEFycmF5LmlzQXJyYXkobikpZm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0KyspJGwoYSxpLG5bdF0sciwhMSk7ZWxzZSAkbChhLGksbixyLCExKTt2b2lkIDAhPT1vYyYmb2MoYSxvLGUsbixpKX1mdW5jdGlvbiBzYyh0LGUpe2lmKG51bGwhPT1lKXtuZ0Rldk1vZGUmJmdhKGUsNjMpO2NvbnN0IG49ZS50eXBlO2lmKDMmbilyZXR1cm4gZGkoZSx0KTtpZig0Jm4pcmV0dXJuIGNjKC0xLHRbZS5pbmRleF0pO2lmKDgmbil7Y29uc3Qgbj1lLmNoaWxkO2lmKG51bGwhPT1uKXJldHVybiBzYyh0LG4pO3tjb25zdCBuPXRbZS5pbmRleF07cmV0dXJuIHdvKG4pP2NjKC0xLG4pOmxpKG4pfX1pZigzMiZuKXtyZXR1cm4gVGwoZSx0KSgpfHxsaSh0W2UuaW5kZXhdKX17Y29uc3Qgbj1sYyh0LGUpO2lmKG51bGwhPT1uKXtpZihBcnJheS5pc0FycmF5KG4pKXJldHVybiBuWzBdO2NvbnN0IGU9TmwodFsxNl0pO3JldHVybiBuZ0Rldk1vZGUmJlVvKGUpLHNjKGUsbil9cmV0dXJuIHNjKHQsZS5uZXh0KX19cmV0dXJuIG51bGx9ZnVuY3Rpb24gbGModCxlKXtpZihudWxsIT09ZSl7Y29uc3Qgbj10WzE2XVs2XSxvPWUucHJvamVjdGlvbjtyZXR1cm4gbmdEZXZNb2RlJiYoZnVuY3Rpb24gbih0LGUpe3huKHRbMTZdLCJDb21wb25lbnQgdmlld3Mgc2hvdWxkIGV4aXN0LiIpLHhuKHRbMTZdWzZdLnByb2plY3Rpb24sZXx8IkNvbXBvbmVudHMgd2l0aCBwcm9qZWN0aW9uIG5vZGVzICg8bmctY29udGVudD4pIG11c3QgaGF2ZSBwcm9qZWN0aW9uIHNsb3RzIGRlZmluZWQuIil9KSh0KSxuLnByb2plY3Rpb25bb119cmV0dXJuIG51bGx9ZnVuY3Rpb24gY2ModCxlKXtjb25zdCBuPU9vK3QrMTtpZihuPGUubGVuZ3RoKXtjb25zdCB0PWVbbl0sbz10WzFdLmZpcnN0Q2hpbGQ7aWYobnVsbCE9PW8pcmV0dXJuIHNjKHQsbyl9cmV0dXJuIGVbN119ZnVuY3Rpb24gZGModCxlLG4pe25nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyUmVtb3ZlTm9kZSsrO2NvbnN0IG89dGModCxlKTtvJiYoZnVuY3Rpb24gaSh0LGUsbixvKXtyaSh0KT90LnJlbW92ZUNoaWxkKGUsbixvKTplLnJlbW92ZUNoaWxkKG4pfSkodCxvLGUsbil9ZnVuY3Rpb24gcGModCxlLG4sbyxpLGEscil7Zm9yKDtudWxsIT1uOyl7bmdEZXZNb2RlJiZFbyhuLG8pLG5nRGV2TW9kZSYmZ2Eobiw2Myk7Y29uc3Qgcz1vW24uaW5kZXhdLGw9bi50eXBlO2lmKHImJjA9PT1lJiYocyYmYWwobGkocyksbyksbi5mbGFnc3w9NCksNjQhPSg2NCZuLmZsYWdzKSlpZig4JmwpcGModCxlLG4uY2hpbGQsbyxpLGEsITEpLExsKGUsdCxpLHMsYSk7ZWxzZSBpZigzMiZsKXtjb25zdCByPVRsKG4sbyk7bGV0IGw7Zm9yKDtsPXIoKTspTGwoZSx0LGksbCxhKTtMbChlLHQsaSxzLGEpfWVsc2UgMTYmbD9mYyh0LGUsbyxuLGksYSk6KG5nRGV2TW9kZSYmZ2Eobiw3KSxMbChlLHQsaSxzLGEpKTtuPXI/bi5wcm9qZWN0aW9uTmV4dDpuLm5leHR9fWZ1bmN0aW9uIG1jKHQsZSxuLG8saSxhKXtwYyhuLG8sdC5maXJzdENoaWxkLGUsaSxhLCExKX1mdW5jdGlvbiBmYyh0LGUsbixvLGksYSl7Y29uc3Qgcj1uWzE2XSxzPXJbNl07bmdEZXZNb2RlJiZnbih0eXBlb2Ygby5wcm9qZWN0aW9uLCJudW1iZXIiLCJleHBlY3RpbmcgcHJvamVjdGlvbiBpbmRleCIpO2NvbnN0IGw9cy5wcm9qZWN0aW9uW28ucHJvamVjdGlvbl07aWYoQXJyYXkuaXNBcnJheShsKSlmb3IobGV0IG49MDtuPGwubGVuZ3RoO24rKyl7TGwoZSx0LGksbFtuXSxhKX1lbHNle3BjKHQsZSxsLHJbM10saSxhLCEwKX19ZnVuY3Rpb24gdWModCxlLG4pe25nRGV2TW9kZSYmZm4obiwiJ25ld1ZhbHVlJyBzaG91bGQgYmUgYSBzdHJpbmciKSxyaSh0KT90LnNldEF0dHJpYnV0ZShlLCJzdHlsZSIsbik6ZS5zdHlsZS5jc3NUZXh0PW4sbmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJTZXRTdHlsZSsrfWZ1bmN0aW9uIGdjKHQsZSxuKXtuZ0Rldk1vZGUmJmZuKG4sIiduZXdWYWx1ZScgc2hvdWxkIGJlIGEgc3RyaW5nIikscmkodCk/IiI9PT1uP3QucmVtb3ZlQXR0cmlidXRlKGUsImNsYXNzIik6dC5zZXRBdHRyaWJ1dGUoZSwiY2xhc3MiLG4pOmUuY2xhc3NOYW1lPW4sbmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJTZXRDbGFzc05hbWUrK30KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gaGModCxlLG4pe25nRGV2TW9kZSYmaG4oZSwiIiwnY2FuIG5vdCBsb29rIGZvciAiIiBzdHJpbmcuJyk7bGV0IG89dC5sZW5ndGg7Zm9yKDs7KXtjb25zdCBpPXQuaW5kZXhPZihlLG4pO2lmKC0xPT09aSlyZXR1cm4gaTtpZigwPT09aXx8dC5jaGFyQ29kZUF0KGktMSk8PTMyKXtjb25zdCBuPWUubGVuZ3RoO2lmKGkrbj09PW98fHQuY2hhckNvZGVBdChpK24pPD0zMilyZXR1cm4gaX1uPWkrMX19Y29uc3QgYmM9Im5nLXRlbXBsYXRlIjtmdW5jdGlvbiB5Yyh0LGUsbil7bmdEZXZNb2RlJiZnbihlLGUudG9Mb3dlckNhc2UoKSwiQ2xhc3MgbmFtZSBleHBlY3RlZCB0byBiZSBsb3dlcmNhc2UuIik7bGV0IG89MDtmb3IoO288dC5sZW5ndGg7KXtsZXQgaT10W28rK107aWYobiYmImNsYXNzIj09PWkpe2lmKGk9dFtvXSwtMSE9PWhjKGkudG9Mb3dlckNhc2UoKSxlLDApKXJldHVybiEwfWVsc2UgaWYoMT09PWkpe2Zvcig7bzx0Lmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZihpPXRbbysrXSk7KWlmKGkudG9Mb3dlckNhc2UoKT09PWUpcmV0dXJuITA7cmV0dXJuITF9fXJldHVybiExfWZ1bmN0aW9uIF9jKHQpe3JldHVybiA0PT09dC50eXBlJiZ0LnZhbHVlIT09YmN9ZnVuY3Rpb24gQ2ModCxlLG4pe3JldHVybiBlPT09KDQhPT10LnR5cGV8fG4/dC52YWx1ZTpiYyl9ZnVuY3Rpb24gTWModCxlLG4pe25nRGV2TW9kZSYmeG4oZVswXSwiU2VsZWN0b3Igc2hvdWxkIGhhdmUgYSB0YWcgbmFtZSIpO2xldCBvPTQ7Y29uc3QgaT10LmF0dHJzfHxbXSxhPShmdW5jdGlvbiByKHQpe2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtpZihiYSh0W2VdKSlyZXR1cm4gZX1yZXR1cm4gdC5sZW5ndGh9KShpKTtsZXQgcz0hMTtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyl7Y29uc3QgbD1lW3JdO2lmKCJudW1iZXIiIT10eXBlb2YgbCl7aWYoIXMpaWYoNCZvKXtpZihvPTJ8MSZvLCIiIT09bCYmIUNjKHQsbCxuKXx8IiI9PT1sJiYxPT09ZS5sZW5ndGgpe2lmKHZjKG8pKXJldHVybiExO3M9ITB9fWVsc2V7Y29uc3QgYz04Jm8/bDplWysrcl07aWYoOCZvJiZudWxsIT09dC5hdHRycyl7aWYoIXljKHQuYXR0cnMsYyxuKSl7aWYodmMobykpcmV0dXJuITE7cz0hMH1jb250aW51ZX1jb25zdCBkPXhjKDgmbz8iY2xhc3MiOmwsaSxfYyh0KSxuKTtpZigtMT09PWQpe2lmKHZjKG8pKXJldHVybiExO3M9ITA7Y29udGludWV9aWYoIiIhPT1jKXtsZXQgdDtkPmE/dD0iIjoobmdEZXZNb2RlJiZobihpW2RdLDAsIldlIGRvIG5vdCBtYXRjaCBkaXJlY3RpdmVzIG9uIG5hbWVzcGFjZWQgYXR0cmlidXRlcyIpLHQ9aVtkKzFdLnRvTG93ZXJDYXNlKCkpO2NvbnN0IGU9OCZvP3Q6bnVsbDtpZihlJiYtMSE9PWhjKGUsYywwKXx8MiZvJiZjIT09dCl7aWYodmMobykpcmV0dXJuITE7cz0hMH19fX1lbHNle2lmKCFzJiYhdmMobykmJiF2YyhsKSlyZXR1cm4hMTtpZihzJiZ2YyhsKSljb250aW51ZTtzPSExLG89bHwxJm99fXJldHVybiB2YyhvKXx8c31mdW5jdGlvbiB2Yyh0KXtyZXR1cm4gMD09KDEmdCl9ZnVuY3Rpb24geGModCxlLG4sbyl7aWYobnVsbD09PWUpcmV0dXJuLTE7bGV0IGk9MDtpZihvfHwhbil7bGV0IG49ITE7Zm9yKDtpPGUubGVuZ3RoOyl7Y29uc3Qgbz1lW2ldO2lmKG89PT10KXJldHVybiBpO2lmKDM9PT1vfHw2PT09byluPSEwO2Vsc2V7aWYoMT09PW98fDI9PT1vKXtsZXQgdD1lWysraV07Zm9yKDsic3RyaW5nIj09dHlwZW9mIHQ7KXQ9ZVsrK2ldO2NvbnRpbnVlfWlmKDQ9PT1vKWJyZWFrO2lmKDA9PT1vKXtpKz00O2NvbnRpbnVlfX1pKz1uPzE6Mn1yZXR1cm4tMX1yZXR1cm4oZnVuY3Rpb24gYSh0LGUpe2xldCBuPXQuaW5kZXhPZig0KTtpZihuPi0xKWZvcihuKys7bjx0Lmxlbmd0aDspe2NvbnN0IG89dFtuXTtpZigibnVtYmVyIj09dHlwZW9mIG8pcmV0dXJuLTE7aWYobz09PWUpcmV0dXJuIG47bisrfXJldHVybi0xfSkoZSx0KX1mdW5jdGlvbiBPYyh0LGUsbj0hMSl7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspaWYoTWModCxlW29dLG4pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIFBjKHQsZSl7dDpmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl7Y29uc3Qgbz1lW25dO2lmKHQubGVuZ3RoPT09by5sZW5ndGgpe2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKHRbZV0hPT1vW2VdKWNvbnRpbnVlIHQ7cmV0dXJuITB9fXJldHVybiExfWZ1bmN0aW9uIHdjKHQsZSl7cmV0dXJuIHQ/Ijpub3QoIitlLnRyaW0oKSsiKSI6ZX1mdW5jdGlvbiBrYyh0KXtsZXQgZT10WzBdLG49MSxvPTIsaT0iIixhPSExO2Zvcig7bjx0Lmxlbmd0aDspe2xldCByPXRbbl07aWYoInN0cmluZyI9PXR5cGVvZiByKWlmKDImbyl7Y29uc3QgZT10Wysrbl07aSs9IlsiK3IrKGUubGVuZ3RoPjA/Jz0iJytlKyciJzoiIikrIl0ifWVsc2UgOCZvP2krPSIuIityOjQmbyYmKGkrPSIgIityKTtlbHNlIiI9PT1pfHx2YyhyKXx8KGUrPXdjKGEsaSksaT0iIiksbz1yLGE9YXx8IXZjKG8pO24rK31yZXR1cm4iIiE9PWkmJihlKz13YyhhLGkpKSxlfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgU2M9InVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZT97X19icmFuZF9fOiJOT19DSEFOR0UifTp7fTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gRGModCl7bmdEZXZNb2RlJiZNbih0LDAsIkNhbiBvbmx5IGFkdmFuY2UgZm9yd2FyZCIpLFJjKE9pKCkseGkoKSx0YSgpK3QsQWkoKSl9ZnVuY3Rpb24gUmModCxlLG4sbyl7aWYobmdEZXZNb2RlJiYoZnVuY3Rpb24gaSh0LGUpe2pvKHZvLHRbMV0uYmluZGluZ1N0YXJ0SW5kZXgsZSl9KShlLG4pLCFvKXtpZigzPT0oMyZlWzJdKSl7Y29uc3Qgbz10LnByZU9yZGVyQ2hlY2tIb29rcztudWxsIT09byYmc2EoZSxvLG4pfWVsc2V7Y29uc3Qgbz10LnByZU9yZGVySG9va3M7bnVsbCE9PW8mJmxhKGUsbywwLG4pfX1lYShuKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gRWModCxlKXtyZXR1cm4gbmdEZXZNb2RlJiZtbih0LDAsMzI3NjcpLG5nRGV2TW9kZSYmbW4oZSwwLDMyNzY3KSx0PDwxN3xlPDwyfWZ1bmN0aW9uIEFjKHQpe3JldHVybiBuZ0Rldk1vZGUmJnBuKHQsImV4cGVjdGVkIG51bWJlciIpLHQ+PjE3JjMyNzY3fWZ1bmN0aW9uIFRjKHQpe3JldHVybiBuZ0Rldk1vZGUmJnBuKHQsImV4cGVjdGVkIG51bWJlciIpLDI9PSgyJnQpfWZ1bmN0aW9uIE5jKHQpe3JldHVybiBuZ0Rldk1vZGUmJnBuKHQsImV4cGVjdGVkIG51bWJlciIpLDJ8dH1mdW5jdGlvbiB6Yyh0KXtyZXR1cm4gbmdEZXZNb2RlJiZwbih0LCJleHBlY3RlZCBudW1iZXIiKSwoMTMxMDY4JnQpPj4yfWZ1bmN0aW9uIEljKHQsZSl7cmV0dXJuIG5nRGV2TW9kZSYmcG4odCwiZXhwZWN0ZWQgbnVtYmVyIiksbmdEZXZNb2RlJiZtbihlLDAsMzI3NjcpLC0xMzEwNjkmdHxlPDwyfWZ1bmN0aW9uIEhjKHQpe3JldHVybiBuZ0Rldk1vZGUmJnBuKHQsImV4cGVjdGVkIG51bWJlciIpLDE9PSgxJnQpfWZ1bmN0aW9uIEZjKHQpe3JldHVybiBuZ0Rldk1vZGUmJnBuKHQsImV4cGVjdGVkIG51bWJlciIpLDF8dH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gTGModCxlKXtpZighbmdEZXZNb2RlKXRocm93IG5ldyBFcnJvcigiVGhpcyBtZXRob2Qgc2hvdWxkIGJlIGd1YXJkZWQgd2l0aCBgbmdEZXZNb2RlYCBzbyB0aGF0IGl0IGNhbiBiZSB0cmVlIHNoYWtlbiBpbiBwcm9kdWN0aW9uISIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJkZWJ1ZyIse3ZhbHVlOmUsZW51bWVyYWJsZTohMX0pfWZ1bmN0aW9uIEJjKHQsZSl7aWYoIW5nRGV2TW9kZSl0aHJvdyBuZXcgRXJyb3IoIlRoaXMgbWV0aG9kIHNob3VsZCBiZSBndWFyZGVkIHdpdGggYG5nRGV2TW9kZWAgc28gdGhhdCBpdCBjYW4gYmUgdHJlZSBzaGFrZW4gaW4gcHJvZHVjdGlvbiEiKTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiZGVidWciLHtnZXQ6ZSxlbnVtZXJhYmxlOiExfSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFZjPSgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8ISFuZ0Rldk1vZGUpJiZLbigpO2xldCBqYyxVYyxXYztmdW5jdGlvbiBHYyh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0LG4pe3N3aXRjaCh0KXtjYXNlIDA6cmV0dXJuIHZvaWQgMD09PVdjJiYoV2M9bmV3KENsKCJMUm9vdFZpZXciKSkpLFdjO2Nhc2UgMTp2b2lkIDA9PT1qYyYmKGpjPW5ldyBNYXApO2xldCB0PWpjLmdldChuKTtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9bmV3KENsKCJMQ29tcG9uZW50VmlldyIrWWMobikpKSxqYy5zZXQobix0KSksdDtjYXNlIDI6dm9pZCAwPT09VWMmJihVYz1uZXcgTWFwKTtsZXQgZT1VYy5nZXQobik7cmV0dXJuIHZvaWQgMD09PWUmJihlPW5ldyhDbCgiTEVtYmVkZGVkVmlldyIrWWMobikpKSxVYy5zZXQobixlKSksZX19KSh0LnR5cGUsdC50ZW1wbGF0ZSYmdC50ZW1wbGF0ZS5uYW1lKS5jb25jYXQodC5ibHVlcHJpbnQpfWZ1bmN0aW9uIFljKHQpe2lmKG51bGw9PXQpcmV0dXJuIiI7Y29uc3QgZT10Lmxhc3RJbmRleE9mKCJfVGVtcGxhdGUiKTtyZXR1cm4iXyIrKC0xPT09ZT90OnQuc3Vic3RyKDAsZSkpfWNvbnN0IHFjPWNsYXNze2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCxiLHksXyxDLE0sdix4LE8sUCx3LGssUyxELFIsRSl7dGhpcy50Vmlld189dCx0aGlzLnR5cGU9ZSx0aGlzLmluZGV4PW4sdGhpcy5pbnNlcnRCZWZvcmVJbmRleD1vLHRoaXMuaW5qZWN0b3JJbmRleD1pLHRoaXMuZGlyZWN0aXZlU3RhcnQ9YSx0aGlzLmRpcmVjdGl2ZUVuZD1yLHRoaXMuZGlyZWN0aXZlU3R5bGluZ0xhc3Q9cyx0aGlzLnByb3BlcnR5QmluZGluZ3M9bCx0aGlzLmZsYWdzPWMsdGhpcy5wcm92aWRlckluZGV4ZXM9ZCx0aGlzLnZhbHVlPXAsdGhpcy5hdHRycz1tLHRoaXMubWVyZ2VkQXR0cnM9Zix0aGlzLmxvY2FsTmFtZXM9dSx0aGlzLmluaXRpYWxJbnB1dHM9Zyx0aGlzLmlucHV0cz1oLHRoaXMub3V0cHV0cz1iLHRoaXMudFZpZXdzPXksdGhpcy5uZXh0PV8sdGhpcy5wcm9qZWN0aW9uTmV4dD1DLHRoaXMuY2hpbGQ9TSx0aGlzLnBhcmVudD12LHRoaXMucHJvamVjdGlvbj14LHRoaXMuc3R5bGVzPU8sdGhpcy5zdHlsZXNXaXRob3V0SG9zdD1QLHRoaXMucmVzaWR1YWxTdHlsZXM9dyx0aGlzLmNsYXNzZXM9ayx0aGlzLmNsYXNzZXNXaXRob3V0SG9zdD1TLHRoaXMucmVzaWR1YWxDbGFzc2VzPUQsdGhpcy5jbGFzc0JpbmRpbmdzPVIsdGhpcy5zdHlsZUJpbmRpbmdzPUV9ZGVidWdOb2RlSW5qZWN0b3JQYXRoKHQpe2NvbnN0IGU9W107bGV0IG49RGEodGhpcyx0KTtpZigtMT09PW4pe2NvbnN0IGU9UmEodGhpcyx0KTtlIT09bWEmJihuPXZhKGUpLHQ9eGEoZSx0KSl9Zm9yKDstMSE9PW47KXtuZ0Rldk1vZGUmJldvKHQsbik7ZS5wdXNoKHBkKHRbMV0uZGF0YVtuKzhdLHQpKTtjb25zdCBvPXRbbis4XTtvPT09bWE/bj0tMToobj12YShvKSx0PXhhKG8sdCkpfXJldHVybiBlfWdldCB0eXBlXygpe3JldHVybiB1YSh0aGlzLnR5cGUpfHxgVE5vZGVUeXBlLj8ke3RoaXMudHlwZX0/YH1nZXQgZmxhZ3NfKCl7Y29uc3QgdD1bXTtyZXR1cm4gMTYmdGhpcy5mbGFncyYmdC5wdXNoKCJUTm9kZUZsYWdzLmhhc0NsYXNzSW5wdXQiKSw4JnRoaXMuZmxhZ3MmJnQucHVzaCgiVE5vZGVGbGFncy5oYXNDb250ZW50UXVlcnkiKSwzMiZ0aGlzLmZsYWdzJiZ0LnB1c2goIlROb2RlRmxhZ3MuaGFzU3R5bGVJbnB1dCIpLDEyOCZ0aGlzLmZsYWdzJiZ0LnB1c2goIlROb2RlRmxhZ3MuaGFzSG9zdEJpbmRpbmdzIiksMiZ0aGlzLmZsYWdzJiZ0LnB1c2goIlROb2RlRmxhZ3MuaXNDb21wb25lbnRIb3N0IiksMSZ0aGlzLmZsYWdzJiZ0LnB1c2goIlROb2RlRmxhZ3MuaXNEaXJlY3RpdmVIb3N0IiksNjQmdGhpcy5mbGFncyYmdC5wdXNoKCJUTm9kZUZsYWdzLmlzRGV0YWNoZWQiKSw0JnRoaXMuZmxhZ3MmJnQucHVzaCgiVE5vZGVGbGFncy5pc1Byb2plY3RlZCIpLHQuam9pbigifCIpfWdldCB0ZW1wbGF0ZV8oKXtpZigxJnRoaXMudHlwZSlyZXR1cm4gdGhpcy52YWx1ZTtjb25zdCB0PVtdLGU9InN0cmluZyI9PXR5cGVvZiB0aGlzLnZhbHVlJiZ0aGlzLnZhbHVlfHx0aGlzLnR5cGVfO2lmKHQucHVzaCgiPCIsZSksdGhpcy5mbGFncyYmdC5wdXNoKCIgIix0aGlzLmZsYWdzXyksdGhpcy5hdHRycylmb3IobGV0IGU9MDtlPHRoaXMuYXR0cnMubGVuZ3RoOyl7Y29uc3Qgbj10aGlzLmF0dHJzW2UrK107aWYoIm51bWJlciI9PXR5cGVvZiBuKWJyZWFrO2NvbnN0IG89dGhpcy5hdHRyc1tlKytdO3QucHVzaCgiICIsbiwnPSInLG8sJyInKX1yZXR1cm4gdC5wdXNoKCI+IiksWGModGhpcy5jaGlsZCx0KSx0LnB1c2goIjwvIixlLCI+IiksdC5qb2luKCIiKX1nZXQgc3R5bGVCaW5kaW5nc18oKXtyZXR1cm4gWmModGhpcywhMSl9Z2V0IGNsYXNzQmluZGluZ3NfKCl7cmV0dXJuIFpjKHRoaXMsITApfWdldCBwcm92aWRlckluZGV4U3RhcnRfKCl7cmV0dXJuIDEwNDg1NzUmdGhpcy5wcm92aWRlckluZGV4ZXN9Z2V0IHByb3ZpZGVySW5kZXhFbmRfKCl7cmV0dXJuIHRoaXMucHJvdmlkZXJJbmRleFN0YXJ0XysodGhpcy5wcm92aWRlckluZGV4ZXM+Pj4yMCl9fTtmdW5jdGlvbiBaYyh0LGUpe2NvbnN0IG49dC50Vmlld18uZGF0YSxvPVtdLGk9ZT90LmNsYXNzQmluZGluZ3M6dC5zdHlsZUJpbmRpbmdzLGE9QWMoaSkscj16YyhpKTtsZXQgcz0wIT09cixsPXM/cjphO2Zvcig7MCE9PWw7KXtjb25zdCB0PW5bbCsxXTtvLnVuc2hpZnQoe2tleTpuW2xdLGluZGV4OmwsaXNUZW1wbGF0ZTpzLHByZXZEdXBsaWNhdGU6VGModCksbmV4dER1cGxpY2F0ZTpIYyh0KSxuZXh0SW5kZXg6emModCkscHJldkluZGV4OkFjKHQpfSksbD09PWEmJihzPSExKSxsPUFjKHQpfXJldHVybiBvLnB1c2goKGU/dC5yZXNpZHVhbENsYXNzZXM6dC5yZXNpZHVhbFN0eWxlcyl8fG51bGwpLG99ZnVuY3Rpb24gWGModCxlKXtmb3IoO3Q7KWUucHVzaCh0LnRlbXBsYXRlXyksdD10Lm5leHR9Y29uc3QgS2M9VmMmJkNsKCJUVmlld0RhdGEiKXx8bnVsbDtsZXQgSmM7Y29uc3QgUWM9VmMmJkNsKCJMVmlld0JsdWVwcmludCIpfHxudWxsLCRjPVZjJiZDbCgiTWF0Y2hlc0FycmF5Iil8fG51bGwsdGQ9VmMmJkNsKCJUVmlld0NvbXBvbmVudHMiKXx8bnVsbCxlZD1WYyYmQ2woIlROb2RlTG9jYWxOYW1lcyIpfHxudWxsLG5kPVZjJiZDbCgiVE5vZGVJbml0aWFsSW5wdXRzIil8fG51bGw7VmMmJkNsKCJUTm9kZUluaXRpYWxEYXRhIik7Y29uc3Qgb2Q9VmMmJkNsKCJMQ2xlYW51cCIpfHxudWxsLGlkPVZjJiZDbCgiVENsZWFudXAiKXx8bnVsbDtmdW5jdGlvbiBhZCh0KXtpZih0KXtjb25zdCBlPXQuZGVidWc7cmV0dXJuIHhuKGUsIk9iamVjdCBkb2VzIG5vdCBoYXZlIGEgZGVidWcgcmVwcmVzZW50YXRpb24uIiksZX1yZXR1cm4gdH1mdW5jdGlvbiByZCh0LGU9ITEpe2NvbnN0IG49bGkodCk7aWYobilzd2l0Y2gobi5ub2RlVHlwZSl7Y2FzZSBOb2RlLlRFWFRfTk9ERTpyZXR1cm4gbi50ZXh0Q29udGVudDtjYXNlIE5vZGUuQ09NTUVOVF9OT0RFOnJldHVybmBceDNjIS0tJHtuLnRleHRDb250ZW50fS0tXHgzZWA7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpjb25zdCB0PW4ub3V0ZXJIVE1MO2lmKGUpcmV0dXJuIHQ7cmV0dXJuIHQuc3BsaXQoIj4iK24uaW5uZXJIVE1MKyI8IilbMF0rIj4ifXJldHVybiBudWxsfWNsYXNzIHNke2NvbnN0cnVjdG9yKHQpe3RoaXMuX3Jhd19sVmlldz10fWdldCBmbGFncygpe2NvbnN0IHQ9dGhpcy5fcmF3X2xWaWV3WzJdO3JldHVybntfX3Jhd19fZmxhZ3NfXzp0LGluaXRQaGFzZVN0YXRlOjMmdCxjcmVhdGlvbk1vZGU6ISEoNCZ0KSxmaXJzdFZpZXdQYXNzOiEhKDgmdCksY2hlY2tBbHdheXM6ISEoMTYmdCksZGlydHk6ISEoNjQmdCksYXR0YWNoZWQ6ISEoMTI4JnQpLGRlc3Ryb3llZDohISgyNTYmdCksaXNSb290OiEhKDUxMiZ0KSxpbmRleFdpdGhpbkluaXRQaGFzZTp0Pj4xMX19Z2V0IHBhcmVudCgpe3JldHVybiBhZCh0aGlzLl9yYXdfbFZpZXdbM10pfWdldCBob3N0SFRNTCgpe3JldHVybiByZCh0aGlzLl9yYXdfbFZpZXdbMF0sITApfWdldCBodG1sKCl7cmV0dXJuKHRoaXMubm9kZXN8fFtdKS5tYXAobGQpLmpvaW4oIiIpfWdldCBjb250ZXh0KCl7cmV0dXJuIHRoaXMuX3Jhd19sVmlld1s4XX1nZXQgbm9kZXMoKXtjb25zdCB0PXRoaXMuX3Jhd19sVmlldztyZXR1cm4gZGQodFsxXS5maXJzdENoaWxkLHQpfWdldCB0ZW1wbGF0ZSgpe3JldHVybiB0aGlzLnRWaWV3LnRlbXBsYXRlX31nZXQgdFZpZXcoKXtyZXR1cm4gdGhpcy5fcmF3X2xWaWV3WzFdfWdldCBjbGVhbnVwKCl7cmV0dXJuIHRoaXMuX3Jhd19sVmlld1s3XX1nZXQgaW5qZWN0b3IoKXtyZXR1cm4gdGhpcy5fcmF3X2xWaWV3WzldfWdldCByZW5kZXJlckZhY3RvcnkoKXtyZXR1cm4gdGhpcy5fcmF3X2xWaWV3WzEwXX1nZXQgcmVuZGVyZXIoKXtyZXR1cm4gdGhpcy5fcmF3X2xWaWV3WzExXX1nZXQgc2FuaXRpemVyKCl7cmV0dXJuIHRoaXMuX3Jhd19sVmlld1sxMl19Z2V0IGNoaWxkSGVhZCgpe3JldHVybiBhZCh0aGlzLl9yYXdfbFZpZXdbMTNdKX1nZXQgbmV4dCgpe3JldHVybiBhZCh0aGlzLl9yYXdfbFZpZXdbNF0pfWdldCBjaGlsZFRhaWwoKXtyZXR1cm4gYWQodGhpcy5fcmF3X2xWaWV3WzE0XSl9Z2V0IGRlY2xhcmF0aW9uVmlldygpe3JldHVybiBhZCh0aGlzLl9yYXdfbFZpZXdbMTVdKX1nZXQgcXVlcmllcygpe3JldHVybiB0aGlzLl9yYXdfbFZpZXdbMTldfWdldCB0SG9zdCgpe3JldHVybiB0aGlzLl9yYXdfbFZpZXdbNl19Z2V0IGRlY2xzKCl7cmV0dXJuIGNkKHRoaXMudFZpZXcsdGhpcy5fcmF3X2xWaWV3LHZvLHRoaXMudFZpZXcuYmluZGluZ1N0YXJ0SW5kZXgpfWdldCB2YXJzKCl7cmV0dXJuIGNkKHRoaXMudFZpZXcsdGhpcy5fcmF3X2xWaWV3LHRoaXMudFZpZXcuYmluZGluZ1N0YXJ0SW5kZXgsdGhpcy50Vmlldy5leHBhbmRvU3RhcnRJbmRleCl9Z2V0IGV4cGFuZG8oKXtyZXR1cm4gY2QodGhpcy50Vmlldyx0aGlzLl9yYXdfbFZpZXcsdGhpcy50Vmlldy5leHBhbmRvU3RhcnRJbmRleCx0aGlzLl9yYXdfbFZpZXcubGVuZ3RoKX1nZXQgY2hpbGRWaWV3cygpe2NvbnN0IHQ9W107bGV0IGU9dGhpcy5jaGlsZEhlYWQ7Zm9yKDtlOyl0LnB1c2goZSksZT1lLm5leHQ7cmV0dXJuIHR9fWZ1bmN0aW9uIGxkKHQpe2lmKCJFbGVtZW50Q29udGFpbmVyIj09PXQudHlwZSlyZXR1cm4odC5jaGlsZHJlbnx8W10pLm1hcChsZCkuam9pbigiIik7aWYoIkljdUNvbnRhaW5lciI9PT10LnR5cGUpdGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKTtyZXR1cm4gcmQodC5uYXRpdmUsITApfHwiIn1mdW5jdGlvbiBjZCh0LGUsbixvKXtsZXQgaT1bXTtmb3IobGV0IGE9bjthPG87YSsrKWkucHVzaCh7aW5kZXg6YSx0OnQuZGF0YVthXSxsOmVbYV19KTtyZXR1cm57c3RhcnQ6bixlbmQ6byxsZW5ndGg6by1uLGNvbnRlbnQ6aX19ZnVuY3Rpb24gZGQodCxlKXtpZih0KXtjb25zdCBuPVtdO2xldCBvPXQ7Zm9yKDtvOyluLnB1c2gocGQobyxlKSksbz1vLm5leHQ7cmV0dXJuIG59cmV0dXJuW119ZnVuY3Rpb24gcGQodCxlKXtjb25zdCBuPWxpKGVbdC5pbmRleF0pLG89W10saT1bXSxhPWVbMV07Zm9yKGxldCBuPXQuZGlyZWN0aXZlU3RhcnQ7bjx0LmRpcmVjdGl2ZUVuZDtuKyspe28ucHVzaChhLmRhdGFbbl0udHlwZSksaS5wdXNoKGVbbl0pfXJldHVybntodG1sOnJkKG4pLHR5cGU6dWEodC50eXBlKSx0Tm9kZTp0LG5hdGl2ZTpuLGNoaWxkcmVuOmRkKHQuY2hpbGQsZSksZmFjdG9yaWVzOm8saW5zdGFuY2VzOmksaW5qZWN0b3I6bWQodCxhLGUpLGdldCBpbmplY3RvclJlc29sdXRpb25QYXRoKCl7cmV0dXJuIHQuZGVidWdOb2RlSW5qZWN0b3JQYXRoKGUpfX19ZnVuY3Rpb24gbWQodCxlLG4pe2NvbnN0IG89W107Zm9yKGxldCBuPXQucHJvdmlkZXJJbmRleFN0YXJ0XztuPHQucHJvdmlkZXJJbmRleEVuZF87bisrKW8ucHVzaChlLmRhdGFbbl0pO2NvbnN0IGk9W107Zm9yKGxldCBuPXQucHJvdmlkZXJJbmRleEVuZF87bjx0LmRpcmVjdGl2ZUVuZDtuKyspaS5wdXNoKGUuZGF0YVtuXSk7cmV0dXJue2Jsb29tOnVkKG4sdC5pbmplY3RvckluZGV4KSxjdW11bGF0aXZlQmxvb206dWQoZS5kYXRhLHQuaW5qZWN0b3JJbmRleCkscHJvdmlkZXJzOmksdmlld1Byb3ZpZGVyczpvLHBhcmVudEluamVjdG9ySW5kZXg6blt0LnByb3ZpZGVySW5kZXhTdGFydF8tMV19fWZ1bmN0aW9uIGZkKHQsZSl7Y29uc3Qgbj10W2VdO2lmKCJudW1iZXIiIT10eXBlb2YgbilyZXR1cm4iPz8/Pz8/Pz8iO2NvbnN0IG89IjAwMDAwMDAwIituLnRvU3RyaW5nKDIpO3JldHVybiBvLnN1YnN0cmluZyhvLmxlbmd0aC04KX1mdW5jdGlvbiB1ZCh0LGUpe3JldHVybiBlPDA/Ik5PX05PREVfSU5KRUNUT1IiOmAke2ZkKHQsZSs3KX1fJHtmZCh0LGUrNil9XyR7ZmQodCxlKzUpfV8ke2ZkKHQsZSs0KX1fJHtmZCh0LGUrMyl9XyR7ZmQodCxlKzIpfV8ke2ZkKHQsZSsxKX1fJHtmZCh0LGUrMCl9YH1jbGFzcyBnZHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9yYXdfbENvbnRhaW5lcj10fWdldCBoYXNUcmFuc3BsYW50ZWRWaWV3cygpe3JldHVybiB0aGlzLl9yYXdfbENvbnRhaW5lclsyXX1nZXQgdmlld3MoKXtyZXR1cm4gdGhpcy5fcmF3X2xDb250YWluZXIuc2xpY2UoT28pLm1hcChhZCl9Z2V0IHBhcmVudCgpe3JldHVybiBhZCh0aGlzLl9yYXdfbENvbnRhaW5lclszXSl9Z2V0IG1vdmVkVmlld3MoKXtyZXR1cm4gdGhpcy5fcmF3X2xDb250YWluZXJbOV19Z2V0IGhvc3QoKXtyZXR1cm4gdGhpcy5fcmF3X2xDb250YWluZXJbMF19Z2V0IG5hdGl2ZSgpe3JldHVybiB0aGlzLl9yYXdfbENvbnRhaW5lcls3XX1nZXQgbmV4dCgpe3JldHVybiBhZCh0aGlzLl9yYXdfbENvbnRhaW5lcls0XSl9fWNvbnN0IGhkPVByb21pc2UucmVzb2x2ZShudWxsKTtmdW5jdGlvbiBiZCh0LGUpe2NvbnN0IG49dC5jb250ZW50UXVlcmllcztpZihudWxsIT09bilmb3IobGV0IG89MDtvPG4ubGVuZ3RoO28rPTIpe2NvbnN0IGk9bltvXSxhPW5bbysxXTtpZigtMSE9PWEpe2NvbnN0IG49dC5kYXRhW2FdO25nRGV2TW9kZSYmeG4obiwiRGlyZWN0aXZlRGVmIG5vdCBmb3VuZC4iKSxuZ0Rldk1vZGUmJnhuKG4uY29udGVudFF1ZXJpZXMsImNvbnRlbnRRdWVyaWVzIGZ1bmN0aW9uIHNob3VsZCBiZSBkZWZpbmVkIiksV2koaSksbi5jb250ZW50UXVlcmllcygyLGVbYV0sYSl9fX1mdW5jdGlvbiB5ZCh0LGUsbixvLGksYSxyLHMsbCxjKXtjb25zdCBkPW5nRGV2TW9kZT9HYyhlKTplLmJsdWVwcmludC5zbGljZSgpO3JldHVybiBkWzBdPWksZFsyXT0xNDB8byxiaShkKSxuZ0Rldk1vZGUmJmUuZGVjbFROb2RlJiZ0JiZFbyhlLmRlY2xUTm9kZSx0KSxkWzNdPWRbMTVdPXQsZFs4XT1uLGRbMTBdPXJ8fHQmJnRbMTBdLG5nRGV2TW9kZSYmeG4oZFsxMF0sIlJlbmRlcmVyRmFjdG9yeSBpcyByZXF1aXJlZCIpLGRbMTFdPXN8fHQmJnRbMTFdLG5nRGV2TW9kZSYmeG4oZFsxMV0sIlJlbmRlcmVyIGlzIHJlcXVpcmVkIiksZFsxMl09bHx8dCYmdFsxMl18fG51bGwsZFs5XT1jfHx0JiZ0WzldfHxudWxsLGRbNl09YSxuZ0Rldk1vZGUmJmduKDIhPWUudHlwZXx8bnVsbCE9PXQsITAsIkVtYmVkZGVkIHZpZXdzIG11c3QgaGF2ZSBwYXJlbnRMVmlldyIpLGRbMTZdPTI9PWUudHlwZT90WzE2XTpkLG5nRGV2TW9kZSYmKGZ1bmN0aW9uIHAodCl7TGModCxuZXcgc2QodCkpfSkoZCksZH1mdW5jdGlvbiBfZCh0LGUsbixvLGkpe25nRGV2TW9kZSYmMCE9PWUmJnZuKGUsdm8sIlROb2RlcyBjYW4ndCBiZSBpbiB0aGUgTFZpZXcgaGVhZGVyLiIpLG5nRGV2TW9kZSYmKGZ1bmN0aW9uIGEodCl7MiE9PXQmJjEhPT10JiY0IT09dCYmOCE9PXQmJjMyIT09dCYmMTYhPT10JiY2NCE9PXQmJk9uKGBFeHBlY3RlZCBUTm9kZVR5cGUgdG8gaGF2ZSBvbmx5IGEgc2luZ2xlIHR5cGUgc2VsZWN0ZWQsIGJ1dCBnb3QgJHt1YSh0KX0uYCl9KShuKTtsZXQgcj10LmRhdGFbZV07aWYobnVsbD09PXIpcj1DZCh0LGUsbixvLGkpLChmdW5jdGlvbiBzKCl7cmV0dXJuIF9pLmxGcmFtZS5pbkkxOG59KSgpJiYoci5mbGFnc3w9NjQpO2Vsc2UgaWYoNjQmci50eXBlKXtyLnR5cGU9bixyLnZhbHVlPW8sci5hdHRycz1pO2NvbnN0IGE9U2koKTtyLmluamVjdG9ySW5kZXg9bnVsbD09PWE/LTE6YS5pbmplY3RvckluZGV4LG5nRGV2TW9kZSYmQW8ocix0KSxuZ0Rldk1vZGUmJmduKGUsci5pbmRleCwiRXhwZWN0aW5nIHNhbWUgaW5kZXgiKX1yZXR1cm4gRGkociwhMCkscn1mdW5jdGlvbiBDZCh0LGUsbixvLGkpe2NvbnN0IGE9a2koKSxyPVJpKCkscz10LmRhdGFbZV09KGZ1bmN0aW9uIGwodCxlLG4sbyxpLGEpe25nRGV2TW9kZSYmMCE9PW8mJnZuKG8sdm8sIlROb2RlcyBjYW4ndCBiZSBpbiB0aGUgTFZpZXcgaGVhZGVyLiIpLG5nRGV2TW9kZSYmeW4oYSx2b2lkIDAsIid1bmRlZmluZWQnIGlzIG5vdCB2YWxpZCB2YWx1ZSBmb3IgJ2F0dHJzJyIpLG5nRGV2TW9kZSYmbmdEZXZNb2RlLnROb2RlKyssbmdEZXZNb2RlJiZlJiZBbyhlLHQpO2xldCByPWU/ZS5pbmplY3RvckluZGV4Oi0xO2NvbnN0IHM9bmdEZXZNb2RlP25ldyBxYyh0LG4sbyxudWxsLHIsLTEsLTEsLTEsbnVsbCwwLDAsaSxhLG51bGwsbnVsbCx2b2lkIDAsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsZSxudWxsLG51bGwsbnVsbCx2b2lkIDAsbnVsbCxudWxsLHZvaWQgMCwwLDApOnt0eXBlOm4saW5kZXg6byxpbnNlcnRCZWZvcmVJbmRleDpudWxsLGluamVjdG9ySW5kZXg6cixkaXJlY3RpdmVTdGFydDotMSxkaXJlY3RpdmVFbmQ6LTEsZGlyZWN0aXZlU3R5bGluZ0xhc3Q6LTEscHJvcGVydHlCaW5kaW5nczpudWxsLGZsYWdzOjAscHJvdmlkZXJJbmRleGVzOjAsdmFsdWU6aSxhdHRyczphLG1lcmdlZEF0dHJzOm51bGwsbG9jYWxOYW1lczpudWxsLGluaXRpYWxJbnB1dHM6dm9pZCAwLGlucHV0czpudWxsLG91dHB1dHM6bnVsbCx0Vmlld3M6bnVsbCxuZXh0Om51bGwscHJvamVjdGlvbk5leHQ6bnVsbCxjaGlsZDpudWxsLHBhcmVudDplLHByb2plY3Rpb246bnVsbCxzdHlsZXM6bnVsbCxzdHlsZXNXaXRob3V0SG9zdDpudWxsLHJlc2lkdWFsU3R5bGVzOnZvaWQgMCxjbGFzc2VzOm51bGwsY2xhc3Nlc1dpdGhvdXRIb3N0Om51bGwscmVzaWR1YWxDbGFzc2VzOnZvaWQgMCxjbGFzc0JpbmRpbmdzOjAsc3R5bGVCaW5kaW5nczowfTtuZ0Rldk1vZGUmJk9iamVjdC5zZWFsKHMpO3JldHVybiBzfSkodCxyP2E6YSYmYS5wYXJlbnQsbixlLG8saSk7cmV0dXJuIG51bGw9PT10LmZpcnN0Q2hpbGQmJih0LmZpcnN0Q2hpbGQ9cyksbnVsbCE9PWEmJihyP251bGw9PWEuY2hpbGQmJm51bGwhPT1zLnBhcmVudCYmKGEuY2hpbGQ9cyk6bnVsbD09PWEubmV4dCYmKGEubmV4dD1zKSksc31mdW5jdGlvbiBNZCh0LGUsbixvKXtpZigwPT09bilyZXR1cm4tMTtuZ0Rldk1vZGUmJihMbyh0KSxibih0LGVbMV0sImBMVmlld2AgbXVzdCBiZSBhc3NvY2lhdGVkIHdpdGggYFRWaWV3YCEiKSxnbih0LmRhdGEubGVuZ3RoLGUubGVuZ3RoLCJFeHBlY3RpbmcgTFZpZXcgdG8gYmUgc2FtZSBzaXplIGFzIFRWaWV3IiksZ24odC5kYXRhLmxlbmd0aCx0LmJsdWVwcmludC5sZW5ndGgsIkV4cGVjdGluZyBCbHVlcHJpbnQgdG8gYmUgc2FtZSBzaXplIGFzIFRWaWV3IiksQm8odCkpO2NvbnN0IGk9ZS5sZW5ndGg7Zm9yKGxldCBpPTA7aTxuO2krKyllLnB1c2gobyksdC5ibHVlcHJpbnQucHVzaChvKSx0LmRhdGEucHVzaChudWxsKTtyZXR1cm4gaX1mdW5jdGlvbiB2ZCh0LGUsbil7bmdEZXZNb2RlJiZnbih1aShlKSwhMCwiU2hvdWxkIGJlIHJ1biBpbiBjcmVhdGlvbiBtb2RlIikscWkoZSk7dHJ5e2NvbnN0IG89dC52aWV3UXVlcnk7bnVsbCE9PW8mJnNwKDEsbyxuKTtjb25zdCBpPXQudGVtcGxhdGU7bnVsbCE9PWkmJlBkKHQsZSxpLDEsbiksdC5maXJzdENyZWF0ZVBhc3MmJih0LmZpcnN0Q3JlYXRlUGFzcz0hMSksdC5zdGF0aWNDb250ZW50UXVlcmllcyYmYmQodCxlKSx0LnN0YXRpY1ZpZXdRdWVyaWVzJiZzcCgyLHQudmlld1F1ZXJ5LG4pO2NvbnN0IGE9dC5jb21wb25lbnRzO251bGwhPT1hJiYoZnVuY3Rpb24gbyh0LGUpe2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKWVwKHQsZVtuXSl9KShlLGEpfWNhdGNoKGUpe3Rocm93IHQuZmlyc3RDcmVhdGVQYXNzJiYodC5pbmNvbXBsZXRlRmlyc3RQYXNzPSEwLHQuZmlyc3RDcmVhdGVQYXNzPSExKSxlfWZpbmFsbHl7ZVsyXSY9LTUsUWkoKX19ZnVuY3Rpb24geGQodCxlLG4sbyl7bmdEZXZNb2RlJiZnbih1aShlKSwhMSwiU2hvdWxkIGJlIHJ1biBpbiB1cGRhdGUgbW9kZSIpO2NvbnN0IGk9ZVsyXTtpZigyNTY9PSgyNTYmaSkpcmV0dXJuO3FpKGUpO2NvbnN0IGE9QWkoKTt0cnl7YmkoZSksSWkodC5iaW5kaW5nU3RhcnRJbmRleCksbnVsbCE9PW4mJlBkKHQsZSxuLDIsbyk7Y29uc3Qgcj0zPT0oMyZpKTtpZighYSlpZihyKXtjb25zdCBuPXQucHJlT3JkZXJDaGVja0hvb2tzO251bGwhPT1uJiZzYShlLG4sbnVsbCl9ZWxzZXtjb25zdCBuPXQucHJlT3JkZXJIb29rcztudWxsIT09biYmbGEoZSxuLDAsbnVsbCksY2EoZSwwKX1pZigoZnVuY3Rpb24gcih0KXtmb3IobGV0IGU9SWwodCk7bnVsbCE9PWU7ZT1IbChlKSl7aWYoIWVbMl0pY29udGludWU7Y29uc3QgdD1lWzldO25nRGV2TW9kZSYmeG4odCwiVHJhbnNwbGFudGVkIFZpZXcgZmxhZ3Mgc2V0IGJ1dCBtaXNzaW5nIE1PVkVEX1ZJRVdTIik7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2NvbnN0IG49dFtlXSxvPW5bM107bmdEZXZNb2RlJiZJbyhvKSwwPT0oMTAyNCZuWzJdKSYmeWkobywxKSxuWzJdfD0xMDI0fX19KShlKSwoZnVuY3Rpb24gcyh0KXtmb3IobGV0IGU9SWwodCk7bnVsbCE9PWU7ZT1IbChlKSlmb3IobGV0IHQ9T287dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XSxvPW5bMV07bmdEZXZNb2RlJiZ4bihvLCJUVmlldyBtdXN0IGJlIGFsbG9jYXRlZCIpLGdpKG4pJiZ4ZChvLG4sby50ZW1wbGF0ZSxuWzhdKX19KShlKSxudWxsIT09dC5jb250ZW50UXVlcmllcyYmYmQodCxlKSwhYSlpZihyKXtjb25zdCBuPXQuY29udGVudENoZWNrSG9va3M7bnVsbCE9PW4mJnNhKGUsbil9ZWxzZXtjb25zdCBuPXQuY29udGVudEhvb2tzO251bGwhPT1uJiZsYShlLG4sMSksY2EoZSwxKX0hKGZ1bmN0aW9uIGwodCxlKXtjb25zdCBuPXQuaG9zdEJpbmRpbmdPcENvZGVzO2lmKG51bGwhPT1uKXRyeXtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7Y29uc3Qgbz1uW3RdO2lmKG88MCllYSh+byk7ZWxzZXtjb25zdCBpPW8sYT1uWysrdF0scj1uWysrdF07QmkoYSxpKSxyKDIsZVtpXSl9fX1maW5hbGx5e2VhKC0xKX19KSh0LGUpO2NvbnN0IHM9dC5jb21wb25lbnRzO251bGwhPT1zJiYoZnVuY3Rpb24gYyh0LGUpe2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKSRkKHQsZVtuXSl9KShlLHMpO2NvbnN0IGw9dC52aWV3UXVlcnk7aWYobnVsbCE9PWwmJnNwKDIsbCxvKSwhYSlpZihyKXtjb25zdCBuPXQudmlld0NoZWNrSG9va3M7bnVsbCE9PW4mJnNhKGUsbil9ZWxzZXtjb25zdCBuPXQudmlld0hvb2tzO251bGwhPT1uJiZsYShlLG4sMiksY2EoZSwyKX0hMD09PXQuZmlyc3RVcGRhdGVQYXNzJiYodC5maXJzdFVwZGF0ZVBhc3M9ITEpLGF8fChlWzJdJj0tNzMpLDEwMjQmZVsyXSYmKGVbMl0mPS0xMDI1LHlpKGVbM10sLTEpKX1maW5hbGx5e1FpKCl9fWZ1bmN0aW9uIE9kKHQsZSxuLG8pe2NvbnN0IGk9ZVsxMF0sYT0hQWkoKSxyPXVpKGUpO3RyeXthJiYhciYmaS5iZWdpbiYmaS5iZWdpbigpLHImJnZkKHQsZSxvKSx4ZCh0LGUsbixvKX1maW5hbGx5e2EmJiFyJiZpLmVuZCYmaS5lbmQoKX19ZnVuY3Rpb24gUGQodCxlLG4sbyxpKXtjb25zdCBhPXRhKCkscj0yJm87dHJ5e2VhKC0xKSxyJiZlLmxlbmd0aD52byYmUmModCxlLHZvLEFpKCkpO3RpKHI/MjowLGkpLG4obyxpKX1maW5hbGx5e2VhKGEpO3RpKHI/MzoxLGkpfX1mdW5jdGlvbiB3ZCh0LGUsbil7aWYoa28oZSkpe2NvbnN0IG89ZS5kaXJlY3RpdmVFbmQ7Zm9yKGxldCBpPWUuZGlyZWN0aXZlU3RhcnQ7aTxvO2krKyl7Y29uc3QgZT10LmRhdGFbaV07ZS5jb250ZW50UXVlcmllcyYmZS5jb250ZW50UXVlcmllcygxLG5baV0saSl9fX1mdW5jdGlvbiBrZCh0LGUsbil7Q2koKSYmKCEoZnVuY3Rpb24gbyh0LGUsbixpKXtjb25zdCBhPW4uZGlyZWN0aXZlU3RhcnQscj1uLmRpcmVjdGl2ZUVuZDt0LmZpcnN0Q3JlYXRlUGFzc3x8a2EobixlKTthbChpLGUpO2NvbnN0IHM9bi5pbml0aWFsSW5wdXRzO2ZvcihsZXQgbz1hO288cjtvKyspe2NvbnN0IGk9dC5kYXRhW29dLHI9Um8oaSk7ciYmKG5nRGV2TW9kZSYmZ2EobiwzKSxZZChlLG4saSkpO2NvbnN0IGw9TGEoZSx0LG8sbik7aWYoYWwobCxlKSxudWxsIT09cyYmWGQoZSxvLWEsbCxpLG4scykscil7Zmkobi5pbmRleCxlKVs4XT1sfX19KSh0LGUsbixkaShuLGUpKSwxMjg9PSgxMjgmbi5mbGFncykmJihmdW5jdGlvbiBpKHQsZSxuKXtjb25zdCBvPW4uZGlyZWN0aXZlU3RhcnQsaT1uLmRpcmVjdGl2ZUVuZDtjb25zdCBhPW4uaW5kZXgscj0oZnVuY3Rpb24gcygpe3JldHVybiBfaS5sRnJhbWUuY3VycmVudERpcmVjdGl2ZUluZGV4fSkoKTt0cnl7ZWEoYSk7Zm9yKGxldCBuPW87bjxpO24rKyl7Y29uc3Qgbz10LmRhdGFbbl0saT1lW25dO1ZpKG4pLG51bGw9PT1vLmhvc3RCaW5kaW5ncyYmMD09PW8uaG9zdFZhcnMmJm51bGw9PT1vLmhvc3RBdHRyc3x8VmQobyxpKX19ZmluYWxseXtlYSgtMSksVmkocil9fSkodCxlLG4pKX1mdW5jdGlvbiBTZCh0LGUsbj1kaSl7Y29uc3Qgbz1lLmxvY2FsTmFtZXM7aWYobnVsbCE9PW8pe2xldCBpPWUuaW5kZXgrMTtmb3IobGV0IGE9MDthPG8ubGVuZ3RoO2ErPTIpe2NvbnN0IHI9b1thKzFdLHM9LTE9PT1yP24oZSx0KTp0W3JdO3RbaSsrXT1zfX19ZnVuY3Rpb24gRGQodCl7Y29uc3QgZT10LnRWaWV3O2lmKG51bGw9PT1lfHxlLmluY29tcGxldGVGaXJzdFBhc3Mpe3JldHVybiB0LnRWaWV3PVJkKDEsbnVsbCx0LnRlbXBsYXRlLHQuZGVjbHMsdC52YXJzLHQuZGlyZWN0aXZlRGVmcyx0LnBpcGVEZWZzLHQudmlld1F1ZXJ5LHQuc2NoZW1hcyx0LmNvbnN0cyl9cmV0dXJuIGV9ZnVuY3Rpb24gUmQodCxlLG4sbyxpLGEscixzLGwsYyl7bmdEZXZNb2RlJiZuZ0Rldk1vZGUudFZpZXcrKztjb25zdCBkPXZvK28scD1kK2ksbT0oZnVuY3Rpb24gZih0LGUpe2NvbnN0IG49bmdEZXZNb2RlP25ldyBRYzpbXTtmb3IobGV0IG89MDtvPGU7bysrKW4ucHVzaChvPHQ/bnVsbDpTYyk7cmV0dXJuIG59KShkLHApLHU9ImZ1bmN0aW9uIj09dHlwZW9mIGM/YygpOmMsZz1tWzFdPW5nRGV2TW9kZT9uZXcgY2xhc3N7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoLGIseSxfLEMsTSx2LHgsTyxQLHcsayxTLEQsUixFKXt0aGlzLnR5cGU9dCx0aGlzLmJsdWVwcmludD1lLHRoaXMudGVtcGxhdGU9bix0aGlzLnF1ZXJpZXM9byx0aGlzLnZpZXdRdWVyeT1pLHRoaXMuZGVjbFROb2RlPWEsdGhpcy5kYXRhPXIsdGhpcy5iaW5kaW5nU3RhcnRJbmRleD1zLHRoaXMuZXhwYW5kb1N0YXJ0SW5kZXg9bCx0aGlzLmhvc3RCaW5kaW5nT3BDb2Rlcz1jLHRoaXMuZmlyc3RDcmVhdGVQYXNzPWQsdGhpcy5maXJzdFVwZGF0ZVBhc3M9cCx0aGlzLnN0YXRpY1ZpZXdRdWVyaWVzPW0sdGhpcy5zdGF0aWNDb250ZW50UXVlcmllcz1mLHRoaXMucHJlT3JkZXJIb29rcz11LHRoaXMucHJlT3JkZXJDaGVja0hvb2tzPWcsdGhpcy5jb250ZW50SG9va3M9aCx0aGlzLmNvbnRlbnRDaGVja0hvb2tzPWIsdGhpcy52aWV3SG9va3M9eSx0aGlzLnZpZXdDaGVja0hvb2tzPV8sdGhpcy5kZXN0cm95SG9va3M9Qyx0aGlzLmNsZWFudXA9TSx0aGlzLmNvbnRlbnRRdWVyaWVzPXYsdGhpcy5jb21wb25lbnRzPXgsdGhpcy5kaXJlY3RpdmVSZWdpc3RyeT1PLHRoaXMucGlwZVJlZ2lzdHJ5PVAsdGhpcy5maXJzdENoaWxkPXcsdGhpcy5zY2hlbWFzPWssdGhpcy5jb25zdHM9Uyx0aGlzLmluY29tcGxldGVGaXJzdFBhc3M9RCx0aGlzLl9kZWNscz1SLHRoaXMuX3ZhcnM9RX1nZXQgdGVtcGxhdGVfKCl7Y29uc3QgdD1bXTtyZXR1cm4gWGModGhpcy5maXJzdENoaWxkLHQpLHQuam9pbigiIil9Z2V0IHR5cGVfKCl7cmV0dXJuIHhvW3RoaXMudHlwZV18fGBUVmlld1R5cGUuPyR7dGhpcy50eXBlfT9gfX0odCxtLG4sbnVsbCxzLGUsKGZ1bmN0aW9uIGgodCl7cmV0dXJuIHZvaWQgMD09PUpjJiYoSmM9bmV3IEtjKSxKYy5jb25jYXQodCl9KShtKS5maWxsKG51bGwsZCksZCxwLG51bGwsITAsITAsITEsITEsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiZnVuY3Rpb24iPT10eXBlb2YgYT9hKCk6YSwiZnVuY3Rpb24iPT10eXBlb2Ygcj9yKCk6cixudWxsLGwsdSwhMSxvLGkpOnt0eXBlOnQsYmx1ZXByaW50Om0sdGVtcGxhdGU6bixxdWVyaWVzOm51bGwsdmlld1F1ZXJ5OnMsZGVjbFROb2RlOmUsZGF0YTptLnNsaWNlKCkuZmlsbChudWxsLGQpLGJpbmRpbmdTdGFydEluZGV4OmQsZXhwYW5kb1N0YXJ0SW5kZXg6cCxob3N0QmluZGluZ09wQ29kZXM6bnVsbCxmaXJzdENyZWF0ZVBhc3M6ITAsZmlyc3RVcGRhdGVQYXNzOiEwLHN0YXRpY1ZpZXdRdWVyaWVzOiExLHN0YXRpY0NvbnRlbnRRdWVyaWVzOiExLHByZU9yZGVySG9va3M6bnVsbCxwcmVPcmRlckNoZWNrSG9va3M6bnVsbCxjb250ZW50SG9va3M6bnVsbCxjb250ZW50Q2hlY2tIb29rczpudWxsLHZpZXdIb29rczpudWxsLHZpZXdDaGVja0hvb2tzOm51bGwsZGVzdHJveUhvb2tzOm51bGwsY2xlYW51cDpudWxsLGNvbnRlbnRRdWVyaWVzOm51bGwsY29tcG9uZW50czpudWxsLGRpcmVjdGl2ZVJlZ2lzdHJ5OiJmdW5jdGlvbiI9PXR5cGVvZiBhP2EoKTphLHBpcGVSZWdpc3RyeToiZnVuY3Rpb24iPT10eXBlb2Ygcj9yKCk6cixmaXJzdENoaWxkOm51bGwsc2NoZW1hczpsLGNvbnN0czp1LGluY29tcGxldGVGaXJzdFBhc3M6ITF9O3JldHVybiBuZ0Rldk1vZGUmJk9iamVjdC5zZWFsKGcpLGd9ZnVuY3Rpb24gRWQodCxlKXtyZXR1cm4gbmV3IEVycm9yKGBSZW5kZXJlcjogJHt0fSBbJHtzbihlKX1dYCl9ZnVuY3Rpb24gQWQodCxlLG4pe2lmKHJpKHQpKXtyZXR1cm4gdC5zZWxlY3RSb290RWxlbWVudChlLG49PT1Xbi5TaGFkb3dEb20pfWxldCBvPSJzdHJpbmciPT10eXBlb2YgZT90LnF1ZXJ5U2VsZWN0b3IoZSk6ZTtyZXR1cm4gbmdEZXZNb2RlJiYoZnVuY3Rpb24gaSh0LGUpe2lmKCF0KXRocm93IEVkKCJzdHJpbmciPT10eXBlb2YgZT8iSG9zdCBub2RlIHdpdGggc2VsZWN0b3Igbm90IGZvdW5kOiI6Ikhvc3Qgbm9kZSBpcyByZXF1aXJlZDoiLGUpfSkobyxlKSxvLnRleHRDb250ZW50PSIiLG99ZnVuY3Rpb24gVGQodCxlLG4sbyl7Y29uc3QgaT1kcChlKTtudWxsPT09bj8obmdEZXZNb2RlJiZPYmplY3QuZnJlZXplKHBwKHQpKSxpLnB1c2gobykpOihpLnB1c2gobiksdC5maXJzdENyZWF0ZVBhc3MmJnBwKHQpLnB1c2gobyxpLmxlbmd0aC0xKSl9ZnVuY3Rpb24gTmQodCxlLG4pe2ZvcihsZXQgbyBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkobykpe2NvbnN0IGk9dFtvXTsobj1udWxsPT09bj97fTpuKS5oYXNPd25Qcm9wZXJ0eShvKT9uW29dLnB1c2goZSxpKTpuW29dPVtlLGldfXJldHVybiBufWZ1bmN0aW9uIHpkKHQsZSxuLG8saSxhLHIscyl7bmdEZXZNb2RlJiZ5bihpLFNjLCJJbmNvbWluZyB2YWx1ZSBzaG91bGQgbmV2ZXIgYmUgTk9fQ0hBTkdFLiIpO2NvbnN0IGw9ZGkoZSxuKTtsZXQgYyxkPWUuaW5wdXRzO2lmKCFzJiZudWxsIT1kJiYoYz1kW29dKSl1cCh0LG4sYyxvLGkpLFNvKGUpJiYoZnVuY3Rpb24gcCh0LGUpe25nRGV2TW9kZSYmRm8odCk7Y29uc3Qgbj1maShlLHQpOzE2Jm5bMl18fChuWzJdfD02NCl9KShuLGUuaW5kZXgpLG5nRGV2TW9kZSYmKGZ1bmN0aW9uIG0odCxlLG4sbyxpKXtpZig3Jm4pZm9yKGxldCBhPTA7YTxvLmxlbmd0aDthKz0yKUlkKHQsZSxuLG9bYSsxXSxpKX0pKG4sbCxlLnR5cGUsYyxpKTtlbHNlIGlmKDMmZS50eXBlKXtpZihvPShmdW5jdGlvbiBmKHQpe3JldHVybiJjbGFzcyI9PT10PyJjbGFzc05hbWUiOiJmb3IiPT09dD8iaHRtbEZvciI6ImZvcm1hY3Rpb24iPT09dD8iZm9ybUFjdGlvbiI6ImlubmVySHRtbCI9PT10PyJpbm5lckhUTUwiOiJyZWFkb25seSI9PT10PyJyZWFkT25seSI6InRhYmluZGV4Ij09PXQ/InRhYkluZGV4Ijp0fSkobyksbmdEZXZNb2RlKXtpZigoZnVuY3Rpb24gdSh0KXtpZih0LnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgib24iKSl7Y29uc3QgZT1gQmluZGluZyB0byBldmVudCBwcm9wZXJ0eSAnJHt0fScgaXMgZGlzYWxsb3dlZCBmb3Igc2VjdXJpdHkgcmVhc29ucywgcGxlYXNlIHVzZSAoJHt0LnNsaWNlKDIpfSk9Li4uXG5JZiAnJHt0fScgaXMgYSBkaXJlY3RpdmUgaW5wdXQsIG1ha2Ugc3VyZSB0aGUgZGlyZWN0aXZlIGlzIGltcG9ydGVkIGJ5IHRoZSBjdXJyZW50IG1vZHVsZS5gO3Rocm93IG5ldyBFcnJvcihlKX19KShvKSwhKGZ1bmN0aW9uIGcodCxlLG4sbyl7aWYobnVsbD09PXQuc2NoZW1hcylyZXR1cm4hMDtpZihIZCh0LG8udmFsdWUpfHxuIGluIGV8fHlhKG4pKXJldHVybiEwO3JldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgTm9kZXx8bnVsbD09PU5vZGV8fCEoZSBpbnN0YW5jZW9mIE5vZGUpfSkodCxsLG8sZSkpcmV0dXJuIHZvaWQgRmQobyxlKTtuZ0Rldk1vZGUucmVuZGVyZXJTZXRQcm9wZXJ0eSsrfWk9bnVsbCE9cj9yKGksZS52YWx1ZXx8IiIsbyk6aSxyaShhKT9hLnNldFByb3BlcnR5KGwsbyxpKTp5YShvKXx8KGwuc2V0UHJvcGVydHk/bC5zZXRQcm9wZXJ0eShvLGkpOmxbb109aSl9ZWxzZSAxMiZlLnR5cGUmJm5nRGV2TW9kZSYmIUhkKHQsZS52YWx1ZSkmJkZkKG8sZSl9ZnVuY3Rpb24gSWQodCxlLG4sbyxpKXtjb25zdCBhPXRbMTFdO289TWwobyk7Y29uc3Qgcj0oZnVuY3Rpb24gcyh0KXt0cnl7cmV0dXJuIG51bGwhPXQ/dC50b1N0cmluZygpLnNsaWNlKDAsMzApOnR9Y2F0Y2godCl7cmV0dXJuIltFUlJPUl0gRXhjZXB0aW9uIHdoaWxlIHRyeWluZyB0byBzZXJpYWxpemUgdGhlIHZhbHVlIn19KShpKTtpZigzJm4pbnVsbD09aT9yaShhKT9hLnJlbW92ZUF0dHJpYnV0ZShlLG8pOmUucmVtb3ZlQXR0cmlidXRlKG8pOnJpKGEpP2Euc2V0QXR0cmlidXRlKGUsbyxyKTplLnNldEF0dHJpYnV0ZShvLHIpO2Vsc2V7Y29uc3QgdD1fbChgYmluZGluZ3M9JHtKU09OLnN0cmluZ2lmeSh7W29dOnJ9LG51bGwsMil9YCk7cmkoYSk/YS5zZXRWYWx1ZShlLHQpOmUudGV4dENvbnRlbnQ9dH19ZnVuY3Rpb24gSGQodCxlKXtjb25zdCBuPXQuc2NoZW1hcztpZihudWxsIT09bilmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7Y29uc3Qgbz1uW3RdO2lmKG89PT1obHx8bz09PWdsJiZlJiZlLmluZGV4T2YoIi0iKT4tMSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBGZCh0LGUpe2NvbnNvbGUuZXJyb3IoYW4oIjMwMyIsYENhbid0IGJpbmQgdG8gJyR7dH0nIHNpbmNlIGl0IGlzbid0IGEga25vd24gcHJvcGVydHkgb2YgJyR7ZS52YWx1ZX0nLmApKX1mdW5jdGlvbiBMZCh0LGUsbixvKXtuZ0Rldk1vZGUmJkxvKHQpO2xldCBpPSExO2lmKENpKCkpe2NvbnN0IGE9KGZ1bmN0aW9uIGEodCxlLG4pe25nRGV2TW9kZSYmTG8odCksbmdEZXZNb2RlJiZnYShuLDE1KTtjb25zdCBvPXQuZGlyZWN0aXZlUmVnaXN0cnk7bGV0IGk9bnVsbDtpZihvKWZvcihsZXQgYT0wO2E8by5sZW5ndGg7YSsrKXtjb25zdCByPW9bYV07T2MobixyLnNlbGVjdG9ycywhMSkmJihpfHwoaT1uZ0Rldk1vZGU/bmV3ICRjOltdKSxFYShrYShuLGUpLHQsci50eXBlKSxSbyhyKT8obmdEZXZNb2RlJiYoZ2EobiwyLGAiJHtuLnZhbHVlfSIgdGFncyBjYW5ub3QgYmUgdXNlZCBhcyBjb21wb25lbnQgaG9zdHMuIFBsZWFzZSB1c2UgYSBkaWZmZXJlbnQgdGFnIHRvIGFjdGl2YXRlIHRoZSAke0tlKHIudHlwZSl9IGNvbXBvbmVudC5gKSwyJm4uZmxhZ3MmJkRsKG4pKSxqZCh0LG4pLGkudW5zaGlmdChyKSk6aS5wdXNoKHIpKX1yZXR1cm4gaX0pKHQsZSxuKSxyPW51bGw9PT1vP251bGw6eyIiOi0xfTtpZihudWxsIT09YSl7aT0hMCxXZChuLHQuZGF0YS5sZW5ndGgsYS5sZW5ndGgpO2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7dCsrKXtjb25zdCBlPWFbdF07ZS5wcm92aWRlcnNSZXNvbHZlciYmZS5wcm92aWRlcnNSZXNvbHZlcihlKX1sZXQgbz0hMSxzPSExLGw9TWQodCxlLGEubGVuZ3RoLG51bGwpO25nRGV2TW9kZSYmYm4obCxuLmRpcmVjdGl2ZVN0YXJ0LCJUTm9kZS5kaXJlY3RpdmVTdGFydCBzaG91bGQgcG9pbnQgdG8ganVzdCBhbGxvY2F0ZWQgc3BhY2UiKTtmb3IobGV0IGk9MDtpPGEubGVuZ3RoO2krKyl7Y29uc3QgYz1hW2ldO24ubWVyZ2VkQXR0cnM9X2Eobi5tZXJnZWRBdHRycyxjLmhvc3RBdHRycyksR2QodCxuLGUsbCxjKSxVZChsLGMsciksbnVsbCE9PWMuY29udGVudFF1ZXJpZXMmJihuLmZsYWdzfD04KSxudWxsPT09Yy5ob3N0QmluZGluZ3MmJm51bGw9PT1jLmhvc3RBdHRycyYmMD09PWMuaG9zdFZhcnN8fChuLmZsYWdzfD0xMjgpO2NvbnN0IGQ9Yy50eXBlLnByb3RvdHlwZTshbyYmKGQubmdPbkNoYW5nZXN8fGQubmdPbkluaXR8fGQubmdEb0NoZWNrKSYmKCh0LnByZU9yZGVySG9va3N8fCh0LnByZU9yZGVySG9va3M9W10pKS5wdXNoKG4uaW5kZXgpLG89ITApLHN8fCFkLm5nT25DaGFuZ2VzJiYhZC5uZ0RvQ2hlY2t8fCgodC5wcmVPcmRlckNoZWNrSG9va3N8fCh0LnByZU9yZGVyQ2hlY2tIb29rcz1bXSkpLnB1c2gobi5pbmRleCkscz0hMCksbCsrfSEoZnVuY3Rpb24gcih0LGUpe25nRGV2TW9kZSYmTG8odCk7Y29uc3Qgbj1lLmRpcmVjdGl2ZVN0YXJ0LG89ZS5kaXJlY3RpdmVFbmQsaT10LmRhdGEsYT1lLmF0dHJzLHI9bmdEZXZNb2RlP25ldyBuZDpbXTtsZXQgcz1udWxsLGw9bnVsbDtmb3IobGV0IHQ9bjt0PG87dCsrKXtjb25zdCBuPWlbdF0sbz1uLmlucHV0cyxjPW51bGw9PT1hfHxfYyhlKT9udWxsOktkKG8sYSk7ci5wdXNoKGMpLHM9TmQobyx0LHMpLGw9TmQobi5vdXRwdXRzLHQsbCl9bnVsbCE9PXMmJihzLmhhc093blByb3BlcnR5KCJjbGFzcyIpJiYoZS5mbGFnc3w9MTYpLHMuaGFzT3duUHJvcGVydHkoInN0eWxlIikmJihlLmZsYWdzfD0zMikpLGUuaW5pdGlhbElucHV0cz1yLGUuaW5wdXRzPXMsZS5vdXRwdXRzPWx9KSh0LG4pfXImJihmdW5jdGlvbiBzKHQsZSxuKXtpZihlKXtjb25zdCBvPXQubG9jYWxOYW1lcz1uZ0Rldk1vZGU/bmV3IGVkOltdO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCs9Mil7Y29uc3QgaT1uW2VbdCsxXV07aWYobnVsbD09aSl0aHJvdyBuZXcgbm4oIjMwMSIsYEV4cG9ydCBvZiBuYW1lICcke2VbdCsxXX0nIG5vdCBmb3VuZCFgKTtvLnB1c2goZVt0XSxpKX19fSkobixvLHIpfXJldHVybiBuLm1lcmdlZEF0dHJzPV9hKG4ubWVyZ2VkQXR0cnMsbi5hdHRycyksaX1mdW5jdGlvbiBCZCh0LGUsbixvLGksYSl7bmdEZXZNb2RlJiZMbyh0KTtjb25zdCByPWEuaG9zdEJpbmRpbmdzO2lmKHIpe2xldCBuPXQuaG9zdEJpbmRpbmdPcENvZGVzO251bGw9PT1uJiYobj10Lmhvc3RCaW5kaW5nT3BDb2Rlcz1bXSk7Y29uc3QgYT1+ZS5pbmRleDsoZnVuY3Rpb24gcyh0KXtsZXQgZT10Lmxlbmd0aDtmb3IoO2U+MDspe2NvbnN0IG49dFstLWVdO2lmKCJudW1iZXIiPT10eXBlb2YgbiYmbjwwKXJldHVybiBufXJldHVybiAwfSkobikhPWEmJm4ucHVzaChhKSxuLnB1c2gobyxpLHIpfX1mdW5jdGlvbiBWZCh0LGUpe251bGwhPT10Lmhvc3RCaW5kaW5ncyYmdC5ob3N0QmluZGluZ3MoMSxlKX1mdW5jdGlvbiBqZCh0LGUpe25nRGV2TW9kZSYmTG8odCksZS5mbGFnc3w9MiwodC5jb21wb25lbnRzfHwodC5jb21wb25lbnRzPW5nRGV2TW9kZT9uZXcgdGQ6W10pKS5wdXNoKGUuaW5kZXgpfWZ1bmN0aW9uIFVkKHQsZSxuKXtpZihuKXtpZihlLmV4cG9ydEFzKWZvcihsZXQgbz0wO288ZS5leHBvcnRBcy5sZW5ndGg7bysrKW5bZS5leHBvcnRBc1tvXV09dDtSbyhlKSYmKG5bIiJdPXQpfX1mdW5jdGlvbiBXZCh0LGUsbil7bmdEZXZNb2RlJiZobihuLHQuZGlyZWN0aXZlRW5kLXQuZGlyZWN0aXZlU3RhcnQsIlJlYWNoZWQgdGhlIG1heCBudW1iZXIgb2YgZGlyZWN0aXZlcyIpLHQuZmxhZ3N8PTEsdC5kaXJlY3RpdmVTdGFydD1lLHQuZGlyZWN0aXZlRW5kPWUrbix0LnByb3ZpZGVySW5kZXhlcz1lfWZ1bmN0aW9uIEdkKHQsZSxuLG8saSl7bmdEZXZNb2RlJiZ2bihvLHZvLCJNdXN0IGJlIGluIEV4cGFuZG8gc2VjdGlvbiIpLHQuZGF0YVtvXT1pO2NvbnN0IGE9aS5mYWN0b3J5fHwoaS5mYWN0b3J5PUdvKGkudHlwZSwhMCkpLHI9bmV3IGZhKGEsUm8oaSksbnVsbCk7dC5ibHVlcHJpbnRbb109cixuW29dPXIsQmQodCxlLDAsbyxNZCh0LG4saS5ob3N0VmFycyxTYyksaSl9ZnVuY3Rpb24gWWQodCxlLG4pe2NvbnN0IG89ZGkoZSx0KSxpPURkKG4pLGE9dFsxMF0scj1ucCh0LHlkKHQsaSxudWxsLG4ub25QdXNoPzY0OjE2LG8sZSxhLGEuY3JlYXRlUmVuZGVyZXIobyxuKSxudWxsLG51bGwpKTt0W2UuaW5kZXhdPXJ9ZnVuY3Rpb24gcWQodCxlLG4sbyxpLGEpe25nRGV2TW9kZSYmKHluKG8sU2MsIkluY29taW5nIHZhbHVlIHNob3VsZCBuZXZlciBiZSBOT19DSEFOR0UuIiksKGZ1bmN0aW9uIHIodCl7aWYodC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoIm9uIikpe2NvbnN0IGU9YEJpbmRpbmcgdG8gZXZlbnQgYXR0cmlidXRlICcke3R9JyBpcyBkaXNhbGxvd2VkIGZvciBzZWN1cml0eSByZWFzb25zLCBwbGVhc2UgdXNlICgke3Quc2xpY2UoMil9KT0uLi5gO3Rocm93IG5ldyBFcnJvcihlKX19KShuKSxnYSh0LDIsYEF0dGVtcHRlZCB0byBzZXQgYXR0cmlidXRlIFxgJHtufVxgIG9uIGEgY29udGFpbmVyIG5vZGUuIEhvc3QgYmluZGluZ3MgYXJlIG5vdCB2YWxpZCBvbiBuZy1jb250YWluZXIgb3IgbmctdGVtcGxhdGUuYCkpO2NvbnN0IHM9ZGkodCxlKTtaZChlWzExXSxzLGEsdC52YWx1ZSxuLG8saSl9ZnVuY3Rpb24gWmQodCxlLG4sbyxpLGEscil7aWYobnVsbD09YSluZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlclJlbW92ZUF0dHJpYnV0ZSsrLHJpKHQpP3QucmVtb3ZlQXR0cmlidXRlKGUsaSxuKTplLnJlbW92ZUF0dHJpYnV0ZShpKTtlbHNle25nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyU2V0QXR0cmlidXRlKys7Y29uc3Qgcz1udWxsPT1yP3JuKGEpOnIoYSxvfHwiIixpKTtyaSh0KT90LnNldEF0dHJpYnV0ZShlLGkscyxuKTpuP2Uuc2V0QXR0cmlidXRlTlMobixpLHMpOmUuc2V0QXR0cmlidXRlKGkscyl9fWZ1bmN0aW9uIFhkKHQsZSxuLG8saSxhKXtjb25zdCByPWFbZV07aWYobnVsbCE9PXIpe2NvbnN0IGU9by5zZXRJbnB1dDtmb3IobGV0IGE9MDthPHIubGVuZ3RoOyl7Y29uc3Qgcz1yW2ErK10sbD1yW2ErK10sYz1yW2ErK107aWYobnVsbCE9PWU/by5zZXRJbnB1dChuLGMscyxsKTpuW2xdPWMsbmdEZXZNb2RlKXtJZCh0LGRpKGksdCksaS50eXBlLGwsYyl9fX19ZnVuY3Rpb24gS2QodCxlKXtsZXQgbj1udWxsLG89MDtmb3IoO288ZS5sZW5ndGg7KXtjb25zdCBpPWVbb107aWYoMCE9PWkpaWYoNSE9PWkpe2lmKCJudW1iZXIiPT10eXBlb2YgaSlicmVhazt0Lmhhc093blByb3BlcnR5KGkpJiYobnVsbD09PW4mJihuPVtdKSxuLnB1c2goaSx0W2ldLGVbbysxXSkpLG8rPTJ9ZWxzZSBvKz0yO2Vsc2Ugbys9NH1yZXR1cm4gbn1jb25zdCBKZD0oInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJktuKCkmJkNsKCJMQ29udGFpbmVyIik7ZnVuY3Rpb24gUWQodCxlLG4sbyl7bmdEZXZNb2RlJiZGbyhlKSxuZ0Rldk1vZGUmJiFyaShlWzExXSkmJlBuKG4pO2NvbnN0IGk9bmV3KG5nRGV2TW9kZT9KZDpBcnJheSkodCwhMCwhMSxlLG51bGwsMCxvLG4sbnVsbCxudWxsKTtyZXR1cm4gbmdEZXZNb2RlJiZnbihpLmxlbmd0aCxPbywiU2hvdWxkIGFsbG9jYXRlIGNvcnJlY3QgbnVtYmVyIG9mIHNsb3RzIGZvciBMQ29udGFpbmVyIGhlYWRlci4iKSxuZ0Rldk1vZGUmJihmdW5jdGlvbiBhKHQpe0xjKHQsbmV3IGdkKHQpKX0pKGkpLGl9ZnVuY3Rpb24gJGQodCxlKXtuZ0Rldk1vZGUmJmduKHVpKHQpLCExLCJTaG91bGQgYmUgcnVuIGluIHVwZGF0ZSBtb2RlIik7Y29uc3Qgbj1maShlLHQpO2lmKGdpKG4pKXtjb25zdCB0PW5bMV07ODAmblsyXT94ZCh0LG4sdC50ZW1wbGF0ZSxuWzhdKTpuWzVdPjAmJnRwKG4pfX1mdW5jdGlvbiB0cCh0KXtmb3IobGV0IGU9SWwodCk7bnVsbCE9PWU7ZT1IbChlKSlmb3IobGV0IHQ9T287dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XTtpZigxMDI0Jm5bMl0pe2NvbnN0IHQ9blsxXTtuZ0Rldk1vZGUmJnhuKHQsIlRWaWV3IG11c3QgYmUgYWxsb2NhdGVkIikseGQodCxuLHQudGVtcGxhdGUsbls4XSl9ZWxzZSBuWzVdPjAmJnRwKG4pfWNvbnN0IGU9dFsxXS5jb21wb25lbnRzO2lmKG51bGwhPT1lKWZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXtjb25zdCBvPWZpKGVbbl0sdCk7Z2kobykmJm9bNV0+MCYmdHAobyl9fWZ1bmN0aW9uIGVwKHQsZSl7bmdEZXZNb2RlJiZnbih1aSh0KSwhMCwiU2hvdWxkIGJlIHJ1biBpbiBjcmVhdGlvbiBtb2RlIik7Y29uc3Qgbj1maShlLHQpLG89blsxXTshKGZ1bmN0aW9uIGkodCxlKXtmb3IobGV0IG49ZS5sZW5ndGg7bjx0LmJsdWVwcmludC5sZW5ndGg7bisrKWUucHVzaCh0LmJsdWVwcmludFtuXSl9KShvLG4pLHZkKG8sbixuWzhdKX1mdW5jdGlvbiBucCh0LGUpe3JldHVybiB0WzEzXT90WzE0XVs0XT1lOnRbMTNdPWUsdFsxNF09ZSxlfWZ1bmN0aW9uIG9wKHQpe2Zvcig7dDspe3RbMl18PTY0O2NvbnN0IGU9TmwodCk7aWYoMCE9KDUxMiZ0WzJdKSYmIWUpcmV0dXJuIHQ7dD1lfXJldHVybiBudWxsfWZ1bmN0aW9uIGlwKHQpe2ZvcihsZXQgZT0wO2U8dC5jb21wb25lbnRzLmxlbmd0aDtlKyspe2NvbnN0IG49dC5jb21wb25lbnRzW2VdLG89c2wobiksaT1vWzFdO09kKGksbyxpLnRlbXBsYXRlLG4pfX1mdW5jdGlvbiBhcCh0LGUsbil7Y29uc3Qgbz1lWzEwXTtvLmJlZ2luJiZvLmJlZ2luKCk7dHJ5e3hkKHQsZSx0LnRlbXBsYXRlLG4pfWNhdGNoKHQpe3Rocm93IGZwKGUsdCksdH1maW5hbGx5e28uZW5kJiZvLmVuZCgpfX1mdW5jdGlvbiBycCh0KXtpcCh0WzhdKX1mdW5jdGlvbiBzcCh0LGUsbil7bmdEZXZNb2RlJiZ4bihlLCJWaWV3IHF1ZXJpZXMgZnVuY3Rpb24gdG8gZXhlY3V0ZSBtdXN0IGJlIGRlZmluZWQuIiksV2koMCksZSh0LG4pfWZ1bmN0aW9uIGxwKHQsZSxuLG8sLi4uaSl7aWYobnVsbD09PXRbb10mJihudWxsPT1lLmlucHV0c3x8IWUuaW5wdXRzW25dKSl7KGUucHJvcGVydHlCaW5kaW5nc3x8KGUucHJvcGVydHlCaW5kaW5ncz1bXSkpLnB1c2gobyk7bGV0IGE9bjtpLmxlbmd0aD4wJiYoYSs9a2wraS5qb2luKGtsKSksdFtvXT1hfX1jb25zdCBjcD1oZDtmdW5jdGlvbiBkcCh0KXtyZXR1cm4gdFs3XXx8KHRbN109bmdEZXZNb2RlP25ldyBvZDpbXSl9ZnVuY3Rpb24gcHAodCl7cmV0dXJuIHQuY2xlYW51cHx8KHQuY2xlYW51cD1uZ0Rldk1vZGU/bmV3IGlkOltdKX1mdW5jdGlvbiBtcCh0LGUsbil7cmV0dXJuKG51bGw9PT10fHxSbyh0KSkmJihuPShmdW5jdGlvbiBvKHQpe2Zvcig7QXJyYXkuaXNBcnJheSh0KTspe2lmKCJvYmplY3QiPT10eXBlb2YgdFsxXSlyZXR1cm4gdDt0PXRbMF19cmV0dXJuIG51bGx9KShuW2UuaW5kZXhdKSksblsxMV19ZnVuY3Rpb24gZnAodCxlKXtjb25zdCBuPXRbOV0sbz1uP24uZ2V0KHVsLG51bGwpOm51bGw7byYmby5oYW5kbGVFcnJvcihlKX1mdW5jdGlvbiB1cCh0LGUsbixvLGkpe2ZvcihsZXQgYT0wO2E8bi5sZW5ndGg7KXtjb25zdCByPW5bYSsrXSxzPW5bYSsrXSxsPWVbcl07bmdEZXZNb2RlJiZ3bihlLHIpO2NvbnN0IGM9dC5kYXRhW3JdO251bGwhPT1jLnNldElucHV0P2Muc2V0SW5wdXQobCxpLG8scyk6bFtzXT1pfX1mdW5jdGlvbiBncCh0LGUsbil7bmdEZXZNb2RlJiZmbihuLCJWYWx1ZSBzaG91bGQgYmUgYSBzdHJpbmciKSxuZ0Rldk1vZGUmJnluKG4sU2MsInZhbHVlIHNob3VsZCBub3QgYmUgTk9fQ0hBTkdFIiksbmdEZXZNb2RlJiZ3bih0LGUpO2NvbnN0IG89Y2koZSx0KTtuZ0Rldk1vZGUmJnhuKG8sIm5hdGl2ZSBlbGVtZW50IHNob3VsZCBleGlzdCIpLFZsKHRbMTFdLG8sbil9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIGhwKHQsZSxuKXtuZ0Rldk1vZGUmJkxvKE9pKCksIkV4cGVjdGluZyB0byBiZSBjYWxsZWQgaW4gZmlyc3QgdGVtcGxhdGUgcGFzcyBvbmx5Iik7bGV0IG89bj90LnN0eWxlczpudWxsLGk9bj90LmNsYXNzZXM6bnVsbCxhPTA7aWYobnVsbCE9PWUpZm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XTtpZigibnVtYmVyIj09dHlwZW9mIG4pYT1uO2Vsc2UgaWYoMT09YSlpPUplKGksbik7ZWxzZSBpZigyPT1hKXtvPUplKG8sbisiOiAiK2VbKyt0XSsiOyIpfX1uP3Quc3R5bGVzPW86dC5zdHlsZXNXaXRob3V0SG9zdD1vLG4/dC5jbGFzc2VzPWk6dC5jbGFzc2VzV2l0aG91dEhvc3Q9aX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gYnAodCl7bmdEZXZNb2RlJiZ4bih0LCJjb21wb25lbnQiKTtjb25zdCBlPW9wKGlsKHQpKTtuZ0Rldk1vZGUmJnhuKGVbOF0sInJvb3RDb250ZXh0IHNob3VsZCBiZSBkZWZpbmVkIiksKGZ1bmN0aW9uIG4odCxlKXtpZigwPT09dC5mbGFncyYmdC5jbGVhbj09aGQpe2xldCBuO3QuZmxhZ3N8PWUsdC5jbGVhbj1uZXcgUHJvbWlzZSgodD0+bj10KSksdC5zY2hlZHVsZXIoKCgpPT57aWYoMSZ0LmZsYWdzJiYodC5mbGFncyY9LTIsaXAodCkpLDImdC5mbGFncyl7dC5mbGFncyY9LTM7Y29uc3QgZT10LnBsYXllckhhbmRsZXI7ZSYmZS5mbHVzaFBsYXllcnMoKX10LmNsZWFuPWhkLG4obnVsbCl9KSl9fSkoZVs4XSwxKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgeXA9bmV3IGVyKCJJTkpFQ1RPUiIsLTEpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBfcHtnZXQodCxlPXdyKXtpZihlPT09d3Ipe2NvbnN0IGU9bmV3IEVycm9yKGBOdWxsSW5qZWN0b3JFcnJvcjogTm8gcHJvdmlkZXIgZm9yICR7S2UodCl9IWApO3Rocm93IGUubmFtZT0iTnVsbEluamVjdG9yRXJyb3IiLGV9cmV0dXJuIGV9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBDcD1uZXcgZXIoIlNldCBJbmplY3RvciBzY29wZS4iKSxNcD17fSx2cD17fTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovbGV0IHhwO2Z1bmN0aW9uIE9wKCl7cmV0dXJuIHZvaWQgMD09PXhwJiYoeHA9bmV3IF9wKSx4cH1mdW5jdGlvbiBQcCh0LGU9bnVsbCxuPW51bGwsbyl7cmV0dXJuIG5ldyB3cCh0LG4sZXx8T3AoKSxvKX1jbGFzcyB3cHtjb25zdHJ1Y3Rvcih0LGUsbixvPW51bGwpe3RoaXMucGFyZW50PW4sdGhpcy5yZWNvcmRzPW5ldyBNYXAsdGhpcy5pbmplY3RvckRlZlR5cGVzPW5ldyBTZXQsdGhpcy5vbkRlc3Ryb3k9bmV3IFNldCx0aGlzLl9kZXN0cm95ZWQ9ITE7Y29uc3QgaT1bXTtlJiZtcihlLChuPT50aGlzLnByb2Nlc3NQcm92aWRlcihuLHQsZSkpKSxtcihbdF0sKHQ9PnRoaXMucHJvY2Vzc0luamVjdG9yVHlwZSh0LFtdLGkpKSksdGhpcy5yZWNvcmRzLnNldCh5cCxEcCh2b2lkIDAsdGhpcykpO2NvbnN0IGE9dGhpcy5yZWNvcmRzLmdldChDcCk7dGhpcy5zY29wZT1udWxsIT1hP2EudmFsdWU6bnVsbCx0aGlzLnNvdXJjZT1vfHwoIm9iamVjdCI9PXR5cGVvZiB0P251bGw6S2UodCkpfWdldCBkZXN0cm95ZWQoKXtyZXR1cm4gdGhpcy5fZGVzdHJveWVkfWRlc3Ryb3koKXt0aGlzLmFzc2VydE5vdERlc3Ryb3llZCgpLHRoaXMuX2Rlc3Ryb3llZD0hMDt0cnl7dGhpcy5vbkRlc3Ryb3kuZm9yRWFjaCgodD0+dC5uZ09uRGVzdHJveSgpKSl9ZmluYWxseXt0aGlzLnJlY29yZHMuY2xlYXIoKSx0aGlzLm9uRGVzdHJveS5jbGVhcigpLHRoaXMuaW5qZWN0b3JEZWZUeXBlcy5jbGVhcigpfX1nZXQodCxlPXdyLG49SG4uRGVmYXVsdCl7dGhpcy5hc3NlcnROb3REZXN0cm95ZWQoKTtjb25zdCBvPUVyKHRoaXMpLGk9TG4odm9pZCAwKTt0cnl7aWYoIShuJkhuLlNraXBTZWxmKSl7bGV0IGU9dGhpcy5yZWNvcmRzLmdldCh0KTtpZih2b2lkIDA9PT1lKXtjb25zdCBuPShmdW5jdGlvbiBvKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fHwib2JqZWN0Ij09dHlwZW9mIHQmJnQgaW5zdGFuY2VvZiBlcn0pKHQpJiZSbih0KTtlPW4mJnRoaXMuaW5qZWN0YWJsZURlZkluU2NvcGUobik/RHAoa3AodCksTXApOm51bGwsdGhpcy5yZWNvcmRzLnNldCh0LGUpfWlmKG51bGwhPWUpcmV0dXJuIHRoaXMuaHlkcmF0ZSh0LGUpfXJldHVybihuJkhuLlNlbGY/T3AoKTp0aGlzLnBhcmVudCkuZ2V0KHQsZT1uJkhuLk9wdGlvbmFsJiZlPT09d3I/bnVsbDplKX1jYXRjaChlKXtpZigiTnVsbEluamVjdG9yRXJyb3IiPT09ZS5uYW1lKXtpZigoZS5uZ1RlbXBUb2tlblBhdGg9ZS5uZ1RlbXBUb2tlblBhdGh8fFtdKS51bnNoaWZ0KEtlKHQpKSxvKXRocm93IGU7cmV0dXJuIEZyKGUsdCwiUjNJbmplY3RvckVycm9yIix0aGlzLnNvdXJjZSl9dGhyb3cgZX1maW5hbGx5e0xuKGkpLEVyKG8pfX1fcmVzb2x2ZUluamVjdG9yRGVmVHlwZXMoKXt0aGlzLmluamVjdG9yRGVmVHlwZXMuZm9yRWFjaCgodD0+dGhpcy5nZXQodCkpKX10b1N0cmluZygpe2NvbnN0IHQ9W107cmV0dXJuIHRoaXMucmVjb3Jkcy5mb3JFYWNoKCgoZSxuKT0+dC5wdXNoKEtlKG4pKSkpLGBSM0luamVjdG9yWyR7dC5qb2luKCIsICIpfV1gfWFzc2VydE5vdERlc3Ryb3llZCgpe2lmKHRoaXMuX2Rlc3Ryb3llZCl0aHJvdyBuZXcgRXJyb3IoIkluamVjdG9yIGhhcyBhbHJlYWR5IGJlZW4gZGVzdHJveWVkLiIpfXByb2Nlc3NJbmplY3RvclR5cGUodCxlLG4pe2lmKCEodD10bih0KSkpcmV0dXJuITE7bGV0IG89QW4odCk7Y29uc3QgaT1udWxsPT1vJiZ0Lm5nTW9kdWxlfHx2b2lkIDAsYT12b2lkIDA9PT1pP3Q6aTtpZihuZ0Rldk1vZGUmJi0xIT09ZS5pbmRleE9mKGEpKXtsbihLZShhKSxlLm1hcChLZSkpfWNvbnN0IHI9LTEhPT1uLmluZGV4T2YoYSk7aWYodm9pZCAwIT09aSYmKG89QW4oaSkpLG51bGw9PW8pcmV0dXJuITE7aWYobnVsbCE9by5pbXBvcnRzJiYhcil7bGV0IHQ7bmdEZXZNb2RlJiZlLnB1c2goYSksbi5wdXNoKGEpO3RyeXttcihvLmltcG9ydHMsKG89Pnt0aGlzLnByb2Nlc3NJbmplY3RvclR5cGUobyxlLG4pJiYodm9pZCAwPT09dCYmKHQ9W10pLHQucHVzaChvKSl9KSl9ZmluYWxseXtuZ0Rldk1vZGUmJmUucG9wKCl9aWYodm9pZCAwIT09dClmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7Y29uc3R7bmdNb2R1bGU6bixwcm92aWRlcnM6b309dFtlXTttcihvLCh0PT50aGlzLnByb2Nlc3NQcm92aWRlcih0LG4sb3x8UW4pKSl9fXRoaXMuaW5qZWN0b3JEZWZUeXBlcy5hZGQoYSk7Y29uc3Qgcz1HbyhhKXx8KCgpPT5uZXcgYSk7dGhpcy5yZWNvcmRzLnNldChhLERwKHMsTXApKTtjb25zdCBsPW8ucHJvdmlkZXJzO2lmKG51bGwhPWwmJiFyKXtjb25zdCBlPXQ7bXIobCwodD0+dGhpcy5wcm9jZXNzUHJvdmlkZXIodCxlLGwpKSl9cmV0dXJuIHZvaWQgMCE9PWkmJnZvaWQgMCE9PXQucHJvdmlkZXJzfXByb2Nlc3NQcm92aWRlcih0LGUsbil7bGV0IG89RXAodD10bih0KSk/dDp0bih0JiZ0LnByb3ZpZGUpO2NvbnN0IGk9KGZ1bmN0aW9uIGEodCxlLG4pe2lmKFJwKHQpKXJldHVybiBEcCh2b2lkIDAsdC51c2VWYWx1ZSk7cmV0dXJuIERwKFNwKHQsZSxuKSxNcCl9KSh0LGUsbik7aWYoRXAodCl8fCEwIT09dC5tdWx0aSl7Y29uc3QgdD10aGlzLnJlY29yZHMuZ2V0KG8pO25nRGV2TW9kZSYmdCYmdm9pZCAwIT09dC5tdWx0aSYmY24oKX1lbHNle2xldCBlPXRoaXMucmVjb3Jkcy5nZXQobyk7ZT9uZ0Rldk1vZGUmJnZvaWQgMD09PWUubXVsdGkmJmNuKCk6KGU9RHAodm9pZCAwLE1wLCEwKSxlLmZhY3Rvcnk9KCk9PklyKGUubXVsdGkpLHRoaXMucmVjb3Jkcy5zZXQobyxlKSksbz10LGUubXVsdGkucHVzaCh0KX10aGlzLnJlY29yZHMuc2V0KG8saSl9aHlkcmF0ZSh0LGUpe3JldHVybiBuZ0Rldk1vZGUmJmUudmFsdWU9PT12cD9sbihLZSh0KSk6ZS52YWx1ZT09PU1wJiYoZS52YWx1ZT12cCxlLnZhbHVlPWUuZmFjdG9yeSgpKSwib2JqZWN0Ij09dHlwZW9mIGUudmFsdWUmJmUudmFsdWUmJihmdW5jdGlvbiBuKHQpe3JldHVybiBudWxsIT09dCYmIm9iamVjdCI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC5uZ09uRGVzdHJveX0pKGUudmFsdWUpJiZ0aGlzLm9uRGVzdHJveS5hZGQoZS52YWx1ZSksZS52YWx1ZX1pbmplY3RhYmxlRGVmSW5TY29wZSh0KXtpZighdC5wcm92aWRlZEluKXJldHVybiExO2NvbnN0IGU9dG4odC5wcm92aWRlZEluKTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ImFueSI9PT1lfHxlPT09dGhpcy5zY29wZTp0aGlzLmluamVjdG9yRGVmVHlwZXMuaGFzKGUpfX1mdW5jdGlvbiBrcCh0KXtjb25zdCBlPVJuKHQpLG49bnVsbCE9PWU/ZS5mYWN0b3J5OkdvKHQpO2lmKG51bGwhPT1uKXJldHVybiBuO2lmKHQgaW5zdGFuY2VvZiBlcil0aHJvdyBuZXcgRXJyb3IoYFRva2VuICR7S2UodCl9IGlzIG1pc3NpbmcgYSDJtXByb3YgZGVmaW5pdGlvbi5gKTtpZih0IGluc3RhbmNlb2YgRnVuY3Rpb24pcmV0dXJuKGZ1bmN0aW9uIG8odCl7Y29uc3QgZT10Lmxlbmd0aDtpZihlPjApe2NvbnN0IG49Z3IoZSwiPyIpO3Rocm93IG5ldyBFcnJvcihgQ2FuJ3QgcmVzb2x2ZSBhbGwgcGFyYW1ldGVycyBmb3IgJHtLZSh0KX06ICgke24uam9pbigiLCAiKX0pLmApfWNvbnN0IG49KGZ1bmN0aW9uIG8odCl7Y29uc3QgZT10JiYodFtUbl18fHRbem5dKTtpZihlKXtjb25zdCBuPShmdW5jdGlvbiBuKHQpe2lmKHQuaGFzT3duUHJvcGVydHkoIm5hbWUiKSlyZXR1cm4gdC5uYW1lO2NvbnN0IGU9KCIiK3QpLm1hdGNoKC9eZnVuY3Rpb25ccyooW15ccyhdKykvKTtyZXR1cm4gbnVsbD09PWU/IiI6ZVsxXX0pKHQpO3JldHVybiBjb25zb2xlLndhcm4oYERFUFJFQ0FURUQ6IERJIGlzIGluc3RhbnRpYXRpbmcgYSB0b2tlbiAiJHtufSIgdGhhdCBpbmhlcml0cyBpdHMgQEluamVjdGFibGUgZGVjb3JhdG9yIGJ1dCBkb2VzIG5vdCBwcm92aWRlIG9uZSBpdHNlbGYuXG5UaGlzIHdpbGwgYmVjb21lIGFuIGVycm9yIGluIGEgZnV0dXJlIHZlcnNpb24gb2YgQW5ndWxhci4gUGxlYXNlIGFkZCBASW5qZWN0YWJsZSgpIHRvIHRoZSAiJHtufSIgY2xhc3MuYCksZX1yZXR1cm4gbnVsbH0pKHQpO3JldHVybiBudWxsIT09bj8oKT0+bi5mYWN0b3J5KHQpOigpPT5uZXcgdH0pKHQpO3Rocm93IG5ldyBFcnJvcigidW5yZWFjaGFibGUiKX1mdW5jdGlvbiBTcCh0LGUsbil7bGV0IG87aWYoRXAodCkpe2NvbnN0IGU9dG4odCk7cmV0dXJuIEdvKGUpfHxrcChlKX1pZihScCh0KSlvPSgpPT50bih0LnVzZVZhbHVlKTtlbHNlIGlmKChmdW5jdGlvbiBpKHQpe3JldHVybiEoIXR8fCF0LnVzZUZhY3RvcnkpfSkodCkpbz0oKT0+dC51c2VGYWN0b3J5KC4uLklyKHQuZGVwc3x8W10pKTtlbHNlIGlmKChmdW5jdGlvbiBhKHQpe3JldHVybiEoIXR8fCF0LnVzZUV4aXN0aW5nKX0pKHQpKW89KCk9PlRyKHRuKHQudXNlRXhpc3RpbmcpKTtlbHNle2NvbnN0IGk9dG4odCYmKHQudXNlQ2xhc3N8fHQucHJvdmlkZSkpO2lmKG5nRGV2TW9kZSYmIWkmJihmdW5jdGlvbiByKHQsZSxuKXtsZXQgbz0iIjt0JiZlJiYobz1gIC0gb25seSBpbnN0YW5jZXMgb2YgUHJvdmlkZXIgYW5kIFR5cGUgYXJlIGFsbG93ZWQsIGdvdDogWyR7ZS5tYXAoKHQ9PnQ9PW4/Ij8iK24rIj8iOiIuLi4iKSkuam9pbigiLCAiKX1dYCk7dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByb3ZpZGVyIGZvciB0aGUgTmdNb2R1bGUgJyR7S2UodCl9J2Arbyl9KShlLG4sdCksIShmdW5jdGlvbiBzKHQpe3JldHVybiEhdC5kZXBzfSkodCkpcmV0dXJuIEdvKGkpfHxrcChpKTtvPSgpPT5uZXcgaSguLi5Jcih0LmRlcHMpKX1yZXR1cm4gb31mdW5jdGlvbiBEcCh0LGUsbj0hMSl7cmV0dXJue2ZhY3Rvcnk6dCx2YWx1ZTplLG11bHRpOm4/W106dm9pZCAwfX1mdW5jdGlvbiBScCh0KXtyZXR1cm4gbnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdCYmRHIgaW4gdH1mdW5jdGlvbiBFcCh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH1jb25zdCBBcD1mdW5jdGlvbiBUcCh0LGUsbil7cmV0dXJuKGZ1bmN0aW9uIG8odCxlPW51bGwsbj1udWxsLGkpe2NvbnN0IGE9UHAodCxlLG4saSk7cmV0dXJuIGEuX3Jlc29sdmVJbmplY3RvckRlZlR5cGVzKCksYX0pKHtuYW1lOm59LGUsdCxuKX07Y2xhc3MgTnB7c3RhdGljIGNyZWF0ZSh0LGUpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP0FwKHQsZSwiIik6QXAodC5wcm92aWRlcnMsdC5wYXJlbnQsdC5uYW1lfHwiIil9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24genAodCl7R3AodCk7Y29uc3QgZT1ubCh0KTtyZXR1cm4gbnVsbD09PWU/bnVsbDoodm9pZCAwPT09ZS5jb21wb25lbnQmJihlLmNvbXBvbmVudD0oZnVuY3Rpb24gbih0LGUpe2NvbnN0IG49ZVsxXS5kYXRhW3RdO3JldHVybiAyJm4uZmxhZ3M/ZVtuLmRpcmVjdGl2ZVN0YXJ0XTpudWxsfSkoZS5ub2RlSW5kZXgsZS5sVmlldykpLGUuY29tcG9uZW50KX1mdW5jdGlvbiBJcCh0KXtHcCh0KTtjb25zdCBlPW5sKHQpO3JldHVybiBudWxsPT09ZT9udWxsOmUubFZpZXdbOF19ZnVuY3Rpb24gSHAodCl7Y29uc3QgZT1ubCh0KTtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtsZXQgbixvPWUubFZpZXc7Zm9yKG5nRGV2TW9kZSYmRm8obyk7Mj09PW9bMV0udHlwZSYmKG49TmwobykpOylvPW47cmV0dXJuIDUxMiZvWzJdP251bGw6b1s4XX1mdW5jdGlvbiBGcCh0KXtyZXR1cm5bLi4uemwodCkuY29tcG9uZW50c119ZnVuY3Rpb24gTHAodCl7Y29uc3QgZT1ubCh0KTtpZihudWxsPT09ZSlyZXR1cm4gTnAuTlVMTDtyZXR1cm4gbmV3IGphKGUubFZpZXdbMV0uZGF0YVtlLm5vZGVJbmRleF0sZS5sVmlldyl9ZnVuY3Rpb24gQnAodCl7aWYodCBpbnN0YW5jZW9mIFRleHQpcmV0dXJuW107Y29uc3QgZT1ubCh0KTtpZihudWxsPT09ZSlyZXR1cm5bXTtjb25zdCBuPWUubFZpZXcsbz1uWzFdLGk9ZS5ub2RlSW5kZXg7cmV0dXJuKG51bGw9PW8/dm9pZCAwOm8uZGF0YVtpXSk/KHZvaWQgMD09PWUuZGlyZWN0aXZlcyYmKGUuZGlyZWN0aXZlcz1wbChpLG4sITEpKSxudWxsPT09ZS5kaXJlY3RpdmVzP1tdOlsuLi5lLmRpcmVjdGl2ZXNdKTpbXX1mdW5jdGlvbiBWcCh0KXtjb25zdHtjb25zdHJ1Y3RvcjplfT10O2lmKCFlKXRocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIGZpbmQgdGhlIGluc3RhbmNlIGNvbnN0cnVjdG9yIik7Y29uc3Qgbj15byhlKTtpZihuKXJldHVybntpbnB1dHM6bi5pbnB1dHMsb3V0cHV0czpuLm91dHB1dHMsZW5jYXBzdWxhdGlvbjpuLmVuY2Fwc3VsYXRpb24sY2hhbmdlRGV0ZWN0aW9uOm4ub25QdXNoP2puLk9uUHVzaDpqbi5EZWZhdWx0fTtjb25zdCBvPV9vKGUpO3JldHVybiBvP3tpbnB1dHM6by5pbnB1dHMsb3V0cHV0czpvLm91dHB1dHN9Om51bGx9ZnVuY3Rpb24ganAodCl7cmV0dXJuIG5sKHQpLm5hdGl2ZX1mdW5jdGlvbiBVcCh0KXtHcCh0KTtjb25zdCBlPW5sKHQpO2lmKG51bGw9PT1lKXJldHVybltdO2NvbnN0IG49ZS5sVmlldyxvPW5bN10saT1uWzFdLmNsZWFudXAsYT1bXTtpZihpJiZvKWZvcihsZXQgZT0wO2U8aS5sZW5ndGg7KXtjb25zdCByPWlbZSsrXSxzPWlbZSsrXTtpZigic3RyaW5nIj09dHlwZW9mIHIpe2NvbnN0IGw9cixjPWxpKG5bc10pLGQ9b1tpW2UrK11dLHA9aVtlKytdLG09ImJvb2xlYW4iPT10eXBlb2YgcHx8cD49MD8iZG9tIjoib3V0cHV0IixmPSJib29sZWFuIj09dHlwZW9mIHAmJnA7dD09YyYmYS5wdXNoKHtlbGVtZW50OnQsbmFtZTpsLGNhbGxiYWNrOmQsdXNlQ2FwdHVyZTpmLHR5cGU6bX0pfX1yZXR1cm4gYS5zb3J0KFdwKSxhfWZ1bmN0aW9uIFdwKHQsZSl7cmV0dXJuIHQubmFtZT09ZS5uYW1lPzA6dC5uYW1lPGUubmFtZT8tMToxfWZ1bmN0aW9uIEdwKHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgRWxlbWVudCYmISh0IGluc3RhbmNlb2YgRWxlbWVudCkpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RpbmcgaW5zdGFuY2Ugb2YgRE9NIEVsZW1lbnQiKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gWXAodCl7YnAodCksRnAodCkuZm9yRWFjaCgodD0+KGZ1bmN0aW9uIGUodCl7Y29uc3QgZT1pbCh0KTthcChlWzFdLGUsdCl9KSh0KSkpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9OcC5USFJPV19JRl9OT1RfRk9VTkQ9d3IsTnAuTlVMTD1uZXcgX3AsTnAuybVwcm92PVNuKHt0b2tlbjpOcCxwcm92aWRlZEluOiJhbnkiLGZhY3Rvcnk6KCk9PlRyKHlwKX0pLE5wLl9fTkdfRUxFTUVOVF9JRF9fPS0xO2xldCBxcD0hMTtmdW5jdGlvbiBacCh0LGUpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgQ09NUElMRUR8fCFDT01QSUxFRCl7Y29uc3Qgbj1YbjtpZihuZ0Rldk1vZGUmJnhuKGUsImZ1bmN0aW9uIG5vdCBkZWZpbmVkIiksbil7bGV0IG89bi5uZztvfHwobz1uLm5nPXt9KSxvW3RdPWV9fX1mdW5jdGlvbiBYcCh0LGUsbixvLGkpe2NvbnN0IGE9blsxXSxyPShmdW5jdGlvbiBzKHQsZSxuKXtjb25zdCBvPXdpKCk7aWYodC5maXJzdENyZWF0ZVBhc3Mpe24ucHJvdmlkZXJzUmVzb2x2ZXImJm4ucHJvdmlkZXJzUmVzb2x2ZXIobik7Y29uc3QgaT1NZCh0LGUsMSxudWxsKTtuZ0Rldk1vZGUmJmduKGksby5kaXJlY3RpdmVTdGFydCwiQmVjYXVzZSB0aGlzIGlzIGEgcm9vdCBjb21wb25lbnQgdGhlIGFsbG9jYXRlZCBleHBhbmRvIHNob3VsZCBtYXRjaCB0aGUgVE5vZGUgY29tcG9uZW50LiIpLEdkKHQsbyxlLGksbil9Y29uc3QgaT1MYShlLHQsby5kaXJlY3RpdmVTdGFydCxvKTthbChpLGUpO2NvbnN0IGE9ZGkobyxlKTtyZXR1cm4gYSYmYWwoYSxlKSxpfSkoYSxuLGUpO2lmKG8uY29tcG9uZW50cy5wdXNoKHIpLHRbOF09cixpJiZpLmZvckVhY2goKHQ9PnQocixlKSkpLGUuY29udGVudFF1ZXJpZXMpe2NvbnN0IHQ9d2koKTtuZ0Rldk1vZGUmJnhuKHQsIlROb2RlIGV4cGVjdGVkIiksZS5jb250ZW50UXVlcmllcygxLHIsdC5kaXJlY3RpdmVTdGFydCl9Y29uc3QgbD13aSgpO2lmKG5nRGV2TW9kZSYmeG4obCwidE5vZGUgc2hvdWxkIGhhdmUgYmVlbiBhbHJlYWR5IGNyZWF0ZWQiKSxhLmZpcnN0Q3JlYXRlUGFzcyYmKG51bGwhPT1lLmhvc3RCaW5kaW5nc3x8bnVsbCE9PWUuaG9zdEF0dHJzKSl7ZWEobC5pbmRleCk7QmQoblsxXSxsLDAsbC5kaXJlY3RpdmVTdGFydCxsLmRpcmVjdGl2ZUVuZCxlKSxWZChlLHIpfXJldHVybiByfWZ1bmN0aW9uIEtwKHQsZSl7Y29uc3Qgbj1zbCh0KTtuZ0Rldk1vZGUmJnhuKG4sIkxWaWV3IGlzIHJlcXVpcmVkIik7Y29uc3Qgbz1uWzFdLGk9d2koKTtuZ0Rldk1vZGUmJnhuKGksIlROb2RlIGlzIHJlcXVpcmVkIikscmEobyxpKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gSnAodCl7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0LnByb3RvdHlwZSkuY29uc3RydWN0b3J9ZnVuY3Rpb24gUXAodCl7bGV0IGU9SnAodC50eXBlKSxuPSEwO2NvbnN0IG89W3RdO2Zvcig7ZTspe2xldCBpO2lmKFJvKHQpKWk9ZS7JtWNtcHx8ZS7JtWRpcjtlbHNle2lmKGUuybVjbXApdGhyb3cgbmV3IEVycm9yKCJEaXJlY3RpdmVzIGNhbm5vdCBpbmhlcml0IENvbXBvbmVudHMiKTtpPWUuybVkaXJ9aWYoaSl7aWYobil7by5wdXNoKGkpO2NvbnN0IGU9dDtlLmlucHV0cz0kcCh0LmlucHV0cyksZS5kZWNsYXJlZElucHV0cz0kcCh0LmRlY2xhcmVkSW5wdXRzKSxlLm91dHB1dHM9JHAodC5vdXRwdXRzKTtjb25zdCBuPWkuaG9zdEJpbmRpbmdzO24mJm5tKHQsbik7Y29uc3QgYT1pLnZpZXdRdWVyeSxyPWkuY29udGVudFF1ZXJpZXM7aWYoYSYmdG0odCxhKSxyJiZlbSh0LHIpLFhlKHQuaW5wdXRzLGkuaW5wdXRzKSxYZSh0LmRlY2xhcmVkSW5wdXRzLGkuZGVjbGFyZWRJbnB1dHMpLFhlKHQub3V0cHV0cyxpLm91dHB1dHMpLFJvKGkpJiZpLmRhdGEuYW5pbWF0aW9uKXtjb25zdCBlPXQuZGF0YTtlLmFuaW1hdGlvbj0oZS5hbmltYXRpb258fFtdKS5jb25jYXQoaS5kYXRhLmFuaW1hdGlvbil9fWNvbnN0IGU9aS5mZWF0dXJlcztpZihlKWZvcihsZXQgbz0wO288ZS5sZW5ndGg7bysrKXtjb25zdCBpPWVbb107aSYmaS5uZ0luaGVyaXQmJmkodCksaT09PVFwJiYobj0hMSl9fWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpfSEoZnVuY3Rpb24gaSh0KXtsZXQgZT0wLG49bnVsbDtmb3IobGV0IG89dC5sZW5ndGgtMTtvPj0wO28tLSl7Y29uc3QgaT10W29dO2kuaG9zdFZhcnM9ZSs9aS5ob3N0VmFycyxpLmhvc3RBdHRycz1fYShpLmhvc3RBdHRycyxuPV9hKG4saS5ob3N0QXR0cnMpKX19KShvKX1mdW5jdGlvbiAkcCh0KXtyZXR1cm4gdD09PUpuP3t9OnQ9PT1Rbj9bXTp0fWZ1bmN0aW9uIHRtKHQsZSl7Y29uc3Qgbj10LnZpZXdRdWVyeTt0LnZpZXdRdWVyeT1uPyh0LG8pPT57ZSh0LG8pLG4odCxvKX06ZX1mdW5jdGlvbiBlbSh0LGUpe2NvbnN0IG49dC5jb250ZW50UXVlcmllczt0LmNvbnRlbnRRdWVyaWVzPW4/KHQsbyxpKT0+e2UodCxvLGkpLG4odCxvLGkpfTplfWZ1bmN0aW9uIG5tKHQsZSl7Y29uc3Qgbj10Lmhvc3RCaW5kaW5nczt0Lmhvc3RCaW5kaW5ncz1uPyh0LG8pPT57ZSh0LG8pLG4odCxvKX06ZX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3Qgb209WyJwcm92aWRlcnNSZXNvbHZlciJdLGltPVsidGVtcGxhdGUiLCJkZWNscyIsImNvbnN0cyIsInZhcnMiLCJvblB1c2giLCJuZ0NvbnRlbnRTZWxlY3RvcnMiLCJzdHlsZXMiLCJlbmNhcHN1bGF0aW9uIiwic2NoZW1hcyJdO2Z1bmN0aW9uIGFtKHQpe2xldCBlLG49SnAodC50eXBlKTtlPVJvKHQpP24uybVjbXA6bi7JtWRpcjtjb25zdCBvPXQ7Zm9yKGNvbnN0IHQgb2Ygb20pb1t0XT1lW3RdO2lmKFJvKGUpKWZvcihjb25zdCB0IG9mIGltKW9bdF09ZVt0XX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovbGV0IHJtPW51bGw7ZnVuY3Rpb24gc20oKXtpZighcm0pe2NvbnN0IHQ9WG4uU3ltYm9sO2lmKHQmJnQuaXRlcmF0b3Ipcm09dC5pdGVyYXRvcjtlbHNle2NvbnN0IHQ9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoTWFwLnByb3RvdHlwZSk7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDsrK2Upe2NvbnN0IG49dFtlXTsiZW50cmllcyIhPT1uJiYic2l6ZSIhPT1uJiZNYXAucHJvdG90eXBlW25dPT09TWFwLnByb3RvdHlwZS5lbnRyaWVzJiYocm09bil9fX1yZXR1cm4gcm19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIGxtKHQsZSl7Y29uc3Qgbj1kbSh0KSxvPWRtKGUpO2lmKG4mJm8pcmV0dXJuKGZ1bmN0aW9uIGkodCxlLG4pe2NvbnN0IG89dFtzbSgpXSgpLGk9ZVtzbSgpXSgpO2Zvcig7Oyl7Y29uc3QgdD1vLm5leHQoKSxlPWkubmV4dCgpO2lmKHQuZG9uZSYmZS5kb25lKXJldHVybiEwO2lmKHQuZG9uZXx8ZS5kb25lKXJldHVybiExO2lmKCFuKHQudmFsdWUsZS52YWx1ZSkpcmV0dXJuITF9fSkodCxlLGxtKTt7Y29uc3QgaT10JiYoIm9iamVjdCI9PXR5cGVvZiB0fHwiZnVuY3Rpb24iPT10eXBlb2YgdCksYT1lJiYoIm9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZSk7cmV0dXJuIShufHwhaXx8b3x8IWEpfHxPYmplY3QuaXModCxlKX19Y2xhc3MgY217Y29uc3RydWN0b3IodCl7dGhpcy53cmFwcGVkPXR9c3RhdGljIHdyYXAodCl7cmV0dXJuIG5ldyBjbSh0KX1zdGF0aWMgdW53cmFwKHQpe3JldHVybiBjbS5pc1dyYXBwZWQodCk/dC53cmFwcGVkOnR9c3RhdGljIGlzV3JhcHBlZCh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGNtfX1mdW5jdGlvbiBkbSh0KXtyZXR1cm4hIXBtKHQpJiYoQXJyYXkuaXNBcnJheSh0KXx8ISh0IGluc3RhbmNlb2YgTWFwKSYmc20oKWluIHQpfWZ1bmN0aW9uIHBtKHQpe3JldHVybiBudWxsIT09dCYmKCJmdW5jdGlvbiI9PXR5cGVvZiB0fHwib2JqZWN0Ij09dHlwZW9mIHQpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBtbSh0LGUsbil7cmV0dXJuIHRbZV09bn1mdW5jdGlvbiBmbSh0LGUpe3JldHVybiBuZ0Rldk1vZGUmJnduKHQsZSksbmdEZXZNb2RlJiZ5bih0W2VdLFNjLCJTdG9yZWQgdmFsdWUgc2hvdWxkIG5ldmVyIGJlIE5PX0NIQU5HRS4iKSx0W2VdfWZ1bmN0aW9uIHVtKHQsZSxuKXtuZ0Rldk1vZGUmJnluKG4sU2MsIkluY29taW5nIHZhbHVlIHNob3VsZCBuZXZlciBiZSBOT19DSEFOR0UuIiksbmdEZXZNb2RlJiZfbihlLHQubGVuZ3RoLCJTbG90IHNob3VsZCBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQgdG8gTk9fQ0hBTkdFIik7Y29uc3Qgbz10W2VdO2lmKE9iamVjdC5pcyhvLG4pKXJldHVybiExO2lmKG5nRGV2TW9kZSYmQWkoKSl7Y29uc3QgaT1vIT09U2M/bzp2b2lkIDA7aWYoIWxtKGksbikpe2NvbnN0IGE9KGZ1bmN0aW9uIGkodCxlLG4sbyl7Y29uc3QgaT10WzFdLmRhdGEsYT1pW2VdO2lmKCJzdHJpbmciPT10eXBlb2YgYSlyZXR1cm4gYS5pbmRleE9mKGtsKT4tMT9SbCh0LGUsZSxhLG8pOntwcm9wTmFtZTphLG9sZFZhbHVlOm4sbmV3VmFsdWU6b307aWYobnVsbD09PWEpe2xldCBuPWUtMTtmb3IoOyJzdHJpbmciIT10eXBlb2YgaVtuXSYmbnVsbD09PWlbbisxXTspbi0tO2NvbnN0IGE9aVtuXTtpZigic3RyaW5nIj09dHlwZW9mIGEpe2NvbnN0IGk9YS5tYXRjaChuZXcgUmVnRXhwKGtsLCJnIikpO2lmKGkmJmkubGVuZ3RoLTE+ZS1uKXJldHVybiBSbCh0LG4sZSxhLG8pfX1yZXR1cm57cHJvcE5hbWU6dm9pZCAwLG9sZFZhbHVlOm4sbmV3VmFsdWU6b319KSh0LGUsaSxuKTshKGZ1bmN0aW9uIGEodCxlLG4sbyl7bGV0IGk9YEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3I6IEV4cHJlc3Npb24gaGFzIGNoYW5nZWQgYWZ0ZXIgaXQgd2FzIGNoZWNrZWQuIFByZXZpb3VzIHZhbHVlJHtvP2AgZm9yICcke299J2A6IiJ9OiAnJHtlfScuIEN1cnJlbnQgdmFsdWU6ICcke259Jy5gO3Rocm93IHQmJihpKz0iIEl0IHNlZW1zIGxpa2UgdGhlIHZpZXcgaGFzIGJlZW4gY3JlYXRlZCBhZnRlciBpdHMgcGFyZW50IGFuZCBpdHMgY2hpbGRyZW4gaGF2ZSBiZWVuIGRpcnR5IGNoZWNrZWQuIEhhcyBpdCBiZWVuIGNyZWF0ZWQgaW4gYSBjaGFuZ2UgZGV0ZWN0aW9uIGhvb2s/IiksbmV3IG5uKCIxMDAiLGkpfSkobz09PVNjLGEub2xkVmFsdWUsYS5uZXdWYWx1ZSxhLnByb3BOYW1lKX1yZXR1cm4hMX1yZXR1cm4gdFtlXT1uLCEwfWZ1bmN0aW9uIGdtKHQsZSxuLG8pe2NvbnN0IGk9dW0odCxlLG4pO3JldHVybiB1bSh0LGUrMSxvKXx8aX1mdW5jdGlvbiBobSh0LGUsbixvLGkpe2NvbnN0IGE9Z20odCxlLG4sbyk7cmV0dXJuIHVtKHQsZSsyLGkpfHxhfWZ1bmN0aW9uIGJtKHQsZSxuLG8saSxhKXtjb25zdCByPWdtKHQsZSxuLG8pO3JldHVybiBnbSh0LGUrMixpLGEpfHxyfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiB5bSh0LGUsbixvKXtjb25zdCBpPXhpKCksYT1IaSgpO2lmKHVtKGksYSxlKSl7Y29uc3Qgcj1PaSgpLHM9bmEoKTtxZChzLGksdCxlLG4sbyksbmdEZXZNb2RlJiZscChyLmRhdGEscywiYXR0ci4iK3QsYSl9cmV0dXJuIHltfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBfbSh0LGUpe25nRGV2TW9kZSYmX24oMixlLmxlbmd0aCwic2hvdWxkIGhhdmUgYXQgbGVhc3QgMyB2YWx1ZXMiKSxuZ0Rldk1vZGUmJmduKGUubGVuZ3RoJTIsMSwic2hvdWxkIGhhdmUgYW4gb2RkIG51bWJlciBvZiB2YWx1ZXMiKTtsZXQgbj0hMSxvPXppKCk7Zm9yKGxldCBpPTE7aTxlLmxlbmd0aDtpKz0yKW49dW0odCxvKyssZVtpXSl8fG47aWYoSWkobyksIW4pcmV0dXJuIFNjO2xldCBpPWVbMF07Zm9yKGxldCB0PTE7dDxlLmxlbmd0aDt0Kz0yKWkrPXJuKGVbdF0pK2VbdCsxXTtyZXR1cm4gaX1mdW5jdGlvbiBDbSh0LGUsbixvKXtyZXR1cm4gdW0odCxIaSgpLG4pP2Urcm4obikrbzpTY31mdW5jdGlvbiBNbSh0LGUsbixvLGksYSl7Y29uc3Qgcj1nbSh0LHppKCksbixpKTtyZXR1cm4gRmkoMikscj9lK3JuKG4pK28rcm4oaSkrYTpTY31mdW5jdGlvbiB2bSh0LGUsbixvLGksYSxyLHMpe2NvbnN0IGw9aG0odCx6aSgpLG4saSxyKTtyZXR1cm4gRmkoMyksbD9lK3JuKG4pK28rcm4oaSkrYStybihyKStzOlNjfWZ1bmN0aW9uIHhtKHQsZSxuLG8saSxhLHIscyxsLGMpe2NvbnN0IGQ9Ym0odCx6aSgpLG4saSxyLGwpO3JldHVybiBGaSg0KSxkP2Urcm4obikrbytybihpKSthK3JuKHIpK3Mrcm4obCkrYzpTY31mdW5jdGlvbiBPbSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCl7Y29uc3QgbT16aSgpO2xldCBmPWJtKHQsbSxuLGkscixsKTtyZXR1cm4gZj11bSh0LG0rNCxkKXx8ZixGaSg1KSxmP2Urcm4obikrbytybihpKSthK3JuKHIpK3Mrcm4obCkrYytybihkKStwOlNjfWZ1bmN0aW9uIFBtKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZil7Y29uc3QgdT16aSgpO2xldCBnPWJtKHQsdSxuLGkscixsKTtyZXR1cm4gZz1nbSh0LHUrNCxkLG0pfHxnLEZpKDYpLGc/ZStybihuKStvK3JuKGkpK2Ercm4ocikrcytybihsKStjK3JuKGQpK3Arcm4obSkrZjpTY31mdW5jdGlvbiB3bSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnKXtjb25zdCBoPXppKCk7bGV0IGI9Ym0odCxoLG4saSxyLGwpO3JldHVybiBiPWhtKHQsaCs0LGQsbSx1KXx8YixGaSg3KSxiP2Urcm4obikrbytybihpKSthK3JuKHIpK3Mrcm4obCkrYytybihkKStwK3JuKG0pK2Yrcm4odSkrZzpTY31mdW5jdGlvbiBrbSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnLGgsYil7Y29uc3QgeT16aSgpO2xldCBfPWJtKHQseSxuLGkscixsKTtyZXR1cm4gXz1ibSh0LHkrNCxkLG0sdSxoKXx8XyxGaSg4KSxfP2Urcm4obikrbytybihpKSthK3JuKHIpK3Mrcm4obCkrYytybihkKStwK3JuKG0pK2Yrcm4odSkrZytybihoKStiOlNjfWZ1bmN0aW9uIFNtKHQsZSxuLG8saSxhKXtjb25zdCByPXhpKCkscz1DbShyLGUsbixvKTtpZihzIT09U2Mpe2NvbnN0IG49bmEoKTtxZChuLHIsdCxzLGksYSksbmdEZXZNb2RlJiZscChPaSgpLmRhdGEsbiwiYXR0ci4iK3QsemkoKS0xLGUsbyl9cmV0dXJuIFNtfWZ1bmN0aW9uIERtKHQsZSxuLG8saSxhLHIscyl7Y29uc3QgbD14aSgpLGM9TW0obCxlLG4sbyxpLGEpO2lmKGMhPT1TYyl7Y29uc3Qgbj1uYSgpO3FkKG4sbCx0LGMscixzKSxuZ0Rldk1vZGUmJmxwKE9pKCkuZGF0YSxuLCJhdHRyLiIrdCx6aSgpLTIsZSxvLGEpfXJldHVybiBEbX1mdW5jdGlvbiBSbSh0LGUsbixvLGksYSxyLHMsbCxjKXtjb25zdCBkPXhpKCkscD12bShkLGUsbixvLGksYSxyLHMpO2lmKHAhPT1TYyl7Y29uc3Qgbj1uYSgpO3FkKG4sZCx0LHAsbCxjKSxuZ0Rldk1vZGUmJmxwKE9pKCkuZGF0YSxuLCJhdHRyLiIrdCx6aSgpLTMsZSxvLGEscyl9cmV0dXJuIFJtfWZ1bmN0aW9uIEVtKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwKXtjb25zdCBtPXhpKCksZj14bShtLGUsbixvLGksYSxyLHMsbCxjKTtpZihmIT09U2Mpe2NvbnN0IG49bmEoKTtxZChuLG0sdCxmLGQscCksbmdEZXZNb2RlJiZscChPaSgpLmRhdGEsbiwiYXR0ci4iK3QsemkoKS00LGUsbyxhLHMsYyl9cmV0dXJuIEVtfWZ1bmN0aW9uIEFtKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZil7Y29uc3QgdT14aSgpLGc9T20odSxlLG4sbyxpLGEscixzLGwsYyxkLHApO2lmKGchPT1TYyl7Y29uc3Qgbj1uYSgpO3FkKG4sdSx0LGcsbSxmKSxuZ0Rldk1vZGUmJmxwKE9pKCkuZGF0YSxuLCJhdHRyLiIrdCx6aSgpLTUsZSxvLGEscyxjLHApfXJldHVybiBBbX1mdW5jdGlvbiBUbSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnKXtjb25zdCBoPXhpKCksYj1QbShoLGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYpO2lmKGIhPT1TYyl7Y29uc3Qgbj1uYSgpO3FkKG4saCx0LGIsdSxnKSxuZ0Rldk1vZGUmJmxwKE9pKCkuZGF0YSxuLCJhdHRyLiIrdCx6aSgpLTYsZSxvLGEscyxjLHAsZil9cmV0dXJuIFRtfWZ1bmN0aW9uIE5tKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCxiKXtjb25zdCB5PXhpKCksXz13bSh5LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnKTtpZihfIT09U2Mpe2NvbnN0IG49bmEoKTtxZChuLHksdCxfLGgsYiksbmdEZXZNb2RlJiZscChPaSgpLmRhdGEsbiwiYXR0ci4iK3QsemkoKS03LGUsbyxhLHMsYyxwLGYsZyl9cmV0dXJuIE5tfWZ1bmN0aW9uIHptKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCxiLHksXyl7Y29uc3QgQz14aSgpLE09a20oQyxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoLGIpO2lmKE0hPT1TYyl7Y29uc3Qgbj1uYSgpO3FkKG4sQyx0LE0seSxfKSxuZ0Rldk1vZGUmJmxwKE9pKCkuZGF0YSxuLCJhdHRyLiIrdCx6aSgpLTgsZSxvLGEscyxjLHAsZixnLGIpfXJldHVybiB6bX1mdW5jdGlvbiBJbSh0LGUsbixvKXtjb25zdCBpPXhpKCksYT1fbShpLGUpO2lmKGEhPT1TYyl7Y29uc3Qgcj1uYSgpO2lmKHFkKHIsaSx0LGEsbixvKSxuZ0Rldk1vZGUpe2NvbnN0IG49W2VbMF1dO2ZvcihsZXQgdD0yO3Q8ZS5sZW5ndGg7dCs9MiluLnB1c2goZVt0XSk7bHAoT2koKS5kYXRhLHIsImF0dHIuIit0LHppKCktbi5sZW5ndGgrMSwuLi5uKX19cmV0dXJuIEltfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBIbSh0LGUsbixvLGksYSxyLHMpe2NvbnN0IGw9eGkoKSxjPU9pKCksZD10K3ZvLHA9Yy5maXJzdENyZWF0ZVBhc3M/KGZ1bmN0aW9uIG0odCxlLG4sbyxpLGEscixzLGwpe25nRGV2TW9kZSYmTG8oZSksbmdEZXZNb2RlJiZuZ0Rldk1vZGUuZmlyc3RDcmVhdGVQYXNzKys7Y29uc3QgYz1lLmNvbnN0cyxkPV9kKGUsdCw0LHJ8fG51bGwsaGkoYyxzKSk7TGQoZSxuLGQsaGkoYyxsKSkscmEoZSxkKTtjb25zdCBwPWQudFZpZXdzPVJkKDIsZCxvLGksYSxlLmRpcmVjdGl2ZVJlZ2lzdHJ5LGUucGlwZVJlZ2lzdHJ5LG51bGwsZS5zY2hlbWFzLGMpO3JldHVybiBudWxsIT09ZS5xdWVyaWVzJiYoZS5xdWVyaWVzLnRlbXBsYXRlKGUsZCkscC5xdWVyaWVzPWUucXVlcmllcy5lbWJlZGRlZFRWaWV3KGQpKSxkfSkoZCxjLGwsZSxuLG8saSxhLHIpOmMuZGF0YVtkXTtEaShwLCExKTtjb25zdCBmPWxbMTFdLmNyZWF0ZUNvbW1lbnQobmdEZXZNb2RlPyJjb250YWluZXIiOiIiKTtyYyhjLGwsZixwKSxhbChmLGwpLG5wKGwsbFtkXT1RZChmLGwsZixwKSksRG8ocCkmJmtkKGMsbCxwKSxudWxsIT1yJiZTZChsLHAscyl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIEZtKHQpe3JldHVybiBtaSgoZnVuY3Rpb24gZSgpe3JldHVybiBfaS5sRnJhbWUuY29udGV4dExWaWV3fSkoKSx2byt0KX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgTG09eyLJtcm1ZGVmaW5lSW5qZWN0YWJsZSI6U24sIsm1ybVkZWZpbmVJbmplY3RvciI6RG4sIsm1ybVpbmplY3QiOlRyLCLJtcm1aW52YWxpZEZhY3RvcnlEZXAiOk5yLHJlc29sdmVGb3J3YXJkUmVmOnRufTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgQm09WmUoe3Byb3ZpZGU6U3RyaW5nLHVzZVZhbHVlOlplfSk7ZnVuY3Rpb24gVm0odCl7cmV0dXJuIHZvaWQgMCE9PXQudXNlQ2xhc3N9ZnVuY3Rpb24gam0odCl7cmV0dXJuIHZvaWQgMCE9PXQudXNlRmFjdG9yeX1aZSh7cHJvdmlkZTpTdHJpbmcsdXNlVmFsdWU6WmV9KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFVtPVhhKCJJbmplY3RhYmxlIix2b2lkIDAsdm9pZCAwLHZvaWQgMCwoKHQsZSk9PldtKHQsZSkpKSxXbT1mdW5jdGlvbiBHbSh0LGUpe2xldCBuPW51bGwsbz1udWxsO3QuaGFzT3duUHJvcGVydHkoVG4pfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxUbix7Z2V0OigpPT57aWYobnVsbD09PW4pe2NvbnN0IG89bHIoe3VzYWdlOjAsa2luZDoiaW5qZWN0YWJsZSIsdHlwZTp0fSk7bj1vLmNvbXBpbGVJbmplY3RhYmxlKExtLGBuZzovLy8ke3QubmFtZX0vybVwcm92LmpzYCwoZnVuY3Rpb24gbyh0LGUpe2NvbnN0IG49ZXx8e3Byb3ZpZGVkSW46bnVsbH0sbz17bmFtZTp0Lm5hbWUsdHlwZTp0LHR5cGVBcmd1bWVudENvdW50OjAscHJvdmlkZWRJbjpuLnByb3ZpZGVkSW59OyhWbShuKXx8am0obikpJiZ2b2lkIDAhPT1uLmRlcHMmJihvLmRlcHM9cXIobi5kZXBzKSk7Vm0obik/by51c2VDbGFzcz1uLnVzZUNsYXNzOiEoZnVuY3Rpb24gaSh0KXtyZXR1cm4gQm0gaW4gdH0pKG4pP2ptKG4pP28udXNlRmFjdG9yeT1uLnVzZUZhY3Rvcnk6KGZ1bmN0aW9uIGEodCl7cmV0dXJuIHZvaWQgMCE9PXQudXNlRXhpc3Rpbmd9KShuKSYmKG8udXNlRXhpc3Rpbmc9bi51c2VFeGlzdGluZyk6by51c2VWYWx1ZT1uLnVzZVZhbHVlO3JldHVybiBvfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKHQsZSkpfXJldHVybiBufX0pLHQuaGFzT3duUHJvcGVydHkoaW8pfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpbyx7Z2V0OigpPT57aWYobnVsbD09PW8pe2NvbnN0IGU9bHIoe3VzYWdlOjAsa2luZDoiaW5qZWN0YWJsZSIsdHlwZTp0fSk7bz1lLmNvbXBpbGVGYWN0b3J5KExtLGBuZzovLy8ke3QubmFtZX0vybVmYWMuanNgLHtuYW1lOnQubmFtZSx0eXBlOnQsdHlwZUFyZ3VtZW50Q291bnQ6MCxkZXBzOllyKHQpLHRhcmdldDplLkZhY3RvcnlUYXJnZXQuSW5qZWN0YWJsZX0pfXJldHVybiBvfSxjb25maWd1cmFibGU6ITB9KX07ZnVuY3Rpb24gWW0odCl7aWYodC5sZW5ndGg+MSl7cmV0dXJuIiAoIisoCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiBlKHQpe2NvbnN0IGU9W107Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDsrK24pe2lmKGUuaW5kZXhPZih0W25dKT4tMSlyZXR1cm4gZS5wdXNoKHRbbl0pLGU7ZS5wdXNoKHRbbl0pfXJldHVybiBlfSkodC5zbGljZSgpLnJldmVyc2UoKSkubWFwKCh0PT5LZSh0LnRva2VuKSkpLmpvaW4oIiAtPiAiKSsiKSJ9cmV0dXJuIiJ9ZnVuY3Rpb24gcW0odCxlLG4sbyl7Y29uc3QgaT1bZV0sYT1uKGkpLHI9bz8oZnVuY3Rpb24gcyh0LGUpe2NvbnN0IG49YCR7dH0gY2F1c2VkIGJ5OiAke2UgaW5zdGFuY2VvZiBFcnJvcj9lLm1lc3NhZ2U6ZX1gLG89RXJyb3Iobik7cmV0dXJuIG8ubmdPcmlnaW5hbEVycm9yPWUsb30pKGEsbyk6RXJyb3IoYSk7cmV0dXJuIHIuYWRkS2V5PVptLHIua2V5cz1pLHIuaW5qZWN0b3JzPVt0XSxyLmNvbnN0cnVjdFJlc29sdmluZ01lc3NhZ2U9bixyLm5nT3JpZ2luYWxFcnJvcj1vLHJ9ZnVuY3Rpb24gWm0odCxlKXt0aGlzLmluamVjdG9ycy5wdXNoKHQpLHRoaXMua2V5cy5wdXNoKGUpLHRoaXMubWVzc2FnZT10aGlzLmNvbnN0cnVjdFJlc29sdmluZ01lc3NhZ2UodGhpcy5rZXlzKX1mdW5jdGlvbiBYbSh0LGUpe2NvbnN0IG49W107Zm9yKGxldCB0PTAsbz1lLmxlbmd0aDt0PG87dCsrKXtjb25zdCBvPWVbdF07bi5wdXNoKG8mJjAhPW8ubGVuZ3RoP28ubWFwKEtlKS5qb2luKCIgIik6Ij8iKX1yZXR1cm4gRXJyb3IoIkNhbm5vdCByZXNvbHZlIGFsbCBwYXJhbWV0ZXJzIGZvciAnIitLZSh0KSsiJygiK24uam9pbigiLCAiKSsiKS4gTWFrZSBzdXJlIHRoYXQgYWxsIHRoZSBwYXJhbWV0ZXJzIGFyZSBkZWNvcmF0ZWQgd2l0aCBJbmplY3Qgb3IgaGF2ZSB2YWxpZCB0eXBlIGFubm90YXRpb25zIGFuZCB0aGF0ICciK0tlKHQpKyInIGlzIGRlY29yYXRlZCB3aXRoIEluamVjdGFibGUuIil9ZnVuY3Rpb24gS20odCxlKXtyZXR1cm4gRXJyb3IoYENhbm5vdCBtaXggbXVsdGkgcHJvdmlkZXJzIGFuZCByZWd1bGFyIHByb3ZpZGVycywgZ290OiAke3R9ICR7ZX1gKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgSm17Y29uc3RydWN0b3IodCxlKXtpZih0aGlzLnRva2VuPXQsdGhpcy5pZD1lLCF0KXRocm93IG5ldyBFcnJvcigiVG9rZW4gbXVzdCBiZSBkZWZpbmVkISIpO3RoaXMuZGlzcGxheU5hbWU9S2UodGhpcy50b2tlbil9c3RhdGljIGdldCh0KXtyZXR1cm4gUW0uZ2V0KHRuKHQpKX1zdGF0aWMgZ2V0IG51bWJlck9mS2V5cygpe3JldHVybiBRbS5udW1iZXJPZktleXN9fWNvbnN0IFFtPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2FsbEtleXM9bmV3IE1hcH1nZXQodCl7aWYodCBpbnN0YW5jZW9mIEptKXJldHVybiB0O2lmKHRoaXMuX2FsbEtleXMuaGFzKHQpKXJldHVybiB0aGlzLl9hbGxLZXlzLmdldCh0KTtjb25zdCBlPW5ldyBKbSh0LEptLm51bWJlck9mS2V5cyk7cmV0dXJuIHRoaXMuX2FsbEtleXMuc2V0KHQsZSksZX1nZXQgbnVtYmVyT2ZLZXlzKCl7cmV0dXJuIHRoaXMuX2FsbEtleXMuc2l6ZX19OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0ICRtPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLnJlZmxlY3Rpb25DYXBhYmlsaXRpZXM9dH11cGRhdGVDYXBhYmlsaXRpZXModCl7dGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzPXR9ZmFjdG9yeSh0KXtyZXR1cm4gdGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzLmZhY3RvcnkodCl9cGFyYW1ldGVycyh0KXtyZXR1cm4gdGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzLnBhcmFtZXRlcnModCl9YW5ub3RhdGlvbnModCl7cmV0dXJuIHRoaXMucmVmbGVjdGlvbkNhcGFiaWxpdGllcy5hbm5vdGF0aW9ucyh0KX1wcm9wTWV0YWRhdGEodCl7cmV0dXJuIHRoaXMucmVmbGVjdGlvbkNhcGFiaWxpdGllcy5wcm9wTWV0YWRhdGEodCl9aGFzTGlmZWN5Y2xlSG9vayh0LGUpe3JldHVybiB0aGlzLnJlZmxlY3Rpb25DYXBhYmlsaXRpZXMuaGFzTGlmZWN5Y2xlSG9vayh0LGUpfWdldHRlcih0KXtyZXR1cm4gdGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzLmdldHRlcih0KX1zZXR0ZXIodCl7cmV0dXJuIHRoaXMucmVmbGVjdGlvbkNhcGFiaWxpdGllcy5zZXR0ZXIodCl9bWV0aG9kKHQpe3JldHVybiB0aGlzLnJlZmxlY3Rpb25DYXBhYmlsaXRpZXMubWV0aG9kKHQpfWltcG9ydFVyaSh0KXtyZXR1cm4gdGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzLmltcG9ydFVyaSh0KX1yZXNvdXJjZVVyaSh0KXtyZXR1cm4gdGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzLnJlc291cmNlVXJpKHQpfXJlc29sdmVJZGVudGlmaWVyKHQsZSxuLG8pe3JldHVybiB0aGlzLnJlZmxlY3Rpb25DYXBhYmlsaXRpZXMucmVzb2x2ZUlkZW50aWZpZXIodCxlLG4sbyl9cmVzb2x2ZUVudW0odCxlKXtyZXR1cm4gdGhpcy5yZWZsZWN0aW9uQ2FwYWJpbGl0aWVzLnJlc29sdmVFbnVtKHQsZSl9fShuZXcgeHIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyB0Zntjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5rZXk9dCx0aGlzLm9wdGlvbmFsPWUsdGhpcy52aXNpYmlsaXR5PW59c3RhdGljIGZyb21LZXkodCl7cmV0dXJuIG5ldyB0Zih0LCExLG51bGwpfX1jb25zdCBlZj1bXTtjbGFzcyBuZntjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5rZXk9dCx0aGlzLnJlc29sdmVkRmFjdG9yaWVzPWUsdGhpcy5tdWx0aVByb3ZpZGVyPW4sdGhpcy5yZXNvbHZlZEZhY3Rvcnk9dGhpcy5yZXNvbHZlZEZhY3Rvcmllc1swXX19Y2xhc3Mgb2Z7Y29uc3RydWN0b3IodCxlKXt0aGlzLmZhY3Rvcnk9dCx0aGlzLmRlcGVuZGVuY2llcz1lfX1mdW5jdGlvbiBhZih0KXtsZXQgZSxuO2lmKHQudXNlQ2xhc3Mpe2NvbnN0IG89dG4odC51c2VDbGFzcyk7ZT0kbS5mYWN0b3J5KG8pLG49Y2Yobyl9ZWxzZSB0LnVzZUV4aXN0aW5nPyhlPXQ9PnQsbj1bdGYuZnJvbUtleShKbS5nZXQodC51c2VFeGlzdGluZykpXSk6dC51c2VGYWN0b3J5PyhlPXQudXNlRmFjdG9yeSxuPShmdW5jdGlvbiBvKHQsZSl7aWYoZSl7Y29uc3Qgbj1lLm1hcCgodD0+W3RdKSk7cmV0dXJuIGUubWFwKChlPT5kZih0LGUsbikpKX1yZXR1cm4gY2YodCl9KSh0LnVzZUZhY3RvcnksdC5kZXBzKSk6KGU9KCk9PnQudXNlVmFsdWUsbj1lZik7cmV0dXJuIG5ldyBvZihlLG4pfWZ1bmN0aW9uIHJmKHQpe3JldHVybiBuZXcgbmYoSm0uZ2V0KHQucHJvdmlkZSksW2FmKHQpXSx0Lm11bHRpfHwhMSl9ZnVuY3Rpb24gc2YodCl7Y29uc3QgZT0oZnVuY3Rpb24gbih0LGUpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXtjb25zdCBvPXRbbl0saT1lLmdldChvLmtleS5pZCk7aWYoaSl7aWYoby5tdWx0aVByb3ZpZGVyIT09aS5tdWx0aVByb3ZpZGVyKXRocm93IEttKGksbyk7aWYoby5tdWx0aVByb3ZpZGVyKWZvcihsZXQgdD0wO3Q8by5yZXNvbHZlZEZhY3Rvcmllcy5sZW5ndGg7dCsrKWkucmVzb2x2ZWRGYWN0b3JpZXMucHVzaChvLnJlc29sdmVkRmFjdG9yaWVzW3RdKTtlbHNlIGUuc2V0KG8ua2V5LmlkLG8pfWVsc2V7bGV0IHQ7dD1vLm11bHRpUHJvdmlkZXI/bmV3IG5mKG8ua2V5LG8ucmVzb2x2ZWRGYWN0b3JpZXMuc2xpY2UoKSxvLm11bHRpUHJvdmlkZXIpOm8sZS5zZXQoby5rZXkuaWQsdCl9fXJldHVybiBlfSkobGYodCxbXSkubWFwKHJmKSxuZXcgTWFwKTtyZXR1cm4gQXJyYXkuZnJvbShlLnZhbHVlcygpKX1mdW5jdGlvbiBsZih0LGUpe3JldHVybiB0LmZvckVhY2goKHQ9PntpZih0IGluc3RhbmNlb2YgY3IpZS5wdXNoKHtwcm92aWRlOnQsdXNlQ2xhc3M6dH0pO2Vsc2UgaWYodCYmIm9iamVjdCI9PXR5cGVvZiB0JiZ2b2lkIDAhPT10LnByb3ZpZGUpZS5wdXNoKHQpO2Vsc2V7aWYoIUFycmF5LmlzQXJyYXkodCkpdGhyb3coZnVuY3Rpb24gbih0KXtyZXR1cm4gRXJyb3IoYEludmFsaWQgcHJvdmlkZXIgLSBvbmx5IGluc3RhbmNlcyBvZiBQcm92aWRlciBhbmQgVHlwZSBhcmUgYWxsb3dlZCwgZ290OiAke3R9YCl9KSh0KTtsZih0LGUpfX0pKSxlfWZ1bmN0aW9uIGNmKHQpe2NvbnN0IGU9JG0ucGFyYW1ldGVycyh0KTtpZighZSlyZXR1cm5bXTtpZihlLnNvbWUoKHQ9Pm51bGw9PXQpKSl0aHJvdyBYbSh0LGUpO3JldHVybiBlLm1hcCgobj0+ZGYodCxuLGUpKSl9ZnVuY3Rpb24gZGYodCxlLG4pe2xldCBvPW51bGwsaT0hMTtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gcGYoZSBpbnN0YW5jZW9mIExyP2UudG9rZW46ZSxpLG51bGwpO2xldCBhPW51bGw7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3Qpe2NvbnN0IG49ZVt0XTtuIGluc3RhbmNlb2YgY3I/bz1uOm4gaW5zdGFuY2VvZiBMcj9vPW4udG9rZW46biBpbnN0YW5jZW9mIEJyP2k9ITA6biBpbnN0YW5jZW9mIFZyfHxuIGluc3RhbmNlb2YganI/YT1uOm4gaW5zdGFuY2VvZiBlciYmKG89bil9aWYobz10bihvKSxudWxsIT1vKXJldHVybiBwZihvLGksYSk7dGhyb3cgWG0odCxuKX1mdW5jdGlvbiBwZih0LGUsbil7cmV0dXJuIG5ldyB0ZihKbS5nZXQodCksZSxuKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgbWY9e307Y2xhc3MgZmZ7c3RhdGljIHJlc29sdmUodCl7cmV0dXJuIHNmKHQpfXN0YXRpYyByZXNvbHZlQW5kQ3JlYXRlKHQsZSl7Y29uc3Qgbj1mZi5yZXNvbHZlKHQpO3JldHVybiBmZi5mcm9tUmVzb2x2ZWRQcm92aWRlcnMobixlKX1zdGF0aWMgZnJvbVJlc29sdmVkUHJvdmlkZXJzKHQsZSl7cmV0dXJuIG5ldyB1Zih0LGUpfX1jbGFzcyB1Zntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2NvbnN0cnVjdGlvbkNvdW50ZXI9MCx0aGlzLl9wcm92aWRlcnM9dCx0aGlzLnBhcmVudD1lfHxudWxsO2NvbnN0IG49dC5sZW5ndGg7dGhpcy5rZXlJZHM9W10sdGhpcy5vYmpzPVtdO2ZvcihsZXQgZT0wO2U8bjtlKyspdGhpcy5rZXlJZHNbZV09dFtlXS5rZXkuaWQsdGhpcy5vYmpzW2VdPW1mfWdldCh0LGU9d3Ipe3JldHVybiB0aGlzLl9nZXRCeUtleShKbS5nZXQodCksbnVsbCxlKX1yZXNvbHZlQW5kQ3JlYXRlQ2hpbGQodCl7Y29uc3QgZT1mZi5yZXNvbHZlKHQpO3JldHVybiB0aGlzLmNyZWF0ZUNoaWxkRnJvbVJlc29sdmVkKGUpfWNyZWF0ZUNoaWxkRnJvbVJlc29sdmVkKHQpe2NvbnN0IGU9bmV3IHVmKHQpO3JldHVybiBlLnBhcmVudD10aGlzLGV9cmVzb2x2ZUFuZEluc3RhbnRpYXRlKHQpe3JldHVybiB0aGlzLmluc3RhbnRpYXRlUmVzb2x2ZWQoZmYucmVzb2x2ZShbdF0pWzBdKX1pbnN0YW50aWF0ZVJlc29sdmVkKHQpe3JldHVybiB0aGlzLl9pbnN0YW50aWF0ZVByb3ZpZGVyKHQpfWdldFByb3ZpZGVyQXRJbmRleCh0KXtpZih0PDB8fHQ+PXRoaXMuX3Byb3ZpZGVycy5sZW5ndGgpdGhyb3coZnVuY3Rpb24gZSh0KXtyZXR1cm4gRXJyb3IoYEluZGV4ICR7dH0gaXMgb3V0LW9mLWJvdW5kcy5gKX0pKHQpO3JldHVybiB0aGlzLl9wcm92aWRlcnNbdF19X25ldyh0KXtpZih0aGlzLl9jb25zdHJ1Y3Rpb25Db3VudGVyKys+dGhpcy5fZ2V0TWF4TnVtYmVyT2ZPYmplY3RzKCkpdGhyb3coZnVuY3Rpb24gZSh0LG4pe3JldHVybiBxbSh0LG4sKGZ1bmN0aW9uKHQpe3JldHVybmBDYW5ub3QgaW5zdGFudGlhdGUgY3ljbGljIGRlcGVuZGVuY3khJHtZbSh0KX1gfSkpfSkodGhpcyx0LmtleSk7cmV0dXJuIHRoaXMuX2luc3RhbnRpYXRlUHJvdmlkZXIodCl9X2dldE1heE51bWJlck9mT2JqZWN0cygpe3JldHVybiB0aGlzLm9ianMubGVuZ3RofV9pbnN0YW50aWF0ZVByb3ZpZGVyKHQpe2lmKHQubXVsdGlQcm92aWRlcil7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPHQucmVzb2x2ZWRGYWN0b3JpZXMubGVuZ3RoOysrbillW25dPXRoaXMuX2luc3RhbnRpYXRlKHQsdC5yZXNvbHZlZEZhY3Rvcmllc1tuXSk7cmV0dXJuIGV9cmV0dXJuIHRoaXMuX2luc3RhbnRpYXRlKHQsdC5yZXNvbHZlZEZhY3Rvcmllc1swXSl9X2luc3RhbnRpYXRlKHQsZSl7Y29uc3Qgbj1lLmZhY3Rvcnk7bGV0IG8saTt0cnl7bz1lLmRlcGVuZGVuY2llcy5tYXAoKHQ9PnRoaXMuX2dldEJ5UmVmbGVjdGl2ZURlcGVuZGVuY3kodCkpKX1jYXRjaChlKXt0aHJvdyBlLmFkZEtleSYmZS5hZGRLZXkodGhpcyx0LmtleSksZX10cnl7aT1uKC4uLm8pfWNhdGNoKGUpe3Rocm93KGZ1bmN0aW9uIG4odCxlLG8saSl7cmV0dXJuIHFtKHQsaSwoZnVuY3Rpb24odCl7Y29uc3Qgbj1LZSh0WzBdLnRva2VuKTtyZXR1cm5gJHtlLm1lc3NhZ2V9OiBFcnJvciBkdXJpbmcgaW5zdGFudGlhdGlvbiBvZiAke259ISR7WW0odCl9LmB9KSxlKX0pKHRoaXMsZSwwLHQua2V5KX1yZXR1cm4gaX1fZ2V0QnlSZWZsZWN0aXZlRGVwZW5kZW5jeSh0KXtyZXR1cm4gdGhpcy5fZ2V0QnlLZXkodC5rZXksdC52aXNpYmlsaXR5LHQub3B0aW9uYWw/bnVsbDp3cil9X2dldEJ5S2V5KHQsZSxuKXtyZXR1cm4gdD09PXVmLklOSkVDVE9SX0tFWT90aGlzOmUgaW5zdGFuY2VvZiBWcj90aGlzLl9nZXRCeUtleVNlbGYodCxuKTp0aGlzLl9nZXRCeUtleURlZmF1bHQodCxuLGUpfV9nZXRPYmpCeUtleUlkKHQpe2ZvcihsZXQgZT0wO2U8dGhpcy5rZXlJZHMubGVuZ3RoO2UrKylpZih0aGlzLmtleUlkc1tlXT09PXQpcmV0dXJuIHRoaXMub2Jqc1tlXT09PW1mJiYodGhpcy5vYmpzW2VdPXRoaXMuX25ldyh0aGlzLl9wcm92aWRlcnNbZV0pKSx0aGlzLm9ianNbZV07cmV0dXJuIG1mfV90aHJvd09yTnVsbCh0LGUpe2lmKGUhPT13cilyZXR1cm4gZTt0aHJvdyhmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIHFtKHQsZSwoZnVuY3Rpb24odCl7cmV0dXJuYE5vIHByb3ZpZGVyIGZvciAke0tlKHRbMF0udG9rZW4pfSEke1ltKHQpfWB9KSl9KSh0aGlzLHQpfV9nZXRCeUtleVNlbGYodCxlKXtjb25zdCBuPXRoaXMuX2dldE9iakJ5S2V5SWQodC5pZCk7cmV0dXJuIG4hPT1tZj9uOnRoaXMuX3Rocm93T3JOdWxsKHQsZSl9X2dldEJ5S2V5RGVmYXVsdCh0LGUsbil7bGV0IG87Zm9yKG89biBpbnN0YW5jZW9mIGpyP3RoaXMucGFyZW50OnRoaXM7byBpbnN0YW5jZW9mIHVmOyl7Y29uc3QgZT1vLG49ZS5fZ2V0T2JqQnlLZXlJZCh0LmlkKTtpZihuIT09bWYpcmV0dXJuIG47bz1lLnBhcmVudH1yZXR1cm4gbnVsbCE9PW8/by5nZXQodC50b2tlbixlKTp0aGlzLl90aHJvd09yTnVsbCh0LGUpfWdldCBkaXNwbGF5TmFtZSgpe3JldHVybmBSZWZsZWN0aXZlSW5qZWN0b3IocHJvdmlkZXJzOiBbJHsoZnVuY3Rpb24gdChlLG4pe2NvbnN0IG89W107Zm9yKGxldCB0PTA7dDxlLl9wcm92aWRlcnMubGVuZ3RoOysrdClvW3RdPW4oZS5nZXRQcm92aWRlckF0SW5kZXgodCkpO3JldHVybiBvfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykodGhpcywodD0+JyAiJyt0LmtleS5kaXNwbGF5TmFtZSsnIiAnKSkuam9pbigiLCAiKX1dKWB9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5kaXNwbGF5TmFtZX19ZnVuY3Rpb24gZ2YodCxlPUhuLkRlZmF1bHQpe2NvbnN0IG49eGkoKTtpZihudWxsPT09bilyZXR1cm4gbmdEZXZNb2RlJiYoZnVuY3Rpb24gbyh0KXtuZ0Rldk1vZGUmJmhuKEZuLHQsIkNhbGxpbmcgybXJtWluamVjdCB3b3VsZCBjYXVzZSBpbmZpbml0ZSByZWN1cnNpb24iKX0pKGdmKSxUcih0LGUpO3JldHVybiBOYSh3aSgpLG4sdG4odCksZSl9ZnVuY3Rpb24gaGYoKXtjb25zdCB0PW5nRGV2TW9kZT8iVGhpcyBjb25zdHJ1Y3RvciB3YXMgbm90IGNvbXBhdGlibGUgd2l0aCBEZXBlbmRlbmN5IEluamVjdGlvbi4iOiJpbnZhbGlkIjt0aHJvdyBuZXcgRXJyb3IodCl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIGJmKHQsZSxuKXtjb25zdCBvPXhpKCksaT1IaSgpO2lmKHVtKG8saSxlKSl7Y29uc3QgYT1PaSgpLHI9bmEoKTt6ZChhLHIsbyx0LGUsb1sxMV0sbiwhMSksbmdEZXZNb2RlJiZscChhLmRhdGEscix0LGkpfXJldHVybiBiZn1mdW5jdGlvbiB5Zih0LGUsbixvLGkpe2NvbnN0IGE9aT8iY2xhc3MiOiJzdHlsZSI7dXAodCxuLGUuaW5wdXRzW2FdLGEsbyl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIF9mKHQsZSxuLG8saSxhLHIpe25nRGV2TW9kZSYmTG8oZSksbmdEZXZNb2RlJiZuZ0Rldk1vZGUuZmlyc3RDcmVhdGVQYXNzKys7Y29uc3Qgcz1lLmNvbnN0cyxsPV9kKGUsdCwyLGksaGkocyxhKSksYz1MZChlLG4sbCxoaShzLHIpKTtyZXR1cm4gbmdEZXZNb2RlJiYoZnVuY3Rpb24gZCh0LGUsbixvKXtpZihudWxsPT09dC5zY2hlbWFzKXJldHVybjtjb25zdCBpPW4udmFsdWU7aWYoIW8mJm51bGwhPT1pKXtpZigoInVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MVW5rbm93bkVsZW1lbnQmJkhUTUxVbmtub3duRWxlbWVudCYmZSBpbnN0YW5jZW9mIEhUTUxVbmtub3duRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBjdXN0b21FbGVtZW50cyYmaS5pbmRleE9mKCItIik+LTEmJiFjdXN0b21FbGVtZW50cy5nZXQoaSkpJiYhSGQodCxpKSl7bGV0IHQ9YCcke2l9JyBpcyBub3QgYSBrbm93biBlbGVtZW50OlxuYDt0Kz1gMS4gSWYgJyR7aX0nIGlzIGFuIEFuZ3VsYXIgY29tcG9uZW50LCB0aGVuIHZlcmlmeSB0aGF0IGl0IGlzIHBhcnQgb2YgdGhpcyBtb2R1bGUuXG5gLGkmJmkuaW5kZXhPZigiLSIpPi0xP3QrPWAyLiBJZiAnJHtpfScgaXMgYSBXZWIgQ29tcG9uZW50IHRoZW4gYWRkICdDVVNUT01fRUxFTUVOVFNfU0NIRU1BJyB0byB0aGUgJ0BOZ01vZHVsZS5zY2hlbWFzJyBvZiB0aGlzIGNvbXBvbmVudCB0byBzdXBwcmVzcyB0aGlzIG1lc3NhZ2UuYDp0Kz0iMi4gVG8gYWxsb3cgYW55IGVsZW1lbnQgYWRkICdOT19FUlJPUlNfU0NIRU1BJyB0byB0aGUgJ0BOZ01vZHVsZS5zY2hlbWFzJyBvZiB0aGlzIGNvbXBvbmVudC4iLGNvbnNvbGUuZXJyb3IoYW4oIjMwNCIsdCkpfX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykoZSxvLGwsYyksbnVsbCE9PWwuYXR0cnMmJmhwKGwsbC5hdHRycywhMSksbnVsbCE9PWwubWVyZ2VkQXR0cnMmJmhwKGwsbC5tZXJnZWRBdHRycywhMCksbnVsbCE9PWUucXVlcmllcyYmZS5xdWVyaWVzLmVsZW1lbnRTdGFydChlLGwpLGx9ZnVuY3Rpb24gQ2YodCxlLG4sbyl7Y29uc3QgaT14aSgpLGE9T2koKSxyPXZvK3Q7bmdEZXZNb2RlJiZnbih6aSgpLGEuYmluZGluZ1N0YXJ0SW5kZXgsImVsZW1lbnRzIHNob3VsZCBiZSBjcmVhdGVkIGJlZm9yZSBhbnkgYmluZGluZ3MiKSxuZ0Rldk1vZGUmJnduKGkscik7Y29uc3Qgcz1pWzExXSxsPWlbcl09VWwocyxlLChmdW5jdGlvbiBjKCl7cmV0dXJuIF9pLmxGcmFtZS5jdXJyZW50TmFtZXNwYWNlfSkoKSksZD1hLmZpcnN0Q3JlYXRlUGFzcz9fZihyLGEsaSxsLGUsbixvKTphLmRhdGFbcl07RGkoZCwhMCk7Y29uc3QgcD1kLm1lcmdlZEF0dHJzO251bGwhPT1wJiZoYShzLGwscCk7Y29uc3QgbT1kLmNsYXNzZXM7bnVsbCE9PW0mJmdjKHMsbCxtKTtjb25zdCBmPWQuc3R5bGVzO251bGwhPT1mJiZ1YyhzLGwsZiksNjQhPSg2NCZkLmZsYWdzKSYmcmMoYSxpLGwsZCksMD09PShmdW5jdGlvbiB1KCl7cmV0dXJuIF9pLmxGcmFtZS5lbGVtZW50RGVwdGhDb3VudH0pKCkmJmFsKGwsaSksKGZ1bmN0aW9uIGcoKXtfaS5sRnJhbWUuZWxlbWVudERlcHRoQ291bnQrK30pKCksRG8oZCkmJihrZChhLGksZCksd2QoYSxkLGkpKSxudWxsIT09byYmU2QoaSxkKX1mdW5jdGlvbiBNZigpe2xldCB0PXdpKCk7bmdEZXZNb2RlJiZ4bih0LCJObyBwYXJlbnQgbm9kZSB0byBjbG9zZS4iKSxSaSgpP0VpKCk6KG5nRGV2TW9kZSYmem8od2koKSksdD10LnBhcmVudCxEaSh0LCExKSk7Y29uc3QgZT10O25nRGV2TW9kZSYmZ2EoZSwzKSwoZnVuY3Rpb24gbigpe19pLmxGcmFtZS5lbGVtZW50RGVwdGhDb3VudC0tfSkoKTtjb25zdCBvPU9pKCk7by5maXJzdENyZWF0ZVBhc3MmJihyYShvLHQpLGtvKHQpJiZvLnF1ZXJpZXMuZWxlbWVudEVuZCh0KSksbnVsbCE9ZS5jbGFzc2VzV2l0aG91dEhvc3QmJihmdW5jdGlvbiBpKHQpe3JldHVybiAwIT0oMTYmdC5mbGFncyl9KShlKSYmeWYobyxlLHhpKCksZS5jbGFzc2VzV2l0aG91dEhvc3QsITApLG51bGwhPWUuc3R5bGVzV2l0aG91dEhvc3QmJihmdW5jdGlvbiBhKHQpe3JldHVybiAwIT0oMzImdC5mbGFncyl9KShlKSYmeWYobyxlLHhpKCksZS5zdHlsZXNXaXRob3V0SG9zdCwhMSl9ZnVuY3Rpb24gdmYodCxlLG4sbyl7Q2YodCxlLG4sbyksTWYoKX1mdW5jdGlvbiB4Zih0LGUsbil7Y29uc3Qgbz14aSgpLGk9T2koKSxhPXQrdm87bmdEZXZNb2RlJiZ3bihvLGEpLG5nRGV2TW9kZSYmZ24oemkoKSxpLmJpbmRpbmdTdGFydEluZGV4LCJlbGVtZW50IGNvbnRhaW5lcnMgc2hvdWxkIGJlIGNyZWF0ZWQgYmVmb3JlIGFueSBiaW5kaW5ncyIpO2NvbnN0IHI9aS5maXJzdENyZWF0ZVBhc3M/KGZ1bmN0aW9uIHModCxlLG4sbyxpKXtuZ0Rldk1vZGUmJm5nRGV2TW9kZS5maXJzdENyZWF0ZVBhc3MrKztjb25zdCBhPWUuY29uc3RzLHI9aGkoYSxvKSxzPV9kKGUsdCw4LCJuZy1jb250YWluZXIiLHIpO3JldHVybiBudWxsIT09ciYmaHAocyxyLCEwKSxMZChlLG4scyxoaShhLGkpKSxudWxsIT09ZS5xdWVyaWVzJiZlLnF1ZXJpZXMuZWxlbWVudFN0YXJ0KGUscyksc30pKGEsaSxvLGUsbik6aS5kYXRhW2FdO0RpKHIsITApLG5nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyQ3JlYXRlQ29tbWVudCsrO2NvbnN0IGw9b1thXT1vWzExXS5jcmVhdGVDb21tZW50KG5nRGV2TW9kZT8ibmctY29udGFpbmVyIjoiIik7cmMoaSxvLGwsciksYWwobCxvKSxEbyhyKSYmKGtkKGksbyxyKSx3ZChpLHIsbykpLG51bGwhPW4mJlNkKG8scil9ZnVuY3Rpb24gT2YoKXtsZXQgdD13aSgpO2NvbnN0IGU9T2koKTtSaSgpP0VpKCk6KG5nRGV2TW9kZSYmem8odCksdD10LnBhcmVudCxEaSh0LCExKSksbmdEZXZNb2RlJiZnYSh0LDgpLGUuZmlyc3RDcmVhdGVQYXNzJiYocmEoZSx0KSxrbyh0KSYmZS5xdWVyaWVzLmVsZW1lbnRFbmQodCkpfWZ1bmN0aW9uIFBmKHQsZSxuKXt4Zih0LGUsbiksT2YoKX1mdW5jdGlvbiB3Zigpe3JldHVybiB4aSgpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBrZih0KXtyZXR1cm4hIXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW59ZnVuY3Rpb24gU2YodCl7cmV0dXJuISF0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC5zdWJzY3JpYmV9dWYuSU5KRUNUT1JfS0VZPUptLmdldChOcCk7Y29uc3QgRGY9U2Y7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFJmKHQsZSxuLG8pe2NvbnN0IGk9eGkoKSxhPU9pKCkscj13aSgpO3JldHVybiBBZihhLGksaVsxMV0scix0LGUsISFuLG8pLFJmfWZ1bmN0aW9uIEVmKHQsZSl7Y29uc3Qgbj13aSgpLG89eGkoKSxpPU9pKCk7cmV0dXJuIEFmKGksbyxtcChqaShpLmRhdGEpLG4sbyksbix0LGUsITEpLEVmfWZ1bmN0aW9uIEFmKHQsZSxuLG8saSxhLHIscyl7Y29uc3QgbD1EbyhvKSxjPXQuZmlyc3RDcmVhdGVQYXNzJiZwcCh0KSxkPWVbOF0scD1kcChlKTtuZ0Rldk1vZGUmJmdhKG8sMTUpO2xldCBtPSEwO2lmKDMmby50eXBlfHxzKXtjb25zdCBmPWRpKG8sZSksdT1zP3MoZik6ZixnPXAubGVuZ3RoLGg9cz90PT5zKGxpKHRbby5pbmRleF0pKTpvLmluZGV4O2lmKHJpKG4pKXtsZXQgcj1udWxsO2lmKCFzJiZsJiYocj0oZnVuY3Rpb24gZih0LGUsbixvKXtjb25zdCBpPXQuY2xlYW51cDtpZihudWxsIT1pKWZvcihsZXQgdD0wO3Q8aS5sZW5ndGgtMTt0Kz0yKXtjb25zdCBhPWlbdF07aWYoYT09PW4mJmlbdCsxXT09PW8pe2NvbnN0IG49ZVs3XSxvPWlbdCsyXTtyZXR1cm4gbi5sZW5ndGg+bz9uW29dOm51bGx9InN0cmluZyI9PXR5cGVvZiBhJiYodCs9Mil9cmV0dXJuIG51bGx9KSh0LGUsaSxvLmluZGV4KSksbnVsbCE9PXIpeyhyLl9fbmdMYXN0TGlzdGVuZXJGbl9ffHxyKS5fX25nTmV4dExpc3RlbmVyRm5fXz1hLHIuX19uZ0xhc3RMaXN0ZW5lckZuX189YSxtPSExfWVsc2V7YT1OZihvLGUsZCxhLCExKTtjb25zdCB0PW4ubGlzdGVuKHUsaSxhKTtuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckFkZEV2ZW50TGlzdGVuZXIrKyxwLnB1c2goYSx0KSxjJiZjLnB1c2goaSxoLGcsZysxKX19ZWxzZSBhPU5mKG8sZSxkLGEsITApLHUuYWRkRXZlbnRMaXN0ZW5lcihpLGEsciksbmdEZXZNb2RlJiZuZ0Rldk1vZGUucmVuZGVyZXJBZGRFdmVudExpc3RlbmVyKysscC5wdXNoKGEpLGMmJmMucHVzaChpLGgsZyxyKX1lbHNlIGE9TmYobyxlLGQsYSwhMSk7Y29uc3QgdT1vLm91dHB1dHM7bGV0IGc7aWYobSYmbnVsbCE9PXUmJihnPXVbaV0pKXtjb25zdCB0PWcubGVuZ3RoO2lmKHQpZm9yKGxldCBuPTA7bjx0O24rPTIpe2NvbnN0IHQ9Z1tuXTtuZ0Rldk1vZGUmJnduKGUsdCk7Y29uc3Qgcj1nW24rMV0scz1lW3RdLGw9c1tyXTtpZihuZ0Rldk1vZGUmJiFEZihsKSl0aHJvdyBuZXcgRXJyb3IoYEBPdXRwdXQgJHtyfSBub3QgaW5pdGlhbGl6ZWQgaW4gJyR7cy5jb25zdHJ1Y3Rvci5uYW1lfScuYCk7Y29uc3QgZD1sLnN1YnNjcmliZShhKSxtPXAubGVuZ3RoO3AucHVzaChhLGQpLGMmJmMucHVzaChpLG8uaW5kZXgsbSwtKG0rMSkpfX19ZnVuY3Rpb24gVGYodCxlLG4sbyl7dHJ5e3JldHVybiB0aSg2LGUsbiksITEhPT1uKG8pfWNhdGNoKGUpe3JldHVybiBmcCh0LGUpLCExfWZpbmFsbHl7dGkoNyxlLG4pfX1mdW5jdGlvbiBOZih0LGUsbixvLGkpe3JldHVybiBmdW5jdGlvbiBhKHIpe2lmKHI9PT1GdW5jdGlvbilyZXR1cm4gbztjb25zdCBzPTImdC5mbGFncz9maSh0LmluZGV4LGUpOmU7MD09KDMyJmVbMl0pJiZvcChzKTtsZXQgbD1UZihlLG4sbyxyKSxjPWEuX19uZ05leHRMaXN0ZW5lckZuX187Zm9yKDtjOylsPVRmKGUsbixjLHIpJiZsLGM9Yy5fX25nTmV4dExpc3RlbmVyRm5fXztyZXR1cm4gaSYmITE9PT1sJiYoci5wcmV2ZW50RGVmYXVsdCgpLHIucmV0dXJuVmFsdWU9ITEpLGx9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gemYodD0xKXtyZXR1cm4gJGkodCl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIElmKHQsZSl7bGV0IG49bnVsbDtjb25zdCBvPShmdW5jdGlvbiBpKHQpe2NvbnN0IGU9dC5hdHRycztpZihudWxsIT1lKXtjb25zdCB0PWUuaW5kZXhPZig1KTtpZigwPT0oMSZ0KSlyZXR1cm4gZVt0KzFdfXJldHVybiBudWxsfSkodCk7Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDtpKyspe2NvbnN0IGE9ZVtpXTtpZigiKiIhPT1hKXtpZihudWxsPT09bz9PYyh0LGEsITApOlBjKG8sYSkpcmV0dXJuIGl9ZWxzZSBuPWl9cmV0dXJuIG59ZnVuY3Rpb24gSGYodCl7Y29uc3QgZT14aSgpWzE2XVs2XTtpZighZS5wcm9qZWN0aW9uKXtjb25zdCBuPWUucHJvamVjdGlvbj1ncih0P3QubGVuZ3RoOjEsbnVsbCksbz1uLnNsaWNlKCk7bGV0IGk9ZS5jaGlsZDtmb3IoO251bGwhPT1pOyl7Y29uc3QgZT10P0lmKGksdCk6MDtudWxsIT09ZSYmKG9bZV0/b1tlXS5wcm9qZWN0aW9uTmV4dD1pOm5bZV09aSxvW2VdPWkpLGk9aS5uZXh0fX19ZnVuY3Rpb24gRmYodCxlPTAsbil7Y29uc3Qgbz14aSgpLGk9T2koKSxhPV9kKGksdm8rdCwxNixudWxsLG58fG51bGwpO251bGw9PT1hLnByb2plY3Rpb24mJihhLnByb2plY3Rpb249ZSksRWkoKSw2NCE9KDY0JmEuZmxhZ3MpJiYoZnVuY3Rpb24gcih0LGUsbil7ZmMoZVsxMV0sMCxlLG4sWGwodCxuLGUpLGVjKG4ucGFyZW50fHxlWzZdLG4sZSkpfSkoaSxvLGEpfWZ1bmN0aW9uIExmKHQsZSxuKXtyZXR1cm4gQmYodCwiIixlLCIiLG4pLExmfWZ1bmN0aW9uIEJmKHQsZSxuLG8saSl7Y29uc3QgYT14aSgpLHI9Q20oYSxlLG4sbyk7aWYociE9PVNjKXtjb25zdCBuPU9pKCkscz1uYSgpO3pkKG4scyxhLHQscixhWzExXSxpLCExKSxuZ0Rldk1vZGUmJmxwKG4uZGF0YSxzLHQsemkoKS0xLGUsbyl9cmV0dXJuIEJmfWZ1bmN0aW9uIFZmKHQsZSxuLG8saSxhLHIpe2NvbnN0IHM9eGkoKSxsPU1tKHMsZSxuLG8saSxhKTtpZihsIT09U2Mpe2NvbnN0IG49T2koKSxpPW5hKCk7emQobixpLHMsdCxsLHNbMTFdLHIsITEpLG5nRGV2TW9kZSYmbHAobi5kYXRhLGksdCx6aSgpLTIsZSxvLGEpfXJldHVybiBWZn1mdW5jdGlvbiBqZih0LGUsbixvLGksYSxyLHMsbCl7Y29uc3QgYz14aSgpLGQ9dm0oYyxlLG4sbyxpLGEscixzKTtpZihkIT09U2Mpe2NvbnN0IG49T2koKSxpPW5hKCk7emQobixpLGMsdCxkLGNbMTFdLGwsITEpLG5nRGV2TW9kZSYmbHAobi5kYXRhLGksdCx6aSgpLTMsZSxvLGEscyl9cmV0dXJuIGpmfWZ1bmN0aW9uIFVmKHQsZSxuLG8saSxhLHIscyxsLGMsZCl7Y29uc3QgcD14aSgpLG09eG0ocCxlLG4sbyxpLGEscixzLGwsYyk7aWYobSE9PVNjKXtjb25zdCBuPU9pKCksaT1uYSgpO3pkKG4saSxwLHQsbSxwWzExXSxkLCExKSxuZ0Rldk1vZGUmJmxwKG4uZGF0YSxpLHQsemkoKS00LGUsbyxhLHMsYyl9cmV0dXJuIFVmfWZ1bmN0aW9uIFdmKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0pe2NvbnN0IGY9eGkoKSx1PU9tKGYsZSxuLG8saSxhLHIscyxsLGMsZCxwKTtpZih1IT09U2Mpe2NvbnN0IG49T2koKSxpPW5hKCk7emQobixpLGYsdCx1LGZbMTFdLG0sITEpLG5nRGV2TW9kZSYmbHAobi5kYXRhLGksdCx6aSgpLTUsZSxvLGEscyxjLHApfXJldHVybiBXZn1mdW5jdGlvbiBHZih0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSl7Y29uc3QgZz14aSgpLGg9UG0oZyxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmKTtpZihoIT09U2Mpe2NvbnN0IG49T2koKSxpPW5hKCk7emQobixpLGcsdCxoLGdbMTFdLHUsITEpLG5nRGV2TW9kZSYmbHAobi5kYXRhLGksdCx6aSgpLTYsZSxvLGEscyxjLHAsZil9cmV0dXJuIEdmfWZ1bmN0aW9uIFlmKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCl7Y29uc3QgYj14aSgpLHk9d20oYixlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyk7aWYoeSE9PVNjKXtjb25zdCBuPU9pKCksaT1uYSgpO3pkKG4saSxiLHQseSxiWzExXSxoLCExKSxuZ0Rldk1vZGUmJmxwKG4uZGF0YSxpLHQsemkoKS03LGUsbyxhLHMsYyxwLGYsZyl9cmV0dXJuIFlmfWZ1bmN0aW9uIHFmKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCxiLHkpe2NvbnN0IF89eGkoKSxDPWttKF8sZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCxiKTtpZihDIT09U2Mpe2NvbnN0IG49T2koKSxpPW5hKCk7emQobixpLF8sdCxDLF9bMTFdLHksITEpLG5nRGV2TW9kZSYmbHAobi5kYXRhLGksdCx6aSgpLTgsZSxvLGEscyxjLHAsZixnLGIpfXJldHVybiBxZn1mdW5jdGlvbiBaZih0LGUsbil7Y29uc3Qgbz14aSgpLGk9X20obyxlKTtpZihpIT09U2Mpe2NvbnN0IGE9T2koKSxyPW5hKCk7aWYoemQoYSxyLG8sdCxpLG9bMTFdLG4sITEpLG5nRGV2TW9kZSl7Y29uc3Qgbj1bZVswXV07Zm9yKGxldCB0PTI7dDxlLmxlbmd0aDt0Kz0yKW4ucHVzaChlW3RdKTtscChhLmRhdGEscix0LHppKCktbi5sZW5ndGgrMSwuLi5uKX19cmV0dXJuIFpmfWZ1bmN0aW9uIFhmKHQsZSxuLG8saSxhKXtuZ0Rldk1vZGUmJkJvKE9pKCkpO2xldCByPWE/ZS5jbGFzc0JpbmRpbmdzOmUuc3R5bGVCaW5kaW5ncyxzPUFjKHIpLGw9emMocik7dFtvXT1uO2xldCBjLGQ9ITE7aWYoQXJyYXkuaXNBcnJheShuKSl7Y29uc3QgdD1uO2M9dFsxXSwobnVsbD09PWN8fHlyKHQsYyk+MCkmJihkPSEwKX1lbHNlIGM9bjtpZihpKXtpZigwIT09bCl7Y29uc3QgZT1BYyh0W3MrMV0pO3RbbysxXT1FYyhlLHMpLDAhPT1lJiYodFtlKzFdPUljKHRbZSsxXSxvKSksdFtzKzFdPShmdW5jdGlvbiBwKHQsZSl7cmV0dXJuIG5nRGV2TW9kZSYmcG4odCwiZXhwZWN0ZWQgbnVtYmVyIiksbmdEZXZNb2RlJiZtbihlLDAsMzI3NjcpLDEzMTA3MSZ0fGU8PDE3fSkodFtzKzFdLG8pfWVsc2UgdFtvKzFdPUVjKHMsMCksMCE9PXMmJih0W3MrMV09SWModFtzKzFdLG8pKSxzPW99ZWxzZSB0W28rMV09RWMobCwwKSxuZ0Rldk1vZGUmJmduKDAhPT1zJiYwPT09bCwhMSwiQWRkaW5nIHRlbXBsYXRlIGJpbmRpbmdzIGFmdGVyIGhvc3RCaW5kaW5ncyBpcyBub3QgYWxsb3dlZC4iKSwwPT09cz9zPW86dFtsKzFdPUljKHRbbCsxXSxvKSxsPW87ZCYmKHRbbysxXT1OYyh0W28rMV0pKSxLZih0LGMsbywhMCksS2YodCxjLG8sITEpLChmdW5jdGlvbiBtKHQsZSxuLG8saSl7Y29uc3QgYT1pP3QucmVzaWR1YWxDbGFzc2VzOnQucmVzaWR1YWxTdHlsZXM7bnVsbCE9YSYmInN0cmluZyI9PXR5cGVvZiBlJiZ5cihhLGUpPj0wJiYobltvKzFdPUZjKG5bbysxXSkpfSkoZSxjLHQsbyxhKSxyPUVjKHMsbCksYT9lLmNsYXNzQmluZGluZ3M9cjplLnN0eWxlQmluZGluZ3M9cn1mdW5jdGlvbiBLZih0LGUsbixvLGkpe2NvbnN0IGE9dFtuKzFdLHI9bnVsbD09PWU7bGV0IHM9bz9BYyhhKTp6YyhhKSxsPSExO2Zvcig7MCE9PXMmJighMT09PWx8fHIpOyl7bmdEZXZNb2RlJiZ3bih0LHMpO2NvbnN0IG49dFtzKzFdO0pmKHRbc10sZSkmJihsPSEwLHRbcysxXT1vP0ZjKG4pOk5jKG4pKSxzPW8/QWMobik6emMobil9bCYmKHRbbisxXT1vP05jKGEpOkZjKGEpKX1mdW5jdGlvbiBKZih0LGUpe3JldHVybiBuZ0Rldk1vZGUmJmhuKEFycmF5LmlzQXJyYXkoZSksITAsIkV4cGVjdGVkIHRoYXQgJ3RTdHlsaW5nS2V5JyBoYXMgYmVlbiB1bndyYXBwZWQiKSxudWxsPT09dHx8bnVsbD09ZXx8KEFycmF5LmlzQXJyYXkodCk/dFsxXTp0KT09PWV8fCEoIUFycmF5LmlzQXJyYXkodCl8fCJzdHJpbmciIT10eXBlb2YgZSkmJnlyKHQsZSk+PTB9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFFmPXt0ZXh0RW5kOjAsa2V5OjAsa2V5RW5kOjAsdmFsdWU6MCx2YWx1ZUVuZDowfTtmdW5jdGlvbiAkZih0KXtyZXR1cm4gdC5zdWJzdHJpbmcoUWYua2V5LFFmLmtleUVuZCl9ZnVuY3Rpb24gdHUodCl7cmV0dXJuIHQuc3Vic3RyaW5nKFFmLnZhbHVlLFFmLnZhbHVlRW5kKX1mdW5jdGlvbiBldSh0LGUpe2NvbnN0IG49UWYudGV4dEVuZDtyZXR1cm4gbj09PWU/LTE6KGU9UWYua2V5RW5kPShmdW5jdGlvbiBvKHQsZSxuKXtmb3IoO2U8biYmdC5jaGFyQ29kZUF0KGUpPjMyOyllKys7cmV0dXJuIGV9KSh0LFFmLmtleT1lLG4pLGl1KHQsZSxuKSl9ZnVuY3Rpb24gbnUodCxlKXtjb25zdCBuPVFmLnRleHRFbmQ7bGV0IG89UWYua2V5PWl1KHQsZSxuKTtyZXR1cm4gbj09PW8/LTE6KG89UWYua2V5RW5kPShmdW5jdGlvbiBpKHQsZSxuKXtsZXQgbztmb3IoO2U8biYmKDQ1PT09KG89dC5jaGFyQ29kZUF0KGUpKXx8OTU9PT1vfHwoLTMzJm8pPj02NSYmKC0zMyZvKTw9OTB8fG8+PTQ4JiZvPD01Nyk7KWUrKztyZXR1cm4gZX0pKHQsbyxuKSxvPWF1KHQsbyxuLDU4KSxvPVFmLnZhbHVlPWl1KHQsbyxuKSxvPVFmLnZhbHVlRW5kPShmdW5jdGlvbiBhKHQsZSxuKXtsZXQgbz0tMSxpPS0xLGE9LTEscj1lLHM9cjtmb3IoO3I8bjspe2NvbnN0IGw9dC5jaGFyQ29kZUF0KHIrKyk7aWYoNTk9PT1sKXJldHVybiBzOzM0PT09bHx8Mzk9PT1sP3M9cj1ydSh0LGwscixuKTplPT09ci00JiY4NT09PWEmJjgyPT09aSYmNzY9PT1vJiY0MD09PWw/cz1yPXJ1KHQsNDEscixuKTpsPjMyJiYocz1yKSxhPWksaT1vLG89LTMzJmx9cmV0dXJuIHN9KSh0LG8sbiksYXUodCxvLG4sNTkpKX1mdW5jdGlvbiBvdSh0KXtRZi5rZXk9MCxRZi5rZXlFbmQ9MCxRZi52YWx1ZT0wLFFmLnZhbHVlRW5kPTAsUWYudGV4dEVuZD10Lmxlbmd0aH1mdW5jdGlvbiBpdSh0LGUsbil7Zm9yKDtlPG4mJnQuY2hhckNvZGVBdChlKTw9MzI7KWUrKztyZXR1cm4gZX1mdW5jdGlvbiBhdSh0LGUsbixvKXtyZXR1cm4oZT1pdSh0LGUsbikpPG4mJihuZ0Rldk1vZGUmJnQuY2hhckNvZGVBdChlKSE9PW8mJnN1KHQsU3RyaW5nLmZyb21DaGFyQ29kZShvKSxlKSxlKyspLGV9ZnVuY3Rpb24gcnUodCxlLG4sbyl7bGV0IGk9LTEsYT1uO2Zvcig7YTxvOyl7Y29uc3Qgbj10LmNoYXJDb2RlQXQoYSsrKTtpZihuPT1lJiY5MiE9PWkpcmV0dXJuIGE7aT05Mj09biYmOTI9PT1pPzA6bn10aHJvdyBuZ0Rldk1vZGU/c3UodCxTdHJpbmcuZnJvbUNoYXJDb2RlKGUpLG8pOm5ldyBFcnJvcn1mdW5jdGlvbiBzdSh0LGUsbil7dGhyb3cgbmdEZXZNb2RlJiZnbigic3RyaW5nIj09dHlwZW9mIHQsITAsIlN0cmluZyBleHBlY3RlZCBoZXJlIiksT24oYE1hbGZvcm1lZCBzdHlsZSBhdCBsb2NhdGlvbiAke259IGluIHN0cmluZyAnYCt0LnN1YnN0cmluZygwLG4pKyJbPj4iK3Quc3Vic3RyaW5nKG4sbisxKSsiPDxdIit0LnN1YnN0cihuKzEpK2AnLiBFeHBlY3RpbmcgJyR7ZX0nLmApfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBsdSh0LGUsbil7cmV0dXJuIHV1KHQsZSxuLCExKSxsdX1mdW5jdGlvbiBjdSh0LGUpe3JldHVybiB1dSh0LGUsbnVsbCwhMCksY3V9ZnVuY3Rpb24gZHUodCl7Z3UoQ3UscHUsdCwhMSl9ZnVuY3Rpb24gcHUodCxlKXtmb3IobGV0IG49KGZ1bmN0aW9uIG4odCl7cmV0dXJuIG91KHQpLG51KHQsaXUodCwwLFFmLnRleHRFbmQpKX0pKGUpO24+PTA7bj1udShlLG4pKUN1KHQsJGYoZSksdHUoZSkpfWZ1bmN0aW9uIG11KHQpe2d1KGhyLGZ1LHQsITApfWZ1bmN0aW9uIGZ1KHQsZSl7Zm9yKGxldCBuPShmdW5jdGlvbiBuKHQpe3JldHVybiBvdSh0KSxldSh0LGl1KHQsMCxRZi50ZXh0RW5kKSl9KShlKTtuPj0wO249ZXUoZSxuKSlocih0LCRmKGUpLCEwKX1mdW5jdGlvbiB1dSh0LGUsbixvKXtjb25zdCBpPXhpKCksYT1PaSgpLHI9RmkoMik7aWYoYS5maXJzdFVwZGF0ZVBhc3MmJmJ1KGEsdCxyLG8pLGUhPT1TYyYmdW0oaSxyLGUpKXtNdShhLGEuZGF0YVt0YSgpXSxpLGlbMTFdLHQsaVtyKzFdPShmdW5jdGlvbiBzKHQsZSl7bnVsbD09dHx8KCJzdHJpbmciPT10eXBlb2YgZT90Kz1lOiJvYmplY3QiPT10eXBlb2YgdCYmKHQ9S2UodXModCkpKSk7cmV0dXJuIHR9KShlLG4pLG8scil9fWZ1bmN0aW9uIGd1KHQsZSxuLG8pe2NvbnN0IGk9T2koKSxhPUZpKDIpO2kuZmlyc3RVcGRhdGVQYXNzJiZidShpLG51bGwsYSxvKTtjb25zdCByPXhpKCk7aWYobiE9PVNjJiZ1bShyLGEsbikpe2NvbnN0IHM9aS5kYXRhW3RhKCldO2lmKE91KHMsbykmJiFodShpLGEpKXtpZihuZ0Rldk1vZGUpe2NvbnN0IHQ9aS5kYXRhW2FdO2duKEFycmF5LmlzQXJyYXkodCk/dFsxXTp0LCExLCJTdHlsaW5nIGxpbmtlZCBsaXN0IHNoYWRvdyBpbnB1dCBzaG91bGQgYmUgbWFya2VkIGFzICdmYWxzZSciKX1sZXQgdD1vP3MuY2xhc3Nlc1dpdGhvdXRIb3N0OnMuc3R5bGVzV2l0aG91dEhvc3Q7bmdEZXZNb2RlJiYhMT09PW8mJm51bGwhPT10JiZnbih0LmVuZHNXaXRoKCI7IiksITAsIkV4cGVjdGluZyBzdGF0aWMgcG9ydGlvbiB0byBlbmQgd2l0aCAnOyciKSxudWxsIT09dCYmKG49SmUodCxufHwiIikpLHlmKGkscyxyLG4sbyl9ZWxzZSEoZnVuY3Rpb24gbCh0LGUsbixvLGksYSxyLHMpe2k9PT1TYyYmKGk9UW4pO2xldCBsPTAsYz0wLGQ9MDxpLmxlbmd0aD9pWzBdOm51bGwscD0wPGEubGVuZ3RoP2FbMF06bnVsbDtmb3IoO251bGwhPT1kfHxudWxsIT09cDspe25nRGV2TW9kZSYmX24obCw5OTksIkFyZSB3ZSBzdHVjayBpbiBpbmZpbml0ZSBsb29wPyIpLG5nRGV2TW9kZSYmX24oYyw5OTksIkFyZSB3ZSBzdHVjayBpbiBpbmZpbml0ZSBsb29wPyIpO2NvbnN0IG09bDxpLmxlbmd0aD9pW2wrMV06dm9pZCAwLGY9YzxhLmxlbmd0aD9hW2MrMV06dm9pZCAwO2xldCB1LGc9bnVsbDtkPT09cD8obCs9MixjKz0yLG0hPT1mJiYoZz1wLHU9ZikpOm51bGw9PT1wfHxudWxsIT09ZCYmZDxwPyhsKz0yLGc9ZCk6KG5nRGV2TW9kZSYmeG4ocCwiRXhwZWN0aW5nIHRvIGhhdmUgYSB2YWxpZCBrZXkiKSxjKz0yLGc9cCx1PWYpLG51bGwhPT1nJiZNdSh0LGUsbixvLGcsdSxyLHMpLGQ9bDxpLmxlbmd0aD9pW2xdOm51bGwscD1jPGEubGVuZ3RoP2FbY106bnVsbH19KShpLHMscixyWzExXSxyW2ErMV0sclthKzFdPShmdW5jdGlvbiBzKHQsZSxuKXtpZihudWxsPT1ufHwiIj09PW4pcmV0dXJuIFFuO2NvbnN0IG89W10saT11cyhuKTtpZihBcnJheS5pc0FycmF5KGkpKWZvcihsZXQgZT0wO2U8aS5sZW5ndGg7ZSsrKXQobyxpW2VdLCEwKTtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgaSlmb3IoY29uc3QgZSBpbiBpKWkuaGFzT3duUHJvcGVydHkoZSkmJnQobyxlLGlbZV0pO2Vsc2Uic3RyaW5nIj09dHlwZW9mIGk/ZShvLGkpOm5nRGV2TW9kZSYmT24oIlVuc3VwcG9ydGVkIHN0eWxpbmcgdHlwZSAiK3R5cGVvZiBpKyI6ICIraSk7cmV0dXJuIG99KSh0LGUsbiksbyxhKX19ZnVuY3Rpb24gaHUodCxlKXtyZXR1cm4gZT49dC5leHBhbmRvU3RhcnRJbmRleH1mdW5jdGlvbiBidSh0LGUsbixvKXtuZ0Rldk1vZGUmJkJvKHQpO2NvbnN0IGk9dC5kYXRhO2lmKG51bGw9PT1pW24rMV0pe2NvbnN0IGE9aVt0YSgpXTtuZ0Rldk1vZGUmJnhuKGEsIlROb2RlIGV4cGVjdGVkIik7Y29uc3Qgcj1odSh0LG4pO091KGEsbykmJm51bGw9PT1lJiYhciYmKGU9ITEpLGU9KGZ1bmN0aW9uIGEodCxlLG4sbyl7Y29uc3QgaT1qaSh0KTtsZXQgYT1vP2UucmVzaWR1YWxDbGFzc2VzOmUucmVzaWR1YWxTdHlsZXM7aWYobnVsbD09PWkpezA9PT0obz9lLmNsYXNzQmluZGluZ3M6ZS5zdHlsZUJpbmRpbmdzKSYmKG49X3Uobj15dShudWxsLHQsZSxuLG8pLGUuYXR0cnMsbyksYT1udWxsKX1lbHNle2NvbnN0IHI9ZS5kaXJlY3RpdmVTdHlsaW5nTGFzdDtpZigtMT09PXJ8fHRbcl0hPT1pKWlmKG49eXUoaSx0LGUsbixvKSxudWxsPT09YSl7bGV0IG49KGZ1bmN0aW9uIHIodCxlLG4pe2NvbnN0IG89bj9lLmNsYXNzQmluZGluZ3M6ZS5zdHlsZUJpbmRpbmdzO2lmKDA9PT16YyhvKSlyZXR1cm47cmV0dXJuIHRbQWMobyldfSkodCxlLG8pO3ZvaWQgMCE9PW4mJkFycmF5LmlzQXJyYXkobikmJihuPXl1KG51bGwsdCxlLG5bMV0sbyksbj1fdShuLGUuYXR0cnMsbyksKGZ1bmN0aW9uIHModCxlLG4sbyl7Y29uc3QgaT1uP2UuY2xhc3NCaW5kaW5nczplLnN0eWxlQmluZGluZ3M7bmdEZXZNb2RlJiZobih6YyhpKSwwLCJFeHBlY3RpbmcgdG8gaGF2ZSBhdCBsZWFzdCBvbmUgdGVtcGxhdGUgc3R5bGluZyBiaW5kaW5nLiIpLHRbQWMoaSldPW99KSh0LGUsbyxuKSl9ZWxzZSBhPShmdW5jdGlvbiBsKHQsZSxuKXtsZXQgbztjb25zdCBpPWUuZGlyZWN0aXZlRW5kO25nRGV2TW9kZSYmaG4oZS5kaXJlY3RpdmVTdHlsaW5nTGFzdCwtMSwiQnkgdGhlIHRpbWUgdGhpcyBmdW5jdGlvbiBnZXRzIGNhbGxlZCBhdCBsZWFzdCBvbmUgaG9zdEJpbmRpbmdzLW5vZGUgc3R5bGluZyBpbnN0cnVjdGlvbiBtdXN0IGhhdmUgZXhlY3V0ZWQuIik7Zm9yKGxldCBhPTErZS5kaXJlY3RpdmVTdHlsaW5nTGFzdDthPGk7YSsrKXtvPV91KG8sdFthXS5ob3N0QXR0cnMsbil9cmV0dXJuIF91KG8sZS5hdHRycyxuKX0pKHQsZSxvKX12b2lkIDAhPT1hJiYobz9lLnJlc2lkdWFsQ2xhc3Nlcz1hOmUucmVzaWR1YWxTdHlsZXM9YSk7cmV0dXJuIG59KShpLGEsZSxvKSxYZihpLGEsZSxuLHIsbyl9fWZ1bmN0aW9uIHl1KHQsZSxuLG8saSl7bGV0IGE9bnVsbDtjb25zdCByPW4uZGlyZWN0aXZlRW5kO2xldCBzPW4uZGlyZWN0aXZlU3R5bGluZ0xhc3Q7Zm9yKC0xPT09cz9zPW4uZGlyZWN0aXZlU3RhcnQ6cysrO3M8ciYmKGE9ZVtzXSxuZ0Rldk1vZGUmJnhuKGEsImV4cGVjdGVkIHRvIGJlIGRlZmluZWQiKSxvPV91KG8sYS5ob3N0QXR0cnMsaSksYSE9PXQpOylzKys7cmV0dXJuIG51bGwhPT10JiYobi5kaXJlY3RpdmVTdHlsaW5nTGFzdD1zKSxvfWZ1bmN0aW9uIF91KHQsZSxuKXtjb25zdCBvPW4/MToyO2xldCBpPS0xO2lmKG51bGwhPT1lKWZvcihsZXQgYT0wO2E8ZS5sZW5ndGg7YSsrKXtjb25zdCByPWVbYV07Im51bWJlciI9PXR5cGVvZiByP2k9cjppPT09byYmKEFycmF5LmlzQXJyYXkodCl8fCh0PXZvaWQgMD09PXQ/W106WyIiLHRdKSxocih0LHIsISFufHxlWysrYV0pKX1yZXR1cm4gdm9pZCAwPT09dD9udWxsOnR9ZnVuY3Rpb24gQ3UodCxlLG4pe2hyKHQsZSx1cyhuKSl9ZnVuY3Rpb24gTXUodCxlLG4sbyxpLGEscixzKXtpZighKDMmZS50eXBlKSlyZXR1cm47Y29uc3QgbD10LmRhdGEsYz1sW3MrMV07aWYoIXh1KEhjKGMpP3Z1KGwsZSxuLGksemMoYykscik6dm9pZCAwKSl7eHUoYSl8fFRjKGMpJiYoYT12dShsLG51bGwsbixpLHMscikpOyEoZnVuY3Rpb24gZCh0LGUsbixvLGkpe2NvbnN0IGE9cmkodCk7aWYoZSlpPyhuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckFkZENsYXNzKyssYT90LmFkZENsYXNzKG4sbyk6KG5nRGV2TW9kZSYmeG4obi5jbGFzc0xpc3QsIkhUTUxFbGVtZW50IGV4cGVjdGVkIiksbi5jbGFzc0xpc3QuYWRkKG8pKSk6KG5nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyUmVtb3ZlQ2xhc3MrKyxhP3QucmVtb3ZlQ2xhc3MobixvKTpuLmNsYXNzTGlzdC5yZW1vdmUobykpO2Vsc2V7bGV0IGU9LTE9PT1vLmluZGV4T2YoIi0iKT92b2lkIDA6RWwuRGFzaENhc2U7aWYobnVsbD09aSluZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlclJlbW92ZVN0eWxlKyssYT90LnJlbW92ZVN0eWxlKG4sbyxlKTpuLnN0eWxlLnJlbW92ZVByb3BlcnR5KG8pO2Vsc2V7Y29uc3Qgcj0ic3RyaW5nIj09dHlwZW9mIGkmJmkuZW5kc1dpdGgoIiFpbXBvcnRhbnQiKTtyJiYoaT1pLnNsaWNlKDAsLTEwKSxlfD1FbC5JbXBvcnRhbnQpLG5nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyU2V0U3R5bGUrKyxhP3Quc2V0U3R5bGUobixvLGksZSk6KG5nRGV2TW9kZSYmeG4obi5zdHlsZSwiSFRNTEVsZW1lbnQgZXhwZWN0ZWQiKSxuLnN0eWxlLnNldFByb3BlcnR5KG8saSxyPyJpbXBvcnRhbnQiOiIiKSl9fX0pKG8scixjaSh0YSgpLG4pLGksYSl9fWZ1bmN0aW9uIHZ1KHQsZSxuLG8saSxhKXtjb25zdCByPW51bGw9PT1lO2xldCBzO2Zvcig7aT4wOyl7Y29uc3QgZT10W2ldLGE9QXJyYXkuaXNBcnJheShlKSxsPWE/ZVsxXTplLGM9bnVsbD09PWw7bGV0IGQ9bltpKzFdO2Q9PT1TYyYmKGQ9Yz9Rbjp2b2lkIDApO2xldCBwPWM/YnIoZCxvKTpsPT09bz9kOnZvaWQgMDtpZihhJiYheHUocCkmJihwPWJyKGUsbykpLHh1KHApJiYocz1wLHIpKXJldHVybiBzO2NvbnN0IG09dFtpKzFdO2k9cj9BYyhtKTp6YyhtKX1pZihudWxsIT09ZSl7bGV0IHQ9YT9lLnJlc2lkdWFsQ2xhc3NlczplLnJlc2lkdWFsU3R5bGVzO251bGwhPXQmJihzPWJyKHQsbykpfXJldHVybiBzfWZ1bmN0aW9uIHh1KHQpe3JldHVybiB2b2lkIDAhPT10fWZ1bmN0aW9uIE91KHQsZSl7cmV0dXJuIDAhPSh0LmZsYWdzJihlPzE2OjMyKSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFB1KHQsZT0iIil7Y29uc3Qgbj14aSgpLG89T2koKSxpPXQrdm87bmdEZXZNb2RlJiZnbih6aSgpLG8uYmluZGluZ1N0YXJ0SW5kZXgsInRleHQgbm9kZXMgc2hvdWxkIGJlIGNyZWF0ZWQgYmVmb3JlIGFueSBiaW5kaW5ncyIpLG5nRGV2TW9kZSYmd24obixpKTtjb25zdCBhPW8uZmlyc3RDcmVhdGVQYXNzP19kKG8saSwxLGUsbnVsbCk6by5kYXRhW2ldLHI9bltpXT1CbChuWzExXSxlKTtyYyhvLG4scixhKSxEaShhLCExKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gd3UodCl7cmV0dXJuIGt1KCIiLHQsIiIpLHd1fWZ1bmN0aW9uIGt1KHQsZSxuKXtjb25zdCBvPXhpKCksaT1DbShvLHQsZSxuKTtyZXR1cm4gaSE9PVNjJiZncChvLHRhKCksaSksa3V9ZnVuY3Rpb24gU3UodCxlLG4sbyxpKXtjb25zdCBhPXhpKCkscj1NbShhLHQsZSxuLG8saSk7cmV0dXJuIHIhPT1TYyYmZ3AoYSx0YSgpLHIpLFN1fWZ1bmN0aW9uIER1KHQsZSxuLG8saSxhLHIpe2NvbnN0IHM9eGkoKSxsPXZtKHMsdCxlLG4sbyxpLGEscik7cmV0dXJuIGwhPT1TYyYmZ3Aocyx0YSgpLGwpLER1fWZ1bmN0aW9uIFJ1KHQsZSxuLG8saSxhLHIscyxsKXtjb25zdCBjPXhpKCksZD14bShjLHQsZSxuLG8saSxhLHIscyxsKTtyZXR1cm4gZCE9PVNjJiZncChjLHRhKCksZCksUnV9ZnVuY3Rpb24gRXUodCxlLG4sbyxpLGEscixzLGwsYyxkKXtjb25zdCBwPXhpKCksbT1PbShwLHQsZSxuLG8saSxhLHIscyxsLGMsZCk7cmV0dXJuIG0hPT1TYyYmZ3AocCx0YSgpLG0pLEV1fWZ1bmN0aW9uIEF1KHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0pe2NvbnN0IGY9eGkoKSx1PVBtKGYsdCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSk7cmV0dXJuIHUhPT1TYyYmZ3AoZix0YSgpLHUpLEF1fWZ1bmN0aW9uIFR1KHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1KXtjb25zdCBnPXhpKCksaD13bShnLHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1KTtyZXR1cm4gaCE9PVNjJiZncChnLHRhKCksaCksVHV9ZnVuY3Rpb24gTnUodCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoKXtjb25zdCBiPXhpKCkseT1rbShiLHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCk7cmV0dXJuIHkhPT1TYyYmZ3AoYix0YSgpLHkpLE51fWZ1bmN0aW9uIHp1KHQpe2NvbnN0IGU9eGkoKSxuPV9tKGUsdCk7cmV0dXJuIG4hPT1TYyYmZ3AoZSx0YSgpLG4pLHp1fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBJdSh0LGUsbil7Z3UoaHIsZnUsQ20oeGkoKSx0LGUsbiksITApfWZ1bmN0aW9uIEh1KHQsZSxuLG8saSl7Z3UoaHIsZnUsTW0oeGkoKSx0LGUsbixvLGkpLCEwKX1mdW5jdGlvbiBGdSh0LGUsbixvLGksYSxyKXtndShocixmdSx2bSh4aSgpLHQsZSxuLG8saSxhLHIpLCEwKX1mdW5jdGlvbiBMdSh0LGUsbixvLGksYSxyLHMsbCl7Z3UoaHIsZnUseG0oeGkoKSx0LGUsbixvLGksYSxyLHMsbCksITApfWZ1bmN0aW9uIEJ1KHQsZSxuLG8saSxhLHIscyxsLGMsZCl7Z3UoaHIsZnUsT20oeGkoKSx0LGUsbixvLGksYSxyLHMsbCxjLGQpLCEwKX1mdW5jdGlvbiBWdSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtKXtndShocixmdSxQbSh4aSgpLHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0pLCEwKX1mdW5jdGlvbiBqdSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSl7Z3UoaHIsZnUsd20oeGkoKSx0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSksITApfWZ1bmN0aW9uIFV1KHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCl7Z3UoaHIsZnUsa20oeGkoKSx0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnLGgpLCEwKX1mdW5jdGlvbiBXdSh0KXtndShocixmdSxfbSh4aSgpLHQpLCEwKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gR3UodCxlLG4pe2R1KENtKHhpKCksdCxlLG4pKX1mdW5jdGlvbiBZdSh0LGUsbixvLGkpe2R1KE1tKHhpKCksdCxlLG4sbyxpKSl9ZnVuY3Rpb24gcXUodCxlLG4sbyxpLGEscil7ZHUodm0oeGkoKSx0LGUsbixvLGksYSxyKSl9ZnVuY3Rpb24gWnUodCxlLG4sbyxpLGEscixzLGwpe2R1KHhtKHhpKCksdCxlLG4sbyxpLGEscixzLGwpKX1mdW5jdGlvbiBYdSh0LGUsbixvLGksYSxyLHMsbCxjLGQpe2R1KE9tKHhpKCksdCxlLG4sbyxpLGEscixzLGwsYyxkKSl9ZnVuY3Rpb24gS3UodCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSl7ZHUoUG0oeGkoKSx0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtKSl9ZnVuY3Rpb24gSnUodCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUpe2R1KHdtKHhpKCksdCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUpKX1mdW5jdGlvbiBRdSh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnLGgpe2R1KGttKHhpKCksdCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoKSl9ZnVuY3Rpb24gJHUodCl7ZHUoX20oeGkoKSx0KSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIHRnKHQsZSxuLG8saSl7cmV0dXJuIHV1KHQsQ20oeGkoKSxlLG4sbyksaSwhMSksdGd9ZnVuY3Rpb24gZWcodCxlLG4sbyxpLGEscil7cmV0dXJuIHV1KHQsTW0oeGkoKSxlLG4sbyxpLGEpLHIsITEpLGVnfWZ1bmN0aW9uIG5nKHQsZSxuLG8saSxhLHIscyxsKXtyZXR1cm4gdXUodCx2bSh4aSgpLGUsbixvLGksYSxyLHMpLGwsITEpLG5nfWZ1bmN0aW9uIG9nKHQsZSxuLG8saSxhLHIscyxsLGMsZCl7cmV0dXJuIHV1KHQseG0oeGkoKSxlLG4sbyxpLGEscixzLGwsYyksZCwhMSksb2d9ZnVuY3Rpb24gaWcodCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSl7cmV0dXJuIHV1KHQsT20oeGkoKSxlLG4sbyxpLGEscixzLGwsYyxkLHApLG0sITEpLGlnfWZ1bmN0aW9uIGFnKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1KXtyZXR1cm4gdXUodCxQbSh4aSgpLGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYpLHUsITEpLGFnfWZ1bmN0aW9uIHJnKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZix1LGcsaCl7cmV0dXJuIHV1KHQsd20oeGkoKSxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyksaCwhMSkscmd9ZnVuY3Rpb24gc2codCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoLGIseSl7cmV0dXJuIHV1KHQsa20oeGkoKSxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoLGIpLHksITEpLHNnfWZ1bmN0aW9uIGxnKHQsZSxuKXtyZXR1cm4gdXUodCxfbSh4aSgpLGUpLG4sITEpLGxnfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBjZyh0LGUsbil7Y29uc3Qgbz14aSgpLGk9SGkoKTtpZih1bShvLGksZSkpe2NvbnN0IGE9T2koKSxyPW5hKCk7emQoYSxyLG8sdCxlLG9bMTFdLG4sITApLG5nRGV2TW9kZSYmbHAoYS5kYXRhLHIsdCxpKX1yZXR1cm4gY2d9ZnVuY3Rpb24gZGcodCxlLG4pe2NvbnN0IG89eGkoKSxpPUhpKCk7aWYodW0obyxpLGUpKXtjb25zdCBhPU9pKCkscj1uYSgpO3pkKGEscixvLHQsZSxtcChqaShhLmRhdGEpLHIsbyksbiwhMCksbmdEZXZNb2RlJiZscChhLmRhdGEscix0LGkpfXJldHVybiBkZ30KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmKFhuLm5nSTE4bkNsb3N1cmVNb2RlPSJ1bmRlZmluZWQiIT10eXBlb2YgZ29vZyYmImZ1bmN0aW9uIj09dHlwZW9mIGdvb2cuZ2V0TXNnKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgcGc9dm9pZCAwO3ZhciBtZz1bImVuIixbWyJhIiwicCJdLFsiQU0iLCJQTSJdLHBnXSxbWyJBTSIsIlBNIl0scGcscGddLFtbIlMiLCJNIiwiVCIsIlciLCJUIiwiRiIsIlMiXSxbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLFsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSxbIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl1dLHBnLFtbIkoiLCJGIiwiTSIsIkEiLCJNIiwiSiIsIkoiLCJBIiwiUyIsIk8iLCJOIiwiRCJdLFsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl0sWyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdXSxwZyxbWyJCIiwiQSJdLFsiQkMiLCJBRCJdLFsiQmVmb3JlIENocmlzdCIsIkFubm8gRG9taW5pIl1dLDAsWzYsMF0sWyJNL2QveXkiLCJNTU0gZCwgeSIsIk1NTU0gZCwgeSIsIkVFRUUsIE1NTU0gZCwgeSJdLFsiaDptbSBhIiwiaDptbTpzcyBhIiwiaDptbTpzcyBhIHoiLCJoOm1tOnNzIGEgenp6eiJdLFsiezF9LCB7MH0iLHBnLCJ7MX0gJ2F0JyB7MH0iLHBnXSxbIi4iLCIsIiwiOyIsIiUiLCIrIiwiLSIsIkUiLCLDlyIsIuKAsCIsIuKIniIsIk5hTiIsIjoiXSxbIiMsIyMwLiMjIyIsIiMsIyMwJSIsIsKkIywjIzAuMDAiLCIjRTAiXSwiVVNEIiwiJCIsIlVTIERvbGxhciIse30sImx0ciIsZnVuY3Rpb24gZmcodCl7Y29uc3QgZT1NYXRoLmZsb29yKE1hdGguYWJzKHQpKSxuPXQudG9TdHJpbmcoKS5yZXBsYWNlKC9eW14uXSpcLj8vLCIiKS5sZW5ndGg7cmV0dXJuIDE9PT1lJiYwPT09bj8xOjV9XTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovbGV0IHVnPXt9O2Z1bmN0aW9uIGdnKHQpe2NvbnN0IGU9KGZ1bmN0aW9uIG4odCl7cmV0dXJuIHQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9fL2csIi0iKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0KTtsZXQgbz1iZyhlKTtpZihvKXJldHVybiBvO2NvbnN0IGk9ZS5zcGxpdCgiLSIpWzBdO2lmKG89YmcoaSksbylyZXR1cm4gbztpZigiZW4iPT09aSlyZXR1cm4gbWc7dGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIGxvY2FsZSBkYXRhIGZvciB0aGUgbG9jYWxlICIke3R9Ii5gKX1mdW5jdGlvbiBoZyh0KXtyZXR1cm4gZ2codClbeWcuUGx1cmFsQ2FzZV19ZnVuY3Rpb24gYmcodCl7cmV0dXJuIHQgaW4gdWd8fCh1Z1t0XT1Ybi5uZyYmWG4ubmcuY29tbW9uJiZYbi5uZy5jb21tb24ubG9jYWxlcyYmWG4ubmcuY29tbW9uLmxvY2FsZXNbdF0pLHVnW3RdfXZhciB5ZzshKGZ1bmN0aW9uKHQpe3RbdC5Mb2NhbGVJZD0wXT0iTG9jYWxlSWQiLHRbdC5EYXlQZXJpb2RzRm9ybWF0PTFdPSJEYXlQZXJpb2RzRm9ybWF0Iix0W3QuRGF5UGVyaW9kc1N0YW5kYWxvbmU9Ml09IkRheVBlcmlvZHNTdGFuZGFsb25lIix0W3QuRGF5c0Zvcm1hdD0zXT0iRGF5c0Zvcm1hdCIsdFt0LkRheXNTdGFuZGFsb25lPTRdPSJEYXlzU3RhbmRhbG9uZSIsdFt0Lk1vbnRoc0Zvcm1hdD01XT0iTW9udGhzRm9ybWF0Iix0W3QuTW9udGhzU3RhbmRhbG9uZT02XT0iTW9udGhzU3RhbmRhbG9uZSIsdFt0LkVyYXM9N109IkVyYXMiLHRbdC5GaXJzdERheU9mV2Vlaz04XT0iRmlyc3REYXlPZldlZWsiLHRbdC5XZWVrZW5kUmFuZ2U9OV09IldlZWtlbmRSYW5nZSIsdFt0LkRhdGVGb3JtYXQ9MTBdPSJEYXRlRm9ybWF0Iix0W3QuVGltZUZvcm1hdD0xMV09IlRpbWVGb3JtYXQiLHRbdC5EYXRlVGltZUZvcm1hdD0xMl09IkRhdGVUaW1lRm9ybWF0Iix0W3QuTnVtYmVyU3ltYm9scz0xM109Ik51bWJlclN5bWJvbHMiLHRbdC5OdW1iZXJGb3JtYXRzPTE0XT0iTnVtYmVyRm9ybWF0cyIsdFt0LkN1cnJlbmN5Q29kZT0xNV09IkN1cnJlbmN5Q29kZSIsdFt0LkN1cnJlbmN5U3ltYm9sPTE2XT0iQ3VycmVuY3lTeW1ib2wiLHRbdC5DdXJyZW5jeU5hbWU9MTddPSJDdXJyZW5jeU5hbWUiLHRbdC5DdXJyZW5jaWVzPTE4XT0iQ3VycmVuY2llcyIsdFt0LkRpcmVjdGlvbmFsaXR5PTE5XT0iRGlyZWN0aW9uYWxpdHkiLHRbdC5QbHVyYWxDYXNlPTIwXT0iUGx1cmFsQ2FzZSIsdFt0LkV4dHJhRGF0YT0yMV09IkV4dHJhRGF0YSJ9KSh5Z3x8KHlnPXt9KSk7Y29uc3QgX2c9WyJ6ZXJvIiwib25lIiwidHdvIiwiZmV3IiwibWFueSJdO2NvbnN0IENnPSJlbi1VUyIsTWc9e21hcmtlcjoiZWxlbWVudCJ9LHZnPXttYXJrZXI6IklDVSJ9O3ZhciB4ZzshKGZ1bmN0aW9uKHQpe3RbdC5TSElGVD0yXT0iU0hJRlQiLHRbdC5BUFBFTkRfRUFHRVJMWT0xXT0iQVBQRU5EX0VBR0VSTFkiLHRbdC5DT01NRU5UPTJdPSJDT01NRU5UIn0pKHhnfHwoeGc9e30pKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBPZz1DZztmdW5jdGlvbiBQZyh0KXt4bih0LCJFeHBlY3RlZCBsb2NhbGVJZCB0byBiZSBkZWZpbmVkIiksInN0cmluZyI9PXR5cGVvZiB0JiYoT2c9dC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL18vZywiLSIpKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIHdnKHQsZSxuKXtjb25zdCBvPWUuaW5zZXJ0QmVmb3JlSW5kZXgsaT1BcnJheS5pc0FycmF5KG8pP29bMF06bztyZXR1cm4gbnVsbD09PWk/bmModCwwLG4pOihuZ0Rldk1vZGUmJnduKG4saSksbGkobltpXSkpfWZ1bmN0aW9uIGtnKHQsZSxuLG8saSl7Y29uc3QgYT1lLmluc2VydEJlZm9yZUluZGV4O2lmKEFycmF5LmlzQXJyYXkoYSkpe25nRGV2TW9kZSYmUG4obyk7bGV0IHI9byxzPW51bGw7aWYoMyZlLnR5cGV8fChzPXIscj1pKSxudWxsIT09ciYmMD09KDImZS5mbGFncykpZm9yKGxldCBlPTE7ZTxhLmxlbmd0aDtlKyspe0psKHQscixuW2FbZV1dLHMsITEpfX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFNnKHQsZSl7aWYobmdEZXZNb2RlJiZnbihlLmluc2VydEJlZm9yZUluZGV4LG51bGwsIldlIGV4cGVjdCB0aGF0IGluc2VydEJlZm9yZUluZGV4IGlzIG5vdCBzZXQiKSx0LnB1c2goZSksdC5sZW5ndGg+MSlmb3IobGV0IG49dC5sZW5ndGgtMjtuPj0wO24tLSl7Y29uc3Qgbz10W25dO0RnKG8pfHxSZyhvLGUpJiZudWxsPT09RWcobykmJkFnKG8sZS5pbmRleCl9fWZ1bmN0aW9uIERnKHQpe3JldHVybiEoNjQmdC50eXBlKX1mdW5jdGlvbiBSZyh0LGUpe3JldHVybiBEZyhlKXx8dC5pbmRleD5lLmluZGV4fWZ1bmN0aW9uIEVnKHQpe2NvbnN0IGU9dC5pbnNlcnRCZWZvcmVJbmRleDtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lWzBdOmV9ZnVuY3Rpb24gQWcodCxlKXtjb25zdCBuPXQuaW5zZXJ0QmVmb3JlSW5kZXg7QXJyYXkuaXNBcnJheShuKT9uWzBdPWU6KGFjKHdnLGtnKSx0Lmluc2VydEJlZm9yZUluZGV4PWUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBUZyh0LGUpe2NvbnN0IG49dC5kYXRhW2VdO2lmKG51bGw9PT1ufHwic3RyaW5nIj09dHlwZW9mIG4pcmV0dXJuIG51bGw7IW5nRGV2TW9kZXx8bi5oYXNPd25Qcm9wZXJ0eSgidFZpZXdzIil8fG4uaGFzT3duUHJvcGVydHkoImN1cnJlbnRDYXNlTFZpZXdJbmRleCIpfHxPbigiV2UgZXhwZWN0IHRvIGdldCAnbnVsbCd8J1RJY3UnfCdUSWN1Q29udGFpbmVyJywgYnV0IGdvdDogIituKTtjb25zdCBvPW4uaGFzT3duUHJvcGVydHkoImN1cnJlbnRDYXNlTFZpZXdJbmRleCIpP246bi52YWx1ZTtyZXR1cm4gbmdEZXZNb2RlJiZObyhvKSxvfWZ1bmN0aW9uIE5nKHQsZSxuKXtjb25zdCBvPUNkKHQsbiw2NCxudWxsLG51bGwpO3JldHVybiBTZyhlLG8pLG99ZnVuY3Rpb24gemcodCxlKXtjb25zdCBuPWVbdC5jdXJyZW50Q2FzZUxWaWV3SW5kZXhdO3JldHVybiBudWxsPT09bj9uOm48MD9+bjpufWZ1bmN0aW9uIElnKHQpe3JldHVybiB0Pj4+MTd9ZnVuY3Rpb24gSGcodCl7cmV0dXJuKDEzMTA3MCZ0KT4+PjF9ZnVuY3Rpb24gRmcodCl7cmV0dXJuIDEmdH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBMZz0wLEJnPTA7ZnVuY3Rpb24gVmcodCxlLG4sbyl7bmdEZXZNb2RlJiZQbihvKTtjb25zdCBpPW5bMTFdO2xldCBhLHI9bnVsbDtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyl7Y29uc3QgbD1lW3NdO2lmKCJzdHJpbmciPT10eXBlb2YgbCl7Y29uc3QgdD1lWysrc107bnVsbD09PW5bdF0mJihuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckNyZWF0ZVRleHROb2RlKyssbmdEZXZNb2RlJiZ3bihuLHQpLG5bdF09QmwoaSxsKSl9ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGwpc3dpdGNoKDEmbCl7Y2FzZSAwOmNvbnN0IGM9SWcobCk7bGV0IGQscDtpZihudWxsPT09ciYmKHI9YyxhPXRjKGksbykpLGM9PT1yPyhkPW8scD1hKTooZD1udWxsLHA9bGkobltjXSkpLG51bGwhPT1wKXtuZ0Rldk1vZGUmJlBuKHApO2NvbnN0IGU9SGcobCk7bmdEZXZNb2RlJiZNbihlLHZvLCJNaXNzaW5nIHJlZiIpO2NvbnN0IG89bltlXTtuZ0Rldk1vZGUmJlBuKG8pLEpsKGkscCxvLGQsITEpO2NvbnN0IGE9VGcodCxlKTtpZihudWxsIT09YSYmIm9iamVjdCI9PXR5cGVvZiBhKXtuZ0Rldk1vZGUmJk5vKGEpO2NvbnN0IGU9emcoYSxuKTtudWxsIT09ZSYmVmcodCxhLmNyZWF0ZVtlXSxuLG5bYS5hbmNob3JJZHhdKX19YnJlYWs7Y2FzZSAxOmNvbnN0IG09ZVsrK3NdLGY9ZVsrK3NdO1pkKGksY2kobD4+PjEsbiksbnVsbCxudWxsLG0sZixudWxsKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGRldGVybWluZSB0aGUgdHlwZSBvZiBtdXRhdGUgb3BlcmF0aW9uIGZvciAiJHtsfSJgKX1lbHNlIHN3aXRjaChsKXtjYXNlIHZnOmNvbnN0IHQ9ZVsrK3NdLG89ZVsrK3NdO2lmKG51bGw9PT1uW29dKXtuZ0Rldk1vZGUmJmduKHR5cGVvZiB0LCJzdHJpbmciLGBFeHBlY3RlZCAiJHt0fSIgdG8gYmUgYSBjb21tZW50IG5vZGUgdmFsdWVgKSxuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckNyZWF0ZUNvbW1lbnQrKyxuZ0Rldk1vZGUmJlZvKG4sbyk7YWwobltvXT1qbChpLHQpLG4pfWJyZWFrO2Nhc2UgTWc6Y29uc3QgYT1lWysrc10scj1lWysrc107aWYobnVsbD09PW5bcl0pe25nRGV2TW9kZSYmZ24odHlwZW9mIGEsInN0cmluZyIsYEV4cGVjdGVkICIke2F9IiB0byBiZSBhbiBlbGVtZW50IG5vZGUgdGFnIG5hbWVgKSxuZ0Rldk1vZGUmJm5nRGV2TW9kZS5yZW5kZXJlckNyZWF0ZUVsZW1lbnQrKyxuZ0Rldk1vZGUmJlZvKG4scik7YWwobltyXT1VbChpLGEsbnVsbCksbil9YnJlYWs7ZGVmYXVsdDpuZ0Rldk1vZGUmJk9uKGBVbmFibGUgdG8gZGV0ZXJtaW5lIHRoZSB0eXBlIG9mIG11dGF0ZSBvcGVyYXRpb24gZm9yICIke2x9ImApfX19ZnVuY3Rpb24gamcodCxlLG4sbyxpKXtmb3IobGV0IGE9MDthPG4ubGVuZ3RoO2ErKyl7Y29uc3Qgcj1uW2FdLHM9blsrK2FdO2lmKHImaSl7bGV0IGk9IiI7Zm9yKGxldCByPWErMTtyPD1hK3M7cisrKXtjb25zdCBhPW5bcl07aWYoInN0cmluZyI9PXR5cGVvZiBhKWkrPWE7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIGEpaWYoYTwwKWkrPXJuKGVbby1hXSk7ZWxzZXtjb25zdCBzPWE+Pj4yO3N3aXRjaCgzJmEpe2Nhc2UgMTpjb25zdCBhPW5bKytyXSxsPW5bKytyXSxjPXQuZGF0YVtzXTtuZ0Rldk1vZGUmJnhuKGMsIkV4cGVydGluZyBUTm9kZSBvciBzdHJpbmciKSwic3RyaW5nIj09dHlwZW9mIGM/WmQoZVsxMV0sZVtzXSxudWxsLGMsYSxpLGwpOnpkKHQsYyxlLGEsaSxlWzExXSxsLCExKTticmVhaztjYXNlIDA6Y29uc3QgZD1lW3NdO251bGwhPT1kJiZWbChlWzExXSxkLGkpO2JyZWFrO2Nhc2UgMjpXZyh0LFRnKHQscyksZSxpKTticmVhaztjYXNlIDM6VWcodCxUZyh0LHMpLG8sZSl9fX19ZWxzZXtjb25zdCBpPW5bYSsxXTtpZihpPjAmJjM9PSgzJmkpKXtjb25zdCBuPVRnKHQsaT4+PjIpO2Vbbi5jdXJyZW50Q2FzZUxWaWV3SW5kZXhdPDAmJlVnKHQsbixvLGUpfX1hKz1zfX1mdW5jdGlvbiBVZyh0LGUsbixvKXtuZ0Rldk1vZGUmJnduKG8sZS5jdXJyZW50Q2FzZUxWaWV3SW5kZXgpO2xldCBpPW9bZS5jdXJyZW50Q2FzZUxWaWV3SW5kZXhdO2lmKG51bGwhPT1pKXtsZXQgYT1MZztpPDAmJihpPW9bZS5jdXJyZW50Q2FzZUxWaWV3SW5kZXhdPX5pLGE9LTEpLGpnKHQsbyxlLnVwZGF0ZVtpXSxuLGEpfX1mdW5jdGlvbiBXZyh0LGUsbixvKXtjb25zdCBpPShmdW5jdGlvbiBhKHQsZSl7bGV0IG49dC5jYXNlcy5pbmRleE9mKGUpO2lmKC0xPT09bilzd2l0Y2godC50eXBlKXtjYXNlIDE6e2NvbnN0IG89KGZ1bmN0aW9uIGkodCxlKXtjb25zdCBuPWhnKGUpKHBhcnNlSW50KHQsMTApKSxvPV9nW25dO3JldHVybiB2b2lkIDAhPT1vP286Im90aGVyIn0pKGUsKGZ1bmN0aW9uIG8oKXtyZXR1cm4gT2d9KSgpKTtuPXQuY2FzZXMuaW5kZXhPZihvKSwtMT09PW4mJiJvdGhlciIhPT1vJiYobj10LmNhc2VzLmluZGV4T2YoIm90aGVyIikpO2JyZWFrfWNhc2UgMDpuPXQuY2FzZXMuaW5kZXhPZigib3RoZXIiKX1yZXR1cm4tMT09PW4/bnVsbDpufQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKGUsbyk7aWYoemcoZSxuKSE9PWkmJihHZyh0LGUsbiksbltlLmN1cnJlbnRDYXNlTFZpZXdJbmRleF09bnVsbD09PWk/bnVsbDp+aSxudWxsIT09aSkpe2NvbnN0IG89bltlLmFuY2hvcklkeF07byYmKG5nRGV2TW9kZSYmUG4obyksVmcodCxlLmNyZWF0ZVtpXSxuLG8pKX19ZnVuY3Rpb24gR2codCxlLG4pe2xldCBvPXpnKGUsbik7aWYobnVsbCE9PW8pe2NvbnN0IGk9ZS5yZW1vdmVbb107Zm9yKGxldCBlPTA7ZTxpLmxlbmd0aDtlKyspe2NvbnN0IG89aVtlXTtpZihvPjApe2NvbnN0IHQ9Y2kobyxuKTtudWxsIT09dCYmZGMoblsxMV0sdCl9ZWxzZSBHZyh0LFRnKHQsfm8pLG4pfX19ZnVuY3Rpb24gWWcoKXtjb25zdCB0PVtdO2xldCBlLG4sbz0tMTtmdW5jdGlvbiBpKHQsZSl7bz0wO2NvbnN0IGk9emcodCxlKTtudWxsIT09aT8obmdEZXZNb2RlJiZtbihpLDAsdC5jYXNlcy5sZW5ndGgtMSksbj10LnJlbW92ZVtpXSk6bj1Rbn1mdW5jdGlvbiBhKCl7aWYobzxuLmxlbmd0aCl7Y29uc3Qgcj1uW28rK107aWYobmdEZXZNb2RlJiZwbihyLCJFeHBlY3RpbmcgT3BDb2RlIG51bWJlciIpLHI+MCl7Y29uc3QgdD1lW3JdO3JldHVybiBuZ0Rldk1vZGUmJlBuKHQpLHR9e3QucHVzaChvLG4pO2NvbnN0IHM9ZVsxXS5kYXRhW35yXTtyZXR1cm4gbmdEZXZNb2RlJiZObyhzKSxpKHMsZSksYSgpfX1yZXR1cm4gMD09PXQubGVuZ3RoP251bGw6KG49dC5wb3AoKSxvPXQucG9wKCksYSgpKX1yZXR1cm4gZnVuY3Rpb24gcihuLG8pe2ZvcihlPW87dC5sZW5ndGg7KXQucG9wKCk7cmV0dXJuIG5nRGV2TW9kZSYmRW8obixvKSxpKG4udmFsdWUsbyksYX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIHFnKHQpe2NvbnN0IGU9dHx8KEFycmF5LmlzQXJyYXkodGhpcyk/dGhpczpbXSk7bGV0IG49W107Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG89ZVt0KytdLGk9KG8meGcuQVBQRU5EX0VBR0VSTFkpPT09eGcuQVBQRU5EX0VBR0VSTFksYT1vPj4+eGcuU0hJRlQ7bi5wdXNoKGBsVmlld1ske2F9XSA9IGRvY3VtZW50LiR7KG8meGcuQ09NTUVOVCk9PT14Zy5DT01NRU5UPyJjcmVhdGVDb21tZW50IjoiY3JlYXRlVGV4dCJ9KCR7SlNPTi5zdHJpbmdpZnkoZVt0XSl9KTtgKSxpJiZuLnB1c2goYHBhcmVudC5hcHBlbmRDaGlsZChsVmlld1ske2F9XSk7YCl9cmV0dXJuIG59ZnVuY3Rpb24gWmcodCl7Y29uc3QgZT1uZXcgSmcodHx8KEFycmF5LmlzQXJyYXkodGhpcyk/dGhpczpbXSkpO2xldCBuPVtdO2Z1bmN0aW9uIG8odCl7Y29uc3Qgbj10Pj4+Mjtzd2l0Y2goMyZ0KXtjYXNlIDA6cmV0dXJuYChsVmlld1ske259XSBhcyBUZXh0KS50ZXh0Q29udGVudCA9ICQkJGA7Y2FzZSAxOmNvbnN0IHQ9ZS5jb25zdW1lU3RyaW5nKCksbz1lLmNvbnN1bWVGdW5jdGlvbigpO3JldHVybmAobFZpZXdbJHtufV0gYXMgRWxlbWVudCkuc2V0QXR0cmlidXRlKCcke3R9JywgJHtvP2AoJHtvfSkoJCQkKWA6IiQkJCJ9KWA7Y2FzZSAyOnJldHVybmBpY3VTd2l0Y2hDYXNlKCR7bn0sICQkJClgO2Nhc2UgMzpyZXR1cm5gaWN1VXBkYXRlQ2FzZSgke259KWB9dGhyb3cgbmV3IEVycm9yKCJ1bmV4cGVjdGVkIE9wQ29kZSIpfWZvcig7ZS5oYXNNb3JlKCk7KXtsZXQgdD1lLmNvbnN1bWVOdW1iZXIoKSxpPWUuY29uc3VtZU51bWJlcigpO2NvbnN0IGE9ZS5pK2kscj1bXTtsZXQgcz0iIjtmb3IoO2UuaTxhOyl7bGV0IHQ9ZS5jb25zdW1lTnVtYmVyT3JTdHJpbmcoKTtpZigic3RyaW5nIj09dHlwZW9mIHQpcys9dDtlbHNlIGlmKHQ8MClzKz0iJHtsVmlld1tpIit0KyJdfSI7ZWxzZXtjb25zdCBlPW8odCk7ci5wdXNoKGUucmVwbGFjZSgiJCQkIiwiYCIrcysiYCIpKyI7Iikscz0iIn19bi5wdXNoKGBpZiAobWFzayAmIDBiJHt0LnRvU3RyaW5nKDIpfSkgeyAke3Iuam9pbigiICIpfSB9YCl9cmV0dXJuIG59ZnVuY3Rpb24gWGcodCl7Y29uc3QgZT1uZXcgSmcodHx8KEFycmF5LmlzQXJyYXkodGhpcyk/dGhpczpbXSkpO2xldCBuPVtdO2Z1bmN0aW9uIG8odCl7Y29uc3Qgbj1JZyh0KSxvPUhnKHQpO3N3aXRjaChGZyh0KSl7Y2FzZSAwOnJldHVybmAobFZpZXdbJHtufV0gYXMgRWxlbWVudCkuYXBwZW5kQ2hpbGQobFZpZXdbJHtpfV0pYDtjYXNlIDE6cmV0dXJuYChsVmlld1ske299XSBhcyBFbGVtZW50KS5zZXRBdHRyaWJ1dGUoIiR7ZS5jb25zdW1lU3RyaW5nKCl9IiwgIiR7ZS5jb25zdW1lU3RyaW5nKCl9IilgfXRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBPcENvZGU6ICIrRmcodCkpfWxldCBpPS0xO2Zvcig7ZS5oYXNNb3JlKCk7KXtsZXQgdD1lLmNvbnN1bWVOdW1iZXJTdHJpbmdPck1hcmtlcigpO2lmKHQ9PT12Zyl7Y29uc3QgdD1lLmNvbnN1bWVTdHJpbmcoKTtpPWUuY29uc3VtZU51bWJlcigpLG4ucHVzaChgbFZpZXdbJHtpfV0gPSBkb2N1bWVudC5jcmVhdGVDb21tZW50KCIke3R9IilgKX1lbHNlIGlmKHQ9PT1NZyl7Y29uc3QgdD1lLmNvbnN1bWVTdHJpbmcoKTtpPWUuY29uc3VtZU51bWJlcigpLG4ucHVzaChgbFZpZXdbJHtpfV0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCIke3R9IilgKX1lbHNlIGlmKCJzdHJpbmciPT10eXBlb2YgdClpPWUuY29uc3VtZU51bWJlcigpLG4ucHVzaChgbFZpZXdbJHtpfV0gPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiJHt0fSIpYCk7ZWxzZXtpZigibnVtYmVyIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkIHZhbHVlIik7e2NvbnN0IGU9byh0KTtlJiZuLnB1c2goZSl9fX1yZXR1cm4gbn1mdW5jdGlvbiBLZyh0KXtjb25zdCBlPXR8fChBcnJheS5pc0FycmF5KHRoaXMpP3RoaXM6W10pO2xldCBuPVtdO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXtjb25zdCBvPWVbdF07bi5wdXNoKG8+MD9gcmVtb3ZlKGxWaWV3WyR7b31dKWA6YHJlbW92ZU5lc3RlZElDVSgke35vfSlgKX1yZXR1cm4gbn1jbGFzcyBKZ3tjb25zdHJ1Y3Rvcih0KXt0aGlzLmk9MCx0aGlzLmNvZGVzPXR9aGFzTW9yZSgpe3JldHVybiB0aGlzLmk8dGhpcy5jb2Rlcy5sZW5ndGh9Y29uc3VtZU51bWJlcigpe2xldCB0PXRoaXMuY29kZXNbdGhpcy5pKytdO3JldHVybiBwbih0LCJleHBlY3RpbmcgbnVtYmVyIGluIE9wQ29kZSIpLHR9Y29uc3VtZVN0cmluZygpe2xldCB0PXRoaXMuY29kZXNbdGhpcy5pKytdO3JldHVybiBmbih0LCJleHBlY3Rpbmcgc3RyaW5nIGluIE9wQ29kZSIpLHR9Y29uc3VtZUZ1bmN0aW9uKCl7bGV0IHQ9dGhpcy5jb2Rlc1t0aGlzLmkrK107aWYobnVsbD09PXR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KXJldHVybiB0O3Rocm93IG5ldyBFcnJvcigiZXhwZWN0aW5nIGZ1bmN0aW9uIGluIE9wQ29kZSIpfWNvbnN1bWVOdW1iZXJPclN0cmluZygpe2xldCB0PXRoaXMuY29kZXNbdGhpcy5pKytdO3JldHVybiJzdHJpbmciPT10eXBlb2YgdHx8cG4odCwiZXhwZWN0aW5nIG51bWJlciBvciBzdHJpbmcgaW4gT3BDb2RlIiksdH1jb25zdW1lTnVtYmVyU3RyaW5nT3JNYXJrZXIoKXtsZXQgdD10aGlzLmNvZGVzW3RoaXMuaSsrXTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR8fCJudW1iZXIiPT10eXBlb2YgdHx8dD09dmd8fHQ9PU1nfHxwbih0LCJleHBlY3RpbmcgbnVtYmVyLCBzdHJpbmcsIElDVV9NQVJLRVIgb3IgRUxFTUVOVF9NQVJLRVIgaW4gT3BDb2RlIiksdH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFFnPS/vv70oXGQrKTo/XGQq77+9L2dpLCRnPS8oe1xzKu+/vVxkKzo/XGQq77+9XHMqLFxzKlxTezZ9XHMqLFtcc1xTXSp9KS9naSx0aD0v77+9KFxkKynvv70vLGVoPS9eXHMqKO+/vVxkKzo/XGQq77+9KVxzKixccyooc2VsZWN0fHBsdXJhbClccyosLyxuaD0v77+9XC8/XCooXGQrOlxkKynvv70vZ2ksb2g9L++/vShcLz9bIypdXGQrKTo/XGQq77+9L2dpLGloPS9cdUU1MDAvZztmdW5jdGlvbiBhaCh0LGUsbixvLGksYSl7Y29uc3Qgcj1TaSgpLHM9W10sbD1bXSxjPVtbXV07bmdEZXZNb2RlJiYoQmMocyxxZyksQmMobCxaZykpO2NvbnN0IGQ9KGZ1bmN0aW9uIG0odCl7cmV0dXJuIHQucmVwbGFjZShpaCwiICIpfSkoaT0oZnVuY3Rpb24gcCh0LGUpe2lmKChmdW5jdGlvbiBuKHQpe3JldHVybi0xPT09dH0pKGUpKXJldHVybiBwaCh0KTt7Y29uc3Qgbj10LmluZGV4T2YoYDoke2V977+9YCkrMitlLnRvU3RyaW5nKCkubGVuZ3RoLG89dC5zZWFyY2gobmV3IFJlZ0V4cChg77+9XFwvXFwqXFxkKzoke2V977+9YCkpO3JldHVybiBwaCh0LnN1YnN0cmluZyhuLG8pKX19KShpLGEpKS5zcGxpdChvaCk7Zm9yKGxldCBhPTA7YTxkLmxlbmd0aDthKyspe2xldCBwPWRbYV07aWYoMD09KDEmYSkpe2NvbnN0IGE9dWgocCk7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBwPWFbZF07aWYoMD09KDEmZCkpe2NvbnN0IGU9cDtuZ0Rldk1vZGUmJmZuKGUsIlBhcnNlZCBJQ1UgcGFydCBzaG91bGQgYmUgc3RyaW5nIiksIiIhPT1lJiZzaCh0LHIsY1swXSxzLGwsbixlKX1lbHNle2NvbnN0IGE9cDtpZigib2JqZWN0IiE9dHlwZW9mIGEpdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gcGFyc2UgSUNVIGV4cHJlc3Npb24gaW4gIiR7aX0iIG1lc3NhZ2UuYCk7Y29uc3QgZD1yaCh0LHIsY1swXSxuLHMsbmdEZXZNb2RlP2BJQ1UgJHtvfToke2EubWFpbkJpbmRpbmd9YDoiIiwhMCkuaW5kZXg7bmdEZXZNb2RlJiZ2bihkLHZvLCJJbmRleCBtdXN0IGJlIGluIGFic29sdXRlIExWaWV3IG9mZnNldCIpLG1oKHQsbixsLGUsYSxkKX19fWVsc2V7Y29uc3QgZT00Nz09PXAuY2hhckNvZGVBdCgwKSxuPXAuY2hhckNvZGVBdChlPzE6MCk7bmdEZXZNb2RlJiZrbihuLDQyLDM1KTtjb25zdCBvPXZvK051bWJlci5wYXJzZUludChwLnN1YnN0cmluZyhlPzI6MSkpO2lmKGUpYy5zaGlmdCgpLERpKFNpKCksITEpO2Vsc2V7Y29uc3QgZT1OZyh0LGNbMF0sbyk7Yy51bnNoaWZ0KFtdKSxEaShlLCEwKX19fXQuZGF0YVtvXT17Y3JlYXRlOnMsdXBkYXRlOmx9fWZ1bmN0aW9uIHJoKHQsZSxuLG8saSxhLHIpe2NvbnN0IHM9TWQodCxvLDEsbnVsbCk7bGV0IGw9czw8eGcuU0hJRlQsYz1TaSgpO2U9PT1jJiYoYz1udWxsKSxudWxsPT09YyYmKGx8PXhnLkFQUEVORF9FQUdFUkxZKSxyJiYobHw9eGcuQ09NTUVOVCwoZnVuY3Rpb24gZCh0KXt2b2lkIDA9PT1BbCYmKEFsPXQoKSl9KShZZykpLGkucHVzaChsLG51bGw9PT1hPyIiOmEpO2NvbnN0IHA9Q2QodCxzLHI/MzI6MSxudWxsPT09YT9uZ0Rldk1vZGU/Int7P319IjoiIjphLG51bGwpO1NnKG4scCk7Y29uc3QgbT1wLmluZGV4O3JldHVybiBEaShwLCExKSxudWxsIT09YyYmZSE9PWMmJihmdW5jdGlvbiBmKHQsZSl7bmdEZXZNb2RlJiZUbyh0KTtsZXQgbj10Lmluc2VydEJlZm9yZUluZGV4O251bGw9PT1uPyhhYyh3ZyxrZyksbj10Lmluc2VydEJlZm9yZUluZGV4PVtudWxsLGVdKTooZ24oQXJyYXkuaXNBcnJheShuKSwhMCwiRXhwZWN0aW5nIGFycmF5IGhlcmUiKSxuLnB1c2goZSkpfSkoYyxtKSxwfWZ1bmN0aW9uIHNoKHQsZSxuLG8saSxhLHIpe2NvbnN0IHM9ci5tYXRjaChRZyksbD1yaCh0LGUsbixhLG8scz9udWxsOnIsITEpO3MmJmxoKGkscixsLmluZGV4LG51bGwsMCxudWxsKX1mdW5jdGlvbiBsaCh0LGUsbixvLGksYSl7bmdEZXZNb2RlJiZ2bihuLHZvLCJJbmRleCBtdXN0IGJlIGluIGFic29sdXRlIExWaWV3IG9mZnNldCIpO2NvbnN0IHI9dC5sZW5ndGgscz1yKzE7dC5wdXNoKG51bGwsbnVsbCk7Y29uc3QgbD1yKzI7bmdEZXZNb2RlJiZCYyh0LFpnKTtjb25zdCBjPWUuc3BsaXQoUWcpO2xldCBkPTA7Zm9yKGxldCBlPTA7ZTxjLmxlbmd0aDtlKyspe2NvbnN0IG49Y1tlXTtpZigxJmUpe2NvbnN0IGU9aStwYXJzZUludChuLDEwKTt0LnB1c2goLTEtZSksZHw9ZGgoZSl9ZWxzZSIiIT09biYmdC5wdXNoKG4pfXJldHVybiB0LnB1c2gobjw8Mnwobz8xOjApKSxvJiZ0LnB1c2gobyxhKSx0W3JdPWQsdFtzXT10Lmxlbmd0aC1sLGR9ZnVuY3Rpb24gY2godCl7bGV0IGU9MDtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7Y29uc3Qgbz10W25dOyJudW1iZXIiPT10eXBlb2YgbyYmbzwwJiZlKyt9cmV0dXJuIGV9ZnVuY3Rpb24gZGgodCl7cmV0dXJuIDE8PE1hdGgubWluKHQsMzEpfWZ1bmN0aW9uIHBoKHQpe2xldCBlLG4sbz0iIixpPTAsYT0hMTtmb3IoO251bGwhPT0oZT1uaC5leGVjKHQpKTspYT9lWzBdPT09YO+/vS8qJHtufe+/vWAmJihpPWUuaW5kZXgsYT0hMSk6KG8rPXQuc3Vic3RyaW5nKGksZS5pbmRleCtlWzBdLmxlbmd0aCksbj1lWzFdLGE9ITApO3JldHVybiBuZ0Rldk1vZGUmJmduKGEsITEsYFRhZyBtaXNtYXRjaDogdW5hYmxlIHRvIGZpbmQgdGhlIGVuZCBvZiB0aGUgc3ViLXRlbXBsYXRlIGluIHRoZSB0cmFuc2xhdGlvbiAiJHt0fSJgKSxvKz10LnN1YnN0cihpKSxvfWZ1bmN0aW9uIG1oKHQsZSxuLG8saSxhKXtuZ0Rldk1vZGUmJnhuKGksIklDVSBleHByZXNzaW9uIG11c3QgYmUgZGVmaW5lZCIpO2xldCByPTA7Y29uc3Qgcz17dHlwZTppLnR5cGUsY3VycmVudENhc2VMVmlld0luZGV4Ok1kKHQsZSwxLG51bGwpLGFuY2hvcklkeDphLGNhc2VzOltdLGNyZWF0ZTpbXSxyZW1vdmU6W10sdXBkYXRlOltdfTshKGZ1bmN0aW9uIGwodCxlLG4pe3QucHVzaChkaChlLm1haW5CaW5kaW5nKSwyLC0xLWUubWFpbkJpbmRpbmcsbjw8MnwyKX0pKG4saSxhKSwoZnVuY3Rpb24gYyh0LGUsbil7Y29uc3Qgbz10LmRhdGFbZV07bmdEZXZNb2RlJiZnbihudWxsPT09b3x8by5oYXNPd25Qcm9wZXJ0eSgidFZpZXdzIiksITAsIldlIGV4cGVjdCB0byBnZXQgJ251bGwnfCdUSWN1Q29udGFpbmVyJyIpLG51bGw9PT1vP3QuZGF0YVtlXT1uOihuZ0Rldk1vZGUmJmdhKG8sMzIpLG8udmFsdWU9bil9KSh0LGEscyk7Y29uc3QgZD1pLnZhbHVlcztmb3IobGV0IGE9MDthPGQubGVuZ3RoO2ErKyl7Y29uc3QgbD1kW2FdLGM9W107Zm9yKGxldCB0PTA7dDxsLmxlbmd0aDt0Kyspe2NvbnN0IGU9bFt0XTtpZigic3RyaW5nIiE9dHlwZW9mIGUpe2NvbnN0IG49Yy5wdXNoKGUpLTE7bFt0XT1gXHgzYyEtLe+/vSR7bn3vv70tLVx4M2VgfX1yPWdoKHQscyxlLG4sbyxpLmNhc2VzW2FdLGwuam9pbigiIiksYyl8cn1yJiYoZnVuY3Rpb24gcCh0LGUsbil7dC5wdXNoKGUsMSxuPDwyfDMpfSkobixyLGEpfWZ1bmN0aW9uIGZoKHQpe2NvbnN0IGU9W10sbj1bXTtsZXQgbz0xLGk9MDtjb25zdCBhPXVoKHQ9dC5yZXBsYWNlKGVoLChmdW5jdGlvbih0LGUsbil7cmV0dXJuIG89InNlbGVjdCI9PT1uPzA6MSxpPXBhcnNlSW50KGUuc3Vic3RyKDEpLDEwKSwiIn0pKSk7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDspe2xldCBpPWFbdCsrXS50cmltKCk7MT09PW8mJihpPWkucmVwbGFjZSgvXHMqKD86PSk/KFx3KylccyovLCIkMSIpKSxpLmxlbmd0aCYmZS5wdXNoKGkpO2NvbnN0IHI9dWgoYVt0KytdKTtlLmxlbmd0aD5uLmxlbmd0aCYmbi5wdXNoKHIpfXJldHVybnt0eXBlOm8sbWFpbkJpbmRpbmc6aSxjYXNlczplLHZhbHVlczpufX1mdW5jdGlvbiB1aCh0KXtpZighdClyZXR1cm5bXTtsZXQgZT0wO2NvbnN0IG49W10sbz1bXSxpPS9be31dL2c7bGV0IGE7Zm9yKGkubGFzdEluZGV4PTA7YT1pLmV4ZWModCk7KXtjb25zdCBpPWEuaW5kZXg7aWYoIn0iPT1hWzBdKXtpZihuLnBvcCgpLDA9PW4ubGVuZ3RoKXtjb25zdCBuPXQuc3Vic3RyaW5nKGUsaSk7ZWgudGVzdChuKT9vLnB1c2goZmgobikpOm8ucHVzaChuKSxlPWkrMX19ZWxzZXtpZigwPT1uLmxlbmd0aCl7Y29uc3Qgbj10LnN1YnN0cmluZyhlLGkpO28ucHVzaChuKSxlPWkrMX1uLnB1c2goInsiKX19Y29uc3Qgcj10LnN1YnN0cmluZyhlKTtyZXR1cm4gby5wdXNoKHIpLG99ZnVuY3Rpb24gZ2godCxlLG4sbyxpLGEscixzKXtjb25zdCBsPVtdLGM9W10sZD1bXTtuZ0Rldk1vZGUmJihCYyhsLFhnKSxCYyhjLEtnKSxCYyhkLFpnKSksZS5jYXNlcy5wdXNoKGEpLGUuY3JlYXRlLnB1c2gobCksZS5yZW1vdmUucHVzaChjKSxlLnVwZGF0ZS5wdXNoKGQpO2NvbnN0IHA9YnMoaWkoKSkuZ2V0SW5lcnRCb2R5RWxlbWVudChyKTtuZ0Rldk1vZGUmJnhuKHAsIlVuYWJsZSB0byBnZW5lcmF0ZSBpbmVydCBib2R5IGVsZW1lbnQiKTtjb25zdCBtPUdzKHApfHxwO3JldHVybiBtP2hoKHQsZSxuLG8sbCxjLGQsbSxpLHMsMCk6MH1mdW5jdGlvbiBoaCh0LGUsbixvLGksYSxyLHMsbCxjLGQpe2xldCBwPTAsbT1zLmZpcnN0Q2hpbGQ7Zm9yKDttOyl7Y29uc3Qgcz1NZCh0LG4sMSxudWxsKTtzd2l0Y2gobS5ub2RlVHlwZSl7Y2FzZSBOb2RlLkVMRU1FTlRfTk9ERTpjb25zdCBmPW0sdT1mLnRhZ05hbWUudG9Mb3dlckNhc2UoKTtpZihBcy5oYXNPd25Qcm9wZXJ0eSh1KSl7X2goaSxNZyx1LGwscyksdC5kYXRhW3NdPXU7Y29uc3QgZz1mLmF0dHJpYnV0ZXM7Zm9yKGxldCB0PTA7dDxnLmxlbmd0aDt0Kyspe2NvbnN0IGU9Zy5pdGVtKHQpLG49ZS5uYW1lLnRvTG93ZXJDYXNlKCk7ISFlLnZhbHVlLm1hdGNoKFFnKT9Icy5oYXNPd25Qcm9wZXJ0eShuKT9saChyLGUudmFsdWUscyxlLm5hbWUsMCxUc1tuXT92czpOc1tuXT94czpudWxsKTpuZ0Rldk1vZGUmJmNvbnNvbGUud2FybihgV0FSTklORzogaWdub3JpbmcgdW5zYWZlIGF0dHJpYnV0ZSB2YWx1ZSAke259IG9uIGVsZW1lbnQgJHt1fSAoc2VlIGh0dHBzOi8vZy5jby9uZy9zZWN1cml0eSN4c3MpYCk6Q2goaSxzLGUpfXA9aGgodCxlLG4sbyxpLGEscixtLHMsYyxkKzEpfHAsYmgoYSxzLGQpfWJyZWFrO2Nhc2UgTm9kZS5URVhUX05PREU6Y29uc3QgZz1tLnRleHRDb250ZW50fHwiIixoPWcubWF0Y2goUWcpO19oKGksbnVsbCxoPyIiOmcsbCxzKSxiaChhLHMsZCksaCYmKHA9bGgocixnLHMsbnVsbCwwLG51bGwpfHApO2JyZWFrO2Nhc2UgTm9kZS5DT01NRU5UX05PREU6Y29uc3QgYj10aC5leGVjKG0udGV4dENvbnRlbnR8fCIiKTtpZihiKXtjb25zdCBlPXBhcnNlSW50KGJbMV0sMTApLHI9Y1tlXTtfaChpLHZnLG5nRGV2TW9kZT9gbmVzdGVkIElDVSAke2V9YDoiIixsLHMpLG1oKHQsbixvLGwscixzKSx5aChhLHMsZCl9fW09bS5uZXh0U2libGluZ31yZXR1cm4gcH1mdW5jdGlvbiBiaCh0LGUsbil7MD09PW4mJnQucHVzaChlKX1mdW5jdGlvbiB5aCh0LGUsbil7MD09PW4mJih0LnB1c2gofmUpLHQucHVzaChlKSl9ZnVuY3Rpb24gX2godCxlLG4sbyxpKXtudWxsIT09ZSYmdC5wdXNoKGUpLHQucHVzaChuLGksKGZ1bmN0aW9uIGEodCxlLG4pe3JldHVybiBuZ0Rldk1vZGUmJnZuKGUsMCwiTWlzc2luZyBwYXJlbnQgaW5kZXgiKSxuZ0Rldk1vZGUmJk1uKG4sMCwiTWlzc2luZyByZWYgaW5kZXgiKSx0fGU8PDE3fG48PDF9KSgwLG8saSkpfWZ1bmN0aW9uIENoKHQsZSxuKXt0LnB1c2goZTw8MXwxLG4ubmFtZSxuLnZhbHVlKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgTWg9L1xbKO+/vS4rP++/vT8pXF0vLHZoPS9cWyjvv70uKz/vv70/KVxdfCjvv71cLz9cKlxkKzpcZCvvv70pL2cseGg9Lyh7XHMqKShWQVJfKFBMVVJBTHxTRUxFQ1QpKF9cZCspPykoXHMqLCkvZyxPaD0veyhbQS1aMC05X10rKX0vZyxQaD0v77+9STE4Tl9FWFBfKElDVShfXGQrKT8p77+9L2csd2g9L1wvXCovLGtoPS9cZCtcOihcZCspLzsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIFNoKHQsZSxuPS0xKXtjb25zdCBvPU9pKCksaT14aSgpLGE9dm8rdDtuZ0Rldk1vZGUmJnhuKG8sInRWaWV3IHNob3VsZCBiZSBkZWZpbmVkIik7Y29uc3Qgcj1oaShvLmNvbnN0cyxlKSxzPVNpKCk7by5maXJzdENyZWF0ZVBhc3MmJmFoKG8sbnVsbD09PXM/MDpzLmluZGV4LGksYSxyLG4pO2NvbnN0IGw9by5kYXRhW2FdLGM9S2wobyxzPT09aVs2XT9udWxsOnMsaSk7IShmdW5jdGlvbiBkKHQsZSxuLG8pe2NvbnN0IGk9dFsxMV07Zm9yKGxldCBhPTA7YTxlLmxlbmd0aDthKyspe2NvbnN0IHI9ZVthKytdLHM9ZVthXSxsPShyJnhnLkNPTU1FTlQpPT09eGcuQ09NTUVOVCxjPShyJnhnLkFQUEVORF9FQUdFUkxZKT09PXhnLkFQUEVORF9FQUdFUkxZLGQ9cj4+PnhnLlNISUZUO2xldCBwPXRbZF07bnVsbD09PXAmJihwPXRbZF09bD9pLmNyZWF0ZUNvbW1lbnQocyk6QmwoaSxzKSksYyYmbnVsbCE9PW4mJkpsKGksbixwLG8sITEpfX0pKGksbC5jcmVhdGUsYyxzJiY4JnMudHlwZT9pW3MuaW5kZXhdOm51bGwpLExpKCEwKX1mdW5jdGlvbiBEaCgpe0xpKCExKX1mdW5jdGlvbiBSaCh0LGUsbil7U2godCxlLG4pLERoKCl9ZnVuY3Rpb24gRWgodCxlKXtjb25zdCBuPU9pKCk7bmdEZXZNb2RlJiZ4bihuLCJ0VmlldyBzaG91bGQgYmUgZGVmaW5lZCIpO2NvbnN0IG89aGkobi5jb25zdHMsZSk7IShmdW5jdGlvbiBpKHQsZSxuKXtjb25zdCBvPXdpKCkuaW5kZXgsaT1bXTtpZihuZ0Rldk1vZGUmJkJjKGksWmcpLHQuZmlyc3RDcmVhdGVQYXNzJiZudWxsPT09dC5kYXRhW2VdKXtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrPTIpe2NvbnN0IGU9blt0XSxhPW5bdCsxXTtpZigiIiE9PWEpe2lmKCRnLnRlc3QoYSkpdGhyb3cgbmV3IEVycm9yKGBJQ1UgZXhwcmVzc2lvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gYXR0cmlidXRlcy4gTWVzc2FnZTogIiR7YX0iLmApO2xoKGksYSxvLGUsY2goaSksbnVsbCl9fXQuZGF0YVtlXT1pfX0pKG4sdCt2byxvKX1mdW5jdGlvbiBBaCh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXt0JiYoTGd8PTE8PE1hdGgubWluKEJnLDMxKSksQmcrK30pKHVtKHhpKCksSGkoKSx0KSksQWh9ZnVuY3Rpb24gVGgodCl7IShmdW5jdGlvbiBlKHQsbixvKXtpZihCZz4wKXtuZ0Rldk1vZGUmJnhuKHQsInRWaWV3IHNob3VsZCBiZSBkZWZpbmVkIik7Y29uc3QgZT10LmRhdGFbb107amcodCxuLEFycmF5LmlzQXJyYXkoZSk/ZTplLnVwZGF0ZSx6aSgpLUJnLTEsTGcpfUxnPTAsQmc9MH0pKE9pKCkseGkoKSx0K3ZvKX1mdW5jdGlvbiBOaCh0LGU9e30pe3JldHVybihmdW5jdGlvbiBuKHQsZT17fSl7bGV0IG49dDtpZihNaC50ZXN0KHQpKXtjb25zdCB0PXt9LGU9WzBdO249bi5yZXBsYWNlKHZoLCgobixvLGkpPT57Y29uc3QgYT1vfHxpLHI9dFthXXx8W107aWYoci5sZW5ndGh8fChhLnNwbGl0KCJ8IikuZm9yRWFjaCgodD0+e2NvbnN0IGU9dC5tYXRjaChraCksbj1lP3BhcnNlSW50KGVbMV0sMTApOjAsbz13aC50ZXN0KHQpO3IucHVzaChbbixvLHRdKX0pKSx0W2FdPXIpLCFyLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYGkxOG4gcG9zdHByb2Nlc3M6IHVubWF0Y2hlZCBwbGFjZWhvbGRlciAtICR7YX1gKTtjb25zdCBzPWVbZS5sZW5ndGgtMV07bGV0IGw9MDtmb3IobGV0IHQ9MDt0PHIubGVuZ3RoO3QrKylpZihyW3RdWzBdPT09cyl7bD10O2JyZWFrfWNvbnN0W2MsZCxwXT1yW2xdO3JldHVybiBkP2UucG9wKCk6cyE9PWMmJmUucHVzaChjKSxyLnNwbGljZShsLDEpLHB9KSl9cmV0dXJuIE9iamVjdC5rZXlzKGUpLmxlbmd0aD8obj1uLnJlcGxhY2UoeGgsKCh0LG4sbyxpLGEscik9PmUuaGFzT3duUHJvcGVydHkobyk/YCR7bn0ke2Vbb119JHtyfWA6dCkpLG49bi5yZXBsYWNlKE9oLCgodCxuKT0+ZS5oYXNPd25Qcm9wZXJ0eShuKT9lW25dOnQpKSxuPW4ucmVwbGFjZShQaCwoKHQsbik9PntpZihlLmhhc093blByb3BlcnR5KG4pKXtjb25zdCBvPWVbbl07aWYoIW8ubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgaTE4biBwb3N0cHJvY2VzczogdW5tYXRjaGVkIElDVSAtICR7dH0gd2l0aCBrZXk6ICR7bn1gKTtyZXR1cm4gby5zaGlmdCgpfXJldHVybiB0fSkpLG4pOm59KSh0LGUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gemgodCxlLG4sbyxpKXtpZih0PXRuKHQpLEFycmF5LmlzQXJyYXkodCkpZm9yKGxldCBhPTA7YTx0Lmxlbmd0aDthKyspemgodFthXSxlLG4sbyxpKTtlbHNle2NvbnN0IGE9T2koKSxyPXhpKCk7bGV0IHM9RXAodCk/dDp0bih0LnByb3ZpZGUpLGw9U3AodCk7Y29uc3QgYz13aSgpLGQ9MTA0ODU3NSZjLnByb3ZpZGVySW5kZXhlcyxwPWMuZGlyZWN0aXZlU3RhcnQsbT1jLnByb3ZpZGVySW5kZXhlcz4+MjA7aWYoRXAodCl8fCF0Lm11bHRpKXtjb25zdCBvPW5ldyBmYShsLGksZ2YpLGY9RmgocyxlLGk/ZDpkK20scCk7LTE9PT1mPyhFYShrYShjLHIpLGEscyksSWgoYSx0LGUubGVuZ3RoKSxlLnB1c2gocyksYy5kaXJlY3RpdmVTdGFydCsrLGMuZGlyZWN0aXZlRW5kKyssaSYmKGMucHJvdmlkZXJJbmRleGVzKz0xMDQ4NTc2KSxuLnB1c2gobyksci5wdXNoKG8pKToobltmXT1vLHJbZl09byl9ZWxzZXtjb25zdCBmPUZoKHMsZSxkK20scCksdT1GaChzLGUsZCxkK20pLGc9Zj49MCYmbltmXSxoPXU+PTAmJm5bdV07aWYoaSYmIWh8fCFpJiYhZyl7RWEoa2EoYyxyKSxhLHMpO2NvbnN0IGQ9KGZ1bmN0aW9uIGEodCxlLG4sbyxpKXtjb25zdCBhPW5ldyBmYSh0LG4sZ2YpO3JldHVybiBhLm11bHRpPVtdLGEuaW5kZXg9ZSxhLmNvbXBvbmVudFByb3ZpZGVycz0wLEhoKGEsaSxvJiYhbiksYX0pKGk/Qmg6TGgsbi5sZW5ndGgsaSxvLGwpOyFpJiZoJiYoblt1XS5wcm92aWRlckZhY3Rvcnk9ZCksSWgoYSx0LGUubGVuZ3RoLDApLGUucHVzaChzKSxjLmRpcmVjdGl2ZVN0YXJ0KyssYy5kaXJlY3RpdmVFbmQrKyxpJiYoYy5wcm92aWRlckluZGV4ZXMrPTEwNDg1NzYpLG4ucHVzaChkKSxyLnB1c2goZCl9ZWxzZXtJaChhLHQsZj4tMT9mOnUsSGgobltpP3U6Zl0sbCwhaSYmbykpfSFpJiZvJiZoJiZuW3VdLmNvbXBvbmVudFByb3ZpZGVycysrfX19ZnVuY3Rpb24gSWgodCxlLG4sbyl7Y29uc3QgaT1FcChlKTtpZihpfHwoZnVuY3Rpb24gYSh0KXtyZXR1cm4hIXQudXNlQ2xhc3N9KShlKSl7Y29uc3QgYT0oZS51c2VDbGFzc3x8ZSkucHJvdG90eXBlLm5nT25EZXN0cm95O2lmKGEpe2NvbnN0IHI9dC5kZXN0cm95SG9va3N8fCh0LmRlc3Ryb3lIb29rcz1bXSk7aWYoIWkmJmUubXVsdGkpe25nRGV2TW9kZSYmeG4obywiaW5kZXhJbkZhY3Rvcnkgd2hlbiByZWdpc3RlcmluZyBtdWx0aSBmYWN0b3J5IGRlc3Ryb3kgaG9vayIpO2NvbnN0IHQ9ci5pbmRleE9mKG4pOy0xPT09dD9yLnB1c2gobixbbyxhXSk6clt0KzFdLnB1c2gobyxhKX1lbHNlIHIucHVzaChuLGEpfX19ZnVuY3Rpb24gSGgodCxlLG4pe3JldHVybiBuJiZ0LmNvbXBvbmVudFByb3ZpZGVycysrLHQubXVsdGkucHVzaChlKS0xfWZ1bmN0aW9uIEZoKHQsZSxuLG8pe2ZvcihsZXQgaT1uO2k8bztpKyspaWYoZVtpXT09PXQpcmV0dXJuIGk7cmV0dXJuLTF9ZnVuY3Rpb24gTGgodCxlLG4sbyl7cmV0dXJuIFZoKHRoaXMubXVsdGksW10pfWZ1bmN0aW9uIEJoKHQsZSxuLG8pe2NvbnN0IGk9dGhpcy5tdWx0aTtsZXQgYTtpZih0aGlzLnByb3ZpZGVyRmFjdG9yeSl7Y29uc3QgdD10aGlzLnByb3ZpZGVyRmFjdG9yeS5jb21wb25lbnRQcm92aWRlcnMsZT1MYShuLG5bMV0sdGhpcy5wcm92aWRlckZhY3RvcnkuaW5kZXgsbyk7YT1lLnNsaWNlKDAsdCksVmgoaSxhKTtmb3IobGV0IG49dDtuPGUubGVuZ3RoO24rKylhLnB1c2goZVtuXSl9ZWxzZSBhPVtdLFZoKGksYSk7cmV0dXJuIGF9ZnVuY3Rpb24gVmgodCxlKXtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7ZS5wdXNoKCgwLHRbbl0pKCkpfXJldHVybiBlfWZ1bmN0aW9uIGpoKHQsZT1bXSl7cmV0dXJuIG49PntuLnByb3ZpZGVyc1Jlc29sdmVyPShuLG8pPT4oZnVuY3Rpb24gaSh0LGUsbil7Y29uc3Qgbz1PaSgpO2lmKG8uZmlyc3RDcmVhdGVQYXNzKXtjb25zdCBpPVJvKHQpO3poKG4sby5kYXRhLG8uYmx1ZXByaW50LGksITApLHpoKGUsby5kYXRhLG8uYmx1ZXByaW50LGksITEpfX0pKG4sbz9vKHQpOnQsZSl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBVaHt9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFdoPSJuZ0NvbXBvbmVudCI7Y2xhc3MgR2h7fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gWWgoLi4udCl7fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBxaCh0LGUpe3JldHVybiBuZXcgS2goZGkodCxlKSl9R2guTlVMTD1uZXcgY2xhc3N7cmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodCl7dGhyb3coZnVuY3Rpb24gZSh0KXtjb25zdCBlPUVycm9yKGBObyBjb21wb25lbnQgZmFjdG9yeSBmb3VuZCBmb3IgJHtLZSh0KX0uIERpZCB5b3UgYWRkIGl0IHRvIEBOZ01vZHVsZS5lbnRyeUNvbXBvbmVudHM/YCk7cmV0dXJuIGVbV2hdPXQsZX0pKHQpfX07Y29uc3QgWmg9ZnVuY3Rpb24gWGgoKXtyZXR1cm4gcWgod2koKSx4aSgpKX07Y2xhc3MgS2h7Y29uc3RydWN0b3IodCl7dGhpcy5uYXRpdmVFbGVtZW50PXR9fWZ1bmN0aW9uIEpoKHQpe3JldHVybiB0IGluc3RhbmNlb2YgS2g/dC5uYXRpdmVFbGVtZW50OnR9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL0toLl9fTkdfRUxFTUVOVF9JRF9fPVpoLG5ldyBlcigiUmVuZGVyZXIySW50ZXJjZXB0b3IiKTtjbGFzcyBRaHt9Y2xhc3MgJGh7fSRoLl9fTkdfRUxFTUVOVF9JRF9fPSgpPT50YigpO2NvbnN0IHRiPWZ1bmN0aW9uIGViKCl7Y29uc3QgdD14aSgpLGU9Zmkod2koKS5pbmRleCx0KTtyZXR1cm4oZnVuY3Rpb24gbih0KXtjb25zdCBlPXRbMTFdO2lmKG5nRGV2TW9kZSYmIXJpKGUpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGluamVjdCBSZW5kZXJlcjIgd2hlbiB0aGUgYXBwbGljYXRpb24gdXNlcyBSZW5kZXJlcjMhIik7cmV0dXJuIGV9KShQbyhlKT9lOnQpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi87Y2xhc3MgbmJ7fW5iLsm1cHJvdj1Tbih7dG9rZW46bmIscHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTooKT0+bnVsbH0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3Mgb2J7Y29uc3RydWN0b3IodCl7dGhpcy5mdWxsPXQsdGhpcy5tYWpvcj10LnNwbGl0KCIuIilbMF0sdGhpcy5taW5vcj10LnNwbGl0KCIuIilbMV0sdGhpcy5wYXRjaD10LnNwbGl0KCIuIikuc2xpY2UoMikuam9pbigiLiIpfX1jb25zdCBpYj1uZXcgb2IoIjEyLjIuMSIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBhYntjb25zdHJ1Y3Rvcigpe31zdXBwb3J0cyh0KXtyZXR1cm4gZG0odCl9Y3JlYXRlKHQpe3JldHVybiBuZXcgc2IodCl9fWNvbnN0IHJiPSh0LGUpPT5lO2NsYXNzIHNie2NvbnN0cnVjdG9yKHQpe3RoaXMubGVuZ3RoPTAsdGhpcy5fbGlua2VkUmVjb3Jkcz1udWxsLHRoaXMuX3VubGlua2VkUmVjb3Jkcz1udWxsLHRoaXMuX3ByZXZpb3VzSXRIZWFkPW51bGwsdGhpcy5faXRIZWFkPW51bGwsdGhpcy5faXRUYWlsPW51bGwsdGhpcy5fYWRkaXRpb25zSGVhZD1udWxsLHRoaXMuX2FkZGl0aW9uc1RhaWw9bnVsbCx0aGlzLl9tb3Zlc0hlYWQ9bnVsbCx0aGlzLl9tb3Zlc1RhaWw9bnVsbCx0aGlzLl9yZW1vdmFsc0hlYWQ9bnVsbCx0aGlzLl9yZW1vdmFsc1RhaWw9bnVsbCx0aGlzLl9pZGVudGl0eUNoYW5nZXNIZWFkPW51bGwsdGhpcy5faWRlbnRpdHlDaGFuZ2VzVGFpbD1udWxsLHRoaXMuX3RyYWNrQnlGbj10fHxyYn1mb3JFYWNoSXRlbSh0KXtsZXQgZTtmb3IoZT10aGlzLl9pdEhlYWQ7bnVsbCE9PWU7ZT1lLl9uZXh0KXQoZSl9Zm9yRWFjaE9wZXJhdGlvbih0KXtsZXQgZT10aGlzLl9pdEhlYWQsbj10aGlzLl9yZW1vdmFsc0hlYWQsbz0wLGk9bnVsbDtmb3IoO2V8fG47KXtjb25zdCBhPSFufHxlJiZlLmN1cnJlbnRJbmRleDxwYihuLG8saSk/ZTpuLHI9cGIoYSxvLGkpLHM9YS5jdXJyZW50SW5kZXg7aWYoYT09PW4pby0tLG49bi5fbmV4dFJlbW92ZWQ7ZWxzZSBpZihlPWUuX25leHQsbnVsbD09YS5wcmV2aW91c0luZGV4KW8rKztlbHNle2l8fChpPVtdKTtjb25zdCB0PXItbyxlPXMtbztpZih0IT1lKXtmb3IobGV0IG49MDtuPHQ7bisrKXtjb25zdCBvPW48aS5sZW5ndGg/aVtuXTppW25dPTAsYT1vK247ZTw9YSYmYTx0JiYoaVtuXT1vKzEpfWlbYS5wcmV2aW91c0luZGV4XT1lLXR9fXIhPT1zJiZ0KGEscixzKX19Zm9yRWFjaFByZXZpb3VzSXRlbSh0KXtsZXQgZTtmb3IoZT10aGlzLl9wcmV2aW91c0l0SGVhZDtudWxsIT09ZTtlPWUuX25leHRQcmV2aW91cyl0KGUpfWZvckVhY2hBZGRlZEl0ZW0odCl7bGV0IGU7Zm9yKGU9dGhpcy5fYWRkaXRpb25zSGVhZDtudWxsIT09ZTtlPWUuX25leHRBZGRlZCl0KGUpfWZvckVhY2hNb3ZlZEl0ZW0odCl7bGV0IGU7Zm9yKGU9dGhpcy5fbW92ZXNIZWFkO251bGwhPT1lO2U9ZS5fbmV4dE1vdmVkKXQoZSl9Zm9yRWFjaFJlbW92ZWRJdGVtKHQpe2xldCBlO2ZvcihlPXRoaXMuX3JlbW92YWxzSGVhZDtudWxsIT09ZTtlPWUuX25leHRSZW1vdmVkKXQoZSl9Zm9yRWFjaElkZW50aXR5Q2hhbmdlKHQpe2xldCBlO2ZvcihlPXRoaXMuX2lkZW50aXR5Q2hhbmdlc0hlYWQ7bnVsbCE9PWU7ZT1lLl9uZXh0SWRlbnRpdHlDaGFuZ2UpdChlKX1kaWZmKHQpe2lmKG51bGw9PXQmJih0PVtdKSwhZG0odCkpdGhyb3cgbmV3IEVycm9yKGBFcnJvciB0cnlpbmcgdG8gZGlmZiAnJHtLZSh0KX0nLiBPbmx5IGFycmF5cyBhbmQgaXRlcmFibGVzIGFyZSBhbGxvd2VkYCk7cmV0dXJuIHRoaXMuY2hlY2sodCk/dGhpczpudWxsfW9uRGVzdHJveSgpe31jaGVjayh0KXt0aGlzLl9yZXNldCgpO2xldCBlLG4sbyxpPXRoaXMuX2l0SGVhZCxhPSExO2lmKEFycmF5LmlzQXJyYXkodCkpe3RoaXMubGVuZ3RoPXQubGVuZ3RoO2ZvcihsZXQgZT0wO2U8dGhpcy5sZW5ndGg7ZSsrKW49dFtlXSxvPXRoaXMuX3RyYWNrQnlGbihlLG4pLG51bGwhPT1pJiZPYmplY3QuaXMoaS50cmFja0J5SWQsbyk/KGEmJihpPXRoaXMuX3ZlcmlmeVJlaW5zZXJ0aW9uKGksbixvLGUpKSxPYmplY3QuaXMoaS5pdGVtLG4pfHx0aGlzLl9hZGRJZGVudGl0eUNoYW5nZShpLG4pKTooaT10aGlzLl9taXNtYXRjaChpLG4sbyxlKSxhPSEwKSxpPWkuX25leHR9ZWxzZSBlPTAsKGZ1bmN0aW9uIHIodCxlKXtpZihBcnJheS5pc0FycmF5KHQpKWZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKWUodFtuXSk7ZWxzZXtjb25zdCBuPXRbc20oKV0oKTtsZXQgbztmb3IoOyEobz1uLm5leHQoKSkuZG9uZTspZShvLnZhbHVlKX19KSh0LCh0PT57bz10aGlzLl90cmFja0J5Rm4oZSx0KSxudWxsIT09aSYmT2JqZWN0LmlzKGkudHJhY2tCeUlkLG8pPyhhJiYoaT10aGlzLl92ZXJpZnlSZWluc2VydGlvbihpLHQsbyxlKSksT2JqZWN0LmlzKGkuaXRlbSx0KXx8dGhpcy5fYWRkSWRlbnRpdHlDaGFuZ2UoaSx0KSk6KGk9dGhpcy5fbWlzbWF0Y2goaSx0LG8sZSksYT0hMCksaT1pLl9uZXh0LGUrK30pKSx0aGlzLmxlbmd0aD1lO3JldHVybiB0aGlzLl90cnVuY2F0ZShpKSx0aGlzLmNvbGxlY3Rpb249dCx0aGlzLmlzRGlydHl9Z2V0IGlzRGlydHkoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FkZGl0aW9uc0hlYWR8fG51bGwhPT10aGlzLl9tb3Zlc0hlYWR8fG51bGwhPT10aGlzLl9yZW1vdmFsc0hlYWR8fG51bGwhPT10aGlzLl9pZGVudGl0eUNoYW5nZXNIZWFkfV9yZXNldCgpe2lmKHRoaXMuaXNEaXJ0eSl7bGV0IHQ7Zm9yKHQ9dGhpcy5fcHJldmlvdXNJdEhlYWQ9dGhpcy5faXRIZWFkO251bGwhPT10O3Q9dC5fbmV4dCl0Ll9uZXh0UHJldmlvdXM9dC5fbmV4dDtmb3IodD10aGlzLl9hZGRpdGlvbnNIZWFkO251bGwhPT10O3Q9dC5fbmV4dEFkZGVkKXQucHJldmlvdXNJbmRleD10LmN1cnJlbnRJbmRleDtmb3IodGhpcy5fYWRkaXRpb25zSGVhZD10aGlzLl9hZGRpdGlvbnNUYWlsPW51bGwsdD10aGlzLl9tb3Zlc0hlYWQ7bnVsbCE9PXQ7dD10Ll9uZXh0TW92ZWQpdC5wcmV2aW91c0luZGV4PXQuY3VycmVudEluZGV4O3RoaXMuX21vdmVzSGVhZD10aGlzLl9tb3Zlc1RhaWw9bnVsbCx0aGlzLl9yZW1vdmFsc0hlYWQ9dGhpcy5fcmVtb3ZhbHNUYWlsPW51bGwsdGhpcy5faWRlbnRpdHlDaGFuZ2VzSGVhZD10aGlzLl9pZGVudGl0eUNoYW5nZXNUYWlsPW51bGx9fV9taXNtYXRjaCh0LGUsbixvKXtsZXQgaTtyZXR1cm4gbnVsbD09PXQ/aT10aGlzLl9pdFRhaWw6KGk9dC5fcHJldix0aGlzLl9yZW1vdmUodCkpLG51bGwhPT0odD1udWxsPT09dGhpcy5fdW5saW5rZWRSZWNvcmRzP251bGw6dGhpcy5fdW5saW5rZWRSZWNvcmRzLmdldChuLG51bGwpKT8oT2JqZWN0LmlzKHQuaXRlbSxlKXx8dGhpcy5fYWRkSWRlbnRpdHlDaGFuZ2UodCxlKSx0aGlzLl9yZWluc2VydEFmdGVyKHQsaSxvKSk6bnVsbCE9PSh0PW51bGw9PT10aGlzLl9saW5rZWRSZWNvcmRzP251bGw6dGhpcy5fbGlua2VkUmVjb3Jkcy5nZXQobixvKSk/KE9iamVjdC5pcyh0Lml0ZW0sZSl8fHRoaXMuX2FkZElkZW50aXR5Q2hhbmdlKHQsZSksdGhpcy5fbW92ZUFmdGVyKHQsaSxvKSk6dD10aGlzLl9hZGRBZnRlcihuZXcgbGIoZSxuKSxpLG8pLHR9X3ZlcmlmeVJlaW5zZXJ0aW9uKHQsZSxuLG8pe2xldCBpPW51bGw9PT10aGlzLl91bmxpbmtlZFJlY29yZHM/bnVsbDp0aGlzLl91bmxpbmtlZFJlY29yZHMuZ2V0KG4sbnVsbCk7cmV0dXJuIG51bGwhPT1pP3Q9dGhpcy5fcmVpbnNlcnRBZnRlcihpLHQuX3ByZXYsbyk6dC5jdXJyZW50SW5kZXghPW8mJih0LmN1cnJlbnRJbmRleD1vLHRoaXMuX2FkZFRvTW92ZXModCxvKSksdH1fdHJ1bmNhdGUodCl7Zm9yKDtudWxsIT09dDspe2NvbnN0IGU9dC5fbmV4dDt0aGlzLl9hZGRUb1JlbW92YWxzKHRoaXMuX3VubGluayh0KSksdD1lfW51bGwhPT10aGlzLl91bmxpbmtlZFJlY29yZHMmJnRoaXMuX3VubGlua2VkUmVjb3Jkcy5jbGVhcigpLG51bGwhPT10aGlzLl9hZGRpdGlvbnNUYWlsJiYodGhpcy5fYWRkaXRpb25zVGFpbC5fbmV4dEFkZGVkPW51bGwpLG51bGwhPT10aGlzLl9tb3Zlc1RhaWwmJih0aGlzLl9tb3Zlc1RhaWwuX25leHRNb3ZlZD1udWxsKSxudWxsIT09dGhpcy5faXRUYWlsJiYodGhpcy5faXRUYWlsLl9uZXh0PW51bGwpLG51bGwhPT10aGlzLl9yZW1vdmFsc1RhaWwmJih0aGlzLl9yZW1vdmFsc1RhaWwuX25leHRSZW1vdmVkPW51bGwpLG51bGwhPT10aGlzLl9pZGVudGl0eUNoYW5nZXNUYWlsJiYodGhpcy5faWRlbnRpdHlDaGFuZ2VzVGFpbC5fbmV4dElkZW50aXR5Q2hhbmdlPW51bGwpfV9yZWluc2VydEFmdGVyKHQsZSxuKXtudWxsIT09dGhpcy5fdW5saW5rZWRSZWNvcmRzJiZ0aGlzLl91bmxpbmtlZFJlY29yZHMucmVtb3ZlKHQpO2NvbnN0IG89dC5fcHJldlJlbW92ZWQsaT10Ll9uZXh0UmVtb3ZlZDtyZXR1cm4gbnVsbD09PW8/dGhpcy5fcmVtb3ZhbHNIZWFkPWk6by5fbmV4dFJlbW92ZWQ9aSxudWxsPT09aT90aGlzLl9yZW1vdmFsc1RhaWw9bzppLl9wcmV2UmVtb3ZlZD1vLHRoaXMuX2luc2VydEFmdGVyKHQsZSxuKSx0aGlzLl9hZGRUb01vdmVzKHQsbiksdH1fbW92ZUFmdGVyKHQsZSxuKXtyZXR1cm4gdGhpcy5fdW5saW5rKHQpLHRoaXMuX2luc2VydEFmdGVyKHQsZSxuKSx0aGlzLl9hZGRUb01vdmVzKHQsbiksdH1fYWRkQWZ0ZXIodCxlLG4pe3JldHVybiB0aGlzLl9pbnNlcnRBZnRlcih0LGUsbiksdGhpcy5fYWRkaXRpb25zVGFpbD1udWxsPT09dGhpcy5fYWRkaXRpb25zVGFpbD90aGlzLl9hZGRpdGlvbnNIZWFkPXQ6dGhpcy5fYWRkaXRpb25zVGFpbC5fbmV4dEFkZGVkPXQsdH1faW5zZXJ0QWZ0ZXIodCxlLG4pe2NvbnN0IG89bnVsbD09PWU/dGhpcy5faXRIZWFkOmUuX25leHQ7cmV0dXJuIHQuX25leHQ9byx0Ll9wcmV2PWUsbnVsbD09PW8/dGhpcy5faXRUYWlsPXQ6by5fcHJldj10LG51bGw9PT1lP3RoaXMuX2l0SGVhZD10OmUuX25leHQ9dCxudWxsPT09dGhpcy5fbGlua2VkUmVjb3JkcyYmKHRoaXMuX2xpbmtlZFJlY29yZHM9bmV3IGRiKSx0aGlzLl9saW5rZWRSZWNvcmRzLnB1dCh0KSx0LmN1cnJlbnRJbmRleD1uLHR9X3JlbW92ZSh0KXtyZXR1cm4gdGhpcy5fYWRkVG9SZW1vdmFscyh0aGlzLl91bmxpbmsodCkpfV91bmxpbmsodCl7bnVsbCE9PXRoaXMuX2xpbmtlZFJlY29yZHMmJnRoaXMuX2xpbmtlZFJlY29yZHMucmVtb3ZlKHQpO2NvbnN0IGU9dC5fcHJldixuPXQuX25leHQ7cmV0dXJuIG51bGw9PT1lP3RoaXMuX2l0SGVhZD1uOmUuX25leHQ9bixudWxsPT09bj90aGlzLl9pdFRhaWw9ZTpuLl9wcmV2PWUsdH1fYWRkVG9Nb3Zlcyh0LGUpe3JldHVybiB0LnByZXZpb3VzSW5kZXg9PT1lfHwodGhpcy5fbW92ZXNUYWlsPW51bGw9PT10aGlzLl9tb3Zlc1RhaWw/dGhpcy5fbW92ZXNIZWFkPXQ6dGhpcy5fbW92ZXNUYWlsLl9uZXh0TW92ZWQ9dCksdH1fYWRkVG9SZW1vdmFscyh0KXtyZXR1cm4gbnVsbD09PXRoaXMuX3VubGlua2VkUmVjb3JkcyYmKHRoaXMuX3VubGlua2VkUmVjb3Jkcz1uZXcgZGIpLHRoaXMuX3VubGlua2VkUmVjb3Jkcy5wdXQodCksdC5jdXJyZW50SW5kZXg9bnVsbCx0Ll9uZXh0UmVtb3ZlZD1udWxsLG51bGw9PT10aGlzLl9yZW1vdmFsc1RhaWw/KHRoaXMuX3JlbW92YWxzVGFpbD10aGlzLl9yZW1vdmFsc0hlYWQ9dCx0Ll9wcmV2UmVtb3ZlZD1udWxsKToodC5fcHJldlJlbW92ZWQ9dGhpcy5fcmVtb3ZhbHNUYWlsLHRoaXMuX3JlbW92YWxzVGFpbD10aGlzLl9yZW1vdmFsc1RhaWwuX25leHRSZW1vdmVkPXQpLHR9X2FkZElkZW50aXR5Q2hhbmdlKHQsZSl7cmV0dXJuIHQuaXRlbT1lLHRoaXMuX2lkZW50aXR5Q2hhbmdlc1RhaWw9bnVsbD09PXRoaXMuX2lkZW50aXR5Q2hhbmdlc1RhaWw/dGhpcy5faWRlbnRpdHlDaGFuZ2VzSGVhZD10OnRoaXMuX2lkZW50aXR5Q2hhbmdlc1RhaWwuX25leHRJZGVudGl0eUNoYW5nZT10LHR9fWNsYXNzIGxie2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5pdGVtPXQsdGhpcy50cmFja0J5SWQ9ZSx0aGlzLmN1cnJlbnRJbmRleD1udWxsLHRoaXMucHJldmlvdXNJbmRleD1udWxsLHRoaXMuX25leHRQcmV2aW91cz1udWxsLHRoaXMuX3ByZXY9bnVsbCx0aGlzLl9uZXh0PW51bGwsdGhpcy5fcHJldkR1cD1udWxsLHRoaXMuX25leHREdXA9bnVsbCx0aGlzLl9wcmV2UmVtb3ZlZD1udWxsLHRoaXMuX25leHRSZW1vdmVkPW51bGwsdGhpcy5fbmV4dEFkZGVkPW51bGwsdGhpcy5fbmV4dE1vdmVkPW51bGwsdGhpcy5fbmV4dElkZW50aXR5Q2hhbmdlPW51bGx9fWNsYXNzIGNie2NvbnN0cnVjdG9yKCl7dGhpcy5faGVhZD1udWxsLHRoaXMuX3RhaWw9bnVsbH1hZGQodCl7bnVsbD09PXRoaXMuX2hlYWQ/KHRoaXMuX2hlYWQ9dGhpcy5fdGFpbD10LHQuX25leHREdXA9bnVsbCx0Ll9wcmV2RHVwPW51bGwpOih0aGlzLl90YWlsLl9uZXh0RHVwPXQsdC5fcHJldkR1cD10aGlzLl90YWlsLHQuX25leHREdXA9bnVsbCx0aGlzLl90YWlsPXQpfWdldCh0LGUpe2xldCBuO2ZvcihuPXRoaXMuX2hlYWQ7bnVsbCE9PW47bj1uLl9uZXh0RHVwKWlmKChudWxsPT09ZXx8ZTw9bi5jdXJyZW50SW5kZXgpJiZPYmplY3QuaXMobi50cmFja0J5SWQsdCkpcmV0dXJuIG47cmV0dXJuIG51bGx9cmVtb3ZlKHQpe2NvbnN0IGU9dC5fcHJldkR1cCxuPXQuX25leHREdXA7cmV0dXJuIG51bGw9PT1lP3RoaXMuX2hlYWQ9bjplLl9uZXh0RHVwPW4sbnVsbD09PW4/dGhpcy5fdGFpbD1lOm4uX3ByZXZEdXA9ZSxudWxsPT09dGhpcy5faGVhZH19Y2xhc3MgZGJ7Y29uc3RydWN0b3IoKXt0aGlzLm1hcD1uZXcgTWFwfXB1dCh0KXtjb25zdCBlPXQudHJhY2tCeUlkO2xldCBuPXRoaXMubWFwLmdldChlKTtufHwobj1uZXcgY2IsdGhpcy5tYXAuc2V0KGUsbikpLG4uYWRkKHQpfWdldCh0LGUpe2NvbnN0IG49dGhpcy5tYXAuZ2V0KHQpO3JldHVybiBuP24uZ2V0KHQsZSk6bnVsbH1yZW1vdmUodCl7Y29uc3QgZT10LnRyYWNrQnlJZDtyZXR1cm4gdGhpcy5tYXAuZ2V0KGUpLnJlbW92ZSh0KSYmdGhpcy5tYXAuZGVsZXRlKGUpLHR9Z2V0IGlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMubWFwLnNpemV9Y2xlYXIoKXt0aGlzLm1hcC5jbGVhcigpfX1mdW5jdGlvbiBwYih0LGUsbil7Y29uc3Qgbz10LnByZXZpb3VzSW5kZXg7aWYobnVsbD09PW8pcmV0dXJuIG87bGV0IGk9MDtyZXR1cm4gbiYmbzxuLmxlbmd0aCYmKGk9bltvXSksbytlK2l9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIG1ie2NvbnN0cnVjdG9yKCl7fXN1cHBvcnRzKHQpe3JldHVybiB0IGluc3RhbmNlb2YgTWFwfHxwbSh0KX1jcmVhdGUoKXtyZXR1cm4gbmV3IGZifX1jbGFzcyBmYntjb25zdHJ1Y3Rvcigpe3RoaXMuX3JlY29yZHM9bmV3IE1hcCx0aGlzLl9tYXBIZWFkPW51bGwsdGhpcy5fYXBwZW5kQWZ0ZXI9bnVsbCx0aGlzLl9wcmV2aW91c01hcEhlYWQ9bnVsbCx0aGlzLl9jaGFuZ2VzSGVhZD1udWxsLHRoaXMuX2NoYW5nZXNUYWlsPW51bGwsdGhpcy5fYWRkaXRpb25zSGVhZD1udWxsLHRoaXMuX2FkZGl0aW9uc1RhaWw9bnVsbCx0aGlzLl9yZW1vdmFsc0hlYWQ9bnVsbCx0aGlzLl9yZW1vdmFsc1RhaWw9bnVsbH1nZXQgaXNEaXJ0eSgpe3JldHVybiBudWxsIT09dGhpcy5fYWRkaXRpb25zSGVhZHx8bnVsbCE9PXRoaXMuX2NoYW5nZXNIZWFkfHxudWxsIT09dGhpcy5fcmVtb3ZhbHNIZWFkfWZvckVhY2hJdGVtKHQpe2xldCBlO2ZvcihlPXRoaXMuX21hcEhlYWQ7bnVsbCE9PWU7ZT1lLl9uZXh0KXQoZSl9Zm9yRWFjaFByZXZpb3VzSXRlbSh0KXtsZXQgZTtmb3IoZT10aGlzLl9wcmV2aW91c01hcEhlYWQ7bnVsbCE9PWU7ZT1lLl9uZXh0UHJldmlvdXMpdChlKX1mb3JFYWNoQ2hhbmdlZEl0ZW0odCl7bGV0IGU7Zm9yKGU9dGhpcy5fY2hhbmdlc0hlYWQ7bnVsbCE9PWU7ZT1lLl9uZXh0Q2hhbmdlZCl0KGUpfWZvckVhY2hBZGRlZEl0ZW0odCl7bGV0IGU7Zm9yKGU9dGhpcy5fYWRkaXRpb25zSGVhZDtudWxsIT09ZTtlPWUuX25leHRBZGRlZCl0KGUpfWZvckVhY2hSZW1vdmVkSXRlbSh0KXtsZXQgZTtmb3IoZT10aGlzLl9yZW1vdmFsc0hlYWQ7bnVsbCE9PWU7ZT1lLl9uZXh0UmVtb3ZlZCl0KGUpfWRpZmYodCl7aWYodCl7aWYoISh0IGluc3RhbmNlb2YgTWFwfHxwbSh0KSkpdGhyb3cgbmV3IEVycm9yKGBFcnJvciB0cnlpbmcgdG8gZGlmZiAnJHtLZSh0KX0nLiBPbmx5IG1hcHMgYW5kIG9iamVjdHMgYXJlIGFsbG93ZWRgKX1lbHNlIHQ9bmV3IE1hcDtyZXR1cm4gdGhpcy5jaGVjayh0KT90aGlzOm51bGx9b25EZXN0cm95KCl7fWNoZWNrKHQpe3RoaXMuX3Jlc2V0KCk7bGV0IGU9dGhpcy5fbWFwSGVhZDtpZih0aGlzLl9hcHBlbmRBZnRlcj1udWxsLHRoaXMuX2ZvckVhY2godCwoKHQsbik9PntpZihlJiZlLmtleT09PW4pdGhpcy5fbWF5YmVBZGRUb0NoYW5nZXMoZSx0KSx0aGlzLl9hcHBlbmRBZnRlcj1lLGU9ZS5fbmV4dDtlbHNle2NvbnN0IG89dGhpcy5fZ2V0T3JDcmVhdGVSZWNvcmRGb3JLZXkobix0KTtlPXRoaXMuX2luc2VydEJlZm9yZU9yQXBwZW5kKGUsbyl9fSkpLGUpe2UuX3ByZXYmJihlLl9wcmV2Ll9uZXh0PW51bGwpLHRoaXMuX3JlbW92YWxzSGVhZD1lO2ZvcihsZXQgdD1lO251bGwhPT10O3Q9dC5fbmV4dFJlbW92ZWQpdD09PXRoaXMuX21hcEhlYWQmJih0aGlzLl9tYXBIZWFkPW51bGwpLHRoaXMuX3JlY29yZHMuZGVsZXRlKHQua2V5KSx0Ll9uZXh0UmVtb3ZlZD10Ll9uZXh0LHQucHJldmlvdXNWYWx1ZT10LmN1cnJlbnRWYWx1ZSx0LmN1cnJlbnRWYWx1ZT1udWxsLHQuX3ByZXY9bnVsbCx0Ll9uZXh0PW51bGx9cmV0dXJuIHRoaXMuX2NoYW5nZXNUYWlsJiYodGhpcy5fY2hhbmdlc1RhaWwuX25leHRDaGFuZ2VkPW51bGwpLHRoaXMuX2FkZGl0aW9uc1RhaWwmJih0aGlzLl9hZGRpdGlvbnNUYWlsLl9uZXh0QWRkZWQ9bnVsbCksdGhpcy5pc0RpcnR5fV9pbnNlcnRCZWZvcmVPckFwcGVuZCh0LGUpe2lmKHQpe2NvbnN0IG49dC5fcHJldjtyZXR1cm4gZS5fbmV4dD10LGUuX3ByZXY9bix0Ll9wcmV2PWUsbiYmKG4uX25leHQ9ZSksdD09PXRoaXMuX21hcEhlYWQmJih0aGlzLl9tYXBIZWFkPWUpLHRoaXMuX2FwcGVuZEFmdGVyPXQsdH1yZXR1cm4gdGhpcy5fYXBwZW5kQWZ0ZXI/KHRoaXMuX2FwcGVuZEFmdGVyLl9uZXh0PWUsZS5fcHJldj10aGlzLl9hcHBlbmRBZnRlcik6dGhpcy5fbWFwSGVhZD1lLHRoaXMuX2FwcGVuZEFmdGVyPWUsbnVsbH1fZ2V0T3JDcmVhdGVSZWNvcmRGb3JLZXkodCxlKXtpZih0aGlzLl9yZWNvcmRzLmhhcyh0KSl7Y29uc3Qgbj10aGlzLl9yZWNvcmRzLmdldCh0KTt0aGlzLl9tYXliZUFkZFRvQ2hhbmdlcyhuLGUpO2NvbnN0IG89bi5fcHJldixpPW4uX25leHQ7cmV0dXJuIG8mJihvLl9uZXh0PWkpLGkmJihpLl9wcmV2PW8pLG4uX25leHQ9bnVsbCxuLl9wcmV2PW51bGwsbn1jb25zdCBuPW5ldyB1Yih0KTtyZXR1cm4gdGhpcy5fcmVjb3Jkcy5zZXQodCxuKSxuLmN1cnJlbnRWYWx1ZT1lLHRoaXMuX2FkZFRvQWRkaXRpb25zKG4pLG59X3Jlc2V0KCl7aWYodGhpcy5pc0RpcnR5KXtsZXQgdDtmb3IodGhpcy5fcHJldmlvdXNNYXBIZWFkPXRoaXMuX21hcEhlYWQsdD10aGlzLl9wcmV2aW91c01hcEhlYWQ7bnVsbCE9PXQ7dD10Ll9uZXh0KXQuX25leHRQcmV2aW91cz10Ll9uZXh0O2Zvcih0PXRoaXMuX2NoYW5nZXNIZWFkO251bGwhPT10O3Q9dC5fbmV4dENoYW5nZWQpdC5wcmV2aW91c1ZhbHVlPXQuY3VycmVudFZhbHVlO2Zvcih0PXRoaXMuX2FkZGl0aW9uc0hlYWQ7bnVsbCE9dDt0PXQuX25leHRBZGRlZCl0LnByZXZpb3VzVmFsdWU9dC5jdXJyZW50VmFsdWU7dGhpcy5fY2hhbmdlc0hlYWQ9dGhpcy5fY2hhbmdlc1RhaWw9bnVsbCx0aGlzLl9hZGRpdGlvbnNIZWFkPXRoaXMuX2FkZGl0aW9uc1RhaWw9bnVsbCx0aGlzLl9yZW1vdmFsc0hlYWQ9bnVsbH19X21heWJlQWRkVG9DaGFuZ2VzKHQsZSl7T2JqZWN0LmlzKGUsdC5jdXJyZW50VmFsdWUpfHwodC5wcmV2aW91c1ZhbHVlPXQuY3VycmVudFZhbHVlLHQuY3VycmVudFZhbHVlPWUsdGhpcy5fYWRkVG9DaGFuZ2VzKHQpKX1fYWRkVG9BZGRpdGlvbnModCl7bnVsbD09PXRoaXMuX2FkZGl0aW9uc0hlYWQ/dGhpcy5fYWRkaXRpb25zSGVhZD10aGlzLl9hZGRpdGlvbnNUYWlsPXQ6KHRoaXMuX2FkZGl0aW9uc1RhaWwuX25leHRBZGRlZD10LHRoaXMuX2FkZGl0aW9uc1RhaWw9dCl9X2FkZFRvQ2hhbmdlcyh0KXtudWxsPT09dGhpcy5fY2hhbmdlc0hlYWQ/dGhpcy5fY2hhbmdlc0hlYWQ9dGhpcy5fY2hhbmdlc1RhaWw9dDoodGhpcy5fY2hhbmdlc1RhaWwuX25leHRDaGFuZ2VkPXQsdGhpcy5fY2hhbmdlc1RhaWw9dCl9X2ZvckVhY2godCxlKXt0IGluc3RhbmNlb2YgTWFwP3QuZm9yRWFjaChlKTpPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChuPT5lKHRbbl0sbikpKX19Y2xhc3MgdWJ7Y29uc3RydWN0b3IodCl7dGhpcy5rZXk9dCx0aGlzLnByZXZpb3VzVmFsdWU9bnVsbCx0aGlzLmN1cnJlbnRWYWx1ZT1udWxsLHRoaXMuX25leHRQcmV2aW91cz1udWxsLHRoaXMuX25leHQ9bnVsbCx0aGlzLl9wcmV2PW51bGwsdGhpcy5fbmV4dEFkZGVkPW51bGwsdGhpcy5fbmV4dFJlbW92ZWQ9bnVsbCx0aGlzLl9uZXh0Q2hhbmdlZD1udWxsfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gZ2IoKXtyZXR1cm4gbmV3IGhiKFtuZXcgYWJdKX1jbGFzcyBoYntjb25zdHJ1Y3Rvcih0KXt0aGlzLmZhY3Rvcmllcz10fXN0YXRpYyBjcmVhdGUodCxlKXtpZihudWxsIT1lKXtjb25zdCBuPWUuZmFjdG9yaWVzLnNsaWNlKCk7dD10LmNvbmNhdChuKX1yZXR1cm4gbmV3IGhiKHQpfXN0YXRpYyBleHRlbmQodCl7cmV0dXJue3Byb3ZpZGU6aGIsdXNlRmFjdG9yeTplPT5oYi5jcmVhdGUodCxlfHxnYigpKSxkZXBzOltbaGIsbmV3IGpyLG5ldyBCcl1dfX1maW5kKHQpe2NvbnN0IGU9dGhpcy5mYWN0b3JpZXMuZmluZCgoZT0+ZS5zdXBwb3J0cyh0KSkpO2lmKG51bGwhPWUpcmV0dXJuIGU7dGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBhIGRpZmZlciBzdXBwb3J0aW5nIG9iamVjdCAnJHt0fScgb2YgdHlwZSAnJHsoZnVuY3Rpb24gbih0KXtyZXR1cm4gdC5uYW1lfHx0eXBlb2YgdH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0KX0nYCl9fWZ1bmN0aW9uIGJiKCl7cmV0dXJuIG5ldyB5YihbbmV3IG1iXSl9aGIuybVwcm92PVNuKHt0b2tlbjpoYixwcm92aWRlZEluOiJyb290IixmYWN0b3J5OmdifSk7Y2xhc3MgeWJ7Y29uc3RydWN0b3IodCl7dGhpcy5mYWN0b3JpZXM9dH1zdGF0aWMgY3JlYXRlKHQsZSl7aWYoZSl7Y29uc3Qgbj1lLmZhY3Rvcmllcy5zbGljZSgpO3Q9dC5jb25jYXQobil9cmV0dXJuIG5ldyB5Yih0KX1zdGF0aWMgZXh0ZW5kKHQpe3JldHVybntwcm92aWRlOnliLHVzZUZhY3Rvcnk6ZT0+eWIuY3JlYXRlKHQsZXx8YmIoKSksZGVwczpbW3liLG5ldyBqcixuZXcgQnJdXX19ZmluZCh0KXtjb25zdCBlPXRoaXMuZmFjdG9yaWVzLmZpbmQoKGU9PmUuc3VwcG9ydHModCkpKTtpZihlKXJldHVybiBlO3Rocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgYSBkaWZmZXIgc3VwcG9ydGluZyBvYmplY3QgJyR7dH0nYCl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gX2IodCxlLG4sbyxpPSExKXtmb3IoO251bGwhPT1uOyl7bmdEZXZNb2RlJiZnYShuLDYzKTtjb25zdCBhPWVbbi5pbmRleF07aWYobnVsbCE9PWEmJm8ucHVzaChsaShhKSksd28oYSkpZm9yKGxldCB0PU9vO3Q8YS5sZW5ndGg7dCsrKXtjb25zdCBlPWFbdF0sbj1lWzFdLmZpcnN0Q2hpbGQ7bnVsbCE9PW4mJl9iKGVbMV0sZSxuLG8pfWNvbnN0IHI9bi50eXBlO2lmKDgmcilfYih0LGUsbi5jaGlsZCxvKTtlbHNlIGlmKDMyJnIpe2NvbnN0IHQ9VGwobixlKTtsZXQgaTtmb3IoO2k9dCgpOylvLnB1c2goaSl9ZWxzZSBpZigxNiZyKXtjb25zdCB0PWxjKGUsbik7aWYoQXJyYXkuaXNBcnJheSh0KSlvLnB1c2goLi4udCk7ZWxzZXtjb25zdCBuPU5sKGVbMTZdKTtuZ0Rldk1vZGUmJlVvKG4pLF9iKG5bMV0sbix0LG8sITApfX1uPWk/bi5wcm9qZWN0aW9uTmV4dDpuLm5leHR9cmV0dXJuIG99Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL3liLsm1cHJvdj1Tbih7dG9rZW46eWIscHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTpiYn0pO2NsYXNzIENie2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fbFZpZXc9dCx0aGlzLl9jZFJlZkluamVjdGluZ1ZpZXc9ZSx0aGlzLl9hcHBSZWY9bnVsbCx0aGlzLl9hdHRhY2hlZFRvVmlld0NvbnRhaW5lcj0hMX1nZXQgcm9vdE5vZGVzKCl7Y29uc3QgdD10aGlzLl9sVmlldyxlPXRbMV07cmV0dXJuIF9iKGUsdCxlLmZpcnN0Q2hpbGQsW10pfWdldCBjb250ZXh0KCl7cmV0dXJuIHRoaXMuX2xWaWV3WzhdfXNldCBjb250ZXh0KHQpe3RoaXMuX2xWaWV3WzhdPXR9Z2V0IGRlc3Ryb3llZCgpe3JldHVybiAyNTY9PSgyNTYmdGhpcy5fbFZpZXdbMl0pfWRlc3Ryb3koKXtpZih0aGlzLl9hcHBSZWYpdGhpcy5fYXBwUmVmLmRldGFjaFZpZXcodGhpcyk7ZWxzZSBpZih0aGlzLl9hdHRhY2hlZFRvVmlld0NvbnRhaW5lcil7Y29uc3QgdD10aGlzLl9sVmlld1szXTtpZih3byh0KSl7Y29uc3QgZT10WzhdLG49ZT9lLmluZGV4T2YodGhpcyk6LTE7bj4tMSYmKG5nRGV2TW9kZSYmZ24obix0LmluZGV4T2YodGhpcy5fbFZpZXcpLU9vLCJBbiBhdHRhY2hlZCB2aWV3IHNob3VsZCBiZSBpbiB0aGUgc2FtZSBwb3NpdGlvbiB3aXRoaW4gaXRzIGNvbnRhaW5lciBhcyBpdHMgVmlld1JlZiBpbiB0aGUgVklFV19SRUZTIGFycmF5LiIpLFlsKHQsbiksdXIoZSxuKSl9dGhpcy5fYXR0YWNoZWRUb1ZpZXdDb250YWluZXI9ITF9cWwodGhpcy5fbFZpZXdbMV0sdGhpcy5fbFZpZXcpfW9uRGVzdHJveSh0KXtUZCh0aGlzLl9sVmlld1sxXSx0aGlzLl9sVmlldyxudWxsLHQpfW1hcmtGb3JDaGVjaygpe29wKHRoaXMuX2NkUmVmSW5qZWN0aW5nVmlld3x8dGhpcy5fbFZpZXcpfWRldGFjaCgpe3RoaXMuX2xWaWV3WzJdJj0tMTI5fXJlYXR0YWNoKCl7dGhpcy5fbFZpZXdbMl18PTEyOH1kZXRlY3RDaGFuZ2VzKCl7YXAodGhpcy5fbFZpZXdbMV0sdGhpcy5fbFZpZXcsdGhpcy5jb250ZXh0KX1jaGVja05vQ2hhbmdlcygpeyEoZnVuY3Rpb24gdChlLG4sbyl7VGkoITApO3RyeXthcChlLG4sbyl9ZmluYWxseXtUaSghMSl9fSkodGhpcy5fbFZpZXdbMV0sdGhpcy5fbFZpZXcsdGhpcy5jb250ZXh0KX1hdHRhY2hUb1ZpZXdDb250YWluZXJSZWYoKXtpZih0aGlzLl9hcHBSZWYpdGhyb3cgbmV3IEVycm9yKCJUaGlzIHZpZXcgaXMgYWxyZWFkeSBhdHRhY2hlZCBkaXJlY3RseSB0byB0aGUgQXBwbGljYXRpb25SZWYhIik7dGhpcy5fYXR0YWNoZWRUb1ZpZXdDb250YWluZXI9ITB9ZGV0YWNoRnJvbUFwcFJlZigpe3RoaXMuX2FwcFJlZj1udWxsLChmdW5jdGlvbiB0KGUsbil7bWMoZSxuLG5bMTFdLDIsbnVsbCxudWxsKX0pKHRoaXMuX2xWaWV3WzFdLHRoaXMuX2xWaWV3KX1hdHRhY2hUb0FwcFJlZih0KXtpZih0aGlzLl9hdHRhY2hlZFRvVmlld0NvbnRhaW5lcil0aHJvdyBuZXcgRXJyb3IoIlRoaXMgdmlldyBpcyBhbHJlYWR5IGF0dGFjaGVkIHRvIGEgVmlld0NvbnRhaW5lciEiKTt0aGlzLl9hcHBSZWY9dH19Y2xhc3MgTWIgZXh0ZW5kcyBDYntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLl92aWV3PXR9ZGV0ZWN0Q2hhbmdlcygpe3JwKHRoaXMuX3ZpZXcpfWNoZWNrTm9DaGFuZ2VzKCl7IShmdW5jdGlvbiB0KGUpe1RpKCEwKTt0cnl7cnAoZSl9ZmluYWxseXtUaSghMSl9fSkodGhpcy5fdmlldyl9Z2V0IGNvbnRleHQoKXtyZXR1cm4gbnVsbH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IHZiPWZ1bmN0aW9uIHhiKHQpe3JldHVybihmdW5jdGlvbiBlKHQsbixvKXtpZihTbyh0KSYmIW8pe2NvbnN0IGU9ZmkodC5pbmRleCxuKTtyZXR1cm4gbmV3IENiKGUsZSl9aWYoNDcmdC50eXBlKXtyZXR1cm4gbmV3IENiKG5bMTZdLG4pfXJldHVybiBudWxsfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKHdpKCkseGkoKSwxNj09KDE2JnQpKX07Y2xhc3MgT2J7fU9iLl9fTkdfRUxFTUVOVF9JRF9fPXZiO2NvbnN0IFBiPVtuZXcgbWJdLHdiPVtuZXcgYWJdLGtiPW5ldyBoYih3YiksU2I9bmV3IHliKFBiKSxEYj1mdW5jdGlvbiBSYigpe3JldHVybiBOYih3aSgpLHhpKCkpfTtjbGFzcyBFYnt9RWIuX19OR19FTEVNRU5UX0lEX189RGI7Y29uc3QgQWI9RWIsVGI9Y2xhc3MgZXh0ZW5kcyBBYntjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIoKSx0aGlzLl9kZWNsYXJhdGlvbkxWaWV3PXQsdGhpcy5fZGVjbGFyYXRpb25UQ29udGFpbmVyPWUsdGhpcy5lbGVtZW50UmVmPW59Y3JlYXRlRW1iZWRkZWRWaWV3KHQpe2NvbnN0IGU9dGhpcy5fZGVjbGFyYXRpb25UQ29udGFpbmVyLnRWaWV3cyxuPXlkKHRoaXMuX2RlY2xhcmF0aW9uTFZpZXcsZSx0LDE2LG51bGwsZS5kZWNsVE5vZGUsbnVsbCxudWxsLG51bGwsbnVsbCksbz10aGlzLl9kZWNsYXJhdGlvbkxWaWV3W3RoaXMuX2RlY2xhcmF0aW9uVENvbnRhaW5lci5pbmRleF07bmdEZXZNb2RlJiZJbyhvKSxuWzE3XT1vO2NvbnN0IGk9dGhpcy5fZGVjbGFyYXRpb25MVmlld1sxOV07cmV0dXJuIG51bGwhPT1pJiYoblsxOV09aS5jcmVhdGVFbWJlZGRlZFZpZXcoZSkpLHZkKGUsbix0KSxuZXcgQ2Iobil9fTtmdW5jdGlvbiBOYih0LGUpe3JldHVybiA0JnQudHlwZT8obmdEZXZNb2RlJiZ4bih0LnRWaWV3cywiVFZpZXcgbXVzdCBiZSBhbGxvY2F0ZWQiKSxuZXcgVGIoZSx0LHFoKHQsZSkpKTpudWxsfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyB6Ynt9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBJYj1mdW5jdGlvbiBIYigpe3JldHVybiBVYih3aSgpLHhpKCkpfTtjbGFzcyBGYnt9RmIuX19OR19FTEVNRU5UX0lEX189SWI7Y29uc3QgTGI9RmIsQmI9Y2xhc3MgZXh0ZW5kcyBMYntjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIoKSx0aGlzLl9sQ29udGFpbmVyPXQsdGhpcy5faG9zdFROb2RlPWUsdGhpcy5faG9zdExWaWV3PW59Z2V0IGVsZW1lbnQoKXtyZXR1cm4gcWgodGhpcy5faG9zdFROb2RlLHRoaXMuX2hvc3RMVmlldyl9Z2V0IGluamVjdG9yKCl7cmV0dXJuIG5ldyBqYSh0aGlzLl9ob3N0VE5vZGUsdGhpcy5faG9zdExWaWV3KX1nZXQgcGFyZW50SW5qZWN0b3IoKXtjb25zdCB0PVJhKHRoaXMuX2hvc3RUTm9kZSx0aGlzLl9ob3N0TFZpZXcpO2lmKE1hKHQpKXtjb25zdCBlPXhhKHQsdGhpcy5faG9zdExWaWV3KSxuPXZhKHQpO25nRGV2TW9kZSYmV28oZSxuKTtyZXR1cm4gbmV3IGphKGVbMV0uZGF0YVtuKzhdLGUpfXJldHVybiBuZXcgamEobnVsbCx0aGlzLl9ob3N0TFZpZXcpfWNsZWFyKCl7Zm9yKDt0aGlzLmxlbmd0aD4wOyl0aGlzLnJlbW92ZSh0aGlzLmxlbmd0aC0xKX1nZXQodCl7Y29uc3QgZT1WYih0aGlzLl9sQ29udGFpbmVyKTtyZXR1cm4gbnVsbCE9PWUmJmVbdF18fG51bGx9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLl9sQ29udGFpbmVyLmxlbmd0aC1Pb31jcmVhdGVFbWJlZGRlZFZpZXcodCxlLG4pe2NvbnN0IG89dC5jcmVhdGVFbWJlZGRlZFZpZXcoZXx8e30pO3JldHVybiB0aGlzLmluc2VydChvLG4pLG99Y3JlYXRlQ29tcG9uZW50KHQsZSxuLG8saSl7Y29uc3QgYT1ufHx0aGlzLnBhcmVudEluamVjdG9yO2lmKCFpJiZudWxsPT10Lm5nTW9kdWxlJiZhKXtjb25zdCB0PWEuZ2V0KHpiLG51bGwpO3QmJihpPXQpfWNvbnN0IHI9dC5jcmVhdGUoYSxvLHZvaWQgMCxpKTtyZXR1cm4gdGhpcy5pbnNlcnQoci5ob3N0VmlldyxlKSxyfWluc2VydCh0LGUpe2NvbnN0IG49dC5fbFZpZXcsbz1uWzFdO2lmKG5nRGV2TW9kZSYmdC5kZXN0cm95ZWQpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgaW5zZXJ0IGEgZGVzdHJveWVkIFZpZXcgaW4gYSBWaWV3Q29udGFpbmVyISIpO2lmKChmdW5jdGlvbiBpKHQpe3JldHVybiB3byh0WzNdKX0pKG4pKXtjb25zdCBlPXRoaXMuaW5kZXhPZih0KTtpZigtMSE9PWUpdGhpcy5kZXRhY2goZSk7ZWxzZXtjb25zdCBlPW5bM107bmdEZXZNb2RlJiZnbih3byhlKSwhMCwiQW4gYXR0YWNoZWQgdmlldyBzaG91bGQgaGF2ZSBpdHMgUEFSRU5UIHBvaW50IHRvIGEgY29udGFpbmVyLiIpO2NvbnN0IG89bmV3IEJiKGUsZVs2XSxlWzNdKTtvLmRldGFjaChvLmluZGV4T2YodCkpfX1jb25zdCBhPXRoaXMuX2FkanVzdEluZGV4KGUpLHI9dGhpcy5fbENvbnRhaW5lcjtXbChvLG4scixhKTtjb25zdCBzPWNjKGEsciksbD1uWzExXSxjPXRjKGwscls3XSk7cmV0dXJuIG51bGwhPT1jJiYoZnVuY3Rpb24gZCh0LGUsbixvLGksYSl7b1swXT1pLG9bNl09ZSxtYyh0LG8sbiwxLGksYSl9KShvLHJbNl0sbCxuLGMscyksdC5hdHRhY2hUb1ZpZXdDb250YWluZXJSZWYoKSxmcihqYihyKSxhLHQpLHR9bW92ZSh0LGUpe2lmKG5nRGV2TW9kZSYmdC5kZXN0cm95ZWQpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgbW92ZSBhIGRlc3Ryb3llZCBWaWV3IGluIGEgVmlld0NvbnRhaW5lciEiKTtyZXR1cm4gdGhpcy5pbnNlcnQodCxlKX1pbmRleE9mKHQpe2NvbnN0IGU9VmIodGhpcy5fbENvbnRhaW5lcik7cmV0dXJuIG51bGwhPT1lP2UuaW5kZXhPZih0KTotMX1yZW1vdmUodCl7Y29uc3QgZT10aGlzLl9hZGp1c3RJbmRleCh0LC0xKSxuPVlsKHRoaXMuX2xDb250YWluZXIsZSk7biYmKHVyKGpiKHRoaXMuX2xDb250YWluZXIpLGUpLHFsKG5bMV0sbikpfWRldGFjaCh0KXtjb25zdCBlPXRoaXMuX2FkanVzdEluZGV4KHQsLTEpLG49WWwodGhpcy5fbENvbnRhaW5lcixlKTtyZXR1cm4gbiYmbnVsbCE9dXIoamIodGhpcy5fbENvbnRhaW5lciksZSk/bmV3IENiKG4pOm51bGx9X2FkanVzdEluZGV4KHQsZT0wKXtyZXR1cm4gbnVsbD09dD90aGlzLmxlbmd0aCtlOihuZ0Rldk1vZGUmJihNbih0LC0xLGBWaWV3UmVmIGluZGV4IG11c3QgYmUgcG9zaXRpdmUsIGdvdCAke3R9YCksX24odCx0aGlzLmxlbmd0aCsxK2UsImluZGV4IikpLHQpfX07ZnVuY3Rpb24gVmIodCl7cmV0dXJuIHRbOF19ZnVuY3Rpb24gamIodCl7cmV0dXJuIHRbOF18fCh0WzhdPVtdKX1mdW5jdGlvbiBVYih0LGUpe2xldCBuO25nRGV2TW9kZSYmZ2EodCwxNSk7Y29uc3Qgbz1lW3QuaW5kZXhdO2lmKHdvKG8pKW49bztlbHNle2xldCBpO2lmKDgmdC50eXBlKWk9bGkobyk7ZWxzZXtjb25zdCBuPWVbMTFdO25nRGV2TW9kZSYmbmdEZXZNb2RlLnJlbmRlcmVyQ3JlYXRlQ29tbWVudCsrLGk9bi5jcmVhdGVDb21tZW50KG5nRGV2TW9kZT8iY29udGFpbmVyIjoiIik7Y29uc3Qgbz1kaSh0LGUpO0psKG4sdGMobixvKSxpLChmdW5jdGlvbiBpKHQsZSl7cmV0dXJuIHJpKHQpP3QubmV4dFNpYmxpbmcoZSk6ZS5uZXh0U2libGluZ30pKG4sbyksITEpfWVbdC5pbmRleF09bj1RZChvLGUsaSx0KSxucChlLG4pfXJldHVybiBuZXcgQmIobix0LGUpfWNvbnN0IFdiPW5ldyBNYXA7ZnVuY3Rpb24gR2IodCl7bGV0IGU9V2IuZ2V0KHQpO3JldHVybiBlfHwoZT1LZSh0KSsiXyIrV2Iuc2l6ZSxXYi5zZXQodCxlKSksZX1HYihOcCksR2IoeXApLEdiKHpiKSwKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCkdiKCRoKSxHYihLaCksR2IoRmIpLEdiKEViKSxHYihPYiksR2IoTnApLEdiKHlwKTtjb25zdCBZYj17fTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgcWIgZXh0ZW5kcyBHaHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMubmdNb2R1bGU9dH1yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0KXtuZ0Rldk1vZGUmJihmdW5jdGlvbiBlKHQsbj0iVHlwZSBwYXNzZWQgaW4gaXMgbm90IENvbXBvbmVudFR5cGUsIGl0IGRvZXMgbm90IGhhdmUgJ8m1Y21wJyBwcm9wZXJ0eS4iKXt5byh0KXx8T24obil9KSh0KTtjb25zdCBuPXlvKHQpO3JldHVybiBuZXcgS2Iobix0aGlzLm5nTW9kdWxlKX19ZnVuY3Rpb24gWmIodCl7Y29uc3QgZT1bXTtmb3IobGV0IG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pKXtlLnB1c2goe3Byb3BOYW1lOnRbbl0sdGVtcGxhdGVOYW1lOm59KX1yZXR1cm4gZX1jb25zdCBYYj1uZXcgZXIoIlNDSEVEVUxFUl9UT0tFTiIse3Byb3ZpZGVkSW46InJvb3QiLGZhY3Rvcnk6KCk9PnhsfSk7Y2xhc3MgS2IgZXh0ZW5kcyBVaHtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy5jb21wb25lbnREZWY9dCx0aGlzLm5nTW9kdWxlPWUsdGhpcy5jb21wb25lbnRUeXBlPXQudHlwZSx0aGlzLnNlbGVjdG9yPShmdW5jdGlvbiBuKHQpe3JldHVybiB0Lm1hcChrYykuam9pbigiLCIpfSkodC5zZWxlY3RvcnMpLHRoaXMubmdDb250ZW50U2VsZWN0b3JzPXQubmdDb250ZW50U2VsZWN0b3JzP3QubmdDb250ZW50U2VsZWN0b3JzOltdLHRoaXMuaXNCb3VuZFRvTW9kdWxlPSEhZX1nZXQgaW5wdXRzKCl7cmV0dXJuIFpiKHRoaXMuY29tcG9uZW50RGVmLmlucHV0cyl9Z2V0IG91dHB1dHMoKXtyZXR1cm4gWmIodGhpcy5jb21wb25lbnREZWYub3V0cHV0cyl9Y3JlYXRlKHQsZSxuLG8pe2NvbnN0IGk9KG89b3x8dGhpcy5uZ01vZHVsZSk/KGZ1bmN0aW9uIGEodCxlKXtyZXR1cm57Z2V0OihuLG8saSk9Pntjb25zdCBhPXQuZ2V0KG4sWWIsaSk7cmV0dXJuIGEhPT1ZYnx8bz09PVliP2E6ZS5nZXQobixvLGkpfX19KSh0LG8uaW5qZWN0b3IpOnQscj1pLmdldChRaCxzaSkscz1pLmdldChuYixudWxsKSxsPXIuY3JlYXRlUmVuZGVyZXIobnVsbCx0aGlzLmNvbXBvbmVudERlZiksYz10aGlzLmNvbXBvbmVudERlZi5zZWxlY3RvcnNbMF1bMF18fCJkaXYiLGQ9bj9BZChsLG4sdGhpcy5jb21wb25lbnREZWYuZW5jYXBzdWxhdGlvbik6VWwoci5jcmVhdGVSZW5kZXJlcihudWxsLHRoaXMuY29tcG9uZW50RGVmKSxjLChmdW5jdGlvbiBwKHQpe2NvbnN0IGU9dC50b0xvd2VyQ2FzZSgpO3JldHVybiJzdmciPT09ZT9laToibWF0aCI9PT1lP25pOm51bGx9KShjKSksbT10aGlzLmNvbXBvbmVudERlZi5vblB1c2g/NTc2OjUyOCxmPShmdW5jdGlvbiB1KHQsZSl7cmV0dXJue2NvbXBvbmVudHM6W10sc2NoZWR1bGVyOnR8fHhsLGNsZWFuOmNwLHBsYXllckhhbmRsZXI6ZXx8bnVsbCxmbGFnczowfX0pKCksZz1SZCgwLG51bGwsbnVsbCwxLDAsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsKSxoPXlkKG51bGwsZyxmLG0sbnVsbCxudWxsLHIsbCxzLGkpO2xldCBiLHk7cWkoaCk7dHJ5e2NvbnN0IHQ9KGZ1bmN0aW9uIG8odCxlLG4saSxhLHIpe2NvbnN0IHM9blsxXTtuZ0Rldk1vZGUmJnduKG4sMjApLG5bMjBdPXQ7Y29uc3QgbD1fZChzLDIwLDIsIiNob3N0IixudWxsKSxjPWwubWVyZ2VkQXR0cnM9ZS5ob3N0QXR0cnM7bnVsbCE9PWMmJihocChsLGMsITApLG51bGwhPT10JiYoaGEoYSx0LGMpLG51bGwhPT1sLmNsYXNzZXMmJmdjKGEsdCxsLmNsYXNzZXMpLG51bGwhPT1sLnN0eWxlcyYmdWMoYSx0LGwuc3R5bGVzKSkpO2NvbnN0IGQ9aS5jcmVhdGVSZW5kZXJlcih0LGUpLHA9eWQobixEZChlKSxudWxsLGUub25QdXNoPzY0OjE2LG5bMjBdLGwsaSxkLHJ8fG51bGwsbnVsbCk7cmV0dXJuIHMuZmlyc3RDcmVhdGVQYXNzJiYoRWEoa2EobCxuKSxzLGUudHlwZSksamQocyxsKSxXZChsLG4ubGVuZ3RoLDEpKSxucChuLHApLG5bMjBdPXB9KShkLHRoaXMuY29tcG9uZW50RGVmLGgscixsKTtpZihkKWlmKG4paGEobCxkLFsibmctdmVyc2lvbiIsaWIuZnVsbF0pO2Vsc2V7Y29uc3R7YXR0cnM6dCxjbGFzc2VzOmV9PShmdW5jdGlvbiBuKHQpe2NvbnN0IGU9W10sbj1bXTtsZXQgbz0xLGk9Mjtmb3IoO288dC5sZW5ndGg7KXtsZXQgYT10W29dO2lmKCJzdHJpbmciPT10eXBlb2YgYSkyPT09aT8iIiE9PWEmJmUucHVzaChhLHRbKytvXSk6OD09PWkmJm4ucHVzaChhKTtlbHNle2lmKCF2YyhpKSlicmVhaztpPWF9bysrfXJldHVybnthdHRyczplLGNsYXNzZXM6bn19KSh0aGlzLmNvbXBvbmVudERlZi5zZWxlY3RvcnNbMF0pO3QmJmhhKGwsZCx0KSxlJiZlLmxlbmd0aD4wJiZnYyhsLGQsZS5qb2luKCIgIikpfWlmKHk9cGkoZyx2byksdm9pZCAwIT09ZSl7Y29uc3QgdD15LnByb2plY3Rpb249W107Zm9yKGxldCBuPTA7bjx0aGlzLm5nQ29udGVudFNlbGVjdG9ycy5sZW5ndGg7bisrKXtjb25zdCBvPWVbbl07dC5wdXNoKG51bGwhPW8/QXJyYXkuZnJvbShvKTpudWxsKX19Yj1YcCh0LHRoaXMuY29tcG9uZW50RGVmLGgsZixbS3BdKSx2ZChnLGgsbnVsbCl9ZmluYWxseXtRaSgpfXJldHVybiBuZXcgSmIodGhpcy5jb21wb25lbnRUeXBlLGIscWgoeSxoKSxoLHkpfX1uZXcgcWI7Y2xhc3MgSmIgZXh0ZW5kcyBjbGFzc3t9e2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7c3VwZXIoKSx0aGlzLmxvY2F0aW9uPW4sdGhpcy5fcm9vdExWaWV3PW8sdGhpcy5fdE5vZGU9aSx0aGlzLmluc3RhbmNlPWUsdGhpcy5ob3N0Vmlldz10aGlzLmNoYW5nZURldGVjdG9yUmVmPW5ldyBNYihvKSx0aGlzLmNvbXBvbmVudFR5cGU9dH1nZXQgaW5qZWN0b3IoKXtyZXR1cm4gbmV3IGphKHRoaXMuX3ROb2RlLHRoaXMuX3Jvb3RMVmlldyl9ZGVzdHJveSgpe3RoaXMuaG9zdFZpZXcuZGVzdHJveSgpfW9uRGVzdHJveSh0KXt0aGlzLmhvc3RWaWV3Lm9uRGVzdHJveSh0KX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFFiKHQsZSxuLG8pe3JldHVybiBWbigoKCk9Pntjb25zdCBpPXQ7bnVsbCE9PWUmJihpLmhhc093blByb3BlcnR5KCJkZWNvcmF0b3JzIikmJnZvaWQgMCE9PWkuZGVjb3JhdG9ycz9pLmRlY29yYXRvcnMucHVzaCguLi5lKTppLmRlY29yYXRvcnM9ZSksbnVsbCE9PW4mJihpLmN0b3JQYXJhbWV0ZXJzPW4pLG51bGwhPT1vJiYoaS5wcm9wRGVjb3JhdG9ycz1pLmhhc093blByb3BlcnR5KCJwcm9wRGVjb3JhdG9ycyIpJiZ2b2lkIDAhPT1pLnByb3BEZWNvcmF0b3JzP09iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxpLnByb3BEZWNvcmF0b3JzKSxvKTpvKX0pKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgJGI9bmV3IE1hcDtmdW5jdGlvbiB0eSh0KXtjb25zdCBlPW5ldyBTZXQ7IShmdW5jdGlvbiB0KG4pe2NvbnN0IG89TW8obiwhMCksaT1vLmlkO2lmKG51bGwhPT1pKXtjb25zdCB0PSRiLmdldChpKTshKGZ1bmN0aW9uIGEodCxlLG4pe2lmKGUmJmUhPT1uKXRocm93IG5ldyBFcnJvcihgRHVwbGljYXRlIG1vZHVsZSByZWdpc3RlcmVkIGZvciAke3R9IC0gJHtLZShlKX0gdnMgJHtLZShlLm5hbWUpfWApfSkoaSx0LG4pLCRiLnNldChpLG4pfWNvbnN0IHI9U2woby5pbXBvcnRzKTtmb3IoY29uc3QgbiBvZiByKWUuaGFzKG4pfHwoZS5hZGQobiksdChuKSl9KSh0KX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgZXkgZXh0ZW5kcyB6Yntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy5fcGFyZW50PWUsdGhpcy5fYm9vdHN0cmFwQ29tcG9uZW50cz1bXSx0aGlzLmluamVjdG9yPXRoaXMsdGhpcy5kZXN0cm95Q2JzPVtdLHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyPW5ldyBxYih0aGlzKTtjb25zdCBuPU1vKHQpO25nRGV2TW9kZSYmeG4obixgTmdNb2R1bGUgJyR7S2UodCl9JyBpcyBub3QgYSBzdWJ0eXBlIG9mICdOZ01vZHVsZVR5cGUnLmApO2NvbnN0IG89KGZ1bmN0aW9uIGkodCl7cmV0dXJuIHRbb29dfHxudWxsfSkodCk7byYmUGcobyksdGhpcy5fYm9vdHN0cmFwQ29tcG9uZW50cz1TbChuLmJvb3RzdHJhcCksdGhpcy5fcjNJbmplY3Rvcj1QcCh0LGUsW3twcm92aWRlOnpiLHVzZVZhbHVlOnRoaXN9LHtwcm92aWRlOkdoLHVzZVZhbHVlOnRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyfV0sS2UodCkpLHRoaXMuX3IzSW5qZWN0b3IuX3Jlc29sdmVJbmplY3RvckRlZlR5cGVzKCksdGhpcy5pbnN0YW5jZT10aGlzLmdldCh0KX1nZXQodCxlPU5wLlRIUk9XX0lGX05PVF9GT1VORCxuPUhuLkRlZmF1bHQpe3JldHVybiB0PT09TnB8fHQ9PT16Ynx8dD09PXlwP3RoaXM6dGhpcy5fcjNJbmplY3Rvci5nZXQodCxlLG4pfWRlc3Ryb3koKXtuZ0Rldk1vZGUmJnhuKHRoaXMuZGVzdHJveUNicywiTmdNb2R1bGUgYWxyZWFkeSBkZXN0cm95ZWQiKTtjb25zdCB0PXRoaXMuX3IzSW5qZWN0b3I7IXQuZGVzdHJveWVkJiZ0LmRlc3Ryb3koKSx0aGlzLmRlc3Ryb3lDYnMuZm9yRWFjaCgodD0+dCgpKSksdGhpcy5kZXN0cm95Q2JzPW51bGx9b25EZXN0cm95KHQpe25nRGV2TW9kZSYmeG4odGhpcy5kZXN0cm95Q2JzLCJOZ01vZHVsZSBhbHJlYWR5IGRlc3Ryb3llZCIpLHRoaXMuZGVzdHJveUNicy5wdXNoKHQpfX1jbGFzcyBueSBleHRlbmRzIGNsYXNze317Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLm1vZHVsZVR5cGU9dDtudWxsIT09TW8odCkmJnR5KHQpfWNyZWF0ZSh0KXtyZXR1cm4gbmV3IGV5KHRoaXMubW9kdWxlVHlwZSx0KX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIG95KHQsZSxuKXtjb25zdCBvPU5pKCkrdCxpPXhpKCk7cmV0dXJuIGlbb109PT1TYz9tbShpLG8sbj9lLmNhbGwobik6ZSgpKTpmbShpLG8pfWZ1bmN0aW9uIGl5KHQsZSxuLG8pe3JldHVybiB1eSh4aSgpLE5pKCksdCxlLG4sbyl9ZnVuY3Rpb24gYXkodCxlLG4sbyxpKXtyZXR1cm4gZ3koeGkoKSxOaSgpLHQsZSxuLG8saSl9ZnVuY3Rpb24gcnkodCxlLG4sbyxpLGEpe3JldHVybiBoeSh4aSgpLE5pKCksdCxlLG4sbyxpLGEpfWZ1bmN0aW9uIHN5KHQsZSxuLG8saSxhLHIpe3JldHVybiBieSh4aSgpLE5pKCksdCxlLG4sbyxpLGEscil9ZnVuY3Rpb24gbHkodCxlLG4sbyxpLGEscixzKXtjb25zdCBsPU5pKCkrdCxjPXhpKCksZD1ibShjLGwsbixvLGksYSk7cmV0dXJuIHVtKGMsbCs0LHIpfHxkP21tKGMsbCs1LHM/ZS5jYWxsKHMsbixvLGksYSxyKTplKG4sbyxpLGEscikpOmZtKGMsbCs1KX1mdW5jdGlvbiBjeSh0LGUsbixvLGksYSxyLHMsbCl7Y29uc3QgYz1OaSgpK3QsZD14aSgpLHA9Ym0oZCxjLG4sbyxpLGEpO3JldHVybiBnbShkLGMrNCxyLHMpfHxwP21tKGQsYys2LGw/ZS5jYWxsKGwsbixvLGksYSxyLHMpOmUobixvLGksYSxyLHMpKTpmbShkLGMrNil9ZnVuY3Rpb24gZHkodCxlLG4sbyxpLGEscixzLGwsYyl7Y29uc3QgZD1OaSgpK3QscD14aSgpO2xldCBtPWJtKHAsZCxuLG8saSxhKTtyZXR1cm4gaG0ocCxkKzQscixzLGwpfHxtP21tKHAsZCs3LGM/ZS5jYWxsKGMsbixvLGksYSxyLHMsbCk6ZShuLG8saSxhLHIscyxsKSk6Zm0ocCxkKzcpfWZ1bmN0aW9uIHB5KHQsZSxuLG8saSxhLHIscyxsLGMsZCl7Y29uc3QgcD1OaSgpK3QsbT14aSgpLGY9Ym0obSxwLG4sbyxpLGEpO3JldHVybiBibShtLHArNCxyLHMsbCxjKXx8Zj9tbShtLHArOCxkP2UuY2FsbChkLG4sbyxpLGEscixzLGwsYyk6ZShuLG8saSxhLHIscyxsLGMpKTpmbShtLHArOCl9ZnVuY3Rpb24gbXkodCxlLG4sbyl7cmV0dXJuIHl5KHhpKCksTmkoKSx0LGUsbixvKX1mdW5jdGlvbiBmeSh0LGUpe25nRGV2TW9kZSYmd24odCxlKTtjb25zdCBuPXRbZV07cmV0dXJuIG49PT1TYz92b2lkIDA6bn1mdW5jdGlvbiB1eSh0LGUsbixvLGksYSl7Y29uc3Qgcj1lK247cmV0dXJuIHVtKHQscixpKT9tbSh0LHIrMSxhP28uY2FsbChhLGkpOm8oaSkpOmZ5KHQscisxKX1mdW5jdGlvbiBneSh0LGUsbixvLGksYSxyKXtjb25zdCBzPWUrbjtyZXR1cm4gZ20odCxzLGksYSk/bW0odCxzKzIscj9vLmNhbGwocixpLGEpOm8oaSxhKSk6ZnkodCxzKzIpfWZ1bmN0aW9uIGh5KHQsZSxuLG8saSxhLHIscyl7Y29uc3QgbD1lK247cmV0dXJuIGhtKHQsbCxpLGEscik/bW0odCxsKzMscz9vLmNhbGwocyxpLGEscik6byhpLGEscikpOmZ5KHQsbCszKX1mdW5jdGlvbiBieSh0LGUsbixvLGksYSxyLHMsbCl7Y29uc3QgYz1lK247cmV0dXJuIGJtKHQsYyxpLGEscixzKT9tbSh0LGMrNCxsP28uY2FsbChsLGksYSxyLHMpOm8oaSxhLHIscykpOmZ5KHQsYys0KX1mdW5jdGlvbiB5eSh0LGUsbixvLGksYSl7bGV0IHI9ZStuLHM9ITE7Zm9yKGxldCBlPTA7ZTxpLmxlbmd0aDtlKyspdW0odCxyKyssaVtlXSkmJihzPSEwKTtyZXR1cm4gcz9tbSh0LHIsby5hcHBseShhLGkpKTpmeSh0LHIpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBfeSh0LGUpe2NvbnN0IG49T2koKTtsZXQgbztjb25zdCBpPXQrdm87bi5maXJzdENyZWF0ZVBhc3M/KG89KGZ1bmN0aW9uIGEodCxlKXtpZihlKWZvcihsZXQgbj1lLmxlbmd0aC0xO24+PTA7bi0tKXtjb25zdCBvPWVbbl07aWYodD09PW8ubmFtZSlyZXR1cm4gb310aHJvdyBuZXcgbm4oIjMwMiIsYFRoZSBwaXBlICcke3R9JyBjb3VsZCBub3QgYmUgZm91bmQhYCl9KShlLG4ucGlwZVJlZ2lzdHJ5KSxuLmRhdGFbaV09byxvLm9uRGVzdHJveSYmKG4uZGVzdHJveUhvb2tzfHwobi5kZXN0cm95SG9va3M9W10pKS5wdXNoKGksby5vbkRlc3Ryb3kpKTpvPW4uZGF0YVtpXTtjb25zdCByPW8uZmFjdG9yeXx8KG8uZmFjdG9yeT1HbyhvLnR5cGUsITApKSxzPUxuKGdmKTt0cnl7Y29uc3QgdD1QYSghMSksZT1yKCk7cmV0dXJuIFBhKHQpLChmdW5jdGlvbiBsKHQsZSxuLG8pe24+PXQuZGF0YS5sZW5ndGgmJih0LmRhdGFbbl09bnVsbCx0LmJsdWVwcmludFtuXT1udWxsKSxlW25dPW99KShuLHhpKCksaSxlKSxlfWZpbmFsbHl7TG4ocyl9fWZ1bmN0aW9uIEN5KHQsZSxuKXtjb25zdCBvPXQrdm8saT14aSgpLGE9bWkoaSxvKTtyZXR1cm4gd3koaSxQeShpLG8pP3V5KGksTmkoKSxlLGEudHJhbnNmb3JtLG4sYSk6YS50cmFuc2Zvcm0obikpfWZ1bmN0aW9uIE15KHQsZSxuLG8pe2NvbnN0IGk9dCt2byxhPXhpKCkscj1taShhLGkpO3JldHVybiB3eShhLFB5KGEsaSk/Z3koYSxOaSgpLGUsci50cmFuc2Zvcm0sbixvLHIpOnIudHJhbnNmb3JtKG4sbykpfWZ1bmN0aW9uIHZ5KHQsZSxuLG8saSl7Y29uc3QgYT10K3ZvLHI9eGkoKSxzPW1pKHIsYSk7cmV0dXJuIHd5KHIsUHkocixhKT9oeShyLE5pKCksZSxzLnRyYW5zZm9ybSxuLG8saSxzKTpzLnRyYW5zZm9ybShuLG8saSkpfWZ1bmN0aW9uIHh5KHQsZSxuLG8saSxhKXtjb25zdCByPXQrdm8scz14aSgpLGw9bWkocyxyKTtyZXR1cm4gd3kocyxQeShzLHIpP2J5KHMsTmkoKSxlLGwudHJhbnNmb3JtLG4sbyxpLGEsbCk6bC50cmFuc2Zvcm0obixvLGksYSkpfWZ1bmN0aW9uIE95KHQsZSxuKXtjb25zdCBvPXQrdm8saT14aSgpLGE9bWkoaSxvKTtyZXR1cm4gd3koaSxQeShpLG8pP3l5KGksTmkoKSxlLGEudHJhbnNmb3JtLG4sYSk6YS50cmFuc2Zvcm0uYXBwbHkoYSxuKSl9ZnVuY3Rpb24gUHkodCxlKXtyZXR1cm4gdFsxXS5kYXRhW2VdLnB1cmV9ZnVuY3Rpb24gd3kodCxlKXtpZihjbS5pc1dyYXBwZWQoZSkpe2U9Y20udW53cmFwKGUpO3RbemkoKV09U2N9cmV0dXJuIGV9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIGt5KHQpe3JldHVybiBlPT57c2V0VGltZW91dCh0LHZvaWQgMCxlKX19Y29uc3QgU3k9Y2xhc3MgZXh0ZW5kcyBCe2NvbnN0cnVjdG9yKHQ9ITEpe3N1cGVyKCksdGhpcy5fX2lzQXN5bmM9dH1lbWl0KHQpe3N1cGVyLm5leHQodCl9c3Vic2NyaWJlKHQsZSxuKXt2YXIgbyxpLGE7bGV0IHI9dCxzPWV8fCgoKT0+bnVsbCksbD1uO2lmKHQmJiJvYmplY3QiPT10eXBlb2YgdCl7Y29uc3QgZT10O3I9bnVsbD09PShvPWUubmV4dCl8fHZvaWQgMD09PW8/dm9pZCAwOm8uYmluZChlKSxzPW51bGw9PT0oaT1lLmVycm9yKXx8dm9pZCAwPT09aT92b2lkIDA6aS5iaW5kKGUpLGw9bnVsbD09PShhPWUuY29tcGxldGUpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLmJpbmQoZSl9dGhpcy5fX2lzQXN5bmMmJihzPWt5KHMpLHImJihyPWt5KHIpKSxsJiYobD1reShsKSkpO2NvbnN0IGM9c3VwZXIuc3Vic2NyaWJlKHtuZXh0OnIsZXJyb3I6cyxjb21wbGV0ZTpsfSk7cmV0dXJuIHQgaW5zdGFuY2VvZiB1JiZ0LmFkZChjKSxjfX07Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIER5KCl7cmV0dXJuIHRoaXMuX3Jlc3VsdHNbc20oKV0oKX1jbGFzcyBSeXtjb25zdHJ1Y3Rvcih0PSExKXt0aGlzLl9lbWl0RGlzdGluY3RDaGFuZ2VzT25seT10LHRoaXMuZGlydHk9ITAsdGhpcy5fcmVzdWx0cz1bXSx0aGlzLl9jaGFuZ2VzRGV0ZWN0ZWQ9ITEsdGhpcy5fY2hhbmdlcz1udWxsLHRoaXMubGVuZ3RoPTAsdGhpcy5maXJzdD12b2lkIDAsdGhpcy5sYXN0PXZvaWQgMDtjb25zdCBlPXNtKCksbj1SeS5wcm90b3R5cGU7bltlXXx8KG5bZV09RHkpfWdldCBjaGFuZ2VzKCl7cmV0dXJuIHRoaXMuX2NoYW5nZXN8fCh0aGlzLl9jaGFuZ2VzPW5ldyBTeSl9Z2V0KHQpe3JldHVybiB0aGlzLl9yZXN1bHRzW3RdfW1hcCh0KXtyZXR1cm4gdGhpcy5fcmVzdWx0cy5tYXAodCl9ZmlsdGVyKHQpe3JldHVybiB0aGlzLl9yZXN1bHRzLmZpbHRlcih0KX1maW5kKHQpe3JldHVybiB0aGlzLl9yZXN1bHRzLmZpbmQodCl9cmVkdWNlKHQsZSl7cmV0dXJuIHRoaXMuX3Jlc3VsdHMucmVkdWNlKHQsZSl9Zm9yRWFjaCh0KXt0aGlzLl9yZXN1bHRzLmZvckVhY2godCl9c29tZSh0KXtyZXR1cm4gdGhpcy5fcmVzdWx0cy5zb21lKHQpfXRvQXJyYXkoKXtyZXR1cm4gdGhpcy5fcmVzdWx0cy5zbGljZSgpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuX3Jlc3VsdHMudG9TdHJpbmcoKX1yZXNldCh0LGUpe2NvbnN0IG49dGhpcztuLmRpcnR5PSExO2NvbnN0IG89cHIodCk7KHRoaXMuX2NoYW5nZXNEZXRlY3RlZD0hKGZ1bmN0aW9uIGkodCxlLG4pe2lmKHQubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBvPTA7bzx0Lmxlbmd0aDtvKyspe2xldCBpPXRbb10sYT1lW29dO2lmKG4mJihpPW4oaSksYT1uKGEpKSxhIT09aSlyZXR1cm4hMX1yZXR1cm4hMH0pKG4uX3Jlc3VsdHMsbyxlKSkmJihuLl9yZXN1bHRzPW8sbi5sZW5ndGg9by5sZW5ndGgsbi5sYXN0PW9bdGhpcy5sZW5ndGgtMV0sbi5maXJzdD1vWzBdKX1ub3RpZnlPbkNoYW5nZXMoKXshdGhpcy5fY2hhbmdlc3x8IXRoaXMuX2NoYW5nZXNEZXRlY3RlZCYmdGhpcy5fZW1pdERpc3RpbmN0Q2hhbmdlc09ubHl8fHRoaXMuX2NoYW5nZXMuZW1pdCh0aGlzKX1zZXREaXJ0eSgpe3RoaXMuZGlydHk9ITB9ZGVzdHJveSgpe3RoaXMuY2hhbmdlcy5jb21wbGV0ZSgpLHRoaXMuY2hhbmdlcy51bnN1YnNjcmliZSgpfX1jbGFzcyBFeXtjb25zdHJ1Y3Rvcih0KXt0aGlzLnF1ZXJ5TGlzdD10LHRoaXMubWF0Y2hlcz1udWxsfWNsb25lKCl7cmV0dXJuIG5ldyBFeSh0aGlzLnF1ZXJ5TGlzdCl9c2V0RGlydHkoKXt0aGlzLnF1ZXJ5TGlzdC5zZXREaXJ0eSgpfX1jbGFzcyBBeXtjb25zdHJ1Y3Rvcih0PVtdKXt0aGlzLnF1ZXJpZXM9dH1jcmVhdGVFbWJlZGRlZFZpZXcodCl7Y29uc3QgZT10LnF1ZXJpZXM7aWYobnVsbCE9PWUpe2NvbnN0IG49bnVsbCE9PXQuY29udGVudFF1ZXJpZXM/dC5jb250ZW50UXVlcmllc1swXTplLmxlbmd0aCxvPVtdO2ZvcihsZXQgdD0wO3Q8bjt0Kyspe2NvbnN0IG49ZS5nZXRCeUluZGV4KHQpO28ucHVzaCh0aGlzLnF1ZXJpZXNbbi5pbmRleEluRGVjbGFyYXRpb25WaWV3XS5jbG9uZSgpKX1yZXR1cm4gbmV3IEF5KG8pfXJldHVybiBudWxsfWluc2VydFZpZXcodCl7dGhpcy5kaXJ0eVF1ZXJpZXNXaXRoTWF0Y2hlcyh0KX1kZXRhY2hWaWV3KHQpe3RoaXMuZGlydHlRdWVyaWVzV2l0aE1hdGNoZXModCl9ZGlydHlRdWVyaWVzV2l0aE1hdGNoZXModCl7Zm9yKGxldCBlPTA7ZTx0aGlzLnF1ZXJpZXMubGVuZ3RoO2UrKyludWxsIT09WXkodCxlKS5tYXRjaGVzJiZ0aGlzLnF1ZXJpZXNbZV0uc2V0RGlydHkoKX19Y2xhc3MgVHl7Y29uc3RydWN0b3IodCxlLG49bnVsbCl7dGhpcy5wcmVkaWNhdGU9dCx0aGlzLmZsYWdzPWUsdGhpcy5yZWFkPW59fWNsYXNzIE55e2NvbnN0cnVjdG9yKHQ9W10pe3RoaXMucXVlcmllcz10fWVsZW1lbnRTdGFydCh0LGUpe25nRGV2TW9kZSYmTG8odCwiUXVlcmllcyBzaG91bGQgY29sbGVjdCByZXN1bHRzIG9uIHRoZSBmaXJzdCB0ZW1wbGF0ZSBwYXNzIG9ubHkiKTtmb3IobGV0IG49MDtuPHRoaXMucXVlcmllcy5sZW5ndGg7bisrKXRoaXMucXVlcmllc1tuXS5lbGVtZW50U3RhcnQodCxlKX1lbGVtZW50RW5kKHQpe2ZvcihsZXQgZT0wO2U8dGhpcy5xdWVyaWVzLmxlbmd0aDtlKyspdGhpcy5xdWVyaWVzW2VdLmVsZW1lbnRFbmQodCl9ZW1iZWRkZWRUVmlldyh0KXtsZXQgZT1udWxsO2ZvcihsZXQgbj0wO248dGhpcy5sZW5ndGg7bisrKXtjb25zdCBvPW51bGwhPT1lP2UubGVuZ3RoOjAsaT10aGlzLmdldEJ5SW5kZXgobikuZW1iZWRkZWRUVmlldyh0LG8pO2kmJihpLmluZGV4SW5EZWNsYXJhdGlvblZpZXc9bixudWxsIT09ZT9lLnB1c2goaSk6ZT1baV0pfXJldHVybiBudWxsIT09ZT9uZXcgTnkoZSk6bnVsbH10ZW1wbGF0ZSh0LGUpe25nRGV2TW9kZSYmTG8odCwiUXVlcmllcyBzaG91bGQgY29sbGVjdCByZXN1bHRzIG9uIHRoZSBmaXJzdCB0ZW1wbGF0ZSBwYXNzIG9ubHkiKTtmb3IobGV0IG49MDtuPHRoaXMucXVlcmllcy5sZW5ndGg7bisrKXRoaXMucXVlcmllc1tuXS50ZW1wbGF0ZSh0LGUpfWdldEJ5SW5kZXgodCl7cmV0dXJuIG5nRGV2TW9kZSYmd24odGhpcy5xdWVyaWVzLHQpLHRoaXMucXVlcmllc1t0XX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMucXVlcmllcy5sZW5ndGh9dHJhY2sodCl7dGhpcy5xdWVyaWVzLnB1c2godCl9fWNsYXNzIHp5e2NvbnN0cnVjdG9yKHQsZT0tMSl7dGhpcy5tZXRhZGF0YT10LHRoaXMubWF0Y2hlcz1udWxsLHRoaXMuaW5kZXhJbkRlY2xhcmF0aW9uVmlldz0tMSx0aGlzLmNyb3NzZXNOZ1RlbXBsYXRlPSExLHRoaXMuX2FwcGxpZXNUb05leHROb2RlPSEwLHRoaXMuX2RlY2xhcmF0aW9uTm9kZUluZGV4PWV9ZWxlbWVudFN0YXJ0KHQsZSl7dGhpcy5pc0FwcGx5aW5nVG9Ob2RlKGUpJiZ0aGlzLm1hdGNoVE5vZGUodCxlKX1lbGVtZW50RW5kKHQpe3RoaXMuX2RlY2xhcmF0aW9uTm9kZUluZGV4PT09dC5pbmRleCYmKHRoaXMuX2FwcGxpZXNUb05leHROb2RlPSExKX10ZW1wbGF0ZSh0LGUpe3RoaXMuZWxlbWVudFN0YXJ0KHQsZSl9ZW1iZWRkZWRUVmlldyh0LGUpe3JldHVybiB0aGlzLmlzQXBwbHlpbmdUb05vZGUodCk/KHRoaXMuY3Jvc3Nlc05nVGVtcGxhdGU9ITAsdGhpcy5hZGRNYXRjaCgtdC5pbmRleCxlKSxuZXcgenkodGhpcy5tZXRhZGF0YSkpOm51bGx9aXNBcHBseWluZ1RvTm9kZSh0KXtpZih0aGlzLl9hcHBsaWVzVG9OZXh0Tm9kZSYmMSE9KDEmdGhpcy5tZXRhZGF0YS5mbGFncykpe2NvbnN0IGU9dGhpcy5fZGVjbGFyYXRpb25Ob2RlSW5kZXg7bGV0IG49dC5wYXJlbnQ7Zm9yKDtudWxsIT09biYmOCZuLnR5cGUmJm4uaW5kZXghPT1lOyluPW4ucGFyZW50O3JldHVybiBlPT09KG51bGwhPT1uP24uaW5kZXg6LTEpfXJldHVybiB0aGlzLl9hcHBsaWVzVG9OZXh0Tm9kZX1tYXRjaFROb2RlKHQsZSl7Y29uc3Qgbj10aGlzLm1ldGFkYXRhLnByZWRpY2F0ZTtpZihBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgbz0wO288bi5sZW5ndGg7bysrKXtjb25zdCBpPW5bb107dGhpcy5tYXRjaFROb2RlV2l0aFJlYWRPcHRpb24odCxlLEl5KGUsaSkpLHRoaXMubWF0Y2hUTm9kZVdpdGhSZWFkT3B0aW9uKHQsZSxGYShlLHQsaSwhMSwhMSkpfWVsc2Ugbj09PUViPzQmZS50eXBlJiZ0aGlzLm1hdGNoVE5vZGVXaXRoUmVhZE9wdGlvbih0LGUsLTEpOnRoaXMubWF0Y2hUTm9kZVdpdGhSZWFkT3B0aW9uKHQsZSxGYShlLHQsbiwhMSwhMSkpfW1hdGNoVE5vZGVXaXRoUmVhZE9wdGlvbih0LGUsbil7aWYobnVsbCE9PW4pe2NvbnN0IG89dGhpcy5tZXRhZGF0YS5yZWFkO2lmKG51bGwhPT1vKWlmKG89PT1LaHx8bz09PUZifHxvPT09RWImJjQmZS50eXBlKXRoaXMuYWRkTWF0Y2goZS5pbmRleCwtMik7ZWxzZXtjb25zdCBuPUZhKGUsdCxvLCExLCExKTtudWxsIT09biYmdGhpcy5hZGRNYXRjaChlLmluZGV4LG4pfWVsc2UgdGhpcy5hZGRNYXRjaChlLmluZGV4LG4pfX1hZGRNYXRjaCh0LGUpe251bGw9PT10aGlzLm1hdGNoZXM/dGhpcy5tYXRjaGVzPVt0LGVdOnRoaXMubWF0Y2hlcy5wdXNoKHQsZSl9fWZ1bmN0aW9uIEl5KHQsZSl7Y29uc3Qgbj10LmxvY2FsTmFtZXM7aWYobnVsbCE9PW4pZm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kz0yKWlmKG5bdF09PT1lKXJldHVybiBuW3QrMV07cmV0dXJuIG51bGx9ZnVuY3Rpb24gSHkodCxlLG4sbyl7cmV0dXJuLTE9PT1uPyhmdW5jdGlvbiBpKHQsZSl7cmV0dXJuIDExJnQudHlwZT9xaCh0LGUpOjQmdC50eXBlP05iKHQsZSk6bnVsbH0pKGUsdCk6LTI9PT1uPyhmdW5jdGlvbiBhKHQsZSxuKXtpZihuPT09S2gpcmV0dXJuIHFoKGUsdCk7aWYobj09PUViKXJldHVybiBOYihlLHQpO2lmKG49PT1GYilyZXR1cm4gbmdEZXZNb2RlJiZnYShlLDE1KSxVYihlLHQpO25nRGV2TW9kZSYmT24oYFNwZWNpYWwgdG9rZW4gdG8gcmVhZCBzaG91bGQgYmUgb25lIG9mIEVsZW1lbnRSZWYsIFRlbXBsYXRlUmVmIG9yIFZpZXdDb250YWluZXJSZWYgYnV0IGdvdCAke0tlKG4pfS5gKX0pKHQsZSxvKTpMYSh0LHRbMV0sbixlKX1mdW5jdGlvbiBGeSh0LGUsbixvKXtjb25zdCBpPWVbMTldLnF1ZXJpZXNbb107aWYobnVsbD09PWkubWF0Y2hlcyl7Y29uc3Qgbz10LmRhdGEsYT1uLm1hdGNoZXMscj1bXTtmb3IobGV0IHQ9MDt0PGEubGVuZ3RoO3QrPTIpe2NvbnN0IGk9YVt0XTtpZihpPDApci5wdXNoKG51bGwpO2Vsc2V7bmdEZXZNb2RlJiZ3bihvLGkpO3IucHVzaChIeShlLG9baV0sYVt0KzFdLG4ubWV0YWRhdGEucmVhZCkpfX1pLm1hdGNoZXM9cn1yZXR1cm4gaS5tYXRjaGVzfWZ1bmN0aW9uIEx5KHQsZSxuLG8pe2NvbnN0IGk9dC5xdWVyaWVzLmdldEJ5SW5kZXgobiksYT1pLm1hdGNoZXM7aWYobnVsbCE9PWEpe2NvbnN0IHI9RnkodCxlLGksbik7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0Kz0yKXtjb25zdCBuPWFbdF07aWYobj4wKW8ucHVzaChyW3QvMl0pO2Vsc2V7Y29uc3QgaT1hW3QrMV0scj1lWy1uXTtuZ0Rldk1vZGUmJklvKHIpO2ZvcihsZXQgdD1Pbzt0PHIubGVuZ3RoO3QrKyl7Y29uc3QgZT1yW3RdO2VbMTddPT09ZVszXSYmTHkoZVsxXSxlLGksbyl9aWYobnVsbCE9PXJbOV0pe2NvbnN0IHQ9cls5XTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl7Y29uc3Qgbj10W2VdO0x5KG5bMV0sbixpLG8pfX19fX1yZXR1cm4gb31mdW5jdGlvbiBCeSh0KXtjb25zdCBlPXhpKCksbj1PaSgpLG89VWkoKTtXaShvKzEpO2NvbnN0IGk9WXkobixvKTtpZih0LmRpcnR5JiZ1aShlKT09PSgyPT0oMiZpLm1ldGFkYXRhLmZsYWdzKSkpe2lmKG51bGw9PT1pLm1hdGNoZXMpdC5yZXNldChbXSk7ZWxzZXtjb25zdCBhPWkuY3Jvc3Nlc05nVGVtcGxhdGU/THkobixlLG8sW10pOkZ5KG4sZSxpLG8pO3QucmVzZXQoYSxKaCksdC5ub3RpZnlPbkNoYW5nZXMoKX1yZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBWeSh0LGUsbil7bmdEZXZNb2RlJiZwbihlLCJFeHBlY3RpbmcgZmxhZ3MiKTtjb25zdCBvPU9pKCk7by5maXJzdENyZWF0ZVBhc3MmJihHeShvLG5ldyBUeSh0LGUsbiksLTEpLDI9PSgyJmUpJiYoby5zdGF0aWNWaWV3UXVlcmllcz0hMCkpLFd5KG8seGkoKSxlKX1mdW5jdGlvbiBqeSh0LGUsbixvKXtuZ0Rldk1vZGUmJnBuKG4sIkV4cGVjdGluZyBmbGFncyIpO2NvbnN0IGk9T2koKTtpZihpLmZpcnN0Q3JlYXRlUGFzcyl7Y29uc3QgYT13aSgpO0d5KGksbmV3IFR5KGUsbixvKSxhLmluZGV4KSwoZnVuY3Rpb24gYSh0LGUpe2NvbnN0IG49dC5jb250ZW50UXVlcmllc3x8KHQuY29udGVudFF1ZXJpZXM9W10pO2UhPT0obi5sZW5ndGg/bltuLmxlbmd0aC0xXTotMSkmJm4ucHVzaCh0LnF1ZXJpZXMubGVuZ3RoLTEsZSl9KShpLHQpLDI9PSgyJm4pJiYoaS5zdGF0aWNDb250ZW50UXVlcmllcz0hMCl9V3koaSx4aSgpLG4pfWZ1bmN0aW9uIFV5KCl7cmV0dXJuKGZ1bmN0aW9uIHQoZSxuKXtyZXR1cm4gbmdEZXZNb2RlJiZ4bihlWzE5XSwiTFF1ZXJpZXMgc2hvdWxkIGJlIGRlZmluZWQgd2hlbiB0cnlpbmcgdG8gbG9hZCBhIHF1ZXJ5IiksbmdEZXZNb2RlJiZ3bihlWzE5XS5xdWVyaWVzLG4pLGVbMTldLnF1ZXJpZXNbbl0ucXVlcnlMaXN0fSkoeGkoKSxVaSgpKX1mdW5jdGlvbiBXeSh0LGUsbil7Y29uc3Qgbz1uZXcgUnkoND09KDQmbikpO1RkKHQsZSxvLG8uZGVzdHJveSksbnVsbD09PWVbMTldJiYoZVsxOV09bmV3IEF5KSxlWzE5XS5xdWVyaWVzLnB1c2gobmV3IEV5KG8pKX1mdW5jdGlvbiBHeSh0LGUsbil7bnVsbD09PXQucXVlcmllcyYmKHQucXVlcmllcz1uZXcgTnkpLHQucXVlcmllcy50cmFjayhuZXcgenkoZSxuKSl9ZnVuY3Rpb24gWXkodCxlKXtyZXR1cm4gbmdEZXZNb2RlJiZ4bih0LnF1ZXJpZXMsIlRRdWVyaWVzIG11c3QgYmUgZGVmaW5lZCB0byByZXRyaWV2ZSBhIFRRdWVyeSIpLHQucXVlcmllcy5nZXRCeUluZGV4KGUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBxeSh0LGUpe3JldHVybiBOYih0LGUpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgWnk9eyLJtcm1YXR0cmlidXRlIjp5bSwiybXJtWF0dHJpYnV0ZUludGVycG9sYXRlMSI6U20sIsm1ybVhdHRyaWJ1dGVJbnRlcnBvbGF0ZTIiOkRtLCLJtcm1YXR0cmlidXRlSW50ZXJwb2xhdGUzIjpSbSwiybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNCI6RW0sIsm1ybVhdHRyaWJ1dGVJbnRlcnBvbGF0ZTUiOkFtLCLJtcm1YXR0cmlidXRlSW50ZXJwb2xhdGU2IjpUbSwiybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNyI6Tm0sIsm1ybVhdHRyaWJ1dGVJbnRlcnBvbGF0ZTgiOnptLCLJtcm1YXR0cmlidXRlSW50ZXJwb2xhdGVWIjpJbSwiybXJtWRlZmluZUNvbXBvbmVudCI6c28sIsm1ybVkZWZpbmVEaXJlY3RpdmUiOmhvLCLJtcm1ZGVmaW5lSW5qZWN0YWJsZSI6U24sIsm1ybVkZWZpbmVJbmplY3RvciI6RG4sIsm1ybVkZWZpbmVOZ01vZHVsZSI6Zm8sIsm1ybVkZWZpbmVQaXBlIjpibywiybXJtWRpcmVjdGl2ZUluamVjdCI6Z2YsIsm1ybVnZXRJbmhlcml0ZWRGYWN0b3J5IjpVYSwiybXJtWluamVjdCI6VHIsIsm1ybVpbmplY3RBdHRyaWJ1dGUiOkdhLCLJtcm1aW52YWxpZEZhY3RvcnkiOmhmLCLJtcm1aW52YWxpZEZhY3RvcnlEZXAiOk5yLCLJtcm1dGVtcGxhdGVSZWZFeHRyYWN0b3IiOnF5LCLJtcm1TmdPbkNoYW5nZXNGZWF0dXJlIjpxbywiybXJtVByb3ZpZGVyc0ZlYXR1cmUiOmpoLCLJtcm1Q29weURlZmluaXRpb25GZWF0dXJlIjphbSwiybXJtUluaGVyaXREZWZpbml0aW9uRmVhdHVyZSI6UXAsIsm1ybVuZXh0Q29udGV4dCI6emYsIsm1ybVuYW1lc3BhY2VIVE1MIjphYSwiybXJtW5hbWVzcGFjZU1hdGhNTCI6aWEsIsm1ybVuYW1lc3BhY2VTVkciOm9hLCLJtcm1ZW5hYmxlQmluZGluZ3MiOk1pLCLJtcm1ZGlzYWJsZUJpbmRpbmdzIjp2aSwiybXJtWVsZW1lbnRTdGFydCI6Q2YsIsm1ybVlbGVtZW50RW5kIjpNZiwiybXJtWVsZW1lbnQiOnZmLCLJtcm1ZWxlbWVudENvbnRhaW5lclN0YXJ0Ijp4ZiwiybXJtWVsZW1lbnRDb250YWluZXJFbmQiOk9mLCLJtcm1ZWxlbWVudENvbnRhaW5lciI6UGYsIsm1ybVwdXJlRnVuY3Rpb24wIjpveSwiybXJtXB1cmVGdW5jdGlvbjEiOml5LCLJtcm1cHVyZUZ1bmN0aW9uMiI6YXksIsm1ybVwdXJlRnVuY3Rpb24zIjpyeSwiybXJtXB1cmVGdW5jdGlvbjQiOnN5LCLJtcm1cHVyZUZ1bmN0aW9uNSI6bHksIsm1ybVwdXJlRnVuY3Rpb242IjpjeSwiybXJtXB1cmVGdW5jdGlvbjciOmR5LCLJtcm1cHVyZUZ1bmN0aW9uOCI6cHksIsm1ybVwdXJlRnVuY3Rpb25WIjpteSwiybXJtWdldEN1cnJlbnRWaWV3Ijp3ZiwiybXJtXJlc3RvcmVWaWV3IjpQaSwiybXJtWxpc3RlbmVyIjpSZiwiybXJtXByb2plY3Rpb24iOkZmLCLJtcm1c3ludGhldGljSG9zdFByb3BlcnR5IjpkZywiybXJtXN5bnRoZXRpY0hvc3RMaXN0ZW5lciI6RWYsIsm1ybVwaXBlQmluZDEiOkN5LCLJtcm1cGlwZUJpbmQyIjpNeSwiybXJtXBpcGVCaW5kMyI6dnksIsm1ybVwaXBlQmluZDQiOnh5LCLJtcm1cGlwZUJpbmRWIjpPeSwiybXJtXByb2plY3Rpb25EZWYiOkhmLCLJtcm1aG9zdFByb3BlcnR5IjpjZywiybXJtXByb3BlcnR5IjpiZiwiybXJtXByb3BlcnR5SW50ZXJwb2xhdGUiOkxmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTEiOkJmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTIiOlZmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTMiOmpmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTQiOlVmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTUiOldmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTYiOkdmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTciOllmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTgiOnFmLCLJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZVYiOlpmLCLJtcm1cGlwZSI6X3ksIsm1ybVxdWVyeVJlZnJlc2giOkJ5LCLJtcm1dmlld1F1ZXJ5IjpWeSwiybXJtWxvYWRRdWVyeSI6VXksIsm1ybVjb250ZW50UXVlcnkiOmp5LCLJtcm1cmVmZXJlbmNlIjpGbSwiybXJtWNsYXNzTWFwIjptdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGUxIjpJdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGUyIjpIdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGUzIjpGdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU0IjpMdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU1IjpCdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU2IjpWdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU3IjpqdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU4IjpVdSwiybXJtWNsYXNzTWFwSW50ZXJwb2xhdGVWIjpXdSwiybXJtXN0eWxlTWFwIjpkdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGUxIjpHdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGUyIjpZdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGUzIjpxdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU0IjpadSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU1IjpYdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU2IjpLdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU3IjpKdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU4IjpRdSwiybXJtXN0eWxlTWFwSW50ZXJwb2xhdGVWIjokdSwiybXJtXN0eWxlUHJvcCI6bHUsIsm1ybVzdHlsZVByb3BJbnRlcnBvbGF0ZTEiOnRnLCLJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGUyIjplZywiybXJtXN0eWxlUHJvcEludGVycG9sYXRlMyI6bmcsIsm1ybVzdHlsZVByb3BJbnRlcnBvbGF0ZTQiOm9nLCLJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU1IjppZywiybXJtXN0eWxlUHJvcEludGVycG9sYXRlNiI6YWcsIsm1ybVzdHlsZVByb3BJbnRlcnBvbGF0ZTciOnJnLCLJtcm1c3R5bGVQcm9wSW50ZXJwb2xhdGU4IjpzZywiybXJtXN0eWxlUHJvcEludGVycG9sYXRlViI6bGcsIsm1ybVjbGFzc1Byb3AiOmN1LCLJtcm1YWR2YW5jZSI6RGMsIsm1ybV0ZW1wbGF0ZSI6SG0sIsm1ybV0ZXh0IjpQdSwiybXJtXRleHRJbnRlcnBvbGF0ZSI6d3UsIsm1ybV0ZXh0SW50ZXJwb2xhdGUxIjprdSwiybXJtXRleHRJbnRlcnBvbGF0ZTIiOlN1LCLJtcm1dGV4dEludGVycG9sYXRlMyI6RHUsIsm1ybV0ZXh0SW50ZXJwb2xhdGU0IjpSdSwiybXJtXRleHRJbnRlcnBvbGF0ZTUiOkV1LCLJtcm1dGV4dEludGVycG9sYXRlNiI6QXUsIsm1ybV0ZXh0SW50ZXJwb2xhdGU3IjpUdSwiybXJtXRleHRJbnRlcnBvbGF0ZTgiOk51LCLJtcm1dGV4dEludGVycG9sYXRlViI6enUsIsm1ybVpMThuIjpSaCwiybXJtWkxOG5BdHRyaWJ1dGVzIjpFaCwiybXJtWkxOG5FeHAiOkFoLCLJtcm1aTE4blN0YXJ0IjpTaCwiybXJtWkxOG5FbmQiOkRoLCLJtcm1aTE4bkFwcGx5IjpUaCwiybXJtWkxOG5Qb3N0cHJvY2VzcyI6TmgsIsm1ybVyZXNvbHZlV2luZG93IjpPbCwiybXJtXJlc29sdmVEb2N1bWVudCI6UGwsIsm1ybVyZXNvbHZlQm9keSI6d2wsIsm1ybVzZXRDb21wb25lbnRTY29wZSI6bG8sIsm1ybVzZXROZ01vZHVsZVNjb3BlIjp1bywiybXJtXNhbml0aXplSHRtbCI6cXMsIsm1ybVzYW5pdGl6ZVN0eWxlIjpacywiybXJtXNhbml0aXplUmVzb3VyY2VVcmwiOktzLCLJtcm1c2FuaXRpemVTY3JpcHQiOkpzLCLJtcm1c2FuaXRpemVVcmwiOlhzLCLJtcm1c2FuaXRpemVVcmxPclJlc291cmNlVXJsIjp0bCwiybXJtXRydXN0Q29uc3RhbnRIdG1sIjpRcywiybXJtXRydXN0Q29uc3RhbnRSZXNvdXJjZVVybCI6JHMsZm9yd2FyZFJlZjokZSxyZXNvbHZlRm9yd2FyZFJlZjp0bn07bGV0IFh5PW51bGw7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBLeT1bXTtsZXQgSnk9ITE7ZnVuY3Rpb24gUXkodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dC5ldmVyeShReSk6ISF0bih0KX1mdW5jdGlvbiAkeSh0LGUsbil7aWYob18uZ2V0KHQpKXJldHVybjtsZXQgbztpZihvXy5zZXQodCwhMCksdD10bih0KSxuKXtpZihvPU1vKHQpLCFvKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCB2YWx1ZSAnJHt0Lm5hbWV9JyBpbXBvcnRlZCBieSB0aGUgbW9kdWxlICcke24ubmFtZX0nLiBQbGVhc2UgYWRkIGFuIEBOZ01vZHVsZSBhbm5vdGF0aW9uLmApfWVsc2Ugbz1Nbyh0LCEwKTtjb25zdCBpPVtdLGE9U2woby5kZWNsYXJhdGlvbnMpLHI9U2woby5pbXBvcnRzKTtwcihyKS5tYXAodF8pLmZvckVhY2goKGU9PntoKGUsdCksJHkoZSwhMSx0KX0pKTtjb25zdCBzPVNsKG8uZXhwb3J0cyk7YS5mb3JFYWNoKChmdW5jdGlvbiBsKGUpe2U9dG4oZSk7eW8oZSl8fF9vKGUpfHxDbyhlKXx8aS5wdXNoKGBVbmV4cGVjdGVkIHZhbHVlICcke3NuKGUpfScgZGVjbGFyZWQgYnkgdGhlIG1vZHVsZSAnJHtzbih0KX0nLiBQbGVhc2UgYWRkIGEgQFBpcGUvQERpcmVjdGl2ZS9AQ29tcG9uZW50IGFubm90YXRpb24uYCl9KSksYS5mb3JFYWNoKChmdW5jdGlvbiBjKHQpe2NvbnN0IGU9X28odD10bih0KSk7IXlvKHQpJiZlJiYwPT1lLnNlbGVjdG9ycy5sZW5ndGgmJmkucHVzaChgRGlyZWN0aXZlICR7c24odCl9IGhhcyBubyBzZWxlY3RvciwgcGxlYXNlIGFkZCBpdCFgKX0pKTtjb25zdCBkPVsuLi5hLm1hcCh0biksLi4ucHIoci5tYXAoaV8pKS5tYXAodG4pXTtzLmZvckVhY2goKGZ1bmN0aW9uIHAoZSl7Y29uc3Qgbj0oeW8oZT10bihlKSk/ImNvbXBvbmVudCI6X28oZSkmJiJkaXJlY3RpdmUiKXx8Q28oZSkmJiJwaXBlIjtuJiYtMT09PWQubGFzdEluZGV4T2YoZSkmJmkucHVzaChgQ2FuJ3QgZXhwb3J0ICR7bn0gJHtzbihlKX0gZnJvbSAke3NuKHQpfSBhcyBpdCB3YXMgbmVpdGhlciBkZWNsYXJlZCBub3IgaW1wb3J0ZWQhYCl9KSksYS5mb3JFYWNoKChuPT4oZnVuY3Rpb24gbyhlLG4pe2U9dG4oZSk7Y29uc3Qgbz1uXy5nZXQoZSk7aWYobyYmbyE9PXQpe2lmKCFuKXtjb25zdCBuPVtvLHRdLm1hcChzbikuc29ydCgpO2kucHVzaChgVHlwZSAke3NuKGUpfSBpcyBwYXJ0IG9mIHRoZSBkZWNsYXJhdGlvbnMgb2YgMiBtb2R1bGVzOiAke25bMF19IGFuZCAke25bMV19ISBQbGVhc2UgY29uc2lkZXIgbW92aW5nICR7c24oZSl9IHRvIGEgaGlnaGVyIG1vZHVsZSB0aGF0IGltcG9ydHMgJHtuWzBdfSBhbmQgJHtuWzFdfS4gWW91IGNhbiBhbHNvIGNyZWF0ZSBhIG5ldyBOZ01vZHVsZSB0aGF0IGV4cG9ydHMgYW5kIGluY2x1ZGVzICR7c24oZSl9IHRoZW4gaW1wb3J0IHRoYXQgTmdNb2R1bGUgaW4gJHtuWzBdfSBhbmQgJHtuWzFdfS5gKX19ZWxzZSBuXy5zZXQoZSx0KX0pKG4sZSkpKSxhLmZvckVhY2goKGZ1bmN0aW9uIG0odCl7aWYoeW8odD10bih0KSkpe2NvbnN0IGU9ZV8odCwiQ29tcG9uZW50Iik7ZSYmZS5lbnRyeUNvbXBvbmVudHMmJm1yKGUuZW50cnlDb21wb25lbnRzLGcpfX0pKTtjb25zdCBmPWVfKHQsIk5nTW9kdWxlIik7aWYoZiYmKGYuaW1wb3J0cyYmcHIoZi5pbXBvcnRzKS5tYXAodF8pLmZvckVhY2goKGU9PntoKGUsdCksJHkoZSwhMSx0KX0pKSxmLmJvb3RzdHJhcCYmbXIoZi5ib290c3RyYXAsKGZ1bmN0aW9uIHUodCl7eW8odD10bih0KSl8fGkucHVzaChgJHtzbih0KX0gY2Fubm90IGJlIHVzZWQgYXMgYW4gZW50cnkgY29tcG9uZW50LmApfSkpLGYuYm9vdHN0cmFwJiZtcihmLmJvb3RzdHJhcCxnKSxmLmVudHJ5Q29tcG9uZW50cyYmbXIoZi5lbnRyeUNvbXBvbmVudHMsZykpLGkubGVuZ3RoKXRocm93IG5ldyBFcnJvcihpLmpvaW4oIlxuIikpO2Z1bmN0aW9uIGcodCl7dD10bih0KTtuXy5nZXQodCl8fGkucHVzaChgQ29tcG9uZW50ICR7c24odCl9IGlzIG5vdCBwYXJ0IG9mIGFueSBOZ01vZHVsZSBvciB0aGUgbW9kdWxlIGhhcyBub3QgYmVlbiBpbXBvcnRlZCBpbnRvIHlvdXIgbW9kdWxlLmApfWZ1bmN0aW9uIGgodCxlKXtpZih5byh0PXRuKHQpKXx8X28odCkpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIGRpcmVjdGl2ZSAnJHt0Lm5hbWV9JyBpbXBvcnRlZCBieSB0aGUgbW9kdWxlICcke2UubmFtZX0nLiBQbGVhc2UgYWRkIGFuIEBOZ01vZHVsZSBhbm5vdGF0aW9uLmApO2lmKENvKHQpKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBwaXBlICcke3QubmFtZX0nIGltcG9ydGVkIGJ5IHRoZSBtb2R1bGUgJyR7ZS5uYW1lfScuIFBsZWFzZSBhZGQgYW4gQE5nTW9kdWxlIGFubm90YXRpb24uYCl9fWZ1bmN0aW9uIHRfKHQpe3JldHVybih0PXRuKHQpKS5uZ01vZHVsZXx8dH1mdW5jdGlvbiBlXyh0LGUpe2xldCBuPW51bGw7cmV0dXJuIG8odC5fX2Fubm90YXRpb25zX18pLG8odC5kZWNvcmF0b3JzKSxuO2Z1bmN0aW9uIG8odCl7dCYmdC5mb3JFYWNoKGkpfWZ1bmN0aW9uIGkodCl7aWYoIW4pe2lmKE9iamVjdC5nZXRQcm90b3R5cGVPZih0KS5uZ01ldGFkYXRhTmFtZT09ZSluPXQ7ZWxzZSBpZih0LnR5cGUpe09iamVjdC5nZXRQcm90b3R5cGVPZih0LnR5cGUpLm5nTWV0YWRhdGFOYW1lPT1lJiYobj10LmFyZ3NbMF0pfX19fWxldCBuXz1uZXcgV2Vha01hcCxvXz1uZXcgV2Vha01hcDtmdW5jdGlvbiBpXyh0KXtyZXR1cm5bLi4ucHIoU2woTW8odD10bih0KSwhMCkuZXhwb3J0cykubWFwKCh0PT5Nbyh0KT8oJHkodCwhMSksaV8odCkpOnQpKSldfWZ1bmN0aW9uIGFfKHQsZSl7Y29uc3Qgbj1wcihlLmRlY2xhcmF0aW9uc3x8UW4pLG89c18odCk7bi5mb3JFYWNoKChlPT57aWYoZS5oYXNPd25Qcm9wZXJ0eSgkbikpe3JfKHlvKGUpLG8pfWVsc2UgZS5oYXNPd25Qcm9wZXJ0eSh0byl8fGUuaGFzT3duUHJvcGVydHkoZW8pfHwoZS5uZ1NlbGVjdG9yU2NvcGU9dCl9KSl9ZnVuY3Rpb24gcl8odCxlKXt0LmRpcmVjdGl2ZURlZnM9KCk9PkFycmF5LmZyb20oZS5jb21waWxhdGlvbi5kaXJlY3RpdmVzKS5tYXAoKHQ9PnQuaGFzT3duUHJvcGVydHkoJG4pP3lvKHQpOl9vKHQpKSkuZmlsdGVyKCh0PT4hIXQpKSx0LnBpcGVEZWZzPSgpPT5BcnJheS5mcm9tKGUuY29tcGlsYXRpb24ucGlwZXMpLm1hcCgodD0+Q28odCkpKSx0LnNjaGVtYXM9ZS5zY2hlbWFzLHQudFZpZXc9bnVsbH1mdW5jdGlvbiBzXyh0KXtpZighY18odCkpdGhyb3cgbmV3IEVycm9yKGAke3QubmFtZX0gZG9lcyBub3QgaGF2ZSBhIG1vZHVsZSBkZWYgKMm1bW9kIHByb3BlcnR5KWApO2NvbnN0IGU9TW8odCk7aWYobnVsbCE9PWUudHJhbnNpdGl2ZUNvbXBpbGVTY29wZXMpcmV0dXJuIGUudHJhbnNpdGl2ZUNvbXBpbGVTY29wZXM7Y29uc3Qgbj17c2NoZW1hczplLnNjaGVtYXN8fG51bGwsY29tcGlsYXRpb246e2RpcmVjdGl2ZXM6bmV3IFNldCxwaXBlczpuZXcgU2V0fSxleHBvcnRlZDp7ZGlyZWN0aXZlczpuZXcgU2V0LHBpcGVzOm5ldyBTZXR9fTtyZXR1cm4gU2woZS5pbXBvcnRzKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10O2lmKCFjXyhlKSl0aHJvdyBuZXcgRXJyb3IoYEltcG9ydGluZyAke2UubmFtZX0gd2hpY2ggZG9lcyBub3QgaGF2ZSBhIMm1bW9kIHByb3BlcnR5YCk7Y29uc3Qgbz1zXyhlKTtvLmV4cG9ydGVkLmRpcmVjdGl2ZXMuZm9yRWFjaCgodD0+bi5jb21waWxhdGlvbi5kaXJlY3RpdmVzLmFkZCh0KSkpLG8uZXhwb3J0ZWQucGlwZXMuZm9yRWFjaCgodD0+bi5jb21waWxhdGlvbi5waXBlcy5hZGQodCkpKX0pKSxTbChlLmRlY2xhcmF0aW9ucykuZm9yRWFjaCgodD0+e0NvKHQpP24uY29tcGlsYXRpb24ucGlwZXMuYWRkKHQpOm4uY29tcGlsYXRpb24uZGlyZWN0aXZlcy5hZGQodCl9KSksU2woZS5leHBvcnRzKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10O2lmKGNfKGUpKXtjb25zdCB0PXNfKGUpO3QuZXhwb3J0ZWQuZGlyZWN0aXZlcy5mb3JFYWNoKCh0PT57bi5jb21waWxhdGlvbi5kaXJlY3RpdmVzLmFkZCh0KSxuLmV4cG9ydGVkLmRpcmVjdGl2ZXMuYWRkKHQpfSkpLHQuZXhwb3J0ZWQucGlwZXMuZm9yRWFjaCgodD0+e24uY29tcGlsYXRpb24ucGlwZXMuYWRkKHQpLG4uZXhwb3J0ZWQucGlwZXMuYWRkKHQpfSkpfWVsc2UgQ28oZSk/bi5leHBvcnRlZC5waXBlcy5hZGQoZSk6bi5leHBvcnRlZC5kaXJlY3RpdmVzLmFkZChlKX0pKSxlLnRyYW5zaXRpdmVDb21waWxlU2NvcGVzPW4sbn1mdW5jdGlvbiBsXyh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4gdm9pZCAwIT09dC5uZ01vZHVsZX0pKHQpP3QubmdNb2R1bGU6dH1mdW5jdGlvbiBjXyh0KXtyZXR1cm4hIU1vKHQpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9sZXQgZF89MDtmdW5jdGlvbiBwXyh0LGUpe2xldCBuPW51bGw7Zl8odCxlfHx7fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsdG8se2dldDooKT0+e2lmKG51bGw9PT1uKXtjb25zdCBvPW1fKHQsZXx8e30pLGk9bHIoe3VzYWdlOjAsa2luZDoiZGlyZWN0aXZlIix0eXBlOnR9KTtuPWkuY29tcGlsZURpcmVjdGl2ZShaeSxvLnNvdXJjZU1hcFVybCxvLm1ldGFkYXRhKX1yZXR1cm4gbn0sY29uZmlndXJhYmxlOiEhbmdEZXZNb2RlfSl9ZnVuY3Rpb24gbV8odCxlKXtjb25zdCBuPXQmJnQubmFtZSxvPWBuZzovLy8ke259L8m1ZGlyLmpzYCxpPWxyKHt1c2FnZTowLGtpbmQ6ImRpcmVjdGl2ZSIsdHlwZTp0fSksYT1nXyh0LGUpO3JldHVybiBhLnR5cGVTb3VyY2VTcGFuPWkuY3JlYXRlUGFyc2VTb3VyY2VTcGFuKCJEaXJlY3RpdmUiLG4sbyksYS51c2VzSW5oZXJpdGFuY2UmJmhfKHQpLHttZXRhZGF0YTphLHNvdXJjZU1hcFVybDpvfX1mdW5jdGlvbiBmXyh0LGUpe2xldCBuPW51bGw7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaW8se2dldDooKT0+e2lmKG51bGw9PT1uKXtjb25zdCBvPW1fKHQsZSksaT1scih7dXNhZ2U6MCxraW5kOiJkaXJlY3RpdmUiLHR5cGU6dH0pO249aS5jb21waWxlRmFjdG9yeShaeSxgbmc6Ly8vJHt0Lm5hbWV9L8m1ZmFjLmpzYCx7bmFtZTpvLm1ldGFkYXRhLm5hbWUsdHlwZTpvLm1ldGFkYXRhLnR5cGUsdHlwZUFyZ3VtZW50Q291bnQ6MCxkZXBzOllyKHQpLHRhcmdldDppLkZhY3RvcnlUYXJnZXQuRGlyZWN0aXZlfSl9cmV0dXJuIG59LGNvbmZpZ3VyYWJsZTohIW5nRGV2TW9kZX0pfWZ1bmN0aW9uIHVfKHQpe3JldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodC5wcm90b3R5cGUpPT09T2JqZWN0LnByb3RvdHlwZX1mdW5jdGlvbiBnXyh0LGUpe2NvbnN0IG49R3IoKSxvPW4ub3duUHJvcE1ldGFkYXRhKHQpO3JldHVybntuYW1lOnQubmFtZSx0eXBlOnQsc2VsZWN0b3I6dm9pZCAwIT09ZS5zZWxlY3Rvcj9lLnNlbGVjdG9yOm51bGwsaG9zdDplLmhvc3R8fEpuLHByb3BNZXRhZGF0YTpvLGlucHV0czplLmlucHV0c3x8UW4sb3V0cHV0czplLm91dHB1dHN8fFFuLHF1ZXJpZXM6X18odCxvLENfKSxsaWZlY3ljbGU6e3VzZXNPbkNoYW5nZXM6bi5oYXNMaWZlY3ljbGVIb29rKHQsIm5nT25DaGFuZ2VzIil9LHR5cGVTb3VyY2VTcGFuOm51bGwsdXNlc0luaGVyaXRhbmNlOiF1Xyh0KSxleHBvcnRBczooaT1lLmV4cG9ydEFzLHZvaWQgMD09PWk/bnVsbDp4XyhpKSkscHJvdmlkZXJzOmUucHJvdmlkZXJzfHxudWxsLHZpZXdRdWVyaWVzOl9fKHQsbyxNXyl9O3ZhciBpfWZ1bmN0aW9uIGhfKHQpe2NvbnN0IGU9T2JqZWN0LnByb3RvdHlwZTtsZXQgbj1PYmplY3QuZ2V0UHJvdG90eXBlT2YodC5wcm90b3R5cGUpLmNvbnN0cnVjdG9yO2Zvcig7biYmbiE9PWU7KV9vKG4pfHx5byhuKXx8IVBfKG4pfHxwXyhuLG51bGwpLG49T2JqZWN0LmdldFByb3RvdHlwZU9mKG4pfWZ1bmN0aW9uIGJfKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD94Xyh0KTp0bih0KX1mdW5jdGlvbiB5Xyh0LGUpe3JldHVybntwcm9wZXJ0eU5hbWU6dCxwcmVkaWNhdGU6Yl8oZS5zZWxlY3RvciksZGVzY2VuZGFudHM6ZS5kZXNjZW5kYW50cyxmaXJzdDplLmZpcnN0LHJlYWQ6ZS5yZWFkP2UucmVhZDpudWxsLHN0YXRpYzohIWUuc3RhdGljLGVtaXREaXN0aW5jdENoYW5nZXNPbmx5OiEhZS5lbWl0RGlzdGluY3RDaGFuZ2VzT25seX19ZnVuY3Rpb24gX18odCxlLG4pe2NvbnN0IG89W107Zm9yKGNvbnN0IGkgaW4gZSlpZihlLmhhc093blByb3BlcnR5KGkpKXtjb25zdCBhPWVbaV07YS5mb3JFYWNoKChlPT57aWYobihlKSl7aWYoIWUuc2VsZWN0b3IpdGhyb3cgbmV3IEVycm9yKGBDYW4ndCBjb25zdHJ1Y3QgYSBxdWVyeSBmb3IgdGhlIHByb3BlcnR5ICIke2l9IiBvZiAiJHtzbih0KX0iIHNpbmNlIHRoZSBxdWVyeSBzZWxlY3RvciB3YXNuJ3QgZGVmaW5lZC5gKTtpZihhLnNvbWUodl8pKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGNvbWJpbmUgQElucHV0IGRlY29yYXRvcnMgd2l0aCBxdWVyeSBkZWNvcmF0b3JzIik7by5wdXNoKHlfKGksZSkpfX0pKX1yZXR1cm4gb31mdW5jdGlvbiBDXyh0KXtjb25zdCBlPXQubmdNZXRhZGF0YU5hbWU7cmV0dXJuIkNvbnRlbnRDaGlsZCI9PT1lfHwiQ29udGVudENoaWxkcmVuIj09PWV9ZnVuY3Rpb24gTV8odCl7Y29uc3QgZT10Lm5nTWV0YWRhdGFOYW1lO3JldHVybiJWaWV3Q2hpbGQiPT09ZXx8IlZpZXdDaGlsZHJlbiI9PT1lfWZ1bmN0aW9uIHZfKHQpe3JldHVybiJJbnB1dCI9PT10Lm5nTWV0YWRhdGFOYW1lfWZ1bmN0aW9uIHhfKHQpe3JldHVybiB0LnNwbGl0KCIsIikubWFwKCh0PT50LnRyaW0oKSkpfWNvbnN0IE9fPVsibmdPbkNoYW5nZXMiLCJuZ09uSW5pdCIsIm5nT25EZXN0cm95IiwibmdEb0NoZWNrIiwibmdBZnRlclZpZXdJbml0IiwibmdBZnRlclZpZXdDaGVja2VkIiwibmdBZnRlckNvbnRlbnRJbml0IiwibmdBZnRlckNvbnRlbnRDaGVja2VkIl07ZnVuY3Rpb24gUF8odCl7Y29uc3QgZT1HcigpO2lmKE9fLnNvbWUoKG49PmUuaGFzTGlmZWN5Y2xlSG9vayh0LG4pKSkpcmV0dXJuITA7Y29uc3Qgbj1lLnByb3BNZXRhZGF0YSh0KTtmb3IoY29uc3QgdCBpbiBuKXtjb25zdCBlPW5bdF07Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IG49ZVt0XSxvPW4ubmdNZXRhZGF0YU5hbWU7aWYodl8obil8fENfKG4pfHxNXyhuKXx8Ik91dHB1dCI9PT1vfHwiSG9zdEJpbmRpbmciPT09b3x8Ikhvc3RMaXN0ZW5lciI9PT1vKXJldHVybiEwfX1yZXR1cm4hMX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gd18odCxlKXtyZXR1cm57dHlwZTp0LG5hbWU6dC5uYW1lLHBpcGVOYW1lOmUubmFtZSxwdXJlOnZvaWQgMD09PWUucHVyZXx8ZS5wdXJlfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3Qga189WGEoIkRpcmVjdGl2ZSIsKCh0PXt9KT0+dCksdm9pZCAwLHZvaWQgMCwoKHQsZSk9PklfKHQsZSkpKSxTXz1YYSgiQ29tcG9uZW50IiwoKHQ9e30pPT5PYmplY3QuYXNzaWduKHtjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdH0sdCkpLGtfLHZvaWQgMCwoKHQsZSk9Pk5fKHQsZSkpKSxEXz1YYSgiUGlwZSIsKHQ9Pk9iamVjdC5hc3NpZ24oe3B1cmU6ITB9LHQpKSx2b2lkIDAsdm9pZCAwLCgodCxlKT0+SF8odCxlKSkpLFJfPVFhKCJJbnB1dCIsKHQ9Pih7YmluZGluZ1Byb3BlcnR5TmFtZTp0fSkpKSxFXz1RYSgiT3V0cHV0IiwodD0+KHtiaW5kaW5nUHJvcGVydHlOYW1lOnR9KSkpLEFfPVFhKCJIb3N0QmluZGluZyIsKHQ9Pih7aG9zdFByb3BlcnR5TmFtZTp0fSkpKSxUXz1RYSgiSG9zdExpc3RlbmVyIiwoKHQsZSk9Pih7ZXZlbnROYW1lOnQsYXJnczplfSkpKSxOXz1mdW5jdGlvbiB6Xyh0LGUpeygidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmS24oKTtsZXQgbj1udWxsOyEoZnVuY3Rpb24gbyh0LGUpe0pyKGUpJiYoWHIuc2V0KHQsZSksS3IuYWRkKHQpKX0pKHQsZSksZl8odCxlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwkbix7Z2V0OigpPT57aWYobnVsbD09PW4pe2NvbnN0IG89bHIoe3VzYWdlOjAsa2luZDoiY29tcG9uZW50Iix0eXBlOnR9KTtpZihKcihlKSl7Y29uc3Qgbj1bYENvbXBvbmVudCAnJHt0Lm5hbWV9JyBpcyBub3QgcmVzb2x2ZWQ6YF07dGhyb3cgZS50ZW1wbGF0ZVVybCYmbi5wdXNoKGAgLSB0ZW1wbGF0ZVVybDogJHtlLnRlbXBsYXRlVXJsfWApLGUuc3R5bGVVcmxzJiZlLnN0eWxlVXJscy5sZW5ndGgmJm4ucHVzaChgIC0gc3R5bGVVcmxzOiAke0pTT04uc3RyaW5naWZ5KGUuc3R5bGVVcmxzKX1gKSxuLnB1c2goIkRpZCB5b3UgcnVuIGFuZCB3YWl0IGZvciAncmVzb2x2ZUNvbXBvbmVudFJlc291cmNlcygpJz8iKSxuZXcgRXJyb3Iobi5qb2luKCJcbiIpKX1jb25zdCBpPShmdW5jdGlvbiBvKCl7cmV0dXJuIFh5fSkoKTtsZXQgYT1lLnByZXNlcnZlV2hpdGVzcGFjZXM7dm9pZCAwPT09YSYmKGE9bnVsbCE9PWkmJnZvaWQgMCE9PWkucHJlc2VydmVXaGl0ZXNwYWNlcyYmaS5wcmVzZXJ2ZVdoaXRlc3BhY2VzKTtsZXQgcj1lLmVuY2Fwc3VsYXRpb247dm9pZCAwPT09ciYmKHI9bnVsbCE9PWkmJnZvaWQgMCE9PWkuZGVmYXVsdEVuY2Fwc3VsYXRpb24/aS5kZWZhdWx0RW5jYXBzdWxhdGlvbjpXbi5FbXVsYXRlZCk7Y29uc3Qgcz1lLnRlbXBsYXRlVXJsfHxgbmc6Ly8vJHt0Lm5hbWV9L3RlbXBsYXRlLmh0bWxgLGw9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGdfKHQsZSkpLHt0eXBlU291cmNlU3BhbjpvLmNyZWF0ZVBhcnNlU291cmNlU3BhbigiQ29tcG9uZW50Iix0Lm5hbWUscyksdGVtcGxhdGU6ZS50ZW1wbGF0ZXx8IiIscHJlc2VydmVXaGl0ZXNwYWNlczphLHN0eWxlczplLnN0eWxlc3x8UW4sYW5pbWF0aW9uczplLmFuaW1hdGlvbnMsZGlyZWN0aXZlczpbXSxjaGFuZ2VEZXRlY3Rpb246ZS5jaGFuZ2VEZXRlY3Rpb24scGlwZXM6bmV3IE1hcCxlbmNhcHN1bGF0aW9uOnIsaW50ZXJwb2xhdGlvbjplLmludGVycG9sYXRpb24sdmlld1Byb3ZpZGVyczplLnZpZXdQcm92aWRlcnN8fG51bGx9KTtkXysrO3RyeXtsLnVzZXNJbmhlcml0YW5jZSYmaF8odCksbj1vLmNvbXBpbGVDb21wb25lbnQoWnkscyxsKX1maW5hbGx5e2RfLS19aWYoMD09PWRfJiYoZnVuY3Rpb24gaSgpe2lmKCFKeSl7Snk9ITA7dHJ5e2ZvcihsZXQgdD1LeS5sZW5ndGgtMTt0Pj0wO3QtLSl7Y29uc3R7bW9kdWxlVHlwZTplLG5nTW9kdWxlOm59PUt5W3RdO24uZGVjbGFyYXRpb25zJiZuLmRlY2xhcmF0aW9ucy5ldmVyeShReSkmJihLeS5zcGxpY2UodCwxKSxhXyhlLG4pKX19ZmluYWxseXtKeT0hMX19fSkoKSwoZnVuY3Rpb24gYSh0KXtyZXR1cm4gdm9pZCAwIT09dC5uZ1NlbGVjdG9yU2NvcGV9KSh0KSl7Y29uc3QgZT1zXyh0Lm5nU2VsZWN0b3JTY29wZSk7cl8obixlKX19cmV0dXJuIG59LGNvbmZpZ3VyYWJsZTohIW5nRGV2TW9kZX0pfSxJXz1wXyxIXz1mdW5jdGlvbiBGXyh0LGUpe2xldCBuPW51bGwsbz1udWxsO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGlvLHtnZXQ6KCk9PntpZihudWxsPT09byl7Y29uc3Qgbj13Xyh0LGUpLGk9bHIoe3VzYWdlOjAsa2luZDoicGlwZSIsdHlwZTpuLnR5cGV9KTtvPWkuY29tcGlsZUZhY3RvcnkoWnksYG5nOi8vLyR7bi5uYW1lfS/JtWZhYy5qc2Ase25hbWU6bi5uYW1lLHR5cGU6bi50eXBlLHR5cGVBcmd1bWVudENvdW50OjAsZGVwczpZcih0KSx0YXJnZXQ6aS5GYWN0b3J5VGFyZ2V0LlBpcGV9KX1yZXR1cm4gb30sY29uZmlndXJhYmxlOiEhbmdEZXZNb2RlfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZW8se2dldDooKT0+e2lmKG51bGw9PT1uKXtjb25zdCBvPXdfKHQsZSksaT1scih7dXNhZ2U6MCxraW5kOiJwaXBlIix0eXBlOm8udHlwZX0pO249aS5jb21waWxlUGlwZShaeSxgbmc6Ly8vJHtvLm5hbWV9L8m1cGlwZS5qc2Asbyl9cmV0dXJuIG59LGNvbmZpZ3VyYWJsZTohIW5nRGV2TW9kZX0pfSxMXz1YYSgiTmdNb2R1bGUiLCh0PT50KSx2b2lkIDAsdm9pZCAwLCgodCxlKT0+Ql8odCxlKSkpLEJfPWZ1bmN0aW9uIFZfKHQsZT17fSl7IShmdW5jdGlvbiBuKHQsZSxvPSExKXtuZ0Rldk1vZGUmJnhuKHQsIlJlcXVpcmVkIHZhbHVlIG1vZHVsZVR5cGUiKSxuZ0Rldk1vZGUmJnhuKGUsIlJlcXVpcmVkIHZhbHVlIG5nTW9kdWxlIik7Y29uc3QgaT1wcihlLmRlY2xhcmF0aW9uc3x8UW4pO2xldCBhPW51bGw7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbm8se2NvbmZpZ3VyYWJsZTohMCxnZXQ6KCk9PntpZihudWxsPT09YSl7aWYobmdEZXZNb2RlJiZlLmltcG9ydHMmJmUuaW1wb3J0cy5pbmRleE9mKHQpPi0xKXRocm93IG5ldyBFcnJvcihgJyR7c24odCl9JyBtb2R1bGUgY2FuJ3QgaW1wb3J0IGl0c2VsZmApO2NvbnN0IG49bHIoe3VzYWdlOjAsa2luZDoiTmdNb2R1bGUiLHR5cGU6dH0pO2E9bi5jb21waWxlTmdNb2R1bGUoWnksYG5nOi8vLyR7dC5uYW1lfS/JtW1vZC5qc2Ase3R5cGU6dCxib290c3RyYXA6cHIoZS5ib290c3RyYXB8fFFuKS5tYXAodG4pLGRlY2xhcmF0aW9uczppLm1hcCh0biksaW1wb3J0czpwcihlLmltcG9ydHN8fFFuKS5tYXAodG4pLm1hcChsXyksZXhwb3J0czpwcihlLmV4cG9ydHN8fFFuKS5tYXAodG4pLm1hcChsXyksc2NoZW1hczplLnNjaGVtYXM/cHIoZS5zY2hlbWFzKTpudWxsLGlkOmUuaWR8fG51bGx9KSxhLnNjaGVtYXN8fChhLnNjaGVtYXM9W10pfXJldHVybiBhfX0pO2xldCByPW51bGw7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaW8se2dldDooKT0+e2lmKG51bGw9PT1yKXtjb25zdCBlPWxyKHt1c2FnZTowLGtpbmQ6Ik5nTW9kdWxlIix0eXBlOnR9KTtyPWUuY29tcGlsZUZhY3RvcnkoWnksYG5nOi8vLyR7dC5uYW1lfS/JtWZhYy5qc2Ase25hbWU6dC5uYW1lLHR5cGU6dCxkZXBzOllyKHQpLHRhcmdldDplLkZhY3RvcnlUYXJnZXQuTmdNb2R1bGUsdHlwZUFyZ3VtZW50Q291bnQ6MH0pfXJldHVybiByfSxjb25maWd1cmFibGU6ISFuZ0Rldk1vZGV9KTtsZXQgcz1udWxsO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LE5uLHtnZXQ6KCk9PntpZihudWxsPT09cyl7bmdEZXZNb2RlJiYkeSh0LG8pO2NvbnN0IG49e25hbWU6dC5uYW1lLHR5cGU6dCxwcm92aWRlcnM6ZS5wcm92aWRlcnN8fFFuLGltcG9ydHM6WyhlLmltcG9ydHN8fFFuKS5tYXAodG4pLChlLmV4cG9ydHN8fFFuKS5tYXAodG4pXX0saT1scih7dXNhZ2U6MCxraW5kOiJOZ01vZHVsZSIsdHlwZTp0fSk7cz1pLmNvbXBpbGVJbmplY3RvcihaeSxgbmc6Ly8vJHt0Lm5hbWV9L8m1aW5qLmpzYCxuKX1yZXR1cm4gc30sY29uZmlndXJhYmxlOiEhbmdEZXZNb2RlfSl9KSh0LGUpLChmdW5jdGlvbiBvKHQsZSl7S3kucHVzaCh7bW9kdWxlVHlwZTp0LG5nTW9kdWxlOmV9KX0pKHQsZSl9LGpfPW5ldyBlcigiQXBwbGljYXRpb24gSW5pdGlhbGl6ZXIiKTtjbGFzcyBVX3tjb25zdHJ1Y3Rvcih0KXt0aGlzLmFwcEluaXRzPXQsdGhpcy5yZXNvbHZlPVloLHRoaXMucmVqZWN0PVloLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5kb25lPSExLHRoaXMuZG9uZVByb21pc2U9bmV3IFByb21pc2UoKCh0LGUpPT57dGhpcy5yZXNvbHZlPXQsdGhpcy5yZWplY3Q9ZX0pKX1ydW5Jbml0aWFsaXplcnMoKXtpZih0aGlzLmluaXRpYWxpemVkKXJldHVybjtjb25zdCB0PVtdLGU9KCk9Pnt0aGlzLmRvbmU9ITAsdGhpcy5yZXNvbHZlKCl9O2lmKHRoaXMuYXBwSW5pdHMpZm9yKGxldCBlPTA7ZTx0aGlzLmFwcEluaXRzLmxlbmd0aDtlKyspe2NvbnN0IG49dGhpcy5hcHBJbml0c1tlXSgpO2lmKGtmKG4pKXQucHVzaChuKTtlbHNlIGlmKERmKG4pKXtjb25zdCBlPW5ldyBQcm9taXNlKCgodCxlKT0+e24uc3Vic2NyaWJlKHtjb21wbGV0ZTp0LGVycm9yOmV9KX0pKTt0LnB1c2goZSl9fVByb21pc2UuYWxsKHQpLnRoZW4oKCgpPT57ZSgpfSkpLmNhdGNoKCh0PT57dGhpcy5yZWplY3QodCl9KSksMD09PXQubGVuZ3RoJiZlKCksdGhpcy5pbml0aWFsaXplZD0hMH19VV8uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFVfKShUcihqXyw4KSl9LFVfLsm1cHJvdj1Tbih7dG9rZW46VV8sZmFjdG9yeTpVXy7JtWZhY30pLFVfLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2pfXX0se3R5cGU6QnJ9XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVV8sW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltqX119LHt0eXBlOkJyfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgV189bmV3IGVyKCJBcHBJZCIpO2NvbnN0IEdfPXtwcm92aWRlOldfLHVzZUZhY3Rvcnk6ZnVuY3Rpb24gWV8oKXtyZXR1cm5gJHtxXygpfSR7cV8oKX0ke3FfKCl9YH0sZGVwczpbXX07ZnVuY3Rpb24gcV8oKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSg5NytNYXRoLmZsb29yKDI1Kk1hdGgucmFuZG9tKCkpKX1jb25zdCBaXz1uZXcgZXIoIlBsYXRmb3JtIEluaXRpYWxpemVyIiksWF89bmV3IGVyKCJQbGF0Zm9ybSBJRCIpLEtfPW5ldyBlcigiYXBwQm9vdHN0cmFwTGlzdGVuZXIiKTtuZXcgZXIoIkFwcGxpY2F0aW9uIFBhY2thZ2VzIFJvb3QgVVJMIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBKX3tsb2codCl7Y29uc29sZS5sb2codCl9d2Fybih0KXtjb25zb2xlLndhcm4odCl9fUpfLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxKXyl9LEpfLsm1cHJvdj1Tbih7dG9rZW46Sl8sZmFjdG9yeTpKXy7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSl8sW3t0eXBlOlVtfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFFfPW5ldyBlcigiTG9jYWxlSWQiKSwkXz1uZXcgZXIoIkRlZmF1bHRDdXJyZW5jeUNvZGUiKTt2YXIgdEM7bmV3IGVyKCJUcmFuc2xhdGlvbnMiKSxuZXcgZXIoIlRyYW5zbGF0aW9uc0Zvcm1hdCIpLChmdW5jdGlvbih0KXt0W3QuRXJyb3I9MF09IkVycm9yIix0W3QuV2FybmluZz0xXT0iV2FybmluZyIsdFt0Lklnbm9yZT0yXT0iSWdub3JlIn0pKHRDfHwodEM9e30pKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIGVDe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5uZ01vZHVsZUZhY3Rvcnk9dCx0aGlzLmNvbXBvbmVudEZhY3Rvcmllcz1lfX1jb25zdCBuQz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IG55KHQpfSxvQz1uQyxpQz1mdW5jdGlvbih0KXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5DKHQpKX0sYUM9ZnVuY3Rpb24odCl7Y29uc3QgZT1uQyh0KSxuPVNsKE1vKHQpLmRlY2xhcmF0aW9ucykucmVkdWNlKCgodCxlKT0+e2NvbnN0IG49eW8oZSk7cmV0dXJuIG4mJnQucHVzaChuZXcgS2IobikpLHR9KSxbXSk7cmV0dXJuIG5ldyBlQyhlLG4pfSxyQz1hQyxzQz1mdW5jdGlvbih0KXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGFDKHQpKX07Y2xhc3MgbEN7Y29uc3RydWN0b3IoKXt0aGlzLmNvbXBpbGVNb2R1bGVTeW5jPW9DLHRoaXMuY29tcGlsZU1vZHVsZUFzeW5jPWlDLHRoaXMuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNTeW5jPXJDLHRoaXMuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNBc3luYz1zQ31jbGVhckNhY2hlKCl7fWNsZWFyQ2FjaGVGb3IodCl7fWdldE1vZHVsZUlkKHQpe319bEMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGxDKX0sbEMuybVwcm92PVNuKHt0b2tlbjpsQyxmYWN0b3J5OmxDLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihsQyxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpO2NvbnN0IGNDPW5ldyBlcigiY29tcGlsZXJPcHRpb25zIiksZEM9UHJvbWlzZS5yZXNvbHZlKDApOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBwQyh0KXsidW5kZWZpbmVkIj09dHlwZW9mIFpvbmU/ZEMudGhlbigoKCk9Pnt0JiZ0LmFwcGx5KG51bGwsbnVsbCl9KSk6Wm9uZS5jdXJyZW50LnNjaGVkdWxlTWljcm9UYXNrKCJzY2hlZHVsZU1pY3JvdGFzayIsdCl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgbUN7Y29uc3RydWN0b3Ioe2VuYWJsZUxvbmdTdGFja1RyYWNlOnQ9ITEsc2hvdWxkQ29hbGVzY2VFdmVudENoYW5nZURldGVjdGlvbjplPSExLHNob3VsZENvYWxlc2NlUnVuQ2hhbmdlRGV0ZWN0aW9uOm49ITF9KXtpZih0aGlzLmhhc1BlbmRpbmdNYWNyb3Rhc2tzPSExLHRoaXMuaGFzUGVuZGluZ01pY3JvdGFza3M9ITEsdGhpcy5pc1N0YWJsZT0hMCx0aGlzLm9uVW5zdGFibGU9bmV3IFN5KCExKSx0aGlzLm9uTWljcm90YXNrRW1wdHk9bmV3IFN5KCExKSx0aGlzLm9uU3RhYmxlPW5ldyBTeSghMSksdGhpcy5vbkVycm9yPW5ldyBTeSghMSksInVuZGVmaW5lZCI9PXR5cGVvZiBab25lKXRocm93IG5ldyBFcnJvcigiSW4gdGhpcyBjb25maWd1cmF0aW9uIEFuZ3VsYXIgcmVxdWlyZXMgWm9uZS5qcyIpO1pvbmUuYXNzZXJ0Wm9uZVBhdGNoZWQoKTtjb25zdCBvPXRoaXM7by5fbmVzdGluZz0wLG8uX291dGVyPW8uX2lubmVyPVpvbmUuY3VycmVudCxab25lLlRhc2tUcmFja2luZ1pvbmVTcGVjJiYoby5faW5uZXI9by5faW5uZXIuZm9yayhuZXcgWm9uZS5UYXNrVHJhY2tpbmdab25lU3BlYykpLHQmJlpvbmUubG9uZ1N0YWNrVHJhY2Vab25lU3BlYyYmKG8uX2lubmVyPW8uX2lubmVyLmZvcmsoWm9uZS5sb25nU3RhY2tUcmFjZVpvbmVTcGVjKSksby5zaG91bGRDb2FsZXNjZUV2ZW50Q2hhbmdlRGV0ZWN0aW9uPSFuJiZlLG8uc2hvdWxkQ29hbGVzY2VSdW5DaGFuZ2VEZXRlY3Rpb249bixvLmxhc3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZD0tMSxvLm5hdGl2ZVJlcXVlc3RBbmltYXRpb25GcmFtZT0oZnVuY3Rpb24gaSgpe2xldCB0PVhuLnJlcXVlc3RBbmltYXRpb25GcmFtZSxlPVhuLmNhbmNlbEFuaW1hdGlvbkZyYW1lO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgWm9uZSYmdCYmZSl7Y29uc3Qgbj10W1pvbmUuX19zeW1ib2xfXygiT3JpZ2luYWxEZWxlZ2F0ZSIpXTtuJiYodD1uKTtjb25zdCBvPWVbWm9uZS5fX3N5bWJvbF9fKCJPcmlnaW5hbERlbGVnYXRlIildO28mJihlPW8pfXJldHVybntuYXRpdmVSZXF1ZXN0QW5pbWF0aW9uRnJhbWU6dCxuYXRpdmVDYW5jZWxBbmltYXRpb25GcmFtZTplfX0pKCkubmF0aXZlUmVxdWVzdEFuaW1hdGlvbkZyYW1lLChmdW5jdGlvbiBhKHQpe2NvbnN0IGU9KCk9PnshKGZ1bmN0aW9uIGUodCl7aWYodC5pc0NoZWNrU3RhYmxlUnVubmluZ3x8LTEhPT10Lmxhc3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZClyZXR1cm47dC5sYXN0UmVxdWVzdEFuaW1hdGlvbkZyYW1lSWQ9dC5uYXRpdmVSZXF1ZXN0QW5pbWF0aW9uRnJhbWUuY2FsbChYbiwoKCk9Pnt0LmZha2VUb3BFdmVudFRhc2t8fCh0LmZha2VUb3BFdmVudFRhc2s9Wm9uZS5yb290LnNjaGVkdWxlRXZlbnRUYXNrKCJmYWtlVG9wRXZlbnRUYXNrIiwoKCk9Pnt0Lmxhc3RSZXF1ZXN0QW5pbWF0aW9uRnJhbWVJZD0tMSxnQyh0KSx0LmlzQ2hlY2tTdGFibGVSdW5uaW5nPSEwLHVDKHQpLHQuaXNDaGVja1N0YWJsZVJ1bm5pbmc9ITF9KSx2b2lkIDAsKCgpPT57fSksKCgpPT57fSkpKSx0LmZha2VUb3BFdmVudFRhc2suaW52b2tlKCl9KSksZ0ModCl9KSh0KX07dC5faW5uZXI9dC5faW5uZXIuZm9yayh7bmFtZToiYW5ndWxhciIscHJvcGVydGllczp7aXNBbmd1bGFyWm9uZTohMH0sb25JbnZva2VUYXNrOihuLG8saSxhLHIscyk9Pnt0cnl7cmV0dXJuIGhDKHQpLG4uaW52b2tlVGFzayhpLGEscixzKX1maW5hbGx5eyh0LnNob3VsZENvYWxlc2NlRXZlbnRDaGFuZ2VEZXRlY3Rpb24mJiJldmVudFRhc2siPT09YS50eXBlfHx0LnNob3VsZENvYWxlc2NlUnVuQ2hhbmdlRGV0ZWN0aW9uKSYmZSgpLGJDKHQpfX0sb25JbnZva2U6KG4sbyxpLGEscixzLGwpPT57dHJ5e3JldHVybiBoQyh0KSxuLmludm9rZShpLGEscixzLGwpfWZpbmFsbHl7dC5zaG91bGRDb2FsZXNjZVJ1bkNoYW5nZURldGVjdGlvbiYmZSgpLGJDKHQpfX0sb25IYXNUYXNrOihlLG4sbyxpKT0+e2UuaGFzVGFzayhvLGkpLG49PT1vJiYoIm1pY3JvVGFzayI9PWkuY2hhbmdlPyh0Ll9oYXNQZW5kaW5nTWljcm90YXNrcz1pLm1pY3JvVGFzayxnQyh0KSx1Qyh0KSk6Im1hY3JvVGFzayI9PWkuY2hhbmdlJiYodC5oYXNQZW5kaW5nTWFjcm90YXNrcz1pLm1hY3JvVGFzaykpfSxvbkhhbmRsZUVycm9yOihlLG4sbyxpKT0+KGUuaGFuZGxlRXJyb3IobyxpKSx0LnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+dC5vbkVycm9yLmVtaXQoaSkpKSwhMSl9KX0pKG8pfXN0YXRpYyBpc0luQW5ndWxhclpvbmUoKXtyZXR1cm4hMD09PVpvbmUuY3VycmVudC5nZXQoImlzQW5ndWxhclpvbmUiKX1zdGF0aWMgYXNzZXJ0SW5Bbmd1bGFyWm9uZSgpe2lmKCFtQy5pc0luQW5ndWxhclpvbmUoKSl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIHRvIGJlIGluIEFuZ3VsYXIgWm9uZSwgYnV0IGl0IGlzIG5vdCEiKX1zdGF0aWMgYXNzZXJ0Tm90SW5Bbmd1bGFyWm9uZSgpe2lmKG1DLmlzSW5Bbmd1bGFyWm9uZSgpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgdG8gbm90IGJlIGluIEFuZ3VsYXIgWm9uZSwgYnV0IGl0IGlzISIpfXJ1bih0LGUsbil7cmV0dXJuIHRoaXMuX2lubmVyLnJ1bih0LGUsbil9cnVuVGFzayh0LGUsbixvKXtjb25zdCBpPXRoaXMuX2lubmVyLGE9aS5zY2hlZHVsZUV2ZW50VGFzaygiTmdab25lRXZlbnQ6ICIrbyx0LGZDLFloLFloKTt0cnl7cmV0dXJuIGkucnVuVGFzayhhLGUsbil9ZmluYWxseXtpLmNhbmNlbFRhc2soYSl9fXJ1bkd1YXJkZWQodCxlLG4pe3JldHVybiB0aGlzLl9pbm5lci5ydW5HdWFyZGVkKHQsZSxuKX1ydW5PdXRzaWRlQW5ndWxhcih0KXtyZXR1cm4gdGhpcy5fb3V0ZXIucnVuKHQpfX1jb25zdCBmQz17fTtmdW5jdGlvbiB1Qyh0KXtpZigwPT10Ll9uZXN0aW5nJiYhdC5oYXNQZW5kaW5nTWljcm90YXNrcyYmIXQuaXNTdGFibGUpdHJ5e3QuX25lc3RpbmcrKyx0Lm9uTWljcm90YXNrRW1wdHkuZW1pdChudWxsKX1maW5hbGx5e2lmKHQuX25lc3RpbmctLSwhdC5oYXNQZW5kaW5nTWljcm90YXNrcyl0cnl7dC5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PnQub25TdGFibGUuZW1pdChudWxsKSkpfWZpbmFsbHl7dC5pc1N0YWJsZT0hMH19fWZ1bmN0aW9uIGdDKHQpe3QuaGFzUGVuZGluZ01pY3JvdGFza3M9ISEodC5faGFzUGVuZGluZ01pY3JvdGFza3N8fCh0LnNob3VsZENvYWxlc2NlRXZlbnRDaGFuZ2VEZXRlY3Rpb258fHQuc2hvdWxkQ29hbGVzY2VSdW5DaGFuZ2VEZXRlY3Rpb24pJiYtMSE9PXQubGFzdFJlcXVlc3RBbmltYXRpb25GcmFtZUlkKX1mdW5jdGlvbiBoQyh0KXt0Ll9uZXN0aW5nKyssdC5pc1N0YWJsZSYmKHQuaXNTdGFibGU9ITEsdC5vblVuc3RhYmxlLmVtaXQobnVsbCkpfWZ1bmN0aW9uIGJDKHQpe3QuX25lc3RpbmctLSx1Qyh0KX1jbGFzcyB5Q3tjb25zdHJ1Y3Rvcigpe3RoaXMuaGFzUGVuZGluZ01pY3JvdGFza3M9ITEsdGhpcy5oYXNQZW5kaW5nTWFjcm90YXNrcz0hMSx0aGlzLmlzU3RhYmxlPSEwLHRoaXMub25VbnN0YWJsZT1uZXcgU3ksdGhpcy5vbk1pY3JvdGFza0VtcHR5PW5ldyBTeSx0aGlzLm9uU3RhYmxlPW5ldyBTeSx0aGlzLm9uRXJyb3I9bmV3IFN5fXJ1bih0LGUsbil7cmV0dXJuIHQuYXBwbHkoZSxuKX1ydW5HdWFyZGVkKHQsZSxuKXtyZXR1cm4gdC5hcHBseShlLG4pfXJ1bk91dHNpZGVBbmd1bGFyKHQpe3JldHVybiB0KCl9cnVuVGFzayh0LGUsbixvKXtyZXR1cm4gdC5hcHBseShlLG4pfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgX0N7Y29uc3RydWN0b3IodCl7dGhpcy5fbmdab25lPXQsdGhpcy5fcGVuZGluZ0NvdW50PTAsdGhpcy5faXNab25lU3RhYmxlPSEwLHRoaXMuX2RpZFdvcms9ITEsdGhpcy5fY2FsbGJhY2tzPVtdLHRoaXMudGFza1RyYWNraW5nWm9uZT1udWxsLHRoaXMuX3dhdGNoQW5ndWxhckV2ZW50cygpLHQucnVuKCgoKT0+e3RoaXMudGFza1RyYWNraW5nWm9uZT0idW5kZWZpbmVkIj09dHlwZW9mIFpvbmU/bnVsbDpab25lLmN1cnJlbnQuZ2V0KCJUYXNrVHJhY2tpbmdab25lIil9KSl9X3dhdGNoQW5ndWxhckV2ZW50cygpe3RoaXMuX25nWm9uZS5vblVuc3RhYmxlLnN1YnNjcmliZSh7bmV4dDooKT0+e3RoaXMuX2RpZFdvcms9ITAsdGhpcy5faXNab25lU3RhYmxlPSExfX0pLHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9uZ1pvbmUub25TdGFibGUuc3Vic2NyaWJlKHtuZXh0OigpPT57bUMuYXNzZXJ0Tm90SW5Bbmd1bGFyWm9uZSgpLHBDKCgoKT0+e3RoaXMuX2lzWm9uZVN0YWJsZT0hMCx0aGlzLl9ydW5DYWxsYmFja3NJZlJlYWR5KCl9KSl9fSl9KSl9aW5jcmVhc2VQZW5kaW5nUmVxdWVzdENvdW50KCl7cmV0dXJuIHRoaXMuX3BlbmRpbmdDb3VudCs9MSx0aGlzLl9kaWRXb3JrPSEwLHRoaXMuX3BlbmRpbmdDb3VudH1kZWNyZWFzZVBlbmRpbmdSZXF1ZXN0Q291bnQoKXtpZih0aGlzLl9wZW5kaW5nQ291bnQtPTEsdGhpcy5fcGVuZGluZ0NvdW50PDApdGhyb3cgbmV3IEVycm9yKCJwZW5kaW5nIGFzeW5jIHJlcXVlc3RzIGJlbG93IHplcm8iKTtyZXR1cm4gdGhpcy5fcnVuQ2FsbGJhY2tzSWZSZWFkeSgpLHRoaXMuX3BlbmRpbmdDb3VudH1pc1N0YWJsZSgpe3JldHVybiB0aGlzLl9pc1pvbmVTdGFibGUmJjA9PT10aGlzLl9wZW5kaW5nQ291bnQmJiF0aGlzLl9uZ1pvbmUuaGFzUGVuZGluZ01hY3JvdGFza3N9X3J1bkNhbGxiYWNrc0lmUmVhZHkoKXtpZih0aGlzLmlzU3RhYmxlKCkpcEMoKCgpPT57Zm9yKDswIT09dGhpcy5fY2FsbGJhY2tzLmxlbmd0aDspe2xldCB0PXRoaXMuX2NhbGxiYWNrcy5wb3AoKTtjbGVhclRpbWVvdXQodC50aW1lb3V0SWQpLHQuZG9uZUNiKHRoaXMuX2RpZFdvcmspfXRoaXMuX2RpZFdvcms9ITF9KSk7ZWxzZXtsZXQgdD10aGlzLmdldFBlbmRpbmdUYXNrcygpO3RoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3MuZmlsdGVyKChlPT4hZS51cGRhdGVDYnx8IWUudXBkYXRlQ2IodCl8fChjbGVhclRpbWVvdXQoZS50aW1lb3V0SWQpLCExKSkpLHRoaXMuX2RpZFdvcms9ITB9fWdldFBlbmRpbmdUYXNrcygpe3JldHVybiB0aGlzLnRhc2tUcmFja2luZ1pvbmU/dGhpcy50YXNrVHJhY2tpbmdab25lLm1hY3JvVGFza3MubWFwKCh0PT4oe3NvdXJjZTp0LnNvdXJjZSxjcmVhdGlvbkxvY2F0aW9uOnQuY3JlYXRpb25Mb2NhdGlvbixkYXRhOnQuZGF0YX0pKSk6W119YWRkQ2FsbGJhY2sodCxlLG4pe2xldCBvPS0xO2UmJmU+MCYmKG89c2V0VGltZW91dCgoKCk9Pnt0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzLmZpbHRlcigodD0+dC50aW1lb3V0SWQhPT1vKSksdCh0aGlzLl9kaWRXb3JrLHRoaXMuZ2V0UGVuZGluZ1Rhc2tzKCkpfSksZSkpLHRoaXMuX2NhbGxiYWNrcy5wdXNoKHtkb25lQ2I6dCx0aW1lb3V0SWQ6byx1cGRhdGVDYjpufSl9d2hlblN0YWJsZSh0LGUsbil7aWYobiYmIXRoaXMudGFza1RyYWNraW5nWm9uZSl0aHJvdyBuZXcgRXJyb3IoJ1Rhc2sgdHJhY2tpbmcgem9uZSBpcyByZXF1aXJlZCB3aGVuIHBhc3NpbmcgYW4gdXBkYXRlIGNhbGxiYWNrIHRvIHdoZW5TdGFibGUoKS4gSXMgInpvbmUuanMvcGx1Z2lucy90YXNrLXRyYWNraW5nIiBsb2FkZWQ/Jyk7dGhpcy5hZGRDYWxsYmFjayh0LGUsbiksdGhpcy5fcnVuQ2FsbGJhY2tzSWZSZWFkeSgpfWdldFBlbmRpbmdSZXF1ZXN0Q291bnQoKXtyZXR1cm4gdGhpcy5fcGVuZGluZ0NvdW50fWZpbmRQcm92aWRlcnModCxlLG4pe3JldHVybltdfX1fQy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8X0MpKFRyKG1DKSl9LF9DLsm1cHJvdj1Tbih7dG9rZW46X0MsZmFjdG9yeTpfQy7JtWZhY30pLF9DLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6bUN9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKF9DLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTptQ31dfSksbnVsbCk7Y2xhc3MgQ0N7Y29uc3RydWN0b3IoKXt0aGlzLl9hcHBsaWNhdGlvbnM9bmV3IE1hcCx2Qy5hZGRUb1dpbmRvdyh0aGlzKX1yZWdpc3RlckFwcGxpY2F0aW9uKHQsZSl7dGhpcy5fYXBwbGljYXRpb25zLnNldCh0LGUpfXVucmVnaXN0ZXJBcHBsaWNhdGlvbih0KXt0aGlzLl9hcHBsaWNhdGlvbnMuZGVsZXRlKHQpfXVucmVnaXN0ZXJBbGxBcHBsaWNhdGlvbnMoKXt0aGlzLl9hcHBsaWNhdGlvbnMuY2xlYXIoKX1nZXRUZXN0YWJpbGl0eSh0KXtyZXR1cm4gdGhpcy5fYXBwbGljYXRpb25zLmdldCh0KXx8bnVsbH1nZXRBbGxUZXN0YWJpbGl0aWVzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fYXBwbGljYXRpb25zLnZhbHVlcygpKX1nZXRBbGxSb290RWxlbWVudHMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9hcHBsaWNhdGlvbnMua2V5cygpKX1maW5kVGVzdGFiaWxpdHlJblRyZWUodCxlPSEwKXtyZXR1cm4gdkMuZmluZFRlc3RhYmlsaXR5SW5UcmVlKHRoaXMsdCxlKX19Q0MuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fENDKX0sQ0MuybVwcm92PVNuKHt0b2tlbjpDQyxmYWN0b3J5OkNDLsm1ZmFjfSksQ0MuY3RvclBhcmFtZXRlcnM9KCk9PltdLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ0MsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSxudWxsKTtsZXQgTUMsdkM9bmV3IGNsYXNze2FkZFRvV2luZG93KHQpe31maW5kVGVzdGFiaWxpdHlJblRyZWUodCxlLG4pe3JldHVybiBudWxsfX0seEM9ITAsT0M9ITE7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFBDKCl7cmV0dXJuIE9DPSEwLHhDfWxldCB3Qz1mdW5jdGlvbiBrQyh0LGUsbil7bmdEZXZNb2RlJiYoZnVuY3Rpb24gbyh0LGU9IlR5cGUgcGFzc2VkIGluIGlzIG5vdCBOZ01vZHVsZVR5cGUsIGl0IGRvZXMgbm90IGhhdmUgJ8m1bW9kJyBwcm9wZXJ0eS4iKXtNbyh0KXx8T24oZSl9KShuKTtjb25zdCBpPW5ldyBueShuKTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSml0TW9kZSYmIW5nSml0TW9kZSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGkpO2NvbnN0IGE9dC5nZXQoY0MsW10pLmNvbmNhdChlKTtpZigoZnVuY3Rpb24gcih0KXtpZihudWxsIT09WHkpe2lmKHQuZGVmYXVsdEVuY2Fwc3VsYXRpb24hPT1YeS5kZWZhdWx0RW5jYXBzdWxhdGlvbilyZXR1cm4gdm9pZChuZ0Rldk1vZGUmJmNvbnNvbGUuZXJyb3IoIlByb3ZpZGVkIHZhbHVlIGZvciBgZGVmYXVsdEVuY2Fwc3VsYXRpb25gIGNhbiBub3QgYmUgY2hhbmdlZCBvbmNlIGl0IGhhcyBiZWVuIHNldC4iKSk7aWYodC5wcmVzZXJ2ZVdoaXRlc3BhY2VzIT09WHkucHJlc2VydmVXaGl0ZXNwYWNlcylyZXR1cm4gdm9pZChuZ0Rldk1vZGUmJmNvbnNvbGUuZXJyb3IoIlByb3ZpZGVkIHZhbHVlIGZvciBgcHJlc2VydmVXaGl0ZXNwYWNlc2AgY2FuIG5vdCBiZSBjaGFuZ2VkIG9uY2UgaXQgaGFzIGJlZW4gc2V0LiIpKX1YeT10fSkoe2RlZmF1bHRFbmNhcHN1bGF0aW9uOkxDKGEubWFwKCh0PT50LmRlZmF1bHRFbmNhcHN1bGF0aW9uKSkpLHByZXNlcnZlV2hpdGVzcGFjZXM6TEMoYS5tYXAoKHQ9PnQucHJlc2VydmVXaGl0ZXNwYWNlcykpKX0pLChmdW5jdGlvbiBzKCl7cmV0dXJuIDA9PT1Yci5zaXplfSkoKSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGkpO2NvbnN0IGw9KGZ1bmN0aW9uIGModCl7Y29uc3QgZT1bXTtyZXR1cm4gdC5mb3JFYWNoKCh0PT50JiZlLnB1c2goLi4udCkpKSxlfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKGEubWFwKCh0PT50LnByb3ZpZGVycykpKTtpZigwPT09bC5sZW5ndGgpcmV0dXJuIFByb21pc2UucmVzb2x2ZShpKTtjb25zdCBkPWxyKHt1c2FnZTowLGtpbmQ6Ik5nTW9kdWxlIix0eXBlOm59KSxwPU5wLmNyZWF0ZSh7cHJvdmlkZXJzOmx9KS5nZXQoZC5SZXNvdXJjZUxvYWRlcik7cmV0dXJuIFpyKCh0PT5Qcm9taXNlLnJlc29sdmUocC5nZXQodCkpKSkudGhlbigoKCk9PmkpKX07bGV0IFNDPWZ1bmN0aW9uIERDKCl7bmdEZXZNb2RlJiYoZnVuY3Rpb24gdCgpe3FwfHwocXA9ITAsWnAoIsm1c2V0UHJvZmlsZXIiLCRvKSxacCgiZ2V0RGlyZWN0aXZlTWV0YWRhdGEiLFZwKSxacCgiZ2V0Q29tcG9uZW50Iix6cCksWnAoImdldENvbnRleHQiLElwKSxacCgiZ2V0TGlzdGVuZXJzIixVcCksWnAoImdldE93bmluZ0NvbXBvbmVudCIsSHApLFpwKCJnZXRIb3N0RWxlbWVudCIsanApLFpwKCJnZXRJbmplY3RvciIsTHApLFpwKCJnZXRSb290Q29tcG9uZW50cyIsRnApLFpwKCJnZXREaXJlY3RpdmVzIixCcCksWnAoImFwcGx5Q2hhbmdlcyIsWXApKX0pKCl9LFJDPWZ1bmN0aW9uIEVDKHQpe3JldHVybiB0LmlzQm91bmRUb01vZHVsZX07Y29uc3QgQUM9bmV3IGVyKCJBbGxvd011bHRpcGxlVG9rZW4iKTtmdW5jdGlvbiBUQyh0LGUsbj1bXSl7Y29uc3Qgbz1gUGxhdGZvcm06ICR7ZX1gLGk9bmV3IGVyKG8pO3JldHVybihlPVtdKT0+e2xldCBhPU5DKCk7aWYoIWF8fGEuaW5qZWN0b3IuZ2V0KEFDLCExKSlpZih0KXQobi5jb25jYXQoZSkuY29uY2F0KHtwcm92aWRlOmksdXNlVmFsdWU6ITB9KSk7ZWxzZXtjb25zdCB0PW4uY29uY2F0KGUpLmNvbmNhdCh7cHJvdmlkZTppLHVzZVZhbHVlOiEwfSx7cHJvdmlkZTpDcCx1c2VWYWx1ZToicGxhdGZvcm0ifSk7IShmdW5jdGlvbiByKHQpe2lmKE1DJiYhTUMuZGVzdHJveWVkJiYhTUMuaW5qZWN0b3IuZ2V0KEFDLCExKSl0aHJvdyBuZXcgRXJyb3IoIlRoZXJlIGNhbiBiZSBvbmx5IG9uZSBwbGF0Zm9ybS4gRGVzdHJveSB0aGUgcHJldmlvdXMgb25lIHRvIGNyZWF0ZSBhIG5ldyBvbmUuIik7U0MoKSxNQz10LmdldCh6Qyk7Y29uc3QgZT10LmdldChaXyxudWxsKTtyZXR1cm4gZSYmZS5mb3JFYWNoKCh0PT50KCkpKSxNQ30pKE5wLmNyZWF0ZSh7cHJvdmlkZXJzOnQsbmFtZTpvfSkpfXJldHVybihmdW5jdGlvbiBzKHQpe2NvbnN0IGU9TkMoKTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIk5vIHBsYXRmb3JtIGV4aXN0cyEiKTtpZighZS5pbmplY3Rvci5nZXQodCxudWxsKSl0aHJvdyBuZXcgRXJyb3IoIkEgcGxhdGZvcm0gd2l0aCBhIGRpZmZlcmVudCBjb25maWd1cmF0aW9uIGhhcyBiZWVuIGNyZWF0ZWQuIFBsZWFzZSBkZXN0cm95IGl0IGZpcnN0LiIpO3JldHVybiBlfSkoaSl9fWZ1bmN0aW9uIE5DKCl7cmV0dXJuIE1DJiYhTUMuZGVzdHJveWVkP01DOm51bGx9Y2xhc3MgekN7Y29uc3RydWN0b3IodCl7dGhpcy5faW5qZWN0b3I9dCx0aGlzLl9tb2R1bGVzPVtdLHRoaXMuX2Rlc3Ryb3lMaXN0ZW5lcnM9W10sdGhpcy5fZGVzdHJveWVkPSExfWJvb3RzdHJhcE1vZHVsZUZhY3RvcnkodCxlKXtjb25zdCBuPShmdW5jdGlvbiBvKHQsZSl7bGV0IG47bj0ibm9vcCI9PT10P25ldyB5QzooInpvbmUuanMiPT09dD92b2lkIDA6dCl8fG5ldyBtQyh7ZW5hYmxlTG9uZ1N0YWNrVHJhY2U6UEMoKSxzaG91bGRDb2FsZXNjZUV2ZW50Q2hhbmdlRGV0ZWN0aW9uOiEhKG51bGw9PWU/dm9pZCAwOmUubmdab25lRXZlbnRDb2FsZXNjaW5nKSxzaG91bGRDb2FsZXNjZVJ1bkNoYW5nZURldGVjdGlvbjohIShudWxsPT1lP3ZvaWQgMDplLm5nWm9uZVJ1bkNvYWxlc2NpbmcpfSk7cmV0dXJuIG59KShlP2Uubmdab25lOnZvaWQgMCx7bmdab25lRXZlbnRDb2FsZXNjaW5nOmUmJmUubmdab25lRXZlbnRDb2FsZXNjaW5nfHwhMSxuZ1pvbmVSdW5Db2FsZXNjaW5nOmUmJmUubmdab25lUnVuQ29hbGVzY2luZ3x8ITF9KSxpPVt7cHJvdmlkZTptQyx1c2VWYWx1ZTpufV07cmV0dXJuIG4ucnVuKCgoKT0+e2NvbnN0IGU9TnAuY3JlYXRlKHtwcm92aWRlcnM6aSxwYXJlbnQ6dGhpcy5pbmplY3RvcixuYW1lOnQubW9kdWxlVHlwZS5uYW1lfSksbz10LmNyZWF0ZShlKSxhPW8uaW5qZWN0b3IuZ2V0KHVsLG51bGwpO2lmKCFhKXRocm93IG5ldyBFcnJvcigiTm8gRXJyb3JIYW5kbGVyLiBJcyBwbGF0Zm9ybSBtb2R1bGUgKEJyb3dzZXJNb2R1bGUpIGluY2x1ZGVkPyIpO3JldHVybiBuLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e2NvbnN0IHQ9bi5vbkVycm9yLnN1YnNjcmliZSh7bmV4dDp0PT57YS5oYW5kbGVFcnJvcih0KX19KTtvLm9uRGVzdHJveSgoKCk9PntGQyh0aGlzLl9tb2R1bGVzLG8pLHQudW5zdWJzY3JpYmUoKX0pKX0pKSwoZnVuY3Rpb24gcih0LGUsbil7dHJ5e2NvbnN0IG89bigpO3JldHVybiBrZihvKT9vLmNhdGNoKChuPT57dGhyb3cgZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PnQuaGFuZGxlRXJyb3IobikpKSxufSkpOm99Y2F0Y2gobil7dGhyb3cgZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PnQuaGFuZGxlRXJyb3IobikpKSxufX0pKGEsbiwoKCk9Pntjb25zdCB0PW8uaW5qZWN0b3IuZ2V0KFVfKTtyZXR1cm4gdC5ydW5Jbml0aWFsaXplcnMoKSx0LmRvbmVQcm9taXNlLnRoZW4oKCgpPT57UGcoby5pbmplY3Rvci5nZXQoUV8sQ2cpfHxDZyk7cmV0dXJuIHRoaXMuX21vZHVsZURvQm9vdHN0cmFwKG8pLG99KSl9KSl9KSl9Ym9vdHN0cmFwTW9kdWxlKHQsZT1bXSl7Y29uc3Qgbj1JQyh7fSxlKTtyZXR1cm4gd0ModGhpcy5pbmplY3RvcixuLHQpLnRoZW4oKHQ9PnRoaXMuYm9vdHN0cmFwTW9kdWxlRmFjdG9yeSh0LG4pKSl9X21vZHVsZURvQm9vdHN0cmFwKHQpe2NvbnN0IGU9dC5pbmplY3Rvci5nZXQoSEMpO2lmKHQuX2Jvb3RzdHJhcENvbXBvbmVudHMubGVuZ3RoPjApdC5fYm9vdHN0cmFwQ29tcG9uZW50cy5mb3JFYWNoKCh0PT5lLmJvb3RzdHJhcCh0KSkpO2Vsc2V7aWYoIXQuaW5zdGFuY2UubmdEb0Jvb3RzdHJhcCl0aHJvdyBuZXcgRXJyb3IoYFRoZSBtb2R1bGUgJHtLZSh0Lmluc3RhbmNlLmNvbnN0cnVjdG9yKX0gd2FzIGJvb3RzdHJhcHBlZCwgYnV0IGl0IGRvZXMgbm90IGRlY2xhcmUgIkBOZ01vZHVsZS5ib290c3RyYXAiIGNvbXBvbmVudHMgbm9yIGEgIm5nRG9Cb290c3RyYXAiIG1ldGhvZC4gUGxlYXNlIGRlZmluZSBvbmUgb2YgdGhlc2UuYCk7dC5pbnN0YW5jZS5uZ0RvQm9vdHN0cmFwKGUpfXRoaXMuX21vZHVsZXMucHVzaCh0KX1vbkRlc3Ryb3kodCl7dGhpcy5fZGVzdHJveUxpc3RlbmVycy5wdXNoKHQpfWdldCBpbmplY3Rvcigpe3JldHVybiB0aGlzLl9pbmplY3Rvcn1kZXN0cm95KCl7aWYodGhpcy5fZGVzdHJveWVkKXRocm93IG5ldyBFcnJvcigiVGhlIHBsYXRmb3JtIGhhcyBhbHJlYWR5IGJlZW4gZGVzdHJveWVkISIpO3RoaXMuX21vZHVsZXMuc2xpY2UoKS5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX2Rlc3Ryb3lMaXN0ZW5lcnMuZm9yRWFjaCgodD0+dCgpKSksdGhpcy5fZGVzdHJveWVkPSEwfWdldCBkZXN0cm95ZWQoKXtyZXR1cm4gdGhpcy5fZGVzdHJveWVkfX1mdW5jdGlvbiBJQyh0LGUpe3JldHVybiB0PUFycmF5LmlzQXJyYXkoZSk/ZS5yZWR1Y2UoSUMsdCk6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLGUpfXpDLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx6QykoVHIoTnApKX0sekMuybVwcm92PVNuKHt0b2tlbjp6QyxmYWN0b3J5OnpDLsm1ZmFjfSksekMuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpOcH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoekMsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOk5wfV19KSxudWxsKTtjbGFzcyBIQ3tjb25zdHJ1Y3Rvcih0LGUsbixvLGkpe3RoaXMuX3pvbmU9dCx0aGlzLl9pbmplY3Rvcj1lLHRoaXMuX2V4Y2VwdGlvbkhhbmRsZXI9bix0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI9byx0aGlzLl9pbml0U3RhdHVzPWksdGhpcy5fYm9vdHN0cmFwTGlzdGVuZXJzPVtdLHRoaXMuX3ZpZXdzPVtdLHRoaXMuX3J1bm5pbmdUaWNrPSExLHRoaXMuX3N0YWJsZT0hMCx0aGlzLmNvbXBvbmVudFR5cGVzPVtdLHRoaXMuY29tcG9uZW50cz1bXSx0aGlzLl9vbk1pY3JvdGFza0VtcHR5U3Vic2NyaXB0aW9uPXRoaXMuX3pvbmUub25NaWNyb3Rhc2tFbXB0eS5zdWJzY3JpYmUoe25leHQ6KCk9Pnt0aGlzLl96b25lLnJ1bigoKCk9Pnt0aGlzLnRpY2soKX0pKX19KTtjb25zdCBhPW5ldyBUKCh0PT57dGhpcy5fc3RhYmxlPXRoaXMuX3pvbmUuaXNTdGFibGUmJiF0aGlzLl96b25lLmhhc1BlbmRpbmdNYWNyb3Rhc2tzJiYhdGhpcy5fem9uZS5oYXNQZW5kaW5nTWljcm90YXNrcyx0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3QubmV4dCh0aGlzLl9zdGFibGUpLHQuY29tcGxldGUoKX0pKX0pKSxyPW5ldyBUKCh0PT57bGV0IGU7dGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PntlPXRoaXMuX3pvbmUub25TdGFibGUuc3Vic2NyaWJlKCgoKT0+e21DLmFzc2VydE5vdEluQW5ndWxhclpvbmUoKSxwQygoKCk9Pnt0aGlzLl9zdGFibGV8fHRoaXMuX3pvbmUuaGFzUGVuZGluZ01hY3JvdGFza3N8fHRoaXMuX3pvbmUuaGFzUGVuZGluZ01pY3JvdGFza3N8fCh0aGlzLl9zdGFibGU9ITAsdC5uZXh0KCEwKSl9KSl9KSl9KSk7Y29uc3Qgbj10aGlzLl96b25lLm9uVW5zdGFibGUuc3Vic2NyaWJlKCgoKT0+e21DLmFzc2VydEluQW5ndWxhclpvbmUoKSx0aGlzLl9zdGFibGUmJih0aGlzLl9zdGFibGU9ITEsdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0Lm5leHQoITEpfSkpKX0pKTtyZXR1cm4oKT0+e2UudW5zdWJzY3JpYmUoKSxuLnVuc3Vic2NyaWJlKCl9fSkpO3RoaXMuaXNTdGFibGU9cGUoYSxyLnBpcGUoSWUoKSkpfWJvb3RzdHJhcCh0LGUpe2lmKCF0aGlzLl9pbml0U3RhdHVzLmRvbmUpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgYm9vdHN0cmFwIGFzIHRoZXJlIGFyZSBzdGlsbCBhc3luY2hyb25vdXMgaW5pdGlhbGl6ZXJzIHJ1bm5pbmcuIEJvb3RzdHJhcCBjb21wb25lbnRzIGluIHRoZSBgbmdEb0Jvb3RzdHJhcGAgbWV0aG9kIG9mIHRoZSByb290IG1vZHVsZS4iKTtsZXQgbjtuPXQgaW5zdGFuY2VvZiBVaD90OnRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0KSx0aGlzLmNvbXBvbmVudFR5cGVzLnB1c2gobi5jb21wb25lbnRUeXBlKTtjb25zdCBvPVJDKG4pP3ZvaWQgMDp0aGlzLl9pbmplY3Rvci5nZXQoemIpLGk9bi5jcmVhdGUoTnAuTlVMTCxbXSxlfHxuLnNlbGVjdG9yLG8pLGE9aS5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LHI9aS5pbmplY3Rvci5nZXQoX0MsbnVsbCkscz1yJiZpLmluamVjdG9yLmdldChDQyk7aWYociYmcyYmcy5yZWdpc3RlckFwcGxpY2F0aW9uKGEsciksaS5vbkRlc3Ryb3koKCgpPT57dGhpcy5kZXRhY2hWaWV3KGkuaG9zdFZpZXcpLEZDKHRoaXMuY29tcG9uZW50cyxpKSxzJiZzLnVucmVnaXN0ZXJBcHBsaWNhdGlvbihhKX0pKSx0aGlzLl9sb2FkQ29tcG9uZW50KGkpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUEMoKSl7dGhpcy5faW5qZWN0b3IuZ2V0KEpfKS5sb2coIkFuZ3VsYXIgaXMgcnVubmluZyBpbiBkZXZlbG9wbWVudCBtb2RlLiBDYWxsIGVuYWJsZVByb2RNb2RlKCkgdG8gZW5hYmxlIHByb2R1Y3Rpb24gbW9kZS4iKX1yZXR1cm4gaX10aWNrKCl7aWYodGhpcy5fcnVubmluZ1RpY2spdGhyb3cgbmV3IEVycm9yKCJBcHBsaWNhdGlvblJlZi50aWNrIGlzIGNhbGxlZCByZWN1cnNpdmVseSIpO3RyeXt0aGlzLl9ydW5uaW5nVGljaz0hMDtmb3IobGV0IHQgb2YgdGhpcy5fdmlld3MpdC5kZXRlY3RDaGFuZ2VzKCk7aWYoKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZQQygpKWZvcihsZXQgdCBvZiB0aGlzLl92aWV3cyl0LmNoZWNrTm9DaGFuZ2VzKCl9Y2F0Y2godCl7dGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PnRoaXMuX2V4Y2VwdGlvbkhhbmRsZXIuaGFuZGxlRXJyb3IodCkpKX1maW5hbGx5e3RoaXMuX3J1bm5pbmdUaWNrPSExfX1hdHRhY2hWaWV3KHQpe2NvbnN0IGU9dDt0aGlzLl92aWV3cy5wdXNoKGUpLGUuYXR0YWNoVG9BcHBSZWYodGhpcyl9ZGV0YWNoVmlldyh0KXtjb25zdCBlPXQ7RkModGhpcy5fdmlld3MsZSksZS5kZXRhY2hGcm9tQXBwUmVmKCl9X2xvYWRDb21wb25lbnQodCl7dGhpcy5hdHRhY2hWaWV3KHQuaG9zdFZpZXcpLHRoaXMudGljaygpLHRoaXMuY29tcG9uZW50cy5wdXNoKHQpO3RoaXMuX2luamVjdG9yLmdldChLXyxbXSkuY29uY2F0KHRoaXMuX2Jvb3RzdHJhcExpc3RlbmVycykuZm9yRWFjaCgoZT0+ZSh0KSkpfW5nT25EZXN0cm95KCl7dGhpcy5fdmlld3Muc2xpY2UoKS5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX29uTWljcm90YXNrRW1wdHlTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX1nZXQgdmlld0NvdW50KCl7cmV0dXJuIHRoaXMuX3ZpZXdzLmxlbmd0aH19ZnVuY3Rpb24gRkModCxlKXtjb25zdCBuPXQuaW5kZXhPZihlKTtuPi0xJiZ0LnNwbGljZShuLDEpfWZ1bmN0aW9uIExDKHQpe2ZvcihsZXQgZT10Lmxlbmd0aC0xO2U+PTA7ZS0tKWlmKHZvaWQgMCE9PXRbZV0pcmV0dXJuIHRbZV19SEMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEhDKShUcihtQyksVHIoTnApLFRyKHVsKSxUcihHaCksVHIoVV8pKX0sSEMuybVwcm92PVNuKHt0b2tlbjpIQyxmYWN0b3J5OkhDLsm1ZmFjfSksSEMuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTptQ30se3R5cGU6TnB9LHt0eXBlOnVsfSx7dHlwZTpHaH0se3R5cGU6VV99XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEhDLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTptQ30se3R5cGU6TnB9LHt0eXBlOnVsfSx7dHlwZTpHaH0se3R5cGU6VV99XX0pLG51bGwpO2NsYXNzIEJDe31jb25zdCBWQz17ZmFjdG9yeVBhdGhQcmVmaXg6IiIsZmFjdG9yeVBhdGhTdWZmaXg6Ii5uZ2ZhY3RvcnkifTtjbGFzcyBqQ3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2NvbXBpbGVyPXQsdGhpcy5fY29uZmlnPWV8fFZDfWxvYWQodCl7cmV0dXJuIHRoaXMubG9hZEFuZENvbXBpbGUodCl9bG9hZEFuZENvbXBpbGUodCl7bGV0W2Usbl09dC5zcGxpdCgiIyIpO3JldHVybiB2b2lkIDA9PT1uJiYobj0iZGVmYXVsdCIpLFN5c3RlbS5pbXBvcnQoZSkudGhlbigodD0+dFtuXSkpLnRoZW4oKHQ9PlVDKHQsZSxuKSkpLnRoZW4oKHQ9PnRoaXMuX2NvbXBpbGVyLmNvbXBpbGVNb2R1bGVBc3luYyh0KSkpfWxvYWRGYWN0b3J5KHQpe2xldFtlLG5dPXQuc3BsaXQoIiMiKSxvPSJOZ0ZhY3RvcnkiO3JldHVybiB2b2lkIDA9PT1uJiYobj0iZGVmYXVsdCIsbz0iIiksU3lzdGVtLmltcG9ydCh0aGlzLl9jb25maWcuZmFjdG9yeVBhdGhQcmVmaXgrZSt0aGlzLl9jb25maWcuZmFjdG9yeVBhdGhTdWZmaXgpLnRoZW4oKHQ9PnRbbitvXSkpLnRoZW4oKHQ9PlVDKHQsZSxuKSkpfX1mdW5jdGlvbiBVQyh0LGUsbil7aWYoIXQpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCAnJHtufScgaW4gJyR7ZX0nYCk7cmV0dXJuIHR9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2pDLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxqQykoVHIobEMpLFRyKEJDLDgpKX0sakMuybVwcm92PVNuKHt0b2tlbjpqQyxmYWN0b3J5OmpDLsm1ZmFjfSksakMuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpsQ30se3R5cGU6QkMsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoakMsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmxDfSx7dHlwZTpCQyxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfV19KSxudWxsKTtjb25zdCBXQz1UQyhudWxsLCJjb3JlIixbe3Byb3ZpZGU6WF8sdXNlVmFsdWU6InVua25vd24ifSx7cHJvdmlkZTp6QyxkZXBzOltOcF19LHtwcm92aWRlOkNDLGRlcHM6W119LHtwcm92aWRlOkpfLGRlcHM6W119XSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBHQz1be3Byb3ZpZGU6SEMsdXNlQ2xhc3M6SEMsZGVwczpbbUMsTnAsdWwsR2gsVV9dfSx7cHJvdmlkZTpYYixkZXBzOlttQ10sdXNlRmFjdG9yeTpmdW5jdGlvbiBZQyh0KXtsZXQgZT1bXTtyZXR1cm4gdC5vblN0YWJsZS5zdWJzY3JpYmUoKCgpPT57Zm9yKDtlLmxlbmd0aDspZS5wb3AoKSgpfSkpLGZ1bmN0aW9uKHQpe2UucHVzaCh0KX19fSx7cHJvdmlkZTpVXyx1c2VDbGFzczpVXyxkZXBzOltbbmV3IEJyLGpfXV19LHtwcm92aWRlOmxDLHVzZUNsYXNzOmxDLGRlcHM6W119LEdfLHtwcm92aWRlOmhiLHVzZUZhY3Rvcnk6Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiBxQygpe3JldHVybiBrYn0sZGVwczpbXX0se3Byb3ZpZGU6eWIsdXNlRmFjdG9yeTpmdW5jdGlvbiBaQygpe3JldHVybiBTYn0sZGVwczpbXX0se3Byb3ZpZGU6UV8sdXNlRmFjdG9yeTpmdW5jdGlvbiBYQyh0KXtyZXR1cm4gUGcodD10fHwoZnVuY3Rpb24gZSgpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlJiYidW5kZWZpbmVkIiE9dHlwZW9mIGdvb2cmJiJlbiIhPT1nb29nLmdldExvY2FsZSgpP2dvb2cuZ2V0TG9jYWxlKCk6InVuZGVmaW5lZCIhPXR5cGVvZiAkbG9jYWxpemUmJiRsb2NhbGl6ZS5sb2NhbGV8fENnfSkoKSksdH0sZGVwczpbW25ldyBMcihRXyksbmV3IEJyLG5ldyBqcl1dfSx7cHJvdmlkZTokXyx1c2VWYWx1ZToiVVNEIn1dO2NsYXNzIEtDe2NvbnN0cnVjdG9yKHQpe319dmFyIEpDLFFDO0tDLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxLQykoVHIoSEMpKX0sS0MuybVtb2Q9Zm8oe3R5cGU6S0N9KSxLQy7JtWluaj1Ebih7cHJvdmlkZXJzOkdDfSksS0MuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpIQ31dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoS0MsW3t0eXBlOkxfLGFyZ3M6W3twcm92aWRlcnM6R0N9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpIQ31dfSksbnVsbCksKGZ1bmN0aW9uKHQpe3RbdC5DcmVhdGVWaWV3Tm9kZXM9MF09IkNyZWF0ZVZpZXdOb2RlcyIsdFt0LkNoZWNrTm9DaGFuZ2VzPTFdPSJDaGVja05vQ2hhbmdlcyIsdFt0LkNoZWNrTm9DaGFuZ2VzUHJvamVjdGVkVmlld3M9Ml09IkNoZWNrTm9DaGFuZ2VzUHJvamVjdGVkVmlld3MiLHRbdC5DaGVja0FuZFVwZGF0ZT0zXT0iQ2hlY2tBbmRVcGRhdGUiLHRbdC5DaGVja0FuZFVwZGF0ZVByb2plY3RlZFZpZXdzPTRdPSJDaGVja0FuZFVwZGF0ZVByb2plY3RlZFZpZXdzIix0W3QuRGVzdHJveT01XT0iRGVzdHJveSJ9KShKQ3x8KEpDPXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5jcmVhdGU9MF09ImNyZWF0ZSIsdFt0LmRldGVjdENoYW5nZXM9MV09ImRldGVjdENoYW5nZXMiLHRbdC5jaGVja05vQ2hhbmdlcz0yXT0iY2hlY2tOb0NoYW5nZXMiLHRbdC5kZXN0cm95PTNdPSJkZXN0cm95Iix0W3QuaGFuZGxlRXZlbnQ9NF09ImhhbmRsZUV2ZW50In0pKFFDfHwoUUM9e30pKSwKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0Rldk1vZGUmJm5nRGV2TW9kZSYmKFhuLiRsb2NhbGl6ZT1Ybi4kbG9jYWxpemV8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJJdCBsb29rcyBsaWtlIHlvdXIgYXBwbGljYXRpb24gb3Igb25lIG9mIGl0cyBkZXBlbmRlbmNpZXMgaXMgdXNpbmcgaTE4bi5cbkFuZ3VsYXIgOSBpbnRyb2R1Y2VkIGEgZ2xvYmFsIGAkbG9jYWxpemUoKWAgZnVuY3Rpb24gdGhhdCBuZWVkcyB0byBiZSBsb2FkZWQuXG5QbGVhc2UgcnVuIGBuZyBhZGQgQGFuZ3VsYXIvbG9jYWxpemVgIGZyb20gdGhlIEFuZ3VsYXIgQ0xJLlxuKEZvciBub24tQ0xJIHByb2plY3RzLCBhZGQgYGltcG9ydCAnQGFuZ3VsYXIvbG9jYWxpemUvaW5pdCc7YCB0byB5b3VyIGBwb2x5ZmlsbHMudHNgIGZpbGUuXG5Gb3Igc2VydmVyLXNpZGUgcmVuZGVyaW5nIGFwcGxpY2F0aW9ucyBhZGQgdGhlIGltcG9ydCB0byB5b3VyIGBtYWluLnNlcnZlci50c2AgZmlsZS4pIil9KQovKioKICAgICAqIEBsaWNlbnNlIEFuZ3VsYXIgdjEyLjIuMQogICAgICogKGMpIDIwMTAtMjAyMSBHb29nbGUgTExDLiBodHRwczovL2FuZ3VsYXIuaW8vCiAgICAgKiBMaWNlbnNlOiBNSVQKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi87Y29uc3QgJEM9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzLHRNPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3csZU09InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiYidW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGUmJnNlbGYsbk09InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWwmJmdsb2JhbCxvTT1mdW5jdGlvbih0LC4uLmUpe2lmKG9NLnRyYW5zbGF0ZSl7Y29uc3Qgbj1vTS50cmFuc2xhdGUodCxlKTt0PW5bMF0sZT1uWzFdfWxldCBuPWlNKHRbMF0sdC5yYXdbMF0pO2ZvcihsZXQgbz0xO288dC5sZW5ndGg7bysrKW4rPWVbby0xXStpTSh0W29dLHQucmF3W29dKTtyZXR1cm4gbn07ZnVuY3Rpb24gaU0odCxlKXtyZXR1cm4iOiI9PT1lLmNoYXJBdCgwKT90LnN1YnN0cmluZygoZnVuY3Rpb24gbih0LGUpe2ZvcihsZXQgbj0xLG89MTtuPHQubGVuZ3RoO24rKyxvKyspaWYoIlxcIj09PWVbb10pbysrO2Vsc2UgaWYoIjoiPT09dFtuXSlyZXR1cm4gbjt0aHJvdyBuZXcgRXJyb3IoYFVudGVybWluYXRlZCAkbG9jYWxpemUgbWV0YWRhdGEgYmxvY2sgaW4gIiR7ZX0iLmApfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0LGUpKzEpOnR9KCRDfHxuTXx8dE18fGVNKS4kbG9jYWxpemU9b007Ci8qKgogICAgICogQGxpY2Vuc2UgQW5ndWxhciB2MTIuMi4xCiAgICAgKiAoYykgMjAxMC0yMDIxIEdvb2dsZSBMTEMuIGh0dHBzOi8vYW5ndWxhci5pby8KICAgICAqIExpY2Vuc2U6IE1JVAogICAgICovCmxldCBhTT1udWxsO2Z1bmN0aW9uIHJNKCl7cmV0dXJuIGFNfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3Qgc009bmV3IGVyKCJEb2N1bWVudFRva2VuIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIGxNe2hpc3RvcnlHbyh0KXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfX1mdW5jdGlvbiBjTSgpe3JldHVybiBUcihkTSl9bE0uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGxNKX0sbE0uybVwcm92PVNuKHtmYWN0b3J5OmNNLHRva2VuOmxNLHByb3ZpZGVkSW46InBsYXRmb3JtIn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobE0sW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJwbGF0Zm9ybSIsdXNlRmFjdG9yeTpjTX1dfV0sbnVsbCxudWxsKSxuZXcgZXIoIkxvY2F0aW9uIEluaXRpYWxpemVkIik7Y2xhc3MgZE0gZXh0ZW5kcyBsTXtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuX2RvYz10LHRoaXMuX2luaXQoKX1faW5pdCgpe3RoaXMubG9jYXRpb249d2luZG93LmxvY2F0aW9uLHRoaXMuX2hpc3Rvcnk9d2luZG93Lmhpc3Rvcnl9Z2V0QmFzZUhyZWZGcm9tRE9NKCl7cmV0dXJuIHJNKCkuZ2V0QmFzZUhyZWYodGhpcy5fZG9jKX1vblBvcFN0YXRlKHQpe2NvbnN0IGU9ck0oKS5nZXRHbG9iYWxFdmVudFRhcmdldCh0aGlzLl9kb2MsIndpbmRvdyIpO3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIix0LCExKSwoKT0+ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsdCl9b25IYXNoQ2hhbmdlKHQpe2NvbnN0IGU9ck0oKS5nZXRHbG9iYWxFdmVudFRhcmdldCh0aGlzLl9kb2MsIndpbmRvdyIpO3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLHQsITEpLCgpPT5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLHQpfWdldCBocmVmKCl7cmV0dXJuIHRoaXMubG9jYXRpb24uaHJlZn1nZXQgcHJvdG9jb2woKXtyZXR1cm4gdGhpcy5sb2NhdGlvbi5wcm90b2NvbH1nZXQgaG9zdG5hbWUoKXtyZXR1cm4gdGhpcy5sb2NhdGlvbi5ob3N0bmFtZX1nZXQgcG9ydCgpe3JldHVybiB0aGlzLmxvY2F0aW9uLnBvcnR9Z2V0IHBhdGhuYW1lKCl7cmV0dXJuIHRoaXMubG9jYXRpb24ucGF0aG5hbWV9Z2V0IHNlYXJjaCgpe3JldHVybiB0aGlzLmxvY2F0aW9uLnNlYXJjaH1nZXQgaGFzaCgpe3JldHVybiB0aGlzLmxvY2F0aW9uLmhhc2h9c2V0IHBhdGhuYW1lKHQpe3RoaXMubG9jYXRpb24ucGF0aG5hbWU9dH1wdXNoU3RhdGUodCxlLG4pe3BNKCk/dGhpcy5faGlzdG9yeS5wdXNoU3RhdGUodCxlLG4pOnRoaXMubG9jYXRpb24uaGFzaD1ufXJlcGxhY2VTdGF0ZSh0LGUsbil7cE0oKT90aGlzLl9oaXN0b3J5LnJlcGxhY2VTdGF0ZSh0LGUsbik6dGhpcy5sb2NhdGlvbi5oYXNoPW59Zm9yd2FyZCgpe3RoaXMuX2hpc3RvcnkuZm9yd2FyZCgpfWJhY2soKXt0aGlzLl9oaXN0b3J5LmJhY2soKX1oaXN0b3J5R28odD0wKXt0aGlzLl9oaXN0b3J5LmdvKHQpfWdldFN0YXRlKCl7cmV0dXJuIHRoaXMuX2hpc3Rvcnkuc3RhdGV9fWZ1bmN0aW9uIHBNKCl7cmV0dXJuISF3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGV9ZnVuY3Rpb24gbU0oKXtyZXR1cm4gbmV3IGRNKFRyKHNNKSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBmTSh0LGUpe2lmKDA9PXQubGVuZ3RoKXJldHVybiBlO2lmKDA9PWUubGVuZ3RoKXJldHVybiB0O2xldCBuPTA7cmV0dXJuIHQuZW5kc1dpdGgoIi8iKSYmbisrLGUuc3RhcnRzV2l0aCgiLyIpJiZuKyssMj09bj90K2Uuc3Vic3RyaW5nKDEpOjE9PW4/dCtlOnQrIi8iK2V9ZnVuY3Rpb24gdU0odCl7Y29uc3QgZT10Lm1hdGNoKC8jfFw/fCQvKSxuPWUmJmUuaW5kZXh8fHQubGVuZ3RoO3JldHVybiB0LnNsaWNlKDAsbi0oIi8iPT09dFtuLTFdPzE6MCkpK3Quc2xpY2Uobil9ZnVuY3Rpb24gZ00odCl7cmV0dXJuIHQmJiI/IiE9PXRbMF0/Ij8iK3Q6dH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZE0uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGRNKShUcihzTSkpfSxkTS7JtXByb3Y9U24oe2ZhY3Rvcnk6bU0sdG9rZW46ZE0scHJvdmlkZWRJbjoicGxhdGZvcm0ifSksZE0uY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRNLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicGxhdGZvcm0iLHVzZUZhY3Rvcnk6bU19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpO2NsYXNzIGhNe2hpc3RvcnlHbyh0KXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfX1mdW5jdGlvbiBiTSh0KXtjb25zdCBlPVRyKHNNKS5sb2NhdGlvbjtyZXR1cm4gbmV3IF9NKFRyKGxNKSxlJiZlLm9yaWdpbnx8IiIpfWhNLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxoTSl9LGhNLsm1cHJvdj1Tbih7ZmFjdG9yeTpiTSx0b2tlbjpoTSxwcm92aWRlZEluOiJyb290In0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaE0sW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290Iix1c2VGYWN0b3J5OmJNfV19XSxudWxsLG51bGwpO2NvbnN0IHlNPW5ldyBlcigiYXBwQmFzZUhyZWYiKTtjbGFzcyBfTSBleHRlbmRzIGhNe2NvbnN0cnVjdG9yKHQsZSl7aWYoc3VwZXIoKSx0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uPXQsdGhpcy5fcmVtb3ZlTGlzdGVuZXJGbnM9W10sbnVsbD09ZSYmKGU9dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5nZXRCYXNlSHJlZkZyb21ET00oKSksbnVsbD09ZSl0aHJvdyBuZXcgRXJyb3IoIk5vIGJhc2UgaHJlZiBzZXQuIFBsZWFzZSBwcm92aWRlIGEgdmFsdWUgZm9yIHRoZSBBUFBfQkFTRV9IUkVGIHRva2VuIG9yIGFkZCBhIGJhc2UgZWxlbWVudCB0byB0aGUgZG9jdW1lbnQuIik7dGhpcy5fYmFzZUhyZWY9ZX1uZ09uRGVzdHJveSgpe2Zvcig7dGhpcy5fcmVtb3ZlTGlzdGVuZXJGbnMubGVuZ3RoOyl0aGlzLl9yZW1vdmVMaXN0ZW5lckZucy5wb3AoKSgpfW9uUG9wU3RhdGUodCl7dGhpcy5fcmVtb3ZlTGlzdGVuZXJGbnMucHVzaCh0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLm9uUG9wU3RhdGUodCksdGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5vbkhhc2hDaGFuZ2UodCkpfWdldEJhc2VIcmVmKCl7cmV0dXJuIHRoaXMuX2Jhc2VIcmVmfXByZXBhcmVFeHRlcm5hbFVybCh0KXtyZXR1cm4gZk0odGhpcy5fYmFzZUhyZWYsdCl9cGF0aCh0PSExKXtjb25zdCBlPXRoaXMuX3BsYXRmb3JtTG9jYXRpb24ucGF0aG5hbWUrZ00odGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5zZWFyY2gpLG49dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5oYXNoO3JldHVybiBuJiZ0P2Ake2V9JHtufWA6ZX1wdXNoU3RhdGUodCxlLG4sbyl7Y29uc3QgaT10aGlzLnByZXBhcmVFeHRlcm5hbFVybChuK2dNKG8pKTt0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLnB1c2hTdGF0ZSh0LGUsaSl9cmVwbGFjZVN0YXRlKHQsZSxuLG8pe2NvbnN0IGk9dGhpcy5wcmVwYXJlRXh0ZXJuYWxVcmwobitnTShvKSk7dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5yZXBsYWNlU3RhdGUodCxlLGkpfWZvcndhcmQoKXt0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLmZvcndhcmQoKX1iYWNrKCl7dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5iYWNrKCl9aGlzdG9yeUdvKHQ9MCl7dmFyIGUsbjtudWxsPT09KG49KGU9dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbikuaGlzdG9yeUdvKXx8dm9pZCAwPT09bnx8bi5jYWxsKGUsdCl9fV9NLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxfTSkoVHIobE0pLFRyKHlNLDgpKX0sX00uybVwcm92PVNuKHt0b2tlbjpfTSxmYWN0b3J5Ol9NLsm1ZmFjfSksX00uY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpsTX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOlt5TV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoX00sW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmxNfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3lNXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIENNIGV4dGVuZHMgaE17Y29uc3RydWN0b3IodCxlKXtzdXBlcigpLHRoaXMuX3BsYXRmb3JtTG9jYXRpb249dCx0aGlzLl9iYXNlSHJlZj0iIix0aGlzLl9yZW1vdmVMaXN0ZW5lckZucz1bXSxudWxsIT1lJiYodGhpcy5fYmFzZUhyZWY9ZSl9bmdPbkRlc3Ryb3koKXtmb3IoO3RoaXMuX3JlbW92ZUxpc3RlbmVyRm5zLmxlbmd0aDspdGhpcy5fcmVtb3ZlTGlzdGVuZXJGbnMucG9wKCkoKX1vblBvcFN0YXRlKHQpe3RoaXMuX3JlbW92ZUxpc3RlbmVyRm5zLnB1c2godGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5vblBvcFN0YXRlKHQpLHRoaXMuX3BsYXRmb3JtTG9jYXRpb24ub25IYXNoQ2hhbmdlKHQpKX1nZXRCYXNlSHJlZigpe3JldHVybiB0aGlzLl9iYXNlSHJlZn1wYXRoKHQ9ITEpe2xldCBlPXRoaXMuX3BsYXRmb3JtTG9jYXRpb24uaGFzaDtyZXR1cm4gbnVsbD09ZSYmKGU9IiMiKSxlLmxlbmd0aD4wP2Uuc3Vic3RyaW5nKDEpOmV9cHJlcGFyZUV4dGVybmFsVXJsKHQpe2NvbnN0IGU9Zk0odGhpcy5fYmFzZUhyZWYsdCk7cmV0dXJuIGUubGVuZ3RoPjA/IiMiK2U6ZX1wdXNoU3RhdGUodCxlLG4sbyl7bGV0IGk9dGhpcy5wcmVwYXJlRXh0ZXJuYWxVcmwobitnTShvKSk7MD09aS5sZW5ndGgmJihpPXRoaXMuX3BsYXRmb3JtTG9jYXRpb24ucGF0aG5hbWUpLHRoaXMuX3BsYXRmb3JtTG9jYXRpb24ucHVzaFN0YXRlKHQsZSxpKX1yZXBsYWNlU3RhdGUodCxlLG4sbyl7bGV0IGk9dGhpcy5wcmVwYXJlRXh0ZXJuYWxVcmwobitnTShvKSk7MD09aS5sZW5ndGgmJihpPXRoaXMuX3BsYXRmb3JtTG9jYXRpb24ucGF0aG5hbWUpLHRoaXMuX3BsYXRmb3JtTG9jYXRpb24ucmVwbGFjZVN0YXRlKHQsZSxpKX1mb3J3YXJkKCl7dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbi5mb3J3YXJkKCl9YmFjaygpe3RoaXMuX3BsYXRmb3JtTG9jYXRpb24uYmFjaygpfWhpc3RvcnlHbyh0PTApe3ZhciBlLG47bnVsbD09PShuPShlPXRoaXMuX3BsYXRmb3JtTG9jYXRpb24pLmhpc3RvcnlHbyl8fHZvaWQgMD09PW58fG4uY2FsbChlLHQpfX1DTS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Q00pKFRyKGxNKSxUcih5TSw4KSl9LENNLsm1cHJvdj1Tbih7dG9rZW46Q00sZmFjdG9yeTpDTS7JtWZhY30pLENNLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6bE19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbeU1dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKENNLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpsTX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOlt5TV19XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBNTXtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX3N1YmplY3Q9bmV3IFN5LHRoaXMuX3VybENoYW5nZUxpc3RlbmVycz1bXSx0aGlzLl9wbGF0Zm9ybVN0cmF0ZWd5PXQ7Y29uc3Qgbj10aGlzLl9wbGF0Zm9ybVN0cmF0ZWd5LmdldEJhc2VIcmVmKCk7dGhpcy5fcGxhdGZvcm1Mb2NhdGlvbj1lLHRoaXMuX2Jhc2VIcmVmPXVNKHhNKG4pKSx0aGlzLl9wbGF0Zm9ybVN0cmF0ZWd5Lm9uUG9wU3RhdGUoKHQ9Pnt0aGlzLl9zdWJqZWN0LmVtaXQoe3VybDp0aGlzLnBhdGgoITApLHBvcDohMCxzdGF0ZTp0LnN0YXRlLHR5cGU6dC50eXBlfSl9KSl9cGF0aCh0PSExKXtyZXR1cm4gdGhpcy5ub3JtYWxpemUodGhpcy5fcGxhdGZvcm1TdHJhdGVneS5wYXRoKHQpKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLl9wbGF0Zm9ybUxvY2F0aW9uLmdldFN0YXRlKCl9aXNDdXJyZW50UGF0aEVxdWFsVG8odCxlPSIiKXtyZXR1cm4gdGhpcy5wYXRoKCk9PXRoaXMubm9ybWFsaXplKHQrZ00oZSkpfW5vcm1hbGl6ZSh0KXtyZXR1cm4gTU0uc3RyaXBUcmFpbGluZ1NsYXNoKChmdW5jdGlvbiBlKHQsbil7cmV0dXJuIHQmJm4uc3RhcnRzV2l0aCh0KT9uLnN1YnN0cmluZyh0Lmxlbmd0aCk6bn0pKHRoaXMuX2Jhc2VIcmVmLHhNKHQpKSl9cHJlcGFyZUV4dGVybmFsVXJsKHQpe3JldHVybiB0JiYiLyIhPT10WzBdJiYodD0iLyIrdCksdGhpcy5fcGxhdGZvcm1TdHJhdGVneS5wcmVwYXJlRXh0ZXJuYWxVcmwodCl9Z28odCxlPSIiLG49bnVsbCl7dGhpcy5fcGxhdGZvcm1TdHJhdGVneS5wdXNoU3RhdGUobiwiIix0LGUpLHRoaXMuX25vdGlmeVVybENoYW5nZUxpc3RlbmVycyh0aGlzLnByZXBhcmVFeHRlcm5hbFVybCh0K2dNKGUpKSxuKX1yZXBsYWNlU3RhdGUodCxlPSIiLG49bnVsbCl7dGhpcy5fcGxhdGZvcm1TdHJhdGVneS5yZXBsYWNlU3RhdGUobiwiIix0LGUpLHRoaXMuX25vdGlmeVVybENoYW5nZUxpc3RlbmVycyh0aGlzLnByZXBhcmVFeHRlcm5hbFVybCh0K2dNKGUpKSxuKX1mb3J3YXJkKCl7dGhpcy5fcGxhdGZvcm1TdHJhdGVneS5mb3J3YXJkKCl9YmFjaygpe3RoaXMuX3BsYXRmb3JtU3RyYXRlZ3kuYmFjaygpfWhpc3RvcnlHbyh0PTApe3ZhciBlLG47bnVsbD09PShuPShlPXRoaXMuX3BsYXRmb3JtU3RyYXRlZ3kpLmhpc3RvcnlHbyl8fHZvaWQgMD09PW58fG4uY2FsbChlLHQpfW9uVXJsQ2hhbmdlKHQpe3RoaXMuX3VybENoYW5nZUxpc3RlbmVycy5wdXNoKHQpLHRoaXMuX3VybENoYW5nZVN1YnNjcmlwdGlvbnx8KHRoaXMuX3VybENoYW5nZVN1YnNjcmlwdGlvbj10aGlzLnN1YnNjcmliZSgodD0+e3RoaXMuX25vdGlmeVVybENoYW5nZUxpc3RlbmVycyh0LnVybCx0LnN0YXRlKX0pKSl9X25vdGlmeVVybENoYW5nZUxpc3RlbmVycyh0PSIiLGUpe3RoaXMuX3VybENoYW5nZUxpc3RlbmVycy5mb3JFYWNoKChuPT5uKHQsZSkpKX1zdWJzY3JpYmUodCxlLG4pe3JldHVybiB0aGlzLl9zdWJqZWN0LnN1YnNjcmliZSh7bmV4dDp0LGVycm9yOmUsY29tcGxldGU6bn0pfX1mdW5jdGlvbiB2TSgpe3JldHVybiBuZXcgTU0oVHIoaE0pLFRyKGxNKSl9ZnVuY3Rpb24geE0odCl7cmV0dXJuIHQucmVwbGFjZSgvXC9pbmRleC5odG1sJC8sIiIpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovTU0uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE1NKShUcihoTSksVHIobE0pKX0sTU0ubm9ybWFsaXplUXVlcnlQYXJhbXM9Z00sTU0uam9pbldpdGhTbGFzaD1mTSxNTS5zdHJpcFRyYWlsaW5nU2xhc2g9dU0sTU0uybVwcm92PVNuKHtmYWN0b3J5OnZNLHRva2VuOk1NLHByb3ZpZGVkSW46InJvb3QifSksTU0uY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpoTX0se3R5cGU6bE19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE1NLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCIsdXNlRmFjdG9yeTp2TX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmhNfSx7dHlwZTpsTX1dfSksbnVsbCk7Y29uc3QgT009e0FEUDpbdm9pZCAwLHZvaWQgMCwwXSxBRk46W3ZvaWQgMCx2b2lkIDAsMF0sQUxMOlt2b2lkIDAsdm9pZCAwLDBdLEFNRDpbdm9pZCAwLHZvaWQgMCwyXSxBT0E6W3ZvaWQgMCwiS3oiXSxBUlM6W3ZvaWQgMCwiJCJdLEFVRDpbIkEkIiwiJCJdLEJBTTpbdm9pZCAwLCJLTSJdLEJCRDpbdm9pZCAwLCIkIl0sQkRUOlt2b2lkIDAsIuCnsyJdLEJIRDpbdm9pZCAwLHZvaWQgMCwzXSxCSUY6W3ZvaWQgMCx2b2lkIDAsMF0sQk1EOlt2b2lkIDAsIiQiXSxCTkQ6W3ZvaWQgMCwiJCJdLEJPQjpbdm9pZCAwLCJCcyJdLEJSTDpbIlIkIl0sQlNEOlt2b2lkIDAsIiQiXSxCV1A6W3ZvaWQgMCwiUCJdLEJZTjpbdm9pZCAwLCLRgC4iLDJdLEJZUjpbdm9pZCAwLHZvaWQgMCwwXSxCWkQ6W3ZvaWQgMCwiJCJdLENBRDpbIkNBJCIsIiQiLDJdLENIRjpbdm9pZCAwLHZvaWQgMCwyXSxDTEY6W3ZvaWQgMCx2b2lkIDAsNF0sQ0xQOlt2b2lkIDAsIiQiLDBdLENOWTpbIkNOwqUiLCLCpSJdLENPUDpbdm9pZCAwLCIkIiwyXSxDUkM6W3ZvaWQgMCwi4oKhIiwyXSxDVUM6W3ZvaWQgMCwiJCJdLENVUDpbdm9pZCAwLCIkIl0sQ1pLOlt2b2lkIDAsIkvEjSIsMl0sREpGOlt2b2lkIDAsdm9pZCAwLDBdLERLSzpbdm9pZCAwLCJrciIsMl0sRE9QOlt2b2lkIDAsIiQiXSxFR1A6W3ZvaWQgMCwiRcKjIl0sRVNQOlt2b2lkIDAsIuKCpyIsMF0sRVVSOlsi4oKsIl0sRkpEOlt2b2lkIDAsIiQiXSxGS1A6W3ZvaWQgMCwiwqMiXSxHQlA6WyLCoyJdLEdFTDpbdm9pZCAwLCLigr4iXSxHSVA6W3ZvaWQgMCwiwqMiXSxHTkY6W3ZvaWQgMCwiRkciLDBdLEdUUTpbdm9pZCAwLCJRIl0sR1lEOlt2b2lkIDAsIiQiLDJdLEhLRDpbIkhLJCIsIiQiXSxITkw6W3ZvaWQgMCwiTCJdLEhSSzpbdm9pZCAwLCJrbiJdLEhVRjpbdm9pZCAwLCJGdCIsMl0sSURSOlt2b2lkIDAsIlJwIiwyXSxJTFM6WyLigqoiXSxJTlI6WyLigrkiXSxJUUQ6W3ZvaWQgMCx2b2lkIDAsMF0sSVJSOlt2b2lkIDAsdm9pZCAwLDBdLElTSzpbdm9pZCAwLCJrciIsMF0sSVRMOlt2b2lkIDAsdm9pZCAwLDBdLEpNRDpbdm9pZCAwLCIkIl0sSk9EOlt2b2lkIDAsdm9pZCAwLDNdLEpQWTpbIsKlIix2b2lkIDAsMF0sS0hSOlt2b2lkIDAsIuGfmyJdLEtNRjpbdm9pZCAwLCJDRiIsMF0sS1BXOlt2b2lkIDAsIuKCqSIsMF0sS1JXOlsi4oKpIix2b2lkIDAsMF0sS1dEOlt2b2lkIDAsdm9pZCAwLDNdLEtZRDpbdm9pZCAwLCIkIl0sS1pUOlt2b2lkIDAsIuKCuCJdLExBSzpbdm9pZCAwLCLigq0iLDBdLExCUDpbdm9pZCAwLCJMwqMiLDBdLExLUjpbdm9pZCAwLCJScyJdLExSRDpbdm9pZCAwLCIkIl0sTFRMOlt2b2lkIDAsIkx0Il0sTFVGOlt2b2lkIDAsdm9pZCAwLDBdLExWTDpbdm9pZCAwLCJMcyJdLExZRDpbdm9pZCAwLHZvaWQgMCwzXSxNR0E6W3ZvaWQgMCwiQXIiLDBdLE1HRjpbdm9pZCAwLHZvaWQgMCwwXSxNTUs6W3ZvaWQgMCwiSyIsMF0sTU5UOlt2b2lkIDAsIuKCriIsMl0sTVJPOlt2b2lkIDAsdm9pZCAwLDBdLE1VUjpbdm9pZCAwLCJScyIsMl0sTVhOOlsiTVgkIiwiJCJdLE1ZUjpbdm9pZCAwLCJSTSJdLE5BRDpbdm9pZCAwLCIkIl0sTkdOOlt2b2lkIDAsIuKCpiJdLE5JTzpbdm9pZCAwLCJDJCJdLE5PSzpbdm9pZCAwLCJrciIsMl0sTlBSOlt2b2lkIDAsIlJzIl0sTlpEOlsiTlokIiwiJCJdLE9NUjpbdm9pZCAwLHZvaWQgMCwzXSxQSFA6W3ZvaWQgMCwi4oKxIl0sUEtSOlt2b2lkIDAsIlJzIiwyXSxQTE46W3ZvaWQgMCwiesWCIl0sUFlHOlt2b2lkIDAsIuKCsiIsMF0sUk9OOlt2b2lkIDAsImxlaSJdLFJTRDpbdm9pZCAwLHZvaWQgMCwwXSxSVUI6W3ZvaWQgMCwi4oK9Il0sUlVSOlt2b2lkIDAsItGALiJdLFJXRjpbdm9pZCAwLCJSRiIsMF0sU0JEOlt2b2lkIDAsIiQiXSxTRUs6W3ZvaWQgMCwia3IiLDJdLFNHRDpbdm9pZCAwLCIkIl0sU0hQOlt2b2lkIDAsIsKjIl0sU0xMOlt2b2lkIDAsdm9pZCAwLDBdLFNPUzpbdm9pZCAwLHZvaWQgMCwwXSxTUkQ6W3ZvaWQgMCwiJCJdLFNTUDpbdm9pZCAwLCLCoyJdLFNURDpbdm9pZCAwLHZvaWQgMCwwXSxTVE46W3ZvaWQgMCwiRGIiXSxTWVA6W3ZvaWQgMCwiwqMiLDBdLFRIQjpbdm9pZCAwLCLguL8iXSxUTU06W3ZvaWQgMCx2b2lkIDAsMF0sVE5EOlt2b2lkIDAsdm9pZCAwLDNdLFRPUDpbdm9pZCAwLCJUJCJdLFRSTDpbdm9pZCAwLHZvaWQgMCwwXSxUUlk6W3ZvaWQgMCwi4oK6Il0sVFREOlt2b2lkIDAsIiQiXSxUV0Q6WyJOVCQiLCIkIiwyXSxUWlM6W3ZvaWQgMCx2b2lkIDAsMl0sVUFIOlt2b2lkIDAsIuKCtCJdLFVHWDpbdm9pZCAwLHZvaWQgMCwwXSxVU0Q6WyIkIl0sVVlJOlt2b2lkIDAsdm9pZCAwLDBdLFVZVTpbdm9pZCAwLCIkIl0sVVlXOlt2b2lkIDAsdm9pZCAwLDRdLFVaUzpbdm9pZCAwLHZvaWQgMCwyXSxWRUY6W3ZvaWQgMCwiQnMiLDJdLFZORDpbIuKCqyIsdm9pZCAwLDBdLFZVVjpbdm9pZCAwLHZvaWQgMCwwXSxYQUY6WyJGQ0ZBIix2b2lkIDAsMF0sWENEOlsiRUMkIiwiJCJdLFhPRjpbIkNGQSIsdm9pZCAwLDBdLFhQRjpbIkNGUEYiLHZvaWQgMCwwXSxYWFg6WyLCpCJdLFlFUjpbdm9pZCAwLHZvaWQgMCwwXSxaQVI6W3ZvaWQgMCwiUiJdLFpNSzpbdm9pZCAwLHZvaWQgMCwwXSxaTVc6W3ZvaWQgMCwiWksiXSxaV0Q6W3ZvaWQgMCx2b2lkIDAsMF19OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi92YXIgUE0sd00sa00sU00sRE0sUk0sRU07ZnVuY3Rpb24gQU0odCxlKXtyZXR1cm4gTE0oZ2codClbeWcuRGF0ZUZvcm1hdF0sZSl9ZnVuY3Rpb24gVE0odCxlKXtyZXR1cm4gTE0oZ2codClbeWcuVGltZUZvcm1hdF0sZSl9ZnVuY3Rpb24gTk0odCxlKXtyZXR1cm4gTE0oZ2codClbeWcuRGF0ZVRpbWVGb3JtYXRdLGUpfWZ1bmN0aW9uIHpNKHQsZSl7Y29uc3Qgbj1nZyh0KSxvPW5beWcuTnVtYmVyU3ltYm9sc11bZV07aWYodm9pZCAwPT09byl7aWYoZT09PVJNLkN1cnJlbmN5RGVjaW1hbClyZXR1cm4gblt5Zy5OdW1iZXJTeW1ib2xzXVtSTS5EZWNpbWFsXTtpZihlPT09Uk0uQ3VycmVuY3lHcm91cClyZXR1cm4gblt5Zy5OdW1iZXJTeW1ib2xzXVtSTS5Hcm91cF19cmV0dXJuIG99ZnVuY3Rpb24gSU0odCxlKXtyZXR1cm4gZ2codClbeWcuTnVtYmVyRm9ybWF0c11bZV19IShmdW5jdGlvbih0KXt0W3QuRGVjaW1hbD0wXT0iRGVjaW1hbCIsdFt0LlBlcmNlbnQ9MV09IlBlcmNlbnQiLHRbdC5DdXJyZW5jeT0yXT0iQ3VycmVuY3kiLHRbdC5TY2llbnRpZmljPTNdPSJTY2llbnRpZmljIn0pKFBNfHwoUE09e30pKSwoZnVuY3Rpb24odCl7dFt0Llplcm89MF09Ilplcm8iLHRbdC5PbmU9MV09Ik9uZSIsdFt0LlR3bz0yXT0iVHdvIix0W3QuRmV3PTNdPSJGZXciLHRbdC5NYW55PTRdPSJNYW55Iix0W3QuT3RoZXI9NV09Ik90aGVyIn0pKHdNfHwod009e30pKSwoZnVuY3Rpb24odCl7dFt0LkZvcm1hdD0wXT0iRm9ybWF0Iix0W3QuU3RhbmRhbG9uZT0xXT0iU3RhbmRhbG9uZSJ9KShrTXx8KGtNPXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5OYXJyb3c9MF09Ik5hcnJvdyIsdFt0LkFiYnJldmlhdGVkPTFdPSJBYmJyZXZpYXRlZCIsdFt0LldpZGU9Ml09IldpZGUiLHRbdC5TaG9ydD0zXT0iU2hvcnQifSkoU018fChTTT17fSkpLChmdW5jdGlvbih0KXt0W3QuU2hvcnQ9MF09IlNob3J0Iix0W3QuTWVkaXVtPTFdPSJNZWRpdW0iLHRbdC5Mb25nPTJdPSJMb25nIix0W3QuRnVsbD0zXT0iRnVsbCJ9KShETXx8KERNPXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5EZWNpbWFsPTBdPSJEZWNpbWFsIix0W3QuR3JvdXA9MV09Ikdyb3VwIix0W3QuTGlzdD0yXT0iTGlzdCIsdFt0LlBlcmNlbnRTaWduPTNdPSJQZXJjZW50U2lnbiIsdFt0LlBsdXNTaWduPTRdPSJQbHVzU2lnbiIsdFt0Lk1pbnVzU2lnbj01XT0iTWludXNTaWduIix0W3QuRXhwb25lbnRpYWw9Nl09IkV4cG9uZW50aWFsIix0W3QuU3VwZXJzY3JpcHRpbmdFeHBvbmVudD03XT0iU3VwZXJzY3JpcHRpbmdFeHBvbmVudCIsdFt0LlBlck1pbGxlPThdPSJQZXJNaWxsZSIsdFt0WzEvMF09OV09IkluZmluaXR5Iix0W3QuTmFOPTEwXT0iTmFOIix0W3QuVGltZVNlcGFyYXRvcj0xMV09IlRpbWVTZXBhcmF0b3IiLHRbdC5DdXJyZW5jeURlY2ltYWw9MTJdPSJDdXJyZW5jeURlY2ltYWwiLHRbdC5DdXJyZW5jeUdyb3VwPTEzXT0iQ3VycmVuY3lHcm91cCJ9KShSTXx8KFJNPXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5TdW5kYXk9MF09IlN1bmRheSIsdFt0Lk1vbmRheT0xXT0iTW9uZGF5Iix0W3QuVHVlc2RheT0yXT0iVHVlc2RheSIsdFt0LldlZG5lc2RheT0zXT0iV2VkbmVzZGF5Iix0W3QuVGh1cnNkYXk9NF09IlRodXJzZGF5Iix0W3QuRnJpZGF5PTVdPSJGcmlkYXkiLHRbdC5TYXR1cmRheT02XT0iU2F0dXJkYXkifSkoRU18fChFTT17fSkpO2NvbnN0IEhNPWhnO2Z1bmN0aW9uIEZNKHQpe2lmKCF0W3lnLkV4dHJhRGF0YV0pdGhyb3cgbmV3IEVycm9yKGBNaXNzaW5nIGV4dHJhIGxvY2FsZSBkYXRhIGZvciB0aGUgbG9jYWxlICIke3RbeWcuTG9jYWxlSWRdfSIuIFVzZSAicmVnaXN0ZXJMb2NhbGVEYXRhIiB0byBsb2FkIG5ldyBkYXRhLiBTZWUgdGhlICJJMThuIGd1aWRlIiBvbiBhbmd1bGFyLmlvIHRvIGtub3cgbW9yZS5gKX1mdW5jdGlvbiBMTSh0LGUpe2ZvcihsZXQgbj1lO24+LTE7bi0tKWlmKHZvaWQgMCE9PXRbbl0pcmV0dXJuIHRbbl07dGhyb3cgbmV3IEVycm9yKCJMb2NhbGUgZGF0YSBBUEk6IGxvY2FsZSBkYXRhIHVuZGVmaW5lZCIpfWZ1bmN0aW9uIEJNKHQpe2NvbnN0W2Usbl09dC5zcGxpdCgiOiIpO3JldHVybntob3VyczorZSxtaW51dGVzOitufX1mdW5jdGlvbiBWTSh0LGUsbj0iZW4iKXtjb25zdCBvPShmdW5jdGlvbiBpKHQpe3JldHVybiBnZyh0KVt5Zy5DdXJyZW5jaWVzXX0pKG4pW3RdfHxPTVt0XXx8W10sYT1vWzFdO3JldHVybiJuYXJyb3ciPT09ZSYmInN0cmluZyI9PXR5cGVvZiBhP2E6b1swXXx8dH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IGpNPS9eKFxkezR9KS0/KFxkXGQpLT8oXGRcZCkoPzpUKFxkXGQpKD86Oj8oXGRcZCkoPzo6PyhcZFxkKSg/OlwuKFxkKykpPyk/KT8oWnwoWystXSkoXGRcZCk6PyhcZFxkKSk/KT8kLyxVTT17fSxXTT0vKCg/OlteQkVHSExNT1NXWVphYmNkaG1zd3l6J10rKXwoPzonKD86W14nXXwnJykqJyl8KD86R3sxLDV9fHl7MSw0fXxZezEsNH18TXsxLDV9fEx7MSw1fXx3ezEsMn18V3sxfXxkezEsMn18RXsxLDZ9fGN7MSw2fXxhezEsNX18YnsxLDV9fEJ7MSw1fXxoezEsMn18SHsxLDJ9fG17MSwyfXxzezEsMn18U3sxLDN9fHp7MSw0fXxaezEsNX18T3sxLDR9KSkoW1xzXFNdKikvO3ZhciBHTSxZTSxxTTtmdW5jdGlvbiBaTSh0LGUsbixvKXtsZXQgaT0oZnVuY3Rpb24gYSh0KXtpZihzdih0KSlyZXR1cm4gdDtpZigibnVtYmVyIj09dHlwZW9mIHQmJiFpc05hTih0KSlyZXR1cm4gbmV3IERhdGUodCk7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZih0PXQudHJpbSgpLC9eKFxkezR9KC1cZHsxLDJ9KC1cZHsxLDJ9KT8pPykkLy50ZXN0KHQpKXtjb25zdFtlLG49MSxvPTFdPXQuc3BsaXQoIi0iKS5tYXAoKHQ9Pit0KSk7cmV0dXJuIFhNKGUsbi0xLG8pfWNvbnN0IGU9cGFyc2VGbG9hdCh0KTtpZighaXNOYU4odC1lKSlyZXR1cm4gbmV3IERhdGUoZSk7bGV0IG47aWYobj10Lm1hdGNoKGpNKSlyZXR1cm4oZnVuY3Rpb24gZSh0KXtjb25zdCBlPW5ldyBEYXRlKDApO2xldCBuPTAsbz0wO2NvbnN0IGk9dFs4XT9lLnNldFVUQ0Z1bGxZZWFyOmUuc2V0RnVsbFllYXIsYT10WzhdP2Uuc2V0VVRDSG91cnM6ZS5zZXRIb3Vyczt0WzldJiYobj1OdW1iZXIodFs5XSt0WzEwXSksbz1OdW1iZXIodFs5XSt0WzExXSkpO2kuY2FsbChlLE51bWJlcih0WzFdKSxOdW1iZXIodFsyXSktMSxOdW1iZXIodFszXSkpO2NvbnN0IHI9TnVtYmVyKHRbNF18fDApLW4scz1OdW1iZXIodFs1XXx8MCktbyxsPU51bWJlcih0WzZdfHwwKSxjPU1hdGguZmxvb3IoMWUzKnBhcnNlRmxvYXQoIjAuIisodFs3XXx8MCkpKTtyZXR1cm4gYS5jYWxsKGUscixzLGwsYyksZX0pKG4pfWNvbnN0IG49bmV3IERhdGUodCk7aWYoIXN2KG4pKXRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGNvbnZlcnQgIiR7dH0iIGludG8gYSBkYXRlYCk7cmV0dXJuIG59KSh0KTtlPUtNKG4sZSl8fGU7bGV0IHIscz1bXTtmb3IoO2U7KXtpZihyPVdNLmV4ZWMoZSksIXIpe3MucHVzaChlKTticmVha317cz1zLmNvbmNhdChyLnNsaWNlKDEpKTtjb25zdCB0PXMucG9wKCk7aWYoIXQpYnJlYWs7ZT10fX1sZXQgbD1pLmdldFRpbWV6b25lT2Zmc2V0KCk7byYmKGw9cnYobyxsKSxpPShmdW5jdGlvbiBjKHQsZSxuKXtjb25zdCBvPW4/LTE6MSxpPXQuZ2V0VGltZXpvbmVPZmZzZXQoKSxhPXJ2KGUsaSk7cmV0dXJuKGZ1bmN0aW9uIHIodCxlKXtyZXR1cm4odD1uZXcgRGF0ZSh0LmdldFRpbWUoKSkpLnNldE1pbnV0ZXModC5nZXRNaW51dGVzKCkrZSksdH0pKHQsbyooYS1pKSl9KShpLG8sITApKTtsZXQgZD0iIjtyZXR1cm4gcy5mb3JFYWNoKCh0PT57Y29uc3QgZT0oZnVuY3Rpb24gbyh0KXtpZihhdlt0XSlyZXR1cm4gYXZbdF07bGV0IGU7c3dpdGNoKHQpe2Nhc2UiRyI6Y2FzZSJHRyI6Y2FzZSJHR0ciOmU9dHYocU0uRXJhcyxTTS5BYmJyZXZpYXRlZCk7YnJlYWs7Y2FzZSJHR0dHIjplPXR2KHFNLkVyYXMsU00uV2lkZSk7YnJlYWs7Y2FzZSJHR0dHRyI6ZT10dihxTS5FcmFzLFNNLk5hcnJvdyk7YnJlYWs7Y2FzZSJ5IjplPSRNKFlNLkZ1bGxZZWFyLDEsMCwhMSwhMCk7YnJlYWs7Y2FzZSJ5eSI6ZT0kTShZTS5GdWxsWWVhciwyLDAsITAsITApO2JyZWFrO2Nhc2UieXl5IjplPSRNKFlNLkZ1bGxZZWFyLDMsMCwhMSwhMCk7YnJlYWs7Y2FzZSJ5eXl5IjplPSRNKFlNLkZ1bGxZZWFyLDQsMCwhMSwhMCk7YnJlYWs7Y2FzZSJZIjplPWl2KDEpO2JyZWFrO2Nhc2UiWVkiOmU9aXYoMiwhMCk7YnJlYWs7Y2FzZSJZWVkiOmU9aXYoMyk7YnJlYWs7Y2FzZSJZWVlZIjplPWl2KDQpO2JyZWFrO2Nhc2UiTSI6Y2FzZSJMIjplPSRNKFlNLk1vbnRoLDEsMSk7YnJlYWs7Y2FzZSJNTSI6Y2FzZSJMTCI6ZT0kTShZTS5Nb250aCwyLDEpO2JyZWFrO2Nhc2UiTU1NIjplPXR2KHFNLk1vbnRocyxTTS5BYmJyZXZpYXRlZCk7YnJlYWs7Y2FzZSJNTU1NIjplPXR2KHFNLk1vbnRocyxTTS5XaWRlKTticmVhaztjYXNlIk1NTU1NIjplPXR2KHFNLk1vbnRocyxTTS5OYXJyb3cpO2JyZWFrO2Nhc2UiTExMIjplPXR2KHFNLk1vbnRocyxTTS5BYmJyZXZpYXRlZCxrTS5TdGFuZGFsb25lKTticmVhaztjYXNlIkxMTEwiOmU9dHYocU0uTW9udGhzLFNNLldpZGUsa00uU3RhbmRhbG9uZSk7YnJlYWs7Y2FzZSJMTExMTCI6ZT10dihxTS5Nb250aHMsU00uTmFycm93LGtNLlN0YW5kYWxvbmUpO2JyZWFrO2Nhc2UidyI6ZT1vdigxKTticmVhaztjYXNlInd3IjplPW92KDIpO2JyZWFrO2Nhc2UiVyI6ZT1vdigxLCEwKTticmVhaztjYXNlImQiOmU9JE0oWU0uRGF0ZSwxKTticmVhaztjYXNlImRkIjplPSRNKFlNLkRhdGUsMik7YnJlYWs7Y2FzZSJjIjpjYXNlImNjIjplPSRNKFlNLkRheSwxKTticmVhaztjYXNlImNjYyI6ZT10dihxTS5EYXlzLFNNLkFiYnJldmlhdGVkLGtNLlN0YW5kYWxvbmUpO2JyZWFrO2Nhc2UiY2NjYyI6ZT10dihxTS5EYXlzLFNNLldpZGUsa00uU3RhbmRhbG9uZSk7YnJlYWs7Y2FzZSJjY2NjYyI6ZT10dihxTS5EYXlzLFNNLk5hcnJvdyxrTS5TdGFuZGFsb25lKTticmVhaztjYXNlImNjY2NjYyI6ZT10dihxTS5EYXlzLFNNLlNob3J0LGtNLlN0YW5kYWxvbmUpO2JyZWFrO2Nhc2UiRSI6Y2FzZSJFRSI6Y2FzZSJFRUUiOmU9dHYocU0uRGF5cyxTTS5BYmJyZXZpYXRlZCk7YnJlYWs7Y2FzZSJFRUVFIjplPXR2KHFNLkRheXMsU00uV2lkZSk7YnJlYWs7Y2FzZSJFRUVFRSI6ZT10dihxTS5EYXlzLFNNLk5hcnJvdyk7YnJlYWs7Y2FzZSJFRUVFRUUiOmU9dHYocU0uRGF5cyxTTS5TaG9ydCk7YnJlYWs7Y2FzZSJhIjpjYXNlImFhIjpjYXNlImFhYSI6ZT10dihxTS5EYXlQZXJpb2RzLFNNLkFiYnJldmlhdGVkKTticmVhaztjYXNlImFhYWEiOmU9dHYocU0uRGF5UGVyaW9kcyxTTS5XaWRlKTticmVhaztjYXNlImFhYWFhIjplPXR2KHFNLkRheVBlcmlvZHMsU00uTmFycm93KTticmVhaztjYXNlImIiOmNhc2UiYmIiOmNhc2UiYmJiIjplPXR2KHFNLkRheVBlcmlvZHMsU00uQWJicmV2aWF0ZWQsa00uU3RhbmRhbG9uZSwhMCk7YnJlYWs7Y2FzZSJiYmJiIjplPXR2KHFNLkRheVBlcmlvZHMsU00uV2lkZSxrTS5TdGFuZGFsb25lLCEwKTticmVhaztjYXNlImJiYmJiIjplPXR2KHFNLkRheVBlcmlvZHMsU00uTmFycm93LGtNLlN0YW5kYWxvbmUsITApO2JyZWFrO2Nhc2UiQiI6Y2FzZSJCQiI6Y2FzZSJCQkIiOmU9dHYocU0uRGF5UGVyaW9kcyxTTS5BYmJyZXZpYXRlZCxrTS5Gb3JtYXQsITApO2JyZWFrO2Nhc2UiQkJCQiI6ZT10dihxTS5EYXlQZXJpb2RzLFNNLldpZGUsa00uRm9ybWF0LCEwKTticmVhaztjYXNlIkJCQkJCIjplPXR2KHFNLkRheVBlcmlvZHMsU00uTmFycm93LGtNLkZvcm1hdCwhMCk7YnJlYWs7Y2FzZSJoIjplPSRNKFlNLkhvdXJzLDEsLTEyKTticmVhaztjYXNlImhoIjplPSRNKFlNLkhvdXJzLDIsLTEyKTticmVhaztjYXNlIkgiOmU9JE0oWU0uSG91cnMsMSk7YnJlYWs7Y2FzZSJISCI6ZT0kTShZTS5Ib3VycywyKTticmVhaztjYXNlIm0iOmU9JE0oWU0uTWludXRlcywxKTticmVhaztjYXNlIm1tIjplPSRNKFlNLk1pbnV0ZXMsMik7YnJlYWs7Y2FzZSJzIjplPSRNKFlNLlNlY29uZHMsMSk7YnJlYWs7Y2FzZSJzcyI6ZT0kTShZTS5TZWNvbmRzLDIpO2JyZWFrO2Nhc2UiUyI6ZT0kTShZTS5GcmFjdGlvbmFsU2Vjb25kcywxKTticmVhaztjYXNlIlNTIjplPSRNKFlNLkZyYWN0aW9uYWxTZWNvbmRzLDIpO2JyZWFrO2Nhc2UiU1NTIjplPSRNKFlNLkZyYWN0aW9uYWxTZWNvbmRzLDMpO2JyZWFrO2Nhc2UiWiI6Y2FzZSJaWiI6Y2FzZSJaWloiOmU9ZXYoR00uU2hvcnQpO2JyZWFrO2Nhc2UiWlpaWloiOmU9ZXYoR00uRXh0ZW5kZWQpO2JyZWFrO2Nhc2UiTyI6Y2FzZSJPTyI6Y2FzZSJPT08iOmNhc2UieiI6Y2FzZSJ6eiI6Y2FzZSJ6enoiOmU9ZXYoR00uU2hvcnRHTVQpO2JyZWFrO2Nhc2UiT09PTyI6Y2FzZSJaWlpaIjpjYXNlInp6enoiOmU9ZXYoR00uTG9uZyk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gbnVsbH1yZXR1cm4gYXZbdF09ZSxlfSkodCk7ZCs9ZT9lKGksbixsKToiJyciPT09dD8iJyI6dC5yZXBsYWNlKC8oXid8JyQpL2csIiIpLnJlcGxhY2UoLycnL2csIiciKX0pKSxkfWZ1bmN0aW9uIFhNKHQsZSxuKXtjb25zdCBvPW5ldyBEYXRlKDApO3JldHVybiBvLnNldEZ1bGxZZWFyKHQsZSxuKSxvLnNldEhvdXJzKDAsMCwwKSxvfWZ1bmN0aW9uIEtNKHQsZSl7Y29uc3Qgbj0oZnVuY3Rpb24gbyh0KXtyZXR1cm4gZ2codClbeWcuTG9jYWxlSWRdfSkodCk7aWYoVU1bbl09VU1bbl18fHt9LFVNW25dW2VdKXJldHVybiBVTVtuXVtlXTtsZXQgaT0iIjtzd2l0Y2goZSl7Y2FzZSJzaG9ydERhdGUiOmk9QU0odCxETS5TaG9ydCk7YnJlYWs7Y2FzZSJtZWRpdW1EYXRlIjppPUFNKHQsRE0uTWVkaXVtKTticmVhaztjYXNlImxvbmdEYXRlIjppPUFNKHQsRE0uTG9uZyk7YnJlYWs7Y2FzZSJmdWxsRGF0ZSI6aT1BTSh0LERNLkZ1bGwpO2JyZWFrO2Nhc2Uic2hvcnRUaW1lIjppPVRNKHQsRE0uU2hvcnQpO2JyZWFrO2Nhc2UibWVkaXVtVGltZSI6aT1UTSh0LERNLk1lZGl1bSk7YnJlYWs7Y2FzZSJsb25nVGltZSI6aT1UTSh0LERNLkxvbmcpO2JyZWFrO2Nhc2UiZnVsbFRpbWUiOmk9VE0odCxETS5GdWxsKTticmVhaztjYXNlInNob3J0Ijpjb25zdCBlPUtNKHQsInNob3J0VGltZSIpLG49S00odCwic2hvcnREYXRlIik7aT1KTShOTSh0LERNLlNob3J0KSxbZSxuXSk7YnJlYWs7Y2FzZSJtZWRpdW0iOmNvbnN0IG89S00odCwibWVkaXVtVGltZSIpLGE9S00odCwibWVkaXVtRGF0ZSIpO2k9Sk0oTk0odCxETS5NZWRpdW0pLFtvLGFdKTticmVhaztjYXNlImxvbmciOmNvbnN0IHI9S00odCwibG9uZ1RpbWUiKSxzPUtNKHQsImxvbmdEYXRlIik7aT1KTShOTSh0LERNLkxvbmcpLFtyLHNdKTticmVhaztjYXNlImZ1bGwiOmNvbnN0IGw9S00odCwiZnVsbFRpbWUiKSxjPUtNKHQsImZ1bGxEYXRlIik7aT1KTShOTSh0LERNLkZ1bGwpLFtsLGNdKX1yZXR1cm4gaSYmKFVNW25dW2VdPWkpLGl9ZnVuY3Rpb24gSk0odCxlKXtyZXR1cm4gZSYmKHQ9dC5yZXBsYWNlKC9ceyhbXn1dKyl9L2csKGZ1bmN0aW9uKHQsbil7cmV0dXJuIG51bGwhPWUmJm4gaW4gZT9lW25dOnR9KSkpLHR9ZnVuY3Rpb24gUU0odCxlLG49Ii0iLG8saSl7bGV0IGE9IiI7KHQ8MHx8aSYmdDw9MCkmJihpP3Q9MS10Oih0PS10LGE9bikpO2xldCByPVN0cmluZyh0KTtmb3IoO3IubGVuZ3RoPGU7KXI9IjAiK3I7cmV0dXJuIG8mJihyPXIuc3Vic3RyKHIubGVuZ3RoLWUpKSxhK3J9ZnVuY3Rpb24gJE0odCxlLG49MCxvPSExLGk9ITEpe3JldHVybiBmdW5jdGlvbihhLHIpe2xldCBzPShmdW5jdGlvbiBsKHQsZSl7c3dpdGNoKHQpe2Nhc2UgWU0uRnVsbFllYXI6cmV0dXJuIGUuZ2V0RnVsbFllYXIoKTtjYXNlIFlNLk1vbnRoOnJldHVybiBlLmdldE1vbnRoKCk7Y2FzZSBZTS5EYXRlOnJldHVybiBlLmdldERhdGUoKTtjYXNlIFlNLkhvdXJzOnJldHVybiBlLmdldEhvdXJzKCk7Y2FzZSBZTS5NaW51dGVzOnJldHVybiBlLmdldE1pbnV0ZXMoKTtjYXNlIFlNLlNlY29uZHM6cmV0dXJuIGUuZ2V0U2Vjb25kcygpO2Nhc2UgWU0uRnJhY3Rpb25hbFNlY29uZHM6cmV0dXJuIGUuZ2V0TWlsbGlzZWNvbmRzKCk7Y2FzZSBZTS5EYXk6cmV0dXJuIGUuZ2V0RGF5KCk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gRGF0ZVR5cGUgdmFsdWUgIiR7dH0iLmApfX0pKHQsYSk7aWYoKG4+MHx8cz4tbikmJihzKz1uKSx0PT09WU0uSG91cnMpMD09PXMmJi0xMj09PW4mJihzPTEyKTtlbHNlIGlmKHQ9PT1ZTS5GcmFjdGlvbmFsU2Vjb25kcylyZXR1cm4oZnVuY3Rpb24gYyh0LGUpe3JldHVybiBRTSh0LDMpLnN1YnN0cigwLGUpfSkocyxlKTtjb25zdCBkPXpNKHIsUk0uTWludXNTaWduKTtyZXR1cm4gUU0ocyxlLGQsbyxpKX19ZnVuY3Rpb24gdHYodCxlLG49a00uRm9ybWF0LG89ITEpe3JldHVybiBmdW5jdGlvbihpLGEpe3JldHVybihmdW5jdGlvbiByKHQsZSxuLG8saSxhKXtzd2l0Y2gobil7Y2FzZSBxTS5Nb250aHM6cmV0dXJuKGZ1bmN0aW9uIHIodCxlLG4pe2NvbnN0IG89Z2codCksaT1MTShbb1t5Zy5Nb250aHNGb3JtYXRdLG9beWcuTW9udGhzU3RhbmRhbG9uZV1dLGUpO3JldHVybiBMTShpLG4pfSkoZSxpLG8pW3QuZ2V0TW9udGgoKV07Y2FzZSBxTS5EYXlzOnJldHVybihmdW5jdGlvbiBzKHQsZSxuKXtjb25zdCBvPWdnKHQpLGk9TE0oW29beWcuRGF5c0Zvcm1hdF0sb1t5Zy5EYXlzU3RhbmRhbG9uZV1dLGUpO3JldHVybiBMTShpLG4pfSkoZSxpLG8pW3QuZ2V0RGF5KCldO2Nhc2UgcU0uRGF5UGVyaW9kczpjb25zdCByPXQuZ2V0SG91cnMoKSxzPXQuZ2V0TWludXRlcygpO2lmKGEpe2NvbnN0IHQ9KGZ1bmN0aW9uIGwodCl7Y29uc3QgZT1nZyh0KTtyZXR1cm4gRk0oZSksKGVbeWcuRXh0cmFEYXRhXVsyXXx8W10pLm1hcCgodD0+InN0cmluZyI9PXR5cGVvZiB0P0JNKHQpOltCTSh0WzBdKSxCTSh0WzFdKV0pKX0pKGUpLG49KGZ1bmN0aW9uIGModCxlLG4pe2NvbnN0IG89Z2codCk7Rk0obyk7Y29uc3QgaT1MTShbb1t5Zy5FeHRyYURhdGFdWzBdLG9beWcuRXh0cmFEYXRhXVsxXV0sZSl8fFtdO3JldHVybiBMTShpLG4pfHxbXX0pKGUsaSxvKSxhPXQuZmluZEluZGV4KCh0PT57aWYoQXJyYXkuaXNBcnJheSh0KSl7Y29uc3RbZSxuXT10LG89cj49ZS5ob3VycyYmcz49ZS5taW51dGVzLGk9cjxuLmhvdXJzfHxyPT09bi5ob3VycyYmczxuLm1pbnV0ZXM7aWYoZS5ob3VyczxuLmhvdXJzKXtpZihvJiZpKXJldHVybiEwfWVsc2UgaWYob3x8aSlyZXR1cm4hMH1lbHNlIGlmKHQuaG91cnM9PT1yJiZ0Lm1pbnV0ZXM9PT1zKXJldHVybiEwO3JldHVybiExfSkpO2lmKC0xIT09YSlyZXR1cm4gblthXX1yZXR1cm4oZnVuY3Rpb24gZCh0LGUsbil7Y29uc3Qgbz1nZyh0KSxpPUxNKFtvW3lnLkRheVBlcmlvZHNGb3JtYXRdLG9beWcuRGF5UGVyaW9kc1N0YW5kYWxvbmVdXSxlKTtyZXR1cm4gTE0oaSxuKX0pKGUsaSxvKVtyPDEyPzA6MV07Y2FzZSBxTS5FcmFzOnJldHVybihmdW5jdGlvbiBwKHQsZSl7cmV0dXJuIExNKGdnKHQpW3lnLkVyYXNdLGUpfSkoZSxvKVt0LmdldEZ1bGxZZWFyKCk8PTA/MDoxXTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgdW5leHBlY3RlZCB0cmFuc2xhdGlvbiB0eXBlICR7bn1gKX19KShpLGEsdCxlLG4sbyl9fWZ1bmN0aW9uIGV2KHQpe3JldHVybiBmdW5jdGlvbihlLG4sbyl7Y29uc3QgaT0tMSpvLGE9ek0obixSTS5NaW51c1NpZ24pLHI9aT4wP01hdGguZmxvb3IoaS82MCk6TWF0aC5jZWlsKGkvNjApO3N3aXRjaCh0KXtjYXNlIEdNLlNob3J0OnJldHVybihpPj0wPyIrIjoiIikrUU0ociwyLGEpK1FNKE1hdGguYWJzKGklNjApLDIsYSk7Y2FzZSBHTS5TaG9ydEdNVDpyZXR1cm4iR01UIisoaT49MD8iKyI6IiIpK1FNKHIsMSxhKTtjYXNlIEdNLkxvbmc6cmV0dXJuIkdNVCIrKGk+PTA/IisiOiIiKStRTShyLDIsYSkrIjoiK1FNKE1hdGguYWJzKGklNjApLDIsYSk7Y2FzZSBHTS5FeHRlbmRlZDpyZXR1cm4gMD09PW8/IloiOihpPj0wPyIrIjoiIikrUU0ociwyLGEpKyI6IitRTShNYXRoLmFicyhpJTYwKSwyLGEpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHpvbmUgd2lkdGggIiR7dH0iYCl9fX0hKGZ1bmN0aW9uKHQpe3RbdC5TaG9ydD0wXT0iU2hvcnQiLHRbdC5TaG9ydEdNVD0xXT0iU2hvcnRHTVQiLHRbdC5Mb25nPTJdPSJMb25nIix0W3QuRXh0ZW5kZWQ9M109IkV4dGVuZGVkIn0pKEdNfHwoR009e30pKSwoZnVuY3Rpb24odCl7dFt0LkZ1bGxZZWFyPTBdPSJGdWxsWWVhciIsdFt0Lk1vbnRoPTFdPSJNb250aCIsdFt0LkRhdGU9Ml09IkRhdGUiLHRbdC5Ib3Vycz0zXT0iSG91cnMiLHRbdC5NaW51dGVzPTRdPSJNaW51dGVzIix0W3QuU2Vjb25kcz01XT0iU2Vjb25kcyIsdFt0LkZyYWN0aW9uYWxTZWNvbmRzPTZdPSJGcmFjdGlvbmFsU2Vjb25kcyIsdFt0LkRheT03XT0iRGF5In0pKFlNfHwoWU09e30pKSwoZnVuY3Rpb24odCl7dFt0LkRheVBlcmlvZHM9MF09IkRheVBlcmlvZHMiLHRbdC5EYXlzPTFdPSJEYXlzIix0W3QuTW9udGhzPTJdPSJNb250aHMiLHRbdC5FcmFzPTNdPSJFcmFzIn0pKHFNfHwocU09e30pKTtmdW5jdGlvbiBudih0KXtyZXR1cm4gWE0odC5nZXRGdWxsWWVhcigpLHQuZ2V0TW9udGgoKSx0LmdldERhdGUoKSsoNC10LmdldERheSgpKSl9ZnVuY3Rpb24gb3YodCxlPSExKXtyZXR1cm4gZnVuY3Rpb24obixvKXtsZXQgaTtpZihlKXtjb25zdCB0PW5ldyBEYXRlKG4uZ2V0RnVsbFllYXIoKSxuLmdldE1vbnRoKCksMSkuZ2V0RGF5KCktMSxlPW4uZ2V0RGF0ZSgpO2k9MStNYXRoLmZsb29yKChlK3QpLzcpfWVsc2V7Y29uc3QgdD1udihuKSxlPShmdW5jdGlvbiBhKHQpe2NvbnN0IGU9WE0odCwwLDEpLmdldERheSgpO3JldHVybiBYTSh0LDAsMSsoZTw9ND80OjExKS1lKX0pKHQuZ2V0RnVsbFllYXIoKSksbz10LmdldFRpbWUoKS1lLmdldFRpbWUoKTtpPTErTWF0aC5yb3VuZChvLzYwNDhlNSl9cmV0dXJuIFFNKGksdCx6TShvLFJNLk1pbnVzU2lnbikpfX1mdW5jdGlvbiBpdih0LGU9ITEpe3JldHVybiBmdW5jdGlvbihuLG8pe3JldHVybiBRTShudihuKS5nZXRGdWxsWWVhcigpLHQsek0obyxSTS5NaW51c1NpZ24pLGUpfX1jb25zdCBhdj17fTtmdW5jdGlvbiBydih0LGUpe3Q9dC5yZXBsYWNlKC86L2csIiIpO2NvbnN0IG49RGF0ZS5wYXJzZSgiSmFuIDAxLCAxOTcwIDAwOjAwOjAwICIrdCkvNmU0O3JldHVybiBpc05hTihuKT9lOm59ZnVuY3Rpb24gc3YodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBEYXRlJiYhaXNOYU4odC52YWx1ZU9mKCkpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBsdj0vXihcZCspP1wuKChcZCspKC0oXGQrKSk/KT8kLyxjdj0iLiIsZHY9IjAiO2Z1bmN0aW9uIHB2KHQsZSxuLG8saSxhLHI9ITEpe2xldCBzPSIiLGw9ITE7aWYoaXNGaW5pdGUodCkpe2xldCBjPShmdW5jdGlvbiBjKHQpe2xldCBlLG4sbyxpLGEscj1NYXRoLmFicyh0KSsiIixzPTA7KG49ci5pbmRleE9mKGN2KSk+LTEmJihyPXIucmVwbGFjZShjdiwiIikpOyhvPXIuc2VhcmNoKC9lL2kpKT4wPyhuPDAmJihuPW8pLG4rPStyLnNsaWNlKG8rMSkscj1yLnN1YnN0cmluZygwLG8pKTpuPDAmJihuPXIubGVuZ3RoKTtmb3Iobz0wO3IuY2hhckF0KG8pPT09ZHY7bysrKTtpZihvPT09KGE9ci5sZW5ndGgpKWU9WzBdLG49MTtlbHNle2ZvcihhLS07ci5jaGFyQXQoYSk9PT1kdjspYS0tO2ZvcihuLT1vLGU9W10saT0wO288PWE7bysrLGkrKyllW2ldPU51bWJlcihyLmNoYXJBdChvKSl9bj4yMiYmKGU9ZS5zcGxpY2UoMCwyMSkscz1uLTEsbj0xKTtyZXR1cm57ZGlnaXRzOmUsZXhwb25lbnQ6cyxpbnRlZ2VyTGVuOm59fSkodCk7ciYmKGM9KGZ1bmN0aW9uIGQodCl7aWYoMD09PXQuZGlnaXRzWzBdKXJldHVybiB0O2NvbnN0IGU9dC5kaWdpdHMubGVuZ3RoLXQuaW50ZWdlckxlbjt0LmV4cG9uZW50P3QuZXhwb25lbnQrPTI6KDA9PT1lP3QuZGlnaXRzLnB1c2goMCwwKToxPT09ZSYmdC5kaWdpdHMucHVzaCgwKSx0LmludGVnZXJMZW4rPTIpO3JldHVybiB0fSkoYykpO2xldCBkPWUubWluSW50LHA9ZS5taW5GcmFjLG09ZS5tYXhGcmFjO2lmKGEpe2NvbnN0IHQ9YS5tYXRjaChsdik7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKGAke2F9IGlzIG5vdCBhIHZhbGlkIGRpZ2l0IGluZm9gKTtjb25zdCBlPXRbMV0sbj10WzNdLG89dFs1XTtudWxsIT1lJiYoZD1ndihlKSksbnVsbCE9biYmKHA9Z3YobikpLG51bGwhPW8/bT1ndihvKTpudWxsIT1uJiZwPm0mJihtPXApfSEoZnVuY3Rpb24gcCh0LGUsbil7aWYoZT5uKXRocm93IG5ldyBFcnJvcihgVGhlIG1pbmltdW0gbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciBmcmFjdGlvbiAoJHtlfSkgaXMgaGlnaGVyIHRoYW4gdGhlIG1heGltdW0gKCR7bn0pLmApO2xldCBvPXQuZGlnaXRzLGk9by5sZW5ndGgtdC5pbnRlZ2VyTGVuO2NvbnN0IGE9TWF0aC5taW4oTWF0aC5tYXgoZSxpKSxuKTtsZXQgcj1hK3QuaW50ZWdlckxlbixzPW9bcl07aWYocj4wKXtvLnNwbGljZShNYXRoLm1heCh0LmludGVnZXJMZW4scikpO2ZvcihsZXQgdD1yO3Q8by5sZW5ndGg7dCsrKW9bdF09MH1lbHNle2k9TWF0aC5tYXgoMCxpKSx0LmludGVnZXJMZW49MSxvLmxlbmd0aD1NYXRoLm1heCgxLHI9YSsxKSxvWzBdPTA7Zm9yKGxldCB0PTE7dDxyO3QrKylvW3RdPTB9aWYocz49NSlpZihyLTE8MCl7Zm9yKGxldCBlPTA7ZT5yO2UtLSlvLnVuc2hpZnQoMCksdC5pbnRlZ2VyTGVuKys7by51bnNoaWZ0KDEpLHQuaW50ZWdlckxlbisrfWVsc2Ugb1tyLTFdKys7Zm9yKDtpPE1hdGgubWF4KDAsYSk7aSsrKW8ucHVzaCgwKTtsZXQgbD0wIT09YTtjb25zdCBjPWUrdC5pbnRlZ2VyTGVuLGQ9by5yZWR1Y2VSaWdodCgoZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIG9bbl09KGUrPXQpPDEwP2U6ZS0xMCxsJiYoMD09PW9bbl0mJm4+PWM/by5wb3AoKTpsPSExKSxlPj0xMD8xOjB9KSwwKTtkJiYoby51bnNoaWZ0KGQpLHQuaW50ZWdlckxlbisrKX0pKGMscCxtKTtsZXQgZj1jLmRpZ2l0cyx1PWMuaW50ZWdlckxlbjtjb25zdCBnPWMuZXhwb25lbnQ7bGV0IGg9W107Zm9yKGw9Zi5ldmVyeSgodD0+IXQpKTt1PGQ7dSsrKWYudW5zaGlmdCgwKTtmb3IoO3U8MDt1KyspZi51bnNoaWZ0KDApO3U+MD9oPWYuc3BsaWNlKHUsZi5sZW5ndGgpOihoPWYsZj1bMF0pO2NvbnN0IGI9W107Zm9yKGYubGVuZ3RoPj1lLmxnU2l6ZSYmYi51bnNoaWZ0KGYuc3BsaWNlKC1lLmxnU2l6ZSxmLmxlbmd0aCkuam9pbigiIikpO2YubGVuZ3RoPmUuZ1NpemU7KWIudW5zaGlmdChmLnNwbGljZSgtZS5nU2l6ZSxmLmxlbmd0aCkuam9pbigiIikpO2YubGVuZ3RoJiZiLnVuc2hpZnQoZi5qb2luKCIiKSkscz1iLmpvaW4oek0obixvKSksaC5sZW5ndGgmJihzKz16TShuLGkpK2guam9pbigiIikpLGcmJihzKz16TShuLFJNLkV4cG9uZW50aWFsKSsiKyIrZyl9ZWxzZSBzPXpNKG4sUk0uSW5maW5pdHkpO3JldHVybiBzPXQ8MCYmIWw/ZS5uZWdQcmUrcytlLm5lZ1N1ZjplLnBvc1ByZStzK2UucG9zU3VmLHN9ZnVuY3Rpb24gbXYodCxlLG4sbyxpKXtjb25zdCBhPXV2KElNKGUsUE0uQ3VycmVuY3kpLHpNKGUsUk0uTWludXNTaWduKSk7YS5taW5GcmFjPShmdW5jdGlvbiByKHQpe2xldCBlO2NvbnN0IG49T01bdF07cmV0dXJuIG4mJihlPW5bMl0pLCJudW1iZXIiPT10eXBlb2YgZT9lOjJ9KShvKSxhLm1heEZyYWM9YS5taW5GcmFjO3JldHVybiBwdih0LGEsZSxSTS5DdXJyZW5jeUdyb3VwLFJNLkN1cnJlbmN5RGVjaW1hbCxpKS5yZXBsYWNlKCLCpCIsbikucmVwbGFjZSgiwqQiLCIiKS50cmltKCl9ZnVuY3Rpb24gZnYodCxlLG4pe3JldHVybiBwdih0LHV2KElNKGUsUE0uRGVjaW1hbCksek0oZSxSTS5NaW51c1NpZ24pKSxlLFJNLkdyb3VwLFJNLkRlY2ltYWwsbil9ZnVuY3Rpb24gdXYodCxlPSItIil7Y29uc3Qgbj17bWluSW50OjEsbWluRnJhYzowLG1heEZyYWM6MCxwb3NQcmU6IiIscG9zU3VmOiIiLG5lZ1ByZToiIixuZWdTdWY6IiIsZ1NpemU6MCxsZ1NpemU6MH0sbz10LnNwbGl0KCI7IiksaT1vWzBdLGE9b1sxXSxyPS0xIT09aS5pbmRleE9mKGN2KT9pLnNwbGl0KGN2KTpbaS5zdWJzdHJpbmcoMCxpLmxhc3RJbmRleE9mKGR2KSsxKSxpLnN1YnN0cmluZyhpLmxhc3RJbmRleE9mKGR2KSsxKV0scz1yWzBdLGw9clsxXXx8IiI7bi5wb3NQcmU9cy5zdWJzdHIoMCxzLmluZGV4T2YoIiMiKSk7Zm9yKGxldCB0PTA7dDxsLmxlbmd0aDt0Kyspe2NvbnN0IGU9bC5jaGFyQXQodCk7ZT09PWR2P24ubWluRnJhYz1uLm1heEZyYWM9dCsxOiIjIj09PWU/bi5tYXhGcmFjPXQrMTpuLnBvc1N1Zis9ZX1jb25zdCBjPXMuc3BsaXQoIiwiKTtpZihuLmdTaXplPWNbMV0/Y1sxXS5sZW5ndGg6MCxuLmxnU2l6ZT1jWzJdfHxjWzFdPyhjWzJdfHxjWzFdKS5sZW5ndGg6MCxhKXtjb25zdCB0PWkubGVuZ3RoLW4ucG9zUHJlLmxlbmd0aC1uLnBvc1N1Zi5sZW5ndGgsZT1hLmluZGV4T2YoIiMiKTtuLm5lZ1ByZT1hLnN1YnN0cigwLGUpLnJlcGxhY2UoLycvZywiIiksbi5uZWdTdWY9YS5zdWJzdHIoZSt0KS5yZXBsYWNlKC8nL2csIiIpfWVsc2Ugbi5uZWdQcmU9ZStuLnBvc1ByZSxuLm5lZ1N1Zj1uLnBvc1N1ZjtyZXR1cm4gbn1mdW5jdGlvbiBndih0KXtjb25zdCBlPXBhcnNlSW50KHQpO2lmKGlzTmFOKGUpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBpbnRlZ2VyIGxpdGVyYWwgd2hlbiBwYXJzaW5nICIrdCk7cmV0dXJuIGV9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIGh2e31mdW5jdGlvbiBidih0LGUsbixvKXtsZXQgaT1gPSR7dH1gO2lmKGUuaW5kZXhPZihpKT4tMSlyZXR1cm4gaTtpZihpPW4uZ2V0UGx1cmFsQ2F0ZWdvcnkodCxvKSxlLmluZGV4T2YoaSk+LTEpcmV0dXJuIGk7aWYoZS5pbmRleE9mKCJvdGhlciIpPi0xKXJldHVybiJvdGhlciI7dGhyb3cgbmV3IEVycm9yKGBObyBwbHVyYWwgbWVzc2FnZSBmb3VuZCBmb3IgdmFsdWUgIiR7dH0iYCl9Y2xhc3MgeXYgZXh0ZW5kcyBodntjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMubG9jYWxlPXR9Z2V0UGx1cmFsQ2F0ZWdvcnkodCxlKXtzd2l0Y2goSE0oZXx8dGhpcy5sb2NhbGUpKHQpKXtjYXNlIHdNLlplcm86cmV0dXJuInplcm8iO2Nhc2Ugd00uT25lOnJldHVybiJvbmUiO2Nhc2Ugd00uVHdvOnJldHVybiJ0d28iO2Nhc2Ugd00uRmV3OnJldHVybiJmZXciO2Nhc2Ugd00uTWFueTpyZXR1cm4ibWFueSI7ZGVmYXVsdDpyZXR1cm4ib3RoZXIifX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiBfdih0LGUpe2U9ZW5jb2RlVVJJQ29tcG9uZW50KGUpO2Zvcihjb25zdCBuIG9mIHQuc3BsaXQoIjsiKSl7Y29uc3QgdD1uLmluZGV4T2YoIj0iKSxbbyxpXT0tMT09dD9bbiwiIl06W24uc2xpY2UoMCx0KSxuLnNsaWNlKHQrMSldO2lmKG8udHJpbSgpPT09ZSlyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGkpfXJldHVybiBudWxsfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi95di7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eXYpKFRyKFFfKSl9LHl2Lsm1cHJvdj1Tbih7dG9rZW46eXYsZmFjdG9yeTp5di7JtWZhY30pLHl2LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1FfXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih5dixbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1FfXX1dfV19KSxudWxsKTtjbGFzcyBDdntjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLl9pdGVyYWJsZURpZmZlcnM9dCx0aGlzLl9rZXlWYWx1ZURpZmZlcnM9ZSx0aGlzLl9uZ0VsPW4sdGhpcy5fcmVuZGVyZXI9byx0aGlzLl9pdGVyYWJsZURpZmZlcj1udWxsLHRoaXMuX2tleVZhbHVlRGlmZmVyPW51bGwsdGhpcy5faW5pdGlhbENsYXNzZXM9W10sdGhpcy5fcmF3Q2xhc3M9bnVsbH1zZXQga2xhc3ModCl7dGhpcy5fcmVtb3ZlQ2xhc3Nlcyh0aGlzLl9pbml0aWFsQ2xhc3NlcyksdGhpcy5faW5pdGlhbENsYXNzZXM9InN0cmluZyI9PXR5cGVvZiB0P3Quc3BsaXQoL1xzKy8pOltdLHRoaXMuX2FwcGx5Q2xhc3Nlcyh0aGlzLl9pbml0aWFsQ2xhc3NlcyksdGhpcy5fYXBwbHlDbGFzc2VzKHRoaXMuX3Jhd0NsYXNzKX1zZXQgbmdDbGFzcyh0KXt0aGlzLl9yZW1vdmVDbGFzc2VzKHRoaXMuX3Jhd0NsYXNzKSx0aGlzLl9hcHBseUNsYXNzZXModGhpcy5faW5pdGlhbENsYXNzZXMpLHRoaXMuX2l0ZXJhYmxlRGlmZmVyPW51bGwsdGhpcy5fa2V5VmFsdWVEaWZmZXI9bnVsbCx0aGlzLl9yYXdDbGFzcz0ic3RyaW5nIj09dHlwZW9mIHQ/dC5zcGxpdCgvXHMrLyk6dCx0aGlzLl9yYXdDbGFzcyYmKGRtKHRoaXMuX3Jhd0NsYXNzKT90aGlzLl9pdGVyYWJsZURpZmZlcj10aGlzLl9pdGVyYWJsZURpZmZlcnMuZmluZCh0aGlzLl9yYXdDbGFzcykuY3JlYXRlKCk6dGhpcy5fa2V5VmFsdWVEaWZmZXI9dGhpcy5fa2V5VmFsdWVEaWZmZXJzLmZpbmQodGhpcy5fcmF3Q2xhc3MpLmNyZWF0ZSgpKX1uZ0RvQ2hlY2soKXtpZih0aGlzLl9pdGVyYWJsZURpZmZlcil7Y29uc3QgdD10aGlzLl9pdGVyYWJsZURpZmZlci5kaWZmKHRoaXMuX3Jhd0NsYXNzKTt0JiZ0aGlzLl9hcHBseUl0ZXJhYmxlQ2hhbmdlcyh0KX1lbHNlIGlmKHRoaXMuX2tleVZhbHVlRGlmZmVyKXtjb25zdCB0PXRoaXMuX2tleVZhbHVlRGlmZmVyLmRpZmYodGhpcy5fcmF3Q2xhc3MpO3QmJnRoaXMuX2FwcGx5S2V5VmFsdWVDaGFuZ2VzKHQpfX1fYXBwbHlLZXlWYWx1ZUNoYW5nZXModCl7dC5mb3JFYWNoQWRkZWRJdGVtKCh0PT50aGlzLl90b2dnbGVDbGFzcyh0LmtleSx0LmN1cnJlbnRWYWx1ZSkpKSx0LmZvckVhY2hDaGFuZ2VkSXRlbSgodD0+dGhpcy5fdG9nZ2xlQ2xhc3ModC5rZXksdC5jdXJyZW50VmFsdWUpKSksdC5mb3JFYWNoUmVtb3ZlZEl0ZW0oKHQ9Pnt0LnByZXZpb3VzVmFsdWUmJnRoaXMuX3RvZ2dsZUNsYXNzKHQua2V5LCExKX0pKX1fYXBwbHlJdGVyYWJsZUNoYW5nZXModCl7dC5mb3JFYWNoQWRkZWRJdGVtKCh0PT57aWYoInN0cmluZyIhPXR5cGVvZiB0Lml0ZW0pdGhyb3cgbmV3IEVycm9yKGBOZ0NsYXNzIGNhbiBvbmx5IHRvZ2dsZSBDU1MgY2xhc3NlcyBleHByZXNzZWQgYXMgc3RyaW5ncywgZ290ICR7S2UodC5pdGVtKX1gKTt0aGlzLl90b2dnbGVDbGFzcyh0Lml0ZW0sITApfSkpLHQuZm9yRWFjaFJlbW92ZWRJdGVtKCh0PT50aGlzLl90b2dnbGVDbGFzcyh0Lml0ZW0sITEpKSl9X2FwcGx5Q2xhc3Nlcyh0KXt0JiYoQXJyYXkuaXNBcnJheSh0KXx8dCBpbnN0YW5jZW9mIFNldD90LmZvckVhY2goKHQ9PnRoaXMuX3RvZ2dsZUNsYXNzKHQsITApKSk6T2JqZWN0LmtleXModCkuZm9yRWFjaCgoZT0+dGhpcy5fdG9nZ2xlQ2xhc3MoZSwhIXRbZV0pKSkpfV9yZW1vdmVDbGFzc2VzKHQpe3QmJihBcnJheS5pc0FycmF5KHQpfHx0IGluc3RhbmNlb2YgU2V0P3QuZm9yRWFjaCgodD0+dGhpcy5fdG9nZ2xlQ2xhc3ModCwhMSkpKTpPYmplY3Qua2V5cyh0KS5mb3JFYWNoKCh0PT50aGlzLl90b2dnbGVDbGFzcyh0LCExKSkpKX1fdG9nZ2xlQ2xhc3ModCxlKXsodD10LnRyaW0oKSkmJnQuc3BsaXQoL1xzKy9nKS5mb3JFYWNoKCh0PT57ZT90aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9uZ0VsLm5hdGl2ZUVsZW1lbnQsdCk6dGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5fbmdFbC5uYXRpdmVFbGVtZW50LHQpfSkpfX1Ddi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Q3YpKGdmKGhiKSxnZih5YiksZ2YoS2gpLGdmKCRoKSl9LEN2Lsm1ZGlyPWhvKHt0eXBlOkN2LHNlbGVjdG9yczpbWyIiLCJuZ0NsYXNzIiwiIl1dLGlucHV0czp7a2xhc3M6WyJjbGFzcyIsImtsYXNzIl0sbmdDbGFzczoibmdDbGFzcyJ9fSksQ3YuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpoYn0se3R5cGU6eWJ9LHt0eXBlOktofSx7dHlwZTokaH1dLEN2LnByb3BEZWNvcmF0b3JzPXtrbGFzczpbe3R5cGU6Ul8sYXJnczpbImNsYXNzIl19XSxuZ0NsYXNzOlt7dHlwZTpSXyxhcmdzOlsibmdDbGFzcyJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ3YsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW25nQ2xhc3NdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmhifSx7dHlwZTp5Yn0se3R5cGU6S2h9LHt0eXBlOiRofV19KSx7a2xhc3M6W3t0eXBlOlJfLGFyZ3M6WyJjbGFzcyJdfV0sbmdDbGFzczpbe3R5cGU6Ul8sYXJnczpbIm5nQ2xhc3MiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBNdntjb25zdHJ1Y3Rvcih0KXt0aGlzLl92aWV3Q29udGFpbmVyUmVmPXQsdGhpcy5fY29tcG9uZW50UmVmPW51bGwsdGhpcy5fbW9kdWxlUmVmPW51bGx9bmdPbkNoYW5nZXModCl7aWYodGhpcy5fdmlld0NvbnRhaW5lclJlZi5jbGVhcigpLHRoaXMuX2NvbXBvbmVudFJlZj1udWxsLHRoaXMubmdDb21wb25lbnRPdXRsZXQpe2NvbnN0IGU9dGhpcy5uZ0NvbXBvbmVudE91dGxldEluamVjdG9yfHx0aGlzLl92aWV3Q29udGFpbmVyUmVmLnBhcmVudEluamVjdG9yO2lmKHQubmdDb21wb25lbnRPdXRsZXROZ01vZHVsZUZhY3RvcnkpaWYodGhpcy5fbW9kdWxlUmVmJiZ0aGlzLl9tb2R1bGVSZWYuZGVzdHJveSgpLHRoaXMubmdDb21wb25lbnRPdXRsZXROZ01vZHVsZUZhY3Rvcnkpe2NvbnN0IHQ9ZS5nZXQoemIpO3RoaXMuX21vZHVsZVJlZj10aGlzLm5nQ29tcG9uZW50T3V0bGV0TmdNb2R1bGVGYWN0b3J5LmNyZWF0ZSh0LmluamVjdG9yKX1lbHNlIHRoaXMuX21vZHVsZVJlZj1udWxsO2NvbnN0IG49KHRoaXMuX21vZHVsZVJlZj90aGlzLl9tb2R1bGVSZWYuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOmUuZ2V0KEdoKSkucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5uZ0NvbXBvbmVudE91dGxldCk7dGhpcy5fY29tcG9uZW50UmVmPXRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KG4sdGhpcy5fdmlld0NvbnRhaW5lclJlZi5sZW5ndGgsZSx0aGlzLm5nQ29tcG9uZW50T3V0bGV0Q29udGVudCl9fW5nT25EZXN0cm95KCl7dGhpcy5fbW9kdWxlUmVmJiZ0aGlzLl9tb2R1bGVSZWYuZGVzdHJveSgpfX1Ndi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TXYpKGdmKEZiKSl9LE12Lsm1ZGlyPWhvKHt0eXBlOk12LHNlbGVjdG9yczpbWyIiLCJuZ0NvbXBvbmVudE91dGxldCIsIiJdXSxpbnB1dHM6e25nQ29tcG9uZW50T3V0bGV0OiJuZ0NvbXBvbmVudE91dGxldCIsbmdDb21wb25lbnRPdXRsZXRJbmplY3RvcjoibmdDb21wb25lbnRPdXRsZXRJbmplY3RvciIsbmdDb21wb25lbnRPdXRsZXRDb250ZW50OiJuZ0NvbXBvbmVudE91dGxldENvbnRlbnQiLG5nQ29tcG9uZW50T3V0bGV0TmdNb2R1bGVGYWN0b3J5OiJuZ0NvbXBvbmVudE91dGxldE5nTW9kdWxlRmFjdG9yeSJ9LGZlYXR1cmVzOltxb119KSxNdi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkZifV0sTXYucHJvcERlY29yYXRvcnM9e25nQ29tcG9uZW50T3V0bGV0Olt7dHlwZTpSX31dLG5nQ29tcG9uZW50T3V0bGV0SW5qZWN0b3I6W3t0eXBlOlJffV0sbmdDb21wb25lbnRPdXRsZXRDb250ZW50Olt7dHlwZTpSX31dLG5nQ29tcG9uZW50T3V0bGV0TmdNb2R1bGVGYWN0b3J5Olt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE12LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltuZ0NvbXBvbmVudE91dGxldF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RmJ9XX0pLHtuZ0NvbXBvbmVudE91dGxldDpbe3R5cGU6Ul99XSxuZ0NvbXBvbmVudE91dGxldEluamVjdG9yOlt7dHlwZTpSX31dLG5nQ29tcG9uZW50T3V0bGV0Q29udGVudDpbe3R5cGU6Ul99XSxuZ0NvbXBvbmVudE91dGxldE5nTW9kdWxlRmFjdG9yeTpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgdnZ7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy4kaW1wbGljaXQ9dCx0aGlzLm5nRm9yT2Y9ZSx0aGlzLmluZGV4PW4sdGhpcy5jb3VudD1vfWdldCBmaXJzdCgpe3JldHVybiAwPT09dGhpcy5pbmRleH1nZXQgbGFzdCgpe3JldHVybiB0aGlzLmluZGV4PT09dGhpcy5jb3VudC0xfWdldCBldmVuKCl7cmV0dXJuIHRoaXMuaW5kZXglMj09MH1nZXQgb2RkKCl7cmV0dXJuIXRoaXMuZXZlbn19Y2xhc3MgeHZ7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuX3ZpZXdDb250YWluZXI9dCx0aGlzLl90ZW1wbGF0ZT1lLHRoaXMuX2RpZmZlcnM9bix0aGlzLl9uZ0Zvck9mPW51bGwsdGhpcy5fbmdGb3JPZkRpcnR5PSEwLHRoaXMuX2RpZmZlcj1udWxsfXNldCBuZ0Zvck9mKHQpe3RoaXMuX25nRm9yT2Y9dCx0aGlzLl9uZ0Zvck9mRGlydHk9ITB9c2V0IG5nRm9yVHJhY2tCeSh0KXsidW5kZWZpbmVkIiE9dHlwZW9mIG5nRGV2TW9kZSYmIW5nRGV2TW9kZXx8bnVsbD09dHx8ImZ1bmN0aW9uIj09dHlwZW9mIHR8fGNvbnNvbGUmJmNvbnNvbGUud2FybiYmY29uc29sZS53YXJuKGB0cmFja0J5IG11c3QgYmUgYSBmdW5jdGlvbiwgYnV0IHJlY2VpdmVkICR7SlNPTi5zdHJpbmdpZnkodCl9LiBTZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb21tb24vTmdGb3JPZiNjaGFuZ2UtcHJvcGFnYXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksdGhpcy5fdHJhY2tCeUZuPXR9Z2V0IG5nRm9yVHJhY2tCeSgpe3JldHVybiB0aGlzLl90cmFja0J5Rm59c2V0IG5nRm9yVGVtcGxhdGUodCl7dCYmKHRoaXMuX3RlbXBsYXRlPXQpfW5nRG9DaGVjaygpe2lmKHRoaXMuX25nRm9yT2ZEaXJ0eSl7dGhpcy5fbmdGb3JPZkRpcnR5PSExO2NvbnN0IHQ9dGhpcy5fbmdGb3JPZjtpZighdGhpcy5fZGlmZmVyJiZ0KXRyeXt0aGlzLl9kaWZmZXI9dGhpcy5fZGlmZmVycy5maW5kKHQpLmNyZWF0ZSh0aGlzLm5nRm9yVHJhY2tCeSl9Y2F0Y2goZSl7dGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBhIGRpZmZlciBzdXBwb3J0aW5nIG9iamVjdCAnJHt0fScgb2YgdHlwZSAnJHsoZnVuY3Rpb24gbih0KXtyZXR1cm4gdC5uYW1lfHx0eXBlb2YgdH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0KX0nLiBOZ0ZvciBvbmx5IHN1cHBvcnRzIGJpbmRpbmcgdG8gSXRlcmFibGVzIHN1Y2ggYXMgQXJyYXlzLmApfX1pZih0aGlzLl9kaWZmZXIpe2NvbnN0IHQ9dGhpcy5fZGlmZmVyLmRpZmYodGhpcy5fbmdGb3JPZik7dCYmdGhpcy5fYXBwbHlDaGFuZ2VzKHQpfX1fYXBwbHlDaGFuZ2VzKHQpe2NvbnN0IGU9W107dC5mb3JFYWNoT3BlcmF0aW9uKCgodCxuLG8pPT57aWYobnVsbD09dC5wcmV2aW91c0luZGV4KXtjb25zdCBuPXRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX3RlbXBsYXRlLG5ldyB2dihudWxsLHRoaXMuX25nRm9yT2YsLTEsLTEpLG51bGw9PT1vP3ZvaWQgMDpvKSxpPW5ldyBPdih0LG4pO2UucHVzaChpKX1lbHNlIGlmKG51bGw9PW8pdGhpcy5fdmlld0NvbnRhaW5lci5yZW1vdmUobnVsbD09PW4/dm9pZCAwOm4pO2Vsc2UgaWYobnVsbCE9PW4pe2NvbnN0IGk9dGhpcy5fdmlld0NvbnRhaW5lci5nZXQobik7dGhpcy5fdmlld0NvbnRhaW5lci5tb3ZlKGksbyk7Y29uc3QgYT1uZXcgT3YodCxpKTtlLnB1c2goYSl9fSkpO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXRoaXMuX3BlclZpZXdDaGFuZ2UoZVt0XS52aWV3LGVbdF0ucmVjb3JkKTtmb3IobGV0IHQ9MCxlPXRoaXMuX3ZpZXdDb250YWluZXIubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IG49dGhpcy5fdmlld0NvbnRhaW5lci5nZXQodCk7bi5jb250ZXh0LmluZGV4PXQsbi5jb250ZXh0LmNvdW50PWUsbi5jb250ZXh0Lm5nRm9yT2Y9dGhpcy5fbmdGb3JPZn10LmZvckVhY2hJZGVudGl0eUNoYW5nZSgodD0+e3RoaXMuX3ZpZXdDb250YWluZXIuZ2V0KHQuY3VycmVudEluZGV4KS5jb250ZXh0LiRpbXBsaWNpdD10Lml0ZW19KSl9X3BlclZpZXdDaGFuZ2UodCxlKXt0LmNvbnRleHQuJGltcGxpY2l0PWUuaXRlbX1zdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZCh0LGUpe3JldHVybiEwfX14di7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eHYpKGdmKEZiKSxnZihFYiksZ2YoaGIpKX0seHYuybVkaXI9aG8oe3R5cGU6eHYsc2VsZWN0b3JzOltbIiIsIm5nRm9yIiwiIiwibmdGb3JPZiIsIiJdXSxpbnB1dHM6e25nRm9yT2Y6Im5nRm9yT2YiLG5nRm9yVHJhY2tCeToibmdGb3JUcmFja0J5IixuZ0ZvclRlbXBsYXRlOiJuZ0ZvclRlbXBsYXRlIn19KSx4di5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkZifSx7dHlwZTpFYn0se3R5cGU6aGJ9XSx4di5wcm9wRGVjb3JhdG9ycz17bmdGb3JPZjpbe3R5cGU6Ul99XSxuZ0ZvclRyYWNrQnk6W3t0eXBlOlJffV0sbmdGb3JUZW1wbGF0ZTpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4dixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbmdGb3JdW25nRm9yT2ZdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkZifSx7dHlwZTpFYn0se3R5cGU6aGJ9XX0pLHtuZ0Zvck9mOlt7dHlwZTpSX31dLG5nRm9yVHJhY2tCeTpbe3R5cGU6Ul99XSxuZ0ZvclRlbXBsYXRlOlt7dHlwZTpSX31dfSk7Y2xhc3MgT3Z7Y29uc3RydWN0b3IodCxlKXt0aGlzLnJlY29yZD10LHRoaXMudmlldz1lfX1jbGFzcyBQdntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX3ZpZXdDb250YWluZXI9dCx0aGlzLl9jb250ZXh0PW5ldyB3dix0aGlzLl90aGVuVGVtcGxhdGVSZWY9bnVsbCx0aGlzLl9lbHNlVGVtcGxhdGVSZWY9bnVsbCx0aGlzLl90aGVuVmlld1JlZj1udWxsLHRoaXMuX2Vsc2VWaWV3UmVmPW51bGwsdGhpcy5fdGhlblRlbXBsYXRlUmVmPWV9c2V0IG5nSWYodCl7dGhpcy5fY29udGV4dC4kaW1wbGljaXQ9dGhpcy5fY29udGV4dC5uZ0lmPXQsdGhpcy5fdXBkYXRlVmlldygpfXNldCBuZ0lmVGhlbih0KXtrdigibmdJZlRoZW4iLHQpLHRoaXMuX3RoZW5UZW1wbGF0ZVJlZj10LHRoaXMuX3RoZW5WaWV3UmVmPW51bGwsdGhpcy5fdXBkYXRlVmlldygpfXNldCBuZ0lmRWxzZSh0KXtrdigibmdJZkVsc2UiLHQpLHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZj10LHRoaXMuX2Vsc2VWaWV3UmVmPW51bGwsdGhpcy5fdXBkYXRlVmlldygpfV91cGRhdGVWaWV3KCl7dGhpcy5fY29udGV4dC4kaW1wbGljaXQ/dGhpcy5fdGhlblZpZXdSZWZ8fCh0aGlzLl92aWV3Q29udGFpbmVyLmNsZWFyKCksdGhpcy5fZWxzZVZpZXdSZWY9bnVsbCx0aGlzLl90aGVuVGVtcGxhdGVSZWYmJih0aGlzLl90aGVuVmlld1JlZj10aGlzLl92aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl90aGVuVGVtcGxhdGVSZWYsdGhpcy5fY29udGV4dCkpKTp0aGlzLl9lbHNlVmlld1JlZnx8KHRoaXMuX3ZpZXdDb250YWluZXIuY2xlYXIoKSx0aGlzLl90aGVuVmlld1JlZj1udWxsLHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZiYmKHRoaXMuX2Vsc2VWaWV3UmVmPXRoaXMuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX2Vsc2VUZW1wbGF0ZVJlZix0aGlzLl9jb250ZXh0KSkpfXN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkKHQsZSl7cmV0dXJuITB9fVB2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxQdikoZ2YoRmIpLGdmKEViKSl9LFB2Lsm1ZGlyPWhvKHt0eXBlOlB2LHNlbGVjdG9yczpbWyIiLCJuZ0lmIiwiIl1dLGlucHV0czp7bmdJZjoibmdJZiIsbmdJZlRoZW46Im5nSWZUaGVuIixuZ0lmRWxzZToibmdJZkVsc2UifX0pLFB2LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RmJ9LHt0eXBlOkVifV0sUHYucHJvcERlY29yYXRvcnM9e25nSWY6W3t0eXBlOlJffV0sbmdJZlRoZW46W3t0eXBlOlJffV0sbmdJZkVsc2U6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUHYsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW25nSWZdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkZifSx7dHlwZTpFYn1dfSkse25nSWY6W3t0eXBlOlJffV0sbmdJZlRoZW46W3t0eXBlOlJffV0sbmdJZkVsc2U6W3t0eXBlOlJffV19KTtjbGFzcyB3dntjb25zdHJ1Y3Rvcigpe3RoaXMuJGltcGxpY2l0PW51bGwsdGhpcy5uZ0lmPW51bGx9fWZ1bmN0aW9uIGt2KHQsZSl7aWYoISEoZSYmIWUuY3JlYXRlRW1iZWRkZWRWaWV3KSl0aHJvdyBuZXcgRXJyb3IoYCR7dH0gbXVzdCBiZSBhIFRlbXBsYXRlUmVmLCBidXQgcmVjZWl2ZWQgJyR7S2UoZSl9Jy5gKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgU3Z7Y29uc3RydWN0b3IodCxlKXt0aGlzLl92aWV3Q29udGFpbmVyUmVmPXQsdGhpcy5fdGVtcGxhdGVSZWY9ZSx0aGlzLl9jcmVhdGVkPSExfWNyZWF0ZSgpe3RoaXMuX2NyZWF0ZWQ9ITAsdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5fdGVtcGxhdGVSZWYpfWRlc3Ryb3koKXt0aGlzLl9jcmVhdGVkPSExLHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY2xlYXIoKX1lbmZvcmNlU3RhdGUodCl7dCYmIXRoaXMuX2NyZWF0ZWQ/dGhpcy5jcmVhdGUoKTohdCYmdGhpcy5fY3JlYXRlZCYmdGhpcy5kZXN0cm95KCl9fWNsYXNzIER2e2NvbnN0cnVjdG9yKCl7dGhpcy5fZGVmYXVsdFVzZWQ9ITEsdGhpcy5fY2FzZUNvdW50PTAsdGhpcy5fbGFzdENhc2VDaGVja0luZGV4PTAsdGhpcy5fbGFzdENhc2VzTWF0Y2hlZD0hMX1zZXQgbmdTd2l0Y2godCl7dGhpcy5fbmdTd2l0Y2g9dCwwPT09dGhpcy5fY2FzZUNvdW50JiZ0aGlzLl91cGRhdGVEZWZhdWx0Q2FzZXMoITApfV9hZGRDYXNlKCl7cmV0dXJuIHRoaXMuX2Nhc2VDb3VudCsrfV9hZGREZWZhdWx0KHQpe3RoaXMuX2RlZmF1bHRWaWV3c3x8KHRoaXMuX2RlZmF1bHRWaWV3cz1bXSksdGhpcy5fZGVmYXVsdFZpZXdzLnB1c2godCl9X21hdGNoQ2FzZSh0KXtjb25zdCBlPXQ9PXRoaXMuX25nU3dpdGNoO3JldHVybiB0aGlzLl9sYXN0Q2FzZXNNYXRjaGVkPXRoaXMuX2xhc3RDYXNlc01hdGNoZWR8fGUsdGhpcy5fbGFzdENhc2VDaGVja0luZGV4KyssdGhpcy5fbGFzdENhc2VDaGVja0luZGV4PT09dGhpcy5fY2FzZUNvdW50JiYodGhpcy5fdXBkYXRlRGVmYXVsdENhc2VzKCF0aGlzLl9sYXN0Q2FzZXNNYXRjaGVkKSx0aGlzLl9sYXN0Q2FzZUNoZWNrSW5kZXg9MCx0aGlzLl9sYXN0Q2FzZXNNYXRjaGVkPSExKSxlfV91cGRhdGVEZWZhdWx0Q2FzZXModCl7aWYodGhpcy5fZGVmYXVsdFZpZXdzJiZ0IT09dGhpcy5fZGVmYXVsdFVzZWQpe3RoaXMuX2RlZmF1bHRVc2VkPXQ7Zm9yKGxldCBlPTA7ZTx0aGlzLl9kZWZhdWx0Vmlld3MubGVuZ3RoO2UrKyl7dGhpcy5fZGVmYXVsdFZpZXdzW2VdLmVuZm9yY2VTdGF0ZSh0KX19fX1Edi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RHYpfSxEdi7JtWRpcj1obyh7dHlwZTpEdixzZWxlY3RvcnM6W1siIiwibmdTd2l0Y2giLCIiXV0saW5wdXRzOntuZ1N3aXRjaDoibmdTd2l0Y2gifX0pLER2LnByb3BEZWNvcmF0b3JzPXtuZ1N3aXRjaDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihEdixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbmdTd2l0Y2hdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSx7bmdTd2l0Y2g6W3t0eXBlOlJffV19KTtjbGFzcyBSdntjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5uZ1N3aXRjaD1uLCJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlfHxufHxBdigibmdTd2l0Y2hDYXNlIiwiTmdTd2l0Y2hDYXNlIiksbi5fYWRkQ2FzZSgpLHRoaXMuX3ZpZXc9bmV3IFN2KHQsZSl9bmdEb0NoZWNrKCl7dGhpcy5fdmlldy5lbmZvcmNlU3RhdGUodGhpcy5uZ1N3aXRjaC5fbWF0Y2hDYXNlKHRoaXMubmdTd2l0Y2hDYXNlKSl9fVJ2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxSdikoZ2YoRmIpLGdmKEViKSxnZihEdiw5KSl9LFJ2Lsm1ZGlyPWhvKHt0eXBlOlJ2LHNlbGVjdG9yczpbWyIiLCJuZ1N3aXRjaENhc2UiLCIiXV0saW5wdXRzOntuZ1N3aXRjaENhc2U6Im5nU3dpdGNoQ2FzZSJ9fSksUnYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpGYn0se3R5cGU6RWJ9LHt0eXBlOkR2LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn1dfV0sUnYucHJvcERlY29yYXRvcnM9e25nU3dpdGNoQ2FzZTpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihSdixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbmdTd2l0Y2hDYXNlXSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpGYn0se3R5cGU6RWJ9LHt0eXBlOkR2LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn1dfV19KSx7bmdTd2l0Y2hDYXNlOlt7dHlwZTpSX31dfSk7Y2xhc3MgRXZ7Y29uc3RydWN0b3IodCxlLG4peyJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlfHxufHxBdigibmdTd2l0Y2hEZWZhdWx0IiwiTmdTd2l0Y2hEZWZhdWx0Iiksbi5fYWRkRGVmYXVsdChuZXcgU3YodCxlKSl9fWZ1bmN0aW9uIEF2KHQsZSl7dGhyb3cgbmV3IG5uKCIzMDUiLGBBbiBlbGVtZW50IHdpdGggdGhlICIke3R9IiBhdHRyaWJ1dGUgKG1hdGNoaW5nIHRoZSAiJHtlfSIgZGlyZWN0aXZlKSBtdXN0IGJlIGxvY2F0ZWQgaW5zaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgIm5nU3dpdGNoIiBhdHRyaWJ1dGUgKG1hdGNoaW5nICJOZ1N3aXRjaCIgZGlyZWN0aXZlKWApfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9Fdi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RXYpKGdmKEZiKSxnZihFYiksZ2YoRHYsOSkpfSxFdi7JtWRpcj1obyh7dHlwZTpFdixzZWxlY3RvcnM6W1siIiwibmdTd2l0Y2hEZWZhdWx0IiwiIl1dfSksRXYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpGYn0se3R5cGU6RWJ9LHt0eXBlOkR2LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihFdixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbmdTd2l0Y2hEZWZhdWx0XSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpGYn0se3R5cGU6RWJ9LHt0eXBlOkR2LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn1dfV19KSxudWxsKTtjbGFzcyBUdntjb25zdHJ1Y3Rvcih0KXt0aGlzLl9sb2NhbGl6YXRpb249dCx0aGlzLl9jYXNlVmlld3M9e319c2V0IG5nUGx1cmFsKHQpe3RoaXMuX3N3aXRjaFZhbHVlPXQsdGhpcy5fdXBkYXRlVmlldygpfWFkZENhc2UodCxlKXt0aGlzLl9jYXNlVmlld3NbdF09ZX1fdXBkYXRlVmlldygpe3RoaXMuX2NsZWFyVmlld3MoKTtjb25zdCB0PU9iamVjdC5rZXlzKHRoaXMuX2Nhc2VWaWV3cyksZT1idih0aGlzLl9zd2l0Y2hWYWx1ZSx0LHRoaXMuX2xvY2FsaXphdGlvbik7dGhpcy5fYWN0aXZhdGVWaWV3KHRoaXMuX2Nhc2VWaWV3c1tlXSl9X2NsZWFyVmlld3MoKXt0aGlzLl9hY3RpdmVWaWV3JiZ0aGlzLl9hY3RpdmVWaWV3LmRlc3Ryb3koKX1fYWN0aXZhdGVWaWV3KHQpe3QmJih0aGlzLl9hY3RpdmVWaWV3PXQsdGhpcy5fYWN0aXZlVmlldy5jcmVhdGUoKSl9fVR2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxUdikoZ2YoaHYpKX0sVHYuybVkaXI9aG8oe3R5cGU6VHYsc2VsZWN0b3JzOltbIiIsIm5nUGx1cmFsIiwiIl1dLGlucHV0czp7bmdQbHVyYWw6Im5nUGx1cmFsIn19KSxUdi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOmh2fV0sVHYucHJvcERlY29yYXRvcnM9e25nUGx1cmFsOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFR2LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltuZ1BsdXJhbF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aHZ9XX0pLHtuZ1BsdXJhbDpbe3R5cGU6Ul99XX0pO2NsYXNzIE52e2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMudmFsdWU9dDtjb25zdCBpPSFpc05hTihOdW1iZXIodCkpO28uYWRkQ2FzZShpP2A9JHt0fWA6dCxuZXcgU3YobixlKSl9fU52Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxOdikoR2EoIm5nUGx1cmFsQ2FzZSIpLGdmKEViKSxnZihGYiksZ2YoVHYsMSkpfSxOdi7JtWRpcj1obyh7dHlwZTpOdixzZWxlY3RvcnM6W1siIiwibmdQbHVyYWxDYXNlIiwiIl1dfSksTnYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbIm5nUGx1cmFsQ2FzZSJdfV19LHt0eXBlOkVifSx7dHlwZTpGYn0se3R5cGU6VHYsZGVjb3JhdG9yczpbe3R5cGU6VXJ9XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTnYsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW25nUGx1cmFsQ2FzZV0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJuZ1BsdXJhbENhc2UiXX1dfSx7dHlwZTpFYn0se3R5cGU6RmJ9LHt0eXBlOlR2LGRlY29yYXRvcnM6W3t0eXBlOlVyfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgenZ7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuX25nRWw9dCx0aGlzLl9kaWZmZXJzPWUsdGhpcy5fcmVuZGVyZXI9bix0aGlzLl9uZ1N0eWxlPW51bGwsdGhpcy5fZGlmZmVyPW51bGx9c2V0IG5nU3R5bGUodCl7dGhpcy5fbmdTdHlsZT10LCF0aGlzLl9kaWZmZXImJnQmJih0aGlzLl9kaWZmZXI9dGhpcy5fZGlmZmVycy5maW5kKHQpLmNyZWF0ZSgpKX1uZ0RvQ2hlY2soKXtpZih0aGlzLl9kaWZmZXIpe2NvbnN0IHQ9dGhpcy5fZGlmZmVyLmRpZmYodGhpcy5fbmdTdHlsZSk7dCYmdGhpcy5fYXBwbHlDaGFuZ2VzKHQpfX1fc2V0U3R5bGUodCxlKXtjb25zdFtuLG9dPXQuc3BsaXQoIi4iKTtudWxsIT0oZT1udWxsIT1lJiZvP2Ake2V9JHtvfWA6ZSk/dGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fbmdFbC5uYXRpdmVFbGVtZW50LG4sZSk6dGhpcy5fcmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5fbmdFbC5uYXRpdmVFbGVtZW50LG4pfV9hcHBseUNoYW5nZXModCl7dC5mb3JFYWNoUmVtb3ZlZEl0ZW0oKHQ9PnRoaXMuX3NldFN0eWxlKHQua2V5LG51bGwpKSksdC5mb3JFYWNoQWRkZWRJdGVtKCh0PT50aGlzLl9zZXRTdHlsZSh0LmtleSx0LmN1cnJlbnRWYWx1ZSkpKSx0LmZvckVhY2hDaGFuZ2VkSXRlbSgodD0+dGhpcy5fc2V0U3R5bGUodC5rZXksdC5jdXJyZW50VmFsdWUpKSl9fXp2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx6dikoZ2YoS2gpLGdmKHliKSxnZigkaCkpfSx6di7JtWRpcj1obyh7dHlwZTp6dixzZWxlY3RvcnM6W1siIiwibmdTdHlsZSIsIiJdXSxpbnB1dHM6e25nU3R5bGU6Im5nU3R5bGUifX0pLHp2LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOnlifSx7dHlwZTokaH1dLHp2LnByb3BEZWNvcmF0b3JzPXtuZ1N0eWxlOlt7dHlwZTpSXyxhcmdzOlsibmdTdHlsZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoenYsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW25nU3R5bGVdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTp5Yn0se3R5cGU6JGh9XX0pLHtuZ1N0eWxlOlt7dHlwZTpSXyxhcmdzOlsibmdTdHlsZSJdfV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIEl2e2NvbnN0cnVjdG9yKHQpe3RoaXMuX3ZpZXdDb250YWluZXJSZWY9dCx0aGlzLl92aWV3UmVmPW51bGwsdGhpcy5uZ1RlbXBsYXRlT3V0bGV0Q29udGV4dD1udWxsLHRoaXMubmdUZW1wbGF0ZU91dGxldD1udWxsfW5nT25DaGFuZ2VzKHQpe2lmKHQubmdUZW1wbGF0ZU91dGxldCl7Y29uc3QgdD10aGlzLl92aWV3Q29udGFpbmVyUmVmO3RoaXMuX3ZpZXdSZWYmJnQucmVtb3ZlKHQuaW5kZXhPZih0aGlzLl92aWV3UmVmKSksdGhpcy5fdmlld1JlZj10aGlzLm5nVGVtcGxhdGVPdXRsZXQ/dC5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5uZ1RlbXBsYXRlT3V0bGV0LHRoaXMubmdUZW1wbGF0ZU91dGxldENvbnRleHQpOm51bGx9ZWxzZSB0aGlzLl92aWV3UmVmJiZ0Lm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0JiZ0aGlzLm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0JiYodGhpcy5fdmlld1JlZi5jb250ZXh0PXRoaXMubmdUZW1wbGF0ZU91dGxldENvbnRleHQpfX1Jdi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SXYpKGdmKEZiKSl9LEl2Lsm1ZGlyPWhvKHt0eXBlOkl2LHNlbGVjdG9yczpbWyIiLCJuZ1RlbXBsYXRlT3V0bGV0IiwiIl1dLGlucHV0czp7bmdUZW1wbGF0ZU91dGxldENvbnRleHQ6Im5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IixuZ1RlbXBsYXRlT3V0bGV0OiJuZ1RlbXBsYXRlT3V0bGV0In0sZmVhdHVyZXM6W3FvXX0pLEl2LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RmJ9XSxJdi5wcm9wRGVjb3JhdG9ycz17bmdUZW1wbGF0ZU91dGxldENvbnRleHQ6W3t0eXBlOlJffV0sbmdUZW1wbGF0ZU91dGxldDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihJdixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbmdUZW1wbGF0ZU91dGxldF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RmJ9XX0pLHtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dDpbe3R5cGU6Ul99XSxuZ1RlbXBsYXRlT3V0bGV0Olt7dHlwZTpSX31dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBIdj1bQ3YsTXYseHYsUHYsSXYsenYsRHYsUnYsRXYsVHYsTnZdOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBGdih0LGUpe3JldHVybiBFcnJvcihgSW52YWxpZFBpcGVBcmd1bWVudDogJyR7ZX0nIGZvciBwaXBlICcke0tlKHQpfSdgKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgTHY9bmV3IGNsYXNze2NyZWF0ZVN1YnNjcmlwdGlvbih0LGUpe3JldHVybiB0LnRoZW4oZSwodD0+e3Rocm93IHR9KSl9ZGlzcG9zZSh0KXt9b25EZXN0cm95KHQpe319LEJ2PW5ldyBjbGFzc3tjcmVhdGVTdWJzY3JpcHRpb24odCxlKXtyZXR1cm4gdC5zdWJzY3JpYmUoe25leHQ6ZSxlcnJvcjp0PT57dGhyb3cgdH19KX1kaXNwb3NlKHQpe3QudW5zdWJzY3JpYmUoKX1vbkRlc3Ryb3kodCl7dC51bnN1YnNjcmliZSgpfX07Y2xhc3MgVnZ7Y29uc3RydWN0b3IodCl7dGhpcy5fcmVmPXQsdGhpcy5fbGF0ZXN0VmFsdWU9bnVsbCx0aGlzLl9zdWJzY3JpcHRpb249bnVsbCx0aGlzLl9vYmo9bnVsbCx0aGlzLl9zdHJhdGVneT1udWxsfW5nT25EZXN0cm95KCl7dGhpcy5fc3Vic2NyaXB0aW9uJiZ0aGlzLl9kaXNwb3NlKCl9dHJhbnNmb3JtKHQpe3JldHVybiB0aGlzLl9vYmo/dCE9PXRoaXMuX29iaj8odGhpcy5fZGlzcG9zZSgpLHRoaXMudHJhbnNmb3JtKHQpKTp0aGlzLl9sYXRlc3RWYWx1ZToodCYmdGhpcy5fc3Vic2NyaWJlKHQpLHRoaXMuX2xhdGVzdFZhbHVlKX1fc3Vic2NyaWJlKHQpe3RoaXMuX29iaj10LHRoaXMuX3N0cmF0ZWd5PXRoaXMuX3NlbGVjdFN0cmF0ZWd5KHQpLHRoaXMuX3N1YnNjcmlwdGlvbj10aGlzLl9zdHJhdGVneS5jcmVhdGVTdWJzY3JpcHRpb24odCwoZT0+dGhpcy5fdXBkYXRlTGF0ZXN0VmFsdWUodCxlKSkpfV9zZWxlY3RTdHJhdGVneSh0KXtpZihrZih0KSlyZXR1cm4gTHY7aWYoU2YodCkpcmV0dXJuIEJ2O3Rocm93IEZ2KFZ2LHQpfV9kaXNwb3NlKCl7dGhpcy5fc3RyYXRlZ3kuZGlzcG9zZSh0aGlzLl9zdWJzY3JpcHRpb24pLHRoaXMuX2xhdGVzdFZhbHVlPW51bGwsdGhpcy5fc3Vic2NyaXB0aW9uPW51bGwsdGhpcy5fb2JqPW51bGx9X3VwZGF0ZUxhdGVzdFZhbHVlKHQsZSl7dD09PXRoaXMuX29iaiYmKHRoaXMuX2xhdGVzdFZhbHVlPWUsdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpKX19VnYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFZ2KShnZihPYiwxNikpfSxWdi7JtXBpcGU9Ym8oe25hbWU6ImFzeW5jIix0eXBlOlZ2LHB1cmU6ITF9KSxWdi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOk9ifV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWdixbe3R5cGU6RF8sYXJnczpbe25hbWU6ImFzeW5jIixwdXJlOiExfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6T2J9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MganZ7dHJhbnNmb3JtKHQpe2lmKG51bGw9PXQpcmV0dXJuIG51bGw7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IEZ2KGp2LHQpO3JldHVybiB0LnRvTG93ZXJDYXNlKCl9fWp2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxqdil9LGp2Lsm1cGlwZT1ibyh7bmFtZToibG93ZXJjYXNlIix0eXBlOmp2LHB1cmU6ITB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGp2LFt7dHlwZTpEXyxhcmdzOlt7bmFtZToibG93ZXJjYXNlIn1dfV0sbnVsbCxudWxsKTtjb25zdCBVdj0vKD86W0EtWmEtelx4QUFceEI1XHhCQVx4QzAtXHhENlx4RDgtXHhGNlx4RjgtXHUwMkMxXHUwMkM2LVx1MDJEMVx1MDJFMC1cdTAyRTRcdTAyRUNcdTAyRUVcdTAzNzAtXHUwMzc0XHUwMzc2XHUwMzc3XHUwMzdBLVx1MDM3RFx1MDM3Rlx1MDM4Nlx1MDM4OC1cdTAzOEFcdTAzOENcdTAzOEUtXHUwM0ExXHUwM0EzLVx1MDNGNVx1MDNGNy1cdTA0ODFcdTA0OEEtXHUwNTJGXHUwNTMxLVx1MDU1Nlx1MDU1OVx1MDU2MS1cdTA1ODdcdTA1RDAtXHUwNUVBXHUwNUYwLVx1MDVGMlx1MDYyMC1cdTA2NEFcdTA2NkVcdTA2NkZcdTA2NzEtXHUwNkQzXHUwNkQ1XHUwNkU1XHUwNkU2XHUwNkVFXHUwNkVGXHUwNkZBLVx1MDZGQ1x1MDZGRlx1MDcxMFx1MDcxMi1cdTA3MkZcdTA3NEQtXHUwN0E1XHUwN0IxXHUwN0NBLVx1MDdFQVx1MDdGNFx1MDdGNVx1MDdGQVx1MDgwMC1cdTA4MTVcdTA4MUFcdTA4MjRcdTA4MjhcdTA4NDAtXHUwODU4XHUwODYwLVx1MDg2QVx1MDhBMC1cdTA4QjRcdTA4QjYtXHUwOEJEXHUwOTA0LVx1MDkzOVx1MDkzRFx1MDk1MFx1MDk1OC1cdTA5NjFcdTA5NzEtXHUwOTgwXHUwOTg1LVx1MDk4Q1x1MDk4Rlx1MDk5MFx1MDk5My1cdTA5QThcdTA5QUEtXHUwOUIwXHUwOUIyXHUwOUI2LVx1MDlCOVx1MDlCRFx1MDlDRVx1MDlEQ1x1MDlERFx1MDlERi1cdTA5RTFcdTA5RjBcdTA5RjFcdTA5RkNcdTBBMDUtXHUwQTBBXHUwQTBGXHUwQTEwXHUwQTEzLVx1MEEyOFx1MEEyQS1cdTBBMzBcdTBBMzJcdTBBMzNcdTBBMzVcdTBBMzZcdTBBMzhcdTBBMzlcdTBBNTktXHUwQTVDXHUwQTVFXHUwQTcyLVx1MEE3NFx1MEE4NS1cdTBBOERcdTBBOEYtXHUwQTkxXHUwQTkzLVx1MEFBOFx1MEFBQS1cdTBBQjBcdTBBQjJcdTBBQjNcdTBBQjUtXHUwQUI5XHUwQUJEXHUwQUQwXHUwQUUwXHUwQUUxXHUwQUY5XHUwQjA1LVx1MEIwQ1x1MEIwRlx1MEIxMFx1MEIxMy1cdTBCMjhcdTBCMkEtXHUwQjMwXHUwQjMyXHUwQjMzXHUwQjM1LVx1MEIzOVx1MEIzRFx1MEI1Q1x1MEI1RFx1MEI1Ri1cdTBCNjFcdTBCNzFcdTBCODNcdTBCODUtXHUwQjhBXHUwQjhFLVx1MEI5MFx1MEI5Mi1cdTBCOTVcdTBCOTlcdTBCOUFcdTBCOUNcdTBCOUVcdTBCOUZcdTBCQTNcdTBCQTRcdTBCQTgtXHUwQkFBXHUwQkFFLVx1MEJCOVx1MEJEMFx1MEMwNS1cdTBDMENcdTBDMEUtXHUwQzEwXHUwQzEyLVx1MEMyOFx1MEMyQS1cdTBDMzlcdTBDM0RcdTBDNTgtXHUwQzVBXHUwQzYwXHUwQzYxXHUwQzgwXHUwQzg1LVx1MEM4Q1x1MEM4RS1cdTBDOTBcdTBDOTItXHUwQ0E4XHUwQ0FBLVx1MENCM1x1MENCNS1cdTBDQjlcdTBDQkRcdTBDREVcdTBDRTBcdTBDRTFcdTBDRjFcdTBDRjJcdTBEMDUtXHUwRDBDXHUwRDBFLVx1MEQxMFx1MEQxMi1cdTBEM0FcdTBEM0RcdTBENEVcdTBENTQtXHUwRDU2XHUwRDVGLVx1MEQ2MVx1MEQ3QS1cdTBEN0ZcdTBEODUtXHUwRDk2XHUwRDlBLVx1MERCMVx1MERCMy1cdTBEQkJcdTBEQkRcdTBEQzAtXHUwREM2XHUwRTAxLVx1MEUzMFx1MEUzMlx1MEUzM1x1MEU0MC1cdTBFNDZcdTBFODFcdTBFODJcdTBFODRcdTBFODdcdTBFODhcdTBFOEFcdTBFOERcdTBFOTQtXHUwRTk3XHUwRTk5LVx1MEU5Rlx1MEVBMS1cdTBFQTNcdTBFQTVcdTBFQTdcdTBFQUFcdTBFQUJcdTBFQUQtXHUwRUIwXHUwRUIyXHUwRUIzXHUwRUJEXHUwRUMwLVx1MEVDNFx1MEVDNlx1MEVEQy1cdTBFREZcdTBGMDBcdTBGNDAtXHUwRjQ3XHUwRjQ5LVx1MEY2Q1x1MEY4OC1cdTBGOENcdTEwMDAtXHUxMDJBXHUxMDNGXHUxMDUwLVx1MTA1NVx1MTA1QS1cdTEwNURcdTEwNjFcdTEwNjVcdTEwNjZcdTEwNkUtXHUxMDcwXHUxMDc1LVx1MTA4MVx1MTA4RVx1MTBBMC1cdTEwQzVcdTEwQzdcdTEwQ0RcdTEwRDAtXHUxMEZBXHUxMEZDLVx1MTI0OFx1MTI0QS1cdTEyNERcdTEyNTAtXHUxMjU2XHUxMjU4XHUxMjVBLVx1MTI1RFx1MTI2MC1cdTEyODhcdTEyOEEtXHUxMjhEXHUxMjkwLVx1MTJCMFx1MTJCMi1cdTEyQjVcdTEyQjgtXHUxMkJFXHUxMkMwXHUxMkMyLVx1MTJDNVx1MTJDOC1cdTEyRDZcdTEyRDgtXHUxMzEwXHUxMzEyLVx1MTMxNVx1MTMxOC1cdTEzNUFcdTEzODAtXHUxMzhGXHUxM0EwLVx1MTNGNVx1MTNGOC1cdTEzRkRcdTE0MDEtXHUxNjZDXHUxNjZGLVx1MTY3Rlx1MTY4MS1cdTE2OUFcdTE2QTAtXHUxNkVBXHUxNkYxLVx1MTZGOFx1MTcwMC1cdTE3MENcdTE3MEUtXHUxNzExXHUxNzIwLVx1MTczMVx1MTc0MC1cdTE3NTFcdTE3NjAtXHUxNzZDXHUxNzZFLVx1MTc3MFx1MTc4MC1cdTE3QjNcdTE3RDdcdTE3RENcdTE4MjAtXHUxODc3XHUxODgwLVx1MTg4NFx1MTg4Ny1cdTE4QThcdTE4QUFcdTE4QjAtXHUxOEY1XHUxOTAwLVx1MTkxRVx1MTk1MC1cdTE5NkRcdTE5NzAtXHUxOTc0XHUxOTgwLVx1MTlBQlx1MTlCMC1cdTE5QzlcdTFBMDAtXHUxQTE2XHUxQTIwLVx1MUE1NFx1MUFBN1x1MUIwNS1cdTFCMzNcdTFCNDUtXHUxQjRCXHUxQjgzLVx1MUJBMFx1MUJBRVx1MUJBRlx1MUJCQS1cdTFCRTVcdTFDMDAtXHUxQzIzXHUxQzRELVx1MUM0Rlx1MUM1QS1cdTFDN0RcdTFDODAtXHUxQzg4XHUxQ0U5LVx1MUNFQ1x1MUNFRS1cdTFDRjFcdTFDRjVcdTFDRjZcdTFEMDAtXHUxREJGXHUxRTAwLVx1MUYxNVx1MUYxOC1cdTFGMURcdTFGMjAtXHUxRjQ1XHUxRjQ4LVx1MUY0RFx1MUY1MC1cdTFGNTdcdTFGNTlcdTFGNUJcdTFGNURcdTFGNUYtXHUxRjdEXHUxRjgwLVx1MUZCNFx1MUZCNi1cdTFGQkNcdTFGQkVcdTFGQzItXHUxRkM0XHUxRkM2LVx1MUZDQ1x1MUZEMC1cdTFGRDNcdTFGRDYtXHUxRkRCXHUxRkUwLVx1MUZFQ1x1MUZGMi1cdTFGRjRcdTFGRjYtXHUxRkZDXHUyMDcxXHUyMDdGXHUyMDkwLVx1MjA5Q1x1MjEwMlx1MjEwN1x1MjEwQS1cdTIxMTNcdTIxMTVcdTIxMTktXHUyMTFEXHUyMTI0XHUyMTI2XHUyMTI4XHUyMTJBLVx1MjEyRFx1MjEyRi1cdTIxMzlcdTIxM0MtXHUyMTNGXHUyMTQ1LVx1MjE0OVx1MjE0RVx1MjE4M1x1MjE4NFx1MkMwMC1cdTJDMkVcdTJDMzAtXHUyQzVFXHUyQzYwLVx1MkNFNFx1MkNFQi1cdTJDRUVcdTJDRjJcdTJDRjNcdTJEMDAtXHUyRDI1XHUyRDI3XHUyRDJEXHUyRDMwLVx1MkQ2N1x1MkQ2Rlx1MkQ4MC1cdTJEOTZcdTJEQTAtXHUyREE2XHUyREE4LVx1MkRBRVx1MkRCMC1cdTJEQjZcdTJEQjgtXHUyREJFXHUyREMwLVx1MkRDNlx1MkRDOC1cdTJEQ0VcdTJERDAtXHUyREQ2XHUyREQ4LVx1MkRERVx1MkUyRlx1MzAwNVx1MzAwNlx1MzAzMS1cdTMwMzVcdTMwM0JcdTMwM0NcdTMwNDEtXHUzMDk2XHUzMDlELVx1MzA5Rlx1MzBBMS1cdTMwRkFcdTMwRkMtXHUzMEZGXHUzMTA1LVx1MzEyRVx1MzEzMS1cdTMxOEVcdTMxQTAtXHUzMUJBXHUzMUYwLVx1MzFGRlx1MzQwMC1cdTREQjVcdTRFMDAtXHU5RkVBXHVBMDAwLVx1QTQ4Q1x1QTREMC1cdUE0RkRcdUE1MDAtXHVBNjBDXHVBNjEwLVx1QTYxRlx1QTYyQVx1QTYyQlx1QTY0MC1cdUE2NkVcdUE2N0YtXHVBNjlEXHVBNkEwLVx1QTZFNVx1QTcxNy1cdUE3MUZcdUE3MjItXHVBNzg4XHVBNzhCLVx1QTdBRVx1QTdCMC1cdUE3QjdcdUE3RjctXHVBODAxXHVBODAzLVx1QTgwNVx1QTgwNy1cdUE4MEFcdUE4MEMtXHVBODIyXHVBODQwLVx1QTg3M1x1QTg4Mi1cdUE4QjNcdUE4RjItXHVBOEY3XHVBOEZCXHVBOEZEXHVBOTBBLVx1QTkyNVx1QTkzMC1cdUE5NDZcdUE5NjAtXHVBOTdDXHVBOTg0LVx1QTlCMlx1QTlDRlx1QTlFMC1cdUE5RTRcdUE5RTYtXHVBOUVGXHVBOUZBLVx1QTlGRVx1QUEwMC1cdUFBMjhcdUFBNDAtXHVBQTQyXHVBQTQ0LVx1QUE0Qlx1QUE2MC1cdUFBNzZcdUFBN0FcdUFBN0UtXHVBQUFGXHVBQUIxXHVBQUI1XHVBQUI2XHVBQUI5LVx1QUFCRFx1QUFDMFx1QUFDMlx1QUFEQi1cdUFBRERcdUFBRTAtXHVBQUVBXHVBQUYyLVx1QUFGNFx1QUIwMS1cdUFCMDZcdUFCMDktXHVBQjBFXHVBQjExLVx1QUIxNlx1QUIyMC1cdUFCMjZcdUFCMjgtXHVBQjJFXHVBQjMwLVx1QUI1QVx1QUI1Qy1cdUFCNjVcdUFCNzAtXHVBQkUyXHVBQzAwLVx1RDdBM1x1RDdCMC1cdUQ3QzZcdUQ3Q0ItXHVEN0ZCXHVGOTAwLVx1RkE2RFx1RkE3MC1cdUZBRDlcdUZCMDAtXHVGQjA2XHVGQjEzLVx1RkIxN1x1RkIxRFx1RkIxRi1cdUZCMjhcdUZCMkEtXHVGQjM2XHVGQjM4LVx1RkIzQ1x1RkIzRVx1RkI0MFx1RkI0MVx1RkI0M1x1RkI0NFx1RkI0Ni1cdUZCQjFcdUZCRDMtXHVGRDNEXHVGRDUwLVx1RkQ4Rlx1RkQ5Mi1cdUZEQzdcdUZERjAtXHVGREZCXHVGRTcwLVx1RkU3NFx1RkU3Ni1cdUZFRkNcdUZGMjEtXHVGRjNBXHVGRjQxLVx1RkY1QVx1RkY2Ni1cdUZGQkVcdUZGQzItXHVGRkM3XHVGRkNBLVx1RkZDRlx1RkZEMi1cdUZGRDdcdUZGREEtXHVGRkRDXXxcdUQ4MDBbXHVEQzAwLVx1REMwQlx1REMwRC1cdURDMjZcdURDMjgtXHVEQzNBXHVEQzNDXHVEQzNEXHVEQzNGLVx1REM0RFx1REM1MC1cdURDNURcdURDODAtXHVEQ0ZBXHVERTgwLVx1REU5Q1x1REVBMC1cdURFRDBcdURGMDAtXHVERjFGXHVERjJELVx1REY0MFx1REY0Mi1cdURGNDlcdURGNTAtXHVERjc1XHVERjgwLVx1REY5RFx1REZBMC1cdURGQzNcdURGQzgtXHVERkNGXXxcdUQ4MDFbXHVEQzAwLVx1REM5RFx1RENCMC1cdURDRDNcdURDRDgtXHVEQ0ZCXHVERDAwLVx1REQyN1x1REQzMC1cdURENjNcdURFMDAtXHVERjM2XHVERjQwLVx1REY1NVx1REY2MC1cdURGNjddfFx1RDgwMltcdURDMDAtXHVEQzA1XHVEQzA4XHVEQzBBLVx1REMzNVx1REMzN1x1REMzOFx1REMzQ1x1REMzRi1cdURDNTVcdURDNjAtXHVEQzc2XHVEQzgwLVx1REM5RVx1RENFMC1cdURDRjJcdURDRjRcdURDRjVcdUREMDAtXHVERDE1XHVERDIwLVx1REQzOVx1REQ4MC1cdUREQjdcdUREQkVcdUREQkZcdURFMDBcdURFMTAtXHVERTEzXHVERTE1LVx1REUxN1x1REUxOS1cdURFMzNcdURFNjAtXHVERTdDXHVERTgwLVx1REU5Q1x1REVDMC1cdURFQzdcdURFQzktXHVERUU0XHVERjAwLVx1REYzNVx1REY0MC1cdURGNTVcdURGNjAtXHVERjcyXHVERjgwLVx1REY5MV18XHVEODAzW1x1REMwMC1cdURDNDhcdURDODAtXHVEQ0IyXHVEQ0MwLVx1RENGMl18XHVEODA0W1x1REMwMy1cdURDMzdcdURDODMtXHVEQ0FGXHVEQ0QwLVx1RENFOFx1REQwMy1cdUREMjZcdURENTAtXHVERDcyXHVERDc2XHVERDgzLVx1RERCMlx1RERDMS1cdUREQzRcdUREREFcdURERENcdURFMDAtXHVERTExXHVERTEzLVx1REUyQlx1REU4MC1cdURFODZcdURFODhcdURFOEEtXHVERThEXHVERThGLVx1REU5RFx1REU5Ri1cdURFQThcdURFQjAtXHVERURFXHVERjA1LVx1REYwQ1x1REYwRlx1REYxMFx1REYxMy1cdURGMjhcdURGMkEtXHVERjMwXHVERjMyXHVERjMzXHVERjM1LVx1REYzOVx1REYzRFx1REY1MFx1REY1RC1cdURGNjFdfFx1RDgwNVtcdURDMDAtXHVEQzM0XHVEQzQ3LVx1REM0QVx1REM4MC1cdURDQUZcdURDQzRcdURDQzVcdURDQzdcdUREODAtXHVEREFFXHVEREQ4LVx1REREQlx1REUwMC1cdURFMkZcdURFNDRcdURFODAtXHVERUFBXHVERjAwLVx1REYxOV18XHVEODA2W1x1RENBMC1cdURDREZcdURDRkZcdURFMDBcdURFMEItXHVERTMyXHVERTNBXHVERTUwXHVERTVDLVx1REU4M1x1REU4Ni1cdURFODlcdURFQzAtXHVERUY4XXxcdUQ4MDdbXHVEQzAwLVx1REMwOFx1REMwQS1cdURDMkVcdURDNDBcdURDNzItXHVEQzhGXHVERDAwLVx1REQwNlx1REQwOFx1REQwOVx1REQwQi1cdUREMzBcdURENDZdfFx1RDgwOFtcdURDMDAtXHVERjk5XXxcdUQ4MDlbXHVEQzgwLVx1REQ0M118W1x1RDgwQ1x1RDgxQy1cdUQ4MjBcdUQ4NDAtXHVEODY4XHVEODZBLVx1RDg2Q1x1RDg2Ri1cdUQ4NzJcdUQ4NzQtXHVEODc5XVtcdURDMDAtXHVERkZGXXxcdUQ4MERbXHVEQzAwLVx1REMyRV18XHVEODExW1x1REMwMC1cdURFNDZdfFx1RDgxQVtcdURDMDAtXHVERTM4XHVERTQwLVx1REU1RVx1REVEMC1cdURFRURcdURGMDAtXHVERjJGXHVERjQwLVx1REY0M1x1REY2My1cdURGNzdcdURGN0QtXHVERjhGXXxcdUQ4MUJbXHVERjAwLVx1REY0NFx1REY1MFx1REY5My1cdURGOUZcdURGRTBcdURGRTFdfFx1RDgyMVtcdURDMDAtXHVERkVDXXxcdUQ4MjJbXHVEQzAwLVx1REVGMl18XHVEODJDW1x1REMwMC1cdUREMUVcdURENzAtXHVERUZCXXxcdUQ4MkZbXHVEQzAwLVx1REM2QVx1REM3MC1cdURDN0NcdURDODAtXHVEQzg4XHVEQzkwLVx1REM5OV18XHVEODM1W1x1REMwMC1cdURDNTRcdURDNTYtXHVEQzlDXHVEQzlFXHVEQzlGXHVEQ0EyXHVEQ0E1XHVEQ0E2XHVEQ0E5LVx1RENBQ1x1RENBRS1cdURDQjlcdURDQkJcdURDQkQtXHVEQ0MzXHVEQ0M1LVx1REQwNVx1REQwNy1cdUREMEFcdUREMEQtXHVERDE0XHVERDE2LVx1REQxQ1x1REQxRS1cdUREMzlcdUREM0ItXHVERDNFXHVERDQwLVx1REQ0NFx1REQ0Nlx1REQ0QS1cdURENTBcdURENTItXHVERUE1XHVERUE4LVx1REVDMFx1REVDMi1cdURFREFcdURFREMtXHVERUZBXHVERUZDLVx1REYxNFx1REYxNi1cdURGMzRcdURGMzYtXHVERjRFXHVERjUwLVx1REY2RVx1REY3MC1cdURGODhcdURGOEEtXHVERkE4XHVERkFBLVx1REZDMlx1REZDNC1cdURGQ0JdfFx1RDgzQVtcdURDMDAtXHVEQ0M0XHVERDAwLVx1REQ0M118XHVEODNCW1x1REUwMC1cdURFMDNcdURFMDUtXHVERTFGXHVERTIxXHVERTIyXHVERTI0XHVERTI3XHVERTI5LVx1REUzMlx1REUzNC1cdURFMzdcdURFMzlcdURFM0JcdURFNDJcdURFNDdcdURFNDlcdURFNEJcdURFNEQtXHVERTRGXHVERTUxXHVERTUyXHVERTU0XHVERTU3XHVERTU5XHVERTVCXHVERTVEXHVERTVGXHVERTYxXHVERTYyXHVERTY0XHVERTY3LVx1REU2QVx1REU2Qy1cdURFNzJcdURFNzQtXHVERTc3XHVERTc5LVx1REU3Q1x1REU3RVx1REU4MC1cdURFODlcdURFOEItXHVERTlCXHVERUExLVx1REVBM1x1REVBNS1cdURFQTlcdURFQUItXHVERUJCXXxcdUQ4NjlbXHVEQzAwLVx1REVENlx1REYwMC1cdURGRkZdfFx1RDg2RFtcdURDMDAtXHVERjM0XHVERjQwLVx1REZGRl18XHVEODZFW1x1REMwMC1cdURDMURcdURDMjAtXHVERkZGXXxcdUQ4NzNbXHVEQzAwLVx1REVBMVx1REVCMC1cdURGRkZdfFx1RDg3QVtcdURDMDAtXHVERkUwXXxcdUQ4N0VbXHVEQzAwLVx1REUxRF0pXFMqL2c7Y2xhc3MgV3Z7dHJhbnNmb3JtKHQpe2lmKG51bGw9PXQpcmV0dXJuIG51bGw7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IEZ2KFd2LHQpO3JldHVybiB0LnJlcGxhY2UoVXYsKHQ9PnRbMF0udG9VcHBlckNhc2UoKSt0LnN1YnN0cigxKS50b0xvd2VyQ2FzZSgpKSl9fVd2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxXdil9LFd2Lsm1cGlwZT1ibyh7bmFtZToidGl0bGVjYXNlIix0eXBlOld2LHB1cmU6ITB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFd2LFt7dHlwZTpEXyxhcmdzOlt7bmFtZToidGl0bGVjYXNlIn1dfV0sbnVsbCxudWxsKTtjbGFzcyBHdnt0cmFuc2Zvcm0odCl7aWYobnVsbD09dClyZXR1cm4gbnVsbDtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgRnYoR3YsdCk7cmV0dXJuIHQudG9VcHBlckNhc2UoKX19R3YuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEd2KX0sR3YuybVwaXBlPWJvKHtuYW1lOiJ1cHBlcmNhc2UiLHR5cGU6R3YscHVyZTohMH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoR3YsW3t0eXBlOkRfLGFyZ3M6W3tuYW1lOiJ1cHBlcmNhc2UifV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgWXZ7Y29uc3RydWN0b3IodCl7dGhpcy5sb2NhbGU9dH10cmFuc2Zvcm0odCxlPSJtZWRpdW1EYXRlIixuLG8pe2lmKG51bGw9PXR8fCIiPT09dHx8dCE9dClyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIFpNKHQsZSxvfHx0aGlzLmxvY2FsZSxuKX1jYXRjaCh0KXt0aHJvdyBGdihZdix0Lm1lc3NhZ2UpfX19WXYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFl2KShnZihRXywxNikpfSxZdi7JtXBpcGU9Ym8oe25hbWU6ImRhdGUiLHR5cGU6WXYscHVyZTohMH0pLFl2LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1FfXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihZdixbe3R5cGU6RF8sYXJnczpbe25hbWU6ImRhdGUiLHB1cmU6ITB9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbUV9dfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgcXY9LyMvZztjbGFzcyBadntjb25zdHJ1Y3Rvcih0KXt0aGlzLl9sb2NhbGl6YXRpb249dH10cmFuc2Zvcm0odCxlLG4pe2lmKG51bGw9PXQpcmV0dXJuIiI7aWYoIm9iamVjdCIhPXR5cGVvZiBlfHxudWxsPT09ZSl0aHJvdyBGdihadixlKTtyZXR1cm4gZVtidih0LE9iamVjdC5rZXlzKGUpLHRoaXMuX2xvY2FsaXphdGlvbixuKV0ucmVwbGFjZShxdix0LnRvU3RyaW5nKCkpfX1adi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WnYpKGdmKGh2LDE2KSl9LFp2Lsm1cGlwZT1ibyh7bmFtZToiaTE4blBsdXJhbCIsdHlwZTpadixwdXJlOiEwfSksWnYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpodn1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWnYsW3t0eXBlOkRfLGFyZ3M6W3tuYW1lOiJpMThuUGx1cmFsIixwdXJlOiEwfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aHZ9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgWHZ7dHJhbnNmb3JtKHQsZSl7aWYobnVsbD09dClyZXR1cm4iIjtpZigib2JqZWN0IiE9dHlwZW9mIGV8fCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBGdihYdixlKTtyZXR1cm4gZS5oYXNPd25Qcm9wZXJ0eSh0KT9lW3RdOmUuaGFzT3duUHJvcGVydHkoIm90aGVyIik/ZS5vdGhlcjoiIn19WHYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFh2KX0sWHYuybVwaXBlPWJvKHtuYW1lOiJpMThuU2VsZWN0Iix0eXBlOlh2LHB1cmU6ITB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFh2LFt7dHlwZTpEXyxhcmdzOlt7bmFtZToiaTE4blNlbGVjdCIscHVyZTohMH1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIEt2e3RyYW5zZm9ybSh0KXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCxudWxsLDIpfX1Ldi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8S3YpfSxLdi7JtXBpcGU9Ym8oe25hbWU6Impzb24iLHR5cGU6S3YscHVyZTohMX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoS3YsW3t0eXBlOkRfLGFyZ3M6W3tuYW1lOiJqc29uIixwdXJlOiExfV19XSxudWxsLG51bGwpO2NsYXNzIEp2e2NvbnN0cnVjdG9yKHQpe3RoaXMuZGlmZmVycz10LHRoaXMua2V5VmFsdWVzPVtdLHRoaXMuY29tcGFyZUZuPVF2fXRyYW5zZm9ybSh0LGU9UXYpe2lmKCF0fHwhKHQgaW5zdGFuY2VvZiBNYXApJiYib2JqZWN0IiE9dHlwZW9mIHQpcmV0dXJuIG51bGw7dGhpcy5kaWZmZXJ8fCh0aGlzLmRpZmZlcj10aGlzLmRpZmZlcnMuZmluZCh0KS5jcmVhdGUoKSk7Y29uc3Qgbj10aGlzLmRpZmZlci5kaWZmKHQpLG89ZSE9PXRoaXMuY29tcGFyZUZuO3JldHVybiBuJiYodGhpcy5rZXlWYWx1ZXM9W10sbi5mb3JFYWNoSXRlbSgodD0+e3RoaXMua2V5VmFsdWVzLnB1c2goKAovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gZSh0LG4pe3JldHVybntrZXk6dCx2YWx1ZTpufX0pKHQua2V5LHQuY3VycmVudFZhbHVlKSl9KSkpLChufHxvKSYmKHRoaXMua2V5VmFsdWVzLnNvcnQoZSksdGhpcy5jb21wYXJlRm49ZSksdGhpcy5rZXlWYWx1ZXN9fWZ1bmN0aW9uIFF2KHQsZSl7Y29uc3Qgbj10LmtleSxvPWUua2V5O2lmKG49PT1vKXJldHVybiAwO2lmKHZvaWQgMD09PW4pcmV0dXJuIDE7aWYodm9pZCAwPT09bylyZXR1cm4tMTtpZihudWxsPT09bilyZXR1cm4gMTtpZihudWxsPT09bylyZXR1cm4tMTtpZigic3RyaW5nIj09dHlwZW9mIG4mJiJzdHJpbmciPT10eXBlb2YgbylyZXR1cm4gbjxvPy0xOjE7aWYoIm51bWJlciI9PXR5cGVvZiBuJiYibnVtYmVyIj09dHlwZW9mIG8pcmV0dXJuIG4tbztpZigiYm9vbGVhbiI9PXR5cGVvZiBuJiYiYm9vbGVhbiI9PXR5cGVvZiBvKXJldHVybiBuPG8/LTE6MTtjb25zdCBpPVN0cmluZyhuKSxhPVN0cmluZyhvKTtyZXR1cm4gaT09YT8wOmk8YT8tMToxfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9Kdi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SnYpKGdmKHliLDE2KSl9LEp2Lsm1cGlwZT1ibyh7bmFtZToia2V5dmFsdWUiLHR5cGU6SnYscHVyZTohMX0pLEp2LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6eWJ9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEp2LFt7dHlwZTpEXyxhcmdzOlt7bmFtZToia2V5dmFsdWUiLHB1cmU6ITF9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp5Yn1dfSksbnVsbCk7Y2xhc3MgJHZ7Y29uc3RydWN0b3IodCl7dGhpcy5fbG9jYWxlPXR9dHJhbnNmb3JtKHQsZSxuKXtpZighbngodCkpcmV0dXJuIG51bGw7bj1ufHx0aGlzLl9sb2NhbGU7dHJ5e3JldHVybiBmdihveCh0KSxuLGUpfWNhdGNoKHQpe3Rocm93IEZ2KCR2LHQubWVzc2FnZSl9fX0kdi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JHYpKGdmKFFfLDE2KSl9LCR2Lsm1cGlwZT1ibyh7bmFtZToibnVtYmVyIix0eXBlOiR2LHB1cmU6ITB9KSwkdi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltRX119XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJHYsW3t0eXBlOkRfLGFyZ3M6W3tuYW1lOiJudW1iZXIifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1FfXX1dfV19KSxudWxsKTtjbGFzcyB0eHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9sb2NhbGU9dH10cmFuc2Zvcm0odCxlLG4pe2lmKCFueCh0KSlyZXR1cm4gbnVsbDtuPW58fHRoaXMuX2xvY2FsZTt0cnl7cmV0dXJuKGZ1bmN0aW9uIG8odCxlLG4pe3JldHVybiBwdih0LHV2KElNKGUsUE0uUGVyY2VudCksek0oZSxSTS5NaW51c1NpZ24pKSxlLFJNLkdyb3VwLFJNLkRlY2ltYWwsbiwhMCkucmVwbGFjZShuZXcgUmVnRXhwKCIlIiwiZyIpLHpNKGUsUk0uUGVyY2VudFNpZ24pKX0pKG94KHQpLG4sZSl9Y2F0Y2godCl7dGhyb3cgRnYodHgsdC5tZXNzYWdlKX19fXR4Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0eCkoZ2YoUV8sMTYpKX0sdHguybVwaXBlPWJvKHtuYW1lOiJwZXJjZW50Iix0eXBlOnR4LHB1cmU6ITB9KSx0eC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltRX119XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodHgsW3t0eXBlOkRfLGFyZ3M6W3tuYW1lOiJwZXJjZW50In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltRX119XX1dfSksbnVsbCk7Y2xhc3MgZXh7Y29uc3RydWN0b3IodCxlPSJVU0QiKXt0aGlzLl9sb2NhbGU9dCx0aGlzLl9kZWZhdWx0Q3VycmVuY3lDb2RlPWV9dHJhbnNmb3JtKHQsZT10aGlzLl9kZWZhdWx0Q3VycmVuY3lDb2RlLG49InN5bWJvbCIsbyxpKXtpZighbngodCkpcmV0dXJuIG51bGw7aT1pfHx0aGlzLl9sb2NhbGUsImJvb2xlYW4iPT10eXBlb2YgbiYmKCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmY29uc29sZSYmY29uc29sZS53YXJuJiZjb25zb2xlLndhcm4oJ1dhcm5pbmc6IHRoZSBjdXJyZW5jeSBwaXBlIGhhcyBiZWVuIGNoYW5nZWQgaW4gQW5ndWxhciB2NS4gVGhlIHN5bWJvbERpc3BsYXkgb3B0aW9uICh0aGlyZCBwYXJhbWV0ZXIpIGlzIG5vdyBhIHN0cmluZyBpbnN0ZWFkIG9mIGEgYm9vbGVhbi4gVGhlIGFjY2VwdGVkIHZhbHVlcyBhcmUgImNvZGUiLCAic3ltYm9sIiBvciAic3ltYm9sLW5hcnJvdyIuJyksbj1uPyJzeW1ib2wiOiJjb2RlIik7bGV0IGE9ZXx8dGhpcy5fZGVmYXVsdEN1cnJlbmN5Q29kZTsiY29kZSIhPT1uJiYoYT0ic3ltYm9sIj09PW58fCJzeW1ib2wtbmFycm93Ij09PW4/Vk0oYSwic3ltYm9sIj09PW4/IndpZGUiOiJuYXJyb3ciLGkpOm4pO3RyeXtyZXR1cm4gbXYob3godCksaSxhLGUsbyl9Y2F0Y2godCl7dGhyb3cgRnYoZXgsdC5tZXNzYWdlKX19fWZ1bmN0aW9uIG54KHQpe3JldHVybiEobnVsbD09dHx8IiI9PT10fHx0IT10KX1mdW5jdGlvbiBveCh0KXtpZigic3RyaW5nIj09dHlwZW9mIHQmJiFpc05hTihOdW1iZXIodCktcGFyc2VGbG9hdCh0KSkpcmV0dXJuIE51bWJlcih0KTtpZigibnVtYmVyIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKGAke3R9IGlzIG5vdCBhIG51bWJlcmApO3JldHVybiB0fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9leC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZXgpKGdmKFFfLDE2KSxnZigkXywxNikpfSxleC7JtXBpcGU9Ym8oe25hbWU6ImN1cnJlbmN5Iix0eXBlOmV4LHB1cmU6ITB9KSxleC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltRX119XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6WyRfXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihleCxbe3R5cGU6RF8sYXJnczpbe25hbWU6ImN1cnJlbmN5In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltRX119XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6WyRfXX1dfV19KSxudWxsKTtjbGFzcyBpeHt0cmFuc2Zvcm0odCxlLG4pe2lmKG51bGw9PXQpcmV0dXJuIG51bGw7aWYoIXRoaXMuc3VwcG9ydHModCkpdGhyb3cgRnYoaXgsdCk7cmV0dXJuIHQuc2xpY2UoZSxuKX1zdXBwb3J0cyh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR8fEFycmF5LmlzQXJyYXkodCl9fWl4Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxpeCl9LGl4Lsm1cGlwZT1ibyh7bmFtZToic2xpY2UiLHR5cGU6aXgscHVyZTohMX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaXgsW3t0eXBlOkRfLGFyZ3M6W3tuYW1lOiJzbGljZSIscHVyZTohMX1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IGF4PVtWdixHdixqdixLdixpeCwkdix0eCxXdixleCxZdixadixYdixKdl07Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIHJ4e31yeC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cngpfSxyeC7JtW1vZD1mbyh7dHlwZTpyeH0pLHJ4Lsm1aW5qPURuKHtwcm92aWRlcnM6W3twcm92aWRlOmh2LHVzZUNsYXNzOnl2fV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHJ4LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltIdixheF0sZXhwb3J0czpbSHYsYXhdLHByb3ZpZGVyczpbe3Byb3ZpZGU6aHYsdXNlQ2xhc3M6eXZ9XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHJ4LHtkZWNsYXJhdGlvbnM6W0N2LE12LHh2LFB2LEl2LHp2LER2LFJ2LEV2LFR2LE52LFZ2LEd2LGp2LEt2LGl4LCR2LHR4LFd2LGV4LFl2LFp2LFh2LEp2XSxleHBvcnRzOltDdixNdix4dixQdixJdix6dixEdixSdixFdixUdixOdixWdixHdixqdixLdixpeCwkdix0eCxXdixleCxZdixadixYdixKdl19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHN4PSJicm93c2VyIjsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCm5ldyBvYigiMTIuMi4xIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBseHt9bHguybVwcm92PVNuKHt0b2tlbjpseCxwcm92aWRlZEluOiJyb290IixmYWN0b3J5OigpPT5uZXcgY3goVHIoc00pLHdpbmRvdyl9KTtjbGFzcyBjeHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuZG9jdW1lbnQ9dCx0aGlzLndpbmRvdz1lLHRoaXMub2Zmc2V0PSgpPT5bMCwwXX1zZXRPZmZzZXQodCl7dGhpcy5vZmZzZXQ9QXJyYXkuaXNBcnJheSh0KT8oKT0+dDp0fWdldFNjcm9sbFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuc3VwcG9ydHNTY3JvbGxpbmcoKT9bdGhpcy53aW5kb3cucGFnZVhPZmZzZXQsdGhpcy53aW5kb3cucGFnZVlPZmZzZXRdOlswLDBdfXNjcm9sbFRvUG9zaXRpb24odCl7dGhpcy5zdXBwb3J0c1Njcm9sbGluZygpJiZ0aGlzLndpbmRvdy5zY3JvbGxUbyh0WzBdLHRbMV0pfXNjcm9sbFRvQW5jaG9yKHQpe2lmKCF0aGlzLnN1cHBvcnRzU2Nyb2xsaW5nKCkpcmV0dXJuO2NvbnN0IGU9KGZ1bmN0aW9uIG4odCxlKXtjb25zdCBuPXQuZ2V0RWxlbWVudEJ5SWQoZSl8fHQuZ2V0RWxlbWVudHNCeU5hbWUoZSlbMF07aWYobilyZXR1cm4gbjtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC5jcmVhdGVUcmVlV2Fsa2VyJiZ0LmJvZHkmJih0LmJvZHkuY3JlYXRlU2hhZG93Um9vdHx8dC5ib2R5LmF0dGFjaFNoYWRvdykpe2NvbnN0IG49dC5jcmVhdGVUcmVlV2Fsa2VyKHQuYm9keSxOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCk7bGV0IG89bi5jdXJyZW50Tm9kZTtmb3IoO287KXtjb25zdCB0PW8uc2hhZG93Um9vdDtpZih0KXtjb25zdCBuPXQuZ2V0RWxlbWVudEJ5SWQoZSl8fHQucXVlcnlTZWxlY3RvcihgW25hbWU9IiR7ZX0iXWApO2lmKG4pcmV0dXJuIG59bz1uLm5leHROb2RlKCl9fXJldHVybiBudWxsfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKHRoaXMuZG9jdW1lbnQsdCk7ZSYmKHRoaXMuc2Nyb2xsVG9FbGVtZW50KGUpLHRoaXMuYXR0ZW1wdEZvY3VzKGUpKX1zZXRIaXN0b3J5U2Nyb2xsUmVzdG9yYXRpb24odCl7aWYodGhpcy5zdXBwb3J0U2Nyb2xsUmVzdG9yYXRpb24oKSl7Y29uc3QgZT10aGlzLndpbmRvdy5oaXN0b3J5O2UmJmUuc2Nyb2xsUmVzdG9yYXRpb24mJihlLnNjcm9sbFJlc3RvcmF0aW9uPXQpfX1zY3JvbGxUb0VsZW1lbnQodCl7Y29uc3QgZT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49ZS5sZWZ0K3RoaXMud2luZG93LnBhZ2VYT2Zmc2V0LG89ZS50b3ArdGhpcy53aW5kb3cucGFnZVlPZmZzZXQsaT10aGlzLm9mZnNldCgpO3RoaXMud2luZG93LnNjcm9sbFRvKG4taVswXSxvLWlbMV0pfWF0dGVtcHRGb2N1cyh0KXtyZXR1cm4gdC5mb2N1cygpLHRoaXMuZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXR9c3VwcG9ydFNjcm9sbFJlc3RvcmF0aW9uKCl7dHJ5e2lmKCF0aGlzLnN1cHBvcnRzU2Nyb2xsaW5nKCkpcmV0dXJuITE7Y29uc3QgdD1keCh0aGlzLndpbmRvdy5oaXN0b3J5KXx8ZHgoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMud2luZG93Lmhpc3RvcnkpKTtyZXR1cm4hKCF0fHwhdC53cml0YWJsZSYmIXQuc2V0KX1jYXRjaCh0KXtyZXR1cm4hMX19c3VwcG9ydHNTY3JvbGxpbmcoKXt0cnl7cmV0dXJuISF0aGlzLndpbmRvdyYmISF0aGlzLndpbmRvdy5zY3JvbGxUbyYmInBhZ2VYT2Zmc2V0ImluIHRoaXMud2luZG93fWNhdGNoKHQpe3JldHVybiExfX19ZnVuY3Rpb24gZHgodCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCwic2Nyb2xsUmVzdG9yYXRpb24iKX1jbGFzcyBweHt9Ci8qKgogICAgICogQGxpY2Vuc2UgQW5ndWxhciB2MTIuMi4xCiAgICAgKiAoYykgMjAxMC0yMDIxIEdvb2dsZSBMTEMuIGh0dHBzOi8vYW5ndWxhci5pby8KICAgICAqIExpY2Vuc2U6IE1JVAogICAgICovCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgbXggZXh0ZW5kcyBjbGFzcyBleHRlbmRzIGNsYXNze317Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuc3VwcG9ydHNET01FdmVudHM9ITB9fXtzdGF0aWMgbWFrZUN1cnJlbnQoKXshKGZ1bmN0aW9uIHQoZSl7YU18fChhTT1lKX0pKG5ldyBteCl9b25BbmRDYW5jZWwodCxlLG4pe3JldHVybiB0LmFkZEV2ZW50TGlzdGVuZXIoZSxuLCExKSwoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4sITEpfX1kaXNwYXRjaEV2ZW50KHQsZSl7dC5kaXNwYXRjaEV2ZW50KGUpfXJlbW92ZSh0KXt0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KX1jcmVhdGVFbGVtZW50KHQsZSl7cmV0dXJuKGU9ZXx8dGhpcy5nZXREZWZhdWx0RG9jdW1lbnQoKSkuY3JlYXRlRWxlbWVudCh0KX1jcmVhdGVIdG1sRG9jdW1lbnQoKXtyZXR1cm4gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCJmYWtlVGl0bGUiKX1nZXREZWZhdWx0RG9jdW1lbnQoKXtyZXR1cm4gZG9jdW1lbnR9aXNFbGVtZW50Tm9kZSh0KXtyZXR1cm4gdC5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFfWlzU2hhZG93Um9vdCh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnR9Z2V0R2xvYmFsRXZlbnRUYXJnZXQodCxlKXtyZXR1cm4id2luZG93Ij09PWU/d2luZG93OiJkb2N1bWVudCI9PT1lP3Q6ImJvZHkiPT09ZT90LmJvZHk6bnVsbH1nZXRCYXNlSHJlZih0KXtjb25zdCBlPShmdW5jdGlvbiBuKCl7cmV0dXJuIHV4PXV4fHxkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJiYXNlIiksdXg/dXguZ2V0QXR0cmlidXRlKCJocmVmIik6bnVsbH0pKCk7cmV0dXJuIG51bGw9PWU/bnVsbDooZnVuY3Rpb24gbyh0KXtmeD1meHx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLGZ4LnNldEF0dHJpYnV0ZSgiaHJlZiIsdCk7Y29uc3QgZT1meC5wYXRobmFtZTtyZXR1cm4iLyI9PT1lLmNoYXJBdCgwKT9lOmAvJHtlfWB9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykoZSl9cmVzZXRCYXNlRWxlbWVudCgpe3V4PW51bGx9Z2V0VXNlckFnZW50KCl7cmV0dXJuIHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50fWdldENvb2tpZSh0KXtyZXR1cm4gX3YoZG9jdW1lbnQuY29va2llLHQpfX1sZXQgZngsdXg9bnVsbDtjb25zdCBneD1uZXcgZXIoIlRSQU5TSVRJT05fSUQiKTtjb25zdCBoeD1be3Byb3ZpZGU6al8sdXNlRmFjdG9yeTpmdW5jdGlvbiBieCh0LGUsbil7cmV0dXJuKCk9PntuLmdldChVXykuZG9uZVByb21pc2UudGhlbigoKCk9Pntjb25zdCBuPXJNKCk7QXJyYXkucHJvdG90eXBlLnNsaWNlLmFwcGx5KGUucXVlcnlTZWxlY3RvckFsbCgic3R5bGVbbmctdHJhbnNpdGlvbl0iKSkuZmlsdGVyKChlPT5lLmdldEF0dHJpYnV0ZSgibmctdHJhbnNpdGlvbiIpPT09dCkpLmZvckVhY2goKHQ9Pm4ucmVtb3ZlKHQpKSl9KSl9fSxkZXBzOltneCxzTSxOcF0sbXVsdGk6ITB9XTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgeXh7c3RhdGljIGluaXQoKXshKGZ1bmN0aW9uIHQoZSl7dkM9ZX0pKG5ldyB5eCl9YWRkVG9XaW5kb3codCl7WG4uZ2V0QW5ndWxhclRlc3RhYmlsaXR5PShlLG49ITApPT57Y29uc3Qgbz10LmZpbmRUZXN0YWJpbGl0eUluVHJlZShlLG4pO2lmKG51bGw9PW8pdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgZmluZCB0ZXN0YWJpbGl0eSBmb3IgZWxlbWVudC4iKTtyZXR1cm4gb30sWG4uZ2V0QWxsQW5ndWxhclRlc3RhYmlsaXRpZXM9KCk9PnQuZ2V0QWxsVGVzdGFiaWxpdGllcygpLFhuLmdldEFsbEFuZ3VsYXJSb290RWxlbWVudHM9KCk9PnQuZ2V0QWxsUm9vdEVsZW1lbnRzKCk7WG4uZnJhbWV3b3JrU3RhYmlsaXplcnN8fChYbi5mcmFtZXdvcmtTdGFiaWxpemVycz1bXSksWG4uZnJhbWV3b3JrU3RhYmlsaXplcnMucHVzaCgodD0+e2NvbnN0IGU9WG4uZ2V0QWxsQW5ndWxhclRlc3RhYmlsaXRpZXMoKTtsZXQgbj1lLmxlbmd0aCxvPSExO2NvbnN0IGk9ZnVuY3Rpb24oZSl7bz1vfHxlLG4tLSwwPT1uJiZ0KG8pfTtlLmZvckVhY2goKGZ1bmN0aW9uKHQpe3Qud2hlblN0YWJsZShpKX0pKX0pKX1maW5kVGVzdGFiaWxpdHlJblRyZWUodCxlLG4pe2lmKG51bGw9PWUpcmV0dXJuIG51bGw7Y29uc3Qgbz10LmdldFRlc3RhYmlsaXR5KGUpO3JldHVybiBudWxsIT1vP286bj9yTSgpLmlzU2hhZG93Um9vdChlKT90aGlzLmZpbmRUZXN0YWJpbGl0eUluVHJlZSh0LGUuaG9zdCwhMCk6dGhpcy5maW5kVGVzdGFiaWxpdHlJblRyZWUodCxlLnBhcmVudEVsZW1lbnQsITApOm51bGx9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBfeHtidWlsZCgpe3JldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9fV94Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxfeCl9LF94Lsm1cHJvdj1Tbih7dG9rZW46X3gsZmFjdG9yeTpfeC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoX3gsW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtuZXcgQnI7Y29uc3QgQ3g9W10sTXg9bmV3IGVyKCJFdmVudE1hbmFnZXJQbHVnaW5zIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIHZ4e2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fem9uZT1lLHRoaXMuX2V2ZW50TmFtZVRvUGx1Z2luPW5ldyBNYXAsdC5mb3JFYWNoKCh0PT50Lm1hbmFnZXI9dGhpcykpLHRoaXMuX3BsdWdpbnM9dC5zbGljZSgpLnJldmVyc2UoKX1hZGRFdmVudExpc3RlbmVyKHQsZSxuKXtyZXR1cm4gdGhpcy5fZmluZFBsdWdpbkZvcihlKS5hZGRFdmVudExpc3RlbmVyKHQsZSxuKX1hZGRHbG9iYWxFdmVudExpc3RlbmVyKHQsZSxuKXtyZXR1cm4gdGhpcy5fZmluZFBsdWdpbkZvcihlKS5hZGRHbG9iYWxFdmVudExpc3RlbmVyKHQsZSxuKX1nZXRab25lKCl7cmV0dXJuIHRoaXMuX3pvbmV9X2ZpbmRQbHVnaW5Gb3IodCl7Y29uc3QgZT10aGlzLl9ldmVudE5hbWVUb1BsdWdpbi5nZXQodCk7aWYoZSlyZXR1cm4gZTtjb25zdCBuPXRoaXMuX3BsdWdpbnM7Zm9yKGxldCBlPTA7ZTxuLmxlbmd0aDtlKyspe2NvbnN0IG89bltlXTtpZihvLnN1cHBvcnRzKHQpKXJldHVybiB0aGlzLl9ldmVudE5hbWVUb1BsdWdpbi5zZXQodCxvKSxvfXRocm93IG5ldyBFcnJvcihgTm8gZXZlbnQgbWFuYWdlciBwbHVnaW4gZm91bmQgZm9yIGV2ZW50ICR7dH1gKX19dnguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHZ4KShUcihNeCksVHIobUMpKX0sdnguybVwcm92PVNuKHt0b2tlbjp2eCxmYWN0b3J5OnZ4Lsm1ZmFjfSksdnguY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltNeF19XX0se3R5cGU6bUN9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHZ4LFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltNeF19XX0se3R5cGU6bUN9XX0pLG51bGwpO2NsYXNzIHh4e2NvbnN0cnVjdG9yKHQpe3RoaXMuX2RvYz10fWFkZEdsb2JhbEV2ZW50TGlzdGVuZXIodCxlLG4pe2NvbnN0IG89ck0oKS5nZXRHbG9iYWxFdmVudFRhcmdldCh0aGlzLl9kb2MsdCk7aWYoIW8pdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBldmVudCB0YXJnZXQgJHtvfSBmb3IgZXZlbnQgJHtlfWApO3JldHVybiB0aGlzLmFkZEV2ZW50TGlzdGVuZXIobyxlLG4pfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgT3h7Y29uc3RydWN0b3IoKXt0aGlzLl9zdHlsZXNTZXQ9bmV3IFNldH1hZGRTdHlsZXModCl7Y29uc3QgZT1uZXcgU2V0O3QuZm9yRWFjaCgodD0+e3RoaXMuX3N0eWxlc1NldC5oYXModCl8fCh0aGlzLl9zdHlsZXNTZXQuYWRkKHQpLGUuYWRkKHQpKX0pKSx0aGlzLm9uU3R5bGVzQWRkZWQoZSl9b25TdHlsZXNBZGRlZCh0KXt9Z2V0QWxsU3R5bGVzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5fc3R5bGVzU2V0KX19T3guybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE94KX0sT3guybVwcm92PVNuKHt0b2tlbjpPeCxmYWN0b3J5Ok94Lsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPeCxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpO2NsYXNzIFB4IGV4dGVuZHMgT3h7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLl9kb2M9dCx0aGlzLl9ob3N0Tm9kZXM9bmV3IE1hcCx0aGlzLl9ob3N0Tm9kZXMuc2V0KHQuaGVhZCxbXSl9X2FkZFN0eWxlc1RvSG9zdCh0LGUsbil7dC5mb3JFYWNoKCh0PT57Y29uc3Qgbz10aGlzLl9kb2MuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtvLnRleHRDb250ZW50PXQsbi5wdXNoKGUuYXBwZW5kQ2hpbGQobykpfSkpfWFkZEhvc3QodCl7Y29uc3QgZT1bXTt0aGlzLl9hZGRTdHlsZXNUb0hvc3QodGhpcy5fc3R5bGVzU2V0LHQsZSksdGhpcy5faG9zdE5vZGVzLnNldCh0LGUpfXJlbW92ZUhvc3QodCl7Y29uc3QgZT10aGlzLl9ob3N0Tm9kZXMuZ2V0KHQpO2UmJmUuZm9yRWFjaCh3eCksdGhpcy5faG9zdE5vZGVzLmRlbGV0ZSh0KX1vblN0eWxlc0FkZGVkKHQpe3RoaXMuX2hvc3ROb2Rlcy5mb3JFYWNoKCgoZSxuKT0+e3RoaXMuX2FkZFN0eWxlc1RvSG9zdCh0LG4sZSl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9ob3N0Tm9kZXMuZm9yRWFjaCgodD0+dC5mb3JFYWNoKHd4KSkpfX1mdW5jdGlvbiB3eCh0KXtyTSgpLnJlbW92ZSh0KX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovUHguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFB4KShUcihzTSkpfSxQeC7JtXByb3Y9U24oe3Rva2VuOlB4LGZhY3Rvcnk6UHguybVmYWN9KSxQeC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUHgsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dfSksbnVsbCk7Y29uc3Qga3g9e3N2ZzoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhodG1sOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIix4bGluazoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIseG1sOiJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3htbG5zLyJ9LFN4PS8lQ09NUCUvZyxEeD0idW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8ISFuZ0Rldk1vZGUsUng9Il9uZ2hvc3QtJUNPTVAlIixFeD0iX25nY29udGVudC0lQ09NUCUiO2Z1bmN0aW9uIEF4KHQsZSxuKXtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7bGV0IGk9ZVtvXTtBcnJheS5pc0FycmF5KGkpP0F4KHQsaSxuKTooaT1pLnJlcGxhY2UoU3gsdCksbi5wdXNoKGkpKX1yZXR1cm4gbn1mdW5jdGlvbiBUeCh0KXtyZXR1cm4gZT0+e2lmKCJfX25nVW53cmFwX18iPT09ZSlyZXR1cm4gdDshMT09PXQoZSkmJihlLnByZXZlbnREZWZhdWx0KCksZS5yZXR1cm5WYWx1ZT0hMSl9fWxldCBOeD0hMTtjbGFzcyB6eHtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5ldmVudE1hbmFnZXI9dCx0aGlzLnNoYXJlZFN0eWxlc0hvc3Q9ZSx0aGlzLmFwcElkPW4sdGhpcy5yZW5kZXJlckJ5Q29tcElkPW5ldyBNYXAsdGhpcy5kZWZhdWx0UmVuZGVyZXI9bmV3IEl4KHQpfWNyZWF0ZVJlbmRlcmVyKHQsZSl7aWYoIXR8fCFlKXJldHVybiB0aGlzLmRlZmF1bHRSZW5kZXJlcjtzd2l0Y2goZS5lbmNhcHN1bGF0aW9uKXtjYXNlIFduLkVtdWxhdGVkOntsZXQgbj10aGlzLnJlbmRlcmVyQnlDb21wSWQuZ2V0KGUuaWQpO3JldHVybiBufHwobj1uZXcgTHgodGhpcy5ldmVudE1hbmFnZXIsdGhpcy5zaGFyZWRTdHlsZXNIb3N0LGUsdGhpcy5hcHBJZCksdGhpcy5yZW5kZXJlckJ5Q29tcElkLnNldChlLmlkLG4pKSxuLmFwcGx5VG9Ib3N0KHQpLG59Y2FzZSAxOmNhc2UgV24uU2hhZG93RG9tOnJldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlfHxOeHx8MSE9PWUuZW5jYXBzdWxhdGlvbnx8KE54PSEwLGNvbnNvbGUud2FybigiVmlld0VuY2Fwc3VsYXRpb24uTmF0aXZlIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuIEZhbGxpbmcgYmFjayB0byBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb20uIFRoZSBmYWxsYmFjayB3aWxsIGJlIHJlbW92ZWQgaW4gdjEyLiIpKSxuZXcgQngodGhpcy5ldmVudE1hbmFnZXIsdGhpcy5zaGFyZWRTdHlsZXNIb3N0LHQsZSk7ZGVmYXVsdDppZighdGhpcy5yZW5kZXJlckJ5Q29tcElkLmhhcyhlLmlkKSl7Y29uc3QgdD1BeChlLmlkLGUuc3R5bGVzLFtdKTt0aGlzLnNoYXJlZFN0eWxlc0hvc3QuYWRkU3R5bGVzKHQpLHRoaXMucmVuZGVyZXJCeUNvbXBJZC5zZXQoZS5pZCx0aGlzLmRlZmF1bHRSZW5kZXJlcil9cmV0dXJuIHRoaXMuZGVmYXVsdFJlbmRlcmVyfX1iZWdpbigpe31lbmQoKXt9fXp4Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx6eCkoVHIodngpLFRyKFB4KSxUcihXXykpfSx6eC7JtXByb3Y9U24oe3Rva2VuOnp4LGZhY3Rvcnk6enguybVmYWN9KSx6eC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnZ4fSx7dHlwZTpQeH0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1dfXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih6eCxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dnh9LHt0eXBlOlB4fSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbV19dfV19XX0pLG51bGwpO2NsYXNzIEl4e2NvbnN0cnVjdG9yKHQpe3RoaXMuZXZlbnRNYW5hZ2VyPXQsdGhpcy5kYXRhPU9iamVjdC5jcmVhdGUobnVsbCl9ZGVzdHJveSgpe31jcmVhdGVFbGVtZW50KHQsZSl7cmV0dXJuIGU/ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKGt4W2VdfHxlLHQpOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCl9Y3JlYXRlQ29tbWVudCh0KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCh0KX1jcmVhdGVUZXh0KHQpe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KX1hcHBlbmRDaGlsZCh0LGUpe3QuYXBwZW5kQ2hpbGQoZSl9aW5zZXJ0QmVmb3JlKHQsZSxuKXt0JiZ0Lmluc2VydEJlZm9yZShlLG4pfXJlbW92ZUNoaWxkKHQsZSl7dCYmdC5yZW1vdmVDaGlsZChlKX1zZWxlY3RSb290RWxlbWVudCh0LGUpe2xldCBuPSJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpOnQ7aWYoIW4pdGhyb3cgbmV3IEVycm9yKGBUaGUgc2VsZWN0b3IgIiR7dH0iIGRpZCBub3QgbWF0Y2ggYW55IGVsZW1lbnRzYCk7cmV0dXJuIGV8fChuLnRleHRDb250ZW50PSIiKSxufXBhcmVudE5vZGUodCl7cmV0dXJuIHQucGFyZW50Tm9kZX1uZXh0U2libGluZyh0KXtyZXR1cm4gdC5uZXh0U2libGluZ31zZXRBdHRyaWJ1dGUodCxlLG4sbyl7aWYobyl7ZT1vKyI6IitlO2NvbnN0IGk9a3hbb107aT90LnNldEF0dHJpYnV0ZU5TKGksZSxuKTp0LnNldEF0dHJpYnV0ZShlLG4pfWVsc2UgdC5zZXRBdHRyaWJ1dGUoZSxuKX1yZW1vdmVBdHRyaWJ1dGUodCxlLG4pe2lmKG4pe2NvbnN0IG89a3hbbl07bz90LnJlbW92ZUF0dHJpYnV0ZU5TKG8sZSk6dC5yZW1vdmVBdHRyaWJ1dGUoYCR7bn06JHtlfWApfWVsc2UgdC5yZW1vdmVBdHRyaWJ1dGUoZSl9YWRkQ2xhc3ModCxlKXt0LmNsYXNzTGlzdC5hZGQoZSl9cmVtb3ZlQ2xhc3ModCxlKXt0LmNsYXNzTGlzdC5yZW1vdmUoZSl9c2V0U3R5bGUodCxlLG4sbyl7byYoRWwuRGFzaENhc2V8RWwuSW1wb3J0YW50KT90LnN0eWxlLnNldFByb3BlcnR5KGUsbixvJkVsLkltcG9ydGFudD8iaW1wb3J0YW50IjoiIik6dC5zdHlsZVtlXT1ufXJlbW92ZVN0eWxlKHQsZSxuKXtuJkVsLkRhc2hDYXNlP3Quc3R5bGUucmVtb3ZlUHJvcGVydHkoZSk6dC5zdHlsZVtlXT0iIn1zZXRQcm9wZXJ0eSh0LGUsbil7RHgmJkZ4KGUsInByb3BlcnR5IiksdFtlXT1ufXNldFZhbHVlKHQsZSl7dC5ub2RlVmFsdWU9ZX1saXN0ZW4odCxlLG4pe3JldHVybiBEeCYmRngoZSwibGlzdGVuZXIiKSwic3RyaW5nIj09dHlwZW9mIHQ/dGhpcy5ldmVudE1hbmFnZXIuYWRkR2xvYmFsRXZlbnRMaXN0ZW5lcih0LGUsVHgobikpOnRoaXMuZXZlbnRNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIodCxlLFR4KG4pKX19Y29uc3QgSHg9IkAiLmNoYXJDb2RlQXQoMCk7ZnVuY3Rpb24gRngodCxlKXtpZih0LmNoYXJDb2RlQXQoMCk9PT1IeCl0aHJvdyBuZXcgRXJyb3IoYEZvdW5kIHRoZSBzeW50aGV0aWMgJHtlfSAke3R9LiBQbGVhc2UgaW5jbHVkZSBlaXRoZXIgIkJyb3dzZXJBbmltYXRpb25zTW9kdWxlIiBvciAiTm9vcEFuaW1hdGlvbnNNb2R1bGUiIGluIHlvdXIgYXBwbGljYXRpb24uYCl9Y2xhc3MgTHggZXh0ZW5kcyBJeHtjb25zdHJ1Y3Rvcih0LGUsbixvKXtzdXBlcih0KSx0aGlzLmNvbXBvbmVudD1uO2NvbnN0IGk9QXgobysiLSIrbi5pZCxuLnN0eWxlcyxbXSk7ZS5hZGRTdHlsZXMoaSksdGhpcy5jb250ZW50QXR0cj0oZnVuY3Rpb24gYSh0KXtyZXR1cm4gRXgucmVwbGFjZShTeCx0KX0pKG8rIi0iK24uaWQpLHRoaXMuaG9zdEF0dHI9KGZ1bmN0aW9uIHIodCl7cmV0dXJuIFJ4LnJlcGxhY2UoU3gsdCl9KShvKyItIituLmlkKX1hcHBseVRvSG9zdCh0KXtzdXBlci5zZXRBdHRyaWJ1dGUodCx0aGlzLmhvc3RBdHRyLCIiKX1jcmVhdGVFbGVtZW50KHQsZSl7Y29uc3Qgbj1zdXBlci5jcmVhdGVFbGVtZW50KHQsZSk7cmV0dXJuIHN1cGVyLnNldEF0dHJpYnV0ZShuLHRoaXMuY29udGVudEF0dHIsIiIpLG59fWNsYXNzIEJ4IGV4dGVuZHMgSXh7Y29uc3RydWN0b3IodCxlLG4sbyl7c3VwZXIodCksdGhpcy5zaGFyZWRTdHlsZXNIb3N0PWUsdGhpcy5ob3N0RWw9bix0aGlzLnNoYWRvd1Jvb3Q9bi5hdHRhY2hTaGFkb3coe21vZGU6Im9wZW4ifSksdGhpcy5zaGFyZWRTdHlsZXNIb3N0LmFkZEhvc3QodGhpcy5zaGFkb3dSb290KTtjb25zdCBpPUF4KG8uaWQsby5zdHlsZXMsW10pO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtjb25zdCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7ZS50ZXh0Q29udGVudD1pW3RdLHRoaXMuc2hhZG93Um9vdC5hcHBlbmRDaGlsZChlKX19bm9kZU9yU2hhZG93Um9vdCh0KXtyZXR1cm4gdD09PXRoaXMuaG9zdEVsP3RoaXMuc2hhZG93Um9vdDp0fWRlc3Ryb3koKXt0aGlzLnNoYXJlZFN0eWxlc0hvc3QucmVtb3ZlSG9zdCh0aGlzLnNoYWRvd1Jvb3QpfWFwcGVuZENoaWxkKHQsZSl7cmV0dXJuIHN1cGVyLmFwcGVuZENoaWxkKHRoaXMubm9kZU9yU2hhZG93Um9vdCh0KSxlKX1pbnNlcnRCZWZvcmUodCxlLG4pe3JldHVybiBzdXBlci5pbnNlcnRCZWZvcmUodGhpcy5ub2RlT3JTaGFkb3dSb290KHQpLGUsbil9cmVtb3ZlQ2hpbGQodCxlKXtyZXR1cm4gc3VwZXIucmVtb3ZlQ2hpbGQodGhpcy5ub2RlT3JTaGFkb3dSb290KHQpLGUpfXBhcmVudE5vZGUodCl7cmV0dXJuIHRoaXMubm9kZU9yU2hhZG93Um9vdChzdXBlci5wYXJlbnROb2RlKHRoaXMubm9kZU9yU2hhZG93Um9vdCh0KSkpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgVnggZXh0ZW5kcyB4eHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1zdXBwb3J0cyh0KXtyZXR1cm4hMH1hZGRFdmVudExpc3RlbmVyKHQsZSxuKXtyZXR1cm4gdC5hZGRFdmVudExpc3RlbmVyKGUsbiwhMSksKCk9PnRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGUsbil9cmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGUsbil7cmV0dXJuIHQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4pfX1WeC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8VngpKFRyKHNNKSl9LFZ4Lsm1cHJvdj1Tbih7dG9rZW46VngsZmFjdG9yeTpWeC7JtWZhY30pLFZ4LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWeCxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IGp4PXtwYW46ITAscGFuc3RhcnQ6ITAscGFubW92ZTohMCxwYW5lbmQ6ITAscGFuY2FuY2VsOiEwLHBhbmxlZnQ6ITAscGFucmlnaHQ6ITAscGFudXA6ITAscGFuZG93bjohMCxwaW5jaDohMCxwaW5jaHN0YXJ0OiEwLHBpbmNobW92ZTohMCxwaW5jaGVuZDohMCxwaW5jaGNhbmNlbDohMCxwaW5jaGluOiEwLHBpbmNob3V0OiEwLHByZXNzOiEwLHByZXNzdXA6ITAscm90YXRlOiEwLHJvdGF0ZXN0YXJ0OiEwLHJvdGF0ZW1vdmU6ITAscm90YXRlZW5kOiEwLHJvdGF0ZWNhbmNlbDohMCxzd2lwZTohMCxzd2lwZWxlZnQ6ITAsc3dpcGVyaWdodDohMCxzd2lwZXVwOiEwLHN3aXBlZG93bjohMCx0YXA6ITAsZG91YmxldGFwOiEwfSxVeD1uZXcgZXIoIkhhbW1lckdlc3R1cmVDb25maWciKSxXeD1uZXcgZXIoIkhhbW1lckxvYWRlciIpO2NsYXNzIEd4e2NvbnN0cnVjdG9yKCl7dGhpcy5ldmVudHM9W10sdGhpcy5vdmVycmlkZXM9e319YnVpbGRIYW1tZXIodCl7Y29uc3QgZT1uZXcgSGFtbWVyKHQsdGhpcy5vcHRpb25zKTtlLmdldCgicGluY2giKS5zZXQoe2VuYWJsZTohMH0pLGUuZ2V0KCJyb3RhdGUiKS5zZXQoe2VuYWJsZTohMH0pO2Zvcihjb25zdCB0IGluIHRoaXMub3ZlcnJpZGVzKWUuZ2V0KHQpLnNldCh0aGlzLm92ZXJyaWRlc1t0XSk7cmV0dXJuIGV9fUd4Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxHeCl9LEd4Lsm1cHJvdj1Tbih7dG9rZW46R3gsZmFjdG9yeTpHeC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoR3gsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSxudWxsKTtjbGFzcyBZeCBleHRlbmRzIHh4e2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKHQpLHRoaXMuX2NvbmZpZz1lLHRoaXMuY29uc29sZT1uLHRoaXMubG9hZGVyPW8sdGhpcy5fbG9hZGVyUHJvbWlzZT1udWxsfXN1cHBvcnRzKHQpe3JldHVybiEoIWp4Lmhhc093blByb3BlcnR5KHQudG9Mb3dlckNhc2UoKSkmJiF0aGlzLmlzQ3VzdG9tRXZlbnQodCkpJiYoISghd2luZG93LkhhbW1lciYmIXRoaXMubG9hZGVyKXx8KCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmdGhpcy5jb25zb2xlLndhcm4oYFRoZSAiJHt0fSIgZXZlbnQgY2Fubm90IGJlIGJvdW5kIGJlY2F1c2UgSGFtbWVyLkpTIGlzIG5vdCBsb2FkZWQgYW5kIG5vIGN1c3RvbSBsb2FkZXIgaGFzIGJlZW4gc3BlY2lmaWVkLmApLCExKSl9YWRkRXZlbnRMaXN0ZW5lcih0LGUsbil7Y29uc3Qgbz10aGlzLm1hbmFnZXIuZ2V0Wm9uZSgpO2lmKGU9ZS50b0xvd2VyQ2FzZSgpLCF3aW5kb3cuSGFtbWVyJiZ0aGlzLmxvYWRlcil7dGhpcy5fbG9hZGVyUHJvbWlzZT10aGlzLl9sb2FkZXJQcm9taXNlfHx0aGlzLmxvYWRlcigpO2xldCBvPSExLGk9KCk9PntvPSEwfTtyZXR1cm4gdGhpcy5fbG9hZGVyUHJvbWlzZS50aGVuKCgoKT0+e2lmKCF3aW5kb3cuSGFtbWVyKXJldHVybigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmdGhpcy5jb25zb2xlLndhcm4oIlRoZSBjdXN0b20gSEFNTUVSX0xPQURFUiBjb21wbGV0ZWQsIGJ1dCBIYW1tZXIuSlMgaXMgbm90IHByZXNlbnQuIiksdm9pZChpPSgpPT57fSk7b3x8KGk9dGhpcy5hZGRFdmVudExpc3RlbmVyKHQsZSxuKSl9KSkuY2F0Y2goKCgpPT57KCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZ0aGlzLmNvbnNvbGUud2FybihgVGhlICIke2V9IiBldmVudCBjYW5ub3QgYmUgYm91bmQgYmVjYXVzZSB0aGUgY3VzdG9tIEhhbW1lci5KUyBsb2FkZXIgZmFpbGVkLmApLGk9KCk9Pnt9fSkpLCgpPT57aSgpfX1yZXR1cm4gby5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pntjb25zdCBpPXRoaXMuX2NvbmZpZy5idWlsZEhhbW1lcih0KSxhPWZ1bmN0aW9uKHQpe28ucnVuR3VhcmRlZCgoZnVuY3Rpb24oKXtuKHQpfSkpfTtyZXR1cm4gaS5vbihlLGEpLCgpPT57aS5vZmYoZSxhKSwiZnVuY3Rpb24iPT10eXBlb2YgaS5kZXN0cm95JiZpLmRlc3Ryb3koKX19KSl9aXNDdXN0b21FdmVudCh0KXtyZXR1cm4gdGhpcy5fY29uZmlnLmV2ZW50cy5pbmRleE9mKHQpPi0xfX1ZeC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WXgpKFRyKHNNKSxUcihVeCksVHIoSl8pLFRyKFd4LDgpKX0sWXguybVwcm92PVNuKHt0b2tlbjpZeCxmYWN0b3J5Oll4Lsm1ZmFjfSksWXguY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOkd4LGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1V4XX1dfSx7dHlwZTpKX30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltXeF19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWXgsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6R3gsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbVXhdfV19LHt0eXBlOkpffSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1d4XX1dfV19KSxudWxsKTtjb25zdCBxeD1be3Byb3ZpZGU6TXgsdXNlQ2xhc3M6WXgsbXVsdGk6ITAsZGVwczpbc00sVXgsSl8sW25ldyBCcixXeF1dfSx7cHJvdmlkZTpVeCx1c2VDbGFzczpHeCxkZXBzOltdfV0sWng9W107Y2xhc3MgWHh7fVh4Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxYeCl9LFh4Lsm1bW9kPWZvKHt0eXBlOlh4fSksWHguybVpbmo9RG4oe3Byb3ZpZGVyczpxeH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWHgsW3t0eXBlOkxfLGFyZ3M6W3twcm92aWRlcnM6cXh9XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBLeD1bImFsdCIsImNvbnRyb2wiLCJtZXRhIiwic2hpZnQiXSxKeD17IlxiIjoiQmFja3NwYWNlIiwiXHQiOiJUYWIiLCJ/IjoiRGVsZXRlIiwiGyI6IkVzY2FwZSIsRGVsOiJEZWxldGUiLEVzYzoiRXNjYXBlIixMZWZ0OiJBcnJvd0xlZnQiLFJpZ2h0OiJBcnJvd1JpZ2h0IixVcDoiQXJyb3dVcCIsRG93bjoiQXJyb3dEb3duIixNZW51OiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixXaW46Ik9TIn0sUXg9e0E6IjEiLEI6IjIiLEM6IjMiLEQ6IjQiLEU6IjUiLEY6IjYiLEc6IjciLEg6IjgiLEk6IjkiLEo6IioiLEs6IisiLE06Ii0iLE46Ii4iLE86Ii8iLCJgIjoiMCIsIsKQIjoiTnVtTG9jayJ9LCR4PXthbHQ6dD0+dC5hbHRLZXksY29udHJvbDp0PT50LmN0cmxLZXksbWV0YTp0PT50Lm1ldGFLZXksc2hpZnQ6dD0+dC5zaGlmdEtleX07Y2xhc3MgdE8gZXh0ZW5kcyB4eHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KX1zdXBwb3J0cyh0KXtyZXR1cm4gbnVsbCE9dE8ucGFyc2VFdmVudE5hbWUodCl9YWRkRXZlbnRMaXN0ZW5lcih0LGUsbil7Y29uc3Qgbz10Ty5wYXJzZUV2ZW50TmFtZShlKSxpPXRPLmV2ZW50Q2FsbGJhY2soby5mdWxsS2V5LG4sdGhpcy5tYW5hZ2VyLmdldFpvbmUoKSk7cmV0dXJuIHRoaXMubWFuYWdlci5nZXRab25lKCkucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT5yTSgpLm9uQW5kQ2FuY2VsKHQsby5kb21FdmVudE5hbWUsaSkpKX1zdGF0aWMgcGFyc2VFdmVudE5hbWUodCl7Y29uc3QgZT10LnRvTG93ZXJDYXNlKCkuc3BsaXQoIi4iKSxuPWUuc2hpZnQoKTtpZigwPT09ZS5sZW5ndGh8fCJrZXlkb3duIiE9PW4mJiJrZXl1cCIhPT1uKXJldHVybiBudWxsO2NvbnN0IG89dE8uX25vcm1hbGl6ZUtleShlLnBvcCgpKTtsZXQgaT0iIjtpZihLeC5mb3JFYWNoKCh0PT57Y29uc3Qgbj1lLmluZGV4T2YodCk7bj4tMSYmKGUuc3BsaWNlKG4sMSksaSs9dCsiLiIpfSkpLGkrPW8sMCE9ZS5sZW5ndGh8fDA9PT1vLmxlbmd0aClyZXR1cm4gbnVsbDtjb25zdCBhPXt9O3JldHVybiBhLmRvbUV2ZW50TmFtZT1uLGEuZnVsbEtleT1pLGF9c3RhdGljIGdldEV2ZW50RnVsbEtleSh0KXtsZXQgZT0iIixuPShmdW5jdGlvbiBvKHQpe2xldCBlPXQua2V5O2lmKG51bGw9PWUpe2lmKGU9dC5rZXlJZGVudGlmaWVyLG51bGw9PWUpcmV0dXJuIlVuaWRlbnRpZmllZCI7ZS5zdGFydHNXaXRoKCJVKyIpJiYoZT1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KGUuc3Vic3RyaW5nKDIpLDE2KSksMz09PXQubG9jYXRpb24mJlF4Lmhhc093blByb3BlcnR5KGUpJiYoZT1ReFtlXSkpfXJldHVybiBKeFtlXXx8ZX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0KTtyZXR1cm4gbj1uLnRvTG93ZXJDYXNlKCksIiAiPT09bj9uPSJzcGFjZSI6Ii4iPT09biYmKG49ImRvdCIpLEt4LmZvckVhY2goKG89PntpZihvIT1uKXsoMCwkeFtvXSkodCkmJihlKz1vKyIuIil9fSkpLGUrPW4sZX1zdGF0aWMgZXZlbnRDYWxsYmFjayh0LGUsbil7cmV0dXJuIG89Pnt0Ty5nZXRFdmVudEZ1bGxLZXkobyk9PT10JiZuLnJ1bkd1YXJkZWQoKCgpPT5lKG8pKSl9fXN0YXRpYyBfbm9ybWFsaXplS2V5KHQpe3N3aXRjaCh0KXtjYXNlImVzYyI6cmV0dXJuImVzY2FwZSI7ZGVmYXVsdDpyZXR1cm4gdH19fXRPLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0TykoVHIoc00pKX0sdE8uybVwcm92PVNuKHt0b2tlbjp0TyxmYWN0b3J5OnRPLsm1ZmFjfSksdE8uY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHRPLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpO2NsYXNzIGVPe31mdW5jdGlvbiBuTyh0KXtyZXR1cm4gbmV3IG9PKHQuZ2V0KHNNKSl9ZU8uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGVPKX0sZU8uybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gVHIob08pfSx0b2tlbjplTyxwcm92aWRlZEluOiJyb290In0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZU8sW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290Iix1c2VFeGlzdGluZzokZSgoKCk9Pm9PKSl9XX1dLG51bGwsbnVsbCk7Y2xhc3Mgb08gZXh0ZW5kcyBlT3tjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuX2RvYz10fXNhbml0aXplKHQsZSl7aWYobnVsbD09ZSlyZXR1cm4gbnVsbDtzd2l0Y2godCl7Y2FzZSBZcy5OT05FOnJldHVybiBlO2Nhc2UgWXMuSFRNTDpyZXR1cm4gZ3MoZSwiSFRNTCIpP3VzKGUpOldzKHRoaXMuX2RvYyxTdHJpbmcoZSkpLnRvU3RyaW5nKCk7Y2FzZSBZcy5TVFlMRTpyZXR1cm4gZ3MoZSwiU3R5bGUiKT91cyhlKTplO2Nhc2UgWXMuU0NSSVBUOmlmKGdzKGUsIlNjcmlwdCIpKXJldHVybiB1cyhlKTt0aHJvdyBuZXcgRXJyb3IoInVuc2FmZSB2YWx1ZSB1c2VkIGluIGEgc2NyaXB0IGNvbnRleHQiKTtjYXNlIFlzLlVSTDpyZXR1cm4gaHMoZSksZ3MoZSwiVVJMIik/dXMoZSk6dnMoU3RyaW5nKGUpKTtjYXNlIFlzLlJFU09VUkNFX1VSTDppZihncyhlLCJSZXNvdXJjZVVSTCIpKXJldHVybiB1cyhlKTt0aHJvdyBuZXcgRXJyb3IoInVuc2FmZSB2YWx1ZSB1c2VkIGluIGEgcmVzb3VyY2UgVVJMIGNvbnRleHQgKHNlZSBodHRwczovL2cuY28vbmcvc2VjdXJpdHkjeHNzKSIpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIFNlY3VyaXR5Q29udGV4dCAke3R9IChzZWUgaHR0cHM6Ly9nLmNvL25nL3NlY3VyaXR5I3hzcylgKX19YnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodCl7cmV0dXJuKGZ1bmN0aW9uIGUodCl7cmV0dXJuIG5ldyBjcyh0KX0pKHQpfWJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZSh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IGRzKHQpfSkodCl9YnlwYXNzU2VjdXJpdHlUcnVzdFNjcmlwdCh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IHBzKHQpfSkodCl9YnlwYXNzU2VjdXJpdHlUcnVzdFVybCh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4gbmV3IG1zKHQpfSkodCl9YnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHQpe3JldHVybihmdW5jdGlvbiBlKHQpe3JldHVybiBuZXcgZnModCl9KSh0KX19b08uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG9PKShUcihzTSkpfSxvTy7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuTyhUcih5cCkpfSx0b2tlbjpvTyxwcm92aWRlZEluOiJyb290In0pLG9PLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihvTyxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QiLHVzZUZhY3Rvcnk6bk8sZGVwczpbTnBdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjb25zdCBpTz1bXSxhTz1UQyhXQywiYnJvd3NlciIsW3twcm92aWRlOlhfLHVzZVZhbHVlOiJicm93c2VyIn0se3Byb3ZpZGU6Wl8sdXNlVmFsdWU6Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiByTygpe214Lm1ha2VDdXJyZW50KCkseXguaW5pdCgpfSxtdWx0aTohMH0se3Byb3ZpZGU6c00sdXNlRmFjdG9yeTpmdW5jdGlvbiBzTygpe3JldHVybihmdW5jdGlvbiB0KGUpe29pPWV9KShkb2N1bWVudCksZG9jdW1lbnR9LGRlcHM6W119XSksbE89W2lPLHtwcm92aWRlOkNwLHVzZVZhbHVlOiJyb290In0se3Byb3ZpZGU6dWwsdXNlRmFjdG9yeTpmdW5jdGlvbiBjTygpe3JldHVybiBuZXcgdWx9LGRlcHM6W119LHtwcm92aWRlOk14LHVzZUNsYXNzOlZ4LG11bHRpOiEwLGRlcHM6W3NNLG1DLFhfXX0se3Byb3ZpZGU6TXgsdXNlQ2xhc3M6dE8sbXVsdGk6ITAsZGVwczpbc01dfSxaeCx7cHJvdmlkZTp6eCx1c2VDbGFzczp6eCxkZXBzOlt2eCxQeCxXX119LHtwcm92aWRlOlFoLHVzZUV4aXN0aW5nOnp4fSx7cHJvdmlkZTpPeCx1c2VFeGlzdGluZzpQeH0se3Byb3ZpZGU6UHgsdXNlQ2xhc3M6UHgsZGVwczpbc01dfSx7cHJvdmlkZTpfQyx1c2VDbGFzczpfQyxkZXBzOlttQ119LHtwcm92aWRlOnZ4LHVzZUNsYXNzOnZ4LGRlcHM6W014LG1DXX0se3Byb3ZpZGU6cHgsdXNlQ2xhc3M6X3gsZGVwczpbXX0sQ3hdO2NsYXNzIGRPe2NvbnN0cnVjdG9yKHQpe2lmKHQpdGhyb3cgbmV3IEVycm9yKCJCcm93c2VyTW9kdWxlIGhhcyBhbHJlYWR5IGJlZW4gbG9hZGVkLiBJZiB5b3UgbmVlZCBhY2Nlc3MgdG8gY29tbW9uIGRpcmVjdGl2ZXMgc3VjaCBhcyBOZ0lmIGFuZCBOZ0ZvciBmcm9tIGEgbGF6eSBsb2FkZWQgbW9kdWxlLCBpbXBvcnQgQ29tbW9uTW9kdWxlIGluc3RlYWQuIil9c3RhdGljIHdpdGhTZXJ2ZXJUcmFuc2l0aW9uKHQpe3JldHVybntuZ01vZHVsZTpkTyxwcm92aWRlcnM6W3twcm92aWRlOldfLHVzZVZhbHVlOnQuYXBwSWR9LHtwcm92aWRlOmd4LHVzZUV4aXN0aW5nOldffSxoeF19fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIHBPKCl7cmV0dXJuIG5ldyBtTyhUcihzTSkpfWRPLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxkTykoVHIoZE8sMTIpKX0sZE8uybVtb2Q9Zm8oe3R5cGU6ZE99KSxkTy7JtWluaj1Ebih7cHJvdmlkZXJzOmxPLGltcG9ydHM6W3J4LEtDXX0pLGRPLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6ZE8sZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOmpyfSx7dHlwZTpMcixhcmdzOltkT119XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZE8sW3t0eXBlOkxfLGFyZ3M6W3twcm92aWRlcnM6bE8sZXhwb3J0czpbcngsS0NdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6ZE8sZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOmpyfSx7dHlwZTpMcixhcmdzOltkT119XX1dfSksbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhkTyx7ZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltyeCxLQ119fSk7Y2xhc3MgbU97Y29uc3RydWN0b3IodCl7dGhpcy5fZG9jPXQsdGhpcy5fZG9tPXJNKCl9YWRkVGFnKHQsZT0hMSl7cmV0dXJuIHQ/dGhpcy5fZ2V0T3JDcmVhdGVFbGVtZW50KHQsZSk6bnVsbH1hZGRUYWdzKHQsZT0hMSl7cmV0dXJuIHQ/dC5yZWR1Y2UoKCh0LG4pPT4obiYmdC5wdXNoKHRoaXMuX2dldE9yQ3JlYXRlRWxlbWVudChuLGUpKSx0KSksW10pOltdfWdldFRhZyh0KXtyZXR1cm4gdCYmdGhpcy5fZG9jLnF1ZXJ5U2VsZWN0b3IoYG1ldGFbJHt0fV1gKXx8bnVsbH1nZXRUYWdzKHQpe2lmKCF0KXJldHVybltdO2NvbnN0IGU9dGhpcy5fZG9jLnF1ZXJ5U2VsZWN0b3JBbGwoYG1ldGFbJHt0fV1gKTtyZXR1cm4gZT9bXS5zbGljZS5jYWxsKGUpOltdfXVwZGF0ZVRhZyh0LGUpe2lmKCF0KXJldHVybiBudWxsO2U9ZXx8dGhpcy5fcGFyc2VTZWxlY3Rvcih0KTtjb25zdCBuPXRoaXMuZ2V0VGFnKGUpO3JldHVybiBuP3RoaXMuX3NldE1ldGFFbGVtZW50QXR0cmlidXRlcyh0LG4pOnRoaXMuX2dldE9yQ3JlYXRlRWxlbWVudCh0LCEwKX1yZW1vdmVUYWcodCl7dGhpcy5yZW1vdmVUYWdFbGVtZW50KHRoaXMuZ2V0VGFnKHQpKX1yZW1vdmVUYWdFbGVtZW50KHQpe3QmJnRoaXMuX2RvbS5yZW1vdmUodCl9X2dldE9yQ3JlYXRlRWxlbWVudCh0LGU9ITEpe2lmKCFlKXtjb25zdCBlPXRoaXMuX3BhcnNlU2VsZWN0b3IodCksbj10aGlzLmdldFRhZ3MoZSkuZmlsdGVyKChlPT50aGlzLl9jb250YWluc0F0dHJpYnV0ZXModCxlKSkpWzBdO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG59Y29uc3Qgbj10aGlzLl9kb20uY3JlYXRlRWxlbWVudCgibWV0YSIpO3RoaXMuX3NldE1ldGFFbGVtZW50QXR0cmlidXRlcyh0LG4pO3JldHVybiB0aGlzLl9kb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChuKSxufV9zZXRNZXRhRWxlbWVudEF0dHJpYnV0ZXModCxlKXtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaCgobj0+ZS5zZXRBdHRyaWJ1dGUodGhpcy5fZ2V0TWV0YUtleU1hcChuKSx0W25dKSkpLGV9X3BhcnNlU2VsZWN0b3IodCl7Y29uc3QgZT10Lm5hbWU/Im5hbWUiOiJwcm9wZXJ0eSI7cmV0dXJuYCR7ZX09IiR7dFtlXX0iYH1fY29udGFpbnNBdHRyaWJ1dGVzKHQsZSl7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmV2ZXJ5KChuPT5lLmdldEF0dHJpYnV0ZSh0aGlzLl9nZXRNZXRhS2V5TWFwKG4pKT09PXRbbl0pKX1fZ2V0TWV0YUtleU1hcCh0KXtyZXR1cm4gZk9bdF18fHR9fW1PLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxtTykoVHIoc00pKX0sbU8uybVwcm92PVNuKHtmYWN0b3J5OnBPLHRva2VuOm1PLHByb3ZpZGVkSW46InJvb3QifSksbU8uY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1PLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCIsdXNlRmFjdG9yeTpwTyxkZXBzOltdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjb25zdCBmTz17aHR0cEVxdWl2OiJodHRwLWVxdWl2In07Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIHVPKCl7cmV0dXJuIG5ldyBnTyhUcihzTSkpfWNsYXNzIGdPe2NvbnN0cnVjdG9yKHQpe3RoaXMuX2RvYz10fWdldFRpdGxlKCl7cmV0dXJuIHRoaXMuX2RvYy50aXRsZX1zZXRUaXRsZSh0KXt0aGlzLl9kb2MudGl0bGU9dHx8IiJ9fWdPLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxnTykoVHIoc00pKX0sZ08uybVwcm92PVNuKHtmYWN0b3J5OnVPLHRva2VuOmdPLHByb3ZpZGVkSW46InJvb3QifSksZ08uY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGdPLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCIsdXNlRmFjdG9yeTp1TyxkZXBzOltdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjbGFzcyBoT3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RvcmU9e30sdGhpcy5vblNlcmlhbGl6ZUNhbGxiYWNrcz17fX1zdGF0aWMgaW5pdCh0KXtjb25zdCBlPW5ldyBoTztyZXR1cm4gZS5zdG9yZT10LGV9Z2V0KHQsZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuc3RvcmVbdF0/dGhpcy5zdG9yZVt0XTplfXNldCh0LGUpe3RoaXMuc3RvcmVbdF09ZX1yZW1vdmUodCl7ZGVsZXRlIHRoaXMuc3RvcmVbdF19aGFzS2V5KHQpe3JldHVybiB0aGlzLnN0b3JlLmhhc093blByb3BlcnR5KHQpfW9uU2VyaWFsaXplKHQsZSl7dGhpcy5vblNlcmlhbGl6ZUNhbGxiYWNrc1t0XT1lfXRvSnNvbigpe2Zvcihjb25zdCB0IGluIHRoaXMub25TZXJpYWxpemVDYWxsYmFja3MpaWYodGhpcy5vblNlcmlhbGl6ZUNhbGxiYWNrcy5oYXNPd25Qcm9wZXJ0eSh0KSl0cnl7dGhpcy5zdG9yZVt0XT10aGlzLm9uU2VyaWFsaXplQ2FsbGJhY2tzW3RdKCl9Y2F0Y2godCl7Y29uc29sZS53YXJuKCJFeGNlcHRpb24gaW4gb25TZXJpYWxpemUgY2FsbGJhY2s6ICIsdCl9cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuc3RvcmUpfX1mdW5jdGlvbiBiTyh0LGUpe2NvbnN0IG49dC5nZXRFbGVtZW50QnlJZChlKyItc3RhdGUiKTtsZXQgbz17fTtpZihuJiZuLnRleHRDb250ZW50KXRyeXtvPUpTT04ucGFyc2UoKGZ1bmN0aW9uIGkodCl7Y29uc3QgZT17IiZhOyI6IiYiLCImcTsiOiciJywiJnM7IjoiJyIsIiZsOyI6IjwiLCImZzsiOiI+In07cmV0dXJuIHQucmVwbGFjZSgvJlteO10rOy9nLCh0PT5lW3RdKSl9KShuLnRleHRDb250ZW50KSl9Y2F0Y2godCl7Y29uc29sZS53YXJuKCJFeGNlcHRpb24gd2hpbGUgcmVzdG9yaW5nIFRyYW5zZmVyU3RhdGUgZm9yIGFwcCAiK2UsdCl9cmV0dXJuIGhPLmluaXQobyl9aE8uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGhPKX0saE8uybVwcm92PVNuKHt0b2tlbjpoTyxmYWN0b3J5OmhPLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihoTyxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpO2NsYXNzIHlPe315Ty7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eU8pfSx5Ty7JtW1vZD1mbyh7dHlwZTp5T30pLHlPLsm1aW5qPURuKHtwcm92aWRlcnM6W3twcm92aWRlOmhPLHVzZUZhY3Rvcnk6Yk8sZGVwczpbc00sV19dfV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHlPLFt7dHlwZTpMXyxhcmdzOlt7cHJvdmlkZXJzOlt7cHJvdmlkZTpoTyx1c2VGYWN0b3J5OmJPLGRlcHM6W3NNLFdfXX1dfV19XSxudWxsLG51bGwpLAovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCm5ldyBvYigiMTIuMi4xIik7dmFyIF9PPSJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6e307ZnVuY3Rpb24gQ08odCl7aWYodC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciBvPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLG8uZ2V0P286e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSl9KSksZX0KLyoqCiAgICAgKiBAbGljZW5zZSBBbmd1bGFyIHYxMi4wLjAtbmV4dC4wCiAgICAgKiAoYykgMjAxMC0yMDIwIEdvb2dsZSBMTEMuIGh0dHBzOi8vYW5ndWxhci5pby8KICAgICAqIExpY2Vuc2U6IE1JVAogICAgICovIShmdW5jdGlvbigpewovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi8KIShmdW5jdGlvbih0KXt2YXIgZT10LnBlcmZvcm1hbmNlO2Z1bmN0aW9uIG4odCl7ZSYmZS5tYXJrJiZlLm1hcmsodCl9ZnVuY3Rpb24gbyh0LG4pe2UmJmUubWVhc3VyZSYmZS5tZWFzdXJlKHQsbil9bigiWm9uZSIpO3ZhciBpPXQuX19ab25lX3N5bWJvbF9wcmVmaXh8fCJfX3pvbmVfc3ltYm9sX18iO2Z1bmN0aW9uIGEodCl7cmV0dXJuIGkrdH12YXIgcj0hMD09PXRbYSgiZm9yY2VEdXBsaWNhdGVab25lQ2hlY2siKV07aWYodC5ab25lKXtpZihyfHwiZnVuY3Rpb24iIT10eXBlb2YgdC5ab25lLl9fc3ltYm9sX18pdGhyb3cgbmV3IEVycm9yKCJab25lIGFscmVhZHkgbG9hZGVkLiIpO3JldHVybiB0LlpvbmV9dmFyIHM9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LGUpe3RoaXMuX3BhcmVudD10LHRoaXMuX25hbWU9ZT9lLm5hbWV8fCJ1bm5hbWVkIjoiPHJvb3Q+Iix0aGlzLl9wcm9wZXJ0aWVzPWUmJmUucHJvcGVydGllc3x8e30sdGhpcy5fem9uZURlbGVnYXRlPW5ldyBkKHRoaXMsdGhpcy5fcGFyZW50JiZ0aGlzLl9wYXJlbnQuX3pvbmVEZWxlZ2F0ZSxlKX1yZXR1cm4gZS5hc3NlcnRab25lUGF0Y2hlZD1mdW5jdGlvbigpe2lmKHQuUHJvbWlzZSE9PUQuWm9uZUF3YXJlUHJvbWlzZSl0aHJvdyBuZXcgRXJyb3IoIlpvbmUuanMgaGFzIGRldGVjdGVkIHRoYXQgWm9uZUF3YXJlUHJvbWlzZSBgKHdpbmRvd3xnbG9iYWwpLlByb21pc2VgIGhhcyBiZWVuIG92ZXJ3cml0dGVuLlxuTW9zdCBsaWtlbHkgY2F1c2UgaXMgdGhhdCBhIFByb21pc2UgcG9seWZpbGwgaGFzIGJlZW4gbG9hZGVkIGFmdGVyIFpvbmUuanMgKFBvbHlmaWxsaW5nIFByb21pc2UgYXBpIGlzIG5vdCBuZWNlc3Nhcnkgd2hlbiB6b25lLmpzIGlzIGxvYWRlZC4gSWYgeW91IG11c3QgbG9hZCBvbmUsIGRvIHNvIGJlZm9yZSBsb2FkaW5nIHpvbmUuanMuKSIpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwicm9vdCIse2dldDpmdW5jdGlvbigpe2Zvcih2YXIgdD1lLmN1cnJlbnQ7dC5wYXJlbnQ7KXQ9dC5wYXJlbnQ7cmV0dXJuIHR9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsImN1cnJlbnQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gRS56b25lfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJjdXJyZW50VGFzayIse2dldDpmdW5jdGlvbigpe3JldHVybiBBfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUuX19sb2FkX3BhdGNoPWZ1bmN0aW9uKGksYSxzKXtpZih2b2lkIDA9PT1zJiYocz0hMSksRC5oYXNPd25Qcm9wZXJ0eShpKSl7aWYoIXMmJnIpdGhyb3cgRXJyb3IoIkFscmVhZHkgbG9hZGVkIHBhdGNoOiAiK2kpfWVsc2UgaWYoIXRbIl9fWm9uZV9kaXNhYmxlXyIraV0pe3ZhciBsPSJab25lOiIraTtuKGwpLERbaV09YSh0LGUsUiksbyhsLGwpfX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJwYXJlbnQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcGFyZW50fSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwibmFtZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9uYW1lfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGUucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdldFpvbmVXaXRoKHQpO2lmKGUpcmV0dXJuIGUuX3Byb3BlcnRpZXNbdF19LGUucHJvdG90eXBlLmdldFpvbmVXaXRoPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzO2U7KXtpZihlLl9wcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHQpKXJldHVybiBlO2U9ZS5fcGFyZW50fXJldHVybiBudWxsfSxlLnByb3RvdHlwZS5mb3JrPWZ1bmN0aW9uKHQpe2lmKCF0KXRocm93IG5ldyBFcnJvcigiWm9uZVNwZWMgcmVxdWlyZWQhIik7cmV0dXJuIHRoaXMuX3pvbmVEZWxlZ2F0ZS5mb3JrKHRoaXMsdCl9LGUucHJvdG90eXBlLndyYXA9ZnVuY3Rpb24odCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGluZyBmdW5jdGlvbiBnb3Q6ICIrdCk7dmFyIG49dGhpcy5fem9uZURlbGVnYXRlLmludGVyY2VwdCh0aGlzLHQsZSksbz10aGlzO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBvLnJ1bkd1YXJkZWQobix0aGlzLGFyZ3VtZW50cyxlKX19LGUucHJvdG90eXBlLnJ1bj1mdW5jdGlvbih0LGUsbixvKXtFPXtwYXJlbnQ6RSx6b25lOnRoaXN9O3RyeXtyZXR1cm4gdGhpcy5fem9uZURlbGVnYXRlLmludm9rZSh0aGlzLHQsZSxuLG8pfWZpbmFsbHl7RT1FLnBhcmVudH19LGUucHJvdG90eXBlLnJ1bkd1YXJkZWQ9ZnVuY3Rpb24odCxlLG4sbyl7dm9pZCAwPT09ZSYmKGU9bnVsbCksRT17cGFyZW50OkUsem9uZTp0aGlzfTt0cnl7dHJ5e3JldHVybiB0aGlzLl96b25lRGVsZWdhdGUuaW52b2tlKHRoaXMsdCxlLG4sbyl9Y2F0Y2godCl7aWYodGhpcy5fem9uZURlbGVnYXRlLmhhbmRsZUVycm9yKHRoaXMsdCkpdGhyb3cgdH19ZmluYWxseXtFPUUucGFyZW50fX0sZS5wcm90b3R5cGUucnVuVGFzaz1mdW5jdGlvbih0LGUsbil7aWYodC56b25lIT10aGlzKXRocm93IG5ldyBFcnJvcigiQSB0YXNrIGNhbiBvbmx5IGJlIHJ1biBpbiB0aGUgem9uZSBvZiBjcmVhdGlvbiEgKENyZWF0aW9uOiAiKyh0LnpvbmV8fF8pLm5hbWUrIjsgRXhlY3V0aW9uOiAiK3RoaXMubmFtZSsiKSIpO2lmKHQuc3RhdGUhPT1DfHx0LnR5cGUhPT1TJiZ0LnR5cGUhPT1rKXt2YXIgbz10LnN0YXRlIT14O28mJnQuX3RyYW5zaXRpb25Ubyh4LHYpLHQucnVuQ291bnQrKzt2YXIgaT1BO0E9dCxFPXtwYXJlbnQ6RSx6b25lOnRoaXN9O3RyeXt0LnR5cGU9PWsmJnQuZGF0YSYmIXQuZGF0YS5pc1BlcmlvZGljJiYodC5jYW5jZWxGbj12b2lkIDApO3RyeXtyZXR1cm4gdGhpcy5fem9uZURlbGVnYXRlLmludm9rZVRhc2sodGhpcyx0LGUsbil9Y2F0Y2godCl7aWYodGhpcy5fem9uZURlbGVnYXRlLmhhbmRsZUVycm9yKHRoaXMsdCkpdGhyb3cgdH19ZmluYWxseXt0LnN0YXRlIT09QyYmdC5zdGF0ZSE9PVAmJih0LnR5cGU9PVN8fHQuZGF0YSYmdC5kYXRhLmlzUGVyaW9kaWM/byYmdC5fdHJhbnNpdGlvblRvKHYseCk6KHQucnVuQ291bnQ9MCx0aGlzLl91cGRhdGVUYXNrQ291bnQodCwtMSksbyYmdC5fdHJhbnNpdGlvblRvKEMseCxDKSkpLEU9RS5wYXJlbnQsQT1pfX19LGUucHJvdG90eXBlLnNjaGVkdWxlVGFzaz1mdW5jdGlvbih0KXtpZih0LnpvbmUmJnQuem9uZSE9PXRoaXMpZm9yKHZhciBlPXRoaXM7ZTspe2lmKGU9PT10LnpvbmUpdGhyb3cgRXJyb3IoImNhbiBub3QgcmVzY2hlZHVsZSB0YXNrIHRvICIrdGhpcy5uYW1lKyIgd2hpY2ggaXMgZGVzY2VuZGFudHMgb2YgdGhlIG9yaWdpbmFsIHpvbmUgIit0LnpvbmUubmFtZSk7ZT1lLnBhcmVudH10Ll90cmFuc2l0aW9uVG8oTSxDKTt2YXIgbj1bXTt0Ll96b25lRGVsZWdhdGVzPW4sdC5fem9uZT10aGlzO3RyeXt0PXRoaXMuX3pvbmVEZWxlZ2F0ZS5zY2hlZHVsZVRhc2sodGhpcyx0KX1jYXRjaChlKXt0aHJvdyB0Ll90cmFuc2l0aW9uVG8oUCxNLEMpLHRoaXMuX3pvbmVEZWxlZ2F0ZS5oYW5kbGVFcnJvcih0aGlzLGUpLGV9cmV0dXJuIHQuX3pvbmVEZWxlZ2F0ZXM9PT1uJiZ0aGlzLl91cGRhdGVUYXNrQ291bnQodCwxKSx0LnN0YXRlPT1NJiZ0Ll90cmFuc2l0aW9uVG8odixNKSx0fSxlLnByb3RvdHlwZS5zY2hlZHVsZU1pY3JvVGFzaz1mdW5jdGlvbih0LGUsbixvKXtyZXR1cm4gdGhpcy5zY2hlZHVsZVRhc2sobmV3IHAodyx0LGUsbixvLHZvaWQgMCkpfSxlLnByb3RvdHlwZS5zY2hlZHVsZU1hY3JvVGFzaz1mdW5jdGlvbih0LGUsbixvLGkpe3JldHVybiB0aGlzLnNjaGVkdWxlVGFzayhuZXcgcChrLHQsZSxuLG8saSkpfSxlLnByb3RvdHlwZS5zY2hlZHVsZUV2ZW50VGFzaz1mdW5jdGlvbih0LGUsbixvLGkpe3JldHVybiB0aGlzLnNjaGVkdWxlVGFzayhuZXcgcChTLHQsZSxuLG8saSkpfSxlLnByb3RvdHlwZS5jYW5jZWxUYXNrPWZ1bmN0aW9uKHQpe2lmKHQuem9uZSE9dGhpcyl0aHJvdyBuZXcgRXJyb3IoIkEgdGFzayBjYW4gb25seSBiZSBjYW5jZWxsZWQgaW4gdGhlIHpvbmUgb2YgY3JlYXRpb24hIChDcmVhdGlvbjogIisodC56b25lfHxfKS5uYW1lKyI7IEV4ZWN1dGlvbjogIit0aGlzLm5hbWUrIikiKTt0Ll90cmFuc2l0aW9uVG8oTyx2LHgpO3RyeXt0aGlzLl96b25lRGVsZWdhdGUuY2FuY2VsVGFzayh0aGlzLHQpfWNhdGNoKGUpe3Rocm93IHQuX3RyYW5zaXRpb25UbyhQLE8pLHRoaXMuX3pvbmVEZWxlZ2F0ZS5oYW5kbGVFcnJvcih0aGlzLGUpLGV9cmV0dXJuIHRoaXMuX3VwZGF0ZVRhc2tDb3VudCh0LC0xKSx0Ll90cmFuc2l0aW9uVG8oQyxPKSx0LnJ1bkNvdW50PTAsdH0sZS5wcm90b3R5cGUuX3VwZGF0ZVRhc2tDb3VudD1mdW5jdGlvbih0LGUpe3ZhciBuPXQuX3pvbmVEZWxlZ2F0ZXM7LTE9PWUmJih0Ll96b25lRGVsZWdhdGVzPW51bGwpO2Zvcih2YXIgbz0wO288bi5sZW5ndGg7bysrKW5bb10uX3VwZGF0ZVRhc2tDb3VudCh0LnR5cGUsZSl9LGV9KSgpO3MuX19zeW1ib2xfXz1hO3ZhciBsLGM9e25hbWU6IiIsb25IYXNUYXNrOmZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB0Lmhhc1Rhc2sobixvKX0sb25TY2hlZHVsZVRhc2s6ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHQuc2NoZWR1bGVUYXNrKG4sbyl9LG9uSW52b2tlVGFzazpmdW5jdGlvbih0LGUsbixvLGksYSl7cmV0dXJuIHQuaW52b2tlVGFzayhuLG8saSxhKX0sb25DYW5jZWxUYXNrOmZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB0LmNhbmNlbFRhc2sobixvKX19LGQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7dGhpcy5fdGFza0NvdW50cz17bWljcm9UYXNrOjAsbWFjcm9UYXNrOjAsZXZlbnRUYXNrOjB9LHRoaXMuem9uZT10LHRoaXMuX3BhcmVudERlbGVnYXRlPWUsdGhpcy5fZm9ya1pTPW4mJihuJiZuLm9uRm9yaz9uOmUuX2ZvcmtaUyksdGhpcy5fZm9ya0RsZ3Q9biYmKG4ub25Gb3JrP2U6ZS5fZm9ya0RsZ3QpLHRoaXMuX2ZvcmtDdXJyWm9uZT1uJiYobi5vbkZvcms/dGhpcy56b25lOmUuX2ZvcmtDdXJyWm9uZSksdGhpcy5faW50ZXJjZXB0WlM9biYmKG4ub25JbnRlcmNlcHQ/bjplLl9pbnRlcmNlcHRaUyksdGhpcy5faW50ZXJjZXB0RGxndD1uJiYobi5vbkludGVyY2VwdD9lOmUuX2ludGVyY2VwdERsZ3QpLHRoaXMuX2ludGVyY2VwdEN1cnJab25lPW4mJihuLm9uSW50ZXJjZXB0P3RoaXMuem9uZTplLl9pbnRlcmNlcHRDdXJyWm9uZSksdGhpcy5faW52b2tlWlM9biYmKG4ub25JbnZva2U/bjplLl9pbnZva2VaUyksdGhpcy5faW52b2tlRGxndD1uJiYobi5vbkludm9rZT9lOmUuX2ludm9rZURsZ3QpLHRoaXMuX2ludm9rZUN1cnJab25lPW4mJihuLm9uSW52b2tlP3RoaXMuem9uZTplLl9pbnZva2VDdXJyWm9uZSksdGhpcy5faGFuZGxlRXJyb3JaUz1uJiYobi5vbkhhbmRsZUVycm9yP246ZS5faGFuZGxlRXJyb3JaUyksdGhpcy5faGFuZGxlRXJyb3JEbGd0PW4mJihuLm9uSGFuZGxlRXJyb3I/ZTplLl9oYW5kbGVFcnJvckRsZ3QpLHRoaXMuX2hhbmRsZUVycm9yQ3VyclpvbmU9biYmKG4ub25IYW5kbGVFcnJvcj90aGlzLnpvbmU6ZS5faGFuZGxlRXJyb3JDdXJyWm9uZSksdGhpcy5fc2NoZWR1bGVUYXNrWlM9biYmKG4ub25TY2hlZHVsZVRhc2s/bjplLl9zY2hlZHVsZVRhc2taUyksdGhpcy5fc2NoZWR1bGVUYXNrRGxndD1uJiYobi5vblNjaGVkdWxlVGFzaz9lOmUuX3NjaGVkdWxlVGFza0RsZ3QpLHRoaXMuX3NjaGVkdWxlVGFza0N1cnJab25lPW4mJihuLm9uU2NoZWR1bGVUYXNrP3RoaXMuem9uZTplLl9zY2hlZHVsZVRhc2tDdXJyWm9uZSksdGhpcy5faW52b2tlVGFza1pTPW4mJihuLm9uSW52b2tlVGFzaz9uOmUuX2ludm9rZVRhc2taUyksdGhpcy5faW52b2tlVGFza0RsZ3Q9biYmKG4ub25JbnZva2VUYXNrP2U6ZS5faW52b2tlVGFza0RsZ3QpLHRoaXMuX2ludm9rZVRhc2tDdXJyWm9uZT1uJiYobi5vbkludm9rZVRhc2s/dGhpcy56b25lOmUuX2ludm9rZVRhc2tDdXJyWm9uZSksdGhpcy5fY2FuY2VsVGFza1pTPW4mJihuLm9uQ2FuY2VsVGFzaz9uOmUuX2NhbmNlbFRhc2taUyksdGhpcy5fY2FuY2VsVGFza0RsZ3Q9biYmKG4ub25DYW5jZWxUYXNrP2U6ZS5fY2FuY2VsVGFza0RsZ3QpLHRoaXMuX2NhbmNlbFRhc2tDdXJyWm9uZT1uJiYobi5vbkNhbmNlbFRhc2s/dGhpcy56b25lOmUuX2NhbmNlbFRhc2tDdXJyWm9uZSksdGhpcy5faGFzVGFza1pTPW51bGwsdGhpcy5faGFzVGFza0RsZ3Q9bnVsbCx0aGlzLl9oYXNUYXNrRGxndE93bmVyPW51bGwsdGhpcy5faGFzVGFza0N1cnJab25lPW51bGw7dmFyIG89biYmbi5vbkhhc1Rhc2s7KG98fGUmJmUuX2hhc1Rhc2taUykmJih0aGlzLl9oYXNUYXNrWlM9bz9uOmMsdGhpcy5faGFzVGFza0RsZ3Q9ZSx0aGlzLl9oYXNUYXNrRGxndE93bmVyPXRoaXMsdGhpcy5faGFzVGFza0N1cnJab25lPXQsbi5vblNjaGVkdWxlVGFza3x8KHRoaXMuX3NjaGVkdWxlVGFza1pTPWMsdGhpcy5fc2NoZWR1bGVUYXNrRGxndD1lLHRoaXMuX3NjaGVkdWxlVGFza0N1cnJab25lPXRoaXMuem9uZSksbi5vbkludm9rZVRhc2t8fCh0aGlzLl9pbnZva2VUYXNrWlM9Yyx0aGlzLl9pbnZva2VUYXNrRGxndD1lLHRoaXMuX2ludm9rZVRhc2tDdXJyWm9uZT10aGlzLnpvbmUpLG4ub25DYW5jZWxUYXNrfHwodGhpcy5fY2FuY2VsVGFza1pTPWMsdGhpcy5fY2FuY2VsVGFza0RsZ3Q9ZSx0aGlzLl9jYW5jZWxUYXNrQ3VyclpvbmU9dGhpcy56b25lKSl9cmV0dXJuIHQucHJvdG90eXBlLmZvcms9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fZm9ya1pTP3RoaXMuX2ZvcmtaUy5vbkZvcmsodGhpcy5fZm9ya0RsZ3QsdGhpcy56b25lLHQsZSk6bmV3IHModCxlKX0sdC5wcm90b3R5cGUuaW50ZXJjZXB0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5faW50ZXJjZXB0WlM/dGhpcy5faW50ZXJjZXB0WlMub25JbnRlcmNlcHQodGhpcy5faW50ZXJjZXB0RGxndCx0aGlzLl9pbnRlcmNlcHRDdXJyWm9uZSx0LGUsbik6ZX0sdC5wcm90b3R5cGUuaW52b2tlPWZ1bmN0aW9uKHQsZSxuLG8saSl7cmV0dXJuIHRoaXMuX2ludm9rZVpTP3RoaXMuX2ludm9rZVpTLm9uSW52b2tlKHRoaXMuX2ludm9rZURsZ3QsdGhpcy5faW52b2tlQ3VyclpvbmUsdCxlLG4sbyxpKTplLmFwcGx5KG4sbyl9LHQucHJvdG90eXBlLmhhbmRsZUVycm9yPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIXRoaXMuX2hhbmRsZUVycm9yWlN8fHRoaXMuX2hhbmRsZUVycm9yWlMub25IYW5kbGVFcnJvcih0aGlzLl9oYW5kbGVFcnJvckRsZ3QsdGhpcy5faGFuZGxlRXJyb3JDdXJyWm9uZSx0LGUpfSx0LnByb3RvdHlwZS5zY2hlZHVsZVRhc2s9ZnVuY3Rpb24odCxlKXt2YXIgbj1lO2lmKHRoaXMuX3NjaGVkdWxlVGFza1pTKXRoaXMuX2hhc1Rhc2taUyYmbi5fem9uZURlbGVnYXRlcy5wdXNoKHRoaXMuX2hhc1Rhc2tEbGd0T3duZXIpLChuPXRoaXMuX3NjaGVkdWxlVGFza1pTLm9uU2NoZWR1bGVUYXNrKHRoaXMuX3NjaGVkdWxlVGFza0RsZ3QsdGhpcy5fc2NoZWR1bGVUYXNrQ3VyclpvbmUsdCxlKSl8fChuPWUpO2Vsc2UgaWYoZS5zY2hlZHVsZUZuKWUuc2NoZWR1bGVGbihlKTtlbHNle2lmKGUudHlwZSE9dyl0aHJvdyBuZXcgRXJyb3IoIlRhc2sgaXMgbWlzc2luZyBzY2hlZHVsZUZuLiIpO2IoZSl9cmV0dXJuIG59LHQucHJvdG90eXBlLmludm9rZVRhc2s9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHRoaXMuX2ludm9rZVRhc2taUz90aGlzLl9pbnZva2VUYXNrWlMub25JbnZva2VUYXNrKHRoaXMuX2ludm9rZVRhc2tEbGd0LHRoaXMuX2ludm9rZVRhc2tDdXJyWm9uZSx0LGUsbixvKTplLmNhbGxiYWNrLmFwcGx5KG4sbyl9LHQucHJvdG90eXBlLmNhbmNlbFRhc2s9ZnVuY3Rpb24odCxlKXt2YXIgbjtpZih0aGlzLl9jYW5jZWxUYXNrWlMpbj10aGlzLl9jYW5jZWxUYXNrWlMub25DYW5jZWxUYXNrKHRoaXMuX2NhbmNlbFRhc2tEbGd0LHRoaXMuX2NhbmNlbFRhc2tDdXJyWm9uZSx0LGUpO2Vsc2V7aWYoIWUuY2FuY2VsRm4pdGhyb3cgRXJyb3IoIlRhc2sgaXMgbm90IGNhbmNlbGFibGUiKTtuPWUuY2FuY2VsRm4oZSl9cmV0dXJuIG59LHQucHJvdG90eXBlLmhhc1Rhc2s9ZnVuY3Rpb24odCxlKXt0cnl7dGhpcy5faGFzVGFza1pTJiZ0aGlzLl9oYXNUYXNrWlMub25IYXNUYXNrKHRoaXMuX2hhc1Rhc2tEbGd0LHRoaXMuX2hhc1Rhc2tDdXJyWm9uZSx0LGUpfWNhdGNoKGUpe3RoaXMuaGFuZGxlRXJyb3IodCxlKX19LHQucHJvdG90eXBlLl91cGRhdGVUYXNrQ291bnQ9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl90YXNrQ291bnRzLG89blt0XSxpPW5bdF09bytlO2lmKGk8MCl0aHJvdyBuZXcgRXJyb3IoIk1vcmUgdGFza3MgZXhlY3V0ZWQgdGhlbiB3ZXJlIHNjaGVkdWxlZC4iKTswIT1vJiYwIT1pfHx0aGlzLmhhc1Rhc2sodGhpcy56b25lLHttaWNyb1Rhc2s6bi5taWNyb1Rhc2s+MCxtYWNyb1Rhc2s6bi5tYWNyb1Rhc2s+MCxldmVudFRhc2s6bi5ldmVudFRhc2s+MCxjaGFuZ2U6dH0pfSx0fSkoKSxwPShmdW5jdGlvbigpe2Z1bmN0aW9uIGUobixvLGksYSxyLHMpe2lmKHRoaXMuX3pvbmU9bnVsbCx0aGlzLnJ1bkNvdW50PTAsdGhpcy5fem9uZURlbGVnYXRlcz1udWxsLHRoaXMuX3N0YXRlPSJub3RTY2hlZHVsZWQiLHRoaXMudHlwZT1uLHRoaXMuc291cmNlPW8sdGhpcy5kYXRhPWEsdGhpcy5zY2hlZHVsZUZuPXIsdGhpcy5jYW5jZWxGbj1zLCFpKXRocm93IG5ldyBFcnJvcigiY2FsbGJhY2sgaXMgbm90IGRlZmluZWQiKTt0aGlzLmNhbGxiYWNrPWk7dmFyIGw9dGhpczt0aGlzLmludm9rZT1uPT09UyYmYSYmYS51c2VHP2UuaW52b2tlVGFzazpmdW5jdGlvbigpe3JldHVybiBlLmludm9rZVRhc2suY2FsbCh0LGwsdGhpcyxhcmd1bWVudHMpfX1yZXR1cm4gZS5pbnZva2VUYXNrPWZ1bmN0aW9uKHQsZSxuKXt0fHwodD10aGlzKSxUKys7dHJ5e3JldHVybiB0LnJ1bkNvdW50KyssdC56b25lLnJ1blRhc2sodCxlLG4pfWZpbmFsbHl7MT09VCYmeSgpLFQtLX19LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiem9uZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl96b25lfSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwic3RhdGUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RhdGV9LGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuY2FuY2VsU2NoZWR1bGVSZXF1ZXN0PWZ1bmN0aW9uKCl7dGhpcy5fdHJhbnNpdGlvblRvKEMsTSl9LGUucHJvdG90eXBlLl90cmFuc2l0aW9uVG89ZnVuY3Rpb24odCxlLG4pe2lmKHRoaXMuX3N0YXRlIT09ZSYmdGhpcy5fc3RhdGUhPT1uKXRocm93IG5ldyBFcnJvcih0aGlzLnR5cGUrIiAnIit0aGlzLnNvdXJjZSsiJzogY2FuIG5vdCB0cmFuc2l0aW9uIHRvICciK3QrIicsIGV4cGVjdGluZyBzdGF0ZSAnIitlKyInIisobj8iIG9yICciK24rIiciOiIiKSsiLCB3YXMgJyIrdGhpcy5fc3RhdGUrIicuIik7dGhpcy5fc3RhdGU9dCx0PT1DJiYodGhpcy5fem9uZURlbGVnYXRlcz1udWxsKX0sZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhJiZ2b2lkIDAhPT10aGlzLmRhdGEuaGFuZGxlSWQ/dGhpcy5kYXRhLmhhbmRsZUlkLnRvU3RyaW5nKCk6T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRoaXMpfSxlLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57dHlwZTp0aGlzLnR5cGUsc3RhdGU6dGhpcy5zdGF0ZSxzb3VyY2U6dGhpcy5zb3VyY2Usem9uZTp0aGlzLnpvbmUubmFtZSxydW5Db3VudDp0aGlzLnJ1bkNvdW50fX0sZX0pKCksbT1hKCJzZXRUaW1lb3V0IiksZj1hKCJQcm9taXNlIiksdT1hKCJ0aGVuIiksZz1bXSxoPSExO2Z1bmN0aW9uIGIoZSl7aWYoMD09PVQmJjA9PT1nLmxlbmd0aClpZihsfHx0W2ZdJiYobD10W2ZdLnJlc29sdmUoMCkpLGwpe3ZhciBuPWxbdV07bnx8KG49bC50aGVuKSxuLmNhbGwobCx5KX1lbHNlIHRbbV0oeSwwKTtlJiZnLnB1c2goZSl9ZnVuY3Rpb24geSgpe2lmKCFoKXtmb3IoaD0hMDtnLmxlbmd0aDspe3ZhciB0PWc7Zz1bXTtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl7dmFyIG49dFtlXTt0cnl7bi56b25lLnJ1blRhc2sobixudWxsLG51bGwpfWNhdGNoKHQpe1Iub25VbmhhbmRsZWRFcnJvcih0KX19fVIubWljcm90YXNrRHJhaW5Eb25lKCksaD0hMX19dmFyIF89e25hbWU6Ik5PIFpPTkUifSxDPSJub3RTY2hlZHVsZWQiLE09InNjaGVkdWxpbmciLHY9InNjaGVkdWxlZCIseD0icnVubmluZyIsTz0iY2FuY2VsaW5nIixQPSJ1bmtub3duIix3PSJtaWNyb1Rhc2siLGs9Im1hY3JvVGFzayIsUz0iZXZlbnRUYXNrIixEPXt9LFI9e3N5bWJvbDphLGN1cnJlbnRab25lRnJhbWU6ZnVuY3Rpb24oKXtyZXR1cm4gRX0sb25VbmhhbmRsZWRFcnJvcjpOLG1pY3JvdGFza0RyYWluRG9uZTpOLHNjaGVkdWxlTWljcm9UYXNrOmIsc2hvd1VuY2F1Z2h0RXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4hc1thKCJpZ25vcmVDb25zb2xlRXJyb3JVbmNhdWdodEVycm9yIildfSxwYXRjaEV2ZW50VGFyZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuW119LHBhdGNoT25Qcm9wZXJ0aWVzOk4scGF0Y2hNZXRob2Q6ZnVuY3Rpb24oKXtyZXR1cm4gTn0sYmluZEFyZ3VtZW50czpmdW5jdGlvbigpe3JldHVybltdfSxwYXRjaFRoZW46ZnVuY3Rpb24oKXtyZXR1cm4gTn0scGF0Y2hNYWNyb1Rhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gTn0scGF0Y2hFdmVudFByb3RvdHlwZTpmdW5jdGlvbigpe3JldHVybiBOfSxpc0lFT3JFZGdlOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGdldEdsb2JhbE9iamVjdHM6ZnVuY3Rpb24oKXt9LE9iamVjdERlZmluZVByb3BlcnR5OmZ1bmN0aW9uKCl7cmV0dXJuIE59LE9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcjpmdW5jdGlvbigpe30sT2JqZWN0Q3JlYXRlOmZ1bmN0aW9uKCl7fSxBcnJheVNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuW119LHBhdGNoQ2xhc3M6ZnVuY3Rpb24oKXtyZXR1cm4gTn0sd3JhcFdpdGhDdXJyZW50Wm9uZTpmdW5jdGlvbigpe3JldHVybiBOfSxmaWx0ZXJQcm9wZXJ0aWVzOmZ1bmN0aW9uKCl7cmV0dXJuW119LGF0dGFjaE9yaWdpblRvUGF0Y2hlZDpmdW5jdGlvbigpe3JldHVybiBOfSxfcmVkZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbigpe3JldHVybiBOfSxwYXRjaENhbGxiYWNrczpmdW5jdGlvbigpe3JldHVybiBOfX0sRT17cGFyZW50Om51bGwsem9uZTpuZXcgcyhudWxsLG51bGwpfSxBPW51bGwsVD0wO2Z1bmN0aW9uIE4oKXt9bygiWm9uZSIsIlpvbmUiKSx0LlpvbmU9c30pKCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3d8fCJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmc2VsZnx8X08pOwovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi8KdmFyIHQ9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxuPU9iamVjdC5nZXRQcm90b3R5cGVPZixvPU9iamVjdC5jcmVhdGUsaT1BcnJheS5wcm90b3R5cGUuc2xpY2UsYT0iYWRkRXZlbnRMaXN0ZW5lciIscj0icmVtb3ZlRXZlbnRMaXN0ZW5lciIscz1ab25lLl9fc3ltYm9sX18oYSksbD1ab25lLl9fc3ltYm9sX18ociksYz0idHJ1ZSIsZD0iZmFsc2UiLHA9Wm9uZS5fX3N5bWJvbF9fKCIiKTtmdW5jdGlvbiBtKHQsZSl7cmV0dXJuIFpvbmUuY3VycmVudC53cmFwKHQsZSl9ZnVuY3Rpb24gZih0LGUsbixvLGkpe3JldHVybiBab25lLmN1cnJlbnQuc2NoZWR1bGVNYWNyb1Rhc2sodCxlLG4sbyxpKX12YXIgdT1ab25lLl9fc3ltYm9sX18sZz0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyxoPWc/d2luZG93OnZvaWQgMCxiPWcmJmh8fCJvYmplY3QiPT10eXBlb2Ygc2VsZiYmc2VsZnx8X08seT0icmVtb3ZlQXR0cmlidXRlIixfPVtudWxsXTtmdW5jdGlvbiBDKHQsZSl7Zm9yKHZhciBuPXQubGVuZ3RoLTE7bj49MDtuLS0pImZ1bmN0aW9uIj09dHlwZW9mIHRbbl0mJih0W25dPW0odFtuXSxlKyJfIituKSk7cmV0dXJuIHR9ZnVuY3Rpb24gTShlLG4pe2Zvcih2YXIgbz1lLmNvbnN0cnVjdG9yLm5hbWUsaT1mdW5jdGlvbihpKXt2YXIgYT1uW2ldLHI9ZVthXTtpZihyKXtpZighdih0KGUsYSkpKXJldHVybiJjb250aW51ZSI7ZVthXT0oZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLEMoYXJndW1lbnRzLG8rIi4iK2EpKX07cmV0dXJuIHooZSx0KSxlfSkocil9fSxhPTA7YTxuLmxlbmd0aDthKyspaShhKX1mdW5jdGlvbiB2KHQpe3JldHVybiF0fHwhMSE9PXQud3JpdGFibGUmJiEoImZ1bmN0aW9uIj09dHlwZW9mIHQuZ2V0JiZ2b2lkIDA9PT10LnNldCl9dmFyIHg9InVuZGVmaW5lZCIhPXR5cGVvZiBXb3JrZXJHbG9iYWxTY29wZSYmc2VsZiBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlLE89ISgibnciaW4gYikmJnZvaWQgMCE9PWIucHJvY2VzcyYmIltvYmplY3QgcHJvY2Vzc10iPT09e30udG9TdHJpbmcuY2FsbChiLnByb2Nlc3MpLFA9IU8mJiF4JiYhKCFnfHwhaC5IVE1MRWxlbWVudCksdz12b2lkIDAhPT1iLnByb2Nlc3MmJiJbb2JqZWN0IHByb2Nlc3NdIj09PXt9LnRvU3RyaW5nLmNhbGwoYi5wcm9jZXNzKSYmIXgmJiEoIWd8fCFoLkhUTUxFbGVtZW50KSxrPXt9LFM9ZnVuY3Rpb24odCl7aWYodD10fHxiLmV2ZW50KXt2YXIgZT1rW3QudHlwZV07ZXx8KGU9a1t0LnR5cGVdPXUoIk9OX1BST1BFUlRZIit0LnR5cGUpKTt2YXIgbixvPXRoaXN8fHQudGFyZ2V0fHxiLGk9b1tlXTtyZXR1cm4gUCYmbz09PWgmJiJlcnJvciI9PT10LnR5cGU/ITA9PT0obj1pJiZpLmNhbGwodGhpcyx0Lm1lc3NhZ2UsdC5maWxlbmFtZSx0LmxpbmVubyx0LmNvbG5vLHQuZXJyb3IpKSYmdC5wcmV2ZW50RGVmYXVsdCgpOm51bGw9PShuPWkmJmkuYXBwbHkodGhpcyxhcmd1bWVudHMpKXx8bnx8dC5wcmV2ZW50RGVmYXVsdCgpLG59fTtmdW5jdGlvbiBEKG4sbyxpKXt2YXIgYT10KG4sbyk7aWYoIWEmJmkmJnQoaSxvKSYmKGE9e2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksYSYmYS5jb25maWd1cmFibGUpe3ZhciByPXUoIm9uIitvKyJwYXRjaGVkIik7aWYoIW4uaGFzT3duUHJvcGVydHkocil8fCFuW3JdKXtkZWxldGUgYS53cml0YWJsZSxkZWxldGUgYS52YWx1ZTt2YXIgcz1hLmdldCxsPWEuc2V0LGM9by5zdWJzdHIoMiksZD1rW2NdO2R8fChkPWtbY109dSgiT05fUFJPUEVSVFkiK2MpKSxhLnNldD1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2V8fG4hPT1ifHwoZT1iKSxlJiYoZVtkXSYmZS5yZW1vdmVFdmVudExpc3RlbmVyKGMsUyksbCYmbC5hcHBseShlLF8pLCJmdW5jdGlvbiI9PXR5cGVvZiB0PyhlW2RdPXQsZS5hZGRFdmVudExpc3RlbmVyKGMsUywhMSkpOmVbZF09bnVsbCl9LGEuZ2V0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZih0fHxuIT09Ynx8KHQ9YiksIXQpcmV0dXJuIG51bGw7dmFyIGU9dFtkXTtpZihlKXJldHVybiBlO2lmKHMpe3ZhciBpPXMmJnMuY2FsbCh0aGlzKTtpZihpKXJldHVybiBhLnNldC5jYWxsKHRoaXMsaSksImZ1bmN0aW9uIj09dHlwZW9mIHRbeV0mJnQucmVtb3ZlQXR0cmlidXRlKG8pLGl9cmV0dXJuIG51bGx9LGUobixvLGEpLG5bcl09ITB9fX1mdW5jdGlvbiBSKHQsZSxuKXtpZihlKWZvcih2YXIgbz0wO288ZS5sZW5ndGg7bysrKUQodCwib24iK2Vbb10sbik7ZWxzZXt2YXIgaT1bXTtmb3IodmFyIGEgaW4gdCkib24iPT1hLnN1YnN0cigwLDIpJiZpLnB1c2goYSk7Zm9yKHZhciByPTA7cjxpLmxlbmd0aDtyKyspRCh0LGlbcl0sbil9fXZhciBFPXUoIm9yaWdpbmFsSW5zdGFuY2UiKTtmdW5jdGlvbiBBKHQpe3ZhciBuPWJbdF07aWYobil7Ylt1KHQpXT1uLGJbdF09ZnVuY3Rpb24oKXt2YXIgZT1DKGFyZ3VtZW50cyx0KTtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMDp0aGlzW0VdPW5ldyBuO2JyZWFrO2Nhc2UgMTp0aGlzW0VdPW5ldyBuKGVbMF0pO2JyZWFrO2Nhc2UgMjp0aGlzW0VdPW5ldyBuKGVbMF0sZVsxXSk7YnJlYWs7Y2FzZSAzOnRoaXNbRV09bmV3IG4oZVswXSxlWzFdLGVbMl0pO2JyZWFrO2Nhc2UgNDp0aGlzW0VdPW5ldyBuKGVbMF0sZVsxXSxlWzJdLGVbM10pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJBcmcgbGlzdCB0b28gbG9uZy4iKX19LHooYlt0XSxuKTt2YXIgbyxpPW5ldyBuKChmdW5jdGlvbigpe30pKTtmb3IobyBpbiBpKSJYTUxIdHRwUmVxdWVzdCI9PT10JiYicmVzcG9uc2VCbG9iIj09PW98fChmdW5jdGlvbihuKXsiZnVuY3Rpb24iPT10eXBlb2YgaVtuXT9iW3RdLnByb3RvdHlwZVtuXT1mdW5jdGlvbigpe3JldHVybiB0aGlzW0VdW25dLmFwcGx5KHRoaXNbRV0sYXJndW1lbnRzKX06ZShiW3RdLnByb3RvdHlwZSxuLHtzZXQ6ZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGU/KHRoaXNbRV1bbl09bShlLHQrIi4iK24pLHoodGhpc1tFXVtuXSxlKSk6dGhpc1tFXVtuXT1lfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tFXVtuXX19KX0pKG8pO2ZvcihvIGluIG4pInByb3RvdHlwZSIhPT1vJiZuLmhhc093blByb3BlcnR5KG8pJiYoYlt0XVtvXT1uW29dKX19ZnVuY3Rpb24gVChlLG8saSl7Zm9yKHZhciBhPWU7YSYmIWEuaGFzT3duUHJvcGVydHkobyk7KWE9bihhKTshYSYmZVtvXSYmKGE9ZSk7dmFyIHI9dShvKSxzPW51bGw7aWYoYSYmKCEocz1hW3JdKXx8IWEuaGFzT3duUHJvcGVydHkocikpJiYocz1hW3JdPWFbb10sdihhJiZ0KGEsbykpKSl7dmFyIGw9aShzLHIsbyk7YVtvXT1mdW5jdGlvbigpe3JldHVybiBsKHRoaXMsYXJndW1lbnRzKX0seihhW29dLHMpfXJldHVybiBzfWZ1bmN0aW9uIE4odCxlLG4pe3ZhciBvPW51bGw7ZnVuY3Rpb24gaSh0KXt2YXIgZT10LmRhdGE7cmV0dXJuIGUuYXJnc1tlLmNiSWR4XT1mdW5jdGlvbigpe3QuaW52b2tlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sby5hcHBseShlLnRhcmdldCxlLmFyZ3MpLHR9bz1UKHQsZSwoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUsbyl7dmFyIGE9bihlLG8pO3JldHVybiBhLmNiSWR4Pj0wJiYiZnVuY3Rpb24iPT10eXBlb2Ygb1thLmNiSWR4XT9mKGEubmFtZSxvW2EuY2JJZHhdLGEsaSk6dC5hcHBseShlLG8pfX0pKX1mdW5jdGlvbiB6KHQsZSl7dFt1KCJPcmlnaW5hbERlbGVnYXRlIildPWV9dmFyIEk9ITEsSD0hMTtmdW5jdGlvbiBGKCl7dHJ5e3ZhciB0PWgubmF2aWdhdG9yLnVzZXJBZ2VudDtpZigtMSE9PXQuaW5kZXhPZigiTVNJRSAiKXx8LTEhPT10LmluZGV4T2YoIlRyaWRlbnQvIikpcmV0dXJuITB9Y2F0Y2godCl7fXJldHVybiExfWZ1bmN0aW9uIEwoKXtpZihJKXJldHVybiBIO0k9ITA7dHJ5e3ZhciB0PWgubmF2aWdhdG9yLnVzZXJBZ2VudDstMT09PXQuaW5kZXhPZigiTVNJRSAiKSYmLTE9PT10LmluZGV4T2YoIlRyaWRlbnQvIikmJi0xPT09dC5pbmRleE9mKCJFZGdlLyIpfHwoSD0hMCl9Y2F0Y2godCl7fXJldHVybiBIfQovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi9ab25lLl9fbG9hZF9wYXRjaCgiWm9uZUF3YXJlUHJvbWlzZSIsKGZ1bmN0aW9uKHQsZSxuKXt2YXIgbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGk9T2JqZWN0LmRlZmluZVByb3BlcnR5O2Z1bmN0aW9uIGEodCl7aWYodCYmdC50b1N0cmluZz09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpe3ZhciBlPXQuY29uc3RydWN0b3ImJnQuY29uc3RydWN0b3IubmFtZTtyZXR1cm4oZXx8IiIpKyI6ICIrSlNPTi5zdHJpbmdpZnkodCl9cmV0dXJuIHQ/dC50b1N0cmluZygpOk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX12YXIgcj1uLnN5bWJvbCxzPVtdLGw9ITA9PT10W3IoIkRJU0FCTEVfV1JBUFBJTkdfVU5DQVVHSFRfUFJPTUlTRV9SRUpFQ1RJT04iKV0sYz1yKCJQcm9taXNlIiksZD1yKCJ0aGVuIikscD0iX19jcmVhdGlvblRyYWNlX18iO24ub25VbmhhbmRsZWRFcnJvcj1mdW5jdGlvbih0KXtpZihuLnNob3dVbmNhdWdodEVycm9yKCkpe3ZhciBlPXQmJnQucmVqZWN0aW9uO2U/Y29uc29sZS5lcnJvcigiVW5oYW5kbGVkIFByb21pc2UgcmVqZWN0aW9uOiIsZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZTplLCI7IFpvbmU6Iix0LnpvbmUubmFtZSwiOyBUYXNrOiIsdC50YXNrJiZ0LnRhc2suc291cmNlLCI7IFZhbHVlOiIsZSxlIGluc3RhbmNlb2YgRXJyb3I/ZS5zdGFjazp2b2lkIDApOmNvbnNvbGUuZXJyb3IodCl9fSxuLm1pY3JvdGFza0RyYWluRG9uZT1mdW5jdGlvbigpe2Zvcih2YXIgdD1mdW5jdGlvbigpe3ZhciB0PXMuc2hpZnQoKTt0cnl7dC56b25lLnJ1bkd1YXJkZWQoKGZ1bmN0aW9uKCl7aWYodC50aHJvd09yaWdpbmFsKXRocm93IHQucmVqZWN0aW9uO3Rocm93IHR9KSl9Y2F0Y2godCl7Zih0KX19O3MubGVuZ3RoOyl0KCl9O3ZhciBtPXIoInVuaGFuZGxlZFByb21pc2VSZWplY3Rpb25IYW5kbGVyIik7ZnVuY3Rpb24gZih0KXtuLm9uVW5oYW5kbGVkRXJyb3IodCk7dHJ5e3ZhciBvPWVbbV07ImZ1bmN0aW9uIj09dHlwZW9mIG8mJm8uY2FsbCh0aGlzLHQpfWNhdGNoKHQpe319ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdCYmdC50aGVufWZ1bmN0aW9uIGcodCl7cmV0dXJuIHR9ZnVuY3Rpb24gaCh0KXtyZXR1cm4gRi5yZWplY3QodCl9dmFyIGI9cigic3RhdGUiKSx5PXIoInZhbHVlIiksXz1yKCJmaW5hbGx5IiksQz1yKCJwYXJlbnRQcm9taXNlVmFsdWUiKSxNPXIoInBhcmVudFByb21pc2VTdGF0ZSIpLHY9IlByb21pc2UudGhlbiIseD1udWxsLE89ITAsUD0hMSx3PTA7ZnVuY3Rpb24gayh0LGUpe3JldHVybiBmdW5jdGlvbihuKXt0cnl7RSh0LGUsbil9Y2F0Y2goZSl7RSh0LCExLGUpfX19dmFyIFM9ZnVuY3Rpb24oKXt2YXIgdD0hMTtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4gZnVuY3Rpb24oKXt0fHwodD0hMCxuLmFwcGx5KG51bGwsYXJndW1lbnRzKSl9fX0sRD0iUHJvbWlzZSByZXNvbHZlZCB3aXRoIGl0c2VsZiIsUj1yKCJjdXJyZW50VGFza1RyYWNlIik7ZnVuY3Rpb24gRSh0LG8scil7dmFyIGM9UygpO2lmKHQ9PT1yKXRocm93IG5ldyBUeXBlRXJyb3IoRCk7aWYodFtiXT09PXgpe3ZhciBkPW51bGw7dHJ5eyJvYmplY3QiIT10eXBlb2YgciYmImZ1bmN0aW9uIiE9dHlwZW9mIHJ8fChkPXImJnIudGhlbil9Y2F0Y2goZSl7cmV0dXJuIGMoKGZ1bmN0aW9uKCl7RSh0LCExLGUpfSkpKCksdH1pZihvIT09UCYmciBpbnN0YW5jZW9mIEYmJnIuaGFzT3duUHJvcGVydHkoYikmJnIuaGFzT3duUHJvcGVydHkoeSkmJnJbYl0hPT14KU4ociksRSh0LHJbYl0sclt5XSk7ZWxzZSBpZihvIT09UCYmImZ1bmN0aW9uIj09dHlwZW9mIGQpdHJ5e2QuY2FsbChyLGMoayh0LG8pKSxjKGsodCwhMSkpKX1jYXRjaChlKXtjKChmdW5jdGlvbigpe0UodCwhMSxlKX0pKSgpfWVsc2V7dFtiXT1vO3ZhciBtPXRbeV07aWYodFt5XT1yLHRbX109PT1fJiZvPT09TyYmKHRbYl09dFtNXSx0W3ldPXRbQ10pLG89PT1QJiZyIGluc3RhbmNlb2YgRXJyb3Ipe3ZhciBmPWUuY3VycmVudFRhc2smJmUuY3VycmVudFRhc2suZGF0YSYmZS5jdXJyZW50VGFzay5kYXRhW3BdO2YmJmkocixSLHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCx2YWx1ZTpmfSl9Zm9yKHZhciB1PTA7dTxtLmxlbmd0aDspeih0LG1bdSsrXSxtW3UrK10sbVt1KytdLG1bdSsrXSk7aWYoMD09bS5sZW5ndGgmJm89PVApe3RbYl09dzt2YXIgZz1yO3RyeXt0aHJvdyBuZXcgRXJyb3IoIlVuY2F1Z2h0IChpbiBwcm9taXNlKTogIithKHIpKyhyJiZyLnN0YWNrPyJcbiIrci5zdGFjazoiIikpfWNhdGNoKHQpe2c9dH1sJiYoZy50aHJvd09yaWdpbmFsPSEwKSxnLnJlamVjdGlvbj1yLGcucHJvbWlzZT10LGcuem9uZT1lLmN1cnJlbnQsZy50YXNrPWUuY3VycmVudFRhc2sscy5wdXNoKGcpLG4uc2NoZWR1bGVNaWNyb1Rhc2soKX19fXJldHVybiB0fXZhciBBPXIoInJlamVjdGlvbkhhbmRsZWRIYW5kbGVyIik7ZnVuY3Rpb24gTih0KXtpZih0W2JdPT09dyl7dHJ5e3ZhciBuPWVbQV07biYmImZ1bmN0aW9uIj09dHlwZW9mIG4mJm4uY2FsbCh0aGlzLHtyZWplY3Rpb246dFt5XSxwcm9taXNlOnR9KX1jYXRjaCh0KXt9dFtiXT1QO2Zvcih2YXIgbz0wO288cy5sZW5ndGg7bysrKXQ9PT1zW29dLnByb21pc2UmJnMuc3BsaWNlKG8sMSl9fWZ1bmN0aW9uIHoodCxlLG4sbyxpKXtOKHQpO3ZhciBhPXRbYl0scj1hPyJmdW5jdGlvbiI9PXR5cGVvZiBvP286ZzoiZnVuY3Rpb24iPT10eXBlb2YgaT9pOmg7ZS5zY2hlZHVsZU1pY3JvVGFzayh2LChmdW5jdGlvbigpe3RyeXt2YXIgbz10W3ldLGk9ISFuJiZfPT09bltfXTtpJiYobltDXT1vLG5bTV09YSk7dmFyIHM9ZS5ydW4ocix2b2lkIDAsaSYmciE9PWgmJnIhPT1nP1tdOltvXSk7RShuLCEwLHMpfWNhdGNoKHQpe0UobiwhMSx0KX19KSxuKX12YXIgST0iZnVuY3Rpb24gWm9uZUF3YXJlUHJvbWlzZSgpIHsgW25hdGl2ZSBjb2RlXSB9IixIPWZ1bmN0aW9uKCl7fSxGPShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dmFyIG49dGhpcztpZighKG4gaW5zdGFuY2VvZiB0KSl0aHJvdyBuZXcgRXJyb3IoIk11c3QgYmUgYW4gaW5zdGFuY2VvZiBQcm9taXNlLiIpO25bYl09eCxuW3ldPVtdO3RyeXtlJiZlKGsobixPKSxrKG4sUCkpfWNhdGNoKHQpe0UobiwhMSx0KX19cmV0dXJuIHQudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gSX0sdC5yZXNvbHZlPWZ1bmN0aW9uKHQpe3JldHVybiBFKG5ldyB0aGlzKG51bGwpLE8sdCl9LHQucmVqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBFKG5ldyB0aGlzKG51bGwpLFAsdCl9LHQucmFjZT1mdW5jdGlvbih0KXt2YXIgZSxuLG89bmV3IHRoaXMoKGZ1bmN0aW9uKHQsbyl7ZT10LG49b30pKTtmdW5jdGlvbiBpKHQpe2UodCl9ZnVuY3Rpb24gYSh0KXtuKHQpfWZvcih2YXIgcj0wLHM9dDtyPHMubGVuZ3RoO3IrKyl7dmFyIGw9c1tyXTt1KGwpfHwobD10aGlzLnJlc29sdmUobCkpLGwudGhlbihpLGEpfXJldHVybiBvfSx0LmFsbD1mdW5jdGlvbihlKXtyZXR1cm4gdC5hbGxXaXRoQ2FsbGJhY2soZSl9LHQuYWxsU2V0dGxlZD1mdW5jdGlvbihlKXtyZXR1cm4odGhpcyYmdGhpcy5wcm90b3R5cGUgaW5zdGFuY2VvZiB0P3RoaXM6dCkuYWxsV2l0aENhbGxiYWNrKGUse3RoZW5DYWxsYmFjazpmdW5jdGlvbih0KXtyZXR1cm57c3RhdHVzOiJmdWxmaWxsZWQiLHZhbHVlOnR9fSxlcnJvckNhbGxiYWNrOmZ1bmN0aW9uKHQpe3JldHVybntzdGF0dXM6InJlamVjdGVkIixyZWFzb246dH19fSl9LHQuYWxsV2l0aENhbGxiYWNrPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuLG8saT1uZXcgdGhpcygoZnVuY3Rpb24odCxlKXtuPXQsbz1lfSkpLGE9MixyPTAscz1bXSxsPWZ1bmN0aW9uKHQpe3UodCl8fCh0PWMucmVzb2x2ZSh0KSk7dmFyIGk9cjt0cnl7dC50aGVuKChmdW5jdGlvbih0KXtzW2ldPWU/ZS50aGVuQ2FsbGJhY2sodCk6dCwwPT0tLWEmJm4ocyl9KSwoZnVuY3Rpb24odCl7ZT8oc1tpXT1lLmVycm9yQ2FsbGJhY2sodCksMD09LS1hJiZuKHMpKTpvKHQpfSkpfWNhdGNoKHQpe28odCl9YSsrLHIrK30sYz10aGlzLGQ9MCxwPXQ7ZDxwLmxlbmd0aDtkKyspbChwW2RdKTtyZXR1cm4gMD09KGEtPTIpJiZuKHMpLGl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxTeW1ib2wudG9TdHJpbmdUYWcse2dldDpmdW5jdGlvbigpe3JldHVybiJQcm9taXNlIn0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsU3ltYm9sLnNwZWNpZXMse2dldDpmdW5jdGlvbigpe3JldHVybiB0fSxlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24obixvKXt2YXIgaT10aGlzLmNvbnN0cnVjdG9yW1N5bWJvbC5zcGVjaWVzXTtpJiYiZnVuY3Rpb24iPT10eXBlb2YgaXx8KGk9dGhpcy5jb25zdHJ1Y3Rvcnx8dCk7dmFyIGE9bmV3IGkoSCkscj1lLmN1cnJlbnQ7cmV0dXJuIHRoaXNbYl09PXg/dGhpc1t5XS5wdXNoKHIsYSxuLG8pOnoodGhpcyxyLGEsbixvKSxhfSx0LnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50aGVuKG51bGwsdCl9LHQucHJvdG90eXBlLmZpbmFsbHk9ZnVuY3Rpb24obil7dmFyIG89dGhpcy5jb25zdHJ1Y3RvcltTeW1ib2wuc3BlY2llc107byYmImZ1bmN0aW9uIj09dHlwZW9mIG98fChvPXQpO3ZhciBpPW5ldyBvKEgpO2lbX109Xzt2YXIgYT1lLmN1cnJlbnQ7cmV0dXJuIHRoaXNbYl09PXg/dGhpc1t5XS5wdXNoKGEsaSxuLG4pOnoodGhpcyxhLGksbixuKSxpfSx0fSkoKTtGLnJlc29sdmU9Ri5yZXNvbHZlLEYucmVqZWN0PUYucmVqZWN0LEYucmFjZT1GLnJhY2UsRi5hbGw9Ri5hbGw7dmFyIEw9dFtjXT10LlByb21pc2U7dC5Qcm9taXNlPUY7dmFyIEI9cigidGhlblBhdGNoZWQiKTtmdW5jdGlvbiBWKHQpe3ZhciBlPXQucHJvdG90eXBlLG49byhlLCJ0aGVuIik7aWYoIW58fCExIT09bi53cml0YWJsZSYmbi5jb25maWd1cmFibGUpe3ZhciBpPWUudGhlbjtlW2RdPWksdC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXM7cmV0dXJuIG5ldyBGKChmdW5jdGlvbih0LGUpe2kuY2FsbChuLHQsZSl9KSkudGhlbih0LGUpfSx0W0JdPSEwfX1mdW5jdGlvbiBqKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciBvPXQuYXBwbHkoZSxuKTtpZihvIGluc3RhbmNlb2YgRilyZXR1cm4gbzt2YXIgaT1vLmNvbnN0cnVjdG9yO3JldHVybiBpW0JdfHxWKGkpLG99fXJldHVybiBuLnBhdGNoVGhlbj1WLEwmJihWKEwpLFQodCwiZmV0Y2giLChmdW5jdGlvbih0KXtyZXR1cm4gaih0KX0pKSksUHJvbWlzZVtlLl9fc3ltYm9sX18oInVuY2F1Z2h0UHJvbWlzZUVycm9ycyIpXT1zLEZ9KSksCi8qKgogICAgICAgICAqIEBsaWNlbnNlCiAgICAgICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAgICAgKgogICAgICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICAgICAqLwpab25lLl9fbG9hZF9wYXRjaCgidG9TdHJpbmciLChmdW5jdGlvbih0KXt2YXIgZT1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcsbj11KCJPcmlnaW5hbERlbGVnYXRlIiksbz11KCJQcm9taXNlIiksaT11KCJFcnJvciIpLGE9ZnVuY3Rpb24gYSgpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzKXt2YXIgcj10aGlzW25dO2lmKHIpcmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHI/ZS5jYWxsKHIpOk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKTtpZih0aGlzPT09UHJvbWlzZSl7dmFyIHM9dFtvXTtpZihzKXJldHVybiBlLmNhbGwocyl9aWYodGhpcz09PUVycm9yKXt2YXIgbD10W2ldO2lmKGwpcmV0dXJuIGUuY2FsbChsKX19cmV0dXJuIGUuY2FsbCh0aGlzKX07YVtuXT1lLEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZz1hO3ZhciByPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcscz0iW29iamVjdCBQcm9taXNlXSI7T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBQcm9taXNlJiZ0aGlzIGluc3RhbmNlb2YgUHJvbWlzZT9zOnIuY2FsbCh0aGlzKX19KSk7Ci8qKgogICAgICAgICAqIEBsaWNlbnNlCiAgICAgICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAgICAgKgogICAgICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICAgICAqLwp2YXIgQj0hMTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyl0cnl7dmFyIFY9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7Qj0hMH19KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsVixWKSx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsVixWKX1jYXRjaCh0KXtCPSExfXZhciBqPXt1c2VHOiEwfSxVPXt9LFc9e30sRz1uZXcgUmVnRXhwKCJeIitwKyIoXFx3KykodHJ1ZXxmYWxzZSkkIiksWT11KCJwcm9wYWdhdGlvblN0b3BwZWQiKTtmdW5jdGlvbiBxKHQsZSl7dmFyIG49KGU/ZSh0KTp0KStkLG89KGU/ZSh0KTp0KStjLGk9cCtuLGE9cCtvO1VbdF09e30sVVt0XVtkXT1pLFVbdF1bY109YX1mdW5jdGlvbiBaKHQsZSxvKXt2YXIgaT1vJiZvLmFkZHx8YSxzPW8mJm8ucm18fHIsbD1vJiZvLmxpc3RlbmVyc3x8ImV2ZW50TGlzdGVuZXJzIixtPW8mJm8ucm1BbGx8fCJyZW1vdmVBbGxMaXN0ZW5lcnMiLGY9dShpKSxnPSIuIitpKyI6IixoPSJwcmVwZW5kTGlzdGVuZXIiLGI9Ii4iK2grIjoiLHk9ZnVuY3Rpb24odCxlLG4pe2lmKCF0LmlzUmVtb3ZlZCl7dmFyIG89dC5jYWxsYmFjazsib2JqZWN0Ij09dHlwZW9mIG8mJm8uaGFuZGxlRXZlbnQmJih0LmNhbGxiYWNrPWZ1bmN0aW9uKHQpe3JldHVybiBvLmhhbmRsZUV2ZW50KHQpfSx0Lm9yaWdpbmFsRGVsZWdhdGU9byksdC5pbnZva2UodCxlLFtuXSk7dmFyIGk9dC5vcHRpb25zO2kmJiJvYmplY3QiPT10eXBlb2YgaSYmaS5vbmNlJiZlW3NdLmNhbGwoZSxuLnR5cGUsdC5vcmlnaW5hbERlbGVnYXRlP3Qub3JpZ2luYWxEZWxlZ2F0ZTp0LmNhbGxiYWNrLGkpfX0sXz1mdW5jdGlvbihlKXtpZihlPWV8fHQuZXZlbnQpe3ZhciBuPXRoaXN8fGUudGFyZ2V0fHx0LG89bltVW2UudHlwZV1bZF1dO2lmKG8paWYoMT09PW8ubGVuZ3RoKXkob1swXSxuLGUpO2Vsc2UgZm9yKHZhciBpPW8uc2xpY2UoKSxhPTA7YTxpLmxlbmd0aCYmKCFlfHwhMCE9PWVbWV0pO2ErKyl5KGlbYV0sbixlKX19LEM9ZnVuY3Rpb24oZSl7aWYoZT1lfHx0LmV2ZW50KXt2YXIgbj10aGlzfHxlLnRhcmdldHx8dCxvPW5bVVtlLnR5cGVdW2NdXTtpZihvKWlmKDE9PT1vLmxlbmd0aCl5KG9bMF0sbixlKTtlbHNlIGZvcih2YXIgaT1vLnNsaWNlKCksYT0wO2E8aS5sZW5ndGgmJighZXx8ITAhPT1lW1ldKTthKyspeShpW2FdLG4sZSl9fTtmdW5jdGlvbiBNKGUsbyl7aWYoIWUpcmV0dXJuITE7dmFyIGE9ITA7byYmdm9pZCAwIT09by51c2VHJiYoYT1vLnVzZUcpO3ZhciByPW8mJm8udmgseT0hMDtvJiZ2b2lkIDAhPT1vLmNoa0R1cCYmKHk9by5jaGtEdXApO3ZhciBNPSExO28mJnZvaWQgMCE9PW8ucnQmJihNPW8ucnQpO2Zvcih2YXIgdj1lO3YmJiF2Lmhhc093blByb3BlcnR5KGkpOyl2PW4odik7aWYoIXYmJmVbaV0mJih2PWUpLCF2KXJldHVybiExO2lmKHZbZl0pcmV0dXJuITE7dmFyIHgsUD1vJiZvLmV2ZW50TmFtZVRvU3RyaW5nLHc9e30saz12W2ZdPXZbaV0sUz12W3UocyldPXZbc10sRD12W3UobCldPXZbbF0sUj12W3UobSldPXZbbV07ZnVuY3Rpb24gRSh0LGUpe3JldHVybiFCJiYib2JqZWN0Ij09dHlwZW9mIHQmJnQ/ISF0LmNhcHR1cmU6QiYmZT8iYm9vbGVhbiI9PXR5cGVvZiB0P3tjYXB0dXJlOnQscGFzc2l2ZTohMH06dD8ib2JqZWN0Ij09dHlwZW9mIHQmJiExIT09dC5wYXNzaXZlP09iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cGFzc2l2ZTohMH0pOnQ6e3Bhc3NpdmU6ITB9OnR9byYmby5wcmVwZW5kJiYoeD12W3Uoby5wcmVwZW5kKV09dltvLnByZXBlbmRdKTt2YXIgQT1mdW5jdGlvbih0KXtyZXR1cm4geC5jYWxsKHcudGFyZ2V0LHcuZXZlbnROYW1lLHQuaW52b2tlLHcub3B0aW9ucyl9LFQ9YT9mdW5jdGlvbih0KXtpZighdy5pc0V4aXN0aW5nKXJldHVybiBrLmNhbGwody50YXJnZXQsdy5ldmVudE5hbWUsdy5jYXB0dXJlP0M6Xyx3Lm9wdGlvbnMpfTpmdW5jdGlvbih0KXtyZXR1cm4gay5jYWxsKHcudGFyZ2V0LHcuZXZlbnROYW1lLHQuaW52b2tlLHcub3B0aW9ucyl9LE49YT9mdW5jdGlvbih0KXtpZighdC5pc1JlbW92ZWQpe3ZhciBlPVVbdC5ldmVudE5hbWVdLG49dm9pZCAwO2UmJihuPWVbdC5jYXB0dXJlP2M6ZF0pO3ZhciBvPW4mJnQudGFyZ2V0W25dO2lmKG8pZm9yKHZhciBpPTA7aTxvLmxlbmd0aDtpKyspaWYob1tpXT09PXQpe28uc3BsaWNlKGksMSksdC5pc1JlbW92ZWQ9ITAsMD09PW8ubGVuZ3RoJiYodC5hbGxSZW1vdmVkPSEwLHQudGFyZ2V0W25dPW51bGwpO2JyZWFrfX1pZih0LmFsbFJlbW92ZWQpcmV0dXJuIFMuY2FsbCh0LnRhcmdldCx0LmV2ZW50TmFtZSx0LmNhcHR1cmU/QzpfLHQub3B0aW9ucyl9OmZ1bmN0aW9uKHQpe3JldHVybiBTLmNhbGwodC50YXJnZXQsdC5ldmVudE5hbWUsdC5pbnZva2UsdC5vcHRpb25zKX0sST1vJiZvLmRpZmY/by5kaWZmOmZ1bmN0aW9uKHQsZSl7dmFyIG49dHlwZW9mIGU7cmV0dXJuImZ1bmN0aW9uIj09PW4mJnQuY2FsbGJhY2s9PT1lfHwib2JqZWN0Ij09PW4mJnQub3JpZ2luYWxEZWxlZ2F0ZT09PWV9LEg9Wm9uZVt1KCJVTlBBVENIRURfRVZFTlRTIildLEY9dFt1KCJQQVNTSVZFX0VWRU5UUyIpXSxMPWZ1bmN0aW9uKGUsbixpLHMsbCxwKXtyZXR1cm4gdm9pZCAwPT09bCYmKGw9ITEpLHZvaWQgMD09PXAmJihwPSExKSxmdW5jdGlvbigpe3ZhciBtPXRoaXN8fHQsZj1hcmd1bWVudHNbMF07byYmby50cmFuc2ZlckV2ZW50TmFtZSYmKGY9by50cmFuc2ZlckV2ZW50TmFtZShmKSk7dmFyIHU9YXJndW1lbnRzWzFdO2lmKCF1KXJldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZihPJiYidW5jYXVnaHRFeGNlcHRpb24iPT09ZilyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIGc9ITE7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHUpe2lmKCF1LmhhbmRsZUV2ZW50KXJldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtnPSEwfWlmKCFyfHxyKGUsdSxtLGFyZ3VtZW50cykpe3ZhciBoPUImJiEhRiYmLTEhPT1GLmluZGV4T2YoZiksYj1FKGFyZ3VtZW50c1syXSxoKTtpZihIKWZvcih2YXIgXz0wO188SC5sZW5ndGg7XysrKWlmKGY9PT1IW19dKXJldHVybiBoP2UuY2FsbChtLGYsdSxiKTplLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt2YXIgQz0hIWImJigiYm9vbGVhbiI9PXR5cGVvZiBifHxiLmNhcHR1cmUpLE09ISghYnx8Im9iamVjdCIhPXR5cGVvZiBiKSYmYi5vbmNlLHY9Wm9uZS5jdXJyZW50LHg9VVtmXTt4fHwocShmLFApLHg9VVtmXSk7dmFyIGssUz14W0M/YzpkXSxEPW1bU10sUj0hMTtpZihEKXtpZihSPSEwLHkpZm9yKF89MDtfPEQubGVuZ3RoO18rKylpZihJKERbX10sdSkpcmV0dXJufWVsc2UgRD1tW1NdPVtdO3ZhciBBPW0uY29uc3RydWN0b3IubmFtZSxUPVdbQV07VCYmKGs9VFtmXSksa3x8KGs9QStuKyhQP1AoZik6ZikpLHcub3B0aW9ucz1iLE0mJih3Lm9wdGlvbnMub25jZT0hMSksdy50YXJnZXQ9bSx3LmNhcHR1cmU9Qyx3LmV2ZW50TmFtZT1mLHcuaXNFeGlzdGluZz1SO3ZhciBOPWE/ajp2b2lkIDA7TiYmKE4udGFza0RhdGE9dyk7dmFyIHo9di5zY2hlZHVsZUV2ZW50VGFzayhrLHUsTixpLHMpO3JldHVybiB3LnRhcmdldD1udWxsLE4mJihOLnRhc2tEYXRhPW51bGwpLE0mJihiLm9uY2U9ITApLChCfHwiYm9vbGVhbiIhPXR5cGVvZiB6Lm9wdGlvbnMpJiYoei5vcHRpb25zPWIpLHoudGFyZ2V0PW0sei5jYXB0dXJlPUMsei5ldmVudE5hbWU9ZixnJiYoei5vcmlnaW5hbERlbGVnYXRlPXUpLHA/RC51bnNoaWZ0KHopOkQucHVzaCh6KSxsP206dm9pZCAwfX19O3JldHVybiB2W2ldPUwoayxnLFQsTixNKSx4JiYodltoXT1MKHgsYixBLE4sTSwhMCkpLHZbc109ZnVuY3Rpb24oKXt2YXIgZT10aGlzfHx0LG49YXJndW1lbnRzWzBdO28mJm8udHJhbnNmZXJFdmVudE5hbWUmJihuPW8udHJhbnNmZXJFdmVudE5hbWUobikpO3ZhciBpPWFyZ3VtZW50c1syXSxhPSEhaSYmKCJib29sZWFuIj09dHlwZW9mIGl8fGkuY2FwdHVyZSkscz1hcmd1bWVudHNbMV07aWYoIXMpcmV0dXJuIFMuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKCFyfHxyKFMscyxlLGFyZ3VtZW50cykpe3ZhciBsLG09VVtuXTttJiYobD1tW2E/YzpkXSk7dmFyIGY9bCYmZVtsXTtpZihmKWZvcih2YXIgdT0wO3U8Zi5sZW5ndGg7dSsrKXt2YXIgZz1mW3VdO2lmKEkoZyxzKSlyZXR1cm4gZi5zcGxpY2UodSwxKSxnLmlzUmVtb3ZlZD0hMCwwPT09Zi5sZW5ndGgmJihnLmFsbFJlbW92ZWQ9ITAsZVtsXT1udWxsLCJzdHJpbmciPT10eXBlb2YgbiYmKGVbcCsiT05fUFJPUEVSVFkiK25dPW51bGwpKSxnLnpvbmUuY2FuY2VsVGFzayhnKSxNP2U6dm9pZCAwfXJldHVybiBTLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LHZbbF09ZnVuY3Rpb24oKXt2YXIgZT10aGlzfHx0LG49YXJndW1lbnRzWzBdO28mJm8udHJhbnNmZXJFdmVudE5hbWUmJihuPW8udHJhbnNmZXJFdmVudE5hbWUobikpO2Zvcih2YXIgaT1bXSxhPVgoZSxQP1Aobik6bikscj0wO3I8YS5sZW5ndGg7cisrKXt2YXIgcz1hW3JdO2kucHVzaChzLm9yaWdpbmFsRGVsZWdhdGU/cy5vcmlnaW5hbERlbGVnYXRlOnMuY2FsbGJhY2spfXJldHVybiBpfSx2W21dPWZ1bmN0aW9uKCl7dmFyIGU9dGhpc3x8dCxuPWFyZ3VtZW50c1swXTtpZihuKXtvJiZvLnRyYW5zZmVyRXZlbnROYW1lJiYobj1vLnRyYW5zZmVyRXZlbnROYW1lKG4pKTt2YXIgaT1VW25dO2lmKGkpe3ZhciBhPWVbaVtkXV0scj1lW2lbY11dO2lmKGEpe3ZhciBsPWEuc2xpY2UoKTtmb3IodT0wO3U8bC5sZW5ndGg7dSsrKXRoaXNbc10uY2FsbCh0aGlzLG4sKHA9bFt1XSkub3JpZ2luYWxEZWxlZ2F0ZT9wLm9yaWdpbmFsRGVsZWdhdGU6cC5jYWxsYmFjayxwLm9wdGlvbnMpfWlmKHIpZm9yKGw9ci5zbGljZSgpLHU9MDt1PGwubGVuZ3RoO3UrKyl7dmFyIHA7dGhpc1tzXS5jYWxsKHRoaXMsbiwocD1sW3VdKS5vcmlnaW5hbERlbGVnYXRlP3Aub3JpZ2luYWxEZWxlZ2F0ZTpwLmNhbGxiYWNrLHAub3B0aW9ucyl9fX1lbHNle2Zvcih2YXIgZj1PYmplY3Qua2V5cyhlKSx1PTA7dTxmLmxlbmd0aDt1Kyspe3ZhciBnPUcuZXhlYyhmW3VdKSxoPWcmJmdbMV07aCYmInJlbW92ZUxpc3RlbmVyIiE9PWgmJnRoaXNbbV0uY2FsbCh0aGlzLGgpfXRoaXNbbV0uY2FsbCh0aGlzLCJyZW1vdmVMaXN0ZW5lciIpfWlmKE0pcmV0dXJuIHRoaXN9LHoodltpXSxrKSx6KHZbc10sUyksUiYmeih2W21dLFIpLEQmJnoodltsXSxEKSwhMH1mb3IodmFyIHY9W10seD0wO3g8ZS5sZW5ndGg7eCsrKXZbeF09TShlW3hdLG8pO3JldHVybiB2fWZ1bmN0aW9uIFgodCxlKXtpZighZSl7dmFyIG49W107Zm9yKHZhciBvIGluIHQpe3ZhciBpPUcuZXhlYyhvKSxhPWkmJmlbMV07aWYoYSYmKCFlfHxhPT09ZSkpe3ZhciByPXRbb107aWYocilmb3IodmFyIHM9MDtzPHIubGVuZ3RoO3MrKyluLnB1c2gocltzXSl9fXJldHVybiBufXZhciBsPVVbZV07bHx8KHEoZSksbD1VW2VdKTt2YXIgcD10W2xbZF1dLG09dFtsW2NdXTtyZXR1cm4gcD9tP3AuY29uY2F0KG0pOnAuc2xpY2UoKTptP20uc2xpY2UoKTpbXX1mdW5jdGlvbiBLKHQsZSl7dmFyIG49dC5FdmVudDtuJiZuLnByb3RvdHlwZSYmZS5wYXRjaE1ldGhvZChuLnByb3RvdHlwZSwic3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uIiwoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7ZVtZXT0hMCx0JiZ0LmFwcGx5KGUsbil9fSkpfQovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi9mdW5jdGlvbiBKKHQsZSxuLG8saSl7dmFyIGE9Wm9uZS5fX3N5bWJvbF9fKG8pO2lmKCFlW2FdKXt2YXIgcj1lW2FdPWVbb107ZVtvXT1mdW5jdGlvbihhLHMsbCl7cmV0dXJuIHMmJnMucHJvdG90eXBlJiZpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBpPW4rIi4iK28rIjo6IitlLGE9cy5wcm90b3R5cGU7aWYoYS5oYXNPd25Qcm9wZXJ0eShlKSl7dmFyIHI9dC5PYmplY3RHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYSxlKTtyJiZyLnZhbHVlPyhyLnZhbHVlPXQud3JhcFdpdGhDdXJyZW50Wm9uZShyLnZhbHVlLGkpLHQuX3JlZGVmaW5lUHJvcGVydHkocy5wcm90b3R5cGUsZSxyKSk6YVtlXSYmKGFbZV09dC53cmFwV2l0aEN1cnJlbnRab25lKGFbZV0saSkpfWVsc2UgYVtlXSYmKGFbZV09dC53cmFwV2l0aEN1cnJlbnRab25lKGFbZV0saSkpfSkpLHIuY2FsbChlLGEscyxsKX0sdC5hdHRhY2hPcmlnaW5Ub1BhdGNoZWQoZVtvXSxyKX19Ci8qKgogICAgICAgICAqIEBsaWNlbnNlCiAgICAgICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAgICAgKgogICAgICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICAgICAqL3ZhciBRLCQsdHQsZXQsbnQsb3Q9WyJhYnNvbHV0ZWRldmljZW9yaWVudGF0aW9uIiwiYWZ0ZXJpbnB1dCIsImFmdGVycHJpbnQiLCJhcHBpbnN0YWxsZWQiLCJiZWZvcmVpbnN0YWxscHJvbXB0IiwiYmVmb3JlcHJpbnQiLCJiZWZvcmV1bmxvYWQiLCJkZXZpY2VsaWdodCIsImRldmljZW1vdGlvbiIsImRldmljZW9yaWVudGF0aW9uIiwiZGV2aWNlb3JpZW50YXRpb25hYnNvbHV0ZSIsImRldmljZXByb3hpbWl0eSIsImhhc2hjaGFuZ2UiLCJsYW5ndWFnZWNoYW5nZSIsIm1lc3NhZ2UiLCJtb3piZWZvcmVwYWludCIsIm9mZmxpbmUiLCJvbmxpbmUiLCJwYWludCIsInBhZ2VzaG93IiwicGFnZWhpZGUiLCJwb3BzdGF0ZSIsInJlamVjdGlvbmhhbmRsZWQiLCJzdG9yYWdlIiwidW5oYW5kbGVkcmVqZWN0aW9uIiwidW5sb2FkIiwidXNlcnByb3hpbWl0eSIsInZyZGlzcGxheWNvbm5lY3RlZCIsInZyZGlzcGxheWRpc2Nvbm5lY3RlZCIsInZyZGlzcGxheXByZXNlbnRjaGFuZ2UiXSxpdD1bImVuY3J5cHRlZCIsIndhaXRpbmdmb3JrZXkiLCJtc25lZWRrZXkiLCJtb3ppbnRlcnJ1cHRiZWdpbiIsIm1vemludGVycnVwdGVuZCJdLGF0PVsibG9hZCJdLHJ0PVsiYmx1ciIsImVycm9yIiwiZm9jdXMiLCJsb2FkIiwicmVzaXplIiwic2Nyb2xsIiwibWVzc2FnZWVycm9yIl0sc3Q9WyJib3VuY2UiLCJmaW5pc2giLCJzdGFydCJdLGx0PVsibG9hZHN0YXJ0IiwicHJvZ3Jlc3MiLCJhYm9ydCIsImVycm9yIiwibG9hZCIsInByb2dyZXNzIiwidGltZW91dCIsImxvYWRlbmQiLCJyZWFkeXN0YXRlY2hhbmdlIl0sY3Q9WyJ1cGdyYWRlbmVlZGVkIiwiY29tcGxldGUiLCJhYm9ydCIsInN1Y2Nlc3MiLCJlcnJvciIsImJsb2NrZWQiLCJ2ZXJzaW9uY2hhbmdlIiwiY2xvc2UiXSxkdD1bImNsb3NlIiwiZXJyb3IiLCJvcGVuIiwibWVzc2FnZSJdLHB0PVsiZXJyb3IiLCJtZXNzYWdlIl0sbXQ9WyJhYm9ydCIsImFuaW1hdGlvbmNhbmNlbCIsImFuaW1hdGlvbmVuZCIsImFuaW1hdGlvbml0ZXJhdGlvbiIsImF1eGNsaWNrIiwiYmVmb3JlaW5wdXQiLCJibHVyIiwiY2FuY2VsIiwiY2FucGxheSIsImNhbnBsYXl0aHJvdWdoIiwiY2hhbmdlIiwiY29tcG9zaXRpb25zdGFydCIsImNvbXBvc2l0aW9udXBkYXRlIiwiY29tcG9zaXRpb25lbmQiLCJjdWVjaGFuZ2UiLCJjbGljayIsImNsb3NlIiwiY29udGV4dG1lbnUiLCJjdXJlY2hhbmdlIiwiZGJsY2xpY2siLCJkcmFnIiwiZHJhZ2VuZCIsImRyYWdlbnRlciIsImRyYWdleGl0IiwiZHJhZ2xlYXZlIiwiZHJhZ292ZXIiLCJkcm9wIiwiZHVyYXRpb25jaGFuZ2UiLCJlbXB0aWVkIiwiZW5kZWQiLCJlcnJvciIsImZvY3VzIiwiZm9jdXNpbiIsImZvY3Vzb3V0IiwiZ290cG9pbnRlcmNhcHR1cmUiLCJpbnB1dCIsImludmFsaWQiLCJrZXlkb3duIiwia2V5cHJlc3MiLCJrZXl1cCIsImxvYWQiLCJsb2Fkc3RhcnQiLCJsb2FkZWRkYXRhIiwibG9hZGVkbWV0YWRhdGEiLCJsb3N0cG9pbnRlcmNhcHR1cmUiLCJtb3VzZWRvd24iLCJtb3VzZWVudGVyIiwibW91c2VsZWF2ZSIsIm1vdXNlbW92ZSIsIm1vdXNlb3V0IiwibW91c2VvdmVyIiwibW91c2V1cCIsIm1vdXNld2hlZWwiLCJvcmllbnRhdGlvbmNoYW5nZSIsInBhdXNlIiwicGxheSIsInBsYXlpbmciLCJwb2ludGVyY2FuY2VsIiwicG9pbnRlcmRvd24iLCJwb2ludGVyZW50ZXIiLCJwb2ludGVybGVhdmUiLCJwb2ludGVybG9ja2NoYW5nZSIsIm1venBvaW50ZXJsb2NrY2hhbmdlIiwid2Via2l0cG9pbnRlcmxvY2tlcmNoYW5nZSIsInBvaW50ZXJsb2NrZXJyb3IiLCJtb3pwb2ludGVybG9ja2Vycm9yIiwid2Via2l0cG9pbnRlcmxvY2tlcnJvciIsInBvaW50ZXJtb3ZlIiwicG9pbnRvdXQiLCJwb2ludGVyb3ZlciIsInBvaW50ZXJ1cCIsInByb2dyZXNzIiwicmF0ZWNoYW5nZSIsInJlc2V0IiwicmVzaXplIiwic2Nyb2xsIiwic2Vla2VkIiwic2Vla2luZyIsInNlbGVjdCIsInNlbGVjdGlvbmNoYW5nZSIsInNlbGVjdHN0YXJ0Iiwic2hvdyIsInNvcnQiLCJzdGFsbGVkIiwic3VibWl0Iiwic3VzcGVuZCIsInRpbWV1cGRhdGUiLCJ2b2x1bWVjaGFuZ2UiLCJ0b3VjaGNhbmNlbCIsInRvdWNobW92ZSIsInRvdWNoc3RhcnQiLCJ0b3VjaGVuZCIsInRyYW5zaXRpb25jYW5jZWwiLCJ0cmFuc2l0aW9uZW5kIiwid2FpdGluZyIsIndoZWVsIl0uY29uY2F0KFsid2ViZ2xjb250ZXh0cmVzdG9yZWQiLCJ3ZWJnbGNvbnRleHRsb3N0Iiwid2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvciJdLFsiYXV0b2NvbXBsZXRlIiwiYXV0b2NvbXBsZXRlZXJyb3IiXSxbInRvZ2dsZSJdLFsiYWZ0ZXJzY3JpcHRleGVjdXRlIiwiYmVmb3Jlc2NyaXB0ZXhlY3V0ZSIsIkRPTUNvbnRlbnRMb2FkZWQiLCJmcmVlemUiLCJmdWxsc2NyZWVuY2hhbmdlIiwibW96ZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtc2Z1bGxzY3JlZW5jaGFuZ2UiLCJmdWxsc2NyZWVuZXJyb3IiLCJtb3pmdWxsc2NyZWVuZXJyb3IiLCJ3ZWJraXRmdWxsc2NyZWVuZXJyb3IiLCJtc2Z1bGxzY3JlZW5lcnJvciIsInJlYWR5c3RhdGVjaGFuZ2UiLCJ2aXNpYmlsaXR5Y2hhbmdlIiwicmVzdW1lIl0sb3QsWyJiZWZvcmVjb3B5IiwiYmVmb3JlY3V0IiwiYmVmb3JlcGFzdGUiLCJjb3B5IiwiY3V0IiwicGFzdGUiLCJkcmFnc3RhcnQiLCJsb2FkZW5kIiwiYW5pbWF0aW9uc3RhcnQiLCJzZWFyY2giLCJ0cmFuc2l0aW9ucnVuIiwidHJhbnNpdGlvbnN0YXJ0Iiwid2Via2l0YW5pbWF0aW9uZW5kIiwid2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiwid2Via2l0YW5pbWF0aW9uc3RhcnQiLCJ3ZWJraXR0cmFuc2l0aW9uZW5kIl0sWyJhY3RpdmF0ZSIsImFmdGVydXBkYXRlIiwiYXJpYXJlcXVlc3QiLCJiZWZvcmVhY3RpdmF0ZSIsImJlZm9yZWRlYWN0aXZhdGUiLCJiZWZvcmVlZGl0Zm9jdXMiLCJiZWZvcmV1cGRhdGUiLCJjZWxsY2hhbmdlIiwiY29udHJvbHNlbGVjdCIsImRhdGFhdmFpbGFibGUiLCJkYXRhc2V0Y2hhbmdlZCIsImRhdGFzZXRjb21wbGV0ZSIsImVycm9ydXBkYXRlIiwiZmlsdGVyY2hhbmdlIiwibGF5b3V0Y29tcGxldGUiLCJsb3NlY2FwdHVyZSIsIm1vdmUiLCJtb3ZlZW5kIiwibW92ZXN0YXJ0IiwicHJvcGVydHljaGFuZ2UiLCJyZXNpemVlbmQiLCJyZXNpemVzdGFydCIsInJvd2VudGVyIiwicm93ZXhpdCIsInJvd3NkZWxldGUiLCJyb3dzaW5zZXJ0ZWQiLCJjb21tYW5kIiwiY29tcGFzc25lZWRzY2FsaWJyYXRpb24iLCJkZWFjdGl2YXRlIiwiaGVscCIsIm1zY29udGVudHpvb20iLCJtc21hbmlwdWxhdGlvbnN0YXRlY2hhbmdlZCIsIm1zZ2VzdHVyZWNoYW5nZSIsIm1zZ2VzdHVyZWRvdWJsZXRhcCIsIm1zZ2VzdHVyZWVuZCIsIm1zZ2VzdHVyZWhvbGQiLCJtc2dlc3R1cmVzdGFydCIsIm1zZ2VzdHVyZXRhcCIsIm1zZ290cG9pbnRlcmNhcHR1cmUiLCJtc2luZXJ0aWFzdGFydCIsIm1zbG9zdHBvaW50ZXJjYXB0dXJlIiwibXNwb2ludGVyY2FuY2VsIiwibXNwb2ludGVyZG93biIsIm1zcG9pbnRlcmVudGVyIiwibXNwb2ludGVyaG92ZXIiLCJtc3BvaW50ZXJsZWF2ZSIsIm1zcG9pbnRlcm1vdmUiLCJtc3BvaW50ZXJvdXQiLCJtc3BvaW50ZXJvdmVyIiwibXNwb2ludGVydXAiLCJwb2ludGVyb3V0IiwibXNzaXRlbW9kZWp1bXBsaXN0aXRlbXJlbW92ZWQiLCJtc3RodW1ibmFpbGNsaWNrIiwic3RvcCIsInN0b3JhZ2Vjb21taXQiXSk7ZnVuY3Rpb24gZnQodCxlLG4pe2lmKCFufHwwPT09bi5sZW5ndGgpcmV0dXJuIGU7dmFyIG89bi5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRhcmdldD09PXR9KSk7aWYoIW98fDA9PT1vLmxlbmd0aClyZXR1cm4gZTt2YXIgaT1vWzBdLmlnbm9yZVByb3BlcnRpZXM7cmV0dXJuIGUuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4tMT09PWkuaW5kZXhPZih0KX0pKX1mdW5jdGlvbiB1dCh0LGUsbixvKXt0JiZSKHQsZnQodCxlLG4pLG8pfWZ1bmN0aW9uIGd0KHQsZSl7aWYoKCFPfHx3KSYmIVpvbmVbdC5zeW1ib2woInBhdGNoRXZlbnRzIildKXt2YXIgbz0idW5kZWZpbmVkIiE9dHlwZW9mIFdlYlNvY2tldCxpPWUuX19ab25lX2lnbm9yZV9vbl9wcm9wZXJ0aWVzO2lmKFApe3ZhciBhPXdpbmRvdyxyPUYoKT9be3RhcmdldDphLGlnbm9yZVByb3BlcnRpZXM6WyJlcnJvciJdfV06W107dXQoYSxtdC5jb25jYXQoWyJtZXNzYWdlZXJyb3IiXSksaT9pLmNvbmNhdChyKTppLG4oYSkpLHV0KERvY3VtZW50LnByb3RvdHlwZSxtdCxpKSx2b2lkIDAhPT1hLlNWR0VsZW1lbnQmJnV0KGEuU1ZHRWxlbWVudC5wcm90b3R5cGUsbXQsaSksdXQoRWxlbWVudC5wcm90b3R5cGUsbXQsaSksdXQoSFRNTEVsZW1lbnQucHJvdG90eXBlLG10LGkpLHV0KEhUTUxNZWRpYUVsZW1lbnQucHJvdG90eXBlLGl0LGkpLHV0KEhUTUxGcmFtZVNldEVsZW1lbnQucHJvdG90eXBlLG90LmNvbmNhdChydCksaSksdXQoSFRNTEJvZHlFbGVtZW50LnByb3RvdHlwZSxvdC5jb25jYXQocnQpLGkpLHV0KEhUTUxGcmFtZUVsZW1lbnQucHJvdG90eXBlLGF0LGkpLHV0KEhUTUxJRnJhbWVFbGVtZW50LnByb3RvdHlwZSxhdCxpKTt2YXIgcz1hLkhUTUxNYXJxdWVlRWxlbWVudDtzJiZ1dChzLnByb3RvdHlwZSxzdCxpKTt2YXIgbD1hLldvcmtlcjtsJiZ1dChsLnByb3RvdHlwZSxwdCxpKX12YXIgYz1lLlhNTEh0dHBSZXF1ZXN0O2MmJnV0KGMucHJvdG90eXBlLGx0LGkpO3ZhciBkPWUuWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldDtkJiZ1dChkJiZkLnByb3RvdHlwZSxsdCxpKSwidW5kZWZpbmVkIiE9dHlwZW9mIElEQkluZGV4JiYodXQoSURCSW5kZXgucHJvdG90eXBlLGN0LGkpLHV0KElEQlJlcXVlc3QucHJvdG90eXBlLGN0LGkpLHV0KElEQk9wZW5EQlJlcXVlc3QucHJvdG90eXBlLGN0LGkpLHV0KElEQkRhdGFiYXNlLnByb3RvdHlwZSxjdCxpKSx1dChJREJUcmFuc2FjdGlvbi5wcm90b3R5cGUsY3QsaSksdXQoSURCQ3Vyc29yLnByb3RvdHlwZSxjdCxpKSksbyYmdXQoV2ViU29ja2V0LnByb3RvdHlwZSxkdCxpKX19Ci8qKgogICAgICAgICAqIEBsaWNlbnNlCiAgICAgICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAgICAgKgogICAgICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICAgICAqL2Z1bmN0aW9uIGh0KCl7UT1ab25lLl9fc3ltYm9sX18sJD1PYmplY3RbUSgiZGVmaW5lUHJvcGVydHkiKV09T2JqZWN0LmRlZmluZVByb3BlcnR5LHR0PU9iamVjdFtRKCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiKV09T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixldD1PYmplY3QuY3JlYXRlLG50PVEoInVuY29uZmlndXJhYmxlcyIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eT1mdW5jdGlvbih0LGUsbil7aWYoeXQodCxlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYXNzaWduIHRvIHJlYWQgb25seSBwcm9wZXJ0eSAnIitlKyInIG9mICIrdCk7dmFyIG89bi5jb25maWd1cmFibGU7cmV0dXJuInByb3RvdHlwZSIhPT1lJiYobj1fdCh0LGUsbikpLEN0KHQsZSxuLG8pfSxPYmplY3QuZGVmaW5lUHJvcGVydGllcz1mdW5jdGlvbih0LGUpe3JldHVybiBPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChmdW5jdGlvbihuKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxuLGVbbl0pfSkpLHR9LE9iamVjdC5jcmVhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4ib2JqZWN0IiE9dHlwZW9mIGV8fE9iamVjdC5pc0Zyb3plbihlKXx8T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24obil7ZVtuXT1fdCh0LG4sZVtuXSl9KSksZXQodCxlKX0sT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcj1mdW5jdGlvbih0LGUpe3ZhciBuPXR0KHQsZSk7cmV0dXJuIG4mJnl0KHQsZSkmJihuLmNvbmZpZ3VyYWJsZT0hMSksbn19ZnVuY3Rpb24gYnQodCxlLG4pe3ZhciBvPW4uY29uZmlndXJhYmxlO3JldHVybiBDdCh0LGUsbj1fdCh0LGUsbiksbyl9ZnVuY3Rpb24geXQodCxlKXtyZXR1cm4gdCYmdFtudF0mJnRbbnRdW2VdfWZ1bmN0aW9uIF90KHQsZSxuKXtyZXR1cm4gT2JqZWN0LmlzRnJvemVuKG4pfHwobi5jb25maWd1cmFibGU9ITApLG4uY29uZmlndXJhYmxlfHwodFtudF18fE9iamVjdC5pc0Zyb3plbih0KXx8JCh0LG50LHt3cml0YWJsZTohMCx2YWx1ZTp7fX0pLHRbbnRdJiYodFtudF1bZV09ITApKSxufWZ1bmN0aW9uIEN0KHQsZSxuLG8pe3RyeXtyZXR1cm4gJCh0LGUsbil9Y2F0Y2gocil7aWYoIW4uY29uZmlndXJhYmxlKXRocm93IHI7dm9pZCAwPT09bz9kZWxldGUgbi5jb25maWd1cmFibGU6bi5jb25maWd1cmFibGU9bzt0cnl7cmV0dXJuICQodCxlLG4pfWNhdGNoKG8pe3ZhciBpPSExO2lmKCJjcmVhdGVkQ2FsbGJhY2siIT09ZSYmImF0dGFjaGVkQ2FsbGJhY2siIT09ZSYmImRldGFjaGVkQ2FsbGJhY2siIT09ZSYmImF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayIhPT1lfHwoaT0hMCksIWkpdGhyb3cgbzt2YXIgYT1udWxsO3RyeXthPUpTT04uc3RyaW5naWZ5KG4pfWNhdGNoKHQpe2E9bi50b1N0cmluZygpfWNvbnNvbGUubG9nKCJBdHRlbXB0aW5nIHRvIGNvbmZpZ3VyZSAnIitlKyInIHdpdGggZGVzY3JpcHRvciAnIithKyInIG9uIG9iamVjdCAnIit0KyInIGFuZCBnb3QgZXJyb3IsIGdpdmluZyB1cDogIitvKX19fQovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi9mdW5jdGlvbiBNdCh0LGUpe3ZhciBuPWUuZ2V0R2xvYmFsT2JqZWN0cygpLG89bi5ldmVudE5hbWVzLGk9bi5nbG9iYWxTb3VyY2VzLGE9bi56b25lU3ltYm9sRXZlbnROYW1lcyxyPW4uVFJVRV9TVFIscz1uLkZBTFNFX1NUUixsPW4uWk9ORV9TWU1CT0xfUFJFRklYLGM9IkFuY2hvcixBcmVhLEF1ZGlvLEJSLEJhc2UsQmFzZUZvbnQsQm9keSxCdXR0b24sQ2FudmFzLENvbnRlbnQsRExpc3QsRGlyZWN0b3J5LERpdixFbWJlZCxGaWVsZFNldCxGb250LEZvcm0sRnJhbWUsRnJhbWVTZXQsSFIsSGVhZCxIZWFkaW5nLEh0bWwsSUZyYW1lLEltYWdlLElucHV0LEtleWdlbixMSSxMYWJlbCxMZWdlbmQsTGluayxNYXAsTWFycXVlZSxNZWRpYSxNZW51LE1ldGEsTWV0ZXIsTW9kLE9MaXN0LE9iamVjdCxPcHRHcm91cCxPcHRpb24sT3V0cHV0LFBhcmFncmFwaCxQcmUsUHJvZ3Jlc3MsUXVvdGUsU2NyaXB0LFNlbGVjdCxTb3VyY2UsU3BhbixTdHlsZSxUYWJsZUNhcHRpb24sVGFibGVDZWxsLFRhYmxlQ29sLFRhYmxlLFRhYmxlUm93LFRhYmxlU2VjdGlvbixUZXh0QXJlYSxUaXRsZSxUcmFjayxVTGlzdCxVbmtub3duLFZpZGVvIixkPSJBcHBsaWNhdGlvbkNhY2hlLEV2ZW50U291cmNlLEZpbGVSZWFkZXIsSW5wdXRNZXRob2RDb250ZXh0LE1lZGlhQ29udHJvbGxlcixNZXNzYWdlUG9ydCxOb2RlLFBlcmZvcm1hbmNlLFNWR0VsZW1lbnRJbnN0YW5jZSxTaGFyZWRXb3JrZXIsVGV4dFRyYWNrLFRleHRUcmFja0N1ZSxUZXh0VHJhY2tMaXN0LFdlYktpdE5hbWVkRmxvdyxXaW5kb3csV29ya2VyLFdvcmtlckdsb2JhbFNjb3BlLFhNTEh0dHBSZXF1ZXN0LFhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQsWE1MSHR0cFJlcXVlc3RVcGxvYWQsSURCUmVxdWVzdCxJREJPcGVuREJSZXF1ZXN0LElEQkRhdGFiYXNlLElEQlRyYW5zYWN0aW9uLElEQkN1cnNvcixEQkluZGV4LFdlYlNvY2tldCIuc3BsaXQoIiwiKSxwPSJFdmVudFRhcmdldCIsbT1bXSxmPXQud3RmLHU9Yy5zcGxpdCgiLCIpO2Y/bT11Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIkhUTUwiK3QrIkVsZW1lbnQifSkpLmNvbmNhdChkKTp0W3BdP20ucHVzaChwKTptPWQ7Zm9yKHZhciBnPXQuX19ab25lX2Rpc2FibGVfSUVfY2hlY2t8fCExLGg9dC5fX1pvbmVfZW5hYmxlX2Nyb3NzX2NvbnRleHRfY2hlY2t8fCExLGI9ZS5pc0lFT3JFZGdlKCkseT0iLmFkZEV2ZW50TGlzdGVuZXI6IixfPSJbb2JqZWN0IEZ1bmN0aW9uV3JhcHBlcl0iLEM9ImZ1bmN0aW9uIF9fQlJPV1NFUlRPT0xTX0NPTlNPTEVfU0FGRUZVTkMoKSB7IFtuYXRpdmUgY29kZV0gfSIsTT17TVNQb2ludGVyQ2FuY2VsOiJwb2ludGVyY2FuY2VsIixNU1BvaW50ZXJEb3duOiJwb2ludGVyZG93biIsTVNQb2ludGVyRW50ZXI6InBvaW50ZXJlbnRlciIsTVNQb2ludGVySG92ZXI6InBvaW50ZXJob3ZlciIsTVNQb2ludGVyTGVhdmU6InBvaW50ZXJsZWF2ZSIsTVNQb2ludGVyTW92ZToicG9pbnRlcm1vdmUiLE1TUG9pbnRlck91dDoicG9pbnRlcm91dCIsTVNQb2ludGVyT3ZlcjoicG9pbnRlcm92ZXIiLE1TUG9pbnRlclVwOiJwb2ludGVydXAifSx2PTA7djxvLmxlbmd0aDt2Kyspe3ZhciB4PWwrKChTPW9bdl0pK3MpLE89bCsoUytyKTthW1NdPXt9LGFbU11bc109eCxhW1NdW3JdPU99Zm9yKHY9MDt2PHUubGVuZ3RoO3YrKylmb3IodmFyIFA9dVt2XSx3PWlbUF09e30saz0wO2s8by5sZW5ndGg7aysrKXt2YXIgUzt3W1M9b1trXV09UCt5K1N9dmFyIEQ9ZnVuY3Rpb24odCxlLG4sbyl7aWYoIWcmJmIpe2lmKGgpdHJ5e3ZhciBpO2lmKChpPWUudG9TdHJpbmcoKSk9PT1ffHxpPT1DKXJldHVybiB0LmFwcGx5KG4sbyksITF9Y2F0Y2goZSl7cmV0dXJuIHQuYXBwbHkobixvKSwhMX1lbHNlIGlmKChpPWUudG9TdHJpbmcoKSk9PT1ffHxpPT1DKXJldHVybiB0LmFwcGx5KG4sbyksITF9ZWxzZSBpZihoKXRyeXtlLnRvU3RyaW5nKCl9Y2F0Y2goZSl7cmV0dXJuIHQuYXBwbHkobixvKSwhMX1yZXR1cm4hMH0sUj1bXTtmb3Iodj0wO3Y8bS5sZW5ndGg7disrKXt2YXIgRT10W21bdl1dO1IucHVzaChFJiZFLnByb3RvdHlwZSl9cmV0dXJuIGUucGF0Y2hFdmVudFRhcmdldCh0LFIse3ZoOkQsdHJhbnNmZXJFdmVudE5hbWU6ZnVuY3Rpb24odCl7cmV0dXJuIE1bdF18fHR9fSksWm9uZVtlLnN5bWJvbCgicGF0Y2hFdmVudFRhcmdldCIpXT0hIXRbcF0sITB9Ci8qKgogICAgICAgICAqIEBsaWNlbnNlCiAgICAgICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAgICAgKgogICAgICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICAgICAqL2Z1bmN0aW9uIHZ0KHQsZSl7dmFyIG49dC5nZXRHbG9iYWxPYmplY3RzKCksbz1uLkFERF9FVkVOVF9MSVNURU5FUl9TVFIsaT1uLlJFTU9WRV9FVkVOVF9MSVNURU5FUl9TVFIsYT1lLldlYlNvY2tldDtlLkV2ZW50VGFyZ2V0fHx0LnBhdGNoRXZlbnRUYXJnZXQoZSxbYS5wcm90b3R5cGVdKSxlLldlYlNvY2tldD1mdW5jdGlvbihlLG4pe3ZhciByLHMsbD1hcmd1bWVudHMubGVuZ3RoPjE/bmV3IGEoZSxuKTpuZXcgYShlKSxjPXQuT2JqZWN0R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGwsIm9ubWVzc2FnZSIpO3JldHVybiBjJiYhMT09PWMuY29uZmlndXJhYmxlPyhyPXQuT2JqZWN0Q3JlYXRlKGwpLHM9bCxbbyxpLCJzZW5kIiwiY2xvc2UiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtyW2VdPWZ1bmN0aW9uKCl7dmFyIG49dC5BcnJheVNsaWNlLmNhbGwoYXJndW1lbnRzKTtpZihlPT09b3x8ZT09PWkpe3ZhciBhPW4ubGVuZ3RoPjA/blswXTp2b2lkIDA7aWYoYSl7dmFyIHM9Wm9uZS5fX3N5bWJvbF9fKCJPTl9QUk9QRVJUWSIrYSk7bFtzXT1yW3NdfX1yZXR1cm4gbFtlXS5hcHBseShsLG4pfX0pKSk6cj1sLHQucGF0Y2hPblByb3BlcnRpZXMocixbImNsb3NlIiwiZXJyb3IiLCJtZXNzYWdlIiwib3BlbiJdLHMpLHJ9O3ZhciByPWUuV2ViU29ja2V0O2Zvcih2YXIgcyBpbiBhKXJbc109YVtzXX0KLyoqCiAgICAgICAgICogQGxpY2Vuc2UKICAgICAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICAgICAqCiAgICAgICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgICAgICovZnVuY3Rpb24geHQodCxlKXt2YXIgbj10LmdldEdsb2JhbE9iamVjdHMoKTtpZigoIW4uaXNOb2RlfHxuLmlzTWl4KSYmIU90KHQsZSkpe3ZhciBvPSJ1bmRlZmluZWQiIT10eXBlb2YgV2ViU29ja2V0O1B0KHQpLHQucGF0Y2hDbGFzcygiWE1MSHR0cFJlcXVlc3QiKSxvJiZ2dCh0LGUpLFpvbmVbdC5zeW1ib2woInBhdGNoRXZlbnRzIildPSEwfX1mdW5jdGlvbiBPdCh0LGUpe3ZhciBuPXQuZ2V0R2xvYmFsT2JqZWN0cygpO2lmKChuLmlzQnJvd3Nlcnx8bi5pc01peCkmJiF0Lk9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsIm9uY2xpY2siKSYmInVuZGVmaW5lZCIhPXR5cGVvZiBFbGVtZW50KXt2YXIgbz10Lk9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcihFbGVtZW50LnByb3RvdHlwZSwib25jbGljayIpO2lmKG8mJiFvLmNvbmZpZ3VyYWJsZSlyZXR1cm4hMTtpZihvKXt0Lk9iamVjdERlZmluZVByb3BlcnR5KEVsZW1lbnQucHJvdG90eXBlLCJvbmNsaWNrIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuITB9fSk7dmFyIGk9ISFkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5vbmNsaWNrO3JldHVybiB0Lk9iamVjdERlZmluZVByb3BlcnR5KEVsZW1lbnQucHJvdG90eXBlLCJvbmNsaWNrIixvKSxpfX12YXIgYT1lLlhNTEh0dHBSZXF1ZXN0O2lmKCFhKXJldHVybiExO3ZhciByPSJvbnJlYWR5c3RhdGVjaGFuZ2UiLHM9YS5wcm90b3R5cGUsbD10Lk9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcihzLHIpO2lmKGwpcmV0dXJuIHQuT2JqZWN0RGVmaW5lUHJvcGVydHkocyxyLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH19KSxpPSEhKGQ9bmV3IGEpLm9ucmVhZHlzdGF0ZWNoYW5nZSx0Lk9iamVjdERlZmluZVByb3BlcnR5KHMscixsfHx7fSksaTt2YXIgYz10LnN5bWJvbCgiZmFrZSIpO3QuT2JqZWN0RGVmaW5lUHJvcGVydHkocyxyLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tjXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXNbY109dH19KTt2YXIgZCxwPWZ1bmN0aW9uKCl7fTtyZXR1cm4oZD1uZXcgYSkub25yZWFkeXN0YXRlY2hhbmdlPXAsaT1kW2NdPT09cCxkLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGl9ZnVuY3Rpb24gUHQodCl7Zm9yKHZhciBlPXQuZ2V0R2xvYmFsT2JqZWN0cygpLmV2ZW50TmFtZXMsbj10LnN5bWJvbCgidW5ib3VuZCIpLG89ZnVuY3Rpb24obyl7dmFyIGk9ZVtvXSxhPSJvbiIraTtzZWxmLmFkZEV2ZW50TGlzdGVuZXIoaSwoZnVuY3Rpb24oZSl7dmFyIG8saSxyPWUudGFyZ2V0O2ZvcihpPXI/ci5jb25zdHJ1Y3Rvci5uYW1lKyIuIithOiJ1bmtub3duLiIrYTtyOylyW2FdJiYhclthXVtuXSYmKChvPXQud3JhcFdpdGhDdXJyZW50Wm9uZShyW2FdLGkpKVtuXT1yW2FdLHJbYV09bykscj1yLnBhcmVudEVsZW1lbnR9KSwhMCl9LGk9MDtpPGUubGVuZ3RoO2krKylvKGkpfQovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi9mdW5jdGlvbiB3dCh0LGUpe3ZhciBuPWUuZ2V0R2xvYmFsT2JqZWN0cygpOyhuLmlzQnJvd3Nlcnx8bi5pc01peCkmJiJyZWdpc3RlckVsZW1lbnQiaW4gdC5kb2N1bWVudCYmZS5wYXRjaENhbGxiYWNrcyhlLGRvY3VtZW50LCJEb2N1bWVudCIsInJlZ2lzdGVyRWxlbWVudCIsWyJjcmVhdGVkQ2FsbGJhY2siLCJhdHRhY2hlZENhbGxiYWNrIiwiZGV0YWNoZWRDYWxsYmFjayIsImF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayJdKX0KLyoqCiAgICAgICAgICogQGxpY2Vuc2UKICAgICAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICAgICAqCiAgICAgICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgICAgICovWm9uZS5fX2xvYWRfcGF0Y2goInV0aWwiLChmdW5jdGlvbihuLHMsbCl7bC5wYXRjaE9uUHJvcGVydGllcz1SLGwucGF0Y2hNZXRob2Q9VCxsLmJpbmRBcmd1bWVudHM9QyxsLnBhdGNoTWFjcm9UYXNrPU47dmFyIGY9cy5fX3N5bWJvbF9fKCJCTEFDS19MSVNURURfRVZFTlRTIiksdT1zLl9fc3ltYm9sX18oIlVOUEFUQ0hFRF9FVkVOVFMiKTtuW3VdJiYobltmXT1uW3VdKSxuW2ZdJiYoc1tmXT1zW3VdPW5bZl0pLGwucGF0Y2hFdmVudFByb3RvdHlwZT1LLGwucGF0Y2hFdmVudFRhcmdldD1aLGwuaXNJRU9yRWRnZT1MLGwuT2JqZWN0RGVmaW5lUHJvcGVydHk9ZSxsLk9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcj10LGwuT2JqZWN0Q3JlYXRlPW8sbC5BcnJheVNsaWNlPWksbC5wYXRjaENsYXNzPUEsbC53cmFwV2l0aEN1cnJlbnRab25lPW0sbC5maWx0ZXJQcm9wZXJ0aWVzPWZ0LGwuYXR0YWNoT3JpZ2luVG9QYXRjaGVkPXosbC5fcmVkZWZpbmVQcm9wZXJ0eT1PYmplY3QuZGVmaW5lUHJvcGVydHksbC5wYXRjaENhbGxiYWNrcz1KLGwuZ2V0R2xvYmFsT2JqZWN0cz1mdW5jdGlvbigpe3JldHVybntnbG9iYWxTb3VyY2VzOlcsem9uZVN5bWJvbEV2ZW50TmFtZXM6VSxldmVudE5hbWVzOm10LGlzQnJvd3NlcjpQLGlzTWl4OncsaXNOb2RlOk8sVFJVRV9TVFI6YyxGQUxTRV9TVFI6ZCxaT05FX1NZTUJPTF9QUkVGSVg6cCxBRERfRVZFTlRfTElTVEVORVJfU1RSOmEsUkVNT1ZFX0VWRU5UX0xJU1RFTkVSX1NUUjpyfX19KSksKGZ1bmN0aW9uKHQpe3ZhciBlPXQuX19ab25lX3N5bWJvbF9wcmVmaXh8fCJfX3pvbmVfc3ltYm9sX18iO2Z1bmN0aW9uIG4odCl7cmV0dXJuIGUrdH10W24oImxlZ2FjeVBhdGNoIildPWZ1bmN0aW9uKCl7dmFyIGU9dC5ab25lO2UuX19sb2FkX3BhdGNoKCJkZWZpbmVQcm9wZXJ0eSIsKGZ1bmN0aW9uKHQsZSxuKXtuLl9yZWRlZmluZVByb3BlcnR5PWJ0LGh0KCl9KSksZS5fX2xvYWRfcGF0Y2goInJlZ2lzdGVyRWxlbWVudCIsKGZ1bmN0aW9uKHQsZSxuKXt3dCh0LG4pfSkpLGUuX19sb2FkX3BhdGNoKCJFdmVudFRhcmdldExlZ2FjeSIsKGZ1bmN0aW9uKHQsZSxuKXtNdCh0LG4pLHh0KG4sdCl9KSl9fSkoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnZvaWQgMCE9PV9PP19POiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnt9KTsKLyoqCiAgICAgICAgICogQGxpY2Vuc2UKICAgICAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICAgICAqCiAgICAgICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgICAgICovCnZhciBrdD11KCJ6b25lVGFzayIpO2Z1bmN0aW9uIFN0KHQsZSxuLG8pe3ZhciBpPW51bGwsYT1udWxsO24rPW87dmFyIHI9e307ZnVuY3Rpb24gcyhlKXt2YXIgbj1lLmRhdGE7cmV0dXJuIG4uYXJnc1swXT1mdW5jdGlvbigpe3JldHVybiBlLmludm9rZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LG4uaGFuZGxlSWQ9aS5hcHBseSh0LG4uYXJncyksZX1mdW5jdGlvbiBsKGUpe3JldHVybiBhLmNhbGwodCxlLmRhdGEuaGFuZGxlSWQpfWk9VCh0LGUrPW8sKGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihpLGEpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhWzBdKXt2YXIgYz17aXNQZXJpb2RpYzoiSW50ZXJ2YWwiPT09byxkZWxheToiVGltZW91dCI9PT1vfHwiSW50ZXJ2YWwiPT09bz9hWzFdfHwwOnZvaWQgMCxhcmdzOmF9LGQ9YVswXTthWzBdPWZ1bmN0aW9uIHQoKXt0cnl7cmV0dXJuIGQuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZpbmFsbHl7Yy5pc1BlcmlvZGljfHwoIm51bWJlciI9PXR5cGVvZiBjLmhhbmRsZUlkP2RlbGV0ZSByW2MuaGFuZGxlSWRdOmMuaGFuZGxlSWQmJihjLmhhbmRsZUlkW2t0XT1udWxsKSl9fTt2YXIgcD1mKGUsYVswXSxjLHMsbCk7aWYoIXApcmV0dXJuIHA7dmFyIG09cC5kYXRhLmhhbmRsZUlkO3JldHVybiJudW1iZXIiPT10eXBlb2YgbT9yW21dPXA6bSYmKG1ba3RdPXApLG0mJm0ucmVmJiZtLnVucmVmJiYiZnVuY3Rpb24iPT10eXBlb2YgbS5yZWYmJiJmdW5jdGlvbiI9PXR5cGVvZiBtLnVucmVmJiYocC5yZWY9bS5yZWYuYmluZChtKSxwLnVucmVmPW0udW5yZWYuYmluZChtKSksIm51bWJlciI9PXR5cGVvZiBtfHxtP206cH1yZXR1cm4gbi5hcHBseSh0LGEpfX0pKSxhPVQodCxuLChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24obixvKXt2YXIgaSxhPW9bMF07Im51bWJlciI9PXR5cGVvZiBhP2k9clthXTooaT1hJiZhW2t0XSl8fChpPWEpLGkmJiJzdHJpbmciPT10eXBlb2YgaS50eXBlPyJub3RTY2hlZHVsZWQiIT09aS5zdGF0ZSYmKGkuY2FuY2VsRm4mJmkuZGF0YS5pc1BlcmlvZGljfHwwPT09aS5ydW5Db3VudCkmJigibnVtYmVyIj09dHlwZW9mIGE/ZGVsZXRlIHJbYV06YSYmKGFba3RdPW51bGwpLGkuem9uZS5jYW5jZWxUYXNrKGkpKTplLmFwcGx5KHQsbyl9fSkpfQovKioKICAgICAgICAgKiBAbGljZW5zZQogICAgICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgICAgICoKICAgICAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAgICAgKi9mdW5jdGlvbiBEdCh0LGUpe3ZhciBuPWUuZ2V0R2xvYmFsT2JqZWN0cygpOyhuLmlzQnJvd3Nlcnx8bi5pc01peCkmJnQuY3VzdG9tRWxlbWVudHMmJiJjdXN0b21FbGVtZW50cyJpbiB0JiZlLnBhdGNoQ2FsbGJhY2tzKGUsdC5jdXN0b21FbGVtZW50cywiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiLFsiY29ubmVjdGVkQ2FsbGJhY2siLCJkaXNjb25uZWN0ZWRDYWxsYmFjayIsImFkb3B0ZWRDYWxsYmFjayIsImF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayJdKX0KLyoqCiAgICAgICAgICogQGxpY2Vuc2UKICAgICAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICAgICAqCiAgICAgICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgICAgICovZnVuY3Rpb24gUnQodCxlKXtpZighWm9uZVtlLnN5bWJvbCgicGF0Y2hFdmVudFRhcmdldCIpXSl7Zm9yKHZhciBuPWUuZ2V0R2xvYmFsT2JqZWN0cygpLG89bi5ldmVudE5hbWVzLGk9bi56b25lU3ltYm9sRXZlbnROYW1lcyxhPW4uVFJVRV9TVFIscj1uLkZBTFNFX1NUUixzPW4uWk9ORV9TWU1CT0xfUFJFRklYLGw9MDtsPG8ubGVuZ3RoO2wrKyl7dmFyIGM9b1tsXSxkPXMrKGMrcikscD1zKyhjK2EpO2lbY109e30saVtjXVtyXT1kLGlbY11bYV09cH12YXIgbT10LkV2ZW50VGFyZ2V0O2lmKG0mJm0ucHJvdG90eXBlKXJldHVybiBlLnBhdGNoRXZlbnRUYXJnZXQodCxbbSYmbS5wcm90b3R5cGVdKSwhMH19ZnVuY3Rpb24gRXQodCxlKXtlLnBhdGNoRXZlbnRQcm90b3R5cGUodCxlKX0KLyoqCiAgICAgICAgICogQGxpY2Vuc2UKICAgICAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICAgICAqCiAgICAgICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgICAgICovWm9uZS5fX2xvYWRfcGF0Y2goImxlZ2FjeSIsKGZ1bmN0aW9uKHQpe3ZhciBlPXRbWm9uZS5fX3N5bWJvbF9fKCJsZWdhY3lQYXRjaCIpXTtlJiZlKCl9KSksWm9uZS5fX2xvYWRfcGF0Y2goInF1ZXVlTWljcm90YXNrIiwoZnVuY3Rpb24odCxlLG4pe24ucGF0Y2hNZXRob2QodCwicXVldWVNaWNyb3Rhc2siLChmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24odCxuKXtlLmN1cnJlbnQuc2NoZWR1bGVNaWNyb1Rhc2soInF1ZXVlTWljcm90YXNrIixuWzBdKX19KSl9KSksWm9uZS5fX2xvYWRfcGF0Y2goInRpbWVycyIsKGZ1bmN0aW9uKHQpe3ZhciBlPSJzZXQiLG49ImNsZWFyIjtTdCh0LGUsbiwiVGltZW91dCIpLFN0KHQsZSxuLCJJbnRlcnZhbCIpLFN0KHQsZSxuLCJJbW1lZGlhdGUiKX0pKSxab25lLl9fbG9hZF9wYXRjaCgicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwoZnVuY3Rpb24odCl7U3QodCwicmVxdWVzdCIsImNhbmNlbCIsIkFuaW1hdGlvbkZyYW1lIiksU3QodCwibW96UmVxdWVzdCIsIm1vekNhbmNlbCIsIkFuaW1hdGlvbkZyYW1lIiksU3QodCwid2Via2l0UmVxdWVzdCIsIndlYmtpdENhbmNlbCIsIkFuaW1hdGlvbkZyYW1lIil9KSksWm9uZS5fX2xvYWRfcGF0Y2goImJsb2NraW5nIiwoZnVuY3Rpb24odCxlKXtmb3IodmFyIG49WyJhbGVydCIsInByb21wdCIsImNvbmZpcm0iXSxvPTA7bzxuLmxlbmd0aDtvKyspVCh0LG5bb10sKGZ1bmN0aW9uKG4sbyxpKXtyZXR1cm4gZnVuY3Rpb24obyxhKXtyZXR1cm4gZS5jdXJyZW50LnJ1bihuLHQsYSxpKX19KSl9KSksWm9uZS5fX2xvYWRfcGF0Y2goIkV2ZW50VGFyZ2V0IiwoZnVuY3Rpb24odCxlLG4pe0V0KHQsbiksUnQodCxuKTt2YXIgbz10LlhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQ7byYmby5wcm90b3R5cGUmJm4ucGF0Y2hFdmVudFRhcmdldCh0LFtvLnByb3RvdHlwZV0pfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJNdXRhdGlvbk9ic2VydmVyIiwoZnVuY3Rpb24odCxlLG4pe0EoIk11dGF0aW9uT2JzZXJ2ZXIiKSxBKCJXZWJLaXRNdXRhdGlvbk9ic2VydmVyIil9KSksWm9uZS5fX2xvYWRfcGF0Y2goIkludGVyc2VjdGlvbk9ic2VydmVyIiwoZnVuY3Rpb24odCxlLG4pe0EoIkludGVyc2VjdGlvbk9ic2VydmVyIil9KSksWm9uZS5fX2xvYWRfcGF0Y2goIkZpbGVSZWFkZXIiLChmdW5jdGlvbih0LGUsbil7QSgiRmlsZVJlYWRlciIpfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJvbl9wcm9wZXJ0eSIsKGZ1bmN0aW9uKHQsZSxuKXtndChuLHQpfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJjdXN0b21FbGVtZW50cyIsKGZ1bmN0aW9uKHQsZSxuKXtEdCh0LG4pfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJYSFIiLChmdW5jdGlvbih0LGUpe2QodCk7dmFyIG49dSgieGhyVGFzayIpLG89dSgieGhyU3luYyIpLGk9dSgieGhyTGlzdGVuZXIiKSxhPXUoInhoclNjaGVkdWxlZCIpLHI9dSgieGhyVVJMIiksYz11KCJ4aHJFcnJvckJlZm9yZVNjaGVkdWxlZCIpO2Z1bmN0aW9uIGQodCl7dmFyIGQ9dC5YTUxIdHRwUmVxdWVzdDtpZihkKXt2YXIgcD1kLnByb3RvdHlwZSxtPXBbc10sZz1wW2xdO2lmKCFtKXt2YXIgaD10LlhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQ7aWYoaCl7dmFyIGI9aC5wcm90b3R5cGU7bT1iW3NdLGc9YltsXX19dmFyIHk9InJlYWR5c3RhdGVjaGFuZ2UiLF89InNjaGVkdWxlZCIsQz1UKHAsIm9wZW4iLChmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0LGUpe3JldHVybiB0W29dPTA9PWVbMl0sdFtyXT1lWzFdLEMuYXBwbHkodCxlKX19KSksTT0iWE1MSHR0cFJlcXVlc3Quc2VuZCIsdj11KCJmZXRjaFRhc2tBYm9ydGluZyIpLHg9dSgiZmV0Y2hUYXNrU2NoZWR1bGluZyIpLE89VChwLCJzZW5kIiwoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZighMD09PWUuY3VycmVudFt4XSlyZXR1cm4gTy5hcHBseSh0LG4pO2lmKHRbb10pcmV0dXJuIE8uYXBwbHkodCxuKTt2YXIgaT17dGFyZ2V0OnQsdXJsOnRbcl0saXNQZXJpb2RpYzohMSxhcmdzOm4sYWJvcnRlZDohMX0sYT1mKE0sUyxpLGssRCk7dCYmITA9PT10W2NdJiYhaS5hYm9ydGVkJiZhLnN0YXRlPT09XyYmYS5pbnZva2UoKX19KSksUD1UKHAsImFib3J0IiwoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCxuKXt2YXIgbz13KHQpO2lmKG8mJiJzdHJpbmciPT10eXBlb2Ygby50eXBlKXtpZihudWxsPT1vLmNhbmNlbEZufHxvLmRhdGEmJm8uZGF0YS5hYm9ydGVkKXJldHVybjtvLnpvbmUuY2FuY2VsVGFzayhvKX1lbHNlIGlmKCEwPT09ZS5jdXJyZW50W3ZdKXJldHVybiBQLmFwcGx5KHQsbil9fSkpfWZ1bmN0aW9uIHcodCl7cmV0dXJuIHRbbl19ZnVuY3Rpb24gayh0KXt2YXIgbz10LmRhdGEscj1vLnRhcmdldDtyW2FdPSExLHJbY109ITE7dmFyIGQ9cltpXTttfHwobT1yW3NdLGc9cltsXSksZCYmZy5jYWxsKHIseSxkKTt2YXIgcD1yW2ldPWZ1bmN0aW9uKCl7aWYoci5yZWFkeVN0YXRlPT09ci5ET05FKWlmKCFvLmFib3J0ZWQmJnJbYV0mJnQuc3RhdGU9PT1fKXt2YXIgbj1yW2UuX19zeW1ib2xfXygibG9hZGZhbHNlIildO2lmKDAhPT1yLnN0YXR1cyYmbiYmbi5sZW5ndGg+MCl7dmFyIGk9dC5pbnZva2U7dC5pbnZva2U9ZnVuY3Rpb24oKXtmb3IodmFyIG49cltlLl9fc3ltYm9sX18oImxvYWRmYWxzZSIpXSxhPTA7YTxuLmxlbmd0aDthKyspblthXT09PXQmJm4uc3BsaWNlKGEsMSk7by5hYm9ydGVkfHx0LnN0YXRlIT09X3x8aS5jYWxsKHQpfSxuLnB1c2godCl9ZWxzZSB0Lmludm9rZSgpfWVsc2Ugby5hYm9ydGVkfHwhMSE9PXJbYV18fChyW2NdPSEwKX07cmV0dXJuIG0uY2FsbChyLHkscCkscltuXXx8KHJbbl09dCksTy5hcHBseShyLG8uYXJncyksclthXT0hMCx0fWZ1bmN0aW9uIFMoKXt9ZnVuY3Rpb24gRCh0KXt2YXIgZT10LmRhdGE7cmV0dXJuIGUuYWJvcnRlZD0hMCxQLmFwcGx5KGUudGFyZ2V0LGUuYXJncyl9fX0pKSxab25lLl9fbG9hZF9wYXRjaCgiZ2VvbG9jYXRpb24iLChmdW5jdGlvbih0KXt0Lm5hdmlnYXRvciYmdC5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24mJk0odC5uYXZpZ2F0b3IuZ2VvbG9jYXRpb24sWyJnZXRDdXJyZW50UG9zaXRpb24iLCJ3YXRjaFBvc2l0aW9uIl0pfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJQcm9taXNlUmVqZWN0aW9uRXZlbnQiLChmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe1godCxlKS5mb3JFYWNoKChmdW5jdGlvbihvKXt2YXIgaT10LlByb21pc2VSZWplY3Rpb25FdmVudDtpZihpKXt2YXIgYT1uZXcgaShlLHtwcm9taXNlOm4ucHJvbWlzZSxyZWFzb246bi5yZWplY3Rpb259KTtvLmludm9rZShhKX19KSl9fXQuUHJvbWlzZVJlamVjdGlvbkV2ZW50JiYoZVt1KCJ1bmhhbmRsZWRQcm9taXNlUmVqZWN0aW9uSGFuZGxlciIpXT1uKCJ1bmhhbmRsZWRyZWplY3Rpb24iKSxlW3UoInJlamVjdGlvbkhhbmRsZWRIYW5kbGVyIildPW4oInJlamVjdGlvbmhhbmRsZWQiKSl9KSl9KSgpOwovKioKICAgICAqIEBsaWNlbnNlIEFuZ3VsYXIgdjEyLjIuMQogICAgICogKGMpIDIwMTAtMjAyMSBHb29nbGUgTExDLiBodHRwczovL2FuZ3VsYXIuaW8vCiAgICAgKiBMaWNlbnNlOiBNSVQKICAgICAqLwpjbGFzcyBNT3t9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB2Tz0iKiI7ZnVuY3Rpb24geE8odCxlKXtyZXR1cm57dHlwZTo3LG5hbWU6dCxkZWZpbml0aW9uczplLG9wdGlvbnM6e319fWZ1bmN0aW9uIE9PKHQsZT1udWxsKXtyZXR1cm57dHlwZTo0LHN0eWxlczplLHRpbWluZ3M6dH19ZnVuY3Rpb24gUE8odCxlPW51bGwpe3JldHVybnt0eXBlOjIsc3RlcHM6dCxvcHRpb25zOmV9fWZ1bmN0aW9uIHdPKHQpe3JldHVybnt0eXBlOjYsc3R5bGVzOnQsb2Zmc2V0Om51bGx9fWZ1bmN0aW9uIGtPKHQsZSxuKXtyZXR1cm57dHlwZTowLG5hbWU6dCxzdHlsZXM6ZSxvcHRpb25zOm59fWZ1bmN0aW9uIFNPKHQpe3JldHVybnt0eXBlOjUsc3RlcHM6dH19ZnVuY3Rpb24gRE8odCxlLG49bnVsbCl7cmV0dXJue3R5cGU6MSxleHByOnQsYW5pbWF0aW9uOmUsb3B0aW9uczpufX1mdW5jdGlvbiBSTyh0PW51bGwpe3JldHVybnt0eXBlOjksb3B0aW9uczp0fX1mdW5jdGlvbiBFTyh0LGUsbj1udWxsKXtyZXR1cm57dHlwZToxMSxzZWxlY3Rvcjp0LGFuaW1hdGlvbjplLG9wdGlvbnM6bn19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIEFPKHQpe1Byb21pc2UucmVzb2x2ZShudWxsKS50aGVuKHQpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBUT3tjb25zdHJ1Y3Rvcih0PTAsZT0wKXt0aGlzLl9vbkRvbmVGbnM9W10sdGhpcy5fb25TdGFydEZucz1bXSx0aGlzLl9vbkRlc3Ryb3lGbnM9W10sdGhpcy5fc3RhcnRlZD0hMSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5fcG9zaXRpb249MCx0aGlzLnBhcmVudFBsYXllcj1udWxsLHRoaXMudG90YWxUaW1lPXQrZX1fb25GaW5pc2goKXt0aGlzLl9maW5pc2hlZHx8KHRoaXMuX2ZpbmlzaGVkPSEwLHRoaXMuX29uRG9uZUZucy5mb3JFYWNoKCh0PT50KCkpKSx0aGlzLl9vbkRvbmVGbnM9W10pfW9uU3RhcnQodCl7dGhpcy5fb25TdGFydEZucy5wdXNoKHQpfW9uRG9uZSh0KXt0aGlzLl9vbkRvbmVGbnMucHVzaCh0KX1vbkRlc3Ryb3kodCl7dGhpcy5fb25EZXN0cm95Rm5zLnB1c2godCl9aGFzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGFydGVkfWluaXQoKXt9cGxheSgpe3RoaXMuaGFzU3RhcnRlZCgpfHwodGhpcy5fb25TdGFydCgpLHRoaXMudHJpZ2dlck1pY3JvdGFzaygpKSx0aGlzLl9zdGFydGVkPSEwfXRyaWdnZXJNaWNyb3Rhc2soKXtBTygoKCk9PnRoaXMuX29uRmluaXNoKCkpKX1fb25TdGFydCgpe3RoaXMuX29uU3RhcnRGbnMuZm9yRWFjaCgodD0+dCgpKSksdGhpcy5fb25TdGFydEZucz1bXX1wYXVzZSgpe31yZXN0YXJ0KCl7fWZpbmlzaCgpe3RoaXMuX29uRmluaXNoKCl9ZGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3llZHx8KHRoaXMuX2Rlc3Ryb3llZD0hMCx0aGlzLmhhc1N0YXJ0ZWQoKXx8dGhpcy5fb25TdGFydCgpLHRoaXMuZmluaXNoKCksdGhpcy5fb25EZXN0cm95Rm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uRGVzdHJveUZucz1bXSl9cmVzZXQoKXt0aGlzLl9zdGFydGVkPSExfXNldFBvc2l0aW9uKHQpe3RoaXMuX3Bvc2l0aW9uPXRoaXMudG90YWxUaW1lP3QqdGhpcy50b3RhbFRpbWU6MX1nZXRQb3NpdGlvbigpe3JldHVybiB0aGlzLnRvdGFsVGltZT90aGlzLl9wb3NpdGlvbi90aGlzLnRvdGFsVGltZToxfXRyaWdnZXJDYWxsYmFjayh0KXtjb25zdCBlPSJzdGFydCI9PXQ/dGhpcy5fb25TdGFydEZuczp0aGlzLl9vbkRvbmVGbnM7ZS5mb3JFYWNoKCh0PT50KCkpKSxlLmxlbmd0aD0wfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgTk97Y29uc3RydWN0b3IodCl7dGhpcy5fb25Eb25lRm5zPVtdLHRoaXMuX29uU3RhcnRGbnM9W10sdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5fc3RhcnRlZD0hMSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fb25EZXN0cm95Rm5zPVtdLHRoaXMucGFyZW50UGxheWVyPW51bGwsdGhpcy50b3RhbFRpbWU9MCx0aGlzLnBsYXllcnM9dDtsZXQgZT0wLG49MCxvPTA7Y29uc3QgaT10aGlzLnBsYXllcnMubGVuZ3RoOzA9PWk/QU8oKCgpPT50aGlzLl9vbkZpbmlzaCgpKSk6dGhpcy5wbGF5ZXJzLmZvckVhY2goKHQ9Pnt0Lm9uRG9uZSgoKCk9PnsrK2U9PWkmJnRoaXMuX29uRmluaXNoKCl9KSksdC5vbkRlc3Ryb3koKCgpPT57KytuPT1pJiZ0aGlzLl9vbkRlc3Ryb3koKX0pKSx0Lm9uU3RhcnQoKCgpPT57KytvPT1pJiZ0aGlzLl9vblN0YXJ0KCl9KSl9KSksdGhpcy50b3RhbFRpbWU9dGhpcy5wbGF5ZXJzLnJlZHVjZSgoKHQsZSk9Pk1hdGgubWF4KHQsZS50b3RhbFRpbWUpKSwwKX1fb25GaW5pc2goKXt0aGlzLl9maW5pc2hlZHx8KHRoaXMuX2ZpbmlzaGVkPSEwLHRoaXMuX29uRG9uZUZucy5mb3JFYWNoKCh0PT50KCkpKSx0aGlzLl9vbkRvbmVGbnM9W10pfWluaXQoKXt0aGlzLnBsYXllcnMuZm9yRWFjaCgodD0+dC5pbml0KCkpKX1vblN0YXJ0KHQpe3RoaXMuX29uU3RhcnRGbnMucHVzaCh0KX1fb25TdGFydCgpe3RoaXMuaGFzU3RhcnRlZCgpfHwodGhpcy5fc3RhcnRlZD0hMCx0aGlzLl9vblN0YXJ0Rm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uU3RhcnRGbnM9W10pfW9uRG9uZSh0KXt0aGlzLl9vbkRvbmVGbnMucHVzaCh0KX1vbkRlc3Ryb3kodCl7dGhpcy5fb25EZXN0cm95Rm5zLnB1c2godCl9aGFzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGFydGVkfXBsYXkoKXt0aGlzLnBhcmVudFBsYXllcnx8dGhpcy5pbml0KCksdGhpcy5fb25TdGFydCgpLHRoaXMucGxheWVycy5mb3JFYWNoKCh0PT50LnBsYXkoKSkpfXBhdXNlKCl7dGhpcy5wbGF5ZXJzLmZvckVhY2goKHQ9PnQucGF1c2UoKSkpfXJlc3RhcnQoKXt0aGlzLnBsYXllcnMuZm9yRWFjaCgodD0+dC5yZXN0YXJ0KCkpKX1maW5pc2goKXt0aGlzLl9vbkZpbmlzaCgpLHRoaXMucGxheWVycy5mb3JFYWNoKCh0PT50LmZpbmlzaCgpKSl9ZGVzdHJveSgpe3RoaXMuX29uRGVzdHJveSgpfV9vbkRlc3Ryb3koKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9kZXN0cm95ZWQ9ITAsdGhpcy5fb25GaW5pc2goKSx0aGlzLnBsYXllcnMuZm9yRWFjaCgodD0+dC5kZXN0cm95KCkpKSx0aGlzLl9vbkRlc3Ryb3lGbnMuZm9yRWFjaCgodD0+dCgpKSksdGhpcy5fb25EZXN0cm95Rm5zPVtdKX1yZXNldCgpe3RoaXMucGxheWVycy5mb3JFYWNoKCh0PT50LnJlc2V0KCkpKSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5fc3RhcnRlZD0hMX1zZXRQb3NpdGlvbih0KXtjb25zdCBlPXQqdGhpcy50b3RhbFRpbWU7dGhpcy5wbGF5ZXJzLmZvckVhY2goKHQ9Pntjb25zdCBuPXQudG90YWxUaW1lP01hdGgubWluKDEsZS90LnRvdGFsVGltZSk6MTt0LnNldFBvc2l0aW9uKG4pfSkpfWdldFBvc2l0aW9uKCl7Y29uc3QgdD10aGlzLnBsYXllcnMucmVkdWNlKCgodCxlKT0+bnVsbD09PXR8fGUudG90YWxUaW1lPnQudG90YWxUaW1lP2U6dCksbnVsbCk7cmV0dXJuIG51bGwhPXQ/dC5nZXRQb3NpdGlvbigpOjB9YmVmb3JlRGVzdHJveSgpe3RoaXMucGxheWVycy5mb3JFYWNoKCh0PT57dC5iZWZvcmVEZXN0cm95JiZ0LmJlZm9yZURlc3Ryb3koKX0pKX10cmlnZ2VyQ2FsbGJhY2sodCl7Y29uc3QgZT0ic3RhcnQiPT10P3RoaXMuX29uU3RhcnRGbnM6dGhpcy5fb25Eb25lRm5zO2UuZm9yRWFjaCgodD0+dCgpKSksZS5sZW5ndGg9MH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlIEFuZ3VsYXIgdjEyLjIuMQogICAgICogKGMpIDIwMTAtMjAyMSBHb29nbGUgTExDLiBodHRwczovL2FuZ3VsYXIuaW8vCiAgICAgKiBMaWNlbnNlOiBNSVQKICAgICAqLwpmdW5jdGlvbiB6Tygpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnR9ZnVuY3Rpb24gSU8oKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHByb2Nlc3MmJiJbb2JqZWN0IHByb2Nlc3NdIj09PXt9LnRvU3RyaW5nLmNhbGwocHJvY2Vzcyl9ZnVuY3Rpb24gSE8odCl7c3dpdGNoKHQubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIG5ldyBUTztjYXNlIDE6cmV0dXJuIHRbMF07ZGVmYXVsdDpyZXR1cm4gbmV3IE5PKHQpfX1mdW5jdGlvbiBGTyh0LGUsbixvLGk9e30sYT17fSl7Y29uc3Qgcj1bXSxzPVtdO2xldCBsPS0xLGM9bnVsbDtpZihvLmZvckVhY2goKHQ9Pntjb25zdCBuPXQub2Zmc2V0LG89bj09bCxkPW8mJmN8fHt9O09iamVjdC5rZXlzKHQpLmZvckVhY2goKG49PntsZXQgbz1uLHM9dFtuXTtpZigib2Zmc2V0IiE9PW4pc3dpdGNoKG89ZS5ub3JtYWxpemVQcm9wZXJ0eU5hbWUobyxyKSxzKXtjYXNlIiEiOnM9aVtuXTticmVhaztjYXNlIHZPOnM9YVtuXTticmVhaztkZWZhdWx0OnM9ZS5ub3JtYWxpemVTdHlsZVZhbHVlKG4sbyxzLHIpfWRbb109c30pKSxvfHxzLnB1c2goZCksYz1kLGw9bn0pKSxyLmxlbmd0aCl7Y29uc3QgdD0iXG4gLSAiO3Rocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGFuaW1hdGUgZHVlIHRvIHRoZSBmb2xsb3dpbmcgZXJyb3JzOiR7dH0ke3Iuam9pbih0KX1gKX1yZXR1cm4gc31mdW5jdGlvbiBMTyh0LGUsbixvKXtzd2l0Y2goZSl7Y2FzZSJzdGFydCI6dC5vblN0YXJ0KCgoKT0+byhuJiZCTyhuLCJzdGFydCIsdCkpKSk7YnJlYWs7Y2FzZSJkb25lIjp0Lm9uRG9uZSgoKCk9Pm8obiYmQk8obiwiZG9uZSIsdCkpKSk7YnJlYWs7Y2FzZSJkZXN0cm95Ijp0Lm9uRGVzdHJveSgoKCk9Pm8obiYmQk8obiwiZGVzdHJveSIsdCkpKSl9fWZ1bmN0aW9uIEJPKHQsZSxuKXtjb25zdCBvPW4udG90YWxUaW1lLGk9Vk8odC5lbGVtZW50LHQudHJpZ2dlck5hbWUsdC5mcm9tU3RhdGUsdC50b1N0YXRlLGV8fHQucGhhc2VOYW1lLG51bGw9PW8/dC50b3RhbFRpbWU6bywhIW4uZGlzYWJsZWQpLGE9dC5fZGF0YTtyZXR1cm4gbnVsbCE9YSYmKGkuX2RhdGE9YSksaX1mdW5jdGlvbiBWTyh0LGUsbixvLGk9IiIsYT0wLHIpe3JldHVybntlbGVtZW50OnQsdHJpZ2dlck5hbWU6ZSxmcm9tU3RhdGU6bix0b1N0YXRlOm8scGhhc2VOYW1lOmksdG90YWxUaW1lOmEsZGlzYWJsZWQ6ISFyfX1mdW5jdGlvbiBqTyh0LGUsbil7bGV0IG87cmV0dXJuIHQgaW5zdGFuY2VvZiBNYXA/KG89dC5nZXQoZSksb3x8dC5zZXQoZSxvPW4pKToobz10W2VdLG98fChvPXRbZV09bikpLG99ZnVuY3Rpb24gVU8odCl7Y29uc3QgZT10LmluZGV4T2YoIjoiKTtyZXR1cm5bdC5zdWJzdHJpbmcoMSxlKSx0LnN1YnN0cihlKzEpXX1sZXQgV089KHQsZSk9PiExLEdPPSh0LGUpPT4hMSxZTz0odCxlLG4pPT5bXTtjb25zdCBxTz1JTygpOyhxT3x8InVuZGVmaW5lZCIhPXR5cGVvZiBFbGVtZW50KSYmKFdPPXpPKCk/KHQsZSk9Pntmb3IoO2UmJmUhPT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7KXtpZihlPT09dClyZXR1cm4hMDtlPWUucGFyZW50Tm9kZXx8ZS5ob3N0fXJldHVybiExfToodCxlKT0+dC5jb250YWlucyhlKSxHTz0oKCk9PntpZihxT3x8RWxlbWVudC5wcm90b3R5cGUubWF0Y2hlcylyZXR1cm4odCxlKT0+dC5tYXRjaGVzKGUpO3tjb25zdCB0PUVsZW1lbnQucHJvdG90eXBlLGU9dC5tYXRjaGVzU2VsZWN0b3J8fHQubW96TWF0Y2hlc1NlbGVjdG9yfHx0Lm1zTWF0Y2hlc1NlbGVjdG9yfHx0Lm9NYXRjaGVzU2VsZWN0b3J8fHQud2Via2l0TWF0Y2hlc1NlbGVjdG9yO3JldHVybiBlPyh0LG4pPT5lLmFwcGx5KHQsW25dKTpHT319KSgpLFlPPSh0LGUsbik9PntsZXQgbz1bXTtpZihuKXtjb25zdCBuPXQucXVlcnlTZWxlY3RvckFsbChlKTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKylvLnB1c2goblt0XSl9ZWxzZXtjb25zdCBuPXQucXVlcnlTZWxlY3RvcihlKTtuJiZvLnB1c2gobil9cmV0dXJuIG99KTtsZXQgWk89bnVsbCxYTz0hMTtmdW5jdGlvbiBLTyh0KXtaT3x8KFpPPShmdW5jdGlvbiBlKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudClyZXR1cm4gZG9jdW1lbnQuYm9keTtyZXR1cm4gbnVsbH0pKCl8fHt9LFhPPSEhWk8uc3R5bGUmJiJXZWJraXRBcHBlYXJhbmNlImluIFpPLnN0eWxlKTtsZXQgbj0hMDtpZihaTy5zdHlsZSYmIShmdW5jdGlvbiBvKHQpe3JldHVybiJlYmtpdCI9PXQuc3Vic3RyaW5nKDEsNil9KSh0KSYmKG49dCBpbiBaTy5zdHlsZSwhbiYmWE8pKXtuPSJXZWJraXQiK3QuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdC5zdWJzdHIoMSlpbiBaTy5zdHlsZX1yZXR1cm4gbn1jb25zdCBKTz1HTyxRTz1XTywkTz1ZTztmdW5jdGlvbiB0UCh0KXtjb25zdCBlPXt9O3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChuPT57Y29uc3Qgbz1uLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csIiQxLSQyIik7ZVtvXT10W25dfSkpLGV9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIGVQe3ZhbGlkYXRlU3R5bGVQcm9wZXJ0eSh0KXtyZXR1cm4gS08odCl9bWF0Y2hlc0VsZW1lbnQodCxlKXtyZXR1cm4gSk8odCxlKX1jb250YWluc0VsZW1lbnQodCxlKXtyZXR1cm4gUU8odCxlKX1xdWVyeSh0LGUsbil7cmV0dXJuICRPKHQsZSxuKX1jb21wdXRlU3R5bGUodCxlLG4pe3JldHVybiBufHwiIn1hbmltYXRlKHQsZSxuLG8saSxhPVtdLHIpe3JldHVybiBuZXcgVE8obixvKX19ZVAuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGVQKX0sZVAuybVwcm92PVNuKHt0b2tlbjplUCxmYWN0b3J5OmVQLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihlUCxbe3R5cGU6VW19XSxudWxsLG51bGwpO2NsYXNzIG5Qe31uUC5OT09QPW5ldyBlUDsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IG9QPSJuZy1lbnRlciIsaVA9Im5nLWxlYXZlIixhUD0ibmctdHJpZ2dlciIsclA9Ii5uZy10cmlnZ2VyIixzUD0ibmctYW5pbWF0aW5nIixsUD0iLm5nLWFuaW1hdGluZyI7ZnVuY3Rpb24gY1AodCl7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiB0O2NvbnN0IGU9dC5tYXRjaCgvXigtP1tcLlxkXSspKG0/cykvKTtyZXR1cm4hZXx8ZS5sZW5ndGg8Mj8wOmRQKHBhcnNlRmxvYXQoZVsxXSksZVsyXSl9ZnVuY3Rpb24gZFAodCxlKXtzd2l0Y2goZSl7Y2FzZSJzIjpyZXR1cm4gMWUzKnQ7ZGVmYXVsdDpyZXR1cm4gdH19ZnVuY3Rpb24gcFAodCxlLG4pe3JldHVybiB0Lmhhc093blByb3BlcnR5KCJkdXJhdGlvbiIpP3Q6KGZ1bmN0aW9uIG8odCxlLG4pe2NvbnN0IG89L14oLT9bXC5cZF0rKShtP3MpKD86XHMrKC0/W1wuXGRdKykobT9zKSk/KD86XHMrKFstYS16XSsoPzpcKC4rP1wpKT8pKT8kL2k7bGV0IGksYT0wLHI9IiI7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtjb25zdCBuPXQubWF0Y2gobyk7aWYobnVsbD09PW4pcmV0dXJuIGUucHVzaChgVGhlIHByb3ZpZGVkIHRpbWluZyB2YWx1ZSAiJHt0fSIgaXMgaW52YWxpZC5gKSx7ZHVyYXRpb246MCxkZWxheTowLGVhc2luZzoiIn07aT1kUChwYXJzZUZsb2F0KG5bMV0pLG5bMl0pO2NvbnN0IHM9blszXTtudWxsIT1zJiYoYT1kUChwYXJzZUZsb2F0KHMpLG5bNF0pKTtjb25zdCBsPW5bNV07bCYmKHI9bCl9ZWxzZSBpPXQ7aWYoIW4pe2xldCBuPSExLG89ZS5sZW5ndGg7aTwwJiYoZS5wdXNoKCJEdXJhdGlvbiB2YWx1ZXMgYmVsb3cgMCBhcmUgbm90IGFsbG93ZWQgZm9yIHRoaXMgYW5pbWF0aW9uIHN0ZXAuIiksbj0hMCksYTwwJiYoZS5wdXNoKCJEZWxheSB2YWx1ZXMgYmVsb3cgMCBhcmUgbm90IGFsbG93ZWQgZm9yIHRoaXMgYW5pbWF0aW9uIHN0ZXAuIiksbj0hMCksbiYmZS5zcGxpY2UobywwLGBUaGUgcHJvdmlkZWQgdGltaW5nIHZhbHVlICIke3R9IiBpcyBpbnZhbGlkLmApfXJldHVybntkdXJhdGlvbjppLGRlbGF5OmEsZWFzaW5nOnJ9fSkodCxlLG4pfWZ1bmN0aW9uIG1QKHQsZT17fSl7cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKG49PntlW25dPXRbbl19KSksZX1mdW5jdGlvbiBmUCh0LGUsbj17fSl7aWYoZSlmb3IobGV0IGUgaW4gdCluW2VdPXRbZV07ZWxzZSBtUCh0LG4pO3JldHVybiBufWZ1bmN0aW9uIHVQKHQsZSxuKXtyZXR1cm4gbj9lKyI6IituKyI7IjoiIn1mdW5jdGlvbiBnUCh0KXtsZXQgZT0iIjtmb3IobGV0IG49MDtuPHQuc3R5bGUubGVuZ3RoO24rKyl7Y29uc3Qgbz10LnN0eWxlLml0ZW0obik7ZSs9dVAoMCxvLHQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShvKSl9Zm9yKGNvbnN0IG4gaW4gdC5zdHlsZSl7aWYoIXQuc3R5bGUuaGFzT3duUHJvcGVydHkobil8fG4uc3RhcnRzV2l0aCgiXyIpKWNvbnRpbnVlO2UrPXVQKDAsbi5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCksdC5zdHlsZVtuXSl9dC5zZXRBdHRyaWJ1dGUoInN0eWxlIixlKX1mdW5jdGlvbiBoUCh0LGUsbil7dC5zdHlsZSYmKE9iamVjdC5rZXlzKGUpLmZvckVhY2goKG89Pntjb25zdCBpPU9QKG8pO24mJiFuLmhhc093blByb3BlcnR5KG8pJiYobltvXT10LnN0eWxlW2ldKSx0LnN0eWxlW2ldPWVbb119KSksSU8oKSYmZ1AodCkpfWZ1bmN0aW9uIGJQKHQsZSl7dC5zdHlsZSYmKE9iamVjdC5rZXlzKGUpLmZvckVhY2goKGU9Pntjb25zdCBuPU9QKGUpO3Quc3R5bGVbbl09IiJ9KSksSU8oKSYmZ1AodCkpfWZ1bmN0aW9uIHlQKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpPzE9PXQubGVuZ3RoP3RbMF06UE8odCk6dH1jb25zdCBfUD1uZXcgUmVnRXhwKCJ7e1xccyooLis/KVxccyp9fSIsImciKTtmdW5jdGlvbiBDUCh0KXtsZXQgZT1bXTtpZigic3RyaW5nIj09dHlwZW9mIHQpe2xldCBuO2Zvcig7bj1fUC5leGVjKHQpOyllLnB1c2goblsxXSk7X1AubGFzdEluZGV4PTB9cmV0dXJuIGV9ZnVuY3Rpb24gTVAodCxlLG4pe2NvbnN0IG89dC50b1N0cmluZygpLGk9by5yZXBsYWNlKF9QLCgodCxvKT0+e2xldCBpPWVbb107cmV0dXJuIGUuaGFzT3duUHJvcGVydHkobyl8fChuLnB1c2goYFBsZWFzZSBwcm92aWRlIGEgdmFsdWUgZm9yIHRoZSBhbmltYXRpb24gcGFyYW0gJHtvfWApLGk9IiIpLGkudG9TdHJpbmcoKX0pKTtyZXR1cm4gaT09bz90Oml9ZnVuY3Rpb24gdlAodCl7Y29uc3QgZT1bXTtsZXQgbj10Lm5leHQoKTtmb3IoOyFuLmRvbmU7KWUucHVzaChuLnZhbHVlKSxuPXQubmV4dCgpO3JldHVybiBlfWNvbnN0IHhQPS8tKyhbYS16MC05XSkvZztmdW5jdGlvbiBPUCh0KXtyZXR1cm4gdC5yZXBsYWNlKHhQLCgoLi4udCk9PnRbMV0udG9VcHBlckNhc2UoKSkpfWZ1bmN0aW9uIFBQKHQsZSl7cmV0dXJuIDA9PT10fHwwPT09ZX1mdW5jdGlvbiB3UCh0LGUsbil7Y29uc3Qgbz1PYmplY3Qua2V5cyhuKTtpZihvLmxlbmd0aCYmZS5sZW5ndGgpe2xldCBhPWVbMF0scj1bXTtpZihvLmZvckVhY2goKHQ9PnthLmhhc093blByb3BlcnR5KHQpfHxyLnB1c2godCksYVt0XT1uW3RdfSkpLHIubGVuZ3RoKWZvcih2YXIgaT0xO2k8ZS5sZW5ndGg7aSsrKXtsZXQgbj1lW2ldO3IuZm9yRWFjaCgoZnVuY3Rpb24oZSl7bltlXT1TUCh0LGUpfSkpfX1yZXR1cm4gZX1mdW5jdGlvbiBrUCh0LGUsbil7c3dpdGNoKGUudHlwZSl7Y2FzZSA3OnJldHVybiB0LnZpc2l0VHJpZ2dlcihlLG4pO2Nhc2UgMDpyZXR1cm4gdC52aXNpdFN0YXRlKGUsbik7Y2FzZSAxOnJldHVybiB0LnZpc2l0VHJhbnNpdGlvbihlLG4pO2Nhc2UgMjpyZXR1cm4gdC52aXNpdFNlcXVlbmNlKGUsbik7Y2FzZSAzOnJldHVybiB0LnZpc2l0R3JvdXAoZSxuKTtjYXNlIDQ6cmV0dXJuIHQudmlzaXRBbmltYXRlKGUsbik7Y2FzZSA1OnJldHVybiB0LnZpc2l0S2V5ZnJhbWVzKGUsbik7Y2FzZSA2OnJldHVybiB0LnZpc2l0U3R5bGUoZSxuKTtjYXNlIDg6cmV0dXJuIHQudmlzaXRSZWZlcmVuY2UoZSxuKTtjYXNlIDk6cmV0dXJuIHQudmlzaXRBbmltYXRlQ2hpbGQoZSxuKTtjYXNlIDEwOnJldHVybiB0LnZpc2l0QW5pbWF0ZVJlZihlLG4pO2Nhc2UgMTE6cmV0dXJuIHQudmlzaXRRdWVyeShlLG4pO2Nhc2UgMTI6cmV0dXJuIHQudmlzaXRTdGFnZ2VyKGUsbik7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byByZXNvbHZlIGFuaW1hdGlvbiBtZXRhZGF0YSBub2RlICMke2UudHlwZX1gKX19ZnVuY3Rpb24gU1AodCxlKXtyZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUodClbZV19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IERQPSIqIjtmdW5jdGlvbiBSUCh0LGUpe2NvbnN0IG49W107cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3Quc3BsaXQoL1xzKixccyovKS5mb3JFYWNoKCh0PT4oZnVuY3Rpb24gbyh0LGUsbil7aWYoIjoiPT10WzBdKXtjb25zdCBvPShmdW5jdGlvbiBvKHQsZSl7c3dpdGNoKHQpe2Nhc2UiOmVudGVyIjpyZXR1cm4idm9pZCA9PiAqIjtjYXNlIjpsZWF2ZSI6cmV0dXJuIiogPT4gdm9pZCI7Y2FzZSI6aW5jcmVtZW50IjpyZXR1cm4odCxlKT0+cGFyc2VGbG9hdChlKT5wYXJzZUZsb2F0KHQpO2Nhc2UiOmRlY3JlbWVudCI6cmV0dXJuKHQsZSk9PnBhcnNlRmxvYXQoZSk8cGFyc2VGbG9hdCh0KTtkZWZhdWx0OnJldHVybiBlLnB1c2goYFRoZSB0cmFuc2l0aW9uIGFsaWFzIHZhbHVlICIke3R9IiBpcyBub3Qgc3VwcG9ydGVkYCksIiogPT4gKiJ9fSkodCxuKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgbylyZXR1cm4gdm9pZCBlLnB1c2gobyk7dD1vfWNvbnN0IGk9dC5tYXRjaCgvXihcKnxbLVx3XSspXHMqKDw/Wz0tXT4pXHMqKFwqfFstXHddKykkLyk7aWYobnVsbD09aXx8aS5sZW5ndGg8NClyZXR1cm4gbi5wdXNoKGBUaGUgcHJvdmlkZWQgdHJhbnNpdGlvbiBleHByZXNzaW9uICIke3R9IiBpcyBub3Qgc3VwcG9ydGVkYCksZTtjb25zdCBhPWlbMV0scj1pWzJdLHM9aVszXTtlLnB1c2goVFAoYSxzKSk7Y29uc3QgbD1hPT1EUCYmcz09RFA7IjwiIT1yWzBdfHxsfHxlLnB1c2goVFAocyxhKSl9KSh0LG4sZSkpKTpuLnB1c2godCksbn1jb25zdCBFUD1uZXcgU2V0KFsidHJ1ZSIsIjEiXSksQVA9bmV3IFNldChbImZhbHNlIiwiMCJdKTtmdW5jdGlvbiBUUCh0LGUpe2NvbnN0IG49RVAuaGFzKHQpfHxBUC5oYXModCksbz1FUC5oYXMoZSl8fEFQLmhhcyhlKTtyZXR1cm4oaSxhKT0+e2xldCByPXQ9PURQfHx0PT1pLHM9ZT09RFB8fGU9PWE7cmV0dXJuIXImJm4mJiJib29sZWFuIj09dHlwZW9mIGkmJihyPWk/RVAuaGFzKHQpOkFQLmhhcyh0KSksIXMmJm8mJiJib29sZWFuIj09dHlwZW9mIGEmJihzPWE/RVAuaGFzKGUpOkFQLmhhcyhlKSksciYmc319Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IE5QPSI6c2VsZiIselA9bmV3IFJlZ0V4cCgicyo6c2VsZnMqLD8iLCJnIik7ZnVuY3Rpb24gSVAodCxlLG4pe3JldHVybiBuZXcgSFAodCkuYnVpbGQoZSxuKX1jbGFzcyBIUHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9kcml2ZXI9dH1idWlsZCh0LGUpe2NvbnN0IG49bmV3IEZQKGUpO3JldHVybiB0aGlzLl9yZXNldENvbnRleHRTdHlsZVRpbWluZ1N0YXRlKG4pLGtQKHRoaXMseVAodCksbil9X3Jlc2V0Q29udGV4dFN0eWxlVGltaW5nU3RhdGUodCl7dC5jdXJyZW50UXVlcnlTZWxlY3Rvcj0iIix0LmNvbGxlY3RlZFN0eWxlcz17fSx0LmNvbGxlY3RlZFN0eWxlc1siIl09e30sdC5jdXJyZW50VGltZT0wfXZpc2l0VHJpZ2dlcih0LGUpe2xldCBuPWUucXVlcnlDb3VudD0wLG89ZS5kZXBDb3VudD0wO2NvbnN0IGk9W10sYT1bXTtyZXR1cm4iQCI9PXQubmFtZS5jaGFyQXQoMCkmJmUuZXJyb3JzLnB1c2goImFuaW1hdGlvbiB0cmlnZ2VycyBjYW5ub3QgYmUgcHJlZml4ZWQgd2l0aCBhbiBgQGAgc2lnbiAoZS5nLiB0cmlnZ2VyKCdAZm9vJywgWy4uLl0pKSIpLHQuZGVmaW5pdGlvbnMuZm9yRWFjaCgodD0+e2lmKHRoaXMuX3Jlc2V0Q29udGV4dFN0eWxlVGltaW5nU3RhdGUoZSksMD09dC50eXBlKXtjb25zdCBuPXQsbz1uLm5hbWU7by50b1N0cmluZygpLnNwbGl0KC9ccyosXHMqLykuZm9yRWFjaCgodD0+e24ubmFtZT10LGkucHVzaCh0aGlzLnZpc2l0U3RhdGUobixlKSl9KSksbi5uYW1lPW99ZWxzZSBpZigxPT10LnR5cGUpe2NvbnN0IGk9dGhpcy52aXNpdFRyYW5zaXRpb24odCxlKTtuKz1pLnF1ZXJ5Q291bnQsbys9aS5kZXBDb3VudCxhLnB1c2goaSl9ZWxzZSBlLmVycm9ycy5wdXNoKCJvbmx5IHN0YXRlKCkgYW5kIHRyYW5zaXRpb24oKSBkZWZpbml0aW9ucyBjYW4gc2l0IGluc2lkZSBvZiBhIHRyaWdnZXIoKSIpfSkpLHt0eXBlOjcsbmFtZTp0Lm5hbWUsc3RhdGVzOmksdHJhbnNpdGlvbnM6YSxxdWVyeUNvdW50Om4sZGVwQ291bnQ6byxvcHRpb25zOm51bGx9fXZpc2l0U3RhdGUodCxlKXtjb25zdCBuPXRoaXMudmlzaXRTdHlsZSh0LnN0eWxlcyxlKSxvPXQub3B0aW9ucyYmdC5vcHRpb25zLnBhcmFtc3x8bnVsbDtpZihuLmNvbnRhaW5zRHluYW1pY1N0eWxlcyl7Y29uc3QgaT1uZXcgU2V0LGE9b3x8e307aWYobi5zdHlsZXMuZm9yRWFjaCgodD0+e2lmKExQKHQpKXtjb25zdCBlPXQ7T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+e0NQKGVbdF0pLmZvckVhY2goKHQ9PnthLmhhc093blByb3BlcnR5KHQpfHxpLmFkZCh0KX0pKX0pKX19KSksaS5zaXplKXtjb25zdCBuPXZQKGkudmFsdWVzKCkpO2UuZXJyb3JzLnB1c2goYHN0YXRlKCIke3QubmFtZX0iLCAuLi4pIG11c3QgZGVmaW5lIGRlZmF1bHQgdmFsdWVzIGZvciBhbGwgdGhlIGZvbGxvd2luZyBzdHlsZSBzdWJzdGl0dXRpb25zOiAke24uam9pbigiLCAiKX1gKX19cmV0dXJue3R5cGU6MCxuYW1lOnQubmFtZSxzdHlsZTpuLG9wdGlvbnM6bz97cGFyYW1zOm99Om51bGx9fXZpc2l0VHJhbnNpdGlvbih0LGUpe2UucXVlcnlDb3VudD0wLGUuZGVwQ291bnQ9MDtjb25zdCBuPWtQKHRoaXMseVAodC5hbmltYXRpb24pLGUpO3JldHVybnt0eXBlOjEsbWF0Y2hlcnM6UlAodC5leHByLGUuZXJyb3JzKSxhbmltYXRpb246bixxdWVyeUNvdW50OmUucXVlcnlDb3VudCxkZXBDb3VudDplLmRlcENvdW50LG9wdGlvbnM6QlAodC5vcHRpb25zKX19dmlzaXRTZXF1ZW5jZSh0LGUpe3JldHVybnt0eXBlOjIsc3RlcHM6dC5zdGVwcy5tYXAoKHQ9PmtQKHRoaXMsdCxlKSkpLG9wdGlvbnM6QlAodC5vcHRpb25zKX19dmlzaXRHcm91cCh0LGUpe2NvbnN0IG49ZS5jdXJyZW50VGltZTtsZXQgbz0wO2NvbnN0IGk9dC5zdGVwcy5tYXAoKHQ9PntlLmN1cnJlbnRUaW1lPW47Y29uc3QgaT1rUCh0aGlzLHQsZSk7cmV0dXJuIG89TWF0aC5tYXgobyxlLmN1cnJlbnRUaW1lKSxpfSkpO3JldHVybiBlLmN1cnJlbnRUaW1lPW8se3R5cGU6MyxzdGVwczppLG9wdGlvbnM6QlAodC5vcHRpb25zKX19dmlzaXRBbmltYXRlKHQsZSl7Y29uc3Qgbj0oZnVuY3Rpb24gbyh0LGUpe2xldCBuPW51bGw7aWYodC5oYXNPd25Qcm9wZXJ0eSgiZHVyYXRpb24iKSluPXQ7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIHQpe3JldHVybiBWUChwUCh0LGUpLmR1cmF0aW9uLDAsIiIpfWNvbnN0IG89dDtpZihvLnNwbGl0KC9ccysvKS5zb21lKCh0PT4ieyI9PXQuY2hhckF0KDApJiYieyI9PXQuY2hhckF0KDEpKSkpe2NvbnN0IHQ9VlAoMCwwLCIiKTtyZXR1cm4gdC5keW5hbWljPSEwLHQuc3RyVmFsdWU9byx0fXJldHVybiBuPW58fHBQKG8sZSksVlAobi5kdXJhdGlvbixuLmRlbGF5LG4uZWFzaW5nKX0pKHQudGltaW5ncyxlLmVycm9ycyk7bGV0IGk7ZS5jdXJyZW50QW5pbWF0ZVRpbWluZ3M9bjtsZXQgYT10LnN0eWxlcz90LnN0eWxlczp3Tyh7fSk7aWYoNT09YS50eXBlKWk9dGhpcy52aXNpdEtleWZyYW1lcyhhLGUpO2Vsc2V7bGV0IG89dC5zdHlsZXMsYT0hMTtpZighbyl7YT0hMDtjb25zdCB0PXt9O24uZWFzaW5nJiYodC5lYXNpbmc9bi5lYXNpbmcpLG89d08odCl9ZS5jdXJyZW50VGltZSs9bi5kdXJhdGlvbituLmRlbGF5O2NvbnN0IHI9dGhpcy52aXNpdFN0eWxlKG8sZSk7ci5pc0VtcHR5U3RlcD1hLGk9cn1yZXR1cm4gZS5jdXJyZW50QW5pbWF0ZVRpbWluZ3M9bnVsbCx7dHlwZTo0LHRpbWluZ3M6bixzdHlsZTppLG9wdGlvbnM6bnVsbH19dmlzaXRTdHlsZSh0LGUpe2NvbnN0IG49dGhpcy5fbWFrZVN0eWxlQXN0KHQsZSk7cmV0dXJuIHRoaXMuX3ZhbGlkYXRlU3R5bGVBc3QobixlKSxufV9tYWtlU3R5bGVBc3QodCxlKXtjb25zdCBuPVtdO0FycmF5LmlzQXJyYXkodC5zdHlsZXMpP3Quc3R5bGVzLmZvckVhY2goKHQ9Pnsic3RyaW5nIj09dHlwZW9mIHQ/dD09dk8/bi5wdXNoKHQpOmUuZXJyb3JzLnB1c2goYFRoZSBwcm92aWRlZCBzdHlsZSBzdHJpbmcgdmFsdWUgJHt0fSBpcyBub3QgYWxsb3dlZC5gKTpuLnB1c2godCl9KSk6bi5wdXNoKHQuc3R5bGVzKTtsZXQgbz0hMSxpPW51bGw7cmV0dXJuIG4uZm9yRWFjaCgodD0+e2lmKExQKHQpKXtjb25zdCBlPXQsbj1lLmVhc2luZztpZihuJiYoaT1uLGRlbGV0ZSBlLmVhc2luZyksIW8pZm9yKGxldCB0IGluIGUpe2lmKGVbdF0udG9TdHJpbmcoKS5pbmRleE9mKCJ7eyIpPj0wKXtvPSEwO2JyZWFrfX19fSkpLHt0eXBlOjYsc3R5bGVzOm4sZWFzaW5nOmksb2Zmc2V0OnQub2Zmc2V0LGNvbnRhaW5zRHluYW1pY1N0eWxlczpvLG9wdGlvbnM6bnVsbH19X3ZhbGlkYXRlU3R5bGVBc3QodCxlKXtjb25zdCBuPWUuY3VycmVudEFuaW1hdGVUaW1pbmdzO2xldCBvPWUuY3VycmVudFRpbWUsaT1lLmN1cnJlbnRUaW1lO24mJmk+MCYmKGktPW4uZHVyYXRpb24rbi5kZWxheSksdC5zdHlsZXMuZm9yRWFjaCgodD0+eyJzdHJpbmciIT10eXBlb2YgdCYmT2JqZWN0LmtleXModCkuZm9yRWFjaCgobj0+e2lmKCF0aGlzLl9kcml2ZXIudmFsaWRhdGVTdHlsZVByb3BlcnR5KG4pKXJldHVybiB2b2lkIGUuZXJyb3JzLnB1c2goYFRoZSBwcm92aWRlZCBhbmltYXRpb24gcHJvcGVydHkgIiR7bn0iIGlzIG5vdCBhIHN1cHBvcnRlZCBDU1MgcHJvcGVydHkgZm9yIGFuaW1hdGlvbnNgKTtjb25zdCBhPWUuY29sbGVjdGVkU3R5bGVzW2UuY3VycmVudFF1ZXJ5U2VsZWN0b3JdLHI9YVtuXTtsZXQgcz0hMDtyJiYoaSE9byYmaT49ci5zdGFydFRpbWUmJm88PXIuZW5kVGltZSYmKGUuZXJyb3JzLnB1c2goYFRoZSBDU1MgcHJvcGVydHkgIiR7bn0iIHRoYXQgZXhpc3RzIGJldHdlZW4gdGhlIHRpbWVzIG9mICIke3Iuc3RhcnRUaW1lfW1zIiBhbmQgIiR7ci5lbmRUaW1lfW1zIiBpcyBhbHNvIGJlaW5nIGFuaW1hdGVkIGluIGEgcGFyYWxsZWwgYW5pbWF0aW9uIGJldHdlZW4gdGhlIHRpbWVzIG9mICIke2l9bXMiIGFuZCAiJHtvfW1zImApLHM9ITEpLGk9ci5zdGFydFRpbWUpLHMmJihhW25dPXtzdGFydFRpbWU6aSxlbmRUaW1lOm99KSxlLm9wdGlvbnMmJihmdW5jdGlvbiBsKHQsZSxuKXtjb25zdCBvPWUucGFyYW1zfHx7fSxpPUNQKHQpO2kubGVuZ3RoJiZpLmZvckVhY2goKHQ9PntvLmhhc093blByb3BlcnR5KHQpfHxuLnB1c2goYFVuYWJsZSB0byByZXNvbHZlIHRoZSBsb2NhbCBhbmltYXRpb24gcGFyYW0gJHt0fSBpbiB0aGUgZ2l2ZW4gbGlzdCBvZiB2YWx1ZXNgKX0pKX0pKHRbbl0sZS5vcHRpb25zLGUuZXJyb3JzKX0pKX0pKX12aXNpdEtleWZyYW1lcyh0LGUpe2NvbnN0IG49e3R5cGU6NSxzdHlsZXM6W10sb3B0aW9uczpudWxsfTtpZighZS5jdXJyZW50QW5pbWF0ZVRpbWluZ3MpcmV0dXJuIGUuZXJyb3JzLnB1c2goImtleWZyYW1lcygpIG11c3QgYmUgcGxhY2VkIGluc2lkZSBvZiBhIGNhbGwgdG8gYW5pbWF0ZSgpIiksbjtsZXQgbz0wO2NvbnN0IGk9W107bGV0IGE9ITEscj0hMSxzPTA7Y29uc3QgbD10LnN0ZXBzLm1hcCgodD0+e2NvbnN0IG49dGhpcy5fbWFrZVN0eWxlQXN0KHQsZSk7bGV0IGw9bnVsbCE9bi5vZmZzZXQ/bi5vZmZzZXQ6KGZ1bmN0aW9uIGModCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBudWxsO2xldCBlPW51bGw7aWYoQXJyYXkuaXNBcnJheSh0KSl0LmZvckVhY2goKHQ9PntpZihMUCh0KSYmdC5oYXNPd25Qcm9wZXJ0eSgib2Zmc2V0Iikpe2NvbnN0IG49dDtlPXBhcnNlRmxvYXQobi5vZmZzZXQpLGRlbGV0ZSBuLm9mZnNldH19KSk7ZWxzZSBpZihMUCh0KSYmdC5oYXNPd25Qcm9wZXJ0eSgib2Zmc2V0Iikpe2NvbnN0IG49dDtlPXBhcnNlRmxvYXQobi5vZmZzZXQpLGRlbGV0ZSBuLm9mZnNldH1yZXR1cm4gZX0pKG4uc3R5bGVzKSxkPTA7cmV0dXJuIG51bGwhPWwmJihvKyssZD1uLm9mZnNldD1sKSxyPXJ8fGQ8MHx8ZD4xLGE9YXx8ZDxzLHM9ZCxpLnB1c2goZCksbn0pKTtyJiZlLmVycm9ycy5wdXNoKCJQbGVhc2UgZW5zdXJlIHRoYXQgYWxsIGtleWZyYW1lIG9mZnNldHMgYXJlIGJldHdlZW4gMCBhbmQgMSIpLGEmJmUuZXJyb3JzLnB1c2goIlBsZWFzZSBlbnN1cmUgdGhhdCBhbGwga2V5ZnJhbWUgb2Zmc2V0cyBhcmUgaW4gb3JkZXIiKTtjb25zdCBjPXQuc3RlcHMubGVuZ3RoO2xldCBkPTA7bz4wJiZvPGM/ZS5lcnJvcnMucHVzaCgiTm90IGFsbCBzdHlsZSgpIHN0ZXBzIHdpdGhpbiB0aGUgZGVjbGFyZWQga2V5ZnJhbWVzKCkgY29udGFpbiBvZmZzZXRzIik6MD09byYmKGQ9MS8oYy0xKSk7Y29uc3QgcD1jLTEsbT1lLmN1cnJlbnRUaW1lLGY9ZS5jdXJyZW50QW5pbWF0ZVRpbWluZ3MsdT1mLmR1cmF0aW9uO3JldHVybiBsLmZvckVhY2goKCh0LG8pPT57Y29uc3QgYT1kPjA/bz09cD8xOmQqbzppW29dLHI9YSp1O2UuY3VycmVudFRpbWU9bStmLmRlbGF5K3IsZi5kdXJhdGlvbj1yLHRoaXMuX3ZhbGlkYXRlU3R5bGVBc3QodCxlKSx0Lm9mZnNldD1hLG4uc3R5bGVzLnB1c2godCl9KSksbn12aXNpdFJlZmVyZW5jZSh0LGUpe3JldHVybnt0eXBlOjgsYW5pbWF0aW9uOmtQKHRoaXMseVAodC5hbmltYXRpb24pLGUpLG9wdGlvbnM6QlAodC5vcHRpb25zKX19dmlzaXRBbmltYXRlQ2hpbGQodCxlKXtyZXR1cm4gZS5kZXBDb3VudCsrLHt0eXBlOjksb3B0aW9uczpCUCh0Lm9wdGlvbnMpfX12aXNpdEFuaW1hdGVSZWYodCxlKXtyZXR1cm57dHlwZToxMCxhbmltYXRpb246dGhpcy52aXNpdFJlZmVyZW5jZSh0LmFuaW1hdGlvbixlKSxvcHRpb25zOkJQKHQub3B0aW9ucyl9fXZpc2l0UXVlcnkodCxlKXtjb25zdCBuPWUuY3VycmVudFF1ZXJ5U2VsZWN0b3Isbz10Lm9wdGlvbnN8fHt9O2UucXVlcnlDb3VudCsrLGUuY3VycmVudFF1ZXJ5PXQ7Y29uc3RbaSxhXT0oZnVuY3Rpb24gcih0KXtjb25zdCBlPSEhdC5zcGxpdCgvXHMqLFxzKi8pLmZpbmQoKHQ9PnQ9PU5QKSk7ZSYmKHQ9dC5yZXBsYWNlKHpQLCIiKSk7cmV0dXJuW3Q9dC5yZXBsYWNlKC9AXCovZyxyUCkucmVwbGFjZSgvQFx3Ky9nLCh0PT4iLm5nLXRyaWdnZXItIit0LnN1YnN0cigxKSkpLnJlcGxhY2UoLzphbmltYXRpbmcvZyxsUCksZV19KSh0LnNlbGVjdG9yKTtlLmN1cnJlbnRRdWVyeVNlbGVjdG9yPW4ubGVuZ3RoP24rIiAiK2k6aSxqTyhlLmNvbGxlY3RlZFN0eWxlcyxlLmN1cnJlbnRRdWVyeVNlbGVjdG9yLHt9KTtjb25zdCBzPWtQKHRoaXMseVAodC5hbmltYXRpb24pLGUpO3JldHVybiBlLmN1cnJlbnRRdWVyeT1udWxsLGUuY3VycmVudFF1ZXJ5U2VsZWN0b3I9bix7dHlwZToxMSxzZWxlY3RvcjppLGxpbWl0Om8ubGltaXR8fDAsb3B0aW9uYWw6ISFvLm9wdGlvbmFsLGluY2x1ZGVTZWxmOmEsYW5pbWF0aW9uOnMsb3JpZ2luYWxTZWxlY3Rvcjp0LnNlbGVjdG9yLG9wdGlvbnM6QlAodC5vcHRpb25zKX19dmlzaXRTdGFnZ2VyKHQsZSl7ZS5jdXJyZW50UXVlcnl8fGUuZXJyb3JzLnB1c2goInN0YWdnZXIoKSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBvZiBxdWVyeSgpIik7Y29uc3Qgbj0iZnVsbCI9PT10LnRpbWluZ3M/e2R1cmF0aW9uOjAsZGVsYXk6MCxlYXNpbmc6ImZ1bGwifTpwUCh0LnRpbWluZ3MsZS5lcnJvcnMsITApO3JldHVybnt0eXBlOjEyLGFuaW1hdGlvbjprUCh0aGlzLHlQKHQuYW5pbWF0aW9uKSxlKSx0aW1pbmdzOm4sb3B0aW9uczpudWxsfX19Y2xhc3MgRlB7Y29uc3RydWN0b3IodCl7dGhpcy5lcnJvcnM9dCx0aGlzLnF1ZXJ5Q291bnQ9MCx0aGlzLmRlcENvdW50PTAsdGhpcy5jdXJyZW50VHJhbnNpdGlvbj1udWxsLHRoaXMuY3VycmVudFF1ZXJ5PW51bGwsdGhpcy5jdXJyZW50UXVlcnlTZWxlY3Rvcj1udWxsLHRoaXMuY3VycmVudEFuaW1hdGVUaW1pbmdzPW51bGwsdGhpcy5jdXJyZW50VGltZT0wLHRoaXMuY29sbGVjdGVkU3R5bGVzPXt9LHRoaXMub3B0aW9ucz1udWxsfX1mdW5jdGlvbiBMUCh0KXtyZXR1cm4hQXJyYXkuaXNBcnJheSh0KSYmIm9iamVjdCI9PXR5cGVvZiB0fWZ1bmN0aW9uIEJQKHQpe3JldHVybiB0Pyh0PW1QKHQpKS5wYXJhbXMmJih0LnBhcmFtcz0oZnVuY3Rpb24gZSh0KXtyZXR1cm4gdD9tUCh0KTpudWxsfSkodC5wYXJhbXMpKTp0PXt9LHR9ZnVuY3Rpb24gVlAodCxlLG4pe3JldHVybntkdXJhdGlvbjp0LGRlbGF5OmUsZWFzaW5nOm59fWZ1bmN0aW9uIGpQKHQsZSxuLG8saSxhLHI9bnVsbCxzPSExKXtyZXR1cm57dHlwZToxLGVsZW1lbnQ6dCxrZXlmcmFtZXM6ZSxwcmVTdHlsZVByb3BzOm4scG9zdFN0eWxlUHJvcHM6byxkdXJhdGlvbjppLGRlbGF5OmEsdG90YWxUaW1lOmkrYSxlYXNpbmc6cixzdWJUaW1lbGluZTpzfX1jbGFzcyBVUHtjb25zdHJ1Y3Rvcigpe3RoaXMuX21hcD1uZXcgTWFwfWNvbnN1bWUodCl7bGV0IGU9dGhpcy5fbWFwLmdldCh0KTtyZXR1cm4gZT90aGlzLl9tYXAuZGVsZXRlKHQpOmU9W10sZX1hcHBlbmQodCxlKXtsZXQgbj10aGlzLl9tYXAuZ2V0KHQpO258fHRoaXMuX21hcC5zZXQodCxuPVtdKSxuLnB1c2goLi4uZSl9aGFzKHQpe3JldHVybiB0aGlzLl9tYXAuaGFzKHQpfWNsZWFyKCl7dGhpcy5fbWFwLmNsZWFyKCl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBXUD1uZXcgUmVnRXhwKCI6ZW50ZXIiLCJnIiksR1A9bmV3IFJlZ0V4cCgiOmxlYXZlIiwiZyIpO2Z1bmN0aW9uIFlQKHQsZSxuLG8saSxhPXt9LHI9e30scyxsLGM9W10pe3JldHVybihuZXcgcVApLmJ1aWxkS2V5ZnJhbWVzKHQsZSxuLG8saSxhLHIscyxsLGMpfWNsYXNzIHFQe2J1aWxkS2V5ZnJhbWVzKHQsZSxuLG8saSxhLHIscyxsLGM9W10pe2w9bHx8bmV3IFVQO2NvbnN0IGQ9bmV3IFhQKHQsZSxsLG8saSxjLFtdKTtkLm9wdGlvbnM9cyxkLmN1cnJlbnRUaW1lbGluZS5zZXRTdHlsZXMoW2FdLG51bGwsZC5lcnJvcnMscyksa1AodGhpcyxuLGQpO2NvbnN0IHA9ZC50aW1lbGluZXMuZmlsdGVyKCh0PT50LmNvbnRhaW5zQW5pbWF0aW9uKCkpKTtpZihwLmxlbmd0aCYmT2JqZWN0LmtleXMocikubGVuZ3RoKXtjb25zdCB0PXBbcC5sZW5ndGgtMV07dC5hbGxvd09ubHlUaW1lbGluZVN0eWxlcygpfHx0LnNldFN0eWxlcyhbcl0sbnVsbCxkLmVycm9ycyxzKX1yZXR1cm4gcC5sZW5ndGg/cC5tYXAoKHQ9PnQuYnVpbGRLZXlmcmFtZXMoKSkpOltqUChlLFtdLFtdLFtdLDAsMCwiIiwhMSldfXZpc2l0VHJpZ2dlcih0LGUpe312aXNpdFN0YXRlKHQsZSl7fXZpc2l0VHJhbnNpdGlvbih0LGUpe312aXNpdEFuaW1hdGVDaGlsZCh0LGUpe2NvbnN0IG49ZS5zdWJJbnN0cnVjdGlvbnMuY29uc3VtZShlLmVsZW1lbnQpO2lmKG4pe2NvbnN0IG89ZS5jcmVhdGVTdWJDb250ZXh0KHQub3B0aW9ucyksaT1lLmN1cnJlbnRUaW1lbGluZS5jdXJyZW50VGltZSxhPXRoaXMuX3Zpc2l0U3ViSW5zdHJ1Y3Rpb25zKG4sbyxvLm9wdGlvbnMpO2khPWEmJmUudHJhbnNmb3JtSW50b05ld1RpbWVsaW5lKGEpfWUucHJldmlvdXNOb2RlPXR9dmlzaXRBbmltYXRlUmVmKHQsZSl7Y29uc3Qgbj1lLmNyZWF0ZVN1YkNvbnRleHQodC5vcHRpb25zKTtuLnRyYW5zZm9ybUludG9OZXdUaW1lbGluZSgpLHRoaXMudmlzaXRSZWZlcmVuY2UodC5hbmltYXRpb24sbiksZS50cmFuc2Zvcm1JbnRvTmV3VGltZWxpbmUobi5jdXJyZW50VGltZWxpbmUuY3VycmVudFRpbWUpLGUucHJldmlvdXNOb2RlPXR9X3Zpc2l0U3ViSW5zdHJ1Y3Rpb25zKHQsZSxuKXtsZXQgbz1lLmN1cnJlbnRUaW1lbGluZS5jdXJyZW50VGltZTtjb25zdCBpPW51bGwhPW4uZHVyYXRpb24/Y1Aobi5kdXJhdGlvbik6bnVsbCxhPW51bGwhPW4uZGVsYXk/Y1Aobi5kZWxheSk6bnVsbDtyZXR1cm4gMCE9PWkmJnQuZm9yRWFjaCgodD0+e2NvbnN0IG49ZS5hcHBlbmRJbnN0cnVjdGlvblRvVGltZWxpbmUodCxpLGEpO289TWF0aC5tYXgobyxuLmR1cmF0aW9uK24uZGVsYXkpfSkpLG99dmlzaXRSZWZlcmVuY2UodCxlKXtlLnVwZGF0ZU9wdGlvbnModC5vcHRpb25zLCEwKSxrUCh0aGlzLHQuYW5pbWF0aW9uLGUpLGUucHJldmlvdXNOb2RlPXR9dmlzaXRTZXF1ZW5jZSh0LGUpe2NvbnN0IG49ZS5zdWJDb250ZXh0Q291bnQ7bGV0IG89ZTtjb25zdCBpPXQub3B0aW9ucztpZihpJiYoaS5wYXJhbXN8fGkuZGVsYXkpJiYobz1lLmNyZWF0ZVN1YkNvbnRleHQoaSksby50cmFuc2Zvcm1JbnRvTmV3VGltZWxpbmUoKSxudWxsIT1pLmRlbGF5KSl7Nj09by5wcmV2aW91c05vZGUudHlwZSYmKG8uY3VycmVudFRpbWVsaW5lLnNuYXBzaG90Q3VycmVudFN0eWxlcygpLG8ucHJldmlvdXNOb2RlPVpQKTtjb25zdCB0PWNQKGkuZGVsYXkpO28uZGVsYXlOZXh0U3RlcCh0KX10LnN0ZXBzLmxlbmd0aCYmKHQuc3RlcHMuZm9yRWFjaCgodD0+a1AodGhpcyx0LG8pKSksby5jdXJyZW50VGltZWxpbmUuYXBwbHlTdHlsZXNUb0tleWZyYW1lKCksby5zdWJDb250ZXh0Q291bnQ+biYmby50cmFuc2Zvcm1JbnRvTmV3VGltZWxpbmUoKSksZS5wcmV2aW91c05vZGU9dH12aXNpdEdyb3VwKHQsZSl7Y29uc3Qgbj1bXTtsZXQgbz1lLmN1cnJlbnRUaW1lbGluZS5jdXJyZW50VGltZTtjb25zdCBpPXQub3B0aW9ucyYmdC5vcHRpb25zLmRlbGF5P2NQKHQub3B0aW9ucy5kZWxheSk6MDt0LnN0ZXBzLmZvckVhY2goKGE9Pntjb25zdCByPWUuY3JlYXRlU3ViQ29udGV4dCh0Lm9wdGlvbnMpO2kmJnIuZGVsYXlOZXh0U3RlcChpKSxrUCh0aGlzLGEsciksbz1NYXRoLm1heChvLHIuY3VycmVudFRpbWVsaW5lLmN1cnJlbnRUaW1lKSxuLnB1c2goci5jdXJyZW50VGltZWxpbmUpfSkpLG4uZm9yRWFjaCgodD0+ZS5jdXJyZW50VGltZWxpbmUubWVyZ2VUaW1lbGluZUNvbGxlY3RlZFN0eWxlcyh0KSkpLGUudHJhbnNmb3JtSW50b05ld1RpbWVsaW5lKG8pLGUucHJldmlvdXNOb2RlPXR9X3Zpc2l0VGltaW5nKHQsZSl7aWYodC5keW5hbWljKXtjb25zdCBuPXQuc3RyVmFsdWU7cmV0dXJuIHBQKGUucGFyYW1zP01QKG4sZS5wYXJhbXMsZS5lcnJvcnMpOm4sZS5lcnJvcnMpfXJldHVybntkdXJhdGlvbjp0LmR1cmF0aW9uLGRlbGF5OnQuZGVsYXksZWFzaW5nOnQuZWFzaW5nfX12aXNpdEFuaW1hdGUodCxlKXtjb25zdCBuPWUuY3VycmVudEFuaW1hdGVUaW1pbmdzPXRoaXMuX3Zpc2l0VGltaW5nKHQudGltaW5ncyxlKSxvPWUuY3VycmVudFRpbWVsaW5lO24uZGVsYXkmJihlLmluY3JlbWVudFRpbWUobi5kZWxheSksby5zbmFwc2hvdEN1cnJlbnRTdHlsZXMoKSk7Y29uc3QgaT10LnN0eWxlOzU9PWkudHlwZT90aGlzLnZpc2l0S2V5ZnJhbWVzKGksZSk6KGUuaW5jcmVtZW50VGltZShuLmR1cmF0aW9uKSx0aGlzLnZpc2l0U3R5bGUoaSxlKSxvLmFwcGx5U3R5bGVzVG9LZXlmcmFtZSgpKSxlLmN1cnJlbnRBbmltYXRlVGltaW5ncz1udWxsLGUucHJldmlvdXNOb2RlPXR9dmlzaXRTdHlsZSh0LGUpe2NvbnN0IG49ZS5jdXJyZW50VGltZWxpbmUsbz1lLmN1cnJlbnRBbmltYXRlVGltaW5nczshbyYmbi5nZXRDdXJyZW50U3R5bGVQcm9wZXJ0aWVzKCkubGVuZ3RoJiZuLmZvcndhcmRGcmFtZSgpO2NvbnN0IGk9byYmby5lYXNpbmd8fHQuZWFzaW5nO3QuaXNFbXB0eVN0ZXA/bi5hcHBseUVtcHR5U3RlcChpKTpuLnNldFN0eWxlcyh0LnN0eWxlcyxpLGUuZXJyb3JzLGUub3B0aW9ucyksZS5wcmV2aW91c05vZGU9dH12aXNpdEtleWZyYW1lcyh0LGUpe2NvbnN0IG49ZS5jdXJyZW50QW5pbWF0ZVRpbWluZ3Msbz1lLmN1cnJlbnRUaW1lbGluZS5kdXJhdGlvbixpPW4uZHVyYXRpb24sYT1lLmNyZWF0ZVN1YkNvbnRleHQoKS5jdXJyZW50VGltZWxpbmU7YS5lYXNpbmc9bi5lYXNpbmcsdC5zdHlsZXMuZm9yRWFjaCgodD0+e2EuZm9yd2FyZFRpbWUoKHQub2Zmc2V0fHwwKSppKSxhLnNldFN0eWxlcyh0LnN0eWxlcyx0LmVhc2luZyxlLmVycm9ycyxlLm9wdGlvbnMpLGEuYXBwbHlTdHlsZXNUb0tleWZyYW1lKCl9KSksZS5jdXJyZW50VGltZWxpbmUubWVyZ2VUaW1lbGluZUNvbGxlY3RlZFN0eWxlcyhhKSxlLnRyYW5zZm9ybUludG9OZXdUaW1lbGluZShvK2kpLGUucHJldmlvdXNOb2RlPXR9dmlzaXRRdWVyeSh0LGUpe2NvbnN0IG49ZS5jdXJyZW50VGltZWxpbmUuY3VycmVudFRpbWUsbz10Lm9wdGlvbnN8fHt9LGk9by5kZWxheT9jUChvLmRlbGF5KTowO2kmJig2PT09ZS5wcmV2aW91c05vZGUudHlwZXx8MD09biYmZS5jdXJyZW50VGltZWxpbmUuZ2V0Q3VycmVudFN0eWxlUHJvcGVydGllcygpLmxlbmd0aCkmJihlLmN1cnJlbnRUaW1lbGluZS5zbmFwc2hvdEN1cnJlbnRTdHlsZXMoKSxlLnByZXZpb3VzTm9kZT1aUCk7bGV0IGE9bjtjb25zdCByPWUuaW52b2tlUXVlcnkodC5zZWxlY3Rvcix0Lm9yaWdpbmFsU2VsZWN0b3IsdC5saW1pdCx0LmluY2x1ZGVTZWxmLCEhby5vcHRpb25hbCxlLmVycm9ycyk7ZS5jdXJyZW50UXVlcnlUb3RhbD1yLmxlbmd0aDtsZXQgcz1udWxsO3IuZm9yRWFjaCgoKG4sbyk9PntlLmN1cnJlbnRRdWVyeUluZGV4PW87Y29uc3Qgcj1lLmNyZWF0ZVN1YkNvbnRleHQodC5vcHRpb25zLG4pO2kmJnIuZGVsYXlOZXh0U3RlcChpKSxuPT09ZS5lbGVtZW50JiYocz1yLmN1cnJlbnRUaW1lbGluZSksa1AodGhpcyx0LmFuaW1hdGlvbixyKSxyLmN1cnJlbnRUaW1lbGluZS5hcHBseVN0eWxlc1RvS2V5ZnJhbWUoKTthPU1hdGgubWF4KGEsci5jdXJyZW50VGltZWxpbmUuY3VycmVudFRpbWUpfSkpLGUuY3VycmVudFF1ZXJ5SW5kZXg9MCxlLmN1cnJlbnRRdWVyeVRvdGFsPTAsZS50cmFuc2Zvcm1JbnRvTmV3VGltZWxpbmUoYSkscyYmKGUuY3VycmVudFRpbWVsaW5lLm1lcmdlVGltZWxpbmVDb2xsZWN0ZWRTdHlsZXMocyksZS5jdXJyZW50VGltZWxpbmUuc25hcHNob3RDdXJyZW50U3R5bGVzKCkpLGUucHJldmlvdXNOb2RlPXR9dmlzaXRTdGFnZ2VyKHQsZSl7Y29uc3Qgbj1lLnBhcmVudENvbnRleHQsbz1lLmN1cnJlbnRUaW1lbGluZSxpPXQudGltaW5ncyxhPU1hdGguYWJzKGkuZHVyYXRpb24pLHI9YSooZS5jdXJyZW50UXVlcnlUb3RhbC0xKTtsZXQgcz1hKmUuY3VycmVudFF1ZXJ5SW5kZXg7c3dpdGNoKGkuZHVyYXRpb248MD8icmV2ZXJzZSI6aS5lYXNpbmcpe2Nhc2UicmV2ZXJzZSI6cz1yLXM7YnJlYWs7Y2FzZSJmdWxsIjpzPW4uY3VycmVudFN0YWdnZXJUaW1lfWNvbnN0IGw9ZS5jdXJyZW50VGltZWxpbmU7cyYmbC5kZWxheU5leHRTdGVwKHMpO2NvbnN0IGM9bC5jdXJyZW50VGltZTtrUCh0aGlzLHQuYW5pbWF0aW9uLGUpLGUucHJldmlvdXNOb2RlPXQsbi5jdXJyZW50U3RhZ2dlclRpbWU9by5jdXJyZW50VGltZS1jKyhvLnN0YXJ0VGltZS1uLmN1cnJlbnRUaW1lbGluZS5zdGFydFRpbWUpfX1jb25zdCBaUD17fTtjbGFzcyBYUHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMpe3RoaXMuX2RyaXZlcj10LHRoaXMuZWxlbWVudD1lLHRoaXMuc3ViSW5zdHJ1Y3Rpb25zPW4sdGhpcy5fZW50ZXJDbGFzc05hbWU9byx0aGlzLl9sZWF2ZUNsYXNzTmFtZT1pLHRoaXMuZXJyb3JzPWEsdGhpcy50aW1lbGluZXM9cix0aGlzLnBhcmVudENvbnRleHQ9bnVsbCx0aGlzLmN1cnJlbnRBbmltYXRlVGltaW5ncz1udWxsLHRoaXMucHJldmlvdXNOb2RlPVpQLHRoaXMuc3ViQ29udGV4dENvdW50PTAsdGhpcy5vcHRpb25zPXt9LHRoaXMuY3VycmVudFF1ZXJ5SW5kZXg9MCx0aGlzLmN1cnJlbnRRdWVyeVRvdGFsPTAsdGhpcy5jdXJyZW50U3RhZ2dlclRpbWU9MCx0aGlzLmN1cnJlbnRUaW1lbGluZT1zfHxuZXcgS1AodGhpcy5fZHJpdmVyLGUsMCksci5wdXNoKHRoaXMuY3VycmVudFRpbWVsaW5lKX1nZXQgcGFyYW1zKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5wYXJhbXN9dXBkYXRlT3B0aW9ucyh0LGUpe2lmKCF0KXJldHVybjtjb25zdCBuPXQ7bGV0IG89dGhpcy5vcHRpb25zO251bGwhPW4uZHVyYXRpb24mJihvLmR1cmF0aW9uPWNQKG4uZHVyYXRpb24pKSxudWxsIT1uLmRlbGF5JiYoby5kZWxheT1jUChuLmRlbGF5KSk7Y29uc3QgaT1uLnBhcmFtcztpZihpKXtsZXQgdD1vLnBhcmFtczt0fHwodD10aGlzLm9wdGlvbnMucGFyYW1zPXt9KSxPYmplY3Qua2V5cyhpKS5mb3JFYWNoKChuPT57ZSYmdC5oYXNPd25Qcm9wZXJ0eShuKXx8KHRbbl09TVAoaVtuXSx0LHRoaXMuZXJyb3JzKSl9KSl9fV9jb3B5T3B0aW9ucygpe2NvbnN0IHQ9e307aWYodGhpcy5vcHRpb25zKXtjb25zdCBlPXRoaXMub3B0aW9ucy5wYXJhbXM7aWYoZSl7Y29uc3Qgbj10LnBhcmFtcz17fTtPYmplY3Qua2V5cyhlKS5mb3JFYWNoKCh0PT57blt0XT1lW3RdfSkpfX1yZXR1cm4gdH1jcmVhdGVTdWJDb250ZXh0KHQ9bnVsbCxlLG4pe2NvbnN0IG89ZXx8dGhpcy5lbGVtZW50LGk9bmV3IFhQKHRoaXMuX2RyaXZlcixvLHRoaXMuc3ViSW5zdHJ1Y3Rpb25zLHRoaXMuX2VudGVyQ2xhc3NOYW1lLHRoaXMuX2xlYXZlQ2xhc3NOYW1lLHRoaXMuZXJyb3JzLHRoaXMudGltZWxpbmVzLHRoaXMuY3VycmVudFRpbWVsaW5lLmZvcmsobyxufHwwKSk7cmV0dXJuIGkucHJldmlvdXNOb2RlPXRoaXMucHJldmlvdXNOb2RlLGkuY3VycmVudEFuaW1hdGVUaW1pbmdzPXRoaXMuY3VycmVudEFuaW1hdGVUaW1pbmdzLGkub3B0aW9ucz10aGlzLl9jb3B5T3B0aW9ucygpLGkudXBkYXRlT3B0aW9ucyh0KSxpLmN1cnJlbnRRdWVyeUluZGV4PXRoaXMuY3VycmVudFF1ZXJ5SW5kZXgsaS5jdXJyZW50UXVlcnlUb3RhbD10aGlzLmN1cnJlbnRRdWVyeVRvdGFsLGkucGFyZW50Q29udGV4dD10aGlzLHRoaXMuc3ViQ29udGV4dENvdW50KyssaX10cmFuc2Zvcm1JbnRvTmV3VGltZWxpbmUodCl7cmV0dXJuIHRoaXMucHJldmlvdXNOb2RlPVpQLHRoaXMuY3VycmVudFRpbWVsaW5lPXRoaXMuY3VycmVudFRpbWVsaW5lLmZvcmsodGhpcy5lbGVtZW50LHQpLHRoaXMudGltZWxpbmVzLnB1c2godGhpcy5jdXJyZW50VGltZWxpbmUpLHRoaXMuY3VycmVudFRpbWVsaW5lfWFwcGVuZEluc3RydWN0aW9uVG9UaW1lbGluZSh0LGUsbil7Y29uc3Qgbz17ZHVyYXRpb246bnVsbCE9ZT9lOnQuZHVyYXRpb24sZGVsYXk6dGhpcy5jdXJyZW50VGltZWxpbmUuY3VycmVudFRpbWUrKG51bGwhPW4/bjowKSt0LmRlbGF5LGVhc2luZzoiIn0saT1uZXcgSlAodGhpcy5fZHJpdmVyLHQuZWxlbWVudCx0LmtleWZyYW1lcyx0LnByZVN0eWxlUHJvcHMsdC5wb3N0U3R5bGVQcm9wcyxvLHQuc3RyZXRjaFN0YXJ0aW5nS2V5ZnJhbWUpO3JldHVybiB0aGlzLnRpbWVsaW5lcy5wdXNoKGkpLG99aW5jcmVtZW50VGltZSh0KXt0aGlzLmN1cnJlbnRUaW1lbGluZS5mb3J3YXJkVGltZSh0aGlzLmN1cnJlbnRUaW1lbGluZS5kdXJhdGlvbit0KX1kZWxheU5leHRTdGVwKHQpe3Q+MCYmdGhpcy5jdXJyZW50VGltZWxpbmUuZGVsYXlOZXh0U3RlcCh0KX1pbnZva2VRdWVyeSh0LGUsbixvLGksYSl7bGV0IHI9W107aWYobyYmci5wdXNoKHRoaXMuZWxlbWVudCksdC5sZW5ndGg+MCl7dD0odD10LnJlcGxhY2UoV1AsIi4iK3RoaXMuX2VudGVyQ2xhc3NOYW1lKSkucmVwbGFjZShHUCwiLiIrdGhpcy5fbGVhdmVDbGFzc05hbWUpO2xldCBlPXRoaXMuX2RyaXZlci5xdWVyeSh0aGlzLmVsZW1lbnQsdCwxIT1uKTswIT09biYmKGU9bjwwP2Uuc2xpY2UoZS5sZW5ndGgrbixlLmxlbmd0aCk6ZS5zbGljZSgwLG4pKSxyLnB1c2goLi4uZSl9cmV0dXJuIGl8fDAhPXIubGVuZ3RofHxhLnB1c2goYFxgcXVlcnkoIiR7ZX0iKVxgIHJldHVybmVkIHplcm8gZWxlbWVudHMuIChVc2UgXGBxdWVyeSgiJHtlfSIsIHsgb3B0aW9uYWw6IHRydWUgfSlcYCBpZiB5b3Ugd2lzaCB0byBhbGxvdyB0aGlzLilgKSxyfX1jbGFzcyBLUHtjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLl9kcml2ZXI9dCx0aGlzLmVsZW1lbnQ9ZSx0aGlzLnN0YXJ0VGltZT1uLHRoaXMuX2VsZW1lbnRUaW1lbGluZVN0eWxlc0xvb2t1cD1vLHRoaXMuZHVyYXRpb249MCx0aGlzLl9wcmV2aW91c0tleWZyYW1lPXt9LHRoaXMuX2N1cnJlbnRLZXlmcmFtZT17fSx0aGlzLl9rZXlmcmFtZXM9bmV3IE1hcCx0aGlzLl9zdHlsZVN1bW1hcnk9e30sdGhpcy5fcGVuZGluZ1N0eWxlcz17fSx0aGlzLl9iYWNrRmlsbD17fSx0aGlzLl9jdXJyZW50RW1wdHlTdGVwS2V5ZnJhbWU9bnVsbCx0aGlzLl9lbGVtZW50VGltZWxpbmVTdHlsZXNMb29rdXB8fCh0aGlzLl9lbGVtZW50VGltZWxpbmVTdHlsZXNMb29rdXA9bmV3IE1hcCksdGhpcy5fbG9jYWxUaW1lbGluZVN0eWxlcz1PYmplY3QuY3JlYXRlKHRoaXMuX2JhY2tGaWxsLHt9KSx0aGlzLl9nbG9iYWxUaW1lbGluZVN0eWxlcz10aGlzLl9lbGVtZW50VGltZWxpbmVTdHlsZXNMb29rdXAuZ2V0KGUpLHRoaXMuX2dsb2JhbFRpbWVsaW5lU3R5bGVzfHwodGhpcy5fZ2xvYmFsVGltZWxpbmVTdHlsZXM9dGhpcy5fbG9jYWxUaW1lbGluZVN0eWxlcyx0aGlzLl9lbGVtZW50VGltZWxpbmVTdHlsZXNMb29rdXAuc2V0KGUsdGhpcy5fbG9jYWxUaW1lbGluZVN0eWxlcykpLHRoaXMuX2xvYWRLZXlmcmFtZSgpfWNvbnRhaW5zQW5pbWF0aW9uKCl7c3dpdGNoKHRoaXMuX2tleWZyYW1lcy5zaXplKXtjYXNlIDA6cmV0dXJuITE7Y2FzZSAxOnJldHVybiB0aGlzLmdldEN1cnJlbnRTdHlsZVByb3BlcnRpZXMoKS5sZW5ndGg+MDtkZWZhdWx0OnJldHVybiEwfX1nZXRDdXJyZW50U3R5bGVQcm9wZXJ0aWVzKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX2N1cnJlbnRLZXlmcmFtZSl9Z2V0IGN1cnJlbnRUaW1lKCl7cmV0dXJuIHRoaXMuc3RhcnRUaW1lK3RoaXMuZHVyYXRpb259ZGVsYXlOZXh0U3RlcCh0KXtjb25zdCBlPTE9PXRoaXMuX2tleWZyYW1lcy5zaXplJiZPYmplY3Qua2V5cyh0aGlzLl9wZW5kaW5nU3R5bGVzKS5sZW5ndGg7dGhpcy5kdXJhdGlvbnx8ZT8odGhpcy5mb3J3YXJkVGltZSh0aGlzLmN1cnJlbnRUaW1lK3QpLGUmJnRoaXMuc25hcHNob3RDdXJyZW50U3R5bGVzKCkpOnRoaXMuc3RhcnRUaW1lKz10fWZvcmsodCxlKXtyZXR1cm4gdGhpcy5hcHBseVN0eWxlc1RvS2V5ZnJhbWUoKSxuZXcgS1AodGhpcy5fZHJpdmVyLHQsZXx8dGhpcy5jdXJyZW50VGltZSx0aGlzLl9lbGVtZW50VGltZWxpbmVTdHlsZXNMb29rdXApfV9sb2FkS2V5ZnJhbWUoKXt0aGlzLl9jdXJyZW50S2V5ZnJhbWUmJih0aGlzLl9wcmV2aW91c0tleWZyYW1lPXRoaXMuX2N1cnJlbnRLZXlmcmFtZSksdGhpcy5fY3VycmVudEtleWZyYW1lPXRoaXMuX2tleWZyYW1lcy5nZXQodGhpcy5kdXJhdGlvbiksdGhpcy5fY3VycmVudEtleWZyYW1lfHwodGhpcy5fY3VycmVudEtleWZyYW1lPU9iamVjdC5jcmVhdGUodGhpcy5fYmFja0ZpbGwse30pLHRoaXMuX2tleWZyYW1lcy5zZXQodGhpcy5kdXJhdGlvbix0aGlzLl9jdXJyZW50S2V5ZnJhbWUpKX1mb3J3YXJkRnJhbWUoKXt0aGlzLmR1cmF0aW9uKz0xLHRoaXMuX2xvYWRLZXlmcmFtZSgpfWZvcndhcmRUaW1lKHQpe3RoaXMuYXBwbHlTdHlsZXNUb0tleWZyYW1lKCksdGhpcy5kdXJhdGlvbj10LHRoaXMuX2xvYWRLZXlmcmFtZSgpfV91cGRhdGVTdHlsZSh0LGUpe3RoaXMuX2xvY2FsVGltZWxpbmVTdHlsZXNbdF09ZSx0aGlzLl9nbG9iYWxUaW1lbGluZVN0eWxlc1t0XT1lLHRoaXMuX3N0eWxlU3VtbWFyeVt0XT17dGltZTp0aGlzLmN1cnJlbnRUaW1lLHZhbHVlOmV9fWFsbG93T25seVRpbWVsaW5lU3R5bGVzKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRFbXB0eVN0ZXBLZXlmcmFtZSE9PXRoaXMuX2N1cnJlbnRLZXlmcmFtZX1hcHBseUVtcHR5U3RlcCh0KXt0JiYodGhpcy5fcHJldmlvdXNLZXlmcmFtZS5lYXNpbmc9dCksT2JqZWN0LmtleXModGhpcy5fZ2xvYmFsVGltZWxpbmVTdHlsZXMpLmZvckVhY2goKHQ9Pnt0aGlzLl9iYWNrRmlsbFt0XT10aGlzLl9nbG9iYWxUaW1lbGluZVN0eWxlc1t0XXx8dk8sdGhpcy5fY3VycmVudEtleWZyYW1lW3RdPXZPfSkpLHRoaXMuX2N1cnJlbnRFbXB0eVN0ZXBLZXlmcmFtZT10aGlzLl9jdXJyZW50S2V5ZnJhbWV9c2V0U3R5bGVzKHQsZSxuLG8pe2UmJih0aGlzLl9wcmV2aW91c0tleWZyYW1lLmVhc2luZz1lKTtjb25zdCBpPW8mJm8ucGFyYW1zfHx7fSxhPShmdW5jdGlvbiByKHQsZSl7Y29uc3Qgbj17fTtsZXQgbztyZXR1cm4gdC5mb3JFYWNoKCh0PT57IioiPT09dD8obz1vfHxPYmplY3Qua2V5cyhlKSxvLmZvckVhY2goKHQ9PntuW3RdPXZPfSkpKTpmUCh0LCExLG4pfSkpLG59Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykodCx0aGlzLl9nbG9iYWxUaW1lbGluZVN0eWxlcyk7T2JqZWN0LmtleXMoYSkuZm9yRWFjaCgodD0+e2NvbnN0IGU9TVAoYVt0XSxpLG4pO3RoaXMuX3BlbmRpbmdTdHlsZXNbdF09ZSx0aGlzLl9sb2NhbFRpbWVsaW5lU3R5bGVzLmhhc093blByb3BlcnR5KHQpfHwodGhpcy5fYmFja0ZpbGxbdF09dGhpcy5fZ2xvYmFsVGltZWxpbmVTdHlsZXMuaGFzT3duUHJvcGVydHkodCk/dGhpcy5fZ2xvYmFsVGltZWxpbmVTdHlsZXNbdF06dk8pLHRoaXMuX3VwZGF0ZVN0eWxlKHQsZSl9KSl9YXBwbHlTdHlsZXNUb0tleWZyYW1lKCl7Y29uc3QgdD10aGlzLl9wZW5kaW5nU3R5bGVzLGU9T2JqZWN0LmtleXModCk7MCE9ZS5sZW5ndGgmJih0aGlzLl9wZW5kaW5nU3R5bGVzPXt9LGUuZm9yRWFjaCgoZT0+e3RoaXMuX2N1cnJlbnRLZXlmcmFtZVtlXT10W2VdfSkpLE9iamVjdC5rZXlzKHRoaXMuX2xvY2FsVGltZWxpbmVTdHlsZXMpLmZvckVhY2goKHQ9Pnt0aGlzLl9jdXJyZW50S2V5ZnJhbWUuaGFzT3duUHJvcGVydHkodCl8fCh0aGlzLl9jdXJyZW50S2V5ZnJhbWVbdF09dGhpcy5fbG9jYWxUaW1lbGluZVN0eWxlc1t0XSl9KSkpfXNuYXBzaG90Q3VycmVudFN0eWxlcygpe09iamVjdC5rZXlzKHRoaXMuX2xvY2FsVGltZWxpbmVTdHlsZXMpLmZvckVhY2goKHQ9Pntjb25zdCBlPXRoaXMuX2xvY2FsVGltZWxpbmVTdHlsZXNbdF07dGhpcy5fcGVuZGluZ1N0eWxlc1t0XT1lLHRoaXMuX3VwZGF0ZVN0eWxlKHQsZSl9KSl9Z2V0RmluYWxLZXlmcmFtZSgpe3JldHVybiB0aGlzLl9rZXlmcmFtZXMuZ2V0KHRoaXMuZHVyYXRpb24pfWdldCBwcm9wZXJ0aWVzKCl7Y29uc3QgdD1bXTtmb3IobGV0IGUgaW4gdGhpcy5fY3VycmVudEtleWZyYW1lKXQucHVzaChlKTtyZXR1cm4gdH1tZXJnZVRpbWVsaW5lQ29sbGVjdGVkU3R5bGVzKHQpe09iamVjdC5rZXlzKHQuX3N0eWxlU3VtbWFyeSkuZm9yRWFjaCgoZT0+e2NvbnN0IG49dGhpcy5fc3R5bGVTdW1tYXJ5W2VdLG89dC5fc3R5bGVTdW1tYXJ5W2VdOyghbnx8by50aW1lPm4udGltZSkmJnRoaXMuX3VwZGF0ZVN0eWxlKGUsby52YWx1ZSl9KSl9YnVpbGRLZXlmcmFtZXMoKXt0aGlzLmFwcGx5U3R5bGVzVG9LZXlmcmFtZSgpO2NvbnN0IHQ9bmV3IFNldCxlPW5ldyBTZXQsbj0xPT09dGhpcy5fa2V5ZnJhbWVzLnNpemUmJjA9PT10aGlzLmR1cmF0aW9uO2xldCBvPVtdO3RoaXMuX2tleWZyYW1lcy5mb3JFYWNoKCgoaSxhKT0+e2NvbnN0IHI9ZlAoaSwhMCk7T2JqZWN0LmtleXMocikuZm9yRWFjaCgobj0+e2NvbnN0IG89cltuXTsiISI9PW8/dC5hZGQobik6bz09dk8mJmUuYWRkKG4pfSkpLG58fChyLm9mZnNldD1hL3RoaXMuZHVyYXRpb24pLG8ucHVzaChyKX0pKTtjb25zdCBpPXQuc2l6ZT92UCh0LnZhbHVlcygpKTpbXSxhPWUuc2l6ZT92UChlLnZhbHVlcygpKTpbXTtpZihuKXtjb25zdCB0PW9bMF0sZT1tUCh0KTt0Lm9mZnNldD0wLGUub2Zmc2V0PTEsbz1bdCxlXX1yZXR1cm4galAodGhpcy5lbGVtZW50LG8saSxhLHRoaXMuZHVyYXRpb24sdGhpcy5zdGFydFRpbWUsdGhpcy5lYXNpbmcsITEpfX1jbGFzcyBKUCBleHRlbmRzIEtQe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHI9ITEpe3N1cGVyKHQsZSxhLmRlbGF5KSx0aGlzLmtleWZyYW1lcz1uLHRoaXMucHJlU3R5bGVQcm9wcz1vLHRoaXMucG9zdFN0eWxlUHJvcHM9aSx0aGlzLl9zdHJldGNoU3RhcnRpbmdLZXlmcmFtZT1yLHRoaXMudGltaW5ncz17ZHVyYXRpb246YS5kdXJhdGlvbixkZWxheTphLmRlbGF5LGVhc2luZzphLmVhc2luZ319Y29udGFpbnNBbmltYXRpb24oKXtyZXR1cm4gdGhpcy5rZXlmcmFtZXMubGVuZ3RoPjF9YnVpbGRLZXlmcmFtZXMoKXtsZXQgdD10aGlzLmtleWZyYW1lcyx7ZGVsYXk6ZSxkdXJhdGlvbjpuLGVhc2luZzpvfT10aGlzLnRpbWluZ3M7aWYodGhpcy5fc3RyZXRjaFN0YXJ0aW5nS2V5ZnJhbWUmJmUpe2NvbnN0IGk9W10sYT1uK2Uscj1lL2Escz1mUCh0WzBdLCExKTtzLm9mZnNldD0wLGkucHVzaChzKTtjb25zdCBsPWZQKHRbMF0sITEpO2wub2Zmc2V0PVFQKHIpLGkucHVzaChsKTtjb25zdCBjPXQubGVuZ3RoLTE7Zm9yKGxldCBvPTE7bzw9YztvKyspe2xldCByPWZQKHRbb10sITEpO3Iub2Zmc2V0PVFQKChlK3Iub2Zmc2V0Km4pL2EpLGkucHVzaChyKX1uPWEsZT0wLG89IiIsdD1pfXJldHVybiBqUCh0aGlzLmVsZW1lbnQsdCx0aGlzLnByZVN0eWxlUHJvcHMsdGhpcy5wb3N0U3R5bGVQcm9wcyxuLGUsbywhMCl9fWZ1bmN0aW9uIFFQKHQsZT0zKXtjb25zdCBuPU1hdGgucG93KDEwLGUtMSk7cmV0dXJuIE1hdGgucm91bmQodCpuKS9ufWNsYXNzICRQe30KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgdHcgZXh0ZW5kcyAkUHtub3JtYWxpemVQcm9wZXJ0eU5hbWUodCxlKXtyZXR1cm4gT1AodCl9bm9ybWFsaXplU3R5bGVWYWx1ZSh0LGUsbixvKXtsZXQgaT0iIjtjb25zdCBhPW4udG9TdHJpbmcoKS50cmltKCk7aWYoZXdbZV0mJjAhPT1uJiYiMCIhPT1uKWlmKCJudW1iZXIiPT10eXBlb2YgbilpPSJweCI7ZWxzZXtjb25zdCBlPW4ubWF0Y2goL15bKy1dP1tcZFwuXSsoW2Etel0qKSQvKTtlJiYwPT1lWzFdLmxlbmd0aCYmby5wdXNoKGBQbGVhc2UgcHJvdmlkZSBhIENTUyB1bml0IHZhbHVlIGZvciAke3R9OiR7bn1gKX1yZXR1cm4gYStpfX1jb25zdCBldz0oZnVuY3Rpb24gbncodCl7Y29uc3QgZT17fTtyZXR1cm4gdC5mb3JFYWNoKCh0PT5lW3RdPSEwKSksZX0pKCJ3aWR0aCxoZWlnaHQsbWluV2lkdGgsbWluSGVpZ2h0LG1heFdpZHRoLG1heEhlaWdodCxsZWZ0LHRvcCxib3R0b20scmlnaHQsZm9udFNpemUsb3V0bGluZVdpZHRoLG91dGxpbmVPZmZzZXQscGFkZGluZ1RvcCxwYWRkaW5nTGVmdCxwYWRkaW5nQm90dG9tLHBhZGRpbmdSaWdodCxtYXJnaW5Ub3AsbWFyZ2luTGVmdCxtYXJnaW5Cb3R0b20sbWFyZ2luUmlnaHQsYm9yZGVyUmFkaXVzLGJvcmRlcldpZHRoLGJvcmRlclRvcFdpZHRoLGJvcmRlckxlZnRXaWR0aCxib3JkZXJSaWdodFdpZHRoLGJvcmRlckJvdHRvbVdpZHRoLHRleHRJbmRlbnQscGVyc3BlY3RpdmUiLnNwbGl0KCIsIikpO2Z1bmN0aW9uIG93KHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0pe3JldHVybnt0eXBlOjAsZWxlbWVudDp0LHRyaWdnZXJOYW1lOmUsaXNSZW1vdmFsVHJhbnNpdGlvbjppLGZyb21TdGF0ZTpuLGZyb21TdHlsZXM6YSx0b1N0YXRlOm8sdG9TdHlsZXM6cix0aW1lbGluZXM6cyxxdWVyaWVkRWxlbWVudHM6bCxwcmVTdHlsZVByb3BzOmMscG9zdFN0eWxlUHJvcHM6ZCx0b3RhbFRpbWU6cCxlcnJvcnM6bX19Y29uc3QgaXc9e307Y2xhc3MgYXd7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuX3RyaWdnZXJOYW1lPXQsdGhpcy5hc3Q9ZSx0aGlzLl9zdGF0ZVN0eWxlcz1ufW1hdGNoKHQsZSxuLG8pe3JldHVybihmdW5jdGlvbiBpKHQsZSxuLG8sYSl7cmV0dXJuIHQuc29tZSgodD0+dChlLG4sbyxhKSkpfSkodGhpcy5hc3QubWF0Y2hlcnMsdCxlLG4sbyl9YnVpbGRTdHlsZXModCxlLG4pe2NvbnN0IG89dGhpcy5fc3RhdGVTdHlsZXNbIioiXSxpPXRoaXMuX3N0YXRlU3R5bGVzW3RdLGE9bz9vLmJ1aWxkU3R5bGVzKGUsbik6e307cmV0dXJuIGk/aS5idWlsZFN0eWxlcyhlLG4pOmF9YnVpbGQodCxlLG4sbyxpLGEscixzLGwsYyl7Y29uc3QgZD1bXSxwPXRoaXMuYXN0Lm9wdGlvbnMmJnRoaXMuYXN0Lm9wdGlvbnMucGFyYW1zfHxpdyxtPXRoaXMuYnVpbGRTdHlsZXMobixyJiZyLnBhcmFtc3x8aXcsZCksZj1zJiZzLnBhcmFtc3x8aXcsdT10aGlzLmJ1aWxkU3R5bGVzKG8sZixkKSxnPW5ldyBTZXQsaD1uZXcgTWFwLGI9bmV3IE1hcCx5PSJ2b2lkIj09PW8sXz17cGFyYW1zOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxwKSxmKX0sQz1jP1tdOllQKHQsZSx0aGlzLmFzdC5hbmltYXRpb24saSxhLG0sdSxfLGwsZCk7bGV0IE09MDtpZihDLmZvckVhY2goKHQ9PntNPU1hdGgubWF4KHQuZHVyYXRpb24rdC5kZWxheSxNKX0pKSxkLmxlbmd0aClyZXR1cm4gb3coZSx0aGlzLl90cmlnZ2VyTmFtZSxuLG8seSxtLHUsW10sW10saCxiLE0sZCk7Qy5mb3JFYWNoKCh0PT57Y29uc3Qgbj10LmVsZW1lbnQsbz1qTyhoLG4se30pO3QucHJlU3R5bGVQcm9wcy5mb3JFYWNoKCh0PT5vW3RdPSEwKSk7Y29uc3QgaT1qTyhiLG4se30pO3QucG9zdFN0eWxlUHJvcHMuZm9yRWFjaCgodD0+aVt0XT0hMCkpLG4hPT1lJiZnLmFkZChuKX0pKTtjb25zdCB2PXZQKGcudmFsdWVzKCkpO3JldHVybiBvdyhlLHRoaXMuX3RyaWdnZXJOYW1lLG4sbyx5LG0sdSxDLHYsaCxiLE0pfX1jbGFzcyByd3tjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5zdHlsZXM9dCx0aGlzLmRlZmF1bHRQYXJhbXM9ZSx0aGlzLm5vcm1hbGl6ZXI9bn1idWlsZFN0eWxlcyh0LGUpe2NvbnN0IG49e30sbz1tUCh0aGlzLmRlZmF1bHRQYXJhbXMpO3JldHVybiBPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChlPT57Y29uc3Qgbj10W2VdO251bGwhPW4mJihvW2VdPW4pfSkpLHRoaXMuc3R5bGVzLnN0eWxlcy5mb3JFYWNoKCh0PT57aWYoInN0cmluZyIhPXR5cGVvZiB0KXtjb25zdCBpPXQ7T2JqZWN0LmtleXMoaSkuZm9yRWFjaCgodD0+e2xldCBhPWlbdF07YS5sZW5ndGg+MSYmKGE9TVAoYSxvLGUpKTtjb25zdCByPXRoaXMubm9ybWFsaXplci5ub3JtYWxpemVQcm9wZXJ0eU5hbWUodCxlKTthPXRoaXMubm9ybWFsaXplci5ub3JtYWxpemVTdHlsZVZhbHVlKHQscixhLGUpLG5bcl09YX0pKX19KSksbn19Y2xhc3Mgc3d7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMubmFtZT10LHRoaXMuYXN0PWUsdGhpcy5fbm9ybWFsaXplcj1uLHRoaXMudHJhbnNpdGlvbkZhY3Rvcmllcz1bXSx0aGlzLnN0YXRlcz17fSxlLnN0YXRlcy5mb3JFYWNoKCh0PT57dGhpcy5zdGF0ZXNbdC5uYW1lXT1uZXcgcncodC5zdHlsZSx0Lm9wdGlvbnMmJnQub3B0aW9ucy5wYXJhbXN8fHt9LG4pfSkpLGx3KHRoaXMuc3RhdGVzLCJ0cnVlIiwiMSIpLGx3KHRoaXMuc3RhdGVzLCJmYWxzZSIsIjAiKSxlLnRyYW5zaXRpb25zLmZvckVhY2goKGU9Pnt0aGlzLnRyYW5zaXRpb25GYWN0b3JpZXMucHVzaChuZXcgYXcodCxlLHRoaXMuc3RhdGVzKSl9KSksdGhpcy5mYWxsYmFja1RyYW5zaXRpb249KGZ1bmN0aW9uIG8odCxlLG4pe3JldHVybiBuZXcgYXcodCx7dHlwZToxLGFuaW1hdGlvbjp7dHlwZToyLHN0ZXBzOltdLG9wdGlvbnM6bnVsbH0sbWF0Y2hlcnM6Wyh0LGUpPT4hMF0sb3B0aW9uczpudWxsLHF1ZXJ5Q291bnQ6MCxkZXBDb3VudDowfSxlKX0pKHQsdGhpcy5zdGF0ZXMpfWdldCBjb250YWluc1F1ZXJpZXMoKXtyZXR1cm4gdGhpcy5hc3QucXVlcnlDb3VudD4wfW1hdGNoVHJhbnNpdGlvbih0LGUsbixvKXtyZXR1cm4gdGhpcy50cmFuc2l0aW9uRmFjdG9yaWVzLmZpbmQoKGk9PmkubWF0Y2godCxlLG4sbykpKXx8bnVsbH1tYXRjaFN0eWxlcyh0LGUsbil7cmV0dXJuIHRoaXMuZmFsbGJhY2tUcmFuc2l0aW9uLmJ1aWxkU3R5bGVzKHQsZSxuKX19ZnVuY3Rpb24gbHcodCxlLG4pe3QuaGFzT3duUHJvcGVydHkoZSk/dC5oYXNPd25Qcm9wZXJ0eShuKXx8KHRbbl09dFtlXSk6dC5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbZV09dFtuXSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IGN3PW5ldyBVUDtjbGFzcyBkd3tjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5ib2R5Tm9kZT10LHRoaXMuX2RyaXZlcj1lLHRoaXMuX25vcm1hbGl6ZXI9bix0aGlzLl9hbmltYXRpb25zPXt9LHRoaXMuX3BsYXllcnNCeUlkPXt9LHRoaXMucGxheWVycz1bXX1yZWdpc3Rlcih0LGUpe2NvbnN0IG49W10sbz1JUCh0aGlzLl9kcml2ZXIsZSxuKTtpZihuLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBidWlsZCB0aGUgYW5pbWF0aW9uIGR1ZSB0byB0aGUgZm9sbG93aW5nIGVycm9yczogJHtuLmpvaW4oIlxuIil9YCk7dGhpcy5fYW5pbWF0aW9uc1t0XT1vfV9idWlsZFBsYXllcih0LGUsbil7Y29uc3Qgbz10LmVsZW1lbnQsaT1GTygwLHRoaXMuX25vcm1hbGl6ZXIsMCx0LmtleWZyYW1lcyxlLG4pO3JldHVybiB0aGlzLl9kcml2ZXIuYW5pbWF0ZShvLGksdC5kdXJhdGlvbix0LmRlbGF5LHQuZWFzaW5nLFtdLCEwKX1jcmVhdGUodCxlLG49e30pe2NvbnN0IG89W10saT10aGlzLl9hbmltYXRpb25zW3RdO2xldCBhO2NvbnN0IHI9bmV3IE1hcDtpZihpPyhhPVlQKHRoaXMuX2RyaXZlcixlLGksb1AsaVAse30se30sbixjdyxvKSxhLmZvckVhY2goKHQ9Pntjb25zdCBlPWpPKHIsdC5lbGVtZW50LHt9KTt0LnBvc3RTdHlsZVByb3BzLmZvckVhY2goKHQ9PmVbdF09bnVsbCkpfSkpKTooby5wdXNoKCJUaGUgcmVxdWVzdGVkIGFuaW1hdGlvbiBkb2Vzbid0IGV4aXN0IG9yIGhhcyBhbHJlYWR5IGJlZW4gZGVzdHJveWVkIiksYT1bXSksby5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gY3JlYXRlIHRoZSBhbmltYXRpb24gZHVlIHRvIHRoZSBmb2xsb3dpbmcgZXJyb3JzOiAke28uam9pbigiXG4iKX1gKTtyLmZvckVhY2goKCh0LGUpPT57T2JqZWN0LmtleXModCkuZm9yRWFjaCgobj0+e3Rbbl09dGhpcy5fZHJpdmVyLmNvbXB1dGVTdHlsZShlLG4sdk8pfSkpfSkpO2NvbnN0IHM9SE8oYS5tYXAoKHQ9Pntjb25zdCBlPXIuZ2V0KHQuZWxlbWVudCk7cmV0dXJuIHRoaXMuX2J1aWxkUGxheWVyKHQse30sZSl9KSkpO3JldHVybiB0aGlzLl9wbGF5ZXJzQnlJZFt0XT1zLHMub25EZXN0cm95KCgoKT0+dGhpcy5kZXN0cm95KHQpKSksdGhpcy5wbGF5ZXJzLnB1c2gocyksc31kZXN0cm95KHQpe2NvbnN0IGU9dGhpcy5fZ2V0UGxheWVyKHQpO2UuZGVzdHJveSgpLGRlbGV0ZSB0aGlzLl9wbGF5ZXJzQnlJZFt0XTtjb25zdCBuPXRoaXMucGxheWVycy5pbmRleE9mKGUpO24+PTAmJnRoaXMucGxheWVycy5zcGxpY2UobiwxKX1fZ2V0UGxheWVyKHQpe2NvbnN0IGU9dGhpcy5fcGxheWVyc0J5SWRbdF07aWYoIWUpdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gZmluZCB0aGUgdGltZWxpbmUgcGxheWVyIHJlZmVyZW5jZWQgYnkgJHt0fWApO3JldHVybiBlfWxpc3Rlbih0LGUsbixvKXtjb25zdCBpPVZPKGUsIiIsIiIsIiIpO3JldHVybiBMTyh0aGlzLl9nZXRQbGF5ZXIodCksbixpLG8pLCgpPT57fX1jb21tYW5kKHQsZSxuLG8pe2lmKCJyZWdpc3RlciI9PW4pcmV0dXJuIHZvaWQgdGhpcy5yZWdpc3Rlcih0LG9bMF0pO2lmKCJjcmVhdGUiPT1uKXtyZXR1cm4gdm9pZCB0aGlzLmNyZWF0ZSh0LGUsb1swXXx8e30pfWNvbnN0IGk9dGhpcy5fZ2V0UGxheWVyKHQpO3N3aXRjaChuKXtjYXNlInBsYXkiOmkucGxheSgpO2JyZWFrO2Nhc2UicGF1c2UiOmkucGF1c2UoKTticmVhaztjYXNlInJlc2V0IjppLnJlc2V0KCk7YnJlYWs7Y2FzZSJyZXN0YXJ0IjppLnJlc3RhcnQoKTticmVhaztjYXNlImZpbmlzaCI6aS5maW5pc2goKTticmVhaztjYXNlImluaXQiOmkuaW5pdCgpO2JyZWFrO2Nhc2Uic2V0UG9zaXRpb24iOmkuc2V0UG9zaXRpb24ocGFyc2VGbG9hdChvWzBdKSk7YnJlYWs7Y2FzZSJkZXN0cm95Ijp0aGlzLmRlc3Ryb3kodCl9fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgcHc9Im5nLWFuaW1hdGUtcXVldWVkIixtdz0ibmctYW5pbWF0ZS1kaXNhYmxlZCIsZnc9Ii5uZy1hbmltYXRlLWRpc2FibGVkIix1dz1bXSxndz17bmFtZXNwYWNlSWQ6IiIsc2V0Rm9yUmVtb3ZhbDohMSxzZXRGb3JNb3ZlOiExLGhhc0FuaW1hdGlvbjohMSxyZW1vdmVkQmVmb3JlUXVlcmllZDohMX0saHc9e25hbWVzcGFjZUlkOiIiLHNldEZvck1vdmU6ITEsc2V0Rm9yUmVtb3ZhbDohMSxoYXNBbmltYXRpb246ITEscmVtb3ZlZEJlZm9yZVF1ZXJpZWQ6ITB9O2NsYXNzIGJ3e2NvbnN0cnVjdG9yKHQsZT0iIil7dGhpcy5uYW1lc3BhY2VJZD1lO2NvbnN0IG49dCYmdC5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKTtpZih0aGlzLnZhbHVlPShmdW5jdGlvbiBvKHQpe3JldHVybiBudWxsIT10P3Q6bnVsbH0pKG4/dC52YWx1ZTp0KSxuKXtjb25zdCBlPW1QKHQpO2RlbGV0ZSBlLnZhbHVlLHRoaXMub3B0aW9ucz1lfWVsc2UgdGhpcy5vcHRpb25zPXt9O3RoaXMub3B0aW9ucy5wYXJhbXN8fCh0aGlzLm9wdGlvbnMucGFyYW1zPXt9KX1nZXQgcGFyYW1zKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5wYXJhbXN9YWJzb3JiT3B0aW9ucyh0KXtjb25zdCBlPXQucGFyYW1zO2lmKGUpe2NvbnN0IHQ9dGhpcy5vcHRpb25zLnBhcmFtcztPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChuPT57bnVsbD09dFtuXSYmKHRbbl09ZVtuXSl9KSl9fX1jb25zdCB5dz0idm9pZCIsX3c9bmV3IGJ3KHl3KTtjbGFzcyBDd3tjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5pZD10LHRoaXMuaG9zdEVsZW1lbnQ9ZSx0aGlzLl9lbmdpbmU9bix0aGlzLnBsYXllcnM9W10sdGhpcy5fdHJpZ2dlcnM9e30sdGhpcy5fcXVldWU9W10sdGhpcy5fZWxlbWVudExpc3RlbmVycz1uZXcgTWFwLHRoaXMuX2hvc3RDbGFzc05hbWU9Im5nLXRucy0iK3Qsa3coZSx0aGlzLl9ob3N0Q2xhc3NOYW1lKX1saXN0ZW4odCxlLG4sbyl7aWYoIXRoaXMuX3RyaWdnZXJzLmhhc093blByb3BlcnR5KGUpKXRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGxpc3RlbiBvbiB0aGUgYW5pbWF0aW9uIHRyaWdnZXIgZXZlbnQgIiR7bn0iIGJlY2F1c2UgdGhlIGFuaW1hdGlvbiB0cmlnZ2VyICIke2V9IiBkb2Vzbid0IGV4aXN0IWApO2lmKG51bGw9PW58fDA9PW4ubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGxpc3RlbiBvbiB0aGUgYW5pbWF0aW9uIHRyaWdnZXIgIiR7ZX0iIGJlY2F1c2UgdGhlIHByb3ZpZGVkIGV2ZW50IGlzIHVuZGVmaW5lZCFgKTtpZighKGZ1bmN0aW9uIGkodCl7cmV0dXJuInN0YXJ0Ij09dHx8ImRvbmUiPT10fSkobikpdGhyb3cgbmV3IEVycm9yKGBUaGUgcHJvdmlkZWQgYW5pbWF0aW9uIHRyaWdnZXIgZXZlbnQgIiR7bn0iIGZvciB0aGUgYW5pbWF0aW9uIHRyaWdnZXIgIiR7ZX0iIGlzIG5vdCBzdXBwb3J0ZWQhYCk7Y29uc3QgYT1qTyh0aGlzLl9lbGVtZW50TGlzdGVuZXJzLHQsW10pLHI9e25hbWU6ZSxwaGFzZTpuLGNhbGxiYWNrOm99O2EucHVzaChyKTtjb25zdCBzPWpPKHRoaXMuX2VuZ2luZS5zdGF0ZXNCeUVsZW1lbnQsdCx7fSk7cmV0dXJuIHMuaGFzT3duUHJvcGVydHkoZSl8fChrdyh0LGFQKSxrdyh0LCJuZy10cmlnZ2VyLSIrZSksc1tlXT1fdyksKCk9Pnt0aGlzLl9lbmdpbmUuYWZ0ZXJGbHVzaCgoKCk9Pntjb25zdCB0PWEuaW5kZXhPZihyKTt0Pj0wJiZhLnNwbGljZSh0LDEpLHRoaXMuX3RyaWdnZXJzW2VdfHxkZWxldGUgc1tlXX0pKX19cmVnaXN0ZXIodCxlKXtyZXR1cm4hdGhpcy5fdHJpZ2dlcnNbdF0mJih0aGlzLl90cmlnZ2Vyc1t0XT1lLCEwKX1fZ2V0VHJpZ2dlcih0KXtjb25zdCBlPXRoaXMuX3RyaWdnZXJzW3RdO2lmKCFlKXRocm93IG5ldyBFcnJvcihgVGhlIHByb3ZpZGVkIGFuaW1hdGlvbiB0cmlnZ2VyICIke3R9IiBoYXMgbm90IGJlZW4gcmVnaXN0ZXJlZCFgKTtyZXR1cm4gZX10cmlnZ2VyKHQsZSxuLG89ITApe2NvbnN0IGk9dGhpcy5fZ2V0VHJpZ2dlcihlKSxhPW5ldyB2dyh0aGlzLmlkLGUsdCk7bGV0IHI9dGhpcy5fZW5naW5lLnN0YXRlc0J5RWxlbWVudC5nZXQodCk7cnx8KGt3KHQsYVApLGt3KHQsIm5nLXRyaWdnZXItIitlKSx0aGlzLl9lbmdpbmUuc3RhdGVzQnlFbGVtZW50LnNldCh0LHI9e30pKTtsZXQgcz1yW2VdO2NvbnN0IGw9bmV3IGJ3KG4sdGhpcy5pZCk7IShuJiZuLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpKSYmcyYmbC5hYnNvcmJPcHRpb25zKHMub3B0aW9ucykscltlXT1sLHN8fChzPV93KTtpZighKGwudmFsdWU9PT15dykmJnMudmFsdWU9PT1sLnZhbHVlKXtpZighKGZ1bmN0aW9uIGUodCxuKXtjb25zdCBvPU9iamVjdC5rZXlzKHQpLGk9T2JqZWN0LmtleXMobik7aWYoby5sZW5ndGghPWkubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgZT0wO2U8by5sZW5ndGg7ZSsrKXtjb25zdCBpPW9bZV07aWYoIW4uaGFzT3duUHJvcGVydHkoaSl8fHRbaV0hPT1uW2ldKXJldHVybiExfXJldHVybiEwfSkocy5wYXJhbXMsbC5wYXJhbXMpKXtjb25zdCBlPVtdLG49aS5tYXRjaFN0eWxlcyhzLnZhbHVlLHMucGFyYW1zLGUpLG89aS5tYXRjaFN0eWxlcyhsLnZhbHVlLGwucGFyYW1zLGUpO2UubGVuZ3RoP3RoaXMuX2VuZ2luZS5yZXBvcnRFcnJvcihlKTp0aGlzLl9lbmdpbmUuYWZ0ZXJGbHVzaCgoKCk9PntiUCh0LG4pLGhQKHQsbyl9KSl9cmV0dXJufWNvbnN0IGM9ak8odGhpcy5fZW5naW5lLnBsYXllcnNCeUVsZW1lbnQsdCxbXSk7Yy5mb3JFYWNoKCh0PT57dC5uYW1lc3BhY2VJZD09dGhpcy5pZCYmdC50cmlnZ2VyTmFtZT09ZSYmdC5xdWV1ZWQmJnQuZGVzdHJveSgpfSkpO2xldCBkPWkubWF0Y2hUcmFuc2l0aW9uKHMudmFsdWUsbC52YWx1ZSx0LGwucGFyYW1zKSxwPSExO2lmKCFkKXtpZighbylyZXR1cm47ZD1pLmZhbGxiYWNrVHJhbnNpdGlvbixwPSEwfXJldHVybiB0aGlzLl9lbmdpbmUudG90YWxRdWV1ZWRQbGF5ZXJzKyssdGhpcy5fcXVldWUucHVzaCh7ZWxlbWVudDp0LHRyaWdnZXJOYW1lOmUsdHJhbnNpdGlvbjpkLGZyb21TdGF0ZTpzLHRvU3RhdGU6bCxwbGF5ZXI6YSxpc0ZhbGxiYWNrVHJhbnNpdGlvbjpwfSkscHx8KGt3KHQscHcpLGEub25TdGFydCgoKCk9PntTdyh0LHB3KX0pKSksYS5vbkRvbmUoKCgpPT57bGV0IGU9dGhpcy5wbGF5ZXJzLmluZGV4T2YoYSk7ZT49MCYmdGhpcy5wbGF5ZXJzLnNwbGljZShlLDEpO2NvbnN0IG49dGhpcy5fZW5naW5lLnBsYXllcnNCeUVsZW1lbnQuZ2V0KHQpO2lmKG4pe2xldCB0PW4uaW5kZXhPZihhKTt0Pj0wJiZuLnNwbGljZSh0LDEpfX0pKSx0aGlzLnBsYXllcnMucHVzaChhKSxjLnB1c2goYSksYX1kZXJlZ2lzdGVyKHQpe2RlbGV0ZSB0aGlzLl90cmlnZ2Vyc1t0XSx0aGlzLl9lbmdpbmUuc3RhdGVzQnlFbGVtZW50LmZvckVhY2goKChlLG4pPT57ZGVsZXRlIGVbdF19KSksdGhpcy5fZWxlbWVudExpc3RlbmVycy5mb3JFYWNoKCgoZSxuKT0+e3RoaXMuX2VsZW1lbnRMaXN0ZW5lcnMuc2V0KG4sZS5maWx0ZXIoKGU9PmUubmFtZSE9dCkpKX0pKX1jbGVhckVsZW1lbnRDYWNoZSh0KXt0aGlzLl9lbmdpbmUuc3RhdGVzQnlFbGVtZW50LmRlbGV0ZSh0KSx0aGlzLl9lbGVtZW50TGlzdGVuZXJzLmRlbGV0ZSh0KTtjb25zdCBlPXRoaXMuX2VuZ2luZS5wbGF5ZXJzQnlFbGVtZW50LmdldCh0KTtlJiYoZS5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX2VuZ2luZS5wbGF5ZXJzQnlFbGVtZW50LmRlbGV0ZSh0KSl9X3NpZ25hbFJlbW92YWxGb3JJbm5lclRyaWdnZXJzKHQsZSl7Y29uc3Qgbj10aGlzLl9lbmdpbmUuZHJpdmVyLnF1ZXJ5KHQsclAsITApO24uZm9yRWFjaCgodD0+e2lmKHQuX19uZ19yZW1vdmVkKXJldHVybjtjb25zdCBuPXRoaXMuX2VuZ2luZS5mZXRjaE5hbWVzcGFjZXNCeUVsZW1lbnQodCk7bi5zaXplP24uZm9yRWFjaCgobj0+bi50cmlnZ2VyTGVhdmVBbmltYXRpb24odCxlLCExLCEwKSkpOnRoaXMuY2xlYXJFbGVtZW50Q2FjaGUodCl9KSksdGhpcy5fZW5naW5lLmFmdGVyRmx1c2hBbmltYXRpb25zRG9uZSgoKCk9Pm4uZm9yRWFjaCgodD0+dGhpcy5jbGVhckVsZW1lbnRDYWNoZSh0KSkpKSl9dHJpZ2dlckxlYXZlQW5pbWF0aW9uKHQsZSxuLG8pe2NvbnN0IGk9dGhpcy5fZW5naW5lLnN0YXRlc0J5RWxlbWVudC5nZXQodCk7aWYoaSl7Y29uc3QgYT1bXTtpZihPYmplY3Qua2V5cyhpKS5mb3JFYWNoKChlPT57aWYodGhpcy5fdHJpZ2dlcnNbZV0pe2NvbnN0IG49dGhpcy50cmlnZ2VyKHQsZSx5dyxvKTtuJiZhLnB1c2gobil9fSkpLGEubGVuZ3RoKXJldHVybiB0aGlzLl9lbmdpbmUubWFya0VsZW1lbnRBc1JlbW92ZWQodGhpcy5pZCx0LCEwLGUpLG4mJkhPKGEpLm9uRG9uZSgoKCk9PnRoaXMuX2VuZ2luZS5wcm9jZXNzTGVhdmVOb2RlKHQpKSksITB9cmV0dXJuITF9cHJlcGFyZUxlYXZlQW5pbWF0aW9uTGlzdGVuZXJzKHQpe2NvbnN0IGU9dGhpcy5fZWxlbWVudExpc3RlbmVycy5nZXQodCksbj10aGlzLl9lbmdpbmUuc3RhdGVzQnlFbGVtZW50LmdldCh0KTtpZihlJiZuKXtjb25zdCBvPW5ldyBTZXQ7ZS5mb3JFYWNoKChlPT57Y29uc3QgaT1lLm5hbWU7aWYoby5oYXMoaSkpcmV0dXJuO28uYWRkKGkpO2NvbnN0IGE9dGhpcy5fdHJpZ2dlcnNbaV0uZmFsbGJhY2tUcmFuc2l0aW9uLHI9bltpXXx8X3cscz1uZXcgYncoeXcpLGw9bmV3IHZ3KHRoaXMuaWQsaSx0KTt0aGlzLl9lbmdpbmUudG90YWxRdWV1ZWRQbGF5ZXJzKyssdGhpcy5fcXVldWUucHVzaCh7ZWxlbWVudDp0LHRyaWdnZXJOYW1lOmksdHJhbnNpdGlvbjphLGZyb21TdGF0ZTpyLHRvU3RhdGU6cyxwbGF5ZXI6bCxpc0ZhbGxiYWNrVHJhbnNpdGlvbjohMH0pfSkpfX1yZW1vdmVOb2RlKHQsZSl7Y29uc3Qgbj10aGlzLl9lbmdpbmU7aWYodC5jaGlsZEVsZW1lbnRDb3VudCYmdGhpcy5fc2lnbmFsUmVtb3ZhbEZvcklubmVyVHJpZ2dlcnModCxlKSx0aGlzLnRyaWdnZXJMZWF2ZUFuaW1hdGlvbih0LGUsITApKXJldHVybjtsZXQgbz0hMTtpZihuLnRvdGFsQW5pbWF0aW9ucyl7Y29uc3QgZT1uLnBsYXllcnMubGVuZ3RoP24ucGxheWVyc0J5UXVlcmllZEVsZW1lbnQuZ2V0KHQpOltdO2lmKGUmJmUubGVuZ3RoKW89ITA7ZWxzZXtsZXQgZT10O2Zvcig7ZT1lLnBhcmVudE5vZGU7KXtpZihuLnN0YXRlc0J5RWxlbWVudC5nZXQoZSkpe289ITA7YnJlYWt9fX19aWYodGhpcy5wcmVwYXJlTGVhdmVBbmltYXRpb25MaXN0ZW5lcnModCksbyluLm1hcmtFbGVtZW50QXNSZW1vdmVkKHRoaXMuaWQsdCwhMSxlKTtlbHNle2NvbnN0IG89dC5fX25nX3JlbW92ZWQ7byYmbyE9PWd3fHwobi5hZnRlckZsdXNoKCgoKT0+dGhpcy5jbGVhckVsZW1lbnRDYWNoZSh0KSkpLG4uZGVzdHJveUlubmVyQW5pbWF0aW9ucyh0KSxuLl9vblJlbW92YWxDb21wbGV0ZSh0LGUpKX19aW5zZXJ0Tm9kZSh0LGUpe2t3KHQsdGhpcy5faG9zdENsYXNzTmFtZSl9ZHJhaW5RdWV1ZWRUcmFuc2l0aW9ucyh0KXtjb25zdCBlPVtdO3JldHVybiB0aGlzLl9xdWV1ZS5mb3JFYWNoKChuPT57Y29uc3Qgbz1uLnBsYXllcjtpZihvLmRlc3Ryb3llZClyZXR1cm47Y29uc3QgaT1uLmVsZW1lbnQsYT10aGlzLl9lbGVtZW50TGlzdGVuZXJzLmdldChpKTthJiZhLmZvckVhY2goKGU9PntpZihlLm5hbWU9PW4udHJpZ2dlck5hbWUpe2NvbnN0IG89Vk8oaSxuLnRyaWdnZXJOYW1lLG4uZnJvbVN0YXRlLnZhbHVlLG4udG9TdGF0ZS52YWx1ZSk7by5fZGF0YT10LExPKG4ucGxheWVyLGUucGhhc2UsbyxlLmNhbGxiYWNrKX19KSksby5tYXJrZWRGb3JEZXN0cm95P3RoaXMuX2VuZ2luZS5hZnRlckZsdXNoKCgoKT0+e28uZGVzdHJveSgpfSkpOmUucHVzaChuKX0pKSx0aGlzLl9xdWV1ZT1bXSxlLnNvcnQoKCh0LGUpPT57Y29uc3Qgbj10LnRyYW5zaXRpb24uYXN0LmRlcENvdW50LG89ZS50cmFuc2l0aW9uLmFzdC5kZXBDb3VudDtyZXR1cm4gMD09bnx8MD09bz9uLW86dGhpcy5fZW5naW5lLmRyaXZlci5jb250YWluc0VsZW1lbnQodC5lbGVtZW50LGUuZWxlbWVudCk/MTotMX0pKX1kZXN0cm95KHQpe3RoaXMucGxheWVycy5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX3NpZ25hbFJlbW92YWxGb3JJbm5lclRyaWdnZXJzKHRoaXMuaG9zdEVsZW1lbnQsdCl9ZWxlbWVudENvbnRhaW5zRGF0YSh0KXtsZXQgZT0hMTtyZXR1cm4gdGhpcy5fZWxlbWVudExpc3RlbmVycy5oYXModCkmJihlPSEwKSxlPSEhdGhpcy5fcXVldWUuZmluZCgoZT0+ZS5lbGVtZW50PT09dCkpfHxlLGV9fWNsYXNzIE13e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmJvZHlOb2RlPXQsdGhpcy5kcml2ZXI9ZSx0aGlzLl9ub3JtYWxpemVyPW4sdGhpcy5wbGF5ZXJzPVtdLHRoaXMubmV3SG9zdEVsZW1lbnRzPW5ldyBNYXAsdGhpcy5wbGF5ZXJzQnlFbGVtZW50PW5ldyBNYXAsdGhpcy5wbGF5ZXJzQnlRdWVyaWVkRWxlbWVudD1uZXcgTWFwLHRoaXMuc3RhdGVzQnlFbGVtZW50PW5ldyBNYXAsdGhpcy5kaXNhYmxlZE5vZGVzPW5ldyBTZXQsdGhpcy50b3RhbEFuaW1hdGlvbnM9MCx0aGlzLnRvdGFsUXVldWVkUGxheWVycz0wLHRoaXMuX25hbWVzcGFjZUxvb2t1cD17fSx0aGlzLl9uYW1lc3BhY2VMaXN0PVtdLHRoaXMuX2ZsdXNoRm5zPVtdLHRoaXMuX3doZW5RdWlldEZucz1bXSx0aGlzLm5hbWVzcGFjZXNCeUhvc3RFbGVtZW50PW5ldyBNYXAsdGhpcy5jb2xsZWN0ZWRFbnRlckVsZW1lbnRzPVtdLHRoaXMuY29sbGVjdGVkTGVhdmVFbGVtZW50cz1bXSx0aGlzLm9uUmVtb3ZhbENvbXBsZXRlPSh0LGUpPT57fX1fb25SZW1vdmFsQ29tcGxldGUodCxlKXt0aGlzLm9uUmVtb3ZhbENvbXBsZXRlKHQsZSl9Z2V0IHF1ZXVlZFBsYXllcnMoKXtjb25zdCB0PVtdO3JldHVybiB0aGlzLl9uYW1lc3BhY2VMaXN0LmZvckVhY2goKGU9PntlLnBsYXllcnMuZm9yRWFjaCgoZT0+e2UucXVldWVkJiZ0LnB1c2goZSl9KSl9KSksdH1jcmVhdGVOYW1lc3BhY2UodCxlKXtjb25zdCBuPW5ldyBDdyh0LGUsdGhpcyk7cmV0dXJuIHRoaXMuYm9keU5vZGUmJnRoaXMuZHJpdmVyLmNvbnRhaW5zRWxlbWVudCh0aGlzLmJvZHlOb2RlLGUpP3RoaXMuX2JhbGFuY2VOYW1lc3BhY2VMaXN0KG4sZSk6KHRoaXMubmV3SG9zdEVsZW1lbnRzLnNldChlLG4pLHRoaXMuY29sbGVjdEVudGVyRWxlbWVudChlKSksdGhpcy5fbmFtZXNwYWNlTG9va3VwW3RdPW59X2JhbGFuY2VOYW1lc3BhY2VMaXN0KHQsZSl7Y29uc3Qgbj10aGlzLl9uYW1lc3BhY2VMaXN0Lmxlbmd0aC0xO2lmKG4+PTApe2xldCBvPSExO2ZvcihsZXQgaT1uO2k+PTA7aS0tKXtpZih0aGlzLmRyaXZlci5jb250YWluc0VsZW1lbnQodGhpcy5fbmFtZXNwYWNlTGlzdFtpXS5ob3N0RWxlbWVudCxlKSl7dGhpcy5fbmFtZXNwYWNlTGlzdC5zcGxpY2UoaSsxLDAsdCksbz0hMDticmVha319b3x8dGhpcy5fbmFtZXNwYWNlTGlzdC5zcGxpY2UoMCwwLHQpfWVsc2UgdGhpcy5fbmFtZXNwYWNlTGlzdC5wdXNoKHQpO3JldHVybiB0aGlzLm5hbWVzcGFjZXNCeUhvc3RFbGVtZW50LnNldChlLHQpLHR9cmVnaXN0ZXIodCxlKXtsZXQgbj10aGlzLl9uYW1lc3BhY2VMb29rdXBbdF07cmV0dXJuIG58fChuPXRoaXMuY3JlYXRlTmFtZXNwYWNlKHQsZSkpLG59cmVnaXN0ZXJUcmlnZ2VyKHQsZSxuKXtsZXQgbz10aGlzLl9uYW1lc3BhY2VMb29rdXBbdF07byYmby5yZWdpc3RlcihlLG4pJiZ0aGlzLnRvdGFsQW5pbWF0aW9ucysrfWRlc3Ryb3kodCxlKXtpZighdClyZXR1cm47Y29uc3Qgbj10aGlzLl9mZXRjaE5hbWVzcGFjZSh0KTt0aGlzLmFmdGVyRmx1c2goKCgpPT57dGhpcy5uYW1lc3BhY2VzQnlIb3N0RWxlbWVudC5kZWxldGUobi5ob3N0RWxlbWVudCksZGVsZXRlIHRoaXMuX25hbWVzcGFjZUxvb2t1cFt0XTtjb25zdCBlPXRoaXMuX25hbWVzcGFjZUxpc3QuaW5kZXhPZihuKTtlPj0wJiZ0aGlzLl9uYW1lc3BhY2VMaXN0LnNwbGljZShlLDEpfSkpLHRoaXMuYWZ0ZXJGbHVzaEFuaW1hdGlvbnNEb25lKCgoKT0+bi5kZXN0cm95KGUpKSl9X2ZldGNoTmFtZXNwYWNlKHQpe3JldHVybiB0aGlzLl9uYW1lc3BhY2VMb29rdXBbdF19ZmV0Y2hOYW1lc3BhY2VzQnlFbGVtZW50KHQpe2NvbnN0IGU9bmV3IFNldCxuPXRoaXMuc3RhdGVzQnlFbGVtZW50LmdldCh0KTtpZihuKXtjb25zdCB0PU9iamVjdC5rZXlzKG4pO2ZvcihsZXQgbz0wO288dC5sZW5ndGg7bysrKXtjb25zdCBpPW5bdFtvXV0ubmFtZXNwYWNlSWQ7aWYoaSl7Y29uc3QgdD10aGlzLl9mZXRjaE5hbWVzcGFjZShpKTt0JiZlLmFkZCh0KX19fXJldHVybiBlfXRyaWdnZXIodCxlLG4sbyl7aWYoeHcoZSkpe2NvbnN0IGk9dGhpcy5fZmV0Y2hOYW1lc3BhY2UodCk7aWYoaSlyZXR1cm4gaS50cmlnZ2VyKGUsbixvKSwhMH1yZXR1cm4hMX1pbnNlcnROb2RlKHQsZSxuLG8pe2lmKCF4dyhlKSlyZXR1cm47Y29uc3QgaT1lLl9fbmdfcmVtb3ZlZDtpZihpJiZpLnNldEZvclJlbW92YWwpe2kuc2V0Rm9yUmVtb3ZhbD0hMSxpLnNldEZvck1vdmU9ITA7Y29uc3QgdD10aGlzLmNvbGxlY3RlZExlYXZlRWxlbWVudHMuaW5kZXhPZihlKTt0Pj0wJiZ0aGlzLmNvbGxlY3RlZExlYXZlRWxlbWVudHMuc3BsaWNlKHQsMSl9aWYodCl7Y29uc3Qgbz10aGlzLl9mZXRjaE5hbWVzcGFjZSh0KTtvJiZvLmluc2VydE5vZGUoZSxuKX1vJiZ0aGlzLmNvbGxlY3RFbnRlckVsZW1lbnQoZSl9Y29sbGVjdEVudGVyRWxlbWVudCh0KXt0aGlzLmNvbGxlY3RlZEVudGVyRWxlbWVudHMucHVzaCh0KX1tYXJrRWxlbWVudEFzRGlzYWJsZWQodCxlKXtlP3RoaXMuZGlzYWJsZWROb2Rlcy5oYXModCl8fCh0aGlzLmRpc2FibGVkTm9kZXMuYWRkKHQpLGt3KHQsbXcpKTp0aGlzLmRpc2FibGVkTm9kZXMuaGFzKHQpJiYodGhpcy5kaXNhYmxlZE5vZGVzLmRlbGV0ZSh0KSxTdyh0LG13KSl9cmVtb3ZlTm9kZSh0LGUsbixvKXtpZih4dyhlKSl7Y29uc3QgaT10P3RoaXMuX2ZldGNoTmFtZXNwYWNlKHQpOm51bGw7aWYoaT9pLnJlbW92ZU5vZGUoZSxvKTp0aGlzLm1hcmtFbGVtZW50QXNSZW1vdmVkKHQsZSwhMSxvKSxuKXtjb25zdCBuPXRoaXMubmFtZXNwYWNlc0J5SG9zdEVsZW1lbnQuZ2V0KGUpO24mJm4uaWQhPT10JiZuLnJlbW92ZU5vZGUoZSxvKX19ZWxzZSB0aGlzLl9vblJlbW92YWxDb21wbGV0ZShlLG8pfW1hcmtFbGVtZW50QXNSZW1vdmVkKHQsZSxuLG8pe3RoaXMuY29sbGVjdGVkTGVhdmVFbGVtZW50cy5wdXNoKGUpLGUuX19uZ19yZW1vdmVkPXtuYW1lc3BhY2VJZDp0LHNldEZvclJlbW92YWw6byxoYXNBbmltYXRpb246bixyZW1vdmVkQmVmb3JlUXVlcmllZDohMX19bGlzdGVuKHQsZSxuLG8saSl7cmV0dXJuIHh3KGUpP3RoaXMuX2ZldGNoTmFtZXNwYWNlKHQpLmxpc3RlbihlLG4sbyxpKTooKT0+e319X2J1aWxkSW5zdHJ1Y3Rpb24odCxlLG4sbyxpKXtyZXR1cm4gdC50cmFuc2l0aW9uLmJ1aWxkKHRoaXMuZHJpdmVyLHQuZWxlbWVudCx0LmZyb21TdGF0ZS52YWx1ZSx0LnRvU3RhdGUudmFsdWUsbixvLHQuZnJvbVN0YXRlLm9wdGlvbnMsdC50b1N0YXRlLm9wdGlvbnMsZSxpKX1kZXN0cm95SW5uZXJBbmltYXRpb25zKHQpe2xldCBlPXRoaXMuZHJpdmVyLnF1ZXJ5KHQsclAsITApO2UuZm9yRWFjaCgodD0+dGhpcy5kZXN0cm95QWN0aXZlQW5pbWF0aW9uc0ZvckVsZW1lbnQodCkpKSwwIT10aGlzLnBsYXllcnNCeVF1ZXJpZWRFbGVtZW50LnNpemUmJihlPXRoaXMuZHJpdmVyLnF1ZXJ5KHQsbFAsITApLGUuZm9yRWFjaCgodD0+dGhpcy5maW5pc2hBY3RpdmVRdWVyaWVkQW5pbWF0aW9uT25FbGVtZW50KHQpKSkpfWRlc3Ryb3lBY3RpdmVBbmltYXRpb25zRm9yRWxlbWVudCh0KXtjb25zdCBlPXRoaXMucGxheWVyc0J5RWxlbWVudC5nZXQodCk7ZSYmZS5mb3JFYWNoKCh0PT57dC5xdWV1ZWQ/dC5tYXJrZWRGb3JEZXN0cm95PSEwOnQuZGVzdHJveSgpfSkpfWZpbmlzaEFjdGl2ZVF1ZXJpZWRBbmltYXRpb25PbkVsZW1lbnQodCl7Y29uc3QgZT10aGlzLnBsYXllcnNCeVF1ZXJpZWRFbGVtZW50LmdldCh0KTtlJiZlLmZvckVhY2goKHQ9PnQuZmluaXNoKCkpKX13aGVuUmVuZGVyaW5nRG9uZSgpe3JldHVybiBuZXcgUHJvbWlzZSgodD0+e2lmKHRoaXMucGxheWVycy5sZW5ndGgpcmV0dXJuIEhPKHRoaXMucGxheWVycykub25Eb25lKCgoKT0+dCgpKSk7dCgpfSkpfXByb2Nlc3NMZWF2ZU5vZGUodCl7Y29uc3QgZT10Ll9fbmdfcmVtb3ZlZDtpZihlJiZlLnNldEZvclJlbW92YWwpe2lmKHQuX19uZ19yZW1vdmVkPWd3LGUubmFtZXNwYWNlSWQpe3RoaXMuZGVzdHJveUlubmVyQW5pbWF0aW9ucyh0KTtjb25zdCBuPXRoaXMuX2ZldGNoTmFtZXNwYWNlKGUubmFtZXNwYWNlSWQpO24mJm4uY2xlYXJFbGVtZW50Q2FjaGUodCl9dGhpcy5fb25SZW1vdmFsQ29tcGxldGUodCxlLnNldEZvclJlbW92YWwpfXRoaXMuZHJpdmVyLm1hdGNoZXNFbGVtZW50KHQsZncpJiZ0aGlzLm1hcmtFbGVtZW50QXNEaXNhYmxlZCh0LCExKSx0aGlzLmRyaXZlci5xdWVyeSh0LGZ3LCEwKS5mb3JFYWNoKCh0PT57dGhpcy5tYXJrRWxlbWVudEFzRGlzYWJsZWQodCwhMSl9KSl9Zmx1c2godD0tMSl7bGV0IGU9W107aWYodGhpcy5uZXdIb3N0RWxlbWVudHMuc2l6ZSYmKHRoaXMubmV3SG9zdEVsZW1lbnRzLmZvckVhY2goKCh0LGUpPT50aGlzLl9iYWxhbmNlTmFtZXNwYWNlTGlzdCh0LGUpKSksdGhpcy5uZXdIb3N0RWxlbWVudHMuY2xlYXIoKSksdGhpcy50b3RhbEFuaW1hdGlvbnMmJnRoaXMuY29sbGVjdGVkRW50ZXJFbGVtZW50cy5sZW5ndGgpZm9yKGxldCB0PTA7dDx0aGlzLmNvbGxlY3RlZEVudGVyRWxlbWVudHMubGVuZ3RoO3QrKyl7a3codGhpcy5jb2xsZWN0ZWRFbnRlckVsZW1lbnRzW3RdLCJuZy1zdGFyLWluc2VydGVkIil9aWYodGhpcy5fbmFtZXNwYWNlTGlzdC5sZW5ndGgmJih0aGlzLnRvdGFsUXVldWVkUGxheWVyc3x8dGhpcy5jb2xsZWN0ZWRMZWF2ZUVsZW1lbnRzLmxlbmd0aCkpe2NvbnN0IG49W107dHJ5e2U9dGhpcy5fZmx1c2hBbmltYXRpb25zKG4sdCl9ZmluYWxseXtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyluW3RdKCl9fWVsc2UgZm9yKGxldCB0PTA7dDx0aGlzLmNvbGxlY3RlZExlYXZlRWxlbWVudHMubGVuZ3RoO3QrKyl7dGhpcy5wcm9jZXNzTGVhdmVOb2RlKHRoaXMuY29sbGVjdGVkTGVhdmVFbGVtZW50c1t0XSl9aWYodGhpcy50b3RhbFF1ZXVlZFBsYXllcnM9MCx0aGlzLmNvbGxlY3RlZEVudGVyRWxlbWVudHMubGVuZ3RoPTAsdGhpcy5jb2xsZWN0ZWRMZWF2ZUVsZW1lbnRzLmxlbmd0aD0wLHRoaXMuX2ZsdXNoRm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX2ZsdXNoRm5zPVtdLHRoaXMuX3doZW5RdWlldEZucy5sZW5ndGgpe2NvbnN0IHQ9dGhpcy5fd2hlblF1aWV0Rm5zO3RoaXMuX3doZW5RdWlldEZucz1bXSxlLmxlbmd0aD9ITyhlKS5vbkRvbmUoKCgpPT57dC5mb3JFYWNoKCh0PT50KCkpKX0pKTp0LmZvckVhY2goKHQ9PnQoKSkpfX1yZXBvcnRFcnJvcih0KXt0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBwcm9jZXNzIGFuaW1hdGlvbnMgZHVlIHRvIHRoZSBmb2xsb3dpbmcgZmFpbGVkIHRyaWdnZXIgdHJhbnNpdGlvbnNcbiAke3Quam9pbigiXG4iKX1gKX1fZmx1c2hBbmltYXRpb25zKHQsZSl7Y29uc3Qgbj1uZXcgVVAsbz1bXSxpPW5ldyBNYXAsYT1bXSxyPW5ldyBNYXAscz1uZXcgTWFwLGw9bmV3IE1hcCxjPW5ldyBTZXQ7dGhpcy5kaXNhYmxlZE5vZGVzLmZvckVhY2goKHQ9PntjLmFkZCh0KTtjb25zdCBlPXRoaXMuZHJpdmVyLnF1ZXJ5KHQsIi5uZy1hbmltYXRlLXF1ZXVlZCIsITApO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWMuYWRkKGVbdF0pfSkpO2NvbnN0IGQ9dGhpcy5ib2R5Tm9kZSxwPUFycmF5LmZyb20odGhpcy5zdGF0ZXNCeUVsZW1lbnQua2V5cygpKSxtPXd3KHAsdGhpcy5jb2xsZWN0ZWRFbnRlckVsZW1lbnRzKSxmPW5ldyBNYXA7bGV0IHU9MDttLmZvckVhY2goKCh0LGUpPT57Y29uc3Qgbj1vUCt1Kys7Zi5zZXQoZSxuKSx0LmZvckVhY2goKHQ9Pmt3KHQsbikpKX0pKTtjb25zdCBnPVtdLGg9bmV3IFNldCxiPW5ldyBTZXQ7Zm9yKGxldCB0PTA7dDx0aGlzLmNvbGxlY3RlZExlYXZlRWxlbWVudHMubGVuZ3RoO3QrKyl7Y29uc3QgZT10aGlzLmNvbGxlY3RlZExlYXZlRWxlbWVudHNbdF0sbj1lLl9fbmdfcmVtb3ZlZDtuJiZuLnNldEZvclJlbW92YWwmJihnLnB1c2goZSksaC5hZGQoZSksbi5oYXNBbmltYXRpb24/dGhpcy5kcml2ZXIucXVlcnkoZSwiLm5nLXN0YXItaW5zZXJ0ZWQiLCEwKS5mb3JFYWNoKCh0PT5oLmFkZCh0KSkpOmIuYWRkKGUpKX1jb25zdCB5PW5ldyBNYXAsXz13dyhwLEFycmF5LmZyb20oaCkpO18uZm9yRWFjaCgoKHQsZSk9Pntjb25zdCBuPWlQK3UrKzt5LnNldChlLG4pLHQuZm9yRWFjaCgodD0+a3codCxuKSkpfSkpLHQucHVzaCgoKCk9PnttLmZvckVhY2goKCh0LGUpPT57Y29uc3Qgbj1mLmdldChlKTt0LmZvckVhY2goKHQ9PlN3KHQsbikpKX0pKSxfLmZvckVhY2goKCh0LGUpPT57Y29uc3Qgbj15LmdldChlKTt0LmZvckVhY2goKHQ9PlN3KHQsbikpKX0pKSxnLmZvckVhY2goKHQ9Pnt0aGlzLnByb2Nlc3NMZWF2ZU5vZGUodCl9KSl9KSk7Y29uc3QgQz1bXSxNPVtdO2ZvcihsZXQgdD10aGlzLl9uYW1lc3BhY2VMaXN0Lmxlbmd0aC0xO3Q+PTA7dC0tKXt0aGlzLl9uYW1lc3BhY2VMaXN0W3RdLmRyYWluUXVldWVkVHJhbnNpdGlvbnMoZSkuZm9yRWFjaCgodD0+e2NvbnN0IGU9dC5wbGF5ZXIsaT10LmVsZW1lbnQ7aWYoQy5wdXNoKGUpLHRoaXMuY29sbGVjdGVkRW50ZXJFbGVtZW50cy5sZW5ndGgpe2NvbnN0IHQ9aS5fX25nX3JlbW92ZWQ7aWYodCYmdC5zZXRGb3JNb3ZlKXJldHVybiB2b2lkIGUuZGVzdHJveSgpfWNvbnN0IGM9IWR8fCF0aGlzLmRyaXZlci5jb250YWluc0VsZW1lbnQoZCxpKSxwPXkuZ2V0KGkpLG09Zi5nZXQoaSksdT10aGlzLl9idWlsZEluc3RydWN0aW9uKHQsbixtLHAsYyk7aWYodS5lcnJvcnMmJnUuZXJyb3JzLmxlbmd0aClyZXR1cm4gdm9pZCBNLnB1c2godSk7aWYoYylyZXR1cm4gZS5vblN0YXJ0KCgoKT0+YlAoaSx1LmZyb21TdHlsZXMpKSksZS5vbkRlc3Ryb3koKCgpPT5oUChpLHUudG9TdHlsZXMpKSksdm9pZCBvLnB1c2goZSk7aWYodC5pc0ZhbGxiYWNrVHJhbnNpdGlvbilyZXR1cm4gZS5vblN0YXJ0KCgoKT0+YlAoaSx1LmZyb21TdHlsZXMpKSksZS5vbkRlc3Ryb3koKCgpPT5oUChpLHUudG9TdHlsZXMpKSksdm9pZCBvLnB1c2goZSk7dS50aW1lbGluZXMuZm9yRWFjaCgodD0+dC5zdHJldGNoU3RhcnRpbmdLZXlmcmFtZT0hMCkpLG4uYXBwZW5kKGksdS50aW1lbGluZXMpO2EucHVzaCh7aW5zdHJ1Y3Rpb246dSxwbGF5ZXI6ZSxlbGVtZW50Oml9KSx1LnF1ZXJpZWRFbGVtZW50cy5mb3JFYWNoKCh0PT5qTyhyLHQsW10pLnB1c2goZSkpKSx1LnByZVN0eWxlUHJvcHMuZm9yRWFjaCgoKHQsZSk9Pntjb25zdCBuPU9iamVjdC5rZXlzKHQpO2lmKG4ubGVuZ3RoKXtsZXQgdD1zLmdldChlKTt0fHxzLnNldChlLHQ9bmV3IFNldCksbi5mb3JFYWNoKChlPT50LmFkZChlKSkpfX0pKSx1LnBvc3RTdHlsZVByb3BzLmZvckVhY2goKCh0LGUpPT57Y29uc3Qgbj1PYmplY3Qua2V5cyh0KTtsZXQgbz1sLmdldChlKTtvfHxsLnNldChlLG89bmV3IFNldCksbi5mb3JFYWNoKCh0PT5vLmFkZCh0KSkpfSkpfSkpfWlmKE0ubGVuZ3RoKXtjb25zdCB0PVtdO00uZm9yRWFjaCgoZT0+e3QucHVzaChgQCR7ZS50cmlnZ2VyTmFtZX0gaGFzIGZhaWxlZCBkdWUgdG86XG5gKSxlLmVycm9ycy5mb3JFYWNoKChlPT50LnB1c2goYC0gJHtlfVxuYCkpKX0pKSxDLmZvckVhY2goKHQ9PnQuZGVzdHJveSgpKSksdGhpcy5yZXBvcnRFcnJvcih0KX1jb25zdCB2PW5ldyBNYXAseD1uZXcgTWFwO2EuZm9yRWFjaCgodD0+e2NvbnN0IGU9dC5lbGVtZW50O24uaGFzKGUpJiYoeC5zZXQoZSxlKSx0aGlzLl9iZWZvcmVBbmltYXRpb25CdWlsZCh0LnBsYXllci5uYW1lc3BhY2VJZCx0Lmluc3RydWN0aW9uLHYpKX0pKSxvLmZvckVhY2goKHQ9Pntjb25zdCBlPXQuZWxlbWVudDt0aGlzLl9nZXRQcmV2aW91c1BsYXllcnMoZSwhMSx0Lm5hbWVzcGFjZUlkLHQudHJpZ2dlck5hbWUsbnVsbCkuZm9yRWFjaCgodD0+e2pPKHYsZSxbXSkucHVzaCh0KSx0LmRlc3Ryb3koKX0pKX0pKTtjb25zdCBPPWcuZmlsdGVyKCh0PT5Fdyh0LHMsbCkpKSxQPW5ldyBNYXA7UHcoUCx0aGlzLmRyaXZlcixiLGwsdk8pLmZvckVhY2goKHQ9PntFdyh0LHMsbCkmJk8ucHVzaCh0KX0pKTtjb25zdCB3PW5ldyBNYXA7bS5mb3JFYWNoKCgodCxlKT0+e1B3KHcsdGhpcy5kcml2ZXIsbmV3IFNldCh0KSxzLCIhIil9KSksTy5mb3JFYWNoKCh0PT57Y29uc3QgZT1QLmdldCh0KSxuPXcuZ2V0KHQpO1Auc2V0KHQsT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGUpLG4pKX0pKTtjb25zdCBrPVtdLFM9W10sRD17fTthLmZvckVhY2goKHQ9Pntjb25zdHtlbGVtZW50OmUscGxheWVyOmEsaW5zdHJ1Y3Rpb246cn09dDtpZihuLmhhcyhlKSl7aWYoYy5oYXMoZSkpcmV0dXJuIGEub25EZXN0cm95KCgoKT0+aFAoZSxyLnRvU3R5bGVzKSkpLGEuZGlzYWJsZWQ9ITAsYS5vdmVycmlkZVRvdGFsVGltZShyLnRvdGFsVGltZSksdm9pZCBvLnB1c2goYSk7bGV0IHQ9RDtpZih4LnNpemU+MSl7bGV0IG49ZTtjb25zdCBvPVtdO2Zvcig7bj1uLnBhcmVudE5vZGU7KXtjb25zdCBlPXguZ2V0KG4pO2lmKGUpe3Q9ZTticmVha31vLnB1c2gobil9by5mb3JFYWNoKChlPT54LnNldChlLHQpKSl9Y29uc3Qgbj10aGlzLl9idWlsZEFuaW1hdGlvbihhLm5hbWVzcGFjZUlkLHIsdixpLHcsUCk7aWYoYS5zZXRSZWFsUGxheWVyKG4pLHQ9PT1EKWsucHVzaChhKTtlbHNle2NvbnN0IGU9dGhpcy5wbGF5ZXJzQnlFbGVtZW50LmdldCh0KTtlJiZlLmxlbmd0aCYmKGEucGFyZW50UGxheWVyPUhPKGUpKSxvLnB1c2goYSl9fWVsc2UgYlAoZSxyLmZyb21TdHlsZXMpLGEub25EZXN0cm95KCgoKT0+aFAoZSxyLnRvU3R5bGVzKSkpLFMucHVzaChhKSxjLmhhcyhlKSYmby5wdXNoKGEpfSkpLFMuZm9yRWFjaCgodD0+e2NvbnN0IGU9aS5nZXQodC5lbGVtZW50KTtpZihlJiZlLmxlbmd0aCl7Y29uc3Qgbj1ITyhlKTt0LnNldFJlYWxQbGF5ZXIobil9fSkpLG8uZm9yRWFjaCgodD0+e3QucGFyZW50UGxheWVyP3Quc3luY1BsYXllckV2ZW50cyh0LnBhcmVudFBsYXllcik6dC5kZXN0cm95KCl9KSk7Zm9yKGxldCB0PTA7dDxnLmxlbmd0aDt0Kyspe2NvbnN0IGU9Z1t0XSxuPWUuX19uZ19yZW1vdmVkO2lmKFN3KGUsaVApLG4mJm4uaGFzQW5pbWF0aW9uKWNvbnRpbnVlO2xldCBvPVtdO2lmKHIuc2l6ZSl7bGV0IHQ9ci5nZXQoZSk7dCYmdC5sZW5ndGgmJm8ucHVzaCguLi50KTtsZXQgbj10aGlzLmRyaXZlci5xdWVyeShlLGxQLCEwKTtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyl7bGV0IGU9ci5nZXQoblt0XSk7ZSYmZS5sZW5ndGgmJm8ucHVzaCguLi5lKX19Y29uc3QgaT1vLmZpbHRlcigodD0+IXQuZGVzdHJveWVkKSk7aS5sZW5ndGg/RHcodGhpcyxlLGkpOnRoaXMucHJvY2Vzc0xlYXZlTm9kZShlKX1yZXR1cm4gZy5sZW5ndGg9MCxrLmZvckVhY2goKHQ9Pnt0aGlzLnBsYXllcnMucHVzaCh0KSx0Lm9uRG9uZSgoKCk9Pnt0LmRlc3Ryb3koKTtjb25zdCBlPXRoaXMucGxheWVycy5pbmRleE9mKHQpO3RoaXMucGxheWVycy5zcGxpY2UoZSwxKX0pKSx0LnBsYXkoKX0pKSxrfWVsZW1lbnRDb250YWluc0RhdGEodCxlKXtsZXQgbj0hMTtjb25zdCBvPWUuX19uZ19yZW1vdmVkO3JldHVybiBvJiZvLnNldEZvclJlbW92YWwmJihuPSEwKSx0aGlzLnBsYXllcnNCeUVsZW1lbnQuaGFzKGUpJiYobj0hMCksdGhpcy5wbGF5ZXJzQnlRdWVyaWVkRWxlbWVudC5oYXMoZSkmJihuPSEwKSx0aGlzLnN0YXRlc0J5RWxlbWVudC5oYXMoZSkmJihuPSEwKSx0aGlzLl9mZXRjaE5hbWVzcGFjZSh0KS5lbGVtZW50Q29udGFpbnNEYXRhKGUpfHxufWFmdGVyRmx1c2godCl7dGhpcy5fZmx1c2hGbnMucHVzaCh0KX1hZnRlckZsdXNoQW5pbWF0aW9uc0RvbmUodCl7dGhpcy5fd2hlblF1aWV0Rm5zLnB1c2godCl9X2dldFByZXZpb3VzUGxheWVycyh0LGUsbixvLGkpe2xldCBhPVtdO2lmKGUpe2NvbnN0IGU9dGhpcy5wbGF5ZXJzQnlRdWVyaWVkRWxlbWVudC5nZXQodCk7ZSYmKGE9ZSl9ZWxzZXtjb25zdCBlPXRoaXMucGxheWVyc0J5RWxlbWVudC5nZXQodCk7aWYoZSl7Y29uc3QgdD0haXx8aT09eXc7ZS5mb3JFYWNoKChlPT57ZS5xdWV1ZWR8fCh0fHxlLnRyaWdnZXJOYW1lPT1vKSYmYS5wdXNoKGUpfSkpfX1yZXR1cm4obnx8bykmJihhPWEuZmlsdGVyKCh0PT4oIW58fG49PXQubmFtZXNwYWNlSWQpJiYoIW98fG89PXQudHJpZ2dlck5hbWUpKSkpLGF9X2JlZm9yZUFuaW1hdGlvbkJ1aWxkKHQsZSxuKXtjb25zdCBvPWUuZWxlbWVudCxpPWUuaXNSZW1vdmFsVHJhbnNpdGlvbj92b2lkIDA6dCxhPWUuaXNSZW1vdmFsVHJhbnNpdGlvbj92b2lkIDA6ZS50cmlnZ2VyTmFtZTtmb3IoY29uc3QgdCBvZiBlLnRpbWVsaW5lcyl7Y29uc3Qgcj10LmVsZW1lbnQscz1yIT09byxsPWpPKG4scixbXSk7dGhpcy5fZ2V0UHJldmlvdXNQbGF5ZXJzKHIscyxpLGEsZS50b1N0YXRlKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10LmdldFJlYWxQbGF5ZXIoKTtlLmJlZm9yZURlc3Ryb3kmJmUuYmVmb3JlRGVzdHJveSgpLHQuZGVzdHJveSgpLGwucHVzaCh0KX0pKX1iUChvLGUuZnJvbVN0eWxlcyl9X2J1aWxkQW5pbWF0aW9uKHQsZSxuLG8saSxhKXtjb25zdCByPWUudHJpZ2dlck5hbWUscz1lLmVsZW1lbnQsbD1bXSxjPW5ldyBTZXQsZD1uZXcgU2V0LHA9ZS50aW1lbGluZXMubWFwKChlPT57Y29uc3QgcD1lLmVsZW1lbnQ7Yy5hZGQocCk7Y29uc3QgbT1wLl9fbmdfcmVtb3ZlZDtpZihtJiZtLnJlbW92ZWRCZWZvcmVRdWVyaWVkKXJldHVybiBuZXcgVE8oZS5kdXJhdGlvbixlLmRlbGF5KTtjb25zdCBmPXAhPT1zLHU9KGZ1bmN0aW9uIGcodCl7Y29uc3QgZT1bXTtyZXR1cm4gUncodCxlKSxlfSkoKG4uZ2V0KHApfHx1dykubWFwKCh0PT50LmdldFJlYWxQbGF5ZXIoKSkpKS5maWx0ZXIoKHQ9PiEhdC5lbGVtZW50JiZ0LmVsZW1lbnQ9PT1wKSksaD1pLmdldChwKSxiPWEuZ2V0KHApLHk9Rk8oMCx0aGlzLl9ub3JtYWxpemVyLDAsZS5rZXlmcmFtZXMsaCxiKSxfPXRoaXMuX2J1aWxkUGxheWVyKGUseSx1KTtpZihlLnN1YlRpbWVsaW5lJiZvJiZkLmFkZChwKSxmKXtjb25zdCBlPW5ldyB2dyh0LHIscCk7ZS5zZXRSZWFsUGxheWVyKF8pLGwucHVzaChlKX1yZXR1cm4gX30pKTtsLmZvckVhY2goKHQ9PntqTyh0aGlzLnBsYXllcnNCeVF1ZXJpZWRFbGVtZW50LHQuZWxlbWVudCxbXSkucHVzaCh0KSx0Lm9uRG9uZSgoKCk9PihmdW5jdGlvbiBlKHQsbixvKXtsZXQgaTtpZih0IGluc3RhbmNlb2YgTWFwKXtpZihpPXQuZ2V0KG4pLGkpe2lmKGkubGVuZ3RoKXtjb25zdCB0PWkuaW5kZXhPZihvKTtpLnNwbGljZSh0LDEpfTA9PWkubGVuZ3RoJiZ0LmRlbGV0ZShuKX19ZWxzZSBpZihpPXRbbl0saSl7aWYoaS5sZW5ndGgpe2NvbnN0IHQ9aS5pbmRleE9mKG8pO2kuc3BsaWNlKHQsMSl9MD09aS5sZW5ndGgmJmRlbGV0ZSB0W25dfXJldHVybiBpfSkodGhpcy5wbGF5ZXJzQnlRdWVyaWVkRWxlbWVudCx0LmVsZW1lbnQsdCkpKX0pKSxjLmZvckVhY2goKHQ9Pmt3KHQsc1ApKSk7Y29uc3QgbT1ITyhwKTtyZXR1cm4gbS5vbkRlc3Ryb3koKCgpPT57Yy5mb3JFYWNoKCh0PT5Tdyh0LHNQKSkpLGhQKHMsZS50b1N0eWxlcyl9KSksZC5mb3JFYWNoKCh0PT57ak8obyx0LFtdKS5wdXNoKG0pfSkpLG19X2J1aWxkUGxheWVyKHQsZSxuKXtyZXR1cm4gZS5sZW5ndGg+MD90aGlzLmRyaXZlci5hbmltYXRlKHQuZWxlbWVudCxlLHQuZHVyYXRpb24sdC5kZWxheSx0LmVhc2luZyxuKTpuZXcgVE8odC5kdXJhdGlvbix0LmRlbGF5KX19Y2xhc3Mgdnd7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMubmFtZXNwYWNlSWQ9dCx0aGlzLnRyaWdnZXJOYW1lPWUsdGhpcy5lbGVtZW50PW4sdGhpcy5fcGxheWVyPW5ldyBUTyx0aGlzLl9jb250YWluc1JlYWxQbGF5ZXI9ITEsdGhpcy5fcXVldWVkQ2FsbGJhY2tzPXt9LHRoaXMuZGVzdHJveWVkPSExLHRoaXMubWFya2VkRm9yRGVzdHJveT0hMSx0aGlzLmRpc2FibGVkPSExLHRoaXMucXVldWVkPSEwLHRoaXMudG90YWxUaW1lPTB9c2V0UmVhbFBsYXllcih0KXt0aGlzLl9jb250YWluc1JlYWxQbGF5ZXJ8fCh0aGlzLl9wbGF5ZXI9dCxPYmplY3Qua2V5cyh0aGlzLl9xdWV1ZWRDYWxsYmFja3MpLmZvckVhY2goKGU9Pnt0aGlzLl9xdWV1ZWRDYWxsYmFja3NbZV0uZm9yRWFjaCgobj0+TE8odCxlLHZvaWQgMCxuKSkpfSkpLHRoaXMuX3F1ZXVlZENhbGxiYWNrcz17fSx0aGlzLl9jb250YWluc1JlYWxQbGF5ZXI9ITAsdGhpcy5vdmVycmlkZVRvdGFsVGltZSh0LnRvdGFsVGltZSksdGhpcy5xdWV1ZWQ9ITEpfWdldFJlYWxQbGF5ZXIoKXtyZXR1cm4gdGhpcy5fcGxheWVyfW92ZXJyaWRlVG90YWxUaW1lKHQpe3RoaXMudG90YWxUaW1lPXR9c3luY1BsYXllckV2ZW50cyh0KXtjb25zdCBlPXRoaXMuX3BsYXllcjtlLnRyaWdnZXJDYWxsYmFjayYmdC5vblN0YXJ0KCgoKT0+ZS50cmlnZ2VyQ2FsbGJhY2soInN0YXJ0IikpKSx0Lm9uRG9uZSgoKCk9PnRoaXMuZmluaXNoKCkpKSx0Lm9uRGVzdHJveSgoKCk9PnRoaXMuZGVzdHJveSgpKSl9X3F1ZXVlRXZlbnQodCxlKXtqTyh0aGlzLl9xdWV1ZWRDYWxsYmFja3MsdCxbXSkucHVzaChlKX1vbkRvbmUodCl7dGhpcy5xdWV1ZWQmJnRoaXMuX3F1ZXVlRXZlbnQoImRvbmUiLHQpLHRoaXMuX3BsYXllci5vbkRvbmUodCl9b25TdGFydCh0KXt0aGlzLnF1ZXVlZCYmdGhpcy5fcXVldWVFdmVudCgic3RhcnQiLHQpLHRoaXMuX3BsYXllci5vblN0YXJ0KHQpfW9uRGVzdHJveSh0KXt0aGlzLnF1ZXVlZCYmdGhpcy5fcXVldWVFdmVudCgiZGVzdHJveSIsdCksdGhpcy5fcGxheWVyLm9uRGVzdHJveSh0KX1pbml0KCl7dGhpcy5fcGxheWVyLmluaXQoKX1oYXNTdGFydGVkKCl7cmV0dXJuIXRoaXMucXVldWVkJiZ0aGlzLl9wbGF5ZXIuaGFzU3RhcnRlZCgpfXBsYXkoKXshdGhpcy5xdWV1ZWQmJnRoaXMuX3BsYXllci5wbGF5KCl9cGF1c2UoKXshdGhpcy5xdWV1ZWQmJnRoaXMuX3BsYXllci5wYXVzZSgpfXJlc3RhcnQoKXshdGhpcy5xdWV1ZWQmJnRoaXMuX3BsYXllci5yZXN0YXJ0KCl9ZmluaXNoKCl7dGhpcy5fcGxheWVyLmZpbmlzaCgpfWRlc3Ryb3koKXt0aGlzLmRlc3Ryb3llZD0hMCx0aGlzLl9wbGF5ZXIuZGVzdHJveSgpfXJlc2V0KCl7IXRoaXMucXVldWVkJiZ0aGlzLl9wbGF5ZXIucmVzZXQoKX1zZXRQb3NpdGlvbih0KXt0aGlzLnF1ZXVlZHx8dGhpcy5fcGxheWVyLnNldFBvc2l0aW9uKHQpfWdldFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMucXVldWVkPzA6dGhpcy5fcGxheWVyLmdldFBvc2l0aW9uKCl9dHJpZ2dlckNhbGxiYWNrKHQpe2NvbnN0IGU9dGhpcy5fcGxheWVyO2UudHJpZ2dlckNhbGxiYWNrJiZlLnRyaWdnZXJDYWxsYmFjayh0KX19ZnVuY3Rpb24geHcodCl7cmV0dXJuIHQmJjE9PT10Lm5vZGVUeXBlfWZ1bmN0aW9uIE93KHQsZSl7Y29uc3Qgbj10LnN0eWxlLmRpc3BsYXk7cmV0dXJuIHQuc3R5bGUuZGlzcGxheT1udWxsIT1lP2U6Im5vbmUiLG59ZnVuY3Rpb24gUHcodCxlLG4sbyxpKXtjb25zdCBhPVtdO24uZm9yRWFjaCgodD0+YS5wdXNoKE93KHQpKSkpO2NvbnN0IHI9W107by5mb3JFYWNoKCgobixvKT0+e2NvbnN0IGE9e307bi5mb3JFYWNoKCh0PT57Y29uc3Qgbj1hW3RdPWUuY29tcHV0ZVN0eWxlKG8sdCxpKTtuJiYwIT1uLmxlbmd0aHx8KG8uX19uZ19yZW1vdmVkPWh3LHIucHVzaChvKSl9KSksdC5zZXQobyxhKX0pKTtsZXQgcz0wO3JldHVybiBuLmZvckVhY2goKHQ9Pk93KHQsYVtzKytdKSkpLHJ9ZnVuY3Rpb24gd3codCxlKXtjb25zdCBuPW5ldyBNYXA7aWYodC5mb3JFYWNoKCh0PT5uLnNldCh0LFtdKSkpLDA9PWUubGVuZ3RoKXJldHVybiBuO2NvbnN0IG89bmV3IFNldChlKSxpPW5ldyBNYXA7ZnVuY3Rpb24gYSh0KXtpZighdClyZXR1cm4gMTtsZXQgZT1pLmdldCh0KTtpZihlKXJldHVybiBlO2NvbnN0IHI9dC5wYXJlbnROb2RlO3JldHVybiBlPW4uaGFzKHIpP3I6by5oYXMocik/MTphKHIpLGkuc2V0KHQsZSksZX1yZXR1cm4gZS5mb3JFYWNoKCh0PT57Y29uc3QgZT1hKHQpOzEhPT1lJiZuLmdldChlKS5wdXNoKHQpfSkpLG59ZnVuY3Rpb24ga3codCxlKXtpZih0LmNsYXNzTGlzdCl0LmNsYXNzTGlzdC5hZGQoZSk7ZWxzZXtsZXQgbj10LiQkY2xhc3NlcztufHwobj10LiQkY2xhc3Nlcz17fSksbltlXT0hMH19ZnVuY3Rpb24gU3codCxlKXtpZih0LmNsYXNzTGlzdCl0LmNsYXNzTGlzdC5yZW1vdmUoZSk7ZWxzZXtsZXQgbj10LiQkY2xhc3NlcztuJiZkZWxldGUgbltlXX19ZnVuY3Rpb24gRHcodCxlLG4pe0hPKG4pLm9uRG9uZSgoKCk9PnQucHJvY2Vzc0xlYXZlTm9kZShlKSkpfWZ1bmN0aW9uIFJ3KHQsZSl7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspe2NvbnN0IG89dFtuXTtvIGluc3RhbmNlb2YgTk8/Uncoby5wbGF5ZXJzLGUpOmUucHVzaChvKX19ZnVuY3Rpb24gRXcodCxlLG4pe2NvbnN0IG89bi5nZXQodCk7aWYoIW8pcmV0dXJuITE7bGV0IGk9ZS5nZXQodCk7cmV0dXJuIGk/by5mb3JFYWNoKCh0PT5pLmFkZCh0KSkpOmUuc2V0KHQsbyksbi5kZWxldGUodCksITB9Y2xhc3MgQXd7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuYm9keU5vZGU9dCx0aGlzLl9kcml2ZXI9ZSx0aGlzLl9ub3JtYWxpemVyPW4sdGhpcy5fdHJpZ2dlckNhY2hlPXt9LHRoaXMub25SZW1vdmFsQ29tcGxldGU9KHQsZSk9Pnt9LHRoaXMuX3RyYW5zaXRpb25FbmdpbmU9bmV3IE13KHQsZSxuKSx0aGlzLl90aW1lbGluZUVuZ2luZT1uZXcgZHcodCxlLG4pLHRoaXMuX3RyYW5zaXRpb25FbmdpbmUub25SZW1vdmFsQ29tcGxldGU9KHQsZSk9PnRoaXMub25SZW1vdmFsQ29tcGxldGUodCxlKX1yZWdpc3RlclRyaWdnZXIodCxlLG4sbyxpKXtjb25zdCBhPXQrIi0iK287bGV0IHI9dGhpcy5fdHJpZ2dlckNhY2hlW2FdO2lmKCFyKXtjb25zdCB0PVtdLGU9SVAodGhpcy5fZHJpdmVyLGksdCk7aWYodC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBUaGUgYW5pbWF0aW9uIHRyaWdnZXIgIiR7b30iIGhhcyBmYWlsZWQgdG8gYnVpbGQgZHVlIHRvIHRoZSBmb2xsb3dpbmcgZXJyb3JzOlxuIC0gJHt0LmpvaW4oIlxuIC0gIil9YCk7cj0oZnVuY3Rpb24gbih0LGUsbyl7cmV0dXJuIG5ldyBzdyh0LGUsbyl9KShvLGUsdGhpcy5fbm9ybWFsaXplciksdGhpcy5fdHJpZ2dlckNhY2hlW2FdPXJ9dGhpcy5fdHJhbnNpdGlvbkVuZ2luZS5yZWdpc3RlclRyaWdnZXIoZSxvLHIpfXJlZ2lzdGVyKHQsZSl7dGhpcy5fdHJhbnNpdGlvbkVuZ2luZS5yZWdpc3Rlcih0LGUpfWRlc3Ryb3kodCxlKXt0aGlzLl90cmFuc2l0aW9uRW5naW5lLmRlc3Ryb3kodCxlKX1vbkluc2VydCh0LGUsbixvKXt0aGlzLl90cmFuc2l0aW9uRW5naW5lLmluc2VydE5vZGUodCxlLG4sbyl9b25SZW1vdmUodCxlLG4sbyl7dGhpcy5fdHJhbnNpdGlvbkVuZ2luZS5yZW1vdmVOb2RlKHQsZSxvfHwhMSxuKX1kaXNhYmxlQW5pbWF0aW9ucyh0LGUpe3RoaXMuX3RyYW5zaXRpb25FbmdpbmUubWFya0VsZW1lbnRBc0Rpc2FibGVkKHQsZSl9cHJvY2Vzcyh0LGUsbixvKXtpZigiQCI9PW4uY2hhckF0KDApKXtjb25zdFt0LGldPVVPKG4pO3RoaXMuX3RpbWVsaW5lRW5naW5lLmNvbW1hbmQodCxlLGksbyl9ZWxzZSB0aGlzLl90cmFuc2l0aW9uRW5naW5lLnRyaWdnZXIodCxlLG4sbyl9bGlzdGVuKHQsZSxuLG8saSl7aWYoIkAiPT1uLmNoYXJBdCgwKSl7Y29uc3RbdCxvXT1VTyhuKTtyZXR1cm4gdGhpcy5fdGltZWxpbmVFbmdpbmUubGlzdGVuKHQsZSxvLGkpfXJldHVybiB0aGlzLl90cmFuc2l0aW9uRW5naW5lLmxpc3Rlbih0LGUsbixvLGkpfWZsdXNoKHQ9LTEpe3RoaXMuX3RyYW5zaXRpb25FbmdpbmUuZmx1c2godCl9Z2V0IHBsYXllcnMoKXtyZXR1cm4gdGhpcy5fdHJhbnNpdGlvbkVuZ2luZS5wbGF5ZXJzLmNvbmNhdCh0aGlzLl90aW1lbGluZUVuZ2luZS5wbGF5ZXJzKX13aGVuUmVuZGVyaW5nRG9uZSgpe3JldHVybiB0aGlzLl90cmFuc2l0aW9uRW5naW5lLndoZW5SZW5kZXJpbmdEb25lKCl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBUdyh0LGUpe2xldCBuPW51bGwsbz1udWxsO3JldHVybiBBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD8obj16dyhlWzBdKSxlLmxlbmd0aD4xJiYobz16dyhlW2UubGVuZ3RoLTFdKSkpOmUmJihuPXp3KGUpKSxufHxvP25ldyBOdyh0LG4sbyk6bnVsbH1jbGFzcyBOd3tjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fZWxlbWVudD10LHRoaXMuX3N0YXJ0U3R5bGVzPWUsdGhpcy5fZW5kU3R5bGVzPW4sdGhpcy5fc3RhdGU9MDtsZXQgbz1Ody5pbml0aWFsU3R5bGVzQnlFbGVtZW50LmdldCh0KTtvfHxOdy5pbml0aWFsU3R5bGVzQnlFbGVtZW50LnNldCh0LG89e30pLHRoaXMuX2luaXRpYWxTdHlsZXM9b31zdGFydCgpe3RoaXMuX3N0YXRlPDEmJih0aGlzLl9zdGFydFN0eWxlcyYmaFAodGhpcy5fZWxlbWVudCx0aGlzLl9zdGFydFN0eWxlcyx0aGlzLl9pbml0aWFsU3R5bGVzKSx0aGlzLl9zdGF0ZT0xKX1maW5pc2goKXt0aGlzLnN0YXJ0KCksdGhpcy5fc3RhdGU8MiYmKGhQKHRoaXMuX2VsZW1lbnQsdGhpcy5faW5pdGlhbFN0eWxlcyksdGhpcy5fZW5kU3R5bGVzJiYoaFAodGhpcy5fZWxlbWVudCx0aGlzLl9lbmRTdHlsZXMpLHRoaXMuX2VuZFN0eWxlcz1udWxsKSx0aGlzLl9zdGF0ZT0xKX1kZXN0cm95KCl7dGhpcy5maW5pc2goKSx0aGlzLl9zdGF0ZTwzJiYoTncuaW5pdGlhbFN0eWxlc0J5RWxlbWVudC5kZWxldGUodGhpcy5fZWxlbWVudCksdGhpcy5fc3RhcnRTdHlsZXMmJihiUCh0aGlzLl9lbGVtZW50LHRoaXMuX3N0YXJ0U3R5bGVzKSx0aGlzLl9lbmRTdHlsZXM9bnVsbCksdGhpcy5fZW5kU3R5bGVzJiYoYlAodGhpcy5fZWxlbWVudCx0aGlzLl9lbmRTdHlsZXMpLHRoaXMuX2VuZFN0eWxlcz1udWxsKSxoUCh0aGlzLl9lbGVtZW50LHRoaXMuX2luaXRpYWxTdHlsZXMpLHRoaXMuX3N0YXRlPTMpfX1mdW5jdGlvbiB6dyh0KXtsZXQgZT1udWxsO2NvbnN0IG49T2JqZWN0LmtleXModCk7Zm9yKGxldCBvPTA7bzxuLmxlbmd0aDtvKyspe2NvbnN0IGk9bltvXTtJdyhpKSYmKGU9ZXx8e30sZVtpXT10W2ldKX1yZXR1cm4gZX1mdW5jdGlvbiBJdyh0KXtyZXR1cm4iZGlzcGxheSI9PT10fHwicG9zaXRpb24iPT09dH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovTncuaW5pdGlhbFN0eWxlc0J5RWxlbWVudD1uZXcgV2Vha01hcDtjb25zdCBIdz0iYW5pbWF0aW9uIixGdz0iYW5pbWF0aW9uZW5kIjtjbGFzcyBMd3tjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyKXt0aGlzLl9lbGVtZW50PXQsdGhpcy5fbmFtZT1lLHRoaXMuX2R1cmF0aW9uPW4sdGhpcy5fZGVsYXk9byx0aGlzLl9lYXNpbmc9aSx0aGlzLl9maWxsTW9kZT1hLHRoaXMuX29uRG9uZUZuPXIsdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5fZGVzdHJveWVkPSExLHRoaXMuX3N0YXJ0VGltZT0wLHRoaXMuX3Bvc2l0aW9uPTAsdGhpcy5fZXZlbnRGbj10PT50aGlzLl9oYW5kbGVDYWxsYmFjayh0KX1hcHBseSgpeyEoZnVuY3Rpb24gdChlLG4pe2NvbnN0IG89R3coZSwiIikudHJpbSgpO2xldCBpPTA7by5sZW5ndGgmJihpPShmdW5jdGlvbiBhKHQsZSl7bGV0IG49MDtmb3IobGV0IG89MDtvPHQubGVuZ3RoO28rKyl7dC5jaGFyQXQobyk9PT1lJiZuKyt9cmV0dXJuIG59KShvLCIsIikrMSxuPWAke299LCAke259YCk7cmV0dXJuIFd3KGUsIiIsbiksaX0pKHRoaXMuX2VsZW1lbnQsYCR7dGhpcy5fZHVyYXRpb259bXMgJHt0aGlzLl9lYXNpbmd9ICR7dGhpcy5fZGVsYXl9bXMgMSBub3JtYWwgJHt0aGlzLl9maWxsTW9kZX0gJHt0aGlzLl9uYW1lfWApLFV3KHRoaXMuX2VsZW1lbnQsdGhpcy5fZXZlbnRGbiwhMSksdGhpcy5fc3RhcnRUaW1lPURhdGUubm93KCl9cGF1c2UoKXtCdyh0aGlzLl9lbGVtZW50LHRoaXMuX25hbWUsInBhdXNlZCIpfXJlc3VtZSgpe0J3KHRoaXMuX2VsZW1lbnQsdGhpcy5fbmFtZSwicnVubmluZyIpfXNldFBvc2l0aW9uKHQpe2NvbnN0IGU9VncodGhpcy5fZWxlbWVudCx0aGlzLl9uYW1lKTt0aGlzLl9wb3NpdGlvbj10KnRoaXMuX2R1cmF0aW9uLFd3KHRoaXMuX2VsZW1lbnQsIkRlbGF5IixgLSR7dGhpcy5fcG9zaXRpb259bXNgLGUpfWdldFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuX3Bvc2l0aW9ufV9oYW5kbGVDYWxsYmFjayh0KXtjb25zdCBlPXQuX25nVGVzdE1hbnVhbFRpbWVzdGFtcHx8RGF0ZS5ub3coKSxuPTFlMypwYXJzZUZsb2F0KHQuZWxhcHNlZFRpbWUudG9GaXhlZCgzKSk7dC5hbmltYXRpb25OYW1lPT10aGlzLl9uYW1lJiZNYXRoLm1heChlLXRoaXMuX3N0YXJ0VGltZSwwKT49dGhpcy5fZGVsYXkmJm4+PXRoaXMuX2R1cmF0aW9uJiZ0aGlzLmZpbmlzaCgpfWZpbmlzaCgpe3RoaXMuX2ZpbmlzaGVkfHwodGhpcy5fZmluaXNoZWQ9ITAsdGhpcy5fb25Eb25lRm4oKSxVdyh0aGlzLl9lbGVtZW50LHRoaXMuX2V2ZW50Rm4sITApKX1kZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkfHwodGhpcy5fZGVzdHJveWVkPSEwLHRoaXMuZmluaXNoKCksKGZ1bmN0aW9uIHQoZSxuKXtjb25zdCBvPUd3KGUsIiIpLnNwbGl0KCIsIiksaT1qdyhvLG4pO2lmKGk+PTApe28uc3BsaWNlKGksMSk7V3coZSwiIixvLmpvaW4oIiwiKSl9fSkodGhpcy5fZWxlbWVudCx0aGlzLl9uYW1lKSl9fWZ1bmN0aW9uIEJ3KHQsZSxuKXtXdyh0LCJQbGF5U3RhdGUiLG4sVncodCxlKSl9ZnVuY3Rpb24gVncodCxlKXtjb25zdCBuPUd3KHQsIiIpO2lmKG4uaW5kZXhPZigiLCIpPjApe3JldHVybiBqdyhuLnNwbGl0KCIsIiksZSl9cmV0dXJuIGp3KFtuXSxlKX1mdW5jdGlvbiBqdyh0LGUpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKWlmKHRbbl0uaW5kZXhPZihlKT49MClyZXR1cm4gbjtyZXR1cm4tMX1mdW5jdGlvbiBVdyh0LGUsbil7bj90LnJlbW92ZUV2ZW50TGlzdGVuZXIoRncsZSk6dC5hZGRFdmVudExpc3RlbmVyKEZ3LGUpfWZ1bmN0aW9uIFd3KHQsZSxuLG8pe2NvbnN0IGk9SHcrZTtpZihudWxsIT1vKXtjb25zdCBlPXQuc3R5bGVbaV07aWYoZS5sZW5ndGgpe2NvbnN0IHQ9ZS5zcGxpdCgiLCIpO3Rbb109bixuPXQuam9pbigiLCIpfX10LnN0eWxlW2ldPW59ZnVuY3Rpb24gR3codCxlKXtyZXR1cm4gdC5zdHlsZVtIdytlXXx8IiJ9Y2xhc3MgWXd7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzKXt0aGlzLmVsZW1lbnQ9dCx0aGlzLmtleWZyYW1lcz1lLHRoaXMuYW5pbWF0aW9uTmFtZT1uLHRoaXMuX2R1cmF0aW9uPW8sdGhpcy5fZGVsYXk9aSx0aGlzLl9maW5hbFN0eWxlcz1yLHRoaXMuX3NwZWNpYWxTdHlsZXM9cyx0aGlzLl9vbkRvbmVGbnM9W10sdGhpcy5fb25TdGFydEZucz1bXSx0aGlzLl9vbkRlc3Ryb3lGbnM9W10sdGhpcy5jdXJyZW50U25hcHNob3Q9e30sdGhpcy5fc3RhdGU9MCx0aGlzLmVhc2luZz1hfHwibGluZWFyIix0aGlzLnRvdGFsVGltZT1vK2ksdGhpcy5fYnVpbGRTdHlsZXIoKX1vblN0YXJ0KHQpe3RoaXMuX29uU3RhcnRGbnMucHVzaCh0KX1vbkRvbmUodCl7dGhpcy5fb25Eb25lRm5zLnB1c2godCl9b25EZXN0cm95KHQpe3RoaXMuX29uRGVzdHJveUZucy5wdXNoKHQpfWRlc3Ryb3koKXt0aGlzLmluaXQoKSx0aGlzLl9zdGF0ZT49NHx8KHRoaXMuX3N0YXRlPTQsdGhpcy5fc3R5bGVyLmRlc3Ryb3koKSx0aGlzLl9mbHVzaFN0YXJ0Rm5zKCksdGhpcy5fZmx1c2hEb25lRm5zKCksdGhpcy5fc3BlY2lhbFN0eWxlcyYmdGhpcy5fc3BlY2lhbFN0eWxlcy5kZXN0cm95KCksdGhpcy5fb25EZXN0cm95Rm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uRGVzdHJveUZucz1bXSl9X2ZsdXNoRG9uZUZucygpe3RoaXMuX29uRG9uZUZucy5mb3JFYWNoKCh0PT50KCkpKSx0aGlzLl9vbkRvbmVGbnM9W119X2ZsdXNoU3RhcnRGbnMoKXt0aGlzLl9vblN0YXJ0Rm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uU3RhcnRGbnM9W119ZmluaXNoKCl7dGhpcy5pbml0KCksdGhpcy5fc3RhdGU+PTN8fCh0aGlzLl9zdGF0ZT0zLHRoaXMuX3N0eWxlci5maW5pc2goKSx0aGlzLl9mbHVzaFN0YXJ0Rm5zKCksdGhpcy5fc3BlY2lhbFN0eWxlcyYmdGhpcy5fc3BlY2lhbFN0eWxlcy5maW5pc2goKSx0aGlzLl9mbHVzaERvbmVGbnMoKSl9c2V0UG9zaXRpb24odCl7dGhpcy5fc3R5bGVyLnNldFBvc2l0aW9uKHQpfWdldFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuX3N0eWxlci5nZXRQb3NpdGlvbigpfWhhc1N0YXJ0ZWQoKXtyZXR1cm4gdGhpcy5fc3RhdGU+PTJ9aW5pdCgpe3RoaXMuX3N0YXRlPj0xfHwodGhpcy5fc3RhdGU9MSx0aGlzLl9zdHlsZXIuYXBwbHkoKSx0aGlzLl9kZWxheSYmdGhpcy5fc3R5bGVyLnBhdXNlKCkpfXBsYXkoKXt0aGlzLmluaXQoKSx0aGlzLmhhc1N0YXJ0ZWQoKXx8KHRoaXMuX2ZsdXNoU3RhcnRGbnMoKSx0aGlzLl9zdGF0ZT0yLHRoaXMuX3NwZWNpYWxTdHlsZXMmJnRoaXMuX3NwZWNpYWxTdHlsZXMuc3RhcnQoKSksdGhpcy5fc3R5bGVyLnJlc3VtZSgpfXBhdXNlKCl7dGhpcy5pbml0KCksdGhpcy5fc3R5bGVyLnBhdXNlKCl9cmVzdGFydCgpe3RoaXMucmVzZXQoKSx0aGlzLnBsYXkoKX1yZXNldCgpe3RoaXMuX3N0YXRlPTAsdGhpcy5fc3R5bGVyLmRlc3Ryb3koKSx0aGlzLl9idWlsZFN0eWxlcigpLHRoaXMuX3N0eWxlci5hcHBseSgpfV9idWlsZFN0eWxlcigpe3RoaXMuX3N0eWxlcj1uZXcgTHcodGhpcy5lbGVtZW50LHRoaXMuYW5pbWF0aW9uTmFtZSx0aGlzLl9kdXJhdGlvbix0aGlzLl9kZWxheSx0aGlzLmVhc2luZywiZm9yd2FyZHMiLCgoKT0+dGhpcy5maW5pc2goKSkpfXRyaWdnZXJDYWxsYmFjayh0KXtjb25zdCBlPSJzdGFydCI9PXQ/dGhpcy5fb25TdGFydEZuczp0aGlzLl9vbkRvbmVGbnM7ZS5mb3JFYWNoKCh0PT50KCkpKSxlLmxlbmd0aD0wfWJlZm9yZURlc3Ryb3koKXt0aGlzLmluaXQoKTtjb25zdCB0PXt9O2lmKHRoaXMuaGFzU3RhcnRlZCgpKXtjb25zdCBlPXRoaXMuX3N0YXRlPj0zO09iamVjdC5rZXlzKHRoaXMuX2ZpbmFsU3R5bGVzKS5mb3JFYWNoKChuPT57Im9mZnNldCIhPW4mJih0W25dPWU/dGhpcy5fZmluYWxTdHlsZXNbbl06U1AodGhpcy5lbGVtZW50LG4pKX0pKX10aGlzLmN1cnJlbnRTbmFwc2hvdD10fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgcXcgZXh0ZW5kcyBUT3tjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy5lbGVtZW50PXQsdGhpcy5fc3RhcnRpbmdTdHlsZXM9e30sdGhpcy5fX2luaXRpYWxpemVkPSExLHRoaXMuX3N0eWxlcz10UChlKX1pbml0KCl7IXRoaXMuX19pbml0aWFsaXplZCYmdGhpcy5fc3RhcnRpbmdTdHlsZXMmJih0aGlzLl9faW5pdGlhbGl6ZWQ9ITAsT2JqZWN0LmtleXModGhpcy5fc3R5bGVzKS5mb3JFYWNoKCh0PT57dGhpcy5fc3RhcnRpbmdTdHlsZXNbdF09dGhpcy5lbGVtZW50LnN0eWxlW3RdfSkpLHN1cGVyLmluaXQoKSl9cGxheSgpe3RoaXMuX3N0YXJ0aW5nU3R5bGVzJiYodGhpcy5pbml0KCksT2JqZWN0LmtleXModGhpcy5fc3R5bGVzKS5mb3JFYWNoKCh0PT50aGlzLmVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkodCx0aGlzLl9zdHlsZXNbdF0pKSksc3VwZXIucGxheSgpKX1kZXN0cm95KCl7dGhpcy5fc3RhcnRpbmdTdHlsZXMmJihPYmplY3Qua2V5cyh0aGlzLl9zdGFydGluZ1N0eWxlcykuZm9yRWFjaCgodD0+e2NvbnN0IGU9dGhpcy5fc3RhcnRpbmdTdHlsZXNbdF07ZT90aGlzLmVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkodCxlKTp0aGlzLmVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9KSksdGhpcy5fc3RhcnRpbmdTdHlsZXM9bnVsbCxzdXBlci5kZXN0cm95KCkpfX1jbGFzcyBad3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2NvdW50PTB9dmFsaWRhdGVTdHlsZVByb3BlcnR5KHQpe3JldHVybiBLTyh0KX1tYXRjaGVzRWxlbWVudCh0LGUpe3JldHVybiBKTyh0LGUpfWNvbnRhaW5zRWxlbWVudCh0LGUpe3JldHVybiBRTyh0LGUpfXF1ZXJ5KHQsZSxuKXtyZXR1cm4gJE8odCxlLG4pfWNvbXB1dGVTdHlsZSh0LGUsbil7cmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpW2VdfWJ1aWxkS2V5ZnJhbWVFbGVtZW50KHQsZSxuKXtuPW4ubWFwKCh0PT50UCh0KSkpO2xldCBvPWBAa2V5ZnJhbWVzICR7ZX0ge1xuYCxpPSIiO24uZm9yRWFjaCgodD0+e2k9IiAiO2NvbnN0IGU9cGFyc2VGbG9hdCh0Lm9mZnNldCk7bys9YCR7aX0kezEwMCplfSUge1xuYCxpKz0iICIsT2JqZWN0LmtleXModCkuZm9yRWFjaCgoZT0+e2NvbnN0IG49dFtlXTtzd2l0Y2goZSl7Y2FzZSJvZmZzZXQiOnJldHVybjtjYXNlImVhc2luZyI6cmV0dXJuIHZvaWQobiYmKG8rPWAke2l9YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHtufTtcbmApKTtkZWZhdWx0OnJldHVybiB2b2lkKG8rPWAke2l9JHtlfTogJHtufTtcbmApfX0pKSxvKz1gJHtpfX1cbmB9KSksbys9In1cbiI7Y29uc3QgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiBhLnRleHRDb250ZW50PW8sYX1hbmltYXRlKHQsZSxuLG8saSxhPVtdLHIpeygidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmciYmKGZ1bmN0aW9uIHMoKXtpZihYdylyZXR1cm47Y29uc29sZS53YXJuKCJAYW5ndWxhci9hbmltYXRpb25zOiBwbGVhc2UgbG9hZCB0aGUgd2ViLWFuaW1hdGlvbnMuanMgcG9seWZpbGwgdG8gYWxsb3cgcHJvZ3JhbW1hdGljIGFjY2Vzcy4uLlxuIiwiICB2aXNpdCBodHRwczovL2JpdC5seS9JV3VrYW0gdG8gbGVhcm4gbW9yZSBhYm91dCB1c2luZyB0aGUgd2ViLWFuaW1hdGlvbi1qcyBwb2x5ZmlsbC4iKSxYdz0hMH0pKCk7Y29uc3QgbD1hLmZpbHRlcigodD0+dCBpbnN0YW5jZW9mIFl3KSksYz17fTtQUChuLG8pJiZsLmZvckVhY2goKHQ9PntsZXQgZT10LmN1cnJlbnRTbmFwc2hvdDtPYmplY3Qua2V5cyhlKS5mb3JFYWNoKCh0PT5jW3RdPWVbdF0pKX0pKTtjb25zdCBkPShmdW5jdGlvbiBwKHQpe2xldCBlPXt9O2lmKHQpeyhBcnJheS5pc0FycmF5KHQpP3Q6W3RdKS5mb3JFYWNoKCh0PT57T2JqZWN0LmtleXModCkuZm9yRWFjaCgobj0+eyJvZmZzZXQiIT1uJiYiZWFzaW5nIiE9biYmKGVbbl09dFtuXSl9KSl9KSl9cmV0dXJuIGV9KShlPXdQKHQsZSxjKSk7aWYoMD09bilyZXR1cm4gbmV3IHF3KHQsZCk7Y29uc3QgbT0iZ2VuX2Nzc19rZl8iK3RoaXMuX2NvdW50KyssZj10aGlzLmJ1aWxkS2V5ZnJhbWVFbGVtZW50KHQsbSxlKTsoZnVuY3Rpb24gdSh0KXt2YXIgZTtjb25zdCBuPW51bGw9PT0oZT10LmdldFJvb3ROb2RlKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5jYWxsKHQpO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgU2hhZG93Um9vdCYmbiBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QpcmV0dXJuIG47cmV0dXJuIGRvY3VtZW50LmhlYWR9KSh0KS5hcHBlbmRDaGlsZChmKTtjb25zdCBnPVR3KHQsZSksaD1uZXcgWXcodCxlLG0sbixvLGksZCxnKTtyZXR1cm4gaC5vbkRlc3Ryb3koKCgpPT4oZnVuY3Rpb24gdChlKXtlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSl9KShmKSkpLGh9fWxldCBYdz0hMTtjbGFzcyBLd3tjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLmVsZW1lbnQ9dCx0aGlzLmtleWZyYW1lcz1lLHRoaXMub3B0aW9ucz1uLHRoaXMuX3NwZWNpYWxTdHlsZXM9byx0aGlzLl9vbkRvbmVGbnM9W10sdGhpcy5fb25TdGFydEZucz1bXSx0aGlzLl9vbkRlc3Ryb3lGbnM9W10sdGhpcy5faW5pdGlhbGl6ZWQ9ITEsdGhpcy5fZmluaXNoZWQ9ITEsdGhpcy5fc3RhcnRlZD0hMSx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy50aW1lPTAsdGhpcy5wYXJlbnRQbGF5ZXI9bnVsbCx0aGlzLmN1cnJlbnRTbmFwc2hvdD17fSx0aGlzLl9kdXJhdGlvbj1uLmR1cmF0aW9uLHRoaXMuX2RlbGF5PW4uZGVsYXl8fDAsdGhpcy50aW1lPXRoaXMuX2R1cmF0aW9uK3RoaXMuX2RlbGF5fV9vbkZpbmlzaCgpe3RoaXMuX2ZpbmlzaGVkfHwodGhpcy5fZmluaXNoZWQ9ITAsdGhpcy5fb25Eb25lRm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uRG9uZUZucz1bXSl9aW5pdCgpe3RoaXMuX2J1aWxkUGxheWVyKCksdGhpcy5fcHJlcGFyZVBsYXllckJlZm9yZVN0YXJ0KCl9X2J1aWxkUGxheWVyKCl7aWYodGhpcy5faW5pdGlhbGl6ZWQpcmV0dXJuO3RoaXMuX2luaXRpYWxpemVkPSEwO2NvbnN0IHQ9dGhpcy5rZXlmcmFtZXM7dGhpcy5kb21QbGF5ZXI9dGhpcy5fdHJpZ2dlcldlYkFuaW1hdGlvbih0aGlzLmVsZW1lbnQsdCx0aGlzLm9wdGlvbnMpLHRoaXMuX2ZpbmFsS2V5ZnJhbWU9dC5sZW5ndGg/dFt0Lmxlbmd0aC0xXTp7fSx0aGlzLmRvbVBsYXllci5hZGRFdmVudExpc3RlbmVyKCJmaW5pc2giLCgoKT0+dGhpcy5fb25GaW5pc2goKSkpfV9wcmVwYXJlUGxheWVyQmVmb3JlU3RhcnQoKXt0aGlzLl9kZWxheT90aGlzLl9yZXNldERvbVBsYXllclN0YXRlKCk6dGhpcy5kb21QbGF5ZXIucGF1c2UoKX1fdHJpZ2dlcldlYkFuaW1hdGlvbih0LGUsbil7cmV0dXJuIHQuYW5pbWF0ZShlLG4pfW9uU3RhcnQodCl7dGhpcy5fb25TdGFydEZucy5wdXNoKHQpfW9uRG9uZSh0KXt0aGlzLl9vbkRvbmVGbnMucHVzaCh0KX1vbkRlc3Ryb3kodCl7dGhpcy5fb25EZXN0cm95Rm5zLnB1c2godCl9cGxheSgpe3RoaXMuX2J1aWxkUGxheWVyKCksdGhpcy5oYXNTdGFydGVkKCl8fCh0aGlzLl9vblN0YXJ0Rm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uU3RhcnRGbnM9W10sdGhpcy5fc3RhcnRlZD0hMCx0aGlzLl9zcGVjaWFsU3R5bGVzJiZ0aGlzLl9zcGVjaWFsU3R5bGVzLnN0YXJ0KCkpLHRoaXMuZG9tUGxheWVyLnBsYXkoKX1wYXVzZSgpe3RoaXMuaW5pdCgpLHRoaXMuZG9tUGxheWVyLnBhdXNlKCl9ZmluaXNoKCl7dGhpcy5pbml0KCksdGhpcy5fc3BlY2lhbFN0eWxlcyYmdGhpcy5fc3BlY2lhbFN0eWxlcy5maW5pc2goKSx0aGlzLl9vbkZpbmlzaCgpLHRoaXMuZG9tUGxheWVyLmZpbmlzaCgpfXJlc2V0KCl7dGhpcy5fcmVzZXREb21QbGF5ZXJTdGF0ZSgpLHRoaXMuX2Rlc3Ryb3llZD0hMSx0aGlzLl9maW5pc2hlZD0hMSx0aGlzLl9zdGFydGVkPSExfV9yZXNldERvbVBsYXllclN0YXRlKCl7dGhpcy5kb21QbGF5ZXImJnRoaXMuZG9tUGxheWVyLmNhbmNlbCgpfXJlc3RhcnQoKXt0aGlzLnJlc2V0KCksdGhpcy5wbGF5KCl9aGFzU3RhcnRlZCgpe3JldHVybiB0aGlzLl9zdGFydGVkfWRlc3Ryb3koKXt0aGlzLl9kZXN0cm95ZWR8fCh0aGlzLl9kZXN0cm95ZWQ9ITAsdGhpcy5fcmVzZXREb21QbGF5ZXJTdGF0ZSgpLHRoaXMuX29uRmluaXNoKCksdGhpcy5fc3BlY2lhbFN0eWxlcyYmdGhpcy5fc3BlY2lhbFN0eWxlcy5kZXN0cm95KCksdGhpcy5fb25EZXN0cm95Rm5zLmZvckVhY2goKHQ9PnQoKSkpLHRoaXMuX29uRGVzdHJveUZucz1bXSl9c2V0UG9zaXRpb24odCl7dm9pZCAwPT09dGhpcy5kb21QbGF5ZXImJnRoaXMuaW5pdCgpLHRoaXMuZG9tUGxheWVyLmN1cnJlbnRUaW1lPXQqdGhpcy50aW1lfWdldFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuZG9tUGxheWVyLmN1cnJlbnRUaW1lL3RoaXMudGltZX1nZXQgdG90YWxUaW1lKCl7cmV0dXJuIHRoaXMuX2RlbGF5K3RoaXMuX2R1cmF0aW9ufWJlZm9yZURlc3Ryb3koKXtjb25zdCB0PXt9O3RoaXMuaGFzU3RhcnRlZCgpJiZPYmplY3Qua2V5cyh0aGlzLl9maW5hbEtleWZyYW1lKS5mb3JFYWNoKChlPT57Im9mZnNldCIhPWUmJih0W2VdPXRoaXMuX2ZpbmlzaGVkP3RoaXMuX2ZpbmFsS2V5ZnJhbWVbZV06U1AodGhpcy5lbGVtZW50LGUpKX0pKSx0aGlzLmN1cnJlbnRTbmFwc2hvdD10fXRyaWdnZXJDYWxsYmFjayh0KXtjb25zdCBlPSJzdGFydCI9PXQ/dGhpcy5fb25TdGFydEZuczp0aGlzLl9vbkRvbmVGbnM7ZS5mb3JFYWNoKCh0PT50KCkpKSxlLmxlbmd0aD0wfX1jbGFzcyBKd3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2lzTmF0aXZlSW1wbD0vXHtccypcW25hdGl2ZVxzK2NvZGVcXVxzKlx9Ly50ZXN0KFF3KCkudG9TdHJpbmcoKSksdGhpcy5fY3NzS2V5ZnJhbWVzRHJpdmVyPW5ldyBad312YWxpZGF0ZVN0eWxlUHJvcGVydHkodCl7cmV0dXJuIEtPKHQpfW1hdGNoZXNFbGVtZW50KHQsZSl7cmV0dXJuIEpPKHQsZSl9Y29udGFpbnNFbGVtZW50KHQsZSl7cmV0dXJuIFFPKHQsZSl9cXVlcnkodCxlLG4pe3JldHVybiAkTyh0LGUsbil9Y29tcHV0ZVN0eWxlKHQsZSxuKXtyZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUodClbZV19b3ZlcnJpZGVXZWJBbmltYXRpb25zU3VwcG9ydCh0KXt0aGlzLl9pc05hdGl2ZUltcGw9dH1hbmltYXRlKHQsZSxuLG8saSxhPVtdLHIpe2lmKCFyJiYhdGhpcy5faXNOYXRpdmVJbXBsKXJldHVybiB0aGlzLl9jc3NLZXlmcmFtZXNEcml2ZXIuYW5pbWF0ZSh0LGUsbixvLGksYSk7Y29uc3Qgcz17ZHVyYXRpb246bixkZWxheTpvLGZpbGw6MD09bz8iYm90aCI6ImZvcndhcmRzIn07aSYmKHMuZWFzaW5nPWkpO2NvbnN0IGw9e30sYz1hLmZpbHRlcigodD0+dCBpbnN0YW5jZW9mIEt3KSk7UFAobixvKSYmYy5mb3JFYWNoKCh0PT57bGV0IGU9dC5jdXJyZW50U25hcHNob3Q7T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgodD0+bFt0XT1lW3RdKSl9KSk7Y29uc3QgZD1Udyh0LGU9d1AodCxlPWUubWFwKCh0PT5mUCh0LCExKSkpLGwpKTtyZXR1cm4gbmV3IEt3KHQsZSxzLGQpfX1mdW5jdGlvbiBRdygpe3JldHVybiB6TygpJiZFbGVtZW50LnByb3RvdHlwZS5hbmltYXRlfHx7fX0KLyoqCiAgICAgKiBAbGljZW5zZSBBbmd1bGFyIHYxMi4yLjEKICAgICAqIChjKSAyMDEwLTIwMjEgR29vZ2xlIExMQy4gaHR0cHM6Ly9hbmd1bGFyLmlvLwogICAgICogTGljZW5zZTogTUlUCiAgICAgKi9jbGFzcyAkdyBleHRlbmRzIE1Pe2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLl9uZXh0QW5pbWF0aW9uSWQ9MDt0aGlzLl9yZW5kZXJlcj10LmNyZWF0ZVJlbmRlcmVyKGUuYm9keSx7aWQ6IjAiLGVuY2Fwc3VsYXRpb246V24uTm9uZSxzdHlsZXM6W10sZGF0YTp7YW5pbWF0aW9uOltdfX0pfWJ1aWxkKHQpe2NvbnN0IGU9dGhpcy5fbmV4dEFuaW1hdGlvbklkLnRvU3RyaW5nKCk7dGhpcy5fbmV4dEFuaW1hdGlvbklkKys7Y29uc3Qgbj1BcnJheS5pc0FycmF5KHQpP1BPKHQpOnQ7cmV0dXJuIG5rKHRoaXMuX3JlbmRlcmVyLG51bGwsZSwicmVnaXN0ZXIiLFtuXSksbmV3IHRrKGUsdGhpcy5fcmVuZGVyZXIpfX0kdy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JHcpKFRyKFFoKSxUcihzTSkpfSwkdy7JtXByb3Y9U24oe3Rva2VuOiR3LGZhY3Rvcnk6JHcuybVmYWN9KSwkdy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlFofSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKCR3LFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpRaH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjbGFzcyB0ayBleHRlbmRzIGNsYXNze317Y29uc3RydWN0b3IodCxlKXtzdXBlcigpLHRoaXMuX2lkPXQsdGhpcy5fcmVuZGVyZXI9ZX1jcmVhdGUodCxlKXtyZXR1cm4gbmV3IGVrKHRoaXMuX2lkLHQsZXx8e30sdGhpcy5fcmVuZGVyZXIpfX1jbGFzcyBla3tjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLmlkPXQsdGhpcy5lbGVtZW50PWUsdGhpcy5fcmVuZGVyZXI9byx0aGlzLnBhcmVudFBsYXllcj1udWxsLHRoaXMuX3N0YXJ0ZWQ9ITEsdGhpcy50b3RhbFRpbWU9MCx0aGlzLl9jb21tYW5kKCJjcmVhdGUiLG4pfV9saXN0ZW4odCxlKXtyZXR1cm4gdGhpcy5fcmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudCxgQEAke3RoaXMuaWR9OiR7dH1gLGUpfV9jb21tYW5kKHQsLi4uZSl7cmV0dXJuIG5rKHRoaXMuX3JlbmRlcmVyLHRoaXMuZWxlbWVudCx0aGlzLmlkLHQsZSl9b25Eb25lKHQpe3RoaXMuX2xpc3RlbigiZG9uZSIsdCl9b25TdGFydCh0KXt0aGlzLl9saXN0ZW4oInN0YXJ0Iix0KX1vbkRlc3Ryb3kodCl7dGhpcy5fbGlzdGVuKCJkZXN0cm95Iix0KX1pbml0KCl7dGhpcy5fY29tbWFuZCgiaW5pdCIpfWhhc1N0YXJ0ZWQoKXtyZXR1cm4gdGhpcy5fc3RhcnRlZH1wbGF5KCl7dGhpcy5fY29tbWFuZCgicGxheSIpLHRoaXMuX3N0YXJ0ZWQ9ITB9cGF1c2UoKXt0aGlzLl9jb21tYW5kKCJwYXVzZSIpfXJlc3RhcnQoKXt0aGlzLl9jb21tYW5kKCJyZXN0YXJ0Iil9ZmluaXNoKCl7dGhpcy5fY29tbWFuZCgiZmluaXNoIil9ZGVzdHJveSgpe3RoaXMuX2NvbW1hbmQoImRlc3Ryb3kiKX1yZXNldCgpe3RoaXMuX2NvbW1hbmQoInJlc2V0IiksdGhpcy5fc3RhcnRlZD0hMX1zZXRQb3NpdGlvbih0KXt0aGlzLl9jb21tYW5kKCJzZXRQb3NpdGlvbiIsdCl9Z2V0UG9zaXRpb24oKXt2YXIgdCxlO3JldHVybiBudWxsIT09KGU9bnVsbD09PSh0PXRoaXMuX3JlbmRlcmVyLmVuZ2luZS5wbGF5ZXJzWyt0aGlzLmlkXSl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuZ2V0UG9zaXRpb24oKSkmJnZvaWQgMCE9PWU/ZTowfX1mdW5jdGlvbiBuayh0LGUsbixvLGkpe3JldHVybiB0LnNldFByb3BlcnR5KGUsYEBAJHtufToke299YCxpKX1jb25zdCBvaz0iQCIsaWs9IkAuZGlzYWJsZWQiO2NsYXNzIGFre2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmRlbGVnYXRlPXQsdGhpcy5lbmdpbmU9ZSx0aGlzLl96b25lPW4sdGhpcy5fY3VycmVudElkPTAsdGhpcy5fbWljcm90YXNrSWQ9MSx0aGlzLl9hbmltYXRpb25DYWxsYmFja3NCdWZmZXI9W10sdGhpcy5fcmVuZGVyZXJDYWNoZT1uZXcgTWFwLHRoaXMuX2NkUmVjdXJEZXB0aD0wLHRoaXMucHJvbWlzZT1Qcm9taXNlLnJlc29sdmUoMCksZS5vblJlbW92YWxDb21wbGV0ZT0odCxlKT0+e2UmJmUucGFyZW50Tm9kZSh0KSYmZS5yZW1vdmVDaGlsZCh0LnBhcmVudE5vZGUsdCl9fWNyZWF0ZVJlbmRlcmVyKHQsZSl7Y29uc3Qgbj10aGlzLmRlbGVnYXRlLmNyZWF0ZVJlbmRlcmVyKHQsZSk7aWYoISh0JiZlJiZlLmRhdGEmJmUuZGF0YS5hbmltYXRpb24pKXtsZXQgdD10aGlzLl9yZW5kZXJlckNhY2hlLmdldChuKTtyZXR1cm4gdHx8KHQ9bmV3IHJrKCIiLG4sdGhpcy5lbmdpbmUpLHRoaXMuX3JlbmRlcmVyQ2FjaGUuc2V0KG4sdCkpLHR9Y29uc3Qgbz1lLmlkLGk9ZS5pZCsiLSIrdGhpcy5fY3VycmVudElkO3RoaXMuX2N1cnJlbnRJZCsrLHRoaXMuZW5naW5lLnJlZ2lzdGVyKGksdCk7Y29uc3QgYT1lPT57QXJyYXkuaXNBcnJheShlKT9lLmZvckVhY2goYSk6dGhpcy5lbmdpbmUucmVnaXN0ZXJUcmlnZ2VyKG8saSx0LGUubmFtZSxlKX07cmV0dXJuIGUuZGF0YS5hbmltYXRpb24uZm9yRWFjaChhKSxuZXcgc2sodGhpcyxpLG4sdGhpcy5lbmdpbmUpfWJlZ2luKCl7dGhpcy5fY2RSZWN1ckRlcHRoKyssdGhpcy5kZWxlZ2F0ZS5iZWdpbiYmdGhpcy5kZWxlZ2F0ZS5iZWdpbigpfV9zY2hlZHVsZUNvdW50VGFzaygpe3RoaXMucHJvbWlzZS50aGVuKCgoKT0+e3RoaXMuX21pY3JvdGFza0lkKyt9KSl9c2NoZWR1bGVMaXN0ZW5lckNhbGxiYWNrKHQsZSxuKXt0Pj0wJiZ0PHRoaXMuX21pY3JvdGFza0lkP3RoaXMuX3pvbmUucnVuKCgoKT0+ZShuKSkpOigwPT10aGlzLl9hbmltYXRpb25DYWxsYmFja3NCdWZmZXIubGVuZ3RoJiZQcm9taXNlLnJlc29sdmUobnVsbCkudGhlbigoKCk9Pnt0aGlzLl96b25lLnJ1bigoKCk9Pnt0aGlzLl9hbmltYXRpb25DYWxsYmFja3NCdWZmZXIuZm9yRWFjaCgodD0+e2NvbnN0W2Usbl09dDtlKG4pfSkpLHRoaXMuX2FuaW1hdGlvbkNhbGxiYWNrc0J1ZmZlcj1bXX0pKX0pKSx0aGlzLl9hbmltYXRpb25DYWxsYmFja3NCdWZmZXIucHVzaChbZSxuXSkpfWVuZCgpe3RoaXMuX2NkUmVjdXJEZXB0aC0tLDA9PXRoaXMuX2NkUmVjdXJEZXB0aCYmdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9zY2hlZHVsZUNvdW50VGFzaygpLHRoaXMuZW5naW5lLmZsdXNoKHRoaXMuX21pY3JvdGFza0lkKX0pKSx0aGlzLmRlbGVnYXRlLmVuZCYmdGhpcy5kZWxlZ2F0ZS5lbmQoKX13aGVuUmVuZGVyaW5nRG9uZSgpe3JldHVybiB0aGlzLmVuZ2luZS53aGVuUmVuZGVyaW5nRG9uZSgpfX1hay7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8YWspKFRyKFFoKSxUcihBdyksVHIobUMpKX0sYWsuybVwcm92PVNuKHt0b2tlbjphayxmYWN0b3J5OmFrLsm1ZmFjfSksYWsuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpRaH0se3R5cGU6QXd9LHt0eXBlOm1DfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihhayxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UWh9LHt0eXBlOkF3fSx7dHlwZTptQ31dfSksbnVsbCk7Y2xhc3Mgcmt7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMubmFtZXNwYWNlSWQ9dCx0aGlzLmRlbGVnYXRlPWUsdGhpcy5lbmdpbmU9bix0aGlzLmRlc3Ryb3lOb2RlPXRoaXMuZGVsZWdhdGUuZGVzdHJveU5vZGU/dD0+ZS5kZXN0cm95Tm9kZSh0KTpudWxsfWdldCBkYXRhKCl7cmV0dXJuIHRoaXMuZGVsZWdhdGUuZGF0YX1kZXN0cm95KCl7dGhpcy5lbmdpbmUuZGVzdHJveSh0aGlzLm5hbWVzcGFjZUlkLHRoaXMuZGVsZWdhdGUpLHRoaXMuZGVsZWdhdGUuZGVzdHJveSgpfWNyZWF0ZUVsZW1lbnQodCxlKXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZS5jcmVhdGVFbGVtZW50KHQsZSl9Y3JlYXRlQ29tbWVudCh0KXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZS5jcmVhdGVDb21tZW50KHQpfWNyZWF0ZVRleHQodCl7cmV0dXJuIHRoaXMuZGVsZWdhdGUuY3JlYXRlVGV4dCh0KX1hcHBlbmRDaGlsZCh0LGUpe3RoaXMuZGVsZWdhdGUuYXBwZW5kQ2hpbGQodCxlKSx0aGlzLmVuZ2luZS5vbkluc2VydCh0aGlzLm5hbWVzcGFjZUlkLGUsdCwhMSl9aW5zZXJ0QmVmb3JlKHQsZSxuLG89ITApe3RoaXMuZGVsZWdhdGUuaW5zZXJ0QmVmb3JlKHQsZSxuKSx0aGlzLmVuZ2luZS5vbkluc2VydCh0aGlzLm5hbWVzcGFjZUlkLGUsdCxvKX1yZW1vdmVDaGlsZCh0LGUsbil7dGhpcy5lbmdpbmUub25SZW1vdmUodGhpcy5uYW1lc3BhY2VJZCxlLHRoaXMuZGVsZWdhdGUsbil9c2VsZWN0Um9vdEVsZW1lbnQodCxlKXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZS5zZWxlY3RSb290RWxlbWVudCh0LGUpfXBhcmVudE5vZGUodCl7cmV0dXJuIHRoaXMuZGVsZWdhdGUucGFyZW50Tm9kZSh0KX1uZXh0U2libGluZyh0KXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZS5uZXh0U2libGluZyh0KX1zZXRBdHRyaWJ1dGUodCxlLG4sbyl7dGhpcy5kZWxlZ2F0ZS5zZXRBdHRyaWJ1dGUodCxlLG4sbyl9cmVtb3ZlQXR0cmlidXRlKHQsZSxuKXt0aGlzLmRlbGVnYXRlLnJlbW92ZUF0dHJpYnV0ZSh0LGUsbil9YWRkQ2xhc3ModCxlKXt0aGlzLmRlbGVnYXRlLmFkZENsYXNzKHQsZSl9cmVtb3ZlQ2xhc3ModCxlKXt0aGlzLmRlbGVnYXRlLnJlbW92ZUNsYXNzKHQsZSl9c2V0U3R5bGUodCxlLG4sbyl7dGhpcy5kZWxlZ2F0ZS5zZXRTdHlsZSh0LGUsbixvKX1yZW1vdmVTdHlsZSh0LGUsbil7dGhpcy5kZWxlZ2F0ZS5yZW1vdmVTdHlsZSh0LGUsbil9c2V0UHJvcGVydHkodCxlLG4pe2UuY2hhckF0KDApPT1vayYmZT09aWs/dGhpcy5kaXNhYmxlQW5pbWF0aW9ucyh0LCEhbik6dGhpcy5kZWxlZ2F0ZS5zZXRQcm9wZXJ0eSh0LGUsbil9c2V0VmFsdWUodCxlKXt0aGlzLmRlbGVnYXRlLnNldFZhbHVlKHQsZSl9bGlzdGVuKHQsZSxuKXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZS5saXN0ZW4odCxlLG4pfWRpc2FibGVBbmltYXRpb25zKHQsZSl7dGhpcy5lbmdpbmUuZGlzYWJsZUFuaW1hdGlvbnModCxlKX19Y2xhc3Mgc2sgZXh0ZW5kcyBya3tjb25zdHJ1Y3Rvcih0LGUsbixvKXtzdXBlcihlLG4sbyksdGhpcy5mYWN0b3J5PXQsdGhpcy5uYW1lc3BhY2VJZD1lfXNldFByb3BlcnR5KHQsZSxuKXtlLmNoYXJBdCgwKT09b2s/Ii4iPT1lLmNoYXJBdCgxKSYmZT09aWs/dGhpcy5kaXNhYmxlQW5pbWF0aW9ucyh0LG49dm9pZCAwPT09bnx8ISFuKTp0aGlzLmVuZ2luZS5wcm9jZXNzKHRoaXMubmFtZXNwYWNlSWQsdCxlLnN1YnN0cigxKSxuKTp0aGlzLmRlbGVnYXRlLnNldFByb3BlcnR5KHQsZSxuKX1saXN0ZW4odCxlLG4pe2lmKGUuY2hhckF0KDApPT1vayl7Y29uc3Qgbz0oZnVuY3Rpb24gaSh0KXtzd2l0Y2godCl7Y2FzZSJib2R5IjpyZXR1cm4gZG9jdW1lbnQuYm9keTtjYXNlImRvY3VtZW50IjpyZXR1cm4gZG9jdW1lbnQ7Y2FzZSJ3aW5kb3ciOnJldHVybiB3aW5kb3c7ZGVmYXVsdDpyZXR1cm4gdH19KSh0KTtsZXQgYT1lLnN1YnN0cigxKSxyPSIiO3JldHVybiBhLmNoYXJBdCgwKSE9b2smJihbYSxyXT0oZnVuY3Rpb24gcyh0KXtjb25zdCBlPXQuaW5kZXhPZigiLiIpLG49dC5zdWJzdHJpbmcoMCxlKSxvPXQuc3Vic3RyKGUrMSk7cmV0dXJuW24sb119Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykoYSkpLHRoaXMuZW5naW5lLmxpc3Rlbih0aGlzLm5hbWVzcGFjZUlkLG8sYSxyLCh0PT57dGhpcy5mYWN0b3J5LnNjaGVkdWxlTGlzdGVuZXJDYWxsYmFjayh0Ll9kYXRhfHwtMSxuLHQpfSkpfXJldHVybiB0aGlzLmRlbGVnYXRlLmxpc3Rlbih0LGUsbil9fWNsYXNzIGxrIGV4dGVuZHMgQXd7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQuYm9keSxlLG4pfW5nT25EZXN0cm95KCl7dGhpcy5mbHVzaCgpfX1say7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bGspKFRyKHNNKSxUcihuUCksVHIoJFApKX0sbGsuybVwcm92PVNuKHt0b2tlbjpsayxmYWN0b3J5OmxrLsm1ZmFjfSksbGsuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOm5QfSx7dHlwZTokUH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobGssW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6blB9LHt0eXBlOiRQfV19KSxudWxsKTtjb25zdCBjaz1uZXcgZXIoIkFuaW1hdGlvbk1vZHVsZVR5cGUiKSxkaz1be3Byb3ZpZGU6TU8sdXNlQ2xhc3M6JHd9LHtwcm92aWRlOiRQLHVzZUZhY3Rvcnk6ZnVuY3Rpb24gcGsoKXtyZXR1cm4gbmV3IHR3fX0se3Byb3ZpZGU6QXcsdXNlQ2xhc3M6bGt9LHtwcm92aWRlOlFoLHVzZUZhY3Rvcnk6ZnVuY3Rpb24gbWsodCxlLG4pe3JldHVybiBuZXcgYWsodCxlLG4pfSxkZXBzOlt6eCxBdyxtQ119XSxmaz1be3Byb3ZpZGU6blAsdXNlRmFjdG9yeTpmdW5jdGlvbiB1aygpe3JldHVybihmdW5jdGlvbiB0KCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIFF3KCl9KSgpP25ldyBKdzpuZXcgWnd9fSx7cHJvdmlkZTpjayx1c2VWYWx1ZToiQnJvd3NlckFuaW1hdGlvbnMifSwuLi5ka10sZ2s9W3twcm92aWRlOm5QLHVzZUNsYXNzOmVQfSx7cHJvdmlkZTpjayx1c2VWYWx1ZToiTm9vcEFuaW1hdGlvbnMifSwuLi5ka107Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBoa3tzdGF0aWMgd2l0aENvbmZpZyh0KXtyZXR1cm57bmdNb2R1bGU6aGsscHJvdmlkZXJzOnQuZGlzYWJsZUFuaW1hdGlvbnM/Z2s6Zmt9fX1oay7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aGspfSxoay7JtW1vZD1mbyh7dHlwZTpoa30pLGhrLsm1aW5qPURuKHtwcm92aWRlcnM6ZmssaW1wb3J0czpbZE9dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihoayxbe3R5cGU6TF8sYXJnczpbe2V4cG9ydHM6W2RPXSxwcm92aWRlcnM6Zmt9XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhoayx7ZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltkT119fSk7Y2xhc3MgYmt7fWJrLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxiayl9LGJrLsm1bW9kPWZvKHt0eXBlOmJrfSksYmsuybVpbmo9RG4oe3Byb3ZpZGVyczpnayxpbXBvcnRzOltkT119KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGJrLFt7dHlwZTpMXyxhcmdzOlt7ZXhwb3J0czpbZE9dLHByb3ZpZGVyczpna31dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGJrLHtleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW2RPXX19KTtjb25zdCB5az17fTtmdW5jdGlvbiBfayh0LGUpe2lmKHlrW3RdPSh5a1t0XXx8MCkrMSwiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gQ2sodCwoKC4uLm4pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSguLi5uKSkse3R5cGU6dH0pKSk7c3dpdGNoKGU/ZS5fYXM6ImVtcHR5Iil7Y2FzZSJlbXB0eSI6cmV0dXJuIENrKHQsKCgpPT4oe3R5cGU6dH0pKSk7Y2FzZSJwcm9wcyI6cmV0dXJuIENrKHQsKGU9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx7dHlwZTp0fSkpKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBjb25maWcuIil9fWZ1bmN0aW9uIENrKHQsZSl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJ0eXBlIix7dmFsdWU6dCx3cml0YWJsZTohMX0pfWNvbnN0IE1rPSJAbmdyeC9zdG9yZS9pbml0IjtjbGFzcyB2ayBleHRlbmRzIGp7Y29uc3RydWN0b3IoKXtzdXBlcih7dHlwZTpNa30pfW5leHQodCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiXG4gICAgICAgIERpc3BhdGNoIGV4cGVjdGVkIGFuIG9iamVjdCwgaW5zdGVhZCBpdCByZWNlaXZlZCBhIGZ1bmN0aW9uLlxuICAgICAgICBJZiB5b3UncmUgdXNpbmcgdGhlIGNyZWF0ZUFjdGlvbiBmdW5jdGlvbiwgbWFrZSBzdXJlIHRvIGludm9rZSB0aGUgZnVuY3Rpb25cbiAgICAgICAgYmVmb3JlIGRpc3BhdGNoaW5nIHRoZSBhY3Rpb24uIEZvciBleGFtcGxlLCBzb21lQWN0aW9uIHNob3VsZCBiZSBzb21lQWN0aW9uKCkuIik7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBY3Rpb25zIG11c3QgYmUgb2JqZWN0cyIpO2lmKHZvaWQgMD09PXQudHlwZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBY3Rpb25zIG11c3QgaGF2ZSBhIHR5cGUgcHJvcGVydHkiKTtzdXBlci5uZXh0KHQpfWNvbXBsZXRlKCl7fW5nT25EZXN0cm95KCl7c3VwZXIuY29tcGxldGUoKX19dmsuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHZrKX0sdmsuybVwcm92PVNuKHt0b2tlbjp2ayxmYWN0b3J5OnZrLsm1ZmFjfSksdmsuY3RvclBhcmFtZXRlcnM9KCk9PltdLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodmssW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSxudWxsKTtjb25zdCB4az1bdmtdLE9rPW5ldyBlcigiQG5ncngvc3RvcmUgSW50ZXJuYWwgUm9vdCBHdWFyZCIpLFBrPW5ldyBlcigiQG5ncngvc3RvcmUgSW50ZXJuYWwgSW5pdGlhbCBTdGF0ZSIpLHdrPW5ldyBlcigiQG5ncngvc3RvcmUgSW5pdGlhbCBTdGF0ZSIpLGtrPW5ldyBlcigiQG5ncngvc3RvcmUgUmVkdWNlciBGYWN0b3J5IiksU2s9bmV3IGVyKCJAbmdyeC9zdG9yZSBJbnRlcm5hbCBSZWR1Y2VyIEZhY3RvcnkgUHJvdmlkZXIiKSxEaz1uZXcgZXIoIkBuZ3J4L3N0b3JlIEluaXRpYWwgUmVkdWNlcnMiKSxSaz1uZXcgZXIoIkBuZ3J4L3N0b3JlIEludGVybmFsIEluaXRpYWwgUmVkdWNlcnMiKSxFaz1uZXcgZXIoIkBuZ3J4L3N0b3JlIFN0b3JlIEZlYXR1cmVzIiksQWs9bmV3IGVyKCJAbmdyeC9zdG9yZSBJbnRlcm5hbCBTdG9yZSBSZWR1Y2VycyIpLFRrPW5ldyBlcigiQG5ncngvc3RvcmUgSW50ZXJuYWwgRmVhdHVyZSBSZWR1Y2VycyIpLE5rPW5ldyBlcigiQG5ncngvc3RvcmUgSW50ZXJuYWwgRmVhdHVyZSBDb25maWdzIiksems9bmV3IGVyKCJAbmdyeC9zdG9yZSBJbnRlcm5hbCBTdG9yZSBGZWF0dXJlcyIpLElrPW5ldyBlcigiQG5ncngvc3RvcmUgSW50ZXJuYWwgRmVhdHVyZSBSZWR1Y2VycyBUb2tlbiIpLEhrPW5ldyBlcigiQG5ncngvc3RvcmUgRmVhdHVyZSBSZWR1Y2VycyIpLEZrPW5ldyBlcigiQG5ncngvc3RvcmUgVXNlciBQcm92aWRlZCBNZXRhIFJlZHVjZXJzIiksTGs9bmV3IGVyKCJAbmdyeC9zdG9yZSBNZXRhIFJlZHVjZXJzIiksQms9bmV3IGVyKCJAbmdyeC9zdG9yZSBJbnRlcm5hbCBSZXNvbHZlZCBNZXRhIFJlZHVjZXJzIiksVms9bmV3IGVyKCJAbmdyeC9zdG9yZSBVc2VyIFJ1bnRpbWUgQ2hlY2tzIENvbmZpZyIpLGprPW5ldyBlcigiQG5ncngvc3RvcmUgSW50ZXJuYWwgVXNlciBSdW50aW1lIENoZWNrcyBDb25maWciKSxVaz1uZXcgZXIoIkBuZ3J4L3N0b3JlIEludGVybmFsIFJ1bnRpbWUgQ2hlY2tzIiksV2s9bmV3IGVyKCJAbmdyeC9zdG9yZSBDaGVjayBpZiBBY3Rpb24gdHlwZXMgYXJlIHVuaXF1ZSIpO2Z1bmN0aW9uIEdrKHQsZT17fSl7Y29uc3Qgbj1PYmplY3Qua2V5cyh0KSxvPXt9O2ZvcihsZXQgZT0wO2U8bi5sZW5ndGg7ZSsrKXtjb25zdCBpPW5bZV07ImZ1bmN0aW9uIj09dHlwZW9mIHRbaV0mJihvW2ldPXRbaV0pfWNvbnN0IGk9T2JqZWN0LmtleXMobyk7cmV0dXJuIGZ1bmN0aW9uIHQobixhKXtuPXZvaWQgMD09PW4/ZTpuO2xldCByPSExO2NvbnN0IHM9e307Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0Kyspe2NvbnN0IGU9aVt0XSxsPW5bZV0sYz0oMCxvW2VdKShsLGEpO3NbZV09YyxyPXJ8fGMhPT1sfXJldHVybiByP3M6bn19ZnVuY3Rpb24gWWsoLi4udCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gZTtjb25zdCBuPXRbdC5sZW5ndGgtMV07cmV0dXJuIHQuc2xpY2UoMCwtMSkucmVkdWNlUmlnaHQoKCh0LGUpPT5lKHQpKSxuKGUpKX19ZnVuY3Rpb24gcWsodCxlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGg+MCYmKHQ9WWsuYXBwbHkobnVsbCxbLi4uZSx0XSkpLChlLG4pPT57Y29uc3Qgbz10KGUpO3JldHVybih0LGUpPT5vKHQ9dm9pZCAwPT09dD9uOnQsZSl9fWNsYXNzIFprIGV4dGVuZHMgVHt9Y2xhc3MgWGsgZXh0ZW5kcyB2a3t9Y2xhc3MgS2sgZXh0ZW5kcyBqe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKG8obixlKSksdGhpcy5kaXNwYXRjaGVyPXQsdGhpcy5pbml0aWFsU3RhdGU9ZSx0aGlzLnJlZHVjZXJzPW4sdGhpcy5yZWR1Y2VyRmFjdG9yeT1vfWdldCBjdXJyZW50UmVkdWNlcnMoKXtyZXR1cm4gdGhpcy5yZWR1Y2Vyc31hZGRGZWF0dXJlKHQpe3RoaXMuYWRkRmVhdHVyZXMoW3RdKX1hZGRGZWF0dXJlcyh0KXtjb25zdCBlPXQucmVkdWNlKCgodCx7cmVkdWNlcnM6ZSxyZWR1Y2VyRmFjdG9yeTpuLG1ldGFSZWR1Y2VyczpvLGluaXRpYWxTdGF0ZTppLGtleTphfSk9Pntjb25zdCByPSJmdW5jdGlvbiI9PXR5cGVvZiBlPyhmdW5jdGlvbiBzKHQpe2NvbnN0IGU9QXJyYXkuaXNBcnJheSh0KSYmdC5sZW5ndGg+MD9ZayguLi50KTp0PT50O3JldHVybih0LG4pPT4odD1lKHQpLChlLG8pPT50KGU9dm9pZCAwPT09ZT9uOmUsbykpfSkobykoZSxpKTpxayhuLG8pKGUsaSk7cmV0dXJuIHRbYV09cix0fSkse30pO3RoaXMuYWRkUmVkdWNlcnMoZSl9cmVtb3ZlRmVhdHVyZSh0KXt0aGlzLnJlbW92ZUZlYXR1cmVzKFt0XSl9cmVtb3ZlRmVhdHVyZXModCl7dGhpcy5yZW1vdmVSZWR1Y2Vycyh0Lm1hcCgodD0+dC5rZXkpKSl9YWRkUmVkdWNlcih0LGUpe3RoaXMuYWRkUmVkdWNlcnMoe1t0XTplfSl9YWRkUmVkdWNlcnModCl7dGhpcy5yZWR1Y2Vycz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdGhpcy5yZWR1Y2VycyksdCksdGhpcy51cGRhdGVSZWR1Y2VycyhPYmplY3Qua2V5cyh0KSl9cmVtb3ZlUmVkdWNlcih0KXt0aGlzLnJlbW92ZVJlZHVjZXJzKFt0XSl9cmVtb3ZlUmVkdWNlcnModCl7dC5mb3JFYWNoKCh0PT57dGhpcy5yZWR1Y2Vycz0oZnVuY3Rpb24gZSh0LG4pe3JldHVybiBPYmplY3Qua2V5cyh0KS5maWx0ZXIoKHQ9PnQhPT1uKSkucmVkdWNlKCgoZSxuKT0+T2JqZWN0LmFzc2lnbihlLHtbbl06dFtuXX0pKSx7fSl9KSh0aGlzLnJlZHVjZXJzLHQpfSkpLHRoaXMudXBkYXRlUmVkdWNlcnModCl9dXBkYXRlUmVkdWNlcnModCl7dGhpcy5uZXh0KHRoaXMucmVkdWNlckZhY3RvcnkodGhpcy5yZWR1Y2Vycyx0aGlzLmluaXRpYWxTdGF0ZSkpLHRoaXMuZGlzcGF0Y2hlci5uZXh0KHt0eXBlOiJAbmdyeC9zdG9yZS91cGRhdGUtcmVkdWNlcnMiLGZlYXR1cmVzOnR9KX1uZ09uRGVzdHJveSgpe3RoaXMuY29tcGxldGUoKX19S2suybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEtrKShUcihYayksVHIod2spLFRyKERrKSxUcihraykpfSxLay7JtXByb3Y9U24oe3Rva2VuOktrLGZhY3Rvcnk6S2suybVmYWN9KSxLay5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlhrfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbd2tdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltEa119XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2trXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihLayxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6WGt9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOlt3a119XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W0RrXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpba2tdfV19XX0pLG51bGwpO2NvbnN0IEprPVtLayx7cHJvdmlkZTpaayx1c2VFeGlzdGluZzpLa30se3Byb3ZpZGU6WGssdXNlRXhpc3Rpbmc6dmt9XTtjbGFzcyBRayBleHRlbmRzIEJ7bmdPbkRlc3Ryb3koKXt0aGlzLmNvbXBsZXRlKCl9fVFrLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShRaykpKShufHxRayl9fSkoKSxRay7JtXByb3Y9U24oe3Rva2VuOlFrLGZhY3Rvcnk6UWsuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFFrLFt7dHlwZTpVbX1dLG51bGwsbnVsbCk7Y29uc3QgJGs9W1FrXTtjbGFzcyB0UyBleHRlbmRzIFR7fWNsYXNzIGVTIGV4dGVuZHMgantjb25zdHJ1Y3Rvcih0LGUsbixvKXtzdXBlcihvKTtjb25zdCBpPXQucGlwZSgoZnVuY3Rpb24gcih0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT0wKSx6KChmdW5jdGlvbihuLG8pe24uc3Vic2NyaWJlKG5ldyBIKG8sKGZ1bmN0aW9uKG4pe3JldHVybiBvLmFkZCh0LnNjaGVkdWxlKChmdW5jdGlvbigpe3JldHVybiBvLm5leHQobil9KSxlKSl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gby5hZGQodC5zY2hlZHVsZSgoZnVuY3Rpb24oKXtyZXR1cm4gby5jb21wbGV0ZSgpfSksZSkpfSksKGZ1bmN0aW9uKG4pe3JldHVybiBvLmFkZCh0LnNjaGVkdWxlKChmdW5jdGlvbigpe3JldHVybiBvLmVycm9yKG4pfSksZSkpfSkpKX0pKX0pKHN0KSkucGlwZShxZShlKSkucGlwZSgoZnVuY3Rpb24gYSh0LGUpe3JldHVybiB6KGJlKHQsZSxhcmd1bWVudHMubGVuZ3RoPj0yLCEwKSl9KShuUyx7c3RhdGU6b30pKTt0aGlzLnN0YXRlU3Vic2NyaXB0aW9uPWkuc3Vic2NyaWJlKCgoe3N0YXRlOnQsYWN0aW9uOmV9KT0+e3RoaXMubmV4dCh0KSxuLm5leHQoZSl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLnN0YXRlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5jb21wbGV0ZSgpfX1mdW5jdGlvbiBuUyh0PXtzdGF0ZTp2b2lkIDB9LFtlLG5dKXtjb25zdHtzdGF0ZTpvfT10O3JldHVybntzdGF0ZTpuKG8sZSksYWN0aW9uOmV9fWVTLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxlUykoVHIodmspLFRyKFprKSxUcihRayksVHIod2spKX0sZVMuybVwcm92PVNuKHt0b2tlbjplUyxmYWN0b3J5OmVTLsm1ZmFjfSksZVMuSU5JVD1NayxlUy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnZrfSx7dHlwZTpaa30se3R5cGU6UWt9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOlt3a119XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZVMsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZrfSx7dHlwZTpaa30se3R5cGU6UWt9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOlt3a119XX1dfSksbnVsbCk7Y29uc3Qgb1M9W2VTLHtwcm92aWRlOnRTLHVzZUV4aXN0aW5nOmVTfV07Y2xhc3MgaVMgZXh0ZW5kcyBUe2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcigpLHRoaXMuYWN0aW9uc09ic2VydmVyPWUsdGhpcy5yZWR1Y2VyTWFuYWdlcj1uLHRoaXMuc291cmNlPXR9c2VsZWN0KHQsLi4uZSl7cmV0dXJuIHJTLmNhbGwobnVsbCx0LC4uLmUpKHRoaXMpfWxpZnQodCl7Y29uc3QgZT1uZXcgaVModGhpcyx0aGlzLmFjdGlvbnNPYnNlcnZlcix0aGlzLnJlZHVjZXJNYW5hZ2VyKTtyZXR1cm4gZS5vcGVyYXRvcj10LGV9ZGlzcGF0Y2godCl7dGhpcy5hY3Rpb25zT2JzZXJ2ZXIubmV4dCh0KX1uZXh0KHQpe3RoaXMuYWN0aW9uc09ic2VydmVyLm5leHQodCl9ZXJyb3IodCl7dGhpcy5hY3Rpb25zT2JzZXJ2ZXIuZXJyb3IodCl9Y29tcGxldGUoKXt0aGlzLmFjdGlvbnNPYnNlcnZlci5jb21wbGV0ZSgpfWFkZFJlZHVjZXIodCxlKXt0aGlzLnJlZHVjZXJNYW5hZ2VyLmFkZFJlZHVjZXIodCxlKX1yZW1vdmVSZWR1Y2VyKHQpe3RoaXMucmVkdWNlck1hbmFnZXIucmVtb3ZlUmVkdWNlcih0KX19aVMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGlTKShUcih0UyksVHIodmspLFRyKEtrKSl9LGlTLsm1cHJvdj1Tbih7dG9rZW46aVMsZmFjdG9yeTppUy7JtWZhY30pLGlTLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dFN9LHt0eXBlOnZrfSx7dHlwZTpLa31dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaVMsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnRTfSx7dHlwZTp2a30se3R5cGU6S2t9XX0pLG51bGwpO2NvbnN0IGFTPVtpU107ZnVuY3Rpb24gclModCxlLC4uLm4pe3JldHVybiBmdW5jdGlvbiBvKGkpe2xldCBhO2lmKCJzdHJpbmciPT10eXBlb2YgdCl7Y29uc3Qgbz1bZSwuLi5uXS5maWx0ZXIoQm9vbGVhbik7YT1pLnBpcGUoKGZ1bmN0aW9uIHIoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIG49dC5sZW5ndGg7aWYoMD09PW4pdGhyb3cgbmV3IEVycm9yKCJsaXN0IG9mIHByb3BlcnRpZXMgY2Fubm90IGJlIGVtcHR5LiIpO3JldHVybiBWdCgoZnVuY3Rpb24oZSl7Zm9yKHZhciBvPWUsaT0wO2k8bjtpKyspe3ZhciBhPW51bGw9PW8/dm9pZCAwOm9bdFtpXV07aWYodm9pZCAwPT09YSlyZXR1cm47bz1hfXJldHVybiBvfSkpfSkodCwuLi5vKSl9ZWxzZXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKGBVbmV4cGVjdGVkIHR5cGUgJyR7dHlwZW9mIHR9JyBpbiBzZWxlY3Qgb3BlcmF0b3IsIGV4cGVjdGVkICdzdHJpbmcnIG9yICdmdW5jdGlvbidgKTthPWkucGlwZShWdCgobj0+dChuLGUpKSkpfXJldHVybiBhLnBpcGUod2UoKSl9fWNvbnN0IHNTPSJodHRwczovL25ncnguaW8vZ3VpZGUvc3RvcmUvY29uZmlndXJhdGlvbi9ydW50aW1lLWNoZWNrcyI7ZnVuY3Rpb24gbFModCl7cmV0dXJuIHZvaWQgMD09PXR9ZnVuY3Rpb24gY1ModCl7cmV0dXJuIG51bGw9PT10fWZ1bmN0aW9uIGRTKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpfWZ1bmN0aW9uIHBTKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXR9ZnVuY3Rpb24gbVModCl7aWYoIShmdW5jdGlvbiBlKHQpe3JldHVybiBwUyh0KSYmIWRTKHQpfSkodCkpcmV0dXJuITE7Y29uc3Qgbj1PYmplY3QuZ2V0UHJvdG90eXBlT2YodCk7cmV0dXJuIG49PT1PYmplY3QucHJvdG90eXBlfHxudWxsPT09bn1mdW5jdGlvbiBmUyh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH1mdW5jdGlvbiB1Uyh0LGUpe3JldHVybiB0PT09ZX1mdW5jdGlvbiBnUyh0LGUsbil7Zm9yKGxldCBvPTA7bzx0Lmxlbmd0aDtvKyspaWYoIW4odFtvXSxlW29dKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBoUyh0LGU9dVMsbj11Uyl7bGV0IG8saT1udWxsLGE9bnVsbDtyZXR1cm57bWVtb2l6ZWQ6ZnVuY3Rpb24gcigpe2lmKHZvaWQgMCE9PW8pcmV0dXJuIG8ucmVzdWx0O2lmKCFpKXJldHVybiBhPXQuYXBwbHkobnVsbCxhcmd1bWVudHMpLGk9YXJndW1lbnRzLGE7aWYoIWdTKGFyZ3VtZW50cyxpLGUpKXJldHVybiBhO2NvbnN0IHI9dC5hcHBseShudWxsLGFyZ3VtZW50cyk7cmV0dXJuIGk9YXJndW1lbnRzLG4oYSxyKT9hOihhPXIscil9LHJlc2V0OmZ1bmN0aW9uIHMoKXtpPW51bGwsYT1udWxsfSxzZXRSZXN1bHQ6ZnVuY3Rpb24gbCh0KXtvPXtyZXN1bHQ6dH19LGNsZWFyUmVzdWx0OmZ1bmN0aW9uIGMoKXtvPXZvaWQgMH19fWZ1bmN0aW9uIGJTKC4uLnQpe3JldHVybihmdW5jdGlvbiBlKHQsbj17c3RhdGVGbjp5U30pe3JldHVybiBmdW5jdGlvbiguLi5lKXtsZXQgbz1lO2lmKEFycmF5LmlzQXJyYXkob1swXSkpe2NvbnN0W3QsLi4uZV09bztvPVsuLi50LC4uLmVdfWNvbnN0IGk9by5zbGljZSgwLG8ubGVuZ3RoLTEpLGE9b1tvLmxlbmd0aC0xXSxyPWkuZmlsdGVyKCh0PT50LnJlbGVhc2UmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnJlbGVhc2UpKSxzPXQoKGZ1bmN0aW9uKC4uLnQpe3JldHVybiBhLmFwcGx5KG51bGwsdCl9KSksbD1oUygoZnVuY3Rpb24odCxlKXtyZXR1cm4gbi5zdGF0ZUZuLmFwcGx5KG51bGwsW3QsaSxlLHNdKX0pKTtmdW5jdGlvbiBjKCl7bC5yZXNldCgpLHMucmVzZXQoKSxyLmZvckVhY2goKHQ9PnQucmVsZWFzZSgpKSl9cmV0dXJuIE9iamVjdC5hc3NpZ24obC5tZW1vaXplZCx7cmVsZWFzZTpjLHByb2plY3RvcjpzLm1lbW9pemVkLHNldFJlc3VsdDpsLnNldFJlc3VsdCxjbGVhclJlc3VsdDpsLmNsZWFyUmVzdWx0fSl9fSkoaFMpKC4uLnQpfWZ1bmN0aW9uIHlTKHQsZSxuLG8pe2lmKHZvaWQgMD09PW4pe2NvbnN0IG49ZS5tYXAoKGU9PmUodCkpKTtyZXR1cm4gby5tZW1vaXplZC5hcHBseShudWxsLG4pfWNvbnN0IGk9ZS5tYXAoKGU9PmUodCxuKSkpO3JldHVybiBvLm1lbW9pemVkLmFwcGx5KG51bGwsWy4uLmksbl0pfWZ1bmN0aW9uIF9TKHQpe3JldHVybiBiUygoZT0+e2NvbnN0IG49ZVt0XTtyZXR1cm4gUEMoKSYmISh0IGluIGUpJiZjb25zb2xlLndhcm4oYEBuZ3J4L3N0b3JlOiBUaGUgZmVhdHVyZSBuYW1lICIke3R9IiBkb2VzIG5vdCBleGlzdCBpbiB0aGUgc3RhdGUsIHRoZXJlZm9yZSBjcmVhdGVGZWF0dXJlU2VsZWN0b3IgY2Fubm90IGFjY2VzcyBpdC4gIEJlIHN1cmUgaXQgaXMgaW1wb3J0ZWQgaW4gYSBsb2FkZWQgbW9kdWxlIHVzaW5nIFN0b3JlTW9kdWxlLmZvclJvb3QoJyR7dH0nLCAuLi4pIG9yIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoJyR7dH0nLCAuLi4pLiAgSWYgdGhlIGRlZmF1bHQgc3RhdGUgaXMgaW50ZW5kZWQgdG8gYmUgdW5kZWZpbmVkLCBhcyBpcyB0aGUgY2FzZSB3aXRoIHJvdXRlciBzdGF0ZSwgdGhpcyBkZXZlbG9wbWVudC1vbmx5IHdhcm5pbmcgbWVzc2FnZSBjYW4gYmUgaWdub3JlZC5gKSxufSksKHQ9PnQpKX1mdW5jdGlvbiBDUyh0KXtPYmplY3QuZnJlZXplKHQpO2NvbnN0IGU9ZlModCk7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLmZvckVhY2goKG49PntpZighbi5zdGFydHNXaXRoKCLJtSIpJiYoZnVuY3Rpb24gbyh0LGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKX0pKHQsbikmJighZXx8ImNhbGxlciIhPT1uJiYiY2FsbGVlIiE9PW4mJiJhcmd1bWVudHMiIT09bikpe2NvbnN0IGU9dFtuXTshcFMoZSkmJiFmUyhlKXx8T2JqZWN0LmlzRnJvemVuKGUpfHxDUyhlKX19KSksdH1mdW5jdGlvbiBNUyh0LGU9W10pe2lmKChsUyh0KXx8Y1ModCkpJiYwPT09ZS5sZW5ndGgpcmV0dXJue3BhdGg6WyJyb290Il0sdmFsdWU6dH07cmV0dXJuIE9iamVjdC5rZXlzKHQpLnJlZHVjZSgoKG4sbyk9PntpZihuKXJldHVybiBuO2NvbnN0IGk9dFtvXTtyZXR1cm4oZnVuY3Rpb24gYSh0KXtyZXR1cm4gZlModCkmJnQuaGFzT3duUHJvcGVydHkoIsm1Y21wIil9KShpKT9uOiEobFMoaSl8fGNTKGkpfHwoZnVuY3Rpb24gcih0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHR9KShpKXx8KGZ1bmN0aW9uIHModCl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgdH0pKGkpfHwoZnVuY3Rpb24gbCh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR9KShpKXx8ZFMoaSkpJiYobVMoaSk/TVMoaSxbLi4uZSxvXSk6e3BhdGg6Wy4uLmUsb10sdmFsdWU6aX0pfSksITEpfWZ1bmN0aW9uIHZTKHQsZSl7aWYoITE9PT10KXJldHVybjtjb25zdCBuPXQucGF0aC5qb2luKCIuIiksbz1uZXcgRXJyb3IoYERldGVjdGVkIHVuc2VyaWFsaXphYmxlICR7ZX0gYXQgIiR7bn0iLiAke3NTfSNzdHJpY3Qke2V9c2VyaWFsaXphYmlsaXR5YCk7dGhyb3cgby52YWx1ZT10LnZhbHVlLG8udW5zZXJpYWxpemFibGVQYXRoPW4sb31mdW5jdGlvbiB4Uyh0KXtyZXR1cm4gUEMoKT9PYmplY3QuYXNzaWduKHtzdHJpY3RTdGF0ZVNlcmlhbGl6YWJpbGl0eTohMSxzdHJpY3RBY3Rpb25TZXJpYWxpemFiaWxpdHk6ITEsc3RyaWN0U3RhdGVJbW11dGFiaWxpdHk6ITAsc3RyaWN0QWN0aW9uSW1tdXRhYmlsaXR5OiEwLHN0cmljdEFjdGlvbldpdGhpbk5nWm9uZTohMSxzdHJpY3RBY3Rpb25UeXBlVW5pcXVlbmVzczohMX0sdCk6e3N0cmljdFN0YXRlU2VyaWFsaXphYmlsaXR5OiExLHN0cmljdEFjdGlvblNlcmlhbGl6YWJpbGl0eTohMSxzdHJpY3RTdGF0ZUltbXV0YWJpbGl0eTohMSxzdHJpY3RBY3Rpb25JbW11dGFiaWxpdHk6ITEsc3RyaWN0QWN0aW9uV2l0aGluTmdab25lOiExLHN0cmljdEFjdGlvblR5cGVVbmlxdWVuZXNzOiExfX1mdW5jdGlvbiBPUyh7c3RyaWN0QWN0aW9uU2VyaWFsaXphYmlsaXR5OnQsc3RyaWN0U3RhdGVTZXJpYWxpemFiaWxpdHk6ZX0pe3JldHVybiBuPT50fHxlPyhmdW5jdGlvbiBvKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4sbyl7ZS5hY3Rpb24obykmJnZTKE1TKG8pLCJhY3Rpb24iKTtjb25zdCBpPXQobixvKTtyZXR1cm4gZS5zdGF0ZSgpJiZ2UyhNUyhpKSwic3RhdGUiKSxpfX0pKG4se2FjdGlvbjplPT50JiYhd1MoZSksc3RhdGU6KCk9PmV9KTpufWZ1bmN0aW9uIFBTKHtzdHJpY3RBY3Rpb25JbW11dGFiaWxpdHk6dCxzdHJpY3RTdGF0ZUltbXV0YWJpbGl0eTplfSl7cmV0dXJuIG49PnR8fGU/KGZ1bmN0aW9uIG8odCxlKXtyZXR1cm4gZnVuY3Rpb24obixvKXtjb25zdCBpPWUuYWN0aW9uKG8pP0NTKG8pOm8sYT10KG4saSk7cmV0dXJuIGUuc3RhdGUoKT9DUyhhKTphfX0pKG4se2FjdGlvbjplPT50JiYhd1MoZSksc3RhdGU6KCk9PmV9KTpufWZ1bmN0aW9uIHdTKHQpe3JldHVybiB0LnR5cGUuc3RhcnRzV2l0aCgiQG5ncngiKX1mdW5jdGlvbiBrUyh7c3RyaWN0QWN0aW9uV2l0aGluTmdab25lOnR9KXtyZXR1cm4gZT0+dD8oZnVuY3Rpb24gbih0LGUpe3JldHVybiBmdW5jdGlvbihuLG8pe2lmKGUuYWN0aW9uKG8pJiYhbUMuaXNJbkFuZ3VsYXJab25lKCkpdGhyb3cgbmV3IEVycm9yKGBBY3Rpb24gJyR7by50eXBlfScgcnVubmluZyBvdXRzaWRlIE5nWm9uZS4gJHtzU30jc3RyaWN0YWN0aW9ud2l0aGlubmd6b25lYCk7cmV0dXJuIHQobixvKX19KShlLHthY3Rpb246ZT0+dCYmIXdTKGUpfSk6ZX1mdW5jdGlvbiBTUygpe3JldHVyblt7cHJvdmlkZTpXayxtdWx0aTohMCxkZXBzOltVa10sdXNlRmFjdG9yeTpSU31dfWZ1bmN0aW9uIERTKHQpe3JldHVybiB0fWZ1bmN0aW9uIFJTKHQpe2lmKCF0LnN0cmljdEFjdGlvblR5cGVVbmlxdWVuZXNzKXJldHVybjtjb25zdCBlPU9iamVjdC5lbnRyaWVzKHlrKS5maWx0ZXIoKChbLHRdKT0+dD4xKSkubWFwKCgoW3RdKT0+dCkpO2lmKGUubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgQWN0aW9uIHR5cGVzIGFyZSByZWdpc3RlcmVkIG1vcmUgdGhhbiBvbmNlLCAke2UubWFwKCh0PT5gIiR7dH0iYCkpLmpvaW4oIiwgIil9LiAke3NTfSNzdHJpY3RhY3Rpb250eXBldW5pcXVlbmVzc2ApfWNsYXNzIEVTe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhKXt9fUVTLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxFUykoVHIodmspLFRyKFprKSxUcihRayksVHIoaVMpLFRyKE9rLDgpLFRyKFdrLDgpKX0sRVMuybVtb2Q9Zm8oe3R5cGU6RVN9KSxFUy7JtWluaj1Ebih7fSksRVMuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2a30se3R5cGU6Wmt9LHt0eXBlOlFrfSx7dHlwZTppU30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltPa119XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltXa119XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRVMsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2a30se3R5cGU6Wmt9LHt0eXBlOlFrfSx7dHlwZTppU30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltPa119XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltXa119XX1dfSksbnVsbCk7Y2xhc3MgQVN7Y29uc3RydWN0b3IodCxlLG4sbyxpKXt0aGlzLmZlYXR1cmVzPXQsdGhpcy5mZWF0dXJlUmVkdWNlcnM9ZSx0aGlzLnJlZHVjZXJNYW5hZ2VyPW47Y29uc3QgYT10Lm1hcCgoKHQsbik9Pntjb25zdCBvPWUuc2hpZnQoKVtuXTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtyZWR1Y2VyczpvLGluaXRpYWxTdGF0ZTpIUyh0LmluaXRpYWxTdGF0ZSl9KX0pKTtuLmFkZEZlYXR1cmVzKGEpfW5nT25EZXN0cm95KCl7dGhpcy5yZWR1Y2VyTWFuYWdlci5yZW1vdmVGZWF0dXJlcyh0aGlzLmZlYXR1cmVzKX19QVMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEFTKShUcih6ayksVHIoSGspLFRyKEtrKSxUcihFUyksVHIoV2ssOCkpfSxBUy7JtW1vZD1mbyh7dHlwZTpBU30pLEFTLsm1aW5qPURuKHt9KSxBUy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3prXX1dfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltIa119XX0se3R5cGU6S2t9LHt0eXBlOkVTfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1drXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihBUyxbe3R5cGU6TF8sYXJnczpbe31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3prXX1dfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltIa119XX0se3R5cGU6S2t9LHt0eXBlOkVTfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1drXX1dfV19KSxudWxsKTtjbGFzcyBUU3tzdGF0aWMgZm9yUm9vdCh0LGU9e30pe3JldHVybntuZ01vZHVsZTpFUyxwcm92aWRlcnM6W3twcm92aWRlOk9rLHVzZUZhY3Rvcnk6TFMsZGVwczpbW2lTLG5ldyBCcixuZXcganJdXX0se3Byb3ZpZGU6UGssdXNlVmFsdWU6ZS5pbml0aWFsU3RhdGV9LHtwcm92aWRlOndrLHVzZUZhY3Rvcnk6SFMsZGVwczpbUGtdfSx7cHJvdmlkZTpSayx1c2VWYWx1ZTp0fSx7cHJvdmlkZTpBayx1c2VFeGlzdGluZzp0IGluc3RhbmNlb2YgZXI/dDpSa30se3Byb3ZpZGU6RGssZGVwczpbTnAsUmssW25ldyBMcihBayldXSx1c2VGYWN0b3J5Ok5TfSx7cHJvdmlkZTpGayx1c2VWYWx1ZTplLm1ldGFSZWR1Y2Vycz9lLm1ldGFSZWR1Y2VyczpbXX0se3Byb3ZpZGU6QmssZGVwczpbTGssRmtdLHVzZUZhY3Rvcnk6RlN9LHtwcm92aWRlOlNrLHVzZVZhbHVlOmUucmVkdWNlckZhY3Rvcnk/ZS5yZWR1Y2VyRmFjdG9yeTpHa30se3Byb3ZpZGU6a2ssZGVwczpbU2ssQmtdLHVzZUZhY3Rvcnk6cWt9LHhrLEprLCRrLG9TLGFTLChuPWUucnVudGltZUNoZWNrcyxbe3Byb3ZpZGU6amssdXNlVmFsdWU6bn0se3Byb3ZpZGU6VmssdXNlRmFjdG9yeTpEUyxkZXBzOltqa119LHtwcm92aWRlOlVrLGRlcHM6W1ZrXSx1c2VGYWN0b3J5OnhTfSx7cHJvdmlkZTpMayxtdWx0aTohMCxkZXBzOltVa10sdXNlRmFjdG9yeTpQU30se3Byb3ZpZGU6TGssbXVsdGk6ITAsZGVwczpbVWtdLHVzZUZhY3Rvcnk6T1N9LHtwcm92aWRlOkxrLG11bHRpOiEwLGRlcHM6W1VrXSx1c2VGYWN0b3J5OmtTfV0pLFNTKCldfTt2YXIgbn1zdGF0aWMgZm9yRmVhdHVyZSh0LGUsbj17fSl7cmV0dXJue25nTW9kdWxlOkFTLHByb3ZpZGVyczpbe3Byb3ZpZGU6TmssbXVsdGk6ITAsdXNlVmFsdWU6dCBpbnN0YW5jZW9mIE9iamVjdD97fTpufSx7cHJvdmlkZTpFayxtdWx0aTohMCx1c2VWYWx1ZTp7a2V5OnQgaW5zdGFuY2VvZiBPYmplY3Q/dC5uYW1lOnQscmVkdWNlckZhY3Rvcnk6biBpbnN0YW5jZW9mIGVyfHwhbi5yZWR1Y2VyRmFjdG9yeT9HazpuLnJlZHVjZXJGYWN0b3J5LG1ldGFSZWR1Y2VyczpuIGluc3RhbmNlb2YgZXJ8fCFuLm1ldGFSZWR1Y2Vycz9bXTpuLm1ldGFSZWR1Y2Vycyxpbml0aWFsU3RhdGU6biBpbnN0YW5jZW9mIGVyfHwhbi5pbml0aWFsU3RhdGU/dm9pZCAwOm4uaW5pdGlhbFN0YXRlfX0se3Byb3ZpZGU6emssZGVwczpbTnAsTmssRWtdLHVzZUZhY3Rvcnk6elN9LHtwcm92aWRlOlRrLG11bHRpOiEwLHVzZVZhbHVlOnQgaW5zdGFuY2VvZiBPYmplY3Q/dC5yZWR1Y2VyOmV9LHtwcm92aWRlOklrLG11bHRpOiEwLHVzZUV4aXN0aW5nOmUgaW5zdGFuY2VvZiBlcj9lOlRrfSx7cHJvdmlkZTpIayxtdWx0aTohMCxkZXBzOltOcCxUayxbbmV3IExyKElrKV1dLHVzZUZhY3Rvcnk6SVN9LFNTKCldfX19ZnVuY3Rpb24gTlModCxlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIGVyP3QuZ2V0KGUpOmV9ZnVuY3Rpb24gelModCxlLG4pe3JldHVybiBuLm1hcCgoKG4sbyk9PntpZihlW29daW5zdGFuY2VvZiBlcil7Y29uc3QgaT10LmdldChlW29dKTtyZXR1cm57a2V5Om4ua2V5LHJlZHVjZXJGYWN0b3J5OmkucmVkdWNlckZhY3Rvcnk/aS5yZWR1Y2VyRmFjdG9yeTpHayxtZXRhUmVkdWNlcnM6aS5tZXRhUmVkdWNlcnM/aS5tZXRhUmVkdWNlcnM6W10saW5pdGlhbFN0YXRlOmkuaW5pdGlhbFN0YXRlfX1yZXR1cm4gbn0pKX1mdW5jdGlvbiBJUyh0LGUpe3JldHVybiBlLm1hcCgoZT0+ZSBpbnN0YW5jZW9mIGVyP3QuZ2V0KGUpOmUpKX1mdW5jdGlvbiBIUyh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90KCk6dH1mdW5jdGlvbiBGUyh0LGUpe3JldHVybiB0LmNvbmNhdChlKX1mdW5jdGlvbiBMUyh0KXtpZih0KXRocm93IG5ldyBUeXBlRXJyb3IoIlN0b3JlTW9kdWxlLmZvclJvb3QoKSBjYWxsZWQgdHdpY2UuIEZlYXR1cmUgbW9kdWxlcyBzaG91bGQgdXNlIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoKSBpbnN0ZWFkLiIpO3JldHVybiJndWFyZGVkIn1mdW5jdGlvbiBCUyguLi50KXtyZXR1cm57cmVkdWNlcjp0LnBvcCgpLHR5cGVzOnQubWFwKCh0PT50LnR5cGUpKX19ZnVuY3Rpb24gVlModCwuLi5lKXtjb25zdCBuPW5ldyBNYXA7Zm9yKGNvbnN0IHQgb2YgZSlmb3IoY29uc3QgZSBvZiB0LnR5cGVzKXtjb25zdCBvPW4uZ2V0KGUpO2lmKG8pe24uc2V0KGUsKChlLG4pPT50LnJlZHVjZXIobyhlLG4pLG4pKSl9ZWxzZSBuLnNldChlLHQucmVkdWNlcil9cmV0dXJuIGZ1bmN0aW9uKGU9dCxvKXtjb25zdCBpPW4uZ2V0KG8udHlwZSk7cmV0dXJuIGk/aShlLG8pOmV9fVRTLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxUUyl9LFRTLsm1bW9kPWZvKHt0eXBlOlRTfSksVFMuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVFMsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLG51bGwsbnVsbCk7Y29uc3QgalM9e2Rpc3BhdGNoOiEwLHVzZUVmZmVjdHNFcnJvckhhbmRsZXI6ITB9LFVTPSJfX0BuZ3J4L2VmZmVjdHNfY3JlYXRlX18iO2Z1bmN0aW9uIFdTKHQsZSl7Y29uc3Qgbj10KCksbz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30salMpLGUpO3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkobixVUyx7dmFsdWU6b30pLG59ZnVuY3Rpb24gR1ModCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLmZpbHRlcigoZT0+e2lmKHRbZV0mJnRbZV0uaGFzT3duUHJvcGVydHkoVVMpKXtyZXR1cm4gdFtlXVtVU10uaGFzT3duUHJvcGVydHkoImRpc3BhdGNoIil9cmV0dXJuITF9KSkubWFwKChlPT5PYmplY3QuYXNzaWduKHtwcm9wZXJ0eU5hbWU6ZX0sdFtlXVtVU10pKSl9ZnVuY3Rpb24gWVModCl7cmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZih0KX1jb25zdCBxUz0iX19AbmdyeC9lZmZlY3RzX18iO2Z1bmN0aW9uIFpTKHQpe3JldHVybiBZayhYUyxZUykodCl9ZnVuY3Rpb24gWFModCl7cmV0dXJuKGZ1bmN0aW9uIGUodCl7cmV0dXJuIHQuY29uc3RydWN0b3IuaGFzT3duUHJvcGVydHkocVMpfSkodCk/dC5jb25zdHJ1Y3RvcltxU106W119ZnVuY3Rpb24gS1ModCxlLG4pe2NvbnN0IG89WVModCkuY29uc3RydWN0b3IubmFtZTtyZXR1cm4gcGUoLi4uKGZ1bmN0aW9uIGkodCl7cmV0dXJuW1pTLEdTXS5yZWR1Y2UoKChlLG4pPT5lLmNvbmNhdChuKHQpKSksW10pfSkodCkubWFwKCgoe3Byb3BlcnR5TmFtZTppLGRpc3BhdGNoOmEsdXNlRWZmZWN0c0Vycm9ySGFuZGxlcjpyfSk9Pntjb25zdCBzPSJmdW5jdGlvbiI9PXR5cGVvZiB0W2ldP3RbaV0oKTp0W2ldLGw9cj9uKHMsZSk6cztpZighMT09PWEpcmV0dXJuIGwucGlwZSh4ZSgpKTtyZXR1cm4gbC5waXBlKChmdW5jdGlvbiBjKCl7cmV0dXJuIHooKGZ1bmN0aW9uKHQsZSl7dC5zdWJzY3JpYmUobmV3IEgoZSwoZnVuY3Rpb24odCl7ZS5uZXh0KEh0LmNyZWF0ZU5leHQodCkpfSksKGZ1bmN0aW9uKCl7ZS5uZXh0KEh0LmNyZWF0ZUNvbXBsZXRlKCkpLGUuY29tcGxldGUoKX0pLChmdW5jdGlvbih0KXtlLm5leHQoSHQuY3JlYXRlRXJyb3IodCkpLGUuY29tcGxldGUoKX0pKSl9KSl9KSgpKS5waXBlKFZ0KChlPT4oe2VmZmVjdDp0W2ldLG5vdGlmaWNhdGlvbjplLHByb3BlcnR5TmFtZTppLHNvdXJjZU5hbWU6byxzb3VyY2VJbnN0YW5jZTp0fSkpKSl9KSkpfWZ1bmN0aW9uIEpTKHQsZSxuPTEwKXtyZXR1cm4gdC5waXBlKGhlKChvPT4oZSYmZS5oYW5kbGVFcnJvcihvKSxuPD0xP3Q6SlModCxlLG4tMSkpKSkpfWNsYXNzIFFTIGV4dGVuZHMgVHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHQmJih0aGlzLnNvdXJjZT10KX1saWZ0KHQpe2NvbnN0IGU9bmV3IFFTO3JldHVybiBlLnNvdXJjZT10aGlzLGUub3BlcmF0b3I9dCxlfX1mdW5jdGlvbiAkUyguLi50KXtyZXR1cm4gdWUoKGU9PnQuc29tZSgodD0+InN0cmluZyI9PXR5cGVvZiB0P3Q9PT1lLnR5cGU6dC50eXBlPT09ZS50eXBlKSkpKX1mdW5jdGlvbiB0RCh0LGUpe2lmKCJOIj09PXQubm90aWZpY2F0aW9uLmtpbmQpe2NvbnN0IG49dC5ub3RpZmljYXRpb24udmFsdWU7IShmdW5jdGlvbiBuKHQpe3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiB0JiZ0JiZ0LnR5cGUmJiJzdHJpbmciPT10eXBlb2YgdC50eXBlfSkobikmJmUuaGFuZGxlRXJyb3IobmV3IEVycm9yKGBFZmZlY3QgJHsoZnVuY3Rpb24gbyh7cHJvcGVydHlOYW1lOnQsc291cmNlSW5zdGFuY2U6ZSxzb3VyY2VOYW1lOm59KXtjb25zdCBvPSJmdW5jdGlvbiI9PXR5cGVvZiBlW3RdO3JldHVybmAiJHtufS4ke1N0cmluZyh0KX0ke28/IigpIjoiIn0iYH0pKHQpfSBkaXNwYXRjaGVkIGFuIGludmFsaWQgYWN0aW9uOiAkeyhmdW5jdGlvbiBpKHQpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCl9Y2F0Y2goZSl7cmV0dXJuIHR9fSkobil9YCkpfX1RUy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UVMpKFRyKFFrKSl9LFFTLsm1cHJvdj1Tbih7dG9rZW46UVMsZmFjdG9yeTpRUy7JtWZhY30pLFFTLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6VCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltRa119XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUVMsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlQsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbUWtdfV19XX0pLG51bGwpO2Z1bmN0aW9uIGVEKHQpe3JldHVybiBuRCh0LCJuZ3J4T25Jbml0RWZmZWN0cyIpfWZ1bmN0aW9uIG5EKHQsZSl7cmV0dXJuIHQmJmUgaW4gdCYmImZ1bmN0aW9uIj09dHlwZW9mIHRbZV19Y29uc3Qgb0Q9bmV3IGVyKCJAbmdyeC9lZmZlY3RzIEludGVybmFsIFJvb3QgR3VhcmQiKSxpRD1uZXcgZXIoIkBuZ3J4L2VmZmVjdHMgVXNlciBQcm92aWRlZCBFZmZlY3RzIiksYUQ9bmV3IGVyKCJAbmdyeC9lZmZlY3RzIEludGVybmFsIFJvb3QgRWZmZWN0cyIpLHJEPW5ldyBlcigiQG5ncngvZWZmZWN0cyBSb290IEVmZmVjdHMiKSxzRD1uZXcgZXIoIkBuZ3J4L2VmZmVjdHMgSW50ZXJuYWwgRmVhdHVyZSBFZmZlY3RzIiksbEQ9bmV3IGVyKCJAbmdyeC9lZmZlY3RzIEZlYXR1cmUgRWZmZWN0cyIpLGNEPW5ldyBlcigiQG5ncngvZWZmZWN0cyBFZmZlY3RzIEVycm9yIEhhbmRsZXIiKTtjbGFzcyBkRCBleHRlbmRzIEJ7Y29uc3RydWN0b3IodCxlKXtzdXBlcigpLHRoaXMuZXJyb3JIYW5kbGVyPXQsdGhpcy5lZmZlY3RzRXJyb3JIYW5kbGVyPWV9YWRkRWZmZWN0cyh0KXt0aGlzLm5leHQodCl9dG9BY3Rpb25zKCl7cmV0dXJuIHRoaXMucGlwZShFZShZUyksJHQoKHQ9PnQucGlwZShFZShwRCkpKSksJHQoKHQ9PnBlKHQucGlwZShSZSgodD0+KGZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gZT0+e2NvbnN0IG89S1MoZSx0LG4pO3JldHVybihmdW5jdGlvbiBpKHQpe3JldHVybiBuRCh0LCJuZ3J4T25SdW5FZmZlY3RzIil9KShlKT9lLm5ncnhPblJ1bkVmZmVjdHMobyk6b319KSh0aGlzLmVycm9ySGFuZGxlcix0aGlzLmVmZmVjdHNFcnJvckhhbmRsZXIpKHQpKSksVnQoKHQ9Pih0RCh0LHRoaXMuZXJyb3JIYW5kbGVyKSx0Lm5vdGlmaWNhdGlvbikpKSx1ZSgodD0+Ik4iPT09dC5raW5kJiZudWxsIT10LnZhbHVlKSksKGZ1bmN0aW9uIGUoKXtyZXR1cm4geigoZnVuY3Rpb24odCxlKXt0LnN1YnNjcmliZShuZXcgSChlLChmdW5jdGlvbih0KXtyZXR1cm4gRnQodCxlKX0pKSl9KSl9KSgpKSx0LnBpcGUodmUoMSksdWUoZUQpLFZ0KCh0PT50Lm5ncnhPbkluaXRFZmZlY3RzKCkpKSkpKSkpfX1mdW5jdGlvbiBwRCh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4gbkQodCwibmdyeE9uSWRlbnRpZnlFZmZlY3RzIil9KSh0KT90Lm5ncnhPbklkZW50aWZ5RWZmZWN0cygpOiIifWRELsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxkRCkoVHIodWwpLFRyKGNEKSl9LGRELsm1cHJvdj1Tbih7dG9rZW46ZEQsZmFjdG9yeTpkRC7JtWZhY30pLGRELmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dWx9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltjRF19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZEQsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnVsfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbY0RdfV19XX0pLG51bGwpO2NsYXNzIG1Ee2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5lZmZlY3RTb3VyY2VzPXQsdGhpcy5zdG9yZT1lLHRoaXMuZWZmZWN0c1N1YnNjcmlwdGlvbj1udWxsfXN0YXJ0KCl7dGhpcy5lZmZlY3RzU3Vic2NyaXB0aW9ufHwodGhpcy5lZmZlY3RzU3Vic2NyaXB0aW9uPXRoaXMuZWZmZWN0U291cmNlcy50b0FjdGlvbnMoKS5zdWJzY3JpYmUodGhpcy5zdG9yZSkpfW5nT25EZXN0cm95KCl7dGhpcy5lZmZlY3RzU3Vic2NyaXB0aW9uJiYodGhpcy5lZmZlY3RzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5lZmZlY3RzU3Vic2NyaXB0aW9uPW51bGwpfX1tRC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bUQpKFRyKGREKSxUcihpUykpfSxtRC7JtXByb3Y9U24oe3Rva2VuOm1ELGZhY3Rvcnk6bUQuybVmYWN9KSxtRC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOmREfSx7dHlwZTppU31dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobUQsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmREfSx7dHlwZTppU31dfSksbnVsbCk7Y29uc3QgZkQ9IkBuZ3J4L2VmZmVjdHMvaW5pdCI7X2soZkQpO2NsYXNzIHVEe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIpe3RoaXMuc291cmNlcz10LGUuc3RhcnQoKSxvLmZvckVhY2goKGU9PnQuYWRkRWZmZWN0cyhlKSkpLG4uZGlzcGF0Y2goe3R5cGU6ZkR9KX1hZGRFZmZlY3RzKHQpe3RoaXMuc291cmNlcy5hZGRFZmZlY3RzKHQpfX11RC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dUQpKFRyKGREKSxUcihtRCksVHIoaVMpLFRyKHJEKSxUcihFUyw4KSxUcihBUyw4KSxUcihvRCw4KSl9LHVELsm1bW9kPWZvKHt0eXBlOnVEfSksdUQuybVpbmo9RG4oe30pLHVELmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6ZER9LHt0eXBlOm1EfSx7dHlwZTppU30se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbckRdfV19LHt0eXBlOkVTLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOkFTLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbb0RdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHVELFt7dHlwZTpMXyxhcmdzOlt7fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6ZER9LHt0eXBlOm1EfSx7dHlwZTppU30se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbckRdfV19LHt0eXBlOkVTLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOkFTLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbb0RdfV19XX0pLG51bGwpO2NsYXNzIGdEe2NvbnN0cnVjdG9yKHQsZSxuLG8pe2UuZm9yRWFjaCgoZT0+ZS5mb3JFYWNoKChlPT50LmFkZEVmZmVjdHMoZSkpKSkpfX1nRC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Z0QpKFRyKHVEKSxUcihsRCksVHIoRVMsOCksVHIoQVMsOCkpfSxnRC7JtW1vZD1mbyh7dHlwZTpnRH0pLGdELsm1aW5qPURuKHt9KSxnRC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnVEfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltsRF19XX0se3R5cGU6RVMsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6QVMsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZ0QsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp1RH0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbbERdfV19LHt0eXBlOkVTLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOkFTLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19XX0pLG51bGwpO2NsYXNzIGhEe3N0YXRpYyBmb3JGZWF0dXJlKHQ9W10pe3JldHVybntuZ01vZHVsZTpnRCxwcm92aWRlcnM6W3Qse3Byb3ZpZGU6c0QsbXVsdGk6ITAsdXNlVmFsdWU6dH0se3Byb3ZpZGU6aUQsbXVsdGk6ITAsdXNlVmFsdWU6W119LHtwcm92aWRlOmxELG11bHRpOiEwLHVzZUZhY3Rvcnk6YkQsZGVwczpbTnAsc0QsaURdfV19fXN0YXRpYyBmb3JSb290KHQ9W10pe3JldHVybntuZ01vZHVsZTp1RCxwcm92aWRlcnM6W3twcm92aWRlOmNELHVzZVZhbHVlOkpTfSxtRCxkRCxRUyx0LHtwcm92aWRlOmFELHVzZVZhbHVlOlt0XX0se3Byb3ZpZGU6b0QsdXNlRmFjdG9yeTp5RCxkZXBzOltbbUQsbmV3IEJyLG5ldyBqcl0sW2FELG5ldyBWcl1dfSx7cHJvdmlkZTppRCxtdWx0aTohMCx1c2VWYWx1ZTpbXX0se3Byb3ZpZGU6ckQsdXNlRmFjdG9yeTpiRCxkZXBzOltOcCxhRCxpRF19XX19fWZ1bmN0aW9uIGJEKHQsZSxuKXtjb25zdCBvPVtdO2Zvcihjb25zdCB0IG9mIGUpby5wdXNoKC4uLnQpO2Zvcihjb25zdCB0IG9mIG4pby5wdXNoKC4uLnQpO3JldHVybihmdW5jdGlvbiBpKHQsZSl7cmV0dXJuIGUubWFwKChlPT50LmdldChlKSkpfSkodCxvKX1mdW5jdGlvbiB5RCh0LGUpe2lmKCEoMT09PWUubGVuZ3RoJiYwPT09ZVswXS5sZW5ndGgpJiZ0KXRocm93IG5ldyBUeXBlRXJyb3IoIkVmZmVjdHNNb2R1bGUuZm9yUm9vdCgpIGNhbGxlZCB0d2ljZS4gRmVhdHVyZSBtb2R1bGVzIHNob3VsZCB1c2UgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKCkgaW5zdGVhZC4iKTtyZXR1cm4iZ3VhcmRlZCJ9dmFyIF9EO2hELsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxoRCl9LGhELsm1bW9kPWZvKHt0eXBlOmhEfSksaEQuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaEQsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLG51bGwsbnVsbCksKGZ1bmN0aW9uKHQpe3RbdC5VTktOT1dOPTBdPSJVTktOT1dOIix0W3QuRVhQRVJJTUVOVFM9MV09IkVYUEVSSU1FTlRTIix0W3QuRVhQRVJJTUVOVD0yXT0iRVhQRVJJTUVOVCIsdFt0LkNPTVBBUkVfRVhQRVJJTUVOVD0zXT0iQ09NUEFSRV9FWFBFUklNRU5UIix0W3QuTk9UX1NFVD00XT0iTk9UX1NFVCJ9KShfRHx8KF9EPXt9KSk7Y29uc3QgQ0Q9ImRlZmF1bHRFeHBlcmltZW50SWQiO2Z1bmN0aW9uIE1EKHQpe3JldHVybiB0LnNwbGl0KCIsIikubWFwKCh0PT57Y29uc3QgZT10LmluZGV4T2YoIjoiKTtpZihlPDApdGhyb3cgbmV3IEVycm9yKGBFeHBlY3QgY29sb24gZGVsaW1pdGluZyBuYW1lIGFuZCBJRDogJHt0fWApO2NvbnN0IG49dC5zbGljZSgwLGUpLG89dC5zbGljZShlKzEpO2lmKCFvKXRocm93IG5ldyBFcnJvcihgRXhwZWN0IGlkIHRvIGJlIG5vbi1mYWxzeTogJHt0fWApO3JldHVybntuYW1lOm4saWQ6b319KSl9ZnVuY3Rpb24gdkQodCxlKXtzd2l0Y2godCl7Y2FzZSBfRC5FWFBFUklNRU5UOnJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSwiZXhwZXJpbWVudElkIik/W2UuZXhwZXJpbWVudElkXTpbQ0RdO2Nhc2UgX0QuQ09NUEFSRV9FWFBFUklNRU5UOnJldHVybiBNRChlLmV4cGVyaW1lbnRJZHMpLm1hcCgoKHtpZDp0fSk9PnQpKTtjYXNlIF9ELkVYUEVSSU1FTlRTOmRlZmF1bHQ6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHhEKHQsZSl7aWYoIXR8fCFlKXJldHVybiB0PT09ZTtpZih0LnJvdXRlS2luZCE9PWUucm91dGVLaW5kKXJldHVybiExO2NvbnN0IG49dkQodC5yb3V0ZUtpbmQsdC5wYXJhbXMpLG89dkQoZS5yb3V0ZUtpbmQsZS5wYXJhbXMpO2lmKG51bGw9PT1ufHxudWxsPT09bylyZXR1cm4gbj09PW87aWYobi5sZW5ndGghPT1vLmxlbmd0aClyZXR1cm4hMTtjb25zdCBpPW8uc29ydCgpO3JldHVybiBuLnNvcnQoKS5ldmVyeSgoKHQsZSk9PmlbZV09PT10KSl9Y29uc3QgT0Q9e2dldEhyZWY6KCk9PndpbmRvdy5sb2NhdGlvbi5ocmVmfTtjbGFzcyBQRHtnZXRIcmVmKCl7cmV0dXJuIE9ELmdldEhyZWYoKX1nZXRTZWFyY2goKXtjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCksZT1bXTtyZXR1cm4gdC5mb3JFYWNoKCgodCxuKT0+e2UucHVzaCh7a2V5Om4sdmFsdWU6dH0pfSkpLGV9Z2V0SGFzaCgpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaGFzaH1nZXRQYXRoKCl7cmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX1nZXRIaXN0b3J5U3RhdGUoKXtyZXR1cm4gd2luZG93Lmhpc3Rvcnkuc3RhdGV9cmVwbGFjZVN0YXRlVXJsKHQpe3dpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh3aW5kb3cuaGlzdG9yeS5zdGF0ZSwiIix0KX1wdXNoU3RhdGVVcmwodCl7d2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKG51bGwsIiIsdCl9cmVwbGFjZVN0YXRlRGF0YSh0KXt3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUodCwiIil9b25Qb3BTdGF0ZSgpe3JldHVybiBsZSh3aW5kb3csInBvcHN0YXRlIikucGlwZShWdCgodD0+KHtwYXRobmFtZTp0aGlzLmdldFBhdGgoKSxzdGF0ZTp0LnN0YXRlfSkpKSl9Z2V0UmVzb2x2ZWRQYXRoKHQpe3JldHVybiBuZXcgVVJMKHQsT0QuZ2V0SHJlZigpKS5wYXRobmFtZX1nZXRGdWxsUGF0aEZyb21Sb3V0ZSh0LGUpe2NvbnN0IG49dGhpcy5nZXRSZXNvbHZlZFBhdGgodC5wYXRobmFtZSk7bGV0IG89IiI7dC5xdWVyeVBhcmFtcy5sZW5ndGgmJihvPSI/IisoZnVuY3Rpb24gaSh0KXtjb25zdCBlPW5ldyBVUkxTZWFyY2hQYXJhbXM7Zm9yKGNvbnN0e2tleTpuLHZhbHVlOm99b2YgdCllLmFwcGVuZChuLG8pO3JldHVybiBlfSkodC5xdWVyeVBhcmFtcykudG9TdHJpbmcoKSk7cmV0dXJuYCR7bn0ke299JHtlP3RoaXMuZ2V0SGFzaCgpOiIifWB9fVBELsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxQRCl9LFBELsm1cHJvdj1Tbih7dG9rZW46UEQsZmFjdG9yeTpQRC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUEQsW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjbGFzcyB3RHtjb25zdHJ1Y3Rvcih0KXt0aGlzLmFwcFJvb3Q9dGhpcy5nZXRBcHBSb290RnJvbU1ldGFFbGVtZW50KHQpfWdldEFwcFJvb3RGcm9tTWV0YUVsZW1lbnQodCl7Y29uc3QgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdoZWFkIG1ldGFbbmFtZT0idGItcmVsYXRpdmUtcm9vdCJdJyk7aWYoIWUpcmV0dXJuIi8iO2NvbnN0e3BhdGhuYW1lOm59PW5ldyBVUkwoZS5jb250ZW50LHQuZ2V0SHJlZigpKTtyZXR1cm4gbi5yZXBsYWNlKC9cLyokLywiLyIpfWdldEFic1BhdGhuYW1lV2l0aEFwcFJvb3QodCl7cmV0dXJuIHRoaXMuYXBwUm9vdC5zbGljZSgwLC0xKSt0fWdldEFwcFJvb3RsZXNzUGF0aG5hbWUodCl7cmV0dXJuIHQuc3RhcnRzV2l0aCh0aGlzLmFwcFJvb3QpPyIvIit0LnNsaWNlKHRoaXMuYXBwUm9vdC5sZW5ndGgpOnR9fXdELsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx3RCkoVHIoUEQpKX0sd0QuybVwcm92PVNuKHt0b2tlbjp3RCxmYWN0b3J5OndELsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih3RCxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UER9XX0pLG51bGwpO2NsYXNzIGtEIGV4dGVuZHMgd0R7Z2V0QXBwUm9vdCgpe3JldHVybiB0aGlzLmFwcFJvb3R9c2V0QXBwUm9vdCh0KXt0aGlzLmFwcFJvb3Q9dH19a0QuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKGtEKSkpKG58fGtEKX19KSgpLGtELsm1cHJvdj1Tbih7dG9rZW46a0QsZmFjdG9yeTprRC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoa0QsW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjbGFzcyBTRHt9U0QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFNEKX0sU0QuybVtb2Q9Zm8oe3R5cGU6U0R9KSxTRC7JtWluaj1Ebih7cHJvdmlkZXJzOltQRF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFNELFt7dHlwZTpMXyxhcmdzOlt7cHJvdmlkZXJzOltQRF19XX1dLG51bGwsbnVsbCk7Y2xhc3MgRER7fURELsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxERCl9LERELsm1bW9kPWZvKHt0eXBlOkREfSksREQuybVpbmo9RG4oe3Byb3ZpZGVyczpbd0RdLGltcG9ydHM6W1tTRF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihERCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W1NEXSxwcm92aWRlcnM6W3dEXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKERELHtpbXBvcnRzOltTRF19KTtjb25zdCBSRD1uZXcgZXIoIltBcHAgUm91dGluZ10gRGlydHkgVXBkYXRlcyIpO2NsYXNzIEVEe2NvbnN0cnVjdG9yKHQpe3RoaXMuZGlydHlVcGRhdGVzU2VsZWN0b3JGYWN0b3JpZXM9dH1nZXREaXJ0eVVwZGF0ZXNTZWxlY3RvcnMoKXt2YXIgdDtyZXR1cm4gbnVsbCE9PSh0PXRoaXMuZGlydHlVcGRhdGVzU2VsZWN0b3JGYWN0b3JpZXMpJiZ2b2lkIDAhPT10P3Q6W119c3RhdGljIHJlZ2lzdGVyRGlydHlVcGRhdGVzKHQpe3JldHVybntuZ01vZHVsZTpFRCxwcm92aWRlcnM6W3twcm92aWRlOlJELG11bHRpOiEwLHVzZUZhY3Rvcnk6dH1dfX19RUQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEVEKShUcihSRCw4KSl9LEVELsm1bW9kPWZvKHt0eXBlOkVEfSksRUQuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRUQsW3t0eXBlOkxffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltSRF19XX1dfSksbnVsbCk7Y29uc3QgQUQ9ImZlYXR1cmUiLFREPV9TKEFEKSxORD1iUyhURCwodD0+dC5pc0ZlYXR1cmVGbGFnc0xvYWRlZCkpLHpEPWJTKFRELCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5kZWZhdWx0RmxhZ3MpLHQuZmxhZ092ZXJyaWRlcykpKSxJRD1iUyhURCwodD0+dC5mbGFnT3ZlcnJpZGVzfHx7fSkpLEhEPWJTKHpELCh0PT50LmlzQXV0b0RhcmtNb2RlQWxsb3dlZCkpLEZEPWJTKHpELCh0PT5udWxsIT09dC5lbmFibGVEYXJrTW9kZU92ZXJyaWRlP3QuZW5hYmxlRGFya01vZGVPdmVycmlkZTp0LmRlZmF1bHRFbmFibGVEYXJrTW9kZSkpLExEPWJTKHpELCh0PT50LmVuYWJsZURhcmtNb2RlT3ZlcnJpZGUpKSxCRD1iUyh6RCwodD0+dC5lbmFibGVkRXhwZXJpbWVudGFsUGx1Z2lucykpLFZEPWJTKHpELCh0PT50LmluQ29sYWIpKSxqRD1iUyh6RCwodD0+dC5lbmFibGVkQ29sb3JHcm91cCkpLFVEPWJTKHpELCh0PT50LmVuYWJsZWRDb2xvckdyb3VwQnlSZWdleCkpLFdEPWJTKHpELCh0PT50Lm1ldHJpY3NJbWFnZVN1cHBvcnRFbmFibGVkKSksR0Q9YlMoekQsKHQ9PnQuZW5hYmxlZExpbmtlZFRpbWUpKSxZRD1iUyh6RCwodD0+dC5lbmFibGVUaW1lU2VyaWVzUHJvbW90aW9uKSkscUQ9YlMoekQsKHQ9PnQuZW5hYmxlZENhcmRXaWR0aFNldHRpbmcpKSxaRD1iUyh6RCwodD0+dC5lbmFibGVkVGltZU5hbWVzcGFjZWRTdGF0ZSkpLFhEPV9rKCJbQXBwIFJvdXRpbmddIERpc2NhcmRpbmcgVW5zYXZlZCBVcGRhdGVzIiksS0Q9X2soIltBcHAgUm91dGluZ10gU3RhdGUgUmVoeWRyYXRlZCBGcm9tIFVybCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEpEPV9rKCJbQXBwIFJvdXRpbmddIFJvdXRlIENvbmZpZyBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxRRD1faygiW0FwcCBSb3V0aW5nXSBJbiBBcHAgTmF2aWdhdGlvbiBSZXF1ZXN0ZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSwkRD1faygiW0FwcCBSb3V0aW5nXSBJbiBBcHAgTmF2aWdhdGluZyIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHRSPV9rKCJbQXBwIFJvdXRpbmddIEluIEFwcCBOYXZpZ2F0ZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxlUj1uZXcgZXIoIltBcHAgUm91dGluZ10gUHJvZ3JhbW1hdGljYWwgTmF2aWdhdGlvbiBQcm92aWRlciIpO2NsYXNzIG5Se2NvbnN0cnVjdG9yKHQpe3RoaXMucHJvdmlkZXJzPW5ldyBNYXA7Zm9yKGNvbnN0IGUgb2YgdHx8W10pe2lmKHRoaXMucHJvdmlkZXJzLmhhcyhlLmFjdGlvbkNyZWF0b3IudHlwZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYCIke2UuYWN0aW9uQ3JlYXRvci50eXBlfSIgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGZvciBuYXYuIE11bHRpcGxlIG5hdmlnYXRpb25zIG9uIHNhbWUga2ljayBpcyBub3QgYWxsb3dlZC5gKTt0aGlzLnByb3ZpZGVycy5zZXQoZS5hY3Rpb25DcmVhdG9yLnR5cGUsZS5sYW1iZGEpfX1nZXROYXZpZ2F0aW9uKHQpe2NvbnN0IGU9dGhpcy5wcm92aWRlcnMuZ2V0KHQudHlwZSk7cmV0dXJuIGU/ZSh0KTpudWxsfXN0YXRpYyByZWdpc3RlclByb2dyYW1tYXRpY2FsTmF2aWdhdGlvbih0KXtyZXR1cm57bmdNb2R1bGU6blIscHJvdmlkZXJzOlt7cHJvdmlkZTplUixtdWx0aTohMCx1c2VGYWN0b3J5OnR9XX19fWZ1bmN0aW9uIG9SKHQpe3JldHVybiBudWxsIT10LnJvdXRlS2luZH1mdW5jdGlvbiBpUih0KXtyZXR1cm4gZFIodCkubWFwKCh0PT57Y29uc3QgZT10LnN0YXJ0c1dpdGgoIjoiKTtyZXR1cm4gZT97cGF0aFBhcnQ6dCxpc1BhcmFtOiEwLHBhcmFtTmFtZTp0LnNsaWNlKDEpfTp7cGF0aFBhcnQ6dCxpc1BhcmFtOmV9fSkpfW5SLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxuUikoVHIoZVIsOCkpfSxuUi7JtW1vZD1mbyh7dHlwZTpuUn0pLG5SLsm1aW5qPURuKHt9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG5SLFt7dHlwZTpMXyxhcmdzOlt7fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltlUl19XX1dfSksbnVsbCk7Y2xhc3MgYVJ7Y29uc3RydWN0b3IodCl7dGhpcy52YWxpZGF0ZUNvbmZpZyh0KSx0aGlzLnBhdGhGcmFnbWVudHM9aVIodC5wYXRoKSx0aGlzLnBhdGhNYXRjaGVycz10aGlzLmdldFBhdGhNYXRjaGVycyh0aGlzLnBhdGhGcmFnbWVudHMpfXN0YXRpYyBnZXRNYXRjaGVyKHQpe3JldHVybiBvUih0KT9uZXcgclIodCk6KGZ1bmN0aW9uIGUodCl7cmV0dXJuIHZvaWQgMCE9PXQucmVkaXJlY3Rpb25QYXRofSkodCk/bmV3IHNSKHQpOm5ldyBsUih0KX12YWxpZGF0ZUNvbmZpZyh7cGF0aDp0fSl7aWYoIXQuc3RhcnRzV2l0aCgiLyIpKXRocm93IG5ldyBSYW5nZUVycm9yKGBjb25maWcucGF0aCBzaG91bGQgc3RhcnQgd2l0aCAnLycuICR7dH1gKTtsZXQgZT0wO2Zvcig7KGU9dC5pbmRleE9mKCI6IixlKzEpKT49MDspe2lmKCIvIiE9PXRbZS0xXSl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgY29uZmlnLnBhdGggcGFyYW1ldGVyIHNob3VsZCBjb21lIGFmdGVyICcvJy4gJHt0fWApO2lmKHZvaWQgMD09PXRbZSsxXXx8Ii8iPT09dFtlKzFdKXRocm93IG5ldyBSYW5nZUVycm9yKGBjb25maWcucGF0aCBwYXJhbWV0ZXIgc2hvdWxkIGhhdmUgbm9uLWVtcHR5IG5hbWUuICR7dH1gKX19Z2V0UGF0aE1hdGNoZXJzKHQpe3JldHVybiB0Lm1hcCgodD0+e2NvbnN0e3BhdGhQYXJ0OmV9PXQ7cmV0dXJuIHQuaXNQYXJhbT9lPT4oe2lzUGFyYW1QYXRoUGFydDohMCxwYXJ0TWF0Y2hlZDohMCxwYXJhbU5hbWU6dC5wYXJhbU5hbWUscGFyYW1WYWx1ZTplfSk6dD0+KHtpc1BhcmFtUGF0aFBhcnQ6ITEscGFydE1hdGNoZWQ6dD09PWV9KX0pKX1tYXRjaCh0KXtsZXQgZT17fTtpZih0aGlzLnBhdGhNYXRjaGVycy5sZW5ndGghPT10Lmxlbmd0aClyZXR1cm57cmVzdWx0OiExfTtsZXQgbj0wO2Zvcihjb25zdCBvIG9mIHRoaXMucGF0aE1hdGNoZXJzKXtjb25zdCBpPW8odFtuKytdKTtpZighaS5wYXJ0TWF0Y2hlZClyZXR1cm57cmVzdWx0OiExfTtpLmlzUGFyYW1QYXRoUGFydCYmKGU9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGUpLHtbaS5wYXJhbU5hbWVdOmkucGFyYW1WYWx1ZX0pKX1yZXR1cm57cmVzdWx0OiEwLHBhcmFtczplLHBhdGhQYXJ0czp0LGlzUmVkaXJlY3Rpb246ITEscmVkaXJlY3Rpb25RdWVyeVBhcmFtczp2b2lkIDB9fW1hdGNoQnlQYXJhbXModCl7cmV0dXJue3Jlc3VsdDohMCxwYXJhbXM6dCxwYXRoUGFydHM6dGhpcy5yZXByb2plY3RQYXRoQnlQYXJhbXModGhpcy5wYXRoRnJhZ21lbnRzLHQpLGlzUmVkaXJlY3Rpb246ITEscmVkaXJlY3Rpb25RdWVyeVBhcmFtczp2b2lkIDB9fXJlcHJvamVjdFBhdGhCeVBhcmFtcyh0LGUpe2NvbnN0IG49W107Zm9yKGNvbnN0IG8gb2YgdClpZihvLmlzUGFyYW0pe2NvbnN0e3BhcmFtTmFtZTp0fT1vO2lmKCFlLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBSYW5nZUVycm9yKGBGYWlsZWQgdG8gcmVwcm9qZWN0IHBhcmFtZXRlci4gIiR7dH0iIHBhcmFtZXRlciBzaG91bGQgYmUgcHJlc2VudC5gKTtuLnB1c2goZVt0XSl9ZWxzZSBuLnB1c2goby5wYXRoUGFydCk7cmV0dXJuIG59fWNsYXNzIHJSIGV4dGVuZHMgYVJ7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5kZWZpbml0aW9uPXR9fWNsYXNzIHNSIGV4dGVuZHMgYVJ7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy5kZWZpbml0aW9uPXQsdGhpcy5yZWRpcmVjdGlvbkZyYWdtZW50cz1pUih0LnJlZGlyZWN0aW9uUGF0aCl9bWF0Y2godCl7Y29uc3QgZT1zdXBlci5tYXRjaCh0KTtpZighZS5yZXN1bHQpcmV0dXJuIGU7Y29uc3Qgbj10aGlzLnJlcHJvamVjdFBhdGhCeVBhcmFtcyh0aGlzLnJlZGlyZWN0aW9uRnJhZ21lbnRzLGUucGFyYW1zKTtyZXR1cm57cmVzdWx0OiEwLHBhcmFtczplLnBhcmFtcyxwYXRoUGFydHM6bixpc1JlZGlyZWN0aW9uOiEwLHJlZGlyZWN0aW9uUXVlcnlQYXJhbXM6dm9pZCAwfX19Y2xhc3MgbFIgZXh0ZW5kcyBhUntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLmRlZmluaXRpb249dH1tYXRjaCh0KXtjb25zdCBlPXN1cGVyLm1hdGNoKHQpO2lmKCFlLnJlc3VsdClyZXR1cm4gZTtjb25zdHtwYXRoUGFydHM6bixxdWVyeVBhcmFtczpvfT10aGlzLmRlZmluaXRpb24ucmVkaXJlY3Rvcih0KTtyZXR1cm57cmVzdWx0OiEwLHBhcmFtczplLnBhcmFtcyxwYXRoUGFydHM6bixpc1JlZGlyZWN0aW9uOiEwLHJlZGlyZWN0aW9uUXVlcnlQYXJhbXM6b319fWNsYXNzIGNSe2NvbnN0cnVjdG9yKHQsZT0zKXtpZih0aGlzLm1heFJlZGlyZWN0aW9uPWUsZTwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJtYXhSZWRpcmVjdGlvbiBoYXMgdG8gYmUgbm9uLW5lZ2F0aXZlIG51bWJlciIpO3RoaXMudmFsaWRhdGVSb3V0ZUNvbmZpZ3ModCksdGhpcy5kZWZhdWx0Um91dGVDb25maWc9bnVsbCx0aGlzLnJvdXRlS2luZFRvQ29uY3JldGVDb25maWdNYXRjaGVycz1uZXcgTWFwLHRoaXMuY29uZmlnTWF0Y2hlcnM9W107Zm9yKGNvbnN0IGUgb2YgdCl7Y29uc3QgdD1hUi5nZXRNYXRjaGVyKGUpO3RoaXMuY29uZmlnTWF0Y2hlcnMucHVzaCh0KSx0IGluc3RhbmNlb2YgclImJih0aGlzLnJvdXRlS2luZFRvQ29uY3JldGVDb25maWdNYXRjaGVycy5zZXQodC5kZWZpbml0aW9uLnJvdXRlS2luZCx0KSx0LmRlZmluaXRpb24uZGVmYXVsdFJvdXRlJiYodGhpcy5kZWZhdWx0Um91dGVDb25maWc9dCkpfX12YWxpZGF0ZVJvdXRlQ29uZmlncyh0KXtjb25zdCBlPXQuZmlsdGVyKG9SKSxuPWUuZmlsdGVyKCh0PT50LmRlZmF1bHRSb3V0ZSkpO2lmKG4ubGVuZ3RoPjEpe2NvbnN0IHQ9bi5tYXAoKCh7cGF0aDp0fSk9PnQpKS5qb2luKCIsICIpO3Rocm93IG5ldyBSYW5nZUVycm9yKGBUaGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBkZWZhdWx0Um91dGVzLiAke3R9YCl9aWYoMT09PW4ubGVuZ3RoKXtjb25zdHtwYXRoOnR9PW5bMF07aWYoQm9vbGVhbihpUih0KS5maW5kKCgoe2lzUGFyYW06dH0pPT50KSkpKXRocm93IG5ldyBSYW5nZUVycm9yKGBBIGRlZmF1bHRSb3V0ZSBjYW5ub3QgaGF2ZSBhbnkgcGFyYW1zLiAke3R9YCl9Y29uc3Qgbz1uZXcgU2V0O2Zvcihjb25zdHtyb3V0ZUtpbmQ6dH1vZiBlKXtpZihvLmhhcyh0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgTXVsdGlwbGUgcm91dGUgY29uZmlndXJhdGlvbiBmb3Iga2luZDogJHt0fS4gQ29uZmlndXJhdGlvbnMgc2hvdWxkIGhhdmUgdW5pcXVlIHJvdXRlS2luZHNgKTtvLmFkZCh0KX19bWF0Y2godCl7dmFyIGU7aWYoIXQucGF0aG5hbWUuc3RhcnRzV2l0aCgiLyIpKXRocm93IG5ldyBSYW5nZUVycm9yKCdOYXZpZ2F0aW9uIGhhcyB0byBtYWRlIHdpdGggcGF0aG5hbWUgdGhhdCBzdGFydHMgd2l0aCAiLyInKTtsZXQgbixvPWRSKHQucGF0aG5hbWUpLGk9MCxhPSExO2Zvcig7Oyl7bGV0IHQ9ITE7Zm9yKGNvbnN0IGUgb2YgdGhpcy5jb25maWdNYXRjaGVycyl7Y29uc3QgaT1lLm1hdGNoKG8pO2lmKGkucmVzdWx0KXt0PSEwO2NvbnN0e3BhcmFtczpyLHBhdGhQYXJ0czpzLGlzUmVkaXJlY3Rpb246bH09aTtpZihsKXtvPXMsYT0hMCxuPWkucmVkaXJlY3Rpb25RdWVyeVBhcmFtczticmVha31pZighKGUgaW5zdGFuY2VvZiByUikpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk5vIGNvbmNyZXRlIHJvdXRlIGRlZmluaXRpb24gYG1hdGNoYCByZXR1cm4gcmVkaXJlY3Rpb24iKTtjb25zdHtkZWZpbml0aW9uOmN9PWUsZD17cm91dGVLaW5kOmMucm91dGVLaW5kLHBhcmFtczpyLHBhdGhuYW1lOnBSKHMpLGRlZXBMaW5rUHJvdmlkZXI6Yy5kZWVwTGlua1Byb3ZpZGVyfHxudWxsfTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGQpLGE/e29yaWdpbmF0ZUZyb21SZWRpcmVjdGlvbjohMCxyZWRpcmVjdGlvbk9ubHlRdWVyeVBhcmFtczpufTp7b3JpZ2luYXRlRnJvbVJlZGlyZWN0aW9uOiExfSl9fWlmKGEmJmkrKywhdHx8aT50aGlzLm1heFJlZGlyZWN0aW9uKWJyZWFrfWlmKGk+dGhpcy5tYXhSZWRpcmVjdGlvbil0aHJvdyBuZXcgRXJyb3IoYFBvdGVudGlhbCByZWRpcmVjdGlvbiBsb29wIChyZWRpcmVjdGluZyBtb3JlIHRoYW4gJHt0aGlzLm1heFJlZGlyZWN0aW9ufSB0aW1lcy4gUGxlYXNlIGRvIG5vdCBoYXZlIGN5Y2xlcyBpbiB0aGUgcm91dGVzLmApO2lmKHRoaXMuZGVmYXVsdFJvdXRlQ29uZmlnKXtjb25zdHtkZWZpbml0aW9uOnR9PXRoaXMuZGVmYXVsdFJvdXRlQ29uZmlnO3JldHVybntyb3V0ZUtpbmQ6dC5yb3V0ZUtpbmQsZGVlcExpbmtQcm92aWRlcjpudWxsIT09KGU9dC5kZWVwTGlua1Byb3ZpZGVyKSYmdm9pZCAwIT09ZT9lOm51bGwscGF0aG5hbWU6dC5wYXRoLHBhcmFtczp7fSxvcmlnaW5hdGVGcm9tUmVkaXJlY3Rpb246ITAscmVkaXJlY3Rpb25Pbmx5UXVlcnlQYXJhbXM6dm9pZCAwfX1yZXR1cm4gbnVsbH1tYXRjaEJ5Um91dGVLaW5kKHQsZSl7Y29uc3Qgbj10aGlzLnJvdXRlS2luZFRvQ29uY3JldGVDb25maWdNYXRjaGVycy5nZXQodCk7aWYoIW4pdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFJlcXVpcmVzIGNvbmZpZ3VyYXRpb24gZm9yIHJvdXRlS2luZDogJHt0fWApO3JldHVybntyb3V0ZUtpbmQ6dCxwYXJhbXM6ZSxwYXRobmFtZTpwUihuLm1hdGNoQnlQYXJhbXMoZSkucGF0aFBhcnRzKSxkZWVwTGlua1Byb3ZpZGVyOm4uZGVmaW5pdGlvbi5kZWVwTGlua1Byb3ZpZGVyfHxudWxsLG9yaWdpbmF0ZUZyb21SZWRpcmVjdGlvbjohMX19fWZ1bmN0aW9uIGRSKHQpe3JldHVybiB0LnNwbGl0KCIvIikuc2xpY2UoMSl9ZnVuY3Rpb24gcFIodCl7cmV0dXJuIi8iK3Quam9pbigiLyIpfWNvbnN0IG1SPW5ldyBlcigiW0FwcCBSb3V0aW5nXSBSb3V0ZSBDb25maWciKTtjbGFzcyBmUntjb25zdHJ1Y3Rvcih0KXtpZih0aGlzLnJvdXRlS2luZFRvTmdDb21wb25lbnQ9bmV3IE1hcCwhdClyZXR1cm4gdm9pZCh0aGlzLnJvdXRlQ29uZmlncz1uZXcgY1IoW10pKTtjb25zdCBlPVtdO2Zvcihjb25zdCBuIG9mIHQpZm9yKGNvbnN0IHQgb2YgbillLnB1c2godCk7dGhpcy5yb3V0ZUNvbmZpZ3M9bmV3IGNSKGUpLGUuZm9yRWFjaCgodD0+e29SKHQpJiZ0aGlzLnJvdXRlS2luZFRvTmdDb21wb25lbnQuc2V0KHQucm91dGVLaW5kLHQubmdDb21wb25lbnQpfSkpfWdldFJlZ2lzdGVyZWRSb3V0ZUtpbmRzKCl7cmV0dXJuIHRoaXMucm91dGVLaW5kVG9OZ0NvbXBvbmVudC5rZXlzKCl9Z2V0Um91dGVDb25maWdzKCl7cmV0dXJuIHRoaXMucm91dGVDb25maWdzfWdldE5nQ29tcG9uZW50QnlSb3V0ZUtpbmQodCl7cmV0dXJuIHRoaXMucm91dGVLaW5kVG9OZ0NvbXBvbmVudC5nZXQodCl8fG51bGx9c3RhdGljIHJlZ2lzdGVyUm91dGVzKHQpe3JldHVybntuZ01vZHVsZTpmUixwcm92aWRlcnM6W3twcm92aWRlOm1SLG11bHRpOiEwLHVzZUZhY3Rvcnk6dH1dfX19ZlIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGZSKShUcihtUiw4KSl9LGZSLsm1bW9kPWZvKHt0eXBlOmZSfSksZlIuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZlIsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W21SXX1dfV19KSxudWxsKTtjb25zdCB1Uj0iYXBwX3JvdXRpbmciLGdSPV9TKHVSKSxoUj1iUyhnUiwodD0+dC5hY3RpdmVSb3V0ZSkpLGJSPWJTKGdSLCh0PT50Lm5leHRSb3V0ZSkpLHlSPWJTKGdSLCh0PT50LmFjdGl2ZU5hbWVzcGFjZUlkKSksX1I9YlMoZ1IsKHQ9PnQua25vd25OYW1lc3BhY2VJZHMpKSxDUj1iUyhnUiwodD0+dC5yZWdpc3RlcmVkUm91dGVLZXlzKSksTVI9YlMoaFIsKHQ9PnQ/dC5yb3V0ZUtpbmQ6X0QuTk9UX1NFVCkpLHZSPWJTKGhSLCh0PT50P3QucGFyYW1zOnt9KSkseFI9YlMoTVIsdlIsKCh0LGUpPT52RCh0LGUpKSk7YlMoTVIsdlIsKCh0LGUpPT57aWYodCE9PV9ELkNPTVBBUkVfRVhQRVJJTUVOVClyZXR1cm57fTtjb25zdCBuPShmdW5jdGlvbiBvKHQpe2NvbnN0IGU9bmV3IE1hcCxuPU1EKHQuZXhwZXJpbWVudElkcyk7Zm9yKGNvbnN0e2lkOnQsbmFtZTpvfW9mIG4pbyYmZS5zZXQodCxvKTtyZXR1cm4gZX0pKGUpO3JldHVybiBPYmplY3QuZnJvbUVudHJpZXMobi5lbnRyaWVzKCkpfSkpO2NvbnN0IE9SPWJTKE1SLHZSLCgodCxlKT0+e2lmKHQhPT1fRC5DT01QQVJFX0VYUEVSSU1FTlQpcmV0dXJue307Y29uc3Qgbj0oZnVuY3Rpb24gbyh0KXtjb25zdCBlPW5ldyBNYXAsbj1NRCh0LmV4cGVyaW1lbnRJZHMpO2xldCBvPTA7Zm9yKGNvbnN0e2lkOnQsbmFtZTppfW9mIG4pbysrLCFlLmhhcyh0KSYmaSYmZS5zZXQodCx7YWxpYXNUZXh0OmksYWxpYXNOdW1iZXI6b30pO3JldHVybiBlfSkoZSk7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhuLmVudHJpZXMoKSl9KSksUFI9X2soIltBcHAgUm91dGluZ10gRWZmZWN0cyBJbml0Iik7dmFyIHdSOyEoZnVuY3Rpb24odCl7dFt0LlVOQ0hBTkdFRD0wXT0iVU5DSEFOR0VEIix0W3QuTkVXPTFdPSJORVciLHRbdC5GUk9NX0hJU1RPUlk9Ml09IkZST01fSElTVE9SWSJ9KSh3Unx8KHdSPXt9KSk7Y2xhc3Mga1J7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscil7dGhpcy5hY3Rpb25zJD10LHRoaXMuc3RvcmU9ZSx0aGlzLmxvY2F0aW9uPW4sdGhpcy5kaXJ0eVVwZGF0ZXNSZWdpc3RyeT1vLHRoaXMucmVnaXN0cnk9aSx0aGlzLnByb2dyYW1tYXRpY2FsTmF2TW9kdWxlPWEsdGhpcy5hcHBSb290UHJvdmlkZXI9cix0aGlzLm9uTmF2aWdhdGlvblJlcXVlc3RlZCQ9dGhpcy5hY3Rpb25zJC5waXBlKCRTKFFEKSxWdCgodD0+e3ZhciBlO3JldHVybntwYXRobmFtZTp0LnBhdGhuYW1lLnN0YXJ0c1dpdGgoIi8iKT90aGlzLmFwcFJvb3RQcm92aWRlci5nZXRBYnNQYXRobmFtZVdpdGhBcHBSb290KHQucGF0aG5hbWUpOnRoaXMubG9jYXRpb24uZ2V0UmVzb2x2ZWRQYXRoKHQucGF0aG5hbWUpLG9wdGlvbnM6e2Jyb3dzZXJJbml0aWF0ZWQ6ITEscmVwbGFjZVN0YXRlOm51bGwhPT0oZT10LnJlcGxhY2VTdGF0ZSkmJnZvaWQgMCE9PWUmJmUsbmFtZXNwYWNlVXBkYXRlOntvcHRpb246dC5yZXNldE5hbWVzcGFjZWRTdGF0ZT93Ui5ORVc6d1IuVU5DSEFOR0VEfX19fSkpKSx0aGlzLmJvb3RzdHJhcFJlZHVjZXJzJD1XUygoKCk9PnRoaXMuYWN0aW9ucyQucGlwZSgkUyhQUiksVnQoKCgpPT5KRCh7cm91dGVLaW5kczpuZXcgU2V0KHRoaXMucmVnaXN0cnkuZ2V0UmVnaXN0ZXJlZFJvdXRlS2luZHMoKSl9KSkpKSkpLHRoaXMub25Jbml0JD10aGlzLmFjdGlvbnMkLnBpcGUoJFMoUFIpKS5waXBlKFBlKDApLFZ0KCgoKT0+e3ZhciB0O2NvbnN0IGU9bnVsbD09PSh0PXRoaXMubG9jYXRpb24uZ2V0SGlzdG9yeVN0YXRlKCkpfHx2b2lkIDA9PT10P3ZvaWQgMDp0Lm5hbWVzcGFjZUlkLG49dm9pZCAwPT09ZT97b3B0aW9uOndSLk5FV306e29wdGlvbjp3Ui5GUk9NX0hJU1RPUlksbmFtZXNwYWNlSWQ6ZX07cmV0dXJue3BhdGhuYW1lOnRoaXMubG9jYXRpb24uZ2V0UGF0aCgpLG9wdGlvbnM6e2Jyb3dzZXJJbml0aWF0ZWQ6ITAscmVwbGFjZVN0YXRlOiEwLG5hbWVzcGFjZVVwZGF0ZTpufX19KSkpLHRoaXMub25Qb3BTdGF0ZSQ9dGhpcy5sb2NhdGlvbi5vblBvcFN0YXRlKCkucGlwZShWdCgodD0+e3ZhciBlO3JldHVybntwYXRobmFtZTp0LnBhdGhuYW1lLG9wdGlvbnM6e2Jyb3dzZXJJbml0aWF0ZWQ6ITAscmVwbGFjZVN0YXRlOiEwLG5hbWVzcGFjZVVwZGF0ZTp7b3B0aW9uOndSLkZST01fSElTVE9SWSxuYW1lc3BhY2VJZDpudWxsPT09KGU9dC5zdGF0ZSl8fHZvaWQgMD09PWU/dm9pZCAwOmUubmFtZXNwYWNlSWR9fX19KSkpLHRoaXMudXNlckluaXROYXZSb3V0ZSQ9cGUodGhpcy5vbk5hdmlnYXRpb25SZXF1ZXN0ZWQkLHRoaXMub25Jbml0JCx0aGlzLm9uUG9wU3RhdGUkKS5waXBlKFZ0KCh0PT57aWYoIXQucGF0aG5hbWUuc3RhcnRzV2l0aCgiLyIpKXRocm93IG5ldyBFcnJvcihgW0FwcCByb3V0aW5nXSBwYXRobmFtZSBtdXN0IHN0YXJ0IHdpdGggJy8nLiBHb3Q6ICR7dC5wYXRobmFtZX1gKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtwYXRobmFtZTp0aGlzLmFwcFJvb3RQcm92aWRlci5nZXRBcHBSb290bGVzc1BhdGhuYW1lKHQucGF0aG5hbWUpfSl9KSksVnQoKHQ9Pih7cm91dGVNYXRjaDp0aGlzLnJvdXRlQ29uZmlncy5tYXRjaCh0KSxvcHRpb25zOnQub3B0aW9uc30pKSkpLHRoaXMucHJvZ3JhbW1hdGljYWxOYXZSb3V0ZSQ9dGhpcy5hY3Rpb25zJC5waXBlKFZ0KCh0PT50aGlzLnByb2dyYW1tYXRpY2FsTmF2TW9kdWxlLmdldE5hdmlnYXRpb24odCkpKSx1ZSgodD0+bnVsbCE9PXQpKSxWdCgodD0+e2NvbnN0IGU9dCxuPWUucm91dGVLaW5kO2xldCBvO3N3aXRjaChlLnJvdXRlS2luZCl7Y2FzZSBfRC5DT01QQVJFX0VYUEVSSU1FTlQ6bz17ZXhwZXJpbWVudElkczooaT1lLnJvdXRlUGFyYW1zLmFsaWFzQW5kRXhwZXJpbWVudElkcyxpLm1hcCgoKHthbGlhczp0LGlkOmV9KT0+YCR7dH06JHtlfWApKS5qb2luKCIsIikpfTticmVhaztkZWZhdWx0Om89ZS5yb3V0ZVBhcmFtc312YXIgaTtyZXR1cm57cm91dGVLaW5kOm4scm91dGVQYXJhbXM6b319KSksVnQoKCh7cm91dGVLaW5kOnQscm91dGVQYXJhbXM6ZX0pPT4oe3JvdXRlTWF0Y2g6dGhpcy5yb3V0ZUNvbmZpZ3M/dGhpcy5yb3V0ZUNvbmZpZ3MubWF0Y2hCeVJvdXRlS2luZCh0LGUpOm51bGwsb3B0aW9uczp7cmVwbGFjZVN0YXRlOiExLGJyb3dzZXJJbml0aWF0ZWQ6ITEsbmFtZXNwYWNlVXBkYXRlOntvcHRpb246d1IuVU5DSEFOR0VEfX19KSkpKSx0aGlzLnZhbGlkYXRlZFJvdXRlTWF0Y2gkPXBlKHRoaXMudXNlckluaXROYXZSb3V0ZSQsdGhpcy5wcm9ncmFtbWF0aWNhbE5hdlJvdXRlJCkucGlwZSh1ZSgoKHtyb3V0ZU1hdGNoOnR9KT0+Qm9vbGVhbih0KSkpLFZ0KCgoe3JvdXRlTWF0Y2g6dCxvcHRpb25zOmV9KT0+KHtyb3V0ZU1hdGNoOnQsb3B0aW9uczplfSkpKSksdGhpcy5uYXZpZ2F0ZSQ9V1MoKCgpPT50aGlzLnZhbGlkYXRlZFJvdXRlTWF0Y2gkLnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QoaFIpKSwkdCgoKFt0LGVdKT0+e2NvbnN0IG49bnVsbCE9PWUmJnhEKGUsdC5yb3V0ZU1hdGNoKSxvPXRoaXMuZGlydHlVcGRhdGVzUmVnaXN0cnkuZ2V0RGlydHlVcGRhdGVzU2VsZWN0b3JzKCk7cmV0dXJuIG58fCFvLmxlbmd0aD96dCh0KTppZSh0aGlzLmRpcnR5VXBkYXRlc1JlZ2lzdHJ5LmdldERpcnR5VXBkYXRlc1NlbGVjdG9ycygpLm1hcCgodD0+dGhpcy5zdG9yZS5zZWxlY3QodCkucGlwZSh2ZSgxKSkpKSkucGlwZShWdCgodD0+dm9pZCAwIT09dFswXS5leHBlcmltZW50SWRzJiZ0WzBdLmV4cGVyaW1lbnRJZHMubGVuZ3RoPjApKSx1ZSgodD0+e2lmKHQpe2NvbnN0IHQ9d2luZG93LmNvbmZpcm0oIllvdSBoYXZlIHVuc2F2ZWQgZWRpdHMsIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkaXNjYXJkIHRoZW0/Iik7cmV0dXJuIHQmJnRoaXMuc3RvcmUuZGlzcGF0Y2goWEQoKSksdH1yZXR1cm4hMH0pKSxWdCgoKCk9PnQpKSl9KSkscWUodGhpcy5zdG9yZS5zZWxlY3QoX1IpKSxXZSgoKFt7cm91dGVNYXRjaDp0LG9wdGlvbnM6ZX0sbl0pPT57Y29uc3Qgbz1lLm5hbWVzcGFjZVVwZGF0ZS5vcHRpb249PT13Ui5GUk9NX0hJU1RPUlkmJm4uaGFzKGUubmFtZXNwYWNlVXBkYXRlLm5hbWVzcGFjZUlkKTtpZighZS5icm93c2VySW5pdGlhdGVkfHxvfHwhdC5kZWVwTGlua1Byb3ZpZGVyKXJldHVybjtjb25zdCBpPXQub3JpZ2luYXRlRnJvbVJlZGlyZWN0aW9uJiZ0LnJlZGlyZWN0aW9uT25seVF1ZXJ5UGFyYW1zP3QucmVkaXJlY3Rpb25Pbmx5UXVlcnlQYXJhbXM6dGhpcy5sb2NhdGlvbi5nZXRTZWFyY2goKSxhPXQuZGVlcExpbmtQcm92aWRlci5kZXNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKGkpO3RoaXMuc3RvcmUuZGlzcGF0Y2goS0Qoe3JvdXRlS2luZDp0LnJvdXRlS2luZCxwYXJ0aWFsU3RhdGU6YX0pKX0pKSxWZSgoKFt7cm91dGVNYXRjaDp0LG9wdGlvbnM6ZX1dKT0+bnVsbD09PXQuZGVlcExpbmtQcm92aWRlcj96dCh7cm91dGU6e3JvdXRlS2luZDp0LnJvdXRlS2luZCxwYXJhbXM6dC5wYXJhbXMscGF0aG5hbWU6dC5wYXRobmFtZSxxdWVyeVBhcmFtczpbXX0sb3B0aW9uczplfSk6dC5kZWVwTGlua1Byb3ZpZGVyLnNlcmlhbGl6ZVN0YXRlVG9RdWVyeVBhcmFtcyh0aGlzLnN0b3JlKS5waXBlKFZ0KCgobixvKT0+KHtyb3V0ZTp7cm91dGVLaW5kOnQucm91dGVLaW5kLHBhcmFtczp0LnBhcmFtcyxwYXRobmFtZTp0LnBhdGhuYW1lLHF1ZXJ5UGFyYW1zOm59LG9wdGlvbnM6MD09PW8/ZTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse3JlcGxhY2VTdGF0ZTohMCxyZXNldE5hbWVzcGFjZWRTdGF0ZTohMX0pfSkpKSkpKSxXZSgoKHtyb3V0ZTp0fSk9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKCREKHthZnRlcjp0fSkpfSkpLENlKDApKS5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KGhSKSksVnQoKChbe3JvdXRlOnQsb3B0aW9uczplfSxuXSk9Pih7cHJlc2VydmVIYXNoOm51bGw9PT1ufHxudWxsPT09dHx8eEQobix0KSxyb3V0ZTp0LG9wdGlvbnM6ZX0pKSksV2UoKCh7cHJlc2VydmVIYXNoOnQscm91dGU6ZSxvcHRpb25zOm59KT0+eyEoZnVuY3Rpb24gbyh0LGUpe3JldHVybiB0LnBhdGhuYW1lPT09ZS5wYXRobmFtZSYmdC5xdWVyeVBhcmFtcy5sZW5ndGg9PT1lLnF1ZXJ5UGFyYW1zLmxlbmd0aCYmdC5xdWVyeVBhcmFtcy5ldmVyeSgoKHQsbik9Pntjb25zdCBvPWUucXVlcnlQYXJhbXNbbl07cmV0dXJuIHQua2V5PT09by5rZXkmJnQudmFsdWU9PT1vLnZhbHVlfSkpfSkoZSx7cGF0aG5hbWU6dGhpcy5hcHBSb290UHJvdmlkZXIuZ2V0QXBwUm9vdGxlc3NQYXRobmFtZSh0aGlzLmxvY2F0aW9uLmdldFBhdGgoKSkscXVlcnlQYXJhbXM6dGhpcy5sb2NhdGlvbi5nZXRTZWFyY2goKX0pJiYobi5yZXBsYWNlU3RhdGU/dGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGVVcmwodGhpcy5hcHBSb290UHJvdmlkZXIuZ2V0QWJzUGF0aG5hbWVXaXRoQXBwUm9vdCh0aGlzLmxvY2F0aW9uLmdldEZ1bGxQYXRoRnJvbVJvdXRlKGUsdCkpKTp0aGlzLmxvY2F0aW9uLnB1c2hTdGF0ZVVybCh0aGlzLmFwcFJvb3RQcm92aWRlci5nZXRBYnNQYXRobmFtZVdpdGhBcHBSb290KHRoaXMubG9jYXRpb24uZ2V0RnVsbFBhdGhGcm9tUm91dGUoZSx0KSkpKX0pKSkucGlwZShxZSh0aGlzLnN0b3JlLnNlbGVjdChoUiksdGhpcy5zdG9yZS5zZWxlY3QoeVIpLHRoaXMuc3RvcmUuc2VsZWN0KFpEKSksVnQoKChbe3JvdXRlOnQsb3B0aW9uczplfSxuLG8saV0pPT57Y29uc3QgYT0oZnVuY3Rpb24gcih0LGUsbixvKXtyZXR1cm4gdD9uLm5hbWVzcGFjZVVwZGF0ZS5vcHRpb249PT13Ui5GUk9NX0hJU1RPUlk/bi5uYW1lc3BhY2VVcGRhdGUubmFtZXNwYWNlSWQ6bnVsbD09b3x8bi5uYW1lc3BhY2VVcGRhdGUub3B0aW9uPT09d1IuTkVXP0RhdGUubm93KCkudG9TdHJpbmcoKTpvOihmdW5jdGlvbiBpKHQsZSl7dmFyIG47c3dpdGNoKHQpe2Nhc2UgX0QuQ09NUEFSRV9FWFBFUklNRU5UOmNhc2UgX0QuRVhQRVJJTUVOVDp7Y29uc3Qgbz1udWxsIT09KG49dkQodCxlKSkmJnZvaWQgMCE9PW4/bjpbXTtyZXR1cm4gby5zb3J0KCksYCR7dH0vJHtvLmpvaW4oIiwiKX1gfWNhc2UgX0QuRVhQRVJJTUVOVFM6cmV0dXJuIFN0cmluZyh0KTtjYXNlIF9ELk5PVF9TRVQ6cmV0dXJuIl9fbm90X3NldCI7ZGVmYXVsdDpyZXR1cm4iIn19KShlLnJvdXRlS2luZCxlLnBhcmFtcyl9KShpLHQsZSxvKTtyZXR1cm4gdGhpcy5sb2NhdGlvbi5yZXBsYWNlU3RhdGVEYXRhKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0aGlzLmxvY2F0aW9uLmdldEhpc3RvcnlTdGF0ZSgpKSx7bmFtZXNwYWNlSWQ6YX0pKSx0Uih7YmVmb3JlOm4sYWZ0ZXI6dCxiZWZvcmVOYW1lc3BhY2VJZDpvLGFmdGVyTmFtZXNwYWNlSWQ6YX0pfSkpKSkpLHRoaXMucm91dGVDb25maWdzPWkuZ2V0Um91dGVDb25maWdzKCl9bmdyeE9uSW5pdEVmZmVjdHMoKXtyZXR1cm4gUFIoKX19a1IuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGtSKShUcihRUyksVHIoaVMpLFRyKFBEKSxUcihFRCksVHIoZlIpLFRyKG5SKSxUcih3RCkpfSxrUi7JtXByb3Y9U24oe3Rva2VuOmtSLGZhY3Rvcnk6a1IuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGtSLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpRU30se3R5cGU6aVN9LHt0eXBlOlBEfSx7dHlwZTpFRH0se3R5cGU6ZlJ9LHt0eXBlOm5SfSx7dHlwZTp3RH1dfSksbnVsbCk7Y29uc3QgU1I9VlMoe2FjdGl2ZVJvdXRlOm51bGwsbmV4dFJvdXRlOm51bGwsYWN0aXZlTmFtZXNwYWNlSWQ6bnVsbCxrbm93bk5hbWVzcGFjZUlkczpuZXcgU2V0LHJlZ2lzdGVyZWRSb3V0ZUtleXM6bmV3IFNldH0sQlMoJEQsKCh0LHthZnRlcjplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7bmV4dFJvdXRlOmV9KSkpLEJTKHRSLCgodCx7YWZ0ZXI6ZSxhZnRlck5hbWVzcGFjZUlkOm59KT0+e2xldCBvPXQua25vd25OYW1lc3BhY2VJZHM7cmV0dXJuIHQua25vd25OYW1lc3BhY2VJZHMuaGFzKG4pfHwobz1uZXcgU2V0KHQua25vd25OYW1lc3BhY2VJZHMpLG8uYWRkKG4pKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2FjdGl2ZVJvdXRlOmUsbmV4dFJvdXRlOm51bGwsYWN0aXZlTmFtZXNwYWNlSWQ6bixrbm93bk5hbWVzcGFjZUlkczpvfSl9KSksQlMoSkQsKCh0LHtyb3V0ZUtpbmRzOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtyZWdpc3RlcmVkUm91dGVLZXlzOmV9KSkpKTtmdW5jdGlvbiBEUih0LGUpe3JldHVybiBTUih0LGUpfWNsYXNzIFJSe31SUi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UlIpfSxSUi7JtW1vZD1mbyh7dHlwZTpSUn0pLFJSLsm1aW5qPURuKHtwcm92aWRlcnM6W0VELG5SXSxpbXBvcnRzOltbZlIsVFMuZm9yRmVhdHVyZSh1UixEUiksaEQuZm9yRmVhdHVyZShba1JdKSxERCxTRF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihSUixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W2ZSLFRTLmZvckZlYXR1cmUodVIsRFIpLGhELmZvckZlYXR1cmUoW2tSXSksREQsU0RdLHByb3ZpZGVyczpbRUQsblJdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oUlIse2ltcG9ydHM6W2ZSLEFTLGdELERELFNEXX0pO2NvbnN0IEVSPSJfX3RhYl9fIjtjbGFzcyBBUntjb25zdHJ1Y3Rvcigpe3RoaXMudGZTdG9yYWdlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRmLXN0b3JhZ2UiKTtkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Zi1nbG9iYWxzIikudGZfZ2xvYmFscy5zZXRVc2VIYXNoKCEwKSx0aGlzLnRmU3RvcmFnZS50Zl9zdG9yYWdlLm1pZ3JhdGVMZWdhY3lVUkxTY2hlbWUoKX1nZXRTdHJpbmcodCl7cmV0dXJuIHRoaXMudGZTdG9yYWdlLnRmX3N0b3JhZ2UuZ2V0U3RyaW5nKHQpfXNldFN0cmluZyh0LGUsbil7dGhpcy50ZlN0b3JhZ2UudGZfc3RvcmFnZS5zZXRTdHJpbmcodCxlLG4pfWdldFBsdWdpbklkKCl7cmV0dXJuIHRoaXMuZ2V0U3RyaW5nKEVSKX1zZXRQbHVnaW5JZCh0LGUpe3RoaXMuc2V0U3RyaW5nKEVSLHQsZSl9fUFSLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxBUil9LEFSLsm1cHJvdj1Tbih7dG9rZW46QVIsZmFjdG9yeTpBUi7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQVIsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSxudWxsKTtjbGFzcyBUUnt9Y29uc3QgTlI9bmV3IGVyKCJbUGVyc2lzdGVudCBTZXR0aW5nc10gR2xvYmFsIFNldHRpbmdzIik7Y2xhc3MgelJ7Y29uc3RydWN0b3IodCl7dGhpcy5nbG9iYWxTZXR0aW5nU2VsZWN0b3JzPVtdLHQmJih0aGlzLmdsb2JhbFNldHRpbmdTZWxlY3RvcnM9dC5tYXAoKHQ9PnQoKSkpKX1nZXRHbG9iYWxTZXR0aW5nU2VsZWN0b3JzKCl7dmFyIHQ7cmV0dXJuIG51bGwhPT0odD10aGlzLmdsb2JhbFNldHRpbmdTZWxlY3RvcnMpJiZ2b2lkIDAhPT10P3Q6W119c3RhdGljIGRlZmluZUdsb2JhbFNldHRpbmcodCl7cmV0dXJue25nTW9kdWxlOnpSLHByb3ZpZGVyczpbe3Byb3ZpZGU6TlIsbXVsdGk6ITAsdXNlVmFsdWU6dH1dfX19elIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHpSKShUcihOUiw4KSl9LHpSLsm1bW9kPWZvKHt0eXBlOnpSfSkselIuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoelIsW3t0eXBlOkxffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltOUl19XX1dfSksbnVsbCk7Y2xhc3MgSVJ7c2V0SXRlbSh0LGUpe2xvY2FsU3RvcmFnZS5zZXRJdGVtKHQsZSl9Z2V0SXRlbSh0KXtyZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odCl9cmVtb3ZlSXRlbSh0KXtsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0KX19SVIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fElSKX0sSVIuybVwcm92PVNuKHt0b2tlbjpJUixmYWN0b3J5OklSLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihJUixbe3R5cGU6VW19XSxudWxsLG51bGwpO2NsYXNzIEhSe312YXIgRlI7SFIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEhSKX0sSFIuybVtb2Q9Zm8oe3R5cGU6SFJ9KSxIUi7JtWluaj1Ebih7cHJvdmlkZXJzOltJUl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEhSLFt7dHlwZTpMXyxhcmdzOlt7cHJvdmlkZXJzOltJUl19XX1dLG51bGwsbnVsbCksKGZ1bmN0aW9uKHQpe3QuQlJPV1NFUl9ERUZBVUxUPSJicm93c2VyX2RlZmF1bHQiLHQuTElHSFQ9ImxpZ2h0Iix0LkRBUks9ImRhcmsifSkoRlJ8fChGUj17fSkpO2NvbnN0IExSPSJfdGJfZ2xvYmFsX3NldHRpbmdzLnRpbWVzZXJpZXMiLEJSPSJfdGJfZ2xvYmFsX3NldHRpbmdzIixWUj0ibm90aWZpY2F0aW9uTGFzdFJlYWRUaW1lc3RhbXAiO2NsYXNzIGpSe31qUi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8alIpfSxqUi7JtXByb3Y9U24oe3Rva2VuOmpSLGZhY3Rvcnk6alIuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGpSLFt7dHlwZTpVbX1dLG51bGwsbnVsbCk7Y2xhc3MgVVJ7fVVSLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxVUil9LFVSLsm1cHJvdj1Tbih7dG9rZW46VVIsZmFjdG9yeTpVUi7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVVIsW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjbGFzcyBXUiBleHRlbmRzIFVSe3VpVG9CYWNrZW5kKHQpe2NvbnN0IGU9e307cmV0dXJuIHZvaWQgMCE9PXQuaWdub3JlT3V0bGllcnMmJihlLmlnbm9yZU91dGxpZXJzPXQuaWdub3JlT3V0bGllcnMpLHZvaWQgMCE9PXQuc2NhbGFyU21vb3RoaW5nJiYoZS5zY2FsYXJTbW9vdGhpbmc9dC5zY2FsYXJTbW9vdGhpbmcpLHZvaWQgMCE9PXQudG9vbHRpcFNvcnRTdHJpbmcmJihlLnRvb2x0aXBTb3J0PXQudG9vbHRpcFNvcnRTdHJpbmcpLHZvaWQgMCE9PXQuYXV0b1JlbG9hZCYmKGUuYXV0b1JlbG9hZD10LmF1dG9SZWxvYWQpLHZvaWQgMCE9PXQuYXV0b1JlbG9hZFBlcmlvZEluTXMmJihlLmF1dG9SZWxvYWRQZXJpb2RJbk1zPXQuYXV0b1JlbG9hZFBlcmlvZEluTXMpLHZvaWQgMCE9PXQucGFnZVNpemUmJihlLnBhZ2luYXRpb25TaXplPXQucGFnZVNpemUpLHZvaWQgMCE9PXQudGhlbWVPdmVycmlkZSYmKGUudGhlbWU9dC50aGVtZU92ZXJyaWRlKSx2b2lkIDAhPT10Lm5vdGlmaWNhdGlvbkxhc3RSZWFkVGltZUluTXMmJihlLm5vdGlmaWNhdGlvbkxhc3RSZWFkVGltZUluTXM9dC5ub3RpZmljYXRpb25MYXN0UmVhZFRpbWVJbk1zKSx2b2lkIDAhPT10LnNpZGVCYXJXaWR0aEluUGVyY2VudCYmKGUuc2lkZUJhcldpZHRoSW5QZXJjZW50PXQuc2lkZUJhcldpZHRoSW5QZXJjZW50KSx2b2lkIDAhPT10LnRpbWVTZXJpZXNQcm9tb3Rpb25EaXNtaXNzZWQmJihlLnRpbWVTZXJpZXNQcm9tb3Rpb25EaXNtaXNzZWQ9dC50aW1lU2VyaWVzUHJvbW90aW9uRGlzbWlzc2VkKSx2b2lkIDAhPT10LnRpbWVTZXJpZXNTZXR0aW5nc1BhbmVPcGVuZWQmJihlLnRpbWVTZXJpZXNTZXR0aW5nc1BhbmVPcGVuZWQ9dC50aW1lU2VyaWVzU2V0dGluZ3NQYW5lT3BlbmVkKSx2b2lkIDAhPT10LnRpbWVTZXJpZXNDYXJkTWluV2lkdGgmJihlLnRpbWVTZXJpZXNDYXJkTWluV2lkdGg9dC50aW1lU2VyaWVzQ2FyZE1pbldpZHRoKSxlfWJhY2tlbmRUb1VpKHQpe2NvbnN0IGU9e307cmV0dXJuIHQuaGFzT3duUHJvcGVydHkoInNjYWxhclNtb290aGluZyIpJiYibnVtYmVyIj09dHlwZW9mIHQuc2NhbGFyU21vb3RoaW5nJiYoZS5zY2FsYXJTbW9vdGhpbmc9dC5zY2FsYXJTbW9vdGhpbmcpLHQuaGFzT3duUHJvcGVydHkoImlnbm9yZU91dGxpZXJzIikmJiJib29sZWFuIj09dHlwZW9mIHQuaWdub3JlT3V0bGllcnMmJihlLmlnbm9yZU91dGxpZXJzPXQuaWdub3JlT3V0bGllcnMpLHQuaGFzT3duUHJvcGVydHkoInRvb2x0aXBTb3J0IikmJiJzdHJpbmciPT10eXBlb2YgdC50b29sdGlwU29ydCYmKGUudG9vbHRpcFNvcnRTdHJpbmc9dC50b29sdGlwU29ydCksdC5oYXNPd25Qcm9wZXJ0eSgiYXV0b1JlbG9hZCIpJiYiYm9vbGVhbiI9PXR5cGVvZiB0LmF1dG9SZWxvYWQmJihlLmF1dG9SZWxvYWQ9dC5hdXRvUmVsb2FkKSx0Lmhhc093blByb3BlcnR5KCJhdXRvUmVsb2FkUGVyaW9kSW5NcyIpJiYibnVtYmVyIj09dHlwZW9mIHQuYXV0b1JlbG9hZFBlcmlvZEluTXMmJihlLmF1dG9SZWxvYWRQZXJpb2RJbk1zPXQuYXV0b1JlbG9hZFBlcmlvZEluTXMpLHQuaGFzT3duUHJvcGVydHkoInBhZ2luYXRpb25TaXplIikmJiJudW1iZXIiPT10eXBlb2YgdC5wYWdpbmF0aW9uU2l6ZSYmKGUucGFnZVNpemU9dC5wYWdpbmF0aW9uU2l6ZSksdC5oYXNPd25Qcm9wZXJ0eSgidGhlbWUiKSYmInN0cmluZyI9PXR5cGVvZiB0LnRoZW1lJiZuZXcgU2V0KE9iamVjdC52YWx1ZXMoRlIpKS5oYXModC50aGVtZSkmJihlLnRoZW1lT3ZlcnJpZGU9dC50aGVtZSksdC5oYXNPd25Qcm9wZXJ0eSgibm90aWZpY2F0aW9uTGFzdFJlYWRUaW1lSW5NcyIpJiYibnVtYmVyIj09dHlwZW9mIHQubm90aWZpY2F0aW9uTGFzdFJlYWRUaW1lSW5NcyYmKGUubm90aWZpY2F0aW9uTGFzdFJlYWRUaW1lSW5Ncz10Lm5vdGlmaWNhdGlvbkxhc3RSZWFkVGltZUluTXMpLHQuaGFzT3duUHJvcGVydHkoInNpZGVCYXJXaWR0aEluUGVyY2VudCIpJiYibnVtYmVyIj09dHlwZW9mIHQuc2lkZUJhcldpZHRoSW5QZXJjZW50JiYoZS5zaWRlQmFyV2lkdGhJblBlcmNlbnQ9dC5zaWRlQmFyV2lkdGhJblBlcmNlbnQpLHQuaGFzT3duUHJvcGVydHkoInRpbWVTZXJpZXNQcm9tb3Rpb25EaXNtaXNzZWQiKSYmImJvb2xlYW4iPT10eXBlb2YgdC50aW1lU2VyaWVzUHJvbW90aW9uRGlzbWlzc2VkJiYoZS50aW1lU2VyaWVzUHJvbW90aW9uRGlzbWlzc2VkPXQudGltZVNlcmllc1Byb21vdGlvbkRpc21pc3NlZCksdC5oYXNPd25Qcm9wZXJ0eSgidGltZVNlcmllc1NldHRpbmdzUGFuZU9wZW5lZCIpJiYiYm9vbGVhbiI9PXR5cGVvZiB0LnRpbWVTZXJpZXNTZXR0aW5nc1BhbmVPcGVuZWQmJihlLnRpbWVTZXJpZXNTZXR0aW5nc1BhbmVPcGVuZWQ9dC50aW1lU2VyaWVzU2V0dGluZ3NQYW5lT3BlbmVkKSx0Lmhhc093blByb3BlcnR5KCJ0aW1lU2VyaWVzQ2FyZE1pbldpZHRoIikmJiJudW1iZXIiPT10eXBlb2YgdC50aW1lU2VyaWVzQ2FyZE1pbldpZHRoJiYoZS50aW1lU2VyaWVzQ2FyZE1pbldpZHRoPXQudGltZVNlcmllc0NhcmRNaW5XaWR0aCksZX19V1IuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKFdSKSkpKG58fFdSKX19KSgpLFdSLsm1cHJvdj1Tbih7dG9rZW46V1IsZmFjdG9yeTpXUi7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoV1IsW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjbGFzcyBHUntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMubG9jYWxTdG9yYWdlPXQsdGhpcy5jb252ZXJ0ZXI9ZX1zZXRTZXR0aW5ncyh0KXtyZXR1cm4gT2JqZWN0LmtleXModCk/dGhpcy5nZXRTZXR0aW5ncygpLnBpcGUoV2UoKGU9Pnt0aGlzLmxvY2FsU3RvcmFnZS5zZXRJdGVtKEJSLEpTT04uc3RyaW5naWZ5KHRoaXMuY29udmVydGVyLnVpVG9CYWNrZW5kKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx0KSkpKSx0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKExSKSx0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFZSKX0pKSxWdCgoKCk9Pnt9KSkpOmR0fWRlc2VyaWFsaXplKHQpe3RyeXtyZXR1cm4gSlNPTi5wYXJzZSh0KX1jYXRjaCh0KXtyZXR1cm57fX19Z2V0U2V0dGluZ3MoKXt2YXIgdCxlO2NvbnN0IG49dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShWUiksbz10aGlzLmNvbnZlcnRlci5iYWNrZW5kVG9VaSh0aGlzLmRlc2VyaWFsaXplKG4/SlNPTi5zdHJpbmdpZnkoe25vdGlmaWNhdGlvbkxhc3RSZWFkVGltZUluTXM6TnVtYmVyKG4pfSk6Int9IikpLGk9dGhpcy5jb252ZXJ0ZXIuYmFja2VuZFRvVWkodGhpcy5kZXNlcmlhbGl6ZShudWxsIT09KHQ9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShMUikpJiZ2b2lkIDAhPT10P3Q6Int9IikpLGE9dGhpcy5jb252ZXJ0ZXIuYmFja2VuZFRvVWkodGhpcy5kZXNlcmlhbGl6ZShudWxsIT09KGU9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShCUikpJiZ2b2lkIDAhPT1lP2U6Int9IikpO3JldHVybiB6dChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxvKSxpKSxhKSl9fUdSLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxHUikoVHIoSVIpLFRyKFVSKSl9LEdSLsm1cHJvdj1Tbih7dG9rZW46R1IsZmFjdG9yeTpHUi7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoR1IsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOklSfSx7dHlwZTpVUn1dfSksbnVsbCk7Y2xhc3MgWVJ7fVlSLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxZUil9LFlSLsm1bW9kPWZvKHt0eXBlOllSfSksWVIuybVpbmo9RG4oe3Byb3ZpZGVyczpbe3Byb3ZpZGU6alIsdXNlQ2xhc3M6R1J9LFdSLHtwcm92aWRlOlVSLHVzZUV4aXN0aW5nOldSfV0saW1wb3J0czpbW0hSXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFlSLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbSFJdLHByb3ZpZGVyczpbe3Byb3ZpZGU6alIsdXNlQ2xhc3M6R1J9LFdSLHtwcm92aWRlOlVSLHVzZUV4aXN0aW5nOldSfV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhZUix7aW1wb3J0czpbSFJdfSk7Y29uc3QgcVI9X2soIltQZXJzaXN0ZW50IFNldHRpbmdzXSBHbG9iYWwgU2V0dGluZ3MgTG9hZGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksWlI9X2soIltQZXJzaXN0ZW50IFNldHRpbmdzXSBFZmZlY3RzIEluaXQiKTtjbGFzcyBYUntjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLmFjdGlvbnMkPXQsdGhpcy5zdG9yZT1lLHRoaXMuY29uZmlnTW9kdWxlPW4sdGhpcy5kYXRhU291cmNlPW8sdGhpcy5pbml0aWFsaXplQW5kVXBkYXRlU2V0dGluZ3MkPVdTKCgoKT0+e2NvbnN0IHQ9dGhpcy5hY3Rpb25zJC5waXBlKCRTKFpSKSwkdCgoKCk9PnRoaXMuZGF0YVNvdXJjZS5nZXRTZXR0aW5ncygpKSksV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKHFSKHtwYXJ0aWFsU2V0dGluZ3M6dH0pKX0pKSxQZSgwKSwkdCgoKCk9PnBlKC4uLnRoaXMuY29uZmlnTW9kdWxlLmdldEdsb2JhbFNldHRpbmdTZWxlY3RvcnMoKS5tYXAoKHQ9PnRoaXMuc3RvcmUuc2VsZWN0KHQpLnBpcGUod2UoKCh0LGUpPT57Y29uc3Qgbj1PYmplY3QudmFsdWVzKHQpLG89T2JqZWN0LnZhbHVlcyhlKTtyZXR1cm4gbi5sZW5ndGg9PT1vLmxlbmd0aCYmbi5ldmVyeSgoKHQsZSk9PnQ9PT1vW2VdKSl9KSksTGUoMSkpKSkpKSksSWUoKSk7cmV0dXJuIHQucGlwZSgoZnVuY3Rpb24gZSh0KXtyZXR1cm4geigoZnVuY3Rpb24oZSxuKXt2YXIgbz1bXTtyZXR1cm4gZS5zdWJzY3JpYmUobmV3IEgobiwoZnVuY3Rpb24odCl7cmV0dXJuIG8ucHVzaCh0KX0pLChmdW5jdGlvbigpe24ubmV4dChvKSxuLmNvbXBsZXRlKCl9KSkpLHQuc3Vic2NyaWJlKG5ldyBIKG4sKGZ1bmN0aW9uKCl7dmFyIHQ9bztvPVtdLG4ubmV4dCh0KX0pLE0pKSxmdW5jdGlvbigpe289bnVsbH19KSl9KSh0LnBpcGUoQ2UoNTAwKSkpLCR0KCh0PT57Y29uc3QgZT17fTtmb3IoY29uc3QgbiBvZiB0KU9iamVjdC5hc3NpZ24oZSxuKTtyZXR1cm4gdGhpcy5kYXRhU291cmNlLnNldFNldHRpbmdzKGUpfSkpKX0pLHtkaXNwYXRjaDohMX0pfW5ncnhPbkluaXRFZmZlY3RzKCl7cmV0dXJuIFpSKCl9fVhSLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxYUikoVHIoUVMpLFRyKGlTKSxUcih6UiksVHIoalIpKX0sWFIuybVwcm92PVNuKHt0b2tlbjpYUixmYWN0b3J5OlhSLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYUixbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UVN9LHt0eXBlOmlTfSx7dHlwZTp6Un0se3R5cGU6alJ9XX0pLG51bGwpO2NsYXNzIEtSe31LUi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8S1IpfSxLUi7JtW1vZD1mbyh7dHlwZTpLUn0pLEtSLsm1aW5qPURuKHtwcm92aWRlcnM6W3pSXSxpbXBvcnRzOltbaEQuZm9yRmVhdHVyZShbWFJdKSxZUl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihLUixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W2hELmZvckZlYXR1cmUoW1hSXSksWVJdLHByb3ZpZGVyczpbelJdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oS1Ise2ltcG9ydHM6W2dELFlSXX0pOwovKioKICAgICAqIEBsaWNlbnNlIEFuZ3VsYXIgdjEyLjIuMQogICAgICogKGMpIDIwMTAtMjAyMSBHb29nbGUgTExDLiBodHRwczovL2FuZ3VsYXIuaW8vCiAgICAgKiBMaWNlbnNlOiBNSVQKICAgICAqLwpjbGFzcyBKUnt9Y2xhc3MgUVJ7fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyAkUntjb25zdHJ1Y3Rvcih0KXt0aGlzLm5vcm1hbGl6ZWROYW1lcz1uZXcgTWFwLHRoaXMubGF6eVVwZGF0ZT1udWxsLHQ/dGhpcy5sYXp5SW5pdD0ic3RyaW5nIj09dHlwZW9mIHQ/KCk9Pnt0aGlzLmhlYWRlcnM9bmV3IE1hcCx0LnNwbGl0KCJcbiIpLmZvckVhY2goKHQ9Pntjb25zdCBlPXQuaW5kZXhPZigiOiIpO2lmKGU+MCl7Y29uc3Qgbj10LnNsaWNlKDAsZSksbz1uLnRvTG93ZXJDYXNlKCksaT10LnNsaWNlKGUrMSkudHJpbSgpO3RoaXMubWF5YmVTZXROb3JtYWxpemVkTmFtZShuLG8pLHRoaXMuaGVhZGVycy5oYXMobyk/dGhpcy5oZWFkZXJzLmdldChvKS5wdXNoKGkpOnRoaXMuaGVhZGVycy5zZXQobyxbaV0pfX0pKX06KCk9Pnt0aGlzLmhlYWRlcnM9bmV3IE1hcCxPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChlPT57bGV0IG49dFtlXTtjb25zdCBvPWUudG9Mb3dlckNhc2UoKTsic3RyaW5nIj09dHlwZW9mIG4mJihuPVtuXSksbi5sZW5ndGg+MCYmKHRoaXMuaGVhZGVycy5zZXQobyxuKSx0aGlzLm1heWJlU2V0Tm9ybWFsaXplZE5hbWUoZSxvKSl9KSl9OnRoaXMuaGVhZGVycz1uZXcgTWFwfWhhcyh0KXtyZXR1cm4gdGhpcy5pbml0KCksdGhpcy5oZWFkZXJzLmhhcyh0LnRvTG93ZXJDYXNlKCkpfWdldCh0KXt0aGlzLmluaXQoKTtjb25zdCBlPXRoaXMuaGVhZGVycy5nZXQodC50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gZSYmZS5sZW5ndGg+MD9lWzBdOm51bGx9a2V5cygpe3JldHVybiB0aGlzLmluaXQoKSxBcnJheS5mcm9tKHRoaXMubm9ybWFsaXplZE5hbWVzLnZhbHVlcygpKX1nZXRBbGwodCl7cmV0dXJuIHRoaXMuaW5pdCgpLHRoaXMuaGVhZGVycy5nZXQodC50b0xvd2VyQ2FzZSgpKXx8bnVsbH1hcHBlbmQodCxlKXtyZXR1cm4gdGhpcy5jbG9uZSh7bmFtZTp0LHZhbHVlOmUsb3A6ImEifSl9c2V0KHQsZSl7cmV0dXJuIHRoaXMuY2xvbmUoe25hbWU6dCx2YWx1ZTplLG9wOiJzIn0pfWRlbGV0ZSh0LGUpe3JldHVybiB0aGlzLmNsb25lKHtuYW1lOnQsdmFsdWU6ZSxvcDoiZCJ9KX1tYXliZVNldE5vcm1hbGl6ZWROYW1lKHQsZSl7dGhpcy5ub3JtYWxpemVkTmFtZXMuaGFzKGUpfHx0aGlzLm5vcm1hbGl6ZWROYW1lcy5zZXQoZSx0KX1pbml0KCl7dGhpcy5sYXp5SW5pdCYmKHRoaXMubGF6eUluaXQgaW5zdGFuY2VvZiAkUj90aGlzLmNvcHlGcm9tKHRoaXMubGF6eUluaXQpOnRoaXMubGF6eUluaXQoKSx0aGlzLmxhenlJbml0PW51bGwsdGhpcy5sYXp5VXBkYXRlJiYodGhpcy5sYXp5VXBkYXRlLmZvckVhY2goKHQ9PnRoaXMuYXBwbHlVcGRhdGUodCkpKSx0aGlzLmxhenlVcGRhdGU9bnVsbCkpfWNvcHlGcm9tKHQpe3QuaW5pdCgpLEFycmF5LmZyb20odC5oZWFkZXJzLmtleXMoKSkuZm9yRWFjaCgoZT0+e3RoaXMuaGVhZGVycy5zZXQoZSx0LmhlYWRlcnMuZ2V0KGUpKSx0aGlzLm5vcm1hbGl6ZWROYW1lcy5zZXQoZSx0Lm5vcm1hbGl6ZWROYW1lcy5nZXQoZSkpfSkpfWNsb25lKHQpe2NvbnN0IGU9bmV3ICRSO3JldHVybiBlLmxhenlJbml0PXRoaXMubGF6eUluaXQmJnRoaXMubGF6eUluaXQgaW5zdGFuY2VvZiAkUj90aGlzLmxhenlJbml0OnRoaXMsZS5sYXp5VXBkYXRlPSh0aGlzLmxhenlVcGRhdGV8fFtdKS5jb25jYXQoW3RdKSxlfWFwcGx5VXBkYXRlKHQpe2NvbnN0IGU9dC5uYW1lLnRvTG93ZXJDYXNlKCk7c3dpdGNoKHQub3Ape2Nhc2UiYSI6Y2FzZSJzIjpsZXQgbj10LnZhbHVlO2lmKCJzdHJpbmciPT10eXBlb2YgbiYmKG49W25dKSwwPT09bi5sZW5ndGgpcmV0dXJuO3RoaXMubWF5YmVTZXROb3JtYWxpemVkTmFtZSh0Lm5hbWUsZSk7Y29uc3Qgbz0oImEiPT09dC5vcD90aGlzLmhlYWRlcnMuZ2V0KGUpOnZvaWQgMCl8fFtdO28ucHVzaCguLi5uKSx0aGlzLmhlYWRlcnMuc2V0KGUsbyk7YnJlYWs7Y2FzZSJkIjpjb25zdCBpPXQudmFsdWU7aWYoaSl7bGV0IHQ9dGhpcy5oZWFkZXJzLmdldChlKTtpZighdClyZXR1cm47dD10LmZpbHRlcigodD0+LTE9PT1pLmluZGV4T2YodCkpKSwwPT09dC5sZW5ndGg/KHRoaXMuaGVhZGVycy5kZWxldGUoZSksdGhpcy5ub3JtYWxpemVkTmFtZXMuZGVsZXRlKGUpKTp0aGlzLmhlYWRlcnMuc2V0KGUsdCl9ZWxzZSB0aGlzLmhlYWRlcnMuZGVsZXRlKGUpLHRoaXMubm9ybWFsaXplZE5hbWVzLmRlbGV0ZShlKX19Zm9yRWFjaCh0KXt0aGlzLmluaXQoKSxBcnJheS5mcm9tKHRoaXMubm9ybWFsaXplZE5hbWVzLmtleXMoKSkuZm9yRWFjaCgoZT0+dCh0aGlzLm5vcm1hbGl6ZWROYW1lcy5nZXQoZSksdGhpcy5oZWFkZXJzLmdldChlKSkpKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIHRFe2VuY29kZUtleSh0KXtyZXR1cm4gZUUodCl9ZW5jb2RlVmFsdWUodCl7cmV0dXJuIGVFKHQpfWRlY29kZUtleSh0KXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQpfWRlY29kZVZhbHVlKHQpe3JldHVybiBkZWNvZGVVUklDb21wb25lbnQodCl9fWZ1bmN0aW9uIGVFKHQpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQodCkucmVwbGFjZSgvJTQwL2dpLCJAIikucmVwbGFjZSgvJTNBL2dpLCI6IikucmVwbGFjZSgvJTI0L2dpLCIkIikucmVwbGFjZSgvJTJDL2dpLCIsIikucmVwbGFjZSgvJTNCL2dpLCI7IikucmVwbGFjZSgvJTJCL2dpLCIrIikucmVwbGFjZSgvJTNEL2dpLCI9IikucmVwbGFjZSgvJTNGL2dpLCI/IikucmVwbGFjZSgvJTJGL2dpLCIvIil9ZnVuY3Rpb24gbkUodCl7cmV0dXJuYCR7dH1gfWNsYXNzIG9Fe2NvbnN0cnVjdG9yKHQ9e30pe2lmKHRoaXMudXBkYXRlcz1udWxsLHRoaXMuY2xvbmVGcm9tPW51bGwsdGhpcy5lbmNvZGVyPXQuZW5jb2Rlcnx8bmV3IHRFLHQuZnJvbVN0cmluZyl7aWYodC5mcm9tT2JqZWN0KXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNwZWNpZnkgYm90aCBmcm9tU3RyaW5nIGFuZCBmcm9tT2JqZWN0LiIpO3RoaXMubWFwPShmdW5jdGlvbiBlKHQsbil7Y29uc3Qgbz1uZXcgTWFwO3QubGVuZ3RoPjAmJnQucmVwbGFjZSgvXlw/LywiIikuc3BsaXQoIiYiKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10LmluZGV4T2YoIj0iKSxbaSxhXT0tMT09ZT9bbi5kZWNvZGVLZXkodCksIiJdOltuLmRlY29kZUtleSh0LnNsaWNlKDAsZSkpLG4uZGVjb2RlVmFsdWUodC5zbGljZShlKzEpKV0scj1vLmdldChpKXx8W107ci5wdXNoKGEpLG8uc2V0KGkscil9KSk7cmV0dXJuIG99KSh0LmZyb21TdHJpbmcsdGhpcy5lbmNvZGVyKX1lbHNlIHQuZnJvbU9iamVjdD8odGhpcy5tYXA9bmV3IE1hcCxPYmplY3Qua2V5cyh0LmZyb21PYmplY3QpLmZvckVhY2goKGU9Pntjb25zdCBuPXQuZnJvbU9iamVjdFtlXTt0aGlzLm1hcC5zZXQoZSxBcnJheS5pc0FycmF5KG4pP246W25dKX0pKSk6dGhpcy5tYXA9bnVsbH1oYXModCl7cmV0dXJuIHRoaXMuaW5pdCgpLHRoaXMubWFwLmhhcyh0KX1nZXQodCl7dGhpcy5pbml0KCk7Y29uc3QgZT10aGlzLm1hcC5nZXQodCk7cmV0dXJuIGU/ZVswXTpudWxsfWdldEFsbCh0KXtyZXR1cm4gdGhpcy5pbml0KCksdGhpcy5tYXAuZ2V0KHQpfHxudWxsfWtleXMoKXtyZXR1cm4gdGhpcy5pbml0KCksQXJyYXkuZnJvbSh0aGlzLm1hcC5rZXlzKCkpfWFwcGVuZCh0LGUpe3JldHVybiB0aGlzLmNsb25lKHtwYXJhbTp0LHZhbHVlOmUsb3A6ImEifSl9YXBwZW5kQWxsKHQpe2NvbnN0IGU9W107cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKG49Pntjb25zdCBvPXRbbl07QXJyYXkuaXNBcnJheShvKT9vLmZvckVhY2goKHQ9PntlLnB1c2goe3BhcmFtOm4sdmFsdWU6dCxvcDoiYSJ9KX0pKTplLnB1c2goe3BhcmFtOm4sdmFsdWU6byxvcDoiYSJ9KX0pKSx0aGlzLmNsb25lKGUpfXNldCh0LGUpe3JldHVybiB0aGlzLmNsb25lKHtwYXJhbTp0LHZhbHVlOmUsb3A6InMifSl9ZGVsZXRlKHQsZSl7cmV0dXJuIHRoaXMuY2xvbmUoe3BhcmFtOnQsdmFsdWU6ZSxvcDoiZCJ9KX10b1N0cmluZygpe3JldHVybiB0aGlzLmluaXQoKSx0aGlzLmtleXMoKS5tYXAoKHQ9Pntjb25zdCBlPXRoaXMuZW5jb2Rlci5lbmNvZGVLZXkodCk7cmV0dXJuIHRoaXMubWFwLmdldCh0KS5tYXAoKHQ9PmUrIj0iK3RoaXMuZW5jb2Rlci5lbmNvZGVWYWx1ZSh0KSkpLmpvaW4oIiYiKX0pKS5maWx0ZXIoKHQ9PiIiIT09dCkpLmpvaW4oIiYiKX1jbG9uZSh0KXtjb25zdCBlPW5ldyBvRSh7ZW5jb2Rlcjp0aGlzLmVuY29kZXJ9KTtyZXR1cm4gZS5jbG9uZUZyb209dGhpcy5jbG9uZUZyb218fHRoaXMsZS51cGRhdGVzPSh0aGlzLnVwZGF0ZXN8fFtdKS5jb25jYXQodCksZX1pbml0KCl7bnVsbD09PXRoaXMubWFwJiYodGhpcy5tYXA9bmV3IE1hcCksbnVsbCE9PXRoaXMuY2xvbmVGcm9tJiYodGhpcy5jbG9uZUZyb20uaW5pdCgpLHRoaXMuY2xvbmVGcm9tLmtleXMoKS5mb3JFYWNoKCh0PT50aGlzLm1hcC5zZXQodCx0aGlzLmNsb25lRnJvbS5tYXAuZ2V0KHQpKSkpLHRoaXMudXBkYXRlcy5mb3JFYWNoKCh0PT57c3dpdGNoKHQub3Ape2Nhc2UiYSI6Y2FzZSJzIjpjb25zdCBlPSgiYSI9PT10Lm9wP3RoaXMubWFwLmdldCh0LnBhcmFtKTp2b2lkIDApfHxbXTtlLnB1c2gobkUodC52YWx1ZSkpLHRoaXMubWFwLnNldCh0LnBhcmFtLGUpO2JyZWFrO2Nhc2UiZCI6aWYodm9pZCAwPT09dC52YWx1ZSl7dGhpcy5tYXAuZGVsZXRlKHQucGFyYW0pO2JyZWFrfXtsZXQgZT10aGlzLm1hcC5nZXQodC5wYXJhbSl8fFtdO2NvbnN0IG49ZS5pbmRleE9mKG5FKHQudmFsdWUpKTstMSE9PW4mJmUuc3BsaWNlKG4sMSksZS5sZW5ndGg+MD90aGlzLm1hcC5zZXQodC5wYXJhbSxlKTp0aGlzLm1hcC5kZWxldGUodC5wYXJhbSl9fX0pKSx0aGlzLmNsb25lRnJvbT10aGlzLnVwZGF0ZXM9bnVsbCl9fWNsYXNzIGlFe2NvbnN0cnVjdG9yKCl7dGhpcy5tYXA9bmV3IE1hcH1zZXQodCxlKXtyZXR1cm4gdGhpcy5tYXAuc2V0KHQsZSksdGhpc31nZXQodCl7cmV0dXJuIHRoaXMubWFwLmhhcyh0KXx8dGhpcy5tYXAuc2V0KHQsdC5kZWZhdWx0VmFsdWUoKSksdGhpcy5tYXAuZ2V0KHQpfWRlbGV0ZSh0KXtyZXR1cm4gdGhpcy5tYXAuZGVsZXRlKHQpLHRoaXN9a2V5cygpe3JldHVybiB0aGlzLm1hcC5rZXlzKCl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBhRSh0KXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZ0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ9ZnVuY3Rpb24gckUodCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBCbG9iJiZ0IGluc3RhbmNlb2YgQmxvYn1mdW5jdGlvbiBzRSh0KXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIEZvcm1EYXRhJiZ0IGluc3RhbmNlb2YgRm9ybURhdGF9Y2xhc3MgbEV7Y29uc3RydWN0b3IodCxlLG4sbyl7bGV0IGk7aWYodGhpcy51cmw9ZSx0aGlzLmJvZHk9bnVsbCx0aGlzLnJlcG9ydFByb2dyZXNzPSExLHRoaXMud2l0aENyZWRlbnRpYWxzPSExLHRoaXMucmVzcG9uc2VUeXBlPSJqc29uIix0aGlzLm1ldGhvZD10LnRvVXBwZXJDYXNlKCksKGZ1bmN0aW9uIGEodCl7c3dpdGNoKHQpe2Nhc2UiREVMRVRFIjpjYXNlIkdFVCI6Y2FzZSJIRUFEIjpjYXNlIk9QVElPTlMiOmNhc2UiSlNPTlAiOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuITB9fSkodGhpcy5tZXRob2QpfHxvPyh0aGlzLmJvZHk9dm9pZCAwIT09bj9uOm51bGwsaT1vKTppPW4saSYmKHRoaXMucmVwb3J0UHJvZ3Jlc3M9ISFpLnJlcG9ydFByb2dyZXNzLHRoaXMud2l0aENyZWRlbnRpYWxzPSEhaS53aXRoQ3JlZGVudGlhbHMsaS5yZXNwb25zZVR5cGUmJih0aGlzLnJlc3BvbnNlVHlwZT1pLnJlc3BvbnNlVHlwZSksaS5oZWFkZXJzJiYodGhpcy5oZWFkZXJzPWkuaGVhZGVycyksaS5jb250ZXh0JiYodGhpcy5jb250ZXh0PWkuY29udGV4dCksaS5wYXJhbXMmJih0aGlzLnBhcmFtcz1pLnBhcmFtcykpLHRoaXMuaGVhZGVyc3x8KHRoaXMuaGVhZGVycz1uZXcgJFIpLHRoaXMuY29udGV4dHx8KHRoaXMuY29udGV4dD1uZXcgaUUpLHRoaXMucGFyYW1zKXtjb25zdCB0PXRoaXMucGFyYW1zLnRvU3RyaW5nKCk7aWYoMD09PXQubGVuZ3RoKXRoaXMudXJsV2l0aFBhcmFtcz1lO2Vsc2V7Y29uc3Qgbj1lLmluZGV4T2YoIj8iKTt0aGlzLnVybFdpdGhQYXJhbXM9ZSsoLTE9PT1uPyI/IjpuPGUubGVuZ3RoLTE/IiYiOiIiKSt0fX1lbHNlIHRoaXMucGFyYW1zPW5ldyBvRSx0aGlzLnVybFdpdGhQYXJhbXM9ZX1zZXJpYWxpemVCb2R5KCl7cmV0dXJuIG51bGw9PT10aGlzLmJvZHk/bnVsbDphRSh0aGlzLmJvZHkpfHxyRSh0aGlzLmJvZHkpfHxzRSh0aGlzLmJvZHkpfHwoZnVuY3Rpb24gdChlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyYmZSBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtc30pKHRoaXMuYm9keSl8fCJzdHJpbmciPT10eXBlb2YgdGhpcy5ib2R5P3RoaXMuYm9keTp0aGlzLmJvZHkgaW5zdGFuY2VvZiBvRT90aGlzLmJvZHkudG9TdHJpbmcoKToib2JqZWN0Ij09dHlwZW9mIHRoaXMuYm9keXx8ImJvb2xlYW4iPT10eXBlb2YgdGhpcy5ib2R5fHxBcnJheS5pc0FycmF5KHRoaXMuYm9keSk/SlNPTi5zdHJpbmdpZnkodGhpcy5ib2R5KTp0aGlzLmJvZHkudG9TdHJpbmcoKX1kZXRlY3RDb250ZW50VHlwZUhlYWRlcigpe3JldHVybiBudWxsPT09dGhpcy5ib2R5fHxzRSh0aGlzLmJvZHkpP251bGw6ckUodGhpcy5ib2R5KT90aGlzLmJvZHkudHlwZXx8bnVsbDphRSh0aGlzLmJvZHkpP251bGw6InN0cmluZyI9PXR5cGVvZiB0aGlzLmJvZHk/InRleHQvcGxhaW4iOnRoaXMuYm9keSBpbnN0YW5jZW9mIG9FPyJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD1VVEYtOCI6Im9iamVjdCI9PXR5cGVvZiB0aGlzLmJvZHl8fCJudW1iZXIiPT10eXBlb2YgdGhpcy5ib2R5fHwiYm9vbGVhbiI9PXR5cGVvZiB0aGlzLmJvZHk/ImFwcGxpY2F0aW9uL2pzb24iOm51bGx9Y2xvbmUodD17fSl7dmFyIGU7Y29uc3Qgbj10Lm1ldGhvZHx8dGhpcy5tZXRob2Qsbz10LnVybHx8dGhpcy51cmwsaT10LnJlc3BvbnNlVHlwZXx8dGhpcy5yZXNwb25zZVR5cGUsYT12b2lkIDAhPT10LmJvZHk/dC5ib2R5OnRoaXMuYm9keSxyPXZvaWQgMCE9PXQud2l0aENyZWRlbnRpYWxzP3Qud2l0aENyZWRlbnRpYWxzOnRoaXMud2l0aENyZWRlbnRpYWxzLHM9dm9pZCAwIT09dC5yZXBvcnRQcm9ncmVzcz90LnJlcG9ydFByb2dyZXNzOnRoaXMucmVwb3J0UHJvZ3Jlc3M7bGV0IGw9dC5oZWFkZXJzfHx0aGlzLmhlYWRlcnMsYz10LnBhcmFtc3x8dGhpcy5wYXJhbXM7Y29uc3QgZD1udWxsIT09KGU9dC5jb250ZXh0KSYmdm9pZCAwIT09ZT9lOnRoaXMuY29udGV4dDtyZXR1cm4gdm9pZCAwIT09dC5zZXRIZWFkZXJzJiYobD1PYmplY3Qua2V5cyh0LnNldEhlYWRlcnMpLnJlZHVjZSgoKGUsbik9PmUuc2V0KG4sdC5zZXRIZWFkZXJzW25dKSksbCkpLHQuc2V0UGFyYW1zJiYoYz1PYmplY3Qua2V5cyh0LnNldFBhcmFtcykucmVkdWNlKCgoZSxuKT0+ZS5zZXQobix0LnNldFBhcmFtc1tuXSkpLGMpKSxuZXcgbEUobixvLGEse3BhcmFtczpjLGhlYWRlcnM6bCxjb250ZXh0OmQscmVwb3J0UHJvZ3Jlc3M6cyxyZXNwb25zZVR5cGU6aSx3aXRoQ3JlZGVudGlhbHM6cn0pfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovdmFyIGNFOyEoZnVuY3Rpb24odCl7dFt0LlNlbnQ9MF09IlNlbnQiLHRbdC5VcGxvYWRQcm9ncmVzcz0xXT0iVXBsb2FkUHJvZ3Jlc3MiLHRbdC5SZXNwb25zZUhlYWRlcj0yXT0iUmVzcG9uc2VIZWFkZXIiLHRbdC5Eb3dubG9hZFByb2dyZXNzPTNdPSJEb3dubG9hZFByb2dyZXNzIix0W3QuUmVzcG9uc2U9NF09IlJlc3BvbnNlIix0W3QuVXNlcj01XT0iVXNlciJ9KShjRXx8KGNFPXt9KSk7Y2xhc3MgZEV7Y29uc3RydWN0b3IodCxlPTIwMCxuPSJPSyIpe3RoaXMuaGVhZGVycz10LmhlYWRlcnN8fG5ldyAkUix0aGlzLnN0YXR1cz12b2lkIDAhPT10LnN0YXR1cz90LnN0YXR1czplLHRoaXMuc3RhdHVzVGV4dD10LnN0YXR1c1RleHR8fG4sdGhpcy51cmw9dC51cmx8fG51bGwsdGhpcy5vaz10aGlzLnN0YXR1cz49MjAwJiZ0aGlzLnN0YXR1czwzMDB9fWNsYXNzIHBFIGV4dGVuZHMgZEV7Y29uc3RydWN0b3IodD17fSl7c3VwZXIodCksdGhpcy50eXBlPWNFLlJlc3BvbnNlSGVhZGVyfWNsb25lKHQ9e30pe3JldHVybiBuZXcgcEUoe2hlYWRlcnM6dC5oZWFkZXJzfHx0aGlzLmhlYWRlcnMsc3RhdHVzOnZvaWQgMCE9PXQuc3RhdHVzP3Quc3RhdHVzOnRoaXMuc3RhdHVzLHN0YXR1c1RleHQ6dC5zdGF0dXNUZXh0fHx0aGlzLnN0YXR1c1RleHQsdXJsOnQudXJsfHx0aGlzLnVybHx8dm9pZCAwfSl9fWNsYXNzIG1FIGV4dGVuZHMgZEV7Y29uc3RydWN0b3IodD17fSl7c3VwZXIodCksdGhpcy50eXBlPWNFLlJlc3BvbnNlLHRoaXMuYm9keT12b2lkIDAhPT10LmJvZHk/dC5ib2R5Om51bGx9Y2xvbmUodD17fSl7cmV0dXJuIG5ldyBtRSh7Ym9keTp2b2lkIDAhPT10LmJvZHk/dC5ib2R5OnRoaXMuYm9keSxoZWFkZXJzOnQuaGVhZGVyc3x8dGhpcy5oZWFkZXJzLHN0YXR1czp2b2lkIDAhPT10LnN0YXR1cz90LnN0YXR1czp0aGlzLnN0YXR1cyxzdGF0dXNUZXh0OnQuc3RhdHVzVGV4dHx8dGhpcy5zdGF0dXNUZXh0LHVybDp0LnVybHx8dGhpcy51cmx8fHZvaWQgMH0pfX1jbGFzcyBmRSBleHRlbmRzIGRFe2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQsMCwiVW5rbm93biBFcnJvciIpLHRoaXMubmFtZT0iSHR0cEVycm9yUmVzcG9uc2UiLHRoaXMub2s9ITEsdGhpcy5tZXNzYWdlPXRoaXMuc3RhdHVzPj0yMDAmJnRoaXMuc3RhdHVzPDMwMD9gSHR0cCBmYWlsdXJlIGR1cmluZyBwYXJzaW5nIGZvciAke3QudXJsfHwiKHVua25vd24gdXJsKSJ9YDpgSHR0cCBmYWlsdXJlIHJlc3BvbnNlIGZvciAke3QudXJsfHwiKHVua25vd24gdXJsKSJ9OiAke3Quc3RhdHVzfSAke3Quc3RhdHVzVGV4dH1gLHRoaXMuZXJyb3I9dC5lcnJvcnx8bnVsbH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIHVFKHQsZSl7cmV0dXJue2JvZHk6ZSxoZWFkZXJzOnQuaGVhZGVycyxjb250ZXh0OnQuY29udGV4dCxvYnNlcnZlOnQub2JzZXJ2ZSxwYXJhbXM6dC5wYXJhbXMscmVwb3J0UHJvZ3Jlc3M6dC5yZXBvcnRQcm9ncmVzcyxyZXNwb25zZVR5cGU6dC5yZXNwb25zZVR5cGUsd2l0aENyZWRlbnRpYWxzOnQud2l0aENyZWRlbnRpYWxzfX1jbGFzcyBnRXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmhhbmRsZXI9dH1yZXF1ZXN0KHQsZSxuPXt9KXtsZXQgbztpZih0IGluc3RhbmNlb2YgbEUpbz10O2Vsc2V7bGV0IGksYTtpPW4uaGVhZGVycyBpbnN0YW5jZW9mICRSP24uaGVhZGVyczpuZXcgJFIobi5oZWFkZXJzKSxuLnBhcmFtcyYmKGE9bi5wYXJhbXMgaW5zdGFuY2VvZiBvRT9uLnBhcmFtczpuZXcgb0Uoe2Zyb21PYmplY3Q6bi5wYXJhbXN9KSksbz1uZXcgbEUodCxlLHZvaWQgMCE9PW4uYm9keT9uLmJvZHk6bnVsbCx7aGVhZGVyczppLGNvbnRleHQ6bi5jb250ZXh0LHBhcmFtczphLHJlcG9ydFByb2dyZXNzOm4ucmVwb3J0UHJvZ3Jlc3MscmVzcG9uc2VUeXBlOm4ucmVzcG9uc2VUeXBlfHwianNvbiIsd2l0aENyZWRlbnRpYWxzOm4ud2l0aENyZWRlbnRpYWxzfSl9Y29uc3QgaT16dChvKS5waXBlKChmdW5jdGlvbiBhKHQsZSl7cmV0dXJuIGQoZSk/JHQodCxlLDEpOiR0KHQsMSl9KSgodD0+dGhpcy5oYW5kbGVyLmhhbmRsZSh0KSkpKTtpZih0IGluc3RhbmNlb2YgbEV8fCJldmVudHMiPT09bi5vYnNlcnZlKXJldHVybiBpO2NvbnN0IHI9aS5waXBlKHVlKCh0PT50IGluc3RhbmNlb2YgbUUpKSk7c3dpdGNoKG4ub2JzZXJ2ZXx8ImJvZHkiKXtjYXNlImJvZHkiOnN3aXRjaChvLnJlc3BvbnNlVHlwZSl7Y2FzZSJhcnJheWJ1ZmZlciI6cmV0dXJuIHIucGlwZShWdCgodD0+e2lmKG51bGwhPT10LmJvZHkmJiEodC5ib2R5IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKXRocm93IG5ldyBFcnJvcigiUmVzcG9uc2UgaXMgbm90IGFuIEFycmF5QnVmZmVyLiIpO3JldHVybiB0LmJvZHl9KSkpO2Nhc2UiYmxvYiI6cmV0dXJuIHIucGlwZShWdCgodD0+e2lmKG51bGwhPT10LmJvZHkmJiEodC5ib2R5IGluc3RhbmNlb2YgQmxvYikpdGhyb3cgbmV3IEVycm9yKCJSZXNwb25zZSBpcyBub3QgYSBCbG9iLiIpO3JldHVybiB0LmJvZHl9KSkpO2Nhc2UidGV4dCI6cmV0dXJuIHIucGlwZShWdCgodD0+e2lmKG51bGwhPT10LmJvZHkmJiJzdHJpbmciIT10eXBlb2YgdC5ib2R5KXRocm93IG5ldyBFcnJvcigiUmVzcG9uc2UgaXMgbm90IGEgc3RyaW5nLiIpO3JldHVybiB0LmJvZHl9KSkpO2Nhc2UianNvbiI6ZGVmYXVsdDpyZXR1cm4gci5waXBlKFZ0KCh0PT50LmJvZHkpKSl9Y2FzZSJyZXNwb25zZSI6cmV0dXJuIHI7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYFVucmVhY2hhYmxlOiB1bmhhbmRsZWQgb2JzZXJ2ZSB0eXBlICR7bi5vYnNlcnZlfX1gKX19ZGVsZXRlKHQsZT17fSl7cmV0dXJuIHRoaXMucmVxdWVzdCgiREVMRVRFIix0LGUpfWdldCh0LGU9e30pe3JldHVybiB0aGlzLnJlcXVlc3QoIkdFVCIsdCxlKX1oZWFkKHQsZT17fSl7cmV0dXJuIHRoaXMucmVxdWVzdCgiSEVBRCIsdCxlKX1qc29ucCh0LGUpe3JldHVybiB0aGlzLnJlcXVlc3QoIkpTT05QIix0LHtwYXJhbXM6KG5ldyBvRSkuYXBwZW5kKGUsIkpTT05QX0NBTExCQUNLIiksb2JzZXJ2ZToiYm9keSIscmVzcG9uc2VUeXBlOiJqc29uIn0pfW9wdGlvbnModCxlPXt9KXtyZXR1cm4gdGhpcy5yZXF1ZXN0KCJPUFRJT05TIix0LGUpfXBhdGNoKHQsZSxuPXt9KXtyZXR1cm4gdGhpcy5yZXF1ZXN0KCJQQVRDSCIsdCx1RShuLGUpKX1wb3N0KHQsZSxuPXt9KXtyZXR1cm4gdGhpcy5yZXF1ZXN0KCJQT1NUIix0LHVFKG4sZSkpfXB1dCh0LGUsbj17fSl7cmV0dXJuIHRoaXMucmVxdWVzdCgiUFVUIix0LHVFKG4sZSkpfX1nRS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Z0UpKFRyKEpSKSl9LGdFLsm1cHJvdj1Tbih7dG9rZW46Z0UsZmFjdG9yeTpnRS7JtWZhY30pLGdFLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6SlJ9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGdFLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpKUn1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBoRXtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMubmV4dD10LHRoaXMuaW50ZXJjZXB0b3I9ZX1oYW5kbGUodCl7cmV0dXJuIHRoaXMuaW50ZXJjZXB0b3IuaW50ZXJjZXB0KHQsdGhpcy5uZXh0KX19Y29uc3QgYkU9bmV3IGVyKCJIVFRQX0lOVEVSQ0VQVE9SUyIpO2NsYXNzIHlFe2ludGVyY2VwdCh0LGUpe3JldHVybiBlLmhhbmRsZSh0KX19eUUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHlFKX0seUUuybVwcm92PVNuKHt0b2tlbjp5RSxmYWN0b3J5OnlFLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih5RSxbe3R5cGU6VW19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KbGV0IF9FPTA7Y2xhc3MgQ0V7fWNsYXNzIE1Fe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5jYWxsYmFja01hcD10LHRoaXMuZG9jdW1lbnQ9ZSx0aGlzLnJlc29sdmVkUHJvbWlzZT1Qcm9taXNlLnJlc29sdmUoKX1uZXh0Q2FsbGJhY2soKXtyZXR1cm4ibmdfanNvbnBfY2FsbGJhY2tfIitfRSsrfWhhbmRsZSh0KXtpZigiSlNPTlAiIT09dC5tZXRob2QpdGhyb3cgbmV3IEVycm9yKCJKU09OUCByZXF1ZXN0cyBtdXN0IHVzZSBKU09OUCByZXF1ZXN0IG1ldGhvZC4iKTtpZigianNvbiIhPT10LnJlc3BvbnNlVHlwZSl0aHJvdyBuZXcgRXJyb3IoIkpTT05QIHJlcXVlc3RzIG11c3QgdXNlIEpzb24gcmVzcG9uc2UgdHlwZS4iKTtyZXR1cm4gbmV3IFQoKGU9Pntjb25zdCBuPXRoaXMubmV4dENhbGxiYWNrKCksbz10LnVybFdpdGhQYXJhbXMucmVwbGFjZSgvPUpTT05QX0NBTExCQUNLKCZ8JCkvLGA9JHtufSQxYCksaT10aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2kuc3JjPW87bGV0IGE9bnVsbCxyPSExLHM9ITE7dGhpcy5jYWxsYmFja01hcFtuXT10PT57ZGVsZXRlIHRoaXMuY2FsbGJhY2tNYXBbbl0sc3x8KGE9dCxyPSEwKX07Y29uc3QgbD0oKT0+e2kucGFyZW50Tm9kZSYmaS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGkpLGRlbGV0ZSB0aGlzLmNhbGxiYWNrTWFwW25dfSxjPXQ9PntzfHx0aGlzLnJlc29sdmVkUHJvbWlzZS50aGVuKCgoKT0+e2woKSxyPyhlLm5leHQobmV3IG1FKHtib2R5OmEsc3RhdHVzOjIwMCxzdGF0dXNUZXh0OiJPSyIsdXJsOm99KSksZS5jb21wbGV0ZSgpKTplLmVycm9yKG5ldyBmRSh7dXJsOm8sc3RhdHVzOjAsc3RhdHVzVGV4dDoiSlNPTlAgRXJyb3IiLGVycm9yOm5ldyBFcnJvcigiSlNPTlAgaW5qZWN0ZWQgc2NyaXB0IGRpZCBub3QgaW52b2tlIGNhbGxiYWNrLiIpfSkpfSkpfSxkPXQ9PntzfHwobCgpLGUuZXJyb3IobmV3IGZFKHtlcnJvcjp0LHN0YXR1czowLHN0YXR1c1RleHQ6IkpTT05QIEVycm9yIix1cmw6b30pKSl9O3JldHVybiBpLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGMpLGkuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGQpLHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpKSxlLm5leHQoe3R5cGU6Y0UuU2VudH0pLCgpPT57cz0hMCxpLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGMpLGkucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGQpLGwoKX19KSl9fU1FLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxNRSkoVHIoQ0UpLFRyKHNNKSl9LE1FLsm1cHJvdj1Tbih7dG9rZW46TUUsZmFjdG9yeTpNRS7JtWZhY30pLE1FLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6Q0V9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTUUsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkNFfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpO2NsYXNzIHZFe2NvbnN0cnVjdG9yKHQpe3RoaXMuanNvbnA9dH1pbnRlcmNlcHQodCxlKXtyZXR1cm4iSlNPTlAiPT09dC5tZXRob2Q/dGhpcy5qc29ucC5oYW5kbGUodCk6ZS5oYW5kbGUodCl9fXZFLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx2RSkoVHIoTUUpKX0sdkUuybVwcm92PVNuKHt0b2tlbjp2RSxmYWN0b3J5OnZFLsm1ZmFjfSksdkUuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpNRX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodkUsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOk1FfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHhFPS9eXClcXVx9Jyw/XG4vO2NsYXNzIE9Fe2NvbnN0cnVjdG9yKHQpe3RoaXMueGhyRmFjdG9yeT10fWhhbmRsZSh0KXtpZigiSlNPTlAiPT09dC5tZXRob2QpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0ZWQgdG8gY29uc3RydWN0IEpzb25wIHJlcXVlc3Qgd2l0aG91dCBIdHRwQ2xpZW50SnNvbnBNb2R1bGUgaW5zdGFsbGVkLiIpO3JldHVybiBuZXcgVCgoZT0+e2NvbnN0IG49dGhpcy54aHJGYWN0b3J5LmJ1aWxkKCk7aWYobi5vcGVuKHQubWV0aG9kLHQudXJsV2l0aFBhcmFtcyksdC53aXRoQ3JlZGVudGlhbHMmJihuLndpdGhDcmVkZW50aWFscz0hMCksdC5oZWFkZXJzLmZvckVhY2goKCh0LGUpPT5uLnNldFJlcXVlc3RIZWFkZXIodCxlLmpvaW4oIiwiKSkpKSx0LmhlYWRlcnMuaGFzKCJBY2NlcHQiKXx8bi5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLCJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L3BsYWluLCAqLyoiKSwhdC5oZWFkZXJzLmhhcygiQ29udGVudC1UeXBlIikpe2NvbnN0IGU9dC5kZXRlY3RDb250ZW50VHlwZUhlYWRlcigpO251bGwhPT1lJiZuLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsZSl9aWYodC5yZXNwb25zZVR5cGUpe2NvbnN0IGU9dC5yZXNwb25zZVR5cGUudG9Mb3dlckNhc2UoKTtuLnJlc3BvbnNlVHlwZT0ianNvbiIhPT1lP2U6InRleHQifWNvbnN0IG89dC5zZXJpYWxpemVCb2R5KCk7bGV0IGk9bnVsbDtjb25zdCBhPSgpPT57aWYobnVsbCE9PWkpcmV0dXJuIGk7Y29uc3QgZT0xMjIzPT09bi5zdGF0dXM/MjA0Om4uc3RhdHVzLG89bi5zdGF0dXNUZXh0fHwiT0siLGE9bmV3ICRSKG4uZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpLHI9KGZ1bmN0aW9uIHModCl7cmV0dXJuInJlc3BvbnNlVVJMImluIHQmJnQucmVzcG9uc2VVUkw/dC5yZXNwb25zZVVSTDovXlgtUmVxdWVzdC1VUkw6L20udGVzdCh0LmdldEFsbFJlc3BvbnNlSGVhZGVycygpKT90LmdldFJlc3BvbnNlSGVhZGVyKCJYLVJlcXVlc3QtVVJMIik6bnVsbH0pKG4pfHx0LnVybDtyZXR1cm4gaT1uZXcgcEUoe2hlYWRlcnM6YSxzdGF0dXM6ZSxzdGF0dXNUZXh0Om8sdXJsOnJ9KSxpfSxyPSgpPT57bGV0e2hlYWRlcnM6byxzdGF0dXM6aSxzdGF0dXNUZXh0OnIsdXJsOnN9PWEoKSxsPW51bGw7MjA0IT09aSYmKGw9dm9pZCAwPT09bi5yZXNwb25zZT9uLnJlc3BvbnNlVGV4dDpuLnJlc3BvbnNlKSwwPT09aSYmKGk9bD8yMDA6MCk7bGV0IGM9aT49MjAwJiZpPDMwMDtpZigianNvbiI9PT10LnJlc3BvbnNlVHlwZSYmInN0cmluZyI9PXR5cGVvZiBsKXtjb25zdCB0PWw7bD1sLnJlcGxhY2UoeEUsIiIpO3RyeXtsPSIiIT09bD9KU09OLnBhcnNlKGwpOm51bGx9Y2F0Y2goZSl7bD10LGMmJihjPSExLGw9e2Vycm9yOmUsdGV4dDpsfSl9fWM/KGUubmV4dChuZXcgbUUoe2JvZHk6bCxoZWFkZXJzOm8sc3RhdHVzOmksc3RhdHVzVGV4dDpyLHVybDpzfHx2b2lkIDB9KSksZS5jb21wbGV0ZSgpKTplLmVycm9yKG5ldyBmRSh7ZXJyb3I6bCxoZWFkZXJzOm8sc3RhdHVzOmksc3RhdHVzVGV4dDpyLHVybDpzfHx2b2lkIDB9KSl9LHM9dD0+e2NvbnN0e3VybDpvfT1hKCksaT1uZXcgZkUoe2Vycm9yOnQsc3RhdHVzOm4uc3RhdHVzfHwwLHN0YXR1c1RleHQ6bi5zdGF0dXNUZXh0fHwiVW5rbm93biBFcnJvciIsdXJsOm98fHZvaWQgMH0pO2UuZXJyb3IoaSl9O2xldCBsPSExO2NvbnN0IGM9bz0+e2x8fChlLm5leHQoYSgpKSxsPSEwKTtsZXQgaT17dHlwZTpjRS5Eb3dubG9hZFByb2dyZXNzLGxvYWRlZDpvLmxvYWRlZH07by5sZW5ndGhDb21wdXRhYmxlJiYoaS50b3RhbD1vLnRvdGFsKSwidGV4dCI9PT10LnJlc3BvbnNlVHlwZSYmbi5yZXNwb25zZVRleHQmJihpLnBhcnRpYWxUZXh0PW4ucmVzcG9uc2VUZXh0KSxlLm5leHQoaSl9LGQ9dD0+e2xldCBuPXt0eXBlOmNFLlVwbG9hZFByb2dyZXNzLGxvYWRlZDp0LmxvYWRlZH07dC5sZW5ndGhDb21wdXRhYmxlJiYobi50b3RhbD10LnRvdGFsKSxlLm5leHQobil9O3JldHVybiBuLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLHIpLG4uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHMpLG4uYWRkRXZlbnRMaXN0ZW5lcigidGltZW91dCIscyksbi5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIscyksdC5yZXBvcnRQcm9ncmVzcyYmKG4uYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLGMpLG51bGwhPT1vJiZuLnVwbG9hZCYmbi51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLGQpKSxuLnNlbmQobyksZS5uZXh0KHt0eXBlOmNFLlNlbnR9KSwoKT0+e24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHMpLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHMpLG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsciksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJ0aW1lb3V0IixzKSx0LnJlcG9ydFByb2dyZXNzJiYobi5yZW1vdmVFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsYyksbnVsbCE9PW8mJm4udXBsb2FkJiZuLnVwbG9hZC5yZW1vdmVFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZCkpLG4ucmVhZHlTdGF0ZSE9PW4uRE9ORSYmbi5hYm9ydCgpfX0pKX19T0UuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE9FKShUcihweCkpfSxPRS7JtXByb3Y9U24oe3Rva2VuOk9FLGZhY3Rvcnk6T0UuybVmYWN9KSxPRS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnB4fV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPRSxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6cHh9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgUEU9bmV3IGVyKCJYU1JGX0NPT0tJRV9OQU1FIiksd0U9bmV3IGVyKCJYU1JGX0hFQURFUl9OQU1FIik7Y2xhc3Mga0V7fWNsYXNzIFNFe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmRvYz10LHRoaXMucGxhdGZvcm09ZSx0aGlzLmNvb2tpZU5hbWU9bix0aGlzLmxhc3RDb29raWVTdHJpbmc9IiIsdGhpcy5sYXN0VG9rZW49bnVsbCx0aGlzLnBhcnNlQ291bnQ9MH1nZXRUb2tlbigpe2lmKCJzZXJ2ZXIiPT09dGhpcy5wbGF0Zm9ybSlyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMuZG9jLmNvb2tpZXx8IiI7cmV0dXJuIHQhPT10aGlzLmxhc3RDb29raWVTdHJpbmcmJih0aGlzLnBhcnNlQ291bnQrKyx0aGlzLmxhc3RUb2tlbj1fdih0LHRoaXMuY29va2llTmFtZSksdGhpcy5sYXN0Q29va2llU3RyaW5nPXQpLHRoaXMubGFzdFRva2VufX1TRS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8U0UpKFRyKHNNKSxUcihYXyksVHIoUEUpKX0sU0UuybVwcm92PVNuKHt0b2tlbjpTRSxmYWN0b3J5OlNFLsm1ZmFjfSksU0UuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltYX119XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1BFXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihTRSxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbWF9dfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltQRV19XX1dfSksbnVsbCk7Y2xhc3MgREV7Y29uc3RydWN0b3IodCxlKXt0aGlzLnRva2VuU2VydmljZT10LHRoaXMuaGVhZGVyTmFtZT1lfWludGVyY2VwdCh0LGUpe2NvbnN0IG49dC51cmwudG9Mb3dlckNhc2UoKTtpZigiR0VUIj09PXQubWV0aG9kfHwiSEVBRCI9PT10Lm1ldGhvZHx8bi5zdGFydHNXaXRoKCJodHRwOi8vIil8fG4uc3RhcnRzV2l0aCgiaHR0cHM6Ly8iKSlyZXR1cm4gZS5oYW5kbGUodCk7Y29uc3Qgbz10aGlzLnRva2VuU2VydmljZS5nZXRUb2tlbigpO3JldHVybiBudWxsPT09b3x8dC5oZWFkZXJzLmhhcyh0aGlzLmhlYWRlck5hbWUpfHwodD10LmNsb25lKHtoZWFkZXJzOnQuaGVhZGVycy5zZXQodGhpcy5oZWFkZXJOYW1lLG8pfSkpLGUuaGFuZGxlKHQpfX1ERS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8REUpKFRyKGtFKSxUcih3RSkpfSxERS7JtXByb3Y9U24oe3Rva2VuOkRFLGZhY3Rvcnk6REUuybVmYWN9KSxERS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOmtFfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbd0VdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKERFLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTprRX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3dFXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIFJFe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5iYWNrZW5kPXQsdGhpcy5pbmplY3Rvcj1lLHRoaXMuY2hhaW49bnVsbH1oYW5kbGUodCl7aWYobnVsbD09PXRoaXMuY2hhaW4pe2NvbnN0IHQ9dGhpcy5pbmplY3Rvci5nZXQoYkUsW10pO3RoaXMuY2hhaW49dC5yZWR1Y2VSaWdodCgoKHQsZSk9Pm5ldyBoRSh0LGUpKSx0aGlzLmJhY2tlbmQpfXJldHVybiB0aGlzLmNoYWluLmhhbmRsZSh0KX19ZnVuY3Rpb24gRUUoKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdz93aW5kb3c6e319UkUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFJFKShUcihRUiksVHIoTnApKX0sUkUuybVwcm92PVNuKHt0b2tlbjpSRSxmYWN0b3J5OlJFLsm1ZmFjfSksUkUuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpRUn0se3R5cGU6TnB9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFJFLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpRUn0se3R5cGU6TnB9XX0pLG51bGwpO2NsYXNzIEFFe3N0YXRpYyBkaXNhYmxlKCl7cmV0dXJue25nTW9kdWxlOkFFLHByb3ZpZGVyczpbe3Byb3ZpZGU6REUsdXNlQ2xhc3M6eUV9XX19c3RhdGljIHdpdGhPcHRpb25zKHQ9e30pe3JldHVybntuZ01vZHVsZTpBRSxwcm92aWRlcnM6W3QuY29va2llTmFtZT97cHJvdmlkZTpQRSx1c2VWYWx1ZTp0LmNvb2tpZU5hbWV9OltdLHQuaGVhZGVyTmFtZT97cHJvdmlkZTp3RSx1c2VWYWx1ZTp0LmhlYWRlck5hbWV9OltdXX19fUFFLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxBRSl9LEFFLsm1bW9kPWZvKHt0eXBlOkFFfSksQUUuybVpbmo9RG4oe3Byb3ZpZGVyczpbREUse3Byb3ZpZGU6YkUsdXNlRXhpc3Rpbmc6REUsbXVsdGk6ITB9LHtwcm92aWRlOmtFLHVzZUNsYXNzOlNFfSx7cHJvdmlkZTpQRSx1c2VWYWx1ZToiWFNSRi1UT0tFTiJ9LHtwcm92aWRlOndFLHVzZVZhbHVlOiJYLVhTUkYtVE9LRU4ifV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEFFLFt7dHlwZTpMXyxhcmdzOlt7cHJvdmlkZXJzOltERSx7cHJvdmlkZTpiRSx1c2VFeGlzdGluZzpERSxtdWx0aTohMH0se3Byb3ZpZGU6a0UsdXNlQ2xhc3M6U0V9LHtwcm92aWRlOlBFLHVzZVZhbHVlOiJYU1JGLVRPS0VOIn0se3Byb3ZpZGU6d0UsdXNlVmFsdWU6IlgtWFNSRi1UT0tFTiJ9XX1dfV0sbnVsbCxudWxsKTtjbGFzcyBURXt9VEUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFRFKX0sVEUuybVtb2Q9Zm8oe3R5cGU6VEV9KSxURS7JtWluaj1Ebih7cHJvdmlkZXJzOltnRSx7cHJvdmlkZTpKUix1c2VDbGFzczpSRX0sT0Use3Byb3ZpZGU6UVIsdXNlRXhpc3Rpbmc6T0V9XSxpbXBvcnRzOltbQUUud2l0aE9wdGlvbnMoe2Nvb2tpZU5hbWU6IlhTUkYtVE9LRU4iLGhlYWRlck5hbWU6IlgtWFNSRi1UT0tFTiJ9KV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihURSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W0FFLndpdGhPcHRpb25zKHtjb29raWVOYW1lOiJYU1JGLVRPS0VOIixoZWFkZXJOYW1lOiJYLVhTUkYtVE9LRU4ifSldLHByb3ZpZGVyczpbZ0Use3Byb3ZpZGU6SlIsdXNlQ2xhc3M6UkV9LE9FLHtwcm92aWRlOlFSLHVzZUV4aXN0aW5nOk9FfV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhURSx7aW1wb3J0czpbQUVdfSk7Y2xhc3MgTkV7fWZ1bmN0aW9uIHpFKHQpe2NvbnN0IGU9e307Zm9yKGNvbnN0W24sb11vZiB0LmVudHJpZXMoKSllW25dPW87cmV0dXJuIGV9TkUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE5FKX0sTkUuybVtb2Q9Zm8oe3R5cGU6TkV9KSxORS7JtWluaj1Ebih7cHJvdmlkZXJzOltNRSx7cHJvdmlkZTpDRSx1c2VGYWN0b3J5OkVFfSx7cHJvdmlkZTpiRSx1c2VDbGFzczp2RSxtdWx0aTohMH1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihORSxbe3R5cGU6TF8sYXJnczpbe3Byb3ZpZGVyczpbTUUse3Byb3ZpZGU6Q0UsdXNlRmFjdG9yeTpFRX0se3Byb3ZpZGU6YkUsdXNlQ2xhc3M6dkUsbXVsdGk6ITB9XX1dfV0sbnVsbCxudWxsKTtmdW5jdGlvbiBJRSh0KXtsZXQgZT10LmhlYWRlcnN8fG5ldyAkUjtyZXR1cm4gZT1lLmFwcGVuZCgiWC1YU1JGLVByb3RlY3RlZCIsIjEiKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2hlYWRlcnM6ZX0pfWNsYXNzIEhFe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmFwcFJvb3RQcm92aWRlcj10LHRoaXMuaHR0cD1lLHRoaXMuc3RvcmU9bn1yZXNvbHZlQXBwUm9vdCh0KXtyZXR1cm4gdC5zdGFydHNXaXRoKCIvIik/dGhpcy5hcHBSb290UHJvdmlkZXIuZ2V0QWJzUGF0aG5hbWVXaXRoQXBwUm9vdCh0KTp0fWdldCh0LGU9e30pe3JldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMucmVzb2x2ZUFwcFJvb3QodCksZSl9cG9zdCh0LGUsbj17fSl7cmV0dXJuIG49SUUobiksdGhpcy5zdG9yZS5zZWxlY3QoTkQpLnBpcGUodWUoKHQ9PkJvb2xlYW4odCkpKSx2ZSgxKSxxZSh0aGlzLnN0b3JlLnNlbGVjdChWRCkpLCR0KCgoWyxvXSk9Pnt2YXIgaTtjb25zdCBhPXRoaXMucmVzb2x2ZUFwcFJvb3QodCk7cmV0dXJuIG8/dGhpcy5odHRwLmdldChhLHtoZWFkZXJzOm51bGwhPT0oaT1uLmhlYWRlcnMpJiZ2b2lkIDAhPT1pP2k6e30scGFyYW1zOnpFKGUpfSk6dGhpcy5odHRwLnBvc3QoYSxlLG4pfSkpKX1wdXQodCxlLG49e30pe3JldHVybiB0aGlzLmh0dHAucHV0KHRoaXMucmVzb2x2ZUFwcFJvb3QodCksZSxJRShuKSl9ZGVsZXRlKHQsZT17fSl7cmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodGhpcy5yZXNvbHZlQXBwUm9vdCh0KSxJRShlKSl9fUhFLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxIRSkoVHIod0QpLFRyKGdFKSxUcihpUykpfSxIRS7JtXByb3Y9U24oe3Rva2VuOkhFLGZhY3Rvcnk6SEUuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEhFLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp3RH0se3R5cGU6Z0V9LHt0eXBlOmlTfV19KSxudWxsKTtjbGFzcyBGRXt9dmFyIExFO0ZFLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxGRSl9LEZFLsm1bW9kPWZvKHt0eXBlOkZFfSksRkUuybVpbmo9RG4oe3Byb3ZpZGVyczpbSEVdLGltcG9ydHM6W1tURSxERF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihGRSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W1RFLEREXSxwcm92aWRlcnM6W0hFXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEZFLHtpbXBvcnRzOltURSxERF19KSwoZnVuY3Rpb24odCl7dC5VTktOT1dOPSJVTktOT1dOIix0Lk5PVF9GT1VORD0iTk9UX0ZPVU5EIn0pKExFfHwoTEU9e30pKTtjb25zdCBCRT1uZXcgZXIoIlRlbnNvckJvYXJkIGJyYW5kIG5hbWUiKTt2YXIgVkUsakUsVUU7ZnVuY3Rpb24gV0UodCl7bGV0IGU9TEUuVU5LTk9XTjtyZXR1cm4gdCBpbnN0YW5jZW9mIGZFJiY0MDQ9PT10LnN0YXR1cyYmKGU9TEUuTk9UX0ZPVU5EKSxJdChuZXcgR0UoZSkpfSEoZnVuY3Rpb24odCl7dC5TVEVQPSJzdGVwIix0LldBTExfVElNRT0id2FsbF90aW1lIix0LlJFTEFUSVZFPSJyZWxhdGl2ZSJ9KShWRXx8KFZFPXt9KSksKGZ1bmN0aW9uKHQpe3QuT0ZGU0VUPSJvZmZzZXQiLHQuT1ZFUkxBWT0ib3ZlcmxheSJ9KShqRXx8KGpFPXt9KSk7Y2xhc3MgR0V7Y29uc3RydWN0b3IodCl7dGhpcy5mYWlsdXJlQ29kZT10fX1jbGFzcyBZRXtjb25zdHJ1Y3Rvcih0KXt0aGlzLmh0dHA9dCx0aGlzLnRmQmFja2VuZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Zi1iYWNrZW5kIikudGZfYmFja2VuZH1mZXRjaFBsdWdpbnNMaXN0aW5nKHQpe2NvbnN0IGU9KGZ1bmN0aW9uIG4odCl7aWYoIXQubGVuZ3RoKXJldHVybiBudWxsO2NvbnN0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcztmb3IoY29uc3QgbiBvZiB0KWUuYXBwZW5kKCJleHBlcmltZW50YWxQbHVnaW4iLG4pO3JldHVybiBlfSkodCksbz1lP2BkYXRhL3BsdWdpbnNfbGlzdGluZz8ke2UudG9TdHJpbmcoKX1gOiJkYXRhL3BsdWdpbnNfbGlzdGluZyI7cmV0dXJuIHRoaXMuaHR0cC5nZXQobykucGlwZShoZShXRSkpfWZldGNoRW52aXJvbm1lbnQoKXtyZXR1cm4gaWUoW3RoaXMuaHR0cC5nZXQoImRhdGEvZW52aXJvbm1lbnQiKSxQdCh0aGlzLnRmQmFja2VuZC5lbnZpcm9ubWVudFN0b3JlLnJlZnJlc2goKSldKS5waXBlKFZ0KCgoW3RdKT0+dCkpLGhlKFdFKSl9fVlFLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxZRSkoVHIoSEUpKX0sWUUuybVwcm92PVNuKHt0b2tlbjpZRSxmYWN0b3J5OllFLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihZRSxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6SEV9XX0pLG51bGwpO2NsYXNzIHFFe31xRS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cUUpfSxxRS7JtW1vZD1mbyh7dHlwZTpxRX0pLHFFLsm1aW5qPURuKHtwcm92aWRlcnM6W1lFXSxpbXBvcnRzOltbRkVdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocUUsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltGRV0scHJvdmlkZXJzOltZRV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhxRSx7aW1wb3J0czpbRkVdfSksKGZ1bmN0aW9uKHQpe3RbdC5OT1RfTE9BREVEPTBdPSJOT1RfTE9BREVEIix0W3QuTE9BREVEPTFdPSJMT0FERUQiLHRbdC5MT0FESU5HPTJdPSJMT0FESU5HIix0W3QuRkFJTEVEPTNdPSJGQUlMRUQifSkoVUV8fChVRT17fSkpO2NvbnN0IFpFPV9rKCJbQ29yZV0gUGx1Z2luIENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxYRT1faygiW0NvcmVdIFBsdWdpbiBVcmwgSGFzaCBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksS0U9X2soIltDb3JlXSBMb2FkZWQiKSxKRT1faygiW0NvcmVdIFVzZXIgVHJpZ2dlcmVkIFJlbG9hZCIpLFFFPV9rKCJbQ29yZV0gQXV0byBSZWxvYWQiKSwkRT1faygiW0NvcmVdIFBsdWdpbkxpc3RpbmcgRmV0Y2ggUmVxdWVzdGVkIiksdEE9X2soIltDb3JlXSBQbHVnaW5MaXN0aW5nIEZldGNoIFN1Y2Nlc3NmdWwiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxlQT1faygiW0NvcmVdIFBsdWdpbkxpc3RpbmcgRmV0Y2ggRmFpbGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksbkE9X2soIltDb3JlXSBQb2x5bWVyIENvbXBvbmVudCBSdW5zIEZldGNoIFJlcXVlc3RlZCIpLG9BPV9rKCJbQ29yZV0gUG9seW1lciBDb21wb25lbnQgUnVucyBGZXRjaCBTdWNjZXNzZnVsIiksaUE9X2soIltDb3JlXSBQb2x5bWVyIENvbXBvbmVudCBSdW5zIEZldGNoIEZhaWxlZCIpLGFBPV9rKCJbQ29yZV0gRW52aXJvbm1lbnQgRmV0Y2ggU3VjY2Vzc2Z1bCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHJBPV9rKCJbQ29yZV0gUnVuIFNlbGVjdGlvbiBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksc0E9X2soIltDb3JlXSBSdW4gRmV0Y2ggU3VjY2Vzc2Z1bCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLGxBPV9rKCJbQ29yZV0gU2lkZSBCYXIgV2lkdGggQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pO2Z1bmN0aW9uIGNBKHQsZSxuKXtjb25zdCBvPU9iamVjdC5rZXlzKHQpLGk9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCksZSkse3ByaXZhdGVOYW1lc3BhY2VkU3RhdGU6e319KTtyZXR1cm57aW5pdGlhbFN0YXRlOmkscmVkdWNlcnM6VlMoaSxCUyh0UiwoKGUse2JlZm9yZTppLGFmdGVyOmEsYmVmb3JlTmFtZXNwYWNlSWQ6cixhZnRlck5hbWVzcGFjZUlkOnN9KT0+e2xldCBsPWU7cmV0dXJuIHIhPT1zJiYobD0oZnVuY3Rpb24gYyhlLG4saSl7dmFyIGE7bGV0IHI9T2JqZWN0LmFzc2lnbih7fSxlLnByaXZhdGVOYW1lc3BhY2VkU3RhdGUpO2lmKG4pe2NvbnN0IHQ9e307Zm9yKGNvbnN0IG4gb2Ygbyl0W25dPWVbbl07cj1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse1tuXTp0fSl9bGV0IHM9e307cmV0dXJuKG51bGw9PT0oYT1lLnByaXZhdGVOYW1lc3BhY2VkU3RhdGUpfHx2b2lkIDA9PT1hP3ZvaWQgMDphW2ldKT9zPWUucHJpdmF0ZU5hbWVzcGFjZWRTdGF0ZVtpXTpuJiYocz10KSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSxzKSx7cHJpdmF0ZU5hbWVzcGFjZWRTdGF0ZTpyfSl9KShlLHIscykpLCF4RChpLGEpJiZuJiYobD1uKGwsYSkpLGx9KSkpfX1jb25zdCBkQT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZ3MgUGFuZSBDbG9zZWQiKSxwQT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZ3MgUGFuZSBUb2dnbGVkIiksbUE9X2soIltNZXRyaWNzXSBNZXRyaWNzIFRhZyBNZXRhZGF0YSBSZXF1ZXN0ZWQiKSxmQT1faygiW01ldHJpY3NdIE1ldHJpY3MgVGFnIE1ldGFkYXRhIExvYWRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHVBPV9rKCJbTWV0cmljc10gTWV0cmljcyBUYWcgTWV0YWRhdGEgRmFpbGVkIiksZ0E9X2soIltNZXRyaWNzXSBNZXRyaWNzIFNldHRpbmdzIENoYW5nZSBUb29sdGlwIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSk7X2soIltNZXRyaWNzXSBNZXRyaWNzIFNldHRpbmdzIFRvZ2dsZSBTaG93IERhdGEgRG93bmxvYWQiKTtjb25zdCBoQT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZyBUb2dnbGUgSWdub3JlIE91dGxpZXIiKSxiQT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZyBDaGFuZ2UgWCBBeGlzIFR5cGUiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSx5QT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZyBDaGFuZ2UgQ2FyZCBXaWR0aCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLF9BPV9rKCJbTWV0cmljc10gTWV0cmljcyBTZXR0aW5nIFJlc2V0IENhcmQgV2lkdGgiKSxDQT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZyBDaGFuZ2UgU2NhbGFyIFNtb290aGluZyIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLE1BPV9rKCJbTWV0cmljc10gTWV0cmljcyBTZXR0aW5nIFBhcnRpdGlvbiBOb24gTW9ub3RvbmljIFggVG9nZ2xlZCIpLHZBPV9rKCJbTWV0cmljc10gTWV0cmljcyBTZXR0aW5nIENoYW5nZSBJbWFnZSBCcmlnaHRuZXNzIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSkseEE9X2soIltNZXRyaWNzXSBNZXRyaWNzIFNldHRpbmcgQ2hhbmdlIEltYWdlIENvbnRyYXN0Iix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksT0E9X2soIltNZXRyaWNzXSBJbWFnZSBCcmlnaHRuZXNzIFNldHRpbmcgUmVzZXQiKSxQQT1faygiW01ldHJpY3NdIEltYWdlIENvbnRyYXN0IFNldHRpbmcgUmVzZXQiKSx3QT1faygiW01ldHJpY3NdIE1ldHJpY3MgU2V0dGluZyBUb2dnbGUgSW1hZ2UgU2hvdyBBY3R1YWwgU2l6ZSIpLGtBPV9rKCJbTWV0cmljc10gTWV0cmljcyBTZXR0aW5nIENoYW5nZSBIaXN0b2dyYW0gTW9kZSIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLFNBPV9rKCJbTWV0cmljc10gTXVsdGlwbGUgVGltZSBTZXJpZXMgUmVxdWVzdGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksREE9X2soIltNZXRyaWNzXSBGZXRjaCBUaW1lIFNlcmllcyBSZXF1ZXN0IEZhaWxlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLFJBPV9rKCJbTWV0cmljc10gRmV0Y2ggVGltZSBTZXJpZXMgUmVzcG9uc2UgTG9hZGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksRUE9X2soIltNZXRyaWNzXSBDYXJkIFZpc2liaWxpdHkgQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEFBPV9rKCJbTWV0cmljc10gQ2FyZCBTdGVwIFNsaWRlciBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksVEE9X2soIltNZXRyaWNzXSBUYWcgRmlsdGVyIENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxOQT1faygiW01ldHJpY3NdIE1ldHJpY3MgVGFnIEdyb3VwIEV4cGFuc2lvbiBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksekE9X2soIltNZXRyaWNzXSBDYXJkIFBpbiBTdGF0ZSBUb2dnbGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksSUE9X2soIltNZXRyaWNzXSBUb2dnbGUgVmlzaWJsZSBQbHVnaW4iLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxIQT1faygiW01ldHJpY3NdIFRvZ2dsZSBTaG93IEFsbCBQbHVnaW5zIiksRkE9X2soIltNZXRyaWNzXSBMaW5rZWQgVGltZSBTZWxlY3Rpb24gQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLExBPV9rKCJbTWV0cmljc10gTGlua2VkIFRpbWUgU2VsZWN0aW9uIENsZWFyZWQiKSxCQT1faygiW01ldHJpY3NdIFNlbGVjdCBUaW1lIEVuYWJsZSBUb2dnbGUiKSxWQT1faygiW01ldHJpY3NdIFVzZSBSYW5nZSBTZWxlY3QgVGltZSBUb2dnbGUiKSxqQT1faygiW01ldHJpY3NdIE1ldHJpY3MgUHJvbW8gRGlzbWlzc2VkIiksVUE9X2soIltNZXRyaWNzXSBNZXRyaWNzIFByb21vIEdvIFRvIFNjYWxhcnMiKTtmdW5jdGlvbiBXQSguLi50KXtyZXR1cm4oZSxuKT0+e2xldCBvPWU7Zm9yKGNvbnN0IGUgb2YgdClvPWUobyxuKTtyZXR1cm4gb319Y29uc3QgR0E9ImNvcmUiLFlBPXthY3RpdmVQbHVnaW46bnVsbCxwbHVnaW5zOnt9LGNvcmVEYXRhTG9hZFN0YXRlOntzdGF0ZTpVRS5OT1RfTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpudWxsfSxwbHVnaW5zTGlzdExvYWRlZDp7c3RhdGU6VUUuTk9UX0xPQURFRCxsYXN0TG9hZGVkVGltZUluTXM6bnVsbCxmYWlsdXJlQ29kZTpudWxsfSxlbnZpcm9ubWVudDp7ZGF0YV9sb2NhdGlvbjoiIix3aW5kb3dfdGl0bGU6IiJ9LHBvbHltZXJSdW5zTG9hZFN0YXRlOntzdGF0ZTpVRS5OT1RfTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpudWxsfSxwb2x5bWVySW50ZXJvcFJ1bnM6W10scG9seW1lckludGVyb3BSdW5TZWxlY3Rpb246bmV3IFNldCxzaWRlQmFyV2lkdGhJblBlcmNlbnQ6MjB9LHFBPVZTKFlBLEJTKFpFLFhFLCgodCx7cGx1Z2luOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHthY3RpdmVQbHVnaW46ZX0pKSksQlMoJEUsKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7Y29yZURhdGFMb2FkU3RhdGU6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuY29yZURhdGFMb2FkU3RhdGUpLHtzdGF0ZTpVRS5MT0FESU5HfSkscGx1Z2luc0xpc3RMb2FkZWQ6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQucGx1Z2luc0xpc3RMb2FkZWQpLHtzdGF0ZTpVRS5MT0FESU5HfSl9KSkpLEJTKGVBLCgodCx7ZmFpbHVyZUNvZGU6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2NvcmVEYXRhTG9hZFN0YXRlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmNvcmVEYXRhTG9hZFN0YXRlKSx7c3RhdGU6VUUuRkFJTEVEfSkscGx1Z2luc0xpc3RMb2FkZWQ6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQucGx1Z2luc0xpc3RMb2FkZWQpLHtzdGF0ZTpVRS5GQUlMRUQsZmFpbHVyZUNvZGU6ZX0pfSkpKSxCUyh0QSwoKHQse3BsdWdpbnM6ZX0pPT57Y29uc3Qgbj1PYmplY3Qua2V5cyhlKS5maW5kKCh0PT5lW3RdLmVuYWJsZWQpKXx8bnVsbCxvPXQuYWN0aXZlUGx1Z2lufHxuLGk9RGF0ZS5ub3coKTtsZXQgYT10LmNvcmVEYXRhTG9hZFN0YXRlO3JldHVybiB0LnBvbHltZXJSdW5zTG9hZFN0YXRlLnN0YXRlPT09VUUuTE9BREVEJiYoYT17c3RhdGU6VUUuTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczppfSksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHthY3RpdmVQbHVnaW46byxjb3JlRGF0YUxvYWRTdGF0ZTphLHBsdWdpbnM6ZSxwbHVnaW5zTGlzdExvYWRlZDp7c3RhdGU6VUUuTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczppLGZhaWx1cmVDb2RlOm51bGx9fSl9KSksQlMobkEsKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7Y29yZURhdGFMb2FkU3RhdGU6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuY29yZURhdGFMb2FkU3RhdGUpLHtzdGF0ZTpVRS5MT0FESU5HfSkscG9seW1lclJ1bnNMb2FkU3RhdGU6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQucG9seW1lclJ1bnNMb2FkU3RhdGUpLHtzdGF0ZTpVRS5MT0FESU5HfSl9KSkpLEJTKG9BLCh0PT57Y29uc3QgZT1EYXRlLm5vdygpO2xldCBuPXQuY29yZURhdGFMb2FkU3RhdGU7cmV0dXJuIHQucGx1Z2luc0xpc3RMb2FkZWQuc3RhdGU9PT1VRS5MT0FERUQmJihuPXtzdGF0ZTpVRS5MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOmV9KSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2NvcmVEYXRhTG9hZFN0YXRlOm4scG9seW1lclJ1bnNMb2FkU3RhdGU6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQucG9seW1lclJ1bnNMb2FkU3RhdGUpLHtzdGF0ZTpVRS5MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOmV9KX0pfSkpLEJTKGlBLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2NvcmVEYXRhTG9hZFN0YXRlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmNvcmVEYXRhTG9hZFN0YXRlKSx7c3RhdGU6VUUuRkFJTEVEfSkscG9seW1lclJ1bnNMb2FkU3RhdGU6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQucG9seW1lclJ1bnNMb2FkU3RhdGUpLHtzdGF0ZTpVRS5GQUlMRUR9KX0pKSksQlMoYUEsKCh0LHtlbnZpcm9ubWVudDplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZW52aXJvbm1lbnQ6ZX0pKSksQlMoc0EsKCh0LHtydW5zOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtwb2x5bWVySW50ZXJvcFJ1bnM6ZX0pKSksQlMockEsKCh0LHtuZXh0U2VsZWN0aW9uOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtwb2x5bWVySW50ZXJvcFJ1blNlbGVjdGlvbjpuZXcgU2V0KGUpfSkpKSxCUyhsQSwoKHQse3dpZHRoSW5QZXJjZW50OmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzaWRlQmFyV2lkdGhJblBlcmNlbnQ6TWF0aC5taW4oTWF0aC5tYXgoMCxlKSwxMDApfSkpKSxCUyhxUiwoKHQse3BhcnRpYWxTZXR0aW5nczplfSk9Pntjb25zdCBuPU9iamVjdC5hc3NpZ24oe30sdCksbz1lLnNpZGVCYXJXaWR0aEluUGVyY2VudDtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIG8mJm8+PTAmJm88PTEwMCYmKG4uc2lkZUJhcldpZHRoSW5QZXJjZW50PW8pLG59KSksQlMoVUEsKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7YWN0aXZlUGx1Z2luOiJzY2FsYXJzIn0pKSkpLHtyZWR1Y2VyczpaQX09Y0EoWUEse30pO2Z1bmN0aW9uIFhBKHQsZSl7cmV0dXJuIFdBKHFBLFpBKSh0LGUpfWNvbnN0IEtBPV9TKEdBKSxKQT1iUyhLQSwodD0+dC5wbHVnaW5zTGlzdExvYWRlZCkpLFFBPWJTKEtBLCh0PT50LnBvbHltZXJSdW5zTG9hZFN0YXRlKSksJEE9YlMoS0EsKHQ9PnQuY29yZURhdGFMb2FkU3RhdGUuc3RhdGUpKSx0VD1iUyhLQSwodD0+dC5jb3JlRGF0YUxvYWRTdGF0ZS5sYXN0TG9hZGVkVGltZUluTXMpKSxlVD1iUyhLQSwodD0+dC5hY3RpdmVQbHVnaW4pKSxuVD1iUyhLQSwodD0+dC5wbHVnaW5zKSksb1Q9YlMoS0EsKHQ9PnQuZW52aXJvbm1lbnQpKSxpVD1iUyhLQSwodD0+dC5zaWRlQmFyV2lkdGhJblBlcmNlbnQpKSxhVD1uZXcgU2V0KFtfRC5DT01QQVJFX0VYUEVSSU1FTlQsX0QuRVhQRVJJTUVOVCxfRC5OT1RfU0VUXSk7Y2xhc3MgclR7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuYWN0aW9ucyQ9dCx0aGlzLnN0b3JlPWUsdGhpcy53ZWJhcHBEYXRhU291cmNlPW4sdGhpcy50ZkJhY2tlbmQ9e3JlZjpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Zi1iYWNrZW5kIikudGZfYmFja2VuZH0sdGhpcy5vbkRhc2hib2FyZExvYWQkPXBlKHRoaXMuYWN0aW9ucyQucGlwZSgkUyhLRSx0UikscWUodGhpcy5zdG9yZS5zZWxlY3QoaFIpKSx3ZSgoKFssdF0sWyxlXSk9PnhEKHQsZSkpKSksdGhpcy5hY3Rpb25zJC5waXBlKCRTKFFFLEpFKSkpLnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QoTVIpKSx1ZSgoKFssdF0pPT5hVC5oYXModCkpKSxZZSgxLHZvaWQgMCx7bGVhZGluZzohMH0pKSx0aGlzLmZldGNoV2ViQXBwRGF0YSQ9V1MoKCgpPT5wZSh0aGlzLm9uRGFzaGJvYXJkTG9hZCQucGlwZShxZSh0aGlzLnN0b3JlLnNlbGVjdChKQSksdGhpcy5zdG9yZS5zZWxlY3QoQkQpKSx1ZSgoKFsse3N0YXRlOnR9XSk9PnQhPT1VRS5MT0FESU5HKSksV2UoKCgpPT50aGlzLnN0b3JlLmRpc3BhdGNoKCRFKCkpKSksJHQoKChbLCx0XSk9PihmdW5jdGlvbiBlKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3ZhciBuPUF0KHQpLG89ZmUodCk7cmV0dXJuIG8ubGVuZ3RoP25ldyBUKChmdW5jdGlvbih0KXt2YXIgZT1vLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm5bXX0pKSxpPW8ubWFwKChmdW5jdGlvbigpe3JldHVybiExfSkpO3QuYWRkKChmdW5jdGlvbigpe2U9aT1udWxsfSkpO2Zvcih2YXIgcz1mdW5jdGlvbihzKXt3dChvW3NdKS5zdWJzY3JpYmUobmV3IEgodCwoZnVuY3Rpb24obyl7aWYoZVtzXS5wdXNoKG8pLGUuZXZlcnkoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmxlbmd0aH0pKSl7dmFyIGw9ZS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnNoaWZ0KCl9KSk7dC5uZXh0KG4/bi5hcHBseSh2b2lkIDAscihbXSxhKGwpKSk6bCksZS5zb21lKChmdW5jdGlvbih0LGUpe3JldHVybiF0Lmxlbmd0aCYmaVtlXX0pKSYmdC5jb21wbGV0ZSgpfX0pLChmdW5jdGlvbigpe2lbc109ITAsIWVbc10ubGVuZ3RoJiZ0LmNvbXBsZXRlKCl9KSkpfSxsPTA7IXQuY2xvc2VkJiZsPG8ubGVuZ3RoO2wrKylzKGwpO3JldHVybiBmdW5jdGlvbigpe2U9aT1udWxsfX0pKTpkdH0pKHRoaXMud2ViYXBwRGF0YVNvdXJjZS5mZXRjaFBsdWdpbnNMaXN0aW5nKHQpLHRoaXMuZmV0Y2hFbnZpcm9ubWVudCgpKS5waXBlKFZ0KCgoW3RdKT0+e3RoaXMuc3RvcmUuZGlzcGF0Y2godEEoe3BsdWdpbnM6dH0pKX0pKSxoZSgodD0+KHRoaXMuc3RvcmUuZGlzcGF0Y2goZUEodCBpbnN0YW5jZW9mIEdFP3tmYWlsdXJlQ29kZTp0LmZhaWx1cmVDb2RlfTp7ZmFpbHVyZUNvZGU6TEUuVU5LTk9XTn0pKSxkdCkpKSkpKSksdGhpcy5vbkRhc2hib2FyZExvYWQkLnBpcGUoVnQoKChbLHRdKT0+dCkpLFZlKCh0PT50IT09X0QuQ09NUEFSRV9FWFBFUklNRU5UP3p0KFtdKTp0aGlzLnN0b3JlLnNlbGVjdChPUikucGlwZSh3ZSgoKHQsZSk9Pntjb25zdCBuPU9iamVjdC5lbnRyaWVzKHQpLG89bmV3IE1hcChPYmplY3QuZW50cmllcyhlKSk7aWYobi5sZW5ndGghPT1vLnNpemUpcmV0dXJuITE7Zm9yKGNvbnN0W3QsZV1vZiBuKXtpZighby5nZXQodCkpcmV0dXJuITE7aWYoby5nZXQodCkuYWxpYXNUZXh0IT09ZS5hbGlhc1RleHR8fG8uZ2V0KHQpLmFsaWFzTnVtYmVyIT09ZS5hbGlhc051bWJlcilyZXR1cm4hMX1yZXR1cm4hMH0pKSxQZSgwKSxZZSg1MDAsdm9pZCAwLHtsZWFkaW5nOiEwLHRyYWlsaW5nOiEwfSkpKSkscWUodGhpcy5zdG9yZS5zZWxlY3QoTVIpLHRoaXMuc3RvcmUuc2VsZWN0KFFBKSksdWUoKChbLHQsZV0pPT5hVC5oYXModCkmJmUuc3RhdGUhPT1VRS5MT0FESU5HKSksV2UoKCgpPT57dGhpcy5zdG9yZS5kaXNwYXRjaChuQSgpKX0pKSxWZSgoKCk9PnRoaXMucmVmcmVzaFBvbHltZXJSdW5zKCkpKSxXZSgoKCk9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKG9BKCkpfSkpLGhlKCgoKT0+KHRoaXMuc3RvcmUuZGlzcGF0Y2goaUEoKSksZHQpKSkpKSkse2Rpc3BhdGNoOiExfSksdGhpcy5kaXNwYXRjaENoYW5nZVBsdWdpbiQ9V1MoKCgpPT5wZSh0aGlzLm9uRGFzaGJvYXJkTG9hZCQsdGhpcy5hY3Rpb25zJC5waXBlKCRTKHRBKSkpLnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QoZVQpKSxWdCgoKFssdF0pPT50KSksd2UoKSx1ZSgodD0+bnVsbCE9PXQpKSx2ZSgxKSxXZSgodD0+e3RoaXMuc3RvcmUuZGlzcGF0Y2goWkUoe3BsdWdpbjp0fSkpfSkpKSkse2Rpc3BhdGNoOiExfSl9cmVmcmVzaFBvbHltZXJSdW5zKCl7cmV0dXJuIFB0KHRoaXMudGZCYWNrZW5kLnJlZi5ydW5zU3RvcmUucmVmcmVzaCgpKX1mZXRjaEVudmlyb25tZW50KCl7cmV0dXJuIHRoaXMud2ViYXBwRGF0YVNvdXJjZS5mZXRjaEVudmlyb25tZW50KCkucGlwZShXZSgodD0+e3RoaXMuc3RvcmUuZGlzcGF0Y2goYUEoe2Vudmlyb25tZW50OnR9KSl9KSkpfX1yVC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8clQpKFRyKFFTKSxUcihpUyksVHIoWUUpKX0sclQuybVwcm92PVNuKHt0b2tlbjpyVCxmYWN0b3J5OnJULsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihyVCxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UVN9LHt0eXBlOmlTfSx7dHlwZTpZRX1dfSksbnVsbCk7Y29uc3Qgc1Q9bmV3IGVyKCJDb3JlIEZlYXR1cmUgQ29uZmlnIik7ZnVuY3Rpb24gbFQodCl7cmV0dXJue2luaXRpYWxTdGF0ZTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sWUEpLHthY3RpdmVQbHVnaW46dC5nZXRQbHVnaW5JZCgpfHxudWxsfSl9fWZ1bmN0aW9uIGNUKCl7cmV0dXJuIGJTKGlULCh0PT4oe3NpZGVCYXJXaWR0aEluUGVyY2VudDp0fSkpKX1jbGFzcyBkVHt9ZFQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGRUKX0sZFQuybVtb2Q9Zm8oe3R5cGU6ZFR9KSxkVC7JtWluaj1Ebih7cHJvdmlkZXJzOlt7cHJvdmlkZTpzVCxkZXBzOltUUl0sdXNlRmFjdG9yeTpsVH1dLGltcG9ydHM6W1toRC5mb3JGZWF0dXJlKFtyVF0pLFRTLmZvckZlYXR1cmUoR0EsWEEsc1QpLHFFLHpSLmRlZmluZUdsb2JhbFNldHRpbmcoY1QpXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRULFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbaEQuZm9yRmVhdHVyZShbclRdKSxUUy5mb3JGZWF0dXJlKEdBLFhBLHNUKSxxRSx6Ui5kZWZpbmVHbG9iYWxTZXR0aW5nKGNUKV0scHJvdmlkZXJzOlt7cHJvdmlkZTpzVCxkZXBzOltUUl0sdXNlRmFjdG9yeTpsVH1dfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oZFQse2ltcG9ydHM6W2dELEFTLHFFLHpSXX0pO2NvbnN0IHBUPW5ldyBlcigiW0FsZXJ0XSBBY3Rpb24tVG8tQWxlcnQgUHJvdmlkZXIiKTtjbGFzcyBtVHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnByb3ZpZGVycz1uZXcgTWFwO2Zvcihjb25zdCBlIG9mIHR8fFtdKWZvcihjb25zdCB0IG9mIGUpe2lmKHRoaXMucHJvdmlkZXJzLmhhcyh0LmFjdGlvbkNyZWF0b3IudHlwZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYCIke3QuYWN0aW9uQ3JlYXRvci50eXBlfSIgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGZvciBhbGVydHMuIE11bHRpcGxlIGFsZXJ0cyBmb3IgdGhlIHNhbWUgYWN0aW9uIGlzIG5vdCBhbGxvd2VkLmApO3RoaXMucHJvdmlkZXJzLnNldCh0LmFjdGlvbkNyZWF0b3IudHlwZSx0LmFsZXJ0RnJvbUFjdGlvbil9fWdldEFsZXJ0RnJvbUFjdGlvbih0KXtjb25zdCBlPXRoaXMucHJvdmlkZXJzLmdldCh0LnR5cGUpO3JldHVybiBlP2UodCk6bnVsbH1zdGF0aWMgcmVnaXN0ZXJBbGVydEFjdGlvbnModCl7cmV0dXJue25nTW9kdWxlOm1ULHByb3ZpZGVyczpbe3Byb3ZpZGU6cFQsbXVsdGk6ITAsdXNlRmFjdG9yeTp0fV19fX1tVC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bVQpKFRyKHBULDgpKX0sbVQuybVtb2Q9Zm8oe3R5cGU6bVR9KSxtVC7JtWluaj1Ebih7fSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihtVCxbe3R5cGU6TF8sYXJnczpbe31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbcFRdfV19XX0pLG51bGwpO2NvbnN0IGZUPV9rKCJbUnVuc10gRmV0Y2ggUnVucyBSZXF1ZXN0ZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSx1VD1faygiW1J1bnNdIEZldGNoIFJ1bnMgU3VjY2VlZGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksZ1Q9X2soIltSdW5zXSBGZXRjaCBSdW5zIEZhaWxlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLGhUPV9rKCJbUnVuc10gUnVuIFNlbGVjdGlvbiBUb2dnbGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksYlQ9X2soIltSdW5zXSBSdW4gUGFnZSBTZWxlY3Rpb24gVG9nZ2xlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHlUPV9rKCJbUnVuc10gUnVuIFNlbGVjdG9yIFBhZ2luYXRpb24gT3B0aW9uIENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxfVD1faygiW1J1bnNdIFJ1biBTZWxlY3RvciBTb3J0IENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxDVD1faygiW1J1bnNdIFJ1biBTZWxlY3RvciBSZWdleCBGaWx0ZXIgQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLE1UPV9rKCJbUnVuc10gUnVuIENvbG9yIENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSx2VD1faygiW1J1bnNdIFJ1biBUYWJsZSBTaG93biIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHhUPV9rKCJbUnVuc10gUnVuIEdyb3VwIEJ5IENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KTt2YXIgT1QsUFQsd1Qsa1Q7IShmdW5jdGlvbih0KXt0LkRBVEFTRVRfVU5LTk9XTj0iREFUQVNFVF9VTktOT1dOIix0LkRBVEFTRVRfVFJBSU5JTkc9IkRBVEFTRVRfVFJBSU5JTkciLHQuREFUQVNFVF9WQUxJREFUSU9OPSJEQVRBU0VUX1ZBTElEQVRJT04ifSkoT1R8fChPVD17fSkpLChmdW5jdGlvbih0KXt0LlNUQVRVU19VTktOT1dOPSJTVEFUVVNfVU5LTk9XTiIsdC5TVEFUVVNfU1VDQ0VTUz0iU1RBVFVTX1NVQ0NFU1MiLHQuU1RBVFVTX0ZBSUxVUkU9IlNUQVRVU19GQUlMVVJFIix0LlNUQVRVU19SVU5OSU5HPSJTVEFUVVNfUlVOTklORyJ9KShQVHx8KFBUPXt9KSksKGZ1bmN0aW9uKHQpe3QuREFUQV9UWVBFX1VOU0VUPSJEQVRBX1RZUEVfVU5TRVQiLHQuREFUQV9UWVBFX1NUUklORz0iREFUQV9UWVBFX1NUUklORyIsdC5EQVRBX1RZUEVfQk9PTD0iREFUQV9UWVBFX0JPT0wiLHQuREFUQV9UWVBFX0ZMT0FUNjQ9IkRBVEFfVFlQRV9GTE9BVDY0In0pKHdUfHwod1Q9e30pKSwoZnVuY3Rpb24odCl7dFt0LkRJU0NSRVRFPTBdPSJESVNDUkVURSIsdFt0LklOVEVSVkFMPTFdPSJJTlRFUlZBTCJ9KShrVHx8KGtUPXt9KSk7Y2xhc3MgU1R7fVNULsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxTVCl9LFNULsm1cHJvdj1Tbih7dG9rZW46U1QsZmFjdG9yeTpTVC7JtWZhYyxwcm92aWRlZEluOiJyb290In0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoU1QsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sbnVsbCxudWxsKTtjb25zdCBEVD1faygiW0hwYXJhbXNdIEhwYXJhbXMgRGlzY3JldGUgSHBhcmFtIEZpbHRlciBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksUlQ9X2soIltIcGFyYW1zXSBIcGFyYW1zIEludGVydmFsIEhwYXJhbSBGaWx0ZXIgQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEVUPV9rKCJbSHBhcmFtc10gSHBhcmFtcyBNZXRyaWMgRmlsdGVyIENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KTtmdW5jdGlvbiBBVCh0KXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoWy4uLnRdLnNvcnQoKSl9ZnVuY3Rpb24gVFQodCl7dmFyIGUsbixvLGk7Y29uc3QgYT1uZXcgTWFwLHI9bmV3IE1hcCxzPW5ldyBNYXA7Zm9yKGNvbnN0IGEgb2YgdClmb3IoY29uc3RbdCxsXW9mIGEpaWYobC50eXBlPT09a1QuRElTQ1JFVEUpe2NvbnN0e3Bvc3NpYmxlVmFsdWVzOmUsdmFsdWVzOm59PXIuZ2V0KHQpfHx7cG9zc2libGVWYWx1ZXM6bmV3IFNldCx2YWx1ZXM6bmV3IFNldH07Zm9yKGNvbnN0IHQgb2YgbC5maWx0ZXJWYWx1ZXMpbi5hZGQodCk7Zm9yKGNvbnN0IHQgb2YgbC5wb3NzaWJsZVZhbHVlcyllLmFkZCh0KTtyLnNldCh0LHtwb3NzaWJsZVZhbHVlczplLHZhbHVlczpufSl9ZWxzZXtjb25zdCBhPXMuZ2V0KHQpO3Muc2V0KHQse2ZpbHRlckxvd2VyVmFsdWU6TWF0aC5taW4obC5maWx0ZXJMb3dlclZhbHVlLG51bGwhPT0oZT1udWxsPT1hP3ZvaWQgMDphLmZpbHRlckxvd2VyVmFsdWUpJiZ2b2lkIDAhPT1lP2U6MS8wKSxmaWx0ZXJVcHBlclZhbHVlOk1hdGgubWF4KGwuZmlsdGVyVXBwZXJWYWx1ZSxudWxsIT09KG49bnVsbD09YT92b2lkIDA6YS5maWx0ZXJVcHBlclZhbHVlKSYmdm9pZCAwIT09bj9uOi0xLzApLG1pblZhbHVlOk1hdGgubWluKGwubWluVmFsdWUsbnVsbCE9PShvPW51bGw9PWE/dm9pZCAwOmEubWluVmFsdWUpJiZ2b2lkIDAhPT1vP286MS8wKSxtYXhWYWx1ZTpNYXRoLm1heChsLm1heFZhbHVlLG51bGwhPT0oaT1udWxsPT1hP3ZvaWQgMDphLm1heFZhbHVlKSYmdm9pZCAwIT09aT9pOi0xLzApfSl9Zm9yKGNvbnN0W3Qse3ZhbHVlczplLHBvc3NpYmxlVmFsdWVzOm59XW9mIHIpYS5zZXQodCx7dHlwZTprVC5ESVNDUkVURSxpbmNsdWRlVW5kZWZpbmVkOiEwLHBvc3NpYmxlVmFsdWVzOlsuLi5uXSxmaWx0ZXJWYWx1ZXM6Wy4uLmVdfSk7Zm9yKGNvbnN0W3Qse21pblZhbHVlOmUsbWF4VmFsdWU6bixmaWx0ZXJMb3dlclZhbHVlOm8sZmlsdGVyVXBwZXJWYWx1ZTppfV1vZiBzKXtpZihhLmhhcyh0KSl7Y29uc3QgZT1hLmdldCh0KTtpZihlLnR5cGU9PT1rVC5ESVNDUkVURSYmZS5wb3NzaWJsZVZhbHVlcy5zb21lKCh0PT50KSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYENhbm5vdCBjb21iaW5lIGhwYXJhbSwgJHt0fSwgYXMgaXQgaXMgb2YgbWl4ZWQgdHlwZXMuYCl9YS5zZXQodCx7dHlwZTprVC5JTlRFUlZBTCxpbmNsdWRlVW5kZWZpbmVkOiEwLG1pblZhbHVlOmUsbWF4VmFsdWU6bixmaWx0ZXJMb3dlclZhbHVlOm8sZmlsdGVyVXBwZXJWYWx1ZTppfSl9cmV0dXJuIGF9ZnVuY3Rpb24gTlQodCl7dmFyIGUsbixvLGk7Y29uc3QgYT1uZXcgTWFwO2Zvcihjb25zdCByIG9mIHQpZm9yKGNvbnN0W3Qsc11vZiByKXtjb25zdCByPWEuZ2V0KHQpO2Euc2V0KHQsT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt0eXBlOmtULklOVEVSVkFMLGluY2x1ZGVVbmRlZmluZWQ6ITB9LHIpLHttaW5WYWx1ZTpNYXRoLm1pbihzLm1pblZhbHVlLG51bGwhPT0oZT1udWxsPT1yP3ZvaWQgMDpyLm1pblZhbHVlKSYmdm9pZCAwIT09ZT9lOjEvMCksbWF4VmFsdWU6TWF0aC5tYXgocy5tYXhWYWx1ZSxudWxsIT09KG49bnVsbD09cj92b2lkIDA6ci5tYXhWYWx1ZSkmJnZvaWQgMCE9PW4/bjotMS8wKSxmaWx0ZXJMb3dlclZhbHVlOk1hdGgubWluKHMuZmlsdGVyTG93ZXJWYWx1ZSxudWxsIT09KG89bnVsbD09cj92b2lkIDA6ci5maWx0ZXJMb3dlclZhbHVlKSYmdm9pZCAwIT09bz9vOjEvMCksZmlsdGVyVXBwZXJWYWx1ZTpNYXRoLm1heChzLmZpbHRlclVwcGVyVmFsdWUsbnVsbCE9PShpPW51bGw9PXI/dm9pZCAwOnIuZmlsdGVyVXBwZXJWYWx1ZSkmJnZvaWQgMCE9PWk/aTotMS8wKX0pKX1yZXR1cm4gYX1jb25zdCB6VD1WUyh7c3BlY3M6e30sZmlsdGVyczp7fX0sQlMoRFQsKCh0LGUpPT57dmFyIG47Y29uc3R7ZXhwZXJpbWVudElkczpvLGhwYXJhbU5hbWU6aSxmaWx0ZXJWYWx1ZXM6YSxpbmNsdWRlVW5kZWZpbmVkOnJ9PWUscz1BVChvKSxsPW51bGwhPT0obj10LmZpbHRlcnNbc10pJiZ2b2lkIDAhPT1uP246e2hwYXJhbXM6bmV3IE1hcH0sYz1sLmhwYXJhbXMuZ2V0KGkpO2lmKGMmJmMudHlwZSE9PWtULkRJU0NSRVRFKXRocm93IG5ldyBSYW5nZUVycm9yKGBOZXcgZGlzY3JldGUgZmlsdGVyIG9mICR7aX0gY29uZmxpY3RzIGV4aXN0aW5nIGZpbHRlciBvZiBgK2tUW2MudHlwZV0pO2NvbnN0IGQ9VFQoby5maWx0ZXIoKGU9PkJvb2xlYW4odC5zcGVjc1tlXSkpKS5tYXAoKGU9PnQuc3BlY3NbZV0uaHBhcmFtLmRlZmF1bHRGaWx0ZXJzKSkpLmdldChpKTtpZighZCl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBzZXQgaHBhcmFtLCAke2l9LCB3aGVuIGl0IGlzIG5vdCBrbm93biBmb3IgZXhwZXJpbWVudElkczogJHtvLmpvaW4oIiwgIil9YCk7aWYoZC50eXBlIT09a1QuRElTQ1JFVEUpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3Qgc2V0ICR7aX0gd2hlbiBkZWZhdWx0IGZpbHRlciBpcyBub3Qgb2YgZGlzY3JldGUgdHlwZS5gKTtjb25zdCBwPW5ldyBTZXQoZC5wb3NzaWJsZVZhbHVlcyksbT1bLi4uYV0uZmlsdGVyKCh0PT4hcC5oYXModCkpKTtpZihtLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYE5ldyBmaWx0ZXIgZm9yICR7aX0gaGFzIG1vcmUgdGhhbiBvbmUgdmFsdWUgdGhhdCBpcyBub3QgcHJlc2VudCBpbiB0aGUgc3BlYy4gQmFkIHZhbHVlczogJHttLmpvaW4oIiwgIil9YCk7Y29uc3QgZj1uZXcgTWFwKGwuaHBhcmFtcyk7cmV0dXJuIGYuc2V0KGksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGMpLHt0eXBlOmtULkRJU0NSRVRFLGluY2x1ZGVVbmRlZmluZWQ6cixwb3NzaWJsZVZhbHVlczpbLi4ucF0sZmlsdGVyVmFsdWVzOmF9KSksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtmaWx0ZXJzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmZpbHRlcnMpLHtbc106T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGwpLHtocGFyYW1zOmZ9KX0pfSl9KSksQlMoUlQsKCh0LGUpPT57dmFyIG47Y29uc3R7ZXhwZXJpbWVudElkczpvLGhwYXJhbU5hbWU6aSxmaWx0ZXJMb3dlclZhbHVlOmEsZmlsdGVyVXBwZXJWYWx1ZTpyLGluY2x1ZGVVbmRlZmluZWQ6c309ZSxsPUFUKG8pLGM9bnVsbCE9PShuPXQuZmlsdGVyc1tsXSkmJnZvaWQgMCE9PW4/bjp7bWV0cmljczpuZXcgTWFwLGhwYXJhbXM6bmV3IE1hcH0sZD1jLmhwYXJhbXMuZ2V0KGkpO2lmKGQmJmQudHlwZSE9PWtULklOVEVSVkFMKXRocm93IG5ldyBSYW5nZUVycm9yKGBOZXcgaW50ZXJ2YWwgZmlsdGVyIG9mICR7aX0gY29uZmxpY3RzIGV4aXN0aW5nIGZpbHRlciBvZiBgK2tUW2QudHlwZV0pO2NvbnN0IHA9VFQoby5maWx0ZXIoKGU9PkJvb2xlYW4odC5zcGVjc1tlXSkpKS5tYXAoKGU9PnQuc3BlY3NbZV0uaHBhcmFtLmRlZmF1bHRGaWx0ZXJzKSkpLmdldChpKTtpZighcCl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBzZXQgaHBhcmEsICR7aX0sIHdoZW4gaXQgaXMgbm90IGtub3duIGZvciBleHBlcmltZW50SWRzOiAke28uam9pbigiLCAiKX1gKTtpZihwLnR5cGUhPT1rVC5JTlRFUlZBTCl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBzZXQgJHtpfSB3aGVuIGRlZmF1bHQgZmlsdGVyIGlzIG5vdCBvZiBpbnRlcnZhbCB0eXBlLmApO2NvbnN0IG09bmV3IE1hcChjLmhwYXJhbXMpO3JldHVybiBtLnNldChpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxkKSx7dHlwZTprVC5JTlRFUlZBTCxpbmNsdWRlVW5kZWZpbmVkOnMsbWluVmFsdWU6cC5taW5WYWx1ZSxtYXhWYWx1ZTpwLm1heFZhbHVlLGZpbHRlckxvd2VyVmFsdWU6YSxmaWx0ZXJVcHBlclZhbHVlOnJ9KSksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtmaWx0ZXJzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmZpbHRlcnMpLHtbbF06T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGMpLHtocGFyYW1zOm19KX0pfSl9KSksQlMoRVQsKCh0LGUpPT57dmFyIG47Y29uc3R7ZXhwZXJpbWVudElkczpvLG1ldHJpY1RhZzppLGZpbHRlckxvd2VyVmFsdWU6YSxmaWx0ZXJVcHBlclZhbHVlOnIsaW5jbHVkZVVuZGVmaW5lZDpzfT1lLGw9QVQobyksYz1udWxsIT09KG49dC5maWx0ZXJzW2xdKSYmdm9pZCAwIT09bj9uOnttZXRyaWNzOm5ldyBNYXAsaHBhcmFtczpuZXcgTWFwfSxkPU5UKG8uZmlsdGVyKChlPT5Cb29sZWFuKHQuc3BlY3NbZV0pKSkubWFwKChlPT50LnNwZWNzW2VdLm1ldHJpYy5kZWZhdWx0RmlsdGVycykpKS5nZXQoaSk7aWYoIWQpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3Qgc2V0IG1ldHJpYywgJHtpfSwgd2hlbiBpdCBpcyBub3Qga25vd24gZm9yIGV4cGVyaW1lbnRJZHM6ICR7by5qb2luKCIsICIpfWApO2NvbnN0IHA9Yy5tZXRyaWNzLmdldChpKSxtPW5ldyBNYXAoYy5tZXRyaWNzKTtyZXR1cm4gbS5zZXQoaSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scCkse3R5cGU6a1QuSU5URVJWQUwsaW5jbHVkZVVuZGVmaW5lZDpzLG1pblZhbHVlOmQubWluVmFsdWUsbWF4VmFsdWU6ZC5tYXhWYWx1ZSxmaWx0ZXJMb3dlclZhbHVlOmEsZmlsdGVyVXBwZXJWYWx1ZTpyfSkpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZmlsdGVyczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5maWx0ZXJzKSx7W2xdOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxjKSx7bWV0cmljczptfSl9KX0pfSkpLEJTKHVULCgodCxlKT0+e3ZhciBuLG8saSxhO2lmKDA9PT1PYmplY3Qua2V5cyhlLm5ld1J1bnNBbmRNZXRhZGF0YSkubGVuZ3RoKXJldHVybiB0O2NvbnN0IHI9T2JqZWN0LmFzc2lnbih7fSx0LnNwZWNzKSxzPW5ldyBNYXAsbD1uZXcgU2V0O2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKGUubmV3UnVuc0FuZE1ldGFkYXRhKSl7Y29uc3QgYz1uZXcgTWFwLGQ9bmV3IE1hcCxwPW5ldyBNYXAsbT1uZXcgTWFwLHtydW5zOmYsbWV0YWRhdGE6dX09ZS5uZXdSdW5zQW5kTWV0YWRhdGFbdF07Zm9yKGNvbnN0IHQgb2YgZil7Y29uc3QgZT11LnJ1blRvSHBhcmFtc0FuZE1ldHJpY3NbdC5pZF07aWYoZSlmb3IoY29uc3QgdCBvZiBlLm1ldHJpY3Mpe2NvbnN0IGU9cy5nZXQodC50YWcpO3Muc2V0KHQudGFnLHttaW46ZT9NYXRoLm1pbihlLm1pbix0LnZhbHVlKTp0LnZhbHVlLG1heDplP01hdGgubWF4KGUubWF4LHQudmFsdWUpOnQudmFsdWV9KX19Zm9yKGNvbnN0e25hbWU6dCxkb21haW46ZX1vZiB1LmhwYXJhbVNwZWNzKWlmKGUudHlwZT09PWtULkRJU0NSRVRFKXtjb25zdCBuPXAuZ2V0KHQpfHxuZXcgU2V0O2Zvcihjb25zdCB0IG9mIGUudmFsdWVzKW4uYWRkKHQpO3Auc2V0KHQsbil9ZWxzZXtjb25zdCBuPW0uZ2V0KHQpO20uc2V0KHQse21pblZhbHVlOm4/TWF0aC5taW4oZS5taW5WYWx1ZSxuLm1pblZhbHVlKTplLm1pblZhbHVlLG1heFZhbHVlOm4/TWF0aC5tYXgoZS5tYXhWYWx1ZSxuLm1heFZhbHVlKTplLm1heFZhbHVlfSl9Zm9yKGNvbnN0IHQgb2YgdS5tZXRyaWNTcGVjcylsLmFkZCh0LnRhZyk7Zm9yKGNvbnN0W3QsZV1vZiBwKWMuc2V0KHQse3R5cGU6a1QuRElTQ1JFVEUsaW5jbHVkZVVuZGVmaW5lZDohMCxwb3NzaWJsZVZhbHVlczpbLi4uZV0sZmlsdGVyVmFsdWVzOlsuLi5lXX0pO2Zvcihjb25zdFt0LHttaW5WYWx1ZTplLG1heFZhbHVlOm59XW9mIG0pYy5zZXQodCx7dHlwZTprVC5JTlRFUlZBTCxpbmNsdWRlVW5kZWZpbmVkOiEwLG1pblZhbHVlOmUsbWF4VmFsdWU6bixmaWx0ZXJMb3dlclZhbHVlOmUsZmlsdGVyVXBwZXJWYWx1ZTpufSk7Zm9yKGNvbnN0IHQgb2YgbCl7Y29uc3QgZT1zLmdldCh0KSxpPW51bGwhPT0obj1udWxsPT1lP3ZvaWQgMDplLm1pbikmJnZvaWQgMCE9PW4/bjowLGE9bnVsbCE9PShvPW51bGw9PWU/dm9pZCAwOmUubWF4KSYmdm9pZCAwIT09bz9vOjA7ZC5zZXQodCx7dHlwZTprVC5JTlRFUlZBTCxpbmNsdWRlVW5kZWZpbmVkOiEwLG1pblZhbHVlOmksbWF4VmFsdWU6YSxmaWx0ZXJMb3dlclZhbHVlOmksZmlsdGVyVXBwZXJWYWx1ZTphfSl9clt0XT17aHBhcmFtOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxudWxsPT09KGk9clt0XSl8fHZvaWQgMD09PWk/dm9pZCAwOmkuaHBhcmFtKSx7c3BlY3M6dS5ocGFyYW1TcGVjcyxkZWZhdWx0RmlsdGVyczpjfSksbWV0cmljOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxudWxsPT09KGE9clt0XSl8fHZvaWQgMD09PWE/dm9pZCAwOmEubWV0cmljKSx7c3BlY3M6dS5tZXRyaWNTcGVjcyxkZWZhdWx0RmlsdGVyczpkfSl9fXJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NwZWNzOnJ9KX0pKSk7ZnVuY3Rpb24gSVQodCxlKXtyZXR1cm4gelQodCxlKX1jb25zdCBIVD0iaHBhcmFtcyI7Y2xhc3MgRlR7fUZULsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxGVCl9LEZULsm1bW9kPWZvKHt0eXBlOkZUfSksRlQuybVpbmo9RG4oe2ltcG9ydHM6W1tUUy5mb3JGZWF0dXJlKEhULElUKV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihGVCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W1RTLmZvckZlYXR1cmUoSFQsSVQpXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEZULHtpbXBvcnRzOltBU119KTtjbGFzcyBMVHt9ZnVuY3Rpb24gQlQodCxlKXtyZXR1cm5gJHtlfS8ke3R9YH1MVC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TFQpfSxMVC7JtW1vZD1mbyh7dHlwZTpMVH0pLExULsm1aW5qPURuKHtpbXBvcnRzOltbRlRdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTFQsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltGVF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhMVCx7aW1wb3J0czpbRlRdfSk7Y2xhc3MgVlR7Y29uc3RydWN0b3IodCl7dGhpcy5odHRwPXR9ZmV0Y2hSdW5zKHQpe3JldHVybiB0aGlzLmh0dHAuZ2V0KCJkYXRhL3J1bnMiKS5waXBlKFZ0KChlPT5lLm1hcCgoZT0+KHtpZDpCVChlLHQpLG5hbWU6ZSxzdGFydFRpbWU6MH0pKSkpKSl9ZmV0Y2hIcGFyYW1zTWV0YWRhdGEodCl7cmV0dXJuIHp0KHtocGFyYW1TcGVjczpbXSxtZXRyaWNTcGVjczpbXSxydW5Ub0hwYXJhbXNBbmRNZXRyaWNzOnt9fSl9fVZULsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxWVCkoVHIoSEUpKX0sVlQuybVwcm92PVNuKHt0b2tlbjpWVCxmYWN0b3J5OlZULsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWVCxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6SEV9XX0pLG51bGwpO2NsYXNzIGpUe31qVC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8alQpfSxqVC7JtW1vZD1mbyh7dHlwZTpqVH0pLGpULsm1aW5qPURuKHtwcm92aWRlcnM6W3twcm92aWRlOlNULHVzZUNsYXNzOlZUfV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGpULFt7dHlwZTpMXyxhcmdzOlt7cHJvdmlkZXJzOlt7cHJvdmlkZTpTVCx1c2VDbGFzczpWVH1dfV19XSxudWxsLG51bGwpO2NvbnN0IFVUPSJhbGVydHMiLFdUPWJTKF9TKFVUKSwodD0+dC5sYXRlc3RBbGVydCkpLEdUPSJleHBlcmltZW50cyIsWVQ9YlMoX1MoR1QpLCh0PT50LmRhdGEpKSxxVD1iUyhZVCwoKHQsZSk9Pntjb25zdHtleHBlcmltZW50SWQ6bn09ZTtyZXR1cm4gdC5leHBlcmltZW50TWFwW25dfHxudWxsfSkpOwovKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLgoKICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQogICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLgoKICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRICiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkKICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwKICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTQogICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IKICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwpmdW5jdGlvbiBaVCh0LGUpe3ZhciBuPXt9O2Zvcih2YXIgbyBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG8pJiZlLmluZGV4T2Yobyk8MCYmKG5bb109dFtvXSk7aWYobnVsbCE9dCYmImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBpPTA7Zm9yKG89T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KTtpPG8ubGVuZ3RoO2krKyllLmluZGV4T2Yob1tpXSk8MCYmT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHQsb1tpXSkmJihuW29baV1dPXRbb1tpXV0pfXJldHVybiBufWZ1bmN0aW9uIFhUKHQsZSxuLG8pe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKChmdW5jdGlvbihpLGEpe2Z1bmN0aW9uIHIodCl7dHJ5e2woby5uZXh0KHQpKX1jYXRjaCh0KXthKHQpfX1mdW5jdGlvbiBzKHQpe3RyeXtsKG8udGhyb3codCkpfWNhdGNoKHQpe2EodCl9fWZ1bmN0aW9uIGwodCl7dC5kb25lP2kodC52YWx1ZSk6KGZ1bmN0aW9uIGUodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBuP3Q6bmV3IG4oKGZ1bmN0aW9uKGUpe2UodCl9KSl9KSh0LnZhbHVlKS50aGVuKHIscyl9bCgobz1vLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSkpfXZhciBLVCxKVCxRVDshKGZ1bmN0aW9uKHQpe3QuU0NBTEFSUz0ic2NhbGFycyIsdC5ISVNUT0dSQU1TPSJoaXN0b2dyYW1zIix0LklNQUdFUz0iaW1hZ2VzIn0pKEtUfHwoS1Q9e30pKSwoZnVuY3Rpb24odCl7dC5ERUZBVUxUPSJkZWZhdWx0Iix0LkFMUEhBQkVUSUNBTD0iYWxwaGFiZXRpY2FsIix0LkFTQ0VORElORz0iYXNjZW5kaW5nIix0LkRFU0NFTkRJTkc9ImRlc2NlbmRpbmciLHQuTkVBUkVTVD0ibmVhcmVzdCJ9KShKVHx8KEpUPXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5TVEVQPTBdPSJTVEVQIix0W3QuUkVMQVRJVkU9MV09IlJFTEFUSVZFIix0W3QuV0FMTF9USU1FPTJdPSJXQUxMX1RJTUUifSkoUVR8fChRVD17fSkpO2NvbnN0ICRUPSJ0aW1lc2VyaWVzIjtjb25zdCB0Tj1bS1QuSU1BR0VTXTtmdW5jdGlvbiBlTih0KXtyZXR1cm4gdE4uaW5jbHVkZXModCl9Y29uc3Qgbk49W0tULkhJU1RPR1JBTVMsS1QuSU1BR0VTXTtmdW5jdGlvbiBvTih0KXtyZXR1cm4gbk4uaW5jbHVkZXModCl9ZnVuY3Rpb24gaU4odCl7cmV0dXJuIG9OKHQucGx1Z2luKX1jbGFzcyBhTnt9ZnVuY3Rpb24gck4odCl7cmV0dXJuIHQuaGFzT3duUHJvcGVydHkoImVycm9yIil9Y29uc3Qgc049ImRhdGEvcGx1Z2luL3RpbWVzZXJpZXMiO2Z1bmN0aW9uIGxOKHQpe2NvbnN0IGU9dC5pbmRleE9mKCIvIik7cmV0dXJue3J1bjp0LnN1YnN0cmluZyhlKzEpLGV4cGVyaW1lbnRJZDp0LnN1YnN0cmluZygwLGUpfX1mdW5jdGlvbiBjTih0LGUpe3JldHVybmAke2V9LyR7dH1gfWZ1bmN0aW9uIGROKHQsZSl7Y29uc3R7cnVuVG9TZXJpZXM6bixydW46b309dCxpPVpUKHQsWyJydW5Ub1NlcmllcyIsInJ1biJdKSxhPU9iamVjdC5hc3NpZ24oe30saSk7cmV0dXJuIG4mJihhLnJ1blRvU2VyaWVzPXBOKG4sZSkpLG8mJihhLnJ1bklkPWNOKG8sZSkpLGF9ZnVuY3Rpb24gcE4odCxlKXtjb25zdCBuPXt9O2Zvcihjb25zdCBvIGluIHQpaWYodC5oYXNPd25Qcm9wZXJ0eShvKSl7bltjTihvLGUpXT10W29dfXJldHVybiBufWNsYXNzIG1Oe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5odHRwPXQsdGhpcy5zdG9yZT1lfWZldGNoVGFnTWV0YWRhdGEodCl7Y29uc3QgZT10Lm1hcCgodD0+dGhpcy5odHRwLmdldChgL2V4cGVyaW1lbnQvJHt0fS8ke3NOfS90YWdzYCkucGlwZShWdCgoZT0+KGZ1bmN0aW9uIG4odCxlKXtjb25zdCBuPXt9O2Zvcihjb25zdCBvIG9mIE9iamVjdC5rZXlzKHQpKXtjb25zdCBpPW87aWYoZU4oaSkpe2NvbnN0IG89dFtpXSx7dGFnUnVuU2FtcGxlZEluZm86YX09byxyPVpUKG8sWyJ0YWdSdW5TYW1wbGVkSW5mbyJdKSxzPXt9O2Zvcihjb25zdCB0IGluIGEpYS5oYXNPd25Qcm9wZXJ0eSh0KSYmKHNbdF09cE4oYVt0XSxlKSk7bltpXT1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3RhZ1J1blNhbXBsZWRJbmZvOnN9KX1lbHNle2NvbnN0IG89dFtpXSx7cnVuVGFnSW5mbzphfT1vLHI9WlQobyxbInJ1blRhZ0luZm8iXSk7bltpXT1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3J1blRhZ0luZm86cE4oYSxlKX0pfX1yZXR1cm4gbn0pKGUsdCkpKSkpKSxuPXRoaXMuc3RvcmUuc2VsZWN0KE5EKS5waXBlKHVlKEJvb2xlYW4pLHZlKDEpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KFdEKSksVnQoKChbLHRdKT0+dCkpKTtyZXR1cm4gaWUoZSkucGlwZShxZShuKSxWdCgoKFt0LGVdKT0+e2NvbnN0IG49KGZ1bmN0aW9uIG8odCl7Y29uc3QgZT17fTtmb3IoY29uc3QgbiBvZiB0KWZvcihjb25zdCB0IG9mIE9iamVjdC52YWx1ZXMoS1QpKWlmKGVOKHQpKXtlW3RdPWVbdF18fHt0YWdEZXNjcmlwdGlvbnM6e30sdGFnUnVuU2FtcGxlZEluZm86e319O2NvbnN0e3RhZ0Rlc2NyaXB0aW9uczpvLHRhZ1J1blNhbXBsZWRJbmZvOml9PW5bdF07ZVt0XS50YWdEZXNjcmlwdGlvbnM9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGVbdF0udGFnRGVzY3JpcHRpb25zKSxvKTtjb25zdCBhPWVbdF0udGFnUnVuU2FtcGxlZEluZm87Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMoaSkpe2FbdF09YVt0XXx8e307Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXMoaVt0XSkpYVt0XVtlXT1pW3RdW2VdfX1lbHNle2VbdF09ZVt0XXx8e3RhZ0Rlc2NyaXB0aW9uczp7fSxydW5UYWdJbmZvOnt9fTtjb25zdHt0YWdEZXNjcmlwdGlvbnM6byxydW5UYWdJbmZvOml9PW5bdF07ZVt0XS50YWdEZXNjcmlwdGlvbnM9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGVbdF0udGFnRGVzY3JpcHRpb25zKSxvKSxlW3RdLnJ1blRhZ0luZm89T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGVbdF0ucnVuVGFnSW5mbyksaSl9cmV0dXJuIGV9KSh0KTtyZXR1cm4gZXx8KG5bS1QuSU1BR0VTXT17dGFnRGVzY3JpcHRpb25zOnt9LHRhZ1J1blNhbXBsZWRJbmZvOnt9fSksbn0pKSl9ZmV0Y2hUaW1lU2VyaWVzKHQpe2NvbnN0IGU9dC5tYXAoKHQ9PntpZihvTih0LnBsdWdpbikpe2NvbnN0IGU9dCx7cnVuSWQ6bn09ZSxvPVpUKGUsWyJydW5JZCJdKSx7cnVuOmksZXhwZXJpbWVudElkOmF9PWxOKG4pLHI9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG8pLHtydW46aX0pO3JldHVybiB0aGlzLmZldGNoVGltZVNlcmllc0JhY2tlbmRSZXF1ZXN0KHIsYSkucGlwZShWdCgoKHtyZXNwb25zZTp0LGV4cGVyaW1lbnRJZDplfSk9PmROKHQsZSkpKSl9Y29uc3QgZT10LHtleHBlcmltZW50SWRzOm59PWUsbz1aVChlLFsiZXhwZXJpbWVudElkcyJdKTtyZXR1cm4gaWUobi5tYXAoKHQ9PnRoaXMuZmV0Y2hUaW1lU2VyaWVzQmFja2VuZFJlcXVlc3Qobyx0KSkpKS5waXBlKFZ0KCh0PT57Y29uc3QgZT1aVCh0WzBdLnJlc3BvbnNlLFsicnVuVG9TZXJpZXMiLCJlcnJvciJdKTtmb3IoY29uc3R7cmVzcG9uc2U6bixleHBlcmltZW50SWQ6b31vZiB0KXtjb25zdCB0PWROKG4sbyk7aWYoZS5lcnJvciljb250aW51ZTtjb25zdHtydW5Ub1NlcmllczppLGVycm9yOmF9PXQ7aWYoYSllLmVycm9yPWEsZS5ydW5Ub1Nlcmllcz12b2lkIDA7ZWxzZXtlLnJ1blRvU2VyaWVzPWUucnVuVG9TZXJpZXN8fHt9O2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKGkpKWUucnVuVG9TZXJpZXNbdF09aVt0XX19cmV0dXJuIGV9KSkpfSkpO3JldHVybiBpZShlKX1mZXRjaFRpbWVTZXJpZXNCYWNrZW5kUmVxdWVzdCh0LGUpe2NvbnN0IG49bmV3IEZvcm1EYXRhO3JldHVybiBuLmFwcGVuZCgicmVxdWVzdHMiLEpTT04uc3RyaW5naWZ5KFt0XSkpLHRoaXMuaHR0cC5wb3N0KGAvZXhwZXJpbWVudC8ke2V9LyR7c059L3RpbWVTZXJpZXNgLG4pLnBpcGUoVnQoKHQ9Pih7cmVzcG9uc2U6dFswXSxleHBlcmltZW50SWQ6ZX0pKSkpfWltYWdlVXJsKHQpe3JldHVybmAke3NOfS9pbWFnZURhdGE/aW1hZ2VJZD0ke3R9YH1kb3dubG9hZFVybCh0LGUsbixvKXtjb25zdHtydW46aSxleHBlcmltZW50SWQ6YX09bE4obik7bGV0IHI7c3dpdGNoKHQpe2Nhc2UgS1QuU0NBTEFSUzpyPSJzY2FsYXJzL3NjYWxhcnMiO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBOb3QgaW1wbGVtZW50ZWQ6IGRvd25sb2FkVXJsIGZvciAke3R9IGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXRgKX1pZighYSl0aHJvdyBuZXcgRXJyb3IoImV4cGVyaW1lbnRJZCBpcyBlbXB0eTsgaXQgaXMgcmVxdWlyZWQgdG8gZm9ybSBkb3dubG9hZFVybC4iKTtyZXR1cm5gL2V4cGVyaW1lbnQvJHthfS9kYXRhL3BsdWdpbi8ke3J9PyR7bmV3IFVSTFNlYXJjaFBhcmFtcyh7dGFnOmUscnVuOmksZm9ybWF0Om99KX1gfX1tTi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bU4pKFRyKEhFKSxUcihpUykpfSxtTi7JtXByb3Y9U24oe3Rva2VuOm1OLGZhY3Rvcnk6bU4uybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1OLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpIRX0se3R5cGU6aVN9XX0pLG51bGwpO2NvbnN0IGZOPW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7Y2xhc3MgdU57Z2V0UGFyYW1zKCl7cmV0dXJuIGZOfX11Ti7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dU4pfSx1Ti7JtXByb3Y9U24oe3Rva2VuOnVOLGZhY3Rvcnk6dU4uybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHVOLFt7dHlwZTpVbX1dLG51bGwsbnVsbCk7Y2xhc3MgZ057fWdOLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxnTil9LGdOLsm1cHJvdj1Tbih7dG9rZW46Z04sZmFjdG9yeTpnTi7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZ04sW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjb25zdCBoTj0iZXhwZXJpbWVudGFsUGx1Z2luIixiTj0ic2NhbGFyc0JhdGNoU2l6ZSIseU49ImVuYWJsZUNhcmRXaWR0aFNldHRpbmciLF9OPSJlbmFibGVDb2xvckdyb3VwIixDTj0iZW5hYmxlQ29sb3JHcm91cEJ5UmVnZXgiLE1OPSJkYXJrTW9kZSIsdk49ImVuYWJsZUxpbmtUaW1lIix4Tj0iZW5hYmxlVGltZU5hbWVzcGFjZWRTdGF0ZSI7Y2xhc3MgT057Y29uc3RydWN0b3IodCl7dGhpcy5xdWVyeVBhcmFtcz10fWdldEZlYXR1cmVzKHQ9ITEpe2NvbnN0IGU9dGhpcy5xdWVyeVBhcmFtcy5nZXRQYXJhbXMoKSxuPXQ/dGhpcy5nZXRQYXJ0aWFsRmVhdHVyZXNGcm9tTWVkaWFRdWVyeSgpOnt9O3JldHVybiBlLmhhcyhoTikmJihuLmVuYWJsZWRFeHBlcmltZW50YWxQbHVnaW5zPWUuZ2V0QWxsKGhOKSksZS5oYXMoInRlbnNvcmJvYXJkQ29sYWIiKSYmKG4uaW5Db2xhYj0idHJ1ZSI9PT1lLmdldCgidGVuc29yYm9hcmRDb2xhYiIpKSxlLmhhcyhiTikmJihuLnNjYWxhcnNCYXRjaFNpemU9TnVtYmVyKGUuZ2V0KGJOKSkpLGUuaGFzKF9OKSYmKG4uZW5hYmxlZENvbG9yR3JvdXA9ImZhbHNlIiE9PWUuZ2V0KF9OKSksZS5oYXMoQ04pJiYobi5lbmFibGVkQ29sb3JHcm91cEJ5UmVnZXg9ImZhbHNlIiE9PWUuZ2V0KENOKSksZS5oYXMoTU4pJiYobi5kZWZhdWx0RW5hYmxlRGFya01vZGU9ImZhbHNlIiE9PWUuZ2V0KE1OKSksZS5oYXModk4pJiYobi5lbmFibGVkTGlua2VkVGltZT0iZmFsc2UiIT09ZS5nZXQodk4pKSxlLmhhcyh5TikmJihuLmVuYWJsZWRDYXJkV2lkdGhTZXR0aW5nPSJmYWxzZSIhPT1lLmdldCh5TikpLGUuaGFzKHhOKSYmKG4uZW5hYmxlZFRpbWVOYW1lc3BhY2VkU3RhdGU9ImZhbHNlIiE9PWUuZ2V0KHhOKSksbn1nZXRQYXJ0aWFsRmVhdHVyZXNGcm9tTWVkaWFRdWVyeSgpe2NvbnN0IHQ9e307cmV0dXJuIHdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcyYmKHQuZGVmYXVsdEVuYWJsZURhcmtNb2RlPSEwKSx0fX1PTi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8T04pKFRyKHVOKSl9LE9OLsm1cHJvdj1Tbih7dG9rZW46T04sZmFjdG9yeTpPTi7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoT04sW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnVOfV19KSxudWxsKTtjbGFzcyBQTnt9UE4uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFBOKX0sUE4uybVtb2Q9Zm8oe3R5cGU6UE59KSxQTi7JtWluaj1Ebih7cHJvdmlkZXJzOltPTix1Tix7cHJvdmlkZTpnTix1c2VDbGFzczpPTn1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihQTixbe3R5cGU6TF8sYXJnczpbe3Byb3ZpZGVyczpbT04sdU4se3Byb3ZpZGU6Z04sdXNlQ2xhc3M6T059XX1dfV0sbnVsbCxudWxsKTtjb25zdCB3Tj1faygiW0ZFQVRVUkUgRkxBR10gUGFydGlhbCBGZWF0dXJlIEZsYWdzIExvYWRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLGtOPV9rKCJbRkVBVFVSRSBGTEFHXSBFbmFibGUgRGFyayBNb2RlIE92ZXJyaWRlIENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxTTj1faygiW0ZFQVRVUkUgRkxBR10gRWZmZWN0cyBJbml0Iik7Y2xhc3MgRE57Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuYWN0aW9ucyQ9dCx0aGlzLnN0b3JlPWUsdGhpcy5kYXRhU291cmNlPW4sdGhpcy5nZXRGZWF0dXJlRmxhZ3MkPVdTKCgoKT0+dGhpcy5hY3Rpb25zJC5waXBlKCRTKFNOKSxfZSh0aGlzLnN0b3JlLnNlbGVjdChIRCkpLFZ0KCgoWyx0XSk9Pntjb25zdCBlPXRoaXMuZGF0YVNvdXJjZS5nZXRGZWF0dXJlcyh0KTtyZXR1cm4gd04oe2ZlYXR1cmVzOmV9KX0pKSkpKX1uZ3J4T25Jbml0RWZmZWN0cygpe3JldHVybiBTTigpfX1ETi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RE4pKFRyKFFTKSxUcihpUyksVHIoZ04pKX0sRE4uybVwcm92PVNuKHt0b2tlbjpETixmYWN0b3J5OkROLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihETixbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UVN9LHt0eXBlOmlTfSx7dHlwZTpnTn1dfSksbnVsbCk7Y29uc3QgUk49e2lzRmVhdHVyZUZsYWdzTG9hZGVkOiExLGRlZmF1bHRGbGFnczp7aXNBdXRvRGFya01vZGVBbGxvd2VkOiEwLGRlZmF1bHRFbmFibGVEYXJrTW9kZTohMSxlbmFibGVEYXJrTW9kZU92ZXJyaWRlOm51bGwsZW5hYmxlZENvbG9yR3JvdXA6ITAsZW5hYmxlZENvbG9yR3JvdXBCeVJlZ2V4OiEwLGVuYWJsZWRFeHBlcmltZW50YWxQbHVnaW5zOltdLGluQ29sYWI6ITEsc2NhbGFyc0JhdGNoU2l6ZTp2b2lkIDAsbWV0cmljc0ltYWdlU3VwcG9ydEVuYWJsZWQ6ITAsZW5hYmxlZExpbmtlZFRpbWU6ITEsZW5hYmxlVGltZVNlcmllc1Byb21vdGlvbjohMSxlbmFibGVkQ2FyZFdpZHRoU2V0dGluZzohMCxlbmFibGVkVGltZU5hbWVzcGFjZWRTdGF0ZTohMX0sZmxhZ092ZXJyaWRlczp7fX0sRU49bmV3IGVyKCJbRmVhdHVyZSBGbGFnXSBTdG9yZSBDb25maWciKTtmdW5jdGlvbiBBTigpe3JldHVybntpbml0aWFsU3RhdGU6Uk59fWNvbnN0IFROPVZTKFJOLEJTKHdOLCgodCx7ZmVhdHVyZXM6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2lzRmVhdHVyZUZsYWdzTG9hZGVkOiEwLGZsYWdPdmVycmlkZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZmxhZ092ZXJyaWRlcyksZSl9KSkpLEJTKGtOLCgodCx7ZW5hYmxlRGFya01vZGU6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2ZsYWdPdmVycmlkZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZmxhZ092ZXJyaWRlcykse2VuYWJsZURhcmtNb2RlT3ZlcnJpZGU6ZX0pfSkpKSxCUyhxUiwoKHQse3BhcnRpYWxTZXR0aW5nczplfSk9PntpZighZS50aGVtZU92ZXJyaWRlKXJldHVybiB0O2xldCBuO3N3aXRjaChlLnRoZW1lT3ZlcnJpZGUpe2Nhc2UgRlIuQlJPV1NFUl9ERUZBVUxUOm49bnVsbDticmVhaztjYXNlIEZSLkRBUks6bj0hMDticmVhaztjYXNlIEZSLkxJR0hUOm49ITF9cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZmxhZ092ZXJyaWRlczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5mbGFnT3ZlcnJpZGVzKSx7ZW5hYmxlRGFya01vZGVPdmVycmlkZTpufSl9KX0pKSk7ZnVuY3Rpb24gTk4odCxlKXtyZXR1cm4gVE4odCxlKX1mdW5jdGlvbiB6Tigpe3JldHVybiBiUyhMRCwodD0+bnVsbD09PXQ/e3RoZW1lT3ZlcnJpZGU6RlIuQlJPV1NFUl9ERUZBVUxUfTp7dGhlbWVPdmVycmlkZTp0P0ZSLkRBUks6RlIuTElHSFR9KSl9Y2xhc3MgSU57fUlOLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxJTil9LElOLsm1bW9kPWZvKHt0eXBlOklOfSksSU4uybVpbmo9RG4oe3Byb3ZpZGVyczpbe3Byb3ZpZGU6RU4sdXNlRmFjdG9yeTpBTn1dLGltcG9ydHM6W1tQTixUUy5mb3JGZWF0dXJlKEFELE5OLEVOKSxoRC5mb3JGZWF0dXJlKFtETl0pLHpSLmRlZmluZUdsb2JhbFNldHRpbmcoek4pXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKElOLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbUE4sVFMuZm9yRmVhdHVyZShBRCxOTixFTiksaEQuZm9yRmVhdHVyZShbRE5dKSx6Ui5kZWZpbmVHbG9iYWxTZXR0aW5nKHpOKV0scHJvdmlkZXJzOlt7cHJvdmlkZTpFTix1c2VGYWN0b3J5OkFOfV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhJTix7aW1wb3J0czpbUE4sQVMsZ0QselJdfSk7Y2xhc3MgSE57fWZ1bmN0aW9uIEZOKHQsZSxuLG8pe3JldHVybiB0W2VdLmhhc093blByb3BlcnR5KG4pP2VOKGUpP3RbZV1bbl0uaGFzT3duUHJvcGVydHkobyk/dFtlXVtuXVtvXTpudWxsOnRbZV1bbl06bnVsbH1mdW5jdGlvbiBMTih0LGUsbixvKXtpZihlTihlKSl7Y29uc3QgaT1PYmplY3QuYXNzaWduKHt9LHRbZV0pLGE9KGZ1bmN0aW9uIGkodCxlLG4pe2NvbnN0IG89dC5oYXNPd25Qcm9wZXJ0eShlKT9PYmplY3QuYXNzaWduKHt9LHRbZV0pOnt9LGk9by5oYXNPd25Qcm9wZXJ0eShuKTtyZXR1cm4gb1tuXT1pP09iamVjdC5hc3NpZ24oe30sb1tuXSk6e3J1blRvU2VyaWVzOnt9LHJ1blRvTG9hZFN0YXRlOnt9fSxvfSkoaSxuLG8pO3JldHVybiBpW25dPWEsaX1jb25zdCBhPU9iamVjdC5hc3NpZ24oe30sdFtlXSkscj1hLmhhc093blByb3BlcnR5KG4pO3JldHVybiBhW25dPXI/T2JqZWN0LmFzc2lnbih7fSxhW25dKTp7cnVuVG9TZXJpZXM6e30scnVuVG9Mb2FkU3RhdGU6e319LGF9ZnVuY3Rpb24gQk4odCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpfWZ1bmN0aW9uIFZOKHQsZSxuKXtjb25zdCBvPU9iamVjdC5hc3NpZ24oe30sbik7Zm9yKGNvbnN0IG4gb2YgZSlvW25dPXQ7cmV0dXJuIG99ZnVuY3Rpb24gak4odCxlLG4sbyl7aWYoZU4oZSkpe2NvbnN0IGk9dFtlXS50YWdSdW5TYW1wbGVkSW5mbztpZighaS5oYXNPd25Qcm9wZXJ0eShuKSlyZXR1cm5bXTtyZXR1cm4gT2JqZWN0LmtleXMoaVtuXSkuZmlsdGVyKCh0PT5vPGlbbl1bdF0ubWF4U2FtcGxlc1BlclN0ZXApKX1jb25zdCBpPXRbZV0udGFnVG9SdW5zO3JldHVybiBpLmhhc093blByb3BlcnR5KG4pP2lbbl06W119ZnVuY3Rpb24gVU4odCxlKXtyZXR1cm4gdC5wbHVnaW49PT1lLnBsdWdpbiYmdC50YWc9PT1lLnRhZyYmdC5zYW1wbGU9PT1lLnNhbXBsZSYmKHQucnVuSWQ9PT1lLnJ1bklkfHwhdC5ydW5JZCYmIWUucnVuSWQpfWZ1bmN0aW9uIFdOKHQsZSxuLG8saSxhKXtjb25zdCByPW5ldyBTZXQodCkscz1bXTtmb3IoY29uc3QgbyBvZiB0KWZvcihjb25zdCB0IG9mIGUpe2lmKFVOKG5bdF0sbykpe3MucHVzaCh0KSxyLmRlbGV0ZShvKTticmVha319aWYoIXMubGVuZ3RoKXJldHVybnt1bnJlc29sdmVkSW1wb3J0ZWRQaW5uZWRDYXJkczp0LGNhcmRNZXRhZGF0YU1hcDpuLGNhcmRUb1Bpbm5lZENvcHk6byxwaW5uZWRDYXJkVG9PcmlnaW5hbDppLGNhcmRTdGVwSW5kZXg6YX07bGV0IGw9e2NhcmRUb1Bpbm5lZENvcHk6byxwaW5uZWRDYXJkVG9PcmlnaW5hbDppLGNhcmRTdGVwSW5kZXg6YSxjYXJkTWV0YWRhdGFNYXA6bn07Zm9yKGNvbnN0IHQgb2YgcylsPUdOKHQsbC5jYXJkVG9QaW5uZWRDb3B5LGwucGlubmVkQ2FyZFRvT3JpZ2luYWwsbC5jYXJkU3RlcEluZGV4LGwuY2FyZE1ldGFkYXRhTWFwKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGwpLHt1bnJlc29sdmVkSW1wb3J0ZWRQaW5uZWRDYXJkczpbLi4ucl19KX1mdW5jdGlvbiBHTih0LGUsbixvLGkpe2lmKGUuaGFzKHQpKXJldHVybntjYXJkVG9QaW5uZWRDb3B5OmUscGlubmVkQ2FyZFRvT3JpZ2luYWw6bixjYXJkU3RlcEluZGV4Om8sY2FyZE1ldGFkYXRhTWFwOml9O2NvbnN0IGE9bmV3IE1hcChlKSxyPW5ldyBNYXAobikscz1PYmplY3QuYXNzaWduKHt9LG8pLGw9T2JqZWN0LmFzc2lnbih7fSxpKSxjPShmdW5jdGlvbiBkKHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7YmFzZUNhcmRJZDp0fSl9KSh0KTthLnNldCh0LGMpLHIuc2V0KGMsdCksby5oYXNPd25Qcm9wZXJ0eSh0KSYmKHNbY109b1t0XSk7Y29uc3QgcD1pW3RdO2lmKCFwKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHBpbiBhIGNhcmQgd2l0aG91dCBtZXRhZGF0YSIpO3JldHVybiBsW2NdPXAse2NhcmRUb1Bpbm5lZENvcHk6YSxwaW5uZWRDYXJkVG9PcmlnaW5hbDpyLGNhcmRTdGVwSW5kZXg6cyxjYXJkTWV0YWRhdGFNYXA6bH19SE4uybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEhOKX0sSE4uybVtb2Q9Zm8oe3R5cGU6SE59KSxITi7JtWluaj1Ebih7cHJvdmlkZXJzOlt7cHJvdmlkZTphTix1c2VDbGFzczptTn1dLGltcG9ydHM6W1tJTixGRV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihITixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W0lOLEZFXSxwcm92aWRlcnM6W3twcm92aWRlOmFOLHVzZUNsYXNzOm1OfV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhITix7aW1wb3J0czpbSU4sRkVdfSk7Y29uc3QgWU49MTA7ZnVuY3Rpb24gcU4odCl7cmV0dXJuIHQucGlubmVkQ2FyZFRvT3JpZ2luYWwuc2l6ZSt0LnVucmVzb2x2ZWRJbXBvcnRlZFBpbm5lZENhcmRzLmxlbmd0aDxZTn1jb25zdCBaTj0ibWV0cmljcyIsWE49e2NhcmRNaW5XaWR0aDpudWxsLHRvb2x0aXBTb3J0OkpULkFMUEhBQkVUSUNBTCxpZ25vcmVPdXRsaWVyczohMCx4QXhpc1R5cGU6UVQuU1RFUCxzY2FsYXJTbW9vdGhpbmc6LjYsc2NhbGFyUGFydGl0aW9uTm9uTW9ub3RvbmljWDohMSxpbWFnZUJyaWdodG5lc3NJbk1pbGxpOjFlMyxpbWFnZUNvbnRyYXN0SW5NaWxsaToxZTMsaW1hZ2VTaG93QWN0dWFsU2l6ZTohMSxoaXN0b2dyYW1Nb2RlOmpFLk9GRlNFVH0sS049X1MoWk4pLEpOPWJTKEtOLCh0PT50LnRhZ01ldGFkYXRhTG9hZFN0YXRlKSk7YlMoS04sKHQ9PnQudGFnTWV0YWRhdGEpKTtjb25zdCBRTj1iUyhLTiwodD0+dC5jYXJkTGlzdCkpLCROPWJTKEtOLCgodCxlKT0+e2lmKCF0LmNhcmRNZXRhZGF0YU1hcC5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gVUUuTk9UX0xPQURFRDtjb25zdHtwbHVnaW46bix0YWc6byxydW5JZDppLHNhbXBsZTphfT10LmNhcmRNZXRhZGF0YU1hcFtlXSxyPUZOKHQudGltZVNlcmllc0RhdGEsbixvLGEpO2lmKCFyKXJldHVybiBVRS5OT1RfTE9BREVEO2NvbnN0IHM9ci5ydW5Ub0xvYWRTdGF0ZTtpZihpKXJldHVybiBzLmhhc093blByb3BlcnR5KGkpP3NbaV06VUUuTk9UX0xPQURFRDtjb25zdCBsPWpOKHQudGFnTWV0YWRhdGEsbixvLGEpO2lmKCFsLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBsb2FkIGEgY2FyZCB3aG9zZSB0YWcgaGFzIG5vIHJ1bnMiKTtyZXR1cm4gbC5ldmVyeSgodD0+c1t0XT09PVVFLkxPQURFRCkpP1VFLkxPQURFRDpsLnNvbWUoKHQ9PnNbdF09PT1VRS5MT0FESU5HKSk/VUUuTE9BRElORzpVRS5OT1RfTE9BREVEfSkpLHR6PWJTKEtOLCgodCxlKT0+e2lmKCF0LmNhcmRNZXRhZGF0YU1hcC5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gbnVsbDtjb25zdHtwbHVnaW46bix0YWc6byxzYW1wbGU6aX09dC5jYXJkTWV0YWRhdGFNYXBbZV0sYT1GTih0LnRpbWVTZXJpZXNEYXRhLG4sbyxpKTtyZXR1cm4gYT9hLnJ1blRvU2VyaWVzOm51bGx9KSksZXo9YlMoS04sKHQ9PnQuY2FyZE1ldGFkYXRhTWFwKSksbno9YlMoZXosKCh0LGUpPT50Lmhhc093blByb3BlcnR5KGUpP3RbZV06bnVsbCkpLG96PWJTKEtOLCh0PT50LnZpc2libGVDYXJkTWFwKSksaXo9YlMob3osKHQ9Pm5ldyBTZXQodC52YWx1ZXMoKSkpKSxhej1iUyhRTixleiwoKHQsZSk9PnQuZmlsdGVyKCh0PT5lLmhhc093blByb3BlcnR5KHQpKSkubWFwKCh0PT5PYmplY3QuYXNzaWduKHtjYXJkSWQ6dH0sZVt0XSkpKSkpLHJ6PWJTKEtOLCgodCxlKT0+dC5jYXJkU3RlcEluZGV4Lmhhc093blByb3BlcnR5KGUpP3QuY2FyZFN0ZXBJbmRleFtlXTpudWxsKSksc3o9YlMoS04sKHQ9PnQuY2FyZFRvUGlubmVkQ29weSkpLGx6PWJTKEtOLCh0PT50LnBpbm5lZENhcmRUb09yaWdpbmFsKSksY3o9YlMoc3osZXosKCh0LGUpPT5bLi4udC52YWx1ZXMoKV0uZmlsdGVyKCh0PT5lLmhhc093blByb3BlcnR5KHQpKSkubWFwKCh0PT5PYmplY3QuYXNzaWduKHtjYXJkSWQ6dH0sZVt0XSkpKSkpLGR6PWJTKHN6LGx6LCgodCxlLG4pPT50LmhhcyhuKXx8ZS5oYXMobikpKSxwej1iUyhLTiwodD0+dC51bnJlc29sdmVkSW1wb3J0ZWRQaW5uZWRDYXJkcykpLG16PWJTKEtOLCh0PT5xTih0KSkpLGZ6PWJTKEtOLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZXR0aW5ncyksdC5zZXR0aW5nT3ZlcnJpZGVzKSkpLHV6PWJTKEtOLCh0PT50LnNldHRpbmdPdmVycmlkZXMpKSxnej1iUyhmeiwodD0+dC5jYXJkTWluV2lkdGgpKSxoej1iUyhmeiwodD0+dC50b29sdGlwU29ydCkpLGJ6PWJTKGZ6LCh0PT50Lmlnbm9yZU91dGxpZXJzKSkseXo9YlMoZnosKHQ9PnQueEF4aXNUeXBlKSksX3o9YlMoZnosKHQ9PnQuaGlzdG9ncmFtTW9kZSkpLEN6PWJTKGZ6LCh0PT50LnNjYWxhclNtb290aGluZykpLE16PWJTKGZ6LCh0PT50LnNjYWxhclBhcnRpdGlvbk5vbk1vbm90b25pY1gpKSx2ej1iUyhmeiwodD0+dC5pbWFnZUJyaWdodG5lc3NJbk1pbGxpKSkseHo9YlMoZnosKHQ9PnQuaW1hZ2VDb250cmFzdEluTWlsbGkpKSxPej1iUyhmeiwodD0+dC5pbWFnZVNob3dBY3R1YWxTaXplKSksUHo9YlMoS04sKHQ9PnQudGFnRmlsdGVyKSksd3o9YlMoS04sKCh0LGUpPT5Cb29sZWFuKHQudGFnR3JvdXBFeHBhbmRlZC5nZXQoZSkpKSksa3o9YlMoS04sKHQ9PnQuc2VsZWN0VGltZUVuYWJsZWQpKSxTej1iUyhLTiwodD0+dC51c2VSYW5nZVNlbGVjdFRpbWUpKSxEej1iUyhLTiwodD0+e2NvbnN0e21pbjplLG1heDpufT10LnN0ZXBNaW5NYXg7cmV0dXJue21pbjplPT09MS8wPzA6ZSxtYXg6bj09PS0xLzA/MWUzOm59fSkpLFJ6PWJTKEtOLER6LCgodCxlKT0+e3ZhciBuO3JldHVybiB0LnNlbGVjdGVkVGltZT9PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZWxlY3RlZFRpbWUpLHtlbmQ6bnVsbCE9PShuPXQuc2VsZWN0ZWRUaW1lLmVuZCkmJnZvaWQgMCE9PW4/bjp7c3RlcDplLm1heH19KTp7c3RhcnQ6e3N0ZXA6ZS5taW59LGVuZDp7c3RlcDplLm1heH19fSkpLEV6PWJTKEtOLFJ6LCgodCxlKT0+dC5zZWxlY3RUaW1lRW5hYmxlZD90LnVzZVJhbmdlU2VsZWN0VGltZT9lOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx7ZW5kOm51bGx9KTpudWxsKSksQXo9YlMoS04sKHQ9PnQuZmlsdGVyZWRQbHVnaW5UeXBlcykpLFR6PWJTKEtOLCh0PT50LnByb21vdGVUaW1lU2VyaWVzKSksTno9YlMoS04sKHQ9PnQuaXNTZXR0aW5nc1BhbmVPcGVuKSk7dmFyIHp6OyEoZnVuY3Rpb24odCl7dFt0Lk5PTkU9MF09Ik5PTkUiLHRbdC5XSEFUU19ORVc9MV09IldIQVRTX05FVyJ9KSh6enx8KHp6PXt9KSk7Y29uc3QgSXo9X1MoIm5vdGlmaWNhdGlvbiIpO2JTKEl6LCh0PT50Lm5vdGlmaWNhdGlvbnMpKSxiUyhJeiwodD0+e3ZhciBlO3JldHVybiBudWxsIT09KGU9dC5sYXN0UmVhZFRpbWVzdGFtcEluTXMpJiZ2b2lkIDAhPT1lP2U6LTF9KSk7Y29uc3QgSHo9InJ1bnMiO3ZhciBGeixMejtmdW5jdGlvbiBCeih0KXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodC5zbGljZSgpLnNvcnQoKSl9ZnVuY3Rpb24gVnoodCxlLG4pe2NvbnN0IG89e30saT1bXSxhPXttYXRjaGVzOm8sbm9uTWF0Y2hlczppfTtzd2l0Y2godC5rZXkpe2Nhc2UgTHouUlVOOmZvcihjb25zdCB0IG9mIGUpb1t0LmlkXT1bdF07YnJlYWs7Y2FzZSBMei5FWFBFUklNRU5UOmZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9blt0LmlkXSxpPW9bZV18fFtdO2kucHVzaCh0KSxvW2VdPWl9YnJlYWs7Y2FzZSBMei5SRUdFWDppZighdC5yZWdleFN0cmluZylicmVhaztsZXQgYTt0cnl7YT1uZXcgUmVnRXhwKHQucmVnZXhTdHJpbmcpfWNhdGNoKHQpe2JyZWFrfWZvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9dC5uYW1lLm1hdGNoKGEpO2lmKGUpe2NvbnN0IG49ZS5sZW5ndGg+MT9KU09OLnN0cmluZ2lmeShlLnNsaWNlKDEpKToicHNldWRvX2dyb3VwIixpPW9bbl18fFtdO2kucHVzaCh0KSxvW25dPWl9ZWxzZSBpLnB1c2godCl9fXJldHVybiBhfWZ1bmN0aW9uIGp6KHQsZSl7c3dpdGNoKHQpe2Nhc2UgTHouUkVHRVg6cmV0dXJue2tleTp0LHJlZ2V4U3RyaW5nOm51bGwhPWU/ZToiIn07Y2FzZSBMei5SVU46Y2FzZSBMei5FWFBFUklNRU5UOmRlZmF1bHQ6cmV0dXJue2tleTp0fX19IShmdW5jdGlvbih0KXt0W3QuRVhQRVJJTUVOVF9OQU1FPTBdPSJFWFBFUklNRU5UX05BTUUiLHRbdC5IUEFSQU09MV09IkhQQVJBTSIsdFt0Lk1FVFJJQz0yXT0iTUVUUklDIix0W3QuUlVOX05BTUU9M109IlJVTl9OQU1FIn0pKEZ6fHwoRno9e30pKSwoZnVuY3Rpb24odCl7dFt0LlJVTj0wXT0iUlVOIix0W3QuRVhQRVJJTUVOVD0xXT0iRVhQRVJJTUVOVCIsdFt0LlJFR0VYPTJdPSJSRUdFWCJ9KShMenx8KEx6PXt9KSk7Y29uc3QgVXo9X1MoSHopLFd6PWJTKFV6LCh0PT50LmRhdGEpKSxHej1iUyhXeiwoKHQsZSk9Pnt2YXIgbjtyZXR1cm4gbnVsbCE9PShuPXQucnVuSWRUb0V4cElkW2UucnVuSWRdKSYmdm9pZCAwIT09bj9uOm51bGx9KSksWXo9YlMoV3osKCh0LGUpPT57dmFyIG47cmV0dXJuIG51bGwhPT0obj10LnJ1bk1ldGFkYXRhW2UucnVuSWRdKSYmdm9pZCAwIT09bj9uOm51bGx9KSkscXo9YlMoV3osKCh0LGUpPT4odC5ydW5JZHNbZS5leHBlcmltZW50SWRdfHxbXSkuZmlsdGVyKChlPT5Cb29sZWFuKHQucnVuTWV0YWRhdGFbZV0pKSkubWFwKChlPT50LnJ1bk1ldGFkYXRhW2VdKSkpKSxaej1iUyhXeiwoKHQsZSk9Pnt2YXIgbjtyZXR1cm4gbnVsbCE9PShuPXQucnVuSWRzW2UuZXhwZXJpbWVudElkXSkmJnZvaWQgMCE9PW4/bjpbXX0pKSxYej1iUyhXeiwodD0+bmV3IE1hcChPYmplY3QuZW50cmllcyh0LnJ1bk1ldGFkYXRhKSkpKSxLej1iUyhXeiwoKHQsZSk9PnQucnVuc0xvYWRTdGF0ZVtlLmV4cGVyaW1lbnRJZF18fHtsYXN0TG9hZGVkVGltZUluTXM6bnVsbCxzdGF0ZTpVRS5OT1RfTE9BREVEfSkpLEp6PWJTKFd6LCgodCxlKT0+e2NvbnN0IG49QnooZS5leHBlcmltZW50SWRzKTtyZXR1cm4gdC5zZWxlY3Rpb25TdGF0ZS5nZXQobil8fG5ldyBNYXB9KSksUXo9YlMoV3osKHQ9Pm51bGwhPT10LnVzZXJTZXRHcm91cEJ5S2V5P2p6KHQudXNlclNldEdyb3VwQnlLZXksdC5jb2xvckdyb3VwUmVnZXhTdHJpbmcpOm51bGwpKSwkej1iUyhReixXeiwoKHQsZSk9Pm51bGwhPXQ/dDplLmluaXRpYWxHcm91cEJ5KSksdEk9YlMoV3osKHQ9PnQucmVnZXhGaWx0ZXIpKSxlST1iUyhVeiwodD0+dC51aSkpLG5JPWJTKGVJLCh0PT50LnBhZ2luYXRpb25PcHRpb24pKSxvST1iUyhlSSwodD0+dC5zb3J0KSksaUk9YlMoV3osKHQ9PnQucnVuQ29sb3JPdmVycmlkZUZvckdyb3VwQnkpKSxhST1iUyhXeiwodD0+dC5kZWZhdWx0UnVuQ29sb3JJZEZvckdyb3VwQnkpKSxyST1iUyhXeiwodD0+dC5jb2xvckdyb3VwUmVnZXhTdHJpbmcpKSxzST1faygiW1NldHRpbmdzXSBSZWxvYWQgRW5hYmxlIFRvZ2dsZWQiKSxsST1faygiW1NldHRpbmdzXSBSZWxvYWQgUGVyaW9kIENoYW5nZSIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLGNJPV9rKCJbU2V0dGluZ3NdIFBhZ2UgU2l6ZSBDaGFuZ2UiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxkST0ic2V0dGluZ3MiLHBJPXtzdGF0ZTpVRS5MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOkRhdGUubm93KCksc2V0dGluZ3M6e3JlbG9hZFBlcmlvZEluTXM6M2U0LHJlbG9hZEVuYWJsZWQ6ITEscGFnZVNpemU6MTIsY29sb3JQYWxldHRlOntpZDoiZGVmYXVsdCIsbmFtZToiRGVmYWx0Iixjb2xvcnM6W3tuYW1lOiJTbGF0ZSIsbGlnaHRIZXg6IiM0MjUwNjYiLGRhcmtIZXg6IiM4ZTk4YTMifSx7bmFtZToiQ3lhbiIsbGlnaHRIZXg6IiMxMmI1Y2IiLGRhcmtIZXg6IiMxMmI1Y2IifSx7bmFtZToiUGluayIsbGlnaHRIZXg6IiNlNTI1OTIiLGRhcmtIZXg6IiNlNTI1OTIifSx7bmFtZToiWWVsbG93IixsaWdodEhleDoiI2Y5YWIwMCIsZGFya0hleDoiI2Y5YWIwMCJ9LHtuYW1lOiJQdXJwbGUiLGxpZ2h0SGV4OiIjOTMzNGU2IixkYXJrSGV4OiIjOTMzNGU2In0se25hbWU6IkxpZ2h0IEdyZWVuIixsaWdodEhleDoiIzdjYjM0MiIsZGFya0hleDoiIzdjYjM0MiJ9LHtuYW1lOiJPcmFuZ2UiLGxpZ2h0SGV4OiIjZTg3MTBhIixkYXJrSGV4OiIjZTg3MTBhIn1dLGluYWN0aXZlOntuYW1lOiJHcmF5IixsaWdodEhleDoiI2UwZTBlMCIsZGFya0hleDoiIzNiM2IzYiJ9fX19LG1JPV9TKGRJKSxmST1iUyhtSSwodD0+dC5zdGF0ZSkpLHVJPWJTKG1JLCh0PT50LnNldHRpbmdzLnJlbG9hZEVuYWJsZWQpKSxnST1iUyhtSSwodD0+dC5zZXR0aW5ncy5yZWxvYWRQZXJpb2RJbk1zKSksaEk9YlMobUksKHQ9PnQuc2V0dGluZ3MucGFnZVNpemUpKSxiST1iUyhtSSwodD0+dC5zZXR0aW5ncy5jb2xvclBhbGV0dGUpKTtmdW5jdGlvbiB5SSh0LGUsbil7aWYoIWUpcmV0dXJuITA7bGV0IG87dHJ5e289bmV3IFJlZ0V4cChlLCJpIil9Y2F0Y2godCl7cmV0dXJuITF9Y29uc3QgaT1bdC5ydW5OYW1lXTtyZXR1cm4gbiYmaS5wdXNoKHQuZXhwZXJpbWVudEFsaWFzLmFsaWFzVGV4dCxgJHt0LmV4cGVyaW1lbnRBbGlhcy5hbGlhc1RleHR9LyR7dC5ydW5OYW1lfWApLGkuc29tZSgodD0+by50ZXN0KHQpKSl9Y29uc3QgX0k9YlMoKHQ9Pntjb25zdCBlPXhSKHQpO3JldHVybiBlP0p6KHQse2V4cGVyaW1lbnRJZHM6ZX0pOm51bGx9KSx0SSwodD0+e3ZhciBlO2NvbnN0IG49bnVsbCE9PShlPXhSKHQpKSYmdm9pZCAwIT09ZT9lOltdLG89T1IodCksaT1uZXcgTWFwO2Zvcihjb25zdCBlIG9mIG4pe2NvbnN0IG49cXoodCx7ZXhwZXJpbWVudElkOmV9KTtmb3IoY29uc3QgdCBvZiBuKWkuc2V0KHQuaWQse3J1bk5hbWU6dC5uYW1lLGV4cGVyaW1lbnRBbGlhczpvW2VdfSl9cmV0dXJuIGl9KSxNUiwoKHQsZSxuLG8pPT57aWYoIXQpcmV0dXJuIG51bGw7Y29uc3QgaT1vPT09X0QuQ09NUEFSRV9FWFBFUklNRU5ULGE9bmV3IE1hcDtmb3IoY29uc3RbbyxyXW9mIHQuZW50cmllcygpKXtjb25zdCB0PW4uZ2V0KG8pO2Euc2V0KG8seUkodCxlLGkpJiZyKX1yZXR1cm4gYX0pKSxDST1iUyhiSSxhSSxpSSxGRCwoKHQsZSxuLG8pPT57Y29uc3QgaT17fTtyZXR1cm4gZS5mb3JFYWNoKCgoZSxhKT0+e2xldCByPW8/dC5pbmFjdGl2ZS5kYXJrSGV4OnQuaW5hY3RpdmUubGlnaHRIZXg7aWYobi5oYXMoYSkpcj1uLmdldChhKTtlbHNlIGlmKGU+PTApe2NvbnN0IG49dC5jb2xvcnNbZSV0LmNvbG9ycy5sZW5ndGhdO3I9bz9uLmRhcmtIZXg6bi5saWdodEhleH1pW2FdPXJ9KSksaX0pKTtjbGFzcyBNSXtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5hY3Rpb25zJD10LHRoaXMuc3RvcmU9ZSx0aGlzLnJ1bnNEYXRhU291cmNlPW4sdGhpcy5sb2FkUnVuc09uUnVuVGFibGVTaG93biQ9V1MoKCgpPT50aGlzLmFjdGlvbnMkLnBpcGUoJFModlQpLCR0KCgoe2V4cGVyaW1lbnRJZHM6dH0pPT50aGlzLmdldEV4cGVyaW1lbnRzV2l0aExvYWRTdGF0ZSh0LCh0PT50PT09VUUuRkFJTEVEfHx0PT09VUUuTk9UX0xPQURFRCkpLnBpcGUodWUoKHQ9PiEhdC5sZW5ndGgpKSwkdCgoZT0+dGhpcy5mZXRjaEFsbFJ1bnNMaXN0KHQsZSkpKSkpKSkpLHtkaXNwYXRjaDohMX0pLHRoaXMuZXhwZXJpbWVudHNXaXRoU3RhbGVSdW5zT25Sb3V0ZUNoYW5nZSQ9dGhpcy5hY3Rpb25zJC5waXBlKCRTKHRSKSxxZSh0aGlzLnN0b3JlLnNlbGVjdChoUikpLHdlKCgoWyx0XSxbLGVdKT0+eEQodCxlKSkpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KHhSKSksdWUoKChbLHRdKT0+ISF0KSksVnQoKChbLHRdKT0+dCkpLCR0KCh0PT50aGlzLmdldEV4cGVyaW1lbnRzV2l0aExvYWRTdGF0ZSh0LCh0PT50PT09VUUuRkFJTEVEfHx0PT09VUUuTk9UX0xPQURFRCkpLnBpcGUoVnQoKGU9Pih7ZXhwZXJpbWVudElkczp0LGV4cGVyaW1lbnRJZHNUb0JlRmV0Y2hlZDplfSkpKSkpKSksdGhpcy5leHBlcmltZW50c1dpdGhTdGFsZVJ1bnNPblJlbG9hZCQ9dGhpcy5hY3Rpb25zJC5waXBlKCRTKFFFLEpFKSxxZSh0aGlzLnN0b3JlLnNlbGVjdCh4UikpLHVlKCgoWyx0XSk9PiEhdCkpLFZ0KCgoWyx0XSk9PnQpKSwkdCgodD0+dGhpcy5nZXRFeHBlcmltZW50c1dpdGhMb2FkU3RhdGUodCwodD0+dCE9PVVFLkxPQURJTkcpKS5waXBlKFZ0KChlPT4oe2V4cGVyaW1lbnRJZHM6dCxleHBlcmltZW50SWRzVG9CZUZldGNoZWQ6ZX0pKSkpKSkpLHRoaXMubG9hZFJ1bnNPbk5hdmlnYXRpb25PclJlbG9hZCQ9V1MoKCgpPT5wZSh0aGlzLmV4cGVyaW1lbnRzV2l0aFN0YWxlUnVuc09uUm91dGVDaGFuZ2UkLHRoaXMuZXhwZXJpbWVudHNXaXRoU3RhbGVSdW5zT25SZWxvYWQkKS5waXBlKCR0KCgoe2V4cGVyaW1lbnRJZHM6dCxleHBlcmltZW50SWRzVG9CZUZldGNoZWQ6ZX0pPT50aGlzLmZldGNoQWxsUnVuc0xpc3QodCxlKSkpKSkse2Rpc3BhdGNoOiExfSl9Z2V0UnVuc0xpc3RMb2FkU3RhdGUodCl7cmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEt6LHtleHBlcmltZW50SWQ6dH0pLnBpcGUodmUoMSkpfWdldEV4cGVyaW1lbnRzV2l0aExvYWRTdGF0ZSh0LGUpe3JldHVybiBpZSh0Lm1hcCgodD0+dGhpcy5nZXRSdW5zTGlzdExvYWRTdGF0ZSh0KSkpKS5waXBlKFZ0KChuPT50LmZpbHRlcigoKHQsbyk9PmUobltvXS5zdGF0ZSkpKSkpKX1mZXRjaEFsbFJ1bnNMaXN0KHQsZSl7cmV0dXJuIHp0KHtleHBlcmltZW50SWRzOnQsZXhwZXJpbWVudElkc1RvQmVGZXRjaGVkOmV9KS5waXBlKFdlKCgoKT0+e3RoaXMuc3RvcmUuZGlzcGF0Y2goZlQoe2V4cGVyaW1lbnRJZHM6dCxyZXF1ZXN0ZWRFeHBlcmltZW50SWRzOmV9KSl9KSksJHQoKCgpPT57Y29uc3Qgbj1uZXcgU2V0KGUpO3JldHVybiBpZSh0Lm1hcCgodD0+bi5oYXModCk/dGhpcy5mZXRjaFJ1bnNGb3JFeHBlcmltZW50KHQpOnRoaXMubWF5YmVXYWl0Rm9yUnVuc0FuZEdldFJ1bnModCkpKSl9KSksVnQoKHQ9Pntjb25zdCBlPXt9LG49W107Zm9yKGNvbnN0IG8gb2YgdCluLnB1c2goLi4uby5ydW5zKSxvLmZyb21SZW1vdGUmJihlW28uZXhwZXJpbWVudElkXT17cnVuczpvLnJ1bnMsbWV0YWRhdGE6by5tZXRhZGF0YX0pO3JldHVybntuZXdSdW5zQW5kTWV0YWRhdGE6ZSxydW5zRm9yQWxsRXhwZXJpbWVudHM6bn19KSksV2UoKCh7bmV3UnVuc0FuZE1ldGFkYXRhOmUscnVuc0ZvckFsbEV4cGVyaW1lbnRzOm59KT0+e3RoaXMuc3RvcmUuZGlzcGF0Y2godVQoe2V4cGVyaW1lbnRJZHM6dCxuZXdSdW5zQW5kTWV0YWRhdGE6ZSxydW5zRm9yQWxsRXhwZXJpbWVudHM6bn0pKX0pKSxoZSgobj0+KHRoaXMuc3RvcmUuZGlzcGF0Y2goZ1Qoe2V4cGVyaW1lbnRJZHM6dCxyZXF1ZXN0ZWRFeHBlcmltZW50SWRzOmV9KSksenQobnVsbCkpKSksVnQoKCgpPT5udWxsKSkpfW1heWJlV2FpdEZvclJ1bnNBbmRHZXRSdW5zKHQpe3JldHVybiB0aGlzLnN0b3JlLnNlbGVjdChLeix7ZXhwZXJpbWVudElkOnR9KS5waXBlKHVlKCh0PT50LnN0YXRlIT09VUUuTE9BRElORykpLHZlKDEpLCR0KCh0PT50LnN0YXRlPT09VUUuRkFJTEVEP0l0KG5ldyBFcnJvcigiUGVuZGluZyByZXF1ZXN0IGZhaWxlZCIpKTp6dCh0KSkpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KHF6LHtleHBlcmltZW50SWQ6dH0pKSxWdCgoKFssZV0pPT4oe2Zyb21SZW1vdGU6ITEsZXhwZXJpbWVudElkOnQscnVuczplfSkpKSl9ZmV0Y2hSdW5zRm9yRXhwZXJpbWVudCh0KXtyZXR1cm4gaWUoW3RoaXMucnVuc0RhdGFTb3VyY2UuZmV0Y2hSdW5zKHQpLHRoaXMucnVuc0RhdGFTb3VyY2UuZmV0Y2hIcGFyYW1zTWV0YWRhdGEodCldKS5waXBlKFZ0KCgoW2Usbl0pPT4oe2Zyb21SZW1vdGU6ITAsZXhwZXJpbWVudElkOnQscnVuczplLG1ldGFkYXRhOm59KSkpKX19dmFyIHZJLHhJO01JLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxNSSkoVHIoUVMpLFRyKGlTKSxUcihTVCkpfSxNSS7JtXByb3Y9U24oe3Rva2VuOk1JLGZhY3Rvcnk6TUkuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE1JLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpRU30se3R5cGU6aVN9LHt0eXBlOlNUfV19KSxudWxsKSwoZnVuY3Rpb24odCl7dC5BU0M9ImFzYyIsdC5ERVNDPSJkZXNjIix0LlVOU0VUPSIifSkodkl8fCh2ST17fSkpLChmdW5jdGlvbih0KXt0LkVYUEVSSU1FTlRfSUQ9ImlkIix0LlVTRVI9InVzZXIiLHQuQkVGT1JFPSJiZWZvcmUiLHQuQUZURVI9ImFmdGVyIix0LlJFR0VYPSJyZWdleCJ9KSh4SXx8KHhJPXt9KSk7Y29uc3R7aW5pdGlhbFN0YXRlOk9JLHJlZHVjZXJzOlBJfT1jQSh7cnVuQ29sb3JPdmVycmlkZUZvckdyb3VwQnk6bmV3IE1hcCxkZWZhdWx0UnVuQ29sb3JJZEZvckdyb3VwQnk6bmV3IE1hcCxncm91cEtleVRvQ29sb3JJZDpuZXcgTWFwLGluaXRpYWxHcm91cEJ5OntrZXk6THouUlVOfSx1c2VyU2V0R3JvdXBCeUtleTpudWxsLGNvbG9yR3JvdXBSZWdleFN0cmluZzoiIixyZWdleEZpbHRlcjoiIn0se3J1bklkczp7fSxydW5JZFRvRXhwSWQ6e30scnVuTWV0YWRhdGE6e30scnVuc0xvYWRTdGF0ZTp7fSxzZWxlY3Rpb25TdGF0ZTpuZXcgTWFwfSwoKHQsZSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7aW5pdGlhbEdyb3VwQnk6e2tleTplLnJvdXRlS2luZD09PV9ELkNPTVBBUkVfRVhQRVJJTUVOVD9Mei5FWFBFUklNRU5UOkx6LlJVTn19KSkpLHdJPVdBKFZTKE9JLEJTKEtELCgodCx7cm91dGVLaW5kOmUscGFydGlhbFN0YXRlOm59KT0+e3ZhciBvLGk7aWYoZSE9PV9ELkNPTVBBUkVfRVhQRVJJTUVOVCYmZSE9PV9ELkVYUEVSSU1FTlQpcmV0dXJuIHQ7Y29uc3QgYT1uLnJ1bnMuZ3JvdXBCeSxyPW51bGwhPT0obz1uLnJ1bnMucmVnZXhGaWx0ZXIpJiZ2b2lkIDAhPT1vP286IiI7aWYoIWEmJiFyKXJldHVybiB0O2xldHtjb2xvckdyb3VwUmVnZXhTdHJpbmc6cyx1c2VyU2V0R3JvdXBCeUtleTpsfT10O2lmKGEpe3M9YS5rZXk9PT1Mei5SRUdFWD9hLnJlZ2V4U3RyaW5nOnQuY29sb3JHcm91cFJlZ2V4U3RyaW5nLGw9bnVsbCE9PShpPWEua2V5KSYmdm9pZCAwIT09aT9pOm51bGx9cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7Y29sb3JHcm91cFJlZ2V4U3RyaW5nOnMscmVnZXhGaWx0ZXI6cix1c2VyU2V0R3JvdXBCeUtleTpsfSl9KSksQlMoZlQsKCh0LGUpPT57Y29uc3Qgbj1PYmplY3QuYXNzaWduKHt9LHQucnVuc0xvYWRTdGF0ZSk7Zm9yKGNvbnN0IHQgb2YgZS5yZXF1ZXN0ZWRFeHBlcmltZW50SWRzKW5bdF09blt0XT9PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sblt0XSkse3N0YXRlOlVFLkxPQURJTkd9KTp7bGFzdExvYWRlZFRpbWVJbk1zOm51bGwsc3RhdGU6VUUuTE9BRElOR307cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cnVuc0xvYWRTdGF0ZTpufSl9KSksQlModVQsKCh0LGUpPT57dmFyIG47Y29uc3Qgbz1PYmplY3QuYXNzaWduKHt9LHQucnVuSWRzKSxpPU9iamVjdC5hc3NpZ24oe30sdC5ydW5NZXRhZGF0YSksYT1PYmplY3QuYXNzaWduKHt9LHQucnVuSWRUb0V4cElkKSxyPU9iamVjdC5hc3NpZ24oe30sdC5ydW5zTG9hZFN0YXRlKSxzPW5ldyBNYXAodC5zZWxlY3Rpb25TdGF0ZSk7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMoZS5uZXdSdW5zQW5kTWV0YWRhdGEpKXtjb25zdHtydW5zOm4sbWV0YWRhdGE6c309ZS5uZXdSdW5zQW5kTWV0YWRhdGFbdF07b1t0XT1uLm1hcCgoKHtpZDp0fSk9PnQpKSxyW3RdPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxyW3RdKSx7bGFzdExvYWRlZFRpbWVJbk1zOkRhdGUubm93KCksc3RhdGU6VUUuTE9BREVEfSk7Zm9yKGNvbnN0IGUgb2Ygbil7Y29uc3Qgbj1zLnJ1blRvSHBhcmFtc0FuZE1ldHJpY3NbZS5pZF07aVtlLmlkXT1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse2hwYXJhbXM6bj9uLmhwYXJhbXM6bnVsbCxtZXRyaWNzOm4/bi5tZXRyaWNzOm51bGx9KSxhW2UuaWRdPXR9fWNvbnN0IGw9QnooZS5leHBlcmltZW50SWRzKSxjPW5ldyBNYXAobnVsbCE9PShuPXMuZ2V0KGwpKSYmdm9pZCAwIT09bj9uOltdKSxkPWUucnVuc0ZvckFsbEV4cGVyaW1lbnRzLmxlbmd0aDw9NTAwO2Zvcihjb25zdCB0IG9mIGUucnVuc0ZvckFsbEV4cGVyaW1lbnRzKWMuaGFzKHQuaWQpfHxjLnNldCh0LmlkLGQpO3JldHVybiBzLnNldChsLGMpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cnVuSWRzOm8scnVuSWRUb0V4cElkOmEscnVuTWV0YWRhdGE6aSxydW5zTG9hZFN0YXRlOnIsc2VsZWN0aW9uU3RhdGU6c30pfSkpLEJTKGdULCgodCxlKT0+e2NvbnN0IG49T2JqZWN0LmFzc2lnbih7fSx0LnJ1bnNMb2FkU3RhdGUpO2Zvcihjb25zdCB0IG9mIGUucmVxdWVzdGVkRXhwZXJpbWVudElkcyluW3RdPW5bdF0/T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG5bdF0pLHtzdGF0ZTpVRS5GQUlMRUR9KTp7bGFzdExvYWRlZFRpbWVJbk1zOm51bGwsc3RhdGU6VUUuRkFJTEVEfTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtydW5zTG9hZFN0YXRlOm59KX0pKSxCUyhoVCwoKHQse2V4cGVyaW1lbnRJZHM6ZSxydW5JZDpufSk9Pnt2YXIgbztjb25zdCBpPUJ6KGUpLGE9bmV3IE1hcCh0LnNlbGVjdGlvblN0YXRlKSxyPW5ldyBNYXAobnVsbCE9PShvPWEuZ2V0KGkpKSYmdm9pZCAwIT09bz9vOltdKTtyZXR1cm4gci5zZXQobiwhQm9vbGVhbihyLmdldChuKSkpLGEuc2V0KGksciksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZWxlY3Rpb25TdGF0ZTphfSl9KSksQlMoYlQsKCh0LHtleHBlcmltZW50SWRzOmUscnVuSWRzOm59KT0+e3ZhciBvO2NvbnN0IGk9QnooZSksYT1uZXcgTWFwKHQuc2VsZWN0aW9uU3RhdGUpLHI9bmV3IE1hcChudWxsIT09KG89YS5nZXQoaSkpJiZ2b2lkIDAhPT1vP286W10pLHM9IW4uZXZlcnkoKHQ9PkJvb2xlYW4oci5nZXQodCkpKSk7Zm9yKGNvbnN0IHQgb2YgbilyLnNldCh0LHMpO3JldHVybiBhLnNldChpLHIpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2VsZWN0aW9uU3RhdGU6YX0pfSkpLEJTKHVULCgodCx7cnVuc0ZvckFsbEV4cGVyaW1lbnRzOmV9KT0+e2NvbnN0IG49bmV3IE1hcCh0Lmdyb3VwS2V5VG9Db2xvcklkKSxvPW5ldyBNYXAodC5kZWZhdWx0UnVuQ29sb3JJZEZvckdyb3VwQnkpO2xldCBpPXQuaW5pdGlhbEdyb3VwQnk7bnVsbCE9PXQudXNlclNldEdyb3VwQnlLZXkmJihpPWp6KHQudXNlclNldEdyb3VwQnlLZXksdC5jb2xvckdyb3VwUmVnZXhTdHJpbmcpKTtjb25zdCBhPVZ6KGksZSx0LnJ1bklkVG9FeHBJZCk7T2JqZWN0LmVudHJpZXMoYS5tYXRjaGVzKS5mb3JFYWNoKCgoW3QsZV0pPT57dmFyIGk7Y29uc3QgYT1udWxsIT09KGk9bi5nZXQodCkpJiZ2b2lkIDAhPT1pP2k6bi5zaXplO24uc2V0KHQsYSk7Zm9yKGNvbnN0IHQgb2YgZSlvLnNldCh0LmlkLGEpfSkpO2Zvcihjb25zdCB0IG9mIGEubm9uTWF0Y2hlcylvLnNldCh0LmlkLC0xKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtkZWZhdWx0UnVuQ29sb3JJZEZvckdyb3VwQnk6byxncm91cEtleVRvQ29sb3JJZDpufSl9KSksQlMoeFQsKCh0LHtleHBlcmltZW50SWRzOmUsZ3JvdXBCeTpufSk9Pntjb25zdCBvPW5ldyBNYXAsaT1uZXcgTWFwKHQuZGVmYXVsdFJ1bkNvbG9ySWRGb3JHcm91cEJ5KSxhPVZ6KG4sZS5mbGF0TWFwKChlPT50LnJ1bklkc1tlXSkpLm1hcCgoZT0+dC5ydW5NZXRhZGF0YVtlXSkpLHQucnVuSWRUb0V4cElkKTtPYmplY3QuZW50cmllcyhhLm1hdGNoZXMpLmZvckVhY2goKChbdCxlXSk9Pnt2YXIgbjtjb25zdCBhPW51bGwhPT0obj1vLmdldCh0KSkmJnZvaWQgMCE9PW4/bjpvLnNpemU7by5zZXQodCxhKTtmb3IoY29uc3QgdCBvZiBlKWkuc2V0KHQuaWQsYSl9KSk7Zm9yKGNvbnN0IHQgb2YgYS5ub25NYXRjaGVzKWkuc2V0KHQuaWQsLTEpO2NvbnN0IHI9bi5rZXk9PT1Mei5SRUdFWD9uLnJlZ2V4U3RyaW5nOnQuY29sb3JHcm91cFJlZ2V4U3RyaW5nO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2NvbG9yR3JvdXBSZWdleFN0cmluZzpyLHVzZXJTZXRHcm91cEJ5S2V5Om4ua2V5LGRlZmF1bHRSdW5Db2xvcklkRm9yR3JvdXBCeTppLGdyb3VwS2V5VG9Db2xvcklkOm8scnVuQ29sb3JPdmVycmlkZUZvckdyb3VwQnk6bmV3IE1hcH0pfSkpLEJTKE1ULCgodCx7cnVuSWQ6ZSxuZXdDb2xvcjpufSk9Pntjb25zdCBvPW5ldyBNYXAodC5ydW5Db2xvck92ZXJyaWRlRm9yR3JvdXBCeSk7cmV0dXJuIG8uc2V0KGUsbiksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtydW5Db2xvck92ZXJyaWRlRm9yR3JvdXBCeTpvfSl9KSksQlMoQ1QsKCh0LGUpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3JlZ2V4RmlsdGVyOmUucmVnZXhTdHJpbmd9KSkpKSxQSSksa0k9e2tleTpudWxsLGRpcmVjdGlvbjp2SS5VTlNFVH0se2luaXRpYWxTdGF0ZTpTSSxyZWR1Y2VyczpESX09Y0Eoe3BhZ2luYXRpb25PcHRpb246e3BhZ2VJbmRleDowLHBhZ2VTaXplOjEwfSxzb3J0OmtJfSx7fSksUkk9V0EoVlMoU0ksQlMoeVQsKCh0LHtwYWdlU2l6ZTplLHBhZ2VJbmRleDpufSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cGFnaW5hdGlvbk9wdGlvbjp7cGFnZVNpemU6ZSxwYWdlSW5kZXg6bn19KSkpLEJTKENULCgodCxlKT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtwYWdpbmF0aW9uT3B0aW9uOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnBhZ2luYXRpb25PcHRpb24pLHtwYWdlSW5kZXg6MH0pfSkpKSxCUyhfVCwoKHQsZSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c29ydDp7a2V5OmUua2V5LGRpcmVjdGlvbjplLmRpcmVjdGlvbn19KSkpKSxESSk7ZnVuY3Rpb24gRUkodCxlKXtyZXR1cm4gR2soe2RhdGE6d0ksdWk6Ukl9KSh0LGUpfWZ1bmN0aW9uIEFJKCl7cmV0dXJuW3thY3Rpb25DcmVhdG9yOmdULGFsZXJ0RnJvbUFjdGlvbjooKT0+KHtsb2NhbGl6ZWRNZXNzYWdlOiJGYWlsZWQgdG8gZmV0Y2ggcnVucyJ9KX1dfWNsYXNzIFRJe312YXIgTkk7VEkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFRJKX0sVEkuybVtb2Q9Zm8oe3R5cGU6VEl9KSxUSS7JtWluaj1Ebih7aW1wb3J0czpbW1RTLmZvckZlYXR1cmUoSHosRUkpLGhELmZvckZlYXR1cmUoW01JXSksalQsbVQucmVnaXN0ZXJBbGVydEFjdGlvbnMoQUkpLExUXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFRJLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbVFMuZm9yRmVhdHVyZShIeixFSSksaEQuZm9yRmVhdHVyZShbTUldKSxqVCxtVC5yZWdpc3RlckFsZXJ0QWN0aW9ucyhBSSksTFRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oVEkse2ltcG9ydHM6W0FTLGdELGpULG1ULExUXX0pLChmdW5jdGlvbih0KXt0LlJVTlNfQ0hBTkdFRD0iZXhwZXJpbWVudGFsLlJ1bnNDaGFuZ2VkIix0LkdFVF9SVU5TPSJleHBlcmltZW50YWwuR2V0UnVucyIsdC5HRVRfVVJMX0RBVEE9ImV4cGVyaW1lbnRhbC5HZXRVUkxQbHVnaW5EYXRhIix0LkRBVEFfUkVMT0FERUQ9ImV4cGVyaW1lbnRhbC5EYXRhUmVsb2FkZWQifSkoTkl8fChOST17fSkpO2NsYXNzIHpJe2NvbnN0cnVjdG9yKHQpe3RoaXMucG9ydD10LHRoaXMuaWQ9MCx0aGlzLnJlc3BvbnNlV2FpdHM9bmV3IE1hcCx0aGlzLmxpc3RlbmVycz1uZXcgTWFwLHRoaXMucG9ydC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwodD0+dGhpcy5vbk1lc3NhZ2UodCkpKX1saXN0ZW4odCxlKXt0aGlzLmxpc3RlbmVycy5zZXQodCxlKX11bmxpc3Rlbih0KXt0aGlzLmxpc3RlbmVycy5kZWxldGUodCl9b25NZXNzYWdlKHQpe3JldHVybiBYVCh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0IGU9SlNPTi5wYXJzZSh0LmRhdGEpLG49ZS50eXBlLG89ZS5pZCxpPWUucGF5bG9hZCxhPWUuZXJyb3I7aWYoZS5pc1JlcGx5KXtpZighdGhpcy5yZXNwb25zZVdhaXRzLmhhcyhvKSlyZXR1cm47Y29uc3R7cmVzb2x2ZTp0LHJlamVjdDplfT10aGlzLnJlc3BvbnNlV2FpdHMuZ2V0KG8pO3JldHVybiB0aGlzLnJlc3BvbnNlV2FpdHMuZGVsZXRlKG8pLHZvaWQoYT9lKG5ldyBFcnJvcihhKSk6dChpKSl9bGV0IHI9bnVsbCxzPW51bGw7aWYodGhpcy5saXN0ZW5lcnMuaGFzKG4pKXtjb25zdCB0PXRoaXMubGlzdGVuZXJzLmdldChuKTt0cnl7cj15aWVsZCB0KGkpfWNhdGNoKHQpe3M9dH19dGhpcy5wb3N0TWVzc2FnZSh7dHlwZTpuLGlkOm8scGF5bG9hZDpyLGVycm9yOnMsaXNSZXBseTohMH0pfSkpfXBvc3RNZXNzYWdlKHQpe3RoaXMucG9ydC5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh0KSl9c2VuZE1lc3NhZ2UodCxlKXtjb25zdCBuPXRoaXMuaWQrKztyZXR1cm4gdGhpcy5wb3N0TWVzc2FnZSh7dHlwZTp0LGlkOm4scGF5bG9hZDplLGVycm9yOm51bGwsaXNSZXBseTohMX0pLG5ldyBQcm9taXNlKCgodCxlKT0+e3RoaXMucmVzcG9uc2VXYWl0cy5zZXQobix7cmVzb2x2ZTp0LHJlamVjdDplfSl9KSl9fWNvbnN0IElJPW5ldyBXZWFrTWFwLEhJPW5ldyBTZXQsRkk9bmV3IE1hcCxMST1uZXcgTWFwO2Z1bmN0aW9uIEJJKHQsZSl7cmV0dXJuIG49Pntjb25zdCBvPUxJLmdldChlKSxpPUlJLmdldChvKXx8bnVsbDtyZXR1cm4gdChpLG4pfX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKHQ9PntpZigiZXhwZXJpbWVudGFsLmJvb3RzdHJhcCIhPT10LmRhdGEpcmV0dXJuO2NvbnN0IGU9dC5wb3J0c1swXTtpZighZSlyZXR1cm47Y29uc3Qgbj10LnNvdXJjZT90LnNvdXJjZS5mcmFtZUVsZW1lbnQ6bnVsbDtuJiYoZnVuY3Rpb24gbyh0LGUpe2NvbnN0IG49bmV3IHpJKHQpO0hJLmFkZChuKSxMSS5zZXQobixlKSx0LnN0YXJ0KCk7Zm9yKGNvbnN0W3QsZV1vZiBGSSl7Y29uc3Qgbz1CSShlLG4pO24ubGlzdGVuKHQsbyl9fSkoZSxuKX0pKTtjbGFzcyBWSXticm9hZGNhc3QodCxlKXtyZXR1cm4oZnVuY3Rpb24gbih0LGUpe2Zvcihjb25zdCB0IG9mIEhJKUxJLmdldCh0KS5pc0Nvbm5lY3RlZHx8KEhJLmRlbGV0ZSh0KSxMSS5kZWxldGUodCkpO2NvbnN0IG49Wy4uLkhJXS5tYXAoKG49Pm4uc2VuZE1lc3NhZ2UodCxlKSkpO3JldHVybiBQcm9taXNlLmFsbChuKX0pKHQsZSl9bGlzdGVuKHQsZSl7IShmdW5jdGlvbiBuKHQsZSl7Rkkuc2V0KHQsZSk7Zm9yKGNvbnN0IG4gb2YgSEkpe2NvbnN0IG89QkkoZSxuKTtuLmxpc3Rlbih0LG8pfX0pKHQsZSl9dW5saXN0ZW4odCl7IShmdW5jdGlvbiBlKHQpe0ZJLmRlbGV0ZSh0KTtmb3IoY29uc3QgZSBvZiBISSllLnVubGlzdGVuKHQpfSkodCl9fVZJLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxWSSl9LFZJLsm1cHJvdj1Tbih7dG9rZW46VkksZmFjdG9yeTpWSS7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVkksW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjbGFzcyBqSXtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuaXBjPXQsdGhpcy5zdG9yZT1lfWluaXQoKXtjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRmLXN0b3JhZ2UiKTt0aGlzLmlwYy5saXN0ZW4oTkkuR0VUX1VSTF9EQVRBLChlPT57aWYoIWUpcmV0dXJuO2NvbnN0IG49YHAuJHtlLnBsdWdpbk5hbWV9LmAsbz17fSxpPXQudGZfc3RvcmFnZS5nZXRVcmxIYXNoRGljdCgpO2ZvcihsZXQgdCBpbiBpKWlmKHQuc3RhcnRzV2l0aChuKSl7b1t0LnN1YnN0cmluZyhuLmxlbmd0aCldPWlbdF19cmV0dXJuIG99KSksdGhpcy5zdG9yZS5zZWxlY3QodFQpLnBpcGUodWUoKHQ9Pm51bGwhPT10KSksd2UoKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuaXBjLmJyb2FkY2FzdChOSS5EQVRBX1JFTE9BREVELHZvaWQgMCl9KSl9fWpJLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxqSSkoVHIoVkkpLFRyKGlTKSl9LGpJLsm1cHJvdj1Tbih7dG9rZW46akksZmFjdG9yeTpqSS7JtWZhYyxwcm92aWRlZEluOiJyb290In0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoakksW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlZJfSx7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgVUl7Y29uc3RydWN0b3IodCxlKXt0aGlzLmlwYz10LHRoaXMuc3RvcmU9ZX1pbml0KCl7Y29uc3QgdD10aGlzLnN0b3JlLnNlbGVjdCh4UikucGlwZSgkdCgodD0+e2lmKCF0KXJldHVybiB6dChbXSk7cmV0dXJuIEt0KHQubWFwKCh0PT50aGlzLnN0b3JlLnNlbGVjdChxeix7ZXhwZXJpbWVudElkOnR9KSkpKS5waXBlKFZ0KCh0PT50LmZsYXQoKSkpLHdlKCgodCxlKT0+dC5sZW5ndGg9PT1lLmxlbmd0aCYmdC5ldmVyeSgoKHQsbik9PmVbbl0uaWQ9PT10LmlkKSkpKSxWdCgodD0+dC5tYXAoKCh7bmFtZTp0fSk9PnQpKSkpKX0pKSk7dC5zdWJzY3JpYmUoKHQ9Pnt0aGlzLmlwYy5icm9hZGNhc3QoTkkuUlVOU19DSEFOR0VELHQpfSkpLHRoaXMuaXBjLmxpc3RlbihOSS5HRVRfUlVOUywoKCk9PnQucGlwZSh2ZSgxKSkudG9Qcm9taXNlKCkpKX19VUkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFVJKShUcihWSSksVHIoaVMpKX0sVUkuybVwcm92PVNuKHt0b2tlbjpVSSxmYWN0b3J5OlVJLsm1ZmFjLHByb3ZpZGVkSW46InJvb3QifSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihVSSxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6Vkl9LHt0eXBlOmlTfV19KSxudWxsKTtjbGFzcyBXSXtjb25zdHJ1Y3Rvcih0LGUpe2UuaW5pdCgpLHQuaW5pdCgpfXJlZ2lzdGVyUGx1Z2luSWZyYW1lKHQsZSl7IShmdW5jdGlvbiBuKHQsZSl7SUkuc2V0KHQse3BsdWdpbk5hbWU6ZX0pfSkodCxlKX19V0kuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFdJKShUcihVSSksVHIoakkpKX0sV0kuybVtb2Q9Zm8oe3R5cGU6V0l9KSxXSS7JtWluaj1Ebih7cHJvdmlkZXJzOltWSSxqSSxVSV0saW1wb3J0czpbW1JSLGRULFRJXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFdJLFt7dHlwZTpMXyxhcmdzOlt7cHJvdmlkZXJzOltWSSxqSSxVSV0saW1wb3J0czpbUlIsZFQsVEldfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6VUl9LHt0eXBlOmpJfV19KSxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFdJLHtpbXBvcnRzOltSUixkVCxUSV19KTtjb25zdCBHST1faygiW0FsZXJ0XSBBbGVydCBSZXBvcnRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pO2NsYXNzIFlJe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmFjdGlvbnMkPXQsdGhpcy5zdG9yZT1lLHRoaXMuYWxlcnRBY3Rpb25Nb2R1bGU9bix0aGlzLnJlcG9ydFJlZ2lzdGVyZWRBY3Rpb25BbGVydHMkPVdTKCgoKT0+dGhpcy5hY3Rpb25zJC5waXBlKFdlKCh0PT57Y29uc3QgZT10aGlzLmFsZXJ0QWN0aW9uTW9kdWxlLmdldEFsZXJ0RnJvbUFjdGlvbih0KTtlJiZ0aGlzLnN0b3JlLmRpc3BhdGNoKEdJKGUpKX0pKSkpLHtkaXNwYXRjaDohMX0pfX1ZSS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WUkpKFRyKFFTKSxUcihpUyksVHIobVQpKX0sWUkuybVwcm92PVNuKHt0b2tlbjpZSSxmYWN0b3J5OllJLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihZSSxbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UVN9LHt0eXBlOmlTfSx7dHlwZTptVH1dfSksbnVsbCk7Y29uc3QgcUk9VlMoe2xhdGVzdEFsZXJ0Om51bGx9LEJTKEdJLCgodCx7bG9jYWxpemVkTWVzc2FnZTplLGZvbGxvd3VwQWN0aW9uOm59KT0+e2NvbnN0IG89e2xvY2FsaXplZE1lc3NhZ2U6ZSxjcmVhdGVkOkRhdGUubm93KCl9O3JldHVybiBuJiYoby5mb2xsb3d1cEFjdGlvbj1uKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2xhdGVzdEFsZXJ0Om99KX0pKSk7ZnVuY3Rpb24gWkkodCxlKXtyZXR1cm4gcUkodCxlKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgWEk9MTMsS0k9MjcsSkk9MzIsUUk9MzgsJEk9NDA7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiB0SCh0LC4uLmUpe3JldHVybiBlLmxlbmd0aD9lLnNvbWUoKGU9PnRbZV0pKTp0LmFsdEtleXx8dC5zaGlmdEtleXx8dC5jdHJsS2V5fHx0Lm1ldGFLZXl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIGVIKHQpe3JldHVybiBudWxsIT10JiYiZmFsc2UiIT1gJHt0fWB9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIG5IKHQsZT0wKXtyZXR1cm4gb0godCk/TnVtYmVyKHQpOmV9ZnVuY3Rpb24gb0godCl7cmV0dXJuIWlzTmFOKHBhcnNlRmxvYXQodCkpJiYhaXNOYU4oTnVtYmVyKHQpKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gaUgodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dDpbdF19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIGFIKHQpe3JldHVybiBudWxsPT10PyIiOiJzdHJpbmciPT10eXBlb2YgdD90OmAke3R9cHhgfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBySCh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIEtoP3QubmF0aXZlRWxlbWVudDp0fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9sZXQgc0gsbEg7dHJ5e3NIPSJ1bmRlZmluZWQiIT10eXBlb2YgSW50bCYmSW50bC52OEJyZWFrSXRlcmF0b3J9Y2F0Y2gobUN0KXtzSD0hMX1jbGFzcyBjSHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9wbGF0Zm9ybUlkPXQsdGhpcy5pc0Jyb3dzZXI9dGhpcy5fcGxhdGZvcm1JZD8oZnVuY3Rpb24gZSh0KXtyZXR1cm4gdD09PXN4fSkodGhpcy5fcGxhdGZvcm1JZCk6Im9iamVjdCI9PXR5cGVvZiBkb2N1bWVudCYmISFkb2N1bWVudCx0aGlzLkVER0U9dGhpcy5pc0Jyb3dzZXImJi8oZWRnZSkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHRoaXMuVFJJREVOVD10aGlzLmlzQnJvd3NlciYmLyhtc2llfHRyaWRlbnQpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx0aGlzLkJMSU5LPXRoaXMuaXNCcm93c2VyJiYhKCF3aW5kb3cuY2hyb21lJiYhc0gpJiYidW5kZWZpbmVkIiE9dHlwZW9mIENTUyYmIXRoaXMuRURHRSYmIXRoaXMuVFJJREVOVCx0aGlzLldFQktJVD10aGlzLmlzQnJvd3NlciYmL0FwcGxlV2ViS2l0L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmIXRoaXMuQkxJTksmJiF0aGlzLkVER0UmJiF0aGlzLlRSSURFTlQsdGhpcy5JT1M9dGhpcy5pc0Jyb3dzZXImJi9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiYhKCJNU1N0cmVhbSJpbiB3aW5kb3cpLHRoaXMuRklSRUZPWD10aGlzLmlzQnJvd3NlciYmLyhmaXJlZm94fG1pbmVmaWVsZCkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHRoaXMuQU5EUk9JRD10aGlzLmlzQnJvd3NlciYmL2FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiYhdGhpcy5UUklERU5ULHRoaXMuU0FGQVJJPXRoaXMuaXNCcm93c2VyJiYvc2FmYXJpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmdGhpcy5XRUJLSVR9fWNILsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxjSCkoVHIoWF8pKX0sY0guybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IGNIKFRyKFhfKSl9LHRva2VuOmNILHByb3ZpZGVkSW46InJvb3QifSksY0guY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpPYmplY3QsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbWF9dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGNILFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpPYmplY3QsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbWF9dfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgZEh7fWRILsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxkSCl9LGRILsm1bW9kPWZvKHt0eXBlOmRIfSksZEguybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZEgsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLG51bGwsbnVsbCk7Y29uc3QgcEg9WyJjb2xvciIsImJ1dHRvbiIsImNoZWNrYm94IiwiZGF0ZSIsImRhdGV0aW1lLWxvY2FsIiwiZW1haWwiLCJmaWxlIiwiaGlkZGVuIiwiaW1hZ2UiLCJtb250aCIsIm51bWJlciIsInBhc3N3b3JkIiwicmFkaW8iLCJyYW5nZSIsInJlc2V0Iiwic2VhcmNoIiwic3VibWl0IiwidGVsIiwidGV4dCIsInRpbWUiLCJ1cmwiLCJ3ZWVrIl07ZnVuY3Rpb24gbUgoKXtpZihsSClyZXR1cm4gbEg7aWYoIm9iamVjdCIhPXR5cGVvZiBkb2N1bWVudHx8IWRvY3VtZW50KXJldHVybiBsSD1uZXcgU2V0KHBIKSxsSDtsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO3JldHVybiBsSD1uZXcgU2V0KHBILmZpbHRlcigoZT0+KHQuc2V0QXR0cmlidXRlKCJ0eXBlIixlKSx0LnR5cGU9PT1lKSkpKSxsSH0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovbGV0IGZILHVILGdILGhIO2Z1bmN0aW9uIGJIKHQpe3JldHVybihmdW5jdGlvbiBlKCl7aWYobnVsbD09ZkgmJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93KXRyeXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCxPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6KCk9PmZIPSEwfSkpfWZpbmFsbHl7Zkg9Zkh8fCExfXJldHVybiBmSH0pKCk/dDohIXQuY2FwdHVyZX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24geUgoKXtpZihudWxsPT1nSCl7aWYoIm9iamVjdCIhPXR5cGVvZiBkb2N1bWVudHx8IWRvY3VtZW50fHwiZnVuY3Rpb24iIT10eXBlb2YgRWxlbWVudHx8IUVsZW1lbnQpcmV0dXJuIGdIPSExLGdIO2lmKCJzY3JvbGxCZWhhdmlvciJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUpZ0g9ITA7ZWxzZXtjb25zdCB0PUVsZW1lbnQucHJvdG90eXBlLnNjcm9sbFRvO2dIPSEhdCYmIS9ce1xzKlxbbmF0aXZlIGNvZGVcXVxzKlx9Ly50ZXN0KHQudG9TdHJpbmcoKSl9fXJldHVybiBnSH1mdW5jdGlvbiBfSCgpe2lmKCJvYmplY3QiIT10eXBlb2YgZG9jdW1lbnR8fCFkb2N1bWVudClyZXR1cm4gMDtpZihudWxsPT11SCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxlPXQuc3R5bGU7dC5kaXI9InJ0bCIsZS53aWR0aD0iMXB4IixlLm92ZXJmbG93PSJhdXRvIixlLnZpc2liaWxpdHk9ImhpZGRlbiIsZS5wb2ludGVyRXZlbnRzPSJub25lIixlLnBvc2l0aW9uPSJhYnNvbHV0ZSI7Y29uc3Qgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxvPW4uc3R5bGU7by53aWR0aD0iMnB4IixvLmhlaWdodD0iMXB4Iix0LmFwcGVuZENoaWxkKG4pLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCksdUg9MCwwPT09dC5zY3JvbGxMZWZ0JiYodC5zY3JvbGxMZWZ0PTEsdUg9MD09PXQuc2Nyb2xsTGVmdD8xOjIpLHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KX1yZXR1cm4gdUh9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIENIKHQpe2lmKChmdW5jdGlvbiBlKCl7aWYobnVsbD09aEgpe2NvbnN0IHQ9InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudD9kb2N1bWVudC5oZWFkOm51bGw7aEg9ISghdHx8IXQuY3JlYXRlU2hhZG93Um9vdCYmIXQuYXR0YWNoU2hhZG93KX1yZXR1cm4gaEh9KSgpKXtjb25zdCBlPXQuZ2V0Um9vdE5vZGU/dC5nZXRSb290Tm9kZSgpOm51bGw7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBTaGFkb3dSb290JiZTaGFkb3dSb290JiZlIGluc3RhbmNlb2YgU2hhZG93Um9vdClyZXR1cm4gZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBNSCgpe2xldCB0PSJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50P2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ6bnVsbDtmb3IoO3QmJnQuc2hhZG93Um9vdDspe2NvbnN0IGU9dC5zaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQ7aWYoZT09PXQpYnJlYWs7dD1lfXJldHVybiB0fWZ1bmN0aW9uIHZIKHQpe3JldHVybiB0LmNvbXBvc2VkUGF0aD90LmNvbXBvc2VkUGF0aCgpWzBdOnQudGFyZ2V0fWNsYXNzIHhIe2NyZWF0ZSh0KXtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXI/bnVsbDpuZXcgTXV0YXRpb25PYnNlcnZlcih0KX19eEguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHhIKX0seEguybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IHhIfSx0b2tlbjp4SCxwcm92aWRlZEluOiJyb290In0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeEgsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sbnVsbCxudWxsKTtjbGFzcyBPSHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9tdXRhdGlvbk9ic2VydmVyRmFjdG9yeT10LHRoaXMuX29ic2VydmVkRWxlbWVudHM9bmV3IE1hcH1uZ09uRGVzdHJveSgpe3RoaXMuX29ic2VydmVkRWxlbWVudHMuZm9yRWFjaCgoKHQsZSk9PnRoaXMuX2NsZWFudXBPYnNlcnZlcihlKSkpfW9ic2VydmUodCl7Y29uc3QgZT1ySCh0KTtyZXR1cm4gbmV3IFQoKHQ9Pntjb25zdCBuPXRoaXMuX29ic2VydmVFbGVtZW50KGUpLnN1YnNjcmliZSh0KTtyZXR1cm4oKT0+e24udW5zdWJzY3JpYmUoKSx0aGlzLl91bm9ic2VydmVFbGVtZW50KGUpfX0pKX1fb2JzZXJ2ZUVsZW1lbnQodCl7aWYodGhpcy5fb2JzZXJ2ZWRFbGVtZW50cy5oYXModCkpdGhpcy5fb2JzZXJ2ZWRFbGVtZW50cy5nZXQodCkuY291bnQrKztlbHNle2NvbnN0IGU9bmV3IEIsbj10aGlzLl9tdXRhdGlvbk9ic2VydmVyRmFjdG9yeS5jcmVhdGUoKHQ9PmUubmV4dCh0KSkpO24mJm4ub2JzZXJ2ZSh0LHtjaGFyYWN0ZXJEYXRhOiEwLGNoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSksdGhpcy5fb2JzZXJ2ZWRFbGVtZW50cy5zZXQodCx7b2JzZXJ2ZXI6bixzdHJlYW06ZSxjb3VudDoxfSl9cmV0dXJuIHRoaXMuX29ic2VydmVkRWxlbWVudHMuZ2V0KHQpLnN0cmVhbX1fdW5vYnNlcnZlRWxlbWVudCh0KXt0aGlzLl9vYnNlcnZlZEVsZW1lbnRzLmhhcyh0KSYmKHRoaXMuX29ic2VydmVkRWxlbWVudHMuZ2V0KHQpLmNvdW50LS0sdGhpcy5fb2JzZXJ2ZWRFbGVtZW50cy5nZXQodCkuY291bnR8fHRoaXMuX2NsZWFudXBPYnNlcnZlcih0KSl9X2NsZWFudXBPYnNlcnZlcih0KXtpZih0aGlzLl9vYnNlcnZlZEVsZW1lbnRzLmhhcyh0KSl7Y29uc3R7b2JzZXJ2ZXI6ZSxzdHJlYW06bn09dGhpcy5fb2JzZXJ2ZWRFbGVtZW50cy5nZXQodCk7ZSYmZS5kaXNjb25uZWN0KCksbi5jb21wbGV0ZSgpLHRoaXMuX29ic2VydmVkRWxlbWVudHMuZGVsZXRlKHQpfX19T0guybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE9IKShUcih4SCkpfSxPSC7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgT0goVHIoeEgpKX0sdG9rZW46T0gscHJvdmlkZWRJbjoicm9vdCJ9KSxPSC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnhIfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPSCxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6eEh9XX0pLG51bGwpO2NsYXNzIFBIe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9jb250ZW50T2JzZXJ2ZXI9dCx0aGlzLl9lbGVtZW50UmVmPWUsdGhpcy5fbmdab25lPW4sdGhpcy5ldmVudD1uZXcgU3ksdGhpcy5fZGlzYWJsZWQ9ITEsdGhpcy5fY3VycmVudFN1YnNjcmlwdGlvbj1udWxsfWdldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLl9kaXNhYmxlZH1zZXQgZGlzYWJsZWQodCl7dGhpcy5fZGlzYWJsZWQ9ZUgodCksdGhpcy5fZGlzYWJsZWQ/dGhpcy5fdW5zdWJzY3JpYmUoKTp0aGlzLl9zdWJzY3JpYmUoKX1nZXQgZGVib3VuY2UoKXtyZXR1cm4gdGhpcy5fZGVib3VuY2V9c2V0IGRlYm91bmNlKHQpe3RoaXMuX2RlYm91bmNlPW5IKHQpLHRoaXMuX3N1YnNjcmliZSgpfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX2N1cnJlbnRTdWJzY3JpcHRpb258fHRoaXMuZGlzYWJsZWR8fHRoaXMuX3N1YnNjcmliZSgpfW5nT25EZXN0cm95KCl7dGhpcy5fdW5zdWJzY3JpYmUoKX1fc3Vic2NyaWJlKCl7dGhpcy5fdW5zdWJzY3JpYmUoKTtjb25zdCB0PXRoaXMuX2NvbnRlbnRPYnNlcnZlci5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYpO3RoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9jdXJyZW50U3Vic2NyaXB0aW9uPSh0aGlzLmRlYm91bmNlP3QucGlwZShDZSh0aGlzLmRlYm91bmNlKSk6dCkuc3Vic2NyaWJlKHRoaXMuZXZlbnQpfSkpfV91bnN1YnNjcmliZSgpe3ZhciB0O251bGw9PT0odD10aGlzLl9jdXJyZW50U3Vic2NyaXB0aW9uKXx8dm9pZCAwPT09dHx8dC51bnN1YnNjcmliZSgpfX1QSC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UEgpKGdmKE9IKSxnZihLaCksZ2YobUMpKX0sUEguybVkaXI9aG8oe3R5cGU6UEgsc2VsZWN0b3JzOltbIiIsImNka09ic2VydmVDb250ZW50IiwiIl1dLGlucHV0czp7ZGlzYWJsZWQ6WyJjZGtPYnNlcnZlQ29udGVudERpc2FibGVkIiwiZGlzYWJsZWQiXSxkZWJvdW5jZToiZGVib3VuY2UifSxvdXRwdXRzOntldmVudDoiY2RrT2JzZXJ2ZUNvbnRlbnQifSxleHBvcnRBczpbImNka09ic2VydmVDb250ZW50Il19KSxQSC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOk9IfSx7dHlwZTpLaH0se3R5cGU6bUN9XSxQSC5wcm9wRGVjb3JhdG9ycz17ZXZlbnQ6W3t0eXBlOkVfLGFyZ3M6WyJjZGtPYnNlcnZlQ29udGVudCJdfV0sZGlzYWJsZWQ6W3t0eXBlOlJfLGFyZ3M6WyJjZGtPYnNlcnZlQ29udGVudERpc2FibGVkIl19XSxkZWJvdW5jZTpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihQSCxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbY2RrT2JzZXJ2ZUNvbnRlbnRdIixleHBvcnRBczoiY2RrT2JzZXJ2ZUNvbnRlbnQifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6T0h9LHt0eXBlOktofSx7dHlwZTptQ31dfSkse2V2ZW50Olt7dHlwZTpFXyxhcmdzOlsiY2RrT2JzZXJ2ZUNvbnRlbnQiXX1dLGRpc2FibGVkOlt7dHlwZTpSXyxhcmdzOlsiY2RrT2JzZXJ2ZUNvbnRlbnREaXNhYmxlZCJdfV0sZGVib3VuY2U6W3t0eXBlOlJffV19KTtjbGFzcyB3SHt9d0guybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHdIKX0sd0guybVtb2Q9Zm8oe3R5cGU6d0h9KSx3SC7JtWluaj1Ebih7cHJvdmlkZXJzOlt4SF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHdILFt7dHlwZTpMXyxhcmdzOlt7ZXhwb3J0czpbUEhdLGRlY2xhcmF0aW9uczpbUEhdLHByb3ZpZGVyczpbeEhdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8od0gse2RlY2xhcmF0aW9uczpbUEhdLGV4cG9ydHM6W1BIXX0pO2Z1bmN0aW9uIGtIKHQsZSl7cmV0dXJuKHQuZ2V0QXR0cmlidXRlKGUpfHwiIikubWF0Y2goL1xTKy9nKXx8W119Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFNIPSJjZGstZGVzY3JpYmVkYnktbWVzc2FnZS1jb250YWluZXIiLERIPSJjZGstZGVzY3JpYmVkYnktbWVzc2FnZSIsUkg9ImNkay1kZXNjcmliZWRieS1ob3N0IjtsZXQgRUg9MDtjb25zdCBBSD1uZXcgTWFwO2xldCBUSD1udWxsO2NsYXNzIE5Ie2NvbnN0cnVjdG9yKHQpe3RoaXMuX2RvY3VtZW50PXR9ZGVzY3JpYmUodCxlLG4pe2lmKCF0aGlzLl9jYW5CZURlc2NyaWJlZCh0LGUpKXJldHVybjtjb25zdCBvPXpIKGUsbik7InN0cmluZyIhPXR5cGVvZiBlPyhJSChlKSxBSC5zZXQobyx7bWVzc2FnZUVsZW1lbnQ6ZSxyZWZlcmVuY2VDb3VudDowfSkpOkFILmhhcyhvKXx8dGhpcy5fY3JlYXRlTWVzc2FnZUVsZW1lbnQoZSxuKSx0aGlzLl9pc0VsZW1lbnREZXNjcmliZWRCeU1lc3NhZ2UodCxvKXx8dGhpcy5fYWRkTWVzc2FnZVJlZmVyZW5jZSh0LG8pfXJlbW92ZURlc2NyaXB0aW9uKHQsZSxuKXtpZighZXx8IXRoaXMuX2lzRWxlbWVudE5vZGUodCkpcmV0dXJuO2NvbnN0IG89ekgoZSxuKTtpZih0aGlzLl9pc0VsZW1lbnREZXNjcmliZWRCeU1lc3NhZ2UodCxvKSYmdGhpcy5fcmVtb3ZlTWVzc2FnZVJlZmVyZW5jZSh0LG8pLCJzdHJpbmciPT10eXBlb2YgZSl7Y29uc3QgdD1BSC5nZXQobyk7dCYmMD09PXQucmVmZXJlbmNlQ291bnQmJnRoaXMuX2RlbGV0ZU1lc3NhZ2VFbGVtZW50KG8pfVRIJiYwPT09VEguY2hpbGROb2Rlcy5sZW5ndGgmJnRoaXMuX2RlbGV0ZU1lc3NhZ2VzQ29udGFpbmVyKCl9bmdPbkRlc3Ryb3koKXtjb25zdCB0PXRoaXMuX2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltjZGstZGVzY3JpYmVkYnktaG9zdF0iKTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKyl0aGlzLl9yZW1vdmVDZGtEZXNjcmliZWRCeVJlZmVyZW5jZUlkcyh0W2VdKSx0W2VdLnJlbW92ZUF0dHJpYnV0ZShSSCk7VEgmJnRoaXMuX2RlbGV0ZU1lc3NhZ2VzQ29udGFpbmVyKCksQUguY2xlYXIoKX1fY3JlYXRlTWVzc2FnZUVsZW1lbnQodCxlKXtjb25zdCBuPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO0lIKG4pLG4udGV4dENvbnRlbnQ9dCxlJiZuLnNldEF0dHJpYnV0ZSgicm9sZSIsZSksdGhpcy5fY3JlYXRlTWVzc2FnZXNDb250YWluZXIoKSxUSC5hcHBlbmRDaGlsZChuKSxBSC5zZXQoekgodCxlKSx7bWVzc2FnZUVsZW1lbnQ6bixyZWZlcmVuY2VDb3VudDowfSl9X2RlbGV0ZU1lc3NhZ2VFbGVtZW50KHQpe2NvbnN0IGU9QUguZ2V0KHQpLG49ZSYmZS5tZXNzYWdlRWxlbWVudDtUSCYmbiYmVEgucmVtb3ZlQ2hpbGQobiksQUguZGVsZXRlKHQpfV9jcmVhdGVNZXNzYWdlc0NvbnRhaW5lcigpe2lmKCFUSCl7Y29uc3QgdD10aGlzLl9kb2N1bWVudC5nZXRFbGVtZW50QnlJZChTSCk7dCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksVEg9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksVEguaWQ9U0gsVEguc3R5bGUudmlzaWJpbGl0eT0iaGlkZGVuIixUSC5jbGFzc0xpc3QuYWRkKCJjZGstdmlzdWFsbHktaGlkZGVuIiksdGhpcy5fZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChUSCl9fV9kZWxldGVNZXNzYWdlc0NvbnRhaW5lcigpe1RIJiZUSC5wYXJlbnROb2RlJiYoVEgucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChUSCksVEg9bnVsbCl9X3JlbW92ZUNka0Rlc2NyaWJlZEJ5UmVmZXJlbmNlSWRzKHQpe2NvbnN0IGU9a0godCwiYXJpYS1kZXNjcmliZWRieSIpLmZpbHRlcigodD0+MCE9dC5pbmRleE9mKERIKSkpO3Quc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5IixlLmpvaW4oIiAiKSl9X2FkZE1lc3NhZ2VSZWZlcmVuY2UodCxlKXtjb25zdCBuPUFILmdldChlKTshKGZ1bmN0aW9uIG8odCxlLG4pe2NvbnN0IG89a0godCxlKTtvLnNvbWUoKHQ9PnQudHJpbSgpPT1uLnRyaW0oKSkpfHwoby5wdXNoKG4udHJpbSgpKSx0LnNldEF0dHJpYnV0ZShlLG8uam9pbigiICIpKSl9KSh0LCJhcmlhLWRlc2NyaWJlZGJ5IixuLm1lc3NhZ2VFbGVtZW50LmlkKSx0LnNldEF0dHJpYnV0ZShSSCwiIiksbi5yZWZlcmVuY2VDb3VudCsrfV9yZW1vdmVNZXNzYWdlUmVmZXJlbmNlKHQsZSl7Y29uc3Qgbj1BSC5nZXQoZSk7bi5yZWZlcmVuY2VDb3VudC0tLChmdW5jdGlvbiBvKHQsZSxuKXtjb25zdCBvPWtIKHQsZSkuZmlsdGVyKCh0PT50IT1uLnRyaW0oKSkpO28ubGVuZ3RoP3Quc2V0QXR0cmlidXRlKGUsby5qb2luKCIgIikpOnQucmVtb3ZlQXR0cmlidXRlKGUpfSkodCwiYXJpYS1kZXNjcmliZWRieSIsbi5tZXNzYWdlRWxlbWVudC5pZCksdC5yZW1vdmVBdHRyaWJ1dGUoUkgpfV9pc0VsZW1lbnREZXNjcmliZWRCeU1lc3NhZ2UodCxlKXtjb25zdCBuPWtIKHQsImFyaWEtZGVzY3JpYmVkYnkiKSxvPUFILmdldChlKSxpPW8mJm8ubWVzc2FnZUVsZW1lbnQuaWQ7cmV0dXJuISFpJiYtMSE9bi5pbmRleE9mKGkpfV9jYW5CZURlc2NyaWJlZCh0LGUpe2lmKCF0aGlzLl9pc0VsZW1lbnROb2RlKHQpKXJldHVybiExO2lmKGUmJiJvYmplY3QiPT10eXBlb2YgZSlyZXR1cm4hMDtjb25zdCBuPW51bGw9PWU/IiI6YCR7ZX1gLnRyaW0oKSxvPXQuZ2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIik7cmV0dXJuISFuJiYoIW98fG8udHJpbSgpIT09bil9X2lzRWxlbWVudE5vZGUodCl7cmV0dXJuIHQubm9kZVR5cGU9PT10aGlzLl9kb2N1bWVudC5FTEVNRU5UX05PREV9fWZ1bmN0aW9uIHpIKHQsZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P2Ake2V8fCIifS8ke3R9YDp0fWZ1bmN0aW9uIElIKHQpe3QuaWR8fCh0LmlkPSJjZGstZGVzY3JpYmVkYnktbWVzc2FnZS0iK0VIKyspfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9OSC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TkgpKFRyKHNNKSl9LE5ILsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyBOSChUcihzTSkpfSx0b2tlbjpOSCxwcm92aWRlZEluOiJyb290In0pLE5ILmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihOSCxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjbGFzcyBISHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9pdGVtcz10LHRoaXMuX2FjdGl2ZUl0ZW1JbmRleD0tMSx0aGlzLl9hY3RpdmVJdGVtPW51bGwsdGhpcy5fd3JhcD0hMSx0aGlzLl9sZXR0ZXJLZXlTdHJlYW09bmV3IEIsdGhpcy5fdHlwZWFoZWFkU3Vic2NyaXB0aW9uPXUuRU1QVFksdGhpcy5fdmVydGljYWw9ITAsdGhpcy5fYWxsb3dlZE1vZGlmaWVyS2V5cz1bXSx0aGlzLl9ob21lQW5kRW5kPSExLHRoaXMuX3NraXBQcmVkaWNhdGVGbj10PT50LmRpc2FibGVkLHRoaXMuX3ByZXNzZWRMZXR0ZXJzPVtdLHRoaXMudGFiT3V0PW5ldyBCLHRoaXMuY2hhbmdlPW5ldyBCLHQgaW5zdGFuY2VvZiBSeSYmdC5jaGFuZ2VzLnN1YnNjcmliZSgodD0+e2lmKHRoaXMuX2FjdGl2ZUl0ZW0pe2NvbnN0IGU9dC50b0FycmF5KCkuaW5kZXhPZih0aGlzLl9hY3RpdmVJdGVtKTtlPi0xJiZlIT09dGhpcy5fYWN0aXZlSXRlbUluZGV4JiYodGhpcy5fYWN0aXZlSXRlbUluZGV4PWUpfX0pKX1za2lwUHJlZGljYXRlKHQpe3JldHVybiB0aGlzLl9za2lwUHJlZGljYXRlRm49dCx0aGlzfXdpdGhXcmFwKHQ9ITApe3JldHVybiB0aGlzLl93cmFwPXQsdGhpc313aXRoVmVydGljYWxPcmllbnRhdGlvbih0PSEwKXtyZXR1cm4gdGhpcy5fdmVydGljYWw9dCx0aGlzfXdpdGhIb3Jpem9udGFsT3JpZW50YXRpb24odCl7cmV0dXJuIHRoaXMuX2hvcml6b250YWw9dCx0aGlzfXdpdGhBbGxvd2VkTW9kaWZpZXJLZXlzKHQpe3JldHVybiB0aGlzLl9hbGxvd2VkTW9kaWZpZXJLZXlzPXQsdGhpc313aXRoVHlwZUFoZWFkKHQ9MjAwKXtpZigoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJnRoaXMuX2l0ZW1zLmxlbmd0aCYmdGhpcy5faXRlbXMuc29tZSgodD0+ImZ1bmN0aW9uIiE9dHlwZW9mIHQuZ2V0TGFiZWwpKSl0aHJvdyBFcnJvcigiTGlzdEtleU1hbmFnZXIgaXRlbXMgaW4gdHlwZWFoZWFkIG1vZGUgbXVzdCBpbXBsZW1lbnQgdGhlIGBnZXRMYWJlbGAgbWV0aG9kLiIpO3JldHVybiB0aGlzLl90eXBlYWhlYWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl90eXBlYWhlYWRTdWJzY3JpcHRpb249dGhpcy5fbGV0dGVyS2V5U3RyZWFtLnBpcGUoV2UoKHQ9PnRoaXMuX3ByZXNzZWRMZXR0ZXJzLnB1c2godCkpKSxDZSh0KSx1ZSgoKCk9PnRoaXMuX3ByZXNzZWRMZXR0ZXJzLmxlbmd0aD4wKSksVnQoKCgpPT50aGlzLl9wcmVzc2VkTGV0dGVycy5qb2luKCIiKSkpKS5zdWJzY3JpYmUoKHQ9Pntjb25zdCBlPXRoaXMuX2dldEl0ZW1zQXJyYXkoKTtmb3IobGV0IG49MTtuPGUubGVuZ3RoKzE7bisrKXtjb25zdCBvPSh0aGlzLl9hY3RpdmVJdGVtSW5kZXgrbiklZS5sZW5ndGgsaT1lW29dO2lmKCF0aGlzLl9za2lwUHJlZGljYXRlRm4oaSkmJjA9PT1pLmdldExhYmVsKCkudG9VcHBlckNhc2UoKS50cmltKCkuaW5kZXhPZih0KSl7dGhpcy5zZXRBY3RpdmVJdGVtKG8pO2JyZWFrfX10aGlzLl9wcmVzc2VkTGV0dGVycz1bXX0pKSx0aGlzfXdpdGhIb21lQW5kRW5kKHQ9ITApe3JldHVybiB0aGlzLl9ob21lQW5kRW5kPXQsdGhpc31zZXRBY3RpdmVJdGVtKHQpe2NvbnN0IGU9dGhpcy5fYWN0aXZlSXRlbTt0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW0odCksdGhpcy5fYWN0aXZlSXRlbSE9PWUmJnRoaXMuY2hhbmdlLm5leHQodGhpcy5fYWN0aXZlSXRlbUluZGV4KX1vbktleWRvd24odCl7Y29uc3QgZT10LmtleUNvZGUsbj1bImFsdEtleSIsImN0cmxLZXkiLCJtZXRhS2V5Iiwic2hpZnRLZXkiXS5ldmVyeSgoZT0+IXRbZV18fHRoaXMuX2FsbG93ZWRNb2RpZmllcktleXMuaW5kZXhPZihlKT4tMSkpO3N3aXRjaChlKXtjYXNlIDk6cmV0dXJuIHZvaWQgdGhpcy50YWJPdXQubmV4dCgpO2Nhc2UgJEk6aWYodGhpcy5fdmVydGljYWwmJm4pe3RoaXMuc2V0TmV4dEl0ZW1BY3RpdmUoKTticmVha31yZXR1cm47Y2FzZSBRSTppZih0aGlzLl92ZXJ0aWNhbCYmbil7dGhpcy5zZXRQcmV2aW91c0l0ZW1BY3RpdmUoKTticmVha31yZXR1cm47Y2FzZSAzOTppZih0aGlzLl9ob3Jpem9udGFsJiZuKXsicnRsIj09PXRoaXMuX2hvcml6b250YWw/dGhpcy5zZXRQcmV2aW91c0l0ZW1BY3RpdmUoKTp0aGlzLnNldE5leHRJdGVtQWN0aXZlKCk7YnJlYWt9cmV0dXJuO2Nhc2UgMzc6aWYodGhpcy5faG9yaXpvbnRhbCYmbil7InJ0bCI9PT10aGlzLl9ob3Jpem9udGFsP3RoaXMuc2V0TmV4dEl0ZW1BY3RpdmUoKTp0aGlzLnNldFByZXZpb3VzSXRlbUFjdGl2ZSgpO2JyZWFrfXJldHVybjtjYXNlIDM2OmlmKHRoaXMuX2hvbWVBbmRFbmQmJm4pe3RoaXMuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7YnJlYWt9cmV0dXJuO2Nhc2UgMzU6aWYodGhpcy5faG9tZUFuZEVuZCYmbil7dGhpcy5zZXRMYXN0SXRlbUFjdGl2ZSgpO2JyZWFrfXJldHVybjtkZWZhdWx0OnJldHVybiB2b2lkKChufHx0SCh0LCJzaGlmdEtleSIpKSYmKHQua2V5JiYxPT09dC5rZXkubGVuZ3RoP3RoaXMuX2xldHRlcktleVN0cmVhbS5uZXh0KHQua2V5LnRvTG9jYWxlVXBwZXJDYXNlKCkpOihlPj02NSYmZTw9OTB8fGU+PTQ4JiZlPD01NykmJnRoaXMuX2xldHRlcktleVN0cmVhbS5uZXh0KFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpKSl9dGhpcy5fcHJlc3NlZExldHRlcnM9W10sdC5wcmV2ZW50RGVmYXVsdCgpfWdldCBhY3RpdmVJdGVtSW5kZXgoKXtyZXR1cm4gdGhpcy5fYWN0aXZlSXRlbUluZGV4fWdldCBhY3RpdmVJdGVtKCl7cmV0dXJuIHRoaXMuX2FjdGl2ZUl0ZW19aXNUeXBpbmcoKXtyZXR1cm4gdGhpcy5fcHJlc3NlZExldHRlcnMubGVuZ3RoPjB9c2V0Rmlyc3RJdGVtQWN0aXZlKCl7dGhpcy5fc2V0QWN0aXZlSXRlbUJ5SW5kZXgoMCwxKX1zZXRMYXN0SXRlbUFjdGl2ZSgpe3RoaXMuX3NldEFjdGl2ZUl0ZW1CeUluZGV4KHRoaXMuX2l0ZW1zLmxlbmd0aC0xLC0xKX1zZXROZXh0SXRlbUFjdGl2ZSgpe3RoaXMuX2FjdGl2ZUl0ZW1JbmRleDwwP3RoaXMuc2V0Rmlyc3RJdGVtQWN0aXZlKCk6dGhpcy5fc2V0QWN0aXZlSXRlbUJ5RGVsdGEoMSl9c2V0UHJldmlvdXNJdGVtQWN0aXZlKCl7dGhpcy5fYWN0aXZlSXRlbUluZGV4PDAmJnRoaXMuX3dyYXA/dGhpcy5zZXRMYXN0SXRlbUFjdGl2ZSgpOnRoaXMuX3NldEFjdGl2ZUl0ZW1CeURlbHRhKC0xKX11cGRhdGVBY3RpdmVJdGVtKHQpe2NvbnN0IGU9dGhpcy5fZ2V0SXRlbXNBcnJheSgpLG49Im51bWJlciI9PXR5cGVvZiB0P3Q6ZS5pbmRleE9mKHQpLG89ZVtuXTt0aGlzLl9hY3RpdmVJdGVtPW51bGw9PW8/bnVsbDpvLHRoaXMuX2FjdGl2ZUl0ZW1JbmRleD1ufV9zZXRBY3RpdmVJdGVtQnlEZWx0YSh0KXt0aGlzLl93cmFwP3RoaXMuX3NldEFjdGl2ZUluV3JhcE1vZGUodCk6dGhpcy5fc2V0QWN0aXZlSW5EZWZhdWx0TW9kZSh0KX1fc2V0QWN0aXZlSW5XcmFwTW9kZSh0KXtjb25zdCBlPXRoaXMuX2dldEl0ZW1zQXJyYXkoKTtmb3IobGV0IG49MTtuPD1lLmxlbmd0aDtuKyspe2NvbnN0IG89KHRoaXMuX2FjdGl2ZUl0ZW1JbmRleCt0Km4rZS5sZW5ndGgpJWUubGVuZ3RoO2lmKCF0aGlzLl9za2lwUHJlZGljYXRlRm4oZVtvXSkpcmV0dXJuIHZvaWQgdGhpcy5zZXRBY3RpdmVJdGVtKG8pfX1fc2V0QWN0aXZlSW5EZWZhdWx0TW9kZSh0KXt0aGlzLl9zZXRBY3RpdmVJdGVtQnlJbmRleCh0aGlzLl9hY3RpdmVJdGVtSW5kZXgrdCx0KX1fc2V0QWN0aXZlSXRlbUJ5SW5kZXgodCxlKXtjb25zdCBuPXRoaXMuX2dldEl0ZW1zQXJyYXkoKTtpZihuW3RdKXtmb3IoO3RoaXMuX3NraXBQcmVkaWNhdGVGbihuW3RdKTspaWYoIW5bdCs9ZV0pcmV0dXJuO3RoaXMuc2V0QWN0aXZlSXRlbSh0KX19X2dldEl0ZW1zQXJyYXkoKXtyZXR1cm4gdGhpcy5faXRlbXMgaW5zdGFuY2VvZiBSeT90aGlzLl9pdGVtcy50b0FycmF5KCk6dGhpcy5faXRlbXN9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBGSCBleHRlbmRzIEhIe3NldEFjdGl2ZUl0ZW0odCl7dGhpcy5hY3RpdmVJdGVtJiZ0aGlzLmFjdGl2ZUl0ZW0uc2V0SW5hY3RpdmVTdHlsZXMoKSxzdXBlci5zZXRBY3RpdmVJdGVtKHQpLHRoaXMuYWN0aXZlSXRlbSYmdGhpcy5hY3RpdmVJdGVtLnNldEFjdGl2ZVN0eWxlcygpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgTEggZXh0ZW5kcyBISHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb3JpZ2luPSJwcm9ncmFtIn1zZXRGb2N1c09yaWdpbih0KXtyZXR1cm4gdGhpcy5fb3JpZ2luPXQsdGhpc31zZXRBY3RpdmVJdGVtKHQpe3N1cGVyLnNldEFjdGl2ZUl0ZW0odCksdGhpcy5hY3RpdmVJdGVtJiZ0aGlzLmFjdGl2ZUl0ZW0uZm9jdXModGhpcy5fb3JpZ2luKX19Y2xhc3MgQkh7Y29uc3RydWN0b3IodCl7dGhpcy5fcGxhdGZvcm09dH1pc0Rpc2FibGVkKHQpe3JldHVybiB0Lmhhc0F0dHJpYnV0ZSgiZGlzYWJsZWQiKX1pc1Zpc2libGUodCl7cmV0dXJuKGZ1bmN0aW9uIGUodCl7cmV0dXJuISEodC5vZmZzZXRXaWR0aHx8dC5vZmZzZXRIZWlnaHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldENsaWVudFJlY3RzJiZ0LmdldENsaWVudFJlY3RzKCkubGVuZ3RoKX0pKHQpJiYidmlzaWJsZSI9PT1nZXRDb21wdXRlZFN0eWxlKHQpLnZpc2liaWxpdHl9aXNUYWJiYWJsZSh0KXtpZighdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKXJldHVybiExO2NvbnN0IGU9KGZ1bmN0aW9uIG8odCl7dHJ5e3JldHVybiB0LmZyYW1lRWxlbWVudH1jYXRjaCh0KXtyZXR1cm4gbnVsbH19KSgoZnVuY3Rpb24gbih0KXtyZXR1cm4gdC5vd25lckRvY3VtZW50JiZ0Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvd30KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSh0KSk7aWYoZSl7aWYoLTE9PT1qSChlKSlyZXR1cm4hMTtpZighdGhpcy5pc1Zpc2libGUoZSkpcmV0dXJuITF9bGV0IGk9dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLGE9akgodCk7cmV0dXJuIHQuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKT8tMSE9PWE6ImlmcmFtZSIhPT1pJiYib2JqZWN0IiE9PWkmJighKHRoaXMuX3BsYXRmb3JtLldFQktJVCYmdGhpcy5fcGxhdGZvcm0uSU9TJiYhKGZ1bmN0aW9uIHIodCl7bGV0IGU9dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLG49ImlucHV0Ij09PWUmJnQudHlwZTtyZXR1cm4idGV4dCI9PT1ufHwicGFzc3dvcmQiPT09bnx8InNlbGVjdCI9PT1lfHwidGV4dGFyZWEiPT09ZX0pKHQpKSYmKCJhdWRpbyI9PT1pPyEhdC5oYXNBdHRyaWJ1dGUoImNvbnRyb2xzIikmJi0xIT09YToidmlkZW8iPT09aT8tMSE9PWEmJihudWxsIT09YXx8KHRoaXMuX3BsYXRmb3JtLkZJUkVGT1h8fHQuaGFzQXR0cmlidXRlKCJjb250cm9scyIpKSk6dC50YWJJbmRleD49MCkpfWlzRm9jdXNhYmxlKHQsZSl7cmV0dXJuKGZ1bmN0aW9uIG4odCl7aWYoKGZ1bmN0aW9uIGUodCl7cmV0dXJuKGZ1bmN0aW9uIGUodCl7cmV0dXJuImlucHV0Ij09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfSkodCkmJiJoaWRkZW4iPT10LnR5cGV9KSh0KSlyZXR1cm4hMTtyZXR1cm4oZnVuY3Rpb24gbih0KXtsZXQgZT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWV8fCJzZWxlY3QiPT09ZXx8ImJ1dHRvbiI9PT1lfHwidGV4dGFyZWEiPT09ZX0pKHQpfHwoZnVuY3Rpb24gbyh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0KXtyZXR1cm4iYSI9PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKX0pKHQpJiZ0Lmhhc0F0dHJpYnV0ZSgiaHJlZiIpfSkodCl8fHQuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8VkgodCl9KSh0KSYmIXRoaXMuaXNEaXNhYmxlZCh0KSYmKChudWxsPT1lP3ZvaWQgMDplLmlnbm9yZVZpc2liaWxpdHkpfHx0aGlzLmlzVmlzaWJsZSh0KSl9fWZ1bmN0aW9uIFZIKHQpe2lmKCF0Lmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKXx8dm9pZCAwPT09dC50YWJJbmRleClyZXR1cm4hMTtsZXQgZT10LmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKTtyZXR1cm4iLTMyNzY4IiE9ZSYmISghZXx8aXNOYU4ocGFyc2VJbnQoZSwxMCkpKX1mdW5jdGlvbiBqSCh0KXtpZighVkgodCkpcmV0dXJuIG51bGw7Y29uc3QgZT1wYXJzZUludCh0LmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKXx8IiIsMTApO3JldHVybiBpc05hTihlKT8tMTplfUJILsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxCSCkoVHIoY0gpKX0sQkguybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IEJIKFRyKGNIKSl9LHRva2VuOkJILHByb3ZpZGVkSW46InJvb3QifSksQkguY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpjSH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQkgsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmNIfV19KSxudWxsKTtjbGFzcyBVSHtjb25zdHJ1Y3Rvcih0LGUsbixvLGk9ITEpe3RoaXMuX2VsZW1lbnQ9dCx0aGlzLl9jaGVja2VyPWUsdGhpcy5fbmdab25lPW4sdGhpcy5fZG9jdW1lbnQ9byx0aGlzLl9oYXNBdHRhY2hlZD0hMSx0aGlzLnN0YXJ0QW5jaG9yTGlzdGVuZXI9KCk9PnRoaXMuZm9jdXNMYXN0VGFiYmFibGVFbGVtZW50KCksdGhpcy5lbmRBbmNob3JMaXN0ZW5lcj0oKT0+dGhpcy5mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KCksdGhpcy5fZW5hYmxlZD0hMCxpfHx0aGlzLmF0dGFjaEFuY2hvcnMoKX1nZXQgZW5hYmxlZCgpe3JldHVybiB0aGlzLl9lbmFibGVkfXNldCBlbmFibGVkKHQpe3RoaXMuX2VuYWJsZWQ9dCx0aGlzLl9zdGFydEFuY2hvciYmdGhpcy5fZW5kQW5jaG9yJiYodGhpcy5fdG9nZ2xlQW5jaG9yVGFiSW5kZXgodCx0aGlzLl9zdGFydEFuY2hvciksdGhpcy5fdG9nZ2xlQW5jaG9yVGFiSW5kZXgodCx0aGlzLl9lbmRBbmNob3IpKX1kZXN0cm95KCl7Y29uc3QgdD10aGlzLl9zdGFydEFuY2hvcixlPXRoaXMuX2VuZEFuY2hvcjt0JiYodC5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5zdGFydEFuY2hvckxpc3RlbmVyKSx0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSksZSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMuZW5kQW5jaG9yTGlzdGVuZXIpLGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpKSx0aGlzLl9zdGFydEFuY2hvcj10aGlzLl9lbmRBbmNob3I9bnVsbCx0aGlzLl9oYXNBdHRhY2hlZD0hMX1hdHRhY2hBbmNob3JzKCl7cmV0dXJuISF0aGlzLl9oYXNBdHRhY2hlZHx8KHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9zdGFydEFuY2hvcnx8KHRoaXMuX3N0YXJ0QW5jaG9yPXRoaXMuX2NyZWF0ZUFuY2hvcigpLHRoaXMuX3N0YXJ0QW5jaG9yLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLnN0YXJ0QW5jaG9yTGlzdGVuZXIpKSx0aGlzLl9lbmRBbmNob3J8fCh0aGlzLl9lbmRBbmNob3I9dGhpcy5fY3JlYXRlQW5jaG9yKCksdGhpcy5fZW5kQW5jaG9yLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLmVuZEFuY2hvckxpc3RlbmVyKSl9KSksdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlJiYodGhpcy5fZWxlbWVudC5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLl9zdGFydEFuY2hvcix0aGlzLl9lbGVtZW50KSx0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuX2VuZEFuY2hvcix0aGlzLl9lbGVtZW50Lm5leHRTaWJsaW5nKSx0aGlzLl9oYXNBdHRhY2hlZD0hMCksdGhpcy5faGFzQXR0YWNoZWQpfWZvY3VzSW5pdGlhbEVsZW1lbnRXaGVuUmVhZHkodCl7cmV0dXJuIG5ldyBQcm9taXNlKChlPT57dGhpcy5fZXhlY3V0ZU9uU3RhYmxlKCgoKT0+ZSh0aGlzLmZvY3VzSW5pdGlhbEVsZW1lbnQodCkpKSl9KSl9Zm9jdXNGaXJzdFRhYmJhYmxlRWxlbWVudFdoZW5SZWFkeSh0KXtyZXR1cm4gbmV3IFByb21pc2UoKGU9Pnt0aGlzLl9leGVjdXRlT25TdGFibGUoKCgpPT5lKHRoaXMuZm9jdXNGaXJzdFRhYmJhYmxlRWxlbWVudCh0KSkpKX0pKX1mb2N1c0xhc3RUYWJiYWJsZUVsZW1lbnRXaGVuUmVhZHkodCl7cmV0dXJuIG5ldyBQcm9taXNlKChlPT57dGhpcy5fZXhlY3V0ZU9uU3RhYmxlKCgoKT0+ZSh0aGlzLmZvY3VzTGFzdFRhYmJhYmxlRWxlbWVudCh0KSkpKX0pKX1fZ2V0UmVnaW9uQm91bmRhcnkodCl7bGV0IGU9dGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKGBbY2RrLWZvY3VzLXJlZ2lvbi0ke3R9XSwgW2Nka0ZvY3VzUmVnaW9uJHt0fV0sIFtjZGstZm9jdXMtJHt0fV1gKTtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyllW25dLmhhc0F0dHJpYnV0ZShgY2RrLWZvY3VzLSR7dH1gKT9jb25zb2xlLndhcm4oYEZvdW5kIHVzZSBvZiBkZXByZWNhdGVkIGF0dHJpYnV0ZSAnY2RrLWZvY3VzLSR7dH0nLCB1c2UgJ2Nka0ZvY3VzUmVnaW9uJHt0fScgaW5zdGVhZC4gVGhlIGRlcHJlY2F0ZWQgYXR0cmlidXRlIHdpbGwgYmUgcmVtb3ZlZCBpbiA4LjAuMC5gLGVbbl0pOmVbbl0uaGFzQXR0cmlidXRlKGBjZGstZm9jdXMtcmVnaW9uLSR7dH1gKSYmY29uc29sZS53YXJuKGBGb3VuZCB1c2Ugb2YgZGVwcmVjYXRlZCBhdHRyaWJ1dGUgJ2Nkay1mb2N1cy1yZWdpb24tJHt0fScsIHVzZSAnY2RrRm9jdXNSZWdpb24ke3R9JyBpbnN0ZWFkLiBUaGUgZGVwcmVjYXRlZCBhdHRyaWJ1dGUgd2lsbCBiZSByZW1vdmVkIGluIDguMC4wLmAsZVtuXSk7cmV0dXJuInN0YXJ0Ij09dD9lLmxlbmd0aD9lWzBdOnRoaXMuX2dldEZpcnN0VGFiYmFibGVFbGVtZW50KHRoaXMuX2VsZW1lbnQpOmUubGVuZ3RoP2VbZS5sZW5ndGgtMV06dGhpcy5fZ2V0TGFzdFRhYmJhYmxlRWxlbWVudCh0aGlzLl9lbGVtZW50KX1mb2N1c0luaXRpYWxFbGVtZW50KHQpe2NvbnN0IGU9dGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKCJbY2RrLWZvY3VzLWluaXRpYWxdLCBbY2RrRm9jdXNJbml0aWFsXSIpO2lmKGUpe2lmKGUuaGFzQXR0cmlidXRlKCJjZGstZm9jdXMtaW5pdGlhbCIpJiZjb25zb2xlLndhcm4oIkZvdW5kIHVzZSBvZiBkZXByZWNhdGVkIGF0dHJpYnV0ZSAnY2RrLWZvY3VzLWluaXRpYWwnLCB1c2UgJ2Nka0ZvY3VzSW5pdGlhbCcgaW5zdGVhZC4gVGhlIGRlcHJlY2F0ZWQgYXR0cmlidXRlIHdpbGwgYmUgcmVtb3ZlZCBpbiA4LjAuMCIsZSksInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0Rldk1vZGUmJiFuZ0Rldk1vZGV8fHRoaXMuX2NoZWNrZXIuaXNGb2N1c2FibGUoZSl8fGNvbnNvbGUud2FybigiRWxlbWVudCBtYXRjaGluZyAnW2Nka0ZvY3VzSW5pdGlhbF0nIGlzIG5vdCBmb2N1c2FibGUuIixlKSwhdGhpcy5fY2hlY2tlci5pc0ZvY3VzYWJsZShlKSl7Y29uc3Qgbj10aGlzLl9nZXRGaXJzdFRhYmJhYmxlRWxlbWVudChlKTtyZXR1cm4gbnVsbD09bnx8bi5mb2N1cyh0KSwhIW59cmV0dXJuIGUuZm9jdXModCksITB9cmV0dXJuIHRoaXMuZm9jdXNGaXJzdFRhYmJhYmxlRWxlbWVudCh0KX1mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KHQpe2NvbnN0IGU9dGhpcy5fZ2V0UmVnaW9uQm91bmRhcnkoInN0YXJ0Iik7cmV0dXJuIGUmJmUuZm9jdXModCksISFlfWZvY3VzTGFzdFRhYmJhYmxlRWxlbWVudCh0KXtjb25zdCBlPXRoaXMuX2dldFJlZ2lvbkJvdW5kYXJ5KCJlbmQiKTtyZXR1cm4gZSYmZS5mb2N1cyh0KSwhIWV9aGFzQXR0YWNoZWQoKXtyZXR1cm4gdGhpcy5faGFzQXR0YWNoZWR9X2dldEZpcnN0VGFiYmFibGVFbGVtZW50KHQpe2lmKHRoaXMuX2NoZWNrZXIuaXNGb2N1c2FibGUodCkmJnRoaXMuX2NoZWNrZXIuaXNUYWJiYWJsZSh0KSlyZXR1cm4gdDtsZXQgZT10LmNoaWxkcmVufHx0LmNoaWxkTm9kZXM7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspe2xldCBuPWVbdF0ubm9kZVR5cGU9PT10aGlzLl9kb2N1bWVudC5FTEVNRU5UX05PREU/dGhpcy5fZ2V0Rmlyc3RUYWJiYWJsZUVsZW1lbnQoZVt0XSk6bnVsbDtpZihuKXJldHVybiBufXJldHVybiBudWxsfV9nZXRMYXN0VGFiYmFibGVFbGVtZW50KHQpe2lmKHRoaXMuX2NoZWNrZXIuaXNGb2N1c2FibGUodCkmJnRoaXMuX2NoZWNrZXIuaXNUYWJiYWJsZSh0KSlyZXR1cm4gdDtsZXQgZT10LmNoaWxkcmVufHx0LmNoaWxkTm9kZXM7Zm9yKGxldCB0PWUubGVuZ3RoLTE7dD49MDt0LS0pe2xldCBuPWVbdF0ubm9kZVR5cGU9PT10aGlzLl9kb2N1bWVudC5FTEVNRU5UX05PREU/dGhpcy5fZ2V0TGFzdFRhYmJhYmxlRWxlbWVudChlW3RdKTpudWxsO2lmKG4pcmV0dXJuIG59cmV0dXJuIG51bGx9X2NyZWF0ZUFuY2hvcigpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHRoaXMuX3RvZ2dsZUFuY2hvclRhYkluZGV4KHRoaXMuX2VuYWJsZWQsdCksdC5jbGFzc0xpc3QuYWRkKCJjZGstdmlzdWFsbHktaGlkZGVuIiksdC5jbGFzc0xpc3QuYWRkKCJjZGstZm9jdXMtdHJhcC1hbmNob3IiKSx0LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksdH1fdG9nZ2xlQW5jaG9yVGFiSW5kZXgodCxlKXt0P2Uuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIjAiKTplLnJlbW92ZUF0dHJpYnV0ZSgidGFiaW5kZXgiKX10b2dnbGVBbmNob3JzKHQpe3RoaXMuX3N0YXJ0QW5jaG9yJiZ0aGlzLl9lbmRBbmNob3ImJih0aGlzLl90b2dnbGVBbmNob3JUYWJJbmRleCh0LHRoaXMuX3N0YXJ0QW5jaG9yKSx0aGlzLl90b2dnbGVBbmNob3JUYWJJbmRleCh0LHRoaXMuX2VuZEFuY2hvcikpfV9leGVjdXRlT25TdGFibGUodCl7dGhpcy5fbmdab25lLmlzU3RhYmxlP3QoKTp0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKHQpfX1jbGFzcyBXSHtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fY2hlY2tlcj10LHRoaXMuX25nWm9uZT1lLHRoaXMuX2RvY3VtZW50PW59Y3JlYXRlKHQsZT0hMSl7cmV0dXJuIG5ldyBVSCh0LHRoaXMuX2NoZWNrZXIsdGhpcy5fbmdab25lLHRoaXMuX2RvY3VtZW50LGUpfX1XSC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8V0gpKFRyKEJIKSxUcihtQyksVHIoc00pKX0sV0guybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IFdIKFRyKEJIKSxUcihtQyksVHIoc00pKX0sdG9rZW46V0gscHJvdmlkZWRJbjoicm9vdCJ9KSxXSC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkJIfSx7dHlwZTptQ30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihXSCxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6Qkh9LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpO2NsYXNzIEdIe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9lbGVtZW50UmVmPXQsdGhpcy5fZm9jdXNUcmFwRmFjdG9yeT1lLHRoaXMuX3ByZXZpb3VzbHlGb2N1c2VkRWxlbWVudD1udWxsLHRoaXMuZm9jdXNUcmFwPXRoaXMuX2ZvY3VzVHJhcEZhY3RvcnkuY3JlYXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwhMCl9Z2V0IGVuYWJsZWQoKXtyZXR1cm4gdGhpcy5mb2N1c1RyYXAuZW5hYmxlZH1zZXQgZW5hYmxlZCh0KXt0aGlzLmZvY3VzVHJhcC5lbmFibGVkPWVIKHQpfWdldCBhdXRvQ2FwdHVyZSgpe3JldHVybiB0aGlzLl9hdXRvQ2FwdHVyZX1zZXQgYXV0b0NhcHR1cmUodCl7dGhpcy5fYXV0b0NhcHR1cmU9ZUgodCl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvY3VzVHJhcC5kZXN0cm95KCksdGhpcy5fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50JiYodGhpcy5fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50LmZvY3VzKCksdGhpcy5fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50PW51bGwpfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuZm9jdXNUcmFwLmF0dGFjaEFuY2hvcnMoKSx0aGlzLmF1dG9DYXB0dXJlJiZ0aGlzLl9jYXB0dXJlRm9jdXMoKX1uZ0RvQ2hlY2soKXt0aGlzLmZvY3VzVHJhcC5oYXNBdHRhY2hlZCgpfHx0aGlzLmZvY3VzVHJhcC5hdHRhY2hBbmNob3JzKCl9bmdPbkNoYW5nZXModCl7Y29uc3QgZT10LmF1dG9DYXB0dXJlO2UmJiFlLmZpcnN0Q2hhbmdlJiZ0aGlzLmF1dG9DYXB0dXJlJiZ0aGlzLmZvY3VzVHJhcC5oYXNBdHRhY2hlZCgpJiZ0aGlzLl9jYXB0dXJlRm9jdXMoKX1fY2FwdHVyZUZvY3VzKCl7dGhpcy5fcHJldmlvdXNseUZvY3VzZWRFbGVtZW50PU1IKCksdGhpcy5mb2N1c1RyYXAuZm9jdXNJbml0aWFsRWxlbWVudFdoZW5SZWFkeSgpfX1HSC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8R0gpKGdmKEtoKSxnZihXSCksZ2Yoc00pKX0sR0guybVkaXI9aG8oe3R5cGU6R0gsc2VsZWN0b3JzOltbIiIsImNka1RyYXBGb2N1cyIsIiJdXSxpbnB1dHM6e2VuYWJsZWQ6WyJjZGtUcmFwRm9jdXMiLCJlbmFibGVkIl0sYXV0b0NhcHR1cmU6WyJjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZSIsImF1dG9DYXB0dXJlIl19LGV4cG9ydEFzOlsiY2RrVHJhcEZvY3VzIl0sZmVhdHVyZXM6W3FvXX0pLEdILmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOldIfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSxHSC5wcm9wRGVjb3JhdG9ycz17ZW5hYmxlZDpbe3R5cGU6Ul8sYXJnczpbImNka1RyYXBGb2N1cyJdfV0sYXV0b0NhcHR1cmU6W3t0eXBlOlJfLGFyZ3M6WyJjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoR0gsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Nka1RyYXBGb2N1c10iLGV4cG9ydEFzOiJjZGtUcmFwRm9jdXMifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOldIfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLHtlbmFibGVkOlt7dHlwZTpSXyxhcmdzOlsiY2RrVHJhcEZvY3VzIl19XSxhdXRvQ2FwdHVyZTpbe3R5cGU6Ul8sYXJnczpbImNka1RyYXBGb2N1c0F1dG9DYXB0dXJlIl19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgWUggZXh0ZW5kcyBVSHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyKXtzdXBlcih0LGUsbixvLHIuZGVmZXIpLHRoaXMuX2ZvY3VzVHJhcE1hbmFnZXI9aSx0aGlzLl9pbmVydFN0cmF0ZWd5PWEsdGhpcy5fZm9jdXNUcmFwTWFuYWdlci5yZWdpc3Rlcih0aGlzKX1nZXQgZW5hYmxlZCgpe3JldHVybiB0aGlzLl9lbmFibGVkfXNldCBlbmFibGVkKHQpe3RoaXMuX2VuYWJsZWQ9dCx0aGlzLl9lbmFibGVkP3RoaXMuX2ZvY3VzVHJhcE1hbmFnZXIucmVnaXN0ZXIodGhpcyk6dGhpcy5fZm9jdXNUcmFwTWFuYWdlci5kZXJlZ2lzdGVyKHRoaXMpfWRlc3Ryb3koKXt0aGlzLl9mb2N1c1RyYXBNYW5hZ2VyLmRlcmVnaXN0ZXIodGhpcyksc3VwZXIuZGVzdHJveSgpfV9lbmFibGUoKXt0aGlzLl9pbmVydFN0cmF0ZWd5LnByZXZlbnRGb2N1cyh0aGlzKSx0aGlzLnRvZ2dsZUFuY2hvcnMoITApfV9kaXNhYmxlKCl7dGhpcy5faW5lcnRTdHJhdGVneS5hbGxvd0ZvY3VzKHRoaXMpLHRoaXMudG9nZ2xlQW5jaG9ycyghMSl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgcUg9bmV3IGVyKCJGT0NVU19UUkFQX0lORVJUX1NUUkFURUdZIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIFpIKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgTm9kZSkpcmV0dXJuIG51bGw7bGV0IG49dDtmb3IoO251bGwhPW4mJiEobiBpbnN0YW5jZW9mIEVsZW1lbnQpOyluPW4ucGFyZW50Tm9kZTtyZXR1cm4gbiYmKFhIP24uY2xvc2VzdChlKTooZnVuY3Rpb24gbyh0LGUpe2xldCBuPXQ7Zm9yKDtudWxsIT1uJiYhKG4gaW5zdGFuY2VvZiBFbGVtZW50JiZLSChuLGUpKTspbj1uLnBhcmVudE5vZGU7cmV0dXJuIG58fG51bGx9KShuLGUpKX1jb25zdCBYSD0idW5kZWZpbmVkIiE9dHlwZW9mIEVsZW1lbnQmJiEhRWxlbWVudC5wcm90b3R5cGUuY2xvc2VzdDtmdW5jdGlvbiBLSCh0LGUpe3JldHVybiB0Lm1hdGNoZXM/dC5tYXRjaGVzKGUpOnQubXNNYXRjaGVzU2VsZWN0b3IoZSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIEpIe2NvbnN0cnVjdG9yKCl7dGhpcy5fbGlzdGVuZXI9bnVsbH1wcmV2ZW50Rm9jdXModCl7dGhpcy5fbGlzdGVuZXImJnQuX2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9saXN0ZW5lciwhMCksdGhpcy5fbGlzdGVuZXI9ZT0+dGhpcy5fdHJhcEZvY3VzKHQsZSksdC5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3QuX2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9saXN0ZW5lciwhMCl9KSl9YWxsb3dGb2N1cyh0KXt0aGlzLl9saXN0ZW5lciYmKHQuX2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9saXN0ZW5lciwhMCksdGhpcy5fbGlzdGVuZXI9bnVsbCl9X3RyYXBGb2N1cyh0LGUpe2NvbnN0IG49ZS50YXJnZXQsbz10Ll9lbGVtZW50O28uY29udGFpbnMobil8fG51bGwhPT1aSChuLCJkaXYuY2RrLW92ZXJsYXktcGFuZSIpfHxzZXRUaW1lb3V0KCgoKT0+e3QuZW5hYmxlZCYmIW8uY29udGFpbnModC5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkmJnQuZm9jdXNGaXJzdFRhYmJhYmxlRWxlbWVudCgpfSkpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgUUh7Y29uc3RydWN0b3IoKXt0aGlzLl9mb2N1c1RyYXBTdGFjaz1bXX1yZWdpc3Rlcih0KXt0aGlzLl9mb2N1c1RyYXBTdGFjaz10aGlzLl9mb2N1c1RyYXBTdGFjay5maWx0ZXIoKGU9PmUhPT10KSk7bGV0IGU9dGhpcy5fZm9jdXNUcmFwU3RhY2s7ZS5sZW5ndGgmJmVbZS5sZW5ndGgtMV0uX2Rpc2FibGUoKSxlLnB1c2godCksdC5fZW5hYmxlKCl9ZGVyZWdpc3Rlcih0KXt0Ll9kaXNhYmxlKCk7Y29uc3QgZT10aGlzLl9mb2N1c1RyYXBTdGFjayxuPWUuaW5kZXhPZih0KTstMSE9PW4mJihlLnNwbGljZShuLDEpLGUubGVuZ3RoJiZlW2UubGVuZ3RoLTFdLl9lbmFibGUoKSl9fVFILsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxRSCl9LFFILsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyBRSH0sdG9rZW46UUgscHJvdmlkZWRJbjoicm9vdCJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFFILFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVybltdfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyAkSHtjb25zdHJ1Y3Rvcih0LGUsbixvLGkpe3RoaXMuX2NoZWNrZXI9dCx0aGlzLl9uZ1pvbmU9ZSx0aGlzLl9mb2N1c1RyYXBNYW5hZ2VyPW4sdGhpcy5fZG9jdW1lbnQ9byx0aGlzLl9pbmVydFN0cmF0ZWd5PWl8fG5ldyBKSH1jcmVhdGUodCxlPXtkZWZlcjohMX0pe2xldCBuO3JldHVybiBuPSJib29sZWFuIj09dHlwZW9mIGU/e2RlZmVyOmV9OmUsbmV3IFlIKHQsdGhpcy5fY2hlY2tlcix0aGlzLl9uZ1pvbmUsdGhpcy5fZG9jdW1lbnQsdGhpcy5fZm9jdXNUcmFwTWFuYWdlcix0aGlzLl9pbmVydFN0cmF0ZWd5LG4pfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIHRGKHQpe3JldHVybiAwPT09dC5vZmZzZXRYJiYwPT09dC5vZmZzZXRZfWZ1bmN0aW9uIGVGKHQpe2NvbnN0IGU9dC50b3VjaGVzJiZ0LnRvdWNoZXNbMF18fHQuY2hhbmdlZFRvdWNoZXMmJnQuY2hhbmdlZFRvdWNoZXNbMF07cmV0dXJuISghZXx8LTEhPT1lLmlkZW50aWZpZXJ8fG51bGwhPWUucmFkaXVzWCYmMSE9PWUucmFkaXVzWHx8bnVsbCE9ZS5yYWRpdXNZJiYxIT09ZS5yYWRpdXNZKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovJEguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fCRIKShUcihCSCksVHIobUMpLFRyKFFIKSxUcihzTSksVHIocUgsOCkpfSwkSC7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgJEgoVHIoQkgpLFRyKG1DKSxUcihRSCksVHIoc00pLFRyKHFILDgpKX0sdG9rZW46JEgscHJvdmlkZWRJbjoicm9vdCJ9KSwkSC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkJIfSx7dHlwZTptQ30se3R5cGU6UUh9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltxSF19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJEgsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkJIfSx7dHlwZTptQ30se3R5cGU6UUh9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltxSF19XX1dfSksbnVsbCk7Y29uc3QgbkY9bmV3IGVyKCJjZGstaW5wdXQtbW9kYWxpdHktZGV0ZWN0b3Itb3B0aW9ucyIpLG9GPXtpZ25vcmVLZXlzOlsxOCwxNywyMjQsOTEsMTZdfSxpRj1iSCh7cGFzc2l2ZTohMCxjYXB0dXJlOiEwfSk7Y2xhc3MgYUZ7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5fcGxhdGZvcm09dCx0aGlzLl9tb3N0UmVjZW50VGFyZ2V0PW51bGwsdGhpcy5fbW9kYWxpdHk9bmV3IGoobnVsbCksdGhpcy5fbGFzdFRvdWNoTXM9MCx0aGlzLl9vbktleWRvd249dD0+e3ZhciBlLG47KG51bGw9PT0obj1udWxsPT09KGU9dGhpcy5fb3B0aW9ucyl8fHZvaWQgMD09PWU/dm9pZCAwOmUuaWdub3JlS2V5cyl8fHZvaWQgMD09PW4/dm9pZCAwOm4uc29tZSgoZT0+ZT09PXQua2V5Q29kZSkpKXx8KHRoaXMuX21vZGFsaXR5Lm5leHQoImtleWJvYXJkIiksdGhpcy5fbW9zdFJlY2VudFRhcmdldD12SCh0KSl9LHRoaXMuX29uTW91c2Vkb3duPXQ9PntEYXRlLm5vdygpLXRoaXMuX2xhc3RUb3VjaE1zPDY1MHx8KHRoaXMuX21vZGFsaXR5Lm5leHQodEYodCk/ImtleWJvYXJkIjoibW91c2UiKSx0aGlzLl9tb3N0UmVjZW50VGFyZ2V0PXZIKHQpKX0sdGhpcy5fb25Ub3VjaHN0YXJ0PXQ9PntlRih0KT90aGlzLl9tb2RhbGl0eS5uZXh0KCJrZXlib2FyZCIpOih0aGlzLl9sYXN0VG91Y2hNcz1EYXRlLm5vdygpLHRoaXMuX21vZGFsaXR5Lm5leHQoInRvdWNoIiksdGhpcy5fbW9zdFJlY2VudFRhcmdldD12SCh0KSl9LHRoaXMuX29wdGlvbnM9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG9GKSxvKSx0aGlzLm1vZGFsaXR5RGV0ZWN0ZWQ9dGhpcy5fbW9kYWxpdHkucGlwZShMZSgxKSksdGhpcy5tb2RhbGl0eUNoYW5nZWQ9dGhpcy5tb2RhbGl0eURldGVjdGVkLnBpcGUod2UoKSksdC5pc0Jyb3dzZXImJmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT57bi5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9vbktleWRvd24saUYpLG4uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9vbk1vdXNlZG93bixpRiksbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9vblRvdWNoc3RhcnQsaUYpfSkpfWdldCBtb3N0UmVjZW50TW9kYWxpdHkoKXtyZXR1cm4gdGhpcy5fbW9kYWxpdHkudmFsdWV9bmdPbkRlc3Ryb3koKXt0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9vbktleWRvd24saUYpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5fb25Nb3VzZWRvd24saUYpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX29uVG91Y2hzdGFydCxpRikpfX1hRi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8YUYpKFRyKGNIKSxUcihtQyksVHIoc00pLFRyKG5GLDgpKX0sYUYuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IGFGKFRyKGNIKSxUcihtQyksVHIoc00pLFRyKG5GLDgpKX0sdG9rZW46YUYscHJvdmlkZWRJbjoicm9vdCJ9KSxhRi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOmNIfSx7dHlwZTptQ30se3R5cGU6RG9jdW1lbnQsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbbkZdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGFGLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpjSH0se3R5cGU6bUN9LHt0eXBlOkRvY3VtZW50LGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W25GXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHJGPW5ldyBlcigibGl2ZUFubm91bmNlckVsZW1lbnQiLHtwcm92aWRlZEluOiJyb290IixmYWN0b3J5OmZ1bmN0aW9uIHNGKCl7cmV0dXJuIG51bGx9fSk7Y29uc3QgbEY9bmV3IGVyKCJMSVZFX0FOTk9VTkNFUl9ERUZBVUxUX09QVElPTlMiKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgY0Z7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5fbmdab25lPWUsdGhpcy5fZGVmYXVsdE9wdGlvbnM9byx0aGlzLl9kb2N1bWVudD1uLHRoaXMuX2xpdmVFbGVtZW50PXR8fHRoaXMuX2NyZWF0ZUxpdmVFbGVtZW50KCl9YW5ub3VuY2UodCwuLi5lKXtjb25zdCBuPXRoaXMuX2RlZmF1bHRPcHRpb25zO2xldCBvLGk7cmV0dXJuIDE9PT1lLmxlbmd0aCYmIm51bWJlciI9PXR5cGVvZiBlWzBdP2k9ZVswXTpbbyxpXT1lLHRoaXMuY2xlYXIoKSxjbGVhclRpbWVvdXQodGhpcy5fcHJldmlvdXNUaW1lb3V0KSxvfHwobz1uJiZuLnBvbGl0ZW5lc3M/bi5wb2xpdGVuZXNzOiJwb2xpdGUiKSxudWxsPT1pJiZuJiYoaT1uLmR1cmF0aW9uKSx0aGlzLl9saXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGl2ZSIsbyksdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+bmV3IFByb21pc2UoKGU9PntjbGVhclRpbWVvdXQodGhpcy5fcHJldmlvdXNUaW1lb3V0KSx0aGlzLl9wcmV2aW91c1RpbWVvdXQ9c2V0VGltZW91dCgoKCk9Pnt0aGlzLl9saXZlRWxlbWVudC50ZXh0Q29udGVudD10LGUoKSwibnVtYmVyIj09dHlwZW9mIGkmJih0aGlzLl9wcmV2aW91c1RpbWVvdXQ9c2V0VGltZW91dCgoKCk9PnRoaXMuY2xlYXIoKSksaSkpfSksMTAwKX0pKSkpfWNsZWFyKCl7dGhpcy5fbGl2ZUVsZW1lbnQmJih0aGlzLl9saXZlRWxlbWVudC50ZXh0Q29udGVudD0iIil9bmdPbkRlc3Ryb3koKXtjbGVhclRpbWVvdXQodGhpcy5fcHJldmlvdXNUaW1lb3V0KSx0aGlzLl9saXZlRWxlbWVudCYmdGhpcy5fbGl2ZUVsZW1lbnQucGFyZW50Tm9kZSYmKHRoaXMuX2xpdmVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fbGl2ZUVsZW1lbnQpLHRoaXMuX2xpdmVFbGVtZW50PW51bGwpfV9jcmVhdGVMaXZlRWxlbWVudCgpe2NvbnN0IHQ9ImNkay1saXZlLWFubm91bmNlci1lbGVtZW50IixlPXRoaXMuX2RvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodCksbj10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZVt0XSk7cmV0dXJuIG4uY2xhc3NMaXN0LmFkZCh0KSxuLmNsYXNzTGlzdC5hZGQoImNkay12aXN1YWxseS1oaWRkZW4iKSxuLnNldEF0dHJpYnV0ZSgiYXJpYS1hdG9taWMiLCJ0cnVlIiksbi5zZXRBdHRyaWJ1dGUoImFyaWEtbGl2ZSIsInBvbGl0ZSIpLHRoaXMuX2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobiksbn19Y0YuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGNGKShUcihyRiw4KSxUcihtQyksVHIoc00pLFRyKGxGLDgpKX0sY0YuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IGNGKFRyKHJGLDgpLFRyKG1DKSxUcihzTSksVHIobEYsOCkpfSx0b2tlbjpjRixwcm92aWRlZEluOiJyb290In0pLGNGLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltyRl19XX0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltsRl19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoY0YsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbckZdfV19LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbbEZdfV19XX0pLG51bGwpO2NsYXNzIGRGe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9saXZlQW5ub3VuY2VyPWUsdGhpcy5fY29udGVudE9ic2VydmVyPW4sdGhpcy5fbmdab25lPW8sdGhpcy5fcG9saXRlbmVzcz0icG9saXRlIn1nZXQgcG9saXRlbmVzcygpe3JldHVybiB0aGlzLl9wb2xpdGVuZXNzfXNldCBwb2xpdGVuZXNzKHQpe3RoaXMuX3BvbGl0ZW5lc3M9Im9mZiI9PT10fHwiYXNzZXJ0aXZlIj09PXQ/dDoicG9saXRlIiwib2ZmIj09PXRoaXMuX3BvbGl0ZW5lc3M/dGhpcy5fc3Vic2NyaXB0aW9uJiYodGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fc3Vic2NyaXB0aW9uPW51bGwpOnRoaXMuX3N1YnNjcmlwdGlvbnx8KHRoaXMuX3N1YnNjcmlwdGlvbj10aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT50aGlzLl9jb250ZW50T2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLl9lbGVtZW50UmVmKS5zdWJzY3JpYmUoKCgpPT57Y29uc3QgdD10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7dCE9PXRoaXMuX3ByZXZpb3VzQW5ub3VuY2VkVGV4dCYmKHRoaXMuX2xpdmVBbm5vdW5jZXIuYW5ub3VuY2UodCx0aGlzLl9wb2xpdGVuZXNzKSx0aGlzLl9wcmV2aW91c0Fubm91bmNlZFRleHQ9dCl9KSkpKSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9zdWJzY3JpcHRpb24mJnRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfX1kRi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZEYpKGdmKEtoKSxnZihjRiksZ2YoT0gpLGdmKG1DKSl9LGRGLsm1ZGlyPWhvKHt0eXBlOmRGLHNlbGVjdG9yczpbWyIiLCJjZGtBcmlhTGl2ZSIsIiJdXSxpbnB1dHM6e3BvbGl0ZW5lc3M6WyJjZGtBcmlhTGl2ZSIsInBvbGl0ZW5lc3MiXX0sZXhwb3J0QXM6WyJjZGtBcmlhTGl2ZSJdfSksZEYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6Y0Z9LHt0eXBlOk9IfSx7dHlwZTptQ31dLGRGLnByb3BEZWNvcmF0b3JzPXtwb2xpdGVuZXNzOlt7dHlwZTpSXyxhcmdzOlsiY2RrQXJpYUxpdmUiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRGLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtBcmlhTGl2ZV0iLGV4cG9ydEFzOiJjZGtBcmlhTGl2ZSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6Y0Z9LHt0eXBlOk9IfSx7dHlwZTptQ31dfSkse3BvbGl0ZW5lc3M6W3t0eXBlOlJfLGFyZ3M6WyJjZGtBcmlhTGl2ZSJdfV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHBGPW5ldyBlcigiY2RrLWZvY3VzLW1vbml0b3ItZGVmYXVsdC1vcHRpb25zIiksbUY9Ykgoe3Bhc3NpdmU6ITAsY2FwdHVyZTohMH0pO2NsYXNzIGZGe2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7dGhpcy5fbmdab25lPXQsdGhpcy5fcGxhdGZvcm09ZSx0aGlzLl9pbnB1dE1vZGFsaXR5RGV0ZWN0b3I9bix0aGlzLl9vcmlnaW49bnVsbCx0aGlzLl93aW5kb3dGb2N1c2VkPSExLHRoaXMuX29yaWdpbkZyb21Ub3VjaEludGVyYWN0aW9uPSExLHRoaXMuX2VsZW1lbnRJbmZvPW5ldyBNYXAsdGhpcy5fbW9uaXRvcmVkRWxlbWVudENvdW50PTAsdGhpcy5fcm9vdE5vZGVGb2N1c0xpc3RlbmVyQ291bnQ9bmV3IE1hcCx0aGlzLl93aW5kb3dGb2N1c0xpc3RlbmVyPSgpPT57dGhpcy5fd2luZG93Rm9jdXNlZD0hMCx0aGlzLl93aW5kb3dGb2N1c1RpbWVvdXRJZD1zZXRUaW1lb3V0KCgoKT0+dGhpcy5fd2luZG93Rm9jdXNlZD0hMSkpfSx0aGlzLl9zdG9wSW5wdXRNb2RhbGl0eURldGVjdG9yPW5ldyBCLHRoaXMuX3Jvb3ROb2RlRm9jdXNBbmRCbHVyTGlzdGVuZXI9dD0+e2NvbnN0IGU9dkgodCksbj0iZm9jdXMiPT09dC50eXBlP3RoaXMuX29uRm9jdXM6dGhpcy5fb25CbHVyO2ZvcihsZXQgbz1lO287bz1vLnBhcmVudEVsZW1lbnQpbi5jYWxsKHRoaXMsdCxvKX0sdGhpcy5fZG9jdW1lbnQ9byx0aGlzLl9kZXRlY3Rpb25Nb2RlPShudWxsPT1pP3ZvaWQgMDppLmRldGVjdGlvbk1vZGUpfHwwfW1vbml0b3IodCxlPSExKXtjb25zdCBuPXJIKHQpO2lmKCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXJ8fDEhPT1uLm5vZGVUeXBlKXJldHVybiB6dChudWxsKTtjb25zdCBvPUNIKG4pfHx0aGlzLl9nZXREb2N1bWVudCgpLGk9dGhpcy5fZWxlbWVudEluZm8uZ2V0KG4pO2lmKGkpcmV0dXJuIGUmJihpLmNoZWNrQ2hpbGRyZW49ITApLGkuc3ViamVjdDtjb25zdCBhPXtjaGVja0NoaWxkcmVuOmUsc3ViamVjdDpuZXcgQixyb290Tm9kZTpvfTtyZXR1cm4gdGhpcy5fZWxlbWVudEluZm8uc2V0KG4sYSksdGhpcy5fcmVnaXN0ZXJHbG9iYWxMaXN0ZW5lcnMoYSksYS5zdWJqZWN0fXN0b3BNb25pdG9yaW5nKHQpe2NvbnN0IGU9ckgodCksbj10aGlzLl9lbGVtZW50SW5mby5nZXQoZSk7biYmKG4uc3ViamVjdC5jb21wbGV0ZSgpLHRoaXMuX3NldENsYXNzZXMoZSksdGhpcy5fZWxlbWVudEluZm8uZGVsZXRlKGUpLHRoaXMuX3JlbW92ZUdsb2JhbExpc3RlbmVycyhuKSl9Zm9jdXNWaWEodCxlLG4pe2NvbnN0IG89ckgodCk7bz09PXRoaXMuX2dldERvY3VtZW50KCkuYWN0aXZlRWxlbWVudD90aGlzLl9nZXRDbG9zZXN0RWxlbWVudHNJbmZvKG8pLmZvckVhY2goKChbdCxuXSk9PnRoaXMuX29yaWdpbkNoYW5nZWQodCxlLG4pKSk6KHRoaXMuX3NldE9yaWdpbihlKSwiZnVuY3Rpb24iPT10eXBlb2Ygby5mb2N1cyYmby5mb2N1cyhuKSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9lbGVtZW50SW5mby5mb3JFYWNoKCgodCxlKT0+dGhpcy5zdG9wTW9uaXRvcmluZyhlKSkpfV9nZXREb2N1bWVudCgpe3JldHVybiB0aGlzLl9kb2N1bWVudHx8ZG9jdW1lbnR9X2dldFdpbmRvdygpe3JldHVybiB0aGlzLl9nZXREb2N1bWVudCgpLmRlZmF1bHRWaWV3fHx3aW5kb3d9X3RvZ2dsZUNsYXNzKHQsZSxuKXtuP3QuY2xhc3NMaXN0LmFkZChlKTp0LmNsYXNzTGlzdC5yZW1vdmUoZSl9X2dldEZvY3VzT3JpZ2luKHQpe3JldHVybiB0aGlzLl9vcmlnaW4/dGhpcy5fb3JpZ2luRnJvbVRvdWNoSW50ZXJhY3Rpb24/dGhpcy5fc2hvdWxkQmVBdHRyaWJ1dGVkVG9Ub3VjaCh0KT8idG91Y2giOiJwcm9ncmFtIjp0aGlzLl9vcmlnaW46dGhpcy5fd2luZG93Rm9jdXNlZCYmdGhpcy5fbGFzdEZvY3VzT3JpZ2luP3RoaXMuX2xhc3RGb2N1c09yaWdpbjoicHJvZ3JhbSJ9X3Nob3VsZEJlQXR0cmlidXRlZFRvVG91Y2godCl7cmV0dXJuIDE9PT10aGlzLl9kZXRlY3Rpb25Nb2RlfHwhIShudWxsPT10P3ZvaWQgMDp0LmNvbnRhaW5zKHRoaXMuX2lucHV0TW9kYWxpdHlEZXRlY3Rvci5fbW9zdFJlY2VudFRhcmdldCkpfV9zZXRDbGFzc2VzKHQsZSl7dGhpcy5fdG9nZ2xlQ2xhc3ModCwiY2RrLWZvY3VzZWQiLCEhZSksdGhpcy5fdG9nZ2xlQ2xhc3ModCwiY2RrLXRvdWNoLWZvY3VzZWQiLCJ0b3VjaCI9PT1lKSx0aGlzLl90b2dnbGVDbGFzcyh0LCJjZGsta2V5Ym9hcmQtZm9jdXNlZCIsImtleWJvYXJkIj09PWUpLHRoaXMuX3RvZ2dsZUNsYXNzKHQsImNkay1tb3VzZS1mb2N1c2VkIiwibW91c2UiPT09ZSksdGhpcy5fdG9nZ2xlQ2xhc3ModCwiY2RrLXByb2dyYW0tZm9jdXNlZCIsInByb2dyYW0iPT09ZSl9X3NldE9yaWdpbih0LGU9ITEpe3RoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PntpZih0aGlzLl9vcmlnaW49dCx0aGlzLl9vcmlnaW5Gcm9tVG91Y2hJbnRlcmFjdGlvbj0idG91Y2giPT09dCYmZSwwPT09dGhpcy5fZGV0ZWN0aW9uTW9kZSl7Y2xlYXJUaW1lb3V0KHRoaXMuX29yaWdpblRpbWVvdXRJZCk7dGhpcy5fb3JpZ2luVGltZW91dElkPXNldFRpbWVvdXQoKCgpPT50aGlzLl9vcmlnaW49bnVsbCksdGhpcy5fb3JpZ2luRnJvbVRvdWNoSW50ZXJhY3Rpb24/NjUwOjEpfX0pKX1fb25Gb2N1cyh0LGUpe2NvbnN0IG49dGhpcy5fZWxlbWVudEluZm8uZ2V0KGUpLG89dkgodCk7biYmKG4uY2hlY2tDaGlsZHJlbnx8ZT09PW8pJiZ0aGlzLl9vcmlnaW5DaGFuZ2VkKGUsdGhpcy5fZ2V0Rm9jdXNPcmlnaW4obyksbil9X29uQmx1cih0LGUpe2NvbnN0IG49dGhpcy5fZWxlbWVudEluZm8uZ2V0KGUpOyFufHxuLmNoZWNrQ2hpbGRyZW4mJnQucmVsYXRlZFRhcmdldCBpbnN0YW5jZW9mIE5vZGUmJmUuY29udGFpbnModC5yZWxhdGVkVGFyZ2V0KXx8KHRoaXMuX3NldENsYXNzZXMoZSksdGhpcy5fZW1pdE9yaWdpbihuLnN1YmplY3QsbnVsbCkpfV9lbWl0T3JpZ2luKHQsZSl7dGhpcy5fbmdab25lLnJ1bigoKCk9PnQubmV4dChlKSkpfV9yZWdpc3Rlckdsb2JhbExpc3RlbmVycyh0KXtpZighdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKXJldHVybjtjb25zdCBlPXQucm9vdE5vZGUsbj10aGlzLl9yb290Tm9kZUZvY3VzTGlzdGVuZXJDb3VudC5nZXQoZSl8fDA7bnx8dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e2UuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHRoaXMuX3Jvb3ROb2RlRm9jdXNBbmRCbHVyTGlzdGVuZXIsbUYpLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fcm9vdE5vZGVGb2N1c0FuZEJsdXJMaXN0ZW5lcixtRil9KSksdGhpcy5fcm9vdE5vZGVGb2N1c0xpc3RlbmVyQ291bnQuc2V0KGUsbisxKSwxPT0rK3RoaXMuX21vbml0b3JlZEVsZW1lbnRDb3VudCYmKHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9nZXRXaW5kb3coKS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fd2luZG93Rm9jdXNMaXN0ZW5lcil9KSksdGhpcy5faW5wdXRNb2RhbGl0eURldGVjdG9yLm1vZGFsaXR5RGV0ZWN0ZWQucGlwZShqZSh0aGlzLl9zdG9wSW5wdXRNb2RhbGl0eURldGVjdG9yKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5fc2V0T3JpZ2luKHQsITApfSkpKX1fcmVtb3ZlR2xvYmFsTGlzdGVuZXJzKHQpe2NvbnN0IGU9dC5yb290Tm9kZTtpZih0aGlzLl9yb290Tm9kZUZvY3VzTGlzdGVuZXJDb3VudC5oYXMoZSkpe2NvbnN0IHQ9dGhpcy5fcm9vdE5vZGVGb2N1c0xpc3RlbmVyQ291bnQuZ2V0KGUpO3Q+MT90aGlzLl9yb290Tm9kZUZvY3VzTGlzdGVuZXJDb3VudC5zZXQoZSx0LTEpOihlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9yb290Tm9kZUZvY3VzQW5kQmx1ckxpc3RlbmVyLG1GKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX3Jvb3ROb2RlRm9jdXNBbmRCbHVyTGlzdGVuZXIsbUYpLHRoaXMuX3Jvb3ROb2RlRm9jdXNMaXN0ZW5lckNvdW50LmRlbGV0ZShlKSl9aWYoIS0tdGhpcy5fbW9uaXRvcmVkRWxlbWVudENvdW50KXt0aGlzLl9nZXRXaW5kb3coKS5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5fd2luZG93Rm9jdXNMaXN0ZW5lciksdGhpcy5fc3RvcElucHV0TW9kYWxpdHlEZXRlY3Rvci5uZXh0KCksY2xlYXJUaW1lb3V0KHRoaXMuX3dpbmRvd0ZvY3VzVGltZW91dElkKSxjbGVhclRpbWVvdXQodGhpcy5fb3JpZ2luVGltZW91dElkKX19X29yaWdpbkNoYW5nZWQodCxlLG4pe3RoaXMuX3NldENsYXNzZXModCxlKSx0aGlzLl9lbWl0T3JpZ2luKG4uc3ViamVjdCxlKSx0aGlzLl9sYXN0Rm9jdXNPcmlnaW49ZX1fZ2V0Q2xvc2VzdEVsZW1lbnRzSW5mbyh0KXtjb25zdCBlPVtdO3JldHVybiB0aGlzLl9lbGVtZW50SW5mby5mb3JFYWNoKCgobixvKT0+eyhvPT09dHx8bi5jaGVja0NoaWxkcmVuJiZvLmNvbnRhaW5zKHQpKSYmZS5wdXNoKFtvLG5dKX0pKSxlfX1mRi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZkYpKFRyKG1DKSxUcihjSCksVHIoYUYpLFRyKHNNLDgpLFRyKHBGLDgpKX0sZkYuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IGZGKFRyKG1DKSxUcihjSCksVHIoYUYpLFRyKHNNLDgpLFRyKHBGLDgpKX0sdG9rZW46ZkYscHJvdmlkZWRJbjoicm9vdCJ9KSxmRi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6YUZ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbcEZdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGZGLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOmFGfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3BGXX1dfV19KSxudWxsKTtjbGFzcyB1Rntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9mb2N1c01vbml0b3I9ZSx0aGlzLmNka0ZvY3VzQ2hhbmdlPW5ldyBTeX1uZ0FmdGVyVmlld0luaXQoKXtjb25zdCB0PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDt0aGlzLl9tb25pdG9yU3Vic2NyaXB0aW9uPXRoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHQsMT09PXQubm9kZVR5cGUmJnQuaGFzQXR0cmlidXRlKCJjZGtNb25pdG9yU3VidHJlZUZvY3VzIikpLnN1YnNjcmliZSgodD0+dGhpcy5jZGtGb2N1c0NoYW5nZS5lbWl0KHQpKSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZiksdGhpcy5fbW9uaXRvclN1YnNjcmlwdGlvbiYmdGhpcy5fbW9uaXRvclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfX11Ri7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dUYpKGdmKEtoKSxnZihmRikpfSx1Ri7JtWRpcj1obyh7dHlwZTp1RixzZWxlY3RvcnM6W1siIiwiY2RrTW9uaXRvckVsZW1lbnRGb2N1cyIsIiJdLFsiIiwiY2RrTW9uaXRvclN1YnRyZWVGb2N1cyIsIiJdXSxvdXRwdXRzOntjZGtGb2N1c0NoYW5nZToiY2RrRm9jdXNDaGFuZ2UifX0pLHVGLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOmZGfV0sdUYucHJvcERlY29yYXRvcnM9e2Nka0ZvY3VzQ2hhbmdlOlt7dHlwZTpFX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHVGLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtNb25pdG9yRWxlbWVudEZvY3VzXSwgW2Nka01vbml0b3JTdWJ0cmVlRm9jdXNdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpmRn1dfSkse2Nka0ZvY3VzQ2hhbmdlOlt7dHlwZTpFX31dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBnRj0iY2RrLWhpZ2gtY29udHJhc3QtYmxhY2stb24td2hpdGUiLGhGPSJjZGstaGlnaC1jb250cmFzdC13aGl0ZS1vbi1ibGFjayIsYkY9ImNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSI7Y2xhc3MgeUZ7Y29uc3RydWN0b3IodCxlKXt0aGlzLl9wbGF0Zm9ybT10LHRoaXMuX2RvY3VtZW50PWV9Z2V0SGlnaENvbnRyYXN0TW9kZSgpe2lmKCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpcmV0dXJuIDA7Y29uc3QgdD10aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LnN0eWxlLmJhY2tncm91bmRDb2xvcj0icmdiKDEsMiwzKSIsdC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHRoaXMuX2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7Y29uc3QgZT10aGlzLl9kb2N1bWVudC5kZWZhdWx0Vmlld3x8d2luZG93LG49ZSYmZS5nZXRDb21wdXRlZFN0eWxlP2UuZ2V0Q29tcHV0ZWRTdHlsZSh0KTpudWxsLG89KG4mJm4uYmFja2dyb3VuZENvbG9yfHwiIikucmVwbGFjZSgvIC9nLCIiKTtzd2l0Y2godGhpcy5fZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0KSxvKXtjYXNlInJnYigwLDAsMCkiOnJldHVybiAyO2Nhc2UicmdiKDI1NSwyNTUsMjU1KSI6cmV0dXJuIDF9cmV0dXJuIDB9X2FwcGx5Qm9keUhpZ2hDb250cmFzdE1vZGVDc3NDbGFzc2VzKCl7aWYoIXRoaXMuX2hhc0NoZWNrZWRIaWdoQ29udHJhc3RNb2RlJiZ0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXImJnRoaXMuX2RvY3VtZW50LmJvZHkpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuYm9keS5jbGFzc0xpc3Q7dC5yZW1vdmUoYkYpLHQucmVtb3ZlKGdGKSx0LnJlbW92ZShoRiksdGhpcy5faGFzQ2hlY2tlZEhpZ2hDb250cmFzdE1vZGU9ITA7Y29uc3QgZT10aGlzLmdldEhpZ2hDb250cmFzdE1vZGUoKTsxPT09ZT8odC5hZGQoYkYpLHQuYWRkKGdGKSk6Mj09PWUmJih0LmFkZChiRiksdC5hZGQoaEYpKX19fXlGLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx5RikoVHIoY0gpLFRyKHNNKSl9LHlGLsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyB5RihUcihjSCksVHIoc00pKX0sdG9rZW46eUYscHJvdmlkZWRJbjoicm9vdCJ9KSx5Ri5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOmNIfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHlGLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIF9Ge2NvbnN0cnVjdG9yKHQpe3QuX2FwcGx5Qm9keUhpZ2hDb250cmFzdE1vZGVDc3NDbGFzc2VzKCl9fV9GLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxfRikoVHIoeUYpKX0sX0YuybVtb2Q9Zm8oe3R5cGU6X0Z9KSxfRi7JtWluaj1Ebih7aW1wb3J0czpbW2RILHdIXV19KSxfRi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnlGfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihfRixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W2RILHdIXSxkZWNsYXJhdGlvbnM6W2RGLEdILHVGXSxleHBvcnRzOltkRixHSCx1Rl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp5Rn1dfSksbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhfRix7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW2RGLEdILHVGXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltkSCx3SF19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bZEYsR0gsdUZdfX0pO2NvbnN0IENGPW5ldyBlcigiY2RrLWRpci1kb2MiLHtwcm92aWRlZEluOiJyb290IixmYWN0b3J5OmZ1bmN0aW9uIE1GKCl7cmV0dXJuIHpyKHNNKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovfSk7Y2xhc3MgdkZ7Y29uc3RydWN0b3IodCl7aWYodGhpcy52YWx1ZT0ibHRyIix0aGlzLmNoYW5nZT1uZXcgU3ksdCl7Y29uc3QgZT10LmRvY3VtZW50RWxlbWVudD90LmRvY3VtZW50RWxlbWVudC5kaXI6bnVsbCxuPSh0LmJvZHk/dC5ib2R5LmRpcjpudWxsKXx8ZTt0aGlzLnZhbHVlPSJsdHIiPT09bnx8InJ0bCI9PT1uP246Imx0ciJ9fW5nT25EZXN0cm95KCl7dGhpcy5jaGFuZ2UuY29tcGxldGUoKX19dkYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHZGKShUcihDRiw4KSl9LHZGLsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyB2RihUcihDRiw4KSl9LHRva2VuOnZGLHByb3ZpZGVkSW46InJvb3QifSksdkYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W0NGXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih2Rixbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltDRl19XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyB4Rntjb25zdHJ1Y3Rvcigpe3RoaXMuX2Rpcj0ibHRyIix0aGlzLl9pc0luaXRpYWxpemVkPSExLHRoaXMuY2hhbmdlPW5ldyBTeX1nZXQgZGlyKCl7cmV0dXJuIHRoaXMuX2Rpcn1zZXQgZGlyKHQpe2NvbnN0IGU9dGhpcy5fZGlyLG49dD90LnRvTG93ZXJDYXNlKCk6dDt0aGlzLl9yYXdEaXI9dCx0aGlzLl9kaXI9Imx0ciI9PT1ufHwicnRsIj09PW4/bjoibHRyIixlIT09dGhpcy5fZGlyJiZ0aGlzLl9pc0luaXRpYWxpemVkJiZ0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX2Rpcil9Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuZGlyfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX2lzSW5pdGlhbGl6ZWQ9ITB9bmdPbkRlc3Ryb3koKXt0aGlzLmNoYW5nZS5jb21wbGV0ZSgpfX14Ri7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eEYpfSx4Ri7JtWRpcj1obyh7dHlwZTp4RixzZWxlY3RvcnM6W1siIiwiZGlyIiwiIl1dLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJnltKCJkaXIiLG4uX3Jhd0Rpcil9LGlucHV0czp7ZGlyOiJkaXIifSxvdXRwdXRzOntjaGFuZ2U6ImRpckNoYW5nZSJ9LGV4cG9ydEFzOlsiZGlyIl0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTp2Rix1c2VFeGlzdGluZzp4Rn1dKV19KSx4Ri5wcm9wRGVjb3JhdG9ycz17Y2hhbmdlOlt7dHlwZTpFXyxhcmdzOlsiZGlyQ2hhbmdlIl19XSxkaXI6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeEYsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Rpcl0iLHByb3ZpZGVyczpbe3Byb3ZpZGU6dkYsdXNlRXhpc3Rpbmc6eEZ9XSxob3N0OnsiW2F0dHIuZGlyXSI6Il9yYXdEaXIifSxleHBvcnRBczoiZGlyIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSx7Y2hhbmdlOlt7dHlwZTpFXyxhcmdzOlsiZGlyQ2hhbmdlIl19XSxkaXI6W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIE9Ge31PRi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8T0YpfSxPRi7JtW1vZD1mbyh7dHlwZTpPRn0pLE9GLsm1aW5qPURuKHt9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE9GLFt7dHlwZTpMXyxhcmdzOlt7ZXhwb3J0czpbeEZdLGRlY2xhcmF0aW9uczpbeEZdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oT0Yse2RlY2xhcmF0aW9uczpbeEZdLGV4cG9ydHM6W3hGXX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgUEY9bmV3IG9iKCIxMi4yLjEiKSx3Rj1bIioiLFtbIm1hdC1vcHRpb24iXSxbIm5nLWNvbnRhaW5lciJdXV07ZnVuY3Rpb24ga0YodCxlKXtpZigxJnQmJnZmKDAsIm1hdC1wc2V1ZG8tY2hlY2tib3giLDQpLDImdCl7Y29uc3QgdD16ZigpO2JmKCJzdGF0ZSIsdC5zZWxlY3RlZD8iY2hlY2tlZCI6InVuY2hlY2tlZCIpKCJkaXNhYmxlZCIsdC5kaXNhYmxlZCl9fWZ1bmN0aW9uIFNGKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsNSksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksa3UoIigiLHQuZ3JvdXAubGFiZWwsIikiKX19bmV3IG9iKCIxMi4yLjMiKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIERGe31ERi5TVEFOREFSRF9DVVJWRT0iY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC4yLDEpIixERi5ERUNFTEVSQVRJT05fQ1VSVkU9ImN1YmljLWJlemllcigwLjAsMC4wLDAuMiwxKSIsREYuQUNDRUxFUkFUSU9OX0NVUlZFPSJjdWJpYy1iZXppZXIoMC40LDAuMCwxLDEpIixERi5TSEFSUF9DVVJWRT0iY3ViaWMtYmV6aWVyKDAuNCwwLjAsMC42LDEpIjtjbGFzcyBSRnt9UkYuQ09NUExFWD0iMzc1bXMiLFJGLkVOVEVSSU5HPSIyMjVtcyIsUkYuRVhJVElORz0iMTk1bXMiOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgRUY9bmV3IG9iKCIxMi4yLjMiKTtjb25zdCBBRj1uZXcgZXIoIm1hdC1zYW5pdHktY2hlY2tzIix7cHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTpmdW5jdGlvbiBURigpe3JldHVybiEwfX0pO2NsYXNzIE5Ge2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9oYXNEb25lR2xvYmFsQ2hlY2tzPSExLHRoaXMuX2RvY3VtZW50PW4sdC5fYXBwbHlCb2R5SGlnaENvbnRyYXN0TW9kZUNzc0NsYXNzZXMoKSx0aGlzLl9zYW5pdHlDaGVja3M9ZSx0aGlzLl9oYXNEb25lR2xvYmFsQ2hlY2tzfHwodGhpcy5fY2hlY2tEb2N0eXBlSXNEZWZpbmVkKCksdGhpcy5fY2hlY2tUaGVtZUlzUHJlc2VudCgpLHRoaXMuX2NoZWNrQ2RrVmVyc2lvbk1hdGNoKCksdGhpcy5faGFzRG9uZUdsb2JhbENoZWNrcz0hMCl9X2dldFdpbmRvdygpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvdztyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJnQ/dDpudWxsfV9jaGVja0lzRW5hYmxlZCh0KXtyZXR1cm4hKCFQQygpfHx0aGlzLl9pc1Rlc3RFbnYoKSkmJigiYm9vbGVhbiI9PXR5cGVvZiB0aGlzLl9zYW5pdHlDaGVja3M/dGhpcy5fc2FuaXR5Q2hlY2tzOiEhdGhpcy5fc2FuaXR5Q2hlY2tzW3RdKX1faXNUZXN0RW52KCl7Y29uc3QgdD10aGlzLl9nZXRXaW5kb3coKTtyZXR1cm4gdCYmKHQuX19rYXJtYV9ffHx0Lmphc21pbmUpfV9jaGVja0RvY3R5cGVJc0RlZmluZWQoKXt0aGlzLl9jaGVja0lzRW5hYmxlZCgiZG9jdHlwZSIpJiYhdGhpcy5fZG9jdW1lbnQuZG9jdHlwZSYmY29uc29sZS53YXJuKCJDdXJyZW50IGRvY3VtZW50IGRvZXMgbm90IGhhdmUgYSBkb2N0eXBlLiBUaGlzIG1heSBjYXVzZSBzb21lIEFuZ3VsYXIgTWF0ZXJpYWwgY29tcG9uZW50cyBub3QgdG8gYmVoYXZlIGFzIGV4cGVjdGVkLiIpfV9jaGVja1RoZW1lSXNQcmVzZW50KCl7aWYoIXRoaXMuX2NoZWNrSXNFbmFibGVkKCJ0aGVtZSIpfHwhdGhpcy5fZG9jdW1lbnQuYm9keXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGdldENvbXB1dGVkU3R5bGUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dC5jbGFzc0xpc3QuYWRkKCJtYXQtdGhlbWUtbG9hZGVkLW1hcmtlciIpLHRoaXMuX2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7Y29uc3QgZT1nZXRDb21wdXRlZFN0eWxlKHQpO2UmJiJub25lIiE9PWUuZGlzcGxheSYmY29uc29sZS53YXJuKCJDb3VsZCBub3QgZmluZCBBbmd1bGFyIE1hdGVyaWFsIGNvcmUgdGhlbWUuIE1vc3QgTWF0ZXJpYWwgY29tcG9uZW50cyBtYXkgbm90IHdvcmsgYXMgZXhwZWN0ZWQuIEZvciBtb3JlIGluZm8gcmVmZXIgdG8gdGhlIHRoZW1pbmcgZ3VpZGU6IGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS90aGVtaW5nIiksdGhpcy5fZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0KX1fY2hlY2tDZGtWZXJzaW9uTWF0Y2goKXt0aGlzLl9jaGVja0lzRW5hYmxlZCgidmVyc2lvbiIpJiZFRi5mdWxsIT09UEYuZnVsbCYmY29uc29sZS53YXJuKCJUaGUgQW5ndWxhciBNYXRlcmlhbCB2ZXJzaW9uICgiK0VGLmZ1bGwrIikgZG9lcyBub3QgbWF0Y2ggdGhlIEFuZ3VsYXIgQ0RLIHZlcnNpb24gKCIrUEYuZnVsbCsiKS5cblBsZWFzZSBlbnN1cmUgdGhlIHZlcnNpb25zIG9mIHRoZXNlIHR3byBwYWNrYWdlcyBleGFjdGx5IG1hdGNoLiIpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIHpGKHQpe3JldHVybiBjbGFzcyBleHRlbmRzIHR7Y29uc3RydWN0b3IoLi4udCl7c3VwZXIoLi4udCksdGhpcy5fZGlzYWJsZWQ9ITF9Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkfXNldCBkaXNhYmxlZCh0KXt0aGlzLl9kaXNhYmxlZD1lSCh0KX19fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBJRih0LGUpe3JldHVybiBjbGFzcyBleHRlbmRzIHR7Y29uc3RydWN0b3IoLi4udCl7c3VwZXIoLi4udCksdGhpcy5kZWZhdWx0Q29sb3I9ZSx0aGlzLmNvbG9yPWV9Z2V0IGNvbG9yKCl7cmV0dXJuIHRoaXMuX2NvbG9yfXNldCBjb2xvcih0KXtjb25zdCBlPXR8fHRoaXMuZGVmYXVsdENvbG9yO2UhPT10aGlzLl9jb2xvciYmKHRoaXMuX2NvbG9yJiZ0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShgbWF0LSR7dGhpcy5fY29sb3J9YCksZSYmdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYG1hdC0ke2V9YCksdGhpcy5fY29sb3I9ZSl9fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gSEYodCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgdHtjb25zdHJ1Y3RvciguLi50KXtzdXBlciguLi50KSx0aGlzLl9kaXNhYmxlUmlwcGxlPSExfWdldCBkaXNhYmxlUmlwcGxlKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVSaXBwbGV9c2V0IGRpc2FibGVSaXBwbGUodCl7dGhpcy5fZGlzYWJsZVJpcHBsZT1lSCh0KX19fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBGRih0LGU9MCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgdHtjb25zdHJ1Y3RvciguLi50KXtzdXBlciguLi50KSx0aGlzLl90YWJJbmRleD1lLHRoaXMuZGVmYXVsdFRhYkluZGV4PWV9Z2V0IHRhYkluZGV4KCl7cmV0dXJuIHRoaXMuZGlzYWJsZWQ/LTE6dGhpcy5fdGFiSW5kZXh9c2V0IHRhYkluZGV4KHQpe3RoaXMuX3RhYkluZGV4PW51bGwhPXQ/bkgodCk6dGhpcy5kZWZhdWx0VGFiSW5kZXh9fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gTEYodCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgdHtjb25zdHJ1Y3RvciguLi50KXtzdXBlciguLi50KSx0aGlzLnN0YXRlQ2hhbmdlcz1uZXcgQix0aGlzLmVycm9yU3RhdGU9ITF9dXBkYXRlRXJyb3JTdGF0ZSgpe2NvbnN0IHQ9dGhpcy5lcnJvclN0YXRlLGU9KHRoaXMuZXJyb3JTdGF0ZU1hdGNoZXJ8fHRoaXMuX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcikuaXNFcnJvclN0YXRlKHRoaXMubmdDb250cm9sP3RoaXMubmdDb250cm9sLmNvbnRyb2w6bnVsbCx0aGlzLl9wYXJlbnRGb3JtR3JvdXB8fHRoaXMuX3BhcmVudEZvcm0pO2UhPT10JiYodGhpcy5lcnJvclN0YXRlPWUsdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpKX19fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBCRih0KXtyZXR1cm4gY2xhc3MgZXh0ZW5kcyB0e2NvbnN0cnVjdG9yKC4uLnQpe3N1cGVyKC4uLnQpLHRoaXMuX2lzSW5pdGlhbGl6ZWQ9ITEsdGhpcy5fcGVuZGluZ1N1YnNjcmliZXJzPVtdLHRoaXMuaW5pdGlhbGl6ZWQ9bmV3IFQoKHQ9Pnt0aGlzLl9pc0luaXRpYWxpemVkP3RoaXMuX25vdGlmeVN1YnNjcmliZXIodCk6dGhpcy5fcGVuZGluZ1N1YnNjcmliZXJzLnB1c2godCl9KSl9X21hcmtJbml0aWFsaXplZCgpe2lmKHRoaXMuX2lzSW5pdGlhbGl6ZWQmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBFcnJvcigiVGhpcyBkaXJlY3RpdmUgaGFzIGFscmVhZHkgYmVlbiBtYXJrZWQgYXMgaW5pdGlhbGl6ZWQgYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIHR3aWNlLiIpO3RoaXMuX2lzSW5pdGlhbGl6ZWQ9ITAsdGhpcy5fcGVuZGluZ1N1YnNjcmliZXJzLmZvckVhY2godGhpcy5fbm90aWZ5U3Vic2NyaWJlciksdGhpcy5fcGVuZGluZ1N1YnNjcmliZXJzPW51bGx9X25vdGlmeVN1YnNjcmliZXIodCl7dC5uZXh0KCksdC5jb21wbGV0ZSgpfX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9ORi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TkYpKFRyKHlGKSxUcihBRiw4KSxUcihzTSkpfSxORi7JtW1vZD1mbyh7dHlwZTpORn0pLE5GLsm1aW5qPURuKHtpbXBvcnRzOltbT0ZdLE9GXX0pLE5GLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6eUZ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbQUZdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTkYsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltPRl0sZXhwb3J0czpbT0ZdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6eUZ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbQUZdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dfSksbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhORix7aW1wb3J0czpmdW5jdGlvbigpe3JldHVybltPRl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bT0ZdfX0pO2NvbnN0IFZGPW5ldyBlcigiTUFUX0RBVEVfTE9DQUxFIix7cHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTpmdW5jdGlvbiBqRigpe3JldHVybiB6cihRXyl9fSk7Y2xhc3MgVUZ7Y29uc3RydWN0b3IoKXt0aGlzLl9sb2NhbGVDaGFuZ2VzPW5ldyBCLHRoaXMubG9jYWxlQ2hhbmdlcz10aGlzLl9sb2NhbGVDaGFuZ2VzfWdldFZhbGlkRGF0ZU9yTnVsbCh0KXtyZXR1cm4gdGhpcy5pc0RhdGVJbnN0YW5jZSh0KSYmdGhpcy5pc1ZhbGlkKHQpP3Q6bnVsbH1kZXNlcmlhbGl6ZSh0KXtyZXR1cm4gbnVsbD09dHx8dGhpcy5pc0RhdGVJbnN0YW5jZSh0KSYmdGhpcy5pc1ZhbGlkKHQpP3Q6dGhpcy5pbnZhbGlkKCl9c2V0TG9jYWxlKHQpe3RoaXMubG9jYWxlPXQsdGhpcy5fbG9jYWxlQ2hhbmdlcy5uZXh0KCl9Y29tcGFyZURhdGUodCxlKXtyZXR1cm4gdGhpcy5nZXRZZWFyKHQpLXRoaXMuZ2V0WWVhcihlKXx8dGhpcy5nZXRNb250aCh0KS10aGlzLmdldE1vbnRoKGUpfHx0aGlzLmdldERhdGUodCktdGhpcy5nZXREYXRlKGUpfXNhbWVEYXRlKHQsZSl7aWYodCYmZSl7bGV0IG49dGhpcy5pc1ZhbGlkKHQpLG89dGhpcy5pc1ZhbGlkKGUpO3JldHVybiBuJiZvPyF0aGlzLmNvbXBhcmVEYXRlKHQsZSk6bj09b31yZXR1cm4gdD09ZX1jbGFtcERhdGUodCxlLG4pe3JldHVybiBlJiZ0aGlzLmNvbXBhcmVEYXRlKHQsZSk8MD9lOm4mJnRoaXMuY29tcGFyZURhdGUodCxuKT4wP246dH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFdGPW5ldyBlcigibWF0LWRhdGUtZm9ybWF0cyIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9sZXQgR0Y7dHJ5e0dGPSJ1bmRlZmluZWQiIT10eXBlb2YgSW50bH1jYXRjaChtQ3Qpe0dGPSExfWNvbnN0IFlGPXtsb25nOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxzaG9ydDpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLG5hcnJvdzpbIkoiLCJGIiwiTSIsIkEiLCJNIiwiSiIsIkoiLCJBIiwiUyIsIk8iLCJOIiwiRCJdfSxxRj1LRigzMSwodD0+U3RyaW5nKHQrMSkpKSxaRj17bG9uZzpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sc2hvcnQ6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSxuYXJyb3c6WyJTIiwiTSIsIlQiLCJXIiwiVCIsIkYiLCJTIl19LFhGPS9eXGR7NH0tXGR7Mn0tXGR7Mn0oPzpUXGR7Mn06XGR7Mn06XGR7Mn0oPzpcLlxkKyk/KD86WnwoPzooPzpcK3wtKVxkezJ9OlxkezJ9KSk/KT8kLztmdW5jdGlvbiBLRih0LGUpe2NvbnN0IG49QXJyYXkodCk7Zm9yKGxldCBvPTA7bzx0O28rKyluW29dPWUobyk7cmV0dXJuIG59Y2xhc3MgSkYgZXh0ZW5kcyBVRntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy51c2VVdGNGb3JEaXNwbGF5PSEwLHN1cGVyLnNldExvY2FsZSh0KSx0aGlzLnVzZVV0Y0ZvckRpc3BsYXk9IWUuVFJJREVOVCx0aGlzLl9jbGFtcERhdGU9ZS5UUklERU5UfHxlLkVER0V9Z2V0WWVhcih0KXtyZXR1cm4gdC5nZXRGdWxsWWVhcigpfWdldE1vbnRoKHQpe3JldHVybiB0LmdldE1vbnRoKCl9Z2V0RGF0ZSh0KXtyZXR1cm4gdC5nZXREYXRlKCl9Z2V0RGF5T2ZXZWVrKHQpe3JldHVybiB0LmdldERheSgpfWdldE1vbnRoTmFtZXModCl7aWYoR0Ype2NvbnN0IGU9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5sb2NhbGUse21vbnRoOnQsdGltZVpvbmU6InV0YyJ9KTtyZXR1cm4gS0YoMTIsKHQ9PnRoaXMuX3N0cmlwRGlyZWN0aW9uYWxpdHlDaGFyYWN0ZXJzKHRoaXMuX2Zvcm1hdChlLG5ldyBEYXRlKDIwMTcsdCwxKSkpKSl9cmV0dXJuIFlGW3RdfWdldERhdGVOYW1lcygpe2lmKEdGKXtjb25zdCB0PW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMubG9jYWxlLHtkYXk6Im51bWVyaWMiLHRpbWVab25lOiJ1dGMifSk7cmV0dXJuIEtGKDMxLChlPT50aGlzLl9zdHJpcERpcmVjdGlvbmFsaXR5Q2hhcmFjdGVycyh0aGlzLl9mb3JtYXQodCxuZXcgRGF0ZSgyMDE3LDAsZSsxKSkpKSl9cmV0dXJuIHFGfWdldERheU9mV2Vla05hbWVzKHQpe2lmKEdGKXtjb25zdCBlPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMubG9jYWxlLHt3ZWVrZGF5OnQsdGltZVpvbmU6InV0YyJ9KTtyZXR1cm4gS0YoNywodD0+dGhpcy5fc3RyaXBEaXJlY3Rpb25hbGl0eUNoYXJhY3RlcnModGhpcy5fZm9ybWF0KGUsbmV3IERhdGUoMjAxNywwLHQrMSkpKSkpfXJldHVybiBaRlt0XX1nZXRZZWFyTmFtZSh0KXtpZihHRil7Y29uc3QgZT1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0aGlzLmxvY2FsZSx7eWVhcjoibnVtZXJpYyIsdGltZVpvbmU6InV0YyJ9KTtyZXR1cm4gdGhpcy5fc3RyaXBEaXJlY3Rpb25hbGl0eUNoYXJhY3RlcnModGhpcy5fZm9ybWF0KGUsdCkpfXJldHVybiBTdHJpbmcodGhpcy5nZXRZZWFyKHQpKX1nZXRGaXJzdERheU9mV2Vlaygpe3JldHVybiAwfWdldE51bURheXNJbk1vbnRoKHQpe3JldHVybiB0aGlzLmdldERhdGUodGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh0aGlzLmdldFllYXIodCksdGhpcy5nZXRNb250aCh0KSsxLDApKX1jbG9uZSh0KXtyZXR1cm4gbmV3IERhdGUodC5nZXRUaW1lKCkpfWNyZWF0ZURhdGUodCxlLG4pe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpe2lmKGU8MHx8ZT4xMSl0aHJvdyBFcnJvcihgSW52YWxpZCBtb250aCBpbmRleCAiJHtlfSIuIE1vbnRoIGluZGV4IGhhcyB0byBiZSBiZXR3ZWVuIDAgYW5kIDExLmApO2lmKG48MSl0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlICIke259Ii4gRGF0ZSBoYXMgdG8gYmUgZ3JlYXRlciB0aGFuIDAuYCl9bGV0IG89dGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh0LGUsbik7aWYoby5nZXRNb250aCgpIT1lJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgRXJyb3IoYEludmFsaWQgZGF0ZSAiJHtufSIgZm9yIG1vbnRoIHdpdGggaW5kZXggIiR7ZX0iLmApO3JldHVybiBvfXRvZGF5KCl7cmV0dXJuIG5ldyBEYXRlfXBhcnNlKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdD9uZXcgRGF0ZSh0KTp0P25ldyBEYXRlKERhdGUucGFyc2UodCkpOm51bGx9Zm9ybWF0KHQsZSl7aWYoIXRoaXMuaXNWYWxpZCh0KSl0aHJvdyBFcnJvcigiTmF0aXZlRGF0ZUFkYXB0ZXI6IENhbm5vdCBmb3JtYXQgaW52YWxpZCBkYXRlLiIpO2lmKEdGKXt0aGlzLl9jbGFtcERhdGUmJih0LmdldEZ1bGxZZWFyKCk8MXx8dC5nZXRGdWxsWWVhcigpPjk5OTkpJiYodD10aGlzLmNsb25lKHQpKS5zZXRGdWxsWWVhcihNYXRoLm1heCgxLE1hdGgubWluKDk5OTksdC5nZXRGdWxsWWVhcigpKSkpLGU9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGUpLHt0aW1lWm9uZToidXRjIn0pO2NvbnN0IG49bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5sb2NhbGUsZSk7cmV0dXJuIHRoaXMuX3N0cmlwRGlyZWN0aW9uYWxpdHlDaGFyYWN0ZXJzKHRoaXMuX2Zvcm1hdChuLHQpKX1yZXR1cm4gdGhpcy5fc3RyaXBEaXJlY3Rpb25hbGl0eUNoYXJhY3RlcnModC50b0RhdGVTdHJpbmcoKSl9YWRkQ2FsZW5kYXJZZWFycyh0LGUpe3JldHVybiB0aGlzLmFkZENhbGVuZGFyTW9udGhzKHQsMTIqZSl9YWRkQ2FsZW5kYXJNb250aHModCxlKXtsZXQgbj10aGlzLl9jcmVhdGVEYXRlV2l0aE92ZXJmbG93KHRoaXMuZ2V0WWVhcih0KSx0aGlzLmdldE1vbnRoKHQpK2UsdGhpcy5nZXREYXRlKHQpKTtyZXR1cm4gdGhpcy5nZXRNb250aChuKSE9KCh0aGlzLmdldE1vbnRoKHQpK2UpJTEyKzEyKSUxMiYmKG49dGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh0aGlzLmdldFllYXIobiksdGhpcy5nZXRNb250aChuKSwwKSksbn1hZGRDYWxlbmRhckRheXModCxlKXtyZXR1cm4gdGhpcy5fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh0aGlzLmdldFllYXIodCksdGhpcy5nZXRNb250aCh0KSx0aGlzLmdldERhdGUodCkrZSl9dG9Jc284NjAxKHQpe3JldHVyblt0LmdldFVUQ0Z1bGxZZWFyKCksdGhpcy5fMmRpZ2l0KHQuZ2V0VVRDTW9udGgoKSsxKSx0aGlzLl8yZGlnaXQodC5nZXRVVENEYXRlKCkpXS5qb2luKCItIil9ZGVzZXJpYWxpemUodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZighdClyZXR1cm4gbnVsbDtpZihYRi50ZXN0KHQpKXtsZXQgZT1uZXcgRGF0ZSh0KTtpZih0aGlzLmlzVmFsaWQoZSkpcmV0dXJuIGV9fXJldHVybiBzdXBlci5kZXNlcmlhbGl6ZSh0KX1pc0RhdGVJbnN0YW5jZSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIERhdGV9aXNWYWxpZCh0KXtyZXR1cm4haXNOYU4odC5nZXRUaW1lKCkpfWludmFsaWQoKXtyZXR1cm4gbmV3IERhdGUoTmFOKX1fY3JlYXRlRGF0ZVdpdGhPdmVyZmxvdyh0LGUsbil7Y29uc3Qgbz1uZXcgRGF0ZTtyZXR1cm4gby5zZXRGdWxsWWVhcih0LGUsbiksby5zZXRIb3VycygwLDAsMCwwKSxvfV8yZGlnaXQodCl7cmV0dXJuKCIwMCIrdCkuc2xpY2UoLTIpfV9zdHJpcERpcmVjdGlvbmFsaXR5Q2hhcmFjdGVycyh0KXtyZXR1cm4gdC5yZXBsYWNlKC9bXHUyMDBlXHUyMDBmXS9nLCIiKX1fZm9ybWF0KHQsZSl7Y29uc3Qgbj1uZXcgRGF0ZTtyZXR1cm4gbi5zZXRVVENGdWxsWWVhcihlLmdldEZ1bGxZZWFyKCksZS5nZXRNb250aCgpLGUuZ2V0RGF0ZSgpKSxuLnNldFVUQ0hvdXJzKGUuZ2V0SG91cnMoKSxlLmdldE1pbnV0ZXMoKSxlLmdldFNlY29uZHMoKSxlLmdldE1pbGxpc2Vjb25kcygpKSx0LmZvcm1hdChuKX19SkYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEpGKShUcihWRiw4KSxUcihjSCkpfSxKRi7JtXByb3Y9U24oe3Rva2VuOkpGLGZhY3Rvcnk6SkYuybVmYWN9KSxKRi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbVkZdfV19LHt0eXBlOmNIfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihKRixbe3R5cGU6VW19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltWRl19XX0se3R5cGU6Y0h9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgUUZ7fVFGLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxRRil9LFFGLsm1bW9kPWZvKHt0eXBlOlFGfSksUUYuybVpbmo9RG4oe3Byb3ZpZGVyczpbe3Byb3ZpZGU6VUYsdXNlQ2xhc3M6SkZ9XSxpbXBvcnRzOltbZEhdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUUYsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltkSF0scHJvdmlkZXJzOlt7cHJvdmlkZTpVRix1c2VDbGFzczpKRn1dfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oUUYse2ltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bZEhdfX0pO2NvbnN0ICRGPXtwYXJzZTp7ZGF0ZUlucHV0Om51bGx9LGRpc3BsYXk6e2RhdGVJbnB1dDp7eWVhcjoibnVtZXJpYyIsbW9udGg6Im51bWVyaWMiLGRheToibnVtZXJpYyJ9LG1vbnRoWWVhckxhYmVsOnt5ZWFyOiJudW1lcmljIixtb250aDoic2hvcnQifSxkYXRlQTExeUxhYmVsOnt5ZWFyOiJudW1lcmljIixtb250aDoibG9uZyIsZGF5OiJudW1lcmljIn0sbW9udGhZZWFyQTExeUxhYmVsOnt5ZWFyOiJudW1lcmljIixtb250aDoibG9uZyJ9fX07Y2xhc3MgdEx7fXRMLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0TCl9LHRMLsm1bW9kPWZvKHt0eXBlOnRMfSksdEwuybVpbmo9RG4oe3Byb3ZpZGVyczpbe3Byb3ZpZGU6V0YsdXNlVmFsdWU6JEZ9XSxpbXBvcnRzOltbUUZdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodEwsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltRRl0scHJvdmlkZXJzOlt7cHJvdmlkZTpXRix1c2VWYWx1ZTokRn1dfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8odEwse2ltcG9ydHM6W1FGXX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgZUx7aXNFcnJvclN0YXRlKHQsZSl7cmV0dXJuISEodCYmdC5pbnZhbGlkJiYodC5kaXJ0eXx8ZSYmZS5zdWJtaXR0ZWQpKX19ZUwuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGVMKX0sZUwuybVwcm92PVNuKHt0b2tlbjplTCxmYWN0b3J5OmVMLsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihlTCxbe3R5cGU6VW19XSxudWxsLG51bGwpO2NsYXNzIG5Me2lzRXJyb3JTdGF0ZSh0LGUpe3JldHVybiEhKHQmJnQuaW52YWxpZCYmKHQudG91Y2hlZHx8ZSYmZS5zdWJtaXR0ZWQpKX19bkwuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG5MKX0sbkwuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IG5MfSx0b2tlbjpuTCxwcm92aWRlZEluOiJyb290In0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobkwsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIG9Me31vTC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8b0wpfSxvTC7JtWRpcj1obyh7dHlwZTpvTCxzZWxlY3RvcnM6W1siIiwibWF0LWxpbmUiLCIiXSxbIiIsIm1hdExpbmUiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtbGluZSJdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihvTCxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbWF0LWxpbmVdLCBbbWF0TGluZV0iLGhvc3Q6e2NsYXNzOiJtYXQtbGluZSJ9fV19XSxudWxsLG51bGwpO2NsYXNzIGlMe31pTC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aUwpfSxpTC7JtW1vZD1mbyh7dHlwZTppTH0pLGlMLsm1aW5qPURuKHtpbXBvcnRzOltbTkZdLE5GXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaUwsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltORl0sZXhwb3J0czpbb0wsTkZdLGRlY2xhcmF0aW9uczpbb0xdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oaUwse2RlY2xhcmF0aW9uczpbb0xdLGltcG9ydHM6W05GXSxleHBvcnRzOltvTCxORl19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIGFMe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9yZW5kZXJlcj10LHRoaXMuZWxlbWVudD1lLHRoaXMuY29uZmlnPW4sdGhpcy5zdGF0ZT0zfWZhZGVPdXQoKXt0aGlzLl9yZW5kZXJlci5mYWRlT3V0UmlwcGxlKHRoaXMpfX1jb25zdCByTD17ZW50ZXJEdXJhdGlvbjoyMjUsZXhpdER1cmF0aW9uOjE1MH0sc0w9Ykgoe3Bhc3NpdmU6ITB9KSxsTD1bIm1vdXNlZG93biIsInRvdWNoc3RhcnQiXSxjTD1bIm1vdXNldXAiLCJtb3VzZWxlYXZlIiwidG91Y2hlbmQiLCJ0b3VjaGNhbmNlbCJdO2NsYXNzIGRMe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX3RhcmdldD10LHRoaXMuX25nWm9uZT1lLHRoaXMuX2lzUG9pbnRlckRvd249ITEsdGhpcy5fYWN0aXZlUmlwcGxlcz1uZXcgU2V0LHRoaXMuX3BvaW50ZXJVcEV2ZW50c1JlZ2lzdGVyZWQ9ITEsby5pc0Jyb3dzZXImJih0aGlzLl9jb250YWluZXJFbGVtZW50PXJIKG4pKX1mYWRlSW5SaXBwbGUodCxlLG49e30pe2NvbnN0IG89dGhpcy5fY29udGFpbmVyUmVjdD10aGlzLl9jb250YWluZXJSZWN0fHx0aGlzLl9jb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHJMKSxuLmFuaW1hdGlvbik7bi5jZW50ZXJlZCYmKHQ9by5sZWZ0K28ud2lkdGgvMixlPW8udG9wK28uaGVpZ2h0LzIpO2NvbnN0IGE9bi5yYWRpdXN8fChmdW5jdGlvbiByKHQsZSxuKXtjb25zdCBvPU1hdGgubWF4KE1hdGguYWJzKHQtbi5sZWZ0KSxNYXRoLmFicyh0LW4ucmlnaHQpKSxpPU1hdGgubWF4KE1hdGguYWJzKGUtbi50b3ApLE1hdGguYWJzKGUtbi5ib3R0b20pKTtyZXR1cm4gTWF0aC5zcXJ0KG8qbytpKmkpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKHQsZSxvKSxzPXQtby5sZWZ0LGw9ZS1vLnRvcCxjPWkuZW50ZXJEdXJhdGlvbixkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2QuY2xhc3NMaXN0LmFkZCgibWF0LXJpcHBsZS1lbGVtZW50IiksZC5zdHlsZS5sZWZ0PXMtYSsicHgiLGQuc3R5bGUudG9wPWwtYSsicHgiLGQuc3R5bGUuaGVpZ2h0PTIqYSsicHgiLGQuc3R5bGUud2lkdGg9MiphKyJweCIsbnVsbCE9bi5jb2xvciYmKGQuc3R5bGUuYmFja2dyb3VuZENvbG9yPW4uY29sb3IpLGQuc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPWAke2N9bXNgLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQoZCksKGZ1bmN0aW9uIHAodCl7d2luZG93LmdldENvbXB1dGVkU3R5bGUodCkuZ2V0UHJvcGVydHlWYWx1ZSgib3BhY2l0eSIpfSkoZCksZC5zdHlsZS50cmFuc2Zvcm09InNjYWxlKDEpIjtjb25zdCBtPW5ldyBhTCh0aGlzLGQsbik7cmV0dXJuIG0uc3RhdGU9MCx0aGlzLl9hY3RpdmVSaXBwbGVzLmFkZChtKSxuLnBlcnNpc3RlbnR8fCh0aGlzLl9tb3N0UmVjZW50VHJhbnNpZW50UmlwcGxlPW0pLHRoaXMuX3J1blRpbWVvdXRPdXRzaWRlWm9uZSgoKCk9Pntjb25zdCB0PW09PT10aGlzLl9tb3N0UmVjZW50VHJhbnNpZW50UmlwcGxlO20uc3RhdGU9MSxuLnBlcnNpc3RlbnR8fHQmJnRoaXMuX2lzUG9pbnRlckRvd258fG0uZmFkZU91dCgpfSksYyksbX1mYWRlT3V0UmlwcGxlKHQpe2NvbnN0IGU9dGhpcy5fYWN0aXZlUmlwcGxlcy5kZWxldGUodCk7aWYodD09PXRoaXMuX21vc3RSZWNlbnRUcmFuc2llbnRSaXBwbGUmJih0aGlzLl9tb3N0UmVjZW50VHJhbnNpZW50UmlwcGxlPW51bGwpLHRoaXMuX2FjdGl2ZVJpcHBsZXMuc2l6ZXx8KHRoaXMuX2NvbnRhaW5lclJlY3Q9bnVsbCksIWUpcmV0dXJuO2NvbnN0IG49dC5lbGVtZW50LG89T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHJMKSx0LmNvbmZpZy5hbmltYXRpb24pO24uc3R5bGUudHJhbnNpdGlvbkR1cmF0aW9uPWAke28uZXhpdER1cmF0aW9ufW1zYCxuLnN0eWxlLm9wYWNpdHk9IjAiLHQuc3RhdGU9Mix0aGlzLl9ydW5UaW1lb3V0T3V0c2lkZVpvbmUoKCgpPT57dC5zdGF0ZT0zLG4ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKX0pLG8uZXhpdER1cmF0aW9uKX1mYWRlT3V0QWxsKCl7dGhpcy5fYWN0aXZlUmlwcGxlcy5mb3JFYWNoKCh0PT50LmZhZGVPdXQoKSkpfWZhZGVPdXRBbGxOb25QZXJzaXN0ZW50KCl7dGhpcy5fYWN0aXZlUmlwcGxlcy5mb3JFYWNoKCh0PT57dC5jb25maWcucGVyc2lzdGVudHx8dC5mYWRlT3V0KCl9KSl9c2V0dXBUcmlnZ2VyRXZlbnRzKHQpe2NvbnN0IGU9ckgodCk7ZSYmZSE9PXRoaXMuX3RyaWdnZXJFbGVtZW50JiYodGhpcy5fcmVtb3ZlVHJpZ2dlckV2ZW50cygpLHRoaXMuX3RyaWdnZXJFbGVtZW50PWUsdGhpcy5fcmVnaXN0ZXJFdmVudHMobEwpKX1oYW5kbGVFdmVudCh0KXsibW91c2Vkb3duIj09PXQudHlwZT90aGlzLl9vbk1vdXNlZG93bih0KToidG91Y2hzdGFydCI9PT10LnR5cGU/dGhpcy5fb25Ub3VjaFN0YXJ0KHQpOnRoaXMuX29uUG9pbnRlclVwKCksdGhpcy5fcG9pbnRlclVwRXZlbnRzUmVnaXN0ZXJlZHx8KHRoaXMuX3JlZ2lzdGVyRXZlbnRzKGNMKSx0aGlzLl9wb2ludGVyVXBFdmVudHNSZWdpc3RlcmVkPSEwKX1fb25Nb3VzZWRvd24odCl7Y29uc3QgZT10Rih0KSxuPXRoaXMuX2xhc3RUb3VjaFN0YXJ0RXZlbnQmJkRhdGUubm93KCk8dGhpcy5fbGFzdFRvdWNoU3RhcnRFdmVudCs4MDA7dGhpcy5fdGFyZ2V0LnJpcHBsZURpc2FibGVkfHxlfHxufHwodGhpcy5faXNQb2ludGVyRG93bj0hMCx0aGlzLmZhZGVJblJpcHBsZSh0LmNsaWVudFgsdC5jbGllbnRZLHRoaXMuX3RhcmdldC5yaXBwbGVDb25maWcpKX1fb25Ub3VjaFN0YXJ0KHQpe2lmKCF0aGlzLl90YXJnZXQucmlwcGxlRGlzYWJsZWQmJiFlRih0KSl7dGhpcy5fbGFzdFRvdWNoU3RhcnRFdmVudD1EYXRlLm5vdygpLHRoaXMuX2lzUG9pbnRlckRvd249ITA7Y29uc3QgZT10LmNoYW5nZWRUb3VjaGVzO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXRoaXMuZmFkZUluUmlwcGxlKGVbdF0uY2xpZW50WCxlW3RdLmNsaWVudFksdGhpcy5fdGFyZ2V0LnJpcHBsZUNvbmZpZyl9fV9vblBvaW50ZXJVcCgpe3RoaXMuX2lzUG9pbnRlckRvd24mJih0aGlzLl9pc1BvaW50ZXJEb3duPSExLHRoaXMuX2FjdGl2ZVJpcHBsZXMuZm9yRWFjaCgodD0+eyF0LmNvbmZpZy5wZXJzaXN0ZW50JiYoMT09PXQuc3RhdGV8fHQuY29uZmlnLnRlcm1pbmF0ZU9uUG9pbnRlclVwJiYwPT09dC5zdGF0ZSkmJnQuZmFkZU91dCgpfSkpKX1fcnVuVGltZW91dE91dHNpZGVab25lKHQsZT0wKXt0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT5zZXRUaW1lb3V0KHQsZSkpKX1fcmVnaXN0ZXJFdmVudHModCl7dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3QuZm9yRWFjaCgodD0+e3RoaXMuX3RyaWdnZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIodCx0aGlzLHNMKX0pKX0pKX1fcmVtb3ZlVHJpZ2dlckV2ZW50cygpe3RoaXMuX3RyaWdnZXJFbGVtZW50JiYobEwuZm9yRWFjaCgodD0+e3RoaXMuX3RyaWdnZXJFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodCx0aGlzLHNMKX0pKSx0aGlzLl9wb2ludGVyVXBFdmVudHNSZWdpc3RlcmVkJiZjTC5mb3JFYWNoKCh0PT57dGhpcy5fdHJpZ2dlckVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LHRoaXMsc0wpfSkpKX19Y29uc3QgcEw9bmV3IGVyKCJtYXQtcmlwcGxlLWdsb2JhbC1vcHRpb25zIik7Y2xhc3MgbUx7Y29uc3RydWN0b3IodCxlLG4sbyxpKXt0aGlzLl9lbGVtZW50UmVmPXQsdGhpcy5fYW5pbWF0aW9uTW9kZT1pLHRoaXMucmFkaXVzPTAsdGhpcy5fZGlzYWJsZWQ9ITEsdGhpcy5faXNJbml0aWFsaXplZD0hMSx0aGlzLl9nbG9iYWxPcHRpb25zPW98fHt9LHRoaXMuX3JpcHBsZVJlbmRlcmVyPW5ldyBkTCh0aGlzLGUsdCxuKX1nZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5fZGlzYWJsZWR9c2V0IGRpc2FibGVkKHQpe3QmJnRoaXMuZmFkZU91dEFsbE5vblBlcnNpc3RlbnQoKSx0aGlzLl9kaXNhYmxlZD10LHRoaXMuX3NldHVwVHJpZ2dlckV2ZW50c0lmRW5hYmxlZCgpfWdldCB0cmlnZ2VyKCl7cmV0dXJuIHRoaXMuX3RyaWdnZXJ8fHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudH1zZXQgdHJpZ2dlcih0KXt0aGlzLl90cmlnZ2VyPXQsdGhpcy5fc2V0dXBUcmlnZ2VyRXZlbnRzSWZFbmFibGVkKCl9bmdPbkluaXQoKXt0aGlzLl9pc0luaXRpYWxpemVkPSEwLHRoaXMuX3NldHVwVHJpZ2dlckV2ZW50c0lmRW5hYmxlZCgpfW5nT25EZXN0cm95KCl7dGhpcy5fcmlwcGxlUmVuZGVyZXIuX3JlbW92ZVRyaWdnZXJFdmVudHMoKX1mYWRlT3V0QWxsKCl7dGhpcy5fcmlwcGxlUmVuZGVyZXIuZmFkZU91dEFsbCgpfWZhZGVPdXRBbGxOb25QZXJzaXN0ZW50KCl7dGhpcy5fcmlwcGxlUmVuZGVyZXIuZmFkZU91dEFsbE5vblBlcnNpc3RlbnQoKX1nZXQgcmlwcGxlQ29uZmlnKCl7cmV0dXJue2NlbnRlcmVkOnRoaXMuY2VudGVyZWQscmFkaXVzOnRoaXMucmFkaXVzLGNvbG9yOnRoaXMuY29sb3IsYW5pbWF0aW9uOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMuX2dsb2JhbE9wdGlvbnMuYW5pbWF0aW9uKSwiTm9vcEFuaW1hdGlvbnMiPT09dGhpcy5fYW5pbWF0aW9uTW9kZT97ZW50ZXJEdXJhdGlvbjowLGV4aXREdXJhdGlvbjowfTp7fSksdGhpcy5hbmltYXRpb24pLHRlcm1pbmF0ZU9uUG9pbnRlclVwOnRoaXMuX2dsb2JhbE9wdGlvbnMudGVybWluYXRlT25Qb2ludGVyVXB9fWdldCByaXBwbGVEaXNhYmxlZCgpe3JldHVybiB0aGlzLmRpc2FibGVkfHwhIXRoaXMuX2dsb2JhbE9wdGlvbnMuZGlzYWJsZWR9X3NldHVwVHJpZ2dlckV2ZW50c0lmRW5hYmxlZCgpeyF0aGlzLmRpc2FibGVkJiZ0aGlzLl9pc0luaXRpYWxpemVkJiZ0aGlzLl9yaXBwbGVSZW5kZXJlci5zZXR1cFRyaWdnZXJFdmVudHModGhpcy50cmlnZ2VyKX1sYXVuY2godCxlPTAsbil7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0P3RoaXMuX3JpcHBsZVJlbmRlcmVyLmZhZGVJblJpcHBsZSh0LGUsT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMucmlwcGxlQ29uZmlnKSxuKSk6dGhpcy5fcmlwcGxlUmVuZGVyZXIuZmFkZUluUmlwcGxlKDAsMCxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdGhpcy5yaXBwbGVDb25maWcpLHQpKX19bUwuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG1MKShnZihLaCksZ2YobUMpLGdmKGNIKSxnZihwTCw4KSxnZihjayw4KSl9LG1MLsm1ZGlyPWhvKHt0eXBlOm1MLHNlbGVjdG9yczpbWyIiLCJtYXQtcmlwcGxlIiwiIl0sWyIiLCJtYXRSaXBwbGUiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtcmlwcGxlIl0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoIm1hdC1yaXBwbGUtdW5ib3VuZGVkIixuLnVuYm91bmRlZCl9LGlucHV0czp7cmFkaXVzOlsibWF0UmlwcGxlUmFkaXVzIiwicmFkaXVzIl0sZGlzYWJsZWQ6WyJtYXRSaXBwbGVEaXNhYmxlZCIsImRpc2FibGVkIl0sdHJpZ2dlcjpbIm1hdFJpcHBsZVRyaWdnZXIiLCJ0cmlnZ2VyIl0sY29sb3I6WyJtYXRSaXBwbGVDb2xvciIsImNvbG9yIl0sdW5ib3VuZGVkOlsibWF0UmlwcGxlVW5ib3VuZGVkIiwidW5ib3VuZGVkIl0sY2VudGVyZWQ6WyJtYXRSaXBwbGVDZW50ZXJlZCIsImNlbnRlcmVkIl0sYW5pbWF0aW9uOlsibWF0UmlwcGxlQW5pbWF0aW9uIiwiYW5pbWF0aW9uIl19LGV4cG9ydEFzOlsibWF0UmlwcGxlIl19KSxtTC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbcExdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XSxtTC5wcm9wRGVjb3JhdG9ycz17Y29sb3I6W3t0eXBlOlJfLGFyZ3M6WyJtYXRSaXBwbGVDb2xvciJdfV0sdW5ib3VuZGVkOlt7dHlwZTpSXyxhcmdzOlsibWF0UmlwcGxlVW5ib3VuZGVkIl19XSxjZW50ZXJlZDpbe3R5cGU6Ul8sYXJnczpbIm1hdFJpcHBsZUNlbnRlcmVkIl19XSxyYWRpdXM6W3t0eXBlOlJfLGFyZ3M6WyJtYXRSaXBwbGVSYWRpdXMiXX1dLGFuaW1hdGlvbjpbe3R5cGU6Ul8sYXJnczpbIm1hdFJpcHBsZUFuaW1hdGlvbiJdfV0sZGlzYWJsZWQ6W3t0eXBlOlJfLGFyZ3M6WyJtYXRSaXBwbGVEaXNhYmxlZCJdfV0sdHJpZ2dlcjpbe3R5cGU6Ul8sYXJnczpbIm1hdFJpcHBsZVRyaWdnZXIiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1MLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXQtcmlwcGxlXSwgW21hdFJpcHBsZV0iLGV4cG9ydEFzOiJtYXRSaXBwbGUiLGhvc3Q6e2NsYXNzOiJtYXQtcmlwcGxlIiwiW2NsYXNzLm1hdC1yaXBwbGUtdW5ib3VuZGVkXSI6InVuYm91bmRlZCJ9fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltwTF19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse3JhZGl1czpbe3R5cGU6Ul8sYXJnczpbIm1hdFJpcHBsZVJhZGl1cyJdfV0sZGlzYWJsZWQ6W3t0eXBlOlJfLGFyZ3M6WyJtYXRSaXBwbGVEaXNhYmxlZCJdfV0sdHJpZ2dlcjpbe3R5cGU6Ul8sYXJnczpbIm1hdFJpcHBsZVRyaWdnZXIiXX1dLGNvbG9yOlt7dHlwZTpSXyxhcmdzOlsibWF0UmlwcGxlQ29sb3IiXX1dLHVuYm91bmRlZDpbe3R5cGU6Ul8sYXJnczpbIm1hdFJpcHBsZVVuYm91bmRlZCJdfV0sY2VudGVyZWQ6W3t0eXBlOlJfLGFyZ3M6WyJtYXRSaXBwbGVDZW50ZXJlZCJdfV0sYW5pbWF0aW9uOlt7dHlwZTpSXyxhcmdzOlsibWF0UmlwcGxlQW5pbWF0aW9uIl19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgZkx7fWZMLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxmTCl9LGZMLsm1bW9kPWZvKHt0eXBlOmZMfSksZkwuybVpbmo9RG4oe2ltcG9ydHM6W1tORixkSF0sTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihmTCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W05GLGRIXSxleHBvcnRzOlttTCxORl0sZGVjbGFyYXRpb25zOlttTF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhmTCx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW21MXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltORixkSF19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bbUwsTkZdfX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgdUx7Y29uc3RydWN0b3IodCl7dGhpcy5fYW5pbWF0aW9uTW9kZT10LHRoaXMuc3RhdGU9InVuY2hlY2tlZCIsdGhpcy5kaXNhYmxlZD0hMX19dUwuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHVMKShnZihjayw4KSl9LHVMLsm1Y21wPXNvKHt0eXBlOnVMLHNlbGVjdG9yczpbWyJtYXQtcHNldWRvLWNoZWNrYm94Il1dLGhvc3RBdHRyczpbMSwibWF0LXBzZXVkby1jaGVja2JveCJdLGhvc3RWYXJzOjgsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJmN1KCJtYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUiLCJpbmRldGVybWluYXRlIj09PW4uc3RhdGUpKCJtYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQiLCJjaGVja2VkIj09PW4uc3RhdGUpKCJtYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkIixuLmRpc2FibGVkKSgiX21hdC1hbmltYXRpb24tbm9vcGFibGUiLCJOb29wQW5pbWF0aW9ucyI9PT1uLl9hbmltYXRpb25Nb2RlKX0saW5wdXRzOntzdGF0ZToic3RhdGUiLGRpc2FibGVkOiJkaXNhYmxlZCJ9LGRlY2xzOjAsdmFyczowLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXt9LHN0eWxlczpbJy5tYXQtcHNldWRvLWNoZWNrYm94e3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyOjJweCBzb2xpZDtib3JkZXItcmFkaXVzOjJweDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgOTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpLGJhY2tncm91bmQtY29sb3IgOTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpfS5tYXQtcHNldWRvLWNoZWNrYm94OjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7Y29udGVudDoiIjtib3JkZXItYm90dG9tOjJweCBzb2xpZCBjdXJyZW50Q29sb3I7dHJhbnNpdGlvbjpvcGFjaXR5IDkwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMC4xKX0ubWF0LXBzZXVkby1jaGVja2JveC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsLm1hdC1wc2V1ZG8tY2hlY2tib3gubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRle2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXBzZXVkby1jaGVja2JveHt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1wc2V1ZG8tY2hlY2tib3g6OmFmdGVye3RyYW5zaXRpb246bm9uZX0ubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlOjphZnRlcnt0b3A6NXB4O2xlZnQ6MXB4O3dpZHRoOjEwcHg7b3BhY2l0eToxO2JvcmRlci1yYWRpdXM6MnB4fS5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQ6OmFmdGVye3RvcDoyLjRweDtsZWZ0OjFweDt3aWR0aDo4cHg7aGVpZ2h0OjNweDtib3JkZXItbGVmdDoycHggc29saWQgY3VycmVudENvbG9yO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtvcGFjaXR5OjE7Ym94LXNpemluZzpjb250ZW50LWJveH1cbiddLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLHVMLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dLHVMLnByb3BEZWNvcmF0b3JzPXtzdGF0ZTpbe3R5cGU6Ul99XSxkaXNhYmxlZDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih1TCxbe3R5cGU6U18sYXJnczpbe2VuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLHNlbGVjdG9yOiJtYXQtcHNldWRvLWNoZWNrYm94Iix0ZW1wbGF0ZToiIixob3N0OntjbGFzczoibWF0LXBzZXVkby1jaGVja2JveCIsIltjbGFzcy5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGVdIjonc3RhdGUgPT09ICJpbmRldGVybWluYXRlIicsIltjbGFzcy5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWRdIjonc3RhdGUgPT09ICJjaGVja2VkIicsIltjbGFzcy5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkXSI6ImRpc2FibGVkIiwiW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSI6J19hbmltYXRpb25Nb2RlID09PSAiTm9vcEFuaW1hdGlvbnMiJ30sc3R5bGVzOlsnLm1hdC1wc2V1ZG8tY2hlY2tib3h7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXI6MnB4IHNvbGlkO2JvcmRlci1yYWRpdXM6MnB4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7ZmxleC1zaHJpbms6MDt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciA5MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSksYmFja2dyb3VuZC1jb2xvciA5MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSl9Lm1hdC1wc2V1ZG8tY2hlY2tib3g6OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO29wYWNpdHk6MDtjb250ZW50OiIiO2JvcmRlci1ib3R0b206MnB4IHNvbGlkIGN1cnJlbnRDb2xvcjt0cmFuc2l0aW9uOm9wYWNpdHkgOTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpfS5tYXQtcHNldWRvLWNoZWNrYm94Lm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCwubWF0LXBzZXVkby1jaGVja2JveC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGV7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHNldWRvLWNoZWNrYm94e3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXBzZXVkby1jaGVja2JveDo6YWZ0ZXJ7dHJhbnNpdGlvbjpub25lfS5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU6OmFmdGVye3RvcDo1cHg7bGVmdDoxcHg7d2lkdGg6MTBweDtvcGFjaXR5OjE7Ym9yZGVyLXJhZGl1czoycHh9Lm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZDo6YWZ0ZXJ7dG9wOjIuNHB4O2xlZnQ6MXB4O3dpZHRoOjhweDtoZWlnaHQ6M3B4O2JvcmRlci1sZWZ0OjJweCBzb2xpZCBjdXJyZW50Q29sb3I7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO29wYWNpdHk6MTtib3gtc2l6aW5nOmNvbnRlbnQtYm94fVxuJ119XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV19KSx7c3RhdGU6W3t0eXBlOlJffV0sZGlzYWJsZWQ6W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIGdMe31nTC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Z0wpfSxnTC7JtW1vZD1mbyh7dHlwZTpnTH0pLGdMLsm1aW5qPURuKHtpbXBvcnRzOltbTkZdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZ0wsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltORl0sZXhwb3J0czpbdUxdLGRlY2xhcmF0aW9uczpbdUxdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oZ0wse2RlY2xhcmF0aW9uczpbdUxdLGltcG9ydHM6W05GXSxleHBvcnRzOlt1TF19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IGhMPW5ldyBlcigiTUFUX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UIiksYkw9ekYoY2xhc3N7fSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2xldCB5TD0wO2NsYXNzIF9MIGV4dGVuZHMgYkx7Y29uc3RydWN0b3IodCl7dmFyIGU7c3VwZXIoKSx0aGlzLl9sYWJlbElkPSJtYXQtb3B0Z3JvdXAtbGFiZWwtIit5TCsrLHRoaXMuX2luZXJ0PW51bGwhPT0oZT1udWxsPT10P3ZvaWQgMDp0LmluZXJ0R3JvdXBzKSYmdm9pZCAwIT09ZSYmZX19X0wuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fF9MKShnZihoTCw4KSl9LF9MLsm1ZGlyPWhvKHt0eXBlOl9MLGlucHV0czp7bGFiZWw6ImxhYmVsIn0sZmVhdHVyZXM6W1FwXX0pLF9MLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2hMXX0se3R5cGU6QnJ9XX1dLF9MLnByb3BEZWNvcmF0b3JzPXtsYWJlbDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihfTCxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2hMXX0se3R5cGU6QnJ9XX1dfSkse2xhYmVsOlt7dHlwZTpSX31dfSk7Y29uc3QgQ0w9bmV3IGVyKCJNYXRPcHRncm91cCIpO2NsYXNzIE1MIGV4dGVuZHMgX0x7fU1MLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShNTCkpKShufHxNTCl9fSkoKSxNTC7JtWNtcD1zbyh7dHlwZTpNTCxzZWxlY3RvcnM6W1sibWF0LW9wdGdyb3VwIl1dLGhvc3RBdHRyczpbMSwibWF0LW9wdGdyb3VwIl0saG9zdFZhcnM6NSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmKHltKCJyb2xlIixuLl9pbmVydD9udWxsOiJncm91cCIpKCJhcmlhLWRpc2FibGVkIixuLl9pbmVydD9udWxsOm4uZGlzYWJsZWQudG9TdHJpbmcoKSkoImFyaWEtbGFiZWxsZWRieSIsbi5faW5lcnQ/bnVsbDpuLl9sYWJlbElkKSxjdSgibWF0LW9wdGdyb3VwLWRpc2FibGVkIixuLmRpc2FibGVkKSl9LGlucHV0czp7ZGlzYWJsZWQ6ImRpc2FibGVkIn0sZXhwb3J0QXM6WyJtYXRPcHRncm91cCJdLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6Q0wsdXNlRXhpc3Rpbmc6TUx9XSksUXBdLG5nQ29udGVudFNlbGVjdG9yczpbIioiLCJtYXQtb3B0aW9uLCBuZy1jb250YWluZXIiXSxkZWNsczo0LHZhcnM6Mixjb25zdHM6W1siYXJpYS1oaWRkZW4iLCJ0cnVlIiwxLCJtYXQtb3B0Z3JvdXAtbGFiZWwiLDMsImlkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZih3RiksQ2YoMCwic3BhbiIsMCksUHUoMSksRmYoMiksTWYoKSxGZigzLDEpKSwyJmUmJihiZigiaWQiLG4uX2xhYmVsSWQpLERjKDEpLGt1KCIiLG4ubGFiZWwsIiAiKSl9LHN0eWxlczpbIi5tYXQtb3B0Z3JvdXAtbGFiZWx7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6NDhweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTZweDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bWF4LXdpZHRoOjEwMCU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5tYXQtb3B0Z3JvdXAtbGFiZWxbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fVtkaXI9cnRsXSAubWF0LW9wdGdyb3VwLWxhYmVse3RleHQtYWxpZ246cmlnaHR9Lm1hdC1vcHRncm91cC1sYWJlbCAubWF0LWljb257bWFyZ2luLXJpZ2h0OjE2cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtb3B0Z3JvdXAtbGFiZWwgLm1hdC1pY29uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjp0b3B9W2Rpcj1ydGxdIC5tYXQtb3B0Z3JvdXAtbGFiZWwgLm1hdC1pY29ue21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjB9XG4iXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE1MLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1vcHRncm91cCIsZXhwb3J0QXM6Im1hdE9wdGdyb3VwIix0ZW1wbGF0ZTonPHNwYW4gY2xhc3M9Im1hdC1vcHRncm91cC1sYWJlbCIgYXJpYS1oaWRkZW49InRydWUiIFtpZF09Il9sYWJlbElkIj57eyBsYWJlbCB9fSA8bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuPG5nLWNvbnRlbnQgc2VsZWN0PSJtYXQtb3B0aW9uLCBuZy1jb250YWluZXIiPjwvbmctY29udGVudD5cbicsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsaW5wdXRzOlsiZGlzYWJsZWQiXSxob3N0OntjbGFzczoibWF0LW9wdGdyb3VwIiwiW2F0dHIucm9sZV0iOidfaW5lcnQgPyBudWxsIDogImdyb3VwIicsIlthdHRyLmFyaWEtZGlzYWJsZWRdIjoiX2luZXJ0ID8gbnVsbCA6IGRpc2FibGVkLnRvU3RyaW5nKCkiLCJbYXR0ci5hcmlhLWxhYmVsbGVkYnldIjoiX2luZXJ0ID8gbnVsbCA6IF9sYWJlbElkIiwiW2NsYXNzLm1hdC1vcHRncm91cC1kaXNhYmxlZF0iOiJkaXNhYmxlZCJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6Q0wsdXNlRXhpc3Rpbmc6TUx9XSxzdHlsZXM6WyIubWF0LW9wdGdyb3VwLWxhYmVse3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjQ4cHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDE2cHg7dGV4dC1hbGlnbjpsZWZ0O3RleHQtZGVjb3JhdGlvbjpub25lO21heC13aWR0aDoxMDAlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6ZGVmYXVsdH0ubWF0LW9wdGdyb3VwLWxhYmVsW2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1bZGlyPXJ0bF0gLm1hdC1vcHRncm91cC1sYWJlbHt0ZXh0LWFsaWduOnJpZ2h0fS5tYXQtb3B0Z3JvdXAtbGFiZWwgLm1hdC1pY29ue21hcmdpbi1yaWdodDoxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWF0LW9wdGdyb3VwLWxhYmVsIC5tYXQtaWNvbiBzdmd7dmVydGljYWwtYWxpZ246dG9wfVtkaXI9cnRsXSAubWF0LW9wdGdyb3VwLWxhYmVsIC5tYXQtaWNvbnttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDowfVxuIl19XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpsZXQgdkw9MDtjbGFzcyB4THtjb25zdHJ1Y3Rvcih0LGU9ITEpe3RoaXMuc291cmNlPXQsdGhpcy5pc1VzZXJJbnB1dD1lfX1jbGFzcyBPTHtjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLl9lbGVtZW50PXQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9ZSx0aGlzLl9wYXJlbnQ9bix0aGlzLmdyb3VwPW8sdGhpcy5fc2VsZWN0ZWQ9ITEsdGhpcy5fYWN0aXZlPSExLHRoaXMuX2Rpc2FibGVkPSExLHRoaXMuX21vc3RSZWNlbnRWaWV3VmFsdWU9IiIsdGhpcy5pZD0ibWF0LW9wdGlvbi0iK3ZMKyssdGhpcy5vblNlbGVjdGlvbkNoYW5nZT1uZXcgU3ksdGhpcy5fc3RhdGVDaGFuZ2VzPW5ldyBCfWdldCBtdWx0aXBsZSgpe3JldHVybiB0aGlzLl9wYXJlbnQmJnRoaXMuX3BhcmVudC5tdWx0aXBsZX1nZXQgc2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWR9Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuZ3JvdXAmJnRoaXMuZ3JvdXAuZGlzYWJsZWR8fHRoaXMuX2Rpc2FibGVkfXNldCBkaXNhYmxlZCh0KXt0aGlzLl9kaXNhYmxlZD1lSCh0KX1nZXQgZGlzYWJsZVJpcHBsZSgpe3JldHVybiB0aGlzLl9wYXJlbnQmJnRoaXMuX3BhcmVudC5kaXNhYmxlUmlwcGxlfWdldCBhY3RpdmUoKXtyZXR1cm4gdGhpcy5fYWN0aXZlfWdldCB2aWV3VmFsdWUoKXtyZXR1cm4odGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS50ZXh0Q29udGVudHx8IiIpLnRyaW0oKX1zZWxlY3QoKXt0aGlzLl9zZWxlY3RlZHx8KHRoaXMuX3NlbGVjdGVkPSEwLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpLHRoaXMuX2VtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpKX1kZXNlbGVjdCgpe3RoaXMuX3NlbGVjdGVkJiYodGhpcy5fc2VsZWN0ZWQ9ITEsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCksdGhpcy5fZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCkpfWZvY3VzKHQsZSl7Y29uc3Qgbj10aGlzLl9nZXRIb3N0RWxlbWVudCgpOyJmdW5jdGlvbiI9PXR5cGVvZiBuLmZvY3VzJiZuLmZvY3VzKGUpfXNldEFjdGl2ZVN0eWxlcygpe3RoaXMuX2FjdGl2ZXx8KHRoaXMuX2FjdGl2ZT0hMCx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSl9c2V0SW5hY3RpdmVTdHlsZXMoKXt0aGlzLl9hY3RpdmUmJih0aGlzLl9hY3RpdmU9ITEsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpfWdldExhYmVsKCl7cmV0dXJuIHRoaXMudmlld1ZhbHVlfV9oYW5kbGVLZXlkb3duKHQpe3Qua2V5Q29kZSE9PVhJJiZ0LmtleUNvZGUhPT1KSXx8dEgodCl8fCh0aGlzLl9zZWxlY3RWaWFJbnRlcmFjdGlvbigpLHQucHJldmVudERlZmF1bHQoKSl9X3NlbGVjdFZpYUludGVyYWN0aW9uKCl7dGhpcy5kaXNhYmxlZHx8KHRoaXMuX3NlbGVjdGVkPSF0aGlzLm11bHRpcGxlfHwhdGhpcy5fc2VsZWN0ZWQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCksdGhpcy5fZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCEwKSl9X2dldEFyaWFTZWxlY3RlZCgpe3JldHVybiB0aGlzLnNlbGVjdGVkfHwhdGhpcy5tdWx0aXBsZSYmbnVsbH1fZ2V0VGFiSW5kZXgoKXtyZXR1cm4gdGhpcy5kaXNhYmxlZD8iLTEiOiIwIn1fZ2V0SG9zdEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50fW5nQWZ0ZXJWaWV3Q2hlY2tlZCgpe2lmKHRoaXMuX3NlbGVjdGVkKXtjb25zdCB0PXRoaXMudmlld1ZhbHVlO3QhPT10aGlzLl9tb3N0UmVjZW50Vmlld1ZhbHVlJiYodGhpcy5fbW9zdFJlY2VudFZpZXdWYWx1ZT10LHRoaXMuX3N0YXRlQ2hhbmdlcy5uZXh0KCkpfX1uZ09uRGVzdHJveSgpe3RoaXMuX3N0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpfV9lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQodD0hMSl7dGhpcy5vblNlbGVjdGlvbkNoYW5nZS5lbWl0KG5ldyB4TCh0aGlzLHQpKX19T0wuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE9MKShnZihLaCksZ2YoT2IpLGdmKHZvaWQgMCksZ2YoX0wpKX0sT0wuybVkaXI9aG8oe3R5cGU6T0wsaW5wdXRzOntpZDoiaWQiLGRpc2FibGVkOiJkaXNhYmxlZCIsdmFsdWU6InZhbHVlIn0sb3V0cHV0czp7b25TZWxlY3Rpb25DaGFuZ2U6Im9uU2VsZWN0aW9uQ2hhbmdlIn19KSxPTC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6dm9pZCAwfSx7dHlwZTpfTH1dLE9MLnByb3BEZWNvcmF0b3JzPXt2YWx1ZTpbe3R5cGU6Ul99XSxpZDpbe3R5cGU6Ul99XSxkaXNhYmxlZDpbe3R5cGU6Ul99XSxvblNlbGVjdGlvbkNoYW5nZTpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPTCxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDB9LHt0eXBlOl9MfV19KSx7aWQ6W3t0eXBlOlJffV0sb25TZWxlY3Rpb25DaGFuZ2U6W3t0eXBlOkVffV0sZGlzYWJsZWQ6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV19KTtjbGFzcyBQTCBleHRlbmRzIE9Me2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKHQsZSxuLG8pfX1mdW5jdGlvbiB3TCh0LGUsbil7aWYobi5sZW5ndGgpe2xldCBvPWUudG9BcnJheSgpLGk9bi50b0FycmF5KCksYT0wO2ZvcihsZXQgZT0wO2U8dCsxO2UrKylvW2VdLmdyb3VwJiZvW2VdLmdyb3VwPT09aVthXSYmYSsrO3JldHVybiBhfXJldHVybiAwfWZ1bmN0aW9uIGtMKHQsZSxuLG8pe3JldHVybiB0PG4/dDp0K2U+bitvP01hdGgubWF4KDAsdC1vK2UpOm59Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL1BMLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxQTCkoZ2YoS2gpLGdmKE9iKSxnZihoTCw4KSxnZihDTCw4KSl9LFBMLsm1Y21wPXNvKHt0eXBlOlBMLHNlbGVjdG9yczpbWyJtYXQtb3B0aW9uIl1dLGhvc3RBdHRyczpbInJvbGUiLCJvcHRpb24iLDEsIm1hdC1vcHRpb24iLCJtYXQtZm9jdXMtaW5kaWNhdG9yIl0saG9zdFZhcnM6MTIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fc2VsZWN0VmlhSW50ZXJhY3Rpb24oKX0pKSgia2V5ZG93biIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2hhbmRsZUtleWRvd24oZSl9KSksMiZlJiYoY2coImlkIixuLmlkKSx5bSgidGFiaW5kZXgiLG4uX2dldFRhYkluZGV4KCkpKCJhcmlhLXNlbGVjdGVkIixuLl9nZXRBcmlhU2VsZWN0ZWQoKSkoImFyaWEtZGlzYWJsZWQiLG4uZGlzYWJsZWQudG9TdHJpbmcoKSksY3UoIm1hdC1zZWxlY3RlZCIsbi5zZWxlY3RlZCkoIm1hdC1vcHRpb24tbXVsdGlwbGUiLG4ubXVsdGlwbGUpKCJtYXQtYWN0aXZlIixuLmFjdGl2ZSkoIm1hdC1vcHRpb24tZGlzYWJsZWQiLG4uZGlzYWJsZWQpKX0sZXhwb3J0QXM6WyJtYXRPcHRpb24iXSxmZWF0dXJlczpbUXBdLG5nQ29udGVudFNlbGVjdG9yczpbIioiXSxkZWNsczo1LHZhcnM6NCxjb25zdHM6W1siY2xhc3MiLCJtYXQtb3B0aW9uLXBzZXVkby1jaGVja2JveCIsMywic3RhdGUiLCJkaXNhYmxlZCIsNCwibmdJZiJdLFsxLCJtYXQtb3B0aW9uLXRleHQiXSxbImNsYXNzIiwiY2RrLXZpc3VhbGx5LWhpZGRlbiIsNCwibmdJZiJdLFsibWF0LXJpcHBsZSIsIiIsMSwibWF0LW9wdGlvbi1yaXBwbGUiLDMsIm1hdFJpcHBsZVRyaWdnZXIiLCJtYXRSaXBwbGVEaXNhYmxlZCJdLFsxLCJtYXQtb3B0aW9uLXBzZXVkby1jaGVja2JveCIsMywic3RhdGUiLCJkaXNhYmxlZCJdLFsxLCJjZGstdmlzdWFsbHktaGlkZGVuIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZigpLEhtKDAsa0YsMSwyLCJtYXQtcHNldWRvLWNoZWNrYm94IiwwKSxDZigxLCJzcGFuIiwxKSxGZigyKSxNZigpLEhtKDMsU0YsMiwxLCJzcGFuIiwyKSx2Zig0LCJkaXYiLDMpKSwyJmUmJihiZigibmdJZiIsbi5tdWx0aXBsZSksRGMoMyksYmYoIm5nSWYiLG4uZ3JvdXAmJm4uZ3JvdXAuX2luZXJ0KSxEYygxKSxiZigibWF0UmlwcGxlVHJpZ2dlciIsbi5fZ2V0SG9zdEVsZW1lbnQoKSkoIm1hdFJpcHBsZURpc2FibGVkIixuLmRpc2FibGVkfHxuLmRpc2FibGVSaXBwbGUpKX0sZGlyZWN0aXZlczpbUHYsbUwsdUxdLHN0eWxlczpbIi5tYXQtb3B0aW9ue3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjQ4cHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDE2cHg7dGV4dC1hbGlnbjpsZWZ0O3RleHQtZGVjb3JhdGlvbjpub25lO21heC13aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O21heC13aWR0aDoxMDAlO2JveC1zaXppbmc6Ym9yZGVyLWJveDthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtb3B0aW9uW2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1bZGlyPXJ0bF0gLm1hdC1vcHRpb257dGV4dC1hbGlnbjpyaWdodH0ubWF0LW9wdGlvbiAubWF0LWljb257bWFyZ2luLXJpZ2h0OjE2cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtb3B0aW9uIC5tYXQtaWNvbiBzdmd7dmVydGljYWwtYWxpZ246dG9wfVtkaXI9cnRsXSAubWF0LW9wdGlvbiAubWF0LWljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6MH0ubWF0LW9wdGlvblthcmlhLWRpc2FibGVkPXRydWVdey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6ZGVmYXVsdH0ubWF0LW9wdGdyb3VwIC5tYXQtb3B0aW9uOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSl7cGFkZGluZy1sZWZ0OjMycHh9W2Rpcj1ydGxdIC5tYXQtb3B0Z3JvdXAgLm1hdC1vcHRpb246bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKXtwYWRkaW5nLWxlZnQ6MTZweDtwYWRkaW5nLXJpZ2h0OjMycHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LW9wdGlvbnttYXJnaW46MCAxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LW9wdGlvbi5tYXQtYWN0aXZle2JvcmRlcjpzb2xpZCAxcHggY3VycmVudENvbG9yO21hcmdpbjowfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1vcHRpb25bYXJpYS1kaXNhYmxlZD10cnVlXXtvcGFjaXR5Oi41fS5tYXQtb3B0aW9uLXRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxleC1ncm93OjE7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lm1hdC1vcHRpb24gLm1hdC1vcHRpb24tcmlwcGxle3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1hdC1vcHRpb24tcHNldWRvLWNoZWNrYm94e21hcmdpbi1yaWdodDo4cHh9W2Rpcj1ydGxdIC5tYXQtb3B0aW9uLXBzZXVkby1jaGVja2JveHttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjB9XG4iXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSxQTC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltoTF19XX0se3R5cGU6TUwsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W0NMXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihQTCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtb3B0aW9uIixleHBvcnRBczoibWF0T3B0aW9uIixob3N0Ontyb2xlOiJvcHRpb24iLCJbYXR0ci50YWJpbmRleF0iOiJfZ2V0VGFiSW5kZXgoKSIsIltjbGFzcy5tYXQtc2VsZWN0ZWRdIjoic2VsZWN0ZWQiLCJbY2xhc3MubWF0LW9wdGlvbi1tdWx0aXBsZV0iOiJtdWx0aXBsZSIsIltjbGFzcy5tYXQtYWN0aXZlXSI6ImFjdGl2ZSIsIltpZF0iOiJpZCIsIlthdHRyLmFyaWEtc2VsZWN0ZWRdIjoiX2dldEFyaWFTZWxlY3RlZCgpIiwiW2F0dHIuYXJpYS1kaXNhYmxlZF0iOiJkaXNhYmxlZC50b1N0cmluZygpIiwiW2NsYXNzLm1hdC1vcHRpb24tZGlzYWJsZWRdIjoiZGlzYWJsZWQiLCIoY2xpY2spIjoiX3NlbGVjdFZpYUludGVyYWN0aW9uKCkiLCIoa2V5ZG93bikiOiJfaGFuZGxlS2V5ZG93bigkZXZlbnQpIixjbGFzczoibWF0LW9wdGlvbiBtYXQtZm9jdXMtaW5kaWNhdG9yIn0sdGVtcGxhdGU6JzxtYXQtcHNldWRvLWNoZWNrYm94ICpuZ0lmPSJtdWx0aXBsZSIgY2xhc3M9Im1hdC1vcHRpb24tcHNldWRvLWNoZWNrYm94IlxuICAgIFtzdGF0ZV09InNlbGVjdGVkID8gXCdjaGVja2VkXCcgOiBcJ3VuY2hlY2tlZFwnIiBbZGlzYWJsZWRdPSJkaXNhYmxlZCI+PC9tYXQtcHNldWRvLWNoZWNrYm94PlxuXG48c3BhbiBjbGFzcz0ibWF0LW9wdGlvbi10ZXh0Ij48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuXG5ceDNjIS0tIFNlZSBhMTF5IG5vdGVzIGluc2lkZSBvcHRncm91cC50cyBmb3IgY29udGV4dCBiZWhpbmQgdGhpcyBlbGVtZW50LiAtLVx4M2VcbjxzcGFuIGNsYXNzPSJjZGstdmlzdWFsbHktaGlkZGVuIiAqbmdJZj0iZ3JvdXAgJiYgZ3JvdXAuX2luZXJ0Ij4oe3sgZ3JvdXAubGFiZWwgfX0pPC9zcGFuPlxuXG48ZGl2IGNsYXNzPSJtYXQtb3B0aW9uLXJpcHBsZSIgbWF0LXJpcHBsZVxuICAgICBbbWF0UmlwcGxlVHJpZ2dlcl09Il9nZXRIb3N0RWxlbWVudCgpIlxuICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPSJkaXNhYmxlZCB8fCBkaXNhYmxlUmlwcGxlIj5cbjwvZGl2PlxuJyxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxzdHlsZXM6WyIubWF0LW9wdGlvbnt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MCAxNnB4O3RleHQtYWxpZ246bGVmdDt0ZXh0LWRlY29yYXRpb246bm9uZTttYXgtd2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzttYXgtd2lkdGg6MTAwJTtib3gtc2l6aW5nOmJvcmRlci1ib3g7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ubWF0LW9wdGlvbltkaXNhYmxlZF17Y3Vyc29yOmRlZmF1bHR9W2Rpcj1ydGxdIC5tYXQtb3B0aW9ue3RleHQtYWxpZ246cmlnaHR9Lm1hdC1vcHRpb24gLm1hdC1pY29ue21hcmdpbi1yaWdodDoxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWF0LW9wdGlvbiAubWF0LWljb24gc3Zne3ZlcnRpY2FsLWFsaWduOnRvcH1bZGlyPXJ0bF0gLm1hdC1vcHRpb24gLm1hdC1pY29ue21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjB9Lm1hdC1vcHRpb25bYXJpYS1kaXNhYmxlZD10cnVlXXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Y3Vyc29yOmRlZmF1bHR9Lm1hdC1vcHRncm91cCAubWF0LW9wdGlvbjpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpe3BhZGRpbmctbGVmdDozMnB4fVtkaXI9cnRsXSAubWF0LW9wdGdyb3VwIC5tYXQtb3B0aW9uOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSl7cGFkZGluZy1sZWZ0OjE2cHg7cGFkZGluZy1yaWdodDozMnB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1vcHRpb257bWFyZ2luOjAgMXB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZXtib3JkZXI6c29saWQgMXB4IGN1cnJlbnRDb2xvcjttYXJnaW46MH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtb3B0aW9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV17b3BhY2l0eTouNX0ubWF0LW9wdGlvbi10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZsZXgtZ3JvdzoxO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5tYXQtb3B0aW9uIC5tYXQtb3B0aW9uLXJpcHBsZXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfS5tYXQtb3B0aW9uLXBzZXVkby1jaGVja2JveHttYXJnaW4tcmlnaHQ6OHB4fVtkaXI9cnRsXSAubWF0LW9wdGlvbi1wc2V1ZG8tY2hlY2tib3h7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDowfVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbaExdfV19LHt0eXBlOk1MLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltDTF19XX1dfSksbnVsbCk7Y2xhc3MgU0x7fVNMLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxTTCl9LFNMLsm1bW9kPWZvKHt0eXBlOlNMfSksU0wuybVpbmo9RG4oe2ltcG9ydHM6W1tmTCxyeCxORixnTF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihTTCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W2ZMLHJ4LE5GLGdMXSxleHBvcnRzOltQTCxNTF0sZGVjbGFyYXRpb25zOltQTCxNTF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhTTCx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW1BMLE1MXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltmTCxyeCxORixnTF19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bUEwsTUxdfX0pO2NvbnN0IERMPVsibWF0LWJ1dHRvbiIsIiJdLFJMPVsiKiJdLEVMPSIubWF0LWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5OjB9Lm1hdC1idXR0b246aG92ZXI6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b246aG92ZXI6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjA0fUBtZWRpYShob3Zlcjogbm9uZSl7Lm1hdC1idXR0b246aG92ZXI6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b246aG92ZXI6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6MH19Lm1hdC1idXR0b24sLm1hdC1pY29uLWJ1dHRvbiwubWF0LXN0cm9rZWQtYnV0dG9uLC5tYXQtZmxhdC1idXR0b257Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDttaW4td2lkdGg6NjRweDtsaW5lLWhlaWdodDozNnB4O3BhZGRpbmc6MCAxNnB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93OnZpc2libGV9Lm1hdC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLm1hdC1pY29uLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwubWF0LXN0cm9rZWQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLC5tYXQtZmxhdC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LWljb24tYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtZmxhdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ubWF0LWJ1dHRvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LWljb24tYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbi5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtc3Ryb2tlZC1idXR0b24uY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtZmxhdC1idXR0b24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LWZsYXQtYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi4xMn0ubWF0LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwubWF0LWljb24tYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLC5tYXQtc3Ryb2tlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLm1hdC1mbGF0LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0ubWF0LXJhaXNlZC1idXR0b257Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDttaW4td2lkdGg6NjRweDtsaW5lLWhlaWdodDozNnB4O3BhZGRpbmc6MCAxNnB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93OnZpc2libGU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApO3RyYW5zaXRpb246YmFja2dyb3VuZCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSl9Lm1hdC1yYWlzZWQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtcmFpc2VkLWJ1dHRvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtcmFpc2VkLWJ1dHRvbi5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouMTJ9Lm1hdC1yYWlzZWQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcmFpc2VkLWJ1dHRvbnt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1zdHJva2VkLWJ1dHRvbntib3JkZXI6MXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtwYWRkaW5nOjAgMTVweDtsaW5lLWhlaWdodDozNHB4fS5tYXQtc3Ryb2tlZC1idXR0b24gLm1hdC1idXR0b24tcmlwcGxlLm1hdC1yaXBwbGUsLm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e3RvcDotMXB4O2xlZnQ6LTFweDtyaWdodDotMXB4O2JvdHRvbTotMXB4fS5tYXQtZmFie2JveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTpub25lO2JvcmRlcjpub25lOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtkaXNwbGF5OmlubGluZS1ibG9jazt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bWluLXdpZHRoOjY0cHg7bGluZS1oZWlnaHQ6MzZweDtwYWRkaW5nOjAgMTZweDtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdzp2aXNpYmxlO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYm94LXNoYWRvdyAyODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO21pbi13aWR0aDowO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7cGFkZGluZzowO2ZsZXgtc2hyaW5rOjB9Lm1hdC1mYWI6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ubWF0LWZhYi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtZmFiLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi4xMn0ubWF0LWZhYjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LWZhYnt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1mYWIgLm1hdC1idXR0b24td3JhcHBlcntwYWRkaW5nOjE2cHggMDtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoyNHB4fS5tYXQtbWluaS1mYWJ7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDttaW4td2lkdGg6NjRweDtsaW5lLWhlaWdodDozNnB4O3BhZGRpbmc6MCAxNnB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93OnZpc2libGU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApO3RyYW5zaXRpb246YmFja2dyb3VuZCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7bWluLXdpZHRoOjA7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtwYWRkaW5nOjA7ZmxleC1zaHJpbms6MH0ubWF0LW1pbmktZmFiOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5tYXQtbWluaS1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ubWF0LW1pbmktZmFiLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1taW5pLWZhYi5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouMTJ9Lm1hdC1taW5pLWZhYjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LW1pbmktZmFie3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LW1pbmktZmFiIC5tYXQtYnV0dG9uLXdyYXBwZXJ7cGFkZGluZzo4cHggMDtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoyNHB4fS5tYXQtaWNvbi1idXR0b257cGFkZGluZzowO21pbi13aWR0aDowO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7ZmxleC1zaHJpbms6MDtsaW5lLWhlaWdodDo0MHB4O2JvcmRlci1yYWRpdXM6NTAlfS5tYXQtaWNvbi1idXR0b24gaSwubWF0LWljb24tYnV0dG9uIC5tYXQtaWNvbntsaW5lLWhlaWdodDoyNHB4fS5tYXQtYnV0dG9uLXJpcHBsZS5tYXQtcmlwcGxlLC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOmluaGVyaXR9Lm1hdC1idXR0b24tcmlwcGxlLm1hdC1yaXBwbGU6bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDIwMG1zIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKSxiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXt0cmFuc2l0aW9uOm5vbmV9Lm1hdC1idXR0b24tcmlwcGxlLXJvdW5ke2JvcmRlci1yYWRpdXM6NTAlO3otaW5kZXg6MX0ubWF0LWJ1dHRvbiAubWF0LWJ1dHRvbi13cmFwcGVyPiosLm1hdC1mbGF0LWJ1dHRvbiAubWF0LWJ1dHRvbi13cmFwcGVyPiosLm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LWJ1dHRvbi13cmFwcGVyPiosLm1hdC1yYWlzZWQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LWljb24tYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LWZhYiAubWF0LWJ1dHRvbi13cmFwcGVyPiosLm1hdC1taW5pLWZhYiAubWF0LWJ1dHRvbi13cmFwcGVyPip7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtZm9ybS1maWVsZDpub3QoLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5KSAubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24sLm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29uLWJ1dHRvbntkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZTppbmhlcml0O3dpZHRoOjIuNWVtO2hlaWdodDoyLjVlbX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mbGF0LWJ1dHRvbiwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtcmFpc2VkLWJ1dHRvbiwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtaWNvbi1idXR0b24sLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZhYiwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtbWluaS1mYWJ7b3V0bGluZTpzb2xpZCAxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi1iYXNlLmNkay1rZXlib2FyZC1mb2N1c2VkLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tYmFzZS5jZGstcHJvZ3JhbS1mb2N1c2Vke291dGxpbmU6c29saWQgM3B4fVxuIixBTD1bIm1hdC1idXR0b24iLCJtYXQtZmxhdC1idXR0b24iLCJtYXQtaWNvbi1idXR0b24iLCJtYXQtcmFpc2VkLWJ1dHRvbiIsIm1hdC1zdHJva2VkLWJ1dHRvbiIsIm1hdC1taW5pLWZhYiIsIm1hdC1mYWIiXSxUTD1JRih6RihIRihjbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLl9lbGVtZW50UmVmPXR9fSkpKTtjbGFzcyBOTCBleHRlbmRzIFRMe2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcih0KSx0aGlzLl9mb2N1c01vbml0b3I9ZSx0aGlzLl9hbmltYXRpb25Nb2RlPW4sdGhpcy5pc1JvdW5kQnV0dG9uPXRoaXMuX2hhc0hvc3RBdHRyaWJ1dGVzKCJtYXQtZmFiIiwibWF0LW1pbmktZmFiIiksdGhpcy5pc0ljb25CdXR0b249dGhpcy5faGFzSG9zdEF0dHJpYnV0ZXMoIm1hdC1pY29uLWJ1dHRvbiIpO2Zvcihjb25zdCB0IG9mIEFMKXRoaXMuX2hhc0hvc3RBdHRyaWJ1dGVzKHQpJiZ0aGlzLl9nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQodCk7dC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoIm1hdC1idXR0b24tYmFzZSIpLHRoaXMuaXNSb3VuZEJ1dHRvbiYmKHRoaXMuY29sb3I9ImFjY2VudCIpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsITApfW5nT25EZXN0cm95KCl7dGhpcy5fZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYpfWZvY3VzKHQsZSl7dD90aGlzLl9mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSx0LGUpOnRoaXMuX2dldEhvc3RFbGVtZW50KCkuZm9jdXMoZSl9X2dldEhvc3RFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudH1faXNSaXBwbGVEaXNhYmxlZCgpe3JldHVybiB0aGlzLmRpc2FibGVSaXBwbGV8fHRoaXMuZGlzYWJsZWR9X2hhc0hvc3RBdHRyaWJ1dGVzKC4uLnQpe3JldHVybiB0LnNvbWUoKHQ9PnRoaXMuX2dldEhvc3RFbGVtZW50KCkuaGFzQXR0cmlidXRlKHQpKSl9fU5MLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxOTCkoZ2YoS2gpLGdmKGZGKSxnZihjayw4KSl9LE5MLsm1Y21wPXNvKHt0eXBlOk5MLHNlbGVjdG9yczpbWyJidXR0b24iLCJtYXQtYnV0dG9uIiwiIl0sWyJidXR0b24iLCJtYXQtcmFpc2VkLWJ1dHRvbiIsIiJdLFsiYnV0dG9uIiwibWF0LWljb24tYnV0dG9uIiwiIl0sWyJidXR0b24iLCJtYXQtZmFiIiwiIl0sWyJidXR0b24iLCJtYXQtbWluaS1mYWIiLCIiXSxbImJ1dHRvbiIsIm1hdC1zdHJva2VkLWJ1dHRvbiIsIiJdLFsiYnV0dG9uIiwibWF0LWZsYXQtYnV0dG9uIiwiIl1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeShtTCw1KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLnJpcHBsZT10LmZpcnN0KX19LGhvc3RBdHRyczpbMSwibWF0LWZvY3VzLWluZGljYXRvciJdLGhvc3RWYXJzOjUsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJih5bSgiZGlzYWJsZWQiLG4uZGlzYWJsZWR8fG51bGwpLGN1KCJfbWF0LWFuaW1hdGlvbi1ub29wYWJsZSIsIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGUpKCJtYXQtYnV0dG9uLWRpc2FibGVkIixuLmRpc2FibGVkKSl9LGlucHV0czp7ZGlzYWJsZWQ6ImRpc2FibGVkIixkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIixjb2xvcjoiY29sb3IifSxleHBvcnRBczpbIm1hdEJ1dHRvbiJdLGZlYXR1cmVzOltRcF0sYXR0cnM6REwsbmdDb250ZW50U2VsZWN0b3JzOlJMLGRlY2xzOjQsdmFyczo1LGNvbnN0czpbWzEsIm1hdC1idXR0b24td3JhcHBlciJdLFsibWF0UmlwcGxlIiwiIiwxLCJtYXQtYnV0dG9uLXJpcHBsZSIsMywibWF0UmlwcGxlRGlzYWJsZWQiLCJtYXRSaXBwbGVDZW50ZXJlZCIsIm1hdFJpcHBsZVRyaWdnZXIiXSxbMSwibWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5Il1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZigpLENmKDAsInNwYW4iLDApLEZmKDEpLE1mKCksdmYoMiwic3BhbiIsMSksdmYoMywic3BhbiIsMikpLDImZSYmKERjKDIpLGN1KCJtYXQtYnV0dG9uLXJpcHBsZS1yb3VuZCIsbi5pc1JvdW5kQnV0dG9ufHxuLmlzSWNvbkJ1dHRvbiksYmYoIm1hdFJpcHBsZURpc2FibGVkIixuLl9pc1JpcHBsZURpc2FibGVkKCkpKCJtYXRSaXBwbGVDZW50ZXJlZCIsbi5pc0ljb25CdXR0b24pKCJtYXRSaXBwbGVUcmlnZ2VyIixuLl9nZXRIb3N0RWxlbWVudCgpKSl9LGRpcmVjdGl2ZXM6W21MXSxzdHlsZXM6W0VMXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSxOTC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpmRn0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dLE5MLnByb3BEZWNvcmF0b3JzPXtyaXBwbGU6W3t0eXBlOmFyLGFyZ3M6W21MXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE5MLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImJ1dHRvblttYXQtYnV0dG9uXSwgYnV0dG9uW21hdC1yYWlzZWQtYnV0dG9uXSwgYnV0dG9uW21hdC1pY29uLWJ1dHRvbl0sXG4gICAgICAgICAgICAgYnV0dG9uW21hdC1mYWJdLCBidXR0b25bbWF0LW1pbmktZmFiXSwgYnV0dG9uW21hdC1zdHJva2VkLWJ1dHRvbl0sXG4gICAgICAgICAgICAgYnV0dG9uW21hdC1mbGF0LWJ1dHRvbl0iLGV4cG9ydEFzOiJtYXRCdXR0b24iLGhvc3Q6eyJbYXR0ci5kaXNhYmxlZF0iOiJkaXNhYmxlZCB8fCBudWxsIiwiW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSI6J19hbmltYXRpb25Nb2RlID09PSAiTm9vcEFuaW1hdGlvbnMiJywiW2NsYXNzLm1hdC1idXR0b24tZGlzYWJsZWRdIjoiZGlzYWJsZWQiLGNsYXNzOiJtYXQtZm9jdXMtaW5kaWNhdG9yIn0sdGVtcGxhdGU6JzxzcGFuIGNsYXNzPSJtYXQtYnV0dG9uLXdyYXBwZXIiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XG48c3BhbiBtYXRSaXBwbGUgY2xhc3M9Im1hdC1idXR0b24tcmlwcGxlIlxuICAgICAgW2NsYXNzLm1hdC1idXR0b24tcmlwcGxlLXJvdW5kXT0iaXNSb3VuZEJ1dHRvbiB8fCBpc0ljb25CdXR0b24iXG4gICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPSJfaXNSaXBwbGVEaXNhYmxlZCgpIlxuICAgICAgW21hdFJpcHBsZUNlbnRlcmVkXT0iaXNJY29uQnV0dG9uIlxuICAgICAgW21hdFJpcHBsZVRyaWdnZXJdPSJfZ2V0SG9zdEVsZW1lbnQoKSI+PC9zcGFuPlxuPHNwYW4gY2xhc3M9Im1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSI+PC9zcGFuPlxuJyxpbnB1dHM6WyJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJjb2xvciJdLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLHN0eWxlczpbIi5tYXQtYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6MH0ubWF0LWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouMDR9QG1lZGlhKGhvdmVyOiBub25lKXsubWF0LWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTowfX0ubWF0LWJ1dHRvbiwubWF0LWljb24tYnV0dG9uLC5tYXQtc3Ryb2tlZC1idXR0b24sLm1hdC1mbGF0LWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO21pbi13aWR0aDo2NHB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwubWF0LWljb24tYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLC5tYXQtc3Ryb2tlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLm1hdC1mbGF0LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0ubWF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtaWNvbi1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1idXR0b24uY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LWljb24tYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LXN0cm9rZWQtYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1mbGF0LWJ1dHRvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtZmxhdC1idXR0b24uY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjEyfS5tYXQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLC5tYXQtaWNvbi1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLm1hdC1zdHJva2VkLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwubWF0LWZsYXQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5tYXQtcmFpc2VkLWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO21pbi13aWR0aDo2NHB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6dmlzaWJsZTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKX0ubWF0LXJhaXNlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9Lm1hdC1yYWlzZWQtYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1yYWlzZWQtYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi4xMn0ubWF0LXJhaXNlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1yYWlzZWQtYnV0dG9ue3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXN0cm9rZWQtYnV0dG9ue2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yO3BhZGRpbmc6MCAxNXB4O2xpbmUtaGVpZ2h0OjM0cHh9Lm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LWJ1dHRvbi1yaXBwbGUubWF0LXJpcHBsZSwubWF0LXN0cm9rZWQtYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7dG9wOi0xcHg7bGVmdDotMXB4O3JpZ2h0Oi0xcHg7Ym90dG9tOi0xcHh9Lm1hdC1mYWJ7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDttaW4td2lkdGg6NjRweDtsaW5lLWhlaWdodDozNnB4O3BhZGRpbmc6MCAxNnB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93OnZpc2libGU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApO3RyYW5zaXRpb246YmFja2dyb3VuZCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7bWluLXdpZHRoOjA7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjA7ZmxleC1zaHJpbms6MH0ubWF0LWZhYjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0ubWF0LWZhYi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtZmFiLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1mYWIuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjEyfS5tYXQtZmFiOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtZmFie3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LWZhYiAubWF0LWJ1dHRvbi13cmFwcGVye3BhZGRpbmc6MTZweCAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1taW5pLWZhYntib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO21pbi13aWR0aDo2NHB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6dmlzaWJsZTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTttaW4td2lkdGg6MDtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6MDtmbGV4LXNocmluazowfS5tYXQtbWluaS1mYWI6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1taW5pLWZhYi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtbWluaS1mYWIuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LW1pbmktZmFiLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi4xMn0ubWF0LW1pbmktZmFiOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtbWluaS1mYWJ7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtbWluaS1mYWIgLm1hdC1idXR0b24td3JhcHBlcntwYWRkaW5nOjhweCAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1pY29uLWJ1dHRvbntwYWRkaW5nOjA7bWluLXdpZHRoOjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtmbGV4LXNocmluazowO2xpbmUtaGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czo1MCV9Lm1hdC1pY29uLWJ1dHRvbiBpLC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29ue2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1idXR0b24tcmlwcGxlLm1hdC1yaXBwbGUsLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1yYWRpdXM6aW5oZXJpdH0ubWF0LWJ1dHRvbi1yaXBwbGUubWF0LXJpcHBsZTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgMjAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgMjAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e3RyYW5zaXRpb246bm9uZX0ubWF0LWJ1dHRvbi1yaXBwbGUtcm91bmR7Ym9yZGVyLXJhZGl1czo1MCU7ei1pbmRleDoxfS5tYXQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LWZsYXQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LXN0cm9rZWQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LXJhaXNlZC1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcj4qLC5tYXQtaWNvbi1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcj4qLC5tYXQtZmFiIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LW1pbmktZmFiIC5tYXQtYnV0dG9uLXdyYXBwZXI+Knt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiwubWF0LWZvcm0tZmllbGQ6bm90KC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSkgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOmluaGVyaXQ7d2lkdGg6Mi41ZW07aGVpZ2h0OjIuNWVtfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24sLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZsYXQtYnV0dG9uLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1yYWlzZWQtYnV0dG9uLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1pY29uLWJ1dHRvbiwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZmFiLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1taW5pLWZhYntvdXRsaW5lOnNvbGlkIDFweH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLWJhc2UuY2RrLWtleWJvYXJkLWZvY3VzZWQsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi1iYXNlLmNkay1wcm9ncmFtLWZvY3VzZWR7b3V0bGluZTpzb2xpZCAzcHh9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpmRn0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse3JpcHBsZTpbe3R5cGU6YXIsYXJnczpbbUxdfV19KTtjbGFzcyB6TCBleHRlbmRzIE5Me2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcihlLHQsbil9X2hhbHREaXNhYmxlZEV2ZW50cyh0KXt0aGlzLmRpc2FibGVkJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX16TC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ekwpKGdmKGZGKSxnZihLaCksZ2YoY2ssOCkpfSx6TC7JtWNtcD1zbyh7dHlwZTp6TCxzZWxlY3RvcnM6W1siYSIsIm1hdC1idXR0b24iLCIiXSxbImEiLCJtYXQtcmFpc2VkLWJ1dHRvbiIsIiJdLFsiYSIsIm1hdC1pY29uLWJ1dHRvbiIsIiJdLFsiYSIsIm1hdC1mYWIiLCIiXSxbImEiLCJtYXQtbWluaS1mYWIiLCIiXSxbImEiLCJtYXQtc3Ryb2tlZC1idXR0b24iLCIiXSxbImEiLCJtYXQtZmxhdC1idXR0b24iLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtZm9jdXMtaW5kaWNhdG9yIl0saG9zdFZhcnM6Nyxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFsdERpc2FibGVkRXZlbnRzKGUpfSkpLDImZSYmKHltKCJ0YWJpbmRleCIsbi5kaXNhYmxlZD8tMTpuLnRhYkluZGV4fHwwKSgiZGlzYWJsZWQiLG4uZGlzYWJsZWR8fG51bGwpKCJhcmlhLWRpc2FibGVkIixuLmRpc2FibGVkLnRvU3RyaW5nKCkpLGN1KCJfbWF0LWFuaW1hdGlvbi1ub29wYWJsZSIsIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGUpKCJtYXQtYnV0dG9uLWRpc2FibGVkIixuLmRpc2FibGVkKSl9LGlucHV0czp7ZGlzYWJsZWQ6ImRpc2FibGVkIixkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIixjb2xvcjoiY29sb3IiLHRhYkluZGV4OiJ0YWJJbmRleCJ9LGV4cG9ydEFzOlsibWF0QnV0dG9uIiwibWF0QW5jaG9yIl0sZmVhdHVyZXM6W1FwXSxhdHRyczpETCxuZ0NvbnRlbnRTZWxlY3RvcnM6UkwsZGVjbHM6NCx2YXJzOjUsY29uc3RzOltbMSwibWF0LWJ1dHRvbi13cmFwcGVyIl0sWyJtYXRSaXBwbGUiLCIiLDEsIm1hdC1idXR0b24tcmlwcGxlIiwzLCJtYXRSaXBwbGVEaXNhYmxlZCIsIm1hdFJpcHBsZUNlbnRlcmVkIiwibWF0UmlwcGxlVHJpZ2dlciJdLFsxLCJtYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKEhmKCksQ2YoMCwic3BhbiIsMCksRmYoMSksTWYoKSx2ZigyLCJzcGFuIiwxKSx2ZigzLCJzcGFuIiwyKSksMiZlJiYoRGMoMiksY3UoIm1hdC1idXR0b24tcmlwcGxlLXJvdW5kIixuLmlzUm91bmRCdXR0b258fG4uaXNJY29uQnV0dG9uKSxiZigibWF0UmlwcGxlRGlzYWJsZWQiLG4uX2lzUmlwcGxlRGlzYWJsZWQoKSkoIm1hdFJpcHBsZUNlbnRlcmVkIixuLmlzSWNvbkJ1dHRvbikoIm1hdFJpcHBsZVRyaWdnZXIiLG4uX2dldEhvc3RFbGVtZW50KCkpKX0sZGlyZWN0aXZlczpbbUxdLHN0eWxlczpbRUxdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLHpMLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6ZkZ9LHt0eXBlOktofSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sekwucHJvcERlY29yYXRvcnM9e3RhYkluZGV4Olt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHpMLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFbbWF0LWJ1dHRvbl0sIGFbbWF0LXJhaXNlZC1idXR0b25dLCBhW21hdC1pY29uLWJ1dHRvbl0sIGFbbWF0LWZhYl0sXG4gICAgICAgICAgICAgYVttYXQtbWluaS1mYWJdLCBhW21hdC1zdHJva2VkLWJ1dHRvbl0sIGFbbWF0LWZsYXQtYnV0dG9uXSIsZXhwb3J0QXM6Im1hdEJ1dHRvbiwgbWF0QW5jaG9yIixob3N0OnsiW2F0dHIudGFiaW5kZXhdIjoiZGlzYWJsZWQgPyAtMSA6ICh0YWJJbmRleCB8fCAwKSIsIlthdHRyLmRpc2FibGVkXSI6ImRpc2FibGVkIHx8IG51bGwiLCJbYXR0ci5hcmlhLWRpc2FibGVkXSI6ImRpc2FibGVkLnRvU3RyaW5nKCkiLCIoY2xpY2spIjoiX2hhbHREaXNhYmxlZEV2ZW50cygkZXZlbnQpIiwiW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSI6J19hbmltYXRpb25Nb2RlID09PSAiTm9vcEFuaW1hdGlvbnMiJywiW2NsYXNzLm1hdC1idXR0b24tZGlzYWJsZWRdIjoiZGlzYWJsZWQiLGNsYXNzOiJtYXQtZm9jdXMtaW5kaWNhdG9yIn0saW5wdXRzOlsiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwiY29sb3IiXSx0ZW1wbGF0ZTonPHNwYW4gY2xhc3M9Im1hdC1idXR0b24td3JhcHBlciI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cbjxzcGFuIG1hdFJpcHBsZSBjbGFzcz0ibWF0LWJ1dHRvbi1yaXBwbGUiXG4gICAgICBbY2xhc3MubWF0LWJ1dHRvbi1yaXBwbGUtcm91bmRdPSJpc1JvdW5kQnV0dG9uIHx8IGlzSWNvbkJ1dHRvbiJcbiAgICAgIFttYXRSaXBwbGVEaXNhYmxlZF09Il9pc1JpcHBsZURpc2FibGVkKCkiXG4gICAgICBbbWF0UmlwcGxlQ2VudGVyZWRdPSJpc0ljb25CdXR0b24iXG4gICAgICBbbWF0UmlwcGxlVHJpZ2dlcl09Il9nZXRIb3N0RWxlbWVudCgpIj48L3NwYW4+XG48c3BhbiBjbGFzcz0ibWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5Ij48L3NwYW4+XG4nLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLHN0eWxlczpbIi5tYXQtYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1pY29uLWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6MH0ubWF0LWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouMDR9QG1lZGlhKGhvdmVyOiBub25lKXsubWF0LWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbjpob3Zlcjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTowfX0ubWF0LWJ1dHRvbiwubWF0LWljb24tYnV0dG9uLC5tYXQtc3Ryb2tlZC1idXR0b24sLm1hdC1mbGF0LWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO21pbi13aWR0aDo2NHB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwubWF0LWljb24tYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLC5tYXQtc3Ryb2tlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLm1hdC1mbGF0LWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0ubWF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLC5tYXQtaWNvbi1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCwubWF0LXN0cm9rZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQsLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1idXR0b24uY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtaWNvbi1idXR0b24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LWljb24tYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LXN0cm9rZWQtYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1zdHJva2VkLWJ1dHRvbi5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1mbGF0LWJ1dHRvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LC5tYXQtZmxhdC1idXR0b24uY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjEyfS5tYXQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLC5tYXQtaWNvbi1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsLm1hdC1zdHJva2VkLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwubWF0LWZsYXQtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5tYXQtcmFpc2VkLWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO21pbi13aWR0aDo2NHB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6dmlzaWJsZTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKX0ubWF0LXJhaXNlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9Lm1hdC1yYWlzZWQtYnV0dG9uLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1yYWlzZWQtYnV0dG9uLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi4xMn0ubWF0LXJhaXNlZC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1yYWlzZWQtYnV0dG9ue3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXN0cm9rZWQtYnV0dG9ue2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yO3BhZGRpbmc6MCAxNXB4O2xpbmUtaGVpZ2h0OjM0cHh9Lm1hdC1zdHJva2VkLWJ1dHRvbiAubWF0LWJ1dHRvbi1yaXBwbGUubWF0LXJpcHBsZSwubWF0LXN0cm9rZWQtYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXl7dG9wOi0xcHg7bGVmdDotMXB4O3JpZ2h0Oi0xcHg7Ym90dG9tOi0xcHh9Lm1hdC1mYWJ7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LWRlY29yYXRpb246bm9uZTt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDttaW4td2lkdGg6NjRweDtsaW5lLWhlaWdodDozNnB4O3BhZGRpbmc6MCAxNnB4O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93OnZpc2libGU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApO3RyYW5zaXRpb246YmFja2dyb3VuZCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7bWluLXdpZHRoOjA7Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6NTZweDtoZWlnaHQ6NTZweDtwYWRkaW5nOjA7ZmxleC1zaHJpbms6MH0ubWF0LWZhYjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0ubWF0LWZhYi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtZmFiLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksLm1hdC1mYWIuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjEyfS5tYXQtZmFiOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtZmFie3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LWZhYiAubWF0LWJ1dHRvbi13cmFwcGVye3BhZGRpbmc6MTZweCAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1taW5pLWZhYntib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO21pbi13aWR0aDo2NHB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7Ym9yZGVyLXJhZGl1czo0cHg7b3ZlcmZsb3c6dmlzaWJsZTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwgMCwgMCk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTttaW4td2lkdGg6MDtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6MDtmbGV4LXNocmluazowfS5tYXQtbWluaS1mYWI6Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1taW5pLWZhYi5tYXQtYnV0dG9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5tYXQtbWluaS1mYWIuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwubWF0LW1pbmktZmFiLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi4xMn0ubWF0LW1pbmktZmFiOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtbWluaS1mYWJ7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtbWluaS1mYWIgLm1hdC1idXR0b24td3JhcHBlcntwYWRkaW5nOjhweCAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1pY29uLWJ1dHRvbntwYWRkaW5nOjA7bWluLXdpZHRoOjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtmbGV4LXNocmluazowO2xpbmUtaGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czo1MCV9Lm1hdC1pY29uLWJ1dHRvbiBpLC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29ue2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1idXR0b24tcmlwcGxlLm1hdC1yaXBwbGUsLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1yYWRpdXM6aW5oZXJpdH0ubWF0LWJ1dHRvbi1yaXBwbGUubWF0LXJpcHBsZTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgMjAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgMjAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5e3RyYW5zaXRpb246bm9uZX0ubWF0LWJ1dHRvbi1yaXBwbGUtcm91bmR7Ym9yZGVyLXJhZGl1czo1MCU7ei1pbmRleDoxfS5tYXQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LWZsYXQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LXN0cm9rZWQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LXJhaXNlZC1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcj4qLC5tYXQtaWNvbi1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcj4qLC5tYXQtZmFiIC5tYXQtYnV0dG9uLXdyYXBwZXI+KiwubWF0LW1pbmktZmFiIC5tYXQtYnV0dG9uLXdyYXBwZXI+Knt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiwubWF0LWZvcm0tZmllbGQ6bm90KC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSkgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOmluaGVyaXQ7d2lkdGg6Mi41ZW07aGVpZ2h0OjIuNWVtfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24sLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZsYXQtYnV0dG9uLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1yYWlzZWQtYnV0dG9uLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1pY29uLWJ1dHRvbiwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZmFiLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1taW5pLWZhYntvdXRsaW5lOnNvbGlkIDFweH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLWJhc2UuY2RrLWtleWJvYXJkLWZvY3VzZWQsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi1iYXNlLmNkay1wcm9ncmFtLWZvY3VzZWR7b3V0bGluZTpzb2xpZCAzcHh9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmZGfSx7dHlwZTpLaH0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse3RhYkluZGV4Olt7dHlwZTpSX31dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBJTHt9SUwuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fElMKX0sSUwuybVtb2Q9Zm8oe3R5cGU6SUx9KSxJTC7JtWluaj1Ebih7aW1wb3J0czpbW2ZMLE5GXSxORl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKElMLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbZkwsTkZdLGV4cG9ydHM6W05MLHpMLE5GXSxkZWNsYXJhdGlvbnM6W05MLHpMXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKElMLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bTkwsekxdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW2ZMLE5GXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltOTCx6TCxORl19fSk7Y2xhc3MgSEx7fWZ1bmN0aW9uIEZMKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC5jb25uZWN0fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBMTCBleHRlbmRzIEhMe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5fZGF0YT10fWNvbm5lY3QoKXtyZXR1cm4gTHQodGhpcy5fZGF0YSk/dGhpcy5fZGF0YTp6dCh0aGlzLl9kYXRhKX1kaXNjb25uZWN0KCl7fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIEJMe2FwcGx5Q2hhbmdlcyh0LGUsbixvLGkpe3QuZm9yRWFjaE9wZXJhdGlvbigoKHQsbyxhKT0+e2xldCByLHM7aWYobnVsbD09dC5wcmV2aW91c0luZGV4KXtjb25zdCBpPW4odCxvLGEpO3I9ZS5jcmVhdGVFbWJlZGRlZFZpZXcoaS50ZW1wbGF0ZVJlZixpLmNvbnRleHQsaS5pbmRleCkscz0xfWVsc2UgbnVsbD09YT8oZS5yZW1vdmUobykscz0zKToocj1lLmdldChvKSxlLm1vdmUocixhKSxzPTIpO2kmJmkoe2NvbnRleHQ6bnVsbD09cj92b2lkIDA6ci5jb250ZXh0LG9wZXJhdGlvbjpzLHJlY29yZDp0fSl9KSl9ZGV0YWNoKCl7fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgVkx7Y29uc3RydWN0b3IoKXt0aGlzLnZpZXdDYWNoZVNpemU9MjAsdGhpcy5fdmlld0NhY2hlPVtdfWFwcGx5Q2hhbmdlcyh0LGUsbixvLGkpe3QuZm9yRWFjaE9wZXJhdGlvbigoKHQsYSxyKT0+e2xldCBzLGw7aWYobnVsbD09dC5wcmV2aW91c0luZGV4KXtzPXRoaXMuX2luc2VydFZpZXcoKCgpPT5uKHQsYSxyKSkscixlLG8odCkpLGw9cz8xOjB9ZWxzZSBudWxsPT1yPyh0aGlzLl9kZXRhY2hBbmRDYWNoZVZpZXcoYSxlKSxsPTMpOihzPXRoaXMuX21vdmVWaWV3KGEscixlLG8odCkpLGw9Mik7aSYmaSh7Y29udGV4dDpudWxsPT1zP3ZvaWQgMDpzLmNvbnRleHQsb3BlcmF0aW9uOmwscmVjb3JkOnR9KX0pKX1kZXRhY2goKXtmb3IoY29uc3QgdCBvZiB0aGlzLl92aWV3Q2FjaGUpdC5kZXN0cm95KCk7dGhpcy5fdmlld0NhY2hlPVtdfV9pbnNlcnRWaWV3KHQsZSxuLG8pe2NvbnN0IGk9dGhpcy5faW5zZXJ0Vmlld0Zyb21DYWNoZShlLG4pO2lmKGkpcmV0dXJuIHZvaWQoaS5jb250ZXh0LiRpbXBsaWNpdD1vKTtjb25zdCBhPXQoKTtyZXR1cm4gbi5jcmVhdGVFbWJlZGRlZFZpZXcoYS50ZW1wbGF0ZVJlZixhLmNvbnRleHQsYS5pbmRleCl9X2RldGFjaEFuZENhY2hlVmlldyh0LGUpe2NvbnN0IG49ZS5kZXRhY2godCk7dGhpcy5fbWF5YmVDYWNoZVZpZXcobixlKX1fbW92ZVZpZXcodCxlLG4sbyl7Y29uc3QgaT1uLmdldCh0KTtyZXR1cm4gbi5tb3ZlKGksZSksaS5jb250ZXh0LiRpbXBsaWNpdD1vLGl9X21heWJlQ2FjaGVWaWV3KHQsZSl7aWYodGhpcy5fdmlld0NhY2hlLmxlbmd0aDx0aGlzLnZpZXdDYWNoZVNpemUpdGhpcy5fdmlld0NhY2hlLnB1c2godCk7ZWxzZXtjb25zdCBuPWUuaW5kZXhPZih0KTstMT09PW4/dC5kZXN0cm95KCk6ZS5yZW1vdmUobil9fV9pbnNlcnRWaWV3RnJvbUNhY2hlKHQsZSl7Y29uc3Qgbj10aGlzLl92aWV3Q2FjaGUucG9wKCk7cmV0dXJuIG4mJmUuaW5zZXJ0KG4sdCksbnx8bnVsbH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIGpMe2NvbnN0cnVjdG9yKHQ9ITEsZSxuPSEwKXt0aGlzLl9tdWx0aXBsZT10LHRoaXMuX2VtaXRDaGFuZ2VzPW4sdGhpcy5fc2VsZWN0aW9uPW5ldyBTZXQsdGhpcy5fZGVzZWxlY3RlZFRvRW1pdD1bXSx0aGlzLl9zZWxlY3RlZFRvRW1pdD1bXSx0aGlzLmNoYW5nZWQ9bmV3IEIsZSYmZS5sZW5ndGgmJih0P2UuZm9yRWFjaCgodD0+dGhpcy5fbWFya1NlbGVjdGVkKHQpKSk6dGhpcy5fbWFya1NlbGVjdGVkKGVbMF0pLHRoaXMuX3NlbGVjdGVkVG9FbWl0Lmxlbmd0aD0wKX1nZXQgc2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWR8fCh0aGlzLl9zZWxlY3RlZD1BcnJheS5mcm9tKHRoaXMuX3NlbGVjdGlvbi52YWx1ZXMoKSkpLHRoaXMuX3NlbGVjdGVkfXNlbGVjdCguLi50KXt0aGlzLl92ZXJpZnlWYWx1ZUFzc2lnbm1lbnQodCksdC5mb3JFYWNoKCh0PT50aGlzLl9tYXJrU2VsZWN0ZWQodCkpKSx0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKX1kZXNlbGVjdCguLi50KXt0aGlzLl92ZXJpZnlWYWx1ZUFzc2lnbm1lbnQodCksdC5mb3JFYWNoKCh0PT50aGlzLl91bm1hcmtTZWxlY3RlZCh0KSkpLHRoaXMuX2VtaXRDaGFuZ2VFdmVudCgpfXRvZ2dsZSh0KXt0aGlzLmlzU2VsZWN0ZWQodCk/dGhpcy5kZXNlbGVjdCh0KTp0aGlzLnNlbGVjdCh0KX1jbGVhcigpe3RoaXMuX3VubWFya0FsbCgpLHRoaXMuX2VtaXRDaGFuZ2VFdmVudCgpfWlzU2VsZWN0ZWQodCl7cmV0dXJuIHRoaXMuX3NlbGVjdGlvbi5oYXModCl9aXNFbXB0eSgpe3JldHVybiAwPT09dGhpcy5fc2VsZWN0aW9uLnNpemV9aGFzVmFsdWUoKXtyZXR1cm4hdGhpcy5pc0VtcHR5KCl9c29ydCh0KXt0aGlzLl9tdWx0aXBsZSYmdGhpcy5zZWxlY3RlZCYmdGhpcy5fc2VsZWN0ZWQuc29ydCh0KX1pc011bHRpcGxlU2VsZWN0aW9uKCl7cmV0dXJuIHRoaXMuX211bHRpcGxlfV9lbWl0Q2hhbmdlRXZlbnQoKXt0aGlzLl9zZWxlY3RlZD1udWxsLCh0aGlzLl9zZWxlY3RlZFRvRW1pdC5sZW5ndGh8fHRoaXMuX2Rlc2VsZWN0ZWRUb0VtaXQubGVuZ3RoKSYmKHRoaXMuY2hhbmdlZC5uZXh0KHtzb3VyY2U6dGhpcyxhZGRlZDp0aGlzLl9zZWxlY3RlZFRvRW1pdCxyZW1vdmVkOnRoaXMuX2Rlc2VsZWN0ZWRUb0VtaXR9KSx0aGlzLl9kZXNlbGVjdGVkVG9FbWl0PVtdLHRoaXMuX3NlbGVjdGVkVG9FbWl0PVtdKX1fbWFya1NlbGVjdGVkKHQpe3RoaXMuaXNTZWxlY3RlZCh0KXx8KHRoaXMuX211bHRpcGxlfHx0aGlzLl91bm1hcmtBbGwoKSx0aGlzLl9zZWxlY3Rpb24uYWRkKHQpLHRoaXMuX2VtaXRDaGFuZ2VzJiZ0aGlzLl9zZWxlY3RlZFRvRW1pdC5wdXNoKHQpKX1fdW5tYXJrU2VsZWN0ZWQodCl7dGhpcy5pc1NlbGVjdGVkKHQpJiYodGhpcy5fc2VsZWN0aW9uLmRlbGV0ZSh0KSx0aGlzLl9lbWl0Q2hhbmdlcyYmdGhpcy5fZGVzZWxlY3RlZFRvRW1pdC5wdXNoKHQpKX1fdW5tYXJrQWxsKCl7dGhpcy5pc0VtcHR5KCl8fHRoaXMuX3NlbGVjdGlvbi5mb3JFYWNoKCh0PT50aGlzLl91bm1hcmtTZWxlY3RlZCh0KSkpfV92ZXJpZnlWYWx1ZUFzc2lnbm1lbnQodCl7aWYodC5sZW5ndGg+MSYmIXRoaXMuX211bHRpcGxlJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3coZnVuY3Rpb24gZSgpe3JldHVybiBFcnJvcigiQ2Fubm90IHBhc3MgbXVsdGlwbGUgdmFsdWVzIGludG8gU2VsZWN0aW9uTW9kZWwgd2l0aCBzaW5nbGUtdmFsdWUgbW9kZS4iKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovKSgpfX1jbGFzcyBVTHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2xpc3RlbmVycz1bXX1ub3RpZnkodCxlKXtmb3IobGV0IG4gb2YgdGhpcy5fbGlzdGVuZXJzKW4odCxlKX1saXN0ZW4odCl7cmV0dXJuIHRoaXMuX2xpc3RlbmVycy5wdXNoKHQpLCgpPT57dGhpcy5fbGlzdGVuZXJzPXRoaXMuX2xpc3RlbmVycy5maWx0ZXIoKGU9PnQhPT1lKSl9fW5nT25EZXN0cm95KCl7dGhpcy5fbGlzdGVuZXJzPVtdfX1VTC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8VUwpfSxVTC7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgVUx9LHRva2VuOlVMLHByb3ZpZGVkSW46InJvb3QifSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihVTCxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFdMPW5ldyBlcigiX1ZpZXdSZXBlYXRlciIpLEdMPVsiY29udGVudFdyYXBwZXIiXSxZTD1uZXcgZXIoIlZJUlRVQUxfU0NST0xMX1NUUkFURUdZIik7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBxTHtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fc2Nyb2xsZWRJbmRleENoYW5nZT1uZXcgQix0aGlzLnNjcm9sbGVkSW5kZXhDaGFuZ2U9dGhpcy5fc2Nyb2xsZWRJbmRleENoYW5nZS5waXBlKHdlKCkpLHRoaXMuX3ZpZXdwb3J0PW51bGwsdGhpcy5faXRlbVNpemU9dCx0aGlzLl9taW5CdWZmZXJQeD1lLHRoaXMuX21heEJ1ZmZlclB4PW59YXR0YWNoKHQpe3RoaXMuX3ZpZXdwb3J0PXQsdGhpcy5fdXBkYXRlVG90YWxDb250ZW50U2l6ZSgpLHRoaXMuX3VwZGF0ZVJlbmRlcmVkUmFuZ2UoKX1kZXRhY2goKXt0aGlzLl9zY3JvbGxlZEluZGV4Q2hhbmdlLmNvbXBsZXRlKCksdGhpcy5fdmlld3BvcnQ9bnVsbH11cGRhdGVJdGVtQW5kQnVmZmVyU2l6ZSh0LGUsbil7aWYobjxlJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgRXJyb3IoIkNESyB2aXJ0dWFsIHNjcm9sbDogbWF4QnVmZmVyUHggbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gbWluQnVmZmVyUHgiKTt0aGlzLl9pdGVtU2l6ZT10LHRoaXMuX21pbkJ1ZmZlclB4PWUsdGhpcy5fbWF4QnVmZmVyUHg9bix0aGlzLl91cGRhdGVUb3RhbENvbnRlbnRTaXplKCksdGhpcy5fdXBkYXRlUmVuZGVyZWRSYW5nZSgpfW9uQ29udGVudFNjcm9sbGVkKCl7dGhpcy5fdXBkYXRlUmVuZGVyZWRSYW5nZSgpfW9uRGF0YUxlbmd0aENoYW5nZWQoKXt0aGlzLl91cGRhdGVUb3RhbENvbnRlbnRTaXplKCksdGhpcy5fdXBkYXRlUmVuZGVyZWRSYW5nZSgpfW9uQ29udGVudFJlbmRlcmVkKCl7fW9uUmVuZGVyZWRPZmZzZXRDaGFuZ2VkKCl7fXNjcm9sbFRvSW5kZXgodCxlKXt0aGlzLl92aWV3cG9ydCYmdGhpcy5fdmlld3BvcnQuc2Nyb2xsVG9PZmZzZXQodCp0aGlzLl9pdGVtU2l6ZSxlKX1fdXBkYXRlVG90YWxDb250ZW50U2l6ZSgpe3RoaXMuX3ZpZXdwb3J0JiZ0aGlzLl92aWV3cG9ydC5zZXRUb3RhbENvbnRlbnRTaXplKHRoaXMuX3ZpZXdwb3J0LmdldERhdGFMZW5ndGgoKSp0aGlzLl9pdGVtU2l6ZSl9X3VwZGF0ZVJlbmRlcmVkUmFuZ2UoKXtpZighdGhpcy5fdmlld3BvcnQpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fdmlld3BvcnQuZ2V0UmVuZGVyZWRSYW5nZSgpLGU9e3N0YXJ0OnQuc3RhcnQsZW5kOnQuZW5kfSxuPXRoaXMuX3ZpZXdwb3J0LmdldFZpZXdwb3J0U2l6ZSgpLG89dGhpcy5fdmlld3BvcnQuZ2V0RGF0YUxlbmd0aCgpO2xldCBpPXRoaXMuX3ZpZXdwb3J0Lm1lYXN1cmVTY3JvbGxPZmZzZXQoKSxhPXRoaXMuX2l0ZW1TaXplPjA/aS90aGlzLl9pdGVtU2l6ZTowO2lmKGUuZW5kPm8pe2NvbnN0IHQ9TWF0aC5jZWlsKG4vdGhpcy5faXRlbVNpemUpLHI9TWF0aC5tYXgoMCxNYXRoLm1pbihhLG8tdCkpO2EhPXImJihhPXIsaT1yKnRoaXMuX2l0ZW1TaXplLGUuc3RhcnQ9TWF0aC5mbG9vcihhKSksZS5lbmQ9TWF0aC5tYXgoMCxNYXRoLm1pbihvLGUuc3RhcnQrdCkpfWNvbnN0IHI9aS1lLnN0YXJ0KnRoaXMuX2l0ZW1TaXplO2lmKHI8dGhpcy5fbWluQnVmZmVyUHgmJjAhPWUuc3RhcnQpe2NvbnN0IHQ9TWF0aC5jZWlsKCh0aGlzLl9tYXhCdWZmZXJQeC1yKS90aGlzLl9pdGVtU2l6ZSk7ZS5zdGFydD1NYXRoLm1heCgwLGUuc3RhcnQtdCksZS5lbmQ9TWF0aC5taW4obyxNYXRoLmNlaWwoYSsobit0aGlzLl9taW5CdWZmZXJQeCkvdGhpcy5faXRlbVNpemUpKX1lbHNle2NvbnN0IHQ9ZS5lbmQqdGhpcy5faXRlbVNpemUtKGkrbik7aWYodDx0aGlzLl9taW5CdWZmZXJQeCYmZS5lbmQhPW8pe2NvbnN0IG49TWF0aC5jZWlsKCh0aGlzLl9tYXhCdWZmZXJQeC10KS90aGlzLl9pdGVtU2l6ZSk7bj4wJiYoZS5lbmQ9TWF0aC5taW4obyxlLmVuZCtuKSxlLnN0YXJ0PU1hdGgubWF4KDAsTWF0aC5mbG9vcihhLXRoaXMuX21pbkJ1ZmZlclB4L3RoaXMuX2l0ZW1TaXplKSkpfX10aGlzLl92aWV3cG9ydC5zZXRSZW5kZXJlZFJhbmdlKGUpLHRoaXMuX3ZpZXdwb3J0LnNldFJlbmRlcmVkQ29udGVudE9mZnNldCh0aGlzLl9pdGVtU2l6ZSplLnN0YXJ0KSx0aGlzLl9zY3JvbGxlZEluZGV4Q2hhbmdlLm5leHQoTWF0aC5mbG9vcihhKSl9fWZ1bmN0aW9uIFpMKHQpe3JldHVybiB0Ll9zY3JvbGxTdHJhdGVneX1jbGFzcyBYTHtjb25zdHJ1Y3Rvcigpe3RoaXMuX2l0ZW1TaXplPTIwLHRoaXMuX21pbkJ1ZmZlclB4PTEwMCx0aGlzLl9tYXhCdWZmZXJQeD0yMDAsdGhpcy5fc2Nyb2xsU3RyYXRlZ3k9bmV3IHFMKHRoaXMuaXRlbVNpemUsdGhpcy5taW5CdWZmZXJQeCx0aGlzLm1heEJ1ZmZlclB4KX1nZXQgaXRlbVNpemUoKXtyZXR1cm4gdGhpcy5faXRlbVNpemV9c2V0IGl0ZW1TaXplKHQpe3RoaXMuX2l0ZW1TaXplPW5IKHQpfWdldCBtaW5CdWZmZXJQeCgpe3JldHVybiB0aGlzLl9taW5CdWZmZXJQeH1zZXQgbWluQnVmZmVyUHgodCl7dGhpcy5fbWluQnVmZmVyUHg9bkgodCl9Z2V0IG1heEJ1ZmZlclB4KCl7cmV0dXJuIHRoaXMuX21heEJ1ZmZlclB4fXNldCBtYXhCdWZmZXJQeCh0KXt0aGlzLl9tYXhCdWZmZXJQeD1uSCh0KX1uZ09uQ2hhbmdlcygpe3RoaXMuX3Njcm9sbFN0cmF0ZWd5LnVwZGF0ZUl0ZW1BbmRCdWZmZXJTaXplKHRoaXMuaXRlbVNpemUsdGhpcy5taW5CdWZmZXJQeCx0aGlzLm1heEJ1ZmZlclB4KX19WEwuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFhMKX0sWEwuybVkaXI9aG8oe3R5cGU6WEwsc2VsZWN0b3JzOltbImNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCIsIml0ZW1TaXplIiwiIl1dLGlucHV0czp7aXRlbVNpemU6Iml0ZW1TaXplIixtaW5CdWZmZXJQeDoibWluQnVmZmVyUHgiLG1heEJ1ZmZlclB4OiJtYXhCdWZmZXJQeCJ9LGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6WUwsdXNlRmFjdG9yeTpaTCxkZXBzOlskZSgoKCk9PlhMKSldfV0pLHFvXX0pLFhMLnByb3BEZWNvcmF0b3JzPXtpdGVtU2l6ZTpbe3R5cGU6Ul99XSxtaW5CdWZmZXJQeDpbe3R5cGU6Ul99XSxtYXhCdWZmZXJQeDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYTCxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnRbaXRlbVNpemVdIixwcm92aWRlcnM6W3twcm92aWRlOllMLHVzZUZhY3Rvcnk6WkwsZGVwczpbJGUoKCgpPT5YTCkpXX1dfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLHtpdGVtU2l6ZTpbe3R5cGU6Ul99XSxtaW5CdWZmZXJQeDpbe3R5cGU6Ul99XSxtYXhCdWZmZXJQeDpbe3R5cGU6Ul99XX0pO2NsYXNzIEtMe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9uZ1pvbmU9dCx0aGlzLl9wbGF0Zm9ybT1lLHRoaXMuX3Njcm9sbGVkPW5ldyBCLHRoaXMuX2dsb2JhbFN1YnNjcmlwdGlvbj1udWxsLHRoaXMuX3Njcm9sbGVkQ291bnQ9MCx0aGlzLnNjcm9sbENvbnRhaW5lcnM9bmV3IE1hcCx0aGlzLl9kb2N1bWVudD1ufXJlZ2lzdGVyKHQpe3RoaXMuc2Nyb2xsQ29udGFpbmVycy5oYXModCl8fHRoaXMuc2Nyb2xsQ29udGFpbmVycy5zZXQodCx0LmVsZW1lbnRTY3JvbGxlZCgpLnN1YnNjcmliZSgoKCk9PnRoaXMuX3Njcm9sbGVkLm5leHQodCkpKSl9ZGVyZWdpc3Rlcih0KXtjb25zdCBlPXRoaXMuc2Nyb2xsQ29udGFpbmVycy5nZXQodCk7ZSYmKGUudW5zdWJzY3JpYmUoKSx0aGlzLnNjcm9sbENvbnRhaW5lcnMuZGVsZXRlKHQpKX1zY3JvbGxlZCh0PTIwKXtyZXR1cm4gdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyP25ldyBUKChlPT57dGhpcy5fZ2xvYmFsU3Vic2NyaXB0aW9ufHx0aGlzLl9hZGRHbG9iYWxMaXN0ZW5lcigpO2NvbnN0IG49dD4wP3RoaXMuX3Njcm9sbGVkLnBpcGUoZ2UodCkpLnN1YnNjcmliZShlKTp0aGlzLl9zY3JvbGxlZC5zdWJzY3JpYmUoZSk7cmV0dXJuIHRoaXMuX3Njcm9sbGVkQ291bnQrKywoKT0+e24udW5zdWJzY3JpYmUoKSx0aGlzLl9zY3JvbGxlZENvdW50LS0sdGhpcy5fc2Nyb2xsZWRDb3VudHx8dGhpcy5fcmVtb3ZlR2xvYmFsTGlzdGVuZXIoKX19KSk6enQoKX1uZ09uRGVzdHJveSgpe3RoaXMuX3JlbW92ZUdsb2JhbExpc3RlbmVyKCksdGhpcy5zY3JvbGxDb250YWluZXJzLmZvckVhY2goKCh0LGUpPT50aGlzLmRlcmVnaXN0ZXIoZSkpKSx0aGlzLl9zY3JvbGxlZC5jb21wbGV0ZSgpfWFuY2VzdG9yU2Nyb2xsZWQodCxlKXtjb25zdCBuPXRoaXMuZ2V0QW5jZXN0b3JTY3JvbGxDb250YWluZXJzKHQpO3JldHVybiB0aGlzLnNjcm9sbGVkKGUpLnBpcGUodWUoKHQ9PiF0fHxuLmluZGV4T2YodCk+LTEpKSl9Z2V0QW5jZXN0b3JTY3JvbGxDb250YWluZXJzKHQpe2NvbnN0IGU9W107cmV0dXJuIHRoaXMuc2Nyb2xsQ29udGFpbmVycy5mb3JFYWNoKCgobixvKT0+e3RoaXMuX3Njcm9sbGFibGVDb250YWluc0VsZW1lbnQobyx0KSYmZS5wdXNoKG8pfSkpLGV9X2dldFdpbmRvdygpe3JldHVybiB0aGlzLl9kb2N1bWVudC5kZWZhdWx0Vmlld3x8d2luZG93fV9zY3JvbGxhYmxlQ29udGFpbnNFbGVtZW50KHQsZSl7bGV0IG49ckgoZSksbz10LmdldEVsZW1lbnRSZWYoKS5uYXRpdmVFbGVtZW50O2Rve2lmKG49PW8pcmV0dXJuITB9d2hpbGUobj1uLnBhcmVudEVsZW1lbnQpO3JldHVybiExfV9hZGRHbG9iYWxMaXN0ZW5lcigpe3RoaXMuX2dsb2JhbFN1YnNjcmlwdGlvbj10aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT5sZSh0aGlzLl9nZXRXaW5kb3coKS5kb2N1bWVudCwic2Nyb2xsIikuc3Vic2NyaWJlKCgoKT0+dGhpcy5fc2Nyb2xsZWQubmV4dCgpKSkpKX1fcmVtb3ZlR2xvYmFsTGlzdGVuZXIoKXt0aGlzLl9nbG9iYWxTdWJzY3JpcHRpb24mJih0aGlzLl9nbG9iYWxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9nbG9iYWxTdWJzY3JpcHRpb249bnVsbCl9fUtMLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxLTCkoVHIobUMpLFRyKGNIKSxUcihzTSw4KSl9LEtMLsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyBLTChUcihtQyksVHIoY0gpLFRyKHNNLDgpKX0sdG9rZW46S0wscHJvdmlkZWRJbjoicm9vdCJ9KSxLTC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoS0wsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBKTHtjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLmVsZW1lbnRSZWY9dCx0aGlzLnNjcm9sbERpc3BhdGNoZXI9ZSx0aGlzLm5nWm9uZT1uLHRoaXMuZGlyPW8sdGhpcy5fZGVzdHJveWVkPW5ldyBCLHRoaXMuX2VsZW1lbnRTY3JvbGxlZD1uZXcgVCgodD0+dGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT5sZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwic2Nyb2xsIikucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUodCkpKSkpfW5nT25Jbml0KCl7dGhpcy5zY3JvbGxEaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMpfW5nT25EZXN0cm95KCl7dGhpcy5zY3JvbGxEaXNwYXRjaGVyLmRlcmVnaXN0ZXIodGhpcyksdGhpcy5fZGVzdHJveWVkLm5leHQoKSx0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKX1lbGVtZW50U2Nyb2xsZWQoKXtyZXR1cm4gdGhpcy5fZWxlbWVudFNjcm9sbGVkfWdldEVsZW1lbnRSZWYoKXtyZXR1cm4gdGhpcy5lbGVtZW50UmVmfXNjcm9sbFRvKHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsbj10aGlzLmRpciYmInJ0bCI9PXRoaXMuZGlyLnZhbHVlO251bGw9PXQubGVmdCYmKHQubGVmdD1uP3QuZW5kOnQuc3RhcnQpLG51bGw9PXQucmlnaHQmJih0LnJpZ2h0PW4/dC5zdGFydDp0LmVuZCksbnVsbCE9dC5ib3R0b20mJih0LnRvcD1lLnNjcm9sbEhlaWdodC1lLmNsaWVudEhlaWdodC10LmJvdHRvbSksbiYmMCE9X0goKT8obnVsbCE9dC5sZWZ0JiYodC5yaWdodD1lLnNjcm9sbFdpZHRoLWUuY2xpZW50V2lkdGgtdC5sZWZ0KSwyPT1fSCgpP3QubGVmdD10LnJpZ2h0OjE9PV9IKCkmJih0LmxlZnQ9dC5yaWdodD8tdC5yaWdodDp0LnJpZ2h0KSk6bnVsbCE9dC5yaWdodCYmKHQubGVmdD1lLnNjcm9sbFdpZHRoLWUuY2xpZW50V2lkdGgtdC5yaWdodCksdGhpcy5fYXBwbHlTY3JvbGxUb09wdGlvbnModCl9X2FwcGx5U2Nyb2xsVG9PcHRpb25zKHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7eUgoKT9lLnNjcm9sbFRvKHQpOihudWxsIT10LnRvcCYmKGUuc2Nyb2xsVG9wPXQudG9wKSxudWxsIT10LmxlZnQmJihlLnNjcm9sbExlZnQ9dC5sZWZ0KSl9bWVhc3VyZVNjcm9sbE9mZnNldCh0KXtjb25zdCBlPSJsZWZ0IixuPSJyaWdodCIsbz10aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtpZigidG9wIj09dClyZXR1cm4gby5zY3JvbGxUb3A7aWYoImJvdHRvbSI9PXQpcmV0dXJuIG8uc2Nyb2xsSGVpZ2h0LW8uY2xpZW50SGVpZ2h0LW8uc2Nyb2xsVG9wO2NvbnN0IGk9dGhpcy5kaXImJiJydGwiPT10aGlzLmRpci52YWx1ZTtyZXR1cm4ic3RhcnQiPT10P3Q9aT9uOmU6ImVuZCI9PXQmJih0PWk/ZTpuKSxpJiYyPT1fSCgpP3Q9PWU/by5zY3JvbGxXaWR0aC1vLmNsaWVudFdpZHRoLW8uc2Nyb2xsTGVmdDpvLnNjcm9sbExlZnQ6aSYmMT09X0goKT90PT1lP28uc2Nyb2xsTGVmdCtvLnNjcm9sbFdpZHRoLW8uY2xpZW50V2lkdGg6LW8uc2Nyb2xsTGVmdDp0PT1lP28uc2Nyb2xsTGVmdDpvLnNjcm9sbFdpZHRoLW8uY2xpZW50V2lkdGgtby5zY3JvbGxMZWZ0fX1KTC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SkwpKGdmKEtoKSxnZihLTCksZ2YobUMpLGdmKHZGLDgpKX0sSkwuybVkaXI9aG8oe3R5cGU6Skwsc2VsZWN0b3JzOltbIiIsImNkay1zY3JvbGxhYmxlIiwiIl0sWyIiLCJjZGtTY3JvbGxhYmxlIiwiIl1dfSksSkwuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6S0x9LHt0eXBlOm1DfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihKTCxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbY2RrLXNjcm9sbGFibGVdLCBbY2RrU2Nyb2xsYWJsZV0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOktMfSx7dHlwZTptQ30se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX1dfSksbnVsbCk7Y2xhc3MgUUx7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuX3BsYXRmb3JtPXQsdGhpcy5fY2hhbmdlPW5ldyBCLHRoaXMuX2NoYW5nZUxpc3RlbmVyPXQ9Pnt0aGlzLl9jaGFuZ2UubmV4dCh0KX0sdGhpcy5fZG9jdW1lbnQ9bixlLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e2lmKHQuaXNCcm93c2VyKXtjb25zdCB0PXRoaXMuX2dldFdpbmRvdygpO3QuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9jaGFuZ2VMaXN0ZW5lciksdC5hZGRFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsdGhpcy5fY2hhbmdlTGlzdGVuZXIpfXRoaXMuY2hhbmdlKCkuc3Vic2NyaWJlKCgoKT0+dGhpcy5fdmlld3BvcnRTaXplPW51bGwpKX0pKX1uZ09uRGVzdHJveSgpe2lmKHRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcil7Y29uc3QgdD10aGlzLl9nZXRXaW5kb3coKTt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fY2hhbmdlTGlzdGVuZXIpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLHRoaXMuX2NoYW5nZUxpc3RlbmVyKX10aGlzLl9jaGFuZ2UuY29tcGxldGUoKX1nZXRWaWV3cG9ydFNpemUoKXt0aGlzLl92aWV3cG9ydFNpemV8fHRoaXMuX3VwZGF0ZVZpZXdwb3J0U2l6ZSgpO2NvbnN0IHQ9e3dpZHRoOnRoaXMuX3ZpZXdwb3J0U2l6ZS53aWR0aCxoZWlnaHQ6dGhpcy5fdmlld3BvcnRTaXplLmhlaWdodH07cmV0dXJuIHRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcnx8KHRoaXMuX3ZpZXdwb3J0U2l6ZT1udWxsKSx0fWdldFZpZXdwb3J0UmVjdCgpe2NvbnN0IHQ9dGhpcy5nZXRWaWV3cG9ydFNjcm9sbFBvc2l0aW9uKCkse3dpZHRoOmUsaGVpZ2h0Om59PXRoaXMuZ2V0Vmlld3BvcnRTaXplKCk7cmV0dXJue3RvcDp0LnRvcCxsZWZ0OnQubGVmdCxib3R0b206dC50b3ArbixyaWdodDp0LmxlZnQrZSxoZWlnaHQ6bix3aWR0aDplfX1nZXRWaWV3cG9ydFNjcm9sbFBvc2l0aW9uKCl7aWYoIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3NlcilyZXR1cm57dG9wOjAsbGVmdDowfTtjb25zdCB0PXRoaXMuX2RvY3VtZW50LGU9dGhpcy5fZ2V0V2luZG93KCksbj10LmRvY3VtZW50RWxlbWVudCxvPW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue3RvcDotby50b3B8fHQuYm9keS5zY3JvbGxUb3B8fGUuc2Nyb2xsWXx8bi5zY3JvbGxUb3B8fDAsbGVmdDotby5sZWZ0fHx0LmJvZHkuc2Nyb2xsTGVmdHx8ZS5zY3JvbGxYfHxuLnNjcm9sbExlZnR8fDB9fWNoYW5nZSh0PTIwKXtyZXR1cm4gdD4wP3RoaXMuX2NoYW5nZS5waXBlKGdlKHQpKTp0aGlzLl9jaGFuZ2V9X2dldFdpbmRvdygpe3JldHVybiB0aGlzLl9kb2N1bWVudC5kZWZhdWx0Vmlld3x8d2luZG93fV91cGRhdGVWaWV3cG9ydFNpemUoKXtjb25zdCB0PXRoaXMuX2dldFdpbmRvdygpO3RoaXMuX3ZpZXdwb3J0U2l6ZT10aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXI/e3dpZHRoOnQuaW5uZXJXaWR0aCxoZWlnaHQ6dC5pbm5lckhlaWdodH06e3dpZHRoOjAsaGVpZ2h0OjB9fX1RTC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UUwpKFRyKGNIKSxUcihtQyksVHIoc00sOCkpfSxRTC7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgUUwoVHIoY0gpLFRyKG1DKSxUcihzTSw4KSl9LHRva2VuOlFMLHByb3ZpZGVkSW46InJvb3QifSksUUwuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpjSH0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFFMLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpjSH0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpO2NvbnN0ICRMPSJ1bmRlZmluZWQiIT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lP2N0Om90O2NsYXNzIHRCIGV4dGVuZHMgSkx7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscil7aWYoc3VwZXIodCxhLG4saSksdGhpcy5lbGVtZW50UmVmPXQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9ZSx0aGlzLl9zY3JvbGxTdHJhdGVneT1vLHRoaXMuX2RldGFjaGVkU3ViamVjdD1uZXcgQix0aGlzLl9yZW5kZXJlZFJhbmdlU3ViamVjdD1uZXcgQix0aGlzLl9vcmllbnRhdGlvbj0idmVydGljYWwiLHRoaXMuX2FwcGVuZE9ubHk9ITEsdGhpcy5zY3JvbGxlZEluZGV4Q2hhbmdlPW5ldyBUKCh0PT50aGlzLl9zY3JvbGxTdHJhdGVneS5zY3JvbGxlZEluZGV4Q2hhbmdlLnN1YnNjcmliZSgoZT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PnRoaXMubmdab25lLnJ1bigoKCk9PnQubmV4dChlKSkpKSkpKSkpLHRoaXMucmVuZGVyZWRSYW5nZVN0cmVhbT10aGlzLl9yZW5kZXJlZFJhbmdlU3ViamVjdCx0aGlzLl90b3RhbENvbnRlbnRTaXplPTAsdGhpcy5fdG90YWxDb250ZW50V2lkdGg9IiIsdGhpcy5fdG90YWxDb250ZW50SGVpZ2h0PSIiLHRoaXMuX3JlbmRlcmVkUmFuZ2U9e3N0YXJ0OjAsZW5kOjB9LHRoaXMuX2RhdGFMZW5ndGg9MCx0aGlzLl92aWV3cG9ydFNpemU9MCx0aGlzLl9yZW5kZXJlZENvbnRlbnRPZmZzZXQ9MCx0aGlzLl9yZW5kZXJlZENvbnRlbnRPZmZzZXROZWVkc1Jld3JpdGU9ITEsdGhpcy5faXNDaGFuZ2VEZXRlY3Rpb25QZW5kaW5nPSExLHRoaXMuX3J1bkFmdGVyQ2hhbmdlRGV0ZWN0aW9uPVtdLHRoaXMuX3ZpZXdwb3J0Q2hhbmdlcz11LkVNUFRZLCFvJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgRXJyb3IoJ0Vycm9yOiBjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgcmVxdWlyZXMgdGhlICJpdGVtU2l6ZSIgcHJvcGVydHkgdG8gYmUgc2V0LicpO3RoaXMuX3ZpZXdwb3J0Q2hhbmdlcz1yLmNoYW5nZSgpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmNoZWNrVmlld3BvcnRTaXplKCl9KSl9Z2V0IG9yaWVudGF0aW9uKCl7cmV0dXJuIHRoaXMuX29yaWVudGF0aW9ufXNldCBvcmllbnRhdGlvbih0KXt0aGlzLl9vcmllbnRhdGlvbiE9PXQmJih0aGlzLl9vcmllbnRhdGlvbj10LHRoaXMuX2NhbGN1bGF0ZVNwYWNlclNpemUoKSl9Z2V0IGFwcGVuZE9ubHkoKXtyZXR1cm4gdGhpcy5fYXBwZW5kT25seX1zZXQgYXBwZW5kT25seSh0KXt0aGlzLl9hcHBlbmRPbmx5PWVIKHQpfW5nT25Jbml0KCl7c3VwZXIubmdPbkluaXQoKSx0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fbWVhc3VyZVZpZXdwb3J0U2l6ZSgpLHRoaXMuX3Njcm9sbFN0cmF0ZWd5LmF0dGFjaCh0aGlzKSx0aGlzLmVsZW1lbnRTY3JvbGxlZCgpLnBpcGUoQmUobnVsbCksZ2UoMCwkTCkpLnN1YnNjcmliZSgoKCk9PnRoaXMuX3Njcm9sbFN0cmF0ZWd5Lm9uQ29udGVudFNjcm9sbGVkKCkpKSx0aGlzLl9tYXJrQ2hhbmdlRGV0ZWN0aW9uTmVlZGVkKCl9KSkpKX1uZ09uRGVzdHJveSgpe3RoaXMuZGV0YWNoKCksdGhpcy5fc2Nyb2xsU3RyYXRlZ3kuZGV0YWNoKCksdGhpcy5fcmVuZGVyZWRSYW5nZVN1YmplY3QuY29tcGxldGUoKSx0aGlzLl9kZXRhY2hlZFN1YmplY3QuY29tcGxldGUoKSx0aGlzLl92aWV3cG9ydENoYW5nZXMudW5zdWJzY3JpYmUoKSxzdXBlci5uZ09uRGVzdHJveSgpfWF0dGFjaCh0KXtpZih0aGlzLl9mb3JPZiYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93IEVycm9yKCJDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgaXMgYWxyZWFkeSBhdHRhY2hlZC4iKTt0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9mb3JPZj10LHRoaXMuX2Zvck9mLmRhdGFTdHJlYW0ucGlwZShqZSh0aGlzLl9kZXRhY2hlZFN1YmplY3QpKS5zdWJzY3JpYmUoKHQ9Pntjb25zdCBlPXQubGVuZ3RoO2UhPT10aGlzLl9kYXRhTGVuZ3RoJiYodGhpcy5fZGF0YUxlbmd0aD1lLHRoaXMuX3Njcm9sbFN0cmF0ZWd5Lm9uRGF0YUxlbmd0aENoYW5nZWQoKSksdGhpcy5fZG9DaGFuZ2VEZXRlY3Rpb24oKX0pKX0pKX1kZXRhY2goKXt0aGlzLl9mb3JPZj1udWxsLHRoaXMuX2RldGFjaGVkU3ViamVjdC5uZXh0KCl9Z2V0RGF0YUxlbmd0aCgpe3JldHVybiB0aGlzLl9kYXRhTGVuZ3RofWdldFZpZXdwb3J0U2l6ZSgpe3JldHVybiB0aGlzLl92aWV3cG9ydFNpemV9Z2V0UmVuZGVyZWRSYW5nZSgpe3JldHVybiB0aGlzLl9yZW5kZXJlZFJhbmdlfXNldFRvdGFsQ29udGVudFNpemUodCl7dGhpcy5fdG90YWxDb250ZW50U2l6ZSE9PXQmJih0aGlzLl90b3RhbENvbnRlbnRTaXplPXQsdGhpcy5fY2FsY3VsYXRlU3BhY2VyU2l6ZSgpLHRoaXMuX21hcmtDaGFuZ2VEZXRlY3Rpb25OZWVkZWQoKSl9c2V0UmVuZGVyZWRSYW5nZSh0KXsoCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiBlKHQsbil7cmV0dXJuIHQuc3RhcnQ9PW4uc3RhcnQmJnQuZW5kPT1uLmVuZH0pKHRoaXMuX3JlbmRlcmVkUmFuZ2UsdCl8fCh0aGlzLmFwcGVuZE9ubHkmJih0PXtzdGFydDowLGVuZDpNYXRoLm1heCh0aGlzLl9yZW5kZXJlZFJhbmdlLmVuZCx0LmVuZCl9KSx0aGlzLl9yZW5kZXJlZFJhbmdlU3ViamVjdC5uZXh0KHRoaXMuX3JlbmRlcmVkUmFuZ2U9dCksdGhpcy5fbWFya0NoYW5nZURldGVjdGlvbk5lZWRlZCgoKCk9PnRoaXMuX3Njcm9sbFN0cmF0ZWd5Lm9uQ29udGVudFJlbmRlcmVkKCkpKSl9Z2V0T2Zmc2V0VG9SZW5kZXJlZENvbnRlbnRTdGFydCgpe3JldHVybiB0aGlzLl9yZW5kZXJlZENvbnRlbnRPZmZzZXROZWVkc1Jld3JpdGU/bnVsbDp0aGlzLl9yZW5kZXJlZENvbnRlbnRPZmZzZXR9c2V0UmVuZGVyZWRDb250ZW50T2Zmc2V0KHQsZT0idG8tc3RhcnQiKXtjb25zdCBuPSJob3Jpem9udGFsIj09dGhpcy5vcmllbnRhdGlvbixvPW4/IlgiOiJZIjtsZXQgaT1gdHJhbnNsYXRlJHtvfSgke051bWJlcigobiYmKHRoaXMuZGlyJiYicnRsIj09dGhpcy5kaXIudmFsdWUpPy0xOjEpKnQpfXB4KWA7dGhpcy5fcmVuZGVyZWRDb250ZW50T2Zmc2V0PXQsInRvLWVuZCI9PT1lJiYoaSs9YCB0cmFuc2xhdGUke299KC0xMDAlKWAsdGhpcy5fcmVuZGVyZWRDb250ZW50T2Zmc2V0TmVlZHNSZXdyaXRlPSEwKSx0aGlzLl9yZW5kZXJlZENvbnRlbnRUcmFuc2Zvcm0hPWkmJih0aGlzLl9yZW5kZXJlZENvbnRlbnRUcmFuc2Zvcm09aSx0aGlzLl9tYXJrQ2hhbmdlRGV0ZWN0aW9uTmVlZGVkKCgoKT0+e3RoaXMuX3JlbmRlcmVkQ29udGVudE9mZnNldE5lZWRzUmV3cml0ZT8odGhpcy5fcmVuZGVyZWRDb250ZW50T2Zmc2V0LT10aGlzLm1lYXN1cmVSZW5kZXJlZENvbnRlbnRTaXplKCksdGhpcy5fcmVuZGVyZWRDb250ZW50T2Zmc2V0TmVlZHNSZXdyaXRlPSExLHRoaXMuc2V0UmVuZGVyZWRDb250ZW50T2Zmc2V0KHRoaXMuX3JlbmRlcmVkQ29udGVudE9mZnNldCkpOnRoaXMuX3Njcm9sbFN0cmF0ZWd5Lm9uUmVuZGVyZWRPZmZzZXRDaGFuZ2VkKCl9KSkpfXNjcm9sbFRvT2Zmc2V0KHQsZT0iYXV0byIpe2NvbnN0IG49e2JlaGF2aW9yOmV9OyJob3Jpem9udGFsIj09PXRoaXMub3JpZW50YXRpb24/bi5zdGFydD10Om4udG9wPXQsdGhpcy5zY3JvbGxUbyhuKX1zY3JvbGxUb0luZGV4KHQsZT0iYXV0byIpe3RoaXMuX3Njcm9sbFN0cmF0ZWd5LnNjcm9sbFRvSW5kZXgodCxlKX1tZWFzdXJlU2Nyb2xsT2Zmc2V0KHQpe3JldHVybiBzdXBlci5tZWFzdXJlU2Nyb2xsT2Zmc2V0KHR8fCgiaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uPyJzdGFydCI6InRvcCIpKX1tZWFzdXJlUmVuZGVyZWRDb250ZW50U2l6ZSgpe2NvbnN0IHQ9dGhpcy5fY29udGVudFdyYXBwZXIubmF0aXZlRWxlbWVudDtyZXR1cm4iaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uP3Qub2Zmc2V0V2lkdGg6dC5vZmZzZXRIZWlnaHR9bWVhc3VyZVJhbmdlU2l6ZSh0KXtyZXR1cm4gdGhpcy5fZm9yT2Y/dGhpcy5fZm9yT2YubWVhc3VyZVJhbmdlU2l6ZSh0LHRoaXMub3JpZW50YXRpb24pOjB9Y2hlY2tWaWV3cG9ydFNpemUoKXt0aGlzLl9tZWFzdXJlVmlld3BvcnRTaXplKCksdGhpcy5fc2Nyb2xsU3RyYXRlZ3kub25EYXRhTGVuZ3RoQ2hhbmdlZCgpfV9tZWFzdXJlVmlld3BvcnRTaXplKCl7Y29uc3QgdD10aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDt0aGlzLl92aWV3cG9ydFNpemU9Imhvcml6b250YWwiPT09dGhpcy5vcmllbnRhdGlvbj90LmNsaWVudFdpZHRoOnQuY2xpZW50SGVpZ2h0fV9tYXJrQ2hhbmdlRGV0ZWN0aW9uTmVlZGVkKHQpe3QmJnRoaXMuX3J1bkFmdGVyQ2hhbmdlRGV0ZWN0aW9uLnB1c2godCksdGhpcy5faXNDaGFuZ2VEZXRlY3Rpb25QZW5kaW5nfHwodGhpcy5faXNDaGFuZ2VEZXRlY3Rpb25QZW5kaW5nPSEwLHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9Pnt0aGlzLl9kb0NoYW5nZURldGVjdGlvbigpfSkpKSkpfV9kb0NoYW5nZURldGVjdGlvbigpe3RoaXMuX2lzQ2hhbmdlRGV0ZWN0aW9uUGVuZGluZz0hMSx0aGlzLl9jb250ZW50V3JhcHBlci5uYXRpdmVFbGVtZW50LnN0eWxlLnRyYW5zZm9ybT10aGlzLl9yZW5kZXJlZENvbnRlbnRUcmFuc2Zvcm0sdGhpcy5uZ1pvbmUucnVuKCgoKT0+dGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpKTtjb25zdCB0PXRoaXMuX3J1bkFmdGVyQ2hhbmdlRGV0ZWN0aW9uO3RoaXMuX3J1bkFmdGVyQ2hhbmdlRGV0ZWN0aW9uPVtdO2Zvcihjb25zdCBlIG9mIHQpZSgpfV9jYWxjdWxhdGVTcGFjZXJTaXplKCl7dGhpcy5fdG90YWxDb250ZW50SGVpZ2h0PSJob3Jpem9udGFsIj09PXRoaXMub3JpZW50YXRpb24/IiI6YCR7dGhpcy5fdG90YWxDb250ZW50U2l6ZX1weGAsdGhpcy5fdG90YWxDb250ZW50V2lkdGg9Imhvcml6b250YWwiPT09dGhpcy5vcmllbnRhdGlvbj9gJHt0aGlzLl90b3RhbENvbnRlbnRTaXplfXB4YDoiIn19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpmdW5jdGlvbiBlQih0LGUsbil7aWYoIW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KXJldHVybiAwO2NvbnN0IG89bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4iaG9yaXpvbnRhbCI9PT10PyJzdGFydCI9PT1lP28ubGVmdDpvLnJpZ2h0OiJzdGFydCI9PT1lP28udG9wOm8uYm90dG9tfXRCLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0QikoZ2YoS2gpLGdmKE9iKSxnZihtQyksZ2YoWUwsOCksZ2YodkYsOCksZ2YoS0wpLGdmKFFMKSl9LHRCLsm1Y21wPXNvKHt0eXBlOnRCLHNlbGVjdG9yczpbWyJjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJlZ5KEdMLDcpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uX2NvbnRlbnRXcmFwcGVyPXQuZmlyc3QpfX0saG9zdEF0dHJzOlsxLCJjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQiXSxob3N0VmFyczo0LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgiY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLWhvcml6b250YWwiLCJob3Jpem9udGFsIj09PW4ub3JpZW50YXRpb24pKCJjZGstdmlydHVhbC1zY3JvbGwtb3JpZW50YXRpb24tdmVydGljYWwiLCJob3Jpem9udGFsIiE9PW4ub3JpZW50YXRpb24pfSxpbnB1dHM6e29yaWVudGF0aW9uOiJvcmllbnRhdGlvbiIsYXBwZW5kT25seToiYXBwZW5kT25seSJ9LG91dHB1dHM6e3Njcm9sbGVkSW5kZXhDaGFuZ2U6InNjcm9sbGVkSW5kZXhDaGFuZ2UifSxmZWF0dXJlczpbamgoW3twcm92aWRlOkpMLHVzZUV4aXN0aW5nOnRCfV0pLFFwXSxuZ0NvbnRlbnRTZWxlY3RvcnM6WyIqIl0sZGVjbHM6NCx2YXJzOjQsY29uc3RzOltbMSwiY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlciJdLFsiY29udGVudFdyYXBwZXIiLCIiXSxbMSwiY2RrLXZpcnR1YWwtc2Nyb2xsLXNwYWNlciJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxDZigwLCJkaXYiLDAsMSksRmYoMiksTWYoKSx2ZigzLCJkaXYiLDIpKSwyJmUmJihEYygzKSxsdSgid2lkdGgiLG4uX3RvdGFsQ29udGVudFdpZHRoKSgiaGVpZ2h0IixuLl90b3RhbENvbnRlbnRIZWlnaHQpKX0sc3R5bGVzOlsiY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6YXV0bztjb250YWluOnN0cmljdDt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt3aWxsLWNoYW5nZTpzY3JvbGwtcG9zaXRpb247LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2NvbnRhaW46Y29udGVudH1bZGlyPXJ0bF0gLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXJ7cmlnaHQ6MDtsZWZ0OmF1dG99LmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVye21pbi1oZWlnaHQ6MTAwJX0uY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLWhvcml6b250YWwgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXI+ZGw6bm90KFtjZGtWaXJ0dWFsRm9yXSksLmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyPm9sOm5vdChbY2RrVmlydHVhbEZvcl0pLC5jZGstdmlydHVhbC1zY3JvbGwtb3JpZW50YXRpb24taG9yaXpvbnRhbCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcj50YWJsZTpub3QoW2Nka1ZpcnR1YWxGb3JdKSwuY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLWhvcml6b250YWwgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXI+dWw6bm90KFtjZGtWaXJ0dWFsRm9yXSl7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLWxlZnQtd2lkdGg6MDtib3JkZXItcmlnaHQtd2lkdGg6MDtvdXRsaW5lOm5vbmV9LmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi12ZXJ0aWNhbCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcnttaW4td2lkdGg6MTAwJX0uY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLXZlcnRpY2FsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyPmRsOm5vdChbY2RrVmlydHVhbEZvcl0pLC5jZGstdmlydHVhbC1zY3JvbGwtb3JpZW50YXRpb24tdmVydGljYWwgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXI+b2w6bm90KFtjZGtWaXJ0dWFsRm9yXSksLmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi12ZXJ0aWNhbCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcj50YWJsZTpub3QoW2Nka1ZpcnR1YWxGb3JdKSwuY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLXZlcnRpY2FsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyPnVsOm5vdChbY2RrVmlydHVhbEZvcl0pe3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206MDttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO2JvcmRlci10b3Atd2lkdGg6MDtib3JkZXItYm90dG9tLXdpZHRoOjA7b3V0bGluZTpub25lfS5jZGstdmlydHVhbC1zY3JvbGwtc3BhY2Vye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MXB4O3dpZHRoOjFweDt0cmFuc2Zvcm0tb3JpZ2luOjAgMH1bZGlyPXJ0bF0gLmNkay12aXJ0dWFsLXNjcm9sbC1zcGFjZXJ7cmlnaHQ6MDtsZWZ0OmF1dG87dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9XG4iXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSx0Qi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbWUxdfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOktMfSx7dHlwZTpRTH1dLHRCLnByb3BEZWNvcmF0b3JzPXtvcmllbnRhdGlvbjpbe3R5cGU6Ul99XSxhcHBlbmRPbmx5Olt7dHlwZTpSX31dLHNjcm9sbGVkSW5kZXhDaGFuZ2U6W3t0eXBlOkVffV0sX2NvbnRlbnRXcmFwcGVyOlt7dHlwZTphcixhcmdzOlsiY29udGVudFdyYXBwZXIiLHtzdGF0aWM6ITB9XX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHRCLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCIsdGVtcGxhdGU6J1x4M2MhLS1cbiAgV3JhcCB0aGUgcmVuZGVyZWQgY29udGVudCBpbiBhbiBlbGVtZW50IHRoYXQgd2lsbCBiZSB1c2VkIHRvIG9mZnNldCBpdCBiYXNlZCBvbiB0aGUgc2Nyb2xsXG4gIHBvc2l0aW9uLlxuLS1ceDNlXG48ZGl2ICNjb250ZW50V3JhcHBlciBjbGFzcz0iY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlciI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXHgzYyEtLVxuICBTcGFjZXIgdXNlZCB0byBmb3JjZSB0aGUgc2Nyb2xsaW5nIGNvbnRhaW5lciB0byB0aGUgY29ycmVjdCBzaXplIGZvciB0aGUgKnRvdGFsKiBudW1iZXIgb2YgaXRlbXNcbiAgc28gdGhhdCB0aGUgc2Nyb2xsYmFyIGNhcHR1cmVzIHRoZSBzaXplIG9mIHRoZSBlbnRpcmUgZGF0YSBzZXQuXG4tLVx4M2VcbjxkaXYgY2xhc3M9ImNkay12aXJ0dWFsLXNjcm9sbC1zcGFjZXIiXG4gICAgIFtzdHlsZS53aWR0aF09Il90b3RhbENvbnRlbnRXaWR0aCIgW3N0eWxlLmhlaWdodF09Il90b3RhbENvbnRlbnRIZWlnaHQiPjwvZGl2PlxuJyxob3N0OntjbGFzczoiY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IiwiW2NsYXNzLmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi1ob3Jpem9udGFsXSI6J29yaWVudGF0aW9uID09PSAiaG9yaXpvbnRhbCInLCJbY2xhc3MuY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLXZlcnRpY2FsXSI6J29yaWVudGF0aW9uICE9PSAiaG9yaXpvbnRhbCInfSxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOkpMLHVzZUV4aXN0aW5nOnRCfV0sc3R5bGVzOlsiY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6YXV0bztjb250YWluOnN0cmljdDt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt3aWxsLWNoYW5nZTpzY3JvbGwtcG9zaXRpb247LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2NvbnRhaW46Y29udGVudH1bZGlyPXJ0bF0gLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXJ7cmlnaHQ6MDtsZWZ0OmF1dG99LmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVye21pbi1oZWlnaHQ6MTAwJX0uY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLWhvcml6b250YWwgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXI+ZGw6bm90KFtjZGtWaXJ0dWFsRm9yXSksLmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyPm9sOm5vdChbY2RrVmlydHVhbEZvcl0pLC5jZGstdmlydHVhbC1zY3JvbGwtb3JpZW50YXRpb24taG9yaXpvbnRhbCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcj50YWJsZTpub3QoW2Nka1ZpcnR1YWxGb3JdKSwuY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLWhvcml6b250YWwgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXI+dWw6bm90KFtjZGtWaXJ0dWFsRm9yXSl7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLWxlZnQtd2lkdGg6MDtib3JkZXItcmlnaHQtd2lkdGg6MDtvdXRsaW5lOm5vbmV9LmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi12ZXJ0aWNhbCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcnttaW4td2lkdGg6MTAwJX0uY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLXZlcnRpY2FsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyPmRsOm5vdChbY2RrVmlydHVhbEZvcl0pLC5jZGstdmlydHVhbC1zY3JvbGwtb3JpZW50YXRpb24tdmVydGljYWwgLmNkay12aXJ0dWFsLXNjcm9sbC1jb250ZW50LXdyYXBwZXI+b2w6bm90KFtjZGtWaXJ0dWFsRm9yXSksLmNkay12aXJ0dWFsLXNjcm9sbC1vcmllbnRhdGlvbi12ZXJ0aWNhbCAuY2RrLXZpcnR1YWwtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlcj50YWJsZTpub3QoW2Nka1ZpcnR1YWxGb3JdKSwuY2RrLXZpcnR1YWwtc2Nyb2xsLW9yaWVudGF0aW9uLXZlcnRpY2FsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyPnVsOm5vdChbY2RrVmlydHVhbEZvcl0pe3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206MDttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO2JvcmRlci10b3Atd2lkdGg6MDtib3JkZXItYm90dG9tLXdpZHRoOjA7b3V0bGluZTpub25lfS5jZGstdmlydHVhbC1zY3JvbGwtc3BhY2Vye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MXB4O3dpZHRoOjFweDt0cmFuc2Zvcm0tb3JpZ2luOjAgMH1bZGlyPXJ0bF0gLmNkay12aXJ0dWFsLXNjcm9sbC1zcGFjZXJ7cmlnaHQ6MDtsZWZ0OmF1dG87dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbWUxdfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOktMfSx7dHlwZTpRTH1dfSkse3Njcm9sbGVkSW5kZXhDaGFuZ2U6W3t0eXBlOkVffV0sb3JpZW50YXRpb246W3t0eXBlOlJffV0sYXBwZW5kT25seTpbe3R5cGU6Ul99XSxfY29udGVudFdyYXBwZXI6W3t0eXBlOmFyLGFyZ3M6WyJjb250ZW50V3JhcHBlciIse3N0YXRpYzohMH1dfV19KTtjbGFzcyBuQntjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7dGhpcy5fdmlld0NvbnRhaW5lclJlZj10LHRoaXMuX3RlbXBsYXRlPWUsdGhpcy5fZGlmZmVycz1uLHRoaXMuX3ZpZXdSZXBlYXRlcj1vLHRoaXMuX3ZpZXdwb3J0PWksdGhpcy52aWV3Q2hhbmdlPW5ldyBCLHRoaXMuX2RhdGFTb3VyY2VDaGFuZ2VzPW5ldyBCLHRoaXMuZGF0YVN0cmVhbT10aGlzLl9kYXRhU291cmNlQ2hhbmdlcy5waXBlKEJlKG51bGwpLE5lKCksVmUoKChbdCxlXSk9PnRoaXMuX2NoYW5nZURhdGFTb3VyY2UodCxlKSkpLEZlKDEpKSx0aGlzLl9kaWZmZXI9bnVsbCx0aGlzLl9uZWVkc1VwZGF0ZT0hMSx0aGlzLl9kZXN0cm95ZWQ9bmV3IEIsdGhpcy5kYXRhU3RyZWFtLnN1YnNjcmliZSgodD0+e3RoaXMuX2RhdGE9dCx0aGlzLl9vblJlbmRlcmVkRGF0YUNoYW5nZSgpfSkpLHRoaXMuX3ZpZXdwb3J0LnJlbmRlcmVkUmFuZ2VTdHJlYW0ucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLl9yZW5kZXJlZFJhbmdlPXQsYS5ydW4oKCgpPT50aGlzLnZpZXdDaGFuZ2UubmV4dCh0aGlzLl9yZW5kZXJlZFJhbmdlKSkpLHRoaXMuX29uUmVuZGVyZWREYXRhQ2hhbmdlKCl9KSksdGhpcy5fdmlld3BvcnQuYXR0YWNoKHRoaXMpfWdldCBjZGtWaXJ0dWFsRm9yT2YoKXtyZXR1cm4gdGhpcy5fY2RrVmlydHVhbEZvck9mfXNldCBjZGtWaXJ0dWFsRm9yT2YodCl7dGhpcy5fY2RrVmlydHVhbEZvck9mPXQsRkwodCk/dGhpcy5fZGF0YVNvdXJjZUNoYW5nZXMubmV4dCh0KTp0aGlzLl9kYXRhU291cmNlQ2hhbmdlcy5uZXh0KG5ldyBMTChMdCh0KT90OkFycmF5LmZyb20odHx8W10pKSl9Z2V0IGNka1ZpcnR1YWxGb3JUcmFja0J5KCl7cmV0dXJuIHRoaXMuX2Nka1ZpcnR1YWxGb3JUcmFja0J5fXNldCBjZGtWaXJ0dWFsRm9yVHJhY2tCeSh0KXt0aGlzLl9uZWVkc1VwZGF0ZT0hMCx0aGlzLl9jZGtWaXJ0dWFsRm9yVHJhY2tCeT10PyhlLG4pPT50KGUrKHRoaXMuX3JlbmRlcmVkUmFuZ2U/dGhpcy5fcmVuZGVyZWRSYW5nZS5zdGFydDowKSxuKTp2b2lkIDB9c2V0IGNka1ZpcnR1YWxGb3JUZW1wbGF0ZSh0KXt0JiYodGhpcy5fbmVlZHNVcGRhdGU9ITAsdGhpcy5fdGVtcGxhdGU9dCl9Z2V0IGNka1ZpcnR1YWxGb3JUZW1wbGF0ZUNhY2hlU2l6ZSgpe3JldHVybiB0aGlzLl92aWV3UmVwZWF0ZXIudmlld0NhY2hlU2l6ZX1zZXQgY2RrVmlydHVhbEZvclRlbXBsYXRlQ2FjaGVTaXplKHQpe3RoaXMuX3ZpZXdSZXBlYXRlci52aWV3Q2FjaGVTaXplPW5IKHQpfW1lYXN1cmVSYW5nZVNpemUodCxlKXtpZih0LnN0YXJ0Pj10LmVuZClyZXR1cm4gMDtpZigodC5zdGFydDx0aGlzLl9yZW5kZXJlZFJhbmdlLnN0YXJ0fHx0LmVuZD50aGlzLl9yZW5kZXJlZFJhbmdlLmVuZCkmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBFcnJvcigiRXJyb3I6IGF0dGVtcHRlZCB0byBtZWFzdXJlIGFuIGl0ZW0gdGhhdCBpc24ndCByZW5kZXJlZC4iKTtjb25zdCBuPXQuc3RhcnQtdGhpcy5fcmVuZGVyZWRSYW5nZS5zdGFydCxvPXQuZW5kLXQuc3RhcnQ7bGV0IGksYTtmb3IobGV0IHQ9MDt0PG87dCsrKXtjb25zdCBlPXRoaXMuX3ZpZXdDb250YWluZXJSZWYuZ2V0KHQrbik7aWYoZSYmZS5yb290Tm9kZXMubGVuZ3RoKXtpPWE9ZS5yb290Tm9kZXNbMF07YnJlYWt9fWZvcihsZXQgdD1vLTE7dD4tMTt0LS0pe2NvbnN0IGU9dGhpcy5fdmlld0NvbnRhaW5lclJlZi5nZXQodCtuKTtpZihlJiZlLnJvb3ROb2Rlcy5sZW5ndGgpe2E9ZS5yb290Tm9kZXNbZS5yb290Tm9kZXMubGVuZ3RoLTFdO2JyZWFrfX1yZXR1cm4gaSYmYT9lQihlLCJlbmQiLGEpLWVCKGUsInN0YXJ0IixpKTowfW5nRG9DaGVjaygpe2lmKHRoaXMuX2RpZmZlciYmdGhpcy5fbmVlZHNVcGRhdGUpe2NvbnN0IHQ9dGhpcy5fZGlmZmVyLmRpZmYodGhpcy5fcmVuZGVyZWRJdGVtcyk7dD90aGlzLl9hcHBseUNoYW5nZXModCk6dGhpcy5fdXBkYXRlQ29udGV4dCgpLHRoaXMuX25lZWRzVXBkYXRlPSExfX1uZ09uRGVzdHJveSgpe3RoaXMuX3ZpZXdwb3J0LmRldGFjaCgpLHRoaXMuX2RhdGFTb3VyY2VDaGFuZ2VzLm5leHQodm9pZCAwKSx0aGlzLl9kYXRhU291cmNlQ2hhbmdlcy5jb21wbGV0ZSgpLHRoaXMudmlld0NoYW5nZS5jb21wbGV0ZSgpLHRoaXMuX2Rlc3Ryb3llZC5uZXh0KCksdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCksdGhpcy5fdmlld1JlcGVhdGVyLmRldGFjaCgpfV9vblJlbmRlcmVkRGF0YUNoYW5nZSgpe3RoaXMuX3JlbmRlcmVkUmFuZ2UmJih0aGlzLl9yZW5kZXJlZEl0ZW1zPXRoaXMuX2RhdGEuc2xpY2UodGhpcy5fcmVuZGVyZWRSYW5nZS5zdGFydCx0aGlzLl9yZW5kZXJlZFJhbmdlLmVuZCksdGhpcy5fZGlmZmVyfHwodGhpcy5fZGlmZmVyPXRoaXMuX2RpZmZlcnMuZmluZCh0aGlzLl9yZW5kZXJlZEl0ZW1zKS5jcmVhdGUoKCh0LGUpPT50aGlzLmNka1ZpcnR1YWxGb3JUcmFja0J5P3RoaXMuY2RrVmlydHVhbEZvclRyYWNrQnkodCxlKTplKSkpLHRoaXMuX25lZWRzVXBkYXRlPSEwKX1fY2hhbmdlRGF0YVNvdXJjZSh0LGUpe3JldHVybiB0JiZ0LmRpc2Nvbm5lY3QodGhpcyksdGhpcy5fbmVlZHNVcGRhdGU9ITAsZT9lLmNvbm5lY3QodGhpcyk6enQoKX1fdXBkYXRlQ29udGV4dCgpe2NvbnN0IHQ9dGhpcy5fZGF0YS5sZW5ndGg7bGV0IGU9dGhpcy5fdmlld0NvbnRhaW5lclJlZi5sZW5ndGg7Zm9yKDtlLS07KXtjb25zdCBuPXRoaXMuX3ZpZXdDb250YWluZXJSZWYuZ2V0KGUpO24uY29udGV4dC5pbmRleD10aGlzLl9yZW5kZXJlZFJhbmdlLnN0YXJ0K2Usbi5jb250ZXh0LmNvdW50PXQsdGhpcy5fdXBkYXRlQ29tcHV0ZWRDb250ZXh0UHJvcGVydGllcyhuLmNvbnRleHQpLG4uZGV0ZWN0Q2hhbmdlcygpfX1fYXBwbHlDaGFuZ2VzKHQpe3RoaXMuX3ZpZXdSZXBlYXRlci5hcHBseUNoYW5nZXModCx0aGlzLl92aWV3Q29udGFpbmVyUmVmLCgodCxlLG4pPT50aGlzLl9nZXRFbWJlZGRlZFZpZXdBcmdzKHQsbikpLCh0PT50Lml0ZW0pKSx0LmZvckVhY2hJZGVudGl0eUNoYW5nZSgodD0+e3RoaXMuX3ZpZXdDb250YWluZXJSZWYuZ2V0KHQuY3VycmVudEluZGV4KS5jb250ZXh0LiRpbXBsaWNpdD10Lml0ZW19KSk7Y29uc3QgZT10aGlzLl9kYXRhLmxlbmd0aDtsZXQgbj10aGlzLl92aWV3Q29udGFpbmVyUmVmLmxlbmd0aDtmb3IoO24tLTspe2NvbnN0IHQ9dGhpcy5fdmlld0NvbnRhaW5lclJlZi5nZXQobik7dC5jb250ZXh0LmluZGV4PXRoaXMuX3JlbmRlcmVkUmFuZ2Uuc3RhcnQrbix0LmNvbnRleHQuY291bnQ9ZSx0aGlzLl91cGRhdGVDb21wdXRlZENvbnRleHRQcm9wZXJ0aWVzKHQuY29udGV4dCl9fV91cGRhdGVDb21wdXRlZENvbnRleHRQcm9wZXJ0aWVzKHQpe3QuZmlyc3Q9MD09PXQuaW5kZXgsdC5sYXN0PXQuaW5kZXg9PT10LmNvdW50LTEsdC5ldmVuPXQuaW5kZXglMj09MCx0Lm9kZD0hdC5ldmVufV9nZXRFbWJlZGRlZFZpZXdBcmdzKHQsZSl7cmV0dXJue3RlbXBsYXRlUmVmOnRoaXMuX3RlbXBsYXRlLGNvbnRleHQ6eyRpbXBsaWNpdDp0Lml0ZW0sY2RrVmlydHVhbEZvck9mOnRoaXMuX2Nka1ZpcnR1YWxGb3JPZixpbmRleDotMSxjb3VudDotMSxmaXJzdDohMSxsYXN0OiExLG9kZDohMSxldmVuOiExfSxpbmRleDplfX19bkIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG5CKShnZihGYiksZ2YoRWIpLGdmKGhiKSxnZihXTCksZ2YodEIsNCksZ2YobUMpKX0sbkIuybVkaXI9aG8oe3R5cGU6bkIsc2VsZWN0b3JzOltbIiIsImNka1ZpcnR1YWxGb3IiLCIiLCJjZGtWaXJ0dWFsRm9yT2YiLCIiXV0saW5wdXRzOntjZGtWaXJ0dWFsRm9yT2Y6ImNka1ZpcnR1YWxGb3JPZiIsY2RrVmlydHVhbEZvclRyYWNrQnk6ImNka1ZpcnR1YWxGb3JUcmFja0J5IixjZGtWaXJ0dWFsRm9yVGVtcGxhdGU6ImNka1ZpcnR1YWxGb3JUZW1wbGF0ZSIsY2RrVmlydHVhbEZvclRlbXBsYXRlQ2FjaGVTaXplOiJjZGtWaXJ0dWFsRm9yVGVtcGxhdGVDYWNoZVNpemUifSxmZWF0dXJlczpbamgoW3twcm92aWRlOldMLHVzZUNsYXNzOlZMfV0pXX0pLG5CLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RmJ9LHt0eXBlOkVifSx7dHlwZTpoYn0se3R5cGU6VkwsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbV0xdfV19LHt0eXBlOnRCLGRlY29yYXRvcnM6W3t0eXBlOmpyfV19LHt0eXBlOm1DfV0sbkIucHJvcERlY29yYXRvcnM9e2Nka1ZpcnR1YWxGb3JPZjpbe3R5cGU6Ul99XSxjZGtWaXJ0dWFsRm9yVHJhY2tCeTpbe3R5cGU6Ul99XSxjZGtWaXJ0dWFsRm9yVGVtcGxhdGU6W3t0eXBlOlJffV0sY2RrVmlydHVhbEZvclRlbXBsYXRlQ2FjaGVTaXplOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG5CLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtWaXJ0dWFsRm9yXVtjZGtWaXJ0dWFsRm9yT2ZdIixwcm92aWRlcnM6W3twcm92aWRlOldMLHVzZUNsYXNzOlZMfV19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpGYn0se3R5cGU6RWJ9LHt0eXBlOmhifSx7dHlwZTpWTCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltXTF19XX0se3R5cGU6dEIsZGVjb3JhdG9yczpbe3R5cGU6anJ9XX0se3R5cGU6bUN9XX0pLHtjZGtWaXJ0dWFsRm9yT2Y6W3t0eXBlOlJffV0sY2RrVmlydHVhbEZvclRyYWNrQnk6W3t0eXBlOlJffV0sY2RrVmlydHVhbEZvclRlbXBsYXRlOlt7dHlwZTpSX31dLGNka1ZpcnR1YWxGb3JUZW1wbGF0ZUNhY2hlU2l6ZTpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3Mgb0J7fW9CLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxvQil9LG9CLsm1bW9kPWZvKHt0eXBlOm9CfSksb0IuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIob0IsW3t0eXBlOkxfLGFyZ3M6W3tleHBvcnRzOltKTF0sZGVjbGFyYXRpb25zOltKTF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhvQix7ZGVjbGFyYXRpb25zOltKTF0sZXhwb3J0czpbSkxdfSk7Y2xhc3MgaUJ7fWZ1bmN0aW9uIGFCKCl7dGhyb3cgRXJyb3IoIkhvc3QgYWxyZWFkeSBoYXMgYSBwb3J0YWwgYXR0YWNoZWQiKX1pQi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aUIpfSxpQi7JtW1vZD1mbyh7dHlwZTppQn0pLGlCLsm1aW5qPURuKHtpbXBvcnRzOltbT0YsZEgsb0JdLE9GLG9CXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaUIsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltPRixkSCxvQl0sZXhwb3J0czpbT0Ysb0IsWEwsbkIsdEJdLGRlY2xhcmF0aW9uczpbWEwsbkIsdEJdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oaUIse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVybltYTCxuQix0Ql19LGltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bT0YsZEgsb0JdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW09GLG9CLFhMLG5CLHRCXX19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIHJCe2F0dGFjaCh0KXtyZXR1cm4oInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJihudWxsPT10JiYoZnVuY3Rpb24gZSgpe3Rocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGF0dGFjaCBhIHBvcnRhbCB0byBhIG51bGwgUG9ydGFsT3V0bGV0Iil9KSgpLHQuaGFzQXR0YWNoZWQoKSYmYUIoKSksdGhpcy5fYXR0YWNoZWRIb3N0PXQsdC5hdHRhY2godGhpcyl9ZGV0YWNoKCl7bGV0IHQ9dGhpcy5fYXR0YWNoZWRIb3N0O251bGwhPXQ/KHRoaXMuX2F0dGFjaGVkSG9zdD1udWxsLHQuZGV0YWNoKCkpOigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmKGZ1bmN0aW9uIGUoKXt0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBkZXRhY2ggYSBwb3J0YWwgdGhhdCBpcyBub3QgYXR0YWNoZWQgdG8gYSBob3N0Iil9KSgpfWdldCBpc0F0dGFjaGVkKCl7cmV0dXJuIG51bGwhPXRoaXMuX2F0dGFjaGVkSG9zdH1zZXRBdHRhY2hlZEhvc3QodCl7dGhpcy5fYXR0YWNoZWRIb3N0PXR9fWNsYXNzIHNCIGV4dGVuZHMgckJ7Y29uc3RydWN0b3IodCxlLG4sbyl7c3VwZXIoKSx0aGlzLmNvbXBvbmVudD10LHRoaXMudmlld0NvbnRhaW5lclJlZj1lLHRoaXMuaW5qZWN0b3I9bix0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj1vfX1jbGFzcyBsQiBleHRlbmRzIHJCe2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcigpLHRoaXMudGVtcGxhdGVSZWY9dCx0aGlzLnZpZXdDb250YWluZXJSZWY9ZSx0aGlzLmNvbnRleHQ9bn1nZXQgb3JpZ2luKCl7cmV0dXJuIHRoaXMudGVtcGxhdGVSZWYuZWxlbWVudFJlZn1hdHRhY2godCxlPXRoaXMuY29udGV4dCl7cmV0dXJuIHRoaXMuY29udGV4dD1lLHN1cGVyLmF0dGFjaCh0KX1kZXRhY2goKXtyZXR1cm4gdGhpcy5jb250ZXh0PXZvaWQgMCxzdXBlci5kZXRhY2goKX19Y2xhc3MgY0IgZXh0ZW5kcyByQntjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuZWxlbWVudD10IGluc3RhbmNlb2YgS2g/dC5uYXRpdmVFbGVtZW50OnR9fWNsYXNzIGRCe2NvbnN0cnVjdG9yKCl7dGhpcy5faXNEaXNwb3NlZD0hMSx0aGlzLmF0dGFjaERvbVBvcnRhbD1udWxsfWhhc0F0dGFjaGVkKCl7cmV0dXJuISF0aGlzLl9hdHRhY2hlZFBvcnRhbH1hdHRhY2godCl7cmV0dXJuKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiYodHx8KGZ1bmN0aW9uIGUoKXt0aHJvdyBFcnJvcigiTXVzdCBwcm92aWRlIGEgcG9ydGFsIHRvIGF0dGFjaCIpfSkoKSx0aGlzLmhhc0F0dGFjaGVkKCkmJmFCKCksdGhpcy5faXNEaXNwb3NlZCYmKGZ1bmN0aW9uIG4oKXt0aHJvdyBFcnJvcigiVGhpcyBQb3J0YWxPdXRsZXQgaGFzIGFscmVhZHkgYmVlbiBkaXNwb3NlZCIpfSkoKSksdCBpbnN0YW5jZW9mIHNCPyh0aGlzLl9hdHRhY2hlZFBvcnRhbD10LHRoaXMuYXR0YWNoQ29tcG9uZW50UG9ydGFsKHQpKTp0IGluc3RhbmNlb2YgbEI/KHRoaXMuX2F0dGFjaGVkUG9ydGFsPXQsdGhpcy5hdHRhY2hUZW1wbGF0ZVBvcnRhbCh0KSk6dGhpcy5hdHRhY2hEb21Qb3J0YWwmJnQgaW5zdGFuY2VvZiBjQj8odGhpcy5fYXR0YWNoZWRQb3J0YWw9dCx0aGlzLmF0dGFjaERvbVBvcnRhbCh0KSk6dm9pZCgoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJihmdW5jdGlvbiBvKCl7dGhyb3cgRXJyb3IoIkF0dGVtcHRpbmcgdG8gYXR0YWNoIGFuIHVua25vd24gUG9ydGFsIHR5cGUuIEJhc2VQb3J0YWxPdXRsZXQgYWNjZXB0cyBlaXRoZXIgYSBDb21wb25lbnRQb3J0YWwgb3IgYSBUZW1wbGF0ZVBvcnRhbC4iKX0pKCkpfWRldGFjaCgpe3RoaXMuX2F0dGFjaGVkUG9ydGFsJiYodGhpcy5fYXR0YWNoZWRQb3J0YWwuc2V0QXR0YWNoZWRIb3N0KG51bGwpLHRoaXMuX2F0dGFjaGVkUG9ydGFsPW51bGwpLHRoaXMuX2ludm9rZURpc3Bvc2VGbigpfWRpc3Bvc2UoKXt0aGlzLmhhc0F0dGFjaGVkKCkmJnRoaXMuZGV0YWNoKCksdGhpcy5faW52b2tlRGlzcG9zZUZuKCksdGhpcy5faXNEaXNwb3NlZD0hMH1zZXREaXNwb3NlRm4odCl7dGhpcy5fZGlzcG9zZUZuPXR9X2ludm9rZURpc3Bvc2VGbigpe3RoaXMuX2Rpc3Bvc2VGbiYmKHRoaXMuX2Rpc3Bvc2VGbigpLHRoaXMuX2Rpc3Bvc2VGbj1udWxsKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIHBCIGV4dGVuZHMgZEJ7Y29uc3RydWN0b3IodCxlLG4sbyxpKXtzdXBlcigpLHRoaXMub3V0bGV0RWxlbWVudD10LHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj1lLHRoaXMuX2FwcFJlZj1uLHRoaXMuX2RlZmF1bHRJbmplY3Rvcj1vLHRoaXMuYXR0YWNoRG9tUG9ydGFsPXQ9PntpZighdGhpcy5fZG9jdW1lbnQmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBFcnJvcigiQ2Fubm90IGF0dGFjaCBET00gcG9ydGFsIHdpdGhvdXQgX2RvY3VtZW50IGNvbnN0cnVjdG9yIHBhcmFtZXRlciIpO2NvbnN0IGU9dC5lbGVtZW50O2lmKCFlLnBhcmVudE5vZGUmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBFcnJvcigiRE9NIHBvcnRhbCBjb250ZW50IG11c3QgYmUgYXR0YWNoZWQgdG8gYSBwYXJlbnQgbm9kZS4iKTtjb25zdCBuPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUNvbW1lbnQoImRvbS1wb3J0YWwiKTtlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG4sZSksdGhpcy5vdXRsZXRFbGVtZW50LmFwcGVuZENoaWxkKGUpLHRoaXMuX2F0dGFjaGVkUG9ydGFsPXQsc3VwZXIuc2V0RGlzcG9zZUZuKCgoKT0+e24ucGFyZW50Tm9kZSYmbi5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChlLG4pfSkpfSx0aGlzLl9kb2N1bWVudD1pfWF0dGFjaENvbXBvbmVudFBvcnRhbCh0KXtjb25zdCBlPSh0LmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcnx8dGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyKS5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeSh0LmNvbXBvbmVudCk7bGV0IG47cmV0dXJuIHQudmlld0NvbnRhaW5lclJlZj8obj10LnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGUsdC52aWV3Q29udGFpbmVyUmVmLmxlbmd0aCx0LmluamVjdG9yfHx0LnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IpLHRoaXMuc2V0RGlzcG9zZUZuKCgoKT0+bi5kZXN0cm95KCkpKSk6KG49ZS5jcmVhdGUodC5pbmplY3Rvcnx8dGhpcy5fZGVmYXVsdEluamVjdG9yKSx0aGlzLl9hcHBSZWYuYXR0YWNoVmlldyhuLmhvc3RWaWV3KSx0aGlzLnNldERpc3Bvc2VGbigoKCk9Pnt0aGlzLl9hcHBSZWYuZGV0YWNoVmlldyhuLmhvc3RWaWV3KSxuLmRlc3Ryb3koKX0pKSksdGhpcy5vdXRsZXRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2dldENvbXBvbmVudFJvb3ROb2RlKG4pKSx0aGlzLl9hdHRhY2hlZFBvcnRhbD10LG59YXR0YWNoVGVtcGxhdGVQb3J0YWwodCl7bGV0IGU9dC52aWV3Q29udGFpbmVyUmVmLG49ZS5jcmVhdGVFbWJlZGRlZFZpZXcodC50ZW1wbGF0ZVJlZix0LmNvbnRleHQpO3JldHVybiBuLnJvb3ROb2Rlcy5mb3JFYWNoKCh0PT50aGlzLm91dGxldEVsZW1lbnQuYXBwZW5kQ2hpbGQodCkpKSxuLmRldGVjdENoYW5nZXMoKSx0aGlzLnNldERpc3Bvc2VGbigoKCk9PntsZXQgdD1lLmluZGV4T2Yobik7LTEhPT10JiZlLnJlbW92ZSh0KX0pKSx0aGlzLl9hdHRhY2hlZFBvcnRhbD10LG59ZGlzcG9zZSgpe3N1cGVyLmRpc3Bvc2UoKSxudWxsIT10aGlzLm91dGxldEVsZW1lbnQucGFyZW50Tm9kZSYmdGhpcy5vdXRsZXRFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5vdXRsZXRFbGVtZW50KX1fZ2V0Q29tcG9uZW50Um9vdE5vZGUodCl7cmV0dXJuIHQuaG9zdFZpZXcucm9vdE5vZGVzWzBdfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgbUIgZXh0ZW5kcyBsQntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSl9fW1CLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxtQikoZ2YoRWIpLGdmKEZiKSl9LG1CLsm1ZGlyPWhvKHt0eXBlOm1CLHNlbGVjdG9yczpbWyIiLCJjZGtQb3J0YWwiLCIiXV0sZXhwb3J0QXM6WyJjZGtQb3J0YWwiXSxmZWF0dXJlczpbUXBdfSksbUIuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpFYn0se3R5cGU6RmJ9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1CLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtQb3J0YWxdIixleHBvcnRBczoiY2RrUG9ydGFsIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkVifSx7dHlwZTpGYn1dfSksbnVsbCk7Y2xhc3MgZkIgZXh0ZW5kcyBtQnt9ZkIuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKGZCKSkpKG58fGZCKX19KSgpLGZCLsm1ZGlyPWhvKHt0eXBlOmZCLHNlbGVjdG9yczpbWyIiLCJjZGstcG9ydGFsIiwiIl0sWyIiLCJwb3J0YWwiLCIiXV0sZXhwb3J0QXM6WyJjZGtQb3J0YWwiXSxmZWF0dXJlczpbamgoW3twcm92aWRlOm1CLHVzZUV4aXN0aW5nOmZCfV0pLFFwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZkIsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Nkay1wb3J0YWxdLCBbcG9ydGFsXSIsZXhwb3J0QXM6ImNka1BvcnRhbCIscHJvdmlkZXJzOlt7cHJvdmlkZTptQix1c2VFeGlzdGluZzpmQn1dfV19XSxudWxsLG51bGwpO2NsYXNzIHVCIGV4dGVuZHMgZEJ7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKCksdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyPXQsdGhpcy5fdmlld0NvbnRhaW5lclJlZj1lLHRoaXMuX2lzSW5pdGlhbGl6ZWQ9ITEsdGhpcy5hdHRhY2hlZD1uZXcgU3ksdGhpcy5hdHRhY2hEb21Qb3J0YWw9dD0+e2lmKCF0aGlzLl9kb2N1bWVudCYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93IEVycm9yKCJDYW5ub3QgYXR0YWNoIERPTSBwb3J0YWwgd2l0aG91dCBfZG9jdW1lbnQgY29uc3RydWN0b3IgcGFyYW1ldGVyIik7Y29uc3QgZT10LmVsZW1lbnQ7aWYoIWUucGFyZW50Tm9kZSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93IEVycm9yKCJET00gcG9ydGFsIGNvbnRlbnQgbXVzdCBiZSBhdHRhY2hlZCB0byBhIHBhcmVudCBub2RlLiIpO2NvbnN0IG49dGhpcy5fZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiZG9tLXBvcnRhbCIpO3Quc2V0QXR0YWNoZWRIb3N0KHRoaXMpLGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobixlKSx0aGlzLl9nZXRSb290Tm9kZSgpLmFwcGVuZENoaWxkKGUpLHRoaXMuX2F0dGFjaGVkUG9ydGFsPXQsc3VwZXIuc2V0RGlzcG9zZUZuKCgoKT0+e24ucGFyZW50Tm9kZSYmbi5wYXJlbnROb2RlLnJlcGxhY2VDaGlsZChlLG4pfSkpfSx0aGlzLl9kb2N1bWVudD1ufWdldCBwb3J0YWwoKXtyZXR1cm4gdGhpcy5fYXR0YWNoZWRQb3J0YWx9c2V0IHBvcnRhbCh0KXsoIXRoaXMuaGFzQXR0YWNoZWQoKXx8dHx8dGhpcy5faXNJbml0aWFsaXplZCkmJih0aGlzLmhhc0F0dGFjaGVkKCkmJnN1cGVyLmRldGFjaCgpLHQmJnN1cGVyLmF0dGFjaCh0KSx0aGlzLl9hdHRhY2hlZFBvcnRhbD10KX1nZXQgYXR0YWNoZWRSZWYoKXtyZXR1cm4gdGhpcy5fYXR0YWNoZWRSZWZ9bmdPbkluaXQoKXt0aGlzLl9pc0luaXRpYWxpemVkPSEwfW5nT25EZXN0cm95KCl7c3VwZXIuZGlzcG9zZSgpLHRoaXMuX2F0dGFjaGVkUG9ydGFsPW51bGwsdGhpcy5fYXR0YWNoZWRSZWY9bnVsbH1hdHRhY2hDb21wb25lbnRQb3J0YWwodCl7dC5zZXRBdHRhY2hlZEhvc3QodGhpcyk7Y29uc3QgZT1udWxsIT10LnZpZXdDb250YWluZXJSZWY/dC52aWV3Q29udGFpbmVyUmVmOnRoaXMuX3ZpZXdDb250YWluZXJSZWYsbj0odC5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJ8fHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodC5jb21wb25lbnQpLG89ZS5jcmVhdGVDb21wb25lbnQobixlLmxlbmd0aCx0LmluamVjdG9yfHxlLmluamVjdG9yKTtyZXR1cm4gZSE9PXRoaXMuX3ZpZXdDb250YWluZXJSZWYmJnRoaXMuX2dldFJvb3ROb2RlKCkuYXBwZW5kQ2hpbGQoby5ob3N0Vmlldy5yb290Tm9kZXNbMF0pLHN1cGVyLnNldERpc3Bvc2VGbigoKCk9Pm8uZGVzdHJveSgpKSksdGhpcy5fYXR0YWNoZWRQb3J0YWw9dCx0aGlzLl9hdHRhY2hlZFJlZj1vLHRoaXMuYXR0YWNoZWQuZW1pdChvKSxvfWF0dGFjaFRlbXBsYXRlUG9ydGFsKHQpe3Quc2V0QXR0YWNoZWRIb3N0KHRoaXMpO2NvbnN0IGU9dGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodC50ZW1wbGF0ZVJlZix0LmNvbnRleHQpO3JldHVybiBzdXBlci5zZXREaXNwb3NlRm4oKCgpPT50aGlzLl92aWV3Q29udGFpbmVyUmVmLmNsZWFyKCkpKSx0aGlzLl9hdHRhY2hlZFBvcnRhbD10LHRoaXMuX2F0dGFjaGVkUmVmPWUsdGhpcy5hdHRhY2hlZC5lbWl0KGUpLGV9X2dldFJvb3ROb2RlKCl7Y29uc3QgdD10aGlzLl92aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudDtyZXR1cm4gdC5ub2RlVHlwZT09PXQuRUxFTUVOVF9OT0RFP3Q6dC5wYXJlbnROb2RlfX11Qi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dUIpKGdmKEdoKSxnZihGYiksZ2Yoc00pKX0sdUIuybVkaXI9aG8oe3R5cGU6dUIsc2VsZWN0b3JzOltbIiIsImNka1BvcnRhbE91dGxldCIsIiJdXSxpbnB1dHM6e3BvcnRhbDpbImNka1BvcnRhbE91dGxldCIsInBvcnRhbCJdfSxvdXRwdXRzOnthdHRhY2hlZDoiYXR0YWNoZWQifSxleHBvcnRBczpbImNka1BvcnRhbE91dGxldCJdLGZlYXR1cmVzOltRcF19KSx1Qi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkdofSx7dHlwZTpGYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV0sdUIucHJvcERlY29yYXRvcnM9e2F0dGFjaGVkOlt7dHlwZTpFX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHVCLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtQb3J0YWxPdXRsZXRdIixleHBvcnRBczoiY2RrUG9ydGFsT3V0bGV0IixpbnB1dHM6WyJwb3J0YWw6IGNka1BvcnRhbE91dGxldCJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6R2h9LHt0eXBlOkZifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLHthdHRhY2hlZDpbe3R5cGU6RV99XX0pO2NsYXNzIGdCIGV4dGVuZHMgdUJ7fWdCLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShnQikpKShufHxnQil9fSkoKSxnQi7JtWRpcj1obyh7dHlwZTpnQixzZWxlY3RvcnM6W1siIiwiY2RrUG9ydGFsSG9zdCIsIiJdLFsiIiwicG9ydGFsSG9zdCIsIiJdXSxpbnB1dHM6e3BvcnRhbDpbImNka1BvcnRhbEhvc3QiLCJwb3J0YWwiXX0sZXhwb3J0QXM6WyJjZGtQb3J0YWxIb3N0Il0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTp1Qix1c2VFeGlzdGluZzpnQn1dKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGdCLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtQb3J0YWxIb3N0XSwgW3BvcnRhbEhvc3RdIixleHBvcnRBczoiY2RrUG9ydGFsSG9zdCIsaW5wdXRzOlsicG9ydGFsOiBjZGtQb3J0YWxIb3N0Il0scHJvdmlkZXJzOlt7cHJvdmlkZTp1Qix1c2VFeGlzdGluZzpnQn1dfV19XSxudWxsLG51bGwpO2NsYXNzIGhCe31oQi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aEIpfSxoQi7JtW1vZD1mbyh7dHlwZTpoQn0pLGhCLsm1aW5qPURuKHt9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGhCLFt7dHlwZTpMXyxhcmdzOlt7ZXhwb3J0czpbbUIsdUIsZkIsZ0JdLGRlY2xhcmF0aW9uczpbbUIsdUIsZkIsZ0JdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oaEIse2RlY2xhcmF0aW9uczpbbUIsdUIsZkIsZ0JdLGV4cG9ydHM6W21CLHVCLGZCLGdCXX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgYkI9eUgoKTtjbGFzcyB5Qntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX3ZpZXdwb3J0UnVsZXI9dCx0aGlzLl9wcmV2aW91c0hUTUxTdHlsZXM9e3RvcDoiIixsZWZ0OiIifSx0aGlzLl9pc0VuYWJsZWQ9ITEsdGhpcy5fZG9jdW1lbnQ9ZX1hdHRhY2goKXt9ZW5hYmxlKCl7aWYodGhpcy5fY2FuQmVFbmFibGVkKCkpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMuX3ByZXZpb3VzU2Nyb2xsUG9zaXRpb249dGhpcy5fdmlld3BvcnRSdWxlci5nZXRWaWV3cG9ydFNjcm9sbFBvc2l0aW9uKCksdGhpcy5fcHJldmlvdXNIVE1MU3R5bGVzLmxlZnQ9dC5zdHlsZS5sZWZ0fHwiIix0aGlzLl9wcmV2aW91c0hUTUxTdHlsZXMudG9wPXQuc3R5bGUudG9wfHwiIix0LnN0eWxlLmxlZnQ9YUgoLXRoaXMuX3ByZXZpb3VzU2Nyb2xsUG9zaXRpb24ubGVmdCksdC5zdHlsZS50b3A9YUgoLXRoaXMuX3ByZXZpb3VzU2Nyb2xsUG9zaXRpb24udG9wKSx0LmNsYXNzTGlzdC5hZGQoImNkay1nbG9iYWwtc2Nyb2xsYmxvY2siKSx0aGlzLl9pc0VuYWJsZWQ9ITB9fWRpc2FibGUoKXtpZih0aGlzLl9pc0VuYWJsZWQpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGU9dC5zdHlsZSxuPXRoaXMuX2RvY3VtZW50LmJvZHkuc3R5bGUsbz1lLnNjcm9sbEJlaGF2aW9yfHwiIixpPW4uc2Nyb2xsQmVoYXZpb3J8fCIiO3RoaXMuX2lzRW5hYmxlZD0hMSxlLmxlZnQ9dGhpcy5fcHJldmlvdXNIVE1MU3R5bGVzLmxlZnQsZS50b3A9dGhpcy5fcHJldmlvdXNIVE1MU3R5bGVzLnRvcCx0LmNsYXNzTGlzdC5yZW1vdmUoImNkay1nbG9iYWwtc2Nyb2xsYmxvY2siKSxiQiYmKGUuc2Nyb2xsQmVoYXZpb3I9bi5zY3JvbGxCZWhhdmlvcj0iYXV0byIpLHdpbmRvdy5zY3JvbGwodGhpcy5fcHJldmlvdXNTY3JvbGxQb3NpdGlvbi5sZWZ0LHRoaXMuX3ByZXZpb3VzU2Nyb2xsUG9zaXRpb24udG9wKSxiQiYmKGUuc2Nyb2xsQmVoYXZpb3I9byxuLnNjcm9sbEJlaGF2aW9yPWkpfX1fY2FuQmVFbmFibGVkKCl7aWYodGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygiY2RrLWdsb2JhbC1zY3JvbGxibG9jayIpfHx0aGlzLl9pc0VuYWJsZWQpcmV0dXJuITE7Y29uc3QgdD10aGlzLl9kb2N1bWVudC5ib2R5LGU9dGhpcy5fdmlld3BvcnRSdWxlci5nZXRWaWV3cG9ydFNpemUoKTtyZXR1cm4gdC5zY3JvbGxIZWlnaHQ+ZS5oZWlnaHR8fHQuc2Nyb2xsV2lkdGg+ZS53aWR0aH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIF9CKCl7cmV0dXJuIEVycm9yKCJTY3JvbGwgc3RyYXRlZ3kgaGFzIGFscmVhZHkgYmVlbiBhdHRhY2hlZC4iKX1jbGFzcyBDQntjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLl9zY3JvbGxEaXNwYXRjaGVyPXQsdGhpcy5fbmdab25lPWUsdGhpcy5fdmlld3BvcnRSdWxlcj1uLHRoaXMuX2NvbmZpZz1vLHRoaXMuX3Njcm9sbFN1YnNjcmlwdGlvbj1udWxsLHRoaXMuX2RldGFjaD0oKT0+e3RoaXMuZGlzYWJsZSgpLHRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSYmdGhpcy5fbmdab25lLnJ1bigoKCk9PnRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCkpKX19YXR0YWNoKHQpe2lmKHRoaXMuX292ZXJsYXlSZWYmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBfQigpO3RoaXMuX292ZXJsYXlSZWY9dH1lbmFibGUoKXtpZih0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb24pcmV0dXJuO2NvbnN0IHQ9dGhpcy5fc2Nyb2xsRGlzcGF0Y2hlci5zY3JvbGxlZCgwKTt0aGlzLl9jb25maWcmJnRoaXMuX2NvbmZpZy50aHJlc2hvbGQmJnRoaXMuX2NvbmZpZy50aHJlc2hvbGQ+MT8odGhpcy5faW5pdGlhbFNjcm9sbFBvc2l0aW9uPXRoaXMuX3ZpZXdwb3J0UnVsZXIuZ2V0Vmlld3BvcnRTY3JvbGxQb3NpdGlvbigpLnRvcCx0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb249dC5zdWJzY3JpYmUoKCgpPT57Y29uc3QgdD10aGlzLl92aWV3cG9ydFJ1bGVyLmdldFZpZXdwb3J0U2Nyb2xsUG9zaXRpb24oKS50b3A7TWF0aC5hYnModC10aGlzLl9pbml0aWFsU2Nyb2xsUG9zaXRpb24pPnRoaXMuX2NvbmZpZy50aHJlc2hvbGQ/dGhpcy5fZGV0YWNoKCk6dGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpfSkpKTp0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb249dC5zdWJzY3JpYmUodGhpcy5fZGV0YWNoKX1kaXNhYmxlKCl7dGhpcy5fc2Nyb2xsU3Vic2NyaXB0aW9uJiYodGhpcy5fc2Nyb2xsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fc2Nyb2xsU3Vic2NyaXB0aW9uPW51bGwpfWRldGFjaCgpe3RoaXMuZGlzYWJsZSgpLHRoaXMuX292ZXJsYXlSZWY9bnVsbH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIE1Ce2VuYWJsZSgpe31kaXNhYmxlKCl7fWF0dGFjaCgpe319Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2Z1bmN0aW9uIHZCKHQsZSl7cmV0dXJuIGUuc29tZSgoZT0+dC5ib3R0b208ZS50b3B8fHQudG9wPmUuYm90dG9tfHx0LnJpZ2h0PGUubGVmdHx8dC5sZWZ0PmUucmlnaHQpKX1mdW5jdGlvbiB4Qih0LGUpe3JldHVybiBlLnNvbWUoKGU9PnQudG9wPGUudG9wfHx0LmJvdHRvbT5lLmJvdHRvbXx8dC5sZWZ0PGUubGVmdHx8dC5yaWdodD5lLnJpZ2h0KSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIE9Ce2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX3Njcm9sbERpc3BhdGNoZXI9dCx0aGlzLl92aWV3cG9ydFJ1bGVyPWUsdGhpcy5fbmdab25lPW4sdGhpcy5fY29uZmlnPW8sdGhpcy5fc2Nyb2xsU3Vic2NyaXB0aW9uPW51bGx9YXR0YWNoKHQpe2lmKHRoaXMuX292ZXJsYXlSZWYmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBfQigpO3RoaXMuX292ZXJsYXlSZWY9dH1lbmFibGUoKXtpZighdGhpcy5fc2Nyb2xsU3Vic2NyaXB0aW9uKXt0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb249dGhpcy5fc2Nyb2xsRGlzcGF0Y2hlci5zY3JvbGxlZCh0aGlzLl9jb25maWc/dGhpcy5fY29uZmlnLnNjcm9sbFRocm90dGxlOjApLnN1YnNjcmliZSgoKCk9PntpZih0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCksdGhpcy5fY29uZmlnJiZ0aGlzLl9jb25maWcuYXV0b0Nsb3NlKXtjb25zdCB0PXRoaXMuX292ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkse3dpZHRoOmUsaGVpZ2h0Om59PXRoaXMuX3ZpZXdwb3J0UnVsZXIuZ2V0Vmlld3BvcnRTaXplKCk7dkIodCxbe3dpZHRoOmUsaGVpZ2h0Om4sYm90dG9tOm4scmlnaHQ6ZSx0b3A6MCxsZWZ0OjB9XSkmJih0aGlzLmRpc2FibGUoKSx0aGlzLl9uZ1pvbmUucnVuKCgoKT0+dGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKSkpKX19KSl9fWRpc2FibGUoKXt0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb24mJih0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9zY3JvbGxTdWJzY3JpcHRpb249bnVsbCl9ZGV0YWNoKCl7dGhpcy5kaXNhYmxlKCksdGhpcy5fb3ZlcmxheVJlZj1udWxsfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgUEJ7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5fc2Nyb2xsRGlzcGF0Y2hlcj10LHRoaXMuX3ZpZXdwb3J0UnVsZXI9ZSx0aGlzLl9uZ1pvbmU9bix0aGlzLm5vb3A9KCk9Pm5ldyBNQix0aGlzLmNsb3NlPXQ9Pm5ldyBDQih0aGlzLl9zY3JvbGxEaXNwYXRjaGVyLHRoaXMuX25nWm9uZSx0aGlzLl92aWV3cG9ydFJ1bGVyLHQpLHRoaXMuYmxvY2s9KCk9Pm5ldyB5Qih0aGlzLl92aWV3cG9ydFJ1bGVyLHRoaXMuX2RvY3VtZW50KSx0aGlzLnJlcG9zaXRpb249dD0+bmV3IE9CKHRoaXMuX3Njcm9sbERpc3BhdGNoZXIsdGhpcy5fdmlld3BvcnRSdWxlcix0aGlzLl9uZ1pvbmUsdCksdGhpcy5fZG9jdW1lbnQ9b319UEIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFBCKShUcihLTCksVHIoUUwpLFRyKG1DKSxUcihzTSkpfSxQQi7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgUEIoVHIoS0wpLFRyKFFMKSxUcihtQyksVHIoc00pKX0sdG9rZW46UEIscHJvdmlkZWRJbjoicm9vdCJ9KSxQQi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktMfSx7dHlwZTpRTH0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUEIsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktMfSx7dHlwZTpRTH0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3Mgd0J7Y29uc3RydWN0b3IodCl7aWYodGhpcy5zY3JvbGxTdHJhdGVneT1uZXcgTUIsdGhpcy5wYW5lbENsYXNzPSIiLHRoaXMuaGFzQmFja2Ryb3A9ITEsdGhpcy5iYWNrZHJvcENsYXNzPSJjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wIix0aGlzLmRpc3Bvc2VPbk5hdmlnYXRpb249ITEsdCl7Y29uc3QgZT1PYmplY3Qua2V5cyh0KTtmb3IoY29uc3QgbiBvZiBlKXZvaWQgMCE9PXRbbl0mJih0aGlzW25dPXRbbl0pfX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIGtCe2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7dGhpcy5vZmZzZXRYPW4sdGhpcy5vZmZzZXRZPW8sdGhpcy5wYW5lbENsYXNzPWksdGhpcy5vcmlnaW5YPXQub3JpZ2luWCx0aGlzLm9yaWdpblk9dC5vcmlnaW5ZLHRoaXMub3ZlcmxheVg9ZS5vdmVybGF5WCx0aGlzLm92ZXJsYXlZPWUub3ZlcmxheVl9fWNsYXNzIFNCe31jbGFzcyBEQntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuY29ubmVjdGlvblBhaXI9dCx0aGlzLnNjcm9sbGFibGVWaWV3UHJvcGVydGllcz1lfX1mdW5jdGlvbiBSQih0LGUpe2lmKCJ0b3AiIT09ZSYmImJvdHRvbSIhPT1lJiYiY2VudGVyIiE9PWUpdGhyb3cgRXJyb3IoYENvbm5lY3RlZFBvc2l0aW9uOiBJbnZhbGlkICR7dH0gIiR7ZX0iLiBFeHBlY3RlZCAidG9wIiwgImJvdHRvbSIgb3IgImNlbnRlciIuYCl9ZnVuY3Rpb24gRUIodCxlKXtpZigic3RhcnQiIT09ZSYmImVuZCIhPT1lJiYiY2VudGVyIiE9PWUpdGhyb3cgRXJyb3IoYENvbm5lY3RlZFBvc2l0aW9uOiBJbnZhbGlkICR7dH0gIiR7ZX0iLiBFeHBlY3RlZCAic3RhcnQiLCAiZW5kIiBvciAiY2VudGVyIi5gKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovREIuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTprQn0se3R5cGU6U0IsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX1dO2NsYXNzIEFCe2NvbnN0cnVjdG9yKHQpe3RoaXMuX2F0dGFjaGVkT3ZlcmxheXM9W10sdGhpcy5fZG9jdW1lbnQ9dH1uZ09uRGVzdHJveSgpe3RoaXMuZGV0YWNoKCl9YWRkKHQpe3RoaXMucmVtb3ZlKHQpLHRoaXMuX2F0dGFjaGVkT3ZlcmxheXMucHVzaCh0KX1yZW1vdmUodCl7Y29uc3QgZT10aGlzLl9hdHRhY2hlZE92ZXJsYXlzLmluZGV4T2YodCk7ZT4tMSYmdGhpcy5fYXR0YWNoZWRPdmVybGF5cy5zcGxpY2UoZSwxKSwwPT09dGhpcy5fYXR0YWNoZWRPdmVybGF5cy5sZW5ndGgmJnRoaXMuZGV0YWNoKCl9fUFCLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxBQikoVHIoc00pKX0sQUIuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IEFCKFRyKHNNKSl9LHRva2VuOkFCLHByb3ZpZGVkSW46InJvb3QifSksQUIuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEFCLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgVEIgZXh0ZW5kcyBBQntjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzLl9rZXlkb3duTGlzdGVuZXI9dD0+e2NvbnN0IGU9dGhpcy5fYXR0YWNoZWRPdmVybGF5cztmb3IobGV0IG49ZS5sZW5ndGgtMTtuPi0xO24tLSlpZihlW25dLl9rZXlkb3duRXZlbnRzLm9ic2VydmVycy5sZW5ndGg+MCl7ZVtuXS5fa2V5ZG93bkV2ZW50cy5uZXh0KHQpO2JyZWFrfX19YWRkKHQpe3N1cGVyLmFkZCh0KSx0aGlzLl9pc0F0dGFjaGVkfHwodGhpcy5fZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLl9rZXlkb3duTGlzdGVuZXIpLHRoaXMuX2lzQXR0YWNoZWQ9ITApfWRldGFjaCgpe3RoaXMuX2lzQXR0YWNoZWQmJih0aGlzLl9kb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMuX2tleWRvd25MaXN0ZW5lciksdGhpcy5faXNBdHRhY2hlZD0hMSl9fVRCLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxUQikoVHIoc00pKX0sVEIuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IFRCKFRyKHNNKSl9LHRva2VuOlRCLHByb3ZpZGVkSW46InJvb3QifSksVEIuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFRCLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgTkIgZXh0ZW5kcyBBQntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQpLHRoaXMuX3BsYXRmb3JtPWUsdGhpcy5fY3Vyc29yU3R5bGVJc1NldD0hMSx0aGlzLl9jbGlja0xpc3RlbmVyPXQ9Pntjb25zdCBlPXZIKHQpLG49dGhpcy5fYXR0YWNoZWRPdmVybGF5cy5zbGljZSgpO2ZvcihsZXQgbz1uLmxlbmd0aC0xO28+LTE7by0tKXtjb25zdCBpPW5bb107aWYoIShpLl9vdXRzaWRlUG9pbnRlckV2ZW50cy5vYnNlcnZlcnMubGVuZ3RoPDEpJiZpLmhhc0F0dGFjaGVkKCkpe2lmKGkub3ZlcmxheUVsZW1lbnQuY29udGFpbnMoZSkpYnJlYWs7aS5fb3V0c2lkZVBvaW50ZXJFdmVudHMubmV4dCh0KX19fX1hZGQodCl7aWYoc3VwZXIuYWRkKHQpLCF0aGlzLl9pc0F0dGFjaGVkKXtjb25zdCB0PXRoaXMuX2RvY3VtZW50LmJvZHk7dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5fY2xpY2tMaXN0ZW5lciwhMCksdC5hZGRFdmVudExpc3RlbmVyKCJhdXhjbGljayIsdGhpcy5fY2xpY2tMaXN0ZW5lciwhMCksdC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsdGhpcy5fY2xpY2tMaXN0ZW5lciwhMCksdGhpcy5fcGxhdGZvcm0uSU9TJiYhdGhpcy5fY3Vyc29yU3R5bGVJc1NldCYmKHRoaXMuX2N1cnNvck9yaWdpbmFsVmFsdWU9dC5zdHlsZS5jdXJzb3IsdC5zdHlsZS5jdXJzb3I9InBvaW50ZXIiLHRoaXMuX2N1cnNvclN0eWxlSXNTZXQ9ITApLHRoaXMuX2lzQXR0YWNoZWQ9ITB9fWRldGFjaCgpe2lmKHRoaXMuX2lzQXR0YWNoZWQpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuYm9keTt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl9jbGlja0xpc3RlbmVyLCEwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImF1eGNsaWNrIix0aGlzLl9jbGlja0xpc3RlbmVyLCEwKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51Iix0aGlzLl9jbGlja0xpc3RlbmVyLCEwKSx0aGlzLl9wbGF0Zm9ybS5JT1MmJnRoaXMuX2N1cnNvclN0eWxlSXNTZXQmJih0LnN0eWxlLmN1cnNvcj10aGlzLl9jdXJzb3JPcmlnaW5hbFZhbHVlLHRoaXMuX2N1cnNvclN0eWxlSXNTZXQ9ITEpLHRoaXMuX2lzQXR0YWNoZWQ9ITF9fX1OQi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TkIpKFRyKHNNKSxUcihjSCkpfSxOQi7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgTkIoVHIoc00pLFRyKGNIKSl9LHRva2VuOk5CLHByb3ZpZGVkSW46InJvb3QifSksTkIuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOmNIfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihOQixbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpjSH1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB6Qj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30sSUI9dm9pZCAwIT09ekIuX19rYXJtYV9fJiYhIXpCLl9fa2FybWFfX3x8dm9pZCAwIT09ekIuamFzbWluZSYmISF6Qi5qYXNtaW5lfHx2b2lkIDAhPT16Qi5qZXN0JiYhIXpCLmplc3R8fHZvaWQgMCE9PXpCLk1vY2hhJiYhIXpCLk1vY2hhO2NsYXNzIEhCe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fcGxhdGZvcm09ZSx0aGlzLl9kb2N1bWVudD10fW5nT25EZXN0cm95KCl7Y29uc3QgdD10aGlzLl9jb250YWluZXJFbGVtZW50O3QmJnQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpfWdldENvbnRhaW5lckVsZW1lbnQoKXtyZXR1cm4gdGhpcy5fY29udGFpbmVyRWxlbWVudHx8dGhpcy5fY3JlYXRlQ29udGFpbmVyKCksdGhpcy5fY29udGFpbmVyRWxlbWVudH1fY3JlYXRlQ29udGFpbmVyKCl7Y29uc3QgdD0iY2RrLW92ZXJsYXktY29udGFpbmVyIjtpZih0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXJ8fElCKXtjb25zdCBlPXRoaXMuX2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYC4ke3R9W3BsYXRmb3JtPSJzZXJ2ZXIiXSwgLiR7dH1bcGxhdGZvcm09InRlc3QiXWApO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlW3RdKX1jb25zdCBlPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2UuY2xhc3NMaXN0LmFkZCh0KSxJQj9lLnNldEF0dHJpYnV0ZSgicGxhdGZvcm0iLCJ0ZXN0Iik6dGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyfHxlLnNldEF0dHJpYnV0ZSgicGxhdGZvcm0iLCJzZXJ2ZXIiKSx0aGlzLl9kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLHRoaXMuX2NvbnRhaW5lckVsZW1lbnQ9ZX19SEIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEhCKShUcihzTSksVHIoY0gpKX0sSEIuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IEhCKFRyKHNNKSxUcihjSCkpfSx0b2tlbjpIQixwcm92aWRlZEluOiJyb290In0pLEhCLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpjSH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSEIsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6Y0h9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgRkJ7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzLGwpe3RoaXMuX3BvcnRhbE91dGxldD10LHRoaXMuX2hvc3Q9ZSx0aGlzLl9wYW5lPW4sdGhpcy5fY29uZmlnPW8sdGhpcy5fbmdab25lPWksdGhpcy5fa2V5Ym9hcmREaXNwYXRjaGVyPWEsdGhpcy5fZG9jdW1lbnQ9cix0aGlzLl9sb2NhdGlvbj1zLHRoaXMuX291dHNpZGVDbGlja0Rpc3BhdGNoZXI9bCx0aGlzLl9iYWNrZHJvcEVsZW1lbnQ9bnVsbCx0aGlzLl9iYWNrZHJvcENsaWNrPW5ldyBCLHRoaXMuX2F0dGFjaG1lbnRzPW5ldyBCLHRoaXMuX2RldGFjaG1lbnRzPW5ldyBCLHRoaXMuX2xvY2F0aW9uQ2hhbmdlcz11LkVNUFRZLHRoaXMuX2JhY2tkcm9wQ2xpY2tIYW5kbGVyPXQ9PnRoaXMuX2JhY2tkcm9wQ2xpY2submV4dCh0KSx0aGlzLl9rZXlkb3duRXZlbnRzPW5ldyBCLHRoaXMuX291dHNpZGVQb2ludGVyRXZlbnRzPW5ldyBCLG8uc2Nyb2xsU3RyYXRlZ3kmJih0aGlzLl9zY3JvbGxTdHJhdGVneT1vLnNjcm9sbFN0cmF0ZWd5LHRoaXMuX3Njcm9sbFN0cmF0ZWd5LmF0dGFjaCh0aGlzKSksdGhpcy5fcG9zaXRpb25TdHJhdGVneT1vLnBvc2l0aW9uU3RyYXRlZ3l9Z2V0IG92ZXJsYXlFbGVtZW50KCl7cmV0dXJuIHRoaXMuX3BhbmV9Z2V0IGJhY2tkcm9wRWxlbWVudCgpe3JldHVybiB0aGlzLl9iYWNrZHJvcEVsZW1lbnR9Z2V0IGhvc3RFbGVtZW50KCl7cmV0dXJuIHRoaXMuX2hvc3R9YXR0YWNoKHQpe2xldCBlPXRoaXMuX3BvcnRhbE91dGxldC5hdHRhY2godCk7cmV0dXJuIXRoaXMuX2hvc3QucGFyZW50RWxlbWVudCYmdGhpcy5fcHJldmlvdXNIb3N0UGFyZW50JiZ0aGlzLl9wcmV2aW91c0hvc3RQYXJlbnQuYXBwZW5kQ2hpbGQodGhpcy5faG9zdCksdGhpcy5fcG9zaXRpb25TdHJhdGVneSYmdGhpcy5fcG9zaXRpb25TdHJhdGVneS5hdHRhY2godGhpcyksdGhpcy5fdXBkYXRlU3RhY2tpbmdPcmRlcigpLHRoaXMuX3VwZGF0ZUVsZW1lbnRTaXplKCksdGhpcy5fdXBkYXRlRWxlbWVudERpcmVjdGlvbigpLHRoaXMuX3Njcm9sbFN0cmF0ZWd5JiZ0aGlzLl9zY3JvbGxTdHJhdGVneS5lbmFibGUoKSx0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuaGFzQXR0YWNoZWQoKSYmdGhpcy51cGRhdGVQb3NpdGlvbigpfSkpLHRoaXMuX3RvZ2dsZVBvaW50ZXJFdmVudHMoITApLHRoaXMuX2NvbmZpZy5oYXNCYWNrZHJvcCYmdGhpcy5fYXR0YWNoQmFja2Ryb3AoKSx0aGlzLl9jb25maWcucGFuZWxDbGFzcyYmdGhpcy5fdG9nZ2xlQ2xhc3Nlcyh0aGlzLl9wYW5lLHRoaXMuX2NvbmZpZy5wYW5lbENsYXNzLCEwKSx0aGlzLl9hdHRhY2htZW50cy5uZXh0KCksdGhpcy5fa2V5Ym9hcmREaXNwYXRjaGVyLmFkZCh0aGlzKSx0aGlzLl9jb25maWcuZGlzcG9zZU9uTmF2aWdhdGlvbiYmKHRoaXMuX2xvY2F0aW9uQ2hhbmdlcz10aGlzLl9sb2NhdGlvbi5zdWJzY3JpYmUoKCgpPT50aGlzLmRpc3Bvc2UoKSkpKSx0aGlzLl9vdXRzaWRlQ2xpY2tEaXNwYXRjaGVyLmFkZCh0aGlzKSxlfWRldGFjaCgpe2lmKCF0aGlzLmhhc0F0dGFjaGVkKCkpcmV0dXJuO3RoaXMuZGV0YWNoQmFja2Ryb3AoKSx0aGlzLl90b2dnbGVQb2ludGVyRXZlbnRzKCExKSx0aGlzLl9wb3NpdGlvblN0cmF0ZWd5JiZ0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LmRldGFjaCYmdGhpcy5fcG9zaXRpb25TdHJhdGVneS5kZXRhY2goKSx0aGlzLl9zY3JvbGxTdHJhdGVneSYmdGhpcy5fc2Nyb2xsU3RyYXRlZ3kuZGlzYWJsZSgpO2NvbnN0IHQ9dGhpcy5fcG9ydGFsT3V0bGV0LmRldGFjaCgpO3JldHVybiB0aGlzLl9kZXRhY2htZW50cy5uZXh0KCksdGhpcy5fa2V5Ym9hcmREaXNwYXRjaGVyLnJlbW92ZSh0aGlzKSx0aGlzLl9kZXRhY2hDb250ZW50V2hlblN0YWJsZSgpLHRoaXMuX2xvY2F0aW9uQ2hhbmdlcy51bnN1YnNjcmliZSgpLHRoaXMuX291dHNpZGVDbGlja0Rpc3BhdGNoZXIucmVtb3ZlKHRoaXMpLHR9ZGlzcG9zZSgpe2NvbnN0IHQ9dGhpcy5oYXNBdHRhY2hlZCgpO3RoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kmJnRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kuZGlzcG9zZSgpLHRoaXMuX2Rpc3Bvc2VTY3JvbGxTdHJhdGVneSgpLHRoaXMuZGV0YWNoQmFja2Ryb3AoKSx0aGlzLl9sb2NhdGlvbkNoYW5nZXMudW5zdWJzY3JpYmUoKSx0aGlzLl9rZXlib2FyZERpc3BhdGNoZXIucmVtb3ZlKHRoaXMpLHRoaXMuX3BvcnRhbE91dGxldC5kaXNwb3NlKCksdGhpcy5fYXR0YWNobWVudHMuY29tcGxldGUoKSx0aGlzLl9iYWNrZHJvcENsaWNrLmNvbXBsZXRlKCksdGhpcy5fa2V5ZG93bkV2ZW50cy5jb21wbGV0ZSgpLHRoaXMuX291dHNpZGVQb2ludGVyRXZlbnRzLmNvbXBsZXRlKCksdGhpcy5fb3V0c2lkZUNsaWNrRGlzcGF0Y2hlci5yZW1vdmUodGhpcyksdGhpcy5faG9zdCYmdGhpcy5faG9zdC5wYXJlbnROb2RlJiYodGhpcy5faG9zdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX2hvc3QpLHRoaXMuX2hvc3Q9bnVsbCksdGhpcy5fcHJldmlvdXNIb3N0UGFyZW50PXRoaXMuX3BhbmU9bnVsbCx0JiZ0aGlzLl9kZXRhY2htZW50cy5uZXh0KCksdGhpcy5fZGV0YWNobWVudHMuY29tcGxldGUoKX1oYXNBdHRhY2hlZCgpe3JldHVybiB0aGlzLl9wb3J0YWxPdXRsZXQuaGFzQXR0YWNoZWQoKX1iYWNrZHJvcENsaWNrKCl7cmV0dXJuIHRoaXMuX2JhY2tkcm9wQ2xpY2t9YXR0YWNobWVudHMoKXtyZXR1cm4gdGhpcy5fYXR0YWNobWVudHN9ZGV0YWNobWVudHMoKXtyZXR1cm4gdGhpcy5fZGV0YWNobWVudHN9a2V5ZG93bkV2ZW50cygpe3JldHVybiB0aGlzLl9rZXlkb3duRXZlbnRzfW91dHNpZGVQb2ludGVyRXZlbnRzKCl7cmV0dXJuIHRoaXMuX291dHNpZGVQb2ludGVyRXZlbnRzfWdldENvbmZpZygpe3JldHVybiB0aGlzLl9jb25maWd9dXBkYXRlUG9zaXRpb24oKXt0aGlzLl9wb3NpdGlvblN0cmF0ZWd5JiZ0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LmFwcGx5KCl9dXBkYXRlUG9zaXRpb25TdHJhdGVneSh0KXt0IT09dGhpcy5fcG9zaXRpb25TdHJhdGVneSYmKHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kmJnRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kuZGlzcG9zZSgpLHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3k9dCx0aGlzLmhhc0F0dGFjaGVkKCkmJih0LmF0dGFjaCh0aGlzKSx0aGlzLnVwZGF0ZVBvc2l0aW9uKCkpKX11cGRhdGVTaXplKHQpe3RoaXMuX2NvbmZpZz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdGhpcy5fY29uZmlnKSx0KSx0aGlzLl91cGRhdGVFbGVtZW50U2l6ZSgpfXNldERpcmVjdGlvbih0KXt0aGlzLl9jb25maWc9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMuX2NvbmZpZykse2RpcmVjdGlvbjp0fSksdGhpcy5fdXBkYXRlRWxlbWVudERpcmVjdGlvbigpfWFkZFBhbmVsQ2xhc3ModCl7dGhpcy5fcGFuZSYmdGhpcy5fdG9nZ2xlQ2xhc3Nlcyh0aGlzLl9wYW5lLHQsITApfXJlbW92ZVBhbmVsQ2xhc3ModCl7dGhpcy5fcGFuZSYmdGhpcy5fdG9nZ2xlQ2xhc3Nlcyh0aGlzLl9wYW5lLHQsITEpfWdldERpcmVjdGlvbigpe2NvbnN0IHQ9dGhpcy5fY29uZmlnLmRpcmVjdGlvbjtyZXR1cm4gdD8ic3RyaW5nIj09dHlwZW9mIHQ/dDp0LnZhbHVlOiJsdHIifXVwZGF0ZVNjcm9sbFN0cmF0ZWd5KHQpe3QhPT10aGlzLl9zY3JvbGxTdHJhdGVneSYmKHRoaXMuX2Rpc3Bvc2VTY3JvbGxTdHJhdGVneSgpLHRoaXMuX3Njcm9sbFN0cmF0ZWd5PXQsdGhpcy5oYXNBdHRhY2hlZCgpJiYodC5hdHRhY2godGhpcyksdC5lbmFibGUoKSkpfV91cGRhdGVFbGVtZW50RGlyZWN0aW9uKCl7dGhpcy5faG9zdC5zZXRBdHRyaWJ1dGUoImRpciIsdGhpcy5nZXREaXJlY3Rpb24oKSl9X3VwZGF0ZUVsZW1lbnRTaXplKCl7aWYoIXRoaXMuX3BhbmUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fcGFuZS5zdHlsZTt0LndpZHRoPWFIKHRoaXMuX2NvbmZpZy53aWR0aCksdC5oZWlnaHQ9YUgodGhpcy5fY29uZmlnLmhlaWdodCksdC5taW5XaWR0aD1hSCh0aGlzLl9jb25maWcubWluV2lkdGgpLHQubWluSGVpZ2h0PWFIKHRoaXMuX2NvbmZpZy5taW5IZWlnaHQpLHQubWF4V2lkdGg9YUgodGhpcy5fY29uZmlnLm1heFdpZHRoKSx0Lm1heEhlaWdodD1hSCh0aGlzLl9jb25maWcubWF4SGVpZ2h0KX1fdG9nZ2xlUG9pbnRlckV2ZW50cyh0KXt0aGlzLl9wYW5lLnN0eWxlLnBvaW50ZXJFdmVudHM9dD8iIjoibm9uZSJ9X2F0dGFjaEJhY2tkcm9wKCl7Y29uc3QgdD0iY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyI7dGhpcy5fYmFja2Ryb3BFbGVtZW50PXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2JhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJjZGstb3ZlcmxheS1iYWNrZHJvcCIpLHRoaXMuX2NvbmZpZy5iYWNrZHJvcENsYXNzJiZ0aGlzLl90b2dnbGVDbGFzc2VzKHRoaXMuX2JhY2tkcm9wRWxlbWVudCx0aGlzLl9jb25maWcuYmFja2Ryb3BDbGFzcywhMCksdGhpcy5faG9zdC5wYXJlbnRFbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLl9iYWNrZHJvcEVsZW1lbnQsdGhpcy5faG9zdCksdGhpcy5fYmFja2Ryb3BFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLl9iYWNrZHJvcENsaWNrSGFuZGxlciksInVuZGVmaW5lZCIhPXR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU/dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKCk9Pnt0aGlzLl9iYWNrZHJvcEVsZW1lbnQmJnRoaXMuX2JhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QuYWRkKHQpfSkpfSkpOnRoaXMuX2JhY2tkcm9wRWxlbWVudC5jbGFzc0xpc3QuYWRkKHQpfV91cGRhdGVTdGFja2luZ09yZGVyKCl7dGhpcy5faG9zdC5uZXh0U2libGluZyYmdGhpcy5faG9zdC5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHRoaXMuX2hvc3QpfWRldGFjaEJhY2tkcm9wKCl7bGV0IHQsZT10aGlzLl9iYWNrZHJvcEVsZW1lbnQ7aWYoIWUpcmV0dXJuO2xldCBuPSgpPT57ZSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuX2JhY2tkcm9wQ2xpY2tIYW5kbGVyKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLG4pLGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpKSx0aGlzLl9iYWNrZHJvcEVsZW1lbnQ9PWUmJih0aGlzLl9iYWNrZHJvcEVsZW1lbnQ9bnVsbCksdGhpcy5fY29uZmlnLmJhY2tkcm9wQ2xhc3MmJnRoaXMuX3RvZ2dsZUNsYXNzZXMoZSx0aGlzLl9jb25maWcuYmFja2Ryb3BDbGFzcywhMSksY2xlYXJUaW1lb3V0KHQpfTtlLmNsYXNzTGlzdC5yZW1vdmUoImNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmciKSx0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT57ZS5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixuKX0pKSxlLnN0eWxlLnBvaW50ZXJFdmVudHM9Im5vbmUiLHQ9dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+c2V0VGltZW91dChuLDUwMCkpKX1fdG9nZ2xlQ2xhc3Nlcyh0LGUsbil7Y29uc3Qgbz10LmNsYXNzTGlzdDtpSChlKS5mb3JFYWNoKCh0PT57dCYmKG4/by5hZGQodCk6by5yZW1vdmUodCkpfSkpfV9kZXRhY2hDb250ZW50V2hlblN0YWJsZSgpe3RoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pntjb25zdCB0PXRoaXMuX25nWm9uZS5vblN0YWJsZS5waXBlKGplKHBlKHRoaXMuX2F0dGFjaG1lbnRzLHRoaXMuX2RldGFjaG1lbnRzKSkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9wYW5lJiZ0aGlzLl9ob3N0JiYwIT09dGhpcy5fcGFuZS5jaGlsZHJlbi5sZW5ndGh8fCh0aGlzLl9wYW5lJiZ0aGlzLl9jb25maWcucGFuZWxDbGFzcyYmdGhpcy5fdG9nZ2xlQ2xhc3Nlcyh0aGlzLl9wYW5lLHRoaXMuX2NvbmZpZy5wYW5lbENsYXNzLCExKSx0aGlzLl9ob3N0JiZ0aGlzLl9ob3N0LnBhcmVudEVsZW1lbnQmJih0aGlzLl9wcmV2aW91c0hvc3RQYXJlbnQ9dGhpcy5faG9zdC5wYXJlbnRFbGVtZW50LHRoaXMuX3ByZXZpb3VzSG9zdFBhcmVudC5yZW1vdmVDaGlsZCh0aGlzLl9ob3N0KSksdC51bnN1YnNjcmliZSgpKX0pKX0pKX1fZGlzcG9zZVNjcm9sbFN0cmF0ZWd5KCl7Y29uc3QgdD10aGlzLl9zY3JvbGxTdHJhdGVneTt0JiYodC5kaXNhYmxlKCksdC5kZXRhY2gmJnQuZGV0YWNoKCkpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgTEI9ImNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3giLEJCPS8oW0EtWmEteiVdKykkLztjbGFzcyBWQntjb25zdHJ1Y3Rvcih0LGUsbixvLGkpe3RoaXMuX3ZpZXdwb3J0UnVsZXI9ZSx0aGlzLl9kb2N1bWVudD1uLHRoaXMuX3BsYXRmb3JtPW8sdGhpcy5fb3ZlcmxheUNvbnRhaW5lcj1pLHRoaXMuX2xhc3RCb3VuZGluZ0JveFNpemU9e3dpZHRoOjAsaGVpZ2h0OjB9LHRoaXMuX2lzUHVzaGVkPSExLHRoaXMuX2NhblB1c2g9ITAsdGhpcy5fZ3Jvd0FmdGVyT3Blbj0hMSx0aGlzLl9oYXNGbGV4aWJsZURpbWVuc2lvbnM9ITAsdGhpcy5fcG9zaXRpb25Mb2NrZWQ9ITEsdGhpcy5fdmlld3BvcnRNYXJnaW49MCx0aGlzLl9zY3JvbGxhYmxlcz1bXSx0aGlzLl9wcmVmZXJyZWRQb3NpdGlvbnM9W10sdGhpcy5fcG9zaXRpb25DaGFuZ2VzPW5ldyBCLHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX29mZnNldFg9MCx0aGlzLl9vZmZzZXRZPTAsdGhpcy5fYXBwbGllZFBhbmVsQ2xhc3Nlcz1bXSx0aGlzLnBvc2l0aW9uQ2hhbmdlcz10aGlzLl9wb3NpdGlvbkNoYW5nZXMsdGhpcy5zZXRPcmlnaW4odCl9Z2V0IHBvc2l0aW9ucygpe3JldHVybiB0aGlzLl9wcmVmZXJyZWRQb3NpdGlvbnN9YXR0YWNoKHQpe2lmKHRoaXMuX292ZXJsYXlSZWYmJnQhPT10aGlzLl9vdmVybGF5UmVmJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgRXJyb3IoIlRoaXMgcG9zaXRpb24gc3RyYXRlZ3kgaXMgYWxyZWFkeSBhdHRhY2hlZCB0byBhbiBvdmVybGF5Iik7dGhpcy5fdmFsaWRhdGVQb3NpdGlvbnMoKSx0Lmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoTEIpLHRoaXMuX292ZXJsYXlSZWY9dCx0aGlzLl9ib3VuZGluZ0JveD10Lmhvc3RFbGVtZW50LHRoaXMuX3BhbmU9dC5vdmVybGF5RWxlbWVudCx0aGlzLl9pc0Rpc3Bvc2VkPSExLHRoaXMuX2lzSW5pdGlhbFJlbmRlcj0hMCx0aGlzLl9sYXN0UG9zaXRpb249bnVsbCx0aGlzLl9yZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9yZXNpemVTdWJzY3JpcHRpb249dGhpcy5fdmlld3BvcnRSdWxlci5jaGFuZ2UoKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5faXNJbml0aWFsUmVuZGVyPSEwLHRoaXMuYXBwbHkoKX0pKX1hcHBseSgpe2lmKHRoaXMuX2lzRGlzcG9zZWR8fCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpcmV0dXJuO2lmKCF0aGlzLl9pc0luaXRpYWxSZW5kZXImJnRoaXMuX3Bvc2l0aW9uTG9ja2VkJiZ0aGlzLl9sYXN0UG9zaXRpb24pcmV0dXJuIHZvaWQgdGhpcy5yZWFwcGx5TGFzdFBvc2l0aW9uKCk7dGhpcy5fY2xlYXJQYW5lbENsYXNzZXMoKSx0aGlzLl9yZXNldE92ZXJsYXlFbGVtZW50U3R5bGVzKCksdGhpcy5fcmVzZXRCb3VuZGluZ0JveFN0eWxlcygpLHRoaXMuX3ZpZXdwb3J0UmVjdD10aGlzLl9nZXROYXJyb3dlZFZpZXdwb3J0UmVjdCgpLHRoaXMuX29yaWdpblJlY3Q9dGhpcy5fZ2V0T3JpZ2luUmVjdCgpLHRoaXMuX292ZXJsYXlSZWN0PXRoaXMuX3BhbmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Y29uc3QgdD10aGlzLl9vcmlnaW5SZWN0LGU9dGhpcy5fb3ZlcmxheVJlY3Qsbj10aGlzLl92aWV3cG9ydFJlY3Qsbz1bXTtsZXQgaTtmb3IobGV0IGEgb2YgdGhpcy5fcHJlZmVycmVkUG9zaXRpb25zKXtsZXQgcj10aGlzLl9nZXRPcmlnaW5Qb2ludCh0LGEpLHM9dGhpcy5fZ2V0T3ZlcmxheVBvaW50KHIsZSxhKSxsPXRoaXMuX2dldE92ZXJsYXlGaXQocyxlLG4sYSk7aWYobC5pc0NvbXBsZXRlbHlXaXRoaW5WaWV3cG9ydClyZXR1cm4gdGhpcy5faXNQdXNoZWQ9ITEsdm9pZCB0aGlzLl9hcHBseVBvc2l0aW9uKGEscik7dGhpcy5fY2FuRml0V2l0aEZsZXhpYmxlRGltZW5zaW9ucyhsLHMsbik/by5wdXNoKHtwb3NpdGlvbjphLG9yaWdpbjpyLG92ZXJsYXlSZWN0OmUsYm91bmRpbmdCb3hSZWN0OnRoaXMuX2NhbGN1bGF0ZUJvdW5kaW5nQm94UmVjdChyLGEpfSk6KCFpfHxpLm92ZXJsYXlGaXQudmlzaWJsZUFyZWE8bC52aXNpYmxlQXJlYSkmJihpPXtvdmVybGF5Rml0Omwsb3ZlcmxheVBvaW50OnMsb3JpZ2luUG9pbnQ6cixwb3NpdGlvbjphLG92ZXJsYXlSZWN0OmV9KX1pZihvLmxlbmd0aCl7bGV0IHQ9bnVsbCxlPS0xO2Zvcihjb25zdCBuIG9mIG8pe2NvbnN0IG89bi5ib3VuZGluZ0JveFJlY3Qud2lkdGgqbi5ib3VuZGluZ0JveFJlY3QuaGVpZ2h0KihuLnBvc2l0aW9uLndlaWdodHx8MSk7bz5lJiYoZT1vLHQ9bil9cmV0dXJuIHRoaXMuX2lzUHVzaGVkPSExLHZvaWQgdGhpcy5fYXBwbHlQb3NpdGlvbih0LnBvc2l0aW9uLHQub3JpZ2luKX1pZih0aGlzLl9jYW5QdXNoKXJldHVybiB0aGlzLl9pc1B1c2hlZD0hMCx2b2lkIHRoaXMuX2FwcGx5UG9zaXRpb24oaS5wb3NpdGlvbixpLm9yaWdpblBvaW50KTt0aGlzLl9hcHBseVBvc2l0aW9uKGkucG9zaXRpb24saS5vcmlnaW5Qb2ludCl9ZGV0YWNoKCl7dGhpcy5fY2xlYXJQYW5lbENsYXNzZXMoKSx0aGlzLl9sYXN0UG9zaXRpb249bnVsbCx0aGlzLl9wcmV2aW91c1B1c2hBbW91bnQ9bnVsbCx0aGlzLl9yZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX1kaXNwb3NlKCl7dGhpcy5faXNEaXNwb3NlZHx8KHRoaXMuX2JvdW5kaW5nQm94JiZqQih0aGlzLl9ib3VuZGluZ0JveC5zdHlsZSx7dG9wOiIiLGxlZnQ6IiIscmlnaHQ6IiIsYm90dG9tOiIiLGhlaWdodDoiIix3aWR0aDoiIixhbGlnbkl0ZW1zOiIiLGp1c3RpZnlDb250ZW50OiIifSksdGhpcy5fcGFuZSYmdGhpcy5fcmVzZXRPdmVybGF5RWxlbWVudFN0eWxlcygpLHRoaXMuX292ZXJsYXlSZWYmJnRoaXMuX292ZXJsYXlSZWYuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShMQiksdGhpcy5kZXRhY2goKSx0aGlzLl9wb3NpdGlvbkNoYW5nZXMuY29tcGxldGUoKSx0aGlzLl9vdmVybGF5UmVmPXRoaXMuX2JvdW5kaW5nQm94PW51bGwsdGhpcy5faXNEaXNwb3NlZD0hMCl9cmVhcHBseUxhc3RQb3NpdGlvbigpe2lmKCF0aGlzLl9pc0Rpc3Bvc2VkJiYoIXRoaXMuX3BsYXRmb3JtfHx0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpKXt0aGlzLl9vcmlnaW5SZWN0PXRoaXMuX2dldE9yaWdpblJlY3QoKSx0aGlzLl9vdmVybGF5UmVjdD10aGlzLl9wYW5lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHRoaXMuX3ZpZXdwb3J0UmVjdD10aGlzLl9nZXROYXJyb3dlZFZpZXdwb3J0UmVjdCgpO2NvbnN0IHQ9dGhpcy5fbGFzdFBvc2l0aW9ufHx0aGlzLl9wcmVmZXJyZWRQb3NpdGlvbnNbMF0sZT10aGlzLl9nZXRPcmlnaW5Qb2ludCh0aGlzLl9vcmlnaW5SZWN0LHQpO3RoaXMuX2FwcGx5UG9zaXRpb24odCxlKX19d2l0aFNjcm9sbGFibGVDb250YWluZXJzKHQpe3JldHVybiB0aGlzLl9zY3JvbGxhYmxlcz10LHRoaXN9d2l0aFBvc2l0aW9ucyh0KXtyZXR1cm4gdGhpcy5fcHJlZmVycmVkUG9zaXRpb25zPXQsLTE9PT10LmluZGV4T2YodGhpcy5fbGFzdFBvc2l0aW9uKSYmKHRoaXMuX2xhc3RQb3NpdGlvbj1udWxsKSx0aGlzLl92YWxpZGF0ZVBvc2l0aW9ucygpLHRoaXN9d2l0aFZpZXdwb3J0TWFyZ2luKHQpe3JldHVybiB0aGlzLl92aWV3cG9ydE1hcmdpbj10LHRoaXN9d2l0aEZsZXhpYmxlRGltZW5zaW9ucyh0PSEwKXtyZXR1cm4gdGhpcy5faGFzRmxleGlibGVEaW1lbnNpb25zPXQsdGhpc313aXRoR3Jvd0FmdGVyT3Blbih0PSEwKXtyZXR1cm4gdGhpcy5fZ3Jvd0FmdGVyT3Blbj10LHRoaXN9d2l0aFB1c2godD0hMCl7cmV0dXJuIHRoaXMuX2NhblB1c2g9dCx0aGlzfXdpdGhMb2NrZWRQb3NpdGlvbih0PSEwKXtyZXR1cm4gdGhpcy5fcG9zaXRpb25Mb2NrZWQ9dCx0aGlzfXNldE9yaWdpbih0KXtyZXR1cm4gdGhpcy5fb3JpZ2luPXQsdGhpc313aXRoRGVmYXVsdE9mZnNldFgodCl7cmV0dXJuIHRoaXMuX29mZnNldFg9dCx0aGlzfXdpdGhEZWZhdWx0T2Zmc2V0WSh0KXtyZXR1cm4gdGhpcy5fb2Zmc2V0WT10LHRoaXN9d2l0aFRyYW5zZm9ybU9yaWdpbk9uKHQpe3JldHVybiB0aGlzLl90cmFuc2Zvcm1PcmlnaW5TZWxlY3Rvcj10LHRoaXN9X2dldE9yaWdpblBvaW50KHQsZSl7bGV0IG4sbztpZigiY2VudGVyIj09ZS5vcmlnaW5YKW49dC5sZWZ0K3Qud2lkdGgvMjtlbHNle2NvbnN0IG89dGhpcy5faXNSdGwoKT90LnJpZ2h0OnQubGVmdCxpPXRoaXMuX2lzUnRsKCk/dC5sZWZ0OnQucmlnaHQ7bj0ic3RhcnQiPT1lLm9yaWdpblg/bzppfXJldHVybiBvPSJjZW50ZXIiPT1lLm9yaWdpblk/dC50b3ArdC5oZWlnaHQvMjoidG9wIj09ZS5vcmlnaW5ZP3QudG9wOnQuYm90dG9tLHt4Om4seTpvfX1fZ2V0T3ZlcmxheVBvaW50KHQsZSxuKXtsZXQgbyxpO3JldHVybiBvPSJjZW50ZXIiPT1uLm92ZXJsYXlYPy1lLndpZHRoLzI6InN0YXJ0Ij09PW4ub3ZlcmxheVg/dGhpcy5faXNSdGwoKT8tZS53aWR0aDowOnRoaXMuX2lzUnRsKCk/MDotZS53aWR0aCxpPSJjZW50ZXIiPT1uLm92ZXJsYXlZPy1lLmhlaWdodC8yOiJ0b3AiPT1uLm92ZXJsYXlZPzA6LWUuaGVpZ2h0LHt4OnQueCtvLHk6dC55K2l9fV9nZXRPdmVybGF5Rml0KHQsZSxuLG8pe2NvbnN0IGk9V0IoZSk7bGV0e3g6YSx5OnJ9PXQscz10aGlzLl9nZXRPZmZzZXQobywieCIpLGw9dGhpcy5fZ2V0T2Zmc2V0KG8sInkiKTtzJiYoYSs9cyksbCYmKHIrPWwpO2xldCBjPTAtcixkPXIraS5oZWlnaHQtbi5oZWlnaHQscD10aGlzLl9zdWJ0cmFjdE92ZXJmbG93cyhpLndpZHRoLDAtYSxhK2kud2lkdGgtbi53aWR0aCksbT10aGlzLl9zdWJ0cmFjdE92ZXJmbG93cyhpLmhlaWdodCxjLGQpLGY9cCptO3JldHVybnt2aXNpYmxlQXJlYTpmLGlzQ29tcGxldGVseVdpdGhpblZpZXdwb3J0Omkud2lkdGgqaS5oZWlnaHQ9PT1mLGZpdHNJblZpZXdwb3J0VmVydGljYWxseTptPT09aS5oZWlnaHQsZml0c0luVmlld3BvcnRIb3Jpem9udGFsbHk6cD09aS53aWR0aH19X2NhbkZpdFdpdGhGbGV4aWJsZURpbWVuc2lvbnModCxlLG4pe2lmKHRoaXMuX2hhc0ZsZXhpYmxlRGltZW5zaW9ucyl7Y29uc3Qgbz1uLmJvdHRvbS1lLnksaT1uLnJpZ2h0LWUueCxhPVVCKHRoaXMuX292ZXJsYXlSZWYuZ2V0Q29uZmlnKCkubWluSGVpZ2h0KSxyPVVCKHRoaXMuX292ZXJsYXlSZWYuZ2V0Q29uZmlnKCkubWluV2lkdGgpLHM9dC5maXRzSW5WaWV3cG9ydEhvcml6b250YWxseXx8bnVsbCE9ciYmcjw9aTtyZXR1cm4odC5maXRzSW5WaWV3cG9ydFZlcnRpY2FsbHl8fG51bGwhPWEmJmE8PW8pJiZzfXJldHVybiExfV9wdXNoT3ZlcmxheU9uU2NyZWVuKHQsZSxuKXtpZih0aGlzLl9wcmV2aW91c1B1c2hBbW91bnQmJnRoaXMuX3Bvc2l0aW9uTG9ja2VkKXJldHVybnt4OnQueCt0aGlzLl9wcmV2aW91c1B1c2hBbW91bnQueCx5OnQueSt0aGlzLl9wcmV2aW91c1B1c2hBbW91bnQueX07Y29uc3Qgbz1XQihlKSxpPXRoaXMuX3ZpZXdwb3J0UmVjdCxhPU1hdGgubWF4KHQueCtvLndpZHRoLWkud2lkdGgsMCkscj1NYXRoLm1heCh0Lnkrby5oZWlnaHQtaS5oZWlnaHQsMCkscz1NYXRoLm1heChpLnRvcC1uLnRvcC10LnksMCksbD1NYXRoLm1heChpLmxlZnQtbi5sZWZ0LXQueCwwKTtsZXQgYz0wLGQ9MDtyZXR1cm4gYz1vLndpZHRoPD1pLndpZHRoP2x8fC1hOnQueDx0aGlzLl92aWV3cG9ydE1hcmdpbj9pLmxlZnQtbi5sZWZ0LXQueDowLGQ9by5oZWlnaHQ8PWkuaGVpZ2h0P3N8fC1yOnQueTx0aGlzLl92aWV3cG9ydE1hcmdpbj9pLnRvcC1uLnRvcC10Lnk6MCx0aGlzLl9wcmV2aW91c1B1c2hBbW91bnQ9e3g6Yyx5OmR9LHt4OnQueCtjLHk6dC55K2R9fV9hcHBseVBvc2l0aW9uKHQsZSl7aWYodGhpcy5fc2V0VHJhbnNmb3JtT3JpZ2luKHQpLHRoaXMuX3NldE92ZXJsYXlFbGVtZW50U3R5bGVzKGUsdCksdGhpcy5fc2V0Qm91bmRpbmdCb3hTdHlsZXMoZSx0KSx0LnBhbmVsQ2xhc3MmJnRoaXMuX2FkZFBhbmVsQ2xhc3Nlcyh0LnBhbmVsQ2xhc3MpLHRoaXMuX2xhc3RQb3NpdGlvbj10LHRoaXMuX3Bvc2l0aW9uQ2hhbmdlcy5vYnNlcnZlcnMubGVuZ3RoKXtjb25zdCBlPXRoaXMuX2dldFNjcm9sbFZpc2liaWxpdHkoKSxuPW5ldyBEQih0LGUpO3RoaXMuX3Bvc2l0aW9uQ2hhbmdlcy5uZXh0KG4pfXRoaXMuX2lzSW5pdGlhbFJlbmRlcj0hMX1fc2V0VHJhbnNmb3JtT3JpZ2luKHQpe2lmKCF0aGlzLl90cmFuc2Zvcm1PcmlnaW5TZWxlY3RvcilyZXR1cm47Y29uc3QgZT10aGlzLl9ib3VuZGluZ0JveC5xdWVyeVNlbGVjdG9yQWxsKHRoaXMuX3RyYW5zZm9ybU9yaWdpblNlbGVjdG9yKTtsZXQgbixvPXQub3ZlcmxheVk7bj0iY2VudGVyIj09PXQub3ZlcmxheVg/ImNlbnRlciI6dGhpcy5faXNSdGwoKT8ic3RhcnQiPT09dC5vdmVybGF5WD8icmlnaHQiOiJsZWZ0Ijoic3RhcnQiPT09dC5vdmVybGF5WD8ibGVmdCI6InJpZ2h0Ijtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLnN0eWxlLnRyYW5zZm9ybU9yaWdpbj1gJHtufSAke299YH1fY2FsY3VsYXRlQm91bmRpbmdCb3hSZWN0KHQsZSl7Y29uc3Qgbj10aGlzLl92aWV3cG9ydFJlY3Qsbz10aGlzLl9pc1J0bCgpO2xldCBpLGEscjtpZigidG9wIj09PWUub3ZlcmxheVkpYT10LnksaT1uLmhlaWdodC1hK3RoaXMuX3ZpZXdwb3J0TWFyZ2luO2Vsc2UgaWYoImJvdHRvbSI9PT1lLm92ZXJsYXlZKXI9bi5oZWlnaHQtdC55KzIqdGhpcy5fdmlld3BvcnRNYXJnaW4saT1uLmhlaWdodC1yK3RoaXMuX3ZpZXdwb3J0TWFyZ2luO2Vsc2V7Y29uc3QgZT1NYXRoLm1pbihuLmJvdHRvbS10Lnkrbi50b3AsdC55KSxvPXRoaXMuX2xhc3RCb3VuZGluZ0JveFNpemUuaGVpZ2h0O2k9MiplLGE9dC55LWUsaT5vJiYhdGhpcy5faXNJbml0aWFsUmVuZGVyJiYhdGhpcy5fZ3Jvd0FmdGVyT3BlbiYmKGE9dC55LW8vMil9bGV0IHMsbCxjO2lmKCJlbmQiPT09ZS5vdmVybGF5WCYmIW98fCJzdGFydCI9PT1lLm92ZXJsYXlYJiZvKWM9bi53aWR0aC10LngrdGhpcy5fdmlld3BvcnRNYXJnaW4scz10LngtdGhpcy5fdmlld3BvcnRNYXJnaW47ZWxzZSBpZigic3RhcnQiPT09ZS5vdmVybGF5WCYmIW98fCJlbmQiPT09ZS5vdmVybGF5WCYmbylsPXQueCxzPW4ucmlnaHQtdC54O2Vsc2V7Y29uc3QgZT1NYXRoLm1pbihuLnJpZ2h0LXQueCtuLmxlZnQsdC54KSxvPXRoaXMuX2xhc3RCb3VuZGluZ0JveFNpemUud2lkdGg7cz0yKmUsbD10LngtZSxzPm8mJiF0aGlzLl9pc0luaXRpYWxSZW5kZXImJiF0aGlzLl9ncm93QWZ0ZXJPcGVuJiYobD10Lngtby8yKX1yZXR1cm57dG9wOmEsbGVmdDpsLGJvdHRvbTpyLHJpZ2h0OmMsd2lkdGg6cyxoZWlnaHQ6aX19X3NldEJvdW5kaW5nQm94U3R5bGVzKHQsZSl7Y29uc3Qgbj10aGlzLl9jYWxjdWxhdGVCb3VuZGluZ0JveFJlY3QodCxlKTt0aGlzLl9pc0luaXRpYWxSZW5kZXJ8fHRoaXMuX2dyb3dBZnRlck9wZW58fChuLmhlaWdodD1NYXRoLm1pbihuLmhlaWdodCx0aGlzLl9sYXN0Qm91bmRpbmdCb3hTaXplLmhlaWdodCksbi53aWR0aD1NYXRoLm1pbihuLndpZHRoLHRoaXMuX2xhc3RCb3VuZGluZ0JveFNpemUud2lkdGgpKTtjb25zdCBvPXt9O2lmKHRoaXMuX2hhc0V4YWN0UG9zaXRpb24oKSlvLnRvcD1vLmxlZnQ9IjAiLG8uYm90dG9tPW8ucmlnaHQ9by5tYXhIZWlnaHQ9by5tYXhXaWR0aD0iIixvLndpZHRoPW8uaGVpZ2h0PSIxMDAlIjtlbHNle2NvbnN0IHQ9dGhpcy5fb3ZlcmxheVJlZi5nZXRDb25maWcoKS5tYXhIZWlnaHQsaT10aGlzLl9vdmVybGF5UmVmLmdldENvbmZpZygpLm1heFdpZHRoO28uaGVpZ2h0PWFIKG4uaGVpZ2h0KSxvLnRvcD1hSChuLnRvcCksby5ib3R0b209YUgobi5ib3R0b20pLG8ud2lkdGg9YUgobi53aWR0aCksby5sZWZ0PWFIKG4ubGVmdCksby5yaWdodD1hSChuLnJpZ2h0KSxvLmFsaWduSXRlbXM9ImNlbnRlciI9PT1lLm92ZXJsYXlYPyJjZW50ZXIiOiJlbmQiPT09ZS5vdmVybGF5WD8iZmxleC1lbmQiOiJmbGV4LXN0YXJ0IixvLmp1c3RpZnlDb250ZW50PSJjZW50ZXIiPT09ZS5vdmVybGF5WT8iY2VudGVyIjoiYm90dG9tIj09PWUub3ZlcmxheVk/ImZsZXgtZW5kIjoiZmxleC1zdGFydCIsdCYmKG8ubWF4SGVpZ2h0PWFIKHQpKSxpJiYoby5tYXhXaWR0aD1hSChpKSl9dGhpcy5fbGFzdEJvdW5kaW5nQm94U2l6ZT1uLGpCKHRoaXMuX2JvdW5kaW5nQm94LnN0eWxlLG8pfV9yZXNldEJvdW5kaW5nQm94U3R5bGVzKCl7akIodGhpcy5fYm91bmRpbmdCb3guc3R5bGUse3RvcDoiMCIsbGVmdDoiMCIscmlnaHQ6IjAiLGJvdHRvbToiMCIsaGVpZ2h0OiIiLHdpZHRoOiIiLGFsaWduSXRlbXM6IiIsanVzdGlmeUNvbnRlbnQ6IiJ9KX1fcmVzZXRPdmVybGF5RWxlbWVudFN0eWxlcygpe2pCKHRoaXMuX3BhbmUuc3R5bGUse3RvcDoiIixsZWZ0OiIiLGJvdHRvbToiIixyaWdodDoiIixwb3NpdGlvbjoiIix0cmFuc2Zvcm06IiJ9KX1fc2V0T3ZlcmxheUVsZW1lbnRTdHlsZXModCxlKXtjb25zdCBuPXt9LG89dGhpcy5faGFzRXhhY3RQb3NpdGlvbigpLGk9dGhpcy5faGFzRmxleGlibGVEaW1lbnNpb25zLGE9dGhpcy5fb3ZlcmxheVJlZi5nZXRDb25maWcoKTtpZihvKXtjb25zdCBvPXRoaXMuX3ZpZXdwb3J0UnVsZXIuZ2V0Vmlld3BvcnRTY3JvbGxQb3NpdGlvbigpO2pCKG4sdGhpcy5fZ2V0RXhhY3RPdmVybGF5WShlLHQsbykpLGpCKG4sdGhpcy5fZ2V0RXhhY3RPdmVybGF5WChlLHQsbykpfWVsc2Ugbi5wb3NpdGlvbj0ic3RhdGljIjtsZXQgcj0iIixzPXRoaXMuX2dldE9mZnNldChlLCJ4IiksbD10aGlzLl9nZXRPZmZzZXQoZSwieSIpO3MmJihyKz1gdHJhbnNsYXRlWCgke3N9cHgpIGApLGwmJihyKz1gdHJhbnNsYXRlWSgke2x9cHgpYCksbi50cmFuc2Zvcm09ci50cmltKCksYS5tYXhIZWlnaHQmJihvP24ubWF4SGVpZ2h0PWFIKGEubWF4SGVpZ2h0KTppJiYobi5tYXhIZWlnaHQ9IiIpKSxhLm1heFdpZHRoJiYobz9uLm1heFdpZHRoPWFIKGEubWF4V2lkdGgpOmkmJihuLm1heFdpZHRoPSIiKSksakIodGhpcy5fcGFuZS5zdHlsZSxuKX1fZ2V0RXhhY3RPdmVybGF5WSh0LGUsbil7bGV0IG89e3RvcDoiIixib3R0b206IiJ9LGk9dGhpcy5fZ2V0T3ZlcmxheVBvaW50KGUsdGhpcy5fb3ZlcmxheVJlY3QsdCk7dGhpcy5faXNQdXNoZWQmJihpPXRoaXMuX3B1c2hPdmVybGF5T25TY3JlZW4oaSx0aGlzLl9vdmVybGF5UmVjdCxuKSk7bGV0IGE9dGhpcy5fb3ZlcmxheUNvbnRhaW5lci5nZXRDb250YWluZXJFbGVtZW50KCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO2lmKGkueS09YSwiYm90dG9tIj09PXQub3ZlcmxheVkpe28uYm90dG9tPXRoaXMuX2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQtKGkueSt0aGlzLl9vdmVybGF5UmVjdC5oZWlnaHQpKyJweCJ9ZWxzZSBvLnRvcD1hSChpLnkpO3JldHVybiBvfV9nZXRFeGFjdE92ZXJsYXlYKHQsZSxuKXtsZXQgbyxpPXtsZWZ0OiIiLHJpZ2h0OiIifSxhPXRoaXMuX2dldE92ZXJsYXlQb2ludChlLHRoaXMuX292ZXJsYXlSZWN0LHQpO2lmKHRoaXMuX2lzUHVzaGVkJiYoYT10aGlzLl9wdXNoT3ZlcmxheU9uU2NyZWVuKGEsdGhpcy5fb3ZlcmxheVJlY3QsbikpLG89dGhpcy5faXNSdGwoKT8iZW5kIj09PXQub3ZlcmxheVg/ImxlZnQiOiJyaWdodCI6ImVuZCI9PT10Lm92ZXJsYXlYPyJyaWdodCI6ImxlZnQiLCJyaWdodCI9PT1vKXtpLnJpZ2h0PXRoaXMuX2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aC0oYS54K3RoaXMuX292ZXJsYXlSZWN0LndpZHRoKSsicHgifWVsc2UgaS5sZWZ0PWFIKGEueCk7cmV0dXJuIGl9X2dldFNjcm9sbFZpc2liaWxpdHkoKXtjb25zdCB0PXRoaXMuX2dldE9yaWdpblJlY3QoKSxlPXRoaXMuX3BhbmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj10aGlzLl9zY3JvbGxhYmxlcy5tYXAoKHQ9PnQuZ2V0RWxlbWVudFJlZigpLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpKTtyZXR1cm57aXNPcmlnaW5DbGlwcGVkOnhCKHQsbiksaXNPcmlnaW5PdXRzaWRlVmlldzp2Qih0LG4pLGlzT3ZlcmxheUNsaXBwZWQ6eEIoZSxuKSxpc092ZXJsYXlPdXRzaWRlVmlldzp2QihlLG4pfX1fc3VidHJhY3RPdmVyZmxvd3ModCwuLi5lKXtyZXR1cm4gZS5yZWR1Y2UoKCh0LGUpPT50LU1hdGgubWF4KGUsMCkpLHQpfV9nZXROYXJyb3dlZFZpZXdwb3J0UmVjdCgpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLGU9dGhpcy5fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCxuPXRoaXMuX3ZpZXdwb3J0UnVsZXIuZ2V0Vmlld3BvcnRTY3JvbGxQb3NpdGlvbigpO3JldHVybnt0b3A6bi50b3ArdGhpcy5fdmlld3BvcnRNYXJnaW4sbGVmdDpuLmxlZnQrdGhpcy5fdmlld3BvcnRNYXJnaW4scmlnaHQ6bi5sZWZ0K3QtdGhpcy5fdmlld3BvcnRNYXJnaW4sYm90dG9tOm4udG9wK2UtdGhpcy5fdmlld3BvcnRNYXJnaW4sd2lkdGg6dC0yKnRoaXMuX3ZpZXdwb3J0TWFyZ2luLGhlaWdodDplLTIqdGhpcy5fdmlld3BvcnRNYXJnaW59fV9pc1J0bCgpe3JldHVybiJydGwiPT09dGhpcy5fb3ZlcmxheVJlZi5nZXREaXJlY3Rpb24oKX1faGFzRXhhY3RQb3NpdGlvbigpe3JldHVybiF0aGlzLl9oYXNGbGV4aWJsZURpbWVuc2lvbnN8fHRoaXMuX2lzUHVzaGVkfV9nZXRPZmZzZXQodCxlKXtyZXR1cm4ieCI9PT1lP251bGw9PXQub2Zmc2V0WD90aGlzLl9vZmZzZXRYOnQub2Zmc2V0WDpudWxsPT10Lm9mZnNldFk/dGhpcy5fb2Zmc2V0WTp0Lm9mZnNldFl9X3ZhbGlkYXRlUG9zaXRpb25zKCl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSl7aWYoIXRoaXMuX3ByZWZlcnJlZFBvc2l0aW9ucy5sZW5ndGgpdGhyb3cgRXJyb3IoIkZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneTogQXQgbGVhc3Qgb25lIHBvc2l0aW9uIGlzIHJlcXVpcmVkLiIpO3RoaXMuX3ByZWZlcnJlZFBvc2l0aW9ucy5mb3JFYWNoKCh0PT57RUIoIm9yaWdpblgiLHQub3JpZ2luWCksUkIoIm9yaWdpblkiLHQub3JpZ2luWSksRUIoIm92ZXJsYXlYIix0Lm92ZXJsYXlYKSxSQigib3ZlcmxheVkiLHQub3ZlcmxheVkpfSkpfX1fYWRkUGFuZWxDbGFzc2VzKHQpe3RoaXMuX3BhbmUmJmlIKHQpLmZvckVhY2goKHQ9PnsiIiE9PXQmJi0xPT09dGhpcy5fYXBwbGllZFBhbmVsQ2xhc3Nlcy5pbmRleE9mKHQpJiYodGhpcy5fYXBwbGllZFBhbmVsQ2xhc3Nlcy5wdXNoKHQpLHRoaXMuX3BhbmUuY2xhc3NMaXN0LmFkZCh0KSl9KSl9X2NsZWFyUGFuZWxDbGFzc2VzKCl7dGhpcy5fcGFuZSYmKHRoaXMuX2FwcGxpZWRQYW5lbENsYXNzZXMuZm9yRWFjaCgodD0+e3RoaXMuX3BhbmUuY2xhc3NMaXN0LnJlbW92ZSh0KX0pKSx0aGlzLl9hcHBsaWVkUGFuZWxDbGFzc2VzPVtdKX1fZ2V0T3JpZ2luUmVjdCgpe2NvbnN0IHQ9dGhpcy5fb3JpZ2luO2lmKHQgaW5zdGFuY2VvZiBLaClyZXR1cm4gdC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKHQgaW5zdGFuY2VvZiBFbGVtZW50KXJldHVybiB0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2NvbnN0IGU9dC53aWR0aHx8MCxuPXQuaGVpZ2h0fHwwO3JldHVybnt0b3A6dC55LGJvdHRvbTp0LnkrbixsZWZ0OnQueCxyaWdodDp0LngrZSxoZWlnaHQ6bix3aWR0aDplfX19ZnVuY3Rpb24gakIodCxlKXtmb3IobGV0IG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodFtuXT1lW25dKTtyZXR1cm4gdH1mdW5jdGlvbiBVQih0KXtpZigibnVtYmVyIiE9dHlwZW9mIHQmJm51bGwhPXQpe2NvbnN0W2Usbl09dC5zcGxpdChCQik7cmV0dXJuIG4mJiJweCIhPT1uP251bGw6cGFyc2VGbG9hdChlKX1yZXR1cm4gdHx8bnVsbH1mdW5jdGlvbiBXQih0KXtyZXR1cm57dG9wOk1hdGguZmxvb3IodC50b3ApLHJpZ2h0Ok1hdGguZmxvb3IodC5yaWdodCksYm90dG9tOk1hdGguZmxvb3IodC5ib3R0b20pLGxlZnQ6TWF0aC5mbG9vcih0LmxlZnQpLHdpZHRoOk1hdGguZmxvb3IodC53aWR0aCksaGVpZ2h0Ok1hdGguZmxvb3IodC5oZWlnaHQpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgR0J7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscil7dGhpcy5fcHJlZmVycmVkUG9zaXRpb25zPVtdLHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3k9bmV3IFZCKG4sbyxpLGEscikud2l0aEZsZXhpYmxlRGltZW5zaW9ucyghMSkud2l0aFB1c2goITEpLndpdGhWaWV3cG9ydE1hcmdpbigwKSx0aGlzLndpdGhGYWxsYmFja1Bvc2l0aW9uKHQsZSksdGhpcy5vblBvc2l0aW9uQ2hhbmdlPXRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kucG9zaXRpb25DaGFuZ2VzfWdldCBwb3NpdGlvbnMoKXtyZXR1cm4gdGhpcy5fcHJlZmVycmVkUG9zaXRpb25zfWF0dGFjaCh0KXt0aGlzLl9vdmVybGF5UmVmPXQsdGhpcy5fcG9zaXRpb25TdHJhdGVneS5hdHRhY2godCksdGhpcy5fZGlyZWN0aW9uJiYodC5zZXREaXJlY3Rpb24odGhpcy5fZGlyZWN0aW9uKSx0aGlzLl9kaXJlY3Rpb249bnVsbCl9ZGlzcG9zZSgpe3RoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kuZGlzcG9zZSgpfWRldGFjaCgpe3RoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kuZGV0YWNoKCl9YXBwbHkoKXt0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LmFwcGx5KCl9cmVjYWxjdWxhdGVMYXN0UG9zaXRpb24oKXt0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LnJlYXBwbHlMYXN0UG9zaXRpb24oKX13aXRoU2Nyb2xsYWJsZUNvbnRhaW5lcnModCl7dGhpcy5fcG9zaXRpb25TdHJhdGVneS53aXRoU2Nyb2xsYWJsZUNvbnRhaW5lcnModCl9d2l0aEZhbGxiYWNrUG9zaXRpb24odCxlLG4sbyl7Y29uc3QgaT1uZXcga0IodCxlLG4sbyk7cmV0dXJuIHRoaXMuX3ByZWZlcnJlZFBvc2l0aW9ucy5wdXNoKGkpLHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kud2l0aFBvc2l0aW9ucyh0aGlzLl9wcmVmZXJyZWRQb3NpdGlvbnMpLHRoaXN9d2l0aERpcmVjdGlvbih0KXtyZXR1cm4gdGhpcy5fb3ZlcmxheVJlZj90aGlzLl9vdmVybGF5UmVmLnNldERpcmVjdGlvbih0KTp0aGlzLl9kaXJlY3Rpb249dCx0aGlzfXdpdGhPZmZzZXRYKHQpe3JldHVybiB0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LndpdGhEZWZhdWx0T2Zmc2V0WCh0KSx0aGlzfXdpdGhPZmZzZXRZKHQpe3JldHVybiB0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LndpdGhEZWZhdWx0T2Zmc2V0WSh0KSx0aGlzfXdpdGhMb2NrZWRQb3NpdGlvbih0KXtyZXR1cm4gdGhpcy5fcG9zaXRpb25TdHJhdGVneS53aXRoTG9ja2VkUG9zaXRpb24odCksdGhpc313aXRoUG9zaXRpb25zKHQpe3JldHVybiB0aGlzLl9wcmVmZXJyZWRQb3NpdGlvbnM9dC5zbGljZSgpLHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kud2l0aFBvc2l0aW9ucyh0aGlzLl9wcmVmZXJyZWRQb3NpdGlvbnMpLHRoaXN9c2V0T3JpZ2luKHQpe3JldHVybiB0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LnNldE9yaWdpbih0KSx0aGlzfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgWUI9ImNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIjtjbGFzcyBxQntjb25zdHJ1Y3Rvcigpe3RoaXMuX2Nzc1Bvc2l0aW9uPSJzdGF0aWMiLHRoaXMuX3RvcE9mZnNldD0iIix0aGlzLl9ib3R0b21PZmZzZXQ9IiIsdGhpcy5fbGVmdE9mZnNldD0iIix0aGlzLl9yaWdodE9mZnNldD0iIix0aGlzLl9hbGlnbkl0ZW1zPSIiLHRoaXMuX2p1c3RpZnlDb250ZW50PSIiLHRoaXMuX3dpZHRoPSIiLHRoaXMuX2hlaWdodD0iIn1hdHRhY2godCl7Y29uc3QgZT10LmdldENvbmZpZygpO3RoaXMuX292ZXJsYXlSZWY9dCx0aGlzLl93aWR0aCYmIWUud2lkdGgmJnQudXBkYXRlU2l6ZSh7d2lkdGg6dGhpcy5fd2lkdGh9KSx0aGlzLl9oZWlnaHQmJiFlLmhlaWdodCYmdC51cGRhdGVTaXplKHtoZWlnaHQ6dGhpcy5faGVpZ2h0fSksdC5ob3N0RWxlbWVudC5jbGFzc0xpc3QuYWRkKFlCKSx0aGlzLl9pc0Rpc3Bvc2VkPSExfXRvcCh0PSIiKXtyZXR1cm4gdGhpcy5fYm90dG9tT2Zmc2V0PSIiLHRoaXMuX3RvcE9mZnNldD10LHRoaXMuX2FsaWduSXRlbXM9ImZsZXgtc3RhcnQiLHRoaXN9bGVmdCh0PSIiKXtyZXR1cm4gdGhpcy5fcmlnaHRPZmZzZXQ9IiIsdGhpcy5fbGVmdE9mZnNldD10LHRoaXMuX2p1c3RpZnlDb250ZW50PSJmbGV4LXN0YXJ0Iix0aGlzfWJvdHRvbSh0PSIiKXtyZXR1cm4gdGhpcy5fdG9wT2Zmc2V0PSIiLHRoaXMuX2JvdHRvbU9mZnNldD10LHRoaXMuX2FsaWduSXRlbXM9ImZsZXgtZW5kIix0aGlzfXJpZ2h0KHQ9IiIpe3JldHVybiB0aGlzLl9sZWZ0T2Zmc2V0PSIiLHRoaXMuX3JpZ2h0T2Zmc2V0PXQsdGhpcy5fanVzdGlmeUNvbnRlbnQ9ImZsZXgtZW5kIix0aGlzfXdpZHRoKHQ9IiIpe3JldHVybiB0aGlzLl9vdmVybGF5UmVmP3RoaXMuX292ZXJsYXlSZWYudXBkYXRlU2l6ZSh7d2lkdGg6dH0pOnRoaXMuX3dpZHRoPXQsdGhpc31oZWlnaHQodD0iIil7cmV0dXJuIHRoaXMuX292ZXJsYXlSZWY/dGhpcy5fb3ZlcmxheVJlZi51cGRhdGVTaXplKHtoZWlnaHQ6dH0pOnRoaXMuX2hlaWdodD10LHRoaXN9Y2VudGVySG9yaXpvbnRhbGx5KHQ9IiIpe3JldHVybiB0aGlzLmxlZnQodCksdGhpcy5fanVzdGlmeUNvbnRlbnQ9ImNlbnRlciIsdGhpc31jZW50ZXJWZXJ0aWNhbGx5KHQ9IiIpe3JldHVybiB0aGlzLnRvcCh0KSx0aGlzLl9hbGlnbkl0ZW1zPSJjZW50ZXIiLHRoaXN9YXBwbHkoKXtpZighdGhpcy5fb3ZlcmxheVJlZnx8IXRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSlyZXR1cm47Y29uc3QgdD10aGlzLl9vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LnN0eWxlLGU9dGhpcy5fb3ZlcmxheVJlZi5ob3N0RWxlbWVudC5zdHlsZSxuPXRoaXMuX292ZXJsYXlSZWYuZ2V0Q29uZmlnKCkse3dpZHRoOm8saGVpZ2h0OmksbWF4V2lkdGg6YSxtYXhIZWlnaHQ6cn09bixzPSEoIjEwMCUiIT09byYmIjEwMHZ3IiE9PW98fGEmJiIxMDAlIiE9PWEmJiIxMDB2dyIhPT1hKSxsPSEoIjEwMCUiIT09aSYmIjEwMHZoIiE9PWl8fHImJiIxMDAlIiE9PXImJiIxMDB2aCIhPT1yKTt0LnBvc2l0aW9uPXRoaXMuX2Nzc1Bvc2l0aW9uLHQubWFyZ2luTGVmdD1zPyIwIjp0aGlzLl9sZWZ0T2Zmc2V0LHQubWFyZ2luVG9wPWw/IjAiOnRoaXMuX3RvcE9mZnNldCx0Lm1hcmdpbkJvdHRvbT10aGlzLl9ib3R0b21PZmZzZXQsdC5tYXJnaW5SaWdodD10aGlzLl9yaWdodE9mZnNldCxzP2UuanVzdGlmeUNvbnRlbnQ9ImZsZXgtc3RhcnQiOiJjZW50ZXIiPT09dGhpcy5fanVzdGlmeUNvbnRlbnQ/ZS5qdXN0aWZ5Q29udGVudD0iY2VudGVyIjoicnRsIj09PXRoaXMuX292ZXJsYXlSZWYuZ2V0Q29uZmlnKCkuZGlyZWN0aW9uPyJmbGV4LXN0YXJ0Ij09PXRoaXMuX2p1c3RpZnlDb250ZW50P2UuanVzdGlmeUNvbnRlbnQ9ImZsZXgtZW5kIjoiZmxleC1lbmQiPT09dGhpcy5fanVzdGlmeUNvbnRlbnQmJihlLmp1c3RpZnlDb250ZW50PSJmbGV4LXN0YXJ0Iik6ZS5qdXN0aWZ5Q29udGVudD10aGlzLl9qdXN0aWZ5Q29udGVudCxlLmFsaWduSXRlbXM9bD8iZmxleC1zdGFydCI6dGhpcy5fYWxpZ25JdGVtc31kaXNwb3NlKCl7aWYodGhpcy5faXNEaXNwb3NlZHx8IXRoaXMuX292ZXJsYXlSZWYpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fb3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5zdHlsZSxlPXRoaXMuX292ZXJsYXlSZWYuaG9zdEVsZW1lbnQsbj1lLnN0eWxlO2UuY2xhc3NMaXN0LnJlbW92ZShZQiksbi5qdXN0aWZ5Q29udGVudD1uLmFsaWduSXRlbXM9dC5tYXJnaW5Ub3A9dC5tYXJnaW5Cb3R0b209dC5tYXJnaW5MZWZ0PXQubWFyZ2luUmlnaHQ9dC5wb3NpdGlvbj0iIix0aGlzLl9vdmVybGF5UmVmPW51bGwsdGhpcy5faXNEaXNwb3NlZD0hMH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NsYXNzIFpCe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX3ZpZXdwb3J0UnVsZXI9dCx0aGlzLl9kb2N1bWVudD1lLHRoaXMuX3BsYXRmb3JtPW4sdGhpcy5fb3ZlcmxheUNvbnRhaW5lcj1vfWdsb2JhbCgpe3JldHVybiBuZXcgcUJ9Y29ubmVjdGVkVG8odCxlLG4pe3JldHVybiBuZXcgR0IoZSxuLHQsdGhpcy5fdmlld3BvcnRSdWxlcix0aGlzLl9kb2N1bWVudCx0aGlzLl9wbGF0Zm9ybSx0aGlzLl9vdmVybGF5Q29udGFpbmVyKX1mbGV4aWJsZUNvbm5lY3RlZFRvKHQpe3JldHVybiBuZXcgVkIodCx0aGlzLl92aWV3cG9ydFJ1bGVyLHRoaXMuX2RvY3VtZW50LHRoaXMuX3BsYXRmb3JtLHRoaXMuX292ZXJsYXlDb250YWluZXIpfX1aQi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WkIpKFRyKFFMKSxUcihzTSksVHIoY0gpLFRyKEhCKSl9LFpCLsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyBaQihUcihRTCksVHIoc00pLFRyKGNIKSxUcihIQikpfSx0b2tlbjpaQixwcm92aWRlZEluOiJyb290In0pLFpCLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6UUx9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6Y0h9LHt0eXBlOkhCfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihaQixbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UUx9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6Y0h9LHt0eXBlOkhCfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBYQj0wO2NsYXNzIEtCe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMsZCl7dGhpcy5zY3JvbGxTdHJhdGVnaWVzPXQsdGhpcy5fb3ZlcmxheUNvbnRhaW5lcj1lLHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj1uLHRoaXMuX3Bvc2l0aW9uQnVpbGRlcj1vLHRoaXMuX2tleWJvYXJkRGlzcGF0Y2hlcj1pLHRoaXMuX2luamVjdG9yPWEsdGhpcy5fbmdab25lPXIsdGhpcy5fZG9jdW1lbnQ9cyx0aGlzLl9kaXJlY3Rpb25hbGl0eT1sLHRoaXMuX2xvY2F0aW9uPWMsdGhpcy5fb3V0c2lkZUNsaWNrRGlzcGF0Y2hlcj1kfWNyZWF0ZSh0KXtjb25zdCBlPXRoaXMuX2NyZWF0ZUhvc3RFbGVtZW50KCksbj10aGlzLl9jcmVhdGVQYW5lRWxlbWVudChlKSxvPXRoaXMuX2NyZWF0ZVBvcnRhbE91dGxldChuKSxpPW5ldyB3Qih0KTtyZXR1cm4gaS5kaXJlY3Rpb249aS5kaXJlY3Rpb258fHRoaXMuX2RpcmVjdGlvbmFsaXR5LnZhbHVlLG5ldyBGQihvLGUsbixpLHRoaXMuX25nWm9uZSx0aGlzLl9rZXlib2FyZERpc3BhdGNoZXIsdGhpcy5fZG9jdW1lbnQsdGhpcy5fbG9jYXRpb24sdGhpcy5fb3V0c2lkZUNsaWNrRGlzcGF0Y2hlcil9cG9zaXRpb24oKXtyZXR1cm4gdGhpcy5fcG9zaXRpb25CdWlsZGVyfV9jcmVhdGVQYW5lRWxlbWVudCh0KXtjb25zdCBlPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBlLmlkPSJjZGstb3ZlcmxheS0iK1hCKyssZS5jbGFzc0xpc3QuYWRkKCJjZGstb3ZlcmxheS1wYW5lIiksdC5hcHBlbmRDaGlsZChlKSxlfV9jcmVhdGVIb3N0RWxlbWVudCgpe2NvbnN0IHQ9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHRoaXMuX292ZXJsYXlDb250YWluZXIuZ2V0Q29udGFpbmVyRWxlbWVudCgpLmFwcGVuZENoaWxkKHQpLHR9X2NyZWF0ZVBvcnRhbE91dGxldCh0KXtyZXR1cm4gdGhpcy5fYXBwUmVmfHwodGhpcy5fYXBwUmVmPXRoaXMuX2luamVjdG9yLmdldChIQykpLG5ldyBwQih0LHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcix0aGlzLl9hcHBSZWYsdGhpcy5faW5qZWN0b3IsdGhpcy5fZG9jdW1lbnQpfX1LQi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8S0IpKFRyKFBCKSxUcihIQiksVHIoR2gpLFRyKFpCKSxUcihUQiksVHIoTnApLFRyKG1DKSxUcihzTSksVHIodkYpLFRyKE1NKSxUcihOQikpfSxLQi7JtXByb3Y9U24oe3Rva2VuOktCLGZhY3Rvcnk6S0IuybVmYWN9KSxLQi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlBCfSx7dHlwZTpIQn0se3R5cGU6R2h9LHt0eXBlOlpCfSx7dHlwZTpUQn0se3R5cGU6TnB9LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOnZGfSx7dHlwZTpNTX0se3R5cGU6TkJ9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEtCLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpQQn0se3R5cGU6SEJ9LHt0eXBlOkdofSx7dHlwZTpaQn0se3R5cGU6VEJ9LHt0eXBlOk5wfSx7dHlwZTptQ30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTp2Rn0se3R5cGU6TU19LHt0eXBlOk5CfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IEpCPVt7b3JpZ2luWDoic3RhcnQiLG9yaWdpblk6ImJvdHRvbSIsb3ZlcmxheVg6InN0YXJ0IixvdmVybGF5WToidG9wIn0se29yaWdpblg6InN0YXJ0IixvcmlnaW5ZOiJ0b3AiLG92ZXJsYXlYOiJzdGFydCIsb3ZlcmxheVk6ImJvdHRvbSJ9LHtvcmlnaW5YOiJlbmQiLG9yaWdpblk6InRvcCIsb3ZlcmxheVg6ImVuZCIsb3ZlcmxheVk6ImJvdHRvbSJ9LHtvcmlnaW5YOiJlbmQiLG9yaWdpblk6ImJvdHRvbSIsb3ZlcmxheVg6ImVuZCIsb3ZlcmxheVk6InRvcCJ9XSxRQj1uZXcgZXIoImNkay1jb25uZWN0ZWQtb3ZlcmxheS1zY3JvbGwtc3RyYXRlZ3kiKTtjbGFzcyAkQntjb25zdHJ1Y3Rvcih0KXt0aGlzLmVsZW1lbnRSZWY9dH19JEIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fCRCKShnZihLaCkpfSwkQi7JtWRpcj1obyh7dHlwZTokQixzZWxlY3RvcnM6W1siIiwiY2RrLW92ZXJsYXktb3JpZ2luIiwiIl0sWyIiLCJvdmVybGF5LW9yaWdpbiIsIiJdLFsiIiwiY2RrT3ZlcmxheU9yaWdpbiIsIiJdXSxleHBvcnRBczpbImNka092ZXJsYXlPcmlnaW4iXX0pLCRCLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKCRCLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGstb3ZlcmxheS1vcmlnaW5dLCBbb3ZlcmxheS1vcmlnaW5dLCBbY2RrT3ZlcmxheU9yaWdpbl0iLGV4cG9ydEFzOiJjZGtPdmVybGF5T3JpZ2luIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofV19KSxudWxsKTtjbGFzcyB0Vntjb25zdHJ1Y3Rvcih0LGUsbixvLGkpe3RoaXMuX292ZXJsYXk9dCx0aGlzLl9kaXI9aSx0aGlzLl9oYXNCYWNrZHJvcD0hMSx0aGlzLl9sb2NrUG9zaXRpb249ITEsdGhpcy5fZ3Jvd0FmdGVyT3Blbj0hMSx0aGlzLl9mbGV4aWJsZURpbWVuc2lvbnM9ITEsdGhpcy5fcHVzaD0hMSx0aGlzLl9iYWNrZHJvcFN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX2F0dGFjaFN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX2RldGFjaFN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX3Bvc2l0aW9uU3Vic2NyaXB0aW9uPXUuRU1QVFksdGhpcy52aWV3cG9ydE1hcmdpbj0wLHRoaXMub3Blbj0hMSx0aGlzLmRpc2FibGVDbG9zZT0hMSx0aGlzLmJhY2tkcm9wQ2xpY2s9bmV3IFN5LHRoaXMucG9zaXRpb25DaGFuZ2U9bmV3IFN5LHRoaXMuYXR0YWNoPW5ldyBTeSx0aGlzLmRldGFjaD1uZXcgU3ksdGhpcy5vdmVybGF5S2V5ZG93bj1uZXcgU3ksdGhpcy5vdmVybGF5T3V0c2lkZUNsaWNrPW5ldyBTeSx0aGlzLl90ZW1wbGF0ZVBvcnRhbD1uZXcgbEIoZSxuKSx0aGlzLl9zY3JvbGxTdHJhdGVneUZhY3Rvcnk9byx0aGlzLnNjcm9sbFN0cmF0ZWd5PXRoaXMuX3Njcm9sbFN0cmF0ZWd5RmFjdG9yeSgpfWdldCBvZmZzZXRYKCl7cmV0dXJuIHRoaXMuX29mZnNldFh9c2V0IG9mZnNldFgodCl7dGhpcy5fb2Zmc2V0WD10LHRoaXMuX3Bvc2l0aW9uJiZ0aGlzLl91cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRoaXMuX3Bvc2l0aW9uKX1nZXQgb2Zmc2V0WSgpe3JldHVybiB0aGlzLl9vZmZzZXRZfXNldCBvZmZzZXRZKHQpe3RoaXMuX29mZnNldFk9dCx0aGlzLl9wb3NpdGlvbiYmdGhpcy5fdXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLl9wb3NpdGlvbil9Z2V0IGhhc0JhY2tkcm9wKCl7cmV0dXJuIHRoaXMuX2hhc0JhY2tkcm9wfXNldCBoYXNCYWNrZHJvcCh0KXt0aGlzLl9oYXNCYWNrZHJvcD1lSCh0KX1nZXQgbG9ja1Bvc2l0aW9uKCl7cmV0dXJuIHRoaXMuX2xvY2tQb3NpdGlvbn1zZXQgbG9ja1Bvc2l0aW9uKHQpe3RoaXMuX2xvY2tQb3NpdGlvbj1lSCh0KX1nZXQgZmxleGlibGVEaW1lbnNpb25zKCl7cmV0dXJuIHRoaXMuX2ZsZXhpYmxlRGltZW5zaW9uc31zZXQgZmxleGlibGVEaW1lbnNpb25zKHQpe3RoaXMuX2ZsZXhpYmxlRGltZW5zaW9ucz1lSCh0KX1nZXQgZ3Jvd0FmdGVyT3Blbigpe3JldHVybiB0aGlzLl9ncm93QWZ0ZXJPcGVufXNldCBncm93QWZ0ZXJPcGVuKHQpe3RoaXMuX2dyb3dBZnRlck9wZW49ZUgodCl9Z2V0IHB1c2goKXtyZXR1cm4gdGhpcy5fcHVzaH1zZXQgcHVzaCh0KXt0aGlzLl9wdXNoPWVIKHQpfWdldCBvdmVybGF5UmVmKCl7cmV0dXJuIHRoaXMuX292ZXJsYXlSZWZ9Z2V0IGRpcigpe3JldHVybiB0aGlzLl9kaXI/dGhpcy5fZGlyLnZhbHVlOiJsdHIifW5nT25EZXN0cm95KCl7dGhpcy5fYXR0YWNoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fZGV0YWNoU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9wb3NpdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuX292ZXJsYXlSZWYmJnRoaXMuX292ZXJsYXlSZWYuZGlzcG9zZSgpfW5nT25DaGFuZ2VzKHQpe3RoaXMuX3Bvc2l0aW9uJiYodGhpcy5fdXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLl9wb3NpdGlvbiksdGhpcy5fb3ZlcmxheVJlZi51cGRhdGVTaXplKHt3aWR0aDp0aGlzLndpZHRoLG1pbldpZHRoOnRoaXMubWluV2lkdGgsaGVpZ2h0OnRoaXMuaGVpZ2h0LG1pbkhlaWdodDp0aGlzLm1pbkhlaWdodH0pLHQub3JpZ2luJiZ0aGlzLm9wZW4mJnRoaXMuX3Bvc2l0aW9uLmFwcGx5KCkpLHQub3BlbiYmKHRoaXMub3Blbj90aGlzLl9hdHRhY2hPdmVybGF5KCk6dGhpcy5fZGV0YWNoT3ZlcmxheSgpKX1fY3JlYXRlT3ZlcmxheSgpe3RoaXMucG9zaXRpb25zJiZ0aGlzLnBvc2l0aW9ucy5sZW5ndGh8fCh0aGlzLnBvc2l0aW9ucz1KQik7Y29uc3QgdD10aGlzLl9vdmVybGF5UmVmPXRoaXMuX292ZXJsYXkuY3JlYXRlKHRoaXMuX2J1aWxkQ29uZmlnKCkpO3RoaXMuX2F0dGFjaFN1YnNjcmlwdGlvbj10LmF0dGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgoKT0+dGhpcy5hdHRhY2guZW1pdCgpKSksdGhpcy5fZGV0YWNoU3Vic2NyaXB0aW9uPXQuZGV0YWNobWVudHMoKS5zdWJzY3JpYmUoKCgpPT50aGlzLmRldGFjaC5lbWl0KCkpKSx0LmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLm92ZXJsYXlLZXlkb3duLm5leHQodCksdC5rZXlDb2RlIT09S0l8fHRoaXMuZGlzYWJsZUNsb3NlfHx0SCh0KXx8KHQucHJldmVudERlZmF1bHQoKSx0aGlzLl9kZXRhY2hPdmVybGF5KCkpfSkpLHRoaXMuX292ZXJsYXlSZWYub3V0c2lkZVBvaW50ZXJFdmVudHMoKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLm92ZXJsYXlPdXRzaWRlQ2xpY2submV4dCh0KX0pKX1fYnVpbGRDb25maWcoKXtjb25zdCB0PXRoaXMuX3Bvc2l0aW9uPXRoaXMucG9zaXRpb25TdHJhdGVneXx8dGhpcy5fY3JlYXRlUG9zaXRpb25TdHJhdGVneSgpLGU9bmV3IHdCKHtkaXJlY3Rpb246dGhpcy5fZGlyLHBvc2l0aW9uU3RyYXRlZ3k6dCxzY3JvbGxTdHJhdGVneTp0aGlzLnNjcm9sbFN0cmF0ZWd5LGhhc0JhY2tkcm9wOnRoaXMuaGFzQmFja2Ryb3B9KTtyZXR1cm4odGhpcy53aWR0aHx8MD09PXRoaXMud2lkdGgpJiYoZS53aWR0aD10aGlzLndpZHRoKSwodGhpcy5oZWlnaHR8fDA9PT10aGlzLmhlaWdodCkmJihlLmhlaWdodD10aGlzLmhlaWdodCksKHRoaXMubWluV2lkdGh8fDA9PT10aGlzLm1pbldpZHRoKSYmKGUubWluV2lkdGg9dGhpcy5taW5XaWR0aCksKHRoaXMubWluSGVpZ2h0fHwwPT09dGhpcy5taW5IZWlnaHQpJiYoZS5taW5IZWlnaHQ9dGhpcy5taW5IZWlnaHQpLHRoaXMuYmFja2Ryb3BDbGFzcyYmKGUuYmFja2Ryb3BDbGFzcz10aGlzLmJhY2tkcm9wQ2xhc3MpLHRoaXMucGFuZWxDbGFzcyYmKGUucGFuZWxDbGFzcz10aGlzLnBhbmVsQ2xhc3MpLGV9X3VwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodCl7Y29uc3QgZT10aGlzLnBvc2l0aW9ucy5tYXAoKHQ9Pih7b3JpZ2luWDp0Lm9yaWdpblgsb3JpZ2luWTp0Lm9yaWdpblksb3ZlcmxheVg6dC5vdmVybGF5WCxvdmVybGF5WTp0Lm92ZXJsYXlZLG9mZnNldFg6dC5vZmZzZXRYfHx0aGlzLm9mZnNldFgsb2Zmc2V0WTp0Lm9mZnNldFl8fHRoaXMub2Zmc2V0WSxwYW5lbENsYXNzOnQucGFuZWxDbGFzc3x8dm9pZCAwfSkpKTtyZXR1cm4gdC5zZXRPcmlnaW4odGhpcy5vcmlnaW4uZWxlbWVudFJlZikud2l0aFBvc2l0aW9ucyhlKS53aXRoRmxleGlibGVEaW1lbnNpb25zKHRoaXMuZmxleGlibGVEaW1lbnNpb25zKS53aXRoUHVzaCh0aGlzLnB1c2gpLndpdGhHcm93QWZ0ZXJPcGVuKHRoaXMuZ3Jvd0FmdGVyT3Blbikud2l0aFZpZXdwb3J0TWFyZ2luKHRoaXMudmlld3BvcnRNYXJnaW4pLndpdGhMb2NrZWRQb3NpdGlvbih0aGlzLmxvY2tQb3NpdGlvbikud2l0aFRyYW5zZm9ybU9yaWdpbk9uKHRoaXMudHJhbnNmb3JtT3JpZ2luU2VsZWN0b3IpfV9jcmVhdGVQb3NpdGlvblN0cmF0ZWd5KCl7Y29uc3QgdD10aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLm9yaWdpbi5lbGVtZW50UmVmKTtyZXR1cm4gdGhpcy5fdXBkYXRlUG9zaXRpb25TdHJhdGVneSh0KSx0fV9hdHRhY2hPdmVybGF5KCl7dGhpcy5fb3ZlcmxheVJlZj90aGlzLl9vdmVybGF5UmVmLmdldENvbmZpZygpLmhhc0JhY2tkcm9wPXRoaXMuaGFzQmFja2Ryb3A6dGhpcy5fY3JlYXRlT3ZlcmxheSgpLHRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKXx8dGhpcy5fb3ZlcmxheVJlZi5hdHRhY2godGhpcy5fdGVtcGxhdGVQb3J0YWwpLHRoaXMuaGFzQmFja2Ryb3A/dGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb249dGhpcy5fb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCh0PT57dGhpcy5iYWNrZHJvcENsaWNrLmVtaXQodCl9KSk6dGhpcy5fYmFja2Ryb3BTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9wb3NpdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMucG9zaXRpb25DaGFuZ2Uub2JzZXJ2ZXJzLmxlbmd0aD4wJiYodGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb249dGhpcy5fcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnBpcGUoVWUoKCgpPT50aGlzLnBvc2l0aW9uQ2hhbmdlLm9ic2VydmVycy5sZW5ndGg+MCkpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLnBvc2l0aW9uQ2hhbmdlLmVtaXQodCksMD09PXRoaXMucG9zaXRpb25DaGFuZ2Uub2JzZXJ2ZXJzLmxlbmd0aCYmdGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX0pKSl9X2RldGFjaE92ZXJsYXkoKXt0aGlzLl9vdmVybGF5UmVmJiZ0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpLHRoaXMuX2JhY2tkcm9wU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fcG9zaXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX19dFYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHRWKShnZihLQiksZ2YoRWIpLGdmKEZiKSxnZihRQiksZ2YodkYsOCkpfSx0Vi7JtWRpcj1obyh7dHlwZTp0VixzZWxlY3RvcnM6W1siIiwiY2RrLWNvbm5lY3RlZC1vdmVybGF5IiwiIl0sWyIiLCJjb25uZWN0ZWQtb3ZlcmxheSIsIiJdLFsiIiwiY2RrQ29ubmVjdGVkT3ZlcmxheSIsIiJdXSxpbnB1dHM6e3ZpZXdwb3J0TWFyZ2luOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVZpZXdwb3J0TWFyZ2luIiwidmlld3BvcnRNYXJnaW4iXSxvcGVuOlsiY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW4iLCJvcGVuIl0sZGlzYWJsZUNsb3NlOlsiY2RrQ29ubmVjdGVkT3ZlcmxheURpc2FibGVDbG9zZSIsImRpc2FibGVDbG9zZSJdLHNjcm9sbFN0cmF0ZWd5OlsiY2RrQ29ubmVjdGVkT3ZlcmxheVNjcm9sbFN0cmF0ZWd5Iiwic2Nyb2xsU3RyYXRlZ3kiXSxvZmZzZXRYOlsiY2RrQ29ubmVjdGVkT3ZlcmxheU9mZnNldFgiLCJvZmZzZXRYIl0sb2Zmc2V0WTpbImNka0Nvbm5lY3RlZE92ZXJsYXlPZmZzZXRZIiwib2Zmc2V0WSJdLGhhc0JhY2tkcm9wOlsiY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wIiwiaGFzQmFja2Ryb3AiXSxsb2NrUG9zaXRpb246WyJjZGtDb25uZWN0ZWRPdmVybGF5TG9ja1Bvc2l0aW9uIiwibG9ja1Bvc2l0aW9uIl0sZmxleGlibGVEaW1lbnNpb25zOlsiY2RrQ29ubmVjdGVkT3ZlcmxheUZsZXhpYmxlRGltZW5zaW9ucyIsImZsZXhpYmxlRGltZW5zaW9ucyJdLGdyb3dBZnRlck9wZW46WyJjZGtDb25uZWN0ZWRPdmVybGF5R3Jvd0FmdGVyT3BlbiIsImdyb3dBZnRlck9wZW4iXSxwdXNoOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVB1c2giLCJwdXNoIl0scG9zaXRpb25zOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9ucyIsInBvc2l0aW9ucyJdLG9yaWdpbjpbImNka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW4iLCJvcmlnaW4iXSxwb3NpdGlvblN0cmF0ZWd5OlsiY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3kiLCJwb3NpdGlvblN0cmF0ZWd5Il0sd2lkdGg6WyJjZGtDb25uZWN0ZWRPdmVybGF5V2lkdGgiLCJ3aWR0aCJdLGhlaWdodDpbImNka0Nvbm5lY3RlZE92ZXJsYXlIZWlnaHQiLCJoZWlnaHQiXSxtaW5XaWR0aDpbImNka0Nvbm5lY3RlZE92ZXJsYXlNaW5XaWR0aCIsIm1pbldpZHRoIl0sbWluSGVpZ2h0OlsiY2RrQ29ubmVjdGVkT3ZlcmxheU1pbkhlaWdodCIsIm1pbkhlaWdodCJdLGJhY2tkcm9wQ2xhc3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcyIsImJhY2tkcm9wQ2xhc3MiXSxwYW5lbENsYXNzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVBhbmVsQ2xhc3MiLCJwYW5lbENsYXNzIl0sdHJhbnNmb3JtT3JpZ2luU2VsZWN0b3I6WyJjZGtDb25uZWN0ZWRPdmVybGF5VHJhbnNmb3JtT3JpZ2luT24iLCJ0cmFuc2Zvcm1PcmlnaW5TZWxlY3RvciJdfSxvdXRwdXRzOntiYWNrZHJvcENsaWNrOiJiYWNrZHJvcENsaWNrIixwb3NpdGlvbkNoYW5nZToicG9zaXRpb25DaGFuZ2UiLGF0dGFjaDoiYXR0YWNoIixkZXRhY2g6ImRldGFjaCIsb3ZlcmxheUtleWRvd246Im92ZXJsYXlLZXlkb3duIixvdmVybGF5T3V0c2lkZUNsaWNrOiJvdmVybGF5T3V0c2lkZUNsaWNrIn0sZXhwb3J0QXM6WyJjZGtDb25uZWN0ZWRPdmVybGF5Il0sZmVhdHVyZXM6W3FvXX0pLHRWLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S0J9LHt0eXBlOkVifSx7dHlwZTpGYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1FCXX1dfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfV0sdFYucHJvcERlY29yYXRvcnM9e29yaWdpbjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW4iXX1dLHBvc2l0aW9uczpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnMiXX1dLHBvc2l0aW9uU3RyYXRlZ3k6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25TdHJhdGVneSJdfV0sb2Zmc2V0WDpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlPZmZzZXRYIl19XSxvZmZzZXRZOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheU9mZnNldFkiXX1dLHdpZHRoOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVdpZHRoIl19XSxoZWlnaHQ6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5SGVpZ2h0Il19XSxtaW5XaWR0aDpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlNaW5XaWR0aCJdfV0sbWluSGVpZ2h0Olt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheU1pbkhlaWdodCJdfV0sYmFja2Ryb3BDbGFzczpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlCYWNrZHJvcENsYXNzIl19XSxwYW5lbENsYXNzOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVBhbmVsQ2xhc3MiXX1dLHZpZXdwb3J0TWFyZ2luOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVZpZXdwb3J0TWFyZ2luIl19XSxzY3JvbGxTdHJhdGVneTpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneSJdfV0sb3Blbjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlPcGVuIl19XSxkaXNhYmxlQ2xvc2U6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5RGlzYWJsZUNsb3NlIl19XSx0cmFuc2Zvcm1PcmlnaW5TZWxlY3Rvcjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlUcmFuc2Zvcm1PcmlnaW5PbiJdfV0saGFzQmFja2Ryb3A6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3AiXX1dLGxvY2tQb3NpdGlvbjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlMb2NrUG9zaXRpb24iXX1dLGZsZXhpYmxlRGltZW5zaW9uczpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlGbGV4aWJsZURpbWVuc2lvbnMiXX1dLGdyb3dBZnRlck9wZW46W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5R3Jvd0FmdGVyT3BlbiJdfV0scHVzaDpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlQdXNoIl19XSxiYWNrZHJvcENsaWNrOlt7dHlwZTpFX31dLHBvc2l0aW9uQ2hhbmdlOlt7dHlwZTpFX31dLGF0dGFjaDpbe3R5cGU6RV99XSxkZXRhY2g6W3t0eXBlOkVffV0sb3ZlcmxheUtleWRvd246W3t0eXBlOkVffV0sb3ZlcmxheU91dHNpZGVDbGljazpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih0Vixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbY2RrLWNvbm5lY3RlZC1vdmVybGF5XSwgW2Nvbm5lY3RlZC1vdmVybGF5XSwgW2Nka0Nvbm5lY3RlZE92ZXJsYXldIixleHBvcnRBczoiY2RrQ29ubmVjdGVkT3ZlcmxheSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLQn0se3R5cGU6RWJ9LHt0eXBlOkZifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbUUJdfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19XX0pLHt2aWV3cG9ydE1hcmdpbjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlWaWV3cG9ydE1hcmdpbiJdfV0sb3Blbjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlPcGVuIl19XSxkaXNhYmxlQ2xvc2U6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5RGlzYWJsZUNsb3NlIl19XSxiYWNrZHJvcENsaWNrOlt7dHlwZTpFX31dLHBvc2l0aW9uQ2hhbmdlOlt7dHlwZTpFX31dLGF0dGFjaDpbe3R5cGU6RV99XSxkZXRhY2g6W3t0eXBlOkVffV0sb3ZlcmxheUtleWRvd246W3t0eXBlOkVffV0sb3ZlcmxheU91dHNpZGVDbGljazpbe3R5cGU6RV99XSxzY3JvbGxTdHJhdGVneTpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneSJdfV0sb2Zmc2V0WDpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlPZmZzZXRYIl19XSxvZmZzZXRZOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheU9mZnNldFkiXX1dLGhhc0JhY2tkcm9wOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wIl19XSxsb2NrUG9zaXRpb246W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5TG9ja1Bvc2l0aW9uIl19XSxmbGV4aWJsZURpbWVuc2lvbnM6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zIl19XSxncm93QWZ0ZXJPcGVuOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheUdyb3dBZnRlck9wZW4iXX1dLHB1c2g6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5UHVzaCJdfV0scG9zaXRpb25zOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9ucyJdfV0sb3JpZ2luOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbiJdfV0scG9zaXRpb25TdHJhdGVneTpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5Il19XSx3aWR0aDpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlXaWR0aCJdfV0saGVpZ2h0Olt7dHlwZTpSXyxhcmdzOlsiY2RrQ29ubmVjdGVkT3ZlcmxheUhlaWdodCJdfV0sbWluV2lkdGg6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5TWluV2lkdGgiXX1dLG1pbkhlaWdodDpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlNaW5IZWlnaHQiXX1dLGJhY2tkcm9wQ2xhc3M6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcyJdfV0scGFuZWxDbGFzczpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzIl19XSx0cmFuc2Zvcm1PcmlnaW5TZWxlY3Rvcjpbe3R5cGU6Ul8sYXJnczpbImNka0Nvbm5lY3RlZE92ZXJsYXlUcmFuc2Zvcm1PcmlnaW5PbiJdfV19KTtjb25zdCBlVj17cHJvdmlkZTpRQixkZXBzOltLQl0sdXNlRmFjdG9yeTpmdW5jdGlvbiBuVih0KXtyZXR1cm4oKT0+dC5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKX19OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBvVnt9b1YuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG9WKX0sb1YuybVtb2Q9Zm8oe3R5cGU6b1Z9KSxvVi7JtWluaj1Ebih7cHJvdmlkZXJzOltLQixlVl0saW1wb3J0czpbW09GLGhCLGlCXSxpQl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG9WLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbT0YsaEIsaUJdLGV4cG9ydHM6W3RWLCRCLGlCXSxkZWNsYXJhdGlvbnM6W3RWLCRCXSxwcm92aWRlcnM6W0tCLGVWXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKG9WLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bdFYsJEJdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW09GLGhCLGlCXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVyblt0ViwkQixpQl19fSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgaVYgZXh0ZW5kcyBIQntjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSl9bmdPbkRlc3Ryb3koKXtzdXBlci5uZ09uRGVzdHJveSgpLHRoaXMuX2Z1bGxTY3JlZW5FdmVudE5hbWUmJnRoaXMuX2Z1bGxTY3JlZW5MaXN0ZW5lciYmdGhpcy5fZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLl9mdWxsU2NyZWVuRXZlbnROYW1lLHRoaXMuX2Z1bGxTY3JlZW5MaXN0ZW5lcil9X2NyZWF0ZUNvbnRhaW5lcigpe3N1cGVyLl9jcmVhdGVDb250YWluZXIoKSx0aGlzLl9hZGp1c3RQYXJlbnRGb3JGdWxsc2NyZWVuQ2hhbmdlKCksdGhpcy5fYWRkRnVsbHNjcmVlbkNoYW5nZUxpc3RlbmVyKCgoKT0+dGhpcy5fYWRqdXN0UGFyZW50Rm9yRnVsbHNjcmVlbkNoYW5nZSgpKSl9X2FkanVzdFBhcmVudEZvckZ1bGxzY3JlZW5DaGFuZ2UoKXtpZighdGhpcy5fY29udGFpbmVyRWxlbWVudClyZXR1cm47KHRoaXMuZ2V0RnVsbHNjcmVlbkVsZW1lbnQoKXx8dGhpcy5fZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQodGhpcy5fY29udGFpbmVyRWxlbWVudCl9X2FkZEZ1bGxzY3JlZW5DaGFuZ2VMaXN0ZW5lcih0KXtjb25zdCBlPXRoaXMuX2dldEV2ZW50TmFtZSgpO2UmJih0aGlzLl9mdWxsU2NyZWVuTGlzdGVuZXImJnRoaXMuX2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0aGlzLl9mdWxsU2NyZWVuTGlzdGVuZXIpLHRoaXMuX2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoZSx0KSx0aGlzLl9mdWxsU2NyZWVuTGlzdGVuZXI9dCl9X2dldEV2ZW50TmFtZSgpe2lmKCF0aGlzLl9mdWxsU2NyZWVuRXZlbnROYW1lKXtjb25zdCB0PXRoaXMuX2RvY3VtZW50O3QuZnVsbHNjcmVlbkVuYWJsZWQ/dGhpcy5fZnVsbFNjcmVlbkV2ZW50TmFtZT0iZnVsbHNjcmVlbmNoYW5nZSI6dC53ZWJraXRGdWxsc2NyZWVuRW5hYmxlZD90aGlzLl9mdWxsU2NyZWVuRXZlbnROYW1lPSJ3ZWJraXRmdWxsc2NyZWVuY2hhbmdlIjp0Lm1vekZ1bGxTY3JlZW5FbmFibGVkP3RoaXMuX2Z1bGxTY3JlZW5FdmVudE5hbWU9Im1vemZ1bGxzY3JlZW5jaGFuZ2UiOnQubXNGdWxsc2NyZWVuRW5hYmxlZCYmKHRoaXMuX2Z1bGxTY3JlZW5FdmVudE5hbWU9Ik1TRnVsbHNjcmVlbkNoYW5nZSIpfXJldHVybiB0aGlzLl9mdWxsU2NyZWVuRXZlbnROYW1lfWdldEZ1bGxzY3JlZW5FbGVtZW50KCl7Y29uc3QgdD10aGlzLl9kb2N1bWVudDtyZXR1cm4gdC5mdWxsc2NyZWVuRWxlbWVudHx8dC53ZWJraXRGdWxsc2NyZWVuRWxlbWVudHx8dC5tb3pGdWxsU2NyZWVuRWxlbWVudHx8dC5tc0Z1bGxzY3JlZW5FbGVtZW50fHxudWxsfX1pVi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aVYpKFRyKHNNKSxUcihjSCkpfSxpVi7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgaVYoVHIoc00pLFRyKGNIKSl9LHRva2VuOmlWLHByb3ZpZGVkSW46InJvb3QifSksaVYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOmNIfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihpVixbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpjSH1dfSksbnVsbCk7Y2xhc3MgYVZ7fWFWLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxhVil9LGFWLsm1bW9kPWZvKHt0eXBlOmFWfSksYVYuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoYVYsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCByVj1uZXcgU2V0O2xldCBzVjtjbGFzcyBsVntjb25zdHJ1Y3Rvcih0KXt0aGlzLl9wbGF0Zm9ybT10LHRoaXMuX21hdGNoTWVkaWE9dGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyJiZ3aW5kb3cubWF0Y2hNZWRpYT93aW5kb3cubWF0Y2hNZWRpYS5iaW5kKHdpbmRvdyk6Y1Z9bWF0Y2hNZWRpYSh0KXtyZXR1cm4gdGhpcy5fcGxhdGZvcm0uV0VCS0lUJiYoZnVuY3Rpb24gZSh0KXtpZihyVi5oYXModCkpcmV0dXJuO3RyeXtzVnx8KHNWPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIiksc1Yuc2V0QXR0cmlidXRlKCJ0eXBlIiwidGV4dC9jc3MiKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNWKSksc1Yuc2hlZXQmJihzVi5zaGVldC5pbnNlcnRSdWxlKGBAbWVkaWEgJHt0fSB7LmZ4LXF1ZXJ5LXRlc3R7IH19YCwwKSxyVi5hZGQodCkpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCl9fSkodCksdGhpcy5fbWF0Y2hNZWRpYSh0KX19ZnVuY3Rpb24gY1YodCl7cmV0dXJue21hdGNoZXM6ImFsbCI9PT10fHwiIj09PXQsbWVkaWE6dCxhZGRMaXN0ZW5lcjooKT0+e30scmVtb3ZlTGlzdGVuZXI6KCk9Pnt9fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovbFYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGxWKShUcihjSCkpfSxsVi7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgbFYoVHIoY0gpKX0sdG9rZW46bFYscHJvdmlkZWRJbjoicm9vdCJ9KSxsVi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOmNIfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihsVixbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6Y0h9XX0pLG51bGwpO2NsYXNzIGRWe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fbWVkaWFNYXRjaGVyPXQsdGhpcy5fem9uZT1lLHRoaXMuX3F1ZXJpZXM9bmV3IE1hcCx0aGlzLl9kZXN0cm95U3ViamVjdD1uZXcgQn1uZ09uRGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3lTdWJqZWN0Lm5leHQoKSx0aGlzLl9kZXN0cm95U3ViamVjdC5jb21wbGV0ZSgpfWlzTWF0Y2hlZCh0KXtyZXR1cm4gcFYoaUgodCkpLnNvbWUoKHQ9PnRoaXMuX3JlZ2lzdGVyUXVlcnkodCkubXFsLm1hdGNoZXMpKX1vYnNlcnZlKHQpe2xldCBlPUt0KHBWKGlIKHQpKS5tYXAoKHQ9PnRoaXMuX3JlZ2lzdGVyUXVlcnkodCkub2JzZXJ2YWJsZSkpKTtyZXR1cm4gZT1uZShlLnBpcGUodmUoMSkpLGUucGlwZShMZSgxKSxDZSgwKSkpLGUucGlwZShWdCgodD0+e2NvbnN0IGU9e21hdGNoZXM6ITEsYnJlYWtwb2ludHM6e319O3JldHVybiB0LmZvckVhY2goKCh7bWF0Y2hlczp0LHF1ZXJ5Om59KT0+e2UubWF0Y2hlcz1lLm1hdGNoZXN8fHQsZS5icmVha3BvaW50c1tuXT10fSkpLGV9KSkpfV9yZWdpc3RlclF1ZXJ5KHQpe2lmKHRoaXMuX3F1ZXJpZXMuaGFzKHQpKXJldHVybiB0aGlzLl9xdWVyaWVzLmdldCh0KTtjb25zdCBlPXRoaXMuX21lZGlhTWF0Y2hlci5tYXRjaE1lZGlhKHQpLG49e29ic2VydmFibGU6bmV3IFQoKHQ9Pntjb25zdCBuPWU9PnRoaXMuX3pvbmUucnVuKCgoKT0+dC5uZXh0KGUpKSk7cmV0dXJuIGUuYWRkTGlzdGVuZXIobiksKCk9PntlLnJlbW92ZUxpc3RlbmVyKG4pfX0pKS5waXBlKEJlKGUpLFZ0KCgoe21hdGNoZXM6ZX0pPT4oe3F1ZXJ5OnQsbWF0Y2hlczplfSkpKSxqZSh0aGlzLl9kZXN0cm95U3ViamVjdCkpLG1xbDplfTtyZXR1cm4gdGhpcy5fcXVlcmllcy5zZXQodCxuKSxufX1mdW5jdGlvbiBwVih0KXtyZXR1cm4gdC5tYXAoKHQ9PnQuc3BsaXQoIiwiKSkpLnJlZHVjZSgoKHQsZSk9PnQuY29uY2F0KGUpKSkubWFwKCh0PT50LnRyaW0oKSkpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9kVi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZFYpKFRyKGxWKSxUcihtQykpfSxkVi7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgZFYoVHIobFYpLFRyKG1DKSl9LHRva2VuOmRWLHByb3ZpZGVkSW46InJvb3QifSksZFYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpsVn0se3R5cGU6bUN9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRWLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpsVn0se3R5cGU6bUN9XX0pLG51bGwpO2NvbnN0IG1WPSIobWF4LXdpZHRoOiA1OTkuOThweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpLCAobWF4LXdpZHRoOiA5NTkuOThweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIsZlY9IihtYXgtd2lkdGg6IDU5OS45OHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkiO2Z1bmN0aW9uIHVWKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxKSxDZigxLCJidXR0b24iLDIpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5hY3Rpb24oKX0pKSxQdSgyKSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksd3UodC5kYXRhLmFjdGlvbil9fWZ1bmN0aW9uIGdWKHQsZSl7fWNvbnN0IGhWPW5ldyBlcigiTWF0U25hY2tCYXJEYXRhIik7Y2xhc3MgYlZ7Y29uc3RydWN0b3IoKXt0aGlzLnBvbGl0ZW5lc3M9ImFzc2VydGl2ZSIsdGhpcy5hbm5vdW5jZW1lbnRNZXNzYWdlPSIiLHRoaXMuZHVyYXRpb249MCx0aGlzLmRhdGE9bnVsbCx0aGlzLmhvcml6b250YWxQb3NpdGlvbj0iY2VudGVyIix0aGlzLnZlcnRpY2FsUG9zaXRpb249ImJvdHRvbSJ9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCB5Vj1NYXRoLnBvdygyLDMxKS0xO2NsYXNzIF9We2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fb3ZlcmxheVJlZj1lLHRoaXMuX2FmdGVyRGlzbWlzc2VkPW5ldyBCLHRoaXMuX2FmdGVyT3BlbmVkPW5ldyBCLHRoaXMuX29uQWN0aW9uPW5ldyBCLHRoaXMuX2Rpc21pc3NlZEJ5QWN0aW9uPSExLHRoaXMuY29udGFpbmVySW5zdGFuY2U9dCx0aGlzLm9uQWN0aW9uKCkuc3Vic2NyaWJlKCgoKT0+dGhpcy5kaXNtaXNzKCkpKSx0Ll9vbkV4aXQuc3Vic2NyaWJlKCgoKT0+dGhpcy5fZmluaXNoRGlzbWlzcygpKSl9ZGlzbWlzcygpe3RoaXMuX2FmdGVyRGlzbWlzc2VkLmNsb3NlZHx8dGhpcy5jb250YWluZXJJbnN0YW5jZS5leGl0KCksY2xlYXJUaW1lb3V0KHRoaXMuX2R1cmF0aW9uVGltZW91dElkKX1kaXNtaXNzV2l0aEFjdGlvbigpe3RoaXMuX29uQWN0aW9uLmNsb3NlZHx8KHRoaXMuX2Rpc21pc3NlZEJ5QWN0aW9uPSEwLHRoaXMuX29uQWN0aW9uLm5leHQoKSx0aGlzLl9vbkFjdGlvbi5jb21wbGV0ZSgpKSxjbGVhclRpbWVvdXQodGhpcy5fZHVyYXRpb25UaW1lb3V0SWQpfWNsb3NlV2l0aEFjdGlvbigpe3RoaXMuZGlzbWlzc1dpdGhBY3Rpb24oKX1fZGlzbWlzc0FmdGVyKHQpe3RoaXMuX2R1cmF0aW9uVGltZW91dElkPXNldFRpbWVvdXQoKCgpPT50aGlzLmRpc21pc3MoKSksTWF0aC5taW4odCx5VikpfV9vcGVuKCl7dGhpcy5fYWZ0ZXJPcGVuZWQuY2xvc2VkfHwodGhpcy5fYWZ0ZXJPcGVuZWQubmV4dCgpLHRoaXMuX2FmdGVyT3BlbmVkLmNvbXBsZXRlKCkpfV9maW5pc2hEaXNtaXNzKCl7dGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCksdGhpcy5fb25BY3Rpb24uY2xvc2VkfHx0aGlzLl9vbkFjdGlvbi5jb21wbGV0ZSgpLHRoaXMuX2FmdGVyRGlzbWlzc2VkLm5leHQoe2Rpc21pc3NlZEJ5QWN0aW9uOnRoaXMuX2Rpc21pc3NlZEJ5QWN0aW9ufSksdGhpcy5fYWZ0ZXJEaXNtaXNzZWQuY29tcGxldGUoKSx0aGlzLl9kaXNtaXNzZWRCeUFjdGlvbj0hMX1hZnRlckRpc21pc3NlZCgpe3JldHVybiB0aGlzLl9hZnRlckRpc21pc3NlZH1hZnRlck9wZW5lZCgpe3JldHVybiB0aGlzLmNvbnRhaW5lckluc3RhbmNlLl9vbkVudGVyfW9uQWN0aW9uKCl7cmV0dXJuIHRoaXMuX29uQWN0aW9ufX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgQ1Z7Y29uc3RydWN0b3IodCxlKXt0aGlzLnNuYWNrQmFyUmVmPXQsdGhpcy5kYXRhPWV9YWN0aW9uKCl7dGhpcy5zbmFja0JhclJlZi5kaXNtaXNzV2l0aEFjdGlvbigpfWdldCBoYXNBY3Rpb24oKXtyZXR1cm4hIXRoaXMuZGF0YS5hY3Rpb259fUNWLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxDVikoZ2YoX1YpLGdmKGhWKSl9LENWLsm1Y21wPXNvKHt0eXBlOkNWLHNlbGVjdG9yczpbWyJzaW1wbGUtc25hY2stYmFyIl1dLGhvc3RBdHRyczpbMSwibWF0LXNpbXBsZS1zbmFja2JhciJdLGRlY2xzOjMsdmFyczoyLGNvbnN0czpbWyJjbGFzcyIsIm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIiw0LCJuZ0lmIl0sWzEsIm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIl0sWyJtYXQtYnV0dG9uIiwiIiwzLCJjbGljayJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwic3BhbiIpLFB1KDEpLE1mKCksSG0oMix1ViwzLDEsImRpdiIsMCkpLDImZSYmKERjKDEpLHd1KG4uZGF0YS5tZXNzYWdlKSxEYygxKSxiZigibmdJZiIsbi5oYXNBY3Rpb24pKX0sZGlyZWN0aXZlczpbUHYsTkxdLHN0eWxlczpbIi5tYXQtc2ltcGxlLXNuYWNrYmFye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7bGluZS1oZWlnaHQ6MjBweDtvcGFjaXR5OjF9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9ue2ZsZXgtc2hyaW5rOjA7bWFyZ2luOi04cHggLThweCAtOHB4IDhweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24gYnV0dG9ue21heC1oZWlnaHQ6MzZweDttaW4td2lkdGg6MH1bZGlyPXJ0bF0gLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9ue21hcmdpbi1sZWZ0Oi04cHg7bWFyZ2luLXJpZ2h0OjhweH1cbiJdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLENWLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6X1Z9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltoVl19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ1YsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic2ltcGxlLXNuYWNrLWJhciIsdGVtcGxhdGU6JzxzcGFuPnt7ZGF0YS5tZXNzYWdlfX08L3NwYW4+XG48ZGl2IGNsYXNzPSJtYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiIgICpuZ0lmPSJoYXNBY3Rpb24iPlxuICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT0iYWN0aW9uKCkiPnt7ZGF0YS5hY3Rpb259fTwvYnV0dG9uPlxuPC9kaXY+XG4nLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLGhvc3Q6e2NsYXNzOiJtYXQtc2ltcGxlLXNuYWNrYmFyIn0sc3R5bGVzOlsiLm1hdC1zaW1wbGUtc25hY2tiYXJ7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcjtsaW5lLWhlaWdodDoyMHB4O29wYWNpdHk6MX0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb257ZmxleC1zaHJpbms6MDttYXJnaW46LThweCAtOHB4IC04cHggOHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiBidXR0b257bWF4LWhlaWdodDozNnB4O21pbi13aWR0aDowfVtkaXI9cnRsXSAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb257bWFyZ2luLWxlZnQ6LThweDttYXJnaW4tcmlnaHQ6OHB4fVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpfVn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2hWXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IE1WPXtzbmFja0JhclN0YXRlOnhPKCJzdGF0ZSIsW2tPKCJ2b2lkLCBoaWRkZW4iLHdPKHt0cmFuc2Zvcm06InNjYWxlKDAuOCkiLG9wYWNpdHk6MH0pKSxrTygidmlzaWJsZSIsd08oe3RyYW5zZm9ybToic2NhbGUoMSkiLG9wYWNpdHk6MX0pKSxETygiKiA9PiB2aXNpYmxlIixPTygiMTUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSkiKSksRE8oIiogPT4gdm9pZCwgKiA9PiBoaWRkZW4iLE9PKCI3NW1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMSwgMSkiLHdPKHtvcGFjaXR5OjB9KSkpXSl9OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyB2ViBleHRlbmRzIGRCe2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7c3VwZXIoKSx0aGlzLl9uZ1pvbmU9dCx0aGlzLl9lbGVtZW50UmVmPWUsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9bix0aGlzLl9wbGF0Zm9ybT1vLHRoaXMuc25hY2tCYXJDb25maWc9aSx0aGlzLl9hbm5vdW5jZURlbGF5PTE1MCx0aGlzLl9kZXN0cm95ZWQ9ITEsdGhpcy5fb25Bbm5vdW5jZT1uZXcgQix0aGlzLl9vbkV4aXQ9bmV3IEIsdGhpcy5fb25FbnRlcj1uZXcgQix0aGlzLl9hbmltYXRpb25TdGF0ZT0idm9pZCIsdGhpcy5hdHRhY2hEb21Qb3J0YWw9dD0+KHRoaXMuX2Fzc2VydE5vdEF0dGFjaGVkKCksdGhpcy5fYXBwbHlTbmFja0JhckNsYXNzZXMoKSx0aGlzLl9wb3J0YWxPdXRsZXQuYXR0YWNoRG9tUG9ydGFsKHQpKSx0aGlzLl9saXZlPSJhc3NlcnRpdmUiIT09aS5wb2xpdGVuZXNzfHxpLmFubm91bmNlbWVudE1lc3NhZ2U/Im9mZiI9PT1pLnBvbGl0ZW5lc3M/Im9mZiI6InBvbGl0ZSI6ImFzc2VydGl2ZSIsdGhpcy5fcGxhdGZvcm0uRklSRUZPWCYmKCJwb2xpdGUiPT09dGhpcy5fbGl2ZSYmKHRoaXMuX3JvbGU9InN0YXR1cyIpLCJhc3NlcnRpdmUiPT09dGhpcy5fbGl2ZSYmKHRoaXMuX3JvbGU9ImFsZXJ0IikpfWF0dGFjaENvbXBvbmVudFBvcnRhbCh0KXtyZXR1cm4gdGhpcy5fYXNzZXJ0Tm90QXR0YWNoZWQoKSx0aGlzLl9hcHBseVNuYWNrQmFyQ2xhc3NlcygpLHRoaXMuX3BvcnRhbE91dGxldC5hdHRhY2hDb21wb25lbnRQb3J0YWwodCl9YXR0YWNoVGVtcGxhdGVQb3J0YWwodCl7cmV0dXJuIHRoaXMuX2Fzc2VydE5vdEF0dGFjaGVkKCksdGhpcy5fYXBwbHlTbmFja0JhckNsYXNzZXMoKSx0aGlzLl9wb3J0YWxPdXRsZXQuYXR0YWNoVGVtcGxhdGVQb3J0YWwodCl9b25BbmltYXRpb25FbmQodCl7Y29uc3R7ZnJvbVN0YXRlOmUsdG9TdGF0ZTpufT10O2lmKCgidm9pZCI9PT1uJiYidm9pZCIhPT1lfHwiaGlkZGVuIj09PW4pJiZ0aGlzLl9jb21wbGV0ZUV4aXQoKSwidmlzaWJsZSI9PT1uKXtjb25zdCB0PXRoaXMuX29uRW50ZXI7dGhpcy5fbmdab25lLnJ1bigoKCk9Pnt0Lm5leHQoKSx0LmNvbXBsZXRlKCl9KSl9fWVudGVyKCl7dGhpcy5fZGVzdHJveWVkfHwodGhpcy5fYW5pbWF0aW9uU3RhdGU9InZpc2libGUiLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKSx0aGlzLl9zY3JlZW5SZWFkZXJBbm5vdW5jZSgpKX1leGl0KCl7cmV0dXJuIHRoaXMuX2FuaW1hdGlvblN0YXRlPSJoaWRkZW4iLHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoIm1hdC1leGl0IiwiIiksY2xlYXJUaW1lb3V0KHRoaXMuX2Fubm91bmNlVGltZW91dElkKSx0aGlzLl9vbkV4aXR9bmdPbkRlc3Ryb3koKXt0aGlzLl9kZXN0cm95ZWQ9ITAsdGhpcy5fY29tcGxldGVFeGl0KCl9X2NvbXBsZXRlRXhpdCgpe3RoaXMuX25nWm9uZS5vbk1pY3JvdGFza0VtcHR5LnBpcGUodmUoMSkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9vbkV4aXQubmV4dCgpLHRoaXMuX29uRXhpdC5jb21wbGV0ZSgpfSkpfV9hcHBseVNuYWNrQmFyQ2xhc3Nlcygpe2NvbnN0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LGU9dGhpcy5zbmFja0JhckNvbmZpZy5wYW5lbENsYXNzO2UmJihBcnJheS5pc0FycmF5KGUpP2UuZm9yRWFjaCgoZT0+dC5jbGFzc0xpc3QuYWRkKGUpKSk6dC5jbGFzc0xpc3QuYWRkKGUpKSwiY2VudGVyIj09PXRoaXMuc25hY2tCYXJDb25maWcuaG9yaXpvbnRhbFBvc2l0aW9uJiZ0LmNsYXNzTGlzdC5hZGQoIm1hdC1zbmFjay1iYXItY2VudGVyIiksInRvcCI9PT10aGlzLnNuYWNrQmFyQ29uZmlnLnZlcnRpY2FsUG9zaXRpb24mJnQuY2xhc3NMaXN0LmFkZCgibWF0LXNuYWNrLWJhci10b3AiKX1fYXNzZXJ0Tm90QXR0YWNoZWQoKXtpZih0aGlzLl9wb3J0YWxPdXRsZXQuaGFzQXR0YWNoZWQoKSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGF0dGFjaCBzbmFjayBiYXIgY29udGVudCBhZnRlciBjb250ZW50IGlzIGFscmVhZHkgYXR0YWNoZWQiKX1fc2NyZWVuUmVhZGVyQW5ub3VuY2UoKXt0aGlzLl9hbm5vdW5jZVRpbWVvdXRJZHx8dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3RoaXMuX2Fubm91bmNlVGltZW91dElkPXNldFRpbWVvdXQoKCgpPT57Y29uc3QgdD10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigiW2FyaWEtaGlkZGVuXSIpLGU9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIlthcmlhLWxpdmVdIik7aWYodCYmZSl7bGV0IG49bnVsbDt0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXImJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmdC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmKG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCksdC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiksZS5hcHBlbmRDaGlsZCh0KSxudWxsPT1ufHxuLmZvY3VzKCksdGhpcy5fb25Bbm5vdW5jZS5uZXh0KCksdGhpcy5fb25Bbm5vdW5jZS5jb21wbGV0ZSgpfX0pLHRoaXMuX2Fubm91bmNlRGVsYXkpfSkpfX12Vi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dlYpKGdmKG1DKSxnZihLaCksZ2YoT2IpLGdmKGNIKSxnZihiVikpfSx2Vi7JtWNtcD1zbyh7dHlwZTp2VixzZWxlY3RvcnM6W1sic25hY2stYmFyLWNvbnRhaW5lciJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkodUIsNyksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5fcG9ydGFsT3V0bGV0PXQuZmlyc3QpfX0saG9zdEF0dHJzOlsxLCJtYXQtc25hY2stYmFyLWNvbnRhaW5lciJdLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJkVmKCJAc3RhdGUuZG9uZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25BbmltYXRpb25FbmQoZSl9KSksMiZlJiZkZygiQHN0YXRlIixuLl9hbmltYXRpb25TdGF0ZSl9LGZlYXR1cmVzOltRcF0sZGVjbHM6Myx2YXJzOjIsY29uc3RzOltbImFyaWEtaGlkZGVuIiwidHJ1ZSJdLFsiY2RrUG9ydGFsT3V0bGV0IiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLEhtKDEsZ1YsMCwwLCJuZy10ZW1wbGF0ZSIsMSksTWYoKSx2ZigyLCJkaXYiKSksMiZlJiYoRGMoMikseW0oImFyaWEtbGl2ZSIsbi5fbGl2ZSkoInJvbGUiLG4uX3JvbGUpKX0sZGlyZWN0aXZlczpbdUJdLHN0eWxlczpbIi5tYXQtc25hY2stYmFyLWNvbnRhaW5lcntib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpibG9jazttYXJnaW46MjRweDttYXgtd2lkdGg6MzN2dzttaW4td2lkdGg6MzQ0cHg7cGFkZGluZzoxNHB4IDE2cHg7bWluLWhlaWdodDo0OHB4O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbmFjay1iYXItY29udGFpbmVye2JvcmRlcjpzb2xpZCAxcHh9Lm1hdC1zbmFjay1iYXItaGFuZHNldHt3aWR0aDoxMDAlfS5tYXQtc25hY2stYmFyLWhhbmRzZXQgLm1hdC1zbmFjay1iYXItY29udGFpbmVye21hcmdpbjo4cHg7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjA7d2lkdGg6MTAwJX1cbiJdLGVuY2Fwc3VsYXRpb246MixkYXRhOnthbmltYXRpb246W01WLnNuYWNrQmFyU3RhdGVdfX0pLHZWLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6bUN9LHt0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6Y0h9LHt0eXBlOmJWfV0sdlYucHJvcERlY29yYXRvcnM9e19wb3J0YWxPdXRsZXQ6W3t0eXBlOmFyLGFyZ3M6W3VCLHtzdGF0aWM6ITB9XX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHZWLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InNuYWNrLWJhci1jb250YWluZXIiLHRlbXBsYXRlOidceDNjIS0tIEluaXRpYWxseSBob2xkcyB0aGUgc25hY2sgYmFyIGNvbnRlbnQsIHdpbGwgYmUgZW1wdHkgYWZ0ZXIgYW5ub3VuY2luZyB0byBzY3JlZW4gcmVhZGVycy4gLS1ceDNlXG48ZGl2IGFyaWEtaGlkZGVuPSJ0cnVlIj5cbiAgPG5nLXRlbXBsYXRlIGNka1BvcnRhbE91dGxldD48L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cblx4M2MhLS0gV2lsbCByZWNlaXZlIHRoZSBzbmFjayBiYXIgY29udGVudCBmcm9tIHRoZSBub24tbGl2ZSBkaXYsIG1vdmUgd2lsbCBoYXBwZW4gYSBzaG9ydCBkZWxheSBhZnRlciBvcGVuaW5nIC0tXHgzZVxuPGRpdiBbYXR0ci5hcmlhLWxpdmVdPSJfbGl2ZSIgW2F0dHIucm9sZV09Il9yb2xlIj48L2Rpdj5cbicsY2hhbmdlRGV0ZWN0aW9uOmpuLkRlZmF1bHQsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGFuaW1hdGlvbnM6W01WLnNuYWNrQmFyU3RhdGVdLGhvc3Q6e2NsYXNzOiJtYXQtc25hY2stYmFyLWNvbnRhaW5lciIsIltAc3RhdGVdIjoiX2FuaW1hdGlvblN0YXRlIiwiKEBzdGF0ZS5kb25lKSI6Im9uQW5pbWF0aW9uRW5kKCRldmVudCkifSxzdHlsZXM6WyIubWF0LXNuYWNrLWJhci1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjI0cHg7bWF4LXdpZHRoOjMzdnc7bWluLXdpZHRoOjM0NHB4O3BhZGRpbmc6MTRweCAxNnB4O21pbi1oZWlnaHQ6NDhweDt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcn0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc25hY2stYmFyLWNvbnRhaW5lcntib3JkZXI6c29saWQgMXB4fS5tYXQtc25hY2stYmFyLWhhbmRzZXR7d2lkdGg6MTAwJX0ubWF0LXNuYWNrLWJhci1oYW5kc2V0IC5tYXQtc25hY2stYmFyLWNvbnRhaW5lcnttYXJnaW46OHB4O21heC13aWR0aDoxMDAlO21pbi13aWR0aDowO3dpZHRoOjEwMCV9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOm1DfSx7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOmNIfSx7dHlwZTpiVn1dfSkse19wb3J0YWxPdXRsZXQ6W3t0eXBlOmFyLGFyZ3M6W3VCLHtzdGF0aWM6ITB9XX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyB4Vnt9eFYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHhWKX0seFYuybVtb2Q9Zm8oe3R5cGU6eFZ9KSx4Vi7JtWluaj1Ebih7aW1wb3J0czpbW29WLGhCLHJ4LElMLE5GXSxORl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHhWLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbb1YsaEIscngsSUwsTkZdLGV4cG9ydHM6W3ZWLE5GXSxkZWNsYXJhdGlvbnM6W3ZWLENWXSxlbnRyeUNvbXBvbmVudHM6W3ZWLENWXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHhWLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bdlYsQ1ZdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW29WLGhCLHJ4LElMLE5GXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVyblt2VixORl19fSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBPVj1uZXcgZXIoIm1hdC1zbmFjay1iYXItZGVmYXVsdC1vcHRpb25zIix7cHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTpmdW5jdGlvbiBQVigpe3JldHVybiBuZXcgYlZ9fSk7Y2xhc3Mgd1Z7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEpe3RoaXMuX292ZXJsYXk9dCx0aGlzLl9saXZlPWUsdGhpcy5faW5qZWN0b3I9bix0aGlzLl9icmVha3BvaW50T2JzZXJ2ZXI9byx0aGlzLl9wYXJlbnRTbmFja0Jhcj1pLHRoaXMuX2RlZmF1bHRDb25maWc9YSx0aGlzLl9zbmFja0JhclJlZkF0VGhpc0xldmVsPW51bGwsdGhpcy5zaW1wbGVTbmFja0JhckNvbXBvbmVudD1DVix0aGlzLnNuYWNrQmFyQ29udGFpbmVyQ29tcG9uZW50PXZWLHRoaXMuaGFuZHNldENzc0NsYXNzPSJtYXQtc25hY2stYmFyLWhhbmRzZXQifWdldCBfb3BlbmVkU25hY2tCYXJSZWYoKXtjb25zdCB0PXRoaXMuX3BhcmVudFNuYWNrQmFyO3JldHVybiB0P3QuX29wZW5lZFNuYWNrQmFyUmVmOnRoaXMuX3NuYWNrQmFyUmVmQXRUaGlzTGV2ZWx9c2V0IF9vcGVuZWRTbmFja0JhclJlZih0KXt0aGlzLl9wYXJlbnRTbmFja0Jhcj90aGlzLl9wYXJlbnRTbmFja0Jhci5fb3BlbmVkU25hY2tCYXJSZWY9dDp0aGlzLl9zbmFja0JhclJlZkF0VGhpc0xldmVsPXR9b3BlbkZyb21Db21wb25lbnQodCxlKXtyZXR1cm4gdGhpcy5fYXR0YWNoKHQsZSl9b3BlbkZyb21UZW1wbGF0ZSh0LGUpe3JldHVybiB0aGlzLl9hdHRhY2godCxlKX1vcGVuKHQsZT0iIixuKXtjb25zdCBvPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0aGlzLl9kZWZhdWx0Q29uZmlnKSxuKTtyZXR1cm4gby5kYXRhPXttZXNzYWdlOnQsYWN0aW9uOmV9LG8uYW5ub3VuY2VtZW50TWVzc2FnZT09PXQmJihvLmFubm91bmNlbWVudE1lc3NhZ2U9dm9pZCAwKSx0aGlzLm9wZW5Gcm9tQ29tcG9uZW50KHRoaXMuc2ltcGxlU25hY2tCYXJDb21wb25lbnQsbyl9ZGlzbWlzcygpe3RoaXMuX29wZW5lZFNuYWNrQmFyUmVmJiZ0aGlzLl9vcGVuZWRTbmFja0JhclJlZi5kaXNtaXNzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLl9zbmFja0JhclJlZkF0VGhpc0xldmVsJiZ0aGlzLl9zbmFja0JhclJlZkF0VGhpc0xldmVsLmRpc21pc3MoKX1fYXR0YWNoU25hY2tCYXJDb250YWluZXIodCxlKXtjb25zdCBuPU5wLmNyZWF0ZSh7cGFyZW50OmUmJmUudmlld0NvbnRhaW5lclJlZiYmZS52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yfHx0aGlzLl9pbmplY3Rvcixwcm92aWRlcnM6W3twcm92aWRlOmJWLHVzZVZhbHVlOmV9XX0pLG89bmV3IHNCKHRoaXMuc25hY2tCYXJDb250YWluZXJDb21wb25lbnQsZS52aWV3Q29udGFpbmVyUmVmLG4pLGk9dC5hdHRhY2gobyk7cmV0dXJuIGkuaW5zdGFuY2Uuc25hY2tCYXJDb25maWc9ZSxpLmluc3RhbmNlfV9hdHRhY2godCxlKXtjb25zdCBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG5ldyBiViksdGhpcy5fZGVmYXVsdENvbmZpZyksZSksbz10aGlzLl9jcmVhdGVPdmVybGF5KG4pLGk9dGhpcy5fYXR0YWNoU25hY2tCYXJDb250YWluZXIobyxuKSxhPW5ldyBfVihpLG8pO2lmKHQgaW5zdGFuY2VvZiBFYil7Y29uc3QgZT1uZXcgbEIodCxudWxsLHskaW1wbGljaXQ6bi5kYXRhLHNuYWNrQmFyUmVmOmF9KTthLmluc3RhbmNlPWkuYXR0YWNoVGVtcGxhdGVQb3J0YWwoZSl9ZWxzZXtjb25zdCBlPXRoaXMuX2NyZWF0ZUluamVjdG9yKG4sYSksbz1uZXcgc0IodCx2b2lkIDAsZSkscj1pLmF0dGFjaENvbXBvbmVudFBvcnRhbChvKTthLmluc3RhbmNlPXIuaW5zdGFuY2V9cmV0dXJuIHRoaXMuX2JyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKGZWKS5waXBlKGplKG8uZGV0YWNobWVudHMoKSkpLnN1YnNjcmliZSgodD0+e2NvbnN0IGU9by5vdmVybGF5RWxlbWVudC5jbGFzc0xpc3Q7dC5tYXRjaGVzP2UuYWRkKHRoaXMuaGFuZHNldENzc0NsYXNzKTplLnJlbW92ZSh0aGlzLmhhbmRzZXRDc3NDbGFzcyl9KSksbi5hbm5vdW5jZW1lbnRNZXNzYWdlJiZpLl9vbkFubm91bmNlLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9saXZlLmFubm91bmNlKG4uYW5ub3VuY2VtZW50TWVzc2FnZSxuLnBvbGl0ZW5lc3MpfSkpLHRoaXMuX2FuaW1hdGVTbmFja0JhcihhLG4pLHRoaXMuX29wZW5lZFNuYWNrQmFyUmVmPWEsdGhpcy5fb3BlbmVkU25hY2tCYXJSZWZ9X2FuaW1hdGVTbmFja0Jhcih0LGUpe3QuYWZ0ZXJEaXNtaXNzZWQoKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fb3BlbmVkU25hY2tCYXJSZWY9PXQmJih0aGlzLl9vcGVuZWRTbmFja0JhclJlZj1udWxsKSxlLmFubm91bmNlbWVudE1lc3NhZ2UmJnRoaXMuX2xpdmUuY2xlYXIoKX0pKSx0aGlzLl9vcGVuZWRTbmFja0JhclJlZj8odGhpcy5fb3BlbmVkU25hY2tCYXJSZWYuYWZ0ZXJEaXNtaXNzZWQoKS5zdWJzY3JpYmUoKCgpPT57dC5jb250YWluZXJJbnN0YW5jZS5lbnRlcigpfSkpLHRoaXMuX29wZW5lZFNuYWNrQmFyUmVmLmRpc21pc3MoKSk6dC5jb250YWluZXJJbnN0YW5jZS5lbnRlcigpLGUuZHVyYXRpb24mJmUuZHVyYXRpb24+MCYmdC5hZnRlck9wZW5lZCgpLnN1YnNjcmliZSgoKCk9PnQuX2Rpc21pc3NBZnRlcihlLmR1cmF0aW9uKSkpfV9jcmVhdGVPdmVybGF5KHQpe2NvbnN0IGU9bmV3IHdCO2UuZGlyZWN0aW9uPXQuZGlyZWN0aW9uO2xldCBuPXRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKTtjb25zdCBvPSJydGwiPT09dC5kaXJlY3Rpb24saT0ibGVmdCI9PT10Lmhvcml6b250YWxQb3NpdGlvbnx8InN0YXJ0Ij09PXQuaG9yaXpvbnRhbFBvc2l0aW9uJiYhb3x8ImVuZCI9PT10Lmhvcml6b250YWxQb3NpdGlvbiYmbyxhPSFpJiYiY2VudGVyIiE9PXQuaG9yaXpvbnRhbFBvc2l0aW9uO3JldHVybiBpP24ubGVmdCgiMCIpOmE/bi5yaWdodCgiMCIpOm4uY2VudGVySG9yaXpvbnRhbGx5KCksInRvcCI9PT10LnZlcnRpY2FsUG9zaXRpb24/bi50b3AoIjAiKTpuLmJvdHRvbSgiMCIpLGUucG9zaXRpb25TdHJhdGVneT1uLHRoaXMuX292ZXJsYXkuY3JlYXRlKGUpfV9jcmVhdGVJbmplY3Rvcih0LGUpe3JldHVybiBOcC5jcmVhdGUoe3BhcmVudDp0JiZ0LnZpZXdDb250YWluZXJSZWYmJnQudmlld0NvbnRhaW5lclJlZi5pbmplY3Rvcnx8dGhpcy5faW5qZWN0b3IscHJvdmlkZXJzOlt7cHJvdmlkZTpfVix1c2VWYWx1ZTplfSx7cHJvdmlkZTpoVix1c2VWYWx1ZTp0LmRhdGF9XX0pfX13Vi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8d1YpKFRyKEtCKSxUcihjRiksVHIoTnApLFRyKGRWKSxUcih3ViwxMiksVHIoT1YpKX0sd1YuybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IHdWKFRyKEtCKSxUcihjRiksVHIoeXApLFRyKGRWKSxUcih3ViwxMiksVHIoT1YpKX0sdG9rZW46d1YscHJvdmlkZWRJbjp4Vn0pLHdWLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S0J9LHt0eXBlOmNGfSx7dHlwZTpOcH0se3R5cGU6ZFZ9LHt0eXBlOndWLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpqcn1dfSx7dHlwZTpiVixkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltPVl19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIod1YsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOnhWfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S0J9LHt0eXBlOmNGfSx7dHlwZTpOcH0se3R5cGU6ZFZ9LHt0eXBlOndWLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpqcn1dfSx7dHlwZTpiVixkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltPVl19XX1dfSksbnVsbCk7Y29uc3Qga1Y9L1tcXF4kLiorPygpW1xde318XS9nO2NvbnN0IFNWPSJcXHUwMDAwLVxcdTAwMjBcXHUwMDdmLVxcdTAwOWYiLERWPW5ldyBSZWdFeHAoIig/OlthLXpBLVpdW2EtekEtWjAtOSsuLV17Mix9OlxcL1xcL3xkYXRhOnx3d3dcXC4pW15cXHMiK1NWKyciXXsyLH1bXlxccycrU1YrIlwiJyl9XFxdLDo7LiE/XSIsImd1Iik7ZnVuY3Rpb24gUlYodCl7cmV0dXJuKGZ1bmN0aW9uIGUodCxuKXtuLmZsYWdzLmluY2x1ZGVzKCJnIil8fChuPW5ldyBSZWdFeHAobixuLmZsYWdzKyJnIikpO2NvbnN0IG89W107bGV0IGk9MDtmb3IoY29uc3QgZSBvZiB0Lm1hdGNoQWxsKG4pKXtjb25zdCBuPWUuaW5kZXgsYT1lWzBdO24+aSYmby5wdXNoKHtpbmRleDppLHRleHQ6dC5zdWJzdHJpbmcoaSxuKSxtYXRjaGVzUmVnZXg6ITF9KSxvLnB1c2goe2luZGV4Om4sdGV4dDphLG1hdGNoZXNSZWdleDohMH0pLGk9bithLmxlbmd0aH1yZXR1cm4gdC5sZW5ndGg+aSYmby5wdXNoKHtpbmRleDppLHRleHQ6dC5zdWJzdHJpbmcoaSx0Lmxlbmd0aCksbWF0Y2hlc1JlZ2V4OiExfSksb30pKHQsRFYpLm1hcCgoKHttYXRjaGVzUmVnZXg6dCx0ZXh0OmV9KT0+KHtpc1VSTDp0LHRleHQ6ZX0pKSl9ZnVuY3Rpb24gRVYodCxlKXtpZigxJnQmJih4ZigwKSxQdSgxKSxPZigpKSwyJnQpe2NvbnN0IHQ9emYoKS4kaW1wbGljaXQ7RGMoMSksa3UoIiAiLHQudGV4dCwiICIpfX1mdW5jdGlvbiBBVih0LGUpe2lmKDEmdCYmKENmKDAsImEiLDcpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpLiRpbXBsaWNpdDtMZigiaHJlZiIsdC50ZXh0LFhzKSxEYygxKSx3dSh0LnRleHQpfX1mdW5jdGlvbiBUVih0LGUpe2lmKDEmdCYmKHhmKDApLEhtKDEsRVYsMiwxLCJuZy1jb250YWluZXIiLDUpLEhtKDIsQVYsMiwyLCJuZy10ZW1wbGF0ZSIsbnVsbCw2LHF5KSxPZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj1GbSgzKTtEYygxKSxiZigibmdJZiIsIXQuaXNVUkwpKCJuZ0lmRWxzZSIsbil9fWZ1bmN0aW9uIE5WKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiYnV0dG9uIiw4KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkub25BY3Rpb25CdXR0b25DbGlja2VkKCl9KSksUHUoMSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxrdSgiICIsdC5hbGVydC5mb2xsb3d1cEFjdGlvbi5sb2NhbGl6ZWRMYWJlbCwiICIpfX1jbGFzcyB6Vntjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5zbmFja0JhclJlZj10LHRoaXMudW5rbm93bkRhdGE9ZSx0aGlzLnN0b3JlPW4sdGhpcy5zcGxpdEJ5VVJMPVJWLHRoaXMuYWxlcnQ9ZX1vbkFjdGlvbkJ1dHRvbkNsaWNrZWQoKXtyZXR1cm4gWFQodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0aGlzLnNuYWNrQmFyUmVmLmRpc21pc3MoKTtjb25zdCB0PXlpZWxkIHRoaXMuYWxlcnQuZm9sbG93dXBBY3Rpb24uZ2V0Rm9sbG93dXBBY3Rpb24odGhpcy5zdG9yZSk7dGhpcy5zdG9yZS5kaXNwYXRjaCh0KX0pKX1vbkNsb3NlQnV0dG9uQ2xpY2tlZCgpe3RoaXMuc25hY2tCYXJSZWYuZGlzbWlzcygpfX16Vi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8elYpKGdmKF9WKSxnZihoViksZ2YoaVMpKX0selYuybVjbXA9c28oe3R5cGU6elYsc2VsZWN0b3JzOltbImFsZXJ0LWRpc3BsYXktc25hY2tiYXIiXV0sZGVjbHM6Nix2YXJzOjIsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQ7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe3Q9Z29vZy5nZXRNc2coIkRpc21pc3MiKX1lbHNlIHQ9JGxvY2FsaXplYDpBIGJ1dHRvbiB0byBjbG9zZSB0aGUgc25hY2tiYXIgbWVzc2FnZeKQn2VhNGQ5ZmU2MTQyMGEzZmNlODFjZjU0YzRjNjE1ZTNjMTljNjQ2YTbikJ8xNTM2MDg3NTE5NzQzNzA3MzYyOkRpc21pc3NgO3JldHVybltbMSwibWVzc2FnZSJdLFs0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbMSwiY29udHJvbHMiXSxbIm1hdC1idXR0b24iLCIiLCJjbGFzcyIsImZvbGxvd3VwLWJ1dHRvbiIsMywiY2xpY2siLDQsIm5nSWYiXSxbIm1hdC1idXR0b24iLCIiLCJhcmlhLWxhYmVsIix0LDEsImRpc21pc3MtYnV0dG9uIiwzLCJjbGljayJdLFs0LCJuZ0lmIiwibmdJZkVsc2UiXSxbImxpbmtQaWVjZSIsIiJdLFsicmVsIiwibm9yZWZlcnJlciBub29wZW5lciIsInRhcmdldCIsIl9ibGFuayIsMywiaHJlZiJdLFsibWF0LWJ1dHRvbiIsIiIsMSwiZm9sbG93dXAtYnV0dG9uIiwzLCJjbGljayJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCksSG0oMSxUViw0LDIsIm5nLWNvbnRhaW5lciIsMSksTWYoKSxDZigyLCJkaXYiLDIpLEhtKDMsTlYsMiwxLCJidXR0b24iLDMpLENmKDQsImJ1dHRvbiIsNCksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uQ2xvc2VCdXR0b25DbGlja2VkKCl9KSksUHUoNSwiIERpc21pc3MgIiksTWYoKSxNZigpKSwyJmUmJihEYygxKSxiZigibmdGb3JPZiIsbi5zcGxpdEJ5VVJMKG4uYWxlcnQubG9jYWxpemVkTWVzc2FnZSkpLERjKDIpLGJmKCJuZ0lmIixuLmFsZXJ0LmZvbGxvd3VwQWN0aW9uKSl9LGRpcmVjdGl2ZXM6W3h2LFB2LE5MXSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcH0ubWVzc2FnZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7YWxpZ24tc2VsZjpjZW50ZXI7bWFyZ2luOjVweCAwO3dvcmQtYnJlYWs6YnJlYWstd29yZH0ubWVzc2FnZVtfbmdjb250ZW50LSVDT01QJV0gICBhW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjppbmhlcml0fS5jb250cm9sc1tfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OmF1dG99YnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Il0sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHpWLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFsZXJ0LWRpc3BsYXktc25hY2tiYXIiLHRlbXBsYXRlVXJsOiIuL2FsZXJ0X2Rpc3BsYXlfc25hY2tiYXJfY29udGFpbmVyLm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vYWxlcnRfZGlzcGxheV9zbmFja2Jhcl9jb250YWluZXIuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOl9WfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbaFZdfV19LHt0eXBlOmlTfV19KSxudWxsKTtjbGFzcyBJVntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuc3RvcmU9dCx0aGlzLnNuYWNrQmFyPWUsdGhpcy5uZ1Vuc3Vic2NyaWJlPW5ldyBCfW5nT25Jbml0KCl7dGhpcy5zdG9yZS5zZWxlY3QoV1QpLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSx1ZSgodD0+Qm9vbGVhbih0KSkpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLnNob3dBbGVydCh0KX0pKX1uZ09uRGVzdHJveSgpe3RoaXMubmdVbnN1YnNjcmliZS5uZXh0KCksdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCl9c2hvd0FsZXJ0KHQpe3RoaXMuc25hY2tCYXIub3BlbkZyb21Db21wb25lbnQoelYse2R1cmF0aW9uOjVlMyxob3Jpem9udGFsUG9zaXRpb246InN0YXJ0Iix2ZXJ0aWNhbFBvc2l0aW9uOiJib3R0b20iLGRhdGE6dH0pfX1JVi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SVYpKGdmKGlTKSxnZih3VikpfSxJVi7JtWNtcD1zbyh7dHlwZTpJVixzZWxlY3RvcnM6W1siYWxlcnQtc25hY2tiYXIiXV0sZGVjbHM6MCx2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe30sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihJVixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJhbGVydC1zbmFja2JhciIsdGVtcGxhdGU6IiIsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfSx7dHlwZTp3Vn1dfSksbnVsbCk7Y2xhc3MgSFZ7fUhWLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxIVil9LEhWLsm1bW9kPWZvKHt0eXBlOkhWfSksSFYuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxJTCx4Vl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihIVixbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbSVYselZdLGV4cG9ydHM6W0lWXSxpbXBvcnRzOltyeCxJTCx4Vl0sZW50cnlDb21wb25lbnRzOlt6Vl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhIVix7ZGVjbGFyYXRpb25zOltJVix6Vl0saW1wb3J0czpbcngsSUwseFZdLGV4cG9ydHM6W0lWXX0pO2NsYXNzIEZWe31GVi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RlYpfSxGVi7JtW1vZD1mbyh7dHlwZTpGVn0pLEZWLsm1aW5qPURuKHtpbXBvcnRzOltbbVQsSFYsVFMuZm9yRmVhdHVyZShVVCxaSSksaEQuZm9yRmVhdHVyZShbWUldKV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihGVixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W21ULEhWLFRTLmZvckZlYXR1cmUoVVQsWkkpLGhELmZvckZlYXR1cmUoW1lJXSldfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oRlYse2ltcG9ydHM6W21ULEhWLEFTLGdEXX0pO2NvbnN0IExWPVsiKiIsW1sibWF0LXRvb2xiYXItcm93Il1dXSxCVj1JRihjbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLl9lbGVtZW50UmVmPXR9fSk7Y2xhc3MgVlZ7fVZWLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxWVil9LFZWLsm1ZGlyPWhvKHt0eXBlOlZWLHNlbGVjdG9yczpbWyJtYXQtdG9vbGJhci1yb3ciXV0saG9zdEF0dHJzOlsxLCJtYXQtdG9vbGJhci1yb3ciXSxleHBvcnRBczpbIm1hdFRvb2xiYXJSb3ciXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVlYsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXRvb2xiYXItcm93IixleHBvcnRBczoibWF0VG9vbGJhclJvdyIsaG9zdDp7Y2xhc3M6Im1hdC10b29sYmFyLXJvdyJ9fV19XSxudWxsLG51bGwpO2NsYXNzIGpWIGV4dGVuZHMgQlZ7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQpLHRoaXMuX3BsYXRmb3JtPWUsdGhpcy5fZG9jdW1lbnQ9bn1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXImJih0aGlzLl9jaGVja1Rvb2xiYXJNaXhlZE1vZGVzKCksdGhpcy5fdG9vbGJhclJvd3MuY2hhbmdlcy5zdWJzY3JpYmUoKCgpPT50aGlzLl9jaGVja1Rvb2xiYXJNaXhlZE1vZGVzKCkpKSl9X2NoZWNrVG9vbGJhck1peGVkTW9kZXMoKXtpZih0aGlzLl90b29sYmFyUm93cy5sZW5ndGgmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl7QXJyYXkuZnJvbSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2RlcykuZmlsdGVyKCh0PT4hKHQuY2xhc3NMaXN0JiZ0LmNsYXNzTGlzdC5jb250YWlucygibWF0LXRvb2xiYXItcm93IikpKSkuZmlsdGVyKCh0PT50Lm5vZGVUeXBlIT09KHRoaXMuX2RvY3VtZW50P3RoaXMuX2RvY3VtZW50LkNPTU1FTlRfTk9ERTo4KSkpLnNvbWUoKHQ9PiEoIXQudGV4dENvbnRlbnR8fCF0LnRleHRDb250ZW50LnRyaW0oKSkpKSYmKGZ1bmN0aW9uIHQoKXt0aHJvdyBFcnJvcigiTWF0VG9vbGJhcjogQXR0ZW1wdGluZyB0byBjb21iaW5lIGRpZmZlcmVudCB0b29sYmFyIG1vZGVzLiBFaXRoZXIgc3BlY2lmeSBtdWx0aXBsZSBgPG1hdC10b29sYmFyLXJvdz5gIGVsZW1lbnRzIGV4cGxpY2l0bHkgb3IganVzdCBwbGFjZSBjb250ZW50IGluc2lkZSBvZiBhIGA8bWF0LXRvb2xiYXI+YCBmb3IgYSBzaW5nbGUgcm93LiIpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKCl9fX1qVi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8alYpKGdmKEtoKSxnZihjSCksZ2Yoc00pKX0salYuybVjbXA9c28oe3R5cGU6alYsc2VsZWN0b3JzOltbIm1hdC10b29sYmFyIl1dLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uIHQoZSxuLG8pe2lmKDEmZSYmankobyxWViw1KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLl90b29sYmFyUm93cz10KX19LGhvc3RBdHRyczpbMSwibWF0LXRvb2xiYXIiXSxob3N0VmFyczo0LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgibWF0LXRvb2xiYXItbXVsdGlwbGUtcm93cyIsbi5fdG9vbGJhclJvd3MubGVuZ3RoPjApKCJtYXQtdG9vbGJhci1zaW5nbGUtcm93IiwwPT09bi5fdG9vbGJhclJvd3MubGVuZ3RoKX0saW5wdXRzOntjb2xvcjoiY29sb3IifSxleHBvcnRBczpbIm1hdFRvb2xiYXIiXSxmZWF0dXJlczpbUXBdLG5nQ29udGVudFNlbGVjdG9yczpbIioiLCJtYXQtdG9vbGJhci1yb3ciXSxkZWNsczoyLHZhcnM6MCx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoTFYpLEZmKDApLEZmKDEsMSkpfSxzdHlsZXM6WyIuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdG9vbGJhcntvdXRsaW5lOnNvbGlkIDFweH0ubWF0LXRvb2xiYXItcm93LC5tYXQtdG9vbGJhci1zaW5nbGUtcm93e2Rpc3BsYXk6ZmxleDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowIDE2cHg7d2lkdGg6MTAwJTtmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0ubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93c3tkaXNwbGF5OmZsZXg7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt3aWR0aDoxMDAlfVxuIl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksalYuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6Y0h9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLGpWLnByb3BEZWNvcmF0b3JzPXtfdG9vbGJhclJvd3M6W3t0eXBlOm9yLGFyZ3M6W1ZWLHtkZXNjZW5kYW50czohMH1dfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoalYsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXRvb2xiYXIiLGV4cG9ydEFzOiJtYXRUb29sYmFyIix0ZW1wbGF0ZTonPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgc2VsZWN0PSJtYXQtdG9vbGJhci1yb3ciPjwvbmctY29udGVudD5cbicsaW5wdXRzOlsiY29sb3IiXSxob3N0OntjbGFzczoibWF0LXRvb2xiYXIiLCJbY2xhc3MubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93c10iOiJfdG9vbGJhclJvd3MubGVuZ3RoID4gMCIsIltjbGFzcy5tYXQtdG9vbGJhci1zaW5nbGUtcm93XSI6Il90b29sYmFyUm93cy5sZW5ndGggPT09IDAifSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLGVuY2Fwc3VsYXRpb246V24uTm9uZSxzdHlsZXM6WyIuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdG9vbGJhcntvdXRsaW5lOnNvbGlkIDFweH0ubWF0LXRvb2xiYXItcm93LC5tYXQtdG9vbGJhci1zaW5nbGUtcm93e2Rpc3BsYXk6ZmxleDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowIDE2cHg7d2lkdGg6MTAwJTtmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0ubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93c3tkaXNwbGF5OmZsZXg7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt3aWR0aDoxMDAlfVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6Y0h9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dfSkse190b29sYmFyUm93czpbe3R5cGU6b3IsYXJnczpbVlYse2Rlc2NlbmRhbnRzOiEwfV19XX0pO2NsYXNzIFVWe31mdW5jdGlvbiBXVih0LGUpezEmdCYmRmYoMCl9VVYuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFVWKX0sVVYuybVtb2Q9Zm8oe3R5cGU6VVZ9KSxVVi7JtWluaj1Ebih7aW1wb3J0czpbW05GXSxORl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFVWLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbTkZdLGV4cG9ydHM6W2pWLFZWLE5GXSxkZWNsYXJhdGlvbnM6W2pWLFZWXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFVWLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5balYsVlZdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW05GXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltqVixWVixORl19fSk7Y29uc3QgR1Y9WyIqIl07ZnVuY3Rpb24gWVYodCxlKXt9Y29uc3QgcVY9ZnVuY3Rpb24odCl7cmV0dXJue2FuaW1hdGlvbkR1cmF0aW9uOnR9fSxaVj1mdW5jdGlvbih0LGUpe3JldHVybnt2YWx1ZTp0LHBhcmFtczplfX0sWFY9WyJ0YWJCb2R5V3JhcHBlciJdLEtWPVsidGFiSGVhZGVyIl07ZnVuY3Rpb24gSlYodCxlKXt9ZnVuY3Rpb24gUVYodCxlKXtpZigxJnQmJkhtKDAsSlYsMCwwLCJuZy10ZW1wbGF0ZSIsOSksMiZ0KXtiZigiY2RrUG9ydGFsT3V0bGV0Iix6ZigpLiRpbXBsaWNpdC50ZW1wbGF0ZUxhYmVsKX19ZnVuY3Rpb24gJFYodCxlKXtpZigxJnQmJlB1KDApLDImdCl7d3UoemYoKS4kaW1wbGljaXQudGV4dExhYmVsKX19ZnVuY3Rpb24gdGoodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDYpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtjb25zdCBuPVBpKHQpLG89bi4kaW1wbGljaXQsaT1uLmluZGV4LGE9emYoKSxyPUZtKDEpO3JldHVybiBhLl9oYW5kbGVDbGljayhvLHIsaSl9KSkoImNka0ZvY3VzQ2hhbmdlIiwoZnVuY3Rpb24gZShuKXtjb25zdCBvPVBpKHQpLmluZGV4O3JldHVybiB6ZigpLl90YWJGb2N1c0NoYW5nZWQobixvKX0pKSxDZigxLCJkaXYiLDcpLEhtKDIsUVYsMSwxLCJuZy10ZW1wbGF0ZSIsOCksSG0oMywkViwxLDEsIm5nLXRlbXBsYXRlIiw4KSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49ZS5pbmRleCxvPXpmKCk7Y3UoIm1hdC10YWItbGFiZWwtYWN0aXZlIixvLnNlbGVjdGVkSW5kZXg9PW4pLGJmKCJpZCIsby5fZ2V0VGFiTGFiZWxJZChuKSkoImRpc2FibGVkIix0LmRpc2FibGVkKSgibWF0UmlwcGxlRGlzYWJsZWQiLHQuZGlzYWJsZWR8fG8uZGlzYWJsZVJpcHBsZSkseW0oInRhYkluZGV4IixvLl9nZXRUYWJJbmRleCh0LG4pKSgiYXJpYS1wb3NpbnNldCIsbisxKSgiYXJpYS1zZXRzaXplIixvLl90YWJzLmxlbmd0aCkoImFyaWEtY29udHJvbHMiLG8uX2dldFRhYkNvbnRlbnRJZChuKSkoImFyaWEtc2VsZWN0ZWQiLG8uc2VsZWN0ZWRJbmRleD09bikoImFyaWEtbGFiZWwiLHQuYXJpYUxhYmVsfHxudWxsKSgiYXJpYS1sYWJlbGxlZGJ5IiwhdC5hcmlhTGFiZWwmJnQuYXJpYUxhYmVsbGVkYnk/dC5hcmlhTGFiZWxsZWRieTpudWxsKSxEYygyKSxiZigibmdJZiIsdC50ZW1wbGF0ZUxhYmVsKSxEYygxKSxiZigibmdJZiIsIXQudGVtcGxhdGVMYWJlbCl9fWZ1bmN0aW9uIGVqKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibWF0LXRhYi1ib2R5IiwxMCksUmYoIl9vbkNlbnRlcmVkIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLl9yZW1vdmVUYWJCb2R5V3JhcHBlckhlaWdodCgpfSkpKCJfb25DZW50ZXJpbmciLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLl9zZXRUYWJCb2R5V3JhcHBlckhlaWdodChuKX0pKSxNZigpfWlmKDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPWUuaW5kZXgsbz16ZigpO2N1KCJtYXQtdGFiLWJvZHktYWN0aXZlIixvLnNlbGVjdGVkSW5kZXg9PT1uKSxiZigiaWQiLG8uX2dldFRhYkNvbnRlbnRJZChuKSkoImNvbnRlbnQiLHQuY29udGVudCkoInBvc2l0aW9uIix0LnBvc2l0aW9uKSgib3JpZ2luIix0Lm9yaWdpbikoImFuaW1hdGlvbkR1cmF0aW9uIixvLmFuaW1hdGlvbkR1cmF0aW9uKSx5bSgidGFiaW5kZXgiLG51bGwhPW8uY29udGVudFRhYkluZGV4JiZvLnNlbGVjdGVkSW5kZXg9PT1uP28uY29udGVudFRhYkluZGV4Om51bGwpKCJhcmlhLWxhYmVsbGVkYnkiLG8uX2dldFRhYkxhYmVsSWQobikpfX1jb25zdCBuaj1bInRhYkxpc3RDb250YWluZXIiXSxvaj1bInRhYkxpc3QiXSxpaj1bIm5leHRQYWdpbmF0b3IiXSxhaj1bInByZXZpb3VzUGFnaW5hdG9yIl0scmo9bmV3IGVyKCJNYXRJbmtCYXJQb3NpdGlvbmVyIix7cHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTpmdW5jdGlvbiBzaigpe3JldHVybiB0PT4oe2xlZnQ6dD8odC5vZmZzZXRMZWZ0fHwwKSsicHgiOiIwIix3aWR0aDp0Pyh0Lm9mZnNldFdpZHRofHwwKSsicHgiOiIwIn0pfX0pO2NsYXNzIGxqe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9uZ1pvbmU9ZSx0aGlzLl9pbmtCYXJQb3NpdGlvbmVyPW4sdGhpcy5fYW5pbWF0aW9uTW9kZT1vfWFsaWduVG9FbGVtZW50KHQpe3RoaXMuc2hvdygpLCJ1bmRlZmluZWQiIT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lP3RoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PntyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLl9zZXRTdHlsZXModCkpKX0pKTp0aGlzLl9zZXRTdHlsZXModCl9c2hvdygpe3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIn1oaWRlKCl7dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHk9ImhpZGRlbiJ9X3NldFN0eWxlcyh0KXtjb25zdCBlPXRoaXMuX2lua0JhclBvc2l0aW9uZXIodCksbj10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7bi5zdHlsZS5sZWZ0PWUubGVmdCxuLnN0eWxlLndpZHRoPWUud2lkdGh9fWxqLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxsaikoZ2YoS2gpLGdmKG1DKSxnZihyaiksZ2YoY2ssOCkpfSxsai7JtWRpcj1obyh7dHlwZTpsaixzZWxlY3RvcnM6W1sibWF0LWluay1iYXIiXV0saG9zdEF0dHJzOlsxLCJtYXQtaW5rLWJhciJdLGhvc3RWYXJzOjIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJmN1KCJfbWF0LWFuaW1hdGlvbi1ub29wYWJsZSIsIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGUpfX0pLGxqLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbcmpdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGxqLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1pbmstYmFyIixob3N0OntjbGFzczoibWF0LWluay1iYXIiLCJbY2xhc3MuX21hdC1hbmltYXRpb24tbm9vcGFibGVdIjoiX2FuaW1hdGlvbk1vZGUgPT09ICdOb29wQW5pbWF0aW9ucycifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTptQ30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3JqXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IGNqPW5ldyBlcigiTWF0VGFiQ29udGVudCIpO2NsYXNzIGRqe2NvbnN0cnVjdG9yKHQpe3RoaXMudGVtcGxhdGU9dH19ZGouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGRqKShnZihFYikpfSxkai7JtWRpcj1obyh7dHlwZTpkaixzZWxlY3RvcnM6W1siIiwibWF0VGFiQ29udGVudCIsIiJdXSxmZWF0dXJlczpbamgoW3twcm92aWRlOmNqLHVzZUV4aXN0aW5nOmRqfV0pXX0pLGRqLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RWJ9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRqLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXRUYWJDb250ZW50XSIscHJvdmlkZXJzOlt7cHJvdmlkZTpjaix1c2VFeGlzdGluZzpkan1dfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RWJ9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgcGo9bmV3IGVyKCJNYXRUYWJMYWJlbCIpO2NsYXNzIG1qIGV4dGVuZHMgbUJ7fW1qLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShtaikpKShufHxtail9fSkoKSxtai7JtWRpcj1obyh7dHlwZTptaixzZWxlY3RvcnM6W1siIiwibWF0LXRhYi1sYWJlbCIsIiJdLFsiIiwibWF0VGFiTGFiZWwiLCIiXV0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpwaix1c2VFeGlzdGluZzptan1dKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1qLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXQtdGFiLWxhYmVsXSwgW21hdFRhYkxhYmVsXSIscHJvdmlkZXJzOlt7cHJvdmlkZTpwaix1c2VFeGlzdGluZzptan1dfV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgZmo9ekYoY2xhc3N7fSksdWo9bmV3IGVyKCJNQVRfVEFCX0dST1VQIik7Y2xhc3MgZ2ogZXh0ZW5kcyBmantjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy5fdmlld0NvbnRhaW5lclJlZj10LHRoaXMuX2Nsb3Nlc3RUYWJHcm91cD1lLHRoaXMudGV4dExhYmVsPSIiLHRoaXMuX2NvbnRlbnRQb3J0YWw9bnVsbCx0aGlzLl9zdGF0ZUNoYW5nZXM9bmV3IEIsdGhpcy5wb3NpdGlvbj1udWxsLHRoaXMub3JpZ2luPW51bGwsdGhpcy5pc0FjdGl2ZT0hMX1nZXQgdGVtcGxhdGVMYWJlbCgpe3JldHVybiB0aGlzLl90ZW1wbGF0ZUxhYmVsfXNldCB0ZW1wbGF0ZUxhYmVsKHQpe3RoaXMuX3NldFRlbXBsYXRlTGFiZWxJbnB1dCh0KX1nZXQgY29udGVudCgpe3JldHVybiB0aGlzLl9jb250ZW50UG9ydGFsfW5nT25DaGFuZ2VzKHQpeyh0Lmhhc093blByb3BlcnR5KCJ0ZXh0TGFiZWwiKXx8dC5oYXNPd25Qcm9wZXJ0eSgiZGlzYWJsZWQiKSkmJnRoaXMuX3N0YXRlQ2hhbmdlcy5uZXh0KCl9bmdPbkRlc3Ryb3koKXt0aGlzLl9zdGF0ZUNoYW5nZXMuY29tcGxldGUoKX1uZ09uSW5pdCgpe3RoaXMuX2NvbnRlbnRQb3J0YWw9bmV3IGxCKHRoaXMuX2V4cGxpY2l0Q29udGVudHx8dGhpcy5faW1wbGljaXRDb250ZW50LHRoaXMuX3ZpZXdDb250YWluZXJSZWYpfV9zZXRUZW1wbGF0ZUxhYmVsSW5wdXQodCl7dCYmKHRoaXMuX3RlbXBsYXRlTGFiZWw9dCl9fWdqLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxnaikoZ2YoRmIpLGdmKHVqLDgpKX0sZ2ouybVjbXA9c28oe3R5cGU6Z2osc2VsZWN0b3JzOltbIm1hdC10YWIiXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24gdChlLG4sbyl7aWYoMSZlJiYoankobyxwaiw1KSxqeShvLGNqLDcsRWIpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLnRlbXBsYXRlTGFiZWw9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uX2V4cGxpY2l0Q29udGVudD10LmZpcnN0KX19LHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeShFYiw3KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLl9pbXBsaWNpdENvbnRlbnQ9dC5maXJzdCl9fSxpbnB1dHM6e2Rpc2FibGVkOiJkaXNhYmxlZCIsdGV4dExhYmVsOlsibGFiZWwiLCJ0ZXh0TGFiZWwiXSxhcmlhTGFiZWw6WyJhcmlhLWxhYmVsIiwiYXJpYUxhYmVsIl0sYXJpYUxhYmVsbGVkYnk6WyJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhTGFiZWxsZWRieSJdfSxleHBvcnRBczpbIm1hdFRhYiJdLGZlYXR1cmVzOltRcCxxb10sbmdDb250ZW50U2VsZWN0b3JzOkdWLGRlY2xzOjEsdmFyczowLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZigpLEhtKDAsV1YsMSwwLCJuZy10ZW1wbGF0ZSIpKX0sZW5jYXBzdWxhdGlvbjoyfSksZ2ouY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpGYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3VqXX0se3R5cGU6QnJ9XX1dLGdqLnByb3BEZWNvcmF0b3JzPXt0ZW1wbGF0ZUxhYmVsOlt7dHlwZTppcixhcmdzOltwal19XSxfZXhwbGljaXRDb250ZW50Olt7dHlwZTppcixhcmdzOltjaix7cmVhZDpFYixzdGF0aWM6ITB9XX1dLF9pbXBsaWNpdENvbnRlbnQ6W3t0eXBlOmFyLGFyZ3M6W0ViLHtzdGF0aWM6ITB9XX1dLHRleHRMYWJlbDpbe3R5cGU6Ul8sYXJnczpbImxhYmVsIl19XSxhcmlhTGFiZWw6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsIl19XSxhcmlhTGFiZWxsZWRieTpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWxsZWRieSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZ2osW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXRhYiIsdGVtcGxhdGU6Ilx4M2MhLS0gQ3JlYXRlIGEgdGVtcGxhdGUgZm9yIHRoZSBjb250ZW50IG9mIHRoZSA8bWF0LXRhYj4gc28gdGhhdCB3ZSBjYW4gZ3JhYiBhIHJlZmVyZW5jZSB0byB0aGlzXG4gICAgVGVtcGxhdGVSZWYgYW5kIHVzZSBpdCBpbiBhIFBvcnRhbCB0byByZW5kZXIgdGhlIHRhYiBjb250ZW50IGluIHRoZSBhcHByb3ByaWF0ZSBwbGFjZSBpbiB0aGVcbiAgICB0YWItZ3JvdXAuIC0tXHgzZVxuPG5nLXRlbXBsYXRlPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPlxuIixpbnB1dHM6WyJkaXNhYmxlZCJdLGNoYW5nZURldGVjdGlvbjpqbi5EZWZhdWx0LGVuY2Fwc3VsYXRpb246V24uTm9uZSxleHBvcnRBczoibWF0VGFiIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkZifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbdWpdfSx7dHlwZTpCcn1dfV19KSx7dGV4dExhYmVsOlt7dHlwZTpSXyxhcmdzOlsibGFiZWwiXX1dLHRlbXBsYXRlTGFiZWw6W3t0eXBlOmlyLGFyZ3M6W3BqXX1dLF9leHBsaWNpdENvbnRlbnQ6W3t0eXBlOmlyLGFyZ3M6W2NqLHtyZWFkOkViLHN0YXRpYzohMH1dfV0sX2ltcGxpY2l0Q29udGVudDpbe3R5cGU6YXIsYXJnczpbRWIse3N0YXRpYzohMH1dfV0sYXJpYUxhYmVsOlt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbCJdfV0sYXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBoaj17dHJhbnNsYXRlVGFiOnhPKCJ0cmFuc2xhdGVUYWIiLFtrTygiY2VudGVyLCB2b2lkLCBsZWZ0LW9yaWdpbi1jZW50ZXIsIHJpZ2h0LW9yaWdpbi1jZW50ZXIiLHdPKHt0cmFuc2Zvcm06Im5vbmUifSkpLGtPKCJsZWZ0Iix3Tyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkiLG1pbkhlaWdodDoiMXB4In0pKSxrTygicmlnaHQiLHdPKHt0cmFuc2Zvcm06InRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIixtaW5IZWlnaHQ6IjFweCJ9KSksRE8oIiogPT4gbGVmdCwgKiA9PiByaWdodCwgbGVmdCA9PiBjZW50ZXIsIHJpZ2h0ID0+IGNlbnRlciIsT08oInt7YW5pbWF0aW9uRHVyYXRpb259fSBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSkiKSksRE8oInZvaWQgPT4gbGVmdC1vcmlnaW4tY2VudGVyIixbd08oe3RyYW5zZm9ybToidHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIn0pLE9PKCJ7e2FuaW1hdGlvbkR1cmF0aW9ufX0gY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpIildKSxETygidm9pZCA9PiByaWdodC1vcmlnaW4tY2VudGVyIixbd08oe3RyYW5zZm9ybToidHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkifSksT08oInt7YW5pbWF0aW9uRHVyYXRpb259fSBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSkiKV0pXSl9OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBiaiBleHRlbmRzIHVCe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKHQsZSxvKSx0aGlzLl9ob3N0PW4sdGhpcy5fY2VudGVyaW5nU3ViPXUuRU1QVFksdGhpcy5fbGVhdmluZ1N1Yj11LkVNUFRZfW5nT25Jbml0KCl7c3VwZXIubmdPbkluaXQoKSx0aGlzLl9jZW50ZXJpbmdTdWI9dGhpcy5faG9zdC5fYmVmb3JlQ2VudGVyaW5nLnBpcGUoQmUodGhpcy5faG9zdC5faXNDZW50ZXJQb3NpdGlvbih0aGlzLl9ob3N0Ll9wb3NpdGlvbikpKS5zdWJzY3JpYmUoKHQ9Pnt0JiYhdGhpcy5oYXNBdHRhY2hlZCgpJiZ0aGlzLmF0dGFjaCh0aGlzLl9ob3N0Ll9jb250ZW50KX0pKSx0aGlzLl9sZWF2aW5nU3ViPXRoaXMuX2hvc3QuX2FmdGVyTGVhdmluZ0NlbnRlci5zdWJzY3JpYmUoKCgpPT57dGhpcy5kZXRhY2goKX0pKX1uZ09uRGVzdHJveSgpe3N1cGVyLm5nT25EZXN0cm95KCksdGhpcy5fY2VudGVyaW5nU3ViLnVuc3Vic2NyaWJlKCksdGhpcy5fbGVhdmluZ1N1Yi51bnN1YnNjcmliZSgpfX1iai7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8YmopKGdmKEdoKSxnZihGYiksZ2YoJGUoKCgpPT5faikpKSxnZihzTSkpfSxiai7JtWRpcj1obyh7dHlwZTpiaixzZWxlY3RvcnM6W1siIiwibWF0VGFiQm9keUhvc3QiLCIiXV0sZmVhdHVyZXM6W1FwXX0pLGJqLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6R2h9LHt0eXBlOkZifSx7dHlwZTpfaixkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOlskZSgoKCk9Pl9qKSldfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoYmosW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdFRhYkJvZHlIb3N0XSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpHaH0se3R5cGU6RmJ9LHt0eXBlOl9qLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6WyRlKCgoKT0+X2opKV19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjbGFzcyB5antjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fZWxlbWVudFJlZj10LHRoaXMuX2Rpcj1lLHRoaXMuX2RpckNoYW5nZVN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX3RyYW5zbGF0ZVRhYkNvbXBsZXRlPW5ldyBCLHRoaXMuX29uQ2VudGVyaW5nPW5ldyBTeSx0aGlzLl9iZWZvcmVDZW50ZXJpbmc9bmV3IFN5LHRoaXMuX2FmdGVyTGVhdmluZ0NlbnRlcj1uZXcgU3ksdGhpcy5fb25DZW50ZXJlZD1uZXcgU3koITApLHRoaXMuYW5pbWF0aW9uRHVyYXRpb249IjUwMG1zIixlJiYodGhpcy5fZGlyQ2hhbmdlU3Vic2NyaXB0aW9uPWUuY2hhbmdlLnN1YnNjcmliZSgodD0+e3RoaXMuX2NvbXB1dGVQb3NpdGlvbkFuaW1hdGlvblN0YXRlKHQpLG4ubWFya0ZvckNoZWNrKCl9KSkpLHRoaXMuX3RyYW5zbGF0ZVRhYkNvbXBsZXRlLnBpcGUod2UoKCh0LGUpPT50LmZyb21TdGF0ZT09PWUuZnJvbVN0YXRlJiZ0LnRvU3RhdGU9PT1lLnRvU3RhdGUpKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5faXNDZW50ZXJQb3NpdGlvbih0LnRvU3RhdGUpJiZ0aGlzLl9pc0NlbnRlclBvc2l0aW9uKHRoaXMuX3Bvc2l0aW9uKSYmdGhpcy5fb25DZW50ZXJlZC5lbWl0KCksdGhpcy5faXNDZW50ZXJQb3NpdGlvbih0LmZyb21TdGF0ZSkmJiF0aGlzLl9pc0NlbnRlclBvc2l0aW9uKHRoaXMuX3Bvc2l0aW9uKSYmdGhpcy5fYWZ0ZXJMZWF2aW5nQ2VudGVyLmVtaXQoKX0pKX1zZXQgcG9zaXRpb24odCl7dGhpcy5fcG9zaXRpb25JbmRleD10LHRoaXMuX2NvbXB1dGVQb3NpdGlvbkFuaW1hdGlvblN0YXRlKCl9bmdPbkluaXQoKXsiY2VudGVyIj09dGhpcy5fcG9zaXRpb24mJm51bGwhPXRoaXMub3JpZ2luJiYodGhpcy5fcG9zaXRpb249dGhpcy5fY29tcHV0ZVBvc2l0aW9uRnJvbU9yaWdpbih0aGlzLm9yaWdpbikpfW5nT25EZXN0cm95KCl7dGhpcy5fZGlyQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fdHJhbnNsYXRlVGFiQ29tcGxldGUuY29tcGxldGUoKX1fb25UcmFuc2xhdGVUYWJTdGFydGVkKHQpe2NvbnN0IGU9dGhpcy5faXNDZW50ZXJQb3NpdGlvbih0LnRvU3RhdGUpO3RoaXMuX2JlZm9yZUNlbnRlcmluZy5lbWl0KGUpLGUmJnRoaXMuX29uQ2VudGVyaW5nLmVtaXQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCl9X2dldExheW91dERpcmVjdGlvbigpe3JldHVybiB0aGlzLl9kaXImJiJydGwiPT09dGhpcy5fZGlyLnZhbHVlPyJydGwiOiJsdHIifV9pc0NlbnRlclBvc2l0aW9uKHQpe3JldHVybiJjZW50ZXIiPT10fHwibGVmdC1vcmlnaW4tY2VudGVyIj09dHx8InJpZ2h0LW9yaWdpbi1jZW50ZXIiPT10fV9jb21wdXRlUG9zaXRpb25BbmltYXRpb25TdGF0ZSh0PXRoaXMuX2dldExheW91dERpcmVjdGlvbigpKXt0aGlzLl9wb3NpdGlvbj10aGlzLl9wb3NpdGlvbkluZGV4PDA/Imx0ciI9PXQ/ImxlZnQiOiJyaWdodCI6dGhpcy5fcG9zaXRpb25JbmRleD4wPyJsdHIiPT10PyJyaWdodCI6ImxlZnQiOiJjZW50ZXIifV9jb21wdXRlUG9zaXRpb25Gcm9tT3JpZ2luKHQpe2NvbnN0IGU9dGhpcy5fZ2V0TGF5b3V0RGlyZWN0aW9uKCk7cmV0dXJuImx0ciI9PWUmJnQ8PTB8fCJydGwiPT1lJiZ0PjA/ImxlZnQtb3JpZ2luLWNlbnRlciI6InJpZ2h0LW9yaWdpbi1jZW50ZXIifX15ai7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eWopKGdmKEtoKSxnZih2Riw4KSxnZihPYikpfSx5ai7JtWRpcj1obyh7dHlwZTp5aixpbnB1dHM6e2FuaW1hdGlvbkR1cmF0aW9uOiJhbmltYXRpb25EdXJhdGlvbiIscG9zaXRpb246InBvc2l0aW9uIixfY29udGVudDpbImNvbnRlbnQiLCJfY29udGVudCJdLG9yaWdpbjoib3JpZ2luIn0sb3V0cHV0czp7X29uQ2VudGVyaW5nOiJfb25DZW50ZXJpbmciLF9iZWZvcmVDZW50ZXJpbmc6Il9iZWZvcmVDZW50ZXJpbmciLF9hZnRlckxlYXZpbmdDZW50ZXI6Il9hZnRlckxlYXZpbmdDZW50ZXIiLF9vbkNlbnRlcmVkOiJfb25DZW50ZXJlZCJ9fSkseWouY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6T2J9XSx5ai5wcm9wRGVjb3JhdG9ycz17X29uQ2VudGVyaW5nOlt7dHlwZTpFX31dLF9iZWZvcmVDZW50ZXJpbmc6W3t0eXBlOkVffV0sX2FmdGVyTGVhdmluZ0NlbnRlcjpbe3R5cGU6RV99XSxfb25DZW50ZXJlZDpbe3R5cGU6RV99XSxfY29udGVudDpbe3R5cGU6Ul8sYXJnczpbImNvbnRlbnQiXX1dLG9yaWdpbjpbe3R5cGU6Ul99XSxhbmltYXRpb25EdXJhdGlvbjpbe3R5cGU6Ul99XSxwb3NpdGlvbjpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih5aixbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOk9ifV19KSx7X29uQ2VudGVyaW5nOlt7dHlwZTpFX31dLF9iZWZvcmVDZW50ZXJpbmc6W3t0eXBlOkVffV0sX2FmdGVyTGVhdmluZ0NlbnRlcjpbe3R5cGU6RV99XSxfb25DZW50ZXJlZDpbe3R5cGU6RV99XSxhbmltYXRpb25EdXJhdGlvbjpbe3R5cGU6Ul99XSxwb3NpdGlvbjpbe3R5cGU6Ul99XSxfY29udGVudDpbe3R5cGU6Ul8sYXJnczpbImNvbnRlbnQiXX1dLG9yaWdpbjpbe3R5cGU6Ul99XX0pO2NsYXNzIF9qIGV4dGVuZHMgeWp7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSxuKX19X2ouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fF9qKShnZihLaCksZ2YodkYsOCksZ2YoT2IpKX0sX2ouybVjbXA9c28oe3R5cGU6X2osc2VsZWN0b3JzOltbIm1hdC10YWItYm9keSJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkodUIsNSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5fcG9ydGFsSG9zdD10LmZpcnN0KX19LGhvc3RBdHRyczpbMSwibWF0LXRhYi1ib2R5Il0sZmVhdHVyZXM6W1FwXSxkZWNsczozLHZhcnM6Nixjb25zdHM6W1siY2RrU2Nyb2xsYWJsZSIsIiIsMSwibWF0LXRhYi1ib2R5LWNvbnRlbnQiXSxbImNvbnRlbnQiLCIiXSxbIm1hdFRhYkJvZHlIb3N0IiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDAsMSksUmYoIkB0cmFuc2xhdGVUYWIuc3RhcnQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9vblRyYW5zbGF0ZVRhYlN0YXJ0ZWQoZSl9KSkoIkB0cmFuc2xhdGVUYWIuZG9uZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX3RyYW5zbGF0ZVRhYkNvbXBsZXRlLm5leHQoZSl9KSksSG0oMixZViwwLDAsIm5nLXRlbXBsYXRlIiwyKSxNZigpKSwyJmUmJmJmKCJAdHJhbnNsYXRlVGFiIixheSgzLFpWLG4uX3Bvc2l0aW9uLGl5KDEscVYsbi5hbmltYXRpb25EdXJhdGlvbikpKX0sZGlyZWN0aXZlczpbYmpdLHN0eWxlczpbIi5tYXQtdGFiLWJvZHktY29udGVudHtoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvfS5tYXQtdGFiLWdyb3VwLWR5bmFtaWMtaGVpZ2h0IC5tYXQtdGFiLWJvZHktY29udGVudHtvdmVyZmxvdzpoaWRkZW59XG4iXSxlbmNhcHN1bGF0aW9uOjIsZGF0YTp7YW5pbWF0aW9uOltoai50cmFuc2xhdGVUYWJdfX0pLF9qLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOk9ifV0sX2oucHJvcERlY29yYXRvcnM9e19wb3J0YWxIb3N0Olt7dHlwZTphcixhcmdzOlt1Ql19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihfaixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtdGFiLWJvZHkiLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJtYXQtdGFiLWJvZHktY29udGVudCIgI2NvbnRlbnRcbiAgICAgW0B0cmFuc2xhdGVUYWJdPSJ7XG4gICAgICAgIHZhbHVlOiBfcG9zaXRpb24sXG4gICAgICAgIHBhcmFtczoge2FuaW1hdGlvbkR1cmF0aW9uOiBhbmltYXRpb25EdXJhdGlvbn1cbiAgICAgfSJcbiAgICAgKEB0cmFuc2xhdGVUYWIuc3RhcnQpPSJfb25UcmFuc2xhdGVUYWJTdGFydGVkKCRldmVudCkiXG4gICAgIChAdHJhbnNsYXRlVGFiLmRvbmUpPSJfdHJhbnNsYXRlVGFiQ29tcGxldGUubmV4dCgkZXZlbnQpIlxuICAgICBjZGtTY3JvbGxhYmxlPlxuICA8bmctdGVtcGxhdGUgbWF0VGFiQm9keUhvc3Q+PC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuJyxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLkRlZmF1bHQsYW5pbWF0aW9uczpbaGoudHJhbnNsYXRlVGFiXSxob3N0OntjbGFzczoibWF0LXRhYi1ib2R5In0sc3R5bGVzOlsiLm1hdC10YWItYm9keS1jb250ZW50e2hlaWdodDoxMDAlO292ZXJmbG93OmF1dG99Lm1hdC10YWItZ3JvdXAtZHluYW1pYy1oZWlnaHQgLm1hdC10YWItYm9keS1jb250ZW50e292ZXJmbG93OmhpZGRlbn1cbiJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOk9ifV19KSx7X3BvcnRhbEhvc3Q6W3t0eXBlOmFyLGFyZ3M6W3VCXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBDaj1uZXcgZXIoIk1BVF9UQUJTX0NPTkZJRyIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9sZXQgTWo9MDtjbGFzcyB2ant9Y29uc3QgeGo9SUYoSEYoY2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5fZWxlbWVudFJlZj10fX0pLCJwcmltYXJ5Iik7Y2xhc3MgT2ogZXh0ZW5kcyB4antjb25zdHJ1Y3Rvcih0LGUsbixvKXt2YXIgaTtzdXBlcih0KSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj1lLHRoaXMuX2FuaW1hdGlvbk1vZGU9byx0aGlzLl90YWJzPW5ldyBSeSx0aGlzLl9pbmRleFRvU2VsZWN0PTAsdGhpcy5fdGFiQm9keVdyYXBwZXJIZWlnaHQ9MCx0aGlzLl90YWJzU3Vic2NyaXB0aW9uPXUuRU1QVFksdGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb249dS5FTVBUWSx0aGlzLl9zZWxlY3RlZEluZGV4PW51bGwsdGhpcy5oZWFkZXJQb3NpdGlvbj0iYWJvdmUiLHRoaXMuc2VsZWN0ZWRJbmRleENoYW5nZT1uZXcgU3ksdGhpcy5mb2N1c0NoYW5nZT1uZXcgU3ksdGhpcy5hbmltYXRpb25Eb25lPW5ldyBTeSx0aGlzLnNlbGVjdGVkVGFiQ2hhbmdlPW5ldyBTeSghMCksdGhpcy5fZ3JvdXBJZD1NaisrLHRoaXMuYW5pbWF0aW9uRHVyYXRpb249biYmbi5hbmltYXRpb25EdXJhdGlvbj9uLmFuaW1hdGlvbkR1cmF0aW9uOiI1MDBtcyIsdGhpcy5kaXNhYmxlUGFnaW5hdGlvbj0hKCFufHxudWxsPT1uLmRpc2FibGVQYWdpbmF0aW9uKSYmbi5kaXNhYmxlUGFnaW5hdGlvbix0aGlzLmR5bmFtaWNIZWlnaHQ9ISghbnx8bnVsbD09bi5keW5hbWljSGVpZ2h0KSYmbi5keW5hbWljSGVpZ2h0LHRoaXMuY29udGVudFRhYkluZGV4PW51bGwhPT0oaT1udWxsPT1uP3ZvaWQgMDpuLmNvbnRlbnRUYWJJbmRleCkmJnZvaWQgMCE9PWk/aTpudWxsfWdldCBkeW5hbWljSGVpZ2h0KCl7cmV0dXJuIHRoaXMuX2R5bmFtaWNIZWlnaHR9c2V0IGR5bmFtaWNIZWlnaHQodCl7dGhpcy5fZHluYW1pY0hlaWdodD1lSCh0KX1nZXQgc2VsZWN0ZWRJbmRleCgpe3JldHVybiB0aGlzLl9zZWxlY3RlZEluZGV4fXNldCBzZWxlY3RlZEluZGV4KHQpe3RoaXMuX2luZGV4VG9TZWxlY3Q9bkgodCxudWxsKX1nZXQgYW5pbWF0aW9uRHVyYXRpb24oKXtyZXR1cm4gdGhpcy5fYW5pbWF0aW9uRHVyYXRpb259c2V0IGFuaW1hdGlvbkR1cmF0aW9uKHQpe3RoaXMuX2FuaW1hdGlvbkR1cmF0aW9uPS9eXGQrJC8udGVzdCh0KT90KyJtcyI6dH1nZXQgY29udGVudFRhYkluZGV4KCl7cmV0dXJuIHRoaXMuX2NvbnRlbnRUYWJJbmRleH1zZXQgY29udGVudFRhYkluZGV4KHQpe3RoaXMuX2NvbnRlbnRUYWJJbmRleD1uSCh0LG51bGwpfWdldCBiYWNrZ3JvdW5kQ29sb3IoKXtyZXR1cm4gdGhpcy5fYmFja2dyb3VuZENvbG9yfXNldCBiYWNrZ3JvdW5kQ29sb3IodCl7Y29uc3QgZT10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7ZS5jbGFzc0xpc3QucmVtb3ZlKGBtYXQtYmFja2dyb3VuZC0ke3RoaXMuYmFja2dyb3VuZENvbG9yfWApLHQmJmUuY2xhc3NMaXN0LmFkZChgbWF0LWJhY2tncm91bmQtJHt0fWApLHRoaXMuX2JhY2tncm91bmRDb2xvcj10fW5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpe2NvbnN0IHQ9dGhpcy5faW5kZXhUb1NlbGVjdD10aGlzLl9jbGFtcFRhYkluZGV4KHRoaXMuX2luZGV4VG9TZWxlY3QpO2lmKHRoaXMuX3NlbGVjdGVkSW5kZXghPXQpe2NvbnN0IGU9bnVsbD09dGhpcy5fc2VsZWN0ZWRJbmRleDtpZighZSl7dGhpcy5zZWxlY3RlZFRhYkNoYW5nZS5lbWl0KHRoaXMuX2NyZWF0ZUNoYW5nZUV2ZW50KHQpKTtjb25zdCBlPXRoaXMuX3RhYkJvZHlXcmFwcGVyLm5hdGl2ZUVsZW1lbnQ7ZS5zdHlsZS5taW5IZWlnaHQ9ZS5jbGllbnRIZWlnaHQrInB4In1Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX3RhYnMuZm9yRWFjaCgoKGUsbik9PmUuaXNBY3RpdmU9bj09PXQpKSxlfHwodGhpcy5zZWxlY3RlZEluZGV4Q2hhbmdlLmVtaXQodCksdGhpcy5fdGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudC5zdHlsZS5taW5IZWlnaHQ9IiIpfSkpfXRoaXMuX3RhYnMuZm9yRWFjaCgoKGUsbik9PntlLnBvc2l0aW9uPW4tdCxudWxsPT10aGlzLl9zZWxlY3RlZEluZGV4fHwwIT1lLnBvc2l0aW9ufHxlLm9yaWdpbnx8KGUub3JpZ2luPXQtdGhpcy5fc2VsZWN0ZWRJbmRleCl9KSksdGhpcy5fc2VsZWN0ZWRJbmRleCE9PXQmJih0aGlzLl9zZWxlY3RlZEluZGV4PXQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX3N1YnNjcmliZVRvQWxsVGFiQ2hhbmdlcygpLHRoaXMuX3N1YnNjcmliZVRvVGFiTGFiZWxzKCksdGhpcy5fdGFic1N1YnNjcmlwdGlvbj10aGlzLl90YWJzLmNoYW5nZXMuc3Vic2NyaWJlKCgoKT0+e2lmKHRoaXMuX2NsYW1wVGFiSW5kZXgodGhpcy5faW5kZXhUb1NlbGVjdCk9PT10aGlzLl9zZWxlY3RlZEluZGV4KXtjb25zdCB0PXRoaXMuX3RhYnMudG9BcnJheSgpO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKHRbZV0uaXNBY3RpdmUpe3RoaXMuX2luZGV4VG9TZWxlY3Q9dGhpcy5fc2VsZWN0ZWRJbmRleD1lO2JyZWFrfX10aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX0pKX1fc3Vic2NyaWJlVG9BbGxUYWJDaGFuZ2VzKCl7dGhpcy5fYWxsVGFicy5jaGFuZ2VzLnBpcGUoQmUodGhpcy5fYWxsVGFicykpLnN1YnNjcmliZSgodD0+e3RoaXMuX3RhYnMucmVzZXQodC5maWx0ZXIoKHQ9PnQuX2Nsb3Nlc3RUYWJHcm91cD09PXRoaXN8fCF0Ll9jbG9zZXN0VGFiR3JvdXApKSksdGhpcy5fdGFicy5ub3RpZnlPbkNoYW5nZXMoKX0pKX1uZ09uRGVzdHJveSgpe3RoaXMuX3RhYnMuZGVzdHJveSgpLHRoaXMuX3RhYnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl90YWJMYWJlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfXJlYWxpZ25JbmtCYXIoKXt0aGlzLl90YWJIZWFkZXImJnRoaXMuX3RhYkhlYWRlci5fYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCl9Zm9jdXNUYWIodCl7Y29uc3QgZT10aGlzLl90YWJIZWFkZXI7ZSYmKGUuZm9jdXNJbmRleD10KX1fZm9jdXNDaGFuZ2VkKHQpe3RoaXMuZm9jdXNDaGFuZ2UuZW1pdCh0aGlzLl9jcmVhdGVDaGFuZ2VFdmVudCh0KSl9X2NyZWF0ZUNoYW5nZUV2ZW50KHQpe2NvbnN0IGU9bmV3IHZqO3JldHVybiBlLmluZGV4PXQsdGhpcy5fdGFicyYmdGhpcy5fdGFicy5sZW5ndGgmJihlLnRhYj10aGlzLl90YWJzLnRvQXJyYXkoKVt0XSksZX1fc3Vic2NyaWJlVG9UYWJMYWJlbHMoKXt0aGlzLl90YWJMYWJlbFN1YnNjcmlwdGlvbiYmdGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl90YWJMYWJlbFN1YnNjcmlwdGlvbj1wZSguLi50aGlzLl90YWJzLm1hcCgodD0+dC5fc3RhdGVDaGFuZ2VzKSkpLnN1YnNjcmliZSgoKCk9PnRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKSl9X2NsYW1wVGFiSW5kZXgodCl7cmV0dXJuIE1hdGgubWluKHRoaXMuX3RhYnMubGVuZ3RoLTEsTWF0aC5tYXgodHx8MCwwKSl9X2dldFRhYkxhYmVsSWQodCl7cmV0dXJuYG1hdC10YWItbGFiZWwtJHt0aGlzLl9ncm91cElkfS0ke3R9YH1fZ2V0VGFiQ29udGVudElkKHQpe3JldHVybmBtYXQtdGFiLWNvbnRlbnQtJHt0aGlzLl9ncm91cElkfS0ke3R9YH1fc2V0VGFiQm9keVdyYXBwZXJIZWlnaHQodCl7aWYoIXRoaXMuX2R5bmFtaWNIZWlnaHR8fCF0aGlzLl90YWJCb2R5V3JhcHBlckhlaWdodClyZXR1cm47Y29uc3QgZT10aGlzLl90YWJCb2R5V3JhcHBlci5uYXRpdmVFbGVtZW50O2Uuc3R5bGUuaGVpZ2h0PXRoaXMuX3RhYkJvZHlXcmFwcGVySGVpZ2h0KyJweCIsdGhpcy5fdGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQmJihlLnN0eWxlLmhlaWdodD10KyJweCIpfV9yZW1vdmVUYWJCb2R5V3JhcHBlckhlaWdodCgpe2NvbnN0IHQ9dGhpcy5fdGFiQm9keVdyYXBwZXIubmF0aXZlRWxlbWVudDt0aGlzLl90YWJCb2R5V3JhcHBlckhlaWdodD10LmNsaWVudEhlaWdodCx0LnN0eWxlLmhlaWdodD0iIix0aGlzLmFuaW1hdGlvbkRvbmUuZW1pdCgpfV9oYW5kbGVDbGljayh0LGUsbil7dC5kaXNhYmxlZHx8KHRoaXMuc2VsZWN0ZWRJbmRleD1lLmZvY3VzSW5kZXg9bil9X2dldFRhYkluZGV4KHQsZSl7cmV0dXJuIHQuZGlzYWJsZWQ/bnVsbDp0aGlzLnNlbGVjdGVkSW5kZXg9PT1lPzA6LTF9X3RhYkZvY3VzQ2hhbmdlZCh0LGUpe3QmJiJtb3VzZSIhPT10JiYidG91Y2giIT09dCYmKHRoaXMuX3RhYkhlYWRlci5mb2N1c0luZGV4PWUpfX1Pai7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8T2opKGdmKEtoKSxnZihPYiksZ2YoQ2osOCksZ2YoY2ssOCkpfSxPai7JtWRpcj1obyh7dHlwZTpPaixpbnB1dHM6e2hlYWRlclBvc2l0aW9uOiJoZWFkZXJQb3NpdGlvbiIsYW5pbWF0aW9uRHVyYXRpb246ImFuaW1hdGlvbkR1cmF0aW9uIixkaXNhYmxlUGFnaW5hdGlvbjoiZGlzYWJsZVBhZ2luYXRpb24iLGR5bmFtaWNIZWlnaHQ6ImR5bmFtaWNIZWlnaHQiLGNvbnRlbnRUYWJJbmRleDoiY29udGVudFRhYkluZGV4IixzZWxlY3RlZEluZGV4OiJzZWxlY3RlZEluZGV4IixiYWNrZ3JvdW5kQ29sb3I6ImJhY2tncm91bmRDb2xvciJ9LG91dHB1dHM6e3NlbGVjdGVkSW5kZXhDaGFuZ2U6InNlbGVjdGVkSW5kZXhDaGFuZ2UiLGZvY3VzQ2hhbmdlOiJmb2N1c0NoYW5nZSIsYW5pbWF0aW9uRG9uZToiYW5pbWF0aW9uRG9uZSIsc2VsZWN0ZWRUYWJDaGFuZ2U6InNlbGVjdGVkVGFiQ2hhbmdlIn0sZmVhdHVyZXM6W1FwXX0pLE9qLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbQ2pdfSx7dHlwZTpCcn1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sT2oucHJvcERlY29yYXRvcnM9e2R5bmFtaWNIZWlnaHQ6W3t0eXBlOlJffV0sc2VsZWN0ZWRJbmRleDpbe3R5cGU6Ul99XSxoZWFkZXJQb3NpdGlvbjpbe3R5cGU6Ul99XSxhbmltYXRpb25EdXJhdGlvbjpbe3R5cGU6Ul99XSxjb250ZW50VGFiSW5kZXg6W3t0eXBlOlJffV0sZGlzYWJsZVBhZ2luYXRpb246W3t0eXBlOlJffV0sYmFja2dyb3VuZENvbG9yOlt7dHlwZTpSX31dLHNlbGVjdGVkSW5kZXhDaGFuZ2U6W3t0eXBlOkVffV0sZm9jdXNDaGFuZ2U6W3t0eXBlOkVffV0sYW5pbWF0aW9uRG9uZTpbe3R5cGU6RV99XSxzZWxlY3RlZFRhYkNoYW5nZTpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPaixbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbQ2pdfSx7dHlwZTpCcn1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV19KSx7aGVhZGVyUG9zaXRpb246W3t0eXBlOlJffV0sc2VsZWN0ZWRJbmRleENoYW5nZTpbe3R5cGU6RV99XSxmb2N1c0NoYW5nZTpbe3R5cGU6RV99XSxhbmltYXRpb25Eb25lOlt7dHlwZTpFX31dLHNlbGVjdGVkVGFiQ2hhbmdlOlt7dHlwZTpFX31dLGFuaW1hdGlvbkR1cmF0aW9uOlt7dHlwZTpSX31dLGRpc2FibGVQYWdpbmF0aW9uOlt7dHlwZTpSX31dLGR5bmFtaWNIZWlnaHQ6W3t0eXBlOlJffV0sY29udGVudFRhYkluZGV4Olt7dHlwZTpSX31dLHNlbGVjdGVkSW5kZXg6W3t0eXBlOlJffV0sYmFja2dyb3VuZENvbG9yOlt7dHlwZTpSX31dfSk7Y2xhc3MgUGogZXh0ZW5kcyBPantjb25zdHJ1Y3Rvcih0LGUsbixvKXtzdXBlcih0LGUsbixvKX19UGouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFBqKShnZihLaCksZ2YoT2IpLGdmKENqLDgpLGdmKGNrLDgpKX0sUGouybVjbXA9c28oe3R5cGU6UGosc2VsZWN0b3JzOltbIm1hdC10YWItZ3JvdXAiXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24gdChlLG4sbyl7aWYoMSZlJiZqeShvLGdqLDUpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uX2FsbFRhYnM9dCl9fSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKFZ5KFhWLDUpLFZ5KEtWLDUpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLl90YWJCb2R5V3JhcHBlcj10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5fdGFiSGVhZGVyPXQuZmlyc3QpfX0saG9zdEF0dHJzOlsxLCJtYXQtdGFiLWdyb3VwIl0saG9zdFZhcnM6NCxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoIm1hdC10YWItZ3JvdXAtZHluYW1pYy1oZWlnaHQiLG4uZHluYW1pY0hlaWdodCkoIm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIiwiYmVsb3ciPT09bi5oZWFkZXJQb3NpdGlvbil9LGlucHV0czp7Y29sb3I6ImNvbG9yIixkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIn0sZXhwb3J0QXM6WyJtYXRUYWJHcm91cCJdLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6dWosdXNlRXhpc3Rpbmc6UGp9XSksUXBdLGRlY2xzOjYsdmFyczo3LGNvbnN0czpbWzMsInNlbGVjdGVkSW5kZXgiLCJkaXNhYmxlUmlwcGxlIiwiZGlzYWJsZVBhZ2luYXRpb24iLCJpbmRleEZvY3VzZWQiLCJzZWxlY3RGb2N1c2VkSW5kZXgiXSxbInRhYkhlYWRlciIsIiJdLFsiY2xhc3MiLCJtYXQtdGFiLWxhYmVsIG1hdC1mb2N1cy1pbmRpY2F0b3IiLCJyb2xlIiwidGFiIiwibWF0VGFiTGFiZWxXcmFwcGVyIiwiIiwibWF0LXJpcHBsZSIsIiIsImNka01vbml0b3JFbGVtZW50Rm9jdXMiLCIiLDMsImlkIiwibWF0LXRhYi1sYWJlbC1hY3RpdmUiLCJkaXNhYmxlZCIsIm1hdFJpcHBsZURpc2FibGVkIiwiY2xpY2siLCJjZGtGb2N1c0NoYW5nZSIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzEsIm1hdC10YWItYm9keS13cmFwcGVyIl0sWyJ0YWJCb2R5V3JhcHBlciIsIiJdLFsicm9sZSIsInRhYnBhbmVsIiwzLCJpZCIsIm1hdC10YWItYm9keS1hY3RpdmUiLCJjb250ZW50IiwicG9zaXRpb24iLCJvcmlnaW4iLCJhbmltYXRpb25EdXJhdGlvbiIsIl9vbkNlbnRlcmVkIiwiX29uQ2VudGVyaW5nIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbInJvbGUiLCJ0YWIiLCJtYXRUYWJMYWJlbFdyYXBwZXIiLCIiLCJtYXQtcmlwcGxlIiwiIiwiY2RrTW9uaXRvckVsZW1lbnRGb2N1cyIsIiIsMSwibWF0LXRhYi1sYWJlbCIsIm1hdC1mb2N1cy1pbmRpY2F0b3IiLDMsImlkIiwiZGlzYWJsZWQiLCJtYXRSaXBwbGVEaXNhYmxlZCIsImNsaWNrIiwiY2RrRm9jdXNDaGFuZ2UiXSxbMSwibWF0LXRhYi1sYWJlbC1jb250ZW50Il0sWzMsIm5nSWYiXSxbMywiY2RrUG9ydGFsT3V0bGV0Il0sWyJyb2xlIiwidGFicGFuZWwiLDMsImlkIiwiY29udGVudCIsInBvc2l0aW9uIiwib3JpZ2luIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJfb25DZW50ZXJlZCIsIl9vbkNlbnRlcmluZyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWF0LXRhYi1oZWFkZXIiLDAsMSksUmYoImluZGV4Rm9jdXNlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2ZvY3VzQ2hhbmdlZChlKX0pKSgic2VsZWN0Rm9jdXNlZEluZGV4IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5zZWxlY3RlZEluZGV4PWV9KSksSG0oMix0aiw0LDE0LCJkaXYiLDIpLE1mKCksQ2YoMywiZGl2IiwzLDQpLEhtKDUsZWosMSw5LCJtYXQtdGFiLWJvZHkiLDUpLE1mKCkpLDImZSYmKGJmKCJzZWxlY3RlZEluZGV4IixuLnNlbGVjdGVkSW5kZXh8fDApKCJkaXNhYmxlUmlwcGxlIixuLmRpc2FibGVSaXBwbGUpKCJkaXNhYmxlUGFnaW5hdGlvbiIsbi5kaXNhYmxlUGFnaW5hdGlvbiksRGMoMiksYmYoIm5nRm9yT2YiLG4uX3RhYnMpLERjKDEpLGN1KCJfbWF0LWFuaW1hdGlvbi1ub29wYWJsZSIsIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGUpLERjKDIpLGJmKCJuZ0Zvck9mIixuLl90YWJzKSl9LGRpcmVjdGl2ZXM6ZnVuY3Rpb24oKXtyZXR1cm5bRWoseHYsa2osbUwsdUYsUHYsdUIsX2pdfSxzdHlsZXM6WyIubWF0LXRhYi1ncm91cHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC13aWR0aDoxMDAlfS5tYXQtdGFiLWdyb3VwLm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfS5tYXQtdGFiLWxhYmVse2hlaWdodDo0OHB4O3BhZGRpbmc6MCAyNHB4O2N1cnNvcjpwb2ludGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtvcGFjaXR5Oi42O21pbi13aWR0aDoxNjBweDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXRhYi1sYWJlbDpmb2N1c3tvdXRsaW5lOm5vbmV9Lm1hdC10YWItbGFiZWw6Zm9jdXM6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRhYi1sYWJlbDpmb2N1c3tvdXRsaW5lOmRvdHRlZCAycHg7b3V0bGluZS1vZmZzZXQ6LTJweH0ubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZHtvcGFjaXR5Oi41fS5tYXQtdGFiLWxhYmVsIC5tYXQtdGFiLWxhYmVsLWNvbnRlbnR7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRhYi1sYWJlbHtvcGFjaXR5OjF9QG1lZGlhKG1heC13aWR0aDogNTk5cHgpey5tYXQtdGFiLWxhYmVse3BhZGRpbmc6MCAxMnB4fX1AbWVkaWEobWF4LXdpZHRoOiA5NTlweCl7Lm1hdC10YWItbGFiZWx7cGFkZGluZzowIDEycHh9fS5tYXQtdGFiLWdyb3VwW21hdC1zdHJldGNoLXRhYnNdPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbHtmbGV4LWJhc2lzOjA7ZmxleC1ncm93OjF9Lm1hdC10YWItYm9keS13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmZsZXg7dHJhbnNpdGlvbjpoZWlnaHQgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtdGFiLWJvZHktd3JhcHBlcnt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC10YWItYm9keXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtvdXRsaW5lOjA7ZmxleC1iYXNpczoxMDAlfS5tYXQtdGFiLWJvZHkubWF0LXRhYi1ib2R5LWFjdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87ei1pbmRleDoxO2ZsZXgtZ3JvdzoxfS5tYXQtdGFiLWdyb3VwLm1hdC10YWItZ3JvdXAtZHluYW1pYy1oZWlnaHQgLm1hdC10YWItYm9keS5tYXQtdGFiLWJvZHktYWN0aXZle292ZXJmbG93LXk6aGlkZGVufVxuIl0sZW5jYXBzdWxhdGlvbjoyfSksUGouY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltDal19LHt0eXBlOkJyfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XSxQai5wcm9wRGVjb3JhdG9ycz17X2FsbFRhYnM6W3t0eXBlOm9yLGFyZ3M6W2dqLHtkZXNjZW5kYW50czohMH1dfV0sX3RhYkJvZHlXcmFwcGVyOlt7dHlwZTphcixhcmdzOlsidGFiQm9keVdyYXBwZXIiXX1dLF90YWJIZWFkZXI6W3t0eXBlOmFyLGFyZ3M6WyJ0YWJIZWFkZXIiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFBqLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC10YWItZ3JvdXAiLGV4cG9ydEFzOiJtYXRUYWJHcm91cCIsdGVtcGxhdGU6JzxtYXQtdGFiLWhlYWRlciAjdGFiSGVhZGVyXG4gICAgICAgICAgICAgICBbc2VsZWN0ZWRJbmRleF09InNlbGVjdGVkSW5kZXggfHwgMCJcbiAgICAgICAgICAgICAgIFtkaXNhYmxlUmlwcGxlXT0iZGlzYWJsZVJpcHBsZSJcbiAgICAgICAgICAgICAgIFtkaXNhYmxlUGFnaW5hdGlvbl09ImRpc2FibGVQYWdpbmF0aW9uIlxuICAgICAgICAgICAgICAgKGluZGV4Rm9jdXNlZCk9Il9mb2N1c0NoYW5nZWQoJGV2ZW50KSJcbiAgICAgICAgICAgICAgIChzZWxlY3RGb2N1c2VkSW5kZXgpPSJzZWxlY3RlZEluZGV4ID0gJGV2ZW50Ij5cbiAgPGRpdiBjbGFzcz0ibWF0LXRhYi1sYWJlbCBtYXQtZm9jdXMtaW5kaWNhdG9yIiByb2xlPSJ0YWIiIG1hdFRhYkxhYmVsV3JhcHBlciBtYXQtcmlwcGxlIGNka01vbml0b3JFbGVtZW50Rm9jdXNcbiAgICAgICAqbmdGb3I9ImxldCB0YWIgb2YgX3RhYnM7IGxldCBpID0gaW5kZXgiXG4gICAgICAgW2lkXT0iX2dldFRhYkxhYmVsSWQoaSkiXG4gICAgICAgW2F0dHIudGFiSW5kZXhdPSJfZ2V0VGFiSW5kZXgodGFiLCBpKSJcbiAgICAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT0iaSArIDEiXG4gICAgICAgW2F0dHIuYXJpYS1zZXRzaXplXT0iX3RhYnMubGVuZ3RoIlxuICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPSJfZ2V0VGFiQ29udGVudElkKGkpIlxuICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPSJzZWxlY3RlZEluZGV4ID09IGkiXG4gICAgICAgW2F0dHIuYXJpYS1sYWJlbF09InRhYi5hcmlhTGFiZWwgfHwgbnVsbCJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPSIoIXRhYi5hcmlhTGFiZWwgJiYgdGFiLmFyaWFMYWJlbGxlZGJ5KSA/IHRhYi5hcmlhTGFiZWxsZWRieSA6IG51bGwiXG4gICAgICAgW2NsYXNzLm1hdC10YWItbGFiZWwtYWN0aXZlXT0ic2VsZWN0ZWRJbmRleCA9PSBpIlxuICAgICAgIFtkaXNhYmxlZF09InRhYi5kaXNhYmxlZCJcbiAgICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPSJ0YWIuZGlzYWJsZWQgfHwgZGlzYWJsZVJpcHBsZSJcbiAgICAgICAoY2xpY2spPSJfaGFuZGxlQ2xpY2sodGFiLCB0YWJIZWFkZXIsIGkpIlxuICAgICAgIChjZGtGb2N1c0NoYW5nZSk9Il90YWJGb2N1c0NoYW5nZWQoJGV2ZW50LCBpKSI+XG5cblxuICAgIDxkaXYgY2xhc3M9Im1hdC10YWItbGFiZWwtY29udGVudCI+XG4gICAgICBceDNjIS0tIElmIHRoZXJlIGlzIGEgbGFiZWwgdGVtcGxhdGUsIHVzZSBpdC4gLS1ceDNlXG4gICAgICA8bmctdGVtcGxhdGUgW25nSWZdPSJ0YWIudGVtcGxhdGVMYWJlbCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT0idGFiLnRlbXBsYXRlTGFiZWwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICBceDNjIS0tIElmIHRoZXJlIGlzIG5vdCBhIGxhYmVsIHRlbXBsYXRlLCBmYWxsIGJhY2sgdG8gdGhlIHRleHQgbGFiZWwuIC0tXHgzZVxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT0iIXRhYi50ZW1wbGF0ZUxhYmVsIj57e3RhYi50ZXh0TGFiZWx9fTwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9tYXQtdGFiLWhlYWRlcj5cblxuPGRpdlxuICBjbGFzcz0ibWF0LXRhYi1ib2R5LXdyYXBwZXIiXG4gIFtjbGFzcy5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZV09Il9hbmltYXRpb25Nb2RlID09PSBcJ05vb3BBbmltYXRpb25zXCciXG4gICN0YWJCb2R5V3JhcHBlcj5cbiAgPG1hdC10YWItYm9keSByb2xlPSJ0YWJwYW5lbCJcbiAgICAgICAgICAgICAgICpuZ0Zvcj0ibGV0IHRhYiBvZiBfdGFiczsgbGV0IGkgPSBpbmRleCJcbiAgICAgICAgICAgICAgIFtpZF09Il9nZXRUYWJDb250ZW50SWQoaSkiXG4gICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09Iihjb250ZW50VGFiSW5kZXggIT0gbnVsbCAmJiBzZWxlY3RlZEluZGV4ID09PSBpKSA/IGNvbnRlbnRUYWJJbmRleCA6IG51bGwiXG4gICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPSJfZ2V0VGFiTGFiZWxJZChpKSJcbiAgICAgICAgICAgICAgIFtjbGFzcy5tYXQtdGFiLWJvZHktYWN0aXZlXT0ic2VsZWN0ZWRJbmRleCA9PT0gaSJcbiAgICAgICAgICAgICAgIFtjb250ZW50XT0idGFiLmNvbnRlbnQhIlxuICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT0idGFiLnBvc2l0aW9uISJcbiAgICAgICAgICAgICAgIFtvcmlnaW5dPSJ0YWIub3JpZ2luIlxuICAgICAgICAgICAgICAgW2FuaW1hdGlvbkR1cmF0aW9uXT0iYW5pbWF0aW9uRHVyYXRpb24iXG4gICAgICAgICAgICAgICAoX29uQ2VudGVyZWQpPSJfcmVtb3ZlVGFiQm9keVdyYXBwZXJIZWlnaHQoKSJcbiAgICAgICAgICAgICAgIChfb25DZW50ZXJpbmcpPSJfc2V0VGFiQm9keVdyYXBwZXJIZWlnaHQoJGV2ZW50KSI+XG4gIDwvbWF0LXRhYi1ib2R5PlxuPC9kaXY+XG4nLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxpbnB1dHM6WyJjb2xvciIsImRpc2FibGVSaXBwbGUiXSxwcm92aWRlcnM6W3twcm92aWRlOnVqLHVzZUV4aXN0aW5nOlBqfV0saG9zdDp7Y2xhc3M6Im1hdC10YWItZ3JvdXAiLCJbY2xhc3MubWF0LXRhYi1ncm91cC1keW5hbWljLWhlaWdodF0iOiJkeW5hbWljSGVpZ2h0IiwiW2NsYXNzLm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyXSI6J2hlYWRlclBvc2l0aW9uID09PSAiYmVsb3ciJ30sc3R5bGVzOlsiLm1hdC10YWItZ3JvdXB7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXgtd2lkdGg6MTAwJX0ubWF0LXRhYi1ncm91cC5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX0ubWF0LXRhYi1sYWJlbHtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMjRweDtjdXJzb3I6cG9pbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3BhY2l0eTouNjttaW4td2lkdGg6MTYwcHg7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC10YWItbGFiZWw6Zm9jdXN7b3V0bGluZTpub25lfS5tYXQtdGFiLWxhYmVsOmZvY3VzOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC10YWItbGFiZWw6Zm9jdXN7b3V0bGluZTpkb3R0ZWQgMnB4O291dGxpbmUtb2Zmc2V0Oi0ycHh9Lm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWR7b3BhY2l0eTouNX0ubWF0LXRhYi1sYWJlbCAubWF0LXRhYi1sYWJlbC1jb250ZW50e2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC10YWItbGFiZWx7b3BhY2l0eToxfUBtZWRpYShtYXgtd2lkdGg6IDU5OXB4KXsubWF0LXRhYi1sYWJlbHtwYWRkaW5nOjAgMTJweH19QG1lZGlhKG1heC13aWR0aDogOTU5cHgpey5tYXQtdGFiLWxhYmVse3BhZGRpbmc6MCAxMnB4fX0ubWF0LXRhYi1ncm91cFttYXQtc3RyZXRjaC10YWJzXT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWx7ZmxleC1iYXNpczowO2ZsZXgtZ3JvdzoxfS5tYXQtdGFiLWJvZHktd3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpmbGV4O3RyYW5zaXRpb246aGVpZ2h0IDUwMG1zIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXRhYi1ib2R5LXdyYXBwZXJ7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtdGFiLWJvZHl7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47b3V0bGluZTowO2ZsZXgtYmFzaXM6MTAwJX0ubWF0LXRhYi1ib2R5Lm1hdC10YWItYm9keS1hY3RpdmV7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO3otaW5kZXg6MTtmbGV4LWdyb3c6MX0ubWF0LXRhYi1ncm91cC5tYXQtdGFiLWdyb3VwLWR5bmFtaWMtaGVpZ2h0IC5tYXQtdGFiLWJvZHkubWF0LXRhYi1ib2R5LWFjdGl2ZXtvdmVyZmxvdy15OmhpZGRlbn1cbiJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbQ2pdfSx7dHlwZTpCcn1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV19KSx7X2FsbFRhYnM6W3t0eXBlOm9yLGFyZ3M6W2dqLHtkZXNjZW5kYW50czohMH1dfV0sX3RhYkJvZHlXcmFwcGVyOlt7dHlwZTphcixhcmdzOlsidGFiQm9keVdyYXBwZXIiXX1dLF90YWJIZWFkZXI6W3t0eXBlOmFyLGFyZ3M6WyJ0YWJIZWFkZXIiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB3aj16RihjbGFzc3t9KTtjbGFzcyBraiBleHRlbmRzIHdqe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5lbGVtZW50UmVmPXR9Zm9jdXMoKXt0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpfWdldE9mZnNldExlZnQoKXtyZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdH1nZXRPZmZzZXRXaWR0aCgpe3JldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aH19a2ouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGtqKShnZihLaCkpfSxrai7JtWRpcj1obyh7dHlwZTpraixzZWxlY3RvcnM6W1siIiwibWF0VGFiTGFiZWxXcmFwcGVyIiwiIl1dLGhvc3RWYXJzOjMsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJih5bSgiYXJpYS1kaXNhYmxlZCIsISFuLmRpc2FibGVkKSxjdSgibWF0LXRhYi1kaXNhYmxlZCIsbi5kaXNhYmxlZCkpfSxpbnB1dHM6e2Rpc2FibGVkOiJkaXNhYmxlZCJ9LGZlYXR1cmVzOltRcF19KSxrai5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihraixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbWF0VGFiTGFiZWxXcmFwcGVyXSIsaW5wdXRzOlsiZGlzYWJsZWQiXSxob3N0OnsiW2NsYXNzLm1hdC10YWItZGlzYWJsZWRdIjoiZGlzYWJsZWQiLCJbYXR0ci5hcmlhLWRpc2FibGVkXSI6IiEhZGlzYWJsZWQifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFNqPWJIKHtwYXNzaXZlOiEwfSk7Y2xhc3MgRGp7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscil7dGhpcy5fZWxlbWVudFJlZj10LHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPWUsdGhpcy5fdmlld3BvcnRSdWxlcj1uLHRoaXMuX2Rpcj1vLHRoaXMuX25nWm9uZT1pLHRoaXMuX3BsYXRmb3JtPWEsdGhpcy5fYW5pbWF0aW9uTW9kZT1yLHRoaXMuX3Njcm9sbERpc3RhbmNlPTAsdGhpcy5fc2VsZWN0ZWRJbmRleENoYW5nZWQ9ITEsdGhpcy5fZGVzdHJveWVkPW5ldyBCLHRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHM9ITEsdGhpcy5fZGlzYWJsZVNjcm9sbEFmdGVyPSEwLHRoaXMuX2Rpc2FibGVTY3JvbGxCZWZvcmU9ITAsdGhpcy5fc3RvcFNjcm9sbGluZz1uZXcgQix0aGlzLmRpc2FibGVQYWdpbmF0aW9uPSExLHRoaXMuX3NlbGVjdGVkSW5kZXg9MCx0aGlzLnNlbGVjdEZvY3VzZWRJbmRleD1uZXcgU3ksdGhpcy5pbmRleEZvY3VzZWQ9bmV3IFN5LGkucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT57bGUodC5uYXRpdmVFbGVtZW50LCJtb3VzZWxlYXZlIikucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fc3RvcEludGVydmFsKCl9KSl9KSl9Z2V0IHNlbGVjdGVkSW5kZXgoKXtyZXR1cm4gdGhpcy5fc2VsZWN0ZWRJbmRleH1zZXQgc2VsZWN0ZWRJbmRleCh0KXt0PW5IKHQpLHRoaXMuX3NlbGVjdGVkSW5kZXghPXQmJih0aGlzLl9zZWxlY3RlZEluZGV4Q2hhbmdlZD0hMCx0aGlzLl9zZWxlY3RlZEluZGV4PXQsdGhpcy5fa2V5TWFuYWdlciYmdGhpcy5fa2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKHQpKX1uZ0FmdGVyVmlld0luaXQoKXtsZSh0aGlzLl9wcmV2aW91c1BhZ2luYXRvci5uYXRpdmVFbGVtZW50LCJ0b3VjaHN0YXJ0IixTaikucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5faGFuZGxlUGFnaW5hdG9yUHJlc3MoImJlZm9yZSIpfSkpLGxlKHRoaXMuX25leHRQYWdpbmF0b3IubmF0aXZlRWxlbWVudCwidG91Y2hzdGFydCIsU2opLnBpcGUoamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2hhbmRsZVBhZ2luYXRvclByZXNzKCJhZnRlciIpfSkpfW5nQWZ0ZXJDb250ZW50SW5pdCgpe2NvbnN0IHQ9dGhpcy5fZGlyP3RoaXMuX2Rpci5jaGFuZ2U6enQoImx0ciIpLGU9dGhpcy5fdmlld3BvcnRSdWxlci5jaGFuZ2UoMTUwKSxuPSgpPT57dGhpcy51cGRhdGVQYWdpbmF0aW9uKCksdGhpcy5fYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCl9O3RoaXMuX2tleU1hbmFnZXI9bmV3IExIKHRoaXMuX2l0ZW1zKS53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2dldExheW91dERpcmVjdGlvbigpKS53aXRoSG9tZUFuZEVuZCgpLndpdGhXcmFwKCksdGhpcy5fa2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKHRoaXMuX3NlbGVjdGVkSW5kZXgpLCJ1bmRlZmluZWQiIT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lP3JlcXVlc3RBbmltYXRpb25GcmFtZShuKTpuKCkscGUodCxlLHRoaXMuX2l0ZW1zLmNoYW5nZXMpLnBpcGUoamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX25nWm9uZS5ydW4oKCgpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKG4pKSksdGhpcy5fa2V5TWFuYWdlci53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2dldExheW91dERpcmVjdGlvbigpKX0pKSx0aGlzLl9rZXlNYW5hZ2VyLmNoYW5nZS5waXBlKGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgodD0+e3RoaXMuaW5kZXhGb2N1c2VkLmVtaXQodCksdGhpcy5fc2V0VGFiRm9jdXModCl9KSl9bmdBZnRlckNvbnRlbnRDaGVja2VkKCl7dGhpcy5fdGFiTGFiZWxDb3VudCE9dGhpcy5faXRlbXMubGVuZ3RoJiYodGhpcy51cGRhdGVQYWdpbmF0aW9uKCksdGhpcy5fdGFiTGFiZWxDb3VudD10aGlzLl9pdGVtcy5sZW5ndGgsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpLHRoaXMuX3NlbGVjdGVkSW5kZXhDaGFuZ2VkJiYodGhpcy5fc2Nyb2xsVG9MYWJlbCh0aGlzLl9zZWxlY3RlZEluZGV4KSx0aGlzLl9jaGVja1Njcm9sbGluZ0NvbnRyb2xzKCksdGhpcy5fYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCksdGhpcy5fc2VsZWN0ZWRJbmRleENoYW5nZWQ9ITEsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpLHRoaXMuX3Njcm9sbERpc3RhbmNlQ2hhbmdlZCYmKHRoaXMuX3VwZGF0ZVRhYlNjcm9sbFBvc2l0aW9uKCksdGhpcy5fc2Nyb2xsRGlzdGFuY2VDaGFuZ2VkPSExLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKX1uZ09uRGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3llZC5uZXh0KCksdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCksdGhpcy5fc3RvcFNjcm9sbGluZy5jb21wbGV0ZSgpfV9oYW5kbGVLZXlkb3duKHQpe2lmKCF0SCh0KSlzd2l0Y2godC5rZXlDb2RlKXtjYXNlIFhJOmNhc2UgSkk6dGhpcy5mb2N1c0luZGV4IT09dGhpcy5zZWxlY3RlZEluZGV4JiYodGhpcy5zZWxlY3RGb2N1c2VkSW5kZXguZW1pdCh0aGlzLmZvY3VzSW5kZXgpLHRoaXMuX2l0ZW1TZWxlY3RlZCh0KSk7YnJlYWs7ZGVmYXVsdDp0aGlzLl9rZXlNYW5hZ2VyLm9uS2V5ZG93bih0KX19X29uQ29udGVudENoYW5nZXMoKXtjb25zdCB0PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudDt0IT09dGhpcy5fY3VycmVudFRleHRDb250ZW50JiYodGhpcy5fY3VycmVudFRleHRDb250ZW50PXR8fCIiLHRoaXMuX25nWm9uZS5ydW4oKCgpPT57dGhpcy51cGRhdGVQYWdpbmF0aW9uKCksdGhpcy5fYWxpZ25JbmtCYXJUb1NlbGVjdGVkVGFiKCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9KSkpfXVwZGF0ZVBhZ2luYXRpb24oKXt0aGlzLl9jaGVja1BhZ2luYXRpb25FbmFibGVkKCksdGhpcy5fY2hlY2tTY3JvbGxpbmdDb250cm9scygpLHRoaXMuX3VwZGF0ZVRhYlNjcm9sbFBvc2l0aW9uKCl9Z2V0IGZvY3VzSW5kZXgoKXtyZXR1cm4gdGhpcy5fa2V5TWFuYWdlcj90aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleDowfXNldCBmb2N1c0luZGV4KHQpe3RoaXMuX2lzVmFsaWRJbmRleCh0KSYmdGhpcy5mb2N1c0luZGV4IT09dCYmdGhpcy5fa2V5TWFuYWdlciYmdGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHQpfV9pc1ZhbGlkSW5kZXgodCl7aWYoIXRoaXMuX2l0ZW1zKXJldHVybiEwO2NvbnN0IGU9dGhpcy5faXRlbXM/dGhpcy5faXRlbXMudG9BcnJheSgpW3RdOm51bGw7cmV0dXJuISFlJiYhZS5kaXNhYmxlZH1fc2V0VGFiRm9jdXModCl7aWYodGhpcy5fc2hvd1BhZ2luYXRpb25Db250cm9scyYmdGhpcy5fc2Nyb2xsVG9MYWJlbCh0KSx0aGlzLl9pdGVtcyYmdGhpcy5faXRlbXMubGVuZ3RoKXt0aGlzLl9pdGVtcy50b0FycmF5KClbdF0uZm9jdXMoKTtjb25zdCBlPXRoaXMuX3RhYkxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudCxuPXRoaXMuX2dldExheW91dERpcmVjdGlvbigpO2Uuc2Nyb2xsTGVmdD0ibHRyIj09bj8wOmUuc2Nyb2xsV2lkdGgtZS5vZmZzZXRXaWR0aH19X2dldExheW91dERpcmVjdGlvbigpe3JldHVybiB0aGlzLl9kaXImJiJydGwiPT09dGhpcy5fZGlyLnZhbHVlPyJydGwiOiJsdHIifV91cGRhdGVUYWJTY3JvbGxQb3NpdGlvbigpe2lmKHRoaXMuZGlzYWJsZVBhZ2luYXRpb24pcmV0dXJuO2NvbnN0IHQ9dGhpcy5zY3JvbGxEaXN0YW5jZSxlPSJsdHIiPT09dGhpcy5fZ2V0TGF5b3V0RGlyZWN0aW9uKCk/LXQ6dDt0aGlzLl90YWJMaXN0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGVYKCR7TWF0aC5yb3VuZChlKX1weClgLCh0aGlzLl9wbGF0Zm9ybS5UUklERU5UfHx0aGlzLl9wbGF0Zm9ybS5FREdFKSYmKHRoaXMuX3RhYkxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0PTApfWdldCBzY3JvbGxEaXN0YW5jZSgpe3JldHVybiB0aGlzLl9zY3JvbGxEaXN0YW5jZX1zZXQgc2Nyb2xsRGlzdGFuY2UodCl7dGhpcy5fc2Nyb2xsVG8odCl9X3Njcm9sbEhlYWRlcih0KXtyZXR1cm4gdGhpcy5fc2Nyb2xsVG8odGhpcy5fc2Nyb2xsRGlzdGFuY2UrKCJiZWZvcmUiPT10Py0xOjEpKnRoaXMuX3RhYkxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aC8zKX1faGFuZGxlUGFnaW5hdG9yQ2xpY2sodCl7dGhpcy5fc3RvcEludGVydmFsKCksdGhpcy5fc2Nyb2xsSGVhZGVyKHQpfV9zY3JvbGxUb0xhYmVsKHQpe2lmKHRoaXMuZGlzYWJsZVBhZ2luYXRpb24pcmV0dXJuO2NvbnN0IGU9dGhpcy5faXRlbXM/dGhpcy5faXRlbXMudG9BcnJheSgpW3RdOm51bGw7aWYoIWUpcmV0dXJuO2NvbnN0IG49dGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoLHtvZmZzZXRMZWZ0Om8sb2Zmc2V0V2lkdGg6aX09ZS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7bGV0IGEscjsibHRyIj09dGhpcy5fZ2V0TGF5b3V0RGlyZWN0aW9uKCk/KGE9byxyPWEraSk6KHI9dGhpcy5fdGFiTGlzdC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoLW8sYT1yLWkpO2NvbnN0IHM9dGhpcy5zY3JvbGxEaXN0YW5jZSxsPXRoaXMuc2Nyb2xsRGlzdGFuY2UrbjthPHM/dGhpcy5zY3JvbGxEaXN0YW5jZS09cy1hKzYwOnI+bCYmKHRoaXMuc2Nyb2xsRGlzdGFuY2UrPXItbCs2MCl9X2NoZWNrUGFnaW5hdGlvbkVuYWJsZWQoKXtpZih0aGlzLmRpc2FibGVQYWdpbmF0aW9uKXRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHM9ITE7ZWxzZXtjb25zdCB0PXRoaXMuX3RhYkxpc3QubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aD50aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7dHx8KHRoaXMuc2Nyb2xsRGlzdGFuY2U9MCksdCE9PXRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHMmJnRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpLHRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHM9dH19X2NoZWNrU2Nyb2xsaW5nQ29udHJvbHMoKXt0aGlzLmRpc2FibGVQYWdpbmF0aW9uP3RoaXMuX2Rpc2FibGVTY3JvbGxBZnRlcj10aGlzLl9kaXNhYmxlU2Nyb2xsQmVmb3JlPSEwOih0aGlzLl9kaXNhYmxlU2Nyb2xsQmVmb3JlPTA9PXRoaXMuc2Nyb2xsRGlzdGFuY2UsdGhpcy5fZGlzYWJsZVNjcm9sbEFmdGVyPXRoaXMuc2Nyb2xsRGlzdGFuY2U9PXRoaXMuX2dldE1heFNjcm9sbERpc3RhbmNlKCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpfV9nZXRNYXhTY3JvbGxEaXN0YW5jZSgpe3JldHVybiB0aGlzLl90YWJMaXN0Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGgtdGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRofHwwfV9hbGlnbklua0JhclRvU2VsZWN0ZWRUYWIoKXtjb25zdCB0PXRoaXMuX2l0ZW1zJiZ0aGlzLl9pdGVtcy5sZW5ndGg/dGhpcy5faXRlbXMudG9BcnJheSgpW3RoaXMuc2VsZWN0ZWRJbmRleF06bnVsbCxlPXQ/dC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ6bnVsbDtlP3RoaXMuX2lua0Jhci5hbGlnblRvRWxlbWVudChlKTp0aGlzLl9pbmtCYXIuaGlkZSgpfV9zdG9wSW50ZXJ2YWwoKXt0aGlzLl9zdG9wU2Nyb2xsaW5nLm5leHQoKX1faGFuZGxlUGFnaW5hdG9yUHJlc3ModCxlKXtlJiZudWxsIT1lLmJ1dHRvbiYmMCE9PWUuYnV0dG9ufHwodGhpcy5fc3RvcEludGVydmFsKCksZGUoNjUwLDEwMCkucGlwZShqZShwZSh0aGlzLl9zdG9wU2Nyb2xsaW5nLHRoaXMuX2Rlc3Ryb3llZCkpKS5zdWJzY3JpYmUoKCgpPT57Y29uc3R7bWF4U2Nyb2xsRGlzdGFuY2U6ZSxkaXN0YW5jZTpufT10aGlzLl9zY3JvbGxIZWFkZXIodCk7KDA9PT1ufHxuPj1lKSYmdGhpcy5fc3RvcEludGVydmFsKCl9KSkpfV9zY3JvbGxUbyh0KXtpZih0aGlzLmRpc2FibGVQYWdpbmF0aW9uKXJldHVybnttYXhTY3JvbGxEaXN0YW5jZTowLGRpc3RhbmNlOjB9O2NvbnN0IGU9dGhpcy5fZ2V0TWF4U2Nyb2xsRGlzdGFuY2UoKTtyZXR1cm4gdGhpcy5fc2Nyb2xsRGlzdGFuY2U9TWF0aC5tYXgoMCxNYXRoLm1pbihlLHQpKSx0aGlzLl9zY3JvbGxEaXN0YW5jZUNoYW5nZWQ9ITAsdGhpcy5fY2hlY2tTY3JvbGxpbmdDb250cm9scygpLHttYXhTY3JvbGxEaXN0YW5jZTplLGRpc3RhbmNlOnRoaXMuX3Njcm9sbERpc3RhbmNlfX19RGouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fERqKShnZihLaCksZ2YoT2IpLGdmKFFMKSxnZih2Riw4KSxnZihtQyksZ2YoY0gpLGdmKGNrLDgpKX0sRGouybVkaXI9aG8oe3R5cGU6RGosaW5wdXRzOntkaXNhYmxlUGFnaW5hdGlvbjoiZGlzYWJsZVBhZ2luYXRpb24ifX0pLERqLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTpRTH0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6bUN9LHt0eXBlOmNIfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sRGoucHJvcERlY29yYXRvcnM9e2Rpc2FibGVQYWdpbmF0aW9uOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKERqLFt7dHlwZTprX31dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOlFMfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XX0pLHtkaXNhYmxlUGFnaW5hdGlvbjpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgUmogZXh0ZW5kcyBEantjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyKXtzdXBlcih0LGUsbixvLGksYSxyKSx0aGlzLl9kaXNhYmxlUmlwcGxlPSExfWdldCBkaXNhYmxlUmlwcGxlKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVSaXBwbGV9c2V0IGRpc2FibGVSaXBwbGUodCl7dGhpcy5fZGlzYWJsZVJpcHBsZT1lSCh0KX1faXRlbVNlbGVjdGVkKHQpe3QucHJldmVudERlZmF1bHQoKX19UmouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFJqKShnZihLaCksZ2YoT2IpLGdmKFFMKSxnZih2Riw4KSxnZihtQyksZ2YoY0gpLGdmKGNrLDgpKX0sUmouybVkaXI9aG8oe3R5cGU6UmosaW5wdXRzOntkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIn0sZmVhdHVyZXM6W1FwXX0pLFJqLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTpRTH0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6bUN9LHt0eXBlOmNIfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sUmoucHJvcERlY29yYXRvcnM9e2Rpc2FibGVSaXBwbGU6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUmosW3t0eXBlOmtffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6UUx9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse2Rpc2FibGVSaXBwbGU6W3t0eXBlOlJffV19KTtjbGFzcyBFaiBleHRlbmRzIFJqe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIpe3N1cGVyKHQsZSxuLG8saSxhLHIpfX1Fai7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RWopKGdmKEtoKSxnZihPYiksZ2YoUUwpLGdmKHZGLDgpLGdmKG1DKSxnZihjSCksZ2YoY2ssOCkpfSxFai7JtWNtcD1zbyh7dHlwZTpFaixzZWxlY3RvcnM6W1sibWF0LXRhYi1oZWFkZXIiXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24gdChlLG4sbyl7aWYoMSZlJiZqeShvLGtqLDQpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uX2l0ZW1zPXQpfX0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihWeShsaiw3KSxWeShuaiw3KSxWeShvaiw3KSxWeShpaiw1KSxWeShhaiw1KSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5faW5rQmFyPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl90YWJMaXN0Q29udGFpbmVyPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl90YWJMaXN0PXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9uZXh0UGFnaW5hdG9yPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9wcmV2aW91c1BhZ2luYXRvcj10LmZpcnN0KX19LGhvc3RBdHRyczpbMSwibWF0LXRhYi1oZWFkZXIiXSxob3N0VmFyczo0LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jb250cm9scy1lbmFibGVkIixuLl9zaG93UGFnaW5hdGlvbkNvbnRyb2xzKSgibWF0LXRhYi1oZWFkZXItcnRsIiwicnRsIj09bi5fZ2V0TGF5b3V0RGlyZWN0aW9uKCkpfSxpbnB1dHM6e3NlbGVjdGVkSW5kZXg6InNlbGVjdGVkSW5kZXgifSxvdXRwdXRzOntzZWxlY3RGb2N1c2VkSW5kZXg6InNlbGVjdEZvY3VzZWRJbmRleCIsaW5kZXhGb2N1c2VkOiJpbmRleEZvY3VzZWQifSxmZWF0dXJlczpbUXBdLG5nQ29udGVudFNlbGVjdG9yczpHVixkZWNsczoxMyx2YXJzOjgsY29uc3RzOltbImFyaWEtaGlkZGVuIiwidHJ1ZSIsIm1hdC1yaXBwbGUiLCIiLDEsIm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24iLCJtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSIsIm1hdC1lbGV2YXRpb24tejQiLDMsIm1hdFJpcHBsZURpc2FibGVkIiwiY2xpY2siLCJtb3VzZWRvd24iLCJ0b3VjaGVuZCJdLFsicHJldmlvdXNQYWdpbmF0b3IiLCIiXSxbMSwibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIl0sWzEsIm1hdC10YWItbGFiZWwtY29udGFpbmVyIiwzLCJrZXlkb3duIl0sWyJ0YWJMaXN0Q29udGFpbmVyIiwiIl0sWyJyb2xlIiwidGFibGlzdCIsMSwibWF0LXRhYi1saXN0IiwzLCJjZGtPYnNlcnZlQ29udGVudCJdLFsidGFiTGlzdCIsIiJdLFsxLCJtYXQtdGFiLWxhYmVscyJdLFsiYXJpYS1oaWRkZW4iLCJ0cnVlIiwibWF0LXJpcHBsZSIsIiIsMSwibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiIsIm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXIiLCJtYXQtZWxldmF0aW9uLXo0IiwzLCJtYXRSaXBwbGVEaXNhYmxlZCIsIm1vdXNlZG93biIsImNsaWNrIiwidG91Y2hlbmQiXSxbIm5leHRQYWdpbmF0b3IiLCIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKEhmKCksQ2YoMCwiZGl2IiwwLDEpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5faGFuZGxlUGFnaW5hdG9yQ2xpY2soImJlZm9yZSIpfSkpKCJtb3VzZWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9oYW5kbGVQYWdpbmF0b3JQcmVzcygiYmVmb3JlIixlKX0pKSgidG91Y2hlbmQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX3N0b3BJbnRlcnZhbCgpfSkpLHZmKDIsImRpdiIsMiksTWYoKSxDZigzLCJkaXYiLDMsNCksUmYoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9oYW5kbGVLZXlkb3duKGUpfSkpLENmKDUsImRpdiIsNSw2KSxSZigiY2RrT2JzZXJ2ZUNvbnRlbnQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX29uQ29udGVudENoYW5nZXMoKX0pKSxDZig3LCJkaXYiLDcpLEZmKDgpLE1mKCksdmYoOSwibWF0LWluay1iYXIiKSxNZigpLE1mKCksQ2YoMTAsImRpdiIsOCw5KSxSZigibW91c2Vkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlUGFnaW5hdG9yUHJlc3MoImFmdGVyIixlKX0pKSgiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX2hhbmRsZVBhZ2luYXRvckNsaWNrKCJhZnRlciIpfSkpKCJ0b3VjaGVuZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fc3RvcEludGVydmFsKCl9KSksdmYoMTIsImRpdiIsMiksTWYoKSksMiZlJiYoY3UoIm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQiLG4uX2Rpc2FibGVTY3JvbGxCZWZvcmUpLGJmKCJtYXRSaXBwbGVEaXNhYmxlZCIsbi5fZGlzYWJsZVNjcm9sbEJlZm9yZXx8bi5kaXNhYmxlUmlwcGxlKSxEYyg1KSxjdSgiX21hdC1hbmltYXRpb24tbm9vcGFibGUiLCJOb29wQW5pbWF0aW9ucyI9PT1uLl9hbmltYXRpb25Nb2RlKSxEYyg1KSxjdSgibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCIsbi5fZGlzYWJsZVNjcm9sbEFmdGVyKSxiZigibWF0UmlwcGxlRGlzYWJsZWQiLG4uX2Rpc2FibGVTY3JvbGxBZnRlcnx8bi5kaXNhYmxlUmlwcGxlKSl9LGRpcmVjdGl2ZXM6W21MLFBILGxqXSxzdHlsZXM6WycubWF0LXRhYi1oZWFkZXJ7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LXNocmluazowfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmU7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLXdpZHRoOjMycHg7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0b3VjaC1hY3Rpb246bm9uZX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jb250cm9scy1lbmFibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9ue2Rpc3BsYXk6ZmxleH0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1iZWZvcmUsLm1hdC10YWItaGVhZGVyLXJ0bCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlcntwYWRkaW5nLWxlZnQ6NHB4fS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKC0xMzVkZWcpfS5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlLC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWFmdGVye3BhZGRpbmctcmlnaHQ6NHB4fS5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4IDJweCAwIDA7Y29udGVudDoiIjtoZWlnaHQ6OHB4O3dpZHRoOjhweH0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZHtib3gtc2hhZG93Om5vbmU7Y3Vyc29yOmRlZmF1bHR9Lm1hdC10YWItbGlzdHtmbGV4LWdyb3c6MTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSA1MDBtcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSl9Lm1hdC1pbmstYmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2hlaWdodDoycHg7dHJhbnNpdGlvbjo1MDBtcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSl9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1pbmstYmFye3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXRhYi1ncm91cC1pbnZlcnRlZC1oZWFkZXIgLm1hdC1pbmstYmFye2JvdHRvbTphdXRvO3RvcDowfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1pbmstYmFye291dGxpbmU6c29saWQgMnB4O2hlaWdodDowfS5tYXQtdGFiLWxhYmVsc3tkaXNwbGF5OmZsZXh9W21hdC1hbGlnbi10YWJzPWNlbnRlcl0+Lm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsc3tqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfVttYXQtYWxpZ24tdGFicz1lbmRdPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbHN7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5tYXQtdGFiLWxhYmVsLWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7ZmxleC1ncm93OjE7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXRhYi1saXN0e3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXRhYi1sYWJlbHtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMjRweDtjdXJzb3I6cG9pbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3BhY2l0eTouNjttaW4td2lkdGg6MTYwcHg7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC10YWItbGFiZWw6Zm9jdXN7b3V0bGluZTpub25lfS5tYXQtdGFiLWxhYmVsOmZvY3VzOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC10YWItbGFiZWw6Zm9jdXN7b3V0bGluZTpkb3R0ZWQgMnB4O291dGxpbmUtb2Zmc2V0Oi0ycHh9Lm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWR7b3BhY2l0eTouNX0ubWF0LXRhYi1sYWJlbCAubWF0LXRhYi1sYWJlbC1jb250ZW50e2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC10YWItbGFiZWx7b3BhY2l0eToxfUBtZWRpYShtYXgtd2lkdGg6IDU5OXB4KXsubWF0LXRhYi1sYWJlbHttaW4td2lkdGg6NzJweH19XG4nXSxlbmNhcHN1bGF0aW9uOjJ9KSxFai5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6UUx9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dLEVqLnByb3BEZWNvcmF0b3JzPXtfaXRlbXM6W3t0eXBlOm9yLGFyZ3M6W2tqLHtkZXNjZW5kYW50czohMX1dfV0sX2lua0Jhcjpbe3R5cGU6YXIsYXJnczpbbGose3N0YXRpYzohMH1dfV0sX3RhYkxpc3RDb250YWluZXI6W3t0eXBlOmFyLGFyZ3M6WyJ0YWJMaXN0Q29udGFpbmVyIix7c3RhdGljOiEwfV19XSxfdGFiTGlzdDpbe3R5cGU6YXIsYXJnczpbInRhYkxpc3QiLHtzdGF0aWM6ITB9XX1dLF9uZXh0UGFnaW5hdG9yOlt7dHlwZTphcixhcmdzOlsibmV4dFBhZ2luYXRvciJdfV0sX3ByZXZpb3VzUGFnaW5hdG9yOlt7dHlwZTphcixhcmdzOlsicHJldmlvdXNQYWdpbmF0b3IiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEVqLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC10YWItaGVhZGVyIix0ZW1wbGF0ZTonPGRpdiBjbGFzcz0ibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiBtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSBtYXQtZWxldmF0aW9uLXo0IlxuICAgICAjcHJldmlvdXNQYWdpbmF0b3JcbiAgICAgYXJpYS1oaWRkZW49InRydWUiXG4gICAgIG1hdC1yaXBwbGUgW21hdFJpcHBsZURpc2FibGVkXT0iX2Rpc2FibGVTY3JvbGxCZWZvcmUgfHwgZGlzYWJsZVJpcHBsZSJcbiAgICAgW2NsYXNzLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWRdPSJfZGlzYWJsZVNjcm9sbEJlZm9yZSJcbiAgICAgKGNsaWNrKT0iX2hhbmRsZVBhZ2luYXRvckNsaWNrKFwnYmVmb3JlXCcpIlxuICAgICAobW91c2Vkb3duKT0iX2hhbmRsZVBhZ2luYXRvclByZXNzKFwnYmVmb3JlXCcsICRldmVudCkiXG4gICAgICh0b3VjaGVuZCk9Il9zdG9wSW50ZXJ2YWwoKSI+XG4gIDxkaXYgY2xhc3M9Im1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiI+PC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz0ibWF0LXRhYi1sYWJlbC1jb250YWluZXIiICN0YWJMaXN0Q29udGFpbmVyIChrZXlkb3duKT0iX2hhbmRsZUtleWRvd24oJGV2ZW50KSI+XG4gIDxkaXZcbiAgICAjdGFiTGlzdFxuICAgIGNsYXNzPSJtYXQtdGFiLWxpc3QiXG4gICAgW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXT0iX2FuaW1hdGlvbk1vZGUgPT09IFwnTm9vcEFuaW1hdGlvbnNcJyJcbiAgICByb2xlPSJ0YWJsaXN0IlxuICAgIChjZGtPYnNlcnZlQ29udGVudCk9Il9vbkNvbnRlbnRDaGFuZ2VzKCkiPlxuICAgIDxkaXYgY2xhc3M9Im1hdC10YWItbGFiZWxzIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8bWF0LWluay1iYXI+PC9tYXQtaW5rLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz0ibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiBtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWFmdGVyIG1hdC1lbGV2YXRpb24tejQiXG4gICAgICNuZXh0UGFnaW5hdG9yXG4gICAgIGFyaWEtaGlkZGVuPSJ0cnVlIlxuICAgICBtYXQtcmlwcGxlIFttYXRSaXBwbGVEaXNhYmxlZF09Il9kaXNhYmxlU2Nyb2xsQWZ0ZXIgfHwgZGlzYWJsZVJpcHBsZSJcbiAgICAgW2NsYXNzLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWRdPSJfZGlzYWJsZVNjcm9sbEFmdGVyIlxuICAgICAobW91c2Vkb3duKT0iX2hhbmRsZVBhZ2luYXRvclByZXNzKFwnYWZ0ZXJcJywgJGV2ZW50KSJcbiAgICAgKGNsaWNrKT0iX2hhbmRsZVBhZ2luYXRvckNsaWNrKFwnYWZ0ZXJcJykiXG4gICAgICh0b3VjaGVuZCk9Il9zdG9wSW50ZXJ2YWwoKSI+XG4gIDxkaXYgY2xhc3M9Im1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiI+PC9kaXY+XG48L2Rpdj5cbicsaW5wdXRzOlsic2VsZWN0ZWRJbmRleCJdLG91dHB1dHM6WyJzZWxlY3RGb2N1c2VkSW5kZXgiLCJpbmRleEZvY3VzZWQiXSxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLkRlZmF1bHQsaG9zdDp7Y2xhc3M6Im1hdC10YWItaGVhZGVyIiwiW2NsYXNzLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY29udHJvbHMtZW5hYmxlZF0iOiJfc2hvd1BhZ2luYXRpb25Db250cm9scyIsIltjbGFzcy5tYXQtdGFiLWhlYWRlci1ydGxdIjoiX2dldExheW91dERpcmVjdGlvbigpID09ICdydGwnIn0sc3R5bGVzOlsnLm1hdC10YWItaGVhZGVye2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7ZmxleC1zaHJpbms6MH0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbnstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpub25lO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi13aWR0aDozMnB4O2N1cnNvcjpwb2ludGVyO3otaW5kZXg6Mjstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dG91Y2gtYWN0aW9uOm5vbmV9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY29udHJvbHMtZW5hYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbntkaXNwbGF5OmZsZXh9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlLC5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXJ7cGFkZGluZy1sZWZ0OjRweH0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1iZWZvcmUgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1oZWFkZXItcnRsIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWFmdGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257dHJhbnNmb3JtOnJvdGF0ZSgtMTM1ZGVnKX0ubWF0LXRhYi1oZWFkZXItcnRsIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSwubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlcntwYWRkaW5nLXJpZ2h0OjRweH0ubWF0LXRhYi1oZWFkZXItcnRsIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWFmdGVyIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbntib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweCAycHggMCAwO2NvbnRlbnQ6IiI7aGVpZ2h0OjhweDt3aWR0aDo4cHh9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWR7Ym94LXNoYWRvdzpub25lO2N1cnNvcjpkZWZhdWx0fS5tYXQtdGFiLWxpc3R7ZmxleC1ncm93OjE7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNTAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5tYXQtaW5rLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtoZWlnaHQ6MnB4O3RyYW5zaXRpb246NTAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtaW5rLWJhcnt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIC5tYXQtaW5rLWJhcntib3R0b206YXV0bzt0b3A6MH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtaW5rLWJhcntvdXRsaW5lOnNvbGlkIDJweDtoZWlnaHQ6MH0ubWF0LXRhYi1sYWJlbHN7ZGlzcGxheTpmbGV4fVttYXQtYWxpZ24tdGFicz1jZW50ZXJdPi5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbHN7anVzdGlmeS1jb250ZW50OmNlbnRlcn1bbWF0LWFsaWduLXRhYnM9ZW5kXT4ubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWxze2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ubWF0LXRhYi1sYWJlbC1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZ3JvdzoxO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjF9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC10YWItbGlzdHt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC10YWItbGFiZWx7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDI0cHg7Y3Vyc29yOnBvaW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O29wYWNpdHk6LjY7bWluLXdpZHRoOjE2MHB4O3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtdGFiLWxhYmVsOmZvY3Vze291dGxpbmU6bm9uZX0ubWF0LXRhYi1sYWJlbDpmb2N1czpub3QoLm1hdC10YWItZGlzYWJsZWQpe29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdGFiLWxhYmVsOmZvY3Vze291dGxpbmU6ZG90dGVkIDJweDtvdXRsaW5lLW9mZnNldDotMnB4fS5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVke29wYWNpdHk6LjV9Lm1hdC10YWItbGFiZWwgLm1hdC10YWItbGFiZWwtY29udGVudHtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdGFiLWxhYmVse29wYWNpdHk6MX1AbWVkaWEobWF4LXdpZHRoOiA1OTlweCl7Lm1hdC10YWItbGFiZWx7bWluLXdpZHRoOjcycHh9fVxuJ119XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOlFMfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XX0pLHtfaXRlbXM6W3t0eXBlOm9yLGFyZ3M6W2tqLHtkZXNjZW5kYW50czohMX1dfV0sX2lua0Jhcjpbe3R5cGU6YXIsYXJnczpbbGose3N0YXRpYzohMH1dfV0sX3RhYkxpc3RDb250YWluZXI6W3t0eXBlOmFyLGFyZ3M6WyJ0YWJMaXN0Q29udGFpbmVyIix7c3RhdGljOiEwfV19XSxfdGFiTGlzdDpbe3R5cGU6YXIsYXJnczpbInRhYkxpc3QiLHtzdGF0aWM6ITB9XX1dLF9uZXh0UGFnaW5hdG9yOlt7dHlwZTphcixhcmdzOlsibmV4dFBhZ2luYXRvciJdfV0sX3ByZXZpb3VzUGFnaW5hdG9yOlt7dHlwZTphcixhcmdzOlsicHJldmlvdXNQYWdpbmF0b3IiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBBaiBleHRlbmRzIERqe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIpe3N1cGVyKHQsbyxpLGUsbixhLHIpLHRoaXMuX2Rpc2FibGVSaXBwbGU9ITEsdGhpcy5jb2xvcj0icHJpbWFyeSJ9Z2V0IGJhY2tncm91bmRDb2xvcigpe3JldHVybiB0aGlzLl9iYWNrZ3JvdW5kQ29sb3J9c2V0IGJhY2tncm91bmRDb2xvcih0KXtjb25zdCBlPXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3Q7ZS5yZW1vdmUoYG1hdC1iYWNrZ3JvdW5kLSR7dGhpcy5iYWNrZ3JvdW5kQ29sb3J9YCksdCYmZS5hZGQoYG1hdC1iYWNrZ3JvdW5kLSR7dH1gKSx0aGlzLl9iYWNrZ3JvdW5kQ29sb3I9dH1nZXQgZGlzYWJsZVJpcHBsZSgpe3JldHVybiB0aGlzLl9kaXNhYmxlUmlwcGxlfXNldCBkaXNhYmxlUmlwcGxlKHQpe3RoaXMuX2Rpc2FibGVSaXBwbGU9ZUgodCl9X2l0ZW1TZWxlY3RlZCgpe31uZ0FmdGVyQ29udGVudEluaXQoKXt0aGlzLl9pdGVtcy5jaGFuZ2VzLnBpcGUoQmUobnVsbCksamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMudXBkYXRlQWN0aXZlTGluaygpfSkpLHN1cGVyLm5nQWZ0ZXJDb250ZW50SW5pdCgpfXVwZGF0ZUFjdGl2ZUxpbmsoKXtpZighdGhpcy5faXRlbXMpcmV0dXJuO2NvbnN0IHQ9dGhpcy5faXRlbXMudG9BcnJheSgpO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKHRbZV0uYWN0aXZlKXJldHVybiB0aGlzLnNlbGVjdGVkSW5kZXg9ZSx2b2lkIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO3RoaXMuc2VsZWN0ZWRJbmRleD0tMSx0aGlzLl9pbmtCYXIuaGlkZSgpfX1Bai7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QWopKGdmKEtoKSxnZih2Riw4KSxnZihtQyksZ2YoT2IpLGdmKFFMKSxnZihjSCksZ2YoY2ssOCkpfSxBai7JtWRpcj1obyh7dHlwZTpBaixpbnB1dHM6e2NvbG9yOiJjb2xvciIsYmFja2dyb3VuZENvbG9yOiJiYWNrZ3JvdW5kQ29sb3IiLGRpc2FibGVSaXBwbGU6ImRpc2FibGVSaXBwbGUifSxmZWF0dXJlczpbUXBdfSksQWouY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6bUN9LHt0eXBlOk9ifSx7dHlwZTpRTH0se3R5cGU6Y0h9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XSxBai5wcm9wRGVjb3JhdG9ycz17YmFja2dyb3VuZENvbG9yOlt7dHlwZTpSX31dLGRpc2FibGVSaXBwbGU6W3t0eXBlOlJffV0sY29sb3I6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQWosW3t0eXBlOmtffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTptQ30se3R5cGU6T2J9LHt0eXBlOlFMfSx7dHlwZTpjSH0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse2NvbG9yOlt7dHlwZTpSX31dLGJhY2tncm91bmRDb2xvcjpbe3R5cGU6Ul99XSxkaXNhYmxlUmlwcGxlOlt7dHlwZTpSX31dfSk7Y2xhc3MgVGogZXh0ZW5kcyBBantjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyKXtzdXBlcih0LGUsbixvLGksYSxyKX19VGouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFRqKShnZihLaCksZ2YodkYsOCksZ2YobUMpLGdmKE9iKSxnZihRTCksZ2YoY0gpLGdmKGNrLDgpKX0sVGouybVjbXA9c28oe3R5cGU6VGosc2VsZWN0b3JzOltbIiIsIm1hdC10YWItbmF2LWJhciIsIiJdXSxjb250ZW50UXVlcmllczpmdW5jdGlvbiB0KGUsbixvKXtpZigxJmUmJmp5KG8sSWosNSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5faXRlbXM9dCl9fSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKFZ5KGxqLDcpLFZ5KG5qLDcpLFZ5KG9qLDcpLFZ5KGlqLDUpLFZ5KGFqLDUpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLl9pbmtCYXI9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uX3RhYkxpc3RDb250YWluZXI9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uX3RhYkxpc3Q9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uX25leHRQYWdpbmF0b3I9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uX3ByZXZpb3VzUGFnaW5hdG9yPXQuZmlyc3QpfX0saG9zdEF0dHJzOlsxLCJtYXQtdGFiLW5hdi1iYXIiLCJtYXQtdGFiLWhlYWRlciJdLGhvc3RWYXJzOjEwLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jb250cm9scy1lbmFibGVkIixuLl9zaG93UGFnaW5hdGlvbkNvbnRyb2xzKSgibWF0LXRhYi1oZWFkZXItcnRsIiwicnRsIj09bi5fZ2V0TGF5b3V0RGlyZWN0aW9uKCkpKCJtYXQtcHJpbWFyeSIsIndhcm4iIT09bi5jb2xvciYmImFjY2VudCIhPT1uLmNvbG9yKSgibWF0LWFjY2VudCIsImFjY2VudCI9PT1uLmNvbG9yKSgibWF0LXdhcm4iLCJ3YXJuIj09PW4uY29sb3IpfSxpbnB1dHM6e2NvbG9yOiJjb2xvciJ9LGV4cG9ydEFzOlsibWF0VGFiTmF2QmFyIiwibWF0VGFiTmF2Il0sZmVhdHVyZXM6W1FwXSxhdHRyczpbIm1hdC10YWItbmF2LWJhciIsIiJdLG5nQ29udGVudFNlbGVjdG9yczpHVixkZWNsczoxMyx2YXJzOjgsY29uc3RzOltbImFyaWEtaGlkZGVuIiwidHJ1ZSIsIm1hdC1yaXBwbGUiLCIiLDEsIm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24iLCJtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSIsIm1hdC1lbGV2YXRpb24tejQiLDMsIm1hdFJpcHBsZURpc2FibGVkIiwiY2xpY2siLCJtb3VzZWRvd24iLCJ0b3VjaGVuZCJdLFsicHJldmlvdXNQYWdpbmF0b3IiLCIiXSxbMSwibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIl0sWzEsIm1hdC10YWItbGluay1jb250YWluZXIiLDMsImtleWRvd24iXSxbInRhYkxpc3RDb250YWluZXIiLCIiXSxbMSwibWF0LXRhYi1saXN0IiwzLCJjZGtPYnNlcnZlQ29udGVudCJdLFsidGFiTGlzdCIsIiJdLFsxLCJtYXQtdGFiLWxpbmtzIl0sWyJhcmlhLWhpZGRlbiIsInRydWUiLCJtYXQtcmlwcGxlIiwiIiwxLCJtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIiwibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlciIsIm1hdC1lbGV2YXRpb24tejQiLDMsIm1hdFJpcHBsZURpc2FibGVkIiwibW91c2Vkb3duIiwiY2xpY2siLCJ0b3VjaGVuZCJdLFsibmV4dFBhZ2luYXRvciIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxDZigwLCJkaXYiLDAsMSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9oYW5kbGVQYWdpbmF0b3JDbGljaygiYmVmb3JlIil9KSkoIm1vdXNlZG93biIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2hhbmRsZVBhZ2luYXRvclByZXNzKCJiZWZvcmUiLGUpfSkpKCJ0b3VjaGVuZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fc3RvcEludGVydmFsKCl9KSksdmYoMiwiZGl2IiwyKSxNZigpLENmKDMsImRpdiIsMyw0KSxSZigia2V5ZG93biIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2hhbmRsZUtleWRvd24oZSl9KSksQ2YoNSwiZGl2Iiw1LDYpLFJmKCJjZGtPYnNlcnZlQ29udGVudCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fb25Db250ZW50Q2hhbmdlcygpfSkpLENmKDcsImRpdiIsNyksRmYoOCksTWYoKSx2Zig5LCJtYXQtaW5rLWJhciIpLE1mKCksTWYoKSxDZigxMCwiZGl2Iiw4LDkpLFJmKCJtb3VzZWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9oYW5kbGVQYWdpbmF0b3JQcmVzcygiYWZ0ZXIiLGUpfSkpKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5faGFuZGxlUGFnaW5hdG9yQ2xpY2soImFmdGVyIil9KSkoInRvdWNoZW5kIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9zdG9wSW50ZXJ2YWwoKX0pKSx2ZigxMiwiZGl2IiwyKSxNZigpKSwyJmUmJihjdSgibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCIsbi5fZGlzYWJsZVNjcm9sbEJlZm9yZSksYmYoIm1hdFJpcHBsZURpc2FibGVkIixuLl9kaXNhYmxlU2Nyb2xsQmVmb3JlfHxuLmRpc2FibGVSaXBwbGUpLERjKDUpLGN1KCJfbWF0LWFuaW1hdGlvbi1ub29wYWJsZSIsIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGUpLERjKDUpLGN1KCJtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIixuLl9kaXNhYmxlU2Nyb2xsQWZ0ZXIpLGJmKCJtYXRSaXBwbGVEaXNhYmxlZCIsbi5fZGlzYWJsZVNjcm9sbEFmdGVyfHxuLmRpc2FibGVSaXBwbGUpKX0sZGlyZWN0aXZlczpbbUwsUEgsbGpdLHN0eWxlczpbJy5tYXQtdGFiLWhlYWRlcntkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjB9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6bm9uZTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4td2lkdGg6MzJweDtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RvdWNoLWFjdGlvbjpub25lfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNvbnRyb2xzLWVuYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257ZGlzcGxheTpmbGV4fS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSwubWF0LXRhYi1oZWFkZXItcnRsIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWFmdGVye3BhZGRpbmctbGVmdDo0cHh9Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItaGVhZGVyLXJ0bCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue3RyYW5zZm9ybTpyb3RhdGUoLTEzNWRlZyl9Lm1hdC10YWItaGVhZGVyLXJ0bCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1iZWZvcmUsLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXJ7cGFkZGluZy1yaWdodDo0cHh9Lm1hdC10YWItaGVhZGVyLXJ0bCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1iZWZvcmUgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiwubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlciAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoycHggMnB4IDAgMDtjb250ZW50OiIiO2hlaWdodDo4cHg7d2lkdGg6OHB4fS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVke2JveC1zaGFkb3c6bm9uZTtjdXJzb3I6ZGVmYXVsdH0ubWF0LXRhYi1saXN0e2ZsZXgtZ3JvdzoxO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246dHJhbnNmb3JtIDUwMG1zIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKX0ubWF0LXRhYi1saW5rc3tkaXNwbGF5OmZsZXh9W21hdC1hbGlnbi10YWJzPWNlbnRlcl0+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGlua3N7anVzdGlmeS1jb250ZW50OmNlbnRlcn1bbWF0LWFsaWduLXRhYnM9ZW5kXT4ubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rc3tqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lm1hdC1pbmstYmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2hlaWdodDoycHg7dHJhbnNpdGlvbjo1MDBtcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSl9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1pbmstYmFye3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXRhYi1ncm91cC1pbnZlcnRlZC1oZWFkZXIgLm1hdC1pbmstYmFye2JvdHRvbTphdXRvO3RvcDowfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1pbmstYmFye291dGxpbmU6c29saWQgMnB4O2hlaWdodDowfS5tYXQtdGFiLWxpbmstY29udGFpbmVye2Rpc3BsYXk6ZmxleDtmbGV4LWdyb3c6MTtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoxfS5tYXQtdGFiLWxpbmt7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDI0cHg7Y3Vyc29yOnBvaW50ZXI7Ym94LXNpemluZzpib3JkZXItYm94O29wYWNpdHk6LjY7bWluLXdpZHRoOjE2MHB4O3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO3ZlcnRpY2FsLWFsaWduOnRvcDt0ZXh0LWRlY29yYXRpb246bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtdGFiLWxpbms6Zm9jdXN7b3V0bGluZTpub25lfS5tYXQtdGFiLWxpbms6Zm9jdXM6bm90KC5tYXQtdGFiLWRpc2FibGVkKXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRhYi1saW5rOmZvY3Vze291dGxpbmU6ZG90dGVkIDJweDtvdXRsaW5lLW9mZnNldDotMnB4fS5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZHtvcGFjaXR5Oi41fS5tYXQtdGFiLWxpbmsgLm1hdC10YWItbGFiZWwtY29udGVudHtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdGFiLWxpbmt7b3BhY2l0eToxfVttYXQtc3RyZXRjaC10YWJzXSAubWF0LXRhYi1saW5re2ZsZXgtYmFzaXM6MDtmbGV4LWdyb3c6MX0ubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7cG9pbnRlci1ldmVudHM6bm9uZX1AbWVkaWEobWF4LXdpZHRoOiA1OTlweCl7Lm1hdC10YWItbGlua3ttaW4td2lkdGg6NzJweH19XG4nXSxlbmNhcHN1bGF0aW9uOjJ9KSxUai5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTptQ30se3R5cGU6T2J9LHt0eXBlOlFMfSx7dHlwZTpjSH0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dLFRqLnByb3BEZWNvcmF0b3JzPXtfaXRlbXM6W3t0eXBlOm9yLGFyZ3M6WyRlKCgoKT0+SWopKSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9pbmtCYXI6W3t0eXBlOmFyLGFyZ3M6W2xqLHtzdGF0aWM6ITB9XX1dLF90YWJMaXN0Q29udGFpbmVyOlt7dHlwZTphcixhcmdzOlsidGFiTGlzdENvbnRhaW5lciIse3N0YXRpYzohMH1dfV0sX3RhYkxpc3Q6W3t0eXBlOmFyLGFyZ3M6WyJ0YWJMaXN0Iix7c3RhdGljOiEwfV19XSxfbmV4dFBhZ2luYXRvcjpbe3R5cGU6YXIsYXJnczpbIm5leHRQYWdpbmF0b3IiXX1dLF9wcmV2aW91c1BhZ2luYXRvcjpbe3R5cGU6YXIsYXJnczpbInByZXZpb3VzUGFnaW5hdG9yIl19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihUaixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJbbWF0LXRhYi1uYXYtYmFyXSIsZXhwb3J0QXM6Im1hdFRhYk5hdkJhciwgbWF0VGFiTmF2IixpbnB1dHM6WyJjb2xvciJdLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIG1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlIG1hdC1lbGV2YXRpb24tejQiXG4gICAgICNwcmV2aW91c1BhZ2luYXRvclxuICAgICBhcmlhLWhpZGRlbj0idHJ1ZSJcbiAgICAgbWF0LXJpcHBsZSBbbWF0UmlwcGxlRGlzYWJsZWRdPSJfZGlzYWJsZVNjcm9sbEJlZm9yZSB8fCBkaXNhYmxlUmlwcGxlIlxuICAgICBbY2xhc3MubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZF09Il9kaXNhYmxlU2Nyb2xsQmVmb3JlIlxuICAgICAoY2xpY2spPSJfaGFuZGxlUGFnaW5hdG9yQ2xpY2soXCdiZWZvcmVcJykiXG4gICAgIChtb3VzZWRvd24pPSJfaGFuZGxlUGFnaW5hdG9yUHJlc3MoXCdiZWZvcmVcJywgJGV2ZW50KSJcbiAgICAgKHRvdWNoZW5kKT0iX3N0b3BJbnRlcnZhbCgpIj5cbiAgPGRpdiBjbGFzcz0ibWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIj48L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPSJtYXQtdGFiLWxpbmstY29udGFpbmVyIiAjdGFiTGlzdENvbnRhaW5lciAoa2V5ZG93bik9Il9oYW5kbGVLZXlkb3duKCRldmVudCkiPlxuICA8ZGl2XG4gICAgY2xhc3M9Im1hdC10YWItbGlzdCJcbiAgICBbY2xhc3MuX21hdC1hbmltYXRpb24tbm9vcGFibGVdPSJfYW5pbWF0aW9uTW9kZSA9PT0gXCdOb29wQW5pbWF0aW9uc1wnIlxuICAgICN0YWJMaXN0XG4gICAgKGNka09ic2VydmVDb250ZW50KT0iX29uQ29udGVudENoYW5nZXMoKSI+XG4gICAgPGRpdiBjbGFzcz0ibWF0LXRhYi1saW5rcyI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1pbmstYmFyPjwvbWF0LWluay1iYXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9Im1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gbWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlciBtYXQtZWxldmF0aW9uLXo0IlxuICAgICAjbmV4dFBhZ2luYXRvclxuICAgICBhcmlhLWhpZGRlbj0idHJ1ZSJcbiAgICAgbWF0LXJpcHBsZSBbbWF0UmlwcGxlRGlzYWJsZWRdPSJfZGlzYWJsZVNjcm9sbEFmdGVyIHx8IGRpc2FibGVSaXBwbGUiXG4gICAgIFtjbGFzcy5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkXT0iX2Rpc2FibGVTY3JvbGxBZnRlciJcbiAgICAgKG1vdXNlZG93bik9Il9oYW5kbGVQYWdpbmF0b3JQcmVzcyhcJ2FmdGVyXCcsICRldmVudCkiXG4gICAgIChjbGljayk9Il9oYW5kbGVQYWdpbmF0b3JDbGljayhcJ2FmdGVyXCcpIlxuICAgICAodG91Y2hlbmQpPSJfc3RvcEludGVydmFsKCkiPlxuICA8ZGl2IGNsYXNzPSJtYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24iPjwvZGl2PlxuPC9kaXY+XG4nLGhvc3Q6e2NsYXNzOiJtYXQtdGFiLW5hdi1iYXIgbWF0LXRhYi1oZWFkZXIiLCJbY2xhc3MubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jb250cm9scy1lbmFibGVkXSI6Il9zaG93UGFnaW5hdGlvbkNvbnRyb2xzIiwiW2NsYXNzLm1hdC10YWItaGVhZGVyLXJ0bF0iOiJfZ2V0TGF5b3V0RGlyZWN0aW9uKCkgPT0gJ3J0bCciLCJbY2xhc3MubWF0LXByaW1hcnldIjonY29sb3IgIT09ICJ3YXJuIiAmJiBjb2xvciAhPT0gImFjY2VudCInLCJbY2xhc3MubWF0LWFjY2VudF0iOidjb2xvciA9PT0gImFjY2VudCInLCJbY2xhc3MubWF0LXdhcm5dIjonY29sb3IgPT09ICJ3YXJuIid9LGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxzdHlsZXM6WycubWF0LXRhYi1oZWFkZXJ7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LXNocmluazowfS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmU7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLXdpZHRoOjMycHg7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0b3VjaC1hY3Rpb246bm9uZX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jb250cm9scy1lbmFibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9ue2Rpc3BsYXk6ZmxleH0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1iZWZvcmUsLm1hdC10YWItaGVhZGVyLXJ0bCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1hZnRlcntwYWRkaW5nLWxlZnQ6NHB4fS5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWJlZm9yZSAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLC5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKC0xMzVkZWcpfS5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlLC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWFmdGVye3BhZGRpbmctcmlnaHQ6NHB4fS5tYXQtdGFiLWhlYWRlci1ydGwgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYmVmb3JlIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24sLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tYWZ0ZXIgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbnt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9ue2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MnB4IDJweCAwIDA7Y29udGVudDoiIjtoZWlnaHQ6OHB4O3dpZHRoOjhweH0ubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZHtib3gtc2hhZG93Om5vbmU7Y3Vyc29yOmRlZmF1bHR9Lm1hdC10YWItbGlzdHtmbGV4LWdyb3c6MTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSA1MDBtcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSl9Lm1hdC10YWItbGlua3N7ZGlzcGxheTpmbGV4fVttYXQtYWxpZ24tdGFicz1jZW50ZXJdPi5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmtze2p1c3RpZnktY29udGVudDpjZW50ZXJ9W21hdC1hbGlnbi10YWJzPWVuZF0+Lm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGlua3N7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5tYXQtaW5rLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtoZWlnaHQ6MnB4O3RyYW5zaXRpb246NTAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtaW5rLWJhcnt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIC5tYXQtaW5rLWJhcntib3R0b206YXV0bzt0b3A6MH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtaW5rLWJhcntvdXRsaW5lOnNvbGlkIDJweDtoZWlnaHQ6MH0ubWF0LXRhYi1saW5rLWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7ZmxleC1ncm93OjE7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MX0ubWF0LXRhYi1saW5re2hlaWdodDo0OHB4O3BhZGRpbmc6MCAyNHB4O2N1cnNvcjpwb2ludGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtvcGFjaXR5Oi42O21pbi13aWR0aDoxNjBweDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjp0b3A7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ubWF0LXRhYi1saW5rOmZvY3Vze291dGxpbmU6bm9uZX0ubWF0LXRhYi1saW5rOmZvY3VzOm5vdCgubWF0LXRhYi1kaXNhYmxlZCl7b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC10YWItbGluazpmb2N1c3tvdXRsaW5lOmRvdHRlZCAycHg7b3V0bGluZS1vZmZzZXQ6LTJweH0ubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWR7b3BhY2l0eTouNX0ubWF0LXRhYi1saW5rIC5tYXQtdGFiLWxhYmVsLWNvbnRlbnR7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRhYi1saW5re29wYWNpdHk6MX1bbWF0LXN0cmV0Y2gtdGFic10gLm1hdC10YWItbGlua3tmbGV4LWJhc2lzOjA7ZmxleC1ncm93OjF9Lm1hdC10YWItbGluay5tYXQtdGFiLWRpc2FibGVke3BvaW50ZXItZXZlbnRzOm5vbmV9QG1lZGlhKG1heC13aWR0aDogNTk5cHgpey5tYXQtdGFiLWxpbmt7bWluLXdpZHRoOjcycHh9fVxuJ119XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6bUN9LHt0eXBlOk9ifSx7dHlwZTpRTH0se3R5cGU6Y0h9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XX0pLHtfaXRlbXM6W3t0eXBlOm9yLGFyZ3M6WyRlKCgoKT0+SWopKSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9pbmtCYXI6W3t0eXBlOmFyLGFyZ3M6W2xqLHtzdGF0aWM6ITB9XX1dLF90YWJMaXN0Q29udGFpbmVyOlt7dHlwZTphcixhcmdzOlsidGFiTGlzdENvbnRhaW5lciIse3N0YXRpYzohMH1dfV0sX3RhYkxpc3Q6W3t0eXBlOmFyLGFyZ3M6WyJ0YWJMaXN0Iix7c3RhdGljOiEwfV19XSxfbmV4dFBhZ2luYXRvcjpbe3R5cGU6YXIsYXJnczpbIm5leHRQYWdpbmF0b3IiXX1dLF9wcmV2aW91c1BhZ2luYXRvcjpbe3R5cGU6YXIsYXJnczpbInByZXZpb3VzUGFnaW5hdG9yIl19XX0pO2NvbnN0IE5qPUZGKEhGKHpGKGNsYXNze30pKSk7Y2xhc3MgemogZXh0ZW5kcyBOantjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7c3VwZXIoKSx0aGlzLl90YWJOYXZCYXI9dCx0aGlzLmVsZW1lbnRSZWY9ZSx0aGlzLl9mb2N1c01vbml0b3I9aSx0aGlzLl9pc0FjdGl2ZT0hMSx0aGlzLnJpcHBsZUNvbmZpZz1ufHx7fSx0aGlzLnRhYkluZGV4PXBhcnNlSW50KG8pfHwwLCJOb29wQW5pbWF0aW9ucyI9PT1hJiYodGhpcy5yaXBwbGVDb25maWcuYW5pbWF0aW9uPXtlbnRlckR1cmF0aW9uOjAsZXhpdER1cmF0aW9uOjB9KX1nZXQgYWN0aXZlKCl7cmV0dXJuIHRoaXMuX2lzQWN0aXZlfXNldCBhY3RpdmUodCl7ZUgodCkhPT10aGlzLl9pc0FjdGl2ZSYmKHRoaXMuX2lzQWN0aXZlPXQsdGhpcy5fdGFiTmF2QmFyLnVwZGF0ZUFjdGl2ZUxpbmsoKSl9Z2V0IHJpcHBsZURpc2FibGVkKCl7cmV0dXJuIHRoaXMuZGlzYWJsZWR8fHRoaXMuZGlzYWJsZVJpcHBsZXx8dGhpcy5fdGFiTmF2QmFyLmRpc2FibGVSaXBwbGV8fCEhdGhpcy5yaXBwbGVDb25maWcuZGlzYWJsZWR9Zm9jdXMoKXt0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuZWxlbWVudFJlZil9bmdPbkRlc3Ryb3koKXt0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5lbGVtZW50UmVmKX1faGFuZGxlRm9jdXMoKXt0aGlzLl90YWJOYXZCYXIuZm9jdXNJbmRleD10aGlzLl90YWJOYXZCYXIuX2l0ZW1zLnRvQXJyYXkoKS5pbmRleE9mKHRoaXMpfX16ai7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8emopKGdmKEFqKSxnZihLaCksZ2YocEwsOCksR2EoInRhYmluZGV4IiksZ2YoZkYpLGdmKGNrLDgpKX0semouybVkaXI9aG8oe3R5cGU6emosaW5wdXRzOnthY3RpdmU6ImFjdGl2ZSJ9LGZlYXR1cmVzOltRcF19KSx6ai5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkFqfSx7dHlwZTpLaH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltwTF19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJ0YWJpbmRleCJdfV19LHt0eXBlOmZGfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0semoucHJvcERlY29yYXRvcnM9e2FjdGl2ZTpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih6aixbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6QWp9LHt0eXBlOktofSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3BMXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbInRhYmluZGV4Il19XX0se3R5cGU6ZkZ9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XX0pLHthY3RpdmU6W3t0eXBlOlJffV19KTtjbGFzcyBJaiBleHRlbmRzIHpqe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyl7c3VwZXIodCxlLGksYSxyLHMpLHRoaXMuX3RhYkxpbmtSaXBwbGU9bmV3IGRMKHRoaXMsbixlLG8pLHRoaXMuX3RhYkxpbmtSaXBwbGUuc2V0dXBUcmlnZ2VyRXZlbnRzKGUubmF0aXZlRWxlbWVudCl9bmdPbkRlc3Ryb3koKXtzdXBlci5uZ09uRGVzdHJveSgpLHRoaXMuX3RhYkxpbmtSaXBwbGUuX3JlbW92ZVRyaWdnZXJFdmVudHMoKX19SWouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fElqKShnZihUaiksZ2YoS2gpLGdmKG1DKSxnZihjSCksZ2YocEwsOCksR2EoInRhYmluZGV4IiksZ2YoZkYpLGdmKGNrLDgpKX0sSWouybVkaXI9aG8oe3R5cGU6SWosc2VsZWN0b3JzOltbIiIsIm1hdC10YWItbGluayIsIiJdLFsiIiwibWF0VGFiTGluayIsIiJdXSxob3N0QXR0cnM6WzEsIm1hdC10YWItbGluayIsIm1hdC1mb2N1cy1pbmRpY2F0b3IiXSxob3N0VmFyczo3LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigiZm9jdXMiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX2hhbmRsZUZvY3VzKCl9KSksMiZlJiYoeW0oImFyaWEtY3VycmVudCIsbi5hY3RpdmU/InBhZ2UiOm51bGwpKCJhcmlhLWRpc2FibGVkIixuLmRpc2FibGVkKSgidGFiSW5kZXgiLG4udGFiSW5kZXgpLGN1KCJtYXQtdGFiLWRpc2FibGVkIixuLmRpc2FibGVkKSgibWF0LXRhYi1sYWJlbC1hY3RpdmUiLG4uYWN0aXZlKSl9LGlucHV0czp7ZGlzYWJsZWQ6ImRpc2FibGVkIixkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIix0YWJJbmRleDoidGFiSW5kZXgifSxleHBvcnRBczpbIm1hdFRhYkxpbmsiXSxmZWF0dXJlczpbUXBdfSksSWouY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpUan0se3R5cGU6S2h9LHt0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltwTF19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJ0YWJpbmRleCJdfV19LHt0eXBlOmZGfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihJaixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbWF0LXRhYi1saW5rXSwgW21hdFRhYkxpbmtdIixleHBvcnRBczoibWF0VGFiTGluayIsaW5wdXRzOlsiZGlzYWJsZWQiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiXSxob3N0OntjbGFzczoibWF0LXRhYi1saW5rIG1hdC1mb2N1cy1pbmRpY2F0b3IiLCJbYXR0ci5hcmlhLWN1cnJlbnRdIjonYWN0aXZlID8gInBhZ2UiIDogbnVsbCcsIlthdHRyLmFyaWEtZGlzYWJsZWRdIjoiZGlzYWJsZWQiLCJbYXR0ci50YWJJbmRleF0iOiJ0YWJJbmRleCIsIltjbGFzcy5tYXQtdGFiLWRpc2FibGVkXSI6ImRpc2FibGVkIiwiW2NsYXNzLm1hdC10YWItbGFiZWwtYWN0aXZlXSI6ImFjdGl2ZSIsIihmb2N1cykiOiJfaGFuZGxlRm9jdXMoKSJ9fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6VGp9LHt0eXBlOktofSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbcExdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsidGFiaW5kZXgiXX1dfSx7dHlwZTpmRn0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBIant9SGouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEhqKX0sSGouybVtb2Q9Zm8oe3R5cGU6SGp9KSxIai7JtWluaj1Ebih7aW1wb3J0czpbW3J4LE5GLGhCLGZMLHdILF9GXSxORl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEhqLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbcngsTkYsaEIsZkwsd0gsX0ZdLGV4cG9ydHM6W05GLFBqLG1qLGdqLFRqLElqLGRqXSxkZWNsYXJhdGlvbnM6W1BqLG1qLGdqLGxqLGtqLFRqLElqLF9qLGJqLEVqLGRqXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEhqLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bUGosbWosZ2osbGosa2osVGosSWosX2osYmosRWosZGpdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW3J4LE5GLGhCLGZMLHdILF9GXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltORixQaixtaixnaixUaixJaixkal19fSk7Y29uc3QgRmo9WyJ1bmRlcmxpbmUiXSxMaj1bImNvbm5lY3Rpb25Db250YWluZXIiXSxCaj1bImlucHV0Q29udGFpbmVyIl0sVmo9WyJsYWJlbCJdO2Z1bmN0aW9uIGpqKHQsZSl7MSZ0JiYoeGYoMCksQ2YoMSwiZGl2IiwxNCksdmYoMiwiZGl2IiwxNSksdmYoMywiZGl2IiwxNiksdmYoNCwiZGl2IiwxNyksTWYoKSxDZig1LCJkaXYiLDE4KSx2Zig2LCJkaXYiLDE1KSx2Zig3LCJkaXYiLDE2KSx2Zig4LCJkaXYiLDE3KSxNZigpLE9mKCkpfWZ1bmN0aW9uIFVqKHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxOSksRmYoMSwxKSxNZigpKX1mdW5jdGlvbiBXaih0LGUpe2lmKDEmdCYmKHhmKDApLEZmKDEsMiksQ2YoMiwic3BhbiIpLFB1KDMpLE1mKCksT2YoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDMpLHd1KHQuX2NvbnRyb2wucGxhY2Vob2xkZXIpfX1mdW5jdGlvbiBHaih0LGUpezEmdCYmRmYoMCwzLFsiKm5nU3dpdGNoQ2FzZSIsInRydWUiXSl9ZnVuY3Rpb24gWWoodCxlKXsxJnQmJihDZigwLCJzcGFuIiwyMyksUHUoMSwiICoiKSxNZigpKX1mdW5jdGlvbiBxaih0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImxhYmVsIiwyMCwyMSksUmYoImNka09ic2VydmVDb250ZW50IiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLnVwZGF0ZU91dGxpbmVHYXAoKX0pKSxIbSgyLFdqLDQsMSwibmctY29udGFpbmVyIiwxMiksSG0oMyxHaiwxLDAsIm5nLWNvbnRlbnQiLDEyKSxIbSg0LFlqLDIsMCwic3BhbiIsMjIpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7Y3UoIm1hdC1lbXB0eSIsdC5fY29udHJvbC5lbXB0eSYmIXQuX3Nob3VsZEFsd2F5c0Zsb2F0KCkpKCJtYXQtZm9ybS1maWVsZC1lbXB0eSIsdC5fY29udHJvbC5lbXB0eSYmIXQuX3Nob3VsZEFsd2F5c0Zsb2F0KCkpKCJtYXQtYWNjZW50IiwiYWNjZW50Ij09dC5jb2xvcikoIm1hdC13YXJuIiwid2FybiI9PXQuY29sb3IpLGJmKCJjZGtPYnNlcnZlQ29udGVudERpc2FibGVkIiwib3V0bGluZSIhPXQuYXBwZWFyYW5jZSkoImlkIix0Ll9sYWJlbElkKSgibmdTd2l0Y2giLHQuX2hhc0xhYmVsKCkpLHltKCJmb3IiLHQuX2NvbnRyb2wuaWQpKCJhcmlhLW93bnMiLHQuX2NvbnRyb2wuaWQpLERjKDIpLGJmKCJuZ1N3aXRjaENhc2UiLCExKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIiwhMCksRGMoMSksYmYoIm5nSWYiLCF0LmhpZGVSZXF1aXJlZE1hcmtlciYmdC5fY29udHJvbC5yZXF1aXJlZCYmIXQuX2NvbnRyb2wuZGlzYWJsZWQpfX1mdW5jdGlvbiBaaih0LGUpezEmdCYmKENmKDAsImRpdiIsMjQpLEZmKDEsNCksTWYoKSl9ZnVuY3Rpb24gWGoodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDI1LDI2KSx2ZigyLCJzcGFuIiwyNyksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksY3UoIm1hdC1hY2NlbnQiLCJhY2NlbnQiPT10LmNvbG9yKSgibWF0LXdhcm4iLCJ3YXJuIj09dC5jb2xvcil9fWZ1bmN0aW9uIEtqKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiksRmYoMSw1KSxNZigpKSwyJnQpe2JmKCJAdHJhbnNpdGlvbk1lc3NhZ2VzIix6ZigpLl9zdWJzY3JpcHRBbmltYXRpb25TdGF0ZSl9fWZ1bmN0aW9uIEpqKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiwzMSksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJpZCIsdC5faGludExhYmVsSWQpLERjKDEpLHd1KHQuaGludExhYmVsKX19ZnVuY3Rpb24gUWoodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDI4KSxIbSgxLEpqLDIsMiwiZGl2IiwyOSksRmYoMiw2KSx2ZigzLCJkaXYiLDMwKSxGZig0LDcpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO2JmKCJAdHJhbnNpdGlvbk1lc3NhZ2VzIix0Ll9zdWJzY3JpcHRBbmltYXRpb25TdGF0ZSksRGMoMSksYmYoIm5nSWYiLHQuaGludExhYmVsKX19Y29uc3QgJGo9WyIqIixbWyIiLCJtYXRQcmVmaXgiLCIiXV0sW1sibWF0LXBsYWNlaG9sZGVyIl1dLFtbIm1hdC1sYWJlbCJdXSxbWyIiLCJtYXRTdWZmaXgiLCIiXV0sW1sibWF0LWVycm9yIl1dLFtbIm1hdC1oaW50IiwzLCJhbGlnbiIsImVuZCJdXSxbWyJtYXQtaGludCIsImFsaWduIiwiZW5kIl1dXTtsZXQgdFU9MDtjb25zdCBlVT1uZXcgZXIoIk1hdEVycm9yIik7Y2xhc3MgblV7Y29uc3RydWN0b3IodCxlKXt0aGlzLmlkPSJtYXQtZXJyb3ItIit0VSsrLHR8fGUubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGl2ZSIsInBvbGl0ZSIpfX1uVS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8blUpKEdhKCJhcmlhLWxpdmUiKSxnZihLaCkpfSxuVS7JtWRpcj1obyh7dHlwZTpuVSxzZWxlY3RvcnM6W1sibWF0LWVycm9yIl1dLGhvc3RBdHRyczpbImFyaWEtYXRvbWljIiwidHJ1ZSIsMSwibWF0LWVycm9yIl0saG9zdFZhcnM6MSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmeW0oImlkIixuLmlkKX0saW5wdXRzOntpZDoiaWQifSxmZWF0dXJlczpbamgoW3twcm92aWRlOmVVLHVzZUV4aXN0aW5nOm5VfV0pXX0pLG5VLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJhcmlhLWxpdmUiXX1dfSx7dHlwZTpLaH1dLG5VLnByb3BEZWNvcmF0b3JzPXtpZDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihuVSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtZXJyb3IiLGhvc3Q6e2NsYXNzOiJtYXQtZXJyb3IiLCJbYXR0ci5pZF0iOiJpZCIsImFyaWEtYXRvbWljIjoidHJ1ZSJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6ZVUsdXNlRXhpc3Rpbmc6blV9XX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsiYXJpYS1saXZlIl19XX0se3R5cGU6S2h9XX0pLHtpZDpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3Qgb1U9e3RyYW5zaXRpb25NZXNzYWdlczp4TygidHJhbnNpdGlvbk1lc3NhZ2VzIixba08oImVudGVyIix3Tyh7b3BhY2l0eToxLHRyYW5zZm9ybToidHJhbnNsYXRlWSgwJSkifSkpLERPKCJ2b2lkID0+IGVudGVyIixbd08oe29wYWNpdHk6MCx0cmFuc2Zvcm06InRyYW5zbGF0ZVkoLTVweCkifSksT08oIjMwMG1zIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjU1LCAwLjIpIildKV0pfTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgaVV7fWZ1bmN0aW9uIGFVKHQpe3JldHVybiBFcnJvcihgQSBoaW50IHdhcyBhbHJlYWR5IGRlY2xhcmVkIGZvciAnYWxpZ249IiR7dH0iJy5gKX1pVS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aVUpfSxpVS7JtWRpcj1obyh7dHlwZTppVX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaVUsW3t0eXBlOmtffV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCByVT0wO2NvbnN0IHNVPW5ldyBlcigiTWF0SGludCIpO2NsYXNzIGxVe2NvbnN0cnVjdG9yKCl7dGhpcy5hbGlnbj0ic3RhcnQiLHRoaXMuaWQ9Im1hdC1oaW50LSIrclUrK319bFUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGxVKX0sbFUuybVkaXI9aG8oe3R5cGU6bFUsc2VsZWN0b3JzOltbIm1hdC1oaW50Il1dLGhvc3RBdHRyczpbMSwibWF0LWhpbnQiXSxob3N0VmFyczo0LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiYoeW0oImlkIixuLmlkKSgiYWxpZ24iLG51bGwpLGN1KCJtYXQtZm9ybS1maWVsZC1oaW50LWVuZCIsImVuZCI9PT1uLmFsaWduKSl9LGlucHV0czp7YWxpZ246ImFsaWduIixpZDoiaWQifSxmZWF0dXJlczpbamgoW3twcm92aWRlOnNVLHVzZUV4aXN0aW5nOmxVfV0pXX0pLGxVLnByb3BEZWNvcmF0b3JzPXthbGlnbjpbe3R5cGU6Ul99XSxpZDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihsVSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtaGludCIsaG9zdDp7Y2xhc3M6Im1hdC1oaW50IiwiW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWhpbnQtZW5kXSI6J2FsaWduID09PSAiZW5kIicsIlthdHRyLmlkXSI6ImlkIiwiW2F0dHIuYWxpZ25dIjoibnVsbCJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6c1UsdXNlRXhpc3Rpbmc6bFV9XX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSx7YWxpZ246W3t0eXBlOlJffV0saWQ6W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIGNVe31jVS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Y1UpfSxjVS7JtWRpcj1obyh7dHlwZTpjVSxzZWxlY3RvcnM6W1sibWF0LWxhYmVsIl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihjVSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtbGFiZWwifV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgZFV7fWRVLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxkVSl9LGRVLsm1ZGlyPWhvKHt0eXBlOmRVLHNlbGVjdG9yczpbWyJtYXQtcGxhY2Vob2xkZXIiXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRVLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1wbGFjZWhvbGRlciJ9XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBwVT1uZXcgZXIoIk1hdFByZWZpeCIpO2NsYXNzIG1Ve31tVS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bVUpfSxtVS7JtWRpcj1obyh7dHlwZTptVSxzZWxlY3RvcnM6W1siIiwibWF0UHJlZml4IiwiIl1dLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6cFUsdXNlRXhpc3Rpbmc6bVV9XSldfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihtVSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbWF0UHJlZml4XSIscHJvdmlkZXJzOlt7cHJvdmlkZTpwVSx1c2VFeGlzdGluZzptVX1dfV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgZlU9bmV3IGVyKCJNYXRTdWZmaXgiKTtjbGFzcyB1VXt9dVUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHVVKX0sdVUuybVkaXI9aG8oe3R5cGU6dVUsc2VsZWN0b3JzOltbIiIsIm1hdFN1ZmZpeCIsIiJdXSxmZWF0dXJlczpbamgoW3twcm92aWRlOmZVLHVzZUV4aXN0aW5nOnVVfV0pXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodVUsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdFN1ZmZpeF0iLHByb3ZpZGVyczpbe3Byb3ZpZGU6ZlUsdXNlRXhpc3Rpbmc6dVV9XX1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmxldCBnVT0wO2NvbnN0IGhVPUlGKGNsYXNze2NvbnN0cnVjdG9yKHQpe3RoaXMuX2VsZW1lbnRSZWY9dH19LCJwcmltYXJ5IiksYlU9bmV3IGVyKCJNQVRfRk9STV9GSUVMRF9ERUZBVUxUX09QVElPTlMiKSx5VT1uZXcgZXIoIk1hdEZvcm1GaWVsZCIpO2NsYXNzIF9VIGV4dGVuZHMgaFV7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzKXtzdXBlcih0KSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj1lLHRoaXMuX2Rpcj1vLHRoaXMuX2RlZmF1bHRzPWksdGhpcy5fcGxhdGZvcm09YSx0aGlzLl9uZ1pvbmU9cix0aGlzLl9vdXRsaW5lR2FwQ2FsY3VsYXRpb25OZWVkZWRJbW1lZGlhdGVseT0hMSx0aGlzLl9vdXRsaW5lR2FwQ2FsY3VsYXRpb25OZWVkZWRPblN0YWJsZT0hMSx0aGlzLl9kZXN0cm95ZWQ9bmV3IEIsdGhpcy5fc2hvd0Fsd2F5c0FuaW1hdGU9ITEsdGhpcy5fc3Vic2NyaXB0QW5pbWF0aW9uU3RhdGU9IiIsdGhpcy5faGludExhYmVsPSIiLHRoaXMuX2hpbnRMYWJlbElkPSJtYXQtaGludC0iK2dVKyssdGhpcy5fbGFiZWxJZD0ibWF0LWZvcm0tZmllbGQtbGFiZWwtIitnVSsrLHRoaXMuZmxvYXRMYWJlbD10aGlzLl9nZXREZWZhdWx0RmxvYXRMYWJlbFN0YXRlKCksdGhpcy5fYW5pbWF0aW9uc0VuYWJsZWQ9Ik5vb3BBbmltYXRpb25zIiE9PXMsdGhpcy5hcHBlYXJhbmNlPWkmJmkuYXBwZWFyYW5jZT9pLmFwcGVhcmFuY2U6ImxlZ2FjeSIsdGhpcy5faGlkZVJlcXVpcmVkTWFya2VyPSEoIWl8fG51bGw9PWkuaGlkZVJlcXVpcmVkTWFya2VyKSYmaS5oaWRlUmVxdWlyZWRNYXJrZXJ9Z2V0IGFwcGVhcmFuY2UoKXtyZXR1cm4gdGhpcy5fYXBwZWFyYW5jZX1zZXQgYXBwZWFyYW5jZSh0KXtjb25zdCBlPXRoaXMuX2FwcGVhcmFuY2U7dGhpcy5fYXBwZWFyYW5jZT10fHx0aGlzLl9kZWZhdWx0cyYmdGhpcy5fZGVmYXVsdHMuYXBwZWFyYW5jZXx8ImxlZ2FjeSIsIm91dGxpbmUiPT09dGhpcy5fYXBwZWFyYW5jZSYmZSE9PXQmJih0aGlzLl9vdXRsaW5lR2FwQ2FsY3VsYXRpb25OZWVkZWRPblN0YWJsZT0hMCl9Z2V0IGhpZGVSZXF1aXJlZE1hcmtlcigpe3JldHVybiB0aGlzLl9oaWRlUmVxdWlyZWRNYXJrZXJ9c2V0IGhpZGVSZXF1aXJlZE1hcmtlcih0KXt0aGlzLl9oaWRlUmVxdWlyZWRNYXJrZXI9ZUgodCl9X3Nob3VsZEFsd2F5c0Zsb2F0KCl7cmV0dXJuImFsd2F5cyI9PT10aGlzLmZsb2F0TGFiZWwmJiF0aGlzLl9zaG93QWx3YXlzQW5pbWF0ZX1fY2FuTGFiZWxGbG9hdCgpe3JldHVybiJuZXZlciIhPT10aGlzLmZsb2F0TGFiZWx9Z2V0IGhpbnRMYWJlbCgpe3JldHVybiB0aGlzLl9oaW50TGFiZWx9c2V0IGhpbnRMYWJlbCh0KXt0aGlzLl9oaW50TGFiZWw9dCx0aGlzLl9wcm9jZXNzSGludHMoKX1nZXQgZmxvYXRMYWJlbCgpe3JldHVybiJsZWdhY3kiIT09dGhpcy5hcHBlYXJhbmNlJiYibmV2ZXIiPT09dGhpcy5fZmxvYXRMYWJlbD8iYXV0byI6dGhpcy5fZmxvYXRMYWJlbH1zZXQgZmxvYXRMYWJlbCh0KXt0IT09dGhpcy5fZmxvYXRMYWJlbCYmKHRoaXMuX2Zsb2F0TGFiZWw9dHx8dGhpcy5fZ2V0RGVmYXVsdEZsb2F0TGFiZWxTdGF0ZSgpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKX1nZXQgX2NvbnRyb2woKXtyZXR1cm4gdGhpcy5fZXhwbGljaXRGb3JtRmllbGRDb250cm9sfHx0aGlzLl9jb250cm9sTm9uU3RhdGljfHx0aGlzLl9jb250cm9sU3RhdGljfXNldCBfY29udHJvbCh0KXt0aGlzLl9leHBsaWNpdEZvcm1GaWVsZENvbnRyb2w9dH1nZXRMYWJlbElkKCl7cmV0dXJuIHRoaXMuX2hhc0Zsb2F0aW5nTGFiZWwoKT90aGlzLl9sYWJlbElkOm51bGx9Z2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpe3JldHVybiB0aGlzLl9jb25uZWN0aW9uQ29udGFpbmVyUmVmfHx0aGlzLl9lbGVtZW50UmVmfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX3ZhbGlkYXRlQ29udHJvbENoaWxkKCk7Y29uc3QgdD10aGlzLl9jb250cm9sO3QuY29udHJvbFR5cGUmJnRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBtYXQtZm9ybS1maWVsZC10eXBlLSR7dC5jb250cm9sVHlwZX1gKSx0LnN0YXRlQ2hhbmdlcy5waXBlKEJlKG51bGwpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fdmFsaWRhdGVQbGFjZWhvbGRlcnMoKSx0aGlzLl9zeW5jRGVzY3JpYmVkQnlJZHMoKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX0pKSx0Lm5nQ29udHJvbCYmdC5uZ0NvbnRyb2wudmFsdWVDaGFuZ2VzJiZ0Lm5nQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT50aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSkpLHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9Pnt0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fb3V0bGluZUdhcENhbGN1bGF0aW9uTmVlZGVkT25TdGFibGUmJnRoaXMudXBkYXRlT3V0bGluZUdhcCgpfSkpfSkpLHBlKHRoaXMuX3ByZWZpeENoaWxkcmVuLmNoYW5nZXMsdGhpcy5fc3VmZml4Q2hpbGRyZW4uY2hhbmdlcykuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX291dGxpbmVHYXBDYWxjdWxhdGlvbk5lZWRlZE9uU3RhYmxlPSEwLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfSkpLHRoaXMuX2hpbnRDaGlsZHJlbi5jaGFuZ2VzLnBpcGUoQmUobnVsbCkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9wcm9jZXNzSGludHMoKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX0pKSx0aGlzLl9lcnJvckNoaWxkcmVuLmNoYW5nZXMucGlwZShCZShudWxsKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3N5bmNEZXNjcmliZWRCeUlkcygpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfSkpLHRoaXMuX2RpciYmdGhpcy5fZGlyLmNoYW5nZS5waXBlKGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgoKCk9PnsiZnVuY3Rpb24iPT10eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lP3RoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PntyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCgpPT50aGlzLnVwZGF0ZU91dGxpbmVHYXAoKSkpfSkpOnRoaXMudXBkYXRlT3V0bGluZUdhcCgpfSkpfW5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpe3RoaXMuX3ZhbGlkYXRlQ29udHJvbENoaWxkKCksdGhpcy5fb3V0bGluZUdhcENhbGN1bGF0aW9uTmVlZGVkSW1tZWRpYXRlbHkmJnRoaXMudXBkYXRlT3V0bGluZUdhcCgpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuX3N1YnNjcmlwdEFuaW1hdGlvblN0YXRlPSJlbnRlciIsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpfW5nT25EZXN0cm95KCl7dGhpcy5fZGVzdHJveWVkLm5leHQoKSx0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKX1fc2hvdWxkRm9yd2FyZCh0KXtjb25zdCBlPXRoaXMuX2NvbnRyb2w/dGhpcy5fY29udHJvbC5uZ0NvbnRyb2w6bnVsbDtyZXR1cm4gZSYmZVt0XX1faGFzUGxhY2Vob2xkZXIoKXtyZXR1cm4hISh0aGlzLl9jb250cm9sJiZ0aGlzLl9jb250cm9sLnBsYWNlaG9sZGVyfHx0aGlzLl9wbGFjZWhvbGRlckNoaWxkKX1faGFzTGFiZWwoKXtyZXR1cm4hKCF0aGlzLl9sYWJlbENoaWxkTm9uU3RhdGljJiYhdGhpcy5fbGFiZWxDaGlsZFN0YXRpYyl9X3Nob3VsZExhYmVsRmxvYXQoKXtyZXR1cm4gdGhpcy5fY2FuTGFiZWxGbG9hdCgpJiYodGhpcy5fY29udHJvbCYmdGhpcy5fY29udHJvbC5zaG91bGRMYWJlbEZsb2F0fHx0aGlzLl9zaG91bGRBbHdheXNGbG9hdCgpKX1faGlkZUNvbnRyb2xQbGFjZWhvbGRlcigpe3JldHVybiJsZWdhY3kiPT09dGhpcy5hcHBlYXJhbmNlJiYhdGhpcy5faGFzTGFiZWwoKXx8dGhpcy5faGFzTGFiZWwoKSYmIXRoaXMuX3Nob3VsZExhYmVsRmxvYXQoKX1faGFzRmxvYXRpbmdMYWJlbCgpe3JldHVybiB0aGlzLl9oYXNMYWJlbCgpfHwibGVnYWN5Ij09PXRoaXMuYXBwZWFyYW5jZSYmdGhpcy5faGFzUGxhY2Vob2xkZXIoKX1fZ2V0RGlzcGxheWVkTWVzc2FnZXMoKXtyZXR1cm4gdGhpcy5fZXJyb3JDaGlsZHJlbiYmdGhpcy5fZXJyb3JDaGlsZHJlbi5sZW5ndGg+MCYmdGhpcy5fY29udHJvbC5lcnJvclN0YXRlPyJlcnJvciI6ImhpbnQifV9hbmltYXRlQW5kTG9ja0xhYmVsKCl7dGhpcy5faGFzRmxvYXRpbmdMYWJlbCgpJiZ0aGlzLl9jYW5MYWJlbEZsb2F0KCkmJih0aGlzLl9hbmltYXRpb25zRW5hYmxlZCYmdGhpcy5fbGFiZWwmJih0aGlzLl9zaG93QWx3YXlzQW5pbWF0ZT0hMCxsZSh0aGlzLl9sYWJlbC5uYXRpdmVFbGVtZW50LCJ0cmFuc2l0aW9uZW5kIikucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3Nob3dBbHdheXNBbmltYXRlPSExfSkpKSx0aGlzLmZsb2F0TGFiZWw9ImFsd2F5cyIsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpfV92YWxpZGF0ZVBsYWNlaG9sZGVycygpe2lmKHRoaXMuX2NvbnRyb2wucGxhY2Vob2xkZXImJnRoaXMuX3BsYWNlaG9sZGVyQ2hpbGQmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSkKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCnRocm93KGZ1bmN0aW9uIHQoKXtyZXR1cm4gRXJyb3IoIlBsYWNlaG9sZGVyIGF0dHJpYnV0ZSBhbmQgY2hpbGQgZWxlbWVudCB3ZXJlIGJvdGggc3BlY2lmaWVkLiIpfSkoKX1fcHJvY2Vzc0hpbnRzKCl7dGhpcy5fdmFsaWRhdGVIaW50cygpLHRoaXMuX3N5bmNEZXNjcmliZWRCeUlkcygpfV92YWxpZGF0ZUhpbnRzKCl7aWYodGhpcy5faGludENoaWxkcmVuJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpe2xldCB0LGU7dGhpcy5faGludENoaWxkcmVuLmZvckVhY2goKG49PntpZigic3RhcnQiPT09bi5hbGlnbil7aWYodHx8dGhpcy5oaW50TGFiZWwpdGhyb3cgYVUoInN0YXJ0Iik7dD1ufWVsc2UgaWYoImVuZCI9PT1uLmFsaWduKXtpZihlKXRocm93IGFVKCJlbmQiKTtlPW59fSkpfX1fZ2V0RGVmYXVsdEZsb2F0TGFiZWxTdGF0ZSgpe3JldHVybiB0aGlzLl9kZWZhdWx0cyYmdGhpcy5fZGVmYXVsdHMuZmxvYXRMYWJlbHx8ImF1dG8ifV9zeW5jRGVzY3JpYmVkQnlJZHMoKXtpZih0aGlzLl9jb250cm9sKXtsZXQgdD1bXTtpZih0aGlzLl9jb250cm9sLnVzZXJBcmlhRGVzY3JpYmVkQnkmJiJzdHJpbmciPT10eXBlb2YgdGhpcy5fY29udHJvbC51c2VyQXJpYURlc2NyaWJlZEJ5JiZ0LnB1c2goLi4udGhpcy5fY29udHJvbC51c2VyQXJpYURlc2NyaWJlZEJ5LnNwbGl0KCIgIikpLCJoaW50Ij09PXRoaXMuX2dldERpc3BsYXllZE1lc3NhZ2VzKCkpe2NvbnN0IGU9dGhpcy5faGludENoaWxkcmVuP3RoaXMuX2hpbnRDaGlsZHJlbi5maW5kKCh0PT4ic3RhcnQiPT09dC5hbGlnbikpOm51bGwsbj10aGlzLl9oaW50Q2hpbGRyZW4/dGhpcy5faGludENoaWxkcmVuLmZpbmQoKHQ9PiJlbmQiPT09dC5hbGlnbikpOm51bGw7ZT90LnB1c2goZS5pZCk6dGhpcy5faGludExhYmVsJiZ0LnB1c2godGhpcy5faGludExhYmVsSWQpLG4mJnQucHVzaChuLmlkKX1lbHNlIHRoaXMuX2Vycm9yQ2hpbGRyZW4mJnQucHVzaCguLi50aGlzLl9lcnJvckNoaWxkcmVuLm1hcCgodD0+dC5pZCkpKTt0aGlzLl9jb250cm9sLnNldERlc2NyaWJlZEJ5SWRzKHQpfX1fdmFsaWRhdGVDb250cm9sQ2hpbGQoKXtpZighdGhpcy5fY29udHJvbCYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93KGZ1bmN0aW9uIHQoKXtyZXR1cm4gRXJyb3IoIm1hdC1mb3JtLWZpZWxkIG11c3QgY29udGFpbiBhIE1hdEZvcm1GaWVsZENvbnRyb2wuIil9KSgpfXVwZGF0ZU91dGxpbmVHYXAoKXtjb25zdCB0PXRoaXMuX2xhYmVsP3RoaXMuX2xhYmVsLm5hdGl2ZUVsZW1lbnQ6bnVsbDtpZigib3V0bGluZSIhPT10aGlzLmFwcGVhcmFuY2V8fCF0fHwhdC5jaGlsZHJlbi5sZW5ndGh8fCF0LnRleHRDb250ZW50LnRyaW0oKSlyZXR1cm47aWYoIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3NlcilyZXR1cm47aWYoIXRoaXMuX2lzQXR0YWNoZWRUb0RPTSgpKXJldHVybiB2b2lkKHRoaXMuX291dGxpbmVHYXBDYWxjdWxhdGlvbk5lZWRlZEltbWVkaWF0ZWx5PSEwKTtsZXQgZT0wLG49MDtjb25zdCBvPXRoaXMuX2Nvbm5lY3Rpb25Db250YWluZXJSZWYubmF0aXZlRWxlbWVudCxpPW8ucXVlcnlTZWxlY3RvckFsbCgiLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnQiKSxhPW8ucXVlcnlTZWxlY3RvckFsbCgiLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZ2FwIik7aWYodGhpcy5fbGFiZWwmJnRoaXMuX2xhYmVsLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoKXtjb25zdCBpPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoMD09PWkud2lkdGgmJjA9PT1pLmhlaWdodClyZXR1cm4gdGhpcy5fb3V0bGluZUdhcENhbGN1bGF0aW9uTmVlZGVkT25TdGFibGU9ITAsdm9pZCh0aGlzLl9vdXRsaW5lR2FwQ2FsY3VsYXRpb25OZWVkZWRJbW1lZGlhdGVseT0hMSk7Y29uc3QgYT10aGlzLl9nZXRTdGFydEVuZChpKSxyPXQuY2hpbGRyZW4scz10aGlzLl9nZXRTdGFydEVuZChyWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtsZXQgbD0wO2ZvcihsZXQgdD0wO3Q8ci5sZW5ndGg7dCsrKWwrPXJbdF0ub2Zmc2V0V2lkdGg7ZT1NYXRoLmFicyhzLWEpLTUsbj1sPjA/Ljc1KmwrMTA6MH1mb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKylpW3RdLnN0eWxlLndpZHRoPWAke2V9cHhgO2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7dCsrKWFbdF0uc3R5bGUud2lkdGg9YCR7bn1weGA7dGhpcy5fb3V0bGluZUdhcENhbGN1bGF0aW9uTmVlZGVkT25TdGFibGU9dGhpcy5fb3V0bGluZUdhcENhbGN1bGF0aW9uTmVlZGVkSW1tZWRpYXRlbHk9ITF9X2dldFN0YXJ0RW5kKHQpe3JldHVybiB0aGlzLl9kaXImJiJydGwiPT09dGhpcy5fZGlyLnZhbHVlP3QucmlnaHQ6dC5sZWZ0fV9pc0F0dGFjaGVkVG9ET00oKXtjb25zdCB0PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtpZih0LmdldFJvb3ROb2RlKXtjb25zdCBlPXQuZ2V0Um9vdE5vZGUoKTtyZXR1cm4gZSYmZSE9PXR9cmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jb250YWlucyh0KX19X1UuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fF9VKShnZihLaCksZ2YoT2IpLGdmKEtoKSxnZih2Riw4KSxnZihiVSw4KSxnZihjSCksZ2YobUMpLGdmKGNrLDgpKX0sX1UuybVjbXA9c28oe3R5cGU6X1Usc2VsZWN0b3JzOltbIm1hdC1mb3JtLWZpZWxkIl1dLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uIHQoZSxuLG8pe2lmKDEmZSYmKGp5KG8saVUsNSksankobyxpVSw3KSxqeShvLGNVLDUpLGp5KG8sY1UsNyksankobyxkVSw1KSxqeShvLGVVLDUpLGp5KG8sc1UsNSksankobyxwVSw1KSxqeShvLGZVLDUpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLl9jb250cm9sTm9uU3RhdGljPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9jb250cm9sU3RhdGljPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9sYWJlbENoaWxkTm9uU3RhdGljPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9sYWJlbENoaWxkU3RhdGljPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9wbGFjZWhvbGRlckNoaWxkPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9lcnJvckNoaWxkcmVuPXQpLEJ5KHQ9VXkoKSkmJihuLl9oaW50Q2hpbGRyZW49dCksQnkodD1VeSgpKSYmKG4uX3ByZWZpeENoaWxkcmVuPXQpLEJ5KHQ9VXkoKSkmJihuLl9zdWZmaXhDaGlsZHJlbj10KX19LHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoVnkoRmosNSksVnkoTGosNyksVnkoQmosNSksVnkoVmosNSkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4udW5kZXJsaW5lUmVmPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9jb25uZWN0aW9uQ29udGFpbmVyUmVmPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9pbnB1dENvbnRhaW5lclJlZj10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5fbGFiZWw9dC5maXJzdCl9fSxob3N0QXR0cnM6WzEsIm1hdC1mb3JtLWZpZWxkIl0saG9zdFZhcnM6NDAsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJmN1KCJtYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkIiwic3RhbmRhcmQiPT1uLmFwcGVhcmFuY2UpKCJtYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwiLCJmaWxsIj09bi5hcHBlYXJhbmNlKSgibWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIiwib3V0bGluZSI9PW4uYXBwZWFyYW5jZSkoIm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IiwibGVnYWN5Ij09bi5hcHBlYXJhbmNlKSgibWF0LWZvcm0tZmllbGQtaW52YWxpZCIsbi5fY29udHJvbC5lcnJvclN0YXRlKSgibWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IixuLl9jYW5MYWJlbEZsb2F0KCkpKCJtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQiLG4uX3Nob3VsZExhYmVsRmxvYXQoKSkoIm1hdC1mb3JtLWZpZWxkLWhhcy1sYWJlbCIsbi5faGFzRmxvYXRpbmdMYWJlbCgpKSgibWF0LWZvcm0tZmllbGQtaGlkZS1wbGFjZWhvbGRlciIsbi5faGlkZUNvbnRyb2xQbGFjZWhvbGRlcigpKSgibWF0LWZvcm0tZmllbGQtZGlzYWJsZWQiLG4uX2NvbnRyb2wuZGlzYWJsZWQpKCJtYXQtZm9ybS1maWVsZC1hdXRvZmlsbGVkIixuLl9jb250cm9sLmF1dG9maWxsZWQpKCJtYXQtZm9jdXNlZCIsbi5fY29udHJvbC5mb2N1c2VkKSgibmctdW50b3VjaGVkIixuLl9zaG91bGRGb3J3YXJkKCJ1bnRvdWNoZWQiKSkoIm5nLXRvdWNoZWQiLG4uX3Nob3VsZEZvcndhcmQoInRvdWNoZWQiKSkoIm5nLXByaXN0aW5lIixuLl9zaG91bGRGb3J3YXJkKCJwcmlzdGluZSIpKSgibmctZGlydHkiLG4uX3Nob3VsZEZvcndhcmQoImRpcnR5IikpKCJuZy12YWxpZCIsbi5fc2hvdWxkRm9yd2FyZCgidmFsaWQiKSkoIm5nLWludmFsaWQiLG4uX3Nob3VsZEZvcndhcmQoImludmFsaWQiKSkoIm5nLXBlbmRpbmciLG4uX3Nob3VsZEZvcndhcmQoInBlbmRpbmciKSkoIl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIiwhbi5fYW5pbWF0aW9uc0VuYWJsZWQpfSxpbnB1dHM6e2NvbG9yOiJjb2xvciIsZmxvYXRMYWJlbDoiZmxvYXRMYWJlbCIsYXBwZWFyYW5jZToiYXBwZWFyYW5jZSIsaGlkZVJlcXVpcmVkTWFya2VyOiJoaWRlUmVxdWlyZWRNYXJrZXIiLGhpbnRMYWJlbDoiaGludExhYmVsIn0sZXhwb3J0QXM6WyJtYXRGb3JtRmllbGQiXSxmZWF0dXJlczpbamgoW3twcm92aWRlOnlVLHVzZUV4aXN0aW5nOl9VfV0pLFFwXSxuZ0NvbnRlbnRTZWxlY3RvcnM6WyIqIiwiW21hdFByZWZpeF0iLCJtYXQtcGxhY2Vob2xkZXIiLCJtYXQtbGFiZWwiLCJbbWF0U3VmZml4XSIsIm1hdC1lcnJvciIsIm1hdC1oaW50Om5vdChbYWxpZ249J2VuZCddKSIsIm1hdC1oaW50W2FsaWduPSdlbmQnXSJdLGRlY2xzOjE1LHZhcnM6OCxjb25zdHM6W1sxLCJtYXQtZm9ybS1maWVsZC13cmFwcGVyIl0sWzEsIm1hdC1mb3JtLWZpZWxkLWZsZXgiLDMsImNsaWNrIl0sWyJjb25uZWN0aW9uQ29udGFpbmVyIiwiIl0sWzQsIm5nSWYiXSxbImNsYXNzIiwibWF0LWZvcm0tZmllbGQtcHJlZml4Iiw0LCJuZ0lmIl0sWzEsIm1hdC1mb3JtLWZpZWxkLWluZml4Il0sWyJpbnB1dENvbnRhaW5lciIsIiJdLFsxLCJtYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIl0sWyJjbGFzcyIsIm1hdC1mb3JtLWZpZWxkLWxhYmVsIiwzLCJjZGtPYnNlcnZlQ29udGVudERpc2FibGVkIiwiaWQiLCJtYXQtZW1wdHkiLCJtYXQtZm9ybS1maWVsZC1lbXB0eSIsIm1hdC1hY2NlbnQiLCJtYXQtd2FybiIsIm5nU3dpdGNoIiwiY2RrT2JzZXJ2ZUNvbnRlbnQiLDQsIm5nSWYiXSxbImNsYXNzIiwibWF0LWZvcm0tZmllbGQtc3VmZml4Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsIm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSIsNCwibmdJZiJdLFsxLCJtYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlciIsMywibmdTd2l0Y2giXSxbNCwibmdTd2l0Y2hDYXNlIl0sWyJjbGFzcyIsIm1hdC1mb3JtLWZpZWxkLWhpbnQtd3JhcHBlciIsNCwibmdTd2l0Y2hDYXNlIl0sWzEsIm1hdC1mb3JtLWZpZWxkLW91dGxpbmUiXSxbMSwibWF0LWZvcm0tZmllbGQtb3V0bGluZS1zdGFydCJdLFsxLCJtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWdhcCJdLFsxLCJtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWVuZCJdLFsxLCJtYXQtZm9ybS1maWVsZC1vdXRsaW5lIiwibWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayJdLFsxLCJtYXQtZm9ybS1maWVsZC1wcmVmaXgiXSxbMSwibWF0LWZvcm0tZmllbGQtbGFiZWwiLDMsImNka09ic2VydmVDb250ZW50RGlzYWJsZWQiLCJpZCIsIm5nU3dpdGNoIiwiY2RrT2JzZXJ2ZUNvbnRlbnQiXSxbImxhYmVsIiwiIl0sWyJjbGFzcyIsIm1hdC1wbGFjZWhvbGRlci1yZXF1aXJlZCBtYXQtZm9ybS1maWVsZC1yZXF1aXJlZC1tYXJrZXIiLCJhcmlhLWhpZGRlbiIsInRydWUiLDQsIm5nSWYiXSxbImFyaWEtaGlkZGVuIiwidHJ1ZSIsMSwibWF0LXBsYWNlaG9sZGVyLXJlcXVpcmVkIiwibWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyIl0sWzEsIm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCJdLFsxLCJtYXQtZm9ybS1maWVsZC11bmRlcmxpbmUiXSxbInVuZGVybGluZSIsIiJdLFsxLCJtYXQtZm9ybS1maWVsZC1yaXBwbGUiXSxbMSwibWF0LWZvcm0tZmllbGQtaGludC13cmFwcGVyIl0sWyJjbGFzcyIsIm1hdC1oaW50IiwzLCJpZCIsNCwibmdJZiJdLFsxLCJtYXQtZm9ybS1maWVsZC1oaW50LXNwYWNlciJdLFsxLCJtYXQtaGludCIsMywiaWQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKEhmKCRqKSxDZigwLCJkaXYiLDApLENmKDEsImRpdiIsMSwyKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9jb250cm9sLm9uQ29udGFpbmVyQ2xpY2smJm4uX2NvbnRyb2wub25Db250YWluZXJDbGljayhlKX0pKSxIbSgzLGpqLDksMCwibmctY29udGFpbmVyIiwzKSxIbSg0LFVqLDIsMCwiZGl2Iiw0KSxDZig1LCJkaXYiLDUsNiksRmYoNyksQ2YoOCwic3BhbiIsNyksSG0oOSxxaiw1LDE2LCJsYWJlbCIsOCksTWYoKSxNZigpLEhtKDEwLFpqLDIsMCwiZGl2Iiw5KSxNZigpLEhtKDExLFhqLDMsNCwiZGl2IiwxMCksQ2YoMTIsImRpdiIsMTEpLEhtKDEzLEtqLDIsMSwiZGl2IiwxMiksSG0oMTQsUWosNSwyLCJkaXYiLDEzKSxNZigpLE1mKCkpLDImZSYmKERjKDMpLGJmKCJuZ0lmIiwib3V0bGluZSI9PW4uYXBwZWFyYW5jZSksRGMoMSksYmYoIm5nSWYiLG4uX3ByZWZpeENoaWxkcmVuLmxlbmd0aCksRGMoNSksYmYoIm5nSWYiLG4uX2hhc0Zsb2F0aW5nTGFiZWwoKSksRGMoMSksYmYoIm5nSWYiLG4uX3N1ZmZpeENoaWxkcmVuLmxlbmd0aCksRGMoMSksYmYoIm5nSWYiLCJvdXRsaW5lIiE9bi5hcHBlYXJhbmNlKSxEYygxKSxiZigibmdTd2l0Y2giLG4uX2dldERpc3BsYXllZE1lc3NhZ2VzKCkpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLCJlcnJvciIpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLCJoaW50IikpfSxkaXJlY3RpdmVzOltQdixEdixSdixQSF0sc3R5bGVzOlsiLm1hdC1mb3JtLWZpZWxke2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdH1bZGlyPXJ0bF0gLm1hdC1mb3JtLWZpZWxke3RleHQtYWxpZ246cmlnaHR9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1mb3JtLWZpZWxkLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpiYXNlbGluZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0ubWF0LWZvcm0tZmllbGQtcHJlZml4LC5tYXQtZm9ybS1maWVsZC1zdWZmaXh7d2hpdGUtc3BhY2U6bm93cmFwO2ZsZXg6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LWZvcm0tZmllbGQtaW5maXh7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4OmF1dG87bWluLXdpZHRoOjA7d2lkdGg6MTgwcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtaW5maXh7Ym9yZGVyLWltYWdlOmxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmV9W2Rpcj1ydGxdIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVye2xlZnQ6YXV0bztyaWdodDowfS5tYXQtZm9ybS1maWVsZC1sYWJlbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Zm9udDppbmhlcml0O3BvaW50ZXItZXZlbnRzOm5vbmU7d2lkdGg6MTAwJTt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW47dHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksY29sb3IgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksd2lkdGggNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7ZGlzcGxheTpub25lfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDA7bGVmdDphdXRvO3JpZ2h0OjB9Lm1hdC1mb3JtLWZpZWxkLWVtcHR5Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbHtkaXNwbGF5OmJsb2NrfS5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2Rpc3BsYXk6bm9uZX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2Rpc3BsYXk6YmxvY2s7dHJhbnNpdGlvbjpub25lfS5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWlucHV0LXNlcnZlcltwbGFjZWhvbGRlcl06bm90KDpwbGFjZWhvbGRlci1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2Rpc3BsYXk6bm9uZX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW3BsYWNlaG9sZGVyXTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7ZGlzcGxheTpibG9ja30ubWF0LWZvcm0tZmllbGQtbGFiZWw6bm90KC5tYXQtZm9ybS1maWVsZC1lbXB0eSl7dHJhbnNpdGlvbjpub25lfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zZm9ybTpzY2FsZTNkKDEsIDEuMDAwMSwgMSl9Lm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6MTAwJTt0cmFuc2Zvcm0tb3JpZ2luOjUwJTt0cmFuc2Zvcm06c2NhbGVYKDAuNSk7b3BhY2l0eTowO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAzMDBtcyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC41NSwgMC4yKX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxvcGFjaXR5IDEwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye3Bvc2l0aW9uOmFic29sdXRlO2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIgLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtaWNvbnt3aWR0aDoxZW07aGVpZ2h0OjFlbTtmb250LXNpemU6aW5oZXJpdDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ubWF0LWZvcm0tZmllbGQtaGludC13cmFwcGVye2Rpc3BsYXk6ZmxleH0ubWF0LWZvcm0tZmllbGQtaGludC1zcGFjZXJ7ZmxleDoxIDAgMWVtfS5tYXQtZXJyb3J7ZGlzcGxheTpibG9ja30ubWF0LWZvcm0tZmllbGQtY29udHJvbC13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtZm9ybS1maWVsZC1oaW50LWVuZHtvcmRlcjoxfS5tYXQtZm9ybS1maWVsZC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7dHJhbnNpdGlvbjpub25lfVxuIiwnLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtZmxleHtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwO3BhZGRpbmc6Ljc1ZW0gLjc1ZW0gMCAuNzVlbX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLWZsZXh7b3V0bGluZTpzb2xpZCAxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4e291dGxpbmU6ZGFzaGVkIDNweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7aGVpZ2h0OjFweDt3aWR0aDoxMDAlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtib3R0b206MDtoZWlnaHQ6MnB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2hlaWdodDowfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGw6bm90KC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCkgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXJ+Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSAubWF0LWZvcm0tZmllbGQtcmlwcGxle29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgNjAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZTpub3QoLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkKSAubWF0LWZvcm0tZmllbGQtZmxleDpob3Zlcn4ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7dHJhbnNpdGlvbjpub25lfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye3BhZGRpbmc6MCAxZW19XG4nLCcubWF0LWlucHV0LWVsZW1lbnR7Zm9udDppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6Y3VycmVudENvbG9yO2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjA7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTt2ZXJ0aWNhbC1hbGlnbjpib3R0b207dGV4dC1hbGlnbjppbmhlcml0O2JveC1zaXppbmc6Y29udGVudC1ib3h9Lm1hdC1pbnB1dC1lbGVtZW50Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9Lm1hdC1pbnB1dC1lbGVtZW50OjotbXMtY2xlYXIsLm1hdC1pbnB1dC1lbGVtZW50OjotbXMtcmV2ZWFse2Rpc3BsYXk6bm9uZX0ubWF0LWlucHV0LWVsZW1lbnQsLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiwubWF0LWlucHV0LWVsZW1lbnQ6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfS5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1jb250YWN0cy1hdXRvLWZpbGwtYnV0dG9uLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1jYXBzLWxvY2staW5kaWNhdG9yLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1jcmVkZW50aWFscy1hdXRvLWZpbGwtYnV0dG9ue3Zpc2liaWxpdHk6aGlkZGVufS5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPWRhdGVdLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPWRhdGV0aW1lXSwubWF0LWlucHV0LWVsZW1lbnRbdHlwZT1kYXRldGltZS1sb2NhbF0sLm1hdC1pbnB1dC1lbGVtZW50W3R5cGU9bW9udGhdLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPXdlZWtdLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPXRpbWVde2xpbmUtaGVpZ2h0OjF9Lm1hdC1pbnB1dC1lbGVtZW50W3R5cGU9ZGF0ZV06OmFmdGVyLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPWRhdGV0aW1lXTo6YWZ0ZXIsLm1hdC1pbnB1dC1lbGVtZW50W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOjphZnRlciwubWF0LWlucHV0LWVsZW1lbnRbdHlwZT1tb250aF06OmFmdGVyLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPXdlZWtdOjphZnRlciwubWF0LWlucHV0LWVsZW1lbnRbdHlwZT10aW1lXTo6YWZ0ZXJ7Y29udGVudDoiICI7d2hpdGUtc3BhY2U6cHJlO3dpZHRoOjFweH0ubWF0LWlucHV0LWVsZW1lbnQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWNsZWFyLWJ1dHRvbntmb250LXNpemU6Ljc1ZW19Lm1hdC1pbnB1dC1lbGVtZW50OjpwbGFjZWhvbGRlcnstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjpjb2xvciA0MDBtcyAxMzMuMzMzMzMzMzMzM21zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtaW5wdXQtZWxlbWVudDo6cGxhY2Vob2xkZXI6LW1zLWlucHV0LXBsYWNlaG9sZGVyey1tcy11c2VyLXNlbGVjdDp0ZXh0fS5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcnstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjpjb2xvciA0MDBtcyAxMzMuMzMzMzMzMzMzM21zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcjotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7LW1zLXVzZXItc2VsZWN0OnRleHR9Lm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmNvbG9yIDQwMG1zIDEzMy4zMzMzMzMzMzMzbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyOi1tcy1pbnB1dC1wbGFjZWhvbGRlcnstbXMtdXNlci1zZWxlY3Q6dGV4dH0ubWF0LWlucHV0LWVsZW1lbnQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmNvbG9yIDQwMG1zIDEzMy4zMzMzMzMzMzMzbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1pbnB1dC1lbGVtZW50Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcjotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7LW1zLXVzZXItc2VsZWN0OnRleHR9Lm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50OjpwbGFjZWhvbGRlcntjb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtaW5wdXQtZWxlbWVudDo6cGxhY2Vob2xkZXJ7b3BhY2l0eTowfS5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntvcGFjaXR5OjB9Lm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye29wYWNpdHk6MH0ubWF0LWZvcm0tZmllbGQtaGlkZS1wbGFjZWhvbGRlciAubWF0LWlucHV0LWVsZW1lbnQ6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcntvcGFjaXR5OjB9dGV4dGFyZWEubWF0LWlucHV0LWVsZW1lbnR7cmVzaXplOnZlcnRpY2FsO292ZXJmbG93OmF1dG99dGV4dGFyZWEubWF0LWlucHV0LWVsZW1lbnQuY2RrLXRleHRhcmVhLWF1dG9zaXple3Jlc2l6ZTpub25lfXRleHRhcmVhLm1hdC1pbnB1dC1lbGVtZW50e3BhZGRpbmc6MnB4IDA7bWFyZ2luOi0ycHggMH1zZWxlY3QubWF0LWlucHV0LWVsZW1lbnR7LW1vei1hcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtkaXNwbGF5OmlubGluZS1mbGV4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nLXRvcDoxZW07dG9wOi0xZW07bWFyZ2luLWJvdHRvbTotMWVtfXNlbGVjdC5tYXQtaW5wdXQtZWxlbWVudDo6LW1zLWV4cGFuZHtkaXNwbGF5Om5vbmV9c2VsZWN0Lm1hdC1pbnB1dC1lbGVtZW50OjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfXNlbGVjdC5tYXQtaW5wdXQtZWxlbWVudDpub3QoOmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn1zZWxlY3QubWF0LWlucHV0LWVsZW1lbnQ6Oi1tcy12YWx1ZXtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6bm9uZX0ubWF0LWZvY3VzZWQgLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSBzZWxlY3QubWF0LWlucHV0LWVsZW1lbnQ6Oi1tcy12YWx1ZXtjb2xvcjppbmhlcml0fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29udGVudDoiIjt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MDttYXJnaW4tdG9wOi0yLjVweDtwb2ludGVyLWV2ZW50czpub25lfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye3JpZ2h0OmF1dG87bGVmdDowfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtaW5wdXQtZWxlbWVudHtwYWRkaW5nLXJpZ2h0OjE1cHh9W2Rpcj1ydGxdIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtaW5wdXQtZWxlbWVudHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjE1cHh9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJ7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDEwcHgpfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye21hcmdpbi10b3A6LTVweH0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcnttYXJnaW4tdG9wOi0xMHB4fVxuJywiLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMTAwcHgpOy1tcy10cmFuc2Zvcm06bm9uZX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCAubWF0LWljb24sLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29ue3dpZHRoOjFlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCAubWF0LWljb24tYnV0dG9uLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b257Zm9udDppbmhlcml0O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29ue2ZvbnQtc2l6ZTppbmhlcml0fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2hlaWdodDoxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtoZWlnaHQ6MDtib3JkZXItdG9wOnNvbGlkIDFweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXt0b3A6MDtoZWlnaHQ6MnB4O292ZXJmbG93OmhpZGRlbn0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtcmlwcGxle2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtcG9zaXRpb246MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7Ym9yZGVyLXRvcC1zdHlsZTpkb3R0ZWQ7Ym9yZGVyLXRvcC13aWR0aDoycHh9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQ6bm90KC5tYXQtZm9jdXNlZCkgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtoZWlnaHQ6MXB4fVxuIiwiLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtd3JhcHBlcnttYXJnaW46LjI1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1mbGV4e3BhZGRpbmc6MCAuNzVlbSAwIC43NWVtO21hcmdpbi10b3A6LTAuMjVlbTtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1wcmVmaXgsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtc3VmZml4e3RvcDouMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjI1ZW07bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9pbnRlci1ldmVudHM6bm9uZX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXN0YXJ0LC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZW5ke2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yO21pbi13aWR0aDo1cHh9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1zdGFydHtib3JkZXItcmFkaXVzOjVweCAwIDAgNXB4O2JvcmRlci1yaWdodC1zdHlsZTpub25lfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXN0YXJ0e2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtib3JkZXItbGVmdC1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6MCA1cHggNXB4IDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmR7Ym9yZGVyLXJhZGl1czowIDVweCA1cHggMDtib3JkZXItbGVmdC1zdHlsZTpub25lO2ZsZXgtZ3JvdzoxfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWVuZHtib3JkZXItbGVmdC1zdHlsZTpzb2xpZDtib3JkZXItcmlnaHQtc3R5bGU6bm9uZTtib3JkZXItcmFkaXVzOjVweCAwIDAgNXB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZ2Fwe2JvcmRlci1yYWRpdXM6LjAwMDAwMXB4O2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yO2JvcmRlci1sZWZ0LXN0eWxlOm5vbmU7Ym9yZGVyLXJpZ2h0LXN0eWxlOm5vbmV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWdhcHtib3JkZXItdG9wLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7b3BhY2l0eTowfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1nYXB7Ym9yZGVyLXdpZHRoOjJweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDEwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2ssLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7Ym9yZGVyOjNweCBkYXNoZWR9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZTpub3QoLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkKSAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDYwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmU6bm90KC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCkgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7b3BhY2l0eToxfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye3BhZGRpbmc6MCAxZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZTpub3QoLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkKSAubWF0LWZvcm0tZmllbGQtZmxleDpob3Zlcn4ubWF0LWZvcm0tZmllbGQtb3V0bGluZSwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1nYXB7dHJhbnNpdGlvbjpub25lfVxuIiwiLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLWZsZXh7cGFkZGluZy10b3A6Ljc1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtoZWlnaHQ6MXB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtoZWlnaHQ6MDtib3JkZXItdG9wOnNvbGlkIDFweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2JvdHRvbTowO2hlaWdodDoycHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1wb3NpdGlvbjowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JvcmRlci10b3Atc3R5bGU6ZG90dGVkO2JvcmRlci10b3Atd2lkdGg6MnB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkOm5vdCgubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyfi5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IDYwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlOm5vdCgubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyfi5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXt0cmFuc2l0aW9uOm5vbmV9XG4iXSxlbmNhcHN1bGF0aW9uOjIsZGF0YTp7YW5pbWF0aW9uOltvVS50cmFuc2l0aW9uTWVzc2FnZXNdfSxjaGFuZ2VEZXRlY3Rpb246MH0pLF9VLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbS2hdfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbYlVdfV19LHt0eXBlOmNIfSx7dHlwZTptQ30se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dLF9VLnByb3BEZWNvcmF0b3JzPXthcHBlYXJhbmNlOlt7dHlwZTpSX31dLGhpZGVSZXF1aXJlZE1hcmtlcjpbe3R5cGU6Ul99XSxoaW50TGFiZWw6W3t0eXBlOlJffV0sZmxvYXRMYWJlbDpbe3R5cGU6Ul99XSx1bmRlcmxpbmVSZWY6W3t0eXBlOmFyLGFyZ3M6WyJ1bmRlcmxpbmUiXX1dLF9jb25uZWN0aW9uQ29udGFpbmVyUmVmOlt7dHlwZTphcixhcmdzOlsiY29ubmVjdGlvbkNvbnRhaW5lciIse3N0YXRpYzohMH1dfV0sX2lucHV0Q29udGFpbmVyUmVmOlt7dHlwZTphcixhcmdzOlsiaW5wdXRDb250YWluZXIiXX1dLF9sYWJlbDpbe3R5cGU6YXIsYXJnczpbImxhYmVsIl19XSxfY29udHJvbE5vblN0YXRpYzpbe3R5cGU6aXIsYXJnczpbaVVdfV0sX2NvbnRyb2xTdGF0aWM6W3t0eXBlOmlyLGFyZ3M6W2lVLHtzdGF0aWM6ITB9XX1dLF9sYWJlbENoaWxkTm9uU3RhdGljOlt7dHlwZTppcixhcmdzOltjVV19XSxfbGFiZWxDaGlsZFN0YXRpYzpbe3R5cGU6aXIsYXJnczpbY1Use3N0YXRpYzohMH1dfV0sX3BsYWNlaG9sZGVyQ2hpbGQ6W3t0eXBlOmlyLGFyZ3M6W2RVXX1dLF9lcnJvckNoaWxkcmVuOlt7dHlwZTpvcixhcmdzOltlVSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9oaW50Q2hpbGRyZW46W3t0eXBlOm9yLGFyZ3M6W3NVLHtkZXNjZW5kYW50czohMH1dfV0sX3ByZWZpeENoaWxkcmVuOlt7dHlwZTpvcixhcmdzOltwVSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9zdWZmaXhDaGlsZHJlbjpbe3R5cGU6b3IsYXJnczpbZlUse2Rlc2NlbmRhbnRzOiEwfV19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihfVSxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtZm9ybS1maWVsZCIsZXhwb3J0QXM6Im1hdEZvcm1GaWVsZCIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLXdyYXBwZXIiPlxuICA8ZGl2IGNsYXNzPSJtYXQtZm9ybS1maWVsZC1mbGV4IiAjY29ubmVjdGlvbkNvbnRhaW5lclxuICAgICAgIChjbGljayk9Il9jb250cm9sLm9uQ29udGFpbmVyQ2xpY2sgJiYgX2NvbnRyb2wub25Db250YWluZXJDbGljaygkZXZlbnQpIj5cblxuICAgIFx4M2MhLS0gT3V0bGluZSB1c2VkIGZvciBvdXRsaW5lIGFwcGVhcmFuY2UuIC0tXHgzZVxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9ImFwcGVhcmFuY2UgPT0gXCdvdXRsaW5lXCciPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtb3V0bGluZSI+XG4gICAgICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnQiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPSJtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWdhcCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZW5kIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtb3V0bGluZSBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIj5cbiAgICAgICAgPGRpdiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtb3V0bGluZS1zdGFydCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZ2FwIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmQiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2IGNsYXNzPSJtYXQtZm9ybS1maWVsZC1wcmVmaXgiICpuZ0lmPSJfcHJlZml4Q2hpbGRyZW4ubGVuZ3RoIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD0iW21hdFByZWZpeF0iPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLWluZml4IiAjaW5wdXRDb250YWluZXI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbiAgICAgIDxzcGFuIGNsYXNzPSJtYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIj5cbiAgICAgICAgXHgzYyEtLSBXZSBhZGQgYXJpYS1vd25zIGFzIGEgd29ya2Fyb3VuZCBmb3IgYW4gaXNzdWUgaW4gSkFXUyAmIE5WREEgd2hlcmUgdGhlIGxhYmVsIGlzblwndFxuICAgICAgICAgICAgIHJlYWQgaWYgaXQgY29tZXMgYmVmb3JlIHRoZSBjb250cm9sIGluIHRoZSBET00uIC0tXHgzZVxuICAgICAgICA8bGFiZWwgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLWxhYmVsIlxuICAgICAgICAgICAgICAgKGNka09ic2VydmVDb250ZW50KT0idXBkYXRlT3V0bGluZUdhcCgpIlxuICAgICAgICAgICAgICAgW2Nka09ic2VydmVDb250ZW50RGlzYWJsZWRdPSJhcHBlYXJhbmNlICE9IFwnb3V0bGluZVwnIlxuICAgICAgICAgICAgICAgW2lkXT0iX2xhYmVsSWQiXG4gICAgICAgICAgICAgICBbYXR0ci5mb3JdPSJfY29udHJvbC5pZCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtb3duc109Il9jb250cm9sLmlkIlxuICAgICAgICAgICAgICAgW2NsYXNzLm1hdC1lbXB0eV09Il9jb250cm9sLmVtcHR5ICYmICFfc2hvdWxkQWx3YXlzRmxvYXQoKSJcbiAgICAgICAgICAgICAgIFtjbGFzcy5tYXQtZm9ybS1maWVsZC1lbXB0eV09Il9jb250cm9sLmVtcHR5ICYmICFfc2hvdWxkQWx3YXlzRmxvYXQoKSJcbiAgICAgICAgICAgICAgIFtjbGFzcy5tYXQtYWNjZW50XT0iY29sb3IgPT0gXCdhY2NlbnRcJyJcbiAgICAgICAgICAgICAgIFtjbGFzcy5tYXQtd2Fybl09ImNvbG9yID09IFwnd2FyblwnIlxuICAgICAgICAgICAgICAgI2xhYmVsXG4gICAgICAgICAgICAgICAqbmdJZj0iX2hhc0Zsb2F0aW5nTGFiZWwoKSJcbiAgICAgICAgICAgICAgIFtuZ1N3aXRjaF09Il9oYXNMYWJlbCgpIj5cblxuICAgICAgICAgIFx4M2MhLS0gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCByZW1vdmUgaW4gZmF2b3Igb2YgbWF0LWxhYmVsIGVsZW1lbnQgYW4gcGxhY2Vob2xkZXIgYXR0ci4gLS1ceDNlXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPSJmYWxzZSI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9Im1hdC1wbGFjZWhvbGRlciI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPHNwYW4+e3tfY29udHJvbC5wbGFjZWhvbGRlcn19PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PSJtYXQtbGFiZWwiICpuZ1N3aXRjaENhc2U9InRydWUiPjwvbmctY29udGVudD5cblxuICAgICAgICAgIFx4M2MhLS0gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCByZW1vdmUgYG1hdC1wbGFjZWhvbGRlci1yZXF1aXJlZGAgY2xhc3MgLS1ceDNlXG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPSJtYXQtcGxhY2Vob2xkZXItcmVxdWlyZWQgbWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49InRydWUiXG4gICAgICAgICAgICAqbmdJZj0iIWhpZGVSZXF1aXJlZE1hcmtlciAmJiBfY29udHJvbC5yZXF1aXJlZCAmJiAhX2NvbnRyb2wuZGlzYWJsZWQiPiYjMzI7Kjwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLXN1ZmZpeCIgKm5nSWY9Il9zdWZmaXhDaGlsZHJlbi5sZW5ndGgiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PSJbbWF0U3VmZml4XSI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICBceDNjIS0tIFVuZGVybGluZSB1c2VkIGZvciBsZWdhY3ksIHN0YW5kYXJkLCBhbmQgYm94IGFwcGVhcmFuY2VzLiAtLVx4M2VcbiAgPGRpdiBjbGFzcz0ibWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIiAjdW5kZXJsaW5lXG4gICAgICAgKm5nSWY9ImFwcGVhcmFuY2UgIT0gXCdvdXRsaW5lXCciPlxuICAgIDxzcGFuIGNsYXNzPSJtYXQtZm9ybS1maWVsZC1yaXBwbGUiXG4gICAgICAgICAgW2NsYXNzLm1hdC1hY2NlbnRdPSJjb2xvciA9PSBcJ2FjY2VudFwnIlxuICAgICAgICAgIFtjbGFzcy5tYXQtd2Fybl09ImNvbG9yID09IFwnd2FyblwnIj48L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIlxuICAgICAgIFtuZ1N3aXRjaF09Il9nZXREaXNwbGF5ZWRNZXNzYWdlcygpIj5cbiAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9IlwnZXJyb3JcJyIgW0B0cmFuc2l0aW9uTWVzc2FnZXNdPSJfc3Vic2NyaXB0QW5pbWF0aW9uU3RhdGUiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PSJtYXQtZXJyb3IiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLWhpbnQtd3JhcHBlciIgKm5nU3dpdGNoQ2FzZT0iXCdoaW50XCciXG4gICAgICBbQHRyYW5zaXRpb25NZXNzYWdlc109Il9zdWJzY3JpcHRBbmltYXRpb25TdGF0ZSI+XG4gICAgICBceDNjIS0tIFRPRE8obW1hbGVyYmEpOiB1c2UgYW4gYWN0dWFsIDxtYXQtaGludD4gb25jZSBhbGwgc2VsZWN0b3JzIGFyZSBzd2l0Y2hlZCB0byBtYXQtKiAtLVx4M2VcbiAgICAgIDxkaXYgKm5nSWY9ImhpbnRMYWJlbCIgW2lkXT0iX2hpbnRMYWJlbElkIiBjbGFzcz0ibWF0LWhpbnQiPnt7aGludExhYmVsfX08L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD0ibWF0LWhpbnQ6bm90KFthbGlnbj1cJ2VuZFwnXSkiPjwvbmctY29udGVudD5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC1mb3JtLWZpZWxkLWhpbnQtc3BhY2VyIj48L2Rpdj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD0ibWF0LWhpbnRbYWxpZ249XCdlbmRcJ10iPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsYW5pbWF0aW9uczpbb1UudHJhbnNpdGlvbk1lc3NhZ2VzXSxob3N0OntjbGFzczoibWF0LWZvcm0tZmllbGQiLCJbY2xhc3MubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZF0iOidhcHBlYXJhbmNlID09ICJzdGFuZGFyZCInLCJbY2xhc3MubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsXSI6J2FwcGVhcmFuY2UgPT0gImZpbGwiJywiW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZV0iOidhcHBlYXJhbmNlID09ICJvdXRsaW5lIicsIltjbGFzcy5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeV0iOidhcHBlYXJhbmNlID09ICJsZWdhY3kiJywiW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWludmFsaWRdIjoiX2NvbnRyb2wuZXJyb3JTdGF0ZSIsIltjbGFzcy5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRdIjoiX2NhbkxhYmVsRmxvYXQoKSIsIltjbGFzcy5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRdIjoiX3Nob3VsZExhYmVsRmxvYXQoKSIsIltjbGFzcy5tYXQtZm9ybS1maWVsZC1oYXMtbGFiZWxdIjoiX2hhc0Zsb2F0aW5nTGFiZWwoKSIsIltjbGFzcy5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyXSI6Il9oaWRlQ29udHJvbFBsYWNlaG9sZGVyKCkiLCJbY2xhc3MubWF0LWZvcm0tZmllbGQtZGlzYWJsZWRdIjoiX2NvbnRyb2wuZGlzYWJsZWQiLCJbY2xhc3MubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGxlZF0iOiJfY29udHJvbC5hdXRvZmlsbGVkIiwiW2NsYXNzLm1hdC1mb2N1c2VkXSI6Il9jb250cm9sLmZvY3VzZWQiLCJbY2xhc3MubmctdW50b3VjaGVkXSI6J19zaG91bGRGb3J3YXJkKCJ1bnRvdWNoZWQiKScsIltjbGFzcy5uZy10b3VjaGVkXSI6J19zaG91bGRGb3J3YXJkKCJ0b3VjaGVkIiknLCJbY2xhc3MubmctcHJpc3RpbmVdIjonX3Nob3VsZEZvcndhcmQoInByaXN0aW5lIiknLCJbY2xhc3MubmctZGlydHldIjonX3Nob3VsZEZvcndhcmQoImRpcnR5IiknLCJbY2xhc3MubmctdmFsaWRdIjonX3Nob3VsZEZvcndhcmQoInZhbGlkIiknLCJbY2xhc3MubmctaW52YWxpZF0iOidfc2hvdWxkRm9yd2FyZCgiaW52YWxpZCIpJywiW2NsYXNzLm5nLXBlbmRpbmddIjonX3Nob3VsZEZvcndhcmQoInBlbmRpbmciKScsIltjbGFzcy5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZV0iOiIhX2FuaW1hdGlvbnNFbmFibGVkIn0saW5wdXRzOlsiY29sb3IiXSxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOnlVLHVzZUV4aXN0aW5nOl9VfV0sc3R5bGVzOlsiLm1hdC1mb3JtLWZpZWxke2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdH1bZGlyPXJ0bF0gLm1hdC1mb3JtLWZpZWxke3RleHQtYWxpZ246cmlnaHR9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1mb3JtLWZpZWxkLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpiYXNlbGluZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0ubWF0LWZvcm0tZmllbGQtcHJlZml4LC5tYXQtZm9ybS1maWVsZC1zdWZmaXh7d2hpdGUtc3BhY2U6bm93cmFwO2ZsZXg6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LWZvcm0tZmllbGQtaW5maXh7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4OmF1dG87bWluLXdpZHRoOjA7d2lkdGg6MTgwcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtaW5maXh7Ym9yZGVyLWltYWdlOmxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmV9W2Rpcj1ydGxdIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVye2xlZnQ6YXV0bztyaWdodDowfS5tYXQtZm9ybS1maWVsZC1sYWJlbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Zm9udDppbmhlcml0O3BvaW50ZXItZXZlbnRzOm5vbmU7d2lkdGg6MTAwJTt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW47dHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksY29sb3IgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksd2lkdGggNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7ZGlzcGxheTpub25lfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDA7bGVmdDphdXRvO3JpZ2h0OjB9Lm1hdC1mb3JtLWZpZWxkLWVtcHR5Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbHtkaXNwbGF5OmJsb2NrfS5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2Rpc3BsYXk6bm9uZX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2Rpc3BsYXk6YmxvY2s7dHJhbnNpdGlvbjpub25lfS5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWlucHV0LXNlcnZlcltwbGFjZWhvbGRlcl06bm90KDpwbGFjZWhvbGRlci1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse2Rpc3BsYXk6bm9uZX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW3BsYWNlaG9sZGVyXTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7ZGlzcGxheTpibG9ja30ubWF0LWZvcm0tZmllbGQtbGFiZWw6bm90KC5tYXQtZm9ybS1maWVsZC1lbXB0eSl7dHJhbnNpdGlvbjpub25lfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zZm9ybTpzY2FsZTNkKDEsIDEuMDAwMSwgMSl9Lm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6MTAwJTt0cmFuc2Zvcm0tb3JpZ2luOjUwJTt0cmFuc2Zvcm06c2NhbGVYKDAuNSk7b3BhY2l0eTowO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAzMDBtcyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC41NSwgMC4yKX0ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSwubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAzMDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxvcGFjaXR5IDEwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye3Bvc2l0aW9uOmFic29sdXRlO2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIgLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtaWNvbnt3aWR0aDoxZW07aGVpZ2h0OjFlbTtmb250LXNpemU6aW5oZXJpdDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ubWF0LWZvcm0tZmllbGQtaGludC13cmFwcGVye2Rpc3BsYXk6ZmxleH0ubWF0LWZvcm0tZmllbGQtaGludC1zcGFjZXJ7ZmxleDoxIDAgMWVtfS5tYXQtZXJyb3J7ZGlzcGxheTpibG9ja30ubWF0LWZvcm0tZmllbGQtY29udHJvbC13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtZm9ybS1maWVsZC1oaW50LWVuZHtvcmRlcjoxfS5tYXQtZm9ybS1maWVsZC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7dHJhbnNpdGlvbjpub25lfVxuIiwnLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtZmxleHtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwO3BhZGRpbmc6Ljc1ZW0gLjc1ZW0gMCAuNzVlbX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLWZsZXh7b3V0bGluZTpzb2xpZCAxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4e291dGxpbmU6ZGFzaGVkIDNweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7aGVpZ2h0OjFweDt3aWR0aDoxMDAlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtib3R0b206MDtoZWlnaHQ6MnB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2hlaWdodDowfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGw6bm90KC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCkgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXJ+Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSAubWF0LWZvcm0tZmllbGQtcmlwcGxle29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgNjAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZTpub3QoLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkKSAubWF0LWZvcm0tZmllbGQtZmxleDpob3Zlcn4ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIC5tYXQtZm9ybS1maWVsZC1yaXBwbGV7dHJhbnNpdGlvbjpub25lfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye3BhZGRpbmc6MCAxZW19XG4nLCcubWF0LWlucHV0LWVsZW1lbnR7Zm9udDppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6Y3VycmVudENvbG9yO2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjA7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTt2ZXJ0aWNhbC1hbGlnbjpib3R0b207dGV4dC1hbGlnbjppbmhlcml0O2JveC1zaXppbmc6Y29udGVudC1ib3h9Lm1hdC1pbnB1dC1lbGVtZW50Oi1tb3otdWktaW52YWxpZHtib3gtc2hhZG93Om5vbmV9Lm1hdC1pbnB1dC1lbGVtZW50OjotbXMtY2xlYXIsLm1hdC1pbnB1dC1lbGVtZW50OjotbXMtcmV2ZWFse2Rpc3BsYXk6bm9uZX0ubWF0LWlucHV0LWVsZW1lbnQsLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiwubWF0LWlucHV0LWVsZW1lbnQ6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfS5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1jb250YWN0cy1hdXRvLWZpbGwtYnV0dG9uLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1jYXBzLWxvY2staW5kaWNhdG9yLC5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1jcmVkZW50aWFscy1hdXRvLWZpbGwtYnV0dG9ue3Zpc2liaWxpdHk6aGlkZGVufS5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPWRhdGVdLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPWRhdGV0aW1lXSwubWF0LWlucHV0LWVsZW1lbnRbdHlwZT1kYXRldGltZS1sb2NhbF0sLm1hdC1pbnB1dC1lbGVtZW50W3R5cGU9bW9udGhdLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPXdlZWtdLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPXRpbWVde2xpbmUtaGVpZ2h0OjF9Lm1hdC1pbnB1dC1lbGVtZW50W3R5cGU9ZGF0ZV06OmFmdGVyLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPWRhdGV0aW1lXTo6YWZ0ZXIsLm1hdC1pbnB1dC1lbGVtZW50W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOjphZnRlciwubWF0LWlucHV0LWVsZW1lbnRbdHlwZT1tb250aF06OmFmdGVyLC5tYXQtaW5wdXQtZWxlbWVudFt0eXBlPXdlZWtdOjphZnRlciwubWF0LWlucHV0LWVsZW1lbnRbdHlwZT10aW1lXTo6YWZ0ZXJ7Y29udGVudDoiICI7d2hpdGUtc3BhY2U6cHJlO3dpZHRoOjFweH0ubWF0LWlucHV0LWVsZW1lbnQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWNsZWFyLWJ1dHRvbntmb250LXNpemU6Ljc1ZW19Lm1hdC1pbnB1dC1lbGVtZW50OjpwbGFjZWhvbGRlcnstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjpjb2xvciA0MDBtcyAxMzMuMzMzMzMzMzMzM21zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtaW5wdXQtZWxlbWVudDo6cGxhY2Vob2xkZXI6LW1zLWlucHV0LXBsYWNlaG9sZGVyey1tcy11c2VyLXNlbGVjdDp0ZXh0fS5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcnstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbjpjb2xvciA0MDBtcyAxMzMuMzMzMzMzMzMzM21zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcjotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7LW1zLXVzZXItc2VsZWN0OnRleHR9Lm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmNvbG9yIDQwMG1zIDEzMy4zMzMzMzMzMzMzbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyOi1tcy1pbnB1dC1wbGFjZWhvbGRlcnstbXMtdXNlci1zZWxlY3Q6dGV4dH0ubWF0LWlucHV0LWVsZW1lbnQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTt0cmFuc2l0aW9uOmNvbG9yIDQwMG1zIDEzMy4zMzMzMzMzMzMzbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1pbnB1dC1lbGVtZW50Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcjotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7LW1zLXVzZXItc2VsZWN0OnRleHR9Lm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50OjpwbGFjZWhvbGRlcntjb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtaW5wdXQtZWxlbWVudDo6cGxhY2Vob2xkZXJ7b3BhY2l0eTowfS5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtaW5wdXQtZWxlbWVudDo6LW1vei1wbGFjZWhvbGRlcntvcGFjaXR5OjB9Lm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye29wYWNpdHk6MH0ubWF0LWZvcm0tZmllbGQtaGlkZS1wbGFjZWhvbGRlciAubWF0LWlucHV0LWVsZW1lbnQ6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXIgLm1hdC1pbnB1dC1lbGVtZW50Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcntvcGFjaXR5OjB9dGV4dGFyZWEubWF0LWlucHV0LWVsZW1lbnR7cmVzaXplOnZlcnRpY2FsO292ZXJmbG93OmF1dG99dGV4dGFyZWEubWF0LWlucHV0LWVsZW1lbnQuY2RrLXRleHRhcmVhLWF1dG9zaXple3Jlc2l6ZTpub25lfXRleHRhcmVhLm1hdC1pbnB1dC1lbGVtZW50e3BhZGRpbmc6MnB4IDA7bWFyZ2luOi0ycHggMH1zZWxlY3QubWF0LWlucHV0LWVsZW1lbnR7LW1vei1hcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtkaXNwbGF5OmlubGluZS1mbGV4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nLXRvcDoxZW07dG9wOi0xZW07bWFyZ2luLWJvdHRvbTotMWVtfXNlbGVjdC5tYXQtaW5wdXQtZWxlbWVudDo6LW1zLWV4cGFuZHtkaXNwbGF5Om5vbmV9c2VsZWN0Lm1hdC1pbnB1dC1lbGVtZW50OjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfXNlbGVjdC5tYXQtaW5wdXQtZWxlbWVudDpub3QoOmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn1zZWxlY3QubWF0LWlucHV0LWVsZW1lbnQ6Oi1tcy12YWx1ZXtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6bm9uZX0ubWF0LWZvY3VzZWQgLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSBzZWxlY3QubWF0LWlucHV0LWVsZW1lbnQ6Oi1tcy12YWx1ZXtjb2xvcjppbmhlcml0fS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXJ7Y29udGVudDoiIjt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MDttYXJnaW4tdG9wOi0yLjVweDtwb2ludGVyLWV2ZW50czpub25lfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye3JpZ2h0OmF1dG87bGVmdDowfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtaW5wdXQtZWxlbWVudHtwYWRkaW5nLXJpZ2h0OjE1cHh9W2Rpcj1ydGxdIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtaW5wdXQtZWxlbWVudHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjE1cHh9Lm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJ7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDEwcHgpfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVye21hcmdpbi10b3A6LTVweH0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlcnttYXJnaW4tdG9wOi0xMHB4fVxuJywiLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMTAwcHgpOy1tcy10cmFuc2Zvcm06bm9uZX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCAubWF0LWljb24sLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29ue3dpZHRoOjFlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCAubWF0LWljb24tYnV0dG9uLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b257Zm9udDppbmhlcml0O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29ue2ZvbnQtc2l6ZTppbmhlcml0fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2hlaWdodDoxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtoZWlnaHQ6MDtib3JkZXItdG9wOnNvbGlkIDFweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXt0b3A6MDtoZWlnaHQ6MnB4O292ZXJmbG93OmhpZGRlbn0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtcmlwcGxle2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JhY2tncm91bmQtcG9zaXRpb246MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7Ym9yZGVyLXRvcC1zdHlsZTpkb3R0ZWQ7Ym9yZGVyLXRvcC13aWR0aDoycHh9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQ6bm90KC5tYXQtZm9jdXNlZCkgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtoZWlnaHQ6MXB4fVxuIiwiLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtd3JhcHBlcnttYXJnaW46LjI1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1mbGV4e3BhZGRpbmc6MCAuNzVlbSAwIC43NWVtO21hcmdpbi10b3A6LTAuMjVlbTtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1wcmVmaXgsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtc3VmZml4e3RvcDouMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5le2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjI1ZW07bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9pbnRlci1ldmVudHM6bm9uZX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXN0YXJ0LC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZW5ke2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yO21pbi13aWR0aDo1cHh9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1zdGFydHtib3JkZXItcmFkaXVzOjVweCAwIDAgNXB4O2JvcmRlci1yaWdodC1zdHlsZTpub25lfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXN0YXJ0e2JvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtib3JkZXItbGVmdC1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6MCA1cHggNXB4IDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmR7Ym9yZGVyLXJhZGl1czowIDVweCA1cHggMDtib3JkZXItbGVmdC1zdHlsZTpub25lO2ZsZXgtZ3JvdzoxfVtkaXI9cnRsXSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWVuZHtib3JkZXItbGVmdC1zdHlsZTpzb2xpZDtib3JkZXItcmlnaHQtc3R5bGU6bm9uZTtib3JkZXItcmFkaXVzOjVweCAwIDAgNXB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZ2Fwe2JvcmRlci1yYWRpdXM6LjAwMDAwMXB4O2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yO2JvcmRlci1sZWZ0LXN0eWxlOm5vbmU7Ym9yZGVyLXJpZ2h0LXN0eWxlOm5vbmV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWdhcHtib3JkZXItdG9wLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7b3BhY2l0eTowfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1nYXB7Ym9yZGVyLXdpZHRoOjJweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDEwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2ssLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNre29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7Ym9yZGVyOjNweCBkYXNoZWR9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZTpub3QoLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkKSAubWF0LWZvcm0tZmllbGQtZmxleDpob3ZlciAubWF0LWZvcm0tZmllbGQtb3V0bGluZXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDYwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmU6bm90KC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCkgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2t7b3BhY2l0eToxfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye3BhZGRpbmc6MCAxZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZTpub3QoLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkKSAubWF0LWZvcm0tZmllbGQtZmxleDpob3Zlcn4ubWF0LWZvcm0tZmllbGQtb3V0bGluZSwubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmQsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZS1nYXB7dHJhbnNpdGlvbjpub25lfVxuIiwiLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLWZsZXh7cGFkZGluZy10b3A6Ljc1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtoZWlnaHQ6MXB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZXtoZWlnaHQ6MDtib3JkZXItdG9wOnNvbGlkIDFweH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2JvdHRvbTowO2hlaWdodDoycHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWZvcm0tZmllbGQtcmlwcGxle2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7YmFja2dyb3VuZC1wb3NpdGlvbjowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5le2JvcmRlci10b3Atc3R5bGU6ZG90dGVkO2JvcmRlci10b3Atd2lkdGg6MnB4fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkOm5vdCgubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyfi5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXtvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IDYwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlOm5vdCgubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyfi5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZXt0cmFuc2l0aW9uOm5vbmV9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W0toXX1dfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2JVXX1dfSx7dHlwZTpjSH0se3R5cGU6bUN9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19XX0pLHtmbG9hdExhYmVsOlt7dHlwZTpSX31dLGFwcGVhcmFuY2U6W3t0eXBlOlJffV0saGlkZVJlcXVpcmVkTWFya2VyOlt7dHlwZTpSX31dLGhpbnRMYWJlbDpbe3R5cGU6Ul99XSx1bmRlcmxpbmVSZWY6W3t0eXBlOmFyLGFyZ3M6WyJ1bmRlcmxpbmUiXX1dLF9jb25uZWN0aW9uQ29udGFpbmVyUmVmOlt7dHlwZTphcixhcmdzOlsiY29ubmVjdGlvbkNvbnRhaW5lciIse3N0YXRpYzohMH1dfV0sX2lucHV0Q29udGFpbmVyUmVmOlt7dHlwZTphcixhcmdzOlsiaW5wdXRDb250YWluZXIiXX1dLF9sYWJlbDpbe3R5cGU6YXIsYXJnczpbImxhYmVsIl19XSxfY29udHJvbE5vblN0YXRpYzpbe3R5cGU6aXIsYXJnczpbaVVdfV0sX2NvbnRyb2xTdGF0aWM6W3t0eXBlOmlyLGFyZ3M6W2lVLHtzdGF0aWM6ITB9XX1dLF9sYWJlbENoaWxkTm9uU3RhdGljOlt7dHlwZTppcixhcmdzOltjVV19XSxfbGFiZWxDaGlsZFN0YXRpYzpbe3R5cGU6aXIsYXJnczpbY1Use3N0YXRpYzohMH1dfV0sX3BsYWNlaG9sZGVyQ2hpbGQ6W3t0eXBlOmlyLGFyZ3M6W2RVXX1dLF9lcnJvckNoaWxkcmVuOlt7dHlwZTpvcixhcmdzOltlVSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9oaW50Q2hpbGRyZW46W3t0eXBlOm9yLGFyZ3M6W3NVLHtkZXNjZW5kYW50czohMH1dfV0sX3ByZWZpeENoaWxkcmVuOlt7dHlwZTpvcixhcmdzOltwVSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9zdWZmaXhDaGlsZHJlbjpbe3R5cGU6b3IsYXJnczpbZlUse2Rlc2NlbmRhbnRzOiEwfV19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgQ1V7fUNVLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxDVSl9LENVLsm1bW9kPWZvKHt0eXBlOkNVfSksQ1UuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxORix3SF0sTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihDVSxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbblUsX1UsbFUsY1UsZFUsbVUsdVVdLGltcG9ydHM6W3J4LE5GLHdIXSxleHBvcnRzOltORixuVSxfVSxsVSxjVSxkVSxtVSx1VV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhDVSx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW25VLF9VLGxVLGNVLGRVLG1VLHVVXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltyeCxORix3SF19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bTkYsblUsX1UsbFUsY1UsZFUsbVUsdVVdfX0pOwovKioKICAgICAqIEBsaWNlbnNlIEFuZ3VsYXIgdjEyLjIuMQogICAgICogKGMpIDIwMTAtMjAyMSBHb29nbGUgTExDLiBodHRwczovL2FuZ3VsYXIuaW8vCiAgICAgKiBMaWNlbnNlOiBNSVQKICAgICAqLwpjbGFzcyBNVXtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX3JlbmRlcmVyPXQsdGhpcy5fZWxlbWVudFJlZj1lLHRoaXMub25DaGFuZ2U9dD0+e30sdGhpcy5vblRvdWNoZWQ9KCk9Pnt9fXNldFByb3BlcnR5KHQsZSl7dGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LHQsZSl9cmVnaXN0ZXJPblRvdWNoZWQodCl7dGhpcy5vblRvdWNoZWQ9dH1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMub25DaGFuZ2U9dH1zZXREaXNhYmxlZFN0YXRlKHQpe3RoaXMuc2V0UHJvcGVydHkoImRpc2FibGVkIix0KX19TVUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE1VKShnZigkaCksZ2YoS2gpKX0sTVUuybVkaXI9aG8oe3R5cGU6TVV9KSxNVS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOiRofSx7dHlwZTpLaH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTVUsW3t0eXBlOmtffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOiRofSx7dHlwZTpLaH1dfSksbnVsbCk7Y2xhc3MgdlUgZXh0ZW5kcyBNVXt9dlUuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHZVKSkpKG58fHZVKX19KSgpLHZVLsm1ZGlyPWhvKHt0eXBlOnZVLGZlYXR1cmVzOltRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHZVLFt7dHlwZTprX31dLG51bGwsbnVsbCk7Y29uc3QgeFU9bmV3IGVyKCJOZ1ZhbHVlQWNjZXNzb3IiKSxPVT17cHJvdmlkZTp4VSx1c2VFeGlzdGluZzokZSgoKCk9PlBVKSksbXVsdGk6ITB9OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBQVSBleHRlbmRzIHZVe3dyaXRlVmFsdWUodCl7dGhpcy5zZXRQcm9wZXJ0eSgiY2hlY2tlZCIsdCl9fVBVLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShQVSkpKShufHxQVSl9fSkoKSxQVS7JtWRpcj1obyh7dHlwZTpQVSxzZWxlY3RvcnM6W1siaW5wdXQiLCJ0eXBlIiwiY2hlY2tib3giLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbImlucHV0IiwidHlwZSIsImNoZWNrYm94IiwiZm9ybUNvbnRyb2wiLCIiXSxbImlucHV0IiwidHlwZSIsImNoZWNrYm94IiwibmdNb2RlbCIsIiJdXSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25DaGFuZ2UoZS50YXJnZXQuY2hlY2tlZCl9KSkoImJsdXIiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub3VjaGVkKCl9KSl9LGZlYXR1cmVzOltqaChbT1VdKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFBVLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6ImlucHV0W3R5cGU9Y2hlY2tib3hdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1jaGVja2JveF1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9Y2hlY2tib3hdW25nTW9kZWxdIixob3N0OnsiKGNoYW5nZSkiOiJvbkNoYW5nZSgkZXZlbnQudGFyZ2V0LmNoZWNrZWQpIiwiKGJsdXIpIjoib25Ub3VjaGVkKCkifSxwcm92aWRlcnM6W09VXX1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHdVPXtwcm92aWRlOnhVLHVzZUV4aXN0aW5nOiRlKCgoKT0+U1UpKSxtdWx0aTohMH07Y29uc3Qga1U9bmV3IGVyKCJDb21wb3NpdGlvbkV2ZW50TW9kZSIpO2NsYXNzIFNVIGV4dGVuZHMgTVV7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSksdGhpcy5fY29tcG9zaXRpb25Nb2RlPW4sdGhpcy5fY29tcG9zaW5nPSExLG51bGw9PXRoaXMuX2NvbXBvc2l0aW9uTW9kZSYmKHRoaXMuX2NvbXBvc2l0aW9uTW9kZT0hKGZ1bmN0aW9uIG8oKXtjb25zdCB0PXJNKCk/ck0oKS5nZXRVc2VyQWdlbnQoKToiIjtyZXR1cm4vYW5kcm9pZCAoXGQrKS8udGVzdCh0LnRvTG93ZXJDYXNlKCkpfSkoKSl9d3JpdGVWYWx1ZSh0KXt0aGlzLnNldFByb3BlcnR5KCJ2YWx1ZSIsbnVsbD09dD8iIjp0KX1faGFuZGxlSW5wdXQodCl7KCF0aGlzLl9jb21wb3NpdGlvbk1vZGV8fHRoaXMuX2NvbXBvc2l0aW9uTW9kZSYmIXRoaXMuX2NvbXBvc2luZykmJnRoaXMub25DaGFuZ2UodCl9X2NvbXBvc2l0aW9uU3RhcnQoKXt0aGlzLl9jb21wb3Npbmc9ITB9X2NvbXBvc2l0aW9uRW5kKHQpe3RoaXMuX2NvbXBvc2luZz0hMSx0aGlzLl9jb21wb3NpdGlvbk1vZGUmJnRoaXMub25DaGFuZ2UodCl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gRFUodCl7cmV0dXJuIG51bGw9PXR8fDA9PT10Lmxlbmd0aH1mdW5jdGlvbiBSVSh0KXtyZXR1cm4gbnVsbCE9dCYmIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aH1TVS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8U1UpKGdmKCRoKSxnZihLaCksZ2Yoa1UsOCkpfSxTVS7JtWRpcj1obyh7dHlwZTpTVSxzZWxlY3RvcnM6W1siaW5wdXQiLCJmb3JtQ29udHJvbE5hbWUiLCIiLDMsInR5cGUiLCJjaGVja2JveCJdLFsidGV4dGFyZWEiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbImlucHV0IiwiZm9ybUNvbnRyb2wiLCIiLDMsInR5cGUiLCJjaGVja2JveCJdLFsidGV4dGFyZWEiLCJmb3JtQ29udHJvbCIsIiJdLFsiaW5wdXQiLCJuZ01vZGVsIiwiIiwzLCJ0eXBlIiwiY2hlY2tib3giXSxbInRleHRhcmVhIiwibmdNb2RlbCIsIiJdLFsiIiwibmdEZWZhdWx0Q29udHJvbCIsIiJdXSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlSW5wdXQoZS50YXJnZXQudmFsdWUpfSkpKCJibHVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uVG91Y2hlZCgpfSkpKCJjb21wb3NpdGlvbnN0YXJ0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9jb21wb3NpdGlvblN0YXJ0KCl9KSkoImNvbXBvc2l0aW9uZW5kIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5fY29tcG9zaXRpb25FbmQoZS50YXJnZXQudmFsdWUpfSkpfSxmZWF0dXJlczpbamgoW3dVXSksUXBdfSksU1UuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTokaH0se3R5cGU6S2h9LHt0eXBlOkJvb2xlYW4sZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2tVXX1dfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihTVSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtmb3JtQ29udHJvbE5hbWVdLHRleHRhcmVhW2Zvcm1Db250cm9sTmFtZV0saW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSlbZm9ybUNvbnRyb2xdLHRleHRhcmVhW2Zvcm1Db250cm9sXSxpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKVtuZ01vZGVsXSx0ZXh0YXJlYVtuZ01vZGVsXSxbbmdEZWZhdWx0Q29udHJvbF0iLGhvc3Q6eyIoaW5wdXQpIjoiJGFueSh0aGlzKS5faGFuZGxlSW5wdXQoJGV2ZW50LnRhcmdldC52YWx1ZSkiLCIoYmx1cikiOiJvblRvdWNoZWQoKSIsIihjb21wb3NpdGlvbnN0YXJ0KSI6IiRhbnkodGhpcykuX2NvbXBvc2l0aW9uU3RhcnQoKSIsIihjb21wb3NpdGlvbmVuZCkiOiIkYW55KHRoaXMpLl9jb21wb3NpdGlvbkVuZCgkZXZlbnQudGFyZ2V0LnZhbHVlKSJ9LHByb3ZpZGVyczpbd1VdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6JGh9LHt0eXBlOktofSx7dHlwZTpCb29sZWFuLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltrVV19XX1dfSksbnVsbCk7Y29uc3QgRVU9bmV3IGVyKCJOZ1ZhbGlkYXRvcnMiKSxBVT1uZXcgZXIoIk5nQXN5bmNWYWxpZGF0b3JzIiksVFU9L14oPz0uezEsMjU0fSQpKD89LnsxLDY0fUApW2EtekEtWjAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKyg/OlwuW2EtekEtWjAtOSEjJCUmJyorLz0/Xl9ge3x9fi1dKykqQFthLXpBLVowLTldKD86W2EtekEtWjAtOS1dezAsNjF9W2EtekEtWjAtOV0pPyg/OlwuW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSk/KSokLztjbGFzcyBOVXtzdGF0aWMgbWluKHQpe3JldHVybiB6VSh0KX1zdGF0aWMgbWF4KHQpe3JldHVybiBJVSh0KX1zdGF0aWMgcmVxdWlyZWQodCl7cmV0dXJuIEhVKHQpfXN0YXRpYyByZXF1aXJlZFRydWUodCl7cmV0dXJuIEZVKHQpfXN0YXRpYyBlbWFpbCh0KXtyZXR1cm4gTFUodCl9c3RhdGljIG1pbkxlbmd0aCh0KXtyZXR1cm4gQlUodCl9c3RhdGljIG1heExlbmd0aCh0KXtyZXR1cm4gVlUodCl9c3RhdGljIHBhdHRlcm4odCl7cmV0dXJuIGpVKHQpfXN0YXRpYyBudWxsVmFsaWRhdG9yKHQpe3JldHVybiBudWxsfXN0YXRpYyBjb21wb3NlKHQpe3JldHVybiBYVSh0KX1zdGF0aWMgY29tcG9zZUFzeW5jKHQpe3JldHVybiBKVSh0KX19ZnVuY3Rpb24gelUodCl7cmV0dXJuIGU9PntpZihEVShlLnZhbHVlKXx8RFUodCkpcmV0dXJuIG51bGw7Y29uc3Qgbj1wYXJzZUZsb2F0KGUudmFsdWUpO3JldHVybiFpc05hTihuKSYmbjx0P3ttaW46e21pbjp0LGFjdHVhbDplLnZhbHVlfX06bnVsbH19ZnVuY3Rpb24gSVUodCl7cmV0dXJuIGU9PntpZihEVShlLnZhbHVlKXx8RFUodCkpcmV0dXJuIG51bGw7Y29uc3Qgbj1wYXJzZUZsb2F0KGUudmFsdWUpO3JldHVybiFpc05hTihuKSYmbj50P3ttYXg6e21heDp0LGFjdHVhbDplLnZhbHVlfX06bnVsbH19ZnVuY3Rpb24gSFUodCl7cmV0dXJuIERVKHQudmFsdWUpP3tyZXF1aXJlZDohMH06bnVsbH1mdW5jdGlvbiBGVSh0KXtyZXR1cm4hMD09PXQudmFsdWU/bnVsbDp7cmVxdWlyZWQ6ITB9fWZ1bmN0aW9uIExVKHQpe3JldHVybiBEVSh0LnZhbHVlKXx8VFUudGVzdCh0LnZhbHVlKT9udWxsOntlbWFpbDohMH19ZnVuY3Rpb24gQlUodCl7cmV0dXJuIGU9PkRVKGUudmFsdWUpfHwhUlUoZS52YWx1ZSk/bnVsbDplLnZhbHVlLmxlbmd0aDx0P3ttaW5sZW5ndGg6e3JlcXVpcmVkTGVuZ3RoOnQsYWN0dWFsTGVuZ3RoOmUudmFsdWUubGVuZ3RofX06bnVsbH1mdW5jdGlvbiBWVSh0KXtyZXR1cm4gZT0+UlUoZS52YWx1ZSkmJmUudmFsdWUubGVuZ3RoPnQ/e21heGxlbmd0aDp7cmVxdWlyZWRMZW5ndGg6dCxhY3R1YWxMZW5ndGg6ZS52YWx1ZS5sZW5ndGh9fTpudWxsfWZ1bmN0aW9uIGpVKHQpe2lmKCF0KXJldHVybiBVVTtsZXQgZSxuO3JldHVybiJzdHJpbmciPT10eXBlb2YgdD8obj0iIiwiXiIhPT10LmNoYXJBdCgwKSYmKG4rPSJeIiksbis9dCwiJCIhPT10LmNoYXJBdCh0Lmxlbmd0aC0xKSYmKG4rPSIkIiksZT1uZXcgUmVnRXhwKG4pKToobj10LnRvU3RyaW5nKCksZT10KSx0PT57aWYoRFUodC52YWx1ZSkpcmV0dXJuIG51bGw7Y29uc3Qgbz10LnZhbHVlO3JldHVybiBlLnRlc3Qobyk/bnVsbDp7cGF0dGVybjp7cmVxdWlyZWRQYXR0ZXJuOm4sYWN0dWFsVmFsdWU6b319fX1mdW5jdGlvbiBVVSh0KXtyZXR1cm4gbnVsbH1mdW5jdGlvbiBXVSh0KXtyZXR1cm4gbnVsbCE9dH1mdW5jdGlvbiBHVSh0KXtjb25zdCBlPWtmKHQpP1B0KHQpOnQ7aWYoIURmKGUpJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCB2YWxpZGF0b3IgdG8gcmV0dXJuIFByb21pc2Ugb3IgT2JzZXJ2YWJsZS4iKTtyZXR1cm4gZX1mdW5jdGlvbiBZVSh0KXtsZXQgZT17fTtyZXR1cm4gdC5mb3JFYWNoKCh0PT57ZT1udWxsIT10P09iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx0KTplfSkpLDA9PT1PYmplY3Qua2V5cyhlKS5sZW5ndGg/bnVsbDplfWZ1bmN0aW9uIHFVKHQsZSl7cmV0dXJuIGUubWFwKChlPT5lKHQpKSl9ZnVuY3Rpb24gWlUodCl7cmV0dXJuIHQubWFwKCh0PT4oZnVuY3Rpb24gZSh0KXtyZXR1cm4hdC52YWxpZGF0ZX0pKHQpP3Q6ZT0+dC52YWxpZGF0ZShlKSkpfWZ1bmN0aW9uIFhVKHQpe2lmKCF0KXJldHVybiBudWxsO2NvbnN0IGU9dC5maWx0ZXIoV1UpO3JldHVybiAwPT1lLmxlbmd0aD9udWxsOmZ1bmN0aW9uKHQpe3JldHVybiBZVShxVSh0LGUpKX19ZnVuY3Rpb24gS1UodCl7cmV0dXJuIG51bGwhPXQ/WFUoWlUodCkpOm51bGx9ZnVuY3Rpb24gSlUodCl7aWYoIXQpcmV0dXJuIG51bGw7Y29uc3QgZT10LmZpbHRlcihXVSk7cmV0dXJuIDA9PWUubGVuZ3RoP251bGw6ZnVuY3Rpb24odCl7cmV0dXJuIGllKHFVKHQsZSkubWFwKEdVKSkucGlwZShWdChZVSkpfX1mdW5jdGlvbiBRVSh0KXtyZXR1cm4gbnVsbCE9dD9KVShaVSh0KSk6bnVsbH1mdW5jdGlvbiAkVSh0LGUpe3JldHVybiBudWxsPT09dD9bZV06QXJyYXkuaXNBcnJheSh0KT9bLi4udCxlXTpbdCxlXX1mdW5jdGlvbiB0Vyh0KXtyZXR1cm4gdC5fcmF3VmFsaWRhdG9yc31mdW5jdGlvbiBlVyh0KXtyZXR1cm4gdC5fcmF3QXN5bmNWYWxpZGF0b3JzfWZ1bmN0aW9uIG5XKHQpe3JldHVybiB0P0FycmF5LmlzQXJyYXkodCk/dDpbdF06W119ZnVuY3Rpb24gb1codCxlKXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90LmluY2x1ZGVzKGUpOnQ9PT1lfWZ1bmN0aW9uIGlXKHQsZSl7Y29uc3Qgbj1uVyhlKTtyZXR1cm4gblcodCkuZm9yRWFjaCgodD0+e29XKG4sdCl8fG4ucHVzaCh0KX0pKSxufWZ1bmN0aW9uIGFXKHQsZSl7cmV0dXJuIG5XKGUpLmZpbHRlcigoZT0+IW9XKHQsZSkpKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3Mgcld7Y29uc3RydWN0b3IoKXt0aGlzLl9yYXdWYWxpZGF0b3JzPVtdLHRoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycz1bXSx0aGlzLl9vbkRlc3Ryb3lDYWxsYmFja3M9W119Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wudmFsdWU6bnVsbH1nZXQgdmFsaWQoKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC52YWxpZDpudWxsfWdldCBpbnZhbGlkKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wuaW52YWxpZDpudWxsfWdldCBwZW5kaW5nKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wucGVuZGluZzpudWxsfWdldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLmNvbnRyb2w/dGhpcy5jb250cm9sLmRpc2FibGVkOm51bGx9Z2V0IGVuYWJsZWQoKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC5lbmFibGVkOm51bGx9Z2V0IGVycm9ycygpe3JldHVybiB0aGlzLmNvbnRyb2w/dGhpcy5jb250cm9sLmVycm9yczpudWxsfWdldCBwcmlzdGluZSgpe3JldHVybiB0aGlzLmNvbnRyb2w/dGhpcy5jb250cm9sLnByaXN0aW5lOm51bGx9Z2V0IGRpcnR5KCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wuZGlydHk6bnVsbH1nZXQgdG91Y2hlZCgpe3JldHVybiB0aGlzLmNvbnRyb2w/dGhpcy5jb250cm9sLnRvdWNoZWQ6bnVsbH1nZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wuc3RhdHVzOm51bGx9Z2V0IHVudG91Y2hlZCgpe3JldHVybiB0aGlzLmNvbnRyb2w/dGhpcy5jb250cm9sLnVudG91Y2hlZDpudWxsfWdldCBzdGF0dXNDaGFuZ2VzKCl7cmV0dXJuIHRoaXMuY29udHJvbD90aGlzLmNvbnRyb2wuc3RhdHVzQ2hhbmdlczpudWxsfWdldCB2YWx1ZUNoYW5nZXMoKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC52YWx1ZUNoYW5nZXM6bnVsbH1nZXQgcGF0aCgpe3JldHVybiBudWxsfV9zZXRWYWxpZGF0b3JzKHQpe3RoaXMuX3Jhd1ZhbGlkYXRvcnM9dHx8W10sdGhpcy5fY29tcG9zZWRWYWxpZGF0b3JGbj1LVSh0aGlzLl9yYXdWYWxpZGF0b3JzKX1fc2V0QXN5bmNWYWxpZGF0b3JzKHQpe3RoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycz10fHxbXSx0aGlzLl9jb21wb3NlZEFzeW5jVmFsaWRhdG9yRm49UVUodGhpcy5fcmF3QXN5bmNWYWxpZGF0b3JzKX1nZXQgdmFsaWRhdG9yKCl7cmV0dXJuIHRoaXMuX2NvbXBvc2VkVmFsaWRhdG9yRm58fG51bGx9Z2V0IGFzeW5jVmFsaWRhdG9yKCl7cmV0dXJuIHRoaXMuX2NvbXBvc2VkQXN5bmNWYWxpZGF0b3JGbnx8bnVsbH1fcmVnaXN0ZXJPbkRlc3Ryb3kodCl7dGhpcy5fb25EZXN0cm95Q2FsbGJhY2tzLnB1c2godCl9X2ludm9rZU9uRGVzdHJveUNhbGxiYWNrcygpe3RoaXMuX29uRGVzdHJveUNhbGxiYWNrcy5mb3JFYWNoKCh0PT50KCkpKSx0aGlzLl9vbkRlc3Ryb3lDYWxsYmFja3M9W119cmVzZXQodCl7dGhpcy5jb250cm9sJiZ0aGlzLmNvbnRyb2wucmVzZXQodCl9aGFzRXJyb3IodCxlKXtyZXR1cm4hIXRoaXMuY29udHJvbCYmdGhpcy5jb250cm9sLmhhc0Vycm9yKHQsZSl9Z2V0RXJyb3IodCxlKXtyZXR1cm4gdGhpcy5jb250cm9sP3RoaXMuY29udHJvbC5nZXRFcnJvcih0LGUpOm51bGx9fXJXLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxyVyl9LHJXLsm1ZGlyPWhvKHt0eXBlOnJXfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBzVyBleHRlbmRzIHJXe2dldCBmb3JtRGlyZWN0aXZlKCl7cmV0dXJuIG51bGx9Z2V0IHBhdGgoKXtyZXR1cm4gbnVsbH19c1cuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHNXKSkpKG58fHNXKX19KSgpLHNXLsm1ZGlyPWhvKHt0eXBlOnNXLGZlYXR1cmVzOltRcF19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIGxXIGV4dGVuZHMgcld7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuX3BhcmVudD1udWxsLHRoaXMubmFtZT1udWxsLHRoaXMudmFsdWVBY2Nlc3Nvcj1udWxsfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgY1d7Y29uc3RydWN0b3IodCl7dGhpcy5fY2Q9dH1pcyh0KXt2YXIgZSxuLG87cmV0dXJuInN1Ym1pdHRlZCI9PT10PyEhKG51bGw9PT0oZT10aGlzLl9jZCl8fHZvaWQgMD09PWU/dm9pZCAwOmUuc3VibWl0dGVkKTohIShudWxsPT09KG89bnVsbD09PShuPXRoaXMuX2NkKXx8dm9pZCAwPT09bj92b2lkIDA6bi5jb250cm9sKXx8dm9pZCAwPT09bz92b2lkIDA6b1t0XSl9fWNvbnN0IGRXPXsiW2NsYXNzLm5nLXVudG91Y2hlZF0iOidpcygidW50b3VjaGVkIiknLCJbY2xhc3MubmctdG91Y2hlZF0iOidpcygidG91Y2hlZCIpJywiW2NsYXNzLm5nLXByaXN0aW5lXSI6J2lzKCJwcmlzdGluZSIpJywiW2NsYXNzLm5nLWRpcnR5XSI6J2lzKCJkaXJ0eSIpJywiW2NsYXNzLm5nLXZhbGlkXSI6J2lzKCJ2YWxpZCIpJywiW2NsYXNzLm5nLWludmFsaWRdIjonaXMoImludmFsaWQiKScsIltjbGFzcy5uZy1wZW5kaW5nXSI6J2lzKCJwZW5kaW5nIiknfSxwVz17IltjbGFzcy5uZy11bnRvdWNoZWRdIjonaXMoInVudG91Y2hlZCIpJywiW2NsYXNzLm5nLXRvdWNoZWRdIjonaXMoInRvdWNoZWQiKScsIltjbGFzcy5uZy1wcmlzdGluZV0iOidpcygicHJpc3RpbmUiKScsIltjbGFzcy5uZy1kaXJ0eV0iOidpcygiZGlydHkiKScsIltjbGFzcy5uZy12YWxpZF0iOidpcygidmFsaWQiKScsIltjbGFzcy5uZy1pbnZhbGlkXSI6J2lzKCJpbnZhbGlkIiknLCJbY2xhc3MubmctcGVuZGluZ10iOidpcygicGVuZGluZyIpJywiW2NsYXNzLm5nLXN1Ym1pdHRlZF0iOidpcygic3VibWl0dGVkIiknfTtjbGFzcyBtVyBleHRlbmRzIGNXe2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfX1tVy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bVcpKGdmKGxXLDIpKX0sbVcuybVkaXI9aG8oe3R5cGU6bVcsc2VsZWN0b3JzOltbIiIsImZvcm1Db250cm9sTmFtZSIsIiJdLFsiIiwibmdNb2RlbCIsIiJdLFsiIiwiZm9ybUNvbnRyb2wiLCIiXV0saG9zdFZhcnM6MTQsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJmN1KCJuZy11bnRvdWNoZWQiLG4uaXMoInVudG91Y2hlZCIpKSgibmctdG91Y2hlZCIsbi5pcygidG91Y2hlZCIpKSgibmctcHJpc3RpbmUiLG4uaXMoInByaXN0aW5lIikpKCJuZy1kaXJ0eSIsbi5pcygiZGlydHkiKSkoIm5nLXZhbGlkIixuLmlzKCJ2YWxpZCIpKSgibmctaW52YWxpZCIsbi5pcygiaW52YWxpZCIpKSgibmctcGVuZGluZyIsbi5pcygicGVuZGluZyIpKX0sZmVhdHVyZXM6W1FwXX0pLG1XLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6bFcsZGVjb3JhdG9yczpbe3R5cGU6VnJ9XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobVcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Zvcm1Db250cm9sTmFtZV0sW25nTW9kZWxdLFtmb3JtQ29udHJvbF0iLGhvc3Q6ZFd9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpsVyxkZWNvcmF0b3JzOlt7dHlwZTpWcn1dfV19KSxudWxsKTtjbGFzcyBmVyBleHRlbmRzIGNXe2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfX1mVy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZlcpKGdmKHNXLDEwKSl9LGZXLsm1ZGlyPWhvKHt0eXBlOmZXLHNlbGVjdG9yczpbWyIiLCJmb3JtR3JvdXBOYW1lIiwiIl0sWyIiLCJmb3JtQXJyYXlOYW1lIiwiIl0sWyIiLCJuZ01vZGVsR3JvdXAiLCIiXSxbIiIsImZvcm1Hcm91cCIsIiJdLFsiZm9ybSIsMywibmdOb0Zvcm0iLCIiXSxbIiIsIm5nRm9ybSIsIiJdXSxob3N0VmFyczoxNixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoIm5nLXVudG91Y2hlZCIsbi5pcygidW50b3VjaGVkIikpKCJuZy10b3VjaGVkIixuLmlzKCJ0b3VjaGVkIikpKCJuZy1wcmlzdGluZSIsbi5pcygicHJpc3RpbmUiKSkoIm5nLWRpcnR5IixuLmlzKCJkaXJ0eSIpKSgibmctdmFsaWQiLG4uaXMoInZhbGlkIikpKCJuZy1pbnZhbGlkIixuLmlzKCJpbnZhbGlkIikpKCJuZy1wZW5kaW5nIixuLmlzKCJwZW5kaW5nIikpKCJuZy1zdWJtaXR0ZWQiLG4uaXMoInN1Ym1pdHRlZCIpKX0sZmVhdHVyZXM6W1FwXX0pLGZXLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6c1csZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGZXLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Iltmb3JtR3JvdXBOYW1lXSxbZm9ybUFycmF5TmFtZV0sW25nTW9kZWxHcm91cF0sW2Zvcm1Hcm91cF0sZm9ybTpub3QoW25nTm9Gb3JtXSksW25nRm9ybV0iLGhvc3Q6cFd9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpzVyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB1Vz0nXG4gICAgPGRpdiBbZm9ybUdyb3VwXT0ibXlHcm91cCI+XG4gICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPSJmaXJzdE5hbWUiPlxuICAgIDwvZGl2PlxuXG4gICAgSW4geW91ciBjbGFzczpcblxuICAgIHRoaXMubXlHcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgIGZpcnN0TmFtZTogbmV3IEZvcm1Db250cm9sKClcbiAgICB9KTsnLGdXPSdcbiAgICA8ZGl2IFtmb3JtR3JvdXBdPSJteUdyb3VwIj5cbiAgICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9InBlcnNvbiI+XG4gICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT0iZmlyc3ROYW1lIj5cbiAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIEluIHlvdXIgY2xhc3M6XG5cbiAgICB0aGlzLm15R3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICBwZXJzb246IG5ldyBGb3JtR3JvdXAoeyBmaXJzdE5hbWU6IG5ldyBGb3JtQ29udHJvbCgpIH0pXG4gICAgfSk7JyxoVz0nXG4gICAgPGRpdiBbZm9ybUdyb3VwXT0ibXlHcm91cCI+XG4gICAgICA8ZGl2IGZvcm1BcnJheU5hbWU9ImNpdGllcyI+XG4gICAgICAgIDxkaXYgKm5nRm9yPSJsZXQgY2l0eSBvZiBjaXR5QXJyYXkuY29udHJvbHM7IGluZGV4IGFzIGkiPlxuICAgICAgICAgIDxpbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT0iaSI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBJbiB5b3VyIGNsYXNzOlxuXG4gICAgdGhpcy5jaXR5QXJyYXkgPSBuZXcgRm9ybUFycmF5KFtuZXcgRm9ybUNvbnRyb2woXCdTRlwnKV0pO1xuICAgIHRoaXMubXlHcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgY2l0aWVzOiB0aGlzLmNpdHlBcnJheVxuICAgIH0pOycsYlc9J1xuICAgIDxmb3JtPlxuICAgICAgIDxkaXYgbmdNb2RlbEdyb3VwPSJwZXJzb24iPlxuICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT0icGVyc29uLm5hbWUiIG5hbWU9ImZpcnN0TmFtZSI+XG4gICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPicseVc9J1xuICAgIDxkaXYgW2Zvcm1Hcm91cF09Im15R3JvdXAiPlxuICAgICAgIDxpbnB1dCBmb3JtQ29udHJvbE5hbWU9ImZpcnN0TmFtZSI+XG4gICAgICAgPGlucHV0IFsobmdNb2RlbCldPSJzaG93TW9yZUNvbnRyb2xzIiBbbmdNb2RlbE9wdGlvbnNdPSJ7c3RhbmRhbG9uZTogdHJ1ZX0iPlxuICAgIDwvZGl2PlxuICAnOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBfV3tzdGF0aWMgY29udHJvbFBhcmVudEV4Y2VwdGlvbigpe3Rocm93IG5ldyBFcnJvcihgZm9ybUNvbnRyb2xOYW1lIG11c3QgYmUgdXNlZCB3aXRoIGEgcGFyZW50IGZvcm1Hcm91cCBkaXJlY3RpdmUuICBZb3UnbGwgd2FudCB0byBhZGQgYSBmb3JtR3JvdXBcbiAgICAgICBkaXJlY3RpdmUgYW5kIHBhc3MgaXQgYW4gZXhpc3RpbmcgRm9ybUdyb3VwIGluc3RhbmNlICh5b3UgY2FuIGNyZWF0ZSBvbmUgaW4geW91ciBjbGFzcykuXG5cbiAgICAgIEV4YW1wbGU6XG5cbiAgICAgICR7dVd9YCl9c3RhdGljIG5nTW9kZWxHcm91cEV4Y2VwdGlvbigpe3Rocm93IG5ldyBFcnJvcihgZm9ybUNvbnRyb2xOYW1lIGNhbm5vdCBiZSB1c2VkIHdpdGggYW4gbmdNb2RlbEdyb3VwIHBhcmVudC4gSXQgaXMgb25seSBjb21wYXRpYmxlIHdpdGggcGFyZW50c1xuICAgICAgIHRoYXQgYWxzbyBoYXZlIGEgImZvcm0iIHByZWZpeDogZm9ybUdyb3VwTmFtZSwgZm9ybUFycmF5TmFtZSwgb3IgZm9ybUdyb3VwLlxuXG4gICAgICAgT3B0aW9uIDE6ICBVcGRhdGUgdGhlIHBhcmVudCB0byBiZSBmb3JtR3JvdXBOYW1lIChyZWFjdGl2ZSBmb3JtIHN0cmF0ZWd5KVxuXG4gICAgICAgICR7Z1d9XG5cbiAgICAgICAgT3B0aW9uIDI6IFVzZSBuZ01vZGVsIGluc3RlYWQgb2YgZm9ybUNvbnRyb2xOYW1lICh0ZW1wbGF0ZS1kcml2ZW4gc3RyYXRlZ3kpXG5cbiAgICAgICAgJHtiV31gKX1zdGF0aWMgbWlzc2luZ0Zvcm1FeGNlcHRpb24oKXt0aHJvdyBuZXcgRXJyb3IoYGZvcm1Hcm91cCBleHBlY3RzIGEgRm9ybUdyb3VwIGluc3RhbmNlLiBQbGVhc2UgcGFzcyBvbmUgaW4uXG5cbiAgICAgICBFeGFtcGxlOlxuXG4gICAgICAgJHt1V31gKX1zdGF0aWMgZ3JvdXBQYXJlbnRFeGNlcHRpb24oKXt0aHJvdyBuZXcgRXJyb3IoYGZvcm1Hcm91cE5hbWUgbXVzdCBiZSB1c2VkIHdpdGggYSBwYXJlbnQgZm9ybUdyb3VwIGRpcmVjdGl2ZS4gIFlvdSdsbCB3YW50IHRvIGFkZCBhIGZvcm1Hcm91cFxuICAgICAgZGlyZWN0aXZlIGFuZCBwYXNzIGl0IGFuIGV4aXN0aW5nIEZvcm1Hcm91cCBpbnN0YW5jZSAoeW91IGNhbiBjcmVhdGUgb25lIGluIHlvdXIgY2xhc3MpLlxuXG4gICAgICBFeGFtcGxlOlxuXG4gICAgICAke2dXfWApfXN0YXRpYyBhcnJheVBhcmVudEV4Y2VwdGlvbigpe3Rocm93IG5ldyBFcnJvcihgZm9ybUFycmF5TmFtZSBtdXN0IGJlIHVzZWQgd2l0aCBhIHBhcmVudCBmb3JtR3JvdXAgZGlyZWN0aXZlLiAgWW91J2xsIHdhbnQgdG8gYWRkIGEgZm9ybUdyb3VwXG4gICAgICAgZGlyZWN0aXZlIGFuZCBwYXNzIGl0IGFuIGV4aXN0aW5nIEZvcm1Hcm91cCBpbnN0YW5jZSAoeW91IGNhbiBjcmVhdGUgb25lIGluIHlvdXIgY2xhc3MpLlxuXG4gICAgICAgIEV4YW1wbGU6XG5cbiAgICAgICAgJHtoV31gKX1zdGF0aWMgZGlzYWJsZWRBdHRyV2FybmluZygpe2NvbnNvbGUud2FybigiXG4gICAgICBJdCBsb29rcyBsaWtlIHlvdSdyZSB1c2luZyB0aGUgZGlzYWJsZWQgYXR0cmlidXRlIHdpdGggYSByZWFjdGl2ZSBmb3JtIGRpcmVjdGl2ZS4gSWYgeW91IHNldCBkaXNhYmxlZCB0byB0cnVlXG4gICAgICB3aGVuIHlvdSBzZXQgdXAgdGhpcyBjb250cm9sIGluIHlvdXIgY29tcG9uZW50IGNsYXNzLCB0aGUgZGlzYWJsZWQgYXR0cmlidXRlIHdpbGwgYWN0dWFsbHkgYmUgc2V0IGluIHRoZSBET00gZm9yXG4gICAgICB5b3UuIFdlIHJlY29tbWVuZCB1c2luZyB0aGlzIGFwcHJvYWNoIHRvIGF2b2lkICdjaGFuZ2VkIGFmdGVyIGNoZWNrZWQnIGVycm9ycy5cblxuICAgICAgRXhhbXBsZTpcbiAgICAgIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgZmlyc3Q6IG5ldyBGb3JtQ29udHJvbCh7dmFsdWU6ICdOYW5jeScsIGRpc2FibGVkOiB0cnVlfSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgIGxhc3Q6IG5ldyBGb3JtQ29udHJvbCgnRHJldycsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gICAgICB9KTtcbiAgICAiKX1zdGF0aWMgbmdNb2RlbFdhcm5pbmcodCl7Y29uc29sZS53YXJuKGBcbiAgICBJdCBsb29rcyBsaWtlIHlvdSdyZSB1c2luZyBuZ01vZGVsIG9uIHRoZSBzYW1lIGZvcm0gZmllbGQgYXMgJHt0fS5cbiAgICBTdXBwb3J0IGZvciB1c2luZyB0aGUgbmdNb2RlbCBpbnB1dCBwcm9wZXJ0eSBhbmQgbmdNb2RlbENoYW5nZSBldmVudCB3aXRoXG4gICAgcmVhY3RpdmUgZm9ybSBkaXJlY3RpdmVzIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gQW5ndWxhciB2NiBhbmQgd2lsbCBiZSByZW1vdmVkXG4gICAgaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiBBbmd1bGFyLlxuXG4gICAgRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgc2VlIG91ciBBUEkgZG9jcyBoZXJlOlxuICAgIGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvJHsiZm9ybUNvbnRyb2wiPT09dD8iRm9ybUNvbnRyb2xEaXJlY3RpdmUiOiJGb3JtQ29udHJvbE5hbWUifSN1c2Utd2l0aC1uZ21vZGVsXG4gICAgYCl9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBDVyh0LGUpe3JldHVyblsuLi5lLnBhdGgsdF19ZnVuY3Rpb24gTVcodCxlKXsoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJih0fHxTVyhlLCJDYW5ub3QgZmluZCBjb250cm9sIHdpdGgiKSxlLnZhbHVlQWNjZXNzb3J8fFNXKGUsIk5vIHZhbHVlIGFjY2Vzc29yIGZvciBmb3JtIGNvbnRyb2wgd2l0aCIpKSxPVyh0LGUpLGUudmFsdWVBY2Nlc3Nvci53cml0ZVZhbHVlKHQudmFsdWUpLChmdW5jdGlvbiBuKHQsZSl7ZS52YWx1ZUFjY2Vzc29yLnJlZ2lzdGVyT25DaGFuZ2UoKG49Pnt0Ll9wZW5kaW5nVmFsdWU9bix0Ll9wZW5kaW5nQ2hhbmdlPSEwLHQuX3BlbmRpbmdEaXJ0eT0hMCwiY2hhbmdlIj09PXQudXBkYXRlT24mJndXKHQsZSl9KSl9KSh0LGUpLChmdW5jdGlvbiBvKHQsZSl7Y29uc3Qgbj0odCxuKT0+e2UudmFsdWVBY2Nlc3Nvci53cml0ZVZhbHVlKHQpLG4mJmUudmlld1RvTW9kZWxVcGRhdGUodCl9O3QucmVnaXN0ZXJPbkNoYW5nZShuKSxlLl9yZWdpc3Rlck9uRGVzdHJveSgoKCk9Pnt0Ll91bnJlZ2lzdGVyT25DaGFuZ2Uobil9KSl9KSh0LGUpLChmdW5jdGlvbiBpKHQsZSl7ZS52YWx1ZUFjY2Vzc29yLnJlZ2lzdGVyT25Ub3VjaGVkKCgoKT0+e3QuX3BlbmRpbmdUb3VjaGVkPSEwLCJibHVyIj09PXQudXBkYXRlT24mJnQuX3BlbmRpbmdDaGFuZ2UmJndXKHQsZSksInN1Ym1pdCIhPT10LnVwZGF0ZU9uJiZ0Lm1hcmtBc1RvdWNoZWQoKX0pKX0pKHQsZSksKGZ1bmN0aW9uIGEodCxlKXtpZihlLnZhbHVlQWNjZXNzb3Iuc2V0RGlzYWJsZWRTdGF0ZSl7Y29uc3Qgbj10PT57ZS52YWx1ZUFjY2Vzc29yLnNldERpc2FibGVkU3RhdGUodCl9O3QucmVnaXN0ZXJPbkRpc2FibGVkQ2hhbmdlKG4pLGUuX3JlZ2lzdGVyT25EZXN0cm95KCgoKT0+e3QuX3VucmVnaXN0ZXJPbkRpc2FibGVkQ2hhbmdlKG4pfSkpfX0pKHQsZSl9ZnVuY3Rpb24gdlcodCxlLG49ITApe2NvbnN0IG89KCk9PntuJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJihmdW5jdGlvbiB0KGUpe3JldHVybiBTVyhlLCJUaGVyZSBpcyBubyBGb3JtQ29udHJvbCBpbnN0YW5jZSBhdHRhY2hlZCB0byBmb3JtIGNvbnRyb2wgZWxlbWVudCB3aXRoIil9KShlKX07ZS52YWx1ZUFjY2Vzc29yJiYoZS52YWx1ZUFjY2Vzc29yLnJlZ2lzdGVyT25DaGFuZ2UobyksZS52YWx1ZUFjY2Vzc29yLnJlZ2lzdGVyT25Ub3VjaGVkKG8pKSxQVyh0LGUpLHQmJihlLl9pbnZva2VPbkRlc3Ryb3lDYWxsYmFja3MoKSx0Ll9yZWdpc3Rlck9uQ29sbGVjdGlvbkNoYW5nZSgoKCk9Pnt9KSkpfWZ1bmN0aW9uIHhXKHQsZSl7dC5mb3JFYWNoKCh0PT57dC5yZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlJiZ0LnJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZSl9KSl9ZnVuY3Rpb24gT1codCxlKXtjb25zdCBuPXRXKHQpO251bGwhPT1lLnZhbGlkYXRvcj90LnNldFZhbGlkYXRvcnMoJFUobixlLnZhbGlkYXRvcikpOiJmdW5jdGlvbiI9PXR5cGVvZiBuJiZ0LnNldFZhbGlkYXRvcnMoW25dKTtjb25zdCBvPWVXKHQpO251bGwhPT1lLmFzeW5jVmFsaWRhdG9yP3Quc2V0QXN5bmNWYWxpZGF0b3JzKCRVKG8sZS5hc3luY1ZhbGlkYXRvcikpOiJmdW5jdGlvbiI9PXR5cGVvZiBvJiZ0LnNldEFzeW5jVmFsaWRhdG9ycyhbb10pO2NvbnN0IGk9KCk9PnQudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO3hXKGUuX3Jhd1ZhbGlkYXRvcnMsaSkseFcoZS5fcmF3QXN5bmNWYWxpZGF0b3JzLGkpfWZ1bmN0aW9uIFBXKHQsZSl7bGV0IG49ITE7aWYobnVsbCE9PXQpe2lmKG51bGwhPT1lLnZhbGlkYXRvcil7Y29uc3Qgbz10Vyh0KTtpZihBcnJheS5pc0FycmF5KG8pJiZvLmxlbmd0aD4wKXtjb25zdCBpPW8uZmlsdGVyKCh0PT50IT09ZS52YWxpZGF0b3IpKTtpLmxlbmd0aCE9PW8ubGVuZ3RoJiYobj0hMCx0LnNldFZhbGlkYXRvcnMoaSkpfX1pZihudWxsIT09ZS5hc3luY1ZhbGlkYXRvcil7Y29uc3Qgbz1lVyh0KTtpZihBcnJheS5pc0FycmF5KG8pJiZvLmxlbmd0aD4wKXtjb25zdCBpPW8uZmlsdGVyKCh0PT50IT09ZS5hc3luY1ZhbGlkYXRvcikpO2kubGVuZ3RoIT09by5sZW5ndGgmJihuPSEwLHQuc2V0QXN5bmNWYWxpZGF0b3JzKGkpKX19fWNvbnN0IG89KCk9Pnt9O3JldHVybiB4VyhlLl9yYXdWYWxpZGF0b3JzLG8pLHhXKGUuX3Jhd0FzeW5jVmFsaWRhdG9ycyxvKSxufWZ1bmN0aW9uIHdXKHQsZSl7dC5fcGVuZGluZ0RpcnR5JiZ0Lm1hcmtBc0RpcnR5KCksdC5zZXRWYWx1ZSh0Ll9wZW5kaW5nVmFsdWUse2VtaXRNb2RlbFRvVmlld0NoYW5nZTohMX0pLGUudmlld1RvTW9kZWxVcGRhdGUodC5fcGVuZGluZ1ZhbHVlKSx0Ll9wZW5kaW5nQ2hhbmdlPSExfWZ1bmN0aW9uIGtXKHQsZSl7bnVsbCE9dHx8InVuZGVmaW5lZCIhPXR5cGVvZiBuZ0Rldk1vZGUmJiFuZ0Rldk1vZGV8fFNXKGUsIkNhbm5vdCBmaW5kIGNvbnRyb2wgd2l0aCIpLE9XKHQsZSl9ZnVuY3Rpb24gU1codCxlKXtsZXQgbjt0aHJvdyBuPXQucGF0aC5sZW5ndGg+MT9gcGF0aDogJyR7dC5wYXRoLmpvaW4oIiAtPiAiKX0nYDp0LnBhdGhbMF0/YG5hbWU6ICcke3QucGF0aH0nYDoidW5zcGVjaWZpZWQgbmFtZSBhdHRyaWJ1dGUiLG5ldyBFcnJvcihgJHtlfSAke259YCl9ZnVuY3Rpb24gRFcodCxlKXtpZighdC5oYXNPd25Qcm9wZXJ0eSgibW9kZWwiKSlyZXR1cm4hMTtjb25zdCBuPXQubW9kZWw7cmV0dXJuISFuLmlzRmlyc3RDaGFuZ2UoKXx8IU9iamVjdC5pcyhlLG4uY3VycmVudFZhbHVlKX1mdW5jdGlvbiBSVyh0LGUpe3QuX3N5bmNQZW5kaW5nQ29udHJvbHMoKSxlLmZvckVhY2goKHQ9Pntjb25zdCBlPXQuY29udHJvbDsic3VibWl0Ij09PWUudXBkYXRlT24mJmUuX3BlbmRpbmdDaGFuZ2UmJih0LnZpZXdUb01vZGVsVXBkYXRlKGUuX3BlbmRpbmdWYWx1ZSksZS5fcGVuZGluZ0NoYW5nZT0hMSl9KSl9ZnVuY3Rpb24gRVcodCxlKXtpZighZSlyZXR1cm4gbnVsbDtsZXQgbixvLGk7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSl8fCJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlfHxTVyh0LCJWYWx1ZSBhY2Nlc3NvciB3YXMgbm90IHByb3ZpZGVkIGFzIGFuIGFycmF5IGZvciBmb3JtIGNvbnRyb2wgd2l0aCIpLGUuZm9yRWFjaCgoZT0+e2UuY29uc3RydWN0b3I9PT1TVT9uPWU6IShmdW5jdGlvbiBhKHQpe3JldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodC5jb25zdHJ1Y3Rvcik9PT12VX0pKGUpPyhpJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlNXKHQsIk1vcmUgdGhhbiBvbmUgY3VzdG9tIHZhbHVlIGFjY2Vzc29yIG1hdGNoZXMgZm9ybSBjb250cm9sIHdpdGgiKSxpPWUpOihvJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlNXKHQsIk1vcmUgdGhhbiBvbmUgYnVpbHQtaW4gdmFsdWUgYWNjZXNzb3IgbWF0Y2hlcyBmb3JtIGNvbnRyb2wgd2l0aCIpLG89ZSl9KSksaXx8KG98fChufHwoKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZTVyh0LCJObyB2YWxpZCB2YWx1ZSBhY2Nlc3NvciBmb3IgZm9ybSBjb250cm9sIHdpdGgiKSxudWxsKSkpfWZ1bmN0aW9uIEFXKHQsZSl7Y29uc3Qgbj10LmluZGV4T2YoZSk7bj4tMSYmdC5zcGxpY2UobiwxKX1mdW5jdGlvbiBUVyh0LGUsbixvKXsibmV2ZXIiIT09byYmKChudWxsIT09byYmIm9uY2UiIT09b3x8ZS5fbmdNb2RlbFdhcm5pbmdTZW50T25jZSkmJigiYWx3YXlzIiE9PW98fG4uX25nTW9kZWxXYXJuaW5nU2VudCl8fChfVy5uZ01vZGVsV2FybmluZyh0KSxlLl9uZ01vZGVsV2FybmluZ1NlbnRPbmNlPSEwLG4uX25nTW9kZWxXYXJuaW5nU2VudD0hMCkpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jb25zdCBOVz0iVkFMSUQiLHpXPSJJTlZBTElEIixJVz0iUEVORElORyIsSFc9IkRJU0FCTEVEIjtmdW5jdGlvbiBGVyh0KXtyZXR1cm4oalcodCk/dC52YWxpZGF0b3JzOnQpfHxudWxsfWZ1bmN0aW9uIExXKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP0tVKHQpOnR8fG51bGx9ZnVuY3Rpb24gQlcodCxlKXtyZXR1cm4oalcoZSk/ZS5hc3luY1ZhbGlkYXRvcnM6dCl8fG51bGx9ZnVuY3Rpb24gVlcodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/UVUodCk6dHx8bnVsbH1mdW5jdGlvbiBqVyh0KXtyZXR1cm4gbnVsbCE9dCYmIUFycmF5LmlzQXJyYXkodCkmJiJvYmplY3QiPT10eXBlb2YgdH1jbGFzcyBVV3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2hhc093blBlbmRpbmdBc3luY1ZhbGlkYXRvcj0hMSx0aGlzLl9vbkNvbGxlY3Rpb25DaGFuZ2U9KCk9Pnt9LHRoaXMuX3BhcmVudD1udWxsLHRoaXMucHJpc3RpbmU9ITAsdGhpcy50b3VjaGVkPSExLHRoaXMuX29uRGlzYWJsZWRDaGFuZ2U9W10sdGhpcy5fcmF3VmFsaWRhdG9ycz10LHRoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycz1lLHRoaXMuX2NvbXBvc2VkVmFsaWRhdG9yRm49TFcodGhpcy5fcmF3VmFsaWRhdG9ycyksdGhpcy5fY29tcG9zZWRBc3luY1ZhbGlkYXRvckZuPVZXKHRoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycyl9Z2V0IHZhbGlkYXRvcigpe3JldHVybiB0aGlzLl9jb21wb3NlZFZhbGlkYXRvckZufXNldCB2YWxpZGF0b3IodCl7dGhpcy5fcmF3VmFsaWRhdG9ycz10aGlzLl9jb21wb3NlZFZhbGlkYXRvckZuPXR9Z2V0IGFzeW5jVmFsaWRhdG9yKCl7cmV0dXJuIHRoaXMuX2NvbXBvc2VkQXN5bmNWYWxpZGF0b3JGbn1zZXQgYXN5bmNWYWxpZGF0b3IodCl7dGhpcy5fcmF3QXN5bmNWYWxpZGF0b3JzPXRoaXMuX2NvbXBvc2VkQXN5bmNWYWxpZGF0b3JGbj10fWdldCBwYXJlbnQoKXtyZXR1cm4gdGhpcy5fcGFyZW50fWdldCB2YWxpZCgpe3JldHVybiB0aGlzLnN0YXR1cz09PU5XfWdldCBpbnZhbGlkKCl7cmV0dXJuIHRoaXMuc3RhdHVzPT09eld9Z2V0IHBlbmRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0dXM9PUlXfWdldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLnN0YXR1cz09PUhXfWdldCBlbmFibGVkKCl7cmV0dXJuIHRoaXMuc3RhdHVzIT09SFd9Z2V0IGRpcnR5KCl7cmV0dXJuIXRoaXMucHJpc3RpbmV9Z2V0IHVudG91Y2hlZCgpe3JldHVybiF0aGlzLnRvdWNoZWR9Z2V0IHVwZGF0ZU9uKCl7cmV0dXJuIHRoaXMuX3VwZGF0ZU9uP3RoaXMuX3VwZGF0ZU9uOnRoaXMucGFyZW50P3RoaXMucGFyZW50LnVwZGF0ZU9uOiJjaGFuZ2UifXNldFZhbGlkYXRvcnModCl7dGhpcy5fcmF3VmFsaWRhdG9ycz10LHRoaXMuX2NvbXBvc2VkVmFsaWRhdG9yRm49TFcodCl9c2V0QXN5bmNWYWxpZGF0b3JzKHQpe3RoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycz10LHRoaXMuX2NvbXBvc2VkQXN5bmNWYWxpZGF0b3JGbj1WVyh0KX1hZGRWYWxpZGF0b3JzKHQpe3RoaXMuc2V0VmFsaWRhdG9ycyhpVyh0LHRoaXMuX3Jhd1ZhbGlkYXRvcnMpKX1hZGRBc3luY1ZhbGlkYXRvcnModCl7dGhpcy5zZXRBc3luY1ZhbGlkYXRvcnMoaVcodCx0aGlzLl9yYXdBc3luY1ZhbGlkYXRvcnMpKX1yZW1vdmVWYWxpZGF0b3JzKHQpe3RoaXMuc2V0VmFsaWRhdG9ycyhhVyh0LHRoaXMuX3Jhd1ZhbGlkYXRvcnMpKX1yZW1vdmVBc3luY1ZhbGlkYXRvcnModCl7dGhpcy5zZXRBc3luY1ZhbGlkYXRvcnMoYVcodCx0aGlzLl9yYXdBc3luY1ZhbGlkYXRvcnMpKX1oYXNWYWxpZGF0b3IodCl7cmV0dXJuIG9XKHRoaXMuX3Jhd1ZhbGlkYXRvcnMsdCl9aGFzQXN5bmNWYWxpZGF0b3IodCl7cmV0dXJuIG9XKHRoaXMuX3Jhd0FzeW5jVmFsaWRhdG9ycyx0KX1jbGVhclZhbGlkYXRvcnMoKXt0aGlzLnZhbGlkYXRvcj1udWxsfWNsZWFyQXN5bmNWYWxpZGF0b3JzKCl7dGhpcy5hc3luY1ZhbGlkYXRvcj1udWxsfW1hcmtBc1RvdWNoZWQodD17fSl7dGhpcy50b3VjaGVkPSEwLHRoaXMuX3BhcmVudCYmIXQub25seVNlbGYmJnRoaXMuX3BhcmVudC5tYXJrQXNUb3VjaGVkKHQpfW1hcmtBbGxBc1RvdWNoZWQoKXt0aGlzLm1hcmtBc1RvdWNoZWQoe29ubHlTZWxmOiEwfSksdGhpcy5fZm9yRWFjaENoaWxkKCh0PT50Lm1hcmtBbGxBc1RvdWNoZWQoKSkpfW1hcmtBc1VudG91Y2hlZCh0PXt9KXt0aGlzLnRvdWNoZWQ9ITEsdGhpcy5fcGVuZGluZ1RvdWNoZWQ9ITEsdGhpcy5fZm9yRWFjaENoaWxkKCh0PT57dC5tYXJrQXNVbnRvdWNoZWQoe29ubHlTZWxmOiEwfSl9KSksdGhpcy5fcGFyZW50JiYhdC5vbmx5U2VsZiYmdGhpcy5fcGFyZW50Ll91cGRhdGVUb3VjaGVkKHQpfW1hcmtBc0RpcnR5KHQ9e30pe3RoaXMucHJpc3RpbmU9ITEsdGhpcy5fcGFyZW50JiYhdC5vbmx5U2VsZiYmdGhpcy5fcGFyZW50Lm1hcmtBc0RpcnR5KHQpfW1hcmtBc1ByaXN0aW5lKHQ9e30pe3RoaXMucHJpc3RpbmU9ITAsdGhpcy5fcGVuZGluZ0RpcnR5PSExLHRoaXMuX2ZvckVhY2hDaGlsZCgodD0+e3QubWFya0FzUHJpc3RpbmUoe29ubHlTZWxmOiEwfSl9KSksdGhpcy5fcGFyZW50JiYhdC5vbmx5U2VsZiYmdGhpcy5fcGFyZW50Ll91cGRhdGVQcmlzdGluZSh0KX1tYXJrQXNQZW5kaW5nKHQ9e30pe3RoaXMuc3RhdHVzPUlXLCExIT09dC5lbWl0RXZlbnQmJnRoaXMuc3RhdHVzQ2hhbmdlcy5lbWl0KHRoaXMuc3RhdHVzKSx0aGlzLl9wYXJlbnQmJiF0Lm9ubHlTZWxmJiZ0aGlzLl9wYXJlbnQubWFya0FzUGVuZGluZyh0KX1kaXNhYmxlKHQ9e30pe2NvbnN0IGU9dGhpcy5fcGFyZW50TWFya2VkRGlydHkodC5vbmx5U2VsZik7dGhpcy5zdGF0dXM9SFcsdGhpcy5lcnJvcnM9bnVsbCx0aGlzLl9mb3JFYWNoQ2hpbGQoKGU9PntlLmRpc2FibGUoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtvbmx5U2VsZjohMH0pKX0pKSx0aGlzLl91cGRhdGVWYWx1ZSgpLCExIT09dC5lbWl0RXZlbnQmJih0aGlzLnZhbHVlQ2hhbmdlcy5lbWl0KHRoaXMudmFsdWUpLHRoaXMuc3RhdHVzQ2hhbmdlcy5lbWl0KHRoaXMuc3RhdHVzKSksdGhpcy5fdXBkYXRlQW5jZXN0b3JzKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2tpcFByaXN0aW5lQ2hlY2s6ZX0pKSx0aGlzLl9vbkRpc2FibGVkQ2hhbmdlLmZvckVhY2goKHQ9PnQoITApKSl9ZW5hYmxlKHQ9e30pe2NvbnN0IGU9dGhpcy5fcGFyZW50TWFya2VkRGlydHkodC5vbmx5U2VsZik7dGhpcy5zdGF0dXM9TlcsdGhpcy5fZm9yRWFjaENoaWxkKChlPT57ZS5lbmFibGUoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtvbmx5U2VsZjohMH0pKX0pKSx0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe29ubHlTZWxmOiEwLGVtaXRFdmVudDp0LmVtaXRFdmVudH0pLHRoaXMuX3VwZGF0ZUFuY2VzdG9ycyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NraXBQcmlzdGluZUNoZWNrOmV9KSksdGhpcy5fb25EaXNhYmxlZENoYW5nZS5mb3JFYWNoKCh0PT50KCExKSkpfV91cGRhdGVBbmNlc3RvcnModCl7dGhpcy5fcGFyZW50JiYhdC5vbmx5U2VsZiYmKHRoaXMuX3BhcmVudC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHQpLHQuc2tpcFByaXN0aW5lQ2hlY2t8fHRoaXMuX3BhcmVudC5fdXBkYXRlUHJpc3RpbmUoKSx0aGlzLl9wYXJlbnQuX3VwZGF0ZVRvdWNoZWQoKSl9c2V0UGFyZW50KHQpe3RoaXMuX3BhcmVudD10fXVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkodD17fSl7dGhpcy5fc2V0SW5pdGlhbFN0YXR1cygpLHRoaXMuX3VwZGF0ZVZhbHVlKCksdGhpcy5lbmFibGVkJiYodGhpcy5fY2FuY2VsRXhpc3RpbmdTdWJzY3JpcHRpb24oKSx0aGlzLmVycm9ycz10aGlzLl9ydW5WYWxpZGF0b3IoKSx0aGlzLnN0YXR1cz10aGlzLl9jYWxjdWxhdGVTdGF0dXMoKSx0aGlzLnN0YXR1cyE9PU5XJiZ0aGlzLnN0YXR1cyE9PUlXfHx0aGlzLl9ydW5Bc3luY1ZhbGlkYXRvcih0LmVtaXRFdmVudCkpLCExIT09dC5lbWl0RXZlbnQmJih0aGlzLnZhbHVlQ2hhbmdlcy5lbWl0KHRoaXMudmFsdWUpLHRoaXMuc3RhdHVzQ2hhbmdlcy5lbWl0KHRoaXMuc3RhdHVzKSksdGhpcy5fcGFyZW50JiYhdC5vbmx5U2VsZiYmdGhpcy5fcGFyZW50LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkodCl9X3VwZGF0ZVRyZWVWYWxpZGl0eSh0PXtlbWl0RXZlbnQ6ITB9KXt0aGlzLl9mb3JFYWNoQ2hpbGQoKGU9PmUuX3VwZGF0ZVRyZWVWYWxpZGl0eSh0KSkpLHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7b25seVNlbGY6ITAsZW1pdEV2ZW50OnQuZW1pdEV2ZW50fSl9X3NldEluaXRpYWxTdGF0dXMoKXt0aGlzLnN0YXR1cz10aGlzLl9hbGxDb250cm9sc0Rpc2FibGVkKCk/SFc6Tld9X3J1blZhbGlkYXRvcigpe3JldHVybiB0aGlzLnZhbGlkYXRvcj90aGlzLnZhbGlkYXRvcih0aGlzKTpudWxsfV9ydW5Bc3luY1ZhbGlkYXRvcih0KXtpZih0aGlzLmFzeW5jVmFsaWRhdG9yKXt0aGlzLnN0YXR1cz1JVyx0aGlzLl9oYXNPd25QZW5kaW5nQXN5bmNWYWxpZGF0b3I9ITA7Y29uc3QgZT1HVSh0aGlzLmFzeW5jVmFsaWRhdG9yKHRoaXMpKTt0aGlzLl9hc3luY1ZhbGlkYXRpb25TdWJzY3JpcHRpb249ZS5zdWJzY3JpYmUoKGU9Pnt0aGlzLl9oYXNPd25QZW5kaW5nQXN5bmNWYWxpZGF0b3I9ITEsdGhpcy5zZXRFcnJvcnMoZSx7ZW1pdEV2ZW50OnR9KX0pKX19X2NhbmNlbEV4aXN0aW5nU3Vic2NyaXB0aW9uKCl7dGhpcy5fYXN5bmNWYWxpZGF0aW9uU3Vic2NyaXB0aW9uJiYodGhpcy5fYXN5bmNWYWxpZGF0aW9uU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5faGFzT3duUGVuZGluZ0FzeW5jVmFsaWRhdG9yPSExKX1zZXRFcnJvcnModCxlPXt9KXt0aGlzLmVycm9ycz10LHRoaXMuX3VwZGF0ZUNvbnRyb2xzRXJyb3JzKCExIT09ZS5lbWl0RXZlbnQpfWdldCh0KXtyZXR1cm4oZnVuY3Rpb24gZSh0LG4sbyl7aWYobnVsbD09bilyZXR1cm4gbnVsbDtpZihBcnJheS5pc0FycmF5KG4pfHwobj1uLnNwbGl0KG8pKSxBcnJheS5pc0FycmF5KG4pJiYwPT09bi5sZW5ndGgpcmV0dXJuIG51bGw7bGV0IGk9dDtyZXR1cm4gbi5mb3JFYWNoKCh0PT57aT1pIGluc3RhbmNlb2YgR1c/aS5jb250cm9scy5oYXNPd25Qcm9wZXJ0eSh0KT9pLmNvbnRyb2xzW3RdOm51bGw6aSBpbnN0YW5jZW9mIFlXJiZpLmF0KHQpfHxudWxsfSkpLGl9KSh0aGlzLHQsIi4iKX1nZXRFcnJvcih0LGUpe2NvbnN0IG49ZT90aGlzLmdldChlKTp0aGlzO3JldHVybiBuJiZuLmVycm9ycz9uLmVycm9yc1t0XTpudWxsfWhhc0Vycm9yKHQsZSl7cmV0dXJuISF0aGlzLmdldEVycm9yKHQsZSl9Z2V0IHJvb3QoKXtsZXQgdD10aGlzO2Zvcig7dC5fcGFyZW50Oyl0PXQuX3BhcmVudDtyZXR1cm4gdH1fdXBkYXRlQ29udHJvbHNFcnJvcnModCl7dGhpcy5zdGF0dXM9dGhpcy5fY2FsY3VsYXRlU3RhdHVzKCksdCYmdGhpcy5zdGF0dXNDaGFuZ2VzLmVtaXQodGhpcy5zdGF0dXMpLHRoaXMuX3BhcmVudCYmdGhpcy5fcGFyZW50Ll91cGRhdGVDb250cm9sc0Vycm9ycyh0KX1faW5pdE9ic2VydmFibGVzKCl7dGhpcy52YWx1ZUNoYW5nZXM9bmV3IFN5LHRoaXMuc3RhdHVzQ2hhbmdlcz1uZXcgU3l9X2NhbGN1bGF0ZVN0YXR1cygpe3JldHVybiB0aGlzLl9hbGxDb250cm9sc0Rpc2FibGVkKCk/SFc6dGhpcy5lcnJvcnM/elc6dGhpcy5faGFzT3duUGVuZGluZ0FzeW5jVmFsaWRhdG9yfHx0aGlzLl9hbnlDb250cm9sc0hhdmVTdGF0dXMoSVcpP0lXOnRoaXMuX2FueUNvbnRyb2xzSGF2ZVN0YXR1cyh6Vyk/elc6Tld9X2FueUNvbnRyb2xzSGF2ZVN0YXR1cyh0KXtyZXR1cm4gdGhpcy5fYW55Q29udHJvbHMoKGU9PmUuc3RhdHVzPT09dCkpfV9hbnlDb250cm9sc0RpcnR5KCl7cmV0dXJuIHRoaXMuX2FueUNvbnRyb2xzKCh0PT50LmRpcnR5KSl9X2FueUNvbnRyb2xzVG91Y2hlZCgpe3JldHVybiB0aGlzLl9hbnlDb250cm9scygodD0+dC50b3VjaGVkKSl9X3VwZGF0ZVByaXN0aW5lKHQ9e30pe3RoaXMucHJpc3RpbmU9IXRoaXMuX2FueUNvbnRyb2xzRGlydHkoKSx0aGlzLl9wYXJlbnQmJiF0Lm9ubHlTZWxmJiZ0aGlzLl9wYXJlbnQuX3VwZGF0ZVByaXN0aW5lKHQpfV91cGRhdGVUb3VjaGVkKHQ9e30pe3RoaXMudG91Y2hlZD10aGlzLl9hbnlDb250cm9sc1RvdWNoZWQoKSx0aGlzLl9wYXJlbnQmJiF0Lm9ubHlTZWxmJiZ0aGlzLl9wYXJlbnQuX3VwZGF0ZVRvdWNoZWQodCl9X2lzQm94ZWRWYWx1ZSh0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYyPT09T2JqZWN0LmtleXModCkubGVuZ3RoJiYidmFsdWUiaW4gdCYmImRpc2FibGVkImluIHR9X3JlZ2lzdGVyT25Db2xsZWN0aW9uQ2hhbmdlKHQpe3RoaXMuX29uQ29sbGVjdGlvbkNoYW5nZT10fV9zZXRVcGRhdGVTdHJhdGVneSh0KXtqVyh0KSYmbnVsbCE9dC51cGRhdGVPbiYmKHRoaXMuX3VwZGF0ZU9uPXQudXBkYXRlT24pfV9wYXJlbnRNYXJrZWREaXJ0eSh0KXtyZXR1cm4hdCYmISEodGhpcy5fcGFyZW50JiZ0aGlzLl9wYXJlbnQuZGlydHkpJiYhdGhpcy5fcGFyZW50Ll9hbnlDb250cm9sc0RpcnR5KCl9fWNsYXNzIFdXIGV4dGVuZHMgVVd7Y29uc3RydWN0b3IodD1udWxsLGUsbil7c3VwZXIoRlcoZSksQlcobixlKSksdGhpcy5fb25DaGFuZ2U9W10sdGhpcy5fYXBwbHlGb3JtU3RhdGUodCksdGhpcy5fc2V0VXBkYXRlU3RyYXRlZ3koZSksdGhpcy5faW5pdE9ic2VydmFibGVzKCksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtvbmx5U2VsZjohMCxlbWl0RXZlbnQ6ISF0aGlzLmFzeW5jVmFsaWRhdG9yfSl9c2V0VmFsdWUodCxlPXt9KXt0aGlzLnZhbHVlPXRoaXMuX3BlbmRpbmdWYWx1ZT10LHRoaXMuX29uQ2hhbmdlLmxlbmd0aCYmITEhPT1lLmVtaXRNb2RlbFRvVmlld0NoYW5nZSYmdGhpcy5fb25DaGFuZ2UuZm9yRWFjaCgodD0+dCh0aGlzLnZhbHVlLCExIT09ZS5lbWl0Vmlld1RvTW9kZWxDaGFuZ2UpKSksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KGUpfXBhdGNoVmFsdWUodCxlPXt9KXt0aGlzLnNldFZhbHVlKHQsZSl9cmVzZXQodD1udWxsLGU9e30pe3RoaXMuX2FwcGx5Rm9ybVN0YXRlKHQpLHRoaXMubWFya0FzUHJpc3RpbmUoZSksdGhpcy5tYXJrQXNVbnRvdWNoZWQoZSksdGhpcy5zZXRWYWx1ZSh0aGlzLnZhbHVlLGUpLHRoaXMuX3BlbmRpbmdDaGFuZ2U9ITF9X3VwZGF0ZVZhbHVlKCl7fV9hbnlDb250cm9scyh0KXtyZXR1cm4hMX1fYWxsQ29udHJvbHNEaXNhYmxlZCgpe3JldHVybiB0aGlzLmRpc2FibGVkfXJlZ2lzdGVyT25DaGFuZ2UodCl7dGhpcy5fb25DaGFuZ2UucHVzaCh0KX1fdW5yZWdpc3Rlck9uQ2hhbmdlKHQpe0FXKHRoaXMuX29uQ2hhbmdlLHQpfXJlZ2lzdGVyT25EaXNhYmxlZENoYW5nZSh0KXt0aGlzLl9vbkRpc2FibGVkQ2hhbmdlLnB1c2godCl9X3VucmVnaXN0ZXJPbkRpc2FibGVkQ2hhbmdlKHQpe0FXKHRoaXMuX29uRGlzYWJsZWRDaGFuZ2UsdCl9X2ZvckVhY2hDaGlsZCh0KXt9X3N5bmNQZW5kaW5nQ29udHJvbHMoKXtyZXR1cm4hKCJzdWJtaXQiIT09dGhpcy51cGRhdGVPbnx8KHRoaXMuX3BlbmRpbmdEaXJ0eSYmdGhpcy5tYXJrQXNEaXJ0eSgpLHRoaXMuX3BlbmRpbmdUb3VjaGVkJiZ0aGlzLm1hcmtBc1RvdWNoZWQoKSwhdGhpcy5fcGVuZGluZ0NoYW5nZSkpJiYodGhpcy5zZXRWYWx1ZSh0aGlzLl9wZW5kaW5nVmFsdWUse29ubHlTZWxmOiEwLGVtaXRNb2RlbFRvVmlld0NoYW5nZTohMX0pLCEwKX1fYXBwbHlGb3JtU3RhdGUodCl7dGhpcy5faXNCb3hlZFZhbHVlKHQpPyh0aGlzLnZhbHVlPXRoaXMuX3BlbmRpbmdWYWx1ZT10LnZhbHVlLHQuZGlzYWJsZWQ/dGhpcy5kaXNhYmxlKHtvbmx5U2VsZjohMCxlbWl0RXZlbnQ6ITF9KTp0aGlzLmVuYWJsZSh7b25seVNlbGY6ITAsZW1pdEV2ZW50OiExfSkpOnRoaXMudmFsdWU9dGhpcy5fcGVuZGluZ1ZhbHVlPXR9fWNsYXNzIEdXIGV4dGVuZHMgVVd7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKEZXKGUpLEJXKG4sZSkpLHRoaXMuY29udHJvbHM9dCx0aGlzLl9pbml0T2JzZXJ2YWJsZXMoKSx0aGlzLl9zZXRVcGRhdGVTdHJhdGVneShlKSx0aGlzLl9zZXRVcENvbnRyb2xzKCksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtvbmx5U2VsZjohMCxlbWl0RXZlbnQ6ISF0aGlzLmFzeW5jVmFsaWRhdG9yfSl9cmVnaXN0ZXJDb250cm9sKHQsZSl7cmV0dXJuIHRoaXMuY29udHJvbHNbdF0/dGhpcy5jb250cm9sc1t0XToodGhpcy5jb250cm9sc1t0XT1lLGUuc2V0UGFyZW50KHRoaXMpLGUuX3JlZ2lzdGVyT25Db2xsZWN0aW9uQ2hhbmdlKHRoaXMuX29uQ29sbGVjdGlvbkNoYW5nZSksZSl9YWRkQ29udHJvbCh0LGUsbj17fSl7dGhpcy5yZWdpc3RlckNvbnRyb2wodCxlKSx0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDpuLmVtaXRFdmVudH0pLHRoaXMuX29uQ29sbGVjdGlvbkNoYW5nZSgpfXJlbW92ZUNvbnRyb2wodCxlPXt9KXt0aGlzLmNvbnRyb2xzW3RdJiZ0aGlzLmNvbnRyb2xzW3RdLl9yZWdpc3Rlck9uQ29sbGVjdGlvbkNoYW5nZSgoKCk9Pnt9KSksZGVsZXRlIHRoaXMuY29udHJvbHNbdF0sdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6ZS5lbWl0RXZlbnR9KSx0aGlzLl9vbkNvbGxlY3Rpb25DaGFuZ2UoKX1zZXRDb250cm9sKHQsZSxuPXt9KXt0aGlzLmNvbnRyb2xzW3RdJiZ0aGlzLmNvbnRyb2xzW3RdLl9yZWdpc3Rlck9uQ29sbGVjdGlvbkNoYW5nZSgoKCk9Pnt9KSksZGVsZXRlIHRoaXMuY29udHJvbHNbdF0sZSYmdGhpcy5yZWdpc3RlckNvbnRyb2wodCxlKSx0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDpuLmVtaXRFdmVudH0pLHRoaXMuX29uQ29sbGVjdGlvbkNoYW5nZSgpfWNvbnRhaW5zKHQpe3JldHVybiB0aGlzLmNvbnRyb2xzLmhhc093blByb3BlcnR5KHQpJiZ0aGlzLmNvbnRyb2xzW3RdLmVuYWJsZWR9c2V0VmFsdWUodCxlPXt9KXt0aGlzLl9jaGVja0FsbFZhbHVlc1ByZXNlbnQodCksT2JqZWN0LmtleXModCkuZm9yRWFjaCgobj0+e3RoaXMuX3Rocm93SWZDb250cm9sTWlzc2luZyhuKSx0aGlzLmNvbnRyb2xzW25dLnNldFZhbHVlKHRbbl0se29ubHlTZWxmOiEwLGVtaXRFdmVudDplLmVtaXRFdmVudH0pfSkpLHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eShlKX1wYXRjaFZhbHVlKHQsZT17fSl7bnVsbCE9dCYmKE9iamVjdC5rZXlzKHQpLmZvckVhY2goKG49Pnt0aGlzLmNvbnRyb2xzW25dJiZ0aGlzLmNvbnRyb2xzW25dLnBhdGNoVmFsdWUodFtuXSx7b25seVNlbGY6ITAsZW1pdEV2ZW50OmUuZW1pdEV2ZW50fSl9KSksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KGUpKX1yZXNldCh0PXt9LGU9e30pe3RoaXMuX2ZvckVhY2hDaGlsZCgoKG4sbyk9PntuLnJlc2V0KHRbb10se29ubHlTZWxmOiEwLGVtaXRFdmVudDplLmVtaXRFdmVudH0pfSkpLHRoaXMuX3VwZGF0ZVByaXN0aW5lKGUpLHRoaXMuX3VwZGF0ZVRvdWNoZWQoZSksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KGUpfWdldFJhd1ZhbHVlKCl7cmV0dXJuIHRoaXMuX3JlZHVjZUNoaWxkcmVuKHt9LCgodCxlLG4pPT4odFtuXT1lIGluc3RhbmNlb2YgV1c/ZS52YWx1ZTplLmdldFJhd1ZhbHVlKCksdCkpKX1fc3luY1BlbmRpbmdDb250cm9scygpe2xldCB0PXRoaXMuX3JlZHVjZUNoaWxkcmVuKCExLCgodCxlKT0+ISFlLl9zeW5jUGVuZGluZ0NvbnRyb2xzKCl8fHQpKTtyZXR1cm4gdCYmdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtvbmx5U2VsZjohMH0pLHR9X3Rocm93SWZDb250cm9sTWlzc2luZyh0KXtpZighT2JqZWN0LmtleXModGhpcy5jb250cm9scykubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiXG4gICAgICAgIFRoZXJlIGFyZSBubyBmb3JtIGNvbnRyb2xzIHJlZ2lzdGVyZWQgd2l0aCB0aGlzIGdyb3VwIHlldC4gSWYgeW91J3JlIHVzaW5nIG5nTW9kZWwsXG4gICAgICAgIHlvdSBtYXkgd2FudCB0byBjaGVjayBuZXh0IHRpY2sgKGUuZy4gdXNlIHNldFRpbWVvdXQpLlxuICAgICAgIik7aWYoIXRoaXMuY29udHJvbHNbdF0pdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBmb3JtIGNvbnRyb2wgd2l0aCBuYW1lOiAke3R9LmApfV9mb3JFYWNoQ2hpbGQodCl7T2JqZWN0LmtleXModGhpcy5jb250cm9scykuZm9yRWFjaCgoZT0+e2NvbnN0IG49dGhpcy5jb250cm9sc1tlXTtuJiZ0KG4sZSl9KSl9X3NldFVwQ29udHJvbHMoKXt0aGlzLl9mb3JFYWNoQ2hpbGQoKHQ9Pnt0LnNldFBhcmVudCh0aGlzKSx0Ll9yZWdpc3Rlck9uQ29sbGVjdGlvbkNoYW5nZSh0aGlzLl9vbkNvbGxlY3Rpb25DaGFuZ2UpfSkpfV91cGRhdGVWYWx1ZSgpe3RoaXMudmFsdWU9dGhpcy5fcmVkdWNlVmFsdWUoKX1fYW55Q29udHJvbHModCl7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModGhpcy5jb250cm9scykpe2NvbnN0IG49dGhpcy5jb250cm9sc1tlXTtpZih0aGlzLmNvbnRhaW5zKGUpJiZ0KG4pKXJldHVybiEwfXJldHVybiExfV9yZWR1Y2VWYWx1ZSgpe3JldHVybiB0aGlzLl9yZWR1Y2VDaGlsZHJlbih7fSwoKHQsZSxuKT0+KChlLmVuYWJsZWR8fHRoaXMuZGlzYWJsZWQpJiYodFtuXT1lLnZhbHVlKSx0KSkpfV9yZWR1Y2VDaGlsZHJlbih0LGUpe2xldCBuPXQ7cmV0dXJuIHRoaXMuX2ZvckVhY2hDaGlsZCgoKHQsbyk9PntuPWUobix0LG8pfSkpLG59X2FsbENvbnRyb2xzRGlzYWJsZWQoKXtmb3IoY29uc3QgdCBvZiBPYmplY3Qua2V5cyh0aGlzLmNvbnRyb2xzKSlpZih0aGlzLmNvbnRyb2xzW3RdLmVuYWJsZWQpcmV0dXJuITE7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuY29udHJvbHMpLmxlbmd0aD4wfHx0aGlzLmRpc2FibGVkfV9jaGVja0FsbFZhbHVlc1ByZXNlbnQodCl7dGhpcy5fZm9yRWFjaENoaWxkKCgoZSxuKT0+e2lmKHZvaWQgMD09PXRbbl0pdGhyb3cgbmV3IEVycm9yKGBNdXN0IHN1cHBseSBhIHZhbHVlIGZvciBmb3JtIGNvbnRyb2wgd2l0aCBuYW1lOiAnJHtufScuYCl9KSl9fWNsYXNzIFlXIGV4dGVuZHMgVVd7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKEZXKGUpLEJXKG4sZSkpLHRoaXMuY29udHJvbHM9dCx0aGlzLl9pbml0T2JzZXJ2YWJsZXMoKSx0aGlzLl9zZXRVcGRhdGVTdHJhdGVneShlKSx0aGlzLl9zZXRVcENvbnRyb2xzKCksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtvbmx5U2VsZjohMCxlbWl0RXZlbnQ6ISF0aGlzLmFzeW5jVmFsaWRhdG9yfSl9YXQodCl7cmV0dXJuIHRoaXMuY29udHJvbHNbdF19cHVzaCh0LGU9e30pe3RoaXMuY29udHJvbHMucHVzaCh0KSx0aGlzLl9yZWdpc3RlckNvbnRyb2wodCksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6ZS5lbWl0RXZlbnR9KSx0aGlzLl9vbkNvbGxlY3Rpb25DaGFuZ2UoKX1pbnNlcnQodCxlLG49e30pe3RoaXMuY29udHJvbHMuc3BsaWNlKHQsMCxlKSx0aGlzLl9yZWdpc3RlckNvbnRyb2woZSksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6bi5lbWl0RXZlbnR9KX1yZW1vdmVBdCh0LGU9e30pe3RoaXMuY29udHJvbHNbdF0mJnRoaXMuY29udHJvbHNbdF0uX3JlZ2lzdGVyT25Db2xsZWN0aW9uQ2hhbmdlKCgoKT0+e30pKSx0aGlzLmNvbnRyb2xzLnNwbGljZSh0LDEpLHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OmUuZW1pdEV2ZW50fSl9c2V0Q29udHJvbCh0LGUsbj17fSl7dGhpcy5jb250cm9sc1t0XSYmdGhpcy5jb250cm9sc1t0XS5fcmVnaXN0ZXJPbkNvbGxlY3Rpb25DaGFuZ2UoKCgpPT57fSkpLHRoaXMuY29udHJvbHMuc3BsaWNlKHQsMSksZSYmKHRoaXMuY29udHJvbHMuc3BsaWNlKHQsMCxlKSx0aGlzLl9yZWdpc3RlckNvbnRyb2woZSkpLHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50Om4uZW1pdEV2ZW50fSksdGhpcy5fb25Db2xsZWN0aW9uQ2hhbmdlKCl9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmNvbnRyb2xzLmxlbmd0aH1zZXRWYWx1ZSh0LGU9e30pe3RoaXMuX2NoZWNrQWxsVmFsdWVzUHJlc2VudCh0KSx0LmZvckVhY2goKCh0LG4pPT57dGhpcy5fdGhyb3dJZkNvbnRyb2xNaXNzaW5nKG4pLHRoaXMuYXQobikuc2V0VmFsdWUodCx7b25seVNlbGY6ITAsZW1pdEV2ZW50OmUuZW1pdEV2ZW50fSl9KSksdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KGUpfXBhdGNoVmFsdWUodCxlPXt9KXtudWxsIT10JiYodC5mb3JFYWNoKCgodCxuKT0+e3RoaXMuYXQobikmJnRoaXMuYXQobikucGF0Y2hWYWx1ZSh0LHtvbmx5U2VsZjohMCxlbWl0RXZlbnQ6ZS5lbWl0RXZlbnR9KX0pKSx0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoZSkpfXJlc2V0KHQ9W10sZT17fSl7dGhpcy5fZm9yRWFjaENoaWxkKCgobixvKT0+e24ucmVzZXQodFtvXSx7b25seVNlbGY6ITAsZW1pdEV2ZW50OmUuZW1pdEV2ZW50fSl9KSksdGhpcy5fdXBkYXRlUHJpc3RpbmUoZSksdGhpcy5fdXBkYXRlVG91Y2hlZChlKSx0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoZSl9Z2V0UmF3VmFsdWUoKXtyZXR1cm4gdGhpcy5jb250cm9scy5tYXAoKHQ9PnQgaW5zdGFuY2VvZiBXVz90LnZhbHVlOnQuZ2V0UmF3VmFsdWUoKSkpfWNsZWFyKHQ9e30pe3RoaXMuY29udHJvbHMubGVuZ3RoPDF8fCh0aGlzLl9mb3JFYWNoQ2hpbGQoKHQ9PnQuX3JlZ2lzdGVyT25Db2xsZWN0aW9uQ2hhbmdlKCgoKT0+e30pKSkpLHRoaXMuY29udHJvbHMuc3BsaWNlKDApLHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OnQuZW1pdEV2ZW50fSkpfV9zeW5jUGVuZGluZ0NvbnRyb2xzKCl7bGV0IHQ9dGhpcy5jb250cm9scy5yZWR1Y2UoKCh0LGUpPT4hIWUuX3N5bmNQZW5kaW5nQ29udHJvbHMoKXx8dCksITEpO3JldHVybiB0JiZ0aGlzLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe29ubHlTZWxmOiEwfSksdH1fdGhyb3dJZkNvbnRyb2xNaXNzaW5nKHQpe2lmKCF0aGlzLmNvbnRyb2xzLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlxuICAgICAgICBUaGVyZSBhcmUgbm8gZm9ybSBjb250cm9scyByZWdpc3RlcmVkIHdpdGggdGhpcyBhcnJheSB5ZXQuIElmIHlvdSdyZSB1c2luZyBuZ01vZGVsLFxuICAgICAgICB5b3UgbWF5IHdhbnQgdG8gY2hlY2sgbmV4dCB0aWNrIChlLmcuIHVzZSBzZXRUaW1lb3V0KS5cbiAgICAgICIpO2lmKCF0aGlzLmF0KHQpKXRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgZm9ybSBjb250cm9sIGF0IGluZGV4ICR7dH1gKX1fZm9yRWFjaENoaWxkKHQpe3RoaXMuY29udHJvbHMuZm9yRWFjaCgoKGUsbik9Pnt0KGUsbil9KSl9X3VwZGF0ZVZhbHVlKCl7dGhpcy52YWx1ZT10aGlzLmNvbnRyb2xzLmZpbHRlcigodD0+dC5lbmFibGVkfHx0aGlzLmRpc2FibGVkKSkubWFwKCh0PT50LnZhbHVlKSl9X2FueUNvbnRyb2xzKHQpe3JldHVybiB0aGlzLmNvbnRyb2xzLnNvbWUoKGU9PmUuZW5hYmxlZCYmdChlKSkpfV9zZXRVcENvbnRyb2xzKCl7dGhpcy5fZm9yRWFjaENoaWxkKCh0PT50aGlzLl9yZWdpc3RlckNvbnRyb2wodCkpKX1fY2hlY2tBbGxWYWx1ZXNQcmVzZW50KHQpe3RoaXMuX2ZvckVhY2hDaGlsZCgoKGUsbik9PntpZih2b2lkIDA9PT10W25dKXRocm93IG5ldyBFcnJvcihgTXVzdCBzdXBwbHkgYSB2YWx1ZSBmb3IgZm9ybSBjb250cm9sIGF0IGluZGV4OiAke259LmApfSkpfV9hbGxDb250cm9sc0Rpc2FibGVkKCl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5jb250cm9scylpZih0LmVuYWJsZWQpcmV0dXJuITE7cmV0dXJuIHRoaXMuY29udHJvbHMubGVuZ3RoPjB8fHRoaXMuZGlzYWJsZWR9X3JlZ2lzdGVyQ29udHJvbCh0KXt0LnNldFBhcmVudCh0aGlzKSx0Ll9yZWdpc3Rlck9uQ29sbGVjdGlvbkNoYW5nZSh0aGlzLl9vbkNvbGxlY3Rpb25DaGFuZ2UpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgcVc9e3Byb3ZpZGU6c1csdXNlRXhpc3Rpbmc6JGUoKCgpPT5YVykpfSxaVz1Qcm9taXNlLnJlc29sdmUobnVsbCk7Y2xhc3MgWFcgZXh0ZW5kcyBzV3tjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKCksdGhpcy5zdWJtaXR0ZWQ9ITEsdGhpcy5fZGlyZWN0aXZlcz1bXSx0aGlzLm5nU3VibWl0PW5ldyBTeSx0aGlzLmZvcm09bmV3IEdXKHt9LEtVKHQpLFFVKGUpKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLl9zZXRVcGRhdGVTdHJhdGVneSgpfWdldCBmb3JtRGlyZWN0aXZlKCl7cmV0dXJuIHRoaXN9Z2V0IGNvbnRyb2woKXtyZXR1cm4gdGhpcy5mb3JtfWdldCBwYXRoKCl7cmV0dXJuW119Z2V0IGNvbnRyb2xzKCl7cmV0dXJuIHRoaXMuZm9ybS5jb250cm9sc31hZGRDb250cm9sKHQpe1pXLnRoZW4oKCgpPT57Y29uc3QgZT10aGlzLl9maW5kQ29udGFpbmVyKHQucGF0aCk7dC5jb250cm9sPWUucmVnaXN0ZXJDb250cm9sKHQubmFtZSx0LmNvbnRyb2wpLE1XKHQuY29udHJvbCx0KSx0LmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSksdGhpcy5fZGlyZWN0aXZlcy5wdXNoKHQpfSkpfWdldENvbnRyb2wodCl7cmV0dXJuIHRoaXMuZm9ybS5nZXQodC5wYXRoKX1yZW1vdmVDb250cm9sKHQpe1pXLnRoZW4oKCgpPT57Y29uc3QgZT10aGlzLl9maW5kQ29udGFpbmVyKHQucGF0aCk7ZSYmZS5yZW1vdmVDb250cm9sKHQubmFtZSksQVcodGhpcy5fZGlyZWN0aXZlcyx0KX0pKX1hZGRGb3JtR3JvdXAodCl7WlcudGhlbigoKCk9Pntjb25zdCBlPXRoaXMuX2ZpbmRDb250YWluZXIodC5wYXRoKSxuPW5ldyBHVyh7fSk7a1cobix0KSxlLnJlZ2lzdGVyQ29udHJvbCh0Lm5hbWUsbiksbi51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6ITF9KX0pKX1yZW1vdmVGb3JtR3JvdXAodCl7WlcudGhlbigoKCk9Pntjb25zdCBlPXRoaXMuX2ZpbmRDb250YWluZXIodC5wYXRoKTtlJiZlLnJlbW92ZUNvbnRyb2wodC5uYW1lKX0pKX1nZXRGb3JtR3JvdXAodCl7cmV0dXJuIHRoaXMuZm9ybS5nZXQodC5wYXRoKX11cGRhdGVNb2RlbCh0LGUpe1pXLnRoZW4oKCgpPT57dGhpcy5mb3JtLmdldCh0LnBhdGgpLnNldFZhbHVlKGUpfSkpfXNldFZhbHVlKHQpe3RoaXMuY29udHJvbC5zZXRWYWx1ZSh0KX1vblN1Ym1pdCh0KXtyZXR1cm4gdGhpcy5zdWJtaXR0ZWQ9ITAsUlcodGhpcy5mb3JtLHRoaXMuX2RpcmVjdGl2ZXMpLHRoaXMubmdTdWJtaXQuZW1pdCh0KSwhMX1vblJlc2V0KCl7dGhpcy5yZXNldEZvcm0oKX1yZXNldEZvcm0odCl7dGhpcy5mb3JtLnJlc2V0KHQpLHRoaXMuc3VibWl0dGVkPSExfV9zZXRVcGRhdGVTdHJhdGVneSgpe3RoaXMub3B0aW9ucyYmbnVsbCE9dGhpcy5vcHRpb25zLnVwZGF0ZU9uJiYodGhpcy5mb3JtLl91cGRhdGVPbj10aGlzLm9wdGlvbnMudXBkYXRlT24pfV9maW5kQ29udGFpbmVyKHQpe3JldHVybiB0LnBvcCgpLHQubGVuZ3RoP3RoaXMuZm9ybS5nZXQodCk6dGhpcy5mb3JtfX1YVy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WFcpKGdmKEVVLDEwKSxnZihBVSwxMCkpfSxYVy7JtWRpcj1obyh7dHlwZTpYVyxzZWxlY3RvcnM6W1siZm9ybSIsMywibmdOb0Zvcm0iLCIiLDMsImZvcm1Hcm91cCIsIiJdLFsibmctZm9ybSJdLFsiIiwibmdGb3JtIiwiIl1dLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigic3VibWl0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblN1Ym1pdChlKX0pKSgicmVzZXQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25SZXNldCgpfSkpfSxpbnB1dHM6e29wdGlvbnM6WyJuZ0Zvcm1PcHRpb25zIiwib3B0aW9ucyJdfSxvdXRwdXRzOntuZ1N1Ym1pdDoibmdTdWJtaXQifSxleHBvcnRBczpbIm5nRm9ybSJdLGZlYXR1cmVzOltqaChbcVddKSxRcF19KSxYVy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbRVVdfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbQVVdfV19XSxYVy5wcm9wRGVjb3JhdG9ycz17b3B0aW9uczpbe3R5cGU6Ul8sYXJnczpbIm5nRm9ybU9wdGlvbnMiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFhXLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6ImZvcm06bm90KFtuZ05vRm9ybV0pOm5vdChbZm9ybUdyb3VwXSksbmctZm9ybSxbbmdGb3JtXSIscHJvdmlkZXJzOltxV10saG9zdDp7IihzdWJtaXQpIjoib25TdWJtaXQoJGV2ZW50KSIsIihyZXNldCkiOiJvblJlc2V0KCkifSxvdXRwdXRzOlsibmdTdWJtaXQiXSxleHBvcnRBczoibmdGb3JtIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbRVVdfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbQVVdfV19XX0pLHtvcHRpb25zOlt7dHlwZTpSXyxhcmdzOlsibmdGb3JtT3B0aW9ucyJdfV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIEtXIGV4dGVuZHMgc1d7bmdPbkluaXQoKXt0aGlzLl9jaGVja1BhcmVudFR5cGUoKSx0aGlzLmZvcm1EaXJlY3RpdmUuYWRkRm9ybUdyb3VwKHRoaXMpfW5nT25EZXN0cm95KCl7dGhpcy5mb3JtRGlyZWN0aXZlJiZ0aGlzLmZvcm1EaXJlY3RpdmUucmVtb3ZlRm9ybUdyb3VwKHRoaXMpfWdldCBjb250cm9sKCl7cmV0dXJuIHRoaXMuZm9ybURpcmVjdGl2ZS5nZXRGb3JtR3JvdXAodGhpcyl9Z2V0IHBhdGgoKXtyZXR1cm4gQ1cobnVsbD09dGhpcy5uYW1lP3RoaXMubmFtZTp0aGlzLm5hbWUudG9TdHJpbmcoKSx0aGlzLl9wYXJlbnQpfWdldCBmb3JtRGlyZWN0aXZlKCl7cmV0dXJuIHRoaXMuX3BhcmVudD90aGlzLl9wYXJlbnQuZm9ybURpcmVjdGl2ZTpudWxsfV9jaGVja1BhcmVudFR5cGUoKXt9fUtXLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShLVykpKShufHxLVyl9fSkoKSxLVy7JtWRpcj1obyh7dHlwZTpLVyxmZWF0dXJlczpbUXBdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihLVyxbe3R5cGU6a199XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgSld7c3RhdGljIG1vZGVsUGFyZW50RXhjZXB0aW9uKCl7dGhyb3cgbmV3IEVycm9yKGBcbiAgICAgIG5nTW9kZWwgY2Fubm90IGJlIHVzZWQgdG8gcmVnaXN0ZXIgZm9ybSBjb250cm9scyB3aXRoIGEgcGFyZW50IGZvcm1Hcm91cCBkaXJlY3RpdmUuICBUcnkgdXNpbmdcbiAgICAgIGZvcm1Hcm91cCdzIHBhcnRuZXIgZGlyZWN0aXZlICJmb3JtQ29udHJvbE5hbWUiIGluc3RlYWQuICBFeGFtcGxlOlxuXG4gICAgICAke3VXfVxuXG4gICAgICBPciwgaWYgeW91J2QgbGlrZSB0byBhdm9pZCByZWdpc3RlcmluZyB0aGlzIGZvcm0gY29udHJvbCwgaW5kaWNhdGUgdGhhdCBpdCdzIHN0YW5kYWxvbmUgaW4gbmdNb2RlbE9wdGlvbnM6XG5cbiAgICAgIEV4YW1wbGU6XG5cbiAgICAgICR7eVd9YCl9c3RhdGljIGZvcm1Hcm91cE5hbWVFeGNlcHRpb24oKXt0aHJvdyBuZXcgRXJyb3IoYFxuICAgICAgbmdNb2RlbCBjYW5ub3QgYmUgdXNlZCB0byByZWdpc3RlciBmb3JtIGNvbnRyb2xzIHdpdGggYSBwYXJlbnQgZm9ybUdyb3VwTmFtZSBvciBmb3JtQXJyYXlOYW1lIGRpcmVjdGl2ZS5cblxuICAgICAgT3B0aW9uIDE6IFVzZSBmb3JtQ29udHJvbE5hbWUgaW5zdGVhZCBvZiBuZ01vZGVsIChyZWFjdGl2ZSBzdHJhdGVneSk6XG5cbiAgICAgICR7Z1d9XG5cbiAgICAgIE9wdGlvbiAyOiAgVXBkYXRlIG5nTW9kZWwncyBwYXJlbnQgYmUgbmdNb2RlbEdyb3VwICh0ZW1wbGF0ZS1kcml2ZW4gc3RyYXRlZ3kpOlxuXG4gICAgICAke2JXfWApfXN0YXRpYyBtaXNzaW5nTmFtZUV4Y2VwdGlvbigpe3Rocm93IG5ldyBFcnJvcignSWYgbmdNb2RlbCBpcyB1c2VkIHdpdGhpbiBhIGZvcm0gdGFnLCBlaXRoZXIgdGhlIG5hbWUgYXR0cmlidXRlIG11c3QgYmUgc2V0IG9yIHRoZSBmb3JtXG4gICAgICBjb250cm9sIG11c3QgYmUgZGVmaW5lZCBhcyBcJ3N0YW5kYWxvbmVcJyBpbiBuZ01vZGVsT3B0aW9ucy5cblxuICAgICAgRXhhbXBsZSAxOiA8aW5wdXQgWyhuZ01vZGVsKV09InBlcnNvbi5maXJzdE5hbWUiIG5hbWU9ImZpcnN0Ij5cbiAgICAgIEV4YW1wbGUgMjogPGlucHV0IFsobmdNb2RlbCldPSJwZXJzb24uZmlyc3ROYW1lIiBbbmdNb2RlbE9wdGlvbnNdPSJ7c3RhbmRhbG9uZTogdHJ1ZX0iPicpfXN0YXRpYyBtb2RlbEdyb3VwUGFyZW50RXhjZXB0aW9uKCl7dGhyb3cgbmV3IEVycm9yKGBcbiAgICAgIG5nTW9kZWxHcm91cCBjYW5ub3QgYmUgdXNlZCB3aXRoIGEgcGFyZW50IGZvcm1Hcm91cCBkaXJlY3RpdmUuXG5cbiAgICAgIE9wdGlvbiAxOiBVc2UgZm9ybUdyb3VwTmFtZSBpbnN0ZWFkIG9mIG5nTW9kZWxHcm91cCAocmVhY3RpdmUgc3RyYXRlZ3kpOlxuXG4gICAgICAke2dXfVxuXG4gICAgICBPcHRpb24gMjogIFVzZSBhIHJlZ3VsYXIgZm9ybSB0YWcgaW5zdGVhZCBvZiB0aGUgZm9ybUdyb3VwIGRpcmVjdGl2ZSAodGVtcGxhdGUtZHJpdmVuIHN0cmF0ZWd5KTpcblxuICAgICAgJHtiV31gKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFFXPXtwcm92aWRlOnNXLHVzZUV4aXN0aW5nOiRlKCgoKT0+JFcpKX07Y2xhc3MgJFcgZXh0ZW5kcyBLV3tjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIoKSx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9zZXRWYWxpZGF0b3JzKGUpLHRoaXMuX3NldEFzeW5jVmFsaWRhdG9ycyhuKX1fY2hlY2tQYXJlbnRUeXBlKCl7dGhpcy5fcGFyZW50IGluc3RhbmNlb2YgJFd8fHRoaXMuX3BhcmVudCBpbnN0YW5jZW9mIFhXfHwidW5kZWZpbmVkIiE9dHlwZW9mIG5nRGV2TW9kZSYmIW5nRGV2TW9kZXx8SlcubW9kZWxHcm91cFBhcmVudEV4Y2VwdGlvbigpfX0kVy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JFcpKGdmKHNXLDUpLGdmKEVVLDEwKSxnZihBVSwxMCkpfSwkVy7JtWRpcj1obyh7dHlwZTokVyxzZWxlY3RvcnM6W1siIiwibmdNb2RlbEdyb3VwIiwiIl1dLGlucHV0czp7bmFtZTpbIm5nTW9kZWxHcm91cCIsIm5hbWUiXX0sZXhwb3J0QXM6WyJuZ01vZGVsR3JvdXAiXSxmZWF0dXJlczpbamgoW1FXXSksUXBdfSksJFcuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpzVyxkZWNvcmF0b3JzOlt7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dLCRXLnByb3BEZWNvcmF0b3JzPXtuYW1lOlt7dHlwZTpSXyxhcmdzOlsibmdNb2RlbEdyb3VwIl19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYigkVyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbmdNb2RlbEdyb3VwXSIscHJvdmlkZXJzOltRV10sZXhwb3J0QXM6Im5nTW9kZWxHcm91cCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpzVyxkZWNvcmF0b3JzOlt7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dfSkse25hbWU6W3t0eXBlOlJfLGFyZ3M6WyJuZ01vZGVsR3JvdXAiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB0Rz17cHJvdmlkZTpsVyx1c2VFeGlzdGluZzokZSgoKCk9Pm5HKSl9LGVHPVByb21pc2UucmVzb2x2ZShudWxsKTtjbGFzcyBuRyBleHRlbmRzIGxXe2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKCksdGhpcy5jb250cm9sPW5ldyBXVyx0aGlzLl9yZWdpc3RlcmVkPSExLHRoaXMudXBkYXRlPW5ldyBTeSx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9zZXRWYWxpZGF0b3JzKGUpLHRoaXMuX3NldEFzeW5jVmFsaWRhdG9ycyhuKSx0aGlzLnZhbHVlQWNjZXNzb3I9RVcodGhpcyxvKX1uZ09uQ2hhbmdlcyh0KXt0aGlzLl9jaGVja0ZvckVycm9ycygpLHRoaXMuX3JlZ2lzdGVyZWR8fHRoaXMuX3NldFVwQ29udHJvbCgpLCJpc0Rpc2FibGVkImluIHQmJnRoaXMuX3VwZGF0ZURpc2FibGVkKHQpLERXKHQsdGhpcy52aWV3TW9kZWwpJiYodGhpcy5fdXBkYXRlVmFsdWUodGhpcy5tb2RlbCksdGhpcy52aWV3TW9kZWw9dGhpcy5tb2RlbCl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm1EaXJlY3RpdmUmJnRoaXMuZm9ybURpcmVjdGl2ZS5yZW1vdmVDb250cm9sKHRoaXMpfWdldCBwYXRoKCl7cmV0dXJuIHRoaXMuX3BhcmVudD9DVyh0aGlzLm5hbWUsdGhpcy5fcGFyZW50KTpbdGhpcy5uYW1lXX1nZXQgZm9ybURpcmVjdGl2ZSgpe3JldHVybiB0aGlzLl9wYXJlbnQ/dGhpcy5fcGFyZW50LmZvcm1EaXJlY3RpdmU6bnVsbH12aWV3VG9Nb2RlbFVwZGF0ZSh0KXt0aGlzLnZpZXdNb2RlbD10LHRoaXMudXBkYXRlLmVtaXQodCl9X3NldFVwQ29udHJvbCgpe3RoaXMuX3NldFVwZGF0ZVN0cmF0ZWd5KCksdGhpcy5faXNTdGFuZGFsb25lKCk/dGhpcy5fc2V0VXBTdGFuZGFsb25lKCk6dGhpcy5mb3JtRGlyZWN0aXZlLmFkZENvbnRyb2wodGhpcyksdGhpcy5fcmVnaXN0ZXJlZD0hMH1fc2V0VXBkYXRlU3RyYXRlZ3koKXt0aGlzLm9wdGlvbnMmJm51bGwhPXRoaXMub3B0aW9ucy51cGRhdGVPbiYmKHRoaXMuY29udHJvbC5fdXBkYXRlT249dGhpcy5vcHRpb25zLnVwZGF0ZU9uKX1faXNTdGFuZGFsb25lKCl7cmV0dXJuIXRoaXMuX3BhcmVudHx8ISghdGhpcy5vcHRpb25zfHwhdGhpcy5vcHRpb25zLnN0YW5kYWxvbmUpfV9zZXRVcFN0YW5kYWxvbmUoKXtNVyh0aGlzLmNvbnRyb2wsdGhpcyksdGhpcy5jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDohMX0pfV9jaGVja0ZvckVycm9ycygpe3RoaXMuX2lzU3RhbmRhbG9uZSgpfHx0aGlzLl9jaGVja1BhcmVudFR5cGUoKSx0aGlzLl9jaGVja05hbWUoKX1fY2hlY2tQYXJlbnRUeXBlKCl7KCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiYoISh0aGlzLl9wYXJlbnQgaW5zdGFuY2VvZiAkVykmJnRoaXMuX3BhcmVudCBpbnN0YW5jZW9mIEtXP0pXLmZvcm1Hcm91cE5hbWVFeGNlcHRpb24oKTp0aGlzLl9wYXJlbnQgaW5zdGFuY2VvZiAkV3x8dGhpcy5fcGFyZW50IGluc3RhbmNlb2YgWFd8fEpXLm1vZGVsUGFyZW50RXhjZXB0aW9uKCkpfV9jaGVja05hbWUoKXt0aGlzLm9wdGlvbnMmJnRoaXMub3B0aW9ucy5uYW1lJiYodGhpcy5uYW1lPXRoaXMub3B0aW9ucy5uYW1lKSx0aGlzLl9pc1N0YW5kYWxvbmUoKXx8dGhpcy5uYW1lfHwidW5kZWZpbmVkIiE9dHlwZW9mIG5nRGV2TW9kZSYmIW5nRGV2TW9kZXx8SlcubWlzc2luZ05hbWVFeGNlcHRpb24oKX1fdXBkYXRlVmFsdWUodCl7ZUcudGhlbigoKCk9Pnt0aGlzLmNvbnRyb2wuc2V0VmFsdWUodCx7ZW1pdFZpZXdUb01vZGVsQ2hhbmdlOiExfSl9KSl9X3VwZGF0ZURpc2FibGVkKHQpe2NvbnN0IGU9dC5pc0Rpc2FibGVkLmN1cnJlbnRWYWx1ZSxuPSIiPT09ZXx8ZSYmImZhbHNlIiE9PWU7ZUcudGhlbigoKCk9PntuJiYhdGhpcy5jb250cm9sLmRpc2FibGVkP3RoaXMuY29udHJvbC5kaXNhYmxlKCk6IW4mJnRoaXMuY29udHJvbC5kaXNhYmxlZCYmdGhpcy5jb250cm9sLmVuYWJsZSgpfSkpfX1uRy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bkcpKGdmKHNXLDkpLGdmKEVVLDEwKSxnZihBVSwxMCksZ2YoeFUsMTApKX0sbkcuybVkaXI9aG8oe3R5cGU6bkcsc2VsZWN0b3JzOltbIiIsIm5nTW9kZWwiLCIiLDMsImZvcm1Db250cm9sTmFtZSIsIiIsMywiZm9ybUNvbnRyb2wiLCIiXV0saW5wdXRzOntuYW1lOiJuYW1lIixpc0Rpc2FibGVkOlsiZGlzYWJsZWQiLCJpc0Rpc2FibGVkIl0sbW9kZWw6WyJuZ01vZGVsIiwibW9kZWwiXSxvcHRpb25zOlsibmdNb2RlbE9wdGlvbnMiLCJvcHRpb25zIl19LG91dHB1dHM6e3VwZGF0ZToibmdNb2RlbENoYW5nZSJ9LGV4cG9ydEFzOlsibmdNb2RlbCJdLGZlYXR1cmVzOltqaChbdEddKSxRcCxxb119KSxuRy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnNXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn1dfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9LHt0eXBlOkxyLGFyZ3M6W0VVXX1dfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9LHt0eXBlOkxyLGFyZ3M6W0FVXX1dfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9LHt0eXBlOkxyLGFyZ3M6W3hVXX1dfV0sbkcucHJvcERlY29yYXRvcnM9e25hbWU6W3t0eXBlOlJffV0saXNEaXNhYmxlZDpbe3R5cGU6Ul8sYXJnczpbImRpc2FibGVkIl19XSxtb2RlbDpbe3R5cGU6Ul8sYXJnczpbIm5nTW9kZWwiXX1dLG9wdGlvbnM6W3t0eXBlOlJfLGFyZ3M6WyJuZ01vZGVsT3B0aW9ucyJdfV0sdXBkYXRlOlt7dHlwZTpFXyxhcmdzOlsibmdNb2RlbENoYW5nZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobkcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW25nTW9kZWxdOm5vdChbZm9ybUNvbnRyb2xOYW1lXSk6bm90KFtmb3JtQ29udHJvbF0pIixwcm92aWRlcnM6W3RHXSxleHBvcnRBczoibmdNb2RlbCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpzVyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VXJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOlt4VV19XX1dfSkse3VwZGF0ZTpbe3R5cGU6RV8sYXJnczpbIm5nTW9kZWxDaGFuZ2UiXX1dLG5hbWU6W3t0eXBlOlJffV0saXNEaXNhYmxlZDpbe3R5cGU6Ul8sYXJnczpbImRpc2FibGVkIl19XSxtb2RlbDpbe3R5cGU6Ul8sYXJnczpbIm5nTW9kZWwiXX1dLG9wdGlvbnM6W3t0eXBlOlJfLGFyZ3M6WyJuZ01vZGVsT3B0aW9ucyJdfV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIG9He31vRy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8b0cpfSxvRy7JtWRpcj1obyh7dHlwZTpvRyxzZWxlY3RvcnM6W1siZm9ybSIsMywibmdOb0Zvcm0iLCIiLDMsIm5nTmF0aXZlVmFsaWRhdGUiLCIiXV0saG9zdEF0dHJzOlsibm92YWxpZGF0ZSIsIiJdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihvRyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJmb3JtOm5vdChbbmdOb0Zvcm1dKTpub3QoW25nTmF0aXZlVmFsaWRhdGVdKSIsaG9zdDp7bm92YWxpZGF0ZToiIn19XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBpRz17cHJvdmlkZTp4VSx1c2VFeGlzdGluZzokZSgoKCk9PmFHKSksbXVsdGk6ITB9O2NsYXNzIGFHIGV4dGVuZHMgdlV7d3JpdGVWYWx1ZSh0KXt0aGlzLnNldFByb3BlcnR5KCJ2YWx1ZSIsbnVsbD09dD8iIjp0KX1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMub25DaGFuZ2U9ZT0+e3QoIiI9PWU/bnVsbDpwYXJzZUZsb2F0KGUpKX19fWFHLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShhRykpKShufHxhRyl9fSkoKSxhRy7JtWRpcj1obyh7dHlwZTphRyxzZWxlY3RvcnM6W1siaW5wdXQiLCJ0eXBlIiwibnVtYmVyIiwiZm9ybUNvbnRyb2xOYW1lIiwiIl0sWyJpbnB1dCIsInR5cGUiLCJudW1iZXIiLCJmb3JtQ29udHJvbCIsIiJdLFsiaW5wdXQiLCJ0eXBlIiwibnVtYmVyIiwibmdNb2RlbCIsIiJdXSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkNoYW5nZShlLnRhcmdldC52YWx1ZSl9KSkoImJsdXIiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub3VjaGVkKCl9KSl9LGZlYXR1cmVzOltqaChbaUddKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGFHLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6ImlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW25nTW9kZWxdIixob3N0OnsiKGlucHV0KSI6Im9uQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpIiwiKGJsdXIpIjoib25Ub3VjaGVkKCkifSxwcm92aWRlcnM6W2lHXX1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IHJHPXtwcm92aWRlOnhVLHVzZUV4aXN0aW5nOiRlKCgoKT0+Y0cpKSxtdWx0aTohMH07Y2xhc3Mgc0d7fXNHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxzRyl9LHNHLsm1bW9kPWZvKHt0eXBlOnNHfSksc0cuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoc0csW3t0eXBlOkxffV0sbnVsbCxudWxsKTtjbGFzcyBsR3tjb25zdHJ1Y3Rvcigpe3RoaXMuX2FjY2Vzc29ycz1bXX1hZGQodCxlKXt0aGlzLl9hY2Nlc3NvcnMucHVzaChbdCxlXSl9cmVtb3ZlKHQpe2ZvcihsZXQgZT10aGlzLl9hY2Nlc3NvcnMubGVuZ3RoLTE7ZT49MDstLWUpaWYodGhpcy5fYWNjZXNzb3JzW2VdWzFdPT09dClyZXR1cm4gdm9pZCB0aGlzLl9hY2Nlc3NvcnMuc3BsaWNlKGUsMSl9c2VsZWN0KHQpe3RoaXMuX2FjY2Vzc29ycy5mb3JFYWNoKChlPT57dGhpcy5faXNTYW1lR3JvdXAoZSx0KSYmZVsxXSE9PXQmJmVbMV0uZmlyZVVuY2hlY2sodC52YWx1ZSl9KSl9X2lzU2FtZUdyb3VwKHQsZSl7cmV0dXJuISF0WzBdLmNvbnRyb2wmJih0WzBdLl9wYXJlbnQ9PT1lLl9jb250cm9sLl9wYXJlbnQmJnRbMV0ubmFtZT09PWUubmFtZSl9fWxHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxsRyl9LGxHLsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyBsR30sdG9rZW46bEcscHJvdmlkZWRJbjpzR30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobEcsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOnNHfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpO2NsYXNzIGNHIGV4dGVuZHMgdlV7Y29uc3RydWN0b3IodCxlLG4sbyl7c3VwZXIodCxlKSx0aGlzLl9yZWdpc3RyeT1uLHRoaXMuX2luamVjdG9yPW8sdGhpcy5vbkNoYW5nZT0oKT0+e319bmdPbkluaXQoKXt0aGlzLl9jb250cm9sPXRoaXMuX2luamVjdG9yLmdldChsVyksdGhpcy5fY2hlY2tOYW1lKCksdGhpcy5fcmVnaXN0cnkuYWRkKHRoaXMuX2NvbnRyb2wsdGhpcyl9bmdPbkRlc3Ryb3koKXt0aGlzLl9yZWdpc3RyeS5yZW1vdmUodGhpcyl9d3JpdGVWYWx1ZSh0KXt0aGlzLl9zdGF0ZT10PT09dGhpcy52YWx1ZSx0aGlzLnNldFByb3BlcnR5KCJjaGVja2VkIix0aGlzLl9zdGF0ZSl9cmVnaXN0ZXJPbkNoYW5nZSh0KXt0aGlzLl9mbj10LHRoaXMub25DaGFuZ2U9KCk9Pnt0KHRoaXMudmFsdWUpLHRoaXMuX3JlZ2lzdHJ5LnNlbGVjdCh0aGlzKX19ZmlyZVVuY2hlY2sodCl7dGhpcy53cml0ZVZhbHVlKHQpfV9jaGVja05hbWUoKXt0aGlzLm5hbWUmJnRoaXMuZm9ybUNvbnRyb2xOYW1lJiZ0aGlzLm5hbWUhPT10aGlzLmZvcm1Db250cm9sTmFtZSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiYoZnVuY3Rpb24gdCgpe3Rocm93IG5ldyBFcnJvcignXG4gICAgICBJZiB5b3UgZGVmaW5lIGJvdGggYSBuYW1lIGFuZCBhIGZvcm1Db250cm9sTmFtZSBhdHRyaWJ1dGUgb24geW91ciByYWRpbyBidXR0b24sIHRoZWlyIHZhbHVlc1xuICAgICAgbXVzdCBtYXRjaC4gRXg6IDxpbnB1dCB0eXBlPSJyYWRpbyIgZm9ybUNvbnRyb2xOYW1lPSJmb29kIiBuYW1lPSJmb29kIj5cbiAgICAnKX0pKCksIXRoaXMubmFtZSYmdGhpcy5mb3JtQ29udHJvbE5hbWUmJih0aGlzLm5hbWU9dGhpcy5mb3JtQ29udHJvbE5hbWUpfX1jRy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Y0cpKGdmKCRoKSxnZihLaCksZ2YobEcpLGdmKE5wKSl9LGNHLsm1ZGlyPWhvKHt0eXBlOmNHLHNlbGVjdG9yczpbWyJpbnB1dCIsInR5cGUiLCJyYWRpbyIsImZvcm1Db250cm9sTmFtZSIsIiJdLFsiaW5wdXQiLCJ0eXBlIiwicmFkaW8iLCJmb3JtQ29udHJvbCIsIiJdLFsiaW5wdXQiLCJ0eXBlIiwicmFkaW8iLCJuZ01vZGVsIiwiIl1dLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigiY2hhbmdlIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uQ2hhbmdlKCl9KSkoImJsdXIiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub3VjaGVkKCl9KSl9LGlucHV0czp7bmFtZToibmFtZSIsZm9ybUNvbnRyb2xOYW1lOiJmb3JtQ29udHJvbE5hbWUiLHZhbHVlOiJ2YWx1ZSJ9LGZlYXR1cmVzOltqaChbckddKSxRcF19KSxjRy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOiRofSx7dHlwZTpLaH0se3R5cGU6bEd9LHt0eXBlOk5wfV0sY0cucHJvcERlY29yYXRvcnM9e25hbWU6W3t0eXBlOlJffV0sZm9ybUNvbnRyb2xOYW1lOlt7dHlwZTpSX31dLHZhbHVlOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGNHLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6ImlucHV0W3R5cGU9cmFkaW9dW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1yYWRpb11bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9cmFkaW9dW25nTW9kZWxdIixob3N0OnsiKGNoYW5nZSkiOiJvbkNoYW5nZSgpIiwiKGJsdXIpIjoib25Ub3VjaGVkKCkifSxwcm92aWRlcnM6W3JHXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOiRofSx7dHlwZTpLaH0se3R5cGU6bEd9LHt0eXBlOk5wfV19KSx7bmFtZTpbe3R5cGU6Ul99XSxmb3JtQ29udHJvbE5hbWU6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IGRHPXtwcm92aWRlOnhVLHVzZUV4aXN0aW5nOiRlKCgoKT0+cEcpKSxtdWx0aTohMH07Y2xhc3MgcEcgZXh0ZW5kcyB2VXt3cml0ZVZhbHVlKHQpe3RoaXMuc2V0UHJvcGVydHkoInZhbHVlIixwYXJzZUZsb2F0KHQpKX1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMub25DaGFuZ2U9ZT0+e3QoIiI9PWU/bnVsbDpwYXJzZUZsb2F0KGUpKX19fXBHLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShwRykpKShufHxwRyl9fSkoKSxwRy7JtWRpcj1obyh7dHlwZTpwRyxzZWxlY3RvcnM6W1siaW5wdXQiLCJ0eXBlIiwicmFuZ2UiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbImlucHV0IiwidHlwZSIsInJhbmdlIiwiZm9ybUNvbnRyb2wiLCIiXSxbImlucHV0IiwidHlwZSIsInJhbmdlIiwibmdNb2RlbCIsIiJdXSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25DaGFuZ2UoZS50YXJnZXQudmFsdWUpfSkpKCJpbnB1dCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25DaGFuZ2UoZS50YXJnZXQudmFsdWUpfSkpKCJibHVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uVG91Y2hlZCgpfSkpfSxmZWF0dXJlczpbamgoW2RHXSksUXBdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihwRyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJpbnB1dFt0eXBlPXJhbmdlXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9cmFuZ2VdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPXJhbmdlXVtuZ01vZGVsXSIsaG9zdDp7IihjaGFuZ2UpIjoib25DaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSkiLCIoaW5wdXQpIjoib25DaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSkiLCIoYmx1cikiOiJvblRvdWNoZWQoKSJ9LHByb3ZpZGVyczpbZEddfV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgbUc9bmV3IGVyKCJOZ01vZGVsV2l0aEZvcm1Db250cm9sV2FybmluZyIpLGZHPXtwcm92aWRlOmxXLHVzZUV4aXN0aW5nOiRlKCgoKT0+dUcpKX07Y2xhc3MgdUcgZXh0ZW5kcyBsV3tjb25zdHJ1Y3Rvcih0LGUsbixvKXtzdXBlcigpLHRoaXMuX25nTW9kZWxXYXJuaW5nQ29uZmlnPW8sdGhpcy51cGRhdGU9bmV3IFN5LHRoaXMuX25nTW9kZWxXYXJuaW5nU2VudD0hMSx0aGlzLl9zZXRWYWxpZGF0b3JzKHQpLHRoaXMuX3NldEFzeW5jVmFsaWRhdG9ycyhlKSx0aGlzLnZhbHVlQWNjZXNzb3I9RVcodGhpcyxuKX1zZXQgaXNEaXNhYmxlZCh0KXsoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJl9XLmRpc2FibGVkQXR0cldhcm5pbmcoKX1uZ09uQ2hhbmdlcyh0KXtpZih0aGlzLl9pc0NvbnRyb2xDaGFuZ2VkKHQpKXtjb25zdCBlPXQuZm9ybS5wcmV2aW91c1ZhbHVlO2UmJnZXKGUsdGhpcywhMSksTVcodGhpcy5mb3JtLHRoaXMpLHRoaXMuY29udHJvbC5kaXNhYmxlZCYmdGhpcy52YWx1ZUFjY2Vzc29yLnNldERpc2FibGVkU3RhdGUmJnRoaXMudmFsdWVBY2Nlc3Nvci5zZXREaXNhYmxlZFN0YXRlKCEwKSx0aGlzLmZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9RFcodCx0aGlzLnZpZXdNb2RlbCkmJigoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlRXKCJmb3JtQ29udHJvbCIsdUcsdGhpcyx0aGlzLl9uZ01vZGVsV2FybmluZ0NvbmZpZyksdGhpcy5mb3JtLnNldFZhbHVlKHRoaXMubW9kZWwpLHRoaXMudmlld01vZGVsPXRoaXMubW9kZWwpfW5nT25EZXN0cm95KCl7dGhpcy5mb3JtJiZ2Vyh0aGlzLmZvcm0sdGhpcywhMSl9Z2V0IHBhdGgoKXtyZXR1cm5bXX1nZXQgY29udHJvbCgpe3JldHVybiB0aGlzLmZvcm19dmlld1RvTW9kZWxVcGRhdGUodCl7dGhpcy52aWV3TW9kZWw9dCx0aGlzLnVwZGF0ZS5lbWl0KHQpfV9pc0NvbnRyb2xDaGFuZ2VkKHQpe3JldHVybiB0Lmhhc093blByb3BlcnR5KCJmb3JtIil9fXVHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx1RykoZ2YoRVUsMTApLGdmKEFVLDEwKSxnZih4VSwxMCksZ2YobUcsOCkpfSx1Ry7JtWRpcj1obyh7dHlwZTp1RyxzZWxlY3RvcnM6W1siIiwiZm9ybUNvbnRyb2wiLCIiXV0saW5wdXRzOntpc0Rpc2FibGVkOlsiZGlzYWJsZWQiLCJpc0Rpc2FibGVkIl0sZm9ybTpbImZvcm1Db250cm9sIiwiZm9ybSJdLG1vZGVsOlsibmdNb2RlbCIsIm1vZGVsIl19LG91dHB1dHM6e3VwZGF0ZToibmdNb2RlbENoYW5nZSJ9LGV4cG9ydEFzOlsibmdGb3JtIl0sZmVhdHVyZXM6W2poKFtmR10pLFFwLHFvXX0pLHVHLl9uZ01vZGVsV2FybmluZ1NlbnRPbmNlPSExLHVHLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOlt4VV19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOlttR119XX1dLHVHLnByb3BEZWNvcmF0b3JzPXtmb3JtOlt7dHlwZTpSXyxhcmdzOlsiZm9ybUNvbnRyb2wiXX1dLGlzRGlzYWJsZWQ6W3t0eXBlOlJfLGFyZ3M6WyJkaXNhYmxlZCJdfV0sbW9kZWw6W3t0eXBlOlJfLGFyZ3M6WyJuZ01vZGVsIl19XSx1cGRhdGU6W3t0eXBlOkVfLGFyZ3M6WyJuZ01vZGVsQ2hhbmdlIl19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih1Ryxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbZm9ybUNvbnRyb2xdIixwcm92aWRlcnM6W2ZHXSxleHBvcnRBczoibmdGb3JtIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbRVVdfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbQVVdfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbeFVdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbbUddfV19XX0pLHt1cGRhdGU6W3t0eXBlOkVfLGFyZ3M6WyJuZ01vZGVsQ2hhbmdlIl19XSxpc0Rpc2FibGVkOlt7dHlwZTpSXyxhcmdzOlsiZGlzYWJsZWQiXX1dLGZvcm06W3t0eXBlOlJfLGFyZ3M6WyJmb3JtQ29udHJvbCJdfV0sbW9kZWw6W3t0eXBlOlJfLGFyZ3M6WyJuZ01vZGVsIl19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgZ0c9e3Byb3ZpZGU6c1csdXNlRXhpc3Rpbmc6JGUoKCgpPT5oRykpfTtjbGFzcyBoRyBleHRlbmRzIHNXe2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKSx0aGlzLnZhbGlkYXRvcnM9dCx0aGlzLmFzeW5jVmFsaWRhdG9ycz1lLHRoaXMuc3VibWl0dGVkPSExLHRoaXMuX29uQ29sbGVjdGlvbkNoYW5nZT0oKT0+dGhpcy5fdXBkYXRlRG9tVmFsdWUoKSx0aGlzLmRpcmVjdGl2ZXM9W10sdGhpcy5mb3JtPW51bGwsdGhpcy5uZ1N1Ym1pdD1uZXcgU3ksdGhpcy5fc2V0VmFsaWRhdG9ycyh0KSx0aGlzLl9zZXRBc3luY1ZhbGlkYXRvcnMoZSl9bmdPbkNoYW5nZXModCl7dGhpcy5fY2hlY2tGb3JtUHJlc2VudCgpLHQuaGFzT3duUHJvcGVydHkoImZvcm0iKSYmKHRoaXMuX3VwZGF0ZVZhbGlkYXRvcnMoKSx0aGlzLl91cGRhdGVEb21WYWx1ZSgpLHRoaXMuX3VwZGF0ZVJlZ2lzdHJhdGlvbnMoKSx0aGlzLl9vbGRGb3JtPXRoaXMuZm9ybSl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm0mJihQVyh0aGlzLmZvcm0sdGhpcyksdGhpcy5mb3JtLl9vbkNvbGxlY3Rpb25DaGFuZ2U9PT10aGlzLl9vbkNvbGxlY3Rpb25DaGFuZ2UmJnRoaXMuZm9ybS5fcmVnaXN0ZXJPbkNvbGxlY3Rpb25DaGFuZ2UoKCgpPT57fSkpKX1nZXQgZm9ybURpcmVjdGl2ZSgpe3JldHVybiB0aGlzfWdldCBjb250cm9sKCl7cmV0dXJuIHRoaXMuZm9ybX1nZXQgcGF0aCgpe3JldHVybltdfWFkZENvbnRyb2wodCl7Y29uc3QgZT10aGlzLmZvcm0uZ2V0KHQucGF0aCk7cmV0dXJuIE1XKGUsdCksZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtlbWl0RXZlbnQ6ITF9KSx0aGlzLmRpcmVjdGl2ZXMucHVzaCh0KSxlfWdldENvbnRyb2wodCl7cmV0dXJuIHRoaXMuZm9ybS5nZXQodC5wYXRoKX1yZW1vdmVDb250cm9sKHQpe3ZXKHQuY29udHJvbHx8bnVsbCx0LCExKSxBVyh0aGlzLmRpcmVjdGl2ZXMsdCl9YWRkRm9ybUdyb3VwKHQpe3RoaXMuX3NldFVwRm9ybUNvbnRhaW5lcih0KX1yZW1vdmVGb3JtR3JvdXAodCl7dGhpcy5fY2xlYW5VcEZvcm1Db250YWluZXIodCl9Z2V0Rm9ybUdyb3VwKHQpe3JldHVybiB0aGlzLmZvcm0uZ2V0KHQucGF0aCl9YWRkRm9ybUFycmF5KHQpe3RoaXMuX3NldFVwRm9ybUNvbnRhaW5lcih0KX1yZW1vdmVGb3JtQXJyYXkodCl7dGhpcy5fY2xlYW5VcEZvcm1Db250YWluZXIodCl9Z2V0Rm9ybUFycmF5KHQpe3JldHVybiB0aGlzLmZvcm0uZ2V0KHQucGF0aCl9dXBkYXRlTW9kZWwodCxlKXt0aGlzLmZvcm0uZ2V0KHQucGF0aCkuc2V0VmFsdWUoZSl9b25TdWJtaXQodCl7cmV0dXJuIHRoaXMuc3VibWl0dGVkPSEwLFJXKHRoaXMuZm9ybSx0aGlzLmRpcmVjdGl2ZXMpLHRoaXMubmdTdWJtaXQuZW1pdCh0KSwhMX1vblJlc2V0KCl7dGhpcy5yZXNldEZvcm0oKX1yZXNldEZvcm0odCl7dGhpcy5mb3JtLnJlc2V0KHQpLHRoaXMuc3VibWl0dGVkPSExfV91cGRhdGVEb21WYWx1ZSgpe3RoaXMuZGlyZWN0aXZlcy5mb3JFYWNoKCh0PT57Y29uc3QgZT10LmNvbnRyb2wsbj10aGlzLmZvcm0uZ2V0KHQucGF0aCk7ZSE9PW4mJih2VyhlfHxudWxsLHQpLG4gaW5zdGFuY2VvZiBXVyYmKE1XKG4sdCksdC5jb250cm9sPW4pKX0pKSx0aGlzLmZvcm0uX3VwZGF0ZVRyZWVWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9X3NldFVwRm9ybUNvbnRhaW5lcih0KXtjb25zdCBlPXRoaXMuZm9ybS5nZXQodC5wYXRoKTtrVyhlLHQpLGUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9X2NsZWFuVXBGb3JtQ29udGFpbmVyKHQpe2lmKHRoaXMuZm9ybSl7Y29uc3QgZT10aGlzLmZvcm0uZ2V0KHQucGF0aCk7aWYoZSl7KGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4gUFcodCxlKX0pKGUsdCkmJmUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7ZW1pdEV2ZW50OiExfSl9fX1fdXBkYXRlUmVnaXN0cmF0aW9ucygpe3RoaXMuZm9ybS5fcmVnaXN0ZXJPbkNvbGxlY3Rpb25DaGFuZ2UodGhpcy5fb25Db2xsZWN0aW9uQ2hhbmdlKSx0aGlzLl9vbGRGb3JtJiZ0aGlzLl9vbGRGb3JtLl9yZWdpc3Rlck9uQ29sbGVjdGlvbkNoYW5nZSgoKCk9Pnt9KSl9X3VwZGF0ZVZhbGlkYXRvcnMoKXtPVyh0aGlzLmZvcm0sdGhpcyksdGhpcy5fb2xkRm9ybSYmUFcodGhpcy5fb2xkRm9ybSx0aGlzKX1fY2hlY2tGb3JtUHJlc2VudCgpe3RoaXMuZm9ybXx8InVuZGVmaW5lZCIhPXR5cGVvZiBuZ0Rldk1vZGUmJiFuZ0Rldk1vZGV8fF9XLm1pc3NpbmdGb3JtRXhjZXB0aW9uKCl9fWhHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxoRykoZ2YoRVUsMTApLGdmKEFVLDEwKSl9LGhHLsm1ZGlyPWhvKHt0eXBlOmhHLHNlbGVjdG9yczpbWyIiLCJmb3JtR3JvdXAiLCIiXV0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJzdWJtaXQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uU3VibWl0KGUpfSkpKCJyZXNldCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblJlc2V0KCl9KSl9LGlucHV0czp7Zm9ybTpbImZvcm1Hcm91cCIsImZvcm0iXX0sb3V0cHV0czp7bmdTdWJtaXQ6Im5nU3VibWl0In0sZXhwb3J0QXM6WyJuZ0Zvcm0iXSxmZWF0dXJlczpbamgoW2dHXSksUXAscW9dfSksaEcuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9LHt0eXBlOkxyLGFyZ3M6W0VVXX1dfSx7dHlwZTpBcnJheSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9LHt0eXBlOkxyLGFyZ3M6W0FVXX1dfV0saEcucHJvcERlY29yYXRvcnM9e2Zvcm06W3t0eXBlOlJfLGFyZ3M6WyJmb3JtR3JvdXAiXX1dLG5nU3VibWl0Olt7dHlwZTpFX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGhHLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Iltmb3JtR3JvdXBdIixwcm92aWRlcnM6W2dHXSxob3N0OnsiKHN1Ym1pdCkiOiJvblN1Ym1pdCgkZXZlbnQpIiwiKHJlc2V0KSI6Im9uUmVzZXQoKSJ9LGV4cG9ydEFzOiJuZ0Zvcm0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dfSkse2Zvcm06W3t0eXBlOlJfLGFyZ3M6WyJmb3JtR3JvdXAiXX1dLG5nU3VibWl0Olt7dHlwZTpFX31dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBiRz17cHJvdmlkZTpzVyx1c2VFeGlzdGluZzokZSgoKCk9PnlHKSl9O2NsYXNzIHlHIGV4dGVuZHMgS1d7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKCksdGhpcy5fcGFyZW50PXQsdGhpcy5fc2V0VmFsaWRhdG9ycyhlKSx0aGlzLl9zZXRBc3luY1ZhbGlkYXRvcnMobil9X2NoZWNrUGFyZW50VHlwZSgpe01HKHRoaXMuX3BhcmVudCkmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmX1cuZ3JvdXBQYXJlbnRFeGNlcHRpb24oKX19eUcuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHlHKShnZihzVywxMyksZ2YoRVUsMTApLGdmKEFVLDEwKSl9LHlHLsm1ZGlyPWhvKHt0eXBlOnlHLHNlbGVjdG9yczpbWyIiLCJmb3JtR3JvdXBOYW1lIiwiIl1dLGlucHV0czp7bmFtZTpbImZvcm1Hcm91cE5hbWUiLCJuYW1lIl19LGZlYXR1cmVzOltqaChbYkddKSxRcF19KSx5Ry5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnNXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dLHlHLnByb3BEZWNvcmF0b3JzPXtuYW1lOlt7dHlwZTpSXyxhcmdzOlsiZm9ybUdyb3VwTmFtZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeUcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Zvcm1Hcm91cE5hbWVdIixwcm92aWRlcnM6W2JHXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnNXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dfSkse25hbWU6W3t0eXBlOlJfLGFyZ3M6WyJmb3JtR3JvdXBOYW1lIl19XX0pO2NvbnN0IF9HPXtwcm92aWRlOnNXLHVzZUV4aXN0aW5nOiRlKCgoKT0+Q0cpKX07Y2xhc3MgQ0cgZXh0ZW5kcyBzV3tjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIoKSx0aGlzLl9wYXJlbnQ9dCx0aGlzLl9zZXRWYWxpZGF0b3JzKGUpLHRoaXMuX3NldEFzeW5jVmFsaWRhdG9ycyhuKX1uZ09uSW5pdCgpe3RoaXMuX2NoZWNrUGFyZW50VHlwZSgpLHRoaXMuZm9ybURpcmVjdGl2ZS5hZGRGb3JtQXJyYXkodGhpcyl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm1EaXJlY3RpdmUmJnRoaXMuZm9ybURpcmVjdGl2ZS5yZW1vdmVGb3JtQXJyYXkodGhpcyl9Z2V0IGNvbnRyb2woKXtyZXR1cm4gdGhpcy5mb3JtRGlyZWN0aXZlLmdldEZvcm1BcnJheSh0aGlzKX1nZXQgZm9ybURpcmVjdGl2ZSgpe3JldHVybiB0aGlzLl9wYXJlbnQ/dGhpcy5fcGFyZW50LmZvcm1EaXJlY3RpdmU6bnVsbH1nZXQgcGF0aCgpe3JldHVybiBDVyhudWxsPT10aGlzLm5hbWU/dGhpcy5uYW1lOnRoaXMubmFtZS50b1N0cmluZygpLHRoaXMuX3BhcmVudCl9X2NoZWNrUGFyZW50VHlwZSgpe01HKHRoaXMuX3BhcmVudCkmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmX1cuYXJyYXlQYXJlbnRFeGNlcHRpb24oKX19ZnVuY3Rpb24gTUcodCl7cmV0dXJuISh0IGluc3RhbmNlb2YgeUd8fHQgaW5zdGFuY2VvZiBoR3x8dCBpbnN0YW5jZW9mIENHKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovQ0cuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fENHKShnZihzVywxMyksZ2YoRVUsMTApLGdmKEFVLDEwKSl9LENHLsm1ZGlyPWhvKHt0eXBlOkNHLHNlbGVjdG9yczpbWyIiLCJmb3JtQXJyYXlOYW1lIiwiIl1dLGlucHV0czp7bmFtZTpbImZvcm1BcnJheU5hbWUiLCJuYW1lIl19LGZlYXR1cmVzOltqaChbX0ddKSxRcF19KSxDRy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnNXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dLENHLnByb3BEZWNvcmF0b3JzPXtuYW1lOlt7dHlwZTpSXyxhcmdzOlsiZm9ybUFycmF5TmFtZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ0csW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Zvcm1BcnJheU5hbWVdIixwcm92aWRlcnM6W19HXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnNXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX1dfSkse25hbWU6W3t0eXBlOlJfLGFyZ3M6WyJmb3JtQXJyYXlOYW1lIl19XX0pO2NvbnN0IHZHPXtwcm92aWRlOmxXLHVzZUV4aXN0aW5nOiRlKCgoKT0+eEcpKX07Y2xhc3MgeEcgZXh0ZW5kcyBsV3tjb25zdHJ1Y3Rvcih0LGUsbixvLGkpe3N1cGVyKCksdGhpcy5fbmdNb2RlbFdhcm5pbmdDb25maWc9aSx0aGlzLl9hZGRlZD0hMSx0aGlzLnVwZGF0ZT1uZXcgU3ksdGhpcy5fbmdNb2RlbFdhcm5pbmdTZW50PSExLHRoaXMuX3BhcmVudD10LHRoaXMuX3NldFZhbGlkYXRvcnMoZSksdGhpcy5fc2V0QXN5bmNWYWxpZGF0b3JzKG4pLHRoaXMudmFsdWVBY2Nlc3Nvcj1FVyh0aGlzLG8pfXNldCBpc0Rpc2FibGVkKHQpeygidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmX1cuZGlzYWJsZWRBdHRyV2FybmluZygpfW5nT25DaGFuZ2VzKHQpe3RoaXMuX2FkZGVkfHx0aGlzLl9zZXRVcENvbnRyb2woKSxEVyh0LHRoaXMudmlld01vZGVsKSYmKCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmVFcoImZvcm1Db250cm9sTmFtZSIseEcsdGhpcyx0aGlzLl9uZ01vZGVsV2FybmluZ0NvbmZpZyksdGhpcy52aWV3TW9kZWw9dGhpcy5tb2RlbCx0aGlzLmZvcm1EaXJlY3RpdmUudXBkYXRlTW9kZWwodGhpcyx0aGlzLm1vZGVsKSl9bmdPbkRlc3Ryb3koKXt0aGlzLmZvcm1EaXJlY3RpdmUmJnRoaXMuZm9ybURpcmVjdGl2ZS5yZW1vdmVDb250cm9sKHRoaXMpfXZpZXdUb01vZGVsVXBkYXRlKHQpe3RoaXMudmlld01vZGVsPXQsdGhpcy51cGRhdGUuZW1pdCh0KX1nZXQgcGF0aCgpe3JldHVybiBDVyhudWxsPT10aGlzLm5hbWU/dGhpcy5uYW1lOnRoaXMubmFtZS50b1N0cmluZygpLHRoaXMuX3BhcmVudCl9Z2V0IGZvcm1EaXJlY3RpdmUoKXtyZXR1cm4gdGhpcy5fcGFyZW50P3RoaXMuX3BhcmVudC5mb3JtRGlyZWN0aXZlOm51bGx9X2NoZWNrUGFyZW50VHlwZSgpeygidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmKCEodGhpcy5fcGFyZW50IGluc3RhbmNlb2YgeUcpJiZ0aGlzLl9wYXJlbnQgaW5zdGFuY2VvZiBLVz9fVy5uZ01vZGVsR3JvdXBFeGNlcHRpb24oKTp0aGlzLl9wYXJlbnQgaW5zdGFuY2VvZiB5R3x8dGhpcy5fcGFyZW50IGluc3RhbmNlb2YgaEd8fHRoaXMuX3BhcmVudCBpbnN0YW5jZW9mIENHfHxfVy5jb250cm9sUGFyZW50RXhjZXB0aW9uKCkpfV9zZXRVcENvbnRyb2woKXt0aGlzLl9jaGVja1BhcmVudFR5cGUoKSx0aGlzLmNvbnRyb2w9dGhpcy5mb3JtRGlyZWN0aXZlLmFkZENvbnRyb2wodGhpcyksdGhpcy5jb250cm9sLmRpc2FibGVkJiZ0aGlzLnZhbHVlQWNjZXNzb3Iuc2V0RGlzYWJsZWRTdGF0ZSYmdGhpcy52YWx1ZUFjY2Vzc29yLnNldERpc2FibGVkU3RhdGUoITApLHRoaXMuX2FkZGVkPSEwfX14Ry7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eEcpKGdmKHNXLDEzKSxnZihFVSwxMCksZ2YoQVUsMTApLGdmKHhVLDEwKSxnZihtRyw4KSl9LHhHLsm1ZGlyPWhvKHt0eXBlOnhHLHNlbGVjdG9yczpbWyIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXV0saW5wdXRzOntpc0Rpc2FibGVkOlsiZGlzYWJsZWQiLCJpc0Rpc2FibGVkIl0sbmFtZTpbImZvcm1Db250cm9sTmFtZSIsIm5hbWUiXSxtb2RlbDpbIm5nTW9kZWwiLCJtb2RlbCJdfSxvdXRwdXRzOnt1cGRhdGU6Im5nTW9kZWxDaGFuZ2UifSxmZWF0dXJlczpbamgoW3ZHXSksUXAscW9dfSkseEcuX25nTW9kZWxXYXJuaW5nU2VudE9uY2U9ITEseEcuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpzVyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VXJ9LHt0eXBlOmpyfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbRVVdfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbQVVdfV19LHt0eXBlOkFycmF5LGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn0se3R5cGU6THIsYXJnczpbeFVdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbbUddfV19XSx4Ry5wcm9wRGVjb3JhdG9ycz17bmFtZTpbe3R5cGU6Ul8sYXJnczpbImZvcm1Db250cm9sTmFtZSJdfV0saXNEaXNhYmxlZDpbe3R5cGU6Ul8sYXJnczpbImRpc2FibGVkIl19XSxtb2RlbDpbe3R5cGU6Ul8sYXJnczpbIm5nTW9kZWwiXX1dLHVwZGF0ZTpbe3R5cGU6RV8sYXJnczpbIm5nTW9kZWxDaGFuZ2UiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHhHLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Iltmb3JtQ29udHJvbE5hbWVdIixwcm92aWRlcnM6W3ZHXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnNXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpVcn0se3R5cGU6anJ9XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltFVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltBVV19XX0se3R5cGU6QXJyYXksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOlt4VV19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOlttR119XX1dfSkse3VwZGF0ZTpbe3R5cGU6RV8sYXJnczpbIm5nTW9kZWxDaGFuZ2UiXX1dLGlzRGlzYWJsZWQ6W3t0eXBlOlJfLGFyZ3M6WyJkaXNhYmxlZCJdfV0sbmFtZTpbe3R5cGU6Ul8sYXJnczpbImZvcm1Db250cm9sTmFtZSJdfV0sbW9kZWw6W3t0eXBlOlJfLGFyZ3M6WyJuZ01vZGVsIl19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgT0c9e3Byb3ZpZGU6eFUsdXNlRXhpc3Rpbmc6JGUoKCgpPT53RykpLG11bHRpOiEwfTtmdW5jdGlvbiBQRyh0LGUpe3JldHVybiBudWxsPT10P2Ake2V9YDooZSYmIm9iamVjdCI9PXR5cGVvZiBlJiYoZT0iT2JqZWN0IiksYCR7dH06ICR7ZX1gLnNsaWNlKDAsNTApKX1jbGFzcyB3RyBleHRlbmRzIHZVe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9vcHRpb25NYXA9bmV3IE1hcCx0aGlzLl9pZENvdW50ZXI9MCx0aGlzLl9jb21wYXJlV2l0aD1PYmplY3QuaXN9c2V0IGNvbXBhcmVXaXRoKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0JiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgbmV3IEVycm9yKGBjb21wYXJlV2l0aCBtdXN0IGJlIGEgZnVuY3Rpb24sIGJ1dCByZWNlaXZlZCAke0pTT04uc3RyaW5naWZ5KHQpfWApO3RoaXMuX2NvbXBhcmVXaXRoPXR9d3JpdGVWYWx1ZSh0KXt0aGlzLnZhbHVlPXQ7Y29uc3QgZT10aGlzLl9nZXRPcHRpb25JZCh0KTtudWxsPT1lJiZ0aGlzLnNldFByb3BlcnR5KCJzZWxlY3RlZEluZGV4IiwtMSk7Y29uc3Qgbj1QRyhlLHQpO3RoaXMuc2V0UHJvcGVydHkoInZhbHVlIixuKX1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMub25DaGFuZ2U9ZT0+e3RoaXMudmFsdWU9dGhpcy5fZ2V0T3B0aW9uVmFsdWUoZSksdCh0aGlzLnZhbHVlKX19X3JlZ2lzdGVyT3B0aW9uKCl7cmV0dXJuKHRoaXMuX2lkQ291bnRlcisrKS50b1N0cmluZygpfV9nZXRPcHRpb25JZCh0KXtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHRoaXMuX29wdGlvbk1hcC5rZXlzKCkpKWlmKHRoaXMuX2NvbXBhcmVXaXRoKHRoaXMuX29wdGlvbk1hcC5nZXQoZSksdCkpcmV0dXJuIGU7cmV0dXJuIG51bGx9X2dldE9wdGlvblZhbHVlKHQpe2NvbnN0IGU9KGZ1bmN0aW9uIG4odCl7cmV0dXJuIHQuc3BsaXQoIjoiKVswXX0pKHQpO3JldHVybiB0aGlzLl9vcHRpb25NYXAuaGFzKGUpP3RoaXMuX29wdGlvbk1hcC5nZXQoZSk6dH19d0cuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHdHKSkpKG58fHdHKX19KSgpLHdHLsm1ZGlyPWhvKHt0eXBlOndHLHNlbGVjdG9yczpbWyJzZWxlY3QiLCJmb3JtQ29udHJvbE5hbWUiLCIiLDMsIm11bHRpcGxlIiwiIl0sWyJzZWxlY3QiLCJmb3JtQ29udHJvbCIsIiIsMywibXVsdGlwbGUiLCIiXSxbInNlbGVjdCIsIm5nTW9kZWwiLCIiLDMsIm11bHRpcGxlIiwiIl1dLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigiY2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkNoYW5nZShlLnRhcmdldC52YWx1ZSl9KSkoImJsdXIiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub3VjaGVkKCl9KSl9LGlucHV0czp7Y29tcGFyZVdpdGg6ImNvbXBhcmVXaXRoIn0sZmVhdHVyZXM6W2poKFtPR10pLFFwXX0pLHdHLnByb3BEZWNvcmF0b3JzPXtjb21wYXJlV2l0aDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih3Ryxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJzZWxlY3Q6bm90KFttdWx0aXBsZV0pW2Zvcm1Db250cm9sTmFtZV0sc2VsZWN0Om5vdChbbXVsdGlwbGVdKVtmb3JtQ29udHJvbF0sc2VsZWN0Om5vdChbbXVsdGlwbGVdKVtuZ01vZGVsXSIsaG9zdDp7IihjaGFuZ2UpIjoib25DaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSkiLCIoYmx1cikiOiJvblRvdWNoZWQoKSJ9LHByb3ZpZGVyczpbT0ddfV19XSxudWxsLHtjb21wYXJlV2l0aDpbe3R5cGU6Ul99XX0pO2NsYXNzIGtHe2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLl9lbGVtZW50PXQsdGhpcy5fcmVuZGVyZXI9ZSx0aGlzLl9zZWxlY3Q9bix0aGlzLl9zZWxlY3QmJih0aGlzLmlkPXRoaXMuX3NlbGVjdC5fcmVnaXN0ZXJPcHRpb24oKSl9c2V0IG5nVmFsdWUodCl7bnVsbCE9dGhpcy5fc2VsZWN0JiYodGhpcy5fc2VsZWN0Ll9vcHRpb25NYXAuc2V0KHRoaXMuaWQsdCksdGhpcy5fc2V0RWxlbWVudFZhbHVlKFBHKHRoaXMuaWQsdCkpLHRoaXMuX3NlbGVjdC53cml0ZVZhbHVlKHRoaXMuX3NlbGVjdC52YWx1ZSkpfXNldCB2YWx1ZSh0KXt0aGlzLl9zZXRFbGVtZW50VmFsdWUodCksdGhpcy5fc2VsZWN0JiZ0aGlzLl9zZWxlY3Qud3JpdGVWYWx1ZSh0aGlzLl9zZWxlY3QudmFsdWUpfV9zZXRFbGVtZW50VmFsdWUodCl7dGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCJ2YWx1ZSIsdCl9bmdPbkRlc3Ryb3koKXt0aGlzLl9zZWxlY3QmJih0aGlzLl9zZWxlY3QuX29wdGlvbk1hcC5kZWxldGUodGhpcy5pZCksdGhpcy5fc2VsZWN0LndyaXRlVmFsdWUodGhpcy5fc2VsZWN0LnZhbHVlKSl9fWtHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxrRykoZ2YoS2gpLGdmKCRoKSxnZih3Ryw5KSl9LGtHLsm1ZGlyPWhvKHt0eXBlOmtHLHNlbGVjdG9yczpbWyJvcHRpb24iXV0saW5wdXRzOntuZ1ZhbHVlOiJuZ1ZhbHVlIix2YWx1ZToidmFsdWUifX0pLGtHLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOiRofSx7dHlwZTp3RyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VXJ9XX1dLGtHLnByb3BEZWNvcmF0b3JzPXtuZ1ZhbHVlOlt7dHlwZTpSXyxhcmdzOlsibmdWYWx1ZSJdfV0sdmFsdWU6W3t0eXBlOlJfLGFyZ3M6WyJ2YWx1ZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoa0csW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3Rvcjoib3B0aW9uIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTokaH0se3R5cGU6d0csZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlVyfV19XX0pLHtuZ1ZhbHVlOlt7dHlwZTpSXyxhcmdzOlsibmdWYWx1ZSJdfV0sdmFsdWU6W3t0eXBlOlJfLGFyZ3M6WyJ2YWx1ZSJdfV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFNHPXtwcm92aWRlOnhVLHVzZUV4aXN0aW5nOiRlKCgoKT0+UkcpKSxtdWx0aTohMH07ZnVuY3Rpb24gREcodCxlKXtyZXR1cm4gbnVsbD09dD9gJHtlfWA6KCJzdHJpbmciPT10eXBlb2YgZSYmKGU9YCcke2V9J2ApLGUmJiJvYmplY3QiPT10eXBlb2YgZSYmKGU9Ik9iamVjdCIpLGAke3R9OiAke2V9YC5zbGljZSgwLDUwKSl9Y2xhc3MgUkcgZXh0ZW5kcyB2VXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fb3B0aW9uTWFwPW5ldyBNYXAsdGhpcy5faWRDb3VudGVyPTAsdGhpcy5fY29tcGFyZVdpdGg9T2JqZWN0LmlzfXNldCBjb21wYXJlV2l0aCh0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93IG5ldyBFcnJvcihgY29tcGFyZVdpdGggbXVzdCBiZSBhIGZ1bmN0aW9uLCBidXQgcmVjZWl2ZWQgJHtKU09OLnN0cmluZ2lmeSh0KX1gKTt0aGlzLl9jb21wYXJlV2l0aD10fXdyaXRlVmFsdWUodCl7bGV0IGU7aWYodGhpcy52YWx1ZT10LEFycmF5LmlzQXJyYXkodCkpe2NvbnN0IG49dC5tYXAoKHQ9PnRoaXMuX2dldE9wdGlvbklkKHQpKSk7ZT0odCxlKT0+e3QuX3NldFNlbGVjdGVkKG4uaW5kZXhPZihlLnRvU3RyaW5nKCkpPi0xKX19ZWxzZSBlPSh0LGUpPT57dC5fc2V0U2VsZWN0ZWQoITEpfTt0aGlzLl9vcHRpb25NYXAuZm9yRWFjaChlKX1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMub25DaGFuZ2U9ZT0+e2NvbnN0IG49W107aWYodm9pZCAwIT09ZS5zZWxlY3RlZE9wdGlvbnMpe2NvbnN0IHQ9ZS5zZWxlY3RlZE9wdGlvbnM7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe2NvbnN0IG89dC5pdGVtKGUpLGk9dGhpcy5fZ2V0T3B0aW9uVmFsdWUoby52YWx1ZSk7bi5wdXNoKGkpfX1lbHNle2NvbnN0IHQ9ZS5vcHRpb25zO2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXtjb25zdCBvPXQuaXRlbShlKTtpZihvLnNlbGVjdGVkKXtjb25zdCB0PXRoaXMuX2dldE9wdGlvblZhbHVlKG8udmFsdWUpO24ucHVzaCh0KX19fXRoaXMudmFsdWU9bix0KG4pfX1fcmVnaXN0ZXJPcHRpb24odCl7Y29uc3QgZT0odGhpcy5faWRDb3VudGVyKyspLnRvU3RyaW5nKCk7cmV0dXJuIHRoaXMuX29wdGlvbk1hcC5zZXQoZSx0KSxlfV9nZXRPcHRpb25JZCh0KXtmb3IoY29uc3QgZSBvZiBBcnJheS5mcm9tKHRoaXMuX29wdGlvbk1hcC5rZXlzKCkpKWlmKHRoaXMuX2NvbXBhcmVXaXRoKHRoaXMuX29wdGlvbk1hcC5nZXQoZSkuX3ZhbHVlLHQpKXJldHVybiBlO3JldHVybiBudWxsfV9nZXRPcHRpb25WYWx1ZSh0KXtjb25zdCBlPShmdW5jdGlvbiBuKHQpe3JldHVybiB0LnNwbGl0KCI6IilbMF19KSh0KTtyZXR1cm4gdGhpcy5fb3B0aW9uTWFwLmhhcyhlKT90aGlzLl9vcHRpb25NYXAuZ2V0KGUpLl92YWx1ZTp0fX1SRy7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoUkcpKSkobnx8UkcpfX0pKCksUkcuybVkaXI9aG8oe3R5cGU6Ukcsc2VsZWN0b3JzOltbInNlbGVjdCIsIm11bHRpcGxlIiwiIiwiZm9ybUNvbnRyb2xOYW1lIiwiIl0sWyJzZWxlY3QiLCJtdWx0aXBsZSIsIiIsImZvcm1Db250cm9sIiwiIl0sWyJzZWxlY3QiLCJtdWx0aXBsZSIsIiIsIm5nTW9kZWwiLCIiXV0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJjaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uQ2hhbmdlKGUudGFyZ2V0KX0pKSgiYmx1ciIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblRvdWNoZWQoKX0pKX0saW5wdXRzOntjb21wYXJlV2l0aDoiY29tcGFyZVdpdGgifSxmZWF0dXJlczpbamgoW1NHXSksUXBdfSksUkcucHJvcERlY29yYXRvcnM9e2NvbXBhcmVXaXRoOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFJHLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6InNlbGVjdFttdWx0aXBsZV1bZm9ybUNvbnRyb2xOYW1lXSxzZWxlY3RbbXVsdGlwbGVdW2Zvcm1Db250cm9sXSxzZWxlY3RbbXVsdGlwbGVdW25nTW9kZWxdIixob3N0OnsiKGNoYW5nZSkiOiJvbkNoYW5nZSgkZXZlbnQudGFyZ2V0KSIsIihibHVyKSI6Im9uVG91Y2hlZCgpIn0scHJvdmlkZXJzOltTR119XX1dLG51bGwse2NvbXBhcmVXaXRoOlt7dHlwZTpSX31dfSk7Y2xhc3MgRUd7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuX2VsZW1lbnQ9dCx0aGlzLl9yZW5kZXJlcj1lLHRoaXMuX3NlbGVjdD1uLHRoaXMuX3NlbGVjdCYmKHRoaXMuaWQ9dGhpcy5fc2VsZWN0Ll9yZWdpc3Rlck9wdGlvbih0aGlzKSl9c2V0IG5nVmFsdWUodCl7bnVsbCE9dGhpcy5fc2VsZWN0JiYodGhpcy5fdmFsdWU9dCx0aGlzLl9zZXRFbGVtZW50VmFsdWUoREcodGhpcy5pZCx0KSksdGhpcy5fc2VsZWN0LndyaXRlVmFsdWUodGhpcy5fc2VsZWN0LnZhbHVlKSl9c2V0IHZhbHVlKHQpe3RoaXMuX3NlbGVjdD8odGhpcy5fdmFsdWU9dCx0aGlzLl9zZXRFbGVtZW50VmFsdWUoREcodGhpcy5pZCx0KSksdGhpcy5fc2VsZWN0LndyaXRlVmFsdWUodGhpcy5fc2VsZWN0LnZhbHVlKSk6dGhpcy5fc2V0RWxlbWVudFZhbHVlKHQpfV9zZXRFbGVtZW50VmFsdWUodCl7dGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCJ2YWx1ZSIsdCl9X3NldFNlbGVjdGVkKHQpe3RoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwic2VsZWN0ZWQiLHQpfW5nT25EZXN0cm95KCl7dGhpcy5fc2VsZWN0JiYodGhpcy5fc2VsZWN0Ll9vcHRpb25NYXAuZGVsZXRlKHRoaXMuaWQpLHRoaXMuX3NlbGVjdC53cml0ZVZhbHVlKHRoaXMuX3NlbGVjdC52YWx1ZSkpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIEFHKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdD90OnBhcnNlSW50KHQsMTApfUVHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxFRykoZ2YoS2gpLGdmKCRoKSxnZihSRyw5KSl9LEVHLsm1ZGlyPWhvKHt0eXBlOkVHLHNlbGVjdG9yczpbWyJvcHRpb24iXV0saW5wdXRzOntuZ1ZhbHVlOiJuZ1ZhbHVlIix2YWx1ZToidmFsdWUifX0pLEVHLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOiRofSx7dHlwZTpSRyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VXJ9XX1dLEVHLnByb3BEZWNvcmF0b3JzPXtuZ1ZhbHVlOlt7dHlwZTpSXyxhcmdzOlsibmdWYWx1ZSJdfV0sdmFsdWU6W3t0eXBlOlJfLGFyZ3M6WyJ2YWx1ZSJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRUcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3Rvcjoib3B0aW9uIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTokaH0se3R5cGU6UkcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlVyfV19XX0pLHtuZ1ZhbHVlOlt7dHlwZTpSXyxhcmdzOlsibmdWYWx1ZSJdfV0sdmFsdWU6W3t0eXBlOlJfLGFyZ3M6WyJ2YWx1ZSJdfV19KTtjbGFzcyBUR3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3ZhbGlkYXRvcj1VVX1oYW5kbGVDaGFuZ2VzKHQpe2lmKHRoaXMuaW5wdXROYW1lIGluIHQpe2NvbnN0IGU9dGhpcy5ub3JtYWxpemVJbnB1dCh0W3RoaXMuaW5wdXROYW1lXS5jdXJyZW50VmFsdWUpO3RoaXMuX3ZhbGlkYXRvcj10aGlzLmNyZWF0ZVZhbGlkYXRvcihlKSx0aGlzLl9vbkNoYW5nZSYmdGhpcy5fb25DaGFuZ2UoKX19dmFsaWRhdGUodCl7cmV0dXJuIHRoaXMuX3ZhbGlkYXRvcih0KX1yZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKHQpe3RoaXMuX29uQ2hhbmdlPXR9fVRHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxURyl9LFRHLsm1ZGlyPWhvKHt0eXBlOlRHfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihURyxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpO2NvbnN0IE5HPXtwcm92aWRlOkVVLHVzZUV4aXN0aW5nOiRlKCgoKT0+ekcpKSxtdWx0aTohMH07Y2xhc3MgekcgZXh0ZW5kcyBUR3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5pbnB1dE5hbWU9Im1heCIsdGhpcy5ub3JtYWxpemVJbnB1dD10PT5wYXJzZUZsb2F0KHQpLHRoaXMuY3JlYXRlVmFsaWRhdG9yPXQ9PklVKHQpfW5nT25DaGFuZ2VzKHQpe3RoaXMuaGFuZGxlQ2hhbmdlcyh0KX19ekcuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHpHKSkpKG58fHpHKX19KSgpLHpHLsm1ZGlyPWhvKHt0eXBlOnpHLHNlbGVjdG9yczpbWyJpbnB1dCIsInR5cGUiLCJudW1iZXIiLCJtYXgiLCIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbImlucHV0IiwidHlwZSIsIm51bWJlciIsIm1heCIsIiIsImZvcm1Db250cm9sIiwiIl0sWyJpbnB1dCIsInR5cGUiLCJudW1iZXIiLCJtYXgiLCIiLCJuZ01vZGVsIiwiIl1dLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXtpZigyJmUpe2xldCB0O3ltKCJtYXgiLG51bGwhPT0odD1uLm1heCkmJnZvaWQgMCE9PXQ/dDpudWxsKX19LGlucHV0czp7bWF4OiJtYXgifSxmZWF0dXJlczpbamgoW05HXSksUXAscW9dfSksekcucHJvcERlY29yYXRvcnM9e21heDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih6Ryxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVttYXhdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPW51bWJlcl1bbWF4XVtuZ01vZGVsXSIscHJvdmlkZXJzOltOR10saG9zdDp7IlthdHRyLm1heF0iOiJtYXggPz8gbnVsbCJ9fV19XSxudWxsLHttYXg6W3t0eXBlOlJffV19KTtjb25zdCBJRz17cHJvdmlkZTpFVSx1c2VFeGlzdGluZzokZSgoKCk9PkhHKSksbXVsdGk6ITB9O2NsYXNzIEhHIGV4dGVuZHMgVEd7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuaW5wdXROYW1lPSJtaW4iLHRoaXMubm9ybWFsaXplSW5wdXQ9dD0+cGFyc2VGbG9hdCh0KSx0aGlzLmNyZWF0ZVZhbGlkYXRvcj10PT56VSh0KX1uZ09uQ2hhbmdlcyh0KXt0aGlzLmhhbmRsZUNoYW5nZXModCl9fUhHLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShIRykpKShufHxIRyl9fSkoKSxIRy7JtWRpcj1obyh7dHlwZTpIRyxzZWxlY3RvcnM6W1siaW5wdXQiLCJ0eXBlIiwibnVtYmVyIiwibWluIiwiIiwiZm9ybUNvbnRyb2xOYW1lIiwiIl0sWyJpbnB1dCIsInR5cGUiLCJudW1iZXIiLCJtaW4iLCIiLCJmb3JtQ29udHJvbCIsIiJdLFsiaW5wdXQiLCJ0eXBlIiwibnVtYmVyIiwibWluIiwiIiwibmdNb2RlbCIsIiJdXSxob3N0VmFyczoxLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7aWYoMiZlKXtsZXQgdDt5bSgibWluIixudWxsIT09KHQ9bi5taW4pJiZ2b2lkIDAhPT10P3Q6bnVsbCl9fSxpbnB1dHM6e21pbjoibWluIn0sZmVhdHVyZXM6W2poKFtJR10pLFFwLHFvXX0pLEhHLnByb3BEZWNvcmF0b3JzPXttaW46W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSEcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiaW5wdXRbdHlwZT1udW1iZXJdW21pbl1bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPW51bWJlcl1bbWluXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW21pbl1bbmdNb2RlbF0iLHByb3ZpZGVyczpbSUddLGhvc3Q6eyJbYXR0ci5taW5dIjoibWluID8/IG51bGwifX1dfV0sbnVsbCx7bWluOlt7dHlwZTpSX31dfSk7Y29uc3QgRkc9e3Byb3ZpZGU6RVUsdXNlRXhpc3Rpbmc6JGUoKCgpPT5CRykpLG11bHRpOiEwfSxMRz17cHJvdmlkZTpFVSx1c2VFeGlzdGluZzokZSgoKCk9PlZHKSksbXVsdGk6ITB9O2NsYXNzIEJHe2NvbnN0cnVjdG9yKCl7dGhpcy5fcmVxdWlyZWQ9ITF9Z2V0IHJlcXVpcmVkKCl7cmV0dXJuIHRoaXMuX3JlcXVpcmVkfXNldCByZXF1aXJlZCh0KXt0aGlzLl9yZXF1aXJlZD1udWxsIT10JiYhMSE9PXQmJiJmYWxzZSIhPWAke3R9YCx0aGlzLl9vbkNoYW5nZSYmdGhpcy5fb25DaGFuZ2UoKX12YWxpZGF0ZSh0KXtyZXR1cm4gdGhpcy5yZXF1aXJlZD9IVSh0KTpudWxsfXJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UodCl7dGhpcy5fb25DaGFuZ2U9dH19QkcuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEJHKX0sQkcuybVkaXI9aG8oe3R5cGU6Qkcsc2VsZWN0b3JzOltbIiIsInJlcXVpcmVkIiwiIiwiZm9ybUNvbnRyb2xOYW1lIiwiIiwzLCJ0eXBlIiwiY2hlY2tib3giXSxbIiIsInJlcXVpcmVkIiwiIiwiZm9ybUNvbnRyb2wiLCIiLDMsInR5cGUiLCJjaGVja2JveCJdLFsiIiwicmVxdWlyZWQiLCIiLCJuZ01vZGVsIiwiIiwzLCJ0eXBlIiwiY2hlY2tib3giXV0saG9zdFZhcnM6MSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmeW0oInJlcXVpcmVkIixuLnJlcXVpcmVkPyIiOm51bGwpfSxpbnB1dHM6e3JlcXVpcmVkOiJyZXF1aXJlZCJ9LGZlYXR1cmVzOltqaChbRkddKV19KSxCRy5wcm9wRGVjb3JhdG9ycz17cmVxdWlyZWQ6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQkcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiOm5vdChbdHlwZT1jaGVja2JveF0pW3JlcXVpcmVkXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtyZXF1aXJlZF1bbmdNb2RlbF0iLHByb3ZpZGVyczpbRkddLGhvc3Q6eyJbYXR0ci5yZXF1aXJlZF0iOidyZXF1aXJlZCA/ICIiIDogbnVsbCd9fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLHtyZXF1aXJlZDpbe3R5cGU6Ul99XX0pO2NsYXNzIFZHIGV4dGVuZHMgQkd7dmFsaWRhdGUodCl7cmV0dXJuIHRoaXMucmVxdWlyZWQ/RlUodCk6bnVsbH19VkcuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKFZHKSkpKG58fFZHKX19KSgpLFZHLsm1ZGlyPWhvKHt0eXBlOlZHLHNlbGVjdG9yczpbWyJpbnB1dCIsInR5cGUiLCJjaGVja2JveCIsInJlcXVpcmVkIiwiIiwiZm9ybUNvbnRyb2xOYW1lIiwiIl0sWyJpbnB1dCIsInR5cGUiLCJjaGVja2JveCIsInJlcXVpcmVkIiwiIiwiZm9ybUNvbnRyb2wiLCIiXSxbImlucHV0IiwidHlwZSIsImNoZWNrYm94IiwicmVxdWlyZWQiLCIiLCJuZ01vZGVsIiwiIl1dLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJnltKCJyZXF1aXJlZCIsbi5yZXF1aXJlZD8iIjpudWxsKX0sZmVhdHVyZXM6W2poKFtMR10pLFFwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVkcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiaW5wdXRbdHlwZT1jaGVja2JveF1bcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1jaGVja2JveF1bcmVxdWlyZWRdW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPWNoZWNrYm94XVtyZXF1aXJlZF1bbmdNb2RlbF0iLHByb3ZpZGVyczpbTEddLGhvc3Q6eyJbYXR0ci5yZXF1aXJlZF0iOidyZXF1aXJlZCA/ICIiIDogbnVsbCd9fV19XSxudWxsLG51bGwpO2NvbnN0IGpHPXtwcm92aWRlOkVVLHVzZUV4aXN0aW5nOiRlKCgoKT0+VUcpKSxtdWx0aTohMH07Y2xhc3MgVUd7Y29uc3RydWN0b3IoKXt0aGlzLl9lbmFibGVkPSExfXNldCBlbWFpbCh0KXt0aGlzLl9lbmFibGVkPSIiPT09dHx8ITA9PT10fHwidHJ1ZSI9PT10LHRoaXMuX29uQ2hhbmdlJiZ0aGlzLl9vbkNoYW5nZSgpfXZhbGlkYXRlKHQpe3JldHVybiB0aGlzLl9lbmFibGVkP0xVKHQpOm51bGx9cmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZSh0KXt0aGlzLl9vbkNoYW5nZT10fX1VRy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8VUcpfSxVRy7JtWRpcj1obyh7dHlwZTpVRyxzZWxlY3RvcnM6W1siIiwiZW1haWwiLCIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbIiIsImVtYWlsIiwiIiwiZm9ybUNvbnRyb2wiLCIiXSxbIiIsImVtYWlsIiwiIiwibmdNb2RlbCIsIiJdXSxpbnB1dHM6e2VtYWlsOiJlbWFpbCJ9LGZlYXR1cmVzOltqaChbakddKV19KSxVRy5wcm9wRGVjb3JhdG9ycz17ZW1haWw6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVUcsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2VtYWlsXVtmb3JtQ29udHJvbE5hbWVdLFtlbWFpbF1bZm9ybUNvbnRyb2xdLFtlbWFpbF1bbmdNb2RlbF0iLHByb3ZpZGVyczpbakddfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLHtlbWFpbDpbe3R5cGU6Ul99XX0pO2NvbnN0IFdHPXtwcm92aWRlOkVVLHVzZUV4aXN0aW5nOiRlKCgoKT0+R0cpKSxtdWx0aTohMH07Y2xhc3MgR0d7Y29uc3RydWN0b3IoKXt0aGlzLl92YWxpZGF0b3I9VVV9bmdPbkNoYW5nZXModCl7Im1pbmxlbmd0aCJpbiB0JiYodGhpcy5fY3JlYXRlVmFsaWRhdG9yKCksdGhpcy5fb25DaGFuZ2UmJnRoaXMuX29uQ2hhbmdlKCkpfXZhbGlkYXRlKHQpe3JldHVybiB0aGlzLmVuYWJsZWQoKT90aGlzLl92YWxpZGF0b3IodCk6bnVsbH1yZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKHQpe3RoaXMuX29uQ2hhbmdlPXR9X2NyZWF0ZVZhbGlkYXRvcigpe3RoaXMuX3ZhbGlkYXRvcj10aGlzLmVuYWJsZWQoKT9CVShBRyh0aGlzLm1pbmxlbmd0aCkpOlVVfWVuYWJsZWQoKXtyZXR1cm4gbnVsbCE9dGhpcy5taW5sZW5ndGh9fUdHLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxHRyl9LEdHLsm1ZGlyPWhvKHt0eXBlOkdHLHNlbGVjdG9yczpbWyIiLCJtaW5sZW5ndGgiLCIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbIiIsIm1pbmxlbmd0aCIsIiIsImZvcm1Db250cm9sIiwiIl0sWyIiLCJtaW5sZW5ndGgiLCIiLCJuZ01vZGVsIiwiIl1dLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJnltKCJtaW5sZW5ndGgiLG4uZW5hYmxlZCgpP24ubWlubGVuZ3RoOm51bGwpfSxpbnB1dHM6e21pbmxlbmd0aDoibWlubGVuZ3RoIn0sZmVhdHVyZXM6W2poKFtXR10pLHFvXX0pLEdHLnByb3BEZWNvcmF0b3JzPXttaW5sZW5ndGg6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoR0csW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21pbmxlbmd0aF1bZm9ybUNvbnRyb2xOYW1lXSxbbWlubGVuZ3RoXVtmb3JtQ29udHJvbF0sW21pbmxlbmd0aF1bbmdNb2RlbF0iLHByb3ZpZGVyczpbV0ddLGhvc3Q6eyJbYXR0ci5taW5sZW5ndGhdIjoiZW5hYmxlZCgpID8gbWlubGVuZ3RoIDogbnVsbCJ9fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLHttaW5sZW5ndGg6W3t0eXBlOlJffV19KTtjb25zdCBZRz17cHJvdmlkZTpFVSx1c2VFeGlzdGluZzokZSgoKCk9PnFHKSksbXVsdGk6ITB9O2NsYXNzIHFHe2NvbnN0cnVjdG9yKCl7dGhpcy5fdmFsaWRhdG9yPVVVfW5nT25DaGFuZ2VzKHQpeyJtYXhsZW5ndGgiaW4gdCYmKHRoaXMuX2NyZWF0ZVZhbGlkYXRvcigpLHRoaXMuX29uQ2hhbmdlJiZ0aGlzLl9vbkNoYW5nZSgpKX12YWxpZGF0ZSh0KXtyZXR1cm4gdGhpcy5lbmFibGVkKCk/dGhpcy5fdmFsaWRhdG9yKHQpOm51bGx9cmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZSh0KXt0aGlzLl9vbkNoYW5nZT10fV9jcmVhdGVWYWxpZGF0b3IoKXt0aGlzLl92YWxpZGF0b3I9dGhpcy5lbmFibGVkKCk/VlUoQUcodGhpcy5tYXhsZW5ndGgpKTpVVX1lbmFibGVkKCl7cmV0dXJuIG51bGwhPXRoaXMubWF4bGVuZ3RofX1xRy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cUcpfSxxRy7JtWRpcj1obyh7dHlwZTpxRyxzZWxlY3RvcnM6W1siIiwibWF4bGVuZ3RoIiwiIiwiZm9ybUNvbnRyb2xOYW1lIiwiIl0sWyIiLCJtYXhsZW5ndGgiLCIiLCJmb3JtQ29udHJvbCIsIiJdLFsiIiwibWF4bGVuZ3RoIiwiIiwibmdNb2RlbCIsIiJdXSxob3N0VmFyczoxLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZ5bSgibWF4bGVuZ3RoIixuLmVuYWJsZWQoKT9uLm1heGxlbmd0aDpudWxsKX0saW5wdXRzOnttYXhsZW5ndGg6Im1heGxlbmd0aCJ9LGZlYXR1cmVzOltqaChbWUddKSxxb119KSxxRy5wcm9wRGVjb3JhdG9ycz17bWF4bGVuZ3RoOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHFHLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXhsZW5ndGhdW2Zvcm1Db250cm9sTmFtZV0sW21heGxlbmd0aF1bZm9ybUNvbnRyb2xdLFttYXhsZW5ndGhdW25nTW9kZWxdIixwcm92aWRlcnM6W1lHXSxob3N0OnsiW2F0dHIubWF4bGVuZ3RoXSI6ImVuYWJsZWQoKSA/IG1heGxlbmd0aCA6IG51bGwifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSx7bWF4bGVuZ3RoOlt7dHlwZTpSX31dfSk7Y29uc3QgWkc9e3Byb3ZpZGU6RVUsdXNlRXhpc3Rpbmc6JGUoKCgpPT5YRykpLG11bHRpOiEwfTtjbGFzcyBYR3tjb25zdHJ1Y3Rvcigpe3RoaXMuX3ZhbGlkYXRvcj1VVX1uZ09uQ2hhbmdlcyh0KXsicGF0dGVybiJpbiB0JiYodGhpcy5fY3JlYXRlVmFsaWRhdG9yKCksdGhpcy5fb25DaGFuZ2UmJnRoaXMuX29uQ2hhbmdlKCkpfXZhbGlkYXRlKHQpe3JldHVybiB0aGlzLl92YWxpZGF0b3IodCl9cmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZSh0KXt0aGlzLl9vbkNoYW5nZT10fV9jcmVhdGVWYWxpZGF0b3IoKXt0aGlzLl92YWxpZGF0b3I9alUodGhpcy5wYXR0ZXJuKX19WEcuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFhHKX0sWEcuybVkaXI9aG8oe3R5cGU6WEcsc2VsZWN0b3JzOltbIiIsInBhdHRlcm4iLCIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbIiIsInBhdHRlcm4iLCIiLCJmb3JtQ29udHJvbCIsIiJdLFsiIiwicGF0dGVybiIsIiIsIm5nTW9kZWwiLCIiXV0saG9zdFZhcnM6MSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmeW0oInBhdHRlcm4iLG4ucGF0dGVybj9uLnBhdHRlcm46bnVsbCl9LGlucHV0czp7cGF0dGVybjoicGF0dGVybiJ9LGZlYXR1cmVzOltqaChbWkddKSxxb119KSxYRy5wcm9wRGVjb3JhdG9ycz17cGF0dGVybjpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYRyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbcGF0dGVybl1bZm9ybUNvbnRyb2xOYW1lXSxbcGF0dGVybl1bZm9ybUNvbnRyb2xdLFtwYXR0ZXJuXVtuZ01vZGVsXSIscHJvdmlkZXJzOltaR10saG9zdDp7IlthdHRyLnBhdHRlcm5dIjoicGF0dGVybiA/IHBhdHRlcm4gOiBudWxsIn19XX1dLChmdW5jdGlvbigpe3JldHVybltdfSkse3BhdHRlcm46W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IEtHPVtvRyxrRyxFRyxTVSxhRyxwRyxQVSx3RyxSRyxjRyxtVyxmVyxCRyxHRyxxRyxYRyxWRyxVRyxIRyx6R10sSkc9W25HLCRXLFhXXSxRRz1bdUcsaEcseEcseUcsQ0ddO2NsYXNzICRHe30kRy7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JEcpfSwkRy7JtW1vZD1mbyh7dHlwZTokR30pLCRHLsm1aW5qPURuKHtpbXBvcnRzOltbc0ddXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJEcsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6S0csaW1wb3J0czpbc0ddLGV4cG9ydHM6S0d9XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1bygkRyx7ZGVjbGFyYXRpb25zOltvRyxrRyxFRyxTVSxhRyxwRyxQVSx3RyxSRyxjRyxtVyxmVyxCRyxHRyxxRyxYRyxWRyxVRyxIRyx6R10saW1wb3J0czpbc0ddLGV4cG9ydHM6W29HLGtHLEVHLFNVLGFHLHBHLFBVLHdHLFJHLGNHLG1XLGZXLEJHLEdHLHFHLFhHLFZHLFVHLEhHLHpHXX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgdFl7fXRZLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0WSl9LHRZLsm1bW9kPWZvKHt0eXBlOnRZfSksdFkuybVpbmo9RG4oe2ltcG9ydHM6WyRHXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodFksW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6SkcsZXhwb3J0czpbJEcsSkddfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8odFkse2RlY2xhcmF0aW9uczpbbkcsJFcsWFddLGV4cG9ydHM6WyRHLG5HLCRXLFhXXX0pO2NsYXNzIGVZe3N0YXRpYyB3aXRoQ29uZmlnKHQpe3JldHVybntuZ01vZHVsZTplWSxwcm92aWRlcnM6W3twcm92aWRlOm1HLHVzZVZhbHVlOnQud2Fybk9uTmdNb2RlbFdpdGhGb3JtQ29udHJvbH1dfX19ZVkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGVZKX0sZVkuybVtb2Q9Zm8oe3R5cGU6ZVl9KSxlWS7JtWluaj1Ebih7aW1wb3J0czpbJEddfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihlWSxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbUUddLGV4cG9ydHM6WyRHLFFHXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGVZLHtkZWNsYXJhdGlvbnM6W3VHLGhHLHhHLHlHLENHXSxleHBvcnRzOlskRyx1RyxoRyx4Ryx5RyxDR119KTtjbGFzcyBuWXtncm91cCh0LGU9bnVsbCl7Y29uc3Qgbj10aGlzLl9yZWR1Y2VDb250cm9scyh0KTtsZXQgbyxpPW51bGwsYT1udWxsO3JldHVybiBudWxsIT1lJiYoISgKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmZ1bmN0aW9uIHIodCl7cmV0dXJuIHZvaWQgMCE9PXQuYXN5bmNWYWxpZGF0b3JzfHx2b2lkIDAhPT10LnZhbGlkYXRvcnN8fHZvaWQgMCE9PXQudXBkYXRlT259KShlKT8oaT1udWxsIT1lLnZhbGlkYXRvcj9lLnZhbGlkYXRvcjpudWxsLGE9bnVsbCE9ZS5hc3luY1ZhbGlkYXRvcj9lLmFzeW5jVmFsaWRhdG9yOm51bGwpOihpPW51bGwhPWUudmFsaWRhdG9ycz9lLnZhbGlkYXRvcnM6bnVsbCxhPW51bGwhPWUuYXN5bmNWYWxpZGF0b3JzP2UuYXN5bmNWYWxpZGF0b3JzOm51bGwsbz1udWxsIT1lLnVwZGF0ZU9uP2UudXBkYXRlT246dm9pZCAwKSksbmV3IEdXKG4se2FzeW5jVmFsaWRhdG9yczphLHVwZGF0ZU9uOm8sdmFsaWRhdG9yczppfSl9Y29udHJvbCh0LGUsbil7cmV0dXJuIG5ldyBXVyh0LGUsbil9YXJyYXkodCxlLG4pe2NvbnN0IG89dC5tYXAoKHQ9PnRoaXMuX2NyZWF0ZUNvbnRyb2wodCkpKTtyZXR1cm4gbmV3IFlXKG8sZSxuKX1fcmVkdWNlQ29udHJvbHModCl7Y29uc3QgZT17fTtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaCgobj0+e2Vbbl09dGhpcy5fY3JlYXRlQ29udHJvbCh0W25dKX0pKSxlfV9jcmVhdGVDb250cm9sKHQpe2lmKHQgaW5zdGFuY2VvZiBXV3x8dCBpbnN0YW5jZW9mIEdXfHx0IGluc3RhbmNlb2YgWVcpcmV0dXJuIHQ7aWYoQXJyYXkuaXNBcnJheSh0KSl7cmV0dXJuIHRoaXMuY29udHJvbCh0WzBdLHQubGVuZ3RoPjE/dFsxXTpudWxsLHQubGVuZ3RoPjI/dFsyXTpudWxsKX1yZXR1cm4gdGhpcy5jb250cm9sKHQpfX1uWS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8blkpfSxuWS7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgbll9LHRva2VuOm5ZLHByb3ZpZGVkSW46ZVl9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG5ZLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjplWX1dfV0sbnVsbCxudWxsKSwKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCm5ldyBvYigiMTIuMi4xIik7Y29uc3Qgb1k9WyJ0cmlnZ2VyIl0saVk9WyJwYW5lbCJdO2Z1bmN0aW9uIGFZKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsOCksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksd3UodC5wbGFjZWhvbGRlcil9fWZ1bmN0aW9uIHJZKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMTIpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYygxKSx3dSh0LnRyaWdnZXJWYWx1ZSl9fWZ1bmN0aW9uIHNZKHQsZSl7MSZ0JiZGZigwLDAsWyIqbmdTd2l0Y2hDYXNlIiwidHJ1ZSJdKX1mdW5jdGlvbiBsWSh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDkpLEhtKDEsclksMiwxLCJzcGFuIiwxMCksSG0oMixzWSwxLDAsIm5nLWNvbnRlbnQiLDExKSxNZigpKSwyJnQpe2JmKCJuZ1N3aXRjaCIsISF6ZigpLmN1c3RvbVRyaWdnZXIpLERjKDIpLGJmKCJuZ1N3aXRjaENhc2UiLCEwKX19ZnVuY3Rpb24gY1kodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDEzKSxDZigxLCJkaXYiLDE0LDE1KSxSZigiQHRyYW5zZm9ybVBhbmVsLmRvbmUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLl9wYW5lbERvbmVBbmltYXRpbmdTdHJlYW0ubmV4dChuLnRvU3RhdGUpfSkpKCJrZXlkb3duIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5faGFuZGxlS2V5ZG93bihuKX0pKSxGZigzLDEpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtiZigiQHRyYW5zZm9ybVBhbmVsV3JhcCIsdm9pZCAwKSxEYygxKSxJdSgibWF0LXNlbGVjdC1wYW5lbCAiLHQuX2dldFBhbmVsVGhlbWUoKSwiIiksbHUoInRyYW5zZm9ybS1vcmlnaW4iLHQuX3RyYW5zZm9ybU9yaWdpbikoImZvbnQtc2l6ZSIsdC5fdHJpZ2dlckZvbnRTaXplLCJweCIpLGJmKCJuZ0NsYXNzIix0LnBhbmVsQ2xhc3MpKCJAdHJhbnNmb3JtUGFuZWwiLHQubXVsdGlwbGU/InNob3dpbmctbXVsdGlwbGUiOiJzaG93aW5nIikseW0oImlkIix0LmlkKyItcGFuZWwiKSgiYXJpYS1tdWx0aXNlbGVjdGFibGUiLHQubXVsdGlwbGUpKCJhcmlhLWxhYmVsIix0LmFyaWFMYWJlbHx8bnVsbCkoImFyaWEtbGFiZWxsZWRieSIsdC5fZ2V0UGFuZWxBcmlhTGFiZWxsZWRieSgpKX19Y29uc3QgZFk9W1tbIm1hdC1zZWxlY3QtdHJpZ2dlciJdXSwiKiJdLHBZPXt0cmFuc2Zvcm1QYW5lbFdyYXA6eE8oInRyYW5zZm9ybVBhbmVsV3JhcCIsW0RPKCIqID0+IHZvaWQiLEVPKCJAdHJhbnNmb3JtUGFuZWwiLFtSTygpXSx7b3B0aW9uYWw6ITB9KSldKSx0cmFuc2Zvcm1QYW5lbDp4TygidHJhbnNmb3JtUGFuZWwiLFtrTygidm9pZCIsd08oe3RyYW5zZm9ybToic2NhbGVZKDAuOCkiLG1pbldpZHRoOiIxMDAlIixvcGFjaXR5OjB9KSksa08oInNob3dpbmciLHdPKHtvcGFjaXR5OjEsbWluV2lkdGg6ImNhbGMoMTAwJSArIDMycHgpIix0cmFuc2Zvcm06InNjYWxlWSgxKSJ9KSksa08oInNob3dpbmctbXVsdGlwbGUiLHdPKHtvcGFjaXR5OjEsbWluV2lkdGg6ImNhbGMoMTAwJSArIDY0cHgpIix0cmFuc2Zvcm06InNjYWxlWSgxKSJ9KSksRE8oInZvaWQgPT4gKiIsT08oIjEyMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpIikpLERPKCIqID0+IHZvaWQiLE9PKCIxMDBtcyAyNW1zIGxpbmVhciIsd08oe29wYWNpdHk6MH0pKSldKX07Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpsZXQgbVk9MDtjb25zdCBmWT0yNTYsdVk9MTYsZ1k9bmV3IGVyKCJtYXQtc2VsZWN0LXNjcm9sbC1zdHJhdGVneSIpO2NvbnN0IGhZPW5ldyBlcigiTUFUX1NFTEVDVF9DT05GSUciKSxiWT17cHJvdmlkZTpnWSxkZXBzOltLQl0sdXNlRmFjdG9yeTpmdW5jdGlvbiB5WSh0KXtyZXR1cm4oKT0+dC5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKX19O2NsYXNzIF9Ze2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5zb3VyY2U9dCx0aGlzLnZhbHVlPWV9fWNvbnN0IENZPUhGKEZGKHpGKExGKGNsYXNze2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7dGhpcy5fZWxlbWVudFJlZj10LHRoaXMuX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcj1lLHRoaXMuX3BhcmVudEZvcm09bix0aGlzLl9wYXJlbnRGb3JtR3JvdXA9byx0aGlzLm5nQ29udHJvbD1pfX0pKSkpLE1ZPW5ldyBlcigiTWF0U2VsZWN0VHJpZ2dlciIpO2NsYXNzIHZZe312WS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dlkpfSx2WS7JtWRpcj1obyh7dHlwZTp2WSxzZWxlY3RvcnM6W1sibWF0LXNlbGVjdC10cmlnZ2VyIl1dLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6TVksdXNlRXhpc3Rpbmc6dll9XSldfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih2WSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtc2VsZWN0LXRyaWdnZXIiLHByb3ZpZGVyczpbe3Byb3ZpZGU6TVksdXNlRXhpc3Rpbmc6dll9XX1dfV0sbnVsbCxudWxsKTtjbGFzcyB4WSBleHRlbmRzIENZe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwLG0sZil7dmFyIHUsZyxoO3N1cGVyKGksbyxyLHMsYyksdGhpcy5fdmlld3BvcnRSdWxlcj10LHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPWUsdGhpcy5fbmdab25lPW4sdGhpcy5fZGlyPWEsdGhpcy5fcGFyZW50Rm9ybUZpZWxkPWwsdGhpcy5fbGl2ZUFubm91bmNlcj1tLHRoaXMuX2RlZmF1bHRPcHRpb25zPWYsdGhpcy5fcGFuZWxPcGVuPSExLHRoaXMuX2NvbXBhcmVXaXRoPSh0LGUpPT50PT09ZSx0aGlzLl91aWQ9Im1hdC1zZWxlY3QtIittWSsrLHRoaXMuX3RyaWdnZXJBcmlhTGFiZWxsZWRCeT1udWxsLHRoaXMuX2Rlc3Ryb3k9bmV3IEIsdGhpcy5fb25DaGFuZ2U9KCk9Pnt9LHRoaXMuX29uVG91Y2hlZD0oKT0+e30sdGhpcy5fdmFsdWVJZD0ibWF0LXNlbGVjdC12YWx1ZS0iK21ZKyssdGhpcy5fcGFuZWxEb25lQW5pbWF0aW5nU3RyZWFtPW5ldyBCLHRoaXMuX292ZXJsYXlQYW5lbENsYXNzPShudWxsPT09KHU9dGhpcy5fZGVmYXVsdE9wdGlvbnMpfHx2b2lkIDA9PT11P3ZvaWQgMDp1Lm92ZXJsYXlQYW5lbENsYXNzKXx8IiIsdGhpcy5fZm9jdXNlZD0hMSx0aGlzLmNvbnRyb2xUeXBlPSJtYXQtc2VsZWN0Iix0aGlzLl9yZXF1aXJlZD0hMSx0aGlzLl9tdWx0aXBsZT0hMSx0aGlzLl9kaXNhYmxlT3B0aW9uQ2VudGVyaW5nPW51bGwhPT0oaD1udWxsPT09KGc9dGhpcy5fZGVmYXVsdE9wdGlvbnMpfHx2b2lkIDA9PT1nP3ZvaWQgMDpnLmRpc2FibGVPcHRpb25DZW50ZXJpbmcpJiZ2b2lkIDAhPT1oJiZoLHRoaXMuYXJpYUxhYmVsPSIiLHRoaXMub3B0aW9uU2VsZWN0aW9uQ2hhbmdlcz1vZSgoKCk9Pntjb25zdCB0PXRoaXMub3B0aW9ucztyZXR1cm4gdD90LmNoYW5nZXMucGlwZShCZSh0KSxWZSgoKCk9PnBlKC4uLnQubWFwKCh0PT50Lm9uU2VsZWN0aW9uQ2hhbmdlKSkpKSkpOnRoaXMuX25nWm9uZS5vblN0YWJsZS5waXBlKHZlKDEpLFZlKCgoKT0+dGhpcy5vcHRpb25TZWxlY3Rpb25DaGFuZ2VzKSkpfSkpLHRoaXMub3BlbmVkQ2hhbmdlPW5ldyBTeSx0aGlzLl9vcGVuZWRTdHJlYW09dGhpcy5vcGVuZWRDaGFuZ2UucGlwZSh1ZSgodD0+dCkpLFZ0KCgoKT0+e30pKSksdGhpcy5fY2xvc2VkU3RyZWFtPXRoaXMub3BlbmVkQ2hhbmdlLnBpcGUodWUoKHQ9PiF0KSksVnQoKCgpPT57fSkpKSx0aGlzLnNlbGVjdGlvbkNoYW5nZT1uZXcgU3ksdGhpcy52YWx1ZUNoYW5nZT1uZXcgU3ksdGhpcy5uZ0NvbnRyb2wmJih0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yPXRoaXMpLG51bGwhPShudWxsPT1mP3ZvaWQgMDpmLnR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwpJiYodGhpcy5fdHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbD1mLnR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwpLHRoaXMuX3Njcm9sbFN0cmF0ZWd5RmFjdG9yeT1wLHRoaXMuX3Njcm9sbFN0cmF0ZWd5PXRoaXMuX3Njcm9sbFN0cmF0ZWd5RmFjdG9yeSgpLHRoaXMudGFiSW5kZXg9cGFyc2VJbnQoZCl8fDAsdGhpcy5pZD10aGlzLmlkfWdldCBmb2N1c2VkKCl7cmV0dXJuIHRoaXMuX2ZvY3VzZWR8fHRoaXMuX3BhbmVsT3Blbn1nZXQgcGxhY2Vob2xkZXIoKXtyZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXJ9c2V0IHBsYWNlaG9sZGVyKHQpe3RoaXMuX3BsYWNlaG9sZGVyPXQsdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpfWdldCByZXF1aXJlZCgpe3JldHVybiB0aGlzLl9yZXF1aXJlZH1zZXQgcmVxdWlyZWQodCl7dGhpcy5fcmVxdWlyZWQ9ZUgodCksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpfWdldCBtdWx0aXBsZSgpe3JldHVybiB0aGlzLl9tdWx0aXBsZX1zZXQgbXVsdGlwbGUodCl7aWYodGhpcy5fc2VsZWN0aW9uTW9kZWwmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSkKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCnRocm93KGZ1bmN0aW9uIGUoKXtyZXR1cm4gRXJyb3IoIkNhbm5vdCBjaGFuZ2UgYG11bHRpcGxlYCBtb2RlIG9mIHNlbGVjdCBhZnRlciBpbml0aWFsaXphdGlvbi4iKX0pKCk7dGhpcy5fbXVsdGlwbGU9ZUgodCl9Z2V0IGRpc2FibGVPcHRpb25DZW50ZXJpbmcoKXtyZXR1cm4gdGhpcy5fZGlzYWJsZU9wdGlvbkNlbnRlcmluZ31zZXQgZGlzYWJsZU9wdGlvbkNlbnRlcmluZyh0KXt0aGlzLl9kaXNhYmxlT3B0aW9uQ2VudGVyaW5nPWVIKHQpfWdldCBjb21wYXJlV2l0aCgpe3JldHVybiB0aGlzLl9jb21wYXJlV2l0aH1zZXQgY29tcGFyZVdpdGgodCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyhmdW5jdGlvbiBlKCl7cmV0dXJuIEVycm9yKCJgY29tcGFyZVdpdGhgIG11c3QgYmUgYSBmdW5jdGlvbi4iKX0pKCk7dGhpcy5fY29tcGFyZVdpdGg9dCx0aGlzLl9zZWxlY3Rpb25Nb2RlbCYmdGhpcy5faW5pdGlhbGl6ZVNlbGVjdGlvbigpfWdldCB2YWx1ZSgpe3JldHVybiB0aGlzLl92YWx1ZX1zZXQgdmFsdWUodCl7KHQhPT10aGlzLl92YWx1ZXx8dGhpcy5fbXVsdGlwbGUmJkFycmF5LmlzQXJyYXkodCkpJiYodGhpcy5vcHRpb25zJiZ0aGlzLl9zZXRTZWxlY3Rpb25CeVZhbHVlKHQpLHRoaXMuX3ZhbHVlPXQpfWdldCB0eXBlYWhlYWREZWJvdW5jZUludGVydmFsKCl7cmV0dXJuIHRoaXMuX3R5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWx9c2V0IHR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwodCl7dGhpcy5fdHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbD1uSCh0KX1nZXQgaWQoKXtyZXR1cm4gdGhpcy5faWR9c2V0IGlkKHQpe3RoaXMuX2lkPXR8fHRoaXMuX3VpZCx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9bmdPbkluaXQoKXt0aGlzLl9zZWxlY3Rpb25Nb2RlbD1uZXcgakwodGhpcy5tdWx0aXBsZSksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpLHRoaXMuX3BhbmVsRG9uZUFuaW1hdGluZ1N0cmVhbS5waXBlKHdlKCksamUodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKCk9PnRoaXMuX3BhbmVsRG9uZUFuaW1hdGluZyh0aGlzLnBhbmVsT3BlbikpKX1uZ0FmdGVyQ29udGVudEluaXQoKXt0aGlzLl9pbml0S2V5TWFuYWdlcigpLHRoaXMuX3NlbGVjdGlvbk1vZGVsLmNoYW5nZWQucGlwZShqZSh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCh0PT57dC5hZGRlZC5mb3JFYWNoKCh0PT50LnNlbGVjdCgpKSksdC5yZW1vdmVkLmZvckVhY2goKHQ9PnQuZGVzZWxlY3QoKSkpfSkpLHRoaXMub3B0aW9ucy5jaGFuZ2VzLnBpcGUoQmUobnVsbCksamUodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9yZXNldE9wdGlvbnMoKSx0aGlzLl9pbml0aWFsaXplU2VsZWN0aW9uKCl9KSl9bmdEb0NoZWNrKCl7Y29uc3QgdD10aGlzLl9nZXRUcmlnZ2VyQXJpYUxhYmVsbGVkYnkoKTtpZih0IT09dGhpcy5fdHJpZ2dlckFyaWFMYWJlbGxlZEJ5KXtjb25zdCBlPXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDt0aGlzLl90cmlnZ2VyQXJpYUxhYmVsbGVkQnk9dCx0P2Uuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsbGVkYnkiLHQpOmUucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWxhYmVsbGVkYnkiKX10aGlzLm5nQ29udHJvbCYmdGhpcy51cGRhdGVFcnJvclN0YXRlKCl9bmdPbkNoYW5nZXModCl7dC5kaXNhYmxlZCYmdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpLHQudHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCYmdGhpcy5fa2V5TWFuYWdlciYmdGhpcy5fa2V5TWFuYWdlci53aXRoVHlwZUFoZWFkKHRoaXMuX3R5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwpfW5nT25EZXN0cm95KCl7dGhpcy5fZGVzdHJveS5uZXh0KCksdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpLHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCl9dG9nZ2xlKCl7dGhpcy5wYW5lbE9wZW4/dGhpcy5jbG9zZSgpOnRoaXMub3BlbigpfW9wZW4oKXt0aGlzLl9jYW5PcGVuKCkmJih0aGlzLl9wYW5lbE9wZW49ITAsdGhpcy5fa2V5TWFuYWdlci53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKG51bGwpLHRoaXMuX2hpZ2hsaWdodENvcnJlY3RPcHRpb24oKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSl9Y2xvc2UoKXt0aGlzLl9wYW5lbE9wZW4mJih0aGlzLl9wYW5lbE9wZW49ITEsdGhpcy5fa2V5TWFuYWdlci53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2lzUnRsKCk/InJ0bCI6Imx0ciIpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpLHRoaXMuX29uVG91Y2hlZCgpKX13cml0ZVZhbHVlKHQpe3RoaXMudmFsdWU9dH1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMuX29uQ2hhbmdlPXR9cmVnaXN0ZXJPblRvdWNoZWQodCl7dGhpcy5fb25Ub3VjaGVkPXR9c2V0RGlzYWJsZWRTdGF0ZSh0KXt0aGlzLmRpc2FibGVkPXQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpfWdldCBwYW5lbE9wZW4oKXtyZXR1cm4gdGhpcy5fcGFuZWxPcGVufWdldCBzZWxlY3RlZCgpe3JldHVybiB0aGlzLm11bHRpcGxlP3RoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkOnRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkWzBdfWdldCB0cmlnZ2VyVmFsdWUoKXtpZih0aGlzLmVtcHR5KXJldHVybiIiO2lmKHRoaXMuX211bHRpcGxlKXtjb25zdCB0PXRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdGVkLm1hcCgodD0+dC52aWV3VmFsdWUpKTtyZXR1cm4gdGhpcy5faXNSdGwoKSYmdC5yZXZlcnNlKCksdC5qb2luKCIsICIpfXJldHVybiB0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZFswXS52aWV3VmFsdWV9X2lzUnRsKCl7cmV0dXJuISF0aGlzLl9kaXImJiJydGwiPT09dGhpcy5fZGlyLnZhbHVlfV9oYW5kbGVLZXlkb3duKHQpe3RoaXMuZGlzYWJsZWR8fCh0aGlzLnBhbmVsT3Blbj90aGlzLl9oYW5kbGVPcGVuS2V5ZG93bih0KTp0aGlzLl9oYW5kbGVDbG9zZWRLZXlkb3duKHQpKX1faGFuZGxlQ2xvc2VkS2V5ZG93bih0KXtjb25zdCBlPXQua2V5Q29kZSxuPWU9PT0kSXx8ZT09PVFJfHwzNz09PWV8fDM5PT09ZSxvPWU9PT1YSXx8ZT09PUpJLGk9dGhpcy5fa2V5TWFuYWdlcjtpZighaS5pc1R5cGluZygpJiZvJiYhdEgodCl8fCh0aGlzLm11bHRpcGxlfHx0LmFsdEtleSkmJm4pdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMub3BlbigpO2Vsc2UgaWYoIXRoaXMubXVsdGlwbGUpe2NvbnN0IGU9dGhpcy5zZWxlY3RlZDtpLm9uS2V5ZG93bih0KTtjb25zdCBuPXRoaXMuc2VsZWN0ZWQ7biYmZSE9PW4mJnRoaXMuX2xpdmVBbm5vdW5jZXIuYW5ub3VuY2Uobi52aWV3VmFsdWUsMWU0KX19X2hhbmRsZU9wZW5LZXlkb3duKHQpe2NvbnN0IGU9dGhpcy5fa2V5TWFuYWdlcixuPXQua2V5Q29kZSxvPW49PT0kSXx8bj09PVFJLGk9ZS5pc1R5cGluZygpO2lmKG8mJnQuYWx0S2V5KXQucHJldmVudERlZmF1bHQoKSx0aGlzLmNsb3NlKCk7ZWxzZSBpZihpfHxuIT09WEkmJm4hPT1KSXx8IWUuYWN0aXZlSXRlbXx8dEgodCkpaWYoIWkmJnRoaXMuX211bHRpcGxlJiY2NT09PW4mJnQuY3RybEtleSl7dC5wcmV2ZW50RGVmYXVsdCgpO2NvbnN0IGU9dGhpcy5vcHRpb25zLnNvbWUoKHQ9PiF0LmRpc2FibGVkJiYhdC5zZWxlY3RlZCkpO3RoaXMub3B0aW9ucy5mb3JFYWNoKCh0PT57dC5kaXNhYmxlZHx8KGU/dC5zZWxlY3QoKTp0LmRlc2VsZWN0KCkpfSkpfWVsc2V7Y29uc3Qgbj1lLmFjdGl2ZUl0ZW1JbmRleDtlLm9uS2V5ZG93bih0KSx0aGlzLl9tdWx0aXBsZSYmbyYmdC5zaGlmdEtleSYmZS5hY3RpdmVJdGVtJiZlLmFjdGl2ZUl0ZW1JbmRleCE9PW4mJmUuYWN0aXZlSXRlbS5fc2VsZWN0VmlhSW50ZXJhY3Rpb24oKX1lbHNlIHQucHJldmVudERlZmF1bHQoKSxlLmFjdGl2ZUl0ZW0uX3NlbGVjdFZpYUludGVyYWN0aW9uKCl9X29uRm9jdXMoKXt0aGlzLmRpc2FibGVkfHwodGhpcy5fZm9jdXNlZD0hMCx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCkpfV9vbkJsdXIoKXt0aGlzLl9mb2N1c2VkPSExLHRoaXMuZGlzYWJsZWR8fHRoaXMucGFuZWxPcGVufHwodGhpcy5fb25Ub3VjaGVkKCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpKX1fb25BdHRhY2hlZCgpe3RoaXMuX292ZXJsYXlEaXIucG9zaXRpb25DaGFuZ2UucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKSx0aGlzLl9wb3NpdGlvbmluZ1NldHRsZWQoKX0pKX1fZ2V0UGFuZWxUaGVtZSgpe3JldHVybiB0aGlzLl9wYXJlbnRGb3JtRmllbGQ/YG1hdC0ke3RoaXMuX3BhcmVudEZvcm1GaWVsZC5jb2xvcn1gOiIifWdldCBlbXB0eSgpe3JldHVybiF0aGlzLl9zZWxlY3Rpb25Nb2RlbHx8dGhpcy5fc2VsZWN0aW9uTW9kZWwuaXNFbXB0eSgpfV9pbml0aWFsaXplU2VsZWN0aW9uKCl7UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9Pnt0aGlzLl9zZXRTZWxlY3Rpb25CeVZhbHVlKHRoaXMubmdDb250cm9sP3RoaXMubmdDb250cm9sLnZhbHVlOnRoaXMuX3ZhbHVlKSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9KSl9X3NldFNlbGVjdGlvbkJ5VmFsdWUodCl7aWYodGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQuZm9yRWFjaCgodD0+dC5zZXRJbmFjdGl2ZVN0eWxlcygpKSksdGhpcy5fc2VsZWN0aW9uTW9kZWwuY2xlYXIoKSx0aGlzLm11bHRpcGxlJiZ0KXtpZighQXJyYXkuaXNBcnJheSh0KSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93KGZ1bmN0aW9uIGUoKXtyZXR1cm4gRXJyb3IoIlZhbHVlIG11c3QgYmUgYW4gYXJyYXkgaW4gbXVsdGlwbGUtc2VsZWN0aW9uIG1vZGUuIil9KSgpO3QuZm9yRWFjaCgodD0+dGhpcy5fc2VsZWN0VmFsdWUodCkpKSx0aGlzLl9zb3J0VmFsdWVzKCl9ZWxzZXtjb25zdCBlPXRoaXMuX3NlbGVjdFZhbHVlKHQpO2U/dGhpcy5fa2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGUpOnRoaXMucGFuZWxPcGVufHx0aGlzLl9rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oLTEpfXRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfV9zZWxlY3RWYWx1ZSh0KXtjb25zdCBlPXRoaXMub3B0aW9ucy5maW5kKChlPT57aWYodGhpcy5fc2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZChlKSlyZXR1cm4hMTt0cnl7cmV0dXJuIG51bGwhPWUudmFsdWUmJnRoaXMuX2NvbXBhcmVXaXRoKGUudmFsdWUsdCl9Y2F0Y2godCl7cmV0dXJuKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZjb25zb2xlLndhcm4odCksITF9fSkpO3JldHVybiBlJiZ0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3QoZSksZX1faW5pdEtleU1hbmFnZXIoKXt0aGlzLl9rZXlNYW5hZ2VyPW5ldyBGSCh0aGlzLm9wdGlvbnMpLndpdGhUeXBlQWhlYWQodGhpcy5fdHlwZWFoZWFkRGVib3VuY2VJbnRlcnZhbCkud2l0aFZlcnRpY2FsT3JpZW50YXRpb24oKS53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2lzUnRsKCk/InJ0bCI6Imx0ciIpLndpdGhIb21lQW5kRW5kKCkud2l0aEFsbG93ZWRNb2RpZmllcktleXMoWyJzaGlmdEtleSJdKSx0aGlzLl9rZXlNYW5hZ2VyLnRhYk91dC5waXBlKGplKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5wYW5lbE9wZW4mJighdGhpcy5tdWx0aXBsZSYmdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtJiZ0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0uX3NlbGVjdFZpYUludGVyYWN0aW9uKCksdGhpcy5mb2N1cygpLHRoaXMuY2xvc2UoKSl9KSksdGhpcy5fa2V5TWFuYWdlci5jaGFuZ2UucGlwZShqZSh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3BhbmVsT3BlbiYmdGhpcy5wYW5lbD90aGlzLl9zY3JvbGxPcHRpb25JbnRvVmlldyh0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleHx8MCk6dGhpcy5fcGFuZWxPcGVufHx0aGlzLm11bHRpcGxlfHwhdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtfHx0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0uX3NlbGVjdFZpYUludGVyYWN0aW9uKCl9KSl9X3Jlc2V0T3B0aW9ucygpe2NvbnN0IHQ9cGUodGhpcy5vcHRpb25zLmNoYW5nZXMsdGhpcy5fZGVzdHJveSk7dGhpcy5vcHRpb25TZWxlY3Rpb25DaGFuZ2VzLnBpcGUoamUodCkpLnN1YnNjcmliZSgodD0+e3RoaXMuX29uU2VsZWN0KHQuc291cmNlLHQuaXNVc2VySW5wdXQpLHQuaXNVc2VySW5wdXQmJiF0aGlzLm11bHRpcGxlJiZ0aGlzLl9wYW5lbE9wZW4mJih0aGlzLmNsb3NlKCksdGhpcy5mb2N1cygpKX0pKSxwZSguLi50aGlzLm9wdGlvbnMubWFwKCh0PT50Ll9zdGF0ZUNoYW5nZXMpKSkucGlwZShqZSh0KSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKX0pKX1fb25TZWxlY3QodCxlKXtjb25zdCBuPXRoaXMuX3NlbGVjdGlvbk1vZGVsLmlzU2VsZWN0ZWQodCk7bnVsbCE9dC52YWx1ZXx8dGhpcy5fbXVsdGlwbGU/KG4hPT10LnNlbGVjdGVkJiYodC5zZWxlY3RlZD90aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3QodCk6dGhpcy5fc2VsZWN0aW9uTW9kZWwuZGVzZWxlY3QodCkpLGUmJnRoaXMuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSh0KSx0aGlzLm11bHRpcGxlJiYodGhpcy5fc29ydFZhbHVlcygpLGUmJnRoaXMuZm9jdXMoKSkpOih0LmRlc2VsZWN0KCksdGhpcy5fc2VsZWN0aW9uTW9kZWwuY2xlYXIoKSxudWxsIT10aGlzLnZhbHVlJiZ0aGlzLl9wcm9wYWdhdGVDaGFuZ2VzKHQudmFsdWUpKSxuIT09dGhpcy5fc2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZCh0KSYmdGhpcy5fcHJvcGFnYXRlQ2hhbmdlcygpLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKX1fc29ydFZhbHVlcygpe2lmKHRoaXMubXVsdGlwbGUpe2NvbnN0IHQ9dGhpcy5vcHRpb25zLnRvQXJyYXkoKTt0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zb3J0KCgoZSxuKT0+dGhpcy5zb3J0Q29tcGFyYXRvcj90aGlzLnNvcnRDb21wYXJhdG9yKGUsbix0KTp0LmluZGV4T2YoZSktdC5pbmRleE9mKG4pKSksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpfX1fcHJvcGFnYXRlQ2hhbmdlcyh0KXtsZXQgZT1udWxsO2U9dGhpcy5tdWx0aXBsZT90aGlzLnNlbGVjdGVkLm1hcCgodD0+dC52YWx1ZSkpOnRoaXMuc2VsZWN0ZWQ/dGhpcy5zZWxlY3RlZC52YWx1ZTp0LHRoaXMuX3ZhbHVlPWUsdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGUpLHRoaXMuX29uQ2hhbmdlKGUpLHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy5fZ2V0Q2hhbmdlRXZlbnQoZSkpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfV9oaWdobGlnaHRDb3JyZWN0T3B0aW9uKCl7dGhpcy5fa2V5TWFuYWdlciYmKHRoaXMuZW1wdHk/dGhpcy5fa2V5TWFuYWdlci5zZXRGaXJzdEl0ZW1BY3RpdmUoKTp0aGlzLl9rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0odGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWRbMF0pKX1fY2FuT3Blbigpe3ZhciB0O3JldHVybiF0aGlzLl9wYW5lbE9wZW4mJiF0aGlzLmRpc2FibGVkJiYobnVsbD09PSh0PXRoaXMub3B0aW9ucyl8fHZvaWQgMD09PXQ/dm9pZCAwOnQubGVuZ3RoKT4wfWZvY3VzKHQpe3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cyh0KX1fZ2V0UGFuZWxBcmlhTGFiZWxsZWRieSgpe3ZhciB0O2lmKHRoaXMuYXJpYUxhYmVsKXJldHVybiBudWxsO2NvbnN0IGU9bnVsbD09PSh0PXRoaXMuX3BhcmVudEZvcm1GaWVsZCl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuZ2V0TGFiZWxJZCgpO3JldHVybiB0aGlzLmFyaWFMYWJlbGxlZGJ5PyhlP2UrIiAiOiIiKSt0aGlzLmFyaWFMYWJlbGxlZGJ5OmV9X2dldEFyaWFBY3RpdmVEZXNjZW5kYW50KCl7cmV0dXJuIHRoaXMucGFuZWxPcGVuJiZ0aGlzLl9rZXlNYW5hZ2VyJiZ0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/dGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtLmlkOm51bGx9X2dldFRyaWdnZXJBcmlhTGFiZWxsZWRieSgpe3ZhciB0O2lmKHRoaXMuYXJpYUxhYmVsKXJldHVybiBudWxsO2NvbnN0IGU9bnVsbD09PSh0PXRoaXMuX3BhcmVudEZvcm1GaWVsZCl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuZ2V0TGFiZWxJZCgpO2xldCBuPShlP2UrIiAiOiIiKSt0aGlzLl92YWx1ZUlkO3JldHVybiB0aGlzLmFyaWFMYWJlbGxlZGJ5JiYobis9IiAiK3RoaXMuYXJpYUxhYmVsbGVkYnkpLG59X3BhbmVsRG9uZUFuaW1hdGluZyh0KXt0aGlzLm9wZW5lZENoYW5nZS5lbWl0KHQpfXNldERlc2NyaWJlZEJ5SWRzKHQpe3RoaXMuX2FyaWFEZXNjcmliZWRieT10LmpvaW4oIiAiKX1vbkNvbnRhaW5lckNsaWNrKCl7dGhpcy5mb2N1cygpLHRoaXMub3BlbigpfWdldCBzaG91bGRMYWJlbEZsb2F0KCl7cmV0dXJuIHRoaXMuX3BhbmVsT3Blbnx8IXRoaXMuZW1wdHl8fHRoaXMuX2ZvY3VzZWQmJiEhdGhpcy5fcGxhY2Vob2xkZXJ9fXhZLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4WSkoZ2YoUUwpLGdmKE9iKSxnZihtQyksZ2YobkwpLGdmKEtoKSxnZih2Riw4KSxnZihYVyw4KSxnZihoRyw4KSxnZih5VSw4KSxnZihsVywxMCksR2EoInRhYmluZGV4IiksZ2YoZ1kpLGdmKGNGKSxnZihoWSw4KSl9LHhZLsm1ZGlyPWhvKHt0eXBlOnhZLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoVnkob1ksNSksVnkoaVksNSksVnkodFYsNSkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4udHJpZ2dlcj10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5wYW5lbD10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5fb3ZlcmxheURpcj10LmZpcnN0KX19LGlucHV0czp7YXJpYUxhYmVsOlsiYXJpYS1sYWJlbCIsImFyaWFMYWJlbCJdLGlkOiJpZCIscGxhY2Vob2xkZXI6InBsYWNlaG9sZGVyIixyZXF1aXJlZDoicmVxdWlyZWQiLG11bHRpcGxlOiJtdWx0aXBsZSIsZGlzYWJsZU9wdGlvbkNlbnRlcmluZzoiZGlzYWJsZU9wdGlvbkNlbnRlcmluZyIsY29tcGFyZVdpdGg6ImNvbXBhcmVXaXRoIix2YWx1ZToidmFsdWUiLHR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWw6InR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWwiLHBhbmVsQ2xhc3M6InBhbmVsQ2xhc3MiLGFyaWFMYWJlbGxlZGJ5OlsiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYUxhYmVsbGVkYnkiXSxlcnJvclN0YXRlTWF0Y2hlcjoiZXJyb3JTdGF0ZU1hdGNoZXIiLHNvcnRDb21wYXJhdG9yOiJzb3J0Q29tcGFyYXRvciJ9LG91dHB1dHM6e29wZW5lZENoYW5nZToib3BlbmVkQ2hhbmdlIixfb3BlbmVkU3RyZWFtOiJvcGVuZWQiLF9jbG9zZWRTdHJlYW06ImNsb3NlZCIsc2VsZWN0aW9uQ2hhbmdlOiJzZWxlY3Rpb25DaGFuZ2UiLHZhbHVlQ2hhbmdlOiJ2YWx1ZUNoYW5nZSJ9LGZlYXR1cmVzOltRcCxxb119KSx4WS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlFMfSx7dHlwZTpPYn0se3R5cGU6bUN9LHt0eXBlOm5MfSx7dHlwZTpLaH0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6WFcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6aEcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6X1UsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3lVXX1dfSx7dHlwZTpsVyxkZWNvcmF0b3JzOlt7dHlwZTpWcn0se3R5cGU6QnJ9XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJ0YWJpbmRleCJdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltnWV19XX0se3R5cGU6Y0Z9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbaFldfV19XSx4WS5wcm9wRGVjb3JhdG9ycz17dHJpZ2dlcjpbe3R5cGU6YXIsYXJnczpbInRyaWdnZXIiXX1dLHBhbmVsOlt7dHlwZTphcixhcmdzOlsicGFuZWwiXX1dLF9vdmVybGF5RGlyOlt7dHlwZTphcixhcmdzOlt0Vl19XSxwYW5lbENsYXNzOlt7dHlwZTpSX31dLHBsYWNlaG9sZGVyOlt7dHlwZTpSX31dLHJlcXVpcmVkOlt7dHlwZTpSX31dLG11bHRpcGxlOlt7dHlwZTpSX31dLGRpc2FibGVPcHRpb25DZW50ZXJpbmc6W3t0eXBlOlJffV0sY29tcGFyZVdpdGg6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV0sYXJpYUxhYmVsOlt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbCJdfV0sYXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dLGVycm9yU3RhdGVNYXRjaGVyOlt7dHlwZTpSX31dLHR5cGVhaGVhZERlYm91bmNlSW50ZXJ2YWw6W3t0eXBlOlJffV0sc29ydENvbXBhcmF0b3I6W3t0eXBlOlJffV0saWQ6W3t0eXBlOlJffV0sb3BlbmVkQ2hhbmdlOlt7dHlwZTpFX31dLF9vcGVuZWRTdHJlYW06W3t0eXBlOkVfLGFyZ3M6WyJvcGVuZWQiXX1dLF9jbG9zZWRTdHJlYW06W3t0eXBlOkVfLGFyZ3M6WyJjbG9zZWQiXX1dLHNlbGVjdGlvbkNoYW5nZTpbe3R5cGU6RV99XSx2YWx1ZUNoYW5nZTpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4WSxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UUx9LHt0eXBlOk9ifSx7dHlwZTptQ30se3R5cGU6bkx9LHt0eXBlOktofSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpYVyxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpoRyxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpfVSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbeVVdfV19LHt0eXBlOmxXLGRlY29yYXRvcnM6W3t0eXBlOlZyfSx7dHlwZTpCcn1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbInRhYmluZGV4Il19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2dZXX1dfSx7dHlwZTpjRn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltoWV19XX1dfSkse2FyaWFMYWJlbDpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWwiXX1dLG9wZW5lZENoYW5nZTpbe3R5cGU6RV99XSxfb3BlbmVkU3RyZWFtOlt7dHlwZTpFXyxhcmdzOlsib3BlbmVkIl19XSxfY2xvc2VkU3RyZWFtOlt7dHlwZTpFXyxhcmdzOlsiY2xvc2VkIl19XSxzZWxlY3Rpb25DaGFuZ2U6W3t0eXBlOkVffV0sdmFsdWVDaGFuZ2U6W3t0eXBlOkVffV0saWQ6W3t0eXBlOlJffV0scGxhY2Vob2xkZXI6W3t0eXBlOlJffV0scmVxdWlyZWQ6W3t0eXBlOlJffV0sbXVsdGlwbGU6W3t0eXBlOlJffV0sZGlzYWJsZU9wdGlvbkNlbnRlcmluZzpbe3R5cGU6Ul99XSxjb21wYXJlV2l0aDpbe3R5cGU6Ul99XSx2YWx1ZTpbe3R5cGU6Ul99XSx0eXBlYWhlYWREZWJvdW5jZUludGVydmFsOlt7dHlwZTpSX31dLHRyaWdnZXI6W3t0eXBlOmFyLGFyZ3M6WyJ0cmlnZ2VyIl19XSxwYW5lbDpbe3R5cGU6YXIsYXJnczpbInBhbmVsIl19XSxfb3ZlcmxheURpcjpbe3R5cGU6YXIsYXJnczpbdFZdfV0scGFuZWxDbGFzczpbe3R5cGU6Ul99XSxhcmlhTGFiZWxsZWRieTpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWxsZWRieSJdfV0sZXJyb3JTdGF0ZU1hdGNoZXI6W3t0eXBlOlJffV0sc29ydENvbXBhcmF0b3I6W3t0eXBlOlJffV19KTtjbGFzcyBPWSBleHRlbmRzIHhZe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9zY3JvbGxUb3A9MCx0aGlzLl90cmlnZ2VyRm9udFNpemU9MCx0aGlzLl90cmFuc2Zvcm1PcmlnaW49InRvcCIsdGhpcy5fb2Zmc2V0WT0wLHRoaXMuX3Bvc2l0aW9ucz1be29yaWdpblg6InN0YXJ0IixvcmlnaW5ZOiJ0b3AiLG92ZXJsYXlYOiJzdGFydCIsb3ZlcmxheVk6InRvcCJ9LHtvcmlnaW5YOiJzdGFydCIsb3JpZ2luWToiYm90dG9tIixvdmVybGF5WDoic3RhcnQiLG92ZXJsYXlZOiJib3R0b20ifV19X2NhbGN1bGF0ZU92ZXJsYXlTY3JvbGwodCxlLG4pe2NvbnN0IG89dGhpcy5fZ2V0SXRlbUhlaWdodCgpO3JldHVybiBNYXRoLm1pbihNYXRoLm1heCgwLG8qdC1lK28vMiksbil9bmdPbkluaXQoKXtzdXBlci5uZ09uSW5pdCgpLHRoaXMuX3ZpZXdwb3J0UnVsZXIuY2hhbmdlKCkucGlwZShqZSh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMucGFuZWxPcGVuJiYodGhpcy5fdHJpZ2dlclJlY3Q9dGhpcy50cmlnZ2VyLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpfSkpfW9wZW4oKXtzdXBlci5fY2FuT3BlbigpJiYoc3VwZXIub3BlbigpLHRoaXMuX3RyaWdnZXJSZWN0PXRoaXMudHJpZ2dlci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHRoaXMuX3RyaWdnZXJGb250U2l6ZT1wYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHRoaXMudHJpZ2dlci5uYXRpdmVFbGVtZW50KS5mb250U2l6ZXx8IjAiKSx0aGlzLl9jYWxjdWxhdGVPdmVybGF5UG9zaXRpb24oKSx0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX3RyaWdnZXJGb250U2l6ZSYmdGhpcy5fb3ZlcmxheURpci5vdmVybGF5UmVmJiZ0aGlzLl9vdmVybGF5RGlyLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQmJih0aGlzLl9vdmVybGF5RGlyLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuc3R5bGUuZm9udFNpemU9YCR7dGhpcy5fdHJpZ2dlckZvbnRTaXplfXB4YCl9KSkpfV9zY3JvbGxPcHRpb25JbnRvVmlldyh0KXtjb25zdCBlPXdMKHQsdGhpcy5vcHRpb25zLHRoaXMub3B0aW9uR3JvdXBzKSxuPXRoaXMuX2dldEl0ZW1IZWlnaHQoKTt0aGlzLnBhbmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wPTA9PT10JiYxPT09ZT8wOmtMKCh0K2UpKm4sbix0aGlzLnBhbmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wLGZZKX1fcG9zaXRpb25pbmdTZXR0bGVkKCl7dGhpcy5fY2FsY3VsYXRlT3ZlcmxheU9mZnNldFgoKSx0aGlzLnBhbmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wPXRoaXMuX3Njcm9sbFRvcH1fcGFuZWxEb25lQW5pbWF0aW5nKHQpe3RoaXMucGFuZWxPcGVuP3RoaXMuX3Njcm9sbFRvcD0wOih0aGlzLl9vdmVybGF5RGlyLm9mZnNldFg9MCx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSksc3VwZXIuX3BhbmVsRG9uZUFuaW1hdGluZyh0KX1fZ2V0Q2hhbmdlRXZlbnQodCl7cmV0dXJuIG5ldyBfWSh0aGlzLHQpfV9jYWxjdWxhdGVPdmVybGF5T2Zmc2V0WCgpe2NvbnN0IHQ9dGhpcy5fb3ZlcmxheURpci5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGU9dGhpcy5fdmlld3BvcnRSdWxlci5nZXRWaWV3cG9ydFNpemUoKSxuPXRoaXMuX2lzUnRsKCksbz10aGlzLm11bHRpcGxlPzU2OjMyO2xldCBpO2lmKHRoaXMubXVsdGlwbGUpaT00MDtlbHNlIGlmKHRoaXMuZGlzYWJsZU9wdGlvbkNlbnRlcmluZylpPXVZO2Vsc2V7bGV0IHQ9dGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWRbMF18fHRoaXMub3B0aW9ucy5maXJzdDtpPXQmJnQuZ3JvdXA/MzI6dVl9bnx8KGkqPS0xKTtjb25zdCBhPTAtKHQubGVmdCtpLShuP286MCkpLHI9dC5yaWdodCtpLWUud2lkdGgrKG4/MDpvKTthPjA/aSs9YSs4OnI+MCYmKGktPXIrOCksdGhpcy5fb3ZlcmxheURpci5vZmZzZXRYPU1hdGgucm91bmQoaSksdGhpcy5fb3ZlcmxheURpci5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCl9X2NhbGN1bGF0ZU92ZXJsYXlPZmZzZXRZKHQsZSxuKXtjb25zdCBvPXRoaXMuX2dldEl0ZW1IZWlnaHQoKSxpPShvLXRoaXMuX3RyaWdnZXJSZWN0LmhlaWdodCkvMixhPU1hdGguZmxvb3IoZlkvbyk7bGV0IHI7aWYodGhpcy5kaXNhYmxlT3B0aW9uQ2VudGVyaW5nKXJldHVybiAwO2lmKDA9PT10aGlzLl9zY3JvbGxUb3Apcj10Km87ZWxzZSBpZih0aGlzLl9zY3JvbGxUb3A9PT1uKXtyPSh0LSh0aGlzLl9nZXRJdGVtQ291bnQoKS1hKSkqbysoby0odGhpcy5fZ2V0SXRlbUNvdW50KCkqby1mWSklbyl9ZWxzZSByPWUtby8yO3JldHVybiBNYXRoLnJvdW5kKC0xKnItaSl9X2NoZWNrT3ZlcmxheVdpdGhpblZpZXdwb3J0KHQpe2NvbnN0IGU9dGhpcy5fZ2V0SXRlbUhlaWdodCgpLG49dGhpcy5fdmlld3BvcnRSdWxlci5nZXRWaWV3cG9ydFNpemUoKSxvPXRoaXMuX3RyaWdnZXJSZWN0LnRvcC04LGk9bi5oZWlnaHQtdGhpcy5fdHJpZ2dlclJlY3QuYm90dG9tLTgsYT1NYXRoLmFicyh0aGlzLl9vZmZzZXRZKSxyPU1hdGgubWluKHRoaXMuX2dldEl0ZW1Db3VudCgpKmUsZlkpLWEtdGhpcy5fdHJpZ2dlclJlY3QuaGVpZ2h0O3I+aT90aGlzLl9hZGp1c3RQYW5lbFVwKHIsaSk6YT5vP3RoaXMuX2FkanVzdFBhbmVsRG93bihhLG8sdCk6dGhpcy5fdHJhbnNmb3JtT3JpZ2luPXRoaXMuX2dldE9yaWdpbkJhc2VkT25PcHRpb24oKX1fYWRqdXN0UGFuZWxVcCh0LGUpe2NvbnN0IG49TWF0aC5yb3VuZCh0LWUpO3RoaXMuX3Njcm9sbFRvcC09bix0aGlzLl9vZmZzZXRZLT1uLHRoaXMuX3RyYW5zZm9ybU9yaWdpbj10aGlzLl9nZXRPcmlnaW5CYXNlZE9uT3B0aW9uKCksdGhpcy5fc2Nyb2xsVG9wPD0wJiYodGhpcy5fc2Nyb2xsVG9wPTAsdGhpcy5fb2Zmc2V0WT0wLHRoaXMuX3RyYW5zZm9ybU9yaWdpbj0iNTAlIGJvdHRvbSAwcHgiKX1fYWRqdXN0UGFuZWxEb3duKHQsZSxuKXtjb25zdCBvPU1hdGgucm91bmQodC1lKTtpZih0aGlzLl9zY3JvbGxUb3ArPW8sdGhpcy5fb2Zmc2V0WSs9byx0aGlzLl90cmFuc2Zvcm1PcmlnaW49dGhpcy5fZ2V0T3JpZ2luQmFzZWRPbk9wdGlvbigpLHRoaXMuX3Njcm9sbFRvcD49bilyZXR1cm4gdGhpcy5fc2Nyb2xsVG9wPW4sdGhpcy5fb2Zmc2V0WT0wLHZvaWQodGhpcy5fdHJhbnNmb3JtT3JpZ2luPSI1MCUgdG9wIDBweCIpfV9jYWxjdWxhdGVPdmVybGF5UG9zaXRpb24oKXtjb25zdCB0PXRoaXMuX2dldEl0ZW1IZWlnaHQoKSxlPXRoaXMuX2dldEl0ZW1Db3VudCgpLG49TWF0aC5taW4oZSp0LGZZKSxvPWUqdC1uO2xldCBpO2k9dGhpcy5lbXB0eT8wOk1hdGgubWF4KHRoaXMub3B0aW9ucy50b0FycmF5KCkuaW5kZXhPZih0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZFswXSksMCksaSs9d0woaSx0aGlzLm9wdGlvbnMsdGhpcy5vcHRpb25Hcm91cHMpO2NvbnN0IGE9bi8yO3RoaXMuX3Njcm9sbFRvcD10aGlzLl9jYWxjdWxhdGVPdmVybGF5U2Nyb2xsKGksYSxvKSx0aGlzLl9vZmZzZXRZPXRoaXMuX2NhbGN1bGF0ZU92ZXJsYXlPZmZzZXRZKGksYSxvKSx0aGlzLl9jaGVja092ZXJsYXlXaXRoaW5WaWV3cG9ydChvKX1fZ2V0T3JpZ2luQmFzZWRPbk9wdGlvbigpe2NvbnN0IHQ9dGhpcy5fZ2V0SXRlbUhlaWdodCgpLGU9KHQtdGhpcy5fdHJpZ2dlclJlY3QuaGVpZ2h0KS8yO3JldHVybmA1MCUgJHtNYXRoLmFicyh0aGlzLl9vZmZzZXRZKS1lK3QvMn1weCAwcHhgfV9nZXRJdGVtSGVpZ2h0KCl7cmV0dXJuIDMqdGhpcy5fdHJpZ2dlckZvbnRTaXplfV9nZXRJdGVtQ291bnQoKXtyZXR1cm4gdGhpcy5vcHRpb25zLmxlbmd0aCt0aGlzLm9wdGlvbkdyb3Vwcy5sZW5ndGh9fU9ZLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShPWSkpKShufHxPWSl9fSkoKSxPWS7JtWNtcD1zbyh7dHlwZTpPWSxzZWxlY3RvcnM6W1sibWF0LXNlbGVjdCJdXSxjb250ZW50UXVlcmllczpmdW5jdGlvbiB0KGUsbixvKXtpZigxJmUmJihqeShvLE1ZLDUpLGp5KG8sUEwsNSksankobyxDTCw1KSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5jdXN0b21UcmlnZ2VyPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLm9wdGlvbnM9dCksQnkodD1VeSgpKSYmKG4ub3B0aW9uR3JvdXBzPXQpfX0saG9zdEF0dHJzOlsicm9sZSIsImNvbWJvYm94IiwiYXJpYS1hdXRvY29tcGxldGUiLCJub25lIiwiYXJpYS1oYXNwb3B1cCIsInRydWUiLDEsIm1hdC1zZWxlY3QiXSxob3N0VmFyczoyMCxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9oYW5kbGVLZXlkb3duKGUpfSkpKCJmb2N1cyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fb25Gb2N1cygpfSkpKCJibHVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9vbkJsdXIoKX0pKSwyJmUmJih5bSgiaWQiLG4uaWQpKCJ0YWJpbmRleCIsbi50YWJJbmRleCkoImFyaWEtY29udHJvbHMiLG4ucGFuZWxPcGVuP24uaWQrIi1wYW5lbCI6bnVsbCkoImFyaWEtZXhwYW5kZWQiLG4ucGFuZWxPcGVuKSgiYXJpYS1sYWJlbCIsbi5hcmlhTGFiZWx8fG51bGwpKCJhcmlhLXJlcXVpcmVkIixuLnJlcXVpcmVkLnRvU3RyaW5nKCkpKCJhcmlhLWRpc2FibGVkIixuLmRpc2FibGVkLnRvU3RyaW5nKCkpKCJhcmlhLWludmFsaWQiLG4uZXJyb3JTdGF0ZSkoImFyaWEtZGVzY3JpYmVkYnkiLG4uX2FyaWFEZXNjcmliZWRieXx8bnVsbCkoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsbi5fZ2V0QXJpYUFjdGl2ZURlc2NlbmRhbnQoKSksY3UoIm1hdC1zZWxlY3QtZGlzYWJsZWQiLG4uZGlzYWJsZWQpKCJtYXQtc2VsZWN0LWludmFsaWQiLG4uZXJyb3JTdGF0ZSkoIm1hdC1zZWxlY3QtcmVxdWlyZWQiLG4ucmVxdWlyZWQpKCJtYXQtc2VsZWN0LWVtcHR5IixuLmVtcHR5KSgibWF0LXNlbGVjdC1tdWx0aXBsZSIsbi5tdWx0aXBsZSkpfSxpbnB1dHM6e2Rpc2FibGVkOiJkaXNhYmxlZCIsZGlzYWJsZVJpcHBsZToiZGlzYWJsZVJpcHBsZSIsdGFiSW5kZXg6InRhYkluZGV4In0sZXhwb3J0QXM6WyJtYXRTZWxlY3QiXSxmZWF0dXJlczpbamgoW3twcm92aWRlOmlVLHVzZUV4aXN0aW5nOk9ZfSx7cHJvdmlkZTpoTCx1c2VFeGlzdGluZzpPWX1dKSxRcF0sbmdDb250ZW50U2VsZWN0b3JzOlsibWF0LXNlbGVjdC10cmlnZ2VyIiwiKiJdLGRlY2xzOjksdmFyczoxMixjb25zdHM6W1siY2RrLW92ZXJsYXktb3JpZ2luIiwiIiwxLCJtYXQtc2VsZWN0LXRyaWdnZXIiLDMsImNsaWNrIl0sWyJvcmlnaW4iLCJjZGtPdmVybGF5T3JpZ2luIiwidHJpZ2dlciIsIiJdLFsxLCJtYXQtc2VsZWN0LXZhbHVlIiwzLCJuZ1N3aXRjaCJdLFsiY2xhc3MiLCJtYXQtc2VsZWN0LXBsYWNlaG9sZGVyIG1hdC1zZWxlY3QtbWluLWxpbmUiLDQsIm5nU3dpdGNoQ2FzZSJdLFsiY2xhc3MiLCJtYXQtc2VsZWN0LXZhbHVlLXRleHQiLDMsIm5nU3dpdGNoIiw0LCJuZ1N3aXRjaENhc2UiXSxbMSwibWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyIl0sWzEsIm1hdC1zZWxlY3QtYXJyb3ciXSxbImNkay1jb25uZWN0ZWQtb3ZlcmxheSIsIiIsImNka0Nvbm5lY3RlZE92ZXJsYXlMb2NrUG9zaXRpb24iLCIiLCJjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3AiLCIiLCJjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcyIsImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wIiwzLCJjZGtDb25uZWN0ZWRPdmVybGF5UGFuZWxDbGFzcyIsImNka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneSIsImNka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW4iLCJjZGtDb25uZWN0ZWRPdmVybGF5T3BlbiIsImNka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnMiLCJjZGtDb25uZWN0ZWRPdmVybGF5TWluV2lkdGgiLCJjZGtDb25uZWN0ZWRPdmVybGF5T2Zmc2V0WSIsImJhY2tkcm9wQ2xpY2siLCJhdHRhY2giLCJkZXRhY2giXSxbMSwibWF0LXNlbGVjdC1wbGFjZWhvbGRlciIsIm1hdC1zZWxlY3QtbWluLWxpbmUiXSxbMSwibWF0LXNlbGVjdC12YWx1ZS10ZXh0IiwzLCJuZ1N3aXRjaCJdLFsiY2xhc3MiLCJtYXQtc2VsZWN0LW1pbi1saW5lIiw0LCJuZ1N3aXRjaERlZmF1bHQiXSxbNCwibmdTd2l0Y2hDYXNlIl0sWzEsIm1hdC1zZWxlY3QtbWluLWxpbmUiXSxbMSwibWF0LXNlbGVjdC1wYW5lbC13cmFwIl0sWyJyb2xlIiwibGlzdGJveCIsInRhYmluZGV4IiwiLTEiLDMsIm5nQ2xhc3MiLCJrZXlkb3duIl0sWyJwYW5lbCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoSGYoZFkpLENmKDAsImRpdiIsMCwxKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4udG9nZ2xlKCl9KSksQ2YoMywiZGl2IiwyKSxIbSg0LGFZLDIsMSwic3BhbiIsMyksSG0oNSxsWSwzLDIsInNwYW4iLDQpLE1mKCksQ2YoNiwiZGl2Iiw1KSx2Zig3LCJkaXYiLDYpLE1mKCksTWYoKSxIbSg4LGNZLDQsMTQsIm5nLXRlbXBsYXRlIiw3KSxSZigiYmFja2Ryb3BDbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5jbG9zZSgpfSkpKCJhdHRhY2giLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX29uQXR0YWNoZWQoKX0pKSgiZGV0YWNoIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLmNsb3NlKCl9KSkpLDImZSl7Y29uc3QgdD1GbSgxKTt5bSgiYXJpYS1vd25zIixuLnBhbmVsT3Blbj9uLmlkKyItcGFuZWwiOm51bGwpLERjKDMpLGJmKCJuZ1N3aXRjaCIsbi5lbXB0eSkseW0oImlkIixuLl92YWx1ZUlkKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIiwhMCksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsITEpLERjKDMpLGJmKCJjZGtDb25uZWN0ZWRPdmVybGF5UGFuZWxDbGFzcyIsbi5fb3ZlcmxheVBhbmVsQ2xhc3MpKCJjZGtDb25uZWN0ZWRPdmVybGF5U2Nyb2xsU3RyYXRlZ3kiLG4uX3Njcm9sbFN0cmF0ZWd5KSgiY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbiIsdCkoImNka0Nvbm5lY3RlZE92ZXJsYXlPcGVuIixuLnBhbmVsT3BlbikoImNka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnMiLG4uX3Bvc2l0aW9ucykoImNka0Nvbm5lY3RlZE92ZXJsYXlNaW5XaWR0aCIsbnVsbD09bi5fdHJpZ2dlclJlY3Q/bnVsbDpuLl90cmlnZ2VyUmVjdC53aWR0aCkoImNka0Nvbm5lY3RlZE92ZXJsYXlPZmZzZXRZIixuLl9vZmZzZXRZKX19LGRpcmVjdGl2ZXM6WyRCLER2LFJ2LHRWLEV2LEN2XSxzdHlsZXM6WycubWF0LXNlbGVjdHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMDAlO291dGxpbmU6bm9uZX0ubWF0LXNlbGVjdC10cmlnZ2Vye2Rpc3BsYXk6aW5saW5lLXRhYmxlO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LXNlbGVjdC1kaXNhYmxlZCAubWF0LXNlbGVjdC10cmlnZ2Vyey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6ZGVmYXVsdH0ubWF0LXNlbGVjdC12YWx1ZXtkaXNwbGF5OnRhYmxlLWNlbGw7bWF4LXdpZHRoOjA7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lm1hdC1zZWxlY3QtdmFsdWUtdGV4dHt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTI1JSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWZvcm0tZmllbGQtaGFzLWxhYmVsIC5tYXQtc2VsZWN0Om5vdCgubWF0LXNlbGVjdC1lbXB0eSkgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWVtcHR5IC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXJ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1lbXB0eSAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVye3RyYW5zaXRpb246bm9uZX0ubWF0LXNlbGVjdC1hcnJvd3t3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO21hcmdpbjowIDRweH0ubWF0LXNlbGVjdC1wYW5lbC13cmFwe2ZsZXgtYmFzaXM6MTAwJX0ubWF0LXNlbGVjdC1wYW5lbHttaW4td2lkdGg6MTEycHg7bWF4LXdpZHRoOjI4MHB4O292ZXJmbG93OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO21heC1oZWlnaHQ6MjU2cHg7bWluLXdpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo0cHg7b3V0bGluZTowfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zZWxlY3QtcGFuZWx7b3V0bGluZTpzb2xpZCAxcHh9Lm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRncm91cC1sYWJlbCwubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbntmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDozZW07aGVpZ2h0OjNlbX0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtc2VsZWN0Om5vdCgubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC5tYXQtZm9ybS1maWVsZC1mbGV4e2N1cnNvcjpwb2ludGVyfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1zZWxlY3QgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3dpZHRoOmNhbGMoMTAwJSAtIDE4cHgpfS5tYXQtc2VsZWN0LXBsYWNlaG9sZGVye3RyYW5zaXRpb246Y29sb3IgNDAwbXMgMTMzLjMzMzMzMzMzMzNtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zZWxlY3QtcGxhY2Vob2xkZXJ7dHJhbnNpdGlvbjpub25lfS5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtc2VsZWN0LXBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246bm9uZTtkaXNwbGF5OmJsb2NrfS5tYXQtc2VsZWN0LW1pbi1saW5lOmVtcHR5OjpiZWZvcmV7Y29udGVudDoiICI7d2hpdGUtc3BhY2U6cHJlO3dpZHRoOjFweDtkaXNwbGF5OmlubGluZS1ibG9jaztvcGFjaXR5OjB9XG4nXSxlbmNhcHN1bGF0aW9uOjIsZGF0YTp7YW5pbWF0aW9uOltwWS50cmFuc2Zvcm1QYW5lbFdyYXAscFkudHJhbnNmb3JtUGFuZWxdfSxjaGFuZ2VEZXRlY3Rpb246MH0pLE9ZLnByb3BEZWNvcmF0b3JzPXtvcHRpb25zOlt7dHlwZTpvcixhcmdzOltQTCx7ZGVzY2VuZGFudHM6ITB9XX1dLG9wdGlvbkdyb3Vwczpbe3R5cGU6b3IsYXJnczpbQ0wse2Rlc2NlbmRhbnRzOiEwfV19XSxjdXN0b21UcmlnZ2VyOlt7dHlwZTppcixhcmdzOltNWV19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPWSxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtc2VsZWN0IixleHBvcnRBczoibWF0U2VsZWN0Iix0ZW1wbGF0ZTonXHgzYyEtLVxuIE5vdGUgdGhhdCB0aGUgc2VsZWN0IHRyaWdnZXIgZWxlbWVudCBzcGVjaWZpZXMgYGFyaWEtb3duc2AgcG9pbnRpbmcgdG8gdGhlIGxpc3Rib3ggb3ZlcmxheS5cbiBXaGlsZSBhcmlhLW93bnMgaXMgbm90IHJlcXVpcmVkIGZvciB0aGUgQVJJQSAxLjIgYHJvbGU9ImNvbWJvYm94ImAgaW50ZXJhY3Rpb24gcGF0dGVybixcbiBpdCBmaXhlcyBhbiBpc3N1ZSB3aXRoIFZvaWNlT3ZlciB3aGVuIHRoZSBzZWxlY3QgYXBwZWFycyBpbnNpZGUgb2YgYW4gYGFyaWEtbW9kZWw9InRydWUiYFxuIGVsZW1lbnQgKGUuZy4gYSBkaWFsb2cpLiBXaXRob3V0IHRoaXMgYGFyaWEtb3duc2AsIHRoZSBgYXJpYS1tb2RhbGAgb24gYSBkaWFsb2cgcHJldmVudHNcbiBWb2ljZU92ZXIgZnJvbSAic2VlaW5nIiB0aGUgc2VsZWN0XCdzIGxpc3Rib3ggb3ZlcmxheSBmb3IgYXJpYS1hY3RpdmVkZXNjZW5kYW50LlxuIFVzaW5nIGBhcmlhLW93bnNgIHJlLXBhcmVudHMgdGhlIHNlbGVjdCBvdmVybGF5IHNvIHRoYXQgaXQgd29ya3MgYWdhaW4uXG4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzIwNjk0XG4tLVx4M2VcbjxkaXYgY2RrLW92ZXJsYXktb3JpZ2luXG4gICAgIFthdHRyLmFyaWEtb3duc109InBhbmVsT3BlbiA/IGlkICsgXCctcGFuZWxcJyA6IG51bGwiXG4gICAgIGNsYXNzPSJtYXQtc2VsZWN0LXRyaWdnZXIiXG4gICAgIChjbGljayk9InRvZ2dsZSgpIlxuICAgICAjb3JpZ2luPSJjZGtPdmVybGF5T3JpZ2luIlxuICAgICAjdHJpZ2dlcj5cbiAgPGRpdiBjbGFzcz0ibWF0LXNlbGVjdC12YWx1ZSIgW25nU3dpdGNoXT0iZW1wdHkiIFthdHRyLmlkXT0iX3ZhbHVlSWQiPlxuICAgIDxzcGFuIGNsYXNzPSJtYXQtc2VsZWN0LXBsYWNlaG9sZGVyIG1hdC1zZWxlY3QtbWluLWxpbmUiICpuZ1N3aXRjaENhc2U9InRydWUiPnt7cGxhY2Vob2xkZXJ9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz0ibWF0LXNlbGVjdC12YWx1ZS10ZXh0IiAqbmdTd2l0Y2hDYXNlPSJmYWxzZSIgW25nU3dpdGNoXT0iISFjdXN0b21UcmlnZ2VyIj5cbiAgICAgIDxzcGFuIGNsYXNzPSJtYXQtc2VsZWN0LW1pbi1saW5lIiAqbmdTd2l0Y2hEZWZhdWx0Pnt7dHJpZ2dlclZhbHVlfX08L3NwYW4+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9Im1hdC1zZWxlY3QtdHJpZ2dlciIgKm5nU3dpdGNoQ2FzZT0idHJ1ZSI+PC9uZy1jb250ZW50PlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz0ibWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyIj48ZGl2IGNsYXNzPSJtYXQtc2VsZWN0LWFycm93Ij48L2Rpdj48L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGVcbiAgY2RrLWNvbm5lY3RlZC1vdmVybGF5XG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlMb2NrUG9zaXRpb25cbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlCYWNrZHJvcENsYXNzPSJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzXT0iX292ZXJsYXlQYW5lbENsYXNzIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVNjcm9sbFN0cmF0ZWd5XT0iX3Njcm9sbFN0cmF0ZWd5IlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09Im9yaWdpbiJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT0icGFuZWxPcGVuIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109Il9wb3NpdGlvbnMiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5TWluV2lkdGhdPSJfdHJpZ2dlclJlY3Q/LndpZHRoISJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPZmZzZXRZXT0iX29mZnNldFkiXG4gIChiYWNrZHJvcENsaWNrKT0iY2xvc2UoKSJcbiAgKGF0dGFjaCk9Il9vbkF0dGFjaGVkKCkiXG4gIChkZXRhY2gpPSJjbG9zZSgpIj5cbiAgPGRpdiBjbGFzcz0ibWF0LXNlbGVjdC1wYW5lbC13cmFwIiBbQHRyYW5zZm9ybVBhbmVsV3JhcF0+XG4gICAgPGRpdlxuICAgICAgI3BhbmVsXG4gICAgICByb2xlPSJsaXN0Ym94IlxuICAgICAgdGFiaW5kZXg9Ii0xIlxuICAgICAgY2xhc3M9Im1hdC1zZWxlY3QtcGFuZWwge3sgX2dldFBhbmVsVGhlbWUoKSB9fSJcbiAgICAgIFthdHRyLmlkXT0iaWQgKyBcJy1wYW5lbFwnIlxuICAgICAgW2F0dHIuYXJpYS1tdWx0aXNlbGVjdGFibGVdPSJtdWx0aXBsZSJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPSJhcmlhTGFiZWwgfHwgbnVsbCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09Il9nZXRQYW5lbEFyaWFMYWJlbGxlZGJ5KCkiXG4gICAgICBbbmdDbGFzc109InBhbmVsQ2xhc3MiXG4gICAgICBbQHRyYW5zZm9ybVBhbmVsXT0ibXVsdGlwbGUgPyBcJ3Nob3dpbmctbXVsdGlwbGVcJyA6IFwnc2hvd2luZ1wnIlxuICAgICAgKEB0cmFuc2Zvcm1QYW5lbC5kb25lKT0iX3BhbmVsRG9uZUFuaW1hdGluZ1N0cmVhbS5uZXh0KCRldmVudC50b1N0YXRlKSJcbiAgICAgIFtzdHlsZS50cmFuc2Zvcm1PcmlnaW5dPSJfdHJhbnNmb3JtT3JpZ2luIlxuICAgICAgW3N0eWxlLmZvbnQtc2l6ZS5weF09Il90cmlnZ2VyRm9udFNpemUiXG4gICAgICAoa2V5ZG93bik9Il9oYW5kbGVLZXlkb3duKCRldmVudCkiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4nLGlucHV0czpbImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSIsInRhYkluZGV4Il0sZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsaG9zdDp7cm9sZToiY29tYm9ib3giLCJhcmlhLWF1dG9jb21wbGV0ZSI6Im5vbmUiLCJhcmlhLWhhc3BvcHVwIjoidHJ1ZSIsY2xhc3M6Im1hdC1zZWxlY3QiLCJbYXR0ci5pZF0iOiJpZCIsIlthdHRyLnRhYmluZGV4XSI6InRhYkluZGV4IiwiW2F0dHIuYXJpYS1jb250cm9sc10iOidwYW5lbE9wZW4gPyBpZCArICItcGFuZWwiIDogbnVsbCcsIlthdHRyLmFyaWEtZXhwYW5kZWRdIjoicGFuZWxPcGVuIiwiW2F0dHIuYXJpYS1sYWJlbF0iOiJhcmlhTGFiZWwgfHwgbnVsbCIsIlthdHRyLmFyaWEtcmVxdWlyZWRdIjoicmVxdWlyZWQudG9TdHJpbmcoKSIsIlthdHRyLmFyaWEtZGlzYWJsZWRdIjoiZGlzYWJsZWQudG9TdHJpbmcoKSIsIlthdHRyLmFyaWEtaW52YWxpZF0iOiJlcnJvclN0YXRlIiwiW2F0dHIuYXJpYS1kZXNjcmliZWRieV0iOiJfYXJpYURlc2NyaWJlZGJ5IHx8IG51bGwiLCJbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdIjoiX2dldEFyaWFBY3RpdmVEZXNjZW5kYW50KCkiLCJbY2xhc3MubWF0LXNlbGVjdC1kaXNhYmxlZF0iOiJkaXNhYmxlZCIsIltjbGFzcy5tYXQtc2VsZWN0LWludmFsaWRdIjoiZXJyb3JTdGF0ZSIsIltjbGFzcy5tYXQtc2VsZWN0LXJlcXVpcmVkXSI6InJlcXVpcmVkIiwiW2NsYXNzLm1hdC1zZWxlY3QtZW1wdHldIjoiZW1wdHkiLCJbY2xhc3MubWF0LXNlbGVjdC1tdWx0aXBsZV0iOiJtdWx0aXBsZSIsIihrZXlkb3duKSI6Il9oYW5kbGVLZXlkb3duKCRldmVudCkiLCIoZm9jdXMpIjoiX29uRm9jdXMoKSIsIihibHVyKSI6Il9vbkJsdXIoKSJ9LGFuaW1hdGlvbnM6W3BZLnRyYW5zZm9ybVBhbmVsV3JhcCxwWS50cmFuc2Zvcm1QYW5lbF0scHJvdmlkZXJzOlt7cHJvdmlkZTppVSx1c2VFeGlzdGluZzpPWX0se3Byb3ZpZGU6aEwsdXNlRXhpc3Rpbmc6T1l9XSxzdHlsZXM6WycubWF0LXNlbGVjdHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMDAlO291dGxpbmU6bm9uZX0ubWF0LXNlbGVjdC10cmlnZ2Vye2Rpc3BsYXk6aW5saW5lLXRhYmxlO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LXNlbGVjdC1kaXNhYmxlZCAubWF0LXNlbGVjdC10cmlnZ2Vyey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6ZGVmYXVsdH0ubWF0LXNlbGVjdC12YWx1ZXtkaXNwbGF5OnRhYmxlLWNlbGw7bWF4LXdpZHRoOjA7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lm1hdC1zZWxlY3QtdmFsdWUtdGV4dHt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTI1JSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWZvcm0tZmllbGQtaGFzLWxhYmVsIC5tYXQtc2VsZWN0Om5vdCgubWF0LXNlbGVjdC1lbXB0eSkgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWVtcHR5IC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXJ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1lbXB0eSAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVye3RyYW5zaXRpb246bm9uZX0ubWF0LXNlbGVjdC1hcnJvd3t3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO21hcmdpbjowIDRweH0ubWF0LXNlbGVjdC1wYW5lbC13cmFwe2ZsZXgtYmFzaXM6MTAwJX0ubWF0LXNlbGVjdC1wYW5lbHttaW4td2lkdGg6MTEycHg7bWF4LXdpZHRoOjI4MHB4O292ZXJmbG93OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO21heC1oZWlnaHQ6MjU2cHg7bWluLXdpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo0cHg7b3V0bGluZTowfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zZWxlY3QtcGFuZWx7b3V0bGluZTpzb2xpZCAxcHh9Lm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRncm91cC1sYWJlbCwubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbntmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDozZW07aGVpZ2h0OjNlbX0ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtc2VsZWN0Om5vdCgubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQpIC5tYXQtZm9ybS1maWVsZC1mbGV4e2N1cnNvcjpwb2ludGVyfS5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1zZWxlY3QgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3dpZHRoOmNhbGMoMTAwJSAtIDE4cHgpfS5tYXQtc2VsZWN0LXBsYWNlaG9sZGVye3RyYW5zaXRpb246Y29sb3IgNDAwbXMgMTMzLjMzMzMzMzMzMzNtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zZWxlY3QtcGxhY2Vob2xkZXJ7dHJhbnNpdGlvbjpub25lfS5tYXQtZm9ybS1maWVsZC1oaWRlLXBsYWNlaG9sZGVyIC5tYXQtc2VsZWN0LXBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246bm9uZTtkaXNwbGF5OmJsb2NrfS5tYXQtc2VsZWN0LW1pbi1saW5lOmVtcHR5OjpiZWZvcmV7Y29udGVudDoiICI7d2hpdGUtc3BhY2U6cHJlO3dpZHRoOjFweDtkaXNwbGF5OmlubGluZS1ibG9jaztvcGFjaXR5OjB9XG4nXX1dfV0sbnVsbCx7b3B0aW9uczpbe3R5cGU6b3IsYXJnczpbUEwse2Rlc2NlbmRhbnRzOiEwfV19XSxvcHRpb25Hcm91cHM6W3t0eXBlOm9yLGFyZ3M6W0NMLHtkZXNjZW5kYW50czohMH1dfV0sY3VzdG9tVHJpZ2dlcjpbe3R5cGU6aXIsYXJnczpbTVldfV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIFBZe31mdW5jdGlvbiB3WSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsInNwYW4iLDUpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUobil7UGkodCk7Y29uc3Qgbz16ZigpLiRpbXBsaWNpdDtyZXR1cm4gemYoKS5vbkFjdGl2ZVBsdWdpblNlbGVjdGlvbihuLG8uaWQpfSkpLFB1KDEpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCkuJGltcGxpY2l0O3ltKCJkYXRhLXBsdWdpbi1pZCIsdC5pZCksRGMoMSksa3UoIiAiLHQudGFiX25hbWUsIiAiKX19ZnVuY3Rpb24ga1kodCxlKXtpZigxJnQmJihDZigwLCJtYXQtdGFiIiwzKSxIbSgxLHdZLDIsMiwibmctdGVtcGxhdGUiLDQpLE1mKCkpLDImdCl7YmYoImRpc2FibGVkIiwhZS4kaW1wbGljaXQuZW5hYmxlZCl9fWZ1bmN0aW9uIFNZKHQsZSl7aWYoMSZ0JiYoQ2YoMCwibWF0LW9wdGlvbiIsOSksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0O2JmKCJ2YWx1ZSIsdC5pZCkseW0oImRhdGEtcGx1Z2luLWlkIix0LmlkKSxEYygxKSxrdSgiICIsdC50YWJfbmFtZSwiICIpfX1mdW5jdGlvbiBEWSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsIm1hdC1mb3JtLWZpZWxkIiw2KSxDZigxLCJtYXQtbGFiZWwiKSxQdSgyLCJJbmFjdGl2ZSIpLE1mKCksQ2YoMywibWF0LXNlbGVjdCIsNyksUmYoInNlbGVjdGlvbkNoYW5nZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25EaXNhYmxlZFBsdWdpblNlbGVjdGlvbkNoYW5nZWQobil9KSksSG0oNCxTWSwyLDMsIm1hdC1vcHRpb24iLDgpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtEYygzKSxiZigidmFsdWUiLHQuc2VsZWN0ZWRQbHVnaW4pLERjKDEpLGJmKCJuZ0Zvck9mIix0LmRpc2FibGVkUGx1Z2lucyl9fVBZLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxQWSl9LFBZLsm1bW9kPWZvKHt0eXBlOlBZfSksUFkuybVpbmo9RG4oe3Byb3ZpZGVyczpbYlldLGltcG9ydHM6W1tyeCxvVixTTCxORl0sb0IsQ1UsU0wsTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihQWSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W3J4LG9WLFNMLE5GXSxleHBvcnRzOltvQixDVSxPWSx2WSxTTCxORl0sZGVjbGFyYXRpb25zOltPWSx2WV0scHJvdmlkZXJzOltiWV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhQWSx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW09ZLHZZXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltyeCxvVixTTCxORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bb0IsQ1UsT1ksdlksU0wsTkZdfX0pO2NsYXNzIFJZe2NvbnN0cnVjdG9yKCl7dGhpcy5vblBsdWdpblNlbGVjdGlvbkNoYW5nZWQ9bmV3IFN5fWdldEFjdGl2ZVBsdWdpbkluZGV4KCl7cmV0dXJuIHRoaXMuYWN0aXZlUGx1Z2lucy5maW5kSW5kZXgoKCh7aWQ6dH0pPT50PT09dGhpcy5zZWxlY3RlZFBsdWdpbikpfW9uQWN0aXZlUGx1Z2luU2VsZWN0aW9uKHQsZSl7dC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLm9uUGx1Z2luU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KGUpfW9uRGlzYWJsZWRQbHVnaW5TZWxlY3Rpb25DaGFuZ2VkKHQpe3RoaXMub25QbHVnaW5TZWxlY3Rpb25DaGFuZ2VkLmVtaXQodC52YWx1ZSl9fVJZLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxSWSl9LFJZLsm1Y21wPXNvKHt0eXBlOlJZLHNlbGVjdG9yczpbWyJwbHVnaW4tc2VsZWN0b3ItY29tcG9uZW50Il1dLGlucHV0czp7YWN0aXZlUGx1Z2luczoiYWN0aXZlUGx1Z2lucyIsZGlzYWJsZWRQbHVnaW5zOiJkaXNhYmxlZFBsdWdpbnMiLHNlbGVjdGVkUGx1Z2luOiJzZWxlY3RlZFBsdWdpbiJ9LG91dHB1dHM6e29uUGx1Z2luU2VsZWN0aW9uQ2hhbmdlZDoib25QbHVnaW5TZWxlY3Rpb25DaGFuZ2VkIn0sZGVjbHM6Myx2YXJzOjMsY29uc3RzOltbImFuaW1hdGlvbkR1cmF0aW9uIiwiMTAwbXMiLDEsImFjdGl2ZS1wbHVnaW4tbGlzdCIsMywic2VsZWN0ZWRJbmRleCJdLFszLCJkaXNhYmxlZCIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWyJmbG9hdExhYmVsIiwibmV2ZXIiLDQsIm5nSWYiXSxbMywiZGlzYWJsZWQiXSxbIm1hdC10YWItbGFiZWwiLCIiXSxbMSwicGx1Z2luLW5hbWUiLDMsImNsaWNrIl0sWyJmbG9hdExhYmVsIiwibmV2ZXIiXSxbMywidmFsdWUiLCJzZWxlY3Rpb25DaGFuZ2UiXSxbMywidmFsdWUiLDQsIm5nRm9yIiwibmdGb3JPZiJdLFszLCJ2YWx1ZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWF0LXRhYi1ncm91cCIsMCksSG0oMSxrWSwyLDEsIm1hdC10YWIiLDEpLE1mKCksSG0oMixEWSw1LDIsIm1hdC1mb3JtLWZpZWxkIiwyKSksMiZlJiYoYmYoInNlbGVjdGVkSW5kZXgiLG4uZ2V0QWN0aXZlUGx1Z2luSW5kZXgoKSksRGMoMSksYmYoIm5nRm9yT2YiLG4uYWN0aXZlUGx1Z2lucyksRGMoMSksYmYoIm5nSWYiLG4uZGlzYWJsZWRQbHVnaW5zLmxlbmd0aD4wKSl9LGRpcmVjdGl2ZXM6W1BqLHh2LFB2LGdqLG1qLF9VLGNVLE9ZLFBMXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleDoxIDEgYXV0bztmb250LXNpemU6MTRweDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59bWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZsZXg6MCAwO21hcmdpbi10b3A6NXB4O3dpZHRoOjEzMHB4fW1hdC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIG1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVdLCBtYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo1MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS5hY3RpdmUtcGx1Z2luLWxpc3RbX25nY29udGVudC0lQ09NUCVde2FsaWduLXNlbGY6c3RyZXRjaDtmbGV4OjEgMSBhdXRvO292ZXJmbG93OmhpZGRlbn0ucGx1Z2luLW5hbWVbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2hlaWdodDoxMDAlO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowIDEycHg7d2lkdGg6MTAwJX1bX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0Lm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpc3QgLm1hdC1pbmstYmFye2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yfVtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgLm1hdC10YWItbGFiZWwsIFtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgLm1hdC10YWItbGlua3tjb2xvcjppbmhlcml0O29wYWNpdHk6Ljd9W19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWxhYmVsLWFjdGl2ZSwgW19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCAubWF0LXRhYi1saW5rLm1hdC10YWItbGFiZWwtYWN0aXZle29wYWNpdHk6MX1bX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb257Ym9yZGVyLWNvbG9yOmN1cnJlbnRDb2xvcn1bX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVke3Zpc2liaWxpdHk6aGlkZGVufVtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgLm1hdC10YWItZGlzYWJsZWR7ZGlzcGxheTpub25lfVtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgbWF0LXRhYi1saXN0LCBbX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IC5tYXQtdGFiLWhlYWRlciwgW19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCAubWF0LXRhYi1sYWJlbHMsIFtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgLm1hdC10YWItbGFiZWx7aGVpZ2h0OjEwMCV9W19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCAubWF0LXRhYi1sYWJlbHttaW4td2lkdGg6NDhweDtwYWRkaW5nOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfVtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgLm1hdC10YWItbGFiZWwtY29udGVudHtoZWlnaHQ6MTAwJX1bX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IG1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxpc3R7cGFkZGluZzowIDM2cHh9W19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCBtYXQtdGFiLWhlYWRlcj46Zmlyc3QtY2hpbGQsIFtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgbWF0LXRhYi1oZWFkZXI+Lm1hdC10YWItbGFiZWwtY29udGFpbmVyLCBbX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IG1hdC10YWItaGVhZGVyPjpsYXN0LWNoaWxke2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfVtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgbWF0LXRhYi1oZWFkZXI+OmZpcnN0LWNoaWxkLCBbX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IG1hdC10YWItaGVhZGVyPi5tYXQtdGFiLWxhYmVsLWNvbnRhaW5lcntsZWZ0OjB9W19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCBtYXQtdGFiLWhlYWRlcj46bGFzdC1jaGlsZCwgW19uZ2hvc3QtJUNPTVAlXSAgICAgLmFjdGl2ZS1wbHVnaW4tbGlzdCBtYXQtdGFiLWhlYWRlcj4ubWF0LXRhYi1sYWJlbC1jb250YWluZXJ7cmlnaHQ6MH1bX25naG9zdC0lQ09NUCVdICAgICAuYWN0aXZlLXBsdWdpbi1saXN0IG1hdC10YWItaGVhZGVyPi5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9ue2JhY2tncm91bmQtY29sb3I6I2Y1N2MwMH1ib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAgIC5hY3RpdmUtcGx1Z2luLWxpc3QgbWF0LXRhYi1oZWFkZXI+Lm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb257YmFja2dyb3VuZC1jb2xvcjojZWY2YzAwfSddfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihSWSxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJwbHVnaW4tc2VsZWN0b3ItY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9wbHVnaW5fc2VsZWN0b3JfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vcGx1Z2luX3NlbGVjdG9yX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCx7YWN0aXZlUGx1Z2luczpbe3R5cGU6Ul99XSxkaXNhYmxlZFBsdWdpbnM6W3t0eXBlOlJffV0sc2VsZWN0ZWRQbHVnaW46W3t0eXBlOlJffV0sb25QbHVnaW5TZWxlY3Rpb25DaGFuZ2VkOlt7dHlwZTpFX31dfSk7Y29uc3QgRVk9YlMoblQsKHQ9Pk9iamVjdC5rZXlzKHQpLm1hcCgoZT0+T2JqZWN0LmFzc2lnbih7fSx7aWQ6ZX0sdFtlXSkpKSkpLEFZPWJTKEVZLCh0PT50LmZpbHRlcigodD0+IXQuZW5hYmxlZCkpKSk7Y2xhc3MgVFl7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuYWN0aXZlUGx1Z2luJD10aGlzLnN0b3JlLnBpcGUoclMoZVQpKSx0aGlzLnBsdWdpbnMkPXRoaXMuc3RvcmUucGlwZShyUyhFWSkpLHRoaXMuZGlzYWJsZWRQbHVnaW5zJD10aGlzLnN0b3JlLnBpcGUoclMoQVkpKX1vblBsdWdpblNlbGVjdGlvbkNoYW5nZSh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKFpFKHtwbHVnaW46dH0pKX19ZnVuY3Rpb24gTlkodCxlKXt9VFkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFRZKShnZihpUykpfSxUWS7JtWNtcD1zbyh7dHlwZTpUWSxzZWxlY3RvcnM6W1sicGx1Z2luLXNlbGVjdG9yIl1dLGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsImFjdGl2ZVBsdWdpbnMiLCJkaXNhYmxlZFBsdWdpbnMiLCJzZWxlY3RlZFBsdWdpbiIsIm9uUGx1Z2luU2VsZWN0aW9uQ2hhbmdlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwicGx1Z2luLXNlbGVjdG9yLWNvbXBvbmVudCIsMCksUmYoIm9uUGx1Z2luU2VsZWN0aW9uQ2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25QbHVnaW5TZWxlY3Rpb25DaGFuZ2UoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksTWYoKSksMiZlJiZiZigiYWN0aXZlUGx1Z2lucyIsQ3koMSwzLG4ucGx1Z2lucyQpKSgiZGlzYWJsZWRQbHVnaW5zIixDeSgyLDUsbi5kaXNhYmxlZFBsdWdpbnMkKSkoInNlbGVjdGVkUGx1Z2luIixDeSgzLDcsbi5hY3RpdmVQbHVnaW4kKSl9LGRpcmVjdGl2ZXM6W1JZXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVFksW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoicGx1Z2luLXNlbGVjdG9yIix0ZW1wbGF0ZTonXG4gICAgPHBsdWdpbi1zZWxlY3Rvci1jb21wb25lbnRcbiAgICAgIFthY3RpdmVQbHVnaW5zXT0icGx1Z2lucyQgfCBhc3luYyJcbiAgICAgIFtkaXNhYmxlZFBsdWdpbnNdPSJkaXNhYmxlZFBsdWdpbnMkIHwgYXN5bmMiXG4gICAgICBbc2VsZWN0ZWRQbHVnaW5dPSJhY3RpdmVQbHVnaW4kIHwgYXN5bmMiXG4gICAgICAob25QbHVnaW5TZWxlY3Rpb25DaGFuZ2VkKT0ib25QbHVnaW5TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KSJcbiAgICA+PC9wbHVnaW4tc2VsZWN0b3ItY29tcG9uZW50PlxuICAnfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLG51bGwpO2NsYXNzIHpZe2NvbnN0cnVjdG9yKCl7dGhpcy5yb2xlPSJkaWFsb2ciLHRoaXMucGFuZWxDbGFzcz0iIix0aGlzLmhhc0JhY2tkcm9wPSEwLHRoaXMuYmFja2Ryb3BDbGFzcz0iIix0aGlzLmRpc2FibGVDbG9zZT0hMSx0aGlzLndpZHRoPSIiLHRoaXMuaGVpZ2h0PSIiLHRoaXMubWF4V2lkdGg9IjgwdnciLHRoaXMuZGF0YT1udWxsLHRoaXMuYXJpYURlc2NyaWJlZEJ5PW51bGwsdGhpcy5hcmlhTGFiZWxsZWRCeT1udWxsLHRoaXMuYXJpYUxhYmVsPW51bGwsdGhpcy5hdXRvRm9jdXM9ITAsdGhpcy5yZXN0b3JlRm9jdXM9ITAsdGhpcy5jbG9zZU9uTmF2aWdhdGlvbj0hMH19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IElZPXtkaWFsb2dDb250YWluZXI6eE8oImRpYWxvZ0NvbnRhaW5lciIsW2tPKCJ2b2lkLCBleGl0Iix3Tyh7b3BhY2l0eTowLHRyYW5zZm9ybToic2NhbGUoMC43KSJ9KSksa08oImVudGVyIix3Tyh7dHJhbnNmb3JtOiJub25lIn0pKSxETygiKiA9PiBlbnRlciIsT08oIjE1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpIix3Tyh7dHJhbnNmb3JtOiJub25lIixvcGFjaXR5OjF9KSkpLERPKCIqID0+IHZvaWQsICogPT4gZXhpdCIsT08oIjc1bXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIix3Tyh7b3BhY2l0eTowfSkpKV0pfTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24gSFkoKXt0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBhdHRhY2ggZGlhbG9nIGNvbnRlbnQgYWZ0ZXIgY29udGVudCBpcyBhbHJlYWR5IGF0dGFjaGVkIil9Y2xhc3MgRlkgZXh0ZW5kcyBkQntjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7c3VwZXIoKSx0aGlzLl9lbGVtZW50UmVmPXQsdGhpcy5fZm9jdXNUcmFwRmFjdG9yeT1lLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPW4sdGhpcy5fY29uZmlnPWksdGhpcy5fZm9jdXNNb25pdG9yPWEsdGhpcy5fYW5pbWF0aW9uU3RhdGVDaGFuZ2VkPW5ldyBTeSx0aGlzLl9lbGVtZW50Rm9jdXNlZEJlZm9yZURpYWxvZ1dhc09wZW5lZD1udWxsLHRoaXMuX2Nsb3NlSW50ZXJhY3Rpb25UeXBlPW51bGwsdGhpcy5hdHRhY2hEb21Qb3J0YWw9dD0+KHRoaXMuX3BvcnRhbE91dGxldC5oYXNBdHRhY2hlZCgpJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJkhZKCksdGhpcy5fcG9ydGFsT3V0bGV0LmF0dGFjaERvbVBvcnRhbCh0KSksdGhpcy5fYXJpYUxhYmVsbGVkQnk9aS5hcmlhTGFiZWxsZWRCeXx8bnVsbCx0aGlzLl9kb2N1bWVudD1vfV9pbml0aWFsaXplV2l0aEF0dGFjaGVkQ29udGVudCgpe3RoaXMuX3NldHVwRm9jdXNUcmFwKCksdGhpcy5fY2FwdHVyZVByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCgpLHRoaXMuX2ZvY3VzRGlhbG9nQ29udGFpbmVyKCl9YXR0YWNoQ29tcG9uZW50UG9ydGFsKHQpe3JldHVybiB0aGlzLl9wb3J0YWxPdXRsZXQuaGFzQXR0YWNoZWQoKSYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZIWSgpLHRoaXMuX3BvcnRhbE91dGxldC5hdHRhY2hDb21wb25lbnRQb3J0YWwodCl9YXR0YWNoVGVtcGxhdGVQb3J0YWwodCl7cmV0dXJuIHRoaXMuX3BvcnRhbE91dGxldC5oYXNBdHRhY2hlZCgpJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJkhZKCksdGhpcy5fcG9ydGFsT3V0bGV0LmF0dGFjaFRlbXBsYXRlUG9ydGFsKHQpfV9yZWNhcHR1cmVGb2N1cygpe2lmKCF0aGlzLl9jb250YWluc0ZvY3VzKCkpeyghdGhpcy5fY29uZmlnLmF1dG9Gb2N1c3x8IXRoaXMuX2ZvY3VzVHJhcC5mb2N1c0luaXRpYWxFbGVtZW50KCkpJiZ0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKX19X3RyYXBGb2N1cygpe3RoaXMuX2NvbmZpZy5hdXRvRm9jdXM/dGhpcy5fZm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnRXaGVuUmVhZHkoKTp0aGlzLl9jb250YWluc0ZvY3VzKCl8fHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpfV9yZXN0b3JlRm9jdXMoKXtjb25zdCB0PXRoaXMuX2VsZW1lbnRGb2N1c2VkQmVmb3JlRGlhbG9nV2FzT3BlbmVkO2lmKHRoaXMuX2NvbmZpZy5yZXN0b3JlRm9jdXMmJnQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmZvY3VzKXtjb25zdCBlPU1IKCksbj10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7ZSYmZSE9PXRoaXMuX2RvY3VtZW50LmJvZHkmJmUhPT1uJiYhbi5jb250YWlucyhlKXx8KHRoaXMuX2ZvY3VzTW9uaXRvcj8odGhpcy5fZm9jdXNNb25pdG9yLmZvY3VzVmlhKHQsdGhpcy5fY2xvc2VJbnRlcmFjdGlvblR5cGUpLHRoaXMuX2Nsb3NlSW50ZXJhY3Rpb25UeXBlPW51bGwpOnQuZm9jdXMoKSl9dGhpcy5fZm9jdXNUcmFwJiZ0aGlzLl9mb2N1c1RyYXAuZGVzdHJveSgpfV9zZXR1cEZvY3VzVHJhcCgpe3RoaXMuX2ZvY3VzVHJhcD10aGlzLl9mb2N1c1RyYXBGYWN0b3J5LmNyZWF0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpfV9jYXB0dXJlUHJldmlvdXNseUZvY3VzZWRFbGVtZW50KCl7dGhpcy5fZG9jdW1lbnQmJih0aGlzLl9lbGVtZW50Rm9jdXNlZEJlZm9yZURpYWxvZ1dhc09wZW5lZD1NSCgpKX1fZm9jdXNEaWFsb2dDb250YWluZXIoKXt0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMmJnRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpfV9jb250YWluc0ZvY3VzKCl7Y29uc3QgdD10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsZT1NSCgpO3JldHVybiB0PT09ZXx8dC5jb250YWlucyhlKX19RlkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEZZKShnZihLaCksZ2YoV0gpLGdmKE9iKSxnZihzTSw4KSxnZih6WSksZ2YoZkYpKX0sRlkuybVkaXI9aG8oe3R5cGU6Rlksdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJlZ5KHVCLDcpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uX3BvcnRhbE91dGxldD10LmZpcnN0KX19LGZlYXR1cmVzOltRcF19KSxGWS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpXSH0se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOnpZfSx7dHlwZTpmRn1dLEZZLnByb3BEZWNvcmF0b3JzPXtfcG9ydGFsT3V0bGV0Olt7dHlwZTphcixhcmdzOlt1Qix7c3RhdGljOiEwfV19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihGWSxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOldIfSx7dHlwZTpPYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6ell9LHt0eXBlOmZGfV19KSx7X3BvcnRhbE91dGxldDpbe3R5cGU6YXIsYXJnczpbdUIse3N0YXRpYzohMH1dfV19KTtjbGFzcyBMWSBleHRlbmRzIEZZe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9zdGF0ZT0iZW50ZXIifV9vbkFuaW1hdGlvbkRvbmUoe3RvU3RhdGU6dCx0b3RhbFRpbWU6ZX0peyJlbnRlciI9PT10Pyh0aGlzLl90cmFwRm9jdXMoKSx0aGlzLl9hbmltYXRpb25TdGF0ZUNoYW5nZWQubmV4dCh7c3RhdGU6Im9wZW5lZCIsdG90YWxUaW1lOmV9KSk6ImV4aXQiPT09dCYmKHRoaXMuX3Jlc3RvcmVGb2N1cygpLHRoaXMuX2FuaW1hdGlvblN0YXRlQ2hhbmdlZC5uZXh0KHtzdGF0ZToiY2xvc2VkIix0b3RhbFRpbWU6ZX0pKX1fb25BbmltYXRpb25TdGFydCh7dG9TdGF0ZTp0LHRvdGFsVGltZTplfSl7ImVudGVyIj09PXQ/dGhpcy5fYW5pbWF0aW9uU3RhdGVDaGFuZ2VkLm5leHQoe3N0YXRlOiJvcGVuaW5nIix0b3RhbFRpbWU6ZX0pOiJleGl0IiE9PXQmJiJ2b2lkIiE9PXR8fHRoaXMuX2FuaW1hdGlvblN0YXRlQ2hhbmdlZC5uZXh0KHtzdGF0ZToiY2xvc2luZyIsdG90YWxUaW1lOmV9KX1fc3RhcnRFeGl0QW5pbWF0aW9uKCl7dGhpcy5fc3RhdGU9ImV4aXQiLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfX1MWS7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoTFkpKSkobnx8TFkpfX0pKCksTFkuybVjbXA9c28oe3R5cGU6TFksc2VsZWN0b3JzOltbIm1hdC1kaWFsb2ctY29udGFpbmVyIl1dLGhvc3RBdHRyczpbInRhYmluZGV4IiwiLTEiLCJhcmlhLW1vZGFsIiwidHJ1ZSIsMSwibWF0LWRpYWxvZy1jb250YWluZXIiXSxob3N0VmFyczo2LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZFZigiQGRpYWxvZ0NvbnRhaW5lci5zdGFydCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX29uQW5pbWF0aW9uU3RhcnQoZSl9KSkoIkBkaWFsb2dDb250YWluZXIuZG9uZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX29uQW5pbWF0aW9uRG9uZShlKX0pKSwyJmUmJihjZygiaWQiLG4uX2lkKSx5bSgicm9sZSIsbi5fY29uZmlnLnJvbGUpKCJhcmlhLWxhYmVsbGVkYnkiLG4uX2NvbmZpZy5hcmlhTGFiZWw/bnVsbDpuLl9hcmlhTGFiZWxsZWRCeSkoImFyaWEtbGFiZWwiLG4uX2NvbmZpZy5hcmlhTGFiZWwpKCJhcmlhLWRlc2NyaWJlZGJ5IixuLl9jb25maWcuYXJpYURlc2NyaWJlZEJ5fHxudWxsKSxkZygiQGRpYWxvZ0NvbnRhaW5lciIsbi5fc3RhdGUpKX0sZmVhdHVyZXM6W1FwXSxkZWNsczoxLHZhcnM6MCxjb25zdHM6W1siY2RrUG9ydGFsT3V0bGV0IiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJkhtKDAsTlksMCwwLCJuZy10ZW1wbGF0ZSIsMCl9LGRpcmVjdGl2ZXM6W3VCXSxzdHlsZXM6WyIubWF0LWRpYWxvZy1jb250YWluZXJ7ZGlzcGxheTpibG9jaztwYWRkaW5nOjI0cHg7Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OmF1dG87b3V0bGluZTowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDppbmhlcml0O21heC1oZWlnaHQ6aW5oZXJpdH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtZGlhbG9nLWNvbnRhaW5lcntvdXRsaW5lOnNvbGlkIDFweH0ubWF0LWRpYWxvZy1jb250ZW50e2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjAgLTI0cHg7cGFkZGluZzowIDI0cHg7bWF4LWhlaWdodDo2NXZoO292ZXJmbG93OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9Lm1hdC1kaWFsb2ctdGl0bGV7bWFyZ2luOjAgMCAyMHB4O2Rpc3BsYXk6YmxvY2t9Lm1hdC1kaWFsb2ctYWN0aW9uc3twYWRkaW5nOjhweCAwO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDttaW4taGVpZ2h0OjUycHg7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Y29udGVudC1ib3g7bWFyZ2luLWJvdHRvbTotMjRweH0ubWF0LWRpYWxvZy1hY3Rpb25zW2FsaWduPWVuZF17anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5tYXQtZGlhbG9nLWFjdGlvbnNbYWxpZ249Y2VudGVyXXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5tYXQtZGlhbG9nLWFjdGlvbnMgLm1hdC1idXR0b24tYmFzZSsubWF0LWJ1dHRvbi1iYXNlLC5tYXQtZGlhbG9nLWFjdGlvbnMgLm1hdC1tZGMtYnV0dG9uLWJhc2UrLm1hdC1tZGMtYnV0dG9uLWJhc2V7bWFyZ2luLWxlZnQ6OHB4fVtkaXI9cnRsXSAubWF0LWRpYWxvZy1hY3Rpb25zIC5tYXQtYnV0dG9uLWJhc2UrLm1hdC1idXR0b24tYmFzZSxbZGlyPXJ0bF0gLm1hdC1kaWFsb2ctYWN0aW9ucyAubWF0LW1kYy1idXR0b24tYmFzZSsubWF0LW1kYy1idXR0b24tYmFzZXttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDo4cHh9XG4iXSxlbmNhcHN1bGF0aW9uOjIsZGF0YTp7YW5pbWF0aW9uOltJWS5kaWFsb2dDb250YWluZXJdfX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTFksW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LWRpYWxvZy1jb250YWluZXIiLHRlbXBsYXRlOiI8bmctdGVtcGxhdGUgY2RrUG9ydGFsT3V0bGV0PjwvbmctdGVtcGxhdGU+XG4iLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxhbmltYXRpb25zOltJWS5kaWFsb2dDb250YWluZXJdLGhvc3Q6e2NsYXNzOiJtYXQtZGlhbG9nLWNvbnRhaW5lciIsdGFiaW5kZXg6Ii0xIiwiYXJpYS1tb2RhbCI6InRydWUiLCJbaWRdIjoiX2lkIiwiW2F0dHIucm9sZV0iOiJfY29uZmlnLnJvbGUiLCJbYXR0ci5hcmlhLWxhYmVsbGVkYnldIjoiX2NvbmZpZy5hcmlhTGFiZWwgPyBudWxsIDogX2FyaWFMYWJlbGxlZEJ5IiwiW2F0dHIuYXJpYS1sYWJlbF0iOiJfY29uZmlnLmFyaWFMYWJlbCIsIlthdHRyLmFyaWEtZGVzY3JpYmVkYnldIjoiX2NvbmZpZy5hcmlhRGVzY3JpYmVkQnkgfHwgbnVsbCIsIltAZGlhbG9nQ29udGFpbmVyXSI6Il9zdGF0ZSIsIihAZGlhbG9nQ29udGFpbmVyLnN0YXJ0KSI6Il9vbkFuaW1hdGlvblN0YXJ0KCRldmVudCkiLCIoQGRpYWxvZ0NvbnRhaW5lci5kb25lKSI6Il9vbkFuaW1hdGlvbkRvbmUoJGV2ZW50KSJ9LHN0eWxlczpbIi5tYXQtZGlhbG9nLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MjRweDtib3JkZXItcmFkaXVzOjRweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6YXV0bztvdXRsaW5lOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OmluaGVyaXQ7bWF4LWhlaWdodDppbmhlcml0fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1kaWFsb2ctY29udGFpbmVye291dGxpbmU6c29saWQgMXB4fS5tYXQtZGlhbG9nLWNvbnRlbnR7ZGlzcGxheTpibG9jazttYXJnaW46MCAtMjRweDtwYWRkaW5nOjAgMjRweDttYXgtaGVpZ2h0OjY1dmg7b3ZlcmZsb3c6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaH0ubWF0LWRpYWxvZy10aXRsZXttYXJnaW46MCAwIDIwcHg7ZGlzcGxheTpibG9ja30ubWF0LWRpYWxvZy1hY3Rpb25ze3BhZGRpbmc6OHB4IDA7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO21pbi1oZWlnaHQ6NTJweDthbGlnbi1pdGVtczpjZW50ZXI7Ym94LXNpemluZzpjb250ZW50LWJveDttYXJnaW4tYm90dG9tOi0yNHB4fS5tYXQtZGlhbG9nLWFjdGlvbnNbYWxpZ249ZW5kXXtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lm1hdC1kaWFsb2ctYWN0aW9uc1thbGlnbj1jZW50ZXJde2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lm1hdC1kaWFsb2ctYWN0aW9ucyAubWF0LWJ1dHRvbi1iYXNlKy5tYXQtYnV0dG9uLWJhc2UsLm1hdC1kaWFsb2ctYWN0aW9ucyAubWF0LW1kYy1idXR0b24tYmFzZSsubWF0LW1kYy1idXR0b24tYmFzZXttYXJnaW4tbGVmdDo4cHh9W2Rpcj1ydGxdIC5tYXQtZGlhbG9nLWFjdGlvbnMgLm1hdC1idXR0b24tYmFzZSsubWF0LWJ1dHRvbi1iYXNlLFtkaXI9cnRsXSAubWF0LWRpYWxvZy1hY3Rpb25zIC5tYXQtbWRjLWJ1dHRvbi1iYXNlKy5tYXQtbWRjLWJ1dHRvbi1iYXNle21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjhweH1cbiJdfV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KbGV0IEJZPTA7Y2xhc3MgVll7Y29uc3RydWN0b3IodCxlLG49Im1hdC1kaWFsb2ctIitCWSsrKXt0aGlzLl9vdmVybGF5UmVmPXQsdGhpcy5fY29udGFpbmVySW5zdGFuY2U9ZSx0aGlzLmlkPW4sdGhpcy5kaXNhYmxlQ2xvc2U9dGhpcy5fY29udGFpbmVySW5zdGFuY2UuX2NvbmZpZy5kaXNhYmxlQ2xvc2UsdGhpcy5fYWZ0ZXJPcGVuZWQ9bmV3IEIsdGhpcy5fYWZ0ZXJDbG9zZWQ9bmV3IEIsdGhpcy5fYmVmb3JlQ2xvc2VkPW5ldyBCLHRoaXMuX3N0YXRlPTAsZS5faWQ9bixlLl9hbmltYXRpb25TdGF0ZUNoYW5nZWQucGlwZSh1ZSgodD0+Im9wZW5lZCI9PT10LnN0YXRlKSksdmUoMSkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9hZnRlck9wZW5lZC5uZXh0KCksdGhpcy5fYWZ0ZXJPcGVuZWQuY29tcGxldGUoKX0pKSxlLl9hbmltYXRpb25TdGF0ZUNoYW5nZWQucGlwZSh1ZSgodD0+ImNsb3NlZCI9PT10LnN0YXRlKSksdmUoMSkpLnN1YnNjcmliZSgoKCk9PntjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VGYWxsYmFja1RpbWVvdXQpLHRoaXMuX2ZpbmlzaERpYWxvZ0Nsb3NlKCl9KSksdC5kZXRhY2htZW50cygpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9iZWZvcmVDbG9zZWQubmV4dCh0aGlzLl9yZXN1bHQpLHRoaXMuX2JlZm9yZUNsb3NlZC5jb21wbGV0ZSgpLHRoaXMuX2FmdGVyQ2xvc2VkLm5leHQodGhpcy5fcmVzdWx0KSx0aGlzLl9hZnRlckNsb3NlZC5jb21wbGV0ZSgpLHRoaXMuY29tcG9uZW50SW5zdGFuY2U9bnVsbCx0aGlzLl9vdmVybGF5UmVmLmRpc3Bvc2UoKX0pKSx0LmtleWRvd25FdmVudHMoKS5waXBlKHVlKCh0PT50LmtleUNvZGU9PT1LSSYmIXRoaXMuZGlzYWJsZUNsb3NlJiYhdEgodCkpKSkuc3Vic2NyaWJlKCh0PT57dC5wcmV2ZW50RGVmYXVsdCgpLGpZKHRoaXMsImtleWJvYXJkIil9KSksdC5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuZGlzYWJsZUNsb3NlP3RoaXMuX2NvbnRhaW5lckluc3RhbmNlLl9yZWNhcHR1cmVGb2N1cygpOmpZKHRoaXMsIm1vdXNlIil9KSl9Y2xvc2UodCl7dGhpcy5fcmVzdWx0PXQsdGhpcy5fY29udGFpbmVySW5zdGFuY2UuX2FuaW1hdGlvblN0YXRlQ2hhbmdlZC5waXBlKHVlKCh0PT4iY2xvc2luZyI9PT10LnN0YXRlKSksdmUoMSkpLnN1YnNjcmliZSgoZT0+e3RoaXMuX2JlZm9yZUNsb3NlZC5uZXh0KHQpLHRoaXMuX2JlZm9yZUNsb3NlZC5jb21wbGV0ZSgpLHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoQmFja2Ryb3AoKSx0aGlzLl9jbG9zZUZhbGxiYWNrVGltZW91dD1zZXRUaW1lb3V0KCgoKT0+dGhpcy5fZmluaXNoRGlhbG9nQ2xvc2UoKSksZS50b3RhbFRpbWUrMTAwKX0pKSx0aGlzLl9zdGF0ZT0xLHRoaXMuX2NvbnRhaW5lckluc3RhbmNlLl9zdGFydEV4aXRBbmltYXRpb24oKX1hZnRlck9wZW5lZCgpe3JldHVybiB0aGlzLl9hZnRlck9wZW5lZH1hZnRlckNsb3NlZCgpe3JldHVybiB0aGlzLl9hZnRlckNsb3NlZH1iZWZvcmVDbG9zZWQoKXtyZXR1cm4gdGhpcy5fYmVmb3JlQ2xvc2VkfWJhY2tkcm9wQ2xpY2soKXtyZXR1cm4gdGhpcy5fb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCl9a2V5ZG93bkV2ZW50cygpe3JldHVybiB0aGlzLl9vdmVybGF5UmVmLmtleWRvd25FdmVudHMoKX11cGRhdGVQb3NpdGlvbih0KXtsZXQgZT10aGlzLl9nZXRQb3NpdGlvblN0cmF0ZWd5KCk7cmV0dXJuIHQmJih0LmxlZnR8fHQucmlnaHQpP3QubGVmdD9lLmxlZnQodC5sZWZ0KTplLnJpZ2h0KHQucmlnaHQpOmUuY2VudGVySG9yaXpvbnRhbGx5KCksdCYmKHQudG9wfHx0LmJvdHRvbSk/dC50b3A/ZS50b3AodC50b3ApOmUuYm90dG9tKHQuYm90dG9tKTplLmNlbnRlclZlcnRpY2FsbHkoKSx0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCksdGhpc311cGRhdGVTaXplKHQ9IiIsZT0iIil7cmV0dXJuIHRoaXMuX292ZXJsYXlSZWYudXBkYXRlU2l6ZSh7d2lkdGg6dCxoZWlnaHQ6ZX0pLHRoaXMuX292ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKSx0aGlzfWFkZFBhbmVsQ2xhc3ModCl7cmV0dXJuIHRoaXMuX292ZXJsYXlSZWYuYWRkUGFuZWxDbGFzcyh0KSx0aGlzfXJlbW92ZVBhbmVsQ2xhc3ModCl7cmV0dXJuIHRoaXMuX292ZXJsYXlSZWYucmVtb3ZlUGFuZWxDbGFzcyh0KSx0aGlzfWdldFN0YXRlKCl7cmV0dXJuIHRoaXMuX3N0YXRlfV9maW5pc2hEaWFsb2dDbG9zZSgpe3RoaXMuX3N0YXRlPTIsdGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCl9X2dldFBvc2l0aW9uU3RyYXRlZ3koKXtyZXR1cm4gdGhpcy5fb3ZlcmxheVJlZi5nZXRDb25maWcoKS5wb3NpdGlvblN0cmF0ZWd5fX1mdW5jdGlvbiBqWSh0LGUsbil7cmV0dXJuIHZvaWQgMCE9PXQuX2NvbnRhaW5lckluc3RhbmNlJiYodC5fY29udGFpbmVySW5zdGFuY2UuX2Nsb3NlSW50ZXJhY3Rpb25UeXBlPWUpLHQuY2xvc2Uobil9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2NvbnN0IFVZPW5ldyBlcigiTWF0RGlhbG9nRGF0YSIpLFdZPW5ldyBlcigibWF0LWRpYWxvZy1kZWZhdWx0LW9wdGlvbnMiKSxHWT1uZXcgZXIoIm1hdC1kaWFsb2ctc2Nyb2xsLXN0cmF0ZWd5Iik7Y29uc3QgWVk9e3Byb3ZpZGU6R1ksZGVwczpbS0JdLHVzZUZhY3Rvcnk6ZnVuY3Rpb24gcVkodCl7cmV0dXJuKCk9PnQuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpfX07Y2xhc3MgWll7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzLGwpe3RoaXMuX292ZXJsYXk9dCx0aGlzLl9pbmplY3Rvcj1lLHRoaXMuX2RlZmF1bHRPcHRpb25zPW4sdGhpcy5fcGFyZW50RGlhbG9nPW8sdGhpcy5fb3ZlcmxheUNvbnRhaW5lcj1pLHRoaXMuX2RpYWxvZ1JlZkNvbnN0cnVjdG9yPXIsdGhpcy5fZGlhbG9nQ29udGFpbmVyVHlwZT1zLHRoaXMuX2RpYWxvZ0RhdGFUb2tlbj1sLHRoaXMuX29wZW5EaWFsb2dzQXRUaGlzTGV2ZWw9W10sdGhpcy5fYWZ0ZXJBbGxDbG9zZWRBdFRoaXNMZXZlbD1uZXcgQix0aGlzLl9hZnRlck9wZW5lZEF0VGhpc0xldmVsPW5ldyBCLHRoaXMuX2FyaWFIaWRkZW5FbGVtZW50cz1uZXcgTWFwLHRoaXMuYWZ0ZXJBbGxDbG9zZWQ9b2UoKCgpPT50aGlzLm9wZW5EaWFsb2dzLmxlbmd0aD90aGlzLl9nZXRBZnRlckFsbENsb3NlZCgpOnRoaXMuX2dldEFmdGVyQWxsQ2xvc2VkKCkucGlwZShCZSh2b2lkIDApKSkpLHRoaXMuX3Njcm9sbFN0cmF0ZWd5PWF9Z2V0IG9wZW5EaWFsb2dzKCl7cmV0dXJuIHRoaXMuX3BhcmVudERpYWxvZz90aGlzLl9wYXJlbnREaWFsb2cub3BlbkRpYWxvZ3M6dGhpcy5fb3BlbkRpYWxvZ3NBdFRoaXNMZXZlbH1nZXQgYWZ0ZXJPcGVuZWQoKXtyZXR1cm4gdGhpcy5fcGFyZW50RGlhbG9nP3RoaXMuX3BhcmVudERpYWxvZy5hZnRlck9wZW5lZDp0aGlzLl9hZnRlck9wZW5lZEF0VGhpc0xldmVsfV9nZXRBZnRlckFsbENsb3NlZCgpe2NvbnN0IHQ9dGhpcy5fcGFyZW50RGlhbG9nO3JldHVybiB0P3QuX2dldEFmdGVyQWxsQ2xvc2VkKCk6dGhpcy5fYWZ0ZXJBbGxDbG9zZWRBdFRoaXNMZXZlbH1vcGVuKHQsZSl7aWYoKGU9KGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGUpLHQpfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKGUsdGhpcy5fZGVmYXVsdE9wdGlvbnN8fG5ldyB6WSkpLmlkJiZ0aGlzLmdldERpYWxvZ0J5SWQoZS5pZCkmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBFcnJvcihgRGlhbG9nIHdpdGggaWQgIiR7ZS5pZH0iIGV4aXN0cyBhbHJlYWR5LiBUaGUgZGlhbG9nIGlkIG11c3QgYmUgdW5pcXVlLmApO2NvbnN0IG89dGhpcy5fY3JlYXRlT3ZlcmxheShlKSxpPXRoaXMuX2F0dGFjaERpYWxvZ0NvbnRhaW5lcihvLGUpLGE9dGhpcy5fYXR0YWNoRGlhbG9nQ29udGVudCh0LGksbyxlKTtyZXR1cm4gdGhpcy5vcGVuRGlhbG9ncy5sZW5ndGh8fHRoaXMuX2hpZGVOb25EaWFsb2dDb250ZW50RnJvbUFzc2lzdGl2ZVRlY2hub2xvZ3koKSx0aGlzLm9wZW5EaWFsb2dzLnB1c2goYSksYS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKCk9PnRoaXMuX3JlbW92ZU9wZW5EaWFsb2coYSkpKSx0aGlzLmFmdGVyT3BlbmVkLm5leHQoYSksaS5faW5pdGlhbGl6ZVdpdGhBdHRhY2hlZENvbnRlbnQoKSxhfWNsb3NlQWxsKCl7dGhpcy5fY2xvc2VEaWFsb2dzKHRoaXMub3BlbkRpYWxvZ3MpfWdldERpYWxvZ0J5SWQodCl7cmV0dXJuIHRoaXMub3BlbkRpYWxvZ3MuZmluZCgoZT0+ZS5pZD09PXQpKX1uZ09uRGVzdHJveSgpe3RoaXMuX2Nsb3NlRGlhbG9ncyh0aGlzLl9vcGVuRGlhbG9nc0F0VGhpc0xldmVsKSx0aGlzLl9hZnRlckFsbENsb3NlZEF0VGhpc0xldmVsLmNvbXBsZXRlKCksdGhpcy5fYWZ0ZXJPcGVuZWRBdFRoaXNMZXZlbC5jb21wbGV0ZSgpfV9jcmVhdGVPdmVybGF5KHQpe2NvbnN0IGU9dGhpcy5fZ2V0T3ZlcmxheUNvbmZpZyh0KTtyZXR1cm4gdGhpcy5fb3ZlcmxheS5jcmVhdGUoZSl9X2dldE92ZXJsYXlDb25maWcodCl7Y29uc3QgZT1uZXcgd0Ioe3Bvc2l0aW9uU3RyYXRlZ3k6dGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLHNjcm9sbFN0cmF0ZWd5OnQuc2Nyb2xsU3RyYXRlZ3l8fHRoaXMuX3Njcm9sbFN0cmF0ZWd5KCkscGFuZWxDbGFzczp0LnBhbmVsQ2xhc3MsaGFzQmFja2Ryb3A6dC5oYXNCYWNrZHJvcCxkaXJlY3Rpb246dC5kaXJlY3Rpb24sbWluV2lkdGg6dC5taW5XaWR0aCxtaW5IZWlnaHQ6dC5taW5IZWlnaHQsbWF4V2lkdGg6dC5tYXhXaWR0aCxtYXhIZWlnaHQ6dC5tYXhIZWlnaHQsZGlzcG9zZU9uTmF2aWdhdGlvbjp0LmNsb3NlT25OYXZpZ2F0aW9ufSk7cmV0dXJuIHQuYmFja2Ryb3BDbGFzcyYmKGUuYmFja2Ryb3BDbGFzcz10LmJhY2tkcm9wQ2xhc3MpLGV9X2F0dGFjaERpYWxvZ0NvbnRhaW5lcih0LGUpe2NvbnN0IG49TnAuY3JlYXRlKHtwYXJlbnQ6ZSYmZS52aWV3Q29udGFpbmVyUmVmJiZlLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3J8fHRoaXMuX2luamVjdG9yLHByb3ZpZGVyczpbe3Byb3ZpZGU6elksdXNlVmFsdWU6ZX1dfSksbz1uZXcgc0IodGhpcy5fZGlhbG9nQ29udGFpbmVyVHlwZSxlLnZpZXdDb250YWluZXJSZWYsbixlLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcik7cmV0dXJuIHQuYXR0YWNoKG8pLmluc3RhbmNlfV9hdHRhY2hEaWFsb2dDb250ZW50KHQsZSxuLG8pe2NvbnN0IGk9bmV3IHRoaXMuX2RpYWxvZ1JlZkNvbnN0cnVjdG9yKG4sZSxvLmlkKTtpZih0IGluc3RhbmNlb2YgRWIpZS5hdHRhY2hUZW1wbGF0ZVBvcnRhbChuZXcgbEIodCxudWxsLHskaW1wbGljaXQ6by5kYXRhLGRpYWxvZ1JlZjppfSkpO2Vsc2V7Y29uc3Qgbj10aGlzLl9jcmVhdGVJbmplY3RvcihvLGksZSksYT1lLmF0dGFjaENvbXBvbmVudFBvcnRhbChuZXcgc0IodCxvLnZpZXdDb250YWluZXJSZWYsbikpO2kuY29tcG9uZW50SW5zdGFuY2U9YS5pbnN0YW5jZX1yZXR1cm4gaS51cGRhdGVTaXplKG8ud2lkdGgsby5oZWlnaHQpLnVwZGF0ZVBvc2l0aW9uKG8ucG9zaXRpb24pLGl9X2NyZWF0ZUluamVjdG9yKHQsZSxuKXtjb25zdCBvPXQmJnQudmlld0NvbnRhaW5lclJlZiYmdC52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yLGk9W3twcm92aWRlOnRoaXMuX2RpYWxvZ0NvbnRhaW5lclR5cGUsdXNlVmFsdWU6bn0se3Byb3ZpZGU6dGhpcy5fZGlhbG9nRGF0YVRva2VuLHVzZVZhbHVlOnQuZGF0YX0se3Byb3ZpZGU6dGhpcy5fZGlhbG9nUmVmQ29uc3RydWN0b3IsdXNlVmFsdWU6ZX1dO3JldHVybiF0LmRpcmVjdGlvbnx8byYmby5nZXQodkYsbnVsbCxIbi5PcHRpb25hbCl8fGkucHVzaCh7cHJvdmlkZTp2Rix1c2VWYWx1ZTp7dmFsdWU6dC5kaXJlY3Rpb24sY2hhbmdlOnp0KCl9fSksTnAuY3JlYXRlKHtwYXJlbnQ6b3x8dGhpcy5faW5qZWN0b3IscHJvdmlkZXJzOml9KX1fcmVtb3ZlT3BlbkRpYWxvZyh0KXtjb25zdCBlPXRoaXMub3BlbkRpYWxvZ3MuaW5kZXhPZih0KTtlPi0xJiYodGhpcy5vcGVuRGlhbG9ncy5zcGxpY2UoZSwxKSx0aGlzLm9wZW5EaWFsb2dzLmxlbmd0aHx8KHRoaXMuX2FyaWFIaWRkZW5FbGVtZW50cy5mb3JFYWNoKCgodCxlKT0+e3Q/ZS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIix0KTplLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKX0pKSx0aGlzLl9hcmlhSGlkZGVuRWxlbWVudHMuY2xlYXIoKSx0aGlzLl9nZXRBZnRlckFsbENsb3NlZCgpLm5leHQoKSkpfV9oaWRlTm9uRGlhbG9nQ29udGVudEZyb21Bc3Npc3RpdmVUZWNobm9sb2d5KCl7Y29uc3QgdD10aGlzLl9vdmVybGF5Q29udGFpbmVyLmdldENvbnRhaW5lckVsZW1lbnQoKTtpZih0LnBhcmVudEVsZW1lbnQpe2NvbnN0IGU9dC5wYXJlbnRFbGVtZW50LmNoaWxkcmVuO2ZvcihsZXQgbj1lLmxlbmd0aC0xO24+LTE7bi0tKXtsZXQgbz1lW25dO289PT10fHwiU0NSSVBUIj09PW8ubm9kZU5hbWV8fCJTVFlMRSI9PT1vLm5vZGVOYW1lfHxvLmhhc0F0dHJpYnV0ZSgiYXJpYS1saXZlIil8fCh0aGlzLl9hcmlhSGlkZGVuRWxlbWVudHMuc2V0KG8sby5nZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIikpLG8uc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSl9fX1fY2xvc2VEaWFsb2dzKHQpe2xldCBlPXQubGVuZ3RoO2Zvcig7ZS0tOyl0W2VdLmNsb3NlKCl9fVpZLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxaWSkoZ2YoS0IpLGdmKE5wKSxnZih2b2lkIDApLGdmKHZvaWQgMCksZ2YoSEIpLGdmKHZvaWQgMCksZ2YoY3IpLGdmKGNyKSxnZihlcikpfSxaWS7JtWRpcj1obyh7dHlwZTpaWX0pLFpZLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S0J9LHt0eXBlOk5wfSx7dHlwZTp2b2lkIDB9LHt0eXBlOnZvaWQgMH0se3R5cGU6SEJ9LHt0eXBlOnZvaWQgMH0se3R5cGU6Y3J9LHt0eXBlOmNyfSx7dHlwZTplcn1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWlksW3t0eXBlOmtffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktCfSx7dHlwZTpOcH0se3R5cGU6dm9pZCAwfSx7dHlwZTp2b2lkIDB9LHt0eXBlOkhCfSx7dHlwZTp2b2lkIDB9LHt0eXBlOmNyfSx7dHlwZTpjcn0se3R5cGU6ZXJ9XX0pLG51bGwpO2NsYXNzIFhZIGV4dGVuZHMgWll7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscil7c3VwZXIodCxlLG8sYSxyLGksVlksTFksVVkpfX1YWS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WFkpKFRyKEtCKSxUcihOcCksVHIoTU0sOCksVHIoV1ksOCksVHIoR1kpLFRyKFhZLDEyKSxUcihIQikpfSxYWS7JtXByb3Y9U24oe3Rva2VuOlhZLGZhY3Rvcnk6WFkuybVmYWN9KSxYWS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktCfSx7dHlwZTpOcH0se3R5cGU6TU0sZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6elksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1dZXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbR1ldfV19LHt0eXBlOlhZLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpqcn1dfSx7dHlwZTpIQn1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWFksW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktCfSx7dHlwZTpOcH0se3R5cGU6TU0sZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6elksZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1dZXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbR1ldfV19LHt0eXBlOlhZLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpqcn1dfSx7dHlwZTpIQn1dfSksbnVsbCk7bGV0IEtZPTA7Y2xhc3MgSll7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuZGlhbG9nUmVmPXQsdGhpcy5fZWxlbWVudFJlZj1lLHRoaXMuX2RpYWxvZz1uLHRoaXMudHlwZT0iYnV0dG9uIn1uZ09uSW5pdCgpe3RoaXMuZGlhbG9nUmVmfHwodGhpcy5kaWFsb2dSZWY9ZXEodGhpcy5fZWxlbWVudFJlZix0aGlzLl9kaWFsb2cub3BlbkRpYWxvZ3MpKX1uZ09uQ2hhbmdlcyh0KXtjb25zdCBlPXQuX21hdERpYWxvZ0Nsb3NlfHx0Ll9tYXREaWFsb2dDbG9zZVJlc3VsdDtlJiYodGhpcy5kaWFsb2dSZXN1bHQ9ZS5jdXJyZW50VmFsdWUpfV9vbkJ1dHRvbkNsaWNrKHQpe2pZKHRoaXMuZGlhbG9nUmVmLDA9PT10LnNjcmVlblgmJjA9PT10LnNjcmVlblk/ImtleWJvYXJkIjoibW91c2UiLHRoaXMuZGlhbG9nUmVzdWx0KX19SlkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEpZKShnZihWWSw4KSxnZihLaCksZ2YoWFkpKX0sSlkuybVkaXI9aG8oe3R5cGU6Slksc2VsZWN0b3JzOltbIiIsIm1hdC1kaWFsb2ctY2xvc2UiLCIiXSxbIiIsIm1hdERpYWxvZ0Nsb3NlIiwiIl1dLGhvc3RWYXJzOjIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJjbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX29uQnV0dG9uQ2xpY2soZSl9KSksMiZlJiZ5bSgiYXJpYS1sYWJlbCIsbi5hcmlhTGFiZWx8fG51bGwpKCJ0eXBlIixuLnR5cGUpfSxpbnB1dHM6e3R5cGU6InR5cGUiLGRpYWxvZ1Jlc3VsdDpbIm1hdC1kaWFsb2ctY2xvc2UiLCJkaWFsb2dSZXN1bHQiXSxhcmlhTGFiZWw6WyJhcmlhLWxhYmVsIiwiYXJpYUxhYmVsIl0sX21hdERpYWxvZ0Nsb3NlOlsibWF0RGlhbG9nQ2xvc2UiLCJfbWF0RGlhbG9nQ2xvc2UiXX0sZXhwb3J0QXM6WyJtYXREaWFsb2dDbG9zZSJdLGZlYXR1cmVzOltxb119KSxKWS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlZZLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOktofSx7dHlwZTpYWX1dLEpZLnByb3BEZWNvcmF0b3JzPXthcmlhTGFiZWw6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsIl19XSx0eXBlOlt7dHlwZTpSX31dLGRpYWxvZ1Jlc3VsdDpbe3R5cGU6Ul8sYXJnczpbIm1hdC1kaWFsb2ctY2xvc2UiXX1dLF9tYXREaWFsb2dDbG9zZTpbe3R5cGU6Ul8sYXJnczpbIm1hdERpYWxvZ0Nsb3NlIl19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihKWSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbWF0LWRpYWxvZy1jbG9zZV0sIFttYXREaWFsb2dDbG9zZV0iLGV4cG9ydEFzOiJtYXREaWFsb2dDbG9zZSIsaG9zdDp7IihjbGljaykiOiJfb25CdXR0b25DbGljaygkZXZlbnQpIiwiW2F0dHIuYXJpYS1sYWJlbF0iOiJhcmlhTGFiZWwgfHwgbnVsbCIsIlthdHRyLnR5cGVdIjoidHlwZSJ9fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6VlksZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6S2h9LHt0eXBlOlhZfV19KSx7dHlwZTpbe3R5cGU6Ul99XSxkaWFsb2dSZXN1bHQ6W3t0eXBlOlJfLGFyZ3M6WyJtYXQtZGlhbG9nLWNsb3NlIl19XSxhcmlhTGFiZWw6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsIl19XSxfbWF0RGlhbG9nQ2xvc2U6W3t0eXBlOlJfLGFyZ3M6WyJtYXREaWFsb2dDbG9zZSJdfV19KTtjbGFzcyBRWXtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fZGlhbG9nUmVmPXQsdGhpcy5fZWxlbWVudFJlZj1lLHRoaXMuX2RpYWxvZz1uLHRoaXMuaWQ9Im1hdC1kaWFsb2ctdGl0bGUtIitLWSsrfW5nT25Jbml0KCl7dGhpcy5fZGlhbG9nUmVmfHwodGhpcy5fZGlhbG9nUmVmPWVxKHRoaXMuX2VsZW1lbnRSZWYsdGhpcy5fZGlhbG9nLm9wZW5EaWFsb2dzKSksdGhpcy5fZGlhbG9nUmVmJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e2NvbnN0IHQ9dGhpcy5fZGlhbG9nUmVmLl9jb250YWluZXJJbnN0YW5jZTt0JiYhdC5fYXJpYUxhYmVsbGVkQnkmJih0Ll9hcmlhTGFiZWxsZWRCeT10aGlzLmlkKX0pKX19UVkuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFFZKShnZihWWSw4KSxnZihLaCksZ2YoWFkpKX0sUVkuybVkaXI9aG8oe3R5cGU6UVksc2VsZWN0b3JzOltbIiIsIm1hdC1kaWFsb2ctdGl0bGUiLCIiXSxbIiIsIm1hdERpYWxvZ1RpdGxlIiwiIl1dLGhvc3RBdHRyczpbMSwibWF0LWRpYWxvZy10aXRsZSJdLGhvc3RWYXJzOjEsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJmNnKCJpZCIsbi5pZCl9LGlucHV0czp7aWQ6ImlkIn0sZXhwb3J0QXM6WyJtYXREaWFsb2dUaXRsZSJdfSksUVkuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpWWSxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpLaH0se3R5cGU6WFl9XSxRWS5wcm9wRGVjb3JhdG9ycz17aWQ6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUVksW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdC1kaWFsb2ctdGl0bGVdLCBbbWF0RGlhbG9nVGl0bGVdIixleHBvcnRBczoibWF0RGlhbG9nVGl0bGUiLGhvc3Q6e2NsYXNzOiJtYXQtZGlhbG9nLXRpdGxlIiwiW2lkXSI6ImlkIn19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpWWSxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpLaH0se3R5cGU6WFl9XX0pLHtpZDpbe3R5cGU6Ul99XX0pO2NsYXNzICRZe30kWS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JFkpfSwkWS7JtWRpcj1obyh7dHlwZTokWSxzZWxlY3RvcnM6W1siIiwibWF0LWRpYWxvZy1jb250ZW50IiwiIl0sWyJtYXQtZGlhbG9nLWNvbnRlbnQiXSxbIiIsIm1hdERpYWxvZ0NvbnRlbnQiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtZGlhbG9nLWNvbnRlbnQiXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJFksW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdC1kaWFsb2ctY29udGVudF0sIG1hdC1kaWFsb2ctY29udGVudCwgW21hdERpYWxvZ0NvbnRlbnRdIixob3N0OntjbGFzczoibWF0LWRpYWxvZy1jb250ZW50In19XX1dLG51bGwsbnVsbCk7Y2xhc3MgdHF7fWZ1bmN0aW9uIGVxKHQsZSl7bGV0IG49dC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7Zm9yKDtuJiYhbi5jbGFzc0xpc3QuY29udGFpbnMoIm1hdC1kaWFsb2ctY29udGFpbmVyIik7KW49bi5wYXJlbnRFbGVtZW50O3JldHVybiBuP2UuZmluZCgodD0+dC5pZD09PW4uaWQpKTpudWxsfQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi90cS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dHEpfSx0cS7JtWRpcj1obyh7dHlwZTp0cSxzZWxlY3RvcnM6W1siIiwibWF0LWRpYWxvZy1hY3Rpb25zIiwiIl0sWyJtYXQtZGlhbG9nLWFjdGlvbnMiXSxbIiIsIm1hdERpYWxvZ0FjdGlvbnMiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtZGlhbG9nLWFjdGlvbnMiXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodHEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdC1kaWFsb2ctYWN0aW9uc10sIG1hdC1kaWFsb2ctYWN0aW9ucywgW21hdERpYWxvZ0FjdGlvbnNdIixob3N0OntjbGFzczoibWF0LWRpYWxvZy1hY3Rpb25zIn19XX1dLG51bGwsbnVsbCk7Y2xhc3MgbnF7fW5xLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxucSl9LG5xLsm1bW9kPWZvKHt0eXBlOm5xfSksbnEuybVpbmo9RG4oe3Byb3ZpZGVyczpbWFksWVldLGltcG9ydHM6W1tvVixoQixORl0sTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihucSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W29WLGhCLE5GXSxleHBvcnRzOltMWSxKWSxRWSwkWSx0cSxORl0sZGVjbGFyYXRpb25zOltMWSxKWSxRWSx0cSwkWV0scHJvdmlkZXJzOltYWSxZWV0sZW50cnlDb21wb25lbnRzOltMWV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhucSx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW0xZLEpZLFFZLHRxLCRZXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltvVixoQixORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bTFksSlksUVksJFksdHEsTkZdfX0pO2NsYXNzIG9xe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5fZG9jdW1lbnQ9ZTtjb25zdCBuPXRoaXMuX3RleHRhcmVhPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIiksbz1uLnN0eWxlO28ucG9zaXRpb249ImZpeGVkIixvLnRvcD1vLm9wYWNpdHk9IjAiLG8ubGVmdD0iLTk5OWVtIixuLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIiksbi52YWx1ZT10LHRoaXMuX2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobil9Y29weSgpe2NvbnN0IHQ9dGhpcy5fdGV4dGFyZWE7bGV0IGU9ITE7dHJ5e2lmKHQpe2NvbnN0IG49dGhpcy5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudDt0LnNlbGVjdCgpLHQuc2V0U2VsZWN0aW9uUmFuZ2UoMCx0LnZhbHVlLmxlbmd0aCksZT10aGlzLl9kb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpLG4mJm4uZm9jdXMoKX19Y2F0Y2godCl7fXJldHVybiBlfWRlc3Ryb3koKXtjb25zdCB0PXRoaXMuX3RleHRhcmVhO3QmJih0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSx0aGlzLl90ZXh0YXJlYT12b2lkIDApfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgaXF7Y29uc3RydWN0b3IodCl7dGhpcy5fZG9jdW1lbnQ9dH1jb3B5KHQpe2NvbnN0IGU9dGhpcy5iZWdpbkNvcHkodCksbj1lLmNvcHkoKTtyZXR1cm4gZS5kZXN0cm95KCksbn1iZWdpbkNvcHkodCl7cmV0dXJuIG5ldyBvcSh0LHRoaXMuX2RvY3VtZW50KX19aXEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGlxKShUcihzTSkpfSxpcS7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgaXEoVHIoc00pKX0sdG9rZW46aXEscHJvdmlkZWRJbjoicm9vdCJ9KSxpcS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaXEsW3t0eXBlOlVtLGFyZ3M6W3twcm92aWRlZEluOiJyb290In1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBhcT1uZXcgZXIoIkNES19DT1BZX1RPX0NMSVBCT0FSRF9DT05GSUciKTtjbGFzcyBycXtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fY2xpcGJvYXJkPXQsdGhpcy5fbmdab25lPWUsdGhpcy50ZXh0PSIiLHRoaXMuYXR0ZW1wdHM9MSx0aGlzLmNvcGllZD1uZXcgU3ksdGhpcy5fcGVuZGluZz1uZXcgU2V0LG4mJm51bGwhPW4uYXR0ZW1wdHMmJih0aGlzLmF0dGVtcHRzPW4uYXR0ZW1wdHMpfWNvcHkodD10aGlzLmF0dGVtcHRzKXtpZih0PjEpe2xldCBlPXQ7Y29uc3Qgbj10aGlzLl9jbGlwYm9hcmQuYmVnaW5Db3B5KHRoaXMudGV4dCk7dGhpcy5fcGVuZGluZy5hZGQobik7Y29uc3Qgbz0oKT0+e2NvbnN0IHQ9bi5jb3B5KCk7dHx8IS0tZXx8dGhpcy5fZGVzdHJveWVkPyh0aGlzLl9jdXJyZW50VGltZW91dD1udWxsLHRoaXMuX3BlbmRpbmcuZGVsZXRlKG4pLG4uZGVzdHJveSgpLHRoaXMuY29waWVkLmVtaXQodCkpOnRoaXMuX2N1cnJlbnRUaW1lb3V0PXRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PnNldFRpbWVvdXQobywxKSkpfTtvKCl9ZWxzZSB0aGlzLmNvcGllZC5lbWl0KHRoaXMuX2NsaXBib2FyZC5jb3B5KHRoaXMudGV4dCkpfW5nT25EZXN0cm95KCl7dGhpcy5fY3VycmVudFRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLl9jdXJyZW50VGltZW91dCksdGhpcy5fcGVuZGluZy5mb3JFYWNoKCh0PT50LmRlc3Ryb3koKSkpLHRoaXMuX3BlbmRpbmcuY2xlYXIoKSx0aGlzLl9kZXN0cm95ZWQ9ITB9fXJxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxycSkoZ2YoaXEpLGdmKG1DKSxnZihhcSw4KSl9LHJxLsm1ZGlyPWhvKHt0eXBlOnJxLHNlbGVjdG9yczpbWyIiLCJjZGtDb3B5VG9DbGlwYm9hcmQiLCIiXV0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5jb3B5KCl9KSl9LGlucHV0czp7dGV4dDpbImNka0NvcHlUb0NsaXBib2FyZCIsInRleHQiXSxhdHRlbXB0czpbImNka0NvcHlUb0NsaXBib2FyZEF0dGVtcHRzIiwiYXR0ZW1wdHMiXX0sb3V0cHV0czp7Y29waWVkOiJjZGtDb3B5VG9DbGlwYm9hcmRDb3BpZWQifX0pLHJxLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6aXF9LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2FxXX1dfV0scnEucHJvcERlY29yYXRvcnM9e3RleHQ6W3t0eXBlOlJfLGFyZ3M6WyJjZGtDb3B5VG9DbGlwYm9hcmQiXX1dLGF0dGVtcHRzOlt7dHlwZTpSXyxhcmdzOlsiY2RrQ29weVRvQ2xpcGJvYXJkQXR0ZW1wdHMiXX1dLGNvcGllZDpbe3R5cGU6RV8sYXJnczpbImNka0NvcHlUb0NsaXBib2FyZENvcGllZCJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocnEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Nka0NvcHlUb0NsaXBib2FyZF0iLGhvc3Q6eyIoY2xpY2spIjoiY29weSgpIn19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppcX0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbYXFdfV19XX0pLHt0ZXh0Olt7dHlwZTpSXyxhcmdzOlsiY2RrQ29weVRvQ2xpcGJvYXJkIl19XSxhdHRlbXB0czpbe3R5cGU6Ul8sYXJnczpbImNka0NvcHlUb0NsaXBib2FyZEF0dGVtcHRzIl19XSxjb3BpZWQ6W3t0eXBlOkVfLGFyZ3M6WyJjZGtDb3B5VG9DbGlwYm9hcmRDb3BpZWQiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBzcXt9c3EuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHNxKX0sc3EuybVtb2Q9Zm8oe3R5cGU6c3F9KSxzcS7JtWluaj1Ebih7fSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihzcSxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbcnFdLGV4cG9ydHM6W3JxXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHNxLHtkZWNsYXJhdGlvbnM6W3JxXSxleHBvcnRzOltycV19KTtmdW5jdGlvbiBscSh0KXtyZXR1cm4gRXJyb3IoYFVuYWJsZSB0byBmaW5kIGljb24gd2l0aCB0aGUgbmFtZSAiJHt0fSJgKX1mdW5jdGlvbiBjcSh0KXtyZXR1cm4gRXJyb3IoYFRoZSBVUkwgcHJvdmlkZWQgdG8gTWF0SWNvblJlZ2lzdHJ5IHdhcyBub3QgdHJ1c3RlZCBhcyBhIHJlc291cmNlIFVSTCB2aWEgQW5ndWxhcidzIERvbVNhbml0aXplci4gQXR0ZW1wdGVkIFVSTCB3YXMgIiR7dH0iLmApfWZ1bmN0aW9uIGRxKHQpe3JldHVybiBFcnJvcihgVGhlIGxpdGVyYWwgcHJvdmlkZWQgdG8gTWF0SWNvblJlZ2lzdHJ5IHdhcyBub3QgdHJ1c3RlZCBhcyBzYWZlIEhUTUwgYnkgQW5ndWxhcidzIERvbVNhbml0aXplci4gQXR0ZW1wdGVkIGxpdGVyYWwgd2FzICIke3R9Ii5gKX1jbGFzcyBwcXtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy51cmw9dCx0aGlzLnN2Z1RleHQ9ZSx0aGlzLm9wdGlvbnM9bn19Y2xhc3MgbXF7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5faHR0cENsaWVudD10LHRoaXMuX3Nhbml0aXplcj1lLHRoaXMuX2Vycm9ySGFuZGxlcj1vLHRoaXMuX3N2Z0ljb25Db25maWdzPW5ldyBNYXAsdGhpcy5faWNvblNldENvbmZpZ3M9bmV3IE1hcCx0aGlzLl9jYWNoZWRJY29uc0J5VXJsPW5ldyBNYXAsdGhpcy5faW5Qcm9ncmVzc1VybEZldGNoZXM9bmV3IE1hcCx0aGlzLl9mb250Q3NzQ2xhc3Nlc0J5QWxpYXM9bmV3IE1hcCx0aGlzLl9yZXNvbHZlcnM9W10sdGhpcy5fZGVmYXVsdEZvbnRTZXRDbGFzcz0ibWF0ZXJpYWwtaWNvbnMiLHRoaXMuX2RvY3VtZW50PW59YWRkU3ZnSWNvbih0LGUsbil7cmV0dXJuIHRoaXMuYWRkU3ZnSWNvbkluTmFtZXNwYWNlKCIiLHQsZSxuKX1hZGRTdmdJY29uTGl0ZXJhbCh0LGUsbil7cmV0dXJuIHRoaXMuYWRkU3ZnSWNvbkxpdGVyYWxJbk5hbWVzcGFjZSgiIix0LGUsbil9YWRkU3ZnSWNvbkluTmFtZXNwYWNlKHQsZSxuLG8pe3JldHVybiB0aGlzLl9hZGRTdmdJY29uQ29uZmlnKHQsZSxuZXcgcHEobixudWxsLG8pKX1hZGRTdmdJY29uUmVzb2x2ZXIodCl7cmV0dXJuIHRoaXMuX3Jlc29sdmVycy5wdXNoKHQpLHRoaXN9YWRkU3ZnSWNvbkxpdGVyYWxJbk5hbWVzcGFjZSh0LGUsbixvKXtjb25zdCBpPXRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShZcy5IVE1MLG4pO2lmKCFpKXRocm93IGRxKG4pO3JldHVybiB0aGlzLl9hZGRTdmdJY29uQ29uZmlnKHQsZSxuZXcgcHEoIiIsaSxvKSl9YWRkU3ZnSWNvblNldCh0LGUpe3JldHVybiB0aGlzLmFkZFN2Z0ljb25TZXRJbk5hbWVzcGFjZSgiIix0LGUpfWFkZFN2Z0ljb25TZXRMaXRlcmFsKHQsZSl7cmV0dXJuIHRoaXMuYWRkU3ZnSWNvblNldExpdGVyYWxJbk5hbWVzcGFjZSgiIix0LGUpfWFkZFN2Z0ljb25TZXRJbk5hbWVzcGFjZSh0LGUsbil7cmV0dXJuIHRoaXMuX2FkZFN2Z0ljb25TZXRDb25maWcodCxuZXcgcHEoZSxudWxsLG4pKX1hZGRTdmdJY29uU2V0TGl0ZXJhbEluTmFtZXNwYWNlKHQsZSxuKXtjb25zdCBvPXRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShZcy5IVE1MLGUpO2lmKCFvKXRocm93IGRxKGUpO3JldHVybiB0aGlzLl9hZGRTdmdJY29uU2V0Q29uZmlnKHQsbmV3IHBxKCIiLG8sbikpfXJlZ2lzdGVyRm9udENsYXNzQWxpYXModCxlPXQpe3JldHVybiB0aGlzLl9mb250Q3NzQ2xhc3Nlc0J5QWxpYXMuc2V0KHQsZSksdGhpc31jbGFzc05hbWVGb3JGb250QWxpYXModCl7cmV0dXJuIHRoaXMuX2ZvbnRDc3NDbGFzc2VzQnlBbGlhcy5nZXQodCl8fHR9c2V0RGVmYXVsdEZvbnRTZXRDbGFzcyh0KXtyZXR1cm4gdGhpcy5fZGVmYXVsdEZvbnRTZXRDbGFzcz10LHRoaXN9Z2V0RGVmYXVsdEZvbnRTZXRDbGFzcygpe3JldHVybiB0aGlzLl9kZWZhdWx0Rm9udFNldENsYXNzfWdldFN2Z0ljb25Gcm9tVXJsKHQpe2NvbnN0IGU9dGhpcy5fc2FuaXRpemVyLnNhbml0aXplKFlzLlJFU09VUkNFX1VSTCx0KTtpZighZSl0aHJvdyBjcSh0KTtjb25zdCBuPXRoaXMuX2NhY2hlZEljb25zQnlVcmwuZ2V0KGUpO3JldHVybiBuP3p0KGZxKG4pKTp0aGlzLl9sb2FkU3ZnSWNvbkZyb21Db25maWcobmV3IHBxKHQsbnVsbCkpLnBpcGUoV2UoKHQ9PnRoaXMuX2NhY2hlZEljb25zQnlVcmwuc2V0KGUsdCkpKSxWdCgodD0+ZnEodCkpKSl9Z2V0TmFtZWRTdmdJY29uKHQsZT0iIil7Y29uc3Qgbj11cShlLHQpO2xldCBvPXRoaXMuX3N2Z0ljb25Db25maWdzLmdldChuKTtpZihvKXJldHVybiB0aGlzLl9nZXRTdmdGcm9tQ29uZmlnKG8pO2lmKG89dGhpcy5fZ2V0SWNvbkNvbmZpZ0Zyb21SZXNvbHZlcnMoZSx0KSxvKXJldHVybiB0aGlzLl9zdmdJY29uQ29uZmlncy5zZXQobixvKSx0aGlzLl9nZXRTdmdGcm9tQ29uZmlnKG8pO2NvbnN0IGk9dGhpcy5faWNvblNldENvbmZpZ3MuZ2V0KGUpO3JldHVybiBpP3RoaXMuX2dldFN2Z0Zyb21JY29uU2V0Q29uZmlncyh0LGkpOkl0KGxxKG4pKX1uZ09uRGVzdHJveSgpe3RoaXMuX3Jlc29sdmVycz1bXSx0aGlzLl9zdmdJY29uQ29uZmlncy5jbGVhcigpLHRoaXMuX2ljb25TZXRDb25maWdzLmNsZWFyKCksdGhpcy5fY2FjaGVkSWNvbnNCeVVybC5jbGVhcigpfV9nZXRTdmdGcm9tQ29uZmlnKHQpe3JldHVybiB0LnN2Z1RleHQ/enQoZnEodGhpcy5fc3ZnRWxlbWVudEZyb21Db25maWcodCkpKTp0aGlzLl9sb2FkU3ZnSWNvbkZyb21Db25maWcodCkucGlwZShWdCgodD0+ZnEodCkpKSl9X2dldFN2Z0Zyb21JY29uU2V0Q29uZmlncyh0LGUpe2NvbnN0IG49dGhpcy5fZXh0cmFjdEljb25XaXRoTmFtZUZyb21BbnlTZXQodCxlKTtpZihuKXJldHVybiB6dChuKTtyZXR1cm4gaWUoZS5maWx0ZXIoKHQ9PiF0LnN2Z1RleHQpKS5tYXAoKHQ9PnRoaXMuX2xvYWRTdmdJY29uU2V0RnJvbUNvbmZpZyh0KS5waXBlKGhlKChlPT57Y29uc3Qgbj10aGlzLl9zYW5pdGl6ZXIuc2FuaXRpemUoWXMuUkVTT1VSQ0VfVVJMLHQudXJsKTtyZXR1cm4gdGhpcy5fZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKG5ldyBFcnJvcihgTG9hZGluZyBpY29uIHNldCBVUkw6ICR7bn0gZmFpbGVkOiAke2UubWVzc2FnZX1gKSksenQobnVsbCl9KSkpKSkpLnBpcGUoVnQoKCgpPT57Y29uc3Qgbj10aGlzLl9leHRyYWN0SWNvbldpdGhOYW1lRnJvbUFueVNldCh0LGUpO2lmKCFuKXRocm93IGxxKHQpO3JldHVybiBufSkpKX1fZXh0cmFjdEljb25XaXRoTmFtZUZyb21BbnlTZXQodCxlKXtmb3IobGV0IG49ZS5sZW5ndGgtMTtuPj0wO24tLSl7Y29uc3Qgbz1lW25dO2lmKG8uc3ZnVGV4dCYmby5zdmdUZXh0LmluZGV4T2YodCk+LTEpe2NvbnN0IGU9dGhpcy5fc3ZnRWxlbWVudEZyb21Db25maWcobyksbj10aGlzLl9leHRyYWN0U3ZnSWNvbkZyb21TZXQoZSx0LG8ub3B0aW9ucyk7aWYobilyZXR1cm4gbn19cmV0dXJuIG51bGx9X2xvYWRTdmdJY29uRnJvbUNvbmZpZyh0KXtyZXR1cm4gdGhpcy5fZmV0Y2hJY29uKHQpLnBpcGUoV2UoKGU9PnQuc3ZnVGV4dD1lKSksVnQoKCgpPT50aGlzLl9zdmdFbGVtZW50RnJvbUNvbmZpZyh0KSkpKX1fbG9hZFN2Z0ljb25TZXRGcm9tQ29uZmlnKHQpe3JldHVybiB0LnN2Z1RleHQ/enQobnVsbCk6dGhpcy5fZmV0Y2hJY29uKHQpLnBpcGUoV2UoKGU9PnQuc3ZnVGV4dD1lKSkpfV9leHRyYWN0U3ZnSWNvbkZyb21TZXQodCxlLG4pe2NvbnN0IG89dC5xdWVyeVNlbGVjdG9yKGBbaWQ9IiR7ZX0iXWApO2lmKCFvKXJldHVybiBudWxsO2NvbnN0IGk9by5jbG9uZU5vZGUoITApO2lmKGkucmVtb3ZlQXR0cmlidXRlKCJpZCIpLCJzdmciPT09aS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXJldHVybiB0aGlzLl9zZXRTdmdBdHRyaWJ1dGVzKGksbik7aWYoInN5bWJvbCI9PT1pLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpcmV0dXJuIHRoaXMuX3NldFN2Z0F0dHJpYnV0ZXModGhpcy5fdG9TdmdFbGVtZW50KGkpLG4pO2NvbnN0IGE9dGhpcy5fc3ZnRWxlbWVudEZyb21TdHJpbmcoIjxzdmc+PC9zdmc+Iik7cmV0dXJuIGEuYXBwZW5kQ2hpbGQoaSksdGhpcy5fc2V0U3ZnQXR0cmlidXRlcyhhLG4pfV9zdmdFbGVtZW50RnJvbVN0cmluZyh0KXtjb25zdCBlPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkRJViIpO2UuaW5uZXJIVE1MPXQ7Y29uc3Qgbj1lLnF1ZXJ5U2VsZWN0b3IoInN2ZyIpO2lmKCFuKXRocm93IEVycm9yKCI8c3ZnPiB0YWcgbm90IGZvdW5kIik7cmV0dXJuIG59X3RvU3ZnRWxlbWVudCh0KXtjb25zdCBlPXRoaXMuX3N2Z0VsZW1lbnRGcm9tU3RyaW5nKCI8c3ZnPjwvc3ZnPiIpLG49dC5hdHRyaWJ1dGVzO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXtjb25zdHtuYW1lOm8sdmFsdWU6aX09blt0XTsiaWQiIT09byYmZS5zZXRBdHRyaWJ1dGUobyxpKX1mb3IobGV0IG49MDtuPHQuY2hpbGROb2Rlcy5sZW5ndGg7bisrKXQuY2hpbGROb2Rlc1tuXS5ub2RlVHlwZT09PXRoaXMuX2RvY3VtZW50LkVMRU1FTlRfTk9ERSYmZS5hcHBlbmRDaGlsZCh0LmNoaWxkTm9kZXNbbl0uY2xvbmVOb2RlKCEwKSk7cmV0dXJuIGV9X3NldFN2Z0F0dHJpYnV0ZXModCxlKXtyZXR1cm4gdC5zZXRBdHRyaWJ1dGUoImZpdCIsIiIpLHQuc2V0QXR0cmlidXRlKCJoZWlnaHQiLCIxMDAlIiksdC5zZXRBdHRyaWJ1dGUoIndpZHRoIiwiMTAwJSIpLHQuc2V0QXR0cmlidXRlKCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIiwieE1pZFlNaWQgbWVldCIpLHQuc2V0QXR0cmlidXRlKCJmb2N1c2FibGUiLCJmYWxzZSIpLGUmJmUudmlld0JveCYmdC5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLGUudmlld0JveCksdH1fZmV0Y2hJY29uKHQpe3ZhciBlO2NvbnN0e3VybDpuLG9wdGlvbnM6b309dCxpPW51bGwhPT0oZT1udWxsPT1vP3ZvaWQgMDpvLndpdGhDcmVkZW50aWFscykmJnZvaWQgMCE9PWUmJmU7aWYoIXRoaXMuX2h0dHBDbGllbnQpdGhyb3coZnVuY3Rpb24gYSgpe3JldHVybiBFcnJvcigiQ291bGQgbm90IGZpbmQgSHR0cENsaWVudCBwcm92aWRlciBmb3IgdXNlIHdpdGggQW5ndWxhciBNYXRlcmlhbCBpY29ucy4gUGxlYXNlIGluY2x1ZGUgdGhlIEh0dHBDbGllbnRNb2R1bGUgZnJvbSBAYW5ndWxhci9jb21tb24vaHR0cCBpbiB5b3VyIGFwcCBpbXBvcnRzLiIpfSkoKTtpZihudWxsPT1uKXRocm93IEVycm9yKGBDYW5ub3QgZmV0Y2ggaWNvbiBmcm9tIFVSTCAiJHtufSIuYCk7Y29uc3Qgcj10aGlzLl9zYW5pdGl6ZXIuc2FuaXRpemUoWXMuUkVTT1VSQ0VfVVJMLG4pO2lmKCFyKXRocm93IGNxKG4pO2NvbnN0IHM9dGhpcy5faW5Qcm9ncmVzc1VybEZldGNoZXMuZ2V0KHIpO2lmKHMpcmV0dXJuIHM7Y29uc3QgbD10aGlzLl9odHRwQ2xpZW50LmdldChyLHtyZXNwb25zZVR5cGU6InRleHQiLHdpdGhDcmVkZW50aWFsczppfSkucGlwZSgoZnVuY3Rpb24gYyh0KXtyZXR1cm4geigoZnVuY3Rpb24oZSxuKXt0cnl7ZS5zdWJzY3JpYmUobil9ZmluYWxseXtuLmFkZCh0KX19KSl9KSgoKCk9PnRoaXMuX2luUHJvZ3Jlc3NVcmxGZXRjaGVzLmRlbGV0ZShyKSkpLEllKCkpO3JldHVybiB0aGlzLl9pblByb2dyZXNzVXJsRmV0Y2hlcy5zZXQocixsKSxsfV9hZGRTdmdJY29uQ29uZmlnKHQsZSxuKXtyZXR1cm4gdGhpcy5fc3ZnSWNvbkNvbmZpZ3Muc2V0KHVxKHQsZSksbiksdGhpc31fYWRkU3ZnSWNvblNldENvbmZpZyh0LGUpe2NvbnN0IG49dGhpcy5faWNvblNldENvbmZpZ3MuZ2V0KHQpO3JldHVybiBuP24ucHVzaChlKTp0aGlzLl9pY29uU2V0Q29uZmlncy5zZXQodCxbZV0pLHRoaXN9X3N2Z0VsZW1lbnRGcm9tQ29uZmlnKHQpe2lmKCF0LnN2Z0VsZW1lbnQpe2NvbnN0IGU9dGhpcy5fc3ZnRWxlbWVudEZyb21TdHJpbmcodC5zdmdUZXh0KTt0aGlzLl9zZXRTdmdBdHRyaWJ1dGVzKGUsdC5vcHRpb25zKSx0LnN2Z0VsZW1lbnQ9ZX1yZXR1cm4gdC5zdmdFbGVtZW50fV9nZXRJY29uQ29uZmlnRnJvbVJlc29sdmVycyh0LGUpe2ZvcihsZXQgbz0wO288dGhpcy5fcmVzb2x2ZXJzLmxlbmd0aDtvKyspe2NvbnN0IGk9dGhpcy5fcmVzb2x2ZXJzW29dKGUsdCk7aWYoaSlyZXR1cm4obj1pKS51cmwmJm4ub3B0aW9ucz9uZXcgcHEoaS51cmwsbnVsbCxpLm9wdGlvbnMpOm5ldyBwcShpLG51bGwpfXZhciBuOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi99fWZ1bmN0aW9uIGZxKHQpe3JldHVybiB0LmNsb25lTm9kZSghMCl9ZnVuY3Rpb24gdXEodCxlKXtyZXR1cm4gdCsiOiIrZX1tcS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bXEpKFRyKGdFLDgpLFRyKGVPKSxUcihzTSw4KSxUcih1bCkpfSxtcS7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgbXEoVHIoZ0UsOCksVHIoZU8pLFRyKHNNLDgpLFRyKHVsKSl9LHRva2VuOm1xLHByb3ZpZGVkSW46InJvb3QifSksbXEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpnRSxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTplT30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6dWx9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1xLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpnRSxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTplT30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6dWx9XX0pLG51bGwpLG5ldyBCcixuZXcganIsbmV3IEJyLG5ldyBCcjtjb25zdCBncT1JRihjbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLl9lbGVtZW50UmVmPXR9fSksaHE9bmV3IGVyKCJtYXQtaWNvbi1sb2NhdGlvbiIse3Byb3ZpZGVkSW46InJvb3QiLGZhY3Rvcnk6ZnVuY3Rpb24gYnEoKXtjb25zdCB0PXpyKHNNKSxlPXQ/dC5sb2NhdGlvbjpudWxsO3JldHVybntnZXRQYXRobmFtZTooKT0+ZT9lLnBhdGhuYW1lK2Uuc2VhcmNoOiIifX19KTtjb25zdCB5cT1bImNsaXAtcGF0aCIsImNvbG9yLXByb2ZpbGUiLCJzcmMiLCJjdXJzb3IiLCJmaWxsIiwiZmlsdGVyIiwibWFya2VyIiwibWFya2VyLXN0YXJ0IiwibWFya2VyLW1pZCIsIm1hcmtlci1lbmQiLCJtYXNrIiwic3Ryb2tlIl0sX3E9eXEubWFwKCh0PT5gWyR7dH1dYCkpLmpvaW4oIiwgIiksQ3E9L151cmxcKFsnIl0/IyguKj8pWyciXT9cKSQvO2NsYXNzIE1xIGV4dGVuZHMgZ3F7Y29uc3RydWN0b3IodCxlLG4sbyxpKXtzdXBlcih0KSx0aGlzLl9pY29uUmVnaXN0cnk9ZSx0aGlzLl9sb2NhdGlvbj1vLHRoaXMuX2Vycm9ySGFuZGxlcj1pLHRoaXMuX2lubGluZT0hMSx0aGlzLl9jdXJyZW50SWNvbkZldGNoPXUuRU1QVFksbnx8dC5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIil9Z2V0IGlubGluZSgpe3JldHVybiB0aGlzLl9pbmxpbmV9c2V0IGlubGluZSh0KXt0aGlzLl9pbmxpbmU9ZUgodCl9Z2V0IHN2Z0ljb24oKXtyZXR1cm4gdGhpcy5fc3ZnSWNvbn1zZXQgc3ZnSWNvbih0KXt0IT09dGhpcy5fc3ZnSWNvbiYmKHQ/dGhpcy5fdXBkYXRlU3ZnSWNvbih0KTp0aGlzLl9zdmdJY29uJiZ0aGlzLl9jbGVhclN2Z0VsZW1lbnQoKSx0aGlzLl9zdmdJY29uPXQpfWdldCBmb250U2V0KCl7cmV0dXJuIHRoaXMuX2ZvbnRTZXR9c2V0IGZvbnRTZXQodCl7Y29uc3QgZT10aGlzLl9jbGVhbnVwRm9udFZhbHVlKHQpO2UhPT10aGlzLl9mb250U2V0JiYodGhpcy5fZm9udFNldD1lLHRoaXMuX3VwZGF0ZUZvbnRJY29uQ2xhc3NlcygpKX1nZXQgZm9udEljb24oKXtyZXR1cm4gdGhpcy5fZm9udEljb259c2V0IGZvbnRJY29uKHQpe2NvbnN0IGU9dGhpcy5fY2xlYW51cEZvbnRWYWx1ZSh0KTtlIT09dGhpcy5fZm9udEljb24mJih0aGlzLl9mb250SWNvbj1lLHRoaXMuX3VwZGF0ZUZvbnRJY29uQ2xhc3NlcygpKX1fc3BsaXRJY29uTmFtZSh0KXtpZighdClyZXR1cm5bIiIsIiJdO2NvbnN0IGU9dC5zcGxpdCgiOiIpO3N3aXRjaChlLmxlbmd0aCl7Y2FzZSAxOnJldHVyblsiIixlWzBdXTtjYXNlIDI6cmV0dXJuIGU7ZGVmYXVsdDp0aHJvdyBFcnJvcihgSW52YWxpZCBpY29uIG5hbWU6ICIke3R9ImApfX1uZ09uSW5pdCgpe3RoaXMuX3VwZGF0ZUZvbnRJY29uQ2xhc3NlcygpfW5nQWZ0ZXJWaWV3Q2hlY2tlZCgpe2NvbnN0IHQ9dGhpcy5fZWxlbWVudHNXaXRoRXh0ZXJuYWxSZWZlcmVuY2VzO2lmKHQmJnQuc2l6ZSl7Y29uc3QgdD10aGlzLl9sb2NhdGlvbi5nZXRQYXRobmFtZSgpO3QhPT10aGlzLl9wcmV2aW91c1BhdGgmJih0aGlzLl9wcmV2aW91c1BhdGg9dCx0aGlzLl9wcmVwZW5kUGF0aFRvUmVmZXJlbmNlcyh0KSl9fW5nT25EZXN0cm95KCl7dGhpcy5fY3VycmVudEljb25GZXRjaC51bnN1YnNjcmliZSgpLHRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcyYmdGhpcy5fZWxlbWVudHNXaXRoRXh0ZXJuYWxSZWZlcmVuY2VzLmNsZWFyKCl9X3VzaW5nRm9udEljb24oKXtyZXR1cm4hdGhpcy5zdmdJY29ufV9zZXRTdmdFbGVtZW50KHQpe3RoaXMuX2NsZWFyU3ZnRWxlbWVudCgpO2NvbnN0IGU9dC5xdWVyeVNlbGVjdG9yQWxsKCJzdHlsZSIpO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0udGV4dENvbnRlbnQrPSIgIjtjb25zdCBuPXRoaXMuX2xvY2F0aW9uLmdldFBhdGhuYW1lKCk7dGhpcy5fcHJldmlvdXNQYXRoPW4sdGhpcy5fY2FjaGVDaGlsZHJlbldpdGhFeHRlcm5hbFJlZmVyZW5jZXModCksdGhpcy5fcHJlcGVuZFBhdGhUb1JlZmVyZW5jZXMobiksdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHQpfV9jbGVhclN2Z0VsZW1lbnQoKXtjb25zdCB0PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtsZXQgZT10LmNoaWxkTm9kZXMubGVuZ3RoO2Zvcih0aGlzLl9lbGVtZW50c1dpdGhFeHRlcm5hbFJlZmVyZW5jZXMmJnRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcy5jbGVhcigpO2UtLTspe2NvbnN0IG49dC5jaGlsZE5vZGVzW2VdOzE9PT1uLm5vZGVUeXBlJiYic3ZnIiE9PW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKXx8dC5yZW1vdmVDaGlsZChuKX19X3VwZGF0ZUZvbnRJY29uQ2xhc3Nlcygpe2lmKCF0aGlzLl91c2luZ0ZvbnRJY29uKCkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LGU9dGhpcy5mb250U2V0P3RoaXMuX2ljb25SZWdpc3RyeS5jbGFzc05hbWVGb3JGb250QWxpYXModGhpcy5mb250U2V0KTp0aGlzLl9pY29uUmVnaXN0cnkuZ2V0RGVmYXVsdEZvbnRTZXRDbGFzcygpO2UhPXRoaXMuX3ByZXZpb3VzRm9udFNldENsYXNzJiYodGhpcy5fcHJldmlvdXNGb250U2V0Q2xhc3MmJnQuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9wcmV2aW91c0ZvbnRTZXRDbGFzcyksZSYmdC5jbGFzc0xpc3QuYWRkKGUpLHRoaXMuX3ByZXZpb3VzRm9udFNldENsYXNzPWUpLHRoaXMuZm9udEljb24hPXRoaXMuX3ByZXZpb3VzRm9udEljb25DbGFzcyYmKHRoaXMuX3ByZXZpb3VzRm9udEljb25DbGFzcyYmdC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuX3ByZXZpb3VzRm9udEljb25DbGFzcyksdGhpcy5mb250SWNvbiYmdC5jbGFzc0xpc3QuYWRkKHRoaXMuZm9udEljb24pLHRoaXMuX3ByZXZpb3VzRm9udEljb25DbGFzcz10aGlzLmZvbnRJY29uKX1fY2xlYW51cEZvbnRWYWx1ZSh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/dC50cmltKCkuc3BsaXQoIiAiKVswXTp0fV9wcmVwZW5kUGF0aFRvUmVmZXJlbmNlcyh0KXtjb25zdCBlPXRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcztlJiZlLmZvckVhY2goKChlLG4pPT57ZS5mb3JFYWNoKChlPT57bi5zZXRBdHRyaWJ1dGUoZS5uYW1lLGB1cmwoJyR7dH0jJHtlLnZhbHVlfScpYCl9KSl9KSl9X2NhY2hlQ2hpbGRyZW5XaXRoRXh0ZXJuYWxSZWZlcmVuY2VzKHQpe2NvbnN0IGU9dC5xdWVyeVNlbGVjdG9yQWxsKF9xKSxuPXRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcz10aGlzLl9lbGVtZW50c1dpdGhFeHRlcm5hbFJlZmVyZW5jZXN8fG5ldyBNYXA7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspeXEuZm9yRWFjaCgobz0+e2NvbnN0IGk9ZVt0XSxhPWkuZ2V0QXR0cmlidXRlKG8pLHI9YT9hLm1hdGNoKENxKTpudWxsO2lmKHIpe2xldCB0PW4uZ2V0KGkpO3R8fCh0PVtdLG4uc2V0KGksdCkpLHQucHVzaCh7bmFtZTpvLHZhbHVlOnJbMV19KX19KSl9X3VwZGF0ZVN2Z0ljb24odCl7aWYodGhpcy5fc3ZnTmFtZXNwYWNlPW51bGwsdGhpcy5fc3ZnTmFtZT1udWxsLHRoaXMuX2N1cnJlbnRJY29uRmV0Y2gudW5zdWJzY3JpYmUoKSx0KXtjb25zdFtlLG5dPXRoaXMuX3NwbGl0SWNvbk5hbWUodCk7ZSYmKHRoaXMuX3N2Z05hbWVzcGFjZT1lKSxuJiYodGhpcy5fc3ZnTmFtZT1uKSx0aGlzLl9jdXJyZW50SWNvbkZldGNoPXRoaXMuX2ljb25SZWdpc3RyeS5nZXROYW1lZFN2Z0ljb24obixlKS5waXBlKHZlKDEpKS5zdWJzY3JpYmUoKHQ9PnRoaXMuX3NldFN2Z0VsZW1lbnQodCkpLCh0PT57dGhpcy5fZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKG5ldyBFcnJvcihgRXJyb3IgcmV0cmlldmluZyBpY29uICR7ZX06JHtufSEgJHt0Lm1lc3NhZ2V9YCkpfSkpfX19TXEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE1xKShnZihLaCksZ2YobXEpLEdhKCJhcmlhLWhpZGRlbiIpLGdmKGhxKSxnZih1bCkpfSxNcS7JtWNtcD1zbyh7dHlwZTpNcSxzZWxlY3RvcnM6W1sibWF0LWljb24iXV0saG9zdEF0dHJzOlsicm9sZSIsImltZyIsMSwibWF0LWljb24iLCJub3RyYW5zbGF0ZSJdLGhvc3RWYXJzOjcsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJih5bSgiZGF0YS1tYXQtaWNvbi10eXBlIixuLl91c2luZ0ZvbnRJY29uKCk/ImZvbnQiOiJzdmciKSgiZGF0YS1tYXQtaWNvbi1uYW1lIixuLl9zdmdOYW1lfHxuLmZvbnRJY29uKSgiZGF0YS1tYXQtaWNvbi1uYW1lc3BhY2UiLG4uX3N2Z05hbWVzcGFjZXx8bi5mb250U2V0KSxjdSgibWF0LWljb24taW5saW5lIixuLmlubGluZSkoIm1hdC1pY29uLW5vLWNvbG9yIiwicHJpbWFyeSIhPT1uLmNvbG9yJiYiYWNjZW50IiE9PW4uY29sb3ImJiJ3YXJuIiE9PW4uY29sb3IpKX0saW5wdXRzOntjb2xvcjoiY29sb3IiLGlubGluZToiaW5saW5lIixzdmdJY29uOiJzdmdJY29uIixmb250U2V0OiJmb250U2V0Iixmb250SWNvbjoiZm9udEljb24ifSxleHBvcnRBczpbIm1hdEljb24iXSxmZWF0dXJlczpbUXBdLG5nQ29udGVudFNlbGVjdG9yczpbIioiXSxkZWNsczoxLHZhcnM6MCx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxGZigwKSl9LHN0eWxlczpbIi5tYXQtaWNvbntiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmlsbDpjdXJyZW50Q29sb3I7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ubWF0LWljb24ubWF0LWljb24taW5saW5le2ZvbnQtc2l6ZTppbmhlcml0O2hlaWdodDppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdH1bZGlyPXJ0bF0gLm1hdC1pY29uLXJ0bC1taXJyb3J7dHJhbnNmb3JtOnNjYWxlKC0xLCAxKX0ubWF0LWZvcm0tZmllbGQ6bm90KC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSkgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCAubWF0LWljb24sLm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29ue2Rpc3BsYXk6YmxvY2t9Lm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb24sLm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb257bWFyZ2luOmF1dG99XG4iXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSxNcS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTptcX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJhcmlhLWhpZGRlbiJdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltocV19XX0se3R5cGU6dWx9XSxNcS5wcm9wRGVjb3JhdG9ycz17aW5saW5lOlt7dHlwZTpSX31dLHN2Z0ljb246W3t0eXBlOlJffV0sZm9udFNldDpbe3R5cGU6Ul99XSxmb250SWNvbjpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihNcSxbe3R5cGU6U18sYXJnczpbe3RlbXBsYXRlOiI8bmctY29udGVudD48L25nLWNvbnRlbnQ+IixzZWxlY3RvcjoibWF0LWljb24iLGV4cG9ydEFzOiJtYXRJY29uIixpbnB1dHM6WyJjb2xvciJdLGhvc3Q6e3JvbGU6ImltZyIsY2xhc3M6Im1hdC1pY29uIG5vdHJhbnNsYXRlIiwiW2F0dHIuZGF0YS1tYXQtaWNvbi10eXBlXSI6J191c2luZ0ZvbnRJY29uKCkgPyAiZm9udCIgOiAic3ZnIicsIlthdHRyLmRhdGEtbWF0LWljb24tbmFtZV0iOiJfc3ZnTmFtZSB8fCBmb250SWNvbiIsIlthdHRyLmRhdGEtbWF0LWljb24tbmFtZXNwYWNlXSI6Il9zdmdOYW1lc3BhY2UgfHwgZm9udFNldCIsIltjbGFzcy5tYXQtaWNvbi1pbmxpbmVdIjoiaW5saW5lIiwiW2NsYXNzLm1hdC1pY29uLW5vLWNvbG9yXSI6J2NvbG9yICE9PSAicHJpbWFyeSIgJiYgY29sb3IgIT09ICJhY2NlbnQiICYmIGNvbG9yICE9PSAid2FybiInfSxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxzdHlsZXM6WyIubWF0LWljb257YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZpbGw6Y3VycmVudENvbG9yO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lm1hdC1pY29uLm1hdC1pY29uLWlubGluZXtmb250LXNpemU6aW5oZXJpdDtoZWlnaHQ6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O3dpZHRoOmluaGVyaXR9W2Rpcj1ydGxdIC5tYXQtaWNvbi1ydGwtbWlycm9ye3RyYW5zZm9ybTpzY2FsZSgtMSwgMSl9Lm1hdC1mb3JtLWZpZWxkOm5vdCgubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kpIC5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZDpub3QoLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5KSAubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbntkaXNwbGF5OmJsb2NrfS5tYXQtZm9ybS1maWVsZDpub3QoLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5KSAubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZDpub3QoLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5KSAubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29ue21hcmdpbjphdXRvfVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6bXF9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsiYXJpYS1oaWRkZW4iXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbaHFdfV19LHt0eXBlOnVsfV19KSx7aW5saW5lOlt7dHlwZTpSX31dLHN2Z0ljb246W3t0eXBlOlJffV0sZm9udFNldDpbe3R5cGU6Ul99XSxmb250SWNvbjpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgdnF7fXZxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx2cSl9LHZxLsm1bW9kPWZvKHt0eXBlOnZxfSksdnEuybVpbmo9RG4oe2ltcG9ydHM6W1tORl0sTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih2cSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W05GXSxleHBvcnRzOltNcSxORl0sZGVjbGFyYXRpb25zOltNcV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byh2cSx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW01xXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bTXEsTkZdfX0pO2NsYXNzIHhxe2NvbnN0cnVjdG9yKHQpe3RoaXMuZGlhbG9nUmVmPXQsdGhpcy50ZW5zb3Jib2FyZERvdERldlVybD0iaHR0cHM6Ly90ZW5zb3Jib2FyZC5kZXYvP3V0bV9zb3VyY2U9dGVuc29yYm9hcmQifW9uQ2xvc2UoKXt0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpfWdldENvbW1hbmRUZXh0KCl7aWYodGhpcy5sb2dkaXIpe3JldHVybiJ0ZW5zb3Jib2FyZCBkZXYgdXBsb2FkIC0tbG9nZGlyIFxcXG4gICAgJyIrdGhpcy5sb2dkaXIucmVwbGFjZSgvJy9nLCInXFwnJyIpKyInIn1yZXR1cm4idGVuc29yYm9hcmQgZGV2IHVwbG9hZCAtLWxvZ2RpciB7bG9nZGlyfSJ9fXhxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4cSkoZ2YoVlkpKX0seHEuybVjbXA9c28oe3R5cGU6eHEsc2VsZWN0b3JzOltbInRiZGV2LXVwbG9hZC1kaWFsb2ctY29tcG9uZW50Il1dLGlucHV0czp7bG9nZGlyOiJsb2dkaXIifSxkZWNsczoyMSx2YXJzOjQsY29uc3RzOltbInRhcmdldCIsIl9ibGFuayIsInJlbCIsIm5vcmVmZXJyZXIgbm9vcGVuZXIiLDEsImFuY2hvci10ZXh0IiwzLCJocmVmIl0sWzEsImNvbW1hbmQiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsInRpdGxlIiwiQ2xpY2sgdG8gY29weSB0aGUgY29tbWFuZCIsMSwiY29tbWFuZC1jb3B5IiwzLCJjZGtDb3B5VG9DbGlwYm9hcmQiXSxbInN2Z0ljb24iLCJjb250ZW50X2NvcHlfMjRweCJdLFsxLCJib3R0b20tYnV0dG9ucyJdLFsibWF0LWZsYXQtYnV0dG9uIiwiIiwxLCJjbG9zZS1idXR0b24iLDMsImNsaWNrIl0sWyJtYXQtZmxhdC1idXR0b24iLCIiLCJ0YXJnZXQiLCJfYmxhbmsiLCJyZWwiLCJub3JlZmVycmVyIG5vb3BlbmVyIiwxLCJsZWFybi1tb3JlLWJ1dHRvbiIsMywiaHJlZiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiaDMiKSxQdSgxLCJVcGxvYWQgdG8gVGVuc29yQm9hcmQuZGV2IiksTWYoKSxDZigyLCJwIiksQ2YoMywiYSIsMCksUHUoNCwiIFRlbnNvckJvYXJkLmRldiIpLE1mKCksUHUoNSwiIGVuYWJsZXMgeW91IHRvIGVhc2lseSBob3N0LCB0cmFjaywgYW5kIHNoYXJlIHlvdXIgTUwgZXhwZXJpbWVudHMgd2l0aCBldmVyeW9uZS4gWW91IGNhbiBzaGFyZSBhIGxpbmsgdG8gdGhlIHVwbG9hZGVkIFRlbnNvckJvYXJkIGluIHBhcGVycywgYmxvZyBwb3N0cywgYW5kIHNvY2lhbCBtZWRpYS4gVGhpcyBjYW4gc2hvd2Nhc2UgdGhlIHJlc3VsdHMgbW9yZSBlZmZlY3RpdmVseSBhbmQgaGVscHMgcmVwcm9kdWNpYmlsaXR5LlxuIiksTWYoKSxDZig2LCJwIiksUHUoNywiVG8gdXBsb2FkIGEgbG9nZGlyIHRvIFRlbnNvckJvYXJkLmRldiwgcnVuIHRoZSBjb21tYW5kOiIpLE1mKCksQ2YoOCwiZGl2IiwxKSxDZig5LCJwcmUiKSxDZigxMCwiY29kZSIpLFB1KDExKSxNZigpLE1mKCksQ2YoMTIsImJ1dHRvbiIsMiksdmYoMTMsIm1hdC1pY29uIiwzKSxNZigpLE1mKCksQ2YoMTQsInAiKSxQdSgxNSwiIE9ubHkgY2VydGFpbiBwbHVnaW5zIGFyZSBjdXJyZW50bHkgc3VwcG9ydGVkLiBVcGxvYWRlZCBUZW5zb3JCb2FyZHMgYXJlIHB1YmxpYyBhbmQgdmlzaWJsZSB0byBldmVyeW9uZTsgZG8gbm90IHVwbG9hZCBzZW5zaXRpdmUgZGF0YS5cbiIpLE1mKCksQ2YoMTYsImRpdiIsNCksQ2YoMTcsImJ1dHRvbiIsNSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uQ2xvc2UoKX0pKSxQdSgxOCwiIENsb3NlICIpLE1mKCksQ2YoMTksImEiLDYpLFB1KDIwLCIgTGVhcm4gbW9yZSAiKSxNZigpLE1mKCkpLDImZSYmKERjKDMpLExmKCJocmVmIixuLnRlbnNvcmJvYXJkRG90RGV2VXJsLFhzKSxEYyg4KSx3dShuLmdldENvbW1hbmRUZXh0KCkpLERjKDEpLGJmKCJjZGtDb3B5VG9DbGlwYm9hcmQiLG4uZ2V0Q29tbWFuZFRleHQoKSksRGMoNyksTGYoImhyZWYiLG4udGVuc29yYm9hcmREb3REZXZVcmwsWHMpKX0sZGlyZWN0aXZlczpbTkwscnEsTXEsekxdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfWRpdltfbmdjb250ZW50LSVDT01QJV0sIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjoxNnB4IDB9W19uZ2hvc3QtJUNPTVAlXSA+IFtfbmdjb250ZW50LSVDT01QJV06Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowfVtfbmdob3N0LSVDT01QJV0gPiBbX25nY29udGVudC0lQ09NUCVdOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfWgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS41fXBbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiMyMTIxMjE7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojZmZmfS5hbmNob3ItdGV4dFtfbmdjb250ZW50LSVDT01QJV17dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmNvbW1hbmRbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOiNmNWY2Zjc7Ym9yZGVyLXJhZGl1czo0cHg7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MnB4IDEycHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmNvbW1hbmRbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuY29tbWFuZFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojNjE2MTYxfXByZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3cteDphdXRvfWNvZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNX0uYm90dG9tLWJ1dHRvbnNbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5jbG9zZS1idXR0b25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOiM2MTYxNjE7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO21hcmdpbi1yaWdodDo4cHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmNsb3NlLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5jbG9zZS1idXR0b25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfVtfbmdob3N0LSVDT01QJV0gICAubGVhcm4tbW9yZS1idXR0b25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOiMxOTc2ZDI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5sZWFybi1tb3JlLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6IzQyYTVmNX0nXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeHEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGJkZXYtdXBsb2FkLWRpYWxvZy1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL3RiZGV2X3VwbG9hZF9kaWFsb2dfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vdGJkZXZfdXBsb2FkX2RpYWxvZ19jb21wb25lbnQuY3NzIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpWWX1dfSkse2xvZ2Rpcjpbe3R5cGU6Ul99XX0pO2NvbnN0IE9xPWJTKG9ULCh0PT50LmRhdGFfbG9jYXRpb24pKTtjbGFzcyBQcXtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5sb2dkaXIkPXRoaXMuc3RvcmUucGlwZShyUyhPcSkpfX1mdW5jdGlvbiB3cSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImJ1dHRvbiIsMSksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9wZW5EaWFsb2coKX0pKSxDZigxLCJzcGFuIiwyKSx2ZigyLCJtYXQtaWNvbiIsMyksUHUoMywiIFVwbG9hZCAiKSxNZigpLE1mKCl9fVBxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxQcSkoZ2YoaVMpKX0sUHEuybVjbXA9c28oe3R5cGU6UHEsc2VsZWN0b3JzOltbInRiZGV2LXVwbG9hZC1kaWFsb2ciXV0sZGVjbHM6Mix2YXJzOjMsY29uc3RzOltbMywibG9nZGlyIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJ0YmRldi11cGxvYWQtZGlhbG9nLWNvbXBvbmVudCIsMCksX3koMSwiYXN5bmMiKSksMiZlJiZiZigibG9nZGlyIixDeSgxLDEsbi5sb2dkaXIkKSl9LGRpcmVjdGl2ZXM6W3hxXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUHEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGJkZXYtdXBsb2FkLWRpYWxvZyIsdGVtcGxhdGU6J1xuICAgIDx0YmRldi11cGxvYWQtZGlhbG9nLWNvbXBvbmVudFxuICAgICAgW2xvZ2Rpcl09ImxvZ2RpciQgfCBhc3luYyJcbiAgICA+PC90YmRldi11cGxvYWQtZGlhbG9nLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBrcT1bImxvY2FsaG9zdCIsIjEyNy4wLjAuMSJdO2NsYXNzIFNxe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy53aW5kb3c9dCx0aGlzLmRpYWxvZz1lLHRoaXMuc2hvd249a3EuaW5jbHVkZXModC5sb2NhdGlvbi5ob3N0bmFtZSl9b3BlbkRpYWxvZygpe3RoaXMuZGlhbG9nLm9wZW4oUHEse3dpZHRoOiI1NjBweCJ9KX19U3EuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFNxKShnZigid2luZG93IiksZ2YoWFkpKX0sU3EuybVjbXA9c28oe3R5cGU6U3Esc2VsZWN0b3JzOltbInRiZGV2LXVwbG9hZC1idXR0b24iXV0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoInNob3duIixuLnNob3duKX0sZGVjbHM6MSx2YXJzOjEsY29uc3RzOltbIm1hdC1zdHJva2VkLWJ1dHRvbiIsIiIsMywiY2xpY2siLDQsIm5nSWYiXSxbIm1hdC1zdHJva2VkLWJ1dHRvbiIsIiIsMywiY2xpY2siXSxbMSwiYnV0dG9uLWNvbnRlbnRzIl0sWyJzdmdJY29uIiwiaW5mb19vdXRsaW5lXzI0cHgiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmSG0oMCx3cSw0LDAsImJ1dHRvbiIsMCksMiZlJiZiZigibmdJZiIsbi5zaG93bil9LGRpcmVjdGl2ZXM6W1B2LE5MLE1xXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVdICAgYnV0dG9uLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwO2JvcmRlcjoxcHggc29saWQgI2ViZWJlYn1ib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICBidXR0b24ubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNlZjZjMDB9LmJ1dHRvbi1jb250ZW50c1tfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9bWF0LWljb25bX25nY29udGVudC0lQ09NUCVde21hcmdpbi1yaWdodDo2cHh9J119KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFNxLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRiZGV2LXVwbG9hZC1idXR0b24iLHRlbXBsYXRlVXJsOiIuL3RiZGV2X3VwbG9hZF9idXR0b25fY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vdGJkZXZfdXBsb2FkX2J1dHRvbl9jb21wb25lbnQuY3NzIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpXaW5kb3csZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbIndpbmRvdyJdfV19LHt0eXBlOlhZfV19KSx7c2hvd246W3t0eXBlOkFfLGFyZ3M6WyJjbGFzcy5zaG93biJdfV19KTtmdW5jdGlvbiBEcSh0LGUpezEmdCYmKG9hKCksQ2YoMCwic3ZnIiwyKSx2ZigxLCJwb2x5Z29uIiwzKSxNZigpKX1jb25zdCBScT1bIioiXTtmdW5jdGlvbiBFcSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsMCksUmYoImtleWRvd24iLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLl9oYW5kbGVLZXlkb3duKG4pfSkpKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5jbG9zZWQuZW1pdCgiY2xpY2siKX0pKSgiQHRyYW5zZm9ybU1lbnUuc3RhcnQiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLl9vbkFuaW1hdGlvblN0YXJ0KG4pfSkpKCJAdHJhbnNmb3JtTWVudS5kb25lIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5fb25BbmltYXRpb25Eb25lKG4pfSkpLENmKDEsImRpdiIsMSksRmYoMiksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2JmKCJpZCIsdC5wYW5lbElkKSgibmdDbGFzcyIsdC5fY2xhc3NMaXN0KSgiQHRyYW5zZm9ybU1lbnUiLHQuX3BhbmVsQW5pbWF0aW9uU3RhdGUpLHltKCJhcmlhLWxhYmVsIix0LmFyaWFMYWJlbHx8bnVsbCkoImFyaWEtbGFiZWxsZWRieSIsdC5hcmlhTGFiZWxsZWRieXx8bnVsbCkoImFyaWEtZGVzY3JpYmVkYnkiLHQuYXJpYURlc2NyaWJlZGJ5fHxudWxsKX19Y29uc3QgQXE9e3RyYW5zZm9ybU1lbnU6eE8oInRyYW5zZm9ybU1lbnUiLFtrTygidm9pZCIsd08oe29wYWNpdHk6MCx0cmFuc2Zvcm06InNjYWxlKDAuOCkifSkpLERPKCJ2b2lkID0+IGVudGVyIixPTygiMTIwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSkiLHdPKHtvcGFjaXR5OjEsdHJhbnNmb3JtOiJzY2FsZSgxKSJ9KSkpLERPKCIqID0+IHZvaWQiLE9PKCIxMDBtcyAyNW1zIGxpbmVhciIsd08oe29wYWNpdHk6MH0pKSldKSxmYWRlSW5JdGVtczp4TygiZmFkZUluSXRlbXMiLFtrTygic2hvd2luZyIsd08oe29wYWNpdHk6MX0pKSxETygidm9pZCA9PiAqIixbd08oe29wYWNpdHk6MH0pLE9PKCI0MDBtcyAxMDBtcyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC41NSwgMC4yKSIpXSldKX0sVHE9bmV3IGVyKCJNYXRNZW51Q29udGVudCIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBOcXtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyKXt0aGlzLl90ZW1wbGF0ZT10LHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj1lLHRoaXMuX2FwcFJlZj1uLHRoaXMuX2luamVjdG9yPW8sdGhpcy5fdmlld0NvbnRhaW5lclJlZj1pLHRoaXMuX2RvY3VtZW50PWEsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9cix0aGlzLl9hdHRhY2hlZD1uZXcgQn1hdHRhY2godD17fSl7dGhpcy5fcG9ydGFsfHwodGhpcy5fcG9ydGFsPW5ldyBsQih0aGlzLl90ZW1wbGF0ZSx0aGlzLl92aWV3Q29udGFpbmVyUmVmKSksdGhpcy5kZXRhY2goKSx0aGlzLl9vdXRsZXR8fCh0aGlzLl9vdXRsZXQ9bmV3IHBCKHRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcix0aGlzLl9hcHBSZWYsdGhpcy5faW5qZWN0b3IpKTtjb25zdCBlPXRoaXMuX3RlbXBsYXRlLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuX291dGxldC5vdXRsZXRFbGVtZW50LGUpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmJiZ0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSx0aGlzLl9wb3J0YWwuYXR0YWNoKHRoaXMuX291dGxldCx0KSx0aGlzLl9hdHRhY2hlZC5uZXh0KCl9ZGV0YWNoKCl7dGhpcy5fcG9ydGFsLmlzQXR0YWNoZWQmJnRoaXMuX3BvcnRhbC5kZXRhY2goKX1uZ09uRGVzdHJveSgpe3RoaXMuX291dGxldCYmdGhpcy5fb3V0bGV0LmRpc3Bvc2UoKX19TnEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE5xKShnZihFYiksZ2YoR2gpLGdmKEhDKSxnZihOcCksZ2YoRmIpLGdmKHNNKSxnZihPYikpfSxOcS7JtWRpcj1obyh7dHlwZTpOcSxzZWxlY3RvcnM6W1sibmctdGVtcGxhdGUiLCJtYXRNZW51Q29udGVudCIsIiJdXSxmZWF0dXJlczpbamgoW3twcm92aWRlOlRxLHVzZUV4aXN0aW5nOk5xfV0pXX0pLE5xLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RWJ9LHt0eXBlOkdofSx7dHlwZTpIQ30se3R5cGU6TnB9LHt0eXBlOkZifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOk9ifV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihOcSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJuZy10ZW1wbGF0ZVttYXRNZW51Q29udGVudF0iLHByb3ZpZGVyczpbe3Byb3ZpZGU6VHEsdXNlRXhpc3Rpbmc6TnF9XX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkVifSx7dHlwZTpHaH0se3R5cGU6SEN9LHt0eXBlOk5wfSx7dHlwZTpGYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpPYn1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB6cT1uZXcgZXIoIk1BVF9NRU5VX1BBTkVMIiksSXE9SEYoekYoY2xhc3N7fSkpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBIcSBleHRlbmRzIElxe2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7c3VwZXIoKSx0aGlzLl9lbGVtZW50UmVmPXQsdGhpcy5fZm9jdXNNb25pdG9yPW4sdGhpcy5fcGFyZW50TWVudT1vLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPWksdGhpcy5yb2xlPSJtZW51aXRlbSIsdGhpcy5faG92ZXJlZD1uZXcgQix0aGlzLl9mb2N1c2VkPW5ldyBCLHRoaXMuX2hpZ2hsaWdodGVkPSExLHRoaXMuX3RyaWdnZXJzU3VibWVudT0hMSxvJiZvLmFkZEl0ZW0mJm8uYWRkSXRlbSh0aGlzKX1mb2N1cyh0LGUpe3RoaXMuX2ZvY3VzTW9uaXRvciYmdD90aGlzLl9mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSx0LGUpOnRoaXMuX2dldEhvc3RFbGVtZW50KCkuZm9jdXMoZSksdGhpcy5fZm9jdXNlZC5uZXh0KHRoaXMpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuX2ZvY3VzTW9uaXRvciYmdGhpcy5fZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5fZWxlbWVudFJlZiwhMSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9mb2N1c01vbml0b3ImJnRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKSx0aGlzLl9wYXJlbnRNZW51JiZ0aGlzLl9wYXJlbnRNZW51LnJlbW92ZUl0ZW0mJnRoaXMuX3BhcmVudE1lbnUucmVtb3ZlSXRlbSh0aGlzKSx0aGlzLl9ob3ZlcmVkLmNvbXBsZXRlKCksdGhpcy5fZm9jdXNlZC5jb21wbGV0ZSgpfV9nZXRUYWJJbmRleCgpe3JldHVybiB0aGlzLmRpc2FibGVkPyItMSI6IjAifV9nZXRIb3N0RWxlbWVudCgpe3JldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnR9X2NoZWNrRGlzYWJsZWQodCl7dGhpcy5kaXNhYmxlZCYmKHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpKX1faGFuZGxlTW91c2VFbnRlcigpe3RoaXMuX2hvdmVyZWQubmV4dCh0aGlzKX1nZXRMYWJlbCgpe3ZhciB0LGU7Y29uc3Qgbj10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xvbmVOb2RlKCEwKSxvPW4ucXVlcnlTZWxlY3RvckFsbCgibWF0LWljb24sIC5tYXRlcmlhbC1pY29ucyIpO2ZvcihsZXQgZT0wO2U8by5sZW5ndGg7ZSsrKXtjb25zdCBuPW9bZV07bnVsbD09PSh0PW4ucGFyZW50Tm9kZSl8fHZvaWQgMD09PXR8fHQucmVtb3ZlQ2hpbGQobil9cmV0dXJuKG51bGw9PT0oZT1uLnRleHRDb250ZW50KXx8dm9pZCAwPT09ZT92b2lkIDA6ZS50cmltKCkpfHwiIn1fc2V0SGlnaGxpZ2h0ZWQodCl7dmFyIGU7dGhpcy5faGlnaGxpZ2h0ZWQ9dCxudWxsPT09KGU9dGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYpfHx2b2lkIDA9PT1lfHxlLm1hcmtGb3JDaGVjaygpfX1IcS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SHEpKGdmKEtoKSxnZihzTSksZ2YoZkYpLGdmKHpxLDgpLGdmKE9iKSl9LEhxLsm1Y21wPXNvKHt0eXBlOkhxLHNlbGVjdG9yczpbWyIiLCJtYXQtbWVudS1pdGVtIiwiIl1dLGhvc3RBdHRyczpbMSwibWF0LWZvY3VzLWluZGljYXRvciJdLGhvc3RWYXJzOjEwLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9jaGVja0Rpc2FibGVkKGUpfSkpKCJtb3VzZWVudGVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9oYW5kbGVNb3VzZUVudGVyKCl9KSksMiZlJiYoeW0oInJvbGUiLG4ucm9sZSkoInRhYmluZGV4IixuLl9nZXRUYWJJbmRleCgpKSgiYXJpYS1kaXNhYmxlZCIsbi5kaXNhYmxlZC50b1N0cmluZygpKSgiZGlzYWJsZWQiLG4uZGlzYWJsZWR8fG51bGwpLGN1KCJtYXQtbWVudS1pdGVtIiwhMCkoIm1hdC1tZW51LWl0ZW0taGlnaGxpZ2h0ZWQiLG4uX2hpZ2hsaWdodGVkKSgibWF0LW1lbnUtaXRlbS1zdWJtZW51LXRyaWdnZXIiLG4uX3RyaWdnZXJzU3VibWVudSkpfSxpbnB1dHM6e2Rpc2FibGVkOiJkaXNhYmxlZCIsZGlzYWJsZVJpcHBsZToiZGlzYWJsZVJpcHBsZSIscm9sZToicm9sZSJ9LGV4cG9ydEFzOlsibWF0TWVudUl0ZW0iXSxmZWF0dXJlczpbUXBdLGF0dHJzOlsibWF0LW1lbnUtaXRlbSIsIiJdLG5nQ29udGVudFNlbGVjdG9yczpScSxkZWNsczozLHZhcnM6Myxjb25zdHM6W1sibWF0UmlwcGxlIiwiIiwxLCJtYXQtbWVudS1yaXBwbGUiLDMsIm1hdFJpcHBsZURpc2FibGVkIiwibWF0UmlwcGxlVHJpZ2dlciJdLFsiY2xhc3MiLCJtYXQtbWVudS1zdWJtZW51LWljb24iLCJ2aWV3Qm94IiwiMCAwIDUgMTAiLCJmb2N1c2FibGUiLCJmYWxzZSIsNCwibmdJZiJdLFsidmlld0JveCIsIjAgMCA1IDEwIiwiZm9jdXNhYmxlIiwiZmFsc2UiLDEsIm1hdC1tZW51LXN1Ym1lbnUtaWNvbiJdLFsicG9pbnRzIiwiMCwwIDUsNSAwLDEwIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZigpLEZmKDApLHZmKDEsImRpdiIsMCksSG0oMixEcSwyLDAsInN2ZyIsMSkpLDImZSYmKERjKDEpLGJmKCJtYXRSaXBwbGVEaXNhYmxlZCIsbi5kaXNhYmxlUmlwcGxlfHxuLmRpc2FibGVkKSgibWF0UmlwcGxlVHJpZ2dlciIsbi5fZ2V0SG9zdEVsZW1lbnQoKSksRGMoMSksYmYoIm5nSWYiLG4uX3RyaWdnZXJzU3VibWVudSkpfSxkaXJlY3RpdmVzOlttTCxQdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksSHEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpmRn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3pxXX0se3R5cGU6QnJ9XX0se3R5cGU6T2J9XSxIcS5wcm9wRGVjb3JhdG9ycz17cm9sZTpbe3R5cGU6Ul99XSxfY2hlY2tEaXNhYmxlZDpbe3R5cGU6VF8sYXJnczpbImNsaWNrIixbIiRldmVudCJdXX1dLF9oYW5kbGVNb3VzZUVudGVyOlt7dHlwZTpUXyxhcmdzOlsibW91c2VlbnRlciJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSHEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdC1tZW51LWl0ZW1dIixleHBvcnRBczoibWF0TWVudUl0ZW0iLGlucHV0czpbImRpc2FibGVkIiwiZGlzYWJsZVJpcHBsZSJdLGhvc3Q6eyJbYXR0ci5yb2xlXSI6InJvbGUiLCJbY2xhc3MubWF0LW1lbnUtaXRlbV0iOiJ0cnVlIiwiW2NsYXNzLm1hdC1tZW51LWl0ZW0taGlnaGxpZ2h0ZWRdIjoiX2hpZ2hsaWdodGVkIiwiW2NsYXNzLm1hdC1tZW51LWl0ZW0tc3VibWVudS10cmlnZ2VyXSI6Il90cmlnZ2Vyc1N1Ym1lbnUiLCJbYXR0ci50YWJpbmRleF0iOiJfZ2V0VGFiSW5kZXgoKSIsIlthdHRyLmFyaWEtZGlzYWJsZWRdIjoiZGlzYWJsZWQudG9TdHJpbmcoKSIsIlthdHRyLmRpc2FibGVkXSI6ImRpc2FibGVkIHx8IG51bGwiLGNsYXNzOiJtYXQtZm9jdXMtaW5kaWNhdG9yIn0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxlbmNhcHN1bGF0aW9uOlduLk5vbmUsdGVtcGxhdGU6JzxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxkaXYgY2xhc3M9Im1hdC1tZW51LXJpcHBsZSIgbWF0UmlwcGxlXG4gICAgIFttYXRSaXBwbGVEaXNhYmxlZF09ImRpc2FibGVSaXBwbGUgfHwgZGlzYWJsZWQiXG4gICAgIFttYXRSaXBwbGVUcmlnZ2VyXT0iX2dldEhvc3RFbGVtZW50KCkiPlxuPC9kaXY+XG5cbjxzdmdcbiAgKm5nSWY9Il90cmlnZ2Vyc1N1Ym1lbnUiXG4gIGNsYXNzPSJtYXQtbWVudS1zdWJtZW51LWljb24iXG4gIHZpZXdCb3g9IjAgMCA1IDEwIlxuICBmb2N1c2FibGU9ImZhbHNlIj48cG9seWdvbiBwb2ludHM9IjAsMCA1LDUgMCwxMCIvPjwvc3ZnPlxuJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOmZGfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbenFdfSx7dHlwZTpCcn1dfSx7dHlwZTpPYn1dfSkse3JvbGU6W3t0eXBlOlJffV0sX2NoZWNrRGlzYWJsZWQ6W3t0eXBlOlRfLGFyZ3M6WyJjbGljayIsWyIkZXZlbnQiXV19XSxfaGFuZGxlTW91c2VFbnRlcjpbe3R5cGU6VF8sYXJnczpbIm1vdXNlZW50ZXIiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBGcT1uZXcgZXIoIm1hdC1tZW51LWRlZmF1bHQtb3B0aW9ucyIse3Byb3ZpZGVkSW46InJvb3QiLGZhY3Rvcnk6ZnVuY3Rpb24gTHEoKXtyZXR1cm57b3ZlcmxhcFRyaWdnZXI6ITEseFBvc2l0aW9uOiJhZnRlciIseVBvc2l0aW9uOiJiZWxvdyIsYmFja2Ryb3BDbGFzczoiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AifX19KTtsZXQgQnE9MDtjbGFzcyBWcXtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5fZWxlbWVudFJlZj10LHRoaXMuX25nWm9uZT1lLHRoaXMuX2RlZmF1bHRPcHRpb25zPW4sdGhpcy5feFBvc2l0aW9uPXRoaXMuX2RlZmF1bHRPcHRpb25zLnhQb3NpdGlvbix0aGlzLl95UG9zaXRpb249dGhpcy5fZGVmYXVsdE9wdGlvbnMueVBvc2l0aW9uLHRoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcz1uZXcgUnksdGhpcy5fdGFiU3Vic2NyaXB0aW9uPXUuRU1QVFksdGhpcy5fY2xhc3NMaXN0PXt9LHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGU9InZvaWQiLHRoaXMuX2FuaW1hdGlvbkRvbmU9bmV3IEIsdGhpcy5vdmVybGF5UGFuZWxDbGFzcz10aGlzLl9kZWZhdWx0T3B0aW9ucy5vdmVybGF5UGFuZWxDbGFzc3x8IiIsdGhpcy5iYWNrZHJvcENsYXNzPXRoaXMuX2RlZmF1bHRPcHRpb25zLmJhY2tkcm9wQ2xhc3MsdGhpcy5fb3ZlcmxhcFRyaWdnZXI9dGhpcy5fZGVmYXVsdE9wdGlvbnMub3ZlcmxhcFRyaWdnZXIsdGhpcy5faGFzQmFja2Ryb3A9dGhpcy5fZGVmYXVsdE9wdGlvbnMuaGFzQmFja2Ryb3AsdGhpcy5jbG9zZWQ9bmV3IFN5LHRoaXMuY2xvc2U9dGhpcy5jbG9zZWQsdGhpcy5wYW5lbElkPSJtYXQtbWVudS1wYW5lbC0iK0JxKyt9Z2V0IHhQb3NpdGlvbigpe3JldHVybiB0aGlzLl94UG9zaXRpb259c2V0IHhQb3NpdGlvbih0KXsiYmVmb3JlIj09PXR8fCJhZnRlciI9PT10fHwidW5kZWZpbmVkIiE9dHlwZW9mIG5nRGV2TW9kZSYmIW5nRGV2TW9kZXx8KGZ1bmN0aW9uIGUoKXt0aHJvdyBFcnJvcigneFBvc2l0aW9uIHZhbHVlIG11c3QgYmUgZWl0aGVyIFwnYmVmb3JlXCcgb3IgYWZ0ZXJcJy5cbiAgICAgIEV4YW1wbGU6IDxtYXQtbWVudSB4UG9zaXRpb249ImJlZm9yZSIgI21lbnU9Im1hdE1lbnUiPjwvbWF0LW1lbnU+Jyl9KSgpLHRoaXMuX3hQb3NpdGlvbj10LHRoaXMuc2V0UG9zaXRpb25DbGFzc2VzKCl9Z2V0IHlQb3NpdGlvbigpe3JldHVybiB0aGlzLl95UG9zaXRpb259c2V0IHlQb3NpdGlvbih0KXsiYWJvdmUiPT09dHx8ImJlbG93Ij09PXR8fCJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlfHwoZnVuY3Rpb24gZSgpe3Rocm93IEVycm9yKCd5UG9zaXRpb24gdmFsdWUgbXVzdCBiZSBlaXRoZXIgXCdhYm92ZVwnIG9yIGJlbG93XCcuXG4gICAgICBFeGFtcGxlOiA8bWF0LW1lbnUgeVBvc2l0aW9uPSJhYm92ZSIgI21lbnU9Im1hdE1lbnUiPjwvbWF0LW1lbnU+Jyl9KSgpLHRoaXMuX3lQb3NpdGlvbj10LHRoaXMuc2V0UG9zaXRpb25DbGFzc2VzKCl9Z2V0IG92ZXJsYXBUcmlnZ2VyKCl7cmV0dXJuIHRoaXMuX292ZXJsYXBUcmlnZ2VyfXNldCBvdmVybGFwVHJpZ2dlcih0KXt0aGlzLl9vdmVybGFwVHJpZ2dlcj1lSCh0KX1nZXQgaGFzQmFja2Ryb3AoKXtyZXR1cm4gdGhpcy5faGFzQmFja2Ryb3B9c2V0IGhhc0JhY2tkcm9wKHQpe3RoaXMuX2hhc0JhY2tkcm9wPWVIKHQpfXNldCBwYW5lbENsYXNzKHQpe2NvbnN0IGU9dGhpcy5fcHJldmlvdXNQYW5lbENsYXNzO2UmJmUubGVuZ3RoJiZlLnNwbGl0KCIgIikuZm9yRWFjaCgodD0+e3RoaXMuX2NsYXNzTGlzdFt0XT0hMX0pKSx0aGlzLl9wcmV2aW91c1BhbmVsQ2xhc3M9dCx0JiZ0Lmxlbmd0aCYmKHQuc3BsaXQoIiAiKS5mb3JFYWNoKCh0PT57dGhpcy5fY2xhc3NMaXN0W3RdPSEwfSkpLHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc05hbWU9IiIpfWdldCBjbGFzc0xpc3QoKXtyZXR1cm4gdGhpcy5wYW5lbENsYXNzfXNldCBjbGFzc0xpc3QodCl7dGhpcy5wYW5lbENsYXNzPXR9bmdPbkluaXQoKXt0aGlzLnNldFBvc2l0aW9uQ2xhc3NlcygpfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX3VwZGF0ZURpcmVjdERlc2NlbmRhbnRzKCksdGhpcy5fa2V5TWFuYWdlcj1uZXcgTEgodGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zKS53aXRoV3JhcCgpLndpdGhUeXBlQWhlYWQoKS53aXRoSG9tZUFuZEVuZCgpLHRoaXMuX3RhYlN1YnNjcmlwdGlvbj10aGlzLl9rZXlNYW5hZ2VyLnRhYk91dC5zdWJzY3JpYmUoKCgpPT50aGlzLmNsb3NlZC5lbWl0KCJ0YWIiKSkpLHRoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcy5jaGFuZ2VzLnBpcGUoQmUodGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zKSxWZSgodD0+cGUoLi4udC5tYXAoKHQ9PnQuX2ZvY3VzZWQpKSkpKSkuc3Vic2NyaWJlKCh0PT50aGlzLl9rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0odCkpKX1uZ09uRGVzdHJveSgpe3RoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcy5kZXN0cm95KCksdGhpcy5fdGFiU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5jbG9zZWQuY29tcGxldGUoKX1faG92ZXJlZCgpe3JldHVybiB0aGlzLl9kaXJlY3REZXNjZW5kYW50SXRlbXMuY2hhbmdlcy5waXBlKEJlKHRoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcyksVmUoKHQ9PnBlKC4uLnQubWFwKCh0PT50Ll9ob3ZlcmVkKSkpKSkpfWFkZEl0ZW0odCl7fXJlbW92ZUl0ZW0odCl7fV9oYW5kbGVLZXlkb3duKHQpe2NvbnN0IGU9dC5rZXlDb2RlLG49dGhpcy5fa2V5TWFuYWdlcjtzd2l0Y2goZSl7Y2FzZSBLSTp0SCh0KXx8KHQucHJldmVudERlZmF1bHQoKSx0aGlzLmNsb3NlZC5lbWl0KCJrZXlkb3duIikpO2JyZWFrO2Nhc2UgMzc6dGhpcy5wYXJlbnRNZW51JiYibHRyIj09PXRoaXMuZGlyZWN0aW9uJiZ0aGlzLmNsb3NlZC5lbWl0KCJrZXlkb3duIik7YnJlYWs7Y2FzZSAzOTp0aGlzLnBhcmVudE1lbnUmJiJydGwiPT09dGhpcy5kaXJlY3Rpb24mJnRoaXMuY2xvc2VkLmVtaXQoImtleWRvd24iKTticmVhaztkZWZhdWx0OmUhPT1RSSYmZSE9PSRJfHxuLnNldEZvY3VzT3JpZ2luKCJrZXlib2FyZCIpLG4ub25LZXlkb3duKHQpfX1mb2N1c0ZpcnN0SXRlbSh0PSJwcm9ncmFtIil7dGhpcy5sYXp5Q29udGVudD90aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+dGhpcy5fZm9jdXNGaXJzdEl0ZW0odCkpKTp0aGlzLl9mb2N1c0ZpcnN0SXRlbSh0KX1fZm9jdXNGaXJzdEl0ZW0odCl7Y29uc3QgZT10aGlzLl9rZXlNYW5hZ2VyO2lmKGUuc2V0Rm9jdXNPcmlnaW4odCkuc2V0Rmlyc3RJdGVtQWN0aXZlKCksIWUuYWN0aXZlSXRlbSYmdGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zLmxlbmd0aCl7bGV0IHQ9dGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zLmZpcnN0Ll9nZXRIb3N0RWxlbWVudCgpLnBhcmVudEVsZW1lbnQ7Zm9yKDt0Oyl7aWYoIm1lbnUiPT09dC5nZXRBdHRyaWJ1dGUoInJvbGUiKSl7dC5mb2N1cygpO2JyZWFrfXQ9dC5wYXJlbnRFbGVtZW50fX19cmVzZXRBY3RpdmVJdGVtKCl7dGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKC0xKX1zZXRFbGV2YXRpb24odCl7Y29uc3QgZT1NYXRoLm1pbih0aGlzLl9iYXNlRWxldmF0aW9uK3QsMjQpLG49YCR7dGhpcy5fZWxldmF0aW9uUHJlZml4fSR7ZX1gLG89T2JqZWN0LmtleXModGhpcy5fY2xhc3NMaXN0KS5maW5kKCh0PT50LnN0YXJ0c1dpdGgodGhpcy5fZWxldmF0aW9uUHJlZml4KSkpO28mJm8hPT10aGlzLl9wcmV2aW91c0VsZXZhdGlvbnx8KHRoaXMuX3ByZXZpb3VzRWxldmF0aW9uJiYodGhpcy5fY2xhc3NMaXN0W3RoaXMuX3ByZXZpb3VzRWxldmF0aW9uXT0hMSksdGhpcy5fY2xhc3NMaXN0W25dPSEwLHRoaXMuX3ByZXZpb3VzRWxldmF0aW9uPW4pfXNldFBvc2l0aW9uQ2xhc3Nlcyh0PXRoaXMueFBvc2l0aW9uLGU9dGhpcy55UG9zaXRpb24pe2NvbnN0IG49dGhpcy5fY2xhc3NMaXN0O25bIm1hdC1tZW51LWJlZm9yZSJdPSJiZWZvcmUiPT09dCxuWyJtYXQtbWVudS1hZnRlciJdPSJhZnRlciI9PT10LG5bIm1hdC1tZW51LWFib3ZlIl09ImFib3ZlIj09PWUsblsibWF0LW1lbnUtYmVsb3ciXT0iYmVsb3ciPT09ZX1fc3RhcnRBbmltYXRpb24oKXt0aGlzLl9wYW5lbEFuaW1hdGlvblN0YXRlPSJlbnRlciJ9X3Jlc2V0QW5pbWF0aW9uKCl7dGhpcy5fcGFuZWxBbmltYXRpb25TdGF0ZT0idm9pZCJ9X29uQW5pbWF0aW9uRG9uZSh0KXt0aGlzLl9hbmltYXRpb25Eb25lLm5leHQodCksdGhpcy5faXNBbmltYXRpbmc9ITF9X29uQW5pbWF0aW9uU3RhcnQodCl7dGhpcy5faXNBbmltYXRpbmc9ITAsImVudGVyIj09PXQudG9TdGF0ZSYmMD09PXRoaXMuX2tleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4JiYodC5lbGVtZW50LnNjcm9sbFRvcD0wKX1fdXBkYXRlRGlyZWN0RGVzY2VuZGFudHMoKXt0aGlzLl9hbGxJdGVtcy5jaGFuZ2VzLnBpcGUoQmUodGhpcy5fYWxsSXRlbXMpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLl9kaXJlY3REZXNjZW5kYW50SXRlbXMucmVzZXQodC5maWx0ZXIoKHQ9PnQuX3BhcmVudE1lbnU9PT10aGlzKSkpLHRoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcy5ub3RpZnlPbkNoYW5nZXMoKX0pKX19VnEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFZxKShnZihLaCksZ2YobUMpLGdmKEZxKSl9LFZxLsm1ZGlyPWhvKHt0eXBlOlZxLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uIHQoZSxuLG8pe2lmKDEmZSYmKGp5KG8sVHEsNSksankobyxIcSw1KSxqeShvLEhxLDQpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLmxhenlDb250ZW50PXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9hbGxJdGVtcz10KSxCeSh0PVV5KCkpJiYobi5pdGVtcz10KX19LHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeShFYiw1KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLnRlbXBsYXRlUmVmPXQuZmlyc3QpfX0saW5wdXRzOntiYWNrZHJvcENsYXNzOiJiYWNrZHJvcENsYXNzIix4UG9zaXRpb246InhQb3NpdGlvbiIseVBvc2l0aW9uOiJ5UG9zaXRpb24iLG92ZXJsYXBUcmlnZ2VyOiJvdmVybGFwVHJpZ2dlciIsaGFzQmFja2Ryb3A6Imhhc0JhY2tkcm9wIixwYW5lbENsYXNzOlsiY2xhc3MiLCJwYW5lbENsYXNzIl0sY2xhc3NMaXN0OiJjbGFzc0xpc3QiLGFyaWFMYWJlbDpbImFyaWEtbGFiZWwiLCJhcmlhTGFiZWwiXSxhcmlhTGFiZWxsZWRieTpbImFyaWEtbGFiZWxsZWRieSIsImFyaWFMYWJlbGxlZGJ5Il0sYXJpYURlc2NyaWJlZGJ5OlsiYXJpYS1kZXNjcmliZWRieSIsImFyaWFEZXNjcmliZWRieSJdfSxvdXRwdXRzOntjbG9zZWQ6ImNsb3NlZCIsY2xvc2U6ImNsb3NlIn19KSxWcS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTptQ30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W0ZxXX1dfV0sVnEucHJvcERlY29yYXRvcnM9e19hbGxJdGVtczpbe3R5cGU6b3IsYXJnczpbSHEse2Rlc2NlbmRhbnRzOiEwfV19XSxiYWNrZHJvcENsYXNzOlt7dHlwZTpSX31dLGFyaWFMYWJlbDpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWwiXX1dLGFyaWFMYWJlbGxlZGJ5Olt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbGxlZGJ5Il19XSxhcmlhRGVzY3JpYmVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWRlc2NyaWJlZGJ5Il19XSx4UG9zaXRpb246W3t0eXBlOlJffV0seVBvc2l0aW9uOlt7dHlwZTpSX31dLHRlbXBsYXRlUmVmOlt7dHlwZTphcixhcmdzOltFYl19XSxpdGVtczpbe3R5cGU6b3IsYXJnczpbSHEse2Rlc2NlbmRhbnRzOiExfV19XSxsYXp5Q29udGVudDpbe3R5cGU6aXIsYXJnczpbVHFdfV0sb3ZlcmxhcFRyaWdnZXI6W3t0eXBlOlJffV0saGFzQmFja2Ryb3A6W3t0eXBlOlJffV0scGFuZWxDbGFzczpbe3R5cGU6Ul8sYXJnczpbImNsYXNzIl19XSxjbGFzc0xpc3Q6W3t0eXBlOlJffV0sY2xvc2VkOlt7dHlwZTpFX31dLGNsb3NlOlt7dHlwZTpFX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFZxLFt7dHlwZTprX31dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltGcV19XX1dfSkse2JhY2tkcm9wQ2xhc3M6W3t0eXBlOlJffV0sY2xvc2VkOlt7dHlwZTpFX31dLGNsb3NlOlt7dHlwZTpFX31dLHhQb3NpdGlvbjpbe3R5cGU6Ul99XSx5UG9zaXRpb246W3t0eXBlOlJffV0sb3ZlcmxhcFRyaWdnZXI6W3t0eXBlOlJffV0saGFzQmFja2Ryb3A6W3t0eXBlOlJffV0scGFuZWxDbGFzczpbe3R5cGU6Ul8sYXJnczpbImNsYXNzIl19XSxjbGFzc0xpc3Q6W3t0eXBlOlJffV0sX2FsbEl0ZW1zOlt7dHlwZTpvcixhcmdzOltIcSx7ZGVzY2VuZGFudHM6ITB9XX1dLGFyaWFMYWJlbDpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWwiXX1dLGFyaWFMYWJlbGxlZGJ5Olt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbGxlZGJ5Il19XSxhcmlhRGVzY3JpYmVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWRlc2NyaWJlZGJ5Il19XSx0ZW1wbGF0ZVJlZjpbe3R5cGU6YXIsYXJnczpbRWJdfV0saXRlbXM6W3t0eXBlOm9yLGFyZ3M6W0hxLHtkZXNjZW5kYW50czohMX1dfV0sbGF6eUNvbnRlbnQ6W3t0eXBlOmlyLGFyZ3M6W1RxXX1dfSk7Y2xhc3MganEgZXh0ZW5kcyBWcXtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIodCxlLG4pLHRoaXMuX2VsZXZhdGlvblByZWZpeD0ibWF0LWVsZXZhdGlvbi16Iix0aGlzLl9iYXNlRWxldmF0aW9uPTR9fWpxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxqcSkoZ2YoS2gpLGdmKG1DKSxnZihGcSkpfSxqcS7JtWNtcD1zbyh7dHlwZTpqcSxzZWxlY3RvcnM6W1sibWF0LW1lbnUiXV0saG9zdFZhcnM6Myxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmeW0oImFyaWEtbGFiZWwiLG51bGwpKCJhcmlhLWxhYmVsbGVkYnkiLG51bGwpKCJhcmlhLWRlc2NyaWJlZGJ5IixudWxsKX0sZXhwb3J0QXM6WyJtYXRNZW51Il0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTp6cSx1c2VFeGlzdGluZzpqcX1dKSxRcF0sbmdDb250ZW50U2VsZWN0b3JzOlJxLGRlY2xzOjEsdmFyczowLGNvbnN0czpbWyJ0YWJpbmRleCIsIi0xIiwicm9sZSIsIm1lbnUiLDEsIm1hdC1tZW51LXBhbmVsIiwzLCJpZCIsIm5nQ2xhc3MiLCJrZXlkb3duIiwiY2xpY2siXSxbMSwibWF0LW1lbnUtY29udGVudCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxIbSgwLEVxLDMsNiwibmctdGVtcGxhdGUiKSl9LGRpcmVjdGl2ZXM6W0N2XSxzdHlsZXM6WyJtYXQtbWVudXtkaXNwbGF5Om5vbmV9Lm1hdC1tZW51LXBhbmVse21pbi13aWR0aDoxMTJweDttYXgtd2lkdGg6MjgwcHg7b3ZlcmZsb3c6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KTtib3JkZXItcmFkaXVzOjRweDtvdXRsaW5lOjA7bWluLWhlaWdodDo2NHB4fS5tYXQtbWVudS1wYW5lbC5uZy1hbmltYXRpbmd7cG9pbnRlci1ldmVudHM6bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtbWVudS1wYW5lbHtvdXRsaW5lOnNvbGlkIDFweH0ubWF0LW1lbnUtY29udGVudDpub3QoOmVtcHR5KXtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbWVudS1pdGVtey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjQ4cHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDE2cHg7dGV4dC1hbGlnbjpsZWZ0O3RleHQtZGVjb3JhdGlvbjpub25lO21heC13aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWVudS1pdGVtOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfS5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1bZGlyPXJ0bF0gLm1hdC1tZW51LWl0ZW17dGV4dC1hbGlnbjpyaWdodH0ubWF0LW1lbnUtaXRlbSAubWF0LWljb257bWFyZ2luLXJpZ2h0OjE2cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbiBzdmd7dmVydGljYWwtYWxpZ246dG9wfVtkaXI9cnRsXSAubWF0LW1lbnUtaXRlbSAubWF0LWljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6MH0ubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF17cG9pbnRlci1ldmVudHM6bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtbWVudS1pdGVte21hcmdpbi10b3A6MXB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1tZW51LWl0ZW0uY2RrLXByb2dyYW0tZm9jdXNlZCwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1tZW51LWl0ZW0taGlnaGxpZ2h0ZWR7b3V0bGluZTpkb3R0ZWQgMXB4fS5tYXQtbWVudS1pdGVtLXN1Ym1lbnUtdHJpZ2dlcntwYWRkaW5nLXJpZ2h0OjMycHh9W2Rpcj1ydGxdIC5tYXQtbWVudS1pdGVtLXN1Ym1lbnUtdHJpZ2dlcntwYWRkaW5nLXJpZ2h0OjE2cHg7cGFkZGluZy1sZWZ0OjMycHh9Lm1hdC1tZW51LXN1Ym1lbnUtaWNvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3JpZ2h0OjE2cHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6NXB4O2hlaWdodDoxMHB4O2ZpbGw6Y3VycmVudENvbG9yfVtkaXI9cnRsXSAubWF0LW1lbnUtc3VibWVudS1pY29ue3JpZ2h0OmF1dG87bGVmdDoxNnB4O3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlWCgtMSl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LW1lbnUtc3VibWVudS1pY29ue2ZpbGw6Q2FudmFzVGV4dH1idXR0b24ubWF0LW1lbnUtaXRlbXt3aWR0aDoxMDAlfS5tYXQtbWVudS1pdGVtIC5tYXQtbWVudS1yaXBwbGV7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZX1cbiJdLGVuY2Fwc3VsYXRpb246MixkYXRhOnthbmltYXRpb246W0FxLnRyYW5zZm9ybU1lbnUsQXEuZmFkZUluSXRlbXNdfSxjaGFuZ2VEZXRlY3Rpb246MH0pLGpxLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbRnFdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGpxLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1tZW51Iix0ZW1wbGF0ZTonPG5nLXRlbXBsYXRlPlxuICA8ZGl2XG4gICAgY2xhc3M9Im1hdC1tZW51LXBhbmVsIlxuICAgIFtpZF09InBhbmVsSWQiXG4gICAgW25nQ2xhc3NdPSJfY2xhc3NMaXN0IlxuICAgIChrZXlkb3duKT0iX2hhbmRsZUtleWRvd24oJGV2ZW50KSJcbiAgICAoY2xpY2spPSJjbG9zZWQuZW1pdChcJ2NsaWNrXCcpIlxuICAgIFtAdHJhbnNmb3JtTWVudV09Il9wYW5lbEFuaW1hdGlvblN0YXRlIlxuICAgIChAdHJhbnNmb3JtTWVudS5zdGFydCk9Il9vbkFuaW1hdGlvblN0YXJ0KCRldmVudCkiXG4gICAgKEB0cmFuc2Zvcm1NZW51LmRvbmUpPSJfb25BbmltYXRpb25Eb25lKCRldmVudCkiXG4gICAgdGFiaW5kZXg9Ii0xIlxuICAgIHJvbGU9Im1lbnUiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09ImFyaWFMYWJlbCB8fCBudWxsIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09ImFyaWFMYWJlbGxlZGJ5IHx8IG51bGwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09ImFyaWFEZXNjcmliZWRieSB8fCBudWxsIj5cbiAgICA8ZGl2IGNsYXNzPSJtYXQtbWVudS1jb250ZW50Ij5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLGVuY2Fwc3VsYXRpb246V24uTm9uZSxleHBvcnRBczoibWF0TWVudSIsaG9zdDp7IlthdHRyLmFyaWEtbGFiZWxdIjoibnVsbCIsIlthdHRyLmFyaWEtbGFiZWxsZWRieV0iOiJudWxsIiwiW2F0dHIuYXJpYS1kZXNjcmliZWRieV0iOiJudWxsIn0sYW5pbWF0aW9uczpbQXEudHJhbnNmb3JtTWVudSxBcS5mYWRlSW5JdGVtc10scHJvdmlkZXJzOlt7cHJvdmlkZTp6cSx1c2VFeGlzdGluZzpqcX1dLHN0eWxlczpbIm1hdC1tZW51e2Rpc3BsYXk6bm9uZX0ubWF0LW1lbnUtcGFuZWx7bWluLXdpZHRoOjExMnB4O21heC13aWR0aDoyODBweDtvdmVyZmxvdzphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpO2JvcmRlci1yYWRpdXM6NHB4O291dGxpbmU6MDttaW4taGVpZ2h0OjY0cHh9Lm1hdC1tZW51LXBhbmVsLm5nLWFuaW1hdGluZ3twb2ludGVyLWV2ZW50czpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1tZW51LXBhbmVse291dGxpbmU6c29saWQgMXB4fS5tYXQtbWVudS1jb250ZW50Om5vdCg6ZW1wdHkpe3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1tZW51LWl0ZW17LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmU6bm9uZTtib3JkZXI6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6NDhweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTZweDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bWF4LXdpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZW51LWl0ZW06Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjB9Lm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fVtkaXI9cnRsXSAubWF0LW1lbnUtaXRlbXt0ZXh0LWFsaWduOnJpZ2h0fS5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbnttYXJnaW4tcmlnaHQ6MTZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjp0b3B9W2Rpcj1ydGxdIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbnttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDowfS5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXXtwb2ludGVyLWV2ZW50czpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1tZW51LWl0ZW17bWFyZ2luLXRvcDoxcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LW1lbnUtaXRlbS5jZGstcHJvZ3JhbS1mb2N1c2VkLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LW1lbnUtaXRlbS1oaWdobGlnaHRlZHtvdXRsaW5lOmRvdHRlZCAxcHh9Lm1hdC1tZW51LWl0ZW0tc3VibWVudS10cmlnZ2Vye3BhZGRpbmctcmlnaHQ6MzJweH1bZGlyPXJ0bF0gLm1hdC1tZW51LWl0ZW0tc3VibWVudS10cmlnZ2Vye3BhZGRpbmctcmlnaHQ6MTZweDtwYWRkaW5nLWxlZnQ6MzJweH0ubWF0LW1lbnUtc3VibWVudS1pY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MTZweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDo1cHg7aGVpZ2h0OjEwcHg7ZmlsbDpjdXJyZW50Q29sb3J9W2Rpcj1ydGxdIC5tYXQtbWVudS1zdWJtZW51LWljb257cmlnaHQ6YXV0bztsZWZ0OjE2cHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGVYKC0xKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtbWVudS1zdWJtZW51LWljb257ZmlsbDpDYW52YXNUZXh0fWJ1dHRvbi5tYXQtbWVudS1pdGVte3dpZHRoOjEwMCV9Lm1hdC1tZW51LWl0ZW0gLm1hdC1tZW51LXJpcHBsZXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltGcV19XX1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBVcT1uZXcgZXIoIm1hdC1tZW51LXNjcm9sbC1zdHJhdGVneSIpO2NvbnN0IFdxPXtwcm92aWRlOlVxLGRlcHM6W0tCXSx1c2VGYWN0b3J5OmZ1bmN0aW9uIEdxKHQpe3JldHVybigpPT50LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpfX0sWXE9Ykgoe3Bhc3NpdmU6ITB9KTtjbGFzcyBxcXtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMpe3RoaXMuX292ZXJsYXk9dCx0aGlzLl9lbGVtZW50PWUsdGhpcy5fdmlld0NvbnRhaW5lclJlZj1uLHRoaXMuX21lbnVJdGVtSW5zdGFuY2U9YSx0aGlzLl9kaXI9cix0aGlzLl9mb2N1c01vbml0b3I9cyx0aGlzLl9vdmVybGF5UmVmPW51bGwsdGhpcy5fbWVudU9wZW49ITEsdGhpcy5fY2xvc2luZ0FjdGlvbnNTdWJzY3JpcHRpb249dS5FTVBUWSx0aGlzLl9ob3ZlclN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX21lbnVDbG9zZVN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQ9dD0+e2VGKHQpfHwodGhpcy5fb3BlbmVkQnk9InRvdWNoIil9LHRoaXMuX29wZW5lZEJ5PXZvaWQgMCx0aGlzLnJlc3RvcmVGb2N1cz0hMCx0aGlzLm1lbnVPcGVuZWQ9bmV3IFN5LHRoaXMub25NZW51T3Blbj10aGlzLm1lbnVPcGVuZWQsdGhpcy5tZW51Q2xvc2VkPW5ldyBTeSx0aGlzLm9uTWVudUNsb3NlPXRoaXMubWVudUNsb3NlZCx0aGlzLl9zY3JvbGxTdHJhdGVneT1vLHRoaXMuX3BhcmVudE1hdGVyaWFsTWVudT1pIGluc3RhbmNlb2YgVnE/aTp2b2lkIDAsZS5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQsWXEpLGEmJihhLl90cmlnZ2Vyc1N1Ym1lbnU9dGhpcy50cmlnZ2Vyc1N1Ym1lbnUoKSl9Z2V0IF9kZXByZWNhdGVkTWF0TWVudVRyaWdnZXJGb3IoKXtyZXR1cm4gdGhpcy5tZW51fXNldCBfZGVwcmVjYXRlZE1hdE1lbnVUcmlnZ2VyRm9yKHQpe3RoaXMubWVudT10fWdldCBtZW51KCl7cmV0dXJuIHRoaXMuX21lbnV9c2V0IG1lbnUodCl7dCE9PXRoaXMuX21lbnUmJih0aGlzLl9tZW51PXQsdGhpcy5fbWVudUNsb3NlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdCYmKHQhPT10aGlzLl9wYXJlbnRNYXRlcmlhbE1lbnV8fCJ1bmRlZmluZWQiIT10eXBlb2YgbmdEZXZNb2RlJiYhbmdEZXZNb2RlfHwoZnVuY3Rpb24gZSgpe3Rocm93IEVycm9yKCJtYXRNZW51VHJpZ2dlckZvcjogbWVudSBjYW5ub3QgY29udGFpbiBpdHMgb3duIHRyaWdnZXIuIEFzc2lnbiBhIG1lbnUgdGhhdCBpcyBub3QgYSBwYXJlbnQgb2YgdGhlIHRyaWdnZXIgb3IgbW92ZSB0aGUgdHJpZ2dlciBvdXRzaWRlIG9mIHRoZSBtZW51LiIpfSkoKSx0aGlzLl9tZW51Q2xvc2VTdWJzY3JpcHRpb249dC5jbG9zZS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLl9kZXN0cm95TWVudSh0KSwiY2xpY2siIT09dCYmInRhYiIhPT10fHwhdGhpcy5fcGFyZW50TWF0ZXJpYWxNZW51fHx0aGlzLl9wYXJlbnRNYXRlcmlhbE1lbnUuY2xvc2VkLmVtaXQodCl9KSkpKX1uZ0FmdGVyQ29udGVudEluaXQoKXt0aGlzLl9jaGVja01lbnUoKSx0aGlzLl9oYW5kbGVIb3ZlcigpfW5nT25EZXN0cm95KCl7dGhpcy5fb3ZlcmxheVJlZiYmKHRoaXMuX292ZXJsYXlSZWYuZGlzcG9zZSgpLHRoaXMuX292ZXJsYXlSZWY9bnVsbCksdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLHRoaXMuX2hhbmRsZVRvdWNoU3RhcnQsWXEpLHRoaXMuX21lbnVDbG9zZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuX2Nsb3NpbmdBY3Rpb25zU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5faG92ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX1nZXQgbWVudU9wZW4oKXtyZXR1cm4gdGhpcy5fbWVudU9wZW59Z2V0IGRpcigpe3JldHVybiB0aGlzLl9kaXImJiJydGwiPT09dGhpcy5fZGlyLnZhbHVlPyJydGwiOiJsdHIifXRyaWdnZXJzU3VibWVudSgpe3JldHVybiEoIXRoaXMuX21lbnVJdGVtSW5zdGFuY2V8fCF0aGlzLl9wYXJlbnRNYXRlcmlhbE1lbnUpfXRvZ2dsZU1lbnUoKXtyZXR1cm4gdGhpcy5fbWVudU9wZW4/dGhpcy5jbG9zZU1lbnUoKTp0aGlzLm9wZW5NZW51KCl9b3Blbk1lbnUoKXtpZih0aGlzLl9tZW51T3BlbilyZXR1cm47dGhpcy5fY2hlY2tNZW51KCk7Y29uc3QgdD10aGlzLl9jcmVhdGVPdmVybGF5KCksZT10LmdldENvbmZpZygpO3RoaXMuX3NldFBvc2l0aW9uKGUucG9zaXRpb25TdHJhdGVneSksZS5oYXNCYWNrZHJvcD1udWxsPT10aGlzLm1lbnUuaGFzQmFja2Ryb3A/IXRoaXMudHJpZ2dlcnNTdWJtZW51KCk6dGhpcy5tZW51Lmhhc0JhY2tkcm9wLHQuYXR0YWNoKHRoaXMuX2dldFBvcnRhbCgpKSx0aGlzLm1lbnUubGF6eUNvbnRlbnQmJnRoaXMubWVudS5sYXp5Q29udGVudC5hdHRhY2godGhpcy5tZW51RGF0YSksdGhpcy5fY2xvc2luZ0FjdGlvbnNTdWJzY3JpcHRpb249dGhpcy5fbWVudUNsb3NpbmdBY3Rpb25zKCkuc3Vic2NyaWJlKCgoKT0+dGhpcy5jbG9zZU1lbnUoKSkpLHRoaXMuX2luaXRNZW51KCksdGhpcy5tZW51IGluc3RhbmNlb2YgVnEmJnRoaXMubWVudS5fc3RhcnRBbmltYXRpb24oKX1jbG9zZU1lbnUoKXt0aGlzLm1lbnUuY2xvc2UuZW1pdCgpfWZvY3VzKHQsZSl7dGhpcy5fZm9jdXNNb25pdG9yJiZ0P3RoaXMuX2ZvY3VzTW9uaXRvci5mb2N1c1ZpYSh0aGlzLl9lbGVtZW50LHQsZSk6dGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKGUpfXVwZGF0ZVBvc2l0aW9uKCl7dmFyIHQ7bnVsbD09PSh0PXRoaXMuX292ZXJsYXlSZWYpfHx2b2lkIDA9PT10fHx0LnVwZGF0ZVBvc2l0aW9uKCl9X2Rlc3Ryb3lNZW51KHQpe2lmKCF0aGlzLl9vdmVybGF5UmVmfHwhdGhpcy5tZW51T3BlbilyZXR1cm47Y29uc3QgZT10aGlzLm1lbnU7dGhpcy5fY2xvc2luZ0FjdGlvbnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpLCF0aGlzLnJlc3RvcmVGb2N1c3x8ImtleWRvd24iIT09dCYmdGhpcy5fb3BlbmVkQnkmJnRoaXMudHJpZ2dlcnNTdWJtZW51KCl8fHRoaXMuZm9jdXModGhpcy5fb3BlbmVkQnkpLHRoaXMuX29wZW5lZEJ5PXZvaWQgMCxlIGluc3RhbmNlb2YgVnE/KGUuX3Jlc2V0QW5pbWF0aW9uKCksZS5sYXp5Q29udGVudD9lLl9hbmltYXRpb25Eb25lLnBpcGUodWUoKHQ9PiJ2b2lkIj09PXQudG9TdGF0ZSkpLHZlKDEpLGplKGUubGF6eUNvbnRlbnQuX2F0dGFjaGVkKSkuc3Vic2NyaWJlKHtuZXh0OigpPT5lLmxhenlDb250ZW50LmRldGFjaCgpLGNvbXBsZXRlOigpPT50aGlzLl9zZXRJc01lbnVPcGVuKCExKX0pOnRoaXMuX3NldElzTWVudU9wZW4oITEpKToodGhpcy5fc2V0SXNNZW51T3BlbighMSksZS5sYXp5Q29udGVudCYmZS5sYXp5Q29udGVudC5kZXRhY2goKSl9X2luaXRNZW51KCl7dGhpcy5tZW51LnBhcmVudE1lbnU9dGhpcy50cmlnZ2Vyc1N1Ym1lbnUoKT90aGlzLl9wYXJlbnRNYXRlcmlhbE1lbnU6dm9pZCAwLHRoaXMubWVudS5kaXJlY3Rpb249dGhpcy5kaXIsdGhpcy5fc2V0TWVudUVsZXZhdGlvbigpLHRoaXMubWVudS5mb2N1c0ZpcnN0SXRlbSh0aGlzLl9vcGVuZWRCeXx8InByb2dyYW0iKSx0aGlzLl9zZXRJc01lbnVPcGVuKCEwKX1fc2V0TWVudUVsZXZhdGlvbigpe2lmKHRoaXMubWVudS5zZXRFbGV2YXRpb24pe2xldCB0PTAsZT10aGlzLm1lbnUucGFyZW50TWVudTtmb3IoO2U7KXQrKyxlPWUucGFyZW50TWVudTt0aGlzLm1lbnUuc2V0RWxldmF0aW9uKHQpfX1fc2V0SXNNZW51T3Blbih0KXt0aGlzLl9tZW51T3Blbj10LHRoaXMuX21lbnVPcGVuP3RoaXMubWVudU9wZW5lZC5lbWl0KCk6dGhpcy5tZW51Q2xvc2VkLmVtaXQoKSx0aGlzLnRyaWdnZXJzU3VibWVudSgpJiZ0aGlzLl9tZW51SXRlbUluc3RhbmNlLl9zZXRIaWdobGlnaHRlZCh0KX1fY2hlY2tNZW51KCl7dGhpcy5tZW51fHwidW5kZWZpbmVkIiE9dHlwZW9mIG5nRGV2TW9kZSYmIW5nRGV2TW9kZXx8KAovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KZnVuY3Rpb24gdCgpe3Rocm93IEVycm9yKCdtYXRNZW51VHJpZ2dlckZvcjogbXVzdCBwYXNzIGluIGFuIG1hdC1tZW51IGluc3RhbmNlLlxuXG4gICAgRXhhbXBsZTpcbiAgICAgIDxtYXQtbWVudSAjbWVudT0ibWF0TWVudSI+PC9tYXQtbWVudT5cbiAgICAgIDxidXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT0ibWVudSI+PC9idXR0b24+Jyl9KSgpfV9jcmVhdGVPdmVybGF5KCl7aWYoIXRoaXMuX292ZXJsYXlSZWYpe2NvbnN0IHQ9dGhpcy5fZ2V0T3ZlcmxheUNvbmZpZygpO3RoaXMuX3N1YnNjcmliZVRvUG9zaXRpb25zKHQucG9zaXRpb25TdHJhdGVneSksdGhpcy5fb3ZlcmxheVJlZj10aGlzLl9vdmVybGF5LmNyZWF0ZSh0KSx0aGlzLl9vdmVybGF5UmVmLmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoKX1yZXR1cm4gdGhpcy5fb3ZlcmxheVJlZn1fZ2V0T3ZlcmxheUNvbmZpZygpe3JldHVybiBuZXcgd0Ioe3Bvc2l0aW9uU3RyYXRlZ3k6dGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5fZWxlbWVudCkud2l0aExvY2tlZFBvc2l0aW9uKCkud2l0aEdyb3dBZnRlck9wZW4oKS53aXRoVHJhbnNmb3JtT3JpZ2luT24oIi5tYXQtbWVudS1wYW5lbCwgLm1hdC1tZGMtbWVudS1wYW5lbCIpLGJhY2tkcm9wQ2xhc3M6dGhpcy5tZW51LmJhY2tkcm9wQ2xhc3N8fCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCIscGFuZWxDbGFzczp0aGlzLm1lbnUub3ZlcmxheVBhbmVsQ2xhc3Msc2Nyb2xsU3RyYXRlZ3k6dGhpcy5fc2Nyb2xsU3RyYXRlZ3koKSxkaXJlY3Rpb246dGhpcy5fZGlyfSl9X3N1YnNjcmliZVRvUG9zaXRpb25zKHQpe3RoaXMubWVudS5zZXRQb3NpdGlvbkNsYXNzZXMmJnQucG9zaXRpb25DaGFuZ2VzLnN1YnNjcmliZSgodD0+e3RoaXMubWVudS5zZXRQb3NpdGlvbkNsYXNzZXMoInN0YXJ0Ij09PXQuY29ubmVjdGlvblBhaXIub3ZlcmxheVg/ImFmdGVyIjoiYmVmb3JlIiwidG9wIj09PXQuY29ubmVjdGlvblBhaXIub3ZlcmxheVk/ImJlbG93IjoiYWJvdmUiKX0pKX1fc2V0UG9zaXRpb24odCl7bGV0W2Usbl09ImJlZm9yZSI9PT10aGlzLm1lbnUueFBvc2l0aW9uP1siZW5kIiwic3RhcnQiXTpbInN0YXJ0IiwiZW5kIl0sW28saV09ImFib3ZlIj09PXRoaXMubWVudS55UG9zaXRpb24/WyJib3R0b20iLCJ0b3AiXTpbInRvcCIsImJvdHRvbSJdLFthLHJdPVtvLGldLFtzLGxdPVtlLG5dLGM9MDt0aGlzLnRyaWdnZXJzU3VibWVudSgpPyhsPWU9ImJlZm9yZSI9PT10aGlzLm1lbnUueFBvc2l0aW9uPyJzdGFydCI6ImVuZCIsbj1zPSJlbmQiPT09ZT8ic3RhcnQiOiJlbmQiLGM9ImJvdHRvbSI9PT1vPzg6LTgpOnRoaXMubWVudS5vdmVybGFwVHJpZ2dlcnx8KGE9InRvcCI9PT1vPyJib3R0b20iOiJ0b3AiLHI9InRvcCI9PT1pPyJib3R0b20iOiJ0b3AiKSx0LndpdGhQb3NpdGlvbnMoW3tvcmlnaW5YOmUsb3JpZ2luWTphLG92ZXJsYXlYOnMsb3ZlcmxheVk6byxvZmZzZXRZOmN9LHtvcmlnaW5YOm4sb3JpZ2luWTphLG92ZXJsYXlYOmwsb3ZlcmxheVk6byxvZmZzZXRZOmN9LHtvcmlnaW5YOmUsb3JpZ2luWTpyLG92ZXJsYXlYOnMsb3ZlcmxheVk6aSxvZmZzZXRZOi1jfSx7b3JpZ2luWDpuLG9yaWdpblk6cixvdmVybGF5WDpsLG92ZXJsYXlZOmksb2Zmc2V0WTotY31dKX1fbWVudUNsb3NpbmdBY3Rpb25zKCl7Y29uc3QgdD10aGlzLl9vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKSxlPXRoaXMuX292ZXJsYXlSZWYuZGV0YWNobWVudHMoKTtyZXR1cm4gcGUodCx0aGlzLl9wYXJlbnRNYXRlcmlhbE1lbnU/dGhpcy5fcGFyZW50TWF0ZXJpYWxNZW51LmNsb3NlZDp6dCgpLHRoaXMuX3BhcmVudE1hdGVyaWFsTWVudT90aGlzLl9wYXJlbnRNYXRlcmlhbE1lbnUuX2hvdmVyZWQoKS5waXBlKHVlKCh0PT50IT09dGhpcy5fbWVudUl0ZW1JbnN0YW5jZSkpLHVlKCgoKT0+dGhpcy5fbWVudU9wZW4pKSk6enQoKSxlKX1faGFuZGxlTW91c2Vkb3duKHQpe3RGKHQpfHwodGhpcy5fb3BlbmVkQnk9MD09PXQuYnV0dG9uPyJtb3VzZSI6dm9pZCAwLHRoaXMudHJpZ2dlcnNTdWJtZW51KCkmJnQucHJldmVudERlZmF1bHQoKSl9X2hhbmRsZUtleWRvd24odCl7Y29uc3QgZT10LmtleUNvZGU7ZSE9PVhJJiZlIT09Skl8fCh0aGlzLl9vcGVuZWRCeT0ia2V5Ym9hcmQiKSx0aGlzLnRyaWdnZXJzU3VibWVudSgpJiYoMzk9PT1lJiYibHRyIj09PXRoaXMuZGlyfHwzNz09PWUmJiJydGwiPT09dGhpcy5kaXIpJiYodGhpcy5fb3BlbmVkQnk9ImtleWJvYXJkIix0aGlzLm9wZW5NZW51KCkpfV9oYW5kbGVDbGljayh0KXt0aGlzLnRyaWdnZXJzU3VibWVudSgpPyh0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMub3Blbk1lbnUoKSk6dGhpcy50b2dnbGVNZW51KCl9X2hhbmRsZUhvdmVyKCl7dGhpcy50cmlnZ2Vyc1N1Ym1lbnUoKSYmdGhpcy5fcGFyZW50TWF0ZXJpYWxNZW51JiYodGhpcy5faG92ZXJTdWJzY3JpcHRpb249dGhpcy5fcGFyZW50TWF0ZXJpYWxNZW51Ll9ob3ZlcmVkKCkucGlwZSh1ZSgodD0+dD09PXRoaXMuX21lbnVJdGVtSW5zdGFuY2UmJiF0LmRpc2FibGVkKSksUGUoMCxvdCkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLl9vcGVuZWRCeT0ibW91c2UiLHRoaXMubWVudSBpbnN0YW5jZW9mIFZxJiZ0aGlzLm1lbnUuX2lzQW5pbWF0aW5nP3RoaXMubWVudS5fYW5pbWF0aW9uRG9uZS5waXBlKHZlKDEpLFBlKDAsb3QpLGplKHRoaXMuX3BhcmVudE1hdGVyaWFsTWVudS5faG92ZXJlZCgpKSkuc3Vic2NyaWJlKCgoKT0+dGhpcy5vcGVuTWVudSgpKSk6dGhpcy5vcGVuTWVudSgpfSkpKX1fZ2V0UG9ydGFsKCl7cmV0dXJuIHRoaXMuX3BvcnRhbCYmdGhpcy5fcG9ydGFsLnRlbXBsYXRlUmVmPT09dGhpcy5tZW51LnRlbXBsYXRlUmVmfHwodGhpcy5fcG9ydGFsPW5ldyBsQih0aGlzLm1lbnUudGVtcGxhdGVSZWYsdGhpcy5fdmlld0NvbnRhaW5lclJlZikpLHRoaXMuX3BvcnRhbH19cXEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHFxKShnZihLQiksZ2YoS2gpLGdmKEZiKSxnZihVcSksZ2YoenEsOCksZ2YoSHEsMTApLGdmKHZGLDgpLGdmKGZGKSl9LHFxLsm1ZGlyPWhvKHt0eXBlOnFxLHNlbGVjdG9yczpbWyIiLCJtYXQtbWVudS10cmlnZ2VyLWZvciIsIiJdLFsiIiwibWF0TWVudVRyaWdnZXJGb3IiLCIiXV0saG9zdEF0dHJzOlsiYXJpYS1oYXNwb3B1cCIsInRydWUiLDEsIm1hdC1tZW51LXRyaWdnZXIiXSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigibW91c2Vkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlTW91c2Vkb3duKGUpfSkpKCJrZXlkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlS2V5ZG93bihlKX0pKSgiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9oYW5kbGVDbGljayhlKX0pKSwyJmUmJnltKCJhcmlhLWV4cGFuZGVkIixuLm1lbnVPcGVufHxudWxsKSgiYXJpYS1jb250cm9scyIsbi5tZW51T3Blbj9uLm1lbnUucGFuZWxJZDpudWxsKX0saW5wdXRzOntyZXN0b3JlRm9jdXM6WyJtYXRNZW51VHJpZ2dlclJlc3RvcmVGb2N1cyIsInJlc3RvcmVGb2N1cyJdLF9kZXByZWNhdGVkTWF0TWVudVRyaWdnZXJGb3I6WyJtYXQtbWVudS10cmlnZ2VyLWZvciIsIl9kZXByZWNhdGVkTWF0TWVudVRyaWdnZXJGb3IiXSxtZW51OlsibWF0TWVudVRyaWdnZXJGb3IiLCJtZW51Il0sbWVudURhdGE6WyJtYXRNZW51VHJpZ2dlckRhdGEiLCJtZW51RGF0YSJdfSxvdXRwdXRzOnttZW51T3BlbmVkOiJtZW51T3BlbmVkIixvbk1lbnVPcGVuOiJvbk1lbnVPcGVuIixtZW51Q2xvc2VkOiJtZW51Q2xvc2VkIixvbk1lbnVDbG9zZToib25NZW51Q2xvc2UifSxleHBvcnRBczpbIm1hdE1lbnVUcmlnZ2VyIl19KSxxcS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktCfSx7dHlwZTpLaH0se3R5cGU6RmJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltVcV19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3pxXX0se3R5cGU6QnJ9XX0se3R5cGU6SHEsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOmZGfV0scXEucHJvcERlY29yYXRvcnM9e19kZXByZWNhdGVkTWF0TWVudVRyaWdnZXJGb3I6W3t0eXBlOlJfLGFyZ3M6WyJtYXQtbWVudS10cmlnZ2VyLWZvciJdfV0sbWVudTpbe3R5cGU6Ul8sYXJnczpbIm1hdE1lbnVUcmlnZ2VyRm9yIl19XSxtZW51RGF0YTpbe3R5cGU6Ul8sYXJnczpbIm1hdE1lbnVUcmlnZ2VyRGF0YSJdfV0scmVzdG9yZUZvY3VzOlt7dHlwZTpSXyxhcmdzOlsibWF0TWVudVRyaWdnZXJSZXN0b3JlRm9jdXMiXX1dLG1lbnVPcGVuZWQ6W3t0eXBlOkVffV0sb25NZW51T3Blbjpbe3R5cGU6RV99XSxtZW51Q2xvc2VkOlt7dHlwZTpFX31dLG9uTWVudUNsb3NlOlt7dHlwZTpFX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHFxLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXQtbWVudS10cmlnZ2VyLWZvcl0sIFttYXRNZW51VHJpZ2dlckZvcl0iLGhvc3Q6e2NsYXNzOiJtYXQtbWVudS10cmlnZ2VyIiwiYXJpYS1oYXNwb3B1cCI6InRydWUiLCJbYXR0ci5hcmlhLWV4cGFuZGVkXSI6Im1lbnVPcGVuIHx8IG51bGwiLCJbYXR0ci5hcmlhLWNvbnRyb2xzXSI6Im1lbnVPcGVuID8gbWVudS5wYW5lbElkIDogbnVsbCIsIihtb3VzZWRvd24pIjoiX2hhbmRsZU1vdXNlZG93bigkZXZlbnQpIiwiKGtleWRvd24pIjoiX2hhbmRsZUtleWRvd24oJGV2ZW50KSIsIihjbGljaykiOiJfaGFuZGxlQ2xpY2soJGV2ZW50KSJ9LGV4cG9ydEFzOiJtYXRNZW51VHJpZ2dlciJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLQn0se3R5cGU6S2h9LHt0eXBlOkZifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbVXFdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOlt6cV19LHt0eXBlOkJyfV19LHt0eXBlOkhxLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn1dfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpmRn1dfSkse3Jlc3RvcmVGb2N1czpbe3R5cGU6Ul8sYXJnczpbIm1hdE1lbnVUcmlnZ2VyUmVzdG9yZUZvY3VzIl19XSxtZW51T3BlbmVkOlt7dHlwZTpFX31dLG9uTWVudU9wZW46W3t0eXBlOkVffV0sbWVudUNsb3NlZDpbe3R5cGU6RV99XSxvbk1lbnVDbG9zZTpbe3R5cGU6RV99XSxfZGVwcmVjYXRlZE1hdE1lbnVUcmlnZ2VyRm9yOlt7dHlwZTpSXyxhcmdzOlsibWF0LW1lbnUtdHJpZ2dlci1mb3IiXX1dLG1lbnU6W3t0eXBlOlJfLGFyZ3M6WyJtYXRNZW51VHJpZ2dlckZvciJdfV0sbWVudURhdGE6W3t0eXBlOlJfLGFyZ3M6WyJtYXRNZW51VHJpZ2dlckRhdGEiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBacXt9WnEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFpxKX0sWnEuybVtb2Q9Zm8oe3R5cGU6WnF9KSxacS7JtWluaj1Ebih7cHJvdmlkZXJzOltXcV0saW1wb3J0czpbTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihacSxbe3R5cGU6TF8sYXJnczpbe2V4cG9ydHM6W3FxLE5xLE5GXSxkZWNsYXJhdGlvbnM6W3FxLE5xXSxwcm92aWRlcnM6W1dxXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFpxLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bcXEsTnFdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW3FxLE5xLE5GXX19KTtjbGFzcyBYcXt9ZnVuY3Rpb24gS3EodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiw4KX1mdW5jdGlvbiBKcSh0LGUpezEmdCYmdmYoMCwibWF0LWljb24iLDkpfWZ1bmN0aW9uIFFxKHQsZSl7MSZ0JiZ2ZigwLCJtYXQtaWNvbiIsMTApfXZhciAkcTtYcS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WHEpfSxYcS7JtW1vZD1mbyh7dHlwZTpYcX0pLFhxLsm1aW5qPURuKHtwcm92aWRlcnM6W1dxXSxpbXBvcnRzOltbcngsTkYsZkwsb1YsWnFdLG9CLE5GLFpxXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWHEsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltyeCxORixmTCxvVixacV0sZXhwb3J0czpbb0IsTkYsanEsSHEsWnFdLGRlY2xhcmF0aW9uczpbanEsSHFdLHByb3ZpZGVyczpbV3FdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oWHEse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVybltqcSxIcV19LGltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bcngsTkYsZkwsb1YsWnFdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW29CLE5GLGpxLEhxLFpxXX19KSwoZnVuY3Rpb24odCl7dFt0LkRFRkFVTFQ9MF09IkRFRkFVTFQiLHRbdC5EQVJLX01PREVfT049MV09IkRBUktfTU9ERV9PTiIsdFt0LkRBUktfTU9ERV9PRkY9Ml09IkRBUktfTU9ERV9PRkYifSkoJHF8fCgkcT17fSkpO2NsYXNzIHRae2NvbnN0cnVjdG9yKCl7dGhpcy5EYXJrTW9kZU92ZXJyaWRlPSRxLHRoaXMub25PdmVycmlkZUNoYW5nZWQ9bmV3IFN5fWdldEJ1dHRvblRpdGxlKCl7bGV0IHQ7c3dpdGNoKHRoaXMuZGFya01vZGVPdmVycmlkZSl7Y2FzZSAkcS5ERUZBVUxUOnQ9IkJyb3dzZXIgZGVmYXVsdCI7YnJlYWs7Y2FzZSAkcS5EQVJLX01PREVfT046dD0iRGFyayBtb2RlIjticmVhaztjYXNlICRxLkRBUktfTU9ERV9PRkY6dD0iTGlnaHQgbW9kZSJ9cmV0dXJuYEN1cnJlbnQgbW9kZTogWyR7dH1dLiBTd2l0Y2ggYmV0d2VlbiBicm93c2VyIGRlZmF1bHQsIGxpZ2h0LCBvciBkYXJrIHRoZW1lLmB9fXRaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0Wil9LHRaLsm1Y21wPXNvKHt0eXBlOnRaLHNlbGVjdG9yczpbWyJhcHAtaGVhZGVyLWRhcmstbW9kZS10b2dnbGUtY29tcG9uZW50Il1dLGlucHV0czp7ZGFya01vZGVPdmVycmlkZToiZGFya01vZGVPdmVycmlkZSJ9LG91dHB1dHM6e29uT3ZlcnJpZGVDaGFuZ2VkOiJvbk92ZXJyaWRlQ2hhbmdlZCJ9LGRlY2xzOjE1LHZhcnM6Nixjb25zdHM6W1sibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsIk1lbnUgZm9yIGNoYW5naW5nIGxpZ2h0IG9yIGRhcmsgdGhlbWUiLDMsIm1hdE1lbnVUcmlnZ2VyRm9yIiwibmdTd2l0Y2giLCJ0aXRsZSJdLFsic3ZnSWNvbiIsImJyaWdodG5lc3NfNl8yNHB4Iiw0LCJuZ1N3aXRjaENhc2UiXSxbInN2Z0ljb24iLCJsaWdodF9tb2RlXzI0cHgiLDQsIm5nU3dpdGNoQ2FzZSJdLFsic3ZnSWNvbiIsImRhcmtfbW9kZV8yNHB4Iiw0LCJuZ1N3aXRjaENhc2UiXSxbIm1lbnUiLCJtYXRNZW51Il0sWyJtYXQtbWVudS1pdGVtIiwiIiwidGl0bGUiLCJTZXQgdGhlIHRoZW1lIHRvIG1hdGNoIHRoZSBkZWZhdWx0IG1vZGUgaW4gdGhlIGJyb3dzZXIuIiwzLCJjbGljayJdLFsibWF0LW1lbnUtaXRlbSIsIiIsInRpdGxlIiwiRm9yY2UgbGlnaHQgVGVuc29yQm9hcmQgdGhlbWUuIiwzLCJjbGljayJdLFsibWF0LW1lbnUtaXRlbSIsIiIsInRpdGxlIiwiRm9yY2UgZGFyayBUZW5zb3JCb2FyZCB0aGVtZS4iLDMsImNsaWNrIl0sWyJzdmdJY29uIiwiYnJpZ2h0bmVzc182XzI0cHgiXSxbInN2Z0ljb24iLCJsaWdodF9tb2RlXzI0cHgiXSxbInN2Z0ljb24iLCJkYXJrX21vZGVfMjRweCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiYnV0dG9uIiwwKSxIbSgxLEtxLDEsMCwibWF0LWljb24iLDEpLEhtKDIsSnEsMSwwLCJtYXQtaWNvbiIsMiksSG0oMyxRcSwxLDAsIm1hdC1pY29uIiwzKSxNZigpLENmKDQsIm1hdC1tZW51IixudWxsLDQpLENmKDYsImJ1dHRvbiIsNSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uT3ZlcnJpZGVDaGFuZ2VkLmVtaXQobi5EYXJrTW9kZU92ZXJyaWRlLkRFRkFVTFQpfSkpLENmKDcsImxhYmVsIiksUHUoOCwiQnJvd3NlciBkZWZhdWx0IiksTWYoKSxNZigpLENmKDksImJ1dHRvbiIsNiksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uT3ZlcnJpZGVDaGFuZ2VkLmVtaXQobi5EYXJrTW9kZU92ZXJyaWRlLkRBUktfTU9ERV9PRkYpfSkpLENmKDEwLCJsYWJlbCIpLFB1KDExLCJMaWdodCIpLE1mKCksTWYoKSxDZigxMiwiYnV0dG9uIiw3KSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25PdmVycmlkZUNoYW5nZWQuZW1pdChuLkRhcmtNb2RlT3ZlcnJpZGUuREFSS19NT0RFX09OKX0pKSxDZigxMywibGFiZWwiKSxQdSgxNCwiRGFyayIpLE1mKCksTWYoKSxNZigpKSwyJmUpe2JmKCJtYXRNZW51VHJpZ2dlckZvciIsRm0oNSkpKCJuZ1N3aXRjaCIsbi5kYXJrTW9kZU92ZXJyaWRlKSgidGl0bGUiLG4uZ2V0QnV0dG9uVGl0bGUoKSksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsbi5EYXJrTW9kZU92ZXJyaWRlLkRFRkFVTFQpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLG4uRGFya01vZGVPdmVycmlkZS5EQVJLX01PREVfT0ZGKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIixuLkRhcmtNb2RlT3ZlcnJpZGUuREFSS19NT0RFX09OKX19LGRpcmVjdGl2ZXM6W05MLHFxLER2LFJ2LGpxLEhxLE1xXSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHRaLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFwcC1oZWFkZXItZGFyay1tb2RlLXRvZ2dsZS1jb21wb25lbnQiLHRlbXBsYXRlOidcbiAgICA8YnV0dG9uXG4gICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09Im1lbnUiXG4gICAgICBhcmlhLWxhYmVsPSJNZW51IGZvciBjaGFuZ2luZyBsaWdodCBvciBkYXJrIHRoZW1lIlxuICAgICAgW25nU3dpdGNoXT0iZGFya01vZGVPdmVycmlkZSJcbiAgICAgIFt0aXRsZV09ImdldEJ1dHRvblRpdGxlKCkiXG4gICAgPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgICpuZ1N3aXRjaENhc2U9IkRhcmtNb2RlT3ZlcnJpZGUuREVGQVVMVCJcbiAgICAgICAgc3ZnSWNvbj0iYnJpZ2h0bmVzc182XzI0cHgiXG4gICAgICA+PC9tYXQtaWNvbj5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICAqbmdTd2l0Y2hDYXNlPSJEYXJrTW9kZU92ZXJyaWRlLkRBUktfTU9ERV9PRkYiXG4gICAgICAgIHN2Z0ljb249ImxpZ2h0X21vZGVfMjRweCJcbiAgICAgID48L21hdC1pY29uPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgICpuZ1N3aXRjaENhc2U9IkRhcmtNb2RlT3ZlcnJpZGUuREFSS19NT0RFX09OIlxuICAgICAgICBzdmdJY29uPSJkYXJrX21vZGVfMjRweCJcbiAgICAgID48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxtYXQtbWVudSAjbWVudT0ibWF0TWVudSI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgdGl0bGU9IlNldCB0aGUgdGhlbWUgdG8gbWF0Y2ggdGhlIGRlZmF1bHQgbW9kZSBpbiB0aGUgYnJvd3Nlci4iXG4gICAgICAgIChjbGljayk9Im9uT3ZlcnJpZGVDaGFuZ2VkLmVtaXQoRGFya01vZGVPdmVycmlkZS5ERUZBVUxUKSJcbiAgICAgID5cbiAgICAgICAgPGxhYmVsPkJyb3dzZXIgZGVmYXVsdDwvbGFiZWw+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICB0aXRsZT0iRm9yY2UgbGlnaHQgVGVuc29yQm9hcmQgdGhlbWUuIlxuICAgICAgICAoY2xpY2spPSJvbk92ZXJyaWRlQ2hhbmdlZC5lbWl0KERhcmtNb2RlT3ZlcnJpZGUuREFSS19NT0RFX09GRikiXG4gICAgICA+XG4gICAgICAgIDxsYWJlbD5MaWdodDwvbGFiZWw+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICB0aXRsZT0iRm9yY2UgZGFyayBUZW5zb3JCb2FyZCB0aGVtZS4iXG4gICAgICAgIChjbGljayk9Im9uT3ZlcnJpZGVDaGFuZ2VkLmVtaXQoRGFya01vZGVPdmVycmlkZS5EQVJLX01PREVfT04pIlxuICAgICAgPlxuICAgICAgICA8bGFiZWw+RGFyazwvbGFiZWw+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC1tZW51PlxuICAnfV19XSxudWxsLHtkYXJrTW9kZU92ZXJyaWRlOlt7dHlwZTpSX31dLG9uT3ZlcnJpZGVDaGFuZ2VkOlt7dHlwZTpFX31dfSk7Y2xhc3MgZVp7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuZGFya01vZGVPdmVycmlkZSQ9dGhpcy5zdG9yZS5zZWxlY3QoTEQpLnBpcGUoVnQoKHQ9Pm51bGw9PT10PyRxLkRFRkFVTFQ6dD8kcS5EQVJLX01PREVfT046JHEuREFSS19NT0RFX09GRikpKX1jaGFuZ2VEYXJrTW9kZSh0KXtsZXQgZT1udWxsO3N3aXRjaCh0KXtjYXNlICRxLkRFRkFVTFQ6ZT1udWxsO2JyZWFrO2Nhc2UgJHEuREFSS19NT0RFX09GRjplPSExO2JyZWFrO2Nhc2UgJHEuREFSS19NT0RFX09OOmU9ITB9dGhpcy5zdG9yZS5kaXNwYXRjaChrTih7ZW5hYmxlRGFya01vZGU6ZX0pKX19ZVouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGVaKShnZihpUykpfSxlWi7JtWNtcD1zbyh7dHlwZTplWixzZWxlY3RvcnM6W1siYXBwLWhlYWRlci1kYXJrLW1vZGUtdG9nZ2xlIl1dLGRlY2xzOjIsdmFyczozLGNvbnN0czpbWzMsImRhcmtNb2RlT3ZlcnJpZGUiLCJvbk92ZXJyaWRlQ2hhbmdlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiYXBwLWhlYWRlci1kYXJrLW1vZGUtdG9nZ2xlLWNvbXBvbmVudCIsMCksUmYoIm9uT3ZlcnJpZGVDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5jaGFuZ2VEYXJrTW9kZShlKX0pKSxfeSgxLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoImRhcmtNb2RlT3ZlcnJpZGUiLEN5KDEsMSxuLmRhcmtNb2RlT3ZlcnJpZGUkKSl9LGRpcmVjdGl2ZXM6W3RaXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZVosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiYXBwLWhlYWRlci1kYXJrLW1vZGUtdG9nZ2xlIix0ZW1wbGF0ZTonXG4gICAgPGFwcC1oZWFkZXItZGFyay1tb2RlLXRvZ2dsZS1jb21wb25lbnRcbiAgICAgIFtkYXJrTW9kZU92ZXJyaWRlXT0iZGFya01vZGVPdmVycmlkZSQgfCBhc3luYyJcbiAgICAgIChvbk92ZXJyaWRlQ2hhbmdlZCk9ImNoYW5nZURhcmtNb2RlKCRldmVudCkiXG4gICAgPlxuICAgIDwvYXBwLWhlYWRlci1kYXJrLW1vZGUtdG9nZ2xlLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBuWj1iUyhuVCxlVCwoKHQsZSk9PiEoIWV8fCF0W2VdKSYmdFtlXS5kaXNhYmxlX3JlbG9hZCkpO2NsYXNzIG9ae2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLnJlbG9hZERpc2FibGVkJD10aGlzLnN0b3JlLnNlbGVjdChuWiksdGhpcy5pc1JlbG9hZGluZyQ9dGhpcy5zdG9yZS5zZWxlY3QoJEEpLnBpcGUoX2UodGhpcy5yZWxvYWREaXNhYmxlZCQpLFZ0KCgoW3QsZV0pPT4hZSYmdD09PVVFLkxPQURJTkcpKSksdGhpcy5sYXN0TG9hZGVkVGltZUluTXMkPXRoaXMuc3RvcmUuc2VsZWN0KHRUKX10cmlnZ2VyUmVsb2FkKCl7dGhpcy5zdG9yZS5kaXNwYXRjaChKRSgpKX1nZXRSZWxvYWRUaXRsZSh0KXtyZXR1cm4gdD9gTGFzdCBVcGRhdGVkOiAke3R9YDoiTG9hZGluZy4uLiJ9fWZ1bmN0aW9uIGlaKHQpe3JldHVybiB0LnN0YXRlIT09VUUuTk9UX0xPQURFRCYmdC5zdGF0ZSE9PVVFLkxPQURJTkd9b1ouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG9aKShnZihpUykpfSxvWi7JtWNtcD1zbyh7dHlwZTpvWixzZWxlY3RvcnM6W1siYXBwLWhlYWRlci1yZWxvYWQiXV0sZGVjbHM6Nix2YXJzOjEzLGNvbnN0czpbWyJtYXQtaWNvbi1idXR0b24iLCIiLDEsInJlbG9hZC1idXR0b24iLDMsInRpdGxlIiwiZGlzYWJsZWQiLCJjbGljayJdLFsic3ZnSWNvbiIsInJlZnJlc2hfMjRweCIsMSwicmVmcmVzaC1pY29uIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJidXR0b24iLDApLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi50cmlnZ2VyUmVsb2FkKCl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJkYXRlIiksX3koMywiYXN5bmMiKSxfeSg0LCJhc3luYyIpLHZmKDUsIm1hdC1pY29uIiwxKSxNZigpKSwyJmUmJihjdSgibG9hZGluZyIsQ3koMSw0LG4uaXNSZWxvYWRpbmckKSksYmYoInRpdGxlIixuLmdldFJlbG9hZFRpdGxlKE15KDIsNixDeSgzLDksbi5sYXN0TG9hZGVkVGltZUluTXMkKSwibWVkaXVtIikpKSgiZGlzYWJsZWQiLEN5KDQsMTEsbi5yZWxvYWREaXNhYmxlZCQpKSl9LGRpcmVjdGl2ZXM6W05MLE1xXSxwaXBlczpbVnYsWXZdLHN0eWxlczpbIi5yZWxvYWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLnJlZnJlc2gtaWNvbltfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLnJlbG9hZC1idXR0b24ubG9hZGluZ1tfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBhbmltYXRpb246IHJvdGF0ZSAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgcm90YXRlIHtcbiAgICAgICAgMCUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB9XG4gICAgICB9Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG9aLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFwcC1oZWFkZXItcmVsb2FkIix0ZW1wbGF0ZTonXG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9InJlbG9hZC1idXR0b24iXG4gICAgICBbY2xhc3MubG9hZGluZ109ImlzUmVsb2FkaW5nJCB8IGFzeW5jIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAoY2xpY2spPSJ0cmlnZ2VyUmVsb2FkKCkiXG4gICAgICBbdGl0bGVdPSJnZXRSZWxvYWRUaXRsZShsYXN0TG9hZGVkVGltZUluTXMkIHwgYXN5bmMgfCBkYXRlOiBcJ21lZGl1bVwnKSJcbiAgICAgIFtkaXNhYmxlZF09InJlbG9hZERpc2FibGVkJCB8IGFzeW5jIlxuICAgID5cbiAgICAgIDxtYXQtaWNvbiBjbGFzcz0icmVmcmVzaC1pY29uIiBzdmdJY29uPSJyZWZyZXNoXzI0cHgiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICcsc3R5bGVzOlsiXG4gICAgICAucmVsb2FkLWJ1dHRvbixcbiAgICAgIC5yZWZyZXNoLWljb24ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLnJlbG9hZC1idXR0b24ubG9hZGluZyB7XG4gICAgICAgIGFuaW1hdGlvbjogcm90YXRlIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyByb3RhdGUge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAiXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBhWj0zZTQsclo9VlMocEksQlMoc0ksKHQ9PmlaKHQpP09iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2V0dGluZ3M6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuc2V0dGluZ3MpLHtyZWxvYWRFbmFibGVkOiF0LnNldHRpbmdzLnJlbG9hZEVuYWJsZWR9KX0pOnQpKSxCUyhsSSwoKHQse3BlcmlvZEluTXM6ZX0pPT57aWYoIWlaKHQpKXJldHVybiB0O2NvbnN0IG49ZT49YVo/ZTp0LnNldHRpbmdzLnJlbG9hZFBlcmlvZEluTXM7cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2V0dGluZ3M6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuc2V0dGluZ3MpLHtyZWxvYWRQZXJpb2RJbk1zOm59KX0pfSkpLEJTKGNJLCgodCx7c2l6ZTplfSk9PntpZighaVoodCkpcmV0dXJuIHQ7Y29uc3Qgbj1lPjA/ZTp0LnNldHRpbmdzLnBhZ2VTaXplO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NldHRpbmdzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNldHRpbmdzKSx7cGFnZVNpemU6bn0pfSl9KSksQlMocVIsKCh0LHtwYXJ0aWFsU2V0dGluZ3M6ZX0pPT57Y29uc3Qgbj17fTtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKGUucGFnZVNpemUpJiZlLnBhZ2VTaXplPjAmJihuLnBhZ2VTaXplPU51bWJlcihlLnBhZ2VTaXplKSksImJvb2xlYW4iPT10eXBlb2YgZS5hdXRvUmVsb2FkJiYobi5yZWxvYWRFbmFibGVkPWUuYXV0b1JlbG9hZCksTnVtYmVyLmlzRmluaXRlKGUuYXV0b1JlbG9hZFBlcmlvZEluTXMpJiZlLmF1dG9SZWxvYWRQZXJpb2RJbk1zPmFaJiYobi5yZWxvYWRQZXJpb2RJbk1zPU51bWJlcihlLmF1dG9SZWxvYWRQZXJpb2RJbk1zKSksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZXR0aW5nczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZXR0aW5ncyksbil9KX0pKSk7ZnVuY3Rpb24gc1oodCxlKXtyZXR1cm4gcloodCxlKX1jb25zdCBsWj1bImlucHV0Il0sY1o9ZnVuY3Rpb24odCl7cmV0dXJue2VudGVyRHVyYXRpb246dH19LGRaPW5ldyBlcigibWF0LWNoZWNrYm94LWRlZmF1bHQtb3B0aW9ucyIse3Byb3ZpZGVkSW46InJvb3QiLGZhY3Rvcnk6cFp9KTtmdW5jdGlvbiBwWigpe3JldHVybntjb2xvcjoiYWNjZW50IixjbGlja0FjdGlvbjoiY2hlY2staW5kZXRlcm1pbmF0ZSJ9fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9sZXQgbVo9MDtjb25zdCBmWj17Y29sb3I6ImFjY2VudCIsY2xpY2tBY3Rpb246ImNoZWNrLWluZGV0ZXJtaW5hdGUifSx1Wj17cHJvdmlkZTp4VSx1c2VFeGlzdGluZzokZSgoKCk9PmJaKSksbXVsdGk6ITB9O2NsYXNzIGdae31jb25zdCBoWj1GRihJRihIRih6RihjbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLl9lbGVtZW50UmVmPXR9fSkpKSk7Y2xhc3MgYlogZXh0ZW5kcyBoWntjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyKXtzdXBlcih0KSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj1lLHRoaXMuX2ZvY3VzTW9uaXRvcj1uLHRoaXMuX25nWm9uZT1vLHRoaXMuX2FuaW1hdGlvbk1vZGU9YSx0aGlzLl9vcHRpb25zPXIsdGhpcy5hcmlhTGFiZWw9IiIsdGhpcy5hcmlhTGFiZWxsZWRieT1udWxsLHRoaXMuX3VuaXF1ZUlkPSJtYXQtY2hlY2tib3gtIisgKyttWix0aGlzLmlkPXRoaXMuX3VuaXF1ZUlkLHRoaXMubGFiZWxQb3NpdGlvbj0iYWZ0ZXIiLHRoaXMubmFtZT1udWxsLHRoaXMuY2hhbmdlPW5ldyBTeSx0aGlzLmluZGV0ZXJtaW5hdGVDaGFuZ2U9bmV3IFN5LHRoaXMuX29uVG91Y2hlZD0oKT0+e30sdGhpcy5fY3VycmVudEFuaW1hdGlvbkNsYXNzPSIiLHRoaXMuX2N1cnJlbnRDaGVja1N0YXRlPTAsdGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbj0oKT0+e30sdGhpcy5fY2hlY2tlZD0hMSx0aGlzLl9kaXNhYmxlZD0hMSx0aGlzLl9pbmRldGVybWluYXRlPSExLHRoaXMuX29wdGlvbnM9dGhpcy5fb3B0aW9uc3x8ZlosdGhpcy5jb2xvcj10aGlzLmRlZmF1bHRDb2xvcj10aGlzLl9vcHRpb25zLmNvbG9yfHxmWi5jb2xvcix0aGlzLnRhYkluZGV4PXBhcnNlSW50KGkpfHwwfWdldCBpbnB1dElkKCl7cmV0dXJuYCR7dGhpcy5pZHx8dGhpcy5fdW5pcXVlSWR9LWlucHV0YH1nZXQgcmVxdWlyZWQoKXtyZXR1cm4gdGhpcy5fcmVxdWlyZWR9c2V0IHJlcXVpcmVkKHQpe3RoaXMuX3JlcXVpcmVkPWVIKHQpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsITApLnN1YnNjcmliZSgodD0+e3R8fFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fb25Ub3VjaGVkKCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9KSl9KSksdGhpcy5fc3luY0luZGV0ZXJtaW5hdGUodGhpcy5faW5kZXRlcm1pbmF0ZSl9bmdBZnRlclZpZXdDaGVja2VkKCl7fW5nT25EZXN0cm95KCl7dGhpcy5fZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYpfWdldCBjaGVja2VkKCl7cmV0dXJuIHRoaXMuX2NoZWNrZWR9c2V0IGNoZWNrZWQodCl7dCE9dGhpcy5jaGVja2VkJiYodGhpcy5fY2hlY2tlZD10LHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKX1nZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5fZGlzYWJsZWR9c2V0IGRpc2FibGVkKHQpe2NvbnN0IGU9ZUgodCk7ZSE9PXRoaXMuZGlzYWJsZWQmJih0aGlzLl9kaXNhYmxlZD1lLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKX1nZXQgaW5kZXRlcm1pbmF0ZSgpe3JldHVybiB0aGlzLl9pbmRldGVybWluYXRlfXNldCBpbmRldGVybWluYXRlKHQpe2NvbnN0IGU9dCE9dGhpcy5faW5kZXRlcm1pbmF0ZTt0aGlzLl9pbmRldGVybWluYXRlPWVIKHQpLGUmJih0aGlzLl90cmFuc2l0aW9uQ2hlY2tTdGF0ZSh0aGlzLl9pbmRldGVybWluYXRlPzM6dGhpcy5jaGVja2VkPzE6MiksdGhpcy5pbmRldGVybWluYXRlQ2hhbmdlLmVtaXQodGhpcy5faW5kZXRlcm1pbmF0ZSkpLHRoaXMuX3N5bmNJbmRldGVybWluYXRlKHRoaXMuX2luZGV0ZXJtaW5hdGUpfV9pc1JpcHBsZURpc2FibGVkKCl7cmV0dXJuIHRoaXMuZGlzYWJsZVJpcHBsZXx8dGhpcy5kaXNhYmxlZH1fb25MYWJlbFRleHRDaGFuZ2UoKXt0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCl9d3JpdGVWYWx1ZSh0KXt0aGlzLmNoZWNrZWQ9ISF0fXJlZ2lzdGVyT25DaGFuZ2UodCl7dGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbj10fXJlZ2lzdGVyT25Ub3VjaGVkKHQpe3RoaXMuX29uVG91Y2hlZD10fXNldERpc2FibGVkU3RhdGUodCl7dGhpcy5kaXNhYmxlZD10fV9nZXRBcmlhQ2hlY2tlZCgpe3JldHVybiB0aGlzLmNoZWNrZWQ/InRydWUiOnRoaXMuaW5kZXRlcm1pbmF0ZT8ibWl4ZWQiOiJmYWxzZSJ9X3RyYW5zaXRpb25DaGVja1N0YXRlKHQpe2xldCBlPXRoaXMuX2N1cnJlbnRDaGVja1N0YXRlLG49dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O2lmKGUhPT10JiYodGhpcy5fY3VycmVudEFuaW1hdGlvbkNsYXNzLmxlbmd0aD4wJiZuLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fY3VycmVudEFuaW1hdGlvbkNsYXNzKSx0aGlzLl9jdXJyZW50QW5pbWF0aW9uQ2xhc3M9dGhpcy5fZ2V0QW5pbWF0aW9uQ2xhc3NGb3JDaGVja1N0YXRlVHJhbnNpdGlvbihlLHQpLHRoaXMuX2N1cnJlbnRDaGVja1N0YXRlPXQsdGhpcy5fY3VycmVudEFuaW1hdGlvbkNsYXNzLmxlbmd0aD4wKSl7bi5jbGFzc0xpc3QuYWRkKHRoaXMuX2N1cnJlbnRBbmltYXRpb25DbGFzcyk7Y29uc3QgdD10aGlzLl9jdXJyZW50QW5pbWF0aW9uQ2xhc3M7dGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3NldFRpbWVvdXQoKCgpPT57bi5jbGFzc0xpc3QucmVtb3ZlKHQpfSksMWUzKX0pKX19X2VtaXRDaGFuZ2VFdmVudCgpe2NvbnN0IHQ9bmV3IGdaO3Quc291cmNlPXRoaXMsdC5jaGVja2VkPXRoaXMuY2hlY2tlZCx0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHRoaXMuY2hlY2tlZCksdGhpcy5jaGFuZ2UuZW1pdCh0KSx0aGlzLl9pbnB1dEVsZW1lbnQmJih0aGlzLl9pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5jaGVja2VkPXRoaXMuY2hlY2tlZCl9dG9nZ2xlKCl7dGhpcy5jaGVja2VkPSF0aGlzLmNoZWNrZWR9X29uSW5wdXRDbGljayh0KXt2YXIgZTtjb25zdCBuPW51bGw9PT0oZT10aGlzLl9vcHRpb25zKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5jbGlja0FjdGlvbjt0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuZGlzYWJsZWR8fCJub29wIj09PW4/dGhpcy5kaXNhYmxlZHx8Im5vb3AiIT09bnx8KHRoaXMuX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmNoZWNrZWQ9dGhpcy5jaGVja2VkLHRoaXMuX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmluZGV0ZXJtaW5hdGU9dGhpcy5pbmRldGVybWluYXRlKToodGhpcy5pbmRldGVybWluYXRlJiYiY2hlY2siIT09biYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9Pnt0aGlzLl9pbmRldGVybWluYXRlPSExLHRoaXMuaW5kZXRlcm1pbmF0ZUNoYW5nZS5lbWl0KHRoaXMuX2luZGV0ZXJtaW5hdGUpfSkpLHRoaXMudG9nZ2xlKCksdGhpcy5fdHJhbnNpdGlvbkNoZWNrU3RhdGUodGhpcy5fY2hlY2tlZD8xOjIpLHRoaXMuX2VtaXRDaGFuZ2VFdmVudCgpKX1mb2N1cyh0LGUpe3Q/dGhpcy5fZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuX2lucHV0RWxlbWVudCx0LGUpOnRoaXMuX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKGUpfV9vbkludGVyYWN0aW9uRXZlbnQodCl7dC5zdG9wUHJvcGFnYXRpb24oKX1fZ2V0QW5pbWF0aW9uQ2xhc3NGb3JDaGVja1N0YXRlVHJhbnNpdGlvbih0LGUpe2lmKCJOb29wQW5pbWF0aW9ucyI9PT10aGlzLl9hbmltYXRpb25Nb2RlKXJldHVybiIiO2xldCBuPSIiO3N3aXRjaCh0KXtjYXNlIDA6aWYoMT09PWUpbj0idW5jaGVja2VkLWNoZWNrZWQiO2Vsc2V7aWYoMyE9ZSlyZXR1cm4iIjtuPSJ1bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSJ9YnJlYWs7Y2FzZSAyOm49MT09PWU/InVuY2hlY2tlZC1jaGVja2VkIjoidW5jaGVja2VkLWluZGV0ZXJtaW5hdGUiO2JyZWFrO2Nhc2UgMTpuPTI9PT1lPyJjaGVja2VkLXVuY2hlY2tlZCI6ImNoZWNrZWQtaW5kZXRlcm1pbmF0ZSI7YnJlYWs7Y2FzZSAzOm49MT09PWU/ImluZGV0ZXJtaW5hdGUtY2hlY2tlZCI6ImluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIn1yZXR1cm5gbWF0LWNoZWNrYm94LWFuaW0tJHtufWB9X3N5bmNJbmRldGVybWluYXRlKHQpe2NvbnN0IGU9dGhpcy5faW5wdXRFbGVtZW50O2UmJihlLm5hdGl2ZUVsZW1lbnQuaW5kZXRlcm1pbmF0ZT10KX19YlouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGJaKShnZihLaCksZ2YoT2IpLGdmKGZGKSxnZihtQyksR2EoInRhYmluZGV4IiksZ2YoY2ssOCksZ2YoZFosOCkpfSxiWi7JtWNtcD1zbyh7dHlwZTpiWixzZWxlY3RvcnM6W1sibWF0LWNoZWNrYm94Il1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoVnkobFosNSksVnkobUwsNSkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uX2lucHV0RWxlbWVudD10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5yaXBwbGU9dC5maXJzdCl9fSxob3N0QXR0cnM6WzEsIm1hdC1jaGVja2JveCJdLGhvc3RWYXJzOjEyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiYoY2coImlkIixuLmlkKSx5bSgidGFiaW5kZXgiLG51bGwpLGN1KCJtYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSIsbi5pbmRldGVybWluYXRlKSgibWF0LWNoZWNrYm94LWNoZWNrZWQiLG4uY2hlY2tlZCkoIm1hdC1jaGVja2JveC1kaXNhYmxlZCIsbi5kaXNhYmxlZCkoIm1hdC1jaGVja2JveC1sYWJlbC1iZWZvcmUiLCJiZWZvcmUiPT1uLmxhYmVsUG9zaXRpb24pKCJfbWF0LWFuaW1hdGlvbi1ub29wYWJsZSIsIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGUpKX0saW5wdXRzOntkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIixjb2xvcjoiY29sb3IiLHRhYkluZGV4OiJ0YWJJbmRleCIsYXJpYUxhYmVsOlsiYXJpYS1sYWJlbCIsImFyaWFMYWJlbCJdLGFyaWFMYWJlbGxlZGJ5OlsiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYUxhYmVsbGVkYnkiXSxpZDoiaWQiLGxhYmVsUG9zaXRpb246ImxhYmVsUG9zaXRpb24iLG5hbWU6Im5hbWUiLHJlcXVpcmVkOiJyZXF1aXJlZCIsY2hlY2tlZDoiY2hlY2tlZCIsZGlzYWJsZWQ6ImRpc2FibGVkIixpbmRldGVybWluYXRlOiJpbmRldGVybWluYXRlIixhcmlhRGVzY3JpYmVkYnk6WyJhcmlhLWRlc2NyaWJlZGJ5IiwiYXJpYURlc2NyaWJlZGJ5Il0sdmFsdWU6InZhbHVlIn0sb3V0cHV0czp7Y2hhbmdlOiJjaGFuZ2UiLGluZGV0ZXJtaW5hdGVDaGFuZ2U6ImluZGV0ZXJtaW5hdGVDaGFuZ2UifSxleHBvcnRBczpbIm1hdENoZWNrYm94Il0sZmVhdHVyZXM6W2poKFt1Wl0pLFFwXSxuZ0NvbnRlbnRTZWxlY3RvcnM6WyIqIl0sZGVjbHM6MTcsdmFyczoyMSxjb25zdHM6W1sxLCJtYXQtY2hlY2tib3gtbGF5b3V0Il0sWyJsYWJlbCIsIiJdLFsxLCJtYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyIl0sWyJ0eXBlIiwiY2hlY2tib3giLDEsIm1hdC1jaGVja2JveC1pbnB1dCIsImNkay12aXN1YWxseS1oaWRkZW4iLDMsImlkIiwicmVxdWlyZWQiLCJjaGVja2VkIiwiZGlzYWJsZWQiLCJ0YWJJbmRleCIsImNoYW5nZSIsImNsaWNrIl0sWyJpbnB1dCIsIiJdLFsibWF0UmlwcGxlIiwiIiwxLCJtYXQtY2hlY2tib3gtcmlwcGxlIiwibWF0LWZvY3VzLWluZGljYXRvciIsMywibWF0UmlwcGxlVHJpZ2dlciIsIm1hdFJpcHBsZURpc2FibGVkIiwibWF0UmlwcGxlUmFkaXVzIiwibWF0UmlwcGxlQ2VudGVyZWQiLCJtYXRSaXBwbGVBbmltYXRpb24iXSxbMSwibWF0LXJpcHBsZS1lbGVtZW50IiwibWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxlIl0sWzEsIm1hdC1jaGVja2JveC1mcmFtZSJdLFsxLCJtYXQtY2hlY2tib3gtYmFja2dyb3VuZCJdLFsidmVyc2lvbiIsIjEuMSIsImZvY3VzYWJsZSIsImZhbHNlIiwidmlld0JveCIsIjAgMCAyNCAyNCIsMCwieG1sIiwic3BhY2UiLCJwcmVzZXJ2ZSIsImFyaWEtaGlkZGVuIiwidHJ1ZSIsMSwibWF0LWNoZWNrYm94LWNoZWNrbWFyayJdLFsiZmlsbCIsIm5vbmUiLCJzdHJva2UiLCJ3aGl0ZSIsImQiLCJNNC4xLDEyLjcgOSwxNy42IDIwLjMsNi4zIiwxLCJtYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGgiXSxbMSwibWF0LWNoZWNrYm94LW1peGVkbWFyayJdLFsxLCJtYXQtY2hlY2tib3gtbGFiZWwiLDMsImNka09ic2VydmVDb250ZW50Il0sWyJjaGVja2JveExhYmVsIiwiIl0sWzIsImRpc3BsYXkiLCJub25lIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihIZigpLENmKDAsImxhYmVsIiwwLDEpLENmKDIsInNwYW4iLDIpLENmKDMsImlucHV0IiwzLDQpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9vbkludGVyYWN0aW9uRXZlbnQoZSl9KSkoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5fb25JbnB1dENsaWNrKGUpfSkpLE1mKCksQ2YoNSwic3BhbiIsNSksdmYoNiwic3BhbiIsNiksTWYoKSx2Zig3LCJzcGFuIiw3KSxDZig4LCJzcGFuIiw4KSxvYSgpLENmKDksInN2ZyIsOSksdmYoMTAsInBhdGgiLDEwKSxNZigpLGFhKCksdmYoMTEsInNwYW4iLDExKSxNZigpLE1mKCksQ2YoMTIsInNwYW4iLDEyLDEzKSxSZigiY2RrT2JzZXJ2ZUNvbnRlbnQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX29uTGFiZWxUZXh0Q2hhbmdlKCl9KSksQ2YoMTQsInNwYW4iLDE0KSxQdSgxNSwiwqAiKSxNZigpLEZmKDE2KSxNZigpLE1mKCkpLDImZSl7Y29uc3QgdD1GbSgxKSxlPUZtKDEzKTt5bSgiZm9yIixuLmlucHV0SWQpLERjKDIpLGN1KCJtYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyLW5vLXNpZGUtbWFyZ2luIiwhZS50ZXh0Q29udGVudHx8IWUudGV4dENvbnRlbnQudHJpbSgpKSxEYygxKSxiZigiaWQiLG4uaW5wdXRJZCkoInJlcXVpcmVkIixuLnJlcXVpcmVkKSgiY2hlY2tlZCIsbi5jaGVja2VkKSgiZGlzYWJsZWQiLG4uZGlzYWJsZWQpKCJ0YWJJbmRleCIsbi50YWJJbmRleCkseW0oInZhbHVlIixuLnZhbHVlKSgibmFtZSIsbi5uYW1lKSgiYXJpYS1sYWJlbCIsbi5hcmlhTGFiZWx8fG51bGwpKCJhcmlhLWxhYmVsbGVkYnkiLG4uYXJpYUxhYmVsbGVkYnkpKCJhcmlhLWNoZWNrZWQiLG4uX2dldEFyaWFDaGVja2VkKCkpKCJhcmlhLWRlc2NyaWJlZGJ5IixuLmFyaWFEZXNjcmliZWRieSksRGMoMiksYmYoIm1hdFJpcHBsZVRyaWdnZXIiLHQpKCJtYXRSaXBwbGVEaXNhYmxlZCIsbi5faXNSaXBwbGVEaXNhYmxlZCgpKSgibWF0UmlwcGxlUmFkaXVzIiwyMCkoIm1hdFJpcHBsZUNlbnRlcmVkIiwhMCkoIm1hdFJpcHBsZUFuaW1hdGlvbiIsaXkoMTksY1osIk5vb3BBbmltYXRpb25zIj09PW4uX2FuaW1hdGlvbk1vZGU/MDoxNTApKX19LGRpcmVjdGl2ZXM6W21MLFBIXSxzdHlsZXM6WyJAa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmR7MCV7b3BhY2l0eTowfTUwJXtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgbWF0LWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmR7MCUsNTAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MH19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtdW5jaGVja2VkLWNoZWNrZWQtY2hlY2ttYXJrLXBhdGh7MCUsNTAle3N0cm9rZS1kYXNob2Zmc2V0OjIyLjkxMDI1OX01MCV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpfTEwMCV7c3Ryb2tlLWRhc2hvZmZzZXQ6MH19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrezAlLDY4LjIle3RyYW5zZm9ybTpzY2FsZVgoMCl9NjguMiV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwgMCwgMCwgMSl9MTAwJXt0cmFuc2Zvcm06c2NhbGVYKDEpfX1Aa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1jaGVja2VkLXVuY2hlY2tlZC1jaGVja21hcmstcGF0aHtmcm9te2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7c3Ryb2tlLWRhc2hvZmZzZXQ6MH10b3tzdHJva2UtZGFzaG9mZnNldDotMjIuOTEwMjU5fX1Aa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJre2Zyb217YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpO29wYWNpdHk6MTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFya3tmcm9te2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuMTQsIDAsIDAsIDEpO29wYWNpdHk6MDt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX10b3tvcGFjaXR5OjE7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJre2Zyb217YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpO29wYWNpdHk6MDt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fUBrZXlmcmFtZXMgbWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmt7ZnJvbXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE0LCAwLCAwLCAxKTtvcGFjaXR5OjE7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnJvdGF0ZSgzMTVkZWcpfX1Aa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLXVuY2hlY2tlZC1taXhlZG1hcmt7MCV7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZVgoMSl9MzIuOCUsMTAwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlWCgwKX19Lm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLC5tYXQtY2hlY2tib3gtZnJhbWV7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czoycHg7Ym94LXNpemluZzpib3JkZXItYm94O3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1hdC1jaGVja2JveHtkaXNwbGF5OmlubGluZS1ibG9jazt0cmFuc2l0aW9uOmJhY2tncm91bmQgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYm94LXNoYWRvdyAyODBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LWNoZWNrYm94e3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LWNoZWNrYm94IC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtY2hlY2tib3gtcGVyc2lzdGVudC1yaXBwbGUpe29wYWNpdHk6LjE2fS5tYXQtY2hlY2tib3ggLm1hdC1jaGVja2JveC1yaXBwbGV7cG9zaXRpb246YWJzb2x1dGU7bGVmdDpjYWxjKDUwJSAtIDIwcHgpO3RvcDpjYWxjKDUwJSAtIDIwcHgpO2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmV9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWNoZWNrYm94LmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2hlY2tib3gtcmlwcGxle291dGxpbmU6c29saWQgM3B4fS5tYXQtY2hlY2tib3gtbGF5b3V0ey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6aW5oZXJpdDthbGlnbi1pdGVtczpiYXNlbGluZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTppbmxpbmUtZmxleDt3aGl0ZS1zcGFjZTpub3dyYXB9Lm1hdC1jaGVja2JveC1sYWJlbHstd2Via2l0LXVzZXItc2VsZWN0OmF1dG87LW1vei11c2VyLXNlbGVjdDphdXRvOy1tcy11c2VyLXNlbGVjdDphdXRvO3VzZXItc2VsZWN0OmF1dG99Lm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6MDttYXJnaW46YXV0bzttYXJnaW4tcmlnaHQ6OHB4O29yZGVyOjA7cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxNnB4O2ZsZXgtc2hyaW5rOjB9W2Rpcj1ydGxdIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVye21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6YXV0b30ubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lci1uby1zaWRlLW1hcmdpbnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS5tYXQtY2hlY2tib3gtZnJhbWV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciA5MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSk7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtY2hlY2tib3gtZnJhbWV7dHJhbnNpdGlvbjpub25lfS5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciA5MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSksb3BhY2l0eSA5MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSk7LXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6ZXhhY3Q7Y29sb3ItYWRqdXN0OmV4YWN0fS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7dHJhbnNpdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1jaGVja2JveCAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YmFja2dyb3VuZDpub25lfS5tYXQtY2hlY2tib3gtcGVyc2lzdGVudC1yaXBwbGV7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RyYW5zZm9ybTpub25lfS5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyOmhvdmVyIC5tYXQtY2hlY2tib3gtcGVyc2lzdGVudC1yaXBwbGV7b3BhY2l0eTouMDR9Lm1hdC1jaGVja2JveC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxle29wYWNpdHk6LjEyfS5tYXQtY2hlY2tib3gtcGVyc2lzdGVudC1yaXBwbGUsLm1hdC1jaGVja2JveC5tYXQtY2hlY2tib3gtZGlzYWJsZWQgLm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXI6aG92ZXIgLm1hdC1jaGVja2JveC1wZXJzaXN0ZW50LXJpcHBsZXtvcGFjaXR5OjB9QG1lZGlhKGhvdmVyOiBub25lKXsubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lcjpob3ZlciAubWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxle2Rpc3BsYXk6bm9uZX19Lm1hdC1jaGVja2JveC1jaGVja21hcmt7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0ubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe3N0cm9rZS1kYXNob2Zmc2V0OjIyLjkxMDI1OTtzdHJva2UtZGFzaGFycmF5OjIyLjkxMDI1OTtzdHJva2Utd2lkdGg6Mi4xMzMzMzMzMzMzcHh9LmNkay1oaWdoLWNvbnRyYXN0LWJsYWNrLW9uLXdoaXRlIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGh7c3Ryb2tlOiMwMDAgIWltcG9ydGFudH0ubWF0LWNoZWNrYm94LW1peGVkbWFya3t3aWR0aDpjYWxjKDEwMCUgLSA2cHgpO2hlaWdodDoycHg7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZVgoMCkgcm90YXRlKDBkZWcpO2JvcmRlci1yYWRpdXM6MnB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1jaGVja2JveC1taXhlZG1hcmt7aGVpZ2h0OjA7Ym9yZGVyLXRvcDpzb2xpZCAycHg7bWFyZ2luLXRvcDoycHh9Lm1hdC1jaGVja2JveC1sYWJlbC1iZWZvcmUgLm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXJ7b3JkZXI6MTttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OmF1dG99W2Rpcj1ydGxdIC5tYXQtY2hlY2tib3gtbGFiZWwtYmVmb3JlIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVye21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OjhweH0ubWF0LWNoZWNrYm94LWNoZWNrZWQgLm1hdC1jaGVja2JveC1jaGVja21hcmt7b3BhY2l0eToxfS5tYXQtY2hlY2tib3gtY2hlY2tlZCAubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe3N0cm9rZS1kYXNob2Zmc2V0OjB9Lm1hdC1jaGVja2JveC1jaGVja2VkIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre3RyYW5zZm9ybTpzY2FsZVgoMSkgcm90YXRlKC00NWRlZyl9Lm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJre29wYWNpdHk6MDt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2UtZGFzaG9mZnNldDowfS5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAubWF0LWNoZWNrYm94LW1peGVkbWFya3tvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlWCgxKSByb3RhdGUoMGRlZyl9Lm1hdC1jaGVja2JveC11bmNoZWNrZWQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm1hdC1jaGVja2JveC1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtY2hlY2tib3gtZGlzYWJsZWR7b3BhY2l0eTouNX0ubWF0LWNoZWNrYm94LWFuaW0tdW5jaGVja2VkLWNoZWNrZWQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2FuaW1hdGlvbjoxODBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmR9Lm1hdC1jaGVja2JveC1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGh7YW5pbWF0aW9uOjE4MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRofS5tYXQtY2hlY2tib3gtYW5pbS11bmNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YW5pbWF0aW9uOjE4MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWZhZGUtaW4tYmFja2dyb3VuZH0ubWF0LWNoZWNrYm94LWFuaW0tdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1taXhlZG1hcmt7YW5pbWF0aW9uOjkwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUtbWl4ZWRtYXJrfS5tYXQtY2hlY2tib3gtYW5pbS1jaGVja2VkLXVuY2hlY2tlZCAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YW5pbWF0aW9uOjE4MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmR9Lm1hdC1jaGVja2JveC1hbmltLWNoZWNrZWQtdW5jaGVja2VkIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGh7YW5pbWF0aW9uOjkwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtY2hlY2tlZC11bmNoZWNrZWQtY2hlY2ttYXJrLXBhdGh9Lm1hdC1jaGVja2JveC1hbmltLWNoZWNrZWQtaW5kZXRlcm1pbmF0ZSAubWF0LWNoZWNrYm94LWNoZWNrbWFya3thbmltYXRpb246OTBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1jaGVja2VkLWluZGV0ZXJtaW5hdGUtY2hlY2ttYXJrfS5tYXQtY2hlY2tib3gtYW5pbS1jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1taXhlZG1hcmt7YW5pbWF0aW9uOjkwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFya30ubWF0LWNoZWNrYm94LWFuaW0taW5kZXRlcm1pbmF0ZS1jaGVja2VkIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJre2FuaW1hdGlvbjo1MDBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtY2hlY2ttYXJrfS5tYXQtY2hlY2tib3gtYW5pbS1pbmRldGVybWluYXRlLWNoZWNrZWQgLm1hdC1jaGVja2JveC1taXhlZG1hcmt7YW5pbWF0aW9uOjUwMG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1taXhlZG1hcmt9Lm1hdC1jaGVja2JveC1hbmltLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHthbmltYXRpb246MTgwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtZmFkZS1vdXQtYmFja2dyb3VuZH0ubWF0LWNoZWNrYm94LWFuaW0taW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQgLm1hdC1jaGVja2JveC1taXhlZG1hcmt7YW5pbWF0aW9uOjMwMG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkLW1peGVkbWFya30ubWF0LWNoZWNrYm94LWlucHV0e2JvdHRvbTowO2xlZnQ6NTAlfVxuIl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksYlouY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOmZGfSx7dHlwZTptQ30se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJ0YWJpbmRleCJdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbZFpdfV19XSxiWi5wcm9wRGVjb3JhdG9ycz17YXJpYUxhYmVsOlt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbCJdfV0sYXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dLGFyaWFEZXNjcmliZWRieTpbe3R5cGU6Ul8sYXJnczpbImFyaWEtZGVzY3JpYmVkYnkiXX1dLGlkOlt7dHlwZTpSX31dLHJlcXVpcmVkOlt7dHlwZTpSX31dLGxhYmVsUG9zaXRpb246W3t0eXBlOlJffV0sbmFtZTpbe3R5cGU6Ul99XSxjaGFuZ2U6W3t0eXBlOkVffV0saW5kZXRlcm1pbmF0ZUNoYW5nZTpbe3R5cGU6RV99XSx2YWx1ZTpbe3R5cGU6Ul99XSxfaW5wdXRFbGVtZW50Olt7dHlwZTphcixhcmdzOlsiaW5wdXQiXX1dLHJpcHBsZTpbe3R5cGU6YXIsYXJnczpbbUxdfV0sY2hlY2tlZDpbe3R5cGU6Ul99XSxkaXNhYmxlZDpbe3R5cGU6Ul99XSxpbmRldGVybWluYXRlOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGJaLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1jaGVja2JveCIsdGVtcGxhdGU6JzxsYWJlbCBbYXR0ci5mb3JdPSJpbnB1dElkIiBjbGFzcz0ibWF0LWNoZWNrYm94LWxheW91dCIgI2xhYmVsPlxuICA8c3BhbiBjbGFzcz0ibWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lciJcbiAgICAgICBbY2xhc3MubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lci1uby1zaWRlLW1hcmdpbl09IiFjaGVja2JveExhYmVsLnRleHRDb250ZW50IHx8ICFjaGVja2JveExhYmVsLnRleHRDb250ZW50LnRyaW0oKSI+XG4gICAgPGlucHV0ICNpbnB1dFxuICAgICAgICAgICBjbGFzcz0ibWF0LWNoZWNrYm94LWlucHV0IGNkay12aXN1YWxseS1oaWRkZW4iIHR5cGU9ImNoZWNrYm94IlxuICAgICAgICAgICBbaWRdPSJpbnB1dElkIlxuICAgICAgICAgICBbcmVxdWlyZWRdPSJyZXF1aXJlZCJcbiAgICAgICAgICAgW2NoZWNrZWRdPSJjaGVja2VkIlxuICAgICAgICAgICBbYXR0ci52YWx1ZV09InZhbHVlIlxuICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgW2F0dHIubmFtZV09Im5hbWUiXG4gICAgICAgICAgIFt0YWJJbmRleF09InRhYkluZGV4IlxuICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT0iYXJpYUxhYmVsIHx8IG51bGwiXG4gICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09ImFyaWFMYWJlbGxlZGJ5IlxuICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPSJfZ2V0QXJpYUNoZWNrZWQoKSJcbiAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09ImFyaWFEZXNjcmliZWRieSJcbiAgICAgICAgICAgKGNoYW5nZSk9Il9vbkludGVyYWN0aW9uRXZlbnQoJGV2ZW50KSJcbiAgICAgICAgICAgKGNsaWNrKT0iX29uSW5wdXRDbGljaygkZXZlbnQpIj5cbiAgICA8c3BhbiBtYXRSaXBwbGUgY2xhc3M9Im1hdC1jaGVja2JveC1yaXBwbGUgbWF0LWZvY3VzLWluZGljYXRvciJcbiAgICAgICAgIFttYXRSaXBwbGVUcmlnZ2VyXT0ibGFiZWwiXG4gICAgICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPSJfaXNSaXBwbGVEaXNhYmxlZCgpIlxuICAgICAgICAgW21hdFJpcHBsZVJhZGl1c109IjIwIlxuICAgICAgICAgW21hdFJpcHBsZUNlbnRlcmVkXT0idHJ1ZSJcbiAgICAgICAgIFttYXRSaXBwbGVBbmltYXRpb25dPSJ7ZW50ZXJEdXJhdGlvbjogX2FuaW1hdGlvbk1vZGUgPT09IFwnTm9vcEFuaW1hdGlvbnNcJyA/IDAgOiAxNTB9Ij5cbiAgICAgIDxzcGFuIGNsYXNzPSJtYXQtcmlwcGxlLWVsZW1lbnQgbWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxlIj48L3NwYW4+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPSJtYXQtY2hlY2tib3gtZnJhbWUiPjwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz0ibWF0LWNoZWNrYm94LWJhY2tncm91bmQiPlxuICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiXG4gICAgICAgICAgIGZvY3VzYWJsZT0iZmFsc2UiXG4gICAgICAgICAgIGNsYXNzPSJtYXQtY2hlY2tib3gtY2hlY2ttYXJrIlxuICAgICAgICAgICB2aWV3Qm94PSIwIDAgMjQgMjQiXG4gICAgICAgICAgIHhtbDpzcGFjZT0icHJlc2VydmUiXG4gICAgICAgICAgIGFyaWEtaGlkZGVuPSJ0cnVlIj5cbiAgICAgICAgPHBhdGggY2xhc3M9Im1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aCJcbiAgICAgICAgICAgICAgZmlsbD0ibm9uZSJcbiAgICAgICAgICAgICAgc3Ryb2tlPSJ3aGl0ZSJcbiAgICAgICAgICAgICAgZD0iTTQuMSwxMi43IDksMTcuNiAyMC4zLDYuMyIvPlxuICAgICAgPC9zdmc+XG4gICAgICBceDNjIS0tIEVsZW1lbnQgZm9yIHJlbmRlcmluZyB0aGUgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBjaGVja2JveC4gLS1ceDNlXG4gICAgICA8c3BhbiBjbGFzcz0ibWF0LWNoZWNrYm94LW1peGVkbWFyayI+PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz0ibWF0LWNoZWNrYm94LWxhYmVsIiAjY2hlY2tib3hMYWJlbCAoY2RrT2JzZXJ2ZUNvbnRlbnQpPSJfb25MYWJlbFRleHRDaGFuZ2UoKSI+XG4gICAgXHgzYyEtLSBBZGQgYW4gaW52aXNpYmxlIHNwYW4gc28gSkFXUyBjYW4gcmVhZCB0aGUgbGFiZWwgLS1ceDNlXG4gICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6bm9uZSI+Jm5ic3A7PC9zcGFuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9zcGFuPlxuPC9sYWJlbD5cbicsZXhwb3J0QXM6Im1hdENoZWNrYm94Iixob3N0OntjbGFzczoibWF0LWNoZWNrYm94IiwiW2lkXSI6ImlkIiwiW2F0dHIudGFiaW5kZXhdIjoibnVsbCIsIltjbGFzcy5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZV0iOiJpbmRldGVybWluYXRlIiwiW2NsYXNzLm1hdC1jaGVja2JveC1jaGVja2VkXSI6ImNoZWNrZWQiLCJbY2xhc3MubWF0LWNoZWNrYm94LWRpc2FibGVkXSI6ImRpc2FibGVkIiwiW2NsYXNzLm1hdC1jaGVja2JveC1sYWJlbC1iZWZvcmVdIjonbGFiZWxQb3NpdGlvbiA9PSAiYmVmb3JlIicsIltjbGFzcy5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZV0iOiJfYW5pbWF0aW9uTW9kZSA9PT0gJ05vb3BBbmltYXRpb25zJyJ9LHByb3ZpZGVyczpbdVpdLGlucHV0czpbImRpc2FibGVSaXBwbGUiLCJjb2xvciIsInRhYkluZGV4Il0sZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsc3R5bGVzOlsiQGtleWZyYW1lcyBtYXQtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kezAle29wYWNpdHk6MH01MCV7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kezAlLDUwJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgbWF0LWNoZWNrYm94LXVuY2hlY2tlZC1jaGVja2VkLWNoZWNrbWFyay1wYXRoezAlLDUwJXtzdHJva2UtZGFzaG9mZnNldDoyMi45MTAyNTl9NTAle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMC4xKX0xMDAle3N0cm9rZS1kYXNob2Zmc2V0OjB9fUBrZXlmcmFtZXMgbWF0LWNoZWNrYm94LXVuY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFya3swJSw2OC4yJXt0cmFuc2Zvcm06c2NhbGVYKDApfTY4LjIle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsIDAsIDAsIDEpfTEwMCV7dHJhbnNmb3JtOnNjYWxlWCgxKX19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtY2hlY2tlZC11bmNoZWNrZWQtY2hlY2ttYXJrLXBhdGh7ZnJvbXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpO3N0cm9rZS1kYXNob2Zmc2V0OjB9dG97c3Ryb2tlLWRhc2hvZmZzZXQ6LTIyLjkxMDI1OX19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLWNoZWNrbWFya3tmcm9te2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMC4xKTtvcGFjaXR5OjE7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3tvcGFjaXR5OjA7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9fUBrZXlmcmFtZXMgbWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtY2hlY2tlZC1jaGVja21hcmt7ZnJvbXthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjE0LCAwLCAwLCAxKTtvcGFjaXR5OjA7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFya3tmcm9te2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMC4xKTtvcGFjaXR5OjA7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIG1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtbWl4ZWRtYXJre2Zyb217YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4xNCwgMCwgMCwgMSk7b3BhY2l0eToxO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97b3BhY2l0eTowO3RyYW5zZm9ybTpyb3RhdGUoMzE1ZGVnKX19QGtleWZyYW1lcyBtYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS11bmNoZWNrZWQtbWl4ZWRtYXJrezAle2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGVYKDEpfTMyLjglLDEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZVgoMCl9fS5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCwubWF0LWNoZWNrYm94LWZyYW1le3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6MnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwb2ludGVyLWV2ZW50czpub25lfS5tYXQtY2hlY2tib3h7ZGlzcGxheTppbmxpbmUtYmxvY2s7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1jaGVja2JveHt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1jaGVja2JveCAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxlKXtvcGFjaXR5Oi4xNn0ubWF0LWNoZWNrYm94IC5tYXQtY2hlY2tib3gtcmlwcGxle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6Y2FsYyg1MCUgLSAyMHB4KTt0b3A6Y2FsYyg1MCUgLSAyMHB4KTtoZWlnaHQ6NDBweDt3aWR0aDo0MHB4O3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1jaGVja2JveC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNoZWNrYm94LXJpcHBsZXtvdXRsaW5lOnNvbGlkIDNweH0ubWF0LWNoZWNrYm94LWxheW91dHstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Y3Vyc29yOmluaGVyaXQ7YWxpZ24taXRlbXM6YmFzZWxpbmU7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lLWZsZXg7d2hpdGUtc3BhY2U6bm93cmFwfS5tYXQtY2hlY2tib3gtbGFiZWx7LXdlYmtpdC11c2VyLXNlbGVjdDphdXRvOy1tb3otdXNlci1zZWxlY3Q6YXV0bzstbXMtdXNlci1zZWxlY3Q6YXV0bzt1c2VyLXNlbGVjdDphdXRvfS5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O2xpbmUtaGVpZ2h0OjA7bWFyZ2luOmF1dG87bWFyZ2luLXJpZ2h0OjhweDtvcmRlcjowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTZweDtmbGV4LXNocmluazowfVtkaXI9cnRsXSAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lcnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OmF1dG99Lm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXItbm8tc2lkZS1tYXJnaW57bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MH0ubWF0LWNoZWNrYm94LWZyYW1le2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgOTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpO2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LWNoZWNrYm94LWZyYW1le3RyYW5zaXRpb246bm9uZX0ubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgOTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpLG9wYWNpdHkgOTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAwLjEpOy13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OmV4YWN0O2NvbG9yLWFkanVzdDpleGFjdH0uX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke3RyYW5zaXRpb246bm9uZX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtY2hlY2tib3ggLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bm9uZX0ubWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxle2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0cmFuc2Zvcm06bm9uZX0ubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lcjpob3ZlciAubWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxle29wYWNpdHk6LjA0fS5tYXQtY2hlY2tib3guY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jaGVja2JveC1wZXJzaXN0ZW50LXJpcHBsZXtvcGFjaXR5Oi4xMn0ubWF0LWNoZWNrYm94LXBlcnNpc3RlbnQtcmlwcGxlLC5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWRpc2FibGVkIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyOmhvdmVyIC5tYXQtY2hlY2tib3gtcGVyc2lzdGVudC1yaXBwbGV7b3BhY2l0eTowfUBtZWRpYShob3Zlcjogbm9uZSl7Lm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXI6aG92ZXIgLm1hdC1jaGVja2JveC1wZXJzaXN0ZW50LXJpcHBsZXtkaXNwbGF5Om5vbmV9fS5tYXQtY2hlY2tib3gtY2hlY2ttYXJre3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2UtZGFzaG9mZnNldDoyMi45MTAyNTk7c3Ryb2tlLWRhc2hhcnJheToyMi45MTAyNTk7c3Ryb2tlLXdpZHRoOjIuMTMzMzMzMzMzM3B4fS5jZGstaGlnaC1jb250cmFzdC1ibGFjay1vbi13aGl0ZSAubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe3N0cm9rZTojMDAwICFpbXBvcnRhbnR9Lm1hdC1jaGVja2JveC1taXhlZG1hcmt7d2lkdGg6Y2FsYygxMDAlIC0gNnB4KTtoZWlnaHQ6MnB4O29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGVYKDApIHJvdGF0ZSgwZGVnKTtib3JkZXItcmFkaXVzOjJweH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4O21hcmdpbi10b3A6MnB4fS5tYXQtY2hlY2tib3gtbGFiZWwtYmVmb3JlIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVye29yZGVyOjE7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDphdXRvfVtkaXI9cnRsXSAubWF0LWNoZWNrYm94LWxhYmVsLWJlZm9yZSAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lcnttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDo4cHh9Lm1hdC1jaGVja2JveC1jaGVja2VkIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJre29wYWNpdHk6MX0ubWF0LWNoZWNrYm94LWNoZWNrZWQgLm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aHtzdHJva2UtZGFzaG9mZnNldDowfS5tYXQtY2hlY2tib3gtY2hlY2tlZCAubWF0LWNoZWNrYm94LW1peGVkbWFya3t0cmFuc2Zvcm06c2NhbGVYKDEpIHJvdGF0ZSgtNDVkZWcpfS5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSAubWF0LWNoZWNrYm94LWNoZWNrbWFya3tvcGFjaXR5OjA7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9Lm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGh7c3Ryb2tlLWRhc2hvZmZzZXQ6MH0ubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1taXhlZG1hcmt7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZVgoMSkgcm90YXRlKDBkZWcpfS5tYXQtY2hlY2tib3gtdW5jaGVja2VkIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5tYXQtY2hlY2tib3gtZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWNoZWNrYm94LWRpc2FibGVke29wYWNpdHk6LjV9Lm1hdC1jaGVja2JveC1hbmltLXVuY2hlY2tlZC1jaGVja2VkIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZHthbmltYXRpb246MTgwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtZmFkZS1pbi1iYWNrZ3JvdW5kfS5tYXQtY2hlY2tib3gtYW5pbS11bmNoZWNrZWQtY2hlY2tlZCAubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe2FuaW1hdGlvbjoxODBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC11bmNoZWNrZWQtY2hlY2tlZC1jaGVja21hcmstcGF0aH0ubWF0LWNoZWNrYm94LWFuaW0tdW5jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2FuaW1hdGlvbjoxODBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1mYWRlLWluLWJhY2tncm91bmR9Lm1hdC1jaGVja2JveC1hbmltLXVuY2hlY2tlZC1pbmRldGVybWluYXRlIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2FuaW1hdGlvbjo5MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LXVuY2hlY2tlZC1pbmRldGVybWluYXRlLW1peGVkbWFya30ubWF0LWNoZWNrYm94LWFuaW0tY2hlY2tlZC11bmNoZWNrZWQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5ke2FuaW1hdGlvbjoxODBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1mYWRlLW91dC1iYWNrZ3JvdW5kfS5tYXQtY2hlY2tib3gtYW5pbS1jaGVja2VkLXVuY2hlY2tlZCAubWF0LWNoZWNrYm94LWNoZWNrbWFyay1wYXRoe2FuaW1hdGlvbjo5MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWNoZWNrZWQtdW5jaGVja2VkLWNoZWNrbWFyay1wYXRofS5tYXQtY2hlY2tib3gtYW5pbS1jaGVja2VkLWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1jaGVja21hcmt7YW5pbWF0aW9uOjkwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtY2hlY2tlZC1pbmRldGVybWluYXRlLWNoZWNrbWFya30ubWF0LWNoZWNrYm94LWFuaW0tY2hlY2tlZC1pbmRldGVybWluYXRlIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2FuaW1hdGlvbjo5MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWNoZWNrZWQtaW5kZXRlcm1pbmF0ZS1taXhlZG1hcmt9Lm1hdC1jaGVja2JveC1hbmltLWluZGV0ZXJtaW5hdGUtY2hlY2tlZCAubWF0LWNoZWNrYm94LWNoZWNrbWFya3thbmltYXRpb246NTAwbXMgbGluZWFyIDBtcyBtYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1jaGVja2VkLWNoZWNrbWFya30ubWF0LWNoZWNrYm94LWFuaW0taW5kZXRlcm1pbmF0ZS1jaGVja2VkIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2FuaW1hdGlvbjo1MDBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLWNoZWNrZWQtbWl4ZWRtYXJrfS5tYXQtY2hlY2tib3gtYW5pbS1pbmRldGVybWluYXRlLXVuY2hlY2tlZCAubWF0LWNoZWNrYm94LWJhY2tncm91bmR7YW5pbWF0aW9uOjE4MG1zIGxpbmVhciAwbXMgbWF0LWNoZWNrYm94LWZhZGUtb3V0LWJhY2tncm91bmR9Lm1hdC1jaGVja2JveC1hbmltLWluZGV0ZXJtaW5hdGUtdW5jaGVja2VkIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJre2FuaW1hdGlvbjozMDBtcyBsaW5lYXIgMG1zIG1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLXVuY2hlY2tlZC1taXhlZG1hcmt9Lm1hdC1jaGVja2JveC1pbnB1dHtib3R0b206MDtsZWZ0OjUwJX1cbiJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTpmRn0se3R5cGU6bUN9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsidGFiaW5kZXgiXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2RaXX1dfV19KSx7YXJpYUxhYmVsOlt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbCJdfV0sYXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dLGlkOlt7dHlwZTpSX31dLGxhYmVsUG9zaXRpb246W3t0eXBlOlJffV0sbmFtZTpbe3R5cGU6Ul99XSxjaGFuZ2U6W3t0eXBlOkVffV0saW5kZXRlcm1pbmF0ZUNoYW5nZTpbe3R5cGU6RV99XSxyZXF1aXJlZDpbe3R5cGU6Ul99XSxjaGVja2VkOlt7dHlwZTpSX31dLGRpc2FibGVkOlt7dHlwZTpSX31dLGluZGV0ZXJtaW5hdGU6W3t0eXBlOlJffV0sYXJpYURlc2NyaWJlZGJ5Olt7dHlwZTpSXyxhcmdzOlsiYXJpYS1kZXNjcmliZWRieSJdfV0sdmFsdWU6W3t0eXBlOlJffV0sX2lucHV0RWxlbWVudDpbe3R5cGU6YXIsYXJnczpbImlucHV0Il19XSxyaXBwbGU6W3t0eXBlOmFyLGFyZ3M6W21MXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB5Wj17cHJvdmlkZTpFVSx1c2VFeGlzdGluZzokZSgoKCk9Pl9aKSksbXVsdGk6ITB9O2NsYXNzIF9aIGV4dGVuZHMgVkd7fV9aLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShfWikpKShufHxfWil9fSkoKSxfWi7JtWRpcj1obyh7dHlwZTpfWixzZWxlY3RvcnM6W1sibWF0LWNoZWNrYm94IiwicmVxdWlyZWQiLCIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbIm1hdC1jaGVja2JveCIsInJlcXVpcmVkIiwiIiwiZm9ybUNvbnRyb2wiLCIiXSxbIm1hdC1jaGVja2JveCIsInJlcXVpcmVkIiwiIiwibmdNb2RlbCIsIiJdXSxmZWF0dXJlczpbamgoW3laXSksUXBdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihfWixbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtY2hlY2tib3hbcmVxdWlyZWRdW2Zvcm1Db250cm9sTmFtZV0sXG4gICAgICAgICAgICAgbWF0LWNoZWNrYm94W3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sIG1hdC1jaGVja2JveFtyZXF1aXJlZF1bbmdNb2RlbF0iLHByb3ZpZGVyczpbeVpdfV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgQ1p7fUNaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxDWil9LENaLsm1bW9kPWZvKHt0eXBlOkNafSksQ1ouybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ1osW3t0eXBlOkxfLGFyZ3M6W3tleHBvcnRzOltfWl0sZGVjbGFyYXRpb25zOltfWl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhDWix7ZGVjbGFyYXRpb25zOltfWl0sZXhwb3J0czpbX1pdfSk7Y2xhc3MgTVp7fU1aLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxNWil9LE1aLsm1bW9kPWZvKHt0eXBlOk1afSksTVouybVpbmo9RG4oe2ltcG9ydHM6W1tmTCxORix3SCxDWl0sTkYsQ1pdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihNWixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W2ZMLE5GLHdILENaXSxleHBvcnRzOltiWixORixDWl0sZGVjbGFyYXRpb25zOltiWl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhNWix7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW2JaXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltmTCxORix3SCxDWl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bYlosTkYsQ1pdfX0pO2NvbnN0IHZaPWJIKHtwYXNzaXZlOiEwfSk7Y2xhc3MgeFp7Y29uc3RydWN0b3IodCxlKXt0aGlzLl9wbGF0Zm9ybT10LHRoaXMuX25nWm9uZT1lLHRoaXMuX21vbml0b3JlZEVsZW1lbnRzPW5ldyBNYXB9bW9uaXRvcih0KXtpZighdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKXJldHVybiBkdDtjb25zdCBlPXJIKHQpLG49dGhpcy5fbW9uaXRvcmVkRWxlbWVudHMuZ2V0KGUpO2lmKG4pcmV0dXJuIG4uc3ViamVjdDtjb25zdCBvPW5ldyBCLGk9ImNkay10ZXh0LWZpZWxkLWF1dG9maWxsZWQiLGE9dD0+eyJjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCIhPT10LmFuaW1hdGlvbk5hbWV8fGUuY2xhc3NMaXN0LmNvbnRhaW5zKGkpPyJjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQiPT09dC5hbmltYXRpb25OYW1lJiZlLmNsYXNzTGlzdC5jb250YWlucyhpKSYmKGUuY2xhc3NMaXN0LnJlbW92ZShpKSx0aGlzLl9uZ1pvbmUucnVuKCgoKT0+by5uZXh0KHt0YXJnZXQ6dC50YXJnZXQsaXNBdXRvZmlsbGVkOiExfSkpKSk6KGUuY2xhc3NMaXN0LmFkZChpKSx0aGlzLl9uZ1pvbmUucnVuKCgoKT0+by5uZXh0KHt0YXJnZXQ6dC50YXJnZXQsaXNBdXRvZmlsbGVkOiEwfSkpKSl9O3JldHVybiB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT57ZS5hZGRFdmVudExpc3RlbmVyKCJhbmltYXRpb25zdGFydCIsYSx2WiksZS5jbGFzc0xpc3QuYWRkKCJjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQiKX0pKSx0aGlzLl9tb25pdG9yZWRFbGVtZW50cy5zZXQoZSx7c3ViamVjdDpvLHVubGlzdGVuOigpPT57ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJhbmltYXRpb25zdGFydCIsYSx2Wil9fSksb31zdG9wTW9uaXRvcmluZyh0KXtjb25zdCBlPXJIKHQpLG49dGhpcy5fbW9uaXRvcmVkRWxlbWVudHMuZ2V0KGUpO24mJihuLnVubGlzdGVuKCksbi5zdWJqZWN0LmNvbXBsZXRlKCksZS5jbGFzc0xpc3QucmVtb3ZlKCJjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQiKSxlLmNsYXNzTGlzdC5yZW1vdmUoImNkay10ZXh0LWZpZWxkLWF1dG9maWxsZWQiKSx0aGlzLl9tb25pdG9yZWRFbGVtZW50cy5kZWxldGUoZSkpfW5nT25EZXN0cm95KCl7dGhpcy5fbW9uaXRvcmVkRWxlbWVudHMuZm9yRWFjaCgoKHQsZSk9PnRoaXMuc3RvcE1vbml0b3JpbmcoZSkpKX19eFouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHhaKShUcihjSCksVHIobUMpKX0seFouybVwcm92PVNuKHtmYWN0b3J5OmZ1bmN0aW9uIHQoKXtyZXR1cm4gbmV3IHhaKFRyKGNIKSxUcihtQykpfSx0b2tlbjp4Wixwcm92aWRlZEluOiJyb290In0pLHhaLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6Y0h9LHt0eXBlOm1DfV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4Wixbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6Y0h9LHt0eXBlOm1DfV19KSxudWxsKTtjbGFzcyBPWntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9hdXRvZmlsbE1vbml0b3I9ZSx0aGlzLmNka0F1dG9maWxsPW5ldyBTeX1uZ09uSW5pdCgpe3RoaXMuX2F1dG9maWxsTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYpLnN1YnNjcmliZSgodD0+dGhpcy5jZGtBdXRvZmlsbC5lbWl0KHQpKSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9hdXRvZmlsbE1vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZil9fU9aLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxPWikoZ2YoS2gpLGdmKHhaKSl9LE9aLsm1ZGlyPWhvKHt0eXBlOk9aLHNlbGVjdG9yczpbWyIiLCJjZGtBdXRvZmlsbCIsIiJdXSxvdXRwdXRzOntjZGtBdXRvZmlsbDoiY2RrQXV0b2ZpbGwifX0pLE9aLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOnhafV0sT1oucHJvcERlY29yYXRvcnM9e2Nka0F1dG9maWxsOlt7dHlwZTpFX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE9aLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtBdXRvZmlsbF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOnhafV19KSx7Y2RrQXV0b2ZpbGw6W3t0eXBlOkVffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIFBae2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9wbGF0Zm9ybT1lLHRoaXMuX25nWm9uZT1uLHRoaXMuX2Rlc3Ryb3llZD1uZXcgQix0aGlzLl9lbmFibGVkPSEwLHRoaXMuX3ByZXZpb3VzTWluUm93cz0tMSx0aGlzLl9pc1ZpZXdJbml0ZWQ9ITEsdGhpcy5faGFuZGxlRm9jdXNFdmVudD10PT57dGhpcy5faGFzRm9jdXM9ImZvY3VzIj09PXQudHlwZX0sdGhpcy5fZG9jdW1lbnQ9byx0aGlzLl90ZXh0YXJlYUVsZW1lbnQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50fWdldCBtaW5Sb3dzKCl7cmV0dXJuIHRoaXMuX21pblJvd3N9c2V0IG1pblJvd3ModCl7dGhpcy5fbWluUm93cz1uSCh0KSx0aGlzLl9zZXRNaW5IZWlnaHQoKX1nZXQgbWF4Um93cygpe3JldHVybiB0aGlzLl9tYXhSb3dzfXNldCBtYXhSb3dzKHQpe3RoaXMuX21heFJvd3M9bkgodCksdGhpcy5fc2V0TWF4SGVpZ2h0KCl9Z2V0IGVuYWJsZWQoKXtyZXR1cm4gdGhpcy5fZW5hYmxlZH1zZXQgZW5hYmxlZCh0KXt0PWVIKHQpLHRoaXMuX2VuYWJsZWQhPT10JiYoKHRoaXMuX2VuYWJsZWQ9dCk/dGhpcy5yZXNpemVUb0ZpdENvbnRlbnQoITApOnRoaXMucmVzZXQoKSl9Z2V0IHBsYWNlaG9sZGVyKCl7cmV0dXJuIHRoaXMuX3RleHRhcmVhRWxlbWVudC5wbGFjZWhvbGRlcn1zZXQgcGxhY2Vob2xkZXIodCl7dGhpcy5fY2FjaGVkUGxhY2Vob2xkZXJIZWlnaHQ9dm9pZCAwLHRoaXMuX3RleHRhcmVhRWxlbWVudC5wbGFjZWhvbGRlcj10LHRoaXMuX2NhY2hlVGV4dGFyZWFQbGFjZWhvbGRlckhlaWdodCgpfV9zZXRNaW5IZWlnaHQoKXtjb25zdCB0PXRoaXMubWluUm93cyYmdGhpcy5fY2FjaGVkTGluZUhlaWdodD90aGlzLm1pblJvd3MqdGhpcy5fY2FjaGVkTGluZUhlaWdodCsicHgiOm51bGw7dCYmKHRoaXMuX3RleHRhcmVhRWxlbWVudC5zdHlsZS5taW5IZWlnaHQ9dCl9X3NldE1heEhlaWdodCgpe2NvbnN0IHQ9dGhpcy5tYXhSb3dzJiZ0aGlzLl9jYWNoZWRMaW5lSGVpZ2h0P3RoaXMubWF4Um93cyp0aGlzLl9jYWNoZWRMaW5lSGVpZ2h0KyJweCI6bnVsbDt0JiYodGhpcy5fdGV4dGFyZWFFbGVtZW50LnN0eWxlLm1heEhlaWdodD10KX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXImJih0aGlzLl9pbml0aWFsSGVpZ2h0PXRoaXMuX3RleHRhcmVhRWxlbWVudC5zdHlsZS5oZWlnaHQsdGhpcy5yZXNpemVUb0ZpdENvbnRlbnQoKSx0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT57bGUodGhpcy5fZ2V0V2luZG93KCksInJlc2l6ZSIpLnBpcGUoZ2UoMTYpLGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgoKCk9PnRoaXMucmVzaXplVG9GaXRDb250ZW50KCEwKSkpLHRoaXMuX3RleHRhcmVhRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsdGhpcy5faGFuZGxlRm9jdXNFdmVudCksdGhpcy5fdGV4dGFyZWFFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX2hhbmRsZUZvY3VzRXZlbnQpfSkpLHRoaXMuX2lzVmlld0luaXRlZD0hMCx0aGlzLnJlc2l6ZVRvRml0Q29udGVudCghMCkpfW5nT25EZXN0cm95KCl7dGhpcy5fdGV4dGFyZWFFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIix0aGlzLl9oYW5kbGVGb2N1c0V2ZW50KSx0aGlzLl90ZXh0YXJlYUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5faGFuZGxlRm9jdXNFdmVudCksdGhpcy5fZGVzdHJveWVkLm5leHQoKSx0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKX1fY2FjaGVUZXh0YXJlYUxpbmVIZWlnaHQoKXtpZih0aGlzLl9jYWNoZWRMaW5lSGVpZ2h0KXJldHVybjtsZXQgdD10aGlzLl90ZXh0YXJlYUVsZW1lbnQuY2xvbmVOb2RlKCExKTt0LnJvd3M9MSx0LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdC5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iLHQuc3R5bGUuYm9yZGVyPSJub25lIix0LnN0eWxlLnBhZGRpbmc9IjAiLHQuc3R5bGUuaGVpZ2h0PSIiLHQuc3R5bGUubWluSGVpZ2h0PSIiLHQuc3R5bGUubWF4SGVpZ2h0PSIiLHQuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiIsdGhpcy5fdGV4dGFyZWFFbGVtZW50LnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodCksdGhpcy5fY2FjaGVkTGluZUhlaWdodD10LmNsaWVudEhlaWdodCx0aGlzLl90ZXh0YXJlYUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSx0aGlzLl9zZXRNaW5IZWlnaHQoKSx0aGlzLl9zZXRNYXhIZWlnaHQoKX1fbWVhc3VyZVNjcm9sbEhlaWdodCgpe2NvbnN0IHQ9dGhpcy5fdGV4dGFyZWFFbGVtZW50LGU9dC5zdHlsZS5tYXJnaW5Cb3R0b218fCIiLG49dGhpcy5fcGxhdGZvcm0uRklSRUZPWCxvPW4mJnRoaXMuX2hhc0ZvY3VzLGk9bj8iY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94IjoiY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZyI7byYmKHQuc3R5bGUubWFyZ2luQm90dG9tPWAke3QuY2xpZW50SGVpZ2h0fXB4YCksdC5jbGFzc0xpc3QuYWRkKGkpO2NvbnN0IGE9dC5zY3JvbGxIZWlnaHQtNDtyZXR1cm4gdC5jbGFzc0xpc3QucmVtb3ZlKGkpLG8mJih0LnN0eWxlLm1hcmdpbkJvdHRvbT1lKSxhfV9jYWNoZVRleHRhcmVhUGxhY2Vob2xkZXJIZWlnaHQoKXtpZighdGhpcy5faXNWaWV3SW5pdGVkfHxudWxsIT10aGlzLl9jYWNoZWRQbGFjZWhvbGRlckhlaWdodClyZXR1cm47aWYoIXRoaXMucGxhY2Vob2xkZXIpcmV0dXJuIHZvaWQodGhpcy5fY2FjaGVkUGxhY2Vob2xkZXJIZWlnaHQ9MCk7Y29uc3QgdD10aGlzLl90ZXh0YXJlYUVsZW1lbnQudmFsdWU7dGhpcy5fdGV4dGFyZWFFbGVtZW50LnZhbHVlPXRoaXMuX3RleHRhcmVhRWxlbWVudC5wbGFjZWhvbGRlcix0aGlzLl9jYWNoZWRQbGFjZWhvbGRlckhlaWdodD10aGlzLl9tZWFzdXJlU2Nyb2xsSGVpZ2h0KCksdGhpcy5fdGV4dGFyZWFFbGVtZW50LnZhbHVlPXR9bmdEb0NoZWNrKCl7dGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyJiZ0aGlzLnJlc2l6ZVRvRml0Q29udGVudCgpfXJlc2l6ZVRvRml0Q29udGVudCh0PSExKXtpZighdGhpcy5fZW5hYmxlZClyZXR1cm47aWYodGhpcy5fY2FjaGVUZXh0YXJlYUxpbmVIZWlnaHQoKSx0aGlzLl9jYWNoZVRleHRhcmVhUGxhY2Vob2xkZXJIZWlnaHQoKSwhdGhpcy5fY2FjaGVkTGluZUhlaWdodClyZXR1cm47Y29uc3QgZT10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsbj1lLnZhbHVlO2lmKCF0JiZ0aGlzLl9taW5Sb3dzPT09dGhpcy5fcHJldmlvdXNNaW5Sb3dzJiZuPT09dGhpcy5fcHJldmlvdXNWYWx1ZSlyZXR1cm47Y29uc3Qgbz10aGlzLl9tZWFzdXJlU2Nyb2xsSGVpZ2h0KCksaT1NYXRoLm1heChvLHRoaXMuX2NhY2hlZFBsYWNlaG9sZGVySGVpZ2h0fHwwKTtlLnN0eWxlLmhlaWdodD1gJHtpfXB4YCx0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCgpPT57InVuZGVmaW5lZCIhPXR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU/cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgoKT0+dGhpcy5fc2Nyb2xsVG9DYXJldFBvc2l0aW9uKGUpKSk6c2V0VGltZW91dCgoKCk9PnRoaXMuX3Njcm9sbFRvQ2FyZXRQb3NpdGlvbihlKSkpfSkpLHRoaXMuX3ByZXZpb3VzVmFsdWU9bix0aGlzLl9wcmV2aW91c01pblJvd3M9dGhpcy5fbWluUm93c31yZXNldCgpe3ZvaWQgMCE9PXRoaXMuX2luaXRpYWxIZWlnaHQmJih0aGlzLl90ZXh0YXJlYUVsZW1lbnQuc3R5bGUuaGVpZ2h0PXRoaXMuX2luaXRpYWxIZWlnaHQpfV9ub29wSW5wdXRIYW5kbGVyKCl7fV9nZXREb2N1bWVudCgpe3JldHVybiB0aGlzLl9kb2N1bWVudHx8ZG9jdW1lbnR9X2dldFdpbmRvdygpe3JldHVybiB0aGlzLl9nZXREb2N1bWVudCgpLmRlZmF1bHRWaWV3fHx3aW5kb3d9X3Njcm9sbFRvQ2FyZXRQb3NpdGlvbih0KXtjb25zdHtzZWxlY3Rpb25TdGFydDplLHNlbGVjdGlvbkVuZDpufT10OyF0aGlzLl9kZXN0cm95ZWQuaXNTdG9wcGVkJiZ0aGlzLl9oYXNGb2N1cyYmdC5zZXRTZWxlY3Rpb25SYW5nZShlLG4pfX1QWi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UFopKGdmKEtoKSxnZihjSCksZ2YobUMpLGdmKHNNLDgpKX0sUFouybVkaXI9aG8oe3R5cGU6UFosc2VsZWN0b3JzOltbInRleHRhcmVhIiwiY2RrVGV4dGFyZWFBdXRvc2l6ZSIsIiJdXSxob3N0QXR0cnM6WyJyb3dzIiwiMSIsMSwiY2RrLXRleHRhcmVhLWF1dG9zaXplIl0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJpbnB1dCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fbm9vcElucHV0SGFuZGxlcigpfSkpfSxpbnB1dHM6e21pblJvd3M6WyJjZGtBdXRvc2l6ZU1pblJvd3MiLCJtaW5Sb3dzIl0sbWF4Um93czpbImNka0F1dG9zaXplTWF4Um93cyIsIm1heFJvd3MiXSxlbmFibGVkOlsiY2RrVGV4dGFyZWFBdXRvc2l6ZSIsImVuYWJsZWQiXSxwbGFjZWhvbGRlcjoicGxhY2Vob2xkZXIifSxleHBvcnRBczpbImNka1RleHRhcmVhQXV0b3NpemUiXX0pLFBaLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOmNIfSx7dHlwZTptQ30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX1dLFBaLnByb3BEZWNvcmF0b3JzPXttaW5Sb3dzOlt7dHlwZTpSXyxhcmdzOlsiY2RrQXV0b3NpemVNaW5Sb3dzIl19XSxtYXhSb3dzOlt7dHlwZTpSXyxhcmdzOlsiY2RrQXV0b3NpemVNYXhSb3dzIl19XSxlbmFibGVkOlt7dHlwZTpSXyxhcmdzOlsiY2RrVGV4dGFyZWFBdXRvc2l6ZSJdfV0scGxhY2Vob2xkZXI6W3t0eXBlOlJffV0sX25vb3BJbnB1dEhhbmRsZXI6W3t0eXBlOlRfLGFyZ3M6WyJpbnB1dCJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoUFosW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoidGV4dGFyZWFbY2RrVGV4dGFyZWFBdXRvc2l6ZV0iLGV4cG9ydEFzOiJjZGtUZXh0YXJlYUF1dG9zaXplIixob3N0OntjbGFzczoiY2RrLXRleHRhcmVhLWF1dG9zaXplIixyb3dzOiIxIn19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6Y0h9LHt0eXBlOm1DfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSx7bWluUm93czpbe3R5cGU6Ul8sYXJnczpbImNka0F1dG9zaXplTWluUm93cyJdfV0sbWF4Um93czpbe3R5cGU6Ul8sYXJnczpbImNka0F1dG9zaXplTWF4Um93cyJdfV0sZW5hYmxlZDpbe3R5cGU6Ul8sYXJnczpbImNka1RleHRhcmVhQXV0b3NpemUiXX1dLHBsYWNlaG9sZGVyOlt7dHlwZTpSX31dLF9ub29wSW5wdXRIYW5kbGVyOlt7dHlwZTpUXyxhcmdzOlsiaW5wdXQiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyB3Wnt9d1ouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHdaKX0sd1ouybVtb2Q9Zm8oe3R5cGU6d1p9KSx3Wi7JtWluaj1Ebih7aW1wb3J0czpbW2RIXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHdaLFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltPWixQWl0saW1wb3J0czpbZEhdLGV4cG9ydHM6W09aLFBaXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHdaLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bT1osUFpdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW2RIXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltPWixQWl19fSk7Y2xhc3Mga1ogZXh0ZW5kcyBQWntnZXQgbWF0QXV0b3NpemVNaW5Sb3dzKCl7cmV0dXJuIHRoaXMubWluUm93c31zZXQgbWF0QXV0b3NpemVNaW5Sb3dzKHQpe3RoaXMubWluUm93cz10fWdldCBtYXRBdXRvc2l6ZU1heFJvd3MoKXtyZXR1cm4gdGhpcy5tYXhSb3dzfXNldCBtYXRBdXRvc2l6ZU1heFJvd3ModCl7dGhpcy5tYXhSb3dzPXR9Z2V0IG1hdEF1dG9zaXplKCl7cmV0dXJuIHRoaXMuZW5hYmxlZH1zZXQgbWF0QXV0b3NpemUodCl7dGhpcy5lbmFibGVkPXR9Z2V0IG1hdFRleHRhcmVhQXV0b3NpemUoKXtyZXR1cm4gdGhpcy5lbmFibGVkfXNldCBtYXRUZXh0YXJlYUF1dG9zaXplKHQpe3RoaXMuZW5hYmxlZD10fX1rWi7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoa1opKSkobnx8a1opfX0pKCksa1ouybVkaXI9aG8oe3R5cGU6a1osc2VsZWN0b3JzOltbInRleHRhcmVhIiwibWF0LWF1dG9zaXplIiwiIl0sWyJ0ZXh0YXJlYSIsIm1hdFRleHRhcmVhQXV0b3NpemUiLCIiXV0saG9zdEF0dHJzOlsicm93cyIsIjEiLDEsImNkay10ZXh0YXJlYS1hdXRvc2l6ZSIsIm1hdC1hdXRvc2l6ZSJdLGlucHV0czp7Y2RrQXV0b3NpemVNaW5Sb3dzOiJjZGtBdXRvc2l6ZU1pblJvd3MiLGNka0F1dG9zaXplTWF4Um93czoiY2RrQXV0b3NpemVNYXhSb3dzIixtYXRBdXRvc2l6ZU1pblJvd3M6Im1hdEF1dG9zaXplTWluUm93cyIsbWF0QXV0b3NpemVNYXhSb3dzOiJtYXRBdXRvc2l6ZU1heFJvd3MiLG1hdEF1dG9zaXplOlsibWF0LWF1dG9zaXplIiwibWF0QXV0b3NpemUiXSxtYXRUZXh0YXJlYUF1dG9zaXplOiJtYXRUZXh0YXJlYUF1dG9zaXplIn0sZXhwb3J0QXM6WyJtYXRUZXh0YXJlYUF1dG9zaXplIl0sZmVhdHVyZXM6W1FwXX0pLGtaLnByb3BEZWNvcmF0b3JzPXttYXRBdXRvc2l6ZU1pblJvd3M6W3t0eXBlOlJffV0sbWF0QXV0b3NpemVNYXhSb3dzOlt7dHlwZTpSX31dLG1hdEF1dG9zaXplOlt7dHlwZTpSXyxhcmdzOlsibWF0LWF1dG9zaXplIl19XSxtYXRUZXh0YXJlYUF1dG9zaXplOlt7dHlwZTpSX31dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGtaLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6InRleHRhcmVhW21hdC1hdXRvc2l6ZV0sIHRleHRhcmVhW21hdFRleHRhcmVhQXV0b3NpemVdIixleHBvcnRBczoibWF0VGV4dGFyZWFBdXRvc2l6ZSIsaW5wdXRzOlsiY2RrQXV0b3NpemVNaW5Sb3dzIiwiY2RrQXV0b3NpemVNYXhSb3dzIl0saG9zdDp7Y2xhc3M6ImNkay10ZXh0YXJlYS1hdXRvc2l6ZSBtYXQtYXV0b3NpemUiLHJvd3M6IjEifX1dfV0sbnVsbCx7bWF0QXV0b3NpemVNaW5Sb3dzOlt7dHlwZTpSX31dLG1hdEF1dG9zaXplTWF4Um93czpbe3R5cGU6Ul99XSxtYXRBdXRvc2l6ZTpbe3R5cGU6Ul8sYXJnczpbIm1hdC1hdXRvc2l6ZSJdfV0sbWF0VGV4dGFyZWFBdXRvc2l6ZTpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgU1o9bmV3IGVyKCJNQVRfSU5QVVRfVkFMVUVfQUNDRVNTT1IiKSxEWj1bImJ1dHRvbiIsImNoZWNrYm94IiwiZmlsZSIsImhpZGRlbiIsImltYWdlIiwicmFkaW8iLCJyYW5nZSIsInJlc2V0Iiwic3VibWl0Il07Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2xldCBSWj0wO2NvbnN0IEVaPUxGKGNsYXNze2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcj10LHRoaXMuX3BhcmVudEZvcm09ZSx0aGlzLl9wYXJlbnRGb3JtR3JvdXA9bix0aGlzLm5nQ29udHJvbD1vfX0pO2NsYXNzIEFaIGV4dGVuZHMgRVp7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzLGwsYyl7c3VwZXIoYSxvLGksbiksdGhpcy5fZWxlbWVudFJlZj10LHRoaXMuX3BsYXRmb3JtPWUsdGhpcy5fYXV0b2ZpbGxNb25pdG9yPXMsdGhpcy5fZm9ybUZpZWxkPWMsdGhpcy5fdWlkPSJtYXQtaW5wdXQtIitSWisrLHRoaXMuZm9jdXNlZD0hMSx0aGlzLnN0YXRlQ2hhbmdlcz1uZXcgQix0aGlzLmNvbnRyb2xUeXBlPSJtYXQtaW5wdXQiLHRoaXMuYXV0b2ZpbGxlZD0hMSx0aGlzLl9kaXNhYmxlZD0hMSx0aGlzLl9yZXF1aXJlZD0hMSx0aGlzLl90eXBlPSJ0ZXh0Iix0aGlzLl9yZWFkb25seT0hMSx0aGlzLl9uZXZlckVtcHR5SW5wdXRUeXBlcz1bImRhdGUiLCJkYXRldGltZSIsImRhdGV0aW1lLWxvY2FsIiwibW9udGgiLCJ0aW1lIiwid2VlayJdLmZpbHRlcigodD0+bUgoKS5oYXModCkpKTtjb25zdCBkPXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxwPWQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTt0aGlzLl9pbnB1dFZhbHVlQWNjZXNzb3I9cnx8ZCx0aGlzLl9wcmV2aW91c05hdGl2ZVZhbHVlPXRoaXMudmFsdWUsdGhpcy5pZD10aGlzLmlkLGUuSU9TJiZsLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e3QubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsKHQ9Pntjb25zdCBlPXQudGFyZ2V0O2UudmFsdWV8fDAhPT1lLnNlbGVjdGlvblN0YXJ0fHwwIT09ZS5zZWxlY3Rpb25FbmR8fChlLnNldFNlbGVjdGlvblJhbmdlKDEsMSksZS5zZXRTZWxlY3Rpb25SYW5nZSgwLDApKX0pKX0pKSx0aGlzLl9pc1NlcnZlcj0hdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyLHRoaXMuX2lzTmF0aXZlU2VsZWN0PSJzZWxlY3QiPT09cCx0aGlzLl9pc1RleHRhcmVhPSJ0ZXh0YXJlYSI9PT1wLHRoaXMuX2lzSW5Gb3JtRmllbGQ9ISFjLHRoaXMuX2lzTmF0aXZlU2VsZWN0JiYodGhpcy5jb250cm9sVHlwZT1kLm11bHRpcGxlPyJtYXQtbmF0aXZlLXNlbGVjdC1tdWx0aXBsZSI6Im1hdC1uYXRpdmUtc2VsZWN0Iil9Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMubmdDb250cm9sJiZudWxsIT09dGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQ/dGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQ6dGhpcy5fZGlzYWJsZWR9c2V0IGRpc2FibGVkKHQpe3RoaXMuX2Rpc2FibGVkPWVIKHQpLHRoaXMuZm9jdXNlZCYmKHRoaXMuZm9jdXNlZD0hMSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCkpfWdldCBpZCgpe3JldHVybiB0aGlzLl9pZH1zZXQgaWQodCl7dGhpcy5faWQ9dHx8dGhpcy5fdWlkfWdldCByZXF1aXJlZCgpe3JldHVybiB0aGlzLl9yZXF1aXJlZH1zZXQgcmVxdWlyZWQodCl7dGhpcy5fcmVxdWlyZWQ9ZUgodCl9Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy5fdHlwZX1zZXQgdHlwZSh0KXt0aGlzLl90eXBlPXR8fCJ0ZXh0Iix0aGlzLl92YWxpZGF0ZVR5cGUoKSwhdGhpcy5faXNUZXh0YXJlYSYmbUgoKS5oYXModGhpcy5fdHlwZSkmJih0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudHlwZT10aGlzLl90eXBlKX1nZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy5faW5wdXRWYWx1ZUFjY2Vzc29yLnZhbHVlfXNldCB2YWx1ZSh0KXt0IT09dGhpcy52YWx1ZSYmKHRoaXMuX2lucHV0VmFsdWVBY2Nlc3Nvci52YWx1ZT10LHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKSl9Z2V0IHJlYWRvbmx5KCl7cmV0dXJuIHRoaXMuX3JlYWRvbmx5fXNldCByZWFkb25seSh0KXt0aGlzLl9yZWFkb25seT1lSCh0KX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXImJnRoaXMuX2F1dG9maWxsTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkuc3Vic2NyaWJlKCh0PT57dGhpcy5hdXRvZmlsbGVkPXQuaXNBdXRvZmlsbGVkLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKX0pKX1uZ09uQ2hhbmdlcygpe3RoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKX1uZ09uRGVzdHJveSgpe3RoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCksdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyJiZ0aGlzLl9hdXRvZmlsbE1vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KX1uZ0RvQ2hlY2soKXt0aGlzLm5nQ29udHJvbCYmdGhpcy51cGRhdGVFcnJvclN0YXRlKCksdGhpcy5fZGlydHlDaGVja05hdGl2ZVZhbHVlKCksdGhpcy5fZGlydHlDaGVja1BsYWNlaG9sZGVyKCl9Zm9jdXModCl7dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKHQpfV9mb2N1c0NoYW5nZWQodCl7dCE9PXRoaXMuZm9jdXNlZCYmKHRoaXMuZm9jdXNlZD10LHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKSl9X29uSW5wdXQoKXt9X2RpcnR5Q2hlY2tQbGFjZWhvbGRlcigpe3ZhciB0LGU7Y29uc3Qgbj0obnVsbD09PShlPW51bGw9PT0odD10aGlzLl9mb3JtRmllbGQpfHx2b2lkIDA9PT10P3ZvaWQgMDp0Ll9oaWRlQ29udHJvbFBsYWNlaG9sZGVyKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5jYWxsKHQpKT9udWxsOnRoaXMucGxhY2Vob2xkZXI7aWYobiE9PXRoaXMuX3ByZXZpb3VzUGxhY2Vob2xkZXIpe2NvbnN0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O3RoaXMuX3ByZXZpb3VzUGxhY2Vob2xkZXI9bixuP3Quc2V0QXR0cmlidXRlKCJwbGFjZWhvbGRlciIsbik6dC5yZW1vdmVBdHRyaWJ1dGUoInBsYWNlaG9sZGVyIil9fV9kaXJ0eUNoZWNrTmF0aXZlVmFsdWUoKXtjb25zdCB0PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZTt0aGlzLl9wcmV2aW91c05hdGl2ZVZhbHVlIT09dCYmKHRoaXMuX3ByZXZpb3VzTmF0aXZlVmFsdWU9dCx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCkpfV92YWxpZGF0ZVR5cGUoKXtpZihEWi5pbmRleE9mKHRoaXMuX3R5cGUpPi0xJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpCi8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwp0aHJvdyhmdW5jdGlvbiB0KGUpe3JldHVybiBFcnJvcihgSW5wdXQgdHlwZSAiJHtlfSIgaXNuJ3Qgc3VwcG9ydGVkIGJ5IG1hdElucHV0LmApfSkodGhpcy5fdHlwZSl9X2lzTmV2ZXJFbXB0eSgpe3JldHVybiB0aGlzLl9uZXZlckVtcHR5SW5wdXRUeXBlcy5pbmRleE9mKHRoaXMuX3R5cGUpPi0xfV9pc0JhZElucHV0KCl7bGV0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbGlkaXR5O3JldHVybiB0JiZ0LmJhZElucHV0fWdldCBlbXB0eSgpe3JldHVybiEodGhpcy5faXNOZXZlckVtcHR5KCl8fHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZXx8dGhpcy5faXNCYWRJbnB1dCgpfHx0aGlzLmF1dG9maWxsZWQpfWdldCBzaG91bGRMYWJlbEZsb2F0KCl7aWYodGhpcy5faXNOYXRpdmVTZWxlY3Qpe2NvbnN0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LGU9dC5vcHRpb25zWzBdO3JldHVybiB0aGlzLmZvY3VzZWR8fHQubXVsdGlwbGV8fCF0aGlzLmVtcHR5fHwhISh0LnNlbGVjdGVkSW5kZXg+LTEmJmUmJmUubGFiZWwpfXJldHVybiB0aGlzLmZvY3VzZWR8fCF0aGlzLmVtcHR5fXNldERlc2NyaWJlZEJ5SWRzKHQpe3QubGVuZ3RoP3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGVzY3JpYmVkYnkiLHQuam9pbigiICIpKTp0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5Iil9b25Db250YWluZXJDbGljaygpe3RoaXMuZm9jdXNlZHx8dGhpcy5mb2N1cygpfX1BWi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QVopKGdmKEtoKSxnZihjSCksZ2YobFcsMTApLGdmKFhXLDgpLGdmKGhHLDgpLGdmKG5MKSxnZihTWiwxMCksZ2YoeFopLGdmKG1DKSxnZih5VSw4KSl9LEFaLsm1ZGlyPWhvKHt0eXBlOkFaLHNlbGVjdG9yczpbWyJpbnB1dCIsIm1hdElucHV0IiwiIl0sWyJ0ZXh0YXJlYSIsIm1hdElucHV0IiwiIl0sWyJzZWxlY3QiLCJtYXROYXRpdmVDb250cm9sIiwiIl0sWyJpbnB1dCIsIm1hdE5hdGl2ZUNvbnRyb2wiLCIiXSxbInRleHRhcmVhIiwibWF0TmF0aXZlQ29udHJvbCIsIiJdXSxob3N0QXR0cnM6WzEsIm1hdC1pbnB1dC1lbGVtZW50IiwibWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbCJdLGhvc3RWYXJzOjksaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJmb2N1cyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fZm9jdXNDaGFuZ2VkKCEwKX0pKSgiYmx1ciIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fZm9jdXNDaGFuZ2VkKCExKX0pKSgiaW5wdXQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX29uSW5wdXQoKX0pKSwyJmUmJihjZygiZGlzYWJsZWQiLG4uZGlzYWJsZWQpKCJyZXF1aXJlZCIsbi5yZXF1aXJlZCkseW0oImlkIixuLmlkKSgiZGF0YS1wbGFjZWhvbGRlciIsbi5wbGFjZWhvbGRlcikoInJlYWRvbmx5IixuLnJlYWRvbmx5JiYhbi5faXNOYXRpdmVTZWxlY3R8fG51bGwpKCJhcmlhLWludmFsaWQiLG4uZW1wdHkmJm4ucmVxdWlyZWQ/bnVsbDpuLmVycm9yU3RhdGUpKCJhcmlhLXJlcXVpcmVkIixuLnJlcXVpcmVkKSxjdSgibWF0LWlucHV0LXNlcnZlciIsbi5faXNTZXJ2ZXIpKX0saW5wdXRzOntpZDoiaWQiLGRpc2FibGVkOiJkaXNhYmxlZCIscmVxdWlyZWQ6InJlcXVpcmVkIix0eXBlOiJ0eXBlIix2YWx1ZToidmFsdWUiLHJlYWRvbmx5OiJyZWFkb25seSIscGxhY2Vob2xkZXI6InBsYWNlaG9sZGVyIixlcnJvclN0YXRlTWF0Y2hlcjoiZXJyb3JTdGF0ZU1hdGNoZXIiLHVzZXJBcmlhRGVzY3JpYmVkQnk6WyJhcmlhLWRlc2NyaWJlZGJ5IiwidXNlckFyaWFEZXNjcmliZWRCeSJdfSxleHBvcnRBczpbIm1hdElucHV0Il0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTppVSx1c2VFeGlzdGluZzpBWn1dKSxRcCxxb119KSxBWi5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpjSH0se3R5cGU6bFcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfV19LHt0eXBlOlhXLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOmhHLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOm5MfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOlZyfSx7dHlwZTpMcixhcmdzOltTWl19XX0se3R5cGU6eFp9LHt0eXBlOm1DfSx7dHlwZTpfVSxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbeVVdfV19XSxBWi5wcm9wRGVjb3JhdG9ycz17ZGlzYWJsZWQ6W3t0eXBlOlJffV0saWQ6W3t0eXBlOlJffV0scGxhY2Vob2xkZXI6W3t0eXBlOlJffV0scmVxdWlyZWQ6W3t0eXBlOlJffV0sdHlwZTpbe3R5cGU6Ul99XSxlcnJvclN0YXRlTWF0Y2hlcjpbe3R5cGU6Ul99XSx1c2VyQXJpYURlc2NyaWJlZEJ5Olt7dHlwZTpSXyxhcmdzOlsiYXJpYS1kZXNjcmliZWRieSJdfV0sdmFsdWU6W3t0eXBlOlJffV0scmVhZG9ubHk6W3t0eXBlOlJffV0sX2ZvY3VzQ2hhbmdlZDpbe3R5cGU6VF8sYXJnczpbImZvY3VzIixbInRydWUiXV19LHt0eXBlOlRfLGFyZ3M6WyJibHVyIixbImZhbHNlIl1dfV0sX29uSW5wdXQ6W3t0eXBlOlRfLGFyZ3M6WyJpbnB1dCJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQVosW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiaW5wdXRbbWF0SW5wdXRdLCB0ZXh0YXJlYVttYXRJbnB1dF0sIHNlbGVjdFttYXROYXRpdmVDb250cm9sXSxcbiAgICAgIGlucHV0W21hdE5hdGl2ZUNvbnRyb2xdLCB0ZXh0YXJlYVttYXROYXRpdmVDb250cm9sXSIsZXhwb3J0QXM6Im1hdElucHV0Iixob3N0OntjbGFzczoibWF0LWlucHV0LWVsZW1lbnQgbWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbCIsIltjbGFzcy5tYXQtaW5wdXQtc2VydmVyXSI6Il9pc1NlcnZlciIsIlthdHRyLmlkXSI6ImlkIiwiW2F0dHIuZGF0YS1wbGFjZWhvbGRlcl0iOiJwbGFjZWhvbGRlciIsIltkaXNhYmxlZF0iOiJkaXNhYmxlZCIsIltyZXF1aXJlZF0iOiJyZXF1aXJlZCIsIlthdHRyLnJlYWRvbmx5XSI6InJlYWRvbmx5ICYmICFfaXNOYXRpdmVTZWxlY3QgfHwgbnVsbCIsIlthdHRyLmFyaWEtaW52YWxpZF0iOiIoZW1wdHkgJiYgcmVxdWlyZWQpID8gbnVsbCA6IGVycm9yU3RhdGUiLCJbYXR0ci5hcmlhLXJlcXVpcmVkXSI6InJlcXVpcmVkIn0scHJvdmlkZXJzOlt7cHJvdmlkZTppVSx1c2VFeGlzdGluZzpBWn1dfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOmNIfSx7dHlwZTpsVyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9XX0se3R5cGU6WFcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6aEcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6bkx9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9LHt0eXBlOkxyLGFyZ3M6W1NaXX1dfSx7dHlwZTp4Wn0se3R5cGU6bUN9LHt0eXBlOl9VLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOlt5VV19XX1dfSkse2lkOlt7dHlwZTpSX31dLGRpc2FibGVkOlt7dHlwZTpSX31dLHJlcXVpcmVkOlt7dHlwZTpSX31dLHR5cGU6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV0scmVhZG9ubHk6W3t0eXBlOlJffV0sX2ZvY3VzQ2hhbmdlZDpbe3R5cGU6VF8sYXJnczpbImZvY3VzIixbInRydWUiXV19LHt0eXBlOlRfLGFyZ3M6WyJibHVyIixbImZhbHNlIl1dfV0sX29uSW5wdXQ6W3t0eXBlOlRfLGFyZ3M6WyJpbnB1dCJdfV0scGxhY2Vob2xkZXI6W3t0eXBlOlJffV0sZXJyb3JTdGF0ZU1hdGNoZXI6W3t0eXBlOlJffV0sdXNlckFyaWFEZXNjcmliZWRCeTpbe3R5cGU6Ul8sYXJnczpbImFyaWEtZGVzY3JpYmVkYnkiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBUWnt9ZnVuY3Rpb24gTloodCxlKXtpZigxJnQmJihDZigwLCJtYXQtZXJyb3IiKSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxrdSgiIFJlbG9hZCBwZXJpb2QgaGFzIHRvIGJlIG1pbmltdW0gb2YgIix0Lk1JTl9SRUxPQURfUEVSSU9EX0lOX1MsIiBzZWNvbmRzLiAiKX19ZnVuY3Rpb24geloodCxlKXsxJnQmJihDZigwLCJtYXQtZXJyb3IiKSxQdSgxLCIgUGFnZSBzaXplIGhhcyB0byBiZSBhIHBvc2l0aXZlIGludGVnZXIuICIpLE1mKCkpfVRaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxUWil9LFRaLsm1bW9kPWZvKHt0eXBlOlRafSksVFouybVpbmo9RG4oe3Byb3ZpZGVyczpbbkxdLGltcG9ydHM6W1t3WixDVSxORl0sd1osQ1VdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihUWixbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbQVosa1pdLGltcG9ydHM6W3daLENVLE5GXSxleHBvcnRzOlt3WixDVSxBWixrWl0scHJvdmlkZXJzOltuTF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhUWix7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW0FaLGtaXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVyblt3WixDVSxORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bd1osQ1UsQVosa1pdfX0pO2NsYXNzIElae2NvbnN0cnVjdG9yKCl7dGhpcy5yZWxvYWRUb2dnbGVkPW5ldyBTeSx0aGlzLnJlbG9hZFBlcmlvZEluTXNDaGFuZ2VkPW5ldyBTeSx0aGlzLnBhZ2VTaXplQ2hhbmdlZD1uZXcgU3ksdGhpcy5NSU5fUkVMT0FEX1BFUklPRF9JTl9TPTMwLHRoaXMucmVsb2FkUGVyaW9kQ29udHJvbD1uZXcgV1codGhpcy5NSU5fUkVMT0FEX1BFUklPRF9JTl9TLFtOVS5yZXF1aXJlZCxOVS5taW4odGhpcy5NSU5fUkVMT0FEX1BFUklPRF9JTl9TKV0pLHRoaXMucGFnaW5hdGlvbkNvbnRyb2w9bmV3IFdXKDEsW05VLnJlcXVpcmVkLE5VLm1pbigxKSx0PT57Y29uc3QgZT1OdW1iZXIodC52YWx1ZSk7cmV0dXJuIE1hdGgucm91bmQoZSk9PT10LnZhbHVlP251bGw6e2ludGVnZXI6e3ZhbHVlOnQudmFsdWV9fX1dKSx0aGlzLm5nVW5zdWJzY3JpYmU9bmV3IEJ9bmdPbkluaXQoKXt0aGlzLnJlbG9hZFBlcmlvZENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSxDZSg1MDApLHVlKCgoKT0+dGhpcy5yZWxvYWRQZXJpb2RDb250cm9sLnZhbGlkKSkpLnN1YnNjcmliZSgoKCk9PntpZighdGhpcy5yZWxvYWRQZXJpb2RDb250cm9sLnZhbGlkKXJldHVybjt0aGlzLnJlbG9hZFBlcmlvZEluTXNDaGFuZ2VkLmVtaXQoMWUzKnRoaXMucmVsb2FkUGVyaW9kQ29udHJvbC52YWx1ZSl9KSksdGhpcy5wYWdpbmF0aW9uQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLENlKDUwMCksdWUoKCgpPT50aGlzLnBhZ2luYXRpb25Db250cm9sLnZhbGlkKSkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLnBhZ2VTaXplQ2hhbmdlZC5lbWl0KHRoaXMucGFnaW5hdGlvbkNvbnRyb2wudmFsdWUpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKSx0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKX1uZ09uQ2hhbmdlcyh0KXtpZih0LnJlbG9hZFBlcmlvZEluTXMpe2NvbnN0IGU9dC5yZWxvYWRQZXJpb2RJbk1zO2UucHJldmlvdXNWYWx1ZSE9PWUuY3VycmVudFZhbHVlJiZ0aGlzLnJlbG9hZFBlcmlvZENvbnRyb2wuc2V0VmFsdWUoZS5jdXJyZW50VmFsdWUvMWUzKX1pZih0LnJlbG9hZEVuYWJsZWQpe3QucmVsb2FkRW5hYmxlZC5jdXJyZW50VmFsdWU/dGhpcy5yZWxvYWRQZXJpb2RDb250cm9sLmVuYWJsZSgpOnRoaXMucmVsb2FkUGVyaW9kQ29udHJvbC5kaXNhYmxlKCl9aWYodC5wYWdlU2l6ZSl7Y29uc3QgZT10LnBhZ2VTaXplO2UucHJldmlvdXNWYWx1ZSE9PWUuY3VycmVudFZhbHVlJiZ0aGlzLnBhZ2luYXRpb25Db250cm9sLnNldFZhbHVlKGUuY3VycmVudFZhbHVlKX19b25SZWxvYWRUb2dnbGUoKXt0aGlzLnJlbG9hZFRvZ2dsZWQuZW1pdCgpfX1JWi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SVopfSxJWi7JtWNtcD1zbyh7dHlwZTpJWixzZWxlY3RvcnM6W1sic2V0dGluZ3MtZGlhbG9nLWNvbXBvbmVudCJdXSxpbnB1dHM6e3JlbG9hZEVuYWJsZWQ6InJlbG9hZEVuYWJsZWQiLHJlbG9hZFBlcmlvZEluTXM6InJlbG9hZFBlcmlvZEluTXMiLHBhZ2VTaXplOiJwYWdlU2l6ZSJ9LG91dHB1dHM6e3JlbG9hZFRvZ2dsZWQ6InJlbG9hZFRvZ2dsZWQiLHJlbG9hZFBlcmlvZEluTXNDaGFuZ2VkOiJyZWxvYWRQZXJpb2RJbk1zQ2hhbmdlZCIscGFnZVNpemVDaGFuZ2VkOiJwYWdlU2l6ZUNoYW5nZWQifSxmZWF0dXJlczpbcW9dLGRlY2xzOjE0LHZhcnM6NSxjb25zdHM6W1sxLCJyZWxvYWQtdG9nZ2xlIl0sWzMsImNoZWNrZWQiLCJjaGFuZ2UiXSxbIm1hdElucHV0IiwiIiwidHlwZSIsIm51bWJlciIsInBsYWNlaG9sZGVyIiwiUmVsb2FkIFBlcmlvZCIsMSwicmVsb2FkLXBlcmlvZCIsMywiZm9ybUNvbnRyb2wiXSxbNCwibmdJZiJdLFsibWF0SW5wdXQiLCIiLCJ0eXBlIiwibnVtYmVyIiwicGxhY2Vob2xkZXIiLCJQYWdpbmF0aW9uIExpbWl0IiwxLCJwYWdlLXNpemUiLDMsImZvcm1Db250cm9sIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJoMyIpLFB1KDEsIlNldHRpbmdzIiksTWYoKSxDZigyLCJkaXYiKSxDZigzLCJkaXYiLDApLENmKDQsIm1hdC1jaGVja2JveCIsMSksUmYoImNoYW5nZSIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblJlbG9hZFRvZ2dsZSgpfSkpLFB1KDUsIlJlbG9hZCBkYXRhIiksTWYoKSxNZigpLENmKDYsImRpdiIpLENmKDcsIm1hdC1mb3JtLWZpZWxkIiksdmYoOCwiaW5wdXQiLDIpLE1mKCksSG0oOSxOWiwyLDEsIm1hdC1lcnJvciIsMyksTWYoKSxNZigpLENmKDEwLCJkaXYiKSxDZigxMSwibWF0LWZvcm0tZmllbGQiKSx2ZigxMiwiaW5wdXQiLDQpLE1mKCksSG0oMTMselosMiwwLCJtYXQtZXJyb3IiLDMpLE1mKCkpLDImZSYmKERjKDQpLGJmKCJjaGVja2VkIixuLnJlbG9hZEVuYWJsZWQpLERjKDQpLGJmKCJmb3JtQ29udHJvbCIsbi5yZWxvYWRQZXJpb2RDb250cm9sKSxEYygxKSxiZigibmdJZiIsbi5yZWxvYWRQZXJpb2RDb250cm9sLmhhc0Vycm9yKCJtaW4iKXx8bi5yZWxvYWRQZXJpb2RDb250cm9sLmhhc0Vycm9yKCJyZXF1aXJlZCIpKSxEYygzKSxiZigiZm9ybUNvbnRyb2wiLG4ucGFnaW5hdGlvbkNvbnRyb2wpLERjKDEpLGJmKCJuZ0lmIixuLnBhZ2luYXRpb25Db250cm9sLmludmFsaWQpKX0sZGlyZWN0aXZlczpbYlosX1UsQVosYUcsU1UsbVcsdUcsUHYsblVdLHN0eWxlczpbIltfbmdob3N0LSVDT01QJV0ge1xuICBmb250LXNpemU6IDE1cHg7XG59XG5cbltfbmdob3N0LSVDT01QJV0gICAgPiBkaXZbX25nY29udGVudC0lQ09NUCVdIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbltfbmdob3N0LSVDT01QJV0gICAgPiBbX25nY29udGVudC0lQ09NUCVdOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuW19uZ2hvc3QtJUNPTVAlXSAgICA+IFtfbmdjb250ZW50LSVDT01QJV06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmgzW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnJlbG9hZC10b2dnbGVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn0iXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSVosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic2V0dGluZ3MtZGlhbG9nLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6InNldHRpbmdzX2RpYWxvZ19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9zZXR0aW5nc19kaWFsb2dfY29tcG9uZW50LmNzcyJdfV19XSxudWxsLHtyZWxvYWRFbmFibGVkOlt7dHlwZTpSX31dLHJlbG9hZFBlcmlvZEluTXM6W3t0eXBlOlJffV0scGFnZVNpemU6W3t0eXBlOlJffV0scmVsb2FkVG9nZ2xlZDpbe3R5cGU6RV99XSxyZWxvYWRQZXJpb2RJbk1zQ2hhbmdlZDpbe3R5cGU6RV99XSxwYWdlU2l6ZUNoYW5nZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBIWntjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5yZWxvYWRFbmFibGVkJD10aGlzLnN0b3JlLnNlbGVjdCh1SSksdGhpcy5yZWxvYWRQZXJpb2RJbk1zJD10aGlzLnN0b3JlLnNlbGVjdChnSSksdGhpcy5wYWdlU2l6ZSQ9dGhpcy5zdG9yZS5zZWxlY3QoaEkpfW9uUmVsb2FkVG9nZ2xlZCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goc0koKSl9b25SZWxvYWRQZXJpb2RJbk1zQ2hhbmdlZCh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKGxJKHtwZXJpb2RJbk1zOnR9KSl9b25QYWdlU2l6ZUNoYW5nZWQodCl7dGhpcy5zdG9yZS5kaXNwYXRjaChjSSh7c2l6ZTp0fSkpfX1IWi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SFopKGdmKGlTKSl9LEhaLsm1Y21wPXNvKHt0eXBlOkhaLHNlbGVjdG9yczpbWyJzZXR0aW5ncy1kaWFsb2ciXV0sZGVjbHM6NCx2YXJzOjksY29uc3RzOltbMywicmVsb2FkRW5hYmxlZCIsInJlbG9hZFBlcmlvZEluTXMiLCJwYWdlU2l6ZSIsInJlbG9hZFRvZ2dsZWQiLCJyZWxvYWRQZXJpb2RJbk1zQ2hhbmdlZCIsInBhZ2VTaXplQ2hhbmdlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwic2V0dGluZ3MtZGlhbG9nLWNvbXBvbmVudCIsMCksUmYoInJlbG9hZFRvZ2dsZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25SZWxvYWRUb2dnbGVkKCl9KSkoInJlbG9hZFBlcmlvZEluTXNDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblJlbG9hZFBlcmlvZEluTXNDaGFuZ2VkKGUpfSkpKCJwYWdlU2l6ZUNoYW5nZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUGFnZVNpemVDaGFuZ2VkKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoInJlbG9hZEVuYWJsZWQiLEN5KDEsMyxuLnJlbG9hZEVuYWJsZWQkKSkoInJlbG9hZFBlcmlvZEluTXMiLEN5KDIsNSxuLnJlbG9hZFBlcmlvZEluTXMkKSkoInBhZ2VTaXplIixDeSgzLDcsbi5wYWdlU2l6ZSQpKX0sZGlyZWN0aXZlczpbSVpdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihIWixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJzZXR0aW5ncy1kaWFsb2ciLHRlbXBsYXRlOidcbiAgICA8c2V0dGluZ3MtZGlhbG9nLWNvbXBvbmVudFxuICAgICAgW3JlbG9hZEVuYWJsZWRdPSJyZWxvYWRFbmFibGVkJCB8IGFzeW5jIlxuICAgICAgW3JlbG9hZFBlcmlvZEluTXNdPSJyZWxvYWRQZXJpb2RJbk1zJCB8IGFzeW5jIlxuICAgICAgW3BhZ2VTaXplXT0icGFnZVNpemUkIHwgYXN5bmMiXG4gICAgICAocmVsb2FkVG9nZ2xlZCk9Im9uUmVsb2FkVG9nZ2xlZCgpIlxuICAgICAgKHJlbG9hZFBlcmlvZEluTXNDaGFuZ2VkKT0ib25SZWxvYWRQZXJpb2RJbk1zQ2hhbmdlZCgkZXZlbnQpIlxuICAgICAgKHBhZ2VTaXplQ2hhbmdlZCk9Im9uUGFnZVNpemVDaGFuZ2VkKCRldmVudCkiXG4gICAgPjwvc2V0dGluZ3MtZGlhbG9nLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjbGFzcyBGWntjb25zdHJ1Y3Rvcih0KXt0aGlzLmRpYWxvZz10fWlzQnV0dG9uRGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5zZXR0aW5nc0xvYWRTdGF0ZT09PVVFLk5PVF9MT0FERUR8fHRoaXMuc2V0dGluZ3NMb2FkU3RhdGU9PT1VRS5MT0FESU5HfW9wZW5EaWFsb2coKXt0aGlzLmRpYWxvZy5vcGVuKEhaLHt3aWR0aDoiNDAwcHgifSl9fUZaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxGWikoZ2YoWFkpKX0sRlouybVjbXA9c28oe3R5cGU6Rlosc2VsZWN0b3JzOltbInNldHRpbmdzLWJ1dHRvbi1jb21wb25lbnQiXV0saW5wdXRzOntzZXR0aW5nc0xvYWRTdGF0ZToic2V0dGluZ3NMb2FkU3RhdGUifSxkZWNsczoyLHZhcnM6MSxjb25zdHM6W1sibWF0LWljb24tYnV0dG9uIiwiIiwzLCJkaXNhYmxlZCIsImNsaWNrIl0sWyJzdmdJY29uIiwic2V0dGluZ3NfMjRweCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiYnV0dG9uIiwwKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub3BlbkRpYWxvZygpfSkpLHZmKDEsIm1hdC1pY29uIiwxKSxNZigpKSwyJmUmJmJmKCJkaXNhYmxlZCIsbi5pc0J1dHRvbkRpc2FibGVkKCkpfSxkaXJlY3RpdmVzOltOTCxNcV0sZW5jYXBzdWxhdGlvbjoyfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihGWixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJzZXR0aW5ncy1idXR0b24tY29tcG9uZW50Iix0ZW1wbGF0ZTonXG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBbZGlzYWJsZWRdPSJpc0J1dHRvbkRpc2FibGVkKCkiXG4gICAgICAoY2xpY2spPSJvcGVuRGlhbG9nKCkiXG4gICAgPlxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249InNldHRpbmdzXzI0cHgiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICd9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpYWX1dfSkse3NldHRpbmdzTG9hZFN0YXRlOlt7dHlwZTpSX31dfSk7Y2xhc3MgTFp7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuc2V0dGluZ3NMb2FkU3RhdGUkPXRoaXMuc3RvcmUuc2VsZWN0KGZJKX19TFouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fExaKShnZihpUykpfSxMWi7JtWNtcD1zbyh7dHlwZTpMWixzZWxlY3RvcnM6W1sic2V0dGluZ3MtYnV0dG9uIl1dLGRlY2xzOjIsdmFyczozLGNvbnN0czpbWzMsInNldHRpbmdzTG9hZFN0YXRlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJzZXR0aW5ncy1idXR0b24tY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpKSwyJmUmJmJmKCJzZXR0aW5nc0xvYWRTdGF0ZSIsQ3koMSwxLG4uc2V0dGluZ3NMb2FkU3RhdGUkKSl9LGRpcmVjdGl2ZXM6W0ZaXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTFosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic2V0dGluZ3MtYnV0dG9uIix0ZW1wbGF0ZTonXG4gICAgPHNldHRpbmdzLWJ1dHRvbi1jb21wb25lbnRcbiAgICAgIFtzZXR0aW5nc0xvYWRTdGF0ZV09InNldHRpbmdzTG9hZFN0YXRlJCB8IGFzeW5jIlxuICAgID48L3NldHRpbmdzLWJ1dHRvbi1jb21wb25lbnQ+XG4gICd9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgQlp7fUJaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxCWil9LEJaLsm1Y21wPXNvKHt0eXBlOkJaLHNlbGVjdG9yczpbWyJhcHAtaGVhZGVyIl1dLGRlY2xzOjEwLHZhcnM6MCxjb25zdHM6W1sxLCJicmFuZCJdLFsxLCJwbHVnaW5zIl0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJocmVmIiwiaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIiwicmVsIiwibm9vcGVuZXIgbm9yZWZlcnJlciIsInRhcmdldCIsIl9ibGFuayIsImFyaWEtbGFiZWwiLCJIZWxwIiwxLCJyZWFkbWUiXSxbInN2Z0ljb24iLCJoZWxwX291dGxpbmVfMjRweCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWF0LXRvb2xiYXIiKSxDZigxLCJzcGFuIiwwKSxQdSgyLCJUZW5zb3JCb2FyZCIpLE1mKCksdmYoMywicGx1Z2luLXNlbGVjdG9yIiwxKSx2Zig0LCJ0YmRldi11cGxvYWQtYnV0dG9uIiksdmYoNSwiYXBwLWhlYWRlci1kYXJrLW1vZGUtdG9nZ2xlIiksdmYoNiwiYXBwLWhlYWRlci1yZWxvYWQiKSx2Zig3LCJzZXR0aW5ncy1idXR0b24iKSxDZig4LCJhIiwyKSx2Zig5LCJtYXQtaWNvbiIsMyksTWYoKSxNZigpKX0sZGlyZWN0aXZlczpbalYsVFksU3EsZVosb1osTFosekwsTXFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfW1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjY0cHg7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjEwMCV9dGJkZXYtdXBsb2FkLWJ1dHRvbi5zaG93bltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgOHB4IDAgMTZweH0uYnJhbmRbX25nY29udGVudC0lQ09NUCVdLCAucmVhZG1lW19uZ2NvbnRlbnQtJUNPTVAlXSwgYXBwLWhlYWRlci1yZWxvYWRbX25nY29udGVudC0lQ09NUCVdLCBzZXR0aW5ncy1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZsZXg6MCAwIGF1dG99LmJyYW5kW19uZ2NvbnRlbnQtJUNPTVAlXXtsZXR0ZXItc3BhY2luZzotMC4wMjVlbTttYXJnaW4tbGVmdDoxMHB4O3RleHQtcmVuZGVyaW5nOm9wdGltaXplTGVnaWJpbGl0eX0ucGx1Z2luc1tfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4OjEgMSBhdXRvO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbn0nXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQlosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiYXBwLWhlYWRlciIsdGVtcGxhdGU6J1xuICAgIDxtYXQtdG9vbGJhcj5cbiAgICAgIDxzcGFuIGNsYXNzPSJicmFuZCI+VGVuc29yQm9hcmQ8L3NwYW4+XG4gICAgICA8cGx1Z2luLXNlbGVjdG9yIGNsYXNzPSJwbHVnaW5zIj48L3BsdWdpbi1zZWxlY3Rvcj5cbiAgICAgIDx0YmRldi11cGxvYWQtYnV0dG9uPjwvdGJkZXYtdXBsb2FkLWJ1dHRvbj5cbiAgICAgIDxhcHAtaGVhZGVyLWRhcmstbW9kZS10b2dnbGU+PC9hcHAtaGVhZGVyLWRhcmstbW9kZS10b2dnbGU+XG4gICAgICA8YXBwLWhlYWRlci1yZWxvYWQ+PC9hcHAtaGVhZGVyLXJlbG9hZD5cbiAgICAgIDxzZXR0aW5ncy1idXR0b24+PC9zZXR0aW5ncy1idXR0b24+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz0icmVhZG1lIlxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kIlxuICAgICAgICByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiXG4gICAgICAgIHRhcmdldD0iX2JsYW5rIlxuICAgICAgICBhcmlhLWxhYmVsPSJIZWxwIlxuICAgICAgPlxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj0iaGVscF9vdXRsaW5lXzI0cHgiPjwvbWF0LWljb24+XG4gICAgICA8L2E+XG4gICAgPC9tYXQtdG9vbGJhcj5cbiAgJyxzdHlsZVVybHM6WyJoZWFkZXJfY29tcG9uZW50LmNzcyJdfV19XSxudWxsLG51bGwpO2NvbnN0IFZaPVsicm91dGVDb250YWluZXIiXTtjbGFzcyBqWntjb25zdHJ1Y3Rvcih0KXt0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj10fW5nT25DaGFuZ2VzKHQpe2NvbnN0IGU9dC5hY3RpdmVOZ0NvbXBvbmVudDtpZihlJiYodGhpcy5yb3V0ZUNvbnRhaW5lci5jbGVhcigpLGUuY3VycmVudFZhbHVlKSl7Y29uc3QgdD10aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShlLmN1cnJlbnRWYWx1ZSk7dGhpcy5yb3V0ZUNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQodCl9fX1qWi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8alopKGdmKEdoKSl9LGpaLsm1Y21wPXNvKHt0eXBlOmpaLHNlbGVjdG9yczpbWyJyb3V0ZXItb3V0bGV0LWNvbXBvbmVudCJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkoVlosNyxGYiksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5yb3V0ZUNvbnRhaW5lcj10LmZpcnN0KX19LGlucHV0czp7YWN0aXZlTmdDb21wb25lbnQ6ImFjdGl2ZU5nQ29tcG9uZW50In0sZmVhdHVyZXM6W3FvXSxkZWNsczoyLHZhcnM6MCxjb25zdHM6W1sicm91dGVDb250YWluZXIiLCIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmUGYoMCxudWxsLDApfSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGpaLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InJvdXRlci1vdXRsZXQtY29tcG9uZW50Iix0ZW1wbGF0ZToiIDxuZy1jb250YWluZXIgI3JvdXRlQ29udGFpbmVyPjwvbmctY29udGFpbmVyPiAiLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpHaH1dfSkse3JvdXRlQ29udGFpbmVyOlt7dHlwZTphcixhcmdzOlsicm91dGVDb250YWluZXIiLHtzdGF0aWM6ITAscmVhZDpGYn1dfV0sYWN0aXZlTmdDb21wb25lbnQ6W3t0eXBlOlJffV19KTtjbGFzcyBVWntjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuc3RvcmU9dCx0aGlzLnJlZ2lzdHJ5PWUsdGhpcy5hY3RpdmVOZ0NvbXBvbmVudCQ9S3QoW3RoaXMuc3RvcmUuc2VsZWN0KGhSKSx0aGlzLnN0b3JlLnNlbGVjdChiUildKS5waXBlKFZ0KCgoW3QsZV0pPT57aWYoIXQpcmV0dXJuIG51bGw7cmV0dXJuIG51bGwhPT1lJiYheEQodCxlKT9udWxsOnRoaXMucmVnaXN0cnkuZ2V0TmdDb21wb25lbnRCeVJvdXRlS2luZCh0LnJvdXRlS2luZCl9KSkpfX12YXIgV1o7VVouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFVaKShnZihpUyksZ2YoZlIpKX0sVVouybVjbXA9c28oe3R5cGU6VVosc2VsZWN0b3JzOltbInJvdXRlci1vdXRsZXQiXV0sZGVjbHM6Mix2YXJzOjMsY29uc3RzOltbMywiYWN0aXZlTmdDb21wb25lbnQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsInJvdXRlci1vdXRsZXQtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpKSwyJmUmJmJmKCJhY3RpdmVOZ0NvbXBvbmVudCIsQ3koMSwxLG4uYWN0aXZlTmdDb21wb25lbnQkKSl9LGRpcmVjdGl2ZXM6W2paXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVVosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoicm91dGVyLW91dGxldCIsdGVtcGxhdGU6J1xuICAgIDxyb3V0ZXItb3V0bGV0LWNvbXBvbmVudFxuICAgICAgW2FjdGl2ZU5nQ29tcG9uZW50XT0iYWN0aXZlTmdDb21wb25lbnQkIHwgYXN5bmMiXG4gICAgPjwvcm91dGVyLW91dGxldC1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfSx7dHlwZTpmUn1dfSksbnVsbCksKGZ1bmN0aW9uKHQpe3RbdC5BQ1RJVkVfUExVR0lOPTBdPSJBQ1RJVkVfUExVR0lOIn0pKFdafHwoV1o9e30pKTtjbGFzcyBHWntjb25zdHJ1Y3Rvcih0KXt0aGlzLmRlZXBMaW5rZXI9dCx0aGlzLm9uVmFsdWVDaGFuZ2U9bmV3IFN5LHRoaXMubmdVbnN1YnNjcmliZT1uZXcgQix0aGlzLm9uSGFzaENoYW5nZT1sZSh3aW5kb3csInBvcHN0YXRlIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSl9bmdPbkluaXQoKXt0aGlzLm9uSGFzaENoYW5nZS5zdWJzY3JpYmUoKCgpPT57Y29uc3QgdD10aGlzLmRlZXBMaW5rZXIuZ2V0UGx1Z2luSWQoKTt0IT09dGhpcy5hY3RpdmVQbHVnaW5JZCYmdGhpcy5vblZhbHVlQ2hhbmdlLmVtaXQoe3Byb3A6V1ouQUNUSVZFX1BMVUdJTix2YWx1ZTp0fSl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpLHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpfW5nT25DaGFuZ2VzKHQpe2lmKHQuYWN0aXZlUGx1Z2luSWQpe2NvbnN0IGU9dC5hY3RpdmVQbHVnaW5JZDt0aGlzLmRlZXBMaW5rZXIuc2V0UGx1Z2luSWQobnVsbD09PWUuY3VycmVudFZhbHVlPyIiOmUuY3VycmVudFZhbHVlLHtkZWZhdWx0VmFsdWU6IiIsdXNlTG9jYXRpb25SZXBsYWNlOm51bGw9PT1lLnByZXZpb3VzVmFsdWV8fGUuZmlyc3RDaGFuZ2V9KX19fUdaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxHWikoZ2YoVFIpKX0sR1ouybVjbXA9c28oe3R5cGU6R1osc2VsZWN0b3JzOltbImhhc2gtc3RvcmFnZS1jb21wb25lbnQiXV0saW5wdXRzOnthY3RpdmVQbHVnaW5JZDoiYWN0aXZlUGx1Z2luSWQifSxvdXRwdXRzOntvblZhbHVlQ2hhbmdlOiJvblZhbHVlQ2hhbmdlIn0sZmVhdHVyZXM6W3FvXSxkZWNsczowLHZhcnM6MCx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7fSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEdaLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Imhhc2gtc3RvcmFnZS1jb21wb25lbnQiLHRlbXBsYXRlOiIiLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpUUn1dfSkse2FjdGl2ZVBsdWdpbklkOlt7dHlwZTpSX31dLG9uVmFsdWVDaGFuZ2U6W3t0eXBlOkVffV19KTtjbGFzcyBZWntjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5hY3RpdmVQbHVnaW5JZCQ9dGhpcy5zdG9yZS5waXBlKHJTKGVUKSl9b25WYWx1ZUNoYW5nZWQodCl7c3dpdGNoKHQucHJvcCl7Y2FzZSBXWi5BQ1RJVkVfUExVR0lOOnRoaXMuc3RvcmUuZGlzcGF0Y2goWEUoe3BsdWdpbjp0LnZhbHVlfSkpfX19WVouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFlaKShnZihpUykpfSxZWi7JtWNtcD1zbyh7dHlwZTpZWixzZWxlY3RvcnM6W1siaGFzaC1zdG9yYWdlIl1dLGRlY2xzOjIsdmFyczozLGNvbnN0czpbWzMsImFjdGl2ZVBsdWdpbklkIiwib25WYWx1ZUNoYW5nZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiaGFzaC1zdG9yYWdlLWNvbXBvbmVudCIsMCksUmYoIm9uVmFsdWVDaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uVmFsdWVDaGFuZ2VkKGUpfSkpLF95KDEsImFzeW5jIiksTWYoKSksMiZlJiZiZigiYWN0aXZlUGx1Z2luSWQiLEN5KDEsMSxuLmFjdGl2ZVBsdWdpbklkJCkpfSxkaXJlY3RpdmVzOltHWl0scGlwZXM6W1Z2XSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWVosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiaGFzaC1zdG9yYWdlIix0ZW1wbGF0ZTonXG4gICAgPGhhc2gtc3RvcmFnZS1jb21wb25lbnRcbiAgICAgIFthY3RpdmVQbHVnaW5JZF09ImFjdGl2ZVBsdWdpbklkJCB8IGFzeW5jIlxuICAgICAgKG9uVmFsdWVDaGFuZ2UpPSJvblZhbHVlQ2hhbmdlZCgkZXZlbnQpIlxuICAgID5cbiAgICA8L2hhc2gtc3RvcmFnZS1jb21wb25lbnQ+XG4gICcsc3R5bGVzOlsiXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBxWj17c2V0RG9jdW1lbnRUaXRsZTpmdW5jdGlvbiBaWih0KXtkb2N1bWVudC50aXRsZT10fX07Y2xhc3MgWFp7bmdPbkNoYW5nZXModCl7dC50aXRsZSYmcVouc2V0RG9jdW1lbnRUaXRsZSh0LnRpdGxlLmN1cnJlbnRWYWx1ZSl9fVhaLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxYWil9LFhaLsm1Y21wPXNvKHt0eXBlOlhaLHNlbGVjdG9yczpbWyJwYWdlLXRpdGxlLWNvbXBvbmVudCJdXSxpbnB1dHM6e3RpdGxlOiJ0aXRsZSJ9LGZlYXR1cmVzOltxb10sZGVjbHM6MCx2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe30sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYWixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJwYWdlLXRpdGxlLWNvbXBvbmVudCIsdGVtcGxhdGU6IiIsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7dGl0bGU6W3t0eXBlOlJffV19KTtjb25zdCBLWj0iVGVuc29yQm9hcmQiO2NsYXNzIEpae2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5zdG9yZT10LHRoaXMuY3VzdG9tQnJhbmROYW1lPWUsdGhpcy5nZXRFeHBlcmltZW50SWQkPXRoaXMuc3RvcmUuc2VsZWN0KHhSKS5waXBlKFZ0KCh0PT5udWxsPT10P3ZvaWQgMDp0WzBdKSkpLHRoaXMuZXhwZXJpbWVudE5hbWUkPXRoaXMuZ2V0RXhwZXJpbWVudElkJC5waXBlKHVlKEJvb2xlYW4pLCR0KCh0PT50aGlzLnN0b3JlLnNlbGVjdChxVCx7ZXhwZXJpbWVudElkOnR9KSkpLFZ0KCh0PT50P3QubmFtZTpudWxsKSkpLHRoaXMudGl0bGUkPXRoaXMuc3RvcmUuc2VsZWN0KG9UKS5waXBlKF9lKHRoaXMuc3RvcmUuc2VsZWN0KE1SKSx0aGlzLmV4cGVyaW1lbnROYW1lJCksVnQoKChbdCxlLG5dKT0+e2NvbnN0IG89dGhpcy5jdXN0b21CcmFuZE5hbWV8fEtaO3JldHVybiB0LndpbmRvd190aXRsZT90LndpbmRvd190aXRsZTplPT09X0QuRVhQRVJJTUVOVCYmbj9gJHtufSAtICR7b31gOm99KSksQmUodGhpcy5jdXN0b21CcmFuZE5hbWV8fEtaKSx3ZSgpKX19SlouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEpaKShnZihpUyksZ2YoQkUsOCkpfSxKWi7JtWNtcD1zbyh7dHlwZTpKWixzZWxlY3RvcnM6W1sicGFnZS10aXRsZSJdXSxkZWNsczoyLHZhcnM6Myxjb25zdHM6W1szLCJ0aXRsZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwicGFnZS10aXRsZS1jb21wb25lbnQiLDApLF95KDEsImFzeW5jIikpLDImZSYmYmYoInRpdGxlIixDeSgxLDEsbi50aXRsZSQpKX0sZGlyZWN0aXZlczpbWFpdLHBpcGVzOltWdl0sc3R5bGVzOlsiW19uZ2hvc3QtJUNPTVAlXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9Il0sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEpaLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InBhZ2UtdGl0bGUiLHRlbXBsYXRlOidcbiAgICA8cGFnZS10aXRsZS1jb21wb25lbnQgW3RpdGxlXT0idGl0bGUkIHwgYXN5bmMiPjwvcGFnZS10aXRsZS1jb21wb25lbnQ+XG4gICcsc3R5bGVzOlsiXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W0JFXX1dfV19KSxudWxsKTtjbGFzcyBRWntjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5uZ1Vuc3Vic2NyaWJlPW5ldyBCLHRoaXMuZ2V0UGFnZVNpemUkPXRoaXMuc3RvcmUucGlwZShyUyhoSSkpLHRoaXMucGFnaW5hdGVkVmlld1N0b3JlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRmLXBhZ2luYXRlZC12aWV3LXN0b3JlIikudGZfcGFnaW5hdGVkX3ZpZXd9bmdPbkluaXQoKXt0aGlzLmdldFBhZ2VTaXplJC5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSksd2UoKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5wYWdpbmF0ZWRWaWV3U3RvcmUuc2V0TGltaXQodCl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpLHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpfX1RWi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UVopKGdmKGlTKSl9LFFaLsm1Y21wPXNvKHt0eXBlOlFaLHNlbGVjdG9yczpbWyJzZXR0aW5ncy1wb2x5bWVyLWludGVyb3AiXV0sZGVjbHM6MCx2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe30sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihRWixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJzZXR0aW5ncy1wb2x5bWVyLWludGVyb3AiLHRlbXBsYXRlOiIiLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgJFp7Y29uc3RydWN0b3IodCl7dC5zZWxlY3QoRkQpLnN1YnNjcmliZSgodD0+e2RvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnRvZ2dsZSgiZGFyay1tb2RlIix0KX0pKX19JFouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fCRaKShnZihpUykpfSwkWi7JtWNtcD1zbyh7dHlwZTokWixzZWxlY3RvcnM6W1siZGFyay1tb2RlLXN1cHBvcnRlciJdXSxkZWNsczowLHZhcnM6MCx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7fSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJFosW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiZGFyay1tb2RlLXN1cHBvcnRlciIsdGVtcGxhdGU6IiIsc3R5bGVzOlsiXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjbGFzcyB0WHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnZjUmVmPXR9fXRYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0WCkoZ2YoRmIpKX0sdFguybVjbXA9c28oe3R5cGU6dFgsc2VsZWN0b3JzOltbInRiLXdlYmFwcCJdXSxkZWNsczo4LHZhcnM6MCx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwiYXBwLWhlYWRlciIpLENmKDEsIm1haW4iKSx2ZigyLCJyb3V0ZXItb3V0bGV0IiksTWYoKSx2ZigzLCJhbGVydC1zbmFja2JhciIpLHZmKDQsImhhc2gtc3RvcmFnZSIpLHZmKDUsInBhZ2UtdGl0bGUiKSx2Zig2LCJzZXR0aW5ncy1wb2x5bWVyLWludGVyb3AiKSx2Zig3LCJkYXJrLW1vZGUtc3VwcG9ydGVyIikpfSxkaXJlY3RpdmVzOltCWixVWixJVixZWixKWixRWiwkWl0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9aHRtbFtfbmdjb250ZW50LSVDT01QJV0sIGJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90byxzYW5zLXNlcmlmO2hlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MH1bX25naG9zdC0lQ09NUCVde2JhY2tncm91bmQ6I2Y1ZjVmNTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlfWFwcC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2JveC1zaGFkb3c6MCAxcHggM3B4IDNweCByZ2JhKDAsMCwwLC4yNSk7ZmxleDowIDA7ei1pbmRleDoxfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIGFwcC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICBhcHAtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3gtc2hhZG93OjAgMXB4IDNweCAzcHggcmdiYSgyNTUsMjU1LDI1NSwuMSl9bWFpbltfbmdjb250ZW50LSVDT01QJV17ZmxleC1ncm93OjE7b3ZlcmZsb3c6YXV0b30nXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodFgsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGItd2ViYXBwIix0ZW1wbGF0ZVVybDoiLi9hcHBfY29udGFpbmVyLm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vYXBwX2NvbnRhaW5lci5jc3MiXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkZifV19KSxudWxsKTtjbGFzcyBlWHtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5zdG9yZT10LHRoaXMubG9jYXRpb249ZSx0aGlzLmFwcFJvb3RQcm92aWRlcj1uLHRoaXMucGF0aG5hbWU9bnVsbCx0aGlzLnJlc2V0TmFtZXNwYWNlZFN0YXRlPSExfWhhbmRsZUNsaWNrKHQpeyF0aGlzLnBhdGhuYW1lfHx0LmN0cmxLZXl8fHQubWV0YUtleXx8KHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuc3RvcmUuZGlzcGF0Y2goUUQoe3BhdGhuYW1lOnRoaXMucGF0aG5hbWUscmVzZXROYW1lc3BhY2VkU3RhdGU6dGhpcy5yZXNldE5hbWVzcGFjZWRTdGF0ZX0pKSl9Z2V0IGhyZWYoKXtyZXR1cm4gdGhpcy5wYXRobmFtZT90aGlzLmFwcFJvb3RQcm92aWRlci5nZXRBYnNQYXRobmFtZVdpdGhBcHBSb290KHRoaXMubG9jYXRpb24uZ2V0UmVzb2x2ZWRQYXRoKHRoaXMucGF0aG5hbWUpKTpudWxsfXNldCByb3V0ZXJMaW5rKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9W3RdKSwwPT09dC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInJvdXRlTGluayBzaG91bGQgaGF2ZSBwcm9wZXIgcGF0aC4gR290IG5vdGhpbmcuIik7Y29uc3QgZT1bLi4udF0uam9pbigiLyIpO3RoaXMucGF0aG5hbWU9ZS5lbmRzV2l0aCgiLyIpP2U6ZSsiLyJ9fWVYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxlWCkoZ2YoaVMpLGdmKFBEKSxnZih3RCkpfSxlWC7JtWRpcj1obyh7dHlwZTplWCxzZWxlY3RvcnM6W1siYSIsInJvdXRlckxpbmsiLCIiXV0saG9zdFZhcnM6MSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5oYW5kbGVDbGljayhlKX0pKSwyJmUmJnltKCJocmVmIixuLmhyZWYsWHMpfSxpbnB1dHM6e3JvdXRlckxpbms6InJvdXRlckxpbmsiLHJlc2V0TmFtZXNwYWNlZFN0YXRlOiJyZXNldE5hbWVzcGFjZWRTdGF0ZSJ9fSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihlWCxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJhW3JvdXRlckxpbmtdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfSx7dHlwZTpQRH0se3R5cGU6d0R9XX0pLHtoYW5kbGVDbGljazpbe3R5cGU6VF8sYXJnczpbImNsaWNrIixbIiRldmVudCJdXX1dLGhyZWY6W3t0eXBlOkFfLGFyZ3M6WyJhdHRyLmhyZWYiXX1dLHJvdXRlckxpbms6W3t0eXBlOlJffV0scmVzZXROYW1lc3BhY2VkU3RhdGU6W3t0eXBlOlJffV19KTtjbGFzcyBuWHt9blguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG5YKX0sblguybVtb2Q9Zm8oe3R5cGU6blh9KSxuWC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LERELFNELGZSXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG5YLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbcngsREQsU0QsZlJdLGV4cG9ydHM6W1VaLGVYXSxkZWNsYXJhdGlvbnM6W1VaLGpaLGVYXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKG5YLHtkZWNsYXJhdGlvbnM6W1VaLGpaLGVYXSxpbXBvcnRzOltyeCxERCxTRCxmUl0sZXhwb3J0czpbVVosZVhdfSk7Y2xhc3Mgb1h7fW9YLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxvWCl9LG9YLsm1bW9kPWZvKHt0eXBlOm9YfSksb1guybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIob1gsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6WyRaXSxleHBvcnRzOlskWl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhvWCx7ZGVjbGFyYXRpb25zOlskWl0sZXhwb3J0czpbJFpdfSk7Y2xhc3MgaVh7fWlYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxpWCl9LGlYLsm1bW9kPWZvKHt0eXBlOmlYfSksaVguybVpbmo9RG4oe3Byb3ZpZGVyczpbe3Byb3ZpZGU6VFIsdXNlQ2xhc3M6QVJ9XX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaVgsW3t0eXBlOkxfLGFyZ3M6W3twcm92aWRlcnM6W3twcm92aWRlOlRSLHVzZUNsYXNzOkFSfV19XX1dLG51bGwsbnVsbCk7Y2xhc3MgYVh7fWFYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxhWCl9LGFYLsm1bW9kPWZvKHt0eXBlOmFYfSksYVguybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxpWF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihhWCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbWVosR1pdLGV4cG9ydHM6W1laXSxpbXBvcnRzOltyeCxpWF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhhWCx7ZGVjbGFyYXRpb25zOltZWixHWl0saW1wb3J0czpbcngsaVhdLGV4cG9ydHM6W1laXX0pO2NsYXNzIHJYe31yWC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8clgpfSxyWC7JtW1vZD1mbyh7dHlwZTpyWH0pLHJYLsm1aW5qPURuKHtpbXBvcnRzOltbcnhdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoclgsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W0paLFhaXSxleHBvcnRzOltKWl0saW1wb3J0czpbcnhdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oclgse2RlY2xhcmF0aW9uczpbSlosWFpdLGltcG9ydHM6W3J4XSxleHBvcnRzOltKWl19KTtjb25zdCBzWD17aWQ6Q0QsbmFtZToiIixzdGFydF90aW1lOjB9LGxYPVZTKHtleHBlcmltZW50TWFwOntbc1guaWRdOnNYfX0pO2Z1bmN0aW9uIGNYKHQsZSl7cmV0dXJuIEdrKHtkYXRhOmxYfSkodCxlKX1jbGFzcyBkWHt9ZFguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGRYKX0sZFguybVtb2Q9Zm8oe3R5cGU6ZFh9KSxkWC7JtWluaj1Ebih7aW1wb3J0czpbW1RTLmZvckZlYXR1cmUoR1QsY1gpXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRYLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbVFMuZm9yRmVhdHVyZShHVCxjWCldfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oZFgse2ltcG9ydHM6W0FTXX0pO2NsYXNzIHBYe31mdW5jdGlvbiBtWCgpe3JldHVybiBiUyh1SSwodD0+KHthdXRvUmVsb2FkOnR9KSkpfWZ1bmN0aW9uIGZYKCl7cmV0dXJuIGJTKGdJLCh0PT4oe2F1dG9SZWxvYWRQZXJpb2RJbk1zOnR9KSkpfWZ1bmN0aW9uIHVYKCl7cmV0dXJuIGJTKGhJLCh0PT4oe3BhZ2VTaXplOnR9KSkpfXBYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxwWCl9LHBYLsm1bW9kPWZvKHt0eXBlOnBYfSkscFguybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx0WSxlWSxJTCxNWixucSx2cSxUWl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihwWCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbRlosTFosSVosSFosUVpdLGV4cG9ydHM6W0ZaLExaLEhaLFFaXSxlbnRyeUNvbXBvbmVudHM6W0haXSxpbXBvcnRzOltyeCx0WSxlWSxJTCxNWixucSx2cSxUWl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhwWCx7ZGVjbGFyYXRpb25zOltGWixMWixJWixIWixRWl0saW1wb3J0czpbcngsdFksZVksSUwsTVosbnEsdnEsVFpdLGV4cG9ydHM6W0ZaLExaLEhaLFFaXX0pO2NsYXNzIGdYe31nWC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Z1gpfSxnWC7JtW1vZD1mbyh7dHlwZTpnWH0pLGdYLsm1aW5qPURuKHtpbXBvcnRzOltbVFMuZm9yRmVhdHVyZShkSSxzWikselIuZGVmaW5lR2xvYmFsU2V0dGluZyhtWCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyhmWCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyh1WCldLHBYXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZ1gsW3t0eXBlOkxfLGFyZ3M6W3tleHBvcnRzOltwWF0saW1wb3J0czpbVFMuZm9yRmVhdHVyZShkSSxzWikselIuZGVmaW5lR2xvYmFsU2V0dGluZyhtWCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyhmWCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyh1WCldfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oZ1gse2ltcG9ydHM6W0FTLHpSLHpSLHpSXSxleHBvcnRzOltwWF19KTtjbGFzcyBoWHt9aFguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGhYKX0saFguybVtb2Q9Zm8oe3R5cGU6aFh9KSxoWC7JtWluaj1Ebih7cHJvdmlkZXJzOlt7cHJvdmlkZToid2luZG93Iix1c2VWYWx1ZTp3aW5kb3d9XSxpbXBvcnRzOltbc3EscngsSUwsbnEsdnFdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaFgsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W1NxLHhxLFBxXSxleHBvcnRzOltTcV0sZW50cnlDb21wb25lbnRzOltQcV0saW1wb3J0czpbc3EscngsSUwsbnEsdnFdLHByb3ZpZGVyczpbe3Byb3ZpZGU6IndpbmRvdyIsdXNlVmFsdWU6d2luZG93fV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhoWCx7ZGVjbGFyYXRpb25zOltTcSx4cSxQcV0saW1wb3J0czpbc3EscngsSUwsbnEsdnFdLGV4cG9ydHM6W1NxXX0pO2NsYXNzIGJYe31iWC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8YlgpfSxiWC7JtW1vZD1mbyh7dHlwZTpiWH0pLGJYLsm1aW5qPURuKHtwcm92aWRlcnM6W10saW1wb3J0czpbW0lMLHZxLEhqLFVWLFBZLFhxLHJ4LGRULGdYLGhYXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGJYLFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOlt0WixlWixCWixSWSxUWSxvWl0sZXhwb3J0czpbZVosQlosVFksb1pdLHByb3ZpZGVyczpbXSxpbXBvcnRzOltJTCx2cSxIaixVVixQWSxYcSxyeCxkVCxnWCxoWF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhiWCx7ZGVjbGFyYXRpb25zOlt0WixlWixCWixSWSxUWSxvWl0saW1wb3J0czpbSUwsdnEsSGosVVYsUFksWHEscngsZFQsZ1gsaFhdLGV4cG9ydHM6W2VaLEJaLFRZLG9aXX0pO2NsYXNzIHlYe2NvbnN0cnVjdG9yKHQsZSl7Y29uc3Qgbj10LmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCgiLi9pY29uX2J1bmRsZS5zdmciKTtlLmFkZFN2Z0ljb25TZXQobil9fXlYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx5WCkoVHIoZU8pLFRyKG1xKSl9LHlYLsm1bW9kPWZvKHt0eXBlOnlYfSkseVguybVpbmo9RG4oe2ltcG9ydHM6W1t2cV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih5WCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W3ZxXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmVPfSx7dHlwZTptcX1dfSksbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byh5WCx7aW1wb3J0czpbdnFdfSk7Y29uc3QgX1g9bmV3IGVyKCJbcGx1Z2luc10gUGx1Z2luIHJlZ2lzdHJ5IGNvbmZpZyIpLENYPW5ldyBNYXA7Y2xhc3MgTVh7Y29uc3RydWN0b3IodCl7aWYoIXQpcmV0dXJuO2NvbnN0IGU9bmV3IFNldCh0Lm1hcCgodD0+dC5wbHVnaW5OYW1lKSkpO2NvbnNvbGUuYXNzZXJ0KGUuc2l6ZT09PXQubGVuZ3RoLCJDYW5ub3QgcmVnaXN0ZXIgdGhlIHNhbWUgcGx1Z2luIG11bHRpcGxlIHRpbWVzLiIpO2Zvcihjb25zdCBlIG9mIHQpe2NvbnN0e3BsdWdpbk5hbWU6dCxjb21wb25lbnRDbGFzczpufT1lO0NYLnNldCh0LG4pfX1zdGF0aWMgZm9yUGx1Z2luKHQsZSl7cmV0dXJue25nTW9kdWxlOk1YLHByb3ZpZGVyczpbe3Byb3ZpZGU6X1gsbXVsdGk6ITAsdXNlVmFsdWU6e3BsdWdpbk5hbWU6dCxjb21wb25lbnRDbGFzczplfX1dfX1nZXRDb21wb25lbnQodCl7cmV0dXJuIENYLmdldCh0KXx8bnVsbH19TVguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE1YKShUcihfWCw4KSl9LE1YLsm1bW9kPWZvKHt0eXBlOk1YfSksTVguybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTVgsW3t0eXBlOkxfLGFyZ3M6W3t9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W19YXX1dfV19KSxudWxsKTtjbGFzcyB2WHtjb25zdHJ1Y3Rvcih0KXt0aGlzLmh0dHA9dCx0aGlzLmh0dHBQYXRoUHJlZml4PSJkYXRhL3BsdWdpbi9kZWJ1Z2dlci12MiJ9ZmV0Y2hSdW5zKCl7cmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5odHRwUGF0aFByZWZpeCsiL3J1bnMiKX1mZXRjaEV4ZWN1dGlvbkRpZ2VzdHModCxlLG4pe3JldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuaHR0cFBhdGhQcmVmaXgrIi9leGVjdXRpb24vZGlnZXN0cyIse3BhcmFtczp7cnVuOnQsYmVnaW46U3RyaW5nKGUpLGVuZDpTdHJpbmcobil9fSl9ZmV0Y2hFeGVjdXRpb25EYXRhKHQsZSxuKXtyZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmh0dHBQYXRoUHJlZml4KyIvZXhlY3V0aW9uL2RhdGEiLHtwYXJhbXM6e3J1bjp0LGJlZ2luOlN0cmluZyhlKSxlbmQ6U3RyaW5nKG4pfX0pfWZldGNoR3JhcGhFeGVjdXRpb25EaWdlc3RzKHQsZSxuLG8pe2lmKHZvaWQgMCE9PW8pdGhyb3cgbmV3IEVycm9yKCJ0cmFjZV9pZCBpcyBub3QgaW1wbGVtZW50ZWQgZm9yIGZldGNoR3JhcGhFeGVjdXRpb25EaWdlc3RzKCkgeWV0Iik7cmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5odHRwUGF0aFByZWZpeCsiL2dyYXBoX2V4ZWN1dGlvbi9kaWdlc3RzIix7cGFyYW1zOntydW46dCxiZWdpbjpTdHJpbmcoZSksZW5kOlN0cmluZyhuKX19KX1mZXRjaEdyYXBoRXhlY3V0aW9uRGF0YSh0LGUsbixvKXtpZih2b2lkIDAhPT1vKXRocm93IG5ldyBFcnJvcigidHJhY2VfaWQgaXMgbm90IGltcGxlbWVudGVkIGZvciBmZXRjaEdyYXBoRXhlY3V0aW9uRGF0YSgpIHlldCIpO3JldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuaHR0cFBhdGhQcmVmaXgrIi9ncmFwaF9leGVjdXRpb24vZGF0YSIse3BhcmFtczp7cnVuOnQsYmVnaW46U3RyaW5nKGUpLGVuZDpTdHJpbmcobil9fSl9ZmV0Y2hHcmFwaE9wSW5mbyh0LGUsbil7cmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5odHRwUGF0aFByZWZpeCsiL2dyYXBocy9vcF9pbmZvIix7cGFyYW1zOntydW46dCxncmFwaF9pZDplLG9wX25hbWU6bn19KX1mZXRjaFNvdXJjZUZpbGVMaXN0KHQpe3JldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuaHR0cFBhdGhQcmVmaXgrIi9zb3VyY2VfZmlsZXMvbGlzdCIse3BhcmFtczp7cnVuOnR9fSl9ZmV0Y2hTb3VyY2VGaWxlKHQsZSl7cmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5odHRwUGF0aFByZWZpeCsiL3NvdXJjZV9maWxlcy9maWxlIix7cGFyYW1zOntydW46dCxpbmRleDpTdHJpbmcoZSl9fSl9ZmV0Y2hTdGFja0ZyYW1lcyh0LGUpe3JldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuaHR0cFBhdGhQcmVmaXgrIi9zdGFja19mcmFtZXMvc3RhY2tfZnJhbWVzIix7cGFyYW1zOntydW46dCxzdGFja19mcmFtZV9pZHM6ZS5qb2luKCIsIil9fSkucGlwZShWdCgodD0+KHtzdGFja19mcmFtZXM6dC5zdGFja19mcmFtZXMubWFwKCh0PT4oZnVuY3Rpb24gZSh0KXtyZXR1cm57aG9zdF9uYW1lOnRbMF0sZmlsZV9wYXRoOnRbMV0sbGluZW5vOnRbMl0sZnVuY3Rpb25fbmFtZTp0WzNdfX0pKHQpKSl9KSkpKX1mZXRjaEFsZXJ0cyh0LGUsbixvKXtjb25zdCBpPXtydW46dCxiZWdpbjpTdHJpbmcoZSksZW5kOlN0cmluZyhuKX07cmV0dXJuIHZvaWQgMCE9PW8mJihpLmFsZXJ0X3R5cGU9byksdGhpcy5odHRwLmdldCh0aGlzLmh0dHBQYXRoUHJlZml4KyIvYWxlcnRzIix7cGFyYW1zOml9KX19dlguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHZYKShUcihIRSkpfSx2WC7JtXByb3Y9U24oe3Rva2VuOnZYLGZhY3Rvcnk6dlguybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHZYLFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpIRX1dfSksbnVsbCk7Y2xhc3MgeFh7fXhYLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4WCl9LHhYLsm1bW9kPWZvKHt0eXBlOnhYfSkseFguybVpbmo9RG4oe3Byb3ZpZGVyczpbdlhdLGltcG9ydHM6W1tGRV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4WCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W0ZFXSxwcm92aWRlcnM6W3ZYXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHhYLHtpbXBvcnRzOltGRV19KTtjbGFzcyBPWHt9T1guybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE9YKX0sT1guybVjbXA9c28oe3R5cGU6T1gsc2VsZWN0b3JzOltbImluYWN0aXZlLWNvbXBvbmVudCJdXSxkZWNsczo1NCx2YXJzOjAsY29uc3RzOltbMSwiY29udGFpbmVyIl0sWzEsInRpdGxlIl0sWzEsImNvZGUiXSxbMSwiYXJnIl0sWzEsImV4aGliaXRzLWNvbnRhaW5lciJdLFsxLCJleGhpYml0Il0sWzEsInNjcmVlbnNob3QiXSxbInNyYyIsImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBVFlBQUFFMkNBWUFBQURydkw2cEFBQW95SHBVV0hSU1lYY2djSEp2Wm1sc1pTQjBlWEJsSUdWNGFXWUFBSGphclp4cGRoeTVjb1gvWXhWZUF1WmhPUmdDNTNnSFhyNi9pMkpyZW1xcm4rMVdpNlNLeFV3a0VIR0hRSURPL3VzL3Ivc1AvaHV0WlpkTDYzWFU2dmt2anp6aTVJdnVQLytOOXpINC9ENisvMUw5K2lyOC9Mcjc5bzNJNTZSM2ZyN1I1dWR6bUx4ZXZ2L0FYL2NJNitmWFhmLzZUdXhmRi9yNkJoZitqRUIzMXRmbngwSHlldnk4SHZMWGhZWjl2cWlqdHgrSHVyNHV0TC9lK0lieTlUZC9HOWJuay83dGZucWhNVXVuY0tNVW82V1EvUHVZUHlOSW43K1R2KzE5akx3djhOcE1LUVgzK2ZSMU1TYmtwOGY3NjdQM1AwN1FUNVA4MTFmdTE5bi85dFV2a3gvbjErdnBsN21zWDNQazYrKy9FY292cjZkdnQ0ay9oY08zRWNXZnYzRjd6UC95T0Y5Lzd6MzlYdnM4M2N5VkdhMWZFZlVtKzY4WjBoc1hVNTdlajFYK05QNFd2bTd2eitCUDk5TnZsdno0N1JkL2RoZ2hzaXJYaFJ4T21PRUdlNTkzMkF3eFI0dU56ekh1bU41clBiVTQ0azVhcDZ3LzRjYVdSanFwczI0N21tUE5jb3JmeGhMZWZjZTczdzZkTzUvQVcyUGdZbHJxdi8zai9xZHYvanQvM0wxYlV4UjgvelpYakNzcXJobUdWazRmZVJkTEVPN1h1cFUzd1gvOStWcCsvMFA4RUtxc1lIblQzSG5BNmRmbkVxdUU3N0dWM2pvbjNsZjQvRm5qNE5yNXVnQlR4TDBMZ3dtSkZmQTFwQkpxOEMzR0ZnTHoyRm1neWNoanluR3hBcUdVZUJoa3pDblY2RnJzVWZmbVoxcDQ3NDBsMXFpWHdTWVdvcVJLYm5WV2FMSllPUmZpcCtWT0RNMlNTaTZsMU5KS2QyV1VXVlBOdGRSYVd4WEl6WlphYnFYVjFscHZvODJlZXU2bDE5NTY3NlBQRVVjQ0E4dW9vNDAreHBnenVzbU5KdGVhdkgveXlvb3JyYnpLcXF1dHZzYWFtL0RaZVpkZGQ5dDlqejFQUE9rQUU2ZWVkdm9aWjFwd0JsSll0bUxWbW5VYk5pK3hkdFBOdDl4NjIrMTMzUGx0MWI1VzlWLysvQnVyRnI1V0xiNlYwdnZhdDFYalZkZmFYNWNJZ3BPaU5XUEZZZzZzZU5NS0VOQlJhK1o3eURscTViUm1ma1NTb2tRR1diUTI3Z1N0R0V1WUxjUnl3N2UxKzc1eS8yamRYT24vYU4zaW4xYk9hZW4rUDFiT3NYVC91bTYvV2JVam50dHZ4VDVacURuMWlleTdaWnk0M0k1eDFUTG50SmxhUzJYdUZYTUxhWmVRV3oyMXJucUJrOXZQTHQzSHhyZTZaNVlQbk1Na0hMOXlQYUhvUXIybWZPUHhFM2hmcGQwMTAyRnBrNTZ5TTQ2OVRyNjUzMVVZTFpjRy84NDhPN1JqM0xTc3VGZFk1dG8wbml1bGZYbmtsdkkrbnFRc0J3QmRmVzhtZGQ4V29tK3NaT285NTU3KzRvWWtLTDlsbmpaakp5RDVPSFZ6bTZXdVdjNWNaWmVUSnludnpmTzQyWWM2Um84UnJTR1NQbmxNUzIzbmNRbTFmSS9DeGFVZVRpM3dkZHNnd3RwMzdicHV5TVhhWWJKcnYxWUE3dVhUYWNiVDVkRGEzS3pEQ20weWY1VXhNMzNiNVFrOWhGMW40YVozU1JTRXMyOGZ6V0k2Vm1lSXlXeHM0MXErcmg3V09DMGFWekRpdUsvR1BCRVF3U21KQ09uK3hFUmFZOTdNMEViYnZoeml0bmF5b0xHRVBNSnN1MXBpa1FmZ05jdGw2WHNJMXRmTmxoMXozRzhvZHBLRndjTWh1eTZQNGxFVFFPSHVNNDJ5N0I3TlNDSU9UN3A5WHlZL0hPWDJRaUsxZlJaejFIWUVPWGlZZmtyTithUmx1L2hWZlIrUm1HUnR5VEk3blptb2ljZzcvdVp5RDhHOUR6azZFb05vc2FHUGFneDVaUktOY1laOFd6bjdpQXZQOWJQWktHWWtKdmNOUE5EMW5ZYytQQ1J3UFkxUXlIRHRhdFhjNnJYQ3hKZEpiWk9STWhlVmRMQithMHVSbXhJUmhjbGsyT2UwYm9jdzdpeUVKK1p6Vk1EeWdmK2R4TjJZZXNycnIvWFR5Tmk5V3BuNTlNMDAzV09OQlNZVkV2ZFY2QmF1SFBaS0RETldHeFZZS2JlNFdFY1NjR3crRTZFa3hzbkowQk05dEJLWXQ2QWJWejFPR2d1Z0lmZnZIRVQ2SkZvTDR3UWN6bUN5Szh6V1NLTWFod2ZIeUdHR2txWUdFTllCVG5PRGpNdGNaeEZZMmJZVmNBT1FJMklodDd1TnBTUkY5a1JDZENZWVBPVHJHeUEvVnJjdVltSGNYYStGblJseU9Zblp0VkRTM2p3T29kcHRTZkFrd1U4eU55NloxWGpBS2FCWXVaK3doYlVrRkFoYUEvUkpGdm8rUVFWYkF6Q3ViU2NGb3lka0pwTi9iaUhtSElIT3R3dWh0bmRPZTBtRXdRZkxHOGhSMHdnbEt4UkoyMkp4RTFDRGZONFRlcmRid0VER3lQVldkRHN0QUdPMkM4TGI2Qy9tUmdQTG1KaDRnS3JXenlTbWdmNEZGbGZ3ajVjSlVGRGtLa3dPa1hQbmNZMVpKZ0tQRVZhZ0c2blFvSlNJZGtzeGQ4VlFPMW15K1M0a21TMkZ4QllFVk5ZdWx5UWtZNUZRL2lFTWI2Y1FqdU9za3hKaWxGZ0RNb3p3OEtZQkdWRTZSaGl4MWhJOXQyOWtYeWRLWWp5ekxsWWhJMnVZeXBHQ2dlTTFBWGZlR3lBMDg5T2txSnRNZW1mMGkxd0hNRjYrZjI0a0pNaEZoRVhRaWpnQ0hiRU81QnY4dUMvNUltSWxCZ09NQ21vQ2cyUDdUYWlCM0FFQUJWdFJtSk1GSmlTenFHSEFLYTd1QVVPUEJwcDBCbVNRNGdVTklSTmZZUDFGVk56Yy9ENEFkMEdlb28wclV1MENZUkFCVHlxV3UyazRVQlR0dFhoV0l3Uk5yQXN4RGpKM3JkMVg3Y0lLaFd1VEtTQVNlU0JtSDBpWXl0V05zQWFoaHJtamxTV1ZXQ0x6MnpKRU9zWTlGUTZyd3ZiZWJWOGlrRXVrc2xseUxOQ05zemFBNktZSjN5MkxBY3kydVJnMHlaaFdtdWlVeGhVRUFMVlpJbFFQY01UVkd6UlBzdkxvbXhDY0Z4QWFyV1JDd3RhMUNFbTZUUGdRdXhpL2phNnYrQUFlR3NRaXF3MThJdHBZUjBKZU9Dd1dBVWxMWXVyMktzTUkwbzRuSU5YTjVUU1kraHhaOVhQNUZwZGNDbGVnc0VQSFlHSmg0VWoyVWxZZy9OcmxHbk1zSm1NalZMaFpZRVhUbG1JREZWbVd4SlNqb3pBT3hCY3EyWVBsVVU0M041SFUvWWFGdi8vczlFVUd0a3NtYXJvQWRPOExCWkVFWnlJbGRrSlE5VEJyUlI4Y1VyYklYb01QTWszTVNnT3pab0ZGN0JJWEZ6RllHcU5ackJ4NnlMTmVnRXNpbi9xR3VJS3VqaHpQSFRteVJIQ0VCcmxtRWpSOGU5VGxrT2RubGF0WlBhdW53d2ZqbmR3OEkxb1dkQWI3b3lNazQ5QmVxWEhQR01sbEVtT1VSc0FNTkV3MzVxaEFud0J5T2NnOGtET1RtMnY0WXdVaGdLSElCS1VGcENEUEMvcXh0UDU2VUdSc1lMOEZDUThnTFRtSW5wOHhLWkF1ZE1DSThzT1hmQU9vQUxrOERnK1Z6amFXcDBwSG5BZVI2Q2xtNWFUWmk1WFRGOW0vejE3RUoxbU1jb2w1QXgxTUplQU93Y3E5NEIyUlBRZ0pRaGpVSHVnVnBCeU1kQVc0QUdXVU9IUHRqZ0k4Ly9LeVhtM0tBd3h3MlFOUVFocVFOOEZTWC9ub0ViR1c1V0E5MGE3TXJYY0xXMlZvU2lJeUNla3ZySCtUeEtvRXpnMWkxMFpXMkRwRzhnellkM2Q0STI4bWdYVWhjcVJkajBOaWlYZVFCbVErUzVvQnExU1FDUFBGdk1JRXpHNUZvclNSK0loRzVCd2lPeXRtRTdDQXJKODdPVGlJTllSbHhLOXozNW1ZOTdvV0lnZm9aa2FnTVM3TTRJQUpjQzRkbnBtQmNvdUw2WWRIdHRla3VDQnNxdWVBSk9RMnF5bnhESHNzekFEWVRIREJCd2huSHBVdkNJY05tUFlKODJFSWdoSXpTTnd2aDYyL3FGc3doYWVUa0NJMFlDeFNIV3lYK3I5RFRtS0JUajBiOEVBNHMrNHNDeCtoYzUrUmFYdkRJb2hoWTdxMTVIeGo0SnBLWVdhR3lVRVV5RHFzUmt4MTY1M0Z1TUlXeFhWRnpFR1pDSTJUSlhoZFFoekFXNENwdUFIeVpSUm9OQVlML1JnUDI1RVJnWGtvOEdmZWltK1VRMGZBTGNLU2pPQ0JRYkx0OW43Z2F2Q1RzZkRjbmpTMTlBWlZpSG5NRm9NZjh4UkJHcWc1R0JEZmcrbDZ3MDFKd203MHUxdGdXRldnWENSekp2MlJOUTJHSjlZbmlMbXc1MFJySmtpTXlRVnAwb0pLa1RRcXNzMG5Kb1ltM0JVRi9FQzk2TVlFU1VORzgwenh6UkRBakd0b09MdXFkVitFMkVsZDZvSDVLS3JUbGZEMTJZVmZYdmoxTTg4Qmtac25DbGp5eG1JeVVGSzN5dG9OTFE4cXNVK0Uxc0I0SUZnMnVoOCtSQkloRDhrZVJEaHZ3UzB1RkFUMlUrYXBpcThObzFnRFZnWHJwZVVETTJGSWMwQ2V4OUMwcCtQQkw2SVJUYTRNK2Qyckt5ZEV5bnhnalIwQ2JrRWFNQWRWeXd1SnJMeGRzNDdzeFh6aVVnbG1GbjRsd0JrN0FkSGphSnNQYlMydXdHQU54b0JlMGFHUUY3QkdISGtVb2ljeFR3ZlJWRUVCQUlvaXY0cEZpZkR0S3c0bjRTMEdFOXdKZFZnUmJEdG5zOEI0aWFUS1FITVhKWUlXNnZJc1RLN2hpdURDblFGSkpneTloN2NHUzBHNXhGdkp2cWFFaDNJbVNiZEltYXFVYU0xeDM0cmNRUGZpSTlDSHZVYUZqdzNtc2hLQWd4aEg1c0hPQURrMEVGUEFxUjVWaGRmWDB2SnhaZ2VNRWk2YnFTTWZFUzlkdzdFYjVDTWxSN2tkN0RQSVY3SUJHN3RFQ1pmd0dnMEZIQWNUZmdqQTdiQSt0NkpNSTR4dGsrbkVUbHkvSUkyRGwwMVpNcjBVNG5VRG5TajlQVUg5S2prUDlWd0VKaTVoZ0crT3Q2QVlLdmlCYkNETU10UW1kc3prdXlvdGQrRXZzWDVRTUltUDZpWDRXWktPOVFlbE8yQVo4VHU1T0d3NVVBeWgrUVpSamd1WGJpQk5kRWwrR3c2S0M0MUVrbTlpT1pBODFhOVIwWnk0TGloQWhXMVdGb0lrc1J2RSt5aTF3Vmt6TjJSakJ0K3d0Z1NTS2d1NkczR3lBZU83aENsSFZvaGJvWWFpYkpCTlJ3QTI1bzdjUmxlU3UxYzJoY1ZsWmdGZzFwMHhtT1Myblp3TmFnR0lXQlhRRWlXRlk2N2dzRExaVFRDOE5WVkJ5SDl1TFdGM3lId01mVlJkMTBmSWxEQkRCYWFTNWxCUS9lN216alEyd0xaQzE3OFoyei8rcnZzZnZvM2dIWmkzeWRSVUtMczJTUkNNak9GRXZDcER5TWs0VHdEemVuVG80SHQ1dEJWNU51Z2FUTjk4WjRtMjhZZnBDV0pzZjg4a2ZTakk2Z1QrSWtUQ1NJQXl1cmJzQnRnNWVETmwvR1Z0d1dxMURaVjFnZytkamhDend6eXBOb04wUWI1K2dMWFV2dlFWMmdYMlJWa3RlVXlFVnBtcVFudkJKOCtHaWNkKzRUd2J1blFUMndENUJXdHlSQThOVkJ2UFF5RGpJOUFhcjhhQVJXQXNqdHh2Q0VWNEVHL2pzUkZIUWtRQ0UrZWgwVi9CS2tsRFhCWFFNT0ZYVVZwZ0ZtU25Za1p2cW03OGJrU0FkRVNuSTZUSnhiaE5QbkxqcGcyc0JKY2JNbWc5TTA5aU56eTI3Y0JGSFhaVThnUjl4M1NyYXNFaUJsYnd4U1g0SlcwWGtDbmtlSW1JeGJMRkgrVEU1Q21aS1dWRkdzY2pqM0V1NEFnRElZTFIyQ1VPcEEvS0RLMkxZdVk5ZXlxdXF5MzQ0RjVMQjhPbFM3eVBjV0xJN2kxRWRnRzFmbFZyT0ttR2pPOHBRV212Mm5pSU54Z3g0N1RRUXd2elhQd3dINkpRaW9zNDNCKzQrRDdnQlBCSTZYTlJyb0NJR2ZLb3FSSWNoRWc0aVFCaC9ZSmxuUFRLRUJsU0NIWURLaHhra29UR2ozaE93V3lSU3dnejNtODVTQmtmQ0ZBZWhWczJwb21YcWt6OVFFQTErQUlLQmZ6TlhjZ2NqVGtoTXE4S0NuNGtraGhBUnBYckRQQzh5Qnk4eEFGTVpCYk9aSmNxZjRkd3c1aWhDdEVoSkMzeENRWlBSb3ZiNTJhQU92Zm43ZkJLMFZjQmpWRndQSjJuSXc1c1Y3UVhERUpBRUVFb3ZnaHk0bW1OTWJKUzRhcllTcnFxL25zbVM0WDVneDhMZW42QUg3dE1CV2Jnc2ZkVzlSUGtoc2tOa0x3NVl0Y0JKY3kyYXF3TlQwR3VIZFlEcFRWeG1zd2ZBRlFCK29reElRTHc0N1YyOEpNMXhER2VjRkYzR2VyT3ljV0FCT011aUdnRUVLcHF5Sm1RYXdOSzZVT0tHbUlqRXJhUGVFOUd2YmhDWFRsM01wSjFOSW5maW9oQTJ5MWtQSzRSK1lJTTQ1MVFUdVhmQ0hPVkVaSmtQSlBVV2RJTE1HUkJySHlyN0FWNkhVNjRyVHBaS213dlZITVNiSGV4ZWd1Ym5VT3ZTT25FeHpFUVl5dDY4WkxIQ1NBTGlXK0NCQVZNanNZWm5zNldqYnZJQVVNV2NHTXlxd2tIa1FnZUVpcXF2ZkNvd1BpUmVjSlRkZVViZ2dMaU9vUUl5UzNUVkYzUXM3QWl2ak9mczkvU29tMjRDMHNhSVllTG9tem5WVUhIRURrejVxeDYrZXg1QXhlcVEvaFpnWkZ3dE5raCtjZzZUR050VFNWZjhOeS9FaDJvZytoRFBiK3FKdlluUU12R2NyRUVRN1Y0THllOXRodTRicHhEd0EyZ1ZWQkJYcFZuTXYvakoxWHJCODJEWnlGSVhpL0JlQkx1QlRXSFlxL0llaVFVb3dMOHhkam5xSnlBZEF0RitRRlFza1pqU0NWRHJVaTNoSEt6RElGZ3NqekNvOHJ3a3ozanF0VEh1RjNEaVdPRThheFlIdXlvU0lKVVZIWDU3clZBUTYzOVVCMXNUT3ZvU0RqR0JrNys2NHZOdFU4MGdJMkhHdWhBeE5yVlpzRUowbVBNSUJHS0NHeHlwZmRnTFM3UHRVT2RxZ2hweDhaam9WUjNOMlRocks1Q1krT0JDTG8xdnkvMVJTRXlEY2tXK0RmakIrOUlqZmpBbFM5QnVsNEVuYnhpNVNHWVF4ZUc5N1crcUN5Vzl2YUVrcis5K0U4Ly9lMUhCYnZ1NjZkYlRLbytCRlJ4cmR0dlpCQjhwdklNTVlrNlJHYUdxKzJkRmpzcVRvVm5ySStzWFJmVjE0aUZHQkZ6cXQwZTZkTktsdGpXcm9CQzhFck5HUUJ6dURzMGIzRDAxZzVFT3BYcHFxck40TFFyVjNmaUNvS2lvM3VnUmtnVTBUb0FjOUlyUkJGWnNpelBnek1XOHhUVktyQTJrSTU4SHNhNkU1a1dyMHNKc0FocnFCb0N2MGtoSkhTV2FvbS9HMWw0U3ZQb1ZjVUpXWHVGSmdFWUdmQlV4TVpma2grZm04WXowb2g0TEFoY29rSkpQV21URVBDejEyNnFhbzNaZ3lhRVFCeXd6Q0lFbmZhMnQwcFI4QXlhUEwzU2tYUXljcnFYbXlLWWx5T3d3cGZvWTc1R09hSkFtREVZdmdGZEx5U3V3OTVGV0VGVnRneUt4YXpCTFBUOGxtYkU2U0hyUzBoZVZYU2dIWW1lc1FZcklhako1dkZZVnNiTC9ZNkVZWnA0eHVhS2VSRW1hQ1pCbnlsODhHYWtZekR1Yzg2SThQQ0FYQkdWYm5obUtpZzlxeHl6bkJtQVBCSGpxRmtUbXNCNVZzaUoxeVF5WmNaaE9TZ1RFSUFXeUhRVmZ4b3d3a3dEV0VBMHN1NG13SVhVVEhQQ21vQ3RxclJra3JnS0xESTVHV0FUeHN0UGhxT1hWWkJDN1Rpc1FZQitONmtFWlJ0TEtoUkVScU8vRm9NbGdRRThucFh3dy9zeE5pZ1E5cTRxeXV3bG1FWW1abm1SSHNsOU1rZENTK1VWeEwzMkV1NitNQ0wzYkNRSElRajFRYVg0aEE1dXBKTHhVRUhpRjRhdXpLMDI2Z3hGempLRGc3V2NqRE1uNDdSWmh0c2srdkYzQ1AyTDVnQ3A0WjJsblFrMEhpRmZNVERjcTRvcVhjWjBxdXdudlFJOVZOZ1hsa2xoeTZGY1pET0crdzZicHlEL3NMcEhtdy9ZeUNDcjI3WTIrSFpQK3lMWUkwTUh1Q2RpaEF0Z0V3blpDVjVXeEFoQktLT1hDcEZhWW9GaVgzS1FpdVEvT1lLZVpRV1FQT3BBV054ODVZdmIzdW81V05JVGcwRjZtWkl3aXFvMWhRZ0pTeG1OdDBKV0Z0RXZjaFRXa3JQeWkxd0QxSGU4ZW1ORVJuVnQyMTdwcTRrTVpoNFlFcm9maEJ5bDk2WktWZGNtTWhJSTVRMHFJNXo4d1dBNGVWNjBDN09aNE1vcnpVVEt6anVKeTUyYXNPWUU3UndpUnJURkZBTEVLSmxlVlV5T2pjV2ZSQ1pNU3c2U01RUGdERis3Y21IUFgzY2MvdnpaL2MwM1htSFNFNXcvU04ydmN1VXZyNnBIakNkeXFreWtsTENXYzJ6c1hjS0dJN25nUXBBRGEzRWFHTnFUZ2xKSUFwL0FzUU5OVW1QVHRyK3hGancrOHZnUUZSMVFnTkd5N0dZQ1FsUmd5MHdTcnArOGdlSUlERHlzb1RwMjJFOGNXMGZqc2M0TkVHNTRmVGZsV3JWbkpqZFZ0RHRkRDdKTEdhaUV2ZDZ5akpzQjdKaWhzSGJ2R2RPaktobWtzeUNUS05VK0hIU3Y0bVF3d0dtK1RYK3l0V0VqTmhtSm9vRngxZ3MxZkZHVDd1SG5rTmZKdzNLZElHVmNtRDB1aE1iY0lpaE1pQm5XYThtS1NxV055dU9CbVZmS0hCMkROc1pUdHpXSWtSclgxUDRLdUt4U0xmZU9yazN5R1dtTzMxUHhrZmpSTmh6RDV6NEJMd3BtSXp1MVZjZlBBSDJxRFFOSFFObFJ1d3hRYzNLSkhxZ0ZjZUdscXQyVTNobHdXREZCZkhoRzFJZ0s5eVNqdE93YkFnbU9oMk0yVUxza0xGUUppRi9GT2JsMm1WVFVJWXpieHVFeVRMTlhwcVBGVkpBUFN1NVc0T0JscXBLUkZkclNhZHBKQ1VjNGdpaTczU25BTU1DR3hzR081MUs4NGFvWEQ4Zno1M2FzN1BISVNGeFlWRkJTRldoRm5odEd4WkJtTWdXOGQraUpnVTBHQjRIYXVyRmZBQVBNcG5JZlFzMlBpWHNhVUFiVXJGS0FxY2hVYnhsM2VoVTNWQXcxZExzakVNdFpTRVVpSitNU3h6YjhPalBVQ0lQSmRHT3d5cCtLbFh4MmYzckQrNXpiVTBFL0VWejgrVlgzZVRtckN3RTFMTXdIU0dTM2VWazg4c2M4NC9NYkVkcjBkTDVvaWVBZWlKbmJTWnBUbVNCQWlIeXBRL1VtVm8ybGVjME9zb21nY3VTeFFTNGl2aWdVSFNxL0JrL1VSdUlaQThDaXdRR21iWkVJaFZvNW9seXV0MGxzRUJCWFNKVFd5VzBydDhRY1RmU3piYWZTMWxGVHlXaVZjRlJSQ1c3V1B1a2NRbEdZa3JRUDVFd0k2UGtCQUlqMTRHbUdoanhBU0VPdUN6RUt3ajVmalFyS2hRa2k2azBiaFR3L2RBNnBRSnZFZzk1VENUNlVOTStMV1VyeUhLai9oaFFuVFJ6QWpPSkNaR1FZYTZtS2ZER0pBQk42Zld0UEVmTzhrdTJDTGtFOU1PY2dRNUJwU1ZQa1dERUxyWTZ0elFPeTVMeVo1NUg5djQvV244L3UvNHJXbitqUWhWNkFJTjVlaUJEN3Y0bW1EZmVlRWJCdjJCWSthL0RhR3BvenY2NGVkSzUzMGhqd040WW1MTWdXYVlwcmtPL3J1SlZVK3V6cFpLK2V5Ym04ZHVteTloQ0taRG82bmlraDVUcjZ3cW5KRE5nWnVCVDFUWGpWN0dBWGRXQVl3dnVvMVlEQUF5bjR1WWxuRGIxTDNsUVZZVkdDL2FJYk54WUMyTFBYK1lBeFJLUGFSZTBsaExsS3Y5TURSaDZVMkVXOVVvQUF4dXlxazJHczBodTJaOVpTRnBOUjBVY3NPSk1Xc1dUQXdsak1RRk43QlJKK3FXbWt5NldpQWZqT1BnVDR4QVZtK0JvSXhvYmg0OUNUQ1B2dXdCY0dweDNxSExzdUxxL1oxUWdKbXRYTmNzRmFEWHZLYW5BWFZSWFUwem0xU2RCVTVzWFRJMG1Td3pLamgwL3RYYjA2blZERXR2TG9VTVpSRlloSHIxZWx2ZkRLNHZCdlVMK05qT3dabDhsRUE2cEx4bUhJNzl1MmV3VngrYkpqcjNxdkhXdkVJYWxMOGlCOUcxQnZ0Y2JwVlFkZm9BSitBZnI3Q2tEM3Z3N2xueU5ZWXZRM0lmeEx4ZTJIRVA0UjRJZ1RNTEloWG10UmkxNk8rR1A4ZUN5TDljWktWNVF2RDQ5VnE3YXJIRGlDMEJQQlhxVWNuRUJDQTdJQTBGbU1XQWh0bDNPaHMydGxQVnZIZktwWEVnRWF1am9zSnJvWTB1RTJQVmVWWm1CTkVBakVTMHVYWkFXWENoc3A1UnJVTXR6eDlBb2RtQ2hPUk9ZR2FJOHdWOXhWUUdCK0pEZXAvSml2akZocVRNQ0RmUnpIM1JJV016MkNIS2dZVFFXOGhUaE9GUVcwc0dUb0R6K3h5bDBOZmFCY1VrK2IvaTRRRG43VVprZGhOUkhTWXpnVkdEZnordmJhMFVmaFU2WEVEQmIrNzlwemozSFhyZFJWcVZjRGtMU2U0aDZpR3JFd3dJREFaTVBQVUhwN1pTcDhSWWpTWGdKbDhsTjdudHlsbzVIMHM0Qzh1cW53ZkpnV0ZhdHRxUDJOVkdwZ2RuNmRZdkF5d2tyOWt0cTNTeUpuaUFPUm9KMkRBOTFqUWZFVEpLUnlRclk5WTcxNFhsRDRZcDNkWkxWbXVuNnBsUTJsc3hUejFZTUc2clVpc0M3U1hwMTd2cXV2aTFFQWFVbm1VQW9HeGM2VHMvTFplUXpLM2xQY2J6cTNFQ2ZtRk8vZUZrL3pRd3I4S2NMZFAwMkJQMldBKzY2NUp6RkFrQmIxZEJncUdYYUN0dmREOUxZd0hOQWlHTWVIb3ViVlg2RGQvUXUyQTNTWVpnVDB4dWdGbWUwQTZrMFlMMnJuSGlTREg4cFNHR3NuL1ZXZG1XV25NaWdzZ0RndlNkMkNXNW9XVFF4b0V2cEZFQmRHWk9INTMyUUVNb0RmVkhvbEpxd2tOVlduMVlkRHprRXBFdi8xcXB6ZUVZSmphZGRoRXBuVnQ2Rk95MnEzUklYY0FSbW45bzZJMnlFc1o5eXY1OGdWYlEva0dsbHBobll6U1pLbHU1Y2hHZ3IzSzRYbkFSejVCbUc2TXRrMmNOWXdpWFpReUFpOE9DRGd1QXBFUHRST2NORE9mVExSUk9CYytMcklEWGlDSkgwYWRITGd6akNaYXJDL2c4cjFYQmdzWmd4alBtNW45ZmlOT3pMZUQ4SERpNjlmUzVWRXlHRTh6NHAxcVFuQjM5WHdlUlBMSVFIUDhoWGIwSjE2TlJ3alYvRnRta3BwaUgxU0tsMzFjUUh2eHljbXpBaDRGV2JnNG55bnlnN0UrVkJoYkRRUHdpK0diOEFJcGtmb3JqSUQ2UTFXb2F5RERoUGNYdFJBaHNJMjZXdnRwNWRaQTA0VkZjZWpxWDlwa0NwcTA1N05aZGJ1OWxmeHZyM0pES3NYaUp3cGFnR00yaVZJMmtKSzVvV1FoNGYwOEE1b0JhV3BDV1BDNkFDbnF3aFRWby9waG1NQndTVWRwZE0xVVR2Y1hmWDZCb1l2aENTZUFvU2VjM3oyM0h0Vm5YUjF0Q3ByNG5EMG1EVWNFRWE3NHRYQjFqVDd0NDM0Zi96Wi9jMDMvbkVIUVBjUlZSRVdUS3VlOENITGtyU0IxWkJCVmFVaWdLMEFLT1I0K29XaGdEcmQ4TEZKN0V4ZnFBTlpvMi9xY0FuQ3lxdWlGcjJha2hIS1JITHlhaWxSNDJwR2plRmFNSGRvS0J3ZFlsNGRIT0ZEN1RndEorOWNCK0hpdFZtTzk4UjJ0L3FxVk1nUE5Xek85Yng4WGdnUndjTHhPRGJBQ3A5L2tDQTRjaUk1NGlDemYvNFllSnJxQXQ3STRsN1UxeFl5RDZ2K1gzZ0xndEttcVRRTGtTbzJKWkVKOFM2Nnprd1o1bGlubjFqOHJrTTROWWxRaDdZbFZpbmkrNXEzNnAyS2Z2U2FRZmJocUtyWXlKNWR5MmNYSWRma3VFbUJVUHZDZU12S1hXM1lzQkxZZnVZOUlIYU9PdXlnQWpYTFFabHhuMC9IRjNDR2NpZC84VHpadTJ6dzVGb3lKK3JnWGMxNFoxUTV3UjZwNkZqS1ZJc2hkcDgxU0RMQ1pLR0Z2WGJ6UXkxeitFdWZuSHlrUi9oOStyOVJXbG1OOGlnT2kxUFpScVozYmF0VUJjNGVMS2k2TDBFMWtrQWRPOUFaQ0J1M2s5S056V3Q3cTZrM2w4eGdtdFdsSGRRdWh1TzRBV1M4SW1Jc2pxbStEa0hrckZ1Z1RCZWEwemVienZmWExYSzBjdW9OcS85V1luei83UDV2aWZFOUw5eTN4QWo0Uk9RL0RpbURtQWlURVY0RElsNjN2K1JJbURINVpkT1JNZVNacm5lZTE5TS9uSURBTnI0RGFRTDlxMXVNREF0TDRxbCtkaGplUDhSckJuSTJYQ0N6MWlRTHB0cE1rQ0RFZm5OZUxlc0l5c0p0Tzl4MmNZeFJPOUhNY28zcXRjY3E0MzRhY1lQZ1ltSURaQlFHTE1GZFdTaHR2K0NFQVRaN0hlbllHcEJkNTE5QWFSUjhLd2pEWVF1RkFmYm1nbEdHNzVPMHEwNDhxTzl5cVhZR0d1c3d5WFJYeDBSSXU2QkdXZmpiQXFGOGNNUVdrQVRxNDlldWRvWkJzVFBjUGh2dU5KUFVHVis3dFdIcHB6YitIZTdFOTVuZ09TUURvMndyOTc1MEtJWG9RZGRsRlVSaWJ3ZmszV0JwcXFxV29Va3dNQk5ZelVHbGlOSWN6d0JyQU11Z016bE50QUxTNnBEMUt1WWExTkpLVUhKNWJOWk40RDVLTnV5dFhzUWJNcE9nMHgrWW1taWVhYjd2dUNUMnBUSXo0R01KbUczRTR0WDJQTXQ1WHU4ekNTaU5oc3IwT2dUME5udkZFVWdBNXNoVXBCM3Ewb3dhNTZ2aXF2VmxGNTNDUEZzTlNpVE0rbkRIVUNFclZKUm5Kd3F6Q3VyKzFWMmNIZXRvZy8xNkNab2ttdHFyMGl6L3FJenovYlA3VFgzbmQ5V2RIMTk3cFIzTUpkYXU3cFhSYVlBSnk3K0JYaWtWTW1mc2pBaTFRZndVc21ab245bE9RSEdvS0ZpMHAzTFFZSFY0U2UzUzFCYXJuWGZzdEF2cXdrZi9xbHFwWGkva0lkWmF4dVlNc1NiWEJ4NW0wZUdLaVVBQ0pra1VRRnoxUTNCT0xaT3EvamdTcFduL0hOcVdKQXZpQUxSVWxaa1lhbVFGL2RXb1JGamhQR1RSMUxhaFJsa05IVFdGWmpqekhBY1RsWTVHclZqcFJwQ0NtK1I0bTdlOTB3N1ZKeHpHOTlFa1pROXNGWS9DcE5TbVBXbFpCTGRoa0tyeG9QMzk4QWRpcW5vV0s3eVpZUEhhbndzSlZPSEhkQmYxSXZZZ1p3dW5RYTJEL0sxSFVKdlUyNXZHYXlsL2JieERYYmg3YVljUXlGaVlrS0YyT2dGV3JYSmpUQ05jcTYzUnF0YW5UdlFXWnd3OG9xRG02K0RSOWdTdTRTSjhIbVRob2RZTlFXWW9QZGpHQ1pZTENJSkFvYWt5VFNaS20zcW5iVTBVZG1aQTZ0QU42ajVnK1JFUUdSTkhITVUrSUNwbVQ3M3RpR3F6dHFPMk45b3BVWEtQVUlhZWRYNHRxV1c5ZFo5ZjR4M3FLZXJmQ1p5UTcwRmdDQzNSbUZ4Q3g0VlcvNXlwMWxGd1NVaHNJL2JXU1NZam50WHBpK3lkYitXbTltNlV6RldWVlJ3TE1oblFqeGsvZ0hKWEd5eXBPdS9DSEVKSWt1L2RhWThMVFlHczFvYks3QzNxekp0d2oxemd2ZTBsSzU0bmdRVTZtWWNXNnRsWG5Td2RQSWZPa0xGc0h1NC9Gek9vR3JKT3dPbUlVMUVMNjZoSzQ2UGpCZHRRUUhVUDFNM1N4dUxybitTQm5vRUlrbFRBaXNzcUhrMDFQWU1XMHVPTUNRT3BwblVnbm9qQllDTm1vVDNlcGZYc0M3QmNHNVZtekI3NENBQ0dGcHdLcGR5Zmh3cmEybEhKQzhHRTZsVmp2NDVZUnBEMW5SbHAwa293M0lycVFkd3FNUFNrWXpYdm9JNUxCRHJXZzJBR2pEVFFGZFdzaVl3anUzbHN4V3NpS0ZGK2hiUWhqeit0bkJlVjNsRVEyN1RwaFJWZHFhdEJ3VlRvZ2oySzlpQjErby9rMDZteXJoYWNQeHc2ZUovZHJ5L005THVkMi9FM3I3T2VxSnVHbDNPZWh3R3NWSVpZdGhJY3FiTmhwWXlrVXdGRVhLNXFHQXlxZE1FM3BpTmpxRkI3dS9OcU1EYlpCdnhhOE5ORDE3dkwvY2s2TWpqMU9FaUJialZvUytzT25ZOVVwSVdHNkQxRmlLQitWQWxFd3BwL2RLZDhKV1lqL09FSkxrbFRuZW5EMGxpb1IzWkp2VzFCRnErVC93RktVNnBsakJqeUJCdEU3c3Z2dWxXSWEvUnBtOEFOWVVGV3ZnWGRFcGtaOEVDOElna200cFVNVzhHdnJqT01ZYXNyQ0FEUTBTQUFEMzJFYmh6S3BsNVFRS0FuajAwRUdHTXg5VnV5Nk9yMXdIbGxIV3U5d042Vkt1OWxJS1hxYStVTndKUmpQZFNUcno2bnJhMFMxVUVLUU9WNVo1L29SQkRRZ3A3Z3lOb2lPV1dscG9TMnBXaGJKWXNPUWp1OGJxaGRsbk9oWDh0V1I3anN2Rnc3czZ6ejZJUzJDRncxQWVndnFXYVRYNmRSd0JLaTBPZnJpWWhadmZsSmhqQXh2MXEyT3NMTVY4M21yOU9DcEFRbWN0b2RKVVRlYlIxbkpLbTZqblF3ejZCV3l1YlVkcmluQXFkbWdIcngrSk1sQlpzZ1YvV0E0THEzZlB4bEZDU2Nlb0o3ZjNRRVovS2Rxak9YSXpwQ1U2azZuZ3ByYWpTS2tuMldkZm9MMnBpdnNxNU5nMlpiQWd6M1BKcGtxK3FGRWFRbDZkVVBTVTR2OVVsai9PUFY0UXhGL2xUZm9qYjgwSHVHeG9NVFpvU3BKMitwWUhsOGpXRkxUV2JjOGJVRU9mSmJKMTZBRVNPSmwxcEljQVozRTBYYTF6cWZRajVDT3dlVUtnWXBNOWNYczR4ZXJWRERWZUVlZ25MSTZsZHEwakdmNUYrUE9nQ0t3UENBVFh6dDE4aEtLT2tkU24wSFVPTWVDUmZlV05Ld0paRkx4ZmZQdEhHSVVlNzBDME9ISGdLRnJPT0hPb1h4cmltMkFMTlJPR3IzVVJkTWZtMzdPZ0JVTTRiUGZXN1pzRHM2akR0MUlyUEtQbzFJTW5ENXc0cnNxZTBySXAyNWI2bzJ2T08vK00ycmZqRUdpdlNBKzYrT2hiR3NDeXR3R2ZSZ0RVR0pGZ09HTFJsOEFIZXkzTWp0dzgrbEYxczZqd2xwNDRhSWFsWFEzSzA2SnNQVWtpSjg1SnVIUkFPUGp4Nm9pek1CSHlHMk9vUzlQQXlXc0d2VnA4NG5JYWdRTmI0NmozTWsrSEJyeUUxQ2ZhcHd5OUJFdDR4WVBRVjRrSUpPUHlwUUZCMFAxVzdUaHZrQlpsUjhFbGNXTG9SOWtsYkRxZjBCbG45Q1kzN2lnN3RDWGJDWXlKYXRWbGxoRTZGQko0ZVpFeDN6RzJBR3l6KzBWMkllb0YwQmtVMHVCektBbjJMd09wYW1rM2g0U3ZEbzZLd25ZWTJoVklPS2dFMEt0S21BWFZ0VzZUY0RzV1NjamtzT25ocEpvVUtqam9TK3ZnZlVTSEpFQWg1Nlh2Vm5EMEMzNlZpZ05JeUtGc0Fxcm5vZG5SYnM2dFhJMWxxR0owYVh6SHRPU3NlWFJ5bHV2aE1ES2VvYWdWVTY3OGpNdWtYblVMWVJFc2dpdUpqNXlmbWRrOUZPVEkwNHlxc3lzN3F4dFJQc0pKU2hBclZTVjBtRmhlUFdyNjI1NnQ3UHFobnZaRStiQS93MXFidEtuU2lpSnBBY3lPa2dJdUh0VkRjSlJ5YzVNc0dUbVlaeUZFOXhERFd1RVFvb3RLUTZkYml2WmZNcGJWVEc4VHJZcitvMWRKeW1XK0NsS3ZQQUhnWTBKamtxNExFdWRVMlRyb3I1T0tzaVZoeUtlckRQZm5aV1I0eUJST0tDdDhIUzFGUSs5UXNJTWhuOGRqOVZxaVBSWjFDSHRhb1hxQVVKVDlQdnFDRFJnSE5XaTRUU3IySkk2cUVFYWhrZFdWUlAyYS95QSs5Y0RXUU83ZkhMdnBPNEJFL1NNYnNkbWVXVnRCc2NNSlVIWWEwVEkvNkMyVk9IWC9Ec3dPVzRiNGNCTzRvOE5rblFxOU5HTnBOYTNsL2ZLTm1nTTJNQTF3RjhWVkt4TEFSdEZhYkZlQ1BCQ2srUEwwbUszdTVmK1g2dDE0TkNXSHkwQjZScXFQcnhkVjkxM00ybnhuWHZ0OEh5NiszVjRNWUFqclF5bksvRGpKTHdFUnRRNitmNHE5cml3TkpmeTRkcFpLVVpNWVgxdFQ3R1VjeThaVldoYTBvSkJwQWtMY0dpdWc2NURHOEkrdDBOREV2S2YrbjNWRFMxMzZvU0VnUk5iWVhQK1Q0Y0hjZ1QxZEdpWHNKUWxCZkkzWGNtMGRUT05QeCtIY1U2VG4zZWhvcllweDZOaVNUZjJ1a0RNSnZPVm1vZlVJQ3ZYN1lCWlZicFZjRU9VZTYxSjQ0Q3VNeXhtMTd0T1BoczlCYjZCQXA4OUlPS2FXckMwV1pQbDNnRjE4QTRSTmRhOEJLbzYwZFBIUytONkFFbHN0TzJWd096V2FEWHVRdHZYMi9JMFVTR0tOUGlpam9CSDFHRW9LRWVHUThFOFJIeGFxV2FSQmpMa1Z3UlBML3FCYTVOT3h3NGYvMCtEWlYyZWxFbEFSYUVFb1BNVTlwUGhPRmR1Vi9mWDdVQTJUMEJXM2o5SmloU0xFMUNGOXV1T3ErbDN4UVE5QnQrNXRhdnBqQVUzMmc2RTN1Zkw3MEhVYmtNUzBWMHhLNytvL2RUcjU2b0k5ZjhHeFJsVGhFK1RTNVNwZThoUVlwcTRPblJ2VjNTUUQwL3JFWlFYd3h4YWc3dW5Jb1FKQ3BmcUtYNjg3c2ZqbjZ6Q1c5YThBc29kWmR5R3JRaDlYRWRXK2NLY2xUYnNrNEdBYTZPV2ZTTVl1aFg2YWh6WDRwMWZCMGdJTWFBQ0l1U25UbXJaQnJIZk16NzJWZmxXZFJ2dEl3bmRYM2ppZkRxYW1OcUtNQUlUT3R3SWlLVm1OK1cvWTZDZkdndmFnOTZwUFNNNEg2U0Z5eUR3TlUwNS9DQ0FkRFdXWkNzTGR3dWNhSGZ6aFdDVHFxb2s2UWhNVmo4aGJoQytwYWpYeUtoQmhCMVdPZ2IyTGdWbkZ3cTRrNlRxczR0cG5hdFhaWitwWWM2NS9WZHNhNU9DNkpsbU9oY2xVZ3JhYWNDa0dvK2VUMmpBeEszMnM5WDBMbU5kRmpOZ1JObnBwcnlROGR3MVN5Y1ZDTXNQREpKa0xYRnFaTnhPakx6MTYvTWNnaUU5ZmVWSVJ3ajV0VDlOOUN1dGhqZzZ0MTRBQUFCZzJsRFExQkpRME1nY0hKdlptbHNaUUFBZUp4OWtUMUl3MEFjeFY5VHBhSVZCVHVJT0dTb1RoWkVSUnkxQ2tXb0VHcUZWaDFNTHYyQ0pnMUppb3VqNEZwdzhHT3g2dURpckt1RHF5QUlmb0E0T1RvcHVraUovMHNLTFdJOE9PN0h1M3VQdTNlQVVDOHp6ZW9ZQnpUZE5sT0p1SmpKcm9xaFY0UWdvQjg5Q01qTU11WWtLUW5mOFhXUEFGL3ZZanpMLzl5Zm8xZk5XUXdJaU1TenpEQnQ0ZzNpNlUzYjRMeFBIR0ZGV1NVK0p4NHo2WUxFajF4WFBIN2pYSEJaNEprUk01MmFKNDRRaTRVMlZ0cVlGVTJOZUlvNHFtbzY1UXNaajFYT1c1eTFjcFUxNzhsZkdNN3BLOHRjcHptTUJCYXhCQWtpRkZSUlFoazJZclRxcEZoSTBYN2N4ei9rK2lWeUtlUXFnWkZqQVJWb2tGMC8rQi84N3RiS1QwNTRTZUU0MFBuaU9COGpRR2dYYU5RYzUvdlljUm9uUVBBWnVOSmIva29kbVBra3ZkYlNva2RBM3pad2NkM1NsRDNnY2djWWZESmtVM2FsSUUwaG53ZmV6K2lic3NEQUxkQzk1dlhXM01mcEE1Q21ycEkzd01FaE1GcWc3SFdmZDNlMTkvYnZtV1ovUDhhN2NtTHcwWHh2QUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFCM1JKVFVVSDVBY0NFQjhmQlZ4SHRBQUFJQUJKUkVGVWVOcnNuWGw4Vk9XOS85L1BtUzA3a0lXd2hNVUVBUkVFcEFXMEltb1JwWXExaUZXdy9rVEZ1clNpWGNDNjBOcUNYYkQxdXR3cVdtcXhyZEQySXJkWHNiVEk5WXBMQ3lpaVV0a0RFUklnZXpLVFdjK2M4L3orbUhNbUo1TUppeUlrOEx4ZnIvTUtaQ1l6a3pOblB2bnVYL0g5cjEzQW1xMVZSSDE5R1RieFp1WmQrQUczejF0RjBSMnJXRHR2R0ZETGlobmptTGRoSElzK1dNNzBQS0Q4R2E2NDlGSEtMMTNNOW1jbjA0cWZGYlBHTXUvTjBTellzSndiaXV6dlJ5bGZzWUNIRnIvQzVqMEJmSVZuTWY3bWU3aW1iZ0YzL0M3S3pHVWJXVGllTGtrNEhPYkFnUVBVMU5SUVYxZEhZMk1qVFUxTkJBSUJXbHBhQ0FhRGhNTmh3dUV3MFdpVWFEUktMQllqRm91aDZ6cTZyaE9QeDVPSFlSakpyNFpoWUpxbTg5L0NORTJjaDVUUy9pcWtsTmdISUZLL0FrZ3BoZlhTazE5VHZpZDI3ZHBWWEZCUTBOdm44eFc3WEs1aVRkT0tORTByRUVMa0F6MkFQQ0ZFSHBBTlpBR1pnTmM2WElCbVBaNEpHRURNT3NKQUNBaEtLZjJBWDByWkpLVnNrRkxXRzRaUnArdDZkU1FTcVRsNDhPREJrU05IMWxpUEl4MUh1LzhMSVZKdnM3OEhJSVVRN2I0NkRxbHBHa0lJTkUxTFBhVEw1Y0xsY3FGcEd2YS8zVzUzOHF0OWVEd2UzRzQzaG1IUXZYdDNmRDRmUHArUHpNeE1Nak16eWM3T0ppY25oOXpjWExwMzcwNlBIajBvTEN5a1o4K2U5T25UaDh6TXpHTzQ2dnlzbXp1Sm16ZFBaZFhhK1F4RGtZcDkwYmVlc2hXekdEdnZUVVl2Mk1EeVZtWDZISWl5YnM1WWJsNVZ4QjJyMWpLdmk3MDdzVmlNQXdjT2NPalFJZXJxNm1ob2FLQ3BxUW0vMzU4VXRGQW9SQ1FTSVJLSkhGSFFuR0xtUEV6VEZMYkFwWWhaR3lHenhja3BVcW1DNWZ4L1RVM040SnljbkVGdXQ3dE0wN1JTSWNSQUljUUFZQUNRMFVsT2N3VFlKNlg4eERUTkNzTXc5c1ppc1QyTmpZM2xBd1lNMkowaWNQSXdndGRPQUczaEUwSzBFVHBOMDJTcXlGbkNsaFE1NStFVU41ZkxoV0VZNU9YbDRmVjY4WHE5K0h3K01qSXl5TWpJSUNzckt5bHdlWGw1ZE8vZW5mejhmQW9MQytuVnF4ZDkrdlRCNi9VZVZ0QzJybmlSbDk1Y3hZcFZsUXhiOENyTGJ5aFJLcFlHZHkzUWFsaHRaZkh2MWhQakxDNGNYM1RjQkd6ck0zTlpWaktQK1ZOTDhObmZMVi9CNG5VQjZEdVZTN3VZcU8zZnY1OURodzVSVzF0TGZYMDlqWTJOK1AxK0FvRkFVdERDNGZCaEJVM1g5YVIxbGlwcTZjVE10c3BzWWJQL0tLVVJzamIvMzdWclY4OCtmZnFNOEhnOEkxd3UxOWxDaUxPQnN5RDVWblJtTW9EQlFvakJ0cEI0dlY1eWNuSXdUVE1LYkROTmMyczhIdDhhRG9jLzNybHo1OGZqeG8ycnN5eEZLUk1uU3RyL2Q0cWNsRklLSWV6N0pBWE9NSXlrOVdaYmM5WWhPaEk1cDdDWnBvbW1hWGc4SGp3ZUQxNnZsM0E0ak0vbkl4UUtFUXdHYVdscElSQUk0UGY3YVdwcW9yR3hrWWFHQm1wcmErblZxeGY5K3ZYcitMTzA2Z2wrdDc2SWNUYy95Wk5LMURxMjJJWmNjRDJUSnc2amlGbzJyMXZEQjFWUWV2TlNWczRmVDk1eGVZcEtWc3lheHJ3My9mUWROWkdKbzB2QXY1WDFyMnhnVDZ3dlZ5NWV5Wk9UaTdyRXlhcXVybTduZGpZM055ZmRUcWVnUlNLUmRvSjJCQ3ROMkc1bmlxQ0pEcXl5ZGhiWnRkZGU2MXF5Wk1rWE16SXl2dUJ5dWNZSUljNEZCcDltMS9RdTB6VGYxM1Y5czkvdmYvL3JYLy82Kyt2V3JUTWQ0cFlVT1NHRW1jNmlTMmZOYVpvbTAxaHh1Rnl1TmlJbnBTUXJLeXZwbmpvRnp1djFKcTIzek14TXNyS3lrdTVwdDI3ZDJybW54Y1hGU3FFK3JiQjkvNmF2c0c3OU51cklwYkJzTkZOdm5zYzkwNGNkSjFHenFXWDlpMCt3ZU5rNk5wZFhFYUNRMHZHVHVmbWVlN2hoZE9jWHRlYm1acXFxcXBKV1dqcTNNMTBjVGRkMVlyRlkwa0pMRTBjVHpqaGFHc3RNcEltWDJWYVorTjczdnVkNitPR0hML0Q1Zk9kcG1uYStFT0k4SUVkZDFtMW9rVkt1ajhmajZ3T0J3TWE3N3Jwci9WLys4cGQ0R3FFem5hNnJRK1NjY1RtWmFzbWx4TitrbEpLTWpJeDJzVGV2MTVzVXVJN2liMDczdEtpb2lGNjlldEczYjErNmRldW0zc1hQR21OVHRLTHJPdnYzNzI5anBUVTFOU1d0dEtPSm82VkxEdGlDbG1LZEpkMU1oMFdHVThpa2xGcERROE93bkp5Y2kxd3UxNFZDaUltQXV1cVA4ZStVYVpwdjZicitkblYxOWRzREJ3N2Nib2xiTzZ2T2FkSFoxcHZ6MzNhQ3dTbHlVa3A4UHA5TWwxeEl0ZDdTeGQ5czY2MTc5KzV0ckxkKy9mcmg4WGpVdTZlRTdiTng2TkFoS2lzcjJ5VUhuRzZuTFdxMmxXWmJhRWNyYUlaaEpOMU0welE3RkxOUUtIU3gxK3VkcEduYUpHQ0VlbmVPSy8rT3grT3YrLzMrTndvTEM5OG1rY1UxVThXdUk1R3prdzIydXdyZzlYcVRGbHhIQW1kYmNMYjFab3ViMHoxTlRTNlVsSlRRcTFjdjlZNHBZVHQyZ3NFZysvYnQ0OENCQTFSWFY2ZE5EaHlwZkNQRjdSUXBpUUduZFNaU0xMU2ttSVhENFNsZXIzZUtFR0lLMEZlOU15ZUVLc013L2hFSUJOYm01K2V2cGJWY0phM0lPV055dHFzSzRIYTdwYk04eEJhNUkxbHZxZTVwYm00dWVYbDU5T2pSZzRLQ0FvcUxpK25UcHcvOSsvY25PenRidlZ0SzJJNk8vZnYzSjYwMFp5d3RYWElnTlphV3hrbzdrcUNKMUpoWk1CaTh4T2Z6WFNXRXVGS0pXYWNRdWRWTlRVMnJpNHFLYkV1dWpjaWxXbkgydngzdWFUdUJjN3ZkSFFxYzAzcExUUzZreHQ1S1Nrb09rejFWS0dFREFvRUFuM3p5Q1ZWVlZXMnN0T2JtNWpZMWFVZFpaQ3RzMTlOMk53OWpuV21OalkzRGMzSnl2cVpwMnRXZ2FpMDdLZHRpc2RnckJ3NGMrRnRwYWVsV2g4QVpEcEZ6eHViYVdIRjI5dFFXT1V2WVpEcjNOTlY2YzlhKzJabFQyM3JyMjdjdkF3WU1JRGMzVjcxRFN0amFXMmwyZ2lCZHhyT2pFZzViMU5JSm1yTkx3Q2xvdHBpdFdyVXFZOUtrU2RlNjNlN3BRb2pMMUdYWWRUQk5jMDBvRkhyNXFhZWVldVhCQng4TUEvR09SQzZkd0RscjROSUpuQzF1SFpXR3BHWk83Y1NDc3Q2VXNBRVFDb1hZdTNkdnV3U0JiYVcxdExRa1kybEg2Qnc0bktBSnA5dloxTlEwSWpzNyt6cE4wNjREMUpYWXhmOG02cnIrMHY3OSsvODZhTkNnYlE1WDFVaDFWUjBDSjQ4a2NCMWxUdTNZVzA1T1R0SjZTMDBzbkhIR0dXUmxaYWwzNW5RVnRvTUhEeVpkejVxYW1qWUpnaVBWcFRsRUxhMmdXUVcxYmR6TlVDZzB4ZXYxemhCQ1hLc3V1VlBTaWx2WjFOVDBVbUZoNGV0U3lyZ1F3aWx3aHRPQ3M0WE9HWWRMRmJpT1ltL3A2dDVzMTdSbno1NUoxN1IzNzk2bi9YdmlQcDErV2NNd0tDOHZaOSsrZlJ3OGVERFpFdFhjM0l6Zjd5Y1lEQ1pGTFJxTnB1MGVzQVhORVVkTEsyZzMzbmlqYThtU0pUZTYzZTRiZ1F2VXgvL1VSZE8wYWZuNStkTmlzZGc3TzNmdS9QTXR0OXp5MHNhTkcrT1dtMnBJS2R0bFZnM0RrS1pwU2szVDdGaXNkSllFeGVOeDZTd1hzajBFWnlqRS9xTnIveEVPaFVMSmRxMnlzakpjTHBjU3RsT2RwcVltOXV6WjB5YnI2V3lKT2xLeGJScTNVemk2QkpLQ3RtblRwdHdSSTBiTWNybGNONkZxems0djkwZUlMMlZuWjMvcFgvLzYxemNqa2NqeVpjdVcvZVcyMjI3elc5WmJ2Q09CazFKS1I2RzJVK0JrYWd1ZXM5ZjRTQUpYV2xwSzkrN2RsU3Q2cWxKWldVbEZSUVdWbFpWcGE5UFNGZHNleGtwTEcwUGJ0bTFiajdLeXNsdGNMdGN0d0NEMU1ULzlNQXlEeXNwS0Jnd1lZSCtyUEJLSi9PR1ZWMTc1ODNYWFhkZG9XM0QyWWNYZ3pIUXhPR2ZkbTlNOVRTMExzWXQ2MDlXOGxaU1VNSERnUUVwS1NwU3duVXBJS2RtNWN5ZWZmUEpKc3VEMmNGblAxQTZDRHR4T084dXBTU25GaHg5K21IZldXV2ZOZHJsY3M0RXk5ZkZXd3VZUU5wczk0WEQ0OTMvNjA1K1czM3JycmMxSEVEalQwWFNmMnJrZzAzVXNkSlExdFF0NkJ3d1l3T0RCZzdHNkpaU3dkV1VDZ1FDN2QrOU94dE5xYW1xU1dVOW53VzBIcnFkSWJZVktzZEswK2ZQbnUrYlBuLzlObDh2MVRWVDkyUWw4WXc5QjlRNW9xSUJ3VStJQXlPeWVPUElIUXZFUXlPM1ZtWVROL2tPN0xSUUt2ZkQxcjM5OTJlclZxMk9Xd05raVp6b0V6a3kxM3B3QzUvRjRaRWY5cHM1cElmbjUrZlRzMlpQZXZYdlR2MzkvQmcwYWROclV2SjJTd2xaZFhVMTVlVG43OSsvbjRNR0Q3VW81VXVOcHpvQnNPcmZUVGd6WVdjNUlKSEs5eCtPNUV4aW5sT1lFMFZBQnU5Y2x2aDROK1FOaDBNVEUxMDRpYkE2QjIrajMrNWQyNzk3OUZTR0VuaUp3N1Z4VVJ3ZURUTFhlVW12ZVVndDY3WktRM3IxNzA2OWZQOHJLeWs2TGNVaW5YUEtnb3FLaVRaTEFucHZXVVR6TmFhWFpnVm1uMitsSURHaWhVT2dTcjlkN2w5WHlwRGhSYlBrclZIMTQ3RUs0c1FMNmpvSVJYKzFjMW9RUVk3dDE2emJXTUl3cmEycHFsdmJ1M2Z1ZlRvRkxUVExZQ1FacldJSk1tZDluLy8rb2tneVJTSVJ3T016QWdRT1ZzSFdWZU5xT0hUdllzMmRQc2pYS0hqUFVVVHl0QTllem5kdlowTkF3T0M4djcxdENpRHVVeXB4QTRoSFk4RUxDL2Z5MFZIMlFjRmZQdlE3Y0daM3ExOU0wN1N1OWV2WDZTaXdXVy9MeHh4Ly9mdlRvMGVVT2diUExSQXpBTkUzVHRQZGIyTmxUdTJYUEtXNnBJbWNud0ZMRkxSS0pNR1RJa0ZNMjduWktDRnM0SEdiSGpoMVVWRlMwNmZlMDY5TTZpcWVsV21tV3FDWGR6bG16WnJtZWUrNjV1MTB1MXh4QXpXRSswV3hZQ29IcTQrUEd2djluR0h0VHAvdzFQUjdQN0ZHalJrMEpCb1BQVHBndzRmZWJOMitPQWJwbHZXbTJpeXFsTk8xeDVsWUNTenFISzZRS1hMcFNFV2ZZeFJhM1kxc2tvNFR0aE5EWTJNak9uVHVwcUtoSURvUjBUdVZJVjU5bS9SVnppcHJUU3RPa2xDSVVDazMyK1h6M0FsOVdDbk9TM00vaklXcE9jZHZ5UDUzT0xYWFFOeXNyNnlmdnZ2dnV4VFUxTlV0NjkrNzlsaEFpNW5CUEJhMDlxVExGZ25NS25FeTNGQ2lkZTJwWEFRd2VQSmdlUFhxY1lzTG1YOEdNVWZQWWtIc052L3Z3VVNaMm9SZGZYVjNkcHB6RGJtSlBWM1RyS09VUXRubWV4a3JUS2lzcmV4VVhGOStyYWRwM2xMcWNKQm9xamoybWRyUnVhZCtSSnpTaDhDbmMwNHQ3OWVwMWNUUWEvZlhycjcvK3V5bFRwaHl5M0ZQTktYQ0pYVFRDN01oNmM3aXFISTJiT25qdzRGTXFxZEJsTGJiOSsvZXphOWN1UHZua2syUTVoN09USUYyU0lOVktNd3pEYWFWcGtVaGt1c2ZqK1E0d1JxbkxTV1RYRzYzLzFnL3gwSS8vd2JJR0dEZmo2eXlma0FrWVZINjRpWWRlM2N2NnlnaGtaak42NUFqbVRSL0NhS3NIUExwL053dFdiT0dWdlg0Q1pGQTZ1RDkzVEIvTDlOM3JZT3pBVG44S3ZGN3Z0eTY3N0xMejYrdnJueTBvS0ZndGhIQlo3cW51aUwwSlovd3RqY0IxR0h0THRlQnNnZXZ5VTBMODVheDdaUm51U2FQbXNRY2c4QkkzbDY1ajVrc2JXVmkybFJjWFBNVGlOVnVwaXZyb08yd2lOODlmeUMyajh6ckZheTh2TDJmMzd0MUpVYlBMT1ZLYjJEc1NOV2ZHVTBxcFZWZFg5eXNvS1BpdUVPSXVwU29ubWNBaGFQd2srZCt0cjI5a1JVUEt0ZnZ4djVqeGJEbFZlQ2dkV0l5dm9aWU42OWN6b3g3V2ZtY0lKYzE3bWZQNE83d1doc0xpWW9iUnpJYXRPNW4zZUl5OEg3cVlmTmFoazFMbmRxd0lJVWJuNStjdmpzVml2M25ublhlZXYvamlpeXVGRUpyRFBZMWp0ZkxaazBUc3pLbFQzSnhiejV6TGcrellzbk80UXl3V282eXNLOWFabDdOaXpod1dyZG1HMzVlTGUrYk1DL25kc2plcDhwWnk2UTNYY0dtUm4zVVB6V0wrS2o5OUw1ek9IU1hsdkxKc0ZRdG4rY2xidTVUcEozbXAxUGJ0MjVPRnQ4NmV6OE5rUG9XejE5TlJsNlpKS1VVa0Vwbm04WGkrQjN4QnFVcG5pQzlzYi8xMy9RNFd2TnBJTE9VdVc3ZldFczNMNXNJckxtZnBoQndJN1diV0Q5N2h6YjM3V0I4YXd1U0tmV3oxWk5CMzJGaFczbm9HUmJUdy9LS1hXRmhSeGFxOU1MbStva3NJbTQzSDQ3bHQ0c1NKWTJwcmF4Y1hGUld0c1dKdm1pVnF0dlZHd25DVHFkYWJTSW5Ea2VxaU9qZW4yUUkzZE9qUUxuYmhSS0hvR3VZdm44cmt2Qlc0YjVsM0phOHRlNU1xMzJobXpyK1RpWlR6VEhrZFVNclVlZk9aTnl6S3BXY3RadFdlWFBMOE9MWXJuMWlrbEh6ODhjZnMzcjI3emNKaWUydVVQWmtqSlVtUUttckplTnIyN2R1N2w1V1ZmVi9UdEhsS1RUb1I5UlhXUDJLcytlc0hiS0FINHdhMnNLRkNUOTVsL0xWZlkyTzZBVkFlTDNrZXlCczVrYmRHcG50d0Yza2VTendIanU5U3AwVUljVzVoWWVGemtVamtpVC8rOFkrL25UMTdkcU5sdmVtMGpzZ3liRUZ6eHQ3c1FhZE9jVXRkKzVnUXVTaE5GZS95NXlmMlVqanJQM2xzNXRsZHFCeGtHTlBuRDdPTnQzUXh0akltWGptS0o3Wjl3T0lyeDdKbTFIakdYM29OTSsrWnpMQ1Q1SW5xdXM3SEgzK2M3Q1pJTGJ4TkxlZXcwdG1wV2M5a2dpQVlERjdvOC9ubUNpRW1LeVhwWkZndFV0RzltMWl3S1VMZkN5WnljM3hkRzJHenFmMXdFd3ZlYTZaMmJ4VWI0aGxjZU8wb0pqczMxQjNhelVPdlZsRlpmNGoxRlJwOXg0emxqc0ZBUE5wbFQ0L1A1N3ZuNXB0dlBudlNwRW5QRGh3NDhGMHI5aGF6WEZNaGhEQVNobHByM00zcG1xWk1Fa2tJV3p4QzNkNHR2TDUvUHdmOEp1Nk1Ya3lkdklNUFA0eHo5dGxuZDhtMWYybVRCOFB1WE03YTBTdFl0dXcxMXExZng3SkhYMlBaNzY1azhkb25tWHlDeFMwU2lhUVZOYnZ3TnQwK0FvZWxsdXA2YXJGWTdIYVh5M1VmMEVlcFNDY2swZ3cwOC96eTNWUmw5dU9KcTN1UnR5TDlYZjE3OTdGcWt6L3huN3h1REN0T3FjZnkxN0ptVXdWMUFPNXNocDNSTGJFSS9MTVUvSFlDTkUyYk5HREFnR0Yrdi84LzgvTHkvZ3hvbG51YXROeHdKQlpzajhleTNvVGxzbUthVVJxcnlxbHRDcU9qNGMzcnlhQnpoelAyM0hNNFM2dGc1ODZFcTNyMjJXZVRrWkhSdGM0UmdNL3lVYU5Sd0wrZVorYk1aZEZyZWN4OGNpbXZibHpMUTZPQXVuV3MybnhpWDF3d0dPU2pqejQ2YkoxYVNseE54R0l4WWZkOFdtYTJacHFtVmxWVjFTY2Vqei9tY3JtZVVLTFd1YW45MTBZV1Y4SzRxOGN5OVRDVHJzdXUvaHA3bnY0R0crNDlpN05DMVN4KzlsK3NDVG51TVBnOE5qNTlFOXNXWE13MUJVRmVXL0U2aS9ZYXA4cHA2cE9ibS92VGFEUjYvNnBWcTBxa2xCbldSOWtMZUtTVUxpbWxabC8vVmd4TjJONU1KQklSNFdBejFRMGhvcVlnbytnTVJvNFl6QmtGR2VqTk5SdzRjSUNLaWdwMjd0ekpSeDk5UkRBWTdHSVdtNitJdkZ3Z3NJWUYwMlpSdm5BaGViVnJXTFZxSFZzclAyQnlTUzNyeWdGdkdhTk9ZTElrRUFpMHNkU2NMVksyb0RuSGQ5dXVwMVdmMWlickdRd0dKL2g4dnZ1RUVKY3EyZWprWkJpcytMOERCSUFOeTEraWRIbnJUUnVXLzRVSis3L0NxNWQ1cWRWZDVCWGtVT1J4VVRSNEdOZVViR05oUlMwYnFtRmlmZ3VWWVFOZlhqZEtzc0JYMEorWnc3SjVxVHJJNXAwdGNNN2dVK1owZWIzZTJWT21UQ25kdTNmdk0yZWNjY1o3VnR6TlRpd0lJWVJobXFacEwzaHVHM2R6aVc3ZE1tVkxNRUs0ZWpjYmF6OGh0N0F2WldjT1lxakRYYldQczg4K3U4dE1CM0hqbThnOTg2OWs2NEkxN0NrdnB5cGF3cDFQTHNYLzBBSit0KzUzTEk1NUtUenJVdTZZdDVCYlRsQlRVWE56YzFMVTdHYjIrdnI2ZHU3bllUS2Z5WGhhTkJyOWh0dnR2aDgxL0xGcmtObVRzalA3Y0tFajVGRmJlWWh0ZnBQYzRtTEdueUZZcy94bDVtMkZjVE8reHZJSk9SQnE0SU1HQUMrRm1WQzUvblV1L1o5R2NzZGN6RnUzOWllUE1PWFZZVUFqTDgvYjZYcEdqNE5yZXNtQUFRTUdORFEwUEpXZm4vK0s1WnFLRk5jVVo5ek5Gam1QSjFOMEwrd21QZWdFQTM2YWF6L2hnOW9xYXVPWGNxSFYyZURzVVQzNzdMUHAxcTFiMTRpeGxVMS9rclhUbmQ4ZXo1M1B2c3FkSitFRk5UVTFmV3BSY3lRSnRGdHV1Y1cxZVBIaUgyaWE5aUNuMlc2SExrM0JjQ1pmZXluT3JNNzYzLytabWVzakRMdGtJbytlbDBtdHB5K0ZXL2V6WWZuTFRIb3ZIMTkxTGR2OGtIdm1FS2IyZ2hMUEVNYXRXYytHVGV1WVZGMUVtZDdNaG1vVDh2b3hjMWdtRkE4OTVVNmJFS0tzUjQ4ZXZ3eUZRbjNHangrLzVLT1BQdEljMXB0dWlWa3k3aGFQeDl0a1RLWFhLM01LZWxQWUcyTEJJTzVvTTQyTnliS1JOc2ZaWjUvZDZVZU9kNm9QZkdOajR4RkZMWjM3bVpva09IVG9VTCtDZ29MN2hSQ3psVkowTVlxSEp1YXVIWWFpTDB4a09adFlzR1l2NjNkVlEyWWU0eTRZd2Z5ckJ5VW1GUlFNNGRsN1hTeGFzWVUxZTZ2WlFBWm5EVHVMTzZhUFlXbzNvR0RncVhyMjNKbVptZlBlZSsrOTR0ZGZmLzAzbDE5K2VhVnR1Vm5XVzl5K1k3cWtRdUtMajh6Y0FqSmxDODNONllYTkZyZk8zRi9hYVFaTk9rWE56bjdhb3VhTXFhV3gxT3pXS00wMFRSRUlCTDZRbVpuNWdKcVoxb1hac0xSTjk4RnhwY2NBR0RmcmMzbm9veDAwZVNJd0RHUDF6cDA3Rnc4Yk5td0xFTFd5cGpxUVhBK29hWm9VUXBqV2RGNXA3VlNRenBIajlrVGU3dDI3VTFCUVFLOWV2WklES3p1enVIVUtpODNwZnFhSzJ1SGNUNnZmTStsK2hzUGh5N3hlNzRPb3liWmRtek12Z28wdmZINlBmUnJnY3JtbURCMDZ0S0N5c3ZMcGtwS1N0NnhFZ20yNUlZVEFtVlN3ZzI2dGxsc3lGc2ZoakovaHc0ZDNTcmYwcEF1Yk0xSGdGTFhHeHNhMEV6cFMzTStrcUVXajBSbHV0L3RCNEV5bERGMmMvSUdKS1J6SGU4SkhKNS9zOFRuRTNjYjI2ZE1udjY2dTdxbkN3c0svU1NtZFNRVWRSMUxCSVdEU2NsM2JxVms2Z1JOQ01IejQ4RTZYVURpcHd1WXM2WERHMUd4Uk81ejc2UlMxV0N4Mmg4dmxlb2lUMXZDbE9PNk11QnI4aDQ3ZlRMWWVBeEtQZVpvaGhCaFVVRkR3VUZOVFUwNzM3dDMveTJHNXRRbEYyZUlXajhmVGlsdEhvbVlmSTBhTTZGU2xJQ2ROMklMQllJZUpnalIxYXNLNTQ5TXBhcnF1ejlVMDdTRWdRNm5CS2NhNFdjZG5pbTZQQVREbSt0UDVUQloxNjladGZrdExTM1pPVHM3dm5XNnBVN1RTaVp1ZFhFZ1Z0RlJoMHpTTkVTTkdrSjJkM1NsK1llMWtQS216VGVvb3NwL0N1VUhLanFrOS9mVFRIbDNYZjZocDJrSWxhcWNvN2d6NDBoMEpGL0t6dUovalpwMXl0V3VmZ296czdPd0hRcUhRN1ZkZWVXVzJvMVBCQTdpdFRnV1hhWnJDTUF6aDZGSWdHbzBLKy9NWURBYngrLzAwTlRWUlgxL1BvVU9IcUt5c3BMeThuSTgvL3BoSUpOSXBmbG5Yd3c4L2ZFS2ZVTmQxL3YzdmY3Y1pQZVMwMUZKaWFzTGV5RzRuQ3FTVTR0MTMzODM1eWxlKzhpTk4wMzZnUHYybkFjVkRFN0d4VUpQVlMzcVVWdG81VjUvUUtSNVNTdngrZjZldThmSjRQT2RObXpZTmw4dTFkZDI2ZGZFT3BuZklOSWtEa2VxU09wcnMyeHhGUlVXNFhLN1RSOWlrbEd6WnNxV05xS1hiSkpVNmRzZ3BhanQyN09neGRPalFIMnFhOWwzMWlUK055T3dPSmFNU0l1ZkxTVGhLbmd5SVdUMk11Y1dRWFpnUXNpR1RvUFNDeE0rY1FMcUNzQUc0M2U2eDU1OS92aWd1THQ3K3Q3LzlUWGRtUmpzU042Y0FPdXZaVWdYTy9scGNYSHhTUng2ZDBCaGJSNzJmVHZlem81SU9LYVVvTHk4djZOKy8vNE5DaUx2VkovMDBKYmRYNGxBTmNwOEpuODkzKzIyMzNhWjV2ZDRsdDk5K2V5MjB4czRjVnBsaEdJYnRhYlZKS0RqamE4NDRtOHZsd3Q1YVAzejQ4Rk5mMk96SnR4Mk5IanBNOFczU1VsT2lwbEFjVjNHNzdhYWJiaUlhalQ0M1o4NmNCcWRsbGs3Y2NHUkxPeEsyVkhFN1daTjRUNGdyV2w1ZW50d21kZkRnd1E3SGVhY3I2YkJqYXBiN09VZGRqb3JPU2xkeFJWUGMwakVqUjQ2VVFvaC92L25tbTRabGpiVnpTMVBFcmwyOHpYa09uTzZweStVaVB6Ly8xTFBZOXUvZmY5UXh0WFIxYWs4Ly9iUm41TWlSRDJxYWRvLzY2Q2dVeDUrTWpJemJIM2pnZ2ZpbVRadWVYYjE2TmVrc045TTBEV2d0QmJIS1JlVGgzRkdYeTRYVnBuWEN0MTk5cnNKV1hWMmRYSkdYdW5qbGNERTFaNTNhN05tekg5UTA3ZnZxOGxNb1BqOHlNek8vdFdMRmlsaDJkdlp2YlVGemlKdkVXdEpzK2FiSm1Kc1FRanJkVU9kaHU2TzJ1SjNJdmFXZm03RFpHOXFkN21kSDQ3eFRZMm9weGJjUHFzdE9vZmo4eWNySytrNGdFSWprNXViK2tiWlpVcGxheEd0L1h5U1FIY1haYkt2TkZyY1QxVFQvdVFoYk9CeHVJMnIyNHBYbTV1YkR1cC9XS085a201VFZVYUJRS0U0UU9UazUzMmxzYkF6MTZORmpwV1cxU1ZKaWJKYTRPUzAySVlTUXRxZzVCYzYyMkd4aE8rZWNjOGpNek94NndpYWxaTWVPSGUxMkZLUmFhdFkyS2VjU1kreUZLOUZvZEliVis2azZDaFNLRTB0RzkrN2Q1MVJYVndlTGk0di9MaFA5VjIwKzMvWlhlMkNsWmEyMXNkeWNGcHZUSmZYNWZJd2NPZkp6cjNFNzdzTG1GTFhVN0tlOTk3T2p5YmVtYVlwd09IeVpOYVZETmJRckZDZUhvcUtpb3J2Mjd0M3JQK09NTS82Wllyblo4VGE3OUFPSG9BbE4wMlJIY1RaYjJESXlNajczTXBEakttd1ZGUlhzMmJPSHFxcXFwS1dXNm40NnVncElLZXZRQW9IQUY2eDVhbXIwa0VKeEVoRkNET3Jmdi8vdG16ZHZiaG85ZXZUSGx1V1duTnNtaEdoanRaR1NJVTJOczduZGJ0eHVOMTZ2RjYvWFMwWkdCZ01IRHV6OHdsWmRYWjBVdGVycTZxU28yZjJmRHZlelRhdVVjNXgzWm1ibUE2Z2hrUXBGcDBEVHRDK09HREZpOXNxVkt4K2RObTFhbFVQY3BHTjJHNlpwbW5hbU5KM1Zac2ZhbkJsU2UwTHY1NVVwUFM3Q0ZnZ0VrcE02cXF1cjJ6UzFPMk5xNmNvNnBKVGlsbHR1Y1ZrN0N0UTRiNFdpRStGeXVTNi80b29yYW9jT0hmclk5dTNielJSeHN6T24wdDRxYjR1Yk01bGdXMnoyVjYvWG0zUkpzN0t5UHBjNWJwOVoyS1NVN1ZxbG5KWmF1cWIyMUF6bzRzV0xmNkFXcnlnVW5ST3YxM3ZqdSsrK1c1T2JtL3Q3UzlETUZIR1RxWmxTVGRQYVdHN3BTajk4UGgrWm1abU1HalhxdUNjVFByT3c3ZHk1azMzNzlpWExPbzVtVFY1S0J2UWJxbFpOb2VqYzVPVGszRk5kWFgyb3VMajQ3NENaeGkxdEUzT3p5ajZTNG5hNFdGdFdWaFpEaGd6cFBNSldXVm5acmxhdGcxWXAwbVZBZzhIZ0JHdVpzZHI3cVZCMGJ0eEZSVVYzYk4yNjlkQ3dZY1BldDZ3ejIwcHJseW1OeCtPeW80TGRkTEcyN094c1NrcU8zMGIyVHkwb1RVMU5hV3ZWT2hBMWtiS2xYVHR3NEVBZm44OTNIMm9BalVMUkpSQkNsQTBlUFBpV0YxOTg4Y0FOTjl4d3dPR1NKaTI0bFBxMnBFdWFUdGljNHBhVmxVVk9UczV4R3lEZy9qVDdHdzNUWk0rL3QxSzVldy9WKzZ0b09GUkRjMzA5Z2FabVF2NEFrV0NJU0NoRU5CSkJqOFNFcnNlSTYzRmhHcWFRTWlGc1BUM2hlYUpwMzZYcWNsR2NuRStwQmk0UGFKN0V3RXB2dGpvblI0SEw1YnA0MnJScEZjQlR0TWJiVE5Ja0UxTEZ6WmxJY0xxa3prVEN5SkVqajh2MDNVOWxzWlh2L1lUS3FvTlUxOVRSME5CSXM5OVBTMHVRVUNoTU9CSWhFbzBTamNYUVk3clE0M0hpY1NNeE5saEtJU1ZhckhyMzdVS0l1OVJsb2pocFNCUGlVU0FLc1JZSU5VSkdMbVRrMmQ2VW9nTXlNakp1cnErdnJ5Z29LUGdyWUhTVVRCQkNTRHZlbG1xNU9kMVJwN0RsNU9Rd2VQRGdFeTlzQjZ0cjJGZFp4YUhxV3VvYkdtbHE5aE1JdEJBTWhRaUZJMFFpVWFMUkdIcE1KeUZxY1JJeE5TbWtsQ0pZdGUxQ2w4dDFuN284RkoxTDZBd0lONEVlaHB5ZUNZdE8wU0g1K2ZsM2JOMjZ0Y0tLdDVrcGg1UlN5b1MyQ2VMeGVESTdHbzFHNlVqY01qTXprK1Vmdlh2M1BuSENGZ3FGK1dSL0pRY1AxVkJiWDA5alV6TW9NaklCQUFBZ0FFbEVRVlQrUUFzdFNWR0xFSTNGaU9reDlIaGM2UEU0aHRFNmdtajdodi90N3ZQNTVnSjkxS1doNkpURW8rQS9tQkEzbCtkemY3cDE2OVoxbWwvOW9vc3VPcGE3OXdadUF2YVNpTEcxRVRaQVdpVmRwbUVZeE9OeEdZdkZSRFFhbGZhMnE1YVdsdVMycStycWFxcXFxcWlvcUdEbnpwMlVsWldSa2ZIcFc4V1BTZGoyN3R0UDFjRnFhdXRzVVF2UUVuUllhckVZc1ppT3JzZUZyc2N4REJORFdpNG9pTEl6Qm54ZndHVDE2VkYwYXN3NGhPb1R1eFZPQUdWbmZyYSt5ZkpkMndIdzlmM2lwMzZNYU5XN0FGU2QrZVN4L05nbFlUTzJiVkQ1OTM5TFlxdThnWjFJQUNrUVVrZ3BNRTFKWEVMVWdHQmNhQ0ltTldKb0lvSkxoSENKSUc2WEg3ZXJDWStuRG8vM0VBY1haWEhHR1dkdzVtMGZmYXJmNTZqdDdmMVZCNmlzT2toTmJSMzFqVTAwK3dNRVdvS0V3bUVpNFVSY0xSYUxFZE4xZEQxTzNEQXdERk5JTXhGWGl4emNPVTNUdEhucVU2UG9NcGJiMGE3Nk80M0oxTHpmZW5mZ2p5ZVFtTVRqQTd5V3dlU1NTSmNFVFNLRmlSUUdramdtT2dZeDRrUmxuSWpVQ2Nzb1FUTkt3QXpUYUFTcGkvdXByYTJscHFibVU3K3VveEsyUUVzTCt5c1BjS2ltbHZyNlJwcWIvUVJhV2hMSkFxZW9XZFphc2w3TnlvQlc3M2l2bjhmai9wNjZEQlJkaW5CeklzbWdPTHhQNnVrKzY5bWlXYjA3RURkTmdtWTZ4RTJYcGtpS0d6b1JxUk9TVVZyTUNINGpUR004bUhSUFc0eFB0NEQ1cUZ6UlQvWlZjYUM2aHJyNkJocWJFM0cxWURCTXlKRUJqU1dTQmJhb1lab1NLYVdRU0swZ3Y4ZDNnUytvUytBVTh0YWFZd1NlMjBIa1g5VVlWYUV1OFpwZGZiUEpPSzhudWQ4Y2d0Yk5leFEvSVJON1MzMjVKKzAxZi9MWEozbUdhL241MWIxUDl0bkQ5L09iS0xpaWpzWXhMeE9PdGQ0aUVLTXZ6UnZ4ZFdyNXRlMlNTakNFTTVrQTBrUktBeE1CYU5JUUxpR2tTMnE0aFlaYnV2Q1lVYnpDamM5d296VTNrNW1aU2FVZVlhanIyRVB5UjdUWTlsY2RwT3JnSVdycjZtbXdrZ1dKREtpenNWMXY2NEphR2RDRUM3cHJ1aXJ0T1BYd1AvRXh3UlY3dTR5b0FSaFZRWUlyOXVKLzR1T2oveUU5ck43c284Q25lVzUrYitCUEpqZ3NOaS9nQWR3U3FRR2FCR0ZDV3BjMEtuWENVcmRjMGdoK3Y1K21waVlPNlUwYzBCdVByOFVXRElhb1BIQ1E2dG82R2hxYWt2VnF3WkF0YWpHaWxxakY0M0VSTjZ3c3FPV0NWbjY4dnBmSDQvNk9ldHRQUFNML3F1bXlyejI2cWY3bzd4eVBkc25mc2ZvZmovRFMzbUlLM0g1YUdnTzRoMDFrY0dBTGU1cjhOSWVMR2YrTm16aTM2UGhtZlh0NXV0MEVmSnpPYXBOSUNVS2FTRk1BQmxMR3BTazBZVWczY2FKb3VIRVJsaTY4cGhzUkROTGMzRXl0SGlWSHk2QzdLNHNzelhkOExMWkV2VnBOc2w3TkZyVkVFVzRzVVlTYkdCaHB1YUFtcGpSdEYxUVVGeFhkQzR4Uk1uQnFJUU02WmtPMHk3NStvemFNR2RDUDhwZnR1akcyZU9HWCtPcnM3M0xydHk4blkrTmE2cys5Z3h2dWVKQ1pZLzI4dmE3aXVEK2ZRSXdDcGx0V213L3dTaXZXWm1tTklHRzFZVnR0Y1dtSUdBWXhhUkNWT2hFWkl5U2poRUloV2xwYWFJd0hxWTM3cVlvMUhCOVg5RkIxTFFjT1ZWTmIxNUFvN1docG9TVVlJaHdKRTdXS2NHTkphODJ3dXd2c0xLZ0lIZGd4V2RPRXN0Wk9RVVN1cDJ2L0FvWkU2K3Evd3hIeGtKMmJtMWdha3BsUGRrNHgvZnNsZnVlYzNFemlrYy9OeGY3bUgvLzR4M1BUdUtSMmxsU2taa25qR09qRWlVa3JVMnJxUkNJUlFxRVFUVWFJK25pQVEzb3pOYnIvc3dtYkhvOWJMbWc5RFZacHh5ZnZyT0t2ZjkvQTN1WW9rVmcwVVlTcjY4U2pBZEhVN0Nlc3QzWVh6SnB4amN2bjlkNmI3ckUzLy9SNlNzKzdseGNQcE54UTl6SXp6cHZHUSsrbGNSMys3eWVNdldrWjVVcFRUaU95eVBqMUxmVForVFd5Q3gwWDdJVHp5Rjk5QzcxMzNrM3ZkNjZueHpmN3Q3bUlqM1M3NHZPblQ1OCtNd2VJN2hrT3E4MWpoYjAwYWNYYVpFTFlFdUxXSmtzYUowSkMyTUxoY0tJRUpCNmlMaDdnb041SVhCcWZYdGlTcFIwTmpUVDUvYlFFZzBSMEEwdy9GZVhWaEdLNm5RVWxiaVJNZGRsYWlLczk5L2pQN3dhKzNPR3p4ajVrMGE5ZXAvYW9YbUlMYTFaOVFNblVTeWhUMTh6cFl4Vk9ta0MzUzFNYTAwdkhrUC8wQ0Z3Yi8wbjlWWCtrN3BkMXVPKytuTzVmeXpxNjJ4VW5CRTNUSnE0KzR3ZFRIVmFicDFYY3BJdWt1TFc2cERwRzRwQnhZbEluR28wU2lVUUlHaEg4Um9qR2VJdmxralorT21GcjlnYzRjS2c2VWRyUjFKem9BdzJHaU1STnBBRFpjcENxeG9qZEJ5cmloa3k0MTFJS3BCUU41UjhNZHJsY2N3NzdyRG5aOE1aL3N1aWZMVWQraFhWdjg5SjdnNWg1VVM5MXhad3U1UFluNzRFQkdLOVZZanBDZWU1SlorS3AzVW56STl1SmJXOUUvKzgzYWRuZ3dqZXA3MUhkcmpoeGRITmwzZlRINHR2N09jV050clZ0d2xuYjVyVGFZc1NKeFdKRW8xRkNNa2FMR2FIWkNGRWZiNkU2M2tUQUNCKzdzRlVkU0hRWE5EUTJPVnFtd3NUaUpyaTdrWjhoQ2RmWEVkVGoxdURJNUtRU0laRmFYcDc0MXVabFB5bVpObmt5cFdNbU0vYWFlU3o2Wjl2QW4zZmdWZHd6R1Y3NjZYTnNQa0lNdXZhTnY3UDVDNWN6dWZCdzRyZVB6VnYyNFZmWFV5Y1RxQjU0Si9URjdTd0RHM3NSUmUvZFFON1lqa2JUdVBEY1BZSE11azAwLzNmYlVwTDQwdi9pME9WdkVZdWwvSWpQZFZTM2QwVUdYRDNuVTlXd0ZWODJqMXN2c3djM25zbVZjKy9tSEd0UHNmdWNPL251Tjg0NXhrYzBpUDdnZVE2TWFGdkRkaGo2bnA4eitHcFNFd2xDdUt4RFF4TkpxODFJSkJLSVc0a0VYZGVKeFdLRVpZeVFHU1ZnUkdpS0I2azdveS9oMzF4RXo5ZHZTaDVGLzNGbXUza3NiY285cW12ck9GUlRTNTA5dGNOcW1RcEhvc1RpRWt4QlpsRTNYQWVhOERlN1JKYTN0UThVaVFnZjJINUozYXI1ZDh4Nk5zWU5QMXZDczROaDYvS2ZNK2YreHpocjFVS21KaS93ZkNaLzc5dHN1T2JuUFBUY1ZieDZkMGV6SmcveHlpdjdHRDlyTEhuMnR3Njh6WUtmTG1OenJEL1gzUDF0SmdlZVk4N1NGc3A2dDdENXFWRTgrdFJNaHZtVXBweHd2SVZrL2VKaXNrdmp4RmYraytZTlJYVDd5Wm13SjRycmdiRkV2dk15TGRzTnFOcEg1TlVvK3A0T1lpVkR4OUo5R29SdS9RQzlhRkpLQ01OQU9nVFFOV0VjT2VPaVJPN2JkM1MzbnlZYzJGZkJDOC8reHhIdk4rbUtyL0hGOHk4NnFzZjBYVFNRZ3VlbUFoQmF1WTJtSDZ3OThzOW9ucHZlNlBmQU94ZnQvK2ttSUc0ZGlYNVNwQW5DTkVHQXhBQnBJSVdPSVYzRUVaYXdSV1Nja0JuREp5SmtHbDZhbTNiUXdCZW85NFNURzY1aWRhT1E3T3BZMkE0Y1RHUkJtNXFhQ2JRa0NuSERZYXNJMTVCSWFhRExESEo5UWpSR3drUTBqOUJNS1VpOE9NM3I5ZDZWZDk2M1diazhuN0krT1FCTW5IRTV3NVl0NDRNS21EckM4V1NGbHpELzdwZVo5S3ZIZVA2YXA3a2xYU0g0M3RkNTZlQW81cDJmay96VytxWEw0UGJIV2RsN0s0c2V1SXNadWRONTlybXJLQVBXLy9SZVh0bzVrMkVqbE02YzhMakt0UFBKcW4yVDJ2dGlaUHppTW9xdTkrUC8xbjhUM2dQaWExZFJjRVVQV3JiWFFkVWVBai9hMDhHajlDRDdKeU1Rci82ZHdJY0dUT3JBb252Z2VncG41Q044Y2VJci8wSHozMExIY1B1cFQ1LytBN24va1NlTzYyTkczNmpnd09Dbmp2bm5TbjA5cndIK0RlaUFMcVdNQzd2T1RhS1I2RXJBQk9LWVVwTkN4SVVoUlR5ZXNOcGtuQWh1UW1iQ0pXMm9yR0hIZFM4UXp5aG1lR2EvSTd1aSs2dGFYZEJtZjhJRlRmU0JKa1lSNllZRWFSQ1B4OEhud3lVa2hoN0hxdkxSN3YvYnJ1dUZFRmY2Q25Pby9jZGpUTHZ5U29hZU41blN5LzZERGJFWTZUek9rdW5mNXA2QnUzbmlwMytuTXMzdFcxZjlIZjlGVnpIZVlZSDV2RkM1WXg5YmQrNm1QT29sTDdDUHlnQkFDLzVBNG5iRmlVZjY0NGlpSG5oSEZlUHJDMmJNaDZjdzhXWm9lUzVrNE1qWkxOZjFFOGp0K3duK1grNXpXRjd0WFNMOXViOVJlKzFmYVBqaEx1U2tTZlM0cWNjeDNLNDRrYmlFZHRtbWdUKzV3T0dTZWxwcjI1SWRDWmhPbDVURTlGMWQxNU5kQ1JFWlMzUWxHR0dhakNCMWV1Q3dIUWx1Z0ppdWM2aTZwdFVGRGJaT3c3WHIxZUptUXRpTWVGekVEWUhISllRUk40VmhDbTFvWHFGTGM3bnZCQ2hmOWhDelh1ckZ3bC85bnFsRDh2RUYvczZNeWM5MThQU0R1T1dCcTNocDFuTXNlbU42cXF5eDdCOHhKdjlzRkU3UGN2VGRQK0RLNTVieHU0cEIzUHlySll5dWY1bTUzNzZMeGJRUUhUaUxKNGVvaStta0NOdmYzc0JmZEQ3Wk0rTEVubnFWNW0wOXlQdVBhUlRsdVlCcUFuY2RJWnZsTFNiN213UFFpcURIUDB1dHYySnVCTkR0Lys0a2ErbC9VZnVyT2l1bTJraThEdUxiNnpEUDZrdkJ0S0c0WC9nWDhXVE05UWkzSzA0b1BUM2RyaDJoOWY3WEZ2T2dibGx1VHBkVWdwQVNhVnJpSnVQU0ZDSWVseTZYQ3gwelVRSWlkY0ptakJZalFyTVdwc0Zvb1VadnBzaWRoMGU0MGd2YkFhc1h0TEdweVdwd1Q4eFlpOW9ON3JwTzNBQ2thWThqd2hRdU5CRVhwcFRDazkvdm04QTRhR0h6UDNlVE4rYWJUQitTbjNpR1FBdUh5dy80UnN4aS9wV3ZjL05UeThpTmVaTWxIZEgzWG1hTjd4S1dwcnFWdnY1TXZmc0hURTI2dEZmeDVBdFhFWTJDVDhYV1RpSWhvaStzSmZxQy9mOEEvaHYzZ2RjRnNhT29QWXJWMFRKN09TR254VDNxZkFwL2trWHcxcldFOS9qeFBuQTkzVXUzMFREN3c2Ukl5U2lKbkJzdXZBOWNlNWpiRlNjdFRJSDQ0cklCZDA4ZXNmZUJWVW1YRkd5WDFHcTVRaVJNcDBUNWg1WVlUb2t1VFhSY1JORUp5eGcrMDBPTEViRUtkMXM0cERmUnoxdlEvam5Ea1FpSGFscG5yTFVFZzRuQmtkRldhMDNYZGVKU0lqR0ZFVTh1T2haQ0NIRk5XZSs4RmlHK21YaTRITW9HNWxQM3IyVTgvOC9kYkgzdjd6eDAvMUkraUVHMFEzWExZZUxkMytaU2dnUmFyM0xXdmJTUm9pc3ZaOWhSbmp3bGFwMlVWRkhyVzBydXo4L0RWOWpleFRUMzFCSGY3ampxb2hDTkpyNWZGMFBmV0ljWU40YThiNWJpTHUyQlo5Slk4cTdJSXY3V25rVDErbUZ2VjV4TWVyaXpyNzA3NTh1NXBEVElKMXhScWFWMkpCaUdJUXpEd0ZrQ2ttaVVqeEUwSXdTczhVYTF1cCtJMmI0OVRtdFhzNVpjbmRjcWFyb2V4N0NHajVpbWFTMW1RVWlFZUd6dTJObGVXdlZuOU8wLzVLRVJoM2ppZTdjeDdZRVYrQytieGN6aE9VVHJEMU96Vm5nSjgrOGUyZnFITmZBMkwvMnpGOWRjMWw5ZEVhY2FmZnVUT2FrVVg5OWpMOEdRYS8rUCtoL3VRWHh0RWtWLy93YUZQeTVGdnJxV3hsOVdIOVh0aXBPSFFBeTlzK2VsbDlLMmFMZE5INmxkdEdzbWhBM0RTSlIvNk5MdUpVMklXOGgyU1kwUTlVWUwxWHBUKytmNzV6OWVZbGQ1UmJzRkxmNFd5eVZ0M1R3bG90SEVMb080WVFocFNtM3Jodi9OSDF4MnhqdHduSnNDRHJ6TjgvL01ZZXIwVVJTcGE2SlRjbURjeTEzNjlmZlpjTlV4bUJzRGp1cHVobUZRV1ZuSmdBRURqdnFodS9ET2d3NTU0NDAzMHY5aGtuTFBILzd3aHp1ZWYvNzVPaUFJaElDd0VDSm11YWlHRU1LMHRsbEphOUdMdExkWTJjdGVjbkp5Nk5hdEcvbjUrUlFYRjFOU1VzS2dRWVBhN0VodzE5VzNyMW16VnVjbHJEVnIwMVE4Ym1CWTFwcVVDWFV0R3pqZ2x1TXVhZ0I5THVDVzZVbzhGS2MrRXlkTzdEU3ZwWFV0Nk9kRzZhaFJveVk5Ly96eksrMVlteEJDeHlyL0VFS1lRb2prbWo3bjNsRjdXM3hPVGc1NWVYbms1K2RUVkZSRTc5Njk2ZCsvUDRNR0RhS3NyRldLTkhzcFN6RG9xRm16ZHhmWW9tYjV1NlpwQ3ROcW5kcjBmNnR5WFM3dEZuVnBLaFNLbzZWYnQyN1h6SjA3TnpmcGprcnBzZHpScEV1YVdOZHBDbXU3bGJCTFB4THJCeEt0VnZhbUs3L2ZUMk5qSXpVMU5ZUkNyZldLbWoxbkxSUU90NDc1dHVKcXVwNFV0bmJXMm9oaFEyWUJnOVJiZFhyaTZwVjFlcngyemFYZTdPT0lFS0xzdnZ2dXU1ajJTUVNYbEZKTFRONld3alJOTEdGTDFyVFo0bVkzeU5zejIrd1Zmb2NPSFdwOTJ4SWRCZ2tYTkdLTitVNjRvRHB4bzYyMUppMXI3Y2F2WCsxeXVWdzNxYmZwOU1VM3BxRHJ2dll2RkI2RENxcGFrZU5OZm43K1YwdExTNzFwckRiTnR0b3NjV3RudGRuaVpvODFDZ2FEQkFJQkdoc2JxYTJ0SlJKSkxIL1JuTmFhTXd0cUQ0ODBEQVBUTUszbExBbHJiY21UaTI0RVZPUFNhVXplUFdlVGRYVi9YSDJ6dTQ2bDFqZUw3T2xua0RkbjJOSC9rQ2RUdmRuSDMybzcrKzIzMzU1d05GYmI0U3czcDlYVzNOemN4bXB6Si9ZWFJOUEcxaEsxSkNhR1phMVpGcHZtZHJ0dlZHL1A2WTNXelV2MyswZWQ0cDlBRGJ3NTZzMytIQ2d1THI0Q2VOTVN0cGlVMGkyRWNKTklKR2d5Z2JES1BxUmhHQ0llajh2VVdGc2tFbWxqdGRYVjFWRlNVb0xiS3VXd2Q0SW1sVEZ1MVpFWXBvRXBKVkpLSklqUXdSMVRnQXZVVzZNNDVjbnNCa0o4L3M5akduQm9LN1RVbkRaYnNUUTRiK2VyaTBjTnZ1S09qWmJGNWtGS0hZRkxTZ3dTaGhTbU5ER2tnU0YxNG1hVXVCRW1IZytpeHdQRVlrMUVvZzJFSXpXMGhBL1FIUHlFK3BiZEhQTC9PeUZzeVdMY3VHMnRHUmkyRzJwS3BKbFl6Z0pTZUQyZUdlcUtWNXp5dUgzZ3kvdjhueWZVQ0pXYlFRK2RkcWQ0WU4vaVNjQUhTYXNOUEVJU1IwZ1hDRk1paFpSZ1Npa053OFF3VE9LR2lXNFk2THBCVEk4VDFYWENrU2pCY0pSQU1FeFRvSVc2eG1hMGFDVGhndXB4dlcwVzFISkRyYVFCVWlLYTltNFpJWVM0VmwzMWlsUGJuSEJCVHM4VDgxd3ROYWVscUFGNDNPNnIvdmUzQy9zbExiWkVuQzFsTndLWVVnb2pFV3NUY1NNUis5ZU5PSG84VGl5bUU0MVo0aFlLMHh3STBkQVVRSE9XZHlRTGNXMFgxRFFUYm1qQ1d0T3lzN091VTFlOTRwUzMxUEo2SitKcko0TG1BNmYxNlI0N1lzaUZwR3l6UWxvWlVva21wUlNtbEppbXhMQVRDYmE0eFExaThUalJtRTRrR2lNWWlSSUlobWdNQk5HU1RlNU9VVXRhYTNiQ0FMSHFUNy9MMERSTkNadmkxRVM0d0pzTnViMFMvejVSbk9hYjVuT3lNcTZZT1dWQ2htMjFTVnZjRXJQYUJJbVpSaUpodFVrTXd4UUpsOVNhL3FISGllbHhJcGJWMWhLTzRBOEUwZXdzcUc2NW9IYlNJR210V1NVZWt5NjY0RnFnbi9vRUtFNE5JZE1TMXBrM0I3SUxvWHNKYmZiOG5TaTY4RUxtNDBUSm8zTnZIWmZHSFhWSjBLUzBoWTJrMVJZM1RPSnhFOTIyMnZSV3F5MFVqaElJaFhIcnVJbmp4c0JGWEFvTUtZUWhCWVlsYUpacWF1N0MwdWtuSkVPa1VDaE9LM29XZEw4RWVOdGh0Ym1GeElXUVd1SXZrSlJTSWd3cE1Vd3BEZE1RY2NPUXR1V214MU9zdGxBRXJkVU5qU2RIaFNSYXA2UjlpTWJHeHVGQ2lNdlVXNkJRZEQyaWIvNkdvWGU4ek5aTyt2cmNMdGNsYTVjc1NFMGl1Q3lyTFRuT1NKclNLdGcxTGN1dE5kWm1KeElTVmxzRWQ3SnV6UkkyTTlrVG1oQTFRT1RrNUh4TlhSNEt4UW1rOGpXdXVQTVZ0clYrL01udE9aREowNmN4ZjBvSmh5MUVhZHpGaS8vclovejBNU2R3eWZndUhycnhLWmFsamtiem5NdmlsYk9ZZklTZi91THd3ZU9BVDFLc05oMkJoaVJSK2lHUXBta2xFcXpTRHp0ODFqYldGbXNWdHRha2dUWEZ3elJ0TjFSb21uYTF1dElVaWhPTVp4QUxmanVIRzNvQTZGUnVXczJjUjU5aWJ2YVBlUGJDd3pUeU4yN2pkOHVxeUx0OERHVW50SEhDemFVUFBzYXo0NC85SjNPek15Y0IvMDNiT0pzYlpOeXFraGFtRldzelRGTWFpVDVTbVlpM0dlaEdhNnd0SEkyaHBicWc5b0hWaUJvTUJpOEJocW1yVEtFNHFTcEh5WmdwM0R4RVovT1dHaXIvNTFkdDNjdnFONWcyN1JmODhyK2VZZXdEYjdCSDM4WGMyUTh6ZDVOMXUxN05TNC8vaWduVDVqRDArb1hNV1Z1ZDNFVVNyZHpFUS9jL3pNaHAzMlhvamIvZzloVzdxTFZ1Vy8vNGc0ejkwWitaZS84dm1IVGpmWXk4NHhtZTMzNk1kWGV4U3A2WjgxMnVXRnFaZU03R1RkeCsvWVBjL3FhMTRyejZJeFkrOE1qUVFmMzZEYlVFcmRVZGxiaE1LVFhEbENKdW1DSnFtQmlteE5RakhLenpVeCt6eXovQzdQN3czN3k1UDhUdURXK2gyYUtXTHI0R0NKL1BkNVc2cUJTS2s0MU83ZlozV0xiRHc3QWgrWlJjT0k3Uk5SK3h5bHJSV3Z2K1Iyd3RPWmV2WFhzbkczOTZFYVdlTTNsMHljTThPc2I2OFpvcWFvZC9nMWRYL29xMXM0dFp2K1JsMXJRQXNRb1dMZndMVzRmY3dOcVZqL0hoenliaFc3MkVPYXZyazg5Y1Z4bm0wbnZ2WSswZkZySjBURDJMWG5nL0tYeEhoYmVFVys2OUNQNytaMTZzOUxQdU55dlpQUHdxRmw2WUI3RUtGdnpvUlRZUHVZN1gvL3I0ZWM0NG03UXlvNENtQ1NGY0FqQk5Jb2JFTUVGQ011YVdHSzBHcG1IUzgreHpFNjZvdy8zRWJuYTNEazBJY2FXNnFCU0trNkZsdTVuLy8rWXdQeGxqNjh2RTZiT1pQeWtQT0lkcmhxeGs4WnVWekN2Tlo5MzZLc291dks3am1GcmZjN2xqVWpGNVFONlljeWg3K2cxcWd4RGQ4VFlyZ2lONGR1YVppVEg4SldPWVAvMGRKcXgrbi9JcGx3SlFPT0pMVEM1T1dJMmpSNVRBK21vcUljM1kvaml2UFRLSFVzZDNMcnpuNXl5ZGxJV3ZkQXFQWHI2TkdRdWZKQzlZd3J3bngxRUVSTGU4d1lyZ0NKNmNlU2I5dkZ3Q0xFMjEyb1JJZENJZ2hLbUJRRXJNaFBVbFRNT1VpVGliaGlIQnRGeFNkNnExWnJ1aGdBaUh3MU9BdnVvS1V5aE9kb3d0bFR3bWZ2bE1Gcnk4amZMcCtieTJJNThyYnlzK1dxODI0WUxxRUcwTUVDMCtpeExIMkxtaW52bjRHcXM3dE1wOG55ckc1bUhZVnk5aTlNc3ZVdjdsNjVodS9VN1JSaitCcGdwdXYvNTlnRDREQnZRZjhja24rOTVyRzJkREJ3UVNJWVFRbWtDYTFoUnowelN0amdRd3BVd0ttNVlxYXBhbEJpQzhYdThVZFhVcEZKMlRvdkZqR1YzelBzdit2b1hOSmVPWVduTHNqK0hya1ltdnVwcktXT3YzYW1zYWlQWW9QczZMbEVLc1g3YWF6U1VEOEwyMW1oZXR4V0crbkR4eWUzNko1U3NmWS92S3g5aSs4aisrbUdxeFNkbmFpV0JLaVNHbE1HV3FLMm9tRnBTYWlkSVB6UkkwZTZpYnNNczhMRGRVQ1p0QzBWbkpPWXRyaGpmdzRyS1BLSmt3Z3FTdWVUUHhFYUt5NmNoQmZ0K0lpNWp1Zlo5Rnl5cW9CYUxWbTFpd29vclJVODQ5cnFVaTBTMnZNUGV0Zk9ZOU9JZEh2K3huMGVOdlV3bjRobzlsTWh0WnRLSUNQNUNoTjE2VVlxMGxWL1JKcEdaYW9tYUNFRWlpRVYzb1JweHd3RTlkSEtTWnFHdHpweVlOYkRjMEZBcGRyTnhRaGFJems4WEVTWVB3YmZCejVYakhxUGFTYzdqNTNIZDQ2TTRmcyszQmhUeDZ1SWZ3RG1UZWo3L09nbDh2WmRJMFA5SHNmQ1orZFRaUFR2azBvOS9ieDlqZ0xCYTlNSWtQZnIyQm9objNjVU94QjJaTVkvSTlMekIzOVZrc256S01oVCtleG9KZkwyWENNajlSYjE2ZnkyWitlOGcvbHYzbmh5VDdSbkZKbVJnWmpoQkNBeUdsa0Y2WElLcEhPVmdmdytWeTQ5TWtwbFgrSVhyMjdFazBHaFd4V0l4NFBDNU0wOVNrbEM1ZDEzK21hZHAzMU1XalVCd2RuMmF2S0IrditteVcwS1kvTW1sNUNjdC9lUkVscDhoNURJWWlTM0xHWHZzaTBBSUVnS0NBTUlLb1FPaENZR2hDbUc2WEpyMGVGejZ2UjJiNnZHVDZmR1JsK3NqT3pFQkx6WWFTcUYvVE5FMmJwQzVWaGFMekVtMnM0UGtWMnlqNThybW5qS2dCWkdYNnprdm5pbUxOYWNOdXM1SlNKRG9SVEd1RmdaSHNSTkJTaW5LUlVvcUdob1pocUdVdENrWG5aYy9MWEhIck03elU0eW9XVHNrN3BYNDFJY1RacTUvNVVlOE94RTFJaVVDQ0thMU1xTE9IMURyY3FRM3ZKSHBETDFKWGprTFJpU205aXJVclQ5M2ErVEZubnprTTJHOExtd1NYa0dnSTIyS1RRb0tVZHUrb2RkaGJyWkpaVVZwSEZBbVh5M1dodW5JVUNzWEpvbnRlemlqTFNrdE8ra2djc2xXcnBOMC9LcE9WSFlaMWFLa1cyL2UrOXoyWEVHS2lPclVLaGVKazRYRzd6aHQ1WnIrVWh2aGtuSzExbEJHV0t5cmJ1cU5haWh2S3d3OC9mQUhRVFoxYWhVSnhFdW4yL0NQZkxYVmFiVExSRkovWUZpL0JtcTZMdEVRdE9kTElhYkZaQ0ovUGQ1NDZwd3FGNG1SVFd0SnJTSHRYRkszVkhVMFlaYVoxR0xJMUVhbzV5enhJekY0N1g1MVNoVUp4c3NuSnpqekhZYkcxS2Z1dzlVcGFXVkpwN1Q4MlpHS3NrV1piYTFKS2NlMjExN3FFRU1waVV5Z1VKeDIzeS9XRkFiM3lYU2tXbThzU05FMUtCRmh4dGpidWFHdU1UUUJpeVpJbFh3UnkxQ2xWS0JTZHdXaGI5dWg5L1oyaUpxMTlvemhXOHlYaWJNNmFOb2ZGQnBDUmtmRUZkUzRWQ2tWbjRjd0JmZHNrRUdnYlp5TTF6aWFsaVNuTlZ1VWpVYjgyUnAxS2hVTFJXZWlXbXpXRWRzbUR0bkUySEhFMjAweTBXYmtkWTRxRUVPSmNkU29WQ2tWbndlTjJENmQ5akMzWkw0cXpuaTNwanJaYWJPemF0YXNuTUZpZFNvVkMwVmtRUWd6NjVmZG01WFFrYmlSVUxWblBacnVsZG94TjlPblRSelc5S3hTS1RzZWw1NS9ieHhJeWErQWtHaEpoVDlXVldKVWRWaGVDbEk3c2dzZmpVY0ttVUNnNkhYMkxDL283ckxSMnRXeFlJNHhhdXhBU3dvYVVVcmhjcnJQVktWUW9GSjJObkt6TU14eWkxa2JZckRoYndpT1ZDTXNWRlpyZEl5cUVVTUttVUNnNkhSNlBlMUNLcUxrY0ZodXQ0cFpJSU5pdUtOWWR6bEtuVUtGUWREWTBJWVk0ckxUMkpSOXBFZ2dhSUdwcWFnWnp1SFdCQ29WQ2NTU3FOekYzem9NTW5Yb2ZjOWJyeC9PUmZTc2Z2Ny9RS1dqU21zZEdzdVREVGlBNExMYWNuSnhCNmwxUktFNVgvTHg0L3k5WVZBbFV2OEcwNzc5QjVURS9oczZhRi83Q3VwNVhzZmFsWC9Ea2VFL2JtN2UveElRYmw3SW05dWxlNGREU2ZrV2tMZEsxT3hBU2dxYnJCdUc0WmJHNTNlNHk5ZVlxRktjcExidDRzM0VnRjVaQTdaWnRSSWNQK2hUTFljTFVOdXFVakJqVVpxdDhrdEtMZUhMZUZNWjdQOTFMTE95UlY1ekdIUlZ0RHlrTTB4UzZBVzRwcGRBMHJWUzl1d3JGNmNaVzV0NzZJdXVDWWVwaUhqYmYrQkhSWUlDb3Q1SUpOZGV4ZHQ0NWJlTlRzVXBlZlByUExGNWZSUzJaRER0M0NndnZ1b0JoT1pVODgvMW5lR0pIbk5pT1JZeGRQWlpuRjEvRGFPZlA3bGpMN1kvb1BQcW5iekQremQ4d2NobmNVQnBtM1k1cWFtT1pUTHpwTmg2ZFZJeXY4VzFtM1BvT2VSZG1Vcm05Z2RvbUtQdnlOQmJjT0tSUFcwc3RHVjhUSmxKb2dHN2F4bU0wNFlvS0lRYXFOMW1oT04wWXhxTy9mWVNWTS9veWF1WjMyZmlIT2R4Uk1vajV6enpDVzZtaVJvZzFqei9ERTQxamVIYkpZMnhmY2lmWEJGY3o2L0ZOMUZMQ25iKzhqL25EM1l5NmFSNGJVMFV0SFRVTk1HVVdhMy83Q0cvZE81RDFTMTVtVFV1cmE4endHMWk1K0dFMlBqT05vdlV2OHBNM1E3MHR5Nnk5dUFGU0NPRjJpY1FkM043RURVS0lBZXBOVmloT1IzUzI3Z2hRZGtZeHRGVHlRYXd2dzNxa2MxZTNzR3g5SnROdnVvaGhPVUJPQ1RmY05vNjg5OTloWGVPbmVOcWVaM0hOaU1UYXdMelNNeW1MTlZBYnRHOHM1c0l4QlFsaDdYRU9kMHpJWmVNN08wbzZFRFY3c1Fza0J4VkozTllOU3RnVWl0T015dFhQTUdOWkpmNm1NR3g1a0hXRXFRdDYySHhyQlRjLytEM3VkQWFvbXZ6VVVrQnBUNmM0OWFXRWo5alRDUFQ0REMvRXlqTkVkU0JOREs2b09BLytIZW1YWXJFSkNacEltYVpyeTV1MmE5ZXVZaUJEdmMwS3hlbEZ5WlE3ZWV1WmFZenYreVdXL3VFUlhwMTVKbWRkZFRjYmY1c2lhZ0RkOHlpaW5qMDFiZDNKV3ZJbzdmSDV2czdLeWdiSXpzMzQyYnhiY2pxMDJGTFFDZ29LZXF1M1dLRTRUYW1wb0prdkJxQUFBQ0FBU1VSQlZMeTRoREtnZkU4OUphWEY2ZStYTTRLWjQ4T3NlT0Z0dHJZQUxaVzh1UFFOYXMvOUVoT1B1N0JWc2VwL0svQUQwY3EzZWVMTk1PTW5uTWtYQjUrUjV4Q3kxbnEyRktScDR2YjVmTVhxM1ZVb1RrLzhsUTFRTW9ZOC9KUlhlaWliNHVuZ25sbE12dmRPYXAvK003Tm1yOFFmeTZScy9CU2V2V3NNUmNmOVZlV1NWN21hYWRmdm9qS1d4K2dwTi9Eb3BEeWFkL2ZJNjhCYWExMUdKUkNHYVVnUmpVYnY5SHE5VDZ1M1dLSDRiQmlHUVdWbEpRTUdIRVBJK3VOVjZzUTVhWHliR2JlK3o1Vy9uY01OS1paZ1pYWGRnbjVmdnZrZElHQWZBa0lJSWdJUkV3SkRFOEowYVpwMGE1cFdwTTZtUXFIbzdHUmwrUEljYm1nYlM4MDU1UU1rbXFacEJlcVVLUlNLem83WDQyNFhZeU5kakExd0N5SHkxU2xUS0JTZGdoNFhzSHpsQldsdmNydmJDRnY3UXlKc21kUDRiQlVvQ29WQ2NVSndhVm82VjVRMlZwdFZxS3NCZWVxVUtSU0t6bzZtaVJ6U3hkWmtHM0VURXRDRUVFcllGQXBGcDBlSTlzS1dhcm5aWFZVYWtLMU9tVUtoNlBUQ2x0QXFwL3VacHV0QUpvVXRTNTB5aFVMUkJTeTJ6QlJSYzJpZWJDTndHcENwVHBsQ29lZ0NaQnpHRFcxanRXbWs3YWRYS0JTS1RvZTN2WGVhVHRaUXdxWlFLSTZHRUp0WFBNT0U2Ny9MME8rL1J2bkpFN1oyQ1lOMkFpZGI1NGNyRklwVGxTMS9adExDajRpaXMyN1JRdVp1K2hRYnBDcmY0YUZsZmlZL3ZKRHR2N3lVNDdja3BaNTEvL01HYTZxUDZzNnV3MWhzMWtaNE1HbHRTMUFvRktjb1d6ZFZVRFJtSUQ2cWVHMVBNUmNPOFJ6N2d6UTJVSnZkbHd1SEh1OWNZd092clZqTmEwZTNGa3ZyMEVxelRMWEVKbmdRVWtxcDNucUY0clBUMmFaN2xQL1BrOHhZVVlXL1NjZlhQUk9mbmxqYVVwamRrNXQvM0g2WVpPMm1sNW43bTNkWVg2UGo2M2ttMDJkOW5mbmpDNGl1WDhxRXh6K2lMZ2k1MlptTW4zMGZ6MDVxVy80YXJkekVnbCsvd2lzNy9FU3ppNW40MVdrc25ING1SY0M2UmZjeE4zczJHNzkxWnVMTzYzL0QwTi9rcy96SGVTeTRmeTFibThLUW5Vdlo1YmZ4NmxjcjB5NXplZlMyY3lnQnhQQ3AwNEFnaWVrZWZxQUZDQXFJU3RDQk9DQTFFcGFiUXFFNHhTajc2aHcyL3ZZbXB2WThoMGQvK3dodjNYc09mUytjemNZL3BKbVFXL2thc3g3OWlKSlo4L2h3NVM5WWUxcys2eDVmd3FJOTRCcy9pNDBQanFPdys3azgrYWRIMm9rYXNRb1dMZndMVzRmY3dOcVZqL0hoenliaFc3MkVPYXZyRC84Q1N5NWw1UjltTTcxN0psUG5Qc0tyc3daYU43UmY1dkxRV2orSDFTcVJtQk9lR01xbW9RR0d1Z1FVaWxPVW1pcktldzVpbUJmS3QxZFROcnh2MnJ0dFh2ME9sY09uTUc5OEFUNDhGSTJaeXJ6aERheFlYWEhFcDRodWVac1Z3UkhNbTVtdzBId2xZNWcvdlMrYlY3Ly9LWk1NN1plNXJIOXJHLzcyV3RXK1Y5VENEY1JJcmxOUUtCU25CbHQ1Nkk2L3NLYkpUMTBzazJrM3JrN3NETTEraEFudlQrUFZlV1BhTkluWE5vYkpLeTV3ZkMrTGtwSmMvSlgxUkJtWXNvb3ZSZGdhQTBTTHoycXpLTG1vWno2K3htcHFqOE52a2xqbUVzYWYwS3FqUXVNWTdxeFFLTG9LdzFpNCtHR1dmam1mQys5NmtJMS9tTVhVbmlNU0xtbUtxQUVVOWNqRVgxMlBQL2tkbmNxYUFIazlDZzRyYWdDK0hwbjRxcXVwZENoSmJVMEQwUjdGaWJIaG43R2d6RnJtUWw1N3JaSXBYOXNJVzFoZEJBckZxVWlJOG1vb0s4bUN4bXJLdmNXVWRTQXlvNmQ4aVpKL3IyWFJKajlSRW9tRUo5N1BaL3FVZ1VkOEZ0K0lpNWp1Zlo5Rnl5cW9CYUxWbTFpd29vclJVODZsRENncHljZS81U1BXTitwRUd5dDRmbldGUTZFOCtMdzZ0VFgxUkpQZlM3L01KUThpUi9Wcnk0UXJHbElYZ0VKeEt0TEFCNVVGbkZVQzdLMml0dWVnanV2UFNpNWw2ZHd3YzMvekNDTWZzYktpOTg1bVh1bFJQSTEzSVBOKy9IVVcvSG9wazZiNWlXYm5NL0dyczNseVNtSTRkOW5sMTNIUGxxWGMvdi9XRWUwK2dLa2o4c2xOL25CZnJwa3lrRm0vZVlSSmUrN2tyWm5RMFRJWEtXVTRqWFhtK0w5QUNJa3BUU21rbEI4QUk5VkZvRkI4TnRReWwrUEFZWmE1bUZKdWNZMjQ2b2UwbG5zNEY3cEVCVUlYZ3JnbWhLbEpLZjNxYkNvVWlzNk9sTEtsWTJ2Tm5wMmJRQU9Vc0NrVWlrNlBhY29XaDRESmRJSm1lYVM0cFpSTlFnaDExaFFLeGNubk1NdGNETU1JSE1aaWMrb2FtcFN5UVoxTmhVTFIyWWtiaGovRllwUHB4VTJnU1NucjFTbFRLQlNkbldoTTkzZmdma3JIdWdNQU5NTXc2dFFwVXlnVW5aMVFKQnFnZld4TnRuZEVRZE4xdlZxZE1vVkMwZGxwOGdjN2NrV1RZbWRuQzl5UlNLUW1KeWRIblRXRm9oUHh5WUVhZFJKUytHRDdua0RIb2lhdEZhT0pRV3p1Z3djUEhpd3NMRlJuVGFIb1JBem8wMU9kaEJTcTZ4dnRjZy9URmpXUjhENmw3WUlLSWRBMGdUWnk1TWdhanJZSFM2RlFLRTRPa2JtL1dobzZqQ3Y2Lzl0NzgvaW82bnYvLy9VNTIreExsc2tlRWhLV0VFUkFLK0R2aWxoLzZOV3FiUzlZV3JTOVNsdSthUHVyMUc4TDFRcTl0cUJ0b2N0RmJ5dFdyMWhic0ZxZ1ZXcFJSQlRVRmxjVU5TeWFSQ0FRUXNqQ3pHU1ptWFBPNS9mSG5IUHltWk16U2JCc3d1ZjFlQndUQW1hWk0vUE02NzE5M3RUYUNZKytvM2IzODhlTmk0dnJUQldsOUlBTlpEcmozREpFRExCUlN1aysvdEJ4Y1hHZHFkSjAvYUFOYWhsdXpkeVliQVNrYWJEcHV2NHhmK2k0dUxqT1ZDV1Rhck9EWTNOcytTQWt2Zk9BYXByV3lCODZMaTZ1TTFYeDdwNW1oeEEwYSt1SGxLWmhza0ZSK041a0xpNnVNMEVwYkZqNkE4eC9UVTMvc1dBYWZuN0haMW94aEJ3YklTUmRHUVZBT3pvNjZ2bUR5Y1YxWmluUjlCWVczWGszeGw5M0cycSs5a3NzMk56RW5ESTdORURVYlg0ZWEzZWZyTE5rVzdCcDdTdlkzbkdpUDYrTTZ4YjlDcnZXL1JMdkxCZ0hCVUJEL2I0MkJtWTIxMmFPVXhIcnZ3SUFXbEZSOFJGd25JOFpGeGZYeVZQeVF5eForaVIyVk0zQStzZC9oczBMejBmVHd3OWd3ZmJqZ1ZRUGRyeXdFV3Yybkt6VC8xdXdiczFMMk5aeGNqNjdTNUVSVEFlU2lUdSt2N3pEN3RRSW9JTms5TFNsQ3dna0hZcWExbTRYZ0FuOEdjWEZkZm9WM2Y0U05tQVNIcDE3ZnZvNDczRlhZT24xYitPYXA5NUQ2NVRKaURpY05MdHA2Zi9Ga3NMYjhQTGNTdXg0OU9lWTkydzdvbDBxa251V1lmempBT1FSV0h6ZlhGeWZBMFEzUDRCSmF5VmNWOWlPSFEzdGFGVktjZjNjRzdGNFN2bzQ3OFMyaHpCK1RTSFdyL3c4YWdFQUgyTFIxeDVHOUxzL3gzMFh0dUNSTysvRGlrWVZpVlFQdHY3d0IxZ053RFg4YWp6KzA4dXlIeitlb1c1c1g3c2FTNTdhaGZvdUlGZzJCblBtZmhtM2pnczYvRnU2eHdZMUhZQk9BUW9LQ3FTM3ZoTmlMQmFsZWpySGhuUmx0RTRRQkE0MkxxNHpRRTBOTFVEVlpBTXFhVldQcmtUd3FROVJqOG5wN1U4RGFPTE5QOERyTjBleCtzNjdzVzdLUXF6L1FsNy9mOVNwWXNLaS80dmxaVEphdHorS0dmKzlHbFVyYnNPTmhZTjlkNFg0K2svdndkZXhFL05tUEkzcWV4Y05iVGNDRzJhL3RSNjNQUVVzL09uUGNYMVpDblViZjQrYjcxbVA2b2R2eHBXMkNVOWQxK3ZSUDdlbUE5Q0oyWlJMUVRWS0lZR0FDQ0lFUWdnRlFGVlZyZU5QSnk2dU0wT0pMaFV1UmNwY2ZlZVQ0RXFwSnk1blZEQUNVOHJTSzRValU2N0dEUVVmNDIvdm5hSUR0UlVacmxRUFdqdWlpTUtMMnF1L2ljMFB6TUkwaDdGMVhVdnVRLy84R2hPQ0Vpb1FBSlJDQTFNOEFFQjdlbm8rNEU4bkxxNHpReTZmaEVUU0JyRXVGUWxaR25UUDV5ZFRBR1U1UUxUejFHempkSTJiZ2NlL093YTcxanlBNlYrNUM5UC9hejAydEtpT1AxdXlOMzdRQmpRTjlwWVBRaWhKVDhKVFF2cEdxdWpldlhzNTJMaTR6aEJWMXhRQ2V6NUVYVVo0Mm9SbzJVZ2poeVVEU0NGeHd0YWR4OURVQWdURG5qUjRGQm11Vk9xa1ZSUVRMUzFJakw0TTkvMTBFVjcvMDEyNGIyb1BWdDY5R21zZENoSFI5Z010QnNBMEJtckdaVlJFS1FVRklCQ1N2a3ppVFo0OCtTaUFEL2xUaW92ckRIQnNGMXlCNitYWHNlU2hPdFRIdTlHNit5VXNXTnVPSzc4d0xwMWZ5eWxGYmNGQi9PM2xKa1NSUXV2dTU3SHFmZFgyV1R3b3k1RlIvL1l1MUNlQlJEeUtLQXZDSXp1eGFYYzNnQlRxTnorTlZVY3FjYTJadkI5ZWllcU9YZmpiZTkwQXVsRzMrU1ZzNnJSL2wwR1U1YlJqKzl0TmlBS0lkblFQR1lTdDI1L0FOWGMrZ1UwdEtRQmVSQW9EY0NYN2c3UTNnWStPSGQ3Wmc2eXRIdWxMcHdDSUFKbWtpd2hXOFFDQXJ1djYyNElnak9SUEt5NnUweXlsRWdzWHpjS1MzenlKYTJhM0ErRlNYSG5EclZnK3hXdjhnekxNLy9abG1QZmZ2OEtFMzhzb1BlOENYSGxlQUUwWm4wVEd0SnRtNE1wN25zWTFNNThFd2hXWWY5ZjNjR3VOOGRjK0wzWTkvaXRNZXE4ZDBaeEtYTC93eHI3Q1FlRy9ZZWxOSCtLMmV4WmhWZEtEQ1pkZWdDbWw5bSt5RXJmTW5ZeDV2L2tWSnZ3ZUNKVCtHKzY3YnlhbURhSFh2K3dMTitQQmp2Vlk5djBmNExZdXdGVlFpZXUvZTZOUjRlMXIwS1dVZnVBVWhwSjBWVlNuNmVQWEFFS29MS2JkR2lFRVJCUkZXZGQxQ1lEYzA5TnpxOHZsK2hsL1ZuRnhIYjgrVFF1VG81c2Z3S1NuUitDWis2NFlZbnZHNmRIaG94Mi9MTDdzUDE5RmVrbHlISmxMa25zQmtoSUlWRUtJTGdrQ1ZTU0JLb3FjenJHWmxkRm9OUG8yZjNweWNYR2RLZHJkY0dDZnphMnhPVFpLakpFcW96R1hrblNPalFwc25EcHIxcXkzRFNweWNYRnhuVzdGdi9hRDVTM0lySVJtZ00yOENDR1VrTDRUZENWQ2lIRktPUFN0VzdmcWxOTHRoSkRwL0RIbDRqcDdGWngrSzNhZjRhOXlWZFBlYW1ydDdBYzFZNVNLQXNSd2JlYU1hQnBxYkI4YmpMZTZxcXJiK1czbjR1STYzWXJHdTk5M0NFUFpjSlNtWTFCWWJvMlk3UjdHSDZpWlo0dkZZcS96aDVTTGkrdDBhKy9IQnhzR2dockpPRG1YUUNCR0g1c2dJQ1BIQmtELzFyZSt0UjNBTWY2d2NuRnhuVVlkKzhhaVh6ZGxnWnBEamcyVUNBU0NRS2dnR0k2TkVYM3l5U2RWWGRkZjVvOHJGeGVYa3lnOStWOGpwYXF2MVRVZVlzTlFOUk51Zldld01lRW5DQkVnRUNGZFBDQ0VtSDF1RklDZVNxVmVjYmxjMS9KYnlNWEZCYVM3WVErblBEaVNVS0NCSUo3UVR1clhhMnRyMjVrdERLWHBBZ0tsNXRRQkNGS1VBRlFFcUFpcWkybXdBVll2bTA0cHBTMHRMYThNR3phTTMwMHVMaTdvRk5nUkN3S3VBUHg1UWZoOGZoU2U1Sy81NFVkL3IzZUFtZ1pBTTFsRkNLRkVFQ0FJQW1SWmhxSzQ0SEs1NEhhNzA4Y1dtWVVEMDdGVlZsYnVCdkErdjZWY1hGeUhVMjdBRlVCaFVRbDhQdjhwQ0hWcDNkeHZmcjNORm9hcUJ0UnNSeGFaUFd5Q2tWOUxnMDRRQkFGTW5zMkNtNnFxVy9ndDVlTGlPcEpRNEE4RVQ5blg2K3JxZWczT3ViVytpbWpha0JrdEhnSUVnY0NDbWloWTdSNW1LQXJqZjlTajBlaEwvSlp5Y1ozYm9oVFFxSkRkcWJWdHg4cnZmUVdmdS94aVRML3FQL0REdnpjREFKcWYvQ1l1dmVSaTQvb20vdHc4OUs5WlgvOVJIVEx6YTdiQ0FYVExpQm1UQm9JZ2dCaFFFd1VSa3VuWUdMaFJTcW1lbjUvL2lwN2V2bHpLYnk4WDE3a3BRb0I0VXN1U1U0dmg1ZnNXNDFsOEN5dWUrZytNVkdLSUlRQUFLSjcxTUxaOUlZRkUrOSt4NE1abmp1ZExIcnIyYzFmdHQ0V2d4bVVQUXlrMFZZY2twNkVtc283TnNHOU9TMGMxVGRPZTQ3ZVdpNHZMV2MzNDRNTWthcS8rSEVZR0FMZ0NDTEJINExwY2NCM251dUtlbnA1dDJkd2FJZENRc1hLUFVsM1hxSjUyYkZRUVJJaUNDRkh2N08vWXpMbFJBSG9zRnRzY0RvZS96bThnRnhjWEUzOWk0NTMvaWZ0M0pKR01KNEZmWEl2UC9RS0FNZ1YzL25rSnBycUc5amxlKytNeVBQamtkdXlQS3lpYWVBM21mZis3eU85c2ZOY0dOYXR3WUxSNTZBUklBODM0VE1sNEhPM3hPQVJQQkZWbFBvakVuUWFiZWVtNm5nRzMzTnpjelR3YzVlTGl5bFFlcnY3cE03Z2FlN0h5aHJuWS8vVy80ZDdweDdlSllkK1RQOENQLzE2Qk94L2NoS201Y2J5MjhuYjgrSHUvUGZUZTFwODBHc1pLdFlNTmxPb2doSUlRS2dvaVJLSWhxUko0d2lFRWpUWVBVUlFnZW5JZ3BDMmNrREV2eXBSVWRVM1ROdklieWNYRmRlSzBGeHYvK2lGcXYvcGRUQzEyQWE0OFRMN2xHNWg0OU9tWDRKaGI2ejlLUlVoNk94VWhBREhDVUVFVUlZb2lSRW1DSUlxaTVkak1rQlI5Ky91MHpzNU9Eall1THE0VHFIYTB0L3RSVkJ6bys1Q3JBZ0Z2MjQ1c1lhZ0Z0NHcyRHdBZ1NFTXRYUTBWUlJHU0tLYkJac0tOZ1pyVnp4YUpSRjVCZWtzOEZ4Y1gxd2xRTG5KejR6amNGck0rUW51Yjkvem1qUVAyYW1qS2hCckpQREhYT0NrMy9mK3lVQk5GQ1pJVzY2dUttbStaWTR5c0FkUmtNcm1CM3d3dUxxNVBySXcxZ2FOdzlSZEhvdTZSMytMbDVnU0FOcnp5MndkZVF2OUpnNHpDZ1hXd3BNRW9RUlJBb05ORWtrSVVDWFFLU0pJSWljWWdzWTZOeWJVUnBqcXFIVHAwNk8rVmxaVUwrZDNoNHVJYWlwcWYvQ2ErZkYvZnF1SjNicndZOXdPWTlNTk4rTVhuQXFpWTlYUDhWOXNTM0QvdlN2dzRya0FMalhqWHdhM1pHM01wVE9NbENCQmtCWDZ0Ry9HT0kyanNKSkQ5WlJpWG13TTVNQkpreElnUjZPM3RSVzl2TDBra0VraWxVa1JWVmFMcnVrQXBsWkRlek9wU1ZmV1BnaUJjeVc4WkY1ZXpQazFicW9ZcVNvRzNZMkVVVnB5OHJaeXFxcjQ0dktKc0pZQmU5RzJqTXE5dVFrZ0NRSW9Rb2hKQ2RGRVVxU1RKVkZFVXVOd3U2bmE3NFhGNzRQVjY0ZlA3RVF3RUlFaVNaRHEyak9xb1BSenQ3dTUrbWo5MXViak9MUkVDU0VSSFY5ZkoyL0hVM0h6b1ZZY1FOQVZBSllSa2JxVXkyQ1FJQWtSUm9GWnVUUkloU1JKa1NZS3NLSDNGQTNzUndWWWQxZSsvLy80TkFBN3dXODNGZFc2cFFFbWdLM1p5RHRXbWxEYjkxNDhXNzJMQWxyS0ZvVHJNSTRyTW5RYlcyRlFmdHlSUlNvTk5scUVvU3A5alkvTnNnaUNBb2FNT1FMdnJycnQ2VXFuVU9uNmJ1YmpPTFJVcENkQkVIRWVhbTA2NGM0dkg0ODg5dittNWxKTmJBNGc5djVhR216RVhhb2VhSk11UUZRVXVsd3VTSktVL2FQd2pLb29pMFRTTkNvSUFUZE1vNDlyVUF3Y08vTFdxcXVxNy9GWnpjWjFiNGVnRmdTaU9KTHB4dUMyTzJGRVJYY2tUYzRMdUs2Kzg4bllXdDZZQzFCeDhUM09JR3RKMWFKcEdOVTJGcXFhUVNvbElKa1ZJdlNKNlpRazlMcVVQYkV5dWpRMUhNMlpIUjR3WXNVdFYxZldDSU16Z3Q1dUw2OXlDVzZGYlJhRTdCa3FCekZVcG4weUpaT3B2bHkxYWROVG0xRklBVWdSUVFjd3dGRlFnb0NJQlpCRlFKTUN0RUhnVXdPc0N2RzRnNEFWQ2ZpQTNDQlRrQUlJc3k3QzVOdGdINDQxUkt3M3BTUVFlam5KeG5lT1FPeEhhM1hqZ1ZRZTNsdEhta2JGaXp6aDNUUlRUb2Fna2lwQWtFYklrUXBZa0tJb010MHVCMStQdUE1c29pdVpiYW9hbHpKSGhWblUwUHo5L0M2WDBWWDU3dWJpNFBxazBUZDgrWWViOHhnSGNtdFozL2xyYVhJbUVVRkVnRUFXUlNxSUlVVXpEVFpZa0tMSUV0eUxENDNiQjczVkRVQlFGc2l6RDd0eHNEYnRXRVFHQTJ0WFY5UVMvTlZ4Y1hKOVVCdzYzdmpDQVcxTU50NmFUOUpaM0toQkFFSWpoMUFSSWttQTROUkdLTE1GbHVUVVhBbDVQSDlnY2lnam1pRlhHN0NnQWJmcjA2ZXNvcFh6WkN4Y1gxM0ZMcDdSdTZsZS8vMzRXdDJiTWgvWVZEZEpnTTl5YUtGRFRxYVhiTzJ4dXplTkdNT0NENEhLNWtBVnVHYTZORFVkZmYvMTF0YmUzOTNGK2k3aTR1STVYUjlvNm4yMXE3V1NobGpTdU5OU0llWkpIdW45Tk1QWWFtQzBlYkc1TmtmcmNtcy90UXNEblJZNGRiRGE0c2E3TlBoaXZybG16NWtrQTlmdzJjWEZ4RFZXVTBvWWYzZitISFlPRW9kWkp1UVJBMnEwSkVNVjBiazJTUk1paVpCVU1YSVpiODNrOUNBVzh5QTBISUhnOEhqakJ6VlloWlVOU0RZQTJkKzdjYUc5djd4LzRyZUxpNGhxcVdqdWlHeDVhOTN6Q3lhMFJJR1VVRFRUQVBFZ3k3ZGhFVVRDS0JRSmtVWVFzRzdrMTJZQ2F4NFdBejROd3dJLzhuRkFhYkc2M3UxODRtcVg5STZQMVk4T0dEVThBYU9DM2k0dUxhd2h1clhIWncwKytaWU1hNjlqNldqelNSUU1JaEVDMGlnWnB0MmJPaENxeURMZExoc2Vsd08vMUlCVHdJUzhjUUZGZURnU2Z6d2UzMjIyNU5oWnc5dFlQVzY1Ti9mS1h2OXpSMDlQekdMOWxYRnhjZzdxMTltTlAvL0t4cDN0dElhanAxbFNRdmhWN3Bsc1RCVUxUYmkwZGhxYUJsbGtKOVhuY0NQZzh5QW1tM1pva2lSRDhmais4WG0rR2F6dWUxbzgvL2VsUGoxTksrUW03WEZ4Y0E3bTFQWGYvNW85dk9rRE5kRzBPTFI1RzBVQVVqUllQZXpPdURLL2JCYi9QY0d1aEFJcnljd0FBUWlBUWdNL25nejBrWmVEbTFQcGhWVWkvOFkxdkhPdnU3djQ5djNWY1hGeloxTnphL3ZRRFR6NDNXRzR0b3lGWE1OeWFKQXEwSDlRVUdSNlhLOE90UlhKRGNCdUxUSVZ3T0F6V3RRMVFKYzNxMm1iTm1yV0dVdm82djMxY1hGeDI2YnIrNXZSdi9IQ0hBOVFHY0d1QUtCQklnamxkMERkaDRKSmx1SlYwTTY3ZjUwRTQ0RU5lT0lpaS9GenJhd281T1RrSUJvT1dhM1BLdGJHdWpka2FiMjFyM3JoeFl6SWFqVDdLYnlFWEY1ZGREVTJIbjluVmVFakY0SlZRSFNCVVNCOGtTVVZCZ0NTSmhsdExRMDJSbWZZT2p4dEJueGM1d1FBS2NzUHdldnAybXdyNStma0loOE1JQkFMd2VyMFczRXpITmxUWEZnNkhOK2k2L25kK0c3bTR1RXlsVlBYNWtaK2J0OHZCcVEzdTFzUk10eVliQlFPUDJ4aWQ4bmtRRHZxUW54TkVVU1FuNCtzS0JRVUZ5TTNOUlRBWWhOL3Z0M0p0RGhNSkE3azJsUkNTT25Ma0NIZHRYRnhjbG5ic3F0K0V6R1pjQzJ5R1cxT0g2dFpjVm51SE1Ucmw5eUkzRkVCQlhoZytqenNUYkNVbEpjalB6MGRPVGc3TVFzSlFjbTFtTVlGMWJjWEZ4ZjlJcFZJUDg5dkp4Y1hWMWRPN1p2THM3eCt3UVMyUnphMEpSaVhVeWEwcHNnU1h5Mnp2Y0NIZzkxcnRIU1dSdkg1ZlcvQjRQQ2dxS2tKZVhoNUNvVkRXUW9KVGhkVGUxMFlJU1gzd3dRZVBBVGpJYnlzWDE3a3JDaHo4NitaL2JvTnp3WUIxYXhsOWExWWwxTzdXRktOZzRIYW4yenY4WHVTRmdpakt6NEhIcmZRSEd3Q1VsSlFnRW9tQUxTUjR2VjY0WEM1a0c1TFBsbXViT0hGaWZYZDM5NFA4MW5KeG5iczZjclRqeWEvZSthc09tMVBMNnRaSWhsc1RNODVaY3lreVhJb0NyMXVCejJzVURFSUJSSEpES0NuSWMvejZBZ0FvaW9LaW9pSmtLeVRZcXFUVW5FcXdyK2d6WGR2VXFWTWYwM1g5Ulg1N3ViZ0drZUk3NjM0a1ZkTmUvc3lYYm50akNHNU5NOXlhYms0WlNFYmZXcjhxcUhFeWJzQ2JidS9JRHdkUkZNbUZJa3Zad1FZQTVlWGxNQXNKWmtqcVZFaGdoK1NaR1ZLZGRXMDdkdXhJSGpseWhPZmF1TGdHVTZqa3JQdVJkdTVwZkthcHRkTStYWkFBa0NETUJpckRyZW5FT2tTU1dFNU50bzFOZVR6cGszSE4wenNLOHNJb0w4clArajBJN0IvTWtOUjBiUVAwdGxtdWpabElZSjFicXJpNCtPVmtNdmtiL3N6bDRocEFrWkZubFd1THhyc2Z2WERXN1I4YmJvMkZXdC9BZS8vejFxaElDRTBQdUlzMGZTcXVuT0hXMGhNR1hvU0Rma1J5c29lZ2ptQXJMQ3pNR3BJNmpGdFJTWkl5Q2dtc2F5T0VKTGRzMmJLS1VycURQM3U1dUxLSUNFRDFwVUJPQlNCN1B0VS9pcTdUZHgvNDB6UDJnb0dWV3lOQTBneEJtZlBXcUdDRm9HbW9aWnlLNnhTQzV1ZWlNQzg4NFBmU0wwQXRMUzFGZTNzN290RW80dkU0ZW5wNmtFZ2trRXdta1V3bWtVcWxvS29xVkZXRnBtblFOQTI2cm9OWjA2ZFJTZ1VBNnRWWFgzMjRyYTN0d2R6YzNKWDhHY3pGbGMxZWlFREp1RS85ai9IaG5qM3I3L2p2eCtJT1VFczdOa0xTQlFOQ05DTjlSUVZSaENqTGtGd3VTQzRYWkk4SGl0Y0xsOThQZHpBSWJ6Z01mMTRlZ29XRnlCMDJEQVVqUnFCMDNEZ2dGQnE2WXdPQVVDZ0VwOTYyTEkyN0dTRXBISnAyOC9MeU5xWlNxWWY0czVlTDYreFZQQjVmWFZOVHM0Y0pRVE9nUmdoaDErcnBBTktOdUtKSXpWWXlXWmFoR0p2YzNXNDNQQjRQZkQ0ZkFvRUFjbkp5a0orZmo1S1NFb1FHZ1pvajJJQjBJY0hzYldPSDVMUE5rdHFhZG5WQ2lOVnBUQWhKdmZycXE0OVFTdC9tdDUrTDYreVRydXZ2UFByb295K2lmMTZOaFZyS01Ec2FJVVEzSnBpc3RaOG0xRXl3ZVR3ZWVMMWUrUDEraE1OaDVPWGxvYWlvQ09YbDVVTXp3VTRmbEdVWlpXVmxLQ3dzN0ZjbGRUaHhkNkJDZ2dvZzlkblBmcmFwcmEyTmg2TmNYR2VoOXV6WnMvNDczL2xPTkdzSTJ0ZTNabXgySjFuZG11blVQQjRQL0g0L1FxRVFjbk56VVZoWWlMS3lNc2l5UEtUdlNjcjJGMFZGUmVqbzZFQTBHa1ZYVjFmV1hCdWJaOU4xbmVxNmJtNjEwaWlseEhCdFFpUVMyZFRiMjd2QzVYTE41MDhGTHE2elE4ZU9IWHU0dHJaMjd3QnV6ZG8rWmJnMWFvTE5iUGhublpycDF2eCtQNExCSUhKeWNoQ0pSRkJTVW9LaW9xSWhmMS9TUUg4NWJOZ3dkSFoySWhhTG9idTdPd051WmdIQnVLaXU2OFJXU0tBQWRFcXBWU1g5NHgvLytMOXo1c3daS3dqQ2RQNlU0T0lDOXUzYjk2bjkzbFZWZmVtZWUrNTUyUWExWHB0Ynk4aXJBYUNFRU90ekdDWUlBSkRHUnZxdHdSSHJZOGY3V0EwSU5wL1BoN0t5TXN1MWRYZDNXMkJMcFZKMjEwWTFUU082cmxQakc5TU54MmJtMjRSdmZ2T2JIZE9uVDMrd29xS2lGa0FKZjFwem5ldXFxS2o0dEg3cnphKysrdXFHVmF0VzlUaUVvTDJ3RlF5TXZKcHVPRFZxT0RScTV0TE1Ja0U0SEVadWJpNEtDZ3BRVmxhR3Fxb3ExTmJXRGptM05pU3dBZWxDd3JGanh5elgxdHZibXdFM3R2WERDRWRCMDRMUjEwWW9wV29hemtTb3JLeDhJeHFOL2s4Z0VMaVhQNjI1dUQ2ZE9uanc0Qjh2dWVTU0pnTnFMTkRzSWFocVRpWVJRcXk4bXIxWTRIYTdMY0FGZzBIazV1WWlFb21ndExUMHVLRUdaQ2tlT1AxV1lWdEEyRUY1V3dzSWRSaVNaOGV0VW9TUVpEQVlmQ0taVFBLUkt5NnVNMVIxUzZhaXF1cG1ySTMyLzd0NFBMNjZyS3pzYldTMmRsZ2hxQzJ2WmtITlZnV2wyYURHdG5aOFVrYzdKTEFGQW9HTUZwQlFLT1E0bFdDRG0xa2x6UmlTTngrSTU1OS8vbUZkMTdmd3B4QVhWMXJSdXJWWU11OGFUQjFmZzZxcUdveWZOQjJ6Rnp5Q3JhMW56dmVvcXVyV2xTdFhib0Z6QmRTQUcwMVNTbFZLcWFicnVxNXBtcTVwT3RWaHVUV3FLQXBFdFF2dDdURWs1WFE0R2dnRUVBcUZNbG83QW9IQUovbytwYUgrdy9MeWNzZHBCSWRjVzdhUUZFYk9UU1dFSksrOTl0cERqWTJORDFSVVZGUVFRcXI1MDVyclhGYnIxZ1dZUFc4ZEdvSVRjTzMxODNGREtSRGJ0UTBiTml6Rm5LMnZZY1V6RCtLNnlPbjlIaW1sRGR1M2IzOTZ3WUlGTVljUXRCZnBJZmNrcFdiQmdHaUVwRWVuS05WcEt0R0RoTWVIZ0dHQ3hHZ3ptbzhvQ05lY2x3RTFNNy8yU1VMUTR3WWJBQXdmUHR5eFF1b3daa1YxWFNkbVpRTUExWFdkYlFFaGhCQmgrUERoYjdhM3Q5K2ZrNVB6aStQOVhyaTR6aDZydGhYTEZxeERRMlFtVnExZmpta1d3RzdGTFRjc3dZeVpxN0JrMlZaY3VYd2FYS2ZSckRVMk5xNlpPblZxazgydFpZYWdsS1lMQmtUUVJNSHFWNE1rYU9qdVNhRTNucUJDWGhBdWx3dWlMSUFRRVc1dlptdEhhV2twaGc4Zi9pOTlzOEx4L0dPdjE0dUtpZ29VRnhkbkhFeVo1ZFJkS3N0eXY1RFVOcFdReU0zTjNkRFQwL01yL3V6bU9uZTV0Z1liamlxNGRQNUMwU0F4c2dBQUlBQkpSRUZVQm1wcEJTZmVnc1VMYnNDVmtRUmFiZm12WmFzWFlNYlVHbFNOWDRDdGFkK0hyUS9jaGhsVHg2T21xZ28xazY3QnpVczJvU25CZk1LdHQyRjgxWFFzV3JzYWkyWlB4L2lhS3RTTW40b1pDOWFpemlHZmxxamZnRVd6cDJQc2lJcUhxcXVyMzJlY1dpOTdFVUlTWUErUVRKL2NvWnVOdUxMTEI3OGtVSUhxSUhvNzluN3dBZDQ3bEFRaGNieS82Uzk0NUsvdkl4V0pvUGpJVTVnemF3NXUvLzJmY05zMWsxQlROUlZMNmdCc21vZWFxa2xZc0Qzeis5dTZZRHlxYXVaaEUvdkJwcTNINzVLS2k0c0hkRzFtT01xR3BHWUxpQkdhc3ZrMkFZQXdaY3FVaDk5ODg4MUNXWlp2NGs5enJuTk5kYS90UUJLMXVHS0tVNndad2JSYmwySmF2NDl2dzhwbFZiamkrdmxZVkZXTGFrU3hkZEVNekZtVHdPUWI1bVBwQkJkYVgxdUhsYXR1d2V6b0ttek9jSHNOV0xOb0ZhNmRQeC8zelE4aXVtMFZscTFjaU5sUkZ6WS9lQjM2dm92dFdIWnpIU28rKy9rbjlyZjhnKzFYNnhlQ3NsQURvRk1LU296RlQrbThtZ0ovVVNtS3ZWNzRQQkp5eHBZQnh4cnd3V0UzeGw0eEhSZVBIb054UlVVWTVnMUJrUko0ZnZrS2pMbjJSc3lmV1lXSkVRQk5RM2UvQzJiUCtXVGhYM1YxTmVMeGVOYjJEd1pzR1NFcHBaVHF1bTV2QVNFN2QrNFV0bXpaOHREMDZkTUxSRkc4bWovVnVjNGRKZERhR2dXVUNDSXMxNkt0YUdXZEZsd0lSb0lNbkVveDg3NzFXRDR0YVB6N1RWaXhIWmh3eTRONGRPSEU5TCs3L2pwRVdpZGg0YWEvWWZ2eWFRd2NGVXhlL0RqdXU5SDRnbE9tb0N3eEhUTlhyY0NxdXV1d3NMYnZhNDYvODRuTm56bXk0ZmtOOFI2blhqVjdGVlFsQXRHaFU1MVNuYVpTS1ZBSVVFUVpzaXhUYTdqZGx3NDlKYmtadTQ1NFVUbHVJaTQ1dndMRHk4cFFmU3k5UnEvcWxzZXhmbUh0Y1lmZWRTdVhZTjNCcWs4R05sRVVVVlZWMVE5czdEU0NiY3lLbUlVRUkrZkdGaE1JSVVTNDZxcXJtdXJxNmxiVzFOVGtFVUltOFNjODE3a0N0a1FpRFJFWDh5cmV2dVFhM0xEdWFOOEhBak94NnQzbERKeXFNWGxpa0lsWnI4VHl6VmZhUG5jUTFXVVJZSHNyb2dtZ2p4SXVSTW9pR2RDY09QTTZWSzFhaWUwN1dvRmE4KzhtdkZXdTdIMTYvdno1VVZ0T3JjZTRlbTM5YXVsR1hJbFFVSjFxdWs3VlpDK090U2RvM09WSFVYa0llVVpyUnlBUWdCU1ZJWW91QlBNTHJXWmM4VjBDSUlEYXliV2ZJSjlZajYxYkc0QXhDejU1d2o0Y0RxT3lzdEtDVzdZS0tldmNUTGdaVXdrZ2hKakZCSUVRUW1wcmE5OXJhbXI2YlVsSlNTNGhaQVIvMG5PZC9US0JaZ0RPZURYWDNuSWZWbDJiQUJERnRtWHpzV29vb1ZpMERtdFhyTUNhVGR0UmR6Q0dwR1hRcXROSUdvZ1VaVlVvQTFEZjBBUWdBa3BSMzlQVDl1ZDdaMTdWWW9OYVh3V1V5YXNadVhNcnJ5YkxMaXJMTW1SQnAycWlGL0dlT0pvYlBnTDFUY2Jra3JSamt6c1VTSklMNGNJU1ZGWldJaHdPLzR1UFpTc2FXZ0ZsWXZXL1Zva3NLeXV6QnVSWnVHWEx0UmxRTTRlL3pMQlVNeDRjQWtBb0t5dDcrZWpSby9mbjVlVXRBaERoVDN5dXN4MXNrVWdRU0RhaHFSVkFtZUcxcXFkZ1dqVUFSTkc2U2hsQ2pxa09EOHllZ2VXdEV6Rm40WElzckM1RDBBWFVyYndaQ3pjTjFUdGFPbnFndlh2MTRjT3ZOQ0p6c0wzWElhK1dNdk5xNWpKMWRyckE3WGJEazErRVNpV0ZwcjM3Y0tUaE1EQ2hDams1T1ZEYVhaQWtEL0xMS2xCV1ZuWkNIOVYvdWNWaTFLaFJHYTZORFVudEozOVFTdGw4bTI0T3d4cmhLU0dFRUVvcHljL1AvM3RuWjZjL0ZBb3RCdURtVDM2dXMxbTFsMDVFWU0xVy9HMVRFNzcrOVUvNEF0K3hCbXQyQVpldWVCQ0xyK3NMVVJQQklRWjA5ZStnQ1VDa3FxejM0TUdEcTY1ZThYWWQrdG82elBDVGRXdjlRbEJDcUs0bWswaUpMbmg5TWhSRnNmSnEza0FleXZNUG9MTXRpVlFnalB6OGZMaU91cUVvUGhSVmpSclNMd0Fna1VIZi9vcWdLZ0lrbTVxT3I5M0RTWVFRakJneHdwcE15TS9QdHlZVDdHTlhaZ3VJYmZHeU9YSmx0b0FrQVNUQzRmQ2Z1N3E2ZUJzSTExbXY0TFJiY0gxcEV1K3NXSUJINmhMOXdxdlcxdVFRN0ZZQ1VRQ0pLUFAvSitydy9JNVd1eHNERUVOOVhUMGJ3MkxUcWswNGlER1lNZ29QR2VOU0xOUjZHYmhsbkxGbXZuN05maldCZ0ZJOWhTVHBLeFo0dlY3NFBDbkU0Z1NDUHc5bGhma29LaXBDUldFSWlxSWdtU1NELzN5UkNDS0lvYjYrS2VQbmU2MHV4dnlqYWt5YlZnWHNXbk5pbW1JRGdRQ3FxNnY3RlJJMFRjczJJRDlZTVlGUVNvbmY3MytzdTd2YjQvRjRidWRQZjY2ek54cWRpSVVQTGtMZDdLVllPbU02bnIvdVNsdzZwaFE0Mm9EWE5tM0F0b1lBSnR3eUV4TUh0SDNYNHNyOGRWaTNaRGJtTlZ5SmFyUml4NllOMkhFd0NTQ0tSQlFBVTJ2WXRYdzJaalJjajJzbjVPUG9hMnV3K205SEViNzA5Z2QvTUtuZ0h3Nmhadzh5anlPeU9UV3pFVmVpYmg4UTYwclMrTkVXSkx1RHlBbW4wQk5ydzc3Mk5yUW5YYWllUGhVWEdJZEdqblNOUXVpSkxWaXpaQWx3eGFXNDdzWnBLQnZvNXl0ZGhWWExic2E4Z3pNeHdYVVE3MnphZ09jYkFEQ0w0R3R2V1l5WkcrYWN1Rzcvd3NKQ3gxeWJxcXBzUDF0R1dNb1dFNHhQbzluRDBsbXpaajM4NXovL1dYRzczZC9tcndDdXM1WnR0Vi9INDV0cjhjaXlGVml6ZFMxV3JJc2hxZVNqcW5ZYWJsazVIL092ckI2NFNoaWNocVdQTDROcjBRcHNXTDBTVzExVm1ITDlmWGg4d3ZOWXRMSUpCNW44SFJEQUZZc1dvMnpiQ3F4YzBvQ29xeFFqcjczN2tmcFhmN2tWL2FjS3JCQ1VFQ1FvTlZmb1dWRHJhOEtWWlNpS2o1YUdLSHFpY2NSN1kyZzlITU5SUVVHNHNBcFRwMTZPYS85dEpFcExTMUZWVllYeXkrL0U0amVic1d6REtxeG96Y2UwRzZjTkRQOUhseUc2WUFVMnJWcU9yWUVxVEx4dU1aWk5YSUdGR3pJZmgrV1Byd1JoRDNJN0VkcTllemQyNzk2TnhzWkdIRHAwQ0VlT0hFRjdlM3ZHMFVjR0FBa0RRR0wwdXdrQVJFcXBCRUFHNEtLVXVuLzBveCtGZi9qREg5N2ljcm5tOFpjQTE1a3FUZFBRMU5SMFpwK3h0dlUyakorekZkTld2WXY3REk3RVlySGZmL3ZiMzk3OGh6LzhvWWR4WlQwQXVvMjNQWVFRcTJCQWpHMVQ3UGxxek5IZTFobHI1dnluZWI1YVNVa0poZzhmanBxYUd0VFUxSnpVSC9PRXoyZU9IajNhQ2tudDdSOVpYSnQ1NGk2UVdTbTF3dEtmL09Rbm5aRkk1T0c1YytjS0xwZHJMbjhKY1hHZEdNVmlzVDhzWHJ4NGl3RzFKQU8xSGdacS9VN0RkYXFBc3NVQ244L25lTHgzWldVbFJvOGVmZEovcmhNT05rSUlSbzhlYllITjN2cWhhWnAxNUMrVGI4dFdLYlUrNTNlKzg1MDJSVkVldnVtbW04RGh4c1YxWXFDMmRPblN6U3RXck9oQ1pxR0FiY0RObGxmVEJVRmdOMHhSY3hHTC9jQkkwNjJaVUdPUEJ2L1VnQTBBUEI0UFJvMGExYTlwMTliUDFxK1lZTGcwMDdXeGNDT0VFREp2M3J6V1JDTHh1N2x6NStwdXQ1dUhwVnhjbjFESjd0anZGeTlldkdVQXFMRk9yZC9xUE9QQVNHcDNhdWJLdkZBb1pCMFlXVnhjaklxS0Nvd2FOUW9lejZuWmRpL2VmZmZkSitVVG13ZFFtbkF6SzZRczNHelhZQmluQUxCeDQ4WVVJZVQ5aXkrK1dKVmxtWTllY1oweG9wUWlHbzJlZ0E3Nms2aktxM0hEelRjODh2U3kvMi9MNzM3M3UrNXNUZzBPa3dWc29jQ0Vtc3Zsb3V3SnVQYVZlV2FoWU15WU1jalB6ejlsUCtaSlBRT3RzTEN3M3pTQ1E0VVVUSjdOcXBRQ2dHMWdIb1FRVUVxeGRPbFN2UFhXV3crdVhiczI2ZlY2ZVNzSUY5Y1ExZEhSOGVBVlYxeXg5YTIzM2twbWMycXdIVVBFVmo4eks2QjlUczNjMnM3bTFJcUtpbEJSVVlHUkkwZWlzTER3bFA2Y0ovMXd4L0x5OGd6WHhrNGoyRjFiK3BjZUpRQ29xcW9tM0RRMkxEWGh0bkhqUnZoOHZ2K054V0s5ZnIvL2R2QUpCUzZ1Z2RUYjJ0cjZVRUZCd1QvUS8vVGJnYUNtRVVJMG9lOElvcXpoWnpBWVJEaWNuaW9vS2lyQ3NHSERyT2I5VTYxVGNtcHRkWFYxMXVQRG1WTjJUVHR2NWRwVVZUWC96aEZ1QUJBSUJQN1kwZEhSSFE2SGJ3T2ZMZVhpY3RMUmd3Y1ByakltQ3RqWnp4NWIrT2tJTldiQmNRYlVuRmJubVZBckx5L0hpQkVqVUYxOWVrNzlQMlhIY2RmVTFHVGJpK0RvM0V5NEFlbitvQUhnUm5OeWN0YTN0TFIwUlNLUmIvRlRRYmk0d0JxRit2cjYrdFVqUjQ2c0c4U3BKYkpCamMycFpRcy9uYUIyc252VnpnaXdBY0RZc1dQN3dTMEwyQ3k0bVFtM2JIQXovMXhZV1Boc1kyTmpkTml3WWZNRVFiaUlQNlc1em5WcG12Yld1KysrKytjTEw3eXdFZjFuUHdkcjZiQ2dObGhPellSYVlXRWh5c3ZMVVYxZGpiRmp4NTdXbi8yVWdvMFFnckZqeDJaMWJRNi9iVmdINXdnMzQvTlNTaWtkUG56NFAzYnMyTkU1YnR5NGI0cWllQlYvYW5PZDhUcjJ1NVB5YVZNcGJmT1diYnVldm1ybS9TMU0rR21mL2V3aHhycThUS2hSalJCS1JZRlFVYUJVbG5USW9nNlhwTUl0cS9BcUtmamRTUVE5Q1lTOVBjanpkNkV3RkVkNVhoVFZoWjBZVzk0R0VuMzkzQUViQU1peWJNRnRFTWZHNXR1eXdZMGFINmRtYURweDRzUVAxcTlmdi95YWE2NXBWUlRsYS95VnczV3VxYnM3K2NURGoyMTdmdjRkZjQ0T0FMVmVBaVJBWUt0K1FpTUVhYWlKaE1xeUFFVVc0WEpKMU8yVzRmVW84UGxjQ1BqZENJZTh5TXYxbzZnd2hQTFNYRlFQTDhEWW1sTElrbmphSDRQVHN2TE83WFpqN05peGpuazIxcTJ4SVNraEJLbFVLbjBVU1ByLzAvcllsdW5jWnN5WWNiQ21wdVpYYjd6eHhoRy8zejhmZkxVZjE3a2h0YTA5L3RENGYvdXZsdzgyeCswN0N0anoxRXlvMlp3YWRJR0FDZ0toa2dFMVdSYVE2RXpRenFBTFkzTFNVQXNHR0tnVmhGQldtb3ZxNFJHTUhWTUN0MXMrSXg2STAvYUM5L2w4RnR6c1lMT0hwWVFRYXVUVDdLMGc5Z2tGYXNKdDkrN2RlaUFRZUt5bHBlVndKQks1aFM5bDVqcFR0ZjJlKzNIejBmOFg3LzY2OWhQdkRhV1VOalR1TzdxbWVzS2k5NUc1VGFyZmVXb00xTlNCb0tZb0luVXBJcWlRUkZLUjRmZTVFVENobHVkSFVVR3dEMm8xcGZCNVhhaC85cC9Zbmo4T04zN0c3L0JkeHJIMXZtZXc1T245YUlwSmlJd2JoOFUvbVk0clM4NGlzQUhwYzl6R2poM3I2TmpZdkJ4Ny93YUJHMldkR3dCYVdGajRiRjFkM2VGUm8wWjlYUlRGei9LWEVkZFpaOU5VYmV2Mk54cWVubnIxTDV5V0dkdVA4MDZBOUIzcDNRYzFRZ1VCVkpJRUtrdkVnSm9NdDF1QUpoS0lMaGNDQVRkeVdLZFcxZ2UxUU1BTlFFWGRjNjlnWlVtVkk5aGFuMzBHdHowdFllbGp0K082a2w1cy9kRWF6THZqRFd4KzdDS1VuVTFnQTRCUUtHVEJiUkNvOVlPYmtXOWp6M096Z0diQVRRZWcxOWJXdnIxNjllcERNMmJNK05qdGRzL2hMd1d1TTFXSlo5ZGgvSVBBamFNVDJMcXpEYTFKRjZiZE5oUExQNThIRjFxdzdEL1dZUHZvS3JqMnRLQXBsb0JZTldiMWVTUFZMYis1NXk4eFpMWnoyTU5QYSs2VFVxUUVRalFRNkNiVVJBRlVUZWswbWRRQlFxZ2dFNVNWeXZCNlJHZ1MwTzEyR1ZEelFEdTBIMzk2TG9aTzNZdnlDOGZqaHo4ZWp1dUMrN0hrUDU3QzJrTWFZbGlEU1hzdXdlTVBYNFMrTUVuRmp1Y09JZmp2czNCZGlRVEFqMmx6eHFINkt4OWllK3dpWEorb3c3eXZiRVhrWjdkaTZXZk9BckFCNlkxWEE1V0hUY0FSUXN5TEVrS0ltWE16YzIyNnJsTzJ2NDExYmpmZWVPTWhBUGUzdGJWOW5KdWJld3VBWXY0eTRqb2pkZWdZY05jc2JQNlpIOUZYbjhIME8xN0Nwcy9PeEhVQkFFaWdWUm1EOVgvNVFuUHk0LzEvTEp0d3o5dGIrNWFxSkJtSXNVZDVKd2hCa2xLa1FLQUtJQm9JTklHQUVvSG9va0JBVXhyVmlJQ2NQQmYxU3hUdHJRbTBkSXNvSzNCQmxRVW8zblQ0NlRuNk1WYnZDdUsySDgvQXZNdHo4ZkZqeitMbWIyOUc1QzlYWWZGZmJzV0UyMytOWlNVMzRPVUY5aEdxWHJUR1ZFUktHQ2VYNzBjRXZXZzlDbUQ0TU54eTE3OGpPTzRzY1d5bWNuSnlNdURHUUt3ZjJPek9EUUJoNWtyN09UY0F1dUhlYUY1ZTNsL3I2dW8rSGpWcTFFMmlLRjdPWDBWY1o1eEtxakRUQ09XQ280ZWhPdmtHV21NQUFnQWdvbVp5eFV0N3QzKzQ0WktyZnRHRWdiZXo5OXBDVHhWSWg1NkVRQmNFUWdXQlFKSUlKUnBCVWdjbGdnaVgzNFVSdVVFb1hpK0NBUWtwUlVEVTcwTnhnUXYxcjNXaCtrdWZ4N3pMaHlFbjdFWE9iWmZodXFmWFljMC9wbVBLWUltZWZxc2JSQUFxWWtrQThHUGlaLzFuVHlocWg5dDU1NTNYRDJvRFFJNlN0UHJsM0N3YjE5Y09Zb2FtV20xdDdkcy8rOW5QR3Ivem5lL3M4bnE5L01oeHJqTlhSalVoWVd4ajZVbHBENy95Mk5xWEgzNXVXNDh0bjlaLzd5ZVFwRUNLV0ZDRER2UkJUUlFKbFNRQ1dSS2dlQ1hxN2traDJ0Nk56clllQkNLNU9ML1lqWnl3Z3FSYlJHY29pUEl5TnhwVUwyb3ZISUdjc05kTUpxR3FSTVh6UjNzeDZMaTJZditBQmtCQ1FEbnhEOXNaMXdZUkRvZUhCRGQ3V0dxK2J4eU5wSnRBWTRvS09pSEVkRzc2SFhmY29kOXh4eDMvZStEQWdiMmxwYVUzRTBJbThsY1IxNWtxcXROM2R1MDVzdjd1VnhyM0FvMnFRejR0dzZVUmdpU29CVFNORUdpZzBFRkFCWkZRU1NCVWt0THRISW9pVWdrRXZrSS95djBLZkxLTzVvK080dDJtZkV3WTRVZlNJNkV0TndjanF2TVFyWGdmcjBaMTVqdUxvK0dvaEVqK1lHZFF1QkhKbDlCNktBNGdsUDdRMFRoYTRVUGtKSnhtSkp5Sk56RVVDbUhjdUhFWU9YSWtoZzBiaHVMaVlrUWlFZVRrNUdSYjdVY1ZSUUd6Mm84eXEvMDA0NHoyRklBa0lTUkJDREhQYys4dUx5L2Z1bTdkdWgvMjl2YXU0aThmcmpOUnFxNnRmdkdKTGY5VE8vbC9kaU56ejZmMVBHWXVhMFVlTloyYWNaWmEraGM4Mjg0aEdJMjNJbExIZXJDL1RZWHNkU09VNDBlK1g0TGk4Nkc0S0loOG40SkFRVDdHamFuQkYyY1BSOTJxRjdEaGtBcWdGenNlMllvTkdJTWIvaDhKZ0FTWFMwS2k3UmhhRS8wOTFKVExoaUg2M0hhc2JWU0J4REZzV3ZVTzZzZU53cFJBR3BBN1hteEFmZUlzZFd5bUFvRUF4bzBiQjBFUUhDOUNpUDJ0NWR4U3FaUlpNV1dMQ3BRSlRVMzNwZ0hRdnZTbEx6VUIrRTFUVTlQT2twS1Ntd2doRS9qTGlldDBTOWZwdXgvV3Q2OWYrK0diZTdEc1RaVUpQWk9PTG8yQkdhVjkrd2xJdWo5TkZ5aEZTdGRwVDFLRXp5dENVU1RxZGtsd3UyWGtqMUNnSEl6aG5UZmpvS0tNZ29waG1IMVZHU3JLdlVnRVhEaFlXb0pBd0kzQTU3K0FCNDgrZ3lYLytXc3NpRW1JakI2RHhiK1pqaWxHeUR6bCtuRW91K01wVFAzUFMvRE1FeGVEYlI0Tlh2WHZlUERRYzFnMDk5ZFlaUFN4M2ZlVGllbFdqNlA3c2ZKSFcxSDJtMXV4K1B4Ly9iRTc0VnVxVHJSNmUzdnh3UWNmb0w2K0hnY09ITURodzRkeDlPaFJkSFoySWhxTm9xdXJ5OXA4bFVna3pGMExoTmwrQlYzWENhVlVNQzhqYXlrQmtDbWxpcEhKY0FGd3JWcTFLakpyMXF6cnZWN3YvK0V2TGE3ajBTZmFVcFZsVmpRYTYzbjBnZjk5Y2RzZGR6OFZSMStCZ0IyUFlzUFFkT2dKTnZRa09rSC9Jb0VzQ1pCbGticVV0THZ5dUdWNHZhNk1pWUw4dkFDS0NrSW9MOHV4eHFUT2xJbUNUNzFqc3lKenR4dm5uMzgrUkZIc2Q3SHV6ZWJnc2hVVktKTjdNNHNLT3RKVlV3MkFPbWZPSEczT25Ea1A3ZDI3OTYycXFxb2JSRkdjeGwreVhLY3M3RlQxbDNlK2YrQ1pDeSs3OTJNRFVuYVh4dWJVa2dSSVprd1JvSzgvelhCcVZCU1lJb0VpVWtXUjRIYkpjQnRROC90Y0NBWTh5QWw1a1ovSHpINVdGV0RzbUROajl2T3NBeHVRSHB3ZlAzNDhKRW5xQnpiN1d3WjJWQkFFSWdnQ1ZGV2x6TDZGOU42L3Z0RFVxQlFSelF4TkFhaWpSbzE2ZmNTSUVUdGZmLzMxNjNKeWNtNENVTXBmZGx3blM1VGk0SkhXWTA5K1p0cFAzbWhLejNteVVFczRYRWtIbDlZWGVwcVRCR0pma1NEdDFHUzQzUkxjYmdVK2IzcjJNeFR3SUJ6MklXSkNyU3dYSTRZWFl1eVlVcHlDaFZMbkx0aUFkSHZIZWVlZEIwbVNqZ2R3L1NxbWhCQnFoS1pnblp1WmQwTjZHNzBHUVAzb280L1UzTnpjOVJzM2Juempzc3N1KzZMYjdiNkp2d1M1VHFoQy93ZGRYVjFyL3ZyWHYyNzc2bGZuZFF6aTBneWdFUk5vS2VNWHNYVitHck9iQUpJa09lNzhORSsrdGUvOVpJL3pQcDJIUko1VFlETlZVMU1EV1piTkNpaU1OV0NPSWFvSk4rTXRZZUFHUFMzclNDU3pnZGZKdlYxOTlkV05BSDViVjFmMzZzaVJJMmRLa3ZUdi9CWEo5YThxbFVvOXYyUEhqazJUSjA4K3dBQXRHOVNTRE5SVTlBMndteEdIdFd6Rk9NYmJmSjFRUlZGZ1B5RFNoRnB1Ym03R2lyelRlWnozT1EwMklMMUR3V3p2TUM4V2NFNmhxWEhEcmRDVXFacGFybzBKVFRYR3ZWbFBvdHJhMnJjQXZOL1UxUFJDY1hIeGwvaEp2VnlmUkxxdXY5blEwUERNeUpFamQ1bS9QRzFBU3pxNHRKU0RTOU9aaXhxLzJMTkN6ZXYxd3V2MUloQUlXSHMvQ3dvS0xLaU5IRG55dEN4ZTRXQmpWRjVlbmdFMzgyYWFvYXJkeFJtZ3MrQ1dTcVVvSWNRODhOSmVXTkFad0dXNE53Q3Bzckt5RnkrODhNSi9QdnZzczFmbTVlVjlpUkJTdzErdVhJUG4wZWllNXVibXA2ZFBuNzVqMTY1ZEtwTWZZM05wN051a0RXb3E4MHZYQXBxNUVrOFVSZmFYUFhXNVhCbFFNNWV1bUhzL0k1RUlTa3BLckdYR3AzcEYzc25VU1Z1WWZDcGsybW1uZkp6NWRvQnhMSHRhMUp3cmhRRTRHSEN6R24xTjJBSFFtNXVidGVYTGx6ZWtVcWtYTHJqZ2dtYTMyMTFDQ01uaEw5OXpHbHlPQzVNcHBZMnRyYTJQTFZ5NDhFK3paOC9lZi9Ub1Vic3I2M2RrTjlMTFZYcnQrVFJtY2JIVFJuWW9pa0lWUmVtWFMyT0J4aTVkcWE2dVB1WExqTGxqRzRKeWNuSncvdm5udy96dHhFd2daT1RoMkN1UlNEaUdwb3g3TTRmckJWdDRxZ0ZRamZBMEJTQjE3NzMzSnUrOTk5Ni9MRjI2OUlWdmYvdmIwME9oMEV4K3FDV1hBYlNHMXRiV0RjdVdMWHZybDcvOFpTK1RHM1BLcGJGaGFBcnA0NFZVUW1CR0N4cEEra1lGQVVwQWFQcXBTa0JCUUNtb1RnRktDWFFLYURxRnBnT3FScEhTZ0pRR0pGV0toQW9rVWtCdmlxQW5SYkQ3b3dNQURweFZqLzJuMnJHWmttVVpoWVdGanFlQURISGUxRzdnekJONzJSTkM3TlZUeTcwQjBMWnMyWkw0K2M5L3ZyZTd1L3Y1Q3k2NG9Nbmo4ZVFTUWdyNHkvdmNjMnpCWUxDdXBhWGxEOS83M3ZjZW56MTdkdU0vLy9uUFhnZUgxbStucHkybnBoSmlnZERJcDZXZmk0UUlFQVdSaXBJSVNUSnlhYklNUlVuL2NuZTUzWEM3UGZCNmZmRDUvQWdFQXdpRndzakp5VVYrcEFERnhTVW9IellNVmRVaklFbnlXWGt2enZqSmcrUFZ4eDkvaklhR0JqUTFOVmxUQ2gwZEhZaEdvNGpGWXVqdTdrWjNkemQ2ZTN1UlNDU1FUQ2JOVGZXRVhlcXM2em94TCtOeE1xY1cyTWtGaVZJcUE1Q1JQcnZBdXFxcXFwUlhYbmxsYW1GaDRUV0NJRnpNWC9abnY1TEo1UFkzM25qamhhOTg1U3Z2TnpVMW1TTk5yRU96RndneUhKb3gwOHlNUWhIemx5aGxLNTVtb1l3dEVHUXJFcGp0SEdiNFdWWldocXFxS2xSV1ZwN1Y5K0tzVzNKU1dWa0pqOGRqRHNlYmVZZWhGQmlvVVUwbHFxcGE0YW5aOTJhNk5TTTgxUWNJVDVNQWxJYUdCcVdrcE9RRkFOdjI3dDA3b2JLeWNyb3N5NS9uTC8relQ0bEU0bSs3ZCs5K2RjS0VDWTBNek5pd00ra0FOUloycWdFMXE5cHBnSTJheFFIanVVbVo1NjRGTkRPbnhoWUovSDUvUms2dHVMall5cW1kVFVXQ2N3WnNBRkJZV0FpdjEyc0J6dTEyZzMwUzJPSFcyOXRyQVM2WlRHYkx2VkZLS1dIUGVEUFBkMk9lbUNuRHdWbUFBNkNNR2pYcWRRRHZ2UERDQzA5TW1qVHBVci9mZncxd3dvOTU1enExWVdkVExCWjc3c1VYWDN6N2kxLzg0dEVzUUhPQ211bk9yR0YxSTQrbTI2dWRCdFJnVmp6TjU2dVRTek9oWmk4VW1PMGNadU50SUJBNEorN1BXUmVLMm5NZWUvZnV4YjU5KzNEbzBDRzB0TFNndmIzZEdxQ1B4K1BXQUwwWm1ocEQ5RWdtazFCVjFYUnZHZUdwc1hoR29KUVN3OEdaNGFsNXNTRXFHNnJLQUpRYmJyakJ2WHo1OHNrRkJRV1hTNUxFVC9IOUZFbFYxUmNQSERqdzZ1MjMzNzdycWFlZVNnMFJhQ2s3MEFDMktKQUJNOTJjZDJiRFR0YWx5YklNdHBYRFBra1FEb2VSbTV1THdzTENqSFlPOG1tZGorSmdjMVpUVXhNKy92aGpORFUxb2FXbEJXMXRiUVBtM2N6Y1d5cVZnbmxLQ0FNNFlxd01KT3cxQU9Da0xJQ1RBY2liTjI4dXYraWlpeVlIQW9IcHZCL3VqUDBGdWFlenMvT2xiZHUydmZ2RkwzNnhqUUdTRTlCU1dZQ20yb0ZtSG54cWhwdDJsOFlDemV4UE0xM2FRUG0wdkx3OEZCWVdvcXlzREpXVmxTZ3JPL2VDZzNNQ2JBRFEyZG1aVVZSb2JXMUZSMGNIamgwN2hsZ3NaaDEvMU52YjYxUllnQUUyWXJvM0ZuQk1nWUVGSEZ0a0VBMEhaNGRjeHZYZWUrL1ZWRmRYWCt6eGVDNEhVTUtSY2xwaGRxaTd1L3VsdXJxNkhaTW1UZHFQdmlyNFlFQ3o1ODVZVjJjUE9hbDVJQU9UNDJWZEdqdnI2Umg2c2syMzdNeW5XU1N3OTlSeHNKMkYwalFOOWZYMTJMOS9QNXFibTlIYTJvcTJ0alljTzNiTU90dXRxNnZMT3R1dHQ3YzNBMjRPN3MwTVQ4MHozd1lDM0ZBZ1ozNU0ycjE3OTdpS2lvcUwzRzczWlJ4eXB3NW1QVDA5Mno3NjZLTjN4NDhmMzJnTEY1MkFwZzRSWnYyQUJtc1BCeWdSQ0JSWjdoZDJzaTdOTEJDNFhDNXIzdFBuOHlFWURDSVVDaUV2THcrUlNNVEtwMVZYVjBNVXhYUDJYcDVUWURQVjNOeU1mZnYyNGVEQmd6aHk1RWhHYUJxUHh5MjRzWWRYc25CakFjY1VGd1lDSERIQUpqaUVxWklOYXJMdFk5TE9uVHRIVjFWVlRmQjZ2UmNUUXNaeUJKMDQ2YnBlMTlYVjlkcWVQWHZxTHJyb0l0YVo2UXlZQmdLYXlnQk5wWlNxUnFYYzZuRTBONld4UURNcm5icXVVMEVRNFhhNytnSE5IbnA2UEo1K1EreG02RmxRVUlEUzBsSlVWRlNndUpodmxqd253UVlBM2QzZGFHeHN6T2gzYTI5dng3Rmp4eENQeHhHUHh5MjRPWVdtV2NKVEMzQU9PVGpDT0xpTVhCd0RPQ2ZRWmZ6ZHhvMGJpeSs4OE1MYWNEZzhRWmJsaTJGdHh1QWFvbzZsVXFuWDJ0cmFkdjd6bi8rc256RmpScHNCSUgwQWQrWUVOZmFFalg3RkFNYWhXYmt6Tm9kbUZnWTBUWWNvaXZENXZPendlci9RMDRTYTMrL3YxOHBoaHA3RGh3K0gxK3ZsZC9oY0JwdXBBd2NPNE1DQkF6aDA2QkJhVzFzSHJKcXlvYWt0OXpZWTRNQVdHV3lRTTUyY0dhYUtkcGc1QVE2QU9INzhlUG1SUng2cHFxcXFHdTMzKzgrWEpPa3pBUHo4YVoyaHVLcXFiMFdqMGZmMzd0M2I4STF2ZktPcHJxNnUzK1NJTFhUTUJqUVdadXovbzl1QVpqazA0NElkYUdiWXFhb2FGU1VKQWI4dkEyaHNiMXEycXFjNXhGNWVYbjdXbk1yQndYWUNGWXZGck5DVXJacWE3czFwcjBJVzk1WUJPRjNYN1ZWVVpBbFQ3WkF6UTFVckwrY0FOc24yZDJKRlJZVzRaczJhWVNOSGpxd0toVUtqWlZrK2p4QXk0aHpMazMyVVRDWS82T2pvK0dqMzd0Mzd2dmExcjdVME5UWHBObGZtNU02eXVUVHI3OHhtYk52bnlJQ1p6YUdCclhLYXgybXhoWUZrU29Va1NRaUhnaGt1elF3OTdRMjNiTlhUREQzUGxkNDBEclovd2IyeFZWUFR2Y1Zpc2F3OWJ3NjVOd3R3cG5zeklXY1BVeG5BT1lXcTluQlZ0QUhPNlgzUmZ2M2lGNy93WDNIRkZTV2xwYVhEL0g3L2NGbVdSd2lDTUJyV0t0NVByUks2cnU5SkpwUDFzVmhzMy83OSt3OCs5OXh6TFhmZGRWZVBDWmhCWUpZTmFobnZNODRzSTh4a1EwM1k1b21adzAySXBRaVhBQUFHR1VsRVFWUXRtREV1alRLTnRrZ2tVNUFrR1htNTRheTlhWUZBSU1PbG1hRW5kMmtjYkVOV1YxY1g5dS9mYnpYMDJudmVzaFVXc2dGTzA3VEJBR2QzY1NiZ2lBUGtCQWZJRGZhKzZPQUdoZlhyMStmWDFOUkU4dlB6Qy8xK2Y0a3N5OFdpS0pZUlFzb3g2RXJ2VTZaZVN1a0JUZE1PSnBQSjVuZzgzbnpreUpIV3VycTZ0aTkvK2NzZFlBNG1HQVJtMlJ5YTQvdjI1RDhMTS9RdEFLSnNNY0IwWndBZ1NWSS9vTEY5YVd4eG9LYzNtVDdFb1NDL1g0SEFxVGV0cEtRRXc0WU5nOC9uNHk5V0RyYmoxK0hEaC9zVkZ1enV6ZDdVYTA0c09MZzNxL2VOQlp5bWFTYll3UFRDd2NIRjJTRm5BWXFCM0dDWFlIdGZzTDF2NWY5Ky9ldGYrOGVOR3hjc0tpb0toa0tob05mckRTcUtFcFFrS1NpS1lsQVFCRDhoeEU4SThSRkNQQVlJelFNQXpNOEpCZ3pXMmpoS2FRK2x0SXRTR3RkMVBhNXBXa3hWMVdnaWtZaDJkM2ZIT2pzN284M056YkdkTzNmR0Z5eFkwTTNBaTlwQVJnZUFtVzV6V05wZ2wvMjh2V3d3WTBGbXVqTm1TeG9GQUVWUkxKalpXamd5aWdPeUxLTzdKd2xGVVZCU1hHQTEyOXBkR2xzZ0tDb3E0aTlPRHJaL1RhbFV5aW9zSERseXhOcG5PdFNtM3FFQ3p1YmlXQWMzRU9RY1ljZE1Qd2dEUUUxMEFKdjlZci9PUUJjYzN0cmZ6MGlET2J6UHZoM29zb1BNZm1WemFmM2VONDkrZDRMWVlEQXozN2Z0MUlBb2lxQ1V3dVZ5WlFXYXZlSVo3K3FGeStWQ3hiRFNqR2JiY0RpTS9QeDhGQlFVV0FVQ1daYjVpNUtEN2NUcDJMRmpPSGp3WUwvYzIxRDYzb3laVTN0NG1oR21HdTdOZ3B3eHpXQ0Zxc3g5c3Vma2lBT0Vzc0ZPeUFJemNRaGdZd0VuT0VCdElNQU5CRGM3ME9BQXNZRWNtcDdGcmRrVCs0TkNqQ2tBVUZ1WWFjTE1LZ1F3RmM2TUhSdWlLRkpLS2R4dWR3YlFKRW15SEpxOU9CQ05kY1B0OFdEVWlPSDlLcDVGUlVVb0xTMUZLTVE3ZWpqWVRxSmFXbG95M0JzN2tqVlFhMGcyOThhMmg1alZVNXVMQXpOMGI3bzNlMDRPRG81dVVPRFpxckZPUUJzSWJzZmozSTRIYk1jVGRqb0NqcWxPWmdVWUF5OFdubUJ6WnVhZjJUQ1RYUTdFQUkyeXVUUktLYnhlYjFhWFptL2g2SXgyd2V2MTRmenphcXh6MDB5WGRpNGNMOFRCZGdicHdJRURsbnR6S2k3WXE2ZE9yU0dwVk1weWJqYkFRZGQxNGdBNDFzbkJGcXJhM1p6OXozWW9aWFZpRHVFdUdRUnMyVnliUFNTbEE4QnRJTURwVG45bW9EU1FzN1AvUHhsZmkvMnpMZFNFM1puWmdFWnRsVTdyYkQ5ZDErSHorUVpzdEdWblBOczZZZ2dFZ3BneWFhTGwwbmkxazRQdHRDbVpUT0xRb1VQOWlndHNlRHBZL20wQTl6WWc1TXhpQStQazdHNE9XUnlkSFVSTzE2RE9qQTJIVDBhT3piWlVodzRSZVBZTHRpUGRZUWVaM1pXWnpvekpuMldGbVIxcUp0ZzBUVU13R0J4d2FKMXR0RzA1ZWd6aGNBNnV1UHdTbEpTVVFGRVUvdUxpWUR2OTZ1bnA2UmVlc3RYVG9iU0gyT0ZtbTJCd21rZTFRNDV0SFlGRFhnNDJLTUhCMldFQUp6YlVmSm9UekxJNXRxRVdFdXlBd3dBQWd4MWM5andaa3krRExXOW0zME9iQVRPMmZZTmQxRzNQcFdtYWhuQTRuSFcrMDZ4Mm1tSG53Y1B0eUk4VTRMSkwrSXJhRXltSlB3VC9tandlRDZxcnExRlVWSVREaHc5bkROV3orVGNUY0hZSE4xRDExQUZ3bE1uREVSdmdxQTEwNWtWTm9GRkt6Y01HMlY5b2c0TEtDWVlEd0d5b3B4blNvVUxPWVMwaWJDRWwrMjh6M21lY21TUElISUJHN1V1M0J3TWFlMm1haHB5Y25INWIxOW1qaGN5aDlhS2lJa0NxNXk4aURyWXpWejZmRDlYVjFTZ3VMdTZYZjJQYlEreUFzOCtlWm1rUGNRcFJxUWsxVGRPcy9Kc1Q2RXpBTWE3T2hGMC8xODVBYkRCb1pRUFlKd1ZiVnNBeEo3LzIwYmdQZHJBNXNneUkyY0xNZmlBek42amJROC9Cd2s1N0RzMjhWRlZGZm42K2RheVFIV2htSG8wUHEzT3dmYXJrOVhwUlZWV0ZrcElTSy8vVzF0YVcwZi9tVkVFOUhnZG5DMDh6M0J5YmczTndjSGJZbVhCajMyWkFqLzI3VTVIQ1lCMlg3V1A5NEdWNzZ3Z3hCNkJsNU5CWXFObkR6c0VjbWoySDVuYTdrVXFsVUZKU2t0R1BscGVYWnpYWnV0MXUvaUxoWVB2MHl1MTJXOGN5c3dVR3RvTEtBdTU0Y25BTzdzMnBUY1FPdW40RkI5UFoyUUhIL0preVJRblcxZldqbWhQOGh1TFVuTTdoWnovR2dzdm14dXp1TEFObWJJdEdsdnlaWTdnNVZJZG16NkdaVXdPcFZBcVZsWlhJeWNuSm1CcVFKUDVTTzVYNi93SEYxRm5aOGoxaXh3QUFBQUJKUlU1RXJrSmdnZz09Il0sWzEsImRlc2NyaXB0aW9uIl0sWyJzcmMiLCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVRZQUFBRTJDQVlBQUFEcnZMNnBBQUJNQzNwVVdIUlNZWGNnY0hKdlptbHNaU0IwZVhCbElHVjRhV1lBQUhqYXJmMVp0aVc1bFdVTC9rc3JvZ2tpcUFSb0Rpb1o0L1VnbTU5ejRpaU5SdEk5SXZ4bG1sSUwzbnV1Rk1BdTF0b1ZydjMvK1grKzYzLzlyLy8xdktta0srVzNsbGJLelgrcHBSWTYvNmozNzc5Mi9uenVkUDQ4LzhYeTUxL1B2Mzc5K3VzYmdiK2puL3g5NCsyL3Y1L08xL00vZitBZjkzakd2Mzc5cW4rK0UrcWZDLzM1QmhmK1BZRjM5dC9yN3cvSjE4UHY2MC82YzZHMmYvOG9yYjUvZjlUeDUwTHp6d2ZQby96NW5mNTZyTjlmL3Yvclg3N3dza29yYzZNWXdvNVB2TStmNmZjRThmZTc4L3M5ZndZKzkvQzFIbU1zRjM4OThmMXpNUmJrWDE3dkgzL2Y5OThYNkY4VytSLy91djU5OWYvNjE3OHRmdWgvdmg3L2JTM0xuelc2eTMvOWpTZi8yOWZqWDdjSi95SU9mejFSK05kdjNDSEYvM2lkUDcrL2I5WHYyNyszNjBoaFMrV1BSSjNGZnY1eEdUNDRXUEo0ZnF6dzYrVjM1dC92K2RYNFZlOStUN1o4M2ZNZS9KcFBld0s3OGwxUGV0YlRuKy9aNSsvNVRCNHhoUjFlL2c1aGhuaStWdU1iV3BqUmZVcitlcjd3eGhaWHJPemJEUHRpNjFJTWZ6M0xjKzdienYzbVU3bnpldmhvZUxpWVcvM2YvcnIrZDkvOG4veTZ2bSs2Uk05ZC8xb3JuaXNvMXp5R08rZWZmSW9OZWI0Lys1YlBBdi9qMTUvdHYvOG1QNGdxTzVqUE1sZGVzTi9qZDRtUm4zL0tWano3SFBsYzV1K2ZDajNYdS81Y2dDWGkzcG1IZVNJN2NKY241cWM4OXh2Qyt6eXNZMldET2s4ZVlncURIWGh5RG91SFJGNWlDZGNiYXZEZS9NejduTStHSEVyd3k5Z21OaUxIZ201VmRxaXpXU2xsNU9kTkZSbnFPZWFVY3k3NXpmWEtMZmNTU3lxNWxQSVdqVngvNDV2ZS9KYjNmZXZiM2w1alRUWFhVdDlhYTZ1OWhSYXhnYm1WOXJiYVd1czlYSjBiZGE3VitYem5LeU9NT05MSW80eDMxTkZHbjRqUFREUFBNdDlaWjV0OWhSVVhabUtWOWE2NjJ1cjd1VGFXWXFlZGQ5bnZycnZ0L2lGclgvelNsNy95dlYvOTJ0Zi8yclUvdS9vZnYvNEh1L2I4MmJWd2RzclB2WC90R2wrOTN2Y2ZsM2cwSjlrOVk4ZENldGp4MXgxQW9JTjdkdGNucGVET3VXZDNDeWhGRGp4a2RtK3U5YmhqYkdIYVQ4amY4OWZlL1hQbi9xLzI3Y3IxLzJyZnd2OXA1eTYzN3Y4Zk8zZXhkZis1Yi8vRnJpMzkzRHc3OXROQzEvU09hQitmNmFGZS9MNXYvdmpyYng2cDdwN0w2SG4xa1dkZXFhTWk5NzdmRjRmeWNObVpZbjkzdjFOWU82VXZocFRlSzliUWE4Wk81YStOc2Q1N2JOYzhzRFp2K3VwVDhGclBkcW5penBVMXJuMitiWS82MUw3ak84dkhoM2R1VjRtNHlCRXdaWVZscjJGekU0eGYvN2hvU3l6QnlPL3FmYzMwM2pQdzFud1hieHZZMGR4YS9ZbytPbzc3WXNPL09ubVorTDVmcVd6RDJobWZIc1lJdmV5TVJ3UUlQTHhsbmFPdHROTllMZk9jdVlYTXBuN0lFd0pVcjRFUlhwWG5DcW4xUFYvZXVlYjFmbThyOWV1MWpQWStYMEVvSXErNVcxOGRPOU16Ky9IdVozQ2hOMjA4d1hzOTdCNHVvdll2NTQ4djFQeWw4ZDFuVC9IZ2RjZTYyVS8ycnFlRW9JNVVTd2hydHZmRncxUldaQjNkdWNvN25sMTR6VmxIaWp6TllBay8xQUlkd0g0OXBha01uMUw1N2Z6bCtaWEpvOFZudDd6MnF1K2VIMXRjVUpGNWYzM3R3ZDUrTWRZNzl6QlN1dG1kOTVsMXphVVhXdC9kZWNiOERsNXZmVWhQV09OYisvbG1yeXU5Kzd0NGlxeDQ3UGNwNzNkdmZNSEx6OHhSMm14WXlQZDk0c2F2enBCdjlndWREM2ZKZGFQckc2ZjI3SW5FUFN0Y0kwMWVrajhpdCtvKzloZm5qWmNiM3JPbFhka3lkaTZ1Kzlzam9Wbzk4WWc3c0lNWWx6SkNyU0d4L1JPUmFDbjB2VldudVQ3V2xsdVArYjBvM1U0RnVZajM3clBpZFhkZ0M5QzV3YzY5TGgxWHcvWWdGL25DUG9Ua3hTcHFGbmZ4L2R0dXdiL1hOOC8vZjNwaHM1Nm5aVFM3M1RFMmZYZ1liM2kvMkhkZUk2MXJMRjRtM1BWTHJHRmlEenNPS2JjUmUvdFFjT0J1VzJOZ21DYmJ3Zjh3Vm14VGIvRWJvV0Nwa0tuVTN0d3ZmTk5DTXdjN0hWSkJxZ2VHQjdBQXNwdklGelp1YllUanJldkxBMlVaZS9LWU55L2xEU0pyMitabXQ2K05UajF6RlV4YlExYjd5bHZkZjdGSTkrQlJFS0cxUUl4ejhyRTNIRDBzV0krZXhoeiticXYwOWFDMDJpYmM1NDVlTGN6R005MnJwcktScjRhdGlieDFmN25MZzB6c2pxbGFxN1FXTUZBcGxkcnZ2TGdPeUw5aXhQWWNEeVlaUk5YQlZ4R2JJaTVlNmR0UC9saFdWZ3ZKU2JraU1hM3hrYlhxTE9sN0VOUVhGVTF4UWlFKzNqUnJUQkhWK21Jd3NBWCtMOFRCNXM0K1o4UWZvTHgzVGhnbDlCZ2wzOXc5THBUM2V3RjZvUTlzZHJ2ZFl2UVQrTVhiOCsrWSsxMnd6YkgzdDk1alloZmkzZG8zSzR2Q1U5MjVZVTE0aFRsQi9yRXNsdnZDek1YTmpzeGNucFI3VFJqcThLUTNJSU1kTHFDSHV3dUxneWZJZzQwYWhlY2N1d0ZXeHV4bGxZU0hBRVRVbVBKNGNrVFVKMnBYc084VDNMcmJmTit1TUxIM3JPUERzaURzdlBsdUdBM1cwVjNFcDdFay9VWXZMcGE1cE1ETEQyMUw0c1ZRSUM1MmYvNTRYaXhmd2dFTlJHVy8yTitNU3FMMGZLNDJibzZ3aDgwRjl0VzRZNHQ1cnJjTzFCem5zSEJ5dURLRUR1L1YwZmZZNTUxS0tNL0h2MnY1VUY5TU9UOHhQOXhGM0R2anhhRlpHNXVYRTUvQUFLWStzRTY4YnVVdlRENWVBdUY4ZTZxajNCT0ZCbVVETmpGeGVYd0ZiVVlpTXo3andXV3ZoUnRwWGg5bm05N2FlbVpWMFFoV0Z2SEg2bUtHZmVmQk15TmhyNUx4ZklNbmEvVjQzdlcxV2E5SEN5S3c1eG5SRnN4NUx3RkJ3STY2L0E4K0d5ZVJ0SWpOVmVUYkJiRFBXN0RTN0ZoVDBsNFpwRnVNVVFOS1lIa2p0cFJYeTFoUlZpYS82RCtDV1ZyR2tDTSsrR0YwclFxbnY3bGJTWURSa2p2T1pWelNndzlHOElZUlpzVUF5VlhDOXVJZG1VSmxrSjVVUGtES2hpdjBnWWdqSDBYUDlXSE1jWWhMYTMwOXFPVVJwWFhqejlhSDJyZHYrWUg3UXhLaEVBVVFrR0NtTENieXhZOGhBN21pTkI4cnpSODM5dll0MTFzbkYwY0pWd2U4N2JleUl3cmRNeFl1ODFiZXNONVR3SUF2akJxMnIyYzgyQXg0eHc5UitmYis4Q0s4SytnQTRJSVJ3b2hqOFlCbGoyNmQ3V3Y3Z3gwTkVNOUNLRUZCS0M2QzhHMFdQN0o2SDc0Qng5QVJodXZHQ29SM0RGejBERHpqM1dOUkZWa3NTQUtQMnBDRDJZb2NXQlB6WWNBQk9Ed1M5OGFWWWtqdzdSSGp2M2paamRGSndDVllJVGRhZU8xajlNZUdaUDM5SnhyS3picC83NUdma0F1N2dZWlhEUGVGN2VVaURTZ3hwRVRsUlZ0QkZHOTlYTlZieGVkR1BDdTdFU2FlVDBjTGF2eGFqZ3BPeGcxaTBGOEFPeVlVQlh1ZlVQQUtlQSswbGdzQXk5Qlp4SGgvZ3hYTEdLRGVubmV5K3FrOEQ1Z25nVGg1SWxaUWczYTlFL1BMT3BaUFUrbEs3YWNDSDBabDYzc3JlYlQwRnFBVzBvaWZIamp5K1FEWXBqR0NxcmlpM1R3WFFHdlA5dUVBRmV3RjZzR2xjR0hVRkNlUGlSTTVndDJ3VDAvSEZVajlVRHBzVlB0dXR2RURmTU9Obm5JMW5BWXFnM0haQmJERjVvQWZzVnFaalgzQU9NMTM1MllWZzg0LzhYMlFYY3dsL2pHT3dpYmphUkhBZENIdFNGbGNRVU1PbW4vVGdpRUNWc1E0b1VBcWNvQktsSXhqdUpWdGRBaVpQOGdETkFFdUwySGdsYTVibUlOb0taTVF4M0dXSGhkWGdhWW85WU92QmdLK0dHTitQSlNXbG55UzF3c1pnY1gvSWNaM25lbWFGVE8xVmU4bXdjZER4L3VOMEZYV1RjU1IwVXpFSFMvT1ZvTlhjcGh6QXdyeGlZSEwzQ3c3TnFpVks3SUhXTGdHL0FNN0k3MW9PU3Yxdks3eWc1NkhoZy9EK0FZd05nUVB1UHNoZWVLdG1yazVxcFVnVFB2cTZCUXdJUmVjV0FJeklBZ29QcThGT1lZYUpZZ0hkMEh5SjJDVkhaL0lGWmoxdzNOdnZBSGZPVngrWFZpbXg4akpDeVg1eDllUHZ5NTFQVEtHOWZzQUZ1VHZINW5IcHYzdEo2Ly85ei82cno5NW5SL2RvK1M3WWd4N2F0aWVDSnFjWTJKT1lTbUk2SVBSaFphQzlMRGZDR25MRUlDWEhTcWlrZC9iWHZOSUs5Ymh4ZTIvOCtBQWRMVCtZeVYrMzRCRitDMlY5MEFaVE5ETnphS2F6eTNuVGhjQ09QRnlvTCtBSG1GdFhpQXI2b082SHVUSFBrSms4Z3NkMkYySGt6SHU3S0M0SFVCWC9mUERNMStMN1VHNzN4VUVkZy9NQU1VT01zOGN2VFdrWmVEbWNXOTR1dyt2SkU2TGdNUTNkamowRFJBZlJqb3VjSERCR1dPQnNac05nY0dBaHhlNENLWm1LYmduZG0wQWNnR2JQR3BNY1dnVEVxaDFwTHVCYWhOeTNPTjFieTRGcWNHUGJSWm5vQzJzQk9hUGp3VEpJSzQrUkZ3WVZvbEhHYkFqckxEUlQ0aGpiM3VQdmRhbzMyWG9DdUFxb0ZMUDBTelVEWjRjV0JBWU5adGJFbWF2cy8wTkdaMDRwcG1mTU1TbjdEUFVHMk4wZi9tcWNHdUFKZENndmtwSmlobjNCUHY0S3A0NUQ1eCtydHh6ZGhGWVNWS01oQ0dhK203czBvSTJMNjU5VFRRU1NsamZJVHBpalhDV2NUenBHOUQvUGxnMWVQNkh6TUNTeDFmeGRqc0hIQlppMVdTUkQyNityUEZnMkxqekIrd0FqZUJESUFqdm01OThLQVIrQWxTR0NQWENZdDBpL1RkTTlMNjlBVjVRUlNKdzZ3UmtYeGVxSGZSVUJidUJ0SDFmKzRQSEFPOXhZNWphRVZoZ0lkWXN3bmcvWE5QODhEdm9pQnl4QXRUWnp5dGovUnF3SDZ6K3BNQnQ1ZUxuaDFHS0cvekE0K1hJM21ON2VDM2VuMzFubFo4TUZvcEE4WTRGRGUwRnNiRWZRRTJlQTFvQjJVS3FOb1JpcHdSNVlVZUN6QXVVOG9DY01KNll4QWc5d3RtaHVDelhEZVNTb2x6RlhjZkRBWFIxbkJtbUpibzNwaWd3TGVnZnNBR1V6dTQwT0lBc21wL2xIYll1YWNKOU1XUGh1WDc4ck9MdG9KYTd2MndUb3BCNWQ1VDFabFZ1VER1MjFUQUdEQjZ6Q1ppTE9NQ2huMDI4WGtxbzdydzZJQnRFaGs0VWJTK09DSGpUV1V6OENZNUJ6b1RvWWVqaE14MUVDQk9GVGtpMjJNNEhhQVhrZkRSc0NUM283eDRzUFJzeThLcUdIOUNXRFBERGMyRW5CTU0za09jYjJBQnNUeEFuZWowZUwyRE1XYjN5WG1VamU5c2NBekNzMyt4U3llOUJoMi9HdjdGRU9OWlZXUkxqYnM4TFRPa2JHN0x3ZExPQWpockVtblcvUU5aWWlpQlpLdm5CaVJvMUFhYkEyTytXSDNYemhNTEV2RGpZd3JPM0ZjTXFBRng0Q2VqdlpRM3ZjcTNxSG1TbGNIVE1Sb1hpSkw0SUJJMlNZdkFOc0czaGpZYVNBdHlJaWdXaTlPb0gxUW53ejQyS0hDWVBtTUpVOFNCcnZTQjZsQi9oNEw2YlZjS0pZYzRDQ2kwWkc1V05CY0hOVzdXOTN3RWhoRzdzQzRJTDlrSFV3ZGY1L011ZGcrT3pZcENxZ0kxR1lQa1NXTmVRNHR3dk9CZWJuc0V1aGlSUVhBUzhYNENZZ0YvQUM1YU5QT0NLdFZ0VG1NRHl1ZXlvVGw4R0NtS29idzRxY3BlMnNtNExFUXlWRndQNnNUZ1lEVVFNdFVSY3VUZXlFUnFNSE13R2FoQ2xWR3c4SGtxdml6MWx6WkNNelRibWdUSFJoT1BicjVNNkFhQXZzUld3Qm16NUhTZ2RjQ0RmMjNIdXJDRzYvQUVPY0pPZjRmWVhIS2tDQVg0MmN1Sy9UVUpwRU1ieFo0TmJJZnBZZm9CV1FMNXF5TytFTFhXOERsNElLNDJkbCtrQkdQazhKQUtXaVZLOXo1VmcrVGphdHU3ZHE2ckFOcUlEckdMSUlqak1icm1CS3dOZXQ5bkhKUDJHb2Y3alNmN3hJTmVmSjBFUCtyR0tCbjBFMVh5SzNVRkl2N3hPZkplMWhnMFhTRFBZQzhWaWRlSmROSjYzRHYzS01GZE1yczVBRXQxUWJYNmcxSUpBWTdaaGM0akFnNmJmZmNsWnZ2TG4xbmp4OVAzejl0ZmY3eDgvd0sxb0F5TEtBcDBGN1N2ajBnRzZCbG1rUWMzb21ORS9CYlBINTJ1WXROd3ZURnFTaWhiSWZ4TkFnOEZiZERGbHNDOE1EUG4rak9nbTZhQ3hJSmdqdHBVdE5jUjlGbjIwY0NVOFVPQ3hmRGZNTnFBVi93YWlEcytJUU9JQWoxUm1jYWI1T1NMellzV2hWTU9jNE4vQ0dwZHhqZFlibmdIZmNvUmdISkFsc1AwRHQvNXRmLzdyN2JuKzJoOHQvd0NCNEN6eWcvK0YzK0JaRjZRSEd3YnN5TFZnT2xJNFVjVWJwTERuMFU4ajZTakx0YkNRYStiS0MwekRCZ0hsWWRNYjJzYzJicnhVbEZzY29MNm1pQXQrTm5CNzZBQVB4eGFEVEZoWUxPUytIeUQ5MHpvdktNM0xFM3M0MEV5TWJOREh3MGw1NmdlSzYxN2lZOS96cW8veDhyMzdUMW11dTVRNzdxckZFeGd2dlB0RUd5RzFrcTRURTRPWHlScll1eE9kVG51QU96NXN6RjVWNW84Q2xIcE5IQ0hLWFRMd3B3Q1RFSVEzd25OQnFCQVVLSGRmVDNCdEIxNk42L085VlFXdWZDTHlUT3dydXJrMEk0anlQV0RBS0JSbW1MWHBFU0tNbTB3UlVJSGx1Q1Zhc21EZUh5dUUxUVVsU1lDZVZlSEtHM2YwakF1RU53d2FHTjFIWmhkcUpOVjh4MmQ4R0JRTWJPblF3aGhpVWRrTldBL2o4SzlCbEtYeGI2dUVkU0hOTUdtRG5Ed2prZzFkZ0thT2IyWWM3YU5aNkJXeWdLeGxLTXFlMHFHeXNaUEdwa1BTbmlKVkkxMUd6bHBubFg1N1d4dE9RQWdIcW1oUWQ3T3JyQ0Uvelpla3B4aGhRK25pdXNERmNaVGdLL2pLVlJzVzJEVDMvYXBMb3J4dkYwWFlUQVJNc3FPQ09JcVYyc2J3c3pOQTA2NVMzRkJsdkRyUGlud1lRS2g0aW5yamJpclVxT25raGlRS1JJKzNpUk1VQTdQN01zdUNnWTN6Qjd3Z2VSR29rbVlBOEVNbzZoVkVRaER1bGNGUCsyQTE0T3YzYmlRYVVpd0kzem5pOHlGbkgxcXc4Ym52QjVUaEpoK1dISk5UOEpoVHhKYkJIK3JzUE9xNGpTMFhWZzI4T1NlMGMrQWpqQUZEUW5HdllHTjR4c2RGY2VHWXpGWnJpZERRQzE3OExwZGQwYTA0RGZnUnEyaUFrNFZQT0dXZUZ3K3dZaDlyNTJXQXc0MVBPck9HRUppb3h0NWY0Snh0M0NFMGJyaGtMM2xVMEUweUFZQVRPK0lYUG53c1duaVhiNlBhS1R6b2Z0WG56VGRXZ05LYVY5MjRiMURZbDJ0Q3NjRE1DTzhOOFgxZ05pdHh1N3FCT3hEdS9EN2dINU1uY0RVdzJNMXRBQXREM1dueE1qUTBaY2NRNm9DdHdEd2x0UmlTZ0dEK0kzUmZzVTFQaHRpKzBFaDBialhFUndlUVZvc2dqU2RmQVMxeVlUZGVlRWltOTZ0MTI1aUNEREsrTzdnVWZ3cnZpMGEwUUxJYkMzaFhjekdGSmZwKzBQN2tSWkJnby9PUEllMG5KYUF6QXNVK0JoMHkwZzNPM2RLQ1J6ZGw0bjdNOVFCSmNWTy9uQkpMbks4aEdETGtnUkZwaUJ2YWJqRHhSSStCSlZKWUVGWXZFcGtRVVNIZUQ1SEZ0Y016dExwUVg2U3FYeGlVa1JBRVZnRi9OdlBocjF0bkFMaUlRcldGSEdKM3NSY0w4OGJydzlJU3VBaWZlWnM0ZUJhVWFGKzZTendIMndTSGhvYTJwMFlBUENKeWcwL3lFWGJJTDZ6dzQ0RmZTQ0FmUUdLNWIwYnVRZjVnUlJ6WkJYcGNieXFEYjQwSi94NzhSalc1aEtIbkFxb0VSeGovdUxHendNY25MK0g0L1Z2aXB4cWdXeXc0K0tpYXQ5ZWNpWE1OdjJoMHFrYkpid0J4bnR1ZzI5MTF5WWFsMEg1WTJtNXhQWGxHSlFIbHVNU01ZS0tOMFVSV09oQnFwaStFYm5YTjFwMXJ0K2FTR2d5SkFQaVVaY05oY1MrTWNZakJqRW9HUkZTd1pQOFA0UlBuLzIzZE1BaDhNR09ySS9BaG9vV1ovOTdYZVBhZEowK0s4VzhtcGRDeEpkbXl4Q2ViSkdXZkRURmhGZmNHNjBNUEJDYi9manNFOHNjRDQ2VTR4bi9lL2NGVFlDbnJNSTJrU0p0clN5Y3FBaitCZE1TVGhHTFhhOCt4Ui9OK3JZZnhYcCtGTGJWalAxSFIyOWcxUk9NRi9KZit6OXVkdTAyREFGdDRPdXVCRUR3UTNuUGh1d0JQRjhKZkUzZ2Y0SVE1eDhzVUF3SjREM3dxZnROMFg2eVloMSt1RDdNWmtzOHdOL0tCUWdCVnh0RFdYUHpiVDZZdllpaTNBZnp2WkFsOTE3TWdmeTBIK0pnSGlUZHdQT0NDc1cyNDFsWngxWERrKzJLSHh6M2h1cmp6cmFpQk5iV3ZrbzErdGg0OGhkbHIvNGViWFArNFN6NFNBVWptM1lFR2FMVUxEOFpENFRDWXVMc09UOG5uOFYvQS9NdDJBQTdteWZMaGZDN2diUnpZNTR4dmVqNFVHb3ZzbXM2VGpmM1hCL2pidHYvTGU4WWFRUDRzRFJ3REl3Rml3b1ZrVGZHSjZXQXlHOXVDRFVIWlFaZEdrYnFrNWUrN2gvWEMrdlN4TDBnNldvbFV5dEFOT09LWEkyWVZNWmJzakNkQzVORkY3REc4NTMyQnYrQTVKS2RYNUMvcXZrenhLWkQ0YnpZQUlpU016bFdhTnF1R3pqaUNGQkZZQnJvcVg5RUdoWm54UkRqdzl5OVFXaWFROFNyQ3VmRUhtcU9WRTRxTFA4VWxRNUFiMmdRVktDK1diVXYvYnBPRnoxR0NabUprUDloUmRIYysxNUJjR01xQnd0enhYdWptTU04SzFvVE5taHpCaEpaM2M5Rzh6d2FBUlQ0enRaQWhQMzFqUExBb2x6NXZtT21ZK0lOOUloRGNqMlhHeDZmNjRXNHhsU2JKd0NhTlp3UTVyY0x5c3VLc25RVmxHYVRSOTJYQWNuMG1ia3J2WEFWbmhJaU1lbWRaRlR1QzZaOW8wSy9LWmZMcTIxZ1lQamF6UWRVOHZrWVN1cjRUeGlQd1hpYlJYK09kNFBScFRka1RQak5VOG9yZXNaWGJJQnY4MzJqWlNRVWE2Q3JyYWV3UHFMWUI4aDgwZnhnOWovMEJFTEd6Y24xY1NHZGpKcVprakNQU1ZVSWhpREFTemNydllPWTRocThIdkVnNzlZbHd1ME1sUHJqbGhMc1ZUR1FHcFVXcjZmZ1paQzByS1ZQSlI2WndhOXorUzVnU3J2Mll6bEE0VFRWSGxwMVZnU3hiaHZDTGFZSDd1NVVqM0RzTmdCNTcyTER5TDh4UlB3aGdCdFVDTFo1OVJlQWxaQ0dEeE9SNG90MjNJWGxKWklodkxTdkRxMXFZNlFTbjJFeUFDK3lETlRTK1h2UEo1RDJtNlJ0MExCWFRHY2FvOFMxY1RFdHV2WU4wVlN5cytjUEhyRU9WWUlOZ2p2UWtCSjM3NDIyeGtkZnptSFNva3gzQVdJeGpXOFBQKzhLanVPTWI0SU1MaElDSUFIQlJhTVRydFdnbWZnQXpBQW52SFBjRlJ2QmJxSk5xdytzaGpMTjNKQjhvQmwrdGVMWnZRZUdXZ1k3OEdMSlMvLys2NDdtZnlVejkweERpb3lUb2RjVHg0TEFnL2pIaGJzVmhpVjJER0NCSCtIU1RnUG5GVTZNQmo5OFB4a3UrZmpYOE5ONW5BblhhKzVqNkJDV0M4WEEyUXFCUWpBTHhMbENXdUZHa2x2QlhKOWxkQVErZ3laR0tNT3JpVVlCd0E0dUREdDVZVThnQ05HcURBU3JZTytYNFlMYVEvMmNOOXEwY0hnYktRWW5CNFA2NUVKaUpQZnBiamtIY0QwQkt0NG5vWDhidnh4VWp5cHpMNFlxWUdmalJCL1FCNUpna1MrOER3Uy9YMXdjWUtpMWVDU2tDSWdMU3A3YnpPWWtIeGRtNm9CdWptdzB5Z3preGozbGpKdzJyOFB3WStyb25oaTNrb1o1dU1XMHlWN3RNdTNmTE9VQ0NTR1FVdExlbDdSUm5Md1AzM1NEaFNVekdYOHIrMHZGSGpPVUh1TTNscERSK2JQN0J1ZTRIQk1iM3Y2YVIrcjJNMG94d3ZMb0JNVFJlQS9xTzBsYVVITitiSVNuV3ZTQ2tCaTd4aVR4L1J5eXl0VXlnRi9CQnJnQ2h1azRCTlVDTHI0RGg0YTVKTk5KTWVrUlVKUFZYVHplTnpnRmFVNDl2d2lJaWdZWWhlU3VVdmNSa3JBNXZQWUJJMGJEY1l4WVJRbnhGODVQc1RyQktSY3FLalZZTnhoaStoN1JCcnhLTHNWV2NTTVhaWW1DeExqaTdjcTlmREtDVUN3c0NyVGdMRmtvK1A0UVJnT2dCL2pDL3JBK0FBNXVCYU93RjhBY0NBcUVtR2phd0pwZ1M3aHRHWFNCL2ZLSkpBTmxOUlJSV3g2RVpOK0RkYmpsQ040akJicUhYVm9weHp3UytFbTZNdjczNEJVK0hHRm1PdHdZdzRzRk9mTUhhRlRnak1tNGxqd2dKbSszV205RUFxeVFnR080WXVDaGVoSzNkMjByZnVBQUZ0UjVCNFBkU0g3SDRIK2dQQUc3cXE4UGxBK3hyak00aWxjejZXRHRpNlZHMFhNRDgyZ2N1aEd3K3hnQS85dVhCcVBQS3JHUnNRMFdDa3FOZ3dMSnlGcTJlOVFQUW16cWYzSVJyWVJMcTFhQVBrSU1ialc4dzluTFNveDlXRVhPSDgrTDN4cDRNakg5OVRmbnZDbWZsZmdLYzIwVFc4YjRqWHRFUTFYbVg4UDZXTUJzVndIWkIzVzVqN29BdGtDTW9CRVNVZ2hsQlNCR2NXNS95R3ZaK2tKNThJWmEzRjBMZVlEd3NVTG9iajlqUjduYkNFam1mdEJhMElxQjdWaXhpa3RrTHNhakpVdlBGT05lejJKWEw1SGREaTRlbEFZY1ZRU0JBRWF3S3lHNXVFSXFBUWJMQVhtQUxjQjVJc01WU1pSbzltWmVSUVpacytkN28xUnJzY0RReXRBeWU2VG0ybVFjNG82Vi9vby83TTBzeEFhdDgwWW9qci9kZE1JV2VyZUVTTW9kYWNJbzMxczJ5aHdTQTJQR1lpUnRuQXhQY2x2NEJDbnZkRFU4Q1dNMElHRVJ0dGdzTGJFUkdlSmg3TlErRlBxTG5HTFo2U20wQXl0V0VOSStYWXNaNkEvQkFoVkNqOVZoU2NHUHVNQWlBQ0o4SDZHRFdMWnJiUndicVFoYkJUK1UrSmRrWnNqMXcyaGJJWTdBTndBRDhkVVliRnkzZ3llT2FXSWVOQi84c21RSlUxMnJBUWIyTTNDSVhnekhmSVJHc3RlbDYxamRYby9pbXdaRHFWSkc0TmkremY1dDdmNERLOXZaaTZHcytJRHVYR0E2QUlOekJNT1g5amZHcjNMOTNISllWQ3NuTnY3SnFMMDhVNzdSUHJTRWdoMGV0cHJjTTJRd2xQT0NkTUtVR2kzQWNpYlY5bXFVTXhnaTNWZWdBc1g1cVF5K3NNcFRLekUweUNtbHBPbERBU2dZeGlMY0hZbVJFeitvQjYzYkFRUjBFanMxN0UzSTF1blVYRDd0V1VUME1NRGZNMnpJelh1M1JqbjI4UGpDaFdTZG9jQTJ2MExSZFlMM0JUc09WbGNOVmVYYkFON3EydDZVVkpvWUFZNy9rUE1TZWEvbyswTGREQTVCa05CYy9oSERMQkxKNTcySlFOb1lUdVYyc2tmZ0llUVludkJWUVBqSkVKQmpEZkRBZ3dMTStoNldURmVqRzZrSUYrNHVBRnhZWkV6YjdBeUR1YjduMkN4UkZiZ0EyWnJSYTNOTTBtcFV2Z0IzaklkKzB3SEVhY0R2NTBSUGJUMzU1TEdReEh3VDJvR3RUSjQxTzdveHQ0WGRTcmpWOGVLWUVlOENXM01naVd4V01WdFlwU2VhS0FsM1E2N1FjTmdmcklRM001WEkva0JaV2hFdmkrcE5PYW9mT3ZyQVh0NFdsNzdES3cyenVsRHVlY0hzM2pKaGVFT0ZsTmVTZnJFUFYxa2JyUmZqaUwxZUwwVFNDekplZzVjbXlhYXRXMUFSNWk2V2UrME1KY0R3Zy93Y0VCUy9PMll2MXRuR01PTS8zUmErbjRSS1RaRHdRV0FBRDJ3empyMmd4Z0xWalNpVk1qQVc4MHZydkh2YmZuMVZUYlREelZ5TVJiaFpDN3d3UVp6L0RaWmhMYVR4MW1LZzlHS0Nua0tCKzBEUTBLV0NacGd5bDUxTyswR1JCVmpKTlhBZG1Ca0lGQTQvcENtd0NnQWhROWVpcXpCQWExZWFudnYvcXFmNDgvbC9KalQ4dk1QSmwwZnc2M3dJcEhCdUZtQlJjNllrQ2hjT3RjenN4M21DVUVvcWJtb0YxSE9EM0V6TGp3Zmw2MVhkMFBJckhrVEVBeWR4OFNzZ0tsSHQxMDEyc2dyeTk3TU1OMTFxditCV29CL01HQjdNb3NLT3EyWVA4VDR2cUJDalZOSElDL21KdThzbGdKK1N2WWVzQVFCYXZKUFBxa05NTUdKbFkrRzRjQjNka08wRDY2VWI0ZmtwUWZsVnN1azZBblJVMXI3c2FUelhiOGF6YjZrRTRMRitZRFNkWjhnVUJZTjlnUmV3WXptSGpBbmx6WEhFQ3lHUFo1MHdnbmhNUldzYWVIMnM1Z1IxQVZaYm13Nyt4YXZsYjEwa1BRRnh1cUhUYkp0T01oVUFzc0grUHhaTGhHMko4bnE3OEl4bjExNk1kMGpST1U4bUZoRXR1VDJ6OXMwSmxHUWxvL3JpUDBIbzB2NkkxSHZoTXN6bTV6aUFWVXZqNXMwNDg0dXFYRnVqR3dUYXd1dVdrMVlMbFZYaE5pQXQyQmM2RUh3WlNscHdOQ2NrT0FpNGlXL0J6M2hIT0JBYStEQTdNZitUSlhPWHh5NkQ5YzVYLzgyVitVT2JGb1lsc29rYjVRWTRPMjhERUE2QlNNTXp5enZITFZvbS9oQ213aHBGWnhWQnV1OFFDNjgxYW5DUkNBd0ZqUHRFMXl4NEVJVkNiKzFldkx1ZEZzd0xNQmljZnNSd3dDQUFsUUJQNkF2Y01tbGFXaDFkRDlMRmFzb01yS1hRNG5BZEVpSWdpaWpDQS9QNWFmVjVERWMxQThuZGFackNTMnR3aGZZYnlCMUNwVFB3R0YxNUdPSU5PMDRRRmFONW1rLy9wcW8wT3AvMUxPTlAzV3pZWWJJNTJKeVRRL1lpamJMTmtKcGZTdEpRQlMyTWR2dVd5ZVJvZEttMWo4VnpzbUc1Z1dNTkNza0R1UFdhUzJ4c1BBMzBYaUdyRy9YSVIvQU9Zb2dQTit1RVcxb1ZEN0VMZ0JhOW45T2VuWWN0V2pHS2NnL1VWclUwNDlyT2EvbnZITzFjdk8wVVArRGFjTDVRWHNIbi85SE9mcEhnL0pGTmptdUl2NEcySjJIRzEvVFV6S1RWM0RmQ01acFBZNWJidUNlZTAxSHh1Q0NPNkZxcmRWY2JPY1VDMkpKZzNlMW13WllrTW9CMUVqZ3V3akJta2lnQmFZR1kwNXpIcmZVUlR2M0VwT1hIVzMxNTgzQlVlUE8yQ1lUMStYN1BraEZkQWhJOFh4VWppUW5oM05nTHppRU8yL21GZUZyN3hxaFhrcjc0OXVNME9vUVF2c1Y3TE5FblpBOXFDRmJFYWN6MW1IaXhtZk15K1ZlUHQ3T29ET1k0NjBQRWZxd01xdjMreWhHRndFYlg4K1FDVytBdmF3YWp2MzRMWk9IQk4yelVSdTN0TGFSQXZaQmJNaEttd3pjc2FJOGpEampnUkMxOTdmV2Y4UUkvc0t5eENYdnZsWW16NytsanhhaTJMelNSWlBwdngwYmZ0TGkvT0FlLzE5dnNFVlgydUIzS04yMnRZbTEydEFVSEYwVHN3TUo2Mnd3M1JSVjU4V2M5a2p1WlRwbUlwa0M0QlNZVGdQbmlhaWRtTDJDalFLMWJpQkdhbXhkNUFMeE4xMml6OGVRbWdKTU5LcGxUdmFtMEFVTHNBWTRWWXRoeFptd0pJKzdSKzRLenZUNUxsdDdzWEx0UTBtWjRudlBCUGxobWJ6MlpJK0FNcktWNkRackhoRnYxSTBvSEttUFFuVnd0ajd0ZmkvejJ1ekRmYk5vQWM1ZytUdlVheE9raFpKQUFUQ0xZbHhYeHlXZmlXK2t6SXJFVlFBZnJiakI1YW9IOHRnQVVnSVNCZDFlUjlZWGRuTFR3RkdQUzI1OHNWV0pZSmdqS0xKWW80WHcwVlZoWEEvaHBWZzNkY3I5MFhjZ0owcWhpUmg4RStXaXBUTGpPQ1NOZW9keHNOaWRnYlc4bHF2OFppbzQwVnBXTlN4b1BzWHRrNkJIemQrMkJ5Z2xIQitTdkFRYmFCRzQvMTNValQ5QVhaZDVNSXNCbXJkTmtIYkhoa2I4Q2J6OVhNVkcxb3h5bTNoc3MrVm1qRENrQjdvSE13R3JUaWZubkJ0NTMvaSt3OHdJZkM0NWI3eTgrbzJKUUpZcHQyUFVCcWpvdkVmaUVxN0NuSU52Q0R2QWI4aTMxL0Nnd01lbXY1MHdPaGd5c0F2bkpHMEFPWUxkNlhqMnpqajdsTWtOakhtMWRiUWxsTGtWMHhEbjRiZGhrbm1vK2t0bWJlRklsNVBvc1dSQzZQRHZKVEVjNDJjbWZ3RDQ3TnFzTXRSOVNzeFpQWHQwVUxGTmpFZmJOYVVNSUw1OU1qOHV3S283dXlyWFFEeTEveUNDZ1M1aXpmS1ExZkIwYkFRMmJjOTJNczB0b1JNMVJ2ejZlMUNkTTVnRkxSeXFyN21paE5BcXdIaVNEMk5PT2EwaTgzYW1yZjZrbzA1OWxOeW1SZWZwWmZkVmNDYzMwTFd3a2wrdVVnc1VVL2ExT3M5VWtuUFduOVpZVDkzeWM2Rk4vL3ZOamY3bm51ZUV3dHlCWklhY0V2bG9WZGVMSFJvVC80K1JmOEJhS0d0UmdOQk12SUNic0I5OWZvaUltUmIwNlVOVi90Ly9LTy83d2grQVlUdml4RHJTYTg3YzVGYWEzd1NSSFBnREIydUdjSGZleW84N3J4QXljYTlWb2hnYW5VdW9TVFBaQWduU0lDRVlOZUNRWlpRSGw5TmE2UC83VDdnMGMyM1JsaHNSRGZvVnRLRWR4eGVqOHdVYk5ZSklXaFJ5Y0JlQmxrYlJFdHZoOVl4N1hjL0lCMVEyM1JWOVFPbWRQNk50OEQwcCtSLzJVN0ZwK0hwRTE0NUVKYjhaSmNHOFp4d1NXVEtkaGZLOVFHWHFIcEZ2MW1TR0RoU3NzTU1wU1l4MEJoaDJuYlVYRExCWE13Wmg0R2NRVVJ6ekJuY1dCTHNYQ25tVHAvMFVVOGNMYXdEM2lDOEQzUmN0YmJMUFJ0bjJOUGFMaWhTalFScWxXUTdGUWI3OXZTblpHemQxbHpjb3YzT2g5ZkZVS2F0dlY1Q1JObk1NeGtxc0VHNjlnQ1hzVU9UdnZQcnJzZ0hiYStueHdQL3k0ejdPM0RBV1hRUW4wcFc0YmMvT3FScFU1NGw5UFJDcjh3QXdlbnVOc1YwQXRydU5Lako3NFBUbjRWb2JFTUFVRXQ4ZjRiUkpPZko3MFdMNXJBd3loQUt1dmRyWm01YlhpNUxNTXg3V3I0OUhQYnJIdVozUzVsaUxpdG9XWWR6Ly9rODM3QlVoYWtJRFpBVmx0OCtFRXFMNzBremdHaWpWTkRIbitVWloyWUNzOVhzbDAxdHNXODJVNndiOThMNjQ3ODNnYVFSb21vVk5peEE5Z25iZ21pZ3hldnZCeUdOZHZMdGF6N2U1QzlPN1lLbEY2R1RTZlMxSzF1Wkd0aE11aW1WWE8zelpHWHdBQXRPRzA0M1M0NFdJaTE0QWFBeStoSlRtaWpkYlVOVkZ6SGZvN0dTeGE4R2dhQ1MvRXlrSnBxWVVlMFR0Z1FOV3NIZU9rZDN3cUJ3NDNWOXJKSkEzRTBoSG9IYlBtOHhRc1p0cnB2T1N6dmsyYTZVS014dWpLQVkwRWlZSkJXQmtQanpLMmNlcEtWTEtCQjhLMXJRTXBDTWRVL2JCL2IvdUJudzlZRnYzaGF0Sm5Gc29rQXhjM0JlUmYzcjlidVJuZnRkc2FpUG5iZEJRdFJjbzg4S0x4MlFwTXR0T0VScmxvd1hKYUw1ZklyNGx0VzRDZjRLeXNRQkZiVHd2VngrbTROUDBBZlpoSjNSQi9KZm9udEY2NXBFQ3lDUEFNN3lRNmR2SVVKSWR1T3JkaFd1RzhiWG80K2RvakhpWjBsYkRJMDZaVVRBQ2NhaUMzYkNZVWtBOWNBQ3ZNR2wvSmNHS2JIUWtUK0Z5SFpFMkNMYnpzWGh1R2hTSjkxcHNrY0J1UWVNUHE5eTQ2QnZaZUZFVHh3MDZIanZMQitFN2VRd3BrZmczSkdheFhTeEQ4Nm9jTW5xVkNjKzdITE9kMFhUSFBxUjVMSkt2WUhEeFAxMHlDR1lZSHpLb2FnNUErMVlRVWVwOGRnVEIzK1lldkdON1hJNzNkZnRqbEE2Y3FKTTBGVTY3QktwMzVyMWV3NjFjOE12c2g0L1lDQnFNbHNBQ0RsRVdBQXd1NDA4MVY5bTJ3N245NzBzL2UxL0JyWDVtNkdsUnFMZ0sycDVvd2UrTTNhVWxOSkZMU2ExWURlRyt3RytWdkdZNzdIM21BMGtLZDVnRlZmaXZZTVRzdUVPeUsxb3kzaEZRT2FkZmpXMmUzYkpCNm9kd1BKcm1KVlNtT0RiNlhSdmNCbnJiQ2JuWlh3M1c3VmtCR0s3TndJNjdRRm90RTFLOUFkSU9MSE5oVjgvelRpakUxOGJQSkh5SGwrOERPU1p2a2IzcVRaK1hCcXRZQkdwdy84Tlo3UDB4a0gyWGsvTDFoM1h3NmpFTk4rMDU3Sk5uUWt4WWc2R0JuUUFZNDNhMmZhK2IxMXhVRjJEWFlBVU5wNTNwTFY5M2RmMXRXZWR0MWhXNER4WTc0Tk9zTU5JSXdmYm5uV2hCV1BCZ1FRZUFQb0ZkWlJtcGp6VFNrT25TbFUxTmdzUDVBQTYxZ3RLOGJITkVsclZwZWwvekJoUm5kcjBoNThBTnBuV1hsLzkvWktYSGpZZUtvVnJ4V3RJUWkxc0JlZ1k2Zzdvb0FPZ1RkZmROT3VOaXo5YWNROWxCMVViVHZMQnpFQWgyQzVYeXZWNTc3YStCV1pEbXNQZGJ0bXhnUG10cUFaN1o4QmoxOVY4bXQxQ0FvZ285c0YycmJtYTZRNVAxNEkwYmp6MDRDY3ZHK3lwdmdCdFg4RkRXVDVnTDQxb0dHUHIvdVlxYnF0Uzc3TmVlZFdPZzdJZlBuMS9xcnhoNE5jOERsUEhJWURwb0hvejNRREtzSnF1dFJnak1lSW5WV3RwcFFOa3RoaW5ubjUrVnc0QlR1UldBdWNyQ0pxdEJOMStVNWhFbTRjQjJBUExONm0zS2dDcUw0cVU3Y0Y0U2lJVVVCem5sZTI2djdyanJWd3B0T3ZJanR1eWZnN3NYamdlREFHdUczaDY3Q2p1T1JpTlFPMFl1c1owMzc3aGpkY1dDS00xTVFzN1JhNEsvY0ZhQ0diZ3FLVEdMVFVZYkZJOVFiRmZraVY3UENKb0NORXIvRkpmTUtLRjVhZGwwSUoyVXRjb0ROTE9tK0thaTV6NmFjRkhYc045YmVieFhqTXRPTUM4Y0w1N2RIdDlXUTN3b1VUc2Nwaldlc0lXMlB2UU9vTDA3Vk1jdHBtanBHMGZBVCtEN1JmV2VVd2lZQVhlaHhLMEZLSEp0Y0xrTm1xZVNxdzl2MUFsRjQ3eVJxdXhraE5ONHhnZWJ3c09laVgrTmZEVXE1VHBldGJQalpqM2VXeWxla3RQNmxGZ3NISHhoTGk5eE8yQlVuL0pyTFBBd3dqK3JvS3FCNXVHUmRtbmhSMGhIM285NFZmL0xhanZuZ0ExdGU1Tm05SmVpSk10L2xJYS9WUS9mYldkVHVNQnZDVjlPV2dNRVF1Yjl0Zys4YlRzc3ZSeGdRdzlPbi9LRnpEZkgwMndqenN0dWtuczVxc1h4Qms4WDc3QVBvTndaNGlnNDFEdjlBZnE0cmlabHRmRUhKSTNEajVpbVpqV0RTZ3haTlBCOGs3ZVV3YjZONWs4M0VDOUo3WUp0YmlUbGMxeExiakVjVFhDb2J5TEhOMm16VjVPdVRPTWxKOVg1ejJHSlFUMjRoQUFXTWtDYkxDRG9BWnRpb0NKbTAyNFFGdmwyTnFESWFGVTRzTWpnY293bVpWOTNVeU5MeFVzRFNqbi9BOWdORWVSejV4L1I4K01qVjRqaFZ3QkUyMjlRbDZISVRQdVFnVG12U2c3VEV1bHVPRWt1b25BRDVZSFAvUXJWNXpoQXZDYkR3K0FUeFo3aTdFd2p3Q2NEQWVlbDVuTmZRT2w3MldOVnZMSG5XMjNqamo1NVFTU0REbU5waUtyS2U2NmdSMGJMbEIrT0VxQmdoNUpKTjZFOU1BNmRhd0xXTXhXRmNnQnNZODNGYStOMXcrWkFiYk5MdVc2Yk5DTEM1OFZiWlFxanFKQjVjSEFnSzJodzFndHlZa3VndjVzWnFrVDhFTU9qMDZTQXlpNEpnTmk5YmdReG5sQWtuQU5CQ0xHMUF2OXVqSUdSRHh1d0xpL3FIengrWTFhUjBQaiswelBsVW4ydzZrUU9vVHB2UERKSnRZMFgxdHl4ZmduY1hDT0V6dGdJc0FLOUgzZnFyUkM3b2hjUi9WK241OGJNYUJRTCtlSUZuWXAyOHJhd3M2QUdvTHE0OFZBb2RmV2xyOUV0TEhTMWg2K0oxRjVnYnZ2NGlEZEREYkFTOXpTSFl5c2s3b0FCQUhyQUFWeGM5ejlSSE5LNE1WeXd0d0dNRVVCMjRmSzNTZnlVaC9YVk42YnpEMng1WEdMMExBQ2x4bjJKSlZhNWhhczByclYzUno2bDMvN2N2RzBITDlieTU1L2ZPYS83OWQ4dnF2SHZQL3pTV3YvLzJiczd5b0lpUTBZRzV2YStLRTBpZjZrSDRMZVRjY24zRklKejhzZyt6MytJL0wvQ3lIY3hCK3RzTXNwZTIrTVBlZ252ZmY0SUJUdTN6OSs5Y05IdjBYTDJ1ZEpPWUZOZDZJbzUxVXVmMW8xN0xNOUF1WFExdWdaSmdpZkNkVzBNTG5Qait3SWh3cGgybzhoSFd3Wk85VEZHMW0xQ1RvaDBRVHVEV3JOc3ZWM20wUEtmYndYTisrS0J6eHJLNFpvR1pWc0RVZUQ3dXd3cHdPdlVHWjRKSExrbmowUmtoczZPYjZiT2I3ckhVR1c1U0JaZGhXZ3pWNzlEc2VheHNVL09JeDNWWnliSXRoYjl1QkhQMFJzRG1mSTVRc3EzN3QrZnF3elJsc2lFTkV4Wko5YXYxNUxJUUFEZk0xVE1vQ2htclA3Q2ZBQW42R21kakU2YlNEMUM4c2FJZkR0RlFDak8wV2pqdEQ3eGpPTjd6THJqSEwvWUp4TlNjZzdRRGdkdnJNNTJ3MTUwN0FDWnBnRk9XSENzT3VvZzJyZU96UDhIODUxWnJSQnVwa21mVm5kYUxmMUNkRE81Rkt5STNKMHUva3RpNFdDNE1KN3Rxd1NDaUNwc2R3ZExGMHlkaTVmdmZPUHB3ellaQkE4UWtJeUM0bDJ5QUNIaUdZcDUxbjlscTNsWDdjRWtNcHhiUXF4Z2Q3VHFPRkpYcXV6MGtmbWRHRUFkejFjTXJIbUR3c0hONlBpdVR1OXA5Q1dNVHh3MlZEN1NQR1pqeXVaUlVHRnlpcDJhdzE4QU1CcDFLQlIxQkV4ZkNiVmlBNDYwTU90VXdhaFZPZkc1emZ4ZzRub3phVzRTNG43U1FMR3V4VWorQXNiUE50UlFxK3JEM3c0eXZjZ29xU3dRYThUY1R4NXo4Vm8zc3NpZFp0WU1PeHBILzl6Zk82RzlYSmZBQnJLT2Q2KzJrNlpZc0ZLamY3QnZDMFZ1aXpNc1FhVllBOGtFYWkxRSt2L3lmYTNXQk9tT1NMVHp5N0NFLzhlRFVUZElvanFNbm04NDRvZ2M1aWJhQkI1eVhzYWY4RlBnWFFCNUp1eHJUZ0NwSzc1THlPamg5YSs4cllvd25LZi9LcDFFZ1dQeWN1RVIxamd4cW5XRXl6Qk9kQ0RXdlljVTdnOVR3aDNSVStMRlYyVE5hRmxDYzI2OHVIcVlJZGRGK0RIWjIrSDhBR2pKWWN1bW1GRFI1OGRoT2lmaFZENHJnWk5JbWRYSmRSSWhNUW9KaU5YSDJ2cERuZXpyNTY0WDRxVjA4akE2YWRXY1crckZTY0ZLZ0REWTVYbTg0OEt0bW8zOWRPSTlkMkxnK3lETDhRbTIyTVUxYjlUMjJ0ZzV6QTNOemxEbVhQMCtBMnNKbVFLR3U4OXJwMHE5QWpPT1pHSmV5N0dNQWdlSkRCTXJHM1JvRFhXYzZGM2ZPa3VrOXgyTnJQbVRsa3JSRlk1bkxTaGZrdExyRGhmMWdpVUt3OXJvNGNhbGhHN004d0NnUVlTaCs2RDIxaC9leGJDZllKWXRjL2N5QVhhQkwvMEU5UzFwQ1ZMc0ZhdFdMT3o1UkR3VmFjVVlmOU9mV2RJZzZ6UVFzQXI3a3JnSVFTeDNWaW5MRllDZHJ2VmNvOWZHM2N1SE1FNnNNWGlnR3RaQVZBZkQ2UXJ6MHM2N1NQYUtqR3I5UXpYVGFyWlhZQk84SnRSc0MyZDJmZzJhMThRMWJ0ZVVnZENXZEo0VkNBYlg4WTJ4a21ycVpOMlBZMFQyUy95Qm03QnVGN0R4NTZONHNrUTg2aVZNU3UyS2pGbi9kb0xMSnhOaU5ucDZNcG41U01jMENRYkpocXNMYnZrTjdxYUtUMWE4MEY5Wm5ZUEpNNVdqVmRtaUhoblo5dk1lUG53bE1iaU1iWmNuMlB5d1FlNzRrdk5uUTUyc24rTzUzUWNWdFlBc2NFYXA0c2NqMnp3Nnh6Y3ppRjB4ak9hdy9SS2RBUDlKNmp5cE5ZNTJVMzFRamxRY1N4VHJFa3kzcHU3MitGNlBQc1dqRDhUcmw3TFNacnR4TjJIcmp0ZGFmakQ4dy9yejJqdFZIZHlISjJobDl1em5jS1JVTGZUNWs5aG5qeDJmdXhiUGlaaGc2YzZ3VmQvL25YZWlxYkhjVmg0ZWRuL3dYNm9iSUgrK2JMWTVQeGQ0dnBIWGgxaGlnYUhyVmMwMExDbmk5WEptRUxNL3R1YkxMYk8zUjNqSThpblo2K2tuT3k3dXhrcEZoNEcyQUpCaW80ZCtwR3E4Nk9MOW1SUGRZMkNaY1BVQXBzeHJJajdOREtZRWtHUGhkYmJWSHJOSXI5dnBGcnB2WWFjc0NsWUFaUlpCemVaWWtRSnBkZnh0anc2Z2dYcERTYmNJeEFHa0dXeVFNY0UwYldHVWRMaWV0Mkx5Sy9xWnJEUi9pdkh0OWpkNFdEZVZ2Q3NoeXlkaGVuRmpxV1l0c0Q4Q0MyR2FZNzdhZVAwYkdNRmlmYUFZeHd3SG4yOVNURnlqSTJRelN2UmFaV3RGblpDV000Q1ZVYkh4elhOL01OSTMyek5YeHMxVDR6Ry9qQmJ1bm1sYzR3UDd1VExhRnc3aGxMNTU3ajNuU01mQXREWWVVc2l6OC95NTk1OU9lTVQwVFJxMmxBVEVtNEZvNm5JMXloTzIvcVBVbUo5U3dzbXoyR1RrZUM3VXdzTnM0aldyeWFMVWFTejhDRjdER2NKclhMZDdHcEFkRWNmQmljQlNiQWU3Q3I5Mm1CZ0pEZ3pzemtETXpZc2xyRE1rellDaUp1bEd3WVlhaldLRjdSOFpOdlNoTllaREwvTnhjeXNxbjZLQTBscEZ1ZG5mWjhuZ0dnYjNST1N2dWdheGpqTUhyQUZrSkY0V3UzMC92TWlnS2dINmpxWjBzTTJtd3I4R09zekM3MVlWTDJzZllyNUk3VzI1WGk0Rm9NZkovOXNvL0hvVzdRK2ZLY1dBSzJIbmdGRkhvNmNtckxTM1JpREFidlVEVTg4SXZCc3NEVEVHZVZRdS8yWHY5KzE2YzVqTEtPdi9jOGZZYm1ZL3lYai83NnN2NzY4SHV0OTlkVy8xOSsyb28ybTJZY3MyRTIwWG04dU05OU85UmdSSXhMZXh6WFluRUZGZzhuc2o0aHB5WGIrMUVOWUFzWmZ5QkJmTWRVdXZsak9rdXRtalVCeWlLbXhjRmZyOVdhVmVMMzNkVnFKZENRUFBxSGplS2ZSTUZwZEJIQ0c3ZGF6YWhzTXFBRU5FaC9taW02NGNocEVnb2R4dVUxaDhvNHRndGJheGNNTG1WYnhCckFSc3ZlZFdjVW1WZDAxSWR3ekVsc2dGZm5XWHd2YkpnMVNoWnhPbm9EVmNkdk81bkYydVFIWTVmNEY1UTRkSWUxMmd6bkZJVzdDZzJSSFQ2emJLaTNjdmU3T202a3h0amRWRXdGTmxhaHRvUnhWa3lpcWZmZEg1Tmh3QlV3eTBRSFR2QjQyQzJCcDhyMloyS1BCdHVHR1J5T3RJTHl4OU15UEgvVk0vdXpFRktKRjlDZU52UDNoeS90TU1nc084c2F1cFBhL296aytYM2l6L2Vmdnk3WC8zNDVuRUw5MTd2NTdiL3VkZjF1OXU4WCszT3pZWnY3KzRBNXdWbzRHSUM1ZnRZSmV1dTBBSm5RUWNEYm50ZWZCV25sdjdqZC8rM0xPWFhwTW1nSkttR2xMVEhGQm1sZklVYWZVb1ZYaGhYQ1g5N3o5ZGFIeGN0RGFobFAvTkZSRFRndDAvU25nK1kzWFhTViswOWxKazl3aXNrUTAxT3lqSE0zRHY0Q2NFYzZVVDRINTVuM2h1RmFIeEZRMnBGTzJXaHp1RkpDbVVCM1RsdnFqckxVNFJ6QVA3czVxWk1NZ1AwKy9UUGJacmV2ZFJ3MzhEcGV1Nlh0dUJIczJENnIwK2RaZk50Sy96enM3MUZ0MVhQU2I5UmxPaThRZC9SYVpmZllmRjJ1VXV1WVozelV2RSt6VE5vQ01qMDJTL0hzcms1N3lBTm9CUHk1bmFXS0FZZEFSTjFXL2NmY0U1RC9mejRKcE5zaEtkRVorZEJ1YTN1TElkb2MwWFZuWUJRMEpGbjNaSjNLWjA5NXU4Qkx2cXdlSXI0aUhpOW9tOG5FYnlaVEozek1OaVY4VzBOZzdFWlhkRWFNelp6M3dOb0tqSzVvYk1GSm1OYitQK0FTcDVjMHAwM01GSVVXay9mb2o2MjExWEc0SVFHUU1USHhWR25nMjRlOWZXVmNqOFBFQnRwbEZCaW9hT1U4Zmo5aGtuTUZhNHJOeStoeWhkMTJjWnpTRkJra0VCN290STZZdWcyMGw2MVYzU1lDUG4xTTFZMG5ldXhtNDRraXZpZndvbkQxM2NOcnRQZ2RDYnJqcXQ0T2NWYjZNRXRmdll6em5xNnp4eXBIVUtqMW5lY2dDZXhLa0gvYjBkUUJHZFpKWWUxNFRJK1hlREIzRDg0WFI4NFNMVlRFZEFBT3lFamx4NElEY2Ezc2M5ekZzbitUSmNNM2RTSENWZ2Ewejh1U1FHN3NTSVIvekNmSEhUbWtDY0M1Q2p6ZXdZZmdGNFVrR3ZBM2JlSElqZkE2d2hoOFVSMXVCcjIwUUxJMWdLVXpYKzFydHUzTStsN0FvNTFyeHIyWDRSQ2JvMWFSa2JYeHE2Und0eDNmaEMxWmpyYnNOdDA2bXJUWkpoMHV4eCtFaEg4RklJSUNiOGU2R01rNEpZb3hPeGtITUhVYjRyUnJhY3ZHckJoNlBXakRnbjBUREVqOGhZWVg2Yk1KV3JNWUMzTDE4R0pwREljQlliZC9NNkRPZkkvYlFWcE9ZZ05RU0hZVjd3ZVozMjFkZGErVFJuZWtLcHdqTy9kMU9FWWt2bzREZGhqK0djRTBucnV5dUdjMkZvRFNzckU3OVpxbFdPV2N3dkR1bk9ZNE15dXpnL0dCYXdyaTQ5em1NNGhrbEYvaG5vYlVtSVVzSHdQZ3pDelRTaGlDQmRHLzBFaFFITlRWdVRaQ25MYVBWZXY2dVhRN1p2Nk1lVisyemZJU29oZHJZVnQzSUlLbGFyQktRT2pGN2pkc2UvSkpIL2t4OStuamNkemN0b0tGMVRlU2J3R1Vsc2lBRkFyOG1DT2Jwb1k3dEFjb0VDNlA0bkE2aHVVTXAxUlNaQXUxL1pWTXZHY3k3ZW5yZDlhVk9lbmwrUS9RUWg3dHBIczYzaFk1WWRmczNPZS9aYk1pVW1TZ1dDNEQvTXZSbWppSFg2RDMzNGtyNlZKTVhyWlNMRmdLMWlzaXM3a0RqNDA3T2t3aE9CaXVRSHZDeWVNNW9VTHNhbkhhWWd1ZEZ2QnQzUUo3S2tWdlR0aVMrRmwyczY1ZG0wMDF3UmpQNUhtZHZNdWwzcE1iZzBBNTNXN0FPRHFJWTlvTEVneldMSHZjc2pLNk16QUE4Ym84cldHaVhzVmhQZ2tFYmwwd0dJR2ZldTM5QSt0SDUyMWlEcjVwODJNcGdoRWJwTzFTYmJhUGFnSXVQcEhuTktYY25QLytBdmRaVVpPUTJRNTlGSGFoM0V1MzdieVFWTGNRMEs0SkdOeGZZNnNReVBjNHhYOGJYU1U3TmdCNUI4ZFEyQnpDbDE5WDNjd29QdEVDQjE4K1FVMjNTWmIzUWw4dytzV3VKMjluSGF3VG1DcytvVGtZMzk2WmFuK2VrUmhkcTEzOWF4Z3lmUzN5UDJWTWQ3b3YwVlpsMjUyNlpnc05FcThZdjZmZGFUazN4dk9Gd3EvQkhxWUU3Ri9SbWhTbk85OUdmZmNKbjF4bzl3ZU4rRHl5Qld6czNNdHpwc2lYbm1pUnFaMGsyUmR5dE42L0pJTnQ0UG5uOUtyckgrT3JUS0RDR1ROY1o3RzVEaWMwL0dYenRPYzFGQ3YxK002MkpnWlB3UVo4VHRSeElqUU9NYldyQkFzNllNUGZWL0swWVE3U1o5UTFzejBRNHJVMTNwYk9Jay93WFNFUUsycHJFdHVLeW1wRTBhekxtY2VtaW02TXFIUFFVU3hXODhYcllhdTFOZEdPdTU0ek1vQjJzOEFzVnJIYkdHeGcvL2hJNHdNMlgvekViZ1dLZHVielduSUwvd3c0clhMR0w3L0FzQWFZRlpwaG84YXRNTllEWlhHMlJsRVFQbEJMdXh5MVpXOHlaSHBiWFZ4US9TQmN5cGEvcy8rc2lpMHNFK1Z6cUluaXNrOVN6V0J4YzJnNE9qNDMwSzh0eStudEdKeVc3ejdPdUxUekZsS0NKUGRqZHJHWThqMEVGa3A0VzhnVzdTMHZkalZhN3ZhT0s1WnNsNS9sbHVaYkxWcEhzT3B2c3VGdGRHSGdZdkNkR3ZjWm5aZFRuSXlRNjNJOVR3Sk5ZQWluL1pPNk94bGQwVU5VTVIwYTR1a1ZSdHFHRXdhaHFvZ2J6Z1FENUtEdzRXd3g0SktqVkR3bTVESzAvMWl0Q1RNMWh1ZjhWNHdHckFUcVlEN0U2Z04rMnFrZ0huNnc5bTVOUDJER0huVlBJempMT1Y5R2N3VmF4YzRzWHVqTVZpeUNZWFNXbDEvT202MU9sd3ptTVQzSVkySnRicTRNamlwWWFSczdXN3lTSmN3V2UzZ1NUN2RkeHE2Wnp3SkI1Nzg3MkRlbHoyS1U3cUJvVzVSOXdBWVE4WkFKamJyenZMN0w3cDdITWo5ci9lMVl6YzV0QmtMd0FqZHd4RzVlNEtUZGNmZm5EQlI3MjdOczEra2tnS2xsRnRTb0g1TG9kSGVZUFU0ME9lcjZYbzdkNG9HcUk1UU02emxWeGxaT0FGV1Foajl2cWc2akFzS01BWjVCQ0s4Y3ExV2p4OHJaTGZJdHAvS2lBT09NZER6YW5mcDYwalRnbUFxUW96alV5cWJGS0RjbzQ0VGpyN2dkTlpSQWpzYWg4Q0dhTlJ2MzdQVzMwdmFjS3VBRXlSSzVQZThlSGd2UERYTy80YlI0bm5rV0YwaU1hK05ieTRCMHoxMnRyTm0ybnpza0paaitCM0k1dTk2aFA5aU1kaVl1QThHclUwT0FBVHJxV2ZCcjRjbkcrZmM2UlgrYWZGYmx6QUZ3aERsNjVVU284Zm9zemFsYzFlbkhqNTJjRS92blJ2Q0NrSnJQU2FMZENiMjJ3L01Hd2VnaDdCZFcvc3lGRllxWkpXdmwxcnc2dE43REVTQWFxS2I5cEkrVHR1TzRUa2xqUGlOdGVYVUhFUlM3a3M0RzhNcjl6SVhVVE85VHkrR0V0MkszK1BLNEJZQklldkZ2MElQTGVwZDU2dGlzcGtBRnN4bDJHM2lUNGNWMHlwMUJ5S2MxcmhlYkdCOXIyRUcraUFZd3J0NW5jUDNGYXRnNmNzVFplcTBqMEZiTW1pZHF2L1RKZzVmL2paMCtFWXBkQnliQzNwdS82Y0FGTk1oT3JuQW9POThZOVVGcDU2K3QrKzNoc3gzODN5NTUzTVcvL0JUN2Z2MVRxSjczRGhXYzhadGZZckZyLy9kTDVwOVgvdHZQOFBRT3g1N3JPbTJUKzBhZHNSdFNhdERGdWoxbUFTY2QyK256WDh0SjFyRmdYdS84cGpQTzRIWkduYk9qMmpodmVQMXpYWDd2S0VQOVBlLy83UG11ZjMzQWZ6eGZCQXkxVlJ5bSs4QVQrMnRhYmp2SXltcmhRMXl6aFdUM2hIZ0hlKzh2Si9hbDkwK2IxOUVXREdob1dIL2tlK1V6Z2p3QWRvS1JHbmI5SElqenJDK2ZTanFMYUNOUTlKa1hacVpGQi9zdW85Vm5Ndmo0NEVleHZ0bm9mTFVrc1owT2lnZU54Rm5EUkR5MkIzNjZmS0w2RnVOL09NaHpSb1V6MVZ5YU5OZzdRTy9lVHA1ajllMVhyTGFpbndwcGlFVURuajhOV2pyMGZjMTRDY3YzWGF2Vlg1djA5MXRJQ2E3elVESXdkd3RPUUFnVGtRZC9ZV3FEWFp2WWs5Y1JCbVU3Ui9nSTZjMGFtV3Q1REV6djRUU3p3Q3Fpc3RZYkJ0Ti9Ob0VOY1VYVnZ3V25yR0VmdjM0N0ZOUVJjSjQwOGE1d2RZODYrdXhmOEFYT21GdkxWbmZ3K0ozdDZ6Nk92SE0yY1hWMkpaWUVZTHVhQ25lT0g5aW5GaVZmbHFQYVRIeE9mTE4xSU5qQ2J3SUVQYmYwZnZ4NjUrQjJtQ3Nza29YUnhlcFE0KzFHdzlLUksvdjd2OXVoSXlmYnlzOVpCV2pmb3FNWnJDMndXVDJmVXlhSDFYVk8vLzh6YXVXY0paWnhwZTB0OGJJWXhrazUzUW01TmlUb3pWNGpNN2dBOGU5WDg2L3lvUUFxTXErRGV3TDBKUHNFdUFOYytuR3c5OFVLZUpsdDdRRTNQNE94c3pkK2s0ZXN4TjRobUNGM1l6cmRvc2o4Y1p2eFdGenVYSWJqeDVEMHF6dkdjejhuaUtIdnJUYm1aTFBpYk13Wk1tcXpUZ2Rhb25RQlJ1bm8zZjQ2WGRKdW1uRG5DY1Z0VHF0K3pWREpIZU1haGp5QmRmYW1PRWpRR0M4S2dWbSsyN2JjYWxxQ09VNWVFRGZhOFJQR3doY28rS3IxeklhWVFxVG1DSU8yeHVOSktmSUttNVF4SXUxZEh0amxxVkZHMEl5L0EvS2NNeFZDZGd5RXNSR1dZWTFpQXl0SzQ4UUE1NDJiQzdZTFlOdEo2SW1ZemRQV0tqaW1DMTBkaXJlc0szRGUza25Jd1duWm1OZFl6YXRCeHNGQkdCMTlaUWUzalh6T0ZzV0ZoWFBnbUFIV1J6RGtsT3BxLzQ1VEJWN0lTZ2NlNHpsWE94cnlaL1N1cDJ2QWR4T0FFTjRJYnVGQy9PY2NEUWRjUEwybWF1TnBIcFpRWVFYcVBuWCtzTmd6NldlOURqVEJ2TDRPRUpsUS9XV0I5N1pIUERudTFRbW1BOUtQNlFBQ2R0WURhY0pwclFlcGdFSmc5QUtJSlRzWFpNOEhON2xnSlU5ZTZEWTR5NVkrYkxUSFVEUlBXektHSEhqR3gzSnBRZloyd0Jpa0pqdEVibjNPemJiSDdBN2I0SlBSRmRUVzdybGx6WnFKdzVGc3REdmI5OERaUEJPdzVXankzOU5WMkRVNzNMZW54bGh3NGlHc096bnpGdkF5RUIzbnpOZ0RjM3VjWEMvL01ndmJ3cVl5L3ZUVHJyK1pzNXovL3ExLy9jNFptbW5hMElIWXcrRjRTOVNRem5sc0ZqSlZxRGtneTU0OUozNGoxL0VjMVZOdFFSdW5yZ1loVHNueDBKYmNJQWpiM3JMVkZwN2Y4ZXpEYWNUMWdqMEQ4bkowSU1ZcGJiSkw1VDBaaVBramR1Q2svKzdyRzNRS0NhczlOb2Nwc0pvNVFKNnFjMlphc01FNnozTjQwV3RJTldHN25qNGQ2M3BtVE5zMGRRcElteFgvQUc4ZStZa1hGc3l3OFRZMWZsc045ajk4cG1LZmZCd0RtcldPcTBxMVNxOGZFSmVlRnhLQVpRNnZoWXlmQjl2QkFaYjcxb0tWQWw4emNPdEpUWFo1UEU0WnhvUlg2eUtBMG0xRDBXMHlkNmJTaVNMWFgyVFlzMjRNVW5pNG5tTWg0NWxZZ3BOMHJ2Q0p1K1Z3cllWN21WYm9POW9SOFppdjRZUHFxQmN3Tjl0NG5qLy82YS8vRFFhM21lc2M5MlVtNk1oTHZJNjRIR0ZoMWY0cFNQSGZ2aTU5M2JxcWZCRC9hMEdEVll0V21zQUVlcnlLM1NnQTh3cTczc1hJMkZxZUJ3QnlIQTcvZENZemJNMDVkbllreE5xQ25pT1krUmVkUDVLaENJVzROZHJzV0xJWWY4azFrM05qMlYvRGljTW12QS9XMEkyS25LbXJ3VnJuNHJGY0ZsSTRJZVdrMWEvL05xL3VtWGIyWWV1NFVZY3prQW9HNGxRVXlQUDBFS1VCV2hTTTQ4UHlKZkMrblV4Z0JiZlJRS2VncmVuOFM2T1pnODEzcUxlVkx2czljNnN0MDlKYWFFL0RtOUY5UXdZWE1LTURUQ1FRY0xKdUlIS2hoUG11VGxWL25DTnVCMkg5bkwvRXowaEwwam5BemtIb0EvNTlnNGJnSW13aE8zWG5BdXBvNW4wL1IxNkJOWndVTmswR2RTbmU2N3dMUkpBMTNBWnJzRWlHcnozaVlJQXNjNGNjODNPbUwvczlTbUczcG1jdW5CcG0yTFZJQmF2bHFaaUlQSTZTSGZIY1NLZytUc3ltclZHSHVZam53b0FCY1l6ZExOU2dUVXc4cmcvbytTNEw4WjdIdHVuaTNOeHNPKzNub0JnYjd5d1pibmZCVEJlanAvQitUS2FuQVZUcmhMTjFFL0djM2dPZ3ZIZkZjSDlHSEVCaVdGV0xXSVlENDdkRE1MbjE2N2xOc0U3ZUJGMnp2QitIZXRjS0JuRzBlUDg4eEk3bk5HY1RuMmRZWi9mbnlDdVB3b0hTL3M3SWFyZ293K1hoSEp5RXE3SC8rM01NdHVld05tZTA0QzdSWUtSb2ZSVWJ3U1dkVStRWXpISnlMYTloeUF6QkJlMTRFa091bDNQSFc3V1h3bmx0ck84SHRrYWVuWWtsbFB0ekdpT2dFUTd4MDd4UExPM1FobmVkempsWTUwVDdiNFBtT3g2bGdmLzliMzdVb0hZOThZVHFKSlhpYVdmQlRuZFcxTUM0VSs2c25KYm1lOUFkZ3Y3OEFOV050Sm5nRzhsTUNWemRtd0h0SEFFenpsR1JxNkRZb0RHbkREZjcweE13cVlLUW5EWDdIQ0x0eU5LN2ZkWFRPejA1OWN4M1FmcnJjRHlEZHJMQUxJRDdEbEQ1S3J1bXhKeUlpWlRIczE4OFpRL2s3YUc0dytIK3dTRkw4VDdCbHBvZHZnZUtWNTVQZHZCclRxcXpXMHhvNFBTNjRjUkZEMGV0UUtLNlBDUFM4U3hkc3V5cjhrOUFoVlUvejMwYUFUeWYwN3A0YkVudjdUcUpGOUNsZzJhVmllaWg1WkM5UitvdkI3REJBb2RRN0hBby9WUWEyMEpsMVE4bTBIR0pTTjFiQUtOcm56TW5vR0JCL1p1Ty9Cb3ZiQnNEYWsyZFo1M1lsb3ZpUEFHaTFQM0JkZWJWb2pPZXc0YkphNWZwL2pySzQwUUtYTXp6TEQzZEVna0oydTNhVC9ZemRyUGxZR2d3RkovSmY1MTNXcitUKzIrWGRZSDNPZHJIQks1UlRNdTFxb25pWUR0TFlWMkFOcERJSTJKL0JBeGt6RlliY3dkbDJpQ1lFY2hUc1c4OThmQW93SGxLWmw2bkhqaFFFMlZ6aXA1OXlSQ2RmV3V0djJqRjdqNk5uTk9CZFpDdmpvWHN2NGtoeTlFUDZWK1Z3b2cvTUJiejI2b0htb0phV2NFRG5XMTVsWDBYNXp4N0NvTVRiMDZ4Mll1dUJ5VVZNMncweFZOdVlyQUZyVnJwNDZrdGtBZnJHZi8yaWtlSGpnWmQ5emxDcHRXRDZJc1RLb0taaXZ2YnhUa1ljWGhnQVlUVUh1dlg4ZGU1ZUE0Wmh0VVUrdHhXaUdEQjM4dVdCQ2R3Mld0NzZ2L3pMMGJDNHRaUWYyWHAzNS8zenZpUCtEcGtPR0liWXJubFpmMTBIcS9MZzJYUVZDZlFUSDRZeEZxc1Q0Mi9uaFljMWZyZlhmcmtyWUtEMDY4bCtMWnRBUmlNT0ZyZGhqbVl4NDk1Mk5BNTZRNi9GZlJYNW91dHpFUHpEVnhDQVlQdE9pYkFMMzJDZ1NlRGpZNmJEeDRQZ0dMQ2NzN1p3STdBZkR6cEdMVjUwMWgydUtmYndmYnY4YTNnVzZoV0hGYzk3V2FtZE9YeVJWeGN6UzNvZjdjVkVjT2h3Q2ExQzQ3S2s1QTlabU1iZ0JxZVZYc0x1a3l3T0hJWExDbjdpNmJjUHFjdEd0TXNRVXAwVGlscUo2ZDVvMzJtSXg4blY1YUQ1aEgrYUlOem1QUDZwU29GYXNIMHROT2YwMkQ5bHFOM25kRWI0enJUbWMyc3RUT1l6VURmNDRtb3poN3BKeTN6b212ak50MWpxV0p4aXFPbE0veVk4MU1xSy9VQXBSMm1XVytQdXdSSEZEdGNBQmt0Z2ZkZTV5SzNQL05xZVVpWThNblF6TlNkQzJTZStINHdBTHVlU1BHTXU4YmtNYjdaREJlT3VucWVGTXpRTXQxNENtRytDd2RXSCtjQ3ZtVTFzQTk0Mm41YnozNTF2TUE2WTF3ODBleHhMay8rZFZNOGY4N1Z3c0J0VDY0QmRGMVdUTnVRNy9HQXJMT1QvZmM1SE9aOHRCNjNQSm9ub0p3SVRzQzdyNG9yaTU1NitwMVJxeDdNbU9EOVZyRkFRSjBYamJleWlMLzhUUzA5Ly91RkJNZm1hUXBPZFRRRVpxT0RTZnVURVR4RFVDOU1qR2JaZVFmSXlHMEZuUU9tSEhhMFR6cXQ1Tjg1UHRaZEZhZXMyMEg0bi9wLzZVS2RvL0NkdlAzZks4M2ZadkFXUkhMYUJUM2w3VTM0eFZvZFRGQTgzdkp6T1BuNzRnKzNaL253bzlwS2VJaGQzazZVQ3c1OXkwaVEyNDM4VktNcjAyTlZzSDhuVHZTZTA3V2hDajFZRGNvbnJuaHFUWkRrVTNuVG5aNTRzeUxvd0x6UElRT2oyVzZKRUU4bktOcDhiM0d5SWJieU9Ea1poZ0RvU0pjTkx0YVBXVG0yaHZQaGtzZmtnYUVmaDhNSEo1YS9uZ3I2Mmd6ZG5PMnBMM0w2cVJXWW5yV0J2RUhYMzlmanc4VHhqL044K1Jtbk8rQ0lkYVpXN0s3b3NNOXUvUTRPK3daMk8zcjhPY1Z5ZUFCMmFEcE00RG9oRkFDNStHVTYyZ0ZnNWJBZ2c5UFJVOEtEeHhFNS9NekRUNnl0aE94Nzh0M3lhRGxJaEFLUzhQMC8wb0tjTjFOaWdHWkQxMkU2cmNhSjJxK05EaW44OHRIMmJpZlU4UFdjS1N1dGNlWEpRdWRRN3N0Y2RRd1oxbStlZHppdVl0M0NRanZSRGV1Yks1SXh6eE9UdzMyV09UQWxveDhrMGV1SUtET28xck1Ta1dYZFRJRkkyS2xSREpuK0NpdzFUTTZlM3RGRGZLM3g3UmFFYnVNTDJHSGtkVHYwc1RuWjY4OWswN25QSVhNZTBwREZhR3hyR3lmVmhLa2YyOWxtRW1qUFMweW1mOHpqLzg0N0F1cjlacks4QzFPQmVTMmUrUHhyZ2JRbXBKNGhua1hHNlFHTjFWbmlGaVpoNHExbWZteDF4S2ZiakhRNldLWm52enpid1ZPNGpUZWVmQjJ2M2U5d3N1YU9uclJvekJTVnc1ejVUQTdBaHZyMWc5YnZEeVhEdFhtMldKYVlwdGtTQW96bU90SGZFNmxONFFHbHpwRkdOcFFBOHl3TEhSNjEzaDJpM0o1cXM0SDlXTTZybFdBODV0M1J5eGgyUUdNTW5qMm1EeDNRVUIyY1d5eWVsdVp0TEhnemNlRXVPNURXSkNPc3RsMW53aXcyMi9PL3krZTVndmFOVEpkbHRHTTVrY1BuOUkwNkNPSjJCb09EWWhUTlpGdnJPUXNsTFk5eWFpZjV4MjRhWGJIeHFXbmVUdnJPWkp3elJ0WFk3V25BVmt4Z0V1SDEvdGpkalZMakE2dERGSk1CYnE5L2gyTWhEcEhTWEVIZWx0bjltTTVSV3g3QXhMN1pHOHU3MnJpaHF6WWN1YkgybDlVZXJ6bnpjelM5REdlbk03YXBXZk53Q2xkVzV6WGY5M1I4WTVGd21kbkdHNk9BbnZzVHo3SGZGK1ROZ2pWTFM1cjhJdU81N3p3OGRDSmo2UlpiWUNWRkVoMDYrUTAzalgzVElYZ3YrWkJkcDlhd3Z4N2VpZzJ3RU1hS0pydzZUMlgwZEZwMyttWHJZVDh1Q01IQ3VaZmxvUjNZeDlJTlpUM3VnTW5UeTAxWVo5Nzk0TW51NVpFWUNJQnpSb1NrRm0rSm9MZkYzR2RtMWhsbzdSQ3d1czhCMzFhN2xQWmRBUy9aN00wS1R0d2Q5em5zT1ZuVHREekJRalY5ekN1YkVuUzRQUGFlYjJlSHdsYjcxN09uRmZlK0w5dWpIVCtGM21WUDMrck9CdkRjUC90WHduTU9WUExRR0E5eHFpYmcyRi9KWnZmSWVnK3R3YXpwZjY1ekxDckk1ZnIvQXBZVHFBOGFKZXJZQUFBQmcybERRMUJKUTBNZ2NISnZabWxzWlFBQWVKeDlrVDFJdzBBY3hWOVRwYUlWQlR1SU9HU29UaFpFUlJ5MUNrV29FR3FGVmgxTUx2MkNKZzFKaW91ajRGcHc4R094NnVEaXJLdURxeUFJZm9BNE9Ub3B1a2lKLzBzS0xXSThPTzdIdTN1UHUzZUFVQzh6emVvWUJ6VGRObE9KdUpqSnJvcWhWNFFnb0I4OUNNak1NdVlrS1FuZjhYV1BBRi92WWp6TC85eWZvMWZOV1F3SWlNU3p6REJ0NGczaTZVM2I0THhQSEdGRldTVStKeDR6NllMRWoxeFhQSDdqWEhCWjRKa1JNNTJhSjQ0UWk0VTJWdHFZRlUyTmVJbzRxbW82NVFzWmoxWE9XNXkxY3BVMTc4bGZHTTdwSzh0Y3B6bU1CQmF4QkFraUZGUlJRaGsyWXJUcXBGaEkwWDdjeHovaytpVnlLZVFxZ1pGakFSVm9rRjAvK0IvODd0YktUMDU0U2VFNDBQbmlPQjhqUUdnWGFOUWM1L3ZZY1JvblFQQVp1TkpiL2tvZG1Qa2t2ZGJTb2tkQTN6WndjZDNTbEQzZ2NnY1lmREprVTNhbElFMGhud2ZleitpYnNzREFMZEM5NXZYVzNNZnBBNUNtcnBJM3dNRWhNRnFnN0hXZmQzZTE5L2J2bVdaL1A4YTdjbUx3MFh4dkFBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBQjNSSlRVVUg1QWNDRUNRU1IxL1VNUUFBSUFCSlJFRlVlTnJzWFdkNEZGWGJ2cy9NMW5UU0V3SkpxRUtvU3ErQ1NGRXNLS0orb29DZ2lJclN1d2d2dlNnZFFTa1dSSDFGUklvRkMvS0NnQ0NDUWlDMGtKQzJ1OGx1eXZhZGNyNGZPek5zR29ZU2l1eHpYWE50c2p1N00zUG1uSHVlZWorRVVvcTdWZjc4ODArTUdERUNmLy85TjhMRHc5R3paMC9FeHNiaXE2Kyt3dG16WndFQUd6ZHV4T3paczVHYm00dEhIMzBVTE1zaUpDUUVhOWFzQVFEczNic1hJMGVPeE9uVHA1R1ltSWhHalJyaHQ5OSt3OWl4WTJHejJiQjU4MllVRmhiaTBVY2ZoZHZ0aHNQaHdOR2pSMkV5bVFBQW9hR2hTRTVPaGlpSzRIa2VnaUFvcjRJZ1FCUkYzNytKS0lydzNTaWw4aXVobEVMZUFKQ3lyd0JBS1NYUzVTdXZaZDRqNTg2ZGk0bUlpSWpUYXJVeExNdkdNQXdUeFRCTUJDRWtIRUFOQUNHRWtCQUFnUUFDQU9nQmFLU05CY0JJdnljQ0VBQjRwTTBKd0FIQVRpa3RBVkJDS1MyaWxGb29wV1pCRUFvNGpqTzZYQzVUWGw1ZVh2UG16VTNTNzFDZnJkei9oSkN5bjhudkFRQWxoSlI3OWRrb3d6QWdoSUJobUxJYlpWa1dMTXVDWVJqSWY2dFVLdVZWM3RScU5kUnFOVFFhRFRRYURiUmFMYlJhTGZSNlBmUjZQUUlEQXhFVUZJVGc0R0NFaFlXaFJvMGFpSXlNUkhSME5PTGo0M0g0OEdIVXJYOFAvSEpqaE56TndIWTk0dkY0a0p1YkM0UEJnSUtDQWxnc0ZoUVZGYUdrcEFRMm13MTJ1eDBPaHdNdWx3c3Vsd3R1dHhzZWp3Y2Vqd2NjeDRIak9QQThYMnFUQWN4M0UwV1J5QUJYQnN4S0FabjhmeGtBS3dWWXZ2OXYyN2F0Z1Y2dnI4ZXliRjJHWWVvQVNDS0VKQUpJQktDN1RZYlpCZUFTcFRTVFVwb2hpdUpGanVQU3JWYnJoUUVEQnB5WHdjMEgyQ29EdkhJQVNBaWgwbmhSRUhKNVlBZ3BCWHkrSU9jTGVtWEJ6aGYwZk1GT3A5ZERwOVVpTkRRVU1URXhDc0NGaElRZ0xDd000ZUhoaUl5TVJFWkdCdHEyN3dTMVd1MWZYSDVndTNZWk9YSWtWcTVjZVZ1ZFUzUjB0RmZOcVFETVpLMU1CamI1M3NtYW1pOTQrZjYvYi8vQjZKalkyS1pxdGJvcHd6QXBoSkFVQUkwQWFPL3dXK2dHY0ZvVXhWT0NJSnh5dVp5cDZSZlNVeC9wMjZkQTBoUjlRVTBzQTRDZ2xDci9YMEdqbzRSaHdCQUdERVBBTURLWU1aUmgyQXBCalZXeFVLblVVS3RVVUtuVjBLalZFaGdTcURVYTFFcElRRUJBQUFJREF4RWNISXlRa0JEVXFGRURPVGs1YU5xc0pRUkJRRXhNakIrWi9NQjI4OFJvTkNJM054Y21rd2tGQlFVb0xDeEVjWEV4ckZZcmJEWWJIQTRIbkU2bm9xV1YxZEQrUVVzanN0bFpCdEI4TmJOUzJsaFpVSHU0N3lQczRuZVd0TmJwZEswWWhybVBFSEl2Z0FaMzJXMDZKNHJpbjdrNVdjYzBHdldmWThlTStYUHYzcjJpRDlpSmxRQ2VaTVlTU2dnb1FFQklaU0RIZ0dFWnNBd0RobUZwS1lCVHNWQ3hsN1UybFd5aXF0VVFSUkhCd1VHSWlJaUFYcTlIUUVDQVlwNGFqVWJVYjNBUGFrZ2FYR3hNTENLam92eUx6ZzlzMVNmRnhjWEl5Y21Cd1dCQWZuNStoV2FuMCttRTArbUUyKzFXekU2TzQrRHhlTUR6ZkNsUTgvR2pFVjgvV2dXYUdhbkFYNlpvWm1QSGptVWZlK3p4VHVHUlVlMkRnb0k3RUVMYUF3ankzekhBYnJmQldsS01WdmZkYTZPVUh1SjUvcERWYWozODZxdXZIdnJpaXk5NFFraFpvQk1yTW0zTGFIRzBsRitPVWNBTkxNdUFZYjBncDJKWnNMN2dKZ0Vjd3pCZ2lGY3pMK3QvTTV2TnFGVTdDYUdob1Y0VE5TSUMwZEhSaUl1TFEzQndpUCtHK29IdHhnbkhjY2pLeWlxbHBSVVZGU2xhV2xYOGFHVzFORms3OHcwT3lKcVpiR2I2YUdTK3ZqSkNLV1VzRmt2am9LQ2crMW1XN1FLUXJrZU9IQW1OVDZqdHYxa1ZTRzdPSmJScDNicmNjK3JRNzRmM1JVWEg3aThveU4vZnZtM3JOQW5VS3RMcXhFcEE3cklteHpDVUlUNGFITXVDbGJXNGN0cWJDcUlnSWpJeVFna3c2SFE2NkhRNkZCVVZJUzZ1SmdLREFoRWNISUxRMEZCRmU0dUppVVZ3VUJDeXN6Smh0OXNxdmQ3QXdDQWtKZGRGU0dqb0xSdnprdUppWkZ5OGNNdlBVM1czVFhaS0tRd0dBMHdtRTNoQmdNMXFyWEEvaThVQ2s4bFVTanV6MisyS2R1WUxaUDhBWWhWR05XV0h2MlQvZ1BqNHg4cUNtY1BoNktiUmFIb3dETk1EUUZQZjgzUTZIWDRFcTBTY2pnckhKdFR0Y3ZiVmFyVjlhOVpNd0tYc3ZKTTh6LzlpczlsK2JaclNhRDhoRUh5QmpsSmFUcU9UL0hNQUlaU0lJa1JDd0lnTUJNSlFoaEhBc2d4aEdCWXN6MUtlNWFGU1NSb2NwNElnOExEWnROQm9OSXAyNzNLNVVGSlNBcTFPRDZmTHEvazdITjY1WnJOYVVWSlNnaUpMQVFJREF4RVdGblpGTFRYajRnVTBhM0h2TFJ2emkrbm40WERZLzFHYnJ1N3pWTjF0b0hiczJER0FNQWdNQ2taZ1lCQmlZa3Z2NDNBNGtKT1REYmVIQjhlTDRBUVJna2doVWlpdkZLVDBSbEZtbzZBVUVDbUZLRklpS3BGTDcxYld4S1NVRWlxWm1jUWJybU9jVG1jZmpVYlRoeERTQjBETmE3M21IM2YvZ0kwYjFzTmtNaUkrUGg0ZmIvb001ODZkeGRBaGc1UjlKazJaaG9jZWV2aHV4YjhtS3BXcVNWaFkyQnRaT1hrNWdpRDhZTGZiZjBwcDFPQW55VndWS2dVNVNpa0ZvZDRBS3dVaElrU1JRQkI4QUk1bHdmTXNXQlZQVmJ3S29pakE0WENBNHppbzFXckZYV0czMjZFcExsYUFUblp0T0J4MjJPdzJGSmlNQ0EwTmhjMW1RMlJrSkhRNlhhV2djU3ZsbjBEdFpwM25YUVZzQm9NQklBeWlZK0lxTmwxeWM1R1htd3RUdmdsbXN4bEZoWVdLSDgzaHNNTXBtNTF1Tnp4dU56eWNCNXhIMHRaNEh4OGFMMEFRZU1uY0ZDR0tzc2xKQ2FVaUtBVUJLTGxzY25yLy8rMjNBOTBURTJzL0doOGYzL2Q2d016M2VoYk1uNHVacythZ2RlczJLQ2twQVFEVXExY2ZQLzc4S3dEZ3BhR0RxMjI4TjZ4Zmg4Y2U3NGVJaUloeTU3VnN5VHM0Y2VKdmFEUWE5SGl3RjBhOCtocFlsZ1VBWkdkblk4V3lKVGh4OGdTMFdpMTY5dXlGbDRlUFVENnZEcEdPV2ZQRXlSTXZhclhhRjZkTW5aWXpkTmpMMzludDl1K2FOV20wWHdJNG9ZelpXbGFMazRJUElrU1JnU2dTeWdnQ0JJWUZLekJFWUhtSW9raWRUbWM1WUhNNEhGQ3JOVjVYaGpTLzNHNDNuRTRYSEE0bkNpMEZFdEE1WUxmYkVSRVJnY2pJU0w5YTdnYzJ3R1RLUjJCUWNMbjNiVFlic3JPenZEbHArZm13RkZwUVhDVDcwUzVITzkwdUY5d2VOenh1anhmVU9BNDh4NEZUQUkwSEx3Y0VGRkFUSlRDVEUyaTlJQ2FibWFkT24yMFNFQmpZajJHWXgrMTJXK1A4L0h6RXg4ZmZrT3M5azNZYWtaR1I2Tml4RXdBb0M0RVFBcTFXcS94ZFhmTGh4dlhvM0tWTE9XQ2I4ZlkwTkduU0ZQK1pQUmZGUlVVWU0vcE4xRXlvaVg3OW5vUW9pcGcwWVJ5NmRYOEFzK2JNZzhsb3hMaXhveEFWRlkzK1R3Mm9sdk9zNUpnMW82S2loL1YvYXNDd3JCekQ2YzRkMiszNHoreTUzNzR3OFA5T0FSQWs3VTBneEt1WVg5YmtLS1dVVUVJRVNpa2hvaWhTUWtRSUFrTloxdXVPY0xsY1VLbFVWQTRxcWRWcXVGd3VxTlIyeWFYaDlkTzZQUjdKWEhXaHVLaFEwZVpjTGhjY0RnY2NEZ2Vpb3FLZzErdXY2YnEvMnZJbDNsdTlFai85c2hjQThNckx3MkN4V0VxNVl5Wk5ub0llRC9ZRUFKdytmUXE3ZHU1QTgrWXQ4R0RQWHRXK1hoZk1uNHR2ZCsxVTV1anJJOTlFLzZjR0lEMDlIVXZlWFl5UzRpSUVoNFJpNHFUSnFGWEw2MmMrZU9BM3JGbXordTRDTmw3Z0VSZ1lWRVo3eUVGdVRpNk1SaVBNWm04S2gxZExzMTcycDhuUlRvL2tVL1BJL2pRdnFBazhENTczRFFnSXZta2FwSFJBQU14SEgzK2k2OXlsNjFNc3kvWW5oUFR5ZGFyYVNvcXUrenFQSHorR0dkT25LWnJBNDQ5NnpjeCtUL1RIb01GRHF2UWJodzRld01vVnkyRXc1Q0V4TVFsanhvNUhTcE1teXVkN2Y5MkREUnZXSWQ5a1FreHNMSVlQSDRGMjdUc0FBRWErL2lxeUxtVUNBRWEvK1FaVUtoWUpDYld3Y3ZVYWlLS0lybDI3NGVHK2ZhSFZhaEVkRTROV3JWdmo3Smt6eW1LcUVSNk81d1lPaEVhalFVS3RXdWpZcVRQUzBrNVgyN3lvd2pFYkVVSWF4Y2JHVHJpVW5iZmI2WFJzbnpIOXJSMmZmYmJaQ1lDWE5EY1o3QlNRazMxeGhGQlE2alZUS2FYVTdYYUQ1M2tpQlJVb3ovTnd1OTFnV1JWNE5RK092K3l6NWFSZ2xMV2tSQWxNZVR5ZVVnQVhHUmxab2ZZbWlpSVloaW4zTndEazVlWGgyMTA3UysyLzV2MTF5dDl1bHd0REJyK0FqcDA2QXdCV3IxcUo5UFFMY05qdHFGZXYvdFhaK2syYUtJbnNWenJIc3Y5YnpHYTh0K1lETkU1SktmV2RXZjk1RzZOR2pVSHpGaTJ4YStjT0xGKzJGSXNXdnd1WHk0bUZDK1poNWVxMVlPNG1ZUE1ORkRpZFRwdzVjd1puejU3RnhZdnB5TTdPUWw1ZUh2THpUUXJBRlJjWHd5cVpvamE3SFE2N0EwNkgweWRYelEyMzIwM2NiZy94QmhFODRIbU9TRGxwUkJSRlJoUkZobExLVWtyWjFOTm5tMmRjeXA3ZHJmc0RKMVFxMVFlK29PYXJQVjZ2dEdqUkV0dTI3OEtibzhhZ1pzMEViTnUrQzl1Mjc2b3lxRjA0Zng1dlRadUNFYSs5amwzZjdjWlRBNTdHbU5GdndHUTBBZ0F5TXpNd2U5Wk1USnc0QlR1Ly9RR1BQUElZcGs2ZERJZmtyRit4Y2pXMmJkOEZBRml5YkRtMmJkK0ZsYXU5SldnTXcrQzVnYzhqTEt5RzE5bDhNUjBIZnZzTmJkdTJVN1RLRlN0WFE2ZlRLeFA5K0xGamFOYXNlYlhOaTZzNUppR2taMEJBNE1vRmk5N1pYNzlCZ3lscjMxL1hqRktxaFRmaFdRTkFEVkFWcFZRbDMzZDVIa2h6Z25BY1J6eVNOdVp5dVlqTDVTSXlXRG1kVGpnZFRqanNEdGpzZHRoc05saWx3SlhOWmtOeGNURUtDd3RoTnB0aE1wbVFsNWVIckt3c1hMcDBDVzYzV3puUEkwY09ZK3JraWVBNERoYUxCUzhOSFZKS0cxdTBjRDVHdnZGbXBXUHkzWGZmb2xQbkxvbzJPT3lsbDdING5TV29VN2Z1Vlk5dlNFZ0lOQnBOaFordFgvYytObis2Q1FCdzRzVGZlUE9OMThzOWNNcjZ5Ujk5N0hFMGI5RVNBSERQUFkxZ2xnQXpMeThQWVdFMVVMTm16YnN2S3VvMVNZM0l6c3FXbmlMNUtDeTA0TUtGQzlqOXcvZm8xdTBCdUZ4T09GMnV5NmFucEtWbFptWWdyRVlORUVJZzhEemhlYStHNXZHNElRZ0NZVlVxOEJ4SFpKSE56ZDY5Ky9SWis4SDZaL2Y5Yis5VEgyN2NBSTdqVUxkZVBVeWFQRVZaVExlVDdOeTVIVjN2NzZhWXNMMzdQSVR2dnR1RjNidC93TURuWDBCRVJDUTJiUHdZdFdwNzFmOUhIbjBNUzVlOGc2eXNTMmpZc0dyMWpxa25UMkwwcUpGd3VWeTR2MXQzZE9sNmY0WDdyWGx2RmZRQkFYam80YjQzN2ZxcmNreENTSzJJOEloUlFjSEJvekt6Y3JlV2xCUi8xVFNsMFM4QTRhWElxaUJwYllLdkJnZUE4anhQR1lhUjh4ZXBsTmRJR0lZQkw2Z29ML2dtY1h2OXQwNkhvMVErcEt6UmVSUnoxV3VtUmtsSnZhMWF0Y2F2ZTM3QnpCblRrWk9UalNlZmZBcmhFa2hzLzJZYjZ0YXRoMGFOVXlvMXpiZCs5U1VXTG41WGVhOHlZTHBlZWZiL0JtTDBxRGRnTmhkZzMvLytoMWx6NWlxZm1TMW1USjgyQldhTEdXM2F0TVhvTWVPZzFXclJyOStUeWo1ZmZQNFpldmJ1RFFDSWpZMkR4V0pHZW5yNjNhV3hpYUtJOVBRTE9IUG1qS1NsWFVKZVhoNU1KaFBPcEtXQjUzbGN5cnFrVkJMSWVXcE9oeE5PbHhPVVVuamNIdUp4dTB0cGFGTGFCcUdpeUJCQ0dFb3AwKytKSjFVWExsNGFQRzc4aEIrN2RMMS9xOWxzZm1yRjhtVjRkK2t5ZlBMcFoxQ3IxTmo2MVZlM2JaQWxMcTYwbjY5MjdTUVlESGtBZ0tDZ0lCdzkrZ2VHdnp3VXp6MzdOQWEvTUZBWjM2cEtTcE1tMlAzVEhueng1VmJrNWVWaHcvcDE1ZmI1K0tNUDhmdnZoekIzN255b1ZEZm5HVnpWWTFKS1lTbTBJQ2d3Q0F6RFBCRVdWdVBUUzlsNVc5TE9ubisyZWZNV2VrcXBEcGVKQVh3MU9JWlN5Z2lDd1BBOFQzaWVKeHpIRVo3bjVjQUJjYnZjeE9WeWVWTS9IRTRsVjFJT0h2QThyMVFzaElhR1FxL1h3MlF5SVRjM0YxbFpXVWhQdndCS0tZWVBINEUvai80QnJVYXJnTFRSYU1DTzdkOWcyTENYS3IyMjMvYnZRMUp5SGNUR3hsM1hXUGJ1M1J2OSsvZEhmSHc4T25Ub2dQNzkrNk54NDhhbDlna0tDc0lycjd5S0wvLzdCYnAxNzE3cXdUaCsvRVM4OCs1U2JQcjBjNWpOWm55OWRVdXA3Mjc1OHI4b01CZmdxYWVlQmdEbzlYcE1uaklOOCtmTnZuczB0cUtpSXB3L2Z4NnNTZ3RUdmhFV3N6Yy96V3IxbXBwWldaY1FHeGVIM053Y3hNVEVLRTlDUTE0ZU9JNERJUVNVVXNKeEhnQUVITWNSUWVDQjBqV2FaUE5uWHdRdldqaC84SktseXdjUlFwb2VQSGdBOCtZdkJCVkZ2REZxdEdLQ05iem5IdVRsNWQ2V1l4VVRFd05EWGw2cDkzSnlzdEd5cFRmdmFOLy85dUxUVFo5Z3lkTGxTS2hWQ3dEUXBWUDdpclNhY21EbmRybnczWGZmb2srZmg2RFY2UkFYRjRjZVBSN0UvdjM3eWszYUgzZi9nR1VyVnQyMGhOT3JPZWFSSTRlaFVhdlJvR0ZEMyt2dEdCZ1kySEg3em05ZmRydmRuMzM5OVZmL25UQnViQWtoUkpCOGNiSVdwL2ppQkVHZ2xGSXFpaUk0am9NZ2lKUmxSUWlpUUFSQm9JSktnQ0I0UWM4M0o5SnV0ME9qMFVDbjB5bmxXYkwvN2Z5NTh5aklMOENhTmFzdzhQbEJPSHNtRFF2bXo4V2t5Vk94YzhjT1dHMVd2REw4SllCNHlSeUdESG9lYTlaK0FLMlVRdkxGNTUvaDVWZEdYUGQ0ZnYvOTl3Q0FEaDA2SUNNakE3bTU1ZWY3aFFzWE1IL2VIUHhuMWh4czNMQU90Uk9UOFBERGZTRUlBbHEwdkZjeGhYdjI3SVhEdi8rdWZPL1hQYi9neHg5L3dMdExscGVLbHJkcjN3SHQybmU0T3pTMjdPeHNuRHg1RWxsWldjakt1b1M4M0R5WVRKZURCVWFEQVlJZ0lpZ3dDRVdGaFlvZnJTQS9INElnSUNRa2xHaTFPa0lwaFNBSWhCZDRJZ2c4WVNRQndEejVaUC93aTVuWll6dDE3bklvSmpaMmNkcnBVMDJ6c2k0QkFKS1NraEVWSFkzT25ic29pM3ZIam0vUW84ZUR0eTZRSXBrNkFFQWx5aVFaaEI3dSt3ajI3dDJEdzRkL0I4L3orT1dYbjVGNjhnUjY5dks2Qk0xbU13Z0JHSlpGY1hHUjRpT2hZdWtxbHJqNGVCdzZlQkFjeHlGZm9tblNhTFg0NU9PUDhQbm5tOEZ4SElxS0NyRnYzLy9RckZtenk2YndqdTNZOXZWV0xGMitVakdmcXQzOHJ1SXgzVzQzZmo5MEVQUG56Y0h3VjE1RllHQmdSWURlUktmVHpYbjIyZWUrUDM4aFk4VHE5OVpHU1JxY2xsS3FvWlNxZlRVNHlRL0xlTWtQZU1MeEhQRUdEZHpFN1hZVGw4c05INTljS2UzTmJyZkRLaVh4eXI2M3JLeExPSFRvQU9yVXFZdHUzUi9BdE9rem9ORm9ZYkZZTUhUWVMvajhpeTNZK05FbldMTjJIVFFhRFRaKzlJa0NhcWRQbllMYjQ2bFduNmF2SFAzakNDWk5ub3I3dTNYSHUwdFg0RlRxU1ZCS1VWeGNqQmNHL3ArU29uVDgrREVrSlNjcmYzLzA0VWJNWDdDb3d2RUgvdVhwSHBSU25EMTdGcG1abVFyRkVLdFNvNlM0QkZhYkZRNjdIUTZuRTlrNTJRZ0kwRXZPVjRMaTRtSVFoc0RsY2hPMVdnVVA1NEVvQ2dCQWZPaUJHQURraHg5L0NibDBLWFBZZ2YzN2hqRU1VeGNBT25ic2pJTUhEeUl3TUJDZE8zY3RadzdQbVRNTER6elFvMUlmUjNWTDJRVGRCZlBuWXNIOHVYaXdaeSs4TlgwRzZ0ZHZnTGRuenNKN3ExZkNrSmVIMm9tSldMajRYY1JJMmN4OUhub1lKMCtld05BaEw0QmxWWGpzOFg2b1g3OEJMSVdXVXNjWk0yWWNGaTlhNkgwUzE2Nk5kUnMrZ2thandZS0ZpN0Z5eFRKODhmbG5VS3ZWNkhwL053d2EvQ0lBUUJBRUxGcm9OUU9mZmJwL2FUTngwK2JyTm84cWtxb2VjK1JycjRJUUlERXhDV1BIVFZCOGtGZVF1bHFkYmtiZlJ4NTlvY2VEUFQvK1p0dlhuNDBiTzdwWTF0NGsvNXVpeFhsVFE0aElLQVgxVnFoUVFSUWhpZ0xoZVI0c3kxSzVjcVVpaWl2NVlXVXc1S0ZHalhBMGFOQVFaOCtlZ2NQaHdKaXg0NnFVMnZQNVo1L2lxUnVjVm5QZ3dJRktQeHZ3OURQSzN4RVJFUmcvWVJJQUlEdzhIQzhPRzRiWFh4ME9Tb0hrT25YUTd3bXZiMjMrdkRsd3U5MFk1Uk5vbVByVzIyalFvQ0VLQ3kxNGVkalFmMit0cU5WcXhmbno1M0hwMG1VLzJsOS8vUVdHVmNGdXM4SHVrNXVXbG5iNnN2WkNLZFJxTmRIcGRMQmFyVEx2RnBHSUlBbkRNSVJTeWlRbEpiRjc5dTUvbVdYWmwzLzY2Y2ZHKy8rM0Z6UCtNeHNBa0o2ZWpubHpaeU1vTUJDRFh4eUs1czFiS09lMWJPbTc0RGdPNDhaUHJEZ2llUzROWGJ0MnJmSjE3dDI3MTA5UVdJbFVOcGEzY014T3A1NDQvdEh5NWNzM2YvZmRkeDRKNEJRVEZkN2FWUG1WeXNYMkRNTlFRUkFVL2plVlNrVlpsb1ZhcllaS3BWTElMV1hUTkNtNWpzVDNKcEZaeHNTZ1pzMEVKQ2NubFV0M3V0Rnk4TGYvVlhuZjloMjdWTnQ1L0NzMU5xUFJpQXNYTGlBcnk1dkM0VXNFeWJBcXJ6UFc2WVRMN1lMZGJnZlA4NGlPaVFIUGNYQzZYTVJodDROaFdSQkNpQ0FJY2k2YUV1VThmZWI4TXk4TS9MOFJScU94Ylh4OFBQTEsrQTdxMUtrRHU4Mkdnb0o4TkcxNjJjVGEvT2ttbU0xbXpKZzU2NFpkcTE0ZjRFZXdxeHliV3pobWpXclVDSisvYytmT0owcEtTajRNQ3d2YlFRamhmQUZPMHVLSVY0c0RwVlNnb2xTckovbmpJSW9pVWFsVTFKY1ZSdGJhQUlLaW9pTHdISzhrKzdyZGJyaGRMcmhjVGlRbEpsVXJIVkpBUUdDVnlxb0NBZ0tyZGFEL2RjQ1drWkdCOVBSMFpHZG5LMG1CY3RLdDFXb0Z3N0JLS29mSDQ0SEZiSUZLcFlMYjVTWTh6NE5LQmVyZXRBMkdpQ0pQQkVFZ0FKZzJiZHAyZjJmSjBsY0RBd1A3VHBveUZWTW5UMFNOOEhDb1ZDd0N5aXlXanAwNm82UzRTRWsyTkJvTldQUGVLaVFrMU1LUVFkNG9Jc093MlBqUko5ZDF2U3pMd202M1ZmdVQrRTRUdTgxYWFRa1djNHZHekc2emdsV3BRQWhwRXhvYTJrWVFoTDRtaytuRHVMaTRBNFFRamxMS0UwSmtnQk5CSUlKQ2hDZ3FCSm1pNk0wYWthbXRSRkZVekZNQTBPbjBzSmFVZUZOQ2VEa2xoTHRjeWVCeXcrbHlvWllVOUxuUmtseW4zajhXd2djRUJDSzVUcjFxSGV0L2pTbEtLY1daTTJlUW5wNk9uSndjR0kxR2hXWklydmZNeWNrQllSZ3ZLMGVwc2lpZWVOazRlRi82SUZsTFkwNmtwalVJRGc1K2pSRHl5cTB5bnlvSDhreVlMUmJFeE1iNzBjeFhhemZrSWpJeUFvbTF5MU02WldSbXdteSsrV05tTk9RaUlpSUNTWW1sejRuanVIV3BxYWtmdDJ6WjhnSUFEZ0F2UlZJVkg1ek1IK2ZMQ2VkRGNFbkxtcVV5SlpJY01aVlRROExEd3hFVkZZVzR1RGpVcmwyN1drdnFicVg4S3pRMnVZb2dJeU5EQVRXejJZemk0bUtmSW5ZSDNHNDNSRXA5eTZJSXovUGdCUjZpUWl0RUNRVWxvSlQwZjJvQXUzRFJPeU5abG4wRFFNTE51SmFnNE9DcjJqOHhzVGJ5ODAwd0duSVJGQnh5MTJ0dWRwc1ZOcHNWQXM5WENHb0FrSlNZQ0pQcDVvMlpmRTZpSUpRRE5RQlFxOVhEV3JSbzBjZHV0Ni90M0xueng4ZU9IZlBJQUFkdmtNcTNBRi9oaHBOQmptRVlJdm5mcUV4Ujd0dGNSZ1k0WDlaZXVlZEN3NFlOcjduVzlIYVdPMTVqS3l3c3hObXpaNVU4R1Y4T3RiSmtrSVdGaGZCV0MvRGdLdGZTR0FEazNJV01uaHFOWmhTQUIyN21vblM3bldqV3RPbFZhNnNYTXpKaHNaZ2g4Q0pjcnJ1VG8wMnZEd0REc29pTWlFUmlZcTEvMUVZeU15OGh2NkFBQWk5VTI1anA5UUZnVmFvS05iV0tSQlRGUFNhVGFWMWNYTncrUW9odmdJR1hORGRCQWpSUkRpNndMRXQ5d0l5cTFlcFNKSmErUFJia0JqSnlkNnlrcENRMGFOQUFOV3JVOEFQYmJXTnVHSTJsMGpsazJ1NktHRzdkYmpmc2RqdGNMaGNSS1lVZ0VVRXFXaHFsQktETWthUEhZcU9pb2tjUlFrYmY3T3N4R2ZNUUZ4dUR1TGc0K09YdUZvL0hzK3FYWDM3WjJLZFBINE1VWUpBMU9NRW5jaXFERzVXMU5WbFRVNnZWVkc0QldCYmNmRTNTK1BoNEpDWW1va0dEQnYrcUpqSjNyQ21hbFpXRmMrZk9JVE16VTBubjhHMnVJdE82K0RMZENvSkFQQjZ1SXZZTkJnQno0ZUtsL2lxVmFqU0ErMjdtdFRqc050aXNKUUNvSDlUOEFnRFFhRFN2OWVyVnE0UFpiRjRiRVJIeEhTR0VsY0NOODhsL0kxNGxUeFI5R3Y1UUg2cDVXbG11VzJWMXA5VVZWUEFEV3hYa3dvVUxPSC8rdkFKcWNqcEgyZVlxWmVpN0NjZHhBS2g4MCtVdVQ4eTJiZHRxaFlTRWpNbThlUDdWbTMwdHdjSEJVS2xVaUkrUFEyeHNySDlGKytXeU9VVkl5L0R3OERVZWorZUQzMzc3YlVPM2J0MnlDU0dNYkpwU1NubGNabDRXdlY0SjZoc3BKYjVSMDdMcElUSjl2UysxdmNmalFkMXJZUER3QTl0MVNscGFtcEo0SzNlTktpekZkT3NvQzJyRXB4ZUI0a3VEVkRuZ2RydWZVS3ZWWXdHMDhpOGx2OXlPb2xhclgrcmF0ZXQ5K2ZuNWE2S2lvblpMdmpkR0FqVlplNU5UUWNwcWIrWFNRc3BXTHZoMlRwTUI3cDU3N3V5a2I1S1JrWEZIbktoY0hpVUhDWHo5YVdXMU5KOU9VY1JiV096dERDV25jRkJLeWM4Ly94eVdtSmc0am1HWUNmNmw0NWM3eVBlMmJPdldyZXNuVFpwVUNNRGprK0FyeVA0M3VXcEJTZ254OWIxUjN3b0Z1ZlZmVUZCUU9iK2JIRlM0VTlOQlZJbUppYmY5U1hJY2g5VFVWTVYzVmxHSHFBcTZRdmwyVS9jRk5jWnV0M2ZSYXJYakNTRTkvVXZGTDNlWXZEbCsvUGlVWjU1NVptMVNVdElSQUN3QU9YcEtVSnJKRjZJb2doQWlsMlFSbWYrdHJJYm1XMlR2Y0RoZ3RWcFJWRlNFbEpRVXFOVnF2eWw2bzhYbGNpRTFOVlVwa1pLckNYeGI0aWs5Q1NUQ1BWbFRrMDFQQ2RnWVNpbmo4WGlHc3l3N0VZQS9vOVV2ZDZRd0ROTWpNVEd4Y1VsSnljcVFrSkF2QURDU2VTb25sWmNLTE1nV0QvVUtrYXNYZlByWTRrckY5U2twS1pWMnhicHRUZEhiT2QzRGJyZVhBcld5MVFSbEd4YkwvalRKL0pUclBCbFJGRWx1Ym01OGRIVDBCRUxJcS82bDRaZmIxZDFpTUJoZ05Kb2dDQUpzTnVzL2ZvZm4rWFZIamh4Wk4zbnk1RnhKYzVNckY1VGllcCs4TjBpcElYSVNyNUx6Sm5lbUwxdWxFQjBkalpvMWF5STVPZm0yQUxmZzRCQ3dMSVBvNk9nclpoRGN0aHFiMVdxdEZOUmtobHU1OTZKdmtFQUdOWi9JSjJPMzJ6dHJ0ZHFKaEpBSC9jdkhMN2NycUIwN2Rnd1VSS21HcUdKVzJiRDZEUnZYNmRydGdmYzZ0R3Z6QndBRzNzaXBUSURxcFVYeS9rT2x2cmRlalkxU0wwT1MxQWRYM3VRZXVvSkl3UXNVSEMvQzdSR1FtSnlBb0tCYlg5bGl0OXVRbTJkQWJsNGU3cnYzM2pzSDJJcUxpeFZRazR2WnpXWnpoWnBhSlpGUHhaL21kcnNIcWxTcXlRRHErWmVQWDI1WE1SZ01vQ0RYVkwvS01FejNXclZxSjU1TVRWdlJKT1dlSGFDVW9ZQnYzdzFCb2dzUnZiRUFDc2tDQmJ6cmhDb21xUnhSbGN4VVVhUVFxUlJOcFNJYU5taUk0SkNRV3pwV2dZRkJDQXdNZ3NtWUI0UEJVR0dhMUczRm9QdkREeitnZmZ2MmlJbUpRZGV1WFRGaHdnVHMyYk5IWWVpb0tBTHFWdm9QZUgxcTBzYUlvcWlhUDMvK2xQVDA5TFhmZi8vOWJRTnFQTTlqMUtoUmlJNk9SbWhvS0lZUEg2NTBkL0xMM1NzbVV6NkNncThMTU9xR2hvVXRQbmYrNHZDRzl6UUtBS0NUdW1mSlBSZFlTc0ZTS25mTEVnalBjL0J3bkplcDErV1dlaXg0dTJOWnJWWVVGeFhCWWpIRFpEUWhKeWNIR1Jjdkl1MU1Ha3FLaTIrTE1Rc01Db1pSNnB4V1Z0Z1pNMmJjRmllNWQrOWU5T3paRXlrcEtYamdnUWVRbEpTRW9xSWlIRDU4V0k3c0tJQlcxdnlVdFRRdnRiTEFwS1NrMVByODg4L25kdTNhZGN5QUFRT1lrSkFRZE9uUzViYTR6b2tUSjJMYnRtMzQ5Tk5QOGV5enoyTHAwcVU0ZGVvVUhudnNNZi9xdm9zbE56Y1hOY0lqcnZwN3AwK2xZdDVVN01lSEFBQWdBRWxFUVZTYzJlalZ1dzhBTUNxMXV1T3ovL2RjU0t2V2JTNTh2ZlVyQitCVjNTb3pmeWxBY0xtUnQyU08wc3VicEtrVkZPVGowTUdES0N3c1JFUkVCSUtDZ3FIVDZmRDExMTloL3R6WjJMWnRLd290aFdncG1ZYjUrZmw0YTlvVWJONjhDVC8vOUJPYU5HMkswTkF3QU1CZmZ4M0h0Q21Uc0hYckZody85aWRhdDJsN1RWMndOQm9Ock5aaXhGZmdhN3R0VE5HMWE5ZWlhZE9tZU9hWlo1Q1ZsUVZDQ0ZxMmJJbUNnZ0tjT1hNR0tTa3BsU1hlbGdvU1BQamdnNjBhTldvMHBWdTNibjNsbTNlN2lOMXV4NnBWcTdCcDB5YUZtdWo5OTk5SHo1NDlzV0RCZ2dxYjN2cmw3aENydFFUUjEyQ0dOcnluRWQ2ZStaOVM3Nm5WNmtGZHVuU0ovdVhYLzYzcGZuK1hFNVJTUmtJM3hUU1ZzVTBVQkpHWGZHMkE5OVVMZUJLd2dlSkMrZ1Z3SEFlV1lSRVJFWUdNakF4UUFJR0JnZGk2WlF2V2ZyQWVHbzBHWThlOGlTTkhEcU4xNnpaWXZXb0Z1bmQvQUgwZmVSUi8vSEVFQytiTnhhcjMxb0xuZWN5Yk13dnpGeTVHVWxJeTFuM2c3U3Y2MHN2RHIybmNmSHNGMzNhbWFGRlJFZXgyTzNKeWNuRGh3b1ZTUHJYRXhFUWtKaVlxS1IxMnV4MzUrZm1rc0xBUU5wdU51Rnd1SWdnQ0k0b2lrNVNVMVB2SEgzOWNzbno1OHI2RUVIVHAwZ1ZIang3RlcyKzloWGJ0dkExNTI3VnJoOW16WjZONzkrNElDQWhBdlhyMThQMzMzMlBac21WSVNFaEFhR2dvaGcwYnBoRDNVVW94Yjk0ODFLOWZIeHFOQmhFUkVSZzBhQkRzZGpzOEhnK2FObTJLQngrOEhKUFl0R2tUdEZvdGpoOC9EZ0RvMzc4L1dyWHlGalVjTzNZTVRxZXpGTjlhNTg3ZVR0c0hEeDcwcjI2L2xCT3oyWXl4WTBaaDBQUC9oOEdEQnVMM1E5NTVrcDJkalFIOW44Q1QvUjdGcURkR2x2ck81SW5qTVdUUTgzMW0vMmZHMUpTVWxDNEFkS0RVdDVFTUs0b2lLNjhicFlrTXg2R2twSmdZREhsZVFrcW50M0Z6WkdRa0dqWm9DSTFXZzVLU0V1VG01aUF6SXdPN2YvZ0JLVTJhSUNEQVM3SmFJNndHL3BMbS9WOS9IVWVYTHQ1NUhob2FpclMwMC9CNFBERGs1VUduMXlNcHlkdVlKVHc4SEg4ZFAzYkR4KzJXYTJ4eW9LQmR1M2I0OXR0dk1YZnVYTVRGeFNFa0pBUjZ2UjR5MTd1YzBtRTJtd2tBcUZRcVFpbVZ1NjR6VnF2MVdZMUdNN1Z2Mzc3MUd6WnNpRVdMRm9GaEdMUnYzeDZQUFBJSXBreVpvaHh6L3Z6NTJMRmpCenAxNm9SWFhua0YvZnIxdytPUFA0N1RwMC9qMUtsVDZOYXRHeDU2NkNFODhjUVRXTFZxRlJZdVhJak5temVqY2VQR09INzhPQVlPSElqbXpadGp6Smd4K1BEREQ5R3VYVHQ4OHNrbjZONjlPMGFPSEltWk0yZWlSWXNXQ3JBVkZoWUNBSEp5Y2hSdzlIbTZJaUlpQXRuWjJmNVY3SmR5OHNYbm05R3NXVE1NR3Z3aTB0UFRzWHJWQ3JSdDF4NEpDUW40NzVhdE9IZnVMT2JPTGswMVAyL0JJbWx0RmJVWi90TFE4QTgvK21URjRFSFBmeXNwTWtTeVRqa0tDTjRIT0JHbGZGNFFRcWhLcFNKdXQ5dXJ4QUdnb0NDRWdkdmxnczFtUTc0cEh3QkJabVlHQWdJQ2NQRmlPbFlzV3dwQkZCQXMrUW1MaTR1aDFlbXdZL3MzK09tbjNkQm9OTERaYkNncEtZRldxNFhINDhIS0ZjdVFtNXVMb3FLaUd6NXV0MVJqODAzcEVFVVJBd2NPUk4yNmRXRXltWERxMUNrY1BYb1VxYW1wS0NrcGdkdnRSa2xKQ1pIQVFJbjRNQXpEQkFjSHYvTGxsMTh1MG1nMDllV0dGenFkRGhxTkJvUVFoVmxVbG43OStxRmJ0MjVRcTlWNDRva240SEs1TUhmdVhBUUhCNk50MjdabzBxUUpVbE5UQVFCSlNVbFl2MzQ5K3ZUcGc4VEVSRHoyMkdQbzJyV3I4dmw5OTkySFNaTW1ZZno0OFJneVpBaWFOR21DQ1JNdVYyazk4OHd6R0RIQzI2UFI0WEJVbUF1azFXcWxEbGwrOFV0cGFkMm1MWDcrNlVkODlPRkd1RjB1TEg1blNaVytKNG9pWnM1NEd3LzNmYlRlQXowZW5IWXE3ZHdBQURwcDAxQksxYUJVQllBRktLT2tSd0dFWlZYZ09BL3h1RDArcmY3c2NIczhjRGdjc0JSYWtKOXZRbEZSRVU3OC9SZkdqeHVENTU1L0FkMjZsYVl1bkRkbkZqSXlMbUx4TzB1aDFXcExLVE5qUnIrSnhvMVRNUEtOTjZ0bDNHNFpzUGttMzhvcEhTNlhDM1hxMUVHclZxM1F1SEZqUkVSRVFCQUVHSTFHNG5hN0pYWU83eE5IemxIak9HNThTa3JLZ3RUVTFDcDNxUEF0STVNSFBDRWhvWlJUVWdhYXZuMzdvbmJ0MnBnNWN5YWVlKzQ1dEdqUkF0OTk5NTNVT01NcjA2ZFBSMFJFQlBiczJZT1BQLzVZNlhOUVZ2UjZQVHdlVDduMzNXNTNwZjBSL1hLWEExdnJObGk1YWcxcUppVGc0NDgyNHUyM3BsYnBlK3ZYdlErZFRvZUJ6NzhBQUZIQndjRnZmZjNOOXNFQTlCSzRhUWtoYWtLSWlsTEtBbUI4QW5DRTQzaDRPQTlSSXFaT0p6aVBGK2hLaW90aHNWamdjYnRSWEZLQ3h4OS9BZ1FFSmRZU2hJYUZLZVpuaDQ2ZE1QS05VVkNyMWZCNFBBcHpiMGx4TVVhUEdZZmVmUjZDeStWQ21QU2RPeDdZZk11a3NyT3prWk9UZ3kxYnR1RGl4WXRLbmhySGNkRHI5UWdKQ1NHQWwvN2JGOVJXcjE2dDVqaHVPc013czBWUjFKWHRPSDVGKzF0VjNnS3ZyTmgzeVpJbDZOQ2hBekl6TTlHaFF3ZXNYYnNXdlh2M0xyV1AwV2hFVGs0T0tLWDQ5ZGRmS3oxdVFrSUNYQzVYS2RXYjR6aVl6V2JVckZuVHY0cjlVazdteloyTncwY09vMGVQQnpGNXlqUWNPblFRL3pUWDkrL2ZoNzIvL29vcFU5L3luZGU2SmsyYVRybjMzbnVITjJ2V1BCQlNPZ2lsVkEwcEhRUUFTMFdSOER4SEJJRW5QRmM2SFlUbmViamRic1drVkdzMGNEZ2NLQ2pJeDhXTDZkajl3L2RvMUxneEFLQkZpNWJLZWY1NTlDaVNrcEtoMFdnUUd4ZUgwTEF3YUNVTGF2KytmV2plb3NXZDcyT1RDOXA5YXorTGlvcVFuNThQaDhPQjVPUmszK1JiSW1zNGN2czdBR1RuenAxQlBYdjJuTW93ekxpaW9pS2NPblVLUTRjT3JmQjQxOHRPc0dUSkVreWVQQmt6Wjg1VTNzdkl5Q2dWd1h6cHBaZlFva1VMOU92WEQ2TkhqMGJQbmowckJLcVdMVnRDcjlkajM3NTllT1NSUjZSSnVCOE13eWpCRGIvNHhWY0dEbndCaXhjdndPZWJQNFVvaWhnemRqd1loa0YyZGpiR2pIb0RIT2RCY1hFeEJ2Ui9BdmZlZHg4bVRaNktsY3VYd3VWeTRiVVJMeXUvczNMMVdnUUhCMlBCb25kR3Y3Tm9vYWFnSUg5ZGJtNnUvSVNWbzZXOHROWUViMk1zd2V0aWsvYmhlWUY2T0s4NUNnSUVCd1VqTGk0ZW4yN3lkcEsvOTk3N0VCd2NESjduOGVwckl6Ri8zaHg4K2Q4dm9OZnJNWEh5RkVXcG1ETDFMY3lhTlFPY2gwT3RXclV3WWRLVU94dllLS1hseXFUazZHZHljakxPbnorUDFOUlVCQVFFUUJBRXVOM2Vwd1FoUkNiVEl5a3BLVFZtejU0OU5TSWk0azIxV28wcFU2WWdKQ1FFQXdaVTNMMDZLQ2dJQnc4ZXhLRkRoNjRKUE1MRHczSGd3QUhrNXVaQ0VBUXNYTGdRcDA2ZFFsT3BMOEg2OWV1eFo4OGUvUDMzMzZoWHJ4NDJiZHFFbDE1NkNkOSsreTBBNFBQUFAwZGhZU0ZHakJpQndNQkFEQjA2RksrLy9qcUNnNE9oMFdnd2ZQaHdEQmt5Qk9IaDRmNVY3SmR5VXF0MmJTeGJ2cXBDN2YrL1c3WlcrSjNQLy90VnBiOTN6ejJOOE1INmphKzUzVzdWNWs4M3JadisxbFN6dExaOGxBRUdsSXFDS0RLbHdDMG9LQWdhclVhMm5rQkFVQ01zREVsSlNZaUlpRUJNVEN3eU16TEFzaXdhTjA2cDFCL1l0R2t6ckgxL2ZiV08yMDAxUmE5VTBCNFVGSVRZMkZpSW9paWJvMFFHTlpabENhV1VYTGh3SWVMNzc3OS9LeTR1N3MwSEhuZ0FYYnAwZ1ZhcnhmNzkreXUxMDE5NzdUVWNPSEFBZ3djUHZxWnozckJoQTBwS1NsQzNibDIwYTljT05wc05reVpOd3A5Ly9vbXNyQ3lNR1RNR1U2ZE9SWU1HRGNBd0RENzQ0QVA4K09PUDJMQmhBd0JneTVZdFdMLys4azFjdkhneEhucm9JVHorK09QbzI3Y3Y3ci8vZml4YnRzeS9ndjF5VTBXcjFRNS9idURBbCtjdFdCUUZRQ3RWS2FpOXlvNVNwVUJFMFp0NTRHM0E3QTBvdU4zZUtnV0h3K0UxU3lXZm04bGtRbTV1TGpJeU1uRDJ6SmxiZW4wM2pkMGpMUzBOYVdscFNvczh1WnVVWENibHkzeGJKdm1XVUVySm1UTm5hdFNwVStjdFFzaEkvN1FzTGFJb0lpUHpFaXdXQ3dSQmdNdDVkNVpvNmZSNnNDeUw4Qm9SU0VxcVhXa1FSN1lldkdObUJzOVgzNWpwOUhxb1ZDcEVoRWNnS2FseTdzTzllL2VpYnYyYnoxcnJjYnMvMkxUcGsvZmZuajdOQXNCRkNIRkRhUnhEQkVJZ0VNSW9EV1BVYWhYVUdnM1ZhcVMrcFFFQkNBb01STERVemk4aUloS3hzYkdvWGJzMjZ0YXJqM3IxcXJlYXNiSSt2RGZGRkpWN0ZKVGxVNU03U1IwL2Z0eTNRb0Q0MnYzU0ZsU3ZYcjJwQVA3Vm9HWXdHSzY2VTVEYjdjRmZmLzBGVnFWQ2NFaW92NitvM1liQ29rSVVITTFIaStZdG9OR29Ld1MxUC80NENvWmxFUlJjL1dObXQ5dGd0bGlRWDVDUDFxMnV6RUNmYy9QekdWL3ExcTI3ZUhISWkycy8zTGhCV1lkZTA5UmJZZ1dJZ2loU1VHOHhQQlVFa1FpOFFKVnU4ejRrbFU2SEEzYTdEVlpyQ1lvS2kyQXVLQ2lWY1hBanBlWVZmcmZhZ1Mwcks2dFVqNEt5M2RrZERnZHExNjZ0YUdvZWo2ZFU3ZWZxMWF2Vnc0WU5tOG93ekp2d1N6bkpNK1NCVmFuOG5lQWxrWmtmaklaYzVPYmxJcWtDaHVpTEdabGdXUGFtalpudk9XVm1Ya0xpRmZxTDFreEl1QlhETm56cXRPbDhSa2JHMmwvMy9GS1poaXRjQmp1UlVpb1NTc3YzVWVBbFpsNlBoNFBMNDgyQkk0UWcvaVpIL2FzVjJJeEdvOUlpcjJ6amxRbzZTWkdLdU5Ra1VCdm5YN0lWaTduQWpLQ1FVUDlBbEpHZzRCQVVGSmdyQkRhTHhZTGdXekJtUWNFaEtEQVhYQkhZYnBrWnI5Tzk5djRINnowTjZpV3ZsN1ZhT2FCQXZkRUZLcGJLTXlFVUlBUWdjbGQ2RUVMQWVNa3N3VEFzV0phRmlsVkI1VFZmRVJVVmRlY0RtOXloWFc2Umw1K2ZYeW1kZDFtZm1tL3lMY013VS8zTHRESS9FU0FJd2wxdmZsYW1KUlVYV1NyODdGYU5XV0JnRUlvTExkZjAzWkxpWW1SY3ZBQzczWGJGMzA5S3JvdVEwR3NEYmIxZVB6cnQ3QVhYUFEzcWJwTHdUSmxxUG1NblhtN2Z4MUdPOHhBSitFQVlBc0l3RXJBeFlGa0dLcFhDMWd1TlJvUFEwTkE3RjlpY1RtY3BVQ3ZMcDFZSlNhVGNmSVZJdlFsZVlSaG0ycFVYOXRWVEtkOXVVbFdxNDRxRUVNRHA5SE81VlRvUEsrRzV1NVhCbFd1OVh4ZlR6OFBoc0Y5eEg3dmRob3lMRjlDc3hiM1hBYjZCbzArZU91Tm8wcmpoVmg5UW8yVTBPQkVBRlVXUjhEeFBuVTRIWVZtV01vU0FFQVlNUXlDWE5ubzNGVlJxTlRScURSbzFibnhUS01adk9MQlJTbkhtekJtbFRaNGMvU3lycVpXSmZzcU5KUmlKOWZaWmxtV253VnY2VWVseHJwRksrYmFUcWxBZFg2djh1UHNIYk55d0hpYVRFZkh4OGZoNDAyYzRkKzRzaGc0WnBPd3phY28wUFBUUXczNGt2STNsbjBETmR5NWRyMVVhR2hyNnhyRy9UdHBiTm0veXZhKzJWZ2JjQUVDa2xIcDlhcHlIZUhzclhBWTJobVhCTWhLd3lWcWJWb1BHalZPcXZhM2ZEUWMyWDFBcjI4ellicmRYU09mdDYxZHpPcDI5VkNyVlZBQlhOTWl2aDByNWRqU2Ivb25xK0Zva056Y1hDK2JQeGN4WmM5QzZkUnVVbEpRQUFPclZxNDhmZi80VkFQRFMwTUhWZGwwYjFxL0RZNC8zSzhWbUlwL1hzaVh2NE1TSnY2SFJhTkRqd1Y0WThlcHJZRmtXZ0plU1o4V3lKVGh4OGdTMFdpMTY5dXlGbDRlUFVENnZEdm1uWTNicDFCNXF0UnFFTUVoS1NzS1FvY1BRc1dPbmZ5dU9Sa1ZFUkx5NmN1WEtrdGRmZi8xQUdjMk5Fa0tvOUQrUm0yRHhIT2ZsSW1jSUpRd0JReVEvbTZTNUtjQ20xa0NyMGFKZS9mclZlZ0UzTkVFM0l5TUQ2ZW5wbGVhcHlkUkRVb3M4K0xMZlVrb1pxOVhhU3FQUlRBWHdqMWQ5QTZpVWJ6K0F1d0xWOFRVOVpOSk9Jekl5RWgwN2RvSkdvMUhLd0FnaFNtZWk2bnh5ZnJoeFBTd1djN24zWjd3OURUVVRFdkQxTnp2eC9nY2JjT2pnQVd6ZnZnMkFOeWR2MG9SeGFORHdIbXo3WmlkV3JGaU52Yi91d2RkYnY2cTI4NnpxTVZldVhvTWR1NzdEa0tIRHNIamhmR3o5YXNzdG1TZUVFTng3NzczbzJiTW5ldlRvZ2ZqNHEzdTRDNEtBMzM3Ymo4a1R4eU03SzZ1eVk5U0xpb29hdm1EQmdzYVM1U1RUakt1VnVsSks1VzcwaE9kNThKdzM5Y05US3ZYRGpzS2lRdnowNDI2c1hmTWU1cytmZy8zNzl5RkxPbTdXcFVzWStmcXJlUGFacHpCbTFCc29LaXBVenVHakR6Zml1V2VmeGpOUDk4ZXVuVHR1amNabU5Cb1ZVRE1halFxb3libHF2bDNhZlRxMEs2Qm1NQmhxNmZYNktRRGFWdlhtL051YzVvR0JRYkJacjU5UC92anhZNWd4ZlJvOEVzM000NDk2emN4K1QvVEhvTUZEcXZRYmh3NGV3TW9WeTJFdzVDRXhNUWxqeG81SFNwTW15dWQ3ZjkyRERSdldJZDlrUWt4c0xJWVBINEYyN1RzQUFFYSsvaXF5TG1VQ0FFYS8rUVpVS2hZSkNiV3djdlVhaUtLSXJsMjc0ZUcrZmFIVmFoRWRFNE5XclZzcm1lb1dpd1Uxd3NQeDNNQ0IwR2cwU0toVkN4MDdkVVphMnVscUcvZXJPYVplcjBmSGpwMmduaklOYjArZmhsNjkrOXgwWnBiazVHU3dMSXZkdTNkRHE5V2llL2Z1eU0vUGg4UitVd3F3NVNSbDM3L2ZmT04xMUt4WkU2ZFBuNElnQ2xjQzBOYUppWW5EeG80ZHUraWRkOTdKa2JVMkg1K2JIR0FRQlVFRUlieTM3cEV3bERBTUNFUEFzQXh5YzNOQkNNRURQWG9BbEdMRCtuV29WNzgrOURvZGxpNTVCNDg5M2c4OWVqeUlMejcvRE8rdFhvWEpVNmJoeEltL3ZYTnM0MGR3dTkwWVBud1lXdDU3WDVWQi9JWm9iRmFyVldIcThLMy9sRHUzWHltdGcxSktYbnp4UlRZaUltSXlJYVJ2MVk5WmNrTW5pOWxzeHVSSkUvRGNzMDlqM3R6WnR3emNLcU02dmhwcDBhSWx0bTNmaFRkSGpVSE5tZ25ZdG4wWHRtM2ZWV1ZRdTNEK1BONmFOZ1VqWG5zZHU3N2JqYWNHUEkweG85K0FTZEltTXpNek1IdldURXljT0FVN3YvMEJqenp5R0taT25hdzBwVm14Y2pXMmJkOEZBRml5YkRtMmJkK0ZsYXZYZUNjY3crQzVnYzhqTEt5RzF5bCtNUjBIZnZzTmJkdDY2M2dqSXlPeFl1VnE2SFI2WlVFZVAzWU16Wm8xcjdZeHY1Wmp0bTdURmg2T3V5V2xRNUdSa2NqTnpWVjhYYUlvb2thTkdxWDJPWExrTUtaT25naU80MkN4V1BEUzBDR3dXTHdSMlhlWExNUGtLZE9xcEJnd0ROUDd2dnZ1R3h3VEU2T1h0RGFmMGl1d0FCaHZSemlSdUZ3dTRuSzV3SEVlWWpHYmtaZWJDNWZUaGVMaUlnUUdCcUtrcEFRcXRScUNJQ0QxNUFsa1pHWWdMZTIwY3U4ZmVyZ3ZEdjkrQ0FCdy90eFp0R2paRWxxZERpR2hvV2pmdmdQK09ITDQ1cG1pbE5KeVZRVyttcHB2Qk5TM1E3dHZCSFRObWpXVENDSERic1JOLzJyTGwzanUyYWZ4N0ROUFlmNjhPWEM3WEZYNjN2dHIzOE05OXpUQ3A1OTlnYkhqTGhORm1veEc3Tnl4L2E1eVZPL2N1UjFkNysrR2poMDdRYXZWb25lZmgzQlBvMGJZdmZzSEFFQkVSQ1EyYlB3WWpWTlN3REFNSG5uME1YQWVEN0t5TGxYNUdLa25UNkpuajI0WTlQeHp1S2RSSTNUcGVuK0YrNjE1YnhYMEFRRjQ2T0crTiszNnEzSk1RZ2pDYTRURGR2M08rcXNXalVZRFFSQVFFUkdCVHAwNlFSVEZVa1NPQU5DcVZXdUVSMFJnNW96cEdEdm1UZlI3NGttRmFPRnFHNmVvVktybkZ5MWFOQkJlTGpkZmsxUWxZUWdqVWtvWWhvSEg0eUUybXcwdWw0c0VCZ2JDN1haRHBWTEJZTWlEMVdwRmRuWTJDZ3N0eU0zTlJXNU9EaUlqb3lBbkJSODZlQUJXcTNjODY5U3RoNk4vSEZFb2tsSlRUOEptczkwOFlEdDc5aXd1WGJxa3BIVlVwZmRubVFqb3dCdVZxM2JpeE4vWXN1Vy9XUHZCZW55NitRc3dESVAxNjlkVjZidm56NTFEaDQ0ZHk5MzQvUHg4N05qeHpWMEZiQWFEQVhGeHBWWCsycldUWUREa0FmQ3lQQnc5K2dlR3Z6d1V6ejM3TkFhL01GRFJkS29xS1UyYVlQZFBlL0RGbDF1Umw1ZUhEUlhjcDQ4LytoQy8vMzRJYytmT3I1QkRyenFrcXNla2xNSlNhRUhRTFhLSEpDY25vMUdqUnZqdHQ5K1VvRkJaNEIwK2ZBVCtQUG9IdEJydGRUMFk5SG85Qmc0YytLYkJZT2haZ2IvTnE3bDUvVzBNSVFTQ0lFQ3Qxa0FRQk9MeHVCRVVGQXhlRUhENDkwTTRmU29WRE1QQTRYREFaREtoVjYvZStPYWJyekZrOFBOSVRUMkp3RUJ2LzRUbXpWdWdaNjgrR1BuNkNFeWZOZ1VCK2dEb0EvUTN4OGVXbloxZExsZk50MVRLQjlSUVVRVFVicmQzbHBvWjM1QlphN05hRVJRVWpJQ0FBREFNZ3hlSHZvU0xGOU9seFpxSFJRc1hJTjlrUkdoWURZd2JQd0dKaVVuNCtlZWY4Tjh2UGtObVppYm16cGtGalVhRDU1NTdIbDI2M28rbFM5N0JzVCtQd21Bd1lQakxYcjYzdGUrdng0YjE2L0RubjBkaE5CaVEwcVFKTHFaZlFHUlVOTjU1ZHlrb3BWaTlhaVgrK09Nd09BK0g5aDA2NHJYWFI0SlNpbkZqUnVIK2J0M3h5S09QNGNTSnZ6Rm45bit3YnYySHQwVjNiVitKaVltQklTK3YxSHM1T2RsbzJkS2Jpckx2ZjN2eDZhWlBzR1RwY2lUVXFnWEFHeldzYUhHVkJUdTN5NFh2dnZzV2ZmbzhCSzFPaDdpNE9QVG84U0QyNzk5WGFyOHRYLzRYUCs3K0FjdFdyTHJtaE5PcmxhczU1cEVqaDZGUnE5R2dZY09iZm4ra3NrUDgrZWVmQUFDV1pjdFJ5OXRzTm93ZlB3WURueCtFczJmU3NHRCtYRXlhUFBXYWdrVk9weE5idG14UkFYamxyNy8rTWpSdjN2eFB5ZGNtU3Y0MkpXSktLU1VNdzhMamNWT24wOXVVbmpBTW9xS2lFQkFRQUoxT2g3Ly8rZ3VpSU1KaU1VTWJGNC9uWHhpTUJnMGE0bUo2T2k1bFppckhmVzdnODNodTRQTUFnSmVHdllpNmRhdGVVSC9OR2x0UlVWR0Z1V3FWZ0JvcDA2V2R5YzNOamRkcXRSTnhBenUwdDI3VEZqVnIxc1RMdzE3RTExdTNRS2ZUb1hYck5nQ0FPYk5ub1dmUFh2aDQwMmQ0L29WQm1DNVJMRC93UUErc2ZYODlhdGFNeDdTM1ptRHQrK3NWczJqVTZMR1lNSEVLa3BLVHNmYjk5YVU0cE5xMmJZY1pNMmNoTXpNREgzMnlHWmN5TTJHeFdHQTBHaEFZR0lBTkd6L0d4NXMySS9Ya0NSdy9mZ3lFRUV5Wk5oMmZidm9ZYVdtbk1YZk9MRXg3NisxYkJtclMvZkJxSDZLb2FOSUE4SERmUjdCMzd4NGNQdnc3ZUo3SEw3LzhqTlNUSjlDelZ5L0ZIMGtJd0xBc2lvdUxzUG5UVGRMdmxHYUtpWXVQeDZHREI4RnhIUEpOSnE4MnJOWGlrNDgvd3VlZmJ3YkhjU2dxS3NTK2ZmOURzMmJOTHB2Q083WmoyOWRic1hUNXlwdkdVMWZWWTdyZGJ2eCs2Q0RtejV1RDRhKzhla3NvM2ZQejh4V0EwbWcwQ0FzTEs5Y1E1Y0tGOCtqYXRSdis3N21CbURaOUJqUWFyZUpqdXc2cFc3OSsvUmRIalJvVlc1Ry9qVkxLTUF6RHlGUmpIbzhISE04UnpzUEI0M2JEWVhmZ3pKa3ppSXFLZ3QxaFIxRlJFUW9LQ21BMEdQREhIMGV3Zk5rU1BQbFVhVjVGanVPdzZaT1BRWWlYeDYxYU5UWkJFSkNlbnE0RUMzd2pvQldrZFpBeWFSMkVVc3BFUjBkUElJUThlQ052dUVxbHdveVpzM0Q2VkNxKy9mWmJESDVoSUdiTm5vczZkZXZpN0prMDlGemhKZXhyMDZZdDNuVzVZRElhRVIxemJXbTlXcTBXT3IxZU1Wc0RBdlRnT1E2eHNYR0lqSXpDeEFsandUSXNERWF2MzlIcm00ckE2REhqOFBxcnIrRDVGd2FqU1pPbXR3VFV5aWJvTHBnL0Z3dm16OFdEUFh2aHJla3pVTDkrQTd3OWN4YmVXNzBTaHJ3ODFFNU14TUxGN3lJbXhwdGYxK2VoaDNIeTVBa01IZklDV0ZhRnh4N3ZoL3IxRzhCU3BseG96Smh4V0x4b0lUWnVXSWZhdFd0ajNZYVBvTkZvc0dEaFlxeGNzUXhmZlA0WjFHbzF1dDdmRFlNR3Y2ak1yVVVMdldiZ3MwLzNMMjBtYnRxTTJOaTRHejRlVlQzbXlOZGVCU0ZBWW1JU3hvNmJjRVB6MklLRGc2dThiMFpHQnNMQ3d0Q2pSdzhBd1BIang4djEwbWpldkFXYU4yK2hySXV4NDhiZklQL3J6bTZ0VzdmT0FMRENSMnNUQVZCQ2lEZEdTa1VxMTR2eVBFOFp3cEFTYXdubE9RNmhvV0dJam9tRjNXNkhXcVdHV3EzR3JsMDd3RElzbm5yNmFiU1hJdXVBbCtKOCtkSjMwYng1Uzh4ZnNMaENiYk95Y2JzbVlQT05nRmJHcVZZRzFHUUdBTGxjYWpnaDVOVWJQVUZQbno0Rm5VNkhSbzFUMEtoeENyNzl0akUrK0dBdDVzMWJvSmhHaXBuRU1LQzQ4VngwZi8xMUhMdDI3c0RTWlN1ZzFla3dZM3JwcWpDSHd3RzFXZzJYeTFudEFOYXJkeCs1UTNncHFWKy9BZjYzLzhwOVREdDI3RlRwd3RWcXRaajIxdHVsM3F1bzRXMmJ0dTBxWkhtdFY3OCtsaTVmV2VGdnN5eUx2ZnNPM0ZTZ3I4b3gvMm04YnNRNTJPMjJLa1VxNWFxYjY1VlBQL3ZpbXI2blZxdUhiTml3SWVQRkYxL2NCaS9GcmtnQktyV1NwL0NtZ1lpaUtGS0JGOEFURG9FQkFVU3IxVkdkWGdlMzJ3V253MXVOb0ZLcjBLMWJkOFRHeHFGV3Jkckl5TGlJT25YcUFnQTZkZXFNVHAwNlYzb2VkcHUxVWovb1ZadWllWGw1Q2dXUmIxcEhCUkZRK0lDYW9xM1o3Zll1TE10T3JJN0prWFhwRWhiT253ZTczVnQrWWk0b1FHaG9LTFE2SGVvM2FJZ2ZwYWplSDM4Y2dWcWxRblQwUDJ0cm9hR2hLTWd2cUxDN1ZFVmlOcHVoMSt1aDFtaVFuNS92ellXU2lva05oank4dDNvbDN2OWdBdzcvL2p1T1hFWDR1bkxIYmdEOGNuVmpjeXZIckxKalIwZEh3M0dGV3VlQWdLcVp2RlhkNzNwL0t5Z282SlYzMzMyM2hSSk1rSnJDeUNhcG5BSWlpZ0xoZVFFY3o0UGpQUEI0WkFaZUZ4d09CK3cyRzBxS1M3d012UGxHS2JtL2FrbnFkcHNWMGRIUjF3OXNEb2VqRkZ2SFB3UUx5aVhocHFXbGhXbTEydkVBcXFVT3FtZXYzdWpjcFN0ZUh2WWlubjNtS2FTZVBJSFhSM3BwM0taT200NXZkKzNFNEVFRHNYSDlPc3o0ejV3cU9WSVRhdFZDMjNidDhQU0FKL0hDd0dkaE5CcXV1SCtuVHAyaDArdngxSlA5TUgzYUZOU3RWeDkydXgwOHoyUG0yOVB4MHN1dm9GYnQycGo2MXR0WXZIRCtkZnM5NUNlOVg4cFArc3BLc0poYk5HWjJteFZzSlJwR1hGd2NLQldSYjh5cjhOeVM2OVQ3UjlBS0NBaEVjcDBieDFqN0Q4ZU1pNCtQSC9UQ0M0TnF5T0JHeTRNYlF5a2xvaWdRZ2VmQmNiemtiL1BBN1hMQjVYVEM3bkRBYXJPaXVMZ0lGck1GSnFNUjJWblpTbCtGeXNiUlpNZ0ZDQ290UDd3cWF2RFUxRlNrcGFVaE16TlRxUVgxTlVWOUtneUlyTFZKdmpWR29pR2F4VERNaEJzeDZMZUtTcm02cFRLcTQ4cjlMWmt3V3l4K29za3lZalRrSWpJeUFvbTF5M09mWldSbXdteSsrV05tTk9RaUlpSUNTVmZnWXpPWlREQVlET0I1SGxicjdjOVc0M0s1VnZYdTNYczlBSWUwdVFCNENDRWNBSjRRSWhKQ1JJbGFYS1l2b2xxdGwxbzhJQ0FBZ1lHQkNBNE9SbzBhTlJBUkVZRzR1RGpVcmwwYnljbko1VFhGNEdDb1ZTckV4c1pXcXExZGxZOHRLeXNMMmRuWk1KbE1NSnZORlFZTFBCNVB1ZFFPT1ZqZ2NybWV1RkdnZHJYTzFqdEpydmE2RWhOckl6L2ZCS01oVjJFNXVkczFOWnZOQ29Ibkt3UTFBRWhLVElUSmRQUEdURDRuVVJDdUNHcXlTWHFsQlhzYnltdFpXVmxuYTlXcXRWZjJ0eEZDbElBQ0FIaFpQd2hrY0ZPcFZOQm9OTkJxdGREcjlRcXdoWWFHSWp3OEhGRlJVWWlMaTBPZE9uVlFTMG9udWxxcEVyQlpyVmFsc3FBc3FQbldnUHFtZHZpYW9FYWpzWlphclI1N3E1eXRkOUtpdk5wRVZFSUlXclZxaFlzWm1iQll6Q2l5V09CeTNaMGNiWHA5QUJpV1JXUkVKQklUcjd3ZzJyUnVqY3pNUzhndktLaldNZFByQThDcVZQK29xZDNKVXJObXpjRmZmdm5sMmFlZWVpb2JsNk9rTXJCUk9aTGdKYWZrS2NNd2hHVlp5cklzWEM1WEtTSktHZXdDQWdJUUhKdGcwTndBQUNBQVNVUkJWQnlNc0xDd2ExSmlxclNLWk5QVE53bTNnc29DWDFDVHF3c0lwWlNKaUlnWUE2RFZqUnpNNk9ob0dBekdmeDJ3eGNkZmZUb0RJUVIxa3BOUUp6bkpiNE5lcGJhYitDOEZtNXNwaEpDV2ZmdjJIUUJnRlFCQjZvL2dqWlpLcEpUd0VsTlNDZHpBY1p3Q2JpcVZxa0p3Q3d3TVJFaElDSnI0a0M5VVZmNHhlSkNWbFlXY25CekZuMVlacUYzQkJPMWZIYWtkaXJQVlpJRGpEbmVlTyt3MnJ6TVU5SVp4c2ZuRkx6ZFRkRHJka096czdNNlF5cTBvcFJwSXlidStnUVJCRUlnRWJBcHV5QjJ1SEJMTlVVbUpOMHFhbjUrUG5Kd2NoZUxvaG1sc2RydTl3bncxWDhKSUdkaDRuaTluZ21ablo4ZXExZXJSMVRXWTk5NTdMNHhHSTR3bUU2d2x4WGNrTmJqc0RFMUlxSG1uK1ZiODRwZFNFaDhmUDJqanhvMnBRNFlNRVNSL20rQnJscFkxU2FYcUJPcExSR20zMnhXdFRRNHNoSVNFSUR3OC9LcXFQSzRJYkdYejFjcEVQbjN6MVNveVFVbE1UTXdvQVBkVjUyREd4TVJjZFM5T3YvakZMOVZpa3JZWU1HQkEveUZEaG53QWdQY3hTUVhKSkJYaFpkMVZURktHWVloS3BhSXlDNGh2WUtHb3FLaVVyNjFSbzBaVkI3Wk1uNkpUWDhuUHo4ZVpNMmRLTVhlVTlhK1ZEUno0Y3F5bHBhWDF6TXJLR3UyLzNYN3h5MTBsTCsvWnMrZG90MjdkRHN2Z0JpbFNLaGZMUzAxZzVLcDVoVlB1Y3Zlcnk2WnFXVE8xcWkzOFZJbGhQNVI3aytNRjVGL01BbkVhUU54bUVFOHhDR2NESTloQkJCY2d1QURCNDkxRWpsQlJBQ2dsOGpiNC85cXc5YVAzalBMZlk3LzQ1ZTZUaEdiaS85VkxydkgzK1l1RlBBQ0JBQUpBWmJPVWdSZk5BQ3FDaWp5RjZDWVFYQlNDQXhDc0lJSU9qR0FCNGZKQlBMa2c3a3dRNXpuQWxvcjQ1RnBRcS82NTkwV0Z3WU9zYkFzTXBtS1lMVFlVRlR0aHM3bmdjTHJoZEhKd3V6bDRQRHc4SEErT0Y4RHpJZ1NCUWhRcFJFb0pCWmozbHcwZUNlQUIveTMyaTErdVRTaTljOCtkWlptdWgvZE1md1J5SU1FYlJKQURDU3lWaUNsRmtVSVFLSGhlQk1jTDhIQThQQjRlYmpjSHA1T0R3K21HemVaQ1ViRVRab3NOQmxNeExtVlZyVktubkkrdHVNU0ozTHdpRkJSWVVWamtnTlhxaE4zaEJUV1htNFBidzhQakVjQnhBbmhlSkx4QUlRaVVpSlFTVUJETHhYY2JzQ3p6aG45cStzVXZWeWNpQlF5V1NKZ0t3eUNJTEd4M2RqcmlvQVVMRmh5Wk9ISGlSYTlKNmcwbWVFMVNpSklGU2tSS3dBdUVjZ0pEUER4TDNad0tUbzhhTnBjYUpVNHRDbTA2RkZqMU1CWUZJdHNjQkVOeENQSks0bEFuZ1VOY2VBRXFxNG9zQjJ3NXVZVXc1WmZBVW1oSGlkVUptOTBOaDlNRGw4c2pnUm9QanVQQisycHJGS0FVaEFKTVNJaitOUUFKL21ucUY3OWNIYWdkTzFjZllNTVFGSEpuOThtVnBHWkM3ZVRISjA2Y3VCb0FEMitFVkg0VlFRZ0Z2RzM4Q0NFZ1VyTmxJdEVkc1NvMVZDbzFWR29OMUJvdE5Gb2R0TG9BaUNRUXhUWTE4b29Ta0djT3c3MzF6MWNJYnFWTVVXTitDUXpHWWhSWWJDZ3Fkc0JxYzhIaDhNRHA0dUJ5eTZBbXlDWW80YjBtS0tFaUpaU0NPUEpXZENlRXZQSnZtbkRqcG0zQi9YM2Z1V0cveC9NQ1JrMytBdEgxeGlHMDlwc1lQbW9USEE2UGYyWGY1V0lvakFUWU1NVEV4djlya3M2MVd1MmdQYi91YTQ3TFZPSWFTdUZESmU3Tm5oQkZrUWlDQUY3Z0NjOTVBd2VjNS8vWk8rL3dLS28yaXY5bXRtVlRJRTE2Q1VoSGFWSkUwQUFmVWtSQkJDc2xJQWdxTFlMU2xkNkQ5TjVFcFNnSWlpQktFWkFlbENJSVVnVUVFdEo3c21WbXZqOW1kNUpOSXlCTjJmTTgrMEIyWm5idTNwMTU1MjMzSENzV3F3V0xROFpQMVQ1SUpENHVqdVNVRkhRNkErZ0tjelBlTDlkenV4aTJHeEVKUk1jbWs1Q2dHclhVTkF2cEdkYk12SnJEc05udHNtQzNPMEpRR1VFQkFSQ05Sc1A3N2tzMGZ3d2JzNUZOUC96T3VzOTZzV2wxSDNidStaTitnOWU2SitZUlIxUjhvZitjVGk1QXVmTGxPMlF4YkFaUURHU3FXNG5PMWpCSmxnWEpMbUczMndXYjNaWlpGYlZtVmtWVFVsSklURXdrTGphV3lKdVJlUHY0M3Rxdy9YMDlUZzFCNDFKSlRFb2pKZFZDZXBxVmpBd2JGb3VqV0pEcHJTRkpNcktzT0FzY1lrYlV2RGNFZ1JmZGwyamVTRTIxTUcvcGJzTEdkeUM0Y1NXQ0cxZGk4YXpPckZ4emtKaFlOL1hRb3dwRkFVblMzNUduZHViMEh3d012ZmNwN1ROblRoTTJiWXJHYWVqRXhvM2ZFTkxsTFVLNmRuSVI1SW1Pam1iZ0J3TjR1M3ZYbGkxYXRtcE1GaXB4UlZIVUlvS2lpQTdtSHhSSHE0Y2syYlYyRHlmRlVZYWo1U00xTlpYazVDU05Vand4TVFtN3JNKzEwQ0lDV0cxMk5RU05UU0VoS1kza0ZBdHBhUmJTblViTldUQ3dTOWp0a21DWFpDUVp4N0lweEk4L2FxMHo2SFh2UGVnTDVPbm1rd2tkOWhYQmJjSUlxakdjSnhxTzRmdXRKN1R0ZFp0TVpQallqVlN0UDRyaWxUL2k3UGxJTEJZYll5WnZwbnpORVhnVTdVTzlwaFBac2R0VktOZG1rK2dkK2lYZUpmdFR2UEpIZkRwdmUrWVBHSlBNSzUwWDRsZjJBN3hMOXVlRlYrZHc0VktVdHIxajEwWFViVElSZ0dPLy8wMTZ1bzNnUnBXMDdjODJWRVh2RDRaZmROL2hqeWdFQVZMU2hEczZ0bktWcW93YU0vYWVqbS8rdkxrc1c3cUVTeGN2YWlTdUFGZXZYbUhEK3ZVc1dMU1VaY3RYY3VMRU1ZMDhkZjY4T1RScjlqOVdmcjZLZDk5Ny8xVVBEN09ITXh6RlVTRVZCRUVIT0kyYnl0c21TVWlPVlV3Mm13MnJMWXV5ZkhvNnFTbXBKQ2FxSVdsMFZCUUppVkt1T1RZOXdJMGJDVVRISkJPZmtFcFNrbG9GVFhPMGRsaXNkcXlhcHliaHFJSTZ2RFUxRFAxNDhFdTlLS0NDKzczR2dtVy9zSFY5UDVvOVY0WE5QLzdPSzEwV2Nuam5VR3JYVUJjN3o1aS9rNVVMdW1FeTZxbFVvU2c5KzMzQmp6di9ZT0duYjFHcFFsR1dmcjZQRjE2ZHcvRzlJNmxXUmVYck9uRDRJdVhLQm5CMHp3aU9ucmhLajM2ZlU4akhUTSt1alFrZDlqVVdxNDN3bjRjQzBHL3dWNFM4OXhuN2YxSVptanEycTBOOGdscmV1aDZSZ05Hb0o4QS84OGxzTU9nSThQZmkybzBFOXgzdVJnN0V4c1l5Y2NJNFlxS2pFRVNSOTk3clE0T25HM0x0MmpVR2h2YkhaclBpNit2SGlwVmZaS1k3aG56RWpSdlhBVlYweWRQTGl6VnIxd0VxcmYrY1dUTklURXJFMzgrZndVT0hhVm9XQU91Ky9vb05HOVpyK3dQMGZLY1hScU9Sc0dsVFhNYjIrNGtUUEZXM0xwNmVudGp0ZHZ4OC9UaHgvRGoxNnRYbnhJbmpmUENCU3VqajYrdGJyMFNKNGkwdVhicTBHYkE1WGxvaFFWRVUyUkdTT2xZa1NPaDBkdXgyR3phYkhxdk4wYWlibms2YVNRMUpFeElTaUltTndXVEl2YWRObjU1dTFYcldFcE95VkVFMW8rYklxemx5YTQ0UTFPbXRDU2YyZlZ4SXB4TjdQU3dYd2xzZDY5SHNPWldBOHNWV05XamVwQ29MbC8vQ29wbXE5bVdiRmsveVdudVZhQ1F1UHBYUFZoOWcxWklldk5SYVZmMmVOcTRqaDM3OWl5bXpmbUxsQWxVNXZWalJRaXliMHhXVHlVQ2xDa1g1N2ZnVjVpemVSYyt1amJsOE5aYlNKZjBvV2R3UFQwOGp5K2QyNWRxTmVHMDhiM1NvcC8wL0xkMktoNGMrbHlTckhvdlY3cjZMM2NpQnI5YXVwa2FOR29SMGU1dExseTR4Zjk0Y0dqemRrRktsU3ZIMStnMmNQMytPaWVQSHVSd3phY28wQUJJVEUrajlUZzgrR1BnaG9NcjJUUncvbHZFVEoxTzhlSEYrK25FckMrYlBZL1NZek9OcjFxcVZnM2s0TDRIbHhNUkVQRHc4aUk2T1p0S0VjVWl5aEk4alQ1aVltSWpKdzRQdk4zM0hqaDNiOFBUMGZMVkh6M2YyTEZ1NnhPbzBiSTVWQ1pJajM2YklpaUlJYWtpcTJDVzdZTFByRkwwekpEV29JV2w2ZWpxcHFTbHFTQm9majBFdmtwNHVZemE3amxHOEVhbUdvUEdKbVQxckdlbVpCUU9iemRtemx0VmJBOW5oclZXdFhMd25VTzFodVJEcTFIU2xvYWxlcFRpbnp0elEvcTc0ZU9aQzh6Tm5JNUJsaFliMXlyc2MwL2pwQ3Z4eEpsTlhzMjd0SUV3bWcvWjMvYWZLOGVlNVNHUlpac2lBbG56LzQrOEVQajZRTnEvTjRic2ZUbEM5U3U3TXJHWVBBMWFybE9OOWk4V09sNmZSZlJlN2tRUDE2amRnNTQ3dHJQeHNCWmFNRE1LbXp5alFjYklzTTJiMEtOcTgySmI2OWRWZzZxKy9Mbkh0MnQ4TUh6cVk3aUZkV0wzNlM2SnV1dW9MVktwVW1WYzZkQ3p3K0U2Zi9vT1JJNGJ5VHU5M2FkclV0U2QvMG9SeFhMNzhGMkhUWjJJeW1hcDA2OTdqZVZ3S0NZNEtxWm9TRTFDOU5tUlpRckpMU0hhN1F5dEJyWkphTFJZeUxCbWtwNlZyaFlURXhFUnVSQ2JtOU5qVW5yVVVraHplV3JyVFc3TTRRbEJuejVva0M1SmQ5ZGFjemJobndzZjQ2WFJpejRmcFFwQ3phVnRtV096b2RKbkYzNndHSkx1Vnovb1pXWVYramRuY1hiMWVSSzhYRVVXUnRpL1U1UHFaS1h5LzlYZCszUGtIdzhkK3kveGx1em04WXhpZTJZeFZxUkorWkdUWVNFaE13N2V3cDVhL2k0MUxwV1J4WC9kZDdFWk93MWF2UG5QbkxTVDhTRGlmcjF5QjBXaGt6TGdKdHp4dTJkTEZlSGg0MExsTDF5eTVZaHZGaWhWekNWdi9DUW9YTGt4R1JnWmgwMmRTcUZBaFRwdzRUbUZmWDIzYk00MGEwNkpsSzgxYkxGNjgrS3U5ZXIyN2MvSGloZFlzNGFpZExMeHRMbDZiWFJKMGRydmlVaVcxV0VqUFNDYzFOWTNrNUdUME9vR29hSmxpUlF2aDVXbks5TmhpWXBOSlNFeFhlOWJTclZyQndLWlZRZVZNYjAxV3ZUVm5idTN4Y28rOURUeitNRjBJNFVjdnUveDk2TWdsYXRmSW5VMjFZdmtpNlBVaUI0OWNjbm4vUVBoRnFsVEt6RHVjdmVENlZEdCs4bStxVlZZSklZZU0yc0Q1aTFGMGVlTnBWaTNwd2Y2ZlB1TFU2UnNjUDVtVFE2cDJqZEtZelFiMkhqaXZ2YmZ2MEFWRVVlRHBiRjZqRzI0QVRKbzRudkFqNFRSdi9qekRoby9rMEtHRExnL2QzTEJ2MzE3MjdON044QkVmdXdnV1ZhaFFnYVNrSkg3WnMxdkx0MzIvNlR1WFk4K2ZQOGZHamQ4VWFHeFAxcWlCMVdyRlpESWhTUklIRCt5blppMVZ5N1JXcmRyYU9JLys5aHRCUWVVd21VemwrL1R0MTV4c1JZVHNYcHZzOU5yVVFrSm1sZFNtQ2k5Yk1qSklUMWR6YlNrcEtjVEVKaE41MDlWcjA4Y25xQ3NNVWgzZW1zVmlVOWRzT1VOUW04TmJrMXk5dGQvMkRQZlI2Y1MzSDdxY3hJWmZlYWIrNHp6ZnRDb3JWaDNnNU9ucnJGclNJOWQ5Zlh3ODZOZXJHWU5HcnNmYnkwU2xDa1ZaL3VWK0RvWmZZdXJXRDdYOS9qaHpnNFhMOS9EdTI4RWMvdlV2NWl6YXhkSTVYUnhHTDVJK0g2NWhYdGliQlBoN3NXTFZBYnk5VFpwaFhQdk5FZUlUMG5pdlJ6QmVYaVo2ZEdsTTM4RnI4Zkh4d0dqUTB6djBTN3AzZWdaL1B5LzNYZXhHRG5UdTNKV3dzQ21zWGIwS1daWVpPT2dqUkZGMEtSNGtKaWJ5V3NkWHFQUFVVd3dkTm9LNXMyZVNrWkZCbi9jeVU5OXo1eS9DeDhlSFNWT21NZlBUNlN4YXVBQlBUMDhHWmhOU1BuYjBLQnMycktkOSt3NjNIRnZac2tHMGI5K0JkM3YxUkVIaDJXZURxVmV2UGdEdjkrbkg1RWtUV1BmMVY1ak5ab1lNR3c2QW43OS9oL2F2ZE5pK2NjTTNOc0RxTUc1MlZHVXJsVzFYYmRwMTVOcFVyeTFybGRSaXRXcTliVG9SNGhNa29xS1RLVjdVVjR1U2hGbVRYK1ZHUkR4Uk1jbkV4NmVTbUt3dWVrOU5zMnBMcVRJc2ttQzFTdGp0aWlESmlxZ29pTmJvK2YxME9qSHNZYm9Jbm00K21TZXFsdURDWDlFY09uS0pHdFZMTVgxOFI1NTlSbTJwcU50a0lpKzNxY25Jajlwb3gxaXRka2FPLzQ0dnZqcEVRbUk2dFo0c3pmaVJiZmxmc01yOTlPSEk5Wnc1RjRHZnJ5Yy8vM0lXblU1a2FHZ3IrcnpUQkZEYlBRWU0vWXJ0dTg2UW5KSkJuWnBsbURhMkE0MmVWbVhRT25aZHhPV3JzZnk2ZTdnam4yWWpkTmpYclBubUNLSWcwTEZkSFdaUGVRTVBENFA3TG42RXNlZDQ1ZitrNmxwdWlJK1BuMWpqaWFyZkF5bEFLcEFtQ0lJRlZkM0s3bEMxa25VNm5XSXdHakVaVFlxSGh3a1BzeGxQc3lkZTNsNzQrQlRDdDdBdm9nZ05hMG1VRDNxTWFsVktVRDVJcFRVU3hvOTh5WFVabGNON1MwMnprcDVoSlNQREpsaXNFamFiSWtpU0xNZ3lZdWZYNitrL1c5RGpNUERrdzJiWVdqV3Z6dWloTHoyeU40aWlnQ0M0di92RE1tY0YvZXhIeWJBcGl2SkhvNFlOM3YvNzc2c3BEdU9XSmdoQ09tQkJsZXlUUkZHVVJWRlVEQWFEb2hKUGVpZ2VIaDZZUGMxNGVucmg3ZTFONFVLRkVRU0Zlay9LbENubFQ2VUt4YWo1UkdrOFBBem9VeHk1dFl3TUcxWkwxdFVGV1JhNVordGJXenFuVzVlSHphaGxoK0RiKzEvM2cwZWVtMGJSSXJlL3JFWlM5RnlPcWt4OGtoNUpGc2xJZnpSVnFqek1ablNpZ244aE8wRkZ6aUlLZWJmUXlBcGNpYWxNYklJSlNkYmRzemxUeHlRVFdOaEMyY2ZPM3RMSVhiOTI3Vkg0cWFvdldMajQyUmZidE5ycHlMWFpGRVd4Z1dBWEJMV1FJTXV5QUNnMm15M1RJT0pZNlNTckt4VThUQ2ExdVRsRklqRXBrOW9vcUV3Zyt0UTBpNE81STF0dVRaS1JKRm1RSk1XeHlrQjlvU0RxOWJvdUQvMVRJV0hSSTNFenA5djkrUDFDS2ZRR0Qzd0t1M1ZGVTFOVGlFOU9JaWFoS2pVZnY0cEpuNWlyVWZ2MTNCUG85T2I3TW1lcHFTbkVKaWNSRmY4RTlTcWR5dGU0bFN6MWFCRGpGQzlSb2czd2k4T3dXUUc5SUtESDBkZUdxbXdscU12UUJRVUVRUlFFUlJUVmJnUlJwOE5pdFNLZ2tKb21rWnljUVh4Q0dqRXh5WlFxNFllWW5tNVR2VFdyU3lNdWRydUVKTWxxSmRSQm5xU0FrSFp6Ym11ZzhjTTRXWWQyREgza3d0REl1Q0xvRFI3L0tWYUlmd0l2TDIrS0ZpdUJUdTlCUkZ6dWlsK1hvNnVoMDV2djI1eGxqc25NbFpqS3VBR2lLRGJjcy9kQUxUSkpLQTJLb3VoUUs2U3FOVk1VRkVWV0s2U3lNNHJNdXBaVWxTUklUN2VSa3BwQllsSWFzZkdwUkVZbElhWnJQR3RxejVyTkxtR1hIRWJOR1lKbU1uZ0lSb1B1VGZmUDh2QWdOdEgwbjJTRitLZnc5aWxFVEtJcDEyMXhpZm9ITW1mZVBvV0lTVEM1Znh3SFNwY3VuYjMxdzhuOG9YT3lmamhvalpBbHRmM0Q3bGdrYjdmWnNEcGFRTkl6cktTbVdVbE95U0FoSVkyWTJHVDBGa3NtZWFUV3M2Ym0xZ1MxYjAxeFdFNkVoQ3N6bnhRRTRkWGJDZ2tmNFdUMnZaNGZTZFloeVRxM3A1YUhsNVFZSDRzc2d5aTZ6dmVEbWpOMVRIRjM5SnNuSlNaeSthK0xwT2Fqb2V2bDVVMVF1Y2NwVkxqd1hSbnZ2VDZud1dCb3UvYXI5Vis5OFhySEMyUlNoK3NGUWJBN3dsRlpsZXhUQkVtU0ZVbVNCTWt1S1U2dnpXNnpBUW9XaTB4NnVwWFVWQXVKeWVuRXhhV2lWM05yV1pkTnlRNXZUVmFMQmdvNCtkYTh2RXl2RjJUQS96R0s0M3Y3RlBjRW5VNmlpRzlDdmxUSHVVRW5Tbzlzb2FBZ1NFOVBkekZxb0JxVUJ6bG42ZWxwZC9RZysrdlNCZExTVXZQZEp6VTFoY3QvWGFSR3JUcDNaYXozNDV5MTY5UitEcmlhSmRkbWRYaHRrcUtvdVRaRmtSVlZ4VXB5cFRheTJ4RlFzRmdsTWl3MjFXdEx6aUErTVExOUZ2MENOYTltenl3YXlBNVhFQVZoODFkOVBFUlJlTDBnUnUwL1JuRjh6NUdhbWtKRWdsKytWTWQzaXUzYmZtTEY4bVZFUmQya1JJa1NmUDdsR3M2ZlAwZVA3aUhhUGtPSGorU0ZGOXE0ZjRpSEdMY3lNRm12cFgvVE9UMDl2ZHEwZTduOSt1KyszV2pKekxWaEV3UkVVQnk1TmtGUUZCbEpraFZKbGdTN3VrZ2V1OTJHQUZpdE1oa1dHK25wVmxKU00waEtTa2VmblVEU25pVzNsblg1VlBPbTFWNEZTdDlxb0ZrcGp0MG9lSWppNWVYTnpVaVptL0YrRlBPUHZ5dWZlK1BHRGFaTW5zaVljUk9vVjY4K1NVbEpBRlNvVUpIdE8zY0Q4RTZQYnZmc2V5MWZ0cFIyTDdjbklDQWd4N2htelpqT3laTy9ZelFhYWY1OFM5NTd2NC9HS25IdDJqWG16SnJCeVZNbk1abE10R2pSa2w2OTM4dkJPbkUzY2F0elB0ZTRJUWFEQVVFUUNRb0tvbnVQbmpScTFOaDk4ZjV6bEJyNThhZ0czMzI3Y1JmYUVpdEZEMEttUG9KS0lhNWt6YldwaStRbFFNRnFrN0ZZN0dSWWJLU2xxN2syMFJtQ1NwS2MyZUloWjdaNDRHengwT2tLdE9UL3YwcHhmRi9DMG55b2p1OEVaLzg4UTJCZ0lJMGFOY1pvTkJJWUdPZ0l4d1JNSmhNbWs4bGxMZUhkeG1jcmxoRVhGNXZqL2RHalJsS3lWQ2syZnJlWnhVdVdjK2pnQVRadCtsYjErR1dab1lNL3BGTGxLbno3M1dibXpKblBudDI3MkxqaG0zczJ6b0tlYys3OGhYeS9aU3ZkZS9Ra2JPcGtObnl6L29GY0o0SWdVS2RPSFZxMGFFSHo1czBwVWVMMm5BaEprdGkvZngvRGhuekV0Yi8vdmk4cGdiRmpSdkhXRzYvUnZWc1h6cHcrclczNysrcFZ4bzhiMDR3czFWRWM2MGVkREx1U0pBbVNKQW1LSWd1U2F0d0VwN0N5SktrUnA5VnFkL0hhTk1QbTB0NGhPU20vMVJhUCtLc3puaEFFV3Q3cUMvd1RpbU0zVk04dEw2cmoyOEh4NDhkNHVXMGJwazJkVEdSa0pDKzNiY1BMYmR1dzhyTVZCZjZNUXdjUDBQbXROMmplTEpnZTNVUDQ0OVFwbCsxN2R1OGlwR3NuWG1qMVBOMjdkZUhRd1FQYXRuNTkzK2ZsdG1wbys4R0EvcnpjdGcxOTMzOVhNeUxCd1UzcEd0SU5rOGxFa2FKRnFWdXZIdWZPbmdVZ0xpNE9QMzkvT25YdWpORm9wRlRwMGpScS9DeC8vbm5tbnMzNzdaelRiRGJUcUZGamhnMGZ5WkxGQzEwWVplOFh5cFVyaDA2blk5dTJiZXpkdTVlYU5XdGlNQmh5TmRpNS9YOUEvNzc4c21jM1o4NmNScEtsMnpwMzQ4YU4wZXYxZVQ0Z2N2dDczZGRmNGVucHllcTFYek40OEZER2p4dUQ0cmpJWjg2WXpzdnRYMm0yWnUyNjBtVFRId1YwZ2lBSW9pZzYxNDRpYXpVQVNYczVxZFdzRmpzWkdUYlMwcXlJem9LQlhTc1lPTFVNdEtLQjRPM2wwYjVnVDVJN3B6aDJRMFZLcXZDUGMyeTFhdFhtMjAxYkdCQTZrSklsUy9IdHBpMTh1MmtMSWQyNkYrajRpeGN1OFBISTRielhweTlidG03ajFkZGVaK0FIL1RYdXJpdFhMak4rM0JpR0RCbk81aDkrNHFXWDJqRml4RERTMHRTay9KeTU4L2wyMHhZQVpzeWF6YmVidGpCMy9rSUFSRkdrVStjdStQcXFudWxmZjEzaXdQNzlOR2p3TkFDQmdZSE1tVHNmRHcremRuTWNQM2FNR2pWcTNyTTV2NU56MXF2ZkFLdk5waG5rKzRuQXdFQnUzTGpoY0NaVWlpMC9QMWRQLzhpUmNFWU1HNExOWmlNdUxvNTNlblFuTGs0VkcvNTB4aXlHRFI5NVJ3NUlRRUJBbmw3K2h3TkRPWDdzcUdiTUZzeWY1N2llem11L2I5VnExVEVhalZ5N3BucUs1OCtmbzBHRHA2bFZ1MWFEWEx3MkVSQVZCVUVRQkxYdFE4bGFSSEMwZ05pemVtMTIwak9zaUhaSjFzUlpuR0dvckdTeWVLQW9naWdLTC8rVEgyTFF3RkJlNjlpZWtDNXYwYlh6bTJ6Wi9MMlcxM2l0NHl1MGIvY2kzVVB1N1dLRzdpRmR1SGp4OW5RRnR2MzBJNjkxZklVWFdyZGc5cXk4Q2Y1MjdOak82RTlHL21lTTYrYk5td2h1MHBSR2pScGpNcGxvMWZvRnFsU3R5amFIa0VkQVFDRExWM3hPdGVyVkVVV1JsOXEydzJhMTh2ZmZWd3Q4amo5T25hSkY4NmFFZE9sRWxhcFZlUzY0U2E3N0xWd3dEN09uSnkrMHVYODZRUVU1cHlBSStQdjVrNUo2LzBWNGpFWWpraVFSRUJCQTQ4YU5rV1VaazhtMVA2NXUzWHI0QndRd1p2UW5EQm80Z1BhdmRNRGYzMTg3L2w2Z1Q5LytUSnd3bnJselpyUDFoeTEwNmFvV3FCNnZVSUZmOXV4QmxtVXVYYnJFelp1UnBDU3I4L2I0NHhYWXMzc1hYbDdlemJNWk5YMm1jY3ZzYVZOa1J6anExRWVRVk1kTVZaS1hzRmh0cEdmWUVMTVlOYTFnSUN1QW8yaVFHakczR1hlQklmZWpJY05ZK2NWcTVzeGJ3T2NyVjNEcDBpV04zbmhxMktjUDVRM2VvbVVydmw2L2dXN2QzdVpSUW1Sa0pNV0x1K1p0eXBRSklqSlNaUlgyOXZibXQ5OStwWGV2SG5SNjgzVzZkZTJjYXlpU0g2by84UVRiZHV6aXEzVWJpSWlJY0ZFNGN1THpsWjl4K1BBaEprNmNuR2Y0YzdkUjBITXFpa0pjZkJ6ZUR5anRVcTVjT2FwV3JjcisvZnUxb2xCMnc5dTc5M3NjL2UxWFRFYlRQM293bU0xbU9uYnNTTWVPSFRFWURMUnIxNDZPSFR2eTJHT1B1ZXozZUlVSzZqM3oxUnA2OVg2WFFvWFVYUHVycjcyQlRxK2plN2N1ZlBINVozaDdlMlAyVkwzalFSOE81dWVmZC9KMjk2NVZ1b2FFVkhFWXM2eDVOcDJpS0NwWG0zTTFnaXdqT1VOVFdkWTZPbFN2VGNKaXNhR1hzcXd5Y0RUa09zTlFBTUZrMHJlOW16OUk0Y0srUFBGa0RTNWVPRS81OG5tVEt5WW1KakI1NGdTaW9xS3cyMjEwNnR4VlkrTThjK1kwTTJkTUp6MHRqU0pGaXpGMDJBZ3RNYjU3MTgrc1h2MGxsb3dNcWoveEpCOE0vRkRMUCt6NmVTZGpSMzlNZW5vR2ZmdjExN3lFYjlhdlU1UFhpa0xUWnYralcvY2V0L3dlUjQ2RTgrbjBhWWlDU01sU0pmRTBlMnJiOGh0RDgyYkI5Qi93QVV1WExFSlI0UHN0V3g4NncxYTBhRkVpSXlKYzNydCsvUnExYTZ1OVNudC8yY09xTDc5Z3hzelpsQ3F0RnNxZmE5d3cxNXNydTdHelpHU3dkZXNQdEc3OUFpWVBENG9YTDA3ejVzK3piOTllbC8zV3IvdWE3ZHQrWXRhY2VYZXQ0ZlJXdUoxekhqa1NqdEZnb0ZMbCs3OUV5bXExWXJmYk9YcFVEZnQwT2gwV2k4VTFwWkdTd2tjZkRhUnpseERPbmYyVEtaTW5NblRZaURzcUZxV25wN04rdlZvb2FkZXVIVC84OEFOWkY2ZG5qWEIyNy9xWjhSTW1NVDFzR2hNbVRhWlNwY3FZeldhR0Roc0JRRkpTRW0rODFvRVNKVW9DVUtwMGFUNmRNY3R4Myt4cStQbktsWDlrTld5Q0lEakNVVVhJR25xcktUTUpSUkdRSkFXN1hmWGFiRFk3Rm90ZERVVlZiMDBXSEVVRFRhaEZVUlJSRUlTN0dnTkVSMFZ4NnVUdlZLbFNOZC85enAwN3gvK2FQOCt5RlN1Wk0zY0JzMmJPd09wWUd6YnE0eEdFaGc3azh5L1g4TXd6alZpeWFJR1dyMW0vZmgxejVzeG41UmVyQWZoaHkyYnRNMzE4ZkZqNXhXcEdqeG5IL1BsekFaVlliL1BtVFN4Y3RKUWx5ejdqdDk5K1k5ZlBPL01kbThWaVljSzRNWXdhUFpZdlY2K2xUT215MnJaYmpjRnV0eE1WRmNXNmI3NWwvVGNiSDVqeGNuWnZBeWl5ak4xdTE0eFFteGRmWXMrZVhZU0hIOFp1dC9Qenp6djU0OVJKV3JSVTYwZXhzYkVJQW9nNkhZbUpDYXhlOWFYamMxeXJIc1ZMbE9EUXdZUFliRGFpbzFSSlFxUEp4QmVmcjJUdDJ0WFliRFlTRXVMWnUvY1hhdFNva1JrS2Y3K0piemR1WU9ic3VWcjRkTS9EN3dLZTAyS3hjUGpRUVNaUG1rRHZkOS9IeSt2K0U0UkdSMGRyQnNwb05PTHI2MHRDZ3F2SzJjV0xGd2dPYnNwYm5Ub3o4cFBSR0kwbUxjZDJyM0R5NUVrK25UR0w1NEtiTU9MalQvanQxeU11MjVPU2twZzJkVEl2dnRRMlJ6ajg5OTlYV2JaMGNiTXNJYWhXUkhCNGJLSWdDQzdMckZRYU5kbFJJM0ROdGVuVlNxaXNlV3V5eW1FcEFFSjY1THpXUU1tNzhhV25oMDNGN0dIR2FETFNwMjkvU3BjcGsrLytOV3ZXWXZteUpXemI5aU02blI2TEpZUGs1R1FTNHVQeDl2YWhhclhxQUx6VXRoMU5telVENFBEaFExejcreXJ2OW41SGU3SjVlL3RrNWgwYzdKNVZxMVhURXVIaDRZZDQvdm1XbU0ycWEvemlpeThSSG42WXBzMytsK2ZZcmw2OXdtT1BGZEdNYzVWcTFkajN5NTRDalFHZ2EwaTNlNWJuS0FpeU4raE9tVHlSS1pNbjhueUxsbno4eVdncVZxekVxREhqV0RCL0xwRVJFWlFwVzVhcFlaOXFNbTJ0WDJqRHFWTW42ZEc5S3pxZG5uWXZ0NmRpeFVyRXhidmVPQU1IZmtqWXRLbXNXTDZVTW1YS3NIVDVTb3hHSTFPbWhqRjN6aXkrV3JzR2c4RkFjSk9taERqQ2ZVbVNtRFpWRFFQZmZOMjF3K2p6TDFkVHJGanh1ejRmQlQxbnZ6N3ZJd2dxYyt5Z0R3ZmZ0VDQyUlFGdno0S1h3aTlmdm95dnJ5L05temNINFBqeDQxaXQxaHozdzYyQXVRQUFJQUJKUkVGVVQ4MmFLazIzWHE5blVEYW0zRHZGZDk5OWwzY3VQY3M1YXRXcVRhMWF0YlcvRnk5YXdPNWR1L2hmOCtkekZMSDY5M3VmbE9RVVFycS9YV0wwMlBGUE5ubXUwYS9aOG13MlFiWGt6bkJVVVlzSU1vS2dlbXlTbzFiZ3pMWHBKYWZ5bEhQNWxKcGJBeENNUmwzcnUzWHhEUHB3c0VZYlhCQ3NYYk1LdTgzT2xLblRFUVJCYXg5d2hqaE9HQXdHL1B6VUo2ek5haU80U1ZOTmJpeS94Ry9XRUNtcmR5NElnbGFLemkrL2tsZXphRUhHSUdaZjUzT1AwTEpWYTFxMnl2a1RWcXhZaVYvMkhjejMyRWFOR3VkNTQ1cE1Ka1orUE1ybHZYZDY1ZVMvcTkvZ2FiNWV2eUhIK3hVcVZtVG03TG01ZnJaT3AyUFAzZ1AzMWRBWDVKeTNtcTkvQWtFQXZjNU9hbXBLZ1NxVmlxSnc3Tml4ZjN6ZVZXdSt1bTl6M0t2M2UvVHFuYnVtK3V3NTg3T21LdW9CeDdPRm83cHM0YWlneUxJaVNYWkVRVVNTQk1maWdreXZUWlNkWWFpakdxcVN1V2xoYUdzZUVLS2pZL0QyOFVZUUJJNGZQMFpTVWhLS29sQzZUQm1TazVNNWYvNGNBRC85dUZVVGNxMVh2ejQvNzl6SjlldXFXT3pPblRzNGVmTDNmTTlUdDI1OXRtL2JSbnA2T2phYmpSKzJiS2Erb3pTZEY4cVdEU0k2T2xvcnVVZmN5SlQzdTVNeC9KTW52VGxMYnMrTjdFbHZ6eHc5Z1E5NnpuSWJFMEFSM3dSU2svTVd6ZmIwTEZqSVc5RDk3dVpuM2Mxem1qdzhtbVR6MXB3OWJhTGo1U0RsVUFSSmtoQUV1eUE3bzg0c1hwdGVDME1WQlNWTEdKb1dNYmZwM1FwRDgwSitnaFN2dmZZNlk4ZU00b2N0VzZoY3BRb1ZLbFlrTVNHQndNQkF4b3diejZkaDA3QllMQVErRnNpUW9XcGlza3FWcXZUclA0Q2hnei9FWnJkUkxxZ2NnNGNPeTNjTVQ5V3RTOHRXclhtM2wxb3dlUGE1SmpSdDJreExoaTVkc3BpVTFCUmtTV0xmM3IxMDZSckNTMjNiTVhUNENFWU1HNEtmdno5NnZVNHJIdHpKR1A3SmsxNFU1UUkvNlI4bHBLWWtJNHB5anA1QWRjNmtCekpucVNuSjZFUXAxejdGWXY1eDNJajFKeXBTd2N2SEw4Zll5cFd2Y010RjZaNmVYcFFyWCtHdWpmZEJuQk1vc1gzSHJzclBOMjk2Z2l3MFJrNmpwaG8yQkZtV0hlNGJTTEtnZFhZNEs2UkNrVUF6RnF0ZHNGcGw3SklpeUtwWWk4NFdzMkNTS0FvZjNPNm9IaVh1OW51QmkrZi9KTGhXd1pzK0wwZFZKamE1a0h0dGJqYmNqTHhCUUtFa2doN0xPWmVYb3lzVG0zVC81eXkvTVRtOXlhajRRa1RHQjJDVGpLUStvc1F0NmVucFMxdTNicjBLVlE4aEdWWHdKZDBoK0dJVEJDUlJGR1NEWGxDTVJoR1RVYStZUFF5WXpRWTh6U2E4dkV6b25XR29rb1hKUTFFVVVSU0Y1dmM2Q2VwR1RuaDdLcmZGMTFVbThEeFI4ZFc1R1hrRGJ4ODNOWGhxU2pJcEtjblliUm1VQ1RpWGV5b2g4Q3hSY1UvZXR6bHpqa215cDFNMjhHeStIbmhSL3lTSytpYzk0cUk4U2tQZ3F5emhxTTdCOXFGV1J4RWNDK05CbGhWRlZwdDJGVWxTMUFxcFhVS2ZyU2tYQllTNHl6T3FjUWRpTGJlYkJIVWo1dzJnMTlsdjY0SVdSWm02bGM1d09ib3ljWWxXRXVMaXlNaDROQi8xWnJNbm9pZ1RVTmhHMmNmT0lRcEtudGRwdlVvbnVSSlRtWmdFeXoyZE03UFpFNTBvRWVCcm9XemcyUUwvdG84eU9hc2dDTlczcnU5YnZIWEh1WDlweGsxQmgrRElzWUVnS0tyTmttWFViZzVIWmRUNTBxdlUzOW5XaG5wN05MblRRUlh4VFNBaUljRnQyTzRBS1NtSmxQUzdmY29pVWJCVHZzZ2ZsQy9pbHQrN0hjTVI5TmhaZ2g1N09PVDMzSERGVTdXQ3FnRi9PdzJiQWpvaGF3RkJ6YlVwaXFOTlRYS3NSbkQwdHlFNnZEVUJiVzBvZ2s0VW43dlRBUlh6ajBPUkVvaTZlWTIwQjdDTzd0K0l0TlFVb2lLdWdwUklVYjkveHNYMmFEL3BINzQ1Y3h1MU80T3ZyMmN0MUtLQm5zd0NnaXIwb3RHcEtZS3NJRGk4TmtHV2xTd2VtNU9leU9HeERlclhUQ2NJQlArVEgvS3BTcGU0R2UvRHpmZ0FraE9OcEtTNmY2aTg0TzBGQnAyVlVvRnhGUEZOY2srSUcyNEFCcjJ1WWMzcXhRd24vb2pVWndsSFJRUkVCVVVBUVZBVXh4SXJ4Ykc0d0VHN0pza3lncGRaSjlqc2lpQ3AxVkF4K2Zyc3BwNW00NC91cVhYRERUY2VKSTZldU5MbnFlQ0pwOGhTSFJVRTBnR3JJQWcyUVVEV2FkVlJIUjRtdmVMaFljQnNOcUszUzFrV3ZpdUtjRE1xc2VIOTZveDN3dzAzM01qVGF6UG9LZ04vWmcxRkZRVlJFRkE3T0JDUVpRVzdCSUpOUmhEc2FzZ29nT0RoNFNIYTdYWkJVUlJSVVJTZDNXN2ZKQWpDOCs1cGRjTU5OeDRrN0hiN2JvUEJNREdMeDVZaUNFSXFZQkVFd1NvSWdpUUlncXpYNnhXajBhZzQ2TzRWczltTTZGd1hxU2lLOE9xcnIrb0VRV2pvbmxJMzNIRGpRVU92MTljdFc3WnMxc0tCVmtCd09HS3VWRVpaWG9MUmFCUWxTUklWUmRFbEppWTI5UGIyM3VXZVVqZmN1UDlRRklYSXlFaHUzb3hDa2lSU1VwSWYrVGs1ZGVwVTc3NTkrNTUxZW15T1Y3b2dDRmJBN3ZUYWREcWRvdGZyTVJnTWlzbGtRcCtWeWNMRHc2T3UrL0p5dzQwSFk5U09IVHVHZ3FDdGhuRHI4WUt2LzJQbGdRdGthZnR3a0U5cWpUU0NJQ0FJQXFLb1E2L1hvOWNiTWhlV0FvSk9wM3ZxMy9qbFEwTkRhZFdxVllIMlRVbEpRUkFFZHUvZWZjZm5xMVdyRnBNblQ3N1R2QUdob2FFVUtWS0V3b1VMMDd0M2IwMEV4WTFIRjVHUmtTZ0lGQzFXd3QzY25nVStQajZWczRXaG9wTjRNcXZ0VWhtSlpMV2ZUWkhWSEp0em5hZ2dDSFhjVTNsdk1XellNRFp0MnNTNmRldll0R2tUTzNmdXBGKy9mdTZKZWNRUkZSWHQxdVBOQlFhRDRRbHk1dGl5R1RVRmxXNU5RVkZrRkZuV2R1RDgrZk5GZ0VydXFieDNTRTFOWmQ2OGVZU0ZoUkVjSEV4d2NEQ0xGeTltNWNxVnhNVEV1Q2ZvRVlZa1NYZmtxWjA1L1FjRFEvdmY4L0dkT1hPYXNHbFQyTzVRS25OaTQ4WnZDT255RmlGZE83a0k4a1JIUnpQd2d3R0VkTzFFM3o3dmNmWHFGVzNiaVJQSDZmbDJON3FGZEdiMEp5UHoxV1lWQktIQ3lJOUhlZWRqM0FBRUhBc05uTTI2enFxb1VLSkVpU2YvS3hmSmQ5OTlSLzM2OVRHYnpYaDVlZEc4ZVhQT25YTmxldmpsbDErb1ZxMGFIaDRlTkd2V2pMLysra3ZiSnNzeVk4ZU9wWFRwMG5oN2U5T29VU1AyNzkrZjY3bWlvNk41NVpWWDhQUHp3OXZibXhkZWVJRUxGeTVvMndNREEvbndRNVZOOTlpeFk2U25weE1jbkxtdzQ5bG5ud1hnNE1HRDdydjdFVVp5OHAydE9xbGNwU3FqeG95OXAyT2JQMjh1eTVZdTRkTEZpeTVHNk9yVksyeFl2NTRGaTVheWJQbEtUcHc0eHBFajRZNWo1dENzMmY5WStma3F1blYvbXltVEptcXBtRWtUeGpIeWsxRjh0dkpMU3BVdW8ybG01SVZubndzdTRUQmtMb1NUanJCVVc0R2dLbGlwWHB2bTBoa01oditFWWZ2OTk5OTU1WlZYNk55NU0yZk9uR0hIamgzY3ZIbFRNeTVPekpvMWkwbVRKbkg4K0hHOHZiMXAxcXlacHJ3emNlSkVsaXhad3BJbFN6aDU4aVFkT25TZ2VmUG1uTTFGSERjME5CU0x4VUo0ZURqSGpoMURsbVZDUWpMMUJBWU5HcVJ4MDErL2ZoMmowVWhBUUVCV1Y1dUFnQUN1WGJ2bXZydmR5SUhZMkZnR0RRd2xwTXRiZEF2cHpPRkQ2Z1BRcWNuYm9YMWJRdnU3cGpLR0RmbEk5YUs2dkVXN2wxN2d6VGRlMWJaZHZIaVIwUDU5NmQ2dEM0TStHTURObTVFdXg2NzcraXVYL1FGNnZ0T0xzT2t6S1AvNDQ2NzMyb2tUUEZXM0xwNmVLc21xbjY4Zko0NGYxN3l5NTU1VEgrQ0ZDeGZtenovUFlMVmFpWXlJd01Oc0ppaW9IQUQrL3Y2Y09KNC96WG54WXNYS1pERnFqanhiMW5CVXlReEoxVHdiZWxCNzJIUTZYZlgvd29XZ0tBcWZmdm9wL2Z1cjdubFFVQkFoSVNFc1dMREFaYjlQUHZtRWR1M2FBYkJpeFFwS2xTckY1czJiZWVtbGw1ZzhlVExMbHkvWENoSURCdzVrMTY1ZHpKdzVNOGZuWEw1OG1kS2xTMU95WkVrOFBUMVp2bnk1aTVFYU5peVRQVGN0TFEwUEQ0OGNZemFaVERuazA5eHdBK0NydGF1cFVhTUdJZDNlNXRLbFM4eWZONGNHVHpmVU5IblBuei9IeFBIalhJNlpOR1Vhb0VwWTluNm5oNmEvWWJWYW1UaCtMT01uVHFaNDhlTDg5T05XRnN5ZngrZ3htY2ZYckZVcmg1NUhYc0pEaVltSmVIaDRFQjBkemFRSjQ1QmtDUjlIbmpBeE1SR1Rod2ZmYi9xT0hUdTJZVFFhU1VsSklTa3BDWlBKaE5WcVplNmNXZHk0Y1NPSHdsWjJlSGw3bDh0aTFCd0dUaEVkRkFPT1hqYWN0UUpGVVJSQjcyeHlFd1RoUDJIWWF0YXNTVUJBQU5PblQrZk1tVE9jUFh1V1gzLzlsYUpGWFl2bmpSdG5DcFVFQkFSUXZueDUvdmpqRDU1ODhrbFNVMVBwMXEwYmI3K2RLWlJzdFZwZGpuRml5SkFodlBubW13UUdCdEswYVZOZWZQRkZ1bmJ0bXV2WXpHWnpEalVoVUNYZEhvU01teHNQUCtyVmI4Q2NXVE1BZ2ZyMUd4QTJmVWFCanBObG1UR2pSOUhteGJiVXI5OEFVS1VocjEzN20rRkRCNnY3S0RKZTJmUUtLbFdxVEtWS0JkZEtQWDM2RDQ2TkdFcm9CNE00KytlZlhNeVNocGswWVJ3QmdZR0VUWi9KcXgxZWRqR0lBejhZd0lzdnZrU0hqcTh5WXRqUWZNOWhNQmdxWk11dDVjeXhvYUNBVmtEUVoyNmc2bi9oUWpoNDhDRE5taldqU1pNbU5HM2FsTmRlZTQzdzhIQ1dMbDJhNzFOSXI5ZGpOQm8xcmMwMWE5WlF2YnFycmMvTjIycmJ0aTNYcjEvbisrKy81OGNmZjJUNDhPSE1ueitmdzRjUGF5NjZFNlZLbFNJakk0T0VoQVI4ZlgwQnNObHN4TWJHVXJKa1NmZGQ3RVpPdzFhdlBuUG5MU1Q4U0RpZnIxeUIwV2hrekxnSnR6eHUyZExGZUhoNDBMbEw1a1BXWnJOUnJGZ3hWcXo4NHE2TXJYRGh3bVJrWkJBMmZTYUZDaFhpeEluakZIWmMxNFVMRithWlJvMDFrWE5WaHRLYlFvVUtrWlNZeUlTSlUzajg4Y2M1ZS9aUDdWN0lDNElnVk02U1c4dWFaOHRlUUZDY0JRUVJFS0tpb2lvQnB2L0NoYkJnd1FMcTE2L1AxcTFiR1R4NE1DMWF0T0RHalJzNUpQV3k1c3VTazVPNWVQRWkxYXRYcDN6NThwaE1KaTVjdUVDRkNoVzAxNkpGaTlpeVpVdXVIdHY1OCtmcDBxVUxxMWF0WXYvKy9adzZkWXJqamx4RFZ0U3VYUnV6MmN6ZXZabXE1L3YyN1VNVVJaNSsrbW4zWGV4R0RreWFPSjd3SStFMGIvNDh3NGFQNU5DaGd5N1NrYmxoMzc2OTdObTltK0VqUG5hUnFxeFFvUUpKU1VuOHNtZTNsbS83ZnBPclR1ajU4K2ZZdVBHYkFvM3R5Um8xc0ZxdG1Fd21KRW5pNElIOTFLeWxhcG5XcWxWYkcrZlIzMzRqS0tnY1JxT1JZc1dMVTlqWEY1UERzZGkzZDY5MlRENHdMVjY2UERBWGc2YjFzQUZaUERaSGpzM2IyN3ZDZitWQzhQZjNaK2ZPblp3OGVaS1NKVXV5YnQwNmxpMWJocCtmbjh0KzQ4ZVBwM0hqeHZqNitoSWFHa3JGaWhWcDNibzFvaWd5Y09CQXhvNGRTN0ZpeFdqWXNDSHIxNjlueG93WmJOKytQY2Y1enA0OVM1OCtmWmczYng0QkFRR3NXTEVDYjI5dnFsUlJCVzBtVFpwRTdkcTFhZFdxRlY1ZVh2VG8wWU8rZmZ2aTQrT0QwV2lrZCsvZWRPL2UvYjRwbnJ2eDcwTG56bDBKQzV2QzJ0V3JrR1daZ1lNK1FoVEZmQlhlNXM2ZVNVWkdCbjNlNjZWOXp0ejVpL0R4OFdIU2xHbk0vSFE2aXhZdXdOUFRrNEhaaEpTUEhUM0toZzNyYWQrK3d5M0hWclpzRU8zYmQrRGRYajFSVUhqMjJXQk5PL2o5UHYyWVBHa0M2NzcrQ3JQWnpKQmh3N1hJYVBpSWp4azNialEycTQzU3BVc3plT2p3VzU2clFvV0tqd0hYYy9mWUhEb2hHcmVrZ2lDS29vZkZZaG1nMStzbi8xdC8vTkRRVVA3ODgwOSsvUEZIWW1OajZkbXpKenQzN3NSZ01QRFVVMC94eGh0djBMTm5UNjVldllxdnJ5OCtQajVNblRxVmxTdFg4dmZmZjlPb1VTTVdMbHhJR1ljNnZjMW1ZOHlZTVh6MjJXZkV4TVJRdVhKbFB2bmtFenAwNk9CNEd0WGlqVGZlWU9qUW9VUkhSek5nd0FDMmI5OU9jbkl5ZGVyVVlkcTBhVFJxMUFoUTJ6MjZkZXRHV0ZpWWxrOExEUTFselpvMWlLSkl4NDRkbVQxN2RxNWhyaHVQRHZiczJlTldkOHNIY2JHeFlUVnJWTitPdW1iVStVb1RCQ0VEVlNsZUVrVlJYVE5xTUNpQ0lBaG11OTArVXhURlh1N3BjOE1OdDJGN0dKR1JucjY2WW9WeVgyUXpiS2xaREp0ZEVFUlpweE1WdmNHZzZCM0p1YUIvNnhlZU4yOGVmZnYyL1UvOGVKR1JrVG1xdHdXQkxNdGN2bktWdUxnNEpFa2lJLzNSWEh2cVlUYWowK253OXdzZ0tLZ00rUkdtS29yaW1MTlk3UFo3TjJjZVpqTjZ2WjRBL3dDQ2dzcmVjdi9yN243R1hDRkpVbkVjVGJsWlg0cWlwaEhWN2c0WldRYkpMaUVJZ3VBcHkvSlJvTEo3K3Y1OXNGaXNuRGh4QXAxZTc5WVZCVkpUVTBoSlRrS1M3TlNxV1F1ajBaQ3JVZnYxMTk4UWRicjdveXZxR0pNc1M5U3JXOWZ0c2QwQkZFVTVYNlpVOFEvSUpKMTBFazg2cWNMdGpuQlUwZXYxaXJPNlVOWTlkZjlPUkVSR29OUHIzYXdRRG5oNWVWTzBXQWwwT2owM0ltN2t1czlmbDY4ZzZuVDNiYzZjWXhKRkhWZXVYSFZmdEhjQVFSQktaL1BZc3YvZnBWbFhQSC8rZkZIQW5ibitseUkySnRiTkNwRUx2SDBLRVJNVG0rdTJ1TGk0QnpKbjNqNkZpSWwxa3gzY2FWVC95ZWd4M3VUWjh1SFViUUZRMEFjRUJCUjN6OW0vMVQyL2MxYUlSOEZ6UzB5SXkzWGJnNW96THk5dkV1UGo3dWpZcE1SRUx2OTFrZFI4dEhxOXZMd0pLdmM0aFFvWGZtRHpmaS9IV2JWS3RVSkFUQzdlbXZPT3dObjZvVGVaVEVYdi9nM25wamd1S0h4OENxSFRpUlFwVW9UaXhXL3ZHU01Ja0o3dUpxbk1DK2w1RUhnK3lPTEtuZjVlZjEyNlFGcGEvZ0s5cWFrcFhQN3JJalZxUFRoYXhYczV6c2VLRkNtVTNWdHpGQThFMTNCVVVmUTZuZTZ1R2pZM3hmSHRJelUxaFJzUmtkeUlpT0NwT25mM290eSs3U2RXTEY5R1ZOUk5TcFFvd2VkZnJ1SDgrWFAwNko3SlFESjArRWhlZUtHTis0ZDRpSEVyWTVIMVd2cXZqck5Rb1VLRnNoZ3daM091NEZnTW56V1NFZlNpS0Q1Mk43OVlWb3BqTndvZW9uaDVlUk4xTTRMSXlFaUtGU3QyVno3M3hvMGJUSms4a1RIakpsQ3ZYbjJTa2xUT3J3b1ZLcko5NTI0QTN1blI3WjU5citYTGx0THU1Zll1TkUzT2NjMmFNWjJUSjMvSGFEVFMvUG1XdlBkK0g0MVY0dHExYTh5Wk5ZT1RwMDVpTXBsbzBhSWx2WHEvbDROMTRtN2lWdWQ4cm5GRERBWURnaUFTRkJSRTl4NDlhZFNvc2Z2aXZZOHdtejBLdVJxMUhDL0gwa2tGVVJURmdMdDVjamZGOFQ4d2NONCszTHg1ODY1OTN0ay96eEFZR0VpalJvMHhHbzBFQmdZNlFsZ0Jod2FqeTFyQ3U0M1BWaXdqTGk1bkFuLzBxSkdVTEZXS2pkOXRadkdTNVJ3NmVJQk5tNzRGMUo2OG9ZTS9wRkxsS256NzNXYm16Sm5QbnQyNzJMamhtM3Myem9LZWMrNzhoWHkvWlN2ZGUvUWtiT3BrTm55ei9vRmNKNElnVUtkT0hWcTBhRUh6NXMwcFVlTDJuSWlEQi9ZVDByVVRyNy82Q2pNK0RkUFdkTnBzTnNLbVRTR2t5MXQwRCtuQ3ZuMlphNXJ6WThTOWQ1Rk1LcHUrKzVhaGcxWGFKWVBCbU4xakUzRVVEckpHakZhckZWRVFoTHU2U05HZHpQNW5ucHRka3Y3eDV4dy9mb3lYMjdaaDJ0VEpSRVpHOG5MYk5yemN0ZzByUDF0UjRNODRkUEFBbmQ5NmcrYk5ndW5SUFlRL1RwMXkyYjVuOXk1Q3VuYmloVmJQMDcxYkZ3NGRQS0J0NjlmM2ZWNXVxNGEySHd6b3o4dHQyOUQzL1hjMUl4SWMzSlN1SWQwd21Vd1VLVnFVdXZYcWNjNUJTaEFYRjRlZnZ6K2RPbmZHYURSU3FuUnBHalYrbGovL1BIUFA1djEyem1rMm0yblVxREhEaG85a3llS0YrZEphM3l1VUsxY09uVTdIdG0zYjJMdDNMelZyMXNSZ01PUnFzTFAvUHlNam5hbFRKakZ4MGxSV3IxMUhURXdNMjM3NkVZQ3RQMndoSXlPRGxWK3NadnFNV2N5ZSthbm01ZWZGaUZzUVBQSEVFOXBETmI4eFp2MDdKaWFHZDNwMDU4S0Y4OXJ2b05mckMrWGhxV2t2V1piUjYvV0lnTi9kblBRN3BUaDJRMFZLOGo4dnROU3FWWnR2TjIxaFFPaEFTcFlzeGJlYnR2RHRwaTJFZE90ZW9PTXZYcmpBeHlPSDgxNmZ2bXpadW8xWFgzdWRnUi8wSjhyaFRWNjVjcG54NDhZd1pNaHdOdi93RXkrOTFJNFJJNFpwYWx0ejVzN24yMDBxRThxTVdiUDVkdE1XNXM1ZkNJQW9pblRxM0FWZlgvV3krK3V2U3h6WXY1OEdEVlIyazhEQVFPYk1uWStIaDFtNzBJOGZPMGFOR2pYdjJaemZ5VG5yMVcrQTFXYlREUEw5UkdCZ0lEZHUzTkE4RkZtV2M1QThIRGtTem9oaFE3RFpiTVRGeGZGT2orN0V4Y1VSRVJHQnI2OGZKVXVXUktmVDBhcFZhdzRmUGdTb3JMZlBQdnVjNDNjU01CaU1uRHQzVnR1V0d5TnVBWE5qZVpKVkxsdTZXS01HUDNueWR3YjBWMWNSK2ZyNjhzV3FOWVIweStSRTFPbDB1WVdpdUlhaHFrY3JBdmM4Ymh3ME1KVFhPcllucE10YmRPMzhKbHMyZjYvbE5WN3IrQXJ0MjcxSTk1QXU5M1FNM1VPNmNQSGl4ZHM2WnR0UFAvSmF4MWQ0b1hVTFpzL0ttK0J2eDQ3dGpQNWs1SC9HdUc3ZXZJbmdKazFwMUtneEpwT0pWcTFmb0VyVnFteHpDSGtFQkFTeWZNWG5WS3RlSFZFVWVhbHRPMnhXSzMvL1hmRG0wejlPbmFKRjg2YUVkT2xFbGFwVmVTNjRTYTc3TFZ3d0Q3T25KeSswZWZHK2ZmK0NuRk1RQlB6OS9FbDVBTWw2bzlHSUpFa0VCQVRRdUhGalpGbkdaSEpsSGF0YnR4NytBUUdNR2YwSmd3WU9vUDBySGZEMzk2ZFlzZUxFeGNWeTZkSWw3SFk3NGVIaHBLU28zOEhKaUh2cTFFbUdEUDRRbzhsSVltS2l0czNKaUR0M3ppeU5FZmVmNHMyM09yTnIxOC9NbVQyVGNXTkcwN2RmZjZkM2xpT25LZ2lDZHo2NU5SY2pweGNFNGI0a3hENGFNb3g2OWVxVG1KaEFyNTV2VTdXYXluMldGNzN4dzRBV0xWdlJvbVVydnY1cUxaR1JFWStNMXhnWkdVbUZDaFZkM2l0VEpraWJBMjl2YjNaczM4YjQ4V05JU1U3Sk02eklEOVdmZUlKdE8zWVJFUkhCSngrUFlQbXlwZlI4eDVXSDRmT1ZuM0g0OENIbXpKbVBYcSsvTDkrOW9PZFVGSVc0K0RpOEgxRGF4Um1PN3QrL24xcTU4SmtKZ2tEdjN1L3h4dXNkS1ZPbXJHYWt6V1l6dzRhUFpQS2s4WTdmdFN5ZVpyTjIzUGZmYnlJOVBaMUprNmN4ZSthbkxwK1pGeU51WG1qVnFoWGUzdXI4T1BPQXAwK2Y1dlRwMDlvKzN0N2V2UHZ1KzN3UTJvODMzK3BFNWNwNUx5c1RSZEU3bnpCVU0ybzJtdzA5Y0Y4NXFRc1g5dVdKSjJ0dzhjSjV5cGN2bitkK2lZa0pUSjQ0Z2Fpb0tPeDJHNTA2ZDlYWU9NK2NPYzNNR2ROSlQwdWpTTkZpREIwMlFvdmhkKy82bWRXcnY4U1NrVUgxSjU3a2c0RWZhdm1IWFQvdlpPem9qMGxQejZCdnYvNmFsL0ROK25WcThscFJhTnJzZjNUcjN1T1czK1BJa1hBK25UNE5VUkFwV2Fva251Wk10dHo4eHRDOFdURDlCM3pBMGlXTFVCVDRmc3ZXaDg2d0ZTMWFsTWdJVjBOKy9mbzFhdGRXVzFIMi9yS0hWVjkrd1l5WnN5bFZ1alNnVmcxenU3bXlHenRMUmdaYnQvNUE2OVl2WVBMd29Iang0alJ2L3J4TG9ocGcvYnF2MmI3dEoyYk5tWGZmR2s1djU1eEhqb1JqTkJpb1ZQbitMN0cyV3EzWTdYYU9IajNxRE5GeWFHYWtwS1R3MFVjRDZkd2xoSE5uLzJUSzVJa01IVFlDUVJCNHV1RXpQTjN3R1VmdWJLNUdTMSs0Y0dITVpqTmp4MDFBRkVVc0ZndUZIZk9RRnlOdWZ2anhSelYzOTh3enozRDU4bVV0ZkhaSmUxeTh5T1JKRXhnN2JnSXJsaStsVE5rZzJ1VHRLWHRsTTJKWmpKcVFOV1JGQkR6djU0OFNIUlhGcVpPL1U2Vksva3prNTg2ZDQzL05uMmZaaXBYTW1idUFXVE5uWUxWYXNWcXRqUHA0QktHaEEvbjh5elU4ODB3amxpeGFvT1ZyMXE5Zng1dzU4MW41eFdvQWZ0aXlXZnRNSHg4ZlZuNnhtdEZqeGpGLy9seEFKZGJidkhrVEN4Y3RaY215ei9qdHQ5L1k5ZlBPZk1kbXNWaVlNRzRNbzBhUDVjdlZheWxUT25PcDdhM0dZTGZiaVlxS1l0MDMzN0wrbTQwUHpIalo3WGFOQmwyUlpleDJ1MmFFMnJ6NEVudjI3Q0k4L0RCMnU1MmZmOTdKSDZkTzBxSmxTMEJWVGhJRUVIVTZFaE1UdEJ5SklydXlGQmN2VVlKREJ3OWlzOW1Jam9wU3d5aVRpUzgrWDhuYXRhdXgyV3drSk1TemQrOHYxS2hSSXpNVS9uNFQzMjdjd016WmMrOGJBV2RCejJteFdEaDg2Q0NUSjAyZzk3dnZQeEN0aXVqb2FLMmFiVFFhOGZYMXpTR0ljdkhpQllLRG0vSldwODZNL0dRMFJxT0p1RGpYVlErSER4MWt4NDV0V2c5anJWcTFzZHZ0aUtKSVFrSThGeTllcEZMRlN0cTIzQmh4L3lsKysvVUlRNGVOb0VuVFpudzZjdzZuL3ppVmcrMDZ5NFBTbk0yb1pYMkd1cFQzOVlENWZ2d1kwOE9tWXZZd1l6UVo2ZE8zUDZVZHBJNTVvV2JOV2l4ZnRvUnQyMzVFcDlOanNXU1FuSnhNUW53ODN0NCtWSzJtNmhHODFMWWRUWnMxVTMrb3c0ZTQ5dmRWM3UzOVRwYW5pazltM3NIQjdsbTFXalV0RVI0ZWZvam5uMitKMmVHT3YvamlTNFNISDZacHMvL2xPYmFyVjYvdzJHTkZOT05jcFZvMTl2MnlwMEJqQU9nYTB1MnVYQlIzaXV3TnVsTW1UMlRLNUlrODM2SWxIMzh5bW9vVkt6RnF6RGdXeko5TFpFUUVaY3FXWldyWXB4UXRxdmJYdFg2aERhZE9uYVJIOTY3b2RIcmF2ZHllaWhVckVaZHR1ZERBZ1I4U05tMnEraVF1VTRhbHkxZGlOQnFaTWpXTXVYTm04ZFhhTlJnTUJvS2JOTldTeEpJa01XM3FaUFI2UFcrKzN0RTFUUHh5TmNXSzNmMFZnQVU5Wjc4Kzd5TUlLblBzb0E4SDM5VStOaDhmbndMdmUvbnlaWHg5ZlRWWngrUEhqK2RJNU5lc1dZdWFOV3RwK2FwQldaaHk0K1BqNk5XekI2VkxsMmJpcENrOFZxU0k5cnVlTzNkT3kzZjNHeENxZWE1NU1lSVdCQWNPSE1oejIydXZ2Nkg5UHlBZ2dJOEc1eXZzNHBGUEdPcXdjQ0tTSktFSDdzc2ROdWpEd1JwdGNFR3dkczBxN0RZN1U2Wk9SeEFFclgzQWFaNmRNQmdNK1BtcFQxaWIxVVp3azZhYTNGaCtpZCtzSVZMV1ZpNUJFUEo4WW1UTnIrVFZMRnFRTWVUSEUzWTMwYkpWYTFxMmFwM2ovWW9WSy9ITHZ2d0ZtaHMxYXB6bmpXc3ltUmo1OFNpWDk5N3AxVHZIZnZVYlBNM1g2emZrZUw5Q3hZck1uRDAzMTgvVzZYVHMyWHZndmhyNmdwenpWdk4xTjhhUW1wcFNvRllwNStxZU80V2Zuei9yY29rV3NodkFyQWdNREN5d1F0YmRSRUJBZ0ZaaHo4VldDZG50Z1NDQVRxZTJlenc0MXlGZmR6c0dieDl2QkVIZytQRmpKQ1Vsb1NnS3BjdVVJVGs1bWZQblZXWDNuMzdjU3RpMEtRRFVxMStmbjNmdTVQcjE2d0RzM0xtRGt5ZC96L2M4ZGV2V1ovdTJiYVNucDJPejJmaGh5MmJxTjhoZldLVnMyU0NpbzZPMW5FRkVsdHpCbll6aG44QnM5c1NOMjV1YkJ6bG5lWjI3U0pFaXBPV3pwdHJUczJBaGIwSDN1MWU0eCtNMDV1S3BDVW8ycjgwWml1b2UxQ1RrSjBqeDJtdXZNM2JNS0g3WXNvWEtWYXBRb1dKRkVoTVNDQXdNWk15NDhYd2FOZzJMeFVMZ1k0RU1HVHBDRFFtclZLVmYvd0VNSGZ3aE5ydU5ja0hsR0R4MFdMNWplS3B1WFZxMmFzMjd2ZFNDd2JQUE5hRnBVelcwM2ZiVGp5eGRzcGlVMUJSa1NXTGYzcjEwNlJyQ1MyM2JNWFQ0Q0VZTUc0S2Z2ejk2dlU0ckh0ekpHTzdYay81UlFtcEtjcDVldGZpQTVpdzFKUmxkSHBYVzRzV0xFeEVSUWZUTkNEeTlmWEtNclZ6NUNyZGNZTzdwNlVXNThnOVdsK2tlajFPWG04ZVdXOTVOVUc0VmQ5MG1qaDQ5U3BGaWJvM01PMFZVNUhYcTNNWkMrTXVYcnhBYkYrZGVtNXNOTnlOdkVCZ1lRTmxjY3JtWHIxd2hOdmIrejluTnlCc0VCQVFRVkRidi9ISlVWQlNSa1pIWTdYYVNrOTJzT05uUnBFbVQ5a0FhS29OdUVwbWlMaFkwN1FOQnZ1dk5RVzRQNHA4OTBXKzNYNnRzMlRKRVIwY2pudHFQQUFBZ0FFbEVRVlJ4TS9LR214cmNNWWNwS2NsSWRudXVSZzBncUd4Wm9xTHUzNXc1eHlSTFVyNUd6Um1TRm5Fazg5M0lGZG5EVHNHWll4TUVRVjExSUlxQ29DaUtoTHBFNGE0Z0lpS0N5TWliUEZiVXpWOTUrOTdhRFVxVUtIN2I3QjZLb3ZEWDVTdkV4Y1VpMldVeU1oNU5qamF6MlJOUnB5TXdJSkN5WlV2ZmNvSC9sU3RYaVk2SlFiSkw5MnpPekdaUGRIcjlMVDAxTndvRVdSQ0Vqa0JxRm84dFJSQ0VWTUFpQ0lKTkVBUzdLSXFLb0NpS0ZURGM3WEJVRUhWNGVYbmo2ZmJjYm9rMGg5Z0hLTGNWaHJyaHhpTUdteUFJcjJjeGJNbEFzaUFJYVVCR1ZzT21CKzY2WWF0VHB3NDNiOTdrWmxRVXlVbUpiZ2JkZk9EdDQ0TkJyNmRVcVpMdUVNUU5OL0tIdGFBN09nM2JYYThSRnkxYTlJNDBNdDF3d3cwM0NtallsR3ovYWhDQmRQZDh1ZUdHRy84Q1pCVFlZN3R5NVlwYkRjUU5OOXg0NktFb1Nub3UzcG1pT0JSZG5KMXJpcUlvK3JKbHk2YTZwOHdOTjl4NDJDSExjbXFXMEZNemNObmJQUVJCUUZRVXhVMTU2NFliYnZ3YlBMYnN6SlpLdHY5cmYrdFJlMEhjY01PTkIzL2p1dlY0ODRIZGJrL0pZc0NVTEtHb2tqVVVsV1VadmFJb0NmZFNxY2dOTjl3b21GRno2L0htRDR2RmtweWJ4K1pxdnpKRDBiaEhiWUpLbFNwRnRXclZjaFdqOFBiMjVyUFBQcnVYVHgxQ1EwTXBVcVFJaFFzWHBuZnYzcG9JaWh1UExyTHE4YnFYSStaNTd5Umw4OWdVY21uMUFOV3d4VDZLazNUbXpCa21UWnAwMzg4N2JOZ3dObTNheExwMTY5aTBhUk03ZCs2a1g3OSs3cXYyRVlkYmovZldzRnF0U1ZrOHRWenlhNExLclNpQUtFbFN6S000U2VYS2xXUGl4SW1jT1hQbXZwMHpOVFdWZWZQbUVSWVdSbkJ3TU1IQndTeGV2SmlWSzFjU0V4UGp2bklmWWR5cEh1K1owMzh3TUxUL2ZYQUVUaE0yYlFyYkhVcGxUbXpjK0EwaFhkNGlwR3NubGk5YnFyMmZuOER5aVJQSDZmbDJON3FGZEdiMEp5TUxyTTJhbnA2V2pHdFRicmJxcU5OZkE5Rm1zOTE4RkMrazNyMTdVNzE2ZGQ1NTU1MThHWFBYcjEvUGswOCtpZGxzcG5yMTZpeGR1dFJsKzg4Ly8weWRPblV3bTgzVXExZVBzTEF3RjNIWXdNQkFQdnhRWmRNOWR1d1k2ZW5wQkFjSGE5dWZmZlpaQUE0ZVBPaSt1eDloM0trZWIrVXFWUmsxWnV3OUhkdjhlWE5adG5RSmx5NWVkREZDVjY5ZVljUDY5U3hZdEpSbHkxZHk0c1F4amh3SmR4eVR1OEN5M1c1bjBvUnhqUHhrRkordC9KSlNwY3RvbWhtM1FsSmlVbDZoYUk0VkNQcU1qSXlvVzZuTi9CZWgwK2xZc21RSkRSbzBZTkdpUmJ6NzdyczU5dG03ZHkrZE9uVmk5dXpadEdyVmlxTkhqOUs3ZDI5ME9oM2R1M2ZuNHNXTHRHblRocjU5KzdKbXpScCsrZVVYK3Zmdjd5THdNV2pRSUdyWHJnM0E5ZXZYTVJxTkJBUUVhTnNOQmdNQkFRRmN1M2JOZlhlN2tRT3hzYkZNbkRDT21PZ29CRkhrdmZmNjBPRHBoaTRrcmI2K2ZxeFkrVVZtdW1QSVI5eTRvVEk0SnlRazRPbmx4WnExNndCVkZXck9yQmtrSmlYaTcrZlA0S0hETkMwTGdIVmZmOFdHRGV1MS9RRjZ2dE1MbzlHb01WVTc4ZnVKRXp4VnR5NmVucDdZN1hiOGZQMDRjZnc0OWVyVjU4U0o0M3p3d1NEQVZXQTU2dVpOUE14bWdvTEtBZUR2NzgvUE8zY1VhQzV1UnQxTUxvQlJVd0QwRVJFUkVYbkp6Ly9YOGRSVFR4RWFHc3FRSVVObzI3YXRwbjNveElRSkUralJvd2U5ZTZ0OC9tWExsdVhTcFV0TW5UcVY3dDI3czNEaFFxcFVxY0swYWRQVXAyZmx5cHc4ZVpMVnExZTc1TlNjU0V0THc4UERJOGM0VENaVER2azBOOXdBK0dydGFtclVxRUZJdDdlNWRPa1M4K2ZOb2NIVERTbFZxbFNlbXJ5VHBxalhZMkppQXIzZjZhSHBiMWl0VmlhT0g4djRpWk1wWHJ3NFAvMjRsUVh6NXpGNlRPYnhOV3ZWeXNFOG5KZndrRk5nT1RvNm1ra1R4aUhKRWo2T1BHRldnZVVkTzdacEFzdEpTVW1ZVENhc1ZpdHo1OHppeG8wYk9SUzI4ZzY3VHp2YlBlUzhQRFZuTUNyV3JGa3ppdHRZZy9WZnc5aXhZd2tJQ0tCdjM3NDV0cDA2ZFlwbHk1Ymg3ZTJ0dlVhT0hNbUZDeGVRSkluang0OVR2NzZyUUUyalJvM3lQSmZaYk02MUVtdXhXQjZJakpzYkR6L3ExVy9BemgzYldmblpDaXdaR1FVV1ZKRmxtVEdqUjlIbXhiYlVyOThBVUtVaHIxMzdtK0ZEQjlNOXBBdXJWMytwcWJVNVVhbFNaVjdwMExIQTR6dDkrZzlHamhqS083M2ZwV2xUVjJXM1NSUEdjZm55WDRSTm4rbWlWSitZbU1qQUR3WlFyVnAxK3ZVZlVOQlRaVXdZUHpZdG4xQlVNM1NDb0Rib0Fsd0ZLajJLRjQ2bnB5Y0xGeTZrWmN1V2JOem9xdHhqdDlzWk5HZ1FiNy85ZG83alJGRkVyOWZuRUFUT0wxOVhxbFFwTWpJeVNFaEl3TmZYRjFCVnEyTmpZeWxaMGsybjdrWXVocTFlZmViT1cwajRrWEErWDdrQ285SEltSEVUYm5uY3NxV0w4ZkR3b0hPWHJ0cDdOcHVOWXNXS3VZU3Qvd1NGQ3hjbUl5T0RzT2t6S1ZTb0VDZE9IS2V3NDdyT1MyQzVVS0ZDSkNVbU1tSGlGQjUvL0hIT252MVR1eGZ5ZzZJb2YyY3pZSElXenkzbi9ha2VvMXg1bEMrZUZpMWEwTGx6Wi9yMjdhdUpDQU5VcTFhTmt5ZFBVcUZDQmUxMTRNQUJaczJhaFNBSVBQbmtreHc1Y3NUbHM3TC9uUlcxYTlmR2JEYXpkMittNnZtK2Zmc1FSWkdubjM3YWZSZTdrUU9USm80bi9FZzR6WnMvejdEaEl6bDA2R0NPaDJsMjdOdTNsejI3ZHpOOHhNY3V6YXNWS2xRZ0tTbUpYL2JzMXZKdDMyLzZ6dVhZOCtmUHNYSGpOd1VhMjVNMWFtQzFXakdaVEVpU3hNRUQrNmxaUzlVeXpVdGd1Vmp4NGhUMjljWGtDRy8zN2QyckhaTWZKRW02bnMybzVlR3RxZjBlZWtDUlpmbHlYb28randwbXpKaEIxYXBWWFhKZFE0WU1vVldyVm93ZVBacE9uVHB4K3ZScCt2ZnZ6OENCQXdIbzI3Y3ZzMmZQWnVqUW9iejk5dHNjT25TSUJRc1d1SVNWa3laTm9uYnQyclJxMVFvdkx5OTY5T2hCMzc1OThmSHh3V2cwMHJ0M2I3cDM3MzdmRk0vZCtIZWhjK2V1aElWTlllM3FWY2l5ek1CQkh5R0tZcjRLYjNObnp5UWpJNE0rNy9YU1BtZnUvRVg0K1Bnd2FjbzBabjQ2blVVTEYrRHA2Y25BYkRxaXg0NGVaY09HOWJSdjMrR1dZeXRiTm9qMjdUdndicStlS0NnOCsyeXdwaDJjbDhDeVhxOW4rSWlQR1RkdU5EYXJqZEtsU3pONDZLM0ZsMjAyVzBRdUhwdWlxdSs1ZW0yQ2dDSUlndUNka1pIUnoyZzBUbnhVTHBaU3BVb1JHaHFxdFdFNDhjVVhYOUMxYTFkV3JGaEJ0MjdkQUZpMWFoVVRKMDdrd29VTEZDdFdqSjQ5ZXpKeTVFanRTZmpUVHo4eGNPQkFMbHk0UU8zYXRXblFvQUhyMTYvWGRFVURBd1BwMXEwYllXRmhXajR0TkRTVU5XdldJSW9pSFR0MlpQYnMyYmtXRmR4NGRMQm56eDRlcjFqRlBSRjVJQ1ltNXRQYU5aLzRCVmRhOEJRbkxUZ3FiYmdraXFLczArbFZ3NWFVbE5URzI5dDdyWHY2Ymc4blQ1NGtMUzJOQmcwYWFPK05IajJhSDM3NGdmRHc4UHMyRGxtV3VYemxLbkZ4Y1VpU1JFYjZvN2xFeThOc1JxZlQ0ZThYUUZCUUdVUlJ6QzluNDVpeldPejJlemRuSG1ZemVyMmVBUDhBZ29MS3VnM2JIZUxzbjM4T2EvNi9KcWZKS2VTU0RqaWs5MFJKRkVWWnI5Y3Bla0NKajQrLytDajBza21TZE52eWR2bmRHQmN1WEtCTGx5NnNXcldLV3JWcWNmTGtTZWJObThmdzRjUEpqUGNManNqSXlOdW1VN2RZckp3NGNRS2RYbzlQb2NKdStiM1VGT0lUNG9uNUxacGFOV3RoTkJweS9lMSsvZlUzUkowT2I1OTdQMmVwcVNuRXhzVVJIUk5OdmJwMTg5MzN1cnVmTVZjY09uZ2dsc3lDZ1ZZNGNEQjdPRUpSQlFVRldaWVJCRUh3Qkl6L1orKzc0NXVvLy8rZmQ1ZGNkdmVtcFlXMkRGR2dTQUUvRkJGL2JCemdGMFVGUkN4WWtDRWdJaFFVRkdRclFnc2lVNUNsSUdKWkFySmt5aXBZaG15UTBxYnBidE9SY1hlL1AyNDBTZE5Tb0dYbTlYaEVhZFpkM25mM3ZOZDhQbG1XMVFOUXVKYnc3bXpxMUtsWXZIZ3gwdExTRUJ3Y2pMaTRPSXdlUGJwU2I2RTY3V0dKL3o3cXhvc1RleUVzdEx5WGRPMzZEZVRtNWo0VXdXUWZiMitFT3BIaGMzbHNsZCsvUTJvRjlBRXZZMkIwQ0VWTEFKZ0ZvV1NHSkVsT0pwTnhKTXFTY1JkYzYzZjNGaDhmait2WHI4TmtNdUhxMWFzWU0yYk1Bd00xQU1qT3luWU5UenN4cmM0TldWbk8rUjF5Y25JZXlwcHBkVzdJeW5iTkJOOURxdVVpN0ZzOGJGczk3SXNISW9PdTZKMnpMSHZldFlTUGwzSGN2UTlQUCttbTBXakJza3lGS1ltSHNXWWFqUmFNbFhFZG5MczBpOFZ5RmVYNzF4ejcySGgyRHdIY1pBUkJjQnpIY1ZhcjlYeEZveE11ZXpTTklJQ1NFaGVYVzBWV1VnSFAzY01zcnR6cjhTckl6OGVONjFkUlZHU3NGRGpENm9URHpkMzlvZjIrbXRoUG83SHdwaE5BSytleEVVU1o3b0ZNZktHa3BPU2NDOWdxODQ1NDJtYUR3UUFydzhCWVdEMjB6VnF0RGpLNURINit2Z2dNREt6Mi9kNjFjd2VXTDFzS2d5RURRVUZCV0xscUxTNWZ2b1RZL3Yyazk0eU5uNEN1WGJ1NUR2SWpiTmV2WFVGeGNlWDBQa1ZGUnR5NGZoV05telo3b3Ziejl1MjAydzZBeGdCZ2hhSkJ1WWNJYkFEQVhicDA2VngwZExUckRLb0ExSktUa3dHQ2hFYXI0Mm1iQTZydis0dUtqRWpYWnlBOVBSM05tbFhmU1ptV2xvWVowNmZpeThsZkl6cTZCUW9LZUdxY2lJaEk3TnE5RHdBd01QYjlHbHUzWlV1WDRQWHVQZXpZVE1UOW1qdm5HNlNrL0FPYXB0RytReWNNL21pSU5IeWRtcHFLaExsemtISTJCUXFGQWgwN2RzS0hjWU5SazAza2Q5cm1pekV2UUM2WGd5QkloSVdGb1gvc0FMUnVIZlBBenNFN2dZWHR1ZlF3clNiMmMvKyt2UmtDYURFaXFObDdiYnlYQmx1VktoSGxXclpzbVFYZ3Nndkd5cHRlcndjSUVuNytnVFdTbTlGb3RQRHpEd1JBSUQwOXZkcSs5K0svRitEajQ0UFdyV05BMDdURUUwY1FCQlFLQlJRS0JXcFM3K0xINVV1UmsxTStnVDlwNGdUVUNnN0diNzl2d2FMRnkzRDB5R0VrSlcwQ3dQZmtqUjB6R3ZYcU44Q20zN2NnSVdFQjl1L2JpOTgyL2xwaisxblZiU1l1V0lqTlc3ZWpmK3dBeko0NUhSdC8zZUM2T0dyZXFiZ3ljOGEwa3NyQ1VJSVFRbEhZaDZJUTNzQ3lMSHVLSk1sSTEzTGFtOEdRQ1kxV1YrUGIwZWpjWURBWTdqc2tQWDA2R1pPK21BQ3oyWXppNG1KMGY0MFBNM3U4MFJQOTN1OWZwZTg0ZXVRd0VoUG1RYTlQUjJob0dFWjk4aWthUGZ1czdWMFV5NVl0UWFiQkFQK0FBTVRGRFVhckYvNEhBQmcyOUNQY0VoaFRSMzQ4SERJWmhlRGdFQ1F1V0FpV1pkRzJiVHQwZStVVktCUUsrUG43bzNsME5DNWR2QWlBcjFoNmVubWhkNTgrb0drYXdTRWhhQjNUQnYvK1czTkYrN3ZacGtxbFF1dldNWkRIVDhERUx5YWdVK2N1angwekM4TXdPSHIwQ0xZay9ZNGhRNGNqT0NRRUFEOGtQL2U3YjVIeXp4bVFKSVhZZ1I4aUpvWW5RczNNek1TMHFWT1FuWjBGbmM0Tll6NGJpOXExUXl2ZERrRVFpSXFLZ28rUEQxaVd4Zm56NTVHV2xsYmwvVnp4NDNMOHNYM2JPV2RoS0FDVzR6aTJMTDlHY0NBSXZrRzlvRUFxSGdBQVo3RllraFVLUlM4WGxObWJsYkUra0NxYVJxT0ZzU0R2dnIrbmFkTW9iRXJhaWgxL2JNZktGVDlpOWRxZjcrcnpWNjljd2VjVDRqSHBxeWxvM2p3YWUvZnN4cWlSdy9IVHFyWHc4L2ZIelpzM01HWHlsNWc3Yno0YU5HeUlUYjl0eFBqeDQ3QjV5M2FvMVdva0pDNlF3cmM1YytjaE1yS01PSVlrU2ZUdTA3Y3NKM1A5R2c0Zk9vU1BodkMwVVQ0K1B0TG5SVy9xZEhJeVh1L2VvOGJXL1Y2MkdkMmlKY3dXQ3k1ZHZJaW9aczBleWZPV1pWbXA5Y2oyM3g4UEg0cGF0V3Jod29YellHd3F4OXUzYlVWcGFTbFcvTFFHT1RrNUdQUmhMQm8zYmdJM056ZUpFZmVWVjEvRGlSUEhNV1BhVk16Ly9vZEt0MStuVGgxUUZJV2RPM2RDb1ZEZzVaZGZSbVptSml3V2k5Tjl0UDA3SmVVZjdOKzNGN05tZjN2bGhWYlJqbUdvYlk0TklvQVJBamhydFZxKzNVTk13aFVVRkp4eXdWaDVxNjVDUVpXMlpUUSs5Tis3WlVzUzJyN1VEcTFieDBDaFVLQnpsNjVvMExBaGRncDg5OTdlUGxpMmZDV2VhZFFJSkVuaTFkZGVoOFZzeHExYi8xVjVHK2ZPbmtYSDl1M1FyMjl2TkdqWUVDKzJmY25wK3haK1B4OHF0UnBkdTczeXdINS9WYlpKRUFTOFBMMWdMREkra3VmczhlUEhNSDdjWjdCWUxNakp5Y0hBMlA3SXllRUY2YjZkTXhmajRpZVV1MW1mT1hNYWJkcThLTnlBQ01qbE5DNWR1aWk5OXVLTFBLVzlMU1B1blc0WW9vZkdjZnhFZ0tlbnA5MTdsaTVaSkZHRHA2VDhnNCtIOHplNEs1Y3ZvV2xVRkc3eHJyK3R0OFk0Q1VmQmNad0VjSEk1YmRlZ3k3MzExbHVud0hmMnVxd1NPM1BtTkRwMWVCbDVlYm1TaDlPdjc3dFBWRTR4TU5DK0s3OTI3VERvOVh6K1Q2dlY0dVRKRTRqN01CYTkzK21GOTkvckk5MXRxMnFObm4wV08vL2NpNS9YYjBSNmVycWRFSWhvSzFmOGlMLy9Qb3FwVTZkWDJ5amNuYXlxMitRNERqbTVPZEErb2oyRXpadEh3OHZiRzE5TytnS2ZqUG9ZUGQ3NFA0bEI1azZNdUdmUHB1Q3pNYU5CSzJqazUrZExyNG1NdUlrSmN5VkczTXFNcG1rd0RBTnZiMi9FeE1TQVpWazd3a2tBZU9mZFB0aTdkdzhTNW4ySHlWOU93dEJodkRCTjNmQUluRHh4M0RoMHlFY1pEaUdvSGJBSllGWk8xSVVVa3NjY0FIYi8vdjBzeDNGSFhkQjFaeXNwS2NHYTFhdWZ5Ti9tNys4UHZVTVI0L2J0VklrYi84QmYrN0Y2MVUvNC9QTkpXTDMyNXdwRFhZSWd5b0dkcWJRVW0zN2JDRk1wVDlvY0dCaUk5dTA3NE15WjAzYnYyN0QrRit6YXVRTnp2a3Q0WUgxWmQ3UE40OGVQZ1piTFVhOSsvWWR5ZkRwMjdDZzlIRm1jeGJXUGl4dU1VeWRQUUVFcnF1enhidDZjaE9YTGxtTGE5RmtJZGNpaFZjU0llNmR3dEdIRGhqaDA2SkJVbGJjMXJWYUxRWU0rd3ZwZmZrYTdsMTlHL2ZyOFdGbVRKazNSdmtPbmt3WkRSbVdneHBiTmlZckJLSy96UU1LZU41eTFXcTB1WUt2aUFkdTdaN2ZrM3R2YXZyMTc4T0hBRDlDdjc3dVlPV09hbEZOSVMwdkRvQThIb1BjN3ZUQnI1blFwcWY5UThvWldxMFNxeWJFc3JGYXJCRUxkWG5rVisvZnZ4YkZqZjhOcXRXTFBudDA0ZHpZRkhUdDFBc0FMakJBRVFGSVU4dlB6cEZDQ1krM0pUQU9EZ25EMHlCRllMQlprR2d6OFhWeWh3RThyVjJEZHVqV3dXQ3pJeTh2RmdRTi9vWEhqeG1XaDhPWWtiUHB0STc2YmwvakFlT3FxdWsyVHlZUy9qeDdCOUdsZkkyN1FSdytsY0pDUmtZR2RPM2RLRDJkTU1rYWpFWjkrT2dwOSt2WkRRRUFBWmt5ZldpbTdzeGhpZW5oNFlOYnNiK0hsNVFXVHlRUjNBZUJGUnR4aHcwZEFMcGRMakxpVm1kbHNoc2xrd3NHREIyRXltVUJSVkRsdGo2dFhyMkw2dEsveDFlU3ZjZlRJWVd6ZHVrVjY3ZFZYWHp2ckpBeGxiSE5zb21OR0VJU1VxM056ZDRkTUtJOXlvbHRYV0ZoNHpFVjZlR2RUcXpYbzJLa0xWcTlhaVM1ZHlnRHErdlZyMkxCaFBSSVNGa0NoVkdMbWpHbll0blVMWHUvZUEzUG5mSVAySFRxaTU1dHY0ZGpmUjNIbzRJR0hzdStPRGJvenBrL0ZqT2xUMGFGakozeit4U1JFUnRiRHhDOG40L3NGaWRDbnA2TjJhQ2htenY1Vzh0aTZkTzJHczJkVEVOdi9QVkNVREs5Mzc0SEl5SHJJeWJVSCtWR2pSbVAyckpsWXZtd0phdGV1alNYTFZvQ21hY3lZT1J1SkNYUHg4N3Exa012bGFQdFNPL1I3bjZkZlp4Z0dzMmJ5WWVBN3ZleTU5MWV1V29PQWdPcHZZcTdxTm9jTitRZ0V3Uk1zZmpKNnpBUHRZN3RidTNyMUN0cTJiWWQzZS9lQjFXckYzTy9tSUNjbnAxeFBvYTAxYlJxRmMrZk9naVJKNU9YbDR1clZxNmduRkg0cVlzU3R6REl6TSszQ1h3OFBqM0xDTFNkUEhNZlljZVB4ZlBQbWVLNXhFeXhidWhoZHUzWURRUkM0ZHYzYXRZcEFEUTVUQnlSSlFTYWpZRFlERkVtVlRSNklIdHRISDMxMGROMjZkZmtBM0Yzd1ZibTk4WDg5MGE5dmI0azFGQUQrL3Zzb1VtLzloMEZ4QTZXN2xsWm9GVWxKK1FjVEJVV2c4SWlhNzZycDFMa0xPblh1VXU3NXlNaDYrT3RnNVRxbXJWdkhWSGpoS2hRS1RQaDhvdDF6QXorTUsvZStGaTFiNFpjTkc4czlIeEVaaWUvbUpUcjlib3Fpc1AvQTRRZDZIS3V5elR1dDEvMmFUbGU5N1VSTm1qUkZreVk4NWJaTUpzTW5Ea3k1enF4TDEyNjRkT2tTK3ZmanE5YkRQaDRoaGVRVk1lSldaamR1M0lDSGh3ZmF0MjhQQURoOStuUzVnc05idmQ2Vy91M3Q3WTFQeDR5VlVuNXhBMk5UbllJYVFiRGdPSllUakNSSmppUUpqaUJJYUxWYUxqYzNoL2ZZYkhPaXYvenlpM1hObWpVSFNKSjh4UVZkRlJ0QkVGQ3BWSGlqWjArc1dsVW1qbUV4VzlEMnBYYVM1Smxqd3JrbUcySmQ5dmdhUlZFb0tqSSswT0Y4eDl4b1pRRG80K05UWllVczIvTTlPVG41bnZiTllySDhyZGZyYmNOUXF3aHVCQTl1bkRSbFFKSWdDQklrU1lCV0tPRHU3c0VYRHh4bXJsaUx4WExRZGFyZEdkZ0FvRWYzTjNBNzlaYjBmSFNMRnRpemU3ZEVEYjU3OTU5SVNmbEhjdWUzYjl2S2g0TkNHZjErVGFWU3V3N0dYYTdOdzF5emlyYnQ1K2VIWW1OaHBhbVBxcVpJSG5hS3BqcmVsNXViKzA4bFlhaERLQ3FNVXBFa1NJSUVTWkpTVlJSQ0lvNEZ3R1ZrWkxpQXJZcW1VQ3JScDI5WnZxcEJnNFlZTnZ4ampCMHpHbS8zNm9rL2QrNUFjSEF3QUdENGlGSFl1ZU1QOUg2bkY3WnQyd3F5R21ZZnhUdTl5K3l0eUZoWTRXd3ArWkRXck1oWUNLcUNGcExBd0VCd0hJdk1qSFNuKzFhbmJzUWR3VUN0MXFCTzNZaUh1dTdWdForblRwNjQ2Z1RVeEVlWm1BdEI4SVVza2lnRE5aSUVvVktwQ0t2VlNyQXNTM0ljUjNFY0p3ZWdZRmwySDRCblhaY0ljUExVS2ZnSDNML3U1NFVMNTFHclZqRGMzTnl3Wjg5dWJOKzJGYk5tZjJ2M25nejliVHgvRjUzc04yN2NSSGFPaTBIWDBUTDBhZkR4OFVabzdmSnN0UStMZFpobjlmVkdtQk1HWGRFTUJnUDBlajJzVmlzS0gyQmorS05rSE1lZGI5ZXUzU1R3SWkyMjRpMUZBSW9KZ2hBMERnaUdJQWlXSkVtT29palFOTTNSTkEyRlFnRVpINTlLZVI4cEhMVmFyWHRrTXBrTDJBRElxaW4vVVZwU2lqR2pSL0hLNzFvdFBoczdydHdkWFM2WDM5VjNob2JXUm1hbUFSbjZOR2gxYmk3TkEyTWhqTVpDTUZhclUxQURnTERRVUJnTUQyN054SDFpR2FaU1VCTkRVajgvdjZmNkdCWVdGdjROSjdrMUFJd1lWWXF0SGhSRlFTNlhnNlpwS0pWS0tKVktxRlFxRUZxdGxyQllMQVRETUFUTHNoVEhjUlFBT2lzcjYyVXZMNitOTGxnRDB0UFRrYTdQRUJnNGFzNE1HZWtJRFBDLzZ5RjRqdU53L2NaTjVPUmtnN0d5S0MxOU9za25WU28xU0lxQ2o3Y1BRa05EN2xpb3VYbnpQMlJtWllHeE1qVzJaaXFWR3BSTWRrZFB6V1ZsZHVMRWlVK2pvNk92QWloR21jYUJrU0NJSXNHTE13djZCZ3hGVVp4Y0x1Y1VDZ1dVU2lXblZDcWhWcXRCdUxtNUVXYXpXUVEyMjNCVXliSnNNb0JhcnFVR1RwMUtCa0VRMEdoMVVGZnpIYjY0eUFoallRRUFybHI1MkZ6bXNzY3dERTBqU1hLa1RSaHFDMndsQUVvSmdyRFJFS1U0bXFZbFlGT3BWRkNyMVh3b1NwSWt4ekNNYlNqS0FXQVlodGxCVWRRSHJ1VUdtaldMUW5wNk9neUdUQlFXNUZYYnNMcE9wNE5NSmtOUVVDQUNBZ0pjQysyeXA5cEtTa3IrZ24wMTFDNFVkY0Fvb1llTnh6Q1NKRUZSRkNpS0tzdXhpVzBmd2xBcEM0QXRMQ3o4MDhQRHd3VnNnZ1VHQnRZSWZiZkxYT1l5M3E1Y3VYTEdBZFNzQUt3RVFkaTFlaEFPZld3aW9Jbi9Kc1h5cURoblpkUFR4bnA1ZWYwSjRMWnJ1VjNtTXBjOWlEQzBTWk1tMXdYd3NqbzhHRnRRQXdCYjdMSUZONHFpSUdOWmx1TTRyb3h0MHNaakE4QmV1M1p0TzBWUkExekw3aktYdWF5R3c5QjlqcDZhQTZpSnpMbWNHRjBLUEc4Y3d6QmdHQVpXcXhVV2l3VXloVUloa3JSSjAvOEMyTEVBR0hkMzkrM2UzdDR1WUhPWnkxeFdvM2I4K1BIa1NzSlFpZEZEOU5Ca01obmtjam1Fd2dIRXdvRldxd1ZwRzV2YWNMTko0YWl2cis5QnVGVGlYZVl5bDlWc0dIcXhSWXNXL3ptQW1nVVZNSG80NXRha0VGUW00eDgyRlFXQ0pFbU9aVmxDaUdGRnNRVEdiRFp2cG1tNm9XdjVYZWF5R3IyNG9kZnJrWkZoQU1Nd01CcWZuc21Ed3NMQ2ZiQnZ5cFVlSE1lSmpia2l3U1JZbHVVc0ZndHNkQS9BY1p3VWpzcHNQVGJCYStPSU1vVVhGZ0NUbHBhMkxTd3NiSXpyMUhPWnkyb08xSktUazhHQmtLWWgvSitpMzc5enh4OW5uSGhyVnZEVEJuYkVraVJKY3BSTUJscE9RNkdnb1ZBcW9WS3FvRktyb0ZGcm9OUHB5a0pSVzNCekRFZnIxcTE3bm1YWm5VL2FZaVltSmtLcFZEN1FiVnF0Vm93WU1RSitmbjV3ZDNkSFhGd2Npb3VMWFZmMlUyNTZ2UjRjQ1BnSEJEMTFZM0ZXcTNWdjdBZnZaOXNBbThYQmF5c2Zob29ENzdaaEtDV0RUQzZIWEM0SEtaUEpSRkRqYkR3MnpvYnRnd1hBRkJjWEo3bE92L3UzY2VQR0lTa3BDZXZYcjBkU1VoSjI3OTZOWWNPR3VSYm1LVGVESVJOYW5kdFQrZHZUMDlNT09RbEJMYWk0ZjAxb3hpVTVpaFNBVGNibjErUXlHZVEwWFJhS09oWVJDSUt3YS8xSVNFallQRzdjdU04QWhMaE93M3V6b3FJaXpKOC9INnRXclVMYnRyeVUyYUpGaTlDeFkwZk1tREZEVW1wMzJkTm5ETVBjazZkMjRmdzVMRjcwQTc3OWJsNk43dCtGQytleGRjdG1OR25TRkIwNmRwS2UvKzIzWDdGcDQ2OEFRYUJ0MjNiNElKWnZvS2hNWVBuTW1kTkltUHNkckl3VllhRmhxZGV1WDcvZzRLMUpZYWlJUDQ0TnVTUkZnaVFkdkRXaFNrclRkSm5IWmh1S2l1R29qZGZHakI4L3ZzUmlzZno2dEoxd2E5ZXVSWk1tVGFCU3FWQzNibDNNbTJkL0F1M1pzd2ZObWpXRFNxVkNkSFEwWnMrZWJRZFFQWHYyUlBQbXpRRUF5Y25KS0NrcGtVQU5BTnEwNFpXMmp4dzU0cnE2bjJJckxDeTRwOC9WYjlBUUU3Lzhxa2IzYmNIOFJDeGRzaGpYcmw1RlVWR1I5UHgvLzkzRXhnMGI4UDBQUzdCMDJRcWNPWk9NNDhlUENaL2hCWlpYckZ5TjkvdC9nQm5UcGtxcG1HbGZUOGFFTHliaXh4V3I0T1BydDJQdm50MFdaOTRhUU5oWFJFVndJMGxRdHVOVEFxako1SExJUmRvaXNUd3F2SW1qS0lwZ0dJWWpTUklNdzBoNU5nRFdXN2R1YmFwYnQrNklwK1ZrKyttbm54QWJHNHR2dnZrR25UdDN4bDkvL1lYaHc0ZERyVlpqd0lBQnVIcjFLcnAxNjRhaFE0ZGk3ZHExMHV1MnlrVTllL1pFYmk2dlAzcjc5bTNRTkcwbnFDR1h5K0h0N1kzVTFGVFgxZTJ5Y3BhZG5ZMnBYMDlHVnFZQkJFbGk4T0FoYU5ucUJhU21wbUxVaU9Hd1dNenc4UERFOGhWbDlQVGpQdnNVYVduOHdGQmVYaDdVR2czV3Jsc1BnRmVGU3BnN0Iva0YrZkR5OU1LWXNlTWtrUjRBV1AvTHo5aTRjWVAwZmdBWU1QQkQwRFNOMmJObTJPM2JQMmZPNFBubXphRldxMkcxV3VIcDRZa3pwMDhqT3JvRnpwdzVqWkVqUHdGZ0w3QnN5TWlBVXFWQ1dGZ2QwYk03VllHM1ppVUlNYjlHY0FEQkVRQkhrQ1JIa1NSSWt1S2tTRk1NUXdWdlRhRlFsZ0diVGE3Tk5oeTFteDJOaUlpNFlMVmFONUlrK2NiVGNGSjk4ODAzK09DREQ2UWNXR1JrSkc3Y3VJSEpreWRqd0lBQldMaHdJUm8wYUlCWnMyYnhkOC82OVpHU2tvSTFhOVpJMy9IMjIyVmlGY1hGeFU2TEZRcUZvcHdzbWN0Y0JnQS9yMXVEeG8wYm85LzdIK0RhdFd0WU1EOEJMVnU5Z09EZ1lQeXlZU011WDc2RXFWTW0yMzFtMmd6K2ZNelB6MFBjd0ZoSmY4TnNObVBxbEs4d1plcDBCQVlHWXNjZjIvSDlndm1ZOVBqTzdyUUFBQ0FBU1VSQlZHWFo1NXMwYlZxT2VmaE9Bc3VabVptWTl2VmtNQ3dEblpBbnRCVlkvdlBQblpMQWNrRkJBUlFLQmN4bU0rWis5KzJXWlVzWFp6bDRhcmJnSm9TaDRQaUhXRFN3U1ovSnlydzFXbWpXVmFtVUlPVnlPUnk4TmpnT3hndTlJZ3dBSmk4djc2a0pSOCtmUDQ4WFhuakI3cm1ZbUJqODk5OS9NQnFOT0gzNmREbXgydGF0VzFmNGZTcVZxcHhLRDhCclZUNE1mVXFYUGZvVzNhSWxkdis1Q3l0K1hBNVRhV21WQlZWWWxzV1hreWFpMnl1dm9VV0xsZ0I0YWNqVTFGdUlIenNHL2Z2MXhabzFxMkRJeUxEN1hMMTY5ZkhHLy9XOGkydmtIQ2FNSDR1QmNZUFFydDMvc3dmWUNnU1c4L1B6TVdya3gvQnc5empreEZ1ekxScEliQjYydVRXS3NnbERaUlJrTXJtTnQ2YUFTcVdHVEFRMnNXdFhERWNwaXVJRUhVSGIyVkhHeDhkbkQ4TXdod2lDYVAya24xUXFsY3JwQ1NQK1h5YVRsVk02cjB5VU5qZzRHS1dscGNqTHk0T0hod2NBd0dLeElEczdHN1ZxdVdqdlhPWUUyS0piSUhIK1FodzdmZ3dyVnl3SFRkUDRjdkxYZC96YzBpV0xvRlFxMGFmdmU5SnpGb3NGQVFFQmRtSHIvWmk3dXp0S1Mwc3grNXZ2NE9ibWhqTm5Uc05kT0s5RmdlV09uVHBMM3FKV3E0V2JteHNLOHZNeGVjcTBveSsvMU9aNkpkNmEyTHZHbG5WcENHRW9qMUdTUXlhWHlVREw1YUFWQ2lpVktxZzFhcEEwVFVNdTlINVVFSkxhRlJFQVdJdUtpbjUrR2s2cWhnMGJsa3ZxSHo1OEdJR0JnWEJ6YzhOenp6Mkg0OGVQMjczdStMZXRSVVZGUWFWUzRjQ0JNcUhrZ3djUGdpUkp0R3JWeW5VVnU2eWNUWnM2QmNlT0gwUDc5aDB3TG40Q2poNDlVdTVtNm1nSER4N0EvbjM3RUQvK2N6c1c0WWlJQ0JRVUZPQ3YvZnVrZk52bXBOL3RQbnY1OGlYODlsdlZnckxuR2plRzJXeUdRcUVBd3pBNGN2Z1FtalRsdFV3ckVsZ09DQXlFdTRjSDhuSnpkMWZrclFHRUhac0hRTmg0YkdWNU5jck9XMU5BcVZCQ3JWWkJxOUZDSmdKYlJVVUVtN1lQYVJLaGZmdjJ2eDQ1Y3VSRGdpQWVlMDBFbG1YeHh4OS9sSHUrYmR1MmlJK1BSOCtlUGZIc3M4K2ljK2ZPT0hqd0lPYk1tWU9KRTNteDRLRkRoMkxldkhrWU8zWXNQdmpnQXh3OWVoVGZmLys5WFZpNWJ0MDY1T2JtWXZEZ3dkQm9OSWlOamNYUW9VT2gwK2xBMHpUaTR1TFF2MzkvU1RIYlpTNnp0VDU5M3NQczJUT3diczFxc0N5TFVaOThDcElrN1lvSCtmbjVlS3ZuRzJqMi9QTVlPMjQ4RXVkOWg5TFNVZ3daL0tIMFBZa0xmb0JPcDhPMEdiUHczYmZmNEllRjMwT3RWbU9VZzQ1bzhxbFQyTGh4QTNyMCtMODc3bHRvYUJoNjlQZy9EUHB3QURod2FOT21yU1FlWHBIQXNrd213N2o0Q2VkZmU2WHIyUXE4TlF0QmlLQW1GQTBJOE40YVJZSWlLVTRtVlVMbFV0OGFyYUNoVkNtaEZpWVBpSjQ5ZXlJL1B4K0ZoWVVvS2lwQ2NYRXhTa3BLWURLWkNKUEpCQnM5QkpMak9Ca0FPUUJsVVZIUkFKVks5ZlhqZk5Ja0ppWlcyQng3L2ZwMWhJV0ZZZG15WlpneFl3WnUzTGlCc0xBd0RCOCtIRU9HREpIZXQyUEhEb3dhTlFwWHJseEJWRlFVV3Jac2lRMGJOa2k2b2oxNzlzU05HemR3NHNRSktaODJZc1FJckYyN0ZpUkpvbWZQbnBnM2I5NERuNEJ3MmFObCsvZnZSM2hrZzZmaXR4b01obStmajJwOEJEejl0NmhyWUFSUEJWNUNFRVFwRDNDRWxWZWhvamlaVENZcVVIRzJUQjRhclJZNm5RNmVucDd3OGZGRlVGQVF3c0xDUVBUdTNSdDVlWGtvS0NoQVVWRVJpb3FLVUZKU2d0TFNVcGhNSnNKc05zTnF0WklzeXhJMmVnajA0c1dMdldKalkvOEFFUDYwbm93cEtTa29MaTVHeTVZdHBlY21UWnFFYmR1MjRkaXhZdy9VNjd4eDh6L2s1T1NBWVJpVWxqeWRJMXBLbFFvVVJjSEwweHRoWWJVbDhsUm54bkdjc0diWnNGcHJiczJVS2hWa01obTh2YndSRmhiNjFBTWJ4M0hYUGhzemV1TGFOYXVMQUpTZ1ROZkFDRjVhcndTQVdRQTJScERXWTRWd2sxTW9GZnhjcUVvRnRVWURuVllMTjNkM2VIbDV3OS9mRDhIQklRaVBpSUJNcFZLaHBLUUVORTNEYkRaRExwZkRZckU0VmtodFExSUdBRE53NE1DQzNyMTcvNlJVS2ljOWpnczhiTmd3SkNZbTNzOEJ3cFVyVjlDM2IxK3NYcjBhVFpzMlJVcEtDdWJQbjQvNGVON3R2cE5La3FQcDlYcjQrOS9kNkxQSlpNYVpNMmRBeVdUUXVibTc1UGVLak1qTnkwWFd5VXcwYmRJVU5DMTNldXhPbkRnSmtxS2cxZFg4bWhVVkdaR2RrNFBNckV4RUM4M2FGZG50Sjd5Zk1UYzNkL1BhTmF0Tk5pR29XUVF5QUJZT1lBZ0hiUVB4UHh6SGdXTTVzQ3dMbG1WNUpnK0J6Y05xdGNCaXNjQmlOc05zTXZQQXBsUXFVVkpTWXBkcms4bGtzRnF0b0NnS0RNT0E0emlKTnB6ak9BWUFzM256NXAvZmZQUE45d0RVZmR3V09DRWhBUWtKQ2ZmMUhUMTY5RUI4ZkR4R2pCaUJ0TFEwQkFjSDQ5TlBQOFhISDM4c1hVQTFiZW42ZEZBeW1Vc3dXVENOUmd1TlJvc01mUnJTMHRNUUZscmVTN3ArNHlaSWlucGdhMmE3VHpkdi9vZlFTbVQ0YWdVSFA4bmUydldsUzVlY2RBQTFtOXhhV1l0SEdhRWtCYmxNMUEzbHE1Nml0NmJWYXVIdTdnNVBUeS80K2ZraE9EZ1lkY1BEMGFqUnN5QTFHZzJVU2lVVUNnVm9tb1p0TVVFb0lvQ2lLTTZtbjAxcy9iRDI2dFVydDZTa1pPWFRmQ0hGeDhmait2WHJNSmxNdUhyMUtzYU1HVk5wQ0ZUZGxwMlYvZFFPVDFkbVdwMGJzckt5bmI2V2s1UHpVTlpNcTNORFZuYldVM3RNc3JPemt4WXZXbGdLKzRLQkNHNFNrNGR0aXdjZmlwS2daQlJIVVE3TnVNS1VnVnF0a2tETzI4c2JNcGtNcEZhcmhWcXRobEtweEwyMGZxeGJ0MjR0eDNFdWh0MkhjZ2U4OStIcHA4RnpZMW5HNldzUGE4MDBHaTBZSy9PVW5xdmN4VzltenpyaEJOVEVmRm81d1JaZTZaMTBtQWZsUjZma0FxaXBWRXBvTkJxNHVibkJ3OU1Udm42K0FBQ1pUcWVUS3FKQ3djQXUxeWFUeVRpcjFVb3dET08wWVRjMk5qYi9yYmZlV3FIUmFLWS80UWNHZXIwZUJvTUJWb2FCc2JCNjJFMjFXaDFrY2huOGZIM3ZXdHFQSUlDU0VoZVhXMFZXVWdIUDNjTXNydHpyOFNLU00wSE1Ud2F1NU4zYmhpTTh3QTJKQWhmbFd5Mi9veUEvSHpldVgwVlJrYkZTSUErckV3NDNkM2RrWkdRa3JmcHBSWVc1TlRocHlDVkprdVA3MW1TY1RFYnhvQ2FUZzZiTGRBNTRqUU1kNzYxNSswQ2g0THNMWkI0ZUhpZ29LSURSYUpTcW9XYXpXUUkzcTlVS21Vd0dobUhFcEozVTB5YmsycXh2dmZYV21pMWJ0cnhCRUVTTEp4WFVrcE9UQVlLRVJxdmoyVTJyVWR1NHFNaUlkSDBHMHRQVHExMEpmdGZPSFZpK2JDa01oZ3dFQlFWaDVhcTF1SHo1RW1MNzk1UGVNelorQXJwMjdlWkN3a2ZaRXBPQnEzbjMvdmtyZVNEbUo0TmIwckZhZHVmNnRTc29MaTY2NDNsOTQvcFZQTnU0NllsM2VyMlo3QVRVbkhwcmtKaHliWWZjNVpETDVKRFRmRE91UXFHQVVxV0NSc05QTTNoNjhYazIwV1NlbnA3SXk4dERZV0doYlE4YmFKcm1xd3dPWHBzTjY0ZWsxcng5KzNaelFVSEJqKzd1N2s4a3NPbjFlb0FnNGVkZk0yTEpZbkxab0U5RGVucDZ0WWt5cDZXbFljYjBxZmh5OHRlSWptNkJnZ0tlR2ljaUloSzdkdThEQUF5TWZiL0cxbTNaMGlWNHZYc1BPellUY2IvbXp2a0dLU24vZ0tacHRPL1FDWU0vR2lJTlg2ZW1waUpoN2h5a25FMkJRcUZBeDQ2ZDhHSGM0SExEMmRWcGQ5cm1pekV2UUM2WGd5QkloSVdGb1gvc0FMUnVIZlBBemtIaWZrRE5CdHlxeSs0RWFyYmc5dC9ObTF1dlhMbHN2WU8zeHBUUHJWR1FVUlFualU3SjVUd2RPRTJYZVdzNkxkdzlQT0R0N1dNM0FrbjYrUGpBdzhNRE9wME9hclVhS3BVS0NvVkN5clU1eTdjNXk3VjVlSGhzWmxsMjI1TUliQVpESmpSYVhjM25ZSFJ1TUJnTTFmWjlGLys5QUI4Zkg3UnVIUU9hcGlXZU9JSWdvRkR3ZDcyN2JVbTVHL3R4K1ZMazVKUlA0RSthT0FHMWdvUHgyKzlic0dqeE1odzljaGhKU1pzQThEMTVZOGVNUnIzNkRiRHA5eTFJU0ZpQS9mdjI0cmVOTmNlOVVOVnRKaTVZaU0xYnQ2Ti83QURNbmprZEczL2Q0UElrNzJCV3EzVlhtNWdYTGpqeDFDcjAxa2c3YjYwTTFPVENQS2hDcVlSS3hjdnN1YnU1dzh2VEMvNDIzaG9Ba0g1K2Z2RHk4b0tibXh1MFdpM0U5Zyt4U21vRGJKd05oYmpkaUJYNGFYeUx3V0Q0OFlrOE9JejFnU1NiTlJvdHJGYnJmWC9QNmRQSjZQNWFOOHlhT1IxNnZSN2RYK3VHN3E5MXc0b2ZsMWY1TzQ0ZU9Zdys3NzZOOWkrM1JXei9mamgzOXF6ZDYvdjM3VVcvOTNxamErY082UDkrWHh3OWNsaDZiZGpRajlEOU5UNjBIZm54Y0hSL3JSdUdmalJJQXBHMmJkdmh2WDd2UTZGUXdNL2ZIODJqbzNIcDRrVUFmTVhTMDhzTHZmdjBBVTNUQ0E0SlFldVlOdmozMzVxclQ5M05ObFVxRlZxM2pzRzQrQWxZdkdpaEhmSGlrMkJGUlVWSStuMFR4bzRaWFQwaDYvWHJPMkUvRTJvSGJCekhXVG1PWXppT1kxbVc1UWhBOHRaS1NvcTVUSU1CcWJkdW9hQ2dvSXk5UTZtQ1JxT0dRcUhBZ3ZtSk9IandMNmpVYW50Z0N3b0tnbytQRHp3OVBhSFQ2ZURZL2xGSmxiU2MxeFlZR0hqWVlyRXNlZEtBcmJvS0JWWGFsdEY0MzkvUnRHa1VOaVZ0eGNjalJxRldyV0JzU3RxS1RVbGIwZS85L2xYNi9OVXJWL0Q1aEhnTUhqSVVXN2Z2eEp0djljS29rY01saXB1Yk4yOWd5dVF2OGRsbjhkaXliUWRlZmZWMWpCOC9UaEtsU1VoY2dFMUpXd0VBYytiT3c2YWtyVWhjc0pBLzRVZ1N2ZnYwaFllSHAzRGlYOFBoUTRmUXNpVlBBdURqNDRPRXhBVlFLbFVTRUo1T1RrYmp4azFxYk0zdlpadlJMVnJDYkxGSWdQdzRtZU1RdmZoM1ZsWVdCc2IyeDVVcmw2dmxSbEphV3JwbS9Qanh0eHhBemVUb3JmRmpVenllTUF3RGtxVEFzZ3dzRmdzL1NSQWVqc3lzVExBY0I2VkNDWlhRM25IczJGRW9sVXE0dWJtWDJ6YXBVcWtRRUJBQWIyOXZ1THU3dzdiOW96S3Z6VmxmRzBFUWxuUG56cTBFY052bGhEKyt0bVZMRXRxKzFBNnRXOGRBb1ZDZ2M1ZXVhTkN3SVhidTNBRUE4UGIyd2JMbEsvRk1vMFlnU1JLdnZ2WTZMR1l6YnQzNnI4cmJPSGYyTERxMmI0ZCtmWHVqUWNPR2VMSHRTMDdmdC9ENytWQ3AxZWphN1pVSDl2dXJzazJDSU9EbDZRVmprZkhST1hBRW9QMGdDbTZqL3dkQ0tZUHF0ZnB3RzljR2hKdkM3bTJqUjQzQTZlUlRBSGpHM084WHpBY0FlSGg0NEtmVmE5SHYvUStxWTI5dUh6dDI3SzhLUERYYjNqVVc0SE5yRkVWeEhNZHhGRVdCWlZsT29WQUl3KzBxZUh0NXdXZ3NoRW9vR09UbDVjRnNNdUhGRjErRVhGNSt1b1FFZ0tDZ0lQajYrc0xUMHhOdWJtN1FhRFJRcTlWU0hzWVpBMGhGdWJhb3FLaXJ4Y1hGUHp6cEYzL1h6aDFRV1Boa0N0cnE5WG9FQnRwMzVkZXVIUWE5UGgwQW9OVnFjZkxrQ2NSOUdJdmU3L1RDKysvMWNlb0pWR2FObm4wV08vL2NpNS9YYjBSNmVqcVdMUzN2Nks5YzhTUCsvdnNvcGs2ZERwbE05a0IrZTFXM3lYRWNjbkp6b0gyRWVnaVZIU05BcU9SZ2Mwcmd2ZlExcU45b2lOSS9yOEw5VTN2cXhDRkRoMlBxMTFPUW1EQVAyN2R0UmQvMytBcTVlRzFYaCtYbDVmMlNtSmlZNitDcG1aem4xaml1VE1vWWtNa29LSlJLbU0xbVVDU1BOY1hGeFNBSVFuQzZGRGg4NkJBR0RJaUR6czE1bzdVTTRLbC9Bd0lDa0pPVFUySHJoOFZpRVdheXJKekE5c0d4TEF1Q0lGaU80d2piWEZ1Yk5tMVdIajkrdkIxSmt1MWMvcy9qWi83Ky90Q25wOXZmZm0rbklpcUtiMFU1OE5kK3JGNzFFK1o4TncvQklieG8yWXN4THpqMWFoekJ6bFJhaXUzYnQ2RkxsNjVRS0pVSURBeEUrL1lkY1BEZ0FidjNiVmovQzNidDNJRzVDZlBoNXU3K1FINzMzV3p6K1BGam9PVnkxS3RmLzRFZkgwWHJFTGpIdnlqOWJmazNFN21mN0lTOG5qZEt0bDJHOVhvdWRNTmJJbmZrRHBpUHAwSDdnWDBMVVhoRUJEcDI2b3lWSzVaajVxeHY0T1oyNzFNWWNya2M3ZHJaWCtZN2R1dzRNSHIwNk9OVjhOWVlBVDlZcTlYS0NaRWdLSm1NVXlxVUlBa0NOMjVjbDRZSGVEWVBEVTZmVHNaTDdWNUd2UVlOOE8vRkN4VURHd0NFaElRZ0t5dkxhZXVIQ0d3aXVERU1JejJFR1ZJV0FDSDJ0U1VuSjVzTkJzT1NnSUNBcHhMWWZ0MnducS95Y1J6YXZmei84SDcvV0FCOG04TlhrNzVBWVdFaG1rWkY0ZERCQTFJdTZrR2JiWkdDWTFsWXJWWnB3cVRiSzY5aXlPQTRkT2pVQ2MyYVBZKy8vdHFQYzJkVDhOblljUUI0Z1JHQ0FFaUtRbjUrSHJadTJTSjhqLzFzYkdCUUVJNGVPWUs2ZGNPUmw1c0xYejgvMEFvRmZscTVBdm41ZVhpM2QxOFVGUmx4NE1CZmFOS2tMSisxWlhNU052MjJFWE1UNWo4d25ycXFidE5rTXVGMDhpbk1tREVOY1lNK2VpaVU3cVpEdDJEb3RycjhNYjJlQzdxSlArVFArY0Y2TXcrcVYrdkJjamtiY0RndU8zZjhnWDE3OTJESzE5UHd6ZXhaK0hyYWROU3JkMjhBYmJGWXNIT252WmI2dFd2WHRoWVVGRGhPRjRnZVd6bUdYSXFpUUZJVXdIRlMzNnhjTGtkQVlDQTBHZzEwV2gzKytlY00vUDBEUU5NS1hMMXlCWVVGaGJqNDd3WGs1R1NESkVuSTVYTDBldnVkOHNBbWhxUzV1Ym5JejgrSDBXaEVjWEV4VENhVEhialplbTBNdzNBY3gwRjRTTk1JQUN5QmdZRUhUQ2JUZkpxbWh6eE5vSlo4NmhTMmJFbkN3aCtXZ0tJb2ZESnFCRUpEdzlEdTVmK0h1WE8rUWZzT0hkSHp6YmR3N08rak9PVGdwVHdvYzJ6UW5URjlLbVpNbjRvT0hUdmg4eThtSVRLeUhpWitPUm5mTDBpRVBqMGR0VU5ETVhQMnQ1S2FVWmV1M1hEMmJBcGkrNzhIaXBMaDllNDlFQmxaRHptNU9YYmJHVFZxTkdiUG1vbmx5NWFnZHUzYVdMSnNCV2lheG95WnM1R1lNQmMvcjFzTHVWeU90aSsxay9JNkRNTmcxa3crREh5bmx6MzMvc3BWYXhBUVVQMjloRlhkNXJBaEg0RWdlSUxGVDBhUGVhQjliRld4a3UyWDRmYkovMEQ1cUpIVmV5TTBiejREOTg5aWtEL2pvTjM3VWxKUzhPMmN1ZkR6OTRlYnV6dE9uamgrejhCV2JoOUtTbjRjTjI3Y0RRRzh6STRGQTFRd1pRQ0FzMWdzMEdpMW5OeEd3MEF1cDVHV25nYVpUSVk2ZGVyQ3o4OFAwMmZPUm9QNkRlRGo2NHVGMzgrSFZxdXpBN1Z5d09idjc0L3M3R3prNWVWSndDYU9XWWtlbTQzWDVoaVMyazBqRUFSaDNyTm56L0pPblRyOWp5Q0lxS2NGMkk0ZE80b09IVHBKellLdnZQSXFqaDM3RysxZS9uOUlTZmtIRXdWRm9QQ0l5QnJmbDA2ZHU2QlQ1eTdsbm8rTXJJZS9EbGF1WTlxNmRVeUZGNjVDb2NDRXp5ZmFQVGZ3dzdoeTcydlJzaFYrMmJDeDNQTVJrWkg0YnA1enlpaUtvckQvd09FSGVzeXFzczA3cmRmOW1rNVhEWDJTREllQ21ZZWtQNDNMVHdQTFQ1ZDcyeWMyckxsTm0wYWhhZFBxdVR3NWpqdnp4eDkvT0JZTWJITnJaaW0zUmhDc1FQbk5XYTFXRGdDVVNpV24wK21rV2RDaW9tSmN1bmdSL3Y0QjZOQ3hFOC9rSVV3WStQaFdQaHBXTGp0YXExYXRjcmsyMFdOejhOcWtjSlJsV1Z2VmVJYmpPQktBdFV1WEx2cnM3T3dmdkx5OEZqNU5YcHR0ejZ2QVl5Y2xuR3V5SWRabGo2OVJGSVdpSXVNalFXamc3ZTE5VHltU3RMUzBqV3ZYcmpVNkFUV1RIYWp4bkdzc1FZQWpTWktuOXBielBXcmkySlNDcHVIdDVZWDY5ZXNMdEVTKzhQRHdnSStQajkxa3pxREJ6Z1BDY3Z3Njd1N3VjTmJiVmtIakxpZlNHMVhVdE92dDdiM2RZckVzZmxwTzBPYk5XMkRYenAwb0tTbUJ4V0xCdHExYjBFTG8wV3JhTkFyYnQvRW56T1ZMMWRQL3BGS3BYYWh3bDJ2ek1OZXNvbTM3K2ZtaDJGaHhsWjBMOTdoL2o2b2F2a00wdGRvK3QxaGFXcnA2NU1pUkYyMUNVSk9EdDJaWE1DQUlnaU9FWm44WnJ6akZ5ZVV5WVJhVWxtWkIrU0YzZ1NYWDJ4disvZ0dTZHVsZGVXd0FYMGdRdlRaYnFuQkhyODIyaUNCNmJTeGZCbU9FU2lsSkVBUjE2TkNoWlczYnRuMmVJSWhtVDlLRk0rQ0RmaUFFN2pWZlh6OGtKQzdBODgyYm8xUG5MaGowSVY4d2FQUGlTMmpYN21VQXdQQVJvL0RseE0veDY0YjFDSStJNEJPbVQ5Q2QvbEd5SW1OaGhhMEw1RU5hc3lKaklhZ0tXa2dDQXdPUm5wNk96SXgwcUFXaUJUc2JHZ1V1TWZtZVowYTVjQTlnYVBWbGhPclVqWkFHNFRtT083MW56NTY5VHZKcXR1MGRqa1VEZm5SS0hKdVN5eUNYQzU0YkxZNU5sUTI1ZTNsNndjL1hyOG95bFU1WFdTNlhJemc0Mks2SVlFdHBKSWFpanUwZlRnb0pWZ0NXZHUzYXBXWm1aaTcwOGZGWjlEaGVKRm9uK1k5dGYreXE4UDI5M242blhESVRBUEx5Y2pGejlyZHdjM1BEbmoyN1VWSlNVcVZ0M1Nsc3lNN0pjUUdiZ3htTmhmRHg5WEg2bW8rUE43S3pIL3lhR1kyRjVRZ0JiSzFaczJZd0dBelE2L1VvS3N5Mzc1UFVBaGhiRzBEdCs5aURiT0J5ZHZWZEYxb050Rm9OYnQ2OHVmSEhIMzhzcUNnRWhZT3lPNStWRVpUdk9BNGN5M0ljeTRKbEdUQ01sWDlZTGJCYXpMQ1lTMkV4bDhKVVdneFRhUkZ1WHI5eTc4QUdBQUVCQWNqTnpiWHoycHpsMm13OU5vZENndWkxV1FpQ0lIMTlmWGVXbHBiT1ZTZ1VIejl1RjRtc211N3dwU1dsR0RONkZLLzhydFZLN1JPMmQzUm5YZFNWV1dob2JXUm1HcENoVDROVzUrYlNQREFXd21nc0JHTzFJclMyY3hBSUN3MkZ3ZkRnMWt6Y0o1WmhFQlphT1RENStmblowZTg4NnBhZm43L2twWmRldWxTUnQwWVFoQWhzREVFUWpNamNJYXBPMFRRTmxVb2xlR2RsZE45ZVhsN3c5UzFUbldyUW9BRWFObXhZOVd1MnNoZHIxNjVkWVYrYm85ZkdzaXpoVUVnb1Z5VmR0V3JWMHY3OSt6Y2lTYkw5NDNTeCtQbjVJVjJmY2Q4WFFGU3pabGk0cU9KUjJxSWlJd0lEN2s3TWhTQUlORy9lSE5kdjNFUk9UamJ5Y25KUVd2cDBraytxVkdxUUZBVWZieCtFaG9aVSt0NFcwZEc0ZWZNL1pHWmwxZWlhcVZScVVESVp2TDI5N3docWo1dFpyZFo5RXlkT1BPQUFhcVVpc0FtZ1pwOVhFN1FNUkNWM3VWek95ZVZseEpHMkFPZmg0UUZ2YjI4RUJBU2dkdTI3V3p2aVRvSWp0Mjdkd3ZuejUzSHQyaldrcHFiQ1lEQWdKeWRIQWp4SExWSUI5QWlXWlFtV1pTbU80eWp3V3FRMHgzSEtHemR1dEFvTkRaMEw0TEZTSHpsMUtoa0VRVUNqMVVGZHpYZjQ0aUlqaklVRkFMaHFKNXAwbWN0cXlOSVBIVG8wT3lZbTVwWUFaQ1hnTlVLTFlLOFBhaXVseDloNmF3cUZncFAwUVRXODBMR0hod2U4dkd6RVdlcld4VFBQUElPUWtKQzdpN0x1OUlhUWtCQkpVTmt4MStiWStpSEtZbkc4MlU0a1dIbm5naUREd3NLT0Z4UVVKT3AwdXFtUDAxRnMxaXdLNmVucE1CZ3lVVmlRVnkwc0hBRGZ2eVNUeVJBVUZJaUFnQURYNWVLeXg4SnUzNzY5S2lZbUpsVUlNOFhRczlSSkNHb1Z2RFZwMEYwaWpSUkNVVnVhYjFHL1FBeEZhOVdxZGRlZ1ZpVmc0L000b1U1emJVNTYyc1JDZ21Odm16aHVaU0VJZ25KemMvdlpaRExWcFdsNndPTjBNQU1EQTZ1TjNkWmxMbnRjeldnMHJnNE9EajRGKzlZT3h4RFVZaE9Dc3M1QzBJcEFqVmQxOTBGUVVCQkNRMFB2YVIrcnBCT24wK2tRRWhKaVIyOWt5N2dyRHFrSy9XMTJ2VzJDMXliMXRva0xzV3ZYcmlVc3krNXhuU1l1YzlsamxWZmJ2M0Rod2oxd1hnR1ZQRFk0eklNSzVKR2NMYWpSQXNXM0dJN3FkS0lvQzU5WEN3a0p1ZWVKRE5uTm16ZXJqb0k4VlpIVDdubnhPZkYxNFNFbThGaWhBNThRd2UyVlYxNUpPM0Rnd1BjaElTR2hBTUpkcDR6TFhQWm9HOGR4MTA2Y09KSDA2YWVmRmpvSlFjdUJtaUNBYkNlblo0c2ZGZUVJTCtSQ2dtVlozQTArMlFIYjNiaDZ2cjYrVGljUmJBU1dZVU1mVHBoTUpoQUVBVUc2VDJvQklmaGZSTFpwMCtaRVRrNU9ncWVuNSt5cWhzVXVjNW5MSG82emR1M2F0VFZ2dnZsbXFvTzM1aXdFdGRxMmRvamhwOER2S0JVTXRGcXRYZWdwVmo4akl5UFJ1SEZqcU5YM1BpRnlWMkNpVnFzUkdocGFib2EwZ3ZsUmptVlpRaXdrY0J6SENnVUYyNmtFMHN2TGEzTnhjWEdRU3FVYTR6cDNYT2F5UjlPeXM3TVhoNGVIbjdYeDFFcHRId1JCbUd4QnpURUVGU1FHeXVYVmJNSE5WOURXRFEwTnZTOVF1MnRnQS9nRWVrVjhiYzdHck1UR1hRSGNPR0VxUWN5M2tRRElWcTFhTFRseDRvUy9YQzd2NXpxRlhQWVVoM3JRNi9YSXlEQ0FZUmdZalk4R1EzTnBhZW5QNzc3N3JtMi9XcmtRbE9NNENkUTRqbU1GUmx5T1pWbU9ZUmc3dmo4eHNoTWZZcFZVb1ZCQXJWWkRMcGZqMHFWTER4YllBQ0E4UE56cHFKV1RhUVJPNkdjVFI2M0VXVkxiRmhEaW4zLytJZmZzMmJPNGZmdjJmaFJGZFhHZDRpNTdHa0V0T1RrWkhBaHBHc0wvRWRndmk4WHk1MDhyVit6S3ljbXhPQUUxMndrRGZteUtJRmdDWVBsMEZLL2VMakIzY0VvbEw4U2kwV2o1bmpWM0QzaDVlOEhmUHdDMWdvTVJYamRjMHRHNFg3dW5iNkFvQ25YcjFrVndjREQ4L2YzaDVlVmxWeWxWS3BXMitUZE9aQUt4VmJZUzNGVXIrQllRYytmT25WTXZYYnEwa09PNFk0L3pDYnBwMHlZb2xjcUtFeFZXSzBhTUdBRS9Qeis0dTdzakxpNU9VbmR5MmROcmVyMGVIQWo0QndROU1tTnhMTXVlUEhUd1lOTEVMeVlVT09UVVNvUkhxUjJvU1hSRUpGZStDbHArdWtEbnBvT0hoNmRFUlZRN05MUmFRTzJlZ1EzZ0ZXM0N3c0lRRkJRRVIyMVNKeXBYb3BxelhRdUlBN2labm5ubW1aUzB0TFFGSE1kZGVWSlA0SEhqeGlFcEtRbnIxNjlIVWxJU2R1L2VqV0hEaHJtdTdLZmNESVpNYUhWdWo4eitjQngzOWR5NWMrdjc5bmtud3dIVWJDdWdKanRRRTNyV1NGS2FCNFZjSnVma3RDaDBySUJLWlQ5bDRPUGpBLytBQUlTRTFMNHY3WVZxQXpZQUNBNE9SbWhvS0FJREF5WCt0a3JBRGJiOWJRSi9tMFFsTGp4TXdjSEJCM0p5Y2hJQVpENXBKMjlSVVJIbXo1K1AyYk5ubzIzYnRtamJ0aTBXTFZxRUZTdFdJQ3NyeTNWMVA4WEdNTXc5ZVdvWHpwL0RxQkhEcTN0M3NtN2V2TG02YStjTzEyRS8yRzRIYkFSQldEaU9zNGlDeHh6SENSeHJGRWVRSklxS2pNak56VUdtd1FBQ3ZOaTBScTJHMldUQ2diLyt3cFl0bS9IbnJwM3c5dmF1OXNiMysvYjc2dFdyaDlxMWEwdmc1dUhoWVNmaFp3TnVZa2dxOXNPeHprSlNBQ1lmSDU5dCtmbjUzd2tMV0tQV3FsVXJUSmt5QlMrLy9ETFVhalVpSWlMd3h4OS9ZTzdjdVFnT0RvYTd1enNHREJnZ3FTMk5HREVDblR0M3R2dU83dDI3WTlDZ1FVNi92MmZQbm1qZXZEa0FJRGs1R1NVbEpXamJ0cTMwZXBzMmJRQUFSNDRjY1YzZFQ3RVZGaGJjMCtmcU4yaUlpVjkrVloyN1VxclhweTl2MDdyVmVaUzFkWlRhaEo2OHQyYlgya0V5SkVteEhNZXg0RGpJWkJUTUpoTlVLalVYRWxJYi9nRUJTRTlQaDFxdGdWcWpRVXJLUDNqbDFWY3hldlFZUkVSRTR2Q2hROVcrbnZmZE8wWVFCQ0lpSXB3cVdqbXJqb290SUFBSUFFNkxDUnpIa1I0ZUh1dU5ScU5HbzlIRTEvUkpOWDM2ZEd6ZXZCa3hNVEVZTkdnUWV2VG9nZTdkdStQQ2hRczRmLzQ4MnJWcmg2NWR1K0tOTjk2NDYrL3UyYk1uY25OekFRQzNiOThHVGROMm5GeHl1UnplM3Q1SVRVMTFYZDB1SzJmWjJkbVkrdlZrWkdVYVFKQWtCZzhlZ3BhdFhrQnFhaXBHalJnT2k4VU1EdzlQTEYveFUxbTY0N05Qa1piR2E1Ym41ZVZCcmRGZzdicjFBSUNyVjY4aVllNGM1QmZrdzh2VEMyUEdqcE5FZWdCZytiS2xpNy80ZlB3cEIxQXJ0UUUzdmxnQVdJUnJsaVVJc0FSSmNBUkhnT000VGlhVGdXVlp6dDNESFFxRkFnUkJRSitlRHJWS0RZcWlvRmFyVWI5QlF3VFZxb1dpSWlNT0hUejRNcm5Fd0FBQUlBQkpSRUZVNkFFYndJOWNoWWVIbHlPakZNdThUZ2JrYmZ2YklJU2s0bVNDQ0c2RVZxdGRXVnhjckZLcFZDTnI4dVRwMGFPSHBJMzR4aHR2WU5teVpaZzZkU3AwT2gxYXRteUpaNTk5RnVmT25ic25ZSHY3N2JlbGZ4Y1hGenN0TENnVUNwaE1KdGRWN0xKeTl2TzZOV2pjdURINnZmOEJybDI3aGdYekU5Q3kxUXNJRGc3R0x4czI0dkxsUzVnNlpiTGRaNmJObUFVQXlNL1BROXpBV0l3Y05Sb0FZRGFiTVhYS1Y1Z3lkVG9DQXdPeDQ0L3QrSDdCZkV3U0JJYnk4L04rK09MejhZZWRoSjRsZDhpcmNTekRpRlJsa010cFVad0ZSVVZGTUFwc3hrb1ZINzFwdEZyNCt2cGkrN2F0eU0vUFIxNWUzcU1KYkFDdmNHVkxJVzdidEd2anNkbjJ0VW5neHBhcDZqSUMwRW5nOXRaYmJ5MVp2MzQ5clZRcWEwekd6M2I2UXFGUVNQbEQwV2lhcmhiZ1VhbFVNSnZONVo0M21Vd1BSWi9TWlkrK1JiZG9pWVM1Y3dBUWFOR2lKV1ovTTZkS24yTlpGbDlPbW9odXI3eUdGaTFhQWdDdVg3K0cxTlJiaUIvTDk4S3pIQXVOb0YxUVdGaTQ3SjFlYisxSCtha0MreERVUmtKUEZEdG1HSWFUeStVYzc1eUFvMm1lTERYVFlJQkdvMFYwZEF2OC9mZFJ1THQ3UUtWVWdtVlpyUGh4T1hyMWVoc05uM2tHNDhlTmZYU0JEUURDd3NMc3RCRWNweEZzaUNoaDQ2MXhBdmlKa3drUW12MUFFQVN4WmNzV1l0cTBhVXZpNCtObENvVWlyaVpPSHBrVEh2cUsxS1NjUFcreFdLcTBuZURnWUpTV2xpSXZMdzhlSGg3U1o3T3pzNnZNNWU2eXB3ellvbHNnY2Y1Q0hEdCtEQ3RYTEFkTjAvaHk4dGQzL056U0pZdWdWQ3JScCs5N2R1ZHBRRUNBWGRnS0FFYWpjY1dFK0hGN1UxTCtjZXhUY3dRMU96WmNvZG1lb3hVS2pwYkxZYlpZUUpFa2FJVUNGRVhCMTljWGRlclVoYnU3QndpQ1FHQlFJSFJhSFJpckZSTStuNGp3OEhCY3ZQaXZkQzA4c3NBR0FQWHIxeStuUmVvWWpqcDRiU0s5RVd4eWJveVFneU1JZ2lDKyt1cXJQRjlmM3lVREJ3NGtGUXJGd0lkNW90RTBYYzUxdm5UcFVwVTRvNktpb3FCU3FYRGd3QUc4K3VxckFJQ0RCdytDSkVtMGF0WEtkUlc3ckp4Tm16b0YwUzFhb24zN0RtZ1IzUUp2OXV3QmxtVXI3ZmM2ZVBBQTl1L2JoNFdMbHRqZGlDTWlJbEJRVUlDLzl1L0RpMjFmd3RXclYzSHE1SW1menA0OXUyZmp4ZzBsTnA1YWljUERSQkNFV2NpcDJiSGhNaXpMeVNnWlpESTVTa3BLT0hjdmJ5aVZTdWgwYmxBbytQK1hta3I1SnR4YXdRZ0xEVU5BWUNBVU5NM3Y2NEVEYU5LMDZhTVBiQVJCb0g3OStoS3dPWHBzRE1QWWVteTI0QVpoRkFOQ3ZzM3VPNGNORzVaTjAvU1NmdjM2NFdHQ1c4dVdMVEY3OW13c1c3WU16WnMzeDZKRmk1Q2VubDdoKzlldFc0ZmMzRndNSGp3WUdvMEdzYkd4R0RwMEtIUTZIV2lhUmx4Y0hQcjM3dzh2THkvWFZleXljdGFuejN1WVBYc0cxcTFaRFpabE1lcVRUMEdTcEYzeElEOC9IMi8xZkFQTm5uOGVZOGVOUitLODcxQmFXb29oZ3orVXZpZHh3US9RNlhTWU5tTVd2dnYyRy95dzhIdlFOUDJUaDZmbm54dlcvMUlFKzBLQmJRT3V5WEVPVk9wWG95Z1FESU9Ta21LVWxwWndhclVhbmw1ZVVLbFVxRmUvUG03ZXVJR2pSdzlEcDlPaDE5dnZJaVE0QlBYcTEwZjgrTTh4ZWZJa1dNd1doSVNFWU16WStFY2YyTVJjVXIxNjlld3FwTGE1TmlHdlZxNllBUHRLcVMyNEVRUkJFSEZ4Y1prbWsyblJ3SUVEV2FWU0dmY3dUclRYWDM4ZEkwZU94T2pSbzhHeUxQcjE2NGNCQXdhZ3ROUjVaOHFHRFJ0dzQ4WU5EQjQ4R0FBd2UvWnNXSzFXZE8vZUhTUkpvbWZQbnBnN2Q2N3JDbmFaVXd1cFhSdHo1ODEzbXRiNFpjTkc1emZUWDM2dDhQc2FOR2lJaFl1V3dHZzBycGcxYzhhZVpVc1hWd1Jxa3FjbWdocEprZ3hRUmhvcG95aE9ybFNDcGhVYzMzd3JpTEtvTlhCemQwZGtaQ1Q4L1B3UUZGUUxZWFhxb0c1NE9KUktKWjU3cmpGK1dMUzBSdGZ0anBvSDkyTVpHUms0ZCs0Y3JseTVndFRVVk9qMWVtUm5aNWZUU3hCQ1YwSUFRRUpnNFNVNGppTnROQlBrSE1jcEFDZ25USmpnSGg4Zkg2dFNxWWE0VG4wK1VYemo1bi9JeWNrQnd6QW9MWGs2UjdTVUtoVW9pb0tYcHpmQ3dtcFhHcTV4SENlc1dUYXMxcHBiTTZWS0JabE1CbTh2YjRTRlZVd1J0bi8vZm9SSE5uZ2c2MVJZV0xoc1F2eTR2VGJocHpOUXMyWHNzSWlNSFdKelBVWEpPSUhlbXdjMXBiMjRzYWRubWNwVWFGZ1k2dGR2QUY5ZjN3ZDJMdFFvQjVxL3YzKzU0WGduRlZMWTVObWtTcWx3d2RyMnVJbUZCVXlaTWdVblQ1NzhZY09HRFdhMVduM1ByU0FkT25UQW4zLysrY2hjbUhxOUh2NytkemY2YkRLWmNlYk1HVkF5R1hSdTdpNzV2U0lqY3ZOeWtYVXlFMDJiTklWWW9YTUV0Uk1uVG9La0tHaDFOYjltUlVWR1pPZmtJRE1yRTlGQ3MzWkZkcnVHK3hrTENncCtHRHBrOFA1TGx5NmFLd00xbEZWQUpUMVFnVGhXVUpvaUlJeE9TYXdkSkNWUWYxTVU1RElaeFBsUXRWSUZzOGxVNDcvdGdRRWJ3SXZCaU9CV1dYVlVySkFLdld5YzFXb1Z3WTJ4RFV0RmNOdStmVHMwR3MzU3dzTENVcTFXT3hLQThtNzNiZGV1WFkvOWhaeXVUd2NsazhFL0lBZ3VBelFhTFRRYUxUTDBhVWhMVDBPWUV5TFY2emR1Z3FTb0I3Wm10dnQwOCtaL0NLMUVocStXVFp0Uk5WdHBkbmIyNGxZdG14OUdlZmJiaWp3MUt3aUNJUUNHRUR3MUdVVnhNcG5ncVlsRDdXbzF0Qm9OZEhha2tZR29YVHNVa1pHUkNBMExlK0Rud1FOaHJRMFBENjlJWUZrQ09KdTdxWlJyczFxdDRtdE93UTBBZERyZHF0emMzR0lQRDQvaEFIeWZ0Z3M1T3lzYldqZDNGNkk1bUZibmhxeXNiS2ZBbHBPVEE5MURXRE90emcxWjJWbVZBbHNOV1paZW43NDgrdm1vVTdDZi9YVDAwdXhCRFFLb0VTUkhFaVJIa1FKYkIyMURHQ25NZjJvRnZRSStCUFZEclZwOFh1MWhnTm9EQXpZK2FkbkFLYkE1ZW0yaTV5YUNHOEFQQ0ZjQ2JweW5wK2ZHakl5TUlsOWYzNDhJZ29oNFdpNWVqcnYzNGVtbndYUEx6OHR4K3RyRFdqT05Sb3Y4M0p4NytpeVJuQWxpZmpKdzVlNjY5RGx3VjIrYXNsYTMvbS95K1R0NGFxWnlvRVlJb0VZU0FndXVESEk1elNsb2thbERBRFdKQmRjTGJqb2RMT1pTNU9WbUl6TkRnOHlNTktmckVGWW5IRzd1N284L3NBRkFvMGFOeW9GYkJjQW1nWnVZY0tzSTNNUy8vZjM5LzdoKy9YcEI3ZHExNDBpU2pLNStFT0haVFEwR0E2d01BMk5oOWJDYmFyVTZ5T1F5K0FtMHlIZDFzaE5BU1ltTHk2MGlLNm1BNSs1aEZsZnUrWGdsSmdOWDd3N1VXSEFuejVYY1d0ODVkZloxbEovOXRHL3BzTXVwbFFjMW1RQnF0SUwzMUJ5TEJhTElzZFZpZ29lSFI2WEs3VVZGUnR5NGZoV05telo3TW9DTklBZzBhdFNvUXEvTkdaalllSEJPd1UzNFhvN2pPSzVPblRxSGs1T1Q4NTU3N3JrQkZFVjFyazVRUzA1T0JnZ1NHcTJPWnpldFJtM2pvaUlqMHZVWlNFOVByM1lsK0YwN2QyRDVzcVV3R0RJUUZCU0VsYXZXNHZMbFM0anRYOGJDUGpaK0FycDI3ZVpDd2tmWWlMc0VOUXZIL0htdzhHSlNuNHlGR1RiaHArUHNaNGtBYXVaeU9UVTdVSk9ERmdTT2xRcEJMay9qV0FIMVEyQlFFSXdGZVpXQ211MDUvMFNFb3FMSjVYSUozTzdnc2RubTJ5b0NOM0h3bGhORDA2aW9xSE1iTjI2YzFhMWJ0MHlhcHZ0V3h6N3I5WHFBSU9Iblh6Tml5V0p5MmFCUFEzcDZlclZ4VTZXbHBXSEc5S240Y3ZMWGlJNXVnWUlDbmhvbklpSVN1M2J2QXdBTWpIMi94bzcxc3FWTDhIcjNIblpzSnVKK3paM3pEVkpTL2dGTjAyamZvUk1HZnpRRUZFVUJBRkpUVTVFd2R3NVN6cVpBb1ZDZ1k4ZE8rREJ1c1BSNlRkaWR0dmxpekF1UXkrVWdDQkpoWVdIb0h6c0FyVnZIUEpxZUttditlVTMyb1YxZjVQMVdVQW1vbGZQVUJBTFlDa0NONzFWVHFrUVJGbDBacVBueGJSMWhvV0hJejh1dTBlTlVWU01meGthVlNpVWFOV3FFOFBCd0JBY0hTMExNdGx4dVlyT2ZRcUdReEZWbE1obG5JOFRNMkhLNUNUbUNVZ0FsYjd6eHh1MG1UWnA4YXpRYXZ4RmV2eTh6R0RLaDBlcHFmRjAwT2pjWURJWnErNzZMLzE2QWo0OFBXcmVPQVUzVDhQSHhrVHhuUVFxdHdwblk2ckFmbHk5RlRrNTJ1ZWNuVFp5QVdzSEIrTzMzTFZpMGVCbU9Iam1NcEtSTmZQakVzaGc3WmpUcTFXK0FUYjl2UVVMQ0F1emZ0eGUvYmZ5MXh2YXpxdHRNWExBUW03ZHVSLy9ZQVpnOWN6bzIvcnJob1Z5MDNqOTJoOXZvLzBsL2V5VjBoYkpUQkFCWWM2MUYzN2UrTnZIM0wvSit5M2ZJcFJVTGo3THFweTJvZ1dCZ1UvMmtLRms1VUFNSFpHWm1vcmk0V01xcCtmcjZJaWd3Q0tHaFlhaFh2ejVvWVZSS1BNK2FOV3VHamgwN29uMzc5Z2dLdXJzcTlJb2ZsNlAzTzczd2RxK2UyTHBsYzVrM2FyRmc5cXdaNk5mM1hmVHYxeGNIRHg1NCtCNWJtWmVpUWFOR2pad054WmNMUzBXeFZkaFVTNFVUMG5GQ2dSUEQwbi8vL1pmVjZYUXJNekl5OUw2K3ZvTUlncmhuVVdZclkzMGd5V2FOUmd0andmMVR1Sncrbll4SlgweUEyV3hHY1hFeHVyL0doNWs5M3VpSmZ1LzNyOUozSEQxeUdJa0o4NkRYcHlNME5BeWpQdmtValo1OVZucDkvNzY5V0xac0NUSU5CdmdIQkNBdWJqQmF2Y0JmYk1PR2ZvUmIvL0ZDdHlNL0hnNlpqRUp3Y0FnU0Z5d0V5N0pvMjdZZHVyM3lDaFFLQmZ6OC9kRThPaHFYTGw0RXdGY3NQYjI4MEx0UEg5QTBqZUNRRUxTT2FZTi8vNzFRWSt0K045dFVxVlJvM1RvRzh2Z0ptUGpGQkhUcTNPV2hNTE5vK2pTR2NWa3kySndTSVp6aHJ2MW56bHJ6d3MydnpzSmVUY29abjVvUWZoSldnQk5CamVVZEJ0S21VQ0RuYUtGUWtKK2ZEMFpRbXFKcEdsNWVaWjVhYUJnUGFvNlNlWFhxMUFGRlVkaTVjeWNVQ2dWZWZ2bGxaR1ptMnBGR09NNjlpbitucFB6RG4yUExWOEJrTWlFdWJnQ2ltajJQb0tBZ2JOKzJGYVdscFZqeDB4cms1T1JnMElleGFOeTRpVVF0bnA2ZS9uQThOdEYwT3AxVHo4M1QweE02bmM0WnhiaWRNSXlvbitEZ3Vaa0Z6NjBVUUxHL3YvOGYvLzc3N3lTR1lmYmU2MzVXVjZHZ1N0c3kzbi91b1duVEtHeEsyb3FQUjR4Q3JWckIySlMwRlp1U3RsWVoxSzVldVlMUEo4Umo4SkNoMkxwOUo5NThxeGRHalJ3T1EwWUdBT0RtelJ1WU12bExmUFpaUExaczI0RlhYMzBkNDhlUGswUnBFaElYWUZQU1ZnREFuTG56c0NscEt4SVhMT1JEQkpKRTd6NTk0ZUhoQ1lDbjBqbDg2QkJhdHVSSkFIeDhmSkNRdUFCS3BVbzYwVThuSjZOeDR5WTF0dWIzc3Mzb0ZpMWh0bGdrUUg3UVpqbHJnUGJENS9rYkwydmQvL2Z0Yy9OZnVQbFZDdXdaYjRzZEhxVUUvekFEaEFVRXlrQ056K3h3VnF1Rms4bDVDdis4dkh6STVES29WQ3JVQ2F1RHFHYlB3OHZiRzFxdEZyNitmcnluRmhhRyt2WHFRNnZWT2wzWHRMUTB5VmxoV1JhZW5wNTI3MW02WkJIV3JGNEZBRWhKK1FjZkR4OEtBTGh5K1JLYVJrVkJvVlRDemQwZEw3endQNXc0enVzOG5UbHpHbTNhdkNpY1R3VGtjaHFYTHBVZGgxa3pwejljWUFNQWQzZDNDZHhDUWtMc3dPME9GT08yWVNrcmhLYmluVW9FdHhJQXhjODg4OHlwbjMvK2VVcHBhZWx5VnhyNnpyWmxTeExhdnRRT3JWdkhRS0ZRb0hPWHJtalFzQ0YyN3R6QmgwTGVQbGkyZktVa2xmYnFhNi9EWWpiajFxMy9xcnlOYzJmUG9tUDdkdWpYdHpjYU5HeUlGOXUrNVBSOUM3K2ZENVZhamE3ZFhubGd2NzhxMnlRSUFsNmVYakRXY0JLOHdodmd5ak5RZFk1QWlTZTFPdUhYNVN1Ny9UYm1sZ09vT1FKYkNRR1VBb1NaZjhCS0NLcFNKTUNSSURpYXBqbVNKRkZTWE13VkZCVEEzY01kT3EyT24vMTBjNE83dXp0VUtoWGMzTno0bkpvQWFyb0tSRmhvbWdiRE1QRDI5a1pNVEF4WWxwWDREa1Y3NTkwKzJMdDNEeExtZllmSlgwN0MwR0c4ZmtQZDhBaWNQSEVjUnFNUkJRVUZPSGZ1ckhUVHo4L1BoMUtweE5tektmaHN6R2pRQ2hyNStma0FnS1RmTnlFOFBPTGhoYUsyNXVIaGdVYU5HbFY2RW9uL0Z4NGNRUkNFeFdMaGJPc01MTXR5dHYxdFlsZ0tnT3ZkdTNjYWdJVHM3T3diWGw1ZWd3RGNjNGIrd29YemlCc1lpMlhMVnlJaU1oSkxseXpHNXFSTmtwZFNrWDAzNXhzY1BuUUlPVGs1bURqcFM3UjVzZTBqQ1d4NnZSNFJFWkYyejlXdUhRYTlubWN4MFdxMStIUFhUa3laOGlXTWhVYTdNS0txMXVqWlo3SHp6NzFJVDAvSEY1K1B4N0tsU3pCZzRJZDI3MW01NGtmOC9mZFJKQ1FzY01xWlZ4TlcxVzF5SEllYzNCeG9IMUlQSVZka1NiODhmL2VxaHNlR25NSXhpZnhSQkRaVEJhR25CZUJFcFhhR0FNRUp3QVlLQkNlWHk2RlVxcmk4dkZ4UWxBd0IvZ0ZDOVZNSE56YzNlSGw1UWEvWHdOUExTd2cvRzl5eEYwME1SdzhkT29TbVR1aUp0Rm90QmczNkNDTkhETU03Ny9aRy9mcjh2R3lUSmszUnNWTVhEQnM2R081dTdsQ3IxRkNwVmRMbk5tOU9Ra2xKQ2FaTm40VjUzMzBMQU1qSTBHTnowdTlJblAvOW93RnNBT0RwNldrSGJqWWdWZzdZeEdPTHNpWmV3bWF1VkFRNmFhNE5BQ3VTNG5sN2UyODZmLzc4alhyMTZ2V2pLT3JsZTkxZnVWeU92LzdhajRqSVNCdytWRFhPOWhFalA4R0lrWjlnbk1CZytxaWF2NzgvOUE1VVRMZHZweUlxaW05Rk9mRFhmcXhlOVJQbWZEY1B3UUlQM1lzeEx6aTlJVG1DbmFtMEZOdTNiME9YTGwyaFVDb1JHQmlJOXUwN2xFc0FiMWovQzNidDNJRzVDZk5ydEpIelhyZDUvUGd4MEhJNTZ0V3YvOENQajVXeDd2dGJmMzV6dHgvalUxR0pPcnQ5Z1lDUWV0UUFnaVVKZ2lWQWNDVEhnZ0xKeVVCQ0pwTnorZmw1Y0hOM0IyTzF3bURJd0xQUE5TNmJLUER6aFZ2cUxmajYrcUYrL2YvZjNwbkhSMVhlKy8vem5HWDJ5YjRNeVlTRWtJUmN0dUNsd3JWaVhTNHVWRnNwdUsrWHFxMC8vZlc2SWxhOXJiVjFCWmNxeXExNlJhdTFldVVWYmRVZjlkNjZ3cjBnb2xHSkNZUWtKQ1FrSVNHUVpTYVptYk04dnovT2VVNmVPWmxKUUFGSnpQTjZIZVprTXBNWnpweDVuODkzTDBmcUtNZUlOWnY5N0xQUEFCanppTzJkcUJzYUd2REEvZmZpbnQvZWk3WFBQWXZKaFVVNDIxVEtsMTUyT1M2OXpFaHN1T2JxbjJMcTFCTEx5bk83M2JqbnQvZENFQVJFbzFHa3BxYmlyVGZmUkgrb0g5ZisvSnB2M3hTMXcyM216SmtvS1NsQlFVRkIzRmkvMU5SVXkrZm1kcnVaYVVyWjNGS2JXY3I4Ym9yTk5CMWdwdW1xVmF2dUhoZ1llUExydnRkL21ENERIMys4Q1hWMU94RGcwak0rM3J3Sks1YmZZdjM4NkNPcnZyWG8yWWhmRHJPN01RQlFYYmZhU2dIQTJlZjhDQjkrK0Q2MmJQa1lxcXJpdmZmZXhWZlYyM0RHbVdjQ01BYU1FQUlJb29qZTNoN0xSMEwxK0tEUHBMdzhiTjYwQ1lxaW9NdU05anFjVHJ6NHh4Znd5aXN2UTFFVTlQUWN3SVlOSDJIMjdObERwdkNiZjhVYnIxZmlzY2RYSDdVK2RRZjdtdEZvRkI5djNvUUg3cjhYUDcvMnVxTWVPT2pUQnArOS9mSGZyVDM3YjNlTVpub09BSWlZMDZSaUFCUkN6SUhHRkxvZ2lWUWtBcFVnVUJrQ0hFU2toQUIrZndyeTg0T1lWdjRQY0xuY2NMdmN5TWpJUkU1T0R2THo4cEdlbG82OHZMeFJvUVlZRVZRbVJCd09COUxTMG9ZMWFmMTA2eWU0L1pkMzRwUlRUOE1qanoyQm1xK3E0NEtIaXFMZ3BSZi9DRUtBV2JObVd6NWsxUXhrOVBRY1FFTkRBOHBLeTNEVjFkZmdsVmZYWWUwTEx4NDdpbzAzUzJmT25EbE1zWTJ3VVdJc0VFS3NOdU9ta3FOY2dxL09lclFEMEcrLy9YYjk5dHR2LzQrV2xwYTYvUHo4ZnlHRUhIY283OU1oeS9CNlBIanhqeTlnd1VrbjRhdnFiV1BHaDJaUDBIM3dnZnZ3NEFQMzRmUXp6c1MvL2VwdWxKYVc0ZGUvK1MzV1BMVWFIZTN0bUZ4WWlJZFdQV0pOTTFyMHc3TlJYYjBOVnkyN0FxSW80ZHpGUDBGcGFSbjIyOHFGYnI3NVZxeGErWkJ4Slo0OEdjOCs5d0ljRGdjZWZHZ1ZWai94ZTd6NnlwOGh5ekpPUHVWVVhQa3ZQd1ZnNUNtdWZPZ0JTSktFaXk4OEw5NU1mT2xsQkFLSFA1ZndZRi96RjlkZkIwS0F3c0lpM0hMcmJVYzFqMDBIL2J3aHNyZnlsSmI3NnRBNGxPSmtVMnJXTGNGUUh6VUFSaVVCaUE1UUtnQlVwSVJLZ2dCUkEyUWlVaWNrT05QU2gyby9mVDRVRkJRTTVhbVpnWUlkTzdZUGkzNG1XMDFOVFVoTFM4UENoUXNCQUo5Ly92bXdtUjhYWERnMDdDZ3pNeFBMYnh1YWY3Qng0d1k4L3RnanFLZzREZzg4dU1xQzVLSWZubzI2dWpvc3U5SlFjNys0NGNaaENsczZGcjk0cWFtcG1EVnJsdFVPaFJCaTNmTDczSDBXM0FCUXJxcEI1M3h3aVV4VHJhQ2c0TVBYWG51dDdweHp6cm5BNVhJdE85ajNxS2dxVHZ2bmhmajlZNC9naGh0dnhoL1dQSFhNSGNjenoxcUVNODlhTk96KzB0SXlmTFJ4NURtbUo1NjRJT2tYMStsMDRxNS8rM1hjZmRmOGJIamZ6M256L3lsaE04U1MwbEk4OXZqcWhIOWJGRVY4dU9GL2orcHhPcGpYSE8xNGZkUGw5eWZQa3h3SWgvLzAycjRQMzcvclFHVWZaM3JHRWdITjlLY3BBRFdnUmcyZ0VRcWRnRklDUWtVUUtpb2FKQUF5a1F5b1FZYmI0ekdTYi8xRFByWHM3QndqcGNQTVUvdmU5dzYrV3RHcTJQbWFhOEdDazdCZ3dVbkQ3cGNrQ2JmY3VuekU1eDZUWUdNZk5BODMrNVlBY0JiY0ZFV2hab1VDSDFTZ1hLVUNVMjhhQU8zODg4OXZCZkJrYTJ2cmwzbDVlVmNTUWtadHdxNXJHcjUvNGdJME5UWEZSWG9FVVlSK0JKdDNUcXp4dVVSUlJEZ2Npc3VYMUhYOWkxMjdkbFdlOG9NVGQ0QkxaeG9CYWpFeXBOSllkdzZkQUdhUWdFQUVvUklFeUJBc3FMa2d3K1gwd09QendlZnpXVDYxbkJ5alRLcW9NSEdlV3FMbDhYZ3hNQkErcU1jZHlTVWR5eCsyMSt2RjdObXpJWXFpdFkwQ09tb3FPQll4dFFjVm1HMnEyMDFUQUZvd0dQeGc3ZHExWDExd3dRWG5lVHllbjQzMi9qSXlNdkIvZi9HdjZPZnkzUEx6ZzlqZDNJUllMQWFxNjZpdHJVRmhZZEVSTzBadXQyZUNDb2Q0Ykw3Tlk1YnN0WE55Y3REUnNkY0NXeWpVLy93ZlgzaitvL3Z2dXpka1UybDg1SlBmZUtpWlppZDBFMmpVaUh3S1ZBS0JURVRxZ0FnSFpMaUlETGZEQTA5SkRueG1TZ2VER3QvOTFwNm1rV3hOS1M3QnJzYjZFZUhtOFhneHBiamt1d3Myd0NpL3NzUE5EcmtFSmlwVGIvWXFCY3I1M3BocHFwdW1xUVpBWGJac21iWnMyYkpuNnVycVBpMHVMcjVFRk1WRHlzbkl5OHZEcWFmOU15Ni85Q0trcEtSYVpVeEFmTHJIVjlYYjhNVGp2OGY5RHp5RXFTVmYvME5PZEtXZldFRFlITktiYUFuZjBqRUxoL29oSmtraG1UUnBFdHJiMjlIUjFycGhkMHZyMjB1WExHNUtvdEo0bnhvTGpNV0dWSm94UmNxNGNCczFuNElnVWtrU0lVbG1odzZIREFkckVtbk9LR0Q5MUN6ek16L2Z5Rk9iVm41SXFUWXBxYW1vT0c3dXQvNzVIOUdaQjRkelVVcXQrUWt0TFMzbzZPaEFWMWNYZW5wNjBOdmJpM0E0akhBNGpFZ2t3by8vSTl6Z1pxTHJPcHVsUUFDd2VRcWlDWGlaVXVvQTRBRGdCT0FzS1NseGJkbXk1VWVOdTNaZG1SczRPb00vOTNic3dkeEQ2UERSMU5TTTd2MzdKenJvRGp1T2Jjakt5a1JoZ2s0VFRjM042TzQrK3Nkc2IwY2JNak16VVpTZzBTU2xkRTluWitkL3pwa3o1NU9Pamc3RkJyVm9Jb1VHSzlwSlZCaU5JVFRURXFGc015dDBJRWtTSk1tYVV3QW5CemFQeHdPLzM0KzB0RFJrWkdRZ056Y1grZm41bURKbHloR3RKZjVPS3phTHdJUmc1c3laN0FNYXB0enN0K1kyTEdKS0NLRW0zTUFyTjJhYXdwaEdyd0ZRNit2cjFZeU1qTW9ubjN6eWt3VS9PR1Z4UmtibWxVZjZpaTdMOGlFOXA3QndNcnE2T3JHM293MCtmOHJFeklOUVAwS2hmbWlxbWhCcUFGQlVXSWpPenFOM3pOaDcwalV0SWRUQzRmRExiN3p4eGtlWFhYYlpnVkZVV3BSVGFOWkVkbE9sYVNiTWRBNW1Sc2RiMmRiSzI4MzFValBiZVdkblp5TVFDR0R5NU1rb0tTbEJlWG41bUQ0UHhveGk0MWREUXdQcTYrdlIzTnlNOXZaMjdOdTNEL3YzNzBkZlh4OUNvUkRDNFRBR0J3Y3Q1V2JPWENEY0dFQmV2UW1tZWhOTTBFc0FKRTY5V1FydS9RODJWRXdwTGw0cWl1S1pSK0wvMWJtM0haTUN1WWZjdG9oU2lsMU56ZGkvdnh1YXFpTVMrVzQybjNTN1BSQkVFVm1aV1Nnc0xCaFZiVFEzNzBiWHZuM1FWTzJJSFRPMzJ3TlJraElxTlVWUi9ydXFxdXEvNXMrZjM4SUJMUm5VRXBtZDZwRFphUUhObUUxZ0FzMG9aSTlYYUY2djE0SmFSa1lHc3JLeU1HblNKQlFXRnFLa3BBUlRwMDRkOCtmQ21BUWJBTFMwdEdEbnpwMFczRG83TzNIZ3dBSDA5dmFpdjc4ZkF3TUQvR2kvWVhEVE5JMll3NXZabUQ4R04yYWVzcEYvTWc4M0FNNVBQcTFha0pPVGUvN2g2dFE3RUE0aDFOOEhnQjcyUnBNVDY5aGJ1cTV2Yld4c2ZMdTB0TFRXVkZ4MmxSWkxvTktVQkNwTjV6WnFXakJKb2VZeDB6bjgxbnlDZENQeWFVS3R0TFFVQldZbHlWaGYwbGg5NHdVRkJUQ3JEbUFXeFZ1M2ljeFYwMFNsZ2lBUVFSQ2dLQW9saExDR2wvYkFnaFVwSllRdzA5UTZBWStmZTl6N0pTVWxteDUrK09FelVsSlN6aWVFZkczZDd2ZjdJVWtTOHZJbUlSQUlUSHpyeC9HaWxPNW9iMi8vNjhLRkM2dHFhMnNaek95K3RKak5oOFpEelJZY3NJWVhVMUVVcVNpSzF2ZEJsbVhLZXU0eHFIbTlYZ3RxUnBEQWJEdFVXSWl5c3JKREh2MDRBYllqdEhKemM4R2FVUEtBU3dRMXp2ZkdaaUVTUlZGQUNHRUp2WlFPRFRYVmJXa2hHZ0RWbkcrcW1QNDM1ZHh6ejMzcmpqdnUrUERXVzI4OVBTMHQ3WHhDU1BIRTEzZGlKUURhcnE2dXJyL2VmZmZkVzllc1dSUGxUTWxZQXRPVDNTcDJzNU9kaTh5WHhpYXkyMVdhTE1zVzBPeFFZd0VDbHM1UlZGU0Vzckt5WWUyRXhyd3AydFRVTk9iL0U1RklCSTJOalZhMGROKytmVmEwTkJRS1lXQmdBSU9EZzRoR281WlphaGJvRWxZenljeFNMbXBLYkthcFNDbVZtSW5LK2Q4Y0FKeTMzSEpMeWhWWFhMRXdKU1ZsNlRkcGFqbXh4aFhRR3ZmdjMvL21talZyUG4zMjJXY2pIS0NVSkVDTGNiQ3pSenVaVXJPaW5jejg1S3dVcTlzMFUydDhvQ0ExTlJWcGFXbm0zTThBQ2dvS1VGeGNESmZMTmU2Ty9aajFzU1U0aWJCanh3NDBOalppejU0OTJMdDNyd1U0RmxSZ2dPUDlic3ozeGdHT21GMTlDZk8vSVQ0MVJJUVJYRWdFT01meTVjdjlLMWFzT0RVakkrTmNRc2lNaWEvM2Q5S0hWdFBaMmZtM1gvM3FWMVhQUFBOTWRBU2cyVGZGTkR0VkRtWWFiM2JhVlpxcDFPS0FsaWp5eVlER1VqbUtpNHN4YmRxME1adk84WjBCRzF0TlRVMW9iR3hFYTJ1cnBkNE9IRGlBdnI2K3BFR0ZCSUdGdU1ncFUyOE1jaGpLZlVzS3VPTGlZc2ZHalJ0UHlzM05QVnNRaEJNbXZ1N2pmMm1hdHJtbHBlWGRrMDQ2cWJxMXRaWEJpUWVhY2hCQVk4K3pBZ01BS0IveFpDcU5EeEFrQ3hLa3hFMW5EeUFZREtLNHVCaEYzOUlnNHdrZjI5ZGNSVVZGZkZ1ak9CL2NLQUVHZGlWazZvMXFtbWJsdmNITWRUUFZXMXh3d2VaL2l3RndORFkyT3ZMeTh0NEY4RkZkWGQyY29xS2loYklzLzNqaTZ6LytWalFhZld2Nzl1My9NMmZPbkYwY3pIaVZGa3NBTlNVSjBQamdRRnlTTGEvU2VMUFQ0WEFNODZjeDA1TlA1eWdvS01EVXFWUEhWWkRnT3dNMndBZ3E4SDNiWEM0WCtKUEFEcmRJSkdJQkxoYUxXWkZUQmpjdXVFRDRrWCtzUXdpTWZDSVZnR0lxT0F0d0FCeGxaV1ZiQUh6KzdydnZ2anB2M3J3ZitIeStzd0VFSjVBd3BsMGZyZjM5L2UrOC8vNzdueTFldkhoZkVxQWxncG95a2tJekw1aDhsQjRzcHNXdGtKVHlBQUFUVGtsRVFWVG1CdWk2VG5WZGg2WnBWbDh5UlZHc0JIV202QndPQjhMaE1OeHVOL3I3KzlIYjI0dnQyN2RqKy9idGgrVVkrUDBwRUVYQlNobVpNRVdQb3QrdHJxNE96YzNOYUd0cnc5NjllN0YvLy80Ui9XNW1LVmJDNEFLWDFBdlROR1dsV1hGQkJwdUp5cHVxTWdESEpaZGM0bHE1Y3VYOG5KeWMweVJKT20wQ0UyTm5xYXI2Zmt0THkvL2NkTk5OdFgvNXkxK1Vnd1Nha2dCbzlxQUFnNWxPaUFDanhsT2dnaWhDRWtXSXJDUktraUU3WkRoa0I0eXA3S1pTYzd2aDhYcmg5L21Sa21xTXhzdkt5a0p1SUlCZzBBZ1NIQWwvV3BqTHdaeDdET1Znaml1d1hYVFJSWGoxMVZkeC9mWFhZL1hxb1g1ZnJhMnRhR3Bxd2cwMzNJRFBQdnNNNTU1N0xnb0tDcEw2M2JpRVhwaCt0NUdDQzJRVXdFbEpBQ2NEa0JjdFdsU3dkdTNhK1RrNU9RdS9TVDdjeERxaUY4Z2RQVDA5SDN6MDBVZGZMRjY4dUp1RFVpS2dLVW1BcGlZRG10a2prREpmR2hFRWlLWXZUUlFOb0VteVdSb2xPeUE3SEhDYVVITzdYSERINWFnWjZSeFoyZG1tK1RuNXFLaXB6cjN0eUpzVU9HWnlNY2VkS1NyTE10NTQ0dzA4OGNRVDFoVXFHQXhDRUFSVVYxY0RNRHAxQmdLQllUNDRleTVjTEJhREtJcFFGSVZsZFpORTVxbk5COGM2aFFpbWlTcHhKcXBrbnZBVzJOYXZYMThmQ0FTYUFieStiZHUyOHFsVHA1N2dkcnRQQXpCUjFmN3R3cXh0WUdEZ2c1cWFtcXA1OCtidFpqN1Znd0FhdjZtbVF0TVNtWndNYUlJZ1VFcXBtVjlwSk5xS2tnaEpaTFdlRW1UWllTZzFGaVJ3R3BGUHR4bjU5UHVOeUdkR1pnWnlzbk9SbDVlSHlZV0YxcXpOSTcyOFBqLzI3dDA3QWJZanRSWXNXSUFOR3paZ3k1WXRtRDkvdm5YL3hvMGJNV2ZPSEd6ZHV0VXE5alVuemNjQkxod09XMEdHU0NSaUFjNVViOVFlWE5CMW5ROHdKQW95YUFCRTg0b3RVVW9aMk94S1RwNDFhOWJuQUw0QzhQejI3ZHRuRlJZV0h1OXl1VTZaZ056Umc5bmc0T0JIOWZYMVgxUlVWT3ppMVZVU29La0hDYk9FUU9NREE3cXVVMW1XTVV5bHhabWVUcmo0ZEE2dkY3Rm9GRnMvK1FRWFgzSUpNak96a0dPbWN4UVZUWWtiUlB4TlYyMXREZDUrNjAxVVZNekI2V2NNTDVYMmVuMEk5ZmNlTTUvbHVBTmJSa1lHVGozMVZGUldWc2FCYmQyNmRiamdnZ3Z3NmFlZkloZ01vclMwRkI2UEJ6VTFOYWlzckVSUFR3L2NiamZLeTh1Um41K1B3Y0ZCU0pLRW5UdDNZdCsrZmRhZ0UwbVNhR1ptSmtSUkpLRlFDSkZJaElxaUNOYXhGd0FSUmRFQ25LN3JnbWwyaUdia1ZEUlBmR2FtU2dsQUo1V1hsMjhGOERtQXRWOSsrZVcwNHVMaU9SNlA1NFNKM0xqRHUzUmRyd21Id3gvdjJMR2o1dmpqaitlVm1jNkJhU1NncVJ6UTdPWW1pNXpUWkVCajZSdXFxc0xoY0VCa0hUa2swNEpnS3MzaGhOTTEzUFQwcDZSZ3puSEhJUmljYktSekZBU1JrM040bzU1UFBia2FqWTBOR0FpSGg0MWw1TmZSSEN6K25RTWJBQ3hkdWhRUFAvd3dIbnp3UVFEQTRPQWcxcTlmajVVclYyTEZpaFZJVDAvSDdObXpVVmRYaCtlZmZ4NlhYSElKQ2dvS1VGdGJpemZmZkJPeUxDTVlER0wzN3QzbzZ1cENhV2twWkZsR1QwOFA5dXpaZzRHQkFhU21wdEpZTElaSUpFSjBYWWZYNjZXYXBpRVNpVURYZFNwSkV1R2lxTVM4V2dzMk01V3ZhT0EzSG5UUzdObXp2ekNWM0t2cjE2K2ZOSGZ1M09scGFXbHpaRmsrQVVEcUJKNE9hZlVxaXZKeGQzZjNsNXMyYldwWXNtUkpONFlpa2NuVVdTS284UjAyVk50emRVNmhVYjQvR2t1d0ZTd2ZtaEhCRkFTQk9wMHVQajhOc3NNQmdSRHMzcjBibXFwQ2xDVE1ualViK2NFZ0tBWCszOXR2UVJBRXBLZG40SkhISHJlc2tGK3VXSTYydGowQWdKNmVIbmk4WHZ6NWxkY0FHSjF4bnZqOW8ranQ2MFZHZWdadXUvMlgxcEFlQUhqdFAxOUZaZVU2Ni9FQWNQVTFQNFBENGNDcWxRK09tUTk1WElKdDhlTEZ1TzY2NjFCZFhZMlpNMmRpL2ZyMW1ENTlPZ29MQzYzSGVEd2V2UHp5eTdqNDRvdHg3YlhYb3EydERjRmdFS0ZRQ0pzMmJVSkZSUVZ5YzNQaDkvdVJsWldGU0NRQ244K0hmZnYyUWRNMHVOMXVSQ0lSQUtEcDZla1FCTUV5VVZWVmhTaUtiTllDaTZJUzB6UVZ6UHNZNEVUeml5S1pxazYwUVk0SG5iUm8wYUpkQUZvQS9MMmlva0orN3JubmlvdUxpNmY1Zkw3WmtpUjlEOEJFSzEyYmtGQlY5ZE8rdnI3cXVycTZ4cXV1dXFxMXBxWkd0eWt6eldZNkpnTWFEelArT2JyTjNMUVVtcmtoR2RCWXp6UkNDRnd1MXpDVnRxZHREM0t5Y3pCOXhneW9xb3J0dGJXWS8wOG5JRDA5SGQvLy9vbUl4YUo0OVpVL1l4bzMzL1QrQjFjYUJPL3R3Yyt2dVFvMzNYd3JBR1BPNTMyL3V3ZS91KzhCVEpvMENlLzhiVDNXUFBVazd2N05iNjNuVnN5Wk02enpzTVBoR0hNZityak5ZMXV3WUFGZWYvMTF6Snc1RSt2V3JjTjU1NTAzN0hIVjFkWG82dXBDWldVbHVNbFcwSFVkMmRuWmNMbGNhR3hzeE02ZE82MDBFVVZSa0pLU0FxL1hpNEVCbzRlWDMrK0hwbWxVVlZVTURnNFNWVlVoeTdLVmEyUkdVVmsrRWpYSGFRMVRjS2FaYWxVMmNKQkxCRHZwaXkrK2tPYk9uVnNOWUR1QXR3b0xDOFdYWDM1NWNtbHBhWEZxYXVvMFdaWm5Fa0pLdmtzVW81VFd4Mkt4cnc0Y09GQy9mZnYyNXNzdnYzeHZhMnVyYmxObGlkUlpNcFZtL1k0bFk5ditCdTgzaXpNM2VhQnhDZUJ4UUdNS2pSQUN0OGM5bE1aaG1wN0JZQUYyMXUxQVcxc2JTa3BLY01sbGx5RWozWWg2QmdJQlJLTlJ1TjN1UkNZMmZuUDNyM0gyT1QvR3ZIbUdTMmJYcmthMHRyYmdEbk5ndDA1MWVHMURWY3JLcHFHc2JOcVlQdytrOFhxQ0wxMjZGR3ZYcnNWdHQ5Mkd0OTkrRy9mZWUrK3d4NmlxaWx0dXVRVS8vYWt4MDdLOXZkMXFPUzZLSXQ1NDR3Mjg4ODQ3S0M0dXh1VEprekZqeGd4VVZWVkJraVQ0ZkQ1cmlJdlg2N1ZTUTJSWnB0Rm9GRTZuazVqUlUycUxvREt3V1ZQc0thVzZlUitEbkFBalJZQXZ3QmR0Z0J1MjM5emNMSjU0NG9rN0FOUURlQmVBdUdyVkt0L3BwNStlbDUrZlA5bm44MDJSWmJsRUVJUnBNSHJMamVVVjFYVjlSeXdXYStqdjcyL2V2WHYzbm5mZWVXZnZuWGZlT1FndUoyd0VtQ1dEV3R3K3A4eml6RXliT3FNMm9GRytrd3pmWWNZT05MWUJnTmZqalE4UWVEekl5OHZIak9uVGNhQ25CenZyZHFDOXJRMDMzblFMSnVYbElTOHZEenQzMWlVOE9QL3g3Tk53dVZ5NDdQSXJyUHNVUlVFZ0VNRGFGMTRjOXhlNGNRdTJKVXVXNE1ZYmI4VFRUeitOc3JJeVRKa3laZGhqcGsrZmptM2J0cUhFSEtaU1VsS0NaNTU1QmhzM2JzUlZWMTJGVFpzMlllSENoVml3WUlHVjg3WjU4MmE0M1c3NC9YNXJxclhYNjdVaXB3NkhnNWtWbEc5b3FXa2FCRUdncXFxQ1VncFJGQ21sbEpoQkI4S3BPRlo0VHpqSUNTYmtoQVNRRzNILzFsdHZIUVRRRGFDR00zMkZ5c3JLclBMeTh1eXNyS3hjbjgrWEo4dnlKRkVVZzRTUUFnREhTcnVIQ0tXMFJkTzBQYkZZckQwVUNyVjNkbloyMWRUVWRGOTQ0WVVITUpTZHI0OENzMlFLTGVFK0J6UGREak1NRFFDaXlkUlpJcURaaXRhdGpVWGpBY0RuOThlVlJ2bDhQbXpkK2dtbVRTdkhxYWVlQnJmYmpYdC9kdyttbFpmRDUwdnVjZGk0Y1FNKy9PQUQvUHZUejhZbDVaYVVsS0N2cnc4ZmZmZ0JmbkR5S1dob2FFRE5WOVg0MFkvUHRSNnpjMmNkcXF1MzRTYy9XVG9CdG1OeEJZTkJ6SnMzRDNmZGRSZnV2UFBPaEk5WnNXSUZ6anJyTE54OTk5MjQ5TkpMVVZOVGcrWExsK1BtbTIvR2pCa3prSldWaFk2T0R2ajlmaWlLZ3ZmZWV3K1JTQVN5TENNOVBSMzc5eHVUejMwK24xV3h3RTVTdDlzTlZWV3hmLzkrcWlnS2ZENGZKRWtpZzRPRDBEU05NajhHU3hjUkJJRVYyNE1CYmdUSVdZQ3lkUjBaYWVPVGg0VWxTNVlNQU5qRC9WMzJHdVRSUngvMXpabzFLeVVRQ0tTa3BxYW1lRHllRklmRGtTSkpVb29vaWltQ0lQZ0lJVDVDaUpjUTRqWkJ5Qm9Bc05jQ0J3WnJiQnlsZEpCU0dxYVVoblJkRDJtYTFxK3FhbDgwR3UwYkdCam83K25wNld0dmIrLy84c3N2UTh1WEx4L2c0RVZ0SUtNandFeTNLU3h0dEkxMTBVZ0FzamlZOFNBRFM2ZzFwNlR4NWlhRG1hMnRVQnpRV044MHA5TUpTaWxTVTFOdHJidFRjZFpaUDhTNzcvNDNHaHZxNFhRNmNlZGR2NExQNTBOcmF5dHV2dkZmb1NneDlQYjI0b0x6bHVBZjU4N0Y3Yis4RTZzZmZ3eVJTQVRYLzUraENaS3JuL29EL0g0LzduOXdKUjU3NUdIODRkL1h3T1B4NEdiYjRPR3F6ejVEWmVXNk1RKzJjVmQ1b0tvcTFxMWJCd0JZdVhJbGJydnROalEwTktDNDJPZ0JLVWtTWG5ycEpWeDAwVVVBZ0QvOTZVKzQ3Nzc3VUY5ZmowQWdnS3V2dmhwMzNYVVhDQ0hZc21VTHJyNzZhdFRXMXNMajhhQzgzSml2V0ZWVmhXWExscUcydGhaLy8vdmZzWGp4WXF0cVlkZXVYV2h1YmtaRlJRVVVSY0hPblR1aHFpcUN3U0NibG9YdTdtNm0xQ0FJQWp1eENlZUxzeURIOWhOQUxnNTJuSm9URW9Fc3dUNS9tMmpqWDJla0RRbHU3ZnR4YnJBRSsvenRTSnNkWlBZdG1Vb2J0czhHOXlTQzJHZ3dZL3UyeHFVSEJUUmVwZkhOSUh0NmVqQnBVajY4UGkvOGZuTytwMW5BbnBzYlFINSsvaUdOd2ZzMlZzUE83VGo1NUpNbndEWldWbTl2TC9iczJXUDUzK3oxcG14NGpMMlpKVmR6Q200TW9GVzh6TXhVUHNqQXlyVzRzaTMrY3lJMjBNVkJqbElRZ0E2RDNTSCtuQWhzUE9DRUJGQWJDWEFqd2MwT05DU0EyRWdLVFUraTF1eU8vVkVoWm5zOTNtL0dZR2JkY3FhbmZYQTN0WGR0WmpCenVkeElTZkVQYXdMSkZGcDNkemNLSmhkWnpTQXpNak90NG5LL1AyVk1mRStPSmJDTkcxUDBoQk5Pd09iTm04ZGNFSSsveUtTbXBqTHpsSEpkSEFqWDNZRVFRdUpVSEl4eGdjVHcwMEVBQ0VrRUpVb2gyS0JIUmdIYVNIQTdGT1YyS0dBN0ZMTXpHZUNvRFdnakFVeTNBd3dnbEJCUWdJQVFDMlFHekFRQkFqRWhKZ29RK1JJb3RobWxVRU5xVFpZaENBUUNJVkExRGRtcHFjTWFRZnI5ZmhCQ0VBd0dvV2thZkQ0L1VsTlM0ZlY0MGRmYmg3N2V2bVArUk00UEhsdk5hc1lOMkRadDJuVFVYb3NmMk56ZDNSM1h5REljRG8vVXFkZFNib3FpV01yTlZHOThEU3JoRkJ6bGxCeTdwVFpUbGNGRTU5VWRyN0lJQVVrRVBRNlNvNEZNR0FWb3lhQkdFa0I4TkxWR2t5aTNaS0JqY05KSGVnNXo5ck9ac3B6elA1RXFzOEdNUUJEWTdGcUJDc0x3bVJxU0pCbGdrMlRJSnRRY1pxS3QwK0dBcnV1UUpCbVptWmxXNVFCckJDbUtJb3FMcHlMYm5FVXdzU2JBZHRSWFFVRUJjbk56MGRiV1puWHBUV1Nlc280aEl3R08zeGpZUm9NY0J6aG9ta1lKa3hoRFFJdURqVTNoeFVHUFN6MFpCakRUdEIwSlpFZlN4MmI3bVNtcHBNQ2ppWjdQZGM3QXNIMkQ5Z2JRQ0FFQkFSRUlGUWhCbkRvekZCb1ZCUUdDS0VLMFEwMlNJRW5NcDJaQVRYWTQ0SkJsT0V5ejA2Z3FFQ0dLQWdLQmdOV3VteldDbEdVWjAyZk1PT1NCMlJOckFteUhkVGtjRGhRVkZWbUE2K3pzdE5xUTkvVDBvTCsvZjBUL1d6TEFjZjQzcTRNSUR6a3VpZGlDbkdtZUluNjRQYS9jQ0V4QVlRaDJJT3c3bmd4WU5wVTNxaitOc24wNmltSWoxczNCUUc0VTRQRS9HK1lqLzNkc1RuOEFvTHBPSVFnQ0RKNFJhdlkvQTdHVW1jQUZCa1RUN0RSdmVZVW1Nb1hHQWMxVWFQSEJBVGM4SHNPWHBpb0tKaytlYkxYclp0T2lvdEhvaUZBalZWMGdUMVlCOVQySC8yUXVTUU85L2pqUTQ3SW53RFllRjZVVUhSMGQ2T3pzaEtwcGgxVFVHNGxFME4vZmI1bWpiRXZXeUpKdGxBSTZwWkFrQ1U2bmN5VEFRZE0wdnByQmdwd2dpS0JVcDdwT1RjRHBvQlNnb0t6OUtnQkNUUENaMzNlWUlCd09LaTZnUkVhNWpkdTNlSFZ3L1F6cElTcTUrRGVmNEhkY3poWmwrYytpS0ZyUFllYWxwbWtRUldrWXpBaWZnMmI0enl5b2plWkhrMDJ6MCtGd3d1RjB4QUhONHhtYXZENFE3a2RwYVNseWNuSVFDQVRnOVhvUDdnUmJYUVUwOUJ5WkU3KytCK1RKS3RCbno1Z0EyM2lFV2xWVkZVQUVlSDErZUwwKzVINk4xbEtEZzRQbzdPeEVkL2MrOUppVDZmdjYreEFPaFJBT0QyQndjQUNSd1FnaTBRaGlwbm9iR0J4RUpESUlWVkdNcTNwaTh6UnVZNHBOVlZWSWtnUmRwMFNuT3FpdXd3Q2NNUnFWUldWTkFCRFo0WUJ1bXJxTVJ5eTZOOFFuQWs3TklZbDV5WU1TQjJHQ2pnSTJBa0tTQWk0T1dQR1A0MzRtaEplYW9KUmFkWmpzLzBnSU1TcEVIQTdtTzZNTWFoYk1ERC9hY0xOelJLQ3h0a0l1dU53dXVOMGVlTDBlZUgwK3BKanBHMm5wNlFqMzk2S2lvZ0llaitlUXppdHlwS0RHd1czQ0ZCMkhxNk9qQXlBQ2NuSy9XYmRSdDl1TndzSkNCQUs1Nk9yc1F2ZCtNN2pRMjJ1WnB3TURZUXdNR0RDTFJxTndlenlJeFdMbzcrdUZKRWx3dTkwam1xaE10V21hQmtWUklFbnlVSkJoQ0c1RVZZMi80WFE2emNlWS9qaFJoSzRiMWxzMEdqV1VpaWhpeUpaRkhOZ1NwQVF4Zm1Bb2RrRVRYaXlTdGFObWJhRGkxWlQxUEdyL3ZablF6SVBOQWxnQ3B6OElJZEEwRFE2SHd3SWFNeThCd09sd3hxZHFpSUwxR1ZGSzRUTHJORjF1RjBSUndoZWZWMWwvMStQeG9LUzBGSG1abVhIcEczYUY1dmY3a1pLYWl2VDBkR1JtWkNJN0p4dXR1NXNPR1dvVGF3SnNYM3QxZG5iQjYvTWZ0ci9uZExvUUxDaEFZTklrTS9ldDIxSncvZjM5Q0lWREdEQVYzT0JnQk5Gb0JBNVp4dURnQUh3KzM0ZytPSDZMeFdLUVpVZGNBYjhKT0txR0ZCQkM0UGY3VFJWSENhVTZkTXBNVm1vTXJ5RUNaRW5pL1hTY3YyN0lGY1lCei9xSERPME5neDhiTkdLREcxVlYxWUlWcFlDbXFTQ0VRaENNYWd4RlVVQUVBWkpvdkNkVlZhRHJsQnJGNGtNcXpYTDYyemFCR0NhbXBxblU1WElOeXpkajRPS2hGZ3FGRUFxRlVGdzhGUzYzRzNzN090RFd0Z2V6WnMwR1UzM2ZPMzRlMHRMUzBOZlhoK3B0WDhMcGNHTEd6Rmx3bXdyTjQvWEE1L1daTGJvTmhaYVJrWW5zN096RG1seWIrZnhpS05XZDZGdjF2d0NBakNkK2lJRzM2aEI1cHo3cGMvelhIUS9uS1VYWWQ0SFJqc2g3K1d4SVU5TFJlOCtIQi8yNm96V2JQSmJXL3djYUx0Ynd1T0xUcXdBQUFBQkpSVTVFcmtKZ2dnPT0iXSxbInNyYyIsImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBVFlBQUFFMkNBWUFBQURydkw2cEFBQktvbnBVV0hSU1lYY2djSEp2Wm1sc1pTQjBlWEJsSUdWNGFXWUFBSGphcloxdGx1VzRyV1gvYXhSdkNCSy9PUnp4UTJ2MURIcjR2VGNqczF4VnRsLzdyVzZYcXlJejRzYTlFZ2tjbkFNQzBMWC85Ly82cnYvNnIvOTZTbXZoU3JtMjBrdTUrVi9xcVllWFA3VDc1My85L1BlNTAvbnYrVjhzdi83MC9QWDcxeDgvQ0h5TnZ2TG5CL1g5K2ZxOGZELy80eGQrZjhZei92cjlxLzM2U1dpLzN1alhEM2pqbnl2d2svM3ordk5GOHYzdzgvMG4vWHFqdm4vK1VIcXJmNzdVOGV1TjVxOFhua3Y1OVcvNjQ3Sit2dmozNnkvZnFLelN5bnhRREdISEo5N252K25uQ3VMUHZ5Ly8xdlBmd091ZUdQbnpFOXQxdnZ5K0pSYmtMN2YzKyt0OS8zbUIvckxJdi85MC9YMzEvL2pUM3hZL3ZMKytILysybHVYWEd0M2xYLy9neVgvN2Z2empZOEpmek9HUEt3cC8vY0VZNlo5djU5ZS8zN2ZhOSsyZnUzdFRZVVhMTDRzNmkvMzhmaHRlT0ZqeWVINnQ4RS9sMzh5ZjYvbW44MCs3MzN1eTVldWU5K0NmK2ZRbnNDdmY5YVJuUGUvelBmdDhuYy9rRWxQWW9mSTFoQm5pK1Y2TE5mUXdvL3VVL09mNVFvMDlydGpZeXhuMnhmYWxHUDY0bHVkOGJqK2ZONS9HSjYrSGw0YUhOM3Y0bFgvN3ovWGYvZkIvOHMvMWZkTWxldTcyeDFweFhVRzc1akxjT2YvTHE5aUQ1L3UxYi9rczhPOS9mbTMvL1NmN3dWVFp3WHlXdVhHRDd6MSszbUxrNXgrMkZjOCtSMTZYK2ZxenljOVYxNjgzWUluNDdNekZQSkVkdU1zVDgxT2V1NFpRbjRkMWJHelF5NVdIbU1KZ0I1NmN3K0lpUTRxeGhLdUdGdnhzZnFjKzU3VWhoeEw4TnRqRVJ1Ulk4SzNHRHIxc1Zrb1orNm1wWVVOdmpqbmxuRXV1dVYyNTU3ZkVra291cGRRaXlMMDExbFJ6TGJYV1ZudDlXMnlwNVZaYWJhMzE5dmJRSXhpWWUrbTF0OTc3KzRicjVZTmUzdXZsOVMvZkdXSEVrVVllWmRUUlJoL3Z4SHhtbW5tV1dXZWJmYjRyckxpQWlWVldYVzMxOWU3bjJpREZUanZ2c3V0dXUrLzN3OWErK0tVdmYrV3JYL3Y2OS82eGE3OTI5Wi8rK1IvczJ2TnIxOExaS1Y5WC85ZzF2bnZWK3ZzdEh1RWt1MmZzV0VnUE8xN2RBUXc2dUdkM2UxSUs3cHg3ZHZlQVUrVEFSV2IzNWxxUE84WVdwdjJFL0QxLzdOMC9kdTQvMnJjcnQvOW8zOEwvYmVjdXQrNy94ODVkYk4wLzc5dS8yTFZsbkp0bngzNjgwRFc5STk3SGE5N0FGWDFqZmZ5MXhDKy84YXZqMjdOdVlkSWYvK2MvdlY3dlo3LzE0VjdMdStwVGMwaWx2V3h1SEozTEdIUGlWMmxFTDJXL2laZU1IZExYV255NWc5bldNKzg5cmpCbkhMdTJKKzg2ZHN4ZmU0RzZiK3kxVjU0SmU5cVR6MXExMzJ2dDhYQWZNKzkzalRWQ0duenVFL29NcVY1UDQ2MG02NFgxM1h2WG1RWTJzTCtZNy81OE5lMzY4TE9ZNTczbUhwM3RIUFVlVDhwanMyT0EvOHN1WWxUWFRLTFZzK2FxTDhRa3gwMTRmZGZMT25RdU1lVEJubGJXSjR6U0FmWTN6L3FOVk4vd0xTeHJmaVhPWEVlNklEVjEzaXhHYlFtRDdrU1ozc3Yzc01GZjNTekdIUHh4eGEvTkw5eGNudjR6b0NGMThxNnh6b0J6enE5ZGJlV1MwbUtkWnI1SHVWc1A3UHNjUUg3ZnE0VTFTMXhoclB0TCtWc1kwRno0UVk5NXJ4cHEzeVd3RVNtWHE3U0hQZmxxNXVhTU4rdTcyWXpPNjl6WWY3UDV6OHlyY1RIQVFTejl1MGNxMXpEZ3hidVV0UWF3d3EyRnVQRWpEQk96aldzVXRqbHlLWFBFL1BJSkJjZC9CNSs4NDZoY3lvTWg4R3ZYR01lcS9qdUwreGMvbTZXTVdQYVk4Y09wOTJ6ZkZkWXFIZmVPaWJET1BXTWJLVXhYcHNjMlYvYlcxajYzK1h3dllQL0hXMk10SWJBaFJQcjJmQmVoL1FGOUZtQ0NLZlc1dWNmK3hsQXg0bWVYd1hLWDhSVSt2UlI4OHlQQ1l5ZnRUZmViV250NVQ4eDlyblcxOHVVSmlIM0huTXFMRFg3LzdncStmdlBpcjZWdngvcHhRVEdOc0h0Ym9PUDFzb1A4dFh3UkFNSzd1VXBRRE44SEZVYm5mbk1BU2NTczJPVis3N05lYkNBYUJSZi81bzlYNzY5ZVVoNHV2dGZ2aWQvWi9mMDFYZUZsaTJyQldwNVpndWF5ODRRbUxqeGs4LzZzSWV5R1QzMjBsVEJodFlTVHhJY2tQUXgzL1BhajV3NXNhb1JudlBWaks3aitZNWNkTUs2d0JSY3UxZGJmTC9MaGtYZTRObEc2bDhhT0R1Z1NLMVJUK2JCalhqbEhMOXQ3WHZ5aEZaYWtoNmZuRzJzTEtRZnViNy9TNzdyRzgxNnBqRldlZC9JcGdHdHZCQUt3R09OLzhsdnpSK0J2TlU3d2xML09BejR6cHhiM3lDek1malRIY1dOVTE4TTlWWnowVGJNMjdoNUhlOWRSRUptOWxJN0pMbExBMTBKZ0pmK2R5VjcvdVQwL1h2SEtHdzRYSmpmTkJSY2lUK2NlcERVM3hqZUJWVHhhT2xwRHdUS0pydlV0R3lOczd5N2xHNERBZ3BEbGN2ZlJpbXZFUlk5S0dKMVZUSG9IVjlRelZERUJwcE9RcHJrV1ByVHp5ZzF1d25uNC8vZXlpckVOWUpLVjRwNzUwekQyQVR2c3lWcFB2OHJUZExXT05RSlFmT0p1OGRDdXpYczloQzhDWWt4RXhNZFBHUnU4aWdSVklta3BzZDBFOC9SaUd2dGEvVTQ1Z28rZG5jZW5TOFpRSGx5clB4MThZSjltNUJjcWNjWlBXcVcrWHd0N0VqSW4vc1J2YmFJQWNZMzd3RnJaNWtCRVh1bmV4TS8rZU5zdmlBT3lEZEIxMTRKb1drRERBMFpoTWMvZ2QwZHEvVDdzRysrNVFPRmtWRFdDRFlKYzIxWGt4ZWkrQXRCa1FoUG9jRStDL2lEK3M3SjFQanZpOXgzR1V4OUR6cTQ1WFdQaTd2RVJFTURZeGtKeStiemxuQVQrR3JtaU1jcXp1TTNiMEFRUmdPaDhIU3dCL2lOK0dTQXJmTzlLOFNVOGNodjh6U1VocW1DNjVka3BHOGJBSlZaLzg0dG44VEdMbGdGckl4Vy9qemtsc0FFeUVhK1JGb3NPUUk2YXhTaG9GUHpxL25hQU9zQzI5b2RZTFFOQ1JkUWpYb3pBSGNBaXFtamEwaUljZjVOMXV6Wk9DSVpGU0VlcXdENlVZMGxDcHRZRGpFU1FzUzhpVFNHNFZqQ3NOTDZ1dlo4SmZNU1ZoYkV2dlZkSmE5OGd3ZDczT3dpM2tXQ2VYdXc4QXk4ZjcvSHRZcEM1VTJFbFo5dkljYkFLLzBPTHNWdllQcHp0SmtDK2hPUWJ1cGQwcHp1dnRVSW0zTDdiQ3dVRVNzejVXYmxCSE91SFMzUFJtTUtRSlJMU1lERWZzQkhZTlJ5K2x3eDI5bHN0QmJ6aVFSdkN4d2RqZmRBVUdDQXh6VVdGeExWYUNPRmpBOURneFFmZFpITUpKUmU2ekhDQ3pSUGVJVWg0TjVmUDRzUDFRSFo0M3MwTnNVNHBEYUltZG5BTEJqS24vdjVjRmplVzR4VXlSR2krSFhMWUMvNkN4QUtWY0NQOGpoc2hxT1pudndUbXNEYjJuRURWaVRNUVplL2FpWDdZS0phdjhJdlF4ZzVtOTRGNVlFejNCOW9BRzRtTDc4QXc5S2pnM1VSMGRoNEVaM1hlbk5oWjNwZGJ4V1Q3M250ZFMzNUJOQW9ZZDRzRHozZzdMdnBKQS9BYUtCWnZnQk1YMW4yOVdNbWNIZGJSY3lDWUpTVlc1WGQ2dmZTZVJQZ0k4QnRDOWF1ZHdDZ211QTZsSS83Y0IvV1FCa0FNWkJLK1dONVFGd3FoNUFGWTFjNlBCbS9VZVBsczNuWGlWckVNcENCMG5vMURYMWVNSXh2bmVvTkpnZ0VMcmM2YWFrdWJWWGxZbDRWbEJRSWtiTXJOVGMwZFJjZWtHZ2hvcUljMmMrdDU0b2tUTXdBdVFBYmVlMkUxaTFENlFNWUMwZ0NxU2VSWUY4eXVtU0tBanFVcUhpQkljQTU1R1ZFd3NaUlFwRGsvc0creElZU3JDVTBCUjNadVdncHNZY0w1MkRYQXZHdktQVWFpQXdJS2x3V3BXSFB6UGZ3V1ZCTmtqdEF3VENPV2I3NWdub3QrUWhXdndLbnJ2bnJDbTlZTDJ6VHlQVFVBeklRTDRESmtkQVdYRGdxaFBrQ1laMjNlSFJ3QmFOeHEyR3JxT0FnN2VvUFpnQWg0RHVKcWh2ZFRqVE5xc0JjSlhURENSSFI5Mk1EcFp3Z09OMkU3dzhwQmF3SXpEbG9ENEhvQjVIQ0xVREo0OVFiV0N4VGlBb24reUFEczVlMndpL0tDbkVRWGpIYjM1eDR2Q3h6QlVvSUlXOHJXb1VXZ3IwUWIvSE9OcEJXai8xaXhUdUJoWSsrcHo1NTBHeXNFUnR4dzVwNGpJVGRPSWhpVUFFSjhBL0lRclNlVmhZWUpRanM3N0gyK2NDUXVHWDhrSEJDOE96aUZIRzBoSmNJc1lWTWdMdGd2VXFVU1A5VU1GMFFwanU4dUh4NnNXZ256WXpIblU4SGtyK2NLeHpkU0FUeVREWUlrVHJidWdUQUNQQldUZnJHcmhHOWVMOUhLUDZKTStSTkdVSlArNnk5MWJpWEJzN2lxZ0o0QzFBSExoUVJDVmdTa1RKUTlZa2U0TE5RUHZJa2RKb0NPaWxJNUNkR0FrOVVYaEk0RUtaeDgrOEdHT3Q4WHFwYkN5OW9EVTVDS3lwSzFXY2VGZlV3WXdyY0NvaFg5M1JNc0VIN29Uc0FFMGJtOEFRZ3dDTVBwVWJSQjBJM0ZMNlFFbklhMHNNdDN2ZEFrMzBOY2hLR3lwSERhSmpYZXQxSWJVK3FUaTlrOVpKZ2Y5UGcxakhrRkV6S0dHNktGNzdJaDF3bmhSNmoxcGlEampTVU9vTklORkJwckJ5R08vK0JaZXN6NzVjNTFGUlRsQm9sYklPSmwvQnBKeDFaZUVjditqSTEzbDQrQ3dvRVk5TEsyUkVWZXlKMHZUTjBQWVZNSkZ4MlRhd2d4Z2pPWWl4SHRQSUNrQzdjWUgrOFA0bjFMVGY2OU4wNnZqZ1RtVW1oZ0M0dUh3NEVvMkNUT0FnRUQ2aUJWbnd1R1JZLzh0Z3MwakhzaEJGQUZEZmNObUVyMmN4QzRpK0J1S3F5ejZnTW43cUFRd1pOb2puYzExU3ZtR0hDOHVIRVJYZ2tNYnN4RzVNaUdZUUpRZmt0NkFOZTM0VkhObldjTkRpRDFrMVpFNDM1dk96RnA0akFENGNmSHNoTUp3aEpnNVRBRkZ1ZjgxZ0E4TUNlRFVkc0dJbHk1SnhPYUl4THAyRHN3Q3NrTW5zQjhMdmdBZkp4OU53b013UHJlSU4zTnZSQzdNZU1YTzRiRVRwWWZQdjZDZzF3Rmk4VjExd1RyZWdzYjJVYTRaSE1nQmFvZWlXc3VGYU5KWExNOHBCTnA5dEVvbU1lSUNlRDd5ckd6bDZWbEtURS9TRFpMUDVFUWdBdmsrTlhqbDJaRzRBZGxvQk80U0NWU3dmaUlJWlYvdi81RU16UklpVWVYSm1wT0JkNElZOHpyVFJnOGtRVyt6VzlYV0dFMFJUSkN4NGVKRWdBZ2R3SHlmRk41WHpFUzFQNDlzRnpvMzNvRVFaWWxYeTBaN0RHTDczTzdJakljVGNsNnZRQ0l2MDRVYmtab2ZpV1BEMUkrRXlTQmVBUEhiZnpwWFFpSkhTNTBZTTY5dzJ2TC9neTZCUFBLVnZ4YURoY2pFWWhRaWIyYmdJQUNzemhQVFRkUnFiRzF5QVFXdEpsaGYvZzczeFhIUzVBQmJLUXMxbzZqQ095QVVpb3plYkF3RVRWZlJnMzZTWWczS0czSk4rdk5HN1h3Qk5qZDRIS0krTUFQY2FraTVIQnRERGVqKzlnempHS1lNTVRKaUFBZzI1MzRYRmtOL0NHR2hjVmRFMHZlQ2s2azViY2lLLzF6UWR5RWx5VHFIYTcyNVVHWVFESHp1Wkcvb25wQjVZclNmUkNUZlVOR1lkWTNuSFBJWkFKeUQvNmNYendLQm9uUGNTUEFGWnJQZTRaVndqakdxTVh3U2lSOE5QRE94U0N6cXZENXI1YVZnSWlZUkpNVVJENWU4YjRxUHZpN0Y1TUM3MGNvYnhncGtwQXJZaStoS1lxTHBkOGs0aU4zK21IcGtLcWdac201aEhQa2xYbHYrSXFadEk0NzhUMkUyMjlidi83cFFoQWVLUEJ6SmdGU1lZNnNDT3h0QzNoM0FLSUQyaWplUmxsVys4R0xIaVJSdXZobDZUdWNLK0pWaElZTU9VSU9RRFVLWlA4TExNaG1sWEJzeURBaHlqd21sNy8rdGp2WDkzdHpjTkVjRGp2bURiaWhuUk9Pai9hUmZrYzJDeVoxQ0dEYmtERndGeFNxSzV2VUsxOVpGL3JtSVJ3VDdMeFRqMlpNRldmMkZpYi9uWk01S0J3b1FIamQzQlpzOWc5ei9jZEZzVWJiSzY4WksvbHUxRTh3ek8raDYwSzh3R3o4RFZuUmVLOGxyMFZheE5kTUw2UnU5M0diNlVXV2huakJmRk9ycHNyVVpWa1VoWEdFb2YzOXEwOG1aa2kxVFgraUxZQWErWEo5dUtKOW05dG1IV0NGSGJxeVppRFdvTGlBZkN6SENBZFlZcWNtdkJGUUQzK0R0MmJzR1Y0SHFRYW4wS2tROWc0VE80bW50eUpDUy93M1Y4SUs2TEd4d2poWXJGQU5mOHArSUJVeWVSR3VDdEVUTVlWQThKUjJtME1DODkrQi9YNTF3K2FnS093T2tmZE81dUtXeW1pZ0JBdnFMR2dLNE01MW44djQvdXlvZjc2UWp6MEc5cEN4alNoQzdNWVB3UisyRk9XTnIvRCtjUFRTRzhDR1ZtZ05KWHQvQlZZRyswUEJoeUdoQk53N0lUUEJBR1dxUlAveHFvMGdhWmdZNFA3ZUFEaWtBVFZ5N2VlRnR1NnQ5b0pPUWM0RkZSZzZ2UHJGMU1HZVhUL0UrZ1BxcGc5V2h0U0ZnQU8rQ0llWjNJc0t4RjdRUWVMMWN6d2ptM3NzQ01pQ2VxdlRvNVM0aHprbjJRMXZuRG82SFZva2hxc0x3VFRDMkFNRDJSZWhuc1dBTTNTbzJ3ZnRoeVpBR0Q1MzVYbjVWYVFsd211bXdtMFFOTUNGQ0QzQ05jdnU3RE1lRFV5T1pqNzdoeDdoNU5nSFV0SXMyRHNWaUliS2JDb2FWcDBDTWFoNWpBUDNmVEZMZUJVRWxpZ0hQK1NTTC9VdWxrelEzcmZISEpBT1VDeDZxdHkwY3lrQWVyc1hreVVUR0J6L0dnYXZoR1ErWndQbEhGaW5RLy9RTy9EQlYva0hjR1djQWRuVTRHNGdhekRCNFE3eWxqQmJyamRyLzNnL1AyTDFrVzltc0JBU1k2RllSTTEzNFpLWURmc2lBUUV2Q1NkOENqc1BpM2lmMjBUSVJHczh4T3pyZy8zaWhxQlBXRENMWVdvTUFOdmI3QmJMU3B5RzFTQ1FRRjVBR0NkcEd5Zi96TG1pVEovMkZjK3VJRnEvVHZtRnJNZGZPQm54eVdWTFc3RHZpVkVpa2VEeEExV0ZtMFhzaEhVQjV6QnJOTUdFMW02UE13aFJZRTB6dzVuUUhlemFEVmplSUJOdmpBNzU3cDhVNzRSakxQT2szUGQ0YnUrZlVCUlordlRHY3ZrbHY4bzlJbkJQNkErcEpKdmhrVmhCSXhkVGhCRGVneEJRTnFKa0lBaUdqLy80blR0ajhOKytWTHJmQ2JYdzU0VkJCUk9pR3dHQTViTmx2QzF2VE9BSkNpelRjWVowb2dJQjdtTmxaUTR2dGc4ZWdZVlFRUzQrZUtiTmRpRGNDYXNEQnpSTjVCRjlOK1dKVnVtSFBSVitCTWk4VC9tTWZxbDUxQzBiZWZkRVd3K3dybmt3QXkwRTR3bGhEeHdUaTBEVFdINHczRXZvWXovWkhSVjJCN3d6ZUkyd04rbnJZa1RQcjVROWlwWEYvektNaW5qL0lnTUJYV3hwdGladjczampvL0dDYVd5ZktRSzJjMEVUTDZ3Tklib251eFhEQUptTzNHa1JodEZ1ZHJpYWFrVko4NVkzOFNTWlJNZEF1RnpJVTN4dVhtK2VaMTRtYWowQnd5YUEvY3dPc3NxbUdFQlNMbjFnR2JlSG1oTkdVUU1CQ1ViS3k3aVUwUlZqTmNDU0FuZ0VhcmtzbWRYQUlWajNDblNqREpJL3hjeUJUR1F6TzZJOEI1MlIxZHk0YUdndUszZEFHa0JvL1dMVm9rZXFzczlzRHU0eFZ5QVBVR1crejhSK3NmUjFrc0VwbjNPdUFGQTB6NFYwanFtU2UrS0JFYWkvMG9WMVlGZkxCK2VEUFlNV3c2UUZ3UWQyakl3YmdOczM0RnFMSFlNSVJZVHZzOGRraitIUjE0S05OYzJkVDlDYkg4d285Qzk0Nk5XTS8rSXNzY25ySktCREx3TFhORjVvbm1lQmhJWkJuT3JKek9pUnpnTTZSaERrMzlpSmMwaG9FeDEzckhDOFdhYld2VytjQlRoN01pVFovRHJ4SVJIS3NEZENkb05ZOFJWSEtBRHo5cXpRUThlNUlBTlEvTytjbGo0QkdZQjhSSTQ4QVJUbmdyRW4zQnlGalJEYnJQaUZxK1VZQVdoQ1RabGRvd3d2OGNqTTJGNDNsMkMrK2I2SnQ4MWNYczluZllnb0EwWUlQZ0xzUU5wM2VmenRTVEJHMEhDYjZhSFdMSjV3dWtpN1JzKzhBYlNIVDRXRFpVVHBqU2NYZVlmcFhUNGNXQ3hnTnB1MWM0UVZFc0M1YTZ5ZHBSdjZnam93UG1xOGtuRUpOQURnNG5uQkIxT1FxZDBJbklEWUFzbS9xNThqTU5nMFBnakh3Tzg4cW5qalMrd0pVQjh3Q2c3WElKVlFIVURRT0xsMm5oMEhuYXpmbkh4YTdkWkUrS1hpWk1FY2p3b2MzdjZrS2tYNkNCQUxGaDFNc1dXdUFsVDk5b3ZwNEFiZklwUmcyMWdYNkh2bDBuTkpyWXNCSC94K21VZ3o1bnhvSG9nVkxHc1MzeXN3aGd4aGRTcUxGRTUwY2tzc0JZQkExK2ZpTS9PVFFDVElEUGpKZFhzWWlEMjl0YjFjVW9RYnd1WFBnY09ReTZBRmN5dG1nN2NudVI5V2g2eUx2Qkc4Q1JhYk1wSDlQV3dITzVkUUI1VDlGNUk2S21NZGt4Zy9DWnVZSGF2SkhzTjcwTFlZbzZ4bXNtdmZuYzA4WUtGcEhBVDRJTEVzRlIvVk52RVBzLzlraDZ3S09yT2hQelBXNFdGRGZXRHhlRG5zazhWTzdnWDZFd2FTWVdhK2NVbFI4WHR6U1dBcVhBNFhHY3Jld2QzazduRVE3N21RME85M2t0K3MvY1ZHSnBPa2tmODAxaGFWUWNTSXJpRU96SjVpeEN3OHpHTWNkYzdtQnZWU3ZORUxqOWlOQy9NcDJORURTOWtmWVFMVzBJRW1OSWVxSGw0VWpLVGJzeWJRdE4xNFdJdFlLMzhEcVRJYldHY2tKbVF6T0pjNmVucTRiVjFUelBMaURqUlg3TndFVFVvSk8wTGFjaG1JZkZuRmtxRkdrd090c3h6M1NvVVB2Z2pkY0FzVXlrbER3VEF3Tnk3VkUwK1dNSjZERytKc2d3MXpmNnNRdXNmTjlkK2Ztc0xqekd6S2ZsektRY0IvUXk5Z0o3RDNpZWEya3FZQWN1RlFBaHozeTZZb1AwOWNmMzBsM0RlTFQyN1l5Z3Qzdm9KT25ZMzloSTVVZ3A4Rnl1UVA2czc3d2lMeEI0SCtlVmpvZ28vaWIzdzFpSnVQQkxPSlYxaDI4SXY1V3lJN3NhaXVUckErQlJpeXZtYXhnV3lXV0liUVJnZ2h6bDVwNVZnUW1tWFVBc3NoaVZmUHBwb3RaeWp6M21iNVpHS3lnUVEvQWhNQVgwU2UvczV0VEVJSEVXY3JOV0dQT1cwMEgwSHJDOWZIdldZaURCYnZNWEQ3elZsdVM0OStjUllzOEpBV3YvNm1MWWg1L0l6bC8zNFkwT1Y1RUpkcmpVekdWcTJBeUlxUUxuRnFQNVVSNkJ6ZTMrTnBmQVU0Ky9XRFg5OW1PL2pCWmRWcU9uVUdlRW8za2Zld3ljU2pZS2tTenJKWTBZRGRBT2x3NUtWVCt4UGpuWnc2UVF1UTNPa0NRYUxSazlqbUFjTk0yWElsd2pZVXR2MmNTU1NEQXpIOHNXNGwrZG9Kbm52dUZzdDRUNlZKd3RlZ1RTVnNYcTJjWXk4TlJkd2ZGMi9RUWdkbWVBZ3VtTTM4UmVqSmhLVkhWd2w3KzlRcGlBYnprSXNZSU9oRU0vdGFFdW9HU01FOVZPc2VwN0xOZzQwSXJBWGhYbTRGa3JIcW5xeHREQno5QkI2aDlFSEM0QW5JVWoxOW9TVmpHd29DdkdpZXRkMFZydWpCN0NzMzBFL2VmRnNUZ1Q1Q1Q4WXhQWUx1VUdiYzRnVnlJK292L05iNlppd0paNE1ZV2N3NHhXYVZJandobitOd1pDZmlsMGpiUVhZbzk3cFlmZ2drNUFuVUp1S0JEb1ZZQUhzWWFncmVzSGwrRGl5VzVzY0JlRmh3U2FqVEczT0ZFOHdQMHZhdWE5MWNFaUlkY0s0cHZxYU1NWUxDQnNDWDJQM2pKQURMMTBYbUFNZ1JDRGNSZ3N1SGZTV0oyZ0l1TGd0N0lLZTNDSkNlMTN3anZqYlVDcDRhcWhMWnlqcFpKalllUU5NZXUwa0V6d3E0ZHpaMUxld0k0WlZiZ29SWVZRYlAzZENXNWYyZ1FSY1hrenlJQXdkeFYvUU0xTWxVVEFnblNuYlBrdkJzRER4Y3hJbHVMdWdHL2tDTmVKTGpyeUkvSUJwWnZWY2ptTTNnZ2t5VEk0VnpOdm15YmNDRnJLU3lJTmZSZDZnMUJGRXFUMHFZeDRDZG0zajF2Qnl1WkNHSmxIYXREd0dSY0ZIcmJLWlZYTkdqUWV5SnYxOGVGTTdpZ2ZYTEN5dVlnNTU4MkZ3UUZ2a0x1VFdCZzBJcGFYSi9jSXQ4dng2MGJqMHpHOU83U2RmcnVTWGphRTlNNyszcWNHVDlubnRDTEt6VllnOENieFB1VWFmbFkwMHJHcGlBRlJnRUJUZ2dhaTdBajVUQ1ZpWDI1Mlk5RFNYRTdJWnk1QmZoSjU0eEVtMkkxTkUxaDdFSGF3THdqQUlwK0Y3dkJ2NWFMamFQeFNkQWg2Y3ZyTUxqdVY4NnoyUnBSZXQ4ZWc4TURQYThDSENzQVJqU0lBNHhudFNoWlNQek10ZXdQbFFDV0RndGxVaXNNazZWd1pOUUxDK0J1UlBBOHBzOEl3Q05SM3JpMXVnOW8wSnllMnlkKzJYVm1qVTcwQ1BJUW1GaGtYZ3h3bTFhTE83SVBPVlJyRHU4RkRLNGdyQzA1Yjc4ZzZTMi9xTDE3MUlabm16NnRLcGtla3FIQ3NFaXNQYmFNaUNEN3hLVDhXb1kwSWhHR1NMK1l6VVJUSVJWZzR2dzI5ZkRqNkFzME5FR3UxK285S1A5UHp5WXkzeVFjMzE3d0tXZE5lUVRzb2RJSWlNUjEzRi9sQ29Xdks4eWRydk5hWUVHWFBDRzB6WlBYOTZBcDJZcjFtQm1XQnAweWxNbWdpWnVpc1FHS3daMytwMWpQbXdjcUlXQUZDQm40RFNTSzFIWlBJV25hUStoNFVQeVdVN1NNUC9rMFdnbGRPSHVPeGRVQjN0L2QwakF2RTQyQi9mUzRNRFpMeEQ0SmxweWU3S044V1lnazRpQW12M3dLSWdyOGR3Q0NmWWlXNTExRXpvZU5OcEY4SjRQU0pIUTBGNWt4S1BqQjg1akRBblJBdU41OWNKRFkxNVBnWEI5aE1zODVZSEVHZUJDMkxocWhmbUQrT3o3U3F3dmhKVDFqRStjMzcwOFd1ZTlFYWRWczRKaEdkQytVMWgxa3R5OUtPeDE5Q3RDTVZYRXBadGl5ZFkyQTRnbTF2c0E3Vm9hdC9rMjRlelR4aHZHM2l4WHdpOEpaTU55TzI0blhFUWYxTDVITCtZZmVWdDhJbkROQ09mUUJ1dVpWU2pkMCtpWndrOGQyd3hBeU1PMno0Z2ZIWkhiTUVoQ0N0ekhZZ0ZZVEZ2TjBtTkMxU0wyVmlVT3VMSUhqTnJpa3cxZlN3WmlZdDBIMENvd3VZSEFyUkd3WUJFQnNudnlsZWFNdVp6SGNsOVdlbHFJU3h5dHcwekhucm4vOEpaa2FZRkhJT003b3NqRFRIRDVaRVJZMGZNVkR2Mk5NSElBMllpTWgyMThZRDVzNjJSbldNbnp0Y0ozNEsyUTVHRFJIZXJvNXcyYXF2cHdFV0lGSENUOC9PRFAzNFpYRXd3ZVpEaTBMQ05GRTJ3N0FlZzNXRWFBQlBJSSsraVhCOUNLeVlOS1hOeVRTY2lKdVJURVp4andOWXZaaVpaRWJpQlpvMGsvbkNtejM1OTVTRlBYVnVBVFlxRURFTWdXOFE4enc1RC91QWlZNFpYNVZpZ1RkbW9SVDhBaXBiMmdLeTQ0WnVhS0NITUE2aXVmSDBiN1l2RU9ZZTlGejJHY2dNSE9saW53VGxDQTVkNFFjOU5YM2wwOStRVkRDUUR4YXJDb2hrNUE3dktHajNtS2x3L0hlT0Rsbms5K2ZncHk1ejBWM0hDOVlnVU11QldoTFZrakJCZ0dlSVFOVjlBRFVXUEppUTVIK014UTBVV2MvenduaFBkZ0hjWGNSUkVDaVRGcllYZ0VxUnVIUnZQaXhsY05uaktoQklnenNtSVFHSnd3YzVnc3ZIemhpTVAxZ0x2NFpaMzhCVGMzOS9aSTV5UkhhbHdXNkdaTUhPV3dNbmFER09KdGxmeVlKaDZJNTRscm5tOWtzMWMxSGNrN1gxNWlFYUhKM0w0VEYzNnhteXhreTNCN0FKV3dWNENRRE0rekJvOFFvRktLQ0NJUDhyOWR6Mms2b2loWk1vdFZnRkd2UlJuelFwNjQ3NW13bGphTW9pZ25QZHY0dXZLZExRSEtTdWNqVXJmMjB2cVNHeTNBbFFIakE1cGt6dVpOT0czMEhWK1BlamV1VDNUeXlKN3cwME1GbzJBY2pVMW0vL2tLQXB2M0JkUzlLU3RWTEpmMGlDQmYrU2xXVnVMVlpoQ3g1M21EcUFVL2dZZGJRVzdlZnB0T1dOWGFNNnYyVGY0cytTclVDbXFRaUlEemdwV1diWEVac1N5S0RwMlZHM3dHWVQ2WmpLOWY1ZFZkaFdOdHdjWk0wU0tvYm5odkRCNEF3cEZEdk41SC80R2VJK3pGU1U5MFhXZ2dUU3BIZUFraDVCdDA1aDFkb21xbEZ0d1VpRVAzWWFIcWpWUXYweUxGbnBVdmVvWnJ3aGh2KzFEQjhPd01zQzU3aXhEcTMydWxkaXQ0YkpGb0tURm15OFNJT1UyeWVPcGNMUnhKMW95cVdaRFZxa1pXNjMzTW9pcmRjT0JzMGNCandrT3JUNS90RG55RzlTb1FqWGhKYVYrMldlOENtRnMzdFhCYlYyZHhocFdQZUxGNVNuTVkxVkRIZHFOTXNhRjlKNlFKRWhlWGJOalJTYmhtT050VTdySjVzRHJpNC9Ra1pYbFloZmhBNVFIOXczd1ZvdlN6RlNGOEN2bHFRb2RYak1zNmxUWk9xNDh4MUNvL1VNNktHcVR3dWIvTmxYT0R5MmFnUkJodjVpM1IvamFOUUZiT3I1ZDJIVWpyMXNUMDkvRU0veFJYbmFRak1SRCsxUWpnWEhBTG51L0JzT1J0dUJEclY2eW16eWNmY3BkTC95REc0WlZKYmMvVkVDcDlPMjQyWlFGZzVJZGRzUjZNT0llRVlZa3c2Qml5cm9RdmhKTXJ1anl3eGdDMng2WkZhWlVzOWtWK2N1R2JXQkhiOXliUHVvcThXOGU3N1pSQkVjSkVWT29DQUpkMDNkOUo5QUtFSGx3UFAxVkZDS1MrWmdKaGFVSEx0M2o0c1cxdjJ3QlJvSkhZUDR1QnVYbSsvcXpMRTFsM2lrMEJ2RHBvMTB6TlFEUnY2eWNhUE5hVHdHTGhIZ1NZU01hL0NETm8yWHJWY1lYM2duZGREWjVQSU1TSVh1dmhlejVIMHVobnFIQ3N5end2SnZ3TjNyUGV3U0tmMjFSRVZrZmVrSDZDLzNvQXV3c3oyZ1ZDWVM4RWl3cnFZQUxaSlBPNHQxazJjQk0xaUh3SFlTMVg5elQxMjFCWTFtWS9Ia1N0RnllK2Jtemh0bHAydmVWV2I0YjJlVUx3SlF0UTlvc1VqQjllQ0dVS2NBQ2JIOWdRYzRhbklNbmNhSlNsWEF0MitMelFHbUV5V3ZFSGtQWU9WeUVTWTQ5Sk5meHBCekFXNVRCNmhMdkNVVjhFbkdrc3BHU0RSSnk0RDc5RkJKVTVVZUlzdHZtYkV1QWVqYjJ2cHVwTk1scVRYQzEzeHpxZ1U0UUZsdlFKMWRPU3VTL0xKSW5GbUVVbERJQVVjSHZUVzNWd3o3bjNXbGdza05naUQ2SWZFZXk5VHhVenFxdFkzeVl2aEFaY2lOK2Zia3dyZVRFbjhRRXdlSHN3bzNNYmdMY0ZtaG1pVGdSQXNZQm5BMTVrOUFGZlhHbndaVmxXYlVrWjhmdFU4eUs0Q1drS3FTZXRVM2VBSUlIUXNqQVQxUTJKOEtnakRmUk1oNTI3NTJ3eUNBalBQdFgwbGlUZU54b2RhZFYzdHRpaERvM05JdW0wakRLNVNuZUZKVnU4MnQ4eVRkZC9ubXI2dDVrbUlES25DK1BJcDRwKzNoN1lXYzVhMm8wL1AyaHV2L0hhai94Ly8zcjlKeS9FUUwrbXRBNjdib3MzUWR4NDloZXNjdU5tZXkvdUQ2V1BDbEQwZ1JJNXFxNEpaY0dNd2VrSEdxdlVvMVpQcVJwRVEraDNqMUh2dHFmczUwTkN3Snl6WjkrUXpXbDUvcFEwMitGUW9Sa1YvUE13YnMzWHVrRUxPT3A5aWh5TjE3Q1E1Rm51YThmV1pTbWVhRnR0QVNsVGtZWXJSUTgxS3NJaHZ4V3FBU0VBZzFCZEhnaWlrcERXdUdERFh3bGhmcnVuaS9oYjl5bFF0R1RXZzdueVUxYVIwS3daTmcwclRzMDJtdnNoVUJERlRPNWE4RSs0R3FqNXRPMjdhVmZmMmdvc3Q3SHBTNEsxUVo2QTV4eGJoOHBDUHN4L1ZHTFBUMFo1ZWtoeWpyYjVVSlFtU2ljL1Z3YWxyTHQ2ckZJREFQNWhQTmpVTC9PQm1tbEFmdFdBTkovOFZ3SHhwT3ZmQ0FoOGIySGY0QXVJWkdGRUJsRHVjenh1a3lBK3JFSjhna1NtVFVqUnhZNWk1eDU5MjdrUVpDV3RleWpYSUVVR3ptcllHelovZWZCK0UycUl3LzNlN0d1MEgrV3p5YUxlMTRaenhlR2gycHVoNXpnczRkM0RENXM3b2gxZ0ZqYTFJaUdDMHNMNHRnYklVc0lVSVZpSnV3ZHc3Y3kwemhEbW1LeGxKd3hvUmVqVkl4SU1UeS9raUlWOHZtTDhBazZnVndhRmRIK0laaERyNS9TWFhjdmFEc0RMaW9JNzlvRkhHWnRaSHl0eE5od0VqSUpDOHRiYlZ1TzFMSDM4aW9NS0NPTHBOYVYrM2VkMCtnNzRRclRPOUFVb3VXVVRHUGFDVEl0Tmk4ZUdxNEdIMktiY0ZQSG9ZZWhMa0xESkcxVmFMOHU4eHZzaG5UejVObWNhMzNkYVM1VE5pc3JncDgxTHJNT3cyQzE2VjRRTG5EZDUvdGVuRFJscFhqOFY1NmxteTdyWTdoMWdDY05PRUg0WC80UVVQZk93SmE4TTl2amFIT1JaU05WTzdaUE8vSGhkL0lkdHZLc25udUZXQVZiN3Y0TG50REpjWEJtdzl1aFZDUmM4cmJmWGdNQXk4ZVVNc0Z1cWtQTUZ0Vlh6QXJDc2Q3RTBJd1I3MUJJWHhNb2pRU2UveHR2aTR6REw1NjBRaUk1ck51MGh4Zzk5d0VhTnEyY0N1Y0s1bjQ2Qi9tcEFvMldQS203ZEtVNTc1bEZCSDRUL0ZWYzJGdTBwZWJ3Sm9xZVdGWnBEN0VldFFCclNZNDN4NmYrSW1DQ0tGcDV2VFkwbzVYa1h2TG9wcWdEenoycEtZak1xUzFVSDJNdVBoTHB2blB3b3Q5SHdvcG93RHVMYU9aMTRCU0MyRktLQmF5eGdEUzRNSDhNK0pXRlFvS2RCNXVCSFpaNXlTbUo4Wm1NOFhtTEZZTHhzT3BvanRQSGVmTWNRRGtMY0xnOUFjWHVtSW1TbzJjNVhTejJuYVlGbFVTTUJCYU9UUVdlcjBFR0swV1hucVgrYis5NW93enNFOWJrbEpETWFoOHhjNHliWFNnUmw3ZzNlYkRrYVpsVGE1dzVQdTA3Wk9LVDZkNXZ3WGFhTk1EM0NPWXJmUGpVK1BkU2Z2Rkh4WE1RU0dzbnB0bExIWE0yclhuNHRuRVI2b0dtZTZuRXhHdE9hWURTTnhWYnZ1b25YWU53Z1NBSXkxMk41VkxSYVB4TjFZR3hRTFN3cnZLYjRQUWMxdEkxNFRxZms3MkFHTG05REgyNkNxVmlZNXBuQ2xjL0Z3c3B2MDBlQk5VZmNOL2p6WStEeFhKTGJRbVRZOXhUUGVkZmNrR25yVHRHWllEeDB6MmtDbDZtZG5RNlBNTnRkVDRLbm1PRjVmNTFNL1NYRDg1M1dRZkg1QjUwUE5qc0w1UHBUZnVjSHRYL3lPei9ablpQYnNUVG5qK3pPN3h3T1FlZVAxSTdpRDZlVmV1SVVpeFY1YlpuL1VMakk3WjBscUY4TGxtRVppZE50WitZdHN3a1NTTVc3WndMRVBKSGhRdWg3QklBMnR3U0FuUXNtdzNNRnltMGtpV3pUR3NCR1BOM0ZNbDM3a2lyeExSTUk4YlRhUFcwY0Y1UUxYcVhZUnpCK3RwL2NNdEQ1M3RZNnZUYXZJcEpaUHhRb1FvWXJnQ2w3T3BXRzRpS0FyYTBDOGRkMFpVOTlpRjA0dDVvVXJ3aFdMdGhzQURZUUVvcWRMUTJaYzAvelJWdFRXcXphOE9BcFlMb1FkaFF1Sk5hZ2dneUdvNFNJaUo2akhXbUJVUFBVc3lUQlJDUWhaRUcxVjhSRDhmcmNUOCsvZlRMMWdzbWlZdkMzaytNaWltV1BkajBJRlZDdDlhMGIzMzhMZ3NQdXJXSFJIQ3JWRSsvYk9IQVRpcjhYY2R4TlRyS2lxSWFBWnhlNDlsZHFCcEc1ZUpqMU1uOUlyR3V2OVNQZGNvQTJyZkN5UldVb1hiNlJHNkxHUGxMUDgwYUI2VnREbGl3ditPYnRNUnErdk9SQ2FPRlRJem05Wlg2S3JNZGFvS0UyMUJHaFFyN1FyVVJpT0RoTEVrOXVHQ1FZZDdZUkZDVEJZZmtRQy9ROXM3TVNpQVY5OFZhNEdMYUVVV3picUV1OTJHSG9VN2NZSENIK0pxakVBcXFFWnB5WXo1QXMrMm53ZWpQYWIzREtRaUpZUnoweFB1VlVickZyWDdhZERTbldMVWZGTllqMnBkc2xBSnN3aHJNUkhtczBlY3lLL0xENVNTMzkycERubFhSRnQzOWhrOG1TSG1TTUtRTTdaSzFvYlRicDNnZEo4LzNIVjZ6NkJwMGhML2plSFo1b0RjRzhMM1ljaTl6Mzk0eTFJVDVyUTdGd3RpT0NXVXlUSkpXTCtDeU5lSDRUNG1DYlNEdDBlS2F2OFdhb0kvajNwMERLSnNqTVpTUTRoYjIrbUNwQXNDd3o2bTlWWjI1RFZKdldYWnNWcmVFemJNVVBMbkRaMTczNkdDWUlocXpOWG1ZWUwzelp5dExrb1lLdEZYcVNMYzNFQ0FESG1seHJrakMzdUxsSkZydXNaVTlMTEJrVnVvc0ZCN2pTeVc2Q2pmWnpkb2hWd2UvdEJPcjdIdGF3b3hJZUs3WkNMbVlQaU80WHEyTXUxS1JLOWppR1RjUENoMG1mYW9iWlRuWEwxNkVOeGZROS9Bb0RZWGZoTlhnMEcvVlk4ZGl1MC9xUzJUdjdwOUVxV0JDM1pYZFZ1QWZFeFdLdEdON3ErWkx1YTllYmRTK0liTWlrV2Nxa3BvV043T1VwYURTaFM0ejdxZmdiME5PRDJLUEdPM1FwNDJOM3BvWTkyZEZwQ2pRQ3NNbVpTOEQrd1B0L3VpVFp1MDYwWUM5WWVWdUg0UE8rMnRCRGxBUFdRN2Vub0VPM2hpWDdHNTVyZEZIMUUxYjdaUVVjM2dXdTRvZ2Y4Tlh0dFFuMkNPR25ZSWNqYTlnUlpQdXc5UlY3d0ZBa2xpZUt6OWNHZVJpaDNhdklhSFMwNGFoQ01oYmFOMzBlUzhjQlZUcDVMSHZPaUJnSUxXTEd3QnBxcS9DY2lZOXdrWjhXZjltWGg3TURiOHFMaEJvSFpqeFZ0RDBaQW5qYkJvMENaeHNBeG1FNUNsU0hCYnVmKy9Ub1JHTTRscDFodUJxTjgwRkt0dUVBRGRSKzhvK0xxSXFvUUZuY2xreDN4VjUyUnNyQ1B0aWpVNlpzVWU1VDltVWhaVFJ4aXluWEUreTM4cnoyMCtLRVcwTmoyVmpDWXZZOHN2MzVMOE5oV1orQ2E2WExHa2tMRGdQQjFKemViU1YwaFJ0dkR6R3NFYlR2UGllUEZrL040dW5SdCszSlVzc3h3eTQyKzBCR29jb3ZzWThvQkxDZHMvSWJ6bUVueU5MMnVFZVcwOGtoaFZVM0VmdHVBQVQvdGtldnl1RVF3ZDB5eHVIQkl2WVI3dHdxQk1DVCtmZ2tHM3JzNWcvOFB4RllIUDB3alZlWVN6THA5VVhBQXVqajkzRHlDNXJPajl3QVNGUDd3QzlpUk1JNHQrVlhIWE8zOE9KOTdqUVZpdkt3YytDRExUbE9BV00weTlIV2hTTEhKZ25wbnB0OU50MjJFdTdYSTJnLzJLSnAyeFVnSlhhcUNxU1BSN3AyT0Nkb0tWS2pnYVhodWV5R3g1a3hudWVyZzdqM3ZkK3BvdzBUVWJCNGp5U0JKT1NqWlorYkFMdk1QVUhvZ0tKNWl2UHg3NGJ3ZS9OeUhsaDdmaVo1Z0tyQTZZQXduVGFkYXBVMnY0VmZQeGp1UkpUQTMrMHBPdDIzN054cDRCcmo4aUlkSldFZFFuNklZZzRtd1I3NXRJRFdBNjdpK296Y0lOeEk3Q0pYSUFtMHN2QlVvVG04QUtPNlRsVVFIL0M2U3QzMHBiTmlHaXlEaFpYL2VsWmhKVEdMeDRJRTV4NndVNTVXNVJ2NVorbWFKeUtYZlRBQkxPdFdjTUdTMFozb1BrU2d4Uml3VGxRM0RERTYxYU1OOTZoNmhBUGdqMmRwUURZMVFkakNGWnVOWThsNDVrZ25HYUNESnJUY1J3VmFUNjRSNDhja3JTejc4MS9rM0dBenB2TFdDd0k5WlJ0UVpEemdCa0FncjdZWFk2Tld3VXZtTXpwRzFwK1QxUS9OQTdISFJvRGFSSkxHbmdXSDMvRkRhM3VKSHNSS0xUQkNuNU5kc3M4UDNxemJuZ3lMNElJVkFZWHdMc094cHdtZU9nMGMvYnYrakk1UVNHVEp6YkpNQTJxeU5BRHU5SjBnbDg1UWc1dXR1Z1cyZldhQUNGV3ZSd0g5VWhSOEFXRnpHci82R2dSZEM5bWlaMzJZZFNLOFlVRElVM1BGSnBXd1FidUJUbkV4ZnRRMlRtQmY5c09xT0Jya0NNTS9yYU9KUnJQR09KcEYxZyswM2VKZUdGU3h6aEl6OEt3ZXY2eEhrVGxLSlVsa1VmVm5KNGQ1M2drenQxN0hBenhFc0gyUXhWNWNhd3EzS05JZVI4bDRvQUpGQStnZk1MdStaNG9JNEdMSGJMUnAxcmlZUFZHNms0NXNpZitmY2JIeDQyWHpyNEhOUW1Uczhic2lVSm1zbCtINm9ZamRkUFNSY3BZZDN3TG5Qb1RjWmxKTG05My9aWVZycW56T3kxWGFZYmJqaGJERytzWW5nT3BKbm4rcml0ZjNUQk1yc0kzSERubUVZQnFuWlVpQ041RWhqN0tud0tCN2htcGVyS0F6Wmo3TFd1QWN4NUJlbTBtc2owQVdsUXBXMjJHVG1rSXlUWnRsVHBFMEROdUtYbXRQVTNOa0lXeWd5Vk4xbzNxYTA3SUNnS3RzWjU0T1FJRWtLRmJybUt0MGxrMHdqSjRwUWhGb3RUMitYaXpHK094YnJRdFVZRFhzclZtd2htRGJPOXUxZ2FWcWpTbmZYQkdHVXgzWTByRlI4Rzg1RU1WVlRSQ3RhU3J5ak9xeGhPTk1BYnFqZmNvZjlMM1pSYk9reVkxTGcvVEJxVzdMZng5bDF5bll1NjBPT3J0bTlTcWFuSHUxZHJWVm0yS1JYb252SVR0bWI2Y2ZGSmJTTnJHSXEzalhUNjZ3bnVFaHBwRHVkWUh3ZDdZQjlrVzl0cG9KTzl1NVFzUFhlTDZ1QklJOUlJb2VqTnloQU1zVUVPd2JGc0hXM3ZkSlplRWlQNk1WdUd0VWlBWE1kekluQW1kcDQ0ZGF4Ny9YUC95cjhvZnJmMXovQUg1YU9HUVpPM2JOeFJJZEg1dVhuUkFUUFVpOVpUWGJpbXJ6RGNzVGQvVGRBaEpxc2xFWE0vRmtEbmNoZGp2S3hzazVZWjVFMC8xYzUvVGFPc3p1U0pMUUdzUTdHeS81M0czbGFuRHdUYldIQWxjZml1OVJGcGJaaTUwdDNTaUJXQTVYc0VsYWlaUS9ITHlhRWljUUkvQk9TTWJWYjQ5Umt0VlFOc2VjbVQ1SVpNK0phbStZSnlMV1pOaUZnV0JpdTM0ZDQ3SmNuVEFTVGQzT0JWWERWenhDaHBKVmh3MHNQcU5uQzhuUElGRDkrSDVzbnJON0ZTVDJZb1pWT3RnenIzSll4eTBsZEJwQjk4RFpRVGhIdllQMUVWM0xkUk1aK0trZHlkbUVTTG1Lc3pYZ251Z3hqRG9IbEYrSGVFR1F1aE11Y0xzVnovVEQxMFdxVDdKUE1IdUF3R3VzNWp3ZGlTK1dqVXFyNHlIYUZQU0QxUkIyNFh5MUlna3NjSnEyWHp1OElKeVkrazAvMWNsLzBwNlJjZVE2MkFWTHp3Rit5N3lKY253aVc5QnRXUHlRRE9xK0FDRXl0VzM5MWpRTGpabUF2aXhpa2w5Tlc3WnNIMEN1VjhkL25lRlVMMWorVFJ1OTJOd1A3bzA5bVIwN2RiYjNaNHQyUkJTak00dlZaYytaUlFEbFJmek5jZG1SQmJXeGxmTzBRcldmd1hOSVdkNGd2dXhjRWpHKzNFVTlKSjFDMnV6cHRISktRaFNWQ00zaGQ2RE51S1hYWnVmQUFWc3VBQlRlM3g1T0lnbnNkbHF4bHh6Z1lGMUIxYldKeE9hVkliVTJBRjFsOE9sY20yVWFKWEo5ZGJQLzdIN0MwTHVwQzlNTlQ3Y3NoTldwOXM4OUZnNG9Lci9LZmdDb2hQaXJFWG1iTGQ0bXVyVmlHeWVkYVRvOVJiSlBmZndhN21IN0RQQU1TN0ZFWHJFMHpzZ1IxTk00TTFsZ3lyZWpSQ3A0UjZnd0dXSFZ4dlQ4dWhMV3FpMkg2QnRIM2ppSllscm5pWnNjb3BneXdZS1lNNi8zN3J6YWdRaE9hdUd1c1BlcThzOW13KzYxU2lVbzFRUWR0M3ZlbkdNaHlHS1U0WkVtaEFmayszSzRia3ZkTElqWjBhYks5NXlMejI3d05Zc0wrL1BZRGtGRE9QTzA4bFNnY2tmVlJZZDVSdXZkVUtTWGM0bFFsSXVBZzNpQU41eENjU3MrWCtnQVNoakw2bDRKS0FwZmY1VFh3WUtqS20zeTNGOWhOZVBGTzhPNzdHeDB5b1ZETk12SGhVQUE4UFhGeDhFbnAyT0F5bnRTOEN3aWEyZEZyeVB2SE5YRzMxQVQ0TkZXNGtEemw3eU9FRFhVaytha0F1NXo2aEU5TU5zcXlZMjZzeWkxdjkwalYvemI3aGRFMmszc1ArMnVOZG16MjI0ejVPS01LUUdQNmkwUUtrUTRPMEtTczhLU1V5ekRaK0hFTXpkRTFhcFMvZVZhZXptdkFDT0h3cnlaQzI0UUVIQUExMTJXNmVKZGtIQTdXZVA0R1hsa1NYeXc2cmJhQUV1WVF6c0wvazRKR1N0c3h6UWd2bXhQc0Z0NjJXQnUzUzUwVmNpcUd5cndnV2JOMlg2d2dkNHRjV0JYNEJiN0ptUURzRGR4OFN4c3MxNGRVL0N1TUZ1WW5LM2VqdmNzelpZdlFMTnpnNDdVTzNVaCtod3FFN2VEWjc5bmRxbWQvYkF2cStteEhKUVgvby9Mb3BvN24yRm5mSmxJczFqT1hMUElXdzUyTm0raDBwbGVsMVBnTEloK29ZSndBeFR4K0lnY0x3cDFPYXZGZ0dGeXhoUG1ZcFI0aTNYSmFhTmx4NWswWjRGWHlwYyttZXhhYVNkWHgzNVVzM1phcDZNeVc5V2hsbW5LZFVZSVd0RDdoTStJWVNQNDh0QWM1UUhQdG44bUJpZURmQjY2bm82TVd3NkpxRjNPbkgzc3hjMjREQjVwM1F5TVp6WUhYa0E5VXdJUjdaL3RGOXEybTU0bWFuK0NsbnEyT212bWxNNTBCd1FrU3dOTlJXNUhYam9FeGdoSlJMSlJIUm8vbGFRNExTUXhlcnBSN0pERWUrNkdmSHFKSzhFYVdPazNOM1I3S1o5OVJxZmt2cGpmeERiUTVOeThReit1RnUvdGRKZEtHRnpPN0pDa1RZZnVlWVJwMjhjMExYeWZZdHlLMk9HTnEvT01uSzRRUFQ2NHR6SGdzZ0VTSVpzd1l0VGdhNi81czdtWnluSTBTL1VkSFFzWXNCSFR1VFNkS0JSTXZ6d3FEWENVaU9JMHBHdEd1MFl0T0IyM2c4TEVIWWRSc01VT1FhbTh1L2xLTE96R2daRktFS0JvQ2drS21LRWhlcUhvY0ZrOGJMK1VmZ05MbTl0R01rZEx3UjZ4azk2emhjTmVSN2Z1MHg0NVp4amxKRHNCdTBSK3MyalgvMU5Mem9aaXoxZnpjaEp6OUFEanpPT0RIU0VEMGlNdnpXTTVHY0IyUVBndTI0Y202aGtiQ2VkSWVkbGxrMDgrdFNja3JYTzBWaE5CYlg5NzBVN0padjl6V284YXZKWE5CYUFDWDk3WFlpU3JkbzFWdHNWQWRYck5aK29BTGtKSWNtN0hlckl0N2NYWlFleE5pK3V6d1JBUEZtV3lsQTVjbDllWnNMQVNld0RmZ0prN2JUZkV0Vm4xT3Q1bytsSXl0dmRqVWYzS1lJQjE1UkNGYm5jTGhLZnAyVW9FaTVuU2l6Vmx0Nkp4L3dGZ0s5Qm5pOWo0TzdIS28rL0hVdlY2Y3EzQm9jcjJjeFMwUElqaTRCYXU2Sndxb0FHaXVkTzdtOHF6aHAwZGR3NGVETXhCWTNnOGtZK1kxcTNPTWp0bi9xZkhjMkZlUkROOTcvRElNVE1oMFBsNHRmYnJjZklJOHF6ZVZnRGNRUEhKODVnNUtJNERhZjloTWN2MSt3OThORzcyUmFVT1hCRFQ3eTlhaDh2YnJQZVlhSFBIQjVVelZUT1kzM1FqVUMvd3hNOUJBYWRlL3U0T2hTVnNPaEhyNlU2N08rZFcyQW9CMVNQSEl5U3l3d0N5cmpmL2lpMEo1bS9iQ1FSaW52R29lNnhwZXRLcWVaVFdaOHV2OUFYRkRsTkFISFkxaUQzczlwdUFDZmxNNVFYeDZ1WHM4ZWRNTVlDUERZSlJzZSsxbmxFM2RzMXVhRjZBa2lUbk5jQmliaWR4dmE3L0diTmlsc2Z4MSsxQ040VFRBV0RuVWJROWMvdkJYZ3hibzcwTkoxK3pTTzh3N1dMeGJIZXdYaWV1bnVvYVhCZi8xZnUzdllnT29iMm5rNHNjNmZYWnhJdzlnT2RGZUVNeERLQ3NPUmpxTTFMYi9QMFI5d2g2anI3emVMV2o4c3FwS3Q3Mm9pQ1duTGxjRllOZ1ZtZ2VURmhhdE02QXJoYndwK2JzUTJ1S0FJRFBDdnorMU12bzhqcUhwWG9WMXFJVUQvMXdOY2NkalhiS3kyRU9DWVd4UGZNbUppQXJwc1dObnZUZlo3ejNHeTZvMkQraFVScEswTDlxeWhjelE3NkowS3poR1c3V1hZb0pPMzN4NXN1RmN3VFY0L2dqTzJtS1F5VDNHVm50L0RuSXZQVXpVdVpodmFQZE9aSy9nYmRPcS84UVJRNXlRV1VUbDkya1plOEVhMm5DRFM5OEFYTEgyRVhWcFMxMDRUUXZUUk9iTUNNSCtVNUZwM2w0cTJhdXR3SEpBV3RJRHJSR0ZoYWJSQWg2emxvdEhsdHVod0U0d29hVmN6ajI3enFWdzhYQkRsUHJCV0JEZEExRmFQU1F5ZnFRR1J5TUxRNVh1TjFZRGpFdWpvU2RpZGR0MXBQZFc2WnhQNURXNTNhWTVyNmNFMXljaCtjMFJNelowNXB3TDJBU29zL2xwRE12ZFlHZjZSeVI4Z2M0K1RJTnptZG1TN2tKN2M5anliQ2VhSGNySzJxZ3Nya1BpY2oyZU52OEJKb0JCd25tOWp3dWNKWm82ZEdSSGl3Z2xNVXN1SThGV1phbmVJNTYwcnVaYnpnMUJEcTBDclJ0V3Bqd09wak4vQzRYSGR3U0lPV3hOR1E2NDhHcFYrdUtFRElmcllHMlFwQk9PeDJtSlR2TlVZTFd1Nk8zeStlUGNNQ2l1TDJkK0NBa0wraUNyVU1FREpoLytkZ2tEeENjelNCYjNQbFJ2RnNEQVgwTzlaU2lPc242N2JjbnF0bnhWQjJ1UFpKam0wR2JaWTN4aGRzL3MyUWtxN01XSWNUM0dlTmJZY2g1Yi9tUE8yVzFsbWVQVmc3ZERoTUowMkViYzhwNklSYmx1VHcyaTA3QTR6NHJmTlJCamtHVkg1MHpiOVlnclE3dk1WVU10MEpFSjhoRjZpQ2I5U0tJVFdoYlNlbWFMcDFIZHBBS3p6aXFoK2pCSTh4enlieE5VZzQ3VE0yVGRXeEVQaHlNdmc3WmNkWm5YSkM5aXdYTUdYNzBkc2Z0b1Q2Uk11aGFoN281RStBSTR0Y3lXQmFEbjVtSlBLVjFEbnE1WHlzRWlyMEZuU3VLWjc0SFJMUFlyVTBnOXNoWGQrTzMrNHlDdzdJa0p3Y2Y0MkVxMHRMMFBURS9iT0hCMmVaK3kzVnNidU8waHpIeDRhM1pydXhnT0V6YlRtM3I1bStWZGJLczMrSWw1elRDVkk3c2FNN05ubm5ad2ZKNUVqUk85aUtBUXdUWkRXS3hXbDkzd3VGZy80YWQ1Y0ZheERPNDdNT09paFZ3enNnOFIrL3pxaTNyanpiTmdkWFJtbVJFYVkybjZQdUZTamduU2ZZUXpvbU9mZVFZQktMTXJ2a3p3YzdPOFp3dngrNmY0ZllQQkVuY2VDVkt6NmxXVGFZcm0yMnBjVFJMRWRBOTJxdjFNYzVVdUNIYTIvNzJCUnNCTEIxMkFLNklIcFBMeHJQZjVCeGNCMGJaZUJmdEZMR1V6RWNCNUZkZXRVMzJFQmZMM1J4ZmlicTZBUElVcmI2MDJUNmZLZEtRdkFBdlk0M3Q1cTAyeWNWNVlPcWdYUHVzRERXcjlWcU44Slg5Ni9raTJJVFZVRDdVWVZvWG9QVG5zajMvYnR5Q2pjWWorUnFjeXpxTnh5NGJlZVhqbU1uYlUyV2c0eHFLci9zZFVYMktRSzAycnNleXA3eDNFSitSQ0M5ZlFLdmw1QitSZkczSG5kc1JsQWEzUXdBSW1WMUxKdmVlNHVobFFrUkc3N3dKS1pmc0NLM3pPUWZVWnlxbXd6QnRWMHFFTkxZV3VGeW1kcXFqVnNEc3dqM3NFdXd0Tmxub3RDS3ovVTZmSFVzbURPZGVHb2Z6czNlZDVzNm5kYXI3REdRTVcwbGVpTFErZ2NOUjJGeG9IUjBBZStDSVFMNkhTY1Y0RHgrWUUyWmVrYWtZRnJJS3NpY0xiQVpnRzdUdFJMN09JNEdzQkhwUTBRNmk5akVSblVoNFNtbE45Y1ZmcWZ4N1F1ZVFEaTk0VlFuRURvb01UdFhhbFNEREd0blBDb0lRMFZsc0E3V0gvMjg5WTV3czRmbHI2SFlpYzJ0U0FLRHdUSHpHQTlBczF5bnV0Q29wK2N3SVQvQlJiYXVlMlJaT0luSjhxVnhQbW50T1dKeEpqaUpiQlZWeGp1Q1FacWlDeTdaclowK1lQWWxPUkF5RVlQU2lGTHQxL2dWY3h6bDNzVFhrT1pPNG5NMW9sL1FaTHNSclBNKy93blF1SElEQ0lqcHVibHVKdno1QnpKNzZoQjYzTk5LWlhPOHI2eHZkWTRKa2Q1QkpxK0swYnJ0OHRtTS9Tbldvc01PRE1ERTA0SEppM0YyRHg0WFA4ckV2NXU4ZHd1TlFMdE1QM1Q2K25LeGJDY04raGl2RGIvT1ppZXVBR1FkT1pQMklHOTVvMWZjOHBNcVNwdFBicmZKVGdBWWZLR052a3ZPUnQwOGJtUmYyMFcxdHNMVHlTK0VwNDNhYzRuTzYvWjFJdnUwd1I3WEU2dXhpL05tU2FmNis3UUo4N0dpUzVUaXVHSmJrZFVySGlwTzJUanNoUHR1enRVMVdQRVZreG1zamtHY3NIdGE0eks5anBHQXhYRGtoWlY5V2hMUFFZMGhDUWZaWW5DOXZuc2xHRDBlblRvOE5MU3MyZUxDZ3RpRUxGa1FQTUJxL1FrM0VkS0VTQjl4M09HRy9PcXpiYytVN08vUU1FbXA5b3pNNVlYVk83UWtlM1Rrc0lVNGZJd005WklOWm16SHFaUmRldDM0WldVVTBIUVNheDBJQUVCMU9qSGtSOGZGQzNPWG4rVlV6TmJPd1RuTTJnZVRJN0dYZG5OUFBWdFdqOSsxSjhubUVUc3NlMVRUc09ZbWlxWnpKenQxQ1VqYkVrbGxJZ2hKcm5tZGJGUWRMWGVNOG1DRytDQ3M3M1ZzOFBVNTludEgwSGl3RmorM251VDByTjYyRWhxY2lxT2Vwc2JGWFFXUkNpd3l1M2NkVkNJUGd6SFNLbDlVVmhBLzdqWHlhRlZ4M255Rnh6dWNiRXVGRGFnZUNFZlJweHJLTEdNY0cxZWM4eG9WRkM1Wk1ycy8yVWdMSFo4TmRQc09hc3NZL0hPQVNwSnk5clFjZGhjL3NjeGg1V1JUOUFsa2VqQklDMkZySHJmTFNSY0NQOHVVV3dta25URTZPVjJEWTRGT3JKZzZkcmFkSDhDdlhxeGMvbmd3QXpNMm5YWlNOcEd2eWhHYUNncUJLV0o0d2xCTVVYck1hUGxmRE05MDVMYm5rWFV1NUhCeTFidDRob0ltY1EvUVltanhySDVBZGJzV1p5Q1U1QnM0SGpIbVVPOC9NaG16cnVNaGt3K0FMaHdUbXBKcnJnMVRwSDE4MVRMTnlNU0FmSVlUck5uK0VKWVIwQ29vOXdmS3dhNXhuUnRnd05DcVJGbnJpMEhtSFBVcmhjdjJpVTFvY2cyL2VIdk5uKzNCY1p6S2tkVW94WGdMa1poY01sT3E0TTB6NzRrMVpNMGNxUDdhR212WlhnSG00cEVOeDAzMDVUZUZrK2U0enN2UjliU2diVS9WT2pFZHNGd3d5M3phMm4yZVpmT1laNEp1dzVtQnZHMDd4Uk1mN1EyeFlSQ2RlV3B3Umc4Zmp6dUQwRVNMVG04TWpyd290ZEVobFErWkRmMTVQVTZFaHpZbmgzMm1FZGNLTUZkM2JpZ1VucDhYNzFORi90amxMTTFnT3BDalVhSnVIUkhSL1owNDNHR0MzeUxmOW44blFuUkVNSGk2Zkt2Nzl5VUJBdE1VRjMxYTRxYnFMYklTMVU3dHZITVhpVitkT090TEQ2aE5ZS2lFL3p1REpPRCtOTWpaN1BzOVAxOC9JSDJ3RXNMK2NZZ1NYeHRpakU4RXNOVHd0enE4QS9kMjJ4ei8yQ0hUMnhPWVdKQ09PQzJFR1grNC9xc2FKL1E3YlFRQlpvWWNHdWxXdTFlb3ZyTkU1cnRzcFI1OFliTVVMN0tBNm8vaDk2NWxydVRCTTFOWUdOODhBbkR0Z0E4RmhtUWpONlNEb0JlWkRCTE9QQmJEakhFTHdWZDVjZlltT3RwVUNUUUkzMm1kSTBoZlNaVzF2UDQvVklhcER4bDZrOW52TEFCT29LZkt1TTdOQ1BMQ2p2eUsxUk9xZWJjOTQ3QWhTdDkvWHVPMlVLSStqTW53Q0RqUXUyKzRFUEtsV05OdG4ydkl5dkVrdmRxVEVwUTROanQwN3ovMGc0TmpDTUIyK0RuVERtQkQwVHNmM0lWQnpnTnZRNi9ZemhsTmFycnBTbFVHZnUrZkZ6UUhGODhVZzQ4ZXRvV0E4Z0Ivd016dk1hem5WL0E3d3RxcnE3czZVZW4xMmhGMVF2TmR0SVZwWUJNa0owNnNGVE1SUkw3TzRsaFUyczhDQjJIWUdhRXF3VC9YZmFZSHljTWl4K1gzNGtNSk1KQjBPbkxjNDByWnJLZmdIclhGV2c2ak4rL3U0SE1UNjRjL2JLR2VXRFFKamdZeGo3NTA2aGlna0RGbkZBNEttZVZ0NURGZThRQllZOUxkNklNNWo4SGJUelBFTjA2MGQ4d1VvUFhFa2ZpMFBQUWlrUVA3eTJRanMybXpCL0ZWS2xudllIeDU4T0E5czNQeVNUVWZ1UjhGMUxBODNDVmk0TXdkTDMyOXdZcFd4M2o2K24vS29hdU1wck5idXNuNmU4VE1PaFhYV1BRcjljUWQ5TEJEczBVa25acG50MDRBOXFLelk0b25hOGF6VHFkZDVYczR3N2FhelFJd2tGQ0RwQUJBZ3dybWNyK2Mwc3BYWnpJdG11QnNSb0RvVUdnMmY1RGFuWWRFNUVkRklMbXFkZ3ZCbWR0RHhkTU5YMVdvTnZROXVFUWliZGFESlBEWHJMVUxiL0RESGVTYmFldzFqd3VOa2Z2aml5YXRidEdkQnVQWER5Tkg3VjVuYzU4RCs0UFMxQndMNUZvamg2WkU1VTdReHlONWZINVBuVThoWVRaOFFVY3lyQnlLb1RkWUJIKzRQd1luSTVxTWVzek95YlNhMU5zcHNNU0NUbk1kK2ZVS3lVMzU4SXBVUEV3aU9rcldiL05UaFkxQ0ZOVmJrMkZQc09CM0VySlZxYi9JNUtwYVB5S3pMTloxQWMwb2RvNDl1eUVGUXhxOFFDZmVaeER6RVRaOVQxcVd6RG5UY0hxQzlmRnIwak0wbjZPd0ZyUWxPRFN2MmZTVnJWc3JwaE1WSlVOZG55Q0NZMElGTUk5NlEySnc4M2o3UGw0eU9XSzhSZWZMQklaL3d0WHhTSGphVW0rb1o3N1FySldQeFhFNXhVQ3dLMUFlc2JLT1NUZkdPZlBtNlJQbk1nY1Y2ek5VU3d5MnNIaVhhTzB2NFNJTVhPZVFTTkR4SjB0UDRmYWJhcWZGaC9zdGFKQUlDdi9ZNGJ6dDlWeFlwSkZVTzBYWXVUenE1L25rb3UvSEExT3hKTEh2MnZKMjBCN05wNXJQR012QnhYeXhGZ3ZvdER3NlhCK2pGYnMrNStsaU8zTGZRR2VkSXArcmVzckc1N3VqYzNZM2RPc1lmWSsvZXZvTzE3OHZCRW5leUJBTWk1RUFSOWJRZEx1TzBjeW05enpSVnJNc0RUc05nUm01NkcvYlFtQ1k3UVlQRnZzRVczcHdMSkZaOVRrYVdJamh6eEVmdlFXS2NBdS80Y1hqVk5nZnBXU0ZyWFdkQnF2dUFoNG9kWHdnNmZvWFA1UHF3Ryt4b0JuejZ0SVJidE04aU9hU3BPZmZVc2JtT2tuak91SXpwdWZBY3lyZnc1c3NScnl5SkZQUFhzOU13eUdrVHVNODZlVEUrWU5iNXo0NHI4ZnpFZG9UUHlBdjRQVTVYbVYxMjRPZ0NxM2R1TUxuSWJDdG8rOGdGQUZtazFEcXpvM3pvbk95TEJlUm1wYU1lUmNGSnpUNlpQdnVlaTQxblM1N1hHdTNndVkvVFdRQlRLSGVGVjY5dFRaa0greW9taTJ6T2M5dWVIY2JuUXgvMEZ4K08xYS8zVENpMTFNaE9ZR0lIckxIN2JDZXJzdGxESjhkVkoraDZ6T2ZEUFJ3bGtwMDVXbndLVFBJdVRkMWNJN3BYenpQeVQ1bGVObHc2M2dKRzlxQUNsSENQTGZ0UWlzOENoalBQenc0NTYxRWNWcGxmUi9aZTJJbFBuWU9heEF3bjgzZ1pjSWdvQy9UNnlWcURiUFk4bktkZHpXb3Yrc05LQjRQUjgvajRGeTVzK3JBN2EzRjhvcFoxbXltY1pGeDAzTnVwdC9ZeGRQMHRVSDY4OVIxbldwV0hOdXdLTXVXUjBRTUhNNjdydTAvNUtmdnpoVlZPVnQvU041RFVKOFE1VU1hSFBWaHFOTXlVbU9xTHhCK1dtWS8zc1ljSWU3YTJYWTZYZGlpaWJXNDQ2ODlNWkd3YXh2dTVKeU9jeHpqc2JmL1RZMTdmTWp1YkN5Q2J6bW00bXdlYjR6cVJPL2xZWWVodzhyR1B5OVF3Nkg2eXNkc0gxK0syNTdBMjJoWmpoMlV4a3hOOWhBOE1FWmVFK0RwcmJOa3NrYU1QOCswK29jN1JURWZ3TGl2R2lJUmVDbmJoOFlIc3Zwc3ljSnc2RUlzZjVWUFNjNWxXVUxmNllMdm5IR0RZZUswY1JKN0FUeDdpQmN5TDNmUkpJdzQveFBNOUtYMGo3bHJzdXpsbmxsZER5dmlJaGVjMkxZMjVmUEZNQncvTFRyNWdmWVJUaHdnMnhBZTIydGtFNk96aFUrSFdjdjY0bytTMG8yMWZvTW1qZTV4SGU1YndGSityTVFGbHgxaDlCSE1mK3VSakhHQlIrZGVvcWZ2MHo1aVlQWDRNSGprU3gvTnFXR1VqMkcySEREcmdLeE5wWVhIZFpwWGlRNWtMdU9DY3NtYndSUUlhWHl5ejhEUGZlb204NlZjL0k0cnF0YXdmTmVxMFVqMkEzYkk0eDBjMzJibnNRMTdzUUQxUHViS3BHTnN3N3p6MlJiU1lSaFdIbnBxdDRyY3RteVo4RW9BbXhCYjVacnFia0Izbk14NWJhWHdpeE9jakhoM0RpVHBzRnVnQ2xzMnVNcXR3eTdiU0JEbjNzRGg4RWdCUHdQaFRUeVBCNVBuZG5WN0ZFdnYvZVo4eGg3Tjk3Q0tNU0NHZkFGc0pSaDZiblRHcll6cTVQWHVzV1oyQ0dJZlBkNElGL3IzaGtkVzR0a2Q0UG43cmtZR2JxSExlRU84QzZ6QllFMm5FVFpPZ1RqcVJRVHNJQ1hlSzJlZWNkc2M2eExhdVUxV3JCWml0T2dQYmEyMU9GL1NRenZHM1ZreGd1WHRHQjVXZHB5Q2RWdjd1V0NZVFV5THNlQzRIV0ZydFlNdEtkQW9RaXNRSjYrTnpOQ3ZZOFp5Ukt3NDh4UUNoYThnY09LTlpWQ3VLZ2s4cGZYekNRRlhLcnZBNUU5OE8yZXpqQjZyOXZpamY1VE4vRytLMU9QeTZPOG9TVW5JN0dyOURlN0Y4SStEc25tV2o5VDJmeHlpTEhJb0ZnSSs2OEo1NzRTeE8zYTdMNThQNGJKMEEvcjNxcFNSQi9FenhlUnFSZlFJVHhoaUFWcGpGbUQ3Y2JKdTI5Umpma3Ywelh1MDdCeCtPNXhDK2ZXNVdQdW1vZWNvWUVWOEFjcnYyUExOTWtHZndSVlpLVU1TSnN5VWlIakhHMTltSHFUdSszeDZUSHM2elNhQmV3SWZEK29vUGRBNzJISCtWdXh6V0o5bXBCdXQzakh5MnJRekYzQ3JvYW1JZm1MdWRNTUNOUWRSc3IvQTVqNXMzdzJCWnZldk1BU2svbGNTT0xEelBKNFdPTCtOR3NSbHlxRHpmWGoyMUR6NDJPUHRvaWNma2NiU21mSjJ6MjR1bEhvN0U1aXFRaWhha1R4K1RHcERlTXoxQzJVZjR6QjMxNWZOVUxQVzUyK05qcVo5NysxeW5ZQkhVNHlOVG5UUnpwamVpYzMwR2VmbDV4dGdwSC9MSkFzUVk0N3dkYVdDVkE0SldjVFRwTU4zdHdUVC9zbXU3VjgrKytDN3JBRGtFOXg3SENWaHc4bnBnN0lPcEhYWG84eHA5cU9PcC92Rmh5TDRZazM3VTA5RkJremJIM2FnREJ4dXdXdDI0T2thMU5XQWxqMElSRkQ2emFaWUdlWHJpT2NDM1dKL2xyY3VXdSs4ODdheWZydjdoZ2FYajhweStWeUptZDVxSEljMldyampNd0dNZ0tCZlUyTm84eStVcjB2aStjVnVqOCtWNGcyMEJrMCtzdzRZOWh1WENpVUdPVFhmcUdwVFpKeUY1K2o1Zm43c21mOXYyNHpxeC93VDR1dXBWUEhJZ05IZ1c1SUZ1UDdNOXZvUkxmZFZIRDhHSUFmZnNBY1I5R3ZlVEQwQWJCZG1IQTN5UGVlRVhMZEtHbTRyN29aN1BYRWY4QkNKdm5ScXY5eG1OVnQxR0h3NTlocDFqSDhSdEsxVXNpMkZsZllidERENnB3bno3emhIRWM1enpycWRRREJhbWhTenA1NW56WmFzWnZvRTVMZ25rNFpUSnMxdmxmRW5UY1h6ejFKZEVINXhta2lEeUJxOUQ4ckZqYkljRmwvTE94ZldiZzdRbXloSFdEd1NCejc0L2JxZjduR09zNnZVMHdRZk5BUm5Pckx0dDVhaHE2L2M4eFdQZU9UbmNzMFdUZkZZcjNSNHBwek9nVHp6QlJ5NnJuQUNFODh5MEp3MldNcW1uaStOOWJhYXhlOENHZm9tQ3d3THMvZmc4ZXpZVlBCeGtyaXRhZ1dDVGdnY3pQVHZFMzRkdUpwK2ltQjJ3ZFNyMVgydlpBRUZqNkRlQXpXS2F4SWR3UHpBM3Uza2lvdU02RDFKS1g1cWVmTXRLdWRKbGhwdG8ySDFNd1p1ZHR3WEVxdWVjOHd1YXNXT0FyR08rNjdRamkrVytQaDkvKzRxVEZpVzBEaUI2U05LRzAvaHR6MFc0d3BpMlJsODN1NUVTOGdQZHlmWjRQb2lSR2J2aVpibWxOWWFXZkZvbGlMQllwalNmZDNZRjRPdUVGTHVYMXZESnUydlk4dTJENnQvMlpXUUlkdTVVbTN3VkM5VzZjK1J0OGJQWkdtZGp5WjNZeEJyYk1YdGI3dm42Q0hFY3cvUDU2cEFWYktsWk9rQzQ1SXJTOVZrTWRkdVVaOE5Fc04za3RrTjN3YmJsN0dCcFF3QzJuZzArbm9vNDhqaWFyOGRqN0xVQVp2OFBQUGZ2RWE2TzBVNEFBQUdEYVVORFVFbERReUJ3Y205bWFXeGxBQUI0bkgyUlBVakRRQnpGWDFPbG9oVUZPNGc0WktoT0ZrUkZITFVLUmFnUWFvVldIVXd1L1lJbURVbUtpNlBnV25Ed1k3SHE0T0tzcTRPcklBaCtnRGc1T2ltNlNJbi9Td290WWp3NDdzZTdlNCs3ZDRCUUx6UE42aGdITk4wMlU0bTRtTW11aXFGWGhDQ2dIejBJeU13eTVpUXBDZC94ZFk4QVgrOWlQTXYvM0oralY4MVpEQWlJeExQTU1HM2lEZUxwVGR2Z3ZFOGNZVVZaSlQ0bkhqUHBnc1NQWEZjOGZ1TmNjRm5nbVJFem5ab25qaENMaFRaVzJwZ1ZUWTE0aWppcWFqcmxDeG1QVmM1Ym5MVnlsVFh2eVY4WXp1a3J5MXluT1l3RUZyRUVDU0lVVkZGQ0dUWml0T3FrV0VqUmZ0ekhQK1Q2SlhJcDVDcUJrV01CRldpUVhULzRIL3p1MXNwUFRuaEo0VGpRK2VJNEh5TkFhQmRvMUJ6bis5aHhHaWRBOEJtNDBsditTaDJZK1NTOTF0S2lSMERmTm5CeDNkS1VQZUJ5QnhoOE1tUlRkcVVnVFNHZkI5N1A2SnV5d01BdDBMM205ZGJjeCtrRGtLYXVramZBd1NFd1dxRHNkWjkzZDdYMzl1K1pabjgveHJ0eVl2RFJmRzhBQUFBR1lrdEhSQUQvQVA4QS82QzlwNU1BQUFBSmNFaFpjd0FBQ3hNQUFBc1RBUUNhbkJnQUFBQUhkRWxOUlFma0J3SVJFZytzaDBPcUFBQWdBRWxFUVZSNDJ1eGRkM2dVMWQ1K3oyekxwdmVFa0lSaUNDMFFhZ2hkT3FHSU5CRkVVY0VHSW9JRnBQaGh1VjdBY20zWDNwQXJLZ29pSUNBaXZZbDBFa3BDU085bGU1dlptZlA5c1R2RDdHWkRVVVRVL1QzUFBKdmR6Y3llT1hQbW5mZlhDYVVVZnZudFlyUFpVRjVlanVycWF0VFcxa0tuMDBHdjE4TmtNc0ZzTnNOaXNjQm1zOEZtczhIaGNNRGhjSUJsV2JBc0M0N2p3SEVjbkU2bnRQRThMNzN5UEE5QkVPUi9FMEVRSU44b3BlSXJvWlJDM0FBUTcxY0FvSlFTOTlDbFY2L1BTRjVlWGx4VVZGUVRqVVlUcDFBbzRoaUdpV0VZSm9vUUVna2dBa0FvSVNRVVFCQ0FRQUJhQUdyM3BnREF1SThuQU9BQnNPN05Cc0FLd0VJcE5RSXdVa3IxbE5KNlNta2R6L08xSE1kVjJlMzI2b3FLaW9yMDlQUnE5M0dvYkd2d25oRGkvWjM0R1FCUVFraURWOWxHR1lZQklRUU13MEFRQktqVmFqQU1BNFpocUVLaGdFS2hBTU13RVA5V0twWFNxN2lwVkNxb1ZDcW8xV3FvMVdwb05CcG9OQnBvdFZwb3RWb0VCUVVoT0RnWUlTRWhDQThQUjBSRUJLS2pveEViRzR1RWhBUm90VnIvelhRZGhmaUI3YmNKeTdJb0x5OUhaV1VsYW10clVWOWZENzFlRDZQUktBR2ExV3FGM1c2SDNXNi9JcURKd1V5K0NZSkFSSUR6QWpNUElCUEJTUTVTM29BbGYxOWRYWjBhSEJ5Y29sUXFiMkVZcGlVaHBEa2hwQm1BWmdBQ2JwSnB0Z01vcHBRV0NZSlF5UE44QWN1eUYzVTZYWDZ6WnMwdWVBRWN2UXpnTlFCQUVmZ0lJUjVBUnltbFNxVlNCRFlKME9RZ0o5L2s0TllZd0FVRUJDQWdJQUNCZ1lFU3dJV0doaUk4UEJ5UmtaR0lqbzVHZkh3OEVoSVNvRmFyL1RlWEg5aitIQ2twS1VGbFpTVnFhbXBRVjFjSG5VNEhvOUVJazhra0Fack5acnNzb0hFY0o3RXpiMUR6QldZaUt4T0JUYngyUG9ETTQzMWVYbDVzUWtKQ0I1VksxVUdoVUxRbmhMUUgwQmFBNXE5OERYaWVkNVNXbHA1TlNrbzY0M1E2ejloc3RwemMzTnljSGoxNjFMcVpvaHpVQkRkVDgyQjIza0FuQXBzSWFDS2J1eExJaWFDbVVDaWdVcWt1QzNCYXJWWUN1SkNRRUlTR2hpSWlJZ0pSVVZHSWlZbEJmSHc4a3BLUy9EZVpIOWh1bkZSVlZUVlFPdzBHZzZSMnlnSE5icmMzQUxRcnNEUWlxcDFlZ0VZYVlXVU5HTm5FaVJNVkgzMzBVZmVBZ0lCdUNvV2lLeUdrQzREVXYrTzE0SGtlcGFXbGFOYXNtZmRYZVlJZ0hPTTQ3cmpSYUR4Mnh4MTNITnU5ZTdjZ0F6c0o5QWdoZ2plamN3TmJBemJITUF6MUFYQlFLQlQwU3V4TkRuQWlleE1CVGxSUHc4TENHcWluY1hGeC9wdk9EMngvbkJnTUJwU1ZsVWtzelpmYTZjdU94bkVjV0phVkdKb1BPeHFSMjlGOE1EUGl3MTRtc2pMeXhCTlBLSll1WGRwSG85SDBaQmltRnlHa0o0RGdmOEkxdVF5d2VZdVpVbnJJNlhRZU1wbE1oMmZPbkhsb3pabzFUaDlBSjRqQTVnWTA2c011UjcyWm5KZjlqWHJiMzBRR3AxYXJKWUJyelA0bVYwOUY5dGEwYVZPRWhZWDViMEkvc0YwLzRUZ09KU1VsSGl4TnI5ZExMTzFxN0dpK25BTWlvSG14TTBuTmxERXl5SUdNVXNyVTE5ZTNDdzRPdmxXaFVQUWpoUFFIOEk5YzlkY0FiQTJlVTRJZzdPVTRibDlWVmRXKzVzMmJuM09EV3dOV0oyZDBJbnVUL3kwNkdPUWdKd0pjWTg2Rks5bmZSUFlXSGg3dXdkNlNrcEtnVXFuOE42VWYySDZmVkZaV29yUzB0SUZ6UUs1MmlxQW1zalNSb1YwdG9QRThMNm1aZ2lBMENtWldxM1dBV3EwZXpERE1ZQUFkL0ZmbmR3R2J0MlE3bmM0ZFJxTnhWM1IwOUQ2NHZMaUNOOWcxQm5JTXcwanFxa0tob0ZjTGNDS0RFOW1iQ0c1eTlkVGJ1WkNZbUlqNCtIai94ZmNEMjdXTHhXSkJjWEV4eXN2TFVWVlY1ZE01Y0tYd0RTKzFrM2c1QnVUc2pIZ3hOQW5NYkRaYmxscXR6aUtFWkFGbzZyOHlOMFRLZUo3LzBXUXliWStNak55T1MrRXFQa0ZPcHE1NnFLb2lpL1B5b05JcnNUZHY5ZFRidVJBWEY0ZUVoQVFrSnljaktDaklmN1g4d0haMVVsSlNJckUwdVMzTmwzUEEyNWJtZzZWZENkQ0l0ODNNWXJFTTFHZzB0eEZDUnZuQjdLWUF1UzE2dlg1TFRFeU15T1E4UU02YnhjbEFybEdBVXlxVmpRS2NuTDE1T3hlOGJXK0ppWWwrNzZrZjJDNHZKcE1KUlVWRktDc3I4MkJwQm9QQkl5YnRLb05zaWFoNml1cm1aZGdabzlQcDBvS0RnOGN5REhNN2dIYitKWGxUeWxtV1pUZVdsNWR2YnRteTVSa1p3UEV5a0tPeTF3WXNUcTZtdW9HTlhrMXdyenoyVGZTY2l1eXRhZE9tYU5hc0dVSkNRdnhYeUE5c0RWbWE2Q0R3NWZGc0xJUkRCRFZmZ0NiUEVwQURtZ2htbXpadENoZzhlUEJFcFZJNWdSQXl6TDhNL3pvaUNNSTJxOVc2NGEyMzN0cTRhTkVpR3dDbkhPUmtMRTRRMlp1M211b1ZIdUlCY0NLNE5SWWE0dTA1RlIwTGZ2Ym1CellBZ05WcVJVRkJRUU1IZ2NqU3pHYXpaRXU3UXViQTVRQ055TlZPdlY3ZklTZ29hQkxETUpNQStGZmlYL3laeUhIYzJwS1NrdlVwS1Nsblphb3E3NjJxeWdDT1hnbmdMaGZZcTlWcUVSd2NMTEUzYjhkQ2l4WXRFQmdZNkw4eS8xUmdxNmlva0ZUUDZ1cHFEd2ZCbGVMU1pLRG1FOURjQWJVZTZxYlZhczFTcTlXVENTRVQvVXZ1YjhuaTF1bjErclhSMGRFNzNBeE9EbkM4THpWVkZpYlNBT0FhczczNWluc1RWZFBZMkZoSk5XM1NwTWsvL3Bvby8wa255L004OHZQelVWeGNqSXFLQ2lrbHltQXd3R2cwd21LeFNLRG1jRGg4WmcrSWdDYXpvL2tFdEx2dnZsdngwVWNmM2ExVUt1OEcwTWQvKy85OWhXR1ljWkdSa2VONG50OXZzVmkrSGp4NDhOckRodzg3UlpDamxEYndyUEk4VHdWQm9HTGlQYy96VkI0UzVIUTZxVHhjU05RUTVLWVE4YUVyUG9TdFZpdk1aak5NSmhOdXVlVVdLQlNLZnk1akt5d3MvRWVjcU5GbzlBbG9vc2RUcm5aZXpvN21TK1dVc1RPeWFkT21rTmF0VzkrclVDaW13Ujl6OW84VVNtbTJ3K0g0Y3YzNjlXc1dMRmhnSklUd01pYlhRRTJWc1RodkJuZForNXRjUFJVRGU4V2MweVpObWlBNU9SbWhvYUgvVEdEak9PNXZmNUpsWldVb0xDeVV2SjVpQm9HMzZ0bFlHSWVYMmtsa2FVOFNxR1ZuWjBlMGJObnlmb1ZDY1QrQUZQL3Q3UmNBK1hhN2ZkV21UWnUrbmpKbGlzNUxUZVhkNENhcHFPNWdYeXJQUWZWV1QzMkZoWGluWkVWSFIwdGUwK2JObTZOcDAzOWU1TkRmMnNaR0tVVnViaTZLaW9xa2dOdkxlVDI5TXdnYVVUdEZMeWRES1NVblQ1NE1iZHUyN1F5RlFqRUR3QzMrZTlrdlB1U2l6V2I3L0t1dnZ2cHkrdlRwaHNzQkhDRkVrQ1hkZTJjdVVGOFpDNDE1VGNXQTNtYk5taUUxTlJYdWJBay9zUDJWeFdReTRjS0ZDNUw2V1YxZExYazk1UUczamVSNUV1OVVLQzlQSjdOa3lSTEZraVZMSGxRb0ZBL0NIMy9tbDZ0NzBKNjFXcTByNzdqamp0VmJ0bXhoM1FBbnFhZ3lnQlBrSGxUdjFDeVZTa1VieXplVnE2V1JrWkdJalkyVjFOS1VsSlIvVE16YjN4TFlxcXFxa0orZmo1S1NFbFJVVkRRSTVmQk9YcGZiMUx4WW1vZGpRUFJ5MnUzMk8xVXExU01BZXZodlY3LzhCb0E3YkRRYVB3c1BEOTlJQ09HOEFNNmJ3VkZaQmdQMVptL2VNVy9lQWIxaVNFaVRKazJRbEpTRVcyNjU1UjlSRHVsdjV4VXRMQ3pFeFlzWFBlTFQ1TG1lM3NucmNwWW1PZ3JrYXFmTWpzWllyZGFCYXJWNnBqdmx5UzkrK1cxc2dwQ01zTEN3REo3blIxVlhWMy9XcEVtVEEzS0E4L2FpOGp4UDNRSkJFS2hYL1Q3eFBYeDVVVVd6aXVoRnRkdnRzTmxzYU42OHVSL1kvaXIydFBQbnorUGl4WXVOT2drdVU5bTJBVXVUcTUzMTlmV3BvYUdoc3dnaEQvdHZTNzljTDJFWVprUjhmUHdJbG1VL3lzbkorYnh6NTg3NU1vQVR3MFI0QUlJZ0NJTFkzOEs5VVRGbFR3NXUzaUFuT3NDOHdjMXV0Nk4xNjlaL1c3dmIzd0xZYkRZYnpwOC83K0g1bE1lbk5XWlA4MlpwYmxDVDFNNTc3NzFYOGNFSEg4eFdLQlNQQVVqMDM0cCsrU05FcFZMTjZOU3BVNWJGWW5tL2I5KytueDgvZnB3RndMblpHeU9xcUpSU3FSaW0yNEZGNWNVVnZBSE91MXF6SE9CWWxwWEE3ZS9ZU09ZdkQydzZuUTY1dWJrb0xDeVVDa0xLcTNMNEtnYnBmb3JKUVUzTzBoaEtLYkZhclVNMUdzM2pBQWI1YnoyLzNBQnBHaGdZK1B5dnYvNDZvTHE2K3FNbVRacnNKWVN3TXZXVTRGSk9LdlZpY0hLQW83NmFBdmxTVDhVb2dOVFVWRVJFUlBpQjdXYVJxcW9xajNBT01ZbmRWNFZiV1NnSEVlbTVENWJHbEphV3hzZkZ4VDNPTU14Yy83M21sejlCUFIwUUh4OC93T0Z3L0hmSGpoMmZabVZsVmJyVlUwWU9jSzRLNWtSb2pMM0pWRlZjalpxYW1wcjZ0M0lxL0dXQnJhU2tCSGw1ZVNncUtwTENPZVROVlh3NUNieFpHcy96Y3BiRzJPMzJDU3FWYW03cHVlTmR5eDNCeUVodmRWT2RjMzE5UFdwcmE1R2FtdXBIZ0wrQTZQVjZiTnEwQ1E2SEE0TUdEYm9tZzcxYXJaNDFiTml3WG5WMWRlOUhSVVZ0SVlRbzNPb3BKN085RWJuOVRRNXdMTXNTbG1VYnRiMTVNemlPNDFCVFV3T3oyUXdBaUlpSVFPdldyWDgzOFNnb0tBQUF4TWZIWDlYNVYxUlV3T0Z3L0c3bkJ0UG9ONndlbnl4N0VvUDdaeUlqc3o4ZVdmZ3F5a3pPbTJMQjVPZm40OHlaTXg1eGFwZlltZzdGRjg3ZzJKRmZrWjJkZzhMaU1saHNkamdjRGlJQ25EczFpZ2lDd0FpQ29LaXNyRXgyT3AydnFWU3Evd0hvdXZvLzgzRFB3bmR1aW5NOWZQZ3czbnp6VFFEQWtTTkg4TnByci8ycFkvZzl3bkVjQmcwYUJJUEI4S2VONFhyTDJiTm5ZYmZiRzN6dWREb3hZY0lFRkJVVklUQXdFRmFyOVpxUFRRanBIQmtaK1I3THNvdDM3TmpSakZJYVFDblZ3TldZV2tVcFZWQktGWUlnS0FSQllIaWVKMDZuazdBc0M1UEpCS1BSU0VRdnFEeVAxR0F3U0ZXaUt5b3FVRnhjakFzWEx1RFFvVVA0K09PUDhmYmJiLy9tZGZiU1N5L2h6Smt6QUlDQ2dnS3NXN2NPSzFhc3dLcFZxNjVxUFd6WnNzWG4vMTdyZW1nVTJMWjk4Q3hlL0hRM1JrNS9CdiszNEQ3ay9mZ2VIbm4yNHo5OUlaMDdkdzVuejU1RmZuNitSN1Zia2ExVkZlY2h2NlFheXNCUWhBUUhnSE5ZU0gyOW5vaU16YzNVaUNBSUlrc2JGeDBkL1JVaFpPYk4rTlQvOHNzdmtaR1I4YmNZZzBxbHd2dnZ2LytidWk3ZERQUGdTK2JNbVlPU2twSUduK2ZsNVlFUWdrV0xGbUh5NU1sbzE2N2Q3NW0zQi9yMzcvL2ZFeWRPWkFIUXd0VVRWZ1EzcFJ2Z0dCSGMzTDAwQ00vemNEZ2N4RzYzRXhIY0xCWUxUQ1lUVHA0OGlZS0NBdFRVMUVqOVBWaVd4Wmd4WXpCdzRNRGZORTZUeVlUZHUzZWpUWnMyQUlETXpFeXNXTEVDdDkxMjJ3MWZENDBDVzFGUkVVaEVjMHlaTkFZamI3OFhMeTkvRWNPNkpNRUpRRjk0RkhQdm40Q01qRXpjTnZraDdENVhCUUE0dXY1TkRNKzZGM2syQUhEaXhZZEc0dUZsWDdwNStVbE15aHFPZDcvWWlEbFRiMGRtUmlZKzIxM29ZbUNIdnNjOTQ0WWlJNk1YcGo3NkhQSnJIU0p0eE5aUGxtUDBnTDdJN0RzWUR5NTRCYWZQblVOQlFZSFVEcys3SjBGRmVUWEFxQkFhRkFDVldrdlVTZ1dvNEhTQm10TkpPSTVsbkU0bjAyUEFpUEJ2OXAxNVFhVlNmUW1nMjRGdjM4VHcvcjB3OExaN2NMalFKS2V1SG1OWTh1WWFPRzdRVFdNMEduSDI3Rm4wNkhFcER0aHF0V0xldkhubzM3OC9IbnZzTVRnY3J0R1l6V1k4OWRSVEdEcDBLQ1pObW9SVHAwNEJBTDc0NGdzOCt1aWpHREJnQUJZdlhveXNyQ3pNbVROSGJMcU10V3ZYWXVUSWtjakt5dkw1cFBRMWhsOSsrUVhqeDQvSDRNR0RzV1RKRXRoc05nQkFiVzB0WnMrZWpheXNMSXdmUHg2Ly9QS0x0TTlkZDkyRmtTTkhZczZjT1pLNkk4cW5uMzZLNGNPSFk4aVFJWGp0dGRmZ0hUVHVQWWJ2di84ZTc3MzNudlQ5NmRPbnNXREJBb2twTFZ1MkRFT0hEc1hZc1dPbE1aak5aa3lmUGgydnYvNDZoZ3daZ29rVEo2S29xQWdBOE1JTEwyRC8vdjNTOFZhdlhvM1ZxMWRmOXRyczJiTUhFeWRPUkdscEtlYk9uWXVKRXlkaTU4NmRBSUNubjM0YVR6enhCQ29xS2pCeDRrUk1uRGdSTE10ZTluanIxNi9INjYrL2poa3pacUJmdjM1WXVuU3BOQS9MbHkvSHFGR2p1aXhjdVBDRFhidDJ6ZjN3d3crakthVUJBRFNVVWhXbFZDa0lncExuZVViYzNNQkdEQVlEYW10clVWdGJTMncyRzNRNkhVNmZQZzJqMFlqczdHeHMyN1lOUjQ4ZVJXVmxKY3JLeWxCUVVJRGk0bUxVMWRWSnY1K1hsNGQ3N3JrSGdpQkk0NTA5ZXphT0hqM3FjUTRiTjI3RXFGR2p3RERNRmRmMjVkYkR1WFBuTUdIQ0JBd1lNQUNmZnZycEZkZmtoUXNYTUhQbVREend3QVBvMzc4L0ZpNWNDTWgwYzQrdDhzUUc5R2pmRXAxNmpjRFNWOTdCNlJMWGlWTGVnRmtqT3FIN3NHbjRidE42ekpwd0sxcjNtSUFTTzhXdWorZWpSWXMrT0dtbW9KVERJNE5TTUd6Mlc2NzlxdmVoUzRzV2FObTZFMmJNbTQ5Rjg1L0Uzbnd6K0xvVEdOQytKVVkvK0N3MnJGK04wVDNiWXRUanJuMU9yRnVHbGkzYVl2N3JLL0hLMGpsSWlvbEMxclFuTUgvK2ZFeWZQaDNqeG8zRDRNR0RrWm1aaVk0ZE95STFOUlVhQlFGUmFoQVpHVWxDUWtLSVZxc2xhcldhVVNxVkN1S3lLYXBYcmZsMjhPSUhSLy9Zc20wZmVxeWFvNDdTUGJSclNnczY5cUdsZFAzYWxYUll0MVRhZXNUamxGSktUNnhiUmx1MmFFdWZlZXQvZE8ybksyaW5sSlowMmJvVDlFYklxbFdyNk50dnZ5MjkvL0hISDJuLy92MXBXVmtaZFRnYzlNNDc3NlJyMTY2bGxGSzZZTUVDK3E5Ly9Zc0tna0FQSHo1TWUvVG9RYTFXSzMzOTlkZnBmLzd6SDNya3lCRTZkT2hReW5FYzdkV3JGNjJ0cmFVSER4NmtJMGVPcEhxOW51cjFlanBreUJCNjh1VEp5NDVCcDlQUjd0MjcwN05uejFLZTUrbkNoUXZwRzIrOFFTbWw5UDMzMzZlZmYvNDVwWlRTUTRjTzBYNzkra243bVV3bWFqUWFhWHA2T2pVWUROTG41OCtmcC8zNjlhTVdpNFZhTEJZNlpjb1Urc3N2djF4MkREVTFOYlIzNzk2VTR6aEtLYVZMbGl5aGE5YXNvWlJTK3ZycnI5T25uMzZhT3AxT2V2YnNXWnFabVVudGRqczFHQXcwSlNXRkhqaHdnRkpLNllvVksrajgrZk9sZVowNWM2WjAvR0hEaHRIQ3dzS3J1a1pEaGd5aHVibTVEVDQvY2VJRUhUTm16RlZmNjQ4Ly9wamVkdHR0VktmVFViUFpUQWNPSEVoLy9mVlhTaW1sTnB1TkdvMUdPbVBHRFByamp6OVNudWQvS2l3c25BQ2dHWUFtQUtJSUlXRUFnZ0FFTUF5akpvUW9DU0VLdFZyTkJBUUVFQUFrTEN5TXhNZkhJems1R1FFQkFXamV2RGt5TXpNeGVQQmdqQnMzRHRPblQ4ZjgrZlB4MEVNUFllREFnVGgrL0RoWWxnV2xGR1BHak1IT25UdEJLY1c1YytmUXQyOWZPSjFPRDh3WU4yNGN5c3JLR21ESnA1OStpdWVmZjk3ak03ZXFqUFQwZEJnTUJ1bnpqei8rR0dQSGpvWFpiRVpWVlJVeU16T1JuWjN0c2UrcVZhdnc5dHR2Uys5UG56Nk5ybDI3b3F5c0RGYXJGUk1uVG15Y3NjV2xqOGJXcmQvanZxd08yUC9OZXhnemVBZysrZmtjaE9JRDJISFdnSWtQUG8zYlI0N0Jvc2Z1Qmx0OUZMdFAxbDhWQ3huMTZISjgrT295dkxqc1pmUnBHWVNDZzd0UmFHVXdmZDRpakI0ekdXKzgrd0ZtanV2dGVnSjh2d0UwTEFGOHhSbmtGQmtRb0hEaTlQR2pVcHlhZDBpSHpXWURUeWtnOEI2cXA4dnJLVEFVVU14K1k5UERVeWVPWDdsay9zeWhHbnNadHUzT1JmNnZoMURQQitEQnA1L0JtSEgzWUdDWGhFdFBvZTgzQUJGSlNGQVlVV1VMUkdJRWcxMjc5dDBReHJaMjdWcU1HemZPNDdNMmJkb2dJU0VCYXJVYTNicDFRMFZGQlFEZ3A1OSt3b3daTTBBSVFmZnUzWkdjbkl3VEowNEFnRlIxTlNRa0JFcWxFa0ZCUVdCWkZwczNiMGFUSmsyd2R1MWFyRjI3RmpFeE1UaDA2TkJseDNENDhHRjA2TkFCYmRxMEFjTXdXTEJnQWNhUEh3OEFtREZqQmhJU0V2RDIyMjlqNTg2ZHFLbXBrZllUZjk4N0lEUXVMZzRxbFFydnZQTU9UcDgralpVclZ6WlFNYnpIRUIwZGpTNWR1bUQzN3QxZ1dSYTdkKy9HcUZHdVpKQWZmdmdCSVNFaFdMbHlKUTRjT0FDR1lYRCsvSGxwREQxNzlnUUFaR1Jrb0tyS3BXa01IRGdRT1RrNTBPbDBPSG55Sk9MaTRxNUhXNzlybHU3ZHV5TThQQnhCUVVGbzM3NDlLaXNyQVFBQkFRRUlDUW1SNnFzeERETzRXYk5tYjN6enpUZFQzS3BwZ0tpYUFoQlZVd1VBUnN5ZUlZUVF0eU9OMk8xMjhEd1B1OTB1cWFaNnZSNTFkWFZTWUx2UmFFUnViaTVPblRvRnU5Mk9HVE5tNFBQUFB3Y0FmUFhWVjdqbm5uczg2cjNsNXVZaUpDUUVDUWtKVjNXdWphMEhBT2pjdVRPQ2dvSVFHeHVMWWNPR2VURC94dTZMaElRRUpDUWtRS3ZWNHE2Nzdtb00yRmhzVy9NWjloY3llR3p4TW16YnN4ZTNkMURobGRmZWQzbFFBR2cwcnVhdEt2Y3J4L0x1ZlFYSUdHc0RDZmVLbDJFNUJ3QUZOQnFYZzdaRmVoOWs5ZTNzb3B3bUN6aWJIaGZPbjBkaFlSSENrMUlSRzZLOFhQY29Ra0VJcFlKVU84M3A1QmllNTVuaXZPMEp2VnEyZUMxQXEzMERRSUpTbzRZQ0FNZXo0Snc4QUFXVW1vWk9ZcnZORGlYRG82YXlFcFdWMWVpU05RVlp2ZHJlRUZ0aWVIajRaYXVoTWd3anFRc2N4MEdqMFVqZmFiWGFLNm8vTnBzTm9hR2gwaloyN0ZqMDZkUG5zbVBnT0E1cXRWcDZIeElTSXBYRmVlMjExN0IrL1hyMDZORURJMGFNdUtyekRBc0x3OGFORzVHYW1vcHZ2dmtHdzRZTlExbFoyUlhuWWVyVXFmajIyMit4ZmZ0MkRCbzBTQW95dGRsc2lJeU1sTTVwN3R5NVB1ZFFQbmRLcFJMang0L0g5OTkvajNYcjF1R3V1Kzc2MDIxM2hCQmNJWTg3UWExV3Z6Uno1c3huTm0zYWxDaXFwaktBRTRHTmNkdVRJUWdDY1FmbkVrRVFpTVBoOEhBcTZQVjY2ZDZ5V0N3b0xDeVV3SzF2Mzc3SXo4L0h1WFBuc0czYk5reWFOTWxqTUd2V3JNR0VDUk91K3p5bzFXcklTNnRkelgyaDBXZ2FBellsanYrNEVrOHRlQlo3VCthanRMUVFlclByeGxFMDY0Wk8wU3I4c081L0tDd3R4YW92TndDQkxkR3RZd3ppWStJQTFPR1hnOW5JUDdrTEY2cjVLdzY4WlpjTVJDaFliUHBtSGNwSzgvRFl1RXowdnVkRm1Fd21ORW0rQlpiYUtnaWg4YmlsWlRNb0JSWUJha1dET0RWM3hWdkNzaXdVaEFCVUlDekxFWjduR1VHZ3pOQ0hYKzNYcEhubWg1bnR3MmJ1MnJnRzU0cEw4ZTJxTmJDUUVHUjBhWTFiT25SRUlDeFl2Mm9kQ3M4ZnhjbThPbWw4ZlhyM0JLZlhJU0VqQ3c4L09BMXQ0c09Ra2RIbEQxL1lhOWFzd1IxMzNIRk5UL3N0VzdaSWJ2YnM3R3gwN05qeGl2dFVWVlZoekpneG1EQmhBbHEzYnUyeFlIeU5vWFBuempoNjlDajBlcjMwUHg5ODhJSGt0UjAzYmh5NmQrOHVxUWxYa2wyN2R1SGxsMS9HYmJmZGhsZGVlUVZ0MjdiRndZTUhyemdQM2J0M1IybHBLVmF1WElrcFU2WkluMmRrWklCbFdVeVlNQUVUSmt4QVFrTENWUVdmVHBvMENldlhyOGZodzRldnlYaXUxV3BSVjFmM3A0QmZlbm82amg0OU9xTlhyMTR2RlJRVTlQRGxXQUNnRUFTQkVkbWI2RFdsbE1LWFUwSE0xckhaYkZJSi9ieThQSnc5ZXhhVEprM0NvNDgraXFGRGgzcFVDZUU0RHJ0MjdjTFFvVU92eTNrVkZoYUNVZ3FIdzRIZHUzZWpRNGNPVjF3UE9wMU9zamYvOU5OUGpjV3hNWGpzcGYraWV2NUN6QmczQkJ3Rm9sdDJ3Y3N2ejRGUzNRVExYdjhYWnM1N0hnUDdyWUk2ckNtZWVlVnRwSVVDR0h3blJxVjlnK1VQMzRaUFcvZERpNlpoMEYzaEpEVEovZkhLMGdmeDFMOFhvZSs3SEtLYWQ4VnpDNmZnOU9uVGlPNDRCSm10TCtEbmJ6NEQ2K1NoMElhZ1pZb0dBWEI2eDZoSjhXbFFLQWdSQkNJSVBBSEFESjc0eU5UWC8rL2had2pScGl4NCtYVVVQVElQSTI3dEIwVkFCTzViK2hxR3R0SUNHSW9sRHc3QnN4OCtqUjlYeDZKOXdxV3FvOE1mZmg2UGx6NkJOeDZmZ3VVOEVOMnFLMTdxUHhsQStCKzJZRm1XeFo0OWV5U0QrTlhJMHFWTE1YUG1UR3phdEFrVkZSVll1blRwRlcvbzhlUEg0L1RwMDhqS3lrSk1UQXdVQ29YazVtOXNEQWtKQ1pnN2R5NG1USmlBbUpnWUFKRGM3ak5tek1EQ2hRc1JHeHVMMk5oWUNJSUFnOEdBc0xBd2pCczNEdlgxOVRDWlRCZzFhaFNDZ29Ld1pjc1daR1ptWXZYcTFSZ3pab3pyd2FsUVNEZkk1ZWFCRUlLSkV5ZGl5NVl0U0VtNVZOZHo0Y0tGZVBUUlJ6RjI3RmhRU3RHdVhidXI4cWFLUFFOYXRXb0ZwZkxxd3p1blRwMktPWFBtb0huejVoZzllalNtVHAxNjNkZkQ4ODgvangwN2RxQzJ0aGJIamgzRFN5KzloUGZmZngrdFc3ZkcxS2xUTVdyVXFJRnhjWEhOQmcwYTlOYlBQLys4MFoyR0phL3N6QU1BcFZSd3gyNUNvVkJRa1JDbzFXb2FIeDhQczltTVU2ZE9TV3p4czg4K1EvdjI3VEZ5NUVnSWdvQTJiZHFndUxnWTk5NTdyOGY0ZnY3NVovVHQyOWVEeVFQQWhnMGI4TnBycjhGa01zSHBkT0xubjMvR0k0ODhna21USmpXNkhrU1FHanQyTFBSNlBYcjA2Q0daRHk2M0hod09CKzY5OTE0cDlPYUtaWXRZaHdsV0I0UHdVSy9PMDRJVDlYbzlna09qb2ZaWUJ3TDA5WG9FUjBaZVUvU3Z3RHFnTjlzQUJqaWJrK01SemxGZFhZWGFlaDBjTmx1RGJBSTVxTW15Q0pocGQwOVZMUC9QZnhkRWh3Y3Rna2Nnc210ODJ1QndhTlNlaE5WbTBRUEtZR2g5cUtTc3d3S2pqVWQwK0I5ZmF2bnMyYk00Y3VRSTdyNzc3bXZldDY2dURxR2hvVkNwVkZlOWo4MW1BOGR4SG1Xa3J6UUdsbVZoTnBzUkdSblpZSUhaYkRhRWgxOGI4SnRNSmhCQ0VCd2NmRjNtd1dBd1FLMVcvKzQ4eUNsVHBqU0l1OXU0Y2FPSDUwL3NrWEdsY3k0dUxzWWpqenppOFZuNzl1MnhZc1dLM3p5K21wb2FhTFZhTUF5RGYvM3JYODdFeE1UWDNudnZ2WTlPblRwbGQ2ZGtjZTdONmE3ekpoQkNCSGtoUzQxR0E3VmFUY1hhYm1McEk3Rm9aVlJVRk9MajQyRTBHcEdUazROVnExWjVuT3VubjM2S1BuMzZvRldyNnhmUUxpYnJ5ME5CR2xzUDJkblpXTGh3SWI3Nzdqdm85WHBFUmtiZVhQWFlkRG9kY3J4QVRYUVNpTTFXNU4yalpLQW1yNXZHVkZaV0prVkZSVDFEQ0prQnYvamxieXFDSU9EdXUrOUcwNlpOd2ZNOFRwMDZoYSsvL2hvaElTRXJkK3pZOGVIdzRjTkxDU0VPTDNEanZjQk5LajB1Z3B1OEc1WUlicVdscFNnb0tNQ3NXYlBRcDA4ZnRHL2YvcWJKTHhXQmJjT0dEWmNZL2MwQ2JISlFLeWtwOFFBMWVjTVZIMHhOVEkxaUJFRWdKcE9wbTFhclhlaXZtZWFYZndxNFpXZG53MjYzSXowOVhYSWc4VHkvSlRjMzk3MTI3ZHFkQnVDUXNUZW51N2tNNys2eElJaU5ZK1RnSnBZY0Y3MlhZZzIzbEpRVXFXRGx6UUp1VnFzVmhZV0ZIa0hRTndXdzZmVjZaR2RuK3dRMWthbjVVajlsV1FTRVVzclliTFpoYXJWNkVmeVZiZjNpRjFCS0Q1ZVhsNytUbUppNDF3dmNPRGU0U2N6TlhYNjhBYmcxcHBhSzRKYVdsbmJOWm9jYklYOTZFcnpCWVBESjFIUTZuYzhLSFY3cXB3UnFEb2Rqc2xLcFhBU2dsWDlKKzhVdnJrcTlDUWtKa2JXMXRXOUZSMGR2cHBReXhCVTRSaWlsSE54T0JjR2RVdUFtT1JRdXh3UDFBWlMrZmdOcGFXbS9LUzNxYnd0c0pwUEpwMDFOQkxYTHFaOXlVR05aOW1HRlFyRVlRSXgvT2Z2Rkx4N0FreElWRmJWWXI5Y0hoNGVIZitNdWQwUzhOVFlSM0p4T3AwOXdhd3pVeEsxRGh3NDNWYU1ZNXMvNllZdkYwcWlqd0VjVFk5SVlxSEVjOTVSQ29WanVCN1hHN1EvMzNYZmZUVFdtd3NKQy9OVWFkYi84OHN2bzNiczNoZzRkS3FVYVRaNDhHWk1uVDhiMDZkT3YrKy90Mzc4ZjE3SG5iMHhZV05nU3M5bDhMd0N0TEpoWG5xa2daU2s0blU3aXJscEpSN1FBQUNBQVNVUkJWTk1tSmREYmJEYVBRTjY2dWpvcGVUNC9QeDg1T1Rtd1dDdzRlL2FzbE5IaExmUG16Wk15WlJxVHpaczNTeGtPZnpsZ3M5dnQxK0w5SlBJT1VxSk43WjEzM2xGeEhQY3N3ekF2d3BWUzRoY2Z3dk04amh3NWNsT042Y1VYWDRURllwSGVHNDFHeko0OSs2YWR3NU1uVDJMTGxpMzQ2YWVmc0czYk5uVHExQWtxbFFxdnZQSUtubnZ1dWVzK3Z6VTFOVmkrZlBrMWhlejRrb3NYTCtLNTU1NFQzd1lFQlFVdHJLeXNmRWlqMFFRMUFtNEtRUkNJdlB5UnU5S3VCRzRXaXdWR283RlJjSHZpaVNjOFVxM2tjdXJVS2FsZ1FtTlNXVmtwRlNmNFM2bWlITWRkMXZ2cFpWTVRjejRoTDhmeTY2Ky9CcWVucHk5aUdPYkp2eU1ZSFRod0FNMmJOOGYrL2ZzUkZ4ZUh2bjM3U2psMVpyTVoyN2R2QndEMDZkTUgwZEhSMG43bDVlWFl0MjhmSWlNak1YRGdRSjlWRms2ZE9nV05SaU1WRWF5dHJjWE9uVHNSR0JpSWZ2MzZlYWdUUjQ4ZVJWNWVIdnIxNjRmYzNGemNldXV0a2xxeWI5OCtsSmVYbzNmdjNraE12TlFPb3F5c0RQdjI3VU5vYUNnR0Roem9rZVlGdUxJaWFtcHEwTDU5ZXdCQVRrNE96cDQ5aTkyN2QyUGJ0bTBBZ0w1OSswcnhaOFhGeFRodzRBQ1NrNVBScTFjdkNRZ3ZYTGlBbUpnWTdOKy9INm1wcWVqU3Bjc1Z4MEFweGQ2OWUxRlJVWUdlUFhzaU9UbFoyaWNuSndkUlVWRW9MUzFGYm00dSt2WHJoOFRFUk96Y3VST0hEaDFDUkVRRTl1M2JCN1ZhTGMxRDA2Wk5ZVEtaR21XbGh3NGRRbEpTRW5yMTZnVkNDSTRkTzRiVTFGUm90VnFjUG4wYW5UcDF3b1VMRnhBWUdPaVJZN2x1M1RxTUhUdjJpdXZoK1BIamlJNk9SbEpTRWdCSWViT0RCZzNDc1dQSGNQVG9VZXphdFVzS2NCMDZkQ2kwV3UzYzFxMWJxNGNORy9iUnl5Ky9ySGVybEtMZHplbFdTM2wzcVh4UkxZWEQ0U0NDSUZDajBRaTFXbzNFeEVRUFZaUVFncEtTRWdRRUJIalkyOFRyNTZ0czA5R2pSNUdibTR0dTNicDV4TUFKZ29BZE8zYWd2cjRlUTRZTWtZNzN5eSsvb0UyYk5nZ0xDd1BMc2podzRJQjBMZXgyTzdadDJ3YWxVb2wyN2RyZFdNWkdLZlVBTlhreXUzZlRGVmx2QWc5UU8zLytmRVI2ZXZyU3Z5dW9BYTR5T2s4KytTVDBlajJXTFZzbVpRUG9kRHJjZHR0dEtDMHRSV0ZoSVVhUEhvM2EybG9Bd0xGanh6QnAwaVRvOVhwczNyd1pEenp3UUlQamJ0bXlCZlBuejVmQThPTEZpNWc0Y2FLVS9EMW16QmdwTFdYMTZ0VjQrdW1uWVRRYXNXalJJano5OU5NZUtzWFhYMzhObzlHSUtWT21JRHM3R3dCdy9QaHgzSDMzM1RBYWpkaTVjeWNtVDU3Y3dEYXpidDA2andUbXVybzZsSmFXUWhBRUZCVVZvYWlvU0xUellPZk9uWGpnZ1FkZ3NWanc3cnZ2U29Hc3BhV2xtRFZyRnQ1NDR3M29kRHJNbWpVTHUzYnR1dUlZNXMyYmh5KysrQUlta3dsVHAwNzFLRlcwYXRVcVRKOCtIZSsrK3k1eWNuSlFYKzhxNmxCU1VvS2FtaHJZYkRZVUZSV2h0TFQwaXRkdjU4NmR1TysrKzJDeFdQRFJSeDlKa2ZJYk4yN0VrU05IY1Bic1dUenh4Qk1BZ1BmZmY5OURQYU9VNHZ2dnY4ZnR0OTkreGZWdy92eDVQUC84ODlML2JkMjZGWjkvL2prWWhrRjFkVFVxS3l2QnNxdzByNkt3TER2TDRYQThQSEhpeEdnQVl2RktGUUNsSUFnS0FBcEtLV0ZaVmxKTFRTWVRxcXFxWUxGWVVGMWRqWnljSEEvbVZsVlZoYTFidDZKZHUzYkl5Y2tCcFJSbnpwekIrUEhqVVYxZGpjOC8vOXhqN2w1OTlWVzgvdnJyc0ZxdGVPU1JSN0JqeHc3cHV3MGJOdURvMGFNNGZmbzB4b3daSTdINzVjdVhTeVlNbzlHSUo1OThVZ0xDcVZPbll2djI3Y2pQejNkbGZ6Uld0dWlQMkU2ZlBvMXZ2LzBXcjd6eUN1Yk5tNGVwVTZkaTVNaVI2Tk9uRHpwMTZvVFUxRlFrSlNVaE5qWVc0ZUhoSkNnb2lHZzBHa2FwVkNvVUNvV3lzTEF3VGhDRU4rbmZYSVlQSDA2enM3TXBwWlNXbHBiU0RoMDZVS2ZUU1d0cmErbXhZOGNvcFpTeUxFdG56SmhCdDJ6WlFpbWw5UDc3NzZlYk5tMmk3dExRZE1HQ0JWU24wMUdqMFVqVDB0TG8xcTFiNlpBaFEyaFZWWlgwTzZXbHBmVE1tVFBTOGJLeXN1anAwNmNwcFpUMjc5OWZHa041ZVRudDNyMDdwWlRTNDhlUDB4RWpSbEJYTldwS3Yvbm1HL3JVVTA5UlNpbjk5Tk5QNmV6WnM2blQ2WlMrczlsczB1OEpna0N6c3JLb1RxZnpPTithbWhyYXRXdlhCdk13ZVBCZ2FRd1dpNFYyN3R5Wk9od09tcE9UUXdjTkdpU040WU1QUHFEUFBmZmNaY2R3NXN3WmV1dXR0MUt4UitldVhidm8rUEhqcGQrYVAzOCtmZjc1NTMxZWowMmJOdEZaczJiNS9NNW9OTktPSFR0NmZEWnExQ2g2K1BCaFNpbWxITWZSbmoxNzB2ejhmUHJkZDkvUmQ5NTVoMzc0NFlkMDRNQ0J0TEt5a280ZE85WmpqbzRjT2RMZ3R4cGJEM2E3bldaa1pORGk0bUpLS2FWMzNua24zYkZqeDJWTEp4a01CcHFXbGtZNWpxTjJ1LzJEMmJOblp3Qm9BU0FCUUJTQVVFSklJTU13R2dCS2htRVVHbzJHSVlTUXdNQkFFaHNiaTRTRUJEQU1nMDZkT3FGUG56NFlPWElrSmsrZWpDWk5tbURGaWhYNDl0dHZwUnA1SDMvOHNYVC85K3ZYRC9uNSthaXNyRVJHUmdic2Rqc29wVGg0OENDbVRKa2lsUzFhdEdpUnRNLzA2ZE94ZnYxNlVFb3hkdXhZbkRoeEFwUlMxTlRVb0d2WHJxQ1U0cGRmZnNHSUVTTWdzc3kzM25ycnhxbWk1ODZkdzRVTEZ5VDFVOTd6VTdTcE5SSjhLekcxNU9Ua1JZU1EyZmdIaUppdjJMUnBVekFNQTZQUmlKQ1FFS3hldlJvclZxeEFhR2dvY25KeXBDZDdZV0docEY0U1F2RHZmLzhiZ012emJMZmJNWC8rZlBUczJWUEs3d1JjcFdPZWYvNTVXQ3dXQkFjSG82S2lBanpQUzZ4SVBKN2MxcE9ibTR2eThuS01IRGxTc3VHMWJldXFkako1OG1RVUZSVmgyTEJoU0UxTnhiUnAweEFRY01uOGVlVElFYVNrcEZ4VjNCUFA4OGpQejhkVFR6M2xNVjR4K1Y2cjFVcnFlWEJ3c0ZUSnBMRXhGQlFVb0czYnRwSjZucGFXSnRYakYrVjZwUVJkdkhoUlVyMlVTaVhhdEdtRHdzSkNwS2VuWStmT25YQTRISmc2ZFNvT0hqd0lwVkxwTVVlTkpYbjdXZzhSRVJHWU9uVXFWcTFhaGNtVEo2T21wZ2I5Ky9lL3FyWGwzaDRZTjI0Yzl1N2QrOEdKRXlmcXZiVXJkODRvTCthWDhqeFBXWllWKy8vQlpyTkphbWg1ZVRsaVkyTlJYVjBObFVvRmhVS0IwNmRQUytXazVPc29QejhmRm90RlVyY0ZRZkJZRTNMelJXcHFxa2UxRjE5U1ZsYm0wU05WcFZMZEdHREx6OC8zQ1dvK0tuUTBDT2tRYldvdFdyVDR4NENhWEl4R0kxaVdSWEJ3TUxaczJRS2owWWd2djNSVkpYNzAwVWVsLzR1T2prWkZSWVdVRUw1bnp4NTA3OTdkNVNGaUdHemV2Qm56NXMzRGUrKzlKK1Vycmw2OUdvbUppVml5WkFrQWVLZy9VVkZScUt5czlMQ2ZpWiszYmR2V1o0WFp2THc4UFB6d3czajIyV2R4N05neFBQamdnOWkyYlJ1aW9xSXVlOU1TUWp5cXN3S0FRcUZBZUhnNFB2endRNmtza2lpaSt1MUxHaHREVEV5TXh3MVNWbGJtQWZMWFU4VGZFcHZ1aUwvVnZIbHpWRlpXSWpBd0VJTUdEY0xpeFlzOUdxWllMQlljUDM1Y2VpaGRhVDBBcmlUOEVTTkdnR1ZaVEpzMnpjT3U2bXRldlVXdFZqL1FwazBiWWRTb1VlKy8rT0tMYUF6Y1JBRGlPRTRLQlJFZEFZUVFYTHg0RWQyNmRVTnRiUzBVQ29Ya1FEaCsvRGg2OSs0dEhVOWNROUhSMGRpMGFaTlBPN0I4ek9YbDVjak16QlRIS2ozQTVDYU9xS2lvQnVyOEh3NXNKU1VsVXRNVmI2Ym1iVlB6RmRMeHpqdnZxTnlPZ2puL0pFQjc3NzMzTUdYS0ZLeGF0UW9qUm95QVNxVkNiR3lzVkErcnVMZ1l1M2J0a2tyc1RKczJUZktrNWVibTRxdXZ2c0tHRFJ2Z2REcWhWcXVSa0pDQXQ5NTZDN2ZmZmp2YXRXdUgvdjM3SXlZbUJsdTNic1dPSFR0dzRzUUpuRGx6UnJLeFRabzBDUXNYTHNTRER6N29rWVBYdDI5ZnZQTEtLM2oxMVZmUnYzOS83Tml4QTBsSlNaZzhlVEtPSERtQ2JkdTJZYzZjT2FpcHFZRmFyWmFldm1MbGlPWExsemM0MS9Ed2NDZ1VDbnoxMVZkbzBxUUoyclZyaDVpWUdEend3QU9ZTTJjTzVzMmJoN3E2T216WnNnWC8vZTkvTHp0dmpZMmhhOWV1SUlUZzdiZmZSa1pHQnBZdFc5YWdTc1cxZXBzM2JOZ0F1OTBPanVQdzNYZmZJVFEwRklNR0RjTDk5OStQSlV1VzRNa25uOFRldlhzUkZoYUd0TFEwRUVJUUdCaUl0bTNiSWprNUdVVkZSUjc5QURadjNvemh3NGY3dk5sOXJRZkExVTFxOE9EQjJMQmhBL2J0OHl5QW1wU1VoT0xpWXZ6d3d3OElDQWlRQU1KYkZBckZRd3NYTG5UdTNMbnovZjM3OXpld2k3cmY4NElnU0hGdWxGTGljRGdvSVFUeXB1TjZ2VjRDdHRUVVZMejc3cnVJakl5RXpXWkRjWEV4QUtCMTY5Wm8zcnc1RmkxYWhQSGp4K1BZc1dPd1dDeVlPM2V1TkE5ZHUzYUZ5V1RDL3YzN3NYanhZZ0JBMTY1ZDhmbm5uOFBoY09DSEgzNlF4cGVabVluLys3Ly93M3Z2dllkV3JWcGh6Wm8xVUN4ZHV2UVB1em1ycXFwd3p0MmpRTjdNMkdBd2VCU0k5RTZUa3NlcHJWKy9mZ25ETUF2K1NhRDJ4UmRmWU5Tb1VUaDQ4Q0JhdEdpQnVYUG5RcVZTSVRFeEVZbUppZGkzYngvaTQrTXhZY0lFUkVWRklURXhFYTFhdFVKU1VwS3JGcFZTaVJkZWVFSHlMQ29VQ25UdjNoMUJRVUhvMGFNSHpwdzVnL1QwZExScjF3NHFsUXFIRGgxQ1dsb2FoZzRkaW9TRUJNVEV4Q0FqSXdOV3F4VkhqaHhCdDI3ZGNPalFJVXlmUGgwS2hRSzMzWFliY25OemNmVG9VYlJwMHdZVEprd0F3ekJJVDA5SFVGQVFkdTdjQ1l2RmdzV0xGMHU5S3RldFc0Y21UWnBJSGpxNU1BeURYcjE2WWQrK2ZhaW9xRUJhV2hwQ1EwT2xpcktpK2pacjFpeUpxUVFHQm5yVTZZcUxpME9MRmkwYUhRTWhCQ05IamtSMmRqYU9IeitPaVJNbk5tZ3kwckpsUzhUR3h2cThKbEZSVVEwOGQ5dTNiNGZGWWtHM2J0MWdNQmpnZERxUm5wNk85UFIwaElXRllmdjI3WWlLaXNLenp6NHJsZlNKaUloQXQyN2RFQjBkamVqb2FHUm1aa3FlNk9lZWV3NlBQLzU0Z3lqK3h0YURuRHcwYjk0Y0F3WU04TmhQcTlXaVk4ZU8yTE5uRDNRNkhUcDE2b1NBZ0FBb0ZBcDA2OVpOK3Ird3NEQjA3Tmd4NDg0Nzc3Uy85TkpMcDJXTVQwUTRLcXFjY2lhblZDcUo2TlFLQ1FueHFLUkNLVVZrWkNTYU5XdUdFeWRPSUNrcENWbFpXVWhMUzROV3EwVldWaGFxcTZ0eDhPQkJ4TWJHNHQ1Nzc1WFU3ZDY5ZXlNdkx3OWxaV1Y0OXRsbkplOTF0MjdkVUZwYWlweWNIRXlhTkFteHNiSG8ycldyVk9ycThPSERxS3FxUW54OC9CK1hLNnJUNlpDZG5lM0Ixcnl6Q3J6RE91UnhhbUx3clR0T3pTOSs4Y3NORUxQWi9PK1FrSkQvQWJDNUs0TTRBTENRVlFZUmMwdVZTaVYxTTJJcTVwV0tTZk1SRVJGU1htbHljakpTVWxLUWxwWjJ3NUxtL3hCVjFHYXpTUjNhS3lvcVVGdGJLN1hIdTV6NnlmTTg1R2xTRE1NczlpODF2L2pseGtsd2NQQmNuVTVuallpSVdPZG1aaFR1V0RhdjlDdnFJblhFbGFORkNHVVlCZ3pEZ0JBQzhXK2xVZ21WU2dWM2NqMDZkdXo0dTJ2ay9TbkFSaW5GK2ZQblVWaFk2S0YreXF0MGlCNVFlWkZJdDZ1V0VSUGEzYm1mL293Q3Yvamx4a3BBZUhqNFkxVlZWWmE0dUxpdDFKVmM2bTF2Zzd1SGd1QjBPa1hQcUFoeUlJUklkalp4RXdGT285RWdQVDNkWnhPWG14clk1S0FtTmpJV0hRVVdpK1d5bFc4RlFTQTJtMjJZdTBxSFAvZlRMMzc1Y3lRbUppWm1aa0ZCZ2JGRml4WUh2SmdiQlVBRlFSQzlvNUFCR2hHTFY0cWJITlJFWUFzSUNKQ2FLdjhsZ0syd3NCQVhMMTVFV1ZtWlQwZUIzVzV2a0ZVZ0MrdGdUQ1pUTjNjOU5YL3BJYi80NVU4VVFraEtjbkx5UThlUEg5ZDM3dHc1eDgzY1JKV1VpbjBSUk5ZR21ZTkJWRVc5R1p0U3FZUmFyWVphclpiNm12NVJjdDI4b2xWVlZaSmRyYnk4M0tkZHJURVBxRmpPT3pRMDlDVkN5RUQvc3ZLTFgyNEtjR3NhRXhNVDJxbFRwOU5mZi8yMXpRMWVrcWNVUG1xMnVWVlM4Vy81NTVCL0xvYSt5SHRjWEZmR2RqMWFoNW5OWnB3NWMwWmlhMklPcUhlYlBJZkQ0ZUVCRmRYUHUrNjZTd0hnbWZyNmVuODViNy80NWVhUzRabVptVFVwS1NtdlhiaHdRWkF4TjFmNmdmc1A5eXZjV1FuRW5VSUgrZVowT3FYTlhUVUU3ZHExKzBQQVRmbDdhejVSU3BHWGw0Zmk0bUpVVkZRMHNLczFWdExiN1N3Z0FKaGx5NVl0Y0RxZE42VHhpdGhUMGJ2cXhKWEVZckVnTUZBTFFoai9VdmZMUDQyNTNiMTE2OWJxbEpTVXo5MDRKc2pCalJBUnh3VEs4enpoT0k2NmFSc1Z2YVJ5RmRYYlk5cStmZnZyN2t4UUJnVUYvcTRENU9YbG9iYTJCbnE5RG1hekNWYXJCWGE3cEhMS0tuUTRpUmlkTFBlQTF0YldUSFU3QzI2SThMd1RUaWVQYXoxdm5VNkh5TWlJYStvNWFUQVlFUklTN0RPUzNDOSsrU3RKVUZEZ25QejhDNVczM0pLeUZZQTNjNVArVHhBRWdlZDVPSjFPS0JRTTRUaU9LcFZLaWFIWjdUWllyUmFZelNibzlUclUxdGFnb3FMOHVyYnVBd0RsdGR5bzNsSldWb2F5c25KVVY5ZWd2bDRIZzhFSXM3bEJqd0kzdUVtZ1J0eFVsZFRXMXZRTkNBaDRCamV3THB6cmFTSGd0NXkzYUFDOVdqR1pUQWdMQzhYdm1XTy8rT1VtRVdWOGZQekR4NDhmcSt6Y3Vjc3hYOHpOL1VvRVFRRFA4NVRqbkdBWXppdmtRd21WU2cyMVdnT05KZ0JhYlNDQ2dvSVJHaHJhSUNmNGR3MjJzV3FYVjVMUzhqSWNQM3NCT25kR2djRndLYW5kYkxiQWJMV0J2UVJzSWxzanZDQVFLbENtcUtnd0lTZ29hRDZBbEJ0THF4a3B6dVphVlc1NWN1OGZ0YzhmSWZwamU2Qm9sb0dRcUJzVEZrZzVPNncxOVZCR1JFT2pWUU53b21Mckp0aHNnS3BwR3lSbHRQbGIzT20vWlY1dGhUbXdPS01SblJMWHlIL1lVYlhqTUNKdjdRZVZtK2c3aWs2ajdGZytBSUxZUWFNUkhNcGN4N0ZFSURvbDRXcDN1YVYxNjliM3IxeTVzbnphdEdubEFNUkFYZkdWaXA1U251ZmhEdHFWUWtBdWVVY3Q3dEFQdGJzVGxoYkJ3VUVJQ3d1N3BxWXdqdEpjR0l4YXhMWkxhbkJPeW10V2s2Z1ZpejdZZ1AxRjVTQjFaU2l2cVVmWHVGQW9MU1pZTEdhVWxKV2hzTjRNd3RrZ0NFQ0lFc1RwZE1MSmNjVEJPUW5nc3F1OWsydCsrcm40K0NIa1QxaVFsT0thMVVNeFArNWE5dnN0Ky93UlV2TFpjZ1JOL2d4aHZRUC84TitxMi9ZWkRyL3lKYlROV3NCUlZvQm04OTlGbS81SlVBVUV3bkp1Tjg0ZHFFS3p6SFovQzJEN0xmTnFPTEFHaGZwTXhLYU9iSXpuSS8rOXp4RFk5MVpvM0VTZlVXcWcxZ2JnNHRzdlFKMStHMExERzY2bnl1OC9Sc0R0YVFpTDhSeEx3ZnRMb2V6MUdKSTZSRGJZeDN6aVI1UVlPaU0yTmZGYU5KNEI0OGFOSzV3MmJkcGJNdFlteUZnYjRJcHpnMXNscFF6REVJV0NvUTZIQWtxbGF4TXpFZFRxUzIzK2dvT0QwYkZqeDZzbUFwYmptM0gyVkJMaTA1bzFPS2RyQnphbzBUK3REWG8yRFVGaG9ScTc5cFppN3prZHVrY29ZTmJYNFdLZEZZbmhnZUR0UUVWMUhURXJsVkFJVG5DdUNHVkNBTVpTbS8vUXlEZjJ6TXpKVEVYSEc1eGJJRGRpL2pZMWx2bkQ5d0VFVURCdzZxdkEwU0FFUm5oNmpTZ0VFREN3VjVWRDBJUWpNUHpTWXJaWGxZSlhoaUlvS3ZUU0Rxd2RvQVRPdW1vSW1qQUVoSHFtdERpTmRiQVpIUWlNaTRkQzlkdEJtQy9kai8yTFY2TEgybzFvMGl3VUVHeXcxbk5nR0EzaUI0OUFNRk9PL0FLTGova1E0S2lwQnNjcEVKUVFBOCtISFE5YmVRVUVWVEFDWThJOXZxTU9LOHhWdGRERXhFR3QxZHhrOCtyN25BalBnVG9GVUtzQk5nc1FIQmZoT1Q1bkRQcCsreG1JYkk2MHpkcWhlYk4ycVB4b0NZQ0dhNWM2bldqLzNDb1FaY1BQemFjT1FObHFPb2dRRGlpVjBqaW80RVQ4N2ZNUUwvdnMwakE0V01zcndFVEdJU0JRMDJDdDhFYkhmVlVWVllWeFRlTFdBK0I5cWFTQ0lBaUVFT3AwT3NFd0JBNGJKWVF3MUtYQktLRlV1dE9zVkdvRWFOUlFPT3pRS0xVSURRMTEyOXNFMkNyTFFRTWlQYTREQUhDNktuQWtCRVRnUUoyOE5CL3ljMUplcXplaW9xSWVhazZQa3FwSzFOWFZnemhaMk13bVdOUXExT29NSUFvQ2NDNjdtb0pRY0N3TEVFcW9xNlk2c1ZoTS9aVE91dmtjbzBTd2tvQ1FHdzFzbHdEdXR6QzJhOW52dCt3REFPZWZtWWlMdVNvd1NpV0V5b3NJdm4waCtzNGQ3ZnJTZUFycit6K0RwR0V4cUR5bEE4dzZkUGprSnpSTE11TFFmVk5SWjQyRXlsSUdrallSdDc0Nkd5b0dvRTRPaFcvTlI3RktBWHZCR2NUUFhvSHVkN2tLRWhiKzUxR2MzRlNDaU9ZUk1GNm9ROFozR3hFclBkd2RPUG5rVEtnR3pVSzdyQzVYWGhzL3JJZXErd1FrTkhlckU0cEFCTW55UndnVlFIbkJhejZxc1hQd2VMQXhMYUdDQVNaZEtQcXUraENSTVJwUVV6SDJUTGtIOXRDV1VBczYyQk1HSXV0VlYwaysvZTdQc1dmUkp3aHRtd0o3MlVVa1Ava0oyZzFzZnBQTWErUG5CSUdIOGVlVjJIN2dLekNXTXFEMW5SajR4aXdvQVZTdSt5OU9mYmtEK21OMUdIeG1MeUs5c1pyakFIaXVKL2JzejlqOS9FZXduUDRWcmQvZWk3YTNObkdwWk1jMllkL0xYOENTVXdKUzhEaktQOUVpK3JaSDBHVnlQd0JsT0hEM2s5QVZua2ZJN1l2Ui8rbExwZHJ0dVh1d2U5WWlNRTFhZ1MzTVE5eERMNkhiWFgxOXJaV0g5eHpJTHV6WEsrMllTeFdsQWtBRVVTMTF1MGtKejdKdzJ1MVVTUWpzT2gzNDZIZzNhMU9DNk10UTlRdUxXcFVkUWVwZ1hGVCtpSUIzWGtDZ3ZReDV6endITnJRWlVIOFJRVVBub3ZjVDQwQWc0T0pyczNGeVl5SENZalhnV0FkSW0yVDNmSGllMHpVQm05VnFsY0k2YW12cm9LK3Z4dkhDU3NRRmg3cmFjOW5zSUx3QW85RUdvOE5KRkZRQUZTaWhEQWhEd0l4YnNpTDhrVFU3bjZxdjB5ZE1HejhZS2VvL1F4SDliY0QyZS9hN1poRGxuWEJHOXNLb2o1NENNZVhoaDh6eHFKZ3lBZ254U2hldnFEa0ZSZVptakY3ZUVRQUxKNnRFMWVvM1VhWHFoOUhmTDRiQ2FjQ3VJWm5JMnpNTzdRY2tBcndUeXJRc0RINXVDcHpsZTdGK3dCSzBHcmNMRVlIVk9QZmhYbVRzT29XRU9BQk9GandqZjlnSU1KdzZBazE3M1ZXZGcrWENCUVFuOTJ6OGY2a0F3ZWtOYkJIb3MzNDcxQ0V1NnA3M3doU2MrV29YK2o0MkhPWURQNkErYkRER2ZlRXFoTW16ckxSdjRlY2ZvTm5UbjZIVEdOZlRuV2VGSzQ3eHhzMXI0K2NFZ1ljVnlSajc3WnRRQ3dic0hOUUQrWWZ1UUp1ZXNXZ3lmZzZhakIrTEg5cE1kQU9ZMS9pZEhFQTlnVTNUYmpDR2ZqVVlSKzdxQnRCTGF5Mnc2MmdNL1dvMGp0L2ZHNm83MzBMYTBHVFprUkxSNTh1dlVQTCtZN2hRVDJYSHMrTElZM09Rc09CcmRCemNHb0xwUERiM200SDZNWHNSRmRKZ3JUUmhxV0xhc21YL0xsaXc0Qm1CVWdpRVFJRE1ZMG9wQlFVRXlpaWcwQVpRRlp6RVhGdER0YUdCVUNqc0lDd0xjMTAxNG9lUFJHeUxKb2lMamtadFJRVjIvdWRWSkkxOEdjTm5EUUdjT3V3WU9BQ2w0MGFpcWZvUWpuNXlBVU1QYjBWNGtJRGo5dzlHbGZTZzlEeW5hM0xYRlJRVW9Lek1uUU5hWDR1REo4N0FvUXBDc3NJSnM5a09qbVVoY0FLYzFFbkFTNG50RUFRUVFhREVrZHpweWJuOTJ3MnRMem1QVjdjZndhalVFWWhUd1M4K0pMWlBMMWVublpCV2lHa0QxSjhxUjBLOGUzRnFVbkhMNkk2U2FVQ3BCblFuVHlLdTc1TlFBSUF5REUxNnQwZjE2ZFBBQUpmOUpLNm5xNHFwTXFFN29xSXVvajdmam9nT2tZanZHWWtqRDB4RDhwQitpQjg0RFBIdDVmYVdRUFQvNmRRZmZLWU1xamUrZzl6dmRzTm10b090TGtLSXU1eTBOcTBybUZNUFlOY2NCK0o2ZEVYeXlKRUlVcnZucDJjdkhQalhMRGpQamtCVWozNUlIdERsSnBwWFphUG5CQUJSbVpsUU13Q1lNTVIzYjRYNjdHeWc1MDJRY0dQS1JYVzJEWXE5MytEWVFaZHFUcDJsMEJXWUVkWFI1MW9aT0h2MjdMTUxGanp6c1ZzbDViM3NiZFNOMEpUbmVUQXFCZ0xsaWMzT1VxVkNBY0p5Y0FaR1FDQXNqRVlqTkJvTkFtc0tVSCtzQ0h6MGVoeXIvd1VVQU90MG9ENm5CQkdxTTJEU01oQWV4QUJnRU4rM0o2ck9OTGFxcnRaUVdsS0MwdEpTVkZkWG9hNnVGa2RPbkVLSlE0SFdvVXJZN2E1cUhWUVFJSEFjR01KQXpRQzhRQWxBQ2FXVW1mYjhmOFpOSGRybjZaN040ekd5YngrMDV3cXhyZERpUjdCRzZjVmx2dE1HNGZkRmtCRDNsVmVpODBmYjBIdnhkS2k1TXV3ZlB4UjV4MnArODFHRFdqYUhzYUQ0bXZheDdGK0pneCtmUkpkMy9vZVJXN2FnNi8xRDNkb01vRXpzZ2RIN2ZrTEtrRTR3N1ZxRkgyNS9ES3g3djZZUHZJd1JYNjVBZUh3QXppKzVCNGZlMzNIVHpPdmx6c25uWG96aUpsbDBBcUNLUlB6SUxDUm1aU0VwYXlSNmZMb1dUVzhKYkhTdEJBWUd6aW9wS2U0TFZ5VWVEYVZVRFZmNGxvSlNxcUFBUXlsMTl5cmx3UVBnT0JZczY0Q0Q0OEJCZ05WcWhjbGtoc0ZnUUYyZERqcU9BZHVxTFVpWExrakt5a0tYTi8rSGxGN1hGZ3B5VmNCbU1wazhlb0FlUDNVS1o0d1VIYUkwWU8wMjJPME9zS3dEQ2dDVXRST0hLMmFOVUVFZ0JHQ3Fxa3FUUWdQVlR4VFZHbHpUWnplZ3hFSVFIT0NQNzJwTXF2Y2VjQmtyVEhtb09RZEVkcnk4U3o0aXZRT3E5dTRGRHdCT0F5cjI1eUJTVm1HMjZ1QmVsL0czL0ZmVTZWb2hxa1VBQUJhc1JVQlVSaiswbS9jc1V2ckZ3cGd2NytMTkl1Zi81dUQ4OXF0amJRbWp4NEhkdHhwbEJRYjNmV0tGcGRwd3llMFVHUW0yckFST3VYbWpyQXdCcmRJUkhoTUVDQmFVL2JUM2txSGFaQUxDNHBBNGFnSzZ2N1lVeXBKenNMcDNaazBtQk4zU0NTbjNQb3hPRDk0Ry9ibThtMlplTDNkT0FGQzNieDlZd1hXOHlsL3pFTmtoN2VyY2RwSGhzRnloc1ltM0tEVWFzSFgxVi9mUElXMFEyOW9HcXlrY3NkMjZJclpiVjRTM2FBWlZFSFBadGRLMGFkTjd2L2xtVFJNUjNBQkk0QWFBb1FMUHVPeHRUc0lUUUhCeWhHVTVPRGduV040Sm04MFZ0T3NDTnc2MGFTREtDcXRnaXdpSHRuVXFvbHEzaERva0VFR2RPb0JtSDRiZUlnQndvbkx2d2NiUCsyck8xNVhZN2k0WVdWT0tBM21Wc0xGMjdDbTNRV0R0Z0FBa0JDbmhwQ0FxeHRXOUJ0UlZoNDRCbUtpb3VIbVBqdXpkN1lGdk4rTG9rUmpvYTJ1UjBMRW5SaVJwL0FqV2lDaHFEK0xIY1hlQXI3NkkwQWRlY051QkdwZjRPeDlIM0E5MzRvY1JKNkN5bFlHa1BZUlcvUytwbGR6SkxkZzZjU3ZzQldmUWZNbGJjRG1hcXJGcjJGandDYWxRb3g1Rzh5MFlPRlFlaXNHaGN0TTNVTWNPUit2QkhhOThFeVgzUjc5L1Q4SCsyL3Nqb0VVTE9FcUxrZkxTYW5RWTZuSW1hTHFNUkt1V1gyRjl0OTdRZEJtQjBSOHNRdFNnU1ZDL2RSZTJURHdLeGxhUGdPaExEZ0R6d2YvaDU4VmZJcUpOQzlnS3ppQjY1Z0tFdWFmaDdJSTdVSFJSaTVBWU5YUzUxZWo2d2VNM3pid0tsemtuQU5BcXl2SFQ3ZVBBV01yQWRIb010MlJFQWREaDREMzNRRmZ2Z05GUWdRUGpSa09wYllFK2E5K0UyTUs2OWR6NTJQbllPT1F2RFViN2w3OUVxNTRKeUZ2eEtQTDJGTUdhV3cxU2NpOEtYOU1pYmZuL2tOemV0VmZ5UFE5ajF4T1BvT3lURU1UZCtUUXlwZzlHN2RaM2NQanRMV0FyTDhMQi9Zck4rMWVpeVgwTDBYbDhUM1I3ODNYc2ZuQXFTdDVMZ1pLcmhkbVNnQ0UvZll6Z3k2d1ZRa2puVWFORzNRSGd2ektWbEhmVFZJRlNTZ1dua3dvQVZTclZjRHFkNERpT0VKNm5uRUJodDl2ZHdidXV5aDlSUFFlZ2F2dEtiRHorRTNJaUF4QmxEVVBmRGQ4akpyNHZ1ajdRRWo4UEc0N1FXQzE0cW5FMURBUWFuQk9oR21uUWdRQUFJQUJKUkVGVVZMaWlDaW9tdUplV2l1V0k2cURYRzN4MW1YSW51SE9FNXdWQ0tWWFk3YmFKS3BYcWZ5N3JMNGR5Z3dVYWJSQ2l0SCtPY2EyNnVob3N5eUV4OGRxb2JYWjJEbEpUVzBtMTYvK29mUURnN0ZPalllbTZGQjJISllJVGdoRVVGWFRWKzdyQ0VrSVFGTlV3ME5GUlV3a2hJQlRha0VBUDljTldXUWtuVkFpT2o4SDFjT2RRMWdwemVUVlVNZkVJQ0xxS2VCNkJoYW00RXVyWUJHZ0NsVjVmV1dHcHJJVXFJaFlCSVo3SFlnMDFjQmdjQ0V4SWhFSjVrODNyWmM0SkFIaExIV3hteGl2YzQyWVJBZGJ5VWxCTkJJS2lRcTU2clpTVmxjMU5URXphQmNBQ1YybHhPNldVSllSdzdyTGl2SGRKY2ExV2k4REFRQVFGQlNFa0pBVGg0V0dJakl4Q2JHd3M0a0lEMGF4WkszVHVuWW5rcEV0QnVHeGRGWnhNTUFJamduNGJZN05ZTENndExVVlZsYnkybWdrV2k5V2REM29wYmNycGxISkJpU0M0Z25CTFMwdmlWU3JWM0V1UFN4VVNJc1BobDZzVGRVUWMxTmU0VDBCYzQ4R1dtcGg0bjlZSWJYekNkUjAzVVFjaTVGcHFiVEZxaERSUGJ1U3JRSVFrKy81T0hSWURkZGhOT3ErWE9TY0FVQVJGSVRqb1psMTVEQUlUa3E5NXJTUWtKRXo3OU5OUGN1Njc3MzRlQUE5UWliWGhVb0ZLTVplVUtoUUt3cklzZFdVa0tLQlNLV0d4cUtUT1lvR0JXaGhZTzhwS1N4RVZHWW1nSU5lRXFhT3VmUDB1YTJPNzFJVEYxVEpQQkRWWGFXOEhIQTRXSE9lUk1pVjZRZ21sbE1URnhUME9vS3Nmb3E1TkVtZjhIMUp1VGZGUGhIOWUvMUpDQ09sMHh4MTNUSERiMlRTVVF1NUlZRVJja0dVbGdPTTR3bkVzSEE0V2Ryc0ROcHNORm92Vm5TU3ZSMTFkTFNvcks2WFdmVmR0VzJ6c2k4cktTcS95M2lhWXpSYlliRllQcHNheW5GUmpTUkI0S2NIZGFyVU1aUmhtcnY5eVg3dUV0TzdtbndUL3ZQNGxKVEF3OE1IYzNQTkhVMU5iSHdiZ2RERzNTN1kyU0lueVVyb1ZXSmFEUXNGS1NmSTJtd3BtczlxZEpLOURVRkFRUWtOREVSRVJnZmo0K0t2a25ENkU0emd2RmRSVlc4MW1zOEptczd1OW9LeFUybHV1Z2xKS3liMzNUbE5vTkpySC9aZlpMMzc1NTBuTGxpMm5wS1NreUQya0tqZUpZdUFPL3hBRU1RVEVDYWZUU1RpT0E4dUtyTTBPbTgwS3M5a01nOEdJK3ZwNlZGVlZvN1MwRkZkYlA5SW5zTGxDTzZyY0txaEJxck5tczhtWkd1dlJBZHBkSlpOUVNwa1BQdmhnTm9CQi9rdDg3VkpkWFkzUzBqTC9SUGpsTHlzS2hhTC80Y08vakJhQmpWS3FFc0dOVXFxZ2xETHU2dGx5bFZUQ0ZZZkRCVzZYNnJZWjNDcHBGVXBLU240YnNCa01CbmZQZ2hyb2RIcVlUSzYyZVdMTFBIbU5OYWVUSS9JdVV3QklmWDFkcWtLaGVNeC9lZjNpbDMrdVJFUkVUTnV5WlhPU0Y3aEpzVzBBaUNBSU10YkdTYXpOVlpEUzdyYTNXV0F5R2FIVDZWRmJXNFB5OG5JWURJWnJCelo1aHlsWGVXOExyRlpQVURPYXpLZzFtS0EzV1dGak9ibkRnQkU0NjZ4WE51eE1YTEJ1TC9hV21TNGQyR25ITjdzUDRjbXZ0dUhmMjArZ3lrSDlWLzk2aTlPQzJ0UG5YY0drdjFNcVZyK0FnKzl2dSs1RDVDdC94WTdaeXozR2FEaTJIY2VXek1lKzJYTng1cnU5RUg3WEx3alFuOWlQOHgrK2d4TnZyb1RENjd1cXJTdHhjUFpqT1BMS2g3QmFaYi9rck1PKysyZkM1RStHdVY3UzlOWmJiNzNkRFd3ZVFic2lhL04wSkhneU54SGNyRlliekdZTGpFYVhTbHBkWFkyeXF3aFM5Z0MycXFvcVZGWld1aExjM1hGcUxoWFVKck9yMldHdzJNRVFWeUVQd2NrUnB5dG1qVmdORlFObmY3VDVZUzRxRVNOYi9qOTc1eDBmUlozLy8rZk1sdXhtMDNzMmdTUWtoQllnR0NEU0lRS0NvS0FDSXZZR25PVzhzNWV2RFU4NXozTHF6M1lxbGtOUkViRmdwQmNGUktRSENNMlFoUFJlTjl0bmZuL3NKdGtVVWhDVTAzazl6QU96bTVuNXpPZnptZmU4Nit0dDRLSDN2dUZBdldzTGY1VCtIVXR6Yk13ZE1Zamcyanh1WHZIenI5ekFDdHJBZEpRdDF6N2FWSGIwcTJSa1hSbVd5dHF6UHNUakx6MUw4TVV6OFN3aXl2bGlKWDdESnhFM1l4VFpqOTlNNW9iY1gzR0ZLakpmZUlYcXpEMWt2dnB4aTdtbzN2dzJQL3pqYTZMblhvZTJhQ09iN251MXVjSktIVXpNRUMwSDN0K2c3S096QkoxT2QwTm01dUhCSGxyYjZhS2tMYlMybHY2Mnhxb0VsMGxhWGw1QmNYRXhKU1VsWFJkc2hZV3VaaXpWMVZVdFRGQ3IxWUxOMWlqWUpQeTl0WUpXRkJBRkJORlZ4aThBWXVISjdOdVArTVZ5LzZqZWpFbStnTGtKQWl2MkZ3QldOaHd1NGRaSkl4a2FFOEg4UzBkZ1AzYVVnMlpsOGM4V2lyNWV3djZYbHVLb084bmh4WXZadi9oNXFpcWtSaWxGMXB2UHMvMk9POW43OGhJYVRGMTdwY2gxaFJ4YS9BamI3MzJFZ294OFQ2bEg5anN2c2YyT085bjkwcEtXbWsrSGd2Y0l4OWFhaUp2Y3A4WEhnNTk1ZzRSTEp4STFjUmFSS1NHWUNvdC94VXdFTS9LajVhVGVmdzJ0S3pDelAxeEs3TUtINlRGcUdJTVdQWUw5dS85UzVtSFZSTTIrbk9ML3ZvZEZlZU9lTmZUdTNmdEtXZ1lSTkI3bWFLUFcxbFJMNmhsSXNObXNXSzB0VGRMcTZpckt5c29vTEN6cW1tREx5M01WdUxlT2dycE1VRmRhaDBlVDQrYUFnU3VDSzFvczVybkh5NnVuSjBTRTRHeW81MVNkbGNTSUVJNlhWZ0ZPSEpLTVN1VytuS2hDSmRkenN0S3VyUHhaZ2svL1lZU05HWUtvQ1NJNExZMnd0TEhvOWE3NVB2SDBBbzd1cVNIK3RsdlI1RzlrdzkwdmRrbGJMbHJ4R2VvaDA0aWRFTWRQMTh5anZNSUJPTWk0ZXc2L1pEcEpXREFmSC9NZU52NzEzMTA2WDkzUFAyQlBISTdmYWJJcmk1Y3RJanUzRi8wdUgzWU9ac2hDOWRFOC9Qc25Vbi95R0RhdlJBSWl5cW5KYW5hWGlCRXBCSWw3S2M2eUtSdnFMRUd0VmwrY241ODNtcWJjdG1aZlcyTkRKemVkZUl0QWdrdTQyZDM1YlcyanBLV2xKZVRsNVhjczJHdzJHOFhGcmxyUTZ1cHF0d25hNEJFRlBVMTZoOU1weUxJczN2SFFZeXFOUnZNWHM4Mkd0MWJGcDJ2V2NzMktuOUZyMU5UYUhZQTNJK0tEV1BGakJtWDFEYXpkdW85Y1djQnNkU2dyZjViZzIzc1F4bUZKaUxvQUlsSlRNYWFtb3ZNR0tDTjc1UzZTSG4yY2lPUmtCaTU2Rk9lNjVWVFVkMzVPLzZsWDAzZktLS0ttMzBiOE1DYzVHektRUzNkeWJLT1RvWXZ1SWlneGtmaTc3MFhjc1lLcWhzN1BWM3Z5Sklib21IYS9hOWkvZ20ydjdTTnQrUkw4Zk04Rmxib0pteGxVbW1LMlRCeExabm91YWowNDZqek5CaDk4WW5UVVpSVXJHK29zSWpJeWNuWktTb3JPcmJXMUNTUTBtcVh0cFgrNHRMYkdLR21EMnlTdHByeThuT0xpSW15MjlsOUNhcGNKV3RpaUg2aXIvck94WktwWlcydE14SFU2bmE0MmRwSWtDSUlndlBMMFkvT0JWTDFXUzRQSnlkWFRMK0VTcDVxOU96ZmpwM0hWaE40Mll3cld0VHU1ZldrV0EvdjBaWHpRQ2J3VmRvOXpEMGMxRGRYK2VJZTUxU1R2VVBTKzFWZ3FnVTc2MUJvOGtpSDF4a2pLSzh0eGxOWml0UlN5NjlZYm05UjlyNlFrc0FLZFVQL0xPT0EwTk9rVk83WVJjUEZzQWtQUEZWZThBYTBlblBZSUp2NjBEMDFJRUQ4c0JyV3Z2dTJmU2s1bDM1eEZpS0k0Yk0yYTFaTkRROE8rQmV6dUh3ZHVXbkZjeWJ1Q3V5OXBrNXp4MU5xMFdsY2dRYWR6QlJLcXFocE4wa0ppMnluZlU1dk41aVk2SWxjdHFHZVQ0NWI1YWc2SFEzQUxOY0h1Y0FtMWpBUDcvVlFxMVh5QVBxR0IvSEswSE5Gck1LSEE4ZUp5RW51NE9oSnB2UU80NS9LTDNTNmFRaVpzOCtYK1VJVmw4dXp1SUFGQmNyYWtIRk1INEIxUVEwT3BEZUswWUNyRFhCZUFMcWdMT282SHI4dGNXSVIrc0JGMW1BRXZRenlqUHY0VVF6ZmZTMzZSY1pnM3RKK0hGRFR4V3BKc29lMGJrU1g1NEIySXp2ZlhGRmZxQ09qZmc1ck00K2d1R0FhbURLcEx3eGdRNzl2Q1hHMG9NQkVTRjludUdKeGFmd3lCdnNvK094UFBaM0R3N0VjZWVmajdaNTlkYkFQc3NpdzczQXdnVHJmVzFxSjFuOXN5bEp1anBEWjNsTFRSSksyaG9zSVZTQWdQRDBldmIvbUNFcHZvaUtvYTIrYzFlRFE4dGpiV2d1SndOUHJXSE5oc0RnQUJXUmIyMURodVhiYi9WSCtBMkw1OTZWZWJ3L1BiVDdCbC8xNCt6WktabGV3cUhpNDZsY3RIZTA2dzZlQXgvcjUwRTRNdUhFcWNJdGZPc2xJU2c2LzZCSm52ZlVIZXVnMDBtQUJDaWIxaUdJZWUrUWZGR2ZzNStNUmlWSlBuRU96VCtlbHExbjdNMFRYYktmajJIYkwyYU9nNXNUOUNXQ3A5eHRyNDhmN25LZDZmUWRIbU5leCs0WjB1cFpqNGpSaUprTGtIVXpzZWlNcE5Lem0rZW5lN3grMjVkZ3piWDE3VjVXa28rdllqam55K0FhZTluS3dQUGlSNyt5RUFlbDEzUFRsdlBFUHU5enM1OFBpemFLWmNTNmhIRWIxY2NZQnkweUFpK3JUVkdnL2NNWVh2bjEydTdMRXpoQ0FJZmUrNzc3NUp0SzFHOEV6OWFKRzA2M0EwK3ZXYlRWS0x4VlZMV2xkWDU4NXRLMjgza0tDYU8vY3FqOXkxS21wcmE5cHBlbXpGWm5PRllwME9SeE43eHlQdmZSYWs5dlo1M1NwcWc0WkhCNEhLaTdSK1VSdzRsa1ZHcFpNN0x4M0hNSGVmUTZmTndwYk1iUGFYMURJd2FUQVBqSW5uOStBTk5abE1PSjBTZm41KzNUcXV0TFNNNE9EZ2J2VUlQWk5qem5SOHJ0M2pqWEhTaFppT0hxUWh2d2pEd0F2UmV3c0VqNW1NcXV3d2VhdTNJTWFPWlBpamYwSGJoWDRUd2VNbVl6dXdscExNV2dZKy9VL0NZL3dBa2ZBcE0xQ1ZIaVF2ZlFPMWhiVUVqeHhMVUZ4azU1Ukgra2pzR1V1cDhSNURXSytXTEMrU3RRRjFXQ3hCY2ExcUFhVmlEdi96Yll4M1BFWlliTmVZWWFwKzJrUkRyWmF3NFFNUkdreUlmajBKN20xRUYzY0JJVkYyVHFXdlJZZ2V6ZkJIRnFEVk5JKzY2SlBYYU9nMW5jUXg3ZmM5OVJzd2pPRDRTRVZLbmFuT3JOTVpOUnJOK2syYk5sdHgxNDgyVW9rTGd0RFlXZDZ6azV3Z2lnS2lxSEwvaU80T1Z5cDNseXMxV3EwV25jNkxvS0NnRnZSZ3dqZmZmTzNSeTZCUnVOVzZtVHdhazNQTldDeU5YR3NPd2VsMGlySXNpemFiOVY2VlN2WHMvOUxrbnU5OGJHYzZ2djhWMkxJMnNQSHBINW44d2VOZGVySFpNcjVnMVNNL00rUGI1emluSGxsSEJWdXUrQXVEUHZ5VW9FQlJrVUxuQ05YVjFmOEtEQXhhaVl1enpTUUlRZ011RDYxTkVBU0hJQWlTU3FXU0dqbmJkRG92V2FmVDQrMnR4MkF3NE9Qamk1K2ZIMEZCZ1lTR2hoRVZaU1F1TG83Ky9mc1RIeC9mYklwNkJnemNaSkdOR2hwMnU4T3RFam9GZDNwSFUrblVuajI3ZlZVcTFjM0tVaW5vRHJUeEU1bmFSYUVHb0UyYXdlVmZMZWFjaDVuVXdZei9acmtpMU00eC9QMzlyN3ovL3Z0OEc4MVJkNFJVUmF0U0szZHVHdzZISzFKcXR6dXcyZXdlVVZKWGJsdGpJS0cwdEpTR2h1YlF2T2dxY3E5dlpYcTJ6RmxyajJ0dDRNQ0JOd0lLdVpXQ2N3dFJqYWhXaE0wZnlOY1cvK0NERDA1d0M3WjJmVzJ0T2R2YTVyWlpXd1FTWEVYeXJrQkMwN1pwV2VUZW1LL1dOaExxWnU0UUFPRzY2NjVWcVZTcUc1UmxVcUJBUVhjUkZCUTBvMWV2WHRwMnREYXhVV3Z6cUVob3lwMXREaVI0a2xJMkZzbTcwajhzRm90THNMbTBOVmVSZXp0Q3paT1NxRWxiZS9mZGQ2OERCaXBMZFBiaEl0VlRVZ29VL0tHMXRnSGJ0bTBkMHhXdHJYM05yVkc0TlJiSnQwei9BQkJicG5mWVd2alduRTZuTzIrdG1Sa1hFTlZxOVhYSzhweEx3ZWFuVElTQ1B6VEN3OE9udVFWYW85YW1waFVaWldNMVFxTU1hdWxyczUwMi9jUGhjS0J1ckFkdDFOWWE4OVdhS3d5YWZHdTRLYituQXFPcmEydXBzWXRFQmZyUXJndkVLWU9xZFFLQWs2S3FPZ3pldnZoNXFaVFZQUTJLMTN4S1ZiRVZNYVFYZmFhUDZkSXh0dndqbEJTSzlCamVwOHZYc1JjZklXdk56OGhBK01RckNJbytWNXFpaE9Sb1cwMHFxTlZucFN0V2l5dFY1Wkt6dDR4ZUYzV0RCcnd1bjJOZmJFUUNBbE12SnFKZjEraW5LN2F2UnRWN0hBRmgzbDIrVk1YV2RFcXp5aEYwNGNUUG5jTFpTdVdVR2lvbzNMSU5xMG5FZU9tbDZIVy8zWDQxbmRoTnJUV1V5S1NZTGg4aml1S0k0OGVQSmJzcHhCdUw0KzF1cmMzcE5rZWJORGFuMDRuRFpzRlVYNDlUcTRYUVNMeTh2RnJWa1RacWJTV0lybnJRNWdvREQyMnRUY0FBRUxScTI5VjMvZnNEcHIzMUxYLy82RXRHdjdTQ0hhV045WFpXbnZ2b0MwWSs5UjhTRmkzSHMwVFZZYXBnL2lzZnNlQ3p6Vno2NGxJK1BGS21TTERUUU9WbFFGTnpoRDJ2Zk43bFl4cjJmY3UrRDlaMnp5UVF0V2dNQm9vL2VaSEN6S3B6ZGorbjNubVlsU2xEV1ptU3pDZkdhRDRmTXBTVktVUForTVJIditxOCtSOHQ1c2lHSXkxZm5RVzcrUG1GLzNidlJLSWFqY0ZBNWRvUHlmN3hlSmNQeTM3ak1Zb09WWGZ2VWw1NnRHSTUrNTk2bmJOWGF1OWc5MDJYOE11bVE1aEx5NUhPSVR2SndZZHVvcml3NVFVcU55MGo4OHRkM1Q1WGJHenNSRTl6dEZXRVZHZ2RTSEE2blRobEdXdDFPZldWZFUwVkNXYXpwVWxyYzlXUmxpRTJVaEo1Q2pWM2hZRm4wQUJabG9YcTZxcUJna283ZThHc21XeC9ZQjRyNzc2T0IvcDdzV2pEd2NaSGtza2pMMlRWZ290by9lNWY5ZjJQMVBVY3pEY0xMMmZsTlVONSthdnRWQ2owTU8waWRNS2w5SnFjZW5ydHJLS0UybE9GT051WlAyZERIWFg1cGJTaDhaUnNtRTdsWURGWm1qNVNoOFVUUDNzV2dWRytwMzFnR3ZKUFVWOVN4YStoQmUxNTIzUE1PckNmV1FkVzRlY2R5S2kxKzVsMVlEOFRuN3EyZVhpU1M3TXo1ZWRncWJOMHJxRTRISmlPSGFEbVZEbVN3MEdiOXJpU2picWNmT3kyTG13eVF3UzlaczhpTlBFMHJlVWNOa3o1cHpCVnRNL2NhaTB0eEZ6VDBNNWExRkNiazk5aW5RS0hweEUvNHlKT0YraVZMQ1pxYzNLd05saTZPTHNTa2lPZnNuMGlTWXNlcFA5ZmJzRGdvVUE2VFJYVW5jcHZkNi9JQUE0TGRUazVYWm9ueWVHZ2V1Y1dURFUyMTV5M3UvZUsyeks5dUs5aGJXaFpjcUxSYUM3YnVIRkREdytOcmNrY2JmSzF1VnNPdUlRYWd1anREUm9WRG1kakxha0h0VkZkRGFVNTJSUms1NkgyVE85b0xwdHk0blJLU0ZLenhnYUlCb1BoS2hCSjh1amczalBJSDB0SkkvMlFtaUc5b3FBbXA4MFU3c2dxWk1KRll3RUlqdWxGUDhkV2RwWTV1U1JjTVVtN1k5THR2R29NWmVaSXZIMGxxck1iU0gzL0U2TDZ1SnJ1Mmc2dlpzMnN6V2lvd3F3Znh1UlBua2V2QmZPeExXeWUveUFxWXlMVzdPTkUzUDR2aGw4L3JzTXJ5WFc1YkprOUQ0dHZMN1J5Slphb1NVeDdwYmsvaiszWUpyWXVXazd5RzI4UjdQOHI3K3JJbDN5eTRITVNldFZSVmlSaHIzSXdldjFhTEovZXcvSFNrVnowMkN6QXdwYVIvWWo5T0pzWXpRN1cvZTFGTENjT1lqYzhSZlYzQVJoR3ptSE1QWFBjNW1nV1c2NmJpNjJ1bnVwU1B5YXZYMEhBR1ZyWjloUHJXSFhOMC9qMjdvVlVmaElwYmpvWHZmRWdXcmRneW43MVhuTFZLaXpabVVUZS9SS3AxNDhISkU2OTh3aTdsL3lFZjN3UXRmbDJSbjY0alBEWWpnZFJ2Zmw5TmovNEx2NzlFN0FVWkJIejRGSUdUSXpyOEppODkvN0I0VzkyVWx0VHhFL3o1cUpXQnpEcy9YY0o5b1dDOXg3aHB6ZTJFUkFYU0hXdWpaR2ZmVXBrbkd1eENwZmN6NEdkRW1MMkxwd2FiNnoreWN6ODVKK25kUTJVci9zUHU5OWVRMTIybVlwN3J1YUVRVVhQK1UvUmYvSUFBTXo3dm1iOXRjdVJLbjVCNm5NTlU5KytGeFZRdldNNVA5ejlQUG8rZlRFZCs0WEVmN3piZEF6QThPR3BZNEZUYnEzTkJySU5CQld5N0pSbFdaUkFscHhPV1JCRTFHcVg1aVpMTW9Ma2JKSCswVkJ5Z3IwcnZpUXkya2lKMUlDNnRXK3QwVkhuMHRhYVRkQnZ2LzFXSjRyaVZTMVgzY1I3TzdPWU0rbXlUcmFIbGJJNkJ5UDhSRjc0YkEzSm8wY1I3Z05sdFdZSTkxSGtWZGNOR1lhOHV3YXRyK3NCS2ZyZ0VmYS9zNUtvRjI1eHpYSzFscWxydjhTZ3M3SDdxbEZrZnIyZmxObUo3UDdyMzRoKzdETUdUZXlEVkhlTTc4YmVTc1hsV3dudTREbXIzNTVPVmZBVXJ2ajRNZGZidUJVOWpMT3VsSXI5aDdDZEpYdEtQckdId0JjMmt6cmNDQTRMVHFEd2RDWjA5QWltckZqQjhTZm1VaFgzZDFKdmJLbmRTcVVtQnE3OW1tQi9rZDFYRFNmMyt5d0Nwc2VmbVZzZ2FnU1gvcmdWalJyQXdyWXBROG5kUFovZXcxMHZFKzNnUzVuNDFEd2NoVnY1YXNKakpNN2FnaUY3TlR2L2M0eUxOMi9DejFlay9JdG4rT241OTVuK2VzZXRRTEtYdmt2Y294K1FQS00zSU9Ic2doYlY0K2JINlhIektWWWxYTTNJRlNzSWFzeGtyc3ZnNTMrdVovUzJyWVNINmNoLy9XNTJQZmMrbDczVi9IS3Eybm1VU3phdEl5QlloOU5pNmREZkdUSjVBVk1tTDJEcmhEaWlYdjJjWHIxYnBreWJIVVl1LytZNTFKWWMwZ2ZOcEt6aVhpSjhDOWw1K3o5SVdycVJYa21oMlBPMzhQWE1wNGlidUJ3M1ZTQStQb1pwOCtiTlc3RnMyVEtyeXh4Rkl5RGJaUkFGd2ZXZjRDS3p4ZWwweWs2blU1QWxXUmFjVG5jdHFic0JqQ0dBNk5temlJd01wMmZQQ05TTlVWQ1hHZXIwU1BGbzZWK2JPSEhpYktDNXo3eGs1L1V2VnVOSVNHVkIvK0N1ZW5VdzZEUm9SRUdSVVdlSW11MHJ5Znc0SFZORkhZN3FFcVMremU4YVE4cG9ERG9BTFNHamgzSDh3Q0dZQXFXSHpLaTJmczdlSFNBaklUdnlxY3F1SjNqUTZWOHErcVFVeEl6YjJISzNsZkRVRkhwT200YkJvekpNUDNRdWN3N1BQWHMzRm5NaHZZYTdUVUcxN2xmVkVhdmlrd2oyZHoxNGh1aEk2cXFyei9oY2dtamh4UE9MeWQ5NUFMdFZ3cHhUUzBCbERlQVNiT0VqUnJtR2JCeEdjUEJKS3JNc21IZHZBMi9JZXZsWlZ3djB5aFBVSFBUQzZYWWVuUTVoSTBieTR6TjM0RGh5Q2NHcFkrazU0WUl6SHJmbFdBYm1xR0dFaGJtaUNCRmp4MUM3TkwzRkdBSW16aVRBWGN1dDB2MjZhRU5neWhCWGRZZ3VBa05JRFpaYWNKYnZvcnpHaTZBdi8wUFZsNEJrUnF6TXBLWUs5TTBpSS9yNTUvK1Z1bXpac3MyTjVxanNNa2NkSUR0bEdjbmxiNU5rU1hLMjB0ZzhvcVJhTThVL2JhR2lwcDRDalJmcVJoUFU2V3lkNHRHY2tBdUlhclZxbHNmN21rOVhyV2FyR01mN1UvdlRlVjY0RjZHK2FzcHFuZnhseGtWQUEvK3BoMUEvdlNLcE9yWThXN29xVHE1ank2UExHZmZGZndtTERhYnE2eGZaOHJXdEl3WFBkUkpORUJIVHB1TGpYcWdlVTZmakcrL2Q0YlhVMGFsY3VtMDlSVnUzVXZqTlV0TGZXY3ZNelcraFBVZTNLdW9OcDlsSFV0Ty9jaGQ1U1FWUEIxWTNpaGJhZTkxbXYvb1ErYVVwakYyMkNKMjNtdDNYRFVPVzVOT2Z3WDA5cjVqQlJFMmQ2djU4S2oxdkRtZ3hsUGF1RlhYYjgxeVN0cCtpclQ5eDdMSHJLYnp1VlVZdFNEdG4yMHZyYy9hZVAwRThUZEdiZnpSUlU2YzJsY1QxbURhN2pWc2dMQ3dzRGRqV3l0Zm1tYkFydTFJL1hKUkdzb3dnT0oyeVMyYTUzR2hWbVlkQk5qSmdTaHJSUFl5SXpjbTR6dmJTTzVCbFdhaXFxa3dTQk9IaVJuOVordnIxZkZZWHdqdFhwalNwbEoxdG1aR0pSallmeXdhZ0xQY2t4OVNScElZcS9yWFR6bGh3Q09yeVhFd2Vjc3RlVklRYzJaZmcyR0RBUWQ2NmxvMUhUSHUyVVc4QnNGRytiUmVoQXdlQmIxL0MrcGhwcUFzZ2JHZ0tZVU5UQ0lpTFFXTm9Yamh0U0FoMUJTMGJxRGpxNnNBL25PanBzeGoyMHBPbzg0N2k2ZnUxWlcxbCsxMFBVMWwzN3ViQUt5Q0FCamY5czdQNEFKVkZMY21SMUhvRGxzcnlzL2VnaHdSaE90V1NicnFob0lDQUljUFFlYXR4Vmh5aWFHZExQcm1TSFZ0ZDgxVzRpNHFxM2dUSDZRZ1pQaHByMWlIMC9ZWTB6Ym1mTWFoWm1CbUMwRHFLTVZXMWxOUzJ1am9NOGNrazNMaVE1UG1YVVgzMHhCbmZpNjdQSUhRRnV5Z3RkUVVoaW4vWWlsL3k0Ri9OcUtQMjFXTXI3MW9FWFJVM2pCQnlzUnBpbStjaExncE5xN2VqV3ExTzI3QmhmWTkyQkp1cTBXSnNsRWVTSkNFTDRMRFpXblMyc3BnYUVQejljVGl0MUpkbm8yNFVhbTJyREpxQ0JvS1BqOC9semNaMENZczNaVkdyOHlMdFdWZW9YUnZhaSswTEp3RHc1TnNma0Y1c284N21ZTWFpSlNRTkhzYUhNd1l4ZmN3b3ZudG5GWmU5ZVpLYXFscitldmswZ3BVU3dOTUx0ckFSREo0Wnd1b0xSNkEycG5EeHQ2K2hIellWSTIremV1WmN0R0lkdXFDUWxvSWdTT0tIV1planBncUw3MFFtenhnRXdOQlhYK2I3K2RlUzkxWUNhbnM1OVNZams5WXZhU0xRN1hYTFBXeTYrVDYrZkY5SDNOOWZKUG5Lb2RUditJaU4vL2NKZ1gzak1HZG5Fbkw3US9oN3ZKU2Q1U2ZKL3V3clloNWJUTkE1U244TG1YZ0Zxbi9PSVgzbVQ2ajlJdEdGdE5SempKZGZ6OUZiSCtLYjFhL2dOLzU2eGo5NjdhKzZYdlRjQlp5WU41K1ZJOThrNHBxSEdIbkhOR0t1dVpYMUN4WlF0M0VnbGhyUUo3UmtYYkVmV00yYTJXdXdaR2NTKzlqL0k4QWJHRENWMUp1MnMzN0NPUHo3eFdJK2xZM2ZwUTh5OXA1TDNVOXlUd2JmZHhGYjAwYWc4b3RoVFBvS2duM2d5RU56eUQycHh6ZFVTOVh4VWxMZS90dVozNHp2SUZJZnVwanQweWZqSHg5TWRiYU5rWjhzK3RWcmtuRFRRcmJmUFpOZi9BM0UzUDBTQTZjbmRmQ21NSkw2MmtOc3ZXa0tKK0w3SWxlVllnbEtaZnBIaTlvSTJHSERocVVDdVo3Q1RaWmx1K0NLa0VxeUlMak5VUW1WbHc3SlZFOVZ0Z2xiWURqYVdDOTA0VVpxTTM4aXEvd2tKWUlPWWZEZ3dlNytCbVlzRm90Z3RWcXgyKzJDdytFUTNDRlhsZFBwMkFQMFB4dTJWVWxWUFhxREFUL3Q3Nk90bmUrMFJaM0RnU2svSDFWZ0JEcERXNytJczZHT2hsb0xQaEdocmN3ZGlZYkNmR1N2UUF6QlhaTkVrcTBCVTNFNW1zQXdkTDY2MzJXOVpKdUordEk2dktNaitMMzBlMmRESFEybE5YajNqRWJWenN2WVdsYU1wUE5ENzl2U3ZKY3NKa3lsRlhpRlJhRFZkVzBQMkdyS3NOWlk4VFpHb3pvTGxDWk9VdzBORlNhOG80M3RqdjIzY2FuWU1PVVhJL3FIb1BkdlA1bFpsdVdqb3FpNkE2Z0g2bkJSR3BrQmk0QmdGMFRCS1FpQ3BGYXJaWTFHSTN0NWVhSFQ2V1M5WG8rM3Q3ZUwwc2hiajQ5V1QxalBIaTZOcmRrRWJkYlljQ2ZJbVV6MWFXZEhxTGtjSHVHQlNyblFyelFHTUVUSG5sNzk5L2JGMTl1MzNibjNOdmJzM21wcHZmSHQyZk4zdlZ0QmE4QTMydkM3amtIbDdZdHZCNmthWHFIdFZ5cUlPZ08rUGJzM2RxMS9LRnIvc3poMmd6KytCdi9mZDh1S1dneWQ3Q05CRVBvZVBKalJkK0RBUWZ2Ym1LUElUbVFrUVJBRVNYSnBiWTJCQk04NlVvY2tJMm5WMkd3V3hNYkdMTTI1YTgzK05VRHc4dks2VEJFbUNoUW9PTmVJajQ4ZjBjb1ViYzM0UVhPWmxZU243UElza0xkYWJZZ2V2alhCN1ZzVFBCeDJvaUFJMDVVcFY2QkF3Ym1HWHE5UG83bjZvTjBXZmE0ZnFaSDVRMmloc1RWMXRySTFhbXlTUitEQXBha0JndG5jTUJXSVVxWmNnUUlGdndHTVI0OGVHVWpMOHFwR3hvL0cxRE5Ca2p5TDQ1czF0MmIyanliQjFvWnp6ZVhlMEdxbktuUDkyNkswdEpUOC9BSmxJaFQ4S1JFVEV6UE1VMk56bTZPcVZ1Wm9DNjQyTjRWNEM2MU5kQWNNbWxTN3hnUGRacWdpMkJRb1VQQ2JRYWZUalcrbHJiVm5qcmFRV2EwRENYYTdIZEhUREczVTFBQ2hvY0Uwb1gwejFNbk9qTU1zV3JtQmU1ZHY0djE5dVI3MEt6SlplWGw4dW0wdnIyNDhTSzNIVVE1ckE5c1BIZWV0alR0Wm5sbWlyT0J2aUVQM1hjR0pIY1hud1Vna2ZyNTZQQVduL2poemF5dk5wYnF3NGd5UHJtUGJaWmRTMnFYRGJWUmxITUorRmhoeGFqY3RZY01UUzgvcVBNZ05GWlFleVczeitjL1hqQ1V2cDN2bWFFYkdnVDRlV2xzTGphM3hweVZYbTlRbVFpcTJNa1B4TUVNbnRyODM2L2hxYnlGOVltUEV6UktVQUFBZ0FFbEVRVlM0dEg4VW03ZHM0UEVmR2tkdTVyMzFlemhTWE1KYlAyUzJFR3lsZVRtOHN6ZWIvYitjNUl0amltRDdMV0V0SzhCdXRwMEhJeEdKbnJjUXY4QS9rT3RnMVN2c1diTCtqQVc5cFNBUFIxZTZUVlBPanF0dnBOcDhGbDR2cGtvYXlzNHUvNTZVK3dNYi92cGltODh0ZVRuWTdkMDdWNjlldlpJOU5iYlRtS040bXFQTldwdExzS21ibzZHTlRCNHVNMVFVeGZZRm14akE0aHNuTmYwYTJGREdYL2Jud3RoWXdKdG5icDRKTlRsOGMzQm5TekdjMEo4UEV2cXplc05hUHFoVGhNMjVRUFhPZEk0dlg0OGREUUVqcDlIL3l2Rk5TYnEyNHFQc2UreDF6RlpmRXY5Mk55RkdYOEJDM3JJUEtkcDdGTHRkVGZDa1dmU1pub29BVlArY1RtV2xub1k5RzZpcEZJbTc2WGFNU2U0aWRVY2QyZSsvUStIK2szakZENkgvd3B2dzl1NDQrOU4wNkFkT3JOb09vaGJ2MGEwRWI4NStNcGQ4Z3FuYWlpRitDSDBYM3RBNUEreHB4bEN6ZHcxRkJmNzB2WFFFQUpXYlYxSWxKUkovVVJKbDZ6NmlRVzJrY25NNkZtY3dDZlB2SURUVzMvMndsM0w4blhlb3lDckJrRFNPL3JkY2lWYmRxSTJVY2VLOTl5ZzdVb0JYejBRU2JyNlZBUDlxTWw5K240bzlHZFRWbGJGL2NUWkNaREtEYjNSNWJ4d1ZXUng5OTBPcVQ5VVNNUFl5K2wyVjVrNHd0cEgzMFZ1YzJubVNnTFRKZEVVQnEveCtCYWQrM0kvWlZNT0pGeFpUb0JXSm5MT1E4SGgvMS9tV3ZVdmVqcU9valFra3pwL2ZWTmplc1FKWXpiR1huNlU4dTRySVdUZlRhMHkvSnMwdy8vUDN5UHZoRUtxSVJCSVhkbjYrM0E5ZW92TGdBZVRpWFBZdFhveWdDcVQzM3hZMmtTYVlUK3hrOTVKUHNYdEZNK0NldS9Gemw3Qlk4ak00OXM3SDFGVTdDSjE2TllsVGhpSUEzdDdlSTREUFdwdWlqZVlvc2lRNUpVbkE2VVFscW1WSkl3bE91MDAyMWRSZ2t5UXNYdDZJalZMUG5aU0xMQ05VVmxiMHA0dk5XbzZVbHBOb0RGR2t5dThNdVdRbkcrWS9UK2pNYStsejNSVUk1cG9XUklBbmwzOUY2Q1d6Q2RCbHMvWEIxNXBNb1pwQ08xR3pyNlAzdkdrVXZYSTdCOWNjQTZCbVZ6bzcvdlk0bXBScHhFN293WTZycjZXaVJnSWNaTnc5aDE4eW5TUXNtSStQZVE4Yi8vcnZUaDlRVFhnc1lXbWpLZm44VlZxU2JUU3c4NmJyY2ZhNW1IN3piOFEvUU1MYTZSdis5R1B3Nnp1SXdsZnY0OFR1UW14Wlcvbmg0ZjhRTUNqUnBmT3MvNHdkRDd4STRPUzVHQk1kYkxuMlRzd09seFd5ODVvWmxKbU1KTjUySXh6OWpCK2VXOTVrb2Z3MDd6SUtDbjFKdUcwKzRiMjhxTTJ0QkxVdndlUFM4RThNUXh2ZGw3QzBOTUtISnJwdktaOHRNK2ZRRUpCQ245dXVvdjdiWjluOXdYWUFTajU5bGwyZkhpTHVwaHNSOXEya3JMRHp5bjVkM0VEQzBsSlJhNzBJSEpOR1dOcDRmSUpjbklpRlN4NWoxNmNaeE41ME13R2FrNnlmZDErWG1IbnIxbjFLUStTRnhNOGN5YUU3cnlMM21JdEVNK3U1djdCL1ZUYXhOODBuTkt5VXpkYzkxT241L0llT0lXUllFdmhHRUo2V1J0aTRDOTAwVHk2dE5HZEZPc1paMTZBdDNjSlB6eTl6T2JSSzk3TnU1aTJJZ3liUlo5NWxGTDU4QjRjM1pRR3VaaStyVjM4WDJaNmZEVmtXWkFSQkVBUVFhSEtqT2UxV25LalJCSWVpRGRDaGJsM3dqcXMyZEh4WEhxWlQyWWQ1ODdDVGQrN3NwMGlXMzl0NzFWQ0p3NkZIYjR3bUpENkNrT1NXMzhkZGR5ZlJJL29qUjExTnh1VWZZQU8waERMZ3J6ZFJzWDgvNW1vYi9vUGlLTjkxRUthNCtpWUVYSHdOZmFhTUFrWVJ0K0k5Y2pjZEkyaFVKY2MyT3BtNDZ5NThOQkIwOTcxa3BWNUxWY085QkhkQS9hOE43WWt4MU1ndmJUUTdLNVpxSzRGaFlRUU1TQ0o0WUhMblFyeDBad2RqTURMeXRhZFpjOHR0NUJocTZmdmlSd1NITnBjelJjNWJTT3lZWVRCbU1Ma2ZEaUIvYnhVeDZ2WGtsdmRuNXIxWG93TDg3NzJEcjJlOGp1WFJPWWdacThrcFR1REtyMjUzTVpza045ZEdocWVtWWo4VVFaazJIbU5xTXlkYzFmcmwxQmluTWY2R2k1R0JRWGZkeUtwRlh6SDh4bEhrcmxoSjc3OStqZkdDT0l6OTcrZkVoMWQyZXIvZVBmdmczZE1YalVaSFNHb3FvWVptb1pHOTRpdjZQdlE5eGdzaUlQa0pjcFplUU1HSmw0anIzWEVKbCthQ1MwbStLZzBCNkRmek0zTFRmeUFtZmpCSGx1d2llZE9QaElhb2tmdmZUKzdTRVJSbE9ZaUpQMzE5VjBEU01IeFYrUWlHdkJiejBJamVDLytPY1dnZ2dmWlpySHJPVlY5ZThQbjdhTWJmU3Y5cG81R0FnUXV1WU1meWRKTFNYSngxS1NrcC9ZRThUM05VRUlTbVpGMEVRVUFVWlVIRXBaaHB2TkQ1YW5BNnJOZ0ZMNWRnYSt6dTN2aWpVcW5HZGpiWkZVVTVMUGo4QUl0dW1FbWlRYWxtLzcyaGlwdkV5SHN5T0hEbkhING90R0s4NXUrTWVHQnVVMzJsVjZDcjVGM1FhUkVjRGlUQVdaSEoraGszNFQxeUtnRVIvalFVMXlQNU5GTlNlMGVFTnYyL1BqU002c29TSEtYbFdDMkY3THIxeGlZYUhxK2tKTEFDM21jeThrQ0d2Zm9NKzE5OW1DLytua2ZBaU1zWThjcVQrSGF3cHh5bFJSMk9RZGRuUERHSml6aGVNSmp4bzFvMkdOR0hOZEovYS9FMit0TlFYazJEc3hpcE1vTnROOXpZUEtvQjhVaUF0YkFZVFV4OHQraWE2b3Z6Y1J6ZHc1WWJtdnNuQlBjZTdqcGZhUjFCWVdGdVZTd0NROEN2S1FnMVl5azFvMnUwbU1SQURHRmdxNndET3VaSTFJVkZOYmtwZE1Zd0dySXFvYVlJczluTW9YdHY1V2pUbStBQ1ZOamM4dVhNL0tycVFKZFRWYVZSSVZ1dHJwRVhGV0Q2OFFpYmI5amNyUGtOYVM1eUNnZ0lTQVkyZUdocnJoOEJBVmtXSktkVGtKMlNJSW9xSkVtU0hlWmFvYWJVS2h0OGZCRjB0cllhMjczMzNxc1NCS0ZEM3VpNmlnSnUrV2diZDg2ZHdiZ0liMFdxbkJkUTAvT1dCK2w1eTRQWVNqTllOMjQyUmRmT0pkcllnZTltNHdvY1EyNWc3TDl1QitENEU3dndERmcyRkRjMzNER1hsZUoxWVRqcU1BMWVobmhHZmZ3cEJ2WFpHWG5nbUZsTUdETUwyVkxGam5tVE9mN2RIRkptbjU0MVFoMFcyZUVZeXI5NWtkenFJY1QzK29XZlg5L0FxRHVhM2NYbTRrSWdCYkRSVUZoRFpFZ0EzdW9JVkpHcFRQanN0VGFGOWpaakJQYmNuZGdrbXVqQVBTRUlBbktyN2lrK0VkRjRwWVF5OGIySDJ3cVVjSC9NcGFWQUhGaUtNVlU3dWl3Z0JGRnExZHRCank1TWo2V3dISHBIZ0ZTRnFSU01YYUJic1pRV0lMczFHVXRoS2Q0UlFlQWZqdDdnejVDM2xoRWVlQWJLU2plNnlPZ2pqZmhmTkpPSlQ3ZlB5S0xSYUVZTUhqeEljK0JBUnF0RVhVRjA2V3VDZ0N6aHROdVJOR3JzWmdzYW4yQjBZZjdvdkhXb1c1bWhQUG5rRTZPQjAxZk4ydXU0YzBrNnV1ZytWQlprczdRQVZQb0E1aVc3aWx5M0h6akV5WXB5ckU0elgyN1BJQ0U4a3FrSm9VZ04xU3c3Y0lyRHA2b3B0VWtzM1FHcEEvcVI2S2RSWk5KWmdDMXJPMGMyRlJDWk9nQkgvazZzMmhoOEFqb3hjYUo2MExBbm5ZS2ZSMFB4TG81OXV3Lzk5RXVhZ3hGclArYm9ta0g0T2c2UnZjL0ErRmY2SVBoTDlCbHI0OGY3bjJmZ0RSY2pWeFZTc0NlUElmZmQxaUg3UnRYKzdaaHFySmhOVGlwM2JrRjl5b3VRMUJIb2RLVWMvTmNLZ3NhTlJFc2w5YVYyZ21QQ094eTNFSlo2MmpFNHM3YXo3UjlyR2ZYTk40VDRsckYreWh4T3BQYW45MUNYaEMvNjVDMXlVaU1Rc2xkVFlyK1FZUmNFb2hXbjB0UDNSYlkvczRRK2w2YmlLRHhHU2JiRUJYK1pqWGJRVkdJai9zMzIvM3VEL25QSFlzdmRneHc1aVo3dTgvbkg5NlhxZzY4NE9UUUliV2dNMGNQN0VUaHBEajR2WE03UGIvWW1ia3dpNXF4RFZKdkNHRFJ2SWpGenJtVGJxNHNKQ2JtZHFxL2VvTDZyY28wUUFtSWNuSGh6S2Ria1NBSlNSdU1ickNOdTFreCtldkZKQW53WFVyL3BBMm9pcGhIVnUzUDkwcjQzblgyZlhZd3hvb1lqM3h4bHlLZmpRZTFMdjVzR3N2dXVoMG4rNnpXbzdlVVViZHBQd21QMzBCbUJ2eW82SG4zQk14ejZmQlgrZ1VHRWp4L1ZGSHhwRDFHemIrVEFKWDhobzM4SXhnRkc2bzd1eE9xVFROOUxoalVwY08rOTkzNnZsSlNVUXpRM1UxWUpJQ0lJSXJMc1JFWkFGR1JabHBGRkFidTVGbHVEQnJtNkZKVmFyUmJjaWJrQ0lENzExSk5YaTZKNGVoK2JaS2ZLcGlMY29NRmlkMkN4TzdDS1dvWkhCd0Z3TFBjVWVWWTFRMk5Ed2VGQXJmY2xLY3dYMlZyUEQ5bGwrUGdIMGkvSUc0dmRRVlI0QkJINjM1YU14bVF5NFhSSzNXNUtYRnBhUm5Cd01DcVY2cHdlYzZialEzQlN0V3M3UlpzMlUxc3FNSERSMDRRYW03ZWpiNzhVRElIdTZKWW1nTEJoL2RIMUhFeGdVQTA1WDY3QmpKR2syMlpqNkpGQVlGdzROYnZTY2NSY2hMNXNENlhIVFF4OCtwK0U5L0FGUk1LbnpFQlZlcEM4OUEzVUZ0WVNQSElzUVhHUkhYTG1sNjFiU2RYeGZIeVRVaEZyQ3pFWGxPQnpRU282THpCbkhhQm8weWJLRHVjUWZjdWpKSTVONkZSN09kMFl5cmR2Sm5UMlh6RDJqVURRQmhBNW9pOFZod3NKR1JoUHhmcFAwSTJkaStQZ0pxcktmRWg1N2duOEEzUWdlQkYxMlV4c1I3ZVR2KzRIVEZWMndzYU93ejhxQkFRdm9pK2JnVDE3Si9scmY4RHFDTUE0WVFRNmI5ZFRxNDBkVEVpVVFQWGg0MWpNV3NJSDl3YU5IejFuVEtMdTU4MFViTnlLMWFvbFl1eDRmTU44TVF3WWdhK1lUKzQzbTlHTm1VMU1TaStDaGc3RnExTlpKQkkrTVExYjFpSHE4L0xSeFNWakNOTGhlOEU0Zk9RQ1RxMWFqODBRei9Cbkg4YmczYmtxYlJpZWhsZkJ6K1QvbkVYQy9jOFNrK3dTMUVHakw4RkhLQ0l2L1R1cXNvcnh1MkEwWWYxaU9pY2k5Z29uYW13L2FqSU9ZUzZzeG45NENvM01aQUhKSTlDN0RUdkJONXl3UVFtSWhraGlMeGxCeFpZMUZHNzdDWWNZVE9UWTBYZ0hORnVBZXIwKzY3bm5uanVCcTkrb0hYQUk0QUNjZ0NRSW9peXFSRmtRQk5SZU9sU1NFNm5CZ3RvUWlLRFQ2VVJQN2pXSHcvNk5JQWlUL3FpYXpmbk94M2FtNHp2YnlIMzlkckpOa3hqL3dPVi9tTFUvY3YrbG1GS2VaT2pjRkVYRi94K0F3K0hZb3RGb242V1pvNjFlRUFRVFlCVUV3U1lJelJ4dFdxMkxvODNMeThYUkpyb1RjcEZsV1pnOWU1WktFSVFSeXBRcThBcUx3eWNpNkE5MVQ3cVlSTHhERkovdy80elhXSzBlR2hNVDB4dzRhTmxNV1d4MG43bVNkUnQvWEtscmFzODBqM2ZmZlhjWW9QVERVMERFN1B1SitJUGRVOXlkTHlvTCs3OEZuMlhMUHU0NWF0VG9ZelQzUUJEZGFSK05wVldDTE11eUxEZm40MHFTMUt5eEFlaDB1cUhLWENwUW9PQjhRZS9ldlh1NWhacG4ya2VqWUtPbHh1YnExU0pKVXN2Q1VwVktwVGdmemlMQ3drSzdGVGdBTUJnTStQbjVLcE9uUUFIZzcrL2ZwNVVaS25yOENLMDBOeVRKUldtazlxQXBFZ1JCdUVDWnlyTXAyTUs2Zll6QllGQW1Ub0VDTnpRYVRSSnRmV3lOeGZCTlRCK2VSZkdlR2hzblRod1BBeEs3ZXNIcTJscHlLK3B4bkM0bno5bTJxYXpWYkNhM3JCcXpRMVpXVElFQ0JaMUNFSVNFRjE1NDNxZWxZSk5ibTZOQ2N6NnVSL0FBRUl4R1k1ZUszcEhxdWV1VkZleTFhd24zY2xKbzEvUHY2NmN4SWt3UFdIbnVvMi81T3F1Y1VpbUFMVTlkUmJUN3NQZFhydVNOekRwNkJIaVJWMlZod1JXWGNPdUFNR1hsRkNoUTBDRW1UWnBrQkNwb0lweEVGQVFFRDgwTmFQYTF5YktFdXRGRzFXaTBYUk5zb29ZRnMyYVMxTU9WMXI3eXUxVXMybkNRMWZPR0F5b21qN3lRV3llYW1mam1uaGFIalVnZHhUVXp3OUdLa0g5MEQ1TlhiT1B5QVZkMFV0R21RSUdDUHp1aW9xSjZBcGx1UWRhaWN4VnRvcU11NFNhNkpaMmdVb2tEdW5ZWnJ5YWhCdEF6eUI5TEU4K01taUc5b2dqV3Q4MTg3aHNWM2xSckZ4YmtoK2l3WTVXVVJWT2dRRUhIOFBIeGlmTVFhcTFiOGpYbHNyazdXQ0ZKa3RDVTVDWUl3b0J1WDlGdTRyMmRXY3hKN2R1TmcyUSsyWHFRWWNPVE1DcWtJQW9VS09nRUdvMG1vWlZRYStGamE1Mm9LOHR5VXdtWUFIU1BWRTJ5OC9vWHEzRWtwTEtnZjljTnloMC9iK1hqY2o5ZW1EUkFXVEVGQ2hSMENsRVUrM2hvYVc2aEpudWFvOUFpZ09BU2JFSnBhVWtpNE5YMVN6bjVkTlZxdG9weHZESzFQMTFWdkE1bTdPS3huMnA1NTdvMGdoVlNEd1VLRkhRTlhpdFhmaEhpSWR4RVdhWUZoNlJuQUVHV1hla2UrUGo0SkhUOUdqTHA2OWZ6V1YwSTcxeVpncjZMVXUzRThRUDhmVk1CYjl3MGhSaHZ4UVpWb0VCQjE5RzNiOTlRVHArazZ5SFVYT2FvR2hEVWFuVjhsNjlnTG1IeHBpeHFkVjZrUGV1aStkV0c5bUw3d2drQVBQbjJCNlFYMjZpek9aaXhhQWxKZzRmeDRZeEIvR2YxRGdvclJhNTUrVVAzaWZTOGQ5ODhCdXFWUlZPZ1FFSEhDQWtKRFc5cmpyYlUyanpNVVZrUUJFSHZjTmhmRmtWeC9wOWhnbjVMMmlJRkNoU2NIWmpONW1YZTNvYWx1T2lMNm9BNk40V1JCYkFMZ3VBUVJWRlNxOVd5UnFPUlJRQkJFR0tWcVZPZ1FNSDVDbzFHRStuV3lzVFRtS0tlYVIrdUx3UkJpRkdtVG9FQ0JlY3JWQ3BWOUdtRW11QWgzQUFaa0p1K1ZBU2JBZ1VLemxzSWd0Q2psY1lteUhLTGxBOTM5UUhJTW9nblRod1BCM1RLMUNsUW9PQThodTdmLzM3SnAzT056V1dPaXNIQndaSEtuQ2xRb09COHg4Q0JBLzA4QkZtYmRJOUdvU2JMTXFLWGwxZjRtVnprVEdpTHpPWUdjc3VxTWRuL1BMUkZzdVJBa3BTaVdBVUtmaTBpSWlMOFRxT3R0ZjVCclZLcHVpZll6cEMyNktPdlZ2TG1VUlBodmxvS0swM2NPR01xQ3dmOXdaWEZ3azBzVDc0ZVZZOElaSnNGcjdnVWhyLzRFaEc5T3k5Qk0rMyttZ1BiSFl5OCswcGxSeXRRQVBqNys3ZlcyRTVuaWdxaUtJcWgzVHE3bTdabyt3UHpXSG4zZFR6UTM0dEZHdzY2djNUUkZxMWFjQkd0eWEydm5EcWQ3UTlkeDhvN3JpTDkycUc4K3MxUFZQd1pWc01ya1VsN2RqUDc0SDc2RG5Hdy9mLytYNHV2SFRWbDFPWVhJN1hROGlUc3hkbVVIdndGeWRFOWpVOEdjRmlveThuQmJwUGM1M045WjZzcW83NjBwczB4OXBveWFrL2w0N0FwbXFXQzh4ZmUzdDUrcHhGcVRkVGdqYVZWYWxFVXUwbUo1a1ZTaitheTBwNUIvbGhLV3RJV1VaUFQ1aWk5UjBkWUNWQ3J4QTRiN1A3eG9DWnNlQXFXelVkeEFpb3NISHY2TGc1dnlNTS9WRU50YlJBVFBsdENRR0FkTytmZlJzV0pIQnJLSk5iTjNRVUJTVXg0OTBtOEtDUzk3K1VNMzdPVFVBTlVmcm1ZYmVzTlhQYkdYMTBLNHBMN09iQlRRc3plaFZQampkVS9tWm1mL0pPOU42VlNJUXhCTmxYVGNEU0RpTCsveFlpYnh3S1EvY0pDOW4yVFMyQnNFTFcvbEhQaHFyV0VOKzBJQy92L3ZnRDFSWGVSTkYzcDg2UGc5NFZXcSszVXgrYlcyRkFMZ25EbXpTTWJhWXNtWGRhbFAvOXB6eTVlM1pYTnlRb3IvNWgzS1VGL2h0V1E2aWpldElscVN3MG5YL3VDdUd1ZVFnVlViM2lQakIwYUx0dTRCaTgxNUx3OG4zMXZyV0xDdzVkejRic3JxUG51VlRaL1pXWEsyL2QzNjNKVk80OXl5YVoxQkFUcmNGb3NUYXV1NlRlVkNRL093TEo3R1YvZXU0emhONDlGUlNsSGwvekloVnN5TUlZRERodk9GbVc4RWpXSDl1RTFzRnA1cWhUOC9xcUJXdTFIeDc0MW9WbU5nTUF6ZTJDN1QxczBzRzgvbmpMR3NHM3ZIbDdkdUorTGJoM1BINzUxaVZSTDhhcHZFWXFQVWFNZnl1UWJKZ0pRdG4wN0drUXlGLzhEQ2JEblZsQmxQUVQ4dXM3ckFSTm5FaERzeXQ1UjZacXplTUtHREFaQUZ4Mk5XRjJOSFZBUlJNU0lJSGJmZGdNOUo0MGxJdTFpSWdaRWV5ci9qRnVmb1R4UkNzNExxRlNxZGt4UkdSQ0UxZzRaRWZEci9pWE9qTGJJWVBDaGQyUVlOMDBkalYvK01YNnMrQk5FUjlWUkpQLzdKY1orc29wZWtjZlk5VnA2MCtRYmtsS0ptanFWSGxPbjBtdmhJNHg5L0phdVNNcm01V3NuSkszMWFaOVZRRkM3VjBsc2FSNFBlWGNkby83dkZyVDJBclpmT1prVGU4dVVKMGpCZVFsUkZIMW80MXRyV1ZMbC9neFJFSVJ1Q3JZem9TMlNLS294TmYxV1dWcE1ua05Mb083UDVHVVQ2WGYvQTVRc2VaN0tHb25RVVNPcHpUeUJmM0lLWVVOVENCczZHRU5Rcy82cTlqVmdMNitrcGVqeXhjdW5sb2JDQnBmV3QyL1ByeHlURFp0SkluajRXUHJmOHpnSlk4T296U3BwOGYzaEorN20yQVpGYTFQdyswTVFCSjlPVE5BbVhqWTFkTk1hUENQYW9yNjhzdlF6dHB0MWhPcEZjaXRNekpsK0VVUC9aQzAwTmJGcDlCMy9MQWYvazg2NEIyNGxhY2ZkcEkrYlRFQ3ZjT3B6ZnlIcWpwZEl1V3FFUzd0Tm1Vb2tOL0xOdUlsb0lsSzQ2TFBuME9GTDcrc25zWFBXeFJ4TENFZHJFTUhuMTR5b2xDMFhYNDdUbUlpV1NtcnI0MG1iM04vamV6dkYzMzZPTm13S2ZTWU9VcDRzQmIrM1lEUFFzdWk5VGFvSHpSSk9LZ0NNdjhYQVRBMG1LaXdPZ24xOU1XaCtIN0xKODQyMnlHbXFvYUdxRG4yWUViVzJhM05pTFN0RTBnV2c5L1UrQ3lPUU1CY1g0MENEVDBUb255eFNyZUIvREVXQ0lDNEVUTGlvaTJxQmVrRVF6SUJWRUFTN0lBaE9sVW9scVlIZmpPclI0RzNBNEsyc2ppZFVCbjk4RGY3ZE9zWXI5R3kraDBUMEVVWmxJUlQ4TDBEWGdSbnFBVmZ3UUdGT1ZLQkF3ZjhDV3N1cWRnME1XVVlSYkFvVUtQaWZFbXh0QWdidENiaEcvbkFGQ2hRb09OK2g2a0JqYXlIZ0dzc1NGSndESERwMEdKdk5wa3lFQWdWbkIySkhXbHA3ZjZoQWdRSUYvd3NRT3ZrZFFCQ0JibEk2T05tWmNaaEZLemR3Ny9KTnZMOHZsMmFkUkNZckw0OVB0KzNsMVkwSHFXM3ZjSWVKOXpmK3hKYjhHbVdKT29LdG1NeC9QVWZlL3R6ZjVmSy92SFF2NlpkTVl2bm9HMmc0aDljeFo2U1RQdjFTVmc0Znd0SHY4My9YS2EvUE9vU3BSdEd3ejJOMFdWYUpnTE43cDY3anE3MkY5SW1ONGRMK1VXemVzb0hIZjhocDNLYTh0MzRQUjRwTGVPdUh6SFlGMitvdDIzamp4d3kyRk5RcXk5VFJRN2JqYXc1OXNKVDkvL255ZDdsK3dqMHZNdTJUNXhHcktqbVhoVy82UWRPWTl1MHFlaVY1NDdEK3ZyUkpKNTVaUVBiT1ltWHpuYjl3bmtaYmE2TzFxUUVib09tNmxSdkE0aHNuTmYwYTJGREdYL2Jud3RoWXdKdG5icDRKTlRsOGMzQm5tME5yaTdOWld1akQ3RGp2YzZvRi9CR1F0M29OdmU1OWlQeVhQNmJXOWpmOHVoQzdydDZaenZIbDY3R2pJV0RrTlBwZk9iNXB4VTFIdG5OczJUZVlheVg4TDd5WWZsZFBSSVdGdkdVZlVyVDNLSGE3bXVCSnMrZ3pQYlhUSk4ySzdhdklYZjBqRFZVbWZBZU5vZTlOczJsa3BhcmJ1NDdTbWlDOFNuNGlkK3RSZk1aY3dlQzVhV2Y4Z2k3NWJpblphM2VCWHhUeHR5d2tOTmJGMlNBM2xITHM3WGNvUDFHRWx6R0dYamNzSkRqYXhRSm9PcnlWSXgrdXhHb1Y4UmswbHY2M3pPaHdnMXV6ZG5GaytRWktqcFlqcm5nVHh4NC8vRVplU3E5eFNVM25PN2IwSzh4V0xWRnpieVEydFE4QWhWKzhnMndjUk9sM0t6RmJmVW44MjkyRUdGMWpzT2JzSjNQSko1aXFyUmppaDlCMzRRM29kUjNmRTVnNDhmcFNncWRjU002U3BWZ2N2dlQ1Mi8wRUd3M0tBK0cyWTdxanNmMHEzZnRJYVRtSnhwQXU3RkViejMzN013dW5Ec05MU1cvdlpLNnF5RitYVGVUVU9VUW1scERmQlMxQ0x0bkpodm5QRXpyeld2cGNkd1dDdWFaSjA3SWNXY09hZVErZ0czb3hmVzZhZzFEVzZENm9vNmJRVHRUczYrZzlieHBGcjl6T3dUWEhPcjFXWFZZdWdXblQ2YmZnZXFUTXovamhtWSthdjl1M25yMzMvWTFUMlY3RXpKcUoybEYzeGhwZjlZYlgrT0haZEtMbTNreGtuSk10Vjk1RXJmdU5lUHpaMjhrdkRLVHY3UXVKSE5JRFM2VzdGdG1Xei9mejdzSTdiUTU5YjVtTEhoT09UcTZqRG9vaUxDME43eEFEUG9NdUpDd3REZis0OE9hNXUvNVJmTkpta25ERk9JN2VlejNaQjZzQUtQcm1YWFkrOXlHaGw4d21RSmZOMWdkZmM1K3hnWjAzWFkreno4WDBtMzhqL2dFU1Zudm45d1Ftc2w1N2tSLy83elg4UjE1TTlLZ0VMT1YxeXZOd2VzRW10L3EzaGNabTVneXBpMDVsSCtiTncwN2V1Yk5mcDMvNzg4NGRWUGRJWm15b2xuM0tBblVJYThaR0tueFNDVGRxa2RMR2NHVHRPdnFQdWI1aldkaFFpY09oUjIrTUppUStncERrNXU5eWxyNU42SFdQMG4rR1MzTUtTUjdtL2lhVUFYKzlpWXI5K3pGWDIvQWZGRWY1cm9Nd3BVK0gxNHE5L25acWoreW5wcUFjLzZUK0hGdXhHN2kyK1cyWmtNYUloMjlEQUtKL3hUemtMbDlCM08wdjBXUEVCVEJpRUlVckI1SDNVejREMHFLeFZsYWlpUXJCTDc0dklRT1NQTForTlZhVENsMVlCSUdENGdnZU5LelQ2NmdDalJoVGpaU0U2TkVrRHNHWTJyTjU3dDcvRDJFM1BFU3ZzY09RZ2I2emg1R2R2b200Z1M3SzlyanI3aVI2Ukgva3FLdkp1UHdEYklBV0s1WnFLNEZoWVFRTVNDSjRZSEtYN3NuMWlKcnBjKzl6eEE4TlZoNkV0ckIwUjJNN0k2dXdvaWlIQlo4ZllORU5VMGswZEJKY3RWWHdqNDNaREEzWHNQN3dTVTdXMk1rckxPWlFoVWxacW5aUXVHNHRHcjJGbzYrL1FVVmVQV1ZyMTJMdDdPR01tOFRJZThaejRNNDVMQitjeXJaL2ZkcmtrREFYRk9BYkY5ZldZVkdSeWRxME5ESlhyS2ZxMEdFYWl1dVJISjN0SFJPN3I3K1lINS85TDVYN0QxT1hYWVJrczdWNFpmb21KcDZWbWxOTFpTWGVJV0ZONzJCOVdDQ1cwbklBK2p6d0FsNTVYL1B0aUtGOGZjbTFGSjV3RTgzN0pESHlwZHM0K2VRQ3ZoaVF6S1lIWHNicU9QTXhtRW9LS2Z2eVRiYmNjQ1BmMzNBanYveFlqazl3czJub0ZlaGlJUkIwV2dTSHcrM2REbVRZcTg5US9zN0RmREV3bVhXM1BrNmRTZXIwbmx3TEdZSnZ2Q0xVMnJWS1pObmNqbmJXbmtFZ3EzRVZsSFlMZFJVRjNQTFJOdTZjTzROeEVWMG8vcFJWakIwWVMyN3VLWEtCN0hvNzl0SlNUbFRFa2hTcytBOWF2NVR5MTI4bGZNSzlxQXhhVkgxSEVwRCtUd29PbXVnMXNLTzVVdFB6bGdmcGVjdUQyRW96V0RkdU5rWFh6aVhhQ1BvZVVaUmtad010TmV2S2pTdHdETG1Cc2YrNjNXWGVQYkdMVXkya3BSclI0V2l4YytUOEhadzRITUdWZTE1R0M5UnVlSTNET3pKZGRIK05iOHN6U0NJUzFDcWtSbnZORFYxUUVBM2xwVUJQd0lHNXRBcS9NSmZid3l2MkFpNTg2MlBBUWRiaUJleC9hd1hHRnhjQUVIN1pRc0l2VzRpekpwOHQweWFRcy9jRytnenZvbEhTcXIrRUlkeEk1T2g3R0hIYm1HN2RUK0NZV1V3WU13dlpVc1dPZVpNNS90MGNVbVluZFhoUGRESi90b3BpYkE0dmZNSUQvNnlDemVRaHpEcjBjS2hsV2E0VmhHNjhYKzExM0xra0hWMTBIeW9Mc2xsYUFDcDlBUE9TWGVyNzlnT0hPRmxSanRWcDVzdnRHU1NFUnpJMUlaVDdab3h2T3NVckgrZFRsVENJeXhOREZUbldXb3ZLLzVIQzNKNU12ZSsycG9DQmZQQXI4amQrVDYrQmw1eGVLYzdhenBGTkJVU21Ec0NSdnhPck5nYWZBTGZwZU0xOERzOTdpc3g0SFdGeHZwUituMEhjWGJmZ0hkV0RoajNwRlB3OEdvcDNjZXpiZmVpbmUxekRweGVoc1VWa3ZQQWhFWDBpTVU2ZGpDNHdDbS96UWJMVzdTRFlZT0x3cXg4RFEzNzFmWWVtam1EWGYxL0JJRTNDZjlDRmhNU0YwblBPTERZOCtTL0M0eDVDeWxwTmZsRWlGMS9vTXRteVAzZ1ZvZWN3ZkVNMVZKekl3eWY1S3JjcGNZZ0R5L1lRUGlZRm9TYUxCcE12dmwxMHZ2djFUdURZOG5meEZjZmlIVGVJME40UnhONndnTU0zUE1iUnlDY0o2ZWxIOWQ0ZkVIdlBvTmVvdUE3T1ZNckJmNjBnYU54SXRGUlNYMm9uT01ibHMrdm9uanJETDA5ZVQyYnBTR1o5OXVTZlZiRFZkNkN0dFJCMnFpZWVlT0pLUVJBU3UrN1l0bE5sVXhGdTBHQ3hPN0RZSFZoRkxjT2pYUjBNanVXZUlzK3FabWhzS0RnY3FQVytKSVg1dGpsTmRIZzRzWDYvZmJjT3Npd0FBQ0FBU1VSQlZBTjZrOG1FMHluaDU5YzlmczNTMGpLQ2c0TlJxVlRuOUJoclFTSHF2c1Bva1J6ZjlKbDNsQkdIWFVOby85Z09WQjRuVmJ1MlU3UnBNN1dsQWdNWFBVMm8wV1VtcVVNVGlCazNnSksxNlJUL2ZBaDk3MVRDQjhiaTFYTXdnVUUxNUh5NUJqTkdrbTZiamFGSEFvRnhqUjBaTlJndnZnanpzUXdzSlNZQ2hxYWc5UTdGbUJwTHdjb3ZxY3F0cDk5ZHQrTWRIa1Y0Y3JQNTZSVVo3M0dPcnNFM2VRdytZaVcxV2Jtb0l4UHhqd3hBMzJzWW9VWWJwNzVLeDFRZnhKQi9MaUlvMUVWRzQ2ak1wV2pUWmtwKzNJY2hkUzdKdDE2Q1NnUkVnZHFNSFJSdDJVVGxMMVVrUHZnMDBmM0N1cVpsRFJ1UDJseE0zUzg1NEJkRllHd1k2ckFFWXNiMHBuaE5Pc1UvSFVEd2pjVTRiamc2Z3l2TzZ0c3ZCVU9nZXg5ckFnZ2I1bUtVTm1jZG9HalRKc29PNXhCOXk2TWtqazBBNlBDZVhOQVNOR3dvV25YN1l6VDBIa3pvZ05nLzUwdmY2VHo2OU5QLytCbFhFTUhhK0s4Z0NIYkFLUWlDSkFpQ0xBaUNMRGlkam85RVViem16ekk1dnlVZjI3bmljRk9nNEUvcHBMRllWdXIxM3YrbExSOWJBeTM0MkVSSmxHVzVVcGt5QlFvVW5POXdPQnkxSGlhbmZIcGZtNEFveTNLRk1tVUtGQ2c0MzJHMVdodkxsVm9MdERZQ1RuUTZuZVhLbENsUW9PQjhSME5EUXgwdGszSlBHeDBWN1haN2lUSmw1d1poWWFIZENod29VS0RnOUtpdXJqNmRLZG9rN0JvelBFU0x4VktxVE5tNUVteGhpbUJUb09Bc29haW9xSzYxUUJPRU5tVlZzaUNBV0ZSVVhIUkcwck8ybHR5S2VoeW5JMlJ3dHRJUUpSbUhVMnI2a2FRL3o0TEk3bngwdVIzV2xkTVZ1elY5TGlrYldvRUNnSXlNZy9YdVIwTnFGbTVDTzQrUGdIcnc0TUdsa3VTMDRPb0Ewem1rZXU1NlpRVjc3VnJDdlp3VTJ2WDgrL3BwakFqVEExYWUrK2hidnM0cXAxUUtZTXRUVnpYVkNuNjFialdQN0NqQXo1MmdNL3JDVWJ4d1VlSWZmelZxOXZERnBIOHo0K2NuU0I5d0Q1TU9yMnBxNUpxLzVCNU8xa3lnbi9FQUI0NGtNUEdwdVUySGJadVFST3lIaHlpOEo1blFwM2ZUcTU5YTJka0svc3l3M0gvLy9RMGRtS0l0L0cyTlQ4c3BvR3RTUnRTd1lOWk1rbnE0MHRwWGZyZUtSUnNPc25yZWNFREY1SkVYY3V0RU14UGZiTnVsZk9xRUNidzRQa0ZaSWdVS0ZIVFA2cEhsdkZZQ1RQTFEzRnJxYTRLQTZEcEc3Z1pOcTFlVFVBUG9HZVNQcGFuR1Q4MlFYbEVFNjl2WExxcXJxOWh5Sklmc0dzdWZhRWtFVkY1ZWdJaEtyMjlSSEM2cXZCQzFJb0pLaGRncTFWelU2MEVFMFV2djRqbFdvT0JQREtmVFdkQktxTFh5dFFteUlBZzBCZy9VZ0N4SlVzNFpPYm50SnQ3Ym1jV2NTWmQxK3FjYUx4MzJrbkpXN1M5aDYvSjFUSjh5aGNjOTZHSCtzUEMvZ011M0xnSGcwdDNMVzN4bHZIRXhybGJGMDJoTnhUanF1MTBBOVBoNGg3S3JGZnpwWWJQWml0clIyTnBOK1JBRVFWWURzdFBwek82MllKUHN2UDdGYWh3SnFTem8zem5OeXJRSmFVeHovMzlaN21FbXZMZWQ2eS9vU2F4R1dUUUZDaFIwalByNitxSjJUTkRUK3RsRXR6UTgyVTNGa0U5WHJXYXJHTWNyVS90M3U5VlZhSFFrVVk1NlRpbjg0QW9VS09nQ1NrdEx5K2lDajYzUkhCVUJ1YXFxS3F2cmw1QkpYNytleitwQ2VPZktGUFJpMTQ2cHJEYzMvWloxN0NRRittRDYrQ2dMcGtDQmdzNlJtWmxaNFNITXBFNU1VUVJCRUx3QnJTUTVpd0d2VHE5Z0xtYjBvaStvMVhuaEpib2NkZHJRWG14Zk9BR0FKOS8rZ1BSaUcxVm1CLzU2TDVJR0QrUERHUU80NzVYMzJPUHd3Vjhqa1ZjcmNlL3NxY3pyRS9LYlQ5QnZ5ZTZoUUlHQ3N3S3JJSWpYNG1walVJK0wyYU5PRUlSNjkyYzJRUkFjb2lnNlZTcFIxbWcwc2lBSWd0NHQyTFlBeWVkdWJCSmwxZldZblFMaEFiNTQvVTRKK1lwZ1U2RGdmd3VTSkdXb1ZPcEZ1Tm9ZZUFvMms0ZGdjN29FbTByV2FEUnlZNDZCTEVsU3BpaUs1MUN3aVlRRytDbXJwRUNCZ203QlpyTmwwZGEzMXRySEpudVlvWWlDSU1pQTdIQTRNcFVwVktCQXdmbUd1cnE2M0hZRVdwT1ByWFVPVzFQd0FKRE5adk5oWlFvVktGQnd2dUhVcVZNRnJRU2FrOU9rZkRRS3VjYVlwbno4K0FsRnNDbFFvT0M4dzlxMTYwcmNnc3ZwSWRUYXBIczBtYUdpNEtvOEFPVFUxTlJ5U1hLZUFIci9wcU4rNTlLMm4xMXdOYVRNVTFaVWdZSS9PV1JaL3VYUlJ4ODF0elpEM1hSRm5wcWFoM0FUbTRyZ1pVQ1NKR212S0lxOS84Z1Q1VldUaTZvd0U2cTcxNVRXNzlRcFJNY0pVQ3NzR3dvVS9GYXcyZXlIMnpWRFpTUUVXUUpCUnBaQmxtUkJsaEdjSURqa3B1QUJnR3kzMi9kMWZpa25Pek1PczJqbEJ1NWR2b24zOStWaWE1YXZaT1hsOGVtMnZieTY4U0MxclczbC9CeWUrWElqOTYzWXpFZVpoWCs2UlNyZnQ1bXhUMzdSNHJPVDI3NWwrcjlXdC92M1A2NVp3ZWpaZDVFODYxSDIxbmg4NGFobDBaUC9ZTkFWZDNQSjRxOS8yNXR3RkhQdFRROHk5SXFGWFB2R0QxMCs3SVVuSCtHL2U2dTZkYWxsLzNtTjBkZituZWdaejNBMjJWQy9XN242LzdOMzduRlIxZm4vZjU0ekY0WmhHRVlZWUVSRVJGSkRSRU15SkRVemM4M016Rnh6eTh5MXNqSXoxM1ZiYTExei9mVTF0MjI3bUd0bWRqTXoxOHpNVE0xWU5EUFh5c3pJQzVrUklSSWlJZ3pETU16bGZINS96SVVad0d2cVZzNzc4VGdQWmM3bDh6bm44em12ODc2K1BwelI3SE0zc0t1b2xCTXRLTC9talpmSkdUV1pubVAvU2NWNWUvQXU5dTByeHRhTW4yLzVpMDh6NS8xdnoraEtCYXRmcCsrNDZhUmQrd2QyMjg1aEZ4VWJVNmJQNDREOTNKRUlIcmZhRHJaaWhnYjcyUENUVFVwSXlGSlQ4QUIvWk5ScXRlNDZkZWZyV0xPcm5DNnBIYmdob3gyYnQrUXphMnVKYjJjREwzLzRCZnNyanJCbzY3NFFZRHRXZG9EZnZicU51TGJKREwwMEdkbmx2dWlBemUyb3AvUm9iY2h2c1IweXVPdnFMcTBjWGNmc2Y3N0h6UGxQc252Vi81RWQwN1NuL0xPUGVMazhnWjJybjJYOXd6ZGUySnRRVzFqMnl0K1pOeXFMR3J2cjlFSDlhQ1ZXdStlTW1ycjFuc2xzV3pnSmRhMlZjL0dxNUc5NGo0SUR4eml3NXh1cTdjZVovL0phcWs1bkd0cExHWDcvaTdTNk9JaTltQmt2RnJKczZiUHNYdlpITE9mdHdkY3ljZEpjaXBvUjQxaXJxNm11ZDUzUmxRYU92SjF0Uy85Q2txdnV4RVN4WnlHRm05YXlyMDBXbmZYbmpvNm1xUGpRRDgyMHRXQWZtNUQ4NE9ZRE9GK3FoMUFIMjZtalI5K3lhL1BtQWh0dzRtSW4yY1RqNDY4Ti9ObkdmcFQ3ZHY4QS9WTUJQZjgzWVFUVWxyRDI2MDlEVGx1eGJSZlhEUnJJdmJsSkZ4V1lPWTRmNXNtWDExSmNyMlZvdWk3a0M3enN0YmNvc2lwWUxzME9PV2ZudHYrdzVzdHZLYXgyczNybFcyeFRSVEx4enB0SmliU3orTVYzMkxYM2F4eFZHdVk4dDR6WWpwbE1HOWJ6WjNHdmJsc1ZpMWZtcy92N0NoU2RrZEUzM2NEZ2pQZ21jQ3Y5aG9mbXZJbE5uOENVMzQrZ2E1eTMwTVYrL0RBTDN0aklubklibWJsOW1UcThGNmRLZzFZYWpyTm8yWHZzK1A0WXNZbUpqQnM5Z3V5MitwTy8wQU91WXRuS3RiejhTU0ZibERVOE5QNG16S2Z3TEd6NVlCMzVYeGRqclQvTUU4OHRRNC9NcldQSGtORkdKdi85dFd6Wjh5MWxqZ2FXdlBRbWVsMGMwKzYrRHRNSnI5YkkwdGMzVWVPcTVxQTlnYUdkbkt6OC9CalQ3NytkakRnTnV6Ly9oQlVGZXlpdmJTRHQwaDVNSFhNMUpnM3MvdTltVnUwOFNJbTlua1dMbG1IUlNBeTk0VWJ5VWcwK0JiNktKeGNzWnM5UkdELzJ0d3k0cE0xUEdFUTd5OTlZdzZadmptRHBlQWxUYnh1S3hRZFVaVVc3ZVdMRlJ5aHRraG1lRlk4anRoUERlN1FMV0hLTC9sM0FyVk9mRHJIdVZpeC9CMk5xZTlaLzhDbTZ4STVNLy8zMVdIeDFtRFVsKzFtMjMwbU85a2VXRkJTUjBPa3laazY0Q2owdTFxOWV4Nm92ZnJDOXNXSHJrV1phbWdkUWhOY2M5Vk9EQzBsQ0tJcUNyY0dEcmRHRjdITzZDVUQ1NktPUEZDSEVqak41RHZzcnEraWNkS3JTS0JkN1MydUpFY2U1Yy9GYjNQcnlCajc0b2VaaThCQXdmZHBzRHVxN01HbFlOc3ZleVEvYXB5STdweWRkdFVkWmxCK2FRcGpjSVowaHVkMHdTUkhrNVdZekpLODdSZzJBaHQ2OUx5T3ZjeUlHY3lKRHJzeW0vNlZ0VDlvRDY2RUR6Rm40SnJPYmJadUt6djNpWk03cUNxcTFDWXkvWlRoais3Vm42b04vWVh0Vms1YTI1SjB0REJvMmhOeW9IeG55aHhleEF6UWNaZFNFUjZtTTZjeVVXNitoWk5QclRQLzMxNmRzYThuOHAxaC9KSnBwZDl6STBPNEpWQjF2T09VNXhRZjJzK09IT3BMajQwblFPZGoweWQ0V3BsMXpTZXQ4S1VONlg0Sk9ZNlQvbGRrTXViSW5DVHJ2aTVuZTlWS0c1S1NqMHhrWWVHVTJneS92Y2dvYTZrYVd2dkltY3FmZWxIKzhuTVY3dGVSR1ZmREV1MThCY0xDa2dwd3I4NWcyZGdnY0tHRE1zNXNBU0VycHhKQXJNNGpWYU9qZE81c2hWMTVHU3BzbTZGKzk3aitrOWVyTHNJNkMwWDk1aVovQ0xmSHFNLzlnZm1FOUUyOGRSdXlQWHpENHJ5dTg2bEZ0TVVNbnpTY2w5eXBHOXpJeWJmWjhWbjhaWk5EYmZtRFRnU2o2ZG9zT0FiWlZiNzdCak5jL1ovU282NGl0M01uSXVVMnVrNW9maXBqOTVIUE0vMjhOSTYrL2lsU2RDd2RRc0h3SlU5NzlqdHQrZTkwWFRwZGJhY1VFOVp1aGlpS0VrUERxYlkxdUJZMUdUWXhlRzRpS0JzRE43WGJ2MEdnMGcwN25JWlIrdjVmbjkzcDRjZktscC9vTVlITzVXYi92Q00rUEdZYXQvQnNtdkxhUmpnK040ZGRNRHE1VTdHWEY5M0hzZVdrZ0ZobG0zdDZmVVIvNEg3ZE1ScmNNNU1PNzRmdlE4eXp0TzJCcHI4T2dpU0NuVndhWkFhMUNRODhlR2FqTGQyTW9qNlJ2ZHNhcExVZU5sZ1J6U3gzQ29EbjNOVzM2bEV5bUQ2L2hzMisrd3laTVpDUTQrR3hmTlhuOXZWcmJtTnQreStEc1M2RG5IYno4MW4xc09UeUoxRDBGN0V2c3c2clJWeUFEYys0Y1NzYlRXNWwvUy9lVHRsVjkzSXErYlF4cHFSM28yU1h0dFBvbkd5ek1lK1ErWHA3N0RFTm0zQWRGM3lPZndtcEs2ZGlKbERnM1dtMDB1ZGtaSWFabWFxZExTSTJwUnhjUlRWNTJ4a2swdGVEdldSeUQrbDJLODBNelNxL0xHT0NwWjlVWDNvL01xTi9lUlBHM0J5bjZzWmJNcnFuTVgxY0VEQ2FoWFFvSjdmUVlOVnF5c3pQSWFhYVlEaHgySFNQN1pNRGwwY3hlT0k4U0oyU2NWZVZmRFV2WDcyZm1xNCtRbDZJaHI5TTRsdlNmeTI3N3JjZ2ZmNEl6YXhEVGgzaXRnd2xYZjBoaDhFZnR4ekxLWXhKSWFVVUR2dmZPMituZlBZYitLV05ZK0p0RkZEOTZFMm0rNCt5R05CYlBIT00xRWZNQUZKYS8vekZUSmovSFpSMjFlMW94UXoyQVI1Szg0Q1lFSUNIOGE3cW8xU29pSXlKUSszSS9oUGNnSWVycTZqNkxqWTA5NVNNNDltTUo5N3oxRlhQdUdFSG5xRlBaMUdyMGFoalcrekpTalpGZ3pLSlAxSFkrSzdmL3FvSE5XVk9MclUwY1p0L2pzY1RHQXhkMlVUQTVRb2ZGM05JME1lcFBIZDFkdHVCSlpxN2REOGc4OGR4OFJuZUpQUG1IYmxjK2cyYSt5NUJCdVNSRXFhbXllM0M0bS93L3lXYmZ2SktOV0dKY1ZOWTBJbGRXWWozNERTTWZQQlE0cm5mSFMxSGdwSFJZOTk1L1A0OHNXRUgyc05mUkpYWmsvditieXNDT0p5L1pTK3ZVQVlBaE4xOVBFbURzMnZIQ1R3cFpqVm9HV2FWQzFraG9aUlgyUmdFME1IUEtJMndScVF6cVpvSGpWVGhjcHhlQk54dDk5NjFXb1ZhNVVjUloreEtvckRWZ01mdElFaU5OSkVUWktEOE82dG9hTE9ZbVd2K0UySmpRanppZ3lGSXJGOVdRbE9BN05pYVdCTWxLcFIzU2ZGMU83cGpjek8vVlNFVlZJME1zSmc2VWZGdmNHcWdGKzllRWQwT1NaYlFvMURjNHNOa2RoUGpZQUdYU3BQdDNyRmp4WmkwUWM2TDdyenQybUR1WGJXUHltQnU1eXFJL2pTZW1vV09pQVpmYkhYZ01MbytFUnY1MUwwMm5qVFZoUEg2TUtnVXNNbFJVSGIzd1ByN3FvNnovNlBNV3p2Y2hwbFF5MjBhZjlOeXhrNmN6ZHZJSjdrMmp4dUVLRFFhc2VtY0RJeWRPWmQ2SVRvQ0w0aTN2aE93dnE2b0N6S0JZcWFqVmtSUWJRWEpDQWdsWmJkajQxTmdUYURncVpMZW5SVVRTMUw0ekMvOCtDL0N3YlA0L21QbmFGcmJQSG41YXo2UnJ0elBNYUpJbFpNVnp4Z0VNbTdXV0tyc2cxWElhdXR5UGUxbjRUUnlsSHp5SUFTaloralpQZkZFU2RJQUUwcG12N3VhMDJ5Zy8za2h5dXppYWtjK2pWU2s0Z29kUWJTQWh4a1pGbFF0U05HQ3ZvYkxlUUZJYjBKbmpLZDNXRlBNdHF6Z0tRZDhSWFdJOENjY3JLVmNnVFE1MVE1VWZxWUVVRTlSV1V5bU1tSU1nUTI0QmhoRll6QkdVVjlUVVB2cjRNMlVuQUxXUWtpclpWM0VRcWRQU1Jxc1JHaFZlalMxSXhNcVZLOTNMbDcveHNTekx3MXAzbDlVeCthWDMwU1Yzb2Zydzk3eCtHRlNSSm03dDZhWDUvdVNyUFJRZnE2TFIwOEE3bnhTU250aVc2OUxqdWJIWHBVd28rQzg5alRuVUh6N0k1NHFGdjdhTCtGVURtNXlRd2EzcHg1anh3bVltWDJIaXNUYytob1MrWHNDcFBjcTJmWWNwUGZBajlxTnE4dis3RzFOQ01qbWR6aTJWazZsVGR4Yi9yZnM1djdlczd0MG9ldWtkRm1mcFNVMXV6K0FlSFVocGw4Q0tyVnZZMlZWaTM4Y2ZzUDRISlVRalgvbkcyd3hPR1UzbHArOVQycUVmZmR2SzZFMERTVnYwQ05OZWE4ZXRWNlJRV1ZMTUhuc2JIaHFaNHowcHFoMEQyaDlqenZNYkdOekp6TUNCbHhPcmhsWC9YZ1h0dXRMWnJHYm45NVdrWjE1ei9nWlNuMGhYZFJrTFZueEVYdHNvY2k3UDRYUys1eHZmWE15WWRSNXM3ODA0OVJKd01mRWtPYjVqMlVkN3lORTdlT0tsRHduTmxUZVIwZDdEb3FVYnFleG1KaU1yaTdRMnA3WTNDemU5emVWemQvSHRaODhTdW94U0RQMTdSUEhVb3JjcDcyVWhMNjhQeVFZVDQ0WmV5bVBQTGlYMnp2NXNXL1VtdXY1WDAxTVBjcjkrSkQ4OWsrbXZwWkFUV2NXcm54NGhOM2h3amVrTTdsakw5cUlHMGpKQ05mdEZMeThqTS9JM2JGKzFrdVJyQjVCK1VrVlU1dGJyKzNIUDh5OTlldkQ3OG1BejFCMENic0svTXFXdlJsUW8xRHNFa2lTanVEMm8xR3ExSklSQUNDSDV0SC81NFljZlRsQ3IxYTM3MlJRWHg1MHFFcU0wT0Z4dUhDNDNqYktXM3NsZU0rT2JIMG81MUtnbUp6VWUzRzdVa2RGa0prUmpUa3lpbTc2UkRWLy93STlLSkErUDZFY25neHAydmRteWpiYmRJYW43ZVptampkWGxLSFZIMGV2MVozUmViVzB0MGRIUnlQS1poTEpWRE9pWHc0R2RPL2pQL3FQY2Njc3dPcVVra2R1NUxiYUtVbFordklkYUtab2VTVkdVVmxSaDE1ckk3aGdNYkZwNlpYY21xaFVOUHlvdWdaeU84Zjh6ME5hWlV4amMxY2dYUlQ5UXI0bWhkM29pR2QyekVPVUhlUHVqUXFJdTdjdTkxM1NrVTNwblV0cDRQMkRYWDNVNS84bmZ6QTlTSWd2K2ZDdUprU3JRUkhIemIzTDQ5c3N2V2ZmSlYxUTZ0UXpzY3hrZDR2UUJOOFkxQTNMNDhidGlTcW9hNk5HakM5RnFzTmRVc09tVFhlUi9mb0NVN0VITXZqV1hpUE8xNkkyazR6Zjl1MUY4c0pqaThtT2tYWnBCZkdUUW9HZ005T21SU212dmEzeFNDbGQxVHdreXExWDA2SkZPSkpEY3NSUEpNVnAwSmpPWFhaTEc0T3kyckZ1L2xjL0xHbmhnd2syMGl6ZlRyMXY3d0F0L1ZiOWVWSlY4ejdlSGo1S1lrazU3azlZWFhPaElla0pVWU03a1pIY2gyRHNVYmJZd29OY2xOSGNrOUwzeUN1b3JTdmp1eCtPa2RlMUdnbDZpWisvZTZLdS9aK1htTDlFa1o3TGd3WnVJMWtpZ01YTFRvQ3dPZkYxRWpiNDkvUklhT0dycXlnM2RMWUg3U2hCVkxOaFZ6MjE5T2dhQ0J5dmZmSThieG81aWUvNFdHaTBaTEhqZ0JxSTBUYzlPWnpMVE96MDBTYVpqOTU3RVdnKzk4ODcydlljQUo5QUlPSHovT2dHWEgrQlVzcXlvSkFtMVNrWlJCRTYzQjZjaUllbDBPdG50ZGt0Q0NGa0lvUkpDYUV0S3Z1K2VrcEt5N1lLOElSZTRwS3IyMjg5eGwrOGpMdTdNS2c5S1MwdEpTa3BDSGE0OENNdEZLa1hmZkVkcXAwNm9uY2U1OWZkL1pPak1weG5mUGNoajVhcGgxTDFQTWVmWjJXUVlaTURKcUJ2R01YYlJDa2FjR2YwaDcrUnZ2Mi9rSCtiOVNDZ0htMDJDZWlRYUpTU25KT0dSSkVsUnk3TFFxbVVSb2RVUUVhRVIvdUNCa0NRSjRZMHZDRUJKVGUxWXBDaWVQVUJtZURqREVwYXdBR3o5Y0EzalpwZWhTSkVNSFRXSmNkMmJ1ZUUxSmxhOU5DZkVMNWpldFJPeFo3aGdreUxFdnBGL21IZXNtUm5xcG1XNmg1QjhPV3orSUtoS2tsSEpFbXBabGdueXN3WEF6ZTEyRjZqVjZsOGRzTGtqWW5ESHBrRkM0cG1ac0xVU0lqNFZOT0ZsdGNKeWNjckVPUzh3OFF6UG1mZmFXMmZjVHIydC90TVQrTlk4U0pJWDFDUUVrb1FreTk0SXMxcUxTcU5GMWtZZ1IrZ0M2UjVJa3VSVDJyeUlhTFZhdDhUR3hrNzV0UTJPUjJmQ0pVZEJ3cG5weG8yVkxrVDhKUkNtQmc5TFdNNnJmRk82Y3graGFSNXV3Q05KVXBER0ppRkpzcEJrRlpKS2c2elJJbXQxeUZvZHFnaDlrOGJXTEo5Tk1admp0eW1LNXpEUTdyemVSZmJ2V3Y3V3RudDRkTU1TbG90UWhCRGxsMS9ldTdTWkNlcmZmSlJGVWdocnJpekxnVTJsVXFGU3lWNWdrMlZaZUR5ZVlGTlVBQjZQeC9PQlNxV2FjRjd2Sk15N0ZwYXdoTVVuRFEwTlcxdlQxb0syRUI0MldaYUZIOE84d09ZRk43azFqYzJQakhWMXR2d1RkYURHYXVXSFk3WVRzd040UXRPZkZVWEI3UW5kZnZXaVZMTmk4U0lXTFZyRSt1MUZ2N3JicXlrdll2V0s1U3hmZHlFQzZFNEtWcSttMG5FUnZOMk9LdGJuZjNiQzNmdTJiNlN3TkxUV2V2ZVdOUlJWdEY0bFdsbThrNVhMbDdObXkrNW04OVBKWndWcldiNXNHWHRLbTdoNFBpdFlUNVh6ZjNQckJ3OSs5MVV6VUhNRDdsQXpsQllhV3hPZ3FWQ3AxRjVnODI4UTREWVNnQkliRzVzUEhBNTlHRFllZVBwVnJsKzBqajhzZTRlK1Q2M2l2NVgrQXVSRy9yN3NiZkwrOWdMcGMxWlNGampKeFVQL2VvMis4M3piNHk5ejZjd2xmRlFqZnVVelZNWmdNRkM2NHkwV3J0N3hpK3U5dTJRTG82YzgxZnBPNng0RzVWM1A5cUpTS2lwck9QK2ZLVHRQVEh1UXdvdUFPMkhkTTM5aS9iNFRFNld0WC93d3E3ZVhoZnkyOGRXL3MrMkF0U1ZHbG13aWQrQ2Q3Q2t0bzdJNjlPR3RuZmQ3N24zaWJjcktLN0RhbTJvN2JIdldNSDMreHYrSkdkcWpSNC92ZmVEVjNBeHRLcVh5RllZR1k1Y1gwSm8ydFUrRms1clNQaVFoU1NoQ0NBVlFQQjdQQnBWS2RWZlR1NnJobmxFanlHenZMUk5admY0OTV1Ui96WVpiZXdNcUJ1ZmxjdGVnQmdZOS8wVlFselU4K2NEdkEzK1ZGMzNKeU0zSDZXT1NmdVc0Wm1MWXJXUFJWWDlDWWNrSnRKN0tNbXJjT2xLYk02UW9Uc3BLeTVBTlpwTE1vVFdRRGxzMTVaVld6RW5KR0hYbkthOU9VWERVbExGcCsxZTQzVzZRWmRUKzVHUkZ3VnEwazFMTFFPYk5uTzZkV0tkMVRVQUdlMDBWbFRaSVRXNjZaNmU5aHJJS0swbXBLZWlDTCtaMlVGSldpU1hsREpkdVZKeVVsWmFqajdVUWE5U0ZkS0t5ckJTMzNreFNyT0gwQU41aHBjb0dsbGd0WmVVMUpDVmJtdTdYTjA0NmN4Sm1RMmc3MVJYbFdKMXFVbElzSWM5SEFSUzdsYklxRzhrcFNhR0p2YzVTNWkzWnljTGRyN1I0ZUJXbHBlak1MV20vRkxlYjZVcytRYTJXVzFoSnhUdDJZT2g3QzdPbVQwT1cxU0huYk4rK2czRlROak41Y0doKzVzRHhrNWlhL1FDbFU0YVFjZ0ZqWlhhN2Zjc0pmR3VlSVArYUFnRWZXOEFNOVd0c2FyVUt0VnFOMm1lUEVteVMrc0tqQ3VDcHFhblpFQmNYMXdSc1JKRFp2cWtVS2lVMkJzY1JmNkd6bXN2UzJrRnR5VWx2NEsyZGV4bVdmVFVYZFh4UnNURjMvQTI4V3VnbVJWOURsYkV2RzljOGowVUg5cklkREI1MEc3cjBuc2pXTW1MNzM4K0t4OFlCc09YVnYzRFgzUFZrWmFaUWV1QUFNNVovenFnc3d6bnYzaE9UaDdOKzV3L1lEbFF4YU1oMXFPVkVGcTVkUm1jZFBEWnhDSnQySDZibVlBMURobHlIbkhvVkc1Zk1QQ1c0amUvZEJuMy9DV3pOMzRKZWRqQmd5Z3M4TVNHUHRmTWZaT3FDcldSME5sTlUyc2lyYTliVE44MklyWFE3Z3diOURsMTZGZzZIaTVvZ2pxRXhtWkdNV3RYQXFLNVFzMk1KWGFkK1NzV09Gd0U0c0cwcG84Yy9TbXpuTEp4VkpReWE5aUt6eC9UR1hyNkwwU051bzhxWUJsVUhTQjN4S010bmp6MXB2OGZudHFYRW5FdnBycy9vbXRzSGEvRlg5Sno0QWdzbURhUnkzeVpHanJrZmJYSUdOUWYzTVhENjh6dzVjUkJRd2Npc2ZsUW1kQ2FXR2c1VW0xaTUvbTJ5TERvMlBuTTNqNnc5UWl5TjJLdUtjR2JjeWZZVnN3THZRa25CS2lvNi80YVFJWFZXTVduRU5XeXJTY0NFQTdldG1zRkRmSXB6NFRwR1RudVdvbDNibUw3OFc2WU9TZmFkVk1XVWtiOWo1OEVERkZmS0RCbXlHVXZ1TFN4NzdDNUt0eTVqd3B6WEtOcFZqcUg4TnRZOXBXUGNySmNZMTk5YkZvbXhKNE03bDdPcW9JUnBRMUl2MkN1eGI5LytMMDlpaGdacGJLRkJneVlUMUd1R3F0VnFTRTV1aDlsc2xxS2pvNldJaUFoWnJWYXJaRm5XU0pJVUtVbVNVWktrQkNHVWZVSW9vc1htckJQM1BmT1NXTGozYU9qdk5jV2k1NnczeGFGV3puSFZIUko1czVlSy9RMnRYTzhDYkVlT1ZJaERodzZkOFhsZmYvMjFhR3gwbkZXYkh6NTNqN2orankrSC9QYkRCMCtLeEY2M2lGcVBJb1J3aUQ5ZmY2bDQ4SVd0UWdoRi9PZTVlOFhWOXkwTUhCdmM3dTJYeFloWFByZjYvbmFLeGtiM1Nkdis4YVBGb20xaW9raHN0ajM2eG1lbjdIZkQxOHRGVEs4N1d0MTMvUE9YUmVLVjk1elJjN2lqVjVTNDVyNW5oTXQvL1FhN3FQMXFsVWpzZUpYNHZ0WjdIMSs4TVVQMHVuMnVFRUlSejk3ZFIvenU4VFhlOXI1YUlXS2tSUEhoajk1emIra1dJZDdhNyt2TGZ4ZUx4Q3Z1OUxiaktoTlh0NDhYcjN4UzVtdlhMWTRkcnhGQ0tPTFJtN3VMKzU3Tjl4MVhKVzdzMWs2OCs2Mzk1SDIrSWxHOHRkOHBYdnZ6OWVMMmY2d1J4ejVaSXJyOWRvNFF3aVorZjNrNzhmZjM5d2doRk9HcDNTTjZ0YjlVZkZIckhjL2EycWJydnZibjY4VHR2dnZZOFBTZG9sMi9lMFc5VUlSb09DaDZ0V2tuUGo3YTFONWJmN3RGM1BqdzBwQStmUEhHSTZManRkTkVvMUNFYUNnVlY3WFRpRWZmTEF3NTVzL1hkeEJQYnlodE9XL2ZuQ1Y2M1BGRXEvZjJ4K3M3aU9jK0xHOTEzK3NQM3lodStkdktDL1plS29xbkNCZ05EQWNHQWJsQU55QlZrcVFFSHhaRnlyS3NVYXZWcW9pSUNEazZPbG95bTgxU2NuSTcwdFBUeWNyS29rK2ZQbHg3N2JXb1pWbmxqeWhJc2l3TFJWRWtYeERCYjQ1Nm5FN25lMXF0TnBSMFRYSHhyN2MzNEU2L2duc3lUcjg4YWR2Ty9jUmYycFd1T2k1cTJiWHJTM3IydlFhakRLQmx3T0E4SHR1NUd5YjJKYk4zZnc3TS9UUGo1Ukw2NXZWbDVNaWgrSW1rQmd6c3k1eTdidVRBeU92b08yZ29RL05PenNsbTZYOFg1UlYzL1d4OGptUEdqZzJZWGpxZGpoM2JDbEQwc0dqdVg3elRxcXFJUGJ0MEtNQ3VuWHNZT01GTEdtREtHa0JQODZrTlh2ZUJiWHdtOTJadFhsS2d6VmlURWFoa3k5WUR4Sm8vWU1hTUQ3MDZqZHRCNGU0U2hxZDNQY2tWOVJnTWFqQWFNQmxpTVJqdE9PdzJzTzVqeTI0N2NzSHJ6TmpxTlJXZDdsTDJITFNSbmExang2b25XYmppUXlxdERtb3Fpa2tkZFhQZ2lqMXplNk1IMENXUm1sQkRWUTNnczhxcnE2c3dKWWV5Z1JUdS9wSzhBWGQ2dFRwZE1nUHowcys3VDlNWWE2S3E3TUk1Tkd0cWFyYlFzdElneEJTVkpFa0pyQnNhRWcwTjhxMnAxV2cwR3E4cDJzd2NGVkpUdHE0Q2VNckx5OWVucHFZK0ZCVHlaTVY3Ry9oWTdzZ3IxMlZ3MnJYSFNpTXJzU09ncEFBQUlBQkpSRUZVZHhZemNzUkZsdUp4aHNYWkNiM0hzRzkzTGdYNUJheGUramVlWExHZGZXdm5JZ01Ubm55WC9ydTJVYkJsQ3pORzlXUDN3bzk0Wk1TSkMwUXFkNnhnOEwxL2IvSDd1Tm12TVcxRTFvVVBwaGhia2c5WTBub3hZb1IvN1lZYkdUVTU5cFNQek92Vjh6cnRGRVZwZXRGUGVxS2VBVU52b25lQzk2OFJJMjRrSlQzbDlBWlA5akZFZU9FVFVGQzBaZ2FQdkpFVTJYKzltMG5ycktkOHkwSW1MUGlDL0kzdjBUWEJ3UG9uNzJSK1JSTVVxZVVUKzBXTkpoTldxN1dWUHNnWGRLUnNWaXNtaytHQ3RiZDE2OGRmTlFNMTEwbk1VQkdhdHhia1cvTUJtK3hQYUdzQ3R3QlZlQ0E2bXBiV2FaK2lLSnQ4c1F2ZS8vQkQvbDFuNXNXYmV4RjVCcy83NkEvZjhJbW5MY1BUREJjVnJsbGkyMUpjWEJMeWxjM092b3pkMi82RFZRRndzbVhqZG5KeWVnWW1sU0VobFJHM1RtRHhNdzlUc1c4L0RwOEQyV3ExazU3ZG40blRadkhRK0w3czJYZmdwRzJiczRlemZ0MTdyR3UyM1RXNDZ5bjdyZFhwVUtxcmZIMDhmVm4yeEJUbUxzMC9yV096K3c2azZzQlhKR1gySmpjM2w5emNYTko4UVlYczNKNFViUEdta3RRVWJtRlhWVk5IWXMxR1NrdThrY0VkMjNZRW5xMDZ2Uys5bGM5WUdZZ2FLdFRVV0lFRUJ2UlA1bUNGTTlCT2RrYm5Wb0gyOUZTYVRBWm0yQ20xeGdhdWw1bWVodEVnVTFGYVNrTFhYblJOTUlCaVkrMjZndE8rYkU1MkwvYnRDYVdLejg2K2pPMWJ0bmxYZzNPVWtiLzk0UG4zZCszWlEwNTJ6Z1Y1UDl4dTkrWVJJMFljQ3dJMkZ5MFRjNE55MTZTUVpOeGczNXBHbzBhcjFhSldxOVYrVVBORlIyVWhTUXJOelZHN3ZXR3R3UkExbUlZalBGN3dIVlpkQkFQbjd2ZStBUEZwZkhMdjFRRE1YdndxNzFjNHFYTzZ1WEhPUzJUMnVKelhidlJxQm05L3ZwOSt2WHBoa2k4cVhDTnorQVR5WHI2SnRLNXZrVFgwUHRZK05abVVRUk9ac3Z4OWNuS3VJa1ZucGNyWW40M2p2R2JYWnl0bU0vR1pqOG5zbWtKeDRXNG1QZktTMTNUQnpVUERlN0JMU1NmSjZLU3d4TTN5OVlOUHJtOW85U1FsbjkzTEs2Y1BaR3J2WjhuSnVneWpJWlZsQmUvUTlUUXV0V1BUVyt4Tzc4d2o0MDdOTUcvTUdzSGlTUjh4c0dkM3VtYW1VMVZ5a0s2ai9zYXJNMGR4MXlOL1orWGczekZnNjRzNDNZTGtJRk4wM01TN0dUcStINXV5T21NeFJ5RGpXL3RCbmNTaTVmOWd6TGlyV05ZMUU2V3FqRUZUbjJmbW1ONDhOUDhWeG82OG5aemx5VmkwRGc2V0NaWnQzVXJPV1ZIZzZabjM2a3VNSG5NRGE1L3FpczVaU2FtdEhmazdWNUUxZER6bUo2NG5iL0NuNk94VldCTFNUdnVxNllOR1lwaDJHd2NkaitGZit5ZHIxQlNHTGIyR25MeHJpWlZkS09ZbW1wK1haOS9CeS9uRkZPK3JRRmR5RTZzZTB6Tmo0WHNNeXpLZS9ZUzFIMkRqTGlQTGw2VmZrUGZqMEtHeVQxb3hRVjBuTUVPRkpNbEIwZEFtVGMydnJXbTFXcVJ1M2JyUjBOQkFRME1EalkwT3FiSFJpY3Zsa2hSRmtSVkZrWVVRYWtEN2YvLzNtUEhoaHgvZUJyVC9KWU5NWldVbFRxZUw1T1F6cXhUYnMyY3ZuVHRmZ3ZZYzE0cldWSlZqZFd0SnNZUytYVTY3bGZMS2Frd0pTWmowMmhiblZOdGxVcEl0cUg4bEh3bTN3MFo1UlJXeGxpUU1PbTN3RHNyS3FraElTVWJiN0Y1dFZlWFlNR0l4dDJJQktFN0tTOHZSbVMzRUdrSWR1dFVWcFRqUVk3R1l6NEdCcDFCUlZncTZXQ3pCYVRtS2s5S1Njb3lXWkV6Nk0wdkpXVDdySm5hblBjd1Q0M3VIdEZOWlhvYk9sSFJhdE80L1JiWXZtY2FUcFRtc25uUCtYVVpDaUxLYmJocjU1M2ZmZmRkT0UwV1JEYkJKa21USHk4UG1sQ1RKTGN1eUlzdXlvdEZvUkVTRWxvZ0luWWlNakNReU1wS29xQ2dNQmdOR281SFkyRFpJUFhyMHdHNjMwOURRZ01QaGtCb2JHM0c1WEZJempqWU5vR3RzZER5aTBXaW1ob0V0TEdFNWY2SllpMW02cVlUeG93YitUOW92V1BVcTZVUEdrV0k0LzE5TnE5WDZVa3lNNlFPZ2dWRHV0WHBKa2hvQWh5UkpMa21Tdk54cmFyWHdBbHNFT3AwWDJQUjZQVkZSVVVSSFJ4TVRFME5jWEp6WEZQV2JveXFWU3FoVUtzbmo4UWhabHZCNFJIQ0psZnZRb1VOcjB0TFNwb2FuWGxoK1BWTEQ4b1hMcUc3Rmoyako3TXVvQVJkK3pWYlptTWI0VVduL3N5Y3ljTlQ0QzliVzVzMWJkalh6clozUXZ5YkxrdkNibno2c0NqSkIxV2kxR2lJaUlvaU0xUG1CVFVXUXI4MFhIWlh4eGtZRDBWRWxQZjJTL1c2M2E3VXN5eVBETDBSWWZoMWk0dFpKazhPUDRYOGdqWTJONjBhTUdGRkZxRi9OQmJna1NRcXdlUkNvRFExbDhRakdMcjl2VGFlTElESlNqNnpSYUFJSEJLZCtCQmZHK3dJSkhyeVZDRytIaHlRc1lRbkxUNVdpb3FKUFd0SFdnb01HbnRZb2lwcW5lR2cwR2pRYUxWcHRCRHFkRHIwK0FHeWFRTGpVcitLcFZMSm96dllCZU16bStBSWh4Q2ZoWVFsTFdNSnl0dUx4ZUhiMDdIblo5eWZSMWxxd2VhaFVUV2FvRjZ2VXFOV2FGdHFhd1JDRldxdlZvTkY0YlZTWHk0dUFicmNiYjBXQ2dxSW9BWEFUUW5nQWQzMTkvYi9kaW5KbHJVdW1YUnRENjVFNWp3QlZzeUozajR2eTR6WWlvZ3pFUllZcHRuL09zcnRnTlRzT1ZJSXVpWEhqaDZNUFA1S3duRU01ZEtqc1B5ZlIxdnlNdVVwb3Nic3F4QVQxNDViZnQ2YlRlUU1KMGRIUnFMVmFMUnFORnJYYTJVb1F3ZDFpb1JmQWs5SWw4KzFMSDV3N01USENrMW51aXVUcGNkZlRKeUVTTDIzUk90Nzlyb3BLeGNTV3Y5MkN2eVQzeUtGdkdiOXNHM0dXZUk1WEhxVnpyenorT2FnTGNuaU1XNVh5SFRCbkN5eWE4YjlwWDZ2VFk1QXJtZnJRRzR3SUExdFl6cUVvaXJLdlg3KytlMXJYMXBxVzFzTy9ZSXNrQ1ZtV1dna2ErRTFRdjdZV2ljRVFoZEVZZ3h3UkVZRlhhL09hcEUzZ0p2dTBOam1Rck9zSHR1UGxoOXo1RDl6MDV1b0hiK2VoakFqbTVIL3Q2N0tYdHVpOWU2NmgrUnJqYjJ6OWxPNTVWN1BzOThONGQ5SzFmTHA1TzE4MVhDUUQ2ZnZYV2dWbEZhSDc3RFZRWEVySVN1ZUtBclp5MkxvTDNHN09hUFZ2QmU5VUtTa0d1ek8wQTdicWx1MmZTREx5aGpCMjlGQk9GUEYzTzZ3VUY1ZGdkN2JzWEUxbEdTV2w1YlRZcFRncEt5bW12TW9hZnJzdllxbXNyTnhZVm5ZNEdOU2NCTllMRFNtaFVrSzF0ZUNnZ2Q4RWJkTFdvcUs4MmxxYk5pYmtpQWdkV20yRXp3SFhsTUdyVXFtRnZ5SWhLSWpnYXd6Mzh1WExWd0xmcGNURzRHZ01wUzJLaTJ5WlFHalFhbEg1bDdPWEFMVVdnK3JpR01qK0ZwajJFT1FOZ3VHRFlJR3ZPRzN4RE9qWkg2Wk1nS3plVUZUdC9mMmhNVEJ1TnBSc2dTRkRZUEFZOE8waTF3eTdmUnlFZTFaQXo3Rk43ZVF2Z0FGallIQXVqQmtMMlNPOHY4OFlDVU5Hd3NneE1DZ2JKaS84aVdicTJtZm8zTGtYVTZiY1E5Zk9QVmk1bzlTM3g4bVRFNitoNzlBN21EcjU5L1RNSG81L2o3MXNCMzB6TG1YODVEOHhmdVMxakptNU5QeUdYNFFpaENpZU5ldlJMMDloaHJZb2VQZVZUWW5nOUE0dnNFVVFFYUh6SmVrYWlJbUpJVFkyRm5Wa3BJNkdCcTg2NTNScWZMNDJkZk1JYWJCSjZnRThkOTg5MFhyYjZCR3Z2L3pwZDdOSFh6djhsRGQweDNYWDhNRHJteGhmdkpmcVl6WGNPZnBhTHJsWWNsM2RFdFd4Z2owK1ptYUhBNHJYdzJOYm9YQVhtTlN3ZGk0ODlCU3NmUXllWEFrSDE4Q0lGWkMvNHN5YTJya05kdTZHRExPM25jQ0hKUk5XellHYUhaQTZFWjZaQkdlVnY2NVVNbTNTLytPeHRkOXdhN2FaZmF0bU0yRGFZNHpZdmhodHpXNFdyTEt5cGVwelVtVlFuTTZBdHJwanpWSzBBLzlFL3NKN3ZSRG9kSWJmOG90UWpoNDkrdDZMTDc3WTJKcTJKa21TM3d6MTBFVC9MVUlqb2NHZ3BpVWlRa3RrcEM2Z3JabE1Kc3ptZU9USVNEMDZuWTRtWDV1R1prbTd3ZWtmSWFrZmsyYiszNy9kNlZjVW53NXQwWmJQdnFCU1orR2VxN0s1NS9KMnZKRy9rd0EvNWE5ZFpNR3RRWnFWVGdmYnRvQWVtRGNUWnN5QWpidGhUK0ZQYjZyblVDK28rZHZ4UzU2dk9zZVVBcnBxYjNyMzJUbi9DaW0wWnpBZzI5dEl4c0JCcUFzL3AxUUJqT24wVDY5a3pMRGJtZnZNSW5hWDFRVEFNN04zZnc2c2VaenhrMmV3WlBrNmJJbzYvSlpmZk5yYTkwODg4Y1FYelVBdFdHTnJrZUxSSE5SYSt0WjB2a2lvSVZCMVlMRWtJa2RGNmRIcEl2SDYyclQ0bzZTaHFSOHFFUVJxQ3Q0SXFmdVYrYzhjLy91QWprdFBIUUJvWk9XbjMzTGJ0VmZTSjlYQzlmMzYwczFWd3FhUytvc0UyTUJvYU9rTFMra0pJMFo0dDNIVFlOVVRaK2F6VTl3dDl4bFBVUHNjWU1vNW45RWFPWmFsMi9jeWYvb3R5Qlc3R056N2NyYVdlVFV6THhYVFI0ekk2OHpXcFg4amIvUk1sUEM3ZnJGcGEydi8rYytuSE0xTVVMKzIxdW9TZThFWUZGeGg0TlhXV3ZyV3pHWXphclVhMldBd29OZEhobWh0VFVtNzZ0YTQybnpnSm5ra1NYS3ZXYm5pVFNIRS9wUGZrZ3BEaElvZnFtcTlMNlNqbGtQMUVnYmR4ZnZWN2o4QURoUkMxeHpJemZWdUtVRjE4SG9qV0N0RGd3b0FDVVlvOVRIeWJQdnNQSGZTWU1ic0xxZWtPcWdYU1psazZmZXhaVmNWQVBzSzhuRm5YZTdsSkhQYXNMcjE5QjQ0akJuekZqSWkzVUZSaVZjM1BERVZVMWd1RW0zdG05bXpaKzlzQmRTY1FmNjFWbEk4WkVKTHAwSzFOYjArc3BtMjVtVStVVWRIRzZtcnE2TyszbzdEMFVCall5Tk9weGFOeG9YTDVVS3RWZ3UzMnkxNVBCNmhlTU56UWdnVUVJb1FlQ1pNdUxQMmhUckxhenVtWERjUFRreGJOUG42SzdsNzFYdDhzVE9lbXFvcWtyTDZNRFJvN1lTTFRkS0d3c3l0a0pNRm1lbmVLT2JRaDJEdU9COSs1SHI1a2JPeXdKQUVHemRDTERCaEl0dzFDQloyQmJNQk9KL1VkdXBVWnM4YXlxMDl1NkEzcGJGaSs0ZGtHaXc4dGVDdmpCclpoK1daYWV6WlY4NkM1ZTk3MlYxckN1bWZlenZtakN6a21oSnFFc1l3TDlmTC9YdGlLcWF3WEF6eTQ0OC9ybjMrK1VXbjhxMkZKT1FHMFJLSmxxQVdFV0QxaUk0MjBxWk5HK0xqNDlINS9DL1NhNis5U21scEtSVVZSemgycklxYW1scnE2cXpZYlBXbnkvcWh2ZTY2SWZwMTY5YXRraVNwOTBudnp1T2l2TGFlaU1pby8xbUM3cytOM2NOaGc0cHFzRmhBZDVxWHJxNEVSUWRtNC85dW9yb2ROc29xcWtoSVRrRWZuS0d0T0ttb0tNZXROcEdjRUVweGZUSXFwckQ4ZWtWUmxKMlptZDJmMnI5L3Z3TXZpMGU5YjdNQmRoK0xoL04wV0R3TUJpK1FtVXd4eE1XWnNWZ1NTVWxKNFpKTExxRkhqeDdvOWQ3UHBicE5temJVMU5SUVYyZkRicStub2NGQlkyTUVXcTBUbDhzYklWV3JWY0x0OXJOK3lIZzhua0N5THVEWnNHR2owMnExdmhvVEUzTnlZRk5wU0lvMWhVYzZTSFFHU0QxRHJTczI0WC9mYjdYT1FHcHJIWmUxV0pKU1d6MUhxemVTbW1vTUQvcEZKc1hGeGUvdjM3L2Z6YWtqb1FwTnE3djd0TFhtdnJVSUg0T0hWMXN6R3IzYVdrSkNRZ0RVQUdTejJZekpaQ0k2Mm9CZUgwVmtwSTZJaUFpZnI2MTFmMXRRMUNLdytJTEoxT1k5UlZIV2g0Y3hMR0VKaTE5Y0x0ZUhsMXpTZVg4elFEdWxiNjAxdjVwR293M1FFdW4xVVVSSEczenBIZWFBYnkwQWJBa0ppY1RHeG1JMHhtQXdST0ZOLzRpZ3FTSkI3VXNCVVlrZ0N2R1FFaXU4aXk2NEtpc3JYdzBQWlZqQ0VoYS9mUG5sbDVzSVRjWU5BSnRQVzNPZlhGdlROS3NIYlNwME54cTl5YmdKQ1lsRVJVV0ZBbHRTVWx2TVpqTnQycGlJam80bU5QMGpJa2hyMHpTUGtyYlEydHEyVGRydWNybVdoSWN6TEdFSlMzMTkvZklycnNnOTFBelVHaytrcmZtWDFHdGVOdVduSkRwUmVrZFNVdHVXSHBISXlFZ3NGZ3R4Y1hIRXhNVGdUZi93SnUxR1JHaDlLU0FCY3pTNHpFbzBxeUYxUzVMazJydDM3MUxnOEs5dGtESXp1NFZwd2NNU2x0TVVJY1RoTld2V2JHMU5VMnVtcllYa3JiVVdDZlZYR1BpNTFwcW5kMFJHUnJZRU5vQ2twQ1RpNCtOcDA2WU5ScU9ScUtnbzlQcElJaUw4NEtZNWJWL2JaWmRsZjJlMzIxOElEMjFZd25MeFNtVmw1Y3F4WTI4LzNreFRPNkcyZGlMZm10Y0UxUklSNGMxWkN3NFl4TWZIazVTVTFHcjczblhJdFZvc0ZxOUo2ZzBrUktQWDZ3T0JCSzAySWxoekU0b1FPTjBlNGZZb1FoRk5yQjkrZE83YUkzdnBzL21GbTBNNEhOd08zdnBvQjlOWGJPTHgvTjBjYVJUaDBROUxXSDZGNG5hN1A4N0p5Zm44TkxTMWtLWDEvTlVGdmxRUFh5VlVSRkRBSUxnZTFJekYwdmFFVmxRZ0FhbDkrMlQ4Z1lTWUdDTUdnd0YvSFdtdzFxYlJ5RGpkb05ab1VLbFVJQVRDMXprL3VCMDZlTUM1WU1OL2x3UUQyN0wzMS9ONmlaTXhmYktJc3g1aXdxclB3aVUxWVFuTHIxQUtDd3ZmTHlzNzNMeTZvQkZvREFZMUg2QXB3VFdoVFZIUUptMHR0QjdVR0FnWXRHK2ZmTUkraEZRT0ppVzFKVDQrSHBPcERkSFJYcE0wTXRKcmtqWnBiVHJNYmFLRklUS0NDSzFHcUZTeThHSmJ3RmIyU0JLdWcwL2Q5N0hMNmZ5WDk4cU41Tzg5d2wzWDVwSFR3Y0xFRy9yZytxYUlyeHZDa3lBc1lmazFpZFZxZmJWWHI1d1NIM2dGZzFwd3dYdHp2aldmdHFacVJWdlRoVlFZbUV4K0U3VHRTZnNSQW15SmlZbFlMQmJNNWpoTXBoaWZTZW9GTjUydXlSejFSVW1GV3ExR0JOR0xOR2x0a2h0d2Jpc29lRVVJOFNWNGNDc0NsY3JYbkt4Q0pXd1VWN3ZDTXlFc1lmbVZpS0lvWHozLy9LTG1BWU9BYjAyU0pDZXQrOVo4SnFoR05HbHJUV1ZUM3B5MWFFeW1HTXhtYjhBZ01USHg5SUVOb0YyN2RpUWtKUGh5MjR3WURGR0JJbmsvQTRnL2tBQUtpcEJRYTlRQklrcEpDakJndXNkZE43VGkrUEhqTDRDZVBwMWlXYlc5a0tNMk94OTgvQ1UvQ0ltR1JuZDROb1FsTEw4UytmYmJiMWZQbURIRDFncW8rVFUyUDZnRnAzaTBXSEdxaWJuRFgrUWU1VnZoUFphRWhBVGF0VHQxT1dRTFlJdUppU0VwS1Ftek9kNlgyOVpra2dhRG15eEJuY01qZEhvOUdwV3ExYVJkSk1rVkYyZmU0SEs1WHJ6N3hpRjA1d2lUWHQvQXAwb2lBMkpWNkhWaFRxNndoT1hYSURhYjdZMnVYUy85SnNnRWJXeW1yYldhak5zVU1OQ0k1cUFXV3VUdUpaQk1Ta29pSmlibWxQMXBGVm5hdDI5UGRYVTFWcXVWK3ZwNlh5RjhJMDZuRTZmVGlhT2huaU8yUm93bUUycVBrOFpHQlVWUkVFSUlSVkVVRUI0aGtDU1FrU1RWSjU5ODh2SlZWMTNWYTlwTnY4a0djTmVWYy9XMmFQNFVIMTZwS2l4aCtSV1lvTHRmZmZXMXphMzQxWUpCellVMzE5VWpTWkxTUEJtM3lhOFdXalpsTUVTSEZMeTNiOS8rdFByVUtyQnBOQnFTazVPcHJhM0ZacXZEYnJmamNEaThsRWFPQnI0K1ZvY3FNZ3BKdUdod0s4SXRKRW10VWdraEZEd2U4TklhU1lvQU53TFgxVmNQTE52ejVhNUZYM3FpRmlkcEZkNzUrSE95Y252VE1ZeHJZUW5MTDE2KytlYWIxUTg4OElEMUpDWm9pMlJjMzZwVExkSTd2SDYxbGxIUXhNUUVrcE9UMFdoT0R6Uk95S2Rxc1ZpYUplNUcrMnBKSTRtUGk4T2tqd0NWQ2ttbFFwSzlxQ3ZMS2lGSkNDUkpTSkt2WWwvQ0pVbVNNL095N0UybEpTWFByaTg2VE0vZWZYbDZjT2Z3akFoTFdIN2hVbHRidXlRam85dUJrMmhyZm1Eeis5WjhBWU1BcUlVdzRucWpvUDVhME9pUVJOem1oZTVuckxINUpTVWxKWWpTeU82ak5Hb2tQVm54Y2JiWnFLKzMwOURRSUJvYkd5V1B4NE5hcmNiajhRaWZCQlpabGlUSm1WaFQrdEtNMy8rK215ekxnOEpUSWl4aCtXV0wyKzNlOHVpanN6OXVCbW9PbW5MV1RoUUZEVFpCaFplMUk1ZzhVdTh6UVUwK0U5UkNTa3JLR2ZYdHBBejRVVkZSSkNjbms1aVk0RXZjamNGZ0NDNlVid29tK0d1N1ZMNUFnbitwUG9JcUV1NjY2KzdqaHc0ZGVnRW9EMCtMc0lUbEZ5MC9mdnJwcCs4OSsreXpEYTJZb0k1bUptaWd3aUEwWUtBV3dacWF2OERkWUlnT0xLUG5OMEdiczNmOEpJME52SUdFMnRyYWdOWVc4TFU1dmRUaGJyY2J0OXVOeCtOQlVacUNDRUlJZk9BbUNTSGNnQ1JKa3B5YTJ2RnpxN1YyUVhSMDlOenczQWhMV0g2WmN2anc0V1Y5Ky9Zcjg0RlhNS0ExTjBIZFFSVUdvbWxSbHRCZ2diL0FQU3JLNEV2dGFFTjh2RGUxNDNRREJtY0ViQUFkT25Ud1JVaHRORFEwME5qb3dPbDA0bkk1ZzRETmpjZmpFUjZQUndvR09KL1dKdmxNVXBja1NTcWpNZWJmalkyT05LMVdlMWQ0aW9RbExMOHNzZGxzYnlRbnQ5OUZhR3BIY3hQVVJXalpWQXNUdElsakxiakFQWlNPcUVPSERtZlZ4OU5hakMwNk9wcjI3ZHNIMFJzRk0rNzZxeEw4eEpTYVU1bWtUcUR4d3cvemx5aUtVaENlSm1FSnl5OUgzRzczUjRzV0xTcWc5UWhvUUdNN21RbnFCeld0TnFKWmRZR0JtQmhUZ0k2b2ZmdjJSRWRIbjFVL1R6dER0bjM3OWxpdDNrVmVRclUydjBucXdlUHg0UEVvSnpKSkVVSklQdFhVT1d6WXNQTHZ2eTkrdmtPSDFBNlNSS2Z3bEFsTFdIN2VJb1FvM3JGang5by8vZW1odWxaTVVBY3RBd2FlRTV1Z1hrMU5wNHYwc1hiNE9kYThCZTdKeWNsblpZS2VrY2JtbDQ0ZE85S3VuVGNGSkZLdkIwMGsrcWlvSUdMS0NMUWFEWklzQzFubFgwaytoRzAzRUVpUUpNblpzV1BhenBxYTQ4L1Jjdm5NaTBhc3BYdFl2MjNQdWJuTzluMFhwTS9iMXErZ3pQcHpmNjZ3ZnR1RmFzMU93Zm90T0g4aGM2VzVmTFpwTlFlclQva0t1b3UvL3UveWZ2MzZselhUMWxvelFmMkp1TDdxQXE4SnF0SDR0YlZRdjVxL1pLcE5tMWppNCtOcDF5NkpqaDA3L3FSN09pTmcwK3YxZEdodjVxMVBDbm45NnpJK0tTbG4wM2VWTktpOU5ySWtQSlJVMTNITTdzUnFkd2k3UzBGV3FZVXNTMEtTVUJUaFhZdFVDT0VXQXBja1NZMnhzWEh2TlRRMFBQVkxBYUluSm85a1c5bTVJMXlxTE16bm1aVmJmdkoxeWo5YnhTTUwxMTZRZTFydzBPL1o4VE9QYTFjV3dqTXJXM2xPTytEZWVlZTJyZDByNS9Ga3dVRzB2NUM1MGx4ZW5uTS8yNHB0SnozbTJMSHFGOU43OU4wVHBLazVnamRKa2hxRFFhM0pCSldFU3FVV1hsRFRpaFBWZ1hyejFjeTBiWnRFaHc0ZFFsYWNPdS9BQnRDMlhYc20vbTRNODM4L2dnZHVHRVMvOWtiMjF6aUppb3JDRUIzRHBSM2FrWjZVUUx1RU5raEN3WVdNTEt1RUlvUUFTY2l5djFCZStCa0FHbk56YzVlNFhLN1hmZ0grQlFxM2ZVaFpqVGRvRWlyZUNhdzRiQlFYbCtJTW1zLzJtaXFLaTB1d3UwTW51YUlvcEE2WnpNYjVrMXU5bHNOV1JVbFoxWm4xMFc2bHBMU2lCZGVkdzFaRFNYRXhOb2Y3RE83SnUzNW9jVWtwZG1mTEY3U21zb3lLNnBZdmhLMnF2TlYrSzA0N0pjWEZWRm50NTNXY0ZBVlNoOERHK1MxL3Q1WEQxbDNnZG52L0R0bnZnSklTc0xlaWVpbDQ3WXFTNHViNzdUejV4QnRNbWpUMmx6VlhGQ2RsSlNYWVdoblg1dU5rdDl2LzNhTkhqK0I4dFJZbUtDMVRPM3hyR0toRU1NZGE4MkNCbnppeUtWK3RQVzNidHYzSmMrQXNxdEFqdUs1dlQ3NzZTc1p1YnlERmtzQ250ZFVZREJHNFhHNGtXY2FHZ3NmalFhMVJDNkZTUzJvWkhJMU9aRmtTRWlLUUFpSzhLU0JTWWVIWGNrRkJ3WXVEQmcxS1VLbFUxLzBjUWExdzNUTk1lK1pkQ2cvYTJYM1hkU3d4cUJrMjlaOU1IWllGd0t2VGIyUjFUVWNxUDlzTWVoM3F6SnZadG1RR1Q5dzdpR1c3UGFRbDZOaXpyNXpacjc3TjJMN3BnSU5aNDRhVFgvZ050cXo3MkxOc1JxQ3RSVk4vdzRvRGNhamR4Nms2V0VqSzZNZFpPMi84S2Z0WVhiaUdBWU0rUUVjMUZmbzhDdFkvVDRJV1ZzNFp5NnpWMzlNNTFjekJ3aUxHUC9FR0Q0M0tPZVU5clZ2d0lGT2Uya1JHVm1mS0R4UXpkKzBYREVuMzZpWExabzluc2ZVSSszYnVZdXJMLzJINnNFeHdWek5yL00yc0xGSkkwZHVwTnZSbTNlcC9ZZEZCeGU0MURCNzFKMUl5czdCVkhpUjcvTk04TlhIZ2VSbXJXZU1ndnhCc1diQm5XZFB2RDQyQmJVVlFVZ0ZEaGdDeHNISWx4QUk3VnNMNEdaQ2VDUWVLWU81eUdKWGpQUzkvQWN6WkJycURZTlZDalFtS2ZBdE5Pb3JXVTJEUFlVbWE3aGN6VjVTYWc0d2MvQnNxREYyUjdRMDRLcDNrK3ZZMUg2ZWV0LzhqUDgzMXpZZUhEeDl1TFZldE5STlVDYTRGOWE4SnF0Rm9SZE1xVTVHQk90Q1lHQk94c1hFa0ppYVNuTnllVHAzT2tidGRDT1dzdHVQSHEvbDQ4d2YwdjJVODE5My9aKzY3N3o1R2ovNHQxMTU3TFZkY2NRV2RMMGxETnNRUmIybExiR3diU1ZLcEpKVldLMHV5ckpKa1dRTlNCSklVSlVtU1NaS2tSS0REdm4xN2h5dUs1MU52d2NMNTJZNGNxUkNIRGgwNjYvTnY2eEVsM3RydmJQSDdLMys4WHNUM0dpVitySGNMSVJUUjBHZ1hRaWlpdHJZbWNNejNHNTRRSGE2ZEduTGUvcmRtaVc2M3pRMzU3ZmtIcnhHWDN6WlhlSVFpWEljTFJMdTRLOFFQbnBQM2EvOWJzNFNtWFQ5eHFFRVJRampFSDMvVFVmenA5YzlhOUtGdS95b1IzK1ZtVVgrS2U2cjlhcFdJYTNlRjJIL000ZjJ0c1VZY3IvUGUyeTNkVk9LUEwyNFhRaWhpNzc5bmlrNDN6QkJDS0dMemM1TkVqNXNmRVkxQ0VVSzR4ZE4zWHluKzhPSTIzL081VHR6eGo3V0I2emMyT2s3K3JCdjNpVDV0RTBWaVl1aDI5ZjN6VDJ1YzlyK2xpRzYzdGZ6OTIzY1UwZTJXME44OFJ4WFJLVkVSbnh6Mi92M2p4NHBvMzA4Ukx0LytENTlUUkdRN1Jldzk2djI3b2FIcDNDOWVteUc2Lys2eFg5UmNlZmZ4c2FMZmZkN24ySGhraCtnVXFSS3ZmRjdkWXB6Y2J0Zk85OTViK3dEd1cyQTRNQmpvQzJRRFhZRU9raVFsK3Q3aEtGbVdJMVFxbFVhdFZxc2lJaUprZzhFZ3hjYkdTbTNidGlVdHJTT1ptZDI0NG9vcnVQYmFheGs5K3JmY2Q5OTkvTzF2ZitPVlYxN200NCszY3Z4NDlWbmpVZlB0ckhtRFRNWW90dXd0SnJKYkg0YkZleWd2Sy9ORlNOMDBOdFJ6eU9yQ2toaUh4dDJJUTNpRUpNbVNKS3VFMS95V0ZDRjVrTHhxcXdUSWtpUkpHUm5kdmk0ck83UXdLU2twVnBLazlGOWFJR0R3eUZ1eDZMM1d2VTdyL1lKWEZHNWk4ak92Y0tDc0dzVlJSYVdjZDFyWDZwMlhpd3pJU2NtWW5kVlluWUR1NU9lazVWNU5zZzVBUy8rQmVTemN1UnZHNW1BcjNjbU1lZjlpOThFS0ZMZU5tbW9qVnVCa1hveGRPd3BJSFhRelhXTjluaU90RVpPMlNkSHZuZWRWWjVKU1VyQlZmUTdBMXEyYjBkcHptRFhqWVFCS1MreFU2QXFCUExMNzltUEc1RDl4YjhWbjVQWHR6NmhoZ3pqcG1sL2FybXd2Ly9HQ2pGdkpkaWhYdzVyNXNOWnJwV0hkNHkyUDhSZnk5QndLR1didi8zVkI0MUJaZlJTak1ma1hOVmQyN2Z5Yy9pT25leDl6UWc1OU00eUJmVTNqOU9sM1NXMlQzbnAwK3YxSG1nVUtnaU9nSi9DcnlhSnBCWGQvc0tBcEFtb3dHSHhyZ3JZaEljRmJCNXFhbW9ySlpEcG5ZM3FXd09aaHhYc2IyQk9md3hQWEdQaitteUtjUGxvamg3Mk9UNDdXMFM0NW1XakZRWDI5MXo4Z3ExUklzcG9JTGNMamNlTlVFRWlTZ2k5eDF3OXd5Y250UDY2cU92cGNYRnpjVENEK2x3UnNPcU9obWJPcGtGR2ovc3BqNno5Z1dIWUs5bDFMc1V6NDhQUUdSZzRhR3ZuTUhkQ0szNE9xVkRGaCtHME1XL1FoOHdkbm9xN2NnaVh6cno4NURDMEg5OC9uckZLQXJOeHJHVEhZOTAwYWNTUEdoRlFBc2tiTVlGL09jUEkzRmJCMDNuMHMzZkpIOHArNTk4UU5PQTh5SXUrM2xEVHJhTmRoRDdEaXNRbm5mT3lNeVRCeVJOUGZJOGRBUXZCK1krdm5tWTNSMk96V1g5WmNrZVhXM0hUQjQxUzE3UFYvdi9IZzlQdS9KN1N3M2RHS1h5MUE5UjIwMkxId3J3bmFNZ0pxOEFVTHZQeHFiZHQ2azNDVGs1UFA2WGllQmJBSjN2L3dRLzVkWjJicDczcGhrQVdlaGdZY0RnY09XdzNyZGh3ak9TMmRSQnhZcmJWNHpGTmlBQUFnQUVsRVFWU0JVcXVveUFoUjV4U1NUcTFHOGJnQlNaRWxDUUY0Q3hTOC9qWWhoR1EyeDYrdnFUbHVpSW1KK2V1cDlaUUxLd2FqbnFyS2F1aWFjT3FEcThzb1ZhZlF0MmNLTXJCK3pidTQwWiszdmhYdjJFeVpZemJKT2lmYkNyYVRNL1lQNEs2a3ROcEkvN3hNMU1DTzlldXBWRTU5VDltNUF5bVo4dytLcXFkNHRUYTNsUnFIQVpQaHhQR21BZjJ2NXFGdHhXVFBHdXZWeGhRN1ZUWGV4cXhXSzdISkdZeWVrRUZ1a3B1OEo0dE9malBhVkJhdmZZL212bTJ0NGFkOTFmVkdzRlo2dmR6K3laK2FCNFpTa0ZPaHQ0OUFvcXJxOUNaZTE1NDVsRCt6QVNlMDBFQi9ybk9sZDA0djVtM2JDcmRtNGF6Y3liWWlLd044KzZ4V3E2TkJpbm5sd1VmKzN6NmEwam9jUUVNSXFMVk03ZkJyYThIOGFxSzF5Z0wvS2xOdDIxcElTZWxBNTg3bm51bm56SUd0NFFpUEYzeUhWUmZCd0xuN0FWQkZXM2lxZHdxRmhWOXlTTkdpUG5LTWIreDF1QnZzdE5GSFl0YnBpRFhGVUgva21LaHY5RWpDSTRSS3JaWmsvTVNVSWZXa2toQkNOcG5hdkdXejFVVkZSVVU5OG5NQ3RnbVQvc0Q0Q1ZleDJHUmd6Q012OHRESW5pYytPR1VBVS9JZXBXL3VOYVFaRk13cDhZRUhYckZqQmFPbS93dDdWUWtsVlRKOSs3NVA1ckFIV1RSajFGbjN6V0wyTUhiUTFhaXBwdEk0bElMUjJhQlZtRDZoTThOeis5QXpXWStjMUI2TGZPcDdNbWFONE5VWkh6RTBwd2NaV1oycExDM2xzWldmTWpqOXhBYmtnSWx6R1ByWmI4bnNlU1VaS1NZT0hpaG04b0wzdVhlUWdiVlBqT2V4OVVmSlNJMWxYMkVSanl4OCs1UlRNeUhwekwvaUZUdGcxSFN3VjBGSkZmVHRDNW5EWUpIUDM1NlVDNE9BckN3d0pNSEdqUkJyaHVYellWeWVOM2hnTFFkdER1UXZPbzBQWGMraDVMa2ZaV3VaazBISjJsL0VYQmx5N3l4ZUhuUTl1UU0vUU8xMFliUTBxYVBMSHYzZGkvYy9zMkZYTTFCekJJR2J0eGEwbFdDQmY2RmpYd1JVdEJZQmpZa3hCZFl0YU44K2hmVDBUa2lTZE03ZlUwbUljNU5uYytUSUVmYnUzY3QzMzMzSG9VTmxIRGxTd2JGanh6aCt2SWE2dWpycTY3MUY5UFgxRFRoZFRzbnRMYUNYUEI2UEpJU1FmWnNhMEFCYUlZUU9pTFRiNisrSmpJejh3N202NGNyS1NweE9GOG5KN1M0WUdGYVZsZURXbTdIRUdzNTdXMjY3bGZJYUI4bEpDU0c1UERXVlpkZ3drSnh3WmhxUDIyR2p2TElhc3lVWnZmYjBzb1BzTlpWVVdkMVlrcExRQm4wNkhiWXF5cXRzV0pKU1R2dGFGMUlVTjVTVmdkRU1wak1ZcW0xTHBqSy9OSStWYzBiL2d1YUttL0xTY2t4QjQzcjgrUEVYWW1QanRqUXpQUnNBdSs5ZnI5WW1TVTdKbTJRZkFEWmZaWUUvVDAwMEFacUI2R2h2L1dkY1hCeUppUmJhdDArbVU2ZE9kT3ZXN1pTTHNweXRxR2JQZnZUY21HZ0dBNUlrMGRqb0xZNTN1ZnlGOFFxSzR2R1hXUGxEc1Q1UUZVMi9CZHU2WHMwTmdLKysrbXJQeUpFalVhdlZ2YzlGUCt2cjYvRjRGSXduY3BxY0I5RWJUUmdpdFJla0xWa1RRVXgwRk0yL2dib29JOGFvTTdmcVpiV1dtSmdZTktyVC82cHFkRkhFeEVTamFvWmRhcTJlTmliVEdWM3JRb29rUTR3SmRHYzRWQ2xadldrOFhFYlhIbDFSL1dMbWlreDAwTGpXMXRhK1BHalF0WnQvL1BGSFZ5dkE1azNDOWZuVkpFbHlOVE0vQTZEbU56LzlDeHo3QXdWdDJyVHhyVm5RTm1CK25tdS8yamtJSHJRdXFhbXBPQndPbkU0dnJaSGI3UXBRR25rOGlnL2t2R0RXQkdwQ2VKTWxGY1ZYVjRvUXd1VjN1cTFiOTc3MCtPUHpsanp5eU1QcWlJaUllN2hvcFlibEM1ZFIzWXFDYmNuc3k2Z0JQUW5MLzBqVXNZd2ROK0lYTzFmcTZ1cGVlK0NCQnpaLzhjVVh6ZlBVbWtETkd3SDFhMm9lZk13ZC9naG84d1JjYndUVW42c1d1c0pVV2xwSFVsTlR6KytRbk9zTGR1blN4Y2ZaNWd5a2YvZ0w1UDJhbTI4VFFnaWYxa1pBbFZNVTRXY0NrZncrdHpsejV0VEV4NXVYM0gzMzNYSkVSTVRkRitmYlkrTFdTWlBESUJLV2N6cFg2dXJxWHYvclgyY1Z2UDc2c29ZZ1RhMGhlUE9ER2tHVkJiSXN0UllCRGZqVnZJU1JocUFhMElSQVdrZVhMbDNPLzdmbW5Ldnpra1NYTGwxb2JHejA4Ylc1L0Z4dEFjMnRLWkZPQklHYlFBaWgrSWhBUWt4VVNaSjQ0SUVweDdSYTdaSTc3cmlEaXhmY3doS1djeWQxZFhXdlAvYllZL25QUHZ0c1BhR0Jnb0EvelFkcUlmbHFYaE5VYmhFQjlTL0UwcHd3MHB1cjFwYlUxQTUwNmRMbHZBUUx6anV3QVVSR1J0SzVjK2NnV2lPdjF0YmthL09hcEQ2ejFBOXV3cWVsK1NPbHdlQW1TUkxTUGZmY2U3U3hzWEh4M1hmZnJlaDB1bnZDVXpNc1lUbHJVSHZ0cjMrZFZYQVNVR3VRcE5CVnBvS1h6Z3VPZ0RacGFrMEp1REV4eG9CZnpaK3Ixcmx6WnlJakl5L0kvWjJ6NEVGcjRLYlQ2UUxnNXZINHdTM0ExZWJYMnZ5YkQ4YkZpWFJCQWJCaHcwYVhKRWw3K3ZUSmRXczBtak1PS1B3dmdnZGhDY3ZQU1dwcmExK2VQSGx5d2VMRkw5cFBwS25SU21WQkU2akp3ci9BY1dnRU5LckZlZ1YrbjlxbGwxNksyV3krWVBkNEZqRjNENThXN21YTzZueit1TEtBVjc3OEljQkQxVmhmdy9LUFBtWEd2emZ4bDNlM1U2eEVjY2tsbDlDaFF3b0o1amdhRkluRDlZM1VDSzF2ZFhsOThPcnlRcVBSb0ZLcGhUK0QyUjkxb1luRHJSRndQUGJZWTdVMzN6enFCYnZkL3ZTRm5oUUg5K3lrMm5HdXJ1WmszNjdkMkU0NzQ2YWNrVG0vNGNCWkVIOVpLNG9wT2dQMmgyMnZQc0s5VDY3NTJiK2tJM09ncUpYbnNXOFhaL0JjVDBmY3pMdHJORnRLN0QvcHVaNUtLa3VMS0trOFM3STc5d0dHWk45TTJVa09PWDc4K0F2WFhETW9QOGluMWtKVG95VU5VWEJodTQrR0tOU25GaG1wOXlYZ2Vxc0s0dVBOV0N4dDZkQWhoVXN1dWVTOHBYV2NPMkJUNmxpenE1d3VxUjI0SWFNZG03ZmtNMnRyQ1FBL0ZKZndkYjNNMWQwN2t4MHJlT0NGVlJ3MnRDVTlQWjFvblliOURSTDFIc0VSUllQUmFNUmdhRVpTNlFNM3Rkb1BibDV5eW1ZRWxZMkFZOE9HRGZWUlVZYVhiRGJiNDc2QnVTQXllK3pWRkpTY0sxN01TaVlPdllraSsra0RZV2xKTWM2emVHRS9XL1U0MHhlc08rM2piVFZIcWFpeS9leUJiZnhVU0dobEZrOGN5aGs4MTlNWXFSMUxXVkdSUnY5VS9VOTZycWVTdGZQL3dMelZoV2Y5b1N3cExqMVJ1WnpqNk5Hano4WEd4bTBKaW42ZURxaDVKRW55K0lNRkxjM1BVTEpJZjFXQm40SW9QVDM5SnpIaFhqZ2ZtMnppOGZIWEJ2NXNZei9LZmJ0L2dQNnBkTzdlazhlNysvZWtzbXZ2ZnJaK1g4MUQyWjF3dVFZU2s5Q085emV1cDZEY2dja2srY3pTUU5vSFByOWF3TmZtZHVNckpjVVQ3SFB6cFlRQUVCMXRYSGI4ZUxYZFpESk40VHpXbHBidVhNZmlOWjlTV09IRS9zeWo3RGJMNUk2NG0yRTUzakxwZlZ0WHMyVDUrMWpsTm95NWR5cURzcnc1T29xOWdrWFB6R2RIMFdGaWt6c3k3dDVwWktjWTJaMi9qRlZidnFERVZzT2lPWC9Gb3BVWk91NFA1SFUrZFFMdDd2eWx6RisxbVlTTXE1ZytiVHdtTmJpdFpTeGU5REs3aTc1SDBjY3hlc0lVQm1lbmdMT2NwK1krejg0ZHV6aGdyV1Rtek8vUUpmZGk1cjBqQWk5RC9zckZyTnI0QlJqYU1tckNKQWIxOVBYZFdjMlN1WSt3N2VBeGhrMzRJNlA2K2twZjNGWldMSnpQcHAzZmt0RDVjcVpPbXhRbzZONjNiVFdMbHI2UERTMFpBMjVpMnEyRE9SK3B1UHUyd3ZKTjNobmNPK1Rad0tvdFVHS0RSWFBBb29XaDR5RFAxL1h0NjJEWkduQWJZT0kweVBGWHVUdmdtUVV3WkRBc1hnQjJBMHlmQmVtKzRYaDE4UXNNSC90QzA3MmM0cm5hcXc2d1lQNGk5cFRVa2pub3Qwd2ROeVJRY3JWajNXSmVYZjFmbkZvamVjTnY0NjZodlZHcTlqSG4vN2QzN3VGUmxIZjcvOHpzSVp2TlpyTXNJUWtoaVRGZ2lDSEVpQmdSSXlJaUlsSkVSS1NJaUpRaVdxcldvclZLS1M4dlB6elVJcVVVclZJOElaNFFFUkVwSXFVVUVSQVJNVWFNTWNRUVlnZ2hoR1d6MmV6T3p2UDdZL1l3dXptQWVLSytQdGMxMTU1blptZWV1ZWYrbnU3dndoZll0YldDdXJLL002dm1uNlFWWHNhTWNZTlB3TkpjTEYvNENCdEx2MkxJMkl1amtheWhnb1VMRjFOV2Zhd2hQam45cVNjZWZXQTMwYldmTFRIbVo3dWdwbXR3SEFWcWtVQkJBb21KMGFDbVZSWDArdlpraUw1ellJc1puOVkza0p0K1Z0c1AvTWVwT0tJeUtUVUpnTHk4UEJSRm9WdEtOK0piV2toT1J1ZHJDeTFoOEFxREcwQWcwQ200aVM1ZG5Lc09IYXByN3RhdDIyM2ZsU3FJUFNPUDRjTnRiSC94RVlwS0xtTkl0cG0wRE0xUFY3NWhFU1B1ZkkwRmkvNlhaRjhsTThaY3hkSnQ3MU9jWW1icGZUZXl6bmNGODJhT283NXlEdzBOYnNpeWs5NnJIOE10RnRZc2VaSGlJVmVRYjRPczVKTklvRldxV1BaeU9RL2Uva3RXekwrRHlYTXNySjQzSGw5OUpZMldiQ2JmTmdwZi9XNXVHMzBaUzNkK3lzQVVPNE9HWG9IczJrMWxiUitHRDc4QzJSYXBYWHh4OWczTTIyWm53Wnhic1hwcUtOMVhIZ2EyTFM4L3g4Z2xEekVoZXhzVHh0NU1jZlc3WkprVkhweHlCWnZOVnpEN3pqc29YZmtvSXlZM3N1dmwyVkMzbFJIai80Y0Z6LzZkYkx1UGJYczB3Y3ZPZ0czYnFzZlpzUGRRek0yeks3ZmRONE9VVG1ablNqWU1Id3BUUjhQWWV5RXQrTjMwWGpEY0FtdVdRUEVRZ3NjMWFGNHZnNmxQd01KSGdGb1lQd3cyN1lFc1N4RFk1c0c2N1RCMU10QUlqUzdBQWREQSt2V1YzRGV2VUhmbGRISmNQZFdNSFh3RitWTWY0dlpSYVN5Yit4dG1laXdzbWo2WXh0MHJHRDN6RlpZdmV3aUgyc0R1YXMyTWxhMHBEQjErQmQ3eURjaFpGekI4ZUJIVzVCTTNDVjQ1N3hjczNKdkJvdnQreWJwRjkxS2hvMnR6cHY2TStuTm5mWEg5OWJiblI0NjhKbFQ3R1p1bkZscGFPd0sxVUZWQlorYW5CbXBkU1V0TEpUTXprMTY5ZXBLWGwvZURNZmx2Qkd6Vit6L2hzVThDUERuajdGaDdsV2ZXYkNUdTdBRmMyU011L0c2ZlBuMUlUMDhub2JtWjFGUTZDaUlFdnkwRWhLT2xIWUliYUlDWW1wcTJmdi8rL2E2c3JNeGJaRmsrLzlzK1VJNjBYcFNrOVNMTlppUy8veUJLOGlLSGJ1bkN2ekJ4MXF1TUtNa0Qrak4xNkZPc1dMdUw0aWtEYVd4b3dKcVZRazV1QVVXRlJib0xNNStVYkR0MnM0VitKU1gwUDlrS0d0bkt6TGx6S000MlVqajN0NlNNZWc3WHZQSFlldzFpNXFROGR1N1pqVnROSVQvZHpjN2R0UXdja1VYL2toS2E5cVNUYk02bHBLUkVCNUxWTEZ5OGxRVjd2bVJZbGhrb1J2Y3BCU052Wk5xb0lVQXhBMmY5bWIyMWtHWFp5c0oxQ3Bzcjd5WGJEUDN1K3dOUDlQb1pwWjdaNUxzYmFGS3NwR1JrMFM4M25YNzlUL3gzTEE0bmFXbHRiaU1ZVDBEemtyT2dKQXRzeHJhQWw1SU5kalAwS3lIcXVDNTZCTzU2QWdZSDkydjAwN0I2Szl3K05QZ0ZEOXk3Q0lha3gyeXNxWkpLVndiWitpSmIyZGJoY1MxYit5eGxHZGV3Y3Zvb1pHRHV2YmVTZjgrTExKbytHRzlESTZyRlJscEdOZ1ZaL1FnZkltc3lKU1VsN0Z2dHBLbFhVZlI1NnRoaHdQSVZHNW01NmlBREM2d1V6NzJISmF2L0VQR25IV3I4b0xYVi9jcklrVGZ1cDIzdHA2NUVpbGFKamtITllEQUlrOG1JMld6U2dWcHNVWHVvWENvelhDNzFRNDVUQnJZalgxVnh5eXNmTWZlbTBlUW02R2VoWU1PbWpieDZQSm5sTnhaRzNhMGxTU0k3TzV2RTR5NHlNOUNab21xVU9ScGFqOGJnb0RQbUJoSWFlUlBpekRQUDNQYmhoN3ViK3ZidE85VmdNQXovdmc1aWRYVXRaWXQveDY1blEvL1d3dENoMnZQcGMvL09mYlArbDM2NTkyUEpLR0xSc3FjWWt2Y05va055Q3VsQmVtSkp5OERhVkU4ajBMVDFhWVpPZnBUaFk2NG14VzZtd2EzZzlaMGd5dUN1cFVaTkl5ZXIvUktlWkljelBFM01aZ1ZGQVc5ZERZM2VHdTRjZDAza2UwWG5vSHJCMkdza3o4N2F6YXhKVjFCZTQyWDQxUHQ1Zk03a1RuWFhiSTRVMHRKaXZpSGJ2NU04cE9wYVdEb0xWdW1JY1QvOWhoeVFtOTZ1WXhsRi9qcmIrUkpYNlhiR2pQNDAvRjV4M2tXb1FQclF5VHc0cG9LcEl5K2syaVV6K2Q1SG1ULzlWS2RxRTNYMUZqS1NOYitmTVMwTlozQS8vWDcveG9zbjNyN214aG0zSHRLWm4zcFFDeGUxUzdSUjZvZ0JOUk1tVTNzTldFS3kzbTFCN2Z2SVZmdldnZTM0a1lQOFl2bFdab3kvbWt2U29wMnA3NzczSC83eXVjelROMStNdlozQ09ZUFJnQ09ySnozUEZLaHFJSWF0aFlBczVHOExtNlFkZ1ZzSURVWElORDMzM0g2ZnJGcjE2cCt1dXVxcXcyYXorY1p2UGRvaXk2Z3hZdmxaV1JrVVRmOGI5NDVxYXdVN2NvcFpzdUlOUUdINXJKOHphOEZ5dGoxeFp5UjJJNnR0dFBjN0Q5N1VVMU9yVUpSanhGdFhnOGVaUVRMd3hMTEhHRFByS1I2YzNBL3dVYm5tejdFNzNtYS9zYVdUSWRkUldlMmpWOWJKMVNlYTB6Sncybko1ZXUxYllmTlBQNTFHelpqTHFCbHpjZFh0Wm5EaDVXeWVPcGxoblpRRVZ1N1p3dHB0QjJKV2swcnhpQ0hZdjRselRtN2IweUFySGNZc2h2RUZYek9VNXNnbXgxSkhUUVAwU3VHRXh6VXIvUXhTQnFTeWZ1VzhkclpoWThyc2hVeVp2WkQ2MGxVVURmdzlVNllPcDVkUlA3OU9OampsSUQzRlMwMkRCOUtzS0hWMU5LclE0dkc4OU5qU2Y3eDl4eDEvY0hVQ2FsNmRXYXFQZnJZQnRVaGhlN3hPcWNPdTYxV1FHaXhzejZGUG56NllUS1lmUEtqMDlZSE5mNXdaLzNnVFMwWnZHZy91NTdtRFlJaDNNS0VvaS8zbGU3ajFyYys1NGRMK3JQOUFpK3ljZGNhWkRFaFBSUFUwc2VLamFqNnBidUtJVDJWdk55ZjJ0RFBJVUtOOWJEcFFDejBYSWF2VDc5ZHkyYlJFWHdJUmJBc3pRaUdFRUdQR1hIc3dMeTl2d2Z2djc2eTMyV3gzOEMwbUl1Zm45Mkw1b2dWWVJoYlFxM0FnK1ZsT3B0NzVLNGJmOVV0eXpQOURybE5tNTZiMTVJeTZoNkg1ZGxZKy9pQmtEeVEzemN5dWZWWDA2bitUM25BaVAwZmg4UVZQVU44L2cvd0JROGc1a1o5TjliSmd6aXhTYmgvRml2bC9adGpFMzJFRHNyS3plWEh0OCt3cWtpbGI5d1RyeWhYMEtsZTV1WDNZdmVRbFhoeVFqQ010aCtFREM4Q1l4WjB6U3JocnlxMHNtUE1yck40YTlqWGFtRHF1NDE0RWNsb0pkdzcxTVhuNkhHWk5Id1dOTmF6ZFhzWGMyYmZqSzkvTW92WFZEQ2twd2xPOWxRWnpEdG5PenYvTzhDbXpHWDRLdXBHN3QwS2pGMXcrMkw0Skdxd3djSEJFRlRnL0J4NWZBUFg5SVg4QTVDVEQ3VE5oNmpTd3pkZUNDbHZXdytEYm9kOEpDWFFhdzRhbXNHMTdPWU5IUld1SHRYZGM4MGRPSW1mdXBkeTFJSThKUS9LcEw5OURxVHVOZTZhTW9HcnJhbGFWK3hqY0w1ZmEzYnVRczdKSjFzM092RjVuOCtDS2Y3QXF3MDF5Umg2RCtuWG1Ncll4Y2VKdzVzKytuNno3ZnM2YVJZOG94eFhseVV0emUvL25VTnNlQlhwQTgwcVMxQ3FFYUNmNVZoOG9NSWFZbW9pUEQ1bWZOaDFUMDBBdDFLdWdUNTgrV0N5bmgzemkxMC9RVmYwYzlSbElUVERoOVN0NC9RcXRzcG5pRENmSG0xdXcybXlZUkNEOFdWSVhKemxKRmtTcm15MzdEMk5MNnNMWlRpdCtJWkdYbTR2VEtGQVVCVldObEZ1cHFnaWJvanF5Um9pOUNkSGgzZ2xKa2dRZ0dob2ExQWNlZUtEc3R0dHVyYkphclQwbFNYTENOMC9RTFI1eUZVcmRQajZ0cUNLK1J4OXkwNVBvMm5NQVZ4WTVXZlBxcTJ4K3Z3eHJabCtHWG53ZWlYRXlub1pLTnF6L0p4czM3eVNyWkRKemZqMmFPRGxDRVM0WmNTVU41WHY0Zkg4MXFiMzZrOW4xQkJORFRtWFVzRE40L3BtVk9NLzlPUS9kTTU0NEdmSXZ1QlJSdFlOWDMvZ1hDZjNHTVgxMEVUMzdGSk9WckdWNkorV2N4NEFzaWQwZmZVcWR4OHpGNTJtTzNZSkxSNU5ycWVPMVYxL240Mm9YRncrOWd1eFU3ZGc0TTNwVGtKTWEzdGMreFJlVEhDOVRNbW9jbHJvUFdiVnFIWjhlT0VhL1M0WnlUcThlR0NTRkQ3ZjlpdzNyLzBuWlZ4Si9XUEFvNS9WSS9FNG03dHN2dzBjVjBQZENjQitFNmhvNGQxQUUyQzRaQVEzbDhQbCtTTzBGbVYwaDYxd1kwQjFXdlFvN1BvSzBQakQ0ZkxBWUlyZjVBUU1ocnAzdFpYZnhNK2ZwWFV3YmUwblUrKzBlVjFNUzE0Njdpcy9mWGMvYXR6WlIzeHJIa0tIRE9DUFZqb3lYN1p2ZjVxMzE3L0JsU3pjZS9zc0RuSmtVT2VlWjU1WndWdHd4UGl3cngyMTBjbjUrZHFmSDRleUxobUUvOUFFdnJYdTNNbWZ3MVkrdFgvblkrODNIajNlazBLRlA1L0FGQVMwcStUWTIraGxxdmhJZnI1bWZpWW4yb0FTUkpoU3BCUXA2VVZCUWdNMW00M1FaMzVvZTI2bU9ZOGVPVVZwYVNrWEZGeHc0Y0lDNnVqcU9IR21JMFhGckNSYld0K0x6K1NSL1VNdE5WVlZKVmRXUW5wc0JNS0RwdVptRUVIRm9jOVJTVnZaSlVXNXU3aFNEd1hEcEQ2SEg5dFA0TVF3UGQ0NitrbEVMMzJKSXR2VzAyak5GVWY2OWZmdjJOUjAwTSs2Z1Q0SHdDMEZBbHVXQVB2bTIvVHkxV0YyMVVFcUhGdjBzS0NnZ0tTbnB0RG9teGg5NkI1S1NrdWpUcDQvTzlOU2JsbEZFVFUvZkpOQjZKMmltYWRqSklVSit0NkJacWdKcWZuNmYzYzgvLzN6dG1ESFhWQUUzbjg2WFQvbXVUZXl0YW16bkV6dkR4ZzdqcDBLd0gycFlXYmo2MzkvN1ZuME5GYXpadktmZHozS0xoNUxqTkQ3LytPT1BiN3I3N251T0U1M09FV3QrNnR2aytTVkpEa2dTcXI1TXFyMktnbENlV3F6NXFSZUxQTjFBN2JRQU5nQ0h3MEdmUHZrNlVKTjBqMUlZNENSSkNpMUNraVJKODdrcFFVQlRVVlVoOVBsdElaOGJJRzY0NFlaYTRLK2ZmYmF2eW1wTm1BNTBQeDB2bjR5OEl1d1o3VVF6WlNPMm45RGwvOXd3MmpNWVZHS2pIYnZxSzdmSHRUd3hNVHNrNDYxUDU5Q2JvTzMxL2d3QUFhMnlSMWJiTDJqWGZHb2g4ek1VL2RTWVdnalU4ci9WemxJL09tQUQ2TktsU3pEM0pRSm1Hb2lGbUpzVWZoM0wzQUJKVlNVVlZDa0VhbnJtQnFoQjlpWjY5ODVidlduVHBxcnUzZE51TWhnTVEwNjNFMksxT2JIK2hHQS9qZEQ5ekd3aEpTYlJUMUdVelR0MjdIaWpwT1RpR2pydnpxNnZKR2l2OFVxb3FYR2Jpb0pJOG0xSGdZSjh1blRwY3RvZXQrOU0zZU5VUm54OFBIYTdQYXpmRmdva2hMSTZPZ2dhZEpZd0U3WnRRd0FIaUdlZWVlYXcxV3JkMGE5ZlA4K3BLSVQ4Tkg0YVA5UTRkdXpZMHZ2dXUvLzFXMjY1NVlqTzlEeFJ6V2RVTWJ0T2VpZ21uY09pNjlJZUt6Mms5Nm4xT2ExQkRVNkQ0RUVISjQ5UFBpbmppeSsrb0tibUFIVjFoemh5NUFoTlRVMjRYQzZhbTV2eGVEenRCQlQ4S0VvZ0ZGQ0lEU29ZMFlJS1pvSkJCU0R1d0lIcWkzdjA2REZaa3FSemY3cHNmaHFuNjFCVmRjOW5uMzIyS2orL1QzbVFwY1g2MC9RbWFKVHBpU2JqSFdKcUl0TFEyRVRIUGpXOStSbk4xRTVIbjlxM3h0aWFYQzRPdWYzWUxHWmtQV2NLS05RMkhzTWpETmpNMFJtNnJTMHRIR3hxSmk0dURwUGNNZEd5V0N3NEhJNXdUOUxvNmdUQ3ZyaVk1R2FwSS9JV1NnSFJtNmFoMTQ4Kyt1akJnb0tDblRrNU9YNmowZmk5ZzV1cnVwUjNQcTduckt5VWsvK1J0NTVWYTNiUTgrd3p2M0h6a05OcFZPM2R5dnAzdGxEWFlpR25SOWZ2ZndkTzhiaHVYZnNpY2xvQjlyanZacmZjYnZmelR6NjU5T1dSSTBjZXBQMTZUMzBxaDFmcXVPZW5ydTdUSEdacVF2Rmh0am13MnhKSVRJdzBYd2xKRDRWVU9nb0tDazZZSnJWM3l6b0NYWHVTYUpaQWJlVEZKNTloNi91N3FQZlpPQ3Z6KzlOaisvbytOdFhOci8reWt0MStNNmx4QVdyOThUdzY2U291VEltbjV2T1B1ZTdGSFRnZGRqeXU0M1R2MVplL1gxZE1vZ3hQclZyRmtyTGpaRHJpT0hEVXl5MWpSakMxVDhjWGMySmlJbjM3OWtXV1pXVFpFSHlNTEpLa2Y0d0VGQ1JKd3UvM2kyQ0ZnaEJDb0twcVZDQWhxUEdtQ2swNkpIRGRkZU5xZ0wvVjFCelltNTZlZnBNa1NkOXFaNVQxUzJkUmtUNmVHU1BhcHJ6WDc5M0l3ZzFHUnBRVW5Qd0tQVlhNZjNBcGc4Y013ZmxmQkZ4NzFpeGtWV01CY3ljUGJmTlozYlluR0RUbE9hWlAvaGx5aXVjNzI0ZmE3Uzh6ZDdQQzQvZE8rSmFPcThxS0JYOWtWTUY0TXI3bGtMV3FxaDk5L3ZubnEvTHl6djVNeDlKaU83TjN4TklVU1pJQ1FxaXFFQWpaYUZJTkJnT1JFcWxJbmxyZG9hOHdkYzBpTVRFeHFxQTlVaWFsVlJRa0pDUjBmbCtvM3N6a1dTK3daY3VJa0ljUW04M0czZzFQc2JiQ3dvaUJlYWN4c01rbWJoazdtb0pNTFJxeWF0MGJ6TjM0TVc5TktNYnFUT2ZWMzk1RXV0V0U2bk16YWNGenZGU2V4OVE4T3hkZWNCRTNqRTdGTEVQTnZnOFl0bklyMS9RWlEyZjM1WVNFQkFvTEM5Rk9pSXpCMEI3SVNVRmdrd21LVTZKRlRQM0JvRUs0SVROaHBOTVlteXBKVWlpb29BS0JqSXpNelU4OXRleVRjZVBHamJWYXJkUGF2WHMyMVZQdlVzbktTb3M2ZUNyZ2RUWFE0SmJKU285Y0ZxcWlVRjMyQWFXK0lTaUtnaXdia2VYd3hDVjcrQXpXanpTMnVWamNqZlg0ekU3c3NvYzZ0MHhHaWozOG1XTHZ4ODd0eTl0VUFDbEtkQ21PYkRSR3ZxUDZxS211d1pLY1RyTE5FcnM1a0ZYcXFxc3dPdEpKdG4vNzJlT3FxbEJYOVFtN2ErenRIQWVGbmR2ZW85L1lXN2huNW5oazQ4bE5TOFhyb3JxMmtiU01tRDZsS3FpS20rcmFKdEt6TThLMXFxcXE0cTZ0WU10dWIzQWZ0RGwwd3VQcWRkSGdoalNubVpyYUp0SXowc0xmVVJTVlJScy9iVk8wcnlwS1ZDUlQvMzhCbXVxcWNjdjJObjFlUTJvb0IvZVhQLzIzZjZ6WThzRC9tK3NtRWlEUWwwZnB6ZEQyVEU5VmtpUlZWVFhyUktnaXVwbXgyWXdzeThSWnJKaGtpRSt3NFhBNHRNVnV3MktPSXkwOWc5emNzNElWQldadER0VTJrcDZSUmtOTk5iYTBMS3k2VS9Yc3dnY1lNdmwvSXRGNzJjSElDUk94Tkw3TDNxb083dEZOOWRTNUZMS3kwcU91SjhYcnBxYTJIa2RLT283WStSbzhTbzIxMWZnc3pxZ2VyS3JQUTNWdHc2bEVSZU1veUl4dzdpeG5FdDVEZmdDY1hTTXdKWnNUeUxBYmFmRnBGMXRlajRpQ1pvclRqcXo0YVQyUnBrM1FMSTJBbXlFRzVDS3NMY0xncEJEQVNaSWtpZERGSGdRNGdTNWkyZzU3VTI2K2VVcmc1cHVuUEZsZS90a0hPVGs1RXd3R3d5V2hnL24wZlQ5bnp1cEs4dE5rS3R6cHJGNzNFdm5KWmxZL2NpT3pWaDdBYmpRZ2U2b3hGOTNDdW1Vek1WZHZZZmlVLzZWbTMyNmFiSGRUc2NwSjl1QWJXVHByRXVCbDlxUlJiTno3R2U3Q1d5bGRIbXhWN3Q1RGJ0YlBLQ2pKWS92ZVJnYjBTMlBmN3IzTVcvMHhZNG9jckh4NEJvK3YyY0cyS2lmVk5XOFRKdmMxV3hnKy92Nmc0cWFQMHAyN1diVDlLSlA2MmFndjI4Q1k4Yi9DbkpGUFUwVVpRMlkreGlQVE5OYWtsTDZJWS94elRNazl4dFlhZ2FkUlljV3VIZlQ3TnFQNDNuSW1qZm9WWmRXbFZMbTNNWHozQzFoeUwyZnRrbnZBVmNyNHNiK2h2THlVR25VWHc3Yy9ROUhvTzNoa3hzZ1Rzcjh4TS81R2ZtRU9lMHRyZWVURk54azNJSXVtN1V2Sm1mQVlSU2xXTEZhRmZlNTBObXg4aFY3Mkp1NFpmejFiOTFWUVZhY3lmUGg3NER5SGwxOStCQ2QwZUZ3bkQraE9WZklBcW5mdkpHL0FoYmdxUDZKbzJ0OVpmTnNReWpjczViYUhuMmZ2OXUwczJkUEMySEQxazR1N3h2Mk1YZlVhdEZYdjI4M1FXYSt3N000UnFLNUtwbzI5anQwZUp3NWZQUlQ4bkxYTDdnMVdUTlJ4Y1dyLy81d3hyT2pORjVhdnErcUFwZW5OVUY4UTBIeDZsaGE2YVV0YXVFM0VtUXlpVlZFSjlmMDBHK0dyMm9Pb0JoUHlWNGVRVkxBbUp0RzFxNU5Ebi95SDF5czlaR2VrOFB3enk3bmwwWmM1N3p3THkrKzlodm1ibXJHN1A4V1ljUjQyNVN2cWs2OWs5OHR6Z3BkSFBTKytYTWJzZTA4MkZ1ZmxpYWN4dkRnQUFDQUFTVVJCVkh0djRwRjFWZVNtbUtsMEpiTnEvU3ZrT1kxc2ZmbytKai84TmdXNTZWU1hsVEx3dHIrdytNN2dmR2phUlhiZXJZd2RuY3FHWFVkUVhJM01XL01SK2FXUE1QemhMUlE1QkUxTnRlZzZScDNDNGp2T3JRdi93WkpQRHJmNXJIWi9LUmZPZjRVRDN0amZCWGg2NVVvbXYvbngxOXFXcWdiNCtPTzl2UGJhYXl4YTlCZnV1Ky8zL1BLWHYrUzY2OFl5Yk5nd0xycG9JRVZGUmVUbDlTWTdPNXZ1M2J1VG5Kd3NKU1VsU1FrSlZpa3VMazQybVV3R2c4RmdsR1haSk10eW5DUkpWa21TRWlWSjZpSkpVZ3FRQWVRQVp3TkZ2WHIxR3REWWVPVC9DYUhXTkgrNlNuVHRmcUhZMzZ3SUlWVHh0MTlkS241Mi83TkNDRlc4OXFjYlJMY0xKb3ZqQVZVSWY0TzQrdXl1NHFrZERVSUlWUWloaWlkL2U0VzQ1YkV0NGRmNjVkTlhab3MrTjh5UHZIZDh0emlyeDZYaXNGREV6ZWNsaVgrODN5aGVlK0FHOGF2SE5rVytjM2lMNk5Iak1uRzRuZlVKb1lwM0h2dTFPUGZxZTdUOUVXNXg4L2s5eEVOdmxnb2hWQkU0VmlyT3l6eGJmSEJNKzY3LzR4WENZT2dpbm5xM1d2dTkzeU5hL08ydlZ3aFZ2UC84YkpHYW1ocXpkQmRQL3J1Mnc5K0VscmYvK2d0eDFlK1d0ZnZaRzMrNlNWejd4eFVuWEljUXFoQ0JPbkZwank3aStRL3FoUkNxK09TVjJhTGJoVk5GcTFERjBmZWVFSWI0czhTT3cxNGhoQ3IrL011THhFMFByUTMvOXZQWDVvcysxODl1ZjczdEhOZWJMa2dWcjN6cUU4Lzg3aXB4NDU5V2l5UHZMaFY5cnB1cis1MVBYTjhuUWJ6eWVmdjcrdFdISzBYdjNpWGk0K0QrUEhYM1ZlTEszeTRUQWFFS0lUemlqc3ZPRW45NXAxcW9hcUNtcnU2akJUTDhIQmdMakFhdUFpNEhCZ0VYQUVYQnVaa0RaRWlTbEJLY3U0bVNKRmxsV1k2VFpkbGtNQmlNSnBQSllKUWxHY2tnSmRrVEpBa2taMnAzc3JPelNYUEVZYktuY3RGRkE3bDg4UG1ZSkNpNWVoTDMzZmQ3SG5yb0lWNTc3VFUrL25ndnJyS1ZkT3Q5TGMxQzVibmZYYzJ2SDl2TWwyODhUT1pWZHlJQzVaeDc1aVVjQ2w2ZmdmM3I2Tkw5TWc2M2MrMisvZGRidU9xM3k2TGUrK0xOaDhtODhBYU8rclhYci8rLzYvblovU3NRUXVYNHNTWUNvZlVlM1U3UHJ1ZnlSZkI3NHVoT3pqQ1orTU1MdTRMcjh0TFNxdkRwSzNPSlAvTUtEcldxQ09INkJubHNxcCsvdmZvV1NxOEx1Q1UvMnFCc2J2eUtXMS8rZ1B0dnVJYU1HSWZxZXp2L3cvTU5kbDZZOHZYMG1pUkpvcUNnQUtQUmlORm93R0F3aGhtY0xPc2ZvM3h4WWIrYkpDa2g5aVpVVlEwcmh1allXNmkvUWlERTNpb3FLaFNucyt1cXQ5NWE5MzdYUTl0SE93ZGNlbE4yVUNsMjZKRExtUC9FYm1BaUFNV0RCbUdUQWRuSjRJRTU3TnBkeXVUaVFhZDBhR1diSFJzeWRvY2R1ODJPeldiRDdUazVtZTdxcmM4eWZVazU2N2E4b2UyUHE0ek5lenpJbTU3ajNpMGE4L1FwMVpSV3VPblhUNlB3NXB4QmpCOFlsT0F3V3VqTUVPMC9ZUTUxRStiOHNNNjYycjNzOWVRek9GaTluajlrS01iSnY2WmFoV1RBbmorUS9zbWFBVHBrME1Vc1c3c0xHSEdLRzdOaXN4bkJic05oYzJLemUvQ2U1TG53TlpReWJ2ejl6SC94WHhRRTkyZlR4aTM0Y3JPNTc5N1BBQ2gzcXh4NWYvdUtGVisxYnBrNDhjYWpKMkJwb1JwUG55UkpvVFNPZ0M3cUtmVDVhVDdGTDR4eDhaamo0akViUEtMVkQ5YXU4YmdQK2VuYW96dDJleEoyZXlLWjl0MGtkVTJoUjQ4TUVrUWpMeTVkVEhXREIxVngwOVJvSjlTQndXNnpZM1hZY2RvOElOdXc0aWJrRGZVMk5lQ3hPemhab3I5MTg3K3hJdlBnck45ckhMZXlubEx2SG1BOGFsTUY5OTcxSjNhV1ZlRlZmZFM3RzJod1EwNW81Wlo4Sm8zdEYzeGh4aEwwTldUM3Y0QVVNNER0VklFdHdJdHZ2TVYvNURONTZzcjhLR3V5MWQzQXJjOXU1TnFycitLcXJPaE0wNC8zdnM4ZnRydjR4OVFSZEQxRlpaTzh2RHhDemsrajBZakJFQUs2aUptcStlSEN2amdSZkpTQ0VWR2RiellLNEZRZHdJWEFMUUFvVjE0NVlqK3dKUE95WDc2cktNcTFScVB4aXBOeEtuL3pJVWRzOVpOWW5hZDJOK09uL0puRnEvOUZMNGN4dkIrcU9abGhZNjRtSzdpcTBhT3ZKU2MzVXU4b1cyMmNyRmR0NytvRlRKcnpYSnYzNzMzOG40d2ZrTUtQYjhqaGg4alpPQWxaSWFXSjI4ZmZRTW5zcHhoVGxCYTF2Z0ZEcjJaa2dRMUZVZDQrNjZ4ZUc2Wk9IWGRnZVFUUU9nSTF2WTlOMFptZVlYOXhxRStJTEJ1RTBTRHdla0gxdWtWRGF6TUlnYi9GUzBLQ2pUaXpqTWxxbzB1WExqaWREcXhHaWE2cFBlaDVabGZtL2ZJUFhMOXNNOU9IRldDczMweGF3UjlpL20zN2M5Sml0MlAydUhCQjI4Q0wzTjdWb1pKVmRER2pSNGR1L2xjejFaRUJLTnczNldvc2s1NW53eE9ETUZOTmNmSkYwZFBmYXNQU0RuTEpzdkViQkE4UXZQbjIyN3gwUEpsbmYzNGU4YnFkVmp4TjNQSFVlZ1lPR2NhTnZhUC8zdWZsSC9HYlRRZFo4b3VSbkdIOVppcjRQWHYyeEd3MkJ3SE9pTWtVRFhEdE1MY2d3RWxTUkhvOFVxRVFZbTI2d0VKQXg5N0NrK2pBTzA5K1lESTlXVnBUYytDZHQ5L1plRjIvL2xQQ1NyMDd0MnpCclU3R3BqYXllVnNsbzZaR1pLUnRWaHVORGZYZjdmWG5xMmY2dUJzWStlQUxETXZYSFh0N0FVUHlQVlM3bkl3YnJrbnV1QnNhTU5wTzdSemtEWnZLMnY3ajJzeGNaOHFKUS9sV2F5SU5EViszbzVPUGhUT25ZeDB5ZzJramduZnA5QUlLcldWczN0M0FoSDdKbEczYWlGSjRQbGt5ZUFCWDJWWjJOZmdvVGphemFjdC82Ti92OTVGOXNOdHcxZGVnOEYyVzNhZ3N2ZWRHYWdwL3paSUpBNkkrR1RKMElLOStYck5yMHVDU04zdWZsZnRwNk9ZWkEyanRnSnJrbHlRTitJUVFBUUVCT1p4d2l4b0lxQUxKZ05sb0VrYWpFZUZyQnRra3pzaE0xd1FpWlM4ZmYvWVZSbHNpNmFsZCtkenRvVnUzYmppdFhnNDJCUmllY1NiNXVRa2NjWGRsME1BQ2pNRDJkZXVvUDhuN3M1emRqMExmUHNvYW9TUUcyZEtjM2FuY1dCVWxFejlvOENYTW1mOFplZjN2UWJzSEs1cHNQaDZxcXoxTUxTbkdMRVBWcGpYc1BZV21YVi8vM0xZYzRvRk5YK0N5eERGa3ZxWVFhdTZXdzd2VEwyWEhoeCt5c2U0NEg3eStsbis4SG1RSGx3L2ovZ0daL1AydDk2aHRsTGxoNFRQQkZjV3piT1lFK3A1aS85VE16RXdkdUpuUWtnMk5ZVk0xbXNXRmdVNElJYVJnUGFtUXBFQW9WeTRjV05DeHR4REFSYkUzd0orUmtma3YyUmovM3I4L2VYNllFT0k2SUMrRlNvWU51Z3lqcHdaenllK1pNQ0J5ZG9lTnY0VkY0MzVGMGVvSHlCdDJDeS9PbjByZDloY1pPL052ZUJxcXFHcVFLU2w1azRLUmQvRDRqRTcwdDd6N0dEZnNsOVI2WGRUWFZ6T3k1R0xNR1JlejhjWDUxRzk2a2VXNzZpaWNlek12ejlWTzdid1YvMlprdnBVSG4vNEg0OGIvakRVTDhyRDQ2cWwyOTJEanJwVmtuTUp4TjF2dFpGaFBMYStoLzhoSk9CNi9nWUtpRjNBV1hjT1dwMmVkRkxCdFhQa2NqclJSRVdDVDAxaXcrQStNSFhNaEt3cHlLQzJyWmZHS056R2pBWnM5emM2OUl5L0ZhbFVwZDJldzdwR0lRbTM2Z05FTTVSb0tDOC9EbG40QjY5Y3Z3ZG5KY2Uxc3pKOTJCZXZLM095cjlMQjMzRVVzdERwWXNPcE5pdTE3ZVhEUmVzaXJvVi9SMzdUcllPWmYrZU1ORjMwMjlCZXoxdnlxNzZBUGV6OGNVSFJSVEwwaWh5K1dvVW5nRjVvYWh4S2NoMm9FMUNRaHl3aEZFVUpJTW1hemRqMGNiM1lKYzBKeXVBdWMxZXJFWVR5QXF6V080dUtMYUZqM1QxNSt6VVc4MFlTemF6d1pQZlBJN05tTG1WTnlHVFhnUW9veXJNanBtYVNkN1AxUHptRGM2Q3pXYjloRHlmam9iS21DVVZNWXVPd2Fjdkplb1hERXJheFpNSU9jRWJjemE4dk45Qzg4bjRKZTZWUlY3bVBFUFU4eWY5SWdicnR6QWxPSFg4Q3lnalM4MXU3ME9vV2NwdE95OHVEcmpLTkhqMUplWGs1VjFaZlUxdFpTWDE5UFkrTVJtcHFPQldXUFFsVUtMWGk5clhnOEhudytIMEtva3RhaFhpRVFDRWpCL2d1aGFnVXBXTEVnQjhIZkNCaURWUXNtdE1vRk14QjMzMzIvVHp6YlVuSDU2c0ExMXkyL2EyaE9nMWNtSStWMHpDNVRxYXVwQm91VHRPUWZoMGFJNG5WVFU5ZEFTa1lXMW1DK1JkUDJwZVROL0lEYVRYK2lwczVGZWt3YXdROHhoQkQ3RHg4K3ZHYk9uRG03SG52czhWYWRLZWxyeC9RTVBmcURFVTlGdDZoNlgxcXdpb0JnMG0zUWVqR0hHaGxqc1VTNnMydXF0NGs0SEVrNG5WMUpTZWxLdk5uQzJlZWNSMkdmM2xFbFVrMzFOYml4dFVsRk9kRndsYTJoWk1ZR2RtNWFmTkt1RGErN2licEdGMmxwR1ZoMEtUdnV4bm9hUERKWkdjbW4xT1hNK044K3VidDA2VUpoWVNGeGNYSEV4Wm5EZHl3OWc5TXpOeUhVVUljckljdCtTWlpsRkVVUmdVQVVld3NWMThzeDVta0FVSUxtcVIvd3o1Ly9nQTk0cmZjZzhZNzN6dUZEZTNSTHVoYm9lZm9kS1ptMGpPd2ZsZmZMYUxHUm5kMitZb0JzdHBHVlpmdWhBYTN5OE9IRGJ6ejg4TU1mL1BuUEM3dzZnUEozQUdpeGdRRkZIeHdJQXBzSWxVVUY1YnZSUUUzTFR3dFdFMFNCbXMybXFkNG1KWVg2RTJnZDJyT3pzK25kdXpmeDhkRm1reU1sZzFQSjlySG5qMkxoakVacVhTbzVKNm5yYnJFNXlMYTEzWnJObVlMdEcvQ0QvM3JHcHB0RWZQYlpaMVJXN3VmZ3dSb09IVHBFUTBPa3Z0VHRkdVB4ZUhDNWp0SFM0a1VJZ2MvbncrZno0ZmY3SlVWcGw3MUpRZ2c1Q0hDaG1sTkRrTDJaZ3V6TnJGL3V2bnRtNHU5Kzk3dExuVTduMVpJazllR244ZjJ5dUtZYXR1eHpNV1JBL2cvSGpWVzFyTDYrZnYzczJYLzg4TWtubjJ6dEJOQmlGMzhRMU5vRE5EMm9oVmxhRU5SRU1FY052ZVJRQk5UMDFRU3A5T2lSUVU3T21mVHUzZnNIYjdyeVhZMGZEYkNGUmxWVkZaV1ZsZFRVMUZCWFYwZERnNmJHNjNJZDQvaHhOMGVQSHNYajhTQ0VDQmJRdCtMeitmSDcvU0ZsM2lCekMwaXFLcVJnNURSa29vWkNRZ2FkZWRvdXdPWGs1SmkzYnYzUHhhbXBxVmZKc256aFQ1RHo0eCtCUUdEN2dRTTE3MXg4Y1VscFRjMUJKU1l3MEJtbzZRRXQ3RWNMVlE4QVFoL3hiTXZTVEpqTmNlZ1ZiNjFXZmQxbnBKRnhSa1lHT1RrNVpHZG4vNmpQaGZISDlvZXlzN09KajQvSFlva25MaTRPc3prdUhHUXdHazBFQWdGa1dVWUlvVE5UV3pFWURLRTdZWWk5aVVBZ2dDUkpvYnkza0VrcXh3WVhZc3hUSDJDdXJLdzBwNmYzZUFmWVVsNytXVkYyZHZaUWs4azA2cWZMLzhjM1dsdGIxKzdidCsvZG9xSno5K3ZBVE0vU2ZPMkFtcjhEUUF2b1VqakNabWNzU3pNYWpVR1dwb0dheFdMUnlYZ25ZTE1sa3BTVWhOT3BseDNLb21mUEhGSlRVMy8wNThUNFkveFRxYW1wV0szV0lNQlpzRmdpQUJjSUtCZ01CbFJWRFVkUXZWNWpDTnp3K1h4Q2x1WDJmRzhpYUpyR1JrOERCSnRpb0lYaVRYcUFBOHk1dWIxM0FudmVlV2ZqUzhYRkZ3eXkyUkt1Z2xNS1N2NDBUaC9YUjgzeDQ4Zi8rYTkvYmQ0OWV2VG9oZzRBclQxUTgzZkcwRG95TzBNc3JYM1RVKzlQMDRJRVNVa09uRTRuS1NuZDZONjlPMWxaWjlDclYwOFNFeFAvVDV5ZlV6WkZtMXd1anZsbGVuU3hSUmNBQnhScWp4N0hFSjlBYWtKMHI4cVdGZy8xYmgvSmppUVNUTkwzTWZrb0x5L255eSsxaU9taFEvVWNPRkROMGFOTnFHb0F0MXVMbUxhMFJKckZ0TGEyNHZmNzhQbTBoakU2M3h1aDVqRnFRS0FLSVFmYm1ZWk0xSTU4Y0hwVDFRU1lKMHlZWVBuVG54NitJQ1VsWllqUmFPeFF4WGZQNXRWWThvYVJsM2J5elVOcXk2QkNnVUdGUDY2SldyRnJNMnBHTWJuaFk2R2lLRkZsNWhpREUvRkVKY2lxcXVxSzM2TStvYjZtR3AvWjBTWWkyTlJRUTZNYjB0TFQvblhvWU0yN3Yvbk5iejU5L2ZYWC9TY0phUDUyQUMzUUFVTlRRL1hPd1FBQjBTd3Qwcnk0clQ4dG9xUG1kR3BCZ3ZUMGRNNDQ0d3h5YzNPL1UzOWE5ZDZ0dUoyRjVHZWNIaEgzNzAyMmFQbnFWVHkycjVuVVJETzFqYzFNdnZwS3BoZCt0MjBISkVtaWQrL2VKQ1FrQlBONTR2SDcvUmdNUmxRMUVKWGtHNWs4QmxwYmpSZ01QdngrdjlDK0wwdUtFa0JSRktINEF2aFZGVWtTS3RwTk5hd1dFc3gzTXdRbmE0akJHWU9BNWdzQjI0b1ZLMXBYckZqeEwyRHJ4bzF2UDNYKytlZGZrSmlZT0ZTU3BDaGRsL1ZQUDBUeWxBRmZDOWoyYllNVmpUOHVZRk5kNVV5Wit2OVlzZjN0OEhzcjU5M0F4QWZYayt5d2hhZnlJMnMrWW55L1JvcHQ1ekp2MzFHR3Q4ZUpQV1VVcEJWZ0gvY3cyNWZPakFCWHhWYkdqYnVKV21NR2RxVWV1ZkJtdGo1OUQzanJ1V1BDMVordC9zUzNPY25RL05ISG41WWYwWUZTZTREbTd3RFFsQk1BbW1nL09HREFhRFRwcFlhSWl6TVRGMmRweDUrbUtkNTI3WnBNYW1vcUdSazkyUDM2WXR6WExhTDNkeHdrc0NrMWpKbStsbTFySDhSOEdzeVpVMkJzclpRZWFJbVNMWHF5S1pXM0poVFRlT1FJM25oN2xHelI0TkUzTURYUFRrdXJqL2c0N1M4ZjJiK1hpNS8vZ3YvTXVvYnZTMDZ3cWFtSnlzcjlsSmFXVWx0YlN5QVE0T2pSUm80ZDA0SUtzZmx1UVdYZVVOUVVSVkh3Ky8xUzgvRUFmalZBbkRrU1BkVUZHQ1Foa0tGTmtNRVFaSERHR0JZWHRYejg4ZDY4bmoxN1hoZ2ZIejlFVlpSMFZjZENUZ29BVkcyUmpUR01KVWhoM0kzUTVJT010SzhKTEY2b3FvV01iQWlsR25tYW9LNFIwcktJa3E0SjFiNVVWMEZ5QmxoMXMxenhRblVkWkdXM3ZhT3F3YzlTMHFOL0E3QngwVFNXTkE1aDFaenhPbUQ3T1F0ckxtSHI0OU5qMWxSRi8wNkFyWEx0ZzR4ZHNndDMyV0UyVi95YmRDT0FtMG45ZTJLZjloS0xwdzBHb0xTMHJQYk1NOC9ZL05KRDB6Nzh4ZisrVUIzeXFaNEVvT2tYSmNqUUF1MlpuQVNGVDRNMXpURm1wd0dEd1JSc1dteWlJOU16SVNHQlJKc1ZDWWt1S2VuMHpNNElCZ2t5eWM3SzRwRnBBM0ZNZnBPN1JtUkh5MWdCN29aYUdyeG1zak9TMjh5VnhycHFGR3N5S2Zib202cW5xWjY2Smk5cDZSblJVbEg0bUQ2b0Q0TVh2cy80Zmo5OGc1ZnZUYllvQkdxaFkyYzB5SHlmZ1dhSHc4RTU1eFRTMnVyRlpES2hLSDdpNHkzRXhWbUNRUWJORWR2Y2JNSm9iTUZrTXVMMWFpek81L1BoYi9WenBNRWdWRldSQkFxdHJZcVE1QUJtazRxRUpIeCtEZHhDUVFaWkRnY1pBa0pnQUNsWXhTTkN6SzBOeVBYdFc3Z0grQVI0K29JTEx1aDc0TE1QejcvN2hZckJkdzdQU0QrWi96aHRPT3lxZ093SnNIcGU1UDE3eDhBZUdWUTNWSmZDMEZtdytMWVRyKy9wbWJDcUNlcDNBbFl3RnNEV3BmRHdkRmkrQjNKU29MUU01andORTB2QXZRY3l4c0hJWEdod3daNDYyTElMY3UxUXR4c0dqNGFNUXUyZjc5c01XNXNnRzlqK01reStGM29WUVBrK21MOEN4dllQd3lFclZyek82RVVQZnl2ellNM3FOeGc2NFZHOFM2OWw3ZllHcHBVazQ5MjNudFVWV2V5WmZFbXR4K1BaVWxIeHhVZm5uSFBPZmoyNzZnRFEyZ08yMEh1aG9GSWdER2l5ckVwQ3FHcW9JemdJSkVrWVRTWU1zaVM4TFMzSTVnUzZXT1BBM3l3YWpyckl6TTdHYXRGQXpXS0pJeTR1MUpIZFNrS0NqWGpKemVzdnY0RTE3UXppMUdaU2lzZng1SnpCMkJwMk0yNzhQWlR2cWNGWWVSTWJGbGtaTVA1dTVrMGRCa29qc3lkZnk4djdWTEtzSGhwdHhheGQ5VGZTTERCelJDYmJQSDB4bWczVVYrNWw5T3puZUhDeVZzLzU0dHdibVBWeUpZVzlrcW5ZVjg4VFczY3dJSXlKWmthTnVvZ2xMNjlsZkwrSlVjZmNWYmFlQ2ZjOHk3emxLeWh5bkxiQXBoditacGJ0K0lKeGw3Y045bjFWOVNsYmpqbDVXVmN6dXYyRDkxbjAvbjRxajdReWI4TFB2bmYxVjRQQlFNK2VQWW1McytEenRXSzFKZ1M3WE1jQ25KbVdGaTJLMnRyYXFvR2IwY2NaMlVhTzF2bUZLK0NuUzZJV1BRMEVBcUxGRndCSnhXeFNoYXFxa3FJZ0NSQ1NGSTZpQmdDREpLR0FaQWhPZkdQUVREVzJBM1RHSFR0MjdBTDIvT2JLcktjdTIvdFI3NXljbkNLcjFYcGhaN2x4U3pmQTJvV3d0SjF5VEZzQnJKd0xUZHNoZXhvc3ZPM2tUdjcyUGJCM082Ulp3UnZzQ2pqOVliZ242RXFwV2crRDU4TEVEY0U3ZWgzY3N4TUtIWERQY0ZpNUVlNGJBdy9mQzJNZmhIa1RvR29EOU5vWXZNazF3TVRiNGRuZE1EQWQ2clpDOFYwd2VrdHcvM3dWN0N5MWMzdEIyeXVpZE0xZkdGcnhxamFSMHk1ZzlmSjVuV2U4cTNXc1hsZkY3SG45OGRSZXl1TnIxekYxNE1TeThnLzM3ZkIwY1pUMWpEUG9tWm1xWTFtZEFacWlZMmVLSHN3a0NUWFlsRmhvaWd1U2tHUkpHTU9SVG9sV2I2dFFoWUY0czRuNE9CT05UY2RGZ0hpT0hXc2hMYXNuU2JiNHNEOHQwajNLaXMybXFkMGUrYlNVaEw0amVmaXVjZlRva1U1NmVqcFpXVm1RbTh2R2plT1pOZlpzSEpPZlorYkk3UEJoMlB6NGJOWjRMMkx2cm5tWVVWazQ3UkllWHI2TkJWTUhhaVJnd0RqV1BUd1pUL1ZHZXZXL20ybmpkNUJqcVdQSjRzMHMyM3VRUVdtQTRzTVhZMHdVRmhheDY4R2RoQlJ2d3JjbVZ4MjdkbjJFMi9mZkVCVTlCZG1pdm5sbjh6L3BaN0IxOXdjc2VtY1BsMDBkVE1JUFFGTlRVbEp3T3J1UW1KaUl6WllRRlVIVkp0RngzRzR6WnJPSGxoYU40WVZNMDJhekQ4bHZ4R0x4aTJCZ1FmSzRGUXltZ0RBYXRSNE5BVVVWSUNSWkRrZFJKUTNraEJ5OFVPVGdoV0FJbXFuaHNxMTJnTTVZV0hqT1IwRW05OUpiYjYzcmZ0NTU1K1U3SEk0aWs4bDBJWEJTblRVR0J2WC9IRmxnYVFRM25GUjIrYkF4R3FnQllYbVl1cjB3WXlHVTEyZ21aTDF1Z3R0eU5WQUR5TXFDVU8vblhidGg5dFBhOCt5QmtCR2NlVlhib05ZSXF4ZkJHa0QxZ2FzVWFvRXNBRmNEalVZSGpuYmNqRG1Ecm1QeG5LREV0OUYyUXQ5TzQvYTFsS1pkZHV6OHJvRWQ5VVhGZTkrWjlOY3ZEQTlOUGhMeWtYYkN6dG9ETmIzQ1JyVHZERlNCcEdxUFFvUjdic2l5TU1nSTdZYW9DSkMwM3BFR0l4YUxSUmlOUnRLTmNQQndBL2JVYkxwM3Rlc0NCQnFvMld6UnFSelpDZWZ6K3FLVlBMc3lnV0hEUnBCYmRHS2h4eTFiL29YWjA1L1o5LzQrNkRid1VHZlpDMmpBTm1TUVpvNWJzd1pTYkM5bGQ1VkNUbDR5UXdZbGM5dTRheGczOGpJR0R4L0ZvTUtzcVBYYW5RNWM5VWZhYk04NVlESjFkWk5QZDFNVVRsVzJLQ0hCeGxrSk5zNjZzb1EzNXE1ZzI1Rkx1THpyRDVQNWJMVmE2ZE9uRDNhN25jVEVSQklTYkZpdFZxeldlSnFhTkFibmRzZGhOamRqTnB2d2VrMTR2YTBjTnhzeDRDYytQdXg3RTdMa0IyTkFNcHMxQnVkcjFSaWNMR3NwSW9HQVFKS0ZoQWdIN0tUZ1hWM1dtSnprMS9uaURERWdwd2M2WTFCQzZRQ3c4Wnh6Q2szTGxqMlZrNU56Wm0rYnpWWm9OQnI3US90OWxjT0tMbCt6OE00U0crUnl3OWl4TUc4ZGpPd0hudDJRTnFXZDdjUnNTemFDVDRuNEl2U2VYWHNHakJrZGVUMW1QSVFGa093TzdJb0xseGRpNlpqVmtVNWUzZ2wxOU4yS29uemdjcmxLRno3K1ZPV1JEN2ZYMk0zTDFSaG1Gb2p4ZzNVRWFIb3cwLzlHMWZ2UGdvMGlWVWxDSUJDeUxLTUdBa0tXRGFoS3F4RElKTm9UTVp1TUhHdHNFQWFUQmw0bWt3bVA1d2l5TE9Ieks5Z1NiY1RIdE1RTDlmbDBPcDEwNjVaQ2V2cUZiTHZtSmo3NzlGTldQZnNnZjMzdEE4cld6Tzg4S2d3VURyaWMwY09DZ2d1anI4YWVrbjFDcUpqejh2dU0zcjZGTFpzMk1ISEkrVHk0N21NbUZFZWtxdHhOTG16TzA2T0QxZmNrVzZUeTFiRVd1aWRwL0t5eHZvNERpcGt1bGgrK25DTXpNeE9Id3hFRU9Gc1k0T0xqajJLeGFPQ21CUlphTUpsYU9CWm53b0NQaEFSanFHS0JoRGdqTHNVdkxIWURpaThndVlXQ3lSd1FKbGtsRUFqZzk2dElraURZVHliVTZGbHZwc3JCQzhRZ1NWSTQ2S0FEdWZiQXp2alJSM3VONTUxM1hpbXdEMWg3eGhsbkdHNGI5WHhXcStHc0hKOHZxYmZKWkNxUUpLblh0M3JBR3FIYUNDVkYyazZ2VzMxUzZtUU1HZ2pyMThDSUdiQjNQZFFvRWZabXF3WTVHNHFEUVkyR0JoMkdtWE1wem0ya3ROeERZZUdKbzhOQ2lBcFZpRStPSHE2cjJGeXg3OHNiYjV4MHFLYW1SbzFoWmUyeHM0NVlXdml6b05LTEVyTU9WUWloVDlVUVdndGNTY2d5QkZTRXdXQkE4ZnVGd1dSQ1ZWb3htT0t4eHNjSmd4UkFVU0UrVG10N0o3eE5mSFZNMEsrNG1PcTlIMURqeXViOE5JY3U0VllmOWRUcVBidDI2VUpxang2Y2ZlNkZETy9uSUcza2MzZzFsNmpHb0MwVzZoc2EwTHlaMmhnODZGTHUyVnBKdjlrVE5aYXJlbWhvaXR4cU5tM1p4TXlSVS9CVWIyT25xNEFGMlViQWg4dXRValJ3S0VVRGg5SlUray9LeW10QkIyeGxaYVVVOVcvTEdOM2xtNWd4ZnhYM0xGcE12djEwQmJaVGtpMUs1Uy9QdmNTN0xSYTZ4Y3Q4ZWFTWmNTTXZvMy9DYVFIdUpDWW1VbEJRUUZKU2tnN2dFckJhRzJscWlzZGljUkVYMTB4Y25KbkdPRE1tNGNWbU05SGFxa1ZOMHpKOXVDdE0xQi8ySTFSRnlHWUZlNElpQlpON2hkY2JRRGFxUWhhcUZFcjAxUVVhUWlBWFpuSEJ2RGcvMGJseGhoaUFhL1A4eXkrL05QenVyeVdmQVJWeEMza0hNRHp5eUo5c2g1b3VUMDkwOWNocWJiV2RhUkttWGlEM1JsTW8rZm9qQzI0ZkNDVURJTWNHeVZrbk40bnVlaGhHajRIOHBaRGJIN0tDZHFPY0RDc1d3YVNCV3ZEQVZRdm0vckR4OFloVGV1eTRLMWk1ZmlNVENrZEZoK2VGK016cjlYNXgvUGp4TDZ1cnF3Lys4NThiRHQxLy8vMHRnRHFoWDdvNEFaaDFCR3F4ejhOTDhQeEVKZElHMndNSmlLUnJJRWxDUXNKb2tJUmYwZEtLZksxZVRPWTRMQ1pWSEdseWM3akJDMExDYUpBd3g4VmpOY1BlZlhYazlSdElhbGM3R1lNdjR1Mk5PL0hrOXlhN1czSlFsY05KdDI3ZHdxVlJtWm1aYkhyaUxpNWUrQjhLOHJLbzNMdUgyKzc3QjNyNEh6dnRONHlkZGdNYkY5c1pQUGwvV0RCakJJT256V1hFenVzb0tMcUkvQ3dIRmVXVnpGajhKdE9IYW1TL2FmdkxEQnI2R2syVnBVeDYrQmx5TEFCMWpDKytGSGRHUG5ZYXFIVG5zbVprWVJSNVdidm0zNHlkTzYvTnVmZldsL1BNTXk4eDhjSHZEOWkrMTFyUlprOHpSN3dLWFJNVFNUREpQd2lJMWRmWDQvUDV5Y2pvMGY0K05qZFRYVjBkVHVnOWNpUlVhK29LeXlDMXRHaSt0OVpXYnhEY3RIcFRqOXVISWhTRXFxV0hoSXJxUTlVTHdScFVnaldvb1VKN1FrQ25lNVNEZ0NmcmxwQ01raUdtQ2ZTSm5odGlmdy9JcTFhOW1weVhsOWN0T2JsYnFzMldrRzR5bWJvYkRJWU1TWkl5MnhwOWJVZEREU2hXU1B1YUVTQkZBV29oYXlpVWwwZnNabFdCbWhxd0o0TWpZa3g3aFJBSFdnL3ZPamh3K0IrL1dySDI2YStVeHZyRFpXVmxSNjYvZnZ4UklocDY0ZlNKRHNDc0k0Ylc0Zk5ROGJudTkvb1VqWENxUnVneDJCMHRxTllzaVpCY3ZXNkpsRU1aWkFRUzFnUWJscmhRbmFjNUdQRU1CUWdTd3Uzd3VuUnhoRmxhS0RpZ2I0WG44N2lvclcvVU9qcFpUejZMek5OVVQ0TkxJUzA5SFhQdzdqUnplQ2JaTTk5bllxR0NZbkdTSEpYdW9kSlFXNHNiTTFucEtkR3BJL3ZXTW5ENk9yWnZYb0wxTkNBclA3b2krRzhLYktGUlYxY1hMS1EvUkVQRFlSb2JHNE1hYnhHbEVJK24vWW9Gdjk4ZnpuM1RWeTRFQW9vVUNLaGhnQXNFMUNDd3FhaHFHTlRRTWJxT1FDNE1VREdxSTUwdGNzeHpPZVo1YUJ2U280OHVzUFh0MjllZWxwWm1UMHBLc2x1dFZydlpiTFlialVhN3dXQ3d5N0pza3lUSkprbFNnaVJKOFVFZ0RBa0FHSFRldFJBdytHcTM0cHY1TE41emU0dVdiYStKNXZRSndyM3dsNm83RUFnY1Z4VEYxZHJhNnZKNFBNZWJtcHBjWDMzMTFmRzllejkyMzMzMzNSNGRlSWtZSUJPZGIrLzA0Z0FBQzh4SlJFRlVnSmtleURwaWFsRkxKMEFXQldaNklBT0VMRXRDNjVJbVlURElPa0NUTVJpTXNaVURSQkp0MjFZUWFNbTJtaUpIWXFJOXpOS1NrN3NGdTdGck9XcmY1UWdCMjR5aFgyODcrN2F0cGNGUlRFbis2U0VQL3hPd2RaYk40dmR6NE1DQnNJQ2xKb04wbEdQSFhPMktXRWFyaGZpQ0FLZTBBM0FSRnFkMXVsZEQ1VnJFTUxqT1FLNWRzTk9WZDhtZGdKcWhIV0NMWGZUYjZXeWhuY2ZZNTlGTzJyYlA5WStkTGJGQUZydDB4TkxhUEE5SnY3Y0hZaWNDczlEem1KNGFVZXlzTGFDRlFDMVN1TjZSR0dSU2toMkhvd3ZKeVYxeHlHNys4MkVsRG1jWERJYm8vdlQ5aDQxblFPNjMyMTE5Mzg3TldIc05KTXRwL3ErK3puOEN0cE1ZeDQ0ZDQrREJnOVRWMVhINGNJaTlSWFRlbXBzOU92TTBVclVRcVRtTkJyaEFJQkJscHFxcUdnVnlRcWlTcW9xd3FVcTQ0Yk9RaEVBUGRGSTdJQlFEVU1LZ1ZVTzB5OUk2QXplcEE0Q1Qyd0cxemdDdU0zQ0xCVFRhQWJIT0dKcmFBVnVMZXEybDJraWRnbGpRWjZick54djJtNFhBTEdocVNraFNOSmpwUUUyRUZHUDBnR1kwUmhoYXFIcWdiVjZhVFZmbkdmR2w5ZWpSZzZTa0pINGEzM2xVOVAvZVNFcEtJaWtwaWE1ZHUxSmIreFgxOVllQ09tOUhneVZaeDRNRjljM2hnbnF2VjErU3BXZHZJUk0xRUtVZW9nbGNCZ2dFVkZSVkZVR1FFNnFxU3FGK00xcS9CcUpZWFBBQ2ptVjBPZ0NTWkVtS0JUd2hCd0d5TTBEckROeStEblA3T3NEMmRjek9kZ0V1Q0VpZEFoalJ6YkxEb0tyM21ZVmVCd0V0aXBscFFDYUgyajZLRUZPTDFIWWF3d3JPRVpZV3FSNndSS1Z3aEZoYUVsMjZkQ0U1T1ptVWxGVFMwN3YvbjVBWCtnbllmdUJSV3ZvSnVibG5rWnFheW9FRE5kVFZmY1hodzRjNWN1UklsSkJseUR6Vks0Ym9hMDQxMzVzR2NvRkFHT0FJQkFKNmlTUkp4K0JFaE1tSjBLT0lNVlhSUjFjamJGeEk3WU5TRk5oRmZhY2RjMWM2QWJCMXhOcGlUVkxSQ2JoMUJuQnFlNjkxb05RWnM0djlUZFMyOUs5alRFMWtXZFlGQS9TQVppQ2t1aEVMYUFaRGhLSHBpOWJiVTdiVnpNNklFR1RYcmwyRExLMDdtWmsvS1ZyOUJHdy93TWpNekNBMU5ZWGEydHF3U205Yjg3UTVHRndJQVp3dnh2L1docjJGQWd4QmtGTTdCRGtkd0JITjVxUllvSXQ2M3M1bmJaWmdIbDBuekV4TDB2b3VmV3hCMW5XeVRLNmpCYjFwR2ZPYTlsaFppSm5wL0dmdGdGbkk3RFIyd3RMMGZqUnpVQk13WGljQ0dXMTJodFJ0MDlQVE1adk5QMTFnUHd5d0JkaXhkeC8vclBpS1k0cE13Vms5dWVIY016QURyYzFOdkxyck0vYldIY05nc1RHeXVKQUx1OGNrd2l2TlBQWHZqem16OTlrTXp2anY5UjJZeldheXM3TkpUVTF0WTU3cW82ZlIvamM5ZytzNGVxb29Db3EvbFpaV0NZdFppZ0k1WGJDaFBaQWowaVlWS2ZaUlZWVWtXUTRKMk1ReU96cGhZcnJYVWtqVzYyVEJyQ1BHRnZXZUNOblpKMlp5ZEFKZ2tkOExJVlJWWURESVVVeE01eTlEbjZJUkMyYWh3SUMrQ2JlZW9YVVc3WXo0MFN4dC9HaWhhR2VzMlJuYlVLVzlVYllic29xZzNaYXc3aW9tVEhtWXhTdVc0TlJkMWJYbGU1QlQ4a2x6ZkR1QTZTbGR4ZUM1dTlqNTh2eHZ2SjRoYzNleC9SVFdjekwvNlJUMDJJNnplbmN0UllYWnBKcFZscjI5a2MrT1g4YURnN0w1c3JLS2o1dGxMdTJiaS92SVFYNzk5NVVzdm1NaUE3cEVOdlBXNXEwc2VlOUxyckwxK0s4R3R0Q0lqNCtuWjg4YzB0SlNxYXVybzc2K1BtaWU2djF2SVlCcmFTT0wxRkgwdExuaENJY2JBK1JrcGVqVFE0VE9ENmNIT1lSUWhSWndVQWtHSHNKQUY3ek9KU0VFa2l3alJjQ09rMkZkTWNCM0lqQTcyWEtTTnFhcGlQdzRDcVJDN0tvanRxY0h4UER6NFA4ekdBemg5Mk1DQUVRZVk4Rk0xalhkMWdPYUlkaVl1Nk5vWjdTc1VFaUZRd08waUIrdGE5ZXVwS1Nra0phV0ZwV1BkcUl4YlFRc3JJRCs3UlROclZzeUI4dUE4VkdnQnJEa3ZwL2ptUHhXVkJIOE43cWhweFZ3KzZSdm50S2hlbDFVVlI4K3BkK2V6SC82K3NBbU8zaGc4dVhobDEwOGg3bDF6NWN3S0p2Y3ZrVTgwRGYwU1RhN1AvbVVMZnNiR2RCRk94Q3V1djA4VjJ2anVqT3RlSDVrMURjaElZR2VQWHZTdlh2M2NQVDBTTzFuUFAvQ2UvUXRLY0hlY2h6WG9VbzJmVkpMbjc2NUpMUzJCQU1Nc1F6T3k0RXZ2cURwV0ROQ0VSdzVjZ1JWTXBHUzRvUkFnSURpNWZEaFkxaXRSbkhNNVVKRnhwN2tRQloreWVWeW93UzBXSUlwemlKTVJna2hCQUcvRDE4Z0lBQkpsZzFJaE1CT1JWRlVMU0NocXFDeGxwTUZyVFlBcGtYWXBUQ2xDNmJrSTdjdmNpakMzd21CclBiOVlGNFlZWUFLN20yUTFXbUFKSVFxaE5CK0wwa3lScU1oQkhBRUZEOENDVW5Xb3BRaFVBdjRXMUV4b3JTMkVoQmd0ZG14eHBuQ1FOWk8yZ1p0ZldudE16U3Q3MEFRMEl6eDdQbkVTdTRaTm5ac1M2UmJUaEkzVDNTUTNrM3pveDJ0U09OdnoxaHh5VEIrT2d3dEJEeXdjQkdNdnhQU0xPQ3JoMGVlaFJsM1FlVW1XTGtacXR6dytGeElNOE9JU1RBd040UVNqU3grNGwvY3RXVnArT0EybFc5andiTnZzYm0wSHN2eVA5TzAzVUhlNEd1Wk9GUnJabHk1Y3kxYm01SkpxZDNDaTVzK0lYZkl6N2x2OG5BcWQyM2c2WmZmb3JxdWtmVGM4NWx4KzNUUzdScE1ySHY2WWJaVkhNZWFkWDdVaWF6WXZvYnRqWGE4ZXphd3RlSUlJNmY4bHJFbHVTZHgxZmhZdldRZWEzWitTYitSTjNIYjJCSmtvTDU4TzB1ZlhVVjU5U0djR2IyWmR2dWQ1S1ZaVC9pZlZFODl5eFl2Wm12cEFiNXgrdituOVEza3ByZVRTK00vVHNVUmxUNnBRVmFtK25obzdVNm1YM2srY1QvT2psK0FWbHlmazVQRE9lZWNRLzY1Z3pqSDBjQ0xHOHZJeWtwangvbzFtRFB5eVV4THBWdTNGSktUdStKME9uRTR1b1RMdWV4Mk82azlNa2gxSmlLWkUwaExTeU0xcFNzSlZvMEJ4TWNaY0x1UGMrUm9NM2FIRTd2Tmd0RWNSNXhSRnJJcFR0aVRrb1F0d1N4OExjMWdER2EwV3pRNUpzMDJNd21UeVNTTVJxTXdHaVFSQkFoaE1CcUUxc1JCVWcwR2d5ckxjbnRMSUxpRUd2ZEdMNXIybkNKSmtxWjRvZFZWaGwvSExBRkprZ0t5SkFWa1dRNG15V3JybG1VcHZCMkJVSVdHdW1wd3U2ckJZRkFsdEk1TkpwTlJTS2hDQ2FqQ2FEUUtrOGtrVENhek1FaUlnQ3AwaXJOeGlJQkNhMnVyc0NRa0NwdFpGbTdYY1JFWHIvbS9Jbzc5NEhHT2o4ZHF0WEM4c1o1RGh3NVJWMWRIYlcwdEJ3OGU1S3NqYnV4Mk8wbEpTVGdjWFlKK3NxNTA2NVpDYW1vcTZjbmRlVzlMQm1VTlozRDk5VGswN3N4bFcxMCs1NXh6RGtwRkR0ZmVhYVZrTEV3YUNYZU5nWjMxZ0JXeWZERHBIazBzZE5ZVWNLV0JYWWIwWGpCOE9Eak5VRHhFZTU2bHUrUjg1WnZZS2ZkblFIcUVwMWlTc3hnMi9BcXlVMnowNm5jeHc0ZGZRYjllRVZtL3lwMXZjdCswWDdDcXdzTDRpZGRqVlZ3QVZGV1UwMnZBbGR4KzF4MWt1ZDlqMkpSNVljR0N2SDZES2NrSzhNaXlOMktBN1ExbVRMc2J0V0FvRTRabU1uM3N6VlNmaEVSUjArNVZiSEQxWXZxVWExazkrem9XYjZnRW9LYXlBbWQrQ1hmZWRRY2xLWWNZTnVJVzNDZjZUNnFMR1NNdVpsMk5uV20zMy9ITmdnZlYrei9oc1U4Q1BEbmo3RmlpeVROck5oSjM5Z0N1N0tHVkpPN2M4UjVObVVVTTZtYm13LzhEemt1THhVSjJkalozTFg2QlR5Ky9tTWNmLzRER3pKSE12dTRTM0M1OWlvaW5UWW1XMVpxSVRiaW85UGpKeU1pSTlzRVp0Um1UY1ZadkVnMUNaNlphTU1mN2FQWTBvMGp4eUhLTFVERVFGMmRHbU0zRVdWUWFXcjJTMFJ4SG5DRm9zaXFDRnE5ZnhOc1NrSVdndGFVWlJZRFJhQ1Jpd1lxUU9Sb21Xa0VpRmtXK2hORGlwcW8vQUxLTWpDb0ZBbUF3R0pHbGprMVFqV1JKK0gwK0pJTVJveHg1RDBBRUFnUWtDWXNsTHNxa05KdE5CQlNGZ0Nvd0dtUjhBVUZjbkJsSmtwRXNGcFFXRjY1V1NWZ3NjV0Z6cy9XNGhDa3VpV1NuQTFsSzRIaGxMWEpjUFBGR2ZiV0FQakFnMDJwTEpJNW9jOVNjMkFXbnMwdVVEMDNmU01WT0VpYWpnOS8rMFVtLzFHNTBQNTdLcXpWR0xCWll1aEFtem9JUkpkci9uem9VVnF5RjRpa3daaFpzSGdGanhrQlRDbXdNeXBxbFpHdUwzUXo5U3RxYW9yWGxWVmh5TXFOa1hTek9ERXBLTWxpZllzV1JYMHhKU1Z1enpaaDNCWS9QdXgwWkdCNThiOGo0R2RSVzdHVnZlUTBaaGVkUzkreGJOQUxKUUU1aE1TbStNdVJsYlUzSWdwRTNNbTNVRUtDWWdiUCt6TjVhVFNtNTA1RStpUG4zanNjQnpKcHhEZmU4dUlyYmg4MmszL0NKWkZmdlkwOVpKZVplNTJDcGZJQUtOeFIxOHA5Y3UxZXp2RGFQbXMwenNRUC9IM2l4Z0ptUU81d3VBQUFBQUVsRlRrU3VRbUNDIl0sWzEsImRldGFpbHMtY29udGFpbmVyIl0sWzEsImRldGFpbHMiXSxbImhyZWYiLCJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9hcGlfZG9jcy9weXRob24vdGYvZGVidWdnaW5nL2V4cGVyaW1lbnRhbC9lbmFibGVfZHVtcF9kZWJ1Z19pbmZvIiwidGFyZ2V0IiwiYmxhbmsiLCJyZWwiLCJub3JlZmVycmVyIG5vb3BlbmVyIl0sWyJocmVmIiwiaHR0cHM6Ly93d3cudGVuc29yZmxvdy5vcmcvYXBpX2RvY3MvcHl0aG9uL3RmL2RlYnVnZ2luZyIsInRhcmdldCIsImJsYW5rIiwicmVsIiwibm9yZWZlcnJlciBub29wZW5lciJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZGl2IiwwKSxDZigxLCJkaXYiLDEpLFB1KDIsIkRlYnVnZ2VyIFYyIGlzIGluYWN0aXZlIGJlY2F1c2Ugbm8gZGF0YSBpcyBhdmFpbGFibGUuIiksTWYoKSxDZigzLCJkaXYiKSxQdSg0LCJUbyB1c2UgdGhlIGRlYnVnZ2VyLCIpLE1mKCksQ2YoNSwiZGl2IiksQ2YoNiwib2wiKSxDZig3LCJsaSIpLFB1KDgsIiBBZGQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIHRoZSBiZWdpbm5pbmcgb2YgeW91ciBwcm9ncmFtOiAiKSxDZig5LCJkaXYiLDIpLENmKDEwLCJzcGFuIiksUHUoMTEsInRmLmRlYnVnZ2luZy5leHBlcmltZW50YWwuZW5hYmxlX2R1bXBfZGVidWdfaW5mbygiKSxNZigpLENmKDEyLCJzcGFuIiwzKSxQdSgxMywibG9nZGlyIiksTWYoKSxQdSgxNCwiLCAiKSxDZigxNSwic3BhbiIsMyksUHUoMTYsJ3RlbnNvcl9kZWJ1Z19tb2RlPSJGVUxMX0hFQUxUSCInKSxNZigpLFB1KDE3LCIsICIpLENmKDE4LCJzcGFuIiwzKSxQdSgxOSwiY2lyY3VsYXJfYnVmZmVyX3NpemU9LTEiKSxNZigpLENmKDIwLCJzcGFuIiksUHUoMjEsIikiKSxNZigpLE1mKCksTWYoKSxDZigyMiwibGkiKSxQdSgyMywiUmUtcnVuIHRoZSBwcm9ncmFtLiIpLE1mKCksTWYoKSxNZigpLENmKDI0LCJkaXYiLDQpLENmKDI1LCJkaXYiLDUpLENmKDI2LCJkaXYiLDYpLHZmKDI3LCJpbWciLDcpLE1mKCksQ2YoMjgsImRpdiIsOCksUHUoMjksIkF1dG8tYWxlcnRzIGZvciBwcm9ibGVtcyBmb3VuZCIpLE1mKCksTWYoKSxDZigzMCwiZGl2Iiw1KSxDZigzMSwiZGl2Iiw2KSx2ZigzMiwiaW1nIiw5KSxNZigpLENmKDMzLCJkaXYiLDgpLFB1KDM0LCIgSW50ZWdyYXRlZCBkZWJ1Z2dpbmcgdG8gdHJhY2UgcHJvYmxlbXMgdG8gdGhlaXIgY2F1c2VzICIpLE1mKCksTWYoKSxDZigzNSwiZGl2Iiw1KSxDZigzNiwiZGl2Iiw2KSx2ZigzNywiaW1nIiwxMCksTWYoKSxDZigzOCwiZGl2Iiw4KSxQdSgzOSwiTGluayBsb2cgdG8gY29kZSIpLE1mKCksTWYoKSxNZigpLENmKDQwLCJkaXYiLDExKSxDZig0MSwiZGl2IiwxMiksUHUoNDIsIiBUaGUgbG9nIGRpcmVjdG9yeSBtdXN0IGNvbnRhaW4gVGVuc29yRmxvdyBEZWJ1Z2dlciAoVjIpIGRhdGEuIHRmLmRlYnVnZ2luZy5leHBlcmltZW50YWwuZW5hYmxlX2R1bXBfZGVidWdfaW5mbygpIHdpbGwgY29sbGVjdCB0ZW5zb3IgZGF0YSwgZ3JhcGggc3RydWN0dXJlcywgdGhlIGFzc29jaWF0ZWQgc3RhY2sgdHJhY2VzLCBhbmQgc291cmNlIGNvZGUgdG8gdGhlIHNwZWNpZmljZWQgZGlyZWN0b3J5IGxvZ2RpciBhcyB0aGUgaW5zdHJ1bWVudGVkIFRlbnNvckZsb3cgcHJvZ3JhbSBleGVjdXRlcy4gIiksTWYoKSxDZig0MywiZGl2IiwxMiksQ2YoNDQsImRpdiIpLFB1KDQ1LCIgU2VlICIpLENmKDQ2LCJhIiwxMyksUHUoNDcsIiBkb2N1bWVudGF0aW9uICIpLE1mKCksUHUoNDgsIiBvZiB0aGUgUHl0aG9uIEFQSSBvZiBEZWJ1Z2dlciBWMi4gIiksTWYoKSxDZig0OSwiZGl2IiksUHUoNTAsIiBTZWUgIiksQ2YoNTEsImEiLDE0KSxQdSg1MiwiIGhlcmUgIiksTWYoKSxQdSg1MywiIGZvciBvdGhlciBUZW5zb3JGbG93IGRlYnVnZ2luZyBBUElzLiAiKSxNZigpLE1mKCksTWYoKSxNZigpKX0sc3R5bGVzOlsiLmFyZ1tfbmdjb250ZW50LSVDT01QJV0ge1xuICBjb2xvcjogbGlnaHRibHVlO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG1hcmdpbjogMnB4O1xufVxuXG4uY29kZVtfbmdjb250ZW50LSVDT01QJV0ge1xuICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgbW9ub3NwYWNlO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi5jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LWZhbWlseTogUm9ib3RvO1xuICBmb250LXNpemU6IDE1cHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDUwcHg7XG59XG5cbi5kZXRhaWxzLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5kZXRhaWxzW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAxMHB4IDYwcHg7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5leGhpYml0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmV4aGliaXRbX25nY29udGVudC0lQ09NUCVdIHtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMTBweCA2MHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMzEwcHg7XG59XG5cbi5leGhpYml0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5kZXNjcmlwdGlvbltfbmdjb250ZW50LSVDT01QJV0ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMzEwcHg7XG59XG5cbi5leGhpYml0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5zY3JlZW5zaG90W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGNhbnZhc1tfbmdjb250ZW50LSVDT01QJV0ge1xuICBoZWlnaHQ6IDIwMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGZvbnQtc2l6ZTogMTM1JTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE9YLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImluYWN0aXZlLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vaW5hY3RpdmVfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vaW5hY3RpdmVfY29tcG9uZW50LmNzcyJdfV19XSxudWxsLG51bGwpO2NsYXNzIFBYe2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dH19UFguybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFBYKShnZihpUykpfSxQWC7JtWNtcD1zbyh7dHlwZTpQWCxzZWxlY3RvcnM6W1sidGYtZGVidWdnZXItdjItaW5hY3RpdmUiXV0sZGVjbHM6MSx2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmdmYoMCwiaW5hY3RpdmUtY29tcG9uZW50Iil9LGRpcmVjdGl2ZXM6W09YXSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFBYLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRmLWRlYnVnZ2VyLXYyLWluYWN0aXZlIix0ZW1wbGF0ZToiIDxpbmFjdGl2ZS1jb21wb25lbnQ+PC9pbmFjdGl2ZS1jb21wb25lbnQ+ICJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y29uc3Qgd1g9X2soIltEZWJ1Z2dlcl0gRGVidWdnZXIgTG9hZGVkIiksa1g9X2soIltEZWJ1Z2dlcl0gRGVidWdnZXIgVW5sb2FkZWQiKSxTWD1faygiW0RlYnVnZ2VyXSBBIE5ldyBEZWJ1Z2dlciBEYXRhIFBvbGxpbmcgRXZlbnQgQmVnaW5zIiksRFg9X2soIltEZWJ1Z2dlcl0gRGVidWdnZXIgUnVucyBSZXF1ZXN0ZWQiKSxSWD1faygiW0RlYnVnZ2VyXSBEZWJ1Z2dlciBSdW5zIExvYWRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEVYPV9rKCJbRGVidWdnZXJdIERlYnVnZ2VyIFJ1bnMgUmVxdWVzdCBGYWlsZWQiKSxBWD1faygiW0RlYnVnZ2VyXSBOdW1iZXIgYW5kIEJyZWFrZG93biBvZiBBbGVydHMgUmVxdWVzdGVkIiksVFg9X2soIltEZWJ1Z2dlcl0gTnVtYmVyIGFuZCBCcmVha2Rvd24gb2YgQWxlcnRzIExvYWRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLE5YPV9rKCJbRGVidWdnZXJdIEFsZXJ0cyBEYXRhIG9mIGFuIEFsZXJ0VHlwZSBJcyBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSx6WD1faygiW0RlYnVnZ2VyXSBBbGVydCBUeXBlIEZvY3VzIFRvZ2dsZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxJWD1faygiW0RlYnVnZ2VyXSBOdW1iZXIgb2YgVG9wLUxldmVsIEV4ZWN1dGlvbnMgUmVxdWVzdGVkIiksSFg9X2soIltEZWJ1Z2dlcl0gTnVtYmVyIG9mIFRvcC1MZXZlbCBFeGVjdXRpb25zIExvYWRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEZYPV9rKCJbRGVidWdnZXJdIEV4ZWN1dGlvbkRpZ2VzdHMgUmVxdWVzdGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksTFg9X2soIltEZWJ1Z2dlcl0gRXhlY3V0aW9uRGlnZXN0cyBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxCWD1faygiW0RlYnVnZ2VyXSBTY3JvbGwgTGVmdHdhcmQgb24gdGhlIEV4ZWN1dGlvbiBUaW1lbGluZSIpLFZYPV9rKCJbRGVidWdnZXJdIFNjcm9sbCBSaWdodHdhcmQgb24gdGhlIEV4ZWN1dGlvbiBUaW1lbGluZSIpLGpYPV9rKCJbRGVidWdnZXJdIFNjcm9sbCB0aGUgRXhlY3V0aW9uIFRpbWVsaW5lIHRvIEdpdmVuIEluZGV4Iix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksVVg9X2soIltEZWJ1Z2dlcl0gRXhlY3V0aW9uIERhdGEgT2JqZWN0cyBCZWluZyBGb2N1c2VkIE9uIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksV1g9X2soIltEZWJ1Z2dlcl0gRXhlY3V0aW9uIERhdGEgT2JqZWN0cyBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxHWD1faygiW0RlYnVnZ2VyXSBOdW1iZXIgb2YgSW50cmEtR3JhcGggRXhlY3V0aW9ucyBSZXF1ZXN0ZWQiKSxZWD1faygiW0RlYnVnZ2VyXSBOdW1iZXIgb2YgSW50cmEtR3JhcGggRXhlY3V0aW9ucyBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxxWD1faygiW0RlYnVnZ2VyXSBJbnRyYS1HcmFwaCBFeGVjdXRpb24gRGF0YSBSZXF1ZXN0ZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxaWD1faygiW0RlYnVnZ2VyXSBJbnRyYS1HcmFwaCBFeGVjdXRpb24gRGF0YSBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxYWD1faygiW0RlYnVnZ2VyXSBTY3JvbGwgSW50cmEtR3JhcGggRXhlY3V0aW9uIExpc3QgdG8gR2l2ZW4gSW5kZXgiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxLWD1faygiW0RlYnVnZ2VyXSBHcmFwaCBFeGVjdXRpb24gaXMgRm9jdXNlZCBPbiIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEpYPV9rKCJbRGVidWdnZXJdIEdyYXBoIE9wIElzIEZvY3VzZWQgT24iLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxRWD1faygiW0RlYnVnZ2VyXSBHcmFwaCBPcCBJbmZvIFJlcXVlc3RlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLCRYPV9rKCJbRGVidWdnZXJdIEdyYXBoIE9wIEluZm8gTG9hZGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksdEs9X2soIltEZWJ1Z2dlcl0gU291cmNlIEZpbGUgTGlzdCBSZXF1ZXN0ZWQuIiksZUs9X2soIltEZWJ1Z2dlcl0gU291cmNlIEZpbGUgTGlzdCBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxuSz1faygiW0RlYnVnZ2VyXSBTb3VyY2UgRmlsZSBMaW5lIElzIEZvY3VzZWQgb24iLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxvSz1faygiW0RlYnVnZ2VyXSBTb3VyY2UgRmlsZSBSZXF1ZXN0ZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxpSz1faygiW0RlYnVnZ2VyXSBTb3VyY2UgRmlsZSBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxhSz1faygiW0RlYnVnZ2VyXSBBIFNldCBvZiBTdGFjayBGcmFtZXMgSGF2ZSBCZWVuIExvYWRlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHJLPSJkZWJ1Z2dlciI7dmFyIHNLLGxLLGNLO2Z1bmN0aW9uIGRLKHQpe2lmKG51bGw9PT10LmNvZGVMb2NhdGlvbkZvY3VzVHlwZSlyZXR1cm4gbnVsbDtsZXQgZT1bXTtpZih0LmNvZGVMb2NhdGlvbkZvY3VzVHlwZT09PWNLLkVYRUNVVElPTil7Y29uc3R7Zm9jdXNJbmRleDpuLGV4ZWN1dGlvbkRhdGE6b309dC5leGVjdXRpb25zO2lmKG51bGw9PT1ufHx2b2lkIDA9PT1vW25dKXJldHVybiBudWxsO2U9b1tuXS5zdGFja19mcmFtZV9pZHN9ZWxzZXtpZihudWxsPT09dC5ncmFwaHMuZm9jdXNlZE9wKXJldHVybiBudWxsO2NvbnN0e2dyYXBoSWQ6bixvcE5hbWU6b309dC5ncmFwaHMuZm9jdXNlZE9wO2lmKHZvaWQgMD09PXQuZ3JhcGhzLm9wc1tuXXx8IXQuZ3JhcGhzLm9wc1tuXS5oYXMobykpcmV0dXJuIG51bGw7ZT10LmdyYXBocy5vcHNbbl0uZ2V0KG8pLnN0YWNrX2ZyYW1lX2lkc31jb25zdCBuPVtdO2Zvcihjb25zdCBvIG9mIGUpe2lmKG51bGw9PXQuc3RhY2tGcmFtZXNbb10pcmV0dXJuIG51bGw7bi5wdXNoKHQuc3RhY2tGcmFtZXNbb10pfXJldHVybiBufWZ1bmN0aW9uIHBLKHQsZSl7cmV0dXJuIHQuZmluZEluZGV4KCh0PT50Lmhvc3RfbmFtZT09PWUuaG9zdF9uYW1lJiZ0LmZpbGVfcGF0aD09PWUuZmlsZV9wYXRoKSl9ZnVuY3Rpb24gbUsodCxlLG4pe2lmKGU+PW4pdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBiZWdpbiB0byBiZSBsZXNzIHRoYW4gZW5kLCBidXQgZ290IGJlZ2luPSR7ZX0sIGVuZD0ke259YCk7cmV0dXJuIHQuZmluZEluZGV4KCh0PT50LmJlZ2luPT09ZSYmdC5lbmQ9PT1uKSl9ZnVuY3Rpb24gZksodCl7Y29uc3QgZT10LnNvdXJjZUNvZGUuZm9jdXNMaW5lU3BlYztpZighdC5zdGlja1RvQm90dG9tbW9zdEZyYW1lSW5Gb2N1c2VkRmlsZSlyZXR1cm4gZTtjb25zdCBuPWRLKHQpO2lmKG51bGw9PT1uKXJldHVybiBlO2NvbnN0IG89KGZ1bmN0aW9uIGkodCxlKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtmb3IobGV0IG49dC5sZW5ndGgtMTtuPj0wOy0tbil7Y29uc3Qgbz10W25dLHtob3N0X25hbWU6aSxmaWxlX3BhdGg6YX09bztpZihpPT09ZS5ob3N0X25hbWUmJmE9PT1lLmZpbGVfcGF0aClyZXR1cm4gb31yZXR1cm4gbnVsbH0pKG4sZSk7cmV0dXJuIG51bGw9PT1vP2U6b30hKGZ1bmN0aW9uKHQpe3RbdC5VTlNQRUNJRklFRD0wXT0iVU5TUEVDSUZJRUQiLHRbdC5OT19URU5TT1I9MV09Ik5PX1RFTlNPUiIsdFt0LkNVUlRfSEVBTFRIPTJdPSJDVVJUX0hFQUxUSCIsdFt0LkNPTkNJU0VfSEVBTFRIPTNdPSJDT05DSVNFX0hFQUxUSCIsdFt0LkZVTExfSEVBTFRIPTRdPSJGVUxMX0hFQUxUSCIsdFt0LlNIQVBFPTVdPSJTSEFQRSIsdFt0LkZVTExfTlVNRVJJQ1M9Nl09IkZVTExfTlVNRVJJQ1MiLHRbdC5GVUxMX1RFTlNPUj03XT0iRlVMTF9URU5TT1IiLHRbdC5SRURVQ0VfSU5GX05BTl9USFJFRV9TTE9UUz04XT0iUkVEVUNFX0lORl9OQU5fVEhSRUVfU0xPVFMifSkoc0t8fChzSz17fSkpLChmdW5jdGlvbih0KXt0LkZVTkNUSU9OX1JFQ09NUElMRV9BTEVSVD0iRnVuY3Rpb25SZWNvbXBpbGVzQWxlcnQiLHQuSU5GX05BTl9BTEVSVD0iSW5mTmFuQWxlcnQiLHQuVEVOU09SX1NIQVBFX0FMRVJUPSJUZW5zb3JTaGFwZUFsZXJ0In0pKGxLfHwobEs9e30pKSwoZnVuY3Rpb24odCl7dFt0LkVYRUNVVElPTj0wXT0iRVhFQ1VUSU9OIix0W3QuR1JBUEhfT1BfQ1JFQVRJT049MV09IkdSQVBIX09QX0NSRUFUSU9OIn0pKGNLfHwoY0s9e30pKTtjb25zdCB1Sz1WUyh7cnVuczp7fSxydW5zTG9hZGVkOntzdGF0ZTpVRS5OT1RfTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpudWxsfSxhY3RpdmVSdW5JZDpudWxsLGxhc3REYXRhUG9sbE9uc2V0VGltZU1zOi0xLGxhc3ROb25FbXB0eVBvbGxEYXRhVGltZU1zOjEsYWxlcnRzOnthbGVydHNMb2FkZWQ6e3N0YXRlOlVFLk5PVF9MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOm51bGx9LG51bUFsZXJ0czowLGFsZXJ0c0JyZWFrZG93bjp7fSxhbGVydHM6e30sZXhlY3V0aW9uSW5kaWNlczp7fSxncmFwaEV4ZWN1dGlvbkluZGljZXM6e30sZm9jdXNUeXBlOm51bGx9LGV4ZWN1dGlvbnM6KGZ1bmN0aW9uIGdLKCl7cmV0dXJue251bUV4ZWN1dGlvbnNMb2FkZWQ6e3N0YXRlOlVFLk5PVF9MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOm51bGx9LGV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQ6e2xvYWRpbmdSYW5nZXM6W10sbnVtRXhlY3V0aW9uczowLHBhZ2VMb2FkZWRTaXplczp7fX0sZGlzcGxheUNvdW50OjUwLHBhZ2VTaXplOjEwMCxzY3JvbGxCZWdpbkluZGV4OjAsZm9jdXNJbmRleDpudWxsLGV4ZWN1dGlvbkRpZ2VzdHM6e30sZXhlY3V0aW9uRGF0YTp7fX19KSgpLGdyYXBoRXhlY3V0aW9uczooZnVuY3Rpb24gaEsoKXtyZXR1cm57bnVtRXhlY3V0aW9uc0xvYWRlZDp7c3RhdGU6VUUuTk9UX0xPQURFRCxsYXN0TG9hZGVkVGltZUluTXM6bnVsbH0sZXhlY3V0aW9uRGlnZXN0c0xvYWRlZDp7bG9hZGluZ1JhbmdlczpbXSxudW1FeGVjdXRpb25zOjAscGFnZUxvYWRlZFNpemVzOnt9fSxkaXNwbGF5Q291bnQ6MTAwLHBhZ2VTaXplOjIwMCxzY3JvbGxCZWdpbkluZGV4OjAsZm9jdXNJbmRleDpudWxsLGdyYXBoRXhlY3V0aW9uRGlnZXN0czp7fSxncmFwaEV4ZWN1dGlvbkRhdGFMb2FkaW5nUGFnZXM6W10sZ3JhcGhFeGVjdXRpb25EYXRhUGFnZUxvYWRlZFNpemVzOnt9LGdyYXBoRXhlY3V0aW9uRGF0YTp7fX19KSgpLGdyYXBoczp7b3BzOnt9LGxvYWRpbmdPcHM6e30sZm9jdXNlZE9wOm51bGx9LHN0YWNrRnJhbWVzOnt9LGNvZGVMb2NhdGlvbkZvY3VzVHlwZTpudWxsLHN0aWNrVG9Cb3R0b21tb3N0RnJhbWVJbkZvY3VzZWRGaWxlOiExLHNvdXJjZUNvZGU6e3NvdXJjZUZpbGVMaXN0TG9hZGVkOntzdGF0ZTpVRS5OT1RfTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpudWxsfSxzb3VyY2VGaWxlTGlzdDpbXSxmaWxlQ29udGVudHM6W10sZm9jdXNMaW5lU3BlYzpudWxsfX0sQlMoRFgsKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cnVuc0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ydW5zTG9hZGVkKSx7c3RhdGU6VUUuTE9BRElOR30pfSkpKSxCUyhFWCwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtydW5zTG9hZGVkOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnJ1bnNMb2FkZWQpLHtzdGF0ZTpVRS5GQUlMRUR9KX0pKSksQlMoUlgsKCh0LHtydW5zOmV9KT0+e2NvbnN0IG49T2JqZWN0LmtleXMoZSksbz1uLmxlbmd0aD4wJiZudWxsPT09dC5hY3RpdmVSdW5JZDtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtsYXN0Tm9uRW1wdHlQb2xsRGF0YVRpbWVNczpvP0RhdGUubm93KCk6dC5sYXN0Tm9uRW1wdHlQb2xsRGF0YVRpbWVNcyxydW5zOmUscnVuc0xvYWRlZDp7c3RhdGU6VUUuTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpEYXRlLm5vdygpfSxhY3RpdmVSdW5JZDpuLmxlbmd0aD4wP25bMF06bnVsbH0pfSkpLEJTKFNYLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2xhc3REYXRhUG9sbE9uc2V0VGltZU1zOkRhdGUubm93KCl9KSkpLEJTKEFYLCh0PT5udWxsPT09dC5hY3RpdmVSdW5JZD90Ok9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7YWxlcnRzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmFsZXJ0cykse2FsZXJ0c0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5hbGVydHMuYWxlcnRzTG9hZGVkKSx7c3RhdGU6VUUuTE9BRElOR30pfSl9KSkpLEJTKFRYLCgodCx7bnVtQWxlcnRzOmUsYWxlcnRzQnJlYWtkb3duOm59KT0+e2lmKG51bGw9PT10LmFjdGl2ZVJ1bklkKXJldHVybiB0O2NvbnN0IG89ZT50LmFsZXJ0cy5udW1BbGVydHM7cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7bGFzdE5vbkVtcHR5UG9sbERhdGFUaW1lTXM6bz9EYXRlLm5vdygpOnQubGFzdE5vbkVtcHR5UG9sbERhdGFUaW1lTXMsYWxlcnRzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmFsZXJ0cykse2FsZXJ0c0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5hbGVydHMuYWxlcnRzTG9hZGVkKSx7c3RhdGU6VUUuTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpEYXRlLm5vdygpfSksbnVtQWxlcnRzOmUsYWxlcnRzQnJlYWtkb3duOm59KX0pfSkpLEJTKE5YLCgodCx7bnVtQWxlcnRzOmUsYWxlcnRzQnJlYWtkb3duOm4sYWxlcnRUeXBlOm8sYmVnaW46aSxhbGVydHM6YX0pPT57aWYobnVsbD09PXQuYWN0aXZlUnVuSWQpcmV0dXJuIHQ7Y29uc3Qgcj17fSxzPXQuYWxlcnRzLmV4ZWN1dGlvbkluZGljZXNbb10/dC5hbGVydHMuZXhlY3V0aW9uSW5kaWNlc1tvXS5zbGljZSgpOltdLGw9dC5hbGVydHMuZ3JhcGhFeGVjdXRpb25JbmRpY2VzW29dP3QuYWxlcnRzLmdyYXBoRXhlY3V0aW9uSW5kaWNlc1tvXS5zbGljZSgpOltdO2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7Kyt0KXtjb25zdCBlPWkrdCxuPWFbdF07aWYocltlXT1uLG4uYWxlcnRfdHlwZT09PWxLLklORl9OQU5fQUxFUlQpe2NvbnN0IHQ9bjtzW2VdPXQuZXhlY3V0aW9uX2luZGV4LG51bGwhPT10LmdyYXBoX2V4ZWN1dGlvbl90cmFjZV9pbmRleCYmKGxbZV09dC5ncmFwaF9leGVjdXRpb25fdHJhY2VfaW5kZXgpfX12b2lkIDAhPT10LmFsZXJ0cy5hbGVydHNbb10mJk9iamVjdC5hc3NpZ24ocix0LmFsZXJ0cy5hbGVydHNbb10pO2xldCBjPXQuZXhlY3V0aW9ucy5zY3JvbGxCZWdpbkluZGV4LGQ9dC5ncmFwaEV4ZWN1dGlvbnMuZm9jdXNJbmRleDtpZihvPT09bEsuSU5GX05BTl9BTEVSVCYmMD09PWkpe2NvbnN0IGU9YVswXTtjPU1hdGgubWF4KDAsZS5leGVjdXRpb25faW5kZXgtTWF0aC5mbG9vcih0LmV4ZWN1dGlvbnMuZGlzcGxheUNvdW50LzIpKSxudWxsIT09ZS5ncmFwaF9leGVjdXRpb25fdHJhY2VfaW5kZXgmJihkPWUuZ3JhcGhfZXhlY3V0aW9uX3RyYWNlX2luZGV4KX1yZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtleGVjdXRpb25zOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmV4ZWN1dGlvbnMpLHtzY3JvbGxCZWdpbkluZGV4OmN9KSxncmFwaEV4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhFeGVjdXRpb25zKSx7Zm9jdXNJbmRleDpkfSksYWxlcnRzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmFsZXJ0cykse2FsZXJ0c0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5hbGVydHMuYWxlcnRzTG9hZGVkKSx7c3RhdGU6VUUuTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpEYXRlLm5vdygpfSksbnVtQWxlcnRzOmUsYWxlcnRzQnJlYWtkb3duOm4sYWxlcnRzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmFsZXJ0cy5hbGVydHMpLHtbb106cn0pLGV4ZWN1dGlvbkluZGljZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuYWxlcnRzLmV4ZWN1dGlvbkluZGljZXMpLHtbb106c30pLGdyYXBoRXhlY3V0aW9uSW5kaWNlczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5hbGVydHMuZ3JhcGhFeGVjdXRpb25JbmRpY2VzKSx7W29dOmx9KX0pfSl9KSksQlMoelgsKCh0LHthbGVydFR5cGU6ZX0pPT57Y29uc3Qgbj1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2FsZXJ0czpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5hbGVydHMpLHtmb2N1c1R5cGU6dC5hbGVydHMuZm9jdXNUeXBlPT09ZT9udWxsOmV9KX0pLG89bi5hbGVydHMuZm9jdXNUeXBlO2lmKG51bGwhPT1vKXtjb25zdCB0PW4uYWxlcnRzLmV4ZWN1dGlvbkluZGljZXNbb118fFtdO3ZvaWQgMCE9PXRbMF0mJihuLmV4ZWN1dGlvbnM9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG4uZXhlY3V0aW9ucykse3Njcm9sbEJlZ2luSW5kZXg6TWF0aC5tYXgoMCxOdW1iZXIodFswXSktTWF0aC5mbG9vcihuLmV4ZWN1dGlvbnMuZGlzcGxheUNvdW50LzIpKX0pKX1yZXR1cm4gbn0pKSxCUyhJWCwodD0+bnVsbD09PXQuYWN0aXZlUnVuSWQ/dDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2V4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucykse251bUV4ZWN1dGlvbnNMb2FkZWQ6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucy5udW1FeGVjdXRpb25zTG9hZGVkKSx7c3RhdGU6VUUuTE9BRElOR30pfSl9KSkpLEJTKEhYLCgodCx7bnVtRXhlY3V0aW9uczplfSk9PntpZihudWxsPT09dC5hY3RpdmVSdW5JZClyZXR1cm4gdDtjb25zdCBuPWU+dC5leGVjdXRpb25zLmV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQubnVtRXhlY3V0aW9ucyxvPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7bGFzdE5vbkVtcHR5UG9sbERhdGFUaW1lTXM6bj9EYXRlLm5vdygpOnQubGFzdE5vbkVtcHR5UG9sbERhdGFUaW1lTXMsZXhlY3V0aW9uczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5leGVjdXRpb25zKSx7bnVtRXhlY3V0aW9uc0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5leGVjdXRpb25zLm51bUV4ZWN1dGlvbnNMb2FkZWQpLHtzdGF0ZTpVRS5MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOkRhdGUubm93KCl9KSxleGVjdXRpb25EaWdlc3RzTG9hZGVkOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmV4ZWN1dGlvbnMuZXhlY3V0aW9uRGlnZXN0c0xvYWRlZCkse251bUV4ZWN1dGlvbnM6ZX0pfSl9KTtyZXR1cm4gZT4wJiZudWxsPT09dC5leGVjdXRpb25zLmZvY3VzSW5kZXgmJihvLmV4ZWN1dGlvbnMuZm9jdXNJbmRleD0wKSxvfSkpLEJTKEZYLCgodCxlKT0+e2lmKG51bGw9PT10LmFjdGl2ZVJ1bklkKXJldHVybiB0O2NvbnN0IG49Wy4uLnQuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkLmxvYWRpbmdSYW5nZXNdOy0xPT09bUsobixlLmJlZ2luLGUuZW5kKSYmbi5wdXNoKHtiZWdpbjplLmJlZ2luLGVuZDplLmVuZH0pO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2V4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucykse2V4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQ6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkKSx7bG9hZGluZ1JhbmdlczpufSl9KX0pfSkpLEJTKExYLCgodCxlKT0+e2lmKG51bGw9PT10LmFjdGl2ZVJ1bklkKXJldHVybiB0O2NvbnN0IG49Wy4uLnQuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkLmxvYWRpbmdSYW5nZXNdLG89bUsobixlLmJlZ2luLGUuZW5kKTstMSE9PW8mJm4uc3BsaWNlKG8sMSk7Y29uc3QgaT1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2V4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucykse2V4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQ6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkKSx7bnVtRXhlY3V0aW9uczplLm51bV9kaWdlc3RzLGxvYWRpbmdSYW5nZXM6bn0pLGV4ZWN1dGlvbkRpZ2VzdHM6T2JqZWN0LmFzc2lnbih7fSx0LmV4ZWN1dGlvbnMuZXhlY3V0aW9uRGlnZXN0cyl9KX0pO2ZvcihsZXQgdD1lLmJlZ2luO3Q8ZS5lbmQ7Kyt0KWkuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzW3RdPWUuZXhlY3V0aW9uX2RpZ2VzdHNbdC1lLmJlZ2luXTtpZihlLmVuZD5lLmJlZ2luKXtjb25zdCBuPWUuYmVnaW4vdC5leGVjdXRpb25zLnBhZ2VTaXplO2kuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkLnBhZ2VMb2FkZWRTaXplcz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30saS5leGVjdXRpb25zLmV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQucGFnZUxvYWRlZFNpemVzKSx7W25dOmUuZW5kLWUuYmVnaW59KX1yZXR1cm4gaX0pKSxCUyhCWCwodD0+e2lmKG51bGw9PT10LmFjdGl2ZVJ1bklkKXJldHVybiB0O2xldCBlPXQuZXhlY3V0aW9ucy5zY3JvbGxCZWdpbkluZGV4O3JldHVybiBlPjAmJmUtLSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2V4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucykse3Njcm9sbEJlZ2luSW5kZXg6ZX0pfSl9KSksQlMoVlgsKHQ9PntpZihudWxsPT09dC5hY3RpdmVSdW5JZClyZXR1cm4gdDtsZXQgZT10LmV4ZWN1dGlvbnMuc2Nyb2xsQmVnaW5JbmRleDtyZXR1cm4gZSt0LmV4ZWN1dGlvbnMuZGlzcGxheUNvdW50KzE8PXQuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkLm51bUV4ZWN1dGlvbnMmJmUrKyxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2V4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucykse3Njcm9sbEJlZ2luSW5kZXg6ZX0pfSl9KSksQlMoalgsKCh0LGUpPT57aWYoZS5pbmRleDwwfHwhTnVtYmVyLmlzSW50ZWdlcihlLmluZGV4KSl0aHJvdyBuZXcgRXJyb3IoYEF0dGVtcHQgdG8gc2Nyb2xsIHRvIG5lZ2F0aXZlIG9yIG5vbi1pbnRlZ2VyIGV4ZWN1dGlvbiBpbmRleCAoJHtlLmluZGV4fSlgKTtjb25zdHtkaXNwbGF5Q291bnQ6bn09dC5leGVjdXRpb25zLHtudW1FeGVjdXRpb25zOm99PXQuZXhlY3V0aW9ucy5leGVjdXRpb25EaWdlc3RzTG9hZGVkO2lmKGUuaW5kZXg+TWF0aC5tYXgoMCxvLW4pKXRocm93IG5ldyBFcnJvcihgQXR0ZW1wdCB0byBzY3JvbGwgdG8gZXhlY3V0aW9uIGluZGV4ICgke2UuaW5kZXh9KSwgd2hpY2ggZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgaW5kZXggKG51bUV4ZWN1dGlvbnM9JHtvfTsgZGlzcGxheUNvdW50PSR7bn0pYCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZXhlY3V0aW9uczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5leGVjdXRpb25zKSx7c2Nyb2xsQmVnaW5JbmRleDplLmluZGV4fSl9KX0pKSxCUyhVWCwoKHQsZSk9Pntjb25zdCBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZXhlY3V0aW9uczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5leGVjdXRpb25zKSx7Zm9jdXNJbmRleDp0LmV4ZWN1dGlvbnMuc2Nyb2xsQmVnaW5JbmRleCtlLmRpc3BsYXlJbmRleH0pLGNvZGVMb2NhdGlvbkZvY3VzVHlwZTpjSy5FWEVDVVRJT04sc291cmNlQ29kZTpPYmplY3QuYXNzaWduKHt9LHQuc291cmNlQ29kZSl9KTtyZXR1cm4gbi5zb3VyY2VDb2RlLmZvY3VzTGluZVNwZWM9Zksobiksbn0pKSxCUyhXWCwoKHQsZSk9PntpZihudWxsPT09dC5hY3RpdmVSdW5JZClyZXR1cm4gdDtjb25zdCBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZXhlY3V0aW9uczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5leGVjdXRpb25zKSx7ZXhlY3V0aW9uRGF0YTpPYmplY3QuYXNzaWduKHt9LHQuZXhlY3V0aW9ucy5leGVjdXRpb25EYXRhKX0pfSk7Zm9yKGxldCB0PWUuYmVnaW47dDxlLmVuZDsrK3Qpbi5leGVjdXRpb25zLmV4ZWN1dGlvbkRhdGFbdF09ZS5leGVjdXRpb25zW3QtZS5iZWdpbl07cmV0dXJuIG59KSksQlMoR1gsKHQ9Pm51bGw9PT10LmFjdGl2ZVJ1bklkP3Q6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtncmFwaEV4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhFeGVjdXRpb25zKSx7bnVtRXhlY3V0aW9uc0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ncmFwaEV4ZWN1dGlvbnMubnVtRXhlY3V0aW9uc0xvYWRlZCkse3N0YXRlOlVFLkxPQURJTkd9KX0pfSkpKSxCUyhZWCwoKHQse251bUdyYXBoRXhlY3V0aW9uczplfSk9PntpZihudWxsPT09dC5hY3RpdmVSdW5JZClyZXR1cm4gdDtjb25zdCBuPWU+dC5ncmFwaEV4ZWN1dGlvbnMuZXhlY3V0aW9uRGlnZXN0c0xvYWRlZC5udW1FeGVjdXRpb25zLG89T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtsYXN0Tm9uRW1wdHlQb2xsRGF0YVRpbWVNczpuP0RhdGUubm93KCk6dC5sYXN0Tm9uRW1wdHlQb2xsRGF0YVRpbWVNcyxncmFwaEV4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhFeGVjdXRpb25zKSx7bnVtRXhlY3V0aW9uc0xvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ncmFwaEV4ZWN1dGlvbnMubnVtRXhlY3V0aW9uc0xvYWRlZCkse3N0YXRlOlVFLkxPQURFRCxsYXN0TG9hZGVkVGltZUluTXM6RGF0ZS5ub3coKX0pLGV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQ6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhFeGVjdXRpb25zLmV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQpLHtudW1FeGVjdXRpb25zOmV9KX0pfSk7cmV0dXJuIGU+MCYmbnVsbD09PXQuZ3JhcGhFeGVjdXRpb25zLmZvY3VzSW5kZXgmJihvLmdyYXBoRXhlY3V0aW9ucy5mb2N1c0luZGV4PTApLG99KSksQlMocVgsKCh0LHtwYWdlSW5kZXg6ZX0pPT57aWYobnVsbD09PXQuYWN0aXZlUnVuSWQpcmV0dXJuIHQ7Y29uc3Qgbj10LmdyYXBoRXhlY3V0aW9ucy5ncmFwaEV4ZWN1dGlvbkRhdGFMb2FkaW5nUGFnZXMuc2xpY2UoKTtyZXR1cm4tMT09PW4uaW5kZXhPZihlKSYmbi5wdXNoKGUpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7Z3JhcGhFeGVjdXRpb25zOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmdyYXBoRXhlY3V0aW9ucykse2dyYXBoRXhlY3V0aW9uRGF0YUxvYWRpbmdQYWdlczpufSl9KX0pKSxCUyhaWCwoKHQsZSk9PntpZihudWxsPT09dC5hY3RpdmVSdW5JZClyZXR1cm4gdDtjb25zdHtwYWdlU2l6ZTpufT10LmdyYXBoRXhlY3V0aW9ucyxvPXQuZ3JhcGhFeGVjdXRpb25zLmdyYXBoRXhlY3V0aW9uRGF0YUxvYWRpbmdQYWdlcy5zbGljZSgpLGk9T2JqZWN0LmFzc2lnbih7fSx0LmdyYXBoRXhlY3V0aW9ucy5ncmFwaEV4ZWN1dGlvbkRhdGFQYWdlTG9hZGVkU2l6ZXMpLGE9T2JqZWN0LmFzc2lnbih7fSx0LmdyYXBoRXhlY3V0aW9ucy5ncmFwaEV4ZWN1dGlvbkRhdGEpO2ZvcihsZXQgdD1lLmJlZ2luO3Q8ZS5lbmQ7Kyt0KXtjb25zdCByPU1hdGguZmxvb3IodC9uKTstMSE9PW8uaW5kZXhPZihyKSYmby5zcGxpY2Uoby5pbmRleE9mKHIpLDEpLHZvaWQgMD09PWlbcl0mJihpW3JdPTApLHZvaWQgMD09PWFbdF0mJmlbcl0rKyxhW3RdPWUuZ3JhcGhfZXhlY3V0aW9uc1t0LWUuYmVnaW5dfXJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2dyYXBoRXhlY3V0aW9uczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ncmFwaEV4ZWN1dGlvbnMpLHtncmFwaEV4ZWN1dGlvbkRhdGFMb2FkaW5nUGFnZXM6byxncmFwaEV4ZWN1dGlvbkRhdGFQYWdlTG9hZGVkU2l6ZXM6aSxncmFwaEV4ZWN1dGlvbkRhdGE6YX0pfSl9KSksQlMoWFgsKCh0LGUpPT57aWYoZS5pbmRleDwwfHwhTnVtYmVyLmlzSW50ZWdlcihlLmluZGV4KSl0aHJvdyBuZXcgRXJyb3IoYEF0dGVtcHQgdG8gc2Nyb2xsIHRvIG5lZ2F0aXZlIG9yIG5vbi1pbnRlZ2VyIGdyYXBoLWV4ZWN1dGlvbiBpbmRleCAoJHtlLmluZGV4fSlgKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtncmFwaEV4ZWN1dGlvbnM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhFeGVjdXRpb25zKSx7c2Nyb2xsQmVnaW5JbmRleDplLmluZGV4fSl9KX0pKSxCUyhLWCwoKHQsZSk9PmJLKHQsZS5ncmFwaF9pZCxlLm9wX25hbWUsZS5pbmRleCkpKSxCUyhKWCwoKHQsZSk9PmJLKHQsZS5ncmFwaF9pZCxlLm9wX25hbWUpKSksQlMoUVgsKCh0LGUpPT57Y29uc3R7Z3JhcGhfaWQ6bixvcF9uYW1lOm99PWUsaT1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2dyYXBoczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ncmFwaHMpLHtsb2FkaW5nT3BzOk9iamVjdC5hc3NpZ24oe30sdC5ncmFwaHMubG9hZGluZ09wcyl9KX0pO3JldHVybiB2b2lkIDA9PT1pLmdyYXBocy5sb2FkaW5nT3BzW25dJiYoaS5ncmFwaHMubG9hZGluZ09wc1tuXT1uZXcgTWFwKSxpLmdyYXBocy5sb2FkaW5nT3BzW25dLmhhcyhvKXx8aS5ncmFwaHMubG9hZGluZ09wc1tuXS5zZXQobyxVRS5MT0FESU5HKSxpfSkpLEJTKCRYLCgodCxlKT0+e2NvbnN0e2dyYXBoT3BJbmZvUmVzcG9uc2U6bn09ZSx7Z3JhcGhfaWRzOm99PW4saT1vW28ubGVuZ3RoLTFdLGE9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtncmFwaHM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhzKSx7b3BzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LmdyYXBocy5vcHMpLHtbaV06bmV3IE1hcCh0LmdyYXBocy5vcHNbaV0pfSksbG9hZGluZ09wczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ncmFwaHMubG9hZGluZ09wcykse1tpXTpuZXcgTWFwKHQuZ3JhcGhzLmxvYWRpbmdPcHNbaV0pfSl9KX0pO2Zvcihjb25zdCB0IG9mIG4uaW5wdXRzKXQuZGF0YSYmYS5ncmFwaHMub3BzW2ldLnNldCh0Lm9wX25hbWUsdC5kYXRhKTtmb3IobGV0IHQ9MDt0PG4uY29uc3VtZXJzLmxlbmd0aDsrK3QpZm9yKGNvbnN0IGUgb2Ygbi5jb25zdW1lcnNbdF0pZS5kYXRhJiZhLmdyYXBocy5vcHNbaV0uc2V0KGUub3BfbmFtZSxlLmRhdGEpO3JldHVybiBhLmdyYXBocy5vcHNbaV0uc2V0KG4ub3BfbmFtZSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sbikse2lucHV0czpuLmlucHV0cy5tYXAoKHQ9Pih7b3BfbmFtZTp0Lm9wX25hbWUsb3V0cHV0X3Nsb3Q6dC5vdXRwdXRfc2xvdH0pKSksY29uc3VtZXJzOm4uY29uc3VtZXJzLm1hcCgodD0+dC5tYXAoKHQ9Pih7b3BfbmFtZTp0Lm9wX25hbWUsaW5wdXRfc2xvdDp0LmlucHV0X3Nsb3R9KSkpKSl9KSksYS5ncmFwaHMubG9hZGluZ09wc1tpXS5zZXQobi5vcF9uYW1lLFVFLkxPQURFRCksYX0pKSxCUyh0SywodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzb3VyY2VDb2RlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNvdXJjZUNvZGUpLHtzb3VyY2VGaWxlTGlzdExvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zb3VyY2VDb2RlLnNvdXJjZUZpbGVMaXN0TG9hZGVkKSx7c3RhdGU6VUUuTE9BRElOR30pfSl9KSkpLEJTKGVLLCgodCxlKT0+e3ZhciBuO2NvbnN0IG89T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzb3VyY2VDb2RlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNvdXJjZUNvZGUpLHtzb3VyY2VGaWxlTGlzdExvYWRlZDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zb3VyY2VDb2RlLnNvdXJjZUZpbGVMaXN0TG9hZGVkKSx7c3RhdGU6VUUuTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpEYXRlLm5vdygpfSksc291cmNlRmlsZUxpc3Q6ZS5zb3VyY2VGaWxlcyxmaWxlQ29udGVudHM6dC5zb3VyY2VDb2RlLmZpbGVDb250ZW50cy5zbGljZSgpfSl9KSxpPWUuc291cmNlRmlsZXMubGVuZ3RoLHtmaWxlQ29udGVudHM6YX09by5zb3VyY2VDb2RlO2ZvcihsZXQgZT0wO2U8aTsrK2UpYVtlXT1udWxsIT09KG49dC5zb3VyY2VDb2RlLmZpbGVDb250ZW50c1tlXSkmJnZvaWQgMCE9PW4/bjp7bG9hZFN0YXRlOlVFLk5PVF9MT0FERUQsbGluZXM6bnVsbH07cmV0dXJuIG99KSksQlMobkssKCh0LGUpPT57Y29uc3Qgbj1kSyh0KSxvPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c291cmNlQ29kZTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zb3VyY2VDb2RlKSx7Zm9jdXNMaW5lU3BlYzplLnN0YWNrRnJhbWV9KX0pO3JldHVybiBudWxsIT09biYmKG8uc3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGU9KGZ1bmN0aW9uIGkodCxlKXtsZXQgbj0tMSxvPS0xO2lmKHQuZm9yRWFjaCgoKHtmaWxlX3BhdGg6dCxsaW5lbm86aX0sYSk9Pnt0PT09ZS5maWxlX3BhdGgmJihvPWEsaT09PWUubGluZW5vJiYobj1hKSl9KSksLTE9PT1uKXRocm93IG5ldyBFcnJvcihgU3RhY2sgZnJhbWUgJHtKU09OLnN0cmluZ2lmeShlKX0gaXMgbm90IGZvdW5kLmApO3JldHVybiBuPT09b30pKG4sZS5zdGFja0ZyYW1lKSksb30pKSxCUyhvSywoKHQsZSk9Pntjb25zdCBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c291cmNlQ29kZTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zb3VyY2VDb2RlKSx7ZmlsZUNvbnRlbnRzOnQuc291cmNlQ29kZS5maWxlQ29udGVudHMuc2xpY2UoKX0pfSksbz1wSyhuLnNvdXJjZUNvZGUuc291cmNlRmlsZUxpc3QsZSk7aWYoIShvPj0wKSl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIHRoZSBmb2xsb3dpbmcgZmlsZSBpbiBmaWxlIGxpc3Q6IGhvc3RfbmFtZT0iJHtlLmhvc3RfbmFtZX0iLCBmaWxlX3BhdGg9IiR7ZS5maWxlX3BhdGh9ImApO3JldHVybiBuLnNvdXJjZUNvZGUuZmlsZUNvbnRlbnRzLnNwbGljZShvLDEsT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG4uc291cmNlQ29kZS5maWxlQ29udGVudHNbb10pLHtsb2FkU3RhdGU6VUUuTE9BRElOR30pKSxufSkpLEJTKGlLLCgodCxlKT0+e2NvbnN0IG49T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzb3VyY2VDb2RlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNvdXJjZUNvZGUpLHtmaWxlQ29udGVudHM6dC5zb3VyY2VDb2RlLmZpbGVDb250ZW50cy5zbGljZSgpfSl9KSxvPXBLKG4uc291cmNlQ29kZS5zb3VyY2VGaWxlTGlzdCxlKTtpZighKG8+PTApKXRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgdGhlIGZvbGxvd2luZyBmaWxlIGluIGZpbGUgbGlzdDogaG9zdF9uYW1lPSIke2UuaG9zdF9uYW1lfSIsIGZpbGVfcGF0aD0iJHtlLmZpbGVfcGF0aH0iYCk7cmV0dXJuIG4uc291cmNlQ29kZS5maWxlQ29udGVudHMuc3BsaWNlKG8sMSx7bG9hZFN0YXRlOlVFLkxPQURFRCxsaW5lczplLmxpbmVzfSksbn0pKSxCUyhhSywoKHQsZSk9PntpZihudWxsPT09dC5hY3RpdmVSdW5JZClyZXR1cm4gdDtjb25zdCBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c3RhY2tGcmFtZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuc3RhY2tGcmFtZXMpLGUuc3RhY2tGcmFtZXMpLHNvdXJjZUNvZGU6T2JqZWN0LmFzc2lnbih7fSx0LnNvdXJjZUNvZGUpfSk7cmV0dXJuIG4uc291cmNlQ29kZS5mb2N1c0xpbmVTcGVjPWZLKG4pLG59KSkpO2Z1bmN0aW9uIGJLKHQsZSxuLG8pe2NvbnN0IGk9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtncmFwaHM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuZ3JhcGhzKSx7Zm9jdXNlZE9wOntncmFwaElkOmUsb3BOYW1lOm59fSksY29kZUxvY2F0aW9uRm9jdXNUeXBlOmNLLkdSQVBIX09QX0NSRUFUSU9OLHNvdXJjZUNvZGU6T2JqZWN0LmFzc2lnbih7fSx0LnNvdXJjZUNvZGUpfSk7cmV0dXJuIGkuc291cmNlQ29kZS5mb2N1c0xpbmVTcGVjPWZLKGkpLHZvaWQgMCE9PW8mJihpLmdyYXBoRXhlY3V0aW9ucz1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5ncmFwaEV4ZWN1dGlvbnMpLHtmb2N1c0luZGV4Om99KSksaX1mdW5jdGlvbiB5Syh0LGUpe3JldHVybiB1Syh0LGUpfWNvbnN0IF9LPV9TKHJLKSxDSz1iUyhfSywodD0+dC5ydW5zKSksTUs9YlMoX0ssKHQ9PnQucnVuc0xvYWRlZCkpLHZLPWJTKF9LLCh0PT50LmFjdGl2ZVJ1bklkKSkseEs9YlMoX0ssKHQ9PnQubGFzdERhdGFQb2xsT25zZXRUaW1lTXMtdC5sYXN0Tm9uRW1wdHlQb2xsRGF0YVRpbWVNcykpLE9LPWJTKF9LLCh0PT50LmFsZXJ0cykpLFBLPWJTKE9LLCh0PT50LmFsZXJ0c0xvYWRlZCkpLHdLPWJTKE9LLCh0PT50Lm51bUFsZXJ0cykpLGtLPWJTKE9LLCh0PT50LmZvY3VzVHlwZSkpLFNLPWJTKE9LLCh0PT5udWxsPT09dC5mb2N1c1R5cGU/MDp0LmFsZXJ0c0JyZWFrZG93blt0LmZvY3VzVHlwZV18fDApKSxESz1iUyhPSywodD0+bnVsbD09PXQuZm9jdXNUeXBlfHx2b2lkIDA9PT10LmFsZXJ0c1t0LmZvY3VzVHlwZV0/bnVsbDp0LmFsZXJ0c1t0LmZvY3VzVHlwZV0pKSxSSz1iUyhPSywodD0+dC5hbGVydHNCcmVha2Rvd24pKSxFSz1iUyhfSywodD0+dC5leGVjdXRpb25zKSksQUs9YlMoRUssKHQ9PnQubnVtRXhlY3V0aW9uc0xvYWRlZCkpLFRLPWJTKEVLLCh0PT50LmV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQpKSxOSz1iUyhFSywodD0+dC5leGVjdXRpb25EaWdlc3RzTG9hZGVkLm51bUV4ZWN1dGlvbnMpKSx6Sz1iUyhFSywodD0+dC5zY3JvbGxCZWdpbkluZGV4KSksSUs9YlMoRUssKHQ9PnQucGFnZVNpemUpKSxISz1iUyhFSywodD0+dC5kaXNwbGF5Q291bnQpKSxGSz1iUyhFSywodD0+e2NvbnN0IGU9W107Zm9yKGxldCBuPXQuc2Nyb2xsQmVnaW5JbmRleDtuPHQuc2Nyb2xsQmVnaW5JbmRleCt0LmRpc3BsYXlDb3VudDsrK24pZS5wdXNoKG4gaW4gdC5leGVjdXRpb25EaWdlc3RzP3QuZXhlY3V0aW9uRGlnZXN0c1tuXTpudWxsKTtyZXR1cm4gZX0pKSxMSz1iUyhfSywodD0+dC5ncmFwaEV4ZWN1dGlvbnMpKSxCSz1iUyhMSywodD0+dC5udW1FeGVjdXRpb25zTG9hZGVkKSksVks9YlMoX0ssKHQ9PnQuZ3JhcGhFeGVjdXRpb25zLmV4ZWN1dGlvbkRpZ2VzdHNMb2FkZWQubnVtRXhlY3V0aW9ucykpLGpLPWJTKExLLCh0PT50LnNjcm9sbEJlZ2luSW5kZXgpKSxVSz1iUyhMSywodD0+dC5kaXNwbGF5Q291bnQpKSxXSz1iUyhMSywodD0+dC5wYWdlU2l6ZSkpLEdLPWJTKExLLCh0PT50LmdyYXBoRXhlY3V0aW9uRGF0YUxvYWRpbmdQYWdlcykpLFlLPWJTKExLLCh0PT50LmdyYXBoRXhlY3V0aW9uRGF0YVBhZ2VMb2FkZWRTaXplcykpLHFLPWJTKExLLCh0PT50LmdyYXBoRXhlY3V0aW9uRGF0YSkpLFpLPWJTKExLLCh0PT50LmZvY3VzSW5kZXgpKSxYSz1iUyhfSywodD0+dC5ncmFwaHMpKSxLSz1iUyhYSywodD0+e2NvbnN0e2ZvY3VzZWRPcDplLG9wczpufT10O3JldHVybiBudWxsPT09ZXx8dm9pZCAwPT09bltlLmdyYXBoSWRdP251bGw6bltlLmdyYXBoSWRdLmdldChlLm9wTmFtZSl8fG51bGx9KSksSks9YlMoWEssKHQ9Pntjb25zdHtmb2N1c2VkT3A6ZSxvcHM6bn09dDtpZihudWxsIT09ZSYmdm9pZCAwIT09bltlLmdyYXBoSWRdJiZuW2UuZ3JhcGhJZF0uaGFzKGUub3BOYW1lKSl7Y29uc3QgdD1uW2UuZ3JhcGhJZF0se2lucHV0czpvfT10LmdldChlLm9wTmFtZSk7cmV0dXJuIG8ubWFwKChlPT57Y29uc3Qgbj1PYmplY3QuYXNzaWduKHt9LGUpO3JldHVybiB0LmhhcyhlLm9wX25hbWUpJiYobi5kYXRhPXQuZ2V0KGUub3BfbmFtZSkpLG59KSl9cmV0dXJuIG51bGx9KSksUUs9YlMoWksscUssSkssKCh0LGUsbik9PntpZihudWxsPT09dHx8bnVsbD09PW4pcmV0dXJuIG51bGw7Y29uc3Qgbz1uLm1hcCgodD0+ITEpKSxpPVtdO2lmKDA9PT1uLmxlbmd0aClyZXR1cm4gaTtjb25zdCBhPWVbdF0uZ3JhcGhfaWQscj1NYXRoLm1heCgwLHQtMjAwKTtmb3IobGV0IHM9dC0xO3M+PXI7LS1zKWlmKHZvaWQgMCE9PWVbc10pZm9yKGxldCB0PTA7dDxuLmxlbmd0aCYmKG9bdF18fGVbc10uZ3JhcGhfaWQhPT1hfHxlW3NdLm9wX25hbWUhPT1uW3RdLm9wX25hbWV8fGVbc10ub3V0cHV0X3Nsb3QhPT1uW3RdLm91dHB1dF9zbG90fHwoaS5wdXNoKHMpLG9bdF09ITAsaS5sZW5ndGghPT1uLmxlbmd0aCkpOysrdCk7cmV0dXJuIGl9KSksJEs9YlMoWEssKHQ9Pntjb25zdHtmb2N1c2VkT3A6ZSxvcHM6bn09dDtpZihudWxsIT09ZSYmdm9pZCAwIT09bltlLmdyYXBoSWRdJiZuW2UuZ3JhcGhJZF0uaGFzKGUub3BOYW1lKSl7Y29uc3QgdD1uW2UuZ3JhcGhJZF0se2NvbnN1bWVyczpvfT10LmdldChlLm9wTmFtZSk7cmV0dXJuIG8ubWFwKChlPT5lLm1hcCgoZT0+e2NvbnN0IG49T2JqZWN0LmFzc2lnbih7fSxlKTtyZXR1cm4gdC5oYXMoZS5vcF9uYW1lKSYmKG4uZGF0YT10LmdldChlLm9wX25hbWUpKSxufSkpKSl9cmV0dXJuIG51bGx9KSksdEo9YlMoX0ssKHQ9Pntjb25zdCBlPXQuZXhlY3V0aW9ucy5zY3JvbGxCZWdpbkluZGV4LG49dC5leGVjdXRpb25zLnNjcm9sbEJlZ2luSW5kZXgrdC5leGVjdXRpb25zLmRpc3BsYXlDb3VudCxvPW5ldyBBcnJheShuLWUpLmZpbGwobnVsbCksaT10LmFsZXJ0cy5mb2N1c1R5cGU7aWYobnVsbD09PWkpcmV0dXJuIG87Y29uc3QgYT10LmFsZXJ0cy5leGVjdXRpb25JbmRpY2VzW2ldO2lmKHZvaWQgMD09PWEpcmV0dXJuIG87Zm9yKGxldCBpPWU7aTxuOysraSlhLmluY2x1ZGVzKGkpJiYob1tpLWVdPXQuYWxlcnRzLmZvY3VzVHlwZSk7cmV0dXJuIG99KSksZUo9YlMoX0ssKHQ9PnQuZXhlY3V0aW9ucykpLG5KPWJTKGVKLCh0PT50LmZvY3VzSW5kZXgpKSxvSj1iUyhlSiwodD0+e2lmKG51bGw9PT10LmZvY3VzSW5kZXgpcmV0dXJuIG51bGw7Y29uc3R7Zm9jdXNJbmRleDplLHNjcm9sbEJlZ2luSW5kZXg6bixkaXNwbGF5Q291bnQ6b309dDtyZXR1cm4gZTxufHxlPj1uK28/bnVsbDplLW59KSksaUo9YlMoZUosKHQ9PnQuZXhlY3V0aW9uRGF0YSkpLGFKPWJTKF9LLCh0PT50LmdyYXBocy5sb2FkaW5nT3BzKSkscko9YlMoX0ssKHQ9PnQuc3RhY2tGcmFtZXMpKSxzSj1iUyhlSiwodD0+e2NvbnN0e2ZvY3VzSW5kZXg6ZSxleGVjdXRpb25EYXRhOm59PXQ7cmV0dXJuIG51bGw9PT1lfHx2b2lkIDA9PT1uW2VdP251bGw6bltlXX0pKSxsSj1iUyhfSyxuSixzSixLSywoKHQsZSxuLG8pPT57Y29uc3R7Y29kZUxvY2F0aW9uRm9jdXNUeXBlOml9PXQ7cmV0dXJuIG51bGw9PT1pP251bGw6aT09PWNLLkVYRUNVVElPTj9udWxsPT09ZXx8bnVsbD09PW4/bnVsbDp7Y29kZUxvY2F0aW9uVHlwZTpjSy5FWEVDVVRJT04sb3BUeXBlOm4ub3BfdHlwZSxleGVjdXRpb25JbmRleDplfTpudWxsPT09bz9udWxsOntjb2RlTG9jYXRpb25UeXBlOmNLLkdSQVBIX09QX0NSRUFUSU9OLG9wVHlwZTpvLm9wX3R5cGUsb3BOYW1lOm8ub3BfbmFtZX19KSksY0o9YlMoX0ssZEspLGRKPWJTKF9LLCh0PT50LnNvdXJjZUNvZGUpKSxwSj1iUyhkSiwodD0+dC5zb3VyY2VGaWxlTGlzdExvYWRlZCkpO2JTKGRKLCh0PT50LnNvdXJjZUZpbGVMaXN0KSk7Y29uc3QgbUo9YlMoZEosKHQ9Pntjb25zdHtzb3VyY2VGaWxlTGlzdDplLGZvY3VzTGluZVNwZWM6bn09dDtyZXR1cm4gbnVsbD09PW4/LTE6cEsoZSxuKX0pKSxmSj1iUyhkSixtSiwoKHQsZSk9Pi0xPT09ZT9udWxsOnQuZmlsZUNvbnRlbnRzW2VdfHxudWxsKSksdUo9YlMoX0ssKHQ9PnQuc291cmNlQ29kZS5mb2N1c0xpbmVTcGVjKSksZ0o9YlMoX0ssKHQ9PnQuc3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGUpKSxoSj1mdW5jdGlvbih0KXtyZXR1cm5bdF19O2Z1bmN0aW9uIGJKKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2Iiw3KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7Y29uc3Qgbj1QaSh0KS4kaW1wbGljaXQ7cmV0dXJuIHpmKCkub25Ub2dnbGVGb2N1c1R5cGUuZW1pdChuLnR5cGUpfSkpLENmKDEsImRpdiIsOCksUHUoMiksTWYoKSxDZigzLCJkaXYiLDkpLFB1KDQpLE1mKCksdmYoNSwiZGl2IiksTWYoKX1pZigyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigpO2JmKCJuZ0NsYXNzIixpeSg0LGhKLHQudHlwZT09PW4uZm9jdXNUeXBlPyJmb2N1cyI6IiIpKSxEYygyKSx3dSh0LmRpc3BsYXlOYW1lKSxEYygyKSxTdSgiICIsdC5kaXNwbGF5U3ltYm9sLCI6ICIsdC5jb3VudCwiICIpfX1jbGFzcyB5Sntjb25zdHJ1Y3Rvcigpe3RoaXMubnVtQWxlcnRzPTAsdGhpcy5hbGVydHNCcmVha2Rvd249W10sdGhpcy5mb2N1c1R5cGU9bnVsbCx0aGlzLm9uVG9nZ2xlRm9jdXNUeXBlPW5ldyBTeX19eUouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHlKKX0seUouybVjbXA9c28oe3R5cGU6eUosc2VsZWN0b3JzOltbImFsZXJ0cy1jb21wb25lbnQiXV0saW5wdXRzOntudW1BbGVydHM6Im51bUFsZXJ0cyIsYWxlcnRzQnJlYWtkb3duOiJhbGVydHNCcmVha2Rvd24iLGZvY3VzVHlwZToiZm9jdXNUeXBlIn0sb3V0cHV0czp7b25Ub2dnbGVGb2N1c1R5cGU6Im9uVG9nZ2xlRm9jdXNUeXBlIn0sZGVjbHM6MTAsdmFyczo1LGNvbnN0czpbWzEsImFsZXJ0cy1jb250YWluZXIiXSxbMSwiZGVidWdnaW5nLXRpdGxlIl0sWzEsIm51bS1hbGVydHMtY29udGFpbmVyIl0sWzEsIm51bS1hbGVydHMtbGFiZWwiXSxbMSwibnVtLWFsZXJ0cy12YWx1ZSIsMywibmdDbGFzcyJdLFsxLCJhbGVydHMtYnJlYWtkb3duLWNvbnRhaW5lciJdLFsiY2xhc3MiLCJhbGVydHMtYnJlYWtkb3duLXR5cGUiLDMsIm5nQ2xhc3MiLCJjbGljayIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzEsImFsZXJ0cy1icmVha2Rvd24tdHlwZSIsMywibmdDbGFzcyIsImNsaWNrIl0sWzEsImFsZXJ0LXR5cGUtbmFtZSJdLFsxLCJhbGVydC10eXBlLWNvdW50Il1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLENmKDEsImRpdiIsMSksUHUoMiwiRGVidWdnaW5nIiksTWYoKSxDZigzLCJkaXYiLDIpLENmKDQsImRpdiIsMyksUHUoNSwiQWxlcnRzIiksTWYoKSxDZig2LCJkaXYiLDQpLFB1KDcpLE1mKCksTWYoKSxDZig4LCJkaXYiLDUpLEhtKDksYkosNiw2LCJkaXYiLDYpLE1mKCksTWYoKSksMiZlJiYoRGMoNiksYmYoIm5nQ2xhc3MiLGl5KDMsaEosbi5udW1BbGVydHM+MD8ibm9uLXplcm8iOiIiKSksRGMoMSksa3UoIiAiLG4ubnVtQWxlcnRzLCIgIiksRGMoMiksYmYoIm5nRm9yT2YiLG4uYWxlcnRzQnJlYWtkb3duKSl9LGRpcmVjdGl2ZXM6W0N2LHh2XSxzdHlsZXM6WyIuYWxlcnRzLWJyZWFrZG93bi1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYWxlcnRzLWJyZWFrZG93bi10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNnB4IDAgNnB4IDUwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5hbGVydHMtYnJlYWtkb3duLXR5cGUuZm9jdXNbX25nY29udGVudC0lQ09NUCVdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWVlMDtcbn1cblxuLmFsZXJ0cy1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xufVxuXG4uYWxlcnQtdHlwZS1jb3VudFtfbmdjb250ZW50LSVDT01QJV0ge1xuICBcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1MjU5MjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAzcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5hbGVydC10eXBlLW5hbWVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAzcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5kZWJ1Z2dpbmctdGl0bGVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ubnVtLWFsZXJ0cy1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm51bS1hbGVydHMtbGFiZWxbX25nY29udGVudC0lQ09NUCVdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi5udW0tYWxlcnRzLXZhbHVlW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjRweDtcbn1cblxuLm51bS1hbGVydHMtdmFsdWUubm9uLXplcm9bX25nY29udGVudC0lQ09NUCVdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYjc4MDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHlKLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFsZXJ0cy1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL2FsZXJ0c19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9hbGVydHNfY29tcG9uZW50LmNzcyJdfV19XSxudWxsLHtudW1BbGVydHM6W3t0eXBlOlJffV0sYWxlcnRzQnJlYWtkb3duOlt7dHlwZTpSX31dLGZvY3VzVHlwZTpbe3R5cGU6Ul99XSxvblRvZ2dsZUZvY3VzVHlwZTpbe3R5cGU6RV99XX0pO2NvbnN0IF9KPXtbbEsuRlVOQ1RJT05fUkVDT01QSUxFX0FMRVJUXTp7ZGlzcGxheU5hbWU6IkZ1bmN0aW9uIHJlY29tcGlsZXMiLGRpc3BsYXlTeW1ib2w6IkMifSxbbEsuSU5GX05BTl9BTEVSVF06e2Rpc3BsYXlOYW1lOiJOYU4v4oieIixkaXNwbGF5U3ltYm9sOiLiiJ4ifSxbbEsuVEVOU09SX1NIQVBFX0FMRVJUXTp7ZGlzcGxheU5hbWU6IlRlbnNvciBzaGFwZSIsZGlzcGxheVN5bWJvbDoi4pagIn19O2NsYXNzIENKe2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLm51bUFsZXJ0cyQ9dGhpcy5zdG9yZS5waXBlKHJTKHdLKSksdGhpcy5hbGVydHNCcmVha2Rvd24kPXRoaXMuc3RvcmUucGlwZShyUyhiUyhSSywodD0+e2NvbnN0IGU9T2JqZWN0LmtleXModCk7cmV0dXJuIGUuc29ydCgpLGUubWFwKChlPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe3R5cGU6ZX0sX0pbZV0pLHtjb3VudDp0W2VdfSkpKX0pKSkpLHRoaXMuZm9jdXNUeXBlJD10aGlzLnN0b3JlLnBpcGUoclMoa0spKX1vblRvZ2dsZUZvY3VzVHlwZSh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKHpYKHthbGVydFR5cGU6dH0pKX19Q0ouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fENKKShnZihpUykpfSxDSi7JtWNtcD1zbyh7dHlwZTpDSixzZWxlY3RvcnM6W1sidGYtZGVidWdnZXItdjItYWxlcnRzIl1dLGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsIm51bUFsZXJ0cyIsImFsZXJ0c0JyZWFrZG93biIsImZvY3VzVHlwZSIsIm9uVG9nZ2xlRm9jdXNUeXBlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJhbGVydHMtY29tcG9uZW50IiwwKSxSZigib25Ub2dnbGVGb2N1c1R5cGUiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uVG9nZ2xlRm9jdXNUeXBlKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoIm51bUFsZXJ0cyIsQ3koMSwzLG4ubnVtQWxlcnRzJCkpKCJhbGVydHNCcmVha2Rvd24iLEN5KDIsNSxuLmFsZXJ0c0JyZWFrZG93biQpKSgiZm9jdXNUeXBlIixDeSgzLDcsbi5mb2N1c1R5cGUkKSl9LGRpcmVjdGl2ZXM6W3lKXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ0osW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGYtZGVidWdnZXItdjItYWxlcnRzIix0ZW1wbGF0ZTonXG4gICAgPGFsZXJ0cy1jb21wb25lbnRcbiAgICAgIFtudW1BbGVydHNdPSJudW1BbGVydHMkIHwgYXN5bmMiXG4gICAgICBbYWxlcnRzQnJlYWtkb3duXT0iYWxlcnRzQnJlYWtkb3duJCB8IGFzeW5jIlxuICAgICAgW2ZvY3VzVHlwZV09ImZvY3VzVHlwZSQgfCBhc3luYyJcbiAgICAgIChvblRvZ2dsZUZvY3VzVHlwZSk9Im9uVG9nZ2xlRm9jdXNUeXBlKCRldmVudCkiXG4gICAgPlxuICAgIDwvYWxlcnRzLWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLG51bGwpO2NvbnN0IE1KPVsic2xpZGVyV3JhcHBlciJdLHZKPWJIKHtwYXNzaXZlOiExfSkseEo9e3Byb3ZpZGU6eFUsdXNlRXhpc3Rpbmc6JGUoKCgpPT53SikpLG11bHRpOiEwfTtjbGFzcyBPSnt9Y29uc3QgUEo9RkYoSUYoekYoY2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5fZWxlbWVudFJlZj10fX0pLCJhY2NlbnQiKSk7Y2xhc3Mgd0ogZXh0ZW5kcyBQSntjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMpe3N1cGVyKHQpLHRoaXMuX2ZvY3VzTW9uaXRvcj1lLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPW4sdGhpcy5fZGlyPW8sdGhpcy5fbmdab25lPWEsdGhpcy5fYW5pbWF0aW9uTW9kZT1zLHRoaXMuX2ludmVydD0hMSx0aGlzLl9tYXg9MTAwLHRoaXMuX21pbj0wLHRoaXMuX3N0ZXA9MSx0aGlzLl90aHVtYkxhYmVsPSExLHRoaXMuX3RpY2tJbnRlcnZhbD0wLHRoaXMuX3ZhbHVlPW51bGwsdGhpcy5fdmVydGljYWw9ITEsdGhpcy5jaGFuZ2U9bmV3IFN5LHRoaXMuaW5wdXQ9bmV3IFN5LHRoaXMudmFsdWVDaGFuZ2U9bmV3IFN5LHRoaXMub25Ub3VjaGVkPSgpPT57fSx0aGlzLl9wZXJjZW50PTAsdGhpcy5faXNTbGlkaW5nPW51bGwsdGhpcy5faXNBY3RpdmU9ITEsdGhpcy5fdGlja0ludGVydmFsUGVyY2VudD0wLHRoaXMuX3NsaWRlckRpbWVuc2lvbnM9bnVsbCx0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuPSgpPT57fSx0aGlzLl9kaXJDaGFuZ2VTdWJzY3JpcHRpb249dS5FTVBUWSx0aGlzLl9wb2ludGVyRG93bj10PT57dGhpcy5kaXNhYmxlZHx8dGhpcy5faXNTbGlkaW5nfHwha0oodCkmJjAhPT10LmJ1dHRvbnx8dGhpcy5fbmdab25lLnJ1bigoKCk9Pnt0aGlzLl90b3VjaElkPWtKKHQpPyhmdW5jdGlvbiBlKHQsbil7Zm9yKGxldCBlPTA7ZTx0LnRvdWNoZXMubGVuZ3RoO2UrKyl7Y29uc3Qgbz10LnRvdWNoZXNbZV0udGFyZ2V0O2lmKG49PT1vfHxuLmNvbnRhaW5zKG8pKXJldHVybiB0LnRvdWNoZXNbZV0uaWRlbnRpZmllcn1yZXR1cm59Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykodCx0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpOnZvaWQgMDtjb25zdCBuPVNKKHQsdGhpcy5fdG91Y2hJZCk7aWYobil7Y29uc3QgZT10aGlzLnZhbHVlO3RoaXMuX2lzU2xpZGluZz0icG9pbnRlciIsdGhpcy5fbGFzdFBvaW50ZXJFdmVudD10LHQucHJldmVudERlZmF1bHQoKSx0aGlzLl9mb2N1c0hvc3RFbGVtZW50KCksdGhpcy5fb25Nb3VzZWVudGVyKCksdGhpcy5fYmluZEdsb2JhbEV2ZW50cyh0KSx0aGlzLl9mb2N1c0hvc3RFbGVtZW50KCksdGhpcy5fdXBkYXRlVmFsdWVGcm9tUG9zaXRpb24obiksdGhpcy5fdmFsdWVPblNsaWRlU3RhcnQ9ZSxlIT10aGlzLnZhbHVlJiZ0aGlzLl9lbWl0SW5wdXRFdmVudCgpfX0pKX0sdGhpcy5fcG9pbnRlck1vdmU9dD0+e2lmKCJwb2ludGVyIj09PXRoaXMuX2lzU2xpZGluZyl7Y29uc3QgZT1TSih0LHRoaXMuX3RvdWNoSWQpO2lmKGUpe3QucHJldmVudERlZmF1bHQoKTtjb25zdCBuPXRoaXMudmFsdWU7dGhpcy5fbGFzdFBvaW50ZXJFdmVudD10LHRoaXMuX3VwZGF0ZVZhbHVlRnJvbVBvc2l0aW9uKGUpLG4hPXRoaXMudmFsdWUmJnRoaXMuX2VtaXRJbnB1dEV2ZW50KCl9fX0sdGhpcy5fcG9pbnRlclVwPXQ9PnsicG9pbnRlciI9PT10aGlzLl9pc1NsaWRpbmcmJihrSih0KSYmIm51bWJlciI9PXR5cGVvZiB0aGlzLl90b3VjaElkJiYhREoodC5jaGFuZ2VkVG91Y2hlcyx0aGlzLl90b3VjaElkKXx8KHQucHJldmVudERlZmF1bHQoKSx0aGlzLl9yZW1vdmVHbG9iYWxFdmVudHMoKSx0aGlzLl9pc1NsaWRpbmc9bnVsbCx0aGlzLl90b3VjaElkPXZvaWQgMCx0aGlzLl92YWx1ZU9uU2xpZGVTdGFydD09dGhpcy52YWx1ZXx8dGhpcy5kaXNhYmxlZHx8dGhpcy5fZW1pdENoYW5nZUV2ZW50KCksdGhpcy5fdmFsdWVPblNsaWRlU3RhcnQ9dGhpcy5fbGFzdFBvaW50ZXJFdmVudD1udWxsKSl9LHRoaXMuX3dpbmRvd0JsdXI9KCk9Pnt0aGlzLl9sYXN0UG9pbnRlckV2ZW50JiZ0aGlzLl9wb2ludGVyVXAodGhpcy5fbGFzdFBvaW50ZXJFdmVudCl9LHRoaXMuX2RvY3VtZW50PXIsdGhpcy50YWJJbmRleD1wYXJzZUludChpKXx8MCxhLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e2NvbnN0IGU9dC5uYXRpdmVFbGVtZW50O2UuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9wb2ludGVyRG93bix2SiksZS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9wb2ludGVyRG93bix2Sil9KSl9Z2V0IGludmVydCgpe3JldHVybiB0aGlzLl9pbnZlcnR9c2V0IGludmVydCh0KXt0aGlzLl9pbnZlcnQ9ZUgodCl9Z2V0IG1heCgpe3JldHVybiB0aGlzLl9tYXh9c2V0IG1heCh0KXt0aGlzLl9tYXg9bkgodCx0aGlzLl9tYXgpLHRoaXMuX3BlcmNlbnQ9dGhpcy5fY2FsY3VsYXRlUGVyY2VudGFnZSh0aGlzLl92YWx1ZSksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9Z2V0IG1pbigpe3JldHVybiB0aGlzLl9taW59c2V0IG1pbih0KXt0aGlzLl9taW49bkgodCx0aGlzLl9taW4pLHRoaXMuX3BlcmNlbnQ9dGhpcy5fY2FsY3VsYXRlUGVyY2VudGFnZSh0aGlzLl92YWx1ZSksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9Z2V0IHN0ZXAoKXtyZXR1cm4gdGhpcy5fc3RlcH1zZXQgc3RlcCh0KXt0aGlzLl9zdGVwPW5IKHQsdGhpcy5fc3RlcCksdGhpcy5fc3RlcCUxIT0wJiYodGhpcy5fcm91bmRUb0RlY2ltYWw9dGhpcy5fc3RlcC50b1N0cmluZygpLnNwbGl0KCIuIikucG9wKCkubGVuZ3RoKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX1nZXQgdGh1bWJMYWJlbCgpe3JldHVybiB0aGlzLl90aHVtYkxhYmVsfXNldCB0aHVtYkxhYmVsKHQpe3RoaXMuX3RodW1iTGFiZWw9ZUgodCl9Z2V0IHRpY2tJbnRlcnZhbCgpe3JldHVybiB0aGlzLl90aWNrSW50ZXJ2YWx9c2V0IHRpY2tJbnRlcnZhbCh0KXt0aGlzLl90aWNrSW50ZXJ2YWw9ImF1dG8iPT09dD8iYXV0byI6Im51bWJlciI9PXR5cGVvZiB0fHwic3RyaW5nIj09dHlwZW9mIHQ/bkgodCx0aGlzLl90aWNrSW50ZXJ2YWwpOjB9Z2V0IHZhbHVlKCl7cmV0dXJuIG51bGw9PT10aGlzLl92YWx1ZSYmKHRoaXMudmFsdWU9dGhpcy5fbWluKSx0aGlzLl92YWx1ZX1zZXQgdmFsdWUodCl7aWYodCE9PXRoaXMuX3ZhbHVlKXtsZXQgZT1uSCh0LDApO3RoaXMuX3JvdW5kVG9EZWNpbWFsJiZlIT09dGhpcy5taW4mJmUhPT10aGlzLm1heCYmKGU9cGFyc2VGbG9hdChlLnRvRml4ZWQodGhpcy5fcm91bmRUb0RlY2ltYWwpKSksdGhpcy5fdmFsdWU9ZSx0aGlzLl9wZXJjZW50PXRoaXMuX2NhbGN1bGF0ZVBlcmNlbnRhZ2UodGhpcy5fdmFsdWUpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfX1nZXQgdmVydGljYWwoKXtyZXR1cm4gdGhpcy5fdmVydGljYWx9c2V0IHZlcnRpY2FsKHQpe3RoaXMuX3ZlcnRpY2FsPWVIKHQpfWdldCBkaXNwbGF5VmFsdWUoKXtyZXR1cm4gdGhpcy5kaXNwbGF5V2l0aD90aGlzLmRpc3BsYXlXaXRoKHRoaXMudmFsdWUpOnRoaXMuX3JvdW5kVG9EZWNpbWFsJiZ0aGlzLnZhbHVlJiZ0aGlzLnZhbHVlJTEhPTA/dGhpcy52YWx1ZS50b0ZpeGVkKHRoaXMuX3JvdW5kVG9EZWNpbWFsKTp0aGlzLnZhbHVlfHwwfWZvY3VzKHQpe3RoaXMuX2ZvY3VzSG9zdEVsZW1lbnQodCl9Ymx1cigpe3RoaXMuX2JsdXJIb3N0RWxlbWVudCgpfWdldCBwZXJjZW50KCl7cmV0dXJuIHRoaXMuX2NsYW1wKHRoaXMuX3BlcmNlbnQpfV9zaG91bGRJbnZlcnRBeGlzKCl7cmV0dXJuIHRoaXMudmVydGljYWw/IXRoaXMuaW52ZXJ0OnRoaXMuaW52ZXJ0fV9pc01pblZhbHVlKCl7cmV0dXJuIDA9PT10aGlzLnBlcmNlbnR9X2dldFRodW1iR2FwKCl7cmV0dXJuIHRoaXMuZGlzYWJsZWQ/Nzp0aGlzLl9pc01pblZhbHVlKCkmJiF0aGlzLnRodW1iTGFiZWw/dGhpcy5faXNBY3RpdmU/MTA6NzowfV9nZXRUcmFja0JhY2tncm91bmRTdHlsZXMoKXtjb25zdCB0PXRoaXMudmVydGljYWw/YDEsICR7MS10aGlzLnBlcmNlbnR9LCAxYDoxLXRoaXMucGVyY2VudCsiLCAxLCAxIjtyZXR1cm57dHJhbnNmb3JtOmB0cmFuc2xhdGUke3RoaXMudmVydGljYWw/IlkiOiJYIn0oJHt0aGlzLl9zaG91bGRJbnZlcnRNb3VzZUNvb3JkcygpPyItIjoiIn0ke3RoaXMuX2dldFRodW1iR2FwKCl9cHgpIHNjYWxlM2QoJHt0fSlgfX1fZ2V0VHJhY2tGaWxsU3R5bGVzKCl7Y29uc3QgdD10aGlzLnBlcmNlbnQsZT10aGlzLnZlcnRpY2FsP2AxLCAke3R9LCAxYDpgJHt0fSwgMSwgMWA7cmV0dXJue3RyYW5zZm9ybTpgdHJhbnNsYXRlJHt0aGlzLnZlcnRpY2FsPyJZIjoiWCJ9KCR7dGhpcy5fc2hvdWxkSW52ZXJ0TW91c2VDb29yZHMoKT8iIjoiLSJ9JHt0aGlzLl9nZXRUaHVtYkdhcCgpfXB4KSBzY2FsZTNkKCR7ZX0pYCxkaXNwbGF5OjA9PT10PyJub25lIjoiIn19X2dldFRpY2tzQ29udGFpbmVyU3R5bGVzKCl7cmV0dXJue3RyYW5zZm9ybTpgdHJhbnNsYXRlJHt0aGlzLnZlcnRpY2FsPyJZIjoiWCJ9KCR7dGhpcy52ZXJ0aWNhbHx8InJ0bCIhPXRoaXMuX2dldERpcmVjdGlvbigpPyItIjoiIn0ke3RoaXMuX3RpY2tJbnRlcnZhbFBlcmNlbnQvMioxMDB9JSlgfX1fZ2V0VGlja3NTdHlsZXMoKXtsZXQgdD0xMDAqdGhpcy5fdGlja0ludGVydmFsUGVyY2VudCxlPXtiYWNrZ3JvdW5kU2l6ZTp0aGlzLnZlcnRpY2FsP2AycHggJHt0fSVgOmAke3R9JSAycHhgLHRyYW5zZm9ybTpgdHJhbnNsYXRlWigwKSB0cmFuc2xhdGUke3RoaXMudmVydGljYWw/IlkiOiJYIn0oJHt0aGlzLnZlcnRpY2FsfHwicnRsIiE9dGhpcy5fZ2V0RGlyZWN0aW9uKCk/IiI6Ii0ifSR7dC8yfSUpJHt0aGlzLnZlcnRpY2FsfHwicnRsIiE9dGhpcy5fZ2V0RGlyZWN0aW9uKCk/IiI6IiByb3RhdGUoMTgwZGVnKSJ9YH07aWYodGhpcy5faXNNaW5WYWx1ZSgpJiZ0aGlzLl9nZXRUaHVtYkdhcCgpKXtjb25zdCB0PXRoaXMuX3Nob3VsZEludmVydEF4aXMoKTtsZXQgbjtuPXRoaXMudmVydGljYWw/dD8iQm90dG9tIjoiVG9wIjp0PyJSaWdodCI6IkxlZnQiLGVbYHBhZGRpbmcke259YF09YCR7dGhpcy5fZ2V0VGh1bWJHYXAoKX1weGB9cmV0dXJuIGV9X2dldFRodW1iQ29udGFpbmVyU3R5bGVzKCl7Y29uc3QgdD10aGlzLl9zaG91bGRJbnZlcnRBeGlzKCk7cmV0dXJue3RyYW5zZm9ybTpgdHJhbnNsYXRlJHt0aGlzLnZlcnRpY2FsPyJZIjoiWCJ9KC0kezEwMCooKCJydGwiIT10aGlzLl9nZXREaXJlY3Rpb24oKXx8dGhpcy52ZXJ0aWNhbD90OiF0KT90aGlzLnBlcmNlbnQ6MS10aGlzLnBlcmNlbnQpfSUpYH19X3Nob3VsZEludmVydE1vdXNlQ29vcmRzKCl7Y29uc3QgdD10aGlzLl9zaG91bGRJbnZlcnRBeGlzKCk7cmV0dXJuInJ0bCIhPXRoaXMuX2dldERpcmVjdGlvbigpfHx0aGlzLnZlcnRpY2FsP3Q6IXR9X2dldERpcmVjdGlvbigpe3JldHVybiB0aGlzLl9kaXImJiJydGwiPT10aGlzLl9kaXIudmFsdWU/InJ0bCI6Imx0ciJ9bmdBZnRlclZpZXdJbml0KCl7dGhpcy5fZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5fZWxlbWVudFJlZiwhMCkuc3Vic2NyaWJlKCh0PT57dGhpcy5faXNBY3RpdmU9ISF0JiYia2V5Ym9hcmQiIT09dCx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCl9KSksdGhpcy5fZGlyJiYodGhpcy5fZGlyQ2hhbmdlU3Vic2NyaXB0aW9uPXRoaXMuX2Rpci5jaGFuZ2Uuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfSkpKX1uZ09uRGVzdHJveSgpe2NvbnN0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLl9wb2ludGVyRG93bix2SiksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9wb2ludGVyRG93bix2SiksdGhpcy5fbGFzdFBvaW50ZXJFdmVudD1udWxsLHRoaXMuX3JlbW92ZUdsb2JhbEV2ZW50cygpLHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKSx0aGlzLl9kaXJDaGFuZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKX1fb25Nb3VzZWVudGVyKCl7dGhpcy5kaXNhYmxlZHx8KHRoaXMuX3NsaWRlckRpbWVuc2lvbnM9dGhpcy5fZ2V0U2xpZGVyRGltZW5zaW9ucygpLHRoaXMuX3VwZGF0ZVRpY2tJbnRlcnZhbFBlcmNlbnQoKSl9X29uRm9jdXMoKXt0aGlzLl9zbGlkZXJEaW1lbnNpb25zPXRoaXMuX2dldFNsaWRlckRpbWVuc2lvbnMoKSx0aGlzLl91cGRhdGVUaWNrSW50ZXJ2YWxQZXJjZW50KCl9X29uQmx1cigpe3RoaXMub25Ub3VjaGVkKCl9X29uS2V5ZG93bih0KXtpZih0aGlzLmRpc2FibGVkfHx0SCh0KXx8dGhpcy5faXNTbGlkaW5nJiYia2V5Ym9hcmQiIT09dGhpcy5faXNTbGlkaW5nKXJldHVybjtjb25zdCBlPXRoaXMudmFsdWU7c3dpdGNoKHQua2V5Q29kZSl7Y2FzZSAzMzp0aGlzLl9pbmNyZW1lbnQoMTApO2JyZWFrO2Nhc2UgMzQ6dGhpcy5faW5jcmVtZW50KC0xMCk7YnJlYWs7Y2FzZSAzNTp0aGlzLnZhbHVlPXRoaXMubWF4O2JyZWFrO2Nhc2UgMzY6dGhpcy52YWx1ZT10aGlzLm1pbjticmVhaztjYXNlIDM3OnRoaXMuX2luY3JlbWVudCgicnRsIj09dGhpcy5fZ2V0RGlyZWN0aW9uKCk/MTotMSk7YnJlYWs7Y2FzZSBRSTp0aGlzLl9pbmNyZW1lbnQoMSk7YnJlYWs7Y2FzZSAzOTp0aGlzLl9pbmNyZW1lbnQoInJ0bCI9PXRoaXMuX2dldERpcmVjdGlvbigpPy0xOjEpO2JyZWFrO2Nhc2UgJEk6dGhpcy5faW5jcmVtZW50KC0xKTticmVhaztkZWZhdWx0OnJldHVybn1lIT10aGlzLnZhbHVlJiYodGhpcy5fZW1pdElucHV0RXZlbnQoKSx0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKSksdGhpcy5faXNTbGlkaW5nPSJrZXlib2FyZCIsdC5wcmV2ZW50RGVmYXVsdCgpfV9vbktleXVwKCl7ImtleWJvYXJkIj09PXRoaXMuX2lzU2xpZGluZyYmKHRoaXMuX2lzU2xpZGluZz1udWxsKX1fZ2V0V2luZG93KCl7cmV0dXJuIHRoaXMuX2RvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3d9X2JpbmRHbG9iYWxFdmVudHModCl7Y29uc3QgZT10aGlzLl9kb2N1bWVudCxuPWtKKHQpLG89bj8idG91Y2hlbmQiOiJtb3VzZXVwIjtlLmFkZEV2ZW50TGlzdGVuZXIobj8idG91Y2htb3ZlIjoibW91c2Vtb3ZlIix0aGlzLl9wb2ludGVyTW92ZSx2SiksZS5hZGRFdmVudExpc3RlbmVyKG8sdGhpcy5fcG9pbnRlclVwLHZKKSxuJiZlLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoY2FuY2VsIix0aGlzLl9wb2ludGVyVXAsdkopO2NvbnN0IGk9dGhpcy5fZ2V0V2luZG93KCk7dm9pZCAwIT09aSYmaSYmaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIix0aGlzLl93aW5kb3dCbHVyKX1fcmVtb3ZlR2xvYmFsRXZlbnRzKCl7Y29uc3QgdD10aGlzLl9kb2N1bWVudDt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5fcG9pbnRlck1vdmUsdkopLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fcG9pbnRlclVwLHZKKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fcG9pbnRlck1vdmUsdkopLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX3BvaW50ZXJVcCx2SiksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGNhbmNlbCIsdGhpcy5fcG9pbnRlclVwLHZKKTtjb25zdCBlPXRoaXMuX2dldFdpbmRvdygpO3ZvaWQgMCE9PWUmJmUmJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fd2luZG93Qmx1cil9X2luY3JlbWVudCh0KXt0aGlzLnZhbHVlPXRoaXMuX2NsYW1wKCh0aGlzLnZhbHVlfHwwKSt0aGlzLnN0ZXAqdCx0aGlzLm1pbix0aGlzLm1heCl9X3VwZGF0ZVZhbHVlRnJvbVBvc2l0aW9uKHQpe2lmKCF0aGlzLl9zbGlkZXJEaW1lbnNpb25zKXJldHVybjtsZXQgZT10aGlzLl9jbGFtcCgoKHRoaXMudmVydGljYWw/dC55OnQueCktKHRoaXMudmVydGljYWw/dGhpcy5fc2xpZGVyRGltZW5zaW9ucy50b3A6dGhpcy5fc2xpZGVyRGltZW5zaW9ucy5sZWZ0KSkvKHRoaXMudmVydGljYWw/dGhpcy5fc2xpZGVyRGltZW5zaW9ucy5oZWlnaHQ6dGhpcy5fc2xpZGVyRGltZW5zaW9ucy53aWR0aCkpO2lmKHRoaXMuX3Nob3VsZEludmVydE1vdXNlQ29vcmRzKCkmJihlPTEtZSksMD09PWUpdGhpcy52YWx1ZT10aGlzLm1pbjtlbHNlIGlmKDE9PT1lKXRoaXMudmFsdWU9dGhpcy5tYXg7ZWxzZXtjb25zdCB0PXRoaXMuX2NhbGN1bGF0ZVZhbHVlKGUpLG49TWF0aC5yb3VuZCgodC10aGlzLm1pbikvdGhpcy5zdGVwKSp0aGlzLnN0ZXArdGhpcy5taW47dGhpcy52YWx1ZT10aGlzLl9jbGFtcChuLHRoaXMubWluLHRoaXMubWF4KX19X2VtaXRDaGFuZ2VFdmVudCgpe3RoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4odGhpcy52YWx1ZSksdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpLHRoaXMuY2hhbmdlLmVtaXQodGhpcy5fY3JlYXRlQ2hhbmdlRXZlbnQoKSl9X2VtaXRJbnB1dEV2ZW50KCl7dGhpcy5pbnB1dC5lbWl0KHRoaXMuX2NyZWF0ZUNoYW5nZUV2ZW50KCkpfV91cGRhdGVUaWNrSW50ZXJ2YWxQZXJjZW50KCl7aWYodGhpcy50aWNrSW50ZXJ2YWwmJnRoaXMuX3NsaWRlckRpbWVuc2lvbnMpaWYoImF1dG8iPT10aGlzLnRpY2tJbnRlcnZhbCl7bGV0IHQ9dGhpcy52ZXJ0aWNhbD90aGlzLl9zbGlkZXJEaW1lbnNpb25zLmhlaWdodDp0aGlzLl9zbGlkZXJEaW1lbnNpb25zLndpZHRoLGU9TWF0aC5jZWlsKDMwLyh0KnRoaXMuc3RlcC8odGhpcy5tYXgtdGhpcy5taW4pKSk7dGhpcy5fdGlja0ludGVydmFsUGVyY2VudD1lKnRoaXMuc3RlcC90fWVsc2UgdGhpcy5fdGlja0ludGVydmFsUGVyY2VudD10aGlzLnRpY2tJbnRlcnZhbCp0aGlzLnN0ZXAvKHRoaXMubWF4LXRoaXMubWluKX1fY3JlYXRlQ2hhbmdlRXZlbnQodD10aGlzLnZhbHVlKXtsZXQgZT1uZXcgT0o7cmV0dXJuIGUuc291cmNlPXRoaXMsZS52YWx1ZT10LGV9X2NhbGN1bGF0ZVBlcmNlbnRhZ2UodCl7cmV0dXJuKCh0fHwwKS10aGlzLm1pbikvKHRoaXMubWF4LXRoaXMubWluKX1fY2FsY3VsYXRlVmFsdWUodCl7cmV0dXJuIHRoaXMubWluK3QqKHRoaXMubWF4LXRoaXMubWluKX1fY2xhbXAodCxlPTAsbj0xKXtyZXR1cm4gTWF0aC5tYXgoZSxNYXRoLm1pbih0LG4pKX1fZ2V0U2xpZGVyRGltZW5zaW9ucygpe3JldHVybiB0aGlzLl9zbGlkZXJXcmFwcGVyP3RoaXMuX3NsaWRlcldyYXBwZXIubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTpudWxsfV9mb2N1c0hvc3RFbGVtZW50KHQpe3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cyh0KX1fYmx1ckhvc3RFbGVtZW50KCl7dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmJsdXIoKX13cml0ZVZhbHVlKHQpe3RoaXMudmFsdWU9dH1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm49dH1yZWdpc3Rlck9uVG91Y2hlZCh0KXt0aGlzLm9uVG91Y2hlZD10fXNldERpc2FibGVkU3RhdGUodCl7dGhpcy5kaXNhYmxlZD10fX1mdW5jdGlvbiBrSih0KXtyZXR1cm4idCI9PT10LnR5cGVbMF19ZnVuY3Rpb24gU0oodCxlKXtsZXQgbjtyZXR1cm4gbj1rSih0KT8ibnVtYmVyIj09dHlwZW9mIGU/REoodC50b3VjaGVzLGUpfHxESih0LmNoYW5nZWRUb3VjaGVzLGUpOnQudG91Y2hlc1swXXx8dC5jaGFuZ2VkVG91Y2hlc1swXTp0LG4/e3g6bi5jbGllbnRYLHk6bi5jbGllbnRZfTp2b2lkIDB9ZnVuY3Rpb24gREoodCxlKXtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKylpZih0W25dLmlkZW50aWZpZXI9PT1lKXJldHVybiB0W25dfXdKLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx3SikoZ2YoS2gpLGdmKGZGKSxnZihPYiksZ2YodkYsOCksR2EoInRhYmluZGV4IiksZ2YobUMpLGdmKHNNKSxnZihjayw4KSl9LHdKLsm1Y21wPXNvKHt0eXBlOndKLHNlbGVjdG9yczpbWyJtYXQtc2xpZGVyIl1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeShNSiw1KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLl9zbGlkZXJXcmFwcGVyPXQuZmlyc3QpfX0saG9zdEF0dHJzOlsicm9sZSIsInNsaWRlciIsMSwibWF0LXNsaWRlciIsIm1hdC1mb2N1cy1pbmRpY2F0b3IiXSxob3N0VmFyczoyOSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImZvY3VzIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9vbkZvY3VzKCl9KSkoImJsdXIiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX29uQmx1cigpfSkpKCJrZXlkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5fb25LZXlkb3duKGUpfSkpKCJrZXl1cCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fb25LZXl1cCgpfSkpKCJtb3VzZWVudGVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9vbk1vdXNlZW50ZXIoKX0pKSgic2VsZWN0c3RhcnQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBlLnByZXZlbnREZWZhdWx0KCl9KSksMiZlJiYoY2coInRhYkluZGV4IixuLnRhYkluZGV4KSx5bSgiYXJpYS1kaXNhYmxlZCIsbi5kaXNhYmxlZCkoImFyaWEtdmFsdWVtYXgiLG4ubWF4KSgiYXJpYS12YWx1ZW1pbiIsbi5taW4pKCJhcmlhLXZhbHVlbm93IixuLnZhbHVlKSgiYXJpYS12YWx1ZXRleHQiLG51bGw9PW4udmFsdWVUZXh0P24uZGlzcGxheVZhbHVlOm4udmFsdWVUZXh0KSgiYXJpYS1vcmllbnRhdGlvbiIsbi52ZXJ0aWNhbD8idmVydGljYWwiOiJob3Jpem9udGFsIiksY3UoIm1hdC1zbGlkZXItZGlzYWJsZWQiLG4uZGlzYWJsZWQpKCJtYXQtc2xpZGVyLWhhcy10aWNrcyIsbi50aWNrSW50ZXJ2YWwpKCJtYXQtc2xpZGVyLWhvcml6b250YWwiLCFuLnZlcnRpY2FsKSgibWF0LXNsaWRlci1heGlzLWludmVydGVkIixuLl9zaG91bGRJbnZlcnRBeGlzKCkpKCJtYXQtc2xpZGVyLWludmVydC1tb3VzZS1jb29yZHMiLG4uX3Nob3VsZEludmVydE1vdXNlQ29vcmRzKCkpKCJtYXQtc2xpZGVyLXNsaWRpbmciLG4uX2lzU2xpZGluZykoIm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyIsbi50aHVtYkxhYmVsKSgibWF0LXNsaWRlci12ZXJ0aWNhbCIsbi52ZXJ0aWNhbCkoIm1hdC1zbGlkZXItbWluLXZhbHVlIixuLl9pc01pblZhbHVlKCkpKCJtYXQtc2xpZGVyLWhpZGUtbGFzdC10aWNrIixuLmRpc2FibGVkfHxuLl9pc01pblZhbHVlKCkmJm4uX2dldFRodW1iR2FwKCkmJm4uX3Nob3VsZEludmVydEF4aXMoKSkoIl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIiwiTm9vcEFuaW1hdGlvbnMiPT09bi5fYW5pbWF0aW9uTW9kZSkpfSxpbnB1dHM6e2Rpc2FibGVkOiJkaXNhYmxlZCIsY29sb3I6ImNvbG9yIix0YWJJbmRleDoidGFiSW5kZXgiLGludmVydDoiaW52ZXJ0IixtYXg6Im1heCIsbWluOiJtaW4iLHN0ZXA6InN0ZXAiLHRodW1iTGFiZWw6InRodW1iTGFiZWwiLHRpY2tJbnRlcnZhbDoidGlja0ludGVydmFsIix2YWx1ZToidmFsdWUiLHZlcnRpY2FsOiJ2ZXJ0aWNhbCIsZGlzcGxheVdpdGg6ImRpc3BsYXlXaXRoIix2YWx1ZVRleHQ6InZhbHVlVGV4dCJ9LG91dHB1dHM6e2NoYW5nZToiY2hhbmdlIixpbnB1dDoiaW5wdXQiLHZhbHVlQ2hhbmdlOiJ2YWx1ZUNoYW5nZSJ9LGV4cG9ydEFzOlsibWF0U2xpZGVyIl0sZmVhdHVyZXM6W2poKFt4Sl0pLFFwXSxkZWNsczoxMyx2YXJzOjYsY29uc3RzOltbMSwibWF0LXNsaWRlci13cmFwcGVyIl0sWyJzbGlkZXJXcmFwcGVyIiwiIl0sWzEsIm1hdC1zbGlkZXItdHJhY2std3JhcHBlciJdLFsxLCJtYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQiLDMsIm5nU3R5bGUiXSxbMSwibWF0LXNsaWRlci10cmFjay1maWxsIiwzLCJuZ1N0eWxlIl0sWzEsIm1hdC1zbGlkZXItdGlja3MtY29udGFpbmVyIiwzLCJuZ1N0eWxlIl0sWzEsIm1hdC1zbGlkZXItdGlja3MiLDMsIm5nU3R5bGUiXSxbMSwibWF0LXNsaWRlci10aHVtYi1jb250YWluZXIiLDMsIm5nU3R5bGUiXSxbMSwibWF0LXNsaWRlci1mb2N1cy1yaW5nIl0sWzEsIm1hdC1zbGlkZXItdGh1bWIiXSxbMSwibWF0LXNsaWRlci10aHVtYi1sYWJlbCJdLFsxLCJtYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCwxKSxDZigyLCJkaXYiLDIpLHZmKDMsImRpdiIsMyksdmYoNCwiZGl2Iiw0KSxNZigpLENmKDUsImRpdiIsNSksdmYoNiwiZGl2Iiw2KSxNZigpLENmKDcsImRpdiIsNyksdmYoOCwiZGl2Iiw4KSx2Zig5LCJkaXYiLDkpLENmKDEwLCJkaXYiLDEwKSxDZigxMSwic3BhbiIsMTEpLFB1KDEyKSxNZigpLE1mKCksTWYoKSxNZigpKSwyJmUmJihEYygzKSxiZigibmdTdHlsZSIsbi5fZ2V0VHJhY2tCYWNrZ3JvdW5kU3R5bGVzKCkpLERjKDEpLGJmKCJuZ1N0eWxlIixuLl9nZXRUcmFja0ZpbGxTdHlsZXMoKSksRGMoMSksYmYoIm5nU3R5bGUiLG4uX2dldFRpY2tzQ29udGFpbmVyU3R5bGVzKCkpLERjKDEpLGJmKCJuZ1N0eWxlIixuLl9nZXRUaWNrc1N0eWxlcygpKSxEYygxKSxiZigibmdTdHlsZSIsbi5fZ2V0VGh1bWJDb250YWluZXJTdHlsZXMoKSksRGMoNSksd3Uobi5kaXNwbGF5VmFsdWUpKX0sZGlyZWN0aXZlczpbenZdLHN0eWxlczpbJy5tYXQtc2xpZGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjhweDtvdXRsaW5lOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCk6YWN0aXZlLC5tYXQtc2xpZGVyLm1hdC1zbGlkZXItc2xpZGluZzpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpe2N1cnNvcjotd2Via2l0LWdyYWJiaW5nO2N1cnNvcjpncmFiYmluZ30ubWF0LXNsaWRlci13cmFwcGVyey13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OmV4YWN0O2NvbG9yLWFkanVzdDpleGFjdDtwb3NpdGlvbjphYnNvbHV0ZX0ubWF0LXNsaWRlci10cmFjay13cmFwcGVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtvdmVyZmxvdzpoaWRkZW59Lm1hdC1zbGlkZXItdHJhY2stZmlsbHtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm0tb3JpZ2luOjAgMDt0cmFuc2l0aW9uOnRyYW5zZm9ybSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDEwMCU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYmFja2dyb3VuZC1jb2xvciA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0ubWF0LXNsaWRlci10aWNrcy1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO292ZXJmbG93OmhpZGRlbn0ubWF0LXNsaWRlci10aWNrc3std2Via2l0LWJhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0O2JveC1zaXppbmc6Ym9yZGVyLWJveDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtc2xpZGVyLXRodW1iLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjE7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1zbGlkZXItZm9jdXMtcmluZ3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDozMHB4O2hlaWdodDozMHB4O2JvcmRlci1yYWRpdXM6NTAlO3RyYW5zZm9ybTpzY2FsZSgwKTtvcGFjaXR5OjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYmFja2dyb3VuZC1jb2xvciA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtc2xpZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcsLm1hdC1zbGlkZXIuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LXNsaWRlci1mb2N1cy1yaW5ne3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9Lm1hdC1zbGlkZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKTpub3QoLm1hdC1zbGlkZXItc2xpZGluZykgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwsLm1hdC1zbGlkZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKTpub3QoLm1hdC1zbGlkZXItc2xpZGluZykgLm1hdC1zbGlkZXItdGh1bWJ7Y3Vyc29yOi13ZWJraXQtZ3JhYjtjdXJzb3I6Z3JhYn0ubWF0LXNsaWRlci10aHVtYntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMTBweDtib3R0b206LTEwcHg7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyOjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMC43KTt0cmFuc2l0aW9uOnRyYW5zZm9ybSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJvcmRlci1jb2xvciA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0ubWF0LXNsaWRlci10aHVtYi1sYWJlbHtkaXNwbGF5Om5vbmU7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2l0aW9uOnRyYW5zZm9ybSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxib3JkZXItcmFkaXVzIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtvdXRsaW5lOnNvbGlkIDFweH0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e3otaW5kZXg6MTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtc2xpZGVyLXNsaWRpbmcgLm1hdC1zbGlkZXItdHJhY2stZmlsbCwubWF0LXNsaWRlci1zbGlkaW5nIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsLm1hdC1zbGlkZXItc2xpZGluZyAubWF0LXNsaWRlci10aHVtYi1jb250YWluZXJ7dHJhbnNpdGlvbi1kdXJhdGlvbjowbXN9Lm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXdpZHRoOjA7Ym9yZGVyLXN0eWxlOnNvbGlkO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1zbGlkZXItaGFzLXRpY2tzLmNkay1mb2N1c2VkOm5vdCgubWF0LXNsaWRlci1oaWRlLWxhc3QtdGljaykgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXIsLm1hdC1zbGlkZXItaGFzLXRpY2tzOmhvdmVyOm5vdCgubWF0LXNsaWRlci1oaWRlLWxhc3QtdGljaykgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXJ7b3BhY2l0eToxfS5tYXQtc2xpZGVyLWhhcy10aWNrcy5jZGstZm9jdXNlZDpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpIC5tYXQtc2xpZGVyLXRpY2tzLC5tYXQtc2xpZGVyLWhhcy10aWNrczpob3Zlcjpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpIC5tYXQtc2xpZGVyLXRpY2tze29wYWNpdHk6MX0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7ZGlzcGxheTpub25lfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7ZGlzcGxheTpmbGV4fS5tYXQtc2xpZGVyLWF4aXMtaW52ZXJ0ZWQgLm1hdC1zbGlkZXItdHJhY2stZmlsbHt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMTAwJX0ubWF0LXNsaWRlci1heGlzLWludmVydGVkIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7dHJhbnNmb3JtLW9yaWdpbjowIDB9Lm1hdC1zbGlkZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKS5jZGstZm9jdXNlZC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcgLm1hdC1zbGlkZXItdGh1bWJ7dHJhbnNmb3JtOnNjYWxlKDApfS5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCkuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7Ym9yZGVyLXJhZGl1czo1MCUgNTAlIDB9Lm1hdC1zbGlkZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKS5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e29wYWNpdHk6MX0ubWF0LXNsaWRlcjpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpLmNkay1tb3VzZS1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCkuY2RrLXRvdWNoLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKS5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1ie2JvcmRlci13aWR0aDoycHg7dHJhbnNmb3JtOnNjYWxlKDEpfS5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7dHJhbnNmb3JtOnNjYWxlKDApO29wYWNpdHk6MH0ubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItd2lkdGg6NHB4O3RyYW5zZm9ybTpzY2FsZSgwLjUpfS5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2Rpc3BsYXk6bm9uZX0ubWF0LXNsaWRlci1ob3Jpem9udGFse2hlaWdodDo0OHB4O21pbi13aWR0aDoxMjhweH0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXdyYXBwZXJ7aGVpZ2h0OjJweDt0b3A6MjNweDtsZWZ0OjhweDtyaWdodDo4cHh9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci13cmFwcGVyOjphZnRlcntoZWlnaHQ6MnB4O2JvcmRlci1sZWZ0LXdpZHRoOjJweDtyaWdodDowO3RvcDowfS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdHJhY2std3JhcHBlcntoZWlnaHQ6MnB4O3dpZHRoOjEwMCV9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10cmFjay1maWxse2hlaWdodDoycHg7d2lkdGg6MTAwJTt0cmFuc2Zvcm06c2NhbGVYKDApfS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHtoZWlnaHQ6MnB4O3dpZHRoOjEwMCU7dHJhbnNmb3JtOnNjYWxlWCgxKX0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tzLWNvbnRhaW5lcntoZWlnaHQ6MnB4O3dpZHRoOjEwMCV9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tzLWNvbnRhaW5lcntoZWlnaHQ6MDtvdXRsaW5lOnNvbGlkIDJweDt0b3A6MXB4fS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdGlja3N7aGVpZ2h0OjJweDt3aWR0aDoxMDAlfS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdGh1bWItY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjA7dG9wOjUwJX0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7dG9wOi0xNXB4O3JpZ2h0Oi0xNXB4fS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7cmlnaHQ6LTE0cHg7dG9wOi00MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVZKDI2cHgpIHNjYWxlKDAuMDEpIHJvdGF0ZSg0NWRlZyl9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX0ubWF0LXNsaWRlci1ob3Jpem9udGFsLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbGlkZXItaG9yaXpvbnRhbC5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbCwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc2xpZGVyLWhvcml6b250YWwuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHt0cmFuc2Zvcm06bm9uZX0ubWF0LXNsaWRlci12ZXJ0aWNhbHt3aWR0aDo0OHB4O21pbi1oZWlnaHQ6MTI4cHh9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItd3JhcHBlcnt3aWR0aDoycHg7dG9wOjhweDtib3R0b206OHB4O2xlZnQ6MjNweH0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci13cmFwcGVyOjphZnRlcnt3aWR0aDoycHg7Ym9yZGVyLXRvcC13aWR0aDoycHg7Ym90dG9tOjA7bGVmdDowfS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRyYWNrLXdyYXBwZXJ7aGVpZ2h0OjEwMCU7d2lkdGg6MnB4fS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGx7aGVpZ2h0OjEwMCU7d2lkdGg6MnB4O3RyYW5zZm9ybTpzY2FsZVkoMCl9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHtoZWlnaHQ6MTAwJTt3aWR0aDoycHg7dHJhbnNmb3JtOnNjYWxlWSgxKX0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aWNrcy1jb250YWluZXJ7d2lkdGg6MnB4O2hlaWdodDoxMDAlfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3MtY29udGFpbmVye3dpZHRoOjA7b3V0bGluZTpzb2xpZCAycHg7bGVmdDoxcHh9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItZm9jdXMtcmluZ3tib3R0b206LTE1cHg7bGVmdDotMTVweH0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aWNrc3t3aWR0aDoycHg7aGVpZ2h0OjEwMCV9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGh1bWItY29udGFpbmVye2hlaWdodDoxMDAlO3dpZHRoOjA7bGVmdDo1MCV9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGh1bWJ7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtib3R0b206LTE0cHg7bGVmdDotNDBweDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyNnB4KSBzY2FsZSgwLjAxKSByb3RhdGUoLTQ1ZGVnKX0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0e3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5tYXQtc2xpZGVyLXZlcnRpY2FsLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX1bZGlyPXJ0bF0gLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXJ7bGVmdDowO3JpZ2h0OmF1dG99W2Rpcj1ydGxdIC5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdHJhY2stZmlsbHt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMTAwJX1bZGlyPXJ0bF0gLm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke3RyYW5zZm9ybS1vcmlnaW46MCAwfVtkaXI9cnRsXSAubWF0LXNsaWRlci1ob3Jpem9udGFsLm1hdC1zbGlkZXItYXhpcy1pbnZlcnRlZCAubWF0LXNsaWRlci10cmFjay1maWxse3RyYW5zZm9ybS1vcmlnaW46MCAwfVtkaXI9cnRsXSAubWF0LXNsaWRlci1ob3Jpem9udGFsLm1hdC1zbGlkZXItYXhpcy1pbnZlcnRlZCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke3RyYW5zZm9ybS1vcmlnaW46MTAwJSAxMDAlfS5tYXQtc2xpZGVyLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCwubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci10aWNrcywubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci10aHVtYi1jb250YWluZXIsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItZm9jdXMtcmluZywubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci10aHVtYi1sYWJlbCwubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0LC5tYXQtc2xpZGVyLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtc2xpZGVyLWhhcy10aWNrcyAubWF0LXNsaWRlci13cmFwcGVyOjphZnRlcnt0cmFuc2l0aW9uOm5vbmV9XG4nXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSx3Si5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpmRn0se3R5cGU6T2J9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsidGFiaW5kZXgiXX1dfSx7dHlwZTptQ30se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sd0oucHJvcERlY29yYXRvcnM9e2ludmVydDpbe3R5cGU6Ul99XSxtYXg6W3t0eXBlOlJffV0sbWluOlt7dHlwZTpSX31dLHN0ZXA6W3t0eXBlOlJffV0sdGh1bWJMYWJlbDpbe3R5cGU6Ul99XSx0aWNrSW50ZXJ2YWw6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV0sZGlzcGxheVdpdGg6W3t0eXBlOlJffV0sdmFsdWVUZXh0Olt7dHlwZTpSX31dLHZlcnRpY2FsOlt7dHlwZTpSX31dLGNoYW5nZTpbe3R5cGU6RV99XSxpbnB1dDpbe3R5cGU6RV99XSx2YWx1ZUNoYW5nZTpbe3R5cGU6RV99XSxfc2xpZGVyV3JhcHBlcjpbe3R5cGU6YXIsYXJnczpbInNsaWRlcldyYXBwZXIiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHdKLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1zbGlkZXIiLGV4cG9ydEFzOiJtYXRTbGlkZXIiLHByb3ZpZGVyczpbeEpdLGhvc3Q6eyIoZm9jdXMpIjoiX29uRm9jdXMoKSIsIihibHVyKSI6Il9vbkJsdXIoKSIsIihrZXlkb3duKSI6Il9vbktleWRvd24oJGV2ZW50KSIsIihrZXl1cCkiOiJfb25LZXl1cCgpIiwiKG1vdXNlZW50ZXIpIjoiX29uTW91c2VlbnRlcigpIiwiKHNlbGVjdHN0YXJ0KSI6IiRldmVudC5wcmV2ZW50RGVmYXVsdCgpIixjbGFzczoibWF0LXNsaWRlciBtYXQtZm9jdXMtaW5kaWNhdG9yIixyb2xlOiJzbGlkZXIiLCJbdGFiSW5kZXhdIjoidGFiSW5kZXgiLCJbYXR0ci5hcmlhLWRpc2FibGVkXSI6ImRpc2FibGVkIiwiW2F0dHIuYXJpYS12YWx1ZW1heF0iOiJtYXgiLCJbYXR0ci5hcmlhLXZhbHVlbWluXSI6Im1pbiIsIlthdHRyLmFyaWEtdmFsdWVub3ddIjoidmFsdWUiLCJbYXR0ci5hcmlhLXZhbHVldGV4dF0iOiJ2YWx1ZVRleHQgPT0gbnVsbCA/IGRpc3BsYXlWYWx1ZSA6IHZhbHVlVGV4dCIsIlthdHRyLmFyaWEtb3JpZW50YXRpb25dIjondmVydGljYWwgPyAidmVydGljYWwiIDogImhvcml6b250YWwiJywiW2NsYXNzLm1hdC1zbGlkZXItZGlzYWJsZWRdIjoiZGlzYWJsZWQiLCJbY2xhc3MubWF0LXNsaWRlci1oYXMtdGlja3NdIjoidGlja0ludGVydmFsIiwiW2NsYXNzLm1hdC1zbGlkZXItaG9yaXpvbnRhbF0iOiIhdmVydGljYWwiLCJbY2xhc3MubWF0LXNsaWRlci1heGlzLWludmVydGVkXSI6Il9zaG91bGRJbnZlcnRBeGlzKCkiLCJbY2xhc3MubWF0LXNsaWRlci1pbnZlcnQtbW91c2UtY29vcmRzXSI6Il9zaG91bGRJbnZlcnRNb3VzZUNvb3JkcygpIiwiW2NsYXNzLm1hdC1zbGlkZXItc2xpZGluZ10iOiJfaXNTbGlkaW5nIiwiW2NsYXNzLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZ10iOiJ0aHVtYkxhYmVsIiwiW2NsYXNzLm1hdC1zbGlkZXItdmVydGljYWxdIjoidmVydGljYWwiLCJbY2xhc3MubWF0LXNsaWRlci1taW4tdmFsdWVdIjoiX2lzTWluVmFsdWUoKSIsIltjbGFzcy5tYXQtc2xpZGVyLWhpZGUtbGFzdC10aWNrXSI6ImRpc2FibGVkIHx8IF9pc01pblZhbHVlKCkgJiYgX2dldFRodW1iR2FwKCkgJiYgX3Nob3VsZEludmVydEF4aXMoKSIsIltjbGFzcy5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZV0iOidfYW5pbWF0aW9uTW9kZSA9PT0gIk5vb3BBbmltYXRpb25zIid9LHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJtYXQtc2xpZGVyLXdyYXBwZXIiICNzbGlkZXJXcmFwcGVyPlxuICA8ZGl2IGNsYXNzPSJtYXQtc2xpZGVyLXRyYWNrLXdyYXBwZXIiPlxuICAgIDxkaXYgY2xhc3M9Im1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCIgW25nU3R5bGVdPSJfZ2V0VHJhY2tCYWNrZ3JvdW5kU3R5bGVzKCkiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9Im1hdC1zbGlkZXItdHJhY2stZmlsbCIgW25nU3R5bGVdPSJfZ2V0VHJhY2tGaWxsU3R5bGVzKCkiPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0ibWF0LXNsaWRlci10aWNrcy1jb250YWluZXIiIFtuZ1N0eWxlXT0iX2dldFRpY2tzQ29udGFpbmVyU3R5bGVzKCkiPlxuICAgIDxkaXYgY2xhc3M9Im1hdC1zbGlkZXItdGlja3MiIFtuZ1N0eWxlXT0iX2dldFRpY2tzU3R5bGVzKCkiPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz0ibWF0LXNsaWRlci10aHVtYi1jb250YWluZXIiIFtuZ1N0eWxlXT0iX2dldFRodW1iQ29udGFpbmVyU3R5bGVzKCkiPlxuICAgIDxkaXYgY2xhc3M9Im1hdC1zbGlkZXItZm9jdXMtcmluZyI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0ibWF0LXNsaWRlci10aHVtYiI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0ibWF0LXNsaWRlci10aHVtYi1sYWJlbCI+XG4gICAgICA8c3BhbiBjbGFzcz0ibWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0Ij57e2Rpc3BsYXlWYWx1ZX19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxpbnB1dHM6WyJkaXNhYmxlZCIsImNvbG9yIiwidGFiSW5kZXgiXSxlbmNhcHN1bGF0aW9uOlduLk5vbmUsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxzdHlsZXM6WycubWF0LXNsaWRlcntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzo4cHg7b3V0bGluZTpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWF0LXNsaWRlcjpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpOmFjdGl2ZSwubWF0LXNsaWRlci5tYXQtc2xpZGVyLXNsaWRpbmc6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKXtjdXJzb3I6LXdlYmtpdC1ncmFiYmluZztjdXJzb3I6Z3JhYmJpbmd9Lm1hdC1zbGlkZXItd3JhcHBlcnstd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDpleGFjdDtjb2xvci1hZGp1c3Q6ZXhhY3Q7cG9zaXRpb246YWJzb2x1dGV9Lm1hdC1zbGlkZXItdHJhY2std3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7b3ZlcmZsb3c6aGlkZGVufS5tYXQtc2xpZGVyLXRyYWNrLWZpbGx7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYmFja2dyb3VuZC1jb2xvciA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0ubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybS1vcmlnaW46MTAwJSAxMDAlO3RyYW5zaXRpb246dHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1zbGlkZXItdGlja3MtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtvdmVyZmxvdzpoaWRkZW59Lm1hdC1zbGlkZXItdGlja3N7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0ubWF0LXNsaWRlci10aHVtYi1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxO3RyYW5zaXRpb246dHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtib3JkZXItcmFkaXVzOjUwJTt0cmFuc2Zvcm06c2NhbGUoMCk7b3BhY2l0eTowO3RyYW5zaXRpb246dHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLGJhY2tncm91bmQtY29sb3IgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksb3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0ubWF0LXNsaWRlci5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LXNsaWRlci1mb2N1cy1yaW5nLC5tYXQtc2xpZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1zbGlkZXItZm9jdXMtcmluZ3t0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfS5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCk6bm90KC5tYXQtc2xpZGVyLXNsaWRpbmcpIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLC5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCk6bm90KC5tYXQtc2xpZGVyLXNsaWRpbmcpIC5tYXQtc2xpZGVyLXRodW1ie2N1cnNvcjotd2Via2l0LWdyYWI7Y3Vyc29yOmdyYWJ9Lm1hdC1zbGlkZXItdGh1bWJ7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6LTEwcHg7Ym90dG9tOi0xMHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O2JvcmRlcjozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNmb3JtOnNjYWxlKDAuNyk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYmFja2dyb3VuZC1jb2xvciA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxib3JkZXItY29sb3IgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSl9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWx7ZGlzcGxheTpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7Ym9yZGVyLXJhZGl1czo1MCU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksYm9yZGVyLXJhZGl1cyA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSxiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7b3V0bGluZTpzb2xpZCAxcHh9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHt6LWluZGV4OjE7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKX0ubWF0LXNsaWRlci1zbGlkaW5nIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsLm1hdC1zbGlkZXItc2xpZGluZyAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kLC5tYXQtc2xpZGVyLXNsaWRpbmcgLm1hdC1zbGlkZXItdGh1bWItY29udGFpbmVye3RyYW5zaXRpb24tZHVyYXRpb246MG1zfS5tYXQtc2xpZGVyLWhhcy10aWNrcyAubWF0LXNsaWRlci13cmFwcGVyOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci13aWR0aDowO2JvcmRlci1zdHlsZTpzb2xpZDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpfS5tYXQtc2xpZGVyLWhhcy10aWNrcy5jZGstZm9jdXNlZDpub3QoLm1hdC1zbGlkZXItaGlkZS1sYXN0LXRpY2spIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVyLC5tYXQtc2xpZGVyLWhhcy10aWNrczpob3Zlcjpub3QoLm1hdC1zbGlkZXItaGlkZS1sYXN0LXRpY2spIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVye29wYWNpdHk6MX0ubWF0LXNsaWRlci1oYXMtdGlja3MuY2RrLWZvY3VzZWQ6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKSAubWF0LXNsaWRlci10aWNrcywubWF0LXNsaWRlci1oYXMtdGlja3M6aG92ZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKSAubWF0LXNsaWRlci10aWNrc3tvcGFjaXR5OjF9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyAubWF0LXNsaWRlci1mb2N1cy1yaW5ne2Rpc3BsYXk6bm9uZX0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2Rpc3BsYXk6ZmxleH0ubWF0LXNsaWRlci1heGlzLWludmVydGVkIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGx7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDEwMCV9Lm1hdC1zbGlkZXItYXhpcy1pbnZlcnRlZCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5ke3RyYW5zZm9ybS1vcmlnaW46MCAwfS5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCkuY2RrLWZvY3VzZWQubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIC5tYXQtc2xpZGVyLXRodW1ie3RyYW5zZm9ybTpzY2FsZSgwKX0ubWF0LXNsaWRlcjpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse2JvcmRlci1yYWRpdXM6NTAlIDUwJSAwfS5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCkuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtvcGFjaXR5OjF9Lm1hdC1zbGlkZXI6bm90KC5tYXQtc2xpZGVyLWRpc2FibGVkKS5jZGstbW91c2UtZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYiwubWF0LXNsaWRlcjpub3QoLm1hdC1zbGlkZXItZGlzYWJsZWQpLmNkay10b3VjaC1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLC5tYXQtc2xpZGVyOm5vdCgubWF0LXNsaWRlci1kaXNhYmxlZCkuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYntib3JkZXItd2lkdGg6MnB4O3RyYW5zZm9ybTpzY2FsZSgxKX0ubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci1mb2N1cy1yaW5ne3RyYW5zZm9ybTpzY2FsZSgwKTtvcGFjaXR5OjB9Lm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdGh1bWJ7Ym9yZGVyLXdpZHRoOjRweDt0cmFuc2Zvcm06c2NhbGUoMC41KX0ubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHtkaXNwbGF5Om5vbmV9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbHtoZWlnaHQ6NDhweDttaW4td2lkdGg6MTI4cHh9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci13cmFwcGVye2hlaWdodDoycHg7dG9wOjIzcHg7bGVmdDo4cHg7cmlnaHQ6OHB4fS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXJ7aGVpZ2h0OjJweDtib3JkZXItbGVmdC13aWR0aDoycHg7cmlnaHQ6MDt0b3A6MH0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRyYWNrLXdyYXBwZXJ7aGVpZ2h0OjJweDt3aWR0aDoxMDAlfS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdHJhY2stZmlsbHtoZWlnaHQ6MnB4O3dpZHRoOjEwMCU7dHJhbnNmb3JtOnNjYWxlWCgwKX0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7aGVpZ2h0OjJweDt3aWR0aDoxMDAlO3RyYW5zZm9ybTpzY2FsZVgoMSl9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10aWNrcy1jb250YWluZXJ7aGVpZ2h0OjJweDt3aWR0aDoxMDAlfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci10aWNrcy1jb250YWluZXJ7aGVpZ2h0OjA7b3V0bGluZTpzb2xpZCAycHg7dG9wOjFweH0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tze2hlaWdodDoycHg7d2lkdGg6MTAwJX0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRodW1iLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDowO3RvcDo1MCV9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbCAubWF0LXNsaWRlci1mb2N1cy1yaW5ne3RvcDotMTVweDtyaWdodDotMTVweH0ubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVse3JpZ2h0Oi0xNHB4O3RvcDotNDBweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyNnB4KSBzY2FsZSgwLjAxKSByb3RhdGUoNDVkZWcpfS5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9Lm1hdC1zbGlkZXItaG9yaXpvbnRhbC5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc2xpZGVyLWhvcml6b250YWwuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNsaWRlci1ob3Jpem9udGFsLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHR7dHJhbnNmb3JtOm5vbmV9Lm1hdC1zbGlkZXItdmVydGljYWx7d2lkdGg6NDhweDttaW4taGVpZ2h0OjEyOHB4fS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXdyYXBwZXJ7d2lkdGg6MnB4O3RvcDo4cHg7Ym90dG9tOjhweDtsZWZ0OjIzcHh9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXJ7d2lkdGg6MnB4O2JvcmRlci10b3Atd2lkdGg6MnB4O2JvdHRvbTowO2xlZnQ6MH0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10cmFjay13cmFwcGVye2hlaWdodDoxMDAlO3dpZHRoOjJweH0ubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10cmFjay1maWxse2hlaWdodDoxMDAlO3dpZHRoOjJweDt0cmFuc2Zvcm06c2NhbGVZKDApfS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmR7aGVpZ2h0OjEwMCU7d2lkdGg6MnB4O3RyYW5zZm9ybTpzY2FsZVkoMSl9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3MtY29udGFpbmVye3dpZHRoOjJweDtoZWlnaHQ6MTAwJX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRpY2tzLWNvbnRhaW5lcnt3aWR0aDowO291dGxpbmU6c29saWQgMnB4O2xlZnQ6MXB4fS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmd7Ym90dG9tOi0xNXB4O2xlZnQ6LTE1cHh9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3N7d2lkdGg6MnB4O2hlaWdodDoxMDAlfS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRodW1iLWNvbnRhaW5lcntoZWlnaHQ6MTAwJTt3aWR0aDowO2xlZnQ6NTAlfS5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRodW1iey13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGh1bWItbGFiZWx7Ym90dG9tOi0xNHB4O2xlZnQ6LTQwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjZweCkgc2NhbGUoMC4wMSkgcm90YXRlKC00NWRlZyl9Lm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ubWF0LXNsaWRlci12ZXJ0aWNhbC5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbHt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9W2Rpcj1ydGxdIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVye2xlZnQ6MDtyaWdodDphdXRvfVtkaXI9cnRsXSAubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGx7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDEwMCV9W2Rpcj1ydGxdIC5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHt0cmFuc2Zvcm0tb3JpZ2luOjAgMH1bZGlyPXJ0bF0gLm1hdC1zbGlkZXItaG9yaXpvbnRhbC5tYXQtc2xpZGVyLWF4aXMtaW52ZXJ0ZWQgLm1hdC1zbGlkZXItdHJhY2stZmlsbHt0cmFuc2Zvcm0tb3JpZ2luOjAgMH1bZGlyPXJ0bF0gLm1hdC1zbGlkZXItaG9yaXpvbnRhbC5tYXQtc2xpZGVyLWF4aXMtaW52ZXJ0ZWQgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZHt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMTAwJX0ubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci10cmFjay1maWxsLC5tYXQtc2xpZGVyLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItdGlja3MsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItdGh1bWItY29udGFpbmVyLC5tYXQtc2xpZGVyLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItdGh1bWIsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwsLm1hdC1zbGlkZXIuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dCwubWF0LXNsaWRlci5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlci1oYXMtdGlja3MgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXJ7dHJhbnNpdGlvbjpub25lfVxuJ119XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6ZkZ9LHt0eXBlOk9ifSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbInRhYmluZGV4Il19XX0se3R5cGU6bUN9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse2NoYW5nZTpbe3R5cGU6RV99XSxpbnB1dDpbe3R5cGU6RV99XSx2YWx1ZUNoYW5nZTpbe3R5cGU6RV99XSxpbnZlcnQ6W3t0eXBlOlJffV0sbWF4Olt7dHlwZTpSX31dLG1pbjpbe3R5cGU6Ul99XSxzdGVwOlt7dHlwZTpSX31dLHRodW1iTGFiZWw6W3t0eXBlOlJffV0sdGlja0ludGVydmFsOlt7dHlwZTpSX31dLHZhbHVlOlt7dHlwZTpSX31dLHZlcnRpY2FsOlt7dHlwZTpSX31dLGRpc3BsYXlXaXRoOlt7dHlwZTpSX31dLHZhbHVlVGV4dDpbe3R5cGU6Ul99XSxfc2xpZGVyV3JhcHBlcjpbe3R5cGU6YXIsYXJnczpbInNsaWRlcldyYXBwZXIiXX1dfSk7Y2xhc3MgUkp7fVJKLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxSSil9LFJKLsm1bW9kPWZvKHt0eXBlOlJKfSksUkouybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxORl0sTkZdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihSSixbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W3J4LE5GXSxleHBvcnRzOlt3SixORl0sZGVjbGFyYXRpb25zOlt3Sl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhSSix7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW3dKXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltyeCxORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bd0osTkZdfX0pO2NvbnN0IEVKPXsxOToiZmxvYXQxNiIsMToiZmxvYXQzMiIsMjoiZmxvYXQ2NCIsMzoiaW50MzIiLDQ6InVpbnQ4IiwxNzoidWludDE2IiwyMjoidWludDMyIiwyMzoidWludDY0Iiw1OiJpbnQxNiIsNjoiaW50OCIsNzoic3RyaW5nIiw4OiJjb21wbGV4NjQiLDE4OiJjb21wbGV4MTI4Iiw5OiJpbnQ2NCIsMTA6ImJvb2wiLDExOiJxaW50OCIsMTI6InF1aW50OCIsMTU6InFpbnQxNiIsMTY6InF1aW50MTYiLDEzOiJxaW50MzIiLDE0OiJiZmxvYXQxNiIsMjA6InJlc291cmNlIiwyMToidmFyaWFudCIsMTE5OiJmbG9hdDE2X3JlZiIsMTAxOiJmbG9hdDMyX3JlZiIsMTAyOiJmbG9hdDY0X3JlZiIsMTAzOiJpbnQzMl9yZWYiLDEyMjoidWludDMyX3JlZiIsMTA0OiJ1aW50OF9yZWYiLDExNzoidWludDE2X3JlZiIsMTA1OiJpbnQxNl9yZWYiLDEwNjoiaW50OF9yZWYiLDEwNzoic3RyaW5nX3JlZiIsMTA4OiJjb21wbGV4NjRfcmVmIiwxMTg6ImNvbXBsZXgxMjhfcmVmIiwxMDk6ImludDY0X3JlZiIsMTIzOiJ1aW50NjRfcmVmIiwxMTA6ImJvb2xfcmVmIiwxMTE6InFpbnQ4X3JlZiIsMTEyOiJxdWludDhfcmVmIiwxMTU6InFpbnQxNl9yZWYiLDExNjoicXVpbnQxNl9yZWYiLDExMzoicWludDMyX3JlZiIsMTE0OiJiZmxvYXQxNl9yZWYiLDEyMDoicmVzb3VyY2VfcmVmIiwxMjE6InZhcmlhbnRfcmVmIn07ZnVuY3Rpb24gQUoodCl7Y29uc3R7dGVuc29yRGVidWdNb2RlOmUsYXJyYXk6bn09dDtzd2l0Y2goZSl7Y2FzZSBzSy5OT19URU5TT1I6aWYobnVsbCE9PW4pdGhyb3cgbmV3IEVycm9yKCJVbmV4cGVjdGVkbHkgcmVjZWl2ZWQgbm9uLW51bGwgZGVidWctdGVuc29yLXZhbHVlIGFycmF5IHVuZGVyIE5PX1RFTlNPUiBtb2RlIik7cmV0dXJue307Y2FzZSBzSy5DVVJUX0hFQUxUSDppZihudWxsPT09bnx8MiE9PW4ubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgVW5kZXIgQ1VSVF9IRUFMVEggbW9kZSwgZXhwZWN0ZWQgZGVidWctdGVuc29yLXZhbHVlIGFycmF5IHRvIGhhdmUgbGVuZ3RoIDIsIGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeShuKX1gKTtyZXR1cm57aGFzSW5mT3JOYU46Qm9vbGVhbihuWzFdKX07Y2FzZSBzSy5DT05DSVNFX0hFQUxUSDp7aWYobnVsbD09PW58fDUhPT1uLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYFVuZGVyIENPTkNJU0VfSEVBTFRIIG1vZGUsIGV4cGVjdGVkIGRlYnVnLXRlbnNvci12YWx1ZSBhcnJheSB0byBoYXZlIGxlbmd0aCA1LCBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkobil9YCk7Y29uc3QgdD17c2l6ZTpuWzFdfTtyZXR1cm4gblsyXT4wJiYodC5udW1OZWdhdGl2ZUluZnM9blsyXSksblszXT4wJiYodC5udW1Qb3NpdGl2ZUluZnM9blszXSksbls0XT4wJiYodC5udW1OYU5zPW5bNF0pLHR9Y2FzZSBzSy5TSEFQRTp7aWYobnVsbD09PW58fDEwIT09bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBVbmRlciBTSEFQRSBtb2RlLCBleHBlY3RlZCBkZWJ1Zy10ZW5zb3ItdmFsdWUgYXJyYXkgdG8gaGF2ZSBsZW5ndGggMTAsIGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeShuKX1gKTtjb25zdCB0PW5bMl07bGV0IGU9bi5zbGljZSg0LE1hdGgubWluKDQrdCxuLmxlbmd0aCkpO3JldHVybiBlLmxlbmd0aDx0JiYoZT1uZXcgQXJyYXkodC1lLmxlbmd0aCkuY29uY2F0KGUpKSx7ZHR5cGU6RUpbblsxXV0scmFuazp0LHNpemU6blszXSxzaGFwZTplfX1jYXNlIHNLLkZVTExfSEVBTFRIOntpZihudWxsPT09bnx8MTEhPT1uLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYFVuZGVyIEZVTExfSEVBTFRIIG1vZGUsIGV4cGVjdGVkIGRlYnVnLXRlbnNvci12YWx1ZSBhcnJheSB0byBoYXZlIGxlbmd0aCAxMSwgYnV0IGdvdCAke0pTT04uc3RyaW5naWZ5KG4pfWApO2NvbnN0IHQ9e2R0eXBlOkVKW25bMl1dLHJhbms6blszXSxzaXplOm5bNF19O3JldHVybiBuWzVdPjAmJih0Lm51bU5lZ2F0aXZlSW5mcz1uWzVdKSxuWzZdPjAmJih0Lm51bVBvc2l0aXZlSW5mcz1uWzZdKSxuWzddPjAmJih0Lm51bU5hTnM9bls3XSksbls4XT4wJiYodC5udW1OZWdhdGl2ZUZpbml0ZXM9bls4XSksbls5XT4wJiYodC5udW1aZXJvcz1uWzldKSxuWzEwXT4wJiYodC5udW1Qb3NpdGl2ZUZpbml0ZXM9blsxMF0pLHR9Y2FzZSBzSy5GVUxMX1RFTlNPUjppZihudWxsIT09bil0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWRseSByZWNlaXZlZCBub24tbnVsbCBkZWJ1Zy10ZW5zb3ItdmFsdWUgYXJyYXkgdW5kZXIgRlVMTF9URU5TT1IgbW9kZSIpO3JldHVybnt9O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgdGVuc29yRGVidWdNb2RlOiAke2V9YCl9fWNvbnN0IFRKPSJbX25naG9zdC0lQ09NUCVdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlNWU4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nLCBtb25vc3BhY2U7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMXB4IDNweDtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIH0iO2Z1bmN0aW9uIE5KKHQsZSl7MSZ0JiZ2ZigwLCJkaXYiLDQpfWZ1bmN0aW9uIHpKKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw3KSxDZigxLCJzcGFuIiw4KSxQdSgyLCJOYU4iKSxNZigpLENmKDMsInNwYW4iLDkpLFB1KDQpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDQpLGt1KCLDlyIsdC5udW1OYU5zLCIiKX19ZnVuY3Rpb24gSUoodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDcpLENmKDEsInNwYW4iLDgpLFB1KDIsIi3iiJ4iKSxNZigpLENmKDMsInNwYW4iLDkpLFB1KDQpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDQpLGt1KCLDlyIsdC5udW1OZWdhdGl2ZUluZnMsIiIpfX1mdW5jdGlvbiBISih0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsNyksQ2YoMSwic3BhbiIsOCksUHUoMiwiK+KIniIpLE1mKCksQ2YoMywic3BhbiIsOSksUHUoNCksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoNCksa3UoIsOXIix0Lm51bVBvc2l0aXZlSW5mcywiIil9fWZ1bmN0aW9uIEZKKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw3KSxDZigxLCJzcGFuIiwxMCksUHUoMiwiLSIpLE1mKCksQ2YoMywic3BhbiIsOSksUHUoNCksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoNCksa3UoIsOXIix0Lm51bU5lZ2F0aXZlRmluaXRlcywiIil9fWZ1bmN0aW9uIExKKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw3KSxDZigxLCJzcGFuIiwxMCksUHUoMiwiMCIpLE1mKCksQ2YoMywic3BhbiIsOSksUHUoNCksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoNCksa3UoIsOXIix0Lm51bVplcm9zLCIiKX19ZnVuY3Rpb24gQkoodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDcpLENmKDEsInNwYW4iLDEwKSxQdSgyLCIrIiksTWYoKSxDZigzLCJzcGFuIiw5KSxQdSg0KSxNZigpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYyg0KSxrdSgiw5ciLHQubnVtUG9zaXRpdmVGaW5pdGVzLCIiKX19ZnVuY3Rpb24gVkoodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDUpLEhtKDEsekosNSwxLCJkaXYiLDYpLEhtKDIsSUosNSwxLCJkaXYiLDYpLEhtKDMsSEosNSwxLCJkaXYiLDYpLEhtKDQsRkosNSwxLCJkaXYiLDYpLEhtKDUsTEosNSwxLCJkaXYiLDYpLEhtKDYsQkosNSwxLCJkaXYiLDYpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGJmKCJuZ0lmIix2b2lkIDAhPT10Lm51bU5hTnMmJnQubnVtTmFOcz4wKSxEYygxKSxiZigibmdJZiIsdm9pZCAwIT09dC5udW1OZWdhdGl2ZUluZnMmJnQubnVtTmVnYXRpdmVJbmZzPjApLERjKDEpLGJmKCJuZ0lmIix2b2lkIDAhPT10Lm51bVBvc2l0aXZlSW5mcyYmdC5udW1Qb3NpdGl2ZUluZnM+MCksRGMoMSksYmYoIm5nSWYiLHZvaWQgMCE9PXQubnVtTmVnYXRpdmVGaW5pdGVzJiZ0Lm51bU5lZ2F0aXZlRmluaXRlcz4wKSxEYygxKSxiZigibmdJZiIsdm9pZCAwIT09dC5udW1aZXJvcyYmdC5udW1aZXJvcz4wKSxEYygxKSxiZigibmdJZiIsdm9pZCAwIT09dC5udW1Qb3NpdGl2ZUZpbml0ZXMmJnQubnVtUG9zaXRpdmVGaW5pdGVzPjApfX1jb25zdCBqSj1mdW5jdGlvbih0KXtyZXR1cm5bImNvbnRhaW5lciIsdF19O2Z1bmN0aW9uIFVKKHQsZSl7aWYoMSZ0JiZ2ZigwLCJkZWJ1Zy10ZW5zb3ItZHR5cGUiLDUpLDImdCl7YmYoImR0eXBlIix6ZigpLmRlYnVnVGVuc29yVmFsdWUuZHR5cGUpfX1mdW5jdGlvbiBXSih0LGUpe2lmKDEmdCYmdmYoMCwiZGVidWctdGVuc29yLXJhbmsiLDYpLDImdCl7YmYoInJhbmsiLHpmKCkuZGVidWdUZW5zb3JWYWx1ZS5yYW5rKX19ZnVuY3Rpb24gR0oodCxlKXtpZigxJnQmJnZmKDAsImRlYnVnLXRlbnNvci1zaGFwZSIsNyksMiZ0KXtiZigic2hhcGUiLHpmKCkuZGVidWdUZW5zb3JWYWx1ZS5zaGFwZSl9fWZ1bmN0aW9uIFlKKHQsZSl7aWYoMSZ0JiZ2ZigwLCJkZWJ1Zy10ZW5zb3ItaGFzLWluZi1vci1uYW4iLDgpLDImdCl7YmYoImhhc0luZk9yTmFOIix6ZigpLmRlYnVnVGVuc29yVmFsdWUuaGFzSW5mT3JOYU4pfX1mdW5jdGlvbiBxSih0LGUpe2lmKDEmdCYmdmYoMCwiZGVidWctdGVuc29yLW51bWVyaWMtYnJlYWtkb3duIiw5KSwyJnQpe2NvbnN0IHQ9emYoKTtMZigic2l6ZSIsdC5kZWJ1Z1RlbnNvclZhbHVlLnNpemUpLGJmKCJudW1OZWdhdGl2ZUluZnMiLHQuZGVidWdUZW5zb3JWYWx1ZS5udW1OZWdhdGl2ZUluZnMpKCJudW1Qb3NpdGl2ZUluZnMiLHQuZGVidWdUZW5zb3JWYWx1ZS5udW1Qb3NpdGl2ZUluZnMpKCJudW1OYU5zIix0LmRlYnVnVGVuc29yVmFsdWUubnVtTmFOcykoIm51bU5lZ2F0aXZlRmluaXRlcyIsdC5kZWJ1Z1RlbnNvclZhbHVlLm51bU5lZ2F0aXZlRmluaXRlcykoIm51bVplcm9zIix0LmRlYnVnVGVuc29yVmFsdWUubnVtWmVyb3MpKCJudW1Qb3NpdGl2ZUZpbml0ZXMiLHQuZGVidWdUZW5zb3JWYWx1ZS5udW1Qb3NpdGl2ZUZpbml0ZXMpfX1jb25zdCBaSj0iXG4gIDpob3N0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlNWU4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIE1vbm8nLCBtb25vc3BhY2U7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMXB4IDNweDtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIH1cbiI7Y2xhc3MgWEp7fVhKLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxYSil9LFhKLsm1Y21wPXNvKHt0eXBlOlhKLHNlbGVjdG9yczpbWyJkZWJ1Zy10ZW5zb3ItZHR5cGUiXV0saW5wdXRzOntkdHlwZToiZHR5cGUifSxkZWNsczoxLHZhcnM6MSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiZQdSgwKSwyJmUmJmt1KCIgIixuLmR0eXBlLCIgIil9LHN0eWxlczpbVEpdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYSixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJkZWJ1Zy10ZW5zb3ItZHR5cGUiLHRlbXBsYXRlOiIge3sgZHR5cGUgfX0gIixzdHlsZXM6W1pKXX1dfV0sbnVsbCx7ZHR5cGU6W3t0eXBlOlJffV19KTtjbGFzcyBLSnt9S0ouybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEtKKX0sS0ouybVjbXA9c28oe3R5cGU6S0osc2VsZWN0b3JzOltbImRlYnVnLXRlbnNvci1yYW5rIl1dLGlucHV0czp7cmFuazoicmFuayJ9LGRlY2xzOjEsdmFyczoxLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlB1KDApLDImZSYma3UoIiAiLG4ucmFuaywiRCAiKX0sc3R5bGVzOltUSl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEtKLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImRlYnVnLXRlbnNvci1yYW5rIix0ZW1wbGF0ZToiIHt7IHJhbmsgfX1EICIsc3R5bGVzOltaSl19XX1dLG51bGwse3Jhbms6W3t0eXBlOlJffV19KTtjbGFzcyBKSntnZXQgc2hhcGVTdHJpbmcoKXtyZXR1cm4iWyIrdGhpcy5zaGFwZS5tYXAoKHQ9PnZvaWQgMD09PXQ/Ij8iOlN0cmluZyh0KSkpLmpvaW4oIiwiKSsiXSJ9fUpKLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxKSil9LEpKLsm1Y21wPXNvKHt0eXBlOkpKLHNlbGVjdG9yczpbWyJkZWJ1Zy10ZW5zb3Itc2hhcGUiXV0saW5wdXRzOntzaGFwZToic2hhcGUifSxkZWNsczoxLHZhcnM6MSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiZQdSgwKSwyJmUmJmt1KCIgc2hhcGU6IixuLnNoYXBlU3RyaW5nLCIgIil9LHN0eWxlczpbVEpdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihKSixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJkZWJ1Zy10ZW5zb3Itc2hhcGUiLHRlbXBsYXRlOiIgc2hhcGU6e3sgc2hhcGVTdHJpbmcgfX0gIixzdHlsZXM6W1pKXX1dfV0sbnVsbCx7c2hhcGU6W3t0eXBlOlJffV19KTtjbGFzcyBRSntnZXQgYnJlYWtkb3duRXhpc3RzKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMubnVtTmFOc3x8dm9pZCAwIT09dGhpcy5udW1OZWdhdGl2ZUluZnN8fHZvaWQgMCE9PXRoaXMubnVtUG9zaXRpdmVJbmZzfHx2b2lkIDAhPT10aGlzLm51bU5lZ2F0aXZlRmluaXRlc3x8dm9pZCAwIT09dGhpcy5udW1aZXJvc3x8dm9pZCAwIT09dGhpcy5udW1Qb3NpdGl2ZUZpbml0ZXN9fVFKLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxRSil9LFFKLsm1Y21wPXNvKHt0eXBlOlFKLHNlbGVjdG9yczpbWyJkZWJ1Zy10ZW5zb3ItbnVtZXJpYy1icmVha2Rvd24iXV0saW5wdXRzOntzaXplOiJzaXplIixudW1OYU5zOiJudW1OYU5zIixudW1OZWdhdGl2ZUluZnM6Im51bU5lZ2F0aXZlSW5mcyIsbnVtUG9zaXRpdmVJbmZzOiJudW1Qb3NpdGl2ZUluZnMiLG51bU5lZ2F0aXZlRmluaXRlczoibnVtTmVnYXRpdmVGaW5pdGVzIixudW1aZXJvczoibnVtWmVyb3MiLG51bVBvc2l0aXZlRmluaXRlczoibnVtUG9zaXRpdmVGaW5pdGVzIn0sZGVjbHM6Nyx2YXJzOjMsY29uc3RzOltbMSwic2l6ZSJdLFsxLCJzaXplLXZhbHVlIl0sWyJjbGFzcyIsImJyZWFrIiw0LCJuZ0lmIl0sWyJjbGFzcyIsImJyZWFrZG93biIsNCwibmdJZiJdLFsxLCJicmVhayJdLFsxLCJicmVha2Rvd24iXSxbImNsYXNzIiwiY2F0ZWdvcnkiLDQsIm5nSWYiXSxbMSwiY2F0ZWdvcnkiXSxbMSwiY2F0ZWdvcnktdGFnIiwiaW5maW5pdGUiXSxbMSwiY2F0ZWdvcnktY291bnQiXSxbMSwiY2F0ZWdvcnktdGFnIiwiZmluaXRlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLENmKDEsInNwYW4iKSxQdSgyLCJzaXplOiIpLE1mKCksQ2YoMywic3BhbiIsMSksUHUoNCksTWYoKSxNZigpLEhtKDUsTkosMSwwLCJkaXYiLDIpLEhtKDYsVkosNyw2LCJkaXYiLDMpKSwyJmUmJihEYyg0KSx3dShuLnNpemUpLERjKDEpLGJmKCJuZ0lmIixuLmJyZWFrZG93bkV4aXN0cyksRGMoMSksYmYoIm5nSWYiLG4uYnJlYWtkb3duRXhpc3RzKSl9LGRpcmVjdGl2ZXM6W1B2XSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UzZTVlODtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgbW9ub3NwYWNlO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICAgIHBhZGRpbmc6IDFweDtcbiAgICAgIH1cbiAgICAgIC5icmVha1tfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgIH1cbiAgICAgIC5zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMXB4O1xuICAgICAgICBtYXJnaW46IDAgM3B4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgICAgLmJyZWFrZG93bltfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTFweDtcbiAgICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgICAgLmNhdGVnb3J5W19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICBoZWlndGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgIH1cbiAgICAgIC5jYXRlZ29yeS10YWdbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDJweDtcbiAgICAgIH1cbiAgICAgIC5maW5pdGVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FhYTtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICB9XG4gICAgICAuaW5maW5pdGVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1MjU5MjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFFKLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImRlYnVnLXRlbnNvci1udW1lcmljLWJyZWFrZG93biIsdGVtcGxhdGU6J1xuICAgIDxkaXYgY2xhc3M9InNpemUiPlxuICAgICAgPHNwYW4+c2l6ZTo8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz0ic2l6ZS12YWx1ZSI+e3sgc2l6ZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPSJicmVha2Rvd25FeGlzdHMiIGNsYXNzPSJicmVhayI+PC9kaXY+XG4gICAgPGRpdiAqbmdJZj0iYnJlYWtkb3duRXhpc3RzIiBjbGFzcz0iYnJlYWtkb3duIj5cbiAgICAgIDxkaXYgKm5nSWY9Im51bU5hTnMgIT09IHVuZGVmaW5lZCAmJiBudW1OYU5zID4gMCIgY2xhc3M9ImNhdGVnb3J5Ij5cbiAgICAgICAgPHNwYW4gY2xhc3M9ImNhdGVnb3J5LXRhZyBpbmZpbml0ZSI+TmFOPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnktY291bnQiPsOXe3sgbnVtTmFOcyB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj0ibnVtTmVnYXRpdmVJbmZzICE9PSB1bmRlZmluZWQgJiYgbnVtTmVnYXRpdmVJbmZzID4gMCJcbiAgICAgICAgY2xhc3M9ImNhdGVnb3J5IlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnktdGFnIGluZmluaXRlIj4t4oiePC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnktY291bnQiPsOXe3sgbnVtTmVnYXRpdmVJbmZzIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPSJudW1Qb3NpdGl2ZUluZnMgIT09IHVuZGVmaW5lZCAmJiBudW1Qb3NpdGl2ZUluZnMgPiAwIlxuICAgICAgICBjbGFzcz0iY2F0ZWdvcnkiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS10YWcgaW5maW5pdGUiPiviiJ48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS1jb3VudCI+w5d7eyBudW1Qb3NpdGl2ZUluZnMgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9Im51bU5lZ2F0aXZlRmluaXRlcyAhPT0gdW5kZWZpbmVkICYmIG51bU5lZ2F0aXZlRmluaXRlcyA+IDAiXG4gICAgICAgIGNsYXNzPSJjYXRlZ29yeSJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9ImNhdGVnb3J5LXRhZyBmaW5pdGUiPi08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS1jb3VudCI+w5d7eyBudW1OZWdhdGl2ZUZpbml0ZXMgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9Im51bVplcm9zICE9PSB1bmRlZmluZWQgJiYgbnVtWmVyb3MgPiAwIiBjbGFzcz0iY2F0ZWdvcnkiPlxuICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnktdGFnIGZpbml0ZSI+MDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9ImNhdGVnb3J5LWNvdW50Ij7Dl3t7IG51bVplcm9zIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPSJudW1Qb3NpdGl2ZUZpbml0ZXMgIT09IHVuZGVmaW5lZCAmJiBudW1Qb3NpdGl2ZUZpbml0ZXMgPiAwIlxuICAgICAgICBjbGFzcz0iY2F0ZWdvcnkiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeS10YWcgZmluaXRlIj4rPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnktY291bnQiPsOXe3sgbnVtUG9zaXRpdmVGaW5pdGVzIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICcsc3R5bGVzOlsiXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlM2U1ZTg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTW9ubycsIG1vbm9zcGFjZTtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICB9XG4gICAgICAuYnJlYWsge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgIH1cbiAgICAgIC5zaXplIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDExcHg7XG4gICAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgICAuYnJlYWtkb3duIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDExcHg7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICAgIC5jYXRlZ29yeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICBoZWlndGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgIH1cbiAgICAgIC5jYXRlZ29yeS10YWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgICAgfVxuICAgICAgLmZpbml0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgfVxuICAgICAgLmluZmluaXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1MjU5MjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgIl19XX1dLG51bGwse3NpemU6W3t0eXBlOlJffV0sbnVtTmFOczpbe3R5cGU6Ul99XSxudW1OZWdhdGl2ZUluZnM6W3t0eXBlOlJffV0sbnVtUG9zaXRpdmVJbmZzOlt7dHlwZTpSX31dLG51bU5lZ2F0aXZlRmluaXRlczpbe3R5cGU6Ul99XSxudW1aZXJvczpbe3R5cGU6Ul99XSxudW1Qb3NpdGl2ZUZpbml0ZXM6W3t0eXBlOlJffV19KTtjbGFzcyAkSntnZXQgaW5mb1N0cmluZygpe3JldHVybiB0aGlzLmhhc0luZk9yTmFOPyJIYXMg4oieL05hTiI6Ik5vIOKIni9OYU4ifX0kSi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JEopfSwkSi7JtWNtcD1zbyh7dHlwZTokSixzZWxlY3RvcnM6W1siZGVidWctdGVuc29yLWhhcy1pbmYtb3ItbmFuIl1dLGlucHV0czp7aGFzSW5mT3JOYU46Imhhc0luZk9yTmFOIn0sZGVjbHM6Mix2YXJzOjQsY29uc3RzOltbMywibmdDbGFzcyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZGl2IiwwKSxQdSgxKSxNZigpKSwyJmUmJihiZigibmdDbGFzcyIsaXkoMixqSixuLmhhc0luZk9yTmFOPyJoYXMtaW5mLW9yLW5hbiI6IiIpKSxEYygxKSxrdSgiICIsbi5pbmZvU3RyaW5nLCIgIikpfSxkaXJlY3RpdmVzOltDdl0sc3R5bGVzOlsiLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlNWU4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgbW9ub3NwYWNlO1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgICBwYWRkaW5nOiAxcHggM3B4O1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICB9XG4gICAgICAuaGFzLWluZi1vci1uYW5bX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1MjU5MjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKCRKLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImRlYnVnLXRlbnNvci1oYXMtaW5mLW9yLW5hbiIsdGVtcGxhdGU6IlxuICAgIDxkaXYgW25nQ2xhc3NdPVwiWydjb250YWluZXInLCBoYXNJbmZPck5hTiA/ICdoYXMtaW5mLW9yLW5hbicgOiAnJ11cIj5cbiAgICAgIHt7IGluZm9TdHJpbmcgfX1cbiAgICA8L2Rpdj5cbiAgIixzdHlsZXM6WyJcbiAgICAgIC5jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlNWU4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBNb25vJywgbW9ub3NwYWNlO1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgICBwYWRkaW5nOiAxcHggM3B4O1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICB9XG4gICAgICAuaGFzLWluZi1vci1uYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTUyNTkyO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICAiXX1dfV0sbnVsbCx7aGFzSW5mT3JOYU46W3t0eXBlOlJffV19KTtjbGFzcyB0UXt9dFEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHRRKX0sdFEuybVjbXA9c28oe3R5cGU6dFEsc2VsZWN0b3JzOltbImRlYnVnLXRlbnNvci12YWx1ZSJdXSxpbnB1dHM6e2RlYnVnVGVuc29yVmFsdWU6ImRlYnVnVGVuc29yVmFsdWUifSxkZWNsczo1LHZhcnM6NSxjb25zdHM6W1szLCJkdHlwZSIsNCwibmdJZiJdLFszLCJyYW5rIiw0LCJuZ0lmIl0sWzMsInNoYXBlIiw0LCJuZ0lmIl0sWzMsImhhc0luZk9yTmFOIiw0LCJuZ0lmIl0sWzMsInNpemUiLCJudW1OZWdhdGl2ZUluZnMiLCJudW1Qb3NpdGl2ZUluZnMiLCJudW1OYU5zIiwibnVtTmVnYXRpdmVGaW5pdGVzIiwibnVtWmVyb3MiLCJudW1Qb3NpdGl2ZUZpbml0ZXMiLDQsIm5nSWYiXSxbMywiZHR5cGUiXSxbMywicmFuayJdLFszLCJzaGFwZSJdLFszLCJoYXNJbmZPck5hTiJdLFszLCJzaXplIiwibnVtTmVnYXRpdmVJbmZzIiwibnVtUG9zaXRpdmVJbmZzIiwibnVtTmFOcyIsIm51bU5lZ2F0aXZlRmluaXRlcyIsIm51bVplcm9zIiwibnVtUG9zaXRpdmVGaW5pdGVzIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIbSgwLFVKLDEsMSwiZGVidWctdGVuc29yLWR0eXBlIiwwKSxIbSgxLFdKLDEsMSwiZGVidWctdGVuc29yLXJhbmsiLDEpLEhtKDIsR0osMSwxLCJkZWJ1Zy10ZW5zb3Itc2hhcGUiLDIpLEhtKDMsWUosMSwxLCJkZWJ1Zy10ZW5zb3ItaGFzLWluZi1vci1uYW4iLDMpLEhtKDQscUosMSw3LCJkZWJ1Zy10ZW5zb3ItbnVtZXJpYy1icmVha2Rvd24iLDQpKSwyJmUmJihiZigibmdJZiIsdm9pZCAwIT09bi5kZWJ1Z1RlbnNvclZhbHVlLmR0eXBlKSxEYygxKSxiZigibmdJZiIsdm9pZCAwIT09bi5kZWJ1Z1RlbnNvclZhbHVlLnJhbmspLERjKDEpLGJmKCJuZ0lmIix2b2lkIDAhPT1uLmRlYnVnVGVuc29yVmFsdWUuc2hhcGUpLERjKDEpLGJmKCJuZ0lmIix2b2lkIDAhPT1uLmRlYnVnVGVuc29yVmFsdWUuaGFzSW5mT3JOYU4pLERjKDEpLGJmKCJuZ0lmIix2b2lkIDAhPT1uLmRlYnVnVGVuc29yVmFsdWUuc2l6ZSkpfSxkaXJlY3RpdmVzOltQdixYSixLSixKSiwkSixRSl0sc3R5bGVzOlsiW19uZ2hvc3QtJUNPTVAlXSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cbiAgICAgIGRlYnVnLXRlbnNvci1udW1lcmljLWJyZWFrZG93bltfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHRRLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImRlYnVnLXRlbnNvci12YWx1ZSIsdGVtcGxhdGU6J1xuICAgIDxkZWJ1Zy10ZW5zb3ItZHR5cGVcbiAgICAgICpuZ0lmPSJkZWJ1Z1RlbnNvclZhbHVlLmR0eXBlICE9PSB1bmRlZmluZWQiXG4gICAgICBbZHR5cGVdPSJkZWJ1Z1RlbnNvclZhbHVlLmR0eXBlIlxuICAgID5cbiAgICA8L2RlYnVnLXRlbnNvci1kdHlwZT5cbiAgICA8ZGVidWctdGVuc29yLXJhbmtcbiAgICAgICpuZ0lmPSJkZWJ1Z1RlbnNvclZhbHVlLnJhbmsgIT09IHVuZGVmaW5lZCJcbiAgICAgIFtyYW5rXT0iZGVidWdUZW5zb3JWYWx1ZS5yYW5rIlxuICAgID5cbiAgICA8L2RlYnVnLXRlbnNvci1yYW5rPlxuICAgIDxkZWJ1Zy10ZW5zb3Itc2hhcGVcbiAgICAgICpuZ0lmPSJkZWJ1Z1RlbnNvclZhbHVlLnNoYXBlICE9PSB1bmRlZmluZWQiXG4gICAgICBbc2hhcGVdPSJkZWJ1Z1RlbnNvclZhbHVlLnNoYXBlIlxuICAgID5cbiAgICA8L2RlYnVnLXRlbnNvci1zaGFwZT5cbiAgICA8ZGVidWctdGVuc29yLWhhcy1pbmYtb3ItbmFuXG4gICAgICAqbmdJZj0iZGVidWdUZW5zb3JWYWx1ZS5oYXNJbmZPck5hTiAhPT0gdW5kZWZpbmVkIlxuICAgICAgW2hhc0luZk9yTmFOXT0iZGVidWdUZW5zb3JWYWx1ZS5oYXNJbmZPck5hTiJcbiAgICA+XG4gICAgPC9kZWJ1Zy10ZW5zb3ItaGFzLWluZi1vci1uYW4+XG4gICAgPGRlYnVnLXRlbnNvci1udW1lcmljLWJyZWFrZG93blxuICAgICAgKm5nSWY9ImRlYnVnVGVuc29yVmFsdWUuc2l6ZSAhPT0gdW5kZWZpbmVkIlxuICAgICAgc2l6ZT0ie3sgZGVidWdUZW5zb3JWYWx1ZS5zaXplIH19IlxuICAgICAgW251bU5lZ2F0aXZlSW5mc109ImRlYnVnVGVuc29yVmFsdWUubnVtTmVnYXRpdmVJbmZzIlxuICAgICAgW251bVBvc2l0aXZlSW5mc109ImRlYnVnVGVuc29yVmFsdWUubnVtUG9zaXRpdmVJbmZzIlxuICAgICAgW251bU5hTnNdPSJkZWJ1Z1RlbnNvclZhbHVlLm51bU5hTnMiXG4gICAgICBbbnVtTmVnYXRpdmVGaW5pdGVzXT0iZGVidWdUZW5zb3JWYWx1ZS5udW1OZWdhdGl2ZUZpbml0ZXMiXG4gICAgICBbbnVtWmVyb3NdPSJkZWJ1Z1RlbnNvclZhbHVlLm51bVplcm9zIlxuICAgICAgW251bVBvc2l0aXZlRmluaXRlc109ImRlYnVnVGVuc29yVmFsdWUubnVtUG9zaXRpdmVGaW5pdGVzIlxuICAgID5cbiAgICA8L2RlYnVnLXRlbnNvci1udW1lcmljLWJyZWFrZG93bj5cbiAgJyxzdHlsZXM6WyJcbiAgICAgIDpob3N0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgICAgZGVidWctdGVuc29yLW51bWVyaWMtYnJlYWtkb3duIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgICJdfV19XSxudWxsLHtkZWJ1Z1RlbnNvclZhbHVlOlt7dHlwZTpSX31dfSk7Y29uc3QgZVE9ZnVuY3Rpb24odCxlKXtyZXR1cm57dGVuc29yRGVidWdNb2RlOnQsYXJyYXk6ZX19O2Z1bmN0aW9uIG5RKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiwxMiksQ2YoMSwiZGl2IiwxMyksUHUoMiksTWYoKSxDZigzLCJkaXYiLDE0KSx2Zig0LCJkZWJ1Zy10ZW5zb3ItdmFsdWUiLDE1KSxNZigpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPWUuaW5kZXgsbz16ZigzKTtEYygyKSxrdSgiT3V0cHV0IHNsb3QgIixuLCI6IiksRGMoMiksYmYoImRlYnVnVGVuc29yVmFsdWUiLG8ucGFyc2VEZWJ1Z1RlbnNvclZhbHVlKGF5KDIsZVEsby50ZW5zb3JEZWJ1Z01vZGUsdCkpKX19ZnVuY3Rpb24gb1EodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDEwKSxIbSgxLG5RLDUsNSwiZGl2IiwxMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDEpLGJmKCJuZ0Zvck9mIix0LmRlYnVnVGVuc29yVmFsdWVzKX19ZnVuY3Rpb24gaVEodCxlKXtpZigxJnQmJihDZigwLCJkaXYiKSxDZigxLCJkaXYiKSxDZigyLCJkaXYiLDMpLENmKDMsInNwYW4iLDQpLFB1KDQsIiBPcDogIiksTWYoKSxDZig1LCJzcGFuIiw1KSxQdSg2KSxNZigpLE1mKCksQ2YoNywiZGl2IiwzKSxDZig4LCJzcGFuIiw0KSxQdSg5LCIgIyBvZiBpbnB1dCB0ZW5zb3JzOiAiKSxNZigpLENmKDEwLCJzcGFuIiw2KSxQdSgxMSksTWYoKSxNZigpLENmKDEyLCJkaXYiLDMpLENmKDEzLCJzcGFuIiw0KSxQdSgxNCwiICMgb2Ygb3V0cHV0IHRlbnNvcnM6ICIpLE1mKCksQ2YoMTUsInNwYW4iLDcpLFB1KDE2KSxNZigpLENmKDE3LCJzcGFuIiw4KSxQdSgxOCksTWYoKSxNZigpLEhtKDE5LG9RLDIsMSwiZGl2Iiw5KSxNZigpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDYpLGt1KCIgIix0LmZvY3VzZWRFeGVjdXRpb25EYXRhLm9wX3R5cGUsIiAiKSxEYyg1KSxrdSgiICIsbnVsbD09dC5mb2N1c2VkRXhlY3V0aW9uRGF0YS5pbnB1dF90ZW5zb3JfaWRzPzA6dC5mb2N1c2VkRXhlY3V0aW9uRGF0YS5pbnB1dF90ZW5zb3JfaWRzLmxlbmd0aCwiICIpLERjKDUpLGt1KCIgIixudWxsPT10LmZvY3VzZWRFeGVjdXRpb25EYXRhLm91dHB1dF90ZW5zb3JfaWRzPzA6dC5mb2N1c2VkRXhlY3V0aW9uRGF0YS5vdXRwdXRfdGVuc29yX2lkcy5sZW5ndGgsIiAiKSxEYygyKSxrdSgiIChkZWJ1ZyBtb2RlOiAiLHQuVGVuc29yRGVidWdNb2RlW3QudGVuc29yRGVidWdNb2RlXSwiKSAiKSxEYygxKSxiZigibmdJZiIsdC5oYXNEZWJ1Z1RlbnNvclZhbHVlcyl9fWZ1bmN0aW9uIGFRKHQsZSl7fWNsYXNzIHJRe2NvbnN0cnVjdG9yKCl7dGhpcy50ZW5zb3JEZWJ1Z01vZGU9c0suVU5TUEVDSUZJRUQsdGhpcy5oYXNEZWJ1Z1RlbnNvclZhbHVlcz0hMSx0aGlzLmRlYnVnVGVuc29yVmFsdWVzPW51bGwsdGhpcy5kZWJ1Z1RlbnNvckR0eXBlcz1udWxsLHRoaXMuVGVuc29yRGVidWdNb2RlPXNLLHRoaXMucGFyc2VEZWJ1Z1RlbnNvclZhbHVlPUFKfX1yUS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8clEpfSxyUS7JtWNtcD1zbyh7dHlwZTpyUSxzZWxlY3RvcnM6W1siZXhlY3V0aW9uLWRhdGEtY29tcG9uZW50Il1dLGlucHV0czp7Zm9jdXNlZEV4ZWN1dGlvbkluZGV4OiJmb2N1c2VkRXhlY3V0aW9uSW5kZXgiLGZvY3VzZWRFeGVjdXRpb25EYXRhOiJmb2N1c2VkRXhlY3V0aW9uRGF0YSIsdGVuc29yRGVidWdNb2RlOiJ0ZW5zb3JEZWJ1Z01vZGUiLGhhc0RlYnVnVGVuc29yVmFsdWVzOiJoYXNEZWJ1Z1RlbnNvclZhbHVlcyIsZGVidWdUZW5zb3JWYWx1ZXM6ImRlYnVnVGVuc29yVmFsdWVzIixkZWJ1Z1RlbnNvckR0eXBlczoiZGVidWdUZW5zb3JEdHlwZXMifSxkZWNsczo3LHZhcnM6Myxjb25zdHM6W1sxLCJmb2N1cy1leGVjdXRpb24tY29udGFpbmVyIl0sWzQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsibG9hZGluZ19zZWN0aW9uIiwiIl0sWzEsImV4ZWN1dGlvbi1kYXRhLWZpZWxkIl0sWzEsImV4ZWN1dGlvbi1kYXRhLWtleSJdLFsxLCJleGVjdXRpb24tZGF0YS12YWx1ZSIsIm9wLXR5cGUiXSxbMSwiZXhlY3V0aW9uLWRhdGEtdmFsdWUiLCJpbnB1dC10ZW5zb3JzIl0sWzEsImV4ZWN1dGlvbi1kYXRhLXZhbHVlIiwib3V0cHV0LXRlbnNvcnMiXSxbMSwiZXhlY3V0aW9uLWRhdGEtdmFsdWUiXSxbImNsYXNzIiwib3V0cHV0LXNsb3RzIiw0LCJuZ0lmIl0sWzEsIm91dHB1dC1zbG90cyJdLFsiY2xhc3MiLCJvdXRwdXQtc2xvdC1jb250YWluZXIiLDQsIm5nRm9yIiwibmdGb3JPZiJdLFsxLCJvdXRwdXQtc2xvdC1jb250YWluZXIiXSxbMSwib3V0cHV0LXNsb3QtbnVtYmVyIl0sWzEsIm91dHB1dC1zbG90LWRlYnVnLXRlbnNvci12YWx1ZSJdLFszLCJkZWJ1Z1RlbnNvclZhbHVlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihDZigwLCJkaXYiLDApLENmKDEsImRpdiIpLENmKDIsInNwYW4iKSxQdSgzKSxNZigpLE1mKCksSG0oNCxpUSwyMCw1LCJkaXYiLDEpLEhtKDUsYVEsMCwwLCJuZy10ZW1wbGF0ZSIsbnVsbCwyLHF5KSxNZigpKSwyJmUpe2NvbnN0IHQ9Rm0oNik7RGMoMyksa3UoIiBQeXRob24gRXhlY3V0aW9uICMiLG4uZm9jdXNlZEV4ZWN1dGlvbkluZGV4LCIgIiksRGMoMSksYmYoIm5nSWYiLG51bGwhPT1uLmZvY3VzZWRFeGVjdXRpb25EYXRhKSgibmdJZkVsc2UiLHQpfX0sZGlyZWN0aXZlczpbUHYseHYsdFFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5kZWJ1Zy10ZW5zb3ItdmFsdWVzLXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXt3aWR0aDoxMDAlfS5kZWJ1Zy10ZW5zb3ItdmFsdWVzLXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRkW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItdG9wOjFweCBzb2xpZCAjMDAwO3RleHQtYWxpZ246bGVmdH0uZGVidWctdGVuc29yLXZhbHVlcy10YWJsZVtfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17dGV4dC1hbGlnbjpsZWZ0fS5leGVjdXRpb24tZGF0YS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwfS5leGVjdXRpb24tZGF0YS1rZXlbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxMjBweDt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEyMHB4fS5leGVjdXRpb24tZGF0YS12YWx1ZVtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6MTBweH0uZm9jdXMtZXhlY3V0aW9uLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZjYzgwO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxMnB4O2hlaWdodDoxMjBweDtwYWRkaW5nOjVweDt3aWR0aDozNjBweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZm9jdXMtZXhlY3V0aW9uLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5mb2N1cy1leGVjdXRpb24tY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNlNjUxMDB9Lm91dHB1dC1zbG90c1tfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjYwcHg7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6YXV0b30ub3V0cHV0LXNsb3QtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO21hcmdpbi10b3A6NXB4O3BhZGRpbmc6MnB4IDA7dmVydGljYWwtYWxpZ246dG9wfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5vdXRwdXQtc2xvdC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAub3V0cHV0LXNsb3QtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItdG9wOjFweCBzb2xpZCAjNTU1fS5vdXRwdXQtc2xvdC1udW1iZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6IlJvYm90byBNb25vIixtb25vc3BhY2V9Lm91dHB1dC1zbG90LWRlYnVnLXRlbnNvci12YWx1ZVtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpibG9jazttYXJnaW46M3B4IDAgM3B4IDMwcHh9Lm91dHB1dC10ZW5zb3JzW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOjVweH0nXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoclEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiZXhlY3V0aW9uLWRhdGEtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9leGVjdXRpb25fZGF0YV9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9leGVjdXRpb25fZGF0YV9jb21wb25lbnQuY3NzIl19XX1dLG51bGwse2ZvY3VzZWRFeGVjdXRpb25JbmRleDpbe3R5cGU6Ul99XSxmb2N1c2VkRXhlY3V0aW9uRGF0YTpbe3R5cGU6Ul99XSx0ZW5zb3JEZWJ1Z01vZGU6W3t0eXBlOlJffV0saGFzRGVidWdUZW5zb3JWYWx1ZXM6W3t0eXBlOlJffV0sZGVidWdUZW5zb3JWYWx1ZXM6W3t0eXBlOlJffV0sZGVidWdUZW5zb3JEdHlwZXM6W3t0eXBlOlJffV19KTtjb25zdCBzUT0iVW5rbm93biBkdHlwZSI7Y2xhc3MgbFF7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuZm9jdXNlZEV4ZWN1dGlvbkRhdGEkPXRoaXMuc3RvcmUucGlwZShyUyhzSikpLHRoaXMudGVuc29yRGVidWdNb2RlJD10aGlzLnN0b3JlLnBpcGUoclMoYlMoc0osKHQ9Pm51bGw9PT10P3NLLlVOU1BFQ0lGSUVEOnQudGVuc29yX2RlYnVnX21vZGUpKSkpLHRoaXMuaGFzRGVidWdUZW5zb3JWYWx1ZXMkPXRoaXMuc3RvcmUucGlwZShyUyhiUyhzSiwodD0+e2lmKG51bGw9PT10fHxudWxsPT09dC5kZWJ1Z190ZW5zb3JfdmFsdWVzKXJldHVybiExO2Zvcihjb25zdCBlIG9mIHQuZGVidWdfdGVuc29yX3ZhbHVlcylpZihudWxsIT09ZSYmZS5sZW5ndGg+MClyZXR1cm4hMDtyZXR1cm4hMX0pKSkpLHRoaXMuZGVidWdUZW5zb3JWYWx1ZXMkPXRoaXMuc3RvcmUucGlwZShyUyhiUyhzSiwodD0+bnVsbD09PXQ/bnVsbDp0LmRlYnVnX3RlbnNvcl92YWx1ZXMpKSkpLHRoaXMuZGVidWdUZW5zb3JEdHlwZXMkPXRoaXMuc3RvcmUucGlwZShyUyhiUyhzSiwodD0+e2lmKG51bGw9PT10fHxudWxsPT09dC5kZWJ1Z190ZW5zb3JfdmFsdWVzKXJldHVybiBudWxsO2lmKHQudGVuc29yX2RlYnVnX21vZGUhPT1zSy5GVUxMX0hFQUxUSCYmdC50ZW5zb3JfZGVidWdfbW9kZSE9PXNLLlNIQVBFKXJldHVybiBudWxsO2NvbnN0IGU9W107Zm9yKGNvbnN0IG4gb2YgdC5kZWJ1Z190ZW5zb3JfdmFsdWVzKWlmKG51bGw9PT1uKWUucHVzaChzUSk7ZWxzZXtjb25zdCBvPVN0cmluZyh0LnRlbnNvcl9kZWJ1Z19tb2RlPT09c0suRlVMTF9IRUFMVEg/blsyXTpuWzFdKTtlLnB1c2goRUpbb118fHNRKX1yZXR1cm4gZX0pKSkpfX1mdW5jdGlvbiBjUSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsIm1hdC1zbGlkZXIiLDExKSxSZigiaW5wdXQiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vblNsaWRlckNoYW5nZS5lbWl0KG4udmFsdWUpfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJtaW4iLDApKCJtYXgiLHQuc2Nyb2xsQmVnaW5JbmRleFVwcGVyTGltaXQpKCJ2YWx1ZSIsdC5zY3JvbGxCZWdpbkluZGV4KX19ZnVuY3Rpb24gZFEodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDYpLENmKDEsImJ1dHRvbiIsNyksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uTmF2aWdhdGVMZWZ0LmVtaXQoKX0pKSxQdSgyLCIgPCAiKSxNZigpLENmKDMsImRpdiIsOCksUHUoNCksTWYoKSxDZig1LCJidXR0b24iLDkpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5vbk5hdmlnYXRlUmlnaHQuZW1pdCgpfSkpLFB1KDYsIiA+ICIpLE1mKCksSG0oNyxjUSwxLDMsIm1hdC1zbGlkZXIiLDEwKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO0RjKDQpLER1KCIgIix0LnNjcm9sbEJlZ2luSW5kZXgsIiB+ICIsdC5zY3JvbGxCZWdpbkluZGV4K3QuZGlzcGxheUNvdW50LTEsIiBvZiAiLHQubnVtRXhlY3V0aW9ucywiICIpLERjKDMpLGJmKCJuZ0lmIix0LnNjcm9sbEJlZ2luSW5kZXhVcHBlckxpbWl0PjApfX1sUS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bFEpKGdmKGlTKSl9LGxRLsm1Y21wPXNvKHt0eXBlOmxRLHNlbGVjdG9yczpbWyJ0Zi1kZWJ1Z2dlci12Mi1leGVjdXRpb24tZGF0YSJdXSxpbnB1dHM6e2ZvY3VzZWRFeGVjdXRpb25JbmRleDoiZm9jdXNlZEV4ZWN1dGlvbkluZGV4In0sZGVjbHM6Nix2YXJzOjE2LGNvbnN0czpbWzMsImZvY3VzZWRFeGVjdXRpb25JbmRleCIsImZvY3VzZWRFeGVjdXRpb25EYXRhIiwidGVuc29yRGVidWdNb2RlIiwiaGFzRGVidWdUZW5zb3JWYWx1ZXMiLCJkZWJ1Z1RlbnNvclZhbHVlcyIsImRlYnVnVGVuc29yRHR5cGVzIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJleGVjdXRpb24tZGF0YS1jb21wb25lbnQiLDApLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIiksX3koNSwiYXN5bmMiKSksMiZlJiZiZigiZm9jdXNlZEV4ZWN1dGlvbkluZGV4IixuLmZvY3VzZWRFeGVjdXRpb25JbmRleCkoImZvY3VzZWRFeGVjdXRpb25EYXRhIixDeSgxLDYsbi5mb2N1c2VkRXhlY3V0aW9uRGF0YSQpKSgidGVuc29yRGVidWdNb2RlIixDeSgyLDgsbi50ZW5zb3JEZWJ1Z01vZGUkKSkoImhhc0RlYnVnVGVuc29yVmFsdWVzIixDeSgzLDEwLG4uaGFzRGVidWdUZW5zb3JWYWx1ZXMkKSkoImRlYnVnVGVuc29yVmFsdWVzIixDeSg0LDEyLG4uZGVidWdUZW5zb3JWYWx1ZXMkKSkoImRlYnVnVGVuc29yRHR5cGVzIixDeSg1LDE0LG4uZGVidWdUZW5zb3JEdHlwZXMkKSl9LGRpcmVjdGl2ZXM6W3JRXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobFEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGYtZGVidWdnZXItdjItZXhlY3V0aW9uLWRhdGEiLHRlbXBsYXRlOidcbiAgICA8ZXhlY3V0aW9uLWRhdGEtY29tcG9uZW50XG4gICAgICBbZm9jdXNlZEV4ZWN1dGlvbkluZGV4XT0iZm9jdXNlZEV4ZWN1dGlvbkluZGV4IlxuICAgICAgW2ZvY3VzZWRFeGVjdXRpb25EYXRhXT0iZm9jdXNlZEV4ZWN1dGlvbkRhdGEkIHwgYXN5bmMiXG4gICAgICBbdGVuc29yRGVidWdNb2RlXT0idGVuc29yRGVidWdNb2RlJCB8IGFzeW5jIlxuICAgICAgW2hhc0RlYnVnVGVuc29yVmFsdWVzXT0iaGFzRGVidWdUZW5zb3JWYWx1ZXMkIHwgYXN5bmMiXG4gICAgICBbZGVidWdUZW5zb3JWYWx1ZXNdPSJkZWJ1Z1RlbnNvclZhbHVlcyQgfCBhc3luYyJcbiAgICAgIFtkZWJ1Z1RlbnNvckR0eXBlc109ImRlYnVnVGVuc29yRHR5cGVzJCB8IGFzeW5jIlxuICAgID48L2V4ZWN1dGlvbi1kYXRhLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSx7Zm9jdXNlZEV4ZWN1dGlvbkluZGV4Olt7dHlwZTpSX31dfSk7Y29uc3QgcFE9ZnVuY3Rpb24odCxlLG4pe3JldHVyblt0LGUsbl19O2Z1bmN0aW9uIG1RKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxNCksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe2NvbnN0IG49UGkodCkuaW5kZXg7cmV0dXJuIHpmKDIpLm9uRXhlY3V0aW9uRGlnZXN0Q2xpY2tlZC5lbWl0KG4pfSkpLENmKDEsImRpdiIsMTUpLFB1KDIpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj1lLmluZGV4LG89emYoMik7RGMoMSksTGYoInRpdGxlIix0Lm9wX3R5cGUpLGJmKCJuZ0NsYXNzIixyeSgzLHBRLHQuaXNfZ3JhcGg/ImZ1bmMtZ3JhcGgtZXhlY3V0aW9uIjoiIixuPT09by5mb2N1c2VkRXhlY3V0aW9uRGlzcGxheUluZGV4PyJmb2N1c2VkIjoiIixvLmRpc3BsYXlGb2N1c2VkQWxlcnRUeXBlc1tuXXx8IiIpKSxEYygxKSxrdSgiICIsdC5zaG9ydF9vcF90eXBlLCIgIil9fWZ1bmN0aW9uIGZRKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiwxMiksSG0oMSxtUSwzLDcsImRpdiIsMTMpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGJmKCJuZ0Zvck9mIix0LmRpc3BsYXlFeGVjdXRpb25EaWdlc3RzKX19ZnVuY3Rpb24gdVEodCxlKXtpZigxJnQmJih4ZigwKSx2ZigxLCJ0Zi1kZWJ1Z2dlci12Mi1leGVjdXRpb24tZGF0YSIsMTYpLE9mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGJmKCJmb2N1c2VkRXhlY3V0aW9uSW5kZXgiLHQuZm9jdXNlZEV4ZWN1dGlvbkluZGV4KX19Y2xhc3MgZ1F7Y29uc3RydWN0b3IoKXt0aGlzLmFjdGl2ZVJ1bklkPW51bGwsdGhpcy5sb2FkaW5nTnVtRXhlY3V0aW9ucz0hMSx0aGlzLm51bUV4ZWN1dGlvbnM9MCx0aGlzLnNjcm9sbEJlZ2luSW5kZXg9MCx0aGlzLnNjcm9sbEJlZ2luSW5kZXhVcHBlckxpbWl0PTAsdGhpcy5wYWdlU2l6ZT0wLHRoaXMuZGlzcGxheUNvdW50PTAsdGhpcy5kaXNwbGF5RXhlY3V0aW9uRGlnZXN0cz1bXSx0aGlzLmRpc3BsYXlGb2N1c2VkQWxlcnRUeXBlcz1bXSx0aGlzLmZvY3VzZWRFeGVjdXRpb25JbmRleD1udWxsLHRoaXMuZm9jdXNlZEV4ZWN1dGlvbkRpc3BsYXlJbmRleD1udWxsLHRoaXMuZm9jdXNlZEV4ZWN1dGlvbkRhdGE9bnVsbCx0aGlzLm9uTmF2aWdhdGVMZWZ0PW5ldyBTeSx0aGlzLm9uTmF2aWdhdGVSaWdodD1uZXcgU3ksdGhpcy5vbkV4ZWN1dGlvbkRpZ2VzdENsaWNrZWQ9bmV3IFN5LHRoaXMub25TbGlkZXJDaGFuZ2U9bmV3IFN5fX1nUS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Z1EpfSxnUS7JtWNtcD1zbyh7dHlwZTpnUSxzZWxlY3RvcnM6W1sidGltZWxpbmUtY29tcG9uZW50Il1dLGlucHV0czp7YWN0aXZlUnVuSWQ6ImFjdGl2ZVJ1bklkIixsb2FkaW5nTnVtRXhlY3V0aW9uczoibG9hZGluZ051bUV4ZWN1dGlvbnMiLG51bUV4ZWN1dGlvbnM6Im51bUV4ZWN1dGlvbnMiLHNjcm9sbEJlZ2luSW5kZXg6InNjcm9sbEJlZ2luSW5kZXgiLHNjcm9sbEJlZ2luSW5kZXhVcHBlckxpbWl0OiJzY3JvbGxCZWdpbkluZGV4VXBwZXJMaW1pdCIscGFnZVNpemU6InBhZ2VTaXplIixkaXNwbGF5Q291bnQ6ImRpc3BsYXlDb3VudCIsZGlzcGxheUV4ZWN1dGlvbkRpZ2VzdHM6ImRpc3BsYXlFeGVjdXRpb25EaWdlc3RzIixkaXNwbGF5Rm9jdXNlZEFsZXJ0VHlwZXM6ImRpc3BsYXlGb2N1c2VkQWxlcnRUeXBlcyIsZm9jdXNlZEV4ZWN1dGlvbkluZGV4OiJmb2N1c2VkRXhlY3V0aW9uSW5kZXgiLGZvY3VzZWRFeGVjdXRpb25EaXNwbGF5SW5kZXg6ImZvY3VzZWRFeGVjdXRpb25EaXNwbGF5SW5kZXgiLGZvY3VzZWRFeGVjdXRpb25EYXRhOiJmb2N1c2VkRXhlY3V0aW9uRGF0YSJ9LG91dHB1dHM6e29uTmF2aWdhdGVMZWZ0OiJvbk5hdmlnYXRlTGVmdCIsb25OYXZpZ2F0ZVJpZ2h0OiJvbk5hdmlnYXRlUmlnaHQiLG9uRXhlY3V0aW9uRGlnZXN0Q2xpY2tlZDoib25FeGVjdXRpb25EaWdlc3RDbGlja2VkIixvblNsaWRlckNoYW5nZToib25TbGlkZXJDaGFuZ2UifSxkZWNsczo5LHZhcnM6NCxjb25zdHM6W1sxLCJ0aW1lbGluZS10aXRsZSJdLFsxLCJleGVjdXRpb24tY291bnQiXSxbMSwidG9wLWxldmVsLWV4ZWN1dGlvbnMiXSxbImNsYXNzIiwibmF2aWdhdGlvbi1zZWN0aW9uIiw0LCJuZ0lmIl0sWyJjbGFzcyIsImV4ZWN1dGlvbi10aW1lbGluZSIsNCwibmdJZiJdLFs0LCJuZ0lmIl0sWzEsIm5hdmlnYXRpb24tc2VjdGlvbiJdLFsibWF0LWJ1dHRvbiIsIiIsMSwibmF2aWdhdGlvbi1idXR0b24tbGVmdCIsMywiY2xpY2siXSxbMSwibmF2aWdhdGlvbi1wb3NpdGlvbi1pbmZvIl0sWyJtYXQtYnV0dG9uIiwiIiwxLCJuYXZpZ2F0aW9uLWJ1dHRvbi1yaWdodCIsMywiY2xpY2siXSxbImNsYXNzIiwidGltZWxpbmUtc2xpZGVyIiwic3RlcCIsIjEiLDMsIm1pbiIsIm1heCIsInZhbHVlIiwiaW5wdXQiLDQsIm5nSWYiXSxbInN0ZXAiLCIxIiwxLCJ0aW1lbGluZS1zbGlkZXIiLDMsIm1pbiIsIm1heCIsInZhbHVlIiwiaW5wdXQiXSxbMSwiZXhlY3V0aW9uLXRpbWVsaW5lIl0sWzMsImNsaWNrIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbMywiY2xpY2siXSxbMSwiZXhlY3V0aW9uLWRpZ2VzdCIsMywibmdDbGFzcyIsInRpdGxlIl0sWzMsImZvY3VzZWRFeGVjdXRpb25JbmRleCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZGl2IiksQ2YoMSwiZGl2IiwwKSxQdSgyLCIgUHl0aG9uIEV4ZWN1dGlvbiBUaW1lbGluZSAiKSxDZigzLCJzcGFuIiwxKSxQdSg0KSxNZigpLE1mKCksQ2YoNSwiZGl2IiwyKSxIbSg2LGRRLDgsNCwiZGl2IiwzKSxIbSg3LGZRLDIsMSwiZGl2Iiw0KSxIbSg4LHVRLDIsMSwibmctY29udGFpbmVyIiw1KSxNZigpLE1mKCkpLDImZSYmKERjKDQpLGt1KCIgKCIsbi5udW1FeGVjdXRpb25zLCIpICIpLERjKDIpLGJmKCJuZ0lmIixuLm51bUV4ZWN1dGlvbnMpLERjKDEpLGJmKCJuZ0lmIixuLm51bUV4ZWN1dGlvbnMpLERjKDEpLGJmKCJuZ0lmIixudWxsIT09bi5hY3RpdmVSdW5JZCYmbnVsbCE9PW4uZm9jdXNlZEV4ZWN1dGlvbkluZGV4KSl9LGRpcmVjdGl2ZXM6W1B2LE5MLHdKLHh2LEN2LGxRXSxzdHlsZXM6WyIuZXhlY3V0aW9uLWRpZ2VzdFtfbmdjb250ZW50LSVDT01QJV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlNWU4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBjb2xvcjogIzQyNTA2NjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGhlaWdodDogMTVweDtcbiAgcGFkZGluZzogMXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxMnB4O1xufVxuXG4uZXhlY3V0aW9uLWRpZ2VzdC5mdW5jLWdyYXBoLWV4ZWN1dGlvbltfbmdjb250ZW50LSVDT01QJV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzdkYmY1O1xuICBjb2xvcjogIzRlNTY2NDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5leGVjdXRpb24tZGlnZXN0LmZvY3VzZWRbX25nY29udGVudC0lQ09NUCVdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDRiMztcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5leGVjdXRpb24tZGlnZXN0LkluZk5hbkFsZXJ0W19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTI1OTI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5cbi5leGVjdXRpb24tZGlnZXN0W19uZ2NvbnRlbnQtJUNPTVAlXTpob3ZlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZXhlY3V0aW9uLXRpbWVsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4udGltZWxpbmUtc2xpZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA0OHB4O1xuICBsZWZ0OiAzNDBweDsgXG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDQwcHg7XG59XG5cbiAgLnRpbWVsaW5lLXNsaWRlciAubWF0LXNsaWRlci10aHVtYiB7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcmlnaHQ6IC00MHB4O1xuICB3aWR0aDogODBweDtcbn1cblxuXG4ubmF2aWdhdGlvbi1wb3NpdGlvbi1pbmZvW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubmF2aWdhdGlvbi1zZWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGhlaWdodDogNDhweDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEwMCU7XG59Il0sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGdRLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRpbWVsaW5lLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vdGltZWxpbmVfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vdGltZWxpbmVfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLG51bGwse2FjdGl2ZVJ1bklkOlt7dHlwZTpSX31dLGxvYWRpbmdOdW1FeGVjdXRpb25zOlt7dHlwZTpSX31dLG51bUV4ZWN1dGlvbnM6W3t0eXBlOlJffV0sc2Nyb2xsQmVnaW5JbmRleDpbe3R5cGU6Ul99XSxzY3JvbGxCZWdpbkluZGV4VXBwZXJMaW1pdDpbe3R5cGU6Ul99XSxwYWdlU2l6ZTpbe3R5cGU6Ul99XSxkaXNwbGF5Q291bnQ6W3t0eXBlOlJffV0sZGlzcGxheUV4ZWN1dGlvbkRpZ2VzdHM6W3t0eXBlOlJffV0sZGlzcGxheUZvY3VzZWRBbGVydFR5cGVzOlt7dHlwZTpSX31dLGZvY3VzZWRFeGVjdXRpb25JbmRleDpbe3R5cGU6Ul99XSxmb2N1c2VkRXhlY3V0aW9uRGlzcGxheUluZGV4Olt7dHlwZTpSX31dLGZvY3VzZWRFeGVjdXRpb25EYXRhOlt7dHlwZTpSX31dLG9uTmF2aWdhdGVMZWZ0Olt7dHlwZTpFX31dLG9uTmF2aWdhdGVSaWdodDpbe3R5cGU6RV99XSxvbkV4ZWN1dGlvbkRpZ2VzdENsaWNrZWQ6W3t0eXBlOkVffV0sb25TbGlkZXJDaGFuZ2U6W3t0eXBlOkVffV19KTtjb25zdCBoUT1bIl9fZm9yd2FyZF8iLCJfX2JhY2t3YXJkXyIsIl9faW5mZXJlbmNlXyJdO2NsYXNzIGJRe2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLmFjdGl2ZVJ1bklkJD10aGlzLnN0b3JlLnBpcGUoclModkspKSx0aGlzLmxvYWRpbmdOdW1FeGVjdXRpb25zJD10aGlzLnN0b3JlLnBpcGUoclMoYlMoQUssKHQ9PnQuc3RhdGU9PVVFLkxPQURJTkcpKSkpLHRoaXMuc2Nyb2xsQmVnaW5JbmRleCQ9dGhpcy5zdG9yZS5waXBlKHJTKHpLKSksdGhpcy5zY3JvbGxCZWdpbkluZGV4VXBwZXJMaW1pdCQ9dGhpcy5zdG9yZS5waXBlKHJTKGJTKE5LLEhLLCgodCxlKT0+TWF0aC5tYXgoMCx0LWUpKSkpKSx0aGlzLnBhZ2VTaXplJD10aGlzLnN0b3JlLnBpcGUoclMoSUspKSx0aGlzLmRpc3BsYXlDb3VudCQ9dGhpcy5zdG9yZS5waXBlKHJTKEhLKSksdGhpcy5kaXNwbGF5RXhlY3V0aW9uRGlnZXN0cyQ9dGhpcy5zdG9yZS5waXBlKHJTKGJTKEZLLCh0PT50Lm1hcCgodD0+KGZ1bmN0aW9uIGUodCxuPTEpe2lmKCF0KXJldHVybntvcF90eXBlOiIoTi9BKSIsc2hvcnRfb3BfdHlwZToiLi4iLGlzX2dyYXBoOiExfTtjb25zdCBvPWhRLmZpbHRlcigoZT0+dC5vcF90eXBlLnN0YXJ0c1dpdGgoZSkpKTtpZihvLmxlbmd0aCl7Y29uc3QgZT10Lm9wX3R5cGUuc2xpY2Uob1swXS5sZW5ndGgpO3JldHVybntvcF90eXBlOnQub3BfdHlwZSxzaG9ydF9vcF90eXBlOmUuc2xpY2UoMCxuKSxpc19ncmFwaDohMH19cmV0dXJue29wX3R5cGU6dC5vcF90eXBlLHNob3J0X29wX3R5cGU6dC5vcF90eXBlLnNsaWNlKDAsbiksaXNfZ3JhcGg6ITF9fSkodCkpKSkpKSksdGhpcy5kaXNwbGF5Rm9jdXNlZEFsZXJ0VHlwZXMkPXRoaXMuc3RvcmUucGlwZShyUyh0SikpLHRoaXMuZm9jdXNlZEV4ZWN1dGlvbkluZGV4JD10aGlzLnN0b3JlLnBpcGUoclMobkopKSx0aGlzLmZvY3VzZWRFeGVjdXRpb25EaXNwbGF5SW5kZXgkPXRoaXMuc3RvcmUucGlwZShyUyhvSikpLHRoaXMubnVtRXhlY3V0aW9ucyQ9dGhpcy5zdG9yZS5waXBlKHJTKE5LKSl9b25OYXZpZ2F0ZUxlZnQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKEJYKCkpfW9uTmF2aWdhdGVSaWdodCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goVlgoKSl9b25FeGVjdXRpb25EaWdlc3RDbGlja2VkKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goVVgoe2Rpc3BsYXlJbmRleDp0fSkpfW9uU2xpZGVyQ2hhbmdlKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goalgoe2luZGV4OnR9KSl9fWZ1bmN0aW9uIHlRKHQsZSl7MSZ0JiYoQ2YoMCwic3BhbiIpLFB1KDEsIiBPdXRwdXQgIiksTWYoKSl9ZnVuY3Rpb24gX1EodCxlKXsxJnQmJihDZigwLCJzcGFuIiksUHUoMSwiIElucHV0ICIpLE1mKCkpfWZ1bmN0aW9uIENRKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw2KSxDZigxLCJzcGFuIiw3KSxIbSgyLHlRLDIsMCwic3BhbiIsOCksSG0oMyxfUSwyLDAsInNwYW4iLDgpLE1mKCksUHUoNCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksYmYoIm5nU3dpdGNoIix0LmtpbmQpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLCJpbnB1dCIpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLCJjb25zdW1lciIpLERjKDEpLGt1KCIgc2xvdDogIix0LnNsb3QsIiAiKX19ZnVuY3Rpb24gTVEodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDkpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGt1KCIgIix0Lm9wRGF0YS5vcF90eXBlLCIgIil9fWZ1bmN0aW9uIHZRKHQsZSl7MSZ0JiYoQ2YoMCwic3BhbiIsMTApLFB1KDEsIiAoT3AgaW5mbyB1bmF2YWlsYWJsZS4pICIpLE1mKCkpfWJRLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxiUSkoZ2YoaVMpKX0sYlEuybVjbXA9c28oe3R5cGU6YlEsc2VsZWN0b3JzOltbInRmLWRlYnVnZ2VyLXYyLXRpbWVsaW5lIl1dLGRlY2xzOjEyLHZhcnM6MzMsY29uc3RzOltbMywiYWN0aXZlUnVuSWQiLCJsb2FkaW5nTnVtRXhlY3V0aW9ucyIsIm51bUV4ZWN1dGlvbnMiLCJzY3JvbGxCZWdpbkluZGV4Iiwic2Nyb2xsQmVnaW5JbmRleFVwcGVyTGltaXQiLCJwYWdlU2l6ZSIsImRpc3BsYXlDb3VudCIsImRpc3BsYXlFeGVjdXRpb25EaWdlc3RzIiwiZGlzcGxheUZvY3VzZWRBbGVydFR5cGVzIiwiZm9jdXNlZEV4ZWN1dGlvbkluZGV4IiwiZm9jdXNlZEV4ZWN1dGlvbkRpc3BsYXlJbmRleCIsIm9uTmF2aWdhdGVMZWZ0Iiwib25OYXZpZ2F0ZVJpZ2h0Iiwib25FeGVjdXRpb25EaWdlc3RDbGlja2VkIiwib25TbGlkZXJDaGFuZ2UiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsInRpbWVsaW5lLWNvbXBvbmVudCIsMCksUmYoIm9uTmF2aWdhdGVMZWZ0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uTmF2aWdhdGVMZWZ0KCl9KSkoIm9uTmF2aWdhdGVSaWdodCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vbk5hdmlnYXRlUmlnaHQoKX0pKSgib25FeGVjdXRpb25EaWdlc3RDbGlja2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkV4ZWN1dGlvbkRpZ2VzdENsaWNrZWQoZSl9KSkoIm9uU2xpZGVyQ2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblNsaWRlckNoYW5nZShlKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSxfeSg0LCJhc3luYyIpLF95KDUsImFzeW5jIiksX3koNiwiYXN5bmMiKSxfeSg3LCJhc3luYyIpLF95KDgsImFzeW5jIiksX3koOSwiYXN5bmMiKSxfeSgxMCwiYXN5bmMiKSxfeSgxMSwiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJhY3RpdmVSdW5JZCIsQ3koMSwxMSxuLmFjdGl2ZVJ1bklkJCkpKCJsb2FkaW5nTnVtRXhlY3V0aW9ucyIsQ3koMiwxMyxuLmxvYWRpbmdOdW1FeGVjdXRpb25zJCkpKCJudW1FeGVjdXRpb25zIixDeSgzLDE1LG4ubnVtRXhlY3V0aW9ucyQpKSgic2Nyb2xsQmVnaW5JbmRleCIsQ3koNCwxNyxuLnNjcm9sbEJlZ2luSW5kZXgkKSkoInNjcm9sbEJlZ2luSW5kZXhVcHBlckxpbWl0IixDeSg1LDE5LG4uc2Nyb2xsQmVnaW5JbmRleFVwcGVyTGltaXQkKSkoInBhZ2VTaXplIixDeSg2LDIxLG4ucGFnZVNpemUkKSkoImRpc3BsYXlDb3VudCIsQ3koNywyMyxuLmRpc3BsYXlDb3VudCQpKSgiZGlzcGxheUV4ZWN1dGlvbkRpZ2VzdHMiLEN5KDgsMjUsbi5kaXNwbGF5RXhlY3V0aW9uRGlnZXN0cyQpKSgiZGlzcGxheUZvY3VzZWRBbGVydFR5cGVzIixDeSg5LDI3LG4uZGlzcGxheUZvY3VzZWRBbGVydFR5cGVzJCkpKCJmb2N1c2VkRXhlY3V0aW9uSW5kZXgiLEN5KDEwLDI5LG4uZm9jdXNlZEV4ZWN1dGlvbkluZGV4JCkpKCJmb2N1c2VkRXhlY3V0aW9uRGlzcGxheUluZGV4IixDeSgxMSwzMSxuLmZvY3VzZWRFeGVjdXRpb25EaXNwbGF5SW5kZXgkKSl9LGRpcmVjdGl2ZXM6W2dRXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoYlEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGYtZGVidWdnZXItdjItdGltZWxpbmUiLHRlbXBsYXRlOidcbiAgICA8dGltZWxpbmUtY29tcG9uZW50XG4gICAgICBbYWN0aXZlUnVuSWRdPSJhY3RpdmVSdW5JZCQgfCBhc3luYyJcbiAgICAgIFtsb2FkaW5nTnVtRXhlY3V0aW9uc109ImxvYWRpbmdOdW1FeGVjdXRpb25zJCB8IGFzeW5jIlxuICAgICAgW251bUV4ZWN1dGlvbnNdPSJudW1FeGVjdXRpb25zJCB8IGFzeW5jIlxuICAgICAgW3Njcm9sbEJlZ2luSW5kZXhdPSJzY3JvbGxCZWdpbkluZGV4JCB8IGFzeW5jIlxuICAgICAgW3Njcm9sbEJlZ2luSW5kZXhVcHBlckxpbWl0XT0ic2Nyb2xsQmVnaW5JbmRleFVwcGVyTGltaXQkIHwgYXN5bmMiXG4gICAgICBbcGFnZVNpemVdPSJwYWdlU2l6ZSQgfCBhc3luYyJcbiAgICAgIFtkaXNwbGF5Q291bnRdPSJkaXNwbGF5Q291bnQkIHwgYXN5bmMiXG4gICAgICBbZGlzcGxheUV4ZWN1dGlvbkRpZ2VzdHNdPSJkaXNwbGF5RXhlY3V0aW9uRGlnZXN0cyQgfCBhc3luYyJcbiAgICAgIFtkaXNwbGF5Rm9jdXNlZEFsZXJ0VHlwZXNdPSJkaXNwbGF5Rm9jdXNlZEFsZXJ0VHlwZXMkIHwgYXN5bmMiXG4gICAgICBbZm9jdXNlZEV4ZWN1dGlvbkluZGV4XT0iZm9jdXNlZEV4ZWN1dGlvbkluZGV4JCB8IGFzeW5jIlxuICAgICAgW2ZvY3VzZWRFeGVjdXRpb25EaXNwbGF5SW5kZXhdPSJmb2N1c2VkRXhlY3V0aW9uRGlzcGxheUluZGV4JCB8IGFzeW5jIlxuICAgICAgKG9uTmF2aWdhdGVMZWZ0KT0ib25OYXZpZ2F0ZUxlZnQoKSJcbiAgICAgIChvbk5hdmlnYXRlUmlnaHQpPSJvbk5hdmlnYXRlUmlnaHQoKSJcbiAgICAgIChvbkV4ZWN1dGlvbkRpZ2VzdENsaWNrZWQpPSJvbkV4ZWN1dGlvbkRpZ2VzdENsaWNrZWQoJGV2ZW50KSJcbiAgICAgIChvblNsaWRlckNoYW5nZSk9Im9uU2xpZGVyQ2hhbmdlKCRldmVudCkiXG4gICAgPjwvdGltZWxpbmUtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y29uc3QgeFE9ZnVuY3Rpb24odCl7cmV0dXJuW3RdfTtjbGFzcyBPUXtjb25zdHJ1Y3Rvcigpe3RoaXMub25PcE5hbWVDbGljaz1uZXcgU3l9fWZ1bmN0aW9uIFBRKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxMyksQ2YoMSwiZGl2IiwxNCksUHUoMiksTWYoKSxDZigzLCJncmFwaC1vcCIsMTUpLFJmKCJvbk9wTmFtZUNsaWNrIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtjb25zdCBvPXpmKDMpO3JldHVybiBvLm9uR3JhcGhPcE5hdmlnYXRlLmVtaXQoe29wX25hbWU6bi5vcF9uYW1lLGdyYXBoX2lkOm8uZ3JhcGhJZH0pfSkpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj1lLmluZGV4O0RjKDIpLGt1KCJJbnB1dCBzbG90ICIsbiwiOiIpLERjKDEpLGJmKCJraW5kIiwiaW5wdXQiKSgib3BOYW1lIix0Lm9wX25hbWUpKCJzbG90Iix0Lm91dHB1dF9zbG90KSgib3BEYXRhIix0LmRhdGEpfX1mdW5jdGlvbiB3USh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTEpLENmKDEsImRpdiIpLEhtKDIsUFEsNCw1LCJkaXYiLDEyKSxNZigpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYygyKSxiZigibmdGb3JPZiIsdC5pbnB1dE9wcyl9fWZ1bmN0aW9uIGtRKHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxNiksUHUoMSwiIChUaGlzIG9wIGhhcyBubyBpbnB1dCB0ZW5zb3IuKSAiKSxNZigpKX1mdW5jdGlvbiBTUSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsMjMpLENmKDEsImdyYXBoLW9wIiwxNSksUmYoIm9uT3BOYW1lQ2xpY2siLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoNCk7cmV0dXJuIG8ub25HcmFwaE9wTmF2aWdhdGUuZW1pdCh7b3BfbmFtZTpuLm9wX25hbWUsZ3JhcGhfaWQ6by5ncmFwaElkfSl9KSksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdDtEYygxKSxiZigia2luZCIsImNvbnN1bWVyIikoIm9wTmFtZSIsdC5vcF9uYW1lKSgic2xvdCIsdC5pbnB1dF9zbG90KSgib3BEYXRhIix0LmRhdGEpfX1mdW5jdGlvbiBEUSh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTkpLENmKDEsImRpdiIsMjApLFB1KDIpLENmKDMsInNwYW4iKSxSaCg0LDIxKSxNZigpLFB1KDUsIikgIiksTWYoKSxIbSg2LFNRLDIsNCwiZGl2IiwyMiksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49ZS5pbmRleDtEYygyKSxTdSgiIE91dHB1dCBzbG90ICIsbiwiOiAoIix0Lmxlbmd0aCwiICIpLERjKDIpLEFoKHQubGVuZ3RoKSxUaCg0KSxEYygyKSxiZigibmdGb3JPZiIsdCl9fWZ1bmN0aW9uIFJRKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiwxNyksQ2YoMSwiZGl2IiksSG0oMixEUSw3LDQsImRpdiIsMTgpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDIpLGJmKCJuZ0Zvck9mIix0LmNvbnN1bWVyT3BzKX19ZnVuY3Rpb24gRVEodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDI0KSxQdSgxKSxDZigyLCJzcGFuIiksUmgoMywyNSksTWYoKSxQdSg0LCIgYW5kIG5vIGNvbnN1bWVyLikgIiksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDEpLGt1KCIgKFRoaXMgb3AgaGFzICIsdC5vcEluZm8uY29uc3VtZXJzLmxlbmd0aCwiIG91dHB1dCAiKSxEYygyKSxBaCh0Lm9wSW5mby5jb25zdW1lcnMubGVuZ3RoKSxUaCgzKX19ZnVuY3Rpb24gQVEodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiKSxIbSgxLHdRLDMsMSwiZGl2Iiw0KSxIbSgyLGtRLDIsMCwibmctdGVtcGxhdGUiLG51bGwsNSxxeSksQ2YoNCwiZGl2Iiw2KSxDZig1LCJkaXYiLDcpLFB1KDYsIk9wOiIpLE1mKCksQ2YoNywiZ3JhcGgtb3AiLDgpLFJmKCJvbk9wTmFtZUNsaWNrIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtjb25zdCBvPXpmKCk7cmV0dXJuIG8ub25HcmFwaE9wTmF2aWdhdGUuZW1pdCh7b3BfbmFtZTpuLm9wX25hbWUsZ3JhcGhfaWQ6by5ncmFwaElkfSl9KSksTWYoKSxNZigpLEhtKDgsUlEsMywxLCJkaXYiLDkpLEhtKDksRVEsNSwyLCJuZy10ZW1wbGF0ZSIsbnVsbCwxMCxxeSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9Rm0oMyksZT1GbSgxMCksbj16ZigpO0RjKDEpLGJmKCJuZ0lmIixuLmlucHV0T3BzLmxlbmd0aD4wKSgibmdJZkVsc2UiLHQpLERjKDYpLGJmKCJraW5kIiwic2VsZiIpKCJvcE5hbWUiLG4ub3BJbmZvLm9wX25hbWUpKCJvcERhdGEiLG4ub3BJbmZvKSxEYygxKSxiZigibmdJZiIsbi50b3RhbE51bUNvbnN1bWVycz4wKSgibmdJZkVsc2UiLGUpfX1mdW5jdGlvbiBUUSh0LGUpezEmdCYmKENmKDAsInNwYW4iLDI2KSxQdSgxLCIgKE9wIGluZm8gdW5hdmFpbGFibGUuKSAiKSxNZigpKX1mdW5jdGlvbiBOUSh0LGUpezEmdCYmKENmKDAsImRpdiIsMjcpLFB1KDEsIiBObyBncmFwaCBvcCBzZWxlY3RlZC4gQ2xpY2sgYSB0ZW5zb3IgbmFtZSBpbiB0aGUgR3JhcGggRXhlY3V0aW9ucyB0YWJsZSB0byB2aWV3IHRoZSBuZWlnaGJvcmhvb2Qgb2YgdGhlIHRlbnNvcidzIG9wIGluIGl0cyBncmFwaC4gIiksTWYoKSl9T1EuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE9RKX0sT1EuybVjbXA9c28oe3R5cGU6T1Esc2VsZWN0b3JzOltbImdyYXBoLW9wIl1dLGlucHV0czp7a2luZDoia2luZCIsb3BOYW1lOiJvcE5hbWUiLHNsb3Q6InNsb3QiLG9wRGF0YToib3BEYXRhIn0sb3V0cHV0czp7b25PcE5hbWVDbGljazoib25PcE5hbWVDbGljayJ9LGRlY2xzOjksdmFyczo3LGNvbnN0czpbWzEsIm9wLWNvbnRhaW5lciJdLFsxLCJpbnB1dC10ZW5zb3ItbmFtZSJdLFsxLCJvcC1uYW1lIiwzLCJuZ0NsYXNzIiwiY2xpY2siXSxbImNsYXNzIiwic2xvdCIsNCwibmdJZiJdLFsiY2xhc3MiLCJvcC10eXBlIiw0LCJuZ0lmIiwibmdJZkVsc2UiXSxbIm9wSW5mb01pc3NpbmciLCIiXSxbMSwic2xvdCJdLFszLCJuZ1N3aXRjaCJdLFs0LCJuZ1N3aXRjaENhc2UiXSxbMSwib3AtdHlwZSJdLFsxLCJvcC1pbmZvLW1pc3NpbmciXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKENmKDAsImJ1dHRvbiIsMCksQ2YoMSwiZGl2IiwxKSxDZigyLCJidXR0b24iLDIpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vbk9wTmFtZUNsaWNrLmVtaXQoe29wX25hbWU6bi5vcE5hbWV9KX0pKSxDZigzLCJzcGFuIiksUHUoNCksTWYoKSxNZigpLEhtKDUsQ1EsNSw0LCJkaXYiLDMpLE1mKCksSG0oNixNUSwyLDEsImRpdiIsNCksSG0oNyx2USwyLDAsIm5nLXRlbXBsYXRlIixudWxsLDUscXkpLE1mKCkpLDImZSl7Y29uc3QgdD1GbSg4KTtEYygyKSxiZigibmdDbGFzcyIsaXkoNSx4USwic2VsZiI9PT1uLmtpbmQ/InNlbGYtb3AtbmFtZSI6IiIpKSxEYygyKSx3dShuLm9wTmFtZSksRGMoMSksYmYoIm5nSWYiLCJzZWxmIiE9PW4ua2luZCksRGMoMSksYmYoIm5nSWYiLHZvaWQgMCE9PW4ub3BEYXRhKSgibmdJZkVsc2UiLHQpfX0sZGlyZWN0aXZlczpbQ3YsUHYsRHYsUnZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5vcC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAub3AtbmFtZVtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXR9Lm9wLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjJweCBzb2xpZCAjZWJlYmViO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6MXB4IDNweCAjZWVlO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDVweCAwIDA7cGFkZGluZzoycHggNnB4O3RleHQtYWxpZ246cmlnaHQ7d2lkdGg6MjAwcHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLm9wLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5vcC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlcjoycHggc29saWQgIzU1NX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAub3AtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLm9wLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym94LXNoYWRvdzoxcHggM3B4ICM3NTc1NzV9Lm9wLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXN7b3V0bGluZTowfS5vcC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmhvdmVye2JvcmRlcjoycHggc29saWQgI2ZmZDNiMn0ub3AtaW5mby1taXNzaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpncmF5fS5vcC1uYW1lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdy13cmFwOmFueXdoZXJlO3BhZGRpbmc6MDt0ZXh0LWFsaWduOnJpZ2h0O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lm9wLW5hbWVbX25nY29udGVudC0lQ09NUCVdOmZvY3Vze291dGxpbmU6MH0ub3AtdHlwZVtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZWNlZmYxO2JvcmRlcjoxcHggc29saWQgI2ViZWJlYjtib3JkZXItcmFkaXVzOjRweDtmb250LWZhbWlseToiUm9ib3RvIE1vbm8iLG1vbm9zcGFjZTtmb250LXNpemU6MTBweDtoZWlnaHQ6MTRweDtsaW5lLWhlaWdodDoxNHB4O3BhZGRpbmc6MXB4IDNweDt3aWR0aDptYXgtY29udGVudDtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tdG9wOjNweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAub3AtdHlwZVtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5vcC10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MXB4IHNvbGlkICM1NTV9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLm9wLXR5cGVbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAub3AtdHlwZVtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojNDU1YTY0fS5zZWxmLW9wLW5hbWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OmJvbGQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnNsb3RbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnNsb3RbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc2xvdFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9J119KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE9RLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImdyYXBoLW9wIix0ZW1wbGF0ZVVybDoiZ3JhcGhfb3BfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vZ3JhcGhfb3BfY29tcG9uZW50LmNzcyJdfV19XSxudWxsLHtraW5kOlt7dHlwZTpSX31dLG9wTmFtZTpbe3R5cGU6Ul99XSxzbG90Olt7dHlwZTpSX31dLG9wRGF0YTpbe3R5cGU6Ul99XSxvbk9wTmFtZUNsaWNrOlt7dHlwZTpFX31dfSk7Y2xhc3MgelF7Y29uc3RydWN0b3IoKXt0aGlzLm9uR3JhcGhPcE5hdmlnYXRlPW5ldyBTeX1nZXQgZ3JhcGhJZCgpe3JldHVybiB0aGlzLm9wSW5mby5ncmFwaF9pZHNbdGhpcy5vcEluZm8uZ3JhcGhfaWRzLmxlbmd0aC0xXX1nZXQgdG90YWxOdW1Db25zdW1lcnMoKXtyZXR1cm4gdGhpcy5jb25zdW1lck9wcy5yZWR1Y2UoKCh0LGUpPT50K2UubGVuZ3RoKSwwKX19elEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHpRKX0selEuybVjbXA9c28oe3R5cGU6elEsc2VsZWN0b3JzOltbImdyYXBoLWNvbXBvbmVudCJdXSxpbnB1dHM6e29wSW5mbzoib3BJbmZvIixpbnB1dE9wczoiaW5wdXRPcHMiLGNvbnN1bWVyT3BzOiJjb25zdW1lck9wcyJ9LG91dHB1dHM6e29uR3JhcGhPcE5hdmlnYXRlOiJvbkdyYXBoT3BOYXZpZ2F0ZSJ9LGRlY2xzOjksdmFyczoyLGNvbnN0czpmdW5jdGlvbigpe2xldCB0LGUsbixvO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXt0PWdvb2cuZ2V0TXNnKCJ7VkFSX1BMVVJBTCwgcGx1cmFsLCA9MCB7Y29uc3VtZXJ9ID0xIHtjb25zdW1lcn0gb3RoZXIge2NvbnN1bWVyc319Iil9ZWxzZSB0PSRsb2NhbGl6ZWA64pCfZmU1NWY5YjE5M2VhMjBhYWU1YjU2MzVlNjhkOTM4NjUwMzg0Nzc0NuKQnzQ5NTUxMzM3NDA4NDEyOTk4NTE6e1ZBUl9QTFVSQUwsIHBsdXJhbCwgPTAge2NvbnN1bWVyfSA9MSB7Y29uc3VtZXJ9IG90aGVyIHtjb25zdW1lcnN9fWA7aWYodD1OaCh0LHtWQVJfUExVUkFMOiLvv70w77+9In0pLCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtlPWdvb2cuZ2V0TXNnKCIgeyRpY3V9Iix7aWN1OnR9KX1lbHNlIGU9JGxvY2FsaXplYDrikJ9iYWE0NjBlMmYyYjg1N2UyNjI5MmIyNDZmYzE4YWUwZWE5YjVlNTM34pCfNTU1NjM0MDM0Mzg1MDE2NTUxNjogJHt0fTpJQ1U6YDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7bj1nb29nLmdldE1zZygie1ZBUl9QTFVSQUwsIHBsdXJhbCwgPTAge3RlbnNvcn0gPTEge3RlbnNvcn0gb3RoZXIge3RlbnNvcnN9fSIpfWVsc2Ugbj0kbG9jYWxpemVgOuKQnzZhYTc1ZjYyN2UwZGMxNjE1MGVmNDQ4NDY0ZTBjODU3YWFhMGRjMTjikJ81MTU2NzEyOTM1MTUwNTg2ODc4OntWQVJfUExVUkFMLCBwbHVyYWwsID0wIHt0ZW5zb3J9ID0xIHt0ZW5zb3J9IG90aGVyIHt0ZW5zb3JzfX1gO2lmKG49Tmgobix7VkFSX1BMVVJBTDoi77+9MO+/vSJ9KSwidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7bz1nb29nLmdldE1zZygiIHskaWN1fSIse2ljdTpufSl9ZWxzZSBvPSRsb2NhbGl6ZWA64pCfODkzNDc2YzJjNDIxY2VlNDc2NjNjOTczMmZhNDFhNzUwZDNhNzNkZuKQnzI0NjA2NzA1MzczNTE2MjYzNDogJHtufTpJQ1U6YDtyZXR1cm5bWzEsImdyYXBoLXN0cnVjdHVyZS1jb250YWluZXIiXSxbNCwibmdJZiIsIm5nSWZFbHNlIl0sWyJvcEluZm9NaXNzaW5nIiwiIl0sWyJub09wRm9jdXNlZCIsIiJdLFsiY2xhc3MiLCJpbnB1dHMtY29udGFpbmVyIiw0LCJuZ0lmIiwibmdJZkVsc2UiXSxbIm5vSW5wdXRzIiwiIl0sWzEsInNlbGYtb3AtY29udGFpbmVyIl0sWzEsInNlbGYtb3AtaGVhZGVyIl0sWzMsImtpbmQiLCJvcE5hbWUiLCJvcERhdGEiLCJvbk9wTmFtZUNsaWNrIl0sWyJjbGFzcyIsImNvbnN1bWVycy1jb250YWluZXIiLDQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsibm9Db25zdW1lcnMiLCIiXSxbMSwiaW5wdXRzLWNvbnRhaW5lciJdLFsiY2xhc3MiLCJpbnB1dC1vcC1zZWN0aW9uIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbMSwiaW5wdXQtb3Atc2VjdGlvbiJdLFsxLCJpbnB1dC1zbG90LWhlYWRlciJdLFszLCJraW5kIiwib3BOYW1lIiwic2xvdCIsIm9wRGF0YSIsIm9uT3BOYW1lQ2xpY2siXSxbMSwiaW5wdXRzLWNvbnRhaW5lciIsIm5vLWlucHV0cy1pbmRpY2F0b3IiXSxbMSwiY29uc3VtZXJzLWNvbnRhaW5lciJdLFsiY2xhc3MiLCJzbG90LWNvbnN1bWVycy1jb250YWluZXIiLDQsIm5nRm9yIiwibmdGb3JPZiJdLFsxLCJzbG90LWNvbnN1bWVycy1jb250YWluZXIiXSxbMSwic2xvdC1jb25zdW1lcnMtaGVhZGVyIl0sZSxbImNsYXNzIiwiY29uc3VtZXItc2VjdGlvbiIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzEsImNvbnN1bWVyLXNlY3Rpb24iXSxbMSwib3AtY29uc3VtZXJzLWNvbnRhaW5lciJdLG8sWzEsIm9wLWluZm8tbWlzc2luZyJdLFsxLCJuby1vcC1mb2N1c2VkIl1dfSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiZGl2IiksQ2YoMSwiZGl2IiksUHUoMiwiR3JhcGggU3RydWN0dXJlIiksTWYoKSxDZigzLCJkaXYiLDApLEhtKDQsQVEsMTEsNywiZGl2IiwxKSxNZigpLEhtKDUsVFEsMiwwLCJuZy10ZW1wbGF0ZSIsbnVsbCwyLHF5KSxIbSg3LE5RLDIsMCwibmctdGVtcGxhdGUiLG51bGwsMyxxeSksTWYoKSksMiZlKXtjb25zdCB0PUZtKDgpO0RjKDQpLGJmKCJuZ0lmIixudWxsIT1uLm9wSW5mbykoIm5nSWZFbHNlIix0KX19LGRpcmVjdGl2ZXM6W1B2LE9RLHh2XSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde292ZXJmbG93LXk6YXV0b30uY29uc3VtZXJzLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206NXB4O292ZXJmbG93LXg6YXV0bzt3aGl0ZS1zcGFjZTpub3dyYXB9LmNvbnN1bWVyLXNlY3Rpb25bX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjVweCAwfS5ncmFwaC1zdHJ1Y3R1cmUtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtvdmVyZmxvdy15OmF1dG87d2hpdGUtc3BhY2U6bm93cmFwfS5pbnB1dHMtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMik7bWFyZ2luLXRvcDo1cHg7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmctYm90dG9tOjA7d2hpdGUtc3BhY2U6bm93cmFwfS5pbnB1dC1vcC1zZWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyKTtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tcmlnaHQ6NXB4O3BhZGRpbmctYm90dG9tOjVweH0uaW5wdXQtc2xvdC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6I2ZmZjA5OTttYXJnaW4tYm90dG9tOjVweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuaW5wdXQtc2xvdC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuaW5wdXQtc2xvdC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6I2U2NTEwMH0uaW5wdXQtdGVuc29yLW5hbWVbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwfS5uby1vcC1mb2N1c2VkW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpncmF5O2ZvbnQtZmFtaWx5OiJSb2JvdG8iLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxM3B4O3doaXRlLXNwYWNlOm5vcm1hbH0uc2VsZi1vcC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OmJvbGQ7bWFyZ2luLWJvdHRvbTo1cHh9LnNlbGYtb3AtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMik7cGFkZGluZy1ib3R0b206NXB4fS5zbG90LWNvbnN1bWVycy1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgwLDAsMCwuMTIpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDo1cHg7cGFkZGluZy10b3A6NXB4O3ZlcnRpY2FsLWFsaWduOnRvcH0uc2xvdC1jb25zdW1lcnMtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXB9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHpRLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImdyYXBoLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vZ3JhcGhfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vZ3JhcGhfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLG51bGwse29wSW5mbzpbe3R5cGU6Ul99XSxpbnB1dE9wczpbe3R5cGU6Ul99XSxjb25zdW1lck9wczpbe3R5cGU6Ul99XSxvbkdyYXBoT3BOYXZpZ2F0ZTpbe3R5cGU6RV99XX0pO2NsYXNzIElRe2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLm9wSW5mbyQ9dGhpcy5zdG9yZS5waXBlKHJTKEtLKSksdGhpcy5pbnB1dE9wcyQ9dGhpcy5zdG9yZS5waXBlKHJTKEpLKSksdGhpcy5jb25zdW1lck9wcyQ9dGhpcy5zdG9yZS5waXBlKHJTKCRLKSl9b25HcmFwaE9wTmF2aWdhdGUodCl7dGhpcy5zdG9yZS5kaXNwYXRjaChKWCh0KSl9fWZ1bmN0aW9uIEhRKHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxMiksUHUoMSwi4pa2IiksTWYoKSl9SVEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fElRKShnZihpUykpfSxJUS7JtWNtcD1zbyh7dHlwZTpJUSxzZWxlY3RvcnM6W1sidGYtZGVidWdnZXItdjItZ3JhcGgiXV0sZGVjbHM6NCx2YXJzOjksY29uc3RzOltbMywib3BJbmZvIiwiaW5wdXRPcHMiLCJjb25zdW1lck9wcyIsIm9uR3JhcGhPcE5hdmlnYXRlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJncmFwaC1jb21wb25lbnQiLDApLFJmKCJvbkdyYXBoT3BOYXZpZ2F0ZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25HcmFwaE9wTmF2aWdhdGUoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksTWYoKSksMiZlJiZiZigib3BJbmZvIixDeSgxLDMsbi5vcEluZm8kKSkoImlucHV0T3BzIixDeSgyLDUsbi5pbnB1dE9wcyQpKSgiY29uc3VtZXJPcHMiLEN5KDMsNyxuLmNvbnN1bWVyT3BzJCkpfSxkaXJlY3RpdmVzOlt6UV0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKElRLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRmLWRlYnVnZ2VyLXYyLWdyYXBoIix0ZW1wbGF0ZTonXG4gICAgPGdyYXBoLWNvbXBvbmVudFxuICAgICAgW29wSW5mb109Im9wSW5mbyQgfCBhc3luYyJcbiAgICAgIFtpbnB1dE9wc109ImlucHV0T3BzJCB8IGFzeW5jIlxuICAgICAgW2NvbnN1bWVyT3BzXT0iY29uc3VtZXJPcHMkIHwgYXN5bmMiXG4gICAgICAob25HcmFwaE9wTmF2aWdhdGUpPSJvbkdyYXBoT3BOYXZpZ2F0ZSgkZXZlbnQpIlxuICAgID48L2dyYXBoLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBGUT1mdW5jdGlvbih0LGUpe3JldHVybnt0ZW5zb3JEZWJ1Z01vZGU6dCxhcnJheTplfX07ZnVuY3Rpb24gTFEodCxlKXtpZigxJnQmJnZmKDAsImRlYnVnLXRlbnNvci12YWx1ZSIsMTcpLDImdCl7Y29uc3QgdD16ZigyKS4kaW1wbGljaXQsZT16ZigyKTtiZigiZGVidWdUZW5zb3JWYWx1ZSIsZS5wYXJzZURlYnVnVGVuc29yVmFsdWUoYXkoMSxGUSxlLmdyYXBoRXhlY3V0aW9uRGF0YVt0XS50ZW5zb3JfZGVidWdfbW9kZSxlLmdyYXBoRXhlY3V0aW9uRGF0YVt0XS5kZWJ1Z190ZW5zb3JfdmFsdWUpKSl9fWZ1bmN0aW9uIEJRKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiksQ2YoMSwiZGl2IiwxMyksQ2YoMiwiYnV0dG9uIiwxNCksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO2NvbnN0IG49emYoKS4kaW1wbGljaXQsbz16ZigyKTtyZXR1cm4gby5vblRlbnNvck5hbWVDbGljay5lbWl0KHtpbmRleDpuLGdyYXBoX2lkOm8uZ3JhcGhFeGVjdXRpb25EYXRhW25dLmdyYXBoX2lkLG9wX25hbWU6by5ncmFwaEV4ZWN1dGlvbkRhdGFbbl0ub3BfbmFtZX0pfSkpLFB1KDMpLE1mKCksQ2YoNCwiZGl2IiwxNSksUHUoNSksTWYoKSxNZigpLEhtKDYsTFEsMSw0LCJkZWJ1Zy10ZW5zb3ItdmFsdWUiLDE2KSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpLiRpbXBsaWNpdCxlPXpmKDIpO0RjKDIpLExmKCJ0aXRsZSIsZS5nZXRUZW5zb3JOYW1lKHQpKSxEYygxKSxrdSgiICIsZS5nZXRUZW5zb3JOYW1lKHQpLCIgIiksRGMoMiksd3UoZS5ncmFwaEV4ZWN1dGlvbkRhdGFbdF0ub3BfdHlwZSksRGMoMSksYmYoIm5nSWYiLG51bGwhPT1lLmdyYXBoRXhlY3V0aW9uRGF0YVt0XS5kZWJ1Z190ZW5zb3JfdmFsdWUpfX1mdW5jdGlvbiBWUSh0LGUpezEmdCYmKENmKDAsImRpdiIsMTgpLFB1KDEsIiBMb2FkaW5nLi4uICIpLE1mKCkpfWNvbnN0IGpRPWZ1bmN0aW9uKHQpe3JldHVybnsiaW5wdXQtb2YtZm9jdXMiOnR9fTtmdW5jdGlvbiBVUSh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsNSksQ2YoMSwiZGl2Iiw2KSxDZigyLCJkaXYiLDcpLEhtKDMsSFEsMiwwLCJkaXYiLDgpLFB1KDQpLE1mKCksSG0oNSxCUSw3LDQsImRpdiIsOSksSG0oNixWUSwyLDAsIm5nLXRlbXBsYXRlIiwxMCwxMSxxeSksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj1GbSg3KSxvPXpmKDIpO0RjKDEpLGJmKCJuZ0NsYXNzIixpeSg1LGpRLG8uaXNJbnB1dE9mRm9jdXModCkpKSxEYygyKSxiZigibmdJZiIsdD09PW8uZm9jdXNJbmRleCksRGMoMSksa3UoIiAiLHQsIiAiKSxEYygxKSxiZigibmdJZiIsby5ncmFwaEV4ZWN1dGlvbkRhdGFbdF0pKCJuZ0lmRWxzZSIsbil9fWZ1bmN0aW9uIFdRKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IiwzKSxSZigic2Nyb2xsZWRJbmRleENoYW5nZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25TY3JvbGxlZEluZGV4Q2hhbmdlLmVtaXQobil9KSksSG0oMSxVUSw4LDcsImRpdiIsNCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxiZigiY2RrVmlydHVhbEZvck9mIix0LmdyYXBoRXhlY3V0aW9uSW5kaWNlcyl9fWNsYXNzIEdRe2NvbnN0cnVjdG9yKCl7dGhpcy5vblNjcm9sbGVkSW5kZXhDaGFuZ2U9bmV3IFN5LHRoaXMub25UZW5zb3JOYW1lQ2xpY2s9bmV3IFN5LHRoaXMucGFyc2VEZWJ1Z1RlbnNvclZhbHVlPUFKLHRoaXMuVEVTVF9PTkxZPXtnZXRWaWV3UG9ydDooKT0+dGhpcy52aWV3UG9ydH19bmdPbkNoYW5nZXModCl7aWYodGhpcy52aWV3UG9ydCYmdC5mb2N1c0luZGV4JiZudWxsIT09dC5mb2N1c0luZGV4LmN1cnJlbnRWYWx1ZSl7Y29uc3QgZT10aGlzLnZpZXdQb3J0LmdldFJlbmRlcmVkUmFuZ2UoKSxuPXQuZm9jdXNJbmRleC5jdXJyZW50VmFsdWUsbz1NYXRoLnJvdW5kKChlLmVuZC1lLnN0YXJ0KS8zKSxpPU1hdGgubWF4KG4tbywwKTt0aGlzLnZpZXdQb3J0LnNjcm9sbFRvSW5kZXgoaSxuPj1lLnN0YXJ0JiZuPGUuZW5kPyJzbW9vdGgiOnZvaWQgMCl9fWdldFRlbnNvck5hbWUodCl7cmV0dXJuYCR7dGhpcy5ncmFwaEV4ZWN1dGlvbkRhdGFbdF0ub3BfbmFtZX06JHt0aGlzLmdyYXBoRXhlY3V0aW9uRGF0YVt0XS5vdXRwdXRfc2xvdH1gfWlzSW5wdXRPZkZvY3VzKHQpe3JldHVybiBudWxsIT09dGhpcy5mb2N1c0lucHV0SW5kaWNlcyYmdGhpcy5mb2N1c0lucHV0SW5kaWNlcy5pbmNsdWRlcyh0KX19R1EuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEdRKX0sR1EuybVjbXA9c28oe3R5cGU6R1Esc2VsZWN0b3JzOltbImdyYXBoLWV4ZWN1dGlvbnMtY29tcG9uZW50Il1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeSh0Qiw1KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLnZpZXdQb3J0PXQuZmlyc3QpfX0saW5wdXRzOntudW1HcmFwaEV4ZWN1dGlvbnM6Im51bUdyYXBoRXhlY3V0aW9ucyIsZ3JhcGhFeGVjdXRpb25EYXRhOiJncmFwaEV4ZWN1dGlvbkRhdGEiLGdyYXBoRXhlY3V0aW9uSW5kaWNlczoiZ3JhcGhFeGVjdXRpb25JbmRpY2VzIixmb2N1c0luZGV4OiJmb2N1c0luZGV4Iixmb2N1c0lucHV0SW5kaWNlczoiZm9jdXNJbnB1dEluZGljZXMifSxvdXRwdXRzOntvblNjcm9sbGVkSW5kZXhDaGFuZ2U6Im9uU2Nyb2xsZWRJbmRleENoYW5nZSIsb25UZW5zb3JOYW1lQ2xpY2s6Im9uVGVuc29yTmFtZUNsaWNrIn0sZmVhdHVyZXM6W3FvXSxkZWNsczo0LHZhcnM6Mixjb25zdHM6W1sxLCJncmFwaC1leGVjdXRpb25zLWNvbnRhaW5lciJdLFsxLCJncmFwaC1leGVjdXRpb25zLXRpdGxlIl0sWyJpdGVtU2l6ZSIsIjM4IiwiY2xhc3MiLCJncmFwaC1leGVjdXRpb25zLXZpZXdwb3J0IiwzLCJzY3JvbGxlZEluZGV4Q2hhbmdlIiw0LCJuZ0lmIl0sWyJpdGVtU2l6ZSIsIjM4IiwxLCJncmFwaC1leGVjdXRpb25zLXZpZXdwb3J0IiwzLCJzY3JvbGxlZEluZGV4Q2hhbmdlIl0sWyJjbGFzcyIsInRlbnNvci1jb250YWluZXIiLDQsImNka1ZpcnR1YWxGb3IiLCJjZGtWaXJ0dWFsRm9yT2YiXSxbMSwidGVuc29yLWNvbnRhaW5lciJdLFsxLCJ0ZW5zb3ItaXRlbSIsMywibmdDbGFzcyJdLFsxLCJncmFwaC1leGVjdXRpb24taW5kZXgiXSxbImNsYXNzIiwiZ3JhcGgtZXhlY3V0aW9uLWZvY3VzIiw0LCJuZ0lmIl0sWzQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsiY2xhc3MiLCJ0ZW5zb3ItaXRlbSJdLFsiZGF0YUxvYWRpbmciLCIiXSxbMSwiZ3JhcGgtZXhlY3V0aW9uLWZvY3VzIl0sWzEsInRlbnNvci1uYW1lLWFuZC1vcC10eXBlIl0sWzEsInRlbnNvci1uYW1lIiwzLCJ0aXRsZSIsImNsaWNrIl0sWzEsIm9wLXR5cGUiXSxbMywiZGVidWdUZW5zb3JWYWx1ZSIsNCwibmdJZiJdLFszLCJkZWJ1Z1RlbnNvclZhbHVlIl0sWzEsImxvYWRpbmctc3Bpbm5lciJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZGl2IiwwKSxDZigxLCJkaXYiLDEpLFB1KDIpLE1mKCksSG0oMyxXUSwyLDEsImNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCIsMiksTWYoKSksMiZlJiYoRGMoMiksa3UoIiBHcmFwaCBFeGVjdXRpb25zICgiLG4ubnVtR3JhcGhFeGVjdXRpb25zLCIpICIpLERjKDEpLGJmKCJuZ0lmIixudWxsIT09bi5udW1HcmFwaEV4ZWN1dGlvbnMmJm4ubnVtR3JhcGhFeGVjdXRpb25zPjApKX0sZGlyZWN0aXZlczpbUHYsdEIsWEwsbkIsQ3YsdFFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5ncmFwaC1leGVjdXRpb25zLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNlYmViZWI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTttYXJnaW4tbGVmdDo4cHg7cGFkZGluZy1sZWZ0OjEwcHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmdyYXBoLWV4ZWN1dGlvbnMtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyYXBoLWV4ZWN1dGlvbnMtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItbGVmdDoxcHggc29saWQgIzU1NX0uZ3JhcGgtZXhlY3V0aW9uLWZvY3VzW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1ibG9ja30uZ3JhcGgtZXhlY3V0aW9uLWluZGV4W19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctcmlnaHQ6NHB4O3RleHQtYWxpZ246cmlnaHQ7d2lkdGg6NDBweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZ3JhcGgtZXhlY3V0aW9uLWluZGV4W19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyYXBoLWV4ZWN1dGlvbi1pbmRleFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9LmdyYXBoLWV4ZWN1dGlvbnMtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2JveC1zaGFkb3c6MCA1cHggM3B4IC0zcHggI2NjYztwYWRkaW5nLWJvdHRvbTo1cHh9LmdyYXBoLWV4ZWN1dGlvbnMtdmlld3BvcnRbX25nY29udGVudC0lQ09NUCVde2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxMnB4O3dpZHRoOjEwMCU7b3ZlcmZsb3cteDpoaWRkZW59LmlucHV0LW9mLWZvY3VzW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYwOTl9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmlucHV0LW9mLWZvY3VzW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmlucHV0LW9mLWZvY3VzW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNlNjUxMDB9LmxvYWRpbmctc3Bpbm5lcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2t9Lm9wLXR5cGVbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6I2VjZWZmMTtib3JkZXI6MXB4IHNvbGlkICNlYmViZWI7Ym9yZGVyLXJhZGl1czo0cHg7Zm9udC1mYW1pbHk6IlJvYm90byBNb25vIixtb25vc3BhY2U7Zm9udC1zaXplOjEwcHg7aGVpZ2h0OjE0cHg7bGluZS1oZWlnaHQ6MTRweDtwYWRkaW5nOjFweCAzcHg7d2lkdGg6bWF4LWNvbnRlbnQ7ZGlyZWN0aW9uOnJ0bDtkaXNwbGF5OmJsb2NrfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5vcC10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLm9wLXR5cGVbX25nY29udGVudC0lQ09NUCVde2JvcmRlcjoxcHggc29saWQgIzU1NX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAub3AtdHlwZVtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5vcC10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiM0NTVhNjR9LnRlbnNvci1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3dpZHRoOjEwMCV9LnRlbnNvci1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6bm93cmFwO2hlaWdodDozOHB4O2xpbmUtaGVpZ2h0OjM4cHg7dGV4dC1hbGlnbjpsZWZ0O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAudGVuc29yLWl0ZW1bX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAudGVuc29yLWl0ZW1bX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9LnRlbnNvci1uYW1lW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjppbmhlcml0O2N1cnNvcjpwb2ludGVyO2RpcmVjdGlvbjpydGw7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTZweDtsaW5lLWhlaWdodDoxNnB4O21hcmdpbjoycHggMCAxcHg7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDJweCk7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCAycHg7dGV4dC1hbGlnbjpyaWdodDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50ZW5zb3ItbmFtZVtfbmdjb250ZW50LSVDT01QJV06Zm9jdXN7b3V0bGluZToxcHggc29saWQgI2M2Y2FkMX0udGVuc29yLW5hbWUtYW5kLW9wLXR5cGVbX25nY29udGVudC0lQ09NUCVde2RpcmVjdGlvbjpydGw7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctcmlnaHQ6OHB4O3RleHQtYWxpZ246cmlnaHQ7d2lkdGg6MjQwcHh9ZGVidWctdGVuc29yLXZhbHVlW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MnB4IDB9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEdRLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImdyYXBoLWV4ZWN1dGlvbnMtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9ncmFwaF9leGVjdXRpb25zX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2dyYXBoX2V4ZWN1dGlvbnNfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLG51bGwse251bUdyYXBoRXhlY3V0aW9uczpbe3R5cGU6Ul99XSxncmFwaEV4ZWN1dGlvbkRhdGE6W3t0eXBlOlJffV0sZ3JhcGhFeGVjdXRpb25JbmRpY2VzOlt7dHlwZTpSX31dLGZvY3VzSW5kZXg6W3t0eXBlOlJffV0sZm9jdXNJbnB1dEluZGljZXM6W3t0eXBlOlJffV0sb25TY3JvbGxlZEluZGV4Q2hhbmdlOlt7dHlwZTpFX31dLG9uVGVuc29yTmFtZUNsaWNrOlt7dHlwZTpFX31dLHZpZXdQb3J0Olt7dHlwZTphcixhcmdzOlt0Qix7c3RhdGljOiExfV19XX0pO2NsYXNzIFlRe2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLm51bUdyYXBoRXhlY3V0aW9ucyQ9dGhpcy5zdG9yZS5waXBlKHJTKFZLKSksdGhpcy5ncmFwaEV4ZWN1dGlvbkRhdGEkPXRoaXMuc3RvcmUucGlwZShyUyhxSykpLHRoaXMuZ3JhcGhFeGVjdXRpb25JbmRpY2VzJD10aGlzLnN0b3JlLnBpcGUoclMoYlMoVkssKHQ9PjA9PT10P251bGw6QXJyYXkuZnJvbSh7bGVuZ3RoOnR9KS5tYXAoKCh0LGUpPT5lKSkpKSkpLHRoaXMuZm9jdXNJbmRleCQ9dGhpcy5zdG9yZS5waXBlKHJTKFpLKSksdGhpcy5mb2N1c0lucHV0SW5kaWNlcyQ9dGhpcy5zdG9yZS5waXBlKHJTKFFLKSl9b25TY3JvbGxlZEluZGV4Q2hhbmdlKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goWFgoe2luZGV4OnR9KSl9b25UZW5zb3JOYW1lQ2xpY2sodCl7dGhpcy5zdG9yZS5kaXNwYXRjaChLWCh0KSl9fVlRLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxZUSkoZ2YoaVMpKX0sWVEuybVjbXA9c28oe3R5cGU6WVEsc2VsZWN0b3JzOltbInRmLWRlYnVnZ2VyLXYyLWdyYXBoLWV4ZWN1dGlvbnMiXV0sZGVjbHM6Nix2YXJzOjE1LGNvbnN0czpbWzMsIm51bUdyYXBoRXhlY3V0aW9ucyIsImdyYXBoRXhlY3V0aW9uRGF0YSIsImdyYXBoRXhlY3V0aW9uSW5kaWNlcyIsImZvY3VzSW5kZXgiLCJmb2N1c0lucHV0SW5kaWNlcyIsIm9uU2Nyb2xsZWRJbmRleENoYW5nZSIsIm9uVGVuc29yTmFtZUNsaWNrIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJncmFwaC1leGVjdXRpb25zLWNvbXBvbmVudCIsMCksUmYoIm9uU2Nyb2xsZWRJbmRleENoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25TY3JvbGxlZEluZGV4Q2hhbmdlKGUpfSkpKCJvblRlbnNvck5hbWVDbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25UZW5zb3JOYW1lQ2xpY2soZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxfeSg1LCJhc3luYyIpLE1mKCkpLDImZSYmYmYoIm51bUdyYXBoRXhlY3V0aW9ucyIsQ3koMSw1LG4ubnVtR3JhcGhFeGVjdXRpb25zJCkpKCJncmFwaEV4ZWN1dGlvbkRhdGEiLEN5KDIsNyxuLmdyYXBoRXhlY3V0aW9uRGF0YSQpKSgiZ3JhcGhFeGVjdXRpb25JbmRpY2VzIixDeSgzLDksbi5ncmFwaEV4ZWN1dGlvbkluZGljZXMkKSkoImZvY3VzSW5kZXgiLEN5KDQsMTEsbi5mb2N1c0luZGV4JCkpKCJmb2N1c0lucHV0SW5kaWNlcyIsQ3koNSwxMyxuLmZvY3VzSW5wdXRJbmRpY2VzJCkpfSxkaXJlY3RpdmVzOltHUV0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFlRLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRmLWRlYnVnZ2VyLXYyLWdyYXBoLWV4ZWN1dGlvbnMiLHRlbXBsYXRlOidcbiAgICA8Z3JhcGgtZXhlY3V0aW9ucy1jb21wb25lbnRcbiAgICAgIFtudW1HcmFwaEV4ZWN1dGlvbnNdPSJudW1HcmFwaEV4ZWN1dGlvbnMkIHwgYXN5bmMiXG4gICAgICBbZ3JhcGhFeGVjdXRpb25EYXRhXT0iZ3JhcGhFeGVjdXRpb25EYXRhJCB8IGFzeW5jIlxuICAgICAgW2dyYXBoRXhlY3V0aW9uSW5kaWNlc109ImdyYXBoRXhlY3V0aW9uSW5kaWNlcyQgfCBhc3luYyJcbiAgICAgIFtmb2N1c0luZGV4XT0iZm9jdXNJbmRleCQgfCBhc3luYyJcbiAgICAgIFtmb2N1c0lucHV0SW5kaWNlc109ImZvY3VzSW5wdXRJbmRpY2VzJCB8IGFzeW5jIlxuICAgICAgKG9uU2Nyb2xsZWRJbmRleENoYW5nZSk9Im9uU2Nyb2xsZWRJbmRleENoYW5nZSgkZXZlbnQpIlxuICAgICAgKG9uVGVuc29yTmFtZUNsaWNrKT0ib25UZW5zb3JOYW1lQ2xpY2soJGV2ZW50KSJcbiAgICA+PC9ncmFwaC1leGVjdXRpb25zLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBxUT17Z2V0V2luZG93OmZ1bmN0aW9uIFpRKCl7cmV0dXJuIHdpbmRvd319LFhRPSJ2cyI7ZnVuY3Rpb24gS1EodCl7Y29uc3QgZT1xUS5nZXRXaW5kb3coKS5yZXF1aXJlO3JldHVybiBuZXcgUHJvbWlzZSgobj0+e2UodCxuKX0pKX1mdW5jdGlvbiBKUSgpe3JldHVybiBYVCh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0IHQ9cVEuZ2V0V2luZG93KCk7aWYodm9pZCAwPT09dC5tb25hY28pe2lmKCF0LnJlcXVpcmUpdGhyb3cgbmV3IEVycm9yKCJsb2FkTW9uYWNvKCkgZmFpbGVkIGJlY2F1c2UgZnVuY3Rpb24gcmVxdWlyZSgpIGlzIHVuYXZhaWxhYmxlIik7dC5yZXF1aXJlLmNvbmZpZyh7cGF0aHM6e1tYUV06Ii90Zi1pbXBvcnRzL3ZzIn19KSx5aWVsZCBLUShbInZzL2VkaXRvci9lZGl0b3IubWFpbiJdKSx5aWVsZCBLUShbInZzL3B5dGhvbi9weXRob24uY29udHJpYnV0aW9uIl0pfX0pKX1mdW5jdGlvbiBRUSh0KXtyZXR1cm4gdD8idnMtZGFyayI6InZzIn1jbGFzcyAkUXtjb25zdHJ1Y3Rvcih0KXt0aGlzLnJlc2l6ZUV2ZW50RGVib3VuY2VQZXJpb2RJbk1zPTEwMCx0aGlzLm9uUmVzaXplPW5ldyBTeSx0aGlzLm5nVW5zdWJzY3JpYmUkPW5ldyBCLHRoaXMub25SZXNpemUkPW5ldyBCO2NvbnN0IGU9bmV3IFJlc2l6ZU9ic2VydmVyKCgoKT0+e3RoaXMub25SZXNpemUkLm5leHQoKX0pKTtlLm9ic2VydmUodC5uYXRpdmVFbGVtZW50KSx0aGlzLm5nVW5zdWJzY3JpYmUkLnN1YnNjcmliZSgoKCk9PntlLnVub2JzZXJ2ZSh0Lm5hdGl2ZUVsZW1lbnQpfSkpfW5nT25Jbml0KCl7dGhpcy5vblJlc2l6ZSQucGlwZShMZSgxKSxDZSh0aGlzLnJlc2l6ZUV2ZW50RGVib3VuY2VQZXJpb2RJbk1zKSxqZSh0aGlzLm5nVW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMub25SZXNpemUuZW1pdCgpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5uZ1Vuc3Vic2NyaWJlJC5uZXh0KCksdGhpcy5uZ1Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpfX0kUS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JFEpKGdmKEtoKSl9LCRRLsm1ZGlyPWhvKHt0eXBlOiRRLHNlbGVjdG9yczpbWyIiLCJkZXRlY3RSZXNpemUiLCIiXV0saW5wdXRzOntyZXNpemVFdmVudERlYm91bmNlUGVyaW9kSW5NczoicmVzaXplRXZlbnREZWJvdW5jZVBlcmlvZEluTXMifSxvdXRwdXRzOntvblJlc2l6ZToib25SZXNpemUifX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJFEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2RldGVjdFJlc2l6ZV0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9XX0pLHtyZXNpemVFdmVudERlYm91bmNlUGVyaW9kSW5Nczpbe3R5cGU6Ul99XSxvblJlc2l6ZTpbe3R5cGU6RV99XX0pO2NvbnN0IHQkPVsiY29kZVZpZXdlckNvbnRhaW5lciJdO2NsYXNzIGUke2NvbnN0cnVjdG9yKCl7dGhpcy5saW5lcz1udWxsLHRoaXMuZm9jdXNlZExpbmVubz1udWxsLHRoaXMubW9uYWNvPW51bGwsdGhpcy5lZGl0b3I9bnVsbCx0aGlzLmRlY29yYXRpb25zPVtdLHRoaXMuUkVTSVpFX0RFQk9VTkNFX0lOVEVSVkFMX01TPTUwfW9uUmVzaXplKCl7dGhpcy5lZGl0b3ImJnRoaXMuZWRpdG9yLmxheW91dCgpfW5nT25DaGFuZ2VzKHQpe3ZhciBlO2lmKG51bGw9PT10aGlzLm1vbmFjbylyZXR1cm47Y29uc3Qgbj10Lm1vbmFjbyYmbnVsbD09PXRoaXMuZWRpdG9yO251bGw9PT10aGlzLmVkaXRvciYmKHRoaXMuZWRpdG9yPXRoaXMubW9uYWNvLmVkaXRvci5jcmVhdGUodGhpcy5jb2RlVmlld2VyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQse3ZhbHVlOihudWxsIT09KGU9dGhpcy5saW5lcykmJnZvaWQgMCE9PWU/ZTpbXSkuam9pbigiXG4iKSxsYW5ndWFnZToicHl0aG9uIixyZWFkT25seTohMCxmb250U2l6ZToxMCxtaW5pbWFwOntlbmFibGVkOiEwfSx0aGVtZTpRUSh0aGlzLnVzZURhcmtNb2RlKX0pKSx0LmxpbmVzJiZ0aGlzLmxpbmVzJiZ0aGlzLmVkaXRvci5zZXRWYWx1ZSh0aGlzLmxpbmVzLmpvaW4oIlxuIikpO2NvbnN0IG89bnx8dC5mb2N1c2VkTGluZW5vP3RoaXMuZm9jdXNlZExpbmVubzpudWxsO2lmKG8mJnRoaXMubGluZXMpe3RoaXMuZWRpdG9yLnJldmVhbExpbmVJbkNlbnRlcihvLHRoaXMubW9uYWNvLmVkaXRvci5TY3JvbGxUeXBlLlNtb290aCk7Y29uc3QgdD10aGlzLmxpbmVzW28tMV0ubGVuZ3RoO3RoaXMuZGVjb3JhdGlvbnM9dGhpcy5lZGl0b3IuZGVsdGFEZWNvcmF0aW9ucyh0aGlzLmRlY29yYXRpb25zLFt7cmFuZ2U6bmV3IHRoaXMubW9uYWNvLlJhbmdlKG8sMSxvLDEpLG9wdGlvbnM6e2lzV2hvbGVMaW5lOiEwLGxpbmVzRGVjb3JhdGlvbnNDbGFzc05hbWU6ImhpZ2hsaWdodC1ndXR0ZXIifX0se3JhbmdlOm5ldyB0aGlzLm1vbmFjby5SYW5nZShvLDEsbyx0KzEpLG9wdGlvbnM6e2lubGluZUNsYXNzTmFtZToiaGlnaGxpZ2h0LWxpbmUifX1dKX10LnVzZURhcmtNb2RlJiZ0aGlzLm1vbmFjby5lZGl0b3Iuc2V0VGhlbWUoUVEodGhpcy51c2VEYXJrTW9kZSkpfX1lJC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZSQpfSxlJC7JtWNtcD1zbyh7dHlwZTplJCxzZWxlY3RvcnM6W1sic291cmNlLWNvZGUtY29tcG9uZW50Il1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeSh0JCw3LEtoKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLmNvZGVWaWV3ZXJDb250YWluZXI9dC5maXJzdCl9fSxpbnB1dHM6e2xpbmVzOiJsaW5lcyIsZm9jdXNlZExpbmVubzoiZm9jdXNlZExpbmVubyIsbW9uYWNvOiJtb25hY28iLHVzZURhcmtNb2RlOiJ1c2VEYXJrTW9kZSJ9LGZlYXR1cmVzOltxb10sZGVjbHM6Mix2YXJzOjEsY29uc3RzOltbImRldGVjdFJlc2l6ZSIsIiIsMSwiY29kZS12aWV3ZXItY29udGFpbmVyIiwzLCJyZXNpemVFdmVudERlYm91bmNlUGVyaW9kSW5NcyIsIm9uUmVzaXplIl0sWyJjb2RlVmlld2VyQ29udGFpbmVyIiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDAsMSksUmYoIm9uUmVzaXplIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUmVzaXplKCl9KSksTWYoKSksMiZlJiZiZigicmVzaXplRXZlbnREZWJvdW5jZVBlcmlvZEluTXMiLG4uUkVTSVpFX0RFQk9VTkNFX0lOVEVSVkFMX01TKX0sZGlyZWN0aXZlczpbJFFdLHN0eWxlczpbIi5jb2RlLXZpZXdlci1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5bX25naG9zdC0lQ09NUCVdICAgICAuaGlnaGxpZ2h0LWd1dHRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxMTEsIDAsIDAuNyk7XG4gIHdpZHRoOiA1cHggIWltcG9ydGFudDtcbn1cblxuW19uZ2hvc3QtJUNPTVAlXSAgICAgLmhpZ2hsaWdodC1saW5lIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDExMSwgMCwgMC4zKTtcbn0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZSQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic291cmNlLWNvZGUtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9zb3VyY2VfY29kZV9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9zb3VyY2VfY29kZV9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bGluZXM6W3t0eXBlOlJffV0sZm9jdXNlZExpbmVubzpbe3R5cGU6Ul99XSxtb25hY286W3t0eXBlOlJffV0sdXNlRGFya01vZGU6W3t0eXBlOlJffV0sY29kZVZpZXdlckNvbnRhaW5lcjpbe3R5cGU6YXIsYXJnczpbImNvZGVWaWV3ZXJDb250YWluZXIiLHtzdGF0aWM6ITAscmVhZDpLaH1dfV19KTtjbGFzcyBuJHtjb25zdHJ1Y3Rvcigpe3RoaXMubGluZXM9bnVsbCx0aGlzLmZvY3VzZWRMaW5lbm89bnVsbCx0aGlzLnVzZURhcmtNb2RlPSExLHRoaXMubW9uYWNvJD1udWxsfW5nT25Jbml0KCl7dGhpcy5tb25hY28kPVB0KEpRKCkpLnBpcGUoVnQoKCgpPT53aW5kb3cubW9uYWNvKSkpfX1mdW5jdGlvbiBvJCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsNiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksa3UoIiAiLHQuZm9jdXNlZFNvdXJjZUxpbmVTcGVjLmZpbGVfcGF0aCwiICIpfX1mdW5jdGlvbiBpJCh0LGUpezEmdCYmKENmKDAsImRpdiIsNyksUHUoMSwiIE5vIGZpbGUgc2VsZWN0ZWQuIENsaWNrIGEgbGluZSBudW1iZXIgaW4gdGhlIFN0YWNrIFRyYWNlIHNlY3Rpb24gdG8gc2hvdyB0aGUgc291cmNlIGNvZGUuICIpLE1mKCkpfWZ1bmN0aW9uIGEkKHQsZSl7aWYoMSZ0JiZ2ZigwLCJzb3VyY2UtY29kZSIsOCksMiZ0KXtjb25zdCB0PXpmKCk7YmYoImxpbmVzIix0LmZvY3VzZWRTb3VyY2VGaWxlQ29udGVudC5saW5lcykoImZvY3VzZWRMaW5lbm8iLHQuZm9jdXNlZFNvdXJjZUxpbmVTcGVjLmxpbmVubykoInVzZURhcmtNb2RlIix0LnVzZURhcmtNb2RlKX19biQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG4kKX0sbiQuybVjbXA9c28oe3R5cGU6biQsc2VsZWN0b3JzOltbInNvdXJjZS1jb2RlIl1dLGlucHV0czp7bGluZXM6ImxpbmVzIixmb2N1c2VkTGluZW5vOiJmb2N1c2VkTGluZW5vIix1c2VEYXJrTW9kZToidXNlRGFya01vZGUifSxkZWNsczoyLHZhcnM6Nixjb25zdHM6W1szLCJsaW5lcyIsImZvY3VzZWRMaW5lbm8iLCJtb25hY28iLCJ1c2VEYXJrTW9kZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwic291cmNlLWNvZGUtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpKSwyJmUmJmJmKCJsaW5lcyIsbi5saW5lcykoImZvY3VzZWRMaW5lbm8iLG4uZm9jdXNlZExpbmVubykoIm1vbmFjbyIsQ3koMSw0LG4ubW9uYWNvJCkpKCJ1c2VEYXJrTW9kZSIsbi51c2VEYXJrTW9kZSl9LGRpcmVjdGl2ZXM6W2UkXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobiQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic291cmNlLWNvZGUiLHRlbXBsYXRlOidcbiAgICA8c291cmNlLWNvZGUtY29tcG9uZW50XG4gICAgICBbbGluZXNdPSJsaW5lcyJcbiAgICAgIFtmb2N1c2VkTGluZW5vXT0iZm9jdXNlZExpbmVubyJcbiAgICAgIFttb25hY29dPSJtb25hY28kIHwgYXN5bmMiXG4gICAgICBbdXNlRGFya01vZGVdPSJ1c2VEYXJrTW9kZSJcbiAgICA+PC9zb3VyY2UtY29kZS1jb21wb25lbnQ+XG4gICd9XX1dLChmdW5jdGlvbigpe3JldHVybltdfSkse2xpbmVzOlt7dHlwZTpSX31dLGZvY3VzZWRMaW5lbm86W3t0eXBlOlJffV0sdXNlRGFya01vZGU6W3t0eXBlOlJffV19KTtjbGFzcyByJHtjb25zdHJ1Y3Rvcigpe3RoaXMuZm9jdXNlZFNvdXJjZUZpbGVDb250ZW50PW51bGwsdGhpcy5mb2N1c2VkU291cmNlTGluZVNwZWM9bnVsbH19ciQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHIkKX0sciQuybVjbXA9c28oe3R5cGU6ciQsc2VsZWN0b3JzOltbInNvdXJjZS1maWxlcy1jb21wb25lbnQiXV0saW5wdXRzOntmb2N1c2VkU291cmNlRmlsZUNvbnRlbnQ6ImZvY3VzZWRTb3VyY2VGaWxlQ29udGVudCIsZm9jdXNlZFNvdXJjZUxpbmVTcGVjOiJmb2N1c2VkU291cmNlTGluZVNwZWMiLHVzZURhcmtNb2RlOiJ1c2VEYXJrTW9kZSJ9LGRlY2xzOjgsdmFyczozLGNvbnN0czpbWzEsInNvdXJjZS1maWxlcy1jb250YWluZXIiXSxbMSwiaGVhZGVyLXNlY3Rpb24iXSxbMSwidGl0bGUtdGFnIl0sWyJjbGFzcyIsImZpbGUtbGFiZWwiLDQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsibm9GaWxlU2VsZWN0ZWQiLCIiXSxbMywibGluZXMiLCJmb2N1c2VkTGluZW5vIiwidXNlRGFya01vZGUiLDQsIm5nSWYiXSxbMSwiZmlsZS1sYWJlbCJdLFsxLCJuby1maWxlLXNlbGVjdGVkIl0sWzMsImxpbmVzIiwiZm9jdXNlZExpbmVubyIsInVzZURhcmtNb2RlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihDZigwLCJkaXYiLDApLENmKDEsImRpdiIsMSksQ2YoMiwiZGl2IiwyKSxQdSgzLCJTb3VyY2UgQ29kZSIpLE1mKCksSG0oNCxvJCwyLDEsImRpdiIsMyksSG0oNSxpJCwyLDAsIm5nLXRlbXBsYXRlIixudWxsLDQscXkpLE1mKCksSG0oNyxhJCwxLDMsInNvdXJjZS1jb2RlIiw1KSxNZigpKSwyJmUpe2NvbnN0IHQ9Rm0oNik7RGMoNCksYmYoIm5nSWYiLG51bGwhPT1uLmZvY3VzZWRTb3VyY2VMaW5lU3BlYykoIm5nSWZFbHNlIix0KSxEYygzKSxiZigibmdJZiIsbnVsbCE9PW4uZm9jdXNlZFNvdXJjZUZpbGVDb250ZW50JiZudWxsIT09bi5mb2N1c2VkU291cmNlTGluZVNwZWMmJm51bGwhPT1uLmZvY3VzZWRTb3VyY2VGaWxlQ29udGVudC5saW5lcyl9fSxkaXJlY3RpdmVzOltQdixuJF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9LmhlYWRlci1zZWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDtwYWRkaW5nLWJvdHRvbTo2cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxMDAlfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5oZWFkZXItc2VjdGlvbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5oZWFkZXItc2VjdGlvbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzU1NX0uZmlsZS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6bm9ybWFsO3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmFueXdoZXJlO292ZXJmbG93LXk6YXV0bztwYWRkaW5nOjAgMjBweH0ubm8tZmlsZS1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzY2NjtwYWRkaW5nOjAgMjBweDt3aGl0ZS1zcGFjZTpub3JtYWx9LnNvdXJjZS1maWxlcy1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Zm9udC1mYW1pbHk6IlJvYm90byBNb25vIixtb25vc3BhY2U7Zm9udC1zaXplOjEwcHg7aGVpZ2h0OjEwMCV9LnRpdGxlLXRhZ1tfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6Ym9sZDtoZWlnaHQ6MTAwJTtwYWRkaW5nLWxlZnQ6NnB4O3ZlcnRpY2FsLWFsaWduOnRvcH1zb3VyY2UtY29kZVtfbmdjb250ZW50LSVDT01QJV17ZmxleC1ncm93OjE7d2lkdGg6MTAwJX0nXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIociQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic291cmNlLWZpbGVzLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vc291cmNlX2ZpbGVzX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL3NvdXJjZV9maWxlc19jb21wb25lbnQuY3NzIl19XX1dLG51bGwse2ZvY3VzZWRTb3VyY2VGaWxlQ29udGVudDpbe3R5cGU6Ul99XSxmb2N1c2VkU291cmNlTGluZVNwZWM6W3t0eXBlOlJffV0sdXNlRGFya01vZGU6W3t0eXBlOlJffV19KTtjbGFzcyBzJHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5mb2N1c2VkU291cmNlRmlsZUNvbnRlbnQkPXRoaXMuc3RvcmUuc2VsZWN0KGZKKSx0aGlzLmZvY3VzZWRTb3VyY2VMaW5lU3BlYyQ9dGhpcy5zdG9yZS5zZWxlY3QodUopLHRoaXMudXNlRGFya01vZGUkPXRoaXMuc3RvcmUuc2VsZWN0KEZEKX19cyQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHMkKShnZihpUykpfSxzJC7JtWNtcD1zbyh7dHlwZTpzJCxzZWxlY3RvcnM6W1sidGYtZGVidWdnZXItdjItc291cmNlLWZpbGVzIl1dLGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsImZvY3VzZWRTb3VyY2VGaWxlQ29udGVudCIsImZvY3VzZWRTb3VyY2VMaW5lU3BlYyIsInVzZURhcmtNb2RlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJzb3VyY2UtZmlsZXMtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSksMiZlJiZiZigiZm9jdXNlZFNvdXJjZUZpbGVDb250ZW50IixDeSgxLDMsbi5mb2N1c2VkU291cmNlRmlsZUNvbnRlbnQkKSkoImZvY3VzZWRTb3VyY2VMaW5lU3BlYyIsQ3koMiw1LG4uZm9jdXNlZFNvdXJjZUxpbmVTcGVjJCkpKCJ1c2VEYXJrTW9kZSIsQ3koMyw3LG4udXNlRGFya01vZGUkKSl9LGRpcmVjdGl2ZXM6W3IkXSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocyQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGYtZGVidWdnZXItdjItc291cmNlLWZpbGVzIix0ZW1wbGF0ZTonXG4gICAgPHNvdXJjZS1maWxlcy1jb21wb25lbnRcbiAgICAgIFtmb2N1c2VkU291cmNlRmlsZUNvbnRlbnRdPSJmb2N1c2VkU291cmNlRmlsZUNvbnRlbnQkIHwgYXN5bmMiXG4gICAgICBbZm9jdXNlZFNvdXJjZUxpbmVTcGVjXT0iZm9jdXNlZFNvdXJjZUxpbmVTcGVjJCB8IGFzeW5jIlxuICAgICAgW3VzZURhcmtNb2RlXT0idXNlRGFya01vZGUkIHwgYXN5bmMiXG4gICAgPjwvc291cmNlLWZpbGVzLWNvbXBvbmVudD5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBsJD1bInN0YWNrRnJhbWVBcnJheSJdO2Z1bmN0aW9uIGMkKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMTMpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigzKTtEYygxKSxrdSgiICMiLHQuZXhlY3V0aW9uSW5kZXgsIjogIil9fWZ1bmN0aW9uIGQkKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMTQpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigzKTtEYygxKSxrdSgiICIsdC5vcFR5cGUsIiAiKX19ZnVuY3Rpb24gcCQodCxlKXtpZigxJnQmJihDZigwLCJkaXYiKSxQdSgxLCIgRWFnZXIgZXhlY3V0aW9uICIpLEhtKDIsYyQsMiwxLCJzcGFuIiwxMSksSG0oMyxkJCwyLDEsInNwYW4iLDEyKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoMiksYmYoIm5nSWYiLG51bGwhPT10Lm9wVHlwZSksRGMoMSksYmYoIm5nSWYiLG51bGwhPT10Lm9wVHlwZSl9fWZ1bmN0aW9uIG0kKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMTYpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigzKTtEYygxKSxrdSgnICInLHQub3BOYW1lLCciICcpfX1mdW5jdGlvbiBmJCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDE0KSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMyk7RGMoMSksa3UoIiAiLHQub3BUeXBlLCIgIil9fWZ1bmN0aW9uIHUkKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiksUHUoMSwiIENyZWF0aW9uIG9mIGdyYXBoIG9wICIpLEhtKDIsbSQsMiwxLCJzcGFuIiwxNSksSG0oMyxmJCwyLDEsInNwYW4iLDEyKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoMiksYmYoIm5nSWYiLG51bGwhPT10Lm9wTmFtZSksRGMoMSksYmYoIm5nSWYiLG51bGwhPT10Lm9wVHlwZSl9fWZ1bmN0aW9uIGckKHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMTcpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYygxKSxrdSgiIChIb3N0IG5hbWU6ICIsdC5zdGFja0ZyYW1lc0ZvckRpc3BsYXlbMF0uaG9zdF9uYW1lLCIpICIpfX1mdW5jdGlvbiBoJCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsNyksQ2YoMSwic3BhbiIpLENmKDIsInNwYW4iLDgpLEhtKDMscCQsNCwyLCJkaXYiLDkpLEhtKDQsdSQsNCwyLCJkaXYiLDkpLE1mKCksTWYoKSxDZig1LCJkaXYiKSxIbSg2LGckLDIsMSwic3BhbiIsMTApLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksYmYoIm5nU3dpdGNoIix0LmNvZGVMb2NhdGlvblR5cGUpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLHQuQ29kZUxvY2F0aW9uVHlwZS5FWEVDVVRJT04pLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLHQuQ29kZUxvY2F0aW9uVHlwZS5HUkFQSF9PUF9DUkVBVElPTiksRGMoMiksYmYoIm5nSWYiLG51bGwhPT10LnN0YWNrRnJhbWVzRm9yRGlzcGxheSYmdC5zdGFja0ZyYW1lc0ZvckRpc3BsYXkubGVuZ3RoPjApfX1mdW5jdGlvbiBiJCh0LGUpezEmdCYmKENmKDAsImRpdiIsMTgpLFB1KDEsIiBDbGljayBhbiBlYWdlciBleGVjdXRpb24gb3IgZ3JhcGggb3AgdG8gc2hvdyBpdHMgb3JpZ2luYWwgc3RhY2sgdHJhY2UuICIpLE1mKCkpfWZ1bmN0aW9uIHkkKHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwyOCksUHUoMSwiIOKkkyAiKSxNZigpKX1jb25zdCBfJD1mdW5jdGlvbih0LGUpe3JldHVyblt0LGVdfTtmdW5jdGlvbiBDJCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsMjIpLENmKDEsImRpdiIsMjMpLFB1KDIpLE1mKCksQ2YoMywiZGl2IiwyNCksSG0oNCx5JCwyLDAsImRpdiIsMjUpLENmKDUsImRpdiIsMjYpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtjb25zdCBuPVBpKHQpLiRpbXBsaWNpdDtyZXR1cm4gemYoMikub25Tb3VyY2VMaW5lQ2xpY2tlZC5lbWl0KG4pfSkpLFB1KDYpLE1mKCksQ2YoNywiZGl2IiwyNyksUHUoOCksTWYoKSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoMik7YmYoIm5nQ2xhc3MiLGF5KDYsXyQsdC5iZWxvbmdzVG9Gb2N1c2VkRmlsZT8iZm9jdXNlZC1maWxlIjoiIix0LmZvY3VzZWQ/ImZvY3VzZWQtc3RhY2stZnJhbWUiOiIiKSksRGMoMSksTGYoInRpdGxlIix0LmZpbGVfcGF0aCksRGMoMSksa3UoIiAiLHQuY29uY2lzZV9maWxlX3BhdGgsIiAiKSxEYygyKSxiZigibmdJZiIsbi5zdGlja1RvQm90dG9tbW9zdEZyYW1lSW5Gb2N1c2VkRmlsZSYmdC5mb2N1c2VkKSxEYygyKSxrdSgiIExpbmUgIix0LmxpbmVubywiICIpLERjKDIpLGt1KCIgIix0LmZ1bmN0aW9uX25hbWUsIiAiKX19ZnVuY3Rpb24gTSQodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDE5LDIwKSxIbSgyLEMkLDksOSwiZGl2IiwyMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksYmYoIm5nRm9yT2YiLHQuc3RhY2tGcmFtZXNGb3JEaXNwbGF5KX19ZnVuY3Rpb24gdiQodCxlKXt9Y2xhc3MgeCR7Y29uc3RydWN0b3IoKXt0aGlzLnN0YWNrRnJhbWVzRm9yRGlzcGxheT1udWxsLHRoaXMub25Tb3VyY2VMaW5lQ2xpY2tlZD1uZXcgU3ksdGhpcy5Db2RlTG9jYXRpb25UeXBlPWNLfW5nQWZ0ZXJWaWV3Q2hlY2tlZCgpe2lmKHZvaWQgMD09PXRoaXMuc3RhY2tGcmFtZUFycmF5KXJldHVybjtjb25zdCB0PXRoaXMuc3RhY2tGcmFtZUFycmF5Lm5hdGl2ZUVsZW1lbnQsZT10LnF1ZXJ5U2VsZWN0b3IoIi5mb2N1c2VkLXN0YWNrLWZyYW1lIik7aWYobnVsbCE9PWUpcmV0dXJuIHZvaWQgdGhpcy5zY3JvbGxUb0VsZW1lbnQodCxlKTtjb25zdCBuPXQucXVlcnlTZWxlY3RvcigiLnN0YWNrLWZyYW1lLWNvbnRhaW5lcjpsYXN0LWNoaWxkIik7bnVsbCE9PW4mJnRoaXMuc2Nyb2xsVG9FbGVtZW50KHQsbil9c2Nyb2xsVG9FbGVtZW50KHQsZSl7dC5zY3JvbGxUb3A9ZS5vZmZzZXRUb3B9fXgkLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4JCl9LHgkLsm1Y21wPXNvKHt0eXBlOngkLHNlbGVjdG9yczpbWyJzdGFjay10cmFjZS1jb21wb25lbnQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJlZ5KGwkLDUpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uc3RhY2tGcmFtZUFycmF5PXQuZmlyc3QpfX0saW5wdXRzOntjb2RlTG9jYXRpb25UeXBlOiJjb2RlTG9jYXRpb25UeXBlIixvcFR5cGU6Im9wVHlwZSIsb3BOYW1lOiJvcE5hbWUiLGV4ZWN1dGlvbkluZGV4OiJleGVjdXRpb25JbmRleCIsc3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGU6InN0aWNrVG9Cb3R0b21tb3N0RnJhbWVJbkZvY3VzZWRGaWxlIixzdGFja0ZyYW1lc0ZvckRpc3BsYXk6InN0YWNrRnJhbWVzRm9yRGlzcGxheSJ9LG91dHB1dHM6e29uU291cmNlTGluZUNsaWNrZWQ6Im9uU291cmNlTGluZUNsaWNrZWQifSxkZWNsczoxMCx2YXJzOjQsY29uc3RzOltbMSwic3RhY2stdHJhY2UtY29udGFpbmVyIl0sWzEsInN0YWNrLXRyYWNlLWhlYWRlciJdLFsxLCJzdGFjay10cmFjZS10aXRsZSJdLFsiY2xhc3MiLCJzdGFjay10cmFjZS1hdXgtaW5mbyIsNCwibmdJZiIsIm5nSWZFbHNlIl0sWyJub1N0YWNrVHJhY2UiLCIiXSxbImNsYXNzIiwic3RhY2stZnJhbWUtYXJyYXkiLDQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsibG9hZGluZ1NlY3Rpb24iLCIiXSxbMSwic3RhY2stdHJhY2UtYXV4LWluZm8iXSxbMSwiY29kZS1sb2NhdGlvbi1vcmlnaW4iLDMsIm5nU3dpdGNoIl0sWzQsIm5nU3dpdGNoQ2FzZSJdLFsiY2xhc3MiLCJzdGFjay10cmFjZS1ob3N0LW5hbWUiLDQsIm5nSWYiXSxbImNsYXNzIiwiZWFnZXItZXhlY3V0aW9uLWluZGV4Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsIm9wLXR5cGUiLDQsIm5nSWYiXSxbMSwiZWFnZXItZXhlY3V0aW9uLWluZGV4Il0sWzEsIm9wLXR5cGUiXSxbImNsYXNzIiwib3AtbmFtZSIsNCwibmdJZiJdLFsxLCJvcC1uYW1lIl0sWzEsInN0YWNrLXRyYWNlLWhvc3QtbmFtZSJdLFsxLCJzdGFjay10cmFjZS1hdXgtaW5mbyIsIm5vLXN0YWNrLXRyYWNlIl0sWzEsInN0YWNrLWZyYW1lLWFycmF5Il0sWyJzdGFja0ZyYW1lQXJyYXkiLCIiXSxbImNsYXNzIiwic3RhY2stZnJhbWUtY29udGFpbmVyIiwzLCJuZ0NsYXNzIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbMSwic3RhY2stZnJhbWUtY29udGFpbmVyIiwzLCJuZ0NsYXNzIl0sWzEsInN0YWNrLWZyYW1lLWZpbGUtcGF0aCIsMywidGl0bGUiXSxbMSwic3RhY2stZnJhbWUtbGluZW5vLWZ1bmN0aW9uIl0sWyJjbGFzcyIsInN0aWNrLXRvLWJvdHRvbW1vc3QtaW5kaWNhdG9yIiwidGl0bGUiLCJTdGlja2luZyB0byB0aGUgYm90dG9tbW9zdCBmcmFtZSBpbiB0aGUgY3VycmVudCBzb3VyY2UgZmlsZSB3aGVuIG5hdmlnYXRpbmcgZXhlY3V0aW9ucyBhbmQgZ3JhcGggb3BzLiBUbyByZW1vdmUgdGhpcyBzdGlja2luZywgY2xpY2sgYW55IG5vbi1ib3R0b21tb3N0IHN0YWNrIGZyYW1lLiIsNCwibmdJZiJdLFsxLCJzdGFjay1mcmFtZS1saW5lbm8iLDMsImNsaWNrIl0sWzEsInN0YWNrLWZyYW1lLWZ1bmN0aW9uIl0sWyJ0aXRsZSIsIlN0aWNraW5nIHRvIHRoZSBib3R0b21tb3N0IGZyYW1lIGluIHRoZSBjdXJyZW50IHNvdXJjZSBmaWxlIHdoZW4gbmF2aWdhdGluZyBleGVjdXRpb25zIGFuZCBncmFwaCBvcHMuIFRvIHJlbW92ZSB0aGlzIHN0aWNraW5nLCBjbGljayBhbnkgbm9uLWJvdHRvbW1vc3Qgc3RhY2sgZnJhbWUuIiwxLCJzdGljay10by1ib3R0b21tb3N0LWluZGljYXRvciJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiZGl2IiwwKSxDZigxLCJkaXYiLDEpLENmKDIsInNwYW4iLDIpLFB1KDMsIiBTdGFjayBUcmFjZSAiKSxNZigpLEhtKDQsaCQsNyw0LCJkaXYiLDMpLEhtKDUsYiQsMiwwLCJuZy10ZW1wbGF0ZSIsbnVsbCw0LHF5KSxNZigpLEhtKDcsTSQsMywxLCJkaXYiLDUpLEhtKDgsdiQsMCwwLCJuZy10ZW1wbGF0ZSIsbnVsbCw2LHF5KSxNZigpKSwyJmUpe2NvbnN0IHQ9Rm0oNiksZT1GbSg5KTtEYyg0KSxiZigibmdJZiIsbnVsbCE9PW4uY29kZUxvY2F0aW9uVHlwZSkoIm5nSWZFbHNlIix0KSxEYygzKSxiZigibmdJZiIsbnVsbCE9PW4uc3RhY2tGcmFtZXNGb3JEaXNwbGF5KSgibmdJZkVsc2UiLGUpfX0sZGlyZWN0aXZlczpbUHYsRHYsUnYseHYsQ3ZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5mb2N1c2VkLWZpbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OmJvbGR9LmZvY3VzZWQtc3RhY2stZnJhbWVbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMTExLDAsLjMpfS5uby1zdGFjay10cmFjZVtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6Z3JheX0ub3AtbmFtZVtfbmdjb250ZW50LSVDT01QJV17d29yZC13cmFwOmFueXdoZXJlfS5vcC10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNlY2VmZjE7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtZmFtaWx5OiJSb2JvdG8gTW9ubyIsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxMHB4O2hlaWdodDoxNHB4O2xpbmUtaGVpZ2h0OjE0cHg7cGFkZGluZzoxcHggM3B4O3dpZHRoOm1heC1jb250ZW50fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5vcC10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLm9wLXR5cGVbX25nY29udGVudC0lQ09NUCVde2JvcmRlcjoxcHggc29saWQgIzU1NX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAub3AtdHlwZVtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5vcC10eXBlW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiM0NTVhNjR9LnN0YWNrLWZyYW1lLWFycmF5W19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87d2lkdGg6Y2FsYygxMDAlIC0gOHB4KX0uc3RhY2stZnJhbWUtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjYTBhMGEwfS5zdGFjay1mcmFtZS1maWxlLXBhdGhbX25nY29udGVudC0lQ09NUCVde21heC13aWR0aDoxODBweDt3aWR0aDoxODBweH0uc3RhY2stZnJhbWUtbGluZW5vLWZ1bmN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXt0ZXh0LWFsaWduOnJpZ2h0O3doaXRlLXNwYWNlOm5vd3JhcH0uc3RhY2stZnJhbWUtZnVuY3Rpb25bX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoyMDBweDtwYWRkaW5nLWxlZnQ6MTBweDt0ZXh0LWFsaWduOmxlZnQ7d2hpdGUtc3BhY2U6bm9ybWFsO3dpZHRoOjIwMHB4O3dvcmQtd3JhcDphbnl3aGVyZX0uc3RhY2stZnJhbWUtbGluZW5vW19uZ2NvbnRlbnQtJUNPTVAlXXtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6ODBweDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt3aWR0aDo4MHB4fS5zdGFjay10cmFjZS1hdXgtaW5mb1tfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDoxNXB4O3BhZGRpbmctbGVmdDoyNHB4fS5zdGFjay10cmFjZS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZWJlYmViO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1mbG93OmNvbHVtbjtmb250LXNpemU6MTBweDtmb250LWZhbWlseToiUm9ib3RvIE1vbm8iLG1vbm9zcGFjZTtoZWlnaHQ6MTAwJTttYXJnaW4tbGVmdDo4cHg7bWF4LWhlaWdodDozNjBweDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmhpZGRlbjtwYWRkaW5nLWxlZnQ6OHB4O3dpZHRoOjEwMCV9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnN0YWNrLXRyYWNlLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5zdGFjay10cmFjZS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjNTU1fS5zdGFjay10cmFjZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2JveC1zaGFkb3c6MCA1cHggM3B4IC0zcHggI2NjYztwYWRkaW5nLWJvdHRvbTozcHh9LnN0YWNrLXRyYWNlLWhvc3QtbmFtZVtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6Z3JheX0uc3RhY2stdHJhY2UtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OmJvbGR9LnN0aWNrLXRvLWJvdHRvbW1vc3QtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXdlaWdodDpib2xkO2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmctcmlnaHQ6M3B4fSddfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4JCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJzdGFjay10cmFjZS1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL3N0YWNrX3RyYWNlX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL3N0YWNrX3RyYWNlX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCx7Y29kZUxvY2F0aW9uVHlwZTpbe3R5cGU6Ul99XSxvcFR5cGU6W3t0eXBlOlJffV0sb3BOYW1lOlt7dHlwZTpSX31dLGV4ZWN1dGlvbkluZGV4Olt7dHlwZTpSX31dLHN0aWNrVG9Cb3R0b21tb3N0RnJhbWVJbkZvY3VzZWRGaWxlOlt7dHlwZTpSX31dLHN0YWNrRnJhbWVzRm9yRGlzcGxheTpbe3R5cGU6Ul99XSxvblNvdXJjZUxpbmVDbGlja2VkOlt7dHlwZTpFX31dLHN0YWNrRnJhbWVBcnJheTpbe3R5cGU6YXIsYXJnczpbInN0YWNrRnJhbWVBcnJheSJdfV19KTtjbGFzcyBPJHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5jb2RlTG9jYXRpb25UeXBlJD10aGlzLnN0b3JlLnBpcGUoclMoYlMobEosKHQ9Pm51bGw9PT10P251bGw6dC5jb2RlTG9jYXRpb25UeXBlKSkpKSx0aGlzLm9wVHlwZSQ9dGhpcy5zdG9yZS5waXBlKHJTKGJTKGxKLCh0PT5udWxsPT09dD9udWxsOnQub3BUeXBlKSkpKSx0aGlzLm9wTmFtZSQ9dGhpcy5zdG9yZS5waXBlKHJTKGJTKGxKLCh0PT5udWxsPT09dHx8dC5jb2RlTG9jYXRpb25UeXBlIT09Y0suR1JBUEhfT1BfQ1JFQVRJT04/bnVsbDp0Lm9wTmFtZSkpKSksdGhpcy5leGVjdXRpb25JbmRleCQ9dGhpcy5zdG9yZS5waXBlKHJTKGJTKGxKLCh0PT5udWxsPT09dHx8dC5jb2RlTG9jYXRpb25UeXBlIT09Y0suRVhFQ1VUSU9OP251bGw6dC5leGVjdXRpb25JbmRleCkpKSksdGhpcy5zdGlja1RvQm90dG9tbW9zdEZyYW1lSW5Gb2N1c2VkRmlsZSQ9dGhpcy5zdG9yZS5waXBlKHJTKGdKKSksdGhpcy5zdGFja0ZyYW1lc0ZvckRpc3BsYXkkPXRoaXMuc3RvcmUucGlwZShyUyhiUyhjSix1SiwoKHQsZSk9PntpZihudWxsPT09dClyZXR1cm4gbnVsbDtjb25zdCBuPVtdO2Zvcihjb25zdCBvIG9mIHQpe2NvbnN0e2hvc3RfbmFtZTp0LGZpbGVfcGF0aDppLGxpbmVubzphLGZ1bmN0aW9uX25hbWU6cn09byxzPWkuc3BsaXQoIi8iKSxsPW51bGwhPT1lJiZ0PT09ZS5ob3N0X25hbWUmJmk9PT1lLmZpbGVfcGF0aDtuLnB1c2goe2hvc3RfbmFtZTp0LGZpbGVfcGF0aDppLGNvbmNpc2VfZmlsZV9wYXRoOnNbcy5sZW5ndGgtMV0sbGluZW5vOmEsZnVuY3Rpb25fbmFtZTpyLGJlbG9uZ3NUb0ZvY3VzZWRGaWxlOmwsZm9jdXNlZDpsJiZhPT09ZS5saW5lbm99KX1yZXR1cm4gbn0pKSkpfW9uU291cmNlTGluZUNsaWNrZWQodCl7Y29uc3R7aG9zdF9uYW1lOmUsZmlsZV9wYXRoOm4sbGluZW5vOm8sZnVuY3Rpb25fbmFtZTppfT10O3RoaXMuc3RvcmUuZGlzcGF0Y2gobksoe3N0YWNrRnJhbWU6e2hvc3RfbmFtZTplLGZpbGVfcGF0aDpuLGxpbmVubzpvLGZ1bmN0aW9uX25hbWU6aX19KSl9fWZ1bmN0aW9uIFAkKHQsZSl7MSZ0JiZ2ZigwLCJ0Zi1kZWJ1Z2dlci12Mi1pbmFjdGl2ZSIpfWZ1bmN0aW9uIHckKHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwzKSx2ZigxLCJ0Zi1kZWJ1Z2dlci12Mi1hbGVydHMiKSxDZigyLCJkaXYiLDQpLHZmKDMsInRmLWRlYnVnZ2VyLXYyLXRpbWVsaW5lIiksdmYoNCwidGYtZGVidWdnZXItdjItZ3JhcGgiKSxNZigpLHZmKDUsInRmLWRlYnVnZ2VyLXYyLWdyYXBoLWV4ZWN1dGlvbnMiKSxNZigpLENmKDYsImRpdiIsNSksdmYoNywidGYtZGVidWdnZXItdjItc291cmNlLWZpbGVzIiksdmYoOCwidGYtZGVidWdnZXItdjItc3RhY2stdHJhY2UiKSxNZigpKX1PJC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TyQpKGdmKGlTKSl9LE8kLsm1Y21wPXNvKHt0eXBlOk8kLHNlbGVjdG9yczpbWyJ0Zi1kZWJ1Z2dlci12Mi1zdGFjay10cmFjZSJdXSxkZWNsczo3LHZhcnM6MTgsY29uc3RzOltbMywiY29kZUxvY2F0aW9uVHlwZSIsIm9wVHlwZSIsIm9wTmFtZSIsImV4ZWN1dGlvbkluZGV4Iiwic3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGUiLCJzdGFja0ZyYW1lc0ZvckRpc3BsYXkiLCJvblNvdXJjZUxpbmVDbGlja2VkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJzdGFjay10cmFjZS1jb21wb25lbnQiLDApLFJmKCJvblNvdXJjZUxpbmVDbGlja2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblNvdXJjZUxpbmVDbGlja2VkKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIiksX3koNSwiYXN5bmMiKSxfeSg2LCJhc3luYyIpLE1mKCkpLDImZSYmYmYoImNvZGVMb2NhdGlvblR5cGUiLEN5KDEsNixuLmNvZGVMb2NhdGlvblR5cGUkKSkoIm9wVHlwZSIsQ3koMiw4LG4ub3BUeXBlJCkpKCJvcE5hbWUiLEN5KDMsMTAsbi5vcE5hbWUkKSkoImV4ZWN1dGlvbkluZGV4IixDeSg0LDEyLG4uZXhlY3V0aW9uSW5kZXgkKSkoInN0aWNrVG9Cb3R0b21tb3N0RnJhbWVJbkZvY3VzZWRGaWxlIixDeSg1LDE0LG4uc3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGUkKSkoInN0YWNrRnJhbWVzRm9yRGlzcGxheSIsQ3koNiwxNixuLnN0YWNrRnJhbWVzRm9yRGlzcGxheSQpKX0sZGlyZWN0aXZlczpbeCRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPJCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJ0Zi1kZWJ1Z2dlci12Mi1zdGFjay10cmFjZSIsdGVtcGxhdGU6J1xuICAgIDxzdGFjay10cmFjZS1jb21wb25lbnRcbiAgICAgIFtjb2RlTG9jYXRpb25UeXBlXT0iY29kZUxvY2F0aW9uVHlwZSQgfCBhc3luYyJcbiAgICAgIFtvcFR5cGVdPSJvcFR5cGUkIHwgYXN5bmMiXG4gICAgICBbb3BOYW1lXT0ib3BOYW1lJCB8IGFzeW5jIlxuICAgICAgW2V4ZWN1dGlvbkluZGV4XT0iZXhlY3V0aW9uSW5kZXgkIHwgYXN5bmMiXG4gICAgICBbc3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGVdPSJcbiAgICAgICAgc3RpY2tUb0JvdHRvbW1vc3RGcmFtZUluRm9jdXNlZEZpbGUkIHwgYXN5bmNcbiAgICAgICJcbiAgICAgIFtzdGFja0ZyYW1lc0ZvckRpc3BsYXldPSJzdGFja0ZyYW1lc0ZvckRpc3BsYXkkIHwgYXN5bmMiXG4gICAgICAob25Tb3VyY2VMaW5lQ2xpY2tlZCk9Im9uU291cmNlTGluZUNsaWNrZWQoJGV2ZW50KSJcbiAgICA+PC9zdGFjay10cmFjZS1jb21wb25lbnQ+XG4gICd9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgayR7Y29uc3RydWN0b3IoKXt0aGlzLnJ1bnM9e30sdGhpcy5ydW5JZHM9W10sdGhpcy5hY3RpdmVSdW5JZD1udWxsfX1rJC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ayQpfSxrJC7JtWNtcD1zbyh7dHlwZTprJCxzZWxlY3RvcnM6W1siZGVidWdnZXItY29tcG9uZW50Il1dLGlucHV0czp7cnVuczoicnVucyIscnVuSWRzOiJydW5JZHMiLGFjdGl2ZVJ1bklkOiJhY3RpdmVSdW5JZCJ9LGRlY2xzOjQsdmFyczoyLGNvbnN0czpbWzEsImRlYnVnZ2VyLWNvbnRhaW5lciJdLFs0LCJuZ0lmIiwibmdJZkVsc2UiXSxbImRhdGFBdmFpbGFibGUiLCIiXSxbMSwidG9wLXNlY3Rpb24iXSxbMSwidG9wLWNlbnRlci1zZWN0aW9uIl0sWzEsImJvdHRvbS1zZWN0aW9uIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihDZigwLCJkaXYiLDApLEhtKDEsUCQsMSwwLCJ0Zi1kZWJ1Z2dlci12Mi1pbmFjdGl2ZSIsMSksSG0oMix3JCw5LDAsIm5nLXRlbXBsYXRlIixudWxsLDIscXkpLE1mKCkpLDImZSl7Y29uc3QgdD1GbSgzKTtEYygxKSxiZigibmdJZiIsMD09PW4ucnVuSWRzLmxlbmd0aCkoIm5nSWZFbHNlIix0KX19LGRpcmVjdGl2ZXM6W1B2LFBYLENKLGJRLElRLFlRLHMkLE8kXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0uYm90dG9tLXNlY3Rpb25bX25nY29udGVudC0lQ09NUCVde2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtmbGV4LWdyb3c6MTtoZWlnaHQ6MzQlO3BhZGRpbmctdG9wOjZweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuYm90dG9tLXNlY3Rpb25bX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuYm90dG9tLXNlY3Rpb25bX25nY29udGVudC0lQ09NUCVde2JvcmRlci10b3A6MXB4IHNvbGlkICM1NTV9LmRlYnVnZ2VyLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbn0udG9wLXNlY3Rpb25bX25nY29udGVudC0lQ09NUCVde2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmZsZXg7ZmxleC1ncm93OjE7aGVpZ2h0OjY2JTtwYWRkaW5nOjZweCAwfXRmLWRlYnVnZ2VyLXYyLWFsZXJ0c1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDoxMHB4O21pbi13aWR0aDoxNjBweDt3aWR0aDpjYWxjKDE1JSAtIDExcHgpfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIHRmLWRlYnVnZ2VyLXYyLWFsZXJ0c1tfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIHRmLWRlYnVnZ2VyLXYyLWFsZXJ0c1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjNTU1fXRmLWRlYnVnZ2VyLXYyLWdyYXBoLWV4ZWN1dGlvbnNbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDo1NDBweDt3aWR0aDo1NDBweH10Zi1kZWJ1Z2dlci12Mi1zb3VyY2UtZmlsZXNbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjcwJX10Zi1kZWJ1Z2dlci12Mi1zdGFjay10cmFjZVtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxleC1ncm93OjE7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjU0MHB4O3dpZHRoOjU0MHB4fS50b3AtY2VudGVyLXNlY3Rpb25bX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmF1dG87d2lkdGg6NTUlfXRmLWRlYnVnZ2VyLXYyLXRpbWVsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmJsb2NrfXRmLWRlYnVnZ2VyLXYyLWdyYXBoW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDo1cHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgdGYtZGVidWdnZXItdjItZ3JhcGhbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICB0Zi1kZWJ1Z2dlci12Mi1ncmFwaFtfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXRvcDoxcHggc29saWQgIzU1NX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoayQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiZGVidWdnZXItY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9kZWJ1Z2dlcl9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9kZWJ1Z2dlcl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7cnVuczpbe3R5cGU6Ul99XSxydW5JZHM6W3t0eXBlOlJffV0sYWN0aXZlUnVuSWQ6W3t0eXBlOlJffV19KTtjbGFzcyBTJHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5ydW5zJD10aGlzLnN0b3JlLnBpcGUoclMoQ0spKSx0aGlzLnJ1bnNJZHMkPXRoaXMuc3RvcmUucGlwZShyUyhiUyhDSywodD0+T2JqZWN0LmtleXModCkpKSkpLHRoaXMuYWN0aXZlUnVuSWQkPXRoaXMuc3RvcmUucGlwZShyUyh2SykpfW5nT25Jbml0KCl7dGhpcy5zdG9yZS5kaXNwYXRjaCh3WCgpKX1uZ09uRGVzdHJveSgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goa1goKSl9fVMkLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxTJCkoZ2YoaVMpKX0sUyQuybVjbXA9c28oe3R5cGU6UyQsc2VsZWN0b3JzOltbInRmLWRlYnVnZ2VyLXYyIl1dLGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsInJ1bnMiLCJydW5JZHMiLCJhY3RpdmVSdW5JZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwiZGVidWdnZXItY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSksMiZlJiZiZigicnVucyIsQ3koMSwzLG4ucnVucyQpKSgicnVuSWRzIixDeSgyLDUsbi5ydW5zSWRzJCkpKCJhY3RpdmVSdW5JZCIsQ3koMyw3LG4uYWN0aXZlUnVuSWQkKSl9LGRpcmVjdGl2ZXM6W2skXSxwaXBlczpbVnZdLHN0eWxlczpbIltfbmdob3N0LSVDT01QJV0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfSJdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihTJCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJ0Zi1kZWJ1Z2dlci12MiIsdGVtcGxhdGU6J1xuICAgIDxkZWJ1Z2dlci1jb21wb25lbnRcbiAgICAgIFtydW5zXT0icnVucyQgfCBhc3luYyJcbiAgICAgIFtydW5JZHNdPSJydW5zSWRzJCB8IGFzeW5jIlxuICAgICAgW2FjdGl2ZVJ1bklkXT0iYWN0aXZlUnVuSWQkIHwgYXN5bmMiXG4gICAgPjwvZGVidWdnZXItY29tcG9uZW50PlxuICAnLHN0eWxlczpbIlxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLG51bGwpO2NvbnN0IEQkPSJkZWJ1Z2dlci12MiI7ZnVuY3Rpb24gUiQodCxlLG4sbyxpKXtpZihuPD0wfHwhTnVtYmVyLmlzSW50ZWdlcihuKSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcGFnZVNpemU6ICR7bn1gKTtpZihlPm8pdGhyb3cgbmV3IEVycm9yKGBlbmQgaW5kZXggKCR7ZX0pIGV4Y2VlZHMgdG90YWwgbnVtYmVyIG9mIGl0ZW1zICgke299KWApO2lmKGUtdD5uKXRocm93IG5ldyBFcnJvcigiYmVnaW4tZW5kIHNwYW4gZXhjZWVkcyBwYWdlIHNpemUsIHdoaWNoIGlzIG5vdCBhbGxvd2VkIik7Y29uc3QgYT1bXSxyPU1hdGguZmxvb3IodC9uKTsoIShyIGluIGkpfHxpW3JdPG4mJnIqbitpW3JdPG8pJiZhLnB1c2gocik7Y29uc3Qgcz1NYXRoLmZsb29yKChlLTEpL24pO2lmKHMhPT1yKXsoIShzIGluIGkpfHxzKm4raVtzXTxlJiZlPG8pJiZhLnB1c2gocyl9cmV0dXJuIGF9Y2xhc3MgRSR7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuYWN0aW9ucyQ9dCx0aGlzLnN0b3JlPWUsdGhpcy5kYXRhU291cmNlPW4sdGhpcy5sb2FkRGF0YSQ9V1MoKCgpPT57Y29uc3QgdD10aGlzLmxvYWREZWJ1Z2dlclJ1bnMocGUodGhpcy5vbkRlYnVnZ2VyRGF0YVBvbGwoKSx0aGlzLm9uQ29yZVJlbG9hZCgpKSkucGlwZShJZSgpKSxlPXRoaXMubG9hZFNvdXJjZUZpbGVMaXN0KHQpLG49dGhpcy5jcmVhdGVOdW1FeGVjdXRpb25Mb2FkZXIodCksbz10aGlzLmNyZWF0ZU51bUFsZXJ0c0FuZEJyZWFrZG93bkxvYWRlcih0KSxpPXRoaXMub25BbGVydFR5cGVGb2N1c2VkKCksYT10aGlzLmZldGNoRXhlY3V0aW9uRGlnZXN0c0ZvckFsZXJ0VHlwZUZvY3VzKGkpLHI9dGhpcy5jcmVhdGVJbml0aWFsRXhlY3V0aW9uRGV0ZWN0b3IobikucGlwZShJZSgpKSxzPXRoaXMuY3JlYXRlRXhlY3V0aW9uRGlnZXN0TG9hZGVyKHBlKHRoaXMub25FeGVjdXRpb25TY3JvbGwoKSx0aGlzLmNyZWF0ZUluaXRpYWxFeGVjdXRpb25EaWdlc3QociksYSkpLGw9dGhpcy5jcmVhdGVFeGVjdXRpb25EYXRhQW5kU3RhY2tGcmFtZXNMb2FkZXIocGUodGhpcy5vbkV4ZWN1dGlvbkRpZ2VzdEZvY3VzZWQoKSxyLnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QodkspLHRoaXMuc3RvcmUuc2VsZWN0KGlKKSksVnQoKChbLHQsZV0pPT4oe2FjdGl2ZVJ1bklkOnQsbG9hZGVkRXhlY3V0aW9uRGF0YTplLGZvY3VzSW5kZXg6MH0pKSkpKSk7cmV0dXJuIHBlKG8scyxsLHRoaXMuY3JlYXRlTnVtR3JhcGhFeGVjdXRpb25Mb2FkZXIodCksZSx0aGlzLm9uU291cmNlRmlsZUZvY3VzZWQoKSx0aGlzLmxvYWRHcmFwaEV4ZWN1dGlvblBhZ2VzKHRoaXMub25HcmFwaEV4ZWN1dGlvblNjcm9sbCgpKSx0aGlzLmxvYWRHcmFwaE9wU3RhY2tGcmFtZXModGhpcy5sb2FkR3JhcGhPcEluZm8oKSkpLnBpcGUoVnQoKCgpPT4oe30pKSkpfSkse2Rpc3BhdGNoOiExfSl9b25EZWJ1Z2dlckRhdGFQb2xsKCl7cmV0dXJuIHRoaXMuYWN0aW9ucyQucGlwZSgkUyh3WCksVmUoKHQ9PihmdW5jdGlvbiBlKHQsbixvKXtyZXR1cm4gdC5waXBlKHplKCh0PT50LnBpcGUocWUobiksT2UoKChbLHRdKT0+ZGUodCkpKSkpKSxqZShvKSxWdCgoKCk9Pnt9KSkpfSkoenQodCksdGhpcy5zdG9yZS5zZWxlY3QoeEspLnBpcGUoVnQoKHQ9PihmdW5jdGlvbiBlKHQpe3JldHVybiB0PjZlND82ZTQ6dD40ZTM/dDoyZTN9KSh0KSkpKSx0aGlzLmFjdGlvbnMkLnBpcGUoJFMoa1gpKSkpKSxXZSgoKCk9PnRoaXMuc3RvcmUuZGlzcGF0Y2goU1goKSkpKSxWdCgoKCk9Pnt9KSkpfW9uQ29yZVJlbG9hZCgpe3JldHVybiBwZSh0aGlzLmFjdGlvbnMkLnBpcGUoJFMoSkUsUUUpKSx0aGlzLmFjdGlvbnMkLnBpcGUoJFMoWkUpKS5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KE1LKSksdWUoKChbLHRdKT0+dC5zdGF0ZT09PVVFLk5PVF9MT0FERUR8fHQuc3RhdGU9PT1VRS5GQUlMRUQmJm51bGw9PT10Lmxhc3RMb2FkZWRUaW1lSW5NcykpKSkucGlwZShxZSh0aGlzLnN0b3JlLnNlbGVjdChlVCkpLHVlKCgoWyx0XSk9PnQ9PT1EJCkpLFdlKCgoKT0+dGhpcy5zdG9yZS5kaXNwYXRjaChTWCgpKSkpLFZ0KCgoKT0+e30pKSl9bG9hZERlYnVnZ2VyUnVucyh0KXtyZXR1cm4gdC5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KE1LKSksdWUoKChbLHtzdGF0ZTp0fV0pPT50IT09VUUuTE9BRElORykpLFdlKCgoKT0+dGhpcy5zdG9yZS5kaXNwYXRjaChEWCgpKSkpLCR0KCgoKT0+dGhpcy5kYXRhU291cmNlLmZldGNoUnVucygpLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKFJYKHtydW5zOnR9KSl9KSksVnQoKCgpPT57fSkpKSkpKX1jcmVhdGVOdW1FeGVjdXRpb25Mb2FkZXIodCl7cmV0dXJuIHQucGlwZShxZSh0aGlzLnN0b3JlLnNlbGVjdChDSyksdGhpcy5zdG9yZS5zZWxlY3QoQUspKSx1ZSgoKFssdCxlXSk9Pk9iamVjdC5rZXlzKHQpLmxlbmd0aD4wJiZlLnN0YXRlIT09VUUuTE9BRElORykpLFdlKCgoKT0+dGhpcy5zdG9yZS5kaXNwYXRjaChJWCgpKSkpLCR0KCgoWyx0XSk9Pntjb25zdCBlPU9iamVjdC5rZXlzKHQpWzBdO3JldHVybiB0aGlzLmRhdGFTb3VyY2UuZmV0Y2hFeGVjdXRpb25EaWdlc3RzKGUsMCwwKS5waXBlKFdlKCh0PT57dGhpcy5zdG9yZS5kaXNwYXRjaChIWCh7bnVtRXhlY3V0aW9uczp0Lm51bV9kaWdlc3RzfSkpfSkpLFZ0KCgoKT0+e30pKSl9KSkpfWNyZWF0ZU51bUdyYXBoRXhlY3V0aW9uTG9hZGVyKHQpe3JldHVybiB0LnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QoQ0spLHRoaXMuc3RvcmUuc2VsZWN0KEJLKSksdWUoKChbLHQsZV0pPT5PYmplY3Qua2V5cyh0KS5sZW5ndGg+MCYmZS5zdGF0ZSE9PVVFLkxPQURJTkcpKSxXZSgoKCk9PnRoaXMuc3RvcmUuZGlzcGF0Y2goR1goKSkpKSwkdCgoKFssdF0pPT57Y29uc3QgZT1PYmplY3Qua2V5cyh0KVswXTtyZXR1cm4gdGhpcy5kYXRhU291cmNlLmZldGNoR3JhcGhFeGVjdXRpb25EaWdlc3RzKGUsMCwwKS5waXBlKFdlKCh0PT57dGhpcy5zdG9yZS5kaXNwYXRjaChZWCh7bnVtR3JhcGhFeGVjdXRpb25zOnQubnVtX2RpZ2VzdHN9KSl9KSksVnQoKCgpPT57fSkpKX0pKSl9Y3JlYXRlTnVtQWxlcnRzQW5kQnJlYWtkb3duTG9hZGVyKHQpe3JldHVybiB0LnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QoQ0spLHRoaXMuc3RvcmUuc2VsZWN0KFBLKSksdWUoKChbLHQsZV0pPT5PYmplY3Qua2V5cyh0KS5sZW5ndGg+MCYmZS5zdGF0ZSE9PVVFLkxPQURJTkcpKSxXZSgoKCk9PnRoaXMuc3RvcmUuZGlzcGF0Y2goQVgoKSkpKSwkdCgoKFssdF0pPT57Y29uc3QgZT1PYmplY3Qua2V5cyh0KVswXTtyZXR1cm4gdGhpcy5kYXRhU291cmNlLmZldGNoQWxlcnRzKGUsMCwwKS5waXBlKFdlKCh0PT57dGhpcy5zdG9yZS5kaXNwYXRjaChUWCh7bnVtQWxlcnRzOnQubnVtX2FsZXJ0cyxhbGVydHNCcmVha2Rvd246dC5hbGVydHNfYnJlYWtkb3dufSkpfSkpLFZ0KCgoKT0+e30pKSl9KSkpfWNyZWF0ZUluaXRpYWxFeGVjdXRpb25EZXRlY3Rvcih0KXtyZXR1cm4gdC5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KE5LKSx0aGlzLnN0b3JlLnNlbGVjdChUSykpLHVlKCgoWyx0LGVdKT0+dD4wJiYwPT09T2JqZWN0LmtleXMoZS5wYWdlTG9hZGVkU2l6ZXMpLmxlbmd0aCkpLFZ0KCgoKT0+e30pKSl9Y3JlYXRlSW5pdGlhbEV4ZWN1dGlvbkRpZ2VzdCh0KXtyZXR1cm4gdC5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KE5LKSx0aGlzLnN0b3JlLnNlbGVjdCh2SyksdGhpcy5zdG9yZS5zZWxlY3QoSUspKSx1ZSgoKFssLHRdKT0+bnVsbCE9PXQpKSxWdCgoKFssdCxlLG5dKT0+KHtiZWdpbjowLGVuZDpNYXRoLm1pbih0LG4pLHJ1bklkOmV9KSkpKX1vbkV4ZWN1dGlvblNjcm9sbCgpe3JldHVybiB0aGlzLmFjdGlvbnMkLnBpcGUoJFMoQlgsVlgsalgpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KHZLKSx0aGlzLnN0b3JlLnNlbGVjdCh6SyksdGhpcy5zdG9yZS5zZWxlY3QoTkspLHRoaXMuc3RvcmUuc2VsZWN0KEhLKSx0aGlzLnN0b3JlLnNlbGVjdChJSykpLHVlKCgoW3RdKT0+bnVsbCE9PXQpKSxWdCgoKFssdCxlLG4sbyxpXSk9Pih7cnVuSWQ6dCxiZWdpbjplLGVuZDpNYXRoLm1pbihuLGUrbykscGFnZVNpemU6aX0pKSkscWUodGhpcy5zdG9yZS5zZWxlY3QoVEspKSxWdCgoKFt0LGVdKT0+KHtwcm9wczp0LGxvYWRlZDplLG1pc3NpbmdQYWdlczpSJCh0LmJlZ2luLHQuZW5kLHQucGFnZVNpemUsZS5udW1FeGVjdXRpb25zLGUucGFnZUxvYWRlZFNpemVzKX0pKSksdWUoKCh7bWlzc2luZ1BhZ2VzOnR9KT0+dC5sZW5ndGg+MCkpLFZ0KCgoe3Byb3BzOnQsbG9hZGVkOmUsbWlzc2luZ1BhZ2VzOm59KT0+e2NvbnN0e3J1bklkOm8scGFnZVNpemU6aX09dDtyZXR1cm57YmVnaW46blswXSppLGVuZDpNYXRoLm1pbihlLm51bUV4ZWN1dGlvbnMsKG5bbi5sZW5ndGgtMV0rMSkqaSkscnVuSWQ6b319KSkpfWNyZWF0ZUV4ZWN1dGlvbkRpZ2VzdExvYWRlcih0KXtyZXR1cm4gdC5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KFRLKSksdWUoKChbe2JlZ2luOnQsZW5kOmV9LG5dKT0+ZT50JiYhKGZ1bmN0aW9uIG8odCxlLG4pe2lmKGU+PW4pdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBiZWdpbiB0byBiZSBsZXNzIHRoYW4gZW5kLCBidXQgZ290IGJlZ2luPSR7ZX0sIGVuZD0ke259YCk7cmV0dXJuLTEhPT10LmZpbmRJbmRleCgodD0+dC5iZWdpbj49ZSYmdC5lbmQ8PW4pKX0pKG4ubG9hZGluZ1Jhbmdlcyx0LGUpKSksV2UoKChbe2JlZ2luOnQsZW5kOmV9XSk9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKEZYKHtiZWdpbjp0LGVuZDplfSkpfSkpLCR0KCgoW3tydW5JZDp0LGJlZ2luOmUsZW5kOm59XSk9PnRoaXMuZGF0YVNvdXJjZS5mZXRjaEV4ZWN1dGlvbkRpZ2VzdHModCxlLG4pLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKExYKHQpKX0pKSxWdCgoKCk9Pnt9KSkpKSkpfW9uRXhlY3V0aW9uRGlnZXN0Rm9jdXNlZCgpe3JldHVybiB0aGlzLmFjdGlvbnMkLnBpcGUoJFMoVVgpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KHZLKSx0aGlzLnN0b3JlLnNlbGVjdChpSiksdGhpcy5zdG9yZS5zZWxlY3QoekspKSxWdCgoKFt0LGUsbixvXSk9Pih7YWN0aXZlUnVuSWQ6ZSxsb2FkZWRFeGVjdXRpb25EYXRhOm4sZm9jdXNJbmRleDpvK3QuZGlzcGxheUluZGV4fSkpKSl9Y3JlYXRlRXhlY3V0aW9uRGF0YUFuZFN0YWNrRnJhbWVzTG9hZGVyKHQpe3JldHVybiB0LnBpcGUodWUoKCh7YWN0aXZlUnVuSWQ6dCxsb2FkZWRFeGVjdXRpb25EYXRhOmUsZm9jdXNJbmRleDpufSk9Pm51bGwhPT10JiZudWxsIT09biYmdm9pZCAwPT09ZVtuXSkpLCR0KCgoe2FjdGl2ZVJ1bklkOnQsZm9jdXNJbmRleDplfSk9Pntjb25zdCBuPWUsbz1uKzE7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5mZXRjaEV4ZWN1dGlvbkRhdGEodCxuLG8pLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKFdYKHQpKX0pKSxWdCgodD0+KHtleGVjdXRpb25EYXRhOnQsYmVnaW46bixlbmQ6b30pKSkpfSkpLFZ0KCgoe2V4ZWN1dGlvbkRhdGE6dH0pPT50LmV4ZWN1dGlvbnNbMF0pKSxxZSh0aGlzLnN0b3JlLnNlbGVjdCh2SyksdGhpcy5zdG9yZS5zZWxlY3QockopKSx1ZSgoKFt0LGUsbl0pPT57aWYobnVsbD09PWUpcmV0dXJuITE7Zm9yKGNvbnN0IGUgb2YgdC5zdGFja19mcmFtZV9pZHMpaWYodm9pZCAwPT09bltlXSlyZXR1cm4hMDtyZXR1cm4hMX0pKSwkdCgoKFt0LGVdKT0+e2NvbnN0IG49dC5zdGFja19mcmFtZV9pZHM7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5mZXRjaFN0YWNrRnJhbWVzKGUsbikucGlwZShXZSgodD0+e2NvbnN0IGU9e307Zm9yKGxldCBvPTA7bzxuLmxlbmd0aDsrK28pZVtuW29dXT10LnN0YWNrX2ZyYW1lc1tvXTt0aGlzLnN0b3JlLmRpc3BhdGNoKGFLKHtzdGFja0ZyYW1lczplfSkpfSkpLFZ0KCgoKT0+e30pKSl9KSkpfW9uR3JhcGhFeGVjdXRpb25TY3JvbGwoKXtyZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKCRTKFhYKSxDZSgxMDApLHFlKHRoaXMuc3RvcmUuc2VsZWN0KHZLKSx0aGlzLnN0b3JlLnNlbGVjdChWSyksdGhpcy5zdG9yZS5zZWxlY3QoakspKSx1ZSgoKFssdCxlXSk9Pm51bGwhPT10JiZlPjApKSxWdCgoKFssdCxlLG5dKT0+KHtydW5JZDp0LG51bUdyYXBoRXhlY3V0aW9uczplLHNjcm9sbEJlZ2luSW5kZXg6bn0pKSkscWUodGhpcy5zdG9yZS5zZWxlY3QoV0spLHRoaXMuc3RvcmUuc2VsZWN0KFVLKSx0aGlzLnN0b3JlLnNlbGVjdChHSyksdGhpcy5zdG9yZS5zZWxlY3QoWUspKSxWdCgoKFt7cnVuSWQ6dCxudW1HcmFwaEV4ZWN1dGlvbnM6ZSxzY3JvbGxCZWdpbkluZGV4Om59LG8saSxhLHJdKT0+e2xldCBzPVIkKG4sTWF0aC5taW4obitpLGUpLG8sZSxyKTtyZXR1cm4gcz1zLmZpbHRlcigodD0+LTE9PT1hLmluZGV4T2YodCkpKSx7cnVuSWQ6dCxtaXNzaW5nUGFnZXM6cyxwYWdlU2l6ZTpvLG51bUdyYXBoRXhlY3V0aW9uczplfX0pKSl9bG9hZEdyYXBoRXhlY3V0aW9uUGFnZXModCl7cmV0dXJuIHQucGlwZSh1ZSgoKHttaXNzaW5nUGFnZXM6dH0pPT50Lmxlbmd0aD4wKSksV2UoKCh7bWlzc2luZ1BhZ2VzOnR9KT0+e3QuZm9yRWFjaCgodD0+e3RoaXMuc3RvcmUuZGlzcGF0Y2gocVgoe3BhZ2VJbmRleDp0fSkpfSkpfSkpLCR0KCgoe3J1bklkOnQsbWlzc2luZ1BhZ2VzOmUscGFnZVNpemU6bixudW1HcmFwaEV4ZWN1dGlvbnM6b30pPT57Y29uc3QgaT1lWzBdKm4sYT1NYXRoLm1pbigoZVtlLmxlbmd0aC0xXSsxKSpuLG8pO3JldHVybiB0aGlzLmRhdGFTb3VyY2UuZmV0Y2hHcmFwaEV4ZWN1dGlvbkRhdGEodCxpLGEpLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKFpYKHQpKX0pKSxWdCgoKCk9Pnt9KSkpfSkpKX1sb2FkR3JhcGhPcEluZm8oKXtyZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKCRTKEpYLEtYKSxxZSh0aGlzLnN0b3JlLnNlbGVjdCh2SyksdGhpcy5zdG9yZS5zZWxlY3QoYUopKSx1ZSgoKFt0LGUsbl0pPT57Y29uc3R7Z3JhcGhfaWQ6byxvcF9uYW1lOml9PXQ7cmV0dXJuIShudWxsPT09ZXx8dm9pZCAwIT09bltvXSYmbltvXS5oYXMoaSkmJihuW29dLmdldChpKT09PVVFLkxPQURJTkd8fG5bb10uZ2V0KGkpPT09VUUuTE9BREVEKSl9KSksV2UoKChbe2dyYXBoX2lkOnQsb3BfbmFtZTplfV0pPT50aGlzLnN0b3JlLmRpc3BhdGNoKFFYKHtncmFwaF9pZDp0LG9wX25hbWU6ZX0pKSkpLCR0KCgoW3QsZV0pPT57Y29uc3R7Z3JhcGhfaWQ6bixvcF9uYW1lOm99PXQ7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5mZXRjaEdyYXBoT3BJbmZvKGUsbixvKS5waXBlKFdlKCh0PT50aGlzLnN0b3JlLmRpc3BhdGNoKCRYKHtncmFwaE9wSW5mb1Jlc3BvbnNlOnR9KSkpKSxWdCgodD0+KHtydW5JZDplLHN0YWNrRnJhbWVJZHM6dC5zdGFja19mcmFtZV9pZHN9KSkpKX0pKSl9bG9hZEdyYXBoT3BTdGFja0ZyYW1lcyh0KXtyZXR1cm4gdC5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KHJKKSksVnQoKChbe3J1bklkOnQsc3RhY2tGcmFtZUlkczplfSxuXSk9Pih7cnVuSWQ6dCxtaXNzaW5nU3RhY2tGcmFtZUlkczplLmZpbHRlcigodD0+dm9pZCAwPT09blt0XSkpfSkpKSx1ZSgoKHtydW5JZDp0LG1pc3NpbmdTdGFja0ZyYW1lSWRzOmV9KT0+bnVsbCE9PXQmJmUubGVuZ3RoPjApKSwkdCgoKHtydW5JZDp0LG1pc3NpbmdTdGFja0ZyYW1lSWRzOmV9KT0+dGhpcy5kYXRhU291cmNlLmZldGNoU3RhY2tGcmFtZXModCxlKS5waXBlKFdlKCh0PT57Y29uc3Qgbj17fTtmb3IobGV0IG89MDtvPGUubGVuZ3RoOysrbyluW2Vbb11dPXQuc3RhY2tfZnJhbWVzW29dO3RoaXMuc3RvcmUuZGlzcGF0Y2goYUsoe3N0YWNrRnJhbWVzOm59KSl9KSksVnQoKCgpPT57fSkpKSkpKX1vbkFsZXJ0VHlwZUZvY3VzZWQoKXtyZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKCRTKHpYKSxxZSh0aGlzLnN0b3JlLnNlbGVjdCh2SyksdGhpcy5zdG9yZS5zZWxlY3Qoa0spLHRoaXMuc3RvcmUuc2VsZWN0KFNLKSx0aGlzLnN0b3JlLnNlbGVjdChESyksdGhpcy5zdG9yZS5zZWxlY3QoUEspKSx1ZSgoKFssdCxlLG4sbyxpXSk9Pm51bGwhPT10JiZudWxsIT09ZSYmbj4wJiYobnVsbD09PW98fE9iamVjdC5rZXlzKG8pLmxlbmd0aDxuKSYmaS5zdGF0ZSE9PVVFLkxPQURJTkcpKSxXZSgoKCk9PnRoaXMuc3RvcmUuZGlzcGF0Y2goQVgoKSkpKSwkdCgoKFssdCxlXSk9PnRoaXMuZGF0YVNvdXJjZS5mZXRjaEFsZXJ0cyh0LDAsLTEsZSkpKSxXZSgoKHtudW1fYWxlcnRzOnQsYWxlcnRzX2JyZWFrZG93bjplLGFsZXJ0X3R5cGU6bixiZWdpbjpvLGVuZDppLGFsZXJ0czphfSk9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKE5YKHtudW1BbGVydHM6dCxhbGVydHNCcmVha2Rvd246ZSxhbGVydFR5cGU6bixiZWdpbjpvLGVuZDppLGFsZXJ0czphfSkpfSkpKX1mZXRjaEV4ZWN1dGlvbkRpZ2VzdHNGb3JBbGVydFR5cGVGb2N1cyh0KXtyZXR1cm4gdC5waXBlKHFlKHRoaXMuc3RvcmUuc2VsZWN0KElLKSx0aGlzLnN0b3JlLnNlbGVjdChISyksdGhpcy5zdG9yZS5zZWxlY3QoTkspLHRoaXMuc3RvcmUuc2VsZWN0KFRLKSx0aGlzLnN0b3JlLnNlbGVjdCh2SykpLFZ0KCgoW3QsZSxuLG8saSxhXSk9Pntjb25zdCByPXQuYWxlcnRzWzBdLmV4ZWN1dGlvbl9pbmRleCxzPVIkKE1hdGgubWF4KDAsci1NYXRoLmZsb29yKG4vMikpLE1hdGgubWluKHIrTWF0aC5mbG9vcihuLzIpLG8pLGUsbyxpLnBhZ2VMb2FkZWRTaXplcyk7aWYoMD09PXMubGVuZ3RoKXJldHVybntydW5JZDphLGJlZ2luOjAsZW5kOjB9O3JldHVybntydW5JZDphLGJlZ2luOnNbMF0qZSxlbmQ6TWF0aC5taW4oaS5udW1FeGVjdXRpb25zLChzW3MubGVuZ3RoLTFdKzEpKmUpfX0pKSl9bG9hZFNvdXJjZUZpbGVMaXN0KHQpe3JldHVybiB0LnBpcGUocWUodGhpcy5zdG9yZS5zZWxlY3QodkspLHRoaXMuc3RvcmUuc2VsZWN0KHBKKSksdWUoKChbLHQsZV0pPT5udWxsIT09dCYmZS5zdGF0ZSE9PVVFLkxPQURJTkcpKSxXZSgoKCk9PnRoaXMuc3RvcmUuZGlzcGF0Y2godEsoKSkpKSwkdCgoKFssdF0pPT50aGlzLmRhdGFTb3VyY2UuZmV0Y2hTb3VyY2VGaWxlTGlzdCh0KS5waXBlKFdlKCh0PT57Y29uc3QgZT1bXTt0LmZvckVhY2goKChbdCxuXSk9PntlLnB1c2goe2hvc3RfbmFtZTp0LGZpbGVfcGF0aDpufSl9KSksdGhpcy5zdG9yZS5kaXNwYXRjaChlSyh7c291cmNlRmlsZXM6ZX0pKX0pKSxWdCgoKCk9Pnt9KSkpKSkpfW9uU291cmNlRmlsZUZvY3VzZWQoKXtyZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKCRTKG5LKSxxZSh0aGlzLnN0b3JlLnNlbGVjdCh2SyksdGhpcy5zdG9yZS5zZWxlY3QobUopLHRoaXMuc3RvcmUuc2VsZWN0KGZKKSksVnQoKChbdCxlLG4sb10pPT4oe3J1bklkOmUsc3RhY2tGcmFtZTp0LnN0YWNrRnJhbWUsZmlsZUluZGV4Om4sZmlsZUNvbnRlbnQ6b30pKSksdWUoKCh7cnVuSWQ6dCxmaWxlQ29udGVudDplfSk9Pm51bGwhPT10JiZudWxsIT09ZSYmZS5sb2FkU3RhdGU9PT1VRS5OT1RfTE9BREVEKSksV2UoKCh7c3RhY2tGcmFtZTp0fSk9PnRoaXMuc3RvcmUuZGlzcGF0Y2gob0soe2hvc3RfbmFtZTp0Lmhvc3RfbmFtZSxmaWxlX3BhdGg6dC5maWxlX3BhdGh9KSkpKSwkdCgoKHtmaWxlSW5kZXg6dCxydW5JZDplfSk9PnRoaXMuZGF0YVNvdXJjZS5mZXRjaFNvdXJjZUZpbGUoZSx0KS5waXBlKFdlKCh0PT57dGhpcy5zdG9yZS5kaXNwYXRjaChpSyh0KSl9KSksVnQoKCgpPT57fSkpKSkpKX19RSQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEUkKShUcihRUyksVHIoaVMpLFRyKHZYKSl9LEUkLsm1cHJvdj1Tbih7dG9rZW46RSQsZmFjdG9yeTpFJC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRSQsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlFTfSx7dHlwZTppU30se3R5cGU6dlh9XX0pLG51bGwpO2NsYXNzIEEke31BJC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QSQpfSxBJC7JtW1vZD1mbyh7dHlwZTpBJH0pLEEkLsm1aW5qPURuKHtpbXBvcnRzOltbcnhdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQSQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3lKLENKXSxpbXBvcnRzOltyeF0sZXhwb3J0czpbQ0pdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oQSQse2RlY2xhcmF0aW9uczpbeUosQ0pdLGltcG9ydHM6W3J4XSxleHBvcnRzOltDSl19KTtjbGFzcyBUJHt9VCQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFQkKX0sVCQuybVtb2Q9Zm8oe3R5cGU6VCR9KSxUJC7JtWluaj1Ebih7aW1wb3J0czpbW3J4XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFQkLFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOlt6USxPUSxJUV0saW1wb3J0czpbcnhdLGV4cG9ydHM6W0lRXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFQkLHtkZWNsYXJhdGlvbnM6W3pRLE9RLElRXSxpbXBvcnRzOltyeF0sZXhwb3J0czpbSVFdfSk7Y2xhc3MgTiR7fU4kLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxOJCl9LE4kLsm1bW9kPWZvKHt0eXBlOk4kfSksTiQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihOJCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbWEosJEosUUosS0osSkosdFFdLGltcG9ydHM6W3J4XSxleHBvcnRzOlt0UV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhOJCx7ZGVjbGFyYXRpb25zOltYSiwkSixRSixLSixKSix0UV0saW1wb3J0czpbcnhdLGV4cG9ydHM6W3RRXX0pO2NsYXNzIHoke316JC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eiQpfSx6JC7JtW1vZD1mbyh7dHlwZTp6JH0pLHokLsm1aW5qPURuKHtpbXBvcnRzOltbcngsTiQsaUJdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeiQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W0dRLFlRXSxpbXBvcnRzOltyeCxOJCxpQl0sZXhwb3J0czpbWVFdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oeiQse2RlY2xhcmF0aW9uczpbR1EsWVFdLGltcG9ydHM6W3J4LE4kLGlCXSxleHBvcnRzOltZUV19KTtjbGFzcyBJJHt9SSQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEkkKX0sSSQuybVtb2Q9Zm8oe3R5cGU6SSR9KSxJJC7JtWluaj1Ebih7fSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihJJCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbT1gsUFhdLGV4cG9ydHM6W1BYXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEkkLHtkZWNsYXJhdGlvbnM6W09YLFBYXSxleHBvcnRzOltQWF19KTtjbGFzcyBIJHt9SCQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEgkKX0sSCQuybVtb2Q9Zm8oe3R5cGU6SCR9KSxIJC7JtWluaj1Ebih7fSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihIJCxbe3R5cGU6TF8sYXJnczpbe2V4cG9ydHM6WyRRXSxkZWNsYXJhdGlvbnM6WyRRXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEgkLHtkZWNsYXJhdGlvbnM6WyRRXSxleHBvcnRzOlskUV19KTtjb25zdCBGJD1bImNvZGVWaWV3ZXJDb250YWluZXIiXTtjbGFzcyBMJHtjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyc3RUZXh0PW51bGwsdGhpcy5zZWNvbmRUZXh0PW51bGwsdGhpcy5yZW5kZXJTaWRlQnlTaWRlPSEwLHRoaXMubW9uYWNvPW51bGwsdGhpcy5lZGl0b3I9bnVsbCx0aGlzLlJFU0laRV9ERUJPVU5DRV9JTlRFUlZBTF9NUz01MH1vblJlc2l6ZSgpe3RoaXMuZWRpdG9yJiZ0aGlzLmVkaXRvci5sYXlvdXQoKX1uZ09uQ2hhbmdlcyh0KXtpZighdGhpcy5tb25hY28pcmV0dXJuO2NvbnN0IGU9IXRoaXMuZWRpdG9yO2UmJih0aGlzLmVkaXRvcj10aGlzLm1vbmFjby5lZGl0b3IuY3JlYXRlRGlmZkVkaXRvcih0aGlzLmNvZGVWaWV3ZXJDb250YWluZXIubmF0aXZlRWxlbWVudCx7cmVhZE9ubHk6ITAsZm9udFNpemU6MTAsbWluaW1hcDp7ZW5hYmxlZDohMH0scmVuZGVyU2lkZUJ5U2lkZTp0aGlzLnJlbmRlclNpZGVCeVNpZGUsdGhlbWU6UVEodGhpcy51c2VEYXJrTW9kZSl9KSksKGV8fHQuZmlyc3RUZXh0fHx0LnNlY29uZFRleHQpJiZ0aGlzLmVkaXRvci5zZXRNb2RlbCh7b3JpZ2luYWw6dGhpcy5tb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMuZmlyc3RUZXh0fHwiIiksbW9kaWZpZWQ6dGhpcy5tb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMuc2Vjb25kVGV4dHx8IiIpfSksdC5yZW5kZXJTaWRlQnlTaWRlJiZ0aGlzLmVkaXRvci51cGRhdGVPcHRpb25zKHtyZW5kZXJTaWRlQnlTaWRlOnRoaXMucmVuZGVyU2lkZUJ5U2lkZX0pLHQudXNlRGFya01vZGUmJnRoaXMubW9uYWNvLmVkaXRvci5zZXRUaGVtZShRUSh0aGlzLnVzZURhcmtNb2RlKSl9fUwkLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxMJCl9LEwkLsm1Y21wPXNvKHt0eXBlOkwkLHNlbGVjdG9yczpbWyJzb3VyY2UtY29kZS1kaWZmLWNvbXBvbmVudCJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkoRiQsNyxLaCksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5jb2RlVmlld2VyQ29udGFpbmVyPXQuZmlyc3QpfX0saW5wdXRzOntmaXJzdFRleHQ6ImZpcnN0VGV4dCIsc2Vjb25kVGV4dDoic2Vjb25kVGV4dCIscmVuZGVyU2lkZUJ5U2lkZToicmVuZGVyU2lkZUJ5U2lkZSIsbW9uYWNvOiJtb25hY28iLHVzZURhcmtNb2RlOiJ1c2VEYXJrTW9kZSJ9LGZlYXR1cmVzOltxb10sZGVjbHM6Mix2YXJzOjEsY29uc3RzOltbImRldGVjdFJlc2l6ZSIsIiIsMSwiY29kZS12aWV3ZXItY29udGFpbmVyIiwzLCJyZXNpemVFdmVudERlYm91bmNlUGVyaW9kSW5NcyIsIm9uUmVzaXplIl0sWyJjb2RlVmlld2VyQ29udGFpbmVyIiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDAsMSksUmYoIm9uUmVzaXplIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUmVzaXplKCl9KSksTWYoKSksMiZlJiZiZigicmVzaXplRXZlbnREZWJvdW5jZVBlcmlvZEluTXMiLG4uUkVTSVpFX0RFQk9VTkNFX0lOVEVSVkFMX01TKX0sZGlyZWN0aXZlczpbJFFdLHN0eWxlczpbIi5jb2RlLXZpZXdlci1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfSJdLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihMJCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJzb3VyY2UtY29kZS1kaWZmLWNvbXBvbmVudCIsdGVtcGxhdGU6J1xuICAgIDxkaXZcbiAgICAgICNjb2RlVmlld2VyQ29udGFpbmVyXG4gICAgICBjbGFzcz0iY29kZS12aWV3ZXItY29udGFpbmVyIlxuICAgICAgZGV0ZWN0UmVzaXplXG4gICAgICBbcmVzaXplRXZlbnREZWJvdW5jZVBlcmlvZEluTXNdPSJSRVNJWkVfREVCT1VOQ0VfSU5URVJWQUxfTVMiXG4gICAgICAob25SZXNpemUpPSJvblJlc2l6ZSgpIlxuICAgID48L2Rpdj5cbiAgJyxzdHlsZXM6WyJcbiAgICAgIC5jb2RlLXZpZXdlci1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7Zmlyc3RUZXh0Olt7dHlwZTpSX31dLHNlY29uZFRleHQ6W3t0eXBlOlJffV0scmVuZGVyU2lkZUJ5U2lkZTpbe3R5cGU6Ul99XSxtb25hY286W3t0eXBlOlJffV0sdXNlRGFya01vZGU6W3t0eXBlOlJffV0sY29kZVZpZXdlckNvbnRhaW5lcjpbe3R5cGU6YXIsYXJnczpbImNvZGVWaWV3ZXJDb250YWluZXIiLHtzdGF0aWM6ITAscmVhZDpLaH1dfV19KTtjbGFzcyBCJHtjb25zdHJ1Y3Rvcigpe3RoaXMuZmlyc3RUZXh0PW51bGwsdGhpcy5zZWNvbmRUZXh0PW51bGwsdGhpcy5yZW5kZXJTaWRlQnlTaWRlPSEwLHRoaXMudXNlRGFya01vZGU9ITEsdGhpcy5tb25hY28kPW51bGx9bmdPbkluaXQoKXt0aGlzLm1vbmFjbyQ9UHQoSlEoKSkucGlwZShWdCgoKCk9PndpbmRvdy5tb25hY28pKSl9fUIkLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxCJCl9LEIkLsm1Y21wPXNvKHt0eXBlOkIkLHNlbGVjdG9yczpbWyJzb3VyY2UtY29kZS1kaWZmIl1dLGlucHV0czp7Zmlyc3RUZXh0OiJmaXJzdFRleHQiLHNlY29uZFRleHQ6InNlY29uZFRleHQiLHJlbmRlclNpZGVCeVNpZGU6InJlbmRlclNpZGVCeVNpZGUiLHVzZURhcmtNb2RlOiJ1c2VEYXJrTW9kZSJ9LGRlY2xzOjIsdmFyczo3LGNvbnN0czpbWzMsImZpcnN0VGV4dCIsInNlY29uZFRleHQiLCJyZW5kZXJTaWRlQnlTaWRlIiwibW9uYWNvIiwidXNlRGFya01vZGUiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsInNvdXJjZS1jb2RlLWRpZmYtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpKSwyJmUmJmJmKCJmaXJzdFRleHQiLG4uZmlyc3RUZXh0KSgic2Vjb25kVGV4dCIsbi5zZWNvbmRUZXh0KSgicmVuZGVyU2lkZUJ5U2lkZSIsbi5yZW5kZXJTaWRlQnlTaWRlKSgibW9uYWNvIixDeSgxLDUsbi5tb25hY28kKSkoInVzZURhcmtNb2RlIixuLnVzZURhcmtNb2RlKX0sZGlyZWN0aXZlczpbTCRdLHBpcGVzOltWdl0sc3R5bGVzOlsic291cmNlLWNvZGUtZGlmZi1jb21wb25lbnRbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQiQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic291cmNlLWNvZGUtZGlmZiIsdGVtcGxhdGU6J1xuICAgIDxzb3VyY2UtY29kZS1kaWZmLWNvbXBvbmVudFxuICAgICAgW2ZpcnN0VGV4dF09ImZpcnN0VGV4dCJcbiAgICAgIFtzZWNvbmRUZXh0XT0ic2Vjb25kVGV4dCJcbiAgICAgIFtyZW5kZXJTaWRlQnlTaWRlXT0icmVuZGVyU2lkZUJ5U2lkZSJcbiAgICAgIFttb25hY29dPSJtb25hY28kIHwgYXN5bmMiXG4gICAgICBbdXNlRGFya01vZGVdPSJ1c2VEYXJrTW9kZSJcbiAgICA+PC9zb3VyY2UtY29kZS1kaWZmLWNvbXBvbmVudD5cbiAgJyxzdHlsZXM6WyJcbiAgICAgIHNvdXJjZS1jb2RlLWRpZmYtY29tcG9uZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtmaXJzdFRleHQ6W3t0eXBlOlJffV0sc2Vjb25kVGV4dDpbe3R5cGU6Ul99XSxyZW5kZXJTaWRlQnlTaWRlOlt7dHlwZTpSX31dLHVzZURhcmtNb2RlOlt7dHlwZTpSX31dfSk7Y2xhc3MgViR7fVYkLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxWJCl9LFYkLsm1bW9kPWZvKHt0eXBlOlYkfSksViQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxIJF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWJCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbZSQsbiQsTCQsQiRdLGltcG9ydHM6W3J4LEgkXSxleHBvcnRzOltuJCxCJF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhWJCx7ZGVjbGFyYXRpb25zOltlJCxuJCxMJCxCJF0saW1wb3J0czpbcngsSCRdLGV4cG9ydHM6W24kLEIkXX0pO2NsYXNzIGoke31qJC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8aiQpfSxqJC7JtW1vZD1mbyh7dHlwZTpqJH0pLGokLsm1aW5qPURuKHtpbXBvcnRzOltbcngsViRdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaiQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3IkLHMkXSxpbXBvcnRzOltyeCxWJF0sZXhwb3J0czpbcyRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oaiQse2RlY2xhcmF0aW9uczpbciQscyRdLGltcG9ydHM6W3J4LFYkXSxleHBvcnRzOltzJF19KTtjbGFzcyBVJHt9VSQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFUkKX0sVSQuybVtb2Q9Zm8oe3R5cGU6VSR9KSxVJC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LFYkXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFUkLFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOlt4JCxPJF0saW1wb3J0czpbcngsViRdLGV4cG9ydHM6W08kXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFUkLHtkZWNsYXJhdGlvbnM6W3gkLE8kXSxpbXBvcnRzOltyeCxWJF0sZXhwb3J0czpbTyRdfSk7Y2xhc3MgVyR7fVckLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxXJCl9LFckLsm1bW9kPWZvKHt0eXBlOlckfSksVyQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxOJF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihXJCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbclEsbFFdLGltcG9ydHM6W3J4LE4kXSxleHBvcnRzOltsUV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhXJCx7ZGVjbGFyYXRpb25zOltyUSxsUV0saW1wb3J0czpbcngsTiRdLGV4cG9ydHM6W2xRXX0pO2NsYXNzIEcke31HJC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RyQpfSxHJC7JtW1vZD1mbyh7dHlwZTpHJH0pLEckLsm1aW5qPURuKHtpbXBvcnRzOltbcngsVyQsSUwsUkpdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRyQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W2dRLGJRXSxpbXBvcnRzOltyeCxXJCxJTCxSSl0sZXhwb3J0czpbYlFdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oRyQse2RlY2xhcmF0aW9uczpbZ1EsYlFdLGltcG9ydHM6W3J4LFckLElMLFJKXSxleHBvcnRzOltiUV19KTtjbGFzcyBZJHt9ZnVuY3Rpb24gcSQodCxlKXtjb25zdCBuPXt9O2Zvcihjb25zdCBvIG9mIE9iamVjdC5rZXlzKHQpKXtuW29dPWUodFtvXSxvKX1yZXR1cm4gbn1mdW5jdGlvbiBaJCh0KXtjb25zdCBlPW5ldyBNYXAsbj10LnNsaWNlKCkuc29ydCgoKHQsZSk9PlgkKHQudGFnLGUudGFnKSkpO2Zvcihjb25zdCB0IG9mIG4pe2NvbnN0IG49dC50YWcuc3BsaXQoIi8iLDEpWzBdO2UuaGFzKG4pfHxlLnNldChuLHtncm91cE5hbWU6bixpdGVtczpbXX0pLGUuZ2V0KG4pLml0ZW1zLnB1c2godCl9cmV0dXJuWy4uLmUudmFsdWVzKCldfWZ1bmN0aW9uIFgkKHQsZSl7bGV0IG49MCxvPTA7Zm9yKDs7KXtpZihuPT09dC5sZW5ndGgpcmV0dXJuIG89PT1lLmxlbmd0aD8wOi0xO2lmKG89PT1lLmxlbmd0aClyZXR1cm4gMTtpZihKJCh0W25dKSYmSiQoZVtvXSkpe2NvbnN0IGk9bixhPW87bj1LJCh0LG4rMSksbz1LJChlLG8rMSk7Y29uc3Qgcj1OdW1iZXIodC5zbGljZShpLG4pKSxzPU51bWJlcihlLnNsaWNlKGEsbykpO2lmKHI8cylyZXR1cm4tMTtpZihyPnMpcmV0dXJuIDF9ZWxzZXtpZihRJCh0W25dKSl7aWYoIVEkKGVbb10pKXJldHVybi0xfWVsc2V7aWYoUSQoZVtvXSkpcmV0dXJuIDE7aWYodFtuXTxlW29dKXJldHVybi0xO2lmKHRbbl0+ZVtvXSlyZXR1cm4gMX1uKyssbysrfX19ZnVuY3Rpb24gSyQodCxlKXtsZXQgbjshKGZ1bmN0aW9uKHQpe3RbdC5OQVRVUkFMPTBdPSJOQVRVUkFMIix0W3QuUkVBTD0xXT0iUkVBTCIsdFt0LkVYUE9ORU5UX1NJR049Ml09IkVYUE9ORU5UX1NJR04iLHRbdC5FWFBPTkVOVD0zXT0iRVhQT05FTlQifSkobnx8KG49e30pKTtsZXQgbz1uLk5BVFVSQUwsaT1lO2Zvcig7aTx0Lmxlbmd0aDtpKyspaWYobz09PW4uTkFUVVJBTCl7aWYoIi4iPT09dFtpXSlvPW4uUkVBTDtlbHNlIGlmKCJlIj09PXRbaV18fCJFIj09PXRbaV0pbz1uLkVYUE9ORU5UX1NJR047ZWxzZSBpZighSiQodFtpXSkpYnJlYWt9ZWxzZSBpZihvPT09bi5SRUFMKXtpZigiZSI9PT10W2ldfHwiRSI9PT10W2ldKW89bi5FWFBPTkVOVF9TSUdOO2Vsc2UgaWYoIUokKHRbaV0pKWJyZWFrfWVsc2UgaWYobz09PW4uRVhQT05FTlRfU0lHTil7aWYoIUokKHRbaV0pJiYiKyIhPT10W2ldJiYiLSIhPT10W2ldKWJyZWFrO289bi5FWFBPTkVOVH1lbHNlIGlmKG89PT1uLkVYUE9ORU5UJiYhSiQodFtpXSkpYnJlYWs7cmV0dXJuIGl9ZnVuY3Rpb24gSiQodCl7cmV0dXJuIjAiPD10JiZ0PD0iOSJ9ZnVuY3Rpb24gUSQodCl7cmV0dXJuIi8iPT09dHx8SiQodCl9ZnVuY3Rpb24gJCQodCxlLG4pe2NvbnN0e3BsdWdpbjpvLHRhZzppLHJ1bklkOmEsc2FtcGxlOnJ9PWVbdF0scz1GTihuLG8saSxyKTtpZihzKXtpZihudWxsIT09YSYmcy5ydW5Ub1Nlcmllcy5oYXNPd25Qcm9wZXJ0eShhKSl7Y29uc3QgdD1zLnJ1blRvU2VyaWVzW2FdLmxlbmd0aDtyZXR1cm4gdD4wP3QtMTpudWxsfWNvbnN0IHQ9T2JqZWN0LnZhbHVlcyhzLnJ1blRvU2VyaWVzKS5tYXAoKHQ9PnQubGVuZ3RoKSk7aWYodC5sZW5ndGgpcmV0dXJuIE1hdGgubWF4KC4uLnQpLTF9cmV0dXJuIG51bGx9ZnVuY3Rpb24gdDAodCxlLG4sbyl7Y29uc3QgaT1PYmplY3QuYXNzaWduKHt9LGUpO2Zvcihjb25zdCBhIGluIHQpe2lmKCF0Lmhhc093blByb3BlcnR5KGEpKWNvbnRpbnVlO2NvbnN0IHI9JCQoYSx0LG4pO2lmKG51bGw9PT1yKXtlLmhhc093blByb3BlcnR5KGEpJiYoaVthXT1udWxsKTtjb250aW51ZX1jb25zdCBzPWUuaGFzT3duUHJvcGVydHkoYSk/ZVthXTpudWxsLGw9JCQoYSx0LG8pLGM9bnVsbCE9PXMmJnM9PT1sLGQ9bnVsbD09PXN8fGM7KG51bGwhPT1zJiZzPnJ8fGQpJiYoaVthXT1yKX1yZXR1cm4gaX1mdW5jdGlvbiBlMCh0KXtjb25zdCBlPXEkKHQucnVuVG9Mb2FkU3RhdGUsKHQ9PnQ9PT1VRS5MT0FESU5HP1VFLkxPQURJTkc6VUUuTk9UX0xPQURFRCkpO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3J1blRvTG9hZFN0YXRlOmV9KX1mdW5jdGlvbiBuMCh0LGUsbixvKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoW3QsZSxufHwiIixvXSl9WSQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFkkKX0sWSQuybVtb2Q9Zm8oe3R5cGU6WSR9KSxZJC7JtWluaj1Ebih7aW1wb3J0czpbW0EkLHJ4LGRULHokLFQkLEkkLGokLFUkLHhYLEckLFRTLmZvckZlYXR1cmUocksseUspLGhELmZvckZlYXR1cmUoW0UkXSksTVguZm9yUGx1Z2luKEQkLFMkKV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihZJCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbayQsUyRdLGltcG9ydHM6W0EkLHJ4LGRULHokLFQkLEkkLGokLFUkLHhYLEckLFRTLmZvckZlYXR1cmUocksseUspLGhELmZvckZlYXR1cmUoW0UkXSksTVguZm9yUGx1Z2luKEQkLFMkKV0sZXhwb3J0czpbUyRdLGVudHJ5Q29tcG9uZW50czpbUyRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oWSQse2RlY2xhcmF0aW9uczpbayQsUyRdLGltcG9ydHM6W0EkLHJ4LGRULHokLFQkLEkkLGokLFUkLHhYLEckLEFTLGdELE1YXSxleHBvcnRzOltTJF19KTtjb25zdHtpbml0aWFsU3RhdGU6bzAscmVkdWNlcnM6aTB9PWNBKHt0YWdNZXRhZGF0YUxvYWRTdGF0ZTp7c3RhdGU6VUUuTk9UX0xPQURFRCxsYXN0TG9hZGVkVGltZUluTXM6bnVsbH0sdGFnTWV0YWRhdGE6e3NjYWxhcnM6e3RhZ0Rlc2NyaXB0aW9uczp7fSx0YWdUb1J1bnM6e319LGhpc3RvZ3JhbXM6e3RhZ0Rlc2NyaXB0aW9uczp7fSx0YWdUb1J1bnM6e319LGltYWdlczp7dGFnRGVzY3JpcHRpb25zOnt9LHRhZ1J1blNhbXBsZWRJbmZvOnt9fX0sY2FyZExpc3Q6W10sY2FyZFRvUGlubmVkQ29weTpuZXcgTWFwLHBpbm5lZENhcmRUb09yaWdpbmFsOm5ldyBNYXAsdW5yZXNvbHZlZEltcG9ydGVkUGlubmVkQ2FyZHM6W10sY2FyZE1ldGFkYXRhTWFwOnt9LGNhcmRTdGVwSW5kZXg6e30sdGFnRmlsdGVyOiIiLHRhZ0dyb3VwRXhwYW5kZWQ6bmV3IE1hcCxzZWxlY3RlZFRpbWU6bnVsbCxzZWxlY3RUaW1lRW5hYmxlZDohMSx1c2VSYW5nZVNlbGVjdFRpbWU6ITEsZmlsdGVyZWRQbHVnaW5UeXBlczpuZXcgU2V0LHN0ZXBNaW5NYXg6e21pbjoxLzAsbWF4Oi0xLzB9fSx7aXNTZXR0aW5nc1BhbmVPcGVuOiEwLHByb21vdGVUaW1lU2VyaWVzOiEwLHRpbWVTZXJpZXNEYXRhOntzY2FsYXJzOnt9LGhpc3RvZ3JhbXM6e30saW1hZ2VzOnt9fSxzZXR0aW5nczpYTixzZXR0aW5nT3ZlcnJpZGVzOnt9LHZpc2libGVDYXJkTWFwOm5ldyBNYXB9LCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3RhZ01ldGFkYXRhTG9hZFN0YXRlOntzdGF0ZTpVRS5OT1RfTE9BREVELGxhc3RMb2FkZWRUaW1lSW5NczpudWxsfSx2aXNpYmxlQ2FyZE1hcDpuZXcgTWFwfSkpKSxhMD1vMCxyMD1WUyhvMCxCUyhLRCwoKHQse3JvdXRlS2luZDplLHBhcnRpYWxTdGF0ZTpufSk9PntpZihlIT09X0QuRVhQRVJJTUVOVCYmZSE9PV9ELkNPTVBBUkVfRVhQRVJJTUVOVClyZXR1cm4gdDtjb25zdCBvPW5ldyBTZXQ7Zm9yKGNvbnN0IGUgb2YgdC5waW5uZWRDYXJkVG9PcmlnaW5hbC5rZXlzKCkpe2NvbnN0e3BsdWdpbjpuLHRhZzppLHJ1bklkOmEsc2FtcGxlOnJ9PXQuY2FyZE1ldGFkYXRhTWFwW2VdO28uYWRkKG4wKG4saSxhLHIpKX1jb25zdCBpPW4sYT1bXTtmb3IoY29uc3QgZSBvZlsuLi50LnVucmVzb2x2ZWRJbXBvcnRlZFBpbm5lZENhcmRzLC4uLmkubWV0cmljcy5waW5uZWRDYXJkc10pe2NvbnN0IHQ9bjAoZS5wbHVnaW4sZS50YWcsZS5ydW5JZCxlLnNhbXBsZSk7by5oYXModCl8fChvLmFkZCh0KSxhLnB1c2goZSkpfWNvbnN0IHI9V04oYSx0LmNhcmRMaXN0LHQuY2FyZE1ldGFkYXRhTWFwLHQuY2FyZFRvUGlubmVkQ29weSx0LnBpbm5lZENhcmRUb09yaWdpbmFsLHQuY2FyZFN0ZXBJbmRleCkscz1pLm1ldHJpY3Muc21vb3RoaW5nO2xldCBsPXQuc2V0dGluZ092ZXJyaWRlcztpZihOdW1iZXIuaXNGaW5pdGUocykmJm51bGwhPT1zKXtjb25zdCBlPU1hdGgubWF4KDAsTWF0aC5taW4oLjk5OSxOdW1iZXIocy50b1ByZWNpc2lvbigzKSkpKTtsPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNldHRpbmdPdmVycmlkZXMpLHtzY2FsYXJTbW9vdGhpbmc6ZX0pfWNvbnN0IGM9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkscikse3NldHRpbmdPdmVycmlkZXM6bH0pO3JldHVybiBudWxsIT09aS5tZXRyaWNzLnRhZ0ZpbHRlciYmKGMudGFnRmlsdGVyPWkubWV0cmljcy50YWdGaWx0ZXIpLGN9KSksQlMocVIsKCh0LHtwYXJ0aWFsU2V0dGluZ3M6ZX0pPT57dmFyIG47Y29uc3Qgbz17fTtpZihlLnRvb2x0aXBTb3J0U3RyaW5nKXN3aXRjaChlLnRvb2x0aXBTb3J0U3RyaW5nKXtjYXNlIEpULkRFRkFVTFQ6Y2FzZSBKVC5BTFBIQUJFVElDQUw6by50b29sdGlwU29ydD1KVC5BTFBIQUJFVElDQUw7YnJlYWs7Y2FzZSBKVC5BU0NFTkRJTkc6by50b29sdGlwU29ydD1KVC5BU0NFTkRJTkc7YnJlYWs7Y2FzZSBKVC5ERVNDRU5ESU5HOm8udG9vbHRpcFNvcnQ9SlQuREVTQ0VORElORzticmVhaztjYXNlIEpULk5FQVJFU1Q6by50b29sdGlwU29ydD1KVC5ORUFSRVNUfSJudW1iZXIiPT10eXBlb2YgZS50aW1lU2VyaWVzQ2FyZE1pbldpZHRoJiYoby5jYXJkTWluV2lkdGg9ZS50aW1lU2VyaWVzQ2FyZE1pbldpZHRoKSwiYm9vbGVhbiI9PXR5cGVvZiBlLmlnbm9yZU91dGxpZXJzJiYoby5pZ25vcmVPdXRsaWVycz1lLmlnbm9yZU91dGxpZXJzKSwibnVtYmVyIj09dHlwZW9mIGUuc2NhbGFyU21vb3RoaW5nJiYoby5zY2FsYXJTbW9vdGhpbmc9ZS5zY2FsYXJTbW9vdGhpbmcpO2NvbnN0IGk9ImJvb2xlYW4iPT10eXBlb2YgZS50aW1lU2VyaWVzUHJvbW90aW9uRGlzbWlzc2VkPyFlLnRpbWVTZXJpZXNQcm9tb3Rpb25EaXNtaXNzZWQ6dC5wcm9tb3RlVGltZVNlcmllcyxhPW51bGwhPT0obj1lLnRpbWVTZXJpZXNTZXR0aW5nc1BhbmVPcGVuZWQpJiZ2b2lkIDAhPT1uP246dC5pc1NldHRpbmdzUGFuZU9wZW47cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cHJvbW90ZVRpbWVTZXJpZXM6aSxpc1NldHRpbmdzUGFuZU9wZW46YSxzZXR0aW5nczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZXR0aW5ncyksbyl9KX0pKSxCUyhRRSxKRSwodD0+e2NvbnN0IGU9dC50YWdNZXRhZGF0YUxvYWRTdGF0ZS5zdGF0ZT09PVVFLkxPQURJTkc/VUUuTE9BRElORzpVRS5OT1RfTE9BREVELG49cSQodC50aW1lU2VyaWVzRGF0YSwoKHQsZSk9PnEkKHQsKHQ9PmVOKGUpP3EkKHQsKHQ9PmUwKHQpKSk6ZTAodCkpKSkpO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3RhZ01ldGFkYXRhTG9hZFN0YXRlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnRhZ01ldGFkYXRhTG9hZFN0YXRlKSx7c3RhdGU6ZX0pLHRpbWVTZXJpZXNEYXRhOm59KX0pKSxCUyhtQSwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHt0YWdNZXRhZGF0YUxvYWRTdGF0ZTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC50YWdNZXRhZGF0YUxvYWRTdGF0ZSkse3N0YXRlOlVFLkxPQURJTkd9KX0pKSksQlModUEsKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7dGFnTWV0YWRhdGFMb2FkU3RhdGU6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQudGFnTWV0YWRhdGFMb2FkU3RhdGUpLHtzdGF0ZTpVRS5GQUlMRUR9KX0pKSksQlMoZkEsKCh0LHt0YWdNZXRhZGF0YTplfSk9Pntjb25zdCBuPXtzY2FsYXJzOmwwKGUsS1QuU0NBTEFSUyksaGlzdG9ncmFtczpsMChlLEtULkhJU1RPR1JBTVMpLGltYWdlczplW0tULklNQUdFU119LG89e30saT0oZnVuY3Rpb24gYSh0KXtjb25zdCBlPVtdO2ZvcihsZXQgbiBvZiBPYmplY3Qua2V5cyh0KSl7Y29uc3Qgbz1uO2xldCBpO2lmKGVOKG8pKXtpZighb04obykpdGhyb3cgbmV3IEVycm9yKCJNdWx0aS1ydW4sIHNhbXBsZWQgcGx1Z2luIHN1cHBvcnQgbm90IHlldCBpbXBsZW1lbnRlZCIpO3tjb25zdCBuPXRbb10udGFnUnVuU2FtcGxlZEluZm87Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMobikpZm9yKGNvbnN0IGkgb2YgT2JqZWN0LmtleXMoblt0XSkpe2NvbnN0e21heFNhbXBsZXNQZXJTdGVwOmF9PW5bdF1baV07Zm9yKGxldCBuPTA7bjxhO24rKyllLnB1c2goe3BsdWdpbjpvLHRhZzp0LHJ1bklkOmksc2FtcGxlOm4sbnVtU2FtcGxlOmF9KX19fWVsc2UgaWYob04obykpe2k9dFtvXS50YWdUb1J1bnM7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMoaSkpZm9yKGNvbnN0IG4gb2YgaVt0XSllLnB1c2goe3BsdWdpbjpvLHRhZzp0LHJ1bklkOm59KX1lbHNle2k9dFtvXS50YWdUb1J1bnM7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMoaSkpZS5wdXNoKHtwbHVnaW46byx0YWc6dCxydW5JZDpudWxsfSl9fXJldHVybiBlfSkobikscj1bXTtmb3IoY29uc3QgdCBvZiBpKXtjb25zdCBlPUJOKHQpO29bZV09dCxyLnB1c2goZSl9bGV0IHM9dC50YWdHcm91cEV4cGFuZGVkO2lmKDA9PT10LnRhZ0dyb3VwRXhwYW5kZWQuc2l6ZSl7Y29uc3QgZT1aJChyLm1hcCgodD0+e3ZhciBlO3JldHVybiBudWxsIT09KGU9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG9bdF0pLHtjYXJkSWQ6dH0pKSYmdm9pZCAwIT09ZT9lOm51bGx9KSkuZmlsdGVyKEJvb2xlYW4pKTtzPW5ldyBNYXAodC50YWdHcm91cEV4cGFuZGVkKTtmb3IoY29uc3QgdCBvZiBlLnNsaWNlKDAsMikpcy5zZXQodC5ncm91cE5hbWUsITApfWNvbnN0e25leHRDYXJkVG9QaW5uZWRDb3B5OmwsbmV4dFBpbm5lZENhcmRUb09yaWdpbmFsOmMscGlubmVkQ2FyZE1ldGFkYXRhTWFwOmR9PShmdW5jdGlvbiBwKHQsZSxuLG8pe2NvbnN0IGk9bmV3IE1hcCxhPW5ldyBNYXAscj17fTtmb3IoY29uc3QgZSBvZiBvKWlmKHQuaGFzKGUpKXtjb25zdCBvPXQuZ2V0KGUpO2kuc2V0KGUsbyksYS5zZXQobyxlKSxyW29dPW5bZV19cmV0dXJue25leHRDYXJkVG9QaW5uZWRDb3B5OmksbmV4dFBpbm5lZENhcmRUb09yaWdpbmFsOmEscGlubmVkQ2FyZE1ldGFkYXRhTWFwOnJ9fSkodC5jYXJkVG9QaW5uZWRDb3B5LDAsbyxyKSxtPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxvKSxkKSxmPShmdW5jdGlvbiB1KHQsZSl7Y29uc3Qgbj17fTtyZXR1cm4gT2JqZWN0LmVudHJpZXModCkuZm9yRWFjaCgoKFt0LG9dKT0+e2VbdF0mJihuW3RdPW8pfSkpLG59KSh0LmNhcmRTdGVwSW5kZXgsbSksZz1XTih0LnVucmVzb2x2ZWRJbXBvcnRlZFBpbm5lZENhcmRzLHIsbSxsLGMsZik7cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLGcpLHt0YWdHcm91cEV4cGFuZGVkOnMsdGFnTWV0YWRhdGFMb2FkU3RhdGU6e3N0YXRlOlVFLkxPQURFRCxsYXN0TG9hZGVkVGltZUluTXM6RGF0ZS5ub3coKX0sdGFnTWV0YWRhdGE6bixjYXJkTGlzdDpyfSl9KSksQlMoVEEsKCh0LHt0YWdGaWx0ZXI6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3RhZ0ZpbHRlcjplfSkpKSxCUyhnQSwoKHQse3NvcnQ6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NldHRpbmdPdmVycmlkZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuc2V0dGluZ092ZXJyaWRlcykse3Rvb2x0aXBTb3J0OmV9KX0pKSksQlMoaEEsKHQ9Pnt2YXIgZTtjb25zdCBuPSEobnVsbCE9PShlPXQuc2V0dGluZ092ZXJyaWRlcy5pZ25vcmVPdXRsaWVycykmJnZvaWQgMCE9PWU/ZTp0LnNldHRpbmdzLmlnbm9yZU91dGxpZXJzKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZXR0aW5nT3ZlcnJpZGVzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNldHRpbmdPdmVycmlkZXMpLHtpZ25vcmVPdXRsaWVyczpufSl9KX0pKSxCUyhiQSwoKHQse3hBeGlzVHlwZTplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2V0dGluZ092ZXJyaWRlczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZXR0aW5nT3ZlcnJpZGVzKSx7eEF4aXNUeXBlOmV9KX0pKSksQlMoQ0EsKCh0LHtzbW9vdGhpbmc6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NldHRpbmdPdmVycmlkZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuc2V0dGluZ092ZXJyaWRlcykse3NjYWxhclNtb290aGluZzplfSl9KSkpLEJTKE1BLCh0PT57dmFyIGU7Y29uc3Qgbj0hKG51bGwhPT0oZT10LnNldHRpbmdPdmVycmlkZXMuc2NhbGFyUGFydGl0aW9uTm9uTW9ub3RvbmljWCkmJnZvaWQgMCE9PWU/ZTp0LnNldHRpbmdzLnNjYWxhclBhcnRpdGlvbk5vbk1vbm90b25pY1gpO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NldHRpbmdPdmVycmlkZXM6T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQuc2V0dGluZ092ZXJyaWRlcykse3NjYWxhclBhcnRpdGlvbk5vbk1vbm90b25pY1g6bn0pfSl9KSksQlModkEsKCh0LHticmlnaHRuZXNzSW5NaWxsaTplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2V0dGluZ092ZXJyaWRlczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZXR0aW5nT3ZlcnJpZGVzKSx7aW1hZ2VCcmlnaHRuZXNzSW5NaWxsaTplfSl9KSkpLEJTKHhBLCgodCx7Y29udHJhc3RJbk1pbGxpOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZXR0aW5nT3ZlcnJpZGVzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNldHRpbmdPdmVycmlkZXMpLHtpbWFnZUNvbnRyYXN0SW5NaWxsaTplfSl9KSkpLEJTKE9BLCh0PT57Y29uc3QgZT1aVCh0LnNldHRpbmdPdmVycmlkZXMsWyJpbWFnZUJyaWdodG5lc3NJbk1pbGxpIl0pO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NldHRpbmdPdmVycmlkZXM6ZX0pfSkpLEJTKFBBLCh0PT57Y29uc3QgZT1aVCh0LnNldHRpbmdPdmVycmlkZXMsWyJpbWFnZUNvbnRyYXN0SW5NaWxsaSJdKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZXR0aW5nT3ZlcnJpZGVzOmV9KX0pKSxCUyh3QSwodD0+e3ZhciBlO2NvbnN0IG49IShudWxsIT09KGU9dC5zZXR0aW5nT3ZlcnJpZGVzLmltYWdlU2hvd0FjdHVhbFNpemUpJiZ2b2lkIDAhPT1lP2U6dC5zZXR0aW5ncy5pbWFnZVNob3dBY3R1YWxTaXplKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZXR0aW5nT3ZlcnJpZGVzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNldHRpbmdPdmVycmlkZXMpLHtpbWFnZVNob3dBY3R1YWxTaXplOm59KX0pfSkpLEJTKGtBLCgodCx7aGlzdG9ncmFtTW9kZTplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2V0dGluZ092ZXJyaWRlczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5zZXR0aW5nT3ZlcnJpZGVzKSx7aGlzdG9ncmFtTW9kZTplfSl9KSkpLEJTKHlBLCgodCx7Y2FyZE1pbldpZHRoOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZXR0aW5nT3ZlcnJpZGVzOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnNldHRpbmdPdmVycmlkZXMpLHtjYXJkTWluV2lkdGg6ZX0pfSkpKSxCUyhfQSwodD0+e2NvbnN0IGU9WlQodC5zZXR0aW5nT3ZlcnJpZGVzLFsiY2FyZE1pbldpZHRoIl0pO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NldHRpbmdPdmVycmlkZXM6ZX0pfSkpLEJTKFNBLCgodCx7cmVxdWVzdHM6ZX0pPT57aWYoIWUubGVuZ3RoKXJldHVybiB0O2NvbnN0IG49T2JqZWN0LmFzc2lnbih7fSx0LnRpbWVTZXJpZXNEYXRhKTtmb3IoY29uc3QgbyBvZiBlKXtjb25zdHtwbHVnaW46ZSx0YWc6aSxzYW1wbGU6YX09bztuW2VdPUxOKG4sZSxpLGEpO2NvbnN0IHI9Rk4obixlLGksYSkscz1pTihvKT9bby5ydW5JZF06ak4odC50YWdNZXRhZGF0YSxlLGksYSk7ci5ydW5Ub0xvYWRTdGF0ZT1WTihVRS5MT0FESU5HLHMsci5ydW5Ub0xvYWRTdGF0ZSl9cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7dGltZVNlcmllc0RhdGE6bn0pfSkpLEJTKERBLCgodCx7cmVxdWVzdDplfSk9Pntjb25zdCBuPU9iamVjdC5hc3NpZ24oe30sdC50aW1lU2VyaWVzRGF0YSkse3BsdWdpbjpvLHRhZzppLHNhbXBsZTphfT1lO25bb109TE4obixvLGksYSk7Y29uc3Qgcj1GTihuLG8saSxhKSxzPWlOKGUpP1tlLnJ1bklkXTpqTih0LnRhZ01ldGFkYXRhLG8saSxhKTtyZXR1cm4gci5ydW5Ub0xvYWRTdGF0ZT1WTihVRS5GQUlMRUQscyxyLnJ1blRvTG9hZFN0YXRlKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3RpbWVTZXJpZXNEYXRhOm59KX0pKSxCUyhSQSwoKHQse3Jlc3BvbnNlOmV9KT0+e2NvbnN0IG49T2JqZWN0LmFzc2lnbih7fSx0LnN0ZXBNaW5NYXgpLG89T2JqZWN0LmFzc2lnbih7fSx0LnRpbWVTZXJpZXNEYXRhKSx7cGx1Z2luOmksdGFnOmEscnVuSWQ6cixzYW1wbGU6c309ZTtvW2ldPUxOKG8saSxhLHMpO2NvbnN0IGw9Rk4obyxpLGEscyk7aWYock4oZSkpe2NvbnN0IGU9cj9bcl06ak4odC50YWdNZXRhZGF0YSxpLGEscyk7bC5ydW5Ub0xvYWRTdGF0ZT1WTihVRS5GQUlMRUQsZSxsLnJ1blRvTG9hZFN0YXRlKX1lbHNle2NvbnN0IHQ9ZS5ydW5Ub1NlcmllcztsLnJ1blRvU2VyaWVzPU9iamVjdC5hc3NpZ24oe30sbC5ydW5Ub1NlcmllcyksbC5ydW5Ub0xvYWRTdGF0ZT1PYmplY3QuYXNzaWduKHt9LGwucnVuVG9Mb2FkU3RhdGUpO2Zvcihjb25zdCBlIGluIHQpaWYodC5oYXNPd25Qcm9wZXJ0eShlKSl7bC5ydW5Ub1Nlcmllc1tlXT10W2VdLGwucnVuVG9Mb2FkU3RhdGVbZV09VUUuTE9BREVEO2Zvcihjb25zdCBvIG9mIHRbZV0pbi5taW49TWF0aC5taW4obi5taW4sby5zdGVwKSxuLm1heD1NYXRoLm1heChuLm1heCxvLnN0ZXApfX1yZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHt0aW1lU2VyaWVzRGF0YTpvLGNhcmRTdGVwSW5kZXg6dDAodC5jYXJkTWV0YWRhdGFNYXAsdC5jYXJkU3RlcEluZGV4LG8sdC50aW1lU2VyaWVzRGF0YSksc3RlcE1pbk1heDpufSl9KSksQlMoQUEsKCh0LHtjYXJkSWQ6ZSxzdGVwSW5kZXg6bn0pPT57Y29uc3Qgbz0kJChlLHQuY2FyZE1ldGFkYXRhTWFwLHQudGltZVNlcmllc0RhdGEpO2xldCBpPW47cmV0dXJuIG51bGw9PT1vP2k9bnVsbDpuPm8mJihpPW8pLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7Y2FyZFN0ZXBJbmRleDpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5jYXJkU3RlcEluZGV4KSx7W2VdOml9KX0pfSkpLEJTKE5BLCgodCx7dGFnR3JvdXA6ZX0pPT57Y29uc3Qgbj1uZXcgTWFwKHQudGFnR3JvdXBFeHBhbmRlZCk7cmV0dXJuIG4uc2V0KGUsIW4uZ2V0KGUpKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3RhZ0dyb3VwRXhwYW5kZWQ6bn0pfSkpLEJTKEVBLCgodCx7ZW50ZXJlZENhcmRzOmUsZXhpdGVkQ2FyZHM6bn0pPT57aWYoIWUubGVuZ3RoJiYhbi5sZW5ndGgpcmV0dXJuIHQ7Y29uc3Qgbz1uZXcgTWFwKHQudmlzaWJsZUNhcmRNYXApO3JldHVybiBlLmZvckVhY2goKCh7ZWxlbWVudElkOnQsY2FyZElkOmV9KT0+e3ZhciBuO2NvbnN0IGk9bnVsbCE9PShuPW8uZ2V0KHQpKSYmdm9pZCAwIT09bj9uOm51bGw7aWYobnVsbCE9PWkmJmkhPT1lKXRocm93IG5ldyBFcnJvcigiQSBET00gZWxlbWVudCBjYW5ub3QgYmUgcmV1c2VkIGZvciBtb3JlIHRoYW4gMSB1bmlxdWUgY2FyZCBtZXRhZGF0YSIpO28uc2V0KHQsZSl9KSksbi5mb3JFYWNoKCgoe2VsZW1lbnRJZDp0fSk9PntvLmRlbGV0ZSh0KX0pKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3Zpc2libGVDYXJkTWFwOm99KX0pKSxCUyh6QSwoKHQse2NhcmRJZDplfSk9Pntjb25zdCBuPXQucGlubmVkQ2FyZFRvT3JpZ2luYWwuaGFzKGUpLG89IW4mJiF0LmNhcmRUb1Bpbm5lZENvcHkuaGFzKGUpO2lmKG8mJiFxTih0KSlyZXR1cm4gdDtsZXQgaT1uZXcgTWFwKHQuY2FyZFRvUGlubmVkQ29weSksYT1uZXcgTWFwKHQucGlubmVkQ2FyZFRvT3JpZ2luYWwpLHI9T2JqZWN0LmFzc2lnbih7fSx0LmNhcmRNZXRhZGF0YU1hcCkscz1PYmplY3QuYXNzaWduKHt9LHQuY2FyZFN0ZXBJbmRleCk7aWYobil7Y29uc3Qgbj10LnBpbm5lZENhcmRUb09yaWdpbmFsLmdldChlKTtpLmRlbGV0ZShuKSxhLmRlbGV0ZShlKSxkZWxldGUgcltlXSxkZWxldGUgc1tlXX1lbHNlIGlmKG8pe2NvbnN0IHQ9R04oZSxpLGEscyxyKTtpPXQuY2FyZFRvUGlubmVkQ29weSxhPXQucGlubmVkQ2FyZFRvT3JpZ2luYWwscj10LmNhcmRNZXRhZGF0YU1hcCxzPXQuY2FyZFN0ZXBJbmRleH1lbHNle2NvbnN0IG49dC5jYXJkVG9QaW5uZWRDb3B5LmdldChlKTtpLmRlbGV0ZShlKSxhLmRlbGV0ZShuKSxkZWxldGUgcltuXSxkZWxldGUgc1tuXX1yZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtjYXJkTWV0YWRhdGFNYXA6cixjYXJkU3RlcEluZGV4OnMsY2FyZFRvUGlubmVkQ29weTppLHBpbm5lZENhcmRUb09yaWdpbmFsOmF9KX0pKSxCUyhCQSwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZWxlY3RUaW1lRW5hYmxlZDohdC5zZWxlY3RUaW1lRW5hYmxlZH0pKSksQlMoRkEsKCh0LGUpPT57dmFyIG4sbyxpLGE7Y29uc3Qgcj1lLnN0YXJ0U3RlcDtsZXQgcz1udWxsIT09KGE9bnVsbCE9PShuPWUuZW5kU3RlcCkmJnZvaWQgMCE9PW4/bjpudWxsPT09KGk9bnVsbD09PShvPXQuc2VsZWN0ZWRUaW1lKXx8dm9pZCAwPT09bz92b2lkIDA6by5lbmQpfHx2b2lkIDA9PT1pP3ZvaWQgMDppLnN0ZXApJiZ2b2lkIDAhPT1hP2E6dC5zdGVwTWluTWF4Lm1heDtyZXR1cm4gcj5zJiYocz1yKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NlbGVjdFRpbWVFbmFibGVkOiEwLHNlbGVjdGVkVGltZTp7c3RhcnQ6e3N0ZXA6cn0sZW5kOntzdGVwOnN9fX0pfSkpLEJTKFZBLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3VzZVJhbmdlU2VsZWN0VGltZTohdC51c2VSYW5nZVNlbGVjdFRpbWV9KSkpLEJTKExBLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NlbGVjdGVkVGltZTpudWxsfSkpKSxCUyhJQSwoKHQse3BsdWdpbjplfSk9PntsZXQgbj1uZXcgU2V0KHQuZmlsdGVyZWRQbHVnaW5UeXBlcyk7cmV0dXJuIG4uaGFzKGUpP24uZGVsZXRlKGUpOm4uYWRkKGUpLE9iamVjdC52YWx1ZXMoS1QpLmV2ZXJ5KCh0PT5uLmhhcyh0KSkpJiYobj1uZXcgU2V0KSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2ZpbHRlcmVkUGx1Z2luVHlwZXM6bn0pfSkpLEJTKEhBLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2ZpbHRlcmVkUGx1Z2luVHlwZXM6bmV3IFNldH0pKSksQlMoakEsKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cHJvbW90ZVRpbWVTZXJpZXM6ITF9KSkpLEJTKHBBLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2lzU2V0dGluZ3NQYW5lT3BlbjohdC5pc1NldHRpbmdzUGFuZU9wZW59KSkpLEJTKGRBLCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2lzU2V0dGluZ3NQYW5lT3BlbjohMX0pKSkpO2Z1bmN0aW9uIHMwKHQsZSl7cmV0dXJuIFdBKHIwLGkwKSh0LGUpfWZ1bmN0aW9uIGwwKHQsZSl7cmV0dXJue3RhZ0Rlc2NyaXB0aW9uczp0W2VdLnRhZ0Rlc2NyaXB0aW9ucyx0YWdUb1J1bnM6YzAodFtlXS5ydW5UYWdJbmZvKX19ZnVuY3Rpb24gYzAodCl7Y29uc3QgZT17fTtmb3IoY29uc3QgbiBpbiB0KWZvcihjb25zdCBvIG9mIHRbbl0pZVtvXT1bLi4uZVtvXXx8W10sbl07cmV0dXJuIGV9Y29uc3QgZDA9YlMoJE4sbnosKCh0LGUsbik9PmU/T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGUpLHtsb2FkU3RhdGU6dCxpZDpufSk6bnVsbCkpLHAwPV9rKCJbTWV0cmljcyBFZmZlY3RzXSBJbml0Iik7Y2xhc3MgbTB7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuYWN0aW9ucyQ9dCx0aGlzLnN0b3JlPWUsdGhpcy5kYXRhU291cmNlPW4sdGhpcy5kYXNoYm9hcmRTaG93bldpdGhvdXREYXRhJD10aGlzLmFjdGlvbnMkLnBpcGUoJFMocDAsWkUsdEEsdFIpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KGVUKSx0aGlzLnN0b3JlLnNlbGVjdChKTikpLHVlKCgoWyx0LGVdKT0+dD09PSRUJiZlLnN0YXRlPT09VUUuTk9UX0xPQURFRCkpKSx0aGlzLnJlbG9hZFJlcXVlc3RlZFdoaWxlU2hvd24kPXRoaXMuYWN0aW9ucyQucGlwZSgkUyhRRSxKRSkscWUodGhpcy5zdG9yZS5zZWxlY3QoZVQpKSx1ZSgoKFssdF0pPT50PT09JFQpKSksdGhpcy5sb2FkVGFnTWV0YWRhdGEkPXBlKHRoaXMuZGFzaGJvYXJkU2hvd25XaXRob3V0RGF0YSQsdGhpcy5yZWxvYWRSZXF1ZXN0ZWRXaGlsZVNob3duJCkucGlwZShxZSh0aGlzLnN0b3JlLnNlbGVjdChKTiksdGhpcy5zdG9yZS5zZWxlY3QoeFIpKSx1ZSgoKFssdCxlXSk9PnQuc3RhdGUhPT1VRS5MT0FESU5HJiZudWxsIT09ZSkpLFdlKCgoKT0+e3RoaXMuc3RvcmUuZGlzcGF0Y2gobUEoKSl9KSksVmUoKChbLCx0XSk9PnRoaXMuZGF0YVNvdXJjZS5mZXRjaFRhZ01ldGFkYXRhKHQpLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKGZBKHt0YWdNZXRhZGF0YTp0fSkpfSkpLGhlKCgoKT0+KHRoaXMuc3RvcmUuZGlzcGF0Y2godUEoKSksenQobnVsbCkpKSkpKSkpLHRoaXMudmlzaWJsZUNhcmRzV2l0aG91dERhdGFDaGFuZ2VkJD10aGlzLmFjdGlvbnMkLnBpcGUoJFMoRUEpLFZlKCgoKT0+dGhpcy5nZXRWaXNpYmxlQ2FyZEZldGNoSW5mb3MoKS5waXBlKHZlKDEpKSkpLFZ0KCh0PT50LmZpbHRlcigodD0+dC5sb2FkU3RhdGU9PT1VRS5OT1RfTE9BREVEKSkpKSksdGhpcy52aXNpYmxlQ2FyZHNSZWxvYWRlZCQ9dGhpcy5yZWxvYWRSZXF1ZXN0ZWRXaGlsZVNob3duJC5waXBlKFZlKCgoKT0+dGhpcy5nZXRWaXNpYmxlQ2FyZEZldGNoSW5mb3MoKS5waXBlKHZlKDEpKSkpLFZ0KCh0PT50LmZpbHRlcigodD0+dC5sb2FkU3RhdGUhPT1VRS5MT0FESU5HKSkpKSksdGhpcy5sb2FkVGltZVNlcmllcyQ9cGUodGhpcy52aXNpYmxlQ2FyZHNXaXRob3V0RGF0YUNoYW5nZWQkLHRoaXMudmlzaWJsZUNhcmRzUmVsb2FkZWQkKS5waXBlKHVlKCh0PT50Lmxlbmd0aD4wKSkscWUodGhpcy5zdG9yZS5zZWxlY3QoeFIpLnBpcGUodWUoKHQ9Pm51bGwhPT10KSkpKSwkdCgoKFt0LGVdKT0+dGhpcy5mZXRjaFRpbWVTZXJpZXNGb3JDYXJkcyh0LGUpKSkpLHRoaXMuZGF0YUVmZmVjdHMkPVdTKCgoKT0+cGUodGhpcy5sb2FkVGFnTWV0YWRhdGEkLHRoaXMubG9hZFRpbWVTZXJpZXMkKSkse2Rpc3BhdGNoOiExfSl9bmdyeE9uSW5pdEVmZmVjdHMoKXtyZXR1cm4gcDAoKX1nZXRWaXNpYmxlQ2FyZEZldGNoSW5mb3MoKXtyZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoaXopLnBpcGUoVmUoKHQ9PntpZighdC5zaXplKXJldHVybiB6dChbXSk7cmV0dXJuIGllKFsuLi50XS5tYXAoKHQ9PnRoaXMuc3RvcmUuc2VsZWN0KGQwLHQpLnBpcGUodmUoMSkpKSkpfSkpLFZ0KCh0PT50LmZpbHRlcihCb29sZWFuKSkpKX1mZXRjaFRpbWVTZXJpZXModCl7cmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5mZXRjaFRpbWVTZXJpZXMoW3RdKS5waXBlKFdlKCh0PT57Y29uc3QgZT10LmZpbHRlcihyTik7ZS5sZW5ndGgmJmNvbnNvbGUuZXJyb3IoIlRpbWUgc2VyaWVzIHJlc3BvbnNlIGNvbnRhaW5lZCBlcnJvcnM6IixlKSx0aGlzLnN0b3JlLmRpc3BhdGNoKFJBKHtyZXNwb25zZTp0WzBdfSkpfSkpLGhlKCgoKT0+KHRoaXMuc3RvcmUuZGlzcGF0Y2goREEoe3JlcXVlc3Q6dH0pKSx6dChudWxsKSkpKSl9ZmV0Y2hUaW1lU2VyaWVzRm9yQ2FyZHModCxlKXtyZXR1cm4genQodC5tYXAoKHQ9Pntjb25zdHtwbHVnaW46bix0YWc6byxydW5JZDppLHNhbXBsZTphfT10LHI9b04obik/e3BsdWdpbjpuLHRhZzpvLHJ1bklkOml9OntwbHVnaW46bix0YWc6byxleHBlcmltZW50SWRzOmV9O3JldHVybiB2b2lkIDAhPT1hJiYoci5zYW1wbGU9YSkscn0pKSkucGlwZShXZSgodD0+e3RoaXMuc3RvcmUuZGlzcGF0Y2goU0Eoe3JlcXVlc3RzOnR9KSl9KSksJHQoKHQ9PnBlKC4uLnQubWFwKCh0PT50aGlzLmZldGNoVGltZVNlcmllcyh0KSkpKSkpKX19bTAuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG0wKShUcihRUyksVHIoaVMpLFRyKGFOKSl9LG0wLsm1cHJvdj1Tbih7dG9rZW46bTAsZmFjdG9yeTptMC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobTAsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlFTfSx7dHlwZTppU30se3R5cGU6YU59XX0pLG51bGwpO2NvbnN0IGYwPW5ldyBlcigiTWV0cmljcyBTdG9yZSBDb25maWciKSx1MD1uZXcgZXIoIk1ldHJpY3MgSW5pdGlhbCBTZXR0aW5ncyBDb25maWciKTtmdW5jdGlvbiBnMCh0KXtyZXR1cm4gdD97aW5pdGlhbFN0YXRlOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxhMCkse3NldHRpbmdzOnR9KX06e2luaXRpYWxTdGF0ZTphMH19dmFyIGgwOyEoZnVuY3Rpb24odCl7dFt0LkxFRlQ9MV09IkxFRlQiLHRbdC5SSUdIVD0yXT0iUklHSFQiLHRbdC5NSURETEU9NF09Ik1JRERMRSIsdFt0LkZPVVJUSD04XT0iRk9VUlRIIix0W3QuRklGVEg9MzJdPSJGSUZUSCJ9KShoMHx8KGgwPXt9KSk7bGV0IGIwPTA7ZnVuY3Rpb24geTAodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDMpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5leHBhbmRTaWRlYmFyKCl9KSksdmYoMSwibWF0LWljb24iLDQpLE1mKCl9fWZ1bmN0aW9uIF8wKHQsZSl7aWYoMSZ0JiYoQ2YoMCwibmF2Iiw1KSxfeSgxLCJhc3luYyIpLEZmKDIsMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7bHUoIndpZHRoIixDeSgxLDQsdC53aWR0aCQpLCIlIikoIm1pbi13aWR0aCIsdC5NSU5JTVVNX1NJREVCQVJfV0lEVEhfSU5fUFgsInB4Iil9fWZ1bmN0aW9uIEMwKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2Iiw2KSxSZigibW91c2Vkb3duIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLnJlc2l6ZUdyYWJiZWQoKX0pKSxNZigpfX1jb25zdCBNMD1bW1siIiwibWFpbiIsIiJdXSxbWyIiLCJzaWRlYmFyIiwiIl1dXTtjbGFzcyB2MHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuc3RvcmU9dCx0aGlzLndpZHRoJD10aGlzLnN0b3JlLnNlbGVjdChpVCksdGhpcy5uZ1Vuc3Vic2NyaWJlPW5ldyBCLHRoaXMucmVzaXppbmc9ITEsdGhpcy5NSU5JTVVNX1NJREVCQVJfV0lEVEhfSU5fUFg9NzUsbGUoZS5uYXRpdmVFbGVtZW50LCJtb3VzZW1vdmUiKS5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSksdWUoKCgpPT50aGlzLnJlc2l6aW5nKSkpLnN1YnNjcmliZSgodD0+e2lmKCh0LmJ1dHRvbnMmaDAuTEVGVCkhPT1oMC5MRUZUKXJldHVybiB2b2lkKHRoaXMucmVzaXppbmc9ITEpO3QucHJldmVudERlZmF1bHQoKTtjb25zdHt3aWR0aDpufT1lLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5zdG9yZS5kaXNwYXRjaChsQSh7d2lkdGhJblBlcmNlbnQ6dC5jbGllbnRYPD10aGlzLk1JTklNVU1fU0lERUJBUl9XSURUSF9JTl9QWD8wOnQuY2xpZW50WC9uKjEwMH0pKX0pKSxsZShlLm5hdGl2ZUVsZW1lbnQsIm1vdXNldXAiLHtwYXNzaXZlOiEwfSkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5yZXNpemluZz0hMX0pKX1uZ09uRGVzdHJveSgpe3RoaXMubmdVbnN1YnNjcmliZS5uZXh0KCksdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCl9cmVzaXplR3JhYmJlZCgpe3RoaXMucmVzaXppbmc9ITB9ZXhwYW5kU2lkZWJhcigpe3RoaXMuc3RvcmUuZGlzcGF0Y2gobEEoe3dpZHRoSW5QZXJjZW50OjIwfSkpfX12YXIgeDA7djAuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHYwKShnZihpUyksZ2YoS2gpKX0sdjAuybVjbXA9c28oe3R5cGU6djAsc2VsZWN0b3JzOltbInRiLWRhc2hib2FyZC1sYXlvdXQiXV0sbmdDb250ZW50U2VsZWN0b3JzOlsiW21haW5dIiwiW3NpZGViYXJdIl0sZGVjbHM6Nyx2YXJzOjksY29uc3RzOltbImNsYXNzIiwiZXhwYW5kIiwzLCJjbGljayIsNCwibmdJZiJdLFsiY2xhc3MiLCJzaWRlYmFyIiwzLCJ3aWR0aCIsIm1pbldpZHRoIiw0LCJuZ0lmIl0sWyJjbGFzcyIsInJlc2l6ZXIiLDMsIm1vdXNlZG93biIsNCwibmdJZiJdLFsxLCJleHBhbmQiLDMsImNsaWNrIl0sWyJzdmdJY29uIiwiZXhwYW5kX21vcmVfMjRweCJdLFsxLCJzaWRlYmFyIl0sWzEsInJlc2l6ZXIiLDMsIm1vdXNlZG93biJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoTTApLEhtKDAseTAsMiwwLCJidXR0b24iLDApLF95KDEsImFzeW5jIiksSG0oMixfMCwzLDYsIm5hdiIsMSksX3koMywiYXN5bmMiKSxIbSg0LEMwLDEsMCwiZGl2IiwyKSxfeSg1LCJhc3luYyIpLEZmKDYpKSwyJmUmJihiZigibmdJZiIsMD09PUN5KDEsMyxuLndpZHRoJCkpLERjKDIpLGJmKCJuZ0lmIixDeSgzLDUsbi53aWR0aCQpPjApLERjKDIpLGJmKCJuZ0lmIixDeSg1LDcsbi53aWR0aCQpPjApKX0sZGlyZWN0aXZlczpbUHYsTXFdLHBpcGVzOltWdl0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmV9LnNpZGViYXJbX25nY29udGVudC0lQ09NUCVde21heC13aWR0aDo4MHZ3fS5yZXNpemVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmV4cGFuZFtfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWNvbG9yOiNlYmViZWI7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXg6MCAwO2p1c3RpZnktc2VsZjpzdHJldGNofWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5yZXNpemVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLnJlc2l6ZXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1jb2xvcjojNTU1fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5leHBhbmRbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZXhwYW5kW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItY29sb3I6IzU1NX0uZXhwYW5kW19uZ2NvbnRlbnQtJUNPTVAlXXt3aWR0aDoyMHB4fS5yZXNpemVyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowIDJweDtjdXJzb3I6ZXctcmVzaXplO2NvbnRhaW46c3RyaWN0O2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LXNlbGY6c3RyZXRjaH0ucmVzaXplcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde3dpZHRoOjEwMCV9LnJlc2l6ZXJbX25nY29udGVudC0lQ09NUCVdOmhvdmVye2JvcmRlci1jb2xvcjojY2NjO291dGxpbmU6M3B4IHNvbGlkICNjY2M7ei1pbmRleDoxfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5yZXNpemVyW19uZ2NvbnRlbnQtJUNPTVAlXTpob3ZlciwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLnJlc2l6ZXJbX25nY29udGVudC0lQ09NUCVdOmhvdmVye291dGxpbmUtY29sb3I6Izc3Nztib3JkZXItY29sb3I6Izc3N30uZXhwYW5kW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjAgMXB4IDAgMDtjb2xvcjppbmhlcml0O2NvbnRhaW46Y29udGVudDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1zZWxmOnN0cmV0Y2g7cGFkZGluZzowfS5leHBhbmRbX25nY29udGVudC0lQ09NUCVdICAgbWF0LWljb25bX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcn0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodjAsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGItZGFzaGJvYXJkLWxheW91dCIsdGVtcGxhdGU6J1xuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPSIod2lkdGgkIHwgYXN5bmMpID09PSAwIlxuICAgICAgY2xhc3M9ImV4cGFuZCJcbiAgICAgIChjbGljayk9ImV4cGFuZFNpZGViYXIoKSJcbiAgICA+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj0iZXhwYW5kX21vcmVfMjRweCI+PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8bmF2XG4gICAgICAqbmdJZj0iKHdpZHRoJCB8IGFzeW5jKSA+IDAiXG4gICAgICBjbGFzcz0ic2lkZWJhciJcbiAgICAgIFtzdHlsZS53aWR0aC4lXT0id2lkdGgkIHwgYXN5bmMiXG4gICAgICBbc3R5bGUubWluV2lkdGgucHhdPSJNSU5JTVVNX1NJREVCQVJfV0lEVEhfSU5fUFgiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PSJbc2lkZWJhcl0iPjwvbmctY29udGVudD5cbiAgICA8L25hdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj0iKHdpZHRoJCB8IGFzeW5jKSA+IDAiXG4gICAgICBjbGFzcz0icmVzaXplciJcbiAgICAgIChtb3VzZWRvd24pPSJyZXNpemVHcmFiYmVkKCkiXG4gICAgPjwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD0iW21haW5dIj48L25nLWNvbnRlbnQ+XG4gICcsc3R5bGVVcmxzOlsibGF5b3V0X2NvbnRhaW5lci5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9LHt0eXBlOktofV19KSxudWxsKSwoZnVuY3Rpb24odCl7dC5DSEVDS0JPWD0iY2hlY2tib3giLHQuUlVOX05BTUU9InJ1bl9uYW1lIix0LkVYUEVSSU1FTlRfTkFNRT0iZXhwZXJpbWVudF9uYW1lIix0LlJVTl9DT0xPUj0icnVuX2NvbG9yIn0pKHgwfHwoeDA9e30pKTtjb25zdCBPMD1fUyhIVCksUDA9YlMoTzAsKCh0LGUpPT57Y29uc3Qgbj1bXTtmb3IoY29uc3QgbyBvZiBlKXQuc3BlY3Nbb10mJm4ucHVzaCh0LnNwZWNzW29dLmhwYXJhbS5kZWZhdWx0RmlsdGVycyk7cmV0dXJuIFRUKG4pfSkpLHcwPWJTKFAwLE8wLCgodCxlLG4pPT57dmFyIG87Y29uc3QgaT1BVChuKSxhPWUuZmlsdGVyc1tpXTtyZXR1cm4gbmV3IE1hcChbLi4udCwuLi5udWxsIT09KG89bnVsbD09YT92b2lkIDA6YS5ocGFyYW1zKSYmdm9pZCAwIT09bz9vOltdXSl9KSksazA9YlMoTzAsKCh0LGUpPT57Y29uc3Qgbj1bXTtmb3IoY29uc3QgbyBvZiBlKXQuc3BlY3Nbb10mJm4ucHVzaCh0LnNwZWNzW29dLm1ldHJpYy5kZWZhdWx0RmlsdGVycyk7cmV0dXJuIE5UKG4pfSkpLFMwPWJTKGswLE8wLCgodCxlLG4pPT57dmFyIG87Y29uc3QgaT1BVChuKSxhPWUuZmlsdGVyc1tpXTtyZXR1cm4gbmV3IE1hcChbLi4udCwuLi5udWxsIT09KG89bnVsbD09YT92b2lkIDA6YS5tZXRyaWNzKSYmdm9pZCAwIT09bz9vOltdXSl9KSksRDA9YlMoTzAsKCh0LGUpPT4oZnVuY3Rpb24gbiguLi50KXtjb25zdCBlPW5ldyBNYXAsbj1uZXcgTWFwLG89bmV3IE1hcCxpPW5ldyBNYXAsYT1bXTtmb3IoY29uc3QgciBvZiB0KXtmb3IoY29uc3QgdCBvZiByLmhwYXJhbXMpaWYobi5oYXModC5uYW1lKXx8bi5zZXQodC5uYW1lLG5ldyBTZXQpLG4uZ2V0KHQubmFtZSkuYWRkKHQuZGlzcGxheU5hbWUpLGUuaGFzKHQubmFtZSkpe2NvbnN0IG49ZS5nZXQodC5uYW1lKSxvPXQ7aWYobi50eXBlIT09by50eXBlJiZhLnB1c2goYEhwYXJhbSwgJHtvLm5hbWV9LCB0eXBlcyBoYXZlIHRvIG1hdGNoLiBHb3Q6ICR7bi50eXBlfSB2cy4gJHtvLnR5cGV9YCksbi5kb21haW4udHlwZT09PWtULklOVEVSVkFMJiZvLmRvbWFpbi50eXBlPT09a1QuSU5URVJWQUwpbi5kb21haW4ubWluVmFsdWU9PT1vLmRvbWFpbi5taW5WYWx1ZSYmbi5kb21haW4ubWF4VmFsdWU9PT1vLmRvbWFpbi5tYXhWYWx1ZXx8YS5wdXNoKGBIcGFyYW0sICR7by5uYW1lfSwgZG9tYWlucyBoYXZlIHRvIG1hdGNoLiBHb3Q6ICR7bi5kb21haW59IHZzLiAke28uZG9tYWlufWApO2Vsc2UgaWYobi5kb21haW4udHlwZT09PWtULkRJU0NSRVRFJiZvLmRvbWFpbi50eXBlPT09a1QuRElTQ1JFVEUpe2NvbnN0IHQ9bmV3IFNldChbLi4ubi5kb21haW4udmFsdWVzLC4uLm8uZG9tYWluLnZhbHVlc10pO24uZG9tYWluLnZhbHVlcy5sZW5ndGg9PT1vLmRvbWFpbi52YWx1ZXMubGVuZ3RoJiZuLmRvbWFpbi52YWx1ZXMubGVuZ3RoPT09dC5zaXplfHxhLnB1c2goYEhwYXJhbSwgJHtvLm5hbWV9LCBkb21haW5zIGhhdmUgdG8gbWF0Y2guIEdvdDogJHtuLmRvbWFpbn0gdnMuICR7by5kb21haW59YCl9ZWxzZSBhLnB1c2goYEhwYXJhbSwgJHtvLm5hbWV9LCBkb21haW5zIGhhdmUgdG8gbWF0Y2guIEdvdDogJHtuLmRvbWFpbn0gdnMuICR7by5kb21haW59YCl9ZWxzZSBlLnNldCh0Lm5hbWUsT2JqZWN0LmFzc2lnbih7fSx0KSk7Zm9yKGNvbnN0IHQgb2Ygci5tZXRyaWNzKWlmKGkuaGFzKHQudGFnKXx8aS5zZXQodC50YWcsbmV3IFNldCksaS5nZXQodC50YWcpLmFkZCh0LmRpc3BsYXlOYW1lKSxvLmhhcyh0LnRhZykpe2NvbnN0IGU9by5nZXQodC50YWcpLG49dDtlLmRhdGFzZXRUeXBlIT09bi5kYXRhc2V0VHlwZSYmYS5wdXNoKGBNZXRyaWMsICR7bi50YWd9LCBkYXRhc2V0VHlwZXMgaGF2ZSB0byBtYXRjaC4gR290OiAke2UuZGF0YXNldFR5cGV9IHZzLiAke24uZGF0YXNldFR5cGV9YCl9ZWxzZSBvLnNldCh0LnRhZyxPYmplY3QuYXNzaWduKHt9LHQpKX1pZihhLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYFZhbGlkYXRpb24gZXJyb3I6XG4ke2Euam9pbigiXG4iKX1gKTtyZXR1cm57aHBhcmFtczpbLi4uZV0ubWFwKCgoW3QsZV0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse2Rpc3BsYXlOYW1lOlsuLi5uLmdldCh0KV0uam9pbigiIG9yICIpfSkpKSxtZXRyaWNzOlsuLi5vXS5tYXAoKChbdCxlXSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx7ZGlzcGxheU5hbWU6Wy4uLmkuZ2V0KHQpXS5qb2luKCIgb3IgIil9KSkpfX0pKC4uLmUuZXhwZXJpbWVudElkcy5tYXAoKGU9Pntjb25zdCBuPXQuc3BlY3NbZV07cmV0dXJuIG4/e2hwYXJhbXM6bi5ocGFyYW0uc3BlY3MsbWV0cmljczpuLm1ldHJpYy5zcGVjc306bnVsbH0pKS5maWx0ZXIoQm9vbGVhbikpKSksUjA9e3Rvb2x0aXBTdGF0ZTp4Tygic3RhdGUiLFtrTygiaW5pdGlhbCwgdm9pZCwgaGlkZGVuIix3Tyh7b3BhY2l0eTowLHRyYW5zZm9ybToic2NhbGUoMCkifSkpLGtPKCJ2aXNpYmxlIix3Tyh7dHJhbnNmb3JtOiJzY2FsZSgxKSJ9KSksRE8oIiogPT4gdmlzaWJsZSIsT08oIjIwMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpIixTTyhbd08oe29wYWNpdHk6MCx0cmFuc2Zvcm06InNjYWxlKDApIixvZmZzZXQ6MH0pLHdPKHtvcGFjaXR5Oi41LHRyYW5zZm9ybToic2NhbGUoMC45OSkiLG9mZnNldDouNX0pLHdPKHtvcGFjaXR5OjEsdHJhbnNmb3JtOiJzY2FsZSgxKSIsb2Zmc2V0OjF9KV0pKSksRE8oIiogPT4gaGlkZGVuIixPTygiMTAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSkiLHdPKHtvcGFjaXR5OjB9KSkpXSl9LEUwPWJIKHtwYXNzaXZlOiEwfSk7ZnVuY3Rpb24gQTAodCl7cmV0dXJuIEVycm9yKGBUb29sdGlwIHBvc2l0aW9uICIke3R9IiBpcyBpbnZhbGlkLmApfWNvbnN0IFQwPW5ldyBlcigibWF0LXRvb2x0aXAtc2Nyb2xsLXN0cmF0ZWd5Iik7Y29uc3QgTjA9e3Byb3ZpZGU6VDAsZGVwczpbS0JdLHVzZUZhY3Rvcnk6ZnVuY3Rpb24gejAodCl7cmV0dXJuKCk9PnQuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKHtzY3JvbGxUaHJvdHRsZToyMH0pfX0sSTA9bmV3IGVyKCJtYXQtdG9vbHRpcC1kZWZhdWx0LW9wdGlvbnMiLHtwcm92aWRlZEluOiJyb290IixmYWN0b3J5OmZ1bmN0aW9uIEgwKCl7cmV0dXJue3Nob3dEZWxheTowLGhpZGVEZWxheTowLHRvdWNoZW5kSGlkZURlbGF5OjE1MDB9fX0pO2NsYXNzIEYwe2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMsZCxwKXt0aGlzLl9vdmVybGF5PXQsdGhpcy5fZWxlbWVudFJlZj1lLHRoaXMuX3Njcm9sbERpc3BhdGNoZXI9bix0aGlzLl92aWV3Q29udGFpbmVyUmVmPW8sdGhpcy5fbmdab25lPWksdGhpcy5fcGxhdGZvcm09YSx0aGlzLl9hcmlhRGVzY3JpYmVyPXIsdGhpcy5fZm9jdXNNb25pdG9yPXMsdGhpcy5fZGlyPWMsdGhpcy5fZGVmYXVsdE9wdGlvbnM9ZCx0aGlzLl9wb3NpdGlvbj0iYmVsb3ciLHRoaXMuX2Rpc2FibGVkPSExLHRoaXMuX3ZpZXdJbml0aWFsaXplZD0hMSx0aGlzLl9wb2ludGVyRXhpdEV2ZW50c0luaXRpYWxpemVkPSExLHRoaXMuX3ZpZXdwb3J0TWFyZ2luPTgsdGhpcy5fY3NzQ2xhc3NQcmVmaXg9Im1hdCIsdGhpcy5zaG93RGVsYXk9dGhpcy5fZGVmYXVsdE9wdGlvbnMuc2hvd0RlbGF5LHRoaXMuaGlkZURlbGF5PXRoaXMuX2RlZmF1bHRPcHRpb25zLmhpZGVEZWxheSx0aGlzLnRvdWNoR2VzdHVyZXM9ImF1dG8iLHRoaXMuX21lc3NhZ2U9IiIsdGhpcy5fcGFzc2l2ZUxpc3RlbmVycz1bXSx0aGlzLl9kZXN0cm95ZWQ9bmV3IEIsdGhpcy5faGFuZGxlS2V5ZG93bj10PT57dGhpcy5faXNUb29sdGlwVmlzaWJsZSgpJiZ0LmtleUNvZGU9PT1LSSYmIXRIKHQpJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5fbmdab25lLnJ1bigoKCk9PnRoaXMuaGlkZSgwKSkpKX0sdGhpcy5fc2Nyb2xsU3RyYXRlZ3k9bCx0aGlzLl9kb2N1bWVudD1wLGQmJihkLnBvc2l0aW9uJiYodGhpcy5wb3NpdGlvbj1kLnBvc2l0aW9uKSxkLnRvdWNoR2VzdHVyZXMmJih0aGlzLnRvdWNoR2VzdHVyZXM9ZC50b3VjaEdlc3R1cmVzKSksYy5jaGFuZ2UucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fb3ZlcmxheVJlZiYmdGhpcy5fdXBkYXRlUG9zaXRpb24odGhpcy5fb3ZlcmxheVJlZil9KSksaS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PntlLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlS2V5ZG93bil9KSl9Z2V0IHBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuX3Bvc2l0aW9ufXNldCBwb3NpdGlvbih0KXt2YXIgZTt0IT09dGhpcy5fcG9zaXRpb24mJih0aGlzLl9wb3NpdGlvbj10LHRoaXMuX292ZXJsYXlSZWYmJih0aGlzLl91cGRhdGVQb3NpdGlvbih0aGlzLl9vdmVybGF5UmVmKSxudWxsPT09KGU9dGhpcy5fdG9vbHRpcEluc3RhbmNlKXx8dm9pZCAwPT09ZXx8ZS5zaG93KDApLHRoaXMuX292ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKSkpfWdldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLl9kaXNhYmxlZH1zZXQgZGlzYWJsZWQodCl7dGhpcy5fZGlzYWJsZWQ9ZUgodCksdGhpcy5fZGlzYWJsZWQ/dGhpcy5oaWRlKDApOnRoaXMuX3NldHVwUG9pbnRlckVudGVyRXZlbnRzSWZOZWVkZWQoKX1nZXQgbWVzc2FnZSgpe3JldHVybiB0aGlzLl9tZXNzYWdlfXNldCBtZXNzYWdlKHQpe3RoaXMuX2FyaWFEZXNjcmliZXIucmVtb3ZlRGVzY3JpcHRpb24odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LHRoaXMuX21lc3NhZ2UsInRvb2x0aXAiKSx0aGlzLl9tZXNzYWdlPW51bGwhPXQ/U3RyaW5nKHQpLnRyaW0oKToiIiwhdGhpcy5fbWVzc2FnZSYmdGhpcy5faXNUb29sdGlwVmlzaWJsZSgpP3RoaXMuaGlkZSgwKToodGhpcy5fc2V0dXBQb2ludGVyRW50ZXJFdmVudHNJZk5lZWRlZCgpLHRoaXMuX3VwZGF0ZVRvb2x0aXBNZXNzYWdlKCksdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgoKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57dGhpcy5fYXJpYURlc2NyaWJlci5kZXNjcmliZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsdGhpcy5tZXNzYWdlLCJ0b29sdGlwIil9KSl9KSkpfWdldCB0b29sdGlwQ2xhc3MoKXtyZXR1cm4gdGhpcy5fdG9vbHRpcENsYXNzfXNldCB0b29sdGlwQ2xhc3ModCl7dGhpcy5fdG9vbHRpcENsYXNzPXQsdGhpcy5fdG9vbHRpcEluc3RhbmNlJiZ0aGlzLl9zZXRUb29sdGlwQ2xhc3ModGhpcy5fdG9vbHRpcENsYXNzKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLl92aWV3SW5pdGlhbGl6ZWQ9ITAsdGhpcy5fc2V0dXBQb2ludGVyRW50ZXJFdmVudHNJZk5lZWRlZCgpLHRoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYpLnBpcGUoamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCh0PT57dD8ia2V5Ym9hcmQiPT09dCYmdGhpcy5fbmdab25lLnJ1bigoKCk9PnRoaXMuc2hvdygpKSk6dGhpcy5fbmdab25lLnJ1bigoKCk9PnRoaXMuaGlkZSgwKSkpfSkpfW5nT25EZXN0cm95KCl7Y29uc3QgdD10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7Y2xlYXJUaW1lb3V0KHRoaXMuX3RvdWNoc3RhcnRUaW1lb3V0KSx0aGlzLl9vdmVybGF5UmVmJiYodGhpcy5fb3ZlcmxheVJlZi5kaXNwb3NlKCksdGhpcy5fdG9vbHRpcEluc3RhbmNlPW51bGwpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5faGFuZGxlS2V5ZG93biksdGhpcy5fcGFzc2l2ZUxpc3RlbmVycy5mb3JFYWNoKCgoW2Usbl0pPT57dC5yZW1vdmVFdmVudExpc3RlbmVyKGUsbixFMCl9KSksdGhpcy5fcGFzc2l2ZUxpc3RlbmVycy5sZW5ndGg9MCx0aGlzLl9kZXN0cm95ZWQubmV4dCgpLHRoaXMuX2Rlc3Ryb3llZC5jb21wbGV0ZSgpLHRoaXMuX2FyaWFEZXNjcmliZXIucmVtb3ZlRGVzY3JpcHRpb24odCx0aGlzLm1lc3NhZ2UsInRvb2x0aXAiKSx0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodCl9c2hvdyh0PXRoaXMuc2hvd0RlbGF5KXtpZih0aGlzLmRpc2FibGVkfHwhdGhpcy5tZXNzYWdlfHx0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKCkmJiF0aGlzLl90b29sdGlwSW5zdGFuY2UuX3Nob3dUaW1lb3V0SWQmJiF0aGlzLl90b29sdGlwSW5zdGFuY2UuX2hpZGVUaW1lb3V0SWQpcmV0dXJuO2NvbnN0IGU9dGhpcy5fY3JlYXRlT3ZlcmxheSgpO3RoaXMuX2RldGFjaCgpLHRoaXMuX3BvcnRhbD10aGlzLl9wb3J0YWx8fG5ldyBzQih0aGlzLl90b29sdGlwQ29tcG9uZW50LHRoaXMuX3ZpZXdDb250YWluZXJSZWYpLHRoaXMuX3Rvb2x0aXBJbnN0YW5jZT1lLmF0dGFjaCh0aGlzLl9wb3J0YWwpLmluc3RhbmNlLHRoaXMuX3Rvb2x0aXBJbnN0YW5jZS5hZnRlckhpZGRlbigpLnBpcGUoamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgoKT0+dGhpcy5fZGV0YWNoKCkpKSx0aGlzLl9zZXRUb29sdGlwQ2xhc3ModGhpcy5fdG9vbHRpcENsYXNzKSx0aGlzLl91cGRhdGVUb29sdGlwTWVzc2FnZSgpLHRoaXMuX3Rvb2x0aXBJbnN0YW5jZS5zaG93KHQpfWhpZGUodD10aGlzLmhpZGVEZWxheSl7dGhpcy5fdG9vbHRpcEluc3RhbmNlJiZ0aGlzLl90b29sdGlwSW5zdGFuY2UuaGlkZSh0KX10b2dnbGUoKXt0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKCk/dGhpcy5oaWRlKCk6dGhpcy5zaG93KCl9X2lzVG9vbHRpcFZpc2libGUoKXtyZXR1cm4hIXRoaXMuX3Rvb2x0aXBJbnN0YW5jZSYmdGhpcy5fdG9vbHRpcEluc3RhbmNlLmlzVmlzaWJsZSgpfV9jcmVhdGVPdmVybGF5KCl7aWYodGhpcy5fb3ZlcmxheVJlZilyZXR1cm4gdGhpcy5fb3ZlcmxheVJlZjtjb25zdCB0PXRoaXMuX3Njcm9sbERpc3BhdGNoZXIuZ2V0QW5jZXN0b3JTY3JvbGxDb250YWluZXJzKHRoaXMuX2VsZW1lbnRSZWYpLGU9dGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5fZWxlbWVudFJlZikud2l0aFRyYW5zZm9ybU9yaWdpbk9uKGAuJHt0aGlzLl9jc3NDbGFzc1ByZWZpeH0tdG9vbHRpcGApLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoITEpLndpdGhWaWV3cG9ydE1hcmdpbih0aGlzLl92aWV3cG9ydE1hcmdpbikud2l0aFNjcm9sbGFibGVDb250YWluZXJzKHQpO3JldHVybiBlLnBvc2l0aW9uQ2hhbmdlcy5waXBlKGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgodD0+e3RoaXMuX3VwZGF0ZUN1cnJlbnRQb3NpdGlvbkNsYXNzKHQuY29ubmVjdGlvblBhaXIpLHRoaXMuX3Rvb2x0aXBJbnN0YW5jZSYmdC5zY3JvbGxhYmxlVmlld1Byb3BlcnRpZXMuaXNPdmVybGF5Q2xpcHBlZCYmdGhpcy5fdG9vbHRpcEluc3RhbmNlLmlzVmlzaWJsZSgpJiZ0aGlzLl9uZ1pvbmUucnVuKCgoKT0+dGhpcy5oaWRlKDApKSl9KSksdGhpcy5fb3ZlcmxheVJlZj10aGlzLl9vdmVybGF5LmNyZWF0ZSh7ZGlyZWN0aW9uOnRoaXMuX2Rpcixwb3NpdGlvblN0cmF0ZWd5OmUscGFuZWxDbGFzczpgJHt0aGlzLl9jc3NDbGFzc1ByZWZpeH0tdG9vbHRpcC1wYW5lbGAsc2Nyb2xsU3RyYXRlZ3k6dGhpcy5fc2Nyb2xsU3RyYXRlZ3koKX0pLHRoaXMuX3VwZGF0ZVBvc2l0aW9uKHRoaXMuX292ZXJsYXlSZWYpLHRoaXMuX292ZXJsYXlSZWYuZGV0YWNobWVudHMoKS5waXBlKGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgoKCk9PnRoaXMuX2RldGFjaCgpKSksdGhpcy5fb3ZlcmxheVJlZi5vdXRzaWRlUG9pbnRlckV2ZW50cygpLnBpcGUoamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgoKT0+e3ZhciB0O3JldHVybiBudWxsPT09KHQ9dGhpcy5fdG9vbHRpcEluc3RhbmNlKXx8dm9pZCAwPT09dD92b2lkIDA6dC5faGFuZGxlQm9keUludGVyYWN0aW9uKCl9KSksdGhpcy5fb3ZlcmxheVJlZn1fZGV0YWNoKCl7dGhpcy5fb3ZlcmxheVJlZiYmdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpJiZ0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpLHRoaXMuX3Rvb2x0aXBJbnN0YW5jZT1udWxsfV91cGRhdGVQb3NpdGlvbih0KXtjb25zdCBlPXQuZ2V0Q29uZmlnKCkucG9zaXRpb25TdHJhdGVneSxuPXRoaXMuX2dldE9yaWdpbigpLG89dGhpcy5fZ2V0T3ZlcmxheVBvc2l0aW9uKCk7ZS53aXRoUG9zaXRpb25zKFt0aGlzLl9hZGRPZmZzZXQoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG4ubWFpbiksby5tYWluKSksdGhpcy5fYWRkT2Zmc2V0KE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxuLmZhbGxiYWNrKSxvLmZhbGxiYWNrKSldKX1fYWRkT2Zmc2V0KHQpe3JldHVybiB0fV9nZXRPcmlnaW4oKXtjb25zdCB0PSF0aGlzLl9kaXJ8fCJsdHIiPT10aGlzLl9kaXIudmFsdWUsZT10aGlzLnBvc2l0aW9uO2xldCBuO2lmKCJhYm92ZSI9PWV8fCJiZWxvdyI9PWUpbj17b3JpZ2luWDoiY2VudGVyIixvcmlnaW5ZOiJhYm92ZSI9PWU/InRvcCI6ImJvdHRvbSJ9O2Vsc2UgaWYoImJlZm9yZSI9PWV8fCJsZWZ0Ij09ZSYmdHx8InJpZ2h0Ij09ZSYmIXQpbj17b3JpZ2luWDoic3RhcnQiLG9yaWdpblk6ImNlbnRlciJ9O2Vsc2UgaWYoImFmdGVyIj09ZXx8InJpZ2h0Ij09ZSYmdHx8ImxlZnQiPT1lJiYhdCluPXtvcmlnaW5YOiJlbmQiLG9yaWdpblk6ImNlbnRlciJ9O2Vsc2UgaWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSl0aHJvdyBBMChlKTtjb25zdHt4Om8seTppfT10aGlzLl9pbnZlcnRQb3NpdGlvbihuLm9yaWdpblgsbi5vcmlnaW5ZKTtyZXR1cm57bWFpbjpuLGZhbGxiYWNrOntvcmlnaW5YOm8sb3JpZ2luWTppfX19X2dldE92ZXJsYXlQb3NpdGlvbigpe2NvbnN0IHQ9IXRoaXMuX2Rpcnx8Imx0ciI9PXRoaXMuX2Rpci52YWx1ZSxlPXRoaXMucG9zaXRpb247bGV0IG47aWYoImFib3ZlIj09ZSluPXtvdmVybGF5WDoiY2VudGVyIixvdmVybGF5WToiYm90dG9tIn07ZWxzZSBpZigiYmVsb3ciPT1lKW49e292ZXJsYXlYOiJjZW50ZXIiLG92ZXJsYXlZOiJ0b3AifTtlbHNlIGlmKCJiZWZvcmUiPT1lfHwibGVmdCI9PWUmJnR8fCJyaWdodCI9PWUmJiF0KW49e292ZXJsYXlYOiJlbmQiLG92ZXJsYXlZOiJjZW50ZXIifTtlbHNlIGlmKCJhZnRlciI9PWV8fCJyaWdodCI9PWUmJnR8fCJsZWZ0Ij09ZSYmIXQpbj17b3ZlcmxheVg6InN0YXJ0IixvdmVybGF5WToiY2VudGVyIn07ZWxzZSBpZigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKXRocm93IEEwKGUpO2NvbnN0e3g6byx5Oml9PXRoaXMuX2ludmVydFBvc2l0aW9uKG4ub3ZlcmxheVgsbi5vdmVybGF5WSk7cmV0dXJue21haW46bixmYWxsYmFjazp7b3ZlcmxheVg6byxvdmVybGF5WTppfX19X3VwZGF0ZVRvb2x0aXBNZXNzYWdlKCl7dGhpcy5fdG9vbHRpcEluc3RhbmNlJiYodGhpcy5fdG9vbHRpcEluc3RhbmNlLm1lc3NhZ2U9dGhpcy5tZXNzYWdlLHRoaXMuX3Rvb2x0aXBJbnN0YW5jZS5fbWFya0ZvckNoZWNrKCksdGhpcy5fbmdab25lLm9uTWljcm90YXNrRW1wdHkucGlwZSh2ZSgxKSxqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fdG9vbHRpcEluc3RhbmNlJiZ0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCl9KSkpfV9zZXRUb29sdGlwQ2xhc3ModCl7dGhpcy5fdG9vbHRpcEluc3RhbmNlJiYodGhpcy5fdG9vbHRpcEluc3RhbmNlLnRvb2x0aXBDbGFzcz10LHRoaXMuX3Rvb2x0aXBJbnN0YW5jZS5fbWFya0ZvckNoZWNrKCkpfV9pbnZlcnRQb3NpdGlvbih0LGUpe3JldHVybiJhYm92ZSI9PT10aGlzLnBvc2l0aW9ufHwiYmVsb3ciPT09dGhpcy5wb3NpdGlvbj8idG9wIj09PWU/ZT0iYm90dG9tIjoiYm90dG9tIj09PWUmJihlPSJ0b3AiKToiZW5kIj09PXQ/dD0ic3RhcnQiOiJzdGFydCI9PT10JiYodD0iZW5kIikse3g6dCx5OmV9fV91cGRhdGVDdXJyZW50UG9zaXRpb25DbGFzcyh0KXtjb25zdHtvdmVybGF5WTplLG9yaWdpblg6bixvcmlnaW5ZOm99PXQ7bGV0IGk7aWYoaT0iY2VudGVyIj09PWU/dGhpcy5fZGlyJiYicnRsIj09PXRoaXMuX2Rpci52YWx1ZT8iZW5kIj09PW4/ImxlZnQiOiJyaWdodCI6InN0YXJ0Ij09PW4/ImxlZnQiOiJyaWdodCI6ImJvdHRvbSI9PT1lJiYidG9wIj09PW8/ImFib3ZlIjoiYmVsb3ciLGkhPT10aGlzLl9jdXJyZW50UG9zaXRpb24pe2NvbnN0IHQ9dGhpcy5fb3ZlcmxheVJlZjtpZih0KXtjb25zdCBlPWAke3RoaXMuX2Nzc0NsYXNzUHJlZml4fS10b29sdGlwLXBhbmVsLWA7dC5yZW1vdmVQYW5lbENsYXNzKGUrdGhpcy5fY3VycmVudFBvc2l0aW9uKSx0LmFkZFBhbmVsQ2xhc3MoZStpKX10aGlzLl9jdXJyZW50UG9zaXRpb249aX19X3NldHVwUG9pbnRlckVudGVyRXZlbnRzSWZOZWVkZWQoKXshdGhpcy5fZGlzYWJsZWQmJnRoaXMubWVzc2FnZSYmdGhpcy5fdmlld0luaXRpYWxpemVkJiYhdGhpcy5fcGFzc2l2ZUxpc3RlbmVycy5sZW5ndGgmJih0aGlzLl9wbGF0Zm9ybVN1cHBvcnRzTW91c2VFdmVudHMoKT90aGlzLl9wYXNzaXZlTGlzdGVuZXJzLnB1c2goWyJtb3VzZWVudGVyIiwoKT0+e3RoaXMuX3NldHVwUG9pbnRlckV4aXRFdmVudHNJZk5lZWRlZCgpLHRoaXMuc2hvdygpfV0pOiJvZmYiIT09dGhpcy50b3VjaEdlc3R1cmVzJiYodGhpcy5fZGlzYWJsZU5hdGl2ZUdlc3R1cmVzSWZOZWNlc3NhcnkoKSx0aGlzLl9wYXNzaXZlTGlzdGVuZXJzLnB1c2goWyJ0b3VjaHN0YXJ0IiwoKT0+e3RoaXMuX3NldHVwUG9pbnRlckV4aXRFdmVudHNJZk5lZWRlZCgpLGNsZWFyVGltZW91dCh0aGlzLl90b3VjaHN0YXJ0VGltZW91dCksdGhpcy5fdG91Y2hzdGFydFRpbWVvdXQ9c2V0VGltZW91dCgoKCk9PnRoaXMuc2hvdygpKSw1MDApfV0pKSx0aGlzLl9hZGRMaXN0ZW5lcnModGhpcy5fcGFzc2l2ZUxpc3RlbmVycykpfV9zZXR1cFBvaW50ZXJFeGl0RXZlbnRzSWZOZWVkZWQoKXtpZih0aGlzLl9wb2ludGVyRXhpdEV2ZW50c0luaXRpYWxpemVkKXJldHVybjt0aGlzLl9wb2ludGVyRXhpdEV2ZW50c0luaXRpYWxpemVkPSEwO2NvbnN0IHQ9W107aWYodGhpcy5fcGxhdGZvcm1TdXBwb3J0c01vdXNlRXZlbnRzKCkpdC5wdXNoKFsibW91c2VsZWF2ZSIsKCk9PnRoaXMuaGlkZSgpXSxbIndoZWVsIix0PT50aGlzLl93aGVlbExpc3RlbmVyKHQpXSk7ZWxzZSBpZigib2ZmIiE9PXRoaXMudG91Y2hHZXN0dXJlcyl7dGhpcy5fZGlzYWJsZU5hdGl2ZUdlc3R1cmVzSWZOZWNlc3NhcnkoKTtjb25zdCBlPSgpPT57Y2xlYXJUaW1lb3V0KHRoaXMuX3RvdWNoc3RhcnRUaW1lb3V0KSx0aGlzLmhpZGUodGhpcy5fZGVmYXVsdE9wdGlvbnMudG91Y2hlbmRIaWRlRGVsYXkpfTt0LnB1c2goWyJ0b3VjaGVuZCIsZV0sWyJ0b3VjaGNhbmNlbCIsZV0pfXRoaXMuX2FkZExpc3RlbmVycyh0KSx0aGlzLl9wYXNzaXZlTGlzdGVuZXJzLnB1c2goLi4udCl9X2FkZExpc3RlbmVycyh0KXt0LmZvckVhY2goKChbdCxlXSk9Pnt0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0LGUsRTApfSkpfV9wbGF0Zm9ybVN1cHBvcnRzTW91c2VFdmVudHMoKXtyZXR1cm4hdGhpcy5fcGxhdGZvcm0uSU9TJiYhdGhpcy5fcGxhdGZvcm0uQU5EUk9JRH1fd2hlZWxMaXN0ZW5lcih0KXtpZih0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKCkpe2NvbnN0IGU9dGhpcy5fZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCh0LmNsaWVudFgsdC5jbGllbnRZKSxuPXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtlPT09bnx8bi5jb250YWlucyhlKXx8dGhpcy5oaWRlKCl9fV9kaXNhYmxlTmF0aXZlR2VzdHVyZXNJZk5lY2Vzc2FyeSgpe2NvbnN0IHQ9dGhpcy50b3VjaEdlc3R1cmVzO2lmKCJvZmYiIT09dCl7Y29uc3QgZT10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsbj1lLnN0eWxlOygib24iPT09dHx8IklOUFVUIiE9PWUubm9kZU5hbWUmJiJURVhUQVJFQSIhPT1lLm5vZGVOYW1lKSYmKG4udXNlclNlbGVjdD1uLm1zVXNlclNlbGVjdD1uLndlYmtpdFVzZXJTZWxlY3Q9bi5Nb3pVc2VyU2VsZWN0PSJub25lIiksIm9uIiE9PXQmJmUuZHJhZ2dhYmxlfHwobi53ZWJraXRVc2VyRHJhZz0ibm9uZSIpLG4udG91Y2hBY3Rpb249Im5vbmUiLG4ud2Via2l0VGFwSGlnaGxpZ2h0Q29sb3I9InRyYW5zcGFyZW50In19fUYwLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxGMCkoZ2YoS0IpLGdmKEtoKSxnZihLTCksZ2YoRmIpLGdmKG1DKSxnZihjSCksZ2YoTkgpLGdmKGZGKSxnZih2b2lkIDApLGdmKHZGKSxnZih2b2lkIDApLGdmKHNNKSl9LEYwLsm1ZGlyPWhvKHt0eXBlOkYwLGlucHV0czp7c2hvd0RlbGF5OlsibWF0VG9vbHRpcFNob3dEZWxheSIsInNob3dEZWxheSJdLGhpZGVEZWxheTpbIm1hdFRvb2x0aXBIaWRlRGVsYXkiLCJoaWRlRGVsYXkiXSx0b3VjaEdlc3R1cmVzOlsibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiLCJ0b3VjaEdlc3R1cmVzIl0scG9zaXRpb246WyJtYXRUb29sdGlwUG9zaXRpb24iLCJwb3NpdGlvbiJdLGRpc2FibGVkOlsibWF0VG9vbHRpcERpc2FibGVkIiwiZGlzYWJsZWQiXSxtZXNzYWdlOlsibWF0VG9vbHRpcCIsIm1lc3NhZ2UiXSx0b29sdGlwQ2xhc3M6WyJtYXRUb29sdGlwQ2xhc3MiLCJ0b29sdGlwQ2xhc3MiXX19KSxGMC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktCfSx7dHlwZTpLaH0se3R5cGU6S0x9LHt0eXBlOkZifSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOk5IfSx7dHlwZTpmRn0se3R5cGU6dm9pZCAwfSx7dHlwZTp2Rn0se3R5cGU6dm9pZCAwfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XSxGMC5wcm9wRGVjb3JhdG9ycz17cG9zaXRpb246W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwUG9zaXRpb24iXX1dLGRpc2FibGVkOlt7dHlwZTpSXyxhcmdzOlsibWF0VG9vbHRpcERpc2FibGVkIl19XSxzaG93RGVsYXk6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwU2hvd0RlbGF5Il19XSxoaWRlRGVsYXk6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwSGlkZURlbGF5Il19XSx0b3VjaEdlc3R1cmVzOlt7dHlwZTpSXyxhcmdzOlsibWF0VG9vbHRpcFRvdWNoR2VzdHVyZXMiXX1dLG1lc3NhZ2U6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwIl19XSx0b29sdGlwQ2xhc3M6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwQ2xhc3MiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEYwLFt7dHlwZTprX31dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLQn0se3R5cGU6S2h9LHt0eXBlOktMfSx7dHlwZTpGYn0se3R5cGU6bUN9LHt0eXBlOmNIfSx7dHlwZTpOSH0se3R5cGU6ZkZ9LHt0eXBlOnZvaWQgMH0se3R5cGU6dkZ9LHt0eXBlOnZvaWQgMH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSx7c2hvd0RlbGF5Olt7dHlwZTpSXyxhcmdzOlsibWF0VG9vbHRpcFNob3dEZWxheSJdfV0saGlkZURlbGF5Olt7dHlwZTpSXyxhcmdzOlsibWF0VG9vbHRpcEhpZGVEZWxheSJdfV0sdG91Y2hHZXN0dXJlczpbe3R5cGU6Ul8sYXJnczpbIm1hdFRvb2x0aXBUb3VjaEdlc3R1cmVzIl19XSxwb3NpdGlvbjpbe3R5cGU6Ul8sYXJnczpbIm1hdFRvb2x0aXBQb3NpdGlvbiJdfV0sZGlzYWJsZWQ6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwRGlzYWJsZWQiXX1dLG1lc3NhZ2U6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwIl19XSx0b29sdGlwQ2xhc3M6W3t0eXBlOlJfLGFyZ3M6WyJtYXRUb29sdGlwQ2xhc3MiXX1dfSk7Y2xhc3MgTDAgZXh0ZW5kcyBGMHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMsbCxjLGQscCl7c3VwZXIodCxlLG4sbyxpLGEscixzLGwsYyxkLHApLHRoaXMuX3Rvb2x0aXBDb21wb25lbnQ9VjB9fUwwLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxMMCkoZ2YoS0IpLGdmKEtoKSxnZihLTCksZ2YoRmIpLGdmKG1DKSxnZihjSCksZ2YoTkgpLGdmKGZGKSxnZihUMCksZ2YodkYsOCksZ2YoSTAsOCksZ2Yoc00pKX0sTDAuybVkaXI9aG8oe3R5cGU6TDAsc2VsZWN0b3JzOltbIiIsIm1hdFRvb2x0aXAiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtdG9vbHRpcC10cmlnZ2VyIl0sZXhwb3J0QXM6WyJtYXRUb29sdGlwIl0sZmVhdHVyZXM6W1FwXX0pLEwwLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S0J9LHt0eXBlOktofSx7dHlwZTpLTH0se3R5cGU6RmJ9LHt0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6Tkh9LHt0eXBlOmZGfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbVDBdfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbSTBdfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTDAsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdFRvb2x0aXBdIixleHBvcnRBczoibWF0VG9vbHRpcCIsaG9zdDp7Y2xhc3M6Im1hdC10b29sdGlwLXRyaWdnZXIifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktCfSx7dHlwZTpLaH0se3R5cGU6S0x9LHt0eXBlOkZifSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOk5IfSx7dHlwZTpmRn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1QwXX1dfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W0kwXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19XX0pLG51bGwpO2NsYXNzIEIwe2NvbnN0cnVjdG9yKHQpe3RoaXMuX2NoYW5nZURldGVjdG9yUmVmPXQsdGhpcy5fdmlzaWJpbGl0eT0iaW5pdGlhbCIsdGhpcy5fY2xvc2VPbkludGVyYWN0aW9uPSExLHRoaXMuX29uSGlkZT1uZXcgQn1zaG93KHQpe2NsZWFyVGltZW91dCh0aGlzLl9oaWRlVGltZW91dElkKSx0aGlzLl9jbG9zZU9uSW50ZXJhY3Rpb249ITAsdGhpcy5fc2hvd1RpbWVvdXRJZD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX3Zpc2liaWxpdHk9InZpc2libGUiLHRoaXMuX3Nob3dUaW1lb3V0SWQ9dm9pZCAwLHRoaXMuX29uU2hvdygpLHRoaXMuX21hcmtGb3JDaGVjaygpfSksdCl9aGlkZSh0KXtjbGVhclRpbWVvdXQodGhpcy5fc2hvd1RpbWVvdXRJZCksdGhpcy5faGlkZVRpbWVvdXRJZD1zZXRUaW1lb3V0KCgoKT0+e3RoaXMuX3Zpc2liaWxpdHk9ImhpZGRlbiIsdGhpcy5faGlkZVRpbWVvdXRJZD12b2lkIDAsdGhpcy5fbWFya0ZvckNoZWNrKCl9KSx0KX1hZnRlckhpZGRlbigpe3JldHVybiB0aGlzLl9vbkhpZGV9aXNWaXNpYmxlKCl7cmV0dXJuInZpc2libGUiPT09dGhpcy5fdmlzaWJpbGl0eX1uZ09uRGVzdHJveSgpe2NsZWFyVGltZW91dCh0aGlzLl9zaG93VGltZW91dElkKSxjbGVhclRpbWVvdXQodGhpcy5faGlkZVRpbWVvdXRJZCksdGhpcy5fb25IaWRlLmNvbXBsZXRlKCl9X2FuaW1hdGlvblN0YXJ0KCl7dGhpcy5fY2xvc2VPbkludGVyYWN0aW9uPSExfV9hbmltYXRpb25Eb25lKHQpe2NvbnN0IGU9dC50b1N0YXRlOyJoaWRkZW4iIT09ZXx8dGhpcy5pc1Zpc2libGUoKXx8dGhpcy5fb25IaWRlLm5leHQoKSwidmlzaWJsZSIhPT1lJiYiaGlkZGVuIiE9PWV8fCh0aGlzLl9jbG9zZU9uSW50ZXJhY3Rpb249ITApfV9oYW5kbGVCb2R5SW50ZXJhY3Rpb24oKXt0aGlzLl9jbG9zZU9uSW50ZXJhY3Rpb24mJnRoaXMuaGlkZSgwKX1fbWFya0ZvckNoZWNrKCl7dGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9X29uU2hvdygpe319QjAuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEIwKShnZihPYikpfSxCMC7JtWRpcj1obyh7dHlwZTpCMH0pLEIwLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6T2J9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEIwLFt7dHlwZTprX31dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpPYn1dfSksbnVsbCk7Y2xhc3MgVjAgZXh0ZW5kcyBCMHtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQpLHRoaXMuX2JyZWFrcG9pbnRPYnNlcnZlcj1lLHRoaXMuX2lzSGFuZHNldD10aGlzLl9icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShtVil9fVYwLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxWMCkoZ2YoT2IpLGdmKGRWKSl9LFYwLsm1Y21wPXNvKHt0eXBlOlYwLHNlbGVjdG9yczpbWyJtYXQtdG9vbHRpcC1jb21wb25lbnQiXV0saG9zdEF0dHJzOlsiYXJpYS1oaWRkZW4iLCJ0cnVlIl0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmbHUoInpvb20iLCJ2aXNpYmxlIj09PW4uX3Zpc2liaWxpdHk/MTpudWxsKX0sZmVhdHVyZXM6W1FwXSxkZWNsczozLHZhcnM6Nyxjb25zdHM6W1sxLCJtYXQtdG9vbHRpcCIsMywibmdDbGFzcyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiZGl2IiwwKSxSZigiQHN0YXRlLnN0YXJ0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9hbmltYXRpb25TdGFydCgpfSkpKCJAc3RhdGUuZG9uZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2FuaW1hdGlvbkRvbmUoZSl9KSksX3koMSwiYXN5bmMiKSxQdSgyKSxNZigpKSwyJmUpe2xldCB0O2N1KCJtYXQtdG9vbHRpcC1oYW5kc2V0IixudWxsPT0odD1DeSgxLDUsbi5faXNIYW5kc2V0KSk/bnVsbDp0Lm1hdGNoZXMpLGJmKCJuZ0NsYXNzIixuLnRvb2x0aXBDbGFzcykoIkBzdGF0ZSIsbi5fdmlzaWJpbGl0eSksRGMoMiksd3Uobi5tZXNzYWdlKX19LGRpcmVjdGl2ZXM6W0N2XSxwaXBlczpbVnZdLHN0eWxlczpbIi5tYXQtdG9vbHRpcC1wYW5lbHtwb2ludGVyLWV2ZW50czpub25lICFpbXBvcnRhbnR9Lm1hdC10b29sdGlwe2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czo0cHg7bWFyZ2luOjE0cHg7bWF4LXdpZHRoOjI1MHB4O3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDo4cHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXRvb2x0aXB7b3V0bGluZTpzb2xpZCAxcHh9Lm1hdC10b29sdGlwLWhhbmRzZXR7bWFyZ2luOjI0cHg7cGFkZGluZy1sZWZ0OjE2cHg7cGFkZGluZy1yaWdodDoxNnB4fVxuIl0sZW5jYXBzdWxhdGlvbjoyLGRhdGE6e2FuaW1hdGlvbjpbUjAudG9vbHRpcFN0YXRlXX0sY2hhbmdlRGV0ZWN0aW9uOjB9KSxWMC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOk9ifSx7dHlwZTpkVn1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVjAsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXRvb2x0aXAtY29tcG9uZW50Iix0ZW1wbGF0ZTonPGRpdiBjbGFzcz0ibWF0LXRvb2x0aXAiXG4gICAgIFtuZ0NsYXNzXT0idG9vbHRpcENsYXNzIlxuICAgICBbY2xhc3MubWF0LXRvb2x0aXAtaGFuZHNldF09IihfaXNIYW5kc2V0IHwgYXN5bmMpPy5tYXRjaGVzIlxuICAgICBbQHN0YXRlXT0iX3Zpc2liaWxpdHkiXG4gICAgIChAc3RhdGUuc3RhcnQpPSJfYW5pbWF0aW9uU3RhcnQoKSJcbiAgICAgKEBzdGF0ZS5kb25lKT0iX2FuaW1hdGlvbkRvbmUoJGV2ZW50KSI+e3ttZXNzYWdlfX08L2Rpdj5cbicsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsYW5pbWF0aW9uczpbUjAudG9vbHRpcFN0YXRlXSxob3N0OnsiW3N0eWxlLnpvb21dIjonX3Zpc2liaWxpdHkgPT09ICJ2aXNpYmxlIiA/IDEgOiBudWxsJywiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sc3R5bGVzOlsiLm1hdC10b29sdGlwLXBhbmVse3BvaW50ZXItZXZlbnRzOm5vbmUgIWltcG9ydGFudH0ubWF0LXRvb2x0aXB7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjRweDttYXJnaW46MTRweDttYXgtd2lkdGg6MjUwcHg7cGFkZGluZy1sZWZ0OjhweDtwYWRkaW5nLXJpZ2h0OjhweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtdG9vbHRpcHtvdXRsaW5lOnNvbGlkIDFweH0ubWF0LXRvb2x0aXAtaGFuZHNldHttYXJnaW46MjRweDtwYWRkaW5nLWxlZnQ6MTZweDtwYWRkaW5nLXJpZ2h0OjE2cHh9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOk9ifSx7dHlwZTpkVn1dfSksbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBqMHt9ZnVuY3Rpb24gVTAodCxlKXtpZigxJnQmJihDZigwLCJtYXQtb3B0aW9uIiwxOSksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0O2JmKCJ2YWx1ZSIsdCksRGMoMSksa3UoIiAiLHQsIiAiKX19ZnVuY3Rpb24gVzAodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJtYXQtZm9ybS1maWVsZCIsMTYpLENmKDEsIm1hdC1zZWxlY3QiLDE3KSxSZigic2VsZWN0aW9uQ2hhbmdlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikuX2NoYW5nZVBhZ2VTaXplKG4udmFsdWUpfSkpLEhtKDIsVTAsMiwyLCJtYXQtb3B0aW9uIiwxOCksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigyKTtiZigiYXBwZWFyYW5jZSIsdC5fZm9ybUZpZWxkQXBwZWFyYW5jZSkoImNvbG9yIix0LmNvbG9yKSxEYygxKSxiZigidmFsdWUiLHQucGFnZVNpemUpKCJkaXNhYmxlZCIsdC5kaXNhYmxlZCkoImFyaWEtbGFiZWwiLHQuX2ludGwuaXRlbXNQZXJQYWdlTGFiZWwpLERjKDEpLGJmKCJuZ0Zvck9mIix0Ll9kaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMpfX1mdW5jdGlvbiBHMCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMjApLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYygxKSx3dSh0LnBhZ2VTaXplKX19ZnVuY3Rpb24gWTAodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDEyKSxDZigxLCJkaXYiLDEzKSxQdSgyKSxNZigpLEhtKDMsVzAsMyw2LCJtYXQtZm9ybS1maWVsZCIsMTQpLEhtKDQsRzAsMiwxLCJkaXYiLDE1KSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygyKSxrdSgiICIsdC5faW50bC5pdGVtc1BlclBhZ2VMYWJlbCwiICIpLERjKDEpLGJmKCJuZ0lmIix0Ll9kaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMubGVuZ3RoPjEpLERjKDEpLGJmKCJuZ0lmIix0Ll9kaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMubGVuZ3RoPD0xKX19ZnVuY3Rpb24gcTAodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDIxKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkuZmlyc3RQYWdlKCl9KSksb2EoKSxDZigxLCJzdmciLDcpLHZmKDIsInBhdGgiLDIyKSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7YmYoIm1hdFRvb2x0aXAiLHQuX2ludGwuZmlyc3RQYWdlTGFiZWwpKCJtYXRUb29sdGlwRGlzYWJsZWQiLHQuX3ByZXZpb3VzQnV0dG9uc0Rpc2FibGVkKCkpKCJtYXRUb29sdGlwUG9zaXRpb24iLCJhYm92ZSIpKCJkaXNhYmxlZCIsdC5fcHJldmlvdXNCdXR0b25zRGlzYWJsZWQoKSkseW0oImFyaWEtbGFiZWwiLHQuX2ludGwuZmlyc3RQYWdlTGFiZWwpfX1mdW5jdGlvbiBaMCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO29hKCksYWEoKSxDZigwLCJidXR0b24iLDIzKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkubGFzdFBhZ2UoKX0pKSxvYSgpLENmKDEsInN2ZyIsNyksdmYoMiwicGF0aCIsMjQpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtiZigibWF0VG9vbHRpcCIsdC5faW50bC5sYXN0UGFnZUxhYmVsKSgibWF0VG9vbHRpcERpc2FibGVkIix0Ll9uZXh0QnV0dG9uc0Rpc2FibGVkKCkpKCJtYXRUb29sdGlwUG9zaXRpb24iLCJhYm92ZSIpKCJkaXNhYmxlZCIsdC5fbmV4dEJ1dHRvbnNEaXNhYmxlZCgpKSx5bSgiYXJpYS1sYWJlbCIsdC5faW50bC5sYXN0UGFnZUxhYmVsKX19ajAuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGowKX0sajAuybVtb2Q9Zm8oe3R5cGU6ajB9KSxqMC7JtWluaj1Ebih7cHJvdmlkZXJzOltOMF0saW1wb3J0czpbW19GLHJ4LG9WLE5GXSxORixvQl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGowLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbX0Yscngsb1YsTkZdLGV4cG9ydHM6W0wwLFYwLE5GLG9CXSxkZWNsYXJhdGlvbnM6W0wwLFYwXSxlbnRyeUNvbXBvbmVudHM6W1YwXSxwcm92aWRlcnM6W04wXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGowLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bTDAsVjBdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW19GLHJ4LG9WLE5GXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltMMCxWMCxORixvQl19fSk7Y2xhc3MgWDB7Y29uc3RydWN0b3IoKXt0aGlzLmNoYW5nZXM9bmV3IEIsdGhpcy5pdGVtc1BlclBhZ2VMYWJlbD0iSXRlbXMgcGVyIHBhZ2U6Iix0aGlzLm5leHRQYWdlTGFiZWw9Ik5leHQgcGFnZSIsdGhpcy5wcmV2aW91c1BhZ2VMYWJlbD0iUHJldmlvdXMgcGFnZSIsdGhpcy5maXJzdFBhZ2VMYWJlbD0iRmlyc3QgcGFnZSIsdGhpcy5sYXN0UGFnZUxhYmVsPSJMYXN0IHBhZ2UiLHRoaXMuZ2V0UmFuZ2VMYWJlbD0odCxlLG4pPT57aWYoMD09bnx8MD09ZSlyZXR1cm5gMCBvZiAke259YDtjb25zdCBvPXQqZTtyZXR1cm5gJHtvKzF9IOKAkyAke288KG49TWF0aC5tYXgobiwwKSk/TWF0aC5taW4obytlLG4pOm8rZX0gb2YgJHtufWB9fX1YMC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8WDApfSxYMC7JtXByb3Y9U24oe2ZhY3Rvcnk6ZnVuY3Rpb24gdCgpe3JldHVybiBuZXcgWDB9LHRva2VuOlgwLHByb3ZpZGVkSW46InJvb3QifSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYMCxbe3R5cGU6VW0sYXJnczpbe3Byb3ZpZGVkSW46InJvb3QifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5bXX0pLG51bGwpO2NvbnN0IEswPXtwcm92aWRlOlgwLGRlcHM6W1tuZXcgQnIsbmV3IGpyLFgwXV0sdXNlRmFjdG9yeTpmdW5jdGlvbiBKMCh0KXtyZXR1cm4gdHx8bmV3IFgwfX0sUTA9bmV3IGVyKCJNQVRfUEFHSU5BVE9SX0RFRkFVTFRfT1BUSU9OUyIpLCQwPXpGKEJGKGNsYXNze30pKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgdDEgZXh0ZW5kcyAkMHtjb25zdHJ1Y3Rvcih0LGUsbil7aWYoc3VwZXIoKSx0aGlzLl9pbnRsPXQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9ZSx0aGlzLl9wYWdlSW5kZXg9MCx0aGlzLl9sZW5ndGg9MCx0aGlzLl9wYWdlU2l6ZU9wdGlvbnM9W10sdGhpcy5faGlkZVBhZ2VTaXplPSExLHRoaXMuX3Nob3dGaXJzdExhc3RCdXR0b25zPSExLHRoaXMucGFnZT1uZXcgU3ksdGhpcy5faW50bENoYW5nZXM9dC5jaGFuZ2VzLnN1YnNjcmliZSgoKCk9PnRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKSksbil7Y29uc3R7cGFnZVNpemU6dCxwYWdlU2l6ZU9wdGlvbnM6ZSxoaWRlUGFnZVNpemU6byxzaG93Rmlyc3RMYXN0QnV0dG9uczppfT1uO251bGwhPXQmJih0aGlzLl9wYWdlU2l6ZT10KSxudWxsIT1lJiYodGhpcy5fcGFnZVNpemVPcHRpb25zPWUpLG51bGwhPW8mJih0aGlzLl9oaWRlUGFnZVNpemU9byksbnVsbCE9aSYmKHRoaXMuX3Nob3dGaXJzdExhc3RCdXR0b25zPWkpfX1nZXQgcGFnZUluZGV4KCl7cmV0dXJuIHRoaXMuX3BhZ2VJbmRleH1zZXQgcGFnZUluZGV4KHQpe3RoaXMuX3BhZ2VJbmRleD1NYXRoLm1heChuSCh0KSwwKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuX2xlbmd0aH1zZXQgbGVuZ3RoKHQpe3RoaXMuX2xlbmd0aD1uSCh0KSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX1nZXQgcGFnZVNpemUoKXtyZXR1cm4gdGhpcy5fcGFnZVNpemV9c2V0IHBhZ2VTaXplKHQpe3RoaXMuX3BhZ2VTaXplPU1hdGgubWF4KG5IKHQpLDApLHRoaXMuX3VwZGF0ZURpc3BsYXllZFBhZ2VTaXplT3B0aW9ucygpfWdldCBwYWdlU2l6ZU9wdGlvbnMoKXtyZXR1cm4gdGhpcy5fcGFnZVNpemVPcHRpb25zfXNldCBwYWdlU2l6ZU9wdGlvbnModCl7dGhpcy5fcGFnZVNpemVPcHRpb25zPSh0fHxbXSkubWFwKCh0PT5uSCh0KSkpLHRoaXMuX3VwZGF0ZURpc3BsYXllZFBhZ2VTaXplT3B0aW9ucygpfWdldCBoaWRlUGFnZVNpemUoKXtyZXR1cm4gdGhpcy5faGlkZVBhZ2VTaXplfXNldCBoaWRlUGFnZVNpemUodCl7dGhpcy5faGlkZVBhZ2VTaXplPWVIKHQpfWdldCBzaG93Rmlyc3RMYXN0QnV0dG9ucygpe3JldHVybiB0aGlzLl9zaG93Rmlyc3RMYXN0QnV0dG9uc31zZXQgc2hvd0ZpcnN0TGFzdEJ1dHRvbnModCl7dGhpcy5fc2hvd0ZpcnN0TGFzdEJ1dHRvbnM9ZUgodCl9bmdPbkluaXQoKXt0aGlzLl9pbml0aWFsaXplZD0hMCx0aGlzLl91cGRhdGVEaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMoKSx0aGlzLl9tYXJrSW5pdGlhbGl6ZWQoKX1uZ09uRGVzdHJveSgpe3RoaXMuX2ludGxDaGFuZ2VzLnVuc3Vic2NyaWJlKCl9bmV4dFBhZ2UoKXtpZighdGhpcy5oYXNOZXh0UGFnZSgpKXJldHVybjtjb25zdCB0PXRoaXMucGFnZUluZGV4O3RoaXMucGFnZUluZGV4KyssdGhpcy5fZW1pdFBhZ2VFdmVudCh0KX1wcmV2aW91c1BhZ2UoKXtpZighdGhpcy5oYXNQcmV2aW91c1BhZ2UoKSlyZXR1cm47Y29uc3QgdD10aGlzLnBhZ2VJbmRleDt0aGlzLnBhZ2VJbmRleC0tLHRoaXMuX2VtaXRQYWdlRXZlbnQodCl9Zmlyc3RQYWdlKCl7aWYoIXRoaXMuaGFzUHJldmlvdXNQYWdlKCkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5wYWdlSW5kZXg7dGhpcy5wYWdlSW5kZXg9MCx0aGlzLl9lbWl0UGFnZUV2ZW50KHQpfWxhc3RQYWdlKCl7aWYoIXRoaXMuaGFzTmV4dFBhZ2UoKSlyZXR1cm47Y29uc3QgdD10aGlzLnBhZ2VJbmRleDt0aGlzLnBhZ2VJbmRleD10aGlzLmdldE51bWJlck9mUGFnZXMoKS0xLHRoaXMuX2VtaXRQYWdlRXZlbnQodCl9aGFzUHJldmlvdXNQYWdlKCl7cmV0dXJuIHRoaXMucGFnZUluZGV4Pj0xJiYwIT10aGlzLnBhZ2VTaXplfWhhc05leHRQYWdlKCl7Y29uc3QgdD10aGlzLmdldE51bWJlck9mUGFnZXMoKS0xO3JldHVybiB0aGlzLnBhZ2VJbmRleDx0JiYwIT10aGlzLnBhZ2VTaXplfWdldE51bWJlck9mUGFnZXMoKXtyZXR1cm4gdGhpcy5wYWdlU2l6ZT9NYXRoLmNlaWwodGhpcy5sZW5ndGgvdGhpcy5wYWdlU2l6ZSk6MH1fY2hhbmdlUGFnZVNpemUodCl7Y29uc3QgZT10aGlzLnBhZ2VJbmRleDt0aGlzLnBhZ2VJbmRleD1NYXRoLmZsb29yKHRoaXMucGFnZUluZGV4KnRoaXMucGFnZVNpemUvdCl8fDAsdGhpcy5wYWdlU2l6ZT10LHRoaXMuX2VtaXRQYWdlRXZlbnQoZSl9X25leHRCdXR0b25zRGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5kaXNhYmxlZHx8IXRoaXMuaGFzTmV4dFBhZ2UoKX1fcHJldmlvdXNCdXR0b25zRGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5kaXNhYmxlZHx8IXRoaXMuaGFzUHJldmlvdXNQYWdlKCl9X3VwZGF0ZURpc3BsYXllZFBhZ2VTaXplT3B0aW9ucygpe3RoaXMuX2luaXRpYWxpemVkJiYodGhpcy5wYWdlU2l6ZXx8KHRoaXMuX3BhZ2VTaXplPTAhPXRoaXMucGFnZVNpemVPcHRpb25zLmxlbmd0aD90aGlzLnBhZ2VTaXplT3B0aW9uc1swXTo1MCksdGhpcy5fZGlzcGxheWVkUGFnZVNpemVPcHRpb25zPXRoaXMucGFnZVNpemVPcHRpb25zLnNsaWNlKCksLTE9PT10aGlzLl9kaXNwbGF5ZWRQYWdlU2l6ZU9wdGlvbnMuaW5kZXhPZih0aGlzLnBhZ2VTaXplKSYmdGhpcy5fZGlzcGxheWVkUGFnZVNpemVPcHRpb25zLnB1c2godGhpcy5wYWdlU2l6ZSksdGhpcy5fZGlzcGxheWVkUGFnZVNpemVPcHRpb25zLnNvcnQoKCh0LGUpPT50LWUpKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSl9X2VtaXRQYWdlRXZlbnQodCl7dGhpcy5wYWdlLmVtaXQoe3ByZXZpb3VzUGFnZUluZGV4OnQscGFnZUluZGV4OnRoaXMucGFnZUluZGV4LHBhZ2VTaXplOnRoaXMucGFnZVNpemUsbGVuZ3RoOnRoaXMubGVuZ3RofSl9fXQxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx0MSkoZ2YoWDApLGdmKE9iKSxnZih2b2lkIDApKX0sdDEuybVkaXI9aG8oe3R5cGU6dDEsaW5wdXRzOntwYWdlSW5kZXg6InBhZ2VJbmRleCIsbGVuZ3RoOiJsZW5ndGgiLHBhZ2VTaXplOiJwYWdlU2l6ZSIscGFnZVNpemVPcHRpb25zOiJwYWdlU2l6ZU9wdGlvbnMiLGhpZGVQYWdlU2l6ZToiaGlkZVBhZ2VTaXplIixzaG93Rmlyc3RMYXN0QnV0dG9uczoic2hvd0ZpcnN0TGFzdEJ1dHRvbnMiLGNvbG9yOiJjb2xvciJ9LG91dHB1dHM6e3BhZ2U6InBhZ2UifSxmZWF0dXJlczpbUXBdfSksdDEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpYMH0se3R5cGU6T2J9LHt0eXBlOnZvaWQgMH1dLHQxLnByb3BEZWNvcmF0b3JzPXtjb2xvcjpbe3R5cGU6Ul99XSxwYWdlSW5kZXg6W3t0eXBlOlJffV0sbGVuZ3RoOlt7dHlwZTpSX31dLHBhZ2VTaXplOlt7dHlwZTpSX31dLHBhZ2VTaXplT3B0aW9uczpbe3R5cGU6Ul99XSxoaWRlUGFnZVNpemU6W3t0eXBlOlJffV0sc2hvd0ZpcnN0TGFzdEJ1dHRvbnM6W3t0eXBlOlJffV0scGFnZTpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih0MSxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6WDB9LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDB9XX0pLHtwYWdlOlt7dHlwZTpFX31dLHBhZ2VJbmRleDpbe3R5cGU6Ul99XSxsZW5ndGg6W3t0eXBlOlJffV0scGFnZVNpemU6W3t0eXBlOlJffV0scGFnZVNpemVPcHRpb25zOlt7dHlwZTpSX31dLGhpZGVQYWdlU2l6ZTpbe3R5cGU6Ul99XSxzaG93Rmlyc3RMYXN0QnV0dG9uczpbe3R5cGU6Ul99XSxjb2xvcjpbe3R5cGU6Ul99XX0pO2NsYXNzIGUxIGV4dGVuZHMgdDF7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSxuKSxuJiZudWxsIT1uLmZvcm1GaWVsZEFwcGVhcmFuY2UmJih0aGlzLl9mb3JtRmllbGRBcHBlYXJhbmNlPW4uZm9ybUZpZWxkQXBwZWFyYW5jZSl9fWUxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxlMSkoZ2YoWDApLGdmKE9iKSxnZihRMCw4KSl9LGUxLsm1Y21wPXNvKHt0eXBlOmUxLHNlbGVjdG9yczpbWyJtYXQtcGFnaW5hdG9yIl1dLGhvc3RBdHRyczpbInJvbGUiLCJncm91cCIsMSwibWF0LXBhZ2luYXRvciJdLGlucHV0czp7ZGlzYWJsZWQ6ImRpc2FibGVkIn0sZXhwb3J0QXM6WyJtYXRQYWdpbmF0b3IiXSxmZWF0dXJlczpbUXBdLGRlY2xzOjE0LHZhcnM6MTQsY29uc3RzOltbMSwibWF0LXBhZ2luYXRvci1vdXRlci1jb250YWluZXIiXSxbMSwibWF0LXBhZ2luYXRvci1jb250YWluZXIiXSxbImNsYXNzIiwibWF0LXBhZ2luYXRvci1wYWdlLXNpemUiLDQsIm5nSWYiXSxbMSwibWF0LXBhZ2luYXRvci1yYW5nZS1hY3Rpb25zIl0sWzEsIm1hdC1wYWdpbmF0b3ItcmFuZ2UtbGFiZWwiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsInR5cGUiLCJidXR0b24iLCJjbGFzcyIsIm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1maXJzdCIsMywibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBQb3NpdGlvbiIsImRpc2FibGVkIiwiY2xpY2siLDQsIm5nSWYiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsInR5cGUiLCJidXR0b24iLDEsIm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1wcmV2aW91cyIsMywibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBQb3NpdGlvbiIsImRpc2FibGVkIiwiY2xpY2siXSxbInZpZXdCb3giLCIwIDAgMjQgMjQiLCJmb2N1c2FibGUiLCJmYWxzZSIsMSwibWF0LXBhZ2luYXRvci1pY29uIl0sWyJkIiwiTTE1LjQxIDcuNDFMMTQgNmwtNiA2IDYgNiAxLjQxLTEuNDFMMTAuODMgMTJ6Il0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJ0eXBlIiwiYnV0dG9uIiwxLCJtYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbmV4dCIsMywibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBQb3NpdGlvbiIsImRpc2FibGVkIiwiY2xpY2siXSxbImQiLCJNMTAgNkw4LjU5IDcuNDEgMTMuMTcgMTJsLTQuNTggNC41OUwxMCAxOGw2LTZ6Il0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJ0eXBlIiwiYnV0dG9uIiwiY2xhc3MiLCJtYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbGFzdCIsMywibWF0VG9vbHRpcCIsIm1hdFRvb2x0aXBEaXNhYmxlZCIsIm1hdFRvb2x0aXBQb3NpdGlvbiIsImRpc2FibGVkIiwiY2xpY2siLDQsIm5nSWYiXSxbMSwibWF0LXBhZ2luYXRvci1wYWdlLXNpemUiXSxbMSwibWF0LXBhZ2luYXRvci1wYWdlLXNpemUtbGFiZWwiXSxbImNsYXNzIiwibWF0LXBhZ2luYXRvci1wYWdlLXNpemUtc2VsZWN0IiwzLCJhcHBlYXJhbmNlIiwiY29sb3IiLDQsIm5nSWYiXSxbImNsYXNzIiwibWF0LXBhZ2luYXRvci1wYWdlLXNpemUtdmFsdWUiLDQsIm5nSWYiXSxbMSwibWF0LXBhZ2luYXRvci1wYWdlLXNpemUtc2VsZWN0IiwzLCJhcHBlYXJhbmNlIiwiY29sb3IiXSxbMywidmFsdWUiLCJkaXNhYmxlZCIsImFyaWEtbGFiZWwiLCJzZWxlY3Rpb25DaGFuZ2UiXSxbMywidmFsdWUiLDQsIm5nRm9yIiwibmdGb3JPZiJdLFszLCJ2YWx1ZSJdLFsxLCJtYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZS12YWx1ZSJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwidHlwZSIsImJ1dHRvbiIsMSwibWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLWZpcnN0IiwzLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFBvc2l0aW9uIiwiZGlzYWJsZWQiLCJjbGljayJdLFsiZCIsIk0xOC40MSAxNi41OUwxMy44MiAxMmw0LjU5LTQuNTlMMTcgNmwtNiA2IDYgNnpNNiA2aDJ2MTJINnoiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsInR5cGUiLCJidXR0b24iLDEsIm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1sYXN0IiwzLCJtYXRUb29sdGlwIiwibWF0VG9vbHRpcERpc2FibGVkIiwibWF0VG9vbHRpcFBvc2l0aW9uIiwiZGlzYWJsZWQiLCJjbGljayJdLFsiZCIsIk01LjU5IDcuNDFMMTAuMTggMTJsLTQuNTkgNC41OUw3IDE4bDYtNi02LTZ6TTE2IDZoMnYxMmgtMnoiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwiZGl2IiwxKSxIbSgyLFkwLDUsMywiZGl2IiwyKSxDZigzLCJkaXYiLDMpLENmKDQsImRpdiIsNCksUHUoNSksTWYoKSxIbSg2LHEwLDMsNSwiYnV0dG9uIiw1KSxDZig3LCJidXR0b24iLDYpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5wcmV2aW91c1BhZ2UoKX0pKSxvYSgpLENmKDgsInN2ZyIsNyksdmYoOSwicGF0aCIsOCksTWYoKSxNZigpLGFhKCksQ2YoMTAsImJ1dHRvbiIsOSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm5leHRQYWdlKCl9KSksb2EoKSxDZigxMSwic3ZnIiw3KSx2ZigxMiwicGF0aCIsMTApLE1mKCksTWYoKSxIbSgxMyxaMCwzLDUsImJ1dHRvbiIsMTEpLE1mKCksTWYoKSxNZigpKSwyJmUmJihEYygyKSxiZigibmdJZiIsIW4uaGlkZVBhZ2VTaXplKSxEYygzKSxrdSgiICIsbi5faW50bC5nZXRSYW5nZUxhYmVsKG4ucGFnZUluZGV4LG4ucGFnZVNpemUsbi5sZW5ndGgpLCIgIiksRGMoMSksYmYoIm5nSWYiLG4uc2hvd0ZpcnN0TGFzdEJ1dHRvbnMpLERjKDEpLGJmKCJtYXRUb29sdGlwIixuLl9pbnRsLnByZXZpb3VzUGFnZUxhYmVsKSgibWF0VG9vbHRpcERpc2FibGVkIixuLl9wcmV2aW91c0J1dHRvbnNEaXNhYmxlZCgpKSgibWF0VG9vbHRpcFBvc2l0aW9uIiwiYWJvdmUiKSgiZGlzYWJsZWQiLG4uX3ByZXZpb3VzQnV0dG9uc0Rpc2FibGVkKCkpLHltKCJhcmlhLWxhYmVsIixuLl9pbnRsLnByZXZpb3VzUGFnZUxhYmVsKSxEYygzKSxiZigibWF0VG9vbHRpcCIsbi5faW50bC5uZXh0UGFnZUxhYmVsKSgibWF0VG9vbHRpcERpc2FibGVkIixuLl9uZXh0QnV0dG9uc0Rpc2FibGVkKCkpKCJtYXRUb29sdGlwUG9zaXRpb24iLCJhYm92ZSIpKCJkaXNhYmxlZCIsbi5fbmV4dEJ1dHRvbnNEaXNhYmxlZCgpKSx5bSgiYXJpYS1sYWJlbCIsbi5faW50bC5uZXh0UGFnZUxhYmVsKSxEYygzKSxiZigibmdJZiIsbi5zaG93Rmlyc3RMYXN0QnV0dG9ucykpfSxkaXJlY3RpdmVzOltQdixOTCxMMCxfVSxPWSx4dixQTF0sc3R5bGVzOlsiLm1hdC1wYWdpbmF0b3J7ZGlzcGxheTpibG9ja30ubWF0LXBhZ2luYXRvci1vdXRlci1jb250YWluZXJ7ZGlzcGxheTpmbGV4fS5tYXQtcGFnaW5hdG9yLWNvbnRhaW5lcntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwYWRkaW5nOjAgOHB4O2ZsZXgtd3JhcDp3cmFwLXJldmVyc2U7d2lkdGg6MTAwJX0ubWF0LXBhZ2luYXRvci1wYWdlLXNpemV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmJhc2VsaW5lO21hcmdpbi1yaWdodDo4cHh9W2Rpcj1ydGxdIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZXttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDo4cHh9Lm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplLWxhYmVse21hcmdpbjowIDRweH0ubWF0LXBhZ2luYXRvci1wYWdlLXNpemUtc2VsZWN0e21hcmdpbjo2cHggNHB4IDAgNHB4O3dpZHRoOjU2cHh9Lm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmV7d2lkdGg6NjRweH0ubWF0LXBhZ2luYXRvci1wYWdlLXNpemUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbHt3aWR0aDo2NHB4fS5tYXQtcGFnaW5hdG9yLXJhbmdlLWxhYmVse21hcmdpbjowIDMycHggMCAyNHB4fS5tYXQtcGFnaW5hdG9yLXJhbmdlLWFjdGlvbnN7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0ubWF0LXBhZ2luYXRvci1pY29ue3dpZHRoOjI4cHg7ZmlsbDpjdXJyZW50Q29sb3J9W2Rpcj1ydGxdIC5tYXQtcGFnaW5hdG9yLWljb257dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1wYWdpbmF0b3ItaWNvbntmaWxsOkNhbnZhc1RleHR9XG4iXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSxlMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlgwfSx7dHlwZTpPYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltRMF19XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZTEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXBhZ2luYXRvciIsZXhwb3J0QXM6Im1hdFBhZ2luYXRvciIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9Im1hdC1wYWdpbmF0b3Itb3V0ZXItY29udGFpbmVyIj5cbiAgPGRpdiBjbGFzcz0ibWF0LXBhZ2luYXRvci1jb250YWluZXIiPlxuICAgIDxkaXYgY2xhc3M9Im1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIiAqbmdJZj0iIWhpZGVQYWdlU2l6ZSI+XG4gICAgICA8ZGl2IGNsYXNzPSJtYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZS1sYWJlbCI+XG4gICAgICAgIHt7X2ludGwuaXRlbXNQZXJQYWdlTGFiZWx9fVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgICAqbmdJZj0iX2Rpc3BsYXllZFBhZ2VTaXplT3B0aW9ucy5sZW5ndGggPiAxIlxuICAgICAgICBbYXBwZWFyYW5jZV09Il9mb3JtRmllbGRBcHBlYXJhbmNlISJcbiAgICAgICAgW2NvbG9yXT0iY29sb3IiXG4gICAgICAgIGNsYXNzPSJtYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZS1zZWxlY3QiPlxuICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgIFt2YWx1ZV09InBhZ2VTaXplIlxuICAgICAgICAgIFtkaXNhYmxlZF09ImRpc2FibGVkIlxuICAgICAgICAgIFthcmlhLWxhYmVsXT0iX2ludGwuaXRlbXNQZXJQYWdlTGFiZWwiXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9Il9jaGFuZ2VQYWdlU2l6ZSgkZXZlbnQudmFsdWUpIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9ImxldCBwYWdlU2l6ZU9wdGlvbiBvZiBfZGlzcGxheWVkUGFnZVNpemVPcHRpb25zIiBbdmFsdWVdPSJwYWdlU2l6ZU9wdGlvbiI+XG4gICAgICAgICAgICB7e3BhZ2VTaXplT3B0aW9ufX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9Im1hdC1wYWdpbmF0b3ItcGFnZS1zaXplLXZhbHVlIlxuICAgICAgICAqbmdJZj0iX2Rpc3BsYXllZFBhZ2VTaXplT3B0aW9ucy5sZW5ndGggPD0gMSI+e3twYWdlU2l6ZX19PC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPSJtYXQtcGFnaW5hdG9yLXJhbmdlLWFjdGlvbnMiPlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXBhZ2luYXRvci1yYW5nZS1sYWJlbCI+XG4gICAgICAgIHt7X2ludGwuZ2V0UmFuZ2VMYWJlbChwYWdlSW5kZXgsIHBhZ2VTaXplLCBsZW5ndGgpfX1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIGNsYXNzPSJtYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tZmlyc3QiXG4gICAgICAgICAgICAgIChjbGljayk9ImZpcnN0UGFnZSgpIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT0iX2ludGwuZmlyc3RQYWdlTGFiZWwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iX2ludGwuZmlyc3RQYWdlTGFiZWwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPSJfcHJldmlvdXNCdXR0b25zRGlzYWJsZWQoKSJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09IlwnYWJvdmVcJyJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iX3ByZXZpb3VzQnV0dG9uc0Rpc2FibGVkKCkiXG4gICAgICAgICAgICAgICpuZ0lmPSJzaG93Rmlyc3RMYXN0QnV0dG9ucyI+XG4gICAgICAgIDxzdmcgY2xhc3M9Im1hdC1wYWdpbmF0b3ItaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmb2N1c2FibGU9ImZhbHNlIj5cbiAgICAgICAgICA8cGF0aCBkPSJNMTguNDEgMTYuNTlMMTMuODIgMTJsNC41OS00LjU5TDE3IDZsLTYgNiA2IDZ6TTYgNmgydjEySDZ6Ii8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIGNsYXNzPSJtYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tcHJldmlvdXMiXG4gICAgICAgICAgICAgIChjbGljayk9InByZXZpb3VzUGFnZSgpIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT0iX2ludGwucHJldmlvdXNQYWdlTGFiZWwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iX2ludGwucHJldmlvdXNQYWdlTGFiZWwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPSJfcHJldmlvdXNCdXR0b25zRGlzYWJsZWQoKSJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09IlwnYWJvdmVcJyJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0iX3ByZXZpb3VzQnV0dG9uc0Rpc2FibGVkKCkiPlxuICAgICAgICA8c3ZnIGNsYXNzPSJtYXQtcGFnaW5hdG9yLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZm9jdXNhYmxlPSJmYWxzZSI+XG4gICAgICAgICAgPHBhdGggZD0iTTE1LjQxIDcuNDFMMTQgNmwtNiA2IDYgNiAxLjQxLTEuNDFMMTAuODMgMTJ6Ii8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPSJidXR0b24iXG4gICAgICAgICAgICAgIGNsYXNzPSJtYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbmV4dCJcbiAgICAgICAgICAgICAgKGNsaWNrKT0ibmV4dFBhZ2UoKSJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09Il9pbnRsLm5leHRQYWdlTGFiZWwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT0iX2ludGwubmV4dFBhZ2VMYWJlbCJcbiAgICAgICAgICAgICAgW21hdFRvb2x0aXBEaXNhYmxlZF09Il9uZXh0QnV0dG9uc0Rpc2FibGVkKCkiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwUG9zaXRpb25dPSJcJ2Fib3ZlXCciXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09Il9uZXh0QnV0dG9uc0Rpc2FibGVkKCkiPlxuICAgICAgICA8c3ZnIGNsYXNzPSJtYXQtcGFnaW5hdG9yLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZm9jdXNhYmxlPSJmYWxzZSI+XG4gICAgICAgICAgPHBhdGggZD0iTTEwIDZMOC41OSA3LjQxIDEzLjE3IDEybC00LjU4IDQuNTlMMTAgMThsNi02eiIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT0iYnV0dG9uIlxuICAgICAgICAgICAgICBjbGFzcz0ibWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLWxhc3QiXG4gICAgICAgICAgICAgIChjbGljayk9Imxhc3RQYWdlKCkiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPSJfaW50bC5sYXN0UGFnZUxhYmVsIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09Il9pbnRsLmxhc3RQYWdlTGFiZWwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPSJfbmV4dEJ1dHRvbnNEaXNhYmxlZCgpIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcFBvc2l0aW9uXT0iXCdhYm92ZVwnIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSJfbmV4dEJ1dHRvbnNEaXNhYmxlZCgpIlxuICAgICAgICAgICAgICAqbmdJZj0ic2hvd0ZpcnN0TGFzdEJ1dHRvbnMiPlxuICAgICAgICA8c3ZnIGNsYXNzPSJtYXQtcGFnaW5hdG9yLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZm9jdXNhYmxlPSJmYWxzZSI+XG4gICAgICAgICAgPHBhdGggZD0iTTUuNTkgNy40MUwxMC4xOCAxMmwtNC41OSA0LjU5TDcgMThsNi02LTYtNnpNMTYgNmgydjEyaC0yeiIvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuJyxpbnB1dHM6WyJkaXNhYmxlZCJdLGhvc3Q6e2NsYXNzOiJtYXQtcGFnaW5hdG9yIixyb2xlOiJncm91cCJ9LGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLHN0eWxlczpbIi5tYXQtcGFnaW5hdG9ye2Rpc3BsYXk6YmxvY2t9Lm1hdC1wYWdpbmF0b3Itb3V0ZXItY29udGFpbmVye2Rpc3BsYXk6ZmxleH0ubWF0LXBhZ2luYXRvci1jb250YWluZXJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cGFkZGluZzowIDhweDtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlO3dpZHRoOjEwMCV9Lm1hdC1wYWdpbmF0b3ItcGFnZS1zaXple2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpiYXNlbGluZTttYXJnaW4tcmlnaHQ6OHB4fVtkaXI9cnRsXSAubWF0LXBhZ2luYXRvci1wYWdlLXNpemV7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6OHB4fS5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZS1sYWJlbHttYXJnaW46MCA0cHh9Lm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplLXNlbGVjdHttYXJnaW46NnB4IDRweCAwIDRweDt3aWR0aDo1NnB4fS5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZS1zZWxlY3QubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5le3dpZHRoOjY0cHh9Lm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGx7d2lkdGg6NjRweH0ubWF0LXBhZ2luYXRvci1yYW5nZS1sYWJlbHttYXJnaW46MCAzMnB4IDAgMjRweH0ubWF0LXBhZ2luYXRvci1yYW5nZS1hY3Rpb25ze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9Lm1hdC1wYWdpbmF0b3ItaWNvbnt3aWR0aDoyOHB4O2ZpbGw6Y3VycmVudENvbG9yfVtkaXI9cnRsXSAubWF0LXBhZ2luYXRvci1pY29ue3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtcGFnaW5hdG9yLWljb257ZmlsbDpDYW52YXNUZXh0fVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpYMH0se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbUTBdfV19XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgbjF7fW4xLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxuMSl9LG4xLsm1bW9kPWZvKHt0eXBlOm4xfSksbjEuybVpbmo9RG4oe3Byb3ZpZGVyczpbSzBdLGltcG9ydHM6W1tyeCxJTCxQWSxqMCxORl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihuMSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W3J4LElMLFBZLGowLE5GXSxleHBvcnRzOltlMV0sZGVjbGFyYXRpb25zOltlMV0scHJvdmlkZXJzOltLMF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhuMSx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW2UxXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltyeCxJTCxQWSxqMCxORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bZTFdfX0pO2Z1bmN0aW9uIG8xKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwzKSxSZigiQGFycm93UG9zaXRpb24uc3RhcnQiLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkuX2Rpc2FibGVWaWV3U3RhdGVBbmltYXRpb249ITB9KSkoIkBhcnJvd1Bvc2l0aW9uLmRvbmUiLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkuX2Rpc2FibGVWaWV3U3RhdGVBbmltYXRpb249ITF9KSksdmYoMSwiZGl2Iiw0KSxDZigyLCJkaXYiLDUpLHZmKDMsImRpdiIsNiksdmYoNCwiZGl2Iiw3KSx2Zig1LCJkaXYiLDgpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtiZigiQGFycm93T3BhY2l0eSIsdC5fZ2V0QXJyb3dWaWV3U3RhdGUoKSkoIkBhcnJvd1Bvc2l0aW9uIix0Ll9nZXRBcnJvd1ZpZXdTdGF0ZSgpKSgiQGFsbG93Q2hpbGRyZW4iLHQuX2dldEFycm93RGlyZWN0aW9uU3RhdGUoKSksRGMoMiksYmYoIkBpbmRpY2F0b3IiLHQuX2dldEFycm93RGlyZWN0aW9uU3RhdGUoKSksRGMoMSksYmYoIkBsZWZ0UG9pbnRlciIsdC5fZ2V0QXJyb3dEaXJlY3Rpb25TdGF0ZSgpKSxEYygxKSxiZigiQHJpZ2h0UG9pbnRlciIsdC5fZ2V0QXJyb3dEaXJlY3Rpb25TdGF0ZSgpKX19Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCBpMT1uZXcgZXIoIk1BVF9TT1JUX0RFRkFVTFRfT1BUSU9OUyIpLGExPUJGKHpGKGNsYXNze30pKTtjbGFzcyByMSBleHRlbmRzIGExe2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5fZGVmYXVsdE9wdGlvbnM9dCx0aGlzLnNvcnRhYmxlcz1uZXcgTWFwLHRoaXMuX3N0YXRlQ2hhbmdlcz1uZXcgQix0aGlzLnN0YXJ0PSJhc2MiLHRoaXMuX2RpcmVjdGlvbj0iIix0aGlzLnNvcnRDaGFuZ2U9bmV3IFN5fWdldCBkaXJlY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGlyZWN0aW9ufXNldCBkaXJlY3Rpb24odCl7aWYodCYmImFzYyIhPT10JiYiZGVzYyIhPT10JiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3coZnVuY3Rpb24gZSh0KXtyZXR1cm4gRXJyb3IoYCR7dH0gaXMgbm90IGEgdmFsaWQgc29ydCBkaXJlY3Rpb24gKCdhc2MnIG9yICdkZXNjJykuYCl9KSh0KTt0aGlzLl9kaXJlY3Rpb249dH1nZXQgZGlzYWJsZUNsZWFyKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVDbGVhcn1zZXQgZGlzYWJsZUNsZWFyKHQpe3RoaXMuX2Rpc2FibGVDbGVhcj1lSCh0KX1yZWdpc3Rlcih0KXtpZigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKXtpZighdC5pZCl0aHJvdyhmdW5jdGlvbiBlKCl7cmV0dXJuIEVycm9yKCJNYXRTb3J0SGVhZGVyIG11c3QgYmUgcHJvdmlkZWQgd2l0aCBhIHVuaXF1ZSBpZC4iKX0pKCk7aWYodGhpcy5zb3J0YWJsZXMuaGFzKHQuaWQpKXRocm93KGZ1bmN0aW9uIG4odCl7cmV0dXJuIEVycm9yKGBDYW5ub3QgaGF2ZSB0d28gTWF0U29ydGFibGVzIHdpdGggdGhlIHNhbWUgaWQgKCR7dH0pLmApfSkodC5pZCl9dGhpcy5zb3J0YWJsZXMuc2V0KHQuaWQsdCl9ZGVyZWdpc3Rlcih0KXt0aGlzLnNvcnRhYmxlcy5kZWxldGUodC5pZCl9c29ydCh0KXt0aGlzLmFjdGl2ZSE9dC5pZD8odGhpcy5hY3RpdmU9dC5pZCx0aGlzLmRpcmVjdGlvbj10LnN0YXJ0P3Quc3RhcnQ6dGhpcy5zdGFydCk6dGhpcy5kaXJlY3Rpb249dGhpcy5nZXROZXh0U29ydERpcmVjdGlvbih0KSx0aGlzLnNvcnRDaGFuZ2UuZW1pdCh7YWN0aXZlOnRoaXMuYWN0aXZlLGRpcmVjdGlvbjp0aGlzLmRpcmVjdGlvbn0pfWdldE5leHRTb3J0RGlyZWN0aW9uKHQpe3ZhciBlLG4sbztpZighdClyZXR1cm4iIjtjb25zdCBpPW51bGwhPT0obj1udWxsIT09KGU9bnVsbD09dD92b2lkIDA6dC5kaXNhYmxlQ2xlYXIpJiZ2b2lkIDAhPT1lP2U6dGhpcy5kaXNhYmxlQ2xlYXIpJiZ2b2lkIDAhPT1uP246ISEobnVsbD09PShvPXRoaXMuX2RlZmF1bHRPcHRpb25zKXx8dm9pZCAwPT09bz92b2lkIDA6by5kaXNhYmxlQ2xlYXIpO2xldCBhPShmdW5jdGlvbiByKHQsZSl7bGV0IG49WyJhc2MiLCJkZXNjIl07ImRlc2MiPT10JiZuLnJldmVyc2UoKTtlfHxuLnB1c2goIiIpO3JldHVybiBufQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8pKHQuc3RhcnR8fHRoaXMuc3RhcnQsaSkscz1hLmluZGV4T2YodGhpcy5kaXJlY3Rpb24pKzE7cmV0dXJuIHM+PWEubGVuZ3RoJiYocz0wKSxhW3NdfW5nT25Jbml0KCl7dGhpcy5fbWFya0luaXRpYWxpemVkKCl9bmdPbkNoYW5nZXMoKXt0aGlzLl9zdGF0ZUNoYW5nZXMubmV4dCgpfW5nT25EZXN0cm95KCl7dGhpcy5fc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCl9fXIxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxyMSkoZ2YoaTEsOCkpfSxyMS7JtWRpcj1obyh7dHlwZTpyMSxzZWxlY3RvcnM6W1siIiwibWF0U29ydCIsIiJdXSxob3N0QXR0cnM6WzEsIm1hdC1zb3J0Il0saW5wdXRzOntkaXNhYmxlZDpbIm1hdFNvcnREaXNhYmxlZCIsImRpc2FibGVkIl0sc3RhcnQ6WyJtYXRTb3J0U3RhcnQiLCJzdGFydCJdLGRpcmVjdGlvbjpbIm1hdFNvcnREaXJlY3Rpb24iLCJkaXJlY3Rpb24iXSxkaXNhYmxlQ2xlYXI6WyJtYXRTb3J0RGlzYWJsZUNsZWFyIiwiZGlzYWJsZUNsZWFyIl0sYWN0aXZlOlsibWF0U29ydEFjdGl2ZSIsImFjdGl2ZSJdfSxvdXRwdXRzOntzb3J0Q2hhbmdlOiJtYXRTb3J0Q2hhbmdlIn0sZXhwb3J0QXM6WyJtYXRTb3J0Il0sZmVhdHVyZXM6W1FwLHFvXX0pLHIxLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltpMV19XX1dLHIxLnByb3BEZWNvcmF0b3JzPXthY3RpdmU6W3t0eXBlOlJfLGFyZ3M6WyJtYXRTb3J0QWN0aXZlIl19XSxzdGFydDpbe3R5cGU6Ul8sYXJnczpbIm1hdFNvcnRTdGFydCJdfV0sZGlyZWN0aW9uOlt7dHlwZTpSXyxhcmdzOlsibWF0U29ydERpcmVjdGlvbiJdfV0sZGlzYWJsZUNsZWFyOlt7dHlwZTpSXyxhcmdzOlsibWF0U29ydERpc2FibGVDbGVhciJdfV0sc29ydENoYW5nZTpbe3R5cGU6RV8sYXJnczpbIm1hdFNvcnRDaGFuZ2UiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHIxLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXRTb3J0XSIsZXhwb3J0QXM6Im1hdFNvcnQiLGhvc3Q6e2NsYXNzOiJtYXQtc29ydCJ9LGlucHV0czpbImRpc2FibGVkOiBtYXRTb3J0RGlzYWJsZWQiXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbaTFdfV19XX0pLHtzdGFydDpbe3R5cGU6Ul8sYXJnczpbIm1hdFNvcnRTdGFydCJdfV0sc29ydENoYW5nZTpbe3R5cGU6RV8sYXJnczpbIm1hdFNvcnRDaGFuZ2UiXX1dLGRpcmVjdGlvbjpbe3R5cGU6Ul8sYXJnczpbIm1hdFNvcnREaXJlY3Rpb24iXX1dLGRpc2FibGVDbGVhcjpbe3R5cGU6Ul8sYXJnczpbIm1hdFNvcnREaXNhYmxlQ2xlYXIiXX1dLGFjdGl2ZTpbe3R5cGU6Ul8sYXJnczpbIm1hdFNvcnRBY3RpdmUiXX1dfSk7Y29uc3QgczE9UkYuRU5URVJJTkcrIiAiK0RGLlNUQU5EQVJEX0NVUlZFLGwxPXtpbmRpY2F0b3I6eE8oImluZGljYXRvciIsW2tPKCJhY3RpdmUtYXNjLCBhc2MiLHdPKHt0cmFuc2Zvcm06InRyYW5zbGF0ZVkoMHB4KSJ9KSksa08oImFjdGl2ZS1kZXNjLCBkZXNjIix3Tyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGVZKDEwcHgpIn0pKSxETygiYWN0aXZlLWFzYyA8PT4gYWN0aXZlLWRlc2MiLE9PKHMxKSldKSxsZWZ0UG9pbnRlcjp4TygibGVmdFBvaW50ZXIiLFtrTygiYWN0aXZlLWFzYywgYXNjIix3Tyh7dHJhbnNmb3JtOiJyb3RhdGUoLTQ1ZGVnKSJ9KSksa08oImFjdGl2ZS1kZXNjLCBkZXNjIix3Tyh7dHJhbnNmb3JtOiJyb3RhdGUoNDVkZWcpIn0pKSxETygiYWN0aXZlLWFzYyA8PT4gYWN0aXZlLWRlc2MiLE9PKHMxKSldKSxyaWdodFBvaW50ZXI6eE8oInJpZ2h0UG9pbnRlciIsW2tPKCJhY3RpdmUtYXNjLCBhc2MiLHdPKHt0cmFuc2Zvcm06InJvdGF0ZSg0NWRlZykifSkpLGtPKCJhY3RpdmUtZGVzYywgZGVzYyIsd08oe3RyYW5zZm9ybToicm90YXRlKC00NWRlZykifSkpLERPKCJhY3RpdmUtYXNjIDw9PiBhY3RpdmUtZGVzYyIsT08oczEpKV0pLGFycm93T3BhY2l0eTp4TygiYXJyb3dPcGFjaXR5Iixba08oImRlc2MtdG8tYWN0aXZlLCBhc2MtdG8tYWN0aXZlLCBhY3RpdmUiLHdPKHtvcGFjaXR5OjF9KSksa08oImRlc2MtdG8taGludCwgYXNjLXRvLWhpbnQsIGhpbnQiLHdPKHtvcGFjaXR5Oi41NH0pKSxrTygiaGludC10by1kZXNjLCBhY3RpdmUtdG8tZGVzYywgZGVzYywgaGludC10by1hc2MsIGFjdGl2ZS10by1hc2MsIGFzYywgdm9pZCIsd08oe29wYWNpdHk6MH0pKSxETygiKiA9PiBhc2MsICogPT4gZGVzYywgKiA9PiBhY3RpdmUsICogPT4gaGludCwgKiA9PiB2b2lkIixPTygiMG1zIikpLERPKCIqIDw9PiAqIixPTyhzMSkpXSksYXJyb3dQb3NpdGlvbjp4TygiYXJyb3dQb3NpdGlvbiIsW0RPKCIqID0+IGRlc2MtdG8taGludCwgKiA9PiBkZXNjLXRvLWFjdGl2ZSIsT08oczEsU08oW3dPKHt0cmFuc2Zvcm06InRyYW5zbGF0ZVkoLTI1JSkifSksd08oe3RyYW5zZm9ybToidHJhbnNsYXRlWSgwKSJ9KV0pKSksRE8oIiogPT4gaGludC10by1kZXNjLCAqID0+IGFjdGl2ZS10by1kZXNjIixPTyhzMSxTTyhbd08oe3RyYW5zZm9ybToidHJhbnNsYXRlWSgwKSJ9KSx3Tyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGVZKDI1JSkifSldKSkpLERPKCIqID0+IGFzYy10by1oaW50LCAqID0+IGFzYy10by1hY3RpdmUiLE9PKHMxLFNPKFt3Tyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGVZKDI1JSkifSksd08oe3RyYW5zZm9ybToidHJhbnNsYXRlWSgwKSJ9KV0pKSksRE8oIiogPT4gaGludC10by1hc2MsICogPT4gYWN0aXZlLXRvLWFzYyIsT08oczEsU08oW3dPKHt0cmFuc2Zvcm06InRyYW5zbGF0ZVkoMCkifSksd08oe3RyYW5zZm9ybToidHJhbnNsYXRlWSgtMjUlKSJ9KV0pKSksa08oImRlc2MtdG8taGludCwgYXNjLXRvLWhpbnQsIGhpbnQsIGRlc2MtdG8tYWN0aXZlLCBhc2MtdG8tYWN0aXZlLCBhY3RpdmUiLHdPKHt0cmFuc2Zvcm06InRyYW5zbGF0ZVkoMCkifSkpLGtPKCJoaW50LXRvLWRlc2MsIGFjdGl2ZS10by1kZXNjLCBkZXNjIix3Tyh7dHJhbnNmb3JtOiJ0cmFuc2xhdGVZKC0yNSUpIn0pKSxrTygiaGludC10by1hc2MsIGFjdGl2ZS10by1hc2MsIGFzYyIsd08oe3RyYW5zZm9ybToidHJhbnNsYXRlWSgyNSUpIn0pKV0pLGFsbG93Q2hpbGRyZW46eE8oImFsbG93Q2hpbGRyZW4iLFtETygiKiA8PT4gKiIsW0VPKCJAKiIsUk8oKSx7b3B0aW9uYWw6ITB9KV0pXSl9OwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgYzF7Y29uc3RydWN0b3IoKXt0aGlzLmNoYW5nZXM9bmV3IEJ9fWMxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxjMSl9LGMxLsm1cHJvdj1Tbih7ZmFjdG9yeTpmdW5jdGlvbiB0KCl7cmV0dXJuIG5ldyBjMX0sdG9rZW46YzEscHJvdmlkZWRJbjoicm9vdCJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGMxLFt7dHlwZTpVbSxhcmdzOlt7cHJvdmlkZWRJbjoicm9vdCJ9XX1dLChmdW5jdGlvbigpe3JldHVybltdfSksbnVsbCk7Y29uc3QgZDE9e3Byb3ZpZGU6YzEsZGVwczpbW25ldyBCcixuZXcganIsYzFdXSx1c2VGYWN0b3J5OmZ1bmN0aW9uIHAxKHQpe3JldHVybiB0fHxuZXcgYzF9fSxtMT16RihjbGFzc3t9KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY2xhc3MgZjEgZXh0ZW5kcyBtMXtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7aWYoc3VwZXIoKSx0aGlzLl9pbnRsPXQsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9ZSx0aGlzLl9zb3J0PW4sdGhpcy5fY29sdW1uRGVmPW8sdGhpcy5fZm9jdXNNb25pdG9yPWksdGhpcy5fZWxlbWVudFJlZj1hLHRoaXMuX3Nob3dJbmRpY2F0b3JIaW50PSExLHRoaXMuX3ZpZXdTdGF0ZT17fSx0aGlzLl9hcnJvd0RpcmVjdGlvbj0iIix0aGlzLl9kaXNhYmxlVmlld1N0YXRlQW5pbWF0aW9uPSExLHRoaXMuYXJyb3dQb3NpdGlvbj0iYWZ0ZXIiLCFuJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3coZnVuY3Rpb24gcigpe3JldHVybiBFcnJvcigiTWF0U29ydEhlYWRlciBtdXN0IGJlIHBsYWNlZCB3aXRoaW4gYSBwYXJlbnQgZWxlbWVudCB3aXRoIHRoZSBNYXRTb3J0IGRpcmVjdGl2ZS4iKX0pKCk7dGhpcy5faGFuZGxlU3RhdGVDaGFuZ2VzKCl9Z2V0IGRpc2FibGVDbGVhcigpe3JldHVybiB0aGlzLl9kaXNhYmxlQ2xlYXJ9c2V0IGRpc2FibGVDbGVhcih0KXt0aGlzLl9kaXNhYmxlQ2xlYXI9ZUgodCl9bmdPbkluaXQoKXshdGhpcy5pZCYmdGhpcy5fY29sdW1uRGVmJiYodGhpcy5pZD10aGlzLl9jb2x1bW5EZWYubmFtZSksdGhpcy5fdXBkYXRlQXJyb3dEaXJlY3Rpb24oKSx0aGlzLl9zZXRBbmltYXRpb25UcmFuc2l0aW9uU3RhdGUoe3RvU3RhdGU6dGhpcy5faXNTb3J0ZWQoKT8iYWN0aXZlIjp0aGlzLl9hcnJvd0RpcmVjdGlvbn0pLHRoaXMuX3NvcnQucmVnaXN0ZXIodGhpcyl9bmdBZnRlclZpZXdJbml0KCl7dGhpcy5fZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5fZWxlbWVudFJlZiwhMCkuc3Vic2NyaWJlKCh0PT57Y29uc3QgZT0hIXQ7ZSE9PXRoaXMuX3Nob3dJbmRpY2F0b3JIaW50JiYodGhpcy5fc2V0SW5kaWNhdG9ySGludFZpc2libGUoZSksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpfSkpfW5nT25EZXN0cm95KCl7dGhpcy5fZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYpLHRoaXMuX3NvcnQuZGVyZWdpc3Rlcih0aGlzKSx0aGlzLl9yZXJlbmRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpfV9zZXRJbmRpY2F0b3JIaW50VmlzaWJsZSh0KXt0aGlzLl9pc0Rpc2FibGVkKCkmJnR8fCh0aGlzLl9zaG93SW5kaWNhdG9ySGludD10LHRoaXMuX2lzU29ydGVkKCl8fCh0aGlzLl91cGRhdGVBcnJvd0RpcmVjdGlvbigpLHRoaXMuX3NldEFuaW1hdGlvblRyYW5zaXRpb25TdGF0ZSh0aGlzLl9zaG93SW5kaWNhdG9ySGludD97ZnJvbVN0YXRlOnRoaXMuX2Fycm93RGlyZWN0aW9uLHRvU3RhdGU6ImhpbnQifTp7ZnJvbVN0YXRlOiJoaW50Iix0b1N0YXRlOnRoaXMuX2Fycm93RGlyZWN0aW9ufSkpKX1fc2V0QW5pbWF0aW9uVHJhbnNpdGlvblN0YXRlKHQpe3RoaXMuX3ZpZXdTdGF0ZT10fHx7fSx0aGlzLl9kaXNhYmxlVmlld1N0YXRlQW5pbWF0aW9uJiYodGhpcy5fdmlld1N0YXRlPXt0b1N0YXRlOnQudG9TdGF0ZX0pfV90b2dnbGVPbkludGVyYWN0aW9uKCl7dGhpcy5fc29ydC5zb3J0KHRoaXMpLCJoaW50IiE9PXRoaXMuX3ZpZXdTdGF0ZS50b1N0YXRlJiYiYWN0aXZlIiE9PXRoaXMuX3ZpZXdTdGF0ZS50b1N0YXRlfHwodGhpcy5fZGlzYWJsZVZpZXdTdGF0ZUFuaW1hdGlvbj0hMCl9X2hhbmRsZUNsaWNrKCl7dGhpcy5faXNEaXNhYmxlZCgpfHx0aGlzLl9zb3J0LnNvcnQodGhpcyl9X2hhbmRsZUtleWRvd24odCl7dGhpcy5faXNEaXNhYmxlZCgpfHx0LmtleUNvZGUhPT1KSSYmdC5rZXlDb2RlIT09WEl8fCh0LnByZXZlbnREZWZhdWx0KCksdGhpcy5fdG9nZ2xlT25JbnRlcmFjdGlvbigpKX1faXNTb3J0ZWQoKXtyZXR1cm4gdGhpcy5fc29ydC5hY3RpdmU9PXRoaXMuaWQmJigiYXNjIj09PXRoaXMuX3NvcnQuZGlyZWN0aW9ufHwiZGVzYyI9PT10aGlzLl9zb3J0LmRpcmVjdGlvbil9X2dldEFycm93RGlyZWN0aW9uU3RhdGUoKXtyZXR1cm5gJHt0aGlzLl9pc1NvcnRlZCgpPyJhY3RpdmUtIjoiIn0ke3RoaXMuX2Fycm93RGlyZWN0aW9ufWB9X2dldEFycm93Vmlld1N0YXRlKCl7Y29uc3QgdD10aGlzLl92aWV3U3RhdGUuZnJvbVN0YXRlO3JldHVybih0P2Ake3R9LXRvLWA6IiIpK3RoaXMuX3ZpZXdTdGF0ZS50b1N0YXRlfV91cGRhdGVBcnJvd0RpcmVjdGlvbigpe3RoaXMuX2Fycm93RGlyZWN0aW9uPXRoaXMuX2lzU29ydGVkKCk/dGhpcy5fc29ydC5kaXJlY3Rpb246dGhpcy5zdGFydHx8dGhpcy5fc29ydC5zdGFydH1faXNEaXNhYmxlZCgpe3JldHVybiB0aGlzLl9zb3J0LmRpc2FibGVkfHx0aGlzLmRpc2FibGVkfV9nZXRBcmlhU29ydEF0dHJpYnV0ZSgpe3JldHVybiB0aGlzLl9pc1NvcnRlZCgpPyJhc2MiPT10aGlzLl9zb3J0LmRpcmVjdGlvbj8iYXNjZW5kaW5nIjoiZGVzY2VuZGluZyI6Im5vbmUifV9yZW5kZXJBcnJvdygpe3JldHVybiF0aGlzLl9pc0Rpc2FibGVkKCl8fHRoaXMuX2lzU29ydGVkKCl9X2hhbmRsZVN0YXRlQ2hhbmdlcygpe3RoaXMuX3JlcmVuZGVyU3Vic2NyaXB0aW9uPXBlKHRoaXMuX3NvcnQuc29ydENoYW5nZSx0aGlzLl9zb3J0Ll9zdGF0ZUNoYW5nZXMsdGhpcy5faW50bC5jaGFuZ2VzKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5faXNTb3J0ZWQoKSYmKHRoaXMuX3VwZGF0ZUFycm93RGlyZWN0aW9uKCksImhpbnQiIT09dGhpcy5fdmlld1N0YXRlLnRvU3RhdGUmJiJhY3RpdmUiIT09dGhpcy5fdmlld1N0YXRlLnRvU3RhdGV8fCh0aGlzLl9kaXNhYmxlVmlld1N0YXRlQW5pbWF0aW9uPSEwKSx0aGlzLl9zZXRBbmltYXRpb25UcmFuc2l0aW9uU3RhdGUoe2Zyb21TdGF0ZTp0aGlzLl9hcnJvd0RpcmVjdGlvbix0b1N0YXRlOiJhY3RpdmUifSksdGhpcy5fc2hvd0luZGljYXRvckhpbnQ9ITEpLCF0aGlzLl9pc1NvcnRlZCgpJiZ0aGlzLl92aWV3U3RhdGUmJiJhY3RpdmUiPT09dGhpcy5fdmlld1N0YXRlLnRvU3RhdGUmJih0aGlzLl9kaXNhYmxlVmlld1N0YXRlQW5pbWF0aW9uPSExLHRoaXMuX3NldEFuaW1hdGlvblRyYW5zaXRpb25TdGF0ZSh7ZnJvbVN0YXRlOiJhY3RpdmUiLHRvU3RhdGU6dGhpcy5fYXJyb3dEaXJlY3Rpb259KSksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9KSl9fWYxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxmMSkoZ2YoYzEpLGdmKE9iKSxnZihyMSw4KSxnZigiTUFUX1NPUlRfSEVBREVSX0NPTFVNTl9ERUYiLDgpLGdmKGZGKSxnZihLaCkpfSxmMS7JtWNtcD1zbyh7dHlwZTpmMSxzZWxlY3RvcnM6W1siIiwibWF0LXNvcnQtaGVhZGVyIiwiIl1dLGhvc3RBdHRyczpbMSwibWF0LXNvcnQtaGVhZGVyIl0saG9zdFZhcnM6Myxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9oYW5kbGVDbGljaygpfSkpKCJrZXlkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlS2V5ZG93bihlKX0pKSgibW91c2VlbnRlciIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fc2V0SW5kaWNhdG9ySGludFZpc2libGUoITApfSkpKCJtb3VzZWxlYXZlIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9zZXRJbmRpY2F0b3JIaW50VmlzaWJsZSghMSl9KSksMiZlJiYoeW0oImFyaWEtc29ydCIsbi5fZ2V0QXJpYVNvcnRBdHRyaWJ1dGUoKSksY3UoIm1hdC1zb3J0LWhlYWRlci1kaXNhYmxlZCIsbi5faXNEaXNhYmxlZCgpKSl9LGlucHV0czp7ZGlzYWJsZWQ6ImRpc2FibGVkIixhcnJvd1Bvc2l0aW9uOiJhcnJvd1Bvc2l0aW9uIixkaXNhYmxlQ2xlYXI6ImRpc2FibGVDbGVhciIsaWQ6WyJtYXQtc29ydC1oZWFkZXIiLCJpZCJdLHN0YXJ0OiJzdGFydCJ9LGV4cG9ydEFzOlsibWF0U29ydEhlYWRlciJdLGZlYXR1cmVzOltRcF0sYXR0cnM6WyJtYXQtc29ydC1oZWFkZXIiLCIiXSxuZ0NvbnRlbnRTZWxlY3RvcnM6WyIqIl0sZGVjbHM6NCx2YXJzOjYsY29uc3RzOltbInJvbGUiLCJidXR0b24iLDEsIm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIiLCJtYXQtZm9jdXMtaW5kaWNhdG9yIl0sWzEsIm1hdC1zb3J0LWhlYWRlci1jb250ZW50Il0sWyJjbGFzcyIsIm1hdC1zb3J0LWhlYWRlci1hcnJvdyIsNCwibmdJZiJdLFsxLCJtYXQtc29ydC1oZWFkZXItYXJyb3ciXSxbMSwibWF0LXNvcnQtaGVhZGVyLXN0ZW0iXSxbMSwibWF0LXNvcnQtaGVhZGVyLWluZGljYXRvciJdLFsxLCJtYXQtc29ydC1oZWFkZXItcG9pbnRlci1sZWZ0Il0sWzEsIm1hdC1zb3J0LWhlYWRlci1wb2ludGVyLXJpZ2h0Il0sWzEsIm1hdC1zb3J0LWhlYWRlci1wb2ludGVyLW1pZGRsZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxDZigwLCJkaXYiLDApLENmKDEsImRpdiIsMSksRmYoMiksTWYoKSxIbSgzLG8xLDYsNiwiZGl2IiwyKSxNZigpKSwyJmUmJihjdSgibWF0LXNvcnQtaGVhZGVyLXNvcnRlZCIsbi5faXNTb3J0ZWQoKSkoIm1hdC1zb3J0LWhlYWRlci1wb3NpdGlvbi1iZWZvcmUiLCJiZWZvcmUiPT1uLmFycm93UG9zaXRpb24pLHltKCJ0YWJpbmRleCIsbi5faXNEaXNhYmxlZCgpP251bGw6MCksRGMoMyksYmYoIm5nSWYiLG4uX3JlbmRlckFycm93KCkpKX0sZGlyZWN0aXZlczpbUHZdLHN0eWxlczpbIi5tYXQtc29ydC1oZWFkZXItY29udGFpbmVye2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO291dGxpbmU6MH1bbWF0LXNvcnQtaGVhZGVyXS5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lcixbbWF0LXNvcnQtaGVhZGVyXS5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVye2JvcmRlci1ib3R0b206c29saWQgMXB4IGN1cnJlbnRDb2xvcn0ubWF0LXNvcnQtaGVhZGVyLWRpc2FibGVkIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVye2N1cnNvcjpkZWZhdWx0fS5tYXQtc29ydC1oZWFkZXItY29udGVudHt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5tYXQtc29ydC1oZWFkZXItcG9zaXRpb24tYmVmb3Jle2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5tYXQtc29ydC1oZWFkZXItYXJyb3d7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDttaW4td2lkdGg6MTJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7b3BhY2l0eTowfS5tYXQtc29ydC1oZWFkZXItYXJyb3csW2Rpcj1ydGxdIC5tYXQtc29ydC1oZWFkZXItcG9zaXRpb24tYmVmb3JlIC5tYXQtc29ydC1oZWFkZXItYXJyb3d7bWFyZ2luOjAgMCAwIDZweH0ubWF0LXNvcnQtaGVhZGVyLXBvc2l0aW9uLWJlZm9yZSAubWF0LXNvcnQtaGVhZGVyLWFycm93LFtkaXI9cnRsXSAubWF0LXNvcnQtaGVhZGVyLWFycm93e21hcmdpbjowIDZweCAwIDB9Lm1hdC1zb3J0LWhlYWRlci1zdGVte2JhY2tncm91bmQ6Y3VycmVudENvbG9yO2hlaWdodDoxMHB4O3dpZHRoOjJweDttYXJnaW46YXV0bztkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zb3J0LWhlYWRlci1zdGVte3dpZHRoOjA7Ym9yZGVyLWxlZnQ6c29saWQgMnB4fS5tYXQtc29ydC1oZWFkZXItaW5kaWNhdG9ye3dpZHRoOjEwMCU7aGVpZ2h0OjJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbWlkZGxle21hcmdpbjphdXRvO2hlaWdodDoycHg7d2lkdGg6MnB4O2JhY2tncm91bmQ6Y3VycmVudENvbG9yO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zb3J0LWhlYWRlci1wb2ludGVyLW1pZGRsZXt3aWR0aDowO2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4O2JvcmRlci1sZWZ0OnNvbGlkIDJweH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbGVmdCwubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItcmlnaHR7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7d2lkdGg6NnB4O2hlaWdodDoycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbGVmdCwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc29ydC1oZWFkZXItcG9pbnRlci1yaWdodHt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OnNvbGlkIDZweDtib3JkZXItdG9wOnNvbGlkIDJweH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbGVmdHt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0O2xlZnQ6MH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItcmlnaHR7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0O3JpZ2h0OjB9XG4iXSxlbmNhcHN1bGF0aW9uOjIsZGF0YTp7YW5pbWF0aW9uOltsMS5pbmRpY2F0b3IsbDEubGVmdFBvaW50ZXIsbDEucmlnaHRQb2ludGVyLGwxLmFycm93T3BhY2l0eSxsMS5hcnJvd1Bvc2l0aW9uLGwxLmFsbG93Q2hpbGRyZW5dfSxjaGFuZ2VEZXRlY3Rpb246MH0pLGYxLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6YzF9LHt0eXBlOk9ifSx7dHlwZTpyMSxkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbIk1BVF9TT1JUX0hFQURFUl9DT0xVTU5fREVGIl19LHt0eXBlOkJyfV19LHt0eXBlOmZGfSx7dHlwZTpLaH1dLGYxLnByb3BEZWNvcmF0b3JzPXtpZDpbe3R5cGU6Ul8sYXJnczpbIm1hdC1zb3J0LWhlYWRlciJdfV0sYXJyb3dQb3NpdGlvbjpbe3R5cGU6Ul99XSxzdGFydDpbe3R5cGU6Ul99XSxkaXNhYmxlQ2xlYXI6W3t0eXBlOlJffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZjEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdC1zb3J0LWhlYWRlcl0iLGV4cG9ydEFzOiJtYXRTb3J0SGVhZGVyIix0ZW1wbGF0ZTonXHgzYyEtLVxuICBXZSBzZXQgdGhlIGB0YWJpbmRleGAgb24gYW4gZWxlbWVudCBpbnNpZGUgdGhlIHRhYmxlIGhlYWRlciwgcmF0aGVyIHRoYW4gdGhlIGhlYWRlciBpdHNlbGYsXG4gIGJlY2F1c2Ugb2YgYSBidWcgaW4gTlZEQSB3aGVyZSBoYXZpbmcgYSBgdGFiaW5kZXhgIG9uIGEgYHRoYCBicmVha3Mga2V5Ym9hcmQgbmF2aWdhdGlvbiBpbiB0aGVcbiAgdGFibGUgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vbnZhY2Nlc3MvbnZkYS9pc3N1ZXMvNzcxOCkuIFRoaXMgYWxsb3dzIGZvciB0aGUgaGVhZGVyIHRvIGJvdGhcbiAgYmUgZm9jdXNhYmxlLCBhbmQgaGF2ZSBzY3JlZW4gcmVhZGVycyByZWFkIG91dCBpdHMgYGFyaWEtc29ydGAgc3RhdGUuIFdlIHByZWZlciB0aGlzIGFwcHJvYWNoXG4gIG92ZXIgaGF2aW5nIGEgYnV0dG9uIHdpdGggYW4gYGFyaWEtbGFiZWxgIGluc2lkZSB0aGUgaGVhZGVyLCBiZWNhdXNlIHRoZSBidXR0b25cJ3MgYGFyaWEtbGFiZWxgXG4gIHdpbGwgYmUgcmVhZCBvdXQgYXMgdGhlIHVzZXIgaXMgbmF2aWdhdGluZyB0aGUgdGFibGVcJ3MgY2VsbCAoc2VlICMxMzAxMikuXG5cbiAgVGhlIGFwcHJvYWNoIGlzIGJhc2VkIG9mZiBvZjogaHR0cHM6Ly9kZXF1ZXVuaXZlcnNpdHkuY29tL2xpYnJhcnkvYXJpYS90YWJsZXMvc2Ytc29ydGFibGUtZ3JpZFxuLS1ceDNlXG48ZGl2IGNsYXNzPSJtYXQtc29ydC1oZWFkZXItY29udGFpbmVyIG1hdC1mb2N1cy1pbmRpY2F0b3IiXG4gICAgIFtjbGFzcy5tYXQtc29ydC1oZWFkZXItc29ydGVkXT0iX2lzU29ydGVkKCkiXG4gICAgIFtjbGFzcy5tYXQtc29ydC1oZWFkZXItcG9zaXRpb24tYmVmb3JlXT0iYXJyb3dQb3NpdGlvbiA9PSBcJ2JlZm9yZVwnIlxuICAgICBbYXR0ci50YWJpbmRleF09Il9pc0Rpc2FibGVkKCkgPyBudWxsIDogMCJcbiAgICAgcm9sZT0iYnV0dG9uIj5cblxuICBceDNjIS0tXG4gICAgVE9ETyhjcmlzYmV0byk6IHRoaXMgZGl2IGlzblwndCBzdHJpY3RseSBuZWNlc3NhcnksIGJ1dCB3ZSBoYXZlIHRvIGtlZXAgaXQgZHVlIHRvIGEgbGFyZ2VcbiAgICBudW1iZXIgb2Ygc2NyZWVuc2hvdCBkaWZmIGZhaWx1cmVzLiBJdCBzaG91bGQgYmUgcmVtb3ZlZCBldmVudHVhbGx5LiBOb3RlIHRoYXQgdGhlIGRpZmZlcmVuY2VcbiAgICBpc25cJ3QgdmlzaWJsZSB3aXRoIGEgc2hvcnRlciBoZWFkZXIsIGJ1dCBvbmNlIGl0IGJyZWFrcyB1cCBpbnRvIG11bHRpcGxlIGxpbmVzLCB0aGlzIGVsZW1lbnRcbiAgICBjYXVzZXMgaXQgdG8gYmUgY2VudGVyLWFsaWduZWQsIHdoZXJlYXMgcmVtb3ZpbmcgaXQgd2lsbCBrZWVwIHRoZSB0ZXh0IHRvIHRoZSBsZWZ0LlxuICAtLVx4M2VcbiAgPGRpdiBjbGFzcz0ibWF0LXNvcnQtaGVhZGVyLWNvbnRlbnQiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+XG5cbiAgXHgzYyEtLSBEaXNhYmxlIGFuaW1hdGlvbnMgd2hpbGUgYSBjdXJyZW50IGFuaW1hdGlvbiBpcyBydW5uaW5nIC0tXHgzZVxuICA8ZGl2IGNsYXNzPSJtYXQtc29ydC1oZWFkZXItYXJyb3ciXG4gICAgICAgKm5nSWY9Il9yZW5kZXJBcnJvdygpIlxuICAgICAgIFtAYXJyb3dPcGFjaXR5XT0iX2dldEFycm93Vmlld1N0YXRlKCkiXG4gICAgICAgW0BhcnJvd1Bvc2l0aW9uXT0iX2dldEFycm93Vmlld1N0YXRlKCkiXG4gICAgICAgW0BhbGxvd0NoaWxkcmVuXT0iX2dldEFycm93RGlyZWN0aW9uU3RhdGUoKSJcbiAgICAgICAoQGFycm93UG9zaXRpb24uc3RhcnQpPSJfZGlzYWJsZVZpZXdTdGF0ZUFuaW1hdGlvbiA9IHRydWUiXG4gICAgICAgKEBhcnJvd1Bvc2l0aW9uLmRvbmUpPSJfZGlzYWJsZVZpZXdTdGF0ZUFuaW1hdGlvbiA9IGZhbHNlIj5cbiAgICA8ZGl2IGNsYXNzPSJtYXQtc29ydC1oZWFkZXItc3RlbSI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz0ibWF0LXNvcnQtaGVhZGVyLWluZGljYXRvciIgW0BpbmRpY2F0b3JdPSJfZ2V0QXJyb3dEaXJlY3Rpb25TdGF0ZSgpIj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC1zb3J0LWhlYWRlci1wb2ludGVyLWxlZnQiIFtAbGVmdFBvaW50ZXJdPSJfZ2V0QXJyb3dEaXJlY3Rpb25TdGF0ZSgpIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC1zb3J0LWhlYWRlci1wb2ludGVyLXJpZ2h0IiBbQHJpZ2h0UG9pbnRlcl09Il9nZXRBcnJvd0RpcmVjdGlvblN0YXRlKCkiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbWlkZGxlIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsaG9zdDp7Y2xhc3M6Im1hdC1zb3J0LWhlYWRlciIsIihjbGljaykiOiJfaGFuZGxlQ2xpY2soKSIsIihrZXlkb3duKSI6Il9oYW5kbGVLZXlkb3duKCRldmVudCkiLCIobW91c2VlbnRlcikiOiJfc2V0SW5kaWNhdG9ySGludFZpc2libGUodHJ1ZSkiLCIobW91c2VsZWF2ZSkiOiJfc2V0SW5kaWNhdG9ySGludFZpc2libGUoZmFsc2UpIiwiW2F0dHIuYXJpYS1zb3J0XSI6Il9nZXRBcmlhU29ydEF0dHJpYnV0ZSgpIiwiW2NsYXNzLm1hdC1zb3J0LWhlYWRlci1kaXNhYmxlZF0iOiJfaXNEaXNhYmxlZCgpIn0sZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsaW5wdXRzOlsiZGlzYWJsZWQiXSxhbmltYXRpb25zOltsMS5pbmRpY2F0b3IsbDEubGVmdFBvaW50ZXIsbDEucmlnaHRQb2ludGVyLGwxLmFycm93T3BhY2l0eSxsMS5hcnJvd1Bvc2l0aW9uLGwxLmFsbG93Q2hpbGRyZW5dLHN0eWxlczpbIi5tYXQtc29ydC1oZWFkZXItY29udGFpbmVye2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO291dGxpbmU6MH1bbWF0LXNvcnQtaGVhZGVyXS5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lcixbbWF0LXNvcnQtaGVhZGVyXS5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVye2JvcmRlci1ib3R0b206c29saWQgMXB4IGN1cnJlbnRDb2xvcn0ubWF0LXNvcnQtaGVhZGVyLWRpc2FibGVkIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVye2N1cnNvcjpkZWZhdWx0fS5tYXQtc29ydC1oZWFkZXItY29udGVudHt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5tYXQtc29ydC1oZWFkZXItcG9zaXRpb24tYmVmb3Jle2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS5tYXQtc29ydC1oZWFkZXItYXJyb3d7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDttaW4td2lkdGg6MTJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7b3BhY2l0eTowfS5tYXQtc29ydC1oZWFkZXItYXJyb3csW2Rpcj1ydGxdIC5tYXQtc29ydC1oZWFkZXItcG9zaXRpb24tYmVmb3JlIC5tYXQtc29ydC1oZWFkZXItYXJyb3d7bWFyZ2luOjAgMCAwIDZweH0ubWF0LXNvcnQtaGVhZGVyLXBvc2l0aW9uLWJlZm9yZSAubWF0LXNvcnQtaGVhZGVyLWFycm93LFtkaXI9cnRsXSAubWF0LXNvcnQtaGVhZGVyLWFycm93e21hcmdpbjowIDZweCAwIDB9Lm1hdC1zb3J0LWhlYWRlci1zdGVte2JhY2tncm91bmQ6Y3VycmVudENvbG9yO2hlaWdodDoxMHB4O3dpZHRoOjJweDttYXJnaW46YXV0bztkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zb3J0LWhlYWRlci1zdGVte3dpZHRoOjA7Ym9yZGVyLWxlZnQ6c29saWQgMnB4fS5tYXQtc29ydC1oZWFkZXItaW5kaWNhdG9ye3dpZHRoOjEwMCU7aGVpZ2h0OjJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbWlkZGxle21hcmdpbjphdXRvO2hlaWdodDoycHg7d2lkdGg6MnB4O2JhY2tncm91bmQ6Y3VycmVudENvbG9yO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zb3J0LWhlYWRlci1wb2ludGVyLW1pZGRsZXt3aWR0aDowO2hlaWdodDowO2JvcmRlci10b3A6c29saWQgMnB4O2JvcmRlci1sZWZ0OnNvbGlkIDJweH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbGVmdCwubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItcmlnaHR7YmFja2dyb3VuZDpjdXJyZW50Q29sb3I7d2lkdGg6NnB4O2hlaWdodDoycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbGVmdCwuY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc29ydC1oZWFkZXItcG9pbnRlci1yaWdodHt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OnNvbGlkIDZweDtib3JkZXItdG9wOnNvbGlkIDJweH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbGVmdHt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0O2xlZnQ6MH0ubWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItcmlnaHR7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0O3JpZ2h0OjB9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmMxfSx7dHlwZTpPYn0se3R5cGU6cjEsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6WyJNQVRfU09SVF9IRUFERVJfQ09MVU1OX0RFRiJdfSx7dHlwZTpCcn1dfSx7dHlwZTpmRn0se3R5cGU6S2h9XX0pLHthcnJvd1Bvc2l0aW9uOlt7dHlwZTpSX31dLGRpc2FibGVDbGVhcjpbe3R5cGU6Ul99XSxpZDpbe3R5cGU6Ul8sYXJnczpbIm1hdC1zb3J0LWhlYWRlciJdfV0sc3RhcnQ6W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIHUxe311MS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dTEpfSx1MS7JtW1vZD1mbyh7dHlwZTp1MX0pLHUxLsm1aW5qPURuKHtwcm92aWRlcnM6W2QxXSxpbXBvcnRzOltbcngsTkZdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodTEsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltyeCxORl0sZXhwb3J0czpbcjEsZjFdLGRlY2xhcmF0aW9uczpbcjEsZjFdLHByb3ZpZGVyczpbZDFdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8odTEse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVybltyMSxmMV19LGltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bcngsTkZdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW3IxLGYxXX19KTtjb25zdCBnMT1bW1siY2FwdGlvbiJdXSxbWyJjb2xncm91cCJdLFsiY29sIl1dXTtmdW5jdGlvbiBoMSh0LGUpe2lmKDEmdCYmKENmKDAsInRoIiwzKSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtsdSgidGV4dC1hbGlnbiIsdC5qdXN0aWZ5KSxEYygxKSxrdSgiICIsdC5oZWFkZXJUZXh0LCIgIil9fWZ1bmN0aW9uIGIxKHQsZSl7aWYoMSZ0JiYoQ2YoMCwidGQiLDQpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKCk7bHUoInRleHQtYWxpZ24iLG4uanVzdGlmeSksRGMoMSksa3UoIiAiLG4uZGF0YUFjY2Vzc29yKHQsbi5uYW1lKSwiICIpfX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovZnVuY3Rpb24geTEodCl7cmV0dXJuIGNsYXNzIGV4dGVuZHMgdHtjb25zdHJ1Y3RvciguLi50KXtzdXBlciguLi50KSx0aGlzLl9zdGlja3k9ITEsdGhpcy5faGFzU3RpY2t5Q2hhbmdlZD0hMX1nZXQgc3RpY2t5KCl7cmV0dXJuIHRoaXMuX3N0aWNreX1zZXQgc3RpY2t5KHQpe2NvbnN0IGU9dGhpcy5fc3RpY2t5O3RoaXMuX3N0aWNreT1lSCh0KSx0aGlzLl9oYXNTdGlja3lDaGFuZ2VkPWUhPT10aGlzLl9zdGlja3l9aGFzU3RpY2t5Q2hhbmdlZCgpe2NvbnN0IHQ9dGhpcy5faGFzU3RpY2t5Q2hhbmdlZDtyZXR1cm4gdGhpcy5faGFzU3RpY2t5Q2hhbmdlZD0hMSx0fXJlc2V0U3RpY2t5Q2hhbmdlZCgpe3RoaXMuX2hhc1N0aWNreUNoYW5nZWQ9ITF9fX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovY29uc3QgXzE9bmV3IGVyKCJDREtfVEFCTEUiKSxDMT1uZXcgZXIoInRleHQtY29sdW1uLW9wdGlvbnMiKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIE0xe2NvbnN0cnVjdG9yKHQpe3RoaXMudGVtcGxhdGU9dH19TTEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE0xKShnZihFYikpfSxNMS7JtWRpcj1obyh7dHlwZTpNMSxzZWxlY3RvcnM6W1siIiwiY2RrQ2VsbERlZiIsIiJdXX0pLE0xLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RWJ9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE0xLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtDZWxsRGVmXSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpFYn1dfSksbnVsbCk7Y2xhc3MgdjF7Y29uc3RydWN0b3IodCl7dGhpcy50ZW1wbGF0ZT10fX12MS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8djEpKGdmKEViKSl9LHYxLsm1ZGlyPWhvKHt0eXBlOnYxLHNlbGVjdG9yczpbWyIiLCJjZGtIZWFkZXJDZWxsRGVmIiwiIl1dfSksdjEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpFYn1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodjEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Nka0hlYWRlckNlbGxEZWZdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkVifV19KSxudWxsKTtjbGFzcyB4MXtjb25zdHJ1Y3Rvcih0KXt0aGlzLnRlbXBsYXRlPXR9fXgxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4MSkoZ2YoRWIpKX0seDEuybVkaXI9aG8oe3R5cGU6eDEsc2VsZWN0b3JzOltbIiIsImNka0Zvb3RlckNlbGxEZWYiLCIiXV19KSx4MS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkVifV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4MSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbY2RrRm9vdGVyQ2VsbERlZl0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RWJ9XX0pLG51bGwpO2NvbnN0IE8xPXkxKGNsYXNze30pO2NsYXNzIFAxIGV4dGVuZHMgTzF7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLl90YWJsZT10LHRoaXMuX3N0aWNreUVuZD0hMX1nZXQgbmFtZSgpe3JldHVybiB0aGlzLl9uYW1lfXNldCBuYW1lKHQpe3RoaXMuX3NldE5hbWVJbnB1dCh0KX1nZXQgc3RpY2t5RW5kKCl7cmV0dXJuIHRoaXMuX3N0aWNreUVuZH1zZXQgc3RpY2t5RW5kKHQpe2NvbnN0IGU9dGhpcy5fc3RpY2t5RW5kO3RoaXMuX3N0aWNreUVuZD1lSCh0KSx0aGlzLl9oYXNTdGlja3lDaGFuZ2VkPWUhPT10aGlzLl9zdGlja3lFbmR9X3VwZGF0ZUNvbHVtbkNzc0NsYXNzTmFtZSgpe3RoaXMuX2NvbHVtbkNzc0NsYXNzTmFtZT1bYGNkay1jb2x1bW4tJHt0aGlzLmNzc0NsYXNzRnJpZW5kbHlOYW1lfWBdfV9zZXROYW1lSW5wdXQodCl7dCYmKHRoaXMuX25hbWU9dCx0aGlzLmNzc0NsYXNzRnJpZW5kbHlOYW1lPXQucmVwbGFjZSgvW15hLXowLTlfLV0vZ2ksIi0iKSx0aGlzLl91cGRhdGVDb2x1bW5Dc3NDbGFzc05hbWUoKSl9fVAxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxQMSkoZ2YoXzEsOCkpfSxQMS7JtWRpcj1obyh7dHlwZTpQMSxzZWxlY3RvcnM6W1siIiwiY2RrQ29sdW1uRGVmIiwiIl1dLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uIHQoZSxuLG8pe2lmKDEmZSYmKGp5KG8sTTEsNSksankobyx2MSw1KSxqeShvLHgxLDUpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLmNlbGw9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uaGVhZGVyQ2VsbD10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5mb290ZXJDZWxsPXQuZmlyc3QpfX0saW5wdXRzOntzdGlja3k6InN0aWNreSIsbmFtZTpbImNka0NvbHVtbkRlZiIsIm5hbWUiXSxzdGlja3lFbmQ6InN0aWNreUVuZCJ9LGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6Ik1BVF9TT1JUX0hFQURFUl9DT0xVTU5fREVGIix1c2VFeGlzdGluZzpQMX1dKSxRcF19KSxQMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltfMV19LHt0eXBlOkJyfV19XSxQMS5wcm9wRGVjb3JhdG9ycz17bmFtZTpbe3R5cGU6Ul8sYXJnczpbImNka0NvbHVtbkRlZiJdfV0sc3RpY2t5RW5kOlt7dHlwZTpSXyxhcmdzOlsic3RpY2t5RW5kIl19XSxjZWxsOlt7dHlwZTppcixhcmdzOltNMV19XSxoZWFkZXJDZWxsOlt7dHlwZTppcixhcmdzOlt2MV19XSxmb290ZXJDZWxsOlt7dHlwZTppcixhcmdzOlt4MV19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihQMSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbY2RrQ29sdW1uRGVmXSIsaW5wdXRzOlsic3RpY2t5Il0scHJvdmlkZXJzOlt7cHJvdmlkZToiTUFUX1NPUlRfSEVBREVSX0NPTFVNTl9ERUYiLHVzZUV4aXN0aW5nOlAxfV19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbXzFdfSx7dHlwZTpCcn1dfV19KSx7bmFtZTpbe3R5cGU6Ul8sYXJnczpbImNka0NvbHVtbkRlZiJdfV0sc3RpY2t5RW5kOlt7dHlwZTpSXyxhcmdzOlsic3RpY2t5RW5kIl19XSxjZWxsOlt7dHlwZTppcixhcmdzOltNMV19XSxoZWFkZXJDZWxsOlt7dHlwZTppcixhcmdzOlt2MV19XSxmb290ZXJDZWxsOlt7dHlwZTppcixhcmdzOlt4MV19XX0pO2NsYXNzIHcxe2NvbnN0cnVjdG9yKHQsZSl7Y29uc3Qgbj1lLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0O2Zvcihjb25zdCBlIG9mIHQuX2NvbHVtbkNzc0NsYXNzTmFtZSluLmFkZChlKX19Y2xhc3MgazEgZXh0ZW5kcyB3MXtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSl9fWsxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxrMSkoZ2YoUDEpLGdmKEtoKSl9LGsxLsm1ZGlyPWhvKHt0eXBlOmsxLHNlbGVjdG9yczpbWyJjZGstaGVhZGVyLWNlbGwiXSxbInRoIiwiY2RrLWhlYWRlci1jZWxsIiwiIl1dLGhvc3RBdHRyczpbInJvbGUiLCJjb2x1bW5oZWFkZXIiLDEsImNkay1oZWFkZXItY2VsbCJdLGZlYXR1cmVzOltRcF19KSxrMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlAxfSx7dHlwZTpLaH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoazEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiY2RrLWhlYWRlci1jZWxsLCB0aFtjZGstaGVhZGVyLWNlbGxdIixob3N0OntjbGFzczoiY2RrLWhlYWRlci1jZWxsIixyb2xlOiJjb2x1bW5oZWFkZXIifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlAxfSx7dHlwZTpLaH1dfSksbnVsbCk7Y2xhc3MgUzEgZXh0ZW5kcyB3MXtjb25zdHJ1Y3Rvcih0LGUpe3ZhciBuO2lmKHN1cGVyKHQsZSksMT09PShudWxsPT09KG49dC5fdGFibGUpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZVR5cGUpKXtjb25zdCBuPXQuX3RhYmxlLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJyb2xlIik7ZS5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgicm9sZSIsImdyaWQiPT09bnx8InRyZWVncmlkIj09PW4/ImdyaWRjZWxsIjoiY2VsbCIpfX19UzEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFMxKShnZihQMSksZ2YoS2gpKX0sUzEuybVkaXI9aG8oe3R5cGU6UzEsc2VsZWN0b3JzOltbImNkay1mb290ZXItY2VsbCJdLFsidGQiLCJjZGstZm9vdGVyLWNlbGwiLCIiXV0saG9zdEF0dHJzOlsxLCJjZGstZm9vdGVyLWNlbGwiXSxmZWF0dXJlczpbUXBdfSksUzEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpQMX0se3R5cGU6S2h9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFMxLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6ImNkay1mb290ZXItY2VsbCwgdGRbY2RrLWZvb3Rlci1jZWxsXSIsaG9zdDp7Y2xhc3M6ImNkay1mb290ZXItY2VsbCJ9fV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6UDF9LHt0eXBlOktofV19KSxudWxsKTtjbGFzcyBEMSBleHRlbmRzIHcxe2NvbnN0cnVjdG9yKHQsZSl7dmFyIG47aWYoc3VwZXIodCxlKSwxPT09KG51bGw9PT0obj10Ll90YWJsZSl8fHZvaWQgMD09PW4/dm9pZCAwOm4uX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5ub2RlVHlwZSkpe2NvbnN0IG49dC5fdGFibGUuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInJvbGUiKTtlLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJyb2xlIiwiZ3JpZCI9PT1ufHwidHJlZWdyaWQiPT09bj8iZ3JpZGNlbGwiOiJjZWxsIil9fX1EMS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RDEpKGdmKFAxKSxnZihLaCkpfSxEMS7JtWRpcj1obyh7dHlwZTpEMSxzZWxlY3RvcnM6W1siY2RrLWNlbGwiXSxbInRkIiwiY2RrLWNlbGwiLCIiXV0saG9zdEF0dHJzOlsxLCJjZGstY2VsbCJdLGZlYXR1cmVzOltRcF19KSxEMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOlAxfSx7dHlwZTpLaH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRDEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiY2RrLWNlbGwsIHRkW2Nkay1jZWxsXSIsaG9zdDp7Y2xhc3M6ImNkay1jZWxsIn19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpQMX0se3R5cGU6S2h9XX0pLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgUjF7Y29uc3RydWN0b3IoKXt0aGlzLnRhc2tzPVtdLHRoaXMuZW5kVGFza3M9W119fWNvbnN0IEUxPW5ldyBlcigiX0NPQUxFU0NFRF9TVFlMRV9TQ0hFRFVMRVIiKTtjbGFzcyBBMXtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9uZ1pvbmU9dCx0aGlzLl9jdXJyZW50U2NoZWR1bGU9bnVsbCx0aGlzLl9kZXN0cm95ZWQ9bmV3IEJ9c2NoZWR1bGUodCl7dGhpcy5fY3JlYXRlU2NoZWR1bGVJZk5lZWRlZCgpLHRoaXMuX2N1cnJlbnRTY2hlZHVsZS50YXNrcy5wdXNoKHQpfXNjaGVkdWxlRW5kKHQpe3RoaXMuX2NyZWF0ZVNjaGVkdWxlSWZOZWVkZWQoKSx0aGlzLl9jdXJyZW50U2NoZWR1bGUuZW5kVGFza3MucHVzaCh0KX1uZ09uRGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3llZC5uZXh0KCksdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCl9X2NyZWF0ZVNjaGVkdWxlSWZOZWVkZWQoKXt0aGlzLl9jdXJyZW50U2NoZWR1bGV8fCh0aGlzLl9jdXJyZW50U2NoZWR1bGU9bmV3IFIxLHRoaXMuX2dldFNjaGVkdWxlT2JzZXJ2YWJsZSgpLnBpcGUoamUodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgoKT0+e2Zvcig7dGhpcy5fY3VycmVudFNjaGVkdWxlLnRhc2tzLmxlbmd0aHx8dGhpcy5fY3VycmVudFNjaGVkdWxlLmVuZFRhc2tzLmxlbmd0aDspe2NvbnN0IHQ9dGhpcy5fY3VycmVudFNjaGVkdWxlO3RoaXMuX2N1cnJlbnRTY2hlZHVsZT1uZXcgUjE7Zm9yKGNvbnN0IGUgb2YgdC50YXNrcyllKCk7Zm9yKGNvbnN0IGUgb2YgdC5lbmRUYXNrcyllKCl9dGhpcy5fY3VycmVudFNjaGVkdWxlPW51bGx9KSkpfV9nZXRTY2hlZHVsZU9ic2VydmFibGUoKXtyZXR1cm4gdGhpcy5fbmdab25lLmlzU3RhYmxlP1B0KFByb21pc2UucmVzb2x2ZSh2b2lkIDApKTp0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh2ZSgxKSl9fUExLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxBMSkoVHIobUMpKX0sQTEuybVwcm92PVNuKHt0b2tlbjpBMSxmYWN0b3J5OkExLsm1ZmFjfSksQTEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTptQ31dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQTEsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOm1DfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFQxPSI8bmctY29udGFpbmVyIGNka0NlbGxPdXRsZXQ+PC9uZy1jb250YWluZXI+IjtjbGFzcyBOMXtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMudGVtcGxhdGU9dCx0aGlzLl9kaWZmZXJzPWV9bmdPbkNoYW5nZXModCl7aWYoIXRoaXMuX2NvbHVtbnNEaWZmZXIpe2NvbnN0IGU9dC5jb2x1bW5zJiZ0LmNvbHVtbnMuY3VycmVudFZhbHVlfHxbXTt0aGlzLl9jb2x1bW5zRGlmZmVyPXRoaXMuX2RpZmZlcnMuZmluZChlKS5jcmVhdGUoKSx0aGlzLl9jb2x1bW5zRGlmZmVyLmRpZmYoZSl9fWdldENvbHVtbnNEaWZmKCl7cmV0dXJuIHRoaXMuX2NvbHVtbnNEaWZmZXIuZGlmZih0aGlzLmNvbHVtbnMpfWV4dHJhY3RDZWxsVGVtcGxhdGUodCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBJMT90LmhlYWRlckNlbGwudGVtcGxhdGU6dGhpcyBpbnN0YW5jZW9mIEYxP3QuZm9vdGVyQ2VsbC50ZW1wbGF0ZTp0LmNlbGwudGVtcGxhdGV9fU4xLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxOMSkoZ2YoRWIpLGdmKGhiKSl9LE4xLsm1ZGlyPWhvKHt0eXBlOk4xLGZlYXR1cmVzOltxb119KSxOMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkVifSx7dHlwZTpoYn1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTjEsW3t0eXBlOmtffV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkVifSx7dHlwZTpoYn1dfSksbnVsbCk7Y29uc3QgejE9eTEoY2xhc3MgZXh0ZW5kcyBOMXt9KTtjbGFzcyBJMSBleHRlbmRzIHoxe2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcih0LGUpLHRoaXMuX3RhYmxlPW59bmdPbkNoYW5nZXModCl7c3VwZXIubmdPbkNoYW5nZXModCl9fUkxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxJMSkoZ2YoRWIpLGdmKGhiKSxnZihfMSw4KSl9LEkxLsm1ZGlyPWhvKHt0eXBlOkkxLHNlbGVjdG9yczpbWyIiLCJjZGtIZWFkZXJSb3dEZWYiLCIiXV0saW5wdXRzOntjb2x1bW5zOlsiY2RrSGVhZGVyUm93RGVmIiwiY29sdW1ucyJdLHN0aWNreTpbImNka0hlYWRlclJvd0RlZlN0aWNreSIsInN0aWNreSJdfSxmZWF0dXJlczpbUXAscW9dfSksSTEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpFYn0se3R5cGU6aGJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltfMV19LHt0eXBlOkJyfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEkxLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtIZWFkZXJSb3dEZWZdIixpbnB1dHM6WyJjb2x1bW5zOiBjZGtIZWFkZXJSb3dEZWYiLCJzdGlja3k6IGNka0hlYWRlclJvd0RlZlN0aWNreSJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RWJ9LHt0eXBlOmhifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbXzFdfSx7dHlwZTpCcn1dfV19KSxudWxsKTtjb25zdCBIMT15MShjbGFzcyBleHRlbmRzIE4xe30pO2NsYXNzIEYxIGV4dGVuZHMgSDF7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSksdGhpcy5fdGFibGU9bn1uZ09uQ2hhbmdlcyh0KXtzdXBlci5uZ09uQ2hhbmdlcyh0KX19RjEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEYxKShnZihFYiksZ2YoaGIpLGdmKF8xLDgpKX0sRjEuybVkaXI9aG8oe3R5cGU6RjEsc2VsZWN0b3JzOltbIiIsImNka0Zvb3RlclJvd0RlZiIsIiJdXSxpbnB1dHM6e2NvbHVtbnM6WyJjZGtGb290ZXJSb3dEZWYiLCJjb2x1bW5zIl0sc3RpY2t5OlsiY2RrRm9vdGVyUm93RGVmU3RpY2t5Iiwic3RpY2t5Il19LGZlYXR1cmVzOltRcCxxb119KSxGMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkVifSx7dHlwZTpoYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W18xXX0se3R5cGU6QnJ9XX1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRjEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW2Nka0Zvb3RlclJvd0RlZl0iLGlucHV0czpbImNvbHVtbnM6IGNka0Zvb3RlclJvd0RlZiIsInN0aWNreTogY2RrRm9vdGVyUm93RGVmU3RpY2t5Il19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpFYn0se3R5cGU6aGJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltfMV19LHt0eXBlOkJyfV19XX0pLG51bGwpO2NsYXNzIEwxIGV4dGVuZHMgTjF7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSksdGhpcy5fdGFibGU9bn19TDEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEwxKShnZihFYiksZ2YoaGIpLGdmKF8xLDgpKX0sTDEuybVkaXI9aG8oe3R5cGU6TDEsc2VsZWN0b3JzOltbIiIsImNka1Jvd0RlZiIsIiJdXSxpbnB1dHM6e2NvbHVtbnM6WyJjZGtSb3dEZWZDb2x1bW5zIiwiY29sdW1ucyJdLHdoZW46WyJjZGtSb3dEZWZXaGVuIiwid2hlbiJdfSxmZWF0dXJlczpbUXBdfSksTDEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpFYn0se3R5cGU6aGJ9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltfMV19LHt0eXBlOkJyfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEwxLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjZGtSb3dEZWZdIixpbnB1dHM6WyJjb2x1bW5zOiBjZGtSb3dEZWZDb2x1bW5zIiwid2hlbjogY2RrUm93RGVmV2hlbiJdfV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RWJ9LHt0eXBlOmhifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbXzFdfSx7dHlwZTpCcn1dfV19KSxudWxsKTtjbGFzcyBCMXtjb25zdHJ1Y3Rvcih0KXt0aGlzLl92aWV3Q29udGFpbmVyPXQsQjEubW9zdFJlY2VudENlbGxPdXRsZXQ9dGhpc31uZ09uRGVzdHJveSgpe0IxLm1vc3RSZWNlbnRDZWxsT3V0bGV0PT09dGhpcyYmKEIxLm1vc3RSZWNlbnRDZWxsT3V0bGV0PW51bGwpfX1CMS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QjEpKGdmKEZiKSl9LEIxLsm1ZGlyPWhvKHt0eXBlOkIxLHNlbGVjdG9yczpbWyIiLCJjZGtDZWxsT3V0bGV0IiwiIl1dfSksQjEubW9zdFJlY2VudENlbGxPdXRsZXQ9bnVsbCxCMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkZifV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihCMSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbY2RrQ2VsbE91dGxldF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RmJ9XX0pLG51bGwpO2NsYXNzIFYxe31WMS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8VjEpfSxWMS7JtWNtcD1zbyh7dHlwZTpWMSxzZWxlY3RvcnM6W1siY2RrLWhlYWRlci1yb3ciXSxbInRyIiwiY2RrLWhlYWRlci1yb3ciLCIiXV0saG9zdEF0dHJzOlsicm9sZSIsInJvdyIsMSwiY2RrLWhlYWRlci1yb3ciXSxkZWNsczoxLHZhcnM6MCxjb25zdHM6W1siY2RrQ2VsbE91dGxldCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiZQZigwLDApfSxkaXJlY3RpdmVzOltCMV0sZW5jYXBzdWxhdGlvbjoyfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWMSxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJjZGstaGVhZGVyLXJvdywgdHJbY2RrLWhlYWRlci1yb3ddIix0ZW1wbGF0ZTpUMSxob3N0OntjbGFzczoiY2RrLWhlYWRlci1yb3ciLHJvbGU6InJvdyJ9LGNoYW5nZURldGVjdGlvbjpqbi5EZWZhdWx0LGVuY2Fwc3VsYXRpb246V24uTm9uZX1dfV0sbnVsbCxudWxsKTtjbGFzcyBqMXt9ajEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGoxKX0sajEuybVjbXA9c28oe3R5cGU6ajEsc2VsZWN0b3JzOltbImNkay1mb290ZXItcm93Il0sWyJ0ciIsImNkay1mb290ZXItcm93IiwiIl1dLGhvc3RBdHRyczpbInJvbGUiLCJyb3ciLDEsImNkay1mb290ZXItcm93Il0sZGVjbHM6MSx2YXJzOjAsY29uc3RzOltbImNka0NlbGxPdXRsZXQiLCIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmUGYoMCwwKX0sZGlyZWN0aXZlczpbQjFdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoajEsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiY2RrLWZvb3Rlci1yb3csIHRyW2Nkay1mb290ZXItcm93XSIsdGVtcGxhdGU6VDEsaG9zdDp7Y2xhc3M6ImNkay1mb290ZXItcm93Iixyb2xlOiJyb3cifSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxlbmNhcHN1bGF0aW9uOlduLk5vbmV9XX1dLG51bGwsbnVsbCk7Y2xhc3MgVTF7fVUxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxVMSl9LFUxLsm1Y21wPXNvKHt0eXBlOlUxLHNlbGVjdG9yczpbWyJjZGstcm93Il0sWyJ0ciIsImNkay1yb3ciLCIiXV0saG9zdEF0dHJzOlsicm9sZSIsInJvdyIsMSwiY2RrLXJvdyJdLGRlY2xzOjEsdmFyczowLGNvbnN0czpbWyJjZGtDZWxsT3V0bGV0IiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlBmKDAsMCl9LGRpcmVjdGl2ZXM6W0IxXSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFUxLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImNkay1yb3csIHRyW2Nkay1yb3ddIix0ZW1wbGF0ZTpUMSxob3N0OntjbGFzczoiY2RrLXJvdyIscm9sZToicm93In0sY2hhbmdlRGV0ZWN0aW9uOmpuLkRlZmF1bHQsZW5jYXBzdWxhdGlvbjpXbi5Ob25lfV19XSxudWxsLG51bGwpO2NsYXNzIFcxe2NvbnN0cnVjdG9yKHQpe3RoaXMudGVtcGxhdGVSZWY9dH19VzEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFcxKShnZihFYikpfSxXMS7JtWRpcj1obyh7dHlwZTpXMSxzZWxlY3RvcnM6W1sibmctdGVtcGxhdGUiLCJjZGtOb0RhdGFSb3ciLCIiXV19KSxXMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkVifV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihXMSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJuZy10ZW1wbGF0ZVtjZGtOb0RhdGFSb3ddIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkVifV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IEcxPVsidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Il07Y2xhc3MgWTF7Y29uc3RydWN0b3IodCxlLG4sbyxpPSEwLGE9ITAscil7dGhpcy5faXNOYXRpdmVIdG1sVGFibGU9dCx0aGlzLl9zdGlja0NlbGxDc3M9ZSx0aGlzLmRpcmVjdGlvbj1uLHRoaXMuX2NvYWxlc2NlZFN0eWxlU2NoZWR1bGVyPW8sdGhpcy5faXNCcm93c2VyPWksdGhpcy5fbmVlZHNQb3NpdGlvblN0aWNreU9uRWxlbWVudD1hLHRoaXMuX3Bvc2l0aW9uTGlzdGVuZXI9cix0aGlzLl9jYWNoZWRDZWxsV2lkdGhzPVtdLHRoaXMuX2JvcmRlckNlbGxDc3M9e3RvcDpgJHtlfS1ib3JkZXItZWxlbS10b3BgLGJvdHRvbTpgJHtlfS1ib3JkZXItZWxlbS1ib3R0b21gLGxlZnQ6YCR7ZX0tYm9yZGVyLWVsZW0tbGVmdGAscmlnaHQ6YCR7ZX0tYm9yZGVyLWVsZW0tcmlnaHRgfX1jbGVhclN0aWNreVBvc2l0aW9uaW5nKHQsZSl7Y29uc3Qgbj1bXTtmb3IoY29uc3QgZSBvZiB0KWlmKGUubm9kZVR5cGU9PT1lLkVMRU1FTlRfTk9ERSl7bi5wdXNoKGUpO2ZvcihsZXQgdD0wO3Q8ZS5jaGlsZHJlbi5sZW5ndGg7dCsrKW4ucHVzaChlLmNoaWxkcmVuW3RdKX10aGlzLl9jb2FsZXNjZWRTdHlsZVNjaGVkdWxlci5zY2hlZHVsZSgoKCk9Pntmb3IoY29uc3QgdCBvZiBuKXRoaXMuX3JlbW92ZVN0aWNreVN0eWxlKHQsZSl9KSl9dXBkYXRlU3RpY2t5Q29sdW1ucyh0LGUsbixvPSEwKXtpZighdC5sZW5ndGh8fCF0aGlzLl9pc0Jyb3dzZXJ8fCFlLnNvbWUoKHQ9PnQpKSYmIW4uc29tZSgodD0+dCkpKXJldHVybiB2b2lkKHRoaXMuX3Bvc2l0aW9uTGlzdGVuZXImJih0aGlzLl9wb3NpdGlvbkxpc3RlbmVyLnN0aWNreUNvbHVtbnNVcGRhdGVkKHtzaXplczpbXX0pLHRoaXMuX3Bvc2l0aW9uTGlzdGVuZXIuc3RpY2t5RW5kQ29sdW1uc1VwZGF0ZWQoe3NpemVzOltdfSkpKTtjb25zdCBpPXRbMF0sYT1pLmNoaWxkcmVuLmxlbmd0aCxyPXRoaXMuX2dldENlbGxXaWR0aHMoaSxvKSxzPXRoaXMuX2dldFN0aWNreVN0YXJ0Q29sdW1uUG9zaXRpb25zKHIsZSksbD10aGlzLl9nZXRTdGlja3lFbmRDb2x1bW5Qb3NpdGlvbnMocixuKSxjPWUubGFzdEluZGV4T2YoITApLGQ9bi5pbmRleE9mKCEwKTt0aGlzLl9jb2FsZXNjZWRTdHlsZVNjaGVkdWxlci5zY2hlZHVsZSgoKCk9Pntjb25zdCBvPSJydGwiPT09dGhpcy5kaXJlY3Rpb24saT1vPyJyaWdodCI6ImxlZnQiLHA9bz8ibGVmdCI6InJpZ2h0Ijtmb3IoY29uc3QgbyBvZiB0KWZvcihsZXQgdD0wO3Q8YTt0Kyspe2NvbnN0IGE9by5jaGlsZHJlblt0XTtlW3RdJiZ0aGlzLl9hZGRTdGlja3lTdHlsZShhLGksc1t0XSx0PT09Yyksblt0XSYmdGhpcy5fYWRkU3RpY2t5U3R5bGUoYSxwLGxbdF0sdD09PWQpfXRoaXMuX3Bvc2l0aW9uTGlzdGVuZXImJih0aGlzLl9wb3NpdGlvbkxpc3RlbmVyLnN0aWNreUNvbHVtbnNVcGRhdGVkKHtzaXplczotMT09PWM/W106ci5zbGljZSgwLGMrMSkubWFwKCgodCxuKT0+ZVtuXT90Om51bGwpKX0pLHRoaXMuX3Bvc2l0aW9uTGlzdGVuZXIuc3RpY2t5RW5kQ29sdW1uc1VwZGF0ZWQoe3NpemVzOi0xPT09ZD9bXTpyLnNsaWNlKGQpLm1hcCgoKHQsZSk9Pm5bZStkXT90Om51bGwpKS5yZXZlcnNlKCl9KSl9KSl9c3RpY2tSb3dzKHQsZSxuKXtpZighdGhpcy5faXNCcm93c2VyKXJldHVybjtjb25zdCBvPSJib3R0b20iPT09bj90LnNsaWNlKCkucmV2ZXJzZSgpOnQsaT0iYm90dG9tIj09PW4/ZS5zbGljZSgpLnJldmVyc2UoKTplLGE9W10scj1bXSxzPVtdO2ZvcihsZXQgdD0wLGU9MDt0PG8ubGVuZ3RoO3QrKyl7aWYoIWlbdF0pY29udGludWU7YVt0XT1lO2NvbnN0IG49b1t0XTtzW3RdPXRoaXMuX2lzTmF0aXZlSHRtbFRhYmxlP0FycmF5LmZyb20obi5jaGlsZHJlbik6W25dO2NvbnN0IGw9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7ZSs9bCxyW3RdPWx9Y29uc3QgbD1pLmxhc3RJbmRleE9mKCEwKTt0aGlzLl9jb2FsZXNjZWRTdHlsZVNjaGVkdWxlci5zY2hlZHVsZSgoKCk9Pnt2YXIgdCxlO2ZvcihsZXQgdD0wO3Q8by5sZW5ndGg7dCsrKXtpZighaVt0XSljb250aW51ZTtjb25zdCBlPWFbdF0sbz10PT09bDtmb3IoY29uc3QgaSBvZiBzW3RdKXRoaXMuX2FkZFN0aWNreVN0eWxlKGksbixlLG8pfSJ0b3AiPT09bj9udWxsPT09KHQ9dGhpcy5fcG9zaXRpb25MaXN0ZW5lcil8fHZvaWQgMD09PXR8fHQuc3RpY2t5SGVhZGVyUm93c1VwZGF0ZWQoe3NpemVzOnIsb2Zmc2V0czphLGVsZW1lbnRzOnN9KTpudWxsPT09KGU9dGhpcy5fcG9zaXRpb25MaXN0ZW5lcil8fHZvaWQgMD09PWV8fGUuc3RpY2t5Rm9vdGVyUm93c1VwZGF0ZWQoe3NpemVzOnIsb2Zmc2V0czphLGVsZW1lbnRzOnN9KX0pKX11cGRhdGVTdGlja3lGb290ZXJDb250YWluZXIodCxlKXtpZighdGhpcy5faXNOYXRpdmVIdG1sVGFibGUpcmV0dXJuO2NvbnN0IG49dC5xdWVyeVNlbGVjdG9yKCJ0Zm9vdCIpO3RoaXMuX2NvYWxlc2NlZFN0eWxlU2NoZWR1bGVyLnNjaGVkdWxlKCgoKT0+e2Uuc29tZSgodD0+IXQpKT90aGlzLl9yZW1vdmVTdGlja3lTdHlsZShuLFsiYm90dG9tIl0pOnRoaXMuX2FkZFN0aWNreVN0eWxlKG4sImJvdHRvbSIsMCwhMSl9KSl9X3JlbW92ZVN0aWNreVN0eWxlKHQsZSl7Zm9yKGNvbnN0IG4gb2YgZSl0LnN0eWxlW25dPSIiLHQuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9ib3JkZXJDZWxsQ3NzW25dKTtHMS5zb21lKChuPT4tMT09PWUuaW5kZXhPZihuKSYmdC5zdHlsZVtuXSkpP3Quc3R5bGUuekluZGV4PXRoaXMuX2dldENhbGN1bGF0ZWRaSW5kZXgodCk6KHQuc3R5bGUuekluZGV4PSIiLHRoaXMuX25lZWRzUG9zaXRpb25TdGlja3lPbkVsZW1lbnQmJih0LnN0eWxlLnBvc2l0aW9uPSIiKSx0LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5fc3RpY2tDZWxsQ3NzKSl9X2FkZFN0aWNreVN0eWxlKHQsZSxuLG8pe3QuY2xhc3NMaXN0LmFkZCh0aGlzLl9zdGlja0NlbGxDc3MpLG8mJnQuY2xhc3NMaXN0LmFkZCh0aGlzLl9ib3JkZXJDZWxsQ3NzW2VdKSx0LnN0eWxlW2VdPWAke259cHhgLHQuc3R5bGUuekluZGV4PXRoaXMuX2dldENhbGN1bGF0ZWRaSW5kZXgodCksdGhpcy5fbmVlZHNQb3NpdGlvblN0aWNreU9uRWxlbWVudCYmKHQuc3R5bGUuY3NzVGV4dCs9InBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTsgcG9zaXRpb246IHN0aWNreTsgIil9X2dldENhbGN1bGF0ZWRaSW5kZXgodCl7Y29uc3QgZT17dG9wOjEwMCxib3R0b206MTAsbGVmdDoxLHJpZ2h0OjF9O2xldCBuPTA7Zm9yKGNvbnN0IG8gb2YgRzEpdC5zdHlsZVtvXSYmKG4rPWVbb10pO3JldHVybiBuP2Ake259YDoiIn1fZ2V0Q2VsbFdpZHRocyh0LGU9ITApe2lmKCFlJiZ0aGlzLl9jYWNoZWRDZWxsV2lkdGhzLmxlbmd0aClyZXR1cm4gdGhpcy5fY2FjaGVkQ2VsbFdpZHRocztjb25zdCBuPVtdLG89dC5jaGlsZHJlbjtmb3IobGV0IHQ9MDt0PG8ubGVuZ3RoO3QrKyl7bi5wdXNoKG9bdF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpfXJldHVybiB0aGlzLl9jYWNoZWRDZWxsV2lkdGhzPW4sbn1fZ2V0U3RpY2t5U3RhcnRDb2x1bW5Qb3NpdGlvbnModCxlKXtjb25zdCBuPVtdO2xldCBvPTA7Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspZVtpXSYmKG5baV09byxvKz10W2ldKTtyZXR1cm4gbn1fZ2V0U3RpY2t5RW5kQ29sdW1uUG9zaXRpb25zKHQsZSl7Y29uc3Qgbj1bXTtsZXQgbz0wO2ZvcihsZXQgaT10Lmxlbmd0aDtpPjA7aS0tKWVbaV0mJihuW2ldPW8sbys9dFtpXSk7cmV0dXJuIG59fQovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9mdW5jdGlvbiBxMSh0KXtyZXR1cm4gRXJyb3IoYENvdWxkIG5vdCBmaW5kIGNvbHVtbiB3aXRoIGlkICIke3R9Ii5gKX0KLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFoxPW5ldyBlcigiQ0RLX1NQTCIpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi9jbGFzcyBYMXt9WDEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFgxKX0sWDEuybVkaXI9aG8oe3R5cGU6WDEsc2VsZWN0b3JzOltbImNkay10YWJsZSIsInJlY3ljbGVSb3dzIiwiIl0sWyJ0YWJsZSIsImNkay10YWJsZSIsIiIsInJlY3ljbGVSb3dzIiwiIl1dLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6V0wsdXNlQ2xhc3M6Vkx9XSldfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYMSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJjZGstdGFibGVbcmVjeWNsZVJvd3NdLCB0YWJsZVtjZGstdGFibGVdW3JlY3ljbGVSb3dzXSIscHJvdmlkZXJzOlt7cHJvdmlkZTpXTCx1c2VDbGFzczpWTH1dfV19XSxudWxsLG51bGwpO2NsYXNzIEsxe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy52aWV3Q29udGFpbmVyPXQsdGhpcy5lbGVtZW50UmVmPWV9fUsxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxLMSkoZ2YoRmIpLGdmKEtoKSl9LEsxLsm1ZGlyPWhvKHt0eXBlOksxLHNlbGVjdG9yczpbWyIiLCJyb3dPdXRsZXQiLCIiXV19KSxLMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkZifSx7dHlwZTpLaH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSzEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW3Jvd091dGxldF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RmJ9LHt0eXBlOktofV19KSxudWxsKTtjbGFzcyBKMXtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMudmlld0NvbnRhaW5lcj10LHRoaXMuZWxlbWVudFJlZj1lfX1KMS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SjEpKGdmKEZiKSxnZihLaCkpfSxKMS7JtWRpcj1obyh7dHlwZTpKMSxzZWxlY3RvcnM6W1siIiwiaGVhZGVyUm93T3V0bGV0IiwiIl1dfSksSjEuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpGYn0se3R5cGU6S2h9XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEoxLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltoZWFkZXJSb3dPdXRsZXRdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkZifSx7dHlwZTpLaH1dfSksbnVsbCk7Y2xhc3MgUTF7Y29uc3RydWN0b3IodCxlKXt0aGlzLnZpZXdDb250YWluZXI9dCx0aGlzLmVsZW1lbnRSZWY9ZX19UTEuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFExKShnZihGYiksZ2YoS2gpKX0sUTEuybVkaXI9aG8oe3R5cGU6UTEsc2VsZWN0b3JzOltbIiIsImZvb3RlclJvd091dGxldCIsIiJdXX0pLFExLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RmJ9LHt0eXBlOktofV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihRMSxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbZm9vdGVyUm93T3V0bGV0XSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpGYn0se3R5cGU6S2h9XX0pLG51bGwpO2NsYXNzICQxe2NvbnN0cnVjdG9yKHQsZSl7dGhpcy52aWV3Q29udGFpbmVyPXQsdGhpcy5lbGVtZW50UmVmPWV9fSQxLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHwkMSkoZ2YoRmIpLGdmKEtoKSl9LCQxLsm1ZGlyPWhvKHt0eXBlOiQxLHNlbGVjdG9yczpbWyIiLCJub0RhdGFSb3dPdXRsZXQiLCIiXV19KSwkMS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOkZifSx7dHlwZTpLaH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoJDEsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW25vRGF0YVJvd091dGxldF0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6RmJ9LHt0eXBlOktofV19KSxudWxsKTtjb25zdCB0Mz0nXG4gIDxuZy1jb250ZW50IHNlbGVjdD0iY2FwdGlvbiI+PC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBzZWxlY3Q9ImNvbGdyb3VwLCBjb2wiPjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRhaW5lciBoZWFkZXJSb3dPdXRsZXQ+PC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgcm93T3V0bGV0PjwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIG5vRGF0YVJvd091dGxldD48L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciBmb290ZXJSb3dPdXRsZXQ+PC9uZy1jb250YWluZXI+XG4nO2NsYXNzIGUze2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMsZCl7dGhpcy5fZGlmZmVycz10LHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPWUsdGhpcy5fZWxlbWVudFJlZj1uLHRoaXMuX2Rpcj1pLHRoaXMuX3BsYXRmb3JtPXIsdGhpcy5fdmlld1JlcGVhdGVyPXMsdGhpcy5fY29hbGVzY2VkU3R5bGVTY2hlZHVsZXI9bCx0aGlzLl92aWV3cG9ydFJ1bGVyPWMsdGhpcy5fc3RpY2t5UG9zaXRpb25pbmdMaXN0ZW5lcj1kLHRoaXMuX29uRGVzdHJveT1uZXcgQix0aGlzLl9jb2x1bW5EZWZzQnlOYW1lPW5ldyBNYXAsdGhpcy5fY3VzdG9tQ29sdW1uRGVmcz1uZXcgU2V0LHRoaXMuX2N1c3RvbVJvd0RlZnM9bmV3IFNldCx0aGlzLl9jdXN0b21IZWFkZXJSb3dEZWZzPW5ldyBTZXQsdGhpcy5fY3VzdG9tRm9vdGVyUm93RGVmcz1uZXcgU2V0LHRoaXMuX2hlYWRlclJvd0RlZkNoYW5nZWQ9ITAsdGhpcy5fZm9vdGVyUm93RGVmQ2hhbmdlZD0hMCx0aGlzLl9zdGlja3lDb2x1bW5TdHlsZXNOZWVkUmVzZXQ9ITAsdGhpcy5fZm9yY2VSZWNhbGN1bGF0ZUNlbGxXaWR0aHM9ITAsdGhpcy5fY2FjaGVkUmVuZGVyUm93c01hcD1uZXcgTWFwLHRoaXMuc3RpY2t5Q3NzQ2xhc3M9ImNkay10YWJsZS1zdGlja3kiLHRoaXMubmVlZHNQb3NpdGlvblN0aWNreU9uRWxlbWVudD0hMCx0aGlzLl9pc1Nob3dpbmdOb0RhdGFSb3c9ITEsdGhpcy5fbXVsdGlUZW1wbGF0ZURhdGFSb3dzPSExLHRoaXMuX2ZpeGVkTGF5b3V0PSExLHRoaXMuY29udGVudENoYW5nZWQ9bmV3IFN5LHRoaXMudmlld0NoYW5nZT1uZXcgaih7c3RhcnQ6MCxlbmQ6TnVtYmVyLk1BWF9WQUxVRX0pLG98fHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoInJvbGUiLCJ0YWJsZSIpLHRoaXMuX2RvY3VtZW50PWEsdGhpcy5faXNOYXRpdmVIdG1sVGFibGU9IlRBQkxFIj09PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5ub2RlTmFtZX1nZXQgdHJhY2tCeSgpe3JldHVybiB0aGlzLl90cmFja0J5Rm59c2V0IHRyYWNrQnkodCl7InVuZGVmaW5lZCIhPXR5cGVvZiBuZ0Rldk1vZGUmJiFuZ0Rldk1vZGV8fG51bGw9PXR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0fHxjb25zb2xlLndhcm4oYHRyYWNrQnkgbXVzdCBiZSBhIGZ1bmN0aW9uLCBidXQgcmVjZWl2ZWQgJHtKU09OLnN0cmluZ2lmeSh0KX0uYCksdGhpcy5fdHJhY2tCeUZuPXR9Z2V0IGRhdGFTb3VyY2UoKXtyZXR1cm4gdGhpcy5fZGF0YVNvdXJjZX1zZXQgZGF0YVNvdXJjZSh0KXt0aGlzLl9kYXRhU291cmNlIT09dCYmdGhpcy5fc3dpdGNoRGF0YVNvdXJjZSh0KX1nZXQgbXVsdGlUZW1wbGF0ZURhdGFSb3dzKCl7cmV0dXJuIHRoaXMuX211bHRpVGVtcGxhdGVEYXRhUm93c31zZXQgbXVsdGlUZW1wbGF0ZURhdGFSb3dzKHQpe3RoaXMuX211bHRpVGVtcGxhdGVEYXRhUm93cz1lSCh0KSx0aGlzLl9yb3dPdXRsZXQmJnRoaXMuX3Jvd091dGxldC52aWV3Q29udGFpbmVyLmxlbmd0aCYmKHRoaXMuX2ZvcmNlUmVuZGVyRGF0YVJvd3MoKSx0aGlzLnVwZGF0ZVN0aWNreUNvbHVtblN0eWxlcygpKX1nZXQgZml4ZWRMYXlvdXQoKXtyZXR1cm4gdGhpcy5fZml4ZWRMYXlvdXR9c2V0IGZpeGVkTGF5b3V0KHQpe3RoaXMuX2ZpeGVkTGF5b3V0PWVIKHQpLHRoaXMuX2ZvcmNlUmVjYWxjdWxhdGVDZWxsV2lkdGhzPSEwLHRoaXMuX3N0aWNreUNvbHVtblN0eWxlc05lZWRSZXNldD0hMH1uZ09uSW5pdCgpe3RoaXMuX3NldHVwU3RpY2t5U3R5bGVyKCksdGhpcy5faXNOYXRpdmVIdG1sVGFibGUmJnRoaXMuX2FwcGx5TmF0aXZlVGFibGVTZWN0aW9ucygpLHRoaXMuX2RhdGFEaWZmZXI9dGhpcy5fZGlmZmVycy5maW5kKFtdKS5jcmVhdGUoKCh0LGUpPT50aGlzLnRyYWNrQnk/dGhpcy50cmFja0J5KGUuZGF0YUluZGV4LGUuZGF0YSk6ZSkpLHRoaXMuX3ZpZXdwb3J0UnVsZXIuY2hhbmdlKCkucGlwZShqZSh0aGlzLl9vbkRlc3Ryb3kpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fZm9yY2VSZWNhbGN1bGF0ZUNlbGxXaWR0aHM9ITB9KSl9bmdBZnRlckNvbnRlbnRDaGVja2VkKCl7aWYodGhpcy5fY2FjaGVSb3dEZWZzKCksdGhpcy5fY2FjaGVDb2x1bW5EZWZzKCksIXRoaXMuX2hlYWRlclJvd0RlZnMubGVuZ3RoJiYhdGhpcy5fZm9vdGVyUm93RGVmcy5sZW5ndGgmJiF0aGlzLl9yb3dEZWZzLmxlbmd0aCYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93KGZ1bmN0aW9uIHQoKXtyZXR1cm4gRXJyb3IoIk1pc3NpbmcgZGVmaW5pdGlvbnMgZm9yIGhlYWRlciwgZm9vdGVyLCBhbmQgcm93OyBjYW5ub3QgZGV0ZXJtaW5lIHdoaWNoIGNvbHVtbnMgc2hvdWxkIGJlIHJlbmRlcmVkLiIpfSkoKTtjb25zdCBlPXRoaXMuX3JlbmRlclVwZGF0ZWRDb2x1bW5zKCl8fHRoaXMuX2hlYWRlclJvd0RlZkNoYW5nZWR8fHRoaXMuX2Zvb3RlclJvd0RlZkNoYW5nZWQ7dGhpcy5fc3RpY2t5Q29sdW1uU3R5bGVzTmVlZFJlc2V0PXRoaXMuX3N0aWNreUNvbHVtblN0eWxlc05lZWRSZXNldHx8ZSx0aGlzLl9mb3JjZVJlY2FsY3VsYXRlQ2VsbFdpZHRocz1lLHRoaXMuX2hlYWRlclJvd0RlZkNoYW5nZWQmJih0aGlzLl9mb3JjZVJlbmRlckhlYWRlclJvd3MoKSx0aGlzLl9oZWFkZXJSb3dEZWZDaGFuZ2VkPSExKSx0aGlzLl9mb290ZXJSb3dEZWZDaGFuZ2VkJiYodGhpcy5fZm9yY2VSZW5kZXJGb290ZXJSb3dzKCksdGhpcy5fZm9vdGVyUm93RGVmQ2hhbmdlZD0hMSksdGhpcy5kYXRhU291cmNlJiZ0aGlzLl9yb3dEZWZzLmxlbmd0aD4wJiYhdGhpcy5fcmVuZGVyQ2hhbmdlU3Vic2NyaXB0aW9uP3RoaXMuX29ic2VydmVSZW5kZXJDaGFuZ2VzKCk6dGhpcy5fc3RpY2t5Q29sdW1uU3R5bGVzTmVlZFJlc2V0JiZ0aGlzLnVwZGF0ZVN0aWNreUNvbHVtblN0eWxlcygpLHRoaXMuX2NoZWNrU3RpY2t5U3RhdGVzKCl9bmdPbkRlc3Ryb3koKXt0aGlzLl9yb3dPdXRsZXQudmlld0NvbnRhaW5lci5jbGVhcigpLHRoaXMuX25vRGF0YVJvd091dGxldC52aWV3Q29udGFpbmVyLmNsZWFyKCksdGhpcy5faGVhZGVyUm93T3V0bGV0LnZpZXdDb250YWluZXIuY2xlYXIoKSx0aGlzLl9mb290ZXJSb3dPdXRsZXQudmlld0NvbnRhaW5lci5jbGVhcigpLHRoaXMuX2NhY2hlZFJlbmRlclJvd3NNYXAuY2xlYXIoKSx0aGlzLl9vbkRlc3Ryb3kubmV4dCgpLHRoaXMuX29uRGVzdHJveS5jb21wbGV0ZSgpLEZMKHRoaXMuZGF0YVNvdXJjZSkmJnRoaXMuZGF0YVNvdXJjZS5kaXNjb25uZWN0KHRoaXMpfXJlbmRlclJvd3MoKXt0aGlzLl9yZW5kZXJSb3dzPXRoaXMuX2dldEFsbFJlbmRlclJvd3MoKTtjb25zdCB0PXRoaXMuX2RhdGFEaWZmZXIuZGlmZih0aGlzLl9yZW5kZXJSb3dzKTtpZighdClyZXR1cm4gdGhpcy5fdXBkYXRlTm9EYXRhUm93KCksdm9pZCB0aGlzLmNvbnRlbnRDaGFuZ2VkLm5leHQoKTtjb25zdCBlPXRoaXMuX3Jvd091dGxldC52aWV3Q29udGFpbmVyO3RoaXMuX3ZpZXdSZXBlYXRlci5hcHBseUNoYW5nZXModCxlLCgodCxlLG4pPT50aGlzLl9nZXRFbWJlZGRlZFZpZXdBcmdzKHQuaXRlbSxuKSksKHQ9PnQuaXRlbS5kYXRhKSwodD0+ezE9PT10Lm9wZXJhdGlvbiYmdC5jb250ZXh0JiZ0aGlzLl9yZW5kZXJDZWxsVGVtcGxhdGVGb3JJdGVtKHQucmVjb3JkLml0ZW0ucm93RGVmLHQuY29udGV4dCl9KSksdGhpcy5fdXBkYXRlUm93SW5kZXhDb250ZXh0KCksdC5mb3JFYWNoSWRlbnRpdHlDaGFuZ2UoKHQ9PntlLmdldCh0LmN1cnJlbnRJbmRleCkuY29udGV4dC4kaW1wbGljaXQ9dC5pdGVtLmRhdGF9KSksdGhpcy5fdXBkYXRlTm9EYXRhUm93KCksdGhpcy51cGRhdGVTdGlja3lDb2x1bW5TdHlsZXMoKSx0aGlzLmNvbnRlbnRDaGFuZ2VkLm5leHQoKX1hZGRDb2x1bW5EZWYodCl7dGhpcy5fY3VzdG9tQ29sdW1uRGVmcy5hZGQodCl9cmVtb3ZlQ29sdW1uRGVmKHQpe3RoaXMuX2N1c3RvbUNvbHVtbkRlZnMuZGVsZXRlKHQpfWFkZFJvd0RlZih0KXt0aGlzLl9jdXN0b21Sb3dEZWZzLmFkZCh0KX1yZW1vdmVSb3dEZWYodCl7dGhpcy5fY3VzdG9tUm93RGVmcy5kZWxldGUodCl9YWRkSGVhZGVyUm93RGVmKHQpe3RoaXMuX2N1c3RvbUhlYWRlclJvd0RlZnMuYWRkKHQpLHRoaXMuX2hlYWRlclJvd0RlZkNoYW5nZWQ9ITB9cmVtb3ZlSGVhZGVyUm93RGVmKHQpe3RoaXMuX2N1c3RvbUhlYWRlclJvd0RlZnMuZGVsZXRlKHQpLHRoaXMuX2hlYWRlclJvd0RlZkNoYW5nZWQ9ITB9YWRkRm9vdGVyUm93RGVmKHQpe3RoaXMuX2N1c3RvbUZvb3RlclJvd0RlZnMuYWRkKHQpLHRoaXMuX2Zvb3RlclJvd0RlZkNoYW5nZWQ9ITB9cmVtb3ZlRm9vdGVyUm93RGVmKHQpe3RoaXMuX2N1c3RvbUZvb3RlclJvd0RlZnMuZGVsZXRlKHQpLHRoaXMuX2Zvb3RlclJvd0RlZkNoYW5nZWQ9ITB9c2V0Tm9EYXRhUm93KHQpe3RoaXMuX2N1c3RvbU5vRGF0YVJvdz10fXVwZGF0ZVN0aWNreUhlYWRlclJvd1N0eWxlcygpe2NvbnN0IHQ9dGhpcy5fZ2V0UmVuZGVyZWRSb3dzKHRoaXMuX2hlYWRlclJvd091dGxldCksZT10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigidGhlYWQiKTtlJiYoZS5zdHlsZS5kaXNwbGF5PXQubGVuZ3RoPyIiOiJub25lIik7Y29uc3Qgbj10aGlzLl9oZWFkZXJSb3dEZWZzLm1hcCgodD0+dC5zdGlja3kpKTt0aGlzLl9zdGlja3lTdHlsZXIuY2xlYXJTdGlja3lQb3NpdGlvbmluZyh0LFsidG9wIl0pLHRoaXMuX3N0aWNreVN0eWxlci5zdGlja1Jvd3ModCxuLCJ0b3AiKSx0aGlzLl9oZWFkZXJSb3dEZWZzLmZvckVhY2goKHQ9PnQucmVzZXRTdGlja3lDaGFuZ2VkKCkpKX11cGRhdGVTdGlja3lGb290ZXJSb3dTdHlsZXMoKXtjb25zdCB0PXRoaXMuX2dldFJlbmRlcmVkUm93cyh0aGlzLl9mb290ZXJSb3dPdXRsZXQpLGU9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoInRmb290Iik7ZSYmKGUuc3R5bGUuZGlzcGxheT10Lmxlbmd0aD8iIjoibm9uZSIpO2NvbnN0IG49dGhpcy5fZm9vdGVyUm93RGVmcy5tYXAoKHQ9PnQuc3RpY2t5KSk7dGhpcy5fc3RpY2t5U3R5bGVyLmNsZWFyU3RpY2t5UG9zaXRpb25pbmcodCxbImJvdHRvbSJdKSx0aGlzLl9zdGlja3lTdHlsZXIuc3RpY2tSb3dzKHQsbiwiYm90dG9tIiksdGhpcy5fc3RpY2t5U3R5bGVyLnVwZGF0ZVN0aWNreUZvb3RlckNvbnRhaW5lcih0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsbiksdGhpcy5fZm9vdGVyUm93RGVmcy5mb3JFYWNoKCh0PT50LnJlc2V0U3RpY2t5Q2hhbmdlZCgpKSl9dXBkYXRlU3RpY2t5Q29sdW1uU3R5bGVzKCl7Y29uc3QgdD10aGlzLl9nZXRSZW5kZXJlZFJvd3ModGhpcy5faGVhZGVyUm93T3V0bGV0KSxlPXRoaXMuX2dldFJlbmRlcmVkUm93cyh0aGlzLl9yb3dPdXRsZXQpLG49dGhpcy5fZ2V0UmVuZGVyZWRSb3dzKHRoaXMuX2Zvb3RlclJvd091dGxldCk7KHRoaXMuX2lzTmF0aXZlSHRtbFRhYmxlJiYhdGhpcy5fZml4ZWRMYXlvdXR8fHRoaXMuX3N0aWNreUNvbHVtblN0eWxlc05lZWRSZXNldCkmJih0aGlzLl9zdGlja3lTdHlsZXIuY2xlYXJTdGlja3lQb3NpdGlvbmluZyhbLi4udCwuLi5lLC4uLm5dLFsibGVmdCIsInJpZ2h0Il0pLHRoaXMuX3N0aWNreUNvbHVtblN0eWxlc05lZWRSZXNldD0hMSksdC5mb3JFYWNoKCgodCxlKT0+e3RoaXMuX2FkZFN0aWNreUNvbHVtblN0eWxlcyhbdF0sdGhpcy5faGVhZGVyUm93RGVmc1tlXSl9KSksdGhpcy5fcm93RGVmcy5mb3JFYWNoKCh0PT57Y29uc3Qgbj1bXTtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl0aGlzLl9yZW5kZXJSb3dzW29dLnJvd0RlZj09PXQmJm4ucHVzaChlW29dKTt0aGlzLl9hZGRTdGlja3lDb2x1bW5TdHlsZXMobix0KX0pKSxuLmZvckVhY2goKCh0LGUpPT57dGhpcy5fYWRkU3RpY2t5Q29sdW1uU3R5bGVzKFt0XSx0aGlzLl9mb290ZXJSb3dEZWZzW2VdKX0pKSxBcnJheS5mcm9tKHRoaXMuX2NvbHVtbkRlZnNCeU5hbWUudmFsdWVzKCkpLmZvckVhY2goKHQ9PnQucmVzZXRTdGlja3lDaGFuZ2VkKCkpKX1fZ2V0QWxsUmVuZGVyUm93cygpe2NvbnN0IHQ9W10sZT10aGlzLl9jYWNoZWRSZW5kZXJSb3dzTWFwO3RoaXMuX2NhY2hlZFJlbmRlclJvd3NNYXA9bmV3IE1hcDtmb3IobGV0IG49MDtuPHRoaXMuX2RhdGEubGVuZ3RoO24rKyl7bGV0IG89dGhpcy5fZGF0YVtuXTtjb25zdCBpPXRoaXMuX2dldFJlbmRlclJvd3NGb3JEYXRhKG8sbixlLmdldChvKSk7dGhpcy5fY2FjaGVkUmVuZGVyUm93c01hcC5oYXMobyl8fHRoaXMuX2NhY2hlZFJlbmRlclJvd3NNYXAuc2V0KG8sbmV3IFdlYWtNYXApO2ZvcihsZXQgZT0wO2U8aS5sZW5ndGg7ZSsrKXtsZXQgbj1pW2VdO2NvbnN0IG89dGhpcy5fY2FjaGVkUmVuZGVyUm93c01hcC5nZXQobi5kYXRhKTtvLmhhcyhuLnJvd0RlZik/by5nZXQobi5yb3dEZWYpLnB1c2gobik6by5zZXQobi5yb3dEZWYsW25dKSx0LnB1c2gobil9fXJldHVybiB0fV9nZXRSZW5kZXJSb3dzRm9yRGF0YSh0LGUsbil7cmV0dXJuIHRoaXMuX2dldFJvd0RlZnModCxlKS5tYXAoKG89Pntjb25zdCBpPW4mJm4uaGFzKG8pP24uZ2V0KG8pOltdO2lmKGkubGVuZ3RoKXtjb25zdCB0PWkuc2hpZnQoKTtyZXR1cm4gdC5kYXRhSW5kZXg9ZSx0fXJldHVybntkYXRhOnQscm93RGVmOm8sZGF0YUluZGV4OmV9fSkpfV9jYWNoZUNvbHVtbkRlZnMoKXt0aGlzLl9jb2x1bW5EZWZzQnlOYW1lLmNsZWFyKCk7bjModGhpcy5fZ2V0T3duRGVmcyh0aGlzLl9jb250ZW50Q29sdW1uRGVmcyksdGhpcy5fY3VzdG9tQ29sdW1uRGVmcykuZm9yRWFjaCgodD0+e2lmKHRoaXMuX2NvbHVtbkRlZnNCeU5hbWUuaGFzKHQubmFtZSkmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyhmdW5jdGlvbiBlKHQpe3JldHVybiBFcnJvcihgRHVwbGljYXRlIGNvbHVtbiBkZWZpbml0aW9uIG5hbWUgcHJvdmlkZWQ6ICIke3R9Ii5gKX0pKHQubmFtZSk7dGhpcy5fY29sdW1uRGVmc0J5TmFtZS5zZXQodC5uYW1lLHQpfSkpfV9jYWNoZVJvd0RlZnMoKXt0aGlzLl9oZWFkZXJSb3dEZWZzPW4zKHRoaXMuX2dldE93bkRlZnModGhpcy5fY29udGVudEhlYWRlclJvd0RlZnMpLHRoaXMuX2N1c3RvbUhlYWRlclJvd0RlZnMpLHRoaXMuX2Zvb3RlclJvd0RlZnM9bjModGhpcy5fZ2V0T3duRGVmcyh0aGlzLl9jb250ZW50Rm9vdGVyUm93RGVmcyksdGhpcy5fY3VzdG9tRm9vdGVyUm93RGVmcyksdGhpcy5fcm93RGVmcz1uMyh0aGlzLl9nZXRPd25EZWZzKHRoaXMuX2NvbnRlbnRSb3dEZWZzKSx0aGlzLl9jdXN0b21Sb3dEZWZzKTtjb25zdCB0PXRoaXMuX3Jvd0RlZnMuZmlsdGVyKCh0PT4hdC53aGVuKSk7aWYoIXRoaXMubXVsdGlUZW1wbGF0ZURhdGFSb3dzJiZ0Lmxlbmd0aD4xJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3coZnVuY3Rpb24gZSgpe3JldHVybiBFcnJvcigiVGhlcmUgY2FuIG9ubHkgYmUgb25lIGRlZmF1bHQgcm93IHdpdGhvdXQgYSB3aGVuIHByZWRpY2F0ZSBmdW5jdGlvbi4iKX0pKCk7dGhpcy5fZGVmYXVsdFJvd0RlZj10WzBdfV9yZW5kZXJVcGRhdGVkQ29sdW1ucygpe2NvbnN0IHQ9KHQsZSk9PnR8fCEhZS5nZXRDb2x1bW5zRGlmZigpLGU9dGhpcy5fcm93RGVmcy5yZWR1Y2UodCwhMSk7ZSYmdGhpcy5fZm9yY2VSZW5kZXJEYXRhUm93cygpO2NvbnN0IG49dGhpcy5faGVhZGVyUm93RGVmcy5yZWR1Y2UodCwhMSk7biYmdGhpcy5fZm9yY2VSZW5kZXJIZWFkZXJSb3dzKCk7Y29uc3Qgbz10aGlzLl9mb290ZXJSb3dEZWZzLnJlZHVjZSh0LCExKTtyZXR1cm4gbyYmdGhpcy5fZm9yY2VSZW5kZXJGb290ZXJSb3dzKCksZXx8bnx8b31fc3dpdGNoRGF0YVNvdXJjZSh0KXt0aGlzLl9kYXRhPVtdLEZMKHRoaXMuZGF0YVNvdXJjZSkmJnRoaXMuZGF0YVNvdXJjZS5kaXNjb25uZWN0KHRoaXMpLHRoaXMuX3JlbmRlckNoYW5nZVN1YnNjcmlwdGlvbiYmKHRoaXMuX3JlbmRlckNoYW5nZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuX3JlbmRlckNoYW5nZVN1YnNjcmlwdGlvbj1udWxsKSx0fHwodGhpcy5fZGF0YURpZmZlciYmdGhpcy5fZGF0YURpZmZlci5kaWZmKFtdKSx0aGlzLl9yb3dPdXRsZXQudmlld0NvbnRhaW5lci5jbGVhcigpKSx0aGlzLl9kYXRhU291cmNlPXR9X29ic2VydmVSZW5kZXJDaGFuZ2VzKCl7aWYoIXRoaXMuZGF0YVNvdXJjZSlyZXR1cm47bGV0IHQ7aWYoRkwodGhpcy5kYXRhU291cmNlKT90PXRoaXMuZGF0YVNvdXJjZS5jb25uZWN0KHRoaXMpOkx0KHRoaXMuZGF0YVNvdXJjZSk/dD10aGlzLmRhdGFTb3VyY2U6QXJyYXkuaXNBcnJheSh0aGlzLmRhdGFTb3VyY2UpJiYodD16dCh0aGlzLmRhdGFTb3VyY2UpKSx2b2lkIDA9PT10JiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3coZnVuY3Rpb24gZSgpe3JldHVybiBFcnJvcigiUHJvdmlkZWQgZGF0YSBzb3VyY2UgZGlkIG5vdCBtYXRjaCBhbiBhcnJheSwgT2JzZXJ2YWJsZSwgb3IgRGF0YVNvdXJjZSIpfSkoKTt0aGlzLl9yZW5kZXJDaGFuZ2VTdWJzY3JpcHRpb249dC5waXBlKGplKHRoaXMuX29uRGVzdHJveSkpLnN1YnNjcmliZSgodD0+e3RoaXMuX2RhdGE9dHx8W10sdGhpcy5yZW5kZXJSb3dzKCl9KSl9X2ZvcmNlUmVuZGVySGVhZGVyUm93cygpe3RoaXMuX2hlYWRlclJvd091dGxldC52aWV3Q29udGFpbmVyLmxlbmd0aD4wJiZ0aGlzLl9oZWFkZXJSb3dPdXRsZXQudmlld0NvbnRhaW5lci5jbGVhcigpLHRoaXMuX2hlYWRlclJvd0RlZnMuZm9yRWFjaCgoKHQsZSk9PnRoaXMuX3JlbmRlclJvdyh0aGlzLl9oZWFkZXJSb3dPdXRsZXQsdCxlKSkpLHRoaXMudXBkYXRlU3RpY2t5SGVhZGVyUm93U3R5bGVzKCl9X2ZvcmNlUmVuZGVyRm9vdGVyUm93cygpe3RoaXMuX2Zvb3RlclJvd091dGxldC52aWV3Q29udGFpbmVyLmxlbmd0aD4wJiZ0aGlzLl9mb290ZXJSb3dPdXRsZXQudmlld0NvbnRhaW5lci5jbGVhcigpLHRoaXMuX2Zvb3RlclJvd0RlZnMuZm9yRWFjaCgoKHQsZSk9PnRoaXMuX3JlbmRlclJvdyh0aGlzLl9mb290ZXJSb3dPdXRsZXQsdCxlKSkpLHRoaXMudXBkYXRlU3RpY2t5Rm9vdGVyUm93U3R5bGVzKCl9X2FkZFN0aWNreUNvbHVtblN0eWxlcyh0LGUpe2NvbnN0IG49QXJyYXkuZnJvbShlLmNvbHVtbnN8fFtdKS5tYXAoKHQ9Pntjb25zdCBlPXRoaXMuX2NvbHVtbkRlZnNCeU5hbWUuZ2V0KHQpO2lmKCFlJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgcTEodCk7cmV0dXJuIGV9KSksbz1uLm1hcCgodD0+dC5zdGlja3kpKSxpPW4ubWFwKCh0PT50LnN0aWNreUVuZCkpO3RoaXMuX3N0aWNreVN0eWxlci51cGRhdGVTdGlja3lDb2x1bW5zKHQsbyxpLCF0aGlzLl9maXhlZExheW91dHx8dGhpcy5fZm9yY2VSZWNhbGN1bGF0ZUNlbGxXaWR0aHMpfV9nZXRSZW5kZXJlZFJvd3ModCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPHQudmlld0NvbnRhaW5lci5sZW5ndGg7bisrKXtjb25zdCBvPXQudmlld0NvbnRhaW5lci5nZXQobik7ZS5wdXNoKG8ucm9vdE5vZGVzWzBdKX1yZXR1cm4gZX1fZ2V0Um93RGVmcyh0LGUpe2lmKDE9PXRoaXMuX3Jvd0RlZnMubGVuZ3RoKXJldHVyblt0aGlzLl9yb3dEZWZzWzBdXTtsZXQgbj1bXTtpZih0aGlzLm11bHRpVGVtcGxhdGVEYXRhUm93cyluPXRoaXMuX3Jvd0RlZnMuZmlsdGVyKChuPT4hbi53aGVufHxuLndoZW4oZSx0KSkpO2Vsc2V7bGV0IG89dGhpcy5fcm93RGVmcy5maW5kKChuPT5uLndoZW4mJm4ud2hlbihlLHQpKSl8fHRoaXMuX2RlZmF1bHRSb3dEZWY7byYmbi5wdXNoKG8pfWlmKCFuLmxlbmd0aCYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93KGZ1bmN0aW9uIG8odCl7cmV0dXJuIEVycm9yKGBDb3VsZCBub3QgZmluZCBhIG1hdGNoaW5nIHJvdyBkZWZpbml0aW9uIGZvciB0aGVwcm92aWRlZCByb3cgZGF0YTogJHtKU09OLnN0cmluZ2lmeSh0KX1gKX0pKHQpO3JldHVybiBufV9nZXRFbWJlZGRlZFZpZXdBcmdzKHQsZSl7cmV0dXJue3RlbXBsYXRlUmVmOnQucm93RGVmLnRlbXBsYXRlLGNvbnRleHQ6eyRpbXBsaWNpdDp0LmRhdGF9LGluZGV4OmV9fV9yZW5kZXJSb3codCxlLG4sbz17fSl7Y29uc3QgaT10LnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KGUudGVtcGxhdGUsbyxuKTtyZXR1cm4gdGhpcy5fcmVuZGVyQ2VsbFRlbXBsYXRlRm9ySXRlbShlLG8pLGl9X3JlbmRlckNlbGxUZW1wbGF0ZUZvckl0ZW0odCxlKXtmb3IobGV0IG4gb2YgdGhpcy5fZ2V0Q2VsbFRlbXBsYXRlcyh0KSlCMS5tb3N0UmVjZW50Q2VsbE91dGxldCYmQjEubW9zdFJlY2VudENlbGxPdXRsZXQuX3ZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KG4sZSk7dGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9X3VwZGF0ZVJvd0luZGV4Q29udGV4dCgpe2NvbnN0IHQ9dGhpcy5fcm93T3V0bGV0LnZpZXdDb250YWluZXI7Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXtjb25zdCBvPXQuZ2V0KGUpLmNvbnRleHQ7by5jb3VudD1uLG8uZmlyc3Q9MD09PWUsby5sYXN0PWU9PT1uLTEsby5ldmVuPWUlMj09MCxvLm9kZD0hby5ldmVuLHRoaXMubXVsdGlUZW1wbGF0ZURhdGFSb3dzPyhvLmRhdGFJbmRleD10aGlzLl9yZW5kZXJSb3dzW2VdLmRhdGFJbmRleCxvLnJlbmRlckluZGV4PWUpOm8uaW5kZXg9dGhpcy5fcmVuZGVyUm93c1tlXS5kYXRhSW5kZXh9fV9nZXRDZWxsVGVtcGxhdGVzKHQpe3JldHVybiB0JiZ0LmNvbHVtbnM/QXJyYXkuZnJvbSh0LmNvbHVtbnMsKGU9Pntjb25zdCBuPXRoaXMuX2NvbHVtbkRlZnNCeU5hbWUuZ2V0KGUpO2lmKCFuJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkpdGhyb3cgcTEoZSk7cmV0dXJuIHQuZXh0cmFjdENlbGxUZW1wbGF0ZShuKX0pKTpbXX1fYXBwbHlOYXRpdmVUYWJsZVNlY3Rpb25zKCl7Y29uc3QgdD10aGlzLl9kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksZT1be3RhZzoidGhlYWQiLG91dGxldHM6W3RoaXMuX2hlYWRlclJvd091dGxldF19LHt0YWc6InRib2R5IixvdXRsZXRzOlt0aGlzLl9yb3dPdXRsZXQsdGhpcy5fbm9EYXRhUm93T3V0bGV0XX0se3RhZzoidGZvb3QiLG91dGxldHM6W3RoaXMuX2Zvb3RlclJvd091dGxldF19XTtmb3IoY29uc3QgbiBvZiBlKXtjb25zdCBlPXRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQobi50YWcpO2Uuc2V0QXR0cmlidXRlKCJyb2xlIiwicm93Z3JvdXAiKTtmb3IoY29uc3QgdCBvZiBuLm91dGxldHMpZS5hcHBlbmRDaGlsZCh0LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7dC5hcHBlbmRDaGlsZChlKX10aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodCl9X2ZvcmNlUmVuZGVyRGF0YVJvd3MoKXt0aGlzLl9kYXRhRGlmZmVyLmRpZmYoW10pLHRoaXMuX3Jvd091dGxldC52aWV3Q29udGFpbmVyLmNsZWFyKCksdGhpcy5yZW5kZXJSb3dzKCl9X2NoZWNrU3RpY2t5U3RhdGVzKCl7Y29uc3QgdD0odCxlKT0+dHx8ZS5oYXNTdGlja3lDaGFuZ2VkKCk7dGhpcy5faGVhZGVyUm93RGVmcy5yZWR1Y2UodCwhMSkmJnRoaXMudXBkYXRlU3RpY2t5SGVhZGVyUm93U3R5bGVzKCksdGhpcy5fZm9vdGVyUm93RGVmcy5yZWR1Y2UodCwhMSkmJnRoaXMudXBkYXRlU3RpY2t5Rm9vdGVyUm93U3R5bGVzKCksQXJyYXkuZnJvbSh0aGlzLl9jb2x1bW5EZWZzQnlOYW1lLnZhbHVlcygpKS5yZWR1Y2UodCwhMSkmJih0aGlzLl9zdGlja3lDb2x1bW5TdHlsZXNOZWVkUmVzZXQ9ITAsdGhpcy51cGRhdGVTdGlja3lDb2x1bW5TdHlsZXMoKSl9X3NldHVwU3RpY2t5U3R5bGVyKCl7dGhpcy5fc3RpY2t5U3R5bGVyPW5ldyBZMSh0aGlzLl9pc05hdGl2ZUh0bWxUYWJsZSx0aGlzLnN0aWNreUNzc0NsYXNzLHRoaXMuX2Rpcj90aGlzLl9kaXIudmFsdWU6Imx0ciIsdGhpcy5fY29hbGVzY2VkU3R5bGVTY2hlZHVsZXIsdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyLHRoaXMubmVlZHNQb3NpdGlvblN0aWNreU9uRWxlbWVudCx0aGlzLl9zdGlja3lQb3NpdGlvbmluZ0xpc3RlbmVyKSwodGhpcy5fZGlyP3RoaXMuX2Rpci5jaGFuZ2U6enQoKSkucGlwZShqZSh0aGlzLl9vbkRlc3Ryb3kpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLl9zdGlja3lTdHlsZXIuZGlyZWN0aW9uPXQsdGhpcy51cGRhdGVTdGlja3lDb2x1bW5TdHlsZXMoKX0pKX1fZ2V0T3duRGVmcyh0KXtyZXR1cm4gdC5maWx0ZXIoKHQ9PiF0Ll90YWJsZXx8dC5fdGFibGU9PT10aGlzKSl9X3VwZGF0ZU5vRGF0YVJvdygpe2NvbnN0IHQ9dGhpcy5fY3VzdG9tTm9EYXRhUm93fHx0aGlzLl9ub0RhdGFSb3c7aWYodCl7Y29uc3QgZT0wPT09dGhpcy5fcm93T3V0bGV0LnZpZXdDb250YWluZXIubGVuZ3RoO2lmKGUhPT10aGlzLl9pc1Nob3dpbmdOb0RhdGFSb3cpe2NvbnN0IG49dGhpcy5fbm9EYXRhUm93T3V0bGV0LnZpZXdDb250YWluZXI7ZT9uLmNyZWF0ZUVtYmVkZGVkVmlldyh0LnRlbXBsYXRlUmVmKTpuLmNsZWFyKCksdGhpcy5faXNTaG93aW5nTm9EYXRhUm93PWV9fX19ZnVuY3Rpb24gbjModCxlKXtyZXR1cm4gdC5jb25jYXQoQXJyYXkuZnJvbShlKSl9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2UzLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxlMykoZ2YoaGIpLGdmKE9iKSxnZihLaCksR2EoInJvbGUiKSxnZih2Riw4KSxnZihzTSksZ2YoY0gpLGdmKFdMKSxnZihFMSksZ2YoUUwpLGdmKFoxLDEyKSl9LGUzLsm1Y21wPXNvKHt0eXBlOmUzLHNlbGVjdG9yczpbWyJjZGstdGFibGUiXSxbInRhYmxlIiwiY2RrLXRhYmxlIiwiIl1dLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uIHQoZSxuLG8pe2lmKDEmZSYmKGp5KG8sVzEsNSksankobyxQMSw1KSxqeShvLEwxLDUpLGp5KG8sSTEsNSksankobyxGMSw1KSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5fbm9EYXRhUm93PXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9jb250ZW50Q29sdW1uRGVmcz10KSxCeSh0PVV5KCkpJiYobi5fY29udGVudFJvd0RlZnM9dCksQnkodD1VeSgpKSYmKG4uX2NvbnRlbnRIZWFkZXJSb3dEZWZzPXQpLEJ5KHQ9VXkoKSkmJihuLl9jb250ZW50Rm9vdGVyUm93RGVmcz10KX19LHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoVnkoSzEsNyksVnkoSjEsNyksVnkoUTEsNyksVnkoJDEsNykpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uX3Jvd091dGxldD10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5faGVhZGVyUm93T3V0bGV0PXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLl9mb290ZXJSb3dPdXRsZXQ9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uX25vRGF0YVJvd091dGxldD10LmZpcnN0KX19LGhvc3RBdHRyczpbMSwiY2RrLXRhYmxlIl0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoImNkay10YWJsZS1maXhlZC1sYXlvdXQiLG4uZml4ZWRMYXlvdXQpfSxpbnB1dHM6e3RyYWNrQnk6InRyYWNrQnkiLGRhdGFTb3VyY2U6ImRhdGFTb3VyY2UiLG11bHRpVGVtcGxhdGVEYXRhUm93czoibXVsdGlUZW1wbGF0ZURhdGFSb3dzIixmaXhlZExheW91dDoiZml4ZWRMYXlvdXQifSxvdXRwdXRzOntjb250ZW50Q2hhbmdlZDoiY29udGVudENoYW5nZWQifSxleHBvcnRBczpbImNka1RhYmxlIl0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpfMSx1c2VFeGlzdGluZzplM30se3Byb3ZpZGU6V0wsdXNlQ2xhc3M6Qkx9LHtwcm92aWRlOkUxLHVzZUNsYXNzOkExfSx7cHJvdmlkZTpaMSx1c2VWYWx1ZTpudWxsfV0pXSxuZ0NvbnRlbnRTZWxlY3RvcnM6WyJjYXB0aW9uIiwiY29sZ3JvdXAsIGNvbCJdLGRlY2xzOjYsdmFyczowLGNvbnN0czpbWyJoZWFkZXJSb3dPdXRsZXQiLCIiXSxbInJvd091dGxldCIsIiJdLFsibm9EYXRhUm93T3V0bGV0IiwiIl0sWyJmb290ZXJSb3dPdXRsZXQiLCIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKEhmKGcxKSxGZigwKSxGZigxLDEpLFBmKDIsMCksUGYoMywxKSxQZig0LDIpLFBmKDUsMykpfSxkaXJlY3RpdmVzOltKMSxLMSwkMSxRMV0sc3R5bGVzOlsiLmNkay10YWJsZS1maXhlZC1sYXlvdXR7dGFibGUtbGF5b3V0OmZpeGVkfVxuIl0sZW5jYXBzdWxhdGlvbjoyfSksZTMuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpoYn0se3R5cGU6T2J9LHt0eXBlOktofSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbInJvbGUiXX1dfSx7dHlwZTp2RixkZWNvcmF0b3JzOlt7dHlwZTpCcn1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOmNIfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbV0xdfV19LHt0eXBlOkExLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W0UxXX1dfSx7dHlwZTpRTH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpqcn0se3R5cGU6THIsYXJnczpbWjFdfV19XSxlMy5wcm9wRGVjb3JhdG9ycz17dHJhY2tCeTpbe3R5cGU6Ul99XSxkYXRhU291cmNlOlt7dHlwZTpSX31dLG11bHRpVGVtcGxhdGVEYXRhUm93czpbe3R5cGU6Ul99XSxmaXhlZExheW91dDpbe3R5cGU6Ul99XSxjb250ZW50Q2hhbmdlZDpbe3R5cGU6RV99XSxfcm93T3V0bGV0Olt7dHlwZTphcixhcmdzOltLMSx7c3RhdGljOiEwfV19XSxfaGVhZGVyUm93T3V0bGV0Olt7dHlwZTphcixhcmdzOltKMSx7c3RhdGljOiEwfV19XSxfZm9vdGVyUm93T3V0bGV0Olt7dHlwZTphcixhcmdzOltRMSx7c3RhdGljOiEwfV19XSxfbm9EYXRhUm93T3V0bGV0Olt7dHlwZTphcixhcmdzOlskMSx7c3RhdGljOiEwfV19XSxfY29udGVudENvbHVtbkRlZnM6W3t0eXBlOm9yLGFyZ3M6W1AxLHtkZXNjZW5kYW50czohMH1dfV0sX2NvbnRlbnRSb3dEZWZzOlt7dHlwZTpvcixhcmdzOltMMSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9jb250ZW50SGVhZGVyUm93RGVmczpbe3R5cGU6b3IsYXJnczpbSTEse2Rlc2NlbmRhbnRzOiEwfV19XSxfY29udGVudEZvb3RlclJvd0RlZnM6W3t0eXBlOm9yLGFyZ3M6W0YxLHtkZXNjZW5kYW50czohMH1dfV0sX25vRGF0YVJvdzpbe3R5cGU6aXIsYXJnczpbVzFdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZTMsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiY2RrLXRhYmxlLCB0YWJsZVtjZGstdGFibGVdIixleHBvcnRBczoiY2RrVGFibGUiLHRlbXBsYXRlOnQzLGhvc3Q6e2NsYXNzOiJjZGstdGFibGUiLCJbY2xhc3MuY2RrLXRhYmxlLWZpeGVkLWxheW91dF0iOiJmaXhlZExheW91dCJ9LGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxwcm92aWRlcnM6W3twcm92aWRlOl8xLHVzZUV4aXN0aW5nOmUzfSx7cHJvdmlkZTpXTCx1c2VDbGFzczpCTH0se3Byb3ZpZGU6RTEsdXNlQ2xhc3M6QTF9LHtwcm92aWRlOloxLHVzZVZhbHVlOm51bGx9XSxzdHlsZXM6WyIuY2RrLXRhYmxlLWZpeGVkLWxheW91dHt0YWJsZS1sYXlvdXQ6Zml4ZWR9XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmhifSx7dHlwZTpPYn0se3R5cGU6S2h9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsicm9sZSJdfV19LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6Y0h9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltXTF19XX0se3R5cGU6QTEsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbRTFdfV19LHt0eXBlOlFMfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOmpyfSx7dHlwZTpMcixhcmdzOltaMV19XX1dfSkse2NvbnRlbnRDaGFuZ2VkOlt7dHlwZTpFX31dLHRyYWNrQnk6W3t0eXBlOlJffV0sZGF0YVNvdXJjZTpbe3R5cGU6Ul99XSxtdWx0aVRlbXBsYXRlRGF0YVJvd3M6W3t0eXBlOlJffV0sZml4ZWRMYXlvdXQ6W3t0eXBlOlJffV0sX3Jvd091dGxldDpbe3R5cGU6YXIsYXJnczpbSzEse3N0YXRpYzohMH1dfV0sX2hlYWRlclJvd091dGxldDpbe3R5cGU6YXIsYXJnczpbSjEse3N0YXRpYzohMH1dfV0sX2Zvb3RlclJvd091dGxldDpbe3R5cGU6YXIsYXJnczpbUTEse3N0YXRpYzohMH1dfV0sX25vRGF0YVJvd091dGxldDpbe3R5cGU6YXIsYXJnczpbJDEse3N0YXRpYzohMH1dfV0sX2NvbnRlbnRDb2x1bW5EZWZzOlt7dHlwZTpvcixhcmdzOltQMSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9jb250ZW50Um93RGVmczpbe3R5cGU6b3IsYXJnczpbTDEse2Rlc2NlbmRhbnRzOiEwfV19XSxfY29udGVudEhlYWRlclJvd0RlZnM6W3t0eXBlOm9yLGFyZ3M6W0kxLHtkZXNjZW5kYW50czohMH1dfV0sX2NvbnRlbnRGb290ZXJSb3dEZWZzOlt7dHlwZTpvcixhcmdzOltGMSx7ZGVzY2VuZGFudHM6ITB9XX1dLF9ub0RhdGFSb3c6W3t0eXBlOmlyLGFyZ3M6W1cxXX1dfSk7Y2xhc3MgbzN7Y29uc3RydWN0b3IodCxlKXt0aGlzLl90YWJsZT10LHRoaXMuX29wdGlvbnM9ZSx0aGlzLmp1c3RpZnk9InN0YXJ0Iix0aGlzLl9vcHRpb25zPWV8fHt9fWdldCBuYW1lKCl7cmV0dXJuIHRoaXMuX25hbWV9c2V0IG5hbWUodCl7dGhpcy5fbmFtZT10LHRoaXMuX3N5bmNDb2x1bW5EZWZOYW1lKCl9bmdPbkluaXQoKXtpZih0aGlzLl9zeW5jQ29sdW1uRGVmTmFtZSgpLHZvaWQgMD09PXRoaXMuaGVhZGVyVGV4dCYmKHRoaXMuaGVhZGVyVGV4dD10aGlzLl9jcmVhdGVEZWZhdWx0SGVhZGVyVGV4dCgpKSx0aGlzLmRhdGFBY2Nlc3Nvcnx8KHRoaXMuZGF0YUFjY2Vzc29yPXRoaXMuX29wdGlvbnMuZGVmYXVsdERhdGFBY2Nlc3Nvcnx8KCh0LGUpPT50W2VdKSksdGhpcy5fdGFibGUpdGhpcy5jb2x1bW5EZWYuY2VsbD10aGlzLmNlbGwsdGhpcy5jb2x1bW5EZWYuaGVhZGVyQ2VsbD10aGlzLmhlYWRlckNlbGwsdGhpcy5fdGFibGUuYWRkQ29sdW1uRGVmKHRoaXMuY29sdW1uRGVmKTtlbHNlIGlmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpdGhyb3coZnVuY3Rpb24gdCgpe3JldHVybiBFcnJvcigiVGV4dCBjb2x1bW4gY291bGQgbm90IGZpbmQgYSBwYXJlbnQgdGFibGUgZm9yIHJlZ2lzdHJhdGlvbi4iKX0pKCl9bmdPbkRlc3Ryb3koKXt0aGlzLl90YWJsZSYmdGhpcy5fdGFibGUucmVtb3ZlQ29sdW1uRGVmKHRoaXMuY29sdW1uRGVmKX1fY3JlYXRlRGVmYXVsdEhlYWRlclRleHQoKXtjb25zdCB0PXRoaXMubmFtZTtpZighdCYmKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpKXRocm93KGZ1bmN0aW9uIGUoKXtyZXR1cm4gRXJyb3IoIlRhYmxlIHRleHQgY29sdW1uIG11c3QgaGF2ZSBhIG5hbWUuIil9KSgpO3JldHVybiB0aGlzLl9vcHRpb25zJiZ0aGlzLl9vcHRpb25zLmRlZmF1bHRIZWFkZXJUZXh0VHJhbnNmb3JtP3RoaXMuX29wdGlvbnMuZGVmYXVsdEhlYWRlclRleHRUcmFuc2Zvcm0odCk6dFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSl9X3N5bmNDb2x1bW5EZWZOYW1lKCl7dGhpcy5jb2x1bW5EZWYmJih0aGlzLmNvbHVtbkRlZi5uYW1lPXRoaXMubmFtZSl9fW8zLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxvMykoZ2YoZTMsOCksZ2YoQzEsOCkpfSxvMy7JtWNtcD1zbyh7dHlwZTpvMyxzZWxlY3RvcnM6W1siY2RrLXRleHQtY29sdW1uIl1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoVnkoUDEsNyksVnkoTTEsNyksVnkodjEsNykpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uY29sdW1uRGVmPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLmNlbGw9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uaGVhZGVyQ2VsbD10LmZpcnN0KX19LGlucHV0czp7anVzdGlmeToianVzdGlmeSIsbmFtZToibmFtZSIsaGVhZGVyVGV4dDoiaGVhZGVyVGV4dCIsZGF0YUFjY2Vzc29yOiJkYXRhQWNjZXNzb3IifSxkZWNsczozLHZhcnM6MCxjb25zdHM6W1siY2RrQ29sdW1uRGVmIiwiIl0sWyJjZGstaGVhZGVyLWNlbGwiLCIiLDMsInRleHQtYWxpZ24iLDQsImNka0hlYWRlckNlbGxEZWYiXSxbImNkay1jZWxsIiwiIiwzLCJ0ZXh0LWFsaWduIiw0LCJjZGtDZWxsRGVmIl0sWyJjZGstaGVhZGVyLWNlbGwiLCIiXSxbImNkay1jZWxsIiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih4ZigwLDApLEhtKDEsaDEsMiwzLCJ0aCIsMSksSG0oMixiMSwyLDMsInRkIiwyKSxPZigpKX0sZGlyZWN0aXZlczpbUDEsdjEsTTEsazEsRDFdLGVuY2Fwc3VsYXRpb246Mn0pLG8zLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6ZTMsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltDMV19XX1dLG8zLnByb3BEZWNvcmF0b3JzPXtuYW1lOlt7dHlwZTpSX31dLGhlYWRlclRleHQ6W3t0eXBlOlJffV0sZGF0YUFjY2Vzc29yOlt7dHlwZTpSX31dLGp1c3RpZnk6W3t0eXBlOlJffV0sY29sdW1uRGVmOlt7dHlwZTphcixhcmdzOltQMSx7c3RhdGljOiEwfV19XSxjZWxsOlt7dHlwZTphcixhcmdzOltNMSx7c3RhdGljOiEwfV19XSxoZWFkZXJDZWxsOlt7dHlwZTphcixhcmdzOlt2MSx7c3RhdGljOiEwfV19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihvMyxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJjZGstdGV4dC1jb2x1bW4iLHRlbXBsYXRlOidcbiAgICA8bmctY29udGFpbmVyIGNka0NvbHVtbkRlZj5cbiAgICAgIDx0aCBjZGstaGVhZGVyLWNlbGwgKmNka0hlYWRlckNlbGxEZWYgW3N0eWxlLnRleHQtYWxpZ25dPSJqdXN0aWZ5Ij5cbiAgICAgICAge3toZWFkZXJUZXh0fX1cbiAgICAgIDwvdGg+XG4gICAgICA8dGQgY2RrLWNlbGwgKmNka0NlbGxEZWY9ImxldCBkYXRhIiBbc3R5bGUudGV4dC1hbGlnbl09Imp1c3RpZnkiPlxuICAgICAgICB7e2RhdGFBY2Nlc3NvcihkYXRhLCBuYW1lKX19XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAnLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmUzLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbQzFdfV19XX0pLHtqdXN0aWZ5Olt7dHlwZTpSX31dLG5hbWU6W3t0eXBlOlJffV0saGVhZGVyVGV4dDpbe3R5cGU6Ul99XSxkYXRhQWNjZXNzb3I6W3t0eXBlOlJffV0sY29sdW1uRGVmOlt7dHlwZTphcixhcmdzOltQMSx7c3RhdGljOiEwfV19XSxjZWxsOlt7dHlwZTphcixhcmdzOltNMSx7c3RhdGljOiEwfV19XSxoZWFkZXJDZWxsOlt7dHlwZTphcixhcmdzOlt2MSx7c3RhdGljOiEwfV19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgaTM9W2UzLEwxLE0xLEIxLHYxLHgxLFAxLEQxLFUxLGsxLFMxLFYxLEkxLGoxLEYxLEsxLEoxLFExLG8zLFcxLFgxLCQxXTtjbGFzcyBhM3t9YTMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGEzKX0sYTMuybVtb2Q9Zm8oe3R5cGU6YTN9KSxhMy7JtWluaj1Ebih7aW1wb3J0czpbW2lCXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGEzLFt7dHlwZTpMXyxhcmdzOlt7ZXhwb3J0czppMyxkZWNsYXJhdGlvbnM6aTMsaW1wb3J0czpbaUJdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oYTMse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVybltlMyxMMSxNMSxCMSx2MSx4MSxQMSxEMSxVMSxrMSxTMSxWMSxJMSxqMSxGMSxLMSxKMSxRMSxvMyxXMSxYMSwkMV19LGltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5baUJdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW2UzLEwxLE0xLEIxLHYxLHgxLFAxLEQxLFUxLGsxLFMxLFYxLEkxLGoxLEYxLEsxLEoxLFExLG8zLFcxLFgxLCQxXX19KTtjb25zdCByMz1bW1siY2FwdGlvbiJdXSxbWyJjb2xncm91cCJdLFsiY29sIl1dXTtmdW5jdGlvbiBzMyh0LGUpe2lmKDEmdCYmKENmKDAsInRoIiwzKSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtsdSgidGV4dC1hbGlnbiIsdC5qdXN0aWZ5KSxEYygxKSxrdSgiICIsdC5oZWFkZXJUZXh0LCIgIil9fWZ1bmN0aW9uIGwzKHQsZSl7aWYoMSZ0JiYoQ2YoMCwidGQiLDQpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKCk7bHUoInRleHQtYWxpZ24iLG4uanVzdGlmeSksRGMoMSksa3UoIiAiLG4uZGF0YUFjY2Vzc29yKHQsbi5uYW1lKSwiICIpfX1jbGFzcyBjM3t9YzMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGMzKX0sYzMuybVkaXI9aG8oe3R5cGU6YzMsc2VsZWN0b3JzOltbIm1hdC10YWJsZSIsInJlY3ljbGVSb3dzIiwiIl0sWyJ0YWJsZSIsIm1hdC10YWJsZSIsIiIsInJlY3ljbGVSb3dzIiwiIl1dLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6V0wsdXNlQ2xhc3M6Vkx9XSldfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihjMyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtdGFibGVbcmVjeWNsZVJvd3NdLCB0YWJsZVttYXQtdGFibGVdW3JlY3ljbGVSb3dzXSIscHJvdmlkZXJzOlt7cHJvdmlkZTpXTCx1c2VDbGFzczpWTH1dfV19XSxudWxsLG51bGwpO2NsYXNzIGQzIGV4dGVuZHMgZTN7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuc3RpY2t5Q3NzQ2xhc3M9Im1hdC10YWJsZS1zdGlja3kiLHRoaXMubmVlZHNQb3NpdGlvblN0aWNreU9uRWxlbWVudD0hMX19ZDMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKGQzKSkpKG58fGQzKX19KSgpLGQzLsm1Y21wPXNvKHt0eXBlOmQzLHNlbGVjdG9yczpbWyJtYXQtdGFibGUiXSxbInRhYmxlIiwibWF0LXRhYmxlIiwiIl1dLGhvc3RBdHRyczpbMSwibWF0LXRhYmxlIl0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoIm1hdC10YWJsZS1maXhlZC1sYXlvdXQiLG4uZml4ZWRMYXlvdXQpfSxleHBvcnRBczpbIm1hdFRhYmxlIl0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpXTCx1c2VDbGFzczpCTH0se3Byb3ZpZGU6ZTMsdXNlRXhpc3Rpbmc6ZDN9LHtwcm92aWRlOl8xLHVzZUV4aXN0aW5nOmQzfSx7cHJvdmlkZTpFMSx1c2VDbGFzczpBMX0se3Byb3ZpZGU6WjEsdXNlVmFsdWU6bnVsbH1dKSxRcF0sbmdDb250ZW50U2VsZWN0b3JzOlsiY2FwdGlvbiIsImNvbGdyb3VwLCBjb2wiXSxkZWNsczo2LHZhcnM6MCxjb25zdHM6W1siaGVhZGVyUm93T3V0bGV0IiwiIl0sWyJyb3dPdXRsZXQiLCIiXSxbIm5vRGF0YVJvd091dGxldCIsIiJdLFsiZm9vdGVyUm93T3V0bGV0IiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZihyMyksRmYoMCksRmYoMSwxKSxQZigyLDApLFBmKDMsMSksUGYoNCwyKSxQZig1LDMpKX0sZGlyZWN0aXZlczpbSjEsSzEsJDEsUTFdLHN0eWxlczpbJ21hdC10YWJsZXtkaXNwbGF5OmJsb2NrfW1hdC1oZWFkZXItcm93e21pbi1oZWlnaHQ6NTZweH1tYXQtcm93LG1hdC1mb290ZXItcm93e21pbi1oZWlnaHQ6NDhweH1tYXQtcm93LG1hdC1oZWFkZXItcm93LG1hdC1mb290ZXItcm93e2Rpc3BsYXk6ZmxleDtib3JkZXItd2lkdGg6MDtib3JkZXItYm90dG9tLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWQ7YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveH1tYXQtcm93OjphZnRlcixtYXQtaGVhZGVyLXJvdzo6YWZ0ZXIsbWF0LWZvb3Rlci1yb3c6OmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi1oZWlnaHQ6aW5oZXJpdDtjb250ZW50OiIifW1hdC1jZWxsOmZpcnN0LW9mLXR5cGUsbWF0LWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUsbWF0LWZvb3Rlci1jZWxsOmZpcnN0LW9mLXR5cGV7cGFkZGluZy1sZWZ0OjI0cHh9W2Rpcj1ydGxdIG1hdC1jZWxsOmZpcnN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpLFtkaXI9cnRsXSBtYXQtaGVhZGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSksW2Rpcj1ydGxdIG1hdC1mb290ZXItY2VsbDpmaXJzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKXtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjI0cHh9bWF0LWNlbGw6bGFzdC1vZi10eXBlLG1hdC1oZWFkZXItY2VsbDpsYXN0LW9mLXR5cGUsbWF0LWZvb3Rlci1jZWxsOmxhc3Qtb2YtdHlwZXtwYWRkaW5nLXJpZ2h0OjI0cHh9W2Rpcj1ydGxdIG1hdC1jZWxsOmxhc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSksW2Rpcj1ydGxdIG1hdC1oZWFkZXItY2VsbDpsYXN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpLFtkaXI9cnRsXSBtYXQtZm9vdGVyLWNlbGw6bGFzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKXtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjI0cHh9bWF0LWNlbGwsbWF0LWhlYWRlci1jZWxsLG1hdC1mb290ZXItY2VsbHtmbGV4OjE7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47d29yZC13cmFwOmJyZWFrLXdvcmQ7bWluLWhlaWdodDppbmhlcml0fXRhYmxlLm1hdC10YWJsZXtib3JkZXItc3BhY2luZzowfXRyLm1hdC1oZWFkZXItcm93e2hlaWdodDo1NnB4fXRyLm1hdC1yb3csdHIubWF0LWZvb3Rlci1yb3d7aGVpZ2h0OjQ4cHh9dGgubWF0LWhlYWRlci1jZWxse3RleHQtYWxpZ246bGVmdH1bZGlyPXJ0bF0gdGgubWF0LWhlYWRlci1jZWxse3RleHQtYWxpZ246cmlnaHR9dGgubWF0LWhlYWRlci1jZWxsLHRkLm1hdC1jZWxsLHRkLm1hdC1mb290ZXItY2VsbHtwYWRkaW5nOjA7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHg7Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZH10aC5tYXQtaGVhZGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZSx0ZC5tYXQtY2VsbDpmaXJzdC1vZi10eXBlLHRkLm1hdC1mb290ZXItY2VsbDpmaXJzdC1vZi10eXBle3BhZGRpbmctbGVmdDoyNHB4fVtkaXI9cnRsXSB0aC5tYXQtaGVhZGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSksW2Rpcj1ydGxdIHRkLm1hdC1jZWxsOmZpcnN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpLFtkaXI9cnRsXSB0ZC5tYXQtZm9vdGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSl7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDoyNHB4fXRoLm1hdC1oZWFkZXItY2VsbDpsYXN0LW9mLXR5cGUsdGQubWF0LWNlbGw6bGFzdC1vZi10eXBlLHRkLm1hdC1mb290ZXItY2VsbDpsYXN0LW9mLXR5cGV7cGFkZGluZy1yaWdodDoyNHB4fVtkaXI9cnRsXSB0aC5tYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKSxbZGlyPXJ0bF0gdGQubWF0LWNlbGw6bGFzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKSxbZGlyPXJ0bF0gdGQubWF0LWZvb3Rlci1jZWxsOmxhc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSl7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDoyNHB4fS5tYXQtdGFibGUtc3RpY2t5e3Bvc2l0aW9uOi13ZWJraXQtc3RpY2t5ICFpbXBvcnRhbnQ7cG9zaXRpb246c3RpY2t5ICFpbXBvcnRhbnR9Lm1hdC10YWJsZS1maXhlZC1sYXlvdXR7dGFibGUtbGF5b3V0OmZpeGVkfVxuJ10sZW5jYXBzdWxhdGlvbjoyfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihkMyxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtdGFibGUsIHRhYmxlW21hdC10YWJsZV0iLGV4cG9ydEFzOiJtYXRUYWJsZSIsdGVtcGxhdGU6dDMsaG9zdDp7Y2xhc3M6Im1hdC10YWJsZSIsIltjbGFzcy5tYXQtdGFibGUtZml4ZWQtbGF5b3V0XSI6ImZpeGVkTGF5b3V0In0scHJvdmlkZXJzOlt7cHJvdmlkZTpXTCx1c2VDbGFzczpCTH0se3Byb3ZpZGU6ZTMsdXNlRXhpc3Rpbmc6ZDN9LHtwcm92aWRlOl8xLHVzZUV4aXN0aW5nOmQzfSx7cHJvdmlkZTpFMSx1c2VDbGFzczpBMX0se3Byb3ZpZGU6WjEsdXNlVmFsdWU6bnVsbH1dLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxzdHlsZXM6WydtYXQtdGFibGV7ZGlzcGxheTpibG9ja31tYXQtaGVhZGVyLXJvd3ttaW4taGVpZ2h0OjU2cHh9bWF0LXJvdyxtYXQtZm9vdGVyLXJvd3ttaW4taGVpZ2h0OjQ4cHh9bWF0LXJvdyxtYXQtaGVhZGVyLXJvdyxtYXQtZm9vdGVyLXJvd3tkaXNwbGF5OmZsZXg7Ym9yZGVyLXdpZHRoOjA7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkO2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3h9bWF0LXJvdzo6YWZ0ZXIsbWF0LWhlYWRlci1yb3c6OmFmdGVyLG1hdC1mb290ZXItcm93OjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jazttaW4taGVpZ2h0OmluaGVyaXQ7Y29udGVudDoiIn1tYXQtY2VsbDpmaXJzdC1vZi10eXBlLG1hdC1oZWFkZXItY2VsbDpmaXJzdC1vZi10eXBlLG1hdC1mb290ZXItY2VsbDpmaXJzdC1vZi10eXBle3BhZGRpbmctbGVmdDoyNHB4fVtkaXI9cnRsXSBtYXQtY2VsbDpmaXJzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKSxbZGlyPXJ0bF0gbWF0LWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpLFtkaXI9cnRsXSBtYXQtZm9vdGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSl7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDoyNHB4fW1hdC1jZWxsOmxhc3Qtb2YtdHlwZSxtYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlLG1hdC1mb290ZXItY2VsbDpsYXN0LW9mLXR5cGV7cGFkZGluZy1yaWdodDoyNHB4fVtkaXI9cnRsXSBtYXQtY2VsbDpsYXN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpLFtkaXI9cnRsXSBtYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKSxbZGlyPXJ0bF0gbWF0LWZvb3Rlci1jZWxsOmxhc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSl7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDoyNHB4fW1hdC1jZWxsLG1hdC1oZWFkZXItY2VsbCxtYXQtZm9vdGVyLWNlbGx7ZmxleDoxO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3dvcmQtd3JhcDpicmVhay13b3JkO21pbi1oZWlnaHQ6aW5oZXJpdH10YWJsZS5tYXQtdGFibGV7Ym9yZGVyLXNwYWNpbmc6MH10ci5tYXQtaGVhZGVyLXJvd3toZWlnaHQ6NTZweH10ci5tYXQtcm93LHRyLm1hdC1mb290ZXItcm93e2hlaWdodDo0OHB4fXRoLm1hdC1oZWFkZXItY2VsbHt0ZXh0LWFsaWduOmxlZnR9W2Rpcj1ydGxdIHRoLm1hdC1oZWFkZXItY2VsbHt0ZXh0LWFsaWduOnJpZ2h0fXRoLm1hdC1oZWFkZXItY2VsbCx0ZC5tYXQtY2VsbCx0ZC5tYXQtZm9vdGVyLWNlbGx7cGFkZGluZzowO2JvcmRlci1ib3R0b20td2lkdGg6MXB4O2JvcmRlci1ib3R0b20tc3R5bGU6c29saWR9dGgubWF0LWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUsdGQubWF0LWNlbGw6Zmlyc3Qtb2YtdHlwZSx0ZC5tYXQtZm9vdGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZXtwYWRkaW5nLWxlZnQ6MjRweH1bZGlyPXJ0bF0gdGgubWF0LWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpLFtkaXI9cnRsXSB0ZC5tYXQtY2VsbDpmaXJzdC1vZi10eXBlOm5vdCg6b25seS1vZi10eXBlKSxbZGlyPXJ0bF0gdGQubWF0LWZvb3Rlci1jZWxsOmZpcnN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpe3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MjRweH10aC5tYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlLHRkLm1hdC1jZWxsOmxhc3Qtb2YtdHlwZSx0ZC5tYXQtZm9vdGVyLWNlbGw6bGFzdC1vZi10eXBle3BhZGRpbmctcmlnaHQ6MjRweH1bZGlyPXJ0bF0gdGgubWF0LWhlYWRlci1jZWxsOmxhc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSksW2Rpcj1ydGxdIHRkLm1hdC1jZWxsOmxhc3Qtb2YtdHlwZTpub3QoOm9ubHktb2YtdHlwZSksW2Rpcj1ydGxdIHRkLm1hdC1mb290ZXItY2VsbDpsYXN0LW9mLXR5cGU6bm90KDpvbmx5LW9mLXR5cGUpe3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MjRweH0ubWF0LXRhYmxlLXN0aWNreXtwb3NpdGlvbjotd2Via2l0LXN0aWNreSAhaW1wb3J0YW50O3Bvc2l0aW9uOnN0aWNreSAhaW1wb3J0YW50fS5tYXQtdGFibGUtZml4ZWQtbGF5b3V0e3RhYmxlLWxheW91dDpmaXhlZH1cbiddfV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgcDMgZXh0ZW5kcyBNMXt9cDMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHAzKSkpKG58fHAzKX19KSgpLHAzLsm1ZGlyPWhvKHt0eXBlOnAzLHNlbGVjdG9yczpbWyIiLCJtYXRDZWxsRGVmIiwiIl1dLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6TTEsdXNlRXhpc3Rpbmc6cDN9XSksUXBdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihwMyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJbbWF0Q2VsbERlZl0iLHByb3ZpZGVyczpbe3Byb3ZpZGU6TTEsdXNlRXhpc3Rpbmc6cDN9XX1dfV0sbnVsbCxudWxsKTtjbGFzcyBtMyBleHRlbmRzIHYxe31tMy7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEobTMpKSkobnx8bTMpfX0pKCksbTMuybVkaXI9aG8oe3R5cGU6bTMsc2VsZWN0b3JzOltbIiIsIm1hdEhlYWRlckNlbGxEZWYiLCIiXV0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTp2MSx1c2VFeGlzdGluZzptM31dKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG0zLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXRIZWFkZXJDZWxsRGVmXSIscHJvdmlkZXJzOlt7cHJvdmlkZTp2MSx1c2VFeGlzdGluZzptM31dfV19XSxudWxsLG51bGwpO2NsYXNzIGYzIGV4dGVuZHMgeDF7fWYzLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShmMykpKShufHxmMyl9fSkoKSxmMy7JtWRpcj1obyh7dHlwZTpmMyxzZWxlY3RvcnM6W1siIiwibWF0Rm9vdGVyQ2VsbERlZiIsIiJdXSxmZWF0dXJlczpbamgoW3twcm92aWRlOngxLHVzZUV4aXN0aW5nOmYzfV0pLFFwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZjMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdEZvb3RlckNlbGxEZWZdIixwcm92aWRlcnM6W3twcm92aWRlOngxLHVzZUV4aXN0aW5nOmYzfV19XX1dLG51bGwsbnVsbCk7Y2xhc3MgdTMgZXh0ZW5kcyBQMXtnZXQgbmFtZSgpe3JldHVybiB0aGlzLl9uYW1lfXNldCBuYW1lKHQpe3RoaXMuX3NldE5hbWVJbnB1dCh0KX1fdXBkYXRlQ29sdW1uQ3NzQ2xhc3NOYW1lKCl7c3VwZXIuX3VwZGF0ZUNvbHVtbkNzc0NsYXNzTmFtZSgpLHRoaXMuX2NvbHVtbkNzc0NsYXNzTmFtZS5wdXNoKGBtYXQtY29sdW1uLSR7dGhpcy5jc3NDbGFzc0ZyaWVuZGx5TmFtZX1gKX19dTMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHUzKSkpKG58fHUzKX19KSgpLHUzLsm1ZGlyPWhvKHt0eXBlOnUzLHNlbGVjdG9yczpbWyIiLCJtYXRDb2x1bW5EZWYiLCIiXV0saW5wdXRzOntzdGlja3k6InN0aWNreSIsbmFtZTpbIm1hdENvbHVtbkRlZiIsIm5hbWUiXX0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpQMSx1c2VFeGlzdGluZzp1M30se3Byb3ZpZGU6Ik1BVF9TT1JUX0hFQURFUl9DT0xVTU5fREVGIix1c2VFeGlzdGluZzp1M31dKSxRcF19KSx1My5wcm9wRGVjb3JhdG9ycz17bmFtZTpbe3R5cGU6Ul8sYXJnczpbIm1hdENvbHVtbkRlZiJdfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodTMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdENvbHVtbkRlZl0iLGlucHV0czpbInN0aWNreSJdLHByb3ZpZGVyczpbe3Byb3ZpZGU6UDEsdXNlRXhpc3Rpbmc6dTN9LHtwcm92aWRlOiJNQVRfU09SVF9IRUFERVJfQ09MVU1OX0RFRiIsdXNlRXhpc3Rpbmc6dTN9XX1dfV0sbnVsbCx7bmFtZTpbe3R5cGU6Ul8sYXJnczpbIm1hdENvbHVtbkRlZiJdfV19KTtjbGFzcyBnMyBleHRlbmRzIGsxe31nMy7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoZzMpKSkobnx8ZzMpfX0pKCksZzMuybVkaXI9aG8oe3R5cGU6ZzMsc2VsZWN0b3JzOltbIm1hdC1oZWFkZXItY2VsbCJdLFsidGgiLCJtYXQtaGVhZGVyLWNlbGwiLCIiXV0saG9zdEF0dHJzOlsicm9sZSIsImNvbHVtbmhlYWRlciIsMSwibWF0LWhlYWRlci1jZWxsIl0sZmVhdHVyZXM6W1FwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZzMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LWhlYWRlci1jZWxsLCB0aFttYXQtaGVhZGVyLWNlbGxdIixob3N0OntjbGFzczoibWF0LWhlYWRlci1jZWxsIixyb2xlOiJjb2x1bW5oZWFkZXIifX1dfV0sbnVsbCxudWxsKTtjbGFzcyBoMyBleHRlbmRzIFMxe31oMy7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoaDMpKSkobnx8aDMpfX0pKCksaDMuybVkaXI9aG8oe3R5cGU6aDMsc2VsZWN0b3JzOltbIm1hdC1mb290ZXItY2VsbCJdLFsidGQiLCJtYXQtZm9vdGVyLWNlbGwiLCIiXV0saG9zdEF0dHJzOlsicm9sZSIsImdyaWRjZWxsIiwxLCJtYXQtZm9vdGVyLWNlbGwiXSxmZWF0dXJlczpbUXBdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihoMyxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtZm9vdGVyLWNlbGwsIHRkW21hdC1mb290ZXItY2VsbF0iLGhvc3Q6e2NsYXNzOiJtYXQtZm9vdGVyLWNlbGwiLHJvbGU6ImdyaWRjZWxsIn19XX1dLG51bGwsbnVsbCk7Y2xhc3MgYjMgZXh0ZW5kcyBEMXt9YjMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKGIzKSkpKG58fGIzKX19KSgpLGIzLsm1ZGlyPWhvKHt0eXBlOmIzLHNlbGVjdG9yczpbWyJtYXQtY2VsbCJdLFsidGQiLCJtYXQtY2VsbCIsIiJdXSxob3N0QXR0cnM6WyJyb2xlIiwiZ3JpZGNlbGwiLDEsIm1hdC1jZWxsIl0sZmVhdHVyZXM6W1FwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoYjMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LWNlbGwsIHRkW21hdC1jZWxsXSIsaG9zdDp7Y2xhc3M6Im1hdC1jZWxsIixyb2xlOiJncmlkY2VsbCJ9fV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgeTMgZXh0ZW5kcyBJMXt9eTMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHkzKSkpKG58fHkzKX19KSgpLHkzLsm1ZGlyPWhvKHt0eXBlOnkzLHNlbGVjdG9yczpbWyIiLCJtYXRIZWFkZXJSb3dEZWYiLCIiXV0saW5wdXRzOntjb2x1bW5zOlsibWF0SGVhZGVyUm93RGVmIiwiY29sdW1ucyJdLHN0aWNreTpbIm1hdEhlYWRlclJvd0RlZlN0aWNreSIsInN0aWNreSJdfSxmZWF0dXJlczpbamgoW3twcm92aWRlOkkxLHVzZUV4aXN0aW5nOnkzfV0pLFFwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeTMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdEhlYWRlclJvd0RlZl0iLHByb3ZpZGVyczpbe3Byb3ZpZGU6STEsdXNlRXhpc3Rpbmc6eTN9XSxpbnB1dHM6WyJjb2x1bW5zOiBtYXRIZWFkZXJSb3dEZWYiLCJzdGlja3k6IG1hdEhlYWRlclJvd0RlZlN0aWNreSJdfV19XSxudWxsLG51bGwpO2NsYXNzIF8zIGV4dGVuZHMgRjF7fV8zLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShfMykpKShufHxfMyl9fSkoKSxfMy7JtWRpcj1obyh7dHlwZTpfMyxzZWxlY3RvcnM6W1siIiwibWF0Rm9vdGVyUm93RGVmIiwiIl1dLGlucHV0czp7Y29sdW1uczpbIm1hdEZvb3RlclJvd0RlZiIsImNvbHVtbnMiXSxzdGlja3k6WyJtYXRGb290ZXJSb3dEZWZTdGlja3kiLCJzdGlja3kiXX0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpGMSx1c2VFeGlzdGluZzpfM31dKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKF8zLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXRGb290ZXJSb3dEZWZdIixwcm92aWRlcnM6W3twcm92aWRlOkYxLHVzZUV4aXN0aW5nOl8zfV0saW5wdXRzOlsiY29sdW1uczogbWF0Rm9vdGVyUm93RGVmIiwic3RpY2t5OiBtYXRGb290ZXJSb3dEZWZTdGlja3kiXX1dfV0sbnVsbCxudWxsKTtjbGFzcyBDMyBleHRlbmRzIEwxe31DMy7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoQzMpKSkobnx8QzMpfX0pKCksQzMuybVkaXI9aG8oe3R5cGU6QzMsc2VsZWN0b3JzOltbIiIsIm1hdFJvd0RlZiIsIiJdXSxpbnB1dHM6e2NvbHVtbnM6WyJtYXRSb3dEZWZDb2x1bW5zIiwiY29sdW1ucyJdLHdoZW46WyJtYXRSb3dEZWZXaGVuIiwid2hlbiJdfSxmZWF0dXJlczpbamgoW3twcm92aWRlOkwxLHVzZUV4aXN0aW5nOkMzfV0pLFFwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQzMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdFJvd0RlZl0iLHByb3ZpZGVyczpbe3Byb3ZpZGU6TDEsdXNlRXhpc3Rpbmc6QzN9XSxpbnB1dHM6WyJjb2x1bW5zOiBtYXRSb3dEZWZDb2x1bW5zIiwid2hlbjogbWF0Um93RGVmV2hlbiJdfV19XSxudWxsLG51bGwpO2NsYXNzIE0zIGV4dGVuZHMgVjF7fU0zLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShNMykpKShufHxNMyl9fSkoKSxNMy7JtWNtcD1zbyh7dHlwZTpNMyxzZWxlY3RvcnM6W1sibWF0LWhlYWRlci1yb3ciXSxbInRyIiwibWF0LWhlYWRlci1yb3ciLCIiXV0saG9zdEF0dHJzOlsicm9sZSIsInJvdyIsMSwibWF0LWhlYWRlci1yb3ciXSxleHBvcnRBczpbIm1hdEhlYWRlclJvdyJdLGZlYXR1cmVzOltqaChbe3Byb3ZpZGU6VjEsdXNlRXhpc3Rpbmc6TTN9XSksUXBdLGRlY2xzOjEsdmFyczowLGNvbnN0czpbWyJjZGtDZWxsT3V0bGV0IiwiIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlBmKDAsMCl9LGRpcmVjdGl2ZXM6W0IxXSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE0zLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1oZWFkZXItcm93LCB0clttYXQtaGVhZGVyLXJvd10iLHRlbXBsYXRlOlQxLGhvc3Q6e2NsYXNzOiJtYXQtaGVhZGVyLXJvdyIscm9sZToicm93In0sY2hhbmdlRGV0ZWN0aW9uOmpuLkRlZmF1bHQsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGV4cG9ydEFzOiJtYXRIZWFkZXJSb3ciLHByb3ZpZGVyczpbe3Byb3ZpZGU6VjEsdXNlRXhpc3Rpbmc6TTN9XX1dfV0sbnVsbCxudWxsKTtjbGFzcyB2MyBleHRlbmRzIGoxe312My7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEodjMpKSkobnx8djMpfX0pKCksdjMuybVjbXA9c28oe3R5cGU6djMsc2VsZWN0b3JzOltbIm1hdC1mb290ZXItcm93Il0sWyJ0ciIsIm1hdC1mb290ZXItcm93IiwiIl1dLGhvc3RBdHRyczpbInJvbGUiLCJyb3ciLDEsIm1hdC1mb290ZXItcm93Il0sZXhwb3J0QXM6WyJtYXRGb290ZXJSb3ciXSxmZWF0dXJlczpbamgoW3twcm92aWRlOmoxLHVzZUV4aXN0aW5nOnYzfV0pLFFwXSxkZWNsczoxLHZhcnM6MCxjb25zdHM6W1siY2RrQ2VsbE91dGxldCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiZQZigwLDApfSxkaXJlY3RpdmVzOltCMV0sZW5jYXBzdWxhdGlvbjoyfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih2Myxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtZm9vdGVyLXJvdywgdHJbbWF0LWZvb3Rlci1yb3ddIix0ZW1wbGF0ZTpUMSxob3N0OntjbGFzczoibWF0LWZvb3Rlci1yb3ciLHJvbGU6InJvdyJ9LGNoYW5nZURldGVjdGlvbjpqbi5EZWZhdWx0LGVuY2Fwc3VsYXRpb246V24uTm9uZSxleHBvcnRBczoibWF0Rm9vdGVyUm93Iixwcm92aWRlcnM6W3twcm92aWRlOmoxLHVzZUV4aXN0aW5nOnYzfV19XX1dLG51bGwsbnVsbCk7Y2xhc3MgeDMgZXh0ZW5kcyBVMXt9eDMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKHgzKSkpKG58fHgzKX19KSgpLHgzLsm1Y21wPXNvKHt0eXBlOngzLHNlbGVjdG9yczpbWyJtYXQtcm93Il0sWyJ0ciIsIm1hdC1yb3ciLCIiXV0saG9zdEF0dHJzOlsicm9sZSIsInJvdyIsMSwibWF0LXJvdyJdLGV4cG9ydEFzOlsibWF0Um93Il0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpVMSx1c2VFeGlzdGluZzp4M31dKSxRcF0sZGVjbHM6MSx2YXJzOjAsY29uc3RzOltbImNka0NlbGxPdXRsZXQiLCIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmUGYoMCwwKX0sZGlyZWN0aXZlczpbQjFdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeDMsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXJvdywgdHJbbWF0LXJvd10iLHRlbXBsYXRlOlQxLGhvc3Q6e2NsYXNzOiJtYXQtcm93Iixyb2xlOiJyb3cifSxjaGFuZ2VEZXRlY3Rpb246am4uRGVmYXVsdCxlbmNhcHN1bGF0aW9uOlduLk5vbmUsZXhwb3J0QXM6Im1hdFJvdyIscHJvdmlkZXJzOlt7cHJvdmlkZTpVMSx1c2VFeGlzdGluZzp4M31dfV19XSxudWxsLG51bGwpO2NsYXNzIE8zIGV4dGVuZHMgVzF7fU8zLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShPMykpKShufHxPMyl9fSkoKSxPMy7JtWRpcj1obyh7dHlwZTpPMyxzZWxlY3RvcnM6W1sibmctdGVtcGxhdGUiLCJtYXROb0RhdGFSb3ciLCIiXV0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpXMSx1c2VFeGlzdGluZzpPM31dKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE8zLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Im5nLXRlbXBsYXRlW21hdE5vRGF0YVJvd10iLHByb3ZpZGVyczpbe3Byb3ZpZGU6VzEsdXNlRXhpc3Rpbmc6TzN9XX1dfV0sbnVsbCxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIFAzIGV4dGVuZHMgbzN7fVAzLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShQMykpKShufHxQMyl9fSkoKSxQMy7JtWNtcD1zbyh7dHlwZTpQMyxzZWxlY3RvcnM6W1sibWF0LXRleHQtY29sdW1uIl1dLGZlYXR1cmVzOltRcF0sZGVjbHM6Myx2YXJzOjAsY29uc3RzOltbIm1hdENvbHVtbkRlZiIsIiJdLFsibWF0LWhlYWRlci1jZWxsIiwiIiwzLCJ0ZXh0LWFsaWduIiw0LCJtYXRIZWFkZXJDZWxsRGVmIl0sWyJtYXQtY2VsbCIsIiIsMywidGV4dC1hbGlnbiIsNCwibWF0Q2VsbERlZiJdLFsibWF0LWhlYWRlci1jZWxsIiwiIl0sWyJtYXQtY2VsbCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoeGYoMCwwKSxIbSgxLHMzLDIsMywidGgiLDEpLEhtKDIsbDMsMiwzLCJ0ZCIsMiksT2YoKSl9LGRpcmVjdGl2ZXM6W3UzLG0zLHAzLGczLGIzXSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFAzLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC10ZXh0LWNvbHVtbiIsdGVtcGxhdGU6J1xuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBbc3R5bGUudGV4dC1hbGlnbl09Imp1c3RpZnkiPlxuICAgICAgICB7e2hlYWRlclRleHR9fVxuICAgICAgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj0ibGV0IGRhdGEiIFtzdHlsZS50ZXh0LWFsaWduXT0ianVzdGlmeSI+XG4gICAgICAgIHt7ZGF0YUFjY2Vzc29yKGRhdGEsIG5hbWUpfX1cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICcsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5EZWZhdWx0fV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgdzM9W2QzLGMzLG0zLHkzLHUzLHAzLEMzLGYzLF8zLGczLGIzLGgzLE0zLHgzLHYzLE8zLFAzXTtjbGFzcyBrM3t9azMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGszKX0sazMuybVtb2Q9Zm8oe3R5cGU6azN9KSxrMy7JtWluaj1Ebih7aW1wb3J0czpbW2EzLE5GXSxORl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGszLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbYTMsTkZdLGV4cG9ydHM6W05GLHczXSxkZWNsYXJhdGlvbnM6dzN9XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhrMyx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW2QzLGMzLG0zLHkzLHUzLHAzLEMzLGYzLF8zLGczLGIzLGgzLE0zLHgzLHYzLE8zLFAzXX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVyblthMyxORl19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bTkYsZDMsYzMsbTMseTMsdTMscDMsQzMsZjMsXzMsZzMsYjMsaDMsTTMseDMsdjMsTzMsUDNdfX0pO2NsYXNzIFMzIGV4dGVuZHMgSEx7Y29uc3RydWN0b3IodD1bXSl7c3VwZXIoKSx0aGlzLl9yZW5kZXJEYXRhPW5ldyBqKFtdKSx0aGlzLl9maWx0ZXI9bmV3IGooIiIpLHRoaXMuX2ludGVybmFsUGFnZUNoYW5nZXM9bmV3IEIsdGhpcy5fcmVuZGVyQ2hhbmdlc1N1YnNjcmlwdGlvbj1udWxsLHRoaXMuc29ydGluZ0RhdGFBY2Nlc3Nvcj0odCxlKT0+e2NvbnN0IG49dFtlXTtpZihvSChuKSl7Y29uc3QgdD1OdW1iZXIobik7cmV0dXJuIHQ8OTAwNzE5OTI1NDc0MDk5MT90Om59cmV0dXJuIG59LHRoaXMuc29ydERhdGE9KHQsZSk9Pntjb25zdCBuPWUuYWN0aXZlLG89ZS5kaXJlY3Rpb247cmV0dXJuIG4mJiIiIT1vP3Quc29ydCgoKHQsZSk9PntsZXQgaT10aGlzLnNvcnRpbmdEYXRhQWNjZXNzb3IodCxuKSxhPXRoaXMuc29ydGluZ0RhdGFBY2Nlc3NvcihlLG4pO2NvbnN0IHI9dHlwZW9mIGkscz10eXBlb2YgYTtyIT09cyYmKCJudW1iZXIiPT09ciYmKGkrPSIiKSwibnVtYmVyIj09PXMmJihhKz0iIikpO2xldCBsPTA7cmV0dXJuIG51bGwhPWkmJm51bGwhPWE/aT5hP2w9MTppPGEmJihsPS0xKTpudWxsIT1pP2w9MTpudWxsIT1hJiYobD0tMSksbCooImFzYyI9PW8/MTotMSl9KSk6dH0sdGhpcy5maWx0ZXJQcmVkaWNhdGU9KHQsZSk9Pntjb25zdCBuPU9iamVjdC5rZXlzKHQpLnJlZHVjZSgoKGUsbik9PmUrdFtuXSsi4pesIiksIiIpLnRvTG93ZXJDYXNlKCksbz1lLnRyaW0oKS50b0xvd2VyQ2FzZSgpO3JldHVybi0xIT1uLmluZGV4T2Yobyl9LHRoaXMuX2RhdGE9bmV3IGoodCksdGhpcy5fdXBkYXRlQ2hhbmdlU3Vic2NyaXB0aW9uKCl9Z2V0IGRhdGEoKXtyZXR1cm4gdGhpcy5fZGF0YS52YWx1ZX1zZXQgZGF0YSh0KXt0aGlzLl9kYXRhLm5leHQodCksdGhpcy5fcmVuZGVyQ2hhbmdlc1N1YnNjcmlwdGlvbnx8dGhpcy5fZmlsdGVyRGF0YSh0KX1nZXQgZmlsdGVyKCl7cmV0dXJuIHRoaXMuX2ZpbHRlci52YWx1ZX1zZXQgZmlsdGVyKHQpe3RoaXMuX2ZpbHRlci5uZXh0KHQpLHRoaXMuX3JlbmRlckNoYW5nZXNTdWJzY3JpcHRpb258fHRoaXMuX2ZpbHRlckRhdGEodGhpcy5kYXRhKX1nZXQgc29ydCgpe3JldHVybiB0aGlzLl9zb3J0fXNldCBzb3J0KHQpe3RoaXMuX3NvcnQ9dCx0aGlzLl91cGRhdGVDaGFuZ2VTdWJzY3JpcHRpb24oKX1nZXQgcGFnaW5hdG9yKCl7cmV0dXJuIHRoaXMuX3BhZ2luYXRvcn1zZXQgcGFnaW5hdG9yKHQpe3RoaXMuX3BhZ2luYXRvcj10LHRoaXMuX3VwZGF0ZUNoYW5nZVN1YnNjcmlwdGlvbigpfV91cGRhdGVDaGFuZ2VTdWJzY3JpcHRpb24oKXt2YXIgdDtjb25zdCBlPXRoaXMuX3NvcnQ/cGUodGhpcy5fc29ydC5zb3J0Q2hhbmdlLHRoaXMuX3NvcnQuaW5pdGlhbGl6ZWQpOnp0KG51bGwpLG49dGhpcy5fcGFnaW5hdG9yP3BlKHRoaXMuX3BhZ2luYXRvci5wYWdlLHRoaXMuX2ludGVybmFsUGFnZUNoYW5nZXMsdGhpcy5fcGFnaW5hdG9yLmluaXRpYWxpemVkKTp6dChudWxsKSxvPUt0KFt0aGlzLl9kYXRhLHRoaXMuX2ZpbHRlcl0pLnBpcGUoVnQoKChbdF0pPT50aGlzLl9maWx0ZXJEYXRhKHQpKSkpLGk9S3QoW28sZV0pLnBpcGUoVnQoKChbdF0pPT50aGlzLl9vcmRlckRhdGEodCkpKSksYT1LdChbaSxuXSkucGlwZShWdCgoKFt0XSk9PnRoaXMuX3BhZ2VEYXRhKHQpKSkpO251bGw9PT0odD10aGlzLl9yZW5kZXJDaGFuZ2VzU3Vic2NyaXB0aW9uKXx8dm9pZCAwPT09dHx8dC51bnN1YnNjcmliZSgpLHRoaXMuX3JlbmRlckNoYW5nZXNTdWJzY3JpcHRpb249YS5zdWJzY3JpYmUoKHQ9PnRoaXMuX3JlbmRlckRhdGEubmV4dCh0KSkpfV9maWx0ZXJEYXRhKHQpe3JldHVybiB0aGlzLmZpbHRlcmVkRGF0YT1udWxsPT10aGlzLmZpbHRlcnx8IiI9PT10aGlzLmZpbHRlcj90OnQuZmlsdGVyKCh0PT50aGlzLmZpbHRlclByZWRpY2F0ZSh0LHRoaXMuZmlsdGVyKSkpLHRoaXMucGFnaW5hdG9yJiZ0aGlzLl91cGRhdGVQYWdpbmF0b3IodGhpcy5maWx0ZXJlZERhdGEubGVuZ3RoKSx0aGlzLmZpbHRlcmVkRGF0YX1fb3JkZXJEYXRhKHQpe3JldHVybiB0aGlzLnNvcnQ/dGhpcy5zb3J0RGF0YSh0LnNsaWNlKCksdGhpcy5zb3J0KTp0fV9wYWdlRGF0YSh0KXtpZighdGhpcy5wYWdpbmF0b3IpcmV0dXJuIHQ7Y29uc3QgZT10aGlzLnBhZ2luYXRvci5wYWdlSW5kZXgqdGhpcy5wYWdpbmF0b3IucGFnZVNpemU7cmV0dXJuIHQuc2xpY2UoZSxlK3RoaXMucGFnaW5hdG9yLnBhZ2VTaXplKX1fdXBkYXRlUGFnaW5hdG9yKHQpe1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCgpPT57Y29uc3QgZT10aGlzLnBhZ2luYXRvcjtpZihlJiYoZS5sZW5ndGg9dCxlLnBhZ2VJbmRleD4wKSl7Y29uc3QgdD1NYXRoLmNlaWwoZS5sZW5ndGgvZS5wYWdlU2l6ZSktMXx8MCxuPU1hdGgubWluKGUucGFnZUluZGV4LHQpO24hPT1lLnBhZ2VJbmRleCYmKGUucGFnZUluZGV4PW4sdGhpcy5faW50ZXJuYWxQYWdlQ2hhbmdlcy5uZXh0KCkpfX0pKX1jb25uZWN0KCl7cmV0dXJuIHRoaXMuX3JlbmRlckNoYW5nZXNTdWJzY3JpcHRpb258fHRoaXMuX3VwZGF0ZUNoYW5nZVN1YnNjcmlwdGlvbigpLHRoaXMuX3JlbmRlckRhdGF9ZGlzY29ubmVjdCgpe3ZhciB0O251bGw9PT0odD10aGlzLl9yZW5kZXJDaGFuZ2VzU3Vic2NyaXB0aW9uKXx8dm9pZCAwPT09dHx8dC51bnN1YnNjcmliZSgpLHRoaXMuX3JlbmRlckNoYW5nZXNTdWJzY3JpcHRpb249bnVsbH19Y2xhc3MgRDMgZXh0ZW5kcyBTM3t9Y29uc3QgUjM9WyJwYW5lbCJdO2Z1bmN0aW9uIEUzKHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiwwLDEpLEZmKDIpLE1mKCkpLDImdCl7Y29uc3QgdD1lLmlkLG49emYoKTtiZigiaWQiLG4uaWQpKCJuZ0NsYXNzIixuLl9jbGFzc0xpc3QpLHltKCJhcmlhLWxhYmVsIixuLmFyaWFMYWJlbHx8bnVsbCkoImFyaWEtbGFiZWxsZWRieSIsbi5fZ2V0UGFuZWxBcmlhTGFiZWxsZWRieSh0KSl9fWxldCBBMz0wO2NsYXNzIFQze2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5zb3VyY2U9dCx0aGlzLm9wdGlvbj1lfX1jb25zdCBOMz1IRihjbGFzc3t9KSx6Mz1uZXcgZXIoIm1hdC1hdXRvY29tcGxldGUtZGVmYXVsdC1vcHRpb25zIix7cHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTpmdW5jdGlvbiBJMygpe3JldHVybnthdXRvQWN0aXZlRmlyc3RPcHRpb246ITF9fX0pO2NsYXNzIEgzIGV4dGVuZHMgTjN7Y29uc3RydWN0b3IodCxlLG4sbyl7c3VwZXIoKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj10LHRoaXMuX2VsZW1lbnRSZWY9ZSx0aGlzLl9hY3RpdmVPcHRpb25DaGFuZ2VzPXUuRU1QVFksdGhpcy5zaG93UGFuZWw9ITEsdGhpcy5faXNPcGVuPSExLHRoaXMuZGlzcGxheVdpdGg9bnVsbCx0aGlzLm9wdGlvblNlbGVjdGVkPW5ldyBTeSx0aGlzLm9wZW5lZD1uZXcgU3ksdGhpcy5jbG9zZWQ9bmV3IFN5LHRoaXMub3B0aW9uQWN0aXZhdGVkPW5ldyBTeSx0aGlzLl9jbGFzc0xpc3Q9e30sdGhpcy5pZD0ibWF0LWF1dG9jb21wbGV0ZS0iK0EzKyssdGhpcy5pbmVydEdyb3Vwcz0obnVsbD09bz92b2lkIDA6by5TQUZBUkkpfHwhMSx0aGlzLl9hdXRvQWN0aXZlRmlyc3RPcHRpb249ISFuLmF1dG9BY3RpdmVGaXJzdE9wdGlvbn1nZXQgaXNPcGVuKCl7cmV0dXJuIHRoaXMuX2lzT3BlbiYmdGhpcy5zaG93UGFuZWx9Z2V0IGF1dG9BY3RpdmVGaXJzdE9wdGlvbigpe3JldHVybiB0aGlzLl9hdXRvQWN0aXZlRmlyc3RPcHRpb259c2V0IGF1dG9BY3RpdmVGaXJzdE9wdGlvbih0KXt0aGlzLl9hdXRvQWN0aXZlRmlyc3RPcHRpb249ZUgodCl9c2V0IGNsYXNzTGlzdCh0KXt0aGlzLl9jbGFzc0xpc3Q9dCYmdC5sZW5ndGg/KGZ1bmN0aW9uIGUodCxuPS9ccysvKXtjb25zdCBvPVtdO2lmKG51bGwhPXQpe2NvbnN0IGU9QXJyYXkuaXNBcnJheSh0KT90OmAke3R9YC5zcGxpdChuKTtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPWAke3R9YC50cmltKCk7ZSYmby5wdXNoKGUpfX1yZXR1cm4gb30pKHQpLnJlZHVjZSgoKHQsZSk9Pih0W2VdPSEwLHQpKSx7fSk6e30sdGhpcy5fc2V0VmlzaWJpbGl0eUNsYXNzZXModGhpcy5fY2xhc3NMaXN0KSx0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lPSIifW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX2tleU1hbmFnZXI9bmV3IEZIKHRoaXMub3B0aW9ucykud2l0aFdyYXAoKSx0aGlzLl9hY3RpdmVPcHRpb25DaGFuZ2VzPXRoaXMuX2tleU1hbmFnZXIuY2hhbmdlLnN1YnNjcmliZSgodD0+e3RoaXMub3B0aW9uQWN0aXZhdGVkLmVtaXQoe3NvdXJjZTp0aGlzLG9wdGlvbjp0aGlzLm9wdGlvbnMudG9BcnJheSgpW3RdfHxudWxsfSl9KSksdGhpcy5fc2V0VmlzaWJpbGl0eSgpfW5nT25EZXN0cm95KCl7dGhpcy5fYWN0aXZlT3B0aW9uQ2hhbmdlcy51bnN1YnNjcmliZSgpfV9zZXRTY3JvbGxUb3AodCl7dGhpcy5wYW5lbCYmKHRoaXMucGFuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3A9dCl9X2dldFNjcm9sbFRvcCgpe3JldHVybiB0aGlzLnBhbmVsP3RoaXMucGFuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3A6MH1fc2V0VmlzaWJpbGl0eSgpe3RoaXMuc2hvd1BhbmVsPSEhdGhpcy5vcHRpb25zLmxlbmd0aCx0aGlzLl9zZXRWaXNpYmlsaXR5Q2xhc3Nlcyh0aGlzLl9jbGFzc0xpc3QpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfV9lbWl0U2VsZWN0RXZlbnQodCl7Y29uc3QgZT1uZXcgVDModGhpcyx0KTt0aGlzLm9wdGlvblNlbGVjdGVkLmVtaXQoZSl9X2dldFBhbmVsQXJpYUxhYmVsbGVkYnkodCl7aWYodGhpcy5hcmlhTGFiZWwpcmV0dXJuIG51bGw7cmV0dXJuIHRoaXMuYXJpYUxhYmVsbGVkYnk/KHQ/dCsiICI6IiIpK3RoaXMuYXJpYUxhYmVsbGVkYnk6dH1fc2V0VmlzaWJpbGl0eUNsYXNzZXModCl7dFt0aGlzLl92aXNpYmxlQ2xhc3NdPXRoaXMuc2hvd1BhbmVsLHRbdGhpcy5faGlkZGVuQ2xhc3NdPSF0aGlzLnNob3dQYW5lbH19SDMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEgzKShnZihPYiksZ2YoS2gpLGdmKHozKSxnZihjSCkpfSxIMy7JtWRpcj1obyh7dHlwZTpIMyx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKFZ5KEViLDcpLFZ5KFIzLDUpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLnRlbXBsYXRlPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLnBhbmVsPXQuZmlyc3QpfX0saW5wdXRzOntkaXNwbGF5V2l0aDoiZGlzcGxheVdpdGgiLGF1dG9BY3RpdmVGaXJzdE9wdGlvbjoiYXV0b0FjdGl2ZUZpcnN0T3B0aW9uIixjbGFzc0xpc3Q6WyJjbGFzcyIsImNsYXNzTGlzdCJdLGFyaWFMYWJlbDpbImFyaWEtbGFiZWwiLCJhcmlhTGFiZWwiXSxhcmlhTGFiZWxsZWRieTpbImFyaWEtbGFiZWxsZWRieSIsImFyaWFMYWJlbGxlZGJ5Il0scGFuZWxXaWR0aDoicGFuZWxXaWR0aCJ9LG91dHB1dHM6e29wdGlvblNlbGVjdGVkOiJvcHRpb25TZWxlY3RlZCIsb3BlbmVkOiJvcGVuZWQiLGNsb3NlZDoiY2xvc2VkIixvcHRpb25BY3RpdmF0ZWQ6Im9wdGlvbkFjdGl2YXRlZCJ9LGZlYXR1cmVzOltRcF19KSxIMy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOk9ifSx7dHlwZTpLaH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3ozXX1dfSx7dHlwZTpjSH1dLEgzLnByb3BEZWNvcmF0b3JzPXt0ZW1wbGF0ZTpbe3R5cGU6YXIsYXJnczpbRWIse3N0YXRpYzohMH1dfV0scGFuZWw6W3t0eXBlOmFyLGFyZ3M6WyJwYW5lbCJdfV0sYXJpYUxhYmVsOlt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbCJdfV0sYXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dLGRpc3BsYXlXaXRoOlt7dHlwZTpSX31dLGF1dG9BY3RpdmVGaXJzdE9wdGlvbjpbe3R5cGU6Ul99XSxwYW5lbFdpZHRoOlt7dHlwZTpSX31dLG9wdGlvblNlbGVjdGVkOlt7dHlwZTpFX31dLG9wZW5lZDpbe3R5cGU6RV99XSxjbG9zZWQ6W3t0eXBlOkVffV0sb3B0aW9uQWN0aXZhdGVkOlt7dHlwZTpFX31dLGNsYXNzTGlzdDpbe3R5cGU6Ul8sYXJnczpbImNsYXNzIl19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihIMyxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6T2J9LHt0eXBlOktofSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbejNdfV19LHt0eXBlOmNIfV19KSx7ZGlzcGxheVdpdGg6W3t0eXBlOlJffV0sb3B0aW9uU2VsZWN0ZWQ6W3t0eXBlOkVffV0sb3BlbmVkOlt7dHlwZTpFX31dLGNsb3NlZDpbe3R5cGU6RV99XSxvcHRpb25BY3RpdmF0ZWQ6W3t0eXBlOkVffV0sYXV0b0FjdGl2ZUZpcnN0T3B0aW9uOlt7dHlwZTpSX31dLGNsYXNzTGlzdDpbe3R5cGU6Ul8sYXJnczpbImNsYXNzIl19XSx0ZW1wbGF0ZTpbe3R5cGU6YXIsYXJnczpbRWIse3N0YXRpYzohMH1dfV0scGFuZWw6W3t0eXBlOmFyLGFyZ3M6WyJwYW5lbCJdfV0sYXJpYUxhYmVsOlt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbCJdfV0sYXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dLHBhbmVsV2lkdGg6W3t0eXBlOlJffV19KTtjbGFzcyBGMyBleHRlbmRzIEgze2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl92aXNpYmxlQ2xhc3M9Im1hdC1hdXRvY29tcGxldGUtdmlzaWJsZSIsdGhpcy5faGlkZGVuQ2xhc3M9Im1hdC1hdXRvY29tcGxldGUtaGlkZGVuIn19RjMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKEYzKSkpKG58fEYzKX19KSgpLEYzLsm1Y21wPXNvKHt0eXBlOkYzLHNlbGVjdG9yczpbWyJtYXQtYXV0b2NvbXBsZXRlIl1dLGNvbnRlbnRRdWVyaWVzOmZ1bmN0aW9uIHQoZSxuLG8pe2lmKDEmZSYmKGp5KG8sQ0wsNSksankobyxQTCw1KSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5vcHRpb25Hcm91cHM9dCksQnkodD1VeSgpKSYmKG4ub3B0aW9ucz10KX19LGhvc3RBdHRyczpbMSwibWF0LWF1dG9jb21wbGV0ZSJdLGlucHV0czp7ZGlzYWJsZVJpcHBsZToiZGlzYWJsZVJpcHBsZSJ9LGV4cG9ydEFzOlsibWF0QXV0b2NvbXBsZXRlIl0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpoTCx1c2VFeGlzdGluZzpGM31dKSxRcF0sbmdDb250ZW50U2VsZWN0b3JzOlsiKiJdLGRlY2xzOjEsdmFyczowLGNvbnN0czpbWyJyb2xlIiwibGlzdGJveCIsMSwibWF0LWF1dG9jb21wbGV0ZS1wYW5lbCIsMywiaWQiLCJuZ0NsYXNzIl0sWyJwYW5lbCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxIbSgwLEUzLDMsNCwibmctdGVtcGxhdGUiKSl9LGRpcmVjdGl2ZXM6W0N2XSxzdHlsZXM6WyIubWF0LWF1dG9jb21wbGV0ZS1wYW5lbHttaW4td2lkdGg6MTEycHg7bWF4LXdpZHRoOjI4MHB4O292ZXJmbG93OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7dmlzaWJpbGl0eTpoaWRkZW47bWF4LXdpZHRoOm5vbmU7bWF4LWhlaWdodDoyNTZweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweH0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbC5tYXQtYXV0b2NvbXBsZXRlLXZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLm1hdC1hdXRvY29tcGxldGUtaGlkZGVue3Zpc2liaWxpdHk6aGlkZGVufS5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLWFib3ZlIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVse2JvcmRlci1yYWRpdXM6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHh9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1kaXZpZGVyLWhvcml6b250YWx7bWFyZ2luLXRvcDotMXB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1hdXRvY29tcGxldGUtcGFuZWx7b3V0bGluZTpzb2xpZCAxcHh9bWF0LWF1dG9jb21wbGV0ZXtkaXNwbGF5Om5vbmV9XG4iXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSxGMy5wcm9wRGVjb3JhdG9ycz17b3B0aW9uR3JvdXBzOlt7dHlwZTpvcixhcmdzOltDTCx7ZGVzY2VuZGFudHM6ITB9XX1dLG9wdGlvbnM6W3t0eXBlOm9yLGFyZ3M6W1BMLHtkZXNjZW5kYW50czohMH1dfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRjMsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LWF1dG9jb21wbGV0ZSIsdGVtcGxhdGU6JzxuZy10ZW1wbGF0ZSBsZXQtZm9ybUZpZWxkSWQ9ImlkIj5cbiAgPGRpdiBjbGFzcz0ibWF0LWF1dG9jb21wbGV0ZS1wYW5lbCJcbiAgICAgICByb2xlPSJsaXN0Ym94IlxuICAgICAgIFtpZF09ImlkIlxuICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPSJhcmlhTGFiZWwgfHwgbnVsbCJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPSJfZ2V0UGFuZWxBcmlhTGFiZWxsZWRieShmb3JtRmllbGRJZCkiXG4gICAgICAgW25nQ2xhc3NdPSJfY2xhc3NMaXN0IlxuICAgICAgICNwYW5lbD5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbicsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsZXhwb3J0QXM6Im1hdEF1dG9jb21wbGV0ZSIsaW5wdXRzOlsiZGlzYWJsZVJpcHBsZSJdLGhvc3Q6e2NsYXNzOiJtYXQtYXV0b2NvbXBsZXRlIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpoTCx1c2VFeGlzdGluZzpGM31dLHN0eWxlczpbIi5tYXQtYXV0b2NvbXBsZXRlLXBhbmVse21pbi13aWR0aDoxMTJweDttYXgtd2lkdGg6MjgwcHg7b3ZlcmZsb3c6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDt2aXNpYmlsaXR5OmhpZGRlbjttYXgtd2lkdGg6bm9uZTttYXgtaGVpZ2h0OjI1NnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4fS5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLm1hdC1hdXRvY29tcGxldGUtdmlzaWJsZXt2aXNpYmlsaXR5OnZpc2libGV9Lm1hdC1hdXRvY29tcGxldGUtcGFuZWwubWF0LWF1dG9jb21wbGV0ZS1oaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59Lm1hdC1hdXRvY29tcGxldGUtcGFuZWwtYWJvdmUgLm1hdC1hdXRvY29tcGxldGUtcGFuZWx7Ym9yZGVyLXJhZGl1czowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweH0ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LWRpdmlkZXItaG9yaXpvbnRhbHttYXJnaW4tdG9wOi0xcHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbHtvdXRsaW5lOnNvbGlkIDFweH1tYXQtYXV0b2NvbXBsZXRle2Rpc3BsYXk6bm9uZX1cbiJdfV19XSxudWxsLHtvcHRpb25Hcm91cHM6W3t0eXBlOm9yLGFyZ3M6W0NMLHtkZXNjZW5kYW50czohMH1dfV0sb3B0aW9uczpbe3R5cGU6b3IsYXJnczpbUEwse2Rlc2NlbmRhbnRzOiEwfV19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY2xhc3MgTDN7Y29uc3RydWN0b3IodCl7dGhpcy5lbGVtZW50UmVmPXR9fUwzLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxMMykoZ2YoS2gpKX0sTDMuybVkaXI9aG8oe3R5cGU6TDN9KSxMMy5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofV0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihMMyxbe3R5cGU6a199XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9XX0pLG51bGwpO2NsYXNzIEIzIGV4dGVuZHMgTDN7fUIzLsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShCMykpKShufHxCMyl9fSkoKSxCMy7JtWRpcj1obyh7dHlwZTpCMyxzZWxlY3RvcnM6W1siIiwibWF0QXV0b2NvbXBsZXRlT3JpZ2luIiwiIl1dLGV4cG9ydEFzOlsibWF0QXV0b2NvbXBsZXRlT3JpZ2luIl0sZmVhdHVyZXM6W1FwXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQjMsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW21hdEF1dG9jb21wbGV0ZU9yaWdpbl0iLGV4cG9ydEFzOiJtYXRBdXRvY29tcGxldGVPcmlnaW4ifV19XSxudWxsLG51bGwpOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgVjM9bmV3IGVyKCJtYXQtYXV0b2NvbXBsZXRlLXNjcm9sbC1zdHJhdGVneSIpO2NvbnN0IGozPXtwcm92aWRlOlYzLGRlcHM6W0tCXSx1c2VGYWN0b3J5OmZ1bmN0aW9uIFUzKHQpe3JldHVybigpPT50LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpfX0sVzM9e3Byb3ZpZGU6eFUsdXNlRXhpc3Rpbmc6JGUoKCgpPT5ZMykpLG11bHRpOiEwfTtjbGFzcyBHM3tjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMsbCxjLGQpe3RoaXMuX2VsZW1lbnQ9dCx0aGlzLl9vdmVybGF5PWUsdGhpcy5fdmlld0NvbnRhaW5lclJlZj1uLHRoaXMuX3pvbmU9byx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj1pLHRoaXMuX2Rpcj1yLHRoaXMuX2Zvcm1GaWVsZD1zLHRoaXMuX2RvY3VtZW50PWwsdGhpcy5fdmlld3BvcnRSdWxlcj1jLHRoaXMuX2RlZmF1bHRzPWQsdGhpcy5fY29tcG9uZW50RGVzdHJveWVkPSExLHRoaXMuX2F1dG9jb21wbGV0ZURpc2FibGVkPSExLHRoaXMuX21hbnVhbGx5RmxvYXRpbmdMYWJlbD0hMSx0aGlzLl92aWV3cG9ydFN1YnNjcmlwdGlvbj11LkVNUFRZLHRoaXMuX2Nhbk9wZW5Pbk5leHRGb2N1cz0hMCx0aGlzLl9jbG9zZUtleUV2ZW50U3RyZWFtPW5ldyBCLHRoaXMuX3dpbmRvd0JsdXJIYW5kbGVyPSgpPT57dGhpcy5fY2FuT3Blbk9uTmV4dEZvY3VzPXRoaXMuX2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT10aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnR8fHRoaXMucGFuZWxPcGVufSx0aGlzLl9vbkNoYW5nZT0oKT0+e30sdGhpcy5fb25Ub3VjaGVkPSgpPT57fSx0aGlzLnBvc2l0aW9uPSJhdXRvIix0aGlzLmF1dG9jb21wbGV0ZUF0dHJpYnV0ZT0ib2ZmIix0aGlzLl9vdmVybGF5QXR0YWNoZWQ9ITEsdGhpcy5vcHRpb25TZWxlY3Rpb25zPW9lKCgoKT0+dGhpcy5hdXRvY29tcGxldGUmJnRoaXMuYXV0b2NvbXBsZXRlLm9wdGlvbnM/cGUoLi4udGhpcy5hdXRvY29tcGxldGUub3B0aW9ucy5tYXAoKHQ9PnQub25TZWxlY3Rpb25DaGFuZ2UpKSk6dGhpcy5fem9uZS5vblN0YWJsZS5waXBlKHZlKDEpLFZlKCgoKT0+dGhpcy5vcHRpb25TZWxlY3Rpb25zKSkpKSksdGhpcy5fc2Nyb2xsU3RyYXRlZ3k9YX1nZXQgYXV0b2NvbXBsZXRlRGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlRGlzYWJsZWR9c2V0IGF1dG9jb21wbGV0ZURpc2FibGVkKHQpe3RoaXMuX2F1dG9jb21wbGV0ZURpc2FibGVkPWVIKHQpfW5nQWZ0ZXJWaWV3SW5pdCgpe2NvbnN0IHQ9dGhpcy5fZ2V0V2luZG93KCk7dm9pZCAwIT09dCYmdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKCk9PnQuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fd2luZG93Qmx1ckhhbmRsZXIpKSl9bmdPbkNoYW5nZXModCl7dC5wb3NpdGlvbiYmdGhpcy5fcG9zaXRpb25TdHJhdGVneSYmKHRoaXMuX3NldFN0cmF0ZWd5UG9zaXRpb25zKHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3kpLHRoaXMucGFuZWxPcGVuJiZ0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCkpfW5nT25EZXN0cm95KCl7Y29uc3QgdD10aGlzLl9nZXRXaW5kb3coKTt2b2lkIDAhPT10JiZ0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX3dpbmRvd0JsdXJIYW5kbGVyKSx0aGlzLl92aWV3cG9ydFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuX2NvbXBvbmVudERlc3Ryb3llZD0hMCx0aGlzLl9kZXN0cm95UGFuZWwoKSx0aGlzLl9jbG9zZUtleUV2ZW50U3RyZWFtLmNvbXBsZXRlKCl9Z2V0IHBhbmVsT3Blbigpe3JldHVybiB0aGlzLl9vdmVybGF5QXR0YWNoZWQmJnRoaXMuYXV0b2NvbXBsZXRlLnNob3dQYW5lbH1vcGVuUGFuZWwoKXt0aGlzLl9hdHRhY2hPdmVybGF5KCksdGhpcy5fZmxvYXRMYWJlbCgpfWNsb3NlUGFuZWwoKXt0aGlzLl9yZXNldExhYmVsKCksdGhpcy5fb3ZlcmxheUF0dGFjaGVkJiYodGhpcy5wYW5lbE9wZW4mJnRoaXMuYXV0b2NvbXBsZXRlLmNsb3NlZC5lbWl0KCksdGhpcy5hdXRvY29tcGxldGUuX2lzT3Blbj10aGlzLl9vdmVybGF5QXR0YWNoZWQ9ITEsdGhpcy5fb3ZlcmxheVJlZiYmdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpJiYodGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKSx0aGlzLl9jbG9zaW5nQWN0aW9uc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKSx0aGlzLl9jb21wb25lbnREZXN0cm95ZWR8fHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKSl9dXBkYXRlUG9zaXRpb24oKXt0aGlzLl9vdmVybGF5QXR0YWNoZWQmJnRoaXMuX292ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKX1nZXQgcGFuZWxDbG9zaW5nQWN0aW9ucygpe3JldHVybiBwZSh0aGlzLm9wdGlvblNlbGVjdGlvbnMsdGhpcy5hdXRvY29tcGxldGUuX2tleU1hbmFnZXIudGFiT3V0LnBpcGUodWUoKCgpPT50aGlzLl9vdmVybGF5QXR0YWNoZWQpKSksdGhpcy5fY2xvc2VLZXlFdmVudFN0cmVhbSx0aGlzLl9nZXRPdXRzaWRlQ2xpY2tTdHJlYW0oKSx0aGlzLl9vdmVybGF5UmVmP3RoaXMuX292ZXJsYXlSZWYuZGV0YWNobWVudHMoKS5waXBlKHVlKCgoKT0+dGhpcy5fb3ZlcmxheUF0dGFjaGVkKSkpOnp0KCkpLnBpcGUoVnQoKHQ9PnQgaW5zdGFuY2VvZiB4TD90Om51bGwpKSl9Z2V0IGFjdGl2ZU9wdGlvbigpe3JldHVybiB0aGlzLmF1dG9jb21wbGV0ZSYmdGhpcy5hdXRvY29tcGxldGUuX2tleU1hbmFnZXI/dGhpcy5hdXRvY29tcGxldGUuX2tleU1hbmFnZXIuYWN0aXZlSXRlbTpudWxsfV9nZXRPdXRzaWRlQ2xpY2tTdHJlYW0oKXtyZXR1cm4gcGUobGUodGhpcy5fZG9jdW1lbnQsImNsaWNrIiksbGUodGhpcy5fZG9jdW1lbnQsImF1eGNsaWNrIiksbGUodGhpcy5fZG9jdW1lbnQsInRvdWNoZW5kIikpLnBpcGUodWUoKHQ9Pntjb25zdCBlPXZIKHQpLG49dGhpcy5fZm9ybUZpZWxkP3RoaXMuX2Zvcm1GaWVsZC5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Om51bGwsbz10aGlzLmNvbm5lY3RlZFRvP3RoaXMuY29ubmVjdGVkVG8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Om51bGw7cmV0dXJuIHRoaXMuX292ZXJsYXlBdHRhY2hlZCYmZSE9PXRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCYmKCFufHwhbi5jb250YWlucyhlKSkmJighb3x8IW8uY29udGFpbnMoZSkpJiYhIXRoaXMuX292ZXJsYXlSZWYmJiF0aGlzLl9vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmNvbnRhaW5zKGUpfSkpKX13cml0ZVZhbHVlKHQpe1Byb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgoKT0+dGhpcy5fc2V0VHJpZ2dlclZhbHVlKHQpKSl9cmVnaXN0ZXJPbkNoYW5nZSh0KXt0aGlzLl9vbkNoYW5nZT10fXJlZ2lzdGVyT25Ub3VjaGVkKHQpe3RoaXMuX29uVG91Y2hlZD10fXNldERpc2FibGVkU3RhdGUodCl7dGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmRpc2FibGVkPXR9X2hhbmRsZUtleWRvd24odCl7Y29uc3QgZT10LmtleUNvZGU7aWYoZSE9PUtJfHx0SCh0KXx8dC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuYWN0aXZlT3B0aW9uJiZlPT09WEkmJnRoaXMucGFuZWxPcGVuKXRoaXMuYWN0aXZlT3B0aW9uLl9zZWxlY3RWaWFJbnRlcmFjdGlvbigpLHRoaXMuX3Jlc2V0QWN0aXZlSXRlbSgpLHQucHJldmVudERlZmF1bHQoKTtlbHNlIGlmKHRoaXMuYXV0b2NvbXBsZXRlKXtjb25zdCBuPXRoaXMuYXV0b2NvbXBsZXRlLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0sbz1lPT09UUl8fGU9PT0kSTt0aGlzLnBhbmVsT3Blbnx8OT09PWU/dGhpcy5hdXRvY29tcGxldGUuX2tleU1hbmFnZXIub25LZXlkb3duKHQpOm8mJnRoaXMuX2Nhbk9wZW4oKSYmdGhpcy5vcGVuUGFuZWwoKSwob3x8dGhpcy5hdXRvY29tcGxldGUuX2tleU1hbmFnZXIuYWN0aXZlSXRlbSE9PW4pJiZ0aGlzLl9zY3JvbGxUb09wdGlvbih0aGlzLmF1dG9jb21wbGV0ZS5fa2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXh8fDApfX1faGFuZGxlSW5wdXQodCl7bGV0IGU9dC50YXJnZXQsbj1lLnZhbHVlOyJudW1iZXIiPT09ZS50eXBlJiYobj0iIj09bj9udWxsOnBhcnNlRmxvYXQobikpLHRoaXMuX3ByZXZpb3VzVmFsdWUhPT1uJiYodGhpcy5fcHJldmlvdXNWYWx1ZT1uLHRoaXMuX29uQ2hhbmdlKG4pLHRoaXMuX2Nhbk9wZW4oKSYmdGhpcy5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXQudGFyZ2V0JiZ0aGlzLm9wZW5QYW5lbCgpKX1faGFuZGxlRm9jdXMoKXt0aGlzLl9jYW5PcGVuT25OZXh0Rm9jdXM/dGhpcy5fY2FuT3BlbigpJiYodGhpcy5fcHJldmlvdXNWYWx1ZT10aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUsdGhpcy5fYXR0YWNoT3ZlcmxheSgpLHRoaXMuX2Zsb2F0TGFiZWwoITApKTp0aGlzLl9jYW5PcGVuT25OZXh0Rm9jdXM9ITB9X2Zsb2F0TGFiZWwodD0hMSl7dGhpcy5fZm9ybUZpZWxkJiYiYXV0byI9PT10aGlzLl9mb3JtRmllbGQuZmxvYXRMYWJlbCYmKHQ/dGhpcy5fZm9ybUZpZWxkLl9hbmltYXRlQW5kTG9ja0xhYmVsKCk6dGhpcy5fZm9ybUZpZWxkLmZsb2F0TGFiZWw9ImFsd2F5cyIsdGhpcy5fbWFudWFsbHlGbG9hdGluZ0xhYmVsPSEwKX1fcmVzZXRMYWJlbCgpe3RoaXMuX21hbnVhbGx5RmxvYXRpbmdMYWJlbCYmKHRoaXMuX2Zvcm1GaWVsZC5mbG9hdExhYmVsPSJhdXRvIix0aGlzLl9tYW51YWxseUZsb2F0aW5nTGFiZWw9ITEpfV9zdWJzY3JpYmVUb0Nsb3NpbmdBY3Rpb25zKCl7cmV0dXJuIHBlKHRoaXMuX3pvbmUub25TdGFibGUucGlwZSh2ZSgxKSksdGhpcy5hdXRvY29tcGxldGUub3B0aW9ucy5jaGFuZ2VzLnBpcGUoV2UoKCgpPT50aGlzLl9wb3NpdGlvblN0cmF0ZWd5LnJlYXBwbHlMYXN0UG9zaXRpb24oKSkpLFBlKDApKSkucGlwZShWZSgoKCk9Pntjb25zdCB0PXRoaXMucGFuZWxPcGVuO3JldHVybiB0aGlzLl9yZXNldEFjdGl2ZUl0ZW0oKSx0aGlzLmF1dG9jb21wbGV0ZS5fc2V0VmlzaWJpbGl0eSgpLHRoaXMucGFuZWxPcGVuJiYodGhpcy5fb3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpLHQhPT10aGlzLnBhbmVsT3BlbiYmdGhpcy5hdXRvY29tcGxldGUub3BlbmVkLmVtaXQoKSksdGhpcy5wYW5lbENsb3NpbmdBY3Rpb25zfSkpLHZlKDEpKS5zdWJzY3JpYmUoKHQ9PnRoaXMuX3NldFZhbHVlQW5kQ2xvc2UodCkpKX1fZGVzdHJveVBhbmVsKCl7dGhpcy5fb3ZlcmxheVJlZiYmKHRoaXMuY2xvc2VQYW5lbCgpLHRoaXMuX292ZXJsYXlSZWYuZGlzcG9zZSgpLHRoaXMuX292ZXJsYXlSZWY9bnVsbCl9X3NldFRyaWdnZXJWYWx1ZSh0KXtjb25zdCBlPXRoaXMuYXV0b2NvbXBsZXRlJiZ0aGlzLmF1dG9jb21wbGV0ZS5kaXNwbGF5V2l0aD90aGlzLmF1dG9jb21wbGV0ZS5kaXNwbGF5V2l0aCh0KTp0LG49bnVsbCE9ZT9lOiIiO3RoaXMuX2Zvcm1GaWVsZD90aGlzLl9mb3JtRmllbGQuX2NvbnRyb2wudmFsdWU9bjp0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWU9bix0aGlzLl9wcmV2aW91c1ZhbHVlPW59X3NldFZhbHVlQW5kQ2xvc2UodCl7dCYmdC5zb3VyY2UmJih0aGlzLl9jbGVhclByZXZpb3VzU2VsZWN0ZWRPcHRpb24odC5zb3VyY2UpLHRoaXMuX3NldFRyaWdnZXJWYWx1ZSh0LnNvdXJjZS52YWx1ZSksdGhpcy5fb25DaGFuZ2UodC5zb3VyY2UudmFsdWUpLHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpLHRoaXMuYXV0b2NvbXBsZXRlLl9lbWl0U2VsZWN0RXZlbnQodC5zb3VyY2UpKSx0aGlzLmNsb3NlUGFuZWwoKX1fY2xlYXJQcmV2aW91c1NlbGVjdGVkT3B0aW9uKHQpe3RoaXMuYXV0b2NvbXBsZXRlLm9wdGlvbnMuZm9yRWFjaCgoZT0+e2UhPT10JiZlLnNlbGVjdGVkJiZlLmRlc2VsZWN0KCl9KSl9X2F0dGFjaE92ZXJsYXkoKXt2YXIgdDtpZighdGhpcy5hdXRvY29tcGxldGUmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyhmdW5jdGlvbiBlKCl7cmV0dXJuIEVycm9yKCJBdHRlbXB0aW5nIHRvIG9wZW4gYW4gdW5kZWZpbmVkIGluc3RhbmNlIG9mIGBtYXQtYXV0b2NvbXBsZXRlYC4gTWFrZSBzdXJlIHRoYXQgdGhlIGlkIHBhc3NlZCB0byB0aGUgYG1hdEF1dG9jb21wbGV0ZWAgaXMgY29ycmVjdCBhbmQgdGhhdCB5b3UncmUgYXR0ZW1wdGluZyB0byBvcGVuIGl0IGFmdGVyIHRoZSBuZ0FmdGVyQ29udGVudEluaXQgaG9vay4iKX0pKCk7bGV0IG49dGhpcy5fb3ZlcmxheVJlZjtuPyh0aGlzLl9wb3NpdGlvblN0cmF0ZWd5LnNldE9yaWdpbih0aGlzLl9nZXRDb25uZWN0ZWRFbGVtZW50KCkpLG4udXBkYXRlU2l6ZSh7d2lkdGg6dGhpcy5fZ2V0UGFuZWxXaWR0aCgpfSkpOih0aGlzLl9wb3J0YWw9bmV3IGxCKHRoaXMuYXV0b2NvbXBsZXRlLnRlbXBsYXRlLHRoaXMuX3ZpZXdDb250YWluZXJSZWYse2lkOm51bGw9PT0odD10aGlzLl9mb3JtRmllbGQpfHx2b2lkIDA9PT10P3ZvaWQgMDp0LmdldExhYmVsSWQoKX0pLG49dGhpcy5fb3ZlcmxheS5jcmVhdGUodGhpcy5fZ2V0T3ZlcmxheUNvbmZpZygpKSx0aGlzLl9vdmVybGF5UmVmPW4sbi5rZXlkb3duRXZlbnRzKCkuc3Vic2NyaWJlKCh0PT57KHQua2V5Q29kZT09PUtJJiYhdEgodCl8fHQua2V5Q29kZT09PVFJJiZ0SCh0LCJhbHRLZXkiKSkmJih0aGlzLl9yZXNldEFjdGl2ZUl0ZW0oKSx0aGlzLl9jbG9zZUtleUV2ZW50U3RyZWFtLm5leHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLHQucHJldmVudERlZmF1bHQoKSl9KSksdGhpcy5fdmlld3BvcnRTdWJzY3JpcHRpb249dGhpcy5fdmlld3BvcnRSdWxlci5jaGFuZ2UoKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5wYW5lbE9wZW4mJm4mJm4udXBkYXRlU2l6ZSh7d2lkdGg6dGhpcy5fZ2V0UGFuZWxXaWR0aCgpfSl9KSkpLG4mJiFuLmhhc0F0dGFjaGVkKCkmJihuLmF0dGFjaCh0aGlzLl9wb3J0YWwpLHRoaXMuX2Nsb3NpbmdBY3Rpb25zU3Vic2NyaXB0aW9uPXRoaXMuX3N1YnNjcmliZVRvQ2xvc2luZ0FjdGlvbnMoKSk7Y29uc3Qgbz10aGlzLnBhbmVsT3Blbjt0aGlzLmF1dG9jb21wbGV0ZS5fc2V0VmlzaWJpbGl0eSgpLHRoaXMuYXV0b2NvbXBsZXRlLl9pc09wZW49dGhpcy5fb3ZlcmxheUF0dGFjaGVkPSEwLHRoaXMucGFuZWxPcGVuJiZvIT09dGhpcy5wYW5lbE9wZW4mJnRoaXMuYXV0b2NvbXBsZXRlLm9wZW5lZC5lbWl0KCl9X2dldE92ZXJsYXlDb25maWcoKXt2YXIgdDtyZXR1cm4gbmV3IHdCKHtwb3NpdGlvblN0cmF0ZWd5OnRoaXMuX2dldE92ZXJsYXlQb3NpdGlvbigpLHNjcm9sbFN0cmF0ZWd5OnRoaXMuX3Njcm9sbFN0cmF0ZWd5KCksd2lkdGg6dGhpcy5fZ2V0UGFuZWxXaWR0aCgpLGRpcmVjdGlvbjp0aGlzLl9kaXIscGFuZWxDbGFzczpudWxsPT09KHQ9dGhpcy5fZGVmYXVsdHMpfHx2b2lkIDA9PT10P3ZvaWQgMDp0Lm92ZXJsYXlQYW5lbENsYXNzfSl9X2dldE92ZXJsYXlQb3NpdGlvbigpe2NvbnN0IHQ9dGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5fZ2V0Q29ubmVjdGVkRWxlbWVudCgpKS53aXRoRmxleGlibGVEaW1lbnNpb25zKCExKS53aXRoUHVzaCghMSk7cmV0dXJuIHRoaXMuX3NldFN0cmF0ZWd5UG9zaXRpb25zKHQpLHRoaXMuX3Bvc2l0aW9uU3RyYXRlZ3k9dCx0fV9zZXRTdHJhdGVneVBvc2l0aW9ucyh0KXtjb25zdCBlPVt7b3JpZ2luWDoic3RhcnQiLG9yaWdpblk6ImJvdHRvbSIsb3ZlcmxheVg6InN0YXJ0IixvdmVybGF5WToidG9wIn0se29yaWdpblg6ImVuZCIsb3JpZ2luWToiYm90dG9tIixvdmVybGF5WDoiZW5kIixvdmVybGF5WToidG9wIn1dLG49dGhpcy5fYWJvdmVDbGFzcyxvPVt7b3JpZ2luWDoic3RhcnQiLG9yaWdpblk6InRvcCIsb3ZlcmxheVg6InN0YXJ0IixvdmVybGF5WToiYm90dG9tIixwYW5lbENsYXNzOm59LHtvcmlnaW5YOiJlbmQiLG9yaWdpblk6InRvcCIsb3ZlcmxheVg6ImVuZCIsb3ZlcmxheVk6ImJvdHRvbSIscGFuZWxDbGFzczpufV07bGV0IGk7aT0iYWJvdmUiPT09dGhpcy5wb3NpdGlvbj9vOiJiZWxvdyI9PT10aGlzLnBvc2l0aW9uP2U6Wy4uLmUsLi4ub10sdC53aXRoUG9zaXRpb25zKGkpfV9nZXRDb25uZWN0ZWRFbGVtZW50KCl7cmV0dXJuIHRoaXMuY29ubmVjdGVkVG8/dGhpcy5jb25uZWN0ZWRUby5lbGVtZW50UmVmOnRoaXMuX2Zvcm1GaWVsZD90aGlzLl9mb3JtRmllbGQuZ2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpOnRoaXMuX2VsZW1lbnR9X2dldFBhbmVsV2lkdGgoKXtyZXR1cm4gdGhpcy5hdXRvY29tcGxldGUucGFuZWxXaWR0aHx8dGhpcy5fZ2V0SG9zdFdpZHRoKCl9X2dldEhvc3RXaWR0aCgpe3JldHVybiB0aGlzLl9nZXRDb25uZWN0ZWRFbGVtZW50KCkubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aH1fcmVzZXRBY3RpdmVJdGVtKCl7Y29uc3QgdD10aGlzLmF1dG9jb21wbGV0ZTt0LmF1dG9BY3RpdmVGaXJzdE9wdGlvbj90Ll9rZXlNYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpOnQuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSgtMSl9X2Nhbk9wZW4oKXtjb25zdCB0PXRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudDtyZXR1cm4hdC5yZWFkT25seSYmIXQuZGlzYWJsZWQmJiF0aGlzLl9hdXRvY29tcGxldGVEaXNhYmxlZH1fZ2V0V2luZG93KCl7dmFyIHQ7cmV0dXJuKG51bGw9PT0odD10aGlzLl9kb2N1bWVudCl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuZGVmYXVsdFZpZXcpfHx3aW5kb3d9X3Njcm9sbFRvT3B0aW9uKHQpe2NvbnN0IGU9dGhpcy5hdXRvY29tcGxldGUsbj13TCh0LGUub3B0aW9ucyxlLm9wdGlvbkdyb3Vwcyk7aWYoMD09PXQmJjE9PT1uKWUuX3NldFNjcm9sbFRvcCgwKTtlbHNlIGlmKGUucGFuZWwpe2NvbnN0IG49ZS5vcHRpb25zLnRvQXJyYXkoKVt0XTtpZihuKXtjb25zdCB0PW4uX2dldEhvc3RFbGVtZW50KCksbz1rTCh0Lm9mZnNldFRvcCx0Lm9mZnNldEhlaWdodCxlLl9nZXRTY3JvbGxUb3AoKSxlLnBhbmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0KTtlLl9zZXRTY3JvbGxUb3Aobyl9fX19RzMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEczKShnZihLaCksZ2YoS0IpLGdmKEZiKSxnZihtQyksZ2YoT2IpLGdmKFYzKSxnZih2Riw4KSxnZih5VSw5KSxnZihzTSw4KSxnZihRTCksZ2YoejMsOCkpfSxHMy7JtWRpcj1obyh7dHlwZTpHMyxpbnB1dHM6e3Bvc2l0aW9uOlsibWF0QXV0b2NvbXBsZXRlUG9zaXRpb24iLCJwb3NpdGlvbiJdLGF1dG9jb21wbGV0ZUF0dHJpYnV0ZTpbImF1dG9jb21wbGV0ZSIsImF1dG9jb21wbGV0ZUF0dHJpYnV0ZSJdLGF1dG9jb21wbGV0ZURpc2FibGVkOlsibWF0QXV0b2NvbXBsZXRlRGlzYWJsZWQiLCJhdXRvY29tcGxldGVEaXNhYmxlZCJdLGF1dG9jb21wbGV0ZTpbIm1hdEF1dG9jb21wbGV0ZSIsImF1dG9jb21wbGV0ZSJdLGNvbm5lY3RlZFRvOlsibWF0QXV0b2NvbXBsZXRlQ29ubmVjdGVkVG8iLCJjb25uZWN0ZWRUbyJdfSxmZWF0dXJlczpbcW9dfSksRzMuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6S0J9LHt0eXBlOkZifSx7dHlwZTptQ30se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltWM119XX0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6X1UsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3lVXX0se3R5cGU6VXJ9XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6UUx9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbejNdfV19XSxHMy5wcm9wRGVjb3JhdG9ycz17YXV0b2NvbXBsZXRlOlt7dHlwZTpSXyxhcmdzOlsibWF0QXV0b2NvbXBsZXRlIl19XSxwb3NpdGlvbjpbe3R5cGU6Ul8sYXJnczpbIm1hdEF1dG9jb21wbGV0ZVBvc2l0aW9uIl19XSxjb25uZWN0ZWRUbzpbe3R5cGU6Ul8sYXJnczpbIm1hdEF1dG9jb21wbGV0ZUNvbm5lY3RlZFRvIl19XSxhdXRvY29tcGxldGVBdHRyaWJ1dGU6W3t0eXBlOlJfLGFyZ3M6WyJhdXRvY29tcGxldGUiXX1dLGF1dG9jb21wbGV0ZURpc2FibGVkOlt7dHlwZTpSXyxhcmdzOlsibWF0QXV0b2NvbXBsZXRlRGlzYWJsZWQiXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEczLFt7dHlwZTprX31dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6S0J9LHt0eXBlOkZifSx7dHlwZTptQ30se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltWM119XX0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6X1UsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3lVXX0se3R5cGU6VXJ9XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6UUx9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbejNdfV19XX0pLHtwb3NpdGlvbjpbe3R5cGU6Ul8sYXJnczpbIm1hdEF1dG9jb21wbGV0ZVBvc2l0aW9uIl19XSxhdXRvY29tcGxldGVBdHRyaWJ1dGU6W3t0eXBlOlJfLGFyZ3M6WyJhdXRvY29tcGxldGUiXX1dLGF1dG9jb21wbGV0ZURpc2FibGVkOlt7dHlwZTpSXyxhcmdzOlsibWF0QXV0b2NvbXBsZXRlRGlzYWJsZWQiXX1dLGF1dG9jb21wbGV0ZTpbe3R5cGU6Ul8sYXJnczpbIm1hdEF1dG9jb21wbGV0ZSJdfV0sY29ubmVjdGVkVG86W3t0eXBlOlJfLGFyZ3M6WyJtYXRBdXRvY29tcGxldGVDb25uZWN0ZWRUbyJdfV19KTtjbGFzcyBZMyBleHRlbmRzIEcze2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl9hYm92ZUNsYXNzPSJtYXQtYXV0b2NvbXBsZXRlLXBhbmVsLWFib3ZlIn19WTMuybVmYWM9KGZ1bmN0aW9uKCl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uIGUobil7cmV0dXJuKHR8fCh0PVVhKFkzKSkpKG58fFkzKX19KSgpLFkzLsm1ZGlyPWhvKHt0eXBlOlkzLHNlbGVjdG9yczpbWyJpbnB1dCIsIm1hdEF1dG9jb21wbGV0ZSIsIiJdLFsidGV4dGFyZWEiLCJtYXRBdXRvY29tcGxldGUiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtYXV0b2NvbXBsZXRlLXRyaWdnZXIiXSxob3N0VmFyczo3LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MSZlJiZSZigiZm9jdXNpbiIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5faGFuZGxlRm9jdXMoKX0pKSgiYmx1ciIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fb25Ub3VjaGVkKCl9KSkoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlSW5wdXQoZSl9KSkoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9oYW5kbGVLZXlkb3duKGUpfSkpLDImZSYmeW0oImF1dG9jb21wbGV0ZSIsbi5hdXRvY29tcGxldGVBdHRyaWJ1dGUpKCJyb2xlIixuLmF1dG9jb21wbGV0ZURpc2FibGVkP251bGw6ImNvbWJvYm94IikoImFyaWEtYXV0b2NvbXBsZXRlIixuLmF1dG9jb21wbGV0ZURpc2FibGVkP251bGw6Imxpc3QiKSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50IixuLnBhbmVsT3BlbiYmbi5hY3RpdmVPcHRpb24/bi5hY3RpdmVPcHRpb24uaWQ6bnVsbCkoImFyaWEtZXhwYW5kZWQiLG4uYXV0b2NvbXBsZXRlRGlzYWJsZWQ/bnVsbDpuLnBhbmVsT3Blbi50b1N0cmluZygpKSgiYXJpYS1vd25zIixuLmF1dG9jb21wbGV0ZURpc2FibGVkfHwhbi5wYW5lbE9wZW58fG51bGw9PW4uYXV0b2NvbXBsZXRlP251bGw6bi5hdXRvY29tcGxldGUuaWQpKCJhcmlhLWhhc3BvcHVwIiwhbi5hdXRvY29tcGxldGVEaXNhYmxlZCl9LGV4cG9ydEFzOlsibWF0QXV0b2NvbXBsZXRlVHJpZ2dlciJdLGZlYXR1cmVzOltqaChbVzNdKSxRcF19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFkzLFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6ImlucHV0W21hdEF1dG9jb21wbGV0ZV0sIHRleHRhcmVhW21hdEF1dG9jb21wbGV0ZV0iLGhvc3Q6e2NsYXNzOiJtYXQtYXV0b2NvbXBsZXRlLXRyaWdnZXIiLCJbYXR0ci5hdXRvY29tcGxldGVdIjoiYXV0b2NvbXBsZXRlQXR0cmlidXRlIiwiW2F0dHIucm9sZV0iOidhdXRvY29tcGxldGVEaXNhYmxlZCA/IG51bGwgOiAiY29tYm9ib3giJywiW2F0dHIuYXJpYS1hdXRvY29tcGxldGVdIjonYXV0b2NvbXBsZXRlRGlzYWJsZWQgPyBudWxsIDogImxpc3QiJywiW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XSI6IihwYW5lbE9wZW4gJiYgYWN0aXZlT3B0aW9uKSA/IGFjdGl2ZU9wdGlvbi5pZCA6IG51bGwiLCJbYXR0ci5hcmlhLWV4cGFuZGVkXSI6ImF1dG9jb21wbGV0ZURpc2FibGVkID8gbnVsbCA6IHBhbmVsT3Blbi50b1N0cmluZygpIiwiW2F0dHIuYXJpYS1vd25zXSI6IihhdXRvY29tcGxldGVEaXNhYmxlZCB8fCAhcGFuZWxPcGVuKSA/IG51bGwgOiBhdXRvY29tcGxldGU/LmlkIiwiW2F0dHIuYXJpYS1oYXNwb3B1cF0iOiIhYXV0b2NvbXBsZXRlRGlzYWJsZWQiLCIoZm9jdXNpbikiOiJfaGFuZGxlRm9jdXMoKSIsIihibHVyKSI6Il9vblRvdWNoZWQoKSIsIihpbnB1dCkiOiJfaGFuZGxlSW5wdXQoJGV2ZW50KSIsIihrZXlkb3duKSI6Il9oYW5kbGVLZXlkb3duKCRldmVudCkifSxleHBvcnRBczoibWF0QXV0b2NvbXBsZXRlVHJpZ2dlciIscHJvdmlkZXJzOltXM119XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBxM3t9cTMuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHEzKX0scTMuybVtb2Q9Zm8oe3R5cGU6cTN9KSxxMy7JtWluaj1Ebih7cHJvdmlkZXJzOltqM10saW1wb3J0czpbW29WLFNMLE5GLHJ4XSxvQixTTCxORl19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHEzLFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbb1YsU0wsTkYscnhdLGV4cG9ydHM6W0YzLFkzLEIzLG9CLFNMLE5GXSxkZWNsYXJhdGlvbnM6W0YzLFkzLEIzXSxwcm92aWRlcnM6W2ozXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHEzLHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bRjMsWTMsQjNdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW29WLFNMLE5GLHJ4XX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltGMyxZMyxCMyxvQixTTCxORl19fSk7Y2xhc3MgWjN7Y29uc3RydWN0b3IoKXt0aGlzLnZhbHVlPSIiLHRoaXMucGxhY2Vob2xkZXI9IiJ9b25JbnB1dEtleVVwKHQpeyJFbnRlciI9PT10LmtleSYmdGhpcy5hdXRvY29tcGxldGVUcmlnZ2VyLmNsb3NlUGFuZWwoKX19ZnVuY3Rpb24gWDModCxlKXtpZigxJnQmJihvYSgpLHZmKDAsImNpcmNsZSIsMykpLDImdCl7Y29uc3QgdD16ZigpO2x1KCJhbmltYXRpb24tbmFtZSIsIm1hdC1wcm9ncmVzcy1zcGlubmVyLXN0cm9rZS1yb3RhdGUtIit0Ll9zcGlubmVyQW5pbWF0aW9uTGFiZWwpKCJzdHJva2UtZGFzaG9mZnNldCIsdC5fZ2V0U3Ryb2tlRGFzaE9mZnNldCgpLCJweCIpKCJzdHJva2UtZGFzaGFycmF5Iix0Ll9nZXRTdHJva2VDaXJjdW1mZXJlbmNlKCksInB4IikoInN0cm9rZS13aWR0aCIsdC5fZ2V0Q2lyY2xlU3Ryb2tlV2lkdGgoKSwiJSIpLHltKCJyIix0Ll9nZXRDaXJjbGVSYWRpdXMoKSl9fWZ1bmN0aW9uIEszKHQsZSl7aWYoMSZ0JiYob2EoKSx2ZigwLCJjaXJjbGUiLDMpKSwyJnQpe2NvbnN0IHQ9emYoKTtsdSgic3Ryb2tlLWRhc2hvZmZzZXQiLHQuX2dldFN0cm9rZURhc2hPZmZzZXQoKSwicHgiKSgic3Ryb2tlLWRhc2hhcnJheSIsdC5fZ2V0U3Ryb2tlQ2lyY3VtZmVyZW5jZSgpLCJweCIpKCJzdHJva2Utd2lkdGgiLHQuX2dldENpcmNsZVN0cm9rZVdpZHRoKCksIiUiKSx5bSgiciIsdC5fZ2V0Q2lyY2xlUmFkaXVzKCkpfX1mdW5jdGlvbiBKMyh0LGUpe2lmKDEmdCYmKG9hKCksdmYoMCwiY2lyY2xlIiwzKSksMiZ0KXtjb25zdCB0PXpmKCk7bHUoImFuaW1hdGlvbi1uYW1lIiwibWF0LXByb2dyZXNzLXNwaW5uZXItc3Ryb2tlLXJvdGF0ZS0iK3QuX3NwaW5uZXJBbmltYXRpb25MYWJlbCkoInN0cm9rZS1kYXNob2Zmc2V0Iix0Ll9nZXRTdHJva2VEYXNoT2Zmc2V0KCksInB4IikoInN0cm9rZS1kYXNoYXJyYXkiLHQuX2dldFN0cm9rZUNpcmN1bWZlcmVuY2UoKSwicHgiKSgic3Ryb2tlLXdpZHRoIix0Ll9nZXRDaXJjbGVTdHJva2VXaWR0aCgpLCIlIikseW0oInIiLHQuX2dldENpcmNsZVJhZGl1cygpKX19ZnVuY3Rpb24gUTModCxlKXtpZigxJnQmJihvYSgpLHZmKDAsImNpcmNsZSIsMykpLDImdCl7Y29uc3QgdD16ZigpO2x1KCJzdHJva2UtZGFzaG9mZnNldCIsdC5fZ2V0U3Ryb2tlRGFzaE9mZnNldCgpLCJweCIpKCJzdHJva2UtZGFzaGFycmF5Iix0Ll9nZXRTdHJva2VDaXJjdW1mZXJlbmNlKCksInB4IikoInN0cm9rZS13aWR0aCIsdC5fZ2V0Q2lyY2xlU3Ryb2tlV2lkdGgoKSwiJSIpLHltKCJyIix0Ll9nZXRDaXJjbGVSYWRpdXMoKSl9fVozLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxaMyl9LFozLsm1Y21wPXNvKHt0eXBlOlozLHNlbGVjdG9yczpbWyJ0Yi1maWx0ZXItaW5wdXQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJlZ5KFkzLDUpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uYXV0b2NvbXBsZXRlVHJpZ2dlcj10LmZpcnN0KX19LGlucHV0czp7dmFsdWU6InZhbHVlIixtYXRBdXRvY29tcGxldGU6Im1hdEF1dG9jb21wbGV0ZSIscGxhY2Vob2xkZXI6InBsYWNlaG9sZGVyIn0sZGVjbHM6Mix2YXJzOjQsY29uc3RzOltbInN2Z0ljb24iLCJzZWFyY2hfMjRweCJdLFsidHlwZSIsInRleHQiLCJhdXRvY29tcGxldGUiLCJvZmYiLDMsInBsYWNlaG9sZGVyIiwibWF0QXV0b2NvbXBsZXRlIiwibWF0QXV0b2NvbXBsZXRlRGlzYWJsZWQiLCJ2YWx1ZSIsImtleXVwIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJtYXQtaWNvbiIsMCksQ2YoMSwiaW5wdXQiLDEpLFJmKCJrZXl1cCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25JbnB1dEtleVVwKGUpfSkpLE1mKCkpLDImZSYmKERjKDEpLGJmKCJwbGFjZWhvbGRlciIsbi5wbGFjZWhvbGRlcikoIm1hdEF1dG9jb21wbGV0ZSIsbi5tYXRBdXRvY29tcGxldGUpKCJtYXRBdXRvY29tcGxldGVEaXNhYmxlZCIsIW4ubWF0QXV0b2NvbXBsZXRlKSgidmFsdWUiLG4udmFsdWUpKX0sZGlyZWN0aXZlczpbTXEsWTNdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxM3B4fW1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2ZsZXg6bm9uZTttYXJnaW4tcmlnaHQ6NXB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIG1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgbWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7Y2FyZXQtY29sb3I6Y3VycmVudENvbG9yO2NvbG9yOmN1cnJlbnRDb2xvcjtmb250OmluaGVyaXQ7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO3BhZGRpbmc6MDtmbGV4LWdyb3c6MX0nXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWjMsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGItZmlsdGVyLWlucHV0Iix0ZW1wbGF0ZTonXG4gICAgPG1hdC1pY29uIHN2Z0ljb249InNlYXJjaF8yNHB4Ij48L21hdC1pY29uPlxuXG4gICAgXHgzYyEtLSBOb3RlOiB0byBhbGxvdyBmYWxzeSBcJ21hdEF1dG9jb21wbGV0ZVwnIHZhbHVlcywgd2UgbmVlZCBcJ21hdEF1dG9jb21wbGV0ZURpc2FibGVkXCdcbiAgICB0byBwcmV2ZW50IHJ1bnRpbWUgZXJyb3JzLiAtLVx4M2VcbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9InRleHQiXG4gICAgICBhdXRvY29tcGxldGU9Im9mZiJcbiAgICAgIFtwbGFjZWhvbGRlcl09InBsYWNlaG9sZGVyIlxuICAgICAgW21hdEF1dG9jb21wbGV0ZV09Im1hdEF1dG9jb21wbGV0ZSJcbiAgICAgIFttYXRBdXRvY29tcGxldGVEaXNhYmxlZF09IiFtYXRBdXRvY29tcGxldGUiXG4gICAgICBbdmFsdWVdPSJ2YWx1ZSJcbiAgICAgIChrZXl1cCk9Im9uSW5wdXRLZXlVcCgkZXZlbnQpIlxuICAgIC8+XG4gICcsc3R5bGVVcmxzOlsiZmlsdGVyX2lucHV0X2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCx7dmFsdWU6W3t0eXBlOlJffV0sbWF0QXV0b2NvbXBsZXRlOlt7dHlwZTpSX31dLHBsYWNlaG9sZGVyOlt7dHlwZTpSX31dLGF1dG9jb21wbGV0ZVRyaWdnZXI6W3t0eXBlOmFyLGFyZ3M6W1kzXX1dfSk7Y29uc3QgJDM9Ii5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0ubWF0LXByb2dyZXNzLXNwaW5uZXIgc3Zne3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0b3A6MDtsZWZ0OjA7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXByb2dyZXNzLXNwaW5uZXIgY2lyY2xle2ZpbGw6dHJhbnNwYXJlbnQ7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNpdGlvbjpzdHJva2UtZGFzaG9mZnNldCAyMjVtcyBsaW5lYXJ9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZXt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXByb2dyZXNzLXNwaW5uZXIgY2lyY2xle3N0cm9rZTpjdXJyZW50Q29sb3I7c3Ryb2tlOkNhbnZhc1RleHR9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uW21vZGU9aW5kZXRlcm1pbmF0ZV0gc3Zne2FuaW1hdGlvbjptYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1saW5lYXItcm90YXRlIDIwMDBtcyBsaW5lYXIgaW5maW5pdGV9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uW21vZGU9aW5kZXRlcm1pbmF0ZV0gc3Zne3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBjaXJjbGV7dHJhbnNpdGlvbi1wcm9wZXJ0eTpzdHJva2U7YW5pbWF0aW9uLWR1cmF0aW9uOjQwMDBtczthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIGNpcmNsZXt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUtZmFsbGJhY2stYW5pbWF0aW9uW21vZGU9aW5kZXRlcm1pbmF0ZV0gc3Zne2FuaW1hdGlvbjptYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1zdHJva2Utcm90YXRlLWZhbGxiYWNrIDEwMDAwbXMgY3ViaWMtYmV6aWVyKDAuODcsIDAuMDMsIDAuMzMsIDEpIGluZmluaXRlfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWZhbGxiYWNrLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3t0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUtZmFsbGJhY2stYW5pbWF0aW9uW21vZGU9aW5kZXRlcm1pbmF0ZV0gY2lyY2xle3RyYW5zaXRpb24tcHJvcGVydHk6c3Ryb2tlfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWZhbGxiYWNrLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIGNpcmNsZXt0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9QGtleWZyYW1lcyBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1saW5lYXItcm90YXRlezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBrZXlmcmFtZXMgbWF0LXByb2dyZXNzLXNwaW5uZXItc3Ryb2tlLXJvdGF0ZS0xMDB7MCV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGUoMCl9MTIuNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGUoMCl9MTIuNTAwMSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZykgcm90YXRlKDcyLjVkZWcpfTI1JXtzdHJva2UtZGFzaG9mZnNldDoyNjguNjA2MTcxNTc1cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoNzIuNWRlZyl9MjUuMDAwMSV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0zNy41JXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfTM3LjUwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSgxNjEuNWRlZyl9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSgxNjEuNWRlZyl9NTAuMDAwMSV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX02Mi41JXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfTYyLjUwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSgyNTEuNWRlZyl9NzUle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSgyNTEuNWRlZyl9NzUuMDAwMSV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfTg3LjUle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX04Ny41MDAxJXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMzQxLjVkZWcpfTEwMCV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZykgcm90YXRlKDM0MS41ZGVnKX19QGtleWZyYW1lcyBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1zdHJva2Utcm90YXRlLWZhbGxiYWNrezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MjUle3RyYW5zZm9ybTpyb3RhdGUoMTE3MGRlZyl9NTAle3RyYW5zZm9ybTpyb3RhdGUoMjM0MGRlZyl9NzUle3RyYW5zZm9ybTpyb3RhdGUoMzUxMGRlZyl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDQ2ODBkZWcpfX1cbiIsdDI9SUYoY2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5fZWxlbWVudFJlZj10fX0sInByaW1hcnkiKSxlMj1uZXcgZXIoIm1hdC1wcm9ncmVzcy1zcGlubmVyLWRlZmF1bHQtb3B0aW9ucyIse3Byb3ZpZGVkSW46InJvb3QiLGZhY3Rvcnk6ZnVuY3Rpb24gbjIoKXtyZXR1cm57ZGlhbWV0ZXI6MTAwfX19KTtjb25zdCBvMj0iXG4gQGtleWZyYW1lcyBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1zdHJva2Utcm90YXRlLURJQU1FVEVSIHtcbiAgICAwJSAgICAgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFNUQVJUX1ZBTFVFOyAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgICAxMi41JSAgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IEVORF9WQUxVRTsgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgICAxMi41MDAxJSAgeyBzdHJva2UtZGFzaG9mZnNldDogRU5EX1ZBTFVFOyAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoNzIuNWRlZyk7IH1cbiAgICAyNSUgICAgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFNUQVJUX1ZBTFVFOyAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlKDcyLjVkZWcpOyB9XG5cbiAgICAyNS4wMDAxJSAgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IFNUQVJUX1ZBTFVFOyAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuICAgIDM3LjUlICAgeyBzdHJva2UtZGFzaG9mZnNldDogRU5EX1ZBTFVFOyAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG4gICAgMzcuNTAwMSUgIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IEVORF9WQUxVRTsgICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlKDE2MS41ZGVnKTsgfVxuICAgIDUwJSAgICAgeyBzdHJva2UtZGFzaG9mZnNldDogU1RBUlRfVkFMVUU7ICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMTYxLjVkZWcpOyB9XG5cbiAgICA1MC4wMDAxJSAgeyBzdHJva2UtZGFzaG9mZnNldDogU1RBUlRfVkFMVUU7ICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgNjIuNSUgICB7IHN0cm9rZS1kYXNob2Zmc2V0OiBFTkRfVkFMVUU7ICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICA2Mi41MDAxJSAgeyBzdHJva2UtZGFzaG9mZnNldDogRU5EX1ZBTFVFOyAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMjUxLjVkZWcpOyB9XG4gICAgNzUlICAgICB7IHN0cm9rZS1kYXNob2Zmc2V0OiBTVEFSVF9WQUxVRTsgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZSgyNTEuNWRlZyk7IH1cblxuICAgIDc1LjAwMDElICB7IHN0cm9rZS1kYXNob2Zmc2V0OiBTVEFSVF9WQUxVRTsgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgIDg3LjUlICAgeyBzdHJva2UtZGFzaG9mZnNldDogRU5EX1ZBTFVFOyAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbiAgICA4Ny41MDAxJSAgeyBzdHJva2UtZGFzaG9mZnNldDogRU5EX1ZBTFVFOyAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMzQxLjVkZWcpOyB9XG4gICAgMTAwJSAgICB7IHN0cm9rZS1kYXNob2Zmc2V0OiBTVEFSVF9WQUxVRTsgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZSgzNDEuNWRlZyk7IH1cbiAgfVxuIjtjbGFzcyBpMiBleHRlbmRzIHQye2NvbnN0cnVjdG9yKHQsZSxuLG8saSl7c3VwZXIodCksdGhpcy5fZG9jdW1lbnQ9bix0aGlzLl9kaWFtZXRlcj0xMDAsdGhpcy5fdmFsdWU9MCx0aGlzLl9mYWxsYmFja0FuaW1hdGlvbj0hMSx0aGlzLm1vZGU9ImRldGVybWluYXRlIjtjb25zdCBhPWkyLl9kaWFtZXRlcnM7dGhpcy5fc3Bpbm5lckFuaW1hdGlvbkxhYmVsPXRoaXMuX2dldFNwaW5uZXJBbmltYXRpb25MYWJlbCgpLGEuaGFzKG4uaGVhZCl8fGEuc2V0KG4uaGVhZCxuZXcgU2V0KFsxMDBdKSksdGhpcy5fZmFsbGJhY2tBbmltYXRpb249ZS5FREdFfHxlLlRSSURFTlQsdGhpcy5fbm9vcEFuaW1hdGlvbnM9Ik5vb3BBbmltYXRpb25zIj09PW8mJiEhaSYmIWkuX2ZvcmNlQW5pbWF0aW9ucyxpJiYoaS5kaWFtZXRlciYmKHRoaXMuZGlhbWV0ZXI9aS5kaWFtZXRlciksaS5zdHJva2VXaWR0aCYmKHRoaXMuc3Ryb2tlV2lkdGg9aS5zdHJva2VXaWR0aCkpfWdldCBkaWFtZXRlcigpe3JldHVybiB0aGlzLl9kaWFtZXRlcn1zZXQgZGlhbWV0ZXIodCl7dGhpcy5fZGlhbWV0ZXI9bkgodCksdGhpcy5fc3Bpbm5lckFuaW1hdGlvbkxhYmVsPXRoaXMuX2dldFNwaW5uZXJBbmltYXRpb25MYWJlbCgpLCF0aGlzLl9mYWxsYmFja0FuaW1hdGlvbiYmdGhpcy5fc3R5bGVSb290JiZ0aGlzLl9hdHRhY2hTdHlsZU5vZGUoKX1nZXQgc3Ryb2tlV2lkdGgoKXtyZXR1cm4gdGhpcy5fc3Ryb2tlV2lkdGh8fHRoaXMuZGlhbWV0ZXIvMTB9c2V0IHN0cm9rZVdpZHRoKHQpe3RoaXMuX3N0cm9rZVdpZHRoPW5IKHQpfWdldCB2YWx1ZSgpe3JldHVybiJkZXRlcm1pbmF0ZSI9PT10aGlzLm1vZGU/dGhpcy5fdmFsdWU6MH1zZXQgdmFsdWUodCl7dGhpcy5fdmFsdWU9TWF0aC5tYXgoMCxNYXRoLm1pbigxMDAsbkgodCkpKX1uZ09uSW5pdCgpe2NvbnN0IHQ9dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O3RoaXMuX3N0eWxlUm9vdD1DSCh0KXx8dGhpcy5fZG9jdW1lbnQuaGVhZCx0aGlzLl9hdHRhY2hTdHlsZU5vZGUoKTt0LmNsYXNzTGlzdC5hZGQoYG1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUke3RoaXMuX2ZhbGxiYWNrQW5pbWF0aW9uPyItZmFsbGJhY2siOiIifS1hbmltYXRpb25gKX1fZ2V0Q2lyY2xlUmFkaXVzKCl7cmV0dXJuKHRoaXMuZGlhbWV0ZXItMTApLzJ9X2dldFZpZXdCb3goKXtjb25zdCB0PTIqdGhpcy5fZ2V0Q2lyY2xlUmFkaXVzKCkrdGhpcy5zdHJva2VXaWR0aDtyZXR1cm5gMCAwICR7dH0gJHt0fWB9X2dldFN0cm9rZUNpcmN1bWZlcmVuY2UoKXtyZXR1cm4gMipNYXRoLlBJKnRoaXMuX2dldENpcmNsZVJhZGl1cygpfV9nZXRTdHJva2VEYXNoT2Zmc2V0KCl7cmV0dXJuImRldGVybWluYXRlIj09PXRoaXMubW9kZT90aGlzLl9nZXRTdHJva2VDaXJjdW1mZXJlbmNlKCkqKDEwMC10aGlzLl92YWx1ZSkvMTAwOnRoaXMuX2ZhbGxiYWNrQW5pbWF0aW9uJiYiaW5kZXRlcm1pbmF0ZSI9PT10aGlzLm1vZGU/LjIqdGhpcy5fZ2V0U3Ryb2tlQ2lyY3VtZmVyZW5jZSgpOm51bGx9X2dldENpcmNsZVN0cm9rZVdpZHRoKCl7cmV0dXJuIHRoaXMuc3Ryb2tlV2lkdGgvdGhpcy5kaWFtZXRlcioxMDB9X2F0dGFjaFN0eWxlTm9kZSgpe2NvbnN0IHQ9dGhpcy5fc3R5bGVSb290LGU9dGhpcy5fZGlhbWV0ZXIsbj1pMi5fZGlhbWV0ZXJzO2xldCBvPW4uZ2V0KHQpO2lmKCFvfHwhby5oYXMoZSkpe2NvbnN0IGk9dGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtpLnNldEF0dHJpYnV0ZSgibWF0LXNwaW5uZXItYW5pbWF0aW9uIix0aGlzLl9zcGlubmVyQW5pbWF0aW9uTGFiZWwpLGkudGV4dENvbnRlbnQ9dGhpcy5fZ2V0QW5pbWF0aW9uVGV4dCgpLHQuYXBwZW5kQ2hpbGQoaSksb3x8KG89bmV3IFNldCxuLnNldCh0LG8pKSxvLmFkZChlKX19X2dldEFuaW1hdGlvblRleHQoKXtjb25zdCB0PXRoaXMuX2dldFN0cm9rZUNpcmN1bWZlcmVuY2UoKTtyZXR1cm4gbzIucmVwbGFjZSgvU1RBUlRfVkFMVUUvZywiIisuOTUqdCkucmVwbGFjZSgvRU5EX1ZBTFVFL2csIiIrLjIqdCkucmVwbGFjZSgvRElBTUVURVIvZyxgJHt0aGlzLl9zcGlubmVyQW5pbWF0aW9uTGFiZWx9YCl9X2dldFNwaW5uZXJBbmltYXRpb25MYWJlbCgpe3JldHVybiB0aGlzLmRpYW1ldGVyLnRvU3RyaW5nKCkucmVwbGFjZSgiLiIsIl8iKX19aTIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGkyKShnZihLaCksZ2YoY0gpLGdmKHNNLDgpLGdmKGNrLDgpLGdmKGUyKSl9LGkyLsm1Y21wPXNvKHt0eXBlOmkyLHNlbGVjdG9yczpbWyJtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciJdXSxob3N0QXR0cnM6WyJyb2xlIiwicHJvZ3Jlc3NiYXIiLCJ0YWJpbmRleCIsIi0xIiwxLCJtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciJdLGhvc3RWYXJzOjEwLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiYoeW0oImFyaWEtdmFsdWVtaW4iLCJkZXRlcm1pbmF0ZSI9PT1uLm1vZGU/MDpudWxsKSgiYXJpYS12YWx1ZW1heCIsImRldGVybWluYXRlIj09PW4ubW9kZT8xMDA6bnVsbCkoImFyaWEtdmFsdWVub3ciLCJkZXRlcm1pbmF0ZSI9PT1uLm1vZGU/bi52YWx1ZTpudWxsKSgibW9kZSIsbi5tb2RlKSxsdSgid2lkdGgiLG4uZGlhbWV0ZXIsInB4IikoImhlaWdodCIsbi5kaWFtZXRlciwicHgiKSxjdSgiX21hdC1hbmltYXRpb24tbm9vcGFibGUiLG4uX25vb3BBbmltYXRpb25zKSl9LGlucHV0czp7Y29sb3I6ImNvbG9yIixtb2RlOiJtb2RlIixkaWFtZXRlcjoiZGlhbWV0ZXIiLHN0cm9rZVdpZHRoOiJzdHJva2VXaWR0aCIsdmFsdWU6InZhbHVlIn0sZXhwb3J0QXM6WyJtYXRQcm9ncmVzc1NwaW5uZXIiXSxmZWF0dXJlczpbUXBdLGRlY2xzOjMsdmFyczo4LGNvbnN0czpbWyJwcmVzZXJ2ZUFzcGVjdFJhdGlvIiwieE1pZFlNaWQgbWVldCIsImZvY3VzYWJsZSIsImZhbHNlIiwiYXJpYS1oaWRkZW4iLCJ0cnVlIiwzLCJuZ1N3aXRjaCJdLFsiY3giLCI1MCUiLCJjeSIsIjUwJSIsMywiYW5pbWF0aW9uLW5hbWUiLCJzdHJva2UtZGFzaG9mZnNldCIsInN0cm9rZS1kYXNoYXJyYXkiLCJzdHJva2Utd2lkdGgiLDQsIm5nU3dpdGNoQ2FzZSJdLFsiY3giLCI1MCUiLCJjeSIsIjUwJSIsMywic3Ryb2tlLWRhc2hvZmZzZXQiLCJzdHJva2UtZGFzaGFycmF5Iiwic3Ryb2tlLXdpZHRoIiw0LCJuZ1N3aXRjaENhc2UiXSxbImN4IiwiNTAlIiwiY3kiLCI1MCUiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKG9hKCksQ2YoMCwic3ZnIiwwKSxIbSgxLFgzLDEsOSwiY2lyY2xlIiwxKSxIbSgyLEszLDEsNywiY2lyY2xlIiwyKSxNZigpKSwyJmUmJihsdSgid2lkdGgiLG4uZGlhbWV0ZXIsInB4IikoImhlaWdodCIsbi5kaWFtZXRlciwicHgiKSxiZigibmdTd2l0Y2giLCJpbmRldGVybWluYXRlIj09PW4ubW9kZSkseW0oInZpZXdCb3giLG4uX2dldFZpZXdCb3goKSksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsITApLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLCExKSl9LGRpcmVjdGl2ZXM6W0R2LFJ2XSxzdHlsZXM6WyQzXSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSxpMi5fZGlhbWV0ZXJzPW5ldyBXZWFrTWFwLGkyLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOmNIfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbZTJdfV19XSxpMi5wcm9wRGVjb3JhdG9ycz17ZGlhbWV0ZXI6W3t0eXBlOlJffV0sc3Ryb2tlV2lkdGg6W3t0eXBlOlJffV0sbW9kZTpbe3R5cGU6Ul99XSx2YWx1ZTpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihpMixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciIsZXhwb3J0QXM6Im1hdFByb2dyZXNzU3Bpbm5lciIsaG9zdDp7cm9sZToicHJvZ3Jlc3NiYXIiLGNsYXNzOiJtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciIsdGFiaW5kZXg6Ii0xIiwiW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSI6Il9ub29wQW5pbWF0aW9ucyIsIltzdHlsZS53aWR0aC5weF0iOiJkaWFtZXRlciIsIltzdHlsZS5oZWlnaHQucHhdIjoiZGlhbWV0ZXIiLCJbYXR0ci5hcmlhLXZhbHVlbWluXSI6J21vZGUgPT09ICJkZXRlcm1pbmF0ZSIgPyAwIDogbnVsbCcsIlthdHRyLmFyaWEtdmFsdWVtYXhdIjonbW9kZSA9PT0gImRldGVybWluYXRlIiA/IDEwMCA6IG51bGwnLCJbYXR0ci5hcmlhLXZhbHVlbm93XSI6J21vZGUgPT09ICJkZXRlcm1pbmF0ZSIgPyB2YWx1ZSA6IG51bGwnLCJbYXR0ci5tb2RlXSI6Im1vZGUifSxpbnB1dHM6WyJjb2xvciJdLHRlbXBsYXRlOidceDNjIS0tXG4gIHByZXNlcnZlQXNwZWN0UmF0aW8gb2YgeE1pZFlNaWQgbWVldCBhcyB0aGUgY2VudGVyIG9mIHRoZSB2aWV3cG9ydCBpcyB0aGUgY2lyY2xlXCdzXG4gIGNlbnRlci4gVGhlIGNlbnRlciBvZiB0aGUgY2lyY2xlIHdpbGwgcmVtYWluIGF0IHRoZSBjZW50ZXIgb2YgdGhlIG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gIGVsZW1lbnQgY29udGFpbmluZyB0aGUgU1ZHLiBgZm9jdXNhYmxlPSJmYWxzZSJgIHByZXZlbnRzIElFIGZyb20gYWxsb3dpbmcgdGhlIHVzZXIgdG9cbiAgdGFiIGludG8gdGhlIFNWRyBlbGVtZW50LlxuLS1ceDNlXG5ceDNjIS0tXG4gIEFsbCBjaGlsZHJlbiBuZWVkIHRvIGJlIGhpZGRlbiBmb3Igc2NyZWVuIHJlYWRlcnMgaW4gb3JkZXIgdG8gc3VwcG9ydCBDaHJvbWVWb3guXG4gIE1vcmUgY29udGV4dCBpbiB0aGUgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzIyMTY1LlxuLS1ceDNlXG48c3ZnXG4gIFtzdHlsZS53aWR0aC5weF09ImRpYW1ldGVyIlxuICBbc3R5bGUuaGVpZ2h0LnB4XT0iZGlhbWV0ZXIiXG4gIFthdHRyLnZpZXdCb3hdPSJfZ2V0Vmlld0JveCgpIlxuICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IlxuICBmb2N1c2FibGU9ImZhbHNlIlxuICBbbmdTd2l0Y2hdPSJtb2RlID09PSBcJ2luZGV0ZXJtaW5hdGVcJyJcbiAgYXJpYS1oaWRkZW49InRydWUiPlxuXG4gIFx4M2MhLS1cbiAgICBUZWNobmljYWxseSB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUgYGNpcmNsZWAgZWxlbWVudCwgaG93ZXZlciBTYWZhcmkgaGFzIGFuIGlzc3VlIHRoYXQgYnJlYWtzXG4gICAgdGhlIFNWRyByZW5kZXJpbmcgaW4gZGV0ZXJtaW5hdGUgbW9kZSwgYWZ0ZXIgc3dpdGNoaW5nIGJldHdlZW4gaW5kZXRlcm1pbmF0ZSBhbmQgZGV0ZXJtaW5hdGUuXG4gICAgVXNpbmcgYSBkaWZmZXJlbnQgZWxlbWVudCBhdm9pZHMgdGhlIGlzc3VlLiBBbiBhbHRlcm5hdGl2ZSB0byB0aGlzIGlzIGFkZGluZyBgZGlzcGxheTogbm9uZWBcbiAgICBmb3IgYSBzcGxpdCBzZWNvbmQgYW5kIHRoZW4gcmVtb3ZpbmcgaXQgd2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiBtb2RlcywgYnV0IGl0XCdzIGhhcmQgdG8ga25vd1xuICAgIGZvciBob3cgbG9uZyB0byBoaWRlIHRoZSBlbGVtZW50IGFuZCBpdCBjYW4gY2F1c2UgdGhlIFVJIHRvIGJsaW5rLlxuICAtLVx4M2VcbiAgPGNpcmNsZVxuICAgICpuZ1N3aXRjaENhc2U9InRydWUiXG4gICAgY3g9IjUwJSJcbiAgICBjeT0iNTAlIlxuICAgIFthdHRyLnJdPSJfZ2V0Q2lyY2xlUmFkaXVzKCkiXG4gICAgW3N0eWxlLmFuaW1hdGlvbi1uYW1lXT0iXCdtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1zdHJva2Utcm90YXRlLVwnICsgX3NwaW5uZXJBbmltYXRpb25MYWJlbCJcbiAgICBbc3R5bGUuc3Ryb2tlLWRhc2hvZmZzZXQucHhdPSJfZ2V0U3Ryb2tlRGFzaE9mZnNldCgpIlxuICAgIFtzdHlsZS5zdHJva2UtZGFzaGFycmF5LnB4XT0iX2dldFN0cm9rZUNpcmN1bWZlcmVuY2UoKSJcbiAgICBbc3R5bGUuc3Ryb2tlLXdpZHRoLiVdPSJfZ2V0Q2lyY2xlU3Ryb2tlV2lkdGgoKSI+PC9jaXJjbGU+XG5cbiAgPGNpcmNsZVxuICAgICpuZ1N3aXRjaENhc2U9ImZhbHNlIlxuICAgIGN4PSI1MCUiXG4gICAgY3k9IjUwJSJcbiAgICBbYXR0ci5yXT0iX2dldENpcmNsZVJhZGl1cygpIlxuICAgIFtzdHlsZS5zdHJva2UtZGFzaG9mZnNldC5weF09Il9nZXRTdHJva2VEYXNoT2Zmc2V0KCkiXG4gICAgW3N0eWxlLnN0cm9rZS1kYXNoYXJyYXkucHhdPSJfZ2V0U3Ryb2tlQ2lyY3VtZmVyZW5jZSgpIlxuICAgIFtzdHlsZS5zdHJva2Utd2lkdGguJV09Il9nZXRDaXJjbGVTdHJva2VXaWR0aCgpIj48L2NpcmNsZT5cbjwvc3ZnPlxuJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLGVuY2Fwc3VsYXRpb246V24uTm9uZSxzdHlsZXM6WyIubWF0LXByb2dyZXNzLXNwaW5uZXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Lm1hdC1wcm9ncmVzcy1zcGlubmVyIHN2Z3twb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dG9wOjA7bGVmdDowO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO292ZXJmbG93OnZpc2libGV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZXtmaWxsOnRyYW5zcGFyZW50O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zaXRpb246c3Ryb2tlLWRhc2hvZmZzZXQgMjI1bXMgbGluZWFyfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBjaXJjbGV7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZXtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZTpDYW52YXNUZXh0fS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3thbmltYXRpb246bWF0LXByb2dyZXNzLXNwaW5uZXItbGluZWFyLXJvdGF0ZSAyMDAwbXMgbGluZWFyIGluZmluaXRlfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3t0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uW21vZGU9aW5kZXRlcm1pbmF0ZV0gY2lyY2xle3RyYW5zaXRpb24tcHJvcGVydHk6c3Ryb2tlO2FuaW1hdGlvbi1kdXJhdGlvbjo0MDAwbXM7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSk7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBjaXJjbGV7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWZhbGxiYWNrLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3thbmltYXRpb246bWF0LXByb2dyZXNzLXNwaW5uZXItc3Ryb2tlLXJvdGF0ZS1mYWxsYmFjayAxMDAwMG1zIGN1YmljLWJlemllcigwLjg3LCAwLjAzLCAwLjMzLCAxKSBpbmZpbml0ZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1mYWxsYmFjay1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBzdmd7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWZhbGxiYWNrLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIGNpcmNsZXt0cmFuc2l0aW9uLXByb3BlcnR5OnN0cm9rZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1mYWxsYmFjay1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBjaXJjbGV7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfUBrZXlmcmFtZXMgbWF0LXByb2dyZXNzLXNwaW5uZXItbGluZWFyLXJvdGF0ZXswJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIG1hdC1wcm9ncmVzcy1zcGlubmVyLXN0cm9rZS1yb3RhdGUtMTAwezAle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDApfTEyLjUle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlKDApfTEyLjUwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSg3Mi41ZGVnKX0yNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZykgcm90YXRlKDcyLjVkZWcpfTI1LjAwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9MzcuNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0zNy41MDAxJXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMTYxLjVkZWcpfTUwJXtzdHJva2UtZGFzaG9mZnNldDoyNjguNjA2MTcxNTc1cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMTYxLjVkZWcpfTUwLjAwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9NjIuNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX02Mi41MDAxJXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMjUxLjVkZWcpfTc1JXtzdHJva2UtZGFzaG9mZnNldDoyNjguNjA2MTcxNTc1cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMjUxLjVkZWcpfTc1LjAwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX04Ny41JXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9ODcuNTAwMSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZykgcm90YXRlKDM0MS41ZGVnKX0xMDAle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSgzNDEuNWRlZyl9fUBrZXlmcmFtZXMgbWF0LXByb2dyZXNzLXNwaW5uZXItc3Ryb2tlLXJvdGF0ZS1mYWxsYmFja3swJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTI1JXt0cmFuc2Zvcm06cm90YXRlKDExNzBkZWcpfTUwJXt0cmFuc2Zvcm06cm90YXRlKDIzNDBkZWcpfTc1JXt0cmFuc2Zvcm06cm90YXRlKDM1MTBkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSg0NjgwZGVnKX19XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2UyXX1dfV19KSx7bW9kZTpbe3R5cGU6Ul99XSxkaWFtZXRlcjpbe3R5cGU6Ul99XSxzdHJva2VXaWR0aDpbe3R5cGU6Ul99XSx2YWx1ZTpbe3R5cGU6Ul99XX0pO2NsYXNzIGEyIGV4dGVuZHMgaTJ7Y29uc3RydWN0b3IodCxlLG4sbyxpKXtzdXBlcih0LGUsbixvLGkpLHRoaXMubW9kZT0iaW5kZXRlcm1pbmF0ZSJ9fWEyLsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxhMikoZ2YoS2gpLGdmKGNIKSxnZihzTSw4KSxnZihjayw4KSxnZihlMikpfSxhMi7JtWNtcD1zbyh7dHlwZTphMixzZWxlY3RvcnM6W1sibWF0LXNwaW5uZXIiXV0saG9zdEF0dHJzOlsicm9sZSIsInByb2dyZXNzYmFyIiwibW9kZSIsImluZGV0ZXJtaW5hdGUiLDEsIm1hdC1zcGlubmVyIiwibWF0LXByb2dyZXNzLXNwaW5uZXIiXSxob3N0VmFyczo2LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiYobHUoIndpZHRoIixuLmRpYW1ldGVyLCJweCIpKCJoZWlnaHQiLG4uZGlhbWV0ZXIsInB4IiksY3UoIl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIixuLl9ub29wQW5pbWF0aW9ucykpfSxpbnB1dHM6e2NvbG9yOiJjb2xvciJ9LGZlYXR1cmVzOltRcF0sZGVjbHM6Myx2YXJzOjgsY29uc3RzOltbInByZXNlcnZlQXNwZWN0UmF0aW8iLCJ4TWlkWU1pZCBtZWV0IiwiZm9jdXNhYmxlIiwiZmFsc2UiLCJhcmlhLWhpZGRlbiIsInRydWUiLDMsIm5nU3dpdGNoIl0sWyJjeCIsIjUwJSIsImN5IiwiNTAlIiwzLCJhbmltYXRpb24tbmFtZSIsInN0cm9rZS1kYXNob2Zmc2V0Iiwic3Ryb2tlLWRhc2hhcnJheSIsInN0cm9rZS13aWR0aCIsNCwibmdTd2l0Y2hDYXNlIl0sWyJjeCIsIjUwJSIsImN5IiwiNTAlIiwzLCJzdHJva2UtZGFzaG9mZnNldCIsInN0cm9rZS1kYXNoYXJyYXkiLCJzdHJva2Utd2lkdGgiLDQsIm5nU3dpdGNoQ2FzZSJdLFsiY3giLCI1MCUiLCJjeSIsIjUwJSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYob2EoKSxDZigwLCJzdmciLDApLEhtKDEsSjMsMSw5LCJjaXJjbGUiLDEpLEhtKDIsUTMsMSw3LCJjaXJjbGUiLDIpLE1mKCkpLDImZSYmKGx1KCJ3aWR0aCIsbi5kaWFtZXRlciwicHgiKSgiaGVpZ2h0IixuLmRpYW1ldGVyLCJweCIpLGJmKCJuZ1N3aXRjaCIsImluZGV0ZXJtaW5hdGUiPT09bi5tb2RlKSx5bSgidmlld0JveCIsbi5fZ2V0Vmlld0JveCgpKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIiwhMCksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsITEpKX0sZGlyZWN0aXZlczpbRHYsUnZdLHN0eWxlczpbJDNdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLGEyLmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOmNIfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W3NNXX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbZTJdfV19XSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGEyLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1zcGlubmVyIixob3N0Ontyb2xlOiJwcm9ncmVzc2JhciIsbW9kZToiaW5kZXRlcm1pbmF0ZSIsY2xhc3M6Im1hdC1zcGlubmVyIG1hdC1wcm9ncmVzcy1zcGlubmVyIiwiW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSI6Il9ub29wQW5pbWF0aW9ucyIsIltzdHlsZS53aWR0aC5weF0iOiJkaWFtZXRlciIsIltzdHlsZS5oZWlnaHQucHhdIjoiZGlhbWV0ZXIifSxpbnB1dHM6WyJjb2xvciJdLHRlbXBsYXRlOidceDNjIS0tXG4gIHByZXNlcnZlQXNwZWN0UmF0aW8gb2YgeE1pZFlNaWQgbWVldCBhcyB0aGUgY2VudGVyIG9mIHRoZSB2aWV3cG9ydCBpcyB0aGUgY2lyY2xlXCdzXG4gIGNlbnRlci4gVGhlIGNlbnRlciBvZiB0aGUgY2lyY2xlIHdpbGwgcmVtYWluIGF0IHRoZSBjZW50ZXIgb2YgdGhlIG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gIGVsZW1lbnQgY29udGFpbmluZyB0aGUgU1ZHLiBgZm9jdXNhYmxlPSJmYWxzZSJgIHByZXZlbnRzIElFIGZyb20gYWxsb3dpbmcgdGhlIHVzZXIgdG9cbiAgdGFiIGludG8gdGhlIFNWRyBlbGVtZW50LlxuLS1ceDNlXG5ceDNjIS0tXG4gIEFsbCBjaGlsZHJlbiBuZWVkIHRvIGJlIGhpZGRlbiBmb3Igc2NyZWVuIHJlYWRlcnMgaW4gb3JkZXIgdG8gc3VwcG9ydCBDaHJvbWVWb3guXG4gIE1vcmUgY29udGV4dCBpbiB0aGUgaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzIyMTY1LlxuLS1ceDNlXG48c3ZnXG4gIFtzdHlsZS53aWR0aC5weF09ImRpYW1ldGVyIlxuICBbc3R5bGUuaGVpZ2h0LnB4XT0iZGlhbWV0ZXIiXG4gIFthdHRyLnZpZXdCb3hdPSJfZ2V0Vmlld0JveCgpIlxuICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0IlxuICBmb2N1c2FibGU9ImZhbHNlIlxuICBbbmdTd2l0Y2hdPSJtb2RlID09PSBcJ2luZGV0ZXJtaW5hdGVcJyJcbiAgYXJpYS1oaWRkZW49InRydWUiPlxuXG4gIFx4M2MhLS1cbiAgICBUZWNobmljYWxseSB3ZSBjYW4gcmV1c2UgdGhlIHNhbWUgYGNpcmNsZWAgZWxlbWVudCwgaG93ZXZlciBTYWZhcmkgaGFzIGFuIGlzc3VlIHRoYXQgYnJlYWtzXG4gICAgdGhlIFNWRyByZW5kZXJpbmcgaW4gZGV0ZXJtaW5hdGUgbW9kZSwgYWZ0ZXIgc3dpdGNoaW5nIGJldHdlZW4gaW5kZXRlcm1pbmF0ZSBhbmQgZGV0ZXJtaW5hdGUuXG4gICAgVXNpbmcgYSBkaWZmZXJlbnQgZWxlbWVudCBhdm9pZHMgdGhlIGlzc3VlLiBBbiBhbHRlcm5hdGl2ZSB0byB0aGlzIGlzIGFkZGluZyBgZGlzcGxheTogbm9uZWBcbiAgICBmb3IgYSBzcGxpdCBzZWNvbmQgYW5kIHRoZW4gcmVtb3ZpbmcgaXQgd2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiBtb2RlcywgYnV0IGl0XCdzIGhhcmQgdG8ga25vd1xuICAgIGZvciBob3cgbG9uZyB0byBoaWRlIHRoZSBlbGVtZW50IGFuZCBpdCBjYW4gY2F1c2UgdGhlIFVJIHRvIGJsaW5rLlxuICAtLVx4M2VcbiAgPGNpcmNsZVxuICAgICpuZ1N3aXRjaENhc2U9InRydWUiXG4gICAgY3g9IjUwJSJcbiAgICBjeT0iNTAlIlxuICAgIFthdHRyLnJdPSJfZ2V0Q2lyY2xlUmFkaXVzKCkiXG4gICAgW3N0eWxlLmFuaW1hdGlvbi1uYW1lXT0iXCdtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1zdHJva2Utcm90YXRlLVwnICsgX3NwaW5uZXJBbmltYXRpb25MYWJlbCJcbiAgICBbc3R5bGUuc3Ryb2tlLWRhc2hvZmZzZXQucHhdPSJfZ2V0U3Ryb2tlRGFzaE9mZnNldCgpIlxuICAgIFtzdHlsZS5zdHJva2UtZGFzaGFycmF5LnB4XT0iX2dldFN0cm9rZUNpcmN1bWZlcmVuY2UoKSJcbiAgICBbc3R5bGUuc3Ryb2tlLXdpZHRoLiVdPSJfZ2V0Q2lyY2xlU3Ryb2tlV2lkdGgoKSI+PC9jaXJjbGU+XG5cbiAgPGNpcmNsZVxuICAgICpuZ1N3aXRjaENhc2U9ImZhbHNlIlxuICAgIGN4PSI1MCUiXG4gICAgY3k9IjUwJSJcbiAgICBbYXR0ci5yXT0iX2dldENpcmNsZVJhZGl1cygpIlxuICAgIFtzdHlsZS5zdHJva2UtZGFzaG9mZnNldC5weF09Il9nZXRTdHJva2VEYXNoT2Zmc2V0KCkiXG4gICAgW3N0eWxlLnN0cm9rZS1kYXNoYXJyYXkucHhdPSJfZ2V0U3Ryb2tlQ2lyY3VtZmVyZW5jZSgpIlxuICAgIFtzdHlsZS5zdHJva2Utd2lkdGguJV09Il9nZXRDaXJjbGVTdHJva2VXaWR0aCgpIj48L2NpcmNsZT5cbjwvc3ZnPlxuJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLGVuY2Fwc3VsYXRpb246V24uTm9uZSxzdHlsZXM6WyIubWF0LXByb2dyZXNzLXNwaW5uZXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Lm1hdC1wcm9ncmVzcy1zcGlubmVyIHN2Z3twb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dG9wOjA7bGVmdDowO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO292ZXJmbG93OnZpc2libGV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZXtmaWxsOnRyYW5zcGFyZW50O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zaXRpb246c3Ryb2tlLWRhc2hvZmZzZXQgMjI1bXMgbGluZWFyfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lciBjaXJjbGV7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZXtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZTpDYW52YXNUZXh0fS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3thbmltYXRpb246bWF0LXByb2dyZXNzLXNwaW5uZXItbGluZWFyLXJvdGF0ZSAyMDAwbXMgbGluZWFyIGluZmluaXRlfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3t0cmFuc2l0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9Lm1hdC1wcm9ncmVzcy1zcGlubmVyLm1hdC1wcm9ncmVzcy1zcGlubmVyLWluZGV0ZXJtaW5hdGUtYW5pbWF0aW9uW21vZGU9aW5kZXRlcm1pbmF0ZV0gY2lyY2xle3RyYW5zaXRpb24tcHJvcGVydHk6c3Ryb2tlO2FuaW1hdGlvbi1kdXJhdGlvbjo0MDAwbXM7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSk7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBjaXJjbGV7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWZhbGxiYWNrLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIHN2Z3thbmltYXRpb246bWF0LXByb2dyZXNzLXNwaW5uZXItc3Ryb2tlLXJvdGF0ZS1mYWxsYmFjayAxMDAwMG1zIGN1YmljLWJlemllcigwLjg3LCAwLjAzLCAwLjMzLCAxKSBpbmZpbml0ZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1mYWxsYmFjay1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBzdmd7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1pbmRldGVybWluYXRlLWZhbGxiYWNrLWFuaW1hdGlvblttb2RlPWluZGV0ZXJtaW5hdGVdIGNpcmNsZXt0cmFuc2l0aW9uLXByb3BlcnR5OnN0cm9rZX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXByb2dyZXNzLXNwaW5uZXItaW5kZXRlcm1pbmF0ZS1mYWxsYmFjay1hbmltYXRpb25bbW9kZT1pbmRldGVybWluYXRlXSBjaXJjbGV7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfUBrZXlmcmFtZXMgbWF0LXByb2dyZXNzLXNwaW5uZXItbGluZWFyLXJvdGF0ZXswJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIG1hdC1wcm9ncmVzcy1zcGlubmVyLXN0cm9rZS1yb3RhdGUtMTAwezAle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDApfTEyLjUle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlKDApfTEyLjUwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjU2LjU0ODY2NzdweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSg3Mi41ZGVnKX0yNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6MjY4LjYwNjE3MTU3NXB4O3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZykgcm90YXRlKDcyLjVkZWcpfTI1LjAwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9MzcuNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0zNy41MDAxJXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMTYxLjVkZWcpfTUwJXtzdHJva2UtZGFzaG9mZnNldDoyNjguNjA2MTcxNTc1cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMTYxLjVkZWcpfTUwLjAwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9NjIuNSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX02Mi41MDAxJXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMjUxLjVkZWcpfTc1JXtzdHJva2UtZGFzaG9mZnNldDoyNjguNjA2MTcxNTc1cHg7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKSByb3RhdGUoMjUxLjVkZWcpfTc1LjAwMDEle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX04Ny41JXtzdHJva2UtZGFzaG9mZnNldDo1Ni41NDg2Njc3cHg7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyl9ODcuNTAwMSV7c3Ryb2tlLWRhc2hvZmZzZXQ6NTYuNTQ4NjY3N3B4O3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZykgcm90YXRlKDM0MS41ZGVnKX0xMDAle3N0cm9rZS1kYXNob2Zmc2V0OjI2OC42MDYxNzE1NzVweDt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpIHJvdGF0ZSgzNDEuNWRlZyl9fUBrZXlmcmFtZXMgbWF0LXByb2dyZXNzLXNwaW5uZXItc3Ryb2tlLXJvdGF0ZS1mYWxsYmFja3swJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTI1JXt0cmFuc2Zvcm06cm90YXRlKDExNzBkZWcpfTUwJXt0cmFuc2Zvcm06cm90YXRlKDIzNDBkZWcpfTc1JXt0cmFuc2Zvcm06cm90YXRlKDM1MTBkZWcpfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZSg0NjgwZGVnKX19XG4iXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2UyXX1dfV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIHIye31yMi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cjIpfSxyMi7JtW1vZD1mbyh7dHlwZTpyMn0pLHIyLsm1aW5qPURuKHtpbXBvcnRzOltbTkYscnhdLE5GXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocjIsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltORixyeF0sZXhwb3J0czpbaTIsYTIsTkZdLGRlY2xhcmF0aW9uczpbaTIsYTJdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8ocjIse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVybltpMixhMl19LGltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bTkYscnhdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW2kyLGEyLE5GXX19KTtjb25zdCBzMj1bInJlZ2V4U3RyaW5nSW5wdXQiXTtmdW5jdGlvbiBsMih0LGUpe2lmKDEmdCYmKHhmKDApLENmKDEsImxpIiwyMiksUHUoMiksTWYoKSxPZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQ7RGMoMSksYmYoInRpdGxlIix0Lm5hbWUpLERjKDEpLHd1KHQubmFtZSl9fWZ1bmN0aW9uIGMyKHQsZSl7aWYoMSZ0JiYoQ2YoMCwibGkiLDIzKSxDZigxLCJlbSIpLFB1KDIpLF95KDMsIm51bWJlciIpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCkuJGltcGxpY2l0O0RjKDIpLGt1KCJhbmQgIixDeSgzLDEsdC5ydW5zLmxlbmd0aC01KSwiIG1vcmUiKX19ZnVuY3Rpb24gZDIodCxlKXsxJnQmJihDZigwLCJsaSIsMjQpLENmKDEsImVtIiksUHUoMiwiTm8gcnVucyBhcmUgaW4gdGhlIGdyb3VwIiksTWYoKSxNZigpKX1jb25zdCBwMj1mdW5jdGlvbih0KXtyZXR1cm57Ym9yZGVyQ29sb3I6dH19LG0yPWZ1bmN0aW9uKHQpe3JldHVybntiYWNrZ3JvdW5kQ29sb3I6dH19O2Z1bmN0aW9uIGYyKHQsZSl7aWYoMSZ0JiYoQ2YoMCwidWwiLDE2KSxDZigxLCJsaSIpLENmKDIsImxhYmVsIiksdmYoMywic3BhbiIsMTcpLENmKDQsImNvZGUiLDE4KSxQdSg1KSxNZigpLE1mKCksQ2YoNiwidWwiKSxIbSg3LGwyLDMsMiwibmctY29udGFpbmVyIiwxOSksX3koOCwic2xpY2UiKSxIbSg5LGMyLDQsMywibGkiLDIwKSxIbSgxMCxkMiwzLDAsImxpIiwyMSksTWYoKSxNZigpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdDtiZigibmdTdHlsZSIsaXkoMTEscDIsdC5jb2xvcikpLERjKDMpLGJmKCJuZ1N0eWxlIixpeSgxMyxtMix0LmNvbG9yKSksRGMoMSksYmYoInRpdGxlIix0Lmdyb3VwSWQpLERjKDEpLHd1KHQuZ3JvdXBJZCksRGMoMiksYmYoIm5nRm9yT2YiLHZ5KDgsNyx0LnJ1bnMsMCw1KSksRGMoMiksYmYoIm5nSWYiLHQucnVucy5sZW5ndGg+NSksRGMoMSksYmYoIm5nSWYiLDA9PT10LnJ1bnMubGVuZ3RoKX19ZnVuY3Rpb24gdTIodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDE0KSxIbSgxLGYyLDExLDE1LCJ1bCIsMTUpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYygxKSxiZigibmdGb3JPZiIsdC5jb2xvclJ1blBhaXJMaXN0KX19ZnVuY3Rpb24gZzIodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDI1KSxQdSgxLCIgVGhlcmUgYXJlIG5vIHJ1bnMgbWF0Y2hpbmcgdGhlIHJlZ2V4LCAiKSxDZigyLCJjb2RlIiksUHUoMyksTWYoKSxQdSg0LCIuIFBsZWFzZSBjaGVjayBpZiB5b3VyIHJlZ2V4IHN0cmluZyBpcyBjb3JyZWN0LiAiKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoMyksa3UoIi8iLHQucmVnZXhTdHJpbmcsIi8iKX19ZnVuY3Rpb24gaDIodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDEwKSxDZigxLCJoNCIpLFB1KDIsIkNvbG9yIGdyb3VwIHByZXZpZXciKSxNZigpLENmKDMsImRpdiIsMTEpLEhtKDQsdTIsMiwxLCJkaXYiLDEyKSxIbSg1LGcyLDUsMSwibmctdGVtcGxhdGUiLG51bGwsMTMscXkpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PUZtKDYpLGU9emYoKTtEYyg0KSxiZigibmdJZiIsZS5jb2xvclJ1blBhaXJMaXN0Lmxlbmd0aCkoIm5nSWZFbHNlIix0KX19Y2xhc3MgYjJ7Y29uc3RydWN0b3IodCxlKXt0aGlzLmRpYWxvZ1JlZj10LHRoaXMuaG9zdEVsUmVmPWUsdGhpcy5vblNhdmU9bmV3IFN5LHRoaXMucmVnZXhJbnB1dE9uQ2hhbmdlPW5ldyBTeSx0aGlzLnRpbWVPdXRJZD0wfXJlc2V0Rm9jdXMoKXtpZighdGhpcy5ob3N0RWxSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSl7dGhpcy5yZWdleFN0cmluZ0lucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKX19b25FbnRlcih0KXt0aGlzLm9uU2F2ZUNsaWNrKHQpLHRoaXMuZGlhbG9nUmVmLmNsb3NlKCl9b25TYXZlQ2xpY2sodCl7dGhpcy5vblNhdmUuZW1pdCh0KX1maWxsRXhhbXBsZSh0KXt0aGlzLnJlZ2V4U3RyaW5nPXQsdGhpcy5yZWdleElucHV0Q2hhbmdlKHQpfXJlZ2V4SW5wdXRDaGFuZ2UodCl7dGhpcy5yZWdleElucHV0T25DaGFuZ2UuZW1pdCh0KX1oYW5kbGVGb2N1c091dCgpe2NsZWFyVGltZW91dCh0aGlzLnRpbWVPdXRJZCksdGhpcy50aW1lT3V0SWQ9c2V0VGltZW91dCh0aGlzLnJlc2V0Rm9jdXMuYmluZCh0aGlzKSwwKX19YjIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGIyKShnZihWWSksZ2YoS2gpKX0sYjIuybVjbXA9c28oe3R5cGU6YjIsc2VsZWN0b3JzOltbInJlZ2V4LWVkaXQtZGlhbG9nLWNvbXBvbmVudCJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkoczIsNyksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5yZWdleFN0cmluZ0lucHV0PXQuZmlyc3QpfX0saW5wdXRzOntyZWdleFN0cmluZzoicmVnZXhTdHJpbmciLGNvbG9yUnVuUGFpckxpc3Q6ImNvbG9yUnVuUGFpckxpc3QifSxvdXRwdXRzOntvblNhdmU6Im9uU2F2ZSIscmVnZXhJbnB1dE9uQ2hhbmdlOiJyZWdleElucHV0T25DaGFuZ2UifSxkZWNsczozMCx2YXJzOjIsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQ7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe3Q9Z29vZy5nZXRNc2coIkNvbG9yIFJ1bnMgYnkgUmVnZXggUXVlcnkiKX1lbHNlIHQ9JGxvY2FsaXplYDpDb2xvciBSdW5zIGJ5IFJlZ2V4IFF1ZXJ54pCfMTVlZDlmNmZkMmQ0OTA2YTQ4MDNmYzEyNTVkZTNjNWRiMmM1NjUzMOKQnzkwODg5ODUxMTM5NjAzMTI4MDg6Q29sb3IgUnVucyBieSBSZWdleCBRdWVyeWA7cmV0dXJuW1sxLCJyZWdleC1lZGl0LWRpYWxvZyIsMywiZm9jdXNvdXQiXSxbIm1hdC1kaWFsb2ctdGl0bGUiLCIiXSxbIm1hdElucHV0IiwiIiwiYXJpYS1sYWJlbCIsdCwiY2RrRm9jdXNJbml0aWFsIiwiIiwzLCJ2YWx1ZSIsImtleWRvd24uZW50ZXIiLCJpbnB1dCJdLFsicmVnZXhTdHJpbmdJbnB1dCIsIiJdLFsxLCJleGFtcGxlLWRldGFpbHMiXSxbMywiY2xpY2siXSxbImNsYXNzIiwiZ3JvdXAtY29udGFpbmVyIiw0LCJuZ0lmIl0sWyJtYXQtZGlhbG9nLWFjdGlvbnMiLCIiLCJhbGlnbiIsImVuZCJdLFsibWF0LWJ1dHRvbiIsIiIsIm1hdC1kaWFsb2ctY2xvc2UiLCIiXSxbIm1hdC1yYWlzZWQtYnV0dG9uIiwiIiwiY29sb3IiLCJwcmltYXJ5IiwibWF0LWRpYWxvZy1jbG9zZSIsIiIsMywiY2xpY2siXSxbMSwiZ3JvdXAtY29udGFpbmVyIl0sWzEsImdyb3VwaW5nLXByZXZpZXciXSxbImNsYXNzIiwibWF0Y2gtY29udGFpbmVyIiw0LCJuZ0lmIiwibmdJZkVsc2UiXSxbImVtcHR5IiwiIl0sWzEsIm1hdGNoLWNvbnRhaW5lciJdLFsiY2xhc3MiLCJncm91cCIsMywibmdTdHlsZSIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzEsImdyb3VwIiwzLCJuZ1N0eWxlIl0sWzEsImNvbG9yLXN3YXRjaCIsMywibmdTdHlsZSJdLFsxLCJncm91cC1pZCIsMywidGl0bGUiXSxbNCwibmdGb3IiLCJuZ0Zvck9mIl0sWyJjbGFzcyIsIm1vcmUiLDQsIm5nSWYiXSxbImNsYXNzIiwibm8tbWF0Y2giLDQsIm5nSWYiXSxbMywidGl0bGUiXSxbMSwibW9yZSJdLFsxLCJuby1tYXRjaCJdLFsxLCJ3YXJuaW5nIl1dfSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlKXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwwKSxSZigiZm9jdXNvdXQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uaGFuZGxlRm9jdXNPdXQoKX0pKSxDZigxLCJoMSIsMSksUHUoMiwiQ29sb3IgcnVucyBieSByZWdleCIpLE1mKCksQ2YoMywibWF0LWRpYWxvZy1jb250ZW50IiksQ2YoNCwicCIpLFB1KDUsIkVudGVyIGEgcmVnZXggd2l0aCBjYXB0dXJpbmcgZ3JvdXBzIHRvIG1hdGNoIGFnYWluc3QgcnVuIG5hbWVzOiIpLE1mKCksQ2YoNiwibWF0LWZvcm0tZmllbGQiKSxDZig3LCJpbnB1dCIsMiwzKSxSZigia2V5ZG93bi5lbnRlciIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25FbnRlcihlLnRhcmdldC52YWx1ZSl9KSkoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5yZWdleElucHV0Q2hhbmdlKGUudGFyZ2V0LnZhbHVlKX0pKSxNZigpLE1mKCksTWYoKSxDZig5LCJkaXYiLDQpLENmKDEwLCJwIiksUHUoMTEsJyBFYWNoIG1hdGNoaW5nIHJ1biB3aWxsIGJlIGFzc2lnbmVkIGEgY29sb3IgYmFzZWQgb24gdGhlICJrZXkiIGZvcm1lZCBieSBpdHMgbWF0Y2hlcyB0byB0aGUgY2FwdHVyaW5nIGdyb3Vwcy4gJyksdmYoMTIsImJyIiksQ2YoMTMsImJ1dHRvbiIsNSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLmZpbGxFeGFtcGxlKCIodHJhaW58ZXZhbCkiKX0pKSxQdSgxNCwiIFRyeSAiKSxDZigxNSwiY29kZSIpLFB1KDE2LCIodHJhaW58ZXZhbCkiKSxNZigpLE1mKCksUHUoMTcsIiB0byBhc3NpZ24gYWxsIHJ1bnMgY29udGFpbmluZyAiKSxDZigxOCwiY29kZSIpLFB1KDE5LCJ0cmFpbiIpLE1mKCksUHUoMjAsIiB0byBvbmUgY29sb3IgYW5kIGFsbCBydW5zIGNvbnRhaW5pbmcgIiksQ2YoMjEsImNvZGUiKSxQdSgyMiwiZXZhbCIpLE1mKCksUHUoMjMsIiB0byBhbm90aGVyIGNvbG9yLiAiKSxNZigpLE1mKCksSG0oMjQsaDIsNywyLCJkaXYiLDYpLENmKDI1LCJkaXYiLDcpLENmKDI2LCJidXR0b24iLDgpLFB1KDI3LCJDYW5jZWwiKSxNZigpLENmKDI4LCJidXR0b24iLDkpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtjb25zdCBvPUZtKDgpO3JldHVybiBuLm9uU2F2ZUNsaWNrKG8udmFsdWUpfSkpLFB1KDI5LCIgU2F2ZSAiKSxNZigpLE1mKCksTWYoKX0yJmUmJihEYyg3KSxMZigidmFsdWUiLG4ucmVnZXhTdHJpbmcpLERjKDE3KSxiZigibmdJZiIsbi5yZWdleFN0cmluZykpfSxkaXJlY3RpdmVzOltRWSwkWSxfVSxBWixQdix0cSxOTCxKWSx4dix6dl0scGlwZXM6W2l4LCR2XSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0uZXhhbXBsZS1kZXRhaWxzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtjb2xvcjojMTk3NmQyfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5leGFtcGxlLWRldGFpbHNbX25nY29udGVudC0lQ09NUCVdICAgYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmV4YW1wbGUtZGV0YWlsc1tfbmdjb250ZW50LSVDT01QJV0gICBidXR0b25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOiM0MmE1ZjV9LmV4YW1wbGUtZGV0YWlsc1tfbmdjb250ZW50LSVDT01QJV0gICBidXR0b25bX25nY29udGVudC0lQ09NUCVdOnZpc2l0ZWR7Y29sb3I6IzdiMWZhMn1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZXhhbXBsZS1kZXRhaWxzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV06dmlzaXRlZCwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmV4YW1wbGUtZGV0YWlsc1tfbmdjb250ZW50LSVDT01QJV0gICBidXR0b25bX25nY29udGVudC0lQ09NUCVdOnZpc2l0ZWR7Y29sb3I6I2JhNjhjOH0uZ3JvdXAtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MTBweCAwfS5ncm91cC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi1ib3R0b206MTBweH0uZ3JvdXAtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC53YXJuaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2ZvbnQtc2l6ZTouOWVtfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdICAgLndhcm5pbmdbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC53YXJuaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0uZ3JvdXBpbmctcHJldmlld1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO21heC1oZWlnaHQ6NTB2aDtvdmVyZmxvdy15OmF1dG87cGFkZGluZzoyMHB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cGluZy1wcmV2aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwaW5nLXByZXZpZXdbX25nY29udGVudC0lQ09NUCVde2JvcmRlcjoxcHggc29saWQgIzU1NX0ubWF0Y2gtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2Rpc3BsYXk6Z3JpZDtmbGV4LXdyYXA6d3JhcDtnYXA6MTBweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsIG1pbm1heCg1MCUsIDFmcikpfS5jb2xvci1zd2F0Y2hbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6MCAwIDJweCAjMDAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNXB4O3dpZHRoOjE1cHh9dWxbX25nY29udGVudC0lQ09NUCVde2xpc3Qtc3R5bGUtdHlwZTpub25lO3BhZGRpbmc6MH1tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17d2lkdGg6MTAwJX0uZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2JvcmRlcjoxcHggc29saWQgI2ViZWJlYjtib3JkZXItcmFkaXVzOjNweDttYXJnaW46MDtwYWRkaW5nOjEwcHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MXB4IHNvbGlkICM1NTV9Lmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWJlYmViO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmdyaWQ7Z2FwOjEwcHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1heC1jb250ZW50IGF1dG87cGFkZGluZzo1cHggMH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXBbX25nY29udGVudC0lQ09NUCVdICAgbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXBbX25nY29udGVudC0lQ09NUCVdICAgbGFiZWxbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9Lmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5ncm91cC1pZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOi45NWVtO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0uZ3JvdXBbX25nY29udGVudC0lQ09NUCVdICAgdWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTouOWVtfS5ncm91cFtfbmdjb250ZW50LSVDT01QJV0gICB1bFtfbmdjb250ZW50LSVDT01QJV0gICBsaVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5ncm91cFtfbmdjb250ZW50LSVDT01QJV0gICAubW9yZVtfbmdjb250ZW50LSVDT01QJV0sIC5ncm91cFtfbmdjb250ZW50LSVDT01QJV0gICAubm8tbWF0Y2hbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiM2MTYxNjE7bWFyZ2luLXRvcDo1cHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tb3JlW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tb3JlW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXBbX25nY29udGVudC0lQ09NUCVdICAgLm5vLW1hdGNoW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5uby1tYXRjaFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGIyLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InJlZ2V4LWVkaXQtZGlhbG9nLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6InJlZ2V4X2VkaXRfZGlhbG9nLm5nLmh0bWwiLHN0eWxlVXJsczpbInJlZ2V4X2VkaXRfZGlhbG9nX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6Vll9LHt0eXBlOktofV19KSx7cmVnZXhTdHJpbmc6W3t0eXBlOlJffV0sY29sb3JSdW5QYWlyTGlzdDpbe3R5cGU6Ul99XSxvblNhdmU6W3t0eXBlOkVffV0scmVnZXhJbnB1dE9uQ2hhbmdlOlt7dHlwZTpFX31dLHJlZ2V4U3RyaW5nSW5wdXQ6W3t0eXBlOmFyLGFyZ3M6WyJyZWdleFN0cmluZ0lucHV0Iix7c3RhdGljOiEwfV19XX0pO2NsYXNzIHkye2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLnN0b3JlPXQsdGhpcy5kaWFsb2dSZWY9ZSx0aGlzLnRlbnRhdGl2ZVJlZ2V4U3RyaW5nJD1uZXcgQix0aGlzLmdyb3VwQnlSZWdleFN0cmluZyQ9b2UoKCgpPT5wZSh0aGlzLnN0b3JlLnNlbGVjdChySSkucGlwZSh2ZSgxKSksdGhpcy50ZW50YXRpdmVSZWdleFN0cmluZyQpKSkucGlwZShCZSgiIikpLHRoaXMuY29sb3JSdW5QYWlyTGlzdCQ9b2UoKCgpPT50aGlzLmdyb3VwQnlSZWdleFN0cmluZyQucGlwZShDZSg1MDApLHVlKCh0PT57dHJ5e2NvbnN0IGU9bmV3IFJlZ0V4cCh0KTtyZXR1cm4gQm9vbGVhbihlKX1jYXRjaCh0KXtyZXR1cm4hMX19KSksX2UodGhpcy5hbGxSdW5zJCx0aGlzLnJ1bklkVG9FaWQkLHRoaXMuc3RvcmUuc2VsZWN0KGJJKSx0aGlzLnN0b3JlLnNlbGVjdChGRCkpLFZ0KCgoW3QsZSxuLG8saV0pPT57Y29uc3QgYT1Weih7a2V5Okx6LlJFR0VYLHJlZ2V4U3RyaW5nOnR9LGUsbikscj1uZXcgTWFwLHM9W107Zm9yKGNvbnN0W3QsZV1vZiBPYmplY3QuZW50cmllcyhhLm1hdGNoZXMpKXtsZXQgbj1yLmdldCh0KTtpZighbil7Y29uc3QgZT1vLmNvbG9yc1tyLnNpemUlby5jb2xvcnMubGVuZ3RoXTtuPWk/ZS5kYXJrSGV4OmUubGlnaHRIZXgsci5zZXQodCxuKX1zLnB1c2goe2dyb3VwSWQ6dCxjb2xvcjpuLHJ1bnM6ZX0pfXJldHVybiBzfSkpKSkpLnBpcGUoQmUoW10pKSx0aGlzLmV4cGVyaW1lbnRJZHM9bi5leHBlcmltZW50SWRzLHRoaXMucnVuSWRUb0VpZCQ9S3QodGhpcy5leHBlcmltZW50SWRzLm1hcCgodD0+dGhpcy5zdG9yZS5zZWxlY3QoWnose2V4cGVyaW1lbnRJZDp0fSkucGlwZShWdCgoZT0+KHtleHBlcmltZW50SWQ6dCxydW5JZHM6ZX0pKSkpKSkpLnBpcGUoVnQoKHQ9Pntjb25zdCBlPXt9O2Zvcihjb25zdHtydW5JZHM6bixleHBlcmltZW50SWQ6b31vZiB0KWZvcihjb25zdCB0IG9mIG4pZVt0XT1vO3JldHVybiBlfSkpKSx0aGlzLmFsbFJ1bnMkPUt0KHRoaXMuZXhwZXJpbWVudElkcy5tYXAoKHQ9PnRoaXMuc3RvcmUuc2VsZWN0KHF6LHtleHBlcmltZW50SWQ6dH0pKSkpLnBpcGUoVnQoKHQ9PnQuZmxhdCgpKSkpfW9uUmVnZXhJbnB1dE9uQ2hhbmdlKHQpe3RoaXMudGVudGF0aXZlUmVnZXhTdHJpbmckLm5leHQodCl9b25TYXZlKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goeFQoe2V4cGVyaW1lbnRJZHM6dGhpcy5leHBlcmltZW50SWRzLGdyb3VwQnk6e2tleTpMei5SRUdFWCxyZWdleFN0cmluZzp0fX0pKX19ZnVuY3Rpb24gXzIodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiwxMSl9ZnVuY3Rpb24gQzIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDEwKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7Y29uc3Qgbj16ZigpO3JldHVybiBuLm9uR3JvdXBCeUNoYW5nZS5lbWl0KHtrZXk6bi5Hcm91cEJ5S2V5LkVYUEVSSU1FTlR9KX0pKSxDZigxLCJzcGFuIiksSG0oMixfMiwxLDAsIm1hdC1pY29uIiw3KSxNZigpLENmKDMsImxhYmVsIiksUHUoNCwiRXhwZXJpbWVudCIpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTt5bSgiYXJpYS1jaGVja2VkIix0LnNlbGVjdGVkR3JvdXBCeS5rZXk9PT10Lkdyb3VwQnlLZXkuRVhQRVJJTUVOVCksRGMoMiksYmYoIm5nSWYiLHQuc2VsZWN0ZWRHcm91cEJ5LmtleT09PXQuR3JvdXBCeUtleS5FWFBFUklNRU5UKX19ZnVuY3Rpb24gTTIodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiwxMSl9ZnVuY3Rpb24gdjIodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiwxMSl9ZnVuY3Rpb24geDIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDEyKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkub25Hcm91cEJ5UmVnZXhDbGljaygpfSkpLENmKDEsInNwYW4iKSxIbSgyLHYyLDEsMCwibWF0LWljb24iLDcpLE1mKCksQ2YoMywibGFiZWwiKSxQdSg0LCJSZWdleCIpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTt5bSgiYXJpYS1jaGVja2VkIix0LnNlbGVjdGVkR3JvdXBCeS5rZXk9PT10Lkdyb3VwQnlLZXkuUkVHRVgpLERjKDIpLGJmKCJuZ0lmIix0LnNlbGVjdGVkR3JvdXBCeS5rZXk9PT10Lkdyb3VwQnlLZXkuUkVHRVgpfX1mdW5jdGlvbiBPMih0LGUpe2lmKDEmdCYmKENmKDAsImxhYmVsIiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDEpLHd1KHQucmVnZXhTdHJpbmcpfX1mdW5jdGlvbiBQMih0LGUpezEmdCYmKENmKDAsImxhYmVsIiwxNyksUHUoMSwiKG5vbmUgc2V0KSIpLE1mKCkpfWZ1bmN0aW9uIHcyKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiYnV0dG9uIiwxMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uUmVnZXhTdHJpbmdFZGl0KCl9KSksQ2YoMSwic3BhbiIpLHZmKDIsIm1hdC1pY29uIiwxNCksTWYoKSxIbSgzLE8yLDIsMSwibGFiZWwiLDE1KSxIbSg0LFAyLDIsMCwibGFiZWwiLDE2KSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO0RjKDMpLGJmKCJuZ0lmIix0LnJlZ2V4U3RyaW5nKSxEYygxKSxiZigibmdJZiIsIXQucmVnZXhTdHJpbmcpfX15Mi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8eTIpKGdmKGlTKSxnZihWWSksZ2YoVVkpKX0seTIuybVjbXA9c28oe3R5cGU6eTIsc2VsZWN0b3JzOltbInJlZ2V4LWVkaXQtZGlhbG9nIl1dLGRlY2xzOjMsdmFyczo2LGNvbnN0czpbWzMsInJlZ2V4U3RyaW5nIiwiY29sb3JSdW5QYWlyTGlzdCIsIm9uU2F2ZSIsInJlZ2V4SW5wdXRPbkNoYW5nZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwicmVnZXgtZWRpdC1kaWFsb2ctY29tcG9uZW50IiwwKSxSZigib25TYXZlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblNhdmUoZSl9KSkoInJlZ2V4SW5wdXRPbkNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25SZWdleElucHV0T25DaGFuZ2UoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoInJlZ2V4U3RyaW5nIixDeSgxLDIsbi5ncm91cEJ5UmVnZXhTdHJpbmckKSkoImNvbG9yUnVuUGFpckxpc3QiLEN5KDIsNCxuLmNvbG9yUnVuUGFpckxpc3QkKSl9LGRpcmVjdGl2ZXM6W2IyXSxwaXBlczpbVnZdLHN0eWxlczpbIltfbmdob3N0LSVDT01QJV0sIHJlZ2V4LWVkaXQtZGlhbG9nLWNvbXBvbmVudFtfbmdjb250ZW50LSVDT01QJV0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH0iXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoeTIsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoicmVnZXgtZWRpdC1kaWFsb2ciLHRlbXBsYXRlOic8cmVnZXgtZWRpdC1kaWFsb2ctY29tcG9uZW50XG4gICAgW3JlZ2V4U3RyaW5nXT0iZ3JvdXBCeVJlZ2V4U3RyaW5nJCB8IGFzeW5jIlxuICAgIFtjb2xvclJ1blBhaXJMaXN0XT0iY29sb3JSdW5QYWlyTGlzdCQgfCBhc3luYyJcbiAgICAob25TYXZlKT0ib25TYXZlKCRldmVudCkiXG4gICAgKHJlZ2V4SW5wdXRPbkNoYW5nZSk9Im9uUmVnZXhJbnB1dE9uQ2hhbmdlKCRldmVudCkiXG4gID48L3JlZ2V4LWVkaXQtZGlhbG9nLWNvbXBvbmVudD4nLHN0eWxlczpbIlxuICAgICAgOmhvc3QsXG4gICAgICByZWdleC1lZGl0LWRpYWxvZy1jb21wb25lbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAiXX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfSx7dHlwZTpWWX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1VZXX1dfV19KSxudWxsKTtjbGFzcyBrMntjb25zdHJ1Y3Rvcih0KXt0aGlzLmRpYWxvZz10LHRoaXMuR3JvdXBCeUtleT1Meix0aGlzLm9uR3JvdXBCeUNoYW5nZT1uZXcgU3l9b25SZWdleFN0cmluZ0VkaXQoKXt0aGlzLmRpYWxvZy5vcGVuKHkyLHttYXhIZWlnaHQ6Ijk1dmgiLG1heFdpZHRoOiI4MHZ3IixkYXRhOntleHBlcmltZW50SWRzOnRoaXMuZXhwZXJpbWVudElkc319KX1vbkdyb3VwQnlSZWdleENsaWNrKCl7dGhpcy5yZWdleFN0cmluZz90aGlzLm9uR3JvdXBCeUNoYW5nZS5lbWl0KHtrZXk6THouUkVHRVgscmVnZXhTdHJpbmc6dGhpcy5yZWdleFN0cmluZ30pOnRoaXMub25SZWdleFN0cmluZ0VkaXQoKX19azIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGsyKShnZihYWSkpfSxrMi7JtWNtcD1zbyh7dHlwZTprMixzZWxlY3RvcnM6W1sicnVucy1ncm91cC1tZW51LWJ1dHRvbi1jb21wb25lbnQiXV0saW5wdXRzOntzaG93RXhwZXJpbWVudHNHcm91cEJ5OiJzaG93RXhwZXJpbWVudHNHcm91cEJ5IixleHBlcmltZW50SWRzOiJleHBlcmltZW50SWRzIixyZWdleFN0cmluZzoicmVnZXhTdHJpbmciLHNlbGVjdGVkR3JvdXBCeToic2VsZWN0ZWRHcm91cEJ5IixzaG93R3JvdXBCeVJlZ2V4OiJzaG93R3JvdXBCeVJlZ2V4In0sb3V0cHV0czp7b25Hcm91cEJ5Q2hhbmdlOiJvbkdyb3VwQnlDaGFuZ2UifSxkZWNsczoxNCx2YXJzOjYsY29uc3RzOltbIm1hdC1pY29uLWJ1dHRvbiIsIiIsInRpdGxlIiwiQ29sb3IgcnVucyBieS4uLiIsMywibWF0TWVudVRyaWdnZXJGb3IiXSxbInN2Z0ljb24iLCJwYWxldHRlXzI0cHgiXSxbMSwicnVuLXRhYmxlLWNvbG9yLWdyb3VwLWJ5Il0sWyJncm91cEJ5TWVudSIsIm1hdE1lbnUiXSxbMSwibGFiZWwiXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJyb2xlIiwibWVudWl0ZW1yYWRpbyIsImRhdGEtdmFsdWUiLCJleHBlcmltZW50IiwzLCJjbGljayIsNCwibmdJZiJdLFsibWF0LW1lbnUtaXRlbSIsIiIsInJvbGUiLCJtZW51aXRlbXJhZGlvIiwiZGF0YS12YWx1ZSIsInJ1biIsMywiY2xpY2siXSxbInN2Z0ljb24iLCJkb25lXzI0cHgiLDQsIm5nSWYiXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJyb2xlIiwibWVudWl0ZW1yYWRpbyIsImRhdGEtdmFsdWUiLCJyZWdleCIsMywiY2xpY2siLDQsIm5nSWYiXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJyb2xlIiwibWVudWl0ZW0iLCJkYXRhLXZhbHVlIiwicmVnZXgtZWRpdCIsImNsYXNzIiwiZGlzcGxheS1yZWdleC1zdHJpbmciLDMsImNsaWNrIiw0LCJuZ0lmIl0sWyJtYXQtbWVudS1pdGVtIiwiIiwicm9sZSIsIm1lbnVpdGVtcmFkaW8iLCJkYXRhLXZhbHVlIiwiZXhwZXJpbWVudCIsMywiY2xpY2siXSxbInN2Z0ljb24iLCJkb25lXzI0cHgiXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJyb2xlIiwibWVudWl0ZW1yYWRpbyIsImRhdGEtdmFsdWUiLCJyZWdleCIsMywiY2xpY2siXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJyb2xlIiwibWVudWl0ZW0iLCJkYXRhLXZhbHVlIiwicmVnZXgtZWRpdCIsMSwiZGlzcGxheS1yZWdleC1zdHJpbmciLDMsImNsaWNrIl0sWyJzdmdJY29uIiwiZWRpdF8yNHB4Il0sWzQsIm5nSWYiXSxbImNsYXNzIiwibm9uZS1zZXQtc3RyaW5nIiw0LCJuZ0lmIl0sWzEsIm5vbmUtc2V0LXN0cmluZyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiYnV0dG9uIiwwKSx2ZigxLCJtYXQtaWNvbiIsMSksTWYoKSxDZigyLCJtYXQtbWVudSIsMiwzKSxDZig0LCJkaXYiLDQpLFB1KDUsIkNvbG9yIHJ1bnMgYnkiKSxNZigpLEhtKDYsQzIsNSwyLCJidXR0b24iLDUpLENmKDcsImJ1dHRvbiIsNiksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uR3JvdXBCeUNoYW5nZS5lbWl0KHtrZXk6bi5Hcm91cEJ5S2V5LlJVTn0pfSkpLENmKDgsInNwYW4iKSxIbSg5LE0yLDEsMCwibWF0LWljb24iLDcpLE1mKCksQ2YoMTAsImxhYmVsIiksUHUoMTEsIlJ1biIpLE1mKCksTWYoKSxIbSgxMix4Miw1LDIsImJ1dHRvbiIsOCksSG0oMTMsdzIsNSwyLCJidXR0b24iLDkpLE1mKCkpLDImZSl7YmYoIm1hdE1lbnVUcmlnZ2VyRm9yIixGbSgzKSksRGMoNiksYmYoIm5nSWYiLG4uc2hvd0V4cGVyaW1lbnRzR3JvdXBCeSksRGMoMSkseW0oImFyaWEtY2hlY2tlZCIsbi5zZWxlY3RlZEdyb3VwQnkua2V5PT09bi5Hcm91cEJ5S2V5LlJVTiksRGMoMiksYmYoIm5nSWYiLG4uc2VsZWN0ZWRHcm91cEJ5LmtleT09PW4uR3JvdXBCeUtleS5SVU4pLERjKDMpLGJmKCJuZ0lmIixuLnNob3dHcm91cEJ5UmVnZXgpLERjKDEpLGJmKCJuZ0lmIixuLnNob3dHcm91cEJ5UmVnZXgpfX0sZGlyZWN0aXZlczpbTkwscXEsTXEsanEsUHYsSHFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfSAgLnJ1bi10YWJsZS1jb2xvci1ncm91cC1ieXtmb250LXNpemU6MTZweH0gIC5ydW4tdGFibGUtY29sb3ItZ3JvdXAtYnkgLmxhYmVse2NvbG9yOiM2MTYxNjE7Zm9udC1zaXplOi45ZW07bWFyZ2luOjEwcHggMDtwYWRkaW5nOjAgMTZweDtwb2ludGVyLWV2ZW50czpub25lfSAgLnJ1bi10YWJsZS1jb2xvci1ncm91cC1ieSBidXR0b257ZGlzcGxheTpncmlkO2dhcDoycHggMTBweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjBweCBhdXRvfSAgLnJ1bi10YWJsZS1jb2xvci1ncm91cC1ieSBtYXQtaWNvbntoZWlnaHQ6MjBweDt3aWR0aDoyMHB4fSAgLnJ1bi10YWJsZS1jb2xvci1ncm91cC1ieSAuZGlzcGxheS1yZWdleC1zdHJpbmd7cGFkZGluZy1sZWZ0OjQwcHh9ICAucnVuLXRhYmxlLWNvbG9yLWdyb3VwLWJ5IC5kaXNwbGF5LXJlZ2V4LXN0cmluZyAubm9uZS1zZXQtc3RyaW5ne2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgICAucnVuLXRhYmxlLWNvbG9yLWdyb3VwLWJ5IC5kaXNwbGF5LXJlZ2V4LXN0cmluZyAubm9uZS1zZXQtc3RyaW5nLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAgIC5ydW4tdGFibGUtY29sb3ItZ3JvdXAtYnkgLmRpc3BsYXktcmVnZXgtc3RyaW5nIC5ub25lLXNldC1zdHJpbmd7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGsyLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InJ1bnMtZ3JvdXAtbWVudS1idXR0b24tY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoicnVuc19ncm91cF9tZW51X2J1dHRvbl9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsicnVuc19ncm91cF9tZW51X2J1dHRvbl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOlhZfV19KSx7c2hvd0V4cGVyaW1lbnRzR3JvdXBCeTpbe3R5cGU6Ul99XSxleHBlcmltZW50SWRzOlt7dHlwZTpSX31dLHJlZ2V4U3RyaW5nOlt7dHlwZTpSX31dLHNlbGVjdGVkR3JvdXBCeTpbe3R5cGU6Ul99XSxzaG93R3JvdXBCeVJlZ2V4Olt7dHlwZTpSX31dLG9uR3JvdXBCeUNoYW5nZTpbe3R5cGU6RV99XX0pO2NsYXNzIFMye2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLnNob3dHcm91cEJ5UmVnZXgkPXRoaXMuc3RvcmUuc2VsZWN0KFVEKSx0aGlzLnNob3dFeHBlcmltZW50c0dyb3VwQnkkPXRoaXMuc3RvcmUuc2VsZWN0KENSKS5waXBlKFZ0KCh0PT50LmhhcyhfRC5DT01QQVJFX0VYUEVSSU1FTlQpKSkpLHRoaXMuc2VsZWN0ZWRHcm91cEJ5JD10aGlzLnN0b3JlLnNlbGVjdCgkeiksdGhpcy5ncm91cEJ5UmVnZXhTdHJpbmckPXRoaXMuc3RvcmUuc2VsZWN0KHJJKX1vbkdyb3VwQnlDaGFuZ2UodCl7dGhpcy5zdG9yZS5kaXNwYXRjaCh4VCh7ZXhwZXJpbWVudElkczp0aGlzLmV4cGVyaW1lbnRJZHMsZ3JvdXBCeTp0fSkpfX1TMi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UzIpKGdmKGlTKSl9LFMyLsm1Y21wPXNvKHt0eXBlOlMyLHNlbGVjdG9yczpbWyJydW5zLWdyb3VwLW1lbnUtYnV0dG9uIl1dLGlucHV0czp7ZXhwZXJpbWVudElkczoiZXhwZXJpbWVudElkcyJ9LGRlY2xzOjUsdmFyczoxMyxjb25zdHM6W1szLCJyZWdleFN0cmluZyIsInNlbGVjdGVkR3JvdXBCeSIsInNob3dHcm91cEJ5UmVnZXgiLCJzaG93RXhwZXJpbWVudHNHcm91cEJ5IiwiZXhwZXJpbWVudElkcyIsIm9uR3JvdXBCeUNoYW5nZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwicnVucy1ncm91cC1tZW51LWJ1dHRvbi1jb21wb25lbnQiLDApLFJmKCJvbkdyb3VwQnlDaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uR3JvdXBCeUNoYW5nZShlKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSxfeSg0LCJhc3luYyIpLE1mKCkpLDImZSYmYmYoInJlZ2V4U3RyaW5nIixDeSgxLDUsbi5ncm91cEJ5UmVnZXhTdHJpbmckKSkoInNlbGVjdGVkR3JvdXBCeSIsQ3koMiw3LG4uc2VsZWN0ZWRHcm91cEJ5JCkpKCJzaG93R3JvdXBCeVJlZ2V4IixDeSgzLDksbi5zaG93R3JvdXBCeVJlZ2V4JCkpKCJzaG93RXhwZXJpbWVudHNHcm91cEJ5IixDeSg0LDExLG4uc2hvd0V4cGVyaW1lbnRzR3JvdXBCeSQpKSgiZXhwZXJpbWVudElkcyIsbi5leHBlcmltZW50SWRzKX0sZGlyZWN0aXZlczpbazJdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihTMixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJydW5zLWdyb3VwLW1lbnUtYnV0dG9uIix0ZW1wbGF0ZTonXG4gICAgPHJ1bnMtZ3JvdXAtbWVudS1idXR0b24tY29tcG9uZW50XG4gICAgICBbcmVnZXhTdHJpbmddPSJncm91cEJ5UmVnZXhTdHJpbmckIHwgYXN5bmMiXG4gICAgICBbc2VsZWN0ZWRHcm91cEJ5XT0ic2VsZWN0ZWRHcm91cEJ5JCB8IGFzeW5jIlxuICAgICAgW3Nob3dHcm91cEJ5UmVnZXhdPSJzaG93R3JvdXBCeVJlZ2V4JCB8IGFzeW5jIlxuICAgICAgW3Nob3dFeHBlcmltZW50c0dyb3VwQnldPSJzaG93RXhwZXJpbWVudHNHcm91cEJ5JCB8IGFzeW5jIlxuICAgICAgW2V4cGVyaW1lbnRJZHNdPSJleHBlcmltZW50SWRzIlxuICAgICAgKG9uR3JvdXBCeUNoYW5nZSk9Im9uR3JvdXBCeUNoYW5nZSgkZXZlbnQpIlxuICAgID48L3J1bnMtZ3JvdXAtbWVudS1idXR0b24tY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse2V4cGVyaW1lbnRJZHM6W3t0eXBlOlJffV19KTtjb25zdCBEMj1bImNvbnRhaW5lciJdO3ZhciBSMjshKGZ1bmN0aW9uKHQpe3RbdC5OT05FPTBdPSJOT05FIix0W3QuTEVGVD0xXT0iTEVGVCIsdFt0LlJJR0hUPTJdPSJSSUdIVCJ9KShSMnx8KFIyPXt9KSk7Y2xhc3MgRTJ7Y29uc3RydWN0b3IodCl7dGhpcy5jaGFuZ2VEZXRlY3Rvcj10LHRoaXMudGlja0NvdW50PTIwLHRoaXMudmFsdWU9bmV3IFN5LHRoaXMuUG9zaXRpb249UjIsdGhpcy5hY3RpdmVUaHVtYj1SMi5OT05FLHRoaXMub2Zmc2V0WEZyb21PcmlnaW5PZkFjdGl2ZVRodW1iPTAsdGhpcy5uZ1Vuc3Vic2NyaWJlPW5ldyBCfWdldFRodW1iUG9zaXRpb24odCl7Y29uc3QgZT10aGlzLmdldENsaXBwZWRWYWx1ZSh0KSxuPXRoaXMubWF4LXRoaXMubWluO2lmKG48PTApcmV0dXJuIjUwJSI7cmV0dXJuYCR7KGUtdGhpcy5taW4pL24qMTAwfSVgfWdldFRyYWNrV2lkdGgoKXtjb25zdCB0PXRoaXMubWF4LXRoaXMubWluO2lmKHQ8PTApcmV0dXJuIjAlIjtyZXR1cm5gJHsodGhpcy5nZXRDbGlwcGVkVmFsdWUodGhpcy51cHBlclZhbHVlKS10aGlzLmdldENsaXBwZWRWYWx1ZSh0aGlzLmxvd2VyVmFsdWUpKS90KjEwMH0lYH1nZXRDbGlwcGVkVmFsdWUodCl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHQsdGhpcy5taW4pLHRoaXMubWF4KX1uZ09uRGVzdHJveSgpe3RoaXMubmdVbnN1YnNjcmliZS5uZXh0KCksdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCl9bmdPbkluaXQoKXtsZShkb2N1bWVudCwibW91c2Vtb3ZlIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5oYW5kbGVNb3VzZU1vdmUodCl9KSksbGUoZG9jdW1lbnQsIm1vdXNldXAiLHtwYXNzaXZlOiEwfSkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKHQ9Pnt0aGlzLmhhbmRsZU1vdXNlT3V0KHQpfSkpfWhhbmRsZU1vdXNlRG93bih0LGUpe3RoaXMuYWN0aXZlVGh1bWI9ZTt0aGlzLm9mZnNldFhGcm9tT3JpZ2luT2ZBY3RpdmVUaHVtYj02LXQub2Zmc2V0WH1jYWxjdWxhdGVWYWx1ZUZyb21Nb3VzZUV2ZW50KHQpe2NvbnN0e2xlZnQ6ZSxyaWdodDpufT10aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG89dC5jbGllbnRYLWUrdGhpcy5vZmZzZXRYRnJvbU9yaWdpbk9mQWN0aXZlVGh1bWI7bGV0IGk7aWYobnVsbCE9PXRoaXMudGlja0NvdW50JiZ0aGlzLnRpY2tDb3VudD4wKXtjb25zdCB0PShuLWUpL3RoaXMudGlja0NvdW50O2k9TWF0aC5yb3VuZChvL3QpKnQvKG4tZSl9ZWxzZSBpPW8vKG4tZSk7Y29uc3QgYT10aGlzLmdldENsaXBwZWRWYWx1ZSh0aGlzLm1pbisodGhpcy5tYXgtdGhpcy5taW4pKmkpO3JldHVybiBOdW1iZXIoYS50b0ZpeGVkKDEwKSl9aGFuZGxlTW91c2VNb3ZlKHQpe2lmKHRoaXMuYWN0aXZlVGh1bWI9PT1SMi5OT05FKXJldHVybjtjb25zdCBlPXRoaXMuY2FsY3VsYXRlVmFsdWVGcm9tTW91c2VFdmVudCh0KTtsZXQgbj1bdGhpcy5sb3dlclZhbHVlLHRoaXMudXBwZXJWYWx1ZV07dGhpcy5hY3RpdmVUaHVtYj09PVIyLkxFRlQ/KGU+dGhpcy51cHBlclZhbHVlJiYodGhpcy5hY3RpdmVUaHVtYj1SMi5SSUdIVCksbj1bZSx0aGlzLnVwcGVyVmFsdWVdKTooZTx0aGlzLmxvd2VyVmFsdWUmJih0aGlzLmFjdGl2ZVRodW1iPVIyLkxFRlQpLG49W3RoaXMubG93ZXJWYWx1ZSxlXSksdGhpcy5tYXliZU5vdGlmeU5leHRWYWx1ZShuKSx0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpfW1heWJlTm90aWZ5TmV4dFZhbHVlKHQpe2NvbnN0W2Usbl09dC5zb3J0KCgodCxlKT0+dC1lKSk7dGhpcy5sb3dlclZhbHVlPT09ZSYmdGhpcy51cHBlclZhbHVlPT09bnx8dGhpcy52YWx1ZS5lbWl0KHtsb3dlclZhbHVlOmUsdXBwZXJWYWx1ZTpufSl9aGFuZGxlTW91c2VPdXQodCl7dGhpcy5hY3RpdmVUaHVtYiE9PVIyLk5PTkUmJih0aGlzLmFjdGl2ZVRodW1iPVIyLk5PTkUsdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKSl9aGFuZGxlSW5wdXRDaGFuZ2UodCxlKXtjb25zdCBuPXRoaXMuZ2V0Q2xpcHBlZFZhbHVlKE51bWJlcih0LnRhcmdldC52YWx1ZSkpO2lmKGlzTmFOKG4pKXJldHVybjtsZXQgbz1bdGhpcy5sb3dlclZhbHVlLHRoaXMudXBwZXJWYWx1ZV07bz1lPT09UjIuTEVGVD9bbix0aGlzLnVwcGVyVmFsdWVdOlt0aGlzLmxvd2VyVmFsdWUsbl0sdGhpcy5tYXliZU5vdGlmeU5leHRWYWx1ZShvKX1pc1RodW1iQWN0aXZlKHQpe3JldHVybiB0aGlzLmFjdGl2ZVRodW1iPT09dH19RTIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEUyKShnZihPYikpfSxFMi7JtWNtcD1zbyh7dHlwZTpFMixzZWxlY3RvcnM6W1sidGItcmFuZ2UtaW5wdXQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJlZ5KEQyLDcsS2gpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uY29udGFpbmVyPXQuZmlyc3QpfX0saW5wdXRzOnttaW46Im1pbiIsbWF4OiJtYXgiLGxvd2VyVmFsdWU6Imxvd2VyVmFsdWUiLHVwcGVyVmFsdWU6InVwcGVyVmFsdWUiLHRpY2tDb3VudDoidGlja0NvdW50In0sb3V0cHV0czp7dmFsdWU6InZhbHVlIn0sZGVjbHM6OCx2YXJzOjE0LGNvbnN0czpbWyJ0eXBlIiwibnVtYmVyIiwxLCJsb3dlci1pbnB1dCIsMywidmFsdWUiLCJjaGFuZ2UiXSxbInR5cGUiLCJudW1iZXIiLDEsInVwcGVyLWlucHV0IiwzLCJ2YWx1ZSIsImNoYW5nZSJdLFsxLCJjb250YWluZXIiXSxbImNvbnRhaW5lciIsIiJdLFsxLCJzbGlkZXItdHJhY2siXSxbMSwic2xpZGVyLXRyYWNrLWZpbGwiXSxbMSwidGh1bWIiLDMsIm1vdXNlZG93biJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiaW5wdXQiLDApLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmhhbmRsZUlucHV0Q2hhbmdlKGUsbi5Qb3NpdGlvbi5MRUZUKX0pKSxNZigpLENmKDEsImlucHV0IiwxKSxSZigiY2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5oYW5kbGVJbnB1dENoYW5nZShlLG4uUG9zaXRpb24uUklHSFQpfSkpLE1mKCksQ2YoMiwic3BhbiIsMiwzKSx2Zig0LCJzcGFuIiw0KSx2Zig1LCJzcGFuIiw1KSxDZig2LCJzcGFuIiw2KSxSZigibW91c2Vkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5oYW5kbGVNb3VzZURvd24oZSxuLlBvc2l0aW9uLkxFRlQpfSkpLE1mKCksQ2YoNywic3BhbiIsNiksUmYoIm1vdXNlZG93biIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uaGFuZGxlTW91c2VEb3duKGUsbi5Qb3NpdGlvbi5SSUdIVCl9KSksTWYoKSxNZigpKSwyJmUmJihiZigidmFsdWUiLG4ubG93ZXJWYWx1ZSksRGMoMSksYmYoInZhbHVlIixuLnVwcGVyVmFsdWUpLERjKDQpLGx1KCJsZWZ0IixuLmdldFRodW1iUG9zaXRpb24obi5sb3dlclZhbHVlKSkoIndpZHRoIixuLmdldFRyYWNrV2lkdGgoKSksRGMoMSksbHUoImxlZnQiLG4uZ2V0VGh1bWJQb3NpdGlvbihuLmxvd2VyVmFsdWUpKSxjdSgiYWN0aXZlIixuLmlzVGh1bWJBY3RpdmUobi5Qb3NpdGlvbi5MRUZUKSksRGMoMSksbHUoImxlZnQiLG4uZ2V0VGh1bWJQb3NpdGlvbihuLnVwcGVyVmFsdWUpKSxjdSgiYWN0aXZlIixuLmlzVGh1bWJBY3RpdmUobi5Qb3NpdGlvbi5SSUdIVCkpKX0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTppbmxpbmUtZ3JpZDtncmlkLWdhcDoxMHB4O2dyaWQtdGVtcGxhdGUtYXJlYXM6Imxvd2VyLWlucHV0IHVwcGVyLWlucHV0IiAic2xpZGVyIHNsaWRlciI7Zm9udC1zaXplOjA7bWluLXdpZHRoOjEwMHB4O3BhZGRpbmc6NnB4fWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLXN0eWxlOnNvbGlkO2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjppbmhlcml0O292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlfS5sb3dlci1pbnB1dFtfbmdjb250ZW50LSVDT01QJV17Z3JpZC1hcmVhOmxvd2VyLWlucHV0fS51cHBlci1pbnB1dFtfbmdjb250ZW50LSVDT01QJV17Z3JpZC1hcmVhOnVwcGVyLWlucHV0O2p1c3RpZnktc2VsZjpmbGV4LWVuZH0uY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtncmlkLWFyZWE6c2xpZGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTppbmxpbmUtZmxleDtoZWlnaHQ6MTJweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LnNsaWRlci10cmFja1tfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4yNik7aGVpZ2h0OjJweDt3aWR0aDoxMDAlfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5zbGlkZXItdHJhY2tbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc2xpZGVyLXRyYWNrW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjMpfS5zbGlkZXItdHJhY2stZmlsbFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjJweH0udGh1bWJbX25nY29udGVudC0lQ09NUCVde2JveC1zYWRob3c6MCAwIDAgMXB4IHJnYmEoMCwwLDAsLjI2KTtib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZTt3aWR0aDoxMnB4O3dpbGwtY2hhbmdlOnRyYW5zZm9ybX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAudGh1bWJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAudGh1bWJbX25nY29udGVudC0lQ09NUCVde2JveC1zYWRob3c6MCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjMpfS50aHVtYi5hY3RpdmVbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTpzY2FsZSgxLjIpfS5zbGlkZXItdHJhY2stZmlsbFtfbmdjb250ZW50LSVDT01QJV0sIC50aHVtYltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDojZjU3YzAwfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5zbGlkZXItdHJhY2stZmlsbFtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5zbGlkZXItdHJhY2stZmlsbFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDojZWY2YzAwfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC50aHVtYltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC50aHVtYltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDojZWY2YzAwfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihFMixbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJ0Yi1yYW5nZS1pbnB1dCIsdGVtcGxhdGVVcmw6Ii4vcmFuZ2VfaW5wdXRfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vcmFuZ2VfaW5wdXRfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpPYn1dfSkse2NvbnRhaW5lcjpbe3R5cGU6YXIsYXJnczpbImNvbnRhaW5lciIse3N0YXRpYzohMCxyZWFkOktofV19XSxtaW46W3t0eXBlOlJffV0sbWF4Olt7dHlwZTpSX31dLGxvd2VyVmFsdWU6W3t0eXBlOlJffV0sdXBwZXJWYWx1ZTpbe3R5cGU6Ul99XSx0aWNrQ291bnQ6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOkVffV19KTtjb25zdCBBMj1bIm1lYXN1cmVyIl0sVDI9WyJpbnB1dCJdO2NsYXNzIE4ye2NvbnN0cnVjdG9yKHQpe3RoaXMuY2hhbmdlRGV0ZWN0b3I9dCx0aGlzLnBsYWNlaG9sZGVyPSIiLHRoaXMuc3R5bGU9ImRlZmF1bHQiLHRoaXMucGF0dGVyblJlZ2V4PW5ldyBSZWdFeHAoIi4qIiksdGhpcy5pc1ZhbGlkPSEwLHRoaXMub25WYWx1ZUNoYW5nZT1uZXcgU3ksdGhpcy5ibHVyPW5ldyBTeSx0aGlzLmZvY3VzPW5ldyBTeSx0aGlzLmtleWRvd249bmV3IFN5LHRoaXMua2V5dXA9bmV3IFN5LHRoaXMuaW50ZXJuYWxWYWx1ZT0iIix0aGlzLmZvbnRDaGFuZ2VMaXN0ZW5lcj10aGlzLnVwZGF0ZUlucHV0V2lkdGguYmluZCh0aGlzKX1uZ09uSW5pdCgpe2RvY3VtZW50LmZvbnRzJiZkb2N1bWVudC5mb250cy5hZGRFdmVudExpc3RlbmVyKCJsb2FkaW5nZG9uZSIsdGhpcy5mb250Q2hhbmdlTGlzdGVuZXIpfW5nT25EZXN0cm95KCl7ZG9jdW1lbnQuZm9udHMmJmRvY3VtZW50LmZvbnRzLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWRpbmdkb25lIix0aGlzLmZvbnRDaGFuZ2VMaXN0ZW5lcil9bmdPbkNoYW5nZXModCl7dmFyIGU7dC5wYXR0ZXJuJiYodGhpcy5wYXR0ZXJuUmVnZXg9bmV3IFJlZ0V4cChudWxsIT09KGU9dGhpcy5wYXR0ZXJuKSYmdm9pZCAwIT09ZT9lOiIiKSksdC52YWx1ZSYmKHRoaXMuaW50ZXJuYWxWYWx1ZT10aGlzLnZhbHVlKSx0aGlzLmlzVmFsaWQ9dGhpcy5wYXR0ZXJuUmVnZXgudGVzdCh0aGlzLmludGVybmFsVmFsdWUpfW5nQWZ0ZXJWaWV3Q2hlY2tlZCgpe3RoaXMudXBkYXRlSW5wdXRXaWR0aCgpfW9uSW5wdXQodCl7Y29uc3QgZT10aGlzLmludGVybmFsVmFsdWU7dGhpcy5pbnRlcm5hbFZhbHVlPXRoaXMuaW5wdXRFbFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlLHRoaXMuaW50ZXJuYWxWYWx1ZSE9PWUmJih0aGlzLmlzVmFsaWQ9dGhpcy5wYXR0ZXJuUmVnZXgudGVzdCh0aGlzLmludGVybmFsVmFsdWUpLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCkpLHRoaXMub25WYWx1ZUNoYW5nZS5lbWl0KHt2YWx1ZTp0aGlzLmludGVybmFsVmFsdWV9KX11cGRhdGVJbnB1dFdpZHRoKCl7Y29uc3R7d2lkdGg6dH09dGhpcy5tZWFzdXJlckVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5pbnB1dEVsUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGg9YCR7dH1weGB9fWZ1bmN0aW9uIHoyKHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiY29udGVudC13cmFwcGluZy1pbnB1dCIsMyksUmYoIm9uVmFsdWVDaGFuZ2UiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLmFsaWFzQ2hhbmdlZC5lbWl0KG4pfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7ZHUodC5pc0FsaWFzTmFtZUxlZ2FsPyJoaWdoLWNvbnRyYXN0IjoiZXJyb3IiKSxiZigidmFsdWUiLHQuYWxpYXMuYWxpYXNUZXh0KX19ZnVuY3Rpb24gSTIodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7Y3UoImlsbGVnYWwiLCF0LmlzQWxpYXNOYW1lTGVnYWwpLERjKDEpLHd1KHQuYWxpYXMuYWxpYXNUZXh0KX19TjIuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE4yKShnZihPYikpfSxOMi7JtWNtcD1zbyh7dHlwZTpOMixzZWxlY3RvcnM6W1siY29udGVudC13cmFwcGluZy1pbnB1dCJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKFZ5KEEyLDcsS2gpLFZ5KFQyLDcsS2gpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLm1lYXN1cmVyRWxSZWY9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uaW5wdXRFbFJlZj10LmZpcnN0KX19LGhvc3RWYXJzOjIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJm11KG4uc3R5bGUpfSxpbnB1dHM6e3ZhbHVlOiJ2YWx1ZSIscGxhY2Vob2xkZXI6InBsYWNlaG9sZGVyIixzdHlsZToic3R5bGUiLHBhdHRlcm46InBhdHRlcm4ifSxvdXRwdXRzOntvblZhbHVlQ2hhbmdlOiJvblZhbHVlQ2hhbmdlIixibHVyOiJibHVyIixmb2N1czoiZm9jdXMiLGtleWRvd246ImtleWRvd24iLGtleXVwOiJrZXl1cCJ9LGZlYXR1cmVzOltxb10sZGVjbHM6Nix2YXJzOjcsY29uc3RzOltbImFyaWEtaGlkZGVuIiwidHJ1ZSIsMSwibWVhc3VyZXIiXSxbIm1lYXN1cmVyIiwiIl0sWyJhdXRvY29tcGxldGUiLCJvZmYiLCJzcGVsbGNoZWNrIiwiZmFsc2UiLCJ0eXBlIiwidGV4dCIsMywidmFsdWUiLCJwbGFjZWhvbGRlciIsImJsdXIiLCJmb2N1cyIsImlucHV0Iiwia2V5ZG93biIsImtleXVwIl0sWyJpbnB1dCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwic3BhbiIpLENmKDEsInNwYW4iLDAsMSksUHUoMyksTWYoKSxDZig0LCJpbnB1dCIsMiwzKSxSZigiYmx1ciIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uYmx1ci5lbWl0KGUpfSkpKCJmb2N1cyIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uZm9jdXMuZW1pdChlKX0pKSgiaW5wdXQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uSW5wdXQoZSl9KSkoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmtleWRvd24uZW1pdChlKX0pKSgia2V5dXAiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmtleXVwLmVtaXQoZSl9KSksTWYoKSxNZigpKSwyJmUmJihjdSgiY29udGFpbmVyIiwhMCkoImlzLXZhbGlkIixuLmlzVmFsaWQpLERjKDMpLHd1KG4uaW50ZXJuYWxWYWx1ZXx8bi5wbGFjZWhvbGRlciksRGMoMSksYmYoInZhbHVlIixuLnZhbHVlKSgicGxhY2Vob2xkZXIiLG4ucGxhY2Vob2xkZXIpKX0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1mbGV4O3dpZHRoOm1heC1jb250ZW50fVtfbmdob3N0LSVDT01QJV06Zm9jdXMtd2l0aGluICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWNvbG9yOiNmNTdjMDB9LmRlZmF1bHRbX25naG9zdC0lQ09NUCVdOmhvdmVyICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWNvbG9yOiNlYmViZWJ9LmVycm9yW19uZ2hvc3QtJUNPTVAlXSAgIC5jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCBbX25naG9zdC0lQ09NUCVdICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06bm90KC5pcy12YWxpZCl7Ym9yZGVyLWNvbG9yOiNlZjlhOWF9LmVycm9yW19uZ2hvc3QtJUNPTVAlXSAgIC5jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmhvdmVyLCAuZXJyb3JbX25naG9zdC0lQ09NUCVdICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMtd2l0aGluLCBbX25naG9zdC0lQ09NUCVdICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06bm90KC5pcy12YWxpZCk6aG92ZXIsIFtfbmdob3N0LSVDT01QJV0gICAuY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoLmlzLXZhbGlkKTpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOiNlZjlhOWF9LmhpZ2gtY29udHJhc3RbX25naG9zdC0lQ09NUCVdICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWNvbG9yOiNiZGJkYmR9LmhpZ2gtY29udHJhc3RbX25naG9zdC0lQ09NUCVdICAgLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06aG92ZXJ7Ym9yZGVyLWNvbG9yOiM3NTc1NzV9LmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyOjJweCBzb2xpZCB0cmFuc3BhcmVudDtwYWRkaW5nOjFweCAycHg7cG9zaXRpb246cmVsYXRpdmV9Lm1lYXN1cmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3Zpc2liaWxpdHk6aGlkZGVufS5tZWFzdXJlcltfbmdjb250ZW50LSVDT01QJV0sIGlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OjEuNDtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6cHJlfS5tZWFzdXJlcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHksIGlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXt3aWR0aDoyY2h9aW5wdXRbX25nY29udGVudC0lQ09NUCVde2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7Ym9yZGVyOjA7Y29sb3I6aW5oZXJpdDtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTppbmhlcml0O291dGxpbmU6MH1pbnB1dFtfbmdjb250ZW50LSVDT01QJV06Zm9jdXN7cGFkZGluZy1yaWdodDoxY2h9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE4yLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImNvbnRlbnQtd3JhcHBpbmctaW5wdXQiLHRlbXBsYXRlOidcbiAgICA8c3BhbiBbY2xhc3MuY29udGFpbmVyXT0idHJ1ZSIgW2NsYXNzLmlzLXZhbGlkXT0iaXNWYWxpZCI+XG4gICAgICA8c3BhbiAjbWVhc3VyZXIgY2xhc3M9Im1lYXN1cmVyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+e3tcbiAgICAgICAgaW50ZXJuYWxWYWx1ZSB8fCBwbGFjZWhvbGRlclxuICAgICAgfX08L3NwYW4+XG4gICAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIGF1dG9jb21wbGV0ZT0ib2ZmIlxuICAgICAgICBzcGVsbGNoZWNrPSJmYWxzZSJcbiAgICAgICAgdHlwZT0idGV4dCJcbiAgICAgICAgKGJsdXIpPSJibHVyLmVtaXQoJGV2ZW50KSJcbiAgICAgICAgKGZvY3VzKT0iZm9jdXMuZW1pdCgkZXZlbnQpIlxuICAgICAgICAoaW5wdXQpPSJvbklucHV0KCRldmVudCkiXG4gICAgICAgIChrZXlkb3duKT0ia2V5ZG93bi5lbWl0KCRldmVudCkiXG4gICAgICAgIChrZXl1cCk9ImtleXVwLmVtaXQoJGV2ZW50KSJcbiAgICAgICAgW3ZhbHVlXT0idmFsdWUiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09InBsYWNlaG9sZGVyIlxuICAgICAgLz5cbiAgICA8L3NwYW4+XG4gICcsc3R5bGVVcmxzOlsiLi9jb250ZW50X3dyYXBwaW5nX2lucHV0X2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6T2J9XX0pLHttZWFzdXJlckVsUmVmOlt7dHlwZTphcixhcmdzOlsibWVhc3VyZXIiLHtzdGF0aWM6ITAscmVhZDpLaH1dfV0saW5wdXRFbFJlZjpbe3R5cGU6YXIsYXJnczpbImlucHV0Iix7c3RhdGljOiEwLHJlYWQ6S2h9XX1dLHZhbHVlOlt7dHlwZTpSX31dLHBsYWNlaG9sZGVyOlt7dHlwZTpSX31dLHN0eWxlOlt7dHlwZTpBXyxhcmdzOlsiY2xhc3MiXX0se3R5cGU6Ul99XSxwYXR0ZXJuOlt7dHlwZTpSX31dLG9uVmFsdWVDaGFuZ2U6W3t0eXBlOkVffV0sYmx1cjpbe3R5cGU6RV99XSxmb2N1czpbe3R5cGU6RV99XSxrZXlkb3duOlt7dHlwZTpFX31dLGtleXVwOlt7dHlwZTpFX31dfSk7Y2xhc3MgSDJ7Y29uc3RydWN0b3IoKXt0aGlzLmlzQWxpYXNOYW1lTGVnYWw9ITAsdGhpcy5hbGlhc0NoYW5nZWQ9bmV3IFN5fX1IMi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SDIpfSxIMi7JtWNtcD1zbyh7dHlwZTpIMixzZWxlY3RvcnM6W1sidGItZXhwZXJpbWVudC1hbGlhcyJdXSxpbnB1dHM6e2FsaWFzOiJhbGlhcyIsYWxpYXNFZGl0YWJsZToiYWxpYXNFZGl0YWJsZSIsaXNBbGlhc05hbWVMZWdhbDoiaXNBbGlhc05hbWVMZWdhbCJ9LG91dHB1dHM6e2FsaWFzQ2hhbmdlZDoiYWxpYXNDaGFuZ2VkIn0sZGVjbHM6NSx2YXJzOjMsY29uc3RzOltbMSwiYWxpYXMtbnVtYmVyIl0sWyJwbGFjZWhvbGRlciIsIkFsaWFzIGZvciBleHBlcmltZW50IiwzLCJzdHlsZSIsInZhbHVlIiwib25WYWx1ZUNoYW5nZSIsNCwibmdJZiIsIm5nSWZFbHNlIl0sWyJub0VkaXRBbGlhc05hbWUiLCIiXSxbInBsYWNlaG9sZGVyIiwiQWxpYXMgZm9yIGV4cGVyaW1lbnQiLDMsInZhbHVlIiwib25WYWx1ZUNoYW5nZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwic3BhbiIsMCksUHUoMSksTWYoKSxIbSgyLHoyLDEsMywiY29udGVudC13cmFwcGluZy1pbnB1dCIsMSksSG0oMyxJMiwyLDMsIm5nLXRlbXBsYXRlIixudWxsLDIscXkpKSwyJmUpe2NvbnN0IHQ9Rm0oNCk7RGMoMSksd3Uobi5hbGlhcy5hbGlhc051bWJlciksRGMoMSksYmYoIm5nSWYiLG4uYWxpYXNFZGl0YWJsZSkoIm5nSWZFbHNlIix0KX19LGRpcmVjdGl2ZXM6W1B2LE4yXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0uYWxpYXMtbnVtYmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2NvbG9yOiMyMTIxMjE7Ym9yZGVyLXJhZGl1czoycHg7bWFyZ2luLXJpZ2h0OjJweDtwYWRkaW5nOjAgMnB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5hbGlhcy1udW1iZXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuYWxpYXMtbnVtYmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmFsaWFzLW51bWJlcltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5hbGlhcy1udW1iZXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlcjoxcHggc29saWQgIzU1NX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuYWxpYXMtbnVtYmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmFsaWFzLW51bWJlcltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6I2ZmZn1bX25naG9zdC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6YmFzZWxpbmV9J119KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEgyLFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRiLWV4cGVyaW1lbnQtYWxpYXMiLHRlbXBsYXRlOidcbiAgICA8c3BhbiBjbGFzcz0iYWxpYXMtbnVtYmVyIj57eyBhbGlhcy5hbGlhc051bWJlciB9fTwvc3Bhbj5cbiAgICA8Y29udGVudC13cmFwcGluZy1pbnB1dFxuICAgICAgKm5nSWY9ImFsaWFzRWRpdGFibGU7IGVsc2Ugbm9FZGl0QWxpYXNOYW1lIlxuICAgICAgcGxhY2Vob2xkZXI9IkFsaWFzIGZvciBleHBlcmltZW50IlxuICAgICAgW3N0eWxlXT0iaXNBbGlhc05hbWVMZWdhbCA/IFwnaGlnaC1jb250cmFzdFwnIDogXCdlcnJvclwnIlxuICAgICAgW3ZhbHVlXT0iYWxpYXMuYWxpYXNUZXh0IlxuICAgICAgKG9uVmFsdWVDaGFuZ2UpPSJhbGlhc0NoYW5nZWQuZW1pdCgkZXZlbnQpIlxuICAgID48L2NvbnRlbnQtd3JhcHBpbmctaW5wdXQ+XG4gICAgPG5nLXRlbXBsYXRlICNub0VkaXRBbGlhc05hbWU+XG4gICAgICA8c3BhbiBbY2xhc3MuaWxsZWdhbF09IiFpc0FsaWFzTmFtZUxlZ2FsIj57eyBhbGlhcy5hbGlhc1RleHQgfX08L3NwYW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgJyxzdHlsZVVybHM6WyJleHBlcmltZW50X2FsaWFzX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCx7YWxpYXM6W3t0eXBlOlJffV0sYWxpYXNFZGl0YWJsZTpbe3R5cGU6Ul99XSxpc0FsaWFzTmFtZUxlZ2FsOlt7dHlwZTpSX31dLGFsaWFzQ2hhbmdlZDpbe3R5cGU6RV99XX0pO2NvbnN0IEYyPVsiZGlhbG9nUG9wdXAiXSxMMj1bImh1ZVNsaWRlciJdLEIyPVsiYWxwaGFTbGlkZXIiXTtmdW5jdGlvbiBWMih0LGUpe2lmKDEmdCYmdmYoMCwiZGl2IiksMiZ0KXtjb25zdCB0PXpmKCk7SXUoImFycm93IGFycm93LSIsdC5jcFVzZVBvc2l0aW9uLCIiKSxsdSgidG9wIix0LmFycm93VG9wLCJweCIpfX1mdW5jdGlvbiBqMih0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsMjYpLFJmKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25Db2xvckNoYW5nZShuKX0pKSgiZHJhZ1N0YXJ0IiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uRHJhZ1N0YXJ0KCJzYXR1cmF0aW9uLWxpZ2h0bmVzcyIpfSkpKCJkcmFnRW5kIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uRHJhZ0VuZCgic2F0dXJhdGlvbi1saWdodG5lc3MiKX0pKSx2ZigxLCJkaXYiLDEzKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2x1KCJiYWNrZ3JvdW5kLWNvbG9yIix0Lmh1ZVNsaWRlckNvbG9yKSxiZigicmdYIiwxKSgicmdZIiwxKSxEYygxKSxsdSgidG9wIixudWxsPT10LnNsaWRlcj9udWxsOnQuc2xpZGVyLnYsInB4IikoImxlZnQiLG51bGw9PXQuc2xpZGVyP251bGw6dC5zbGlkZXIucywicHgiKX19ZnVuY3Rpb24gVTIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDI3KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoKTtyZXR1cm4gby5vbkFkZFByZXNldENvbG9yKG4sby5zZWxlY3RlZENvbG9yKX0pKSxQdSgxKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO211KHQuY3BBZGRDb2xvckJ1dHRvbkNsYXNzKSxiZigiZGlzYWJsZWQiLHQuY3BQcmVzZXRDb2xvcnMmJnQuY3BQcmVzZXRDb2xvcnMubGVuZ3RoPj10LmNwTWF4UHJlc2V0Q29sb3JzTGVuZ3RoKSxEYygxKSxrdSgiICIsdC5jcEFkZENvbG9yQnV0dG9uVGV4dCwiICIpfX1mdW5jdGlvbiBXMih0LGUpezEmdCYmdmYoMCwiZGl2IiwyOCl9ZnVuY3Rpb24gRzIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJpbnB1dCIsMzQpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKDIpLm9uQWNjZXB0Q29sb3Iobil9KSkoIm5ld1ZhbHVlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25BbHBoYUlucHV0KG4pfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJyZyIsMSkoInZhbHVlIixudWxsPT10LmNteWtUZXh0P251bGw6dC5jbXlrVGV4dC5hKX19ZnVuY3Rpb24gWTIodCxlKXsxJnQmJihDZigwLCJkaXYiKSxQdSgxLCJBIiksTWYoKSl9ZnVuY3Rpb24gcTIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDI5KSxDZigxLCJkaXYiLDMwKSxDZigyLCJpbnB1dCIsMzEpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25BY2NlcHRDb2xvcihuKX0pKSgibmV3VmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLm9uQ3lhbklucHV0KG4pfSkpLE1mKCksQ2YoMywiaW5wdXQiLDMxKSxSZigia2V5dXAuZW50ZXIiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLm9uQWNjZXB0Q29sb3Iobil9KSkoIm5ld1ZhbHVlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbk1hZ2VudGFJbnB1dChuKX0pKSxNZigpLENmKDQsImlucHV0IiwzMSksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25ZZWxsb3dJbnB1dChuKX0pKSxNZigpLENmKDUsImlucHV0IiwzMSksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25CbGFja0lucHV0KG4pfSkpLE1mKCksSG0oNixHMiwxLDIsImlucHV0IiwzMiksTWYoKSxDZig3LCJkaXYiLDMwKSxDZig4LCJkaXYiKSxQdSg5LCJDIiksTWYoKSxDZigxMCwiZGl2IiksUHUoMTEsIk0iKSxNZigpLENmKDEyLCJkaXYiKSxQdSgxMywiWSIpLE1mKCksQ2YoMTQsImRpdiIpLFB1KDE1LCJLIiksTWYoKSxIbSgxNixZMiwyLDAsImRpdiIsMzMpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtsdSgiZGlzcGxheSIsMyE9PXQuZm9ybWF0PyJub25lIjoiYmxvY2siKSxEYygyKSxiZigicmciLDEwMCkoInZhbHVlIixudWxsPT10LmNteWtUZXh0P251bGw6dC5jbXlrVGV4dC5jKSxEYygxKSxiZigicmciLDEwMCkoInZhbHVlIixudWxsPT10LmNteWtUZXh0P251bGw6dC5jbXlrVGV4dC5tKSxEYygxKSxiZigicmciLDEwMCkoInZhbHVlIixudWxsPT10LmNteWtUZXh0P251bGw6dC5jbXlrVGV4dC55KSxEYygxKSxiZigicmciLDEwMCkoInZhbHVlIixudWxsPT10LmNteWtUZXh0P251bGw6dC5jbXlrVGV4dC5rKSxEYygxKSxiZigibmdJZiIsImRpc2FibGVkIiE9PXQuY3BBbHBoYUNoYW5uZWwpLERjKDEwKSxiZigibmdJZiIsImRpc2FibGVkIiE9PXQuY3BBbHBoYUNoYW5uZWwpfX1mdW5jdGlvbiBaMih0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImlucHV0IiwzNCksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25BY2NlcHRDb2xvcihuKX0pKSgibmV3VmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vbkFscGhhSW5wdXQobil9KSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoMik7YmYoInJnIiwxKSgidmFsdWUiLG51bGw9PXQuaHNsYVRleHQ/bnVsbDp0LmhzbGFUZXh0LmEpfX1mdW5jdGlvbiBYMih0LGUpezEmdCYmKENmKDAsImRpdiIpLFB1KDEsIkEiKSxNZigpKX1mdW5jdGlvbiBLMih0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsMzUpLENmKDEsImRpdiIsMzApLENmKDIsImlucHV0IiwzNiksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25IdWVJbnB1dChuKX0pKSxNZigpLENmKDMsImlucHV0IiwzMSksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25TYXR1cmF0aW9uSW5wdXQobil9KSksTWYoKSxDZig0LCJpbnB1dCIsMzEpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25BY2NlcHRDb2xvcihuKX0pKSgibmV3VmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLm9uTGlnaHRuZXNzSW5wdXQobil9KSksTWYoKSxIbSg1LFoyLDEsMiwiaW5wdXQiLDMyKSxNZigpLENmKDYsImRpdiIsMzApLENmKDcsImRpdiIpLFB1KDgsIkgiKSxNZigpLENmKDksImRpdiIpLFB1KDEwLCJTIiksTWYoKSxDZigxMSwiZGl2IiksUHUoMTIsIkwiKSxNZigpLEhtKDEzLFgyLDIsMCwiZGl2IiwzMyksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2x1KCJkaXNwbGF5IiwyIT09dC5mb3JtYXQ/Im5vbmUiOiJibG9jayIpLERjKDIpLGJmKCJyZyIsMzYwKSgidmFsdWUiLG51bGw9PXQuaHNsYVRleHQ/bnVsbDp0LmhzbGFUZXh0LmgpLERjKDEpLGJmKCJyZyIsMTAwKSgidmFsdWUiLG51bGw9PXQuaHNsYVRleHQ/bnVsbDp0LmhzbGFUZXh0LnMpLERjKDEpLGJmKCJyZyIsMTAwKSgidmFsdWUiLG51bGw9PXQuaHNsYVRleHQ/bnVsbDp0LmhzbGFUZXh0LmwpLERjKDEpLGJmKCJuZ0lmIiwiZGlzYWJsZWQiIT09dC5jcEFscGhhQ2hhbm5lbCksRGMoOCksYmYoIm5nSWYiLCJkaXNhYmxlZCIhPT10LmNwQWxwaGFDaGFubmVsKX19ZnVuY3Rpb24gSjIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJpbnB1dCIsMzQpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKDIpLm9uQWNjZXB0Q29sb3Iobil9KSkoIm5ld1ZhbHVlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25BbHBoYUlucHV0KG4pfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJyZyIsMSkoInZhbHVlIixudWxsPT10LnJnYmFUZXh0P251bGw6dC5yZ2JhVGV4dC5hKX19ZnVuY3Rpb24gUTIodCxlKXsxJnQmJihDZigwLCJkaXYiKSxQdSgxLCJBIiksTWYoKSl9ZnVuY3Rpb24gJDIodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDM3KSxDZigxLCJkaXYiLDMwKSxDZigyLCJpbnB1dCIsMzgpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25BY2NlcHRDb2xvcihuKX0pKSgibmV3VmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLm9uUmVkSW5wdXQobil9KSksTWYoKSxDZigzLCJpbnB1dCIsMzgpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25BY2NlcHRDb2xvcihuKX0pKSgibmV3VmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLm9uR3JlZW5JbnB1dChuKX0pKSxNZigpLENmKDQsImlucHV0IiwzOCksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25CbHVlSW5wdXQobil9KSksTWYoKSxIbSg1LEoyLDEsMiwiaW5wdXQiLDMyKSxNZigpLENmKDYsImRpdiIsMzApLENmKDcsImRpdiIpLFB1KDgsIlIiKSxNZigpLENmKDksImRpdiIpLFB1KDEwLCJHIiksTWYoKSxDZigxMSwiZGl2IiksUHUoMTIsIkIiKSxNZigpLEhtKDEzLFEyLDIsMCwiZGl2IiwzMyksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2x1KCJkaXNwbGF5IiwxIT09dC5mb3JtYXQ/Im5vbmUiOiJibG9jayIpLERjKDIpLGJmKCJyZyIsMjU1KSgidmFsdWUiLG51bGw9PXQucmdiYVRleHQ/bnVsbDp0LnJnYmFUZXh0LnIpLERjKDEpLGJmKCJyZyIsMjU1KSgidmFsdWUiLG51bGw9PXQucmdiYVRleHQ/bnVsbDp0LnJnYmFUZXh0LmcpLERjKDEpLGJmKCJyZyIsMjU1KSgidmFsdWUiLG51bGw9PXQucmdiYVRleHQ/bnVsbDp0LnJnYmFUZXh0LmIpLERjKDEpLGJmKCJuZ0lmIiwiZGlzYWJsZWQiIT09dC5jcEFscGhhQ2hhbm5lbCksRGMoOCksYmYoIm5nSWYiLCJkaXNhYmxlZCIhPT10LmNwQWxwaGFDaGFubmVsKX19ZnVuY3Rpb24gdDUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJpbnB1dCIsMzQpLFJmKCJrZXl1cC5lbnRlciIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKDIpLm9uQWNjZXB0Q29sb3Iobil9KSkoIm5ld1ZhbHVlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25BbHBoYUlucHV0KG4pfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJyZyIsMSkoInZhbHVlIix0LmhleEFscGhhKX19ZnVuY3Rpb24gZTUodCxlKXsxJnQmJihDZigwLCJkaXYiKSxQdSgxLCJBIiksTWYoKSl9ZnVuY3Rpb24gbjUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDM5KSxDZigxLCJkaXYiLDMwKSxDZigyLCJpbnB1dCIsNDApLFJmKCJibHVyIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uSGV4SW5wdXQobnVsbCl9KSkoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25IZXhJbnB1dChuKX0pKSxNZigpLEhtKDMsdDUsMSwyLCJpbnB1dCIsMzIpLE1mKCksQ2YoNCwiZGl2IiwzMCksQ2YoNSwiZGl2IiksUHUoNiwiSGV4IiksTWYoKSxIbSg3LGU1LDIsMCwiZGl2IiwzMyksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2x1KCJkaXNwbGF5IiwwIT09dC5mb3JtYXQ/Im5vbmUiOiJibG9jayIpLGN1KCJoZXgtYWxwaGEiLCJmb3JjZWQiPT09dC5jcEFscGhhQ2hhbm5lbCksRGMoMiksYmYoInZhbHVlIix0LmhleFRleHQpLERjKDEpLGJmKCJuZ0lmIiwiZm9yY2VkIj09PXQuY3BBbHBoYUNoYW5uZWwpLERjKDQpLGJmKCJuZ0lmIiwiZm9yY2VkIj09PXQuY3BBbHBoYUNoYW5uZWwpfX1mdW5jdGlvbiBvNSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImlucHV0IiwzNCksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25BY2NlcHRDb2xvcihuKX0pKSgibmV3VmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vbkFscGhhSW5wdXQobil9KSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoMik7YmYoInJnIiwxKSgidmFsdWUiLG51bGw9PXQuaHNsYVRleHQ/bnVsbDp0LmhzbGFUZXh0LmEpfX1mdW5jdGlvbiBpNSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsNDEpLENmKDEsImRpdiIsMzApLENmKDIsImlucHV0IiwzMSksUmYoImtleXVwLmVudGVyIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vbkFjY2VwdENvbG9yKG4pfSkpKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25WYWx1ZUlucHV0KG4pfSkpLE1mKCksSG0oMyxvNSwxLDIsImlucHV0IiwzMiksTWYoKSxDZig0LCJkaXYiLDMwKSxDZig1LCJkaXYiKSxQdSg2LCJWIiksTWYoKSxDZig3LCJkaXYiKSxQdSg4LCJBIiksTWYoKSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksYmYoInJnIiwxMDApKCJ2YWx1ZSIsbnVsbD09dC5oc2xhVGV4dD9udWxsOnQuaHNsYVRleHQubCksRGMoMSksYmYoIm5nSWYiLCJkaXNhYmxlZCIhPT10LmNwQWxwaGFDaGFubmVsKX19ZnVuY3Rpb24gYTUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDQyKSxDZigxLCJzcGFuIiw0MyksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uRm9ybWF0VG9nZ2xlKC0xKX0pKSxNZigpLENmKDIsInNwYW4iLDQzKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkub25Gb3JtYXRUb2dnbGUoMSl9KSksTWYoKSxNZigpfX1mdW5jdGlvbiByNSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsInNwYW4iLDUwKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoKS4kaW1wbGljaXQ7cmV0dXJuIHpmKDMpLm9uUmVtb3ZlUHJlc2V0Q29sb3IobixvKX0pKSxNZigpfWlmKDImdCl7bXUoemYoNCkuY3BSZW1vdmVDb2xvckJ1dHRvbkNsYXNzKX19ZnVuY3Rpb24gczUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDQ4KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7Y29uc3Qgbj1QaSh0KS4kaW1wbGljaXQ7cmV0dXJuIHpmKDMpLnNldENvbG9yRnJvbVN0cmluZyhuKX0pKSxIbSgxLHI1LDEsMywic3BhbiIsNDkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoMyk7bHUoImJhY2tncm91bmQtY29sb3IiLHQpLERjKDEpLGJmKCJuZ0lmIixuLmNwQWRkQ29sb3JCdXR0b24pfX1mdW5jdGlvbiBsNSh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIpLEhtKDEsczUsMiwzLCJkaXYiLDQ3KSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7bXUodC5jcFByZXNldENvbG9yc0NsYXNzKSxEYygxKSxiZigibmdGb3JPZiIsdC5jcFByZXNldENvbG9ycyl9fWZ1bmN0aW9uIGM1KHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO211KHQuY3BQcmVzZXRFbXB0eU1lc3NhZ2VDbGFzcyksRGMoMSksd3UodC5jcFByZXNldEVtcHR5TWVzc2FnZSl9fWZ1bmN0aW9uIGQ1KHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw0NCksdmYoMSwiaHIiKSxDZigyLCJkaXYiLDQ1KSxQdSgzKSxNZigpLEhtKDQsbDUsMiw0LCJkaXYiLDQ2KSxIbSg1LGM1LDIsNCwiZGl2Iiw0NiksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMyksd3UodC5jcFByZXNldExhYmVsKSxEYygxKSxiZigibmdJZiIsbnVsbD09dC5jcFByZXNldENvbG9ycz9udWxsOnQuY3BQcmVzZXRDb2xvcnMubGVuZ3RoKSxEYygxKSxiZigibmdJZiIsIShudWxsIT10LmNwUHJlc2V0Q29sb3JzJiZ0LmNwUHJlc2V0Q29sb3JzLmxlbmd0aCkmJnQuY3BBZGRDb2xvckJ1dHRvbil9fWZ1bmN0aW9uIHA1KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiYnV0dG9uIiw1MyksUmYoImNsaWNrIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25DYW5jZWxDb2xvcihuKX0pKSxQdSgxKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigyKTttdSh0LmNwQ2FuY2VsQnV0dG9uQ2xhc3MpLERjKDEpLHd1KHQuY3BDYW5jZWxCdXR0b25UZXh0KX19ZnVuY3Rpb24gbTUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDUzKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vbkFjY2VwdENvbG9yKG4pfSkpLFB1KDEpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO211KHQuY3BPS0J1dHRvbkNsYXNzKSxEYygxKSx3dSh0LmNwT0tCdXR0b25UZXh0KX19ZnVuY3Rpb24gZjUodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDUxKSxIbSgxLHA1LDIsNCwiYnV0dG9uIiw1MiksSG0oMixtNSwyLDQsImJ1dHRvbiIsNTIpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGJmKCJuZ0lmIix0LmNwQ2FuY2VsQnV0dG9uKSxEYygxKSxiZigibmdJZiIsdC5jcE9LQnV0dG9uKX19dmFyIHU1OyEoZnVuY3Rpb24odCl7dFt0LkhFWD0wXT0iSEVYIix0W3QuUkdCQT0xXT0iUkdCQSIsdFt0LkhTTEE9Ml09IkhTTEEiLHRbdC5DTVlLPTNdPSJDTVlLIn0pKHU1fHwodTU9e30pKTtjbGFzcyBnNXtjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLnI9dCx0aGlzLmc9ZSx0aGlzLmI9bix0aGlzLmE9b319Y2xhc3MgaDV7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5oPXQsdGhpcy5zPWUsdGhpcy52PW4sdGhpcy5hPW99fWNsYXNzIGI1e2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMuaD10LHRoaXMucz1lLHRoaXMubD1uLHRoaXMuYT1vfX1jbGFzcyB5NXtjb25zdHJ1Y3Rvcih0LGUsbixvLGk9MSl7dGhpcy5jPXQsdGhpcy5tPWUsdGhpcy55PW4sdGhpcy5rPW8sdGhpcy5hPWl9fWNsYXNzIF81e2NvbnN0cnVjdG9yKCl7dGhpcy5uZXdWYWx1ZT1uZXcgU3l9aW5wdXRDaGFuZ2UodCl7Y29uc3QgZT10LnRhcmdldC52YWx1ZTtpZih2b2lkIDA9PT10aGlzLnJnKXRoaXMubmV3VmFsdWUuZW1pdChlKTtlbHNle2NvbnN0IHQ9cGFyc2VGbG9hdChlKTt0aGlzLm5ld1ZhbHVlLmVtaXQoe3Y6dCxyZzp0aGlzLnJnfSl9fX1fNS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8XzUpfSxfNS7JtWRpcj1obyh7dHlwZTpfNSxzZWxlY3RvcnM6W1siIiwidGV4dCIsIiJdXSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5pbnB1dENoYW5nZShlKX0pKX0saW5wdXRzOntyZzoicmciLHRleHQ6InRleHQifSxvdXRwdXRzOntuZXdWYWx1ZToibmV3VmFsdWUifX0pLF81LnByb3BEZWNvcmF0b3JzPXtyZzpbe3R5cGU6Ul99XSx0ZXh0Olt7dHlwZTpSX31dLG5ld1ZhbHVlOlt7dHlwZTpFX31dLGlucHV0Q2hhbmdlOlt7dHlwZTpUXyxhcmdzOlsiaW5wdXQiLFsiJGV2ZW50Il1dfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoXzUsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW3RleHRdIn1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW119KSx7bmV3VmFsdWU6W3t0eXBlOkVffV0saW5wdXRDaGFuZ2U6W3t0eXBlOlRfLGFyZ3M6WyJpbnB1dCIsWyIkZXZlbnQiXV19XSxyZzpbe3R5cGU6Ul99XSx0ZXh0Olt7dHlwZTpSX31dfSk7Y2xhc3MgQzV7Y29uc3RydWN0b3IodCl7dGhpcy5lbFJlZj10LHRoaXMuZHJhZ0VuZD1uZXcgU3ksdGhpcy5kcmFnU3RhcnQ9bmV3IFN5LHRoaXMubmV3VmFsdWU9bmV3IFN5LHRoaXMubGlzdGVuZXJNb3ZlPXQ9PnRoaXMubW92ZSh0KSx0aGlzLmxpc3RlbmVyU3RvcD0oKT0+dGhpcy5zdG9wKCl9bW91c2VEb3duKHQpe3RoaXMuc3RhcnQodCl9dG91Y2hTdGFydCh0KXt0aGlzLnN0YXJ0KHQpfW1vdmUodCl7dC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2V0Q3Vyc29yKHQpfXN0YXJ0KHQpe3RoaXMuc2V0Q3Vyc29yKHQpLHQuc3RvcFByb3BhZ2F0aW9uKCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5saXN0ZW5lclN0b3ApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLmxpc3RlbmVyU3RvcCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmxpc3RlbmVyTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0aGlzLmxpc3RlbmVyTW92ZSksdGhpcy5kcmFnU3RhcnQuZW1pdCgpfXN0b3AoKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmxpc3RlbmVyU3RvcCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMubGlzdGVuZXJTdG9wKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMubGlzdGVuZXJNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMubGlzdGVuZXJNb3ZlKSx0aGlzLmRyYWdFbmQuZW1pdCgpfWdldFgodCl7Y29uc3QgZT10aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuKHZvaWQgMCE9PXQucGFnZVg/dC5wYWdlWDp0LnRvdWNoZXNbMF0ucGFnZVgpLWUubGVmdC13aW5kb3cucGFnZVhPZmZzZXR9Z2V0WSh0KXtjb25zdCBlPXRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4odm9pZCAwIT09dC5wYWdlWT90LnBhZ2VZOnQudG91Y2hlc1swXS5wYWdlWSktZS50b3Atd2luZG93LnBhZ2VZT2Zmc2V0fXNldEN1cnNvcih0KXtjb25zdCBlPXRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCxuPXRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQsbz1NYXRoLm1heCgwLE1hdGgubWluKHRoaXMuZ2V0WCh0KSxlKSksaT1NYXRoLm1heCgwLE1hdGgubWluKHRoaXMuZ2V0WSh0KSxuKSk7dm9pZCAwIT09dGhpcy5yZ1gmJnZvaWQgMCE9PXRoaXMucmdZP3RoaXMubmV3VmFsdWUuZW1pdCh7czpvL2UsdjoxLWkvbixyZ1g6dGhpcy5yZ1gscmdZOnRoaXMucmdZfSk6dm9pZCAwPT09dGhpcy5yZ1gmJnZvaWQgMCE9PXRoaXMucmdZP3RoaXMubmV3VmFsdWUuZW1pdCh7djppL24scmdZOnRoaXMucmdZfSk6dm9pZCAwIT09dGhpcy5yZ1gmJnZvaWQgMD09PXRoaXMucmdZJiZ0aGlzLm5ld1ZhbHVlLmVtaXQoe3Y6by9lLHJnWDp0aGlzLnJnWH0pfX1DNS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QzUpKGdmKEtoKSl9LEM1Lsm1ZGlyPWhvKHt0eXBlOkM1LHNlbGVjdG9yczpbWyIiLCJzbGlkZXIiLCIiXV0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJtb3VzZWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm1vdXNlRG93bihlKX0pKSgidG91Y2hzdGFydCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4udG91Y2hTdGFydChlKX0pKX0saW5wdXRzOntyZ1g6InJnWCIscmdZOiJyZ1kiLHNsaWRlcjoic2xpZGVyIn0sb3V0cHV0czp7ZHJhZ0VuZDoiZHJhZ0VuZCIsZHJhZ1N0YXJ0OiJkcmFnU3RhcnQiLG5ld1ZhbHVlOiJuZXdWYWx1ZSJ9fSksQzUuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH1dLEM1LnByb3BEZWNvcmF0b3JzPXtyZ1g6W3t0eXBlOlJffV0scmdZOlt7dHlwZTpSX31dLHNsaWRlcjpbe3R5cGU6Ul99XSxkcmFnRW5kOlt7dHlwZTpFX31dLGRyYWdTdGFydDpbe3R5cGU6RV99XSxuZXdWYWx1ZTpbe3R5cGU6RV99XSxtb3VzZURvd246W3t0eXBlOlRfLGFyZ3M6WyJtb3VzZWRvd24iLFsiJGV2ZW50Il1dfV0sdG91Y2hTdGFydDpbe3R5cGU6VF8sYXJnczpbInRvdWNoc3RhcnQiLFsiJGV2ZW50Il1dfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQzUsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiW3NsaWRlcl0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9XX0pLHtkcmFnRW5kOlt7dHlwZTpFX31dLGRyYWdTdGFydDpbe3R5cGU6RV99XSxuZXdWYWx1ZTpbe3R5cGU6RV99XSxtb3VzZURvd246W3t0eXBlOlRfLGFyZ3M6WyJtb3VzZWRvd24iLFsiJGV2ZW50Il1dfV0sdG91Y2hTdGFydDpbe3R5cGU6VF8sYXJnczpbInRvdWNoc3RhcnQiLFsiJGV2ZW50Il1dfV0scmdYOlt7dHlwZTpSX31dLHJnWTpbe3R5cGU6Ul99XSxzbGlkZXI6W3t0eXBlOlJffV19KTtjbGFzcyBNNXtjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLmg9dCx0aGlzLnM9ZSx0aGlzLnY9bix0aGlzLmE9b319Y2xhc3MgdjV7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5oPXQsdGhpcy5zPWUsdGhpcy52PW4sdGhpcy5hPW99fWNsYXNzIHg1e2NvbnN0cnVjdG9yKCl7dGhpcy5hY3RpdmU9bnVsbH1zZXRBY3RpdmUodCl7dGhpcy5hY3RpdmUmJnRoaXMuYWN0aXZlIT09dCYmImlubGluZSIhPT10aGlzLmFjdGl2ZS5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMuYWN0aXZlLmNsb3NlRGlhbG9nKCksdGhpcy5hY3RpdmU9dH1oc3ZhMmhzbGEodCl7Y29uc3QgZT10Lmgsbj10LnMsbz10LnYsaT10LmE7aWYoMD09PW8pcmV0dXJuIG5ldyBiNShlLDAsMCxpKTtpZigwPT09biYmMT09PW8pcmV0dXJuIG5ldyBiNShlLDEsMSxpKTt7Y29uc3QgdD1vKigyLW4pLzI7cmV0dXJuIG5ldyBiNShlLG8qbi8oMS1NYXRoLmFicygyKnQtMSkpLHQsaSl9fWhzbGEyaHN2YSh0KXtjb25zdCBlPU1hdGgubWluKHQuaCwxKSxuPU1hdGgubWluKHQucywxKSxvPU1hdGgubWluKHQubCwxKSxpPU1hdGgubWluKHQuYSwxKTtpZigwPT09bylyZXR1cm4gbmV3IGg1KGUsMCwwLGkpO3tjb25zdCB0PW8rbiooMS1NYXRoLmFicygyKm8tMSkpLzI7cmV0dXJuIG5ldyBoNShlLDIqKHQtbykvdCx0LGkpfX1oc3ZhVG9SZ2JhKHQpe2xldCBlLG4sbztjb25zdCBpPXQuaCxhPXQucyxyPXQudixzPXQuYSxsPU1hdGguZmxvb3IoNippKSxjPTYqaS1sLGQ9ciooMS1hKSxwPXIqKDEtYyphKSxtPXIqKDEtKDEtYykqYSk7c3dpdGNoKGwlNil7Y2FzZSAwOmU9cixuPW0sbz1kO2JyZWFrO2Nhc2UgMTplPXAsbj1yLG89ZDticmVhaztjYXNlIDI6ZT1kLG49cixvPW07YnJlYWs7Y2FzZSAzOmU9ZCxuPXAsbz1yO2JyZWFrO2Nhc2UgNDplPW0sbj1kLG89cjticmVhaztjYXNlIDU6ZT1yLG49ZCxvPXA7YnJlYWs7ZGVmYXVsdDplPTAsbj0wLG89MH1yZXR1cm4gbmV3IGc1KGUsbixvLHMpfWNteWtUb1JnYih0KXtyZXR1cm4gbmV3IGc1KCgxLXQuYykqKDEtdC5rKSwoMS10Lm0pKigxLXQuayksKDEtdC55KSooMS10LmspLHQuYSl9cmdiYVRvQ215ayh0KXtjb25zdCBlPTEtTWF0aC5tYXgodC5yLHQuZyx0LmIpO2lmKDE9PT1lKXJldHVybiBuZXcgeTUoMCwwLDAsMSx0LmEpO3JldHVybiBuZXcgeTUoKDEtdC5yLWUpLygxLWUpLCgxLXQuZy1lKS8oMS1lKSwoMS10LmItZSkvKDEtZSksZSx0LmEpfXJnYmFUb0hzdmEodCl7bGV0IGUsbjtjb25zdCBvPU1hdGgubWluKHQuciwxKSxpPU1hdGgubWluKHQuZywxKSxhPU1hdGgubWluKHQuYiwxKSxyPU1hdGgubWluKHQuYSwxKSxzPU1hdGgubWF4KG8saSxhKSxsPU1hdGgubWluKG8saSxhKSxjPXMsZD1zLWw7aWYobj0wPT09cz8wOmQvcyxzPT09bCllPTA7ZWxzZXtzd2l0Y2gocyl7Y2FzZSBvOmU9KGktYSkvZCsoaTxhPzY6MCk7YnJlYWs7Y2FzZSBpOmU9KGEtbykvZCsyO2JyZWFrO2Nhc2UgYTplPShvLWkpL2QrNDticmVhaztkZWZhdWx0OmU9MH1lLz02fXJldHVybiBuZXcgaDUoZSxuLGMscil9cmdiYVRvSGV4KHQsZSl7bGV0IG49IiMiKygxPDwyNHx0LnI8PDE2fHQuZzw8OHx0LmIpLnRvU3RyaW5nKDE2KS5zdWJzdHIoMSk7cmV0dXJuIGUmJihuKz0oMjU2fE1hdGgucm91bmQoMjU1KnQuYSkpLnRvU3RyaW5nKDE2KS5zdWJzdHIoMSkpLG59bm9ybWFsaXplQ01ZSyh0KXtyZXR1cm4gbmV3IHk1KHQuYy8xMDAsdC5tLzEwMCx0LnkvMTAwLHQuay8xMDAsdC5hKX1kZW5vcm1hbGl6ZUNNWUsodCl7cmV0dXJuIG5ldyB5NShNYXRoLmZsb29yKDEwMCp0LmMpLE1hdGguZmxvb3IoMTAwKnQubSksTWF0aC5mbG9vcigxMDAqdC55KSxNYXRoLmZsb29yKDEwMCp0LmspLHQuYSl9ZGVub3JtYWxpemVSR0JBKHQpe3JldHVybiBuZXcgZzUoTWF0aC5yb3VuZCgyNTUqdC5yKSxNYXRoLnJvdW5kKDI1NSp0LmcpLE1hdGgucm91bmQoMjU1KnQuYiksdC5hKX1zdHJpbmdUb0hzdmEodD0iIixlPSExKXtsZXQgbj1udWxsO3Q9KHR8fCIiKS50b0xvd2VyQ2FzZSgpO2NvbnN0IG89W3tyZTovKHJnYilhP1woXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KVxzKiU/LFxzKihcZHsxLDN9KVxzKiU/KD86LFxzKihcZCsoPzpcLlxkKyk/KVxzKik/XCkvLHBhcnNlOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgZzUocGFyc2VJbnQodFsyXSwxMCkvMjU1LHBhcnNlSW50KHRbM10sMTApLzI1NSxwYXJzZUludCh0WzRdLDEwKS8yNTUsaXNOYU4ocGFyc2VGbG9hdCh0WzVdKSk/MTpwYXJzZUZsb2F0KHRbNV0pKX19LHtyZTovKGhzbClhP1woXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KSVccyosXHMqKFxkezEsM30pJVxzKig/OixccyooXGQrKD86XC5cZCspPylccyopP1wpLyxwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGI1KHBhcnNlSW50KHRbMl0sMTApLzM2MCxwYXJzZUludCh0WzNdLDEwKS8xMDAscGFyc2VJbnQodFs0XSwxMCkvMTAwLGlzTmFOKHBhcnNlRmxvYXQodFs1XSkpPzE6cGFyc2VGbG9hdCh0WzVdKSl9fV07by5wdXNoKGU/e3JlOi8jKFthLWZBLUYwLTldezJ9KShbYS1mQS1GMC05XXsyfSkoW2EtZkEtRjAtOV17Mn0pKFthLWZBLUYwLTldezJ9KT8kLyxwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGc1KHBhcnNlSW50KHRbMV0sMTYpLzI1NSxwYXJzZUludCh0WzJdLDE2KS8yNTUscGFyc2VJbnQodFszXSwxNikvMjU1LHBhcnNlSW50KHRbNF18fCJGRiIsMTYpLzI1NSl9fTp7cmU6LyMoW2EtZkEtRjAtOV17Mn0pKFthLWZBLUYwLTldezJ9KShbYS1mQS1GMC05XXsyfSkkLyxwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGc1KHBhcnNlSW50KHRbMV0sMTYpLzI1NSxwYXJzZUludCh0WzJdLDE2KS8yNTUscGFyc2VJbnQodFszXSwxNikvMjU1LDEpfX0pLG8ucHVzaCh7cmU6LyMoW2EtZkEtRjAtOV0pKFthLWZBLUYwLTldKShbYS1mQS1GMC05XSkkLyxwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGc1KHBhcnNlSW50KHRbMV0rdFsxXSwxNikvMjU1LHBhcnNlSW50KHRbMl0rdFsyXSwxNikvMjU1LHBhcnNlSW50KHRbM10rdFszXSwxNikvMjU1LDEpfX0pO2Zvcihjb25zdCBlIGluIG8paWYoby5oYXNPd25Qcm9wZXJ0eShlKSl7Y29uc3QgaT1vW2VdLGE9aS5yZS5leGVjKHQpLHI9YSYmaS5wYXJzZShhKTtpZihyKXJldHVybiByIGluc3RhbmNlb2YgZzU/bj10aGlzLnJnYmFUb0hzdmEocik6ciBpbnN0YW5jZW9mIGI1JiYobj10aGlzLmhzbGEyaHN2YShyKSksbn1yZXR1cm4gbn1vdXRwdXRGb3JtYXQodCxlLG4pe3N3aXRjaCgiYXV0byI9PT1lJiYoZT10LmE8MT8icmdiYSI6ImhleCIpLGUpe2Nhc2UiaHNsYSI6Y29uc3QgZT10aGlzLmhzdmEyaHNsYSh0KSxvPW5ldyBiNShNYXRoLnJvdW5kKDM2MCplLmgpLE1hdGgucm91bmQoMTAwKmUucyksTWF0aC5yb3VuZCgxMDAqZS5sKSxNYXRoLnJvdW5kKDEwMCplLmEpLzEwMCk7cmV0dXJuIHQuYTwxfHwiYWx3YXlzIj09PW4/ImhzbGEoIitvLmgrIiwiK28ucysiJSwiK28ubCsiJSwiK28uYSsiKSI6ImhzbCgiK28uaCsiLCIrby5zKyIlLCIrby5sKyIlKSI7Y2FzZSJyZ2JhIjpjb25zdCBpPXRoaXMuZGVub3JtYWxpemVSR0JBKHRoaXMuaHN2YVRvUmdiYSh0KSk7cmV0dXJuIHQuYTwxfHwiYWx3YXlzIj09PW4/InJnYmEoIitpLnIrIiwiK2kuZysiLCIraS5iKyIsIitNYXRoLnJvdW5kKDEwMCppLmEpLzEwMCsiKSI6InJnYigiK2kucisiLCIraS5nKyIsIitpLmIrIikiO2RlZmF1bHQ6Y29uc3QgYT0iYWx3YXlzIj09PW58fCJmb3JjZWQiPT09bjtyZXR1cm4gdGhpcy5yZ2JhVG9IZXgodGhpcy5kZW5vcm1hbGl6ZVJHQkEodGhpcy5oc3ZhVG9SZ2JhKHQpKSxhKX19fXg1Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4NSl9LHg1Lsm1cHJvdj1Tbih7dG9rZW46eDUsZmFjdG9yeTp4NS7JtWZhY30pLHg1LmN0b3JQYXJhbWV0ZXJzPSgpPT5bXSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHg1LFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVybltdfSksbnVsbCk7Y2xhc3MgTzV7Y29uc3RydWN0b3IodCxlLG4pe3RoaXMuZWxSZWY9dCx0aGlzLmNkUmVmPWUsdGhpcy5zZXJ2aWNlPW4sdGhpcy5pc0lFMTA9ITEsdGhpcy5kaWFsb2dBcnJvd1NpemU9MTAsdGhpcy5kaWFsb2dBcnJvd09mZnNldD0xNSx0aGlzLmRpYWxvZ0lucHV0RmllbGRzPVt1NS5IRVgsdTUuUkdCQSx1NS5IU0xBLHU1LkNNWUtdLHRoaXMudXNlUm9vdFZpZXdDb250YWluZXI9ITF9aGFuZGxlRXNjKHQpe3RoaXMuc2hvdyYmInBvcHVwIj09PXRoaXMuY3BEaWFsb2dEaXNwbGF5JiZ0aGlzLm9uQ2FuY2VsQ29sb3IodCl9aGFuZGxlRW50ZXIodCl7dGhpcy5zaG93JiYicG9wdXAiPT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMub25BY2NlcHRDb2xvcih0KX1uZ09uSW5pdCgpe3RoaXMuc2xpZGVyPW5ldyBNNSgwLDAsMCwwKTt0aGlzLnNsaWRlckRpbU1heD1uZXcgdjUodGhpcy5odWVTbGlkZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aHx8MTQwLHRoaXMuY3BXaWR0aCwxMzAsdGhpcy5hbHBoYVNsaWRlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRofHwxNDApLHRoaXMuZm9ybWF0PXRoaXMuY3BDbXlrRW5hYmxlZD91NS5DTVlLOiJyZ2JhIj09PXRoaXMuY3BPdXRwdXRGb3JtYXQ/dTUuUkdCQToiaHNsYSI9PT10aGlzLmNwT3V0cHV0Rm9ybWF0P3U1LkhTTEE6dTUuSEVYLHRoaXMubGlzdGVuZXJNb3VzZURvd249dD0+e3RoaXMub25Nb3VzZURvd24odCl9LHRoaXMubGlzdGVuZXJSZXNpemU9KCk9Pnt0aGlzLm9uUmVzaXplKCl9LHRoaXMub3BlbkRpYWxvZyh0aGlzLmluaXRpYWxDb2xvciwhMSl9bmdPbkRlc3Ryb3koKXt0aGlzLmNsb3NlRGlhbG9nKCl9bmdBZnRlclZpZXdJbml0KCl7aWYoMjMwIT09dGhpcy5jcFdpZHRofHwiaW5saW5lIj09PXRoaXMuY3BEaWFsb2dEaXNwbGF5KXt0aGlzLnNsaWRlckRpbU1heD1uZXcgdjUodGhpcy5odWVTbGlkZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aHx8MTQwLHRoaXMuY3BXaWR0aCwxMzAsdGhpcy5hbHBoYVNsaWRlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRofHwxNDApLHRoaXMudXBkYXRlQ29sb3JQaWNrZXIoITEpLHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpfX1vcGVuRGlhbG9nKHQsZT0hMCl7dGhpcy5zZXJ2aWNlLnNldEFjdGl2ZSh0aGlzKSx0aGlzLndpZHRofHwodGhpcy5jcFdpZHRoPXRoaXMuZGlyZWN0aXZlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKSx0aGlzLmhlaWdodHx8KHRoaXMuaGVpZ2h0PTMyMCksdGhpcy5zZXRJbml0aWFsQ29sb3IodCksdGhpcy5zZXRDb2xvckZyb21TdHJpbmcodCxlKSx0aGlzLm9wZW5Db2xvclBpY2tlcigpfWNsb3NlRGlhbG9nKCl7dGhpcy5jbG9zZUNvbG9yUGlja2VyKCl9c2V0dXBEaWFsb2codCxlLG4sbyxpLGEscixzLGwsYyxkLHAsbSxmLHUsZyxoLGIseSxfLEMsTSx2LHgsTyxQLHcsayxTLEQsUixFLEEsVCxOLHope3RoaXMuc2V0SW5pdGlhbENvbG9yKG4pLHRoaXMuc2V0Q29sb3JNb2RlKHMpLHRoaXMuaXNJRTEwPTEwPT09KGZ1bmN0aW9uIEkoKXtsZXQgdD0iIjsidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmKHQ9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTtjb25zdCBlPXQuaW5kZXhPZigibXNpZSAiKTtyZXR1cm4gZT4wJiZwYXJzZUludCh0LnN1YnN0cmluZyhlKzUsdC5pbmRleE9mKCIuIixlKSksMTApfSkoKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlPXQsdGhpcy5kaXJlY3RpdmVFbGVtZW50UmVmPWUsdGhpcy5jcERpc2FibGVJbnB1dD1wLHRoaXMuY3BDbXlrRW5hYmxlZD1sLHRoaXMuY3BBbHBoYUNoYW5uZWw9Yyx0aGlzLmNwT3V0cHV0Rm9ybWF0PWQsdGhpcy5jcERpYWxvZ0Rpc3BsYXk9YSx0aGlzLmNwSWdub3JlZEVsZW1lbnRzPW0sdGhpcy5jcFNhdmVDbGlja091dHNpZGU9Zix0aGlzLmNwQ2xvc2VDbGlja091dHNpZGU9dSx0aGlzLnVzZVJvb3RWaWV3Q29udGFpbmVyPWcsdGhpcy53aWR0aD10aGlzLmNwV2lkdGg9cGFyc2VJbnQobywxMCksdGhpcy5oZWlnaHQ9dGhpcy5jcEhlaWdodD1wYXJzZUludChpLDEwKSx0aGlzLmNwUG9zaXRpb249aCx0aGlzLmNwUG9zaXRpb25PZmZzZXQ9cGFyc2VJbnQoYiwxMCksdGhpcy5jcE9LQnV0dG9uPVAsdGhpcy5jcE9LQnV0dG9uVGV4dD1rLHRoaXMuY3BPS0J1dHRvbkNsYXNzPXcsdGhpcy5jcENhbmNlbEJ1dHRvbj1TLHRoaXMuY3BDYW5jZWxCdXR0b25UZXh0PVIsdGhpcy5jcENhbmNlbEJ1dHRvbkNsYXNzPUQsdGhpcy5mYWxsYmFja0NvbG9yPXJ8fCIjZmZmIix0aGlzLnNldFByZXNldENvbmZpZyhfLEMpLHRoaXMuY3BQcmVzZXRDb2xvcnNDbGFzcz1NLHRoaXMuY3BNYXhQcmVzZXRDb2xvcnNMZW5ndGg9dix0aGlzLmNwUHJlc2V0RW1wdHlNZXNzYWdlPXgsdGhpcy5jcFByZXNldEVtcHR5TWVzc2FnZUNsYXNzPU8sdGhpcy5jcEFkZENvbG9yQnV0dG9uPUUsdGhpcy5jcEFkZENvbG9yQnV0dG9uVGV4dD1ULHRoaXMuY3BBZGRDb2xvckJ1dHRvbkNsYXNzPUEsdGhpcy5jcFJlbW92ZUNvbG9yQnV0dG9uQ2xhc3M9Tix0aGlzLmNwVHJpZ2dlckVsZW1lbnQ9eix5fHwodGhpcy5kaWFsb2dBcnJvd09mZnNldD0wKSwiaW5saW5lIj09PWEmJih0aGlzLmRpYWxvZ0Fycm93U2l6ZT0wLHRoaXMuZGlhbG9nQXJyb3dPZmZzZXQ9MCksImhleCI9PT1kJiYiYWx3YXlzIiE9PWMmJiJmb3JjZWQiIT09YyYmKHRoaXMuY3BBbHBoYUNoYW5uZWw9ImRpc2FibGVkIil9c2V0Q29sb3JNb2RlKHQpe3N3aXRjaCh0LnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKSl7Y2FzZSIxIjpjYXNlIkMiOmNhc2UiQ09MT1IiOnRoaXMuY3BDb2xvck1vZGU9MTticmVhaztjYXNlIjIiOmNhc2UiRyI6Y2FzZSJHUkFZU0NBTEUiOnRoaXMuY3BDb2xvck1vZGU9MjticmVhaztjYXNlIjMiOmNhc2UiUCI6Y2FzZSJQUkVTRVRTIjp0aGlzLmNwQ29sb3JNb2RlPTM7YnJlYWs7ZGVmYXVsdDp0aGlzLmNwQ29sb3JNb2RlPTF9fXNldEluaXRpYWxDb2xvcih0KXt0aGlzLmluaXRpYWxDb2xvcj10fXNldFByZXNldENvbmZpZyh0LGUpe3RoaXMuY3BQcmVzZXRMYWJlbD10LHRoaXMuY3BQcmVzZXRDb2xvcnM9ZX1zZXRDb2xvckZyb21TdHJpbmcodCxlPSEwLG49ITApe2xldCBvOyJhbHdheXMiPT09dGhpcy5jcEFscGhhQ2hhbm5lbHx8ImZvcmNlZCI9PT10aGlzLmNwQWxwaGFDaGFubmVsPyhvPXRoaXMuc2VydmljZS5zdHJpbmdUb0hzdmEodCwhMCksb3x8dGhpcy5oc3ZhfHwobz10aGlzLnNlcnZpY2Uuc3RyaW5nVG9Ic3ZhKHQsITEpKSk6bz10aGlzLnNlcnZpY2Uuc3RyaW5nVG9Ic3ZhKHQsITEpLG98fHRoaXMuaHN2YXx8KG89dGhpcy5zZXJ2aWNlLnN0cmluZ1RvSHN2YSh0aGlzLmZhbGxiYWNrQ29sb3IsITEpKSxvJiYodGhpcy5oc3ZhPW8sdGhpcy5zbGlkZXJIPXRoaXMuaHN2YS5oLCJoZXgiPT09dGhpcy5jcE91dHB1dEZvcm1hdCYmImRpc2FibGVkIj09PXRoaXMuY3BBbHBoYUNoYW5uZWwmJih0aGlzLmhzdmEuYT0xKSx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKGUsbikpfW9uUmVzaXplKCl7ImZpeGVkIj09PXRoaXMucG9zaXRpb24/dGhpcy5zZXREaWFsb2dQb3NpdGlvbigpOiJpbmxpbmUiIT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMuY2xvc2VDb2xvclBpY2tlcigpfW9uRHJhZ0VuZCh0KXt0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLnNsaWRlckRyYWdFbmQoe3NsaWRlcjp0LGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vbkRyYWdTdGFydCh0KXt0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLnNsaWRlckRyYWdTdGFydCh7c2xpZGVyOnQsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pfW9uTW91c2VEb3duKHQpeyF0aGlzLnNob3d8fHRoaXMuaXNJRTEwfHwicG9wdXAiIT09dGhpcy5jcERpYWxvZ0Rpc3BsYXl8fHQudGFyZ2V0PT09dGhpcy5kaXJlY3RpdmVFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnR8fHRoaXMuaXNEZXNjZW5kYW50KHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCx0LnRhcmdldCl8fHRoaXMuaXNEZXNjZW5kYW50KHRoaXMuZGlyZWN0aXZlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LHQudGFyZ2V0KXx8MCE9PXRoaXMuY3BJZ25vcmVkRWxlbWVudHMuZmlsdGVyKChlPT5lPT09dC50YXJnZXQpKS5sZW5ndGh8fCh0aGlzLmNwU2F2ZUNsaWNrT3V0c2lkZT90aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmNvbG9yU2VsZWN0ZWQodGhpcy5vdXRwdXRDb2xvcik6KHRoaXMuaHN2YT1udWxsLHRoaXMuc2V0Q29sb3JGcm9tU3RyaW5nKHRoaXMuaW5pdGlhbENvbG9yLCExKSx0aGlzLmNwQ215a0VuYWJsZWQmJnRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuY215a0NoYW5nZWQodGhpcy5jbXlrQ29sb3IpLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuY29sb3JDaGFuZ2VkKHRoaXMuaW5pdGlhbENvbG9yKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmNvbG9yQ2FuY2VsZWQoKSksdGhpcy5jcENsb3NlQ2xpY2tPdXRzaWRlJiZ0aGlzLmNsb3NlQ29sb3JQaWNrZXIoKSl9b25BY2NlcHRDb2xvcih0KXt0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMub3V0cHV0Q29sb3ImJnRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuY29sb3JTZWxlY3RlZCh0aGlzLm91dHB1dENvbG9yKSwicG9wdXAiPT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMuY2xvc2VDb2xvclBpY2tlcigpfW9uQ2FuY2VsQ29sb3IodCl7dGhpcy5oc3ZhPW51bGwsdC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmNvbG9yQ2FuY2VsZWQoKSx0aGlzLnNldENvbG9yRnJvbVN0cmluZyh0aGlzLmluaXRpYWxDb2xvciwhMCksInBvcHVwIj09PXRoaXMuY3BEaWFsb2dEaXNwbGF5JiYodGhpcy5jcENteWtFbmFibGVkJiZ0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmNteWtDaGFuZ2VkKHRoaXMuY215a0NvbG9yKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmNvbG9yQ2hhbmdlZCh0aGlzLmluaXRpYWxDb2xvciwhMCksdGhpcy5jbG9zZUNvbG9yUGlja2VyKCkpfW9uRm9ybWF0VG9nZ2xlKHQpe2NvbnN0IGU9dGhpcy5kaWFsb2dJbnB1dEZpZWxkcy5sZW5ndGgtKHRoaXMuY3BDbXlrRW5hYmxlZD8wOjEpLG49KCh0aGlzLmRpYWxvZ0lucHV0RmllbGRzLmluZGV4T2YodGhpcy5mb3JtYXQpK3QpJWUrZSklZTt0aGlzLmZvcm1hdD10aGlzLmRpYWxvZ0lucHV0RmllbGRzW25dfW9uQ29sb3JDaGFuZ2UodCl7dGhpcy5oc3ZhLnM9dC5zL3QucmdYLHRoaXMuaHN2YS52PXQudi90LnJnWSx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5zbGlkZXJDaGFuZ2VkKHtzbGlkZXI6ImxpZ2h0bmVzcyIsdmFsdWU6dGhpcy5oc3ZhLnYsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2Uuc2xpZGVyQ2hhbmdlZCh7c2xpZGVyOiJzYXR1cmF0aW9uIix2YWx1ZTp0aGlzLmhzdmEucyxjb2xvcjp0aGlzLm91dHB1dENvbG9yfSl9b25IdWVDaGFuZ2UodCl7dGhpcy5oc3ZhLmg9dC52L3QucmdYLHRoaXMuc2xpZGVySD10aGlzLmhzdmEuaCx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5zbGlkZXJDaGFuZ2VkKHtzbGlkZXI6Imh1ZSIsdmFsdWU6dGhpcy5oc3ZhLmgsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pfW9uVmFsdWVDaGFuZ2UodCl7dGhpcy5oc3ZhLnY9dC52L3QucmdYLHRoaXMudXBkYXRlQ29sb3JQaWNrZXIoKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLnNsaWRlckNoYW5nZWQoe3NsaWRlcjoidmFsdWUiLHZhbHVlOnRoaXMuaHN2YS52LGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vbkFscGhhQ2hhbmdlKHQpe3RoaXMuaHN2YS5hPXQudi90LnJnWCx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5zbGlkZXJDaGFuZ2VkKHtzbGlkZXI6ImFscGhhIix2YWx1ZTp0aGlzLmhzdmEuYSxjb2xvcjp0aGlzLm91dHB1dENvbG9yfSl9b25IZXhJbnB1dCh0KXtpZihudWxsPT09dCl0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCk7ZWxzZXt0JiYiIyIhPT10WzBdJiYodD0iIyIrdCk7bGV0IGU9L14jKFthLWYwLTldezN9fFthLWYwLTldezZ9KSQvZ2k7ImFsd2F5cyI9PT10aGlzLmNwQWxwaGFDaGFubmVsJiYoZT0vXiMoW2EtZjAtOV17M318W2EtZjAtOV17Nn18W2EtZjAtOV17OH0pJC9naSk7Y29uc3Qgbj1lLnRlc3QodCk7biYmKHQubGVuZ3RoPDUmJih0PSIjIit0LnN1YnN0cmluZygxKS5zcGxpdCgiIikubWFwKCh0PT50K3QpKS5qb2luKCIiKSksImZvcmNlZCI9PT10aGlzLmNwQWxwaGFDaGFubmVsJiYodCs9TWF0aC5yb3VuZCgyNTUqdGhpcy5oc3ZhLmEpLnRvU3RyaW5nKDE2KSksdGhpcy5zZXRDb2xvckZyb21TdHJpbmcodCwhMCwhMSkpLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuaW5wdXRDaGFuZ2VkKHtpbnB1dDoiaGV4Iix2YWxpZDpuLHZhbHVlOnQsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pfX1vblJlZElucHV0KHQpe2NvbnN0IGU9dGhpcy5zZXJ2aWNlLmhzdmFUb1JnYmEodGhpcy5oc3ZhKSxuPSFpc05hTih0LnYpJiZ0LnY+PTAmJnQudjw9dC5yZztuJiYoZS5yPXQudi90LnJnLHRoaXMuaHN2YT10aGlzLnNlcnZpY2UucmdiYVRvSHN2YShlKSx0aGlzLnNsaWRlckg9dGhpcy5oc3ZhLmgsdGhpcy51cGRhdGVDb2xvclBpY2tlcigpKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmlucHV0Q2hhbmdlZCh7aW5wdXQ6InJlZCIsdmFsaWQ6bix2YWx1ZTplLnIsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pfW9uQmx1ZUlucHV0KHQpe2NvbnN0IGU9dGhpcy5zZXJ2aWNlLmhzdmFUb1JnYmEodGhpcy5oc3ZhKSxuPSFpc05hTih0LnYpJiZ0LnY+PTAmJnQudjw9dC5yZztuJiYoZS5iPXQudi90LnJnLHRoaXMuaHN2YT10aGlzLnNlcnZpY2UucmdiYVRvSHN2YShlKSx0aGlzLnNsaWRlckg9dGhpcy5oc3ZhLmgsdGhpcy51cGRhdGVDb2xvclBpY2tlcigpKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmlucHV0Q2hhbmdlZCh7aW5wdXQ6ImJsdWUiLHZhbGlkOm4sdmFsdWU6ZS5iLGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vbkdyZWVuSW5wdXQodCl7Y29uc3QgZT10aGlzLnNlcnZpY2UuaHN2YVRvUmdiYSh0aGlzLmhzdmEpLG49IWlzTmFOKHQudikmJnQudj49MCYmdC52PD10LnJnO24mJihlLmc9dC52L3QucmcsdGhpcy5oc3ZhPXRoaXMuc2VydmljZS5yZ2JhVG9Ic3ZhKGUpLHRoaXMuc2xpZGVySD10aGlzLmhzdmEuaCx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCkpLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuaW5wdXRDaGFuZ2VkKHtpbnB1dDoiZ3JlZW4iLHZhbGlkOm4sdmFsdWU6ZS5nLGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vbkh1ZUlucHV0KHQpe2NvbnN0IGU9IWlzTmFOKHQudikmJnQudj49MCYmdC52PD10LnJnO2UmJih0aGlzLmhzdmEuaD10LnYvdC5yZyx0aGlzLnNsaWRlckg9dGhpcy5oc3ZhLmgsdGhpcy51cGRhdGVDb2xvclBpY2tlcigpKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmlucHV0Q2hhbmdlZCh7aW5wdXQ6Imh1ZSIsdmFsaWQ6ZSx2YWx1ZTp0aGlzLmhzdmEuaCxjb2xvcjp0aGlzLm91dHB1dENvbG9yfSl9b25WYWx1ZUlucHV0KHQpe2NvbnN0IGU9IWlzTmFOKHQudikmJnQudj49MCYmdC52PD10LnJnO2UmJih0aGlzLmhzdmEudj10LnYvdC5yZyx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCkpLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuaW5wdXRDaGFuZ2VkKHtpbnB1dDoidmFsdWUiLHZhbGlkOmUsdmFsdWU6dGhpcy5oc3ZhLnYsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pfW9uQWxwaGFJbnB1dCh0KXtjb25zdCBlPSFpc05hTih0LnYpJiZ0LnY+PTAmJnQudjw9dC5yZztlJiYodGhpcy5oc3ZhLmE9dC52L3QucmcsdGhpcy51cGRhdGVDb2xvclBpY2tlcigpKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmlucHV0Q2hhbmdlZCh7aW5wdXQ6ImFscGhhIix2YWxpZDplLHZhbHVlOnRoaXMuaHN2YS5hLGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vbkxpZ2h0bmVzc0lucHV0KHQpe2NvbnN0IGU9dGhpcy5zZXJ2aWNlLmhzdmEyaHNsYSh0aGlzLmhzdmEpLG49IWlzTmFOKHQudikmJnQudj49MCYmdC52PD10LnJnO24mJihlLmw9dC52L3QucmcsdGhpcy5oc3ZhPXRoaXMuc2VydmljZS5oc2xhMmhzdmEoZSksdGhpcy5zbGlkZXJIPXRoaXMuaHN2YS5oLHRoaXMudXBkYXRlQ29sb3JQaWNrZXIoKSksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5pbnB1dENoYW5nZWQoe2lucHV0OiJsaWdodG5lc3MiLHZhbGlkOm4sdmFsdWU6ZS5sLGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vblNhdHVyYXRpb25JbnB1dCh0KXtjb25zdCBlPXRoaXMuc2VydmljZS5oc3ZhMmhzbGEodGhpcy5oc3ZhKSxuPSFpc05hTih0LnYpJiZ0LnY+PTAmJnQudjw9dC5yZztuJiYoZS5zPXQudi90LnJnLHRoaXMuaHN2YT10aGlzLnNlcnZpY2UuaHNsYTJoc3ZhKGUpLHRoaXMuc2xpZGVySD10aGlzLmhzdmEuaCx0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCkpLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2UuaW5wdXRDaGFuZ2VkKHtpbnB1dDoic2F0dXJhdGlvbiIsdmFsaWQ6bix2YWx1ZTplLnMsY29sb3I6dGhpcy5vdXRwdXRDb2xvcn0pfW9uQ3lhbklucHV0KHQpeyFpc05hTih0LnYpJiZ0LnY+PTAmJnQudjw9dC5yZyYmKHRoaXMuY215ay5jPXQudix0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCExLCEwLCEwKSksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5pbnB1dENoYW5nZWQoe2lucHV0OiJjeWFuIix2YWxpZDohMCx2YWx1ZTp0aGlzLmNteWsuYyxjb2xvcjp0aGlzLm91dHB1dENvbG9yfSl9b25NYWdlbnRhSW5wdXQodCl7IWlzTmFOKHQudikmJnQudj49MCYmdC52PD10LnJnJiYodGhpcy5jbXlrLm09dC52LHRoaXMudXBkYXRlQ29sb3JQaWNrZXIoITEsITAsITApKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmlucHV0Q2hhbmdlZCh7aW5wdXQ6Im1hZ2VudGEiLHZhbGlkOiEwLHZhbHVlOnRoaXMuY215ay5tLGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vblllbGxvd0lucHV0KHQpeyFpc05hTih0LnYpJiZ0LnY+PTAmJnQudjw9dC5yZyYmKHRoaXMuY215ay55PXQudix0aGlzLnVwZGF0ZUNvbG9yUGlja2VyKCExLCEwLCEwKSksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5pbnB1dENoYW5nZWQoe2lucHV0OiJ5ZWxsb3ciLHZhbGlkOiEwLHZhbHVlOnRoaXMuY215ay55LGNvbG9yOnRoaXMub3V0cHV0Q29sb3J9KX1vbkJsYWNrSW5wdXQodCl7IWlzTmFOKHQudikmJnQudj49MCYmdC52PD10LnJnJiYodGhpcy5jbXlrLms9dC52LHRoaXMudXBkYXRlQ29sb3JQaWNrZXIoITEsITAsITApKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLmlucHV0Q2hhbmdlZCh7aW5wdXQ6ImJsYWNrIix2YWxpZDohMCx2YWx1ZTp0aGlzLmNteWsuayxjb2xvcjp0aGlzLm91dHB1dENvbG9yfSl9b25BZGRQcmVzZXRDb2xvcih0LGUpe3Quc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5jcFByZXNldENvbG9ycy5maWx0ZXIoKHQ9PnQ9PT1lKSkubGVuZ3RofHwodGhpcy5jcFByZXNldENvbG9ycz10aGlzLmNwUHJlc2V0Q29sb3JzLmNvbmNhdChlKSx0aGlzLmRpcmVjdGl2ZUluc3RhbmNlLnByZXNldENvbG9yc0NoYW5nZWQodGhpcy5jcFByZXNldENvbG9ycykpfW9uUmVtb3ZlUHJlc2V0Q29sb3IodCxlKXt0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY3BQcmVzZXRDb2xvcnM9dGhpcy5jcFByZXNldENvbG9ycy5maWx0ZXIoKHQ9PnQhPT1lKSksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5wcmVzZXRDb2xvcnNDaGFuZ2VkKHRoaXMuY3BQcmVzZXRDb2xvcnMpfW9wZW5Db2xvclBpY2tlcigpe3RoaXMuc2hvd3x8KHRoaXMuc2hvdz0hMCx0aGlzLmhpZGRlbj0hMCxzZXRUaW1lb3V0KCgoKT0+e3RoaXMuaGlkZGVuPSExLHRoaXMuc2V0RGlhbG9nUG9zaXRpb24oKSx0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKX0pLDApLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2Uuc3RhdGVDaGFuZ2VkKCEwKSx0aGlzLmlzSUUxMHx8KGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5saXN0ZW5lck1vdXNlRG93biksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5saXN0ZW5lck1vdXNlRG93bikpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMubGlzdGVuZXJSZXNpemUpKX1jbG9zZUNvbG9yUGlja2VyKCl7dGhpcy5zaG93JiYodGhpcy5zaG93PSExLHRoaXMuZGlyZWN0aXZlSW5zdGFuY2Uuc3RhdGVDaGFuZ2VkKCExKSx0aGlzLmlzSUUxMHx8KGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5saXN0ZW5lck1vdXNlRG93biksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5saXN0ZW5lck1vdXNlRG93bikpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMubGlzdGVuZXJSZXNpemUpLHRoaXMuY2RSZWYuZGVzdHJveWVkfHx0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKSl9dXBkYXRlQ29sb3JQaWNrZXIodD0hMCxlPSEwLG49ITEpe2lmKHRoaXMuc2xpZGVyRGltTWF4KXtsZXQgbyxpLGE7Mj09PXRoaXMuY3BDb2xvck1vZGUmJih0aGlzLmhzdmEucz0wKTtjb25zdCByPXRoaXMub3V0cHV0Q29sb3I7aWYoaT10aGlzLnNlcnZpY2UuaHN2YTJoc2xhKHRoaXMuaHN2YSksdGhpcy5jcENteWtFbmFibGVkPyhuPyhhPXRoaXMuc2VydmljZS5jbXlrVG9SZ2IodGhpcy5zZXJ2aWNlLm5vcm1hbGl6ZUNNWUsodGhpcy5jbXlrKSksdGhpcy5oc3ZhPXRoaXMuc2VydmljZS5yZ2JhVG9Ic3ZhKGEpKTooYT10aGlzLnNlcnZpY2UuaHN2YVRvUmdiYSh0aGlzLmhzdmEpLHRoaXMuY215az10aGlzLnNlcnZpY2UuZGVub3JtYWxpemVDTVlLKHRoaXMuc2VydmljZS5yZ2JhVG9DbXlrKGEpKSksYT10aGlzLnNlcnZpY2UuZGVub3JtYWxpemVSR0JBKGEpLHRoaXMuc2xpZGVySD10aGlzLmhzdmEuaCk6YT10aGlzLnNlcnZpY2UuZGVub3JtYWxpemVSR0JBKHRoaXMuc2VydmljZS5oc3ZhVG9SZ2JhKHRoaXMuaHN2YSkpLG89dGhpcy5zZXJ2aWNlLmRlbm9ybWFsaXplUkdCQSh0aGlzLnNlcnZpY2UuaHN2YVRvUmdiYShuZXcgaDUodGhpcy5zbGlkZXJIfHx0aGlzLmhzdmEuaCwxLDEsMSkpKSxlKXt0aGlzLmhzbGFUZXh0PW5ldyBiNShNYXRoLnJvdW5kKDM2MCppLmgpLE1hdGgucm91bmQoMTAwKmkucyksTWF0aC5yb3VuZCgxMDAqaS5sKSxNYXRoLnJvdW5kKDEwMCppLmEpLzEwMCksdGhpcy5yZ2JhVGV4dD1uZXcgZzUoYS5yLGEuZyxhLmIsTWF0aC5yb3VuZCgxMDAqYS5hKS8xMDApLHRoaXMuY3BDbXlrRW5hYmxlZCYmKHRoaXMuY215a1RleHQ9bmV3IHk1KHRoaXMuY215ay5jLHRoaXMuY215ay5tLHRoaXMuY215ay55LHRoaXMuY215ay5rLE1hdGgucm91bmQoMTAwKnRoaXMuY215ay5hKS8xMDApKTt0aGlzLmhleFRleHQ9dGhpcy5zZXJ2aWNlLnJnYmFUb0hleChhLCJhbHdheXMiPT09dGhpcy5jcEFscGhhQ2hhbm5lbCksdGhpcy5oZXhBbHBoYT10aGlzLnJnYmFUZXh0LmF9aWYoImF1dG8iPT09dGhpcy5jcE91dHB1dEZvcm1hdCYmdGhpcy5mb3JtYXQhPT11NS5SR0JBJiZ0aGlzLmZvcm1hdCE9PXU1LkNNWUsmJnRoaXMuaHN2YS5hPDEmJih0aGlzLmZvcm1hdD10aGlzLmhzdmEuYTwxP3U1LlJHQkE6dTUuSEVYKSx0aGlzLmh1ZVNsaWRlckNvbG9yPSJyZ2IoIitvLnIrIiwiK28uZysiLCIrby5iKyIpIix0aGlzLmFscGhhU2xpZGVyQ29sb3I9InJnYigiK2EucisiLCIrYS5nKyIsIithLmIrIikiLHRoaXMub3V0cHV0Q29sb3I9dGhpcy5zZXJ2aWNlLm91dHB1dEZvcm1hdCh0aGlzLmhzdmEsdGhpcy5jcE91dHB1dEZvcm1hdCx0aGlzLmNwQWxwaGFDaGFubmVsKSx0aGlzLnNlbGVjdGVkQ29sb3I9dGhpcy5zZXJ2aWNlLm91dHB1dEZvcm1hdCh0aGlzLmhzdmEsInJnYmEiLG51bGwpLHRoaXMuZm9ybWF0IT09dTUuQ01ZSyl0aGlzLmNteWtDb2xvcj0iIjtlbHNlIGlmKCJhbHdheXMiPT09dGhpcy5jcEFscGhhQ2hhbm5lbHx8ImVuYWJsZWQiPT09dGhpcy5jcEFscGhhQ2hhbm5lbHx8ImZvcmNlZCI9PT10aGlzLmNwQWxwaGFDaGFubmVsKXtjb25zdCB0PU1hdGgucm91bmQoMTAwKnRoaXMuY215ay5hKS8xMDA7dGhpcy5jbXlrQ29sb3I9YGNteWthKCR7dGhpcy5jbXlrLmN9LCR7dGhpcy5jbXlrLm19LCR7dGhpcy5jbXlrLnl9LCR7dGhpcy5jbXlrLmt9LCR7dH0pYH1lbHNlIHRoaXMuY215a0NvbG9yPWBjbXlrKCR7dGhpcy5jbXlrLmN9LCR7dGhpcy5jbXlrLm19LCR7dGhpcy5jbXlrLnl9LCR7dGhpcy5jbXlrLmt9KWA7dGhpcy5zbGlkZXI9bmV3IE01KCh0aGlzLnNsaWRlckh8fHRoaXMuaHN2YS5oKSp0aGlzLnNsaWRlckRpbU1heC5oLTgsdGhpcy5oc3ZhLnMqdGhpcy5zbGlkZXJEaW1NYXgucy04LCgxLXRoaXMuaHN2YS52KSp0aGlzLnNsaWRlckRpbU1heC52LTgsdGhpcy5oc3ZhLmEqdGhpcy5zbGlkZXJEaW1NYXguYS04KSx0JiZyIT09dGhpcy5vdXRwdXRDb2xvciYmKHRoaXMuY3BDbXlrRW5hYmxlZCYmdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5jbXlrQ2hhbmdlZCh0aGlzLmNteWtDb2xvciksdGhpcy5kaXJlY3RpdmVJbnN0YW5jZS5jb2xvckNoYW5nZWQodGhpcy5vdXRwdXRDb2xvcikpfX1zZXREaWFsb2dQb3NpdGlvbigpe2lmKCJpbmxpbmUiPT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkpdGhpcy5wb3NpdGlvbj0icmVsYXRpdmUiO2Vsc2V7bGV0IHQsZT0ic3RhdGljIixuPSIiLG89bnVsbCxpPW51bGwsYT10aGlzLmRpcmVjdGl2ZUVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlO2NvbnN0IHI9dGhpcy5kaWFsb2dFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O2Zvcig7bnVsbCE9PWEmJiJIVE1MIiE9PWEudGFnTmFtZTspe2lmKHQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUoYSksZT10LmdldFByb3BlcnR5VmFsdWUoInBvc2l0aW9uIiksbj10LmdldFByb3BlcnR5VmFsdWUoInRyYW5zZm9ybSIpLCJzdGF0aWMiIT09ZSYmbnVsbD09PW8mJihvPWEpLG4mJiJub25lIiE9PW4mJm51bGw9PT1pJiYoaT1hKSwiZml4ZWQiPT09ZSl7bz1pO2JyZWFrfWE9YS5wYXJlbnROb2RlfWNvbnN0IHM9dGhpcy5jcmVhdGVEaWFsb2dCb3godGhpcy5kaXJlY3RpdmVFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsImZpeGVkIiE9PWUpO2lmKHRoaXMudXNlUm9vdFZpZXdDb250YWluZXJ8fCJmaXhlZCI9PT1lJiYoIW98fG8gaW5zdGFuY2VvZiBIVE1MVW5rbm93bkVsZW1lbnQpKXRoaXMudG9wPXMudG9wLHRoaXMubGVmdD1zLmxlZnQ7ZWxzZXtudWxsPT09byYmKG89YSk7Y29uc3QgdD10aGlzLmNyZWF0ZURpYWxvZ0JveChvLCJmaXhlZCIhPT1lKTt0aGlzLnRvcD1zLnRvcC10LnRvcCx0aGlzLmxlZnQ9cy5sZWZ0LXQubGVmdH0iZml4ZWQiPT09ZSYmKHRoaXMucG9zaXRpb249ImZpeGVkIik7bGV0IGw9dGhpcy5jcFBvc2l0aW9uO2lmKCJhdXRvIj09PXRoaXMuY3BQb3NpdGlvbil7bD0oZnVuY3Rpb24gdChlLG4pe2xldCBvPSJyaWdodCIsaT0iYm90dG9tIjtjb25zdHtoZWlnaHQ6YSx3aWR0aDpyfT1lLHt0b3A6cyxsZWZ0Omx9PW4sYz1zK24uaGVpZ2h0LGQ9bCtuLndpZHRoLHA9cy1hPDAsbT1jK2E+KHdpbmRvdy5pbm5lckhlaWdodHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCksZj1sLXI8MCx1PWQrcj4od2luZG93LmlubmVyV2lkdGh8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCk7aWYobSYmKGk9InRvcCIpLHAmJihpPSJib3R0b20iKSxmJiYobz0icmlnaHQiKSx1JiYobz0ibGVmdCIpLHAmJm0mJmYmJnUpcmV0dXJuWyJsZWZ0IiwicmlnaHQiLCJ0b3AiLCJib3R0b20iXS5yZWR1Y2UoKCh0LG4pPT5lW3RdPmVbbl0/dDpuKSk7cmV0dXJuIGYmJnU/cD8iYm90dG9tIjptfHxzPmM/InRvcCI6ImJvdHRvbSI6cCYmbT9mPyJyaWdodCI6dXx8bD5kPyJsZWZ0IjoicmlnaHQiOmAke2l9LSR7b31gfSkodGhpcy5kaWFsb2dFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdGhpcy5jcFRyaWdnZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpfSJ0b3AiPT09bD8odGhpcy5hcnJvd1RvcD1yLTEsdGhpcy50b3AtPXIrdGhpcy5kaWFsb2dBcnJvd1NpemUsdGhpcy5sZWZ0Kz10aGlzLmNwUG9zaXRpb25PZmZzZXQvMTAwKnMud2lkdGgtdGhpcy5kaWFsb2dBcnJvd09mZnNldCk6ImJvdHRvbSI9PT1sPyh0aGlzLnRvcCs9cy5oZWlnaHQrdGhpcy5kaWFsb2dBcnJvd1NpemUsdGhpcy5sZWZ0Kz10aGlzLmNwUG9zaXRpb25PZmZzZXQvMTAwKnMud2lkdGgtdGhpcy5kaWFsb2dBcnJvd09mZnNldCk6InRvcC1sZWZ0Ij09PWx8fCJsZWZ0LXRvcCI9PT1sPyh0aGlzLnRvcC09ci1zLmhlaWdodCtzLmhlaWdodCp0aGlzLmNwUG9zaXRpb25PZmZzZXQvMTAwLHRoaXMubGVmdC09dGhpcy5jcFdpZHRoK3RoaXMuZGlhbG9nQXJyb3dTaXplLTItdGhpcy5kaWFsb2dBcnJvd09mZnNldCk6InRvcC1yaWdodCI9PT1sfHwicmlnaHQtdG9wIj09PWw/KHRoaXMudG9wLT1yLXMuaGVpZ2h0K3MuaGVpZ2h0KnRoaXMuY3BQb3NpdGlvbk9mZnNldC8xMDAsdGhpcy5sZWZ0Kz1zLndpZHRoK3RoaXMuZGlhbG9nQXJyb3dTaXplLTItdGhpcy5kaWFsb2dBcnJvd09mZnNldCk6ImxlZnQiPT09bHx8ImJvdHRvbS1sZWZ0Ij09PWx8fCJsZWZ0LWJvdHRvbSI9PT1sPyh0aGlzLnRvcCs9cy5oZWlnaHQqdGhpcy5jcFBvc2l0aW9uT2Zmc2V0LzEwMC10aGlzLmRpYWxvZ0Fycm93T2Zmc2V0LHRoaXMubGVmdC09dGhpcy5jcFdpZHRoK3RoaXMuZGlhbG9nQXJyb3dTaXplLTIpOih0aGlzLnRvcCs9cy5oZWlnaHQqdGhpcy5jcFBvc2l0aW9uT2Zmc2V0LzEwMC10aGlzLmRpYWxvZ0Fycm93T2Zmc2V0LHRoaXMubGVmdCs9cy53aWR0aCt0aGlzLmRpYWxvZ0Fycm93U2l6ZS0yKSx0aGlzLmNwVXNlUG9zaXRpb249bH19aXNEZXNjZW5kYW50KHQsZSl7bGV0IG49ZS5wYXJlbnROb2RlO2Zvcig7bnVsbCE9PW47KXtpZihuPT09dClyZXR1cm4hMDtuPW4ucGFyZW50Tm9kZX1yZXR1cm4hMX1jcmVhdGVEaWFsb2dCb3godCxlKXtyZXR1cm57dG9wOnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wKyhlP3dpbmRvdy5wYWdlWU9mZnNldDowKSxsZWZ0OnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCsoZT93aW5kb3cucGFnZVhPZmZzZXQ6MCksd2lkdGg6dC5vZmZzZXRXaWR0aCxoZWlnaHQ6dC5vZmZzZXRIZWlnaHR9fX1PNS7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TzUpKGdmKEtoKSxnZihPYiksZ2YoeDUpKX0sTzUuybVjbXA9c28oe3R5cGU6TzUsc2VsZWN0b3JzOltbImNvbG9yLXBpY2tlciJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKFZ5KEYyLDcpLFZ5KEwyLDcpLFZ5KEIyLDcpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLmRpYWxvZ0VsZW1lbnQ9dC5maXJzdCksQnkodD1VeSgpKSYmKG4uaHVlU2xpZGVyPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLmFscGhhU2xpZGVyPXQuZmlyc3QpfX0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJrZXl1cC5lc2MiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmhhbmRsZUVzYyhlKX0pLCExLFBsKSgia2V5dXAuZW50ZXIiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmhhbmRsZUVudGVyKGUpfSksITEsUGwpfSxkZWNsczoyOCx2YXJzOjQ3LGNvbnN0czpbWzEsImNvbG9yLXBpY2tlciIsMywiY2xpY2siXSxbImRpYWxvZ1BvcHVwIiwiIl0sWzMsImNsYXNzIiwidG9wIiw0LCJuZ0lmIl0sWyJjbGFzcyIsInNhdHVyYXRpb24tbGlnaHRuZXNzIiwzLCJzbGlkZXIiLCJyZ1giLCJyZ1kiLCJiYWNrZ3JvdW5kLWNvbG9yIiwibmV3VmFsdWUiLCJkcmFnU3RhcnQiLCJkcmFnRW5kIiw0LCJuZ0lmIl0sWzEsImh1ZS1hbHBoYSIsImJveCJdLFsxLCJsZWZ0Il0sWzEsInNlbGVjdGVkLWNvbG9yLWJhY2tncm91bmQiXSxbMSwic2VsZWN0ZWQtY29sb3IiXSxbInR5cGUiLCJidXR0b24iLDMsImNsYXNzIiwiZGlzYWJsZWQiLCJjbGljayIsNCwibmdJZiJdLFsxLCJyaWdodCJdLFsic3R5bGUiLCJoZWlnaHQ6IDE2cHg7Iiw0LCJuZ0lmIl0sWzEsImh1ZSIsMywic2xpZGVyIiwicmdYIiwibmV3VmFsdWUiLCJkcmFnU3RhcnQiLCJkcmFnRW5kIl0sWyJodWVTbGlkZXIiLCIiXSxbMSwiY3Vyc29yIl0sWzEsInZhbHVlIiwzLCJzbGlkZXIiLCJyZ1giLCJuZXdWYWx1ZSIsImRyYWdTdGFydCIsImRyYWdFbmQiXSxbInZhbHVlU2xpZGVyIiwiIl0sWzEsImFscGhhIiwzLCJzbGlkZXIiLCJyZ1giLCJuZXdWYWx1ZSIsImRyYWdTdGFydCIsImRyYWdFbmQiXSxbImFscGhhU2xpZGVyIiwiIl0sWyJjbGFzcyIsImNteWstdGV4dCIsMywiZGlzcGxheSIsNCwibmdJZiJdLFsiY2xhc3MiLCJoc2xhLXRleHQiLDMsImRpc3BsYXkiLDQsIm5nSWYiXSxbImNsYXNzIiwicmdiYS10ZXh0IiwzLCJkaXNwbGF5Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsImhleC10ZXh0IiwzLCJoZXgtYWxwaGEiLCJkaXNwbGF5Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsInZhbHVlLXRleHQiLDQsIm5nSWYiXSxbImNsYXNzIiwidHlwZS1wb2xpY3kiLDQsIm5nSWYiXSxbImNsYXNzIiwicHJlc2V0LWFyZWEiLDQsIm5nSWYiXSxbImNsYXNzIiwiYnV0dG9uLWFyZWEiLDQsIm5nSWYiXSxbMSwic2F0dXJhdGlvbi1saWdodG5lc3MiLDMsInNsaWRlciIsInJnWCIsInJnWSIsIm5ld1ZhbHVlIiwiZHJhZ1N0YXJ0IiwiZHJhZ0VuZCJdLFsidHlwZSIsImJ1dHRvbiIsMywiZGlzYWJsZWQiLCJjbGljayJdLFsyLCJoZWlnaHQiLCIxNnB4Il0sWzEsImNteWstdGV4dCJdLFsxLCJib3giXSxbInR5cGUiLCJudW1iZXIiLCJwYXR0ZXJuIiwiWzAtOV0qIiwibWluIiwiMCIsIm1heCIsIjEwMCIsMywidGV4dCIsInJnIiwidmFsdWUiLCJrZXl1cC5lbnRlciIsIm5ld1ZhbHVlIl0sWyJ0eXBlIiwibnVtYmVyIiwicGF0dGVybiIsIlswLTldKyhbXFwuLF1bMC05XXsxLDJ9KT8iLCJtaW4iLCIwIiwibWF4IiwiMSIsInN0ZXAiLCIwLjEiLDMsInRleHQiLCJyZyIsInZhbHVlIiwia2V5dXAuZW50ZXIiLCJuZXdWYWx1ZSIsNCwibmdJZiJdLFs0LCJuZ0lmIl0sWyJ0eXBlIiwibnVtYmVyIiwicGF0dGVybiIsIlswLTldKyhbXFwuLF1bMC05XXsxLDJ9KT8iLCJtaW4iLCIwIiwibWF4IiwiMSIsInN0ZXAiLCIwLjEiLDMsInRleHQiLCJyZyIsInZhbHVlIiwia2V5dXAuZW50ZXIiLCJuZXdWYWx1ZSJdLFsxLCJoc2xhLXRleHQiXSxbInR5cGUiLCJudW1iZXIiLCJwYXR0ZXJuIiwiWzAtOV0qIiwibWluIiwiMCIsIm1heCIsIjM2MCIsMywidGV4dCIsInJnIiwidmFsdWUiLCJrZXl1cC5lbnRlciIsIm5ld1ZhbHVlIl0sWzEsInJnYmEtdGV4dCJdLFsidHlwZSIsIm51bWJlciIsInBhdHRlcm4iLCJbMC05XSoiLCJtaW4iLCIwIiwibWF4IiwiMjU1IiwzLCJ0ZXh0IiwicmciLCJ2YWx1ZSIsImtleXVwLmVudGVyIiwibmV3VmFsdWUiXSxbMSwiaGV4LXRleHQiXSxbMywidGV4dCIsInZhbHVlIiwiYmx1ciIsImtleXVwLmVudGVyIiwibmV3VmFsdWUiXSxbMSwidmFsdWUtdGV4dCJdLFsxLCJ0eXBlLXBvbGljeSJdLFsxLCJ0eXBlLXBvbGljeS1hcnJvdyIsMywiY2xpY2siXSxbMSwicHJlc2V0LWFyZWEiXSxbMSwicHJlc2V0LWxhYmVsIl0sWzMsImNsYXNzIiw0LCJuZ0lmIl0sWyJjbGFzcyIsInByZXNldC1jb2xvciIsMywiYmFja2dyb3VuZENvbG9yIiwiY2xpY2siLDQsIm5nRm9yIiwibmdGb3JPZiJdLFsxLCJwcmVzZXQtY29sb3IiLDMsImNsaWNrIl0sWzMsImNsYXNzIiwiY2xpY2siLDQsIm5nSWYiXSxbMywiY2xpY2siXSxbMSwiYnV0dG9uLWFyZWEiXSxbInR5cGUiLCJidXR0b24iLDMsImNsYXNzIiwiY2xpY2siLDQsIm5nSWYiXSxbInR5cGUiLCJidXR0b24iLDMsImNsaWNrIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDAsMSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKX0pKSxIbSgyLFYyLDEsNSwiZGl2IiwyKSxIbSgzLGoyLDIsOCwiZGl2IiwzKSxDZig0LCJkaXYiLDQpLENmKDUsImRpdiIsNSksdmYoNiwiZGl2Iiw2KSx2Zig3LCJkaXYiLDcpLEhtKDgsVTIsMiw1LCJidXR0b24iLDgpLE1mKCksQ2YoOSwiZGl2Iiw5KSxIbSgxMCxXMiwxLDAsImRpdiIsMTApLENmKDExLCJkaXYiLDExLDEyKSxSZigibmV3VmFsdWUiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uSHVlQ2hhbmdlKGUpfSkpKCJkcmFnU3RhcnQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25EcmFnU3RhcnQoImh1ZSIpfSkpKCJkcmFnRW5kIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRHJhZ0VuZCgiaHVlIil9KSksdmYoMTMsImRpdiIsMTMpLE1mKCksQ2YoMTQsImRpdiIsMTQsMTUpLFJmKCJuZXdWYWx1ZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25WYWx1ZUNoYW5nZShlKX0pKSgiZHJhZ1N0YXJ0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRHJhZ1N0YXJ0KCJ2YWx1ZSIpfSkpKCJkcmFnRW5kIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRHJhZ0VuZCgidmFsdWUiKX0pKSx2ZigxNiwiZGl2IiwxMyksTWYoKSxDZigxNywiZGl2IiwxNiwxNyksUmYoIm5ld1ZhbHVlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkFscGhhQ2hhbmdlKGUpfSkpKCJkcmFnU3RhcnQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25EcmFnU3RhcnQoImFscGhhIil9KSkoImRyYWdFbmQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25EcmFnRW5kKCJhbHBoYSIpfSkpLHZmKDE5LCJkaXYiLDEzKSxNZigpLE1mKCksTWYoKSxIbSgyMCxxMiwxNywxMiwiZGl2IiwxOCksSG0oMjEsSzIsMTQsMTAsImRpdiIsMTkpLEhtKDIyLCQyLDE0LDEwLCJkaXYiLDIwKSxIbSgyMyxuNSw4LDcsImRpdiIsMjEpLEhtKDI0LGk1LDksMywiZGl2IiwyMiksSG0oMjUsYTUsMywwLCJkaXYiLDIzKSxIbSgyNixkNSw2LDMsImRpdiIsMjQpLEhtKDI3LGY1LDMsMiwiZGl2IiwyNSksTWYoKSksMiZlJiYobHUoImRpc3BsYXkiLG4uc2hvdz8iYmxvY2siOiJub25lIikoInZpc2liaWxpdHkiLG4uaGlkZGVuPyJoaWRkZW4iOiJ2aXNpYmxlIikoInRvcCIsbi50b3AsInB4IikoImxlZnQiLG4ubGVmdCwicHgiKSgicG9zaXRpb24iLG4ucG9zaXRpb24pKCJoZWlnaHQiLG4uY3BIZWlnaHQsInB4IikoIndpZHRoIixuLmNwV2lkdGgsInB4IiksY3UoIm9wZW4iLG4uc2hvdyksRGMoMiksYmYoIm5nSWYiLCJwb3B1cCI9PW4uY3BEaWFsb2dEaXNwbGF5KSxEYygxKSxiZigibmdJZiIsMT09PShuLmNwQ29sb3JNb2RlfHwxKSksRGMoNCksbHUoImJhY2tncm91bmQtY29sb3IiLG4uc2VsZWN0ZWRDb2xvciksRGMoMSksYmYoIm5nSWYiLG4uY3BBZGRDb2xvckJ1dHRvbiksRGMoMiksYmYoIm5nSWYiLCJkaXNhYmxlZCI9PT1uLmNwQWxwaGFDaGFubmVsKSxEYygxKSxsdSgiZGlzcGxheSIsMT09PShuLmNwQ29sb3JNb2RlfHwxKT8iYmxvY2siOiJub25lIiksYmYoInJnWCIsMSksRGMoMiksbHUoImxlZnQiLG51bGw9PW4uc2xpZGVyP251bGw6bi5zbGlkZXIuaCwicHgiKSxEYygxKSxsdSgiZGlzcGxheSIsMj09PShuLmNwQ29sb3JNb2RlfHwxKT8iYmxvY2siOiJub25lIiksYmYoInJnWCIsMSksRGMoMiksbHUoInJpZ2h0IixudWxsPT1uLnNsaWRlcj9udWxsOm4uc2xpZGVyLnYsInB4IiksRGMoMSksbHUoImRpc3BsYXkiLCJkaXNhYmxlZCI9PT1uLmNwQWxwaGFDaGFubmVsPyJub25lIjoiYmxvY2siKSgiYmFja2dyb3VuZC1jb2xvciIsbi5hbHBoYVNsaWRlckNvbG9yKSxiZigicmdYIiwxKSxEYygyKSxsdSgibGVmdCIsbnVsbD09bi5zbGlkZXI/bnVsbDpuLnNsaWRlci5hLCJweCIpLERjKDEpLGJmKCJuZ0lmIiwhbi5jcERpc2FibGVJbnB1dCYmMT09PShuLmNwQ29sb3JNb2RlfHwxKSksRGMoMSksYmYoIm5nSWYiLCFuLmNwRGlzYWJsZUlucHV0JiYxPT09KG4uY3BDb2xvck1vZGV8fDEpKSxEYygxKSxiZigibmdJZiIsIW4uY3BEaXNhYmxlSW5wdXQmJjE9PT0obi5jcENvbG9yTW9kZXx8MSkpLERjKDEpLGJmKCJuZ0lmIiwhbi5jcERpc2FibGVJbnB1dCYmMT09PShuLmNwQ29sb3JNb2RlfHwxKSksRGMoMSksYmYoIm5nSWYiLCFuLmNwRGlzYWJsZUlucHV0JiYyPT09KG4uY3BDb2xvck1vZGV8fDEpKSxEYygxKSxiZigibmdJZiIsIW4uY3BEaXNhYmxlSW5wdXQmJjE9PT0obi5jcENvbG9yTW9kZXx8MSkpLERjKDEpLGJmKCJuZ0lmIiwobnVsbD09bi5jcFByZXNldENvbG9ycz9udWxsOm4uY3BQcmVzZXRDb2xvcnMubGVuZ3RoKXx8bi5jcEFkZENvbG9yQnV0dG9uKSxEYygxKSxiZigibmdJZiIsbi5jcE9LQnV0dG9ufHxuLmNwQ2FuY2VsQnV0dG9uKSl9LGRpcmVjdGl2ZXM6W1B2LEM1LF81LHh2XSxzdHlsZXM6WycuY29sb3ItcGlja2Vyey1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgIzc3NztjdXJzb3I6ZGVmYXVsdDtoZWlnaHQ6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTt1c2VyLXNlbGVjdDpub25lO3dpZHRoOjIzMHB4O3otaW5kZXg6MTAwMH0uY29sb3ItcGlja2VyICp7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtc2l6ZToxMXB4O21hcmdpbjowfS5jb2xvci1waWNrZXIgaW5wdXR7Y29sb3I6IzAwMDtmb250LXNpemU6MTNweDtoZWlnaHQ6MjZweDttaW4td2lkdGg6MDt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDowfS5jb2xvci1waWNrZXIgaW5wdXQ6LW1vei1zdWJtaXQtaW52YWxpZCwuY29sb3ItcGlja2VyIGlucHV0Oi1tb3otdWktaW52YWxpZCwuY29sb3ItcGlja2VyIGlucHV0OmludmFsaWR7Ym94LXNoYWRvdzpub25lfS5jb2xvci1waWNrZXIgaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sLmNvbG9yLXBpY2tlciBpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTttYXJnaW46MH0uY29sb3ItcGlja2VyIC5hcnJvd3tib3JkZXItc3R5bGU6c29saWQ7aGVpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDt6LWluZGV4Ojk5OTk5OX0uY29sb3ItcGlja2VyIC5hcnJvdy5hcnJvdy10b3B7Ym9yZGVyLWNvbG9yOiM3NzcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjEwcHggNXB4O2xlZnQ6OHB4fS5jb2xvci1waWNrZXIgLmFycm93LmFycm93LWJvdHRvbXtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzc3Nztib3JkZXItd2lkdGg6MTBweCA1cHg7bGVmdDo4cHg7dG9wOi0yMHB4fS5jb2xvci1waWNrZXIgLmFycm93LmFycm93LWxlZnQtdG9wLC5jb2xvci1waWNrZXIgLmFycm93LmFycm93LXRvcC1sZWZ0e2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNzc3O2JvcmRlci13aWR0aDo1cHggMTBweDtib3R0b206OHB4O3JpZ2h0Oi0yMXB4fS5jb2xvci1waWNrZXIgLmFycm93LmFycm93LXJpZ2h0LXRvcCwuY29sb3ItcGlja2VyIC5hcnJvdy5hcnJvdy10b3AtcmlnaHR7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICM3NzcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjVweCAxMHB4O2JvdHRvbTo4cHg7bGVmdDotMjBweH0uY29sb3ItcGlja2VyIC5hcnJvdy5hcnJvdy1ib3R0b20tbGVmdCwuY29sb3ItcGlja2VyIC5hcnJvdy5hcnJvdy1sZWZ0LC5jb2xvci1waWNrZXIgLmFycm93LmFycm93LWxlZnQtYm90dG9te2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNzc3O2JvcmRlci13aWR0aDo1cHggMTBweDtyaWdodDotMjFweDt0b3A6OHB4fS5jb2xvci1waWNrZXIgLmFycm93LmFycm93LWJvdHRvbS1yaWdodCwuY29sb3ItcGlja2VyIC5hcnJvdy5hcnJvdy1yaWdodCwuY29sb3ItcGlja2VyIC5hcnJvdy5hcnJvdy1yaWdodC1ib3R0b217Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICM3NzcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjVweCAxMHB4O2xlZnQ6LTIwcHg7dG9wOjhweH0uY29sb3ItcGlja2VyIC5jdXJzb3J7Ym9yZGVyOjJweCBzb2xpZCAjMjIyO2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpkZWZhdWx0O2hlaWdodDoxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE2cHh9LmNvbG9yLXBpY2tlciAuYm94e2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjRweCA4cHh9LmNvbG9yLXBpY2tlciAubGVmdHtwYWRkaW5nOjE2cHggOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5jb2xvci1waWNrZXIgLnJpZ2h0e2ZsZXg6MSAxIGF1dG87cGFkZGluZzoxMnB4IDhweH0uY29sb3ItcGlja2VyIC5idXR0b24tYXJlYXtwYWRkaW5nOjAgMTZweCAxNnB4O3RleHQtYWxpZ246cmlnaHR9LmNvbG9yLXBpY2tlciAuYnV0dG9uLWFyZWEgYnV0dG9ue21hcmdpbi1sZWZ0OjhweH0uY29sb3ItcGlja2VyIC5wcmVzZXQtYXJlYXtwYWRkaW5nOjRweCAxNXB4fS5jb2xvci1waWNrZXIgLnByZXNldC1hcmVhIC5wcmVzZXQtbGFiZWx7Y29sb3I6IzU1NTtmb250LXNpemU6MTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzo0cHg7dGV4dC1hbGlnbjpsZWZ0O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjEwMCV9LmNvbG9yLXBpY2tlciAucHJlc2V0LWFyZWEgLnByZXNldC1jb2xvcntib3JkZXI6MXB4IHNvbGlkICNhOWE5YTk7Ym9yZGVyLXJhZGl1czoyNSU7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjE4cHg7bWFyZ2luOjRweCA2cHggOHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjE4cHh9LmNvbG9yLXBpY2tlciAucHJlc2V0LWFyZWEgLnByZXNldC1lbXB0eS1tZXNzYWdle2ZvbnQtc3R5bGU6aXRhbGljO21hcmdpbi1ib3R0b206OHB4O21hcmdpbi10b3A6NHB4O21pbi1oZWlnaHQ6MThweDt0ZXh0LWFsaWduOmNlbnRlcn0uY29sb3ItcGlja2VyIC5oZXgtdGV4dHtmb250LXNpemU6MTFweDtwYWRkaW5nOjRweCA4cHg7d2lkdGg6MTAwJX0uY29sb3ItcGlja2VyIC5oZXgtdGV4dCAuYm94e3BhZGRpbmc6MCAyNHB4IDhweCA4cHh9LmNvbG9yLXBpY2tlciAuaGV4LXRleHQgLmJveCBkaXZ7Y2xlYXI6bGVmdDtjb2xvcjojNTU1O2ZsZXg6MSAxIGF1dG87ZmxvYXQ6bGVmdDt0ZXh0LWFsaWduOmNlbnRlcn0uY29sb3ItcGlja2VyIC5oZXgtdGV4dCAuYm94IGlucHV0e2JvcmRlcjoxcHggc29saWQgI2E5YTlhOTtmbGV4OjEgMSBhdXRvO3BhZGRpbmc6MXB4fS5jb2xvci1waWNrZXIgLmhleC1hbHBoYSAuYm94IGRpdjpmaXJzdC1jaGlsZCwuY29sb3ItcGlja2VyIC5oZXgtYWxwaGEgLmJveCBpbnB1dDpmaXJzdC1jaGlsZHtmbGV4LWdyb3c6MzttYXJnaW4tcmlnaHQ6OHB4fS5jb2xvci1waWNrZXIgLmNteWstdGV4dCwuY29sb3ItcGlja2VyIC5oc2xhLXRleHQsLmNvbG9yLXBpY2tlciAucmdiYS10ZXh0LC5jb2xvci1waWNrZXIgLnZhbHVlLXRleHR7Zm9udC1zaXplOjExcHg7cGFkZGluZzo0cHggOHB4O3dpZHRoOjEwMCV9LmNvbG9yLXBpY2tlciAuY215ay10ZXh0IC5ib3gsLmNvbG9yLXBpY2tlciAuaHNsYS10ZXh0IC5ib3gsLmNvbG9yLXBpY2tlciAucmdiYS10ZXh0IC5ib3h7cGFkZGluZzowIDI0cHggOHB4IDhweH0uY29sb3ItcGlja2VyIC52YWx1ZS10ZXh0IC5ib3h7cGFkZGluZzowIDhweCA4cHh9LmNvbG9yLXBpY2tlciAuY215ay10ZXh0IC5ib3ggZGl2LC5jb2xvci1waWNrZXIgLmhzbGEtdGV4dCAuYm94IGRpdiwuY29sb3ItcGlja2VyIC5yZ2JhLXRleHQgLmJveCBkaXYsLmNvbG9yLXBpY2tlciAudmFsdWUtdGV4dCAuYm94IGRpdntjb2xvcjojNTU1O2ZsZXg6MSAxIGF1dG87bWFyZ2luLXJpZ2h0OjhweDt0ZXh0LWFsaWduOmNlbnRlcn0uY29sb3ItcGlja2VyIC5jbXlrLXRleHQgLmJveCBkaXY6bGFzdC1jaGlsZCwuY29sb3ItcGlja2VyIC5oc2xhLXRleHQgLmJveCBkaXY6bGFzdC1jaGlsZCwuY29sb3ItcGlja2VyIC5yZ2JhLXRleHQgLmJveCBkaXY6bGFzdC1jaGlsZCwuY29sb3ItcGlja2VyIC52YWx1ZS10ZXh0IC5ib3ggZGl2Omxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjB9LmNvbG9yLXBpY2tlciAuY215ay10ZXh0IC5ib3ggaW5wdXQsLmNvbG9yLXBpY2tlciAuaHNsYS10ZXh0IC5ib3ggaW5wdXQsLmNvbG9yLXBpY2tlciAucmdiYS10ZXh0IC5ib3ggaW5wdXQsLmNvbG9yLXBpY2tlciAudmFsdWUtdGV4dCAuYm94IGlucHV0e2JvcmRlcjoxcHggc29saWQgI2E5YTlhOTtmbGV4OjE7ZmxvYXQ6bGVmdDttYXJnaW46MCA4cHggMCAwO3BhZGRpbmc6MXB4fS5jb2xvci1waWNrZXIgLmNteWstdGV4dCAuYm94IGlucHV0Omxhc3QtY2hpbGQsLmNvbG9yLXBpY2tlciAuaHNsYS10ZXh0IC5ib3ggaW5wdXQ6bGFzdC1jaGlsZCwuY29sb3ItcGlja2VyIC5yZ2JhLXRleHQgLmJveCBpbnB1dDpsYXN0LWNoaWxkLC5jb2xvci1waWNrZXIgLnZhbHVlLXRleHQgLmJveCBpbnB1dDpsYXN0LWNoaWxke21hcmdpbi1yaWdodDowfS5jb2xvci1waWNrZXIgLmh1ZS1hbHBoYXthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLWJvdHRvbTozcHh9LmNvbG9yLXBpY2tlciAuaHVle2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUpZQUFBQVFDQVlBQUFEMDZJWW5BQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUIzUkpUVVVINEFJV0R3a1VGV2JDQ0FBQUFGeEpSRUZVYU43dDBrRUtnMEFRQU1FMng4My9uMnF1NXFDZ0QxaURoQ29ZZHBuYlFDOWJiWTFxVk8vanZjNmszYWQ5MXM3LzdGMS9jc2dQcnVqdVExN0JEWVNGc0JBV3dnSmhJU3lFQmNKQ1dBZ0xoSVd3RUJZSWkyZjdBci8xVENnRkgyWDlBQUFBQUVsRlRrU3VRbUNDIik7ZGlyZWN0aW9uOmx0cn0uY29sb3ItcGlja2VyIC5odWUsLmNvbG9yLXBpY2tlciAudmFsdWV7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MTZweDttYXJnaW4tYm90dG9tOjE2cHg7d2lkdGg6MTAwJX0uY29sb3ItcGlja2VyIC52YWx1ZXtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFKWUFBQUFRQ0FZQUFBRDA2SVluQUFBQ1RrbEVRVlI0MnUzU1lVY3JBQmhBNFUyU2ttUkpNbVdTSmtsS0ppV1pacEtVSkpza0tVbWFURkltS1pPVXpNeVNwR1JtbGlSTkppbEpTcEtTSkV0bVNwSXBtV21TZE83MzYvNkQreDdPUDNnVUNvV0N2MWNxbFNRbEpaR2NuRXhLU2dxcHFhbWtwYVdSbnA1T1JrWUdtWm1acUZRcXNyS3l5TTdPSmljbmg5emNYTlJxTlhsNWVlVG41NlBSYUNnb0tLQ3dzSkNpb2lLMFdpM0Z4Y1dVbEpSUVdscEtXVmtaNWVYbFZGUlVVRmxaaVU2bm82cXFpdXJxYW1wcWFxaXRyYVd1cmc2OVhrOTlmVDBHZ3dHajBVaERRd09OalkwME5UWFIzTnhNUzBzTHJhMnR0TFcxMGQ3ZWpzbGt3bXcyMDlIUlFXZG5KMTFkWFhSM2Q5UFQwME52Ynk5OWZYMzA5L2N6TUREQTRPQWdGb3VGb2FFaHJGWXJ3OFBEakl5TU1EbzZ5dGpZR0RhYmpmSHhjU1ltSnBpY25HUnFhZ3E3M2M3MDlEUXpNelBNenM0eU56ZkgvUHc4RG9jRHA5T0p5K1hDN1hhenNMREE0dUlpUzB0TExDOHZzN0t5d3VycUttdHJhM2c4SHJ4ZUx6NmZENy9mei9yNk9oc2JHMnh1YnJLMXRjWDI5amFCUUlDZG5SMkN3U0M3dTd2czdlMnh2Ny9Qd2NFQmg0ZUhIQjBkY1h4OHpNbkpDYWVucDV5ZG5YRitmczdGeFFXWGw1ZGNYVjF4ZlgzTnpjME50N2UzM04zZEVRcUZ1TCsvNStIaGdYQTRUQ1FTNGZIeGthZW5KNTZmbjNsNWVlSDE5WlZvTk1yYjJ4dnY3Kzk4Zkh3UWk4V0l4K044Zm42U1NDVDQrdnJpKy91Ym41OGZmbjkvK1ZjS2dTV3dCSmJBRWxnQ1MyQUpMSUVsc0FTV3dCSllBa3RnQ1N5QkpiQUVsc0FTV0FKTFlBa3NnU1d3QkpiQUVsZ0NTMkFKTElFbHNQNC9XSDhBbUo1WjZqSFM0aDhBQUFBQVNVVk9SSzVDWUlJPSIpO2RpcmVjdGlvbjpydGx9LmNvbG9yLXBpY2tlciAuYWxwaGF7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBSllBQUFBUUNBWUFBQUQwNklZbkFBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBQjNSSlRVVUg0QUlXRHdZUWxaTWEzZ0FBQVdWSlJFRlVhTjd0bUVHTzZqQVFSQ3NPQXJIZ0JweUFKWUdqY0dvY3hBbTRBMklIcG1vV0UwZUJIK2V6bUZsTnZVMDZzaEozVzZWRWVsV01VUUFJSUY5ZjZxWnBpbXNBMUxZdFMydUY1MS91MjdZVkFGWlZSVWtFb0dIZFBWL3NJY2JJRUlJa1VkSS85WGE3bmV5djYxK1NXRlVWQVZDU2N0MDBUV24yZnY2dTMrRWNmZDN0WHp5LzArbkVVdStTUGpvL2txenJtaVFwU2NONnY5OFhld2ZBOC9sTWtpTEoyV3hHU1VvcGNUNmZNNlUwTlg5L2ZyZmJqZXYxV3RmcmxaZkxoWWZEUVFIRy9BSU9sbkd3aklObEhDeGpIQ3pqWUptL1RKV2RDd3F1SlhzZUZGekd3RE5OZWlLTU9KVE84eFFkRFFhZUIyOStLOWVmZUxhQm85Sjd2ZHZ0SmoxUmpGRmpmaXY3cXY5NXRqeC83bGVTUWdoOTNlMWZmTWVJcDZPK1lRamhvL043OTF0MVhWT1NTSTdOLy9LKzQvR294V0xCeCtQQjUvT3A1WExKKy8zT2xKSldxeFUzbTgzb3Z2NWlHZjhLallObEhDeGpIQ3pqWUJrSHk1Z2Y1Z3VzdlFVN1UzN2pUQUFBQUFCSlJVNUVya0pnZ2c9PSIpO2JhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7ZGlyZWN0aW9uOmx0cjtoZWlnaHQ6MTZweDt3aWR0aDoxMDAlfS5jb2xvci1waWNrZXIgLnR5cGUtcG9saWN5e2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJJQUFBQWdDQVlBQUFBZmZDanhBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUNld0FBQW5zQjAxQ08zQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFkM2QzTG1sdWEzTmpZWEJsTG05eVo1dnVQQm9BQUFJQVNVUkJWRWlKN1pZOWF4UlJGSWFmc3hNU3RyTFFKcEFncEJGaGkrQzl3MVlTbzAwSTZSWi9nOXZacEJmL1FPcjRHeVJna1NLTlNyQWFkc1pxUUd3Q2t1QVd5UlpKc3lTd3ZoWjdOL3ZoenJnYkxIM0xkODU5N2pseno1MHpKb2t5eFhIOERxRFZhcjBxaTZ2OEJiSXRxU0dwRWNmeGRsbXNGV1hrdlg4QWZBVldnM1VLUEVuVDlHS3VqTXpzQUZnWnNWYUNOMVZUUWQ3N1hVbnJnRTFrdis2OTM1MjY4V1JwenJuSFp2WVJXQzdZdkMzcFJaWmwzd296cXRWcWl5SDlJZ2pBc3BrZDFHcTF4VUpRdFZyZEI5WktJQU90aGRnL1FjNjVMVWs3d05JTW9DVkpPODY1cllGaGtxalg2L2Q3dlY0R1BKd0JNcW9mVVJTNUpFazZGWUJlci9lZVliL01vOVd3Rm5QT3ZRYmVBdmZ1QUFLNEJONHNBSnRBRy9nSklFbG1OdWlKeWJhM0VHTm1aaVBlWnVFVm1WZWxsL1kvNk4rQ3pEbjNBWGhFT09vN0h2LzNCZUF6OEl6UWtNUG5KYnVQeDF3Qyt5WUo3LzBuWUlQNVMvMEZIS2RwK3J3Q0VFWFJTL3JmNUhsMUd0YjJNMGlTcENPcENaelBBVG1YMUV5U3BITUxBc2l5N01qTURvSHJHU0RYWm5hWVpkblJ3Qmg3SjkxdXR3bWN6QUE2Q2JHM0dnUGxlWDRqcVVIL2ExQ2t0cVJHbnVjM2hTQ0FNQjMyZ0tzcGtDdGdiM0tDUU1ta2plUDRXTkpUaHJOTlp2YWwxV3B0VElzdjdKdFE0dG1JZFJhOHFTb0VwV2w2WVdaTm9BTjB6S3haTlBlaHBMU0JadjJ0K1EwQ0o5bExuQVJRTEFBQUFBQkpSVTVFcmtKZ2dnPT0iKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOjhweCAxNnB4O2hlaWdodDoyNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEycHg7dG9wOjIxOHB4O3dpZHRoOjE2cHh9LmNvbG9yLXBpY2tlciAudHlwZS1wb2xpY3kgLnR5cGUtcG9saWN5LWFycm93e2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjUwJTt3aWR0aDoxMDAlfS5jb2xvci1waWNrZXIgLnNlbGVjdGVkLWNvbG9ye2JvcmRlcjoxcHggc29saWQgI2E5YTlhOTtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6NDBweDtsZWZ0OjhweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTZweDt3aWR0aDo0MHB4fS5jb2xvci1waWNrZXIgLnNlbGVjdGVkLWNvbG9yLWJhY2tncm91bmR7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ2dBQUFBb0NBWUFBQUNNL3JodEFBQUFoMGxFUVZSWVIrMlcwUWxBTVFnRDYwemRmd09kcWE4VG1JL3dRTXI1SzBJNWJaTEl6TE9hMm50MzdWVlZiZCtkRHg1b2JnQ0MzS0JMd0oyZmY0UG5WaWRrZit1Y0lodzgwSFFhQ0xvM0RNSDNDUkszaUZzbUFXVmw2aFBORHd0OEV2TkU1cStZdUVYY01na29uVk02U2R5Q29FdkFuWjh2MUhqeDgxN01pbG14U1VCNXJkTEpEeWNaZ1VBWlVjaC9BQUFBQUVsRlRrU3VRbUNDIik7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweH0uY29sb3ItcGlja2VyIC5zYXR1cmF0aW9uLWxpZ2h0bmVzc3tiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFPWUFBQUNDQ0FZQUFBQlNEN1QzQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFCM1JKVFVVSDRBSVdEd2tzUFdSNmxnQUFJQUJKUkVGVWVOcnRuVnVUNDdnUnJBSE4rUC8vT3IvNjFZNXdPTlo3bVoxdTNYQWVMTWpKWkdaVmdkS3NmYzV4UjNTMFJJSVVXK0NIekNwYzJNY1lvN1hHdjNleDdVaVpkNTdyanl6enYrdiszM1gvUi8rM3IvZjd2UjM4NlkrVHZLTmNmL3dkaFRMUGN2OXFVMndaZDc0dXRoMHQxODIxamtJWkxQY3NJLzZuV2E0WHZ1dHF1VTBaODVtbng4MFMvWnpncG5Mbk90SE50Ny9vZngxVEtYY1NOek4vN3FiTVEzanU3ck5RbU1ZWWQvNHMyajlhYStQK2dHYU1jWnJiMU0vdGRydmY3L2Qydjk5UDkvdDkzTy8zY2J2ZHh1MTJHOWZyZFZ3dWwzRStuOGMvLy9uUCsyKy8vWGI2NmFlZnhsLy8rdGZ4NXovLzJZSzVBbDJyZ3ZmNFVzYnBkR3JCNTJiQXZBclhwdXpqbWlxQVZTR3o1ZURtR1lYemhiQVptQ3JubXpkZHBVVSs4WTFkQU9ZZVhDdERVd1Z3VjdZQ0dINnVBbXlNY1o5bDV2a1VhQlBHTVVaNy9KNXcvNzkyL2Z2djlYcTkzMjYzZHIvZlR4UEVDZU1FOG5LNWpNL1B6L0hUVHovZHYzMzdkdnJsbDEvR1AvN3hqL0czdi8xdC9PVXZmd2tWc3dvbmdqZE9wOVB6SDNVM0Qzem1XR25aVlhuNGpDcXM3d0MyQktQNC84dEF6a1pzb1d4NlhycWVIWnltdnA0QUJDQkpoVFF3S2ZEVDhnenJaQ0lxaTVBaGlBQ2pCZkVCMnJQOC9YNjNNTTdmNi9WNnY5L3Y3WGE3YllDODNXN2pjcmxzVkhJcTVmZnYzMCsvL2ZiYitPV1hYOFpQUC8wMC92NzN2NCtmZi83NUpTdmJldStiTDJXTU1hRmJBbHBCTk04NVFYK2N0NnFvU3FrUEF3dVFsQlZLcUdORlNVT0FBM0JtdTdnQzVoTk9kMTVuU3d2QU9VVzdDNGdpVUNWOFNnbjVMOWhORklxVHNwMEd4STB5c2lveWpBamtZL3RHSlZFcHorZnorT1dYWCs3ZnYzOC8vZjc3NytQYnQyL2oxMTkvSFQvLy9QUDQ5ZGRmeDhmSFJ3cm1UalY3NzlFWHUycHgyeGhqd3RkSlpRY0FXUUlQTFBJU3NNSmFTd2lEOGd6SUtyd1N5QVRFNWo1bkFiUjVjMWRCVXdCbHNFV1cwaDZMcWlZc3FGUEFReEN5Ulozd09TQVJ4bWxYTVg1azY0cFFmdnYyN2Y3NStkaytQajVPSHg4ZjQvdjM3K1BidDIvanQ5OStHOSsrZlJzZkh4L2pjcm1VRkxPMzFnWURXYmx4UklzL1RxZlQ3b3VzeEpzQXhYQTJHYzdUQTlYZGdmZG9IYkZzajc2WDIrMVdBcmdJMWFnZUd3QTNxdXBxb0hzbWNiSTZGdTkzcXVnZ0ZhOWQ3TGVEdGdLZkFGSEJKK05FQnlJa2NKNUtlcnZkVG1oaEdjZ0pKU1o1dm4vL2ZqK2Z6KzE4UHA4K1B6L0g1K2ZubUdEKy92dnY0L3YzNytQajQyTjhmbjZPMisxV3M3SmpqUDZ3cmFNSTVFNFJaOHgydlY1VFN3a3F1b3RWNy9kN1R6NkhGV3NEL3FOY2R3MENRM3EvMzIxYzY4NlR3RFZJZGJ1eTczek5sZGhTSGI4STJrbFp6bm0rSW5CUzRVNm4wMzAyYUJGc0xoSERBS0pWSlZnbGZJOWpodnU1M1c1M3NMQU5ZTnhBaURBNk1DZVVIeDhmOSt2MTJpNlhTN3RjTHFjWlc1N1A1eWVZOC9mejgzT2N6K2Zuc1NtWVV5a25XRUc4NVdCc3Q5c3R6U0x5TWRmcjlRaTA4aVkxNVVaMExsREdMaFIzbzV6SzJqN09QVVREMEUrblUzdGs3WGIvMTZORmJobG9BTXVZMXpqTFVPTzNCS2VJRGUrWjhzMy9KNGdGbzRUTTVqUG11UmcyOGZvVUtLVlN3bzE2VGdBNW5weXdjV0xIZ1lsL1B6OC83My82MDUvYWI3LzkxbTYzVzd0Y0xpZTBzWmo0bWFvNWdUeWZ6ODhFMGYxK2o4RWNZendUUEVHMmNxanlmSE5GME04ZnVxRWlhT1ZuUnpaWlFOaDVmd1F5SGcvSERHZkpvODlRMXpiL3F1dTVYQzY3NzNJMlhLZlRxZC92OStkM3d1cVd2YS9ZVGRVZEVWM2ZoSXYvVml5cHM2WUUzeDNyNDNLNWJKUVM2NnpheFZHRnN2ZCsvL2o0YUYrL2ZtM2Z2Mzl2dDl1dGZmMzZ0ZjMrKysvdGRydWR2bjM3WnVOTEJhYUNNZ1V6QytyWlJpRm93eFV1Skk4WU1xY0NwOU9wcTV2YWdhWVU2bEdKQTFYUXFlamNodzZDajBHdzVuWUJyR3cwMUEyTzIwNm4wNEJHb3VOTnlUZnAvRndFbGhVZXk2blhySUt3N1FRV2RkeHVOMmxkTDVmTDgzOWdTUEY4YWh1L0p2Qk80OENQU3VxTWY4VnA5L1A1M0w1OCtkTHU5M3M3bjgvdGZyOC8zOS92OS9iNStUa2hQSjNQNTZtUTQzNi9qKy9mdisvaVNnYnplcjArQVp4LzUrODhidjZPTWRhNlM1ejZrZDIxZllDOWR4djdjSUpKMmQ5QU9TMzBmUE16eUhpVE04QjRERjZYVWxZSHA0S1FXM1crMXQ3N01OQjF2R0h4V3E3WGE3dmY3OCt5NS9ONUErSDFldDI5eHVQNWRiWXR5YVJ1NEFrc2JQcTY5MzZmalJ6WFJ4QmJQci9iK2IxOCtmS2xqVEhhQkJCZm44L24wLzErSDErK2ZCbm44em0wc0I4Zkg1dTRjcjVHdUJoTVZrMEVFbjlSc2N0Z1ZoTStpeGxKdE1BMjNSOEI2eXlzQXN0Qk9nRlhJS0tDTUlnVG9NcU5FdTJmWU1IN3p0YzczMmRRS2tDajF5dEFadFkwS3g4cElyOEdHSitBVDNWKzJIaXJobCsrZkJtWHkyV3o3M3crYjE3UDhwK2ZuOC90VXdHVmxlVmtUeVViNjhEa2ZheVdZNHp4TlJpaFU0RXBMSlBaVnJLK3U3SjQvbWdmS3FlTFc5WDJSRVdsSXRMMWRpeW5iRERiMytqWGdZalFxbjBycnhXYytOa0lMUDdGN3hJYk12eDd2VjUzeDQweG5sYldKRjEyWlNhZy9OMHBXNnQrWnptT016SGphakt3RGZvbmQ3OHpZVGRmcTE4dXA5N3pyMnE4djNJaW9CcHJSdEJsMEVaOW9nNVdCUkdPZE9IaklqWEY3VW90RmJnT1duWHpJSnl6WXZqRzVJWWdzbU1PeEhrejhPc01TclZOV2VxNVQ4RGFPY2JFdjFPZDVyYnM5YU83WXZNZXQ2M0VrRisrZk1FeHErTVJsNC9MNWJMWk4vK2V6K2ZuWjZLYXp1TXFYU1FWTzVzcEpYZmxIQUl6ZXMveEpzZWNrUkppRE1vZzlkNlZmUnJxWE1yNktwVlYyN2pSd0phY0dvdk9BTTF6TWRRTW53SzFBdWJLNjNrZENDaHZJMUM3ZzB6OW5mL0QrWHplMlZqOEg3R3g0UDlkdVFsc1lDcnF5TjhYcUczSG0vMTBPajNqdy9uK2NybHN0dU0ralBtbXhUMmRUdVB6ODNQenQycG4xWHNFSFgvYm5QYVZxVm1oMHh3T3QwbzZYTExBSGVQVVUyMDN3SGZjcnNwQ3dtVjNUcnlCNXMwTXNlZWc5N3gvQnd6Q2pCbGJCK3BSQVBsYTBCVlF1VDZWNlFIZEJsajNkMEtHMTQ3YitEcXhRZVV5bURPNDNXNGRRYXIrVElqd21BZDB6OC9oNjV2ZjAveUx2M1BiNVhMcHJ1L3lkRG85czdFVDBJK1BqNmRLSzlWVUVJZUtXUVdQQU9ySjhMS2Q0dkUrdDkxWTNlN1VGbFdhdGcyVndKbmIrSFBtdHZtL3NmSzU5L09hV0YzeC9lUDFVUEh2QTVERFlEcFlYZmIwZHJ2MVYyRGtCa3h0dy90RVdWVmxYV2RDOXBGWXM1L2pmaDlkUy8xNnZXN3M2bFRHK1RmcXN4U0pIeGtYWHEvWGRyMWV1NExzZkQ2UDN2c1QzTjc3RGtMK3pQbTVqU2RLTDR6UjNBeFFkNnJIa0xrWWxTb3dzcnE3em56dTZ3U3dkc01KT1htQTVmQmNqeHRnTUdCWUhscjV6b2todHNNQ1RnWExRT1c0WEM2ZEV5RU1wckw4bUFRelhSZ2R1aXgyeVp6b3J4a1lzRG4zaEIxVmVNTEdzWHNWdGdsMnBXOFMzc3ZrMHZ3N1I0aE5hSHZ2NGNBQ2w1SEZ6d0lIMEtjNnp1NFhqRFBSL2pwQVZ4V3pPMVhrMkREYjN2VGN4ZUdVMWlXWkhrbUlEV3ppV0t2aXJDSjREcmF2czZJSi9HRzZjVHFXZFhEeStmQXJRRFZWa0xxa1ZqQW9aSUlUZG1tSXFYd3FhOTVOMytNR1lvWlFkUlZOTzUzWTF4UmtoTzE2dlk3ZXU1MDdDYTlsSm5iR3B4T2VtUWhTdy9BUXNtbXA1elU5QmlVOEc2d3ZYNzZNNi9VNlBqNCtkbzBCejRDcGdpa25UVWVEcXdsS0JtZzN1NE9WanJaMUErckFjZ2FlaldxNmVKQ3ZDWUZET05Td09nSFg0RVFSdzhseGJ6RE9kRUs2Z1ozSGsxYis4ZzJvMUpGdEtYeXYvZkVkVFh1V2pXWGRBWmlCcDZBRGVEckNGaWltN0I2WkZuZWVJN0d2bS9QTWtVRFg2N1c3eEk4YjBENy92OGRBOXFmTjVvYUNmNzRXWmpIMG1mMWNtZlkxWTBKVUZtVnJUV3U4dXprTmNMdEVqN3U1RlhCVGtmQzZHT0E1cThZTXhPOEtWdkY2c0FWR2RjclVic0tPRGNRS2tMTU9NZG1seHVtNjQyWXJQbTI2QWxoWlcxWUIxUityckdzd0U4VGFZQVdlVU14ZGYrV2p3U3ZaMkVmM3l0T3lmbjUrUHBWUEFhcU9uNDNNdE5CcXZtamp4YmpNNGxaalpZNGdxTk1JNWt0YVcvc1lLTndTKzlsRlF6R2lobU1DS1BhNytaMFY2RWIwR1Jtb2J0cFg4SmxqV3U1Rk1MTjVqYTZoRzlrd1FnWnFmNSsxTkg1VXh6a0ZSZUNkV2hKOFhkbEdVa3hPN0hSbFlSbTRtVk80M1c3dGVyMTJUUEpFdy9ybUVOM0w1U0tISVdaZzlteitwVW9LT1lxNWJKVEpkWDJnbWUxVWN4TVpRRmFFUUlsSGN0MzJNK1kxQnpHa0d1emZpeUFOOXordWdwbFoxc3ltQ3JEQ1lZa0d4RFRwSTlSekJ5MHJIeWVEVUMxbldhZVVhRDluNHhrTnlZTUJEWnR6WjNCKytmSmxZMjFYRkRPY0FSSmxhYk95aVMzdUNwTEk5anJaakNEa2FWdmNDQ2p3b2duS1NoV2R6WFpXbFpNdlZUZ0Q4THBxbENMcnFnYmNCK3FZd3JnS1lwVDBjY0NxYkt5Q1ZhbGtFYWJuL0Z5bm9nQ3JQS2ZxZjUxeEo3c0dCMlpYY1pteG9TT3p0angzMDBEWmk3YTAvMkFJUjBVbEJhZzlTdUR3NktjQXpsYUI3dkhadldwaks5MGR5cnE2Ykt5RFVaUWJSMEIwNWJpTFFrSEljU1VtZ0lLK1N3dXFnSENub2lvMlJRVTF5aitCbkJ5OXBwaFZLTEd5QzdaekZLMXB4V0srRThJaFZDV0xOL3VMdG5VVTRheW9ZTG9hQU56OEZkdGFTdlk0cFYwQkVXMmxzNjFjenFsbEJLcFR5S2dNQWhyWjFjZGMxUlJPdFBtdldOa2RjS1o3Wkt4YVdqaVBMSk1wcDdPWkt4QStycUcvb0pManhmMHBuSmxxTG9EWm8zZ3lVMG1LR3lzMnRhS2Vjai9kMUMrckpTcGxCcWxUeUFxZ1IrRDhLaktsbVJMMmd0VWNBZEN0c0wraWpDTlQxb3FxcWtIMk9IRWJHNXNERm5VZzVBYSt5TG91MlZVMXB0ajFTMlpRcXYxT1JaTjlJV3pSZmdhUkJ4S29CRThVV3lxbEpGdHJJYzBBeE5qU2plZDk5Q1RZL1hEZlN6Q3o1TTBJWm9WRXNXblBGTlRzbDhvb1ZDMVR6YkdncUZaTkRTZ1Z3S0srMXNHRE1LcXhaQ1dHVk1EeXNpRXIxalZTUUpVWXdqNWlIT2xUaGRIdDQ0U1FnOUNOK25sOEQ5ME5NSWdBZGdyNDZKcVJpUjlJOHZSZEZ2YnIxN20veXhVTUtqTkxNaVZVQUR3dTJDV0doaGkrRjU1VFdNOU05Y29nem1zMWRuTTR1T0YvTEFFWVdkY3FuTTd5Rm15cTNJZndtT1JPZDdZMWlGV3RPam9ZOFRvNDFtVFY1SXlzZ0ZGdVJ6c2JXRkdiTklJSkNEdjFkT280bFpHN2pXQndSRnRWVEt1V3llQ0J5SktPYW44b1ozZXA5WGRkTmwwdER1YXl3THo5Y1hQWWVEQUEwU3BrQk85c2JWY1RPVldsZFB2NHV5ekVrenhIdGp2b25Ib1NrRkVXTm9vMWQ4RGhjUXB1dGQycHBOb240QnpvQWlKMWhCRlFnMGRWdGRiR0hIRFFXdXNobU5FUXVrTE0yUU8xRzJZOGJnVFhxRmhjQkpqN0VqUGdjUHRzOFVTOHFQcFBCL2RYem5PaDVaNDM4dHpINWVjNlFnck9LclJSZktteXNCbVVEQitQaFlhYk1sVlBFUitHQ1NJVFR6cjdhbTJ0QXJIM2JnY0V6UEptK2NyNWpKNE5uSE5GRFZyRlhjSTVMZTlrNUpudytiZWRiVitGZlJ6WklIYU9PYU9zTFkwLzdVR3M1OERqckd3S01JTUZJR3pPRVcxL2pHc2RBdENONmhFQUk0aEJlOVlYZVJST0JTVlBBVlBBcXZJTTVieDVoVktXQU1QNnpCUnkzaWVzY3JpZFZkRkJpbkJ4WERuRzJHUlkyWGJDdnAxbGh2R3RPOUJ4dTVoOTA4WFF1NDJsblNBck1GZGl6TWltOHV3UkN4UEdubk9TOGx3cG5iT2lEcVRBanNyUk4vUGNvQVNjQ2JhQUNxVk00MHlsbmpqVEJzK2J3V2xBRzIzL1VLYmRraXdLV0lRUEd6V2FjenBvU2x4UEVqODIyY05Xa3BTN0Z5enNEcnFwZmdwRzNqYWh3MnZnYmFTUUF4dUxXWll0N0p6eU5lOEpvWnBOQWN2REZPZHcwd3FZVDlBSzFyWnovRGRiU2xMUHAwcnlJeGdRSmxLOUFabEVxN0lPWHBvaGc5UElockNuZzg4SnNPeGlWNFpXQVlmZzRzaWt4LzhreTJaOWw4NjJ1cXdyZnNjSUg4K3VnVG1WR3lpZGRlVllVZ0VNbjRHWnpnMTRFd0lzaDlzeDJjS0tpV1hSZXVPRTVnekdPUWdkbFJLVlZkbGV2cWIyNzlYcTBRbnN0czJWRGFCTzBjb2V6c3J1V3RIQXB1NnNLRzRJQmhOMGFHVTJrTHJNS0dSVE4zSG1iQ0R3S1YxNHp2a01FREc0UWZaVnNwVmxhTlUybWhjNVRFWjNOMWgvenFUaGV1THBXMDVaV1RHVmpiM2Ribk5teEtaQm5OOEpxaWRhVkxLQU95QVJOTFMrTUI1NFoyK1ZhcW9NTEtyb1ZCbG5nZWZuVFBBY29ITldDU3ZsZkE4Q0kwSEVtQk5CbkJsWHlNcnpVN0E3V1ZtOTRQUHFRMmdtcUt4K1dER3NudmlsbWNTT0JKcU9LMW5ZeUFJenVBeWVzcTNVZFNLM0tmV2NZS0Q5NUhtZllPVTNxc2VyMkN0WUVVQStGcGZxZE52Z1BCWlVCaERyR09OUlZsUXNoOHJMY2FVQ3lrSEcwT09Vd1RsTEJyc2g1c29FTUdlemkxRTRIUlZ0MWljcDV3WkVGWGRpYkNrRzhZOHZYNzVzYk80RTBpb205eitoalNpT2Z5M0RocFhJdHBWaEUrVUdRZHZvV2p0Q2htckdIZjRZQXpLZ0JObkd0dUp4RkNlR2RoVUFmUUxMSzhrQllBUDZndkZKWmFqTUczWGt5Y3k4S3VDMHE0RXl5bXd0d2R4ZHYyTTBtSUJ0SzBMS25mNjQwajAwQXVxNGdVa2RXR2xoczIycUpjNmRaQ3NMMTlveG5sVEpHNFNZVlJJR3BEOFRQRkJ1TTZPRWxiUzFwbGRpZDRtR0F5TjZaSXVwYkM1YlhKTjlmZHBiVGhTeExVYUk4SUcxWElZQnhXM1RqczZLUW9zS2N4ZnhjUW1kbndSR00xMEduRmNDeTJYWXVuTE15QWtkZ2s0bWVQaWN6c0x5Z3RoY0J1dDZnb09xUzdZVkZYQURMamFvc0I2czZvZmNaV0FaU0lSWXFTVWtpell3dHRZYWIzdlVPUTl3MkhSeElJZzhXd1JWZUU2OHhpNFV0TDN6UnBoeHBsend1WnJjcVlDcTFJM2pQSTVkbkpJeWdFb2hNYlBxVkpTenJ3enhCSlRzNXpOK1JlVVNneGlrUFFWRjNKVkJlTlF4YkhFTnJFTU52RWRGWlZWOWxIOStPUkdFc05aUXB5VE5jNEMzQUc3WEY0bmd6cStEck8yemJ1YWFPWGdkYUZjZGtFb3RvU0ZCVlgycUowQzhPV1plRzRLR2xwZ2hBMFhmVE9QQ3FWMnFxd1EyNlFXZkYyUE1MaEkydzFsVkFhMmFQc1lkMHphMjVNUVJ3Z2NaTjZ1UURDaStaeGlENFhFTTJrWnhPVDQxRm5abmFSbGNwWm91emxScXFkYlFWV29wUW9TQjU4UlY1MGxCTnJIaS9Bd1hTNUxyd0RWbHBZM0ZjM0J5aVlHYzUyVHJpc3Q2a09YZHdJbkFRdEpwcDVRY2h5YXF1WU9WN1N1K2Z4Vk1hVjNkYzBSRTJTNm1VWTBnTHQycE1jWXFyS0lROXcybDFncFFVTXRRWWNtbWJ0NURUTnhkaG5VQ2pRcXRiSzlTVVN6dnJDMG1taGhFMWUyRlMyK294eXB5L1pBU3V0a210angzdmNCQzI0UFg2NW5icWtCQ1JoZmpTOWtJWVBuZWU4Y01hZ1ZPaEkvM1QxZkFtZHRBV1pzQ3N3VEpDa1FWTmEwcVdLU0tQT3BIQVVoRDlEcmJWY3lvWWt3cWh2aDE3dllBYXlYTFF5S0dZZHhsVURGcDQ5NHJCWFJqWWdPMTdERFlldE5JVWovZXpwNlMwbG5scEV3c1dtSk1rT3dzS1hlWktFQWpJSG4wRVFKSVNhUkJjTzZVTUlOejdwL2JFampudzRmdCt4bUR2a3N4WDRHMnJJcmlzN3FhZUt3QUZNUDJPaTduNGNyaXVad3RwU1V3cGZMeFNuT1JTcklxdXNjNVpGYVh5c3FSV2ppWjJEeUFXRUlMMzV0VlNvUUVsRkFDak9lR0dTRTdBSEVRZ2RvL0xTdkNPZ0dCdmt4c21EYnZsUzNGcDV2aGFCMlRBR3FSS3JLS01yaExWcGFHekVWalowT1F4RGhhQ1RBK1F5UlIxZDE1YVF6ckpudEwzUmlic2lwakc2amxnTDR5cWJTMHNOWWcxZTg0dmhiQlZyRWxLNjRDVWNXWVhEZkt4aHBJdXhpVkpaVXhzYk15L3VSQktUTlJRNGtRM0xkUllMUzBySmpSUGxUUHFZNmdkSnNFRGMrYVFYQW4rSGdzTlVDYlJ1RjBPajB6d25BN2JXRGtiaE81RW5zMDBxZVFoUzFsYUJNbDVNL2NBYXhzTEY4ckt5cWwrVGY3RUxMRUd1L2l4aWltZEN2bzBUamZwakt3YWdnZW40ZWg1djdMb2tMS2JMdXl2SGhjWkc4ZGhHckVEeDdIZzkzWnBwSkY3cUJxTzNpVnZlWEVEUU5Jbnplb2U4WXE2ZVBhWkJaMkp2aU0zVzJVQUdvdGVrUkNBR3E0RWtGMVgzRE9uUjExeVJzQkwxdFJhMFBWY1ppTkZYWjJjMzRGc2t2b21JblFRNmx6cEpvWmJKeGs0M053S0pGQnF1SlNzckJ5SHlkeEtPblR4UUFTQm1TM2orSk1uc0hTbGEzRWM2SzlWV29KVm45emZqd09NN2hxWUFBcUpRd0UyYTNuQTQ4SjJRR2VnUmtwWk5pdlNZK3lzM0VrS2Q0b0pJd3N2SUhsM2NXZ0x0NWs0Tkg2T210TFdkcHVyT2t3RU11cFljN2VNdERSaE9jSTJ1aTVKaFZJelh6THl0by9HQVB1Wm95bzh3a29kdVZnSmdsQ3Q3T2hHYmdJRDRNcTRzaSs2M3pVUzFGdUZGWEZscXlhajJlbUhsTE1jQnFZdTBGTXVSMjhCYkI3bE94Uk1TaUNRWEZoQ0t1d2toWitwWURpR1NnYnNLS1Y4TWlTUnN1SFNJV005cmtsUmlJbFpadXFYanNRSzhvb1lKTWdxM0pLV1ZraEhiaHNWeEZVenRoT1dQa1lpamNieDU0SUtzU2RUK3VMcjNjckdLeW9ZZ0ZpR1I5aUJrNGtmbG9VWCtKSWxRUlFxYWJtcGduaHF0cFFwYjZSVlExV0g1RG5yUzRoRW9HWnFhZXJRMmRoRmJ6OFhlUHhTaG1EYm83MGVJU2pvb3JPMnZLOFNKWEk0U1VtRVU0eldLRHpVRHRXVFl3N3hYbGJTVEVqNEZSZzd6S25Lb0dSQUx2MEdzOVRnYzFCcEN5d0daUlFBdHFWejJ4ckJjQU16RXBmWndGU2EyRzVXMFFCRmpTTWFwV0FFRmEzSGNHTjdDeER6RUN5SWtKOTdxd3JxV05UV1ZvODc2UFBzalBrajJ3dmdyb001bExaS01FVEtWcWwvQ3ZuV1ZGaUZhL1N6SlVRd2tvWnNyNjdZNnZsU1JWMy8ydG1OVE9ZM3ZuYXhZd011b1BLcWR6UjF3N0lxSHltbFB4YUFUaGZVN0tvMlpYWWo0QVlKSEwra05kS3dSUVlFU1RSYTVmc1VaL3JWQzFUTVR5V1Z5WW9xTnR1emFIc015djJ0dm9hcnhkZnF3WWdVMWF4Rm8vY25xbDFGR3NxSyt1QVJPVjhCWDRHVThXY1pUQVRpMnE3UWN5aTBPMFYrR2hXQk1OUlVrbjhIMVNzV1ZFNUJ5M0dpMEVDcVVlSm9CZkF0RGE0YW1rZFhHMzdBR1A1R2dlYjg0cDdVYXpwb0tSemRGemVROEhrb0hHeHByS3kvSHBtNXQxMnA0N0o2eFRZREV6N3VJTkVYU3V4WVh2RnNrWUFjK3lTeEg5c2Y1ZnRLelU2SWJ3VkJjVUdnNWU1Rk1DRVhTRXJaUjB3R2F5VjE5d29NOWd1UGpUcUpkVlRxUjR1RTRuSm5MbGRXVmtFQ0NaTGQyVkxGK3h0YW1leDdJcGlyaVNEVXB2cnBuOWxyd0dNQ0h5cHBNSCtwczZMSUxzdUZHVWoxWEVPWGlxYnFTSFBVS25DbHBXVjY4a3F0VVJWTkRZNFROYW9jeWtvWWVUVTVuZ0dFUWEvUzFEbm5FNEFlWE1jS2pIUEFtRlZqQ0JFTmFleUxWTkhmcjNweDh4VXN0Sjk0aElwZkg0SEtFL2VEYUFySzZsU3lWVkZiZHQxZ3hUSVZrM3BwcFZsRlhpNHBFaFZCVE9icXVvaFU4NU1MWG4xaWFodlVrSEpqU0NNYzAxdExGdmVWVkJ4MERvZE02amZ0Q3U3RE90SXpZeHJjMHFwMUpHUDJheVlGejJHYjZIdk1yTzhjbkd0VjZHam0zdUltU2ZEMkdwV0s2dW93YlpHTXhGS1FDbzFwT010Y01YRnBSc3QraFhHb0FvbUYzc1NUQkdnVGdsYkJLV3dzUTN0WnFhWVNwMFoxQ2ltUkRXRmNDSlVQWUowMEJJNUZrS1lOb2lmdVF4bU44OFNXVlhXTE1hVXFxcWdDMEJtUUpSNnNrM3U5TkNmNmpZTFh4QWZxc1lFZ1ZMQWhSWTJBdGd0ZmxaTkZtRnloeGRyTGtBZFdsazREODhNMml4SHllcElkaE1IckcvaVIxWkd0cTBNR3BiRGJSUFlPWGVTWTFNNk55NFpzdHZHU2t0SytYYkZQQVRqMkQzNzFzYVBFc0FNWGhYcnNaMGttL1hTdGtoaE15QmZzYTZ1WEZaZTJWQ2UrWU1yMStHS2d3clF5TllxMVZSckIrRWl6QW93Nk5zZE5LY3lWRWtZZU03M3lzNnE0a0FIcDZCaUZrbFRrSXJWQzVvWVY3dXp3T0dDejRVSjBTdHEybFdNSnk0d3RiK1JldEw2dFpGaWNuSm1CdzVVakN2WFhNWlZKWDJNUWtiZitYTjVFV2Q3OFZ6OC9KRXNNWlRCaUtOenNtMWluTFJVUTc0SDROaWRhcUk2OGo1c0FGZ3hjUnZlQzdpZUxKWGZRWXhqWloyQ3NpV0Zld1pYSm1CSWxaMXRkdHJYNGhTdWF0ZUtzby9SWk90T0tXMm5tcTFvVHplSzZkUldBV3UyTlJWYjRocTBTWG0xR3Z0dWdIcmJyNUlYcW1Ta3RnNUN1REUyTVNsUHdzWTVrTkUyV3AzQXFpWmJXVkxBeGlCRisyaUJaYnVOajZNQjZyc01MQzdGeWFzYVlEeW83S2tvUHlFdHczcEVNWGZQdnhBSmkyakFRUWdqcnowckxJWlNXWmxJb05od2Q1eEs0QVI5bVlOaldBYUxybnVJbUplQlZOOXpCT1JPYlZ2YnIrbVRUZkZTRUpMU1JuSG83aEVKb0lpOE1GcWp4bXZnbUY1VVJaejR6TEZnWlo4Q3R1Mlg3Z2dWY2NLbTlnVnhJc09IcXhYZ05NS25GV1pZbmYxZEJuT2hheVhxMTdRd0ZsV1cwOWVOS3lWSkZtWHFhT05HQTVhQ2VnTWJKM1VVa0dZMWljM25LV2dqcThxZlZZR1FHMWdSdDZyczYyYTZIaXFxVU9xZGVzSzVObVg0bkdvZkpvaUUxZDBkRjlsVlZrdlQxL2tFRWFhQ29ZT3dGcGNWY29MTSs3NjY5UHhDOXJXcWt0SDBzV1VZbGQwVkNwdUJaL3N0VlJjR2d5OVdYMitVMVF0aGk5U3pBcVN4elpzeStPaUZ6QllueVNHVjZHa3U0NHJEOEJDT1pCVjNCdkQ1K0FLUkhOd01Fc0I2RXpIbkpwa1RBZWlVbEVHa2NFQ2VCNkdEWlRwNVlFSlRsdmRya254WWpUbGxNa2ZOdFh3RGpNN3VWaks1SlhVVW40M3JycXBLMmp5dGF4SFcwTTVHOERDOHJ0SE1ZczdLU2dkdVZRTUdUWUZxRnZWUzZya0Qzc0RKNDZhZmRZRndvcTExQU9LQ0JMaHZ3b1VnYzhJR0FOeWNSNmtuWnJkSlBkc3V4bnlqZmQzRm92VGxSTWRFZHRPbDVDTVY1RUhzWFFCaXM3VE93dklEWmFHajJWbnBiaDdjcEs2M1Z3WUVNTHdxYmp6eWw2OTlzYXdGRmtGMXlxalVVMzFIZkM2c1cxWkZWRnVYVlhWZ3o5a2VFYXcweXMxbFdmbSthelFBUVNXQStoS1lWZnNaalBuY0FjVUI5b0lheXkvVVpYUk5ja0RHamk3N0dzV2J2Qm82dFByV1BxT3lWa0JVcStJTmVxcHpOZFlzL3UwaWZoNXFtcHFJVyszM0pWU1Vjd1k3MEtMNFU5bFlkVTZsanRTbHM3bG1maTlnM1l6ZVFmVmthR0ZhVjNPRENuYUQyTjh3c0VERmtsRTNSek0zWmdoZFlrV0hzc3pxNzBGSWVjbktrVmt0OGV6TXpScTlia0d1S29qUkxCVlNvZDNZMXlQcUtnWVc3SlJRVFBWeXk1eElZTGpPZ3hnVDUyUktKVVkxZE9ySWlSZDRmdXRReC9BNUFjU21FanowdkZXcmtMenZiV0F1OUhPV2JHZ3hGazFWTlRwbkJLazZUZ3dpc0kvSGN4WVhQMXVBV083MlVMRmxCVHErYVN1MlZUVXM2aHJ4TTJDRitoRW9yMVZJQTlabUZVYWFiMWxTU2dac1ZzNHN4ekhsVkxvSkhyOUg0RGhPTlRrSTFYQzAvd2lZMk5vV0FHNVJsbkhGbnE2b0xjY3BRZGRNdUovTzE3SlZBNU9ITGkwQnFDenRxN1kxKyt1Y0NkOThxTEk4TUlIQlYvY0tqeFFUbWUzaEZCUzNNeUNxbkRzdXltMm84MEhqdkZGVHRyVVJtTmFHSnNtVmFoSW1qVHNVWEt0UVpUQVZzN012djgvK2Z6VXJaQVhjTEo2TTRrb2U2WFAwYjZTbVdXTkR6eVVwUThibCtMdFd4NHR1cVozNmNSWVYzeXVWeFBOd3ZJaXFpUUNTbXU3c3JnVHpSNm5reWhwQ2FyWHdGeTF2R2Q1aVAyY1kwNmxGcjVOamhoZzFZNitOQjI4ZnRiSzgzczhyZjdrTEpiS3dERlBiTGcyNWEwQWRaSkVpcXI1cGhpeEtNRGxSVXRjc3NxMWhyaUxxR29IK3plTmdWbTlPZW1qc0VUVjhKZEYwTkhua0lGeFdZMU9CNFlycDdydFdKN05nQUFBUFhrbEVRVlEzb05zNW5wbHlWZjh1MkZvTHUxSnJIdmVhWldRanFBa3NodEZhMmd6c1NHM1pwa2J2ZzNIYWZGOXNsUFBsbGRqRmxLODBHeXNtOE1yNE1QaG5lTldFTlBHakFJcG1pbFRQQVRkVFJUWGxDQllIWUFRdVB3QTM2eElwV3RHTjRxM1kyTWhpR3NVcHVTU25sRUpSRDhQb3JDN0NGWVZ3K0Y1MXFUaGdhYnhzVHhXekNHWTBaU3NiM2xmcUF5ME9QTmpOeTh4aVFRS3NIWUZRMkhCWlZ2VmJCdXEzbTFvV0thanFhb25zTTZ1WlVyNkNqWFdOWjBsNUUzaDNqVVJtYTZrUDNNSklpeTFMbStrYWhRcTQxTjJpWmphNXNqdGxMWU5aSFpySDZxVUdtNHZNYkRwNlJ3MkNGbXZ1eUZrckJjQ3lNdEZxQmFFQ21zSG9LOUJaMkxBL2xKY1JxU2FEcW5hV2JyWmRHYXozRExnSXZCbG40d29HenRieUpHcXNsd3hraGhIclRqVFlGWEN0T29LUzh1TGRvZlZkQWJPeWxHVTZubFlwWFdadHM0blhCcTZXeEppdE1Ob2tIVUpuYm5KcGxRbSthR3BZMmE1R01WMlFEMWhSdWJCUEZLZHVtZjVPSGtMSHowRjlsdUU1a2pCalJhMG5GRTVDVUdxSHczMk1talo2eGtnSU5WblNuWjFWWlN0SzJxS2xSYUxsUWdLN3VUcTdKRlhKd00rM1NPRUt5aFpOSSt0SjBJNXFNWXk5azJxSkQ3ZFZXZHFLWGEwQ0tOUjBDY2pnK0IySVl1MmZjQlpKWmtNRmdNMTFyMFg5MndpbGdoRkdnelZuZXhscUI3eEw5bVMyOVNpWVVWWTJuWE9aak5CUnN5RHNRUFJXVzVoclo0WGNkQzRIVldSYmpnSnI0c0ZvZks1U3pqUTdyaEkxVWViZFBkRWJqNnNxSXZUWlFaNXZhMDhyQUJzQVcwVXhlV3l0QWs3QTJLSjlacHh6Q2lvQjI0WEZ0WUFlWFl4cjZhblNxaExncHBFcVdiR3dMdW5UZ3JWK0lqV2xMMjlsamFBbDRFUU1Hc0VycDRhcGVaaXF1d1JYTFhBcU9DZXJ1MzJtbXlkYzZvV1RTV3BGQUdkemVUQjhSVEhWTUV0bE05MENiYlFDWWhQanEzZWdZcjFGR2RZSVFqaXVER1o1elovQXpvYktHT3lMeHRpNmM0Und0djJhbnlXbExJQ25sTGh4SlJYdDZBNWViREJXRk5PTmJ4V1oyZDAybW51NFM5WUVDcGVwcFYxelNXUkJXeEhZelZJdjFDWFNvdXdxcVgzakJCQkRaZFlRYnBUUVc0WlFsUzhyNWtINHN1U1JtZzIrKzNKTjEweDFQYUFtRWttdFlsRWRlR3BKRU02a091Q3FDUjIyb1N1amo1SVYySGRUMHpqNXByTEtUalhGQVBqZFFseXE3eElCeEFRUDV5TWN6RzRWeEFLdzBuNmlsWjJRQmNlMnBMdWxrdXh4cW5vSXpGZmdxeXFqaWw5UzFWTndCckZtZXllb3BzOHlPalpVeWJaZGZTOEN1YVRJSnVtenM1dE9EYU50THBGRFEvUGNKR3dlTGhtZUwxbkIwS3FpVURTY3NpVVZEODlEaTNIdHJLdFNVTHczUkxpeWdaRCs3c0Y4SlRPYmdZc3JHdkROVUZSR2wxaXkwTGwxWWtVYzJhSllNb2c5MjBJOHFXNllEQ2cxTXFrMEpISkZLWGtiZ2JScmVJK3FwWU5PWkhyVmNEVWJhN3Bqc3BoU0pOdEs2dXBnUk5BVm9PUzBtdWdCZU40YklaZ0hodVBaL3MxRU5hWDZLc1ZyK1lOcmgxTmI3aXBSMFBFNXpiTlJlZ0NickhSVXc2WWYwN2RMQkpsMWY4S0I5YXMyVjFuTnFBc2w2MkxCQmhlaHdhbGVya0htQjFKRklFWktTRXVzZGw1SlFqMW5KbEhYU0NGMzQyZ0o5Q1lHclhlbGtuSklYcVZQOHNEK3F0cGxDUjNYSDJxZktxMHlnTXArS25Wa0t4TmxaOG0yWWtJbFZNaUNuWFV3bDdxem5CS1N2UXozbTNQdDZvUWJYTzViNUZpeENoL2ZIeFVRVy9BRWNLNnpDTnFLUW5MOXN5d3FtS3V3dnFTWXpUL2FQVk5OcFZ5aHZSVzIxYXFjaUNzamRXdkJ3SUxVdmg1VnlDemJXb0MxcEpqSjY4MENXc2wrdWRLQjZUNVJ3RzFtbG9obmxwYmc0N2l6NVU5aGEwRkd0bVJMRllCdE85OXk5N0FwMHorWkRUQW9nNmtTTFpzTUhnL0lGa2tncDZDcHZVMlUwY1lWU2RubWtqd0JkT21YYnhUV05XenVJYmlwTWlvVnhFY2taRW9haFNPaXkyTTNLMGpjQzFMaFZEd2FxRzBadmtjV3FDbnJHNEdJeHlrcnFsYldkdzZMUXlCYVpSOEhtTFJJaFFXc0hzd0Q0MlpYVkxOa2Y5bCtGbFcwSFZRMmx3RnNDL1oxRmR6bFFSMEthUGZvK0ZkZnUrL2R3VlJJQ3UxQ0dSN0FFSWlBaGMrQVpVRjBrT0JhUHhtVXFnNGk2NHZRblU0bkZEWUo5TnorMWZWWHZlSDlxbXIra1BJTHg4b0tjUlYvQkZieGJFMEpNVDBrU0Q0dzZML2xOWThvY3NxYWdWZFUzQTNNanhoeGNHdXF6c1BINGlycGFvdzFxNk95clZqdnA5TnBjNTlFOTFMbGRib1lWekpXZGltV2ZBVzJTTkVLY0RhWDJGbUJMTEEvdUt4bG1oaDYxM0lzMVVSUUFwYktmdHR3eEwwMnE2T254NXBReFNiUG9qQWcrdjVoQW5ONkxIVlJEWElzdkt0UmppUzBxSlV5WlRBWFZiQUs4MkVsRkpXYVFkVm9xVUMxVW50N0JWYVRRdWRNNlN1cWV4alFKTjQrMGljYXh2L3V0Ykt2ODNFVGJUOEg4Z2pjT0t4T0ptYlVhNk9PVlhodDNkRlk2ckh2OVhvTnpGTGNlRUExbzgrcEttMExBSFBIWjJyWUtqRnEwaGZaRml4c3FISmdEM2VENW4rVTBrYjFtRmpYa24ybHZNU1NPc05FL0NkSUFLRjBTeXRxNnVyT0hVTjVnd2c0R1pvc2dibWdnTTV1Y3JhMnFyUzJJZzFjYmlCQmN4WXpnelVETkxDdkw4R2JaWE5wNk9SeTNMbVMrS2s4M3pSSUFLNkExaW9LYTJJOU5hcEl1aVVGZGZDOTc2NlBGWlV0cVVyNktiV2srelpVMWEvWnJJWEV6dHJqVE9mejdod0t6aUNlWElhcmFIdGJaSU16KzJwR2dhekNtdzRxV0FGdkVkaG9kWXAwWHEwcFY3RzFZV1lXYk80cWhHcTQyK1o4Qll0ckxXdmx1TlBwWkFlYUZGUzF2dWJQZ2JneHNxY3BuQWFzekJvdkthRm9EUThCR3RqZlVPbDROQUcybm1RVjA0ZmVKZ3VtdlgyZnNyUUVXWmdoTDBKblZkWWtuM0RPWkllUk44NlJxUFdDbXN2R1ZxRU1Sbnd4UUF4d1M4RU1ZbzNJem1ZMitCQ2NMcDRNS2l1eXVoSW1hbWxiWkZjTm9ObDd0cCtSSGQxOFpqUUlSS3lYZEZSaE45OC9oeUtxd1hXTm83TzF3aWFYb0hOMTA4UkVaWldFcTZncm5JZmp6ZWc4amRSZjFYRUw0a2tYYTViQmpLeG9LYWxqQmplSGxWeFE0R2F5Y3BXNGxET0FLdG5UeEhBdE9mek90WndIQU03c3FWWGtWNnl1NmthcDFuSGtYS3FXRi80WEhxamVuTktxQmpwUjNsMWNoM0VqZzErRXNnZFFoc2RHMEI0Rk05c1dBVldwdUF5aXdUUGxlWnh0OVZ5WlZTMnFYZlJlV3FUQWlscHI5QXBvV1RqeHltaXQ3TndWNEpUcmlaeU9BOUIwazdIRmZVTG91cm1LWUhWblJRdnFHTDVITUhkcUZjUjJxV3BtY0s2ZVR3eDJkaXBXcnZpRGlscitmS1dxM09XUldkSEt3QTRldTh3amNoYmVSekZpbHFqalpOM3VmQ3Bma0owL3NjVnBuWWs2TDBQSTc3bHhkV0NaODdXaVdtN0IvQUdxdVFTbnVqR0tzQjhDSm1pSnE4cTFwS0lWV3lxT2lUSzY2cjE4Qk44cjc0L0FFNzFmZEMzeVBTMk14ZE9wbkUxdGxWeEQ5Sm1WT29nZ04rcjRQakFYVkZQYTNFZzVqVkpHRlZVR05vbEgyMEdWclVCN0JPeVNXcTZXcVlRZFdSOTJwY0ZNWU13Y2tiU2dDS0NxRDY3RGlpV3UxZzhNUUM5QnlmY0ZxVzFMK2pMNzE0cU5DdXpub1N4dDBkYTJndFdOMUc4RjBCSzBOTjBudWltZWxVRjlkSWRBZmpPNDRVVDNDalFMb1VlTEhKRlRPM2dtcFJ1SUlPdndCUUNicU5lbzNxdFo5aUY2eFZLMTNHUmxvNHpxaW1xK0NHZFRpUjF1Ulk4b3FnRTAyaFpCYTc5a1pYUE1xdXhSSEtsYTJzYVpXTjRtUnFaVWowdkxDS2hraktucU9RSE51U1pWSm9LdkFxUzF3cEVxdXZXREMxQjJ5cHdyQ1BzUk1FUFZUT0RNTEpNRHY2cWVLWHdpMkpZVjVTcTRxS3l2Z0dzSENMaXVqMmpSNTlWOGdNcVNKMkZKWlJYRUhWUkhqM3NGUHJjdDZPcHFsVzFHcGF0UWR0MEd2d2ZNNm42M0luc0dWRmhKR2FCcWdxcUlWNklzWGxsWmd5U1BxNFIzYm50M3dpNWN2K2NOMnlxUUxXMVQ5NUtZVnNXV3RLazRjQjlXNTNXUVFmbFFZUjZXbDRIYUpaanZWRTBENXl2cStSS2daQ3M1cWRCRVA1c0Q5NGNBdlFMbFNnTmFTTUF0SHg4OEJ1TlE0MXpkRnNYMzB6S2JjczBNTEQvaWhrcFF6bDB3aVRxS0xUZmJLbUNteVlJQ25LMEliYWllQzRDRzlpU3lMUTdjSU1HUXdhdTZUS29xNjBBcGwzV040MExacGNhMUNLS0s5VlF5eUlFbjh3MEY4RjZDTDJoOG8zaXhHd0M3czdFV3pDT3FtY0FwWXhZRDRqc0F6VlMwc2wydDk4cEE3dnJLb3BoQ1ZTb25iWXBnSDZtdlNuMjRwVEJWNHNkdFYzQnRNcTVrODJ5K0lBRHZVSjB1QWxrQ1ZUeElhUG0rVU51L3FrVjRGMVR6SFhDR3JYSUFxSXRCS3lwcUs5OVZ0QU9WczY0TzRPYlg3cEhMVkNwWUhjUm13dkxSN1R2WUFLQkJONThMR1Z6RHVGeitoUWJXZ25jUXlDWkFrK1Zic1BTb3VmOTMyNjFpWmdtZkNwd1JiQXZxbVNxcmlVMlB3aGphb095WXF0SWVnVlhWaVRzbXl0YTZiR3lTcFkzZ3lScnBJeUFlYVdERHh0cHNYd0t5YWxNREtOUDdZQlhNcUVza1VzaTJ1QzhGTkFQeEFLVFZmVDFvNlZ6TTBFMGpGKzFyV2NVdUh2ZHlnN3Znb0ZwbFg4SHB2SHBNQ09NUlVQSHpaa0luc3FsRktOWC9FSU81MkUwU3hTek93b2IyVm1STFc1RDFYSVUwcmJnTTFBeldneUM3ZmU4Rzd4VUFLL3RhRUJhdDdsdXF0eVA3RW1zYUpRT2o1Rittcm5aZkN1WUNmQlVBV3dTaHlkNnBNWS92QUhHMVVxT1lwYkkvZ3k1VDBDTUttK1VPM2dGdUM4NWRnZkRWZWd1UERmSVRySUJMc0xyY2dkaDNDRmdGWmphS0o0SXYzRjhBTkVxdnV4UjF0VktPZ0xvQ2Exanhib0JBa2o2djdqL2ljRmJBN2Y0cmZSblFETFJWaUcxM2kwdnFCUXJZVnFCYkFEWlQwWnBpSG9TenZRcG9wS0lGUzNzRTFIZkJXbEhYZDBIN0xuQXJxdm91Z010bGpIQmdabmgzRW96L0JLakxNTDRaMkFxMCtoRUpyOWphVlVCYnZOekNJVWlyb0M3QVdtbUZ3NG81QUszTXRCNVZ5cFpNU0ZnczA1SnlHVndsd0Jxc0VHQUFhMlpVMUNqVWV4WEdzRTRyS3JpaWxCdkZ6T0tLbzNBdUFyb0U2UUZRVTN1OFlwTlh3UzVrKzFUWnQ1VXJ3b3VONEtpVUV3K2szWldEcDFSWEhOUnFYYjIxVHMzOTk0NXlaU2czVm5aRk5ROUNGM1hlWnlyNURnQlhLaXdDTWEyTXhlVERZWGdQMUZzZjlRTktaYzBrODFSSmszcjZFUTNyQ21CVnlMTDc1RWpaMXBJVkRIb0Z0aU9BSG9CMEJkVFZ5bHFCc0tLS1MrQWVCWEpWTFkrQ1hBU3VHdk8vQXVxN0d1RWpEZkdLZzFvS2Exei9kbW1pOUk5U1VHTmhsMEF0ZnVsSEFhd29Zcm5Ta21OWEFWdUdFaHJFVlh2VUYrQTVDdDJQcU5PakRldHluYTRDbWVVb2xtZVhMTjRBcTdDNVNqMTBRN3lqZ2wrdDZDTnhTUkhtSTVYK0Nwd3JlWUIzUWZkcW5hNHEyMUtkQnVjNEdvWnNuNDlaT09pVmlud0hxSzlXemp2Z2V3ZUVoMkFVNSt2dHhaOUNkOVdxa2g0OVYxOEU1b2o2dlZ5bjBSU3RBeUdJTzVlZFhSS2Q1QjBWR1ZYcTJ5cjN4WXArNVV0K0M0UUo0UDFOMzM5cFFNalJlamo0dmIvRGNyNnJRYzNPLzByam10WnBlWUNCaUNIZkNlbVJiTmhiSy9wTlVQYzN3Zkt5NWYyRDdPbEwzL3VQaHZlL29VNFQwRjhmK1ZOTTJ2eW9pdjBqSytLSFFmZEhxKzBibmN6NG96NzMvK1k2TGJLdzFvLzVCN2VPZjFSbC8wZHU5Qjl0bi85YnZyZi9qK3YwaDZ0dG4ydHAvci80ODE5eTQvenY1MzkxdXZ6emZ3RGlmejZwaFQxTVBnQUFBQUJKUlU1RXJrSmdnZz09Iik7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtkaXJlY3Rpb246bHRyO2hlaWdodDoxMzBweDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uO3dpZHRoOjEwMCV9LmNvbG9yLXBpY2tlciAuY3AtYWRkLWNvbG9yLWJ1dHRvbi1jbGFzc3tiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlcjowO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6aW5saW5lO21hcmdpbjozcHggLTNweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGV9LmNvbG9yLXBpY2tlciAuY3AtYWRkLWNvbG9yLWJ1dHRvbi1jbGFzczpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5jb2xvci1waWNrZXIgLmNwLWFkZC1jb2xvci1idXR0b24tY2xhc3M6ZGlzYWJsZWR7Y29sb3I6Izk5OTtjdXJzb3I6bm90LWFsbG93ZWR9LmNvbG9yLXBpY2tlciAuY3AtYWRkLWNvbG9yLWJ1dHRvbi1jbGFzczpkaXNhYmxlZDpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0uY29sb3ItcGlja2VyIC5jcC1yZW1vdmUtY29sb3ItYnV0dG9uLWNsYXNze2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjFweCAxcHggNXB4ICMzMzM7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotNXB4O3RleHQtYWxpZ246Y2VudGVyO3RvcDotNXB4O3dpZHRoOjEwcHh9LmNvbG9yLXBpY2tlciAuY3AtcmVtb3ZlLWNvbG9yLWJ1dHRvbi1jbGFzczpiZWZvcmV7Ym90dG9tOjMuNXB4O2NvbnRlbnQ6IngiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMHB4O3Bvc2l0aW9uOnJlbGF0aXZlfSddLGVuY2Fwc3VsYXRpb246Mn0pLE81LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOk9ifSx7dHlwZTp4NX1dLE81LnByb3BEZWNvcmF0b3JzPXtkaWFsb2dFbGVtZW50Olt7dHlwZTphcixhcmdzOlsiZGlhbG9nUG9wdXAiLHtzdGF0aWM6ITB9XX1dLGh1ZVNsaWRlcjpbe3R5cGU6YXIsYXJnczpbImh1ZVNsaWRlciIse3N0YXRpYzohMH1dfV0sYWxwaGFTbGlkZXI6W3t0eXBlOmFyLGFyZ3M6WyJhbHBoYVNsaWRlciIse3N0YXRpYzohMH1dfV0saGFuZGxlRXNjOlt7dHlwZTpUXyxhcmdzOlsiZG9jdW1lbnQ6a2V5dXAuZXNjIixbIiRldmVudCJdXX1dLGhhbmRsZUVudGVyOlt7dHlwZTpUXyxhcmdzOlsiZG9jdW1lbnQ6a2V5dXAuZW50ZXIiLFsiJGV2ZW50Il1dfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTzUsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiY29sb3ItcGlja2VyIix0ZW1wbGF0ZTonPGRpdiAjZGlhbG9nUG9wdXAgY2xhc3M9ImNvbG9yLXBpY2tlciIgW2NsYXNzLm9wZW5dPSJzaG93IiBbc3R5bGUuZGlzcGxheV09IiFzaG93ID8gXCdub25lXCcgOiBcJ2Jsb2NrXCciIFtzdHlsZS52aXNpYmlsaXR5XT0iaGlkZGVuID8gXCdoaWRkZW5cJyA6IFwndmlzaWJsZVwnIiBbc3R5bGUudG9wLnB4XT0idG9wIiBbc3R5bGUubGVmdC5weF09ImxlZnQiIFtzdHlsZS5wb3NpdGlvbl09InBvc2l0aW9uIiBbc3R5bGUuaGVpZ2h0LnB4XT0iY3BIZWlnaHQiIFtzdHlsZS53aWR0aC5weF09ImNwV2lkdGgiIChjbGljayk9IiRldmVudC5zdG9wUHJvcGFnYXRpb24oKSI+XG4gIDxkaXYgKm5nSWY9ImNwRGlhbG9nRGlzcGxheT09XCdwb3B1cFwnIiBjbGFzcz0iYXJyb3cgYXJyb3cte3tjcFVzZVBvc2l0aW9ufX0iIFtzdHlsZS50b3AucHhdPSJhcnJvd1RvcCI+PC9kaXY+XG5cbiAgPGRpdiAqbmdJZj0iKGNwQ29sb3JNb2RlIHx8wqAxKSA9PT0gMSIgY2xhc3M9InNhdHVyYXRpb24tbGlnaHRuZXNzIiBbc2xpZGVyXSBbcmdYXT0iMSIgW3JnWV09IjEiIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT0iaHVlU2xpZGVyQ29sb3IiIChuZXdWYWx1ZSk9Im9uQ29sb3JDaGFuZ2UoJGV2ZW50KSIgKGRyYWdTdGFydCk9Im9uRHJhZ1N0YXJ0KFwnc2F0dXJhdGlvbi1saWdodG5lc3NcJykiIChkcmFnRW5kKT0ib25EcmFnRW5kKFwnc2F0dXJhdGlvbi1saWdodG5lc3NcJykiPlxuICAgIDxkaXYgY2xhc3M9ImN1cnNvciIgW3N0eWxlLnRvcC5weF09InNsaWRlcj8udiIgW3N0eWxlLmxlZnQucHhdPSJzbGlkZXI/LnMiPjwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPSJodWUtYWxwaGEgYm94Ij5cbiAgICA8ZGl2IGNsYXNzPSJsZWZ0Ij5cbiAgICAgIDxkaXYgY2xhc3M9InNlbGVjdGVkLWNvbG9yLWJhY2tncm91bmQiPjwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPSJzZWxlY3RlZC1jb2xvciIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPSJzZWxlY3RlZENvbG9yIj48L2Rpdj5cblxuICAgICAgPGJ1dHRvbiAqbmdJZj0iY3BBZGRDb2xvckJ1dHRvbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0ie3tjcEFkZENvbG9yQnV0dG9uQ2xhc3N9fSIgW2Rpc2FibGVkXT0iY3BQcmVzZXRDb2xvcnMgJiYgY3BQcmVzZXRDb2xvcnMubGVuZ3RoID49IGNwTWF4UHJlc2V0Q29sb3JzTGVuZ3RoIiAoY2xpY2spPSJvbkFkZFByZXNldENvbG9yKCRldmVudCwgc2VsZWN0ZWRDb2xvcikiPlxuICAgICAgICB7e2NwQWRkQ29sb3JCdXR0b25UZXh0fX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz0icmlnaHQiPlxuICAgICAgPGRpdiAqbmdJZj0iY3BBbHBoYUNoYW5uZWw9PT1cJ2Rpc2FibGVkXCciIHN0eWxlPSJoZWlnaHQ6IDE2cHg7Ij48L2Rpdj5cblxuICAgICAgPGRpdiAjaHVlU2xpZGVyIGNsYXNzPSJodWUiIFtzbGlkZXJdIFtyZ1hdPSIxIiBbc3R5bGUuZGlzcGxheV09IihjcENvbG9yTW9kZSB8fMKgMSkgPT09IDEgPyBcJ2Jsb2NrXCcgOiBcJ25vbmVcJyIgKG5ld1ZhbHVlKT0ib25IdWVDaGFuZ2UoJGV2ZW50KSIgKGRyYWdTdGFydCk9Im9uRHJhZ1N0YXJ0KFwnaHVlXCcpIiAoZHJhZ0VuZCk9Im9uRHJhZ0VuZChcJ2h1ZVwnKSI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImN1cnNvciIgW3N0eWxlLmxlZnQucHhdPSJzbGlkZXI/LmgiPjwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgI3ZhbHVlU2xpZGVyIGNsYXNzPSJ2YWx1ZSIgW3NsaWRlcl0gW3JnWF09IjEiIFtzdHlsZS5kaXNwbGF5XT0iKGNwQ29sb3JNb2RlIHx8wqAxKSA9PT0gMiA/IFwnYmxvY2tcJzogXCdub25lXCciIChuZXdWYWx1ZSk9Im9uVmFsdWVDaGFuZ2UoJGV2ZW50KSIgKGRyYWdTdGFydCk9Im9uRHJhZ1N0YXJ0KFwndmFsdWVcJykiIChkcmFnRW5kKT0ib25EcmFnRW5kKFwndmFsdWVcJykiPlxuICAgICAgICA8ZGl2IGNsYXNzPSJjdXJzb3IiIFtzdHlsZS5yaWdodC5weF09InNsaWRlcj8udiI+PC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAjYWxwaGFTbGlkZXIgY2xhc3M9ImFscGhhIiBbc2xpZGVyXSBbcmdYXT0iMSIgW3N0eWxlLmRpc3BsYXldPSJjcEFscGhhQ2hhbm5lbCA9PT0gXCdkaXNhYmxlZFwnID8gXCdub25lXCcgOiBcJ2Jsb2NrXCciIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT0iYWxwaGFTbGlkZXJDb2xvciIgKG5ld1ZhbHVlKT0ib25BbHBoYUNoYW5nZSgkZXZlbnQpIiAoZHJhZ1N0YXJ0KT0ib25EcmFnU3RhcnQoXCdhbHBoYVwnKSIgKGRyYWdFbmQpPSJvbkRyYWdFbmQoXCdhbHBoYVwnKSI+XG4gICAgICAgIDxkaXYgY2xhc3M9ImN1cnNvciIgW3N0eWxlLmxlZnQucHhdPSJzbGlkZXI/LmEiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9IiFjcERpc2FibGVJbnB1dCAmJiAoY3BDb2xvck1vZGUgfHzCoDEpID09PSAxIiBjbGFzcz0iY215ay10ZXh0IiBbc3R5bGUuZGlzcGxheV09ImZvcm1hdCAhPT0gMyA/IFwnbm9uZVwnIDogXCdibG9ja1wnIj5cbiAgICA8ZGl2IGNsYXNzPSJib3giPlxuICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgcGF0dGVybj0iWzAtOV0qIiBtaW49IjAiIG1heD0iMTAwIiBbdGV4dF0gW3JnXT0iMTAwIiBbdmFsdWVdPSJjbXlrVGV4dD8uYyIgKGtleXVwLmVudGVyKT0ib25BY2NlcHRDb2xvcigkZXZlbnQpIiAobmV3VmFsdWUpPSJvbkN5YW5JbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgcGF0dGVybj0iWzAtOV0qIiBtaW49IjAiIG1heD0iMTAwIiBbdGV4dF0gW3JnXT0iMTAwIiBbdmFsdWVdPSJjbXlrVGV4dD8ubSIgKGtleXVwLmVudGVyKT0ib25BY2NlcHRDb2xvcigkZXZlbnQpIiAobmV3VmFsdWUpPSJvbk1hZ2VudGFJbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgcGF0dGVybj0iWzAtOV0qIiBtaW49IjAiIG1heD0iMTAwIiBbdGV4dF0gW3JnXT0iMTAwIiBbdmFsdWVdPSJjbXlrVGV4dD8ueSIgKGtleXVwLmVudGVyKT0ib25BY2NlcHRDb2xvcigkZXZlbnQpIiAobmV3VmFsdWUpPSJvblllbGxvd0lucHV0KCRldmVudCkiIC8+XG4gICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSoiIG1pbj0iMCIgbWF4PSIxMDAiIFt0ZXh0XSBbcmddPSIxMDAiIFt2YWx1ZV09ImNteWtUZXh0Py5rIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uQmxhY2tJbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0ICpuZ0lmPSJjcEFscGhhQ2hhbm5lbCE9PVwnZGlzYWJsZWRcJyIgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSsoW1xcLixdWzAtOV17MSwyfSk/IiBtaW49IjAiIG1heD0iMSIgc3RlcD0iMC4xIiBbdGV4dF0gW3JnXT0iMSIgW3ZhbHVlXT0iY215a1RleHQ/LmEiIChrZXl1cC5lbnRlcik9Im9uQWNjZXB0Q29sb3IoJGV2ZW50KSIgKG5ld1ZhbHVlKT0ib25BbHBoYUlucHV0KCRldmVudCkiIC8+XG4gICAgPC9kaXY+XG5cbiAgICAgPGRpdiBjbGFzcz0iYm94Ij5cbiAgICAgIDxkaXY+QzwvZGl2PjxkaXY+TTwvZGl2PjxkaXY+WTwvZGl2PjxkaXY+SzwvZGl2PjxkaXYgKm5nSWY9ImNwQWxwaGFDaGFubmVsIT09XCdkaXNhYmxlZFwnIiA+QTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPSIhY3BEaXNhYmxlSW5wdXQgJiYgKGNwQ29sb3JNb2RlIHx8wqAxKSA9PT0gMSAiIGNsYXNzPSJoc2xhLXRleHQiIFtzdHlsZS5kaXNwbGF5XT0iZm9ybWF0ICE9PSAyID8gXCdub25lXCcgOiBcJ2Jsb2NrXCciPlxuICAgIDxkaXYgY2xhc3M9ImJveCI+XG4gICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSoiIG1pbj0iMCIgbWF4PSIzNjAiIFt0ZXh0XSBbcmddPSIzNjAiIFt2YWx1ZV09ImhzbGFUZXh0Py5oIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uSHVlSW5wdXQoJGV2ZW50KSIgLz5cbiAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIHBhdHRlcm49IlswLTldKiIgbWluPSIwIiBtYXg9IjEwMCIgW3RleHRdIFtyZ109IjEwMCIgW3ZhbHVlXT0iaHNsYVRleHQ/LnMiIChrZXl1cC5lbnRlcik9Im9uQWNjZXB0Q29sb3IoJGV2ZW50KSIgKG5ld1ZhbHVlKT0ib25TYXR1cmF0aW9uSW5wdXQoJGV2ZW50KSIgLz5cbiAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIHBhdHRlcm49IlswLTldKiIgbWluPSIwIiBtYXg9IjEwMCIgW3RleHRdIFtyZ109IjEwMCIgW3ZhbHVlXT0iaHNsYVRleHQ/LmwiIChrZXl1cC5lbnRlcik9Im9uQWNjZXB0Q29sb3IoJGV2ZW50KSIgKG5ld1ZhbHVlKT0ib25MaWdodG5lc3NJbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0ICpuZ0lmPSJjcEFscGhhQ2hhbm5lbCE9PVwnZGlzYWJsZWRcJyIgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSsoW1xcLixdWzAtOV17MSwyfSk/IiBtaW49IjAiIG1heD0iMSIgc3RlcD0iMC4xIiBbdGV4dF0gW3JnXT0iMSIgW3ZhbHVlXT0iaHNsYVRleHQ/LmEiIChrZXl1cC5lbnRlcik9Im9uQWNjZXB0Q29sb3IoJGV2ZW50KSIgKG5ld1ZhbHVlKT0ib25BbHBoYUlucHV0KCRldmVudCkiIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPSJib3giPlxuICAgICAgPGRpdj5IPC9kaXY+PGRpdj5TPC9kaXY+PGRpdj5MPC9kaXY+PGRpdiAqbmdJZj0iY3BBbHBoYUNoYW5uZWwhPT1cJ2Rpc2FibGVkXCciPkE8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj0iIWNwRGlzYWJsZUlucHV0ICYmIChjcENvbG9yTW9kZSB8fMKgMSkgPT09IDEgIiBbc3R5bGUuZGlzcGxheV09ImZvcm1hdCAhPT0gMSA/IFwnbm9uZVwnIDogXCdibG9ja1wnIiBjbGFzcz0icmdiYS10ZXh0Ij5cbiAgICA8ZGl2IGNsYXNzPSJib3giPlxuICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgcGF0dGVybj0iWzAtOV0qIiBtaW49IjAiIG1heD0iMjU1IiBbdGV4dF0gW3JnXT0iMjU1IiBbdmFsdWVdPSJyZ2JhVGV4dD8uciIgKGtleXVwLmVudGVyKT0ib25BY2NlcHRDb2xvcigkZXZlbnQpIiAobmV3VmFsdWUpPSJvblJlZElucHV0KCRldmVudCkiIC8+XG4gICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSoiIG1pbj0iMCIgbWF4PSIyNTUiIFt0ZXh0XSBbcmddPSIyNTUiIFt2YWx1ZV09InJnYmFUZXh0Py5nIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uR3JlZW5JbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgcGF0dGVybj0iWzAtOV0qIiBtaW49IjAiIG1heD0iMjU1IiBbdGV4dF0gW3JnXT0iMjU1IiBbdmFsdWVdPSJyZ2JhVGV4dD8uYiIgKGtleXVwLmVudGVyKT0ib25BY2NlcHRDb2xvcigkZXZlbnQpIiAobmV3VmFsdWUpPSJvbkJsdWVJbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0ICpuZ0lmPSJjcEFscGhhQ2hhbm5lbCE9PVwnZGlzYWJsZWRcJyIgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSsoW1xcLixdWzAtOV17MSwyfSk/IiBtaW49IjAiIG1heD0iMSIgc3RlcD0iMC4xIiBbdGV4dF0gW3JnXT0iMSIgW3ZhbHVlXT0icmdiYVRleHQ/LmEiIChrZXl1cC5lbnRlcik9Im9uQWNjZXB0Q29sb3IoJGV2ZW50KSIgKG5ld1ZhbHVlKT0ib25BbHBoYUlucHV0KCRldmVudCkiIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPSJib3giPlxuICAgICAgPGRpdj5SPC9kaXY+PGRpdj5HPC9kaXY+PGRpdj5CPC9kaXY+PGRpdiAqbmdJZj0iY3BBbHBoYUNoYW5uZWwhPT1cJ2Rpc2FibGVkXCciID5BPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9IiFjcERpc2FibGVJbnB1dCAmJiAoY3BDb2xvck1vZGUgfHzCoDEpID09PSAxIiBjbGFzcz0iaGV4LXRleHQiIFtjbGFzcy5oZXgtYWxwaGFdPSJjcEFscGhhQ2hhbm5lbD09PVwnZm9yY2VkXCciXG4gICAgW3N0eWxlLmRpc3BsYXldPSJmb3JtYXQgIT09IDAgPyBcJ25vbmVcJyA6IFwnYmxvY2tcJyI+XG4gICAgPGRpdiBjbGFzcz0iYm94Ij5cbiAgICAgIDxpbnB1dCBbdGV4dF0gW3ZhbHVlXT0iaGV4VGV4dCIgKGJsdXIpPSJvbkhleElucHV0KG51bGwpIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uSGV4SW5wdXQoJGV2ZW50KSIvPlxuICAgICAgPGlucHV0ICpuZ0lmPSJjcEFscGhhQ2hhbm5lbD09PVwnZm9yY2VkXCciIHR5cGU9Im51bWJlciIgcGF0dGVybj0iWzAtOV0rKFtcXC4sXVswLTldezEsMn0pPyIgbWluPSIwIiBtYXg9IjEiIHN0ZXA9IjAuMSIgW3RleHRdIFtyZ109IjEiIFt2YWx1ZV09ImhleEFscGhhIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uQWxwaGFJbnB1dCgkZXZlbnQpIi8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPSJib3giPlxuICAgICAgPGRpdj5IZXg8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9ImNwQWxwaGFDaGFubmVsPT09XCdmb3JjZWRcJyI+QTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPSIhY3BEaXNhYmxlSW5wdXQgJiYgKGNwQ29sb3JNb2RlIHx8wqAxKSA9PT0gMiIgY2xhc3M9InZhbHVlLXRleHQiPlxuICAgIDxkaXYgY2xhc3M9ImJveCI+XG4gICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSoiIG1pbj0iMCIgbWF4PSIxMDAiIFt0ZXh0XSBbcmddPSIxMDAiIFt2YWx1ZV09ImhzbGFUZXh0Py5sIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uVmFsdWVJbnB1dCgkZXZlbnQpIiAvPlxuICAgICAgPGlucHV0ICpuZ0lmPSJjcEFscGhhQ2hhbm5lbCE9PVwnZGlzYWJsZWRcJyIgdHlwZT0ibnVtYmVyIiBwYXR0ZXJuPSJbMC05XSsoW1xcLixdWzAtOV17MSwyfSk/IiBtaW49IjAiIG1heD0iMSIgc3RlcD0iMC4xIiAgW3RleHRdIFtyZ109IjEiIFt2YWx1ZV09ImhzbGFUZXh0Py5hIiAoa2V5dXAuZW50ZXIpPSJvbkFjY2VwdENvbG9yKCRldmVudCkiIChuZXdWYWx1ZSk9Im9uQWxwaGFJbnB1dCgkZXZlbnQpIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz0iYm94Ij5cbiAgICAgIDxkaXY+VjwvZGl2PjxkaXY+QTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPSIhY3BEaXNhYmxlSW5wdXQgJiYgKGNwQ29sb3JNb2RlIHx8wqAxKSA9PT0gMSIgY2xhc3M9InR5cGUtcG9saWN5Ij5cbiAgICA8c3BhbiBjbGFzcz0idHlwZS1wb2xpY3ktYXJyb3ciIChjbGljayk9Im9uRm9ybWF0VG9nZ2xlKC0xKSI+PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPSJ0eXBlLXBvbGljeS1hcnJvdyIgKGNsaWNrKT0ib25Gb3JtYXRUb2dnbGUoMSkiPjwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj0iY3BQcmVzZXRDb2xvcnM/Lmxlbmd0aCB8fCBjcEFkZENvbG9yQnV0dG9uIiBjbGFzcz0icHJlc2V0LWFyZWEiPlxuICAgIDxocj5cblxuICAgIDxkaXYgY2xhc3M9InByZXNldC1sYWJlbCI+e3tjcFByZXNldExhYmVsfX08L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9ImNwUHJlc2V0Q29sb3JzPy5sZW5ndGgiIGNsYXNzPSJ7e2NwUHJlc2V0Q29sb3JzQ2xhc3N9fSI+XG4gICAgICA8ZGl2ICpuZ0Zvcj0ibGV0IGNvbG9yIG9mIGNwUHJlc2V0Q29sb3JzIiBjbGFzcz0icHJlc2V0LWNvbG9yIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT0iY29sb3IiIChjbGljayk9InNldENvbG9yRnJvbVN0cmluZyhjb2xvcikiPlxuICAgICAgICA8c3BhbiAqbmdJZj0iY3BBZGRDb2xvckJ1dHRvbiIgY2xhc3M9Int7Y3BSZW1vdmVDb2xvckJ1dHRvbkNsYXNzfX0iIChjbGljayk9Im9uUmVtb3ZlUHJlc2V0Q29sb3IoJGV2ZW50LCBjb2xvcikiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj0iIWNwUHJlc2V0Q29sb3JzPy5sZW5ndGggJiYgY3BBZGRDb2xvckJ1dHRvbiIgY2xhc3M9Int7Y3BQcmVzZXRFbXB0eU1lc3NhZ2VDbGFzc319Ij57e2NwUHJlc2V0RW1wdHlNZXNzYWdlfX08L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj0iY3BPS0J1dHRvbiB8fCBjcENhbmNlbEJ1dHRvbiIgY2xhc3M9ImJ1dHRvbi1hcmVhIj5cbiAgICA8YnV0dG9uICpuZ0lmPSJjcENhbmNlbEJ1dHRvbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0ie3tjcENhbmNlbEJ1dHRvbkNsYXNzfX0iIChjbGljayk9Im9uQ2FuY2VsQ29sb3IoJGV2ZW50KSI+e3tjcENhbmNlbEJ1dHRvblRleHR9fTwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiAqbmdJZj0iY3BPS0J1dHRvbiIgdHlwZT0iYnV0dG9uIiBjbGFzcz0ie3tjcE9LQnV0dG9uQ2xhc3N9fSIgKGNsaWNrKT0ib25BY2NlcHRDb2xvcigkZXZlbnQpIj57e2NwT0tCdXR0b25UZXh0fX08L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbicsZW5jYXBzdWxhdGlvbjpXbi5Ob25lLHN0eWxlczpbJy5jb2xvci1waWNrZXJ7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjNzc3O2N1cnNvcjpkZWZhdWx0O2hlaWdodDphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3VzZXItc2VsZWN0Om5vbmU7d2lkdGg6MjMwcHg7ei1pbmRleDoxMDAwfS5jb2xvci1waWNrZXIgKntib3gtc2l6aW5nOmJvcmRlci1ib3g7Zm9udC1zaXplOjExcHg7bWFyZ2luOjB9LmNvbG9yLXBpY2tlciBpbnB1dHtjb2xvcjojMDAwO2ZvbnQtc2l6ZToxM3B4O2hlaWdodDoyNnB4O21pbi13aWR0aDowO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjB9LmNvbG9yLXBpY2tlciBpbnB1dDotbW96LXN1Ym1pdC1pbnZhbGlkLC5jb2xvci1waWNrZXIgaW5wdXQ6LW1vei11aS1pbnZhbGlkLC5jb2xvci1waWNrZXIgaW5wdXQ6aW52YWxpZHtib3gtc2hhZG93Om5vbmV9LmNvbG9yLXBpY2tlciBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwuY29sb3ItcGlja2VyIGlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lO21hcmdpbjowfS5jb2xvci1waWNrZXIgLmFycm93e2JvcmRlci1zdHlsZTpzb2xpZDtoZWlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO3otaW5kZXg6OTk5OTk5fS5jb2xvci1waWNrZXIgLmFycm93LmFycm93LXRvcHtib3JkZXItY29sb3I6Izc3NyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6MTBweCA1cHg7bGVmdDo4cHh9LmNvbG9yLXBpY2tlciAuYXJyb3cuYXJyb3ctYm90dG9te2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNzc3O2JvcmRlci13aWR0aDoxMHB4IDVweDtsZWZ0OjhweDt0b3A6LTIwcHh9LmNvbG9yLXBpY2tlciAuYXJyb3cuYXJyb3ctbGVmdC10b3AsLmNvbG9yLXBpY2tlciAuYXJyb3cuYXJyb3ctdG9wLWxlZnR7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM3Nzc7Ym9yZGVyLXdpZHRoOjVweCAxMHB4O2JvdHRvbTo4cHg7cmlnaHQ6LTIxcHh9LmNvbG9yLXBpY2tlciAuYXJyb3cuYXJyb3ctcmlnaHQtdG9wLC5jb2xvci1waWNrZXIgLmFycm93LmFycm93LXRvcC1yaWdodHtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgIzc3NyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6NXB4IDEwcHg7Ym90dG9tOjhweDtsZWZ0Oi0yMHB4fS5jb2xvci1waWNrZXIgLmFycm93LmFycm93LWJvdHRvbS1sZWZ0LC5jb2xvci1waWNrZXIgLmFycm93LmFycm93LWxlZnQsLmNvbG9yLXBpY2tlciAuYXJyb3cuYXJyb3ctbGVmdC1ib3R0b217Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM3Nzc7Ym9yZGVyLXdpZHRoOjVweCAxMHB4O3JpZ2h0Oi0yMXB4O3RvcDo4cHh9LmNvbG9yLXBpY2tlciAuYXJyb3cuYXJyb3ctYm90dG9tLXJpZ2h0LC5jb2xvci1waWNrZXIgLmFycm93LmFycm93LXJpZ2h0LC5jb2xvci1waWNrZXIgLmFycm93LmFycm93LXJpZ2h0LWJvdHRvbXtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgIzc3NyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6NXB4IDEwcHg7bGVmdDotMjBweDt0b3A6OHB4fS5jb2xvci1waWNrZXIgLmN1cnNvcntib3JkZXI6MnB4IHNvbGlkICMyMjI7Ym9yZGVyLXJhZGl1czo1MCU7Y3Vyc29yOmRlZmF1bHQ7aGVpZ2h0OjE2cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTZweH0uY29sb3ItcGlja2VyIC5ib3h7ZGlzcGxheTpmbGV4O3BhZGRpbmc6NHB4IDhweH0uY29sb3ItcGlja2VyIC5sZWZ0e3BhZGRpbmc6MTZweCA4cHg7cG9zaXRpb246cmVsYXRpdmV9LmNvbG9yLXBpY2tlciAucmlnaHR7ZmxleDoxIDEgYXV0bztwYWRkaW5nOjEycHggOHB4fS5jb2xvci1waWNrZXIgLmJ1dHRvbi1hcmVhe3BhZGRpbmc6MCAxNnB4IDE2cHg7dGV4dC1hbGlnbjpyaWdodH0uY29sb3ItcGlja2VyIC5idXR0b24tYXJlYSBidXR0b257bWFyZ2luLWxlZnQ6OHB4fS5jb2xvci1waWNrZXIgLnByZXNldC1hcmVhe3BhZGRpbmc6NHB4IDE1cHh9LmNvbG9yLXBpY2tlciAucHJlc2V0LWFyZWEgLnByZXNldC1sYWJlbHtjb2xvcjojNTU1O2ZvbnQtc2l6ZToxMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjRweDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0uY29sb3ItcGlja2VyIC5wcmVzZXQtYXJlYSAucHJlc2V0LWNvbG9ye2JvcmRlcjoxcHggc29saWQgI2E5YTlhOTtib3JkZXItcmFkaXVzOjI1JTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MThweDttYXJnaW46NHB4IDZweCA4cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MThweH0uY29sb3ItcGlja2VyIC5wcmVzZXQtYXJlYSAucHJlc2V0LWVtcHR5LW1lc3NhZ2V7Zm9udC1zdHlsZTppdGFsaWM7bWFyZ2luLWJvdHRvbTo4cHg7bWFyZ2luLXRvcDo0cHg7bWluLWhlaWdodDoxOHB4O3RleHQtYWxpZ246Y2VudGVyfS5jb2xvci1waWNrZXIgLmhleC10ZXh0e2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6NHB4IDhweDt3aWR0aDoxMDAlfS5jb2xvci1waWNrZXIgLmhleC10ZXh0IC5ib3h7cGFkZGluZzowIDI0cHggOHB4IDhweH0uY29sb3ItcGlja2VyIC5oZXgtdGV4dCAuYm94IGRpdntjbGVhcjpsZWZ0O2NvbG9yOiM1NTU7ZmxleDoxIDEgYXV0bztmbG9hdDpsZWZ0O3RleHQtYWxpZ246Y2VudGVyfS5jb2xvci1waWNrZXIgLmhleC10ZXh0IC5ib3ggaW5wdXR7Ym9yZGVyOjFweCBzb2xpZCAjYTlhOWE5O2ZsZXg6MSAxIGF1dG87cGFkZGluZzoxcHh9LmNvbG9yLXBpY2tlciAuaGV4LWFscGhhIC5ib3ggZGl2OmZpcnN0LWNoaWxkLC5jb2xvci1waWNrZXIgLmhleC1hbHBoYSAuYm94IGlucHV0OmZpcnN0LWNoaWxke2ZsZXgtZ3JvdzozO21hcmdpbi1yaWdodDo4cHh9LmNvbG9yLXBpY2tlciAuY215ay10ZXh0LC5jb2xvci1waWNrZXIgLmhzbGEtdGV4dCwuY29sb3ItcGlja2VyIC5yZ2JhLXRleHQsLmNvbG9yLXBpY2tlciAudmFsdWUtdGV4dHtmb250LXNpemU6MTFweDtwYWRkaW5nOjRweCA4cHg7d2lkdGg6MTAwJX0uY29sb3ItcGlja2VyIC5jbXlrLXRleHQgLmJveCwuY29sb3ItcGlja2VyIC5oc2xhLXRleHQgLmJveCwuY29sb3ItcGlja2VyIC5yZ2JhLXRleHQgLmJveHtwYWRkaW5nOjAgMjRweCA4cHggOHB4fS5jb2xvci1waWNrZXIgLnZhbHVlLXRleHQgLmJveHtwYWRkaW5nOjAgOHB4IDhweH0uY29sb3ItcGlja2VyIC5jbXlrLXRleHQgLmJveCBkaXYsLmNvbG9yLXBpY2tlciAuaHNsYS10ZXh0IC5ib3ggZGl2LC5jb2xvci1waWNrZXIgLnJnYmEtdGV4dCAuYm94IGRpdiwuY29sb3ItcGlja2VyIC52YWx1ZS10ZXh0IC5ib3ggZGl2e2NvbG9yOiM1NTU7ZmxleDoxIDEgYXV0bzttYXJnaW4tcmlnaHQ6OHB4O3RleHQtYWxpZ246Y2VudGVyfS5jb2xvci1waWNrZXIgLmNteWstdGV4dCAuYm94IGRpdjpsYXN0LWNoaWxkLC5jb2xvci1waWNrZXIgLmhzbGEtdGV4dCAuYm94IGRpdjpsYXN0LWNoaWxkLC5jb2xvci1waWNrZXIgLnJnYmEtdGV4dCAuYm94IGRpdjpsYXN0LWNoaWxkLC5jb2xvci1waWNrZXIgLnZhbHVlLXRleHQgLmJveCBkaXY6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH0uY29sb3ItcGlja2VyIC5jbXlrLXRleHQgLmJveCBpbnB1dCwuY29sb3ItcGlja2VyIC5oc2xhLXRleHQgLmJveCBpbnB1dCwuY29sb3ItcGlja2VyIC5yZ2JhLXRleHQgLmJveCBpbnB1dCwuY29sb3ItcGlja2VyIC52YWx1ZS10ZXh0IC5ib3ggaW5wdXR7Ym9yZGVyOjFweCBzb2xpZCAjYTlhOWE5O2ZsZXg6MTtmbG9hdDpsZWZ0O21hcmdpbjowIDhweCAwIDA7cGFkZGluZzoxcHh9LmNvbG9yLXBpY2tlciAuY215ay10ZXh0IC5ib3ggaW5wdXQ6bGFzdC1jaGlsZCwuY29sb3ItcGlja2VyIC5oc2xhLXRleHQgLmJveCBpbnB1dDpsYXN0LWNoaWxkLC5jb2xvci1waWNrZXIgLnJnYmEtdGV4dCAuYm94IGlucHV0Omxhc3QtY2hpbGQsLmNvbG9yLXBpY2tlciAudmFsdWUtdGV4dCAuYm94IGlucHV0Omxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjB9LmNvbG9yLXBpY2tlciAuaHVlLWFscGhhe2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tYm90dG9tOjNweH0uY29sb3ItcGlja2VyIC5odWV7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBSllBQUFBUUNBWUFBQUQwNklZbkFBQUFCbUpMUjBRQS93RC9BUCtndmFlVEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBQjNSSlRVVUg0QUlXRHdrVUZXYkNDQUFBQUZ4SlJFRlVhTjd0MGtFS2cwQVFBTUUyeDgzL24ycXU1cUNnRDFpRGhDb1lkcG5iUUM5YmJZMXFWTy9qdmM2azNhZDkxczcvN0YxL2NzZ1BydWp1UTE3QkRZU0ZzQkFXd2dKaElTeUVCY0pDV0FnTGhJV3dFQllJaTJmN0FyLzFUQ2dGSDJYOUFBQUFBRWxGVGtTdVFtQ0MiKTtkaXJlY3Rpb246bHRyfS5jb2xvci1waWNrZXIgLmh1ZSwuY29sb3ItcGlja2VyIC52YWx1ZXtiYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO2hlaWdodDoxNnB4O21hcmdpbi1ib3R0b206MTZweDt3aWR0aDoxMDAlfS5jb2xvci1waWNrZXIgLnZhbHVle2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUpZQUFBQVFDQVlBQUFEMDZJWW5BQUFDVGtsRVFWUjQydTNTWVVjckFCaEE0VTJTa21SSk1tV1NKa2xLSmlXWlpwS1VKSnNrS1VtYVRGSW1LWk9Vek15U3BHUm1saVJOSmlsSlNwS1NKRXRtU3BJcG1XbVNkTzczNi82RCt4N09QM2dVQ29XQ3YxY3FsU1FsSlpHY25FeEtTZ3FwcWFta3BhV1JucDVPUmtZR21abVpxRlFxc3JLeXlNN09KaWNuaDl6Y1hOUnFOWGw1ZWVUbjU2UFJhQ2dvS0tDd3NKQ2lvaUswV2kzRnhjV1VsSlJRV2xwS1dWa1o1ZVhsVkZSVVVGbFppVTZubzZxcWl1cnFhbXBxYXFpdHJhV3VyZzY5WGs5OWZUMEdnd0dqMFVoRFF3T05qWTAwTlRYUjNOeE1TMHNMcmEydHRMVzEwZDdlanNsa3dtdzIwOUhSUVdkbkoxMWRYWFIzZDlQVDAwTnZieTk5ZlgzMDkvY3pNRERBNE9BZ0ZvdUZvYUVockZZcnc4UERqSXlNTURvNnl0allHRGFiamZIeGNTWW1KcGljbkdScWFncTczYzcwOURRek16UE16czR5TnpmSC9QdzhEb2NEcDlPSnkrWEM3WGF6c0xEQTR1SWlTMHRMTEM4dnM3S3l3dXJxS210cmEzZzhIcnhlTHo2ZkQ3L2Z6L3I2T2hzYkcyeHVicksxdGNYMjlqYUJRSUNkblIyQ3dTQzd1N3ZzN2UyeHY3L1B3Y0VCaDRlSEhCMGRjWHg4ek1uSkNhZW5wNXlkblhGK2ZzN0Z4UVdYbDVkY1hWMXhmWDNOemMwTnQ3ZTMzTjNkRVFxRnVMKy81K0hoZ1hBNFRDUVM0Zkh4a2Flbko1NmZuM2w1ZWVIMTlaVm9OTXJiMnh2djcrOThmSHdRaThXSXgrTjhmbjZTU0NUNCt2cmkrL3VibjU4ZmZuOS8rVmNLZ1NXd0JKYkFFbGdDUzJBSkxJRWxzQVNXd0JKWUFrdGdDU3lCSmJBRWxzQVNXQUpMWUFrc2dTV3dCSmJBRWxnQ1MyQUpMSUVsc1A0L1dIOEFtSjVaNmpIUzRoOEFBQUFBU1VWT1JLNUNZSUk9Iik7ZGlyZWN0aW9uOnJ0bH0uY29sb3ItcGlja2VyIC5hbHBoYXtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFKWUFBQUFRQ0FZQUFBRDA2SVluQUFBQUJtSkxSMFFBL3dEL0FQK2d2YWVUQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUFCM1JKVFVVSDRBSVdEd1lRbFpNYTNnQUFBV1ZKUkVGVWFON3RtRUdPNmpBUVJDc09BckhnQnB5QUpZR2pjR29jeEFtNEEySUhwbW9XRTBlQkgrZXptRmxOdlUwNnNoSjNXNlZFZWxXTVVRQUlJRjlmNnFacGltc0ExTFl0UzJ1RjUxL3UyN1lWQUZaVlJVa0VvR0hkUFYvc0ljYklFSUlrVWRJLzlYYTduZXl2NjErU1dGVVZBVkNTY3QwMFRXbjJmdjZ1MytFY2ZkM3RYenkvMCtuRVV1K1NQam8va3F6cm1pUXBTY042djk4WGV3ZkE4L2xNa2lMSjJXeEdTVW9wY1Q2Zk02VTBOWDkvZnJmYmpldjFXdGZybFpmTGhZZkRRUUhHL0FJT2xuR3dqSU5sSEN4akhDempZSm0vVEpXZEN3cXVKWHNlRkZ6R3dETk5laUtNT0pUTzh4UWREUWFlQjI5K0s5ZWZlTGFCbzlKN3ZkdnRKajFSakZGamZpdjdxdjk1dGp4LzdsZVNRZ2g5M2UxZmZNZUlwNk8rWVFqaG8vTjc5MXQxWFZPU1NJN04vL0srNC9Hb3hXTEJ4K1BCNS9PcDVYTEorLzNPbEpKV3F4VTNtODNvdnY1aUdmOEtqWU5sSEN4akhDempZQmtIeTVnZjVndXN2UVU3VTM3alRBQUFBQUJKUlU1RXJrSmdnZz09Iik7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtkaXJlY3Rpb246bHRyO2hlaWdodDoxNnB4O3dpZHRoOjEwMCV9LmNvbG9yLXBpY2tlciAudHlwZS1wb2xpY3l7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQklBQUFBZ0NBWUFBQUFmZkNqeEFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUFBbHdTRmx6QUFBQ2V3QUFBbnNCMDFDTzNBQUFBQmwwUlZoMFUyOW1kSGRoY21VQWQzZDNMbWx1YTNOallYQmxMbTl5WjV2dVBCb0FBQUlBU1VSQlZFaUo3Wlk5YXhSUkZJYWZzeE1TdHJMUUpwQWdwQkZoaStDOXcxWVNvMDBJNlJaL2c5dlpwQmYvUU9yNEd5UmdrU0tOU3JBYWRzWnFRR3dDa3VBV3lSWkpzeVN3dmhaN04vdmh6cmdiTEgzTGQ4NTk3amx6ejUwekpva3l4WEg4RHFEVmFyMHFpNnY4QmJJdHFTR3BFY2Z4ZGxtc0ZXWGt2WDhBZkFWV2czVUtQRW5UOUdLdWpNenNBRmdac1ZhQ04xVlRRZDc3WFVucmdFMWt2KzY5MzUyNjhXUnB6cm5IWnZZUldDN1l2QzNwUlpabDN3b3pxdFZxaXlIOUlnakFzcGtkMUdxMXhVSlF0VnJkQjlaS0lBT3RoZGcvUWM2NUxVazd3TklNb0NWSk84NjVyWUZoa3FqWDYvZDd2VjRHUEp3Qk1xb2ZVUlM1SkVrNkZZQmVyL2VlWWIvTW85V3dGblBPdlFiZUF2ZnVBQUs0Qk40c0FKdEFHL2dKSUVsbU51aUp5YmEzRUdObVppUGVadUVWbVZlbGwvWS82TitDekRuM0FYaEVPT283SHYvM0JlQXo4SXpRa01QbkpidVB4MXdDK3lZSjcvMG5ZSVA1Uy8wRkhLZHArcndDRUVYUlMvcmY1SGwxR3RiMk0waVNwQ09wQ1p6UEFUbVgxRXlTcEhNTEFzaXk3TWpNRG9IckdTRFhabmFZWmRuUndCaDdKOTF1dHdtY3pBQTZDYkczR2dQbGVYNGpxVUgvYTFDa3RxUkdudWMzaFNDQU1CMzJnS3Nwa0N0Z2IzS0NRTW1ramVQNFdOSlRock5OWnZhbDFXcHRUSXN2N0p0UTR0bUlkUmE4cVNvRXBXbDZZV1pOb0FOMHpLeFpOUGVocExTQlp2MnQrUTBDSjlsTG5BUlFMQUFBQUFCSlJVNUVya0pnZ2c9PSIpO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6OHB4IDE2cHg7aGVpZ2h0OjI0cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTJweDt0b3A6MjE4cHg7d2lkdGg6MTZweH0uY29sb3ItcGlja2VyIC50eXBlLXBvbGljeSAudHlwZS1wb2xpY3ktYXJyb3d7ZGlzcGxheTpibG9jaztoZWlnaHQ6NTAlO3dpZHRoOjEwMCV9LmNvbG9yLXBpY2tlciAuc2VsZWN0ZWQtY29sb3J7Ym9yZGVyOjFweCBzb2xpZCAjYTlhOWE5O2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDo0MHB4O2xlZnQ6OHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNnB4O3dpZHRoOjQwcHh9LmNvbG9yLXBpY2tlciAuc2VsZWN0ZWQtY29sb3ItYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDZ0FBQUFvQ0FZQUFBQ00vcmh0QUFBQWgwbEVRVlJZUisyVzBRbEFNUWdENjB6ZGZ3T2RxYThUbUkvd1FNcjVLMEk1YlpMSXpMT2EybnQzN1ZWVmJkK2REeDVvYmdDQzNLQkx3SjJmZjRQblZpZGtmK3VjSWh3ODBIUWFDTG8zRE1IM0NSSzNpRnNtQVdWbDZoUE5Ed3Q4RXZORTVxK1l1RVhjTWdrb25WTTZTZHlDb0V2QW5aOHYxSGp4ODE3TWlsbXhTVUI1cmRMSkR5Y1pnVUFaVWNoL0FBQUFBRWxGVGtTdVFtQ0MiKTtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS5jb2xvci1waWNrZXIgLnNhdHVyYXRpb24tbGlnaHRuZXNze2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU9ZQUFBQ0NDQVlBQUFCU0Q3VDNBQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUIzUkpUVVVINEFJV0R3a3NQV1I2bGdBQUlBQkpSRUZVZU5ydG5WdVQ0N2dSckFITitQLy9Pci82MVk1d09OWjdtWjF1M1hBZUxNakpaR1pWZ2RLc2ZjNXhSM1MwUklJVVcrQ0h6Q3BjMk1jWW83WEd2M2V4N1VpWmQ1N3JqeXp6dit2KzMzWC9SLyszci9mN3ZSMzg2WStUdktOY2Yvd2RoVExQY3Y5cVUyd1pkNzR1dGgwdDE4MjFqa0laTFBjc0kvNm5XYTRYdnV0cXVVMFo4NW1ueDgwUy9aemdwbkxuT3RITnQ3L29meDFUS1hjU056Ti83cWJNUTNqdTdyTlFtTVlZZC80czJqOWFhK1ArZ0dhTWNacmIxTS90ZHJ2ZjcvZDJ2OTlQOS90OTNPLzNjYnZkeHUxMkc5ZnJkVnd1bDNFK244Yy8vL25QKzIrLy9YYjY2YWVmeGwvLyt0Zng1ei8vMllLNUFsMnJndmY0VXNicGRHckI1MmJBdkFyWHB1emptaXFBVlNHejVlRG1HWVh6aGJBWm1Dcm5temRkcFVVKzhZMWRBT1llWEN0RFV3VndWN1lDR0g2dUFteU1jWjlsNXZrVWFCUEdNVVo3L0o1dy83OTIvZnZ2OVhxOTMyNjNkci9mVHhQRUNlTUU4bks1ak0vUHovSFRUei9kdjMzN2R2cmxsMS9HUC83eGovRzN2LzF0L09VdmZ3a1Zzd29uZ2pkT3A5UHpIM1UzRDN6bVdHblpWWG40akNxczd3QzJCS1A0Lzh0QXprWnNvV3g2WHJxZUhaeW12cDRBQkNCSmhUUXdLZkRUOGd6clpDSXFpNUFoaUFDakJmRUIyclA4L1g2M01NN2Y2L1Y2djkvdjdYYTdiWUM4M1c3amNybHNWSElxNWZmdjMwKy8vZmJiK09XWFg4WlBQLzAwL3Y3M3Y0K2ZmLzc1SlN2YmV1K2JMMldNTWFGYkFscEJOTTg1UVgrY3Q2cW9TcWtQQXd1UWxCVktxR05GU1VPQUEzQm11N2dDNWhOT2QxNW5Td3ZBT1VXN0M0Z2lVQ1Y4U2duNUw5aE5GSXFUc3AwR3hJMHlzaW95akFqa1kvdEdKVkVweitmeitPV1hYKzdmdjM4Ly9mNzc3K1BidDIvajExOS9IVC8vL1BQNDlkZGZ4OGZIUndybVRqVjc3OUVYdTJweDJ4aGp3dGRKWlFjQVdRSVBMUElTc01KYVN3aUQ4Z3pJS3J3U3lBVEU1ajVuQWJSNWMxZEJVd0Jsc0VXVzBoNkxxaVlzcUZQQVF4Q3lSWjN3T1NBUnhtbFhNWDVrNjRwUWZ2djI3Zjc1K2RrK1BqNU9IeDhmNC92MzcrUGJ0Mi9qdDk5K0c5KytmUnNmSHgvamNybVVGTE8zMWdZRFdibHhSSXMvVHFmVDdvdXN4SnNBeFhBMkdjN1RBOVhkZ2Zkb0hiRnNqNzZYMisxV0FyZ0kxYWdlR3dBM3F1cHFvSHNtY2JJNkZ1OTNxdWdnRmE5ZDdMZUR0Z0tmQUZIQkorTkVCeUlrY0o1S2VydmRUbWhoR2NnSkpTWjV2bi8vZmorZnorMThQcDgrUHovSDUrZm5tR0QrL3Z2djQvdjM3K1BqNDJOOGZuNk8yKzFXczdKampQNndyYU1JNUU0Ulo4eDJ2VjVUU3drcXVvdFY3L2Q3VHo2SEZXc0QvcU5jZHcwQ1EzcS8zMjFjNjg2VHdEVklkYnV5NzN6TmxkaFNIYjhJMmtsWnpubStJbkJTNFU2bjAzMDJhQkZzTGhIREFLSlZKVmdsZkk5amh2dTUzVzUzc0xBTllOeEFpREE2TUNlVUh4OGY5K3YxMmk2WFM3dGNMcWNaVzU3UDV5ZVk4L2Z6ODNPY3orZm5zU21ZVXlrbldFRzg1V0JzdDlzdHpTTHlNZGZyOVFpMDhpWTE1VVowTGxER0xoUjNvNXpLMmo3T1BVVEQwRStuVTN0azdYYi8xNk5GYmhsb0FNdVkxempMVU9PM0JLZUlEZStaOHMzL0o0Z0ZvNFRNNWpQbXVSZzI4Zm9VS0tWU3dvMTZUZ0E1bnB5d2NXTEhnWWwvUHo4LzczLzYwNS9hYjcvOTFtNjNXN3RjTGllMHNaajRtYW81Z1R5Zno4OEUwZjErajhFY1l6d1RQRUcyY3FqeWZITkYwTThmdXFFaWFPVm5SelpaUU5oNWZ3UXlIZy9IREdmSm84OVExemIvcXV1NVhDNjc3M0kyWEtmVHFkL3Y5K2Qzd3VxV3ZhL1lUZFVkRVYzZmhJdi9WaXlwczZZRTN4M3I0M0s1YkpRUzY2emF4VkdGc3ZkKy8vajRhRisvZm0zZnYzOXZ0OXV0ZmYzNnRmMysrKy90ZHJ1ZHZuMzdadU5MQmFhQ01nVXpDK3JaUmlGb3d4VXVKSThZTXFjQ3A5T3BxNXZhZ2FZVTZsR0pBMVhRcWVqY2h3NkNqMEd3NW5ZQnJHdzAxQTJPMjA2bjA0QkdvdU5OeVRmcC9Gd0VsaFVleTZuWHJJS3c3UVFXZGR4dU4ybGRMNWZMODM5Z1NQRjhhaHUvSnZCTzQ4Q1BTdXFNZjhWcDkvUDUzTDU4K2RMdTkzczduOC90ZnI4LzM5L3Y5L2I1K1RraFBKM1A1Nm1RNDM2L2orL2Z2Ky9pU2diemVyMCtBWngvNSs4OGJ2Nk9NZGE2UzV6NmtkMjFmWUM5ZHh2N2NJSkoyZDlBT1MzMGZQTXp5SGlUTThCNERGNlhVbFlIcDRLUVczVysxdDc3TU5CMXZHSHhXcTdYYTd2Zjc4K3k1L041QStIMWV0Mjl4dVA1ZGJZdHlhUnU0QWtzYlBxNjkzNmZqUnpYUnhCYlByL2IrYjE4K2ZLbGpUSGFCQkJmbjgvbjAvMStIMSsrZkJubjh6bTBzQjhmSDV1NGNyNUd1QmhNVmswRUVuOVJzY3RnVmhNK2l4bEp0TUEyM1I4QjZ5eXNBc3RCT2dGWElLS0NNSWdUb01xTkV1MmZZTUg3enRjNzMyZFFLa0NqMXl0QVp0WTBLeDhwSXI4R0dKK0FUM1YrMkhpcmhsKytmQm1YeTJXejczdytiMTdQOHArZm44L3RVd0dWbGVWa1R5VWI2OERrZmF5V1k0enhOUmloVTRFcExKUFpWcksrdTdKNC9tZ2ZLcWVMVzlYMlJFV2xJdEwxZGl5bmJERGIzK2pYZ1lqUXFuMHJyeFdjK05rSUxQN0Y3eEliTXZ4N3ZWNTN4NDB4bmxiV0pGMTJaU2FnL04wcFc2dCtaem1PTXpIamFqS3dEZm9uZDc4ellUZGZxMTh1cDk3enIycTh2M0lpb0JwclJ0QmwwRVo5b2c1V0JSR09kT0hqSWpYRjdVb3RGYmdPV25YeklKeXpZdmpHNUlZZ3NtTU94SGt6OE9zTVNyVk5XZXE1VDhEYU9jYkV2MU9kNXJiczlhTzdZdk1ldDYzRWtGKytmTUV4cStNUmw0L0w1YkxaTi8rZXorZm5aNkthenVNcVhTUVZPNXNwSlhmbEhBSXplcy94SnNlY2tSSmlETW9nOWQ2VmZScnFYTXI2S3BWVjI3alJ3SmFjR292T0FNMXpNZFFNbndLMUF1Yks2M2tkQ0NodkkxQzdnMHo5bmYvRCtYemUyVmo4SDdHeDRQOWR1UWxzWUNycXlOOFhxRzNIbS8xME9qM2p3L24rY3Jsc3R1TStqUG1teFQyZFR1UHo4M1B6dDJwbjFYc0VIWC9iblBhVnFWbWgweHdPdDBvNlhMTEFIZVBVVTIwM3dIZmNyc3BDd21WM1RyeUI1czBNc2VlZzk3eC9Cd3pDakJsYkIrcFJBUGxhMEJWUXVUNlY2UUhkQmxqM2QwS0cxNDdiK0RxeFFlVXltRE80M1c0ZFFhcitUSWp3bUFkMHo4L2g2NXZmMC95THYzUGI1WExwcnUveWREbzlzN0VUMEkrUGo2ZEtLOVZVRUllS1dRV1BBT3JKOExLZDR2RSt0OTFZM2U3VUZsV2F0ZzJWd0puYitIUG10dm0vc2ZLNTkvT2FXRjN4L2VQMVVQSHZBNUREWURwWVhmYjBkcnYxVjJEa0JreHR3L3RFV1ZWbFhXZEM5cEZZczUvamZoOWRTLzE2dlc3czZsVEcrVGZxc3hTSkh4a1hYcS9YZHIxZXU0THNmRDZQM3ZzVDNONzdEa0wrelBtNWpTZEtMNHpSM0F4UWQ2ckhrTGtZbFNvd3NycTd6bnp1NndTd2RzTUpPWG1BNWZCY2p4dGdNR0JZSGxyNXpva2h0c01DVGdYTFFPVzRYQzZkRXlFTXByTDhtQVF6WFJnZHVpeDJ5WnpvcnhrWXNEbjNoQjFWZU1MR3NYc1Z0Z2wycFc4UzNzdmswdnc3UjRoTmFIdnY0Y0FDbDVIRnp3SUgwS2M2enU0WGpEUFIvanBBVnhXek8xWGsyRERiM3ZUY3hlR1UxaVdaSGttSURXemlXS3ZpckNKNERyYXZzNklKL0dHNmNUcVdkWER5K2ZBclFEVlZrTHFrVmpBb1pJSVRkbW1JcVh3cWE5NU4zK01HWW9aUWRSVk5PNTNZMXhSa2hPMTZ2WTdldTUwN0NhOWxKbmJHcHhPZW1RaFN3L0FRc21tcDV6VTlCaVU4RzZ3dlg3Nk02L1U2UGo0K2RvMEJ6NENwZ2lrblRVZURxd2xLQm1nM3U0T1ZqcloxQStyQWNnYWVqV3E2ZUpDdkNZRkRPTlN3T2dIWDRFUVJ3OGx4YnpET2RFSzZnWjNIazFiKzhnMm8xSkZ0S1h5di9mRWRUWHVXaldYZEFaaUJwNkFEZURyQ0ZpaW03QjZaRm5lZUk3R3ZtL1BNa1VEWDY3Vzd4SThiMEQ3L3Y4ZEE5cWZONW9hQ2Y3NFdaakgwbWYxY21mWTFZMEpVRm1WclRXdTh1emtOY0x0RWo3dTVGWEJUa2ZDNkdPQTVxOFlNeE84S1Z2RjZzQVZHZGNyVWJzS09EY1FLa0xNT01kbWx4dW02NDJZclBtMjZBbGhaVzFZQjFSK3JyR3N3RThUYVlBV2VVTXhkZitXandTdloyRWYzeXRPeWZuNStQcFZQQWFxT240M010TkJxdm1qanhiak00bFpqWlk0Z3FOTUk1a3RhVy9zWUtOd1MrOWxGUXpHaWhtTUNLUGE3K1owVjZFYjBHUm1vYnRwWDhKbGpXdTVGTUxONWphNmhHOWt3UWdacWY1KzFOSDVVeHprRlJlQ2RXaEo4WGRsR1VreE83SFJsWVJtNG1WTzQzVzd0ZXIxMlRQSkV3L3JtRU4zTDVTS0hJV1pnOW16K3BVb0tPWXE1YkpUSmRYMmdtZTFVY3hNWlFGYUVRSWxIY3QzMk0rWTFCekdrR3V6Zml5QU45eit1Z3BsWjFzeW1DckRDWVlrR3hEVHBJOVJ6Qnkwckh5ZURVQzFuV2FlVWFEOW40eGtOeVlNQkRadHpaM0IrK2ZKbFkyMVhGRE9jQVJKbGFiT3lpUzN1Q3BMSTlqclpqQ0RrYVZ2Y0NDandvZ25LU2hXZHpYWldsWk12VlRnRDhMcHFsQ0xycWdiY0IrcVl3cmdLWXBUMGNjQ3FiS3lDVmFsa0VhYm4vRnlub2dDclBLZnFmNTF4SjdzR0IyWlhjWm14b1NPenRqeDMwMERaaTdhMC8yQUlSMFVsQmFnOVN1RHc2S2NBemxhQjd2SFp2V3BqSzkwZHlycTZiS3lEVVpRYlIwQjA1YmlMUWtISWNTVW1nSUsrU3d1cWdIQ25vaW8yUlFVMXlqK0JuQnk5cHBoVktMR3lDN1p6RksxcHhXSytFOEloVkNXTE4vdUx0blVVNGF5b1lMb2FBTno4RmR0YVN2WTRwVjBCRVcybHM2MWN6cWxsQktwVHlLZ01BaHJaMWNkYzFSUk90UG12V05rZGNLWjdaS3hhV2ppUExKTXBwN09aS3hBK3JxRy9vSkxqeGYwcG5KbHFMb0RabzNneVUwbUtHeXMydGFLZWNqL2QxQytySlNwbEJxbFR5QXFnUitEOEtqS2xtUkwyZ3RVY0FkQ3RzTCtpakNOVDFvcXFxa0gyT0hFYkc1c0RGblVnNUFhK3lMb3UyVlUxcHRqMVMyWlFxdjFPUlpOOUlXelJmZ2FSQnhLb0JFOFVXeXFsSkZ0ckljMEF4TmpTamVkOTlDVFkvWERmU3pDejVNMElab1ZFc1duUEZOVHNsOG9vVkMxVHpiR2dxRlpORFNnVndLSysxc0dETUtxeFpDV0dWTUR5c2lFcjFqVlNRSlVZd2o1aUhPbFRoZEh0NDRTUWc5Q04rbmw4RDkwTk1JZ0FkZ3I0NkpxUmlSOUk4dlJkRnZicjE3bS95eFVNS2pOTE1pVlVBRHd1MkNXR2hoaStGNTVUV005TTljb2d6bXMxZG5NNHVPRi9MQUVZV2RjcW5NN3lGbXlxM0lmd21PUk9kN1kxaUZXdE9qb1k4VG80MW1UVjVJeXNnRkZ1UnpzYldGR2JOSUlKQ0R2MWRPbzRsWkc3aldCd1JGdFZUS3VXeWVDQnlKS09hbjhvWjNlcDlYZGRObDB0RHVheXdMejljWFBZZURBQTBTcGtCTzlzYlZjVE9WV2xkUHY0dXl6RWt6eEh0anZvbkhvU2tGRVdOb28xZDhEaGNRcHV0ZDJwcE5vbjRCem9BaUoxaEJGUWcwZFZ0ZGJHSEhEUVd1c2htTkVRdWtMTTJRTzFHMlk4YmdUWHFGaGNCSmo3RWpQZ2NQdHM4VVM4cVBwUEIvZFh6bk9oNVo0Mzh0ekg1ZWM2UWdyT0tyUlJmS215c0JtVURCK1BoWWFiTWxWUEVSK0dDU0lUVHpyN2FtMnRBckgzYmdjRXpQSm0rY3I1ako0Tm5ITkZEVnJGWGNJNUxlOWs1Sm53K2JlZGJWK0ZmUnpaSUhhT09hT3NMWTAvN1VHczU4RGpyR3dLTUlNRklHek9FVzEvakdzZEF0Q042aEVBSTRoQmU5WVhlUlJPQlNWUEFWUEFxdklNNWJ4NWhWS1dBTVA2ekJSeTNpZXNjcmlkVmRGQmluQnhYRG5HMkdSWTJYYkN2cDFsaHZHdE85Qnh1NWg5MDhYUXU0MmxuU0FyTUZkaXpNaW04dXdSQ3hQR25uT1M4bHdwbmJPaURxVEFqc3JSTi9QY29BU2NDYmFBQ3FWTTQweWxuampUQnMrYndXbEFHMjMvVUtiZGtpd0tXSVFQR3pXYWN6cG9TbHhQRWo4MjJjTldrcFM3Rnl6c0RycXBmZ3BHM2phaHcydmdiYVNRQXh1TFdaWXQ3Snp5TmU4Sm9acE5BY3ZERk9kdzB3cVlUOUFLMXJaei9EZGJTbExQcDByeUl4Z1FKbEs5QVpsRXE3SU9YcG9oZzlQSWhyQ25nODhKc094aVY0WldBWWZnNHNpa3gvOGt5Mlo5bDg2MnVxd3Jmc2NJSDgrdWdUbVZHeWlkZGVWWVVnRU1uNEdaemcxNEV3SXNoOXN4MmNLS2lXWFJldU9FNWd6R09RZ2RsUktWVmRsZXZxYjI3OVhxMFFuc3RzMlZEYUJPMGNvZXpzcnVXdEhBcHU2c0tHNElCaE4wYUdVMmtMck1LR1JUTjNIbWJDRHdLVjE0enZrTUVERzRRZlpWc3BWbGFOVTJtaGM1VEVaM04xaC96cVRoZXVMcFcwNVpXVEdWamIzZGJuTm14S1pCbk44SnFpZGFWTEtBT3lBUk5MUytNQjU0WjIrVmFxb01MS3JvVkJsbmdlZm5UUEFjb0hOV0NTdmxmQThDSTBIRW1CTkJuQmxYeU1yelU3QTdXVm05NFBQcVEyZ21xS3grV0RHc252aWxtY1NPQkpxT0sxbll5QUl6dUF5ZXNxM1VkU0szS2ZXY1lLRDk1SG1mWU9VM3FzZXIyQ3RZRVVBK0ZwZnFkTnZnUEJaVUJoRHJHT05SVmxRc2g4ckxjYVVDeWtIRzBPT1V3VGxMQnJzaDVzb0VNR2V6aTFFNEhSVnQxaWNwNXdaRUZYZGliQ2tHOFk4dlg3NXNiTzRFMGlvbTl6K2hqU2lPZnkzRGhwWEl0cFZoRStVR1Fkdm9XanRDaG1yR0hmNFlBektnQk5uR3R1SnhGQ2VHZGhVQWZRTExLOGtCWUFQNmd2RkpaYWpNRzNYa3ljeThLdUMwcTRFeXltd3R3ZHhkdjJNMG1JQnRLMExLbmY2NDBqMDBBdXE0Z1VrZFdHbGhzMjJxSmM2ZFpDc0wxOW94bmxUSkc0U1lWUklHcEQ4VFBGQnVNNk9FbGJTMXBsZGlkNG1HQXlONlpJdXBiQzViWEpOOWZkcGJUaFN4TFVhSThJRzFYSVlCeFczVGpzNktRb3NLY3hmeGNRbWRud1JHTTEwR25GY0N5MlhZdW5MTXlBa2RnazRtZVBpY3pzTHlndGhjQnV0NmdvT3FTN1lWRlhBRExqYW9zQjZzNm9mY1pXQVpTSVJZcVNVa2l6WXd0dFlhYjN2VU9ROXcySFJ4SUlnOFd3UlZlRTY4eGk0VXRMM3pScGh4cGx6d3VacmNxWUNxMUkzalBJNWRuSkl5Z0VvaE1iUHFWSlN6cnd6eEJKVHM1ek4rUmVVU2d4aWtQUVZGM0pWQmVOUXhiSEVOckVNTnZFZEZaVlY5bEg5K09SR0VzTlpRcHlUTmM0QzNBRzdYRjRuZ3pxK0RyTzJ6YnVhYU9YZ2RhRmNka0VvdG9TRkJWWDJxSjBDOE9XWmVHNEtHbHBnaEEwWGZUT1BDcVYycXF3UTI2UVdmRjJQTUxoSTJ3MWxWQWEyYVBzWWQwemEyNU1RUndnY1pONnVRRENpK1p4aUQ0WEVNMmtaeE9UNDFGblpuYVJsY3Bab3V6bFJxcWRiUVZXb3BRb1NCNThSVjUwbEJOckhpL0F3WFM1THJ3RFZscFkzRmMzQnlpWUdjNTJUcmlzdDZrT1hkd0luQVF0SnBwNVFjaHlhcXVZT1Y3U3UrZnhWTWFWM2RjMFJFMlM2bVVZMGdMdDJwTWNZcXJLSVE5dzJsMWdwUVVNdFFZY21tYnQ1RFROeGRoblVDalFxdGJLOVNVU3p2ckMwbW1oaEUxZTJGUzIrb3h5cHkvWkFTdXRrbXRqeDN2Y0JDMjRQWDY1bmJxa0JDUmhmalM5a0lZUG5lZThjTWFnVk9oSS8zVDFmQW1kdEFXWnNDc3dUSkNrUVZOYTBxV0tTS1BPcEhBVWhEOURyYlZjeW9Za3dxaHZoMTd2WUFheVhMUXlLR1lkeGxVREZwNDk0ckJYUmpZZ08xN0REWWV0TklVai9lenA2UzBsbmxwRXdzV21KTWtPd3NLWGVaS0VBaklIbjBFUUpJU2FSQmNPNlVNSU56N3AvYkVqam53NGZ0K3htRHZrc3hYNEcycklyaXM3cWFlS3dBRk1QMk9pN240Y3JpdVp3dHBTVXdwZkx4U25PUlNySXF1c2M1WkZhWHlzcVJXamlaMkR5QVdFSUwzNXRWU29RRWxGQUNqT2VHR1NFN0FIRVFnZG8vTFN2Q09nR0J2a3hzbURidmxTM0ZwNXZoYUIyVEFHcVJLcktLTXJoTFZwYUd6RVZqWjBPUXhEaGFDVEErUXlSUjFkMTVhUXpySm50TDNSaWJzaXBqRzZqbGdMNHlxYlMwc05ZZzFlODR2aGJCVnJFbEs2NENVY1dZWERmS3hocEl1eGlWSlpVeHNiTXkvdVJCS1ROUlE0a1EzTGRSWUxTMHJKalJQbFRQcVk2Z2RKc0VEYythUVhBbitIZ3NOVUNiUnVGME9qMHp3bkE3YldEa2JoTzVFbnMwMHFlUWhTMWxhQk1sNU0vY0FheHNMRjhyS3lxbCtUZjdFTExFR3UvaXhpaW1kQ3ZvMFRqZnBqS3dhZ2dlbjRlaDV2N0xva0xLYkx1eXZIaGNaRzhkaEdyRUR4N0hnOTNacHBKRjdxQnFPM2lWdmVYRURRTkluemVvZThZcTZlUGFaQloySnZpTTNXMlVBR290ZWtSQ0FHcTRFa0YxWDNET25SMTF5UnNCTDF0UmEwUFZjWmlORlhaMmMzNEZza3ZvbUluUVE2bHpwSm9aYkp4azQzTndLSkZCcXVKU3NyQnlIeWR4S09uVHhRQVNCbVMzaitKTW5zSFNsYTNFYzZLOVZXb0pWbjl6Zmp3T003aHFZQUFxSlF3RTJhM25BNDhKMlFHZWdSa3BaTml2U1kreXMzRWtLZDRvSkl3c3ZJSGwzY1dnTHQ1azROSDZPbXRMV2RwdXJPa3dFTXVwWWM3ZU10RFJoT2NJMnVpNUpoVkl6WHpMeXRvL0dBUHVab3lvOHdrb2R1VmdKZ2xDdDdPaEdiZ0lENE1xNHNpKzYzelVTMUZ1RkZYRmxxeWFqMmVtSGxMTWNCcVl1MEZNdVIyOEJiQjdsT3hSTVNpQ1FYRmhDS3V3a2haK3BZRGlHU2dic0tLVjhNaVNSc3VIU0lXTTlya2xSaUlsWlp1cVhqc1FLOG9vWUpNZ3EzSktXVmtoSGJoc1Z4RlV6dGhPV1BrWWlqY2J4NTRJS3NTZFQrdUxyM2NyR0t5b1lnRmlHUjlpQms0a2Zsb1VYK0pJbFFSUXFhYm1wZ25ocXRwUXBiNlJWUTFXSDVEbnJTNGhFb0dacWFlclEyZGhGYno4WGVQeFNobURibzcwZUlTam9vck8ydks4U0pYSTRTVW1FVTR6V0tEelVEdFdUWXc3eFhsYlNURWo0RlJnN3pLbktvR1JBTHYwR3M5VGdjMUJwQ3l3R1pSUUF0cVZ6MnhyQmNBTXpFcGZad0ZTYTJHNVcwUUJGalNNYXBXQUVGYTNIY0dON0N4RHpFQ3lJa0o5N3F3cnFXTlRXVm84NzZQUHNqUGtqMnd2Z3JvTTVsTFpLTUVUS1ZxbC9Ddm5XVkZpRmEvU3pKVVF3a29ac3I2N1k2dmxTUlYzLzJ0bU5UT1kzdm5heFl3TXVvUEtxZHpSMXc3SXFIeW1sUHhhQVRoZlU3S28yWlhZajRBWUpITCtrTmRLd1JRWUVTVFJhNWZzVVovclZDMVRNVHlXVnlZb3FOdHV6YUhzTXl2MnR2b2FyeGRmcXdZZ1UxYXhGby9jbnFsMUZHc3FLK3VBUk9WOEJYNEdVOFdjWlRBVGkycTdRY3lpME8wVitHaFdCTU5SVWtuOEgxU3NXVkU1QnkzR2kwRUNxVWVKb0JmQXREYTRhbWtkWEczN0FHUDVHZ2ViODRwN1VhenBvS1J6ZEZ6ZVE4SGtvSEd4cHJLeS9IcG01dDEycDQ3SjZ4VFlERXo3dUlORVhTdXhZWHZGc2tZQWMreVN4SDlzZjVmdEt6VTZJYndWQmNVR2c1ZTVGTUNFWFNFclpSMHdHYXlWMTl3b005Z3VQalRxSmRWVHFSNHVFNG5KbkxsZFdWa0VDQ1pMZDJWTEYreHRhbWV4N0lwaXJpU0RVcHZycG45bHJ3R01DSHlwcE1IK3BzNkxJTHN1RkdVajFYRU9YaXFicVNIUFVLbkNscFdWNjhrcXRVUlZORFk0VE5hb2N5a29ZZVRVNW5nR0VRYS9TMURubkU0QWVYTWNLakhQQW1GVmpDQkVOYWV5TFZOSGZyM3B4OHhVc3RKOTRoSXBmSDRIS0UvZURhQXJLNmxTeVZWRmJkdDFneFRJVmszcHBwVmxGWGk0cEVoVkJUT2JxdW9oVTg1TUxYbjFpYWh2VWtISmpTQ01jMDF0TEZ2ZVZWQngwRG9kTTZqZnRDdTdET3RJell4cmMwcXAxSkdQMmF5WUZ6MkdiNkh2TXJPOGNuR3RWNkdqbTN1SW1TZkQyR3BXSzZ1b3diWkdNeEZLUUNvMXBPTXRjTVhGcFJzdCtoWEdvQW9tRjNzU1RCR2dUZ2xiQktXd3NRM3RacWFZU3AwWjFDaW1SRFdGY0NKVVBZSjAwQkk1RmtLWU5vaWZ1UXhtTjg4U1dWWFdMTWFVcXFxZ0MwQm1RSlI2c2szdTlOQ2Y2allMWHhBZnFzWUVnVkxBaFJZMkF0Z3RmbFpORm1GeWh4ZHJMa0FkV2xrNEQ4OE0yaXhIeWVwSWRoTUhyRy9pUjFaR3RxME1HcGJEYlJQWU9YZVNZMU02Tnk0WnN0dkdTa3RLK1hiRlBBVGoyRDM3MXNhUEVzQU1YaFhyc1owa20vWFN0a2hoTXlCZnNhNnVYRlplMlZDZStZTXIxK0dLZ3dyUXlOWXExVlJyQitFaXpBb3c2TnNkTktjeVZFa1llTTczeXM2cTRrQUhwNkJpRmtsVGtJclZDNW9ZVjd1endPR0N6NFVKMFN0cTJsV01KeTR3dGIrUmV0TDZ0WkZpY25KbUJ3NVVqQ3ZYWE1aVkpYMk1Ra2JmK1hONUVXZDc4Vno4L0pFc01aVEJpS056c20xaW5MUlVRNzRINE5pZGFxSTY4ajVzQUZneGNSdmVDN2llTEpYZlFZeGpaWjJDc2lXRmV3WlhKbUJJbFoxdGR0clg0aFN1YXRlS3NvL1JaT3RPS1cybm1xMW9UemVLNmRSV0FXdTJOUlZiNGhxMFNYbTFHdnR1Z0hyYnI1SVhxbVNrdGc1Q3VERTJNU2xQd3NZNWtORTJXcDNBcWlaYldWTEF4aUJGKzJpQlpidU5qNk1CNnJzTUxDN0Z5YXNhWUR5bzdLa29QeUV0dzNwRU1YZlB2eEFKaTJqQVFRZ2pyejByTElaU1dabElvTmh3ZDV4SzRBUjltWU5qV0FhTHJudUltSmVCVk45ekJPUk9iVnZicittVFRmRlNFSkxTUm5IbzdoRUpvSWk4TUZxanhtdmdtRjVVUlp6NHpMRmdaWjhDdHUyWDdnZ1ZjY0ttOWdWeElzT0hxeFhnTk1LbkZXWlluZjFkQm5PaGF5WHExN1F3RmxXVzA5ZU5LeVZKRm1YcWFPTkdBNWFDZWdNYkozVVVrR1kxaWMzbktXZ2pxOHFmVllHUUcxZ1J0NnJzNjJhNkhpcXFVT3FkZXNLNU5tWDRuR29mSm9pRTFkMGRGOWxWVmt2VDEva0VFYWFDb1lPd0ZwY1Zjb0xNKzc2NjlQeEM5cldxa3RIMHNXVVlsZDBWQ3B1Qlovc3RWUmNHZ3k5V1gyK1UxUXRoaTlTekFxU3h6WnN5K09pRnpCWW55U0dWNkdrdTQ0ckQ4QkNPWkJWM0J2RDUrQUtSSE53TUVzQjZFekhuSnBrVEFlaVVsRUdrY0VDZUI2R0RaVHA1WUVKVGx2ZHJrbnhZalRsbE1rZk50WHdEak03dVZqSzVKWFVVbjQzcnJxcEsyanl0YXhIVzBNNUc4REM4cnRITVlzN0tTZ2R1VlFNR1RZRnFGdlZTNnJrRDNzREo0NmFmZFlGd29xMTFBT0tDQkxodndvVWdjOElHQU55Y1I2a25acmRKUGRzdXhueWpmZDNGb3ZUbFJNZEVkdE9sNUNNVjVFSHNYUUJpczdUT3d2SURaYUdqMlZucGJoN2NwSzYzVndZRU1Md3Fianp5bDY5OXNhd0ZGa0YxeXFqVVUzMUhmQzZzVzFaRlZGdVhWWFZnejlrZUVhdzB5czFsV2ZtK2F6UUFRU1dBK2hLWVZmc1pqUG5jQWNVQjlvSWF5eS9VWlhSTmNrREdqaTc3R3NXYnZCbzZ0UHJXUHFPeVZrQlVxK0lOZXFwek5kWXMvdTBpZmg1cW1wcUlXKzMzSlZTVWN3WTcwS0w0VTlsWWRVNmxqdFNsczdsbWZpOWczWXplUWZWa2FHRmFWM09EQ25hRDJOOHdzRURGa2xFM1J6TTNaZ2hkWWtXSHNzenE3MEZJZWNuS2tWa3Q4ZXpNelJxOWJrR3VLb2pSTEJWU29kM1kxeVBxS2dZVzdKUlFUUFZ5eTV4SVlMak9neGdUNTJSS0pVWTFkT3JJaVJkNGZ1dFF4L0E1QWNTbUVqejB2Rldya0x6dmJXQXU5SE9XYkdneEZrMVZOVHBuQktrNlRnd2lzSS9IY3hZWFAxdUFXTzcyVUxGbEJUcSthU3UyVlRVczZocnhNMkNGK2hFb3IxVklBOVptRlVhYWIxbFNTZ1pzVnM0c3h6SGxWTG9KSHI5SDREaE9OVGtJMVhDMC93aVkyTm9XQUc1UmxuSEZucTZvTGNjcFFkZE11Si9PMTdKVkE1T0hMaTBCcUN6dHE3WTErK3VjQ2Q5OHFMSThNSUhCVi9jS2p4UVRtZTNoRkJTM015Q3FuRHN1eW0ybzgwSGp2RkZUdHJVUm1OYUdKc21WYWhJbWpUc1VYS3RRWlRBVnM3TXZ2OC8rZnpVclpBWGNMSjZNNGtvZTZYUDBiNlNtV1dORHp5VXBROGJsK0x0V3g0dHVxWjM2Y1JZVjN5dVZ4UE53dklpcWlRQ1NtdTdzcmdUelI2bmt5aHBDYXJYd0Z5MXZHZDVpUDJjWTA2bEZyNU5qaGhnMVk2K05CMjhmdGJLODNzOHJmN2tMSmJLd0RGUGJMZzI1YTBBZFpKRWlxcjVwaGl4S01EbFJVdGNzc3ExaHJpTHFHb0gremVOZ1ZtOU9lbWpzRVRWOEpkRjBOSG5rSUZ4V1kxT0I0WXJwN3J0V0o3TmdBQUFQWGtsRVFWUTNvTnM1bnBseVZmOHUyRm9MdTFKckh2ZWFaV1FqcUFrc2h0RmEyZ3pzU0czWnBrYnZnM0hhZkY5c2xQUGxsZGpGbEs4MEd5c204TXI0TVBobmVOV0VOUEdqQUlwbWlsVFBBVGRUUlRYbENCWUhZQVF1UHdBMzZ4SXBXdEdONHEzWTJNaGlHc1VwdVNTbmxFSlJEOFBvckM3Q0ZZVncrRjUxcVRoZ2FieHNUeFd6Q0dZMFpTc2IzbGZxQXkwT1BOak55OHhpUVFLc0hZRlEySEJaVnZWYkJ1cTNtMW9XS2FqcWFvbnNNNnVaVXI2Q2pYV05aMGw1RTNoM2pVUm1hNmtQM01KSWl5MUxtK2thaFFxNDFOMmlaamE1c2p0bExZTlpIWnJINnFVR200dk1iRHA2UncyQ0ZtdnV5RmtyQmNDeU10RnFCYUVDbXNIb0s5QloyTEEvbEpjUnFTYURxbmFXYnJaZEdhejNETGdJdkJsbjR3b0d6dGJ5Skdxc2x3eGtoaEhyVGpUWUZYQ3RPb0tTOHVMZG9mVmRBYk95bEdVNm5sWXBYV1p0czRuWEJxNld4Sml0TU5va0hVSm5ibkpwbFFtK2FHcFkyYTVHTVYyUUQxaFJ1YkJQRktkdW1mNU9Ia0xIejBGOWx1RTVrakJqUmEwbkZFNUNVR3FIdzMyTW1qWjZ4a2dJTlZuU25aMVZaU3RLMnFLbFJhTGxRZ0s3dVRxN0pGWEp3TSszU09FS3loWk5JK3RKMEk1cU1ZeTlrMnFKRDdkVldkcUtYYTBDS05SMENjamcrQjJJWXUyZmNCWkpaa01GZ00xMXIwWDkyd2lsZ2hGR2d6Vm5leGxxQjd4TDltUzI5U2lZVVZZMm5YT1pqTkJSc3lEc1FQUldXNWhyWjRYY2RDNEhWV1JiamdKcjRzRm9mSzVTempRN3JoSTFVZWJkUGRFYmo2c3FJdlRaUVo1dmEwOHJBQnNBVzBVeGVXeXRBazdBMktKOVpweHpDaW9CMjRYRnRZQWVYWXhyNmFuU3FoTGdwcEVxV2JHd0x1blRnclYrSWpXbEwyOWxqYUFsNEVRTUdzRXJwNGFwZVppcXV3UlhMWEFxT0NlcnUzMm1teWRjNm9XVFNXcEZBR2R6ZVRCOFJUSFZNRXRsTTkwQ2JiUUNZaFBqcTNlZ1lyMUZHZFlJUWppdURHWjV6Wi9Bem9iS0dPeUx4dGk2YzRSd3R2MmFueVdsTElDbmxMaHhKUlh0NkE1ZWJEQldGTk9OYnhXWjJkMDJtbnU0UzlZRUNwZXBwVjF6U1dSQld4SFl6Vkl2MUNYU291d3FxWDNqQkJCRFpkWVFicFRRVzRaUWxTOHI1a0g0c3VTUm1nMisrM0pOMTB4MVBhQW1Fa210WWxFZGVHcEpFTTZrT3VDcUNSMjJvU3VqajVJVjJIZFQwemo1cHJMS1RqWEZBUGpkUWx5cTd4SUJ4QVFQNXlNY3pHNFZ4QUt3MG42aWxaMlFCY2UycEx1bGt1eHhxbm9JekZmZ3F5cWppbDlTMVZOd0JyRm1leWVvcHM4eU9qWlV5YlpkZlM4Q3VhVElKdW16czV0T0RhTnRMcEZEUS9QY0pHd2VMaG1lTDFuQjBLcWlVRFNjc2lVVkQ4OURpM0h0ckt0U1VMdzNSTGl5Z1pEKzdzRjhKVE9iZ1lzckd2RE5VRlJHbDFpeTBMbDFZa1VjMmFKWU1vZzkyMEk4cVc2WURDZzFNcWswSkhKRktYa2JnYlJyZUkrcXBZTk9aSHJWY0RVYmE3cGpzcGhTSk50SzZ1cGdSTkFWb09TMG11Z0JlTjRiSVpnSGh1UFovczFFTmFYNktzVnIrWU5yaDFOYjdpcFIwUEU1emJOUmVnQ2JySFJVdzZZZjA3ZExCSmwxZjhLQjlhczJWMW5OcUFzbDYyTEJCaGVod2FsZXJrSG1CMUpGSUVaS1NFdXNkbDVKUWoxbkpsSFhTQ0YzNDJnSjlDWUdyWGVsa25KSVhxVlA4c0QrcXRwbENSM1hIMnFmS3EweWdNcCtLblZrS3hObFo4bTJZa0lsVk1pQ25YVXdsN3F6bkJLU3ZRejNtM1B0Nm9RYlhPNWI1Rml4Q2gvZkh4VVFXL0FFY0s2ekNOcUtRbkw5c3l3cW1LdXd2cVNZelQvYVBWTk5wVnlodlJXMjFhcWNpQ3NqZFd2QndJTFV2aDVWeUN6YldvQzFwSmpKNjgwQ1dzbCt1ZEtCNlQ1UndHMW1sb2hubHBiZzQ3aXo1VTloYTBGR3RtUkxGWUJ0Tzk5eTk3QXAweitaRFRBb2c2a1NMWnNNSGcvSUZra2dwNkNwdlUyVTBjWVZTZG5ta2p3QmRPbVhieFRXTld6dUliaXBNaW9WeEVja1pFb2FoU09peTJNM0swamNDMUxoVkR3YXFHMFp2a2NXcUNuckc0R0l4eWtycWxiV2R3NkxReUJhWlI4SG1MUkloUVdzSHN3RDQyWlhWTE5rZjlsK0ZsVzBIVlEybHdGc0MvWjFGZHpsUVIwS2FQZm8rRmRmdSsvZHdWUklDdTFDR1I3QUVJaUFoYytBWlVGMGtPQmFQeG1VcWc0aTY0dlFuVTRuRkRZSjlOeisxZlZYdmVIOXFtcitrUElMeDhvS2NSVi9CRmJ4YkUwSk1UMGtTRDR3NkwvbE5ZOG9jc3FhZ1ZkVTNBM01qeGh4Y0d1cXpzUEg0aXJwYW93MXE2T3lyVmp2cDlOcGM1OUU5MUxsZGJvWVZ6SldkaW1XZkFXMlNORUtjRGFYMkZtQkxMQS91S3hsbWhoNjEzSXMxVVJRQXBiS2Z0dHd4TDAycTZPbng1cFF4U2JQb2pBZyt2NWhBbk42TEhWUkRYSXN2S3RSamlTMHFKVXlaVEFYVmJBSzgyRWxGSldhUWRWb3FVQzFVbnQ3QlZhVFF1ZE02U3VxZXhqUUpONCswaWNheHYvdXRiS3Y4M0VUYlQ4SDhnamNPS3hPSm1iVWE2T09WWGh0M2RGWTZySHY5WG9OekZMY2VFQTFvOCtwS20wTEFIUEhaMnJZS2pGcTBoZlpGaXhzcUhKZ0QzZUQ1bitVMGtiMW1GalhrbjJsdk1TU09zTkUvQ2RJQUtGMFN5dHE2dXJPSFVONWd3ZzRHWm9zZ2JtZ2dNNXVjcmEycXJTMklnMWNiaUJCY3hZemd6VUROTEN2TDhHYlpYTnA2T1J5M0xtUytLazgzelJJQUs2QTFpb0thMkk5TmFwSXVpVUZkZkM5NzY2UEZaVXRxVXI2S2JXayt6WlUxYS9acklYRXp0cmpUT2Z6N2h3S3ppQ2VYSWFyYUh0YlpJTXorMnBHZ2F6Q213NHFXQUZ2RWRob2RZcDBYcTBwVjdHMVlXWVdiTzRxaEdxNDIrWjhCWXRyTFd2bHVOUHBaQWVhRkZTMXZ1YlBnYmd4c3FjcG5BYXN6Qm92S2FGb0RROEJHdGpmVU9sNE5BRzJubVFWMDRmZUpndW12WDJmc3JRRVdaZ2hMMEpuVmRZa24zRE9aSWVSTjg2UnFQV0Ntc3ZHVnFFTVJud3hRQXh3UzhFTVlvM0l6bVkyK0JDY0xwNE1LaXV5dWhJbWFtbGJaRmNOb05sN3RwK1JIZDE4WmpRSVJLeVhkRlJoTjk4L2h5S3F3WFdObzdPMXdpYVhvSE4xMDhSRVpaV0VxNmdybklmanplZzhqZFJmMVhFTDRra1hhNWJCakt4b0thbGpCamVIbFZ4UTRHYXljcFc0bERPQUt0blR4SEF0T2Z6T3Rad0hBTTdzcVZYa1Y2eXU2a2FwMW5Ia1hLcVdGLzRYSHFqZW5OS3FCanBSM2wxY2gzRWpnMStFc2dkUWhzZEcwQjRGTTlzV0FWV3B1QXlpd1RQbGVaeHQ5VnlaVlMycVhmUmVXcVRBaWxwcjlBcG9XVGp4eW1pdDdOd1Y0SlRyaVp5T0E5QjBrN0hGZlVMb3VybUtZSFZuUlF2cUdMNUhNSGRxRmNSMnFXcG1jSzZlVHd4MmRpcFdydmlEaWxyK2ZLV3EzT1dSV2RIS3dBNGV1OHdqY2hiZVJ6RmlscWpqWk4zdWZDcGZrSjAvc2NWcG5ZazZMMFBJNzdseGRXQ1o4N1dpV203Qi9BR3F1UVNudWpHS3NCOENKbWlKcThxMXBLSVZXeXFPaVRLNjZyMThCTjhyNzQvQUU3MWZkQzN5UFMyTXhkT3BuRTF0bFZ4RDlKbVZPb2dnTityNFBqQVhWRlBhM0VnNWpWSkdGVlVHTm9sSDIwR1ZyVUI3Qk95U1dxNldxWVFkV1I5MnBjRk1ZTXdja2JTZ0NLQ3FENjdEaWlXdTFnOE1RQzlCeWZjRnFXMUwrakw3MTRxTkN1em5vU3h0MGRhMmd0V04xRzhGMEJLME5OMG51aW1lbFVGOWRJZEFmak80NFVUM0NqUUxvVWVMSEpGVE8zZ21wUnVJSU92d0JRQ2JxTmVvM3F0WjlpRjZ4VksxM0dSbG80enFpbXErQ0dkVGlSMXVSWThvcWdFMDJoWkJhNzlrWlhQTXF1eFJIS2xhMnNhWldONG1ScVpVajB2TENLaGtqS25xT1FITnVTWlZKb0t2QXFTMXdwRXF1dldEQzFCMnlwd3JDUHNSTUVQVlRPRE1MSk1EdjZxZUtYd2kySllWNVNxNHFLeXZnR3NIQ0xpdWoyalI1OVY4Z01xU0oyRkpaUlhFSFZSSGozc0ZQcmN0Nk9wcWxXMUdwYXRRZHQwR3Z3Zk02bjYzSW5zR1ZGaEpHYUJxZ3FxSVY2SXNYbGxaZ3lTUHE0UjNibnQzd2k1Y3YrY04yeXFRTFcxVDk1S1lWc1dXdEtrNGNCOVc1M1dRUWZsUVlSNldsNEhhSlpqdlZFMEQ1eXZxK1JLZ1pDczVxZEJFUDVzRDk0Y0F2UUxsU2dOYVNNQXRIeDg4QnVOUTQxemRGc1gzMHpLYmNzME1MRC9paGtwUXpsMHdpVHFLTFRmYkttQ215WUlDbkswSWJhaWVDNENHOWlTeUxRN2NJTUdRd2F1NlRLb3E2MEFwbDNXTjQwTFpwY2ExQ0tLSzlWUXl5SUVuOHcwRjhGNkNMMmg4bzNpeEd3QzdzN0VXekNPcW1jQXBZeFlENGpzQXpWUzBzbDJ0OThwQTd2cktvcGhDVlNvbmJZcGdINm12U24yNHBUQlY0c2R0VjNCdE1xNWs4MnkrSUFEdlVKMHVBbGtDVlR4SWFQbStVTnUvcWtWNEYxVHpIWENHclhJQXFJdEJLeXBxSzk5VnRBT1ZzNjRPNE9iWDdwSExWQ3BZSGNSbXd2TFI3VHZZQUtCQk41OExHVnpEdUZ6K2hRYldnbmNReUNaQWsrVmJzUFNvdWY5MzI2MWlaZ21mQ3B3UmJBdnFtU3FyaVUyUHdoamFvT3lZcXRJZWdWWFZpVHNteXRhNmJHeVNwWTNneVJycEl5QWVhV0REeHRwc1h3S3lhbE1ES05QN1lCWE1xRXNrVXNpMnVDOEZOQVB4QUtUVmZUMW82VnpNMEUwakYrMXJXY1V1SHZkeWc3dmdvRnBsWDhIcHZIcE1DT01SVVBIelprSW5zcWxGS05YL0VJTzUyRTBTeFN6T3dvYjJWbVJMVzVEMVhJVTByYmdNMUF6V2d5QzdmZThHN3hVQUsvdGFFQmF0N2x1cXR5UDdFbXNhSlFPajVGK21yblpmQ3VZQ2ZCVUFXd1NoeWQ2cE1ZL3ZBSEcxVXFPWXBiSS9neTVUMENNS20rVU8zZ0Z1Qzg1ZGdmRFZlZ3VQRGZJVHJJQkxzTHJjZ2RoM0NGZ0ZaamFLSjRJdjNGOEFORXF2dXhSMXRWS09nTG9DYTFqeGJvQkFrajZ2N2ovaWNGYkE3ZjRyZlJuUURMUlZpRzEzaTB2cUJRcllWcUJiQURaVDBacGlIb1N6dlFwb3BLSUZTM3NFMUhmQldsSFhkMEg3TG5BcnF2b3VnTXRsakhCZ1puaDNFb3ovQktqTE1MNFoyQXEwK2hFSnI5amFWVUJidk56Q0lVaXJvQzdBV21tRnc0bzVBSzNNdEI1VnlwWk1TRmdzMDVKeUdWd2x3QnFzRUdBQWEyWlUxQ2pVZXhYR3NFNHJLcmlpbEJ2RnpPS0tvM0F1QXJvRTZRRlFVM3U4WXBOWHdTNWsrMVRadDVVcndvdU40S2lVRXcrazNaV0RwMVJYSE5ScVhiMjFUczM5OTQ1eVpTZzNWblpGTlE5Q0YzWGVaeXI1RGdCWEtpd0NNYTJNeGVURFlYZ1AxRnNmOVFOS1pjMGs4MVJKazNyNkVRM3JDbUJWeUxMNzVFaloxcElWREhvRnRpT0FIb0IwQmRUVnlscUJzS0tLUytBZUJYSlZMWStDWEFTdUd2Ty9BdXE3R3VFakRmR0tnMW9LYTF6L2RtbWk5STlTVUdOaGwwQXRmdWxIQWF3b1lyblNrbU5YQVZ1R0VockVWWHZVRitBNUN0MlBxTk9qRGV0eW5hNENtZVVvbG1lWExONEFxN0M1U2oxMFE3eWpnbCt0NkNOeFNSSG1JNVgrQ3B3cmVZQjNRZmRxbmE0cTIxS2RCdWM0R29ac240OVpPT2lWaW53SHFLOVd6anZnZXdlRWgyQVU1K3Z0eFo5Q2Q5V3FraDQ5VjE4RTVvajZ2VnluMFJTdEF5R0lPNWVkWFJLZDVCMFZHVlhxMnlyM3hZcCs1VXQrQzRRSjRQMU4zMzlwUU1qUmVqajR2Yi9EY3I2clFjM08vMHJqbXRacGVZQ0JpQ0hmQ2VtUmJOaGJLL3BOVVBjM3dmS3k1ZjJEN09sTDMvdVBodmUvb1U0VDBGOGYrVk5NMnZ5b2l2MGpLK0tIUWZkSHErMGJuY3o0b3o3My8rWTZMYkt3MW8vNUI3ZU9mMVJsLzBkdTlCOXRuLzlidnJmL2ordjBoNnR0bjJ0cC9yLzQ4MTl5NC96djUzOTF1dnp6ZndEaWZ6NnBoVDFNUGdBQUFBQkpSVTVFcmtKZ2dnPT0iKTtiYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO2RpcmVjdGlvbjpsdHI7aGVpZ2h0OjEzMHB4O3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247d2lkdGg6MTAwJX0uY29sb3ItcGlja2VyIC5jcC1hZGQtY29sb3ItYnV0dG9uLWNsYXNze2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmU7bWFyZ2luOjNweCAtM3B4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZX0uY29sb3ItcGlja2VyIC5jcC1hZGQtY29sb3ItYnV0dG9uLWNsYXNzOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmNvbG9yLXBpY2tlciAuY3AtYWRkLWNvbG9yLWJ1dHRvbi1jbGFzczpkaXNhYmxlZHtjb2xvcjojOTk5O2N1cnNvcjpub3QtYWxsb3dlZH0uY29sb3ItcGlja2VyIC5jcC1hZGQtY29sb3ItYnV0dG9uLWNsYXNzOmRpc2FibGVkOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5jb2xvci1waWNrZXIgLmNwLXJlbW92ZS1jb2xvci1idXR0b24tY2xhc3N7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6MXB4IDFweCA1cHggIzMzMztjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi01cHg7dGV4dC1hbGlnbjpjZW50ZXI7dG9wOi01cHg7d2lkdGg6MTBweH0uY29sb3ItcGlja2VyIC5jcC1yZW1vdmUtY29sb3ItYnV0dG9uLWNsYXNzOmJlZm9yZXtib3R0b206My41cHg7Y29udGVudDoieCI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwcHg7cG9zaXRpb246cmVsYXRpdmV9J119XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOng1fV19KSx7aGFuZGxlRXNjOlt7dHlwZTpUXyxhcmdzOlsiZG9jdW1lbnQ6a2V5dXAuZXNjIixbIiRldmVudCJdXX1dLGhhbmRsZUVudGVyOlt7dHlwZTpUXyxhcmdzOlsiZG9jdW1lbnQ6a2V5dXAuZW50ZXIiLFsiJGV2ZW50Il1dfV0sZGlhbG9nRWxlbWVudDpbe3R5cGU6YXIsYXJnczpbImRpYWxvZ1BvcHVwIix7c3RhdGljOiEwfV19XSxodWVTbGlkZXI6W3t0eXBlOmFyLGFyZ3M6WyJodWVTbGlkZXIiLHtzdGF0aWM6ITB9XX1dLGFscGhhU2xpZGVyOlt7dHlwZTphcixhcmdzOlsiYWxwaGFTbGlkZXIiLHtzdGF0aWM6ITB9XX1dfSk7Y2xhc3MgUDV7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEpe3RoaXMuaW5qZWN0b3I9dCx0aGlzLmNmcj1lLHRoaXMuYXBwUmVmPW4sdGhpcy52Y1JlZj1vLHRoaXMuZWxSZWY9aSx0aGlzLl9zZXJ2aWNlPWEsdGhpcy5kaWFsb2dDcmVhdGVkPSExLHRoaXMuaWdub3JlQ2hhbmdlcz0hMSx0aGlzLnZpZXdBdHRhY2hlZFRvQXBwUmVmPSExLHRoaXMuY3BXaWR0aD0iMjMwcHgiLHRoaXMuY3BIZWlnaHQ9ImF1dG8iLHRoaXMuY3BUb2dnbGU9ITEsdGhpcy5jcERpc2FibGVkPSExLHRoaXMuY3BJZ25vcmVkRWxlbWVudHM9W10sdGhpcy5jcEZhbGxiYWNrQ29sb3I9IiIsdGhpcy5jcENvbG9yTW9kZT0iY29sb3IiLHRoaXMuY3BDbXlrRW5hYmxlZD0hMSx0aGlzLmNwT3V0cHV0Rm9ybWF0PSJhdXRvIix0aGlzLmNwQWxwaGFDaGFubmVsPSJlbmFibGVkIix0aGlzLmNwRGlzYWJsZUlucHV0PSExLHRoaXMuY3BEaWFsb2dEaXNwbGF5PSJwb3B1cCIsdGhpcy5jcFNhdmVDbGlja091dHNpZGU9ITAsdGhpcy5jcENsb3NlQ2xpY2tPdXRzaWRlPSEwLHRoaXMuY3BVc2VSb290Vmlld0NvbnRhaW5lcj0hMSx0aGlzLmNwUG9zaXRpb249ImF1dG8iLHRoaXMuY3BQb3NpdGlvbk9mZnNldD0iMCUiLHRoaXMuY3BQb3NpdGlvblJlbGF0aXZlVG9BcnJvdz0hMSx0aGlzLmNwT0tCdXR0b249ITEsdGhpcy5jcE9LQnV0dG9uVGV4dD0iT0siLHRoaXMuY3BPS0J1dHRvbkNsYXNzPSJjcC1vay1idXR0b24tY2xhc3MiLHRoaXMuY3BDYW5jZWxCdXR0b249ITEsdGhpcy5jcENhbmNlbEJ1dHRvblRleHQ9IkNhbmNlbCIsdGhpcy5jcENhbmNlbEJ1dHRvbkNsYXNzPSJjcC1jYW5jZWwtYnV0dG9uLWNsYXNzIix0aGlzLmNwUHJlc2V0TGFiZWw9IlByZXNldCBjb2xvcnMiLHRoaXMuY3BQcmVzZXRDb2xvcnNDbGFzcz0iY3AtcHJlc2V0LWNvbG9ycy1jbGFzcyIsdGhpcy5jcE1heFByZXNldENvbG9yc0xlbmd0aD02LHRoaXMuY3BQcmVzZXRFbXB0eU1lc3NhZ2U9Ik5vIGNvbG9ycyBhZGRlZCIsdGhpcy5jcFByZXNldEVtcHR5TWVzc2FnZUNsYXNzPSJwcmVzZXQtZW1wdHktbWVzc2FnZSIsdGhpcy5jcEFkZENvbG9yQnV0dG9uPSExLHRoaXMuY3BBZGRDb2xvckJ1dHRvblRleHQ9IkFkZCBjb2xvciIsdGhpcy5jcEFkZENvbG9yQnV0dG9uQ2xhc3M9ImNwLWFkZC1jb2xvci1idXR0b24tY2xhc3MiLHRoaXMuY3BSZW1vdmVDb2xvckJ1dHRvbkNsYXNzPSJjcC1yZW1vdmUtY29sb3ItYnV0dG9uLWNsYXNzIix0aGlzLmNwSW5wdXRDaGFuZ2U9bmV3IFN5KCEwKSx0aGlzLmNwVG9nZ2xlQ2hhbmdlPW5ldyBTeSghMCksdGhpcy5jcFNsaWRlckNoYW5nZT1uZXcgU3koITApLHRoaXMuY3BTbGlkZXJEcmFnRW5kPW5ldyBTeSghMCksdGhpcy5jcFNsaWRlckRyYWdTdGFydD1uZXcgU3koITApLHRoaXMuY29sb3JQaWNrZXJPcGVuPW5ldyBTeSghMCksdGhpcy5jb2xvclBpY2tlckNsb3NlPW5ldyBTeSghMCksdGhpcy5jb2xvclBpY2tlckNhbmNlbD1uZXcgU3koITApLHRoaXMuY29sb3JQaWNrZXJTZWxlY3Q9bmV3IFN5KCEwKSx0aGlzLmNvbG9yUGlja2VyQ2hhbmdlPW5ldyBTeSghMSksdGhpcy5jcENteWtDb2xvckNoYW5nZT1uZXcgU3koITApLHRoaXMuY3BQcmVzZXRDb2xvcnNDaGFuZ2U9bmV3IFN5KCEwKX1oYW5kbGVDbGljaygpe3RoaXMuaW5wdXRGb2N1cygpfWhhbmRsZUZvY3VzKCl7dGhpcy5pbnB1dEZvY3VzKCl9aGFuZGxlSW5wdXQodCl7dGhpcy5pbnB1dENoYW5nZSh0KX1uZ09uRGVzdHJveSgpe251bGwhPXRoaXMuY21wUmVmJiYodGhpcy52aWV3QXR0YWNoZWRUb0FwcFJlZiYmdGhpcy5hcHBSZWYuZGV0YWNoVmlldyh0aGlzLmNtcFJlZi5ob3N0VmlldyksdGhpcy5jbXBSZWYuZGVzdHJveSgpLHRoaXMuY21wUmVmPW51bGwsdGhpcy5kaWFsb2c9bnVsbCl9bmdPbkNoYW5nZXModCl7dC5jcFRvZ2dsZSYmIXRoaXMuY3BEaXNhYmxlZCYmKHQuY3BUb2dnbGUuY3VycmVudFZhbHVlP3RoaXMub3BlbkRpYWxvZygpOnQuY3BUb2dnbGUuY3VycmVudFZhbHVlfHx0aGlzLmNsb3NlRGlhbG9nKCkpLHQuY29sb3JQaWNrZXImJih0aGlzLmRpYWxvZyYmIXRoaXMuaWdub3JlQ2hhbmdlcyYmKCJpbmxpbmUiPT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMuZGlhbG9nLnNldEluaXRpYWxDb2xvcih0LmNvbG9yUGlja2VyLmN1cnJlbnRWYWx1ZSksdGhpcy5kaWFsb2cuc2V0Q29sb3JGcm9tU3RyaW5nKHQuY29sb3JQaWNrZXIuY3VycmVudFZhbHVlLCExKSx0aGlzLmNwVXNlUm9vdFZpZXdDb250YWluZXImJiJpbmxpbmUiIT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMuY21wUmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKSksdGhpcy5pZ25vcmVDaGFuZ2VzPSExKSwodC5jcFByZXNldExhYmVsfHx0LmNwUHJlc2V0Q29sb3JzKSYmdGhpcy5kaWFsb2cmJnRoaXMuZGlhbG9nLnNldFByZXNldENvbmZpZyh0aGlzLmNwUHJlc2V0TGFiZWwsdGhpcy5jcFByZXNldENvbG9ycyl9b3BlbkRpYWxvZygpe2lmKHRoaXMuZGlhbG9nQ3JlYXRlZCl0aGlzLmRpYWxvZyYmdGhpcy5kaWFsb2cub3BlbkRpYWxvZyh0aGlzLmNvbG9yUGlja2VyKTtlbHNle2xldCB0PXRoaXMudmNSZWY7aWYodGhpcy5kaWFsb2dDcmVhdGVkPSEwLHRoaXMudmlld0F0dGFjaGVkVG9BcHBSZWY9ITEsdGhpcy5jcFVzZVJvb3RWaWV3Q29udGFpbmVyJiYiaW5saW5lIiE9PXRoaXMuY3BEaWFsb2dEaXNwbGF5KXtjb25zdCBlPXRoaXMuaW5qZWN0b3IuZ2V0KHRoaXMuYXBwUmVmLmNvbXBvbmVudFR5cGVzWzBdLE5wLk5VTEwpO2UhPT1OcC5OVUxMPyh0PWUudmNSZWZ8fGUudmlld0NvbnRhaW5lclJlZnx8dGhpcy52Y1JlZix0PT09dGhpcy52Y1JlZiYmY29uc29sZS53YXJuKCJZb3UgYXJlIHVzaW5nIGNwVXNlUm9vdFZpZXdDb250YWluZXIsIGJ1dCB0aGUgcm9vdCBjb21wb25lbnQgaXMgbm90IGV4cG9zaW5nIHZpZXdDb250YWluZXJSZWYhUGxlYXNlIGV4cG9zZSBpdCBieSBhZGRpbmcgJ3B1YmxpYyB2Y1JlZjogVmlld0NvbnRhaW5lclJlZicgdG8gdGhlIGNvbnN0cnVjdG9yLiIpKTp0aGlzLnZpZXdBdHRhY2hlZFRvQXBwUmVmPSEwfWNvbnN0IGU9dGhpcy5jZnIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTzUpO2lmKHRoaXMudmlld0F0dGFjaGVkVG9BcHBSZWYpdGhpcy5jbXBSZWY9ZS5jcmVhdGUodGhpcy5pbmplY3RvciksdGhpcy5hcHBSZWYuYXR0YWNoVmlldyh0aGlzLmNtcFJlZi5ob3N0VmlldyksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmNtcFJlZi5ob3N0Vmlldy5yb290Tm9kZXNbMF0pO2Vsc2V7Y29uc3Qgbj1mZi5mcm9tUmVzb2x2ZWRQcm92aWRlcnMoW10sdC5wYXJlbnRJbmplY3Rvcik7dGhpcy5jbXBSZWY9dC5jcmVhdGVDb21wb25lbnQoZSwwLG4sW10pfXRoaXMuY21wUmVmLmluc3RhbmNlLnNldHVwRGlhbG9nKHRoaXMsdGhpcy5lbFJlZix0aGlzLmNvbG9yUGlja2VyLHRoaXMuY3BXaWR0aCx0aGlzLmNwSGVpZ2h0LHRoaXMuY3BEaWFsb2dEaXNwbGF5LHRoaXMuY3BGYWxsYmFja0NvbG9yLHRoaXMuY3BDb2xvck1vZGUsdGhpcy5jcENteWtFbmFibGVkLHRoaXMuY3BBbHBoYUNoYW5uZWwsdGhpcy5jcE91dHB1dEZvcm1hdCx0aGlzLmNwRGlzYWJsZUlucHV0LHRoaXMuY3BJZ25vcmVkRWxlbWVudHMsdGhpcy5jcFNhdmVDbGlja091dHNpZGUsdGhpcy5jcENsb3NlQ2xpY2tPdXRzaWRlLHRoaXMuY3BVc2VSb290Vmlld0NvbnRhaW5lcix0aGlzLmNwUG9zaXRpb24sdGhpcy5jcFBvc2l0aW9uT2Zmc2V0LHRoaXMuY3BQb3NpdGlvblJlbGF0aXZlVG9BcnJvdyx0aGlzLmNwUHJlc2V0TGFiZWwsdGhpcy5jcFByZXNldENvbG9ycyx0aGlzLmNwUHJlc2V0Q29sb3JzQ2xhc3MsdGhpcy5jcE1heFByZXNldENvbG9yc0xlbmd0aCx0aGlzLmNwUHJlc2V0RW1wdHlNZXNzYWdlLHRoaXMuY3BQcmVzZXRFbXB0eU1lc3NhZ2VDbGFzcyx0aGlzLmNwT0tCdXR0b24sdGhpcy5jcE9LQnV0dG9uQ2xhc3MsdGhpcy5jcE9LQnV0dG9uVGV4dCx0aGlzLmNwQ2FuY2VsQnV0dG9uLHRoaXMuY3BDYW5jZWxCdXR0b25DbGFzcyx0aGlzLmNwQ2FuY2VsQnV0dG9uVGV4dCx0aGlzLmNwQWRkQ29sb3JCdXR0b24sdGhpcy5jcEFkZENvbG9yQnV0dG9uQ2xhc3MsdGhpcy5jcEFkZENvbG9yQnV0dG9uVGV4dCx0aGlzLmNwUmVtb3ZlQ29sb3JCdXR0b25DbGFzcyx0aGlzLmVsUmVmKSx0aGlzLmRpYWxvZz10aGlzLmNtcFJlZi5pbnN0YW5jZSx0aGlzLnZjUmVmIT09dCYmdGhpcy5jbXBSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpfX1jbG9zZURpYWxvZygpe3RoaXMuZGlhbG9nJiYicG9wdXAiPT09dGhpcy5jcERpYWxvZ0Rpc3BsYXkmJnRoaXMuZGlhbG9nLmNsb3NlRGlhbG9nKCl9Y215a0NoYW5nZWQodCl7dGhpcy5jcENteWtDb2xvckNoYW5nZS5lbWl0KHQpfXN0YXRlQ2hhbmdlZCh0KXt0aGlzLmNwVG9nZ2xlQ2hhbmdlLmVtaXQodCksdD90aGlzLmNvbG9yUGlja2VyT3Blbi5lbWl0KHRoaXMuY29sb3JQaWNrZXIpOnRoaXMuY29sb3JQaWNrZXJDbG9zZS5lbWl0KHRoaXMuY29sb3JQaWNrZXIpfWNvbG9yQ2hhbmdlZCh0LGU9ITApe3RoaXMuaWdub3JlQ2hhbmdlcz1lLHRoaXMuY29sb3JQaWNrZXJDaGFuZ2UuZW1pdCh0KX1jb2xvclNlbGVjdGVkKHQpe3RoaXMuY29sb3JQaWNrZXJTZWxlY3QuZW1pdCh0KX1jb2xvckNhbmNlbGVkKCl7dGhpcy5jb2xvclBpY2tlckNhbmNlbC5lbWl0KCl9aW5wdXRGb2N1cygpe2NvbnN0IHQ9dGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LGU9dGhpcy5jcElnbm9yZWRFbGVtZW50cy5maWx0ZXIoKGU9PmU9PT10KSk7dGhpcy5jcERpc2FibGVkfHxlLmxlbmd0aHx8KCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJnQ9PT1kb2N1bWVudC5hY3RpdmVFbGVtZW50P3RoaXMub3BlbkRpYWxvZygpOnRoaXMuZGlhbG9nJiZ0aGlzLmRpYWxvZy5zaG93P3RoaXMuY2xvc2VEaWFsb2coKTp0aGlzLm9wZW5EaWFsb2coKSl9aW5wdXRDaGFuZ2UodCl7dGhpcy5kaWFsb2c/dGhpcy5kaWFsb2cuc2V0Q29sb3JGcm9tU3RyaW5nKHQudGFyZ2V0LnZhbHVlLCEwKToodGhpcy5jb2xvclBpY2tlcj10LnRhcmdldC52YWx1ZSx0aGlzLmNvbG9yUGlja2VyQ2hhbmdlLmVtaXQodGhpcy5jb2xvclBpY2tlcikpfWlucHV0Q2hhbmdlZCh0KXt0aGlzLmNwSW5wdXRDaGFuZ2UuZW1pdCh0KX1zbGlkZXJDaGFuZ2VkKHQpe3RoaXMuY3BTbGlkZXJDaGFuZ2UuZW1pdCh0KX1zbGlkZXJEcmFnRW5kKHQpe3RoaXMuY3BTbGlkZXJEcmFnRW5kLmVtaXQodCl9c2xpZGVyRHJhZ1N0YXJ0KHQpe3RoaXMuY3BTbGlkZXJEcmFnU3RhcnQuZW1pdCh0KX1wcmVzZXRDb2xvcnNDaGFuZ2VkKHQpe3RoaXMuY3BQcmVzZXRDb2xvcnNDaGFuZ2UuZW1pdCh0KX19UDUuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFA1KShnZihOcCksZ2YoR2gpLGdmKEhDKSxnZihGYiksZ2YoS2gpLGdmKHg1KSl9LFA1Lsm1ZGlyPWhvKHt0eXBlOlA1LHNlbGVjdG9yczpbWyIiLCJjb2xvclBpY2tlciIsIiJdXSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLmhhbmRsZUNsaWNrKCl9KSkoImZvY3VzIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLmhhbmRsZUZvY3VzKCl9KSkoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5oYW5kbGVJbnB1dChlKX0pKX0saW5wdXRzOntjcFdpZHRoOiJjcFdpZHRoIixjcEhlaWdodDoiY3BIZWlnaHQiLGNwVG9nZ2xlOiJjcFRvZ2dsZSIsY3BEaXNhYmxlZDoiY3BEaXNhYmxlZCIsY3BJZ25vcmVkRWxlbWVudHM6ImNwSWdub3JlZEVsZW1lbnRzIixjcEZhbGxiYWNrQ29sb3I6ImNwRmFsbGJhY2tDb2xvciIsY3BDb2xvck1vZGU6ImNwQ29sb3JNb2RlIixjcENteWtFbmFibGVkOiJjcENteWtFbmFibGVkIixjcE91dHB1dEZvcm1hdDoiY3BPdXRwdXRGb3JtYXQiLGNwQWxwaGFDaGFubmVsOiJjcEFscGhhQ2hhbm5lbCIsY3BEaXNhYmxlSW5wdXQ6ImNwRGlzYWJsZUlucHV0IixjcERpYWxvZ0Rpc3BsYXk6ImNwRGlhbG9nRGlzcGxheSIsY3BTYXZlQ2xpY2tPdXRzaWRlOiJjcFNhdmVDbGlja091dHNpZGUiLGNwQ2xvc2VDbGlja091dHNpZGU6ImNwQ2xvc2VDbGlja091dHNpZGUiLGNwVXNlUm9vdFZpZXdDb250YWluZXI6ImNwVXNlUm9vdFZpZXdDb250YWluZXIiLGNwUG9zaXRpb246ImNwUG9zaXRpb24iLGNwUG9zaXRpb25PZmZzZXQ6ImNwUG9zaXRpb25PZmZzZXQiLGNwUG9zaXRpb25SZWxhdGl2ZVRvQXJyb3c6ImNwUG9zaXRpb25SZWxhdGl2ZVRvQXJyb3ciLGNwT0tCdXR0b246ImNwT0tCdXR0b24iLGNwT0tCdXR0b25UZXh0OiJjcE9LQnV0dG9uVGV4dCIsY3BPS0J1dHRvbkNsYXNzOiJjcE9LQnV0dG9uQ2xhc3MiLGNwQ2FuY2VsQnV0dG9uOiJjcENhbmNlbEJ1dHRvbiIsY3BDYW5jZWxCdXR0b25UZXh0OiJjcENhbmNlbEJ1dHRvblRleHQiLGNwQ2FuY2VsQnV0dG9uQ2xhc3M6ImNwQ2FuY2VsQnV0dG9uQ2xhc3MiLGNwUHJlc2V0TGFiZWw6ImNwUHJlc2V0TGFiZWwiLGNwUHJlc2V0Q29sb3JzQ2xhc3M6ImNwUHJlc2V0Q29sb3JzQ2xhc3MiLGNwTWF4UHJlc2V0Q29sb3JzTGVuZ3RoOiJjcE1heFByZXNldENvbG9yc0xlbmd0aCIsY3BQcmVzZXRFbXB0eU1lc3NhZ2U6ImNwUHJlc2V0RW1wdHlNZXNzYWdlIixjcFByZXNldEVtcHR5TWVzc2FnZUNsYXNzOiJjcFByZXNldEVtcHR5TWVzc2FnZUNsYXNzIixjcEFkZENvbG9yQnV0dG9uOiJjcEFkZENvbG9yQnV0dG9uIixjcEFkZENvbG9yQnV0dG9uVGV4dDoiY3BBZGRDb2xvckJ1dHRvblRleHQiLGNwQWRkQ29sb3JCdXR0b25DbGFzczoiY3BBZGRDb2xvckJ1dHRvbkNsYXNzIixjcFJlbW92ZUNvbG9yQnV0dG9uQ2xhc3M6ImNwUmVtb3ZlQ29sb3JCdXR0b25DbGFzcyIsY29sb3JQaWNrZXI6ImNvbG9yUGlja2VyIixjcFByZXNldENvbG9yczoiY3BQcmVzZXRDb2xvcnMifSxvdXRwdXRzOntjcElucHV0Q2hhbmdlOiJjcElucHV0Q2hhbmdlIixjcFRvZ2dsZUNoYW5nZToiY3BUb2dnbGVDaGFuZ2UiLGNwU2xpZGVyQ2hhbmdlOiJjcFNsaWRlckNoYW5nZSIsY3BTbGlkZXJEcmFnRW5kOiJjcFNsaWRlckRyYWdFbmQiLGNwU2xpZGVyRHJhZ1N0YXJ0OiJjcFNsaWRlckRyYWdTdGFydCIsY29sb3JQaWNrZXJPcGVuOiJjb2xvclBpY2tlck9wZW4iLGNvbG9yUGlja2VyQ2xvc2U6ImNvbG9yUGlja2VyQ2xvc2UiLGNvbG9yUGlja2VyQ2FuY2VsOiJjb2xvclBpY2tlckNhbmNlbCIsY29sb3JQaWNrZXJTZWxlY3Q6ImNvbG9yUGlja2VyU2VsZWN0Iixjb2xvclBpY2tlckNoYW5nZToiY29sb3JQaWNrZXJDaGFuZ2UiLGNwQ215a0NvbG9yQ2hhbmdlOiJjcENteWtDb2xvckNoYW5nZSIsY3BQcmVzZXRDb2xvcnNDaGFuZ2U6ImNwUHJlc2V0Q29sb3JzQ2hhbmdlIn0sZXhwb3J0QXM6WyJuZ3hDb2xvclBpY2tlciJdLGZlYXR1cmVzOltxb119KSxQNS5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOk5wfSx7dHlwZTpHaH0se3R5cGU6SEN9LHt0eXBlOkZifSx7dHlwZTpLaH0se3R5cGU6eDV9XSxQNS5wcm9wRGVjb3JhdG9ycz17Y29sb3JQaWNrZXI6W3t0eXBlOlJffV0sY3BXaWR0aDpbe3R5cGU6Ul99XSxjcEhlaWdodDpbe3R5cGU6Ul99XSxjcFRvZ2dsZTpbe3R5cGU6Ul99XSxjcERpc2FibGVkOlt7dHlwZTpSX31dLGNwSWdub3JlZEVsZW1lbnRzOlt7dHlwZTpSX31dLGNwRmFsbGJhY2tDb2xvcjpbe3R5cGU6Ul99XSxjcENvbG9yTW9kZTpbe3R5cGU6Ul99XSxjcENteWtFbmFibGVkOlt7dHlwZTpSX31dLGNwT3V0cHV0Rm9ybWF0Olt7dHlwZTpSX31dLGNwQWxwaGFDaGFubmVsOlt7dHlwZTpSX31dLGNwRGlzYWJsZUlucHV0Olt7dHlwZTpSX31dLGNwRGlhbG9nRGlzcGxheTpbe3R5cGU6Ul99XSxjcFNhdmVDbGlja091dHNpZGU6W3t0eXBlOlJffV0sY3BDbG9zZUNsaWNrT3V0c2lkZTpbe3R5cGU6Ul99XSxjcFVzZVJvb3RWaWV3Q29udGFpbmVyOlt7dHlwZTpSX31dLGNwUG9zaXRpb246W3t0eXBlOlJffV0sY3BQb3NpdGlvbk9mZnNldDpbe3R5cGU6Ul99XSxjcFBvc2l0aW9uUmVsYXRpdmVUb0Fycm93Olt7dHlwZTpSX31dLGNwT0tCdXR0b246W3t0eXBlOlJffV0sY3BPS0J1dHRvblRleHQ6W3t0eXBlOlJffV0sY3BPS0J1dHRvbkNsYXNzOlt7dHlwZTpSX31dLGNwQ2FuY2VsQnV0dG9uOlt7dHlwZTpSX31dLGNwQ2FuY2VsQnV0dG9uVGV4dDpbe3R5cGU6Ul99XSxjcENhbmNlbEJ1dHRvbkNsYXNzOlt7dHlwZTpSX31dLGNwUHJlc2V0TGFiZWw6W3t0eXBlOlJffV0sY3BQcmVzZXRDb2xvcnM6W3t0eXBlOlJffV0sY3BQcmVzZXRDb2xvcnNDbGFzczpbe3R5cGU6Ul99XSxjcE1heFByZXNldENvbG9yc0xlbmd0aDpbe3R5cGU6Ul99XSxjcFByZXNldEVtcHR5TWVzc2FnZTpbe3R5cGU6Ul99XSxjcFByZXNldEVtcHR5TWVzc2FnZUNsYXNzOlt7dHlwZTpSX31dLGNwQWRkQ29sb3JCdXR0b246W3t0eXBlOlJffV0sY3BBZGRDb2xvckJ1dHRvblRleHQ6W3t0eXBlOlJffV0sY3BBZGRDb2xvckJ1dHRvbkNsYXNzOlt7dHlwZTpSX31dLGNwUmVtb3ZlQ29sb3JCdXR0b25DbGFzczpbe3R5cGU6Ul99XSxjcElucHV0Q2hhbmdlOlt7dHlwZTpFX31dLGNwVG9nZ2xlQ2hhbmdlOlt7dHlwZTpFX31dLGNwU2xpZGVyQ2hhbmdlOlt7dHlwZTpFX31dLGNwU2xpZGVyRHJhZ0VuZDpbe3R5cGU6RV99XSxjcFNsaWRlckRyYWdTdGFydDpbe3R5cGU6RV99XSxjb2xvclBpY2tlck9wZW46W3t0eXBlOkVffV0sY29sb3JQaWNrZXJDbG9zZTpbe3R5cGU6RV99XSxjb2xvclBpY2tlckNhbmNlbDpbe3R5cGU6RV99XSxjb2xvclBpY2tlclNlbGVjdDpbe3R5cGU6RV99XSxjb2xvclBpY2tlckNoYW5nZTpbe3R5cGU6RV99XSxjcENteWtDb2xvckNoYW5nZTpbe3R5cGU6RV99XSxjcFByZXNldENvbG9yc0NoYW5nZTpbe3R5cGU6RV99XSxoYW5kbGVDbGljazpbe3R5cGU6VF8sYXJnczpbImNsaWNrIl19XSxoYW5kbGVGb2N1czpbe3R5cGU6VF8sYXJnczpbImZvY3VzIl19XSxoYW5kbGVJbnB1dDpbe3R5cGU6VF8sYXJnczpbImlucHV0IixbIiRldmVudCJdXX1dfSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFA1LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Iltjb2xvclBpY2tlcl0iLGV4cG9ydEFzOiJuZ3hDb2xvclBpY2tlciJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpOcH0se3R5cGU6R2h9LHt0eXBlOkhDfSx7dHlwZTpGYn0se3R5cGU6S2h9LHt0eXBlOng1fV19KSx7Y3BXaWR0aDpbe3R5cGU6Ul99XSxjcEhlaWdodDpbe3R5cGU6Ul99XSxjcFRvZ2dsZTpbe3R5cGU6Ul99XSxjcERpc2FibGVkOlt7dHlwZTpSX31dLGNwSWdub3JlZEVsZW1lbnRzOlt7dHlwZTpSX31dLGNwRmFsbGJhY2tDb2xvcjpbe3R5cGU6Ul99XSxjcENvbG9yTW9kZTpbe3R5cGU6Ul99XSxjcENteWtFbmFibGVkOlt7dHlwZTpSX31dLGNwT3V0cHV0Rm9ybWF0Olt7dHlwZTpSX31dLGNwQWxwaGFDaGFubmVsOlt7dHlwZTpSX31dLGNwRGlzYWJsZUlucHV0Olt7dHlwZTpSX31dLGNwRGlhbG9nRGlzcGxheTpbe3R5cGU6Ul99XSxjcFNhdmVDbGlja091dHNpZGU6W3t0eXBlOlJffV0sY3BDbG9zZUNsaWNrT3V0c2lkZTpbe3R5cGU6Ul99XSxjcFVzZVJvb3RWaWV3Q29udGFpbmVyOlt7dHlwZTpSX31dLGNwUG9zaXRpb246W3t0eXBlOlJffV0sY3BQb3NpdGlvbk9mZnNldDpbe3R5cGU6Ul99XSxjcFBvc2l0aW9uUmVsYXRpdmVUb0Fycm93Olt7dHlwZTpSX31dLGNwT0tCdXR0b246W3t0eXBlOlJffV0sY3BPS0J1dHRvblRleHQ6W3t0eXBlOlJffV0sY3BPS0J1dHRvbkNsYXNzOlt7dHlwZTpSX31dLGNwQ2FuY2VsQnV0dG9uOlt7dHlwZTpSX31dLGNwQ2FuY2VsQnV0dG9uVGV4dDpbe3R5cGU6Ul99XSxjcENhbmNlbEJ1dHRvbkNsYXNzOlt7dHlwZTpSX31dLGNwUHJlc2V0TGFiZWw6W3t0eXBlOlJffV0sY3BQcmVzZXRDb2xvcnNDbGFzczpbe3R5cGU6Ul99XSxjcE1heFByZXNldENvbG9yc0xlbmd0aDpbe3R5cGU6Ul99XSxjcFByZXNldEVtcHR5TWVzc2FnZTpbe3R5cGU6Ul99XSxjcFByZXNldEVtcHR5TWVzc2FnZUNsYXNzOlt7dHlwZTpSX31dLGNwQWRkQ29sb3JCdXR0b246W3t0eXBlOlJffV0sY3BBZGRDb2xvckJ1dHRvblRleHQ6W3t0eXBlOlJffV0sY3BBZGRDb2xvckJ1dHRvbkNsYXNzOlt7dHlwZTpSX31dLGNwUmVtb3ZlQ29sb3JCdXR0b25DbGFzczpbe3R5cGU6Ul99XSxjcElucHV0Q2hhbmdlOlt7dHlwZTpFX31dLGNwVG9nZ2xlQ2hhbmdlOlt7dHlwZTpFX31dLGNwU2xpZGVyQ2hhbmdlOlt7dHlwZTpFX31dLGNwU2xpZGVyRHJhZ0VuZDpbe3R5cGU6RV99XSxjcFNsaWRlckRyYWdTdGFydDpbe3R5cGU6RV99XSxjb2xvclBpY2tlck9wZW46W3t0eXBlOkVffV0sY29sb3JQaWNrZXJDbG9zZTpbe3R5cGU6RV99XSxjb2xvclBpY2tlckNhbmNlbDpbe3R5cGU6RV99XSxjb2xvclBpY2tlclNlbGVjdDpbe3R5cGU6RV99XSxjb2xvclBpY2tlckNoYW5nZTpbe3R5cGU6RV99XSxjcENteWtDb2xvckNoYW5nZTpbe3R5cGU6RV99XSxjcFByZXNldENvbG9yc0NoYW5nZTpbe3R5cGU6RV99XSxoYW5kbGVDbGljazpbe3R5cGU6VF8sYXJnczpbImNsaWNrIl19XSxoYW5kbGVGb2N1czpbe3R5cGU6VF8sYXJnczpbImZvY3VzIl19XSxoYW5kbGVJbnB1dDpbe3R5cGU6VF8sYXJnczpbImlucHV0IixbIiRldmVudCJdXX1dLGNvbG9yUGlja2VyOlt7dHlwZTpSX31dLGNwUHJlc2V0Q29sb3JzOlt7dHlwZTpSX31dfSk7Y2xhc3MgdzV7fXc1Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx3NSl9LHc1Lsm1bW9kPWZvKHt0eXBlOnc1fSksdzUuybVpbmo9RG4oe3Byb3ZpZGVyczpbeDVdLGltcG9ydHM6W1tyeF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih3NSxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W3J4XSxleHBvcnRzOltQNV0scHJvdmlkZXJzOlt4NV0sZGVjbGFyYXRpb25zOltPNSxQNSxfNSxDNV0sZW50cnlDb21wb25lbnRzOltPNV19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byh3NSx7ZGVjbGFyYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuW081LFA1LF81LEM1XX0saW1wb3J0czpmdW5jdGlvbigpe3JldHVybltyeF19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bUDVdfX0pO2NvbnN0IGs1PVsiZmlsdGVyIl07ZnVuY3Rpb24gUzUodCxlKXsxJnQmJlBmKDApfWZ1bmN0aW9uIEQ1KHQsZSl7MSZ0JiZQZigwKX1jb25zdCBSNT1mdW5jdGlvbih0KXtyZXR1cm57aXRlbTp0fX07ZnVuY3Rpb24gRTUodCxlKXtpZigxJnQmJih4ZigwKSxIbSgxLEQ1LDEsMCwibmctY29udGFpbmVyIiwxMiksT2YoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0O3pmKCk7Y29uc3Qgbj1GbSgxNCk7RGMoMSksYmYoIm5nVGVtcGxhdGVPdXRsZXQiLG4pKCJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsaXkoMixSNSx0KSl9fWZ1bmN0aW9uIEE1KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxMyksdmYoMSwibWF0LXNwaW5uZXIiLDE0KSxNZigpKX1mdW5jdGlvbiBUNSh0LGUpezEmdCYmKENmKDAsImRpdiIsMTUpLFB1KDEsIk5vIFJ1bnMiKSxNZigpKX1mdW5jdGlvbiBONSh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTUpLENmKDEsInNwYW4iKSxQdSgyLCdObyBydW5zIG1hdGNoICInKSxDZigzLCJjb2RlIiksUHUoNCksTWYoKSxQdSg1LCciJyksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYyg0KSx3dSh0LnJlZ2V4RmlsdGVyKX19Y29uc3QgejU9ZnVuY3Rpb24oKXtyZXR1cm5bNSwxMCwyMF19O2Z1bmN0aW9uIEk1KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibWF0LXBhZ2luYXRvciIsMTYpLFJmKCJwYWdlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5vblBhZ2luYXRpb25DaGFuZ2UuZW1pdChuKX0pKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2JmKCJwYWdlU2l6ZU9wdGlvbnMiLG95KDQsejUpKSgicGFnZUluZGV4Iix0LnBhZ2luYXRpb25PcHRpb24ucGFnZUluZGV4KSgicGFnZVNpemUiLHQucGFnaW5hdGlvbk9wdGlvbi5wYWdlU2l6ZSkoImxlbmd0aCIsdC5maWx0ZXJlZEl0ZW1zTGVuZ3RoKX19ZnVuY3Rpb24gSDUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJtYXQtY2hlY2tib3giLDI2KSxSZigiY2hhbmdlIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigzKS5oYW5kbGVQYWdlVG9nZ2xlKCl9KSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoMyk7YmYoImNoZWNrZWQiLHQuYWxsUGFnZUl0ZW1zU2VsZWN0ZWQoKSkoImluZGV0ZXJtaW5hdGUiLCF0LmFsbFBhZ2VJdGVtc1NlbGVjdGVkKCkmJnQuc29tZVBhZ2VJdGVtc1NlbGVjdGVkKCkpfX1jb25zdCBGNT1mdW5jdGlvbih0KXtyZXR1cm57dHlwZTp0fX07ZnVuY3Rpb24gTDUodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiwyNyksUHUoMSwiRXhwZXJpbWVudCIpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigzKTtiZigibWF0LXNvcnQtaGVhZGVyIixpeSgxLEY1LHQuU29ydFR5cGUuRVhQRVJJTUVOVF9OQU1FKSl9fWZ1bmN0aW9uIEI1KHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMjcpLFB1KDEsIlJ1biIpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigzKTtiZigibWF0LXNvcnQtaGVhZGVyIixpeSgxLEY1LHQuU29ydFR5cGUuUlVOX05BTUUpKX19ZnVuY3Rpb24gVjUodCxlKXtpZigxJnQmJnZmKDAsInJ1bnMtZ3JvdXAtbWVudS1idXR0b24iLDI5KSwyJnQpe2JmKCJleHBlcmltZW50SWRzIix6Zig0KS5leHBlcmltZW50SWRzKX19ZnVuY3Rpb24gajUodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiksSG0oMSxWNSwxLDEsInJ1bnMtZ3JvdXAtbWVudS1idXR0b24iLDI4KSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMyk7RGMoMSksYmYoIm5nSWYiLHQuc2hvd0dyb3VwQ29udHJvbCl9fWNvbnN0IFU1PWZ1bmN0aW9uKHQpe3JldHVyblsiY29sdW1uIix0XX07ZnVuY3Rpb24gVzUodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiwyMSkseGYoMSwyMiksSG0oMixINSwxLDIsIm1hdC1jaGVja2JveCIsMjMpLEhtKDMsTDUsMiwzLCJzcGFuIiwyNCksSG0oNCxCNSwyLDMsInNwYW4iLDI0KSxIbSg1LGo1LDIsMSwic3BhbiIsMjUpLE9mKCksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoMik7YmYoIm5nQ2xhc3MiLGl5KDYsVTUsInRiLWNvbHVtbi0iK3QpKSxEYygxKSxiZigibmdTd2l0Y2giLHQpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLG4uUnVuc1RhYmxlQ29sdW1uLkNIRUNLQk9YKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIixuLlJ1bnNUYWJsZUNvbHVtbi5FWFBFUklNRU5UX05BTUUpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLG4uUnVuc1RhYmxlQ29sdW1uLlJVTl9OQU1FKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIixuLlJ1bnNUYWJsZUNvbHVtbi5SVU5fQ09MT1IpfX1mdW5jdGlvbiBHNSh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO3hmKDApLENmKDEsImRpdiIsMzgpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCl9KSksQ2YoMiwidGItcmFuZ2UtaW5wdXQiLDM5KSxSZigidmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoMikuJGltcGxpY2l0O3JldHVybiB6ZigyKS5oYW5kbGVIcGFyYW1JbnRlcnZhbENoYW5nZWQobyxuKX0pKSxNZigpLE1mKCksT2YoKX1pZigyJnQpe2NvbnN0IHQ9emYoMikuJGltcGxpY2l0O0RjKDIpLGJmKCJtaW4iLHQuZmlsdGVyLm1pblZhbHVlKSgibWF4Iix0LmZpbHRlci5tYXhWYWx1ZSkoImxvd2VyVmFsdWUiLHQuZmlsdGVyLmZpbHRlckxvd2VyVmFsdWUpKCJ1cHBlclZhbHVlIix0LmZpbHRlci5maWx0ZXJVcHBlclZhbHVlKX19ZnVuY3Rpb24gWTUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDQxKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpfSkpLENmKDEsIm1hdC1jaGVja2JveCIsMzcpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiBlKCl7Y29uc3Qgbj1QaSh0KS4kaW1wbGljaXQsbz16ZigzKS4kaW1wbGljaXQ7cmV0dXJuIHpmKDIpLmhhbmRsZUhwYXJhbURpc2NyZXRlQ2hhbmdlZChvLG4pfSkpLENmKDIsInNwYW4iKSxQdSgzKSxNZigpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigzKS4kaW1wbGljaXQ7RGMoMSksYmYoImNoZWNrZWQiLG4uZmlsdGVyLmZpbHRlclZhbHVlcy5pbmNsdWRlcyh0KSksRGMoMiksd3UodCl9fWZ1bmN0aW9uIHE1KHQsZSl7aWYoMSZ0JiYoeGYoMCksSG0oMSxZNSw0LDIsImRpdiIsNDApLE9mKCkpLDImdCl7Y29uc3QgdD16ZigyKS4kaW1wbGljaXQ7RGMoMSksYmYoIm5nRm9yT2YiLHQuZmlsdGVyLnBvc3NpYmxlVmFsdWVzKX19ZnVuY3Rpb24gWjUodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTt4ZigwKSxDZigxLCJidXR0b24iLDMzKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpfSkpLHZmKDIsIm1hdC1pY29uIiwzNCksTWYoKSxDZigzLCJtYXQtbWVudSIsbnVsbCwzNSksQ2YoNSwiZGl2IiwzNiksUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKX0pKSxDZig2LCJtYXQtY2hlY2tib3giLDM3KSxSZigiY2hhbmdlIiwoZnVuY3Rpb24gZSgpe1BpKHQpO2NvbnN0IG49emYoKS4kaW1wbGljaXQ7cmV0dXJuIHpmKDIpLmhhbmRsZUhwYXJhbUluY2x1ZGVVbmRlZmluZWRUb2dnbGVkKG4pfSkpLENmKDcsInNwYW4iKSxQdSg4LCIoc2hvdyBlbXB0eSB2YWx1ZSkiKSxNZigpLE1mKCksTWYoKSxIbSg5LEc1LDMsNCwibmctY29udGFpbmVyIiwzMiksSG0oMTAscTUsMiwxLCJuZy1jb250YWluZXIiLDMyKSxNZigpLE9mKCl9aWYoMiZ0KXtjb25zdCB0PUZtKDQpLGU9emYoKS4kaW1wbGljaXQsbj16ZigyKTtEYygxKSxiZigibWF0TWVudVRyaWdnZXJGb3IiLHQpLHltKCJhcmlhLWxhYmVsIiwiRmlsdGVyIGhwYXJhbSAiKyhlLmRpc3BsYXlOYW1lfHxlLm5hbWUpKSxEYyg1KSxiZigiY2hlY2tlZCIsZS5maWx0ZXIuaW5jbHVkZVVuZGVmaW5lZCksRGMoMyksYmYoIm5nSWYiLGUuZmlsdGVyLnR5cGU9PT1uLkRvbWFpblR5cGUuSU5URVJWQUwpLERjKDEpLGJmKCJuZ0lmIixlLmZpbHRlci50eXBlPT09bi5Eb21haW5UeXBlLkRJU0NSRVRFKX19Y29uc3QgWDU9ZnVuY3Rpb24odCxlKXtyZXR1cm57dHlwZTp0LG5hbWU6ZX19O2Z1bmN0aW9uIEs1KHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsMzApLENmKDEsInNwYW4iLDMxKSxQdSgyKSxNZigpLEhtKDMsWjUsMTEsNSwibmctY29udGFpbmVyIiwzMiksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoMik7YmYoIm1hdC1zb3J0LWhlYWRlciIsYXkoMyxYNSxuLlNvcnRUeXBlLkhQQVJBTSx0Lm5hbWUpKSxEYygyKSx3dSh0LmRpc3BsYXlOYW1lfHx0Lm5hbWUpLERjKDEpLGJmKCJuZ0lmIix0LmZpbHRlcil9fWZ1bmN0aW9uIEo1KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7eGYoMCksQ2YoMSwiYnV0dG9uIiwzMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKX0pKSx2ZigyLCJtYXQtaWNvbiIsMzQpLE1mKCksQ2YoMywibWF0LW1lbnUiLG51bGwsMzUpLENmKDUsImRpdiIsMzYpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCl9KSksQ2YoNiwibWF0LWNoZWNrYm94IiwzNyksUmYoImNoYW5nZSIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtjb25zdCBuPXpmKCkuJGltcGxpY2l0O3JldHVybiB6ZigyKS5oYW5kbGVNZXRyaWNJbmNsdWRlVW5kZWZpbmVkQ2hhbmdlZChuKX0pKSxDZig3LCJzcGFuIiksUHUoOCwiKHNob3cgZW1wdHkgdmFsdWUpIiksTWYoKSxNZigpLE1mKCksQ2YoOSwiZGl2IiwzOCksUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKX0pKSxDZigxMCwidGItcmFuZ2UtaW5wdXQiLDM5KSxSZigidmFsdWUiLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoKS4kaW1wbGljaXQ7cmV0dXJuIHpmKDIpLmhhbmRsZU1ldHJpY0ZpbHRlckNoYW5nZWQobyxuKX0pKSxNZigpLE1mKCksTWYoKSxPZigpfWlmKDImdCl7Y29uc3QgdD1GbSg0KSxlPXpmKCkuJGltcGxpY2l0O0RjKDEpLGJmKCJtYXRNZW51VHJpZ2dlckZvciIsdCkseW0oImFyaWEtbGFiZWwiLCJGaWx0ZXIgbWV0cmljICIrKGUuZGlzcGxheU5hbWV8fGUudGFnKSksRGMoNSksYmYoImNoZWNrZWQiLGUuZmlsdGVyLmluY2x1ZGVVbmRlZmluZWQpLERjKDQpLGJmKCJtaW4iLGUuZmlsdGVyLm1pblZhbHVlKSgibWF4IixlLmZpbHRlci5tYXhWYWx1ZSkoImxvd2VyVmFsdWUiLGUuZmlsdGVyLmZpbHRlckxvd2VyVmFsdWUpKCJ1cHBlclZhbHVlIixlLmZpbHRlci5maWx0ZXJVcHBlclZhbHVlKX19Y29uc3QgUTU9ZnVuY3Rpb24odCxlKXtyZXR1cm57dHlwZTp0LHRhZzplfX07ZnVuY3Rpb24gJDUodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiwzMCksQ2YoMSwic3BhbiIsMzEpLFB1KDIpLE1mKCksSG0oMyxKNSwxMSw3LCJuZy1jb250YWluZXIiLDMyKSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigyKTtiZigibWF0LXNvcnQtaGVhZGVyIixheSgzLFE1LG4uU29ydFR5cGUuTUVUUklDLHQudGFnKSksRGMoMiksd3UodC5kaXNwbGF5TmFtZXx8dC50YWcpLERjKDEpLGJmKCJuZ0lmIix0LmZpbHRlcil9fWZ1bmN0aW9uIHQ0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxNyksQ2YoMSwiZGl2IiwxOCksUmYoIm1hdFNvcnRDaGFuZ2UiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLmhhbmRsZVNvcnRDaGFuZ2Uobil9KSksSG0oMixXNSw2LDgsInNwYW4iLDE5KSxIbSgzLEs1LDQsNiwic3BhbiIsMjApLEhtKDQsJDUsNCw2LCJzcGFuIiwyMCksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGJmKCJtYXRTb3J0QWN0aXZlIix0LnNvcnRPcHRpb24uY29sdW1uKSxEYygxKSxiZigibmdGb3JPZiIsdC5jb2x1bW5zKSxEYygxKSxiZigibmdGb3JPZiIsdC5ocGFyYW1Db2x1bW5zKSgibmdGb3JUcmFja0J5Iix0LnRyYWNrQnlIcGFyYW1Db2x1bW4pLERjKDEpLGJmKCJuZ0Zvck9mIix0Lm1ldHJpY0NvbHVtbnMpKCJuZ0ZvclRyYWNrQnkiLHQudHJhY2tCeU1ldHJpY0NvbHVtbil9fWZ1bmN0aW9uIGU0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwic3BhbiIpLENmKDEsIm1hdC1jaGVja2JveCIsMzcpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiBlKCl7UGkodCk7Y29uc3Qgbj16ZigyKS5pdGVtO3JldHVybiB6ZigpLm9uU2VsZWN0aW9uVG9nZ2xlLmVtaXQobil9KSksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigyKS5pdGVtO0RjKDEpLGJmKCJjaGVja2VkIix0LnNlbGVjdGVkKX19ZnVuY3Rpb24gbjQodCxlKXtpZigxJnQmJnZmKDAsInRiLWV4cGVyaW1lbnQtYWxpYXMiLDQ4KSwyJnQpe2JmKCJhbGlhcyIsemYoMikuaXRlbS5leHBlcmltZW50QWxpYXMpfX1mdW5jdGlvbiBvNCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDMxKSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMikuaXRlbTtEYygxKSx3dSh0LnJ1bi5uYW1lKX19Y29uc3QgaTQ9ZnVuY3Rpb24odCl7cmV0dXJueyJydW4tY29sb3Itc3dhdGNoIjohMCwibm8tY29sb3IiOnR9fTtmdW5jdGlvbiBhNCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsInNwYW4iKSxDZigxLCJidXR0b24iLDQ5KSxSZigiY29sb3JQaWNrZXJDaGFuZ2UiLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoMikuaXRlbTtyZXR1cm4gemYoKS5vblJ1bkNvbG9yQ2hhbmdlLmVtaXQoe3J1bklkOm8ucnVuLmlkLG5ld0NvbG9yOm59KX0pKSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpLml0ZW07RGMoMSksbHUoImJhY2tncm91bmQiLHQucnVuQ29sb3IpLGJmKCJuZ0NsYXNzIixpeSg4LGk0LCF0LnJ1bkNvbG9yKSkoImNvbG9yUGlja2VyIix0LnJ1bkNvbG9yKSgiY3BEaWFsb2dEaXNwbGF5IiwicG9wdXAiKSgiY3BQb3NpdGlvbk9mZnNldCIsLTIwKSgiY3BVc2VSb290Vmlld0NvbnRhaW5lciIsITApKCJjcE91dHB1dEZvcm1hdCIsImhleCIpfX1mdW5jdGlvbiByNCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDQ1KSx4ZigxLDIyKSxIbSgyLGU0LDIsMSwic3BhbiIsMjUpLEhtKDMsbjQsMSwxLCJ0Yi1leHBlcmltZW50LWFsaWFzIiw0NiksSG0oNCxvNCwyLDEsInNwYW4iLDQ3KSxIbSg1LGE0LDIsMTAsInNwYW4iLDI1KSxPZigpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKDIpO2JmKCJuZ0NsYXNzIixpeSg2LFU1LCJ0Yi1jb2x1bW4tIit0KSksRGMoMSksYmYoIm5nU3dpdGNoIix0KSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIixuLlJ1bnNUYWJsZUNvbHVtbi5DSEVDS0JPWCksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsbi5SdW5zVGFibGVDb2x1bW4uRVhQRVJJTUVOVF9OQU1FKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIixuLlJ1bnNUYWJsZUNvbHVtbi5SVU5fTkFNRSksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsbi5SdW5zVGFibGVDb2x1bW4uUlVOX0NPTE9SKX19ZnVuY3Rpb24gczQodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiw1MCksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoKS5pdGVtO0RjKDEpLHd1KG4uaHBhcmFtcy5nZXQodC5uYW1lKSl9fWZ1bmN0aW9uIGw0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsNTApLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKCkuaXRlbTtEYygxKSx3dShuLm1ldHJpY3MuZ2V0KHQudGFnKSl9fWZ1bmN0aW9uIGM0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw0MiksSG0oMSxyNCw2LDgsInNwYW4iLDQzKSxIbSgyLHM0LDIsMSwic3BhbiIsNDQpLEhtKDMsbDQsMiwxLCJzcGFuIiw0NCksTWYoKSksMiZ0KXtjb25zdCB0PWUuaXRlbSxuPXpmKCk7eW0oImRhdGEtaWQiLHQucnVuLmlkKSxEYygxKSxiZigibmdGb3JPZiIsbi5jb2x1bW5zKSxEYygxKSxiZigibmdGb3JPZiIsbi5ocGFyYW1Db2x1bW5zKSxEYygxKSxiZigibmdGb3JPZiIsbi5tZXRyaWNDb2x1bW5zKX19Y2xhc3MgZDQgZXh0ZW5kcyBYMHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5pdGVtc1BlclBhZ2VMYWJlbD0iU2hvdyBydW5zOiJ9fWQ0Lsm1ZmFjPShmdW5jdGlvbigpe2xldCB0O3JldHVybiBmdW5jdGlvbiBlKG4pe3JldHVybih0fHwodD1VYShkNCkpKShufHxkNCl9fSkoKSxkNC7JtXByb3Y9U24oe3Rva2VuOmQ0LGZhY3Rvcnk6ZDQuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGQ0LFt7dHlwZTpVbX1dLG51bGwsbnVsbCk7Y2xhc3MgcDR7Y29uc3RydWN0b3IoKXt0aGlzLmRhdGFTb3VyY2U9bmV3IEQzLHRoaXMuRG9tYWluVHlwZT1rVCx0aGlzLlJ1bnNUYWJsZUNvbHVtbj14MCx0aGlzLlNvcnRUeXBlPUZ6LHRoaXMub25SZWdleEZpbHRlckNoYW5nZT1uZXcgU3ksdGhpcy5vblNlbGVjdGlvblRvZ2dsZT1uZXcgU3ksdGhpcy5vblBhZ2VTZWxlY3Rpb25Ub2dnbGU9bmV3IFN5LHRoaXMub25QYWdpbmF0aW9uQ2hhbmdlPW5ldyBTeSx0aGlzLm9uU29ydENoYW5nZT1uZXcgU3ksdGhpcy5vblJ1bkNvbG9yQ2hhbmdlPW5ldyBTeSx0aGlzLm9uSHBhcmFtRGlzY3JldGVGaWx0ZXJDaGFuZ2VkPW5ldyBTeSx0aGlzLm9uSHBhcmFtSW50ZXJ2YWxGaWx0ZXJDaGFuZ2VkPW5ldyBTeSx0aGlzLm9uTWV0cmljRmlsdGVyQ2hhbmdlZD1uZXcgU3l9bmdPbkNoYW5nZXMoKXt0aGlzLmRhdGFTb3VyY2UuZGF0YT10aGlzLnBhZ2VJdGVtc31nZXRIcGFyYW1Db2x1bW5JZCh0KXtyZXR1cm5gaDoke3QubmFtZX1gfWdldE1ldHJpY0NvbHVtbklkKHQpe3JldHVybmBtOiR7dC50YWd9YH1nZXRDb2x1bW5JZHMoKXtyZXR1cm5bLi4udGhpcy5jb2x1bW5zLC4uLnRoaXMuaHBhcmFtQ29sdW1ucy5tYXAodGhpcy5nZXRIcGFyYW1Db2x1bW5JZCksLi4udGhpcy5tZXRyaWNDb2x1bW5zLm1hcCh0aGlzLmdldE1ldHJpY0NvbHVtbklkKV19YWxsUGFnZUl0ZW1zU2VsZWN0ZWQoKXtyZXR1cm4gQm9vbGVhbih0aGlzLnBhZ2VJdGVtcy5sZW5ndGgpJiZ0aGlzLnBhZ2VJdGVtcy5ldmVyeSgodD0+dC5zZWxlY3RlZCkpfXNvbWVQYWdlSXRlbXNTZWxlY3RlZCgpe3JldHVybiB0aGlzLnBhZ2VJdGVtcy5zb21lKCh0PT50LnNlbGVjdGVkKSl9aGFuZGxlUGFnZVRvZ2dsZSgpe3RoaXMub25QYWdlU2VsZWN0aW9uVG9nZ2xlLmVtaXQoe2l0ZW1zOnRoaXMucGFnZUl0ZW1zfSl9aGFuZGxlU29ydENoYW5nZSh0KXtsZXQgZTtzd2l0Y2godC5kaXJlY3Rpb24pe2Nhc2UiYXNjIjplPXZJLkFTQzticmVhaztjYXNlImRlc2MiOmU9dkkuREVTQzticmVhaztkZWZhdWx0OmU9dkkuVU5TRVR9dGhpcy5vblNvcnRDaGFuZ2UuZW1pdCh7a2V5OnQuYWN0aXZlLGRpcmVjdGlvbjplfSl9b25GaWx0ZXJLZXlVcCh0KXt0aGlzLm9uUmVnZXhGaWx0ZXJDaGFuZ2UuZW1pdCh0LnRhcmdldC52YWx1ZSl9dGFibGVUcmFja0J5KHQsZSl7cmV0dXJuIGUucnVuLmlkfWhhbmRsZUhwYXJhbUluY2x1ZGVVbmRlZmluZWRUb2dnbGVkKHQpe2NvbnN0e25hbWU6ZSxmaWx0ZXI6bn09dDtpZighbil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YXJpYW50IGVycm9yOiByZXF1aXJlIGZpbHRlciB0byBleGlzdCBmb3IgaXQgdG8gY2hhbmdlIik7bi50eXBlPT09a1QuRElTQ1JFVEU/dGhpcy5vbkhwYXJhbURpc2NyZXRlRmlsdGVyQ2hhbmdlZC5lbWl0KHtocGFyYW1OYW1lOmUsaW5jbHVkZVVuZGVmaW5lZDohbi5pbmNsdWRlVW5kZWZpbmVkLGZpbHRlclZhbHVlczpuLmZpbHRlclZhbHVlc30pOnRoaXMub25IcGFyYW1JbnRlcnZhbEZpbHRlckNoYW5nZWQuZW1pdCh7bmFtZTplLGluY2x1ZGVVbmRlZmluZWQ6IW4uaW5jbHVkZVVuZGVmaW5lZCxmaWx0ZXJMb3dlclZhbHVlOm4uZmlsdGVyTG93ZXJWYWx1ZSxmaWx0ZXJVcHBlclZhbHVlOm4uZmlsdGVyVXBwZXJWYWx1ZX0pfWhhbmRsZUhwYXJhbUludGVydmFsQ2hhbmdlZCh0LGUpe2NvbnN0e25hbWU6bixmaWx0ZXI6b309dDtpZighbyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YXJpYW50IGVycm9yOiByZXF1aXJlIGZpbHRlciB0byBleGlzdCBmb3IgaXQgdG8gY2hhbmdlIik7dGhpcy5vbkhwYXJhbUludGVydmFsRmlsdGVyQ2hhbmdlZC5lbWl0KHtuYW1lOm4saW5jbHVkZVVuZGVmaW5lZDpvLmluY2x1ZGVVbmRlZmluZWQsZmlsdGVyTG93ZXJWYWx1ZTplLmxvd2VyVmFsdWUsZmlsdGVyVXBwZXJWYWx1ZTplLnVwcGVyVmFsdWV9KX1oYW5kbGVIcGFyYW1EaXNjcmV0ZUNoYW5nZWQodCxlKXtjb25zdHtuYW1lOm4sZmlsdGVyOm99PXQ7aWYoIW8pdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFyaWFudCBlcnJvcjogcmVxdWlyZSBmaWx0ZXIgdG8gZXhpc3QgZm9yIGl0IHRvIGNoYW5nZSIpO2lmKG8udHlwZSE9PWtULkRJU0NSRVRFKXRocm93IG5ldyBSYW5nZUVycm9yKGBJbnZhcmlhbnQgZXJyb3I6IGV4cGVjdGVkIGRpc2NyZXRlIGRvbWFpbiBmb3IgJHtufWApO2NvbnN0IGk9bmV3IFNldChbLi4uby5maWx0ZXJWYWx1ZXNdKTtpLmhhcyhlKT9pLmRlbGV0ZShlKTppLmFkZChlKSx0aGlzLm9uSHBhcmFtRGlzY3JldGVGaWx0ZXJDaGFuZ2VkLmVtaXQoe2hwYXJhbU5hbWU6bixpbmNsdWRlVW5kZWZpbmVkOm8uaW5jbHVkZVVuZGVmaW5lZCxmaWx0ZXJWYWx1ZXM6Wy4uLmldfSl9aGFuZGxlTWV0cmljSW5jbHVkZVVuZGVmaW5lZENoYW5nZWQodCl7aWYoIXQuZmlsdGVyKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhcmlhbnQgZXJyb3I6IHJlcXVpcmUgZmlsdGVyIHRvIGV4aXN0IGZvciBpdCB0byBjaGFuZ2UiKTt0aGlzLm9uTWV0cmljRmlsdGVyQ2hhbmdlZC5lbWl0KHtuYW1lOnQudGFnLGluY2x1ZGVVbmRlZmluZWQ6IXQuZmlsdGVyLmluY2x1ZGVVbmRlZmluZWQsZmlsdGVyTG93ZXJWYWx1ZTp0LmZpbHRlci5maWx0ZXJMb3dlclZhbHVlLGZpbHRlclVwcGVyVmFsdWU6dC5maWx0ZXIuZmlsdGVyVXBwZXJWYWx1ZX0pfWhhbmRsZU1ldHJpY0ZpbHRlckNoYW5nZWQodCxlKXtpZighdC5maWx0ZXIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFyaWFudCBlcnJvcjogcmVxdWlyZSBmaWx0ZXIgdG8gZXhpc3QgZm9yIGl0IHRvIGNoYW5nZSIpO3RoaXMub25NZXRyaWNGaWx0ZXJDaGFuZ2VkLmVtaXQoe25hbWU6dC50YWcsaW5jbHVkZVVuZGVmaW5lZDp0LmZpbHRlci5pbmNsdWRlVW5kZWZpbmVkLGZpbHRlckxvd2VyVmFsdWU6ZS5sb3dlclZhbHVlLGZpbHRlclVwcGVyVmFsdWU6ZS51cHBlclZhbHVlfSl9dHJhY2tCeUhwYXJhbUNvbHVtbih0KXtyZXR1cm4gdC5uYW1lfXRyYWNrQnlNZXRyaWNDb2x1bW4odCl7cmV0dXJuIHQudGFnfX1wNC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cDQpfSxwNC7JtWNtcD1zbyh7dHlwZTpwNCxzZWxlY3RvcnM6W1sicnVucy10YWJsZS1jb21wb25lbnQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihWeShrNSw3LEtoKSxWeShlMSw3KSxWeShyMSw3KSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5maWx0ZXI9dC5maXJzdCksQnkodD1VeSgpKSYmKG4ucGFnaW5hdG9yPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLnNvcnQ9dC5maXJzdCl9fSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgiZmxleC1sYXlvdXQiLG4udXNlRmxleGlibGVMYXlvdXQpfSxpbnB1dHM6e2V4cGVyaW1lbnRJZHM6ImV4cGVyaW1lbnRJZHMiLHNob3dFeHBlcmltZW50TmFtZToic2hvd0V4cGVyaW1lbnROYW1lIixjb2x1bW5zOiJjb2x1bW5zIixocGFyYW1Db2x1bW5zOiJocGFyYW1Db2x1bW5zIixtZXRyaWNDb2x1bW5zOiJtZXRyaWNDb2x1bW5zIixhbGxJdGVtc0xlbmd0aDoiYWxsSXRlbXNMZW5ndGgiLGZpbHRlcmVkSXRlbXNMZW5ndGg6ImZpbHRlcmVkSXRlbXNMZW5ndGgiLHVzZUZsZXhpYmxlTGF5b3V0OiJ1c2VGbGV4aWJsZUxheW91dCIsdXNlUGFnaW5hdGlvbjoidXNlUGFnaW5hdGlvbiIsc2hvd0dyb3VwQ29udHJvbDoic2hvd0dyb3VwQ29udHJvbCIscGFnZUl0ZW1zOiJwYWdlSXRlbXMiLGxvYWRpbmc6ImxvYWRpbmciLG51bVNlbGVjdGVkSXRlbXM6Im51bVNlbGVjdGVkSXRlbXMiLHNvcnRPcHRpb246InNvcnRPcHRpb24iLHBhZ2luYXRpb25PcHRpb246InBhZ2luYXRpb25PcHRpb24iLHJlZ2V4RmlsdGVyOiJyZWdleEZpbHRlciJ9LG91dHB1dHM6e29uUmVnZXhGaWx0ZXJDaGFuZ2U6Im9uUmVnZXhGaWx0ZXJDaGFuZ2UiLG9uU2VsZWN0aW9uVG9nZ2xlOiJvblNlbGVjdGlvblRvZ2dsZSIsb25QYWdlU2VsZWN0aW9uVG9nZ2xlOiJvblBhZ2VTZWxlY3Rpb25Ub2dnbGUiLG9uUGFnaW5hdGlvbkNoYW5nZToib25QYWdpbmF0aW9uQ2hhbmdlIixvblNvcnRDaGFuZ2U6Im9uU29ydENoYW5nZSIsb25SdW5Db2xvckNoYW5nZToib25SdW5Db2xvckNoYW5nZSIsb25IcGFyYW1EaXNjcmV0ZUZpbHRlckNoYW5nZWQ6Im9uSHBhcmFtRGlzY3JldGVGaWx0ZXJDaGFuZ2VkIixvbkhwYXJhbUludGVydmFsRmlsdGVyQ2hhbmdlZDoib25IcGFyYW1JbnRlcnZhbEZpbHRlckNoYW5nZWQiLG9uTWV0cmljRmlsdGVyQ2hhbmdlZDoib25NZXRyaWNGaWx0ZXJDaGFuZ2VkIn0sZmVhdHVyZXM6W2poKFt7cHJvdmlkZTpYMCx1c2VDbGFzczpkNH1dKSxxb10sZGVjbHM6MTUsdmFyczo4LGNvbnN0czpbWzEsImZpbHRlci1yb3ciXSxbInBsYWNlaG9sZGVyIiwiRmlsdGVyIHJ1bnMgKHJlZ2V4KSIsMSwicnVuLWZpbHRlciIsMywidmFsdWUiLCJrZXl1cCJdLFsxLCJ0YWJsZS1jb250YWluZXIiXSxbInJvbGUiLCJ0YWJsZSJdLFs0LCJuZ1RlbXBsYXRlT3V0bGV0Il0sWyJyb2xlIiwicm93Z3JvdXAiLDEsInJvd3MiXSxbNCwibmdGb3IiLCJuZ0Zvck9mIiwibmdGb3JUcmFja0J5Il0sWyJjbGFzcyIsImxvYWRpbmciLDQsIm5nSWYiXSxbImNsYXNzIiwibm8tcnVucyIsNCwibmdJZiJdLFsic2hvd0ZpcnN0TGFzdEJ1dHRvbnMiLCIiLDMsInBhZ2VTaXplT3B0aW9ucyIsInBhZ2VJbmRleCIsInBhZ2VTaXplIiwibGVuZ3RoIiwicGFnZSIsNCwibmdJZiJdLFsiaGVhZGVyIiwiIl0sWyJyb3ciLCIiXSxbNCwibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0Il0sWzEsImxvYWRpbmciXSxbIm1vZGUiLCJpbmRldGVybWluYXRlIiwiZGlhbWV0ZXIiLCIyOCJdLFsxLCJuby1ydW5zIl0sWyJzaG93Rmlyc3RMYXN0QnV0dG9ucyIsIiIsMywicGFnZVNpemVPcHRpb25zIiwicGFnZUluZGV4IiwicGFnZVNpemUiLCJsZW5ndGgiLCJwYWdlIl0sWyJyb2xlIiwicm93Z3JvdXAiLDEsImhlYWRlciJdLFsibWF0U29ydCIsIiIsInJvbGUiLCJyb3ciLDMsIm1hdFNvcnRBY3RpdmUiLCJtYXRTb3J0Q2hhbmdlIl0sWyJyb2xlIiwiY29sdW1uaGVhZGVyIiwzLCJuZ0NsYXNzIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbInJvbGUiLCJjb2x1bW5oZWFkZXIiLCJjbGFzcyIsImNvbHVtbiIsMywibWF0LXNvcnQtaGVhZGVyIiw0LCJuZ0ZvciIsIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiXSxbInJvbGUiLCJjb2x1bW5oZWFkZXIiLDMsIm5nQ2xhc3MiXSxbMywibmdTd2l0Y2giXSxbMywiY2hlY2tlZCIsImluZGV0ZXJtaW5hdGUiLCJjaGFuZ2UiLDQsIm5nU3dpdGNoQ2FzZSJdLFszLCJtYXQtc29ydC1oZWFkZXIiLDQsIm5nU3dpdGNoQ2FzZSJdLFs0LCJuZ1N3aXRjaENhc2UiXSxbMywiY2hlY2tlZCIsImluZGV0ZXJtaW5hdGUiLCJjaGFuZ2UiXSxbMywibWF0LXNvcnQtaGVhZGVyIl0sWzMsImV4cGVyaW1lbnRJZHMiLDQsIm5nSWYiXSxbMywiZXhwZXJpbWVudElkcyJdLFsicm9sZSIsImNvbHVtbmhlYWRlciIsMSwiY29sdW1uIiwzLCJtYXQtc29ydC1oZWFkZXIiXSxbMSwibmFtZSJdLFs0LCJuZ0lmIl0sWyJtYXQtaWNvbi1idXR0b24iLCIiLDMsIm1hdE1lbnVUcmlnZ2VyRm9yIiwiY2xpY2siXSxbInN2Z0ljb24iLCJmaWx0ZXJfYWx0XzI0cHgiXSxbImZpbHRlck1lbnUiLCJtYXRNZW51Il0sWyJtYXQtbWVudS1pdGVtIiwiIiwicm9sZSIsIm1lbnVpdGVtY2hlY2tib3giLCJkaXNhYmxlUmlwcGxlIiwiIiwxLCJmaWx0ZXItbWVudS1jaGVja2JveC1yb3ciLDMsImNsaWNrIl0sWzMsImNoZWNrZWQiLCJjaGFuZ2UiXSxbImRpc2FibGVSaXBwbGUiLCIiLCJtYXQtbWVudS1pdGVtIiwiIiwxLCJyYW5nZS1pbnB1dC1jb250YWluZXIiLDMsImNsaWNrIl0sWzMsIm1pbiIsIm1heCIsImxvd2VyVmFsdWUiLCJ1cHBlclZhbHVlIiwidmFsdWUiXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJjbGFzcyIsImZpbHRlci1tZW51LWNoZWNrYm94LXJvdyIsInJvbGUiLCJtZW51aXRlbWNoZWNrYm94IiwzLCJjbGljayIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWyJtYXQtbWVudS1pdGVtIiwiIiwicm9sZSIsIm1lbnVpdGVtY2hlY2tib3giLDEsImZpbHRlci1tZW51LWNoZWNrYm94LXJvdyIsMywiY2xpY2siXSxbInJvbGUiLCJyb3ciXSxbInJvbGUiLCJjZWxsIiwzLCJuZ0NsYXNzIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbInJvbGUiLCJjZWxsIiwiY2xhc3MiLCJjb2x1bW4iLDQsIm5nRm9yIiwibmdGb3JPZiJdLFsicm9sZSIsImNlbGwiLDMsIm5nQ2xhc3MiXSxbMywiYWxpYXMiLDQsIm5nU3dpdGNoQ2FzZSJdLFsiY2xhc3MiLCJuYW1lIiw0LCJuZ1N3aXRjaENhc2UiXSxbMywiYWxpYXMiXSxbMywibmdDbGFzcyIsImNvbG9yUGlja2VyIiwiY3BEaWFsb2dEaXNwbGF5IiwiY3BQb3NpdGlvbk9mZnNldCIsImNwVXNlUm9vdFZpZXdDb250YWluZXIiLCJjcE91dHB1dEZvcm1hdCIsImNvbG9yUGlja2VyQ2hhbmdlIl0sWyJyb2xlIiwiY2VsbCIsMSwiY29sdW1uIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihDZigwLCJkaXYiLDApLENmKDEsInRiLWZpbHRlci1pbnB1dCIsMSksUmYoImtleXVwIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkZpbHRlcktleVVwKGUpfSkpLE1mKCksTWYoKSxDZigyLCJkaXYiLDIpLENmKDMsImRpdiIsMyksSG0oNCxTNSwxLDAsIm5nLWNvbnRhaW5lciIsNCksQ2YoNSwiZGl2Iiw1KSxIbSg2LEU1LDIsNCwibmctY29udGFpbmVyIiw2KSxNZigpLE1mKCksSG0oNyxBNSwyLDAsImRpdiIsNyksSG0oOCxUNSwyLDAsImRpdiIsOCksSG0oOSxONSw2LDEsImRpdiIsOCksTWYoKSxIbSgxMCxJNSwxLDUsIm1hdC1wYWdpbmF0b3IiLDkpLEhtKDExLHQ0LDUsNiwibmctdGVtcGxhdGUiLG51bGwsMTAscXkpLEhtKDEzLGM0LDQsNCwibmctdGVtcGxhdGUiLG51bGwsMTEscXkpKSwyJmUpe2NvbnN0IHQ9Rm0oMTIpO0RjKDEpLExmKCJ2YWx1ZSIsbi5yZWdleEZpbHRlciksRGMoMyksYmYoIm5nVGVtcGxhdGVPdXRsZXQiLHQpLERjKDIpLGJmKCJuZ0Zvck9mIixuLnBhZ2VJdGVtcykoIm5nRm9yVHJhY2tCeSIsbi50YWJsZVRyYWNrQnkpLERjKDEpLGJmKCJuZ0lmIixuLmxvYWRpbmcpLERjKDEpLGJmKCJuZ0lmIiwhbi5sb2FkaW5nJiYwPT09bi5hbGxJdGVtc0xlbmd0aCksRGMoMSksYmYoIm5nSWYiLCFuLmxvYWRpbmcmJm4uYWxsSXRlbXNMZW5ndGg+MCYmMD09PW4uZmlsdGVyZWRJdGVtc0xlbmd0aCksRGMoMSksYmYoIm5nSWYiLG4udXNlUGFnaW5hdGlvbil9fSxkaXJlY3RpdmVzOltaMyxJdix4dixQdixhMixlMSxyMSxDdixEdixSdixiWixmMSxTMixOTCxxcSxNcSxqcSxIcSxFMixIMixQNV0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZvbnQtc2l6ZToxM3B4O292ZXJmbG93OmhpZGRlbn0uZmlsdGVyLXJvd1tfbmdjb250ZW50LSVDT01QJV17ZmxleDpub25lfS50YWJsZS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2NvbnRhaW46bGF5b3V0IHBhaW50O2ZsZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlO292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmF1dG87d2lsbC1jaGFuZ2U6dHJhbnNmb3JtLHNjcm9sbC1wb3NpdGlvbn0uZmxleC1sYXlvdXRbX25naG9zdC0lQ09NUCVdICAgLm5hbWVbX25nY29udGVudC0lQ09NUCVde3dvcmQtYnJlYWs6YnJlYWstd29yZDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LmZsZXgtbGF5b3V0W19uZ2hvc3QtJUNPTVAlXSAgIG1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVde2JvcmRlci10b3A6MXB4IHNvbGlkICNlYmViZWI7cGFkZGluZy1ib3R0b206MTJweH1ib2R5LmRhcmstbW9kZSAgIC5mbGV4LWxheW91dFtfbmdob3N0LSVDT01QJV0gICBtYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItdG9wOjFweCBzb2xpZCAjNTU1fVtyb2xlPXRhYmxlXVtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTp0YWJsZTt3aWR0aDoxMDAlfVtyb2xlPXRhYmxlXVtfbmdjb250ZW50LSVDT01QJV0gICAuaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXB9W3JvbGU9dGFibGVdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgW3JvbGU9Y29sdW1uaGVhZGVyXVtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZmO3Bvc2l0aW9uOnN0aWNreTt0b3A6MDt6LWluZGV4OjF9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgW3JvbGU9dGFibGVdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgW3JvbGU9Y29sdW1uaGVhZGVyXVtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIFtyb2xlPXRhYmxlXVtfbmdjb250ZW50LSVDT01QJV0gICAuaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIFtyb2xlPWNvbHVtbmhlYWRlcl1bX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6IzMwMzAzMH1bcm9sZT10YWJsZV1bX25nY29udGVudC0lQ09NUCVdICAgW3JvbGU9cm93XVtfbmdjb250ZW50LSVDT01QJV17Y29udGFpbjpzdHJpY3Q7ZGlzcGxheTp0YWJsZS1yb3c7aGVpZ2h0OjQzcHh9W3JvbGU9dGFibGVdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIFtyb2xlPXJvd11bX25nY29udGVudC0lQ09NUCVdICAgLmNvbHVtbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtkaXNwbGF5OnRhYmxlLWNlbGw7cGFkZGluZzo1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIFtyb2xlPXRhYmxlXVtfbmdjb250ZW50LSVDT01QJV0gICBbcm9sZT1yb3ddW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jb2x1bW5bX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICBbcm9sZT10YWJsZV1bX25nY29udGVudC0lQ09NUCVdICAgW3JvbGU9cm93XVtfbmdjb250ZW50LSVDT01QJV0gICAuY29sdW1uW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNTU1fVtyb2xlPXRhYmxlXVtfbmdjb250ZW50LSVDT01QJV0gICBbcm9sZT1yb3ddW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jb2x1bW5bX25nY29udGVudC0lQ09NUCVdOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDoyNHB4fVtyb2xlPXRhYmxlXVtfbmdjb250ZW50LSVDT01QJV0gICBbcm9sZT1yb3ddW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jb2x1bW5bX25nY29udGVudC0lQ09NUCVdOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDoyNHB4fVtyb2xlPXJvd2dyb3VwXVtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTp0YWJsZS1yb3ctZ3JvdXB9W3JvbGU9cm93Z3JvdXBdLmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTp0YWJsZS1oZWFkZXItZ3JvdXB9LmxvYWRpbmdbX25nY29udGVudC0lQ09NUCVdLCAubm8tcnVuc1tfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlcjowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7ZGlzcGxheTpmbGV4O2hlaWdodDo0OHB4O3BhZGRpbmc6MCAyNHB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5sb2FkaW5nW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmxvYWRpbmdbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLm5vLXJ1bnNbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAubm8tcnVuc1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzU1NX0ubG9hZGluZ1tfbmdjb250ZW50LSVDT01QJV17anVzdGlmeS1jb250ZW50OmNlbnRlcn0uc2VsZWN0LWFsbFtfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MTJweDtwYWRkaW5nLXRvcDoxMnB4fS5zZWxlY3QtYWxsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdLCAuc2VsZWN0LWFsbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNjt0ZXh0LWFsaWduOmxlZnR9LnNlbGVjdC1hbGwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICBidXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgNHB4fS5maWx0ZXItcm93W19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDE2cHggMCAyMXB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5maWx0ZXItcm93W19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmZpbHRlci1yb3dbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9LmZpbHRlci1yb3dbX25nY29udGVudC0lQ09NUCVdICAgdGItZmlsdGVyLWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4LWdyb3c6MX0udGItY29sdW1uLWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXSwgLnRiLWNvbHVtbi1ydW5fY29sb3JbX25nY29udGVudC0lQ09NUCVde3dpZHRoOjIwcHh9LnRiLWNvbHVtbi1ydW5fY29sb3JbX25nY29udGVudC0lQ09NUCVde3RleHQtYWxpZ246Y2VudGVyfS5ydW4tY29sb3Itc3dhdGNoW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItcmFkaXVzOjEwMCU7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7b3V0bGluZTpub25lfS5ydW4tY29sb3Itc3dhdGNoLm5vLWNvbG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItY29sb3I6I2M2Y2FkMTtib3JkZXItd2lkdGg6MnB4fS5yYW5nZS1pbnB1dC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDphdXRvfVtfbmdob3N0LSVDT01QJV0gICAgIG1hdC1wYWdpbmF0b3IgbWF0LWZvcm0tZmllbGR7bWFyZ2luOjB9LmZpbHRlci1tZW51LWNoZWNrYm94LXJvd1tfbmdjb250ZW50LSVDT01QJV0gICBtYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVdICAgICBsYWJlbHtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7YWxpZ24taXRlbXM6Y2VudGVyfS5maWx0ZXItbWVudS1jaGVja2JveC1yb3dbX25nY29udGVudC0lQ09NUCVdICAgbWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgbGFiZWwgLm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXJ7bWFyZ2luLWxlZnQ6MH0uZmlsdGVyLW1lbnUtY2hlY2tib3gtcm93W19uZ2NvbnRlbnQtJUNPTVAlXSAgIG1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV0gICAgIGxhYmVsIC5tYXQtY2hlY2tib3gtbGFiZWx7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgbWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIG1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6IzMwMzAzMH0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocDQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoicnVucy10YWJsZS1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiJydW5zX3RhYmxlX2NvbXBvbmVudC5uZy5odG1sIixob3N0OnsiW2NsYXNzLmZsZXgtbGF5b3V0XSI6InVzZUZsZXhpYmxlTGF5b3V0In0sc3R5bGVVcmxzOlsicnVuc190YWJsZV9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaCxwcm92aWRlcnM6W3twcm92aWRlOlgwLHVzZUNsYXNzOmQ0fV19XX1dLG51bGwse2V4cGVyaW1lbnRJZHM6W3t0eXBlOlJffV0sc2hvd0V4cGVyaW1lbnROYW1lOlt7dHlwZTpSX31dLGNvbHVtbnM6W3t0eXBlOlJffV0saHBhcmFtQ29sdW1uczpbe3R5cGU6Ul99XSxtZXRyaWNDb2x1bW5zOlt7dHlwZTpSX31dLGFsbEl0ZW1zTGVuZ3RoOlt7dHlwZTpSX31dLGZpbHRlcmVkSXRlbXNMZW5ndGg6W3t0eXBlOlJffV0sdXNlRmxleGlibGVMYXlvdXQ6W3t0eXBlOlJffV0sdXNlUGFnaW5hdGlvbjpbe3R5cGU6Ul99XSxzaG93R3JvdXBDb250cm9sOlt7dHlwZTpSX31dLHBhZ2VJdGVtczpbe3R5cGU6Ul99XSxsb2FkaW5nOlt7dHlwZTpSX31dLG51bVNlbGVjdGVkSXRlbXM6W3t0eXBlOlJffV0sc29ydE9wdGlvbjpbe3R5cGU6Ul99XSxwYWdpbmF0aW9uT3B0aW9uOlt7dHlwZTpSX31dLHJlZ2V4RmlsdGVyOlt7dHlwZTpSX31dLG9uUmVnZXhGaWx0ZXJDaGFuZ2U6W3t0eXBlOkVffV0sb25TZWxlY3Rpb25Ub2dnbGU6W3t0eXBlOkVffV0sb25QYWdlU2VsZWN0aW9uVG9nZ2xlOlt7dHlwZTpFX31dLG9uUGFnaW5hdGlvbkNoYW5nZTpbe3R5cGU6RV99XSxvblNvcnRDaGFuZ2U6W3t0eXBlOkVffV0sb25SdW5Db2xvckNoYW5nZTpbe3R5cGU6RV99XSxvbkhwYXJhbURpc2NyZXRlRmlsdGVyQ2hhbmdlZDpbe3R5cGU6RV99XSxvbkhwYXJhbUludGVydmFsRmlsdGVyQ2hhbmdlZDpbe3R5cGU6RV99XSxvbk1ldHJpY0ZpbHRlckNoYW5nZWQ6W3t0eXBlOkVffV0sZmlsdGVyOlt7dHlwZTphcixhcmdzOlsiZmlsdGVyIix7c3RhdGljOiEwLHJlYWQ6S2h9XX1dLHBhZ2luYXRvcjpbe3R5cGU6YXIsYXJnczpbZTEse3N0YXRpYzohMH1dfV0sc29ydDpbe3R5cGU6YXIsYXJnczpbcjEse3N0YXRpYzohMH1dfV19KTtjb25zdCBtND1iUyhLeiwodD0+dC5zdGF0ZT09PVVFLkxPQURJTkcpKTtmdW5jdGlvbiBmNCh0LGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UgRnouRVhQRVJJTUVOVF9OQU1FOnJldHVyblt0LmV4cGVyaW1lbnRBbGlhcyx0LnJ1bi5uYW1lLHQucnVuLmlkXTtjYXNlIEZ6LlJVTl9OQU1FOnJldHVyblt0LnJ1bi5uYW1lLHQuZXhwZXJpbWVudEFsaWFzLHQucnVuLmlkXTtjYXNlIEZ6LkhQQVJBTTpyZXR1cm5bdC5ocGFyYW1zLmdldChlLm5hbWUpLHQucnVuLm5hbWUsdC5leHBlcmltZW50QWxpYXMsdC5ydW4uaWRdO2Nhc2UgRnouTUVUUklDOnJldHVyblt0Lm1ldHJpY3MuZ2V0KGUudGFnKSx0LnJ1bi5uYW1lLHQuZXhwZXJpbWVudEFsaWFzLHQucnVuLmlkXTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgTm90IHlldCBpbXBsZW1lbnRlZDogJHtlfWApfX1mdW5jdGlvbiB1NCh0LGUpe2lmKHZvaWQgMD09PWUpcmV0dXJuIHQuaW5jbHVkZVVuZGVmaW5lZDtpZih0LnR5cGU9PT1rVC5ESVNDUkVURSl7cmV0dXJuIHQuZmlsdGVyVmFsdWVzLmluY2x1ZGVzKGUpfXJldHVybiB0LnR5cGU9PT1rVC5JTlRFUlZBTCYmKHQuZmlsdGVyTG93ZXJWYWx1ZTw9ZSYmZTw9dC5maWx0ZXJVcHBlclZhbHVlKX1jbGFzcyBnNHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5sb2FkaW5nJD1udWxsLHRoaXMuaHBhcmFtQ29sdW1ucyQ9enQoW10pLHRoaXMubWV0cmljQ29sdW1ucyQ9enQoW10pLHRoaXMudXNlRmxleGlibGVMYXlvdXQ9ITEsdGhpcy51c2VQYWdpbmF0aW9uPSExLHRoaXMuY29sdW1ucz1beDAuUlVOX05BTUVdLHRoaXMuc2hvd0hwYXJhbXNBbmRNZXRyaWNzPSExLHRoaXMuc29ydE9wdGlvbiQ9dGhpcy5zdG9yZS5zZWxlY3Qob0kpLHRoaXMucGFnaW5hdGlvbk9wdGlvbiQ9dGhpcy5zdG9yZS5zZWxlY3QobkkpLHRoaXMucmVnZXhGaWx0ZXIkPXRoaXMuc3RvcmUuc2VsZWN0KHRJKSx0aGlzLm5nVW5zdWJzY3JpYmU9bmV3IEJ9aXNFeHBlcmltZW50TmFtZVZpc2libGUoKXtyZXR1cm4gdGhpcy5jb2x1bW5zLnNvbWUoKHQ9PnQ9PT14MC5FWFBFUklNRU5UX05BTUUpKX1uZ09uSW5pdCgpe2NvbnN0IHQ9S3QodGhpcy5leHBlcmltZW50SWRzLm1hcCgodD0+dGhpcy5nZXRSdW5UYWJsZUl0ZW1zRm9yRXhwZXJpbWVudCh0KSkpKS5waXBlKFZ0KCh0PT5bXS5jb25jYXQoLi4udCkpKSk7dGhpcy5hbGxVbnNvcnRlZFJ1blRhYmxlSXRlbXMkPXQucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLEZlKDEpKSx0aGlzLmFsbEl0ZW1zTGVuZ3RoJD10aGlzLmFsbFVuc29ydGVkUnVuVGFibGVJdGVtcyQucGlwZShWdCgodD0+dC5sZW5ndGgpKSk7Y29uc3QgZT10aGlzLmdldEZpbHRlcmVkSXRlbXMkKHRoaXMuYWxsVW5zb3J0ZWRSdW5UYWJsZUl0ZW1zJCkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLEZlKDEpKTt0aGlzLmZpbHRlcmVkSXRlbXNMZW5ndGgkPWUucGlwZShWdCgodD0+dC5sZW5ndGgpKSksdGhpcy5wYWdlSXRlbXMkPXRoaXMuc29ydGVkQW5kU2xpY2VkSXRlbXMkKGUpLHRoaXMubnVtU2VsZWN0ZWRJdGVtcyQ9dGhpcy5hbGxVbnNvcnRlZFJ1blRhYmxlSXRlbXMkLnBpcGUoVnQoKHQ9PnQucmVkdWNlKCgodCxlKT0+dCtOdW1iZXIoZS5zZWxlY3RlZCkpLDApKSkpO2NvbnN0IG49dGhpcy5leHBlcmltZW50SWRzLm1hcCgodD0+dGhpcy5zdG9yZS5zZWxlY3QobTQse2V4cGVyaW1lbnRJZDp0fSkpKTtpZih0aGlzLmxvYWRpbmckPUt0KG4pLnBpcGUoVnQoKHQ9PnQuc29tZSgodD0+dCkpKSkpLHRoaXMuc2hvd0hwYXJhbXNBbmRNZXRyaWNzKXtjb25zdCB0PXRoaXMuc3RvcmUuc2VsZWN0KEQwLHtleHBlcmltZW50SWRzOnRoaXMuZXhwZXJpbWVudElkc30pO3RoaXMuaHBhcmFtQ29sdW1ucyQ9S3QoW3RoaXMuc3RvcmUuc2VsZWN0KHcwLHRoaXMuZXhwZXJpbWVudElkcyksdF0pLnBpcGUoVnQoKChbdCx7aHBhcmFtczplfV0pPT5lLm1hcCgoKHtuYW1lOmUsZGlzcGxheU5hbWU6bn0pPT57Y29uc3Qgbz10LmdldChlKTtpZighbyl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgSW52YXJpYW50IGVycm9yOiBhIGZpbHRlciBmb3IgJHtlfSBtdXN0IGV4aXN0IHdoZW4gdGhlIGhwYXJhbSBleGlzdHNgKTtyZXR1cm57ZGlzcGxheU5hbWU6bixuYW1lOmUsZmlsdGVyOm99fSkpKSkpLHRoaXMubWV0cmljQ29sdW1ucyQ9S3QoW3RoaXMuc3RvcmUuc2VsZWN0KFMwLHRoaXMuZXhwZXJpbWVudElkcyksdF0pLnBpcGUoVnQoKChbdCx7bWV0cmljczplfV0pPT5lLm1hcCgoKHt0YWc6ZSxkaXNwbGF5TmFtZTpufSk9Pntjb25zdCBvPXQuZ2V0KGUpO2lmKCFvKXRocm93IG5ldyBSYW5nZUVycm9yKGBJbnZhcmlhbnQgZXJyb3I6IGEgZmlsdGVyIGZvciAke2V9IG11c3QgZXhpc3Qgd2hlbiB0aGUgbWV0cmljIGV4aXN0c2ApO3JldHVybntkaXNwbGF5TmFtZTpuLHRhZzplLGZpbHRlcjpvfX0pKSkpKX1pZih0aGlzLmNvbHVtbnMuaW5jbHVkZXMoeDAuQ0hFQ0tCT1gpKXt0aGlzLnN0b3JlLnNlbGVjdChoUikucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLHdlKCgodCxlKT0+eEQodCxlKSkpLFZlKCgoKT0+dC5waXBlKHVlKCh0PT50Lmxlbmd0aD41MDApKSx2ZSgxKSkpKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuc3RvcmUuZGlzcGF0Y2goR0koe2xvY2FsaXplZE1lc3NhZ2U6IlRoZSBudW1iZXIgb2YgcnVucyBleGNlZWRzIDUwMC4gTmV3IHJ1bnMgYXJlIHVuc2VsZWN0ZWQgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuIn0pKX0pKX10aGlzLnNob3dHcm91cENvbnRyb2wkPXRoaXMuc3RvcmUuc2VsZWN0KGpEKS5waXBlKFZ0KCh0PT50JiZ0aGlzLmNvbHVtbnMuaW5jbHVkZXMoeDAuUlVOX0NPTE9SKSkpKSx0aGlzLnN0b3JlLmRpc3BhdGNoKHZUKHtleHBlcmltZW50SWRzOnRoaXMuZXhwZXJpbWVudElkc30pKX1uZ09uRGVzdHJveSgpe3RoaXMubmdVbnN1YnNjcmliZS5uZXh0KCksdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCl9Z2V0RmlsdGVyZWRJdGVtcyQodCl7cmV0dXJuIEt0KFt0LHRoaXMuc3RvcmUuc2VsZWN0KHRJKV0pLnBpcGUoVnQoKChbdCxlXSk9PntpZighZSlyZXR1cm4gdDtjb25zdCBuPXRoaXMuY29sdW1ucy5pbmNsdWRlcyh4MC5FWFBFUklNRU5UX05BTUUpO3JldHVybiB0LmZpbHRlcigodD0+eUkoe3J1bk5hbWU6dC5ydW4ubmFtZSxleHBlcmltZW50QWxpYXM6dC5leHBlcmltZW50QWxpYXN9LGUsbikpKX0pKSxWZSgodD0+dGhpcy5zaG93SHBhcmFtc0FuZE1ldHJpY3M/S3QodGhpcy5zdG9yZS5zZWxlY3QodzAsdGhpcy5leHBlcmltZW50SWRzKSx0aGlzLnN0b3JlLnNlbGVjdChTMCx0aGlzLmV4cGVyaW1lbnRJZHMpKS5waXBlKFZ0KCgoW2Usbl0pPT50LmZpbHRlcigoKHtocGFyYW1zOnQsbWV0cmljczpvfSk9PlsuLi5lLmVudHJpZXMoKV0uZXZlcnkoKChbZSxuXSk9PnU0KG4sdC5nZXQoZSkpKSkmJlsuLi5uLmVudHJpZXMoKV0uZXZlcnkoKChbdCxlXSk9PnU0KGUsby5nZXQodCkpKSkpKSkpKTp6dCh0KSkpKX1zb3J0ZWRBbmRTbGljZWRJdGVtcyQodCl7Y29uc3QgZT1LdChbdCx0aGlzLnN0b3JlLnNlbGVjdChvSSldKS5waXBlKFZ0KCgoW3QsZV0pPT4oZnVuY3Rpb24gbih0LGUpe2NvbnN0IG49ZS5rZXksbz1bLi4udF07cmV0dXJuIG51bGw9PT1ufHxlLmRpcmVjdGlvbj09PXZJLlVOU0VUfHxvLnNvcnQoKCh0LG8pPT57Y29uc3QgaT1mNCh0LG4pLGE9ZjQobyxuKTtpZihpLmxlbmd0aCE9PWEubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgSW52YXJpYW50IGVycm9yOiBhIGdpdmVuIHNvcnQgc2hvdWxkIHJlc3VsdCBpbiBzYW1lIG51bWJlciBvZiBpdGVtczogJHtlfWApO2ZvcihsZXQgdD0wO3Q8aS5sZW5ndGg7dCsrKXtjb25zdCBuPWlbdF0sbz1hW3RdO2lmKG4hPT1vKXtpZih2b2lkIDA9PT1ufHx2b2lkIDA9PT1vKXJldHVybiB2b2lkIDA9PT1vPy0xOjE7aWYodHlwZW9mIG4hPXR5cGVvZiBvKXRocm93IG5ldyBFcnJvcihgQ2Fubm90IGNvbXBhcmUgdmFsdWVzIG9mIGRpZmZlcmVudCB0eXBlczogJHt0eXBlb2Ygbn0gdnMuICR7dHlwZW9mIG99YCk7cmV0dXJuIG48bz09KGUuZGlyZWN0aW9uPT09dkkuQVNDKT8tMToxfX1yZXR1cm4gMH0pKSxvfSkodCxlKSkpKTtyZXR1cm4gS3QoW2UsdGhpcy5zdG9yZS5zZWxlY3QobkkpXSkucGlwZShWdCgoKFt0LGVdKT0+e2lmKCF0aGlzLnVzZVBhZ2luYXRpb24pcmV0dXJuIHQuc2xpY2UoKTtjb25zdHtwYWdlU2l6ZTpuLHBhZ2VJbmRleDpvfT1lO3JldHVybiB0LnNsaWNlKG8qbiwobysxKSpuKX0pKSxCZShbXSkpfWdldFJ1blRhYmxlSXRlbXNGb3JFeHBlcmltZW50KHQpe3JldHVybiBLdChbdGhpcy5zdG9yZS5zZWxlY3QocXose2V4cGVyaW1lbnRJZDp0fSksdGhpcy5zdG9yZS5zZWxlY3QocVQse2V4cGVyaW1lbnRJZDp0fSksdGhpcy5zdG9yZS5zZWxlY3QoX0kpLHRoaXMuc3RvcmUuc2VsZWN0KENJKSx0aGlzLnN0b3JlLnNlbGVjdChPUildKS5waXBlKFZ0KCgoW2UsbixvLGksYV0pPT5lLm1hcCgoZT0+e2NvbnN0IHI9bmV3IE1hcDsoZS5ocGFyYW1zfHxbXSkuZm9yRWFjaCgodD0+e3Iuc2V0KHQubmFtZSx0LnZhbHVlKX0pKTtjb25zdCBzPW5ldyBNYXA7cmV0dXJuKGUubWV0cmljc3x8W10pLmZvckVhY2goKHQ9PntzLnNldCh0LnRhZyx0LnZhbHVlKX0pKSx7cnVuOmUsZXhwZXJpbWVudE5hbWU6KG51bGw9PW4/dm9pZCAwOm4ubmFtZSl8fCIiLGV4cGVyaW1lbnRBbGlhczphW3RdLHNlbGVjdGVkOkJvb2xlYW4obyYmby5nZXQoZS5pZCkpLHJ1bkNvbG9yOmlbZS5pZF0saHBhcmFtczpyLG1ldHJpY3M6c319KSkpKSl9b25SdW5TZWxlY3Rpb25Ub2dnbGUodCl7dGhpcy5zdG9yZS5kaXNwYXRjaChoVCh7ZXhwZXJpbWVudElkczp0aGlzLmV4cGVyaW1lbnRJZHMscnVuSWQ6dC5ydW4uaWR9KSl9b25QYWdlU2VsZWN0aW9uVG9nZ2xlKHQpe2NvbnN0e2l0ZW1zOmV9PXQsbj1lLm1hcCgoKHtydW46dH0pPT50LmlkKSk7dGhpcy5zdG9yZS5kaXNwYXRjaChiVCh7ZXhwZXJpbWVudElkczp0aGlzLmV4cGVyaW1lbnRJZHMscnVuSWRzOm59KSl9b25QYWdpbmF0aW9uQ2hhbmdlKHQpe2lmKCF0aGlzLnVzZVBhZ2luYXRpb24pdGhyb3cgbmV3IEVycm9yKCJQYWdpbmF0aW9uIGV2ZW50cyBjYW5ub3QgYmUgZGlzcGF0Y2hlZCB3aGVuIHBhZ2luYXRpb24gaXMgZGlzYWJsZWQiKTtjb25zdHtwYWdlSW5kZXg6ZSxwYWdlU2l6ZTpufT10O3RoaXMuc3RvcmUuZGlzcGF0Y2goeVQoe3BhZ2VJbmRleDplLHBhZ2VTaXplOm59KSl9b25Tb3J0Q2hhbmdlKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goX1QodCkpfW9uUmVnZXhGaWx0ZXJDaGFuZ2UodCl7dGhpcy5zdG9yZS5kaXNwYXRjaChDVCh7cmVnZXhTdHJpbmc6dH0pKX1vblJ1bkNvbG9yQ2hhbmdlKHtydW5JZDp0LG5ld0NvbG9yOmV9KXt0aGlzLnN0b3JlLmRpc3BhdGNoKE1UKHtydW5JZDp0LG5ld0NvbG9yOmV9KSl9b25IcGFyYW1EaXNjcmV0ZUZpbHRlckNoYW5nZWQodCl7Y29uc3R7aHBhcmFtTmFtZTplLGZpbHRlclZhbHVlczpuLGluY2x1ZGVVbmRlZmluZWQ6b309dDt0aGlzLnN0b3JlLmRpc3BhdGNoKERUKHtleHBlcmltZW50SWRzOnRoaXMuZXhwZXJpbWVudElkcyxocGFyYW1OYW1lOmUsZmlsdGVyVmFsdWVzOm4saW5jbHVkZVVuZGVmaW5lZDpvfSkpfW9uSHBhcmFtSW50ZXJ2YWxGaWx0ZXJDaGFuZ2VkKHQpe2NvbnN0e25hbWU6ZSxmaWx0ZXJMb3dlclZhbHVlOm4sZmlsdGVyVXBwZXJWYWx1ZTpvLGluY2x1ZGVVbmRlZmluZWQ6aX09dDt0aGlzLnN0b3JlLmRpc3BhdGNoKFJUKHtleHBlcmltZW50SWRzOnRoaXMuZXhwZXJpbWVudElkcyxocGFyYW1OYW1lOmUsZmlsdGVyTG93ZXJWYWx1ZTpuLGZpbHRlclVwcGVyVmFsdWU6byxpbmNsdWRlVW5kZWZpbmVkOml9KSl9b25NZXRyaWNGaWx0ZXJDaGFuZ2VkKHQpe2NvbnN0e25hbWU6ZSxpbmNsdWRlVW5kZWZpbmVkOm4sZmlsdGVyTG93ZXJWYWx1ZTpvLGZpbHRlclVwcGVyVmFsdWU6aX09dDt0aGlzLnN0b3JlLmRpc3BhdGNoKEVUKHtleHBlcmltZW50SWRzOnRoaXMuZXhwZXJpbWVudElkcyxtZXRyaWNUYWc6ZSxpbmNsdWRlVW5kZWZpbmVkOm4sZmlsdGVyTG93ZXJWYWx1ZTpvLGZpbHRlclVwcGVyVmFsdWU6aX0pKX19ZzQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGc0KShnZihpUykpfSxnNC7JtWNtcD1zbyh7dHlwZTpnNCxzZWxlY3RvcnM6W1sicnVucy10YWJsZSJdXSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgiZmxleC1sYXlvdXQiLG4udXNlRmxleGlibGVMYXlvdXQpfSxpbnB1dHM6e3VzZUZsZXhpYmxlTGF5b3V0OiJ1c2VGbGV4aWJsZUxheW91dCIsdXNlUGFnaW5hdGlvbjoidXNlUGFnaW5hdGlvbiIsY29sdW1uczoiY29sdW1ucyIsZXhwZXJpbWVudElkczoiZXhwZXJpbWVudElkcyIsc2hvd0hwYXJhbXNBbmRNZXRyaWNzOiJzaG93SHBhcmFtc0FuZE1ldHJpY3MifSxkZWNsczoxMix2YXJzOjM4LGNvbnN0czpbWzMsImV4cGVyaW1lbnRJZHMiLCJ1c2VGbGV4aWJsZUxheW91dCIsIm51bVNlbGVjdGVkSXRlbXMiLCJjb2x1bW5zIiwiaHBhcmFtQ29sdW1ucyIsIm1ldHJpY0NvbHVtbnMiLCJzaG93RXhwZXJpbWVudE5hbWUiLCJwYWdlSXRlbXMiLCJmaWx0ZXJlZEl0ZW1zTGVuZ3RoIiwiYWxsSXRlbXNMZW5ndGgiLCJsb2FkaW5nIiwicGFnaW5hdGlvbk9wdGlvbiIsInJlZ2V4RmlsdGVyIiwic2hvd0dyb3VwQ29udHJvbCIsInNvcnRPcHRpb24iLCJ1c2VQYWdpbmF0aW9uIiwib25TZWxlY3Rpb25Ub2dnbGUiLCJvblBhZ2VTZWxlY3Rpb25Ub2dnbGUiLCJvblBhZ2luYXRpb25DaGFuZ2UiLCJvblJlZ2V4RmlsdGVyQ2hhbmdlIiwib25Tb3J0Q2hhbmdlIiwib25SdW5Db2xvckNoYW5nZSIsIm9uSHBhcmFtSW50ZXJ2YWxGaWx0ZXJDaGFuZ2VkIiwib25IcGFyYW1EaXNjcmV0ZUZpbHRlckNoYW5nZWQiLCJvbk1ldHJpY0ZpbHRlckNoYW5nZWQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsInJ1bnMtdGFibGUtY29tcG9uZW50IiwwKSxSZigib25TZWxlY3Rpb25Ub2dnbGUiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUnVuU2VsZWN0aW9uVG9nZ2xlKGUpfSkpKCJvblBhZ2VTZWxlY3Rpb25Ub2dnbGUiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUGFnZVNlbGVjdGlvblRvZ2dsZShlKX0pKSgib25QYWdpbmF0aW9uQ2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblBhZ2luYXRpb25DaGFuZ2UoZSl9KSkoIm9uUmVnZXhGaWx0ZXJDaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUmVnZXhGaWx0ZXJDaGFuZ2UoZSl9KSkoIm9uU29ydENoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25Tb3J0Q2hhbmdlKGUpfSkpKCJvblJ1bkNvbG9yQ2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblJ1bkNvbG9yQ2hhbmdlKGUpfSkpKCJvbkhwYXJhbUludGVydmFsRmlsdGVyQ2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25IcGFyYW1JbnRlcnZhbEZpbHRlckNoYW5nZWQoZSl9KSkoIm9uSHBhcmFtRGlzY3JldGVGaWx0ZXJDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkhwYXJhbURpc2NyZXRlRmlsdGVyQ2hhbmdlZChlKX0pKSgib25NZXRyaWNGaWx0ZXJDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbk1ldHJpY0ZpbHRlckNoYW5nZWQoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxfeSg1LCJhc3luYyIpLF95KDYsImFzeW5jIiksX3koNywiYXN5bmMiKSxfeSg4LCJhc3luYyIpLF95KDksImFzeW5jIiksX3koMTAsImFzeW5jIiksX3koMTEsImFzeW5jIiksTWYoKSksMiZlJiZiZigiZXhwZXJpbWVudElkcyIsbi5leHBlcmltZW50SWRzKSgidXNlRmxleGlibGVMYXlvdXQiLG4udXNlRmxleGlibGVMYXlvdXQpKCJudW1TZWxlY3RlZEl0ZW1zIixDeSgxLDE2LG4ubnVtU2VsZWN0ZWRJdGVtcyQpKSgiY29sdW1ucyIsbi5jb2x1bW5zKSgiaHBhcmFtQ29sdW1ucyIsQ3koMiwxOCxuLmhwYXJhbUNvbHVtbnMkKSkoIm1ldHJpY0NvbHVtbnMiLEN5KDMsMjAsbi5tZXRyaWNDb2x1bW5zJCkpKCJzaG93RXhwZXJpbWVudE5hbWUiLG4uaXNFeHBlcmltZW50TmFtZVZpc2libGUoKSkoInBhZ2VJdGVtcyIsQ3koNCwyMixuLnBhZ2VJdGVtcyQpKSgiZmlsdGVyZWRJdGVtc0xlbmd0aCIsQ3koNSwyNCxuLmZpbHRlcmVkSXRlbXNMZW5ndGgkKSkoImFsbEl0ZW1zTGVuZ3RoIixDeSg2LDI2LG4uYWxsSXRlbXNMZW5ndGgkKSkoImxvYWRpbmciLEN5KDcsMjgsbi5sb2FkaW5nJCkpKCJwYWdpbmF0aW9uT3B0aW9uIixDeSg4LDMwLG4ucGFnaW5hdGlvbk9wdGlvbiQpKSgicmVnZXhGaWx0ZXIiLEN5KDksMzIsbi5yZWdleEZpbHRlciQpKSgic2hvd0dyb3VwQ29udHJvbCIsQ3koMTAsMzQsbi5zaG93R3JvdXBDb250cm9sJCkpKCJzb3J0T3B0aW9uIixDeSgxMSwzNixuLnNvcnRPcHRpb24kKSkoInVzZVBhZ2luYXRpb24iLG4udXNlUGFnaW5hdGlvbil9LGRpcmVjdGl2ZXM6W3A0XSxwaXBlczpbVnZdLHN0eWxlczpbIi5mbGV4LWxheW91dFtfbmdob3N0LSVDT01QJV0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmxleC1sYXlvdXRbX25naG9zdC0lQ09NUCVdICAgID4gcnVucy10YWJsZS1jb21wb25lbnRbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9Il0sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGc0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InJ1bnMtdGFibGUiLHRlbXBsYXRlOidcbiAgICA8cnVucy10YWJsZS1jb21wb25lbnRcbiAgICAgIFtleHBlcmltZW50SWRzXT0iZXhwZXJpbWVudElkcyJcbiAgICAgIFt1c2VGbGV4aWJsZUxheW91dF09InVzZUZsZXhpYmxlTGF5b3V0IlxuICAgICAgW251bVNlbGVjdGVkSXRlbXNdPSJudW1TZWxlY3RlZEl0ZW1zJCB8IGFzeW5jIlxuICAgICAgW2NvbHVtbnNdPSJjb2x1bW5zIlxuICAgICAgW2hwYXJhbUNvbHVtbnNdPSJocGFyYW1Db2x1bW5zJCB8IGFzeW5jIlxuICAgICAgW21ldHJpY0NvbHVtbnNdPSJtZXRyaWNDb2x1bW5zJCB8IGFzeW5jIlxuICAgICAgW3Nob3dFeHBlcmltZW50TmFtZV09ImlzRXhwZXJpbWVudE5hbWVWaXNpYmxlKCkiXG4gICAgICBbcGFnZUl0ZW1zXT0icGFnZUl0ZW1zJCB8IGFzeW5jIlxuICAgICAgW2ZpbHRlcmVkSXRlbXNMZW5ndGhdPSJmaWx0ZXJlZEl0ZW1zTGVuZ3RoJCB8IGFzeW5jIlxuICAgICAgW2FsbEl0ZW1zTGVuZ3RoXT0iYWxsSXRlbXNMZW5ndGgkIHwgYXN5bmMiXG4gICAgICBbbG9hZGluZ109ImxvYWRpbmckIHwgYXN5bmMiXG4gICAgICBbcGFnaW5hdGlvbk9wdGlvbl09InBhZ2luYXRpb25PcHRpb24kIHwgYXN5bmMiXG4gICAgICBbcmVnZXhGaWx0ZXJdPSJyZWdleEZpbHRlciQgfCBhc3luYyJcbiAgICAgIFtzaG93R3JvdXBDb250cm9sXT0ic2hvd0dyb3VwQ29udHJvbCQgfCBhc3luYyJcbiAgICAgIFtzb3J0T3B0aW9uXT0ic29ydE9wdGlvbiQgfCBhc3luYyJcbiAgICAgIFt1c2VQYWdpbmF0aW9uXT0idXNlUGFnaW5hdGlvbiJcbiAgICAgIChvblNlbGVjdGlvblRvZ2dsZSk9Im9uUnVuU2VsZWN0aW9uVG9nZ2xlKCRldmVudCkiXG4gICAgICAob25QYWdlU2VsZWN0aW9uVG9nZ2xlKT0ib25QYWdlU2VsZWN0aW9uVG9nZ2xlKCRldmVudCkiXG4gICAgICAob25QYWdpbmF0aW9uQ2hhbmdlKT0ib25QYWdpbmF0aW9uQ2hhbmdlKCRldmVudCkiXG4gICAgICAob25SZWdleEZpbHRlckNoYW5nZSk9Im9uUmVnZXhGaWx0ZXJDaGFuZ2UoJGV2ZW50KSJcbiAgICAgIChvblNvcnRDaGFuZ2UpPSJvblNvcnRDaGFuZ2UoJGV2ZW50KSJcbiAgICAgIChvblJ1bkNvbG9yQ2hhbmdlKT0ib25SdW5Db2xvckNoYW5nZSgkZXZlbnQpIlxuICAgICAgKG9uSHBhcmFtSW50ZXJ2YWxGaWx0ZXJDaGFuZ2VkKT0ib25IcGFyYW1JbnRlcnZhbEZpbHRlckNoYW5nZWQoJGV2ZW50KSJcbiAgICAgIChvbkhwYXJhbURpc2NyZXRlRmlsdGVyQ2hhbmdlZCk9Im9uSHBhcmFtRGlzY3JldGVGaWx0ZXJDaGFuZ2VkKCRldmVudCkiXG4gICAgICAob25NZXRyaWNGaWx0ZXJDaGFuZ2VkKT0ib25NZXRyaWNGaWx0ZXJDaGFuZ2VkKCRldmVudCkiXG4gICAgPjwvcnVucy10YWJsZS1jb21wb25lbnQ+XG4gICcsaG9zdDp7IltjbGFzcy5mbGV4LWxheW91dF0iOiJ1c2VGbGV4aWJsZUxheW91dCJ9LHN0eWxlczpbIlxuICAgICAgOmhvc3QuZmxleC1sYXlvdXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuXG4gICAgICA6aG9zdC5mbGV4LWxheW91dCA+IHJ1bnMtdGFibGUtY29tcG9uZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSx7dXNlRmxleGlibGVMYXlvdXQ6W3t0eXBlOlJffV0sdXNlUGFnaW5hdGlvbjpbe3R5cGU6Ul99XSxjb2x1bW5zOlt7dHlwZTpSX31dLGV4cGVyaW1lbnRJZHM6W3t0eXBlOlJffV0sc2hvd0hwYXJhbXNBbmRNZXRyaWNzOlt7dHlwZTpSX31dfSk7Y2xhc3MgaDR7fWg0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxoNCl9LGg0Lsm1Y21wPXNvKHt0eXBlOmg0LHNlbGVjdG9yczpbWyJydW5zLXNlbGVjdG9yLWNvbXBvbmVudCJdXSxpbnB1dHM6e2V4cGVyaW1lbnRJZHM6ImV4cGVyaW1lbnRJZHMiLHNob3dIcGFyYW1zQW5kTWV0cmljczoic2hvd0hwYXJhbXNBbmRNZXRyaWNzIixjb2x1bW5zOiJjb2x1bW5zIn0sZGVjbHM6MSx2YXJzOjQsY29uc3RzOltbMywidXNlRmxleGlibGVMYXlvdXQiLCJjb2x1bW5zIiwiZXhwZXJpbWVudElkcyIsInNob3dIcGFyYW1zQW5kTWV0cmljcyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiZ2ZigwLCJydW5zLXRhYmxlIiwwKSwyJmUmJmJmKCJ1c2VGbGV4aWJsZUxheW91dCIsITApKCJjb2x1bW5zIixuLmNvbHVtbnMpKCJleHBlcmltZW50SWRzIixuLmV4cGVyaW1lbnRJZHMpKCJzaG93SHBhcmFtc0FuZE1ldHJpY3MiLG4uc2hvd0hwYXJhbXNBbmRNZXRyaWNzKX0sZGlyZWN0aXZlczpbZzRdLHN0eWxlczpbInJ1bnMtdGFibGVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfSJdLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihoNCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJydW5zLXNlbGVjdG9yLWNvbXBvbmVudCIsdGVtcGxhdGU6J1xuICAgIDxydW5zLXRhYmxlXG4gICAgICBbdXNlRmxleGlibGVMYXlvdXRdPSJ0cnVlIlxuICAgICAgW2NvbHVtbnNdPSJjb2x1bW5zIlxuICAgICAgW2V4cGVyaW1lbnRJZHNdPSJleHBlcmltZW50SWRzIlxuICAgICAgW3Nob3dIcGFyYW1zQW5kTWV0cmljc109InNob3dIcGFyYW1zQW5kTWV0cmljcyJcbiAgICA+PC9ydW5zLXRhYmxlPlxuICAnLHN0eWxlczpbIlxuICAgICAgcnVucy10YWJsZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtleHBlcmltZW50SWRzOlt7dHlwZTpSX31dLHNob3dIcGFyYW1zQW5kTWV0cmljczpbe3R5cGU6Ul99XSxjb2x1bW5zOlt7dHlwZTpSX31dfSk7Y2xhc3MgYjR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuZXhwZXJpbWVudElkcyQ9dGhpcy5zdG9yZS5zZWxlY3QoeFIpLnBpcGUoVnQoKHQ9Pm51bGwhPXQ/dDpbXSkpKSx0aGlzLmNvbHVtbnMkPXRoaXMuc3RvcmUuc2VsZWN0KHhSKS5waXBlKFZ0KCh0PT5beDAuQ0hFQ0tCT1gseDAuUlVOX05BTUUsdCYmdC5sZW5ndGg+MT94MC5FWFBFUklNRU5UX05BTUU6bnVsbCx4MC5SVU5fQ09MT1JdLmZpbHRlcigodD0+bnVsbCE9PXQpKSkpKX19YjQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGI0KShnZihpUykpfSxiNC7JtWNtcD1zbyh7dHlwZTpiNCxzZWxlY3RvcnM6W1sicnVucy1zZWxlY3RvciJdXSxpbnB1dHM6e3Nob3dIcGFyYW1zQW5kTWV0cmljczoic2hvd0hwYXJhbXNBbmRNZXRyaWNzIn0sZGVjbHM6Myx2YXJzOjcsY29uc3RzOltbMywiZXhwZXJpbWVudElkcyIsImNvbHVtbnMiLCJzaG93SHBhcmFtc0FuZE1ldHJpY3MiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsInJ1bnMtc2VsZWN0b3ItY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIikpLDImZSYmYmYoImV4cGVyaW1lbnRJZHMiLEN5KDEsMyxuLmV4cGVyaW1lbnRJZHMkKSkoImNvbHVtbnMiLEN5KDIsNSxuLmNvbHVtbnMkKSkoInNob3dIcGFyYW1zQW5kTWV0cmljcyIsbi5zaG93SHBhcmFtc0FuZE1ldHJpY3MpfSxkaXJlY3RpdmVzOltoNF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGI0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InJ1bnMtc2VsZWN0b3IiLHRlbXBsYXRlOidcbiAgICA8cnVucy1zZWxlY3Rvci1jb21wb25lbnRcbiAgICAgIFtleHBlcmltZW50SWRzXT0iZXhwZXJpbWVudElkcyQgfCBhc3luYyJcbiAgICAgIFtjb2x1bW5zXT0iY29sdW1ucyQgfCBhc3luYyJcbiAgICAgIFtzaG93SHBhcmFtc0FuZE1ldHJpY3NdPSJzaG93SHBhcmFtc0FuZE1ldHJpY3MiXG4gICAgPjwvcnVucy1zZWxlY3Rvci1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSx7c2hvd0hwYXJhbXNBbmRNZXRyaWNzOlt7dHlwZTpSX31dfSk7Y29uc3QgeTQ9bmV3IFdlYWtNYXA7Y2xhc3MgXzR7Y29uc3RydWN0b3IodCxlKXt0aGlzLnJvb3Q9dCx0aGlzLmJ1ZmZlcj1lLHRoaXMuZGVzdHJveWVkVGFyZ2V0cz1uZXcgV2Vha1NldH1pbml0aWFsaXplKHQpe3ZhciBlO2lmKHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIpcmV0dXJuO3RoaXMuaW50ZXJzZWN0aW9uQ2FsbGJhY2s9dDtjb25zdCBuPXt0aHJlc2hvbGQ6MCxyb290Om51bGwhPT0oZT10aGlzLnJvb3QpJiZ2b2lkIDAhPT1lP2U6bnVsbH07dGhpcy5idWZmZXImJihuLnJvb3RNYXJnaW49dGhpcy5idWZmZXIpLHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXI9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHRoaXMub25DYXJkSW50ZXJzZWN0aW9uLmJpbmQodGhpcyksbil9YWRkKHQpe3RoaXMuZW5zdXJlSW5pdGlhbGl6ZWQoKSYmdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlci5vYnNlcnZlKHQpfXdpbGxEZXN0cm95KHQpe3RoaXMuZW5zdXJlSW5pdGlhbGl6ZWQoKSYmdGhpcy5kZXN0cm95ZWRUYXJnZXRzLmFkZCh0KX1lbnN1cmVJbml0aWFsaXplZCgpe2lmKCF0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyKXRocm93IG5ldyBFcnJvcigiQ2FyZE9ic2VydmVyIG11c3QgYmUgaW5pdGlhbGl6ZWQgYmVmb3JlIHVzZSIpO3JldHVybiEwfW9uQ2FyZEludGVyc2VjdGlvbih0KXt0LnNvcnQoKCh0LGUpPT50LnRpbWUtZS50aW1lKSk7Y29uc3QgZT1uZXcgU2V0LG49bmV3IFNldDtmb3IoY29uc3R7aXNJbnRlcnNlY3Rpbmc6byx0YXJnZXQ6aX1vZiB0KW8/KGUuYWRkKGkpLG4uZGVsZXRlKGkpKTooZS5kZWxldGUoaSksbi5hZGQoaSkpLHRoaXMuZGVzdHJveWVkVGFyZ2V0cy5oYXMoaSkmJiFvJiYodGhpcy5kZXN0cm95ZWRUYXJnZXRzLmRlbGV0ZShpKSx0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyLnVub2JzZXJ2ZShpKSk7dGhpcy5pbnRlcnNlY3Rpb25DYWxsYmFjayhlLG4pfW9uQ2FyZEludGVyc2VjdGlvbkZvclRlc3QodCl7dGhpcy5vbkNhcmRJbnRlcnNlY3Rpb24odCl9fWNsYXNzIEM0e2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5ob3N0PXQsdGhpcy5zdG9yZT1lfW9uQ2FyZEludGVyc2VjdGlvbih0LGUpe2NvbnN0IG49Wy4uLnRdLm1hcCgodD0+e2NvbnN0IGU9eTQuZ2V0KHQpO2lmKCFlKXRocm93IG5ldyBFcnJvcigiQSBDYXJkT2JzZXJ2ZXIgZWxlbWVudCBtdXN0IGhhdmUgYW4gYXNzb2NpYXRlZCBlbGVtZW50IGlkIGFuZCBjYXJkIGlkLiIpO3JldHVybntlbGVtZW50SWQ6ZS5lbGVtZW50SWQsY2FyZElkOmUuY2FyZElkfX0pKSxvPVsuLi5lXS5tYXAoKHQ9Pntjb25zdCBlPXk0LmdldCh0KTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkEgQ2FyZE9ic2VydmVyIGVsZW1lbnQgbXVzdCBoYXZlIGFuIGFzc29jaWF0ZWQgZWxlbWVudCBpZCBhbmQgY2FyZCBpZC4iKTtyZXR1cm57ZWxlbWVudElkOmUuZWxlbWVudElkLGNhcmRJZDplLmNhcmRJZH19KSk7dGhpcy5zdG9yZS5kaXNwYXRjaChFQSh7ZW50ZXJlZENhcmRzOm4sZXhpdGVkQ2FyZHM6b30pKX1uZ09uSW5pdCgpe2NvbnN0IHQ9dGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQ7eTQuc2V0KHQse2VsZW1lbnRJZDooYjArKyxTeW1ib2woYjApKSxjYXJkSWQ6dGhpcy5jYXJkSWR9KSx0aGlzLmNhcmRPYnNlcnZlcnx8KHRoaXMuY2FyZE9ic2VydmVyPW5ldyBfNCksdGhpcy5jYXJkT2JzZXJ2ZXIuaW5pdGlhbGl6ZSh0aGlzLm9uQ2FyZEludGVyc2VjdGlvbi5iaW5kKHRoaXMpKSx0aGlzLmNhcmRPYnNlcnZlci5hZGQodCl9bmdPbkRlc3Ryb3koKXt0aGlzLmNhcmRPYnNlcnZlciYmdGhpcy5jYXJkT2JzZXJ2ZXIud2lsbERlc3Ryb3kodGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQpfWhvc3RGb3JUZXN0KCl7cmV0dXJuIHRoaXMuaG9zdH19ZnVuY3Rpb24gTTQodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiw3KX1mdW5jdGlvbiB2NCh0LGUpe2lmKDEmdCYmKENmKDAsIm1hdC1vcHRpb24iLDgpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdDtiZigidmFsdWUiLHQpLHltKCJ0aXRsZSIsdCksRGMoMSksd3UodCl9fWZ1bmN0aW9uIHg0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw5KSxDZigxLCJlbSIpLFB1KDIpLF95KDMsIm51bWJlciIpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksa3UoImFuZCAiLEN5KDMsMSx0LmNvbXBsZXRpb25zLmxlbmd0aC0yNSksIiBtb3JlIHRhZ3MgbWF0Y2hlZCIpfX1DNC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QzQpKGdmKEtoKSxnZihpUykpfSxDNC7JtWRpcj1obyh7dHlwZTpDNCxzZWxlY3RvcnM6W1siIiwiY2FyZExhenlMb2FkZXIiLCIiXV0saW5wdXRzOntjYXJkSWQ6WyJjYXJkTGF6eUxvYWRlciIsImNhcmRJZCJdLGNhcmRPYnNlcnZlcjoiY2FyZE9ic2VydmVyIn19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEM0LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltjYXJkTGF6eUxvYWRlcl0ifV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9LHt0eXBlOmlTfV19KSx7Y2FyZElkOlt7dHlwZTpSXyxhcmdzOlsiY2FyZExhenlMb2FkZXIiXX1dLGNhcmRPYnNlcnZlcjpbe3R5cGU6Ul99XX0pO2NsYXNzIE80e2NvbnN0cnVjdG9yKCl7dGhpcy5vblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2U9bmV3IFN5fW9uQ29tcGxldGlvbkFjY2VwdGVkKHQpe3RoaXMub25SZWdleEZpbHRlclZhbHVlQ2hhbmdlLmVtaXQoKGZ1bmN0aW9uIGUodCl7cmV0dXJuIHQucmVwbGFjZShrViwiXFwkJiIpfSkodCkpfX1PNC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TzQpfSxPNC7JtWNtcD1zbyh7dHlwZTpPNCxzZWxlY3RvcnM6W1sibWV0cmljcy10YWctZmlsdGVyLWNvbXBvbmVudCJdXSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgidmFsaWQiLG4uaXNSZWdleEZpbHRlclZhbGlkKX0saW5wdXRzOntyZWdleEZpbHRlclZhbHVlOiJyZWdleEZpbHRlclZhbHVlIixpc1JlZ2V4RmlsdGVyVmFsaWQ6ImlzUmVnZXhGaWx0ZXJWYWxpZCIsY29tcGxldGlvbnM6ImNvbXBsZXRpb25zIn0sb3V0cHV0czp7b25SZWdleEZpbHRlclZhbHVlQ2hhbmdlOiJvblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2UifSxkZWNsczo3LHZhcnM6NSxjb25zdHM6W1sxLCJ0YWctZmlsdGVyIl0sWyJwbGFjZWhvbGRlciIsIkZpbHRlciB0YWdzIChyZWdleCkiLDMsInZhbHVlIiwibWF0QXV0b2NvbXBsZXRlIiwiaW5wdXQiXSxbInN2Z0ljb24iLCJlcnJvcl8yNHB4IiwiY2xhc3MiLCJlcnJvci1pY29uIiwidGl0bGUiLCJJbnZhbGlkIHJlZ2V4IGZpbHRlci4gVGhlIHJlc3VsdCBtYXkgYmUgc3RhbGUuIiw0LCJuZ0lmIl0sWzEsInRhZy1vcHRpb25zIiwzLCJvcHRpb25TZWxlY3RlZCJdLFsiZmlsdGVyTWF0Y2hlcyIsIm1hdEF1dG9jb21wbGV0ZSJdLFsiY2xhc3MiLCJvcHRpb24iLDMsInZhbHVlIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbImNsYXNzIiwiYW5kLW1vcmUiLDQsIm5nSWYiXSxbInN2Z0ljb24iLCJlcnJvcl8yNHB4IiwidGl0bGUiLCJJbnZhbGlkIHJlZ2V4IGZpbHRlci4gVGhlIHJlc3VsdCBtYXkgYmUgc3RhbGUuIiwxLCJlcnJvci1pY29uIl0sWzEsIm9wdGlvbiIsMywidmFsdWUiXSxbMSwiYW5kLW1vcmUiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwidGItZmlsdGVyLWlucHV0IiwxKSxSZigiaW5wdXQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZS5lbWl0KGUudGFyZ2V0LnZhbHVlKX0pKSxNZigpLEhtKDIsTTQsMSwwLCJtYXQtaWNvbiIsMiksTWYoKSxDZigzLCJtYXQtYXV0b2NvbXBsZXRlIiwzLDQpLFJmKCJvcHRpb25TZWxlY3RlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25Db21wbGV0aW9uQWNjZXB0ZWQoZS5vcHRpb24udmFsdWUpfSkpLEhtKDUsdjQsMiwzLCJtYXQtb3B0aW9uIiw1KSxIbSg2LHg0LDQsMywiZGl2Iiw2KSxNZigpKSwyJmUpe2NvbnN0IHQ9Rm0oNCk7RGMoMSksYmYoInZhbHVlIixuLnJlZ2V4RmlsdGVyVmFsdWUpKCJtYXRBdXRvY29tcGxldGUiLHQpLERjKDEpLGJmKCJuZ0lmIiwhbi5pc1JlZ2V4RmlsdGVyVmFsaWQpLERjKDMpLGJmKCJuZ0Zvck9mIixudWxsPT1uLmNvbXBsZXRpb25zP251bGw6bi5jb21wbGV0aW9ucy5zbGljZSgwLDI1KSksRGMoMSksYmYoIm5nSWYiLChudWxsPT1uLmNvbXBsZXRpb25zP251bGw6bi5jb21wbGV0aW9ucy5sZW5ndGgpPjI1KX19LGRpcmVjdGl2ZXM6W1ozLFB2LEYzLHh2LE1xLFBMXSxwaXBlczpbJHZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS50YWctZmlsdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmV9dGItZmlsdGVyLWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4LWdyb3c6MX1bX25naG9zdC0lQ09NUCVde2NvbG9yOiMyMTIxMjF9Ym9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVde2NvbG9yOiNmZmZ9W19uZ2hvc3QtJUNPTVAlXTpub3QoLnZhbGlkKXtjb2xvcjojYzYyODI4fVtfbmdob3N0LSVDT01QJV06bm90KC52YWxpZCkgICAuZXJyb3ItaWNvbltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6I2M2MjgyODtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowfSAgLnRhZy1vcHRpb25zIC5vcHRpb24sICAgLnRhZy1vcHRpb25zIC5hbmQtbW9yZXstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjM7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjQ7cGFkZGluZzo4cHggMTZweH0gIC50YWctb3B0aW9ucyAuYW5kLW1vcmV7Y29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAgIC50YWctb3B0aW9ucyAuYW5kLW1vcmUsIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgICAgLnRhZy1vcHRpb25zIC5hbmQtbW9yZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTzQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy10YWctZmlsdGVyLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6ImZpbHRlcl9pbnB1dF9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiZmlsdGVyX2lucHV0X2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtyZWdleEZpbHRlclZhbHVlOlt7dHlwZTpSX31dLGlzUmVnZXhGaWx0ZXJWYWxpZDpbe3R5cGU6QV8sYXJnczpbImNsYXNzLnZhbGlkIl19LHt0eXBlOlJffV0sY29tcGxldGlvbnM6W3t0eXBlOlJffV0sb25SZWdleEZpbHRlclZhbHVlQ2hhbmdlOlt7dHlwZTpFX31dfSk7Y2xhc3MgUDR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMudGFnRmlsdGVyJD10aGlzLnN0b3JlLnNlbGVjdChQeiksdGhpcy5pc1RhZ0ZpbHRlclJlZ2V4VmFsaWQkPXRoaXMudGFnRmlsdGVyJC5waXBlKFZ0KCh0PT57dHJ5e3JldHVybiBuZXcgUmVnRXhwKHQpLCEwfWNhdGNoKHQpe3JldHVybiExfX0pKSksdGhpcy5jb21wbGV0aW9ucyQ9dGhpcy5zdG9yZS5zZWxlY3QoYXopLnBpcGUoX2UodGhpcy5zdG9yZS5zZWxlY3QoQXopKSxWdCgoKFt0LGVdKT0+dC5maWx0ZXIoKCh7cGx1Z2luOnR9KT0+IWUuc2l6ZXx8ZS5oYXModCkpKS5tYXAoKCh7dGFnOnR9KT0+dCkpKSksVnQoKHQ9PlsuLi5uZXcgU2V0KHQpXSkpLFZ0KCh0PT50LnNvcnQoWCQpKSksX2UodGhpcy5zdG9yZS5zZWxlY3QoUHopKSxWdCgoKFt0LGVdKT0+e3RyeXtyZXR1cm5bdCxuZXcgUmVnRXhwKGUsImkiKV19Y2F0Y2goZSl7cmV0dXJuW3QsbnVsbF19fSkpLHVlKCgoWyx0XSk9Pm51bGwhPT10KSksVnQoKChbdCxlXSk9PnQuZmlsdGVyKCh0PT5lLnRlc3QodCkpKSkpKX1vblRhZ0ZpbHRlckNoYW5nZSh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKFRBKHt0YWdGaWx0ZXI6dH0pKX19UDQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFA0KShnZihpUykpfSxQNC7JtWNtcD1zbyh7dHlwZTpQNCxzZWxlY3RvcnM6W1sibWV0cmljcy10YWctZmlsdGVyIl1dLGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsInJlZ2V4RmlsdGVyVmFsdWUiLCJpc1JlZ2V4RmlsdGVyVmFsaWQiLCJjb21wbGV0aW9ucyIsIm9uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWV0cmljcy10YWctZmlsdGVyLWNvbXBvbmVudCIsMCksUmYoIm9uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25UYWdGaWx0ZXJDaGFuZ2UoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksTWYoKSksMiZlJiZiZigicmVnZXhGaWx0ZXJWYWx1ZSIsQ3koMSwzLG4udGFnRmlsdGVyJCkpKCJpc1JlZ2V4RmlsdGVyVmFsaWQiLEN5KDIsNSxuLmlzVGFnRmlsdGVyUmVnZXhWYWxpZCQpKSgiY29tcGxldGlvbnMiLEN5KDMsNyxuLmNvbXBsZXRpb25zJCkpfSxkaXJlY3RpdmVzOltPNF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFA0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtdGFnLWZpbHRlciIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWNzLXRhZy1maWx0ZXItY29tcG9uZW50XG4gICAgICBbcmVnZXhGaWx0ZXJWYWx1ZV09InRhZ0ZpbHRlciQgfCBhc3luYyJcbiAgICAgIFtpc1JlZ2V4RmlsdGVyVmFsaWRdPSJpc1RhZ0ZpbHRlclJlZ2V4VmFsaWQkIHwgYXN5bmMiXG4gICAgICBbY29tcGxldGlvbnNdPSJjb21wbGV0aW9ucyQgfCBhc3luYyJcbiAgICAgIChvblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2UpPSJvblRhZ0ZpbHRlckNoYW5nZSgkZXZlbnQpIlxuICAgID48L21ldHJpY3MtdGFnLWZpbHRlci1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCB3ND1bImJ1dHRvbiJdLGs0PW5ldyBlcigiTUFUX0JVVFRPTl9UT0dHTEVfREVGQVVMVF9PUFRJT05TIiksUzQ9bmV3IGVyKCJNYXRCdXR0b25Ub2dnbGVHcm91cCIpLEQ0PXtwcm92aWRlOnhVLHVzZUV4aXN0aW5nOiRlKCgoKT0+QTQpKSxtdWx0aTohMH07bGV0IFI0PTA7Y2xhc3MgRTR7Y29uc3RydWN0b3IodCxlKXt0aGlzLnNvdXJjZT10LHRoaXMudmFsdWU9ZX19Y2xhc3MgQTR7Y29uc3RydWN0b3IodCxlKXt0aGlzLl9jaGFuZ2VEZXRlY3Rvcj10LHRoaXMuX3ZlcnRpY2FsPSExLHRoaXMuX211bHRpcGxlPSExLHRoaXMuX2Rpc2FibGVkPSExLHRoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm49KCk9Pnt9LHRoaXMuX29uVG91Y2hlZD0oKT0+e30sdGhpcy5fbmFtZT0ibWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtIitSNCsrLHRoaXMudmFsdWVDaGFuZ2U9bmV3IFN5LHRoaXMuY2hhbmdlPW5ldyBTeSx0aGlzLmFwcGVhcmFuY2U9ZSYmZS5hcHBlYXJhbmNlP2UuYXBwZWFyYW5jZToic3RhbmRhcmQifWdldCBuYW1lKCl7cmV0dXJuIHRoaXMuX25hbWV9c2V0IG5hbWUodCl7dGhpcy5fbmFtZT10LHRoaXMuX2J1dHRvblRvZ2dsZXMmJnRoaXMuX2J1dHRvblRvZ2dsZXMuZm9yRWFjaCgodD0+e3QubmFtZT10aGlzLl9uYW1lLHQuX21hcmtGb3JDaGVjaygpfSkpfWdldCB2ZXJ0aWNhbCgpe3JldHVybiB0aGlzLl92ZXJ0aWNhbH1zZXQgdmVydGljYWwodCl7dGhpcy5fdmVydGljYWw9ZUgodCl9Z2V0IHZhbHVlKCl7Y29uc3QgdD10aGlzLl9zZWxlY3Rpb25Nb2RlbD90aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZDpbXTtyZXR1cm4gdGhpcy5tdWx0aXBsZT90Lm1hcCgodD0+dC52YWx1ZSkpOnRbMF0/dFswXS52YWx1ZTp2b2lkIDB9c2V0IHZhbHVlKHQpe3RoaXMuX3NldFNlbGVjdGlvbkJ5VmFsdWUodCksdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpfWdldCBzZWxlY3RlZCgpe2NvbnN0IHQ9dGhpcy5fc2VsZWN0aW9uTW9kZWw/dGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQ6W107cmV0dXJuIHRoaXMubXVsdGlwbGU/dDp0WzBdfHxudWxsfWdldCBtdWx0aXBsZSgpe3JldHVybiB0aGlzLl9tdWx0aXBsZX1zZXQgbXVsdGlwbGUodCl7dGhpcy5fbXVsdGlwbGU9ZUgodCl9Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkfXNldCBkaXNhYmxlZCh0KXt0aGlzLl9kaXNhYmxlZD1lSCh0KSx0aGlzLl9idXR0b25Ub2dnbGVzJiZ0aGlzLl9idXR0b25Ub2dnbGVzLmZvckVhY2goKHQ9PnQuX21hcmtGb3JDaGVjaygpKSl9bmdPbkluaXQoKXt0aGlzLl9zZWxlY3Rpb25Nb2RlbD1uZXcgakwodGhpcy5tdWx0aXBsZSx2b2lkIDAsITEpfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdCguLi50aGlzLl9idXR0b25Ub2dnbGVzLmZpbHRlcigodD0+dC5jaGVja2VkKSkpfXdyaXRlVmFsdWUodCl7dGhpcy52YWx1ZT10LHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpfXJlZ2lzdGVyT25DaGFuZ2UodCl7dGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbj10fXJlZ2lzdGVyT25Ub3VjaGVkKHQpe3RoaXMuX29uVG91Y2hlZD10fXNldERpc2FibGVkU3RhdGUodCl7dGhpcy5kaXNhYmxlZD10fV9lbWl0Q2hhbmdlRXZlbnQoKXtjb25zdCB0PXRoaXMuc2VsZWN0ZWQsZT1BcnJheS5pc0FycmF5KHQpP3RbdC5sZW5ndGgtMV06dCxuPW5ldyBFNChlLHRoaXMudmFsdWUpO3RoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4obi52YWx1ZSksdGhpcy5jaGFuZ2UuZW1pdChuKX1fc3luY0J1dHRvblRvZ2dsZSh0LGUsbj0hMSxvPSExKXt0aGlzLm11bHRpcGxlfHwhdGhpcy5zZWxlY3RlZHx8dC5jaGVja2VkfHwodGhpcy5zZWxlY3RlZC5jaGVja2VkPSExKSx0aGlzLl9zZWxlY3Rpb25Nb2RlbD9lP3RoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdCh0KTp0aGlzLl9zZWxlY3Rpb25Nb2RlbC5kZXNlbGVjdCh0KTpvPSEwLG8/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PnRoaXMuX3VwZGF0ZU1vZGVsVmFsdWUobikpKTp0aGlzLl91cGRhdGVNb2RlbFZhbHVlKG4pfV9pc1NlbGVjdGVkKHQpe3JldHVybiB0aGlzLl9zZWxlY3Rpb25Nb2RlbCYmdGhpcy5fc2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZCh0KX1faXNQcmVjaGVja2VkKHQpe3JldHVybiB2b2lkIDAhPT10aGlzLl9yYXdWYWx1ZSYmKHRoaXMubXVsdGlwbGUmJkFycmF5LmlzQXJyYXkodGhpcy5fcmF3VmFsdWUpP3RoaXMuX3Jhd1ZhbHVlLnNvbWUoKGU9Pm51bGwhPXQudmFsdWUmJmU9PT10LnZhbHVlKSk6dC52YWx1ZT09PXRoaXMuX3Jhd1ZhbHVlKX1fc2V0U2VsZWN0aW9uQnlWYWx1ZSh0KXtpZih0aGlzLl9yYXdWYWx1ZT10LHRoaXMuX2J1dHRvblRvZ2dsZXMpaWYodGhpcy5tdWx0aXBsZSYmdCl7aWYoIUFycmF5LmlzQXJyYXkodCkmJigidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSl0aHJvdyBFcnJvcigiVmFsdWUgbXVzdCBiZSBhbiBhcnJheSBpbiBtdWx0aXBsZS1zZWxlY3Rpb24gbW9kZS4iKTt0aGlzLl9jbGVhclNlbGVjdGlvbigpLHQuZm9yRWFjaCgodD0+dGhpcy5fc2VsZWN0VmFsdWUodCkpKX1lbHNlIHRoaXMuX2NsZWFyU2VsZWN0aW9uKCksdGhpcy5fc2VsZWN0VmFsdWUodCl9X2NsZWFyU2VsZWN0aW9uKCl7dGhpcy5fc2VsZWN0aW9uTW9kZWwuY2xlYXIoKSx0aGlzLl9idXR0b25Ub2dnbGVzLmZvckVhY2goKHQ9PnQuY2hlY2tlZD0hMSkpfV9zZWxlY3RWYWx1ZSh0KXtjb25zdCBlPXRoaXMuX2J1dHRvblRvZ2dsZXMuZmluZCgoZT0+bnVsbCE9ZS52YWx1ZSYmZS52YWx1ZT09PXQpKTtlJiYoZS5jaGVja2VkPSEwLHRoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdChlKSl9X3VwZGF0ZU1vZGVsVmFsdWUodCl7dCYmdGhpcy5fZW1pdENoYW5nZUV2ZW50KCksdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpfX1BNC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QTQpKGdmKE9iKSxnZihrNCw4KSl9LEE0Lsm1ZGlyPWhvKHt0eXBlOkE0LHNlbGVjdG9yczpbWyJtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCJdXSxjb250ZW50UXVlcmllczpmdW5jdGlvbiB0KGUsbixvKXtpZigxJmUmJmp5KG8sTjQsNSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5fYnV0dG9uVG9nZ2xlcz10KX19LGhvc3RBdHRyczpbInJvbGUiLCJncm91cCIsMSwibWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAiXSxob3N0VmFyczo1LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiYoeW0oImFyaWEtZGlzYWJsZWQiLG4uZGlzYWJsZWQpLGN1KCJtYXQtYnV0dG9uLXRvZ2dsZS12ZXJ0aWNhbCIsbi52ZXJ0aWNhbCkoIm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQiLCJzdGFuZGFyZCI9PT1uLmFwcGVhcmFuY2UpKX0saW5wdXRzOnthcHBlYXJhbmNlOiJhcHBlYXJhbmNlIixuYW1lOiJuYW1lIix2ZXJ0aWNhbDoidmVydGljYWwiLHZhbHVlOiJ2YWx1ZSIsbXVsdGlwbGU6Im11bHRpcGxlIixkaXNhYmxlZDoiZGlzYWJsZWQifSxvdXRwdXRzOnt2YWx1ZUNoYW5nZToidmFsdWVDaGFuZ2UiLGNoYW5nZToiY2hhbmdlIn0sZXhwb3J0QXM6WyJtYXRCdXR0b25Ub2dnbGVHcm91cCJdLGZlYXR1cmVzOltqaChbRDQse3Byb3ZpZGU6UzQsdXNlRXhpc3Rpbmc6QTR9XSldfSksQTQuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpPYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltrNF19XX1dLEE0LnByb3BEZWNvcmF0b3JzPXtfYnV0dG9uVG9nZ2xlczpbe3R5cGU6b3IsYXJnczpbJGUoKCgpPT5ONCkpLHtkZXNjZW5kYW50czohMH1dfV0sYXBwZWFyYW5jZTpbe3R5cGU6Ul99XSxuYW1lOlt7dHlwZTpSX31dLHZlcnRpY2FsOlt7dHlwZTpSX31dLHZhbHVlOlt7dHlwZTpSX31dLHZhbHVlQ2hhbmdlOlt7dHlwZTpFX31dLG11bHRpcGxlOlt7dHlwZTpSX31dLGRpc2FibGVkOlt7dHlwZTpSX31dLGNoYW5nZTpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihBNCxbe3R5cGU6a18sYXJnczpbe3NlbGVjdG9yOiJtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCIscHJvdmlkZXJzOltENCx7cHJvdmlkZTpTNCx1c2VFeGlzdGluZzpBNH1dLGhvc3Q6e3JvbGU6Imdyb3VwIixjbGFzczoibWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAiLCJbYXR0ci5hcmlhLWRpc2FibGVkXSI6ImRpc2FibGVkIiwiW2NsYXNzLm1hdC1idXR0b24tdG9nZ2xlLXZlcnRpY2FsXSI6InZlcnRpY2FsIiwiW2NsYXNzLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmRdIjonYXBwZWFyYW5jZSA9PT0gInN0YW5kYXJkIid9LGV4cG9ydEFzOiJtYXRCdXR0b25Ub2dnbGVHcm91cCJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpPYn0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltrNF19XX1dfSkse3ZhbHVlQ2hhbmdlOlt7dHlwZTpFX31dLGNoYW5nZTpbe3R5cGU6RV99XSxhcHBlYXJhbmNlOlt7dHlwZTpSX31dLG5hbWU6W3t0eXBlOlJffV0sdmVydGljYWw6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV0sbXVsdGlwbGU6W3t0eXBlOlJffV0sZGlzYWJsZWQ6W3t0eXBlOlJffV0sX2J1dHRvblRvZ2dsZXM6W3t0eXBlOm9yLGFyZ3M6WyRlKCgoKT0+TjQpKSx7ZGVzY2VuZGFudHM6ITB9XX1dfSk7Y29uc3QgVDQ9SEYoY2xhc3N7fSk7Y2xhc3MgTjQgZXh0ZW5kcyBUNHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7c3VwZXIoKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj1lLHRoaXMuX2VsZW1lbnRSZWY9bix0aGlzLl9mb2N1c01vbml0b3I9byx0aGlzLl9pc1NpbmdsZVNlbGVjdG9yPSExLHRoaXMuX2NoZWNrZWQ9ITEsdGhpcy5hcmlhTGFiZWxsZWRieT1udWxsLHRoaXMuX2Rpc2FibGVkPSExLHRoaXMuY2hhbmdlPW5ldyBTeTtjb25zdCByPU51bWJlcihpKTt0aGlzLnRhYkluZGV4PXJ8fDA9PT1yP3I6bnVsbCx0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwPXQsdGhpcy5hcHBlYXJhbmNlPWEmJmEuYXBwZWFyYW5jZT9hLmFwcGVhcmFuY2U6InN0YW5kYXJkIn1nZXQgYnV0dG9uSWQoKXtyZXR1cm5gJHt0aGlzLmlkfS1idXR0b25gfWdldCBhcHBlYXJhbmNlKCl7cmV0dXJuIHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXA/dGhpcy5idXR0b25Ub2dnbGVHcm91cC5hcHBlYXJhbmNlOnRoaXMuX2FwcGVhcmFuY2V9c2V0IGFwcGVhcmFuY2UodCl7dGhpcy5fYXBwZWFyYW5jZT10fWdldCBjaGVja2VkKCl7cmV0dXJuIHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXA/dGhpcy5idXR0b25Ub2dnbGVHcm91cC5faXNTZWxlY3RlZCh0aGlzKTp0aGlzLl9jaGVja2VkfXNldCBjaGVja2VkKHQpe2NvbnN0IGU9ZUgodCk7ZSE9PXRoaXMuX2NoZWNrZWQmJih0aGlzLl9jaGVja2VkPWUsdGhpcy5idXR0b25Ub2dnbGVHcm91cCYmdGhpcy5idXR0b25Ub2dnbGVHcm91cC5fc3luY0J1dHRvblRvZ2dsZSh0aGlzLHRoaXMuX2NoZWNrZWQpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKX1nZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5fZGlzYWJsZWR8fHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAmJnRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAuZGlzYWJsZWR9c2V0IGRpc2FibGVkKHQpe3RoaXMuX2Rpc2FibGVkPWVIKHQpfW5nT25Jbml0KCl7Y29uc3QgdD10aGlzLmJ1dHRvblRvZ2dsZUdyb3VwO3RoaXMuX2lzU2luZ2xlU2VsZWN0b3I9dCYmIXQubXVsdGlwbGUsdGhpcy5pZD10aGlzLmlkfHwibWF0LWJ1dHRvbi10b2dnbGUtIitSNCsrLHRoaXMuX2lzU2luZ2xlU2VsZWN0b3ImJih0aGlzLm5hbWU9dC5uYW1lKSx0JiYodC5faXNQcmVjaGVja2VkKHRoaXMpP3RoaXMuY2hlY2tlZD0hMDp0Ll9pc1NlbGVjdGVkKHRoaXMpIT09dGhpcy5fY2hlY2tlZCYmdC5fc3luY0J1dHRvblRvZ2dsZSh0aGlzLHRoaXMuX2NoZWNrZWQpKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLl9mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLl9lbGVtZW50UmVmLCEwKX1uZ09uRGVzdHJveSgpe2NvbnN0IHQ9dGhpcy5idXR0b25Ub2dnbGVHcm91cDt0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZiksdCYmdC5faXNTZWxlY3RlZCh0aGlzKSYmdC5fc3luY0J1dHRvblRvZ2dsZSh0aGlzLCExLCExLCEwKX1mb2N1cyh0KXt0aGlzLl9idXR0b25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXModCl9X29uQnV0dG9uQ2xpY2soKXtjb25zdCB0PSEhdGhpcy5faXNTaW5nbGVTZWxlY3Rvcnx8IXRoaXMuX2NoZWNrZWQ7dCE9PXRoaXMuX2NoZWNrZWQmJih0aGlzLl9jaGVja2VkPXQsdGhpcy5idXR0b25Ub2dnbGVHcm91cCYmKHRoaXMuYnV0dG9uVG9nZ2xlR3JvdXAuX3N5bmNCdXR0b25Ub2dnbGUodGhpcyx0aGlzLl9jaGVja2VkLCEwKSx0aGlzLmJ1dHRvblRvZ2dsZUdyb3VwLl9vblRvdWNoZWQoKSkpLHRoaXMuY2hhbmdlLmVtaXQobmV3IEU0KHRoaXMsdGhpcy52YWx1ZSkpfV9tYXJrRm9yQ2hlY2soKXt0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX19TjQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE40KShnZihTNCw4KSxnZihPYiksZ2YoS2gpLGdmKGZGKSxHYSgidGFiaW5kZXgiKSxnZihrNCw4KSl9LE40Lsm1Y21wPXNvKHt0eXBlOk40LHNlbGVjdG9yczpbWyJtYXQtYnV0dG9uLXRvZ2dsZSJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkodzQsNSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5fYnV0dG9uRWxlbWVudD10LmZpcnN0KX19LGhvc3RBdHRyczpbInJvbGUiLCJwcmVzZW50YXRpb24iLDEsIm1hdC1idXR0b24tdG9nZ2xlIl0saG9zdFZhcnM6MTIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJmb2N1cyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5mb2N1cygpfSkpLDImZSYmKHltKCJhcmlhLWxhYmVsIixudWxsKSgiYXJpYS1sYWJlbGxlZGJ5IixudWxsKSgiaWQiLG4uaWQpKCJuYW1lIixudWxsKSxjdSgibWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZSIsIW4uYnV0dG9uVG9nZ2xlR3JvdXApKCJtYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkIixuLmNoZWNrZWQpKCJtYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZCIsbi5kaXNhYmxlZCkoIm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQiLCJzdGFuZGFyZCI9PT1uLmFwcGVhcmFuY2UpKX0saW5wdXRzOntkaXNhYmxlUmlwcGxlOiJkaXNhYmxlUmlwcGxlIixhcmlhTGFiZWxsZWRieTpbImFyaWEtbGFiZWxsZWRieSIsImFyaWFMYWJlbGxlZGJ5Il0sdGFiSW5kZXg6InRhYkluZGV4IixhcHBlYXJhbmNlOiJhcHBlYXJhbmNlIixjaGVja2VkOiJjaGVja2VkIixkaXNhYmxlZDoiZGlzYWJsZWQiLGlkOiJpZCIsbmFtZToibmFtZSIsYXJpYUxhYmVsOlsiYXJpYS1sYWJlbCIsImFyaWFMYWJlbCJdLHZhbHVlOiJ2YWx1ZSJ9LG91dHB1dHM6e2NoYW5nZToiY2hhbmdlIn0sZXhwb3J0QXM6WyJtYXRCdXR0b25Ub2dnbGUiXSxmZWF0dXJlczpbUXBdLG5nQ29udGVudFNlbGVjdG9yczpbIioiXSxkZWNsczo2LHZhcnM6OSxjb25zdHM6W1sidHlwZSIsImJ1dHRvbiIsMSwibWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9uIiwibWF0LWZvY3VzLWluZGljYXRvciIsMywiaWQiLCJkaXNhYmxlZCIsImNsaWNrIl0sWyJidXR0b24iLCIiXSxbMSwibWF0LWJ1dHRvbi10b2dnbGUtbGFiZWwtY29udGVudCJdLFsxLCJtYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5Il0sWyJtYXRSaXBwbGUiLCIiLDEsIm1hdC1idXR0b24tdG9nZ2xlLXJpcHBsZSIsMywibWF0UmlwcGxlVHJpZ2dlciIsIm1hdFJpcHBsZURpc2FibGVkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihIZigpLENmKDAsImJ1dHRvbiIsMCwxKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uX29uQnV0dG9uQ2xpY2soKX0pKSxDZigyLCJzcGFuIiwyKSxGZigzKSxNZigpLE1mKCksdmYoNCwic3BhbiIsMyksdmYoNSwic3BhbiIsNCkpLDImZSl7Y29uc3QgdD1GbSgxKTtiZigiaWQiLG4uYnV0dG9uSWQpKCJkaXNhYmxlZCIsbi5kaXNhYmxlZHx8bnVsbCkseW0oInRhYmluZGV4IixuLmRpc2FibGVkPy0xOm4udGFiSW5kZXgpKCJhcmlhLXByZXNzZWQiLG4uY2hlY2tlZCkoIm5hbWUiLG4ubmFtZXx8bnVsbCkoImFyaWEtbGFiZWwiLG4uYXJpYUxhYmVsKSgiYXJpYS1sYWJlbGxlZGJ5IixuLmFyaWFMYWJlbGxlZGJ5KSxEYyg1KSxiZigibWF0UmlwcGxlVHJpZ2dlciIsdCkoIm1hdFJpcHBsZURpc2FibGVkIixuLmRpc2FibGVSaXBwbGV8fG4uZGlzYWJsZWQpfX0sZGlyZWN0aXZlczpbbUxdLHN0eWxlczpbIi5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MnB4Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3Vwe291dGxpbmU6c29saWQgMXB4fS5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmR7Ym9yZGVyLXJhZGl1czo0cHh9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmR7b3V0bGluZTowfS5tYXQtYnV0dG9uLXRvZ2dsZS12ZXJ0aWNhbHtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lm1hdC1idXR0b24tdG9nZ2xlLXZlcnRpY2FsIC5tYXQtYnV0dG9uLXRvZ2dsZS1sYWJlbC1jb250ZW50e2Rpc3BsYXk6YmxvY2t9Lm1hdC1idXR0b24tdG9nZ2xle3doaXRlLXNwYWNlOm5vd3JhcDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LWJ1dHRvbi10b2dnbGUgLm1hdC1pY29uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjp0b3B9Lm1hdC1idXR0b24tdG9nZ2xlLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLXRvZ2dsZS5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi41fS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkOm5vdCgubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQpOmhvdmVyIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjA0fS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQpIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjEyfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZCkgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouNX1AbWVkaWEoaG92ZXI6IG5vbmUpey5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkOm5vdCgubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQpOmhvdmVyIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e2Rpc3BsYXk6bm9uZX19Lm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnR7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnR7cGFkZGluZzowIDEycHh9Lm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnQ+Knt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7Ym9yZGVyLXJhZGl1czppbmhlcml0O3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlfS5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e2JvcmRlci1ib3R0b206c29saWQgMzZweH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjU7aGVpZ2h0OjB9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e2JvcmRlci1ib3R0b206c29saWQgNTAwcHh9Lm1hdC1idXR0b24tdG9nZ2xlIC5tYXQtYnV0dG9uLXRvZ2dsZS1yaXBwbGV7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZX0ubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9ue2JvcmRlcjowO2JhY2tncm91bmQ6bm9uZTtjb2xvcjppbmhlcml0O3BhZGRpbmc6MDttYXJnaW46MDtmb250OmluaGVyaXQ7b3V0bGluZTpub25lO3dpZHRoOjEwMCU7Y3Vyc29yOnBvaW50ZXJ9Lm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkIC5tYXQtYnV0dG9uLXRvZ2dsZS1idXR0b257Y3Vyc29yOmRlZmF1bHR9Lm1hdC1idXR0b24tdG9nZ2xlLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1cbiJdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLE40LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6QTQsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1M0XX1dfSx7dHlwZTpPYn0se3R5cGU6S2h9LHt0eXBlOmZGfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbInRhYmluZGV4Il19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltrNF19XX1dLE40LnByb3BEZWNvcmF0b3JzPXthcmlhTGFiZWw6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsIl19XSxhcmlhTGFiZWxsZWRieTpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWxsZWRieSJdfV0sX2J1dHRvbkVsZW1lbnQ6W3t0eXBlOmFyLGFyZ3M6WyJidXR0b24iXX1dLGlkOlt7dHlwZTpSX31dLG5hbWU6W3t0eXBlOlJffV0sdmFsdWU6W3t0eXBlOlJffV0sdGFiSW5kZXg6W3t0eXBlOlJffV0sYXBwZWFyYW5jZTpbe3R5cGU6Ul99XSxjaGVja2VkOlt7dHlwZTpSX31dLGRpc2FibGVkOlt7dHlwZTpSX31dLGNoYW5nZTpbe3R5cGU6RV99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihONCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYXQtYnV0dG9uLXRvZ2dsZSIsdGVtcGxhdGU6JzxidXR0b24gI2J1dHRvbiBjbGFzcz0ibWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9uIG1hdC1mb2N1cy1pbmRpY2F0b3IiXG4gICAgICAgIHR5cGU9ImJ1dHRvbiJcbiAgICAgICAgW2lkXT0iYnV0dG9uSWQiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT0iZGlzYWJsZWQgPyAtMSA6IHRhYkluZGV4IlxuICAgICAgICBbYXR0ci5hcmlhLXByZXNzZWRdPSJjaGVja2VkIlxuICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCB8fCBudWxsIlxuICAgICAgICBbYXR0ci5uYW1lXT0ibmFtZSB8fCBudWxsIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT0iYXJpYUxhYmVsIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPSJhcmlhTGFiZWxsZWRieSJcbiAgICAgICAgKGNsaWNrKT0iX29uQnV0dG9uQ2xpY2soKSI+XG4gIDxzcGFuIGNsYXNzPSJtYXQtYnV0dG9uLXRvZ2dsZS1sYWJlbC1jb250ZW50Ij5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvc3Bhbj5cbjwvYnV0dG9uPlxuXG48c3BhbiBjbGFzcz0ibWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheSI+PC9zcGFuPlxuPHNwYW4gY2xhc3M9Im1hdC1idXR0b24tdG9nZ2xlLXJpcHBsZSIgbWF0UmlwcGxlXG4gICAgIFttYXRSaXBwbGVUcmlnZ2VyXT0iYnV0dG9uIlxuICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPSJ0aGlzLmRpc2FibGVSaXBwbGUgfHwgdGhpcy5kaXNhYmxlZCI+XG48L3NwYW4+XG4nLGVuY2Fwc3VsYXRpb246V24uTm9uZSxleHBvcnRBczoibWF0QnV0dG9uVG9nZ2xlIixjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLGlucHV0czpbImRpc2FibGVSaXBwbGUiXSxob3N0OnsiW2NsYXNzLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmVdIjoiIWJ1dHRvblRvZ2dsZUdyb3VwIiwiW2NsYXNzLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWRdIjoiY2hlY2tlZCIsIltjbGFzcy5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZF0iOiJkaXNhYmxlZCIsIltjbGFzcy5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkXSI6J2FwcGVhcmFuY2UgPT09ICJzdGFuZGFyZCInLGNsYXNzOiJtYXQtYnV0dG9uLXRvZ2dsZSIsIlthdHRyLmFyaWEtbGFiZWxdIjoibnVsbCIsIlthdHRyLmFyaWEtbGFiZWxsZWRieV0iOiJudWxsIiwiW2F0dHIuaWRdIjoiaWQiLCJbYXR0ci5uYW1lXSI6Im51bGwiLCIoZm9jdXMpIjoiZm9jdXMoKSIscm9sZToicHJlc2VudGF0aW9uIn0sc3R5bGVzOlsiLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUsLm1hdC1idXR0b24tdG9nZ2xlLWdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1kaXJlY3Rpb246cm93O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXB7b3V0bGluZTpzb2xpZCAxcHh9Lm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCwubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZHtib3JkZXItcmFkaXVzOjRweH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZHtvdXRsaW5lOjB9Lm1hdC1idXR0b24tdG9nZ2xlLXZlcnRpY2Fse2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubWF0LWJ1dHRvbi10b2dnbGUtdmVydGljYWwgLm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnR7ZGlzcGxheTpibG9ja30ubWF0LWJ1dHRvbi10b2dnbGV7d2hpdGUtc3BhY2U6bm93cmFwO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtYnV0dG9uLXRvZ2dsZSAubWF0LWljb24gc3Zne3ZlcnRpY2FsLWFsaWduOnRvcH0ubWF0LWJ1dHRvbi10b2dnbGUuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tdG9nZ2xlLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5e29wYWNpdHk6LjV9Lm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQ6bm90KC5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZCk6aG92ZXIgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouMDR9Lm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZCkgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouMTJ9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkKSAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtvcGFjaXR5Oi41fUBtZWRpYShob3Zlcjogbm9uZSl7Lm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQ6bm90KC5tYXQtYnV0dG9uLXRvZ2dsZS1kaXNhYmxlZCk6aG92ZXIgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7ZGlzcGxheTpub25lfX0ubWF0LWJ1dHRvbi10b2dnbGUtbGFiZWwtY29udGVudHstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6MzZweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUtbGFiZWwtY29udGVudHtwYWRkaW5nOjAgMTJweH0ubWF0LWJ1dHRvbi10b2dnbGUtbGFiZWwtY29udGVudD4qe3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheXtib3JkZXItcmFkaXVzOmluaGVyaXQ7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGV9Lm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7Ym9yZGVyLWJvdHRvbTpzb2xpZCAzNnB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7b3BhY2l0eTouNTtoZWlnaHQ6MH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXl7Ym9yZGVyLWJvdHRvbTpzb2xpZCA1MDBweH0ubWF0LWJ1dHRvbi10b2dnbGUgLm1hdC1idXR0b24tdG9nZ2xlLXJpcHBsZXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfS5tYXQtYnV0dG9uLXRvZ2dsZS1idXR0b257Ym9yZGVyOjA7YmFja2dyb3VuZDpub25lO2NvbG9yOmluaGVyaXQ7cGFkZGluZzowO21hcmdpbjowO2ZvbnQ6aW5oZXJpdDtvdXRsaW5lOm5vbmU7d2lkdGg6MTAwJTtjdXJzb3I6cG9pbnRlcn0ubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQgLm1hdC1idXR0b24tdG9nZ2xlLWJ1dHRvbntjdXJzb3I6ZGVmYXVsdH0ubWF0LWJ1dHRvbi10b2dnbGUtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowfVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpBNCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbUzRdfV19LHt0eXBlOk9ifSx7dHlwZTpLaH0se3R5cGU6ZkZ9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsidGFiaW5kZXgiXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2s0XX1dfV19KSx7YXJpYUxhYmVsbGVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsbGVkYnkiXX1dLGNoYW5nZTpbe3R5cGU6RV99XSx0YWJJbmRleDpbe3R5cGU6Ul99XSxhcHBlYXJhbmNlOlt7dHlwZTpSX31dLGNoZWNrZWQ6W3t0eXBlOlJffV0sZGlzYWJsZWQ6W3t0eXBlOlJffV0saWQ6W3t0eXBlOlJffV0sbmFtZTpbe3R5cGU6Ul99XSxhcmlhTGFiZWw6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsIl19XSxfYnV0dG9uRWxlbWVudDpbe3R5cGU6YXIsYXJnczpbImJ1dHRvbiJdfV0sdmFsdWU6W3t0eXBlOlJffV19KTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNsYXNzIHo0e316NC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ejQpfSx6NC7JtW1vZD1mbyh7dHlwZTp6NH0pLHo0Lsm1aW5qPURuKHtpbXBvcnRzOltbTkYsZkxdLE5GXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoejQsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltORixmTF0sZXhwb3J0czpbTkYsQTQsTjRdLGRlY2xhcmF0aW9uczpbQTQsTjRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oejQse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVybltBNCxONF19LGltcG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bTkYsZkxdfSxleHBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW05GLEE0LE40XX19KTtjb25zdCBJND0iL3NjYWxhcl9zdW1tYXJ5IjtmdW5jdGlvbiBINCh0LGUpe2xldCBuPXQ7cmV0dXJuIGUmJnQuc3RhcnRzV2l0aChlKyIvIikmJihuPXQuc2xpY2UoZS5sZW5ndGgrMSkpLG4uZW5kc1dpdGgoSTQpJiYobj1uLnNsaWNlKDAsLUk0Lmxlbmd0aCkpLG58fHR9ZnVuY3Rpb24gRjQodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiwyKSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSx3dSh0LmZpcnN0VGV4dFBhcnQoKSl9fWNsYXNzIEw0e3BhcnNlVmFsdWUoKXtjb25zdCB0PXRoaXMudmFsdWUubGFzdEluZGV4T2YoIi8iKTtyZXR1cm4tMT09PXQ/e2ZpcnN0OiIiLHNlY29uZDp0aGlzLnZhbHVlfTp7Zmlyc3Q6dGhpcy52YWx1ZS5zbGljZSgwLHQpLHNlY29uZDp0aGlzLnZhbHVlLnNsaWNlKHQpfX1maXJzdFRleHRQYXJ0KCl7cmV0dXJuIHRoaXMucGFyc2VWYWx1ZSgpLmZpcnN0fXNlY29uZFRleHRQYXJ0KCl7cmV0dXJuIHRoaXMucGFyc2VWYWx1ZSgpLnNlY29uZH19ZnVuY3Rpb24gQjQodCxlLG4pe3ZhciBvLGksYSxyO3JldHVybiB0LnN0YXJ0LnN0ZXA8PWUmJnQuZW5kJiZuPD10LmVuZC5zdGVwfHxlPD10LnN0YXJ0LnN0ZXAmJnQuc3RhcnQuc3RlcDw9bnx8dC5lbmQmJmU8PShudWxsPT09KG89dC5lbmQpfHx2b2lkIDA9PT1vP3ZvaWQgMDpvLnN0ZXApJiYobnVsbD09PShpPXQuZW5kKXx8dm9pZCAwPT09aT92b2lkIDA6aS5zdGVwKTw9bj97c3RhcnRTdGVwOnQuc3RhcnQuc3RlcCxlbmRTdGVwOm51bGwhPT0ocj1udWxsPT09KGE9dC5lbmQpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLnN0ZXApJiZ2b2lkIDAhPT1yP3I6bnVsbCxjbGlwcGVkOiExfTpuPD10LnN0YXJ0LnN0ZXA/e3N0YXJ0U3RlcDpuLGVuZFN0ZXA6bnVsbCxjbGlwcGVkOiEwfTp7c3RhcnRTdGVwOmUsZW5kU3RlcDpudWxsLGNsaXBwZWQ6ITB9fWZ1bmN0aW9uIFY0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJ0Yi1leHBlcmltZW50LWFsaWFzIiwyKSwyJnQpe2JmKCJhbGlhcyIsemYoKS5leHBlcmltZW50QWxpYXMpfX1mdW5jdGlvbiBqNCh0LGUpezEmdCYmKENmKDAsInNwYW4iKSxQdSgxLCIvIiksTWYoKSl9TDQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEw0KX0sTDQuybVjbXA9c28oe3R5cGU6TDQsc2VsZWN0b3JzOltbInRiLXRydW5jYXRlZC1wYXRoIl1dLGlucHV0czp7dmFsdWU6InZhbHVlIn0sZGVjbHM6Myx2YXJzOjIsY29uc3RzOltbImNsYXNzIiwiZmlyc3QtdGV4dC1wYXJ0Iiw0LCJuZ0lmIl0sWzEsInNlY29uZC10ZXh0LXBhcnQiXSxbMSwiZmlyc3QtdGV4dC1wYXJ0Il1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIbSgwLEY0LDIsMSwic3BhbiIsMCksQ2YoMSwic3BhbiIsMSksUHUoMiksTWYoKSksMiZlJiYoYmYoIm5nSWYiLG4uZmlyc3RUZXh0UGFydCgpLmxlbmd0aD4wKSxEYygyKSx3dShuLnNlY29uZFRleHRQYXJ0KCkpKX0sZGlyZWN0aXZlczpbUHZdLHN0eWxlczpbIltfbmdob3N0LSVDT01QJV17ZGlzcGxheTppbmxpbmUtZmxleDt3aGl0ZS1zcGFjZTpub3dyYXB9LmZpcnN0LXRleHQtcGFydFtfbmdjb250ZW50LSVDT01QJV17ZmxleDoxIDEgNGNoO21heC13aWR0aDptYXgtY29udGVudH0uZmlyc3QtdGV4dC1wYXJ0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLnNlY29uZC10ZXh0LXBhcnRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfSJdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihMNCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJ0Yi10cnVuY2F0ZWQtcGF0aCIsdGVtcGxhdGU6J1xuICAgIDxzcGFuICpuZ0lmPSJmaXJzdFRleHRQYXJ0KCkubGVuZ3RoID4gMCIgY2xhc3M9ImZpcnN0LXRleHQtcGFydCI+e3tcbiAgICAgIGZpcnN0VGV4dFBhcnQoKVxuICAgIH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPSJzZWNvbmQtdGV4dC1wYXJ0Ij57eyBzZWNvbmRUZXh0UGFydCgpIH19PC9zcGFuPlxuICAnLHN0eWxlVXJsczpbInRydW5jYXRlZF9wYXRoX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCx7dmFsdWU6W3t0eXBlOlJffV19KTtjbGFzcyBVNHt9VTQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFU0KX0sVTQuybVjbXA9c28oe3R5cGU6VTQsc2VsZWN0b3JzOltbImNhcmQtcnVuLW5hbWUtY29tcG9uZW50Il1dLGlucHV0czp7bmFtZToibmFtZSIsZXhwZXJpbWVudEFsaWFzOiJleHBlcmltZW50QWxpYXMifSxkZWNsczo0LHZhcnM6Myxjb25zdHM6W1szLCJhbGlhcyIsNCwibmdJZiJdLFs0LCJuZ0lmIl0sWzMsImFsaWFzIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIbSgwLFY0LDEsMSwidGItZXhwZXJpbWVudC1hbGlhcyIsMCksSG0oMSxqNCwyLDAsInNwYW4iLDEpLENmKDIsInNwYW4iKSxQdSgzKSxNZigpKSwyJmUmJihiZigibmdJZiIsbnVsbCE9bi5leHBlcmltZW50QWxpYXMpLERjKDEpLGJmKCJuZ0lmIixudWxsIT1uLmV4cGVyaW1lbnRBbGlhcyksRGMoMiksd3Uobi5uYW1lKSl9LGRpcmVjdGl2ZXM6W1B2LEgyXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde2NvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihVNCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJjYXJkLXJ1bi1uYW1lLWNvbXBvbmVudCIsdGVtcGxhdGU6Jzx0Yi1leHBlcmltZW50LWFsaWFzXG4gICAgICAqbmdJZj0iZXhwZXJpbWVudEFsaWFzICE9IG51bGwiXG4gICAgICBbYWxpYXNdPSJleHBlcmltZW50QWxpYXMiXG4gICAgPjwvdGItZXhwZXJpbWVudC1hbGlhcz5cbiAgICA8c3BhbiAqbmdJZj0iZXhwZXJpbWVudEFsaWFzICE9IG51bGwiPi88L3NwYW4+XG4gICAgPHNwYW4+e3sgbmFtZSB9fTwvc3Bhbj4nLHN0eWxlVXJsczpbInJ1bl9uYW1lX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtuYW1lOlt7dHlwZTpSX31dLGV4cGVyaW1lbnRBbGlhczpbe3R5cGU6Ul99XX0pO2NsYXNzIFc0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dH1uZ09uSW5pdCgpe3RoaXMubmFtZSQ9S3QoW3RoaXMuc3RvcmUuc2VsZWN0KFl6LHtydW5JZDp0aGlzLnJ1bklkfSldKS5waXBlKFZ0KCgoW3RdKT0+KGZ1bmN0aW9uIGUodCxuLG8pe3ZhciBpO2lmKCFuJiYhbylyZXR1cm4gdDtsZXQgYT1udWxsIT09KGk9bnVsbD09bj92b2lkIDA6bi5uYW1lKSYmdm9pZCAwIT09aT9pOiIuLi4iO3JldHVybiBvJiYoYT1gWyR7by5hbGlhc051bWJlcn1dICR7by5hbGlhc1RleHR9LyR7YX1gKSxhfSkodGhpcy5ydW5JZCx0LG51bGwpKSkpLHRoaXMuZXhwZXJpbWVudEFsaWFzJD1LdChbdGhpcy5zdG9yZS5zZWxlY3QoR3ose3J1bklkOnRoaXMucnVuSWR9KSx0aGlzLnN0b3JlLnNlbGVjdChPUildKS5waXBlKFZ0KCgoW3QsZV0pPT50P2VbdF06bnVsbCkpKX19ZnVuY3Rpb24gRzQodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiwxNyksUHUoMSksX3koMiwibnVtYmVyIiksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksa3UoIlN0ZXAgIixDeSgyLDEsdC5zdGVwVmFsdWVzW3Quc3RlcEluZGV4XSksIiIpfX1mdW5jdGlvbiBZNCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDE4KSxQdSgxKSxfeSgyLCJudW1iZXIiKSxfeSgzLCJudW1iZXIiKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxTdSgiU2FtcGxlICIsQ3koMiwyLHQuc2FtcGxlKzEpLCIvIixDeSgzLDQsdC5udW1TYW1wbGUpLCIiKX19ZnVuY3Rpb24gcTQodCxlKXsxJnQmJnZmKDAsIm1hdC1zcGlubmVyIiwxOSl9VzQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFc0KShnZihpUykpfSxXNC7JtWNtcD1zbyh7dHlwZTpXNCxzZWxlY3RvcnM6W1siY2FyZC1ydW4tbmFtZSJdXSxpbnB1dHM6e3J1bklkOiJydW5JZCJ9LGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsIm5hbWUiLCJleHBlcmltZW50QWxpYXMiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsImNhcmQtcnVuLW5hbWUtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSksMiZlJiYoYmYoIm5hbWUiLEN5KDEsMyxuLm5hbWUkKSkoImV4cGVyaW1lbnRBbGlhcyIsQ3koMyw3LG4uZXhwZXJpbWVudEFsaWFzJCkpLHltKCJ0aXRsZSIsQ3koMiw1LG4ubmFtZSQpKSl9LGRpcmVjdGl2ZXM6W1U0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVzQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiY2FyZC1ydW4tbmFtZSIsdGVtcGxhdGU6J1xuICAgIDxjYXJkLXJ1bi1uYW1lLWNvbXBvbmVudFxuICAgICAgW25hbWVdPSJuYW1lJCB8IGFzeW5jIlxuICAgICAgW2F0dHIudGl0bGVdPSJuYW1lJCB8IGFzeW5jIlxuICAgICAgW2V4cGVyaW1lbnRBbGlhc109ImV4cGVyaW1lbnRBbGlhcyQgfCBhc3luYyJcbiAgICA+PC9jYXJkLXJ1bi1uYW1lLWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLHtydW5JZDpbe3R5cGU6Ul99XX0pO2NvbnN0IFo0PWZ1bmN0aW9uKHQpe3JldHVybntmaWx0ZXI6dH19O2Z1bmN0aW9uIFg0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7eGYoMCksQ2YoMSwiZGl2IiwyMCksQ2YoMiwibWF0LXNsaWRlciIsMjEpLFJmKCJpbnB1dCIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25TbGlkZXJJbnB1dChuKX0pKSxNZigpLE1mKCksQ2YoMywiZGl2IiwyMiksdmYoNCwiaW1nIiwyMyksTWYoKSxPZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO0RjKDIpLGJmKCJkaXNhYmxlZCIsdC5zdGVwVmFsdWVzLmxlbmd0aDw9MSkoIm1pbiIsMCkoIm1heCIsdC5zdGVwVmFsdWVzLmxlbmd0aC0xKSgic3RlcCIsMSkoInRpY2tJbnRlcnZhbCIsMSkoInZhbHVlIix0LnN0ZXBJbmRleCksRGMoMiksQmYoImFsdCIsIkltYWdlIGF0IHN0ZXAgIix0LnN0ZXBWYWx1ZXNbdC5zdGVwSW5kZXhdLCIiKSxMZigic3JjIix0LmltYWdlVXJsLFhzKSxiZigibmdTdHlsZSIsaXkoOSxaNCx0LmNzc0ZpbHRlcigpKSl9fWZ1bmN0aW9uIEs0KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwyNSksUHUoMSwiIERhdGEgZmFpbGVkIHRvIGxvYWQuICIpLE1mKCkpfWZ1bmN0aW9uIEo0KHQsZSl7aWYoMSZ0JiZIbSgwLEs0LDIsMCwiZGl2IiwyNCksMiZ0KXtjb25zdCB0PXpmKCk7YmYoIm5nSWYiLHQubG9hZFN0YXRlPT09dC5EYXRhTG9hZFN0YXRlLkZBSUxFRCl9fWNvbnN0IFE0PWZ1bmN0aW9uKHQpe3JldHVybntiYWNrZ3JvdW5kQ29sb3I6dH19O2NsYXNzICQ0e2NvbnN0cnVjdG9yKCl7dGhpcy5EYXRhTG9hZFN0YXRlPVVFLHRoaXMub25BY3R1YWxTaXplVG9nZ2xlPW5ldyBTeSx0aGlzLnN0ZXBJbmRleENoYW5nZT1uZXcgU3ksdGhpcy5vblBpbkNsaWNrZWQ9bmV3IFN5fWNzc0ZpbHRlcigpe3JldHVybmBjb250cmFzdCgke3RoaXMuY29udHJhc3RJbk1pbGxpLzEwfSUpIGJyaWdodG5lc3MoJHt0aGlzLmJyaWdodG5lc3NJbk1pbGxpLzFlM30pYH1vblNsaWRlcklucHV0KHQpe3RoaXMuc3RlcEluZGV4Q2hhbmdlLmVtaXQodC52YWx1ZSl9fSQ0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHwkNCl9LCQ0Lsm1Y21wPXNvKHt0eXBlOiQ0LHNlbGVjdG9yczpbWyJpbWFnZS1jYXJkLWNvbXBvbmVudCJdXSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgiYWN0dWFsLXNpemUiLG4uc2hvd0FjdHVhbFNpemUpfSxpbnB1dHM6e2xvYWRTdGF0ZToibG9hZFN0YXRlIix0aXRsZToidGl0bGUiLHRhZzoidGFnIixydW5JZDoicnVuSWQiLHNhbXBsZToic2FtcGxlIixudW1TYW1wbGU6Im51bVNhbXBsZSIsaW1hZ2VVcmw6ImltYWdlVXJsIixzdGVwSW5kZXg6InN0ZXBJbmRleCIsc3RlcFZhbHVlczoic3RlcFZhbHVlcyIsYnJpZ2h0bmVzc0luTWlsbGk6ImJyaWdodG5lc3NJbk1pbGxpIixjb250cmFzdEluTWlsbGk6ImNvbnRyYXN0SW5NaWxsaSIsc2hvd0FjdHVhbFNpemU6InNob3dBY3R1YWxTaXplIixydW5Db2xvclNjYWxlOiJydW5Db2xvclNjYWxlIixhbGxvd1RvZ2dsZUFjdHVhbFNpemU6ImFsbG93VG9nZ2xlQWN0dWFsU2l6ZSIsaXNQaW5uZWQ6ImlzUGlubmVkIn0sb3V0cHV0czp7b25BY3R1YWxTaXplVG9nZ2xlOiJvbkFjdHVhbFNpemVUb2dnbGUiLHN0ZXBJbmRleENoYW5nZToic3RlcEluZGV4Q2hhbmdlIixvblBpbkNsaWNrZWQ6Im9uUGluQ2xpY2tlZCJ9LGRlY2xzOjE5LHZhcnM6MTQsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQsZTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7dD1nb29nLmdldE1zZygiUGluIGNhcmQiKX1lbHNlIHQ9JGxvY2FsaXplYDpBIGJ1dHRvbiB0byBwaW4gYSBjYXJkLuKQn2U2NjVkYzcxMmJkNWYxOGQ0ZGZhM2EyOWUxMjVkNTY1Y2M1MWUyZjbikJ83Mjg0NjA2NDI2MjM0Mzc1MzQ0OlBpbiBjYXJkYDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7ZT1nb29nLmdldE1zZygiVG9nZ2xlIGFjdHVhbCBpbWFnZSBzaXplIil9ZWxzZSBlPSRsb2NhbGl6ZWA6QSBidXR0b24gb24gYW4gaW1hZ2UgY2FyZCB0aGF0IHRvZ2dsZXMgYWN0dWFsIGltYWdlIHNpemUu4pCfM2NhMDVlZjNhNmUzYTM3MDY1ZjVlMGY2OWM1ZDVhMjE3OGQ5MDc5MeKQnzc2MzUxMDE5MzY2NjQ3ODkxNDA6VG9nZ2xlIGFjdHVhbCBpbWFnZSBzaXplYDtyZXR1cm5bWzEsImhlYWRpbmciXSxbMSwibGluZSJdLFsxLCJ0YWciLDMsInRpdGxlIiwidmFsdWUiXSxbMSwiY29udHJvbHMiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMSwicGluLWJ1dHRvbiIsMywiY2xpY2siXSxbMywic3ZnSWNvbiJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsZSwidGl0bGUiLCJUb2dnbGUgYWN0dWFsIGltYWdlIHNpemUiLDMsImRpc2FibGVkIiwiY2xpY2siXSxbInN2Z0ljb24iLCJpbWFnZV9zZWFyY2hfMjRweCJdLFsxLCJydW4iXSxbMSwiZG90IiwzLCJuZ1N0eWxlIl0sWzEsInJ1bi10ZXh0IiwzLCJydW5JZCJdLFsxLCJtZXRhZGF0YSJdLFsiY2xhc3MiLCJzdGVwIiw0LCJuZ0lmIl0sWyJjbGFzcyIsInNhbXBsZSIsNCwibmdJZiJdLFsiY2xhc3MiLCJsb2FkaW5nIiwiZGlhbWV0ZXIiLCIxOCIsNCwibmdJZiJdLFs0LCJuZ0lmIiwibmdJZkVsc2UiXSxbIm5vSW1hZ2VEYXRhIiwiIl0sWzEsInN0ZXAiXSxbMSwic2FtcGxlIl0sWyJkaWFtZXRlciIsIjE4IiwxLCJsb2FkaW5nIl0sWzEsInNsaWRlci1yb3ciXSxbImNvbG9yIiwicHJpbWFyeSIsMSwic3RlcC1zbGlkZXIiLDMsImRpc2FibGVkIiwibWluIiwibWF4Iiwic3RlcCIsInRpY2tJbnRlcnZhbCIsInZhbHVlIiwiaW5wdXQiXSxbMSwiaW1nLWNvbnRhaW5lciJdLFszLCJhbHQiLCJzcmMiLCJuZ1N0eWxlIl0sWyJjbGFzcyIsImVtcHR5LW1lc3NhZ2UiLDQsIm5nSWYiXSxbMSwiZW1wdHktbWVzc2FnZSJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwiZGl2IiwxKSx2ZigyLCJ0Yi10cnVuY2F0ZWQtcGF0aCIsMiksQ2YoMywic3BhbiIsMyksQ2YoNCwiYnV0dG9uIiw0KSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25QaW5DbGlja2VkLmVtaXQoIW4uaXNQaW5uZWQpfSkpLHZmKDUsIm1hdC1pY29uIiw1KSxNZigpLENmKDYsImJ1dHRvbiIsNiksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uQWN0dWFsU2l6ZVRvZ2dsZS5lbWl0KCl9KSksdmYoNywibWF0LWljb24iLDcpLE1mKCksTWYoKSxNZigpLENmKDgsImRpdiIsMSksQ2YoOSwic3BhbiIsOCksdmYoMTAsInNwYW4iLDkpLHZmKDExLCJjYXJkLXJ1bi1uYW1lIiwxMCksTWYoKSxDZigxMiwiZGl2IiwxMSksSG0oMTMsRzQsMywzLCJzcGFuIiwxMiksSG0oMTQsWTQsNCw2LCJzcGFuIiwxMyksSG0oMTUscTQsMSwwLCJtYXQtc3Bpbm5lciIsMTQpLE1mKCksTWYoKSxNZigpLEhtKDE2LFg0LDUsMTEsIm5nLWNvbnRhaW5lciIsMTUpLEhtKDE3LEo0LDEsMSwibmctdGVtcGxhdGUiLG51bGwsMTYscXkpKSwyJmUpe2NvbnN0IHQ9Rm0oMTgpO0RjKDIpLExmKCJ0aXRsZSIsbi50YWcpLExmKCJ2YWx1ZSIsbi50aXRsZSksRGMoMikseW0oInRpdGxlIixuLmlzUGlubmVkPyJVbnBpbiBjYXJkIjoiUGluIGNhcmQiKSxEYygxKSxiZigic3ZnSWNvbiIsbi5pc1Bpbm5lZD8ia2VlcF8yNHB4Ijoia2VlcF9vdXRsaW5lXzI0cHgiKSxEYygxKSxiZigiZGlzYWJsZWQiLCFuLmFsbG93VG9nZ2xlQWN0dWFsU2l6ZSksRGMoNCksYmYoIm5nU3R5bGUiLGl5KDEyLFE0LG4ucnVuQ29sb3JTY2FsZShuLnJ1bklkKSkpLERjKDEpLGJmKCJydW5JZCIsbi5ydW5JZCksRGMoMiksYmYoIm5nSWYiLG51bGwhPT1uLnN0ZXBJbmRleCYmbi5zdGVwSW5kZXg8bi5zdGVwVmFsdWVzLmxlbmd0aCksRGMoMSksYmYoIm5nSWYiLG4ubnVtU2FtcGxlPjEpLERjKDEpLGJmKCJuZ0lmIixuLmxvYWRTdGF0ZT09PW4uRGF0YUxvYWRTdGF0ZS5MT0FESU5HKSxEYygxKSxiZigibmdJZiIsbnVsbCE9PW4uc3RlcEluZGV4JiZuLnN0ZXBJbmRleDxuLnN0ZXBWYWx1ZXMubGVuZ3RoKSgibmdJZkVsc2UiLHQpfX0sZGlyZWN0aXZlczpbTDQsTkwsTXEsenYsVzQsUHYsYTIsd0pdLHBpcGVzOlskdl0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvO3BhZGRpbmc6MTZweDtwYWRkaW5nLXRvcDo0cHh9LmFjdHVhbC1zaXplW19uZ2hvc3QtJUNPTVAlXXtoZWlnaHQ6YXV0b30uaGVhZGluZ1tfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZToxNHB4O21hcmdpbi1ib3R0b206NHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgbWF4LWNvbnRlbnR9Lm1ldGFkYXRhW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7Z2FwOjVweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWF4LXdpZHRoOjE3NXB4O3RleHQtYWxpZ246ZW5kfS50YWdbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbn0ucGluLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICBtYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjE4cHh9LnJ1bltfbmdjb250ZW50LSVDT01QJV17YWxpZ24tc2VsZjpiYXNlbGluZTtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcH0ucnVuW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5kb3RbX25nY29udGVudC0lQ09NUCVde2ZsZXg6bm9uZTtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxM3B4O2hlaWdodDoxM3B4O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi1yaWdodDo0cHh9LnJ1bltfbmdjb250ZW50LSVDT01QJV0gICAucnVuLXRleHRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO21heC13aWR0aDoxMjBweH0ucnVuW19uZ2NvbnRlbnQtJUNPTVAlXSwgLnNhbXBsZVtfbmdjb250ZW50LSVDT01QJV0sIC5zdGVwW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2ZvbnQtc2l6ZToxM3B4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5ydW5bX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAucnVuW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuc2FtcGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLnNhbXBsZVtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnN0ZXBbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc3RlcFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9LmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO3doaXRlLXNwYWNlOm5vd3JhcDtqdXN0aWZ5LXNlbGY6ZmxleC1lbmQ7ZmxleC1zaHJpbms6MDttYXJnaW4tcmlnaHQ6LTEycHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0uaW1nLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17ZmxleDoxIDEgMDtvdmVyZmxvdy15OmF1dG87cG9zaXRpb246cmVsYXRpdmV9LmltZy1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdICAgaW1nW19uZ2NvbnRlbnQtJUNPTVAlXXtpbWFnZS1yZW5kZXJpbmc6LW1vei1jcmlzcC1lZGdlcztpbWFnZS1yZW5kZXJpbmc6cGl4ZWxhdGVkfS5hY3R1YWwtc2l6ZVtfbmdob3N0LSVDT01QJV0gICAuaW1nLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6YXV0bztmbGV4Om5vbmV9W19uZ2hvc3QtJUNPTVAlXTpub3QoLmFjdHVhbC1zaXplKSAgIGltZ1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO3dpZHRoOmF1dG87aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb250YWlufS5zbGlkZXItcm93W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDoyNHB4fS5zdGVwLXNsaWRlcltfbmdjb250ZW50LSVDT01QJV17ZmxleDoxfVtfbmdob3N0LSVDT01QJV0gICAgIC5tYXQtc2xpZGVyLW1pbi12YWx1ZSAubWF0LXNsaWRlci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmNTdjMDB9LmVtcHR5LW1lc3NhZ2VbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6MWVtO2ZvbnQtc2l6ZToxM3B4fSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYigkNCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJpbWFnZS1jYXJkLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6ImltYWdlX2NhcmRfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbImltYWdlX2NhcmRfY29tcG9uZW50LmNzcyJdLGhvc3Q6eyJbY2xhc3MuYWN0dWFsLXNpemVdIjoic2hvd0FjdHVhbFNpemUifSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtsb2FkU3RhdGU6W3t0eXBlOlJffV0sdGl0bGU6W3t0eXBlOlJffV0sdGFnOlt7dHlwZTpSX31dLHJ1bklkOlt7dHlwZTpSX31dLHNhbXBsZTpbe3R5cGU6Ul99XSxudW1TYW1wbGU6W3t0eXBlOlJffV0saW1hZ2VVcmw6W3t0eXBlOlJffV0sc3RlcEluZGV4Olt7dHlwZTpSX31dLHN0ZXBWYWx1ZXM6W3t0eXBlOlJffV0sYnJpZ2h0bmVzc0luTWlsbGk6W3t0eXBlOlJffV0sY29udHJhc3RJbk1pbGxpOlt7dHlwZTpSX31dLHNob3dBY3R1YWxTaXplOlt7dHlwZTpSX31dLHJ1bkNvbG9yU2NhbGU6W3t0eXBlOlJffV0sYWxsb3dUb2dnbGVBY3R1YWxTaXplOlt7dHlwZTpSX31dLGlzUGlubmVkOlt7dHlwZTpSX31dLG9uQWN0dWFsU2l6ZVRvZ2dsZTpbe3R5cGU6RV99XSxzdGVwSW5kZXhDaGFuZ2U6W3t0eXBlOkVffV0sb25QaW5DbGlja2VkOlt7dHlwZTpFX31dfSk7Y2xhc3MgdDZ7Y29uc3RydWN0b3IodCxlKXt0aGlzLnN0b3JlPXQsdGhpcy5kYXRhU291cmNlPWUsdGhpcy5mdWxsV2lkdGhDaGFuZ2VkPW5ldyBTeSx0aGlzLnBpblN0YXRlQ2hhbmdlZD1uZXcgU3ksdGhpcy5icmlnaHRuZXNzSW5NaWxsaSQ9dGhpcy5zdG9yZS5zZWxlY3QodnopLHRoaXMuY29udHJhc3RJbk1pbGxpJD10aGlzLnN0b3JlLnNlbGVjdCh4eiksdGhpcy5hY3R1YWxTaXplR2xvYmFsU2V0dGluZyQ9dGhpcy5zdG9yZS5zZWxlY3QoT3opLHRoaXMuc2hvd0FjdHVhbFNpemU9ITEsdGhpcy5hY3R1YWxTaXplVWlUb2dnbGVkPSExLHRoaXMuYWN0dWFsU2l6ZVVpVG9nZ2xlU3ViamVjdD1uZXcgaih0aGlzLmFjdHVhbFNpemVVaVRvZ2dsZWQpLHRoaXMubmdVbnN1YnNjcmliZT1uZXcgQn1vblN0ZXBJbmRleENoYW5nZWQodCl7dGhpcy5zdG9yZS5kaXNwYXRjaChBQSh7Y2FyZElkOnRoaXMuY2FyZElkLHN0ZXBJbmRleDp0fSkpfWlzSW1hZ2VDYXJkTWV0YWRhdGEodCl7Y29uc3R7cGx1Z2luOmV9PXQ7cmV0dXJuIGU9PT1LVC5JTUFHRVN9b25BY3R1YWxTaXplVG9nZ2xlKCl7dGhpcy5hY3R1YWxTaXplVWlUb2dnbGVkPSF0aGlzLmFjdHVhbFNpemVVaVRvZ2dsZWQsdGhpcy5hY3R1YWxTaXplVWlUb2dnbGVTdWJqZWN0Lm5leHQodGhpcy5hY3R1YWxTaXplVWlUb2dnbGVkKX1uZ09uSW5pdCgpe0t0KFt0aGlzLmFjdHVhbFNpemVHbG9iYWxTZXR0aW5nJCx0aGlzLmFjdHVhbFNpemVVaVRvZ2dsZVN1YmplY3RdKS5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSksV2UoKChbdCxlXSk9Pnt0aGlzLnNob3dBY3R1YWxTaXplPXR8fGUsdGhpcy5mdWxsV2lkdGhDaGFuZ2VkLmVtaXQodGhpcy5zaG93QWN0dWFsU2l6ZSl9KSkpLnN1YnNjcmliZSgoKCk9Pnt9KSk7Y29uc3QgdD10aGlzLnN0b3JlLnNlbGVjdChueix0aGlzLmNhcmRJZCkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLHVlKCh0PT4hIXQmJnRoaXMuaXNJbWFnZUNhcmRNZXRhZGF0YSh0KSkpLFZ0KCh0PT50KSksRmUoMSkpLGU9S3QoW3QsdGhpcy5zdG9yZS5zZWxlY3QodHosdGhpcy5jYXJkSWQpXSkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLFZ0KCgoW3QsZV0pPT57Y29uc3Qgbj10LnJ1bklkO3JldHVybiBlJiZlLmhhc093blByb3BlcnR5KG4pP2Vbbl06W119KSksd2UoKCh0LGUpPT50Lmxlbmd0aD09PWUubGVuZ3RoJiYwPT09dC5sZW5ndGh8fHQ9PT1lKSksRmUoMSkpO3RoaXMuc3RlcEluZGV4JD10aGlzLnN0b3JlLnNlbGVjdChyeix0aGlzLmNhcmRJZCksdGhpcy5sb2FkU3RhdGUkPXRoaXMuc3RvcmUuc2VsZWN0KCROLHRoaXMuY2FyZElkKTtjb25zdCBuPUt0KFtlLHRoaXMuc3RlcEluZGV4JF0pLnBpcGUoVnQoKChbdCxlXSk9Pm51bGwhPT1lJiZ0W2VdP3RbZV06bnVsbCkpKTt0aGlzLnRhZyQ9dC5waXBlKFZ0KCh0PT50LnRhZykpKSx0aGlzLnRpdGxlJD10aGlzLnRhZyQucGlwZShWdCgodD0+SDQodCx0aGlzLmdyb3VwTmFtZSkpKSksdGhpcy5ydW5JZCQ9dC5waXBlKFZ0KCh0PT50LnJ1bklkKSkpLHRoaXMuc2FtcGxlJD10LnBpcGUoVnQoKHQ9PnQuc2FtcGxlKSkpLHRoaXMubnVtU2FtcGxlJD10LnBpcGUoVnQoKHQ9PnQubnVtU2FtcGxlKSkpLHRoaXMuaW1hZ2VVcmwkPW4ucGlwZShWdCgodD0+dD90aGlzLmRhdGFTb3VyY2UuaW1hZ2VVcmwodC5pbWFnZUlkKTpudWxsKSkpLHRoaXMuc3RlcFZhbHVlcyQ9ZS5waXBlKFZ0KCh0PT50Lm1hcCgodD0+dC5zdGVwKSkpKSksdGhpcy5pc1Bpbm5lZCQ9dGhpcy5zdG9yZS5zZWxlY3QoZHosdGhpcy5jYXJkSWQpfW5nT25EZXN0cm95KCl7dGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKSx0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKX19dmFyIGU2LG42LG82O2Z1bmN0aW9uIGk2KHQsZSl7MSZ0JiYoQ2YoMCwic3BhbiIpLFB1KDEsInNjYWxhciIpLE1mKCkpfWZ1bmN0aW9uIGE2KHQsZSl7MSZ0JiYoQ2YoMCwic3BhbiIpLFB1KDEsImhpc3RvZ3JhbSIpLE1mKCkpfWZ1bmN0aW9uIHI2KHQsZSl7MSZ0JiYoQ2YoMCwic3BhbiIpLFB1KDEsInVua25vd24iKSxNZigpKX1mdW5jdGlvbiBzNih0LGUpe2lmKDEmdCYmKHhmKDAsMTMpLEhtKDEsaTYsMiwwLCJzcGFuIiwxNCksSG0oMixhNiwyLDAsInNwYW4iLDE0KSxIbSgzLHI2LDIsMCwic3BhbiIsMTUpLE9mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtiZigibmdTd2l0Y2giLHQuY2FyZE1ldGFkYXRhLnBsdWdpbiksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsdC5QbHVnaW5UeXBlLlNDQUxBUlMpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLHQuUGx1Z2luVHlwZS5ISVNUT0dSQU1TKX19ZnVuY3Rpb24gbDYodCxlKXsxJnQmJlBmKDApfWZ1bmN0aW9uIGM2KHQsZSl7aWYoMSZ0JiYoQ2YoMCwib3B0aW9uIiwxNiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0O2JmKCJ2YWx1ZSIsdC5pZCksRGMoMSksd3UodC5uYW1lKX19ZnVuY3Rpb24gZDYodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTt4ZigwKSxDZigxLCJoMiIpLEhtKDIsczYsNCwzLCJuZy10ZW1wbGF0ZSIsbnVsbCwyLHF5KSxDZig0LCJzcGFuIiksUHUoNSwiRG93bmxvYWTCoCIpLE1mKCksSG0oNixsNiwxLDAsIm5nLWNvbnRhaW5lciIsMyksQ2YoNywic3BhbiIpLFB1KDgsIsKgZGF0YSBmb3LCoCIpLE1mKCksQ2YoOSwiY29kZSIsNCksUHUoMTApLE1mKCksTWYoKSxDZigxMSwibWF0LWRpYWxvZy1jb250ZW50IiksQ2YoMTIsIm1hdC1mb3JtLWZpZWxkIiw1KSxDZigxMywibWF0LWxhYmVsIiksUHUoMTQsIlNlbGVjdCBhIHJ1biB0byBkb3dubG9hZCBhIGRhdGEgZm9yIGEgc2VyaWVzIiksTWYoKSxDZigxNSwic2VsZWN0Iiw2KSxSZigiY2hhbmdlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5ydW5TZWxlY3RlZC5lbWl0KG4udGFyZ2V0LnZhbHVlKX0pKSxDZigxNiwib3B0aW9uIiw3KSxQdSgxNywiLSIpLE1mKCksSG0oMTgsYzYsMiwyLCJvcHRpb24iLDgpLE1mKCksTWYoKSxDZigxOSwiZGl2Iiw5KSxDZigyMCwic3BhbiIpLFB1KDIxLCJEb3dubG9hZCBhc+KApiIpLE1mKCksUHUoMjIsIsKgIiksQ2YoMjMsImEiLDEwKSxQdSgyNCwiSlNPTiIpLE1mKCksQ2YoMjUsImEiLDEwKSxQdSgyNiwiQ1NWIiksTWYoKSxNZigpLE1mKCksQ2YoMjcsIm1hdC1kaWFsb2ctYWN0aW9ucyIsMTEpLENmKDI4LCJidXR0b24iLDEyKSxQdSgyOSwiQ2xvc2UiKSxNZigpLE1mKCksT2YoKX1pZigyJnQpe2NvbnN0IHQ9Rm0oMyksZT16ZigpO0RjKDYpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0Iix0KSxEYygzKSxiZigidGl0bGUiLGUuY2FyZE1ldGFkYXRhLnRhZyksRGMoMSksd3UoZS5jYXJkTWV0YWRhdGEudGFnKSxEYyg1KSxiZigidmFsdWUiLGUuc2VsZWN0ZWRSdW5JZHx8IiIpLERjKDEpLGJmKCJ2YWx1ZSIsIiIpLERjKDIpLGJmKCJuZ0Zvck9mIixlLnJ1bnMpLERjKDUpLGJmKCJkaXNhYmxlZCIsIWUuZG93bmxvYWRVcmxKc29uKSgiZG93bmxvYWQiLGUuZ2V0RG93bmxvYWROYW1lKCJqc29uIikpLHltKCJocmVmIixlLmRvd25sb2FkVXJsSnNvbixYcyksRGMoMiksYmYoImRpc2FibGVkIiwhZS5kb3dubG9hZFVybENzdikoImRvd25sb2FkIixlLmdldERvd25sb2FkTmFtZSgiY3N2IikpLHltKCJocmVmIixlLmRvd25sb2FkVXJsQ3N2LFhzKX19ZnVuY3Rpb24gcDYodCxlKXsxJnQmJlB1KDAsIkxvYWRpbmcuLi4iKX10Ni7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dDYpKGdmKGlTKSxnZihhTikpfSx0Ni7JtWNtcD1zbyh7dHlwZTp0NixzZWxlY3RvcnM6W1siaW1hZ2UtY2FyZCJdXSxpbnB1dHM6e2NhcmRJZDoiY2FyZElkIixncm91cE5hbWU6Imdyb3VwTmFtZSIscnVuQ29sb3JTY2FsZToicnVuQ29sb3JTY2FsZSJ9LG91dHB1dHM6e2Z1bGxXaWR0aENoYW5nZWQ6ImZ1bGxXaWR0aENoYW5nZWQiLHBpblN0YXRlQ2hhbmdlZDoicGluU3RhdGVDaGFuZ2VkIn0sZGVjbHM6MTQsdmFyczo0MSxjb25zdHM6W1szLCJsb2FkU3RhdGUiLCJ0aXRsZSIsInRhZyIsInJ1bklkIiwic2FtcGxlIiwibnVtU2FtcGxlIiwiaW1hZ2VVcmwiLCJzdGVwSW5kZXgiLCJzdGVwVmFsdWVzIiwiYnJpZ2h0bmVzc0luTWlsbGkiLCJjb250cmFzdEluTWlsbGkiLCJydW5Db2xvclNjYWxlIiwic2hvd0FjdHVhbFNpemUiLCJhbGxvd1RvZ2dsZUFjdHVhbFNpemUiLCJpc1Bpbm5lZCIsInN0ZXBJbmRleENoYW5nZSIsIm9uQWN0dWFsU2l6ZVRvZ2dsZSIsIm9uUGluQ2xpY2tlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiaW1hZ2UtY2FyZC1jb21wb25lbnQiLDApLFJmKCJzdGVwSW5kZXhDaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uU3RlcEluZGV4Q2hhbmdlZChlKX0pKSgib25BY3R1YWxTaXplVG9nZ2xlIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uQWN0dWFsU2l6ZVRvZ2dsZSgpfSkpKCJvblBpbkNsaWNrZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnBpblN0YXRlQ2hhbmdlZC5lbWl0KGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIiksX3koNSwiYXN5bmMiKSxfeSg2LCJhc3luYyIpLF95KDcsImFzeW5jIiksX3koOCwiYXN5bmMiKSxfeSg5LCJhc3luYyIpLF95KDEwLCJhc3luYyIpLF95KDExLCJhc3luYyIpLF95KDEyLCJhc3luYyIpLF95KDEzLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoImxvYWRTdGF0ZSIsQ3koMSwxNSxuLmxvYWRTdGF0ZSQpKSgidGl0bGUiLEN5KDIsMTcsbi50aXRsZSQpKSgidGFnIixDeSgzLDE5LG4udGFnJCkpKCJydW5JZCIsQ3koNCwyMSxuLnJ1bklkJCkpKCJzYW1wbGUiLEN5KDUsMjMsbi5zYW1wbGUkKSkoIm51bVNhbXBsZSIsQ3koNiwyNSxuLm51bVNhbXBsZSQpKSgiaW1hZ2VVcmwiLEN5KDcsMjcsbi5pbWFnZVVybCQpKSgic3RlcEluZGV4IixDeSg4LDI5LG4uc3RlcEluZGV4JCkpKCJzdGVwVmFsdWVzIixDeSg5LDMxLG4uc3RlcFZhbHVlcyQpKSgiYnJpZ2h0bmVzc0luTWlsbGkiLEN5KDEwLDMzLG4uYnJpZ2h0bmVzc0luTWlsbGkkKSkoImNvbnRyYXN0SW5NaWxsaSIsQ3koMTEsMzUsbi5jb250cmFzdEluTWlsbGkkKSkoInJ1bkNvbG9yU2NhbGUiLG4ucnVuQ29sb3JTY2FsZSkoInNob3dBY3R1YWxTaXplIixuLnNob3dBY3R1YWxTaXplKSgiYWxsb3dUb2dnbGVBY3R1YWxTaXplIiwhMT09PUN5KDEyLDM3LG4uYWN0dWFsU2l6ZUdsb2JhbFNldHRpbmckKSkoImlzUGlubmVkIixDeSgxMywzOSxuLmlzUGlubmVkJCkpfSxkaXJlY3RpdmVzOlskNF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHQ2LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImltYWdlLWNhcmQiLHRlbXBsYXRlOidcbiAgICA8aW1hZ2UtY2FyZC1jb21wb25lbnRcbiAgICAgIFtsb2FkU3RhdGVdPSJsb2FkU3RhdGUkIHwgYXN5bmMiXG4gICAgICBbdGl0bGVdPSJ0aXRsZSQgfCBhc3luYyJcbiAgICAgIFt0YWddPSJ0YWckIHwgYXN5bmMiXG4gICAgICBbcnVuSWRdPSJydW5JZCQgfCBhc3luYyJcbiAgICAgIFtzYW1wbGVdPSJzYW1wbGUkIHwgYXN5bmMiXG4gICAgICBbbnVtU2FtcGxlXT0ibnVtU2FtcGxlJCB8IGFzeW5jIlxuICAgICAgW2ltYWdlVXJsXT0iaW1hZ2VVcmwkIHwgYXN5bmMiXG4gICAgICBbc3RlcEluZGV4XT0ic3RlcEluZGV4JCB8IGFzeW5jIlxuICAgICAgW3N0ZXBWYWx1ZXNdPSJzdGVwVmFsdWVzJCB8IGFzeW5jIlxuICAgICAgKHN0ZXBJbmRleENoYW5nZSk9Im9uU3RlcEluZGV4Q2hhbmdlZCgkZXZlbnQpIlxuICAgICAgW2JyaWdodG5lc3NJbk1pbGxpXT0iYnJpZ2h0bmVzc0luTWlsbGkkIHwgYXN5bmMiXG4gICAgICBbY29udHJhc3RJbk1pbGxpXT0iY29udHJhc3RJbk1pbGxpJCB8IGFzeW5jIlxuICAgICAgW3J1bkNvbG9yU2NhbGVdPSJydW5Db2xvclNjYWxlIlxuICAgICAgW3Nob3dBY3R1YWxTaXplXT0ic2hvd0FjdHVhbFNpemUiXG4gICAgICBbYWxsb3dUb2dnbGVBY3R1YWxTaXplXT0iKGFjdHVhbFNpemVHbG9iYWxTZXR0aW5nJCB8IGFzeW5jKSA9PT0gZmFsc2UiXG4gICAgICBbaXNQaW5uZWRdPSJpc1Bpbm5lZCQgfCBhc3luYyJcbiAgICAgIChvbkFjdHVhbFNpemVUb2dnbGUpPSJvbkFjdHVhbFNpemVUb2dnbGUoKSJcbiAgICAgIChvblBpbkNsaWNrZWQpPSJwaW5TdGF0ZUNoYW5nZWQuZW1pdCgkZXZlbnQpIlxuICAgID48L2ltYWdlLWNhcmQtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU30se3R5cGU6YU59XX0pLHtjYXJkSWQ6W3t0eXBlOlJffV0sZ3JvdXBOYW1lOlt7dHlwZTpSX31dLHJ1bkNvbG9yU2NhbGU6W3t0eXBlOlJffV0sZnVsbFdpZHRoQ2hhbmdlZDpbe3R5cGU6RV99XSxwaW5TdGF0ZUNoYW5nZWQ6W3t0eXBlOkVffV19KSwoZnVuY3Rpb24odCl7dFt0LlNWRz0wXT0iU1ZHIix0W3QuV0VCR0w9MV09IldFQkdMIn0pKGU2fHwoZTY9e30pKSwoZnVuY3Rpb24odCl7dFt0LkxJTkVBUj0wXT0iTElORUFSIix0W3QuTE9HMTA9MV09IkxPRzEwIix0W3QuVElNRT0yXT0iVElNRSJ9KShuNnx8KG42PXt9KSk7Y2xhc3MgbTZ7Y29uc3RydWN0b3IoKXt0aGlzLnJ1blNlbGVjdGVkPW5ldyBTeSx0aGlzLlBsdWdpblR5cGU9S1R9Z2V0RG93bmxvYWROYW1lKHQpe2NvbnN0IGU9dGhpcy5ydW5zLmZpbmQoKHQ9PnQuaWQ9PT10aGlzLnNlbGVjdGVkUnVuSWQpKTtyZXR1cm4gZT9gJHtlLm5hbWV9LiR7dH1gOiIifX1tNi7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bTYpfSxtNi7JtWNtcD1zbyh7dHlwZTptNixzZWxlY3RvcnM6W1siZGF0YV9kb3dubG9hZF9kaWFsb2dfY29tcG9uZW50Il1dLGlucHV0czp7Y2FyZE1ldGFkYXRhOiJjYXJkTWV0YWRhdGEiLHJ1bnM6InJ1bnMiLHNlbGVjdGVkUnVuSWQ6InNlbGVjdGVkUnVuSWQiLGRvd25sb2FkVXJsQ3N2OiJkb3dubG9hZFVybENzdiIsZG93bmxvYWRVcmxKc29uOiJkb3dubG9hZFVybEpzb24ifSxvdXRwdXRzOntydW5TZWxlY3RlZDoicnVuU2VsZWN0ZWQifSxkZWNsczozLHZhcnM6Mixjb25zdHM6W1s0LCJuZ0lmIiwibmdJZkVsc2UiXSxbIm5vQ2FyZE1ldGFkYXRhIiwiIl0sWyJkYXRhTmFtZSIsIiJdLFs0LCJuZ1RlbXBsYXRlT3V0bGV0Il0sWzEsInRhZy1uYW1lIiwzLCJ0aXRsZSJdLFsiYXBwZWFyYW5jZSIsImZpbGwiLDEsInJ1bi1zZWxlY3RvciJdLFsibWF0TmF0aXZlQ29udHJvbCIsIiIsIm5hbWUiLCJydW4iLCJjZGtGb2N1c0luaXRpYWwiLCIiLCJyZXF1aXJlZCIsIiIsMywidmFsdWUiLCJjaGFuZ2UiXSxbInNlbGVjdGVkIiwiIiwzLCJ2YWx1ZSJdLFszLCJ2YWx1ZSIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzEsImRvd25sb2FkLWNvbnRyb2xzIl0sWyJtYXQtc3Ryb2tlZC1idXR0b24iLCIiLDMsImRpc2FibGVkIiwiZG93bmxvYWQiXSxbImFsaWduIiwiZW5kIl0sWyJtYXQtYnV0dG9uIiwiIiwibWF0LWRpYWxvZy1jbG9zZSIsIiJdLFszLCJuZ1N3aXRjaCJdLFs0LCJuZ1N3aXRjaENhc2UiXSxbNCwiTmdTd2l0Y2hEZWZhdWx0Il0sWzMsInZhbHVlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihIbSgwLGQ2LDMwLDEyLCJuZy1jb250YWluZXIiLDApLEhtKDEscDYsMSwwLCJuZy10ZW1wbGF0ZSIsbnVsbCwxLHF5KSksMiZlKXtjb25zdCB0PUZtKDIpO2JmKCJuZ0lmIixuLmNhcmRNZXRhZGF0YSkoIm5nSWZFbHNlIix0KX19LGRpcmVjdGl2ZXM6W1B2LEl2LCRZLF9VLGNVLEFaLGtHLEVHLHh2LHpMLHRxLE5MLEpZLER2LFJ2XSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1oMltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEuMjVlbTtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LnJ1bi1zZWxlY3Rvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOi45ZW07d2lkdGg6MTAwJX0uZG93bmxvYWQtY29udHJvbHNbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTouOWVtfS5kb3dubG9hZC1jb250cm9sc1tfbmdjb250ZW50LSVDT01QJV0gICBhW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46M3B4IDEwcHggM3B4IDB9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG02LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImRhdGFfZG93bmxvYWRfZGlhbG9nX2NvbXBvbmVudCIsdGVtcGxhdGVVcmw6ImRhdGFfZG93bmxvYWRfZGlhbG9nX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyJkYXRhX2Rvd25sb2FkX2RpYWxvZ19jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7Y2FyZE1ldGFkYXRhOlt7dHlwZTpSX31dLHJ1bnM6W3t0eXBlOlJffV0sc2VsZWN0ZWRSdW5JZDpbe3R5cGU6Ul99XSxkb3dubG9hZFVybENzdjpbe3R5cGU6Ul99XSxkb3dubG9hZFVybEpzb246W3t0eXBlOlJffV0scnVuU2VsZWN0ZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBmNntjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5zZWxlY3RlZFJ1bklkJD1uZXcgaihudWxsKSx0aGlzLmNhcmRNZXRhZGF0YSQ9dC5zZWxlY3Qobnosbi5jYXJkSWQpLnBpcGUodWUoKHQ9PkJvb2xlYW4odCkpKSksdGhpcy5kb3dubG9hZFVybENzdiQ9S3QoW3Quc2VsZWN0KG56LG4uY2FyZElkKSx0aGlzLnNlbGVjdGVkUnVuSWQkXSkucGlwZShWdCgoKFt0LG5dKT0+dCYmbj9lLmRvd25sb2FkVXJsKHQucGx1Z2luLHQudGFnLG4sImNzdiIpOm51bGwpKSxCZShudWxsKSksdGhpcy5kb3dubG9hZFVybEpzb24kPUt0KFt0LnNlbGVjdChueixuLmNhcmRJZCksdGhpcy5zZWxlY3RlZFJ1bklkJF0pLnBpcGUoVnQoKChbdCxuXSk9PnQmJm4/ZS5kb3dubG9hZFVybCh0LnBsdWdpbix0LnRhZyxuLCJqc29uIik6bnVsbCkpLEJlKG51bGwpKSx0aGlzLnJ1bnMkPUt0KFt0LnNlbGVjdChYeiksdC5zZWxlY3QodHosbi5jYXJkSWQpXSkucGlwZShWdCgoKFt0LGVdKT0+ZT9PYmplY3Qua2V5cyhlKS5tYXAoKGU9PnQuZ2V0KGUpKSkuZmlsdGVyKEJvb2xlYW4pOltdKSkpfX1mdW5jdGlvbiB1Nih0LGUpe3JldHVybiB0PGU/LTE6dD5lPzE6dD49ZT8wOk5hTn1mdW5jdGlvbiBnNih0KXtyZXR1cm4gMT09PXQubGVuZ3RoJiYodD0oZnVuY3Rpb24gZSh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gdTYodChlKSxuKX19KSh0KSkse2xlZnQ6ZnVuY3Rpb24oZSxuLG8saSl7Zm9yKG51bGw9PW8mJihvPTApLG51bGw9PWkmJihpPWUubGVuZ3RoKTtvPGk7KXt2YXIgYT1vK2k+Pj4xO3QoZVthXSxuKTwwP289YSsxOmk9YX1yZXR1cm4gb30scmlnaHQ6ZnVuY3Rpb24oZSxuLG8saSl7Zm9yKG51bGw9PW8mJihvPTApLG51bGw9PWkmJihpPWUubGVuZ3RoKTtvPGk7KXt2YXIgYT1vK2k+Pj4xO3QoZVthXSxuKT4wP2k9YTpvPWErMX1yZXR1cm4gb319fWY2Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxmNikoZ2YoaVMpLGdmKGFOKSxnZihVWSkpfSxmNi7JtWNtcD1zbyh7dHlwZTpmNixzZWxlY3RvcnM6W1siZGF0YV9kb3dubG9hZF9kaWFsb2ciXV0sZGVjbHM6Nix2YXJzOjE1LGNvbnN0czpbWzMsImNhcmRNZXRhZGF0YSIsInJ1bnMiLCJzZWxlY3RlZFJ1bklkIiwiZG93bmxvYWRVcmxDc3YiLCJkb3dubG9hZFVybEpzb24iLCJydW5TZWxlY3RlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZGF0YV9kb3dubG9hZF9kaWFsb2dfY29tcG9uZW50IiwwKSxSZigicnVuU2VsZWN0ZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnNlbGVjdGVkUnVuSWQkLm5leHQoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxfeSg1LCJhc3luYyIpLE1mKCkpLDImZSYmYmYoImNhcmRNZXRhZGF0YSIsQ3koMSw1LG4uY2FyZE1ldGFkYXRhJCkpKCJydW5zIixDeSgyLDcsbi5ydW5zJCkpKCJzZWxlY3RlZFJ1bklkIixDeSgzLDksbi5zZWxlY3RlZFJ1bklkJCkpKCJkb3dubG9hZFVybENzdiIsQ3koNCwxMSxuLmRvd25sb2FkVXJsQ3N2JCkpKCJkb3dubG9hZFVybEpzb24iLEN5KDUsMTMsbi5kb3dubG9hZFVybEpzb24kKSl9LGRpcmVjdGl2ZXM6W202XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZjYsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoiZGF0YV9kb3dubG9hZF9kaWFsb2ciLHRlbXBsYXRlOic8ZGF0YV9kb3dubG9hZF9kaWFsb2dfY29tcG9uZW50XG4gICAgW2NhcmRNZXRhZGF0YV09ImNhcmRNZXRhZGF0YSQgfCBhc3luYyJcbiAgICBbcnVuc109InJ1bnMkIHwgYXN5bmMiXG4gICAgW3NlbGVjdGVkUnVuSWRdPSJzZWxlY3RlZFJ1bklkJCB8IGFzeW5jIlxuICAgIFtkb3dubG9hZFVybENzdl09ImRvd25sb2FkVXJsQ3N2JCB8IGFzeW5jIlxuICAgIFtkb3dubG9hZFVybEpzb25dPSJkb3dubG9hZFVybEpzb24kIHwgYXN5bmMiXG4gICAgKHJ1blNlbGVjdGVkKT0ic2VsZWN0ZWRSdW5JZCQubmV4dCgkZXZlbnQpIlxuICA+PC9kYXRhX2Rvd25sb2FkX2RpYWxvZ19jb21wb25lbnQ+JyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9LHt0eXBlOmFOfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbVVldfV19XX0pLG51bGwpLChmdW5jdGlvbih0KXt0W3QuT1JJR0lOQUw9MF09Ik9SSUdJTkFMIix0W3QuREVSSVZFRD0xXT0iREVSSVZFRCJ9KShvNnx8KG82PXt9KSk7dmFyIGg2PWc2KHU2KS5yaWdodDtmdW5jdGlvbiBiNih0LGUpe3ZhciBuLG8saSxhPXQubGVuZ3RoLHI9LTE7aWYobnVsbD09ZSl7Zm9yKDsrK3I8YTspaWYobnVsbCE9KG49dFtyXSkmJm4+PW4pZm9yKG89aT1uOysrcjxhOyludWxsIT0obj10W3JdKSYmKG8+biYmKG89biksaTxuJiYoaT1uKSl9ZWxzZSBmb3IoOysrcjxhOylpZihudWxsIT0obj1lKHRbcl0scix0KSkmJm4+PW4pZm9yKG89aT1uOysrcjxhOyludWxsIT0obj1lKHRbcl0scix0KSkmJihvPm4mJihvPW4pLGk8biYmKGk9bikpO3JldHVybltvLGldfXZhciB5Nj1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gXzYodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHR9fWZ1bmN0aW9uIEM2KHQpe3JldHVybiB0fWZ1bmN0aW9uIE02KHQsZSxuKXt0PSt0LGU9K2Usbj0oaT1hcmd1bWVudHMubGVuZ3RoKTwyPyhlPXQsdD0wLDEpOmk8Mz8xOituO2Zvcih2YXIgbz0tMSxpPTB8TWF0aC5tYXgoMCxNYXRoLmNlaWwoKGUtdCkvbikpLGE9bmV3IEFycmF5KGkpOysrbzxpOylhW29dPXQrbypuO3JldHVybiBhfXZhciB2Nj1NYXRoLnNxcnQoNTApLHg2PU1hdGguc3FydCgxMCksTzY9TWF0aC5zcXJ0KDIpO2Z1bmN0aW9uIFA2KHQsZSxuKXt2YXIgbyxpLGEscixzPS0xO2lmKG49K24sKHQ9K3QpPT09KGU9K2UpJiZuPjApcmV0dXJuW3RdO2lmKChvPWU8dCkmJihpPXQsdD1lLGU9aSksMD09PShyPXc2KHQsZSxuKSl8fCFpc0Zpbml0ZShyKSlyZXR1cm5bXTtpZihyPjApZm9yKHQ9TWF0aC5jZWlsKHQvciksZT1NYXRoLmZsb29yKGUvciksYT1uZXcgQXJyYXkoaT1NYXRoLmNlaWwoZS10KzEpKTsrK3M8aTspYVtzXT0odCtzKSpyO2Vsc2UgZm9yKHQ9TWF0aC5mbG9vcih0KnIpLGU9TWF0aC5jZWlsKGUqciksYT1uZXcgQXJyYXkoaT1NYXRoLmNlaWwodC1lKzEpKTsrK3M8aTspYVtzXT0odC1zKS9yO3JldHVybiBvJiZhLnJldmVyc2UoKSxhfWZ1bmN0aW9uIHc2KHQsZSxuKXt2YXIgbz0oZS10KS9NYXRoLm1heCgwLG4pLGk9TWF0aC5mbG9vcihNYXRoLmxvZyhvKS9NYXRoLkxOMTApLGE9by9NYXRoLnBvdygxMCxpKTtyZXR1cm4gaT49MD8oYT49djY/MTA6YT49eDY/NTphPj1PNj8yOjEpKk1hdGgucG93KDEwLGkpOi1NYXRoLnBvdygxMCwtaSkvKGE+PXY2PzEwOmE+PXg2PzU6YT49TzY/MjoxKX1mdW5jdGlvbiBrNih0LGUsbil7dmFyIG89TWF0aC5hYnMoZS10KS9NYXRoLm1heCgwLG4pLGk9TWF0aC5wb3coMTAsTWF0aC5mbG9vcihNYXRoLmxvZyhvKS9NYXRoLkxOMTApKSxhPW8vaTtyZXR1cm4gYT49djY/aSo9MTA6YT49eDY/aSo9NTphPj1PNiYmKGkqPTIpLGU8dD8taTppfWZ1bmN0aW9uIFM2KHQpe3JldHVybiBNYXRoLmNlaWwoTWF0aC5sb2codC5sZW5ndGgpL01hdGguTE4yKSsxfWZ1bmN0aW9uIEQ2KCl7dmFyIHQ9QzYsZT1iNixuPVM2O2Z1bmN0aW9uIG8obyl7dmFyIGksYSxyPW8ubGVuZ3RoLHM9bmV3IEFycmF5KHIpO2ZvcihpPTA7aTxyOysraSlzW2ldPXQob1tpXSxpLG8pO3ZhciBsPWUocyksYz1sWzBdLGQ9bFsxXSxwPW4ocyxjLGQpO0FycmF5LmlzQXJyYXkocCl8fChwPWs2KGMsZCxwKSxwPU02KE1hdGguY2VpbChjL3ApKnAsZCxwKSk7Zm9yKHZhciBtPXAubGVuZ3RoO3BbMF08PWM7KXAuc2hpZnQoKSwtLW07Zm9yKDtwW20tMV0+ZDspcC5wb3AoKSwtLW07dmFyIGYsdT1uZXcgQXJyYXkobSsxKTtmb3IoaT0wO2k8PW07KytpKShmPXVbaV09W10pLngwPWk+MD9wW2ktMV06YyxmLngxPWk8bT9wW2ldOmQ7Zm9yKGk9MDtpPHI7KytpKWM8PShhPXNbaV0pJiZhPD1kJiZ1W2g2KHAsYSwwLG0pXS5wdXNoKG9baV0pO3JldHVybiB1fXJldHVybiBvLnZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0PSJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6XzYoZSksbyk6dH0sby5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpfNihbdFswXSx0WzFdXSksbyk6ZX0sby50aHJlc2hvbGRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6QXJyYXkuaXNBcnJheSh0KT9fNih5Ni5jYWxsKHQpKTpfNih0KSxvKTpufSxvfXZhciBSNj1BcnJheS5wcm90b3R5cGUuc2xpY2U7ZnVuY3Rpb24gRTYodCl7cmV0dXJuIHR9dmFyIEE2PTFlLTY7ZnVuY3Rpb24gVDYodCl7cmV0dXJuInRyYW5zbGF0ZSgiKyh0Ky41KSsiLDApIn1mdW5jdGlvbiBONih0KXtyZXR1cm4idHJhbnNsYXRlKDAsIisodCsuNSkrIikifWZ1bmN0aW9uIHo2KHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4rdChlKX19ZnVuY3Rpb24gSTYodCl7dmFyIGU9TWF0aC5tYXgoMCx0LmJhbmR3aWR0aCgpLTEpLzI7cmV0dXJuIHQucm91bmQoKSYmKGU9TWF0aC5yb3VuZChlKSksZnVuY3Rpb24obil7cmV0dXJuK3QobikrZX19ZnVuY3Rpb24gSDYoKXtyZXR1cm4hdGhpcy5fX2F4aXN9ZnVuY3Rpb24gRjYodCxlKXt2YXIgbj1bXSxvPW51bGwsaT1udWxsLGE9NixyPTYscz0zLGw9MT09PXR8fDQ9PT10Py0xOjEsYz00PT09dHx8Mj09PXQ/IngiOiJ5IixkPTE9PT10fHwzPT09dD9UNjpONjtmdW5jdGlvbiBwKHApe3ZhciBtPW51bGw9PW8/ZS50aWNrcz9lLnRpY2tzLmFwcGx5KGUsbik6ZS5kb21haW4oKTpvLGY9bnVsbD09aT9lLnRpY2tGb3JtYXQ/ZS50aWNrRm9ybWF0LmFwcGx5KGUsbik6RTY6aSx1PU1hdGgubWF4KGEsMCkrcyxnPWUucmFuZ2UoKSxoPStnWzBdKy41LGI9K2dbZy5sZW5ndGgtMV0rLjUseT0oZS5iYW5kd2lkdGg/STY6ejYpKGUuY29weSgpKSxfPXAuc2VsZWN0aW9uP3Auc2VsZWN0aW9uKCk6cCxDPV8uc2VsZWN0QWxsKCIuZG9tYWluIikuZGF0YShbbnVsbF0pLE09Xy5zZWxlY3RBbGwoIi50aWNrIikuZGF0YShtLGUpLm9yZGVyKCksdj1NLmV4aXQoKSx4PU0uZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsInRpY2siKSxPPU0uc2VsZWN0KCJsaW5lIiksUD1NLnNlbGVjdCgidGV4dCIpO0M9Qy5tZXJnZShDLmVudGVyKCkuaW5zZXJ0KCJwYXRoIiwiLnRpY2siKS5hdHRyKCJjbGFzcyIsImRvbWFpbiIpLmF0dHIoInN0cm9rZSIsImN1cnJlbnRDb2xvciIpKSxNPU0ubWVyZ2UoeCksTz1PLm1lcmdlKHguYXBwZW5kKCJsaW5lIikuYXR0cigic3Ryb2tlIiwiY3VycmVudENvbG9yIikuYXR0cihjKyIyIixsKmEpKSxQPVAubWVyZ2UoeC5hcHBlbmQoInRleHQiKS5hdHRyKCJmaWxsIiwiY3VycmVudENvbG9yIikuYXR0cihjLGwqdSkuYXR0cigiZHkiLDE9PT10PyIwZW0iOjM9PT10PyIwLjcxZW0iOiIwLjMyZW0iKSkscCE9PV8mJihDPUMudHJhbnNpdGlvbihwKSxNPU0udHJhbnNpdGlvbihwKSxPPU8udHJhbnNpdGlvbihwKSxQPVAudHJhbnNpdGlvbihwKSx2PXYudHJhbnNpdGlvbihwKS5hdHRyKCJvcGFjaXR5IixBNikuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9eSh0KSk/ZCh0KTp0aGlzLmdldEF0dHJpYnV0ZSgidHJhbnNmb3JtIil9KSkseC5hdHRyKCJvcGFjaXR5IixBNikuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5wYXJlbnROb2RlLl9fYXhpcztyZXR1cm4gZChlJiZpc0Zpbml0ZShlPWUodCkpP2U6eSh0KSl9KSkpLHYucmVtb3ZlKCksQy5hdHRyKCJkIiw0PT09dHx8Mj09dD9yPyJNIitsKnIrIiwiK2grIkgwLjVWIitiKyJIIitsKnI6Ik0wLjUsIitoKyJWIitiOnI/Ik0iK2grIiwiK2wqcisiVjAuNUgiK2IrIlYiK2wqcjoiTSIraCsiLDAuNUgiK2IpLE0uYXR0cigib3BhY2l0eSIsMSkuYXR0cigidHJhbnNmb3JtIiwoZnVuY3Rpb24odCl7cmV0dXJuIGQoeSh0KSl9KSksTy5hdHRyKGMrIjIiLGwqYSksUC5hdHRyKGMsbCp1KS50ZXh0KGYpLF8uZmlsdGVyKEg2KS5hdHRyKCJmaWxsIiwibm9uZSIpLmF0dHIoImZvbnQtc2l6ZSIsMTApLmF0dHIoImZvbnQtZmFtaWx5Iiwic2Fucy1zZXJpZiIpLmF0dHIoInRleHQtYW5jaG9yIiwyPT09dD8ic3RhcnQiOjQ9PT10PyJlbmQiOiJtaWRkbGUiKSxfLmVhY2goKGZ1bmN0aW9uKCl7dGhpcy5fX2F4aXM9eX0pKX1yZXR1cm4gcC5zY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oZT10LHApOmV9LHAudGlja3M9ZnVuY3Rpb24oKXtyZXR1cm4gbj1SNi5jYWxsKGFyZ3VtZW50cykscH0scC50aWNrQXJndW1lbnRzPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPW51bGw9PXQ/W106UjYuY2FsbCh0KSxwKTpuLnNsaWNlKCl9LHAudGlja1ZhbHVlcz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz1udWxsPT10P251bGw6UjYuY2FsbCh0KSxwKTpvJiZvLnNsaWNlKCl9LHAudGlja0Zvcm1hdD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaT10LHApOml9LHAudGlja1NpemU9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9cj0rdCxwKTphfSxwLnRpY2tTaXplSW5uZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGE9K3QscCk6YX0scC50aWNrU2l6ZU91dGVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhyPSt0LHApOnJ9LHAudGlja1BhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9K3QscCk6c30scH1mdW5jdGlvbiBMNih0KXtyZXR1cm4gRjYoMix0KX1mdW5jdGlvbiBCNih0KXtyZXR1cm4gRjYoMyx0KX12YXIgVjY9e3ZhbHVlOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gajYoKXtmb3IodmFyIHQsZT0wLG49YXJndW1lbnRzLmxlbmd0aCxvPXt9O2U8bjsrK2Upe2lmKCEodD1hcmd1bWVudHNbZV0rIiIpfHx0IGluIG98fC9bXHMuXS8udGVzdCh0KSl0aHJvdyBuZXcgRXJyb3IoImlsbGVnYWwgdHlwZTogIit0KTtvW3RdPVtdfXJldHVybiBuZXcgVTYobyl9ZnVuY3Rpb24gVTYodCl7dGhpcy5fPXR9ZnVuY3Rpb24gVzYodCxlKXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKChmdW5jdGlvbih0KXt2YXIgbj0iIixvPXQuaW5kZXhPZigiLiIpO2lmKG8+PTAmJihuPXQuc2xpY2UobysxKSx0PXQuc2xpY2UoMCxvKSksdCYmIWUuaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7cmV0dXJue3R5cGU6dCxuYW1lOm59fSkpfWZ1bmN0aW9uIEc2KHQsZSl7Zm9yKHZhciBuLG89MCxpPXQubGVuZ3RoO288aTsrK28paWYoKG49dFtvXSkubmFtZT09PWUpcmV0dXJuIG4udmFsdWV9ZnVuY3Rpb24gWTYodCxlLG4pe2Zvcih2YXIgbz0wLGk9dC5sZW5ndGg7bzxpOysrbylpZih0W29dLm5hbWU9PT1lKXt0W29dPVY2LHQ9dC5zbGljZSgwLG8pLmNvbmNhdCh0LnNsaWNlKG8rMSkpO2JyZWFrfXJldHVybiBudWxsIT1uJiZ0LnB1c2goe25hbWU6ZSx2YWx1ZTpufSksdH1VNi5wcm90b3R5cGU9ajYucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpVNixvbjpmdW5jdGlvbih0LGUpe3ZhciBuLG89dGhpcy5fLGk9VzYodCsiIixvKSxhPS0xLHI9aS5sZW5ndGg7aWYoIShhcmd1bWVudHMubGVuZ3RoPDIpKXtpZihudWxsIT1lJiYiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgY2FsbGJhY2s6ICIrZSk7Zm9yKDsrK2E8cjspaWYobj0odD1pW2FdKS50eXBlKW9bbl09WTYob1tuXSx0Lm5hbWUsZSk7ZWxzZSBpZihudWxsPT1lKWZvcihuIGluIG8pb1tuXT1ZNihvW25dLHQubmFtZSxudWxsKTtyZXR1cm4gdGhpc31mb3IoOysrYTxyOylpZigobj0odD1pW2FdKS50eXBlKSYmKG49RzYob1tuXSx0Lm5hbWUpKSlyZXR1cm4gbn0sY29weTpmdW5jdGlvbigpe3ZhciB0PXt9LGU9dGhpcy5fO2Zvcih2YXIgbiBpbiBlKXRbbl09ZVtuXS5zbGljZSgpO3JldHVybiBuZXcgVTYodCl9LGNhbGw6ZnVuY3Rpb24odCxlKXtpZigobj1hcmd1bWVudHMubGVuZ3RoLTIpPjApZm9yKHZhciBuLG8saT1uZXcgQXJyYXkobiksYT0wO2E8bjsrK2EpaVthXT1hcmd1bWVudHNbYSsyXTtpZighdGhpcy5fLmhhc093blByb3BlcnR5KHQpKXRocm93IG5ldyBFcnJvcigidW5rbm93biB0eXBlOiAiK3QpO2ZvcihhPTAsbj0obz10aGlzLl9bdF0pLmxlbmd0aDthPG47KythKW9bYV0udmFsdWUuYXBwbHkoZSxpKX0sYXBwbHk6ZnVuY3Rpb24odCxlLG4pe2lmKCF0aGlzLl8uaGFzT3duUHJvcGVydHkodCkpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHR5cGU6ICIrdCk7Zm9yKHZhciBvPXRoaXMuX1t0XSxpPTAsYT1vLmxlbmd0aDtpPGE7KytpKW9baV0udmFsdWUuYXBwbHkoZSxuKX19O3ZhciBxNj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsWjY9e3N2ZzoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHhodG1sOnE2LHhsaW5rOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIix4bWw6Imh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvIn07ZnVuY3Rpb24gWDYodCl7dmFyIGU9dCs9IiIsbj1lLmluZGV4T2YoIjoiKTtyZXR1cm4gbj49MCYmInhtbG5zIiE9PShlPXQuc2xpY2UoMCxuKSkmJih0PXQuc2xpY2UobisxKSksWjYuaGFzT3duUHJvcGVydHkoZSk/e3NwYWNlOlo2W2VdLGxvY2FsOnR9OnR9ZnVuY3Rpb24gSzYodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vd25lckRvY3VtZW50LG49dGhpcy5uYW1lc3BhY2VVUkk7cmV0dXJuIG49PT1xNiYmZS5kb2N1bWVudEVsZW1lbnQubmFtZXNwYWNlVVJJPT09cTY/ZS5jcmVhdGVFbGVtZW50KHQpOmUuY3JlYXRlRWxlbWVudE5TKG4sdCl9fWZ1bmN0aW9uIEo2KHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0aGlzLm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIFE2KHQpe3ZhciBlPVg2KHQpO3JldHVybihlLmxvY2FsP0o2Oks2KShlKX1mdW5jdGlvbiAkNigpe31mdW5jdGlvbiB0Nyh0KXtyZXR1cm4gbnVsbD09dD8kNjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3IodCl9fWZ1bmN0aW9uIGU3KCl7cmV0dXJuW119ZnVuY3Rpb24gbjcodCl7cmV0dXJuIG51bGw9PXQ/ZTc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWVyeVNlbGVjdG9yQWxsKHQpfX1mdW5jdGlvbiBvNyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXRjaGVzKHQpfX1mdW5jdGlvbiBpNyh0KXtyZXR1cm4gbmV3IEFycmF5KHQubGVuZ3RoKX1mdW5jdGlvbiBhNyh0LGUpe3RoaXMub3duZXJEb2N1bWVudD10Lm93bmVyRG9jdW1lbnQsdGhpcy5uYW1lc3BhY2VVUkk9dC5uYW1lc3BhY2VVUkksdGhpcy5fbmV4dD1udWxsLHRoaXMuX3BhcmVudD10LHRoaXMuX19kYXRhX189ZX1hNy5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmE3LGFwcGVuZENoaWxkOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsdGhpcy5fbmV4dCl9LGluc2VydEJlZm9yZTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsZSl9LHF1ZXJ5U2VsZWN0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3BhcmVudC5xdWVyeVNlbGVjdG9yKHQpfSxxdWVyeVNlbGVjdG9yQWxsOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3RvckFsbCh0KX19O2Z1bmN0aW9uIHI3KHQsZSxuLG8saSxhKXtmb3IodmFyIHIscz0wLGw9ZS5sZW5ndGgsYz1hLmxlbmd0aDtzPGM7KytzKShyPWVbc10pPyhyLl9fZGF0YV9fPWFbc10sb1tzXT1yKTpuW3NdPW5ldyBhNyh0LGFbc10pO2Zvcig7czxsOysrcykocj1lW3NdKSYmKGlbc109cil9ZnVuY3Rpb24gczcodCxlLG4sbyxpLGEscil7dmFyIHMsbCxjLGQ9e30scD1lLmxlbmd0aCxtPWEubGVuZ3RoLGY9bmV3IEFycmF5KHApO2ZvcihzPTA7czxwOysrcykobD1lW3NdKSYmKGZbc109Yz0iJCIrci5jYWxsKGwsbC5fX2RhdGFfXyxzLGUpLGMgaW4gZD9pW3NdPWw6ZFtjXT1sKTtmb3Iocz0wO3M8bTsrK3MpKGw9ZFtjPSIkIityLmNhbGwodCxhW3NdLHMsYSldKT8ob1tzXT1sLGwuX19kYXRhX189YVtzXSxkW2NdPW51bGwpOm5bc109bmV3IGE3KHQsYVtzXSk7Zm9yKHM9MDtzPHA7KytzKShsPWVbc10pJiZkW2Zbc11dPT09bCYmKGlbc109bCl9ZnVuY3Rpb24gbDcodCxlKXtyZXR1cm4gdDxlPy0xOnQ+ZT8xOnQ+PWU/MDpOYU59ZnVuY3Rpb24gYzcodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIGQ3KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKX19ZnVuY3Rpb24gcDcodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnNldEF0dHJpYnV0ZSh0LGUpfX1mdW5jdGlvbiBtNyh0LGUpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsLGUpfX1mdW5jdGlvbiBmNyh0LGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW4/dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCk6dGhpcy5zZXRBdHRyaWJ1dGUodCxuKX19ZnVuY3Rpb24gdTcodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtudWxsPT1uP3RoaXMucmVtb3ZlQXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKTp0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxuKX19ZnVuY3Rpb24gZzcodCl7cmV0dXJuIHQub3duZXJEb2N1bWVudCYmdC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx0LmRvY3VtZW50JiZ0fHx0LmRlZmF1bHRWaWV3fWZ1bmN0aW9uIGg3KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9fWZ1bmN0aW9uIGI3KHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsZSxuKX19ZnVuY3Rpb24geTcodCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3ZhciBvPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO251bGw9PW8/dGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KTp0aGlzLnN0eWxlLnNldFByb3BlcnR5KHQsbyxuKX19ZnVuY3Rpb24gXzcodCxlKXtyZXR1cm4gdC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGUpfHxnNyh0KS5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShlKX1mdW5jdGlvbiBDNyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtkZWxldGUgdGhpc1t0XX19ZnVuY3Rpb24gTTcodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzW3RdPWV9fWZ1bmN0aW9uIHY3KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bnVsbD09bj9kZWxldGUgdGhpc1t0XTp0aGlzW3RdPW59fWZ1bmN0aW9uIHg3KHQpe3JldHVybiB0LnRyaW0oKS5zcGxpdCgvXnxccysvKX1mdW5jdGlvbiBPNyh0KXtyZXR1cm4gdC5jbGFzc0xpc3R8fG5ldyBQNyh0KX1mdW5jdGlvbiBQNyh0KXt0aGlzLl9ub2RlPXQsdGhpcy5fbmFtZXM9eDcodC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX1mdW5jdGlvbiB3Nyh0LGUpe2Zvcih2YXIgbj1PNyh0KSxvPS0xLGk9ZS5sZW5ndGg7KytvPGk7KW4uYWRkKGVbb10pfWZ1bmN0aW9uIGs3KHQsZSl7Zm9yKHZhciBuPU83KHQpLG89LTEsaT1lLmxlbmd0aDsrK288aTspbi5yZW1vdmUoZVtvXSl9ZnVuY3Rpb24gUzcodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dzcodGhpcyx0KX19ZnVuY3Rpb24gRDcodCl7cmV0dXJuIGZ1bmN0aW9uKCl7azcodGhpcyx0KX19ZnVuY3Rpb24gUjcodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXsoZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk/dzc6azcpKHRoaXMsdCl9fWZ1bmN0aW9uIEU3KCl7dGhpcy50ZXh0Q29udGVudD0iIn1mdW5jdGlvbiBBNyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnRleHRDb250ZW50PXR9fWZ1bmN0aW9uIFQ3KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMudGV4dENvbnRlbnQ9bnVsbD09ZT8iIjplfX1mdW5jdGlvbiBONygpe3RoaXMuaW5uZXJIVE1MPSIifWZ1bmN0aW9uIHo3KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuaW5uZXJIVE1MPXR9fWZ1bmN0aW9uIEk3KHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMuaW5uZXJIVE1MPW51bGw9PWU/IiI6ZX19ZnVuY3Rpb24gSDcoKXt0aGlzLm5leHRTaWJsaW5nJiZ0aGlzLnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQodGhpcyl9ZnVuY3Rpb24gRjcoKXt0aGlzLnByZXZpb3VzU2libGluZyYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLHRoaXMucGFyZW50Tm9kZS5maXJzdENoaWxkKX1mdW5jdGlvbiBMNygpe3JldHVybiBudWxsfWZ1bmN0aW9uIEI3KCl7dmFyIHQ9dGhpcy5wYXJlbnROb2RlO3QmJnQucmVtb3ZlQ2hpbGQodGhpcyl9ZnVuY3Rpb24gVjcoKXt2YXIgdD10aGlzLmNsb25lTm9kZSghMSksZT10aGlzLnBhcmVudE5vZGU7cmV0dXJuIGU/ZS5pbnNlcnRCZWZvcmUodCx0aGlzLm5leHRTaWJsaW5nKTp0fWZ1bmN0aW9uIGo3KCl7dmFyIHQ9dGhpcy5jbG9uZU5vZGUoITApLGU9dGhpcy5wYXJlbnROb2RlO3JldHVybiBlP2UuaW5zZXJ0QmVmb3JlKHQsdGhpcy5uZXh0U2libGluZyk6dH1QNy5wcm90b3R5cGU9e2FkZDpmdW5jdGlvbih0KXt0aGlzLl9uYW1lcy5pbmRleE9mKHQpPDAmJih0aGlzLl9uYW1lcy5wdXNoKHQpLHRoaXMuX25vZGUuc2V0QXR0cmlidXRlKCJjbGFzcyIsdGhpcy5fbmFtZXMuam9pbigiICIpKSl9LHJlbW92ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9uYW1lcy5pbmRleE9mKHQpO2U+PTAmJih0aGlzLl9uYW1lcy5zcGxpY2UoZSwxKSx0aGlzLl9ub2RlLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHRoaXMuX25hbWVzLmpvaW4oIiAiKSkpfSxjb250YWluczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbmFtZXMuaW5kZXhPZih0KT49MH19O3ZhciBVNz17fSxXNz1udWxsOyJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJigib25tb3VzZWVudGVyImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudHx8KFU3PXttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0In0pKTtmdW5jdGlvbiBHNyh0LGUsbil7cmV0dXJuIHQ9WTcodCxlLG4pLGZ1bmN0aW9uKGUpe3ZhciBuPWUucmVsYXRlZFRhcmdldDtuJiYobj09PXRoaXN8fDgmbi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzKSl8fHQuY2FsbCh0aGlzLGUpfX1mdW5jdGlvbiBZNyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKG8pe3ZhciBpPVc3O1c3PW87dHJ5e3QuY2FsbCh0aGlzLHRoaXMuX19kYXRhX18sZSxuKX1maW5hbGx5e1c3PWl9fX1mdW5jdGlvbiBxNyh0KXtyZXR1cm4gdC50cmltKCkuc3BsaXQoL158XHMrLykubWFwKChmdW5jdGlvbih0KXt2YXIgZT0iIixuPXQuaW5kZXhPZigiLiIpO3JldHVybiBuPj0wJiYoZT10LnNsaWNlKG4rMSksdD10LnNsaWNlKDAsbikpLHt0eXBlOnQsbmFtZTplfX0pKX1mdW5jdGlvbiBaNyh0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9fb247aWYoZSl7Zm9yKHZhciBuLG89MCxpPS0xLGE9ZS5sZW5ndGg7bzxhOysrbyluPWVbb10sdC50eXBlJiZuLnR5cGUhPT10LnR5cGV8fG4ubmFtZSE9PXQubmFtZT9lWysraV09bjp0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIobi50eXBlLG4ubGlzdGVuZXIsbi5jYXB0dXJlKTsrK2k/ZS5sZW5ndGg9aTpkZWxldGUgdGhpcy5fX29ufX19ZnVuY3Rpb24gWDcodCxlLG4pe3ZhciBvPVU3Lmhhc093blByb3BlcnR5KHQudHlwZSk/Rzc6WTc7cmV0dXJuIGZ1bmN0aW9uKGksYSxyKXt2YXIgcyxsPXRoaXMuX19vbixjPW8oZSxhLHIpO2lmKGwpZm9yKHZhciBkPTAscD1sLmxlbmd0aDtkPHA7KytkKWlmKChzPWxbZF0pLnR5cGU9PT10LnR5cGUmJnMubmFtZT09PXQubmFtZSlyZXR1cm4gdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKHMudHlwZSxzLmxpc3RlbmVyLHMuY2FwdHVyZSksdGhpcy5hZGRFdmVudExpc3RlbmVyKHMudHlwZSxzLmxpc3RlbmVyPWMscy5jYXB0dXJlPW4pLHZvaWQocy52YWx1ZT1lKTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIodC50eXBlLGMsbikscz17dHlwZTp0LnR5cGUsbmFtZTp0Lm5hbWUsdmFsdWU6ZSxsaXN0ZW5lcjpjLGNhcHR1cmU6bn0sbD9sLnB1c2gocyk6dGhpcy5fX29uPVtzXX19ZnVuY3Rpb24gSzcodCxlLG4pe3ZhciBvPWc3KHQpLGk9by5DdXN0b21FdmVudDsiZnVuY3Rpb24iPT10eXBlb2YgaT9pPW5ldyBpKGUsbik6KGk9by5kb2N1bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKSxuPyhpLmluaXRFdmVudChlLG4uYnViYmxlcyxuLmNhbmNlbGFibGUpLGkuZGV0YWlsPW4uZGV0YWlsKTppLmluaXRFdmVudChlLCExLCExKSksdC5kaXNwYXRjaEV2ZW50KGkpfWZ1bmN0aW9uIEo3KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEs3KHRoaXMsdCxlKX19ZnVuY3Rpb24gUTcodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gSzcodGhpcyx0LGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX19dmFyICQ3PVtudWxsXTtmdW5jdGlvbiB0OCh0LGUpe3RoaXMuX2dyb3Vwcz10LHRoaXMuX3BhcmVudHM9ZX1mdW5jdGlvbiBlOCgpe3JldHVybiBuZXcgdDgoW1tkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdXSwkNyl9ZnVuY3Rpb24gbjgodCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P25ldyB0OChbW2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCldXSxbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50XSk6bmV3IHQ4KFtbdF1dLCQ3KX1mdW5jdGlvbiBvOCgpe2Zvcih2YXIgdCxlPVc3O3Q9ZS5zb3VyY2VFdmVudDspZT10O3JldHVybiBlfWZ1bmN0aW9uIGk4KHQsZSl7dmFyIG49dC5vd25lclNWR0VsZW1lbnR8fHQ7aWYobi5jcmVhdGVTVkdQb2ludCl7dmFyIG89bi5jcmVhdGVTVkdQb2ludCgpO3JldHVybiBvLng9ZS5jbGllbnRYLG8ueT1lLmNsaWVudFksWyhvPW8ubWF0cml4VHJhbnNmb3JtKHQuZ2V0U2NyZWVuQ1RNKCkuaW52ZXJzZSgpKSkueCxvLnldfXZhciBpPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuW2UuY2xpZW50WC1pLmxlZnQtdC5jbGllbnRMZWZ0LGUuY2xpZW50WS1pLnRvcC10LmNsaWVudFRvcF19ZnVuY3Rpb24gYTgodCl7dmFyIGU9bzgoKTtyZXR1cm4gZS5jaGFuZ2VkVG91Y2hlcyYmKGU9ZS5jaGFuZ2VkVG91Y2hlc1swXSksaTgodCxlKX1mdW5jdGlvbiByOCgpe1c3LnByZXZlbnREZWZhdWx0KCksVzcuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gczgodCl7dmFyIGU9dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsbj1uOCh0KS5vbigiZHJhZ3N0YXJ0LmRyYWciLHI4LCEwKTsib25zZWxlY3RzdGFydCJpbiBlP24ub24oInNlbGVjdHN0YXJ0LmRyYWciLHI4LCEwKTooZS5fX25vc2VsZWN0PWUuc3R5bGUuTW96VXNlclNlbGVjdCxlLnN0eWxlLk1velVzZXJTZWxlY3Q9Im5vbmUiKX1mdW5jdGlvbiBsOCh0LGUpe3ZhciBuPXQuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG89bjgodCkub24oImRyYWdzdGFydC5kcmFnIixudWxsKTtlJiYoby5vbigiY2xpY2suZHJhZyIscjgsITApLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7by5vbigiY2xpY2suZHJhZyIsbnVsbCl9KSwwKSksIm9uc2VsZWN0c3RhcnQiaW4gbj9vLm9uKCJzZWxlY3RzdGFydC5kcmFnIixudWxsKToobi5zdHlsZS5Nb3pVc2VyU2VsZWN0PW4uX19ub3NlbGVjdCxkZWxldGUgbi5fX25vc2VsZWN0KX1mdW5jdGlvbiBjOCh0LGUsbil7dC5wcm90b3R5cGU9ZS5wcm90b3R5cGU9bixuLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24gZDgodCxlKXt2YXIgbj1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKTtmb3IodmFyIG8gaW4gZSluW29dPWVbb107cmV0dXJuIG59ZnVuY3Rpb24gcDgoKXt9dDgucHJvdG90eXBlPWU4LnByb3RvdHlwZT17Y29uc3RydWN0b3I6dDgsc2VsZWN0OmZ1bmN0aW9uIG04KHQpeyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD10Nyh0KSk7Zm9yKHZhciBlPXRoaXMuX2dyb3VwcyxuPWUubGVuZ3RoLG89bmV3IEFycmF5KG4pLGk9MDtpPG47KytpKWZvcih2YXIgYSxyLHM9ZVtpXSxsPXMubGVuZ3RoLGM9b1tpXT1uZXcgQXJyYXkobCksZD0wO2Q8bDsrK2QpKGE9c1tkXSkmJihyPXQuY2FsbChhLGEuX19kYXRhX18sZCxzKSkmJigiX19kYXRhX18iaW4gYSYmKHIuX19kYXRhX189YS5fX2RhdGFfXyksY1tkXT1yKTtyZXR1cm4gbmV3IHQ4KG8sdGhpcy5fcGFyZW50cyl9LHNlbGVjdEFsbDpmdW5jdGlvbiBmOCh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9bjcodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxvPVtdLGk9W10sYT0wO2E8bjsrK2EpZm9yKHZhciByLHM9ZVthXSxsPXMubGVuZ3RoLGM9MDtjPGw7KytjKShyPXNbY10pJiYoby5wdXNoKHQuY2FsbChyLHIuX19kYXRhX18sYyxzKSksaS5wdXNoKHIpKTtyZXR1cm4gbmV3IHQ4KG8saSl9LGZpbHRlcjpmdW5jdGlvbiB1OCh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9bzcodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxvPW5ldyBBcnJheShuKSxpPTA7aTxuOysraSlmb3IodmFyIGEscj1lW2ldLHM9ci5sZW5ndGgsbD1vW2ldPVtdLGM9MDtjPHM7KytjKShhPXJbY10pJiZ0LmNhbGwoYSxhLl9fZGF0YV9fLGMscikmJmwucHVzaChhKTtyZXR1cm4gbmV3IHQ4KG8sdGhpcy5fcGFyZW50cyl9LGRhdGE6ZnVuY3Rpb24gZzgodCxlKXtpZighdClyZXR1cm4gdT1uZXcgQXJyYXkodGhpcy5zaXplKCkpLGQ9LTEsdGhpcy5lYWNoKChmdW5jdGlvbih0KXt1WysrZF09dH0pKSx1O3ZhciBuPWU/czc6cjcsbz10aGlzLl9wYXJlbnRzLGk9dGhpcy5fZ3JvdXBzOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD0oZnVuY3Rpb24gYSh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19KSh0KSk7Zm9yKHZhciByPWkubGVuZ3RoLHM9bmV3IEFycmF5KHIpLGw9bmV3IEFycmF5KHIpLGM9bmV3IEFycmF5KHIpLGQ9MDtkPHI7KytkKXt2YXIgcD1vW2RdLG09aVtkXSxmPW0ubGVuZ3RoLHU9dC5jYWxsKHAscCYmcC5fX2RhdGFfXyxkLG8pLGc9dS5sZW5ndGgsaD1sW2RdPW5ldyBBcnJheShnKSxiPXNbZF09bmV3IEFycmF5KGcpO24ocCxtLGgsYixjW2RdPW5ldyBBcnJheShmKSx1LGUpO2Zvcih2YXIgeSxfLEM9MCxNPTA7QzxnOysrQylpZih5PWhbQ10pe2ZvcihDPj1NJiYoTT1DKzEpOyEoXz1iW01dKSYmKytNPGc7KTt5Ll9uZXh0PV98fG51bGx9fXJldHVybihzPW5ldyB0OChzLG8pKS5fZW50ZXI9bCxzLl9leGl0PWMsc30sZW50ZXI6ZnVuY3Rpb24gaDgoKXtyZXR1cm4gbmV3IHQ4KHRoaXMuX2VudGVyfHx0aGlzLl9ncm91cHMubWFwKGk3KSx0aGlzLl9wYXJlbnRzKX0sZXhpdDpmdW5jdGlvbiBiOCgpe3JldHVybiBuZXcgdDgodGhpcy5fZXhpdHx8dGhpcy5fZ3JvdXBzLm1hcChpNyksdGhpcy5fcGFyZW50cyl9LGpvaW46ZnVuY3Rpb24geTgodCxlLG4pe3ZhciBvPXRoaXMuZW50ZXIoKSxpPXRoaXMsYT10aGlzLmV4aXQoKTtyZXR1cm4gbz0iZnVuY3Rpb24iPT10eXBlb2YgdD90KG8pOm8uYXBwZW5kKHQrIiIpLG51bGwhPWUmJihpPWUoaSkpLG51bGw9PW4/YS5yZW1vdmUoKTpuKGEpLG8mJmk/by5tZXJnZShpKS5vcmRlcigpOml9LG1lcmdlOmZ1bmN0aW9uIF84KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj10Ll9ncm91cHMsbz1lLmxlbmd0aCxpPU1hdGgubWluKG8sbi5sZW5ndGgpLGE9bmV3IEFycmF5KG8pLHI9MDtyPGk7KytyKWZvcih2YXIgcyxsPWVbcl0sYz1uW3JdLGQ9bC5sZW5ndGgscD1hW3JdPW5ldyBBcnJheShkKSxtPTA7bTxkOysrbSkocz1sW21dfHxjW21dKSYmKHBbbV09cyk7Zm9yKDtyPG87KytyKWFbcl09ZVtyXTtyZXR1cm4gbmV3IHQ4KGEsdGhpcy5fcGFyZW50cyl9LG9yZGVyOmZ1bmN0aW9uIEM4KCl7Zm9yKHZhciB0PXRoaXMuX2dyb3VwcyxlPS0xLG49dC5sZW5ndGg7KytlPG47KWZvcih2YXIgbyxpPXRbZV0sYT1pLmxlbmd0aC0xLHI9aVthXTstLWE+PTA7KShvPWlbYV0pJiYociYmNF5vLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHIpJiZyLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG8scikscj1vKTtyZXR1cm4gdGhpc30sc29ydDpmdW5jdGlvbiBNOCh0KXtmdW5jdGlvbiBlKGUsbil7cmV0dXJuIGUmJm4/dChlLl9fZGF0YV9fLG4uX19kYXRhX18pOiFlLSFufXR8fCh0PWw3KTtmb3IodmFyIG49dGhpcy5fZ3JvdXBzLG89bi5sZW5ndGgsaT1uZXcgQXJyYXkobyksYT0wO2E8bzsrK2Epe2Zvcih2YXIgcixzPW5bYV0sbD1zLmxlbmd0aCxjPWlbYV09bmV3IEFycmF5KGwpLGQ9MDtkPGw7KytkKShyPXNbZF0pJiYoY1tkXT1yKTtjLnNvcnQoZSl9cmV0dXJuIG5ldyB0OChpLHRoaXMuX3BhcmVudHMpLm9yZGVyKCl9LGNhbGw6ZnVuY3Rpb24gdjgoKXt2YXIgdD1hcmd1bWVudHNbMF07cmV0dXJuIGFyZ3VtZW50c1swXT10aGlzLHQuYXBwbHkobnVsbCxhcmd1bWVudHMpLHRoaXN9LG5vZGVzOmZ1bmN0aW9uIHg4KCl7dmFyIHQ9bmV3IEFycmF5KHRoaXMuc2l6ZSgpKSxlPS0xO3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dFsrK2VdPXRoaXN9KSksdH0sbm9kZTpmdW5jdGlvbiBPOCgpe2Zvcih2YXIgdD10aGlzLl9ncm91cHMsZT0wLG49dC5sZW5ndGg7ZTxuOysrZSlmb3IodmFyIG89dFtlXSxpPTAsYT1vLmxlbmd0aDtpPGE7KytpKXt2YXIgcj1vW2ldO2lmKHIpcmV0dXJuIHJ9cmV0dXJuIG51bGx9LHNpemU6ZnVuY3Rpb24gUDgoKXt2YXIgdD0wO3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7Kyt0fSkpLHR9LGVtcHR5OmZ1bmN0aW9uIHc4KCl7cmV0dXJuIXRoaXMubm9kZSgpfSxlYWNoOmZ1bmN0aW9uIGs4KHQpe2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj0wLG89ZS5sZW5ndGg7bjxvOysrbilmb3IodmFyIGksYT1lW25dLHI9MCxzPWEubGVuZ3RoO3I8czsrK3IpKGk9YVtyXSkmJnQuY2FsbChpLGkuX19kYXRhX18scixhKTtyZXR1cm4gdGhpc30sYXR0cjpmdW5jdGlvbiBTOCh0LGUpe3ZhciBuPVg2KHQpO2lmKGFyZ3VtZW50cy5sZW5ndGg8Mil7dmFyIG89dGhpcy5ub2RlKCk7cmV0dXJuIG4ubG9jYWw/by5nZXRBdHRyaWJ1dGVOUyhuLnNwYWNlLG4ubG9jYWwpOm8uZ2V0QXR0cmlidXRlKG4pfXJldHVybiB0aGlzLmVhY2goKG51bGw9PWU/bi5sb2NhbD9kNzpjNzoiZnVuY3Rpb24iPT10eXBlb2YgZT9uLmxvY2FsP3U3OmY3Om4ubG9jYWw/bTc6cDcpKG4sZSkpfSxzdHlsZTpmdW5jdGlvbiBEOCh0LGUsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goKG51bGw9PWU/aDc6ImZ1bmN0aW9uIj09dHlwZW9mIGU/eTc6YjcpKHQsZSxudWxsPT1uPyIiOm4pKTpfNyh0aGlzLm5vZGUoKSx0KX0scHJvcGVydHk6ZnVuY3Rpb24gUjgodCxlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaCgobnVsbD09ZT9DNzoiZnVuY3Rpb24iPT10eXBlb2YgZT92NzpNNykodCxlKSk6dGhpcy5ub2RlKClbdF19LGNsYXNzZWQ6ZnVuY3Rpb24gRTgodCxlKXt2YXIgbj14Nyh0KyIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgbz1PNyh0aGlzLm5vZGUoKSksaT0tMSxhPW4ubGVuZ3RoOysraTxhOylpZighby5jb250YWlucyhuW2ldKSlyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4gdGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgZT9SNzplP1M3OkQ3KShuLGUpKX0sdGV4dDpmdW5jdGlvbiBBOCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9FNzooImZ1bmN0aW9uIj09dHlwZW9mIHQ/VDc6QTcpKHQpKTp0aGlzLm5vZGUoKS50ZXh0Q29udGVudH0saHRtbDpmdW5jdGlvbiBUOCh0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLmVhY2gobnVsbD09dD9ONzooImZ1bmN0aW9uIj09dHlwZW9mIHQ/STc6ejcpKHQpKTp0aGlzLm5vZGUoKS5pbm5lckhUTUx9LHJhaXNlOmZ1bmN0aW9uIE44KCl7cmV0dXJuIHRoaXMuZWFjaChINyl9LGxvd2VyOmZ1bmN0aW9uIHo4KCl7cmV0dXJuIHRoaXMuZWFjaChGNyl9LGFwcGVuZDpmdW5jdGlvbiBJOCh0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlE2KHQpO3JldHVybiB0aGlzLnNlbGVjdCgoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcHBlbmRDaGlsZChlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9KSl9LGluc2VydDpmdW5jdGlvbiBIOCh0LGUpe3ZhciBuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6UTYodCksbz1udWxsPT1lP0w3OiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6dDcoZSk7cmV0dXJuIHRoaXMuc2VsZWN0KChmdW5jdGlvbigpe3JldHVybiB0aGlzLmluc2VydEJlZm9yZShuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxvLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8bnVsbCl9KSl9LHJlbW92ZTpmdW5jdGlvbiBGOCgpe3JldHVybiB0aGlzLmVhY2goQjcpfSxjbG9uZTpmdW5jdGlvbiBMOCh0KXtyZXR1cm4gdGhpcy5zZWxlY3QodD9qNzpWNyl9LGRhdHVtOmZ1bmN0aW9uIEI4KHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMucHJvcGVydHkoIl9fZGF0YV9fIix0KTp0aGlzLm5vZGUoKS5fX2RhdGFfX30sb246ZnVuY3Rpb24gVjgodCxlLG4pe3ZhciBvLGksYT1xNyh0KyIiKSxyPWEubGVuZ3RoO2lmKCEoYXJndW1lbnRzLmxlbmd0aDwyKSl7Zm9yKHM9ZT9YNzpaNyxudWxsPT1uJiYobj0hMSksbz0wO288cjsrK28pdGhpcy5lYWNoKHMoYVtvXSxlLG4pKTtyZXR1cm4gdGhpc312YXIgcz10aGlzLm5vZGUoKS5fX29uO2lmKHMpZm9yKHZhciBsLGM9MCxkPXMubGVuZ3RoO2M8ZDsrK2MpZm9yKG89MCxsPXNbY107bzxyOysrbylpZigoaT1hW29dKS50eXBlPT09bC50eXBlJiZpLm5hbWU9PT1sLm5hbWUpcmV0dXJuIGwudmFsdWV9LGRpc3BhdGNoOmZ1bmN0aW9uIGo4KHQsZSl7cmV0dXJuIHRoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIGU/UTc6SjcpKHQsZSkpfX07dmFyIFU4PS43LFc4PTEvVTgsRzg9IlxccyooWystXT9cXGQrKVxccyoiLFk4PSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KVxccyoiLHE4PSJcXHMqKFsrLV0/XFxkKlxcLj9cXGQrKD86W2VFXVsrLV0/XFxkKyk/KSVcXHMqIixaOD0vXiMoWzAtOWEtZl17Myw4fSkkLyxYOD1uZXcgUmVnRXhwKCJecmdiXFwoIitbRzgsRzgsRzhdKyJcXCkkIiksSzg9bmV3IFJlZ0V4cCgiXnJnYlxcKCIrW3E4LHE4LHE4XSsiXFwpJCIpLEo4PW5ldyBSZWdFeHAoIl5yZ2JhXFwoIitbRzgsRzgsRzgsWThdKyJcXCkkIiksUTg9bmV3IFJlZ0V4cCgiXnJnYmFcXCgiK1txOCxxOCxxOCxZOF0rIlxcKSQiKSwkOD1uZXcgUmVnRXhwKCJeaHNsXFwoIitbWTgscTgscThdKyJcXCkkIiksdDk9bmV3IFJlZ0V4cCgiXmhzbGFcXCgiK1tZOCxxOCxxOCxZOF0rIlxcKSQiKSxlOT17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fTtmdW5jdGlvbiBuOSgpe3JldHVybiB0aGlzLnJnYigpLmZvcm1hdEhleCgpfWZ1bmN0aW9uIG85KCl7cmV0dXJuIHRoaXMucmdiKCkuZm9ybWF0UmdiKCl9ZnVuY3Rpb24gaTkodCl7dmFyIGUsbjtyZXR1cm4gdD0odCsiIikudHJpbSgpLnRvTG93ZXJDYXNlKCksKGU9WjguZXhlYyh0KSk/KG49ZVsxXS5sZW5ndGgsZT1wYXJzZUludChlWzFdLDE2KSw2PT09bj9hOShlKTozPT09bj9uZXcgYzkoZT4+OCYxNXxlPj40JjI0MCxlPj40JjE1fDI0MCZlLCgxNSZlKTw8NHwxNSZlLDEpOjg9PT1uP3I5KGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsKDI1NSZlKS8yNTUpOjQ9PT1uP3I5KGU+PjEyJjE1fGU+PjgmMjQwLGU+PjgmMTV8ZT4+NCYyNDAsZT4+NCYxNXwyNDAmZSwoKDE1JmUpPDw0fDE1JmUpLzI1NSk6bnVsbCk6KGU9WDguZXhlYyh0KSk/bmV3IGM5KGVbMV0sZVsyXSxlWzNdLDEpOihlPUs4LmV4ZWModCkpP25ldyBjOSgyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCwxKTooZT1KOC5leGVjKHQpKT9yOShlWzFdLGVbMl0sZVszXSxlWzRdKTooZT1ROC5leGVjKHQpKT9yOSgyNTUqZVsxXS8xMDAsMjU1KmVbMl0vMTAwLDI1NSplWzNdLzEwMCxlWzRdKTooZT0kOC5leGVjKHQpKT9mOShlWzFdLGVbMl0vMTAwLGVbM10vMTAwLDEpOihlPXQ5LmV4ZWModCkpP2Y5KGVbMV0sZVsyXS8xMDAsZVszXS8xMDAsZVs0XSk6ZTkuaGFzT3duUHJvcGVydHkodCk/YTkoZTlbdF0pOiJ0cmFuc3BhcmVudCI9PT10P25ldyBjOShOYU4sTmFOLE5hTiwwKTpudWxsfWZ1bmN0aW9uIGE5KHQpe3JldHVybiBuZXcgYzkodD4+MTYmMjU1LHQ+PjgmMjU1LDI1NSZ0LDEpfWZ1bmN0aW9uIHI5KHQsZSxuLG8pe3JldHVybiBvPD0wJiYodD1lPW49TmFOKSxuZXcgYzkodCxlLG4sbyl9ZnVuY3Rpb24gczkodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBwOHx8KHQ9aTkodCkpLHQ/bmV3IGM5KCh0PXQucmdiKCkpLnIsdC5nLHQuYix0Lm9wYWNpdHkpOm5ldyBjOX1mdW5jdGlvbiBsOSh0LGUsbixvKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/czkodCk6bmV3IGM5KHQsZSxuLG51bGw9PW8/MTpvKX1mdW5jdGlvbiBjOSh0LGUsbixvKXt0aGlzLnI9K3QsdGhpcy5nPStlLHRoaXMuYj0rbix0aGlzLm9wYWNpdHk9K299ZnVuY3Rpb24gZDkoKXtyZXR1cm4iIyIrbTkodGhpcy5yKSttOSh0aGlzLmcpK205KHRoaXMuYil9ZnVuY3Rpb24gcDkoKXt2YXIgdD10aGlzLm9wYWNpdHk7cmV0dXJuKDE9PT0odD1pc05hTih0KT8xOk1hdGgubWF4KDAsTWF0aC5taW4oMSx0KSkpPyJyZ2IoIjoicmdiYSgiKStNYXRoLm1heCgwLE1hdGgubWluKDI1NSxNYXRoLnJvdW5kKHRoaXMucil8fDApKSsiLCAiK01hdGgubWF4KDAsTWF0aC5taW4oMjU1LE1hdGgucm91bmQodGhpcy5nKXx8MCkpKyIsICIrTWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0aGlzLmIpfHwwKSkrKDE9PT10PyIpIjoiLCAiK3QrIikiKX1mdW5jdGlvbiBtOSh0KXtyZXR1cm4oKHQ9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsTWF0aC5yb3VuZCh0KXx8MCkpKTwxNj8iMCI6IiIpK3QudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIGY5KHQsZSxuLG8pe3JldHVybiBvPD0wP3Q9ZT1uPU5hTjpuPD0wfHxuPj0xP3Q9ZT1OYU46ZTw9MCYmKHQ9TmFOKSxuZXcgaDkodCxlLG4sbyl9ZnVuY3Rpb24gdTkodCl7aWYodCBpbnN0YW5jZW9mIGg5KXJldHVybiBuZXcgaDkodC5oLHQucyx0LmwsdC5vcGFjaXR5KTtpZih0IGluc3RhbmNlb2YgcDh8fCh0PWk5KHQpKSwhdClyZXR1cm4gbmV3IGg5O2lmKHQgaW5zdGFuY2VvZiBoOSlyZXR1cm4gdDt2YXIgZT0odD10LnJnYigpKS5yLzI1NSxuPXQuZy8yNTUsbz10LmIvMjU1LGk9TWF0aC5taW4oZSxuLG8pLGE9TWF0aC5tYXgoZSxuLG8pLHI9TmFOLHM9YS1pLGw9KGEraSkvMjtyZXR1cm4gcz8ocj1lPT09YT8obi1vKS9zKzYqKG48byk6bj09PWE/KG8tZSkvcysyOihlLW4pL3MrNCxzLz1sPC41P2EraToyLWEtaSxyKj02MCk6cz1sPjAmJmw8MT8wOnIsbmV3IGg5KHIscyxsLHQub3BhY2l0eSl9ZnVuY3Rpb24gZzkodCxlLG4sbyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3U5KHQpOm5ldyBoOSh0LGUsbixudWxsPT1vPzE6byl9ZnVuY3Rpb24gaDkodCxlLG4sbyl7dGhpcy5oPSt0LHRoaXMucz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStvfWZ1bmN0aW9uIGI5KHQsZSxuKXtyZXR1cm4gMjU1Kih0PDYwP2UrKG4tZSkqdC82MDp0PDE4MD9uOnQ8MjQwP2UrKG4tZSkqKDI0MC10KS82MDplKX1jOChwOCxpOSx7Y29weTpmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgdGhpcy5jb25zdHJ1Y3Rvcix0aGlzLHQpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJnYigpLmRpc3BsYXlhYmxlKCl9LGhleDpuOSxmb3JtYXRIZXg6bjksZm9ybWF0SHNsOmZ1bmN0aW9uIHk5KCl7cmV0dXJuIHU5KHRoaXMpLmZvcm1hdEhzbCgpfSxmb3JtYXRSZ2I6bzksdG9TdHJpbmc6bzl9KSxjOChjOSxsOSxkOChwOCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9XODpNYXRoLnBvdyhXOCx0KSxuZXcgYzkodGhpcy5yKnQsdGhpcy5nKnQsdGhpcy5iKnQsdGhpcy5vcGFjaXR5KX0sZGFya2VyOmZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/VTg6TWF0aC5wb3coVTgsdCksbmV3IGM5KHRoaXMucip0LHRoaXMuZyp0LHRoaXMuYip0LHRoaXMub3BhY2l0eSl9LHJnYjpmdW5jdGlvbigpe3JldHVybiB0aGlzfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybi0uNTw9dGhpcy5yJiZ0aGlzLnI8MjU1LjUmJi0uNTw9dGhpcy5nJiZ0aGlzLmc8MjU1LjUmJi0uNTw9dGhpcy5iJiZ0aGlzLmI8MjU1LjUmJjA8PXRoaXMub3BhY2l0eSYmdGhpcy5vcGFjaXR5PD0xfSxoZXg6ZDksZm9ybWF0SGV4OmQ5LGZvcm1hdFJnYjpwOSx0b1N0cmluZzpwOX0pKSxjOChoOSxnOSxkOChwOCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9XODpNYXRoLnBvdyhXOCx0KSxuZXcgaDkodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxkYXJrZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bnVsbD09dD9VODpNYXRoLnBvdyhVOCx0KSxuZXcgaDkodGhpcy5oLHRoaXMucyx0aGlzLmwqdCx0aGlzLm9wYWNpdHkpfSxyZ2I6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmglMzYwKzM2MCoodGhpcy5oPDApLGU9aXNOYU4odCl8fGlzTmFOKHRoaXMucyk/MDp0aGlzLnMsbj10aGlzLmwsbz1uKyhuPC41P246MS1uKSplLGk9MipuLW87cmV0dXJuIG5ldyBjOShiOSh0Pj0yNDA/dC0yNDA6dCsxMjAsaSxvKSxiOSh0LGksbyksYjkodDwxMjA/dCsyNDA6dC0xMjAsaSxvKSx0aGlzLm9wYWNpdHkpfSxkaXNwbGF5YWJsZTpmdW5jdGlvbigpe3JldHVybigwPD10aGlzLnMmJnRoaXMuczw9MXx8aXNOYU4odGhpcy5zKSkmJjA8PXRoaXMubCYmdGhpcy5sPD0xJiYwPD10aGlzLm9wYWNpdHkmJnRoaXMub3BhY2l0eTw9MX0sZm9ybWF0SHNsOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcGFjaXR5O3JldHVybigxPT09KHQ9aXNOYU4odCk/MTpNYXRoLm1heCgwLE1hdGgubWluKDEsdCkpKT8iaHNsKCI6ImhzbGEoIikrKHRoaXMuaHx8MCkrIiwgIisxMDAqKHRoaXMuc3x8MCkrIiUsICIrMTAwKih0aGlzLmx8fDApKyIlIisoMT09PXQ/IikiOiIsICIrdCsiKSIpfX0pKTt2YXIgXzk9TWF0aC5QSS8xODAsQzk9MTgwL01hdGguUEksTTk9Ljk2NDIyLHY5PS44MjUyMSx4OT00LzI5LE85PTYvMjksUDk9MypPOSpPOTtmdW5jdGlvbiB3OSh0KXtpZih0IGluc3RhbmNlb2YgazkpcmV0dXJuIG5ldyBrOSh0LmwsdC5hLHQuYix0Lm9wYWNpdHkpO2lmKHQgaW5zdGFuY2VvZiBOOSlyZXR1cm4gejkodCk7dCBpbnN0YW5jZW9mIGM5fHwodD1zOSh0KSk7dmFyIGUsbixvPUU5KHQuciksaT1FOSh0LmcpLGE9RTkodC5iKSxyPVM5KCguMjIyNTA0NSpvKy43MTY4Nzg2KmkrLjA2MDYxNjkqYSkvMSk7cmV0dXJuIG89PT1pJiZpPT09YT9lPW49cjooZT1TOSgoLjQzNjA3NDcqbysuMzg1MDY0OSppKy4xNDMwODA0KmEpL005KSxuPVM5KCguMDEzOTMyMipvKy4wOTcxMDQ1KmkrLjcxNDE3MzMqYSkvdjkpKSxuZXcgazkoMTE2KnItMTYsNTAwKihlLXIpLDIwMCooci1uKSx0Lm9wYWNpdHkpfWZ1bmN0aW9uIGs5KHQsZSxuLG8pe3RoaXMubD0rdCx0aGlzLmE9K2UsdGhpcy5iPStuLHRoaXMub3BhY2l0eT0rb31mdW5jdGlvbiBTOSh0KXtyZXR1cm4gdD4uMDA4ODU2NDUxNjc5MDM1NjMxP01hdGgucG93KHQsMS8zKTp0L1A5K3g5fWZ1bmN0aW9uIEQ5KHQpe3JldHVybiB0Pk85P3QqdCp0OlA5Kih0LXg5KX1mdW5jdGlvbiBSOSh0KXtyZXR1cm4gMjU1Kih0PD0uMDAzMTMwOD8xMi45Mip0OjEuMDU1Kk1hdGgucG93KHQsMS8yLjQpLS4wNTUpfWZ1bmN0aW9uIEU5KHQpe3JldHVybih0Lz0yNTUpPD0uMDQwNDU/dC8xMi45MjpNYXRoLnBvdygodCsuMDU1KS8xLjA1NSwyLjQpfWZ1bmN0aW9uIEE5KHQpe2lmKHQgaW5zdGFuY2VvZiBOOSlyZXR1cm4gbmV3IE45KHQuaCx0LmMsdC5sLHQub3BhY2l0eSk7aWYodCBpbnN0YW5jZW9mIGs5fHwodD13OSh0KSksMD09PXQuYSYmMD09PXQuYilyZXR1cm4gbmV3IE45KE5hTiwwPHQubCYmdC5sPDEwMD8wOk5hTix0LmwsdC5vcGFjaXR5KTt2YXIgZT1NYXRoLmF0YW4yKHQuYix0LmEpKkM5O3JldHVybiBuZXcgTjkoZTwwP2UrMzYwOmUsTWF0aC5zcXJ0KHQuYSp0LmErdC5iKnQuYiksdC5sLHQub3BhY2l0eSl9ZnVuY3Rpb24gVDkodCxlLG4sbyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP0E5KHQpOm5ldyBOOSh0LGUsbixudWxsPT1vPzE6byl9ZnVuY3Rpb24gTjkodCxlLG4sbyl7dGhpcy5oPSt0LHRoaXMuYz0rZSx0aGlzLmw9K24sdGhpcy5vcGFjaXR5PStvfWZ1bmN0aW9uIHo5KHQpe2lmKGlzTmFOKHQuaCkpcmV0dXJuIG5ldyBrOSh0LmwsMCwwLHQub3BhY2l0eSk7dmFyIGU9dC5oKl85O3JldHVybiBuZXcgazkodC5sLE1hdGguY29zKGUpKnQuYyxNYXRoLnNpbihlKSp0LmMsdC5vcGFjaXR5KX1mdW5jdGlvbiBJOSh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gSDkodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHQrbiplfX1mdW5jdGlvbiBGOSh0LGUpe3ZhciBuPWUtdDtyZXR1cm4gbj9IOSh0LG4+MTgwfHxuPC0xODA/bi0zNjAqTWF0aC5yb3VuZChuLzM2MCk6bik6STkoaXNOYU4odCk/ZTp0KX1mdW5jdGlvbiBMOSh0KXtyZXR1cm4gMT09KHQ9K3QpP0I5OmZ1bmN0aW9uKGUsbil7cmV0dXJuIG4tZT8oZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIHQ9TWF0aC5wb3codCxuKSxlPU1hdGgucG93KGUsbiktdCxuPTEvbixmdW5jdGlvbihvKXtyZXR1cm4gTWF0aC5wb3codCtvKmUsbil9fSkoZSxuLHQpOkk5KGlzTmFOKGUpP246ZSl9fWZ1bmN0aW9uIEI5KHQsZSl7dmFyIG49ZS10O3JldHVybiBuP0g5KHQsbik6STkoaXNOYU4odCk/ZTp0KX1jOChrOSwoZnVuY3Rpb24gVjkodCxlLG4sbyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3c5KHQpOm5ldyBrOSh0LGUsbixudWxsPT1vPzE6byl9KSxkOChwOCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrOSh0aGlzLmwrMTgqKG51bGw9PXQ/MTp0KSx0aGlzLmEsdGhpcy5iLHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IGs5KHRoaXMubC0xOCoobnVsbD09dD8xOnQpLHRoaXMuYSx0aGlzLmIsdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7dmFyIHQ9KHRoaXMubCsxNikvMTE2LGU9aXNOYU4odGhpcy5hKT90OnQrdGhpcy5hLzUwMCxuPWlzTmFOKHRoaXMuYik/dDp0LXRoaXMuYi8yMDA7cmV0dXJuIG5ldyBjOShSOSgzLjEzMzg1NjEqKGU9TTkqRDkoZSkpLTEuNjE2ODY2NyoodD0xKkQ5KHQpKS0uNDkwNjE0Nioobj12OSpEOShuKSkpLFI5KC0uOTc4NzY4NCplKzEuOTE2MTQxNSp0Ky4wMzM0NTQqbiksUjkoLjA3MTk0NTMqZS0uMjI4OTkxNCp0KzEuNDA1MjQyNypuKSx0aGlzLm9wYWNpdHkpfX0pKSxjOChOOSxUOSxkOChwOCx7YnJpZ2h0ZXI6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBOOSh0aGlzLmgsdGhpcy5jLHRoaXMubCsxOCoobnVsbD09dD8xOnQpLHRoaXMub3BhY2l0eSl9LGRhcmtlcjpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IE45KHRoaXMuaCx0aGlzLmMsdGhpcy5sLTE4KihudWxsPT10PzE6dCksdGhpcy5vcGFjaXR5KX0scmdiOmZ1bmN0aW9uKCl7cmV0dXJuIHo5KHRoaXMpLnJnYigpfX0pKTt2YXIgajk9KGZ1bmN0aW9uIHQoZSl7dmFyIG49TDkoZSk7ZnVuY3Rpb24gbyh0LGUpe3ZhciBvPW4oKHQ9bDkodCkpLnIsKGU9bDkoZSkpLnIpLGk9bih0LmcsZS5nKSxhPW4odC5iLGUuYikscj1COSh0Lm9wYWNpdHksZS5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQucj1vKGUpLHQuZz1pKGUpLHQuYj1hKGUpLHQub3BhY2l0eT1yKGUpLHQrIiJ9fXJldHVybiBvLmdhbW1hPXQsb30pKDEpO3ZhciBVOT0oZnVuY3Rpb24gRzkodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuLG8saT1lLmxlbmd0aCxhPW5ldyBBcnJheShpKSxyPW5ldyBBcnJheShpKSxzPW5ldyBBcnJheShpKTtmb3Iobj0wO248aTsrK24pbz1sOShlW25dKSxhW25dPW8ucnx8MCxyW25dPW8uZ3x8MCxzW25dPW8uYnx8MDtyZXR1cm4gYT10KGEpLHI9dChyKSxzPXQocyksby5vcGFjaXR5PTEsZnVuY3Rpb24odCl7cmV0dXJuIG8ucj1hKHQpLG8uZz1yKHQpLG8uYj1zKHQpLG8rIiJ9fX0pKChmdW5jdGlvbiBXOSh0KXt2YXIgZT10Lmxlbmd0aC0xO3JldHVybiBmdW5jdGlvbihuKXt2YXIgbz1uPD0wP249MDpuPj0xPyhuPTEsZS0xKTpNYXRoLmZsb29yKG4qZSksaT10W29dLGE9dFtvKzFdO3JldHVybihmdW5jdGlvbiByKHQsZSxuLG8saSl7dmFyIGE9dCp0LHI9YSp0O3JldHVybigoMS0zKnQrMyphLXIpKmUrKDQtNiphKzMqcikqbisoMSszKnQrMyphLTMqcikqbytyKmkpLzZ9KSgobi1vL2UpKmUsbz4wP3Rbby0xXToyKmktYSxpLGEsbzxlLTE/dFtvKzJdOjIqYS1pKX19KSk7ZnVuY3Rpb24gWTkodCxlKXtlfHwoZT1bXSk7dmFyIG4sbz10P01hdGgubWluKGUubGVuZ3RoLHQubGVuZ3RoKTowLGk9ZS5zbGljZSgpO3JldHVybiBmdW5jdGlvbihhKXtmb3Iobj0wO248bzsrK24paVtuXT10W25dKigxLWEpK2Vbbl0qYTtyZXR1cm4gaX19ZnVuY3Rpb24gcTkodCxlKXt2YXIgbixvPWU/ZS5sZW5ndGg6MCxpPXQ/TWF0aC5taW4obyx0Lmxlbmd0aCk6MCxhPW5ldyBBcnJheShpKSxyPW5ldyBBcnJheShvKTtmb3Iobj0wO248aTsrK24pYVtuXT10dHQodFtuXSxlW25dKTtmb3IoO248bzsrK24pcltuXT1lW25dO3JldHVybiBmdW5jdGlvbih0KXtmb3Iobj0wO248aTsrK24pcltuXT1hW25dKHQpO3JldHVybiByfX1mdW5jdGlvbiBaOSh0LGUpe3ZhciBuPW5ldyBEYXRlO3JldHVybiB0PSt0LGU9K2UsZnVuY3Rpb24obyl7cmV0dXJuIG4uc2V0VGltZSh0KigxLW8pK2Uqbyksbn19ZnVuY3Rpb24gWDkodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiB0KigxLW4pK2Uqbn19ZnVuY3Rpb24gSzkodCxlKXt2YXIgbixvPXt9LGk9e307Zm9yKG4gaW4gbnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdHx8KHQ9e30pLG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGV8fChlPXt9KSxlKW4gaW4gdD9vW25dPXR0dCh0W25dLGVbbl0pOmlbbl09ZVtuXTtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKG4gaW4gbylpW25dPW9bbl0odCk7cmV0dXJuIGl9fXZhciBKOT0vWy0rXT8oPzpcZCtcLj9cZCp8XC4/XGQrKSg/OltlRV1bLStdP1xkKyk/L2csUTk9bmV3IFJlZ0V4cChKOS5zb3VyY2UsImciKTtmdW5jdGlvbiAkOSh0LGUpe3ZhciBuLG8saSxhPUo5Lmxhc3RJbmRleD1ROS5sYXN0SW5kZXg9MCxyPS0xLHM9W10sbD1bXTtmb3IodCs9IiIsZSs9IiI7KG49SjkuZXhlYyh0KSkmJihvPVE5LmV4ZWMoZSkpOykoaT1vLmluZGV4KT5hJiYoaT1lLnNsaWNlKGEsaSksc1tyXT9zW3JdKz1pOnNbKytyXT1pKSwobj1uWzBdKT09PShvPW9bMF0pP3Nbcl0/c1tyXSs9bzpzWysrcl09bzooc1srK3JdPW51bGwsbC5wdXNoKHtpOnIseDpYOShuLG8pfSkpLGE9UTkubGFzdEluZGV4O3JldHVybiBhPGUubGVuZ3RoJiYoaT1lLnNsaWNlKGEpLHNbcl0/c1tyXSs9aTpzWysrcl09aSkscy5sZW5ndGg8Mj9sWzBdPyhmdW5jdGlvbiBjKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdChlKSsiIn19KShsWzBdLngpOihmdW5jdGlvbiBkKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0fX0pKGUpOihlPWwubGVuZ3RoLGZ1bmN0aW9uKHQpe2Zvcih2YXIgbixvPTA7bzxlOysrbylzWyhuPWxbb10pLmldPW4ueCh0KTtyZXR1cm4gcy5qb2luKCIiKX0pfWZ1bmN0aW9uIHR0dCh0LGUpe3ZhciBuLG89dHlwZW9mIGU7cmV0dXJuIG51bGw9PWV8fCJib29sZWFuIj09PW8/STkoZSk6KCJudW1iZXIiPT09bz9YOToic3RyaW5nIj09PW8/KG49aTkoZSkpPyhlPW4sajkpOiQ5OmUgaW5zdGFuY2VvZiBpOT9qOTplIGluc3RhbmNlb2YgRGF0ZT9aOTooZnVuY3Rpb24gaSh0KXtyZXR1cm4gQXJyYXlCdWZmZXIuaXNWaWV3KHQpJiYhKHQgaW5zdGFuY2VvZiBEYXRhVmlldyl9KShlKT9ZOTpBcnJheS5pc0FycmF5KGUpP3E5OiJmdW5jdGlvbiIhPXR5cGVvZiBlLnZhbHVlT2YmJiJmdW5jdGlvbiIhPXR5cGVvZiBlLnRvU3RyaW5nfHxpc05hTihlKT9LOTpYOSkodCxlKX1mdW5jdGlvbiBldHQodCxlKXtyZXR1cm4gdD0rdCxlPStlLGZ1bmN0aW9uKG4pe3JldHVybiBNYXRoLnJvdW5kKHQqKDEtbikrZSpuKX19dmFyIG50dCxvdHQsaXR0LGF0dCxydHQ9MTgwL01hdGguUEksc3R0PXt0cmFuc2xhdGVYOjAsdHJhbnNsYXRlWTowLHJvdGF0ZTowLHNrZXdYOjAsc2NhbGVYOjEsc2NhbGVZOjF9O2Z1bmN0aW9uIGx0dCh0LGUsbixvLGksYSl7dmFyIHIscyxsO3JldHVybihyPU1hdGguc3FydCh0KnQrZSplKSkmJih0Lz1yLGUvPXIpLChsPXQqbitlKm8pJiYobi09dCpsLG8tPWUqbCksKHM9TWF0aC5zcXJ0KG4qbitvKm8pKSYmKG4vPXMsby89cyxsLz1zKSx0Km88ZSpuJiYodD0tdCxlPS1lLGw9LWwscj0tcikse3RyYW5zbGF0ZVg6aSx0cmFuc2xhdGVZOmEscm90YXRlOk1hdGguYXRhbjIoZSx0KSpydHQsc2tld1g6TWF0aC5hdGFuKGwpKnJ0dCxzY2FsZVg6cixzY2FsZVk6c319ZnVuY3Rpb24gY3R0KHQsZSxuLG8pe2Z1bmN0aW9uIGkodCl7cmV0dXJuIHQubGVuZ3RoP3QucG9wKCkrIiAiOiIifXJldHVybiBmdW5jdGlvbihhLHIpe3ZhciBzPVtdLGw9W107cmV0dXJuIGE9dChhKSxyPXQociksKGZ1bmN0aW9uIGModCxvLGksYSxyLHMpe2lmKHQhPT1pfHxvIT09YSl7dmFyIGw9ci5wdXNoKCJ0cmFuc2xhdGUoIixudWxsLGUsbnVsbCxuKTtzLnB1c2goe2k6bC00LHg6WDkodCxpKX0se2k6bC0yLHg6WDkobyxhKX0pfWVsc2UoaXx8YSkmJnIucHVzaCgidHJhbnNsYXRlKCIraStlK2Erbil9KShhLnRyYW5zbGF0ZVgsYS50cmFuc2xhdGVZLHIudHJhbnNsYXRlWCxyLnRyYW5zbGF0ZVkscyxsKSwoZnVuY3Rpb24gZCh0LGUsbixhKXt0IT09ZT8odC1lPjE4MD9lKz0zNjA6ZS10PjE4MCYmKHQrPTM2MCksYS5wdXNoKHtpOm4ucHVzaChpKG4pKyJyb3RhdGUoIixudWxsLG8pLTIseDpYOSh0LGUpfSkpOmUmJm4ucHVzaChpKG4pKyJyb3RhdGUoIitlK28pfSkoYS5yb3RhdGUsci5yb3RhdGUscyxsKSwoZnVuY3Rpb24gcCh0LGUsbixhKXt0IT09ZT9hLnB1c2goe2k6bi5wdXNoKGkobikrInNrZXdYKCIsbnVsbCxvKS0yLHg6WDkodCxlKX0pOmUmJm4ucHVzaChpKG4pKyJza2V3WCgiK2Urbyl9KShhLnNrZXdYLHIuc2tld1gscyxsKSwoZnVuY3Rpb24gbSh0LGUsbixvLGEscil7aWYodCE9PW58fGUhPT1vKXt2YXIgcz1hLnB1c2goaShhKSsic2NhbGUoIixudWxsLCIsIixudWxsLCIpIik7ci5wdXNoKHtpOnMtNCx4Olg5KHQsbil9LHtpOnMtMix4Olg5KGUsbyl9KX1lbHNlIDE9PT1uJiYxPT09b3x8YS5wdXNoKGkoYSkrInNjYWxlKCIrbisiLCIrbysiKSIpfSkoYS5zY2FsZVgsYS5zY2FsZVksci5zY2FsZVgsci5zY2FsZVkscyxsKSxhPXI9bnVsbCxmdW5jdGlvbih0KXtmb3IodmFyIGUsbj0tMSxvPWwubGVuZ3RoOysrbjxvOylzWyhlPWxbbl0pLmldPWUueCh0KTtyZXR1cm4gcy5qb2luKCIiKX19fXZhciBkdHQ9Y3R0KChmdW5jdGlvbiBwdHQodCl7cmV0dXJuIm5vbmUiPT09dD9zdHQ6KG50dHx8KG50dD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJESVYiKSxvdHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGl0dD1kb2N1bWVudC5kZWZhdWx0VmlldyksbnR0LnN0eWxlLnRyYW5zZm9ybT10LHQ9aXR0LmdldENvbXB1dGVkU3R5bGUob3R0LmFwcGVuZENoaWxkKG50dCksbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZSgidHJhbnNmb3JtIiksb3R0LnJlbW92ZUNoaWxkKG50dCksbHR0KCsodD10LnNsaWNlKDcsLTEpLnNwbGl0KCIsIikpWzBdLCt0WzFdLCt0WzJdLCt0WzNdLCt0WzRdLCt0WzVdKSl9KSwicHgsICIsInB4KSIsImRlZykiKSxtdHQ9Y3R0KChmdW5jdGlvbiBmdHQodCl7cmV0dXJuIG51bGw9PXQ/c3R0OihhdHR8fChhdHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImciKSksYXR0LnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIix0KSwodD1hdHQudHJhbnNmb3JtLmJhc2VWYWwuY29uc29saWRhdGUoKSk/bHR0KCh0PXQubWF0cml4KS5hLHQuYix0LmMsdC5kLHQuZSx0LmYpOnN0dCl9KSwiLCAiLCIpIiwiKSIpO3ZhciB1dHQ9KGZ1bmN0aW9uIGd0dCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXt2YXIgbz10KChlPWc5KGUpKS5oLChuPWc5KG4pKS5oKSxpPUI5KGUucyxuLnMpLGE9QjkoZS5sLG4ubCkscj1COShlLm9wYWNpdHksbi5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGUuaD1vKHQpLGUucz1pKHQpLGUubD1hKHQpLGUub3BhY2l0eT1yKHQpLGUrIiJ9fX0pKEY5KTt2YXIgaHR0LGJ0dCx5dHQ9KGZ1bmN0aW9uIF90dCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXt2YXIgbz10KChlPVQ5KGUpKS5oLChuPVQ5KG4pKS5oKSxpPUI5KGUuYyxuLmMpLGE9QjkoZS5sLG4ubCkscj1COShlLm9wYWNpdHksbi5vcGFjaXR5KTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGUuaD1vKHQpLGUuYz1pKHQpLGUubD1hKHQpLGUub3BhY2l0eT1yKHQpLGUrIiJ9fX0pKEY5KSxDdHQ9MCxNdHQ9MCx2dHQ9MCx4dHQ9MCxPdHQ9MCxQdHQ9MCx3dHQ9Im9iamVjdCI9PXR5cGVvZiBwZXJmb3JtYW5jZSYmcGVyZm9ybWFuY2Uubm93P3BlcmZvcm1hbmNlOkRhdGUsa3R0PSJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQodCwxNyl9O2Z1bmN0aW9uIFN0dCgpe3JldHVybiBPdHR8fChrdHQoRHR0KSxPdHQ9d3R0Lm5vdygpK1B0dCl9ZnVuY3Rpb24gRHR0KCl7T3R0PTB9ZnVuY3Rpb24gUnR0KCl7dGhpcy5fY2FsbD10aGlzLl90aW1lPXRoaXMuX25leHQ9bnVsbH1mdW5jdGlvbiBFdHQodCxlLG4pe3ZhciBvPW5ldyBSdHQ7cmV0dXJuIG8ucmVzdGFydCh0LGUsbiksb31mdW5jdGlvbiBBdHQoKXtPdHQ9KHh0dD13dHQubm93KCkpK1B0dCxDdHQ9TXR0PTA7dHJ5eyEoZnVuY3Rpb24gdCgpe1N0dCgpLCsrQ3R0O2Zvcih2YXIgdCxlPWh0dDtlOykodD1PdHQtZS5fdGltZSk+PTAmJmUuX2NhbGwuY2FsbChudWxsLHQpLGU9ZS5fbmV4dDstLUN0dH0pKCl9ZmluYWxseXtDdHQ9MCwoZnVuY3Rpb24gZSgpe3ZhciB0LGUsbj1odHQsbz0xLzA7Zm9yKDtuOyluLl9jYWxsPyhvPm4uX3RpbWUmJihvPW4uX3RpbWUpLHQ9bixuPW4uX25leHQpOihlPW4uX25leHQsbi5fbmV4dD1udWxsLG49dD90Ll9uZXh0PWU6aHR0PWUpO2J0dD10LE50dChvKX0pKCksT3R0PTB9fWZ1bmN0aW9uIFR0dCgpe3ZhciB0PXd0dC5ub3coKSxlPXQteHR0O2U+MWUzJiYoUHR0LT1lLHh0dD10KX1mdW5jdGlvbiBOdHQodCl7Q3R0fHwoTXR0JiYoTXR0PWNsZWFyVGltZW91dChNdHQpKSx0LU90dD4yND8odDwxLzAmJihNdHQ9c2V0VGltZW91dChBdHQsdC13dHQubm93KCktUHR0KSksdnR0JiYodnR0PWNsZWFySW50ZXJ2YWwodnR0KSkpOih2dHR8fCh4dHQ9d3R0Lm5vdygpLHZ0dD1zZXRJbnRlcnZhbChUdHQsMWUzKSksQ3R0PTEsa3R0KEF0dCkpKX1mdW5jdGlvbiB6dHQodCxlLG4pe3ZhciBvPW5ldyBSdHQ7cmV0dXJuIG8ucmVzdGFydCgoZnVuY3Rpb24obil7by5zdG9wKCksdChuK2UpfSksZT1udWxsPT1lPzA6K2Usbiksb31SdHQucHJvdG90eXBlPUV0dC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlJ0dCxyZXN0YXJ0OmZ1bmN0aW9uKHQsZSxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBpcyBub3QgYSBmdW5jdGlvbiIpO249KG51bGw9PW4/U3R0KCk6K24pKyhudWxsPT1lPzA6K2UpLHRoaXMuX25leHR8fGJ0dD09PXRoaXN8fChidHQ/YnR0Ll9uZXh0PXRoaXM6aHR0PXRoaXMsYnR0PXRoaXMpLHRoaXMuX2NhbGw9dCx0aGlzLl90aW1lPW4sTnR0KCl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLl9jYWxsJiYodGhpcy5fY2FsbD1udWxsLHRoaXMuX3RpbWU9MS8wLE50dCgpKX19O3ZhciBJdHQ9ajYoInN0YXJ0IiwiZW5kIiwiY2FuY2VsIiwiaW50ZXJydXB0IiksSHR0PVtdO2Z1bmN0aW9uIEZ0dCh0LGUsbixvLGksYSl7dmFyIHI9dC5fX3RyYW5zaXRpb247aWYocil7aWYobiBpbiByKXJldHVybn1lbHNlIHQuX190cmFuc2l0aW9uPXt9OyEoZnVuY3Rpb24gcyh0LGUsbil7dmFyIG8saT10Ll9fdHJhbnNpdGlvbjtmdW5jdGlvbiBhKHQpe24uc3RhdGU9MSxuLnRpbWVyLnJlc3RhcnQocixuLmRlbGF5LG4udGltZSksbi5kZWxheTw9dCYmcih0LW4uZGVsYXkpfWZ1bmN0aW9uIHIoYSl7dmFyIGMsZCxwLG07aWYoMSE9PW4uc3RhdGUpcmV0dXJuIGwoKTtmb3IoYyBpbiBpKWlmKChtPWlbY10pLm5hbWU9PT1uLm5hbWUpe2lmKDM9PT1tLnN0YXRlKXJldHVybiB6dHQocik7ND09PW0uc3RhdGU/KG0uc3RhdGU9NixtLnRpbWVyLnN0b3AoKSxtLm9uLmNhbGwoImludGVycnVwdCIsdCx0Ll9fZGF0YV9fLG0uaW5kZXgsbS5ncm91cCksZGVsZXRlIGlbY10pOitjPGUmJihtLnN0YXRlPTYsbS50aW1lci5zdG9wKCksbS5vbi5jYWxsKCJjYW5jZWwiLHQsdC5fX2RhdGFfXyxtLmluZGV4LG0uZ3JvdXApLGRlbGV0ZSBpW2NdKX1pZih6dHQoKGZ1bmN0aW9uKCl7Mz09PW4uc3RhdGUmJihuLnN0YXRlPTQsbi50aW1lci5yZXN0YXJ0KHMsbi5kZWxheSxuLnRpbWUpLHMoYSkpfSkpLG4uc3RhdGU9MixuLm9uLmNhbGwoInN0YXJ0Iix0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSwyPT09bi5zdGF0ZSl7Zm9yKG4uc3RhdGU9MyxvPW5ldyBBcnJheShwPW4udHdlZW4ubGVuZ3RoKSxjPTAsZD0tMTtjPHA7KytjKShtPW4udHdlZW5bY10udmFsdWUuY2FsbCh0LHQuX19kYXRhX18sbi5pbmRleCxuLmdyb3VwKSkmJihvWysrZF09bSk7by5sZW5ndGg9ZCsxfX1mdW5jdGlvbiBzKGUpe2Zvcih2YXIgaT1lPG4uZHVyYXRpb24/bi5lYXNlLmNhbGwobnVsbCxlL24uZHVyYXRpb24pOihuLnRpbWVyLnJlc3RhcnQobCksbi5zdGF0ZT01LDEpLGE9LTEscj1vLmxlbmd0aDsrK2E8cjspb1thXS5jYWxsKHQsaSk7NT09PW4uc3RhdGUmJihuLm9uLmNhbGwoImVuZCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksbCgpKX1mdW5jdGlvbiBsKCl7Zm9yKHZhciBvIGluIG4uc3RhdGU9NixuLnRpbWVyLnN0b3AoKSxkZWxldGUgaVtlXSxpKXJldHVybjtkZWxldGUgdC5fX3RyYW5zaXRpb259aVtlXT1uLG4udGltZXI9RXR0KGEsMCxuLnRpbWUpfSkodCxuLHtuYW1lOmUsaW5kZXg6byxncm91cDppLG9uOkl0dCx0d2VlbjpIdHQsdGltZTphLnRpbWUsZGVsYXk6YS5kZWxheSxkdXJhdGlvbjphLmR1cmF0aW9uLGVhc2U6YS5lYXNlLHRpbWVyOm51bGwsc3RhdGU6MH0pfWZ1bmN0aW9uIEx0dCh0LGUpe3ZhciBuPVZ0dCh0LGUpO2lmKG4uc3RhdGU+MCl0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHNjaGVkdWxlZCIpO3JldHVybiBufWZ1bmN0aW9uIEJ0dCh0LGUpe3ZhciBuPVZ0dCh0LGUpO2lmKG4uc3RhdGU+Myl0aHJvdyBuZXcgRXJyb3IoInRvbyBsYXRlOyBhbHJlYWR5IHJ1bm5pbmciKTtyZXR1cm4gbn1mdW5jdGlvbiBWdHQodCxlKXt2YXIgbj10Ll9fdHJhbnNpdGlvbjtpZighbnx8IShuPW5bZV0pKXRocm93IG5ldyBFcnJvcigidHJhbnNpdGlvbiBub3QgZm91bmQiKTtyZXR1cm4gbn1mdW5jdGlvbiBqdHQodCxlKXt2YXIgbixvLGksYT10Ll9fdHJhbnNpdGlvbixyPSEwO2lmKGEpe2ZvcihpIGluIGU9bnVsbD09ZT9udWxsOmUrIiIsYSkobj1hW2ldKS5uYW1lPT09ZT8obz1uLnN0YXRlPjImJm4uc3RhdGU8NSxuLnN0YXRlPTYsbi50aW1lci5zdG9wKCksbi5vbi5jYWxsKG8/ImludGVycnVwdCI6ImNhbmNlbCIsdCx0Ll9fZGF0YV9fLG4uaW5kZXgsbi5ncm91cCksZGVsZXRlIGFbaV0pOnI9ITE7ciYmZGVsZXRlIHQuX190cmFuc2l0aW9ufX1mdW5jdGlvbiBVdHQodCxlKXt2YXIgbixvO3JldHVybiBmdW5jdGlvbigpe3ZhciBpPUJ0dCh0aGlzLHQpLGE9aS50d2VlbjtpZihhIT09bilmb3IodmFyIHI9MCxzPShvPW49YSkubGVuZ3RoO3I8czsrK3IpaWYob1tyXS5uYW1lPT09ZSl7KG89by5zbGljZSgpKS5zcGxpY2UociwxKTticmVha31pLnR3ZWVuPW99fWZ1bmN0aW9uIFd0dCh0LGUsbil7dmFyIG8saTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGE9QnR0KHRoaXMsdCkscj1hLnR3ZWVuO2lmKHIhPT1vKXtpPShvPXIpLnNsaWNlKCk7Zm9yKHZhciBzPXtuYW1lOmUsdmFsdWU6bn0sbD0wLGM9aS5sZW5ndGg7bDxjOysrbClpZihpW2xdLm5hbWU9PT1lKXtpW2xdPXM7YnJlYWt9bD09PWMmJmkucHVzaChzKX1hLnR3ZWVuPWl9fWZ1bmN0aW9uIEd0dCh0LGUsbil7dmFyIG89dC5faWQ7cmV0dXJuIHQuZWFjaCgoZnVuY3Rpb24oKXt2YXIgdD1CdHQodGhpcyxvKTsodC52YWx1ZXx8KHQudmFsdWU9e30pKVtlXT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pKSxmdW5jdGlvbih0KXtyZXR1cm4gVnR0KHQsbykudmFsdWVbZV19fWZ1bmN0aW9uIFl0dCh0LGUpe3ZhciBuO3JldHVybigibnVtYmVyIj09dHlwZW9mIGU/WDk6ZSBpbnN0YW5jZW9mIGk5P2o5OihuPWk5KGUpKT8oZT1uLGo5KTokOSkodCxlKX1mdW5jdGlvbiBxdHQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVBdHRyaWJ1dGUodCl9fWZ1bmN0aW9uIFp0dCh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCl9fWZ1bmN0aW9uIFh0dCh0LGUsbil7dmFyIG8saSxhPW4rIiI7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5nZXRBdHRyaWJ1dGUodCk7cmV0dXJuIHI9PT1hP251bGw6cj09PW8/aTppPWUobz1yLG4pfX1mdW5jdGlvbiBLdHQodCxlLG4pe3ZhciBvLGksYT1uKyIiO3JldHVybiBmdW5jdGlvbigpe3ZhciByPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKTtyZXR1cm4gcj09PWE/bnVsbDpyPT09bz9pOmk9ZShvPXIsbil9fWZ1bmN0aW9uIEp0dCh0LGUsbil7dmFyIG8saSxhO3JldHVybiBmdW5jdGlvbigpe3ZhciByLHMsbD1uKHRoaXMpO2lmKG51bGwhPWwpcmV0dXJuKHI9dGhpcy5nZXRBdHRyaWJ1dGUodCkpPT09KHM9bCsiIik/bnVsbDpyPT09byYmcz09PWk/YTooaT1zLGE9ZShvPXIsbCkpO3RoaXMucmVtb3ZlQXR0cmlidXRlKHQpfX1mdW5jdGlvbiBRdHQodCxlLG4pe3ZhciBvLGksYTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcixzLGw9bih0aGlzKTtpZihudWxsIT1sKXJldHVybihyPXRoaXMuZ2V0QXR0cmlidXRlTlModC5zcGFjZSx0LmxvY2FsKSk9PT0ocz1sKyIiKT9udWxsOnI9PT1vJiZzPT09aT9hOihpPXMsYT1lKG89cixsKSk7dGhpcy5yZW1vdmVBdHRyaWJ1dGVOUyh0LnNwYWNlLHQubG9jYWwpfX1mdW5jdGlvbiAkdHQodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dGhpcy5zZXRBdHRyaWJ1dGUodCxlLmNhbGwodGhpcyxuKSl9fWZ1bmN0aW9uIHRldCh0LGUpe3JldHVybiBmdW5jdGlvbihuKXt0aGlzLnNldEF0dHJpYnV0ZU5TKHQuc3BhY2UsdC5sb2NhbCxlLmNhbGwodGhpcyxuKSl9fWZ1bmN0aW9uIGVldCh0LGUpe3ZhciBuLG87ZnVuY3Rpb24gaSgpe3ZhciBpPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBpIT09byYmKG49KG89aSkmJnRldCh0LGkpKSxufXJldHVybiBpLl92YWx1ZT1lLGl9ZnVuY3Rpb24gbmV0KHQsZSl7dmFyIG4sbztmdW5jdGlvbiBpKCl7dmFyIGk9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIGkhPT1vJiYobj0obz1pKSYmJHR0KHQsaSkpLG59cmV0dXJuIGkuX3ZhbHVlPWUsaX1mdW5jdGlvbiBvZXQodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtMdHQodGhpcyx0KS5kZWxheT0rZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGlldCh0LGUpe3JldHVybiBlPStlLGZ1bmN0aW9uKCl7THR0KHRoaXMsdCkuZGVsYXk9ZX19ZnVuY3Rpb24gYWV0KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7QnR0KHRoaXMsdCkuZHVyYXRpb249K2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiByZXQodCxlKXtyZXR1cm4gZT0rZSxmdW5jdGlvbigpe0J0dCh0aGlzLHQpLmR1cmF0aW9uPWV9fWZ1bmN0aW9uIHNldCh0LGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcjtyZXR1cm4gZnVuY3Rpb24oKXtCdHQodGhpcyx0KS5lYXNlPWV9fWZ1bmN0aW9uIGNldCh0LGUsbil7dmFyIG8saSxhPShmdW5jdGlvbiByKHQpe3JldHVybih0KyIiKS50cmltKCkuc3BsaXQoL158XHMrLykuZXZlcnkoKGZ1bmN0aW9uKHQpe3ZhciBlPXQuaW5kZXhPZigiLiIpO3JldHVybiBlPj0wJiYodD10LnNsaWNlKDAsZSkpLCF0fHwic3RhcnQiPT09dH0pKX0pKGUpP0x0dDpCdHQ7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9YSh0aGlzLHQpLHM9ci5vbjtzIT09byYmKGk9KG89cykuY29weSgpKS5vbihlLG4pLHIub249aX19dmFyIGRldD1lOC5wcm90b3R5cGUuY29uc3RydWN0b3I7ZnVuY3Rpb24gcGV0KHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCl9fWZ1bmN0aW9uIG1ldCh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKG8pe3RoaXMuc3R5bGUuc2V0UHJvcGVydHkodCxlLmNhbGwodGhpcyxvKSxuKX19ZnVuY3Rpb24gZmV0KHQsZSxuKXt2YXIgbyxpO2Z1bmN0aW9uIGEoKXt2YXIgYT1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gYSE9PWkmJihvPShpPWEpJiZtZXQodCxhLG4pKSxvfXJldHVybiBhLl92YWx1ZT1lLGF9ZnVuY3Rpb24gdWV0KHQpe3JldHVybiBmdW5jdGlvbihlKXt0aGlzLnRleHRDb250ZW50PXQuY2FsbCh0aGlzLGUpfX1mdW5jdGlvbiBnZXQodCl7dmFyIGUsbjtmdW5jdGlvbiBvKCl7dmFyIG89dC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG8hPT1uJiYoZT0obj1vKSYmdWV0KG8pKSxlfXJldHVybiBvLl92YWx1ZT10LG99dmFyIGhldD0wO2Z1bmN0aW9uIGJldCh0LGUsbixvKXt0aGlzLl9ncm91cHM9dCx0aGlzLl9wYXJlbnRzPWUsdGhpcy5fbmFtZT1uLHRoaXMuX2lkPW99ZnVuY3Rpb24geWV0KCl7cmV0dXJuKytoZXR9dmFyIF9ldD1lOC5wcm90b3R5cGU7YmV0LnByb3RvdHlwZT17Y29uc3RydWN0b3I6YmV0LHNlbGVjdDpmdW5jdGlvbiBDZXQodCl7dmFyIGU9dGhpcy5fbmFtZSxuPXRoaXMuX2lkOyJmdW5jdGlvbiIhPXR5cGVvZiB0JiYodD10Nyh0KSk7Zm9yKHZhciBvPXRoaXMuX2dyb3VwcyxpPW8ubGVuZ3RoLGE9bmV3IEFycmF5KGkpLHI9MDtyPGk7KytyKWZvcih2YXIgcyxsLGM9b1tyXSxkPWMubGVuZ3RoLHA9YVtyXT1uZXcgQXJyYXkoZCksbT0wO208ZDsrK20pKHM9Y1ttXSkmJihsPXQuY2FsbChzLHMuX19kYXRhX18sbSxjKSkmJigiX19kYXRhX18iaW4gcyYmKGwuX19kYXRhX189cy5fX2RhdGFfXykscFttXT1sLEZ0dChwW21dLGUsbixtLHAsVnR0KHMsbikpKTtyZXR1cm4gbmV3IGJldChhLHRoaXMuX3BhcmVudHMsZSxuKX0sc2VsZWN0QWxsOmZ1bmN0aW9uIE1ldCh0KXt2YXIgZT10aGlzLl9uYW1lLG49dGhpcy5faWQ7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PW43KHQpKTtmb3IodmFyIG89dGhpcy5fZ3JvdXBzLGk9by5sZW5ndGgsYT1bXSxyPVtdLHM9MDtzPGk7KytzKWZvcih2YXIgbCxjPW9bc10sZD1jLmxlbmd0aCxwPTA7cDxkOysrcClpZihsPWNbcF0pe2Zvcih2YXIgbSxmPXQuY2FsbChsLGwuX19kYXRhX18scCxjKSx1PVZ0dChsLG4pLGc9MCxoPWYubGVuZ3RoO2c8aDsrK2cpKG09ZltnXSkmJkZ0dChtLGUsbixnLGYsdSk7YS5wdXNoKGYpLHIucHVzaChsKX1yZXR1cm4gbmV3IGJldChhLHIsZSxuKX0sZmlsdGVyOmZ1bmN0aW9uIHZldCh0KXsiZnVuY3Rpb24iIT10eXBlb2YgdCYmKHQ9bzcodCkpO2Zvcih2YXIgZT10aGlzLl9ncm91cHMsbj1lLmxlbmd0aCxvPW5ldyBBcnJheShuKSxpPTA7aTxuOysraSlmb3IodmFyIGEscj1lW2ldLHM9ci5sZW5ndGgsbD1vW2ldPVtdLGM9MDtjPHM7KytjKShhPXJbY10pJiZ0LmNhbGwoYSxhLl9fZGF0YV9fLGMscikmJmwucHVzaChhKTtyZXR1cm4gbmV3IGJldChvLHRoaXMuX3BhcmVudHMsdGhpcy5fbmFtZSx0aGlzLl9pZCl9LG1lcmdlOmZ1bmN0aW9uIHhldCh0KXtpZih0Ll9pZCE9PXRoaXMuX2lkKXRocm93IG5ldyBFcnJvcjtmb3IodmFyIGU9dGhpcy5fZ3JvdXBzLG49dC5fZ3JvdXBzLG89ZS5sZW5ndGgsaT1NYXRoLm1pbihvLG4ubGVuZ3RoKSxhPW5ldyBBcnJheShvKSxyPTA7cjxpOysrcilmb3IodmFyIHMsbD1lW3JdLGM9bltyXSxkPWwubGVuZ3RoLHA9YVtyXT1uZXcgQXJyYXkoZCksbT0wO208ZDsrK20pKHM9bFttXXx8Y1ttXSkmJihwW21dPXMpO2Zvcig7cjxvOysrcilhW3JdPWVbcl07cmV0dXJuIG5ldyBiZXQoYSx0aGlzLl9wYXJlbnRzLHRoaXMuX25hbWUsdGhpcy5faWQpfSxzZWxlY3Rpb246ZnVuY3Rpb24gT2V0KCl7cmV0dXJuIG5ldyBkZXQodGhpcy5fZ3JvdXBzLHRoaXMuX3BhcmVudHMpfSx0cmFuc2l0aW9uOmZ1bmN0aW9uIFBldCgpe2Zvcih2YXIgdD10aGlzLl9uYW1lLGU9dGhpcy5faWQsbj15ZXQoKSxvPXRoaXMuX2dyb3VwcyxpPW8ubGVuZ3RoLGE9MDthPGk7KythKWZvcih2YXIgcixzPW9bYV0sbD1zLmxlbmd0aCxjPTA7YzxsOysrYylpZihyPXNbY10pe3ZhciBkPVZ0dChyLGUpO0Z0dChyLHQsbixjLHMse3RpbWU6ZC50aW1lK2QuZGVsYXkrZC5kdXJhdGlvbixkZWxheTowLGR1cmF0aW9uOmQuZHVyYXRpb24sZWFzZTpkLmVhc2V9KX1yZXR1cm4gbmV3IGJldChvLHRoaXMuX3BhcmVudHMsdCxuKX0sY2FsbDpfZXQuY2FsbCxub2RlczpfZXQubm9kZXMsbm9kZTpfZXQubm9kZSxzaXplOl9ldC5zaXplLGVtcHR5Ol9ldC5lbXB0eSxlYWNoOl9ldC5lYWNoLG9uOmZ1bmN0aW9uIHdldCh0LGUpe3ZhciBuPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDI/VnR0KHRoaXMubm9kZSgpLG4pLm9uLm9uKHQpOnRoaXMuZWFjaChjZXQobix0LGUpKX0sYXR0cjpmdW5jdGlvbiBrZXQodCxlKXt2YXIgbj1YNih0KSxvPSJ0cmFuc2Zvcm0iPT09bj9tdHQ6WXR0O3JldHVybiB0aGlzLmF0dHJUd2Vlbih0LCJmdW5jdGlvbiI9PXR5cGVvZiBlPyhuLmxvY2FsP1F0dDpKdHQpKG4sbyxHdHQodGhpcywiYXR0ci4iK3QsZSkpOm51bGw9PWU/KG4ubG9jYWw/WnR0OnF0dCkobik6KG4ubG9jYWw/S3R0Olh0dCkobixvLGUpKX0sYXR0clR3ZWVuOmZ1bmN0aW9uIERldCh0LGUpe3ZhciBuPSJhdHRyLiIrdDtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKG49dGhpcy50d2VlbihuKSkmJm4uX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4obixudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7dmFyIG89WDYodCk7cmV0dXJuIHRoaXMudHdlZW4obiwoby5sb2NhbD9lZXQ6bmV0KShvLGUpKX0sc3R5bGU6ZnVuY3Rpb24gUmV0KHQsZSxuKXt2YXIgbz0idHJhbnNmb3JtIj09KHQrPSIiKT9kdHQ6WXR0O3JldHVybiBudWxsPT1lP3RoaXMuc3R5bGVUd2Vlbih0LChmdW5jdGlvbiBpKHQsZSl7dmFyIG4sbyxpO3JldHVybiBmdW5jdGlvbigpe3ZhciBhPV83KHRoaXMsdCkscj0odGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0KSxfNyh0aGlzLHQpKTtyZXR1cm4gYT09PXI/bnVsbDphPT09biYmcj09PW8/aTppPWUobj1hLG89cil9fSkodCxvKSkub24oImVuZC5zdHlsZS4iK3QscGV0KHQpKToiZnVuY3Rpb24iPT10eXBlb2YgZT90aGlzLnN0eWxlVHdlZW4odCwoZnVuY3Rpb24gcih0LGUsbil7dmFyIG8saSxhO3JldHVybiBmdW5jdGlvbigpe3ZhciByPV83KHRoaXMsdCkscz1uKHRoaXMpLGw9cysiIjtyZXR1cm4gbnVsbD09cyYmKHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkodCksbD1zPV83KHRoaXMsdCkpLHI9PT1sP251bGw6cj09PW8mJmw9PT1pP2E6KGk9bCxhPWUobz1yLHMpKX19KSh0LG8sR3R0KHRoaXMsInN0eWxlLiIrdCxlKSkpLmVhY2goKGZ1bmN0aW9uIGEodCxlKXt2YXIgbixvLGksYSxyPSJzdHlsZS4iK2Uscz0iZW5kLiIrcjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbD1CdHQodGhpcyx0KSxjPWwub24sZD1udWxsPT1sLnZhbHVlW3JdP2F8fChhPXBldChlKSk6dm9pZCAwO2M9PT1uJiZpPT09ZHx8KG89KG49YykuY29weSgpKS5vbihzLGk9ZCksbC5vbj1vfX0pKHRoaXMuX2lkLHQpKTp0aGlzLnN0eWxlVHdlZW4odCwoZnVuY3Rpb24gcyh0LGUsbil7dmFyIG8saSxhPW4rIiI7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9XzcodGhpcyx0KTtyZXR1cm4gcj09PWE/bnVsbDpyPT09bz9pOmk9ZShvPXIsbil9fSkodCxvLGUpLG4pLm9uKCJlbmQuc3R5bGUuIit0LG51bGwpfSxzdHlsZVR3ZWVuOmZ1bmN0aW9uIEVldCh0LGUsbil7dmFyIG89InN0eWxlLiIrKHQrPSIiKTtpZihhcmd1bWVudHMubGVuZ3RoPDIpcmV0dXJuKG89dGhpcy50d2VlbihvKSkmJm8uX3ZhbHVlO2lmKG51bGw9PWUpcmV0dXJuIHRoaXMudHdlZW4obyxudWxsKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3I7cmV0dXJuIHRoaXMudHdlZW4obyxmZXQodCxlLG51bGw9PW4/IiI6bikpfSx0ZXh0OmZ1bmN0aW9uIEFldCh0KXtyZXR1cm4gdGhpcy50d2VlbigidGV4dCIsImZ1bmN0aW9uIj09dHlwZW9mIHQ/KGZ1bmN0aW9uIGUodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKTt0aGlzLnRleHRDb250ZW50PW51bGw9PWU/IiI6ZX19KShHdHQodGhpcywidGV4dCIsdCkpOihmdW5jdGlvbiBuKHQpe3JldHVybiBmdW5jdGlvbigpe3RoaXMudGV4dENvbnRlbnQ9dH19KShudWxsPT10PyIiOnQrIiIpKX0sdGV4dFR3ZWVuOmZ1bmN0aW9uIFRldCh0KXt2YXIgZT0idGV4dCI7aWYoYXJndW1lbnRzLmxlbmd0aDwxKXJldHVybihlPXRoaXMudHdlZW4oZSkpJiZlLl92YWx1ZTtpZihudWxsPT10KXJldHVybiB0aGlzLnR3ZWVuKGUsbnVsbCk7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yO3JldHVybiB0aGlzLnR3ZWVuKGUsZ2V0KHQpKX0scmVtb3ZlOmZ1bmN0aW9uIE5ldCgpe3JldHVybiB0aGlzLm9uKCJlbmQucmVtb3ZlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD10aGlzLnBhcmVudE5vZGU7Zm9yKHZhciBuIGluIHRoaXMuX190cmFuc2l0aW9uKWlmKCtuIT09ZSlyZXR1cm47dCYmdC5yZW1vdmVDaGlsZCh0aGlzKX19KSh0aGlzLl9pZCkpfSx0d2VlbjpmdW5jdGlvbiB6ZXQodCxlKXt2YXIgbj10aGlzLl9pZDtpZih0Kz0iIixhcmd1bWVudHMubGVuZ3RoPDIpe2Zvcih2YXIgbyxpPVZ0dCh0aGlzLm5vZGUoKSxuKS50d2VlbixhPTAscj1pLmxlbmd0aDthPHI7KythKWlmKChvPWlbYV0pLm5hbWU9PT10KXJldHVybiBvLnZhbHVlO3JldHVybiBudWxsfXJldHVybiB0aGlzLmVhY2goKG51bGw9PWU/VXR0Old0dCkobix0LGUpKX0sZGVsYXk6ZnVuY3Rpb24gSWV0KHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaCgoImZ1bmN0aW9uIj09dHlwZW9mIHQ/b2V0OmlldCkoZSx0KSk6VnR0KHRoaXMubm9kZSgpLGUpLmRlbGF5fSxkdXJhdGlvbjpmdW5jdGlvbiBIZXQodCl7dmFyIGU9dGhpcy5faWQ7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/dGhpcy5lYWNoKCgiZnVuY3Rpb24iPT10eXBlb2YgdD9hZXQ6cmV0KShlLHQpKTpWdHQodGhpcy5ub2RlKCksZSkuZHVyYXRpb259LGVhc2U6ZnVuY3Rpb24gRmV0KHQpe3ZhciBlPXRoaXMuX2lkO3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3RoaXMuZWFjaChzZXQoZSx0KSk6VnR0KHRoaXMubm9kZSgpLGUpLmVhc2V9LGVuZDpmdW5jdGlvbiBMZXQoKXt2YXIgdCxlLG49dGhpcyxvPW4uX2lkLGk9bi5zaXplKCk7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihhLHIpe3ZhciBzPXt2YWx1ZTpyfSxsPXt2YWx1ZTpmdW5jdGlvbigpezA9PS0taSYmYSgpfX07bi5lYWNoKChmdW5jdGlvbigpe3ZhciBuPUJ0dCh0aGlzLG8pLGk9bi5vbjtpIT09dCYmKChlPSh0PWkpLmNvcHkoKSkuXy5jYW5jZWwucHVzaChzKSxlLl8uaW50ZXJydXB0LnB1c2gocyksZS5fLmVuZC5wdXNoKGwpKSxuLm9uPWV9KSl9KSl9fTt2YXIgQmV0PXt0aW1lOm51bGwsZGVsYXk6MCxkdXJhdGlvbjoyNTAsZWFzZTpmdW5jdGlvbiBWZXQodCl7cmV0dXJuKCh0Kj0yKTw9MT90KnQqdDoodC09MikqdCp0KzIpLzJ9fTtmdW5jdGlvbiBqZXQodCxlKXtmb3IodmFyIG47IShuPXQuX190cmFuc2l0aW9uKXx8IShuPW5bZV0pOylpZighKHQ9dC5wYXJlbnROb2RlKSlyZXR1cm4gQmV0LnRpbWU9U3R0KCksQmV0O3JldHVybiBufWZ1bmN0aW9uIFVldCh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19ZnVuY3Rpb24gV2V0KHQsZSxuKXt0aGlzLnRhcmdldD10LHRoaXMudHlwZT1lLHRoaXMuc2VsZWN0aW9uPW59ZnVuY3Rpb24gR2V0KCl7Vzcuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gWWV0KCl7VzcucHJldmVudERlZmF1bHQoKSxXNy5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKX1lOC5wcm90b3R5cGUuaW50ZXJydXB0PWZ1bmN0aW9uIHFldCh0KXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe2p0dCh0aGlzLHQpfSkpfSxlOC5wcm90b3R5cGUudHJhbnNpdGlvbj1mdW5jdGlvbiBaZXQodCl7dmFyIGUsbjt0IGluc3RhbmNlb2YgYmV0PyhlPXQuX2lkLHQ9dC5fbmFtZSk6KGU9eWV0KCksKG49QmV0KS50aW1lPVN0dCgpLHQ9bnVsbD09dD9udWxsOnQrIiIpO2Zvcih2YXIgbz10aGlzLl9ncm91cHMsaT1vLmxlbmd0aCxhPTA7YTxpOysrYSlmb3IodmFyIHIscz1vW2FdLGw9cy5sZW5ndGgsYz0wO2M8bDsrK2MpKHI9c1tjXSkmJkZ0dChyLHQsZSxjLHMsbnx8amV0KHIsZSkpO3JldHVybiBuZXcgYmV0KG8sdGhpcy5fcGFyZW50cyx0LGUpfTt2YXIgWGV0PXtuYW1lOiJkcmFnIn0sS2V0PXtuYW1lOiJzcGFjZSJ9LEpldD17bmFtZToiaGFuZGxlIn0sUWV0PXtuYW1lOiJjZW50ZXIifTtmdW5jdGlvbiAkZXQodCl7cmV0dXJuWyt0WzBdLCt0WzFdXX1mdW5jdGlvbiB0bnQodCl7cmV0dXJuWyRldCh0WzBdKSwkZXQodFsxXSldfWZ1bmN0aW9uIGVudCh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuKGZ1bmN0aW9uIG4odCxlLG8pe2FyZ3VtZW50cy5sZW5ndGg8MyYmKG89ZSxlPW84KCkuY2hhbmdlZFRvdWNoZXMpO2Zvcih2YXIgaSxhPTAscj1lP2UubGVuZ3RoOjA7YTxyOysrYSlpZigoaT1lW2FdKS5pZGVudGlmaWVyPT09bylyZXR1cm4gaTgodCxpKTtyZXR1cm4gbnVsbH0pKGUsVzcudG91Y2hlcyx0KX19dmFyIG5udD17bmFtZToieCIsaGFuZGxlczpbInciLCJlIl0ubWFwKGNudCksaW5wdXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbnVsbD09dD9udWxsOltbK3RbMF0sZVswXVsxXV0sWyt0WzFdLGVbMV1bMV1dXX0sb3V0cHV0OmZ1bmN0aW9uKHQpe3JldHVybiB0JiZbdFswXVswXSx0WzFdWzBdXX19LG9udD17bmFtZToieSIsaGFuZGxlczpbIm4iLCJzIl0ubWFwKGNudCksaW5wdXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbnVsbD09dD9udWxsOltbZVswXVswXSwrdFswXV0sW2VbMV1bMF0sK3RbMV1dXX0sb3V0cHV0OmZ1bmN0aW9uKHQpe3JldHVybiB0JiZbdFswXVsxXSx0WzFdWzFdXX19LGludD17b3ZlcmxheToiY3Jvc3NoYWlyIixzZWxlY3Rpb246Im1vdmUiLG46Im5zLXJlc2l6ZSIsZToiZXctcmVzaXplIixzOiJucy1yZXNpemUiLHc6ImV3LXJlc2l6ZSIsbnc6Im53c2UtcmVzaXplIixuZToibmVzdy1yZXNpemUiLHNlOiJud3NlLXJlc2l6ZSIsc3c6Im5lc3ctcmVzaXplIn0sYW50PXtlOiJ3Iix3OiJlIixudzoibmUiLG5lOiJudyIsc2U6InN3Iixzdzoic2UifSxybnQ9e246InMiLHM6Im4iLG53OiJzdyIsbmU6InNlIixzZToibmUiLHN3OiJudyJ9LHNudD17b3ZlcmxheToxLHNlbGVjdGlvbjoxLG46bnVsbCxlOjEsczpudWxsLHc6LTEsbnc6LTEsbmU6MSxzZToxLHN3Oi0xfSxsbnQ9e292ZXJsYXk6MSxzZWxlY3Rpb246MSxuOi0xLGU6bnVsbCxzOjEsdzpudWxsLG53Oi0xLG5lOi0xLHNlOjEsc3c6MX07ZnVuY3Rpb24gY250KHQpe3JldHVybnt0eXBlOnR9fWZ1bmN0aW9uIGRudCgpe3JldHVybiFXNy5jdHJsS2V5JiYhVzcuYnV0dG9ufWZ1bmN0aW9uIHBudCgpe3ZhciB0PXRoaXMub3duZXJTVkdFbGVtZW50fHx0aGlzO3JldHVybiB0Lmhhc0F0dHJpYnV0ZSgidmlld0JveCIpP1tbKHQ9dC52aWV3Qm94LmJhc2VWYWwpLngsdC55XSxbdC54K3Qud2lkdGgsdC55K3QuaGVpZ2h0XV06W1swLDBdLFt0LndpZHRoLmJhc2VWYWwudmFsdWUsdC5oZWlnaHQuYmFzZVZhbC52YWx1ZV1dfWZ1bmN0aW9uIG1udCgpe3JldHVybiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHN8fCJvbnRvdWNoc3RhcnQiaW4gdGhpc31mdW5jdGlvbiBmbnQodCl7Zm9yKDshdC5fX2JydXNoOylpZighKHQ9dC5wYXJlbnROb2RlKSlyZXR1cm47cmV0dXJuIHQuX19icnVzaH1mdW5jdGlvbiB1bnQodCl7cmV0dXJuIHRbMF1bMF09PT10WzFdWzBdfHx0WzBdWzFdPT09dFsxXVsxXX1mdW5jdGlvbiBnbnQoKXtyZXR1cm4oZnVuY3Rpb24gdChlKXt2YXIgbixvPXBudCxpPWRudCxhPW1udCxyPSEwLHM9ajYoInN0YXJ0IiwiYnJ1c2giLCJlbmQiKSxsPTY7ZnVuY3Rpb24gYyh0KXt2YXIgbj10LnByb3BlcnR5KCJfX2JydXNoIixoKS5zZWxlY3RBbGwoIi5vdmVybGF5IikuZGF0YShbY250KCJvdmVybGF5IildKTtuLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuYXR0cigiY2xhc3MiLCJvdmVybGF5IikuYXR0cigicG9pbnRlci1ldmVudHMiLCJhbGwiKS5hdHRyKCJjdXJzb3IiLGludC5vdmVybGF5KS5tZXJnZShuKS5lYWNoKChmdW5jdGlvbigpe3ZhciB0PWZudCh0aGlzKS5leHRlbnQ7bjgodGhpcykuYXR0cigieCIsdFswXVswXSkuYXR0cigieSIsdFswXVsxXSkuYXR0cigid2lkdGgiLHRbMV1bMF0tdFswXVswXSkuYXR0cigiaGVpZ2h0Iix0WzFdWzFdLXRbMF1bMV0pfSkpLHQuc2VsZWN0QWxsKCIuc2VsZWN0aW9uIikuZGF0YShbY250KCJzZWxlY3Rpb24iKV0pLmVudGVyKCkuYXBwZW5kKCJyZWN0IikuYXR0cigiY2xhc3MiLCJzZWxlY3Rpb24iKS5hdHRyKCJjdXJzb3IiLGludC5zZWxlY3Rpb24pLmF0dHIoImZpbGwiLCIjNzc3IikuYXR0cigiZmlsbC1vcGFjaXR5IiwuMykuYXR0cigic3Ryb2tlIiwiI2ZmZiIpLmF0dHIoInNoYXBlLXJlbmRlcmluZyIsImNyaXNwRWRnZXMiKTt2YXIgbz10LnNlbGVjdEFsbCgiLmhhbmRsZSIpLmRhdGEoZS5oYW5kbGVzLChmdW5jdGlvbih0KXtyZXR1cm4gdC50eXBlfSkpO28uZXhpdCgpLnJlbW92ZSgpLG8uZW50ZXIoKS5hcHBlbmQoInJlY3QiKS5hdHRyKCJjbGFzcyIsKGZ1bmN0aW9uKHQpe3JldHVybiJoYW5kbGUgaGFuZGxlLS0iK3QudHlwZX0pKS5hdHRyKCJjdXJzb3IiLChmdW5jdGlvbih0KXtyZXR1cm4gaW50W3QudHlwZV19KSksdC5lYWNoKGQpLmF0dHIoImZpbGwiLCJub25lIikuYXR0cigicG9pbnRlci1ldmVudHMiLCJhbGwiKS5vbigibW91c2Vkb3duLmJydXNoIixmKS5maWx0ZXIoYSkub24oInRvdWNoc3RhcnQuYnJ1c2giLGYpLm9uKCJ0b3VjaG1vdmUuYnJ1c2giLHUpLm9uKCJ0b3VjaGVuZC5icnVzaCB0b3VjaGNhbmNlbC5icnVzaCIsZykuc3R5bGUoInRvdWNoLWFjdGlvbiIsIm5vbmUiKS5zdHlsZSgiLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yIiwicmdiYSgwLDAsMCwwKSIpfWZ1bmN0aW9uIGQoKXt2YXIgdD1uOCh0aGlzKSxlPWZudCh0aGlzKS5zZWxlY3Rpb247ZT8odC5zZWxlY3RBbGwoIi5zZWxlY3Rpb24iKS5zdHlsZSgiZGlzcGxheSIsbnVsbCkuYXR0cigieCIsZVswXVswXSkuYXR0cigieSIsZVswXVsxXSkuYXR0cigid2lkdGgiLGVbMV1bMF0tZVswXVswXSkuYXR0cigiaGVpZ2h0IixlWzFdWzFdLWVbMF1bMV0pLHQuc2VsZWN0QWxsKCIuaGFuZGxlIikuc3R5bGUoImRpc3BsYXkiLG51bGwpLmF0dHIoIngiLChmdW5jdGlvbih0KXtyZXR1cm4iZSI9PT10LnR5cGVbdC50eXBlLmxlbmd0aC0xXT9lWzFdWzBdLWwvMjplWzBdWzBdLWwvMn0pKS5hdHRyKCJ5IiwoZnVuY3Rpb24odCl7cmV0dXJuInMiPT09dC50eXBlWzBdP2VbMV1bMV0tbC8yOmVbMF1bMV0tbC8yfSkpLmF0dHIoIndpZHRoIiwoZnVuY3Rpb24odCl7cmV0dXJuIm4iPT09dC50eXBlfHwicyI9PT10LnR5cGU/ZVsxXVswXS1lWzBdWzBdK2w6bH0pKS5hdHRyKCJoZWlnaHQiLChmdW5jdGlvbih0KXtyZXR1cm4iZSI9PT10LnR5cGV8fCJ3Ij09PXQudHlwZT9lWzFdWzFdLWVbMF1bMV0rbDpsfSkpKTp0LnNlbGVjdEFsbCgiLnNlbGVjdGlvbiwuaGFuZGxlIikuc3R5bGUoImRpc3BsYXkiLCJub25lIikuYXR0cigieCIsbnVsbCkuYXR0cigieSIsbnVsbCkuYXR0cigid2lkdGgiLG51bGwpLmF0dHIoImhlaWdodCIsbnVsbCl9ZnVuY3Rpb24gcCh0LGUsbil7dmFyIG89dC5fX2JydXNoLmVtaXR0ZXI7cmV0dXJuIW98fG4mJm8uY2xlYW4/bmV3IG0odCxlLG4pOm99ZnVuY3Rpb24gbSh0LGUsbil7dGhpcy50aGF0PXQsdGhpcy5hcmdzPWUsdGhpcy5zdGF0ZT10Ll9fYnJ1c2gsdGhpcy5hY3RpdmU9MCx0aGlzLmNsZWFuPW59ZnVuY3Rpb24gZigpe2lmKCghbnx8VzcudG91Y2hlcykmJmkuYXBwbHkodGhpcyxhcmd1bWVudHMpKXt2YXIgdCxvLGEscyxsLGMsbSxmLHUsZyxoLGI9dGhpcyx5PVc3LnRhcmdldC5fX2RhdGFfXy50eXBlLF89InNlbGVjdGlvbiI9PT0ociYmVzcubWV0YUtleT95PSJvdmVybGF5Ijp5KT9YZXQ6ciYmVzcuYWx0S2V5P1FldDpKZXQsQz1lPT09b250P251bGw6c250W3ldLE09ZT09PW5udD9udWxsOmxudFt5XSx2PWZudChiKSx4PXYuZXh0ZW50LE89di5zZWxlY3Rpb24sUD14WzBdWzBdLHc9eFswXVsxXSxrPXhbMV1bMF0sUz14WzFdWzFdLEQ9MCxSPTAsRT1DJiZNJiZyJiZXNy5zaGlmdEtleSxBPVc3LnRvdWNoZXM/ZW50KFc3LmNoYW5nZWRUb3VjaGVzWzBdLmlkZW50aWZpZXIpOmE4LFQ9QShiKSxOPVQsej1wKGIsYXJndW1lbnRzLCEwKS5iZWZvcmVzdGFydCgpOyJvdmVybGF5Ij09PXk/KE8mJih1PSEwKSx2LnNlbGVjdGlvbj1PPVtbdD1lPT09b250P1A6VFswXSxhPWU9PT1ubnQ/dzpUWzFdXSxbbD1lPT09b250P2s6dCxtPWU9PT1ubnQ/UzphXV0pOih0PU9bMF1bMF0sYT1PWzBdWzFdLGw9T1sxXVswXSxtPU9bMV1bMV0pLG89dCxzPWEsYz1sLGY9bTt2YXIgST1uOChiKS5hdHRyKCJwb2ludGVyLWV2ZW50cyIsIm5vbmUiKSxIPUkuc2VsZWN0QWxsKCIub3ZlcmxheSIpLmF0dHIoImN1cnNvciIsaW50W3ldKTtpZihXNy50b3VjaGVzKXoubW92ZWQ9TCx6LmVuZGVkPVY7ZWxzZXt2YXIgRj1uOChXNy52aWV3KS5vbigibW91c2Vtb3ZlLmJydXNoIixMLCEwKS5vbigibW91c2V1cC5icnVzaCIsViwhMCk7ciYmRi5vbigia2V5ZG93bi5icnVzaCIsaiwhMCkub24oImtleXVwLmJydXNoIixVLCEwKSxzOChXNy52aWV3KX1HZXQoKSxqdHQoYiksZC5jYWxsKGIpLHouc3RhcnQoKX1mdW5jdGlvbiBMKCl7dmFyIHQ9QShiKTshRXx8Z3x8aHx8KE1hdGguYWJzKHRbMF0tTlswXSk+TWF0aC5hYnModFsxXS1OWzFdKT9oPSEwOmc9ITApLE49dCx1PSEwLFlldCgpLEIoKX1mdW5jdGlvbiBCKCl7dmFyIGU7c3dpdGNoKEQ9TlswXS1UWzBdLFI9TlsxXS1UWzFdLF8pe2Nhc2UgS2V0OmNhc2UgWGV0OkMmJihEPU1hdGgubWF4KFAtdCxNYXRoLm1pbihrLWwsRCkpLG89dCtELGM9bCtEKSxNJiYoUj1NYXRoLm1heCh3LWEsTWF0aC5taW4oUy1tLFIpKSxzPWErUixmPW0rUik7YnJlYWs7Y2FzZSBKZXQ6QzwwPyhEPU1hdGgubWF4KFAtdCxNYXRoLm1pbihrLXQsRCkpLG89dCtELGM9bCk6Qz4wJiYoRD1NYXRoLm1heChQLWwsTWF0aC5taW4oay1sLEQpKSxvPXQsYz1sK0QpLE08MD8oUj1NYXRoLm1heCh3LWEsTWF0aC5taW4oUy1hLFIpKSxzPWErUixmPW0pOk0+MCYmKFI9TWF0aC5tYXgody1tLE1hdGgubWluKFMtbSxSKSkscz1hLGY9bStSKTticmVhaztjYXNlIFFldDpDJiYobz1NYXRoLm1heChQLE1hdGgubWluKGssdC1EKkMpKSxjPU1hdGgubWF4KFAsTWF0aC5taW4oayxsK0QqQykpKSxNJiYocz1NYXRoLm1heCh3LE1hdGgubWluKFMsYS1SKk0pKSxmPU1hdGgubWF4KHcsTWF0aC5taW4oUyxtK1IqTSkpKX1jPG8mJihDKj0tMSxlPXQsdD1sLGw9ZSxlPW8sbz1jLGM9ZSx5IGluIGFudCYmSC5hdHRyKCJjdXJzb3IiLGludFt5PWFudFt5XV0pKSxmPHMmJihNKj0tMSxlPWEsYT1tLG09ZSxlPXMscz1mLGY9ZSx5IGluIHJudCYmSC5hdHRyKCJjdXJzb3IiLGludFt5PXJudFt5XV0pKSx2LnNlbGVjdGlvbiYmKE89di5zZWxlY3Rpb24pLGcmJihvPU9bMF1bMF0sYz1PWzFdWzBdKSxoJiYocz1PWzBdWzFdLGY9T1sxXVsxXSksT1swXVswXT09PW8mJk9bMF1bMV09PT1zJiZPWzFdWzBdPT09YyYmT1sxXVsxXT09PWZ8fCh2LnNlbGVjdGlvbj1bW28sc10sW2MsZl1dLGQuY2FsbChiKSx6LmJydXNoKCkpfWZ1bmN0aW9uIFYoKXtpZihHZXQoKSxXNy50b3VjaGVzKXtpZihXNy50b3VjaGVzLmxlbmd0aClyZXR1cm47biYmY2xlYXJUaW1lb3V0KG4pLG49c2V0VGltZW91dCgoZnVuY3Rpb24oKXtuPW51bGx9KSw1MDApfWVsc2UgbDgoVzcudmlldyx1KSxGLm9uKCJrZXlkb3duLmJydXNoIGtleXVwLmJydXNoIG1vdXNlbW92ZS5icnVzaCBtb3VzZXVwLmJydXNoIixudWxsKTtJLmF0dHIoInBvaW50ZXItZXZlbnRzIiwiYWxsIiksSC5hdHRyKCJjdXJzb3IiLGludC5vdmVybGF5KSx2LnNlbGVjdGlvbiYmKE89di5zZWxlY3Rpb24pLHVudChPKSYmKHYuc2VsZWN0aW9uPW51bGwsZC5jYWxsKGIpKSx6LmVuZCgpfWZ1bmN0aW9uIGooKXtzd2l0Y2goVzcua2V5Q29kZSl7Y2FzZSAxNjpFPUMmJk07YnJlYWs7Y2FzZSAxODpfPT09SmV0JiYoQyYmKGw9Yy1EKkMsdD1vK0QqQyksTSYmKG09Zi1SKk0sYT1zK1IqTSksXz1RZXQsQigpKTticmVhaztjYXNlIDMyOl8hPT1KZXQmJl8hPT1RZXR8fChDPDA/bD1jLUQ6Qz4wJiYodD1vLUQpLE08MD9tPWYtUjpNPjAmJihhPXMtUiksXz1LZXQsSC5hdHRyKCJjdXJzb3IiLGludC5zZWxlY3Rpb24pLEIoKSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59WWV0KCl9ZnVuY3Rpb24gVSgpe3N3aXRjaChXNy5rZXlDb2RlKXtjYXNlIDE2OkUmJihnPWg9RT0hMSxCKCkpO2JyZWFrO2Nhc2UgMTg6Xz09PVFldCYmKEM8MD9sPWM6Qz4wJiYodD1vKSxNPDA/bT1mOk0+MCYmKGE9cyksXz1KZXQsQigpKTticmVhaztjYXNlIDMyOl89PT1LZXQmJihXNy5hbHRLZXk/KEMmJihsPWMtRCpDLHQ9bytEKkMpLE0mJihtPWYtUipNLGE9cytSKk0pLF89UWV0KTooQzwwP2w9YzpDPjAmJih0PW8pLE08MD9tPWY6TT4wJiYoYT1zKSxfPUpldCksSC5hdHRyKCJjdXJzb3IiLGludFt5XSksQigpKTticmVhaztkZWZhdWx0OnJldHVybn1ZZXQoKX19ZnVuY3Rpb24gdSgpe3AodGhpcyxhcmd1bWVudHMpLm1vdmVkKCl9ZnVuY3Rpb24gZygpe3AodGhpcyxhcmd1bWVudHMpLmVuZGVkKCl9ZnVuY3Rpb24gaCgpe3ZhciB0PXRoaXMuX19icnVzaHx8e3NlbGVjdGlvbjpudWxsfTtyZXR1cm4gdC5leHRlbnQ9dG50KG8uYXBwbHkodGhpcyxhcmd1bWVudHMpKSx0LmRpbT1lLHR9cmV0dXJuIGMubW92ZT1mdW5jdGlvbih0LG4pe3Quc2VsZWN0aW9uP3Qub24oInN0YXJ0LmJydXNoIiwoZnVuY3Rpb24oKXtwKHRoaXMsYXJndW1lbnRzKS5iZWZvcmVzdGFydCgpLnN0YXJ0KCl9KSkub24oImludGVycnVwdC5icnVzaCBlbmQuYnJ1c2giLChmdW5jdGlvbigpe3AodGhpcyxhcmd1bWVudHMpLmVuZCgpfSkpLnR3ZWVuKCJicnVzaCIsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxvPXQuX19icnVzaCxpPXAodCxhcmd1bWVudHMpLGE9by5zZWxlY3Rpb24scj1lLmlucHV0KCJmdW5jdGlvbiI9PXR5cGVvZiBuP24uYXBwbHkodGhpcyxhcmd1bWVudHMpOm4sby5leHRlbnQpLHM9dHR0KGEscik7ZnVuY3Rpb24gbChlKXtvLnNlbGVjdGlvbj0xPT09ZSYmbnVsbD09PXI/bnVsbDpzKGUpLGQuY2FsbCh0KSxpLmJydXNoKCl9cmV0dXJuIG51bGwhPT1hJiZudWxsIT09cj9sOmwoMSl9KSk6dC5lYWNoKChmdW5jdGlvbigpe3ZhciB0PXRoaXMsbz1hcmd1bWVudHMsaT10Ll9fYnJ1c2gsYT1lLmlucHV0KCJmdW5jdGlvbiI9PXR5cGVvZiBuP24uYXBwbHkodCxvKTpuLGkuZXh0ZW50KSxyPXAodCxvKS5iZWZvcmVzdGFydCgpO2p0dCh0KSxpLnNlbGVjdGlvbj1udWxsPT09YT9udWxsOmEsZC5jYWxsKHQpLHIuc3RhcnQoKS5icnVzaCgpLmVuZCgpfSkpfSxjLmNsZWFyPWZ1bmN0aW9uKHQpe2MubW92ZSh0LG51bGwpfSxtLnByb3RvdHlwZT17YmVmb3Jlc3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gMT09Kyt0aGlzLmFjdGl2ZSYmKHRoaXMuc3RhdGUuZW1pdHRlcj10aGlzLHRoaXMuc3RhcnRpbmc9ITApLHRoaXN9LHN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhcnRpbmc/KHRoaXMuc3RhcnRpbmc9ITEsdGhpcy5lbWl0KCJzdGFydCIpKTp0aGlzLmVtaXQoImJydXNoIiksdGhpc30sYnJ1c2g6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbWl0KCJicnVzaCIpLHRoaXN9LGVuZDpmdW5jdGlvbigpe3JldHVybiAwPT0tLXRoaXMuYWN0aXZlJiYoZGVsZXRlIHRoaXMuc3RhdGUuZW1pdHRlcix0aGlzLmVtaXQoImVuZCIpKSx0aGlzfSxlbWl0OmZ1bmN0aW9uKHQpeyEoZnVuY3Rpb24gbih0LGUsbyxpKXt2YXIgYT1XNzt0LnNvdXJjZUV2ZW50PVc3LFc3PXQ7dHJ5e3JldHVybiBlLmFwcGx5KG8saSl9ZmluYWxseXtXNz1hfX0pKG5ldyBXZXQoYyx0LGUub3V0cHV0KHRoaXMuc3RhdGUuc2VsZWN0aW9uKSkscy5hcHBseSxzLFt0LHRoaXMudGhhdCx0aGlzLmFyZ3NdKX19LGMuZXh0ZW50PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6VWV0KHRudCh0KSksYyk6b30sYy5maWx0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpVZXQoISF0KSxjKTppfSxjLnRvdWNoYWJsZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYT0iZnVuY3Rpb24iPT10eXBlb2YgdD90OlVldCghIXQpLGMpOmF9LGMuaGFuZGxlU2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD0rdCxjKTpsfSxjLmtleU1vZGlmaWVycz1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0hIXQsYyk6cn0sYy5vbj1mdW5jdGlvbigpe3ZhciB0PXMub24uYXBwbHkocyxhcmd1bWVudHMpO3JldHVybiB0PT09cz9jOnR9LGN9KShvbnQpfXZhciBobnQ9TWF0aC5QSSxibnQ9MipobnQseW50PTFlLTYsX250PWJudC15bnQ7ZnVuY3Rpb24gQ250KCl7dGhpcy5feDA9dGhpcy5feTA9dGhpcy5feDE9dGhpcy5feTE9bnVsbCx0aGlzLl89IiJ9ZnVuY3Rpb24gTW50KCl7cmV0dXJuIG5ldyBDbnR9Q250LnByb3RvdHlwZT1NbnQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpDbnQsbW92ZVRvOmZ1bmN0aW9uKHQsZSl7dGhpcy5fKz0iTSIrKHRoaXMuX3gwPXRoaXMuX3gxPSt0KSsiLCIrKHRoaXMuX3kwPXRoaXMuX3kxPStlKX0sY2xvc2VQYXRoOmZ1bmN0aW9uKCl7bnVsbCE9PXRoaXMuX3gxJiYodGhpcy5feDE9dGhpcy5feDAsdGhpcy5feTE9dGhpcy5feTAsdGhpcy5fKz0iWiIpfSxsaW5lVG86ZnVuY3Rpb24odCxlKXt0aGlzLl8rPSJMIisodGhpcy5feDE9K3QpKyIsIisodGhpcy5feTE9K2UpfSxxdWFkcmF0aWNDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLG8pe3RoaXMuXys9IlEiKyArdCsiLCIrICtlKyIsIisodGhpcy5feDE9K24pKyIsIisodGhpcy5feTE9K28pfSxiZXppZXJDdXJ2ZVRvOmZ1bmN0aW9uKHQsZSxuLG8saSxhKXt0aGlzLl8rPSJDIisgK3QrIiwiKyArZSsiLCIrICtuKyIsIisgK28rIiwiKyh0aGlzLl94MT0raSkrIiwiKyh0aGlzLl95MT0rYSl9LGFyY1RvOmZ1bmN0aW9uKHQsZSxuLG8saSl7dmFyIGE9dGhpcy5feDEscj10aGlzLl95MSxzPShuPStuKS0odD0rdCksbD0obz0rbyktKGU9K2UpLGM9YS10LGQ9ci1lLHA9YypjK2QqZDtpZigoaT0raSk8MCl0aHJvdyBuZXcgRXJyb3IoIm5lZ2F0aXZlIHJhZGl1czogIitpKTtpZihudWxsPT09dGhpcy5feDEpdGhpcy5fKz0iTSIrKHRoaXMuX3gxPXQpKyIsIisodGhpcy5feTE9ZSk7ZWxzZSBpZihwPnludClpZihNYXRoLmFicyhkKnMtbCpjKT55bnQmJmkpe3ZhciBtPW4tYSxmPW8tcix1PXMqcytsKmwsZz1tKm0rZipmLGg9TWF0aC5zcXJ0KHUpLGI9TWF0aC5zcXJ0KHApLHk9aSpNYXRoLnRhbigoaG50LU1hdGguYWNvcygodStwLWcpLygyKmgqYikpKS8yKSxfPXkvYixDPXkvaDtNYXRoLmFicyhfLTEpPnludCYmKHRoaXMuXys9IkwiKyh0K18qYykrIiwiKyhlK18qZCkpLHRoaXMuXys9IkEiK2krIiwiK2krIiwwLDAsIisgKyhkKm0+YypmKSsiLCIrKHRoaXMuX3gxPXQrQypzKSsiLCIrKHRoaXMuX3kxPWUrQypsKX1lbHNlIHRoaXMuXys9IkwiKyh0aGlzLl94MT10KSsiLCIrKHRoaXMuX3kxPWUpO2Vsc2U7fSxhcmM6ZnVuY3Rpb24odCxlLG4sbyxpLGEpe3Q9K3QsZT0rZSxhPSEhYTt2YXIgcj0obj0rbikqTWF0aC5jb3Mobykscz1uKk1hdGguc2luKG8pLGw9dCtyLGM9ZStzLGQ9MV5hLHA9YT9vLWk6aS1vO2lmKG48MCl0aHJvdyBuZXcgRXJyb3IoIm5lZ2F0aXZlIHJhZGl1czogIituKTtudWxsPT09dGhpcy5feDE/dGhpcy5fKz0iTSIrbCsiLCIrYzooTWF0aC5hYnModGhpcy5feDEtbCk+eW50fHxNYXRoLmFicyh0aGlzLl95MS1jKT55bnQpJiYodGhpcy5fKz0iTCIrbCsiLCIrYyksbiYmKHA8MCYmKHA9cCVibnQrYm50KSxwPl9udD90aGlzLl8rPSJBIituKyIsIituKyIsMCwxLCIrZCsiLCIrKHQtcikrIiwiKyhlLXMpKyJBIituKyIsIituKyIsMCwxLCIrZCsiLCIrKHRoaXMuX3gxPWwpKyIsIisodGhpcy5feTE9Yyk6cD55bnQmJih0aGlzLl8rPSJBIituKyIsIituKyIsMCwiKyArKHA+PWhudCkrIiwiK2QrIiwiKyh0aGlzLl94MT10K24qTWF0aC5jb3MoaSkpKyIsIisodGhpcy5feTE9ZStuKk1hdGguc2luKGkpKSkpfSxyZWN0OmZ1bmN0aW9uKHQsZSxuLG8pe3RoaXMuXys9Ik0iKyh0aGlzLl94MD10aGlzLl94MT0rdCkrIiwiKyh0aGlzLl95MD10aGlzLl95MT0rZSkrImgiKyArbisidiIrICtvKyJoIistbisiWiJ9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX319O3ZhciB2bnQ9IiQiO2Z1bmN0aW9uIHhudCgpe31mdW5jdGlvbiBPbnQodCxlKXt2YXIgbj1uZXcgeG50O2lmKHQgaW5zdGFuY2VvZiB4bnQpdC5lYWNoKChmdW5jdGlvbih0LGUpe24uc2V0KGUsdCl9KSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXt2YXIgbyxpPS0xLGE9dC5sZW5ndGg7aWYobnVsbD09ZSlmb3IoOysraTxhOyluLnNldChpLHRbaV0pO2Vsc2UgZm9yKDsrK2k8YTspbi5zZXQoZShvPXRbaV0saSx0KSxvKX1lbHNlIGlmKHQpZm9yKHZhciByIGluIHQpbi5zZXQocix0W3JdKTtyZXR1cm4gbn1mdW5jdGlvbiBQbnQoKXt9eG50LnByb3RvdHlwZT1PbnQucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp4bnQsaGFzOmZ1bmN0aW9uKHQpe3JldHVybiB2bnQrdCBpbiB0aGlzfSxnZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbdm50K3RdfSxzZXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpc1t2bnQrdF09ZSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dm50K3Q7cmV0dXJuIGUgaW4gdGhpcyYmZGVsZXRlIHRoaXNbZV19LGNsZWFyOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMpdFswXT09PXZudCYmZGVsZXRlIHRoaXNbdF19LGtleXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09dm50JiZ0LnB1c2goZS5zbGljZSgxKSk7cmV0dXJuIHR9LHZhbHVlczpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT12bnQmJnQucHVzaCh0aGlzW2VdKTtyZXR1cm4gdH0sZW50cmllczpmdW5jdGlvbigpe3ZhciB0PVtdO2Zvcih2YXIgZSBpbiB0aGlzKWVbMF09PT12bnQmJnQucHVzaCh7a2V5OmUuc2xpY2UoMSksdmFsdWU6dGhpc1tlXX0pO3JldHVybiB0fSxzaXplOmZ1bmN0aW9uKCl7dmFyIHQ9MDtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09dm50JiYrK3Q7cmV0dXJuIHR9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMpaWYodFswXT09PXZudClyZXR1cm4hMTtyZXR1cm4hMH0sZWFjaDpmdW5jdGlvbih0KXtmb3IodmFyIGUgaW4gdGhpcyllWzBdPT09dm50JiZ0KHRoaXNbZV0sZS5zbGljZSgxKSx0aGlzKX19O3ZhciB3bnQ9T250LnByb3RvdHlwZTtmdW5jdGlvbiBrbnQodCxlKXtpZigobj0odD1lP3QudG9FeHBvbmVudGlhbChlLTEpOnQudG9FeHBvbmVudGlhbCgpKS5pbmRleE9mKCJlIikpPDApcmV0dXJuIG51bGw7dmFyIG4sbz10LnNsaWNlKDAsbik7cmV0dXJuW28ubGVuZ3RoPjE/b1swXStvLnNsaWNlKDIpOm8sK3Quc2xpY2UobisxKV19ZnVuY3Rpb24gU250KHQpe3JldHVybih0PWtudChNYXRoLmFicyh0KSkpP3RbMV06TmFOfVBudC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlBudCxoYXM6d250LmhhcyxhZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbdm50Kyh0Kz0iIildPXQsdGhpc30scmVtb3ZlOndudC5yZW1vdmUsY2xlYXI6d250LmNsZWFyLHZhbHVlczp3bnQua2V5cyxzaXplOndudC5zaXplLGVtcHR5OndudC5lbXB0eSxlYWNoOndudC5lYWNofTt2YXIgRG50LFJudD0vXig/OiguKT8oWzw+PV5dKSk/KFsrXC0oIF0pPyhbJCNdKT8oMCk/KFxkKyk/KCwpPyhcLlxkKyk/KH4pPyhbYS16JV0pPyQvaTtmdW5jdGlvbiBFbnQodCl7aWYoIShlPVJudC5leGVjKHQpKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgZm9ybWF0OiAiK3QpO3ZhciBlO3JldHVybiBuZXcgQW50KHtmaWxsOmVbMV0sYWxpZ246ZVsyXSxzaWduOmVbM10sc3ltYm9sOmVbNF0semVybzplWzVdLHdpZHRoOmVbNl0sY29tbWE6ZVs3XSxwcmVjaXNpb246ZVs4XSYmZVs4XS5zbGljZSgxKSx0cmltOmVbOV0sdHlwZTplWzEwXX0pfWZ1bmN0aW9uIEFudCh0KXt0aGlzLmZpbGw9dm9pZCAwPT09dC5maWxsPyIgIjp0LmZpbGwrIiIsdGhpcy5hbGlnbj12b2lkIDA9PT10LmFsaWduPyI+Ijp0LmFsaWduKyIiLHRoaXMuc2lnbj12b2lkIDA9PT10LnNpZ24/Ii0iOnQuc2lnbisiIix0aGlzLnN5bWJvbD12b2lkIDA9PT10LnN5bWJvbD8iIjp0LnN5bWJvbCsiIix0aGlzLnplcm89ISF0Lnplcm8sdGhpcy53aWR0aD12b2lkIDA9PT10LndpZHRoP3ZvaWQgMDordC53aWR0aCx0aGlzLmNvbW1hPSEhdC5jb21tYSx0aGlzLnByZWNpc2lvbj12b2lkIDA9PT10LnByZWNpc2lvbj92b2lkIDA6K3QucHJlY2lzaW9uLHRoaXMudHJpbT0hIXQudHJpbSx0aGlzLnR5cGU9dm9pZCAwPT09dC50eXBlPyIiOnQudHlwZSsiIn1mdW5jdGlvbiBUbnQodCxlKXt2YXIgbj1rbnQodCxlKTtpZighbilyZXR1cm4gdCsiIjt2YXIgbz1uWzBdLGk9blsxXTtyZXR1cm4gaTwwPyIwLiIrbmV3IEFycmF5KC1pKS5qb2luKCIwIikrbzpvLmxlbmd0aD5pKzE/by5zbGljZSgwLGkrMSkrIi4iK28uc2xpY2UoaSsxKTpvK25ldyBBcnJheShpLW8ubGVuZ3RoKzIpLmpvaW4oIjAiKX1FbnQucHJvdG90eXBlPUFudC5wcm90b3R5cGUsQW50LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbGwrdGhpcy5hbGlnbit0aGlzLnNpZ24rdGhpcy5zeW1ib2wrKHRoaXMuemVybz8iMCI6IiIpKyh2b2lkIDA9PT10aGlzLndpZHRoPyIiOk1hdGgubWF4KDEsMHx0aGlzLndpZHRoKSkrKHRoaXMuY29tbWE/IiwiOiIiKSsodm9pZCAwPT09dGhpcy5wcmVjaXNpb24/IiI6Ii4iK01hdGgubWF4KDAsMHx0aGlzLnByZWNpc2lvbikpKyh0aGlzLnRyaW0/In4iOiIiKSt0aGlzLnR5cGV9O3ZhciBObnQ9eyIlIjpmdW5jdGlvbih0LGUpe3JldHVybigxMDAqdCkudG9GaXhlZChlKX0sYjpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5yb3VuZCh0KS50b1N0cmluZygyKX0sYzpmdW5jdGlvbih0KXtyZXR1cm4gdCsiIn0sZDpmdW5jdGlvbiB6bnQodCl7cmV0dXJuIE1hdGguYWJzKHQ9TWF0aC5yb3VuZCh0KSk+PTFlMjE/dC50b0xvY2FsZVN0cmluZygiZW4iKS5yZXBsYWNlKC8sL2csIiIpOnQudG9TdHJpbmcoMTApfSxlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQudG9FeHBvbmVudGlhbChlKX0sZjpmdW5jdGlvbih0LGUpe3JldHVybiB0LnRvRml4ZWQoZSl9LGc6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC50b1ByZWNpc2lvbihlKX0sbzpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5yb3VuZCh0KS50b1N0cmluZyg4KX0scDpmdW5jdGlvbih0LGUpe3JldHVybiBUbnQoMTAwKnQsZSl9LHI6VG50LHM6ZnVuY3Rpb24gSW50KHQsZSl7dmFyIG49a250KHQsZSk7aWYoIW4pcmV0dXJuIHQrIiI7dmFyIG89blswXSxpPW5bMV0sYT1pLShEbnQ9MypNYXRoLm1heCgtOCxNYXRoLm1pbig4LE1hdGguZmxvb3IoaS8zKSkpKSsxLHI9by5sZW5ndGg7cmV0dXJuIGE9PT1yP286YT5yP28rbmV3IEFycmF5KGEtcisxKS5qb2luKCIwIik6YT4wP28uc2xpY2UoMCxhKSsiLiIrby5zbGljZShhKToiMC4iK25ldyBBcnJheSgxLWEpLmpvaW4oIjAiKStrbnQodCxNYXRoLm1heCgwLGUrYS0xKSlbMF19LFg6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCl9LHg6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpfX07ZnVuY3Rpb24gSG50KHQpe3JldHVybiB0fXZhciBGbnQsTG50LEJudCxWbnQ9QXJyYXkucHJvdG90eXBlLm1hcCxqbnQ9WyJ5IiwieiIsImEiLCJmIiwicCIsIm4iLCLCtSIsIm0iLCIiLCJrIiwiTSIsIkciLCJUIiwiUCIsIkUiLCJaIiwiWSJdO2Z1bmN0aW9uIFVudCh0KXt2YXIgZT12b2lkIDA9PT10Lmdyb3VwaW5nfHx2b2lkIDA9PT10LnRob3VzYW5kcz9IbnQ6KGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4gZnVuY3Rpb24obixvKXtmb3IodmFyIGk9bi5sZW5ndGgsYT1bXSxyPTAscz10WzBdLGw9MDtpPjAmJnM+MCYmKGwrcysxPm8mJihzPU1hdGgubWF4KDEsby1sKSksYS5wdXNoKG4uc3Vic3RyaW5nKGktPXMsaStzKSksISgobCs9cysxKT5vKSk7KXM9dFtyPShyKzEpJXQubGVuZ3RoXTtyZXR1cm4gYS5yZXZlcnNlKCkuam9pbihlKX19KShWbnQuY2FsbCh0Lmdyb3VwaW5nLE51bWJlciksdC50aG91c2FuZHMrIiIpLG89dm9pZCAwPT09dC5jdXJyZW5jeT8iIjp0LmN1cnJlbmN5WzBdKyIiLGk9dm9pZCAwPT09dC5jdXJyZW5jeT8iIjp0LmN1cnJlbmN5WzFdKyIiLGE9dm9pZCAwPT09dC5kZWNpbWFsPyIuIjp0LmRlY2ltYWwrIiIscj12b2lkIDA9PT10Lm51bWVyYWxzP0hudDooZnVuY3Rpb24gcyh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvWzAtOV0vZywoZnVuY3Rpb24oZSl7cmV0dXJuIHRbK2VdfSkpfX0pKFZudC5jYWxsKHQubnVtZXJhbHMsU3RyaW5nKSksbD12b2lkIDA9PT10LnBlcmNlbnQ/IiUiOnQucGVyY2VudCsiIixjPXZvaWQgMD09PXQubWludXM/Ii0iOnQubWludXMrIiIsZD12b2lkIDA9PT10Lm5hbj8iTmFOIjp0Lm5hbisiIjtmdW5jdGlvbiBwKHQpe3ZhciBuPSh0PUVudCh0KSkuZmlsbCxzPXQuYWxpZ24scD10LnNpZ24sbT10LnN5bWJvbCxmPXQuemVybyx1PXQud2lkdGgsZz10LmNvbW1hLGg9dC5wcmVjaXNpb24sYj10LnRyaW0seT10LnR5cGU7Im4iPT09eT8oZz0hMCx5PSJnIik6Tm50W3ldfHwodm9pZCAwPT09aCYmKGg9MTIpLGI9ITAseT0iZyIpLChmfHwiMCI9PT1uJiYiPSI9PT1zKSYmKGY9ITAsbj0iMCIscz0iPSIpO3ZhciBfPSIkIj09PW0/bzoiIyI9PT1tJiYvW2JveFhdLy50ZXN0KHkpPyIwIit5LnRvTG93ZXJDYXNlKCk6IiIsQz0iJCI9PT1tP2k6L1slcF0vLnRlc3QoeSk/bDoiIixNPU5udFt5XSx2PS9bZGVmZ3BycyVdLy50ZXN0KHkpO2Z1bmN0aW9uIHgodCl7dmFyIG8saSxsLG09Xyx4PUM7aWYoImMiPT09eSl4PU0odCkreCx0PSIiO2Vsc2V7dmFyIE89KHQ9K3QpPDB8fDEvdDwwO2lmKHQ9aXNOYU4odCk/ZDpNKE1hdGguYWJzKHQpLGgpLGImJih0PShmdW5jdGlvbiBQKHQpe3Q6Zm9yKHZhciBlLG49dC5sZW5ndGgsbz0xLGk9LTE7bzxuOysrbylzd2l0Y2godFtvXSl7Y2FzZSIuIjppPWU9bzticmVhaztjYXNlIjAiOjA9PT1pJiYoaT1vKSxlPW87YnJlYWs7ZGVmYXVsdDppZighK3Rbb10pYnJlYWsgdDtpPjAmJihpPTApfXJldHVybiBpPjA/dC5zbGljZSgwLGkpK3Quc2xpY2UoZSsxKTp0fSkodCkpLE8mJjA9PSt0JiYiKyIhPT1wJiYoTz0hMSksbT0oTz8iKCI9PT1wP3A6YzoiLSI9PT1wfHwiKCI9PT1wPyIiOnApK20seD0oInMiPT09eT9qbnRbOCtEbnQvM106IiIpK3grKE8mJiIoIj09PXA/IikiOiIiKSx2KWZvcihvPS0xLGk9dC5sZW5ndGg7KytvPGk7KWlmKDQ4PihsPXQuY2hhckNvZGVBdChvKSl8fGw+NTcpe3g9KDQ2PT09bD9hK3Quc2xpY2UobysxKTp0LnNsaWNlKG8pKSt4LHQ9dC5zbGljZSgwLG8pO2JyZWFrfX1nJiYhZiYmKHQ9ZSh0LDEvMCkpO3ZhciB3PW0ubGVuZ3RoK3QubGVuZ3RoK3gubGVuZ3RoLGs9dzx1P25ldyBBcnJheSh1LXcrMSkuam9pbihuKToiIjtzd2l0Y2goZyYmZiYmKHQ9ZShrK3Qsay5sZW5ndGg/dS14Lmxlbmd0aDoxLzApLGs9IiIpLHMpe2Nhc2UiPCI6dD1tK3QreCtrO2JyZWFrO2Nhc2UiPSI6dD1tK2srdCt4O2JyZWFrO2Nhc2UiXiI6dD1rLnNsaWNlKDAsdz1rLmxlbmd0aD4+MSkrbSt0K3gray5zbGljZSh3KTticmVhaztkZWZhdWx0OnQ9ayttK3QreH1yZXR1cm4gcih0KX1yZXR1cm4gaD12b2lkIDA9PT1oPzY6L1tncHJzXS8udGVzdCh5KT9NYXRoLm1heCgxLE1hdGgubWluKDIxLGgpKTpNYXRoLm1heCgwLE1hdGgubWluKDIwLGgpKSx4LnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHQrIiJ9LHh9cmV0dXJue2Zvcm1hdDpwLGZvcm1hdFByZWZpeDpmdW5jdGlvbiBtKHQsZSl7dmFyIG49cCgoKHQ9RW50KHQpKS50eXBlPSJmIix0KSksbz0zKk1hdGgubWF4KC04LE1hdGgubWluKDgsTWF0aC5mbG9vcihTbnQoZSkvMykpKSxpPU1hdGgucG93KDEwLC1vKSxhPWpudFs4K28vM107cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuKGkqdCkrYX19fX1mdW5jdGlvbiBXbnQodCxlKXtzd2l0Y2goYXJndW1lbnRzLmxlbmd0aCl7Y2FzZSAwOmJyZWFrO2Nhc2UgMTp0aGlzLnJhbmdlKHQpO2JyZWFrO2RlZmF1bHQ6dGhpcy5yYW5nZShlKS5kb21haW4odCl9cmV0dXJuIHRoaXN9IShmdW5jdGlvbiBHbnQodCl7cmV0dXJuIEZudD1VbnQodCksTG50PUZudC5mb3JtYXQsQm50PUZudC5mb3JtYXRQcmVmaXgsRm50fSkoe2RlY2ltYWw6Ii4iLHRob3VzYW5kczoiLCIsZ3JvdXBpbmc6WzNdLGN1cnJlbmN5OlsiJCIsIiJdLG1pbnVzOiItIn0pO3ZhciBZbnQ9QXJyYXkucHJvdG90eXBlLHFudD1ZbnQubWFwLFpudD1ZbnQuc2xpY2UsWG50PXtuYW1lOiJpbXBsaWNpdCJ9O2Z1bmN0aW9uIEtudCgpe3ZhciB0PU9udCgpLGU9W10sbj1bXSxvPVhudDtmdW5jdGlvbiBpKGkpe3ZhciBhPWkrIiIscj10LmdldChhKTtpZighcil7aWYobyE9PVhudClyZXR1cm4gbzt0LnNldChhLHI9ZS5wdXNoKGkpKX1yZXR1cm4gblsoci0xKSVuLmxlbmd0aF19cmV0dXJuIGkuZG9tYWluPWZ1bmN0aW9uKG4pe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBlLnNsaWNlKCk7ZT1bXSx0PU9udCgpO2Zvcih2YXIgbyxhLHI9LTEscz1uLmxlbmd0aDsrK3I8czspdC5oYXMoYT0obz1uW3JdKSsiIil8fHQuc2V0KGEsZS5wdXNoKG8pKTtyZXR1cm4gaX0saS5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obj1abnQuY2FsbCh0KSxpKTpuLnNsaWNlKCl9LGkudW5rbm93bj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obz10LGkpOm99LGkuY29weT1mdW5jdGlvbigpe3JldHVybiBLbnQoZSxuKS51bmtub3duKG8pfSxXbnQuYXBwbHkoaSxhcmd1bWVudHMpLGl9ZnVuY3Rpb24gSm50KCl7dmFyIHQsZSxuPUtudCgpLnVua25vd24odm9pZCAwKSxvPW4uZG9tYWluLGk9bi5yYW5nZSxhPVswLDFdLHI9ITEscz0wLGw9MCxjPS41O2Z1bmN0aW9uIGQoKXt2YXIgbj1vKCkubGVuZ3RoLGQ9YVsxXTxhWzBdLHA9YVtkLTBdLG09YVsxLWRdO3Q9KG0tcCkvTWF0aC5tYXgoMSxuLXMrMipsKSxyJiYodD1NYXRoLmZsb29yKHQpKSxwKz0obS1wLXQqKG4tcykpKmMsZT10KigxLXMpLHImJihwPU1hdGgucm91bmQocCksZT1NYXRoLnJvdW5kKGUpKTt2YXIgZj1NNihuKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBwK3QqZX0pKTtyZXR1cm4gaShkP2YucmV2ZXJzZSgpOmYpfXJldHVybiBkZWxldGUgbi51bmtub3duLG4uZG9tYWluPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvKHQpLGQoKSk6bygpfSxuLnJhbmdlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPVsrdFswXSwrdFsxXV0sZCgpKTphLnNsaWNlKCl9LG4ucmFuZ2VSb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gYT1bK3RbMF0sK3RbMV1dLHI9ITAsZCgpfSxuLmJhbmR3aWR0aD1mdW5jdGlvbigpe3JldHVybiBlfSxuLnN0ZXA9ZnVuY3Rpb24oKXtyZXR1cm4gdH0sbi5yb3VuZD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj0hIXQsZCgpKTpyfSxuLnBhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHM9TWF0aC5taW4oMSxsPSt0KSxkKCkpOnN9LG4ucGFkZGluZ0lubmVyPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhzPU1hdGgubWluKDEsdCksZCgpKTpzfSxuLnBhZGRpbmdPdXRlcj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD0rdCxkKCkpOmx9LG4uYWxpZ249ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGM9TWF0aC5tYXgoMCxNYXRoLm1pbigxLHQpKSxkKCkpOmN9LG4uY29weT1mdW5jdGlvbigpe3JldHVybiBKbnQobygpLGEpLnJvdW5kKHIpLnBhZGRpbmdJbm5lcihzKS5wYWRkaW5nT3V0ZXIobCkuYWxpZ24oYyl9LFdudC5hcHBseShkKCksYXJndW1lbnRzKX1mdW5jdGlvbiBRbnQodCl7dmFyIGU9dC5jb3B5O3JldHVybiB0LnBhZGRpbmc9dC5wYWRkaW5nT3V0ZXIsZGVsZXRlIHQucGFkZGluZ0lubmVyLGRlbGV0ZSB0LnBhZGRpbmdPdXRlcix0LmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gUW50KGUoKSl9LHR9ZnVuY3Rpb24gJG50KCl7cmV0dXJuIFFudChKbnQuYXBwbHkobnVsbCxhcmd1bWVudHMpLnBhZGRpbmdJbm5lcigxKSl9ZnVuY3Rpb24gdG90KHQpe3JldHVybit0fXZhciBlb3Q9WzAsMV07ZnVuY3Rpb24gbm90KHQpe3JldHVybiB0fWZ1bmN0aW9uIG9vdCh0LGUpe3JldHVybihlLT10PSt0KT9mdW5jdGlvbihuKXtyZXR1cm4obi10KS9lfTooZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19KShpc05hTihlKT9OYU46LjUpfWZ1bmN0aW9uIGlvdCh0KXt2YXIgZSxuPXRbMF0sbz10W3QubGVuZ3RoLTFdO3JldHVybiBuPm8mJihlPW4sbj1vLG89ZSksZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgubWF4KG4sTWF0aC5taW4obyx0KSl9fWZ1bmN0aW9uIGFvdCh0LGUsbil7dmFyIG89dFswXSxpPXRbMV0sYT1lWzBdLHI9ZVsxXTtyZXR1cm4gaTxvPyhvPW9vdChpLG8pLGE9bihyLGEpKToobz1vb3QobyxpKSxhPW4oYSxyKSksZnVuY3Rpb24odCl7cmV0dXJuIGEobyh0KSl9fWZ1bmN0aW9uIHJvdCh0LGUsbil7dmFyIG89TWF0aC5taW4odC5sZW5ndGgsZS5sZW5ndGgpLTEsaT1uZXcgQXJyYXkobyksYT1uZXcgQXJyYXkobykscj0tMTtmb3IodFtvXTx0WzBdJiYodD10LnNsaWNlKCkucmV2ZXJzZSgpLGU9ZS5zbGljZSgpLnJldmVyc2UoKSk7KytyPG87KWlbcl09b290KHRbcl0sdFtyKzFdKSxhW3JdPW4oZVtyXSxlW3IrMV0pO3JldHVybiBmdW5jdGlvbihlKXt2YXIgbj1oNih0LGUsMSxvKS0xO3JldHVybiBhW25dKGlbbl0oZSkpfX1mdW5jdGlvbiBzb3QodCxlKXtyZXR1cm4gZS5kb21haW4odC5kb21haW4oKSkucmFuZ2UodC5yYW5nZSgpKS5pbnRlcnBvbGF0ZSh0LmludGVycG9sYXRlKCkpLmNsYW1wKHQuY2xhbXAoKSkudW5rbm93bih0LnVua25vd24oKSl9ZnVuY3Rpb24gbG90KCl7dmFyIHQsZSxuLG8saSxhLHI9ZW90LHM9ZW90LGw9dHR0LGM9bm90O2Z1bmN0aW9uIGQoKXtyZXR1cm4gbz1NYXRoLm1pbihyLmxlbmd0aCxzLmxlbmd0aCk+Mj9yb3Q6YW90LGk9YT1udWxsLHB9ZnVuY3Rpb24gcChlKXtyZXR1cm4gaXNOYU4oZT0rZSk/bjooaXx8KGk9byhyLm1hcCh0KSxzLGwpKSkodChjKGUpKSl9cmV0dXJuIHAuaW52ZXJ0PWZ1bmN0aW9uKG4pe3JldHVybiBjKGUoKGF8fChhPW8ocyxyLm1hcCh0KSxYOSkpKShuKSkpfSxwLmRvbWFpbj1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj1xbnQuY2FsbCh0LHRvdCksYz09PW5vdHx8KGM9aW90KHIpKSxkKCkpOnIuc2xpY2UoKX0scC5yYW5nZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocz1abnQuY2FsbCh0KSxkKCkpOnMuc2xpY2UoKX0scC5yYW5nZVJvdW5kPWZ1bmN0aW9uKHQpe3JldHVybiBzPVpudC5jYWxsKHQpLGw9ZXR0LGQoKX0scC5jbGFtcD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYz10P2lvdChyKTpub3QscCk6YyE9PW5vdH0scC5pbnRlcnBvbGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obD10LGQoKSk6bH0scC51bmtub3duPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPXQscCk6bn0sZnVuY3Rpb24obixvKXtyZXR1cm4gdD1uLGU9byxkKCl9fWZ1bmN0aW9uIGNvdCh0LGUpe3JldHVybiBsb3QoKSh0LGUpfWZ1bmN0aW9uIGRvdCh0LGUsbixvKXt2YXIgaSxhPWs2KHQsZSxuKTtzd2l0Y2goKG89RW50KG51bGw9PW8/IixmIjpvKSkudHlwZSl7Y2FzZSJzIjp2YXIgcj1NYXRoLm1heChNYXRoLmFicyh0KSxNYXRoLmFicyhlKSk7cmV0dXJuIG51bGwhPW8ucHJlY2lzaW9ufHxpc05hTihpPShmdW5jdGlvbiBzKHQsZSl7cmV0dXJuIE1hdGgubWF4KDAsMypNYXRoLm1heCgtOCxNYXRoLm1pbig4LE1hdGguZmxvb3IoU250KGUpLzMpKSktU250KE1hdGguYWJzKHQpKSl9KShhLHIpKXx8KG8ucHJlY2lzaW9uPWkpLEJudChvLHIpO2Nhc2UiIjpjYXNlImUiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlInIiOm51bGwhPW8ucHJlY2lzaW9ufHxpc05hTihpPShmdW5jdGlvbiBsKHQsZSl7cmV0dXJuIHQ9TWF0aC5hYnModCksZT1NYXRoLmFicyhlKS10LE1hdGgubWF4KDAsU250KGUpLVNudCh0KSkrMX0pKGEsTWF0aC5tYXgoTWF0aC5hYnModCksTWF0aC5hYnMoZSkpKSl8fChvLnByZWNpc2lvbj1pLSgiZSI9PT1vLnR5cGUpKTticmVhaztjYXNlImYiOmNhc2UiJSI6bnVsbCE9by5wcmVjaXNpb258fGlzTmFOKGk9KGZ1bmN0aW9uIGModCl7cmV0dXJuIE1hdGgubWF4KDAsLVNudChNYXRoLmFicyh0KSkpfSkoYSkpfHwoby5wcmVjaXNpb249aS0yKigiJSI9PT1vLnR5cGUpKX1yZXR1cm4gTG50KG8pfWZ1bmN0aW9uIHBvdCh0KXt2YXIgZT10LmRvbWFpbjtyZXR1cm4gdC50aWNrcz1mdW5jdGlvbih0KXt2YXIgbj1lKCk7cmV0dXJuIFA2KG5bMF0sbltuLmxlbmd0aC0xXSxudWxsPT10PzEwOnQpfSx0LnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCxuKXt2YXIgbz1lKCk7cmV0dXJuIGRvdChvWzBdLG9bby5sZW5ndGgtMV0sbnVsbD09dD8xMDp0LG4pfSx0Lm5pY2U9ZnVuY3Rpb24obil7bnVsbD09biYmKG49MTApO3ZhciBvLGk9ZSgpLGE9MCxyPWkubGVuZ3RoLTEscz1pW2FdLGw9aVtyXTtyZXR1cm4gbDxzJiYobz1zLHM9bCxsPW8sbz1hLGE9cixyPW8pLChvPXc2KHMsbCxuKSk+MD9vPXc2KHM9TWF0aC5mbG9vcihzL28pKm8sbD1NYXRoLmNlaWwobC9vKSpvLG4pOm88MCYmKG89dzYocz1NYXRoLmNlaWwocypvKS9vLGw9TWF0aC5mbG9vcihsKm8pL28sbikpLG8+MD8oaVthXT1NYXRoLmZsb29yKHMvbykqbyxpW3JdPU1hdGguY2VpbChsL28pKm8sZShpKSk6bzwwJiYoaVthXT1NYXRoLmNlaWwocypvKS9vLGlbcl09TWF0aC5mbG9vcihsKm8pL28sZShpKSksdH0sdH1mdW5jdGlvbiBtb3QoKXt2YXIgdD1jb3Qobm90LG5vdCk7cmV0dXJuIHQuY29weT1mdW5jdGlvbigpe3JldHVybiBzb3QodCxtb3QoKSl9LFdudC5hcHBseSh0LGFyZ3VtZW50cykscG90KHQpfWZ1bmN0aW9uIGZvdCh0LGUpe3ZhciBuLG89MCxpPSh0PXQuc2xpY2UoKSkubGVuZ3RoLTEsYT10W29dLHI9dFtpXTtyZXR1cm4gcjxhJiYobj1vLG89aSxpPW4sbj1hLGE9cixyPW4pLHRbb109ZS5mbG9vcihhKSx0W2ldPWUuY2VpbChyKSx0fWZ1bmN0aW9uIHVvdCh0KXtyZXR1cm4gTWF0aC5sb2codCl9ZnVuY3Rpb24gZ290KHQpe3JldHVybiBNYXRoLmV4cCh0KX1mdW5jdGlvbiBob3QodCl7cmV0dXJuLU1hdGgubG9nKC10KX1mdW5jdGlvbiBib3QodCl7cmV0dXJuLU1hdGguZXhwKC10KX1mdW5jdGlvbiB5b3QodCl7cmV0dXJuIGlzRmluaXRlKHQpPysoIjFlIit0KTp0PDA/MDp0fWZ1bmN0aW9uIF9vdCh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuLXQoLWUpfX1mdW5jdGlvbiBDb3QodCl7dmFyIGUsbixvPXQodW90LGdvdCksaT1vLmRvbWFpbixhPTEwO2Z1bmN0aW9uIHIoKXtyZXR1cm4gZT0oZnVuY3Rpb24gcih0KXtyZXR1cm4gdD09PU1hdGguRT9NYXRoLmxvZzoxMD09PXQmJk1hdGgubG9nMTB8fDI9PT10JiZNYXRoLmxvZzJ8fCh0PU1hdGgubG9nKHQpLGZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLmxvZyhlKS90fSl9KShhKSxuPShmdW5jdGlvbiBzKHQpe3JldHVybiAxMD09PXQ/eW90OnQ9PT1NYXRoLkU/TWF0aC5leHA6ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgucG93KHQsZSl9fSkoYSksaSgpWzBdPDA/KGU9X290KGUpLG49X290KG4pLHQoaG90LGJvdCkpOnQodW90LGdvdCksb31yZXR1cm4gby5iYXNlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhhPSt0LHIoKSk6YX0sby5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGkodCkscigpKTppKCl9LG8udGlja3M9ZnVuY3Rpb24odCl7dmFyIG8scj1pKCkscz1yWzBdLGw9cltyLmxlbmd0aC0xXTsobz1sPHMpJiYobT1zLHM9bCxsPW0pO3ZhciBjLGQscCxtPWUocyksZj1lKGwpLHU9bnVsbD09dD8xMDordCxnPVtdO2lmKCEoYSUxKSYmZi1tPHUpe2lmKG09TWF0aC5yb3VuZChtKS0xLGY9TWF0aC5yb3VuZChmKSsxLHM+MCl7Zm9yKDttPGY7KyttKWZvcihkPTEsYz1uKG0pO2Q8YTsrK2QpaWYoISgocD1jKmQpPHMpKXtpZihwPmwpYnJlYWs7Zy5wdXNoKHApfX1lbHNlIGZvcig7bTxmOysrbSlmb3IoZD1hLTEsYz1uKG0pO2Q+PTE7LS1kKWlmKCEoKHA9YypkKTxzKSl7aWYocD5sKWJyZWFrO2cucHVzaChwKX19ZWxzZSBnPVA2KG0sZixNYXRoLm1pbihmLW0sdSkpLm1hcChuKTtyZXR1cm4gbz9nLnJldmVyc2UoKTpnfSxvLnRpY2tGb3JtYXQ9ZnVuY3Rpb24odCxpKXtpZihudWxsPT1pJiYoaT0xMD09PWE/Ii4wZSI6IiwiKSwiZnVuY3Rpb24iIT10eXBlb2YgaSYmKGk9TG50KGkpKSx0PT09MS8wKXJldHVybiBpO251bGw9PXQmJih0PTEwKTt2YXIgcj1NYXRoLm1heCgxLGEqdC9vLnRpY2tzKCkubGVuZ3RoKTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG89dC9uKE1hdGgucm91bmQoZSh0KSkpO3JldHVybiBvKmE8YS0uNSYmKG8qPWEpLG88PXI/aSh0KToiIn19LG8ubmljZT1mdW5jdGlvbigpe3JldHVybiBpKGZvdChpKCkse2Zsb29yOmZ1bmN0aW9uKHQpe3JldHVybiBuKE1hdGguZmxvb3IoZSh0KSkpfSxjZWlsOmZ1bmN0aW9uKHQpe3JldHVybiBuKE1hdGguY2VpbChlKHQpKSl9fSkpfSxvfWZ1bmN0aW9uIE1vdCgpe3ZhciB0PUNvdChsb3QoKSkuZG9tYWluKFsxLDEwXSk7cmV0dXJuIHQuY29weT1mdW5jdGlvbigpe3JldHVybiBzb3QodCxNb3QoKSkuYmFzZSh0LmJhc2UoKSl9LFdudC5hcHBseSh0LGFyZ3VtZW50cyksdH12YXIgdm90PW5ldyBEYXRlLHhvdD1uZXcgRGF0ZTtmdW5jdGlvbiBPb3QodCxlLG4sbyl7ZnVuY3Rpb24gaShlKXtyZXR1cm4gdChlPTA9PT1hcmd1bWVudHMubGVuZ3RoP25ldyBEYXRlOm5ldyBEYXRlKCtlKSksZX1yZXR1cm4gaS5mbG9vcj1mdW5jdGlvbihlKXtyZXR1cm4gdChlPW5ldyBEYXRlKCtlKSksZX0saS5jZWlsPWZ1bmN0aW9uKG4pe3JldHVybiB0KG49bmV3IERhdGUobi0xKSksZShuLDEpLHQobiksbn0saS5yb3VuZD1mdW5jdGlvbih0KXt2YXIgZT1pKHQpLG49aS5jZWlsKHQpO3JldHVybiB0LWU8bi10P2U6bn0saS5vZmZzZXQ9ZnVuY3Rpb24odCxuKXtyZXR1cm4gZSh0PW5ldyBEYXRlKCt0KSxudWxsPT1uPzE6TWF0aC5mbG9vcihuKSksdH0saS5yYW5nZT1mdW5jdGlvbihuLG8sYSl7dmFyIHIscz1bXTtpZihuPWkuY2VpbChuKSxhPW51bGw9PWE/MTpNYXRoLmZsb29yKGEpLCEobjxvJiZhPjApKXJldHVybiBzO2Rve3MucHVzaChyPW5ldyBEYXRlKCtuKSksZShuLGEpLHQobil9d2hpbGUocjxuJiZuPG8pO3JldHVybiBzfSxpLmZpbHRlcj1mdW5jdGlvbihuKXtyZXR1cm4gT290KChmdW5jdGlvbihlKXtpZihlPj1lKWZvcig7dChlKSwhbihlKTspZS5zZXRUaW1lKGUtMSl9KSwoZnVuY3Rpb24odCxvKXtpZih0Pj10KWlmKG88MClmb3IoOysrbzw9MDspZm9yKDtlKHQsLTEpLCFuKHQpOyk7ZWxzZSBmb3IoOy0tbz49MDspZm9yKDtlKHQsMSksIW4odCk7KTt9KSl9LG4mJihpLmNvdW50PWZ1bmN0aW9uKGUsbyl7cmV0dXJuIHZvdC5zZXRUaW1lKCtlKSx4b3Quc2V0VGltZSgrbyksdCh2b3QpLHQoeG90KSxNYXRoLmZsb29yKG4odm90LHhvdCkpfSxpLmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiB0PU1hdGguZmxvb3IodCksaXNGaW5pdGUodCkmJnQ+MD90PjE/aS5maWx0ZXIobz9mdW5jdGlvbihlKXtyZXR1cm4gbyhlKSV0PT0wfTpmdW5jdGlvbihlKXtyZXR1cm4gaS5jb3VudCgwLGUpJXQ9PTB9KTppOm51bGx9KSxpfXZhciBQb3Q9T290KChmdW5jdGlvbigpe30pLChmdW5jdGlvbih0LGUpe3Quc2V0VGltZSgrdCtlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLXR9KSk7UG90LmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiB0PU1hdGguZmxvb3IodCksaXNGaW5pdGUodCkmJnQ+MD90PjE/T290KChmdW5jdGlvbihlKXtlLnNldFRpbWUoTWF0aC5mbG9vcihlL3QpKnQpfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRUaW1lKCtlK24qdCl9KSwoZnVuY3Rpb24oZSxuKXtyZXR1cm4obi1lKS90fSkpOlBvdDpudWxsfTt2YXIgd290PVBvdCxrb3Q9MWUzLFNvdD02ZTQsRG90PTM2ZTUsUm90PTg2NGU1LEVvdD02MDQ4ZTUsQW90PU9vdCgoZnVuY3Rpb24odCl7dC5zZXRUaW1lKHQtdC5nZXRNaWxsaXNlY29uZHMoKSl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFRpbWUoK3QrZSprb3QpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkva290fSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ1NlY29uZHMoKX0pKSxUb3Q9T290KChmdW5jdGlvbih0KXt0LnNldFRpbWUodC10LmdldE1pbGxpc2Vjb25kcygpLXQuZ2V0U2Vjb25kcygpKmtvdCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFRpbWUoK3QrZSpTb3QpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdCkvU290fSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldE1pbnV0ZXMoKX0pKSxOb3Q9T290KChmdW5jdGlvbih0KXt0LnNldFRpbWUodC10LmdldE1pbGxpc2Vjb25kcygpLXQuZ2V0U2Vjb25kcygpKmtvdC10LmdldE1pbnV0ZXMoKSpTb3QpfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRUaW1lKCt0K2UqRG90KX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL0RvdH0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXRIb3VycygpfSkpLHpvdD1Pb3QoKGZ1bmN0aW9uKHQpe3Quc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldERhdGUodC5nZXREYXRlKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10LShlLmdldFRpbWV6b25lT2Zmc2V0KCktdC5nZXRUaW1lem9uZU9mZnNldCgpKSpTb3QpL1JvdH0pLChmdW5jdGlvbih0KXtyZXR1cm4gdC5nZXREYXRlKCktMX0pKTtmdW5jdGlvbiBJb3QodCl7cmV0dXJuIE9vdCgoZnVuY3Rpb24oZSl7ZS5zZXREYXRlKGUuZ2V0RGF0ZSgpLShlLmdldERheSgpKzctdCklNyksZS5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RGF0ZSh0LmdldERhdGUoKSs3KmUpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUtdC0oZS5nZXRUaW1lem9uZU9mZnNldCgpLXQuZ2V0VGltZXpvbmVPZmZzZXQoKSkqU290KS9Fb3R9KSl9dmFyIEhvdD1Jb3QoMCksRm90PUlvdCgxKTtJb3QoMiksSW90KDMpO3ZhciBMb3Q9SW90KDQpO0lvdCg1KSxJb3QoNik7dmFyIEJvdD1Pb3QoKGZ1bmN0aW9uKHQpe3Quc2V0RGF0ZSgxKSx0LnNldEhvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKHQsZSl7dC5zZXRNb250aCh0LmdldE1vbnRoKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5nZXRNb250aCgpLXQuZ2V0TW9udGgoKSsxMiooZS5nZXRGdWxsWWVhcigpLXQuZ2V0RnVsbFllYXIoKSl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0TW9udGgoKX0pKSxWb3Q9T290KChmdW5jdGlvbih0KXt0LnNldE1vbnRoKDAsMSksdC5zZXRIb3VycygwLDAsMCwwKX0pLChmdW5jdGlvbih0LGUpe3Quc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpK2UpfSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZ2V0RnVsbFllYXIoKS10LmdldEZ1bGxZZWFyKCl9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0RnVsbFllYXIoKX0pKTtWb3QuZXZlcnk9ZnVuY3Rpb24odCl7cmV0dXJuIGlzRmluaXRlKHQ9TWF0aC5mbG9vcih0KSkmJnQ+MD9Pb3QoKGZ1bmN0aW9uKGUpe2Uuc2V0RnVsbFllYXIoTWF0aC5mbG9vcihlLmdldEZ1bGxZZWFyKCkvdCkqdCksZS5zZXRNb250aCgwLDEpLGUuc2V0SG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24oZSxuKXtlLnNldEZ1bGxZZWFyKGUuZ2V0RnVsbFllYXIoKStuKnQpfSkpOm51bGx9O3ZhciBqb3Q9Vm90LFVvdD1Pb3QoKGZ1bmN0aW9uKHQpe3Quc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ0RhdGUodC5nZXRVVENEYXRlKCkrZSl9KSwoZnVuY3Rpb24odCxlKXtyZXR1cm4oZS10KS9Sb3R9KSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0VVRDRGF0ZSgpLTF9KSk7ZnVuY3Rpb24gV290KHQpe3JldHVybiBPb3QoKGZ1bmN0aW9uKGUpe2Uuc2V0VVRDRGF0ZShlLmdldFVUQ0RhdGUoKS0oZS5nZXRVVENEYXkoKSs3LXQpJTcpLGUuc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ0RhdGUodC5nZXRVVENEYXRlKCkrNyplKX0pLChmdW5jdGlvbih0LGUpe3JldHVybihlLXQpL0VvdH0pKX12YXIgR290PVdvdCgwKSxZb3Q9V290KDEpO1dvdCgyKSxXb3QoMyk7dmFyIHFvdD1Xb3QoNCk7V290KDUpLFdvdCg2KTt2YXIgWm90PU9vdCgoZnVuY3Rpb24odCl7dC5zZXRVVENNb250aCgwLDEpLHQuc2V0VVRDSG91cnMoMCwwLDAsMCl9KSwoZnVuY3Rpb24odCxlKXt0LnNldFVUQ0Z1bGxZZWFyKHQuZ2V0VVRDRnVsbFllYXIoKStlKX0pLChmdW5jdGlvbih0LGUpe3JldHVybiBlLmdldFVUQ0Z1bGxZZWFyKCktdC5nZXRVVENGdWxsWWVhcigpfSksKGZ1bmN0aW9uKHQpe3JldHVybiB0LmdldFVUQ0Z1bGxZZWFyKCl9KSk7Wm90LmV2ZXJ5PWZ1bmN0aW9uKHQpe3JldHVybiBpc0Zpbml0ZSh0PU1hdGguZmxvb3IodCkpJiZ0PjA/T290KChmdW5jdGlvbihlKXtlLnNldFVUQ0Z1bGxZZWFyKE1hdGguZmxvb3IoZS5nZXRVVENGdWxsWWVhcigpL3QpKnQpLGUuc2V0VVRDTW9udGgoMCwxKSxlLnNldFVUQ0hvdXJzKDAsMCwwLDApfSksKGZ1bmN0aW9uKGUsbil7ZS5zZXRVVENGdWxsWWVhcihlLmdldFVUQ0Z1bGxZZWFyKCkrbip0KX0pKTpudWxsfTt2YXIgWG90PVpvdDtmdW5jdGlvbiBLb3QodCl7aWYoMDw9dC55JiZ0Lnk8MTAwKXt2YXIgZT1uZXcgRGF0ZSgtMSx0Lm0sdC5kLHQuSCx0Lk0sdC5TLHQuTCk7cmV0dXJuIGUuc2V0RnVsbFllYXIodC55KSxlfXJldHVybiBuZXcgRGF0ZSh0LnksdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpfWZ1bmN0aW9uIEpvdCh0KXtpZigwPD10LnkmJnQueTwxMDApe3ZhciBlPW5ldyBEYXRlKERhdGUuVVRDKC0xLHQubSx0LmQsdC5ILHQuTSx0LlMsdC5MKSk7cmV0dXJuIGUuc2V0VVRDRnVsbFllYXIodC55KSxlfXJldHVybiBuZXcgRGF0ZShEYXRlLlVUQyh0LnksdC5tLHQuZCx0LkgsdC5NLHQuUyx0LkwpKX1mdW5jdGlvbiBRb3QodCxlLG4pe3JldHVybnt5OnQsbTplLGQ6bixIOjAsTTowLFM6MCxMOjB9fXZhciAkb3QsdGl0LGVpdD17Ii0iOiIiLF86IiAiLDA6IjAifSxuaXQ9L15ccypcZCsvLG9pdD0vXiUvLGlpdD0vW1xcXiQqKz98W1xdKCkue31dL2c7ZnVuY3Rpb24gYWl0KHQsZSxuKXt2YXIgbz10PDA/Ii0iOiIiLGk9KG8/LXQ6dCkrIiIsYT1pLmxlbmd0aDtyZXR1cm4gbysoYTxuP25ldyBBcnJheShuLWErMSkuam9pbihlKStpOmkpfWZ1bmN0aW9uIHJpdCh0KXtyZXR1cm4gdC5yZXBsYWNlKGlpdCwiXFwkJiIpfWZ1bmN0aW9uIHNpdCh0KXtyZXR1cm4gbmV3IFJlZ0V4cCgiXig/OiIrdC5tYXAocml0KS5qb2luKCJ8IikrIikiLCJpIil9ZnVuY3Rpb24gbGl0KHQpe2Zvcih2YXIgZT17fSxuPS0xLG89dC5sZW5ndGg7KytuPG87KWVbdFtuXS50b0xvd2VyQ2FzZSgpXT1uO3JldHVybiBlfWZ1bmN0aW9uIGNpdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rMSkpO3JldHVybiBvPyh0Lnc9K29bMF0sbitvWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gZGl0KHQsZSxuKXt2YXIgbz1uaXQuZXhlYyhlLnNsaWNlKG4sbisxKSk7cmV0dXJuIG8/KHQudT0rb1swXSxuK29bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBwaXQodCxlLG4pe3ZhciBvPW5pdC5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gbz8odC5VPStvWzBdLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIG1pdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBvPyh0LlY9K29bMF0sbitvWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gZml0KHQsZSxuKXt2YXIgbz1uaXQuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIG8/KHQuVz0rb1swXSxuK29bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiB1aXQodCxlLG4pe3ZhciBvPW5pdC5leGVjKGUuc2xpY2UobixuKzQpKTtyZXR1cm4gbz8odC55PStvWzBdLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIGdpdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBvPyh0Lnk9K29bMF0rKCtvWzBdPjY4PzE5MDA6MmUzKSxuK29bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBoaXQodCxlLG4pe3ZhciBvPS9eKFopfChbKy1dXGRcZCkoPzo6PyhcZFxkKSk/Ly5leGVjKGUuc2xpY2UobixuKzYpKTtyZXR1cm4gbz8odC5aPW9bMV0/MDotKG9bMl0rKG9bM118fCIwMCIpKSxuK29bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBiaXQodCxlLG4pe3ZhciBvPW5pdC5leGVjKGUuc2xpY2UobixuKzEpKTtyZXR1cm4gbz8odC5xPTMqb1swXS0zLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHlpdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBvPyh0Lm09b1swXS0xLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIF9pdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBvPyh0LmQ9K29bMF0sbitvWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gQ2l0KHQsZSxuKXt2YXIgbz1uaXQuZXhlYyhlLnNsaWNlKG4sbiszKSk7cmV0dXJuIG8/KHQubT0wLHQuZD0rb1swXSxuK29bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBNaXQodCxlLG4pe3ZhciBvPW5pdC5leGVjKGUuc2xpY2UobixuKzIpKTtyZXR1cm4gbz8odC5IPStvWzBdLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIHZpdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rMikpO3JldHVybiBvPyh0Lk09K29bMF0sbitvWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24geGl0KHQsZSxuKXt2YXIgbz1uaXQuZXhlYyhlLnNsaWNlKG4sbisyKSk7cmV0dXJuIG8/KHQuUz0rb1swXSxuK29bMF0ubGVuZ3RoKTotMX1mdW5jdGlvbiBPaXQodCxlLG4pe3ZhciBvPW5pdC5leGVjKGUuc2xpY2UobixuKzMpKTtyZXR1cm4gbz8odC5MPStvWzBdLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIFBpdCh0LGUsbil7dmFyIG89bml0LmV4ZWMoZS5zbGljZShuLG4rNikpO3JldHVybiBvPyh0Lkw9TWF0aC5mbG9vcihvWzBdLzFlMyksbitvWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gd2l0KHQsZSxuKXt2YXIgbz1vaXQuZXhlYyhlLnNsaWNlKG4sbisxKSk7cmV0dXJuIG8/bitvWzBdLmxlbmd0aDotMX1mdW5jdGlvbiBraXQodCxlLG4pe3ZhciBvPW5pdC5leGVjKGUuc2xpY2UobikpO3JldHVybiBvPyh0LlE9K29bMF0sbitvWzBdLmxlbmd0aCk6LTF9ZnVuY3Rpb24gU2l0KHQsZSxuKXt2YXIgbz1uaXQuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gbz8odC5zPStvWzBdLG4rb1swXS5sZW5ndGgpOi0xfWZ1bmN0aW9uIERpdCh0LGUpe3JldHVybiBhaXQodC5nZXREYXRlKCksZSwyKX1mdW5jdGlvbiBSaXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0SG91cnMoKSxlLDIpfWZ1bmN0aW9uIEVpdCh0LGUpe3JldHVybiBhaXQodC5nZXRIb3VycygpJTEyfHwxMixlLDIpfWZ1bmN0aW9uIEFpdCh0LGUpe3JldHVybiBhaXQoMSt6b3QuY291bnQoam90KHQpLHQpLGUsMyl9ZnVuY3Rpb24gVGl0KHQsZSl7cmV0dXJuIGFpdCh0LmdldE1pbGxpc2Vjb25kcygpLGUsMyl9ZnVuY3Rpb24gTml0KHQsZSl7cmV0dXJuIFRpdCh0LGUpKyIwMDAifWZ1bmN0aW9uIHppdCh0LGUpe3JldHVybiBhaXQodC5nZXRNb250aCgpKzEsZSwyKX1mdW5jdGlvbiBJaXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0TWludXRlcygpLGUsMil9ZnVuY3Rpb24gSGl0KHQsZSl7cmV0dXJuIGFpdCh0LmdldFNlY29uZHMoKSxlLDIpfWZ1bmN0aW9uIEZpdCh0KXt2YXIgZT10LmdldERheSgpO3JldHVybiAwPT09ZT83OmV9ZnVuY3Rpb24gTGl0KHQsZSl7cmV0dXJuIGFpdChIb3QuY291bnQoam90KHQpLTEsdCksZSwyKX1mdW5jdGlvbiBCaXQodCl7dmFyIGU9dC5nZXREYXkoKTtyZXR1cm4gZT49NHx8MD09PWU/TG90KHQpOkxvdC5jZWlsKHQpfWZ1bmN0aW9uIFZpdCh0LGUpe3JldHVybiB0PUJpdCh0KSxhaXQoTG90LmNvdW50KGpvdCh0KSx0KSsoND09PWpvdCh0KS5nZXREYXkoKSksZSwyKX1mdW5jdGlvbiBqaXQodCl7cmV0dXJuIHQuZ2V0RGF5KCl9ZnVuY3Rpb24gVWl0KHQsZSl7cmV0dXJuIGFpdChGb3QuY291bnQoam90KHQpLTEsdCksZSwyKX1mdW5jdGlvbiBXaXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0RnVsbFllYXIoKSUxMDAsZSwyKX1mdW5jdGlvbiBHaXQodCxlKXtyZXR1cm4gYWl0KCh0PUJpdCh0KSkuZ2V0RnVsbFllYXIoKSUxMDAsZSwyKX1mdW5jdGlvbiBZaXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0RnVsbFllYXIoKSUxZTQsZSw0KX1mdW5jdGlvbiBxaXQodCxlKXt2YXIgbj10LmdldERheSgpO3JldHVybiBhaXQoKHQ9bj49NHx8MD09PW4/TG90KHQpOkxvdC5jZWlsKHQpKS5nZXRGdWxsWWVhcigpJTFlNCxlLDQpfWZ1bmN0aW9uIFppdCh0KXt2YXIgZT10LmdldFRpbWV6b25lT2Zmc2V0KCk7cmV0dXJuKGU+MD8iLSI6KGUqPS0xLCIrIikpK2FpdChlLzYwfDAsIjAiLDIpK2FpdChlJTYwLCIwIiwyKX1mdW5jdGlvbiBYaXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0VVRDRGF0ZSgpLGUsMil9ZnVuY3Rpb24gS2l0KHQsZSl7cmV0dXJuIGFpdCh0LmdldFVUQ0hvdXJzKCksZSwyKX1mdW5jdGlvbiBKaXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0VVRDSG91cnMoKSUxMnx8MTIsZSwyKX1mdW5jdGlvbiBRaXQodCxlKXtyZXR1cm4gYWl0KDErVW90LmNvdW50KFhvdCh0KSx0KSxlLDMpfWZ1bmN0aW9uICRpdCh0LGUpe3JldHVybiBhaXQodC5nZXRVVENNaWxsaXNlY29uZHMoKSxlLDMpfWZ1bmN0aW9uIHRhdCh0LGUpe3JldHVybiAkaXQodCxlKSsiMDAwIn1mdW5jdGlvbiBlYXQodCxlKXtyZXR1cm4gYWl0KHQuZ2V0VVRDTW9udGgoKSsxLGUsMil9ZnVuY3Rpb24gbmF0KHQsZSl7cmV0dXJuIGFpdCh0LmdldFVUQ01pbnV0ZXMoKSxlLDIpfWZ1bmN0aW9uIG9hdCh0LGUpe3JldHVybiBhaXQodC5nZXRVVENTZWNvbmRzKCksZSwyKX1mdW5jdGlvbiBpYXQodCl7dmFyIGU9dC5nZXRVVENEYXkoKTtyZXR1cm4gMD09PWU/NzplfWZ1bmN0aW9uIGFhdCh0LGUpe3JldHVybiBhaXQoR290LmNvdW50KFhvdCh0KS0xLHQpLGUsMil9ZnVuY3Rpb24gcmF0KHQpe3ZhciBlPXQuZ2V0VVRDRGF5KCk7cmV0dXJuIGU+PTR8fDA9PT1lP3FvdCh0KTpxb3QuY2VpbCh0KX1mdW5jdGlvbiBzYXQodCxlKXtyZXR1cm4gdD1yYXQodCksYWl0KHFvdC5jb3VudChYb3QodCksdCkrKDQ9PT1Yb3QodCkuZ2V0VVRDRGF5KCkpLGUsMil9ZnVuY3Rpb24gbGF0KHQpe3JldHVybiB0LmdldFVUQ0RheSgpfWZ1bmN0aW9uIGNhdCh0LGUpe3JldHVybiBhaXQoWW90LmNvdW50KFhvdCh0KS0xLHQpLGUsMil9ZnVuY3Rpb24gZGF0KHQsZSl7cmV0dXJuIGFpdCh0LmdldFVUQ0Z1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gcGF0KHQsZSl7cmV0dXJuIGFpdCgodD1yYXQodCkpLmdldFVUQ0Z1bGxZZWFyKCklMTAwLGUsMil9ZnVuY3Rpb24gbWF0KHQsZSl7cmV0dXJuIGFpdCh0LmdldFVUQ0Z1bGxZZWFyKCklMWU0LGUsNCl9ZnVuY3Rpb24gZmF0KHQsZSl7dmFyIG49dC5nZXRVVENEYXkoKTtyZXR1cm4gYWl0KCh0PW4+PTR8fDA9PT1uP3FvdCh0KTpxb3QuY2VpbCh0KSkuZ2V0VVRDRnVsbFllYXIoKSUxZTQsZSw0KX1mdW5jdGlvbiB1YXQoKXtyZXR1cm4iKzAwMDAifWZ1bmN0aW9uIGdhdCgpe3JldHVybiIlIn1mdW5jdGlvbiBoYXQodCl7cmV0dXJuK3R9ZnVuY3Rpb24gYmF0KHQpe3JldHVybiBNYXRoLmZsb29yKCt0LzFlMyl9IShmdW5jdGlvbiB5YXQodCl7cmV0dXJuICRvdD0oZnVuY3Rpb24gZSh0KXt2YXIgZT10LmRhdGVUaW1lLG49dC5kYXRlLG89dC50aW1lLGk9dC5wZXJpb2RzLGE9dC5kYXlzLHI9dC5zaG9ydERheXMscz10Lm1vbnRocyxsPXQuc2hvcnRNb250aHMsYz1zaXQoaSksZD1saXQoaSkscD1zaXQoYSksbT1saXQoYSksZj1zaXQociksdT1saXQociksZz1zaXQocyksaD1saXQocyksYj1zaXQobCkseT1saXQobCksXz17YTpmdW5jdGlvbiBDKHQpe3JldHVybiByW3QuZ2V0RGF5KCldfSxBOmZ1bmN0aW9uIE0odCl7cmV0dXJuIGFbdC5nZXREYXkoKV19LGI6ZnVuY3Rpb24gdih0KXtyZXR1cm4gbFt0LmdldE1vbnRoKCldfSxCOmZ1bmN0aW9uIHgodCl7cmV0dXJuIHNbdC5nZXRNb250aCgpXX0sYzpudWxsLGQ6RGl0LGU6RGl0LGY6Tml0LGc6R2l0LEc6cWl0LEg6Uml0LEk6RWl0LGo6QWl0LEw6VGl0LG06eml0LE06SWl0LHA6ZnVuY3Rpb24gTyh0KXtyZXR1cm4gaVsrKHQuZ2V0SG91cnMoKT49MTIpXX0scTpmdW5jdGlvbiBQKHQpe3JldHVybiAxK35+KHQuZ2V0TW9udGgoKS8zKX0sUTpoYXQsczpiYXQsUzpIaXQsdTpGaXQsVTpMaXQsVjpWaXQsdzpqaXQsVzpVaXQseDpudWxsLFg6bnVsbCx5OldpdCxZOllpdCxaOlppdCwiJSI6Z2F0fSx3PXthOmZ1bmN0aW9uIGsodCl7cmV0dXJuIHJbdC5nZXRVVENEYXkoKV19LEE6ZnVuY3Rpb24gUyh0KXtyZXR1cm4gYVt0LmdldFVUQ0RheSgpXX0sYjpmdW5jdGlvbiBEKHQpe3JldHVybiBsW3QuZ2V0VVRDTW9udGgoKV19LEI6ZnVuY3Rpb24gUih0KXtyZXR1cm4gc1t0LmdldFVUQ01vbnRoKCldfSxjOm51bGwsZDpYaXQsZTpYaXQsZjp0YXQsZzpwYXQsRzpmYXQsSDpLaXQsSTpKaXQsajpRaXQsTDokaXQsbTplYXQsTTpuYXQscDpmdW5jdGlvbiBFKHQpe3JldHVybiBpWysodC5nZXRVVENIb3VycygpPj0xMildfSxxOmZ1bmN0aW9uIEEodCl7cmV0dXJuIDErfn4odC5nZXRVVENNb250aCgpLzMpfSxROmhhdCxzOmJhdCxTOm9hdCx1OmlhdCxVOmFhdCxWOnNhdCx3OmxhdCxXOmNhdCx4Om51bGwsWDpudWxsLHk6ZGF0LFk6bWF0LFo6dWF0LCIlIjpnYXR9LFQ9e2E6ZnVuY3Rpb24gTih0LGUsbil7dmFyIG89Zi5leGVjKGUuc2xpY2UobikpO3JldHVybiBvPyh0Lnc9dVtvWzBdLnRvTG93ZXJDYXNlKCldLG4rb1swXS5sZW5ndGgpOi0xfSxBOmZ1bmN0aW9uIHoodCxlLG4pe3ZhciBvPXAuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gbz8odC53PW1bb1swXS50b0xvd2VyQ2FzZSgpXSxuK29bMF0ubGVuZ3RoKTotMX0sYjpmdW5jdGlvbiBJKHQsZSxuKXt2YXIgbz1iLmV4ZWMoZS5zbGljZShuKSk7cmV0dXJuIG8/KHQubT15W29bMF0udG9Mb3dlckNhc2UoKV0sbitvWzBdLmxlbmd0aCk6LTF9LEI6ZnVuY3Rpb24gSCh0LGUsbil7dmFyIG89Zy5leGVjKGUuc2xpY2UobikpO3JldHVybiBvPyh0Lm09aFtvWzBdLnRvTG93ZXJDYXNlKCldLG4rb1swXS5sZW5ndGgpOi0xfSxjOmZ1bmN0aW9uIEYodCxuLG8pe3JldHVybiBXKHQsZSxuLG8pfSxkOl9pdCxlOl9pdCxmOlBpdCxnOmdpdCxHOnVpdCxIOk1pdCxJOk1pdCxqOkNpdCxMOk9pdCxtOnlpdCxNOnZpdCxwOmZ1bmN0aW9uIEwodCxlLG4pe3ZhciBvPWMuZXhlYyhlLnNsaWNlKG4pKTtyZXR1cm4gbz8odC5wPWRbb1swXS50b0xvd2VyQ2FzZSgpXSxuK29bMF0ubGVuZ3RoKTotMX0scTpiaXQsUTpraXQsczpTaXQsUzp4aXQsdTpkaXQsVTpwaXQsVjptaXQsdzpjaXQsVzpmaXQseDpmdW5jdGlvbiBCKHQsZSxvKXtyZXR1cm4gVyh0LG4sZSxvKX0sWDpmdW5jdGlvbiBWKHQsZSxuKXtyZXR1cm4gVyh0LG8sZSxuKX0seTpnaXQsWTp1aXQsWjpoaXQsIiUiOndpdH07ZnVuY3Rpb24gaih0LGUpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgbyxpLGEscj1bXSxzPS0xLGw9MCxjPXQubGVuZ3RoO2ZvcihuIGluc3RhbmNlb2YgRGF0ZXx8KG49bmV3IERhdGUoK24pKTsrK3M8YzspMzc9PT10LmNoYXJDb2RlQXQocykmJihyLnB1c2godC5zbGljZShsLHMpKSxudWxsIT0oaT1laXRbbz10LmNoYXJBdCgrK3MpXSk/bz10LmNoYXJBdCgrK3MpOmk9ImUiPT09bz8iICI6IjAiLChhPWVbb10pJiYobz1hKG4saSkpLHIucHVzaChvKSxsPXMrMSk7cmV0dXJuIHIucHVzaCh0LnNsaWNlKGwscykpLHIuam9pbigiIil9fWZ1bmN0aW9uIFUodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIG8saSxhPVFvdCgxOTAwLHZvaWQgMCwxKTtpZihXKGEsdCxuKz0iIiwwKSE9bi5sZW5ndGgpcmV0dXJuIG51bGw7aWYoIlEiaW4gYSlyZXR1cm4gbmV3IERhdGUoYS5RKTtpZigicyJpbiBhKXJldHVybiBuZXcgRGF0ZSgxZTMqYS5zKygiTCJpbiBhP2EuTDowKSk7aWYoZSYmISgiWiJpbiBhKSYmKGEuWj0wKSwicCJpbiBhJiYoYS5IPWEuSCUxMisxMiphLnApLHZvaWQgMD09PWEubSYmKGEubT0icSJpbiBhP2EucTowKSwiViJpbiBhKXtpZihhLlY8MXx8YS5WPjUzKXJldHVybiBudWxsOyJ3ImluIGF8fChhLnc9MSksIloiaW4gYT8oaT0obz1Kb3QoUW90KGEueSwwLDEpKSkuZ2V0VVRDRGF5KCksbz1pPjR8fDA9PT1pP1lvdC5jZWlsKG8pOllvdChvKSxvPVVvdC5vZmZzZXQobyw3KihhLlYtMSkpLGEueT1vLmdldFVUQ0Z1bGxZZWFyKCksYS5tPW8uZ2V0VVRDTW9udGgoKSxhLmQ9by5nZXRVVENEYXRlKCkrKGEudys2KSU3KTooaT0obz1Lb3QoUW90KGEueSwwLDEpKSkuZ2V0RGF5KCksbz1pPjR8fDA9PT1pP0ZvdC5jZWlsKG8pOkZvdChvKSxvPXpvdC5vZmZzZXQobyw3KihhLlYtMSkpLGEueT1vLmdldEZ1bGxZZWFyKCksYS5tPW8uZ2V0TW9udGgoKSxhLmQ9by5nZXREYXRlKCkrKGEudys2KSU3KX1lbHNlKCJXImluIGF8fCJVImluIGEpJiYoInciaW4gYXx8KGEudz0idSJpbiBhP2EudSU3OiJXImluIGE/MTowKSxpPSJaImluIGE/Sm90KFFvdChhLnksMCwxKSkuZ2V0VVRDRGF5KCk6S290KFFvdChhLnksMCwxKSkuZ2V0RGF5KCksYS5tPTAsYS5kPSJXImluIGE/KGEudys2KSU3KzcqYS5XLShpKzUpJTc6YS53KzcqYS5VLShpKzYpJTcpO3JldHVybiJaImluIGE/KGEuSCs9YS5aLzEwMHwwLGEuTSs9YS5aJTEwMCxKb3QoYSkpOktvdChhKX19ZnVuY3Rpb24gVyh0LGUsbixvKXtmb3IodmFyIGksYSxyPTAscz1lLmxlbmd0aCxsPW4ubGVuZ3RoO3I8czspe2lmKG8+PWwpcmV0dXJuLTE7aWYoMzc9PT0oaT1lLmNoYXJDb2RlQXQocisrKSkpe2lmKGk9ZS5jaGFyQXQocisrKSwhKGE9VFtpIGluIGVpdD9lLmNoYXJBdChyKyspOmldKXx8KG89YSh0LG4sbykpPDApcmV0dXJuLTF9ZWxzZSBpZihpIT1uLmNoYXJDb2RlQXQobysrKSlyZXR1cm4tMX1yZXR1cm4gb31yZXR1cm4gXy54PWoobixfKSxfLlg9aihvLF8pLF8uYz1qKGUsXyksdy54PWoobix3KSx3Llg9aihvLHcpLHcuYz1qKGUsdykse2Zvcm1hdDpmdW5jdGlvbih0KXt2YXIgZT1qKHQrPSIiLF8pO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9LHBhcnNlOmZ1bmN0aW9uKHQpe3ZhciBlPVUodCs9IiIsITEpO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9LHV0Y0Zvcm1hdDpmdW5jdGlvbih0KXt2YXIgZT1qKHQrPSIiLHcpO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9LHV0Y1BhcnNlOmZ1bmN0aW9uKHQpe3ZhciBlPVUodCs9IiIsITApO3JldHVybiBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHR9LGV9fX0pKHQpLHRpdD0kb3QuZm9ybWF0LCRvdH0pKHtkYXRlVGltZToiJXgsICVYIixkYXRlOiIlLW0vJS1kLyVZIix0aW1lOiIlLUk6JU06JVMgJXAiLHBlcmlvZHM6WyJBTSIsIlBNIl0sZGF5czpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sc2hvcnREYXlzOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sbW9udGhzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxzaG9ydE1vbnRoczpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdfSk7dmFyIF9hdD0xZTMsQ2F0PTZlNCxNYXQ9MzZlNSx2YXQ9ODY0ZTUseGF0PTI1OTJlNixPYXQ9MzE1MzZlNjtmdW5jdGlvbiBQYXQodCl7cmV0dXJuIG5ldyBEYXRlKHQpfWZ1bmN0aW9uIHdhdCh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIERhdGU/K3Q6K25ldyBEYXRlKCt0KX1mdW5jdGlvbiBrYXQodCxlLG4sbyxpLGEscixzLGwpe3ZhciBjPWNvdChub3Qsbm90KSxkPWMuaW52ZXJ0LHA9Yy5kb21haW4sbT1sKCIuJUwiKSxmPWwoIjolUyIpLHU9bCgiJUk6JU0iKSxnPWwoIiVJICVwIiksaD1sKCIlYSAlZCIpLGI9bCgiJWIgJWQiKSx5PWwoIiVCIiksXz1sKCIlWSIpLEM9W1tyLDEsX2F0XSxbciw1LDVlM10sW3IsMTUsMTVlM10sW3IsMzAsM2U0XSxbYSwxLENhdF0sW2EsNSwzZTVdLFthLDE1LDllNV0sW2EsMzAsMThlNV0sW2ksMSxNYXRdLFtpLDMsMTA4ZTVdLFtpLDYsMjE2ZTVdLFtpLDEyLDQzMmU1XSxbbywxLHZhdF0sW28sMiwxNzI4ZTVdLFtuLDEsNjA0OGU1XSxbZSwxLHhhdF0sW2UsMyw3Nzc2ZTZdLFt0LDEsT2F0XV07ZnVuY3Rpb24gTShzKXtyZXR1cm4ocihzKTxzP206YShzKTxzP2Y6aShzKTxzP3U6byhzKTxzP2c6ZShzKTxzP24ocyk8cz9oOmI6dChzKTxzP3k6Xykocyl9ZnVuY3Rpb24gdihlLG4sbyxpKXtpZihudWxsPT1lJiYoZT0xMCksIm51bWJlciI9PXR5cGVvZiBlKXt2YXIgYT1NYXRoLmFicyhvLW4pL2Uscj1nNigoZnVuY3Rpb24odCl7cmV0dXJuIHRbMl19KSkucmlnaHQoQyxhKTtyPT09Qy5sZW5ndGg/KGk9azYobi9PYXQsby9PYXQsZSksZT10KTpyPyhpPShyPUNbYS9DW3ItMV1bMl08Q1tyXVsyXS9hP3ItMTpyXSlbMV0sZT1yWzBdKTooaT1NYXRoLm1heChrNihuLG8sZSksMSksZT1zKX1yZXR1cm4gbnVsbD09aT9lOmUuZXZlcnkoaSl9cmV0dXJuIGMuaW52ZXJ0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRGF0ZShkKHQpKX0sYy5kb21haW49ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/cChxbnQuY2FsbCh0LHdhdCkpOnAoKS5tYXAoUGF0KX0sYy50aWNrcz1mdW5jdGlvbih0LGUpe3ZhciBuLG89cCgpLGk9b1swXSxhPW9bby5sZW5ndGgtMV0scj1hPGk7cmV0dXJuIHImJihuPWksaT1hLGE9biksbj0obj12KHQsaSxhLGUpKT9uLnJhbmdlKGksYSsxKTpbXSxyP24ucmV2ZXJzZSgpOm59LGMudGlja0Zvcm1hdD1mdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT1lP006bChlKX0sYy5uaWNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49cCgpO3JldHVybih0PXYodCxuWzBdLG5bbi5sZW5ndGgtMV0sZSkpP3AoZm90KG4sdCkpOmN9LGMuY29weT1mdW5jdGlvbigpe3JldHVybiBzb3QoYyxrYXQodCxlLG4sbyxpLGEscixzLGwpKX0sY31mdW5jdGlvbiBTYXQoKXtyZXR1cm4gV250LmFwcGx5KGthdChqb3QsQm90LEhvdCx6b3QsTm90LFRvdCxBb3Qsd290LHRpdCkuZG9tYWluKFtuZXcgRGF0ZSgyZTMsMCwxKSxuZXcgRGF0ZSgyZTMsMCwyKV0pLGFyZ3VtZW50cyl9ZnVuY3Rpb24gRGF0KHQpe2Zvcih2YXIgZT10Lmxlbmd0aC82fDAsbj1uZXcgQXJyYXkoZSksbz0wO288ZTspbltvXT0iIyIrdC5zbGljZSg2Km8sNiorK28pO3JldHVybiBufWZ1bmN0aW9uIFJhdCh0KXtyZXR1cm4gVTkodFt0Lmxlbmd0aC0xXSl9dmFyIEVhdD1SYXQobmV3IEFycmF5KDMpLmNvbmNhdCgiZGVlYmY3OWVjYWUxMzE4MmJkIiwiZWZmM2ZmYmRkN2U3NmJhZWQ2MjE3MWI1IiwiZWZmM2ZmYmRkN2U3NmJhZWQ2MzE4MmJkMDg1MTljIiwiZWZmM2ZmYzZkYmVmOWVjYWUxNmJhZWQ2MzE4MmJkMDg1MTljIiwiZWZmM2ZmYzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0IiwiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg0NTk0IiwiZjdmYmZmZGVlYmY3YzZkYmVmOWVjYWUxNmJhZWQ2NDI5MmM2MjE3MWI1MDg1MTljMDgzMDZiIikubWFwKERhdCkpLEFhdD1SYXQobmV3IEFycmF5KDMpLmNvbmNhdCgiZjBmMGYwYmRiZGJkNjM2MzYzIiwiZjdmN2Y3Y2NjY2NjOTY5Njk2NTI1MjUyIiwiZjdmN2Y3Y2NjY2NjOTY5Njk2NjM2MzYzMjUyNTI1IiwiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NjM2MzYzMjUyNTI1IiwiZjdmN2Y3ZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1IiwiZmZmZmZmZjBmMGYwZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1IiwiZmZmZmZmZjBmMGYwZDlkOWQ5YmRiZGJkOTY5Njk2NzM3MzczNTI1MjUyMjUyNTI1MDAwMDAwIikubWFwKERhdCkpLFRhdD1SYXQobmV3IEFycmF5KDMpLmNvbmNhdCgiZmVlMGQyZmM5MjcyZGUyZDI2IiwiZmVlNWQ5ZmNhZTkxZmI2YTRhY2IxODFkIiwiZmVlNWQ5ZmNhZTkxZmI2YTRhZGUyZDI2YTUwZjE1IiwiZmVlNWQ5ZmNiYmExZmM5MjcyZmI2YTRhZGUyZDI2YTUwZjE1IiwiZmVlNWQ5ZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkOTkwMDBkIiwiZmZmNWYwZmVlMGQyZmNiYmExZmM5MjcyZmI2YTRhZWYzYjJjY2IxODFkYTUwZjE1NjcwMDBkIikubWFwKERhdCkpO2Z1bmN0aW9uIE5hdCh0KXtyZXR1cm4gZnVuY3Rpb24gZSgpe3JldHVybiB0fX1mdW5jdGlvbiB6YXQodCl7dGhpcy5fY29udGV4dD10fWZ1bmN0aW9uIElhdCh0KXtyZXR1cm4gbmV3IHphdCh0KX1mdW5jdGlvbiBIYXQodCl7cmV0dXJuIHRbMF19ZnVuY3Rpb24gRmF0KHQpe3JldHVybiB0WzFdfWZ1bmN0aW9uIExhdCgpe3ZhciB0PUhhdCxlPUZhdCxuPU5hdCghMCksbz1udWxsLGk9SWF0LGE9bnVsbDtmdW5jdGlvbiByKHIpe3ZhciBzLGwsYyxkPXIubGVuZ3RoLHA9ITE7Zm9yKG51bGw9PW8mJihhPWkoYz1NbnQoKSkpLHM9MDtzPD1kOysrcykhKHM8ZCYmbihsPXJbc10scyxyKSk9PT1wJiYoKHA9IXApP2EubGluZVN0YXJ0KCk6YS5saW5lRW5kKCkpLHAmJmEucG9pbnQoK3QobCxzLHIpLCtlKGwscyxyKSk7aWYoYylyZXR1cm4gYT1udWxsLGMrIiJ8fG51bGx9cmV0dXJuIHIueD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lOk5hdCgrZSkscik6dH0sci55PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhlPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TmF0KCt0KSxyKTplfSxyLmRlZmluZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpOYXQoISF0KSxyKTpufSxyLmN1cnZlPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPXQsbnVsbCE9byYmKGE9aShvKSkscik6aX0sci5jb250ZXh0PWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhudWxsPT10P289YT1udWxsOmE9aShvPXQpLHIpOm99LHJ9ZnVuY3Rpb24gQmF0KHQsZSxuKXt0Ll9jb250ZXh0LmJlemllckN1cnZlVG8odC5feDErdC5fayoodC5feDItdC5feDApLHQuX3kxK3QuX2sqKHQuX3kyLXQuX3kwKSx0Ll94Mit0Ll9rKih0Ll94MS1lKSx0Ll95Mit0Ll9rKih0Ll95MS1uKSx0Ll94Mix0Ll95Mil9ZnVuY3Rpb24gVmF0KHQsZSl7dGhpcy5fY29udGV4dD10LHRoaXMuX2s9KDEtZSkvNn1mdW5jdGlvbiBqYXQodCxlKXt0aGlzLl9jb250ZXh0PXQsdGhpcy5fYWxwaGE9ZX16YXQucHJvdG90eXBlPXthcmVhU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPTB9LGFyZWFFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9saW5lPU5hTn0sbGluZVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fcG9pbnQ9MH0sbGluZUVuZDpmdW5jdGlvbigpeyh0aGlzLl9saW5lfHwwIT09dGhpcy5fbGluZSYmMT09PXRoaXMuX3BvaW50KSYmdGhpcy5fY29udGV4dC5jbG9zZVBhdGgoKSx0aGlzLl9saW5lPTEtdGhpcy5fbGluZX0scG9pbnQ6ZnVuY3Rpb24odCxlKXtzd2l0Y2godD0rdCxlPStlLHRoaXMuX3BvaW50KXtjYXNlIDA6dGhpcy5fcG9pbnQ9MSx0aGlzLl9saW5lP3RoaXMuX2NvbnRleHQubGluZVRvKHQsZSk6dGhpcy5fY29udGV4dC5tb3ZlVG8odCxlKTticmVhaztjYXNlIDE6dGhpcy5fcG9pbnQ9MjtkZWZhdWx0OnRoaXMuX2NvbnRleHQubGluZVRvKHQsZSl9fX0sVmF0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzpCYXQodGhpcyx0aGlzLl94MSx0aGlzLl95MSl9KHRoaXMuX2xpbmV8fDAhPT10aGlzLl9saW5lJiYxPT09dGhpcy5fcG9pbnQpJiZ0aGlzLl9jb250ZXh0LmNsb3NlUGF0aCgpLHRoaXMuX2xpbmU9MS10aGlzLl9saW5lfSxwb2ludDpmdW5jdGlvbih0LGUpe3N3aXRjaCh0PSt0LGU9K2UsdGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yLHRoaXMuX3gxPXQsdGhpcy5feTE9ZTticmVhaztjYXNlIDI6dGhpcy5fcG9pbnQ9MztkZWZhdWx0OkJhdCh0aGlzLHQsZSl9dGhpcy5feDA9dGhpcy5feDEsdGhpcy5feDE9dGhpcy5feDIsdGhpcy5feDI9dCx0aGlzLl95MD10aGlzLl95MSx0aGlzLl95MT10aGlzLl95Mix0aGlzLl95Mj1lfX0samF0LnByb3RvdHlwZT17YXJlYVN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5fbGluZT0wfSxhcmVhRW5kOmZ1bmN0aW9uKCl7dGhpcy5fbGluZT1OYU59LGxpbmVTdGFydDpmdW5jdGlvbigpe3RoaXMuX3gwPXRoaXMuX3gxPXRoaXMuX3gyPXRoaXMuX3kwPXRoaXMuX3kxPXRoaXMuX3kyPU5hTix0aGlzLl9sMDFfYT10aGlzLl9sMTJfYT10aGlzLl9sMjNfYT10aGlzLl9sMDFfMmE9dGhpcy5fbDEyXzJhPXRoaXMuX2wyM18yYT10aGlzLl9wb2ludD0wfSxsaW5lRW5kOmZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuX3BvaW50KXtjYXNlIDI6dGhpcy5fY29udGV4dC5saW5lVG8odGhpcy5feDIsdGhpcy5feTIpO2JyZWFrO2Nhc2UgMzp0aGlzLnBvaW50KHRoaXMuX3gyLHRoaXMuX3kyKX0odGhpcy5fbGluZXx8MCE9PXRoaXMuX2xpbmUmJjE9PT10aGlzLl9wb2ludCkmJnRoaXMuX2NvbnRleHQuY2xvc2VQYXRoKCksdGhpcy5fbGluZT0xLXRoaXMuX2xpbmV9LHBvaW50OmZ1bmN0aW9uKHQsZSl7aWYodD0rdCxlPStlLHRoaXMuX3BvaW50KXt2YXIgbj10aGlzLl94Mi10LG89dGhpcy5feTItZTt0aGlzLl9sMjNfYT1NYXRoLnNxcnQodGhpcy5fbDIzXzJhPU1hdGgucG93KG4qbitvKm8sdGhpcy5fYWxwaGEpKX1zd2l0Y2godGhpcy5fcG9pbnQpe2Nhc2UgMDp0aGlzLl9wb2ludD0xLHRoaXMuX2xpbmU/dGhpcy5fY29udGV4dC5saW5lVG8odCxlKTp0aGlzLl9jb250ZXh0Lm1vdmVUbyh0LGUpO2JyZWFrO2Nhc2UgMTp0aGlzLl9wb2ludD0yO2JyZWFrO2Nhc2UgMjp0aGlzLl9wb2ludD0zO2RlZmF1bHQ6IShmdW5jdGlvbiBpKHQsZSxuKXt2YXIgbz10Ll94MSxpPXQuX3kxLGE9dC5feDIscj10Ll95MjtpZih0Ll9sMDFfYT4xZS0xMil7dmFyIHM9Mip0Ll9sMDFfMmErMyp0Ll9sMDFfYSp0Ll9sMTJfYSt0Ll9sMTJfMmEsbD0zKnQuX2wwMV9hKih0Ll9sMDFfYSt0Ll9sMTJfYSk7bz0obypzLXQuX3gwKnQuX2wxMl8yYSt0Ll94Mip0Ll9sMDFfMmEpL2wsaT0oaSpzLXQuX3kwKnQuX2wxMl8yYSt0Ll95Mip0Ll9sMDFfMmEpL2x9aWYodC5fbDIzX2E+MWUtMTIpe3ZhciBjPTIqdC5fbDIzXzJhKzMqdC5fbDIzX2EqdC5fbDEyX2ErdC5fbDEyXzJhLGQ9Myp0Ll9sMjNfYSoodC5fbDIzX2ErdC5fbDEyX2EpO2E9KGEqYyt0Ll94MSp0Ll9sMjNfMmEtZSp0Ll9sMTJfMmEpL2Qscj0ocipjK3QuX3kxKnQuX2wyM18yYS1uKnQuX2wxMl8yYSkvZH10Ll9jb250ZXh0LmJlemllckN1cnZlVG8obyxpLGEscix0Ll94Mix0Ll95Mil9KSh0aGlzLHQsZSl9dGhpcy5fbDAxX2E9dGhpcy5fbDEyX2EsdGhpcy5fbDEyX2E9dGhpcy5fbDIzX2EsdGhpcy5fbDAxXzJhPXRoaXMuX2wxMl8yYSx0aGlzLl9sMTJfMmE9dGhpcy5fbDIzXzJhLHRoaXMuX3gwPXRoaXMuX3gxLHRoaXMuX3gxPXRoaXMuX3gyLHRoaXMuX3gyPXQsdGhpcy5feTA9dGhpcy5feTEsdGhpcy5feTE9dGhpcy5feTIsdGhpcy5feTI9ZX19O3ZhciBVYXQ9KGZ1bmN0aW9uIHQoZSl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gZT9uZXcgamF0KHQsZSk6bmV3IFZhdCh0LDApfXJldHVybiBuLmFscGhhPWZ1bmN0aW9uKGUpe3JldHVybiB0KCtlKX0sbn0pKC41KTtjb25zdCBXYXQ9MWU0LEdhdD0uMDAxLFlhdD1MbnQoIi4yfmUiKSxxYXQ9TG50KCIuNH5yIiksWmF0PUxudCgiLH4iKTtmdW5jdGlvbiBYYXQodCl7aWYoMD09PXQpcmV0dXJuIjAiO2NvbnN0IGU9TWF0aC5hYnModCk7cmV0dXJuIGU+PVdhdHx8ZTxHYXQ/WWF0KHQpOnFhdCh0KX1jb25zdCBLYXQ9e2Zvcm1hdFRpY2s6WGF0LGZvcm1hdFNob3J0OlhhdCxmb3JtYXRSZWFkYWJsZSh0KXtjb25zdCBlPU1hdGguYWJzKHQpO3JldHVybiBlPj1XYXR8fGU8R2F0P1lhdCh0KTpaYXQodCl9LGZvcm1hdExvbmc6WmF0fSxKYXQ9bmV3IEludGwuTnVtYmVyRm9ybWF0KHZvaWQgMCx7bWF4aW11bUZyYWN0aW9uRGlnaXRzOjN9KTtmdW5jdGlvbiBRYXQodCl7cmV0dXJuIEphdC5mb3JtYXQodCl9Y29uc3QgJGF0PXtmb3JtYXRUaWNrOlFhdCxmb3JtYXRTaG9ydDpRYXQsZm9ybWF0UmVhZGFibGU6UWF0LGZvcm1hdExvbmc6UWF0fSx0cnQ9TG50KCIwLjN+cyIpLGVydD1MbnQoIiwuM35mIik7ZnVuY3Rpb24gbnJ0KHQpe2NvbnN0IGU9TWF0aC5hYnModCk7cmV0dXJuIGU+PVdhdHx8ZTxHYXQ/dHJ0KHQpOmVydCh0KX1jb25zdCBvcnQ9e2Zvcm1hdFRpY2s6bnJ0LGZvcm1hdFNob3J0Om5ydCxmb3JtYXRSZWFkYWJsZTpucnQsZm9ybWF0TG9uZzpucnR9LGlydD0xZTMsYXJ0PTZlNCxycnQ9MzZlNSxzcnQ9ODY0ZTUsbHJ0PTMxNTM2ZTYsY3J0PUxudCgiLjR+Iik7ZnVuY3Rpb24gZHJ0KHQpe2lmKDA9PT10KXJldHVybiIwIjtsZXQgZT1NYXRoLnNpZ24odCk+MD8iIjoiLSI7Y29uc3Qgbj1NYXRoLmFicyh0KTtyZXR1cm4gZSs9bjxpcnQ/YCR7Y3J0KG4pfSBtc2A6bjxhcnQ/YCR7Y3J0KG4vaXJ0KX0gc2VjYDpuPHJydD9gJHtjcnQobi9hcnQpfSBtaW5gOm48c3J0P2Ake2NydChuL3JydCl9IGhyYDpuPGxydD9gJHtjcnQobi9zcnQpfSBkYXlgOmAke2NydChuL2xydCl9IHlyYCxlfWNvbnN0IHBydD17Zm9ybWF0VGljazpkcnQsZm9ybWF0U2hvcnQ6ZHJ0LGZvcm1hdFJlYWRhYmxlOmRydCxmb3JtYXRMb25nOmRydH0sbXJ0PVNhdCgpLnRpY2tGb3JtYXQoKTtsZXQgZnJ0O2NvbnN0IHVydD17Zm9ybWF0VGljazp0PT5tcnQobmV3IERhdGUodCkpLGZvcm1hdFNob3J0OnQ9Pm5ldyBEYXRlKHQpLnRvTG9jYWxlU3RyaW5nKGZydCx7eWVhcjoibnVtZXJpYyIsbW9udGg6InNob3J0IixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIn0pLGZvcm1hdFJlYWRhYmxlOnQ9Pm5ldyBEYXRlKHQpLnRvTG9jYWxlU3RyaW5nKGZydCx7eWVhcjoibnVtZXJpYyIsbW9udGg6InNob3J0IixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIix0aW1lWm9uZU5hbWU6InNob3J0In0pLGZvcm1hdExvbmc6dD0+bmV3IERhdGUodCkudG9Mb2NhbGVTdHJpbmcoZnJ0LHt5ZWFyOiJudW1lcmljIixtb250aDoibG9uZyIsZGF5OiJudW1lcmljIixob3VyOiJudW1lcmljIixtaW51dGU6Im51bWVyaWMiLHNlY29uZDoibnVtZXJpYyIsdGltZVpvbmVOYW1lOiJzaG9ydCIsZnJhY3Rpb25hbFNlY29uZERpZ2l0czozfSl9O2Z1bmN0aW9uIGdydCh0KXtzd2l0Y2godCl7Y2FzZSBuNi5MSU5FQVI6cmV0dXJuIG5ldyBocnQ7Y2FzZSBuNi5MT0cxMDpyZXR1cm4gbmV3IGJydDtjYXNlIG42LlRJTUU6cmV0dXJuIG5ldyB5cnQ7ZGVmYXVsdDp0aHJvdyBuZXcgUmFuZ2VFcnJvcihgU2NhbGVUeXBlICR7dH0gbm90IHN1cHBvcnRlZC5gKX19Y2xhc3MgaHJ0e2NvbnN0cnVjdG9yKCl7dGhpcy5kZWZhdWx0Rm9ybWF0dGVyPUthdH10cmFuc2Zvcm0odCxlLG4pe2NvbnN0W28saV09dCxhPWktbyxbcixzXT1lO3JldHVybiAwPT09YT9yOihzLXIpL2EqKG4tbykrcn1mb3J3YXJkKHQsZSxuKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm0odCxlLG4pfXJldmVyc2UodCxlLG4pe3JldHVybiB0aGlzLnRyYW5zZm9ybShlLHQsbil9bmljZURvbWFpbih0KXtsZXRbZSxuXT10O2lmKG48ZSl0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgaW5wdXQ6IG1pbiBpcyBsYXJnZXIgdGhhbiBtYXgiKTtpZihuPT09ZSlyZXR1cm4gMD09PWU/Wy0xLDFdOmU8MD9bMiplLDBdOlswLDIqZV07Y29uc3Qgbz1tb3QoKSxpPS4wNSoobi1lK051bWJlci5FUFNJTE9OKSxbYSxyXT1vLmRvbWFpbihbZS1pLG4raV0pLm5pY2UoKS5kb21haW4oKTtyZXR1cm5bYSxyXX10aWNrcyh0LGUpe3JldHVybiBtb3QoKS5kb21haW4odCkudGlja3MoZSl9aXNTYWZlTnVtYmVyKHQpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUodCl9fWNsYXNzIGJydHtjb25zdHJ1Y3Rvcigpe3RoaXMuZGVmYXVsdEZvcm1hdHRlcj1LYXR9dHJhbnNmb3JtKHQpe3JldHVybiBNYXRoLmxvZzEwKHQ+MD90Ok51bWJlci5NSU5fVkFMVUUpfXVudHJhbnNmb3JtKHQpe3JldHVybiBNYXRoLmV4cCh0L01hdGguTE9HMTBFKX1mb3J3YXJkKHQsZSxuKXtpZihuPD0wKXJldHVybiBlWzBdO2NvbnN0W28saV09dCxbYSxyXT1lLHM9dGhpcy50cmFuc2Zvcm0obyksbD10aGlzLnRyYW5zZm9ybShpKS1zLGM9ci1hO3JldHVybiBuPXRoaXMudHJhbnNmb3JtKG4pLGMvKGwrTnVtYmVyLkVQU0lMT04pKihuLXMpK2F9cmV2ZXJzZSh0LGUsbil7Y29uc3RbbyxpXT10LFthLHJdPWUscz10aGlzLnRyYW5zZm9ybShvKSxsPXRoaXMudHJhbnNmb3JtKGkpO3JldHVybiB0aGlzLnVudHJhbnNmb3JtKChsLXMpLyhyLWErTnVtYmVyLkVQU0lMT04pKihuLWEpK3MpfW5pY2VEb21haW4odCl7Y29uc3RbZSxuXT10O2lmKGU+bil0aHJvdyBuZXcgRXJyb3IoIlVuZXhwZWN0ZWQgaW5wdXQ6IG1pbiBpcyBsYXJnZXIgdGhhbiBtYXgiKTtjb25zdCBvPU1hdGgubWF4KGUsTnVtYmVyLk1JTl9WQUxVRSksaT1NYXRoLm1heChuLE51bWJlci5NSU5fVkFMVUUpO3JldHVybiBuPD0wP1tOdW1iZXIuTUlOX1ZBTFVFLDFdOltNYXRoLm1heChOdW1iZXIuTUlOX1ZBTFVFLC41Km8pLDIqaV19dGlja3ModCxlKXtjb25zdCBuPXRbMF08PTA/TnVtYmVyLk1JTl9WQUxVRTp0WzBdLG89dFsxXTw9MD9OdW1iZXIuTUlOX1ZBTFVFOnRbMV0saT1Nb3QoKS5kb21haW4oW24sb10pLnRpY2tzKGUpO3JldHVybiBpLmxlbmd0aD9pOnR9aXNTYWZlTnVtYmVyKHQpe3JldHVybiBOdW1iZXIuaXNGaW5pdGUodCkmJnQ+MH19Y2xhc3MgeXJ0e2NvbnN0cnVjdG9yKCl7dGhpcy5zY2FsZT1TYXQoKSx0aGlzLmRlZmF1bHRGb3JtYXR0ZXI9dXJ0fWZvcndhcmQodCxlLG4pe3JldHVybiB0aGlzLnNjYWxlLmRvbWFpbih0KS5yYW5nZShlKShuKX1yZXZlcnNlKHQsZSxuKXtyZXR1cm4gdGhpcy5zY2FsZS5kb21haW4odCkucmFuZ2UoZSkuaW52ZXJ0KG4pLmdldFRpbWUoKX1uaWNlRG9tYWluKHQpe2NvbnN0W2Usbl09dGhpcy5zY2FsZS5kb21haW4odCkubmljZSgpLmRvbWFpbigpO3JldHVybltlLmdldFRpbWUoKSxuLmdldFRpbWUoKV19dGlja3ModCxlKXtyZXR1cm4gdGhpcy5zY2FsZS5kb21haW4odCkudGlja3MoZSkubWFwKCh0PT50LmdldFRpbWUoKSkpfWlzU2FmZU51bWJlcih0KXtyZXR1cm4gTnVtYmVyLmlzRmluaXRlKHQpfX1sZXQgX3J0PSExO2lmKHNlbGYuaGFzT3duUHJvcGVydHkoIldlYkdMMlJlbmRlcmluZ0NvbnRleHQiKSYmc2VsZi5oYXNPd25Qcm9wZXJ0eSgiZG9jdW1lbnQiKSl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTt0LmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGNyZWF0aW9uZXJyb3IiLCgoKT0+e19ydD0hMX0pKTtjb25zdCBlPXQuZ2V0Q29udGV4dCgid2ViZ2wyIik7X3J0PUJvb2xlYW4oZSl9ZnVuY3Rpb24gQ3J0KCl7cmV0dXJuIHNlbGYuaGFzT3duUHJvcGVydHkoIk9mZnNjcmVlbkNhbnZhcyIpfWZ1bmN0aW9uIE1ydCh0LGUpe2lmKHQubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspaWYodFtuXSE9PWVbbl0pcmV0dXJuITE7cmV0dXJuITB9Y2xhc3MgdnJ0e2NvbnN0cnVjdG9yKCl7dGhpcy54U2NhbGU9Z3J0KG42LkxJTkVBUiksdGhpcy55U2NhbGU9Z3J0KG42LkxJTkVBUiksdGhpcy5kb21Db250YWluZXJSZWN0PXt4OjAsd2lkdGg6MSx5OjAsaGVpZ2h0OjF9LHRoaXMubGFzdFVwZGF0ZWQ9MCx0aGlzLmN1cnJlbnRWaWV3Qm94UmVjdD17eDowLHdpZHRoOjEseTowLGhlaWdodDoxfX1nZXRVcGRhdGVJZGVudGlmaWVyKCl7cmV0dXJuIHRoaXMubGFzdFVwZGF0ZWR9dXBkYXRlSWRlbnRpZmllcigpe3RoaXMubGFzdFVwZGF0ZWQrK31pc1lBeGlzUG9pbnRlZERvd24oKXtyZXR1cm4hMH1zZXRYU2NhbGUodCl7dGhpcy54U2NhbGU9dCx0aGlzLnVwZGF0ZUlkZW50aWZpZXIoKX1zZXRZU2NhbGUodCl7dGhpcy55U2NhbGU9dCx0aGlzLnVwZGF0ZUlkZW50aWZpZXIoKX1nZXRDdXJyZW50Vmlld0JveFJlY3QoKXtyZXR1cm4gdGhpcy5jdXJyZW50Vmlld0JveFJlY3R9c2V0Vmlld0JveFJlY3QodCl7dGhpcy5jdXJyZW50Vmlld0JveFJlY3Q9dCx0aGlzLnVwZGF0ZUlkZW50aWZpZXIoKX1zZXREb21Db250YWluZXJSZWN0KHQpe3RoaXMuZG9tQ29udGFpbmVyUmVjdD10LHRoaXMudXBkYXRlSWRlbnRpZmllcigpfXRyYW5zZm9ybURhdGFUb1VpQ29vcmQodCxlKXtjb25zdCBuPXQsbz0oZnVuY3Rpb24gaSh0KXtyZXR1cm57eDpbdC54LHQueCt0LndpZHRoXSx5Olt0LnksdC55K3QuaGVpZ2h0XX19KSh0aGlzLmN1cnJlbnRWaWV3Qm94UmVjdCk7cmV0dXJuW3RoaXMueFNjYWxlLmZvcndhcmQoby54LFtuLngsbi54K24ud2lkdGhdLGVbMF0pLHRoaXMueVNjYWxlLmZvcndhcmQoby55LHRoaXMuaXNZQXhpc1BvaW50ZWREb3duKCk/W24ueStuLmhlaWdodCxuLnldOltuLnksbi55K24uaGVpZ2h0XSxlWzFdKV19fWZ1bmN0aW9uIHhydCh0LGUsbixvKXtjb25zdHtjb2xvcjppLHZpc2libGU6YSxvcGFjaXR5OnJ9PW87bGV0IHM9dDtyZXR1cm4gc3x8YT8ocz1udWxsIT1zP3M6ZSgpLHM9bihzKSxzLnN0eWxlLmRpc3BsYXk9YT8iIjoibm9uZSIscy5zdHlsZS5zdHJva2U9aSxzLnN0eWxlLm9wYWNpdHk9U3RyaW5nKG51bGwhPXI/cjoxKSxzKTpudWxsfWNsYXNzIE9ydHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN2Zz10fWZsdXNoKCl7fW9uUmVzaXplKHQpe31kZXN0cm95T2JqZWN0KHQpe3RoaXMuc3ZnLnJlbW92ZUNoaWxkKHQuZG9tKX1zZXRVc2VEYXJrTW9kZSh0KXt9Y3JlYXRlUGF0aERTdHJpbmcodCl7aWYoIXQubGVuZ3RoKXJldHVybiIiO2NvbnN0IGU9bmV3IEFycmF5KHQubGVuZ3RoLzIpO2VbMF09YE0ke3RbMF19LCR7dFsxXX1gO2ZvcihsZXQgbj0xO248dC5sZW5ndGgvMjtuKyspZVtuXT1gTCR7dFsyKm5dfSwke3RbMipuKzFdfWA7cmV0dXJuIGUuam9pbigiIil9Y3JlYXRlT3JVcGRhdGVMaW5lT2JqZWN0KHQsZSxuKXtjb25zdCBvPXhydChudWxsPT10P3ZvaWQgMDp0LmRvbSwoKCk9Pntjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJwYXRoIik7dC5zdHlsZS5maWxsPSJub25lIjtjb25zdCBuPXRoaXMuY3JlYXRlUGF0aERTdHJpbmcoZSk7cmV0dXJuIHQuc2V0QXR0cmlidXRlKCJkIixuKSx0aGlzLnN2Zy5hcHBlbmRDaGlsZCh0KSx0fSksKG49PntpZighKG51bGw9PXQ/dm9pZCAwOnQuZGF0YSl8fCFNcnQoZSxudWxsPT10P3ZvaWQgMDp0LmRhdGEpKXtjb25zdCB0PXRoaXMuY3JlYXRlUGF0aERTdHJpbmcoZSk7bi5zZXRBdHRyaWJ1dGUoImQiLHQpfXJldHVybiBufSksbik7cmV0dXJuIG51bGw9PT1vP251bGw6KG8uc3R5bGUuc3Ryb2tlV2lkdGg9U3RyaW5nKG4ud2lkdGgpLHtkb206byxkYXRhOmV9KX1jcmVhdGVPclVwZGF0ZVRyaWFuZ2xlT2JqZWN0KHQsZSxuKXtjb25zdHtzaXplOm8sY29sb3I6aX09bixhPW8qTWF0aC5zcXJ0KDMpLzIscj1uZXcgRmxvYXQzMkFycmF5KFtlLngtby8yLGUueSthLzMsZS54K28vMixlLnkrYS8zLGUueCxlLnktMiphLzNdKSxzPXhydChudWxsPT10P3ZvaWQgMDp0LmRvbSwoKCk9Pntjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJwYXRoIik7dC5jbGFzc0xpc3QuYWRkKCJ0cmlhbmdsZSIpLHQuc3R5bGUuZmlsbD0ibm9uZSI7Y29uc3QgZT10aGlzLmNyZWF0ZVBhdGhEU3RyaW5nKHIpO3JldHVybiB0LnNldEF0dHJpYnV0ZSgiZCIsZSsiWiIpLHRoaXMuc3ZnLmFwcGVuZENoaWxkKHQpLHR9KSwodD0+e2NvbnN0IGU9dGhpcy5jcmVhdGVQYXRoRFN0cmluZyhyKTtyZXR1cm4gdC5zZXRBdHRyaWJ1dGUoImQiLGUrIloiKSx0fSksbik7cmV0dXJuIG51bGw9PT1zP251bGw6KHMuc3R5bGUuZmlsbD1pLHtkb206cyxkYXRhOnJ9KX1jcmVhdGVPclVwZGF0ZUNpcmNsZU9iamVjdCh0LGUsbil7Y29uc3R7Y29sb3I6byxyYWRpdXM6aX09bixhPXhydChudWxsPT10P3ZvaWQgMDp0LmRvbSwoKCk9Pntjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJjaXJjbGUiKTtyZXR1cm4gdC5zdHlsZS5maWxsPW8sdC5zZXRBdHRyaWJ1dGUoImN4IixTdHJpbmcoZS54KSksdC5zZXRBdHRyaWJ1dGUoImN5IixTdHJpbmcoZS55KSksdC5zZXRBdHRyaWJ1dGUoInIiLFN0cmluZyhpKSksdGhpcy5zdmcuYXBwZW5kQ2hpbGQodCksdH0pLCh0PT4odC5zdHlsZS5maWxsPW8sdC5zZXRBdHRyaWJ1dGUoImN4IixTdHJpbmcoZS54KSksdC5zZXRBdHRyaWJ1dGUoImN5IixTdHJpbmcoZS55KSksdC5zZXRBdHRyaWJ1dGUoInIiLFN0cmluZyhpKSksdCkpLG4pO3JldHVybiBudWxsPT09YT9udWxsOntkb206YSxkYXRhOmV9fWNyZWF0ZU9yVXBkYXRlVHJhcGV6b2lkT2JqZWN0KHQsZSxuLG8pe2lmKGUueSE9PW4ueSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5wdXQgZXJyb3I6IHN0YXJ0LnkgIT0gZW5kLnkuIik7Y29uc3R7YWx0aXR1ZGU6aSxjb2xvcjphfT1vLHI9Mi9NYXRoLnNxcnQoMykqaSxzPW5ldyBGbG9hdDMyQXJyYXkoW2UueC1yLzIsZS55K2kvMixlLngsZS55LWkvMixuLngsbi55LWkvMixuLngrci8yLG4ueStpLzJdKSxsPXhydChudWxsPT10P3ZvaWQgMDp0LmRvbSwoKCk9Pntjb25zdCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJwYXRoIik7dC5jbGFzc0xpc3QuYWRkKCJ0cmFwZXpvaWQiKSx0LnN0eWxlLmZpbGw9Im5vbmUiO2NvbnN0IGU9dGhpcy5jcmVhdGVQYXRoRFN0cmluZyhzKTtyZXR1cm4gdC5zZXRBdHRyaWJ1dGUoImQiLGUrIloiKSx0aGlzLnN2Zy5hcHBlbmRDaGlsZCh0KSx0fSksKHQ9Pntjb25zdCBlPXRoaXMuY3JlYXRlUGF0aERTdHJpbmcocyk7cmV0dXJuIHQuc2V0QXR0cmlidXRlKCJkIixlKyJaIiksdH0pLG8pO3JldHVybiBudWxsPT09bD9udWxsOihsLnN0eWxlLmZpbGw9YSx7ZG9tOmwsZGF0YTpzfSl9ZGlzcG9zZSgpe319Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCAyMDEwLTIwMjEgVGhyZWUuanMgQXV0aG9ycwogICAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAogICAgICovY29uc3QgUHJ0PTEwMCx3cnQ9MzAxLGtydD0zMDIsU3J0PTMwNixEcnQ9MWUzLFJydD0xMDAxLEVydD0xMDAyLEFydD0xMDAzLFRydD0xMDA2LE5ydD0xMDA4LHpydD0xMDA5LElydD0xMDEyLEhydD0xMDE0LEZydD0xMDE1LExydD0xMDE2LEJydD0xMDIwLFZydD0xMDIyLGpydD0xMDIzLFVydD0xMDI2LFdydD0xMDI3LEdydD0yMzAwLFlydD0yMzAxLHFydD0yMzAyLFpydD0yNDAwLFhydD0yNDAxLEtydD0yNDAyLEpydD0yNTAwLFFydD0zZTMsJHJ0PTMwMDEsdHN0PTMwMDcsZXN0PTMwMDIsbnN0PTc2ODAsb3N0PTM1MDQ0LGlzdD0zNTA0OCxhc3Q9IjMwMCBlcyI7Y2xhc3MgcnN0e2FkZEV2ZW50TGlzdGVuZXIodCxlKXt2b2lkIDA9PT10aGlzLl9saXN0ZW5lcnMmJih0aGlzLl9saXN0ZW5lcnM9e30pO2NvbnN0IG49dGhpcy5fbGlzdGVuZXJzO3ZvaWQgMD09PW5bdF0mJihuW3RdPVtdKSwtMT09PW5bdF0uaW5kZXhPZihlKSYmblt0XS5wdXNoKGUpfWhhc0V2ZW50TGlzdGVuZXIodCxlKXtpZih2b2lkIDA9PT10aGlzLl9saXN0ZW5lcnMpcmV0dXJuITE7Y29uc3Qgbj10aGlzLl9saXN0ZW5lcnM7cmV0dXJuIHZvaWQgMCE9PW5bdF0mJi0xIT09blt0XS5pbmRleE9mKGUpfXJlbW92ZUV2ZW50TGlzdGVuZXIodCxlKXtpZih2b2lkIDA9PT10aGlzLl9saXN0ZW5lcnMpcmV0dXJuO2NvbnN0IG49dGhpcy5fbGlzdGVuZXJzW3RdO2lmKHZvaWQgMCE9PW4pe2NvbnN0IHQ9bi5pbmRleE9mKGUpOy0xIT09dCYmbi5zcGxpY2UodCwxKX19ZGlzcGF0Y2hFdmVudCh0KXtpZih2b2lkIDA9PT10aGlzLl9saXN0ZW5lcnMpcmV0dXJuO2NvbnN0IGU9dGhpcy5fbGlzdGVuZXJzW3QudHlwZV07aWYodm9pZCAwIT09ZSl7dC50YXJnZXQ9dGhpcztjb25zdCBuPWUuc2xpY2UoMCk7Zm9yKGxldCBlPTAsbz1uLmxlbmd0aDtlPG87ZSsrKW5bZV0uY2FsbCh0aGlzLHQpO3QudGFyZ2V0PW51bGx9fX1jb25zdCBzc3Q9W107Zm9yKGxldCB0PTA7dDwyNTY7dCsrKXNzdFt0XT0odDwxNj8iMCI6IiIpK3QudG9TdHJpbmcoMTYpO2NvbnN0IGxzdD1NYXRoLlBJLzE4MCxjc3Q9MTgwL01hdGguUEk7ZnVuY3Rpb24gZHN0KCl7Y29uc3QgdD00Mjk0OTY3Mjk1Kk1hdGgucmFuZG9tKCl8MCxlPTQyOTQ5NjcyOTUqTWF0aC5yYW5kb20oKXwwLG49NDI5NDk2NzI5NSpNYXRoLnJhbmRvbSgpfDAsbz00Mjk0OTY3Mjk1Kk1hdGgucmFuZG9tKCl8MDtyZXR1cm4oc3N0WzI1NSZ0XStzc3RbdD4+OCYyNTVdK3NzdFt0Pj4xNiYyNTVdK3NzdFt0Pj4yNCYyNTVdKyItIitzc3RbMjU1JmVdK3NzdFtlPj44JjI1NV0rIi0iK3NzdFtlPj4xNiYxNXw2NF0rc3N0W2U+PjI0JjI1NV0rIi0iK3NzdFs2MyZufDEyOF0rc3N0W24+PjgmMjU1XSsiLSIrc3N0W24+PjE2JjI1NV0rc3N0W24+PjI0JjI1NV0rc3N0WzI1NSZvXStzc3Rbbz4+OCYyNTVdK3NzdFtvPj4xNiYyNTVdK3NzdFtvPj4yNCYyNTVdKS50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIHBzdCh0LGUsbil7cmV0dXJuIE1hdGgubWF4KGUsTWF0aC5taW4obix0KSl9ZnVuY3Rpb24gbXN0KHQsZSxuKXtyZXR1cm4oMS1uKSp0K24qZX1mdW5jdGlvbiBmc3QodCl7cmV0dXJuIDA9PSh0JnQtMSkmJjAhPT10fWZ1bmN0aW9uIHVzdCh0KXtyZXR1cm4gTWF0aC5wb3coMixNYXRoLmZsb29yKE1hdGgubG9nKHQpL01hdGguTE4yKSl9Y2xhc3MgZ3N0e2NvbnN0cnVjdG9yKHQ9MCxlPTApe3RoaXMueD10LHRoaXMueT1lfWdldCB3aWR0aCgpe3JldHVybiB0aGlzLnh9c2V0IHdpZHRoKHQpe3RoaXMueD10fWdldCBoZWlnaHQoKXtyZXR1cm4gdGhpcy55fXNldCBoZWlnaHQodCl7dGhpcy55PXR9c2V0KHQsZSl7cmV0dXJuIHRoaXMueD10LHRoaXMueT1lLHRoaXN9c2V0U2NhbGFyKHQpe3JldHVybiB0aGlzLng9dCx0aGlzLnk9dCx0aGlzfXNldFgodCl7cmV0dXJuIHRoaXMueD10LHRoaXN9c2V0WSh0KXtyZXR1cm4gdGhpcy55PXQsdGhpc31zZXRDb21wb25lbnQodCxlKXtzd2l0Y2godCl7Y2FzZSAwOnRoaXMueD1lO2JyZWFrO2Nhc2UgMTp0aGlzLnk9ZTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW5kZXggaXMgb3V0IG9mIHJhbmdlOiAiK3QpfXJldHVybiB0aGlzfWdldENvbXBvbmVudCh0KXtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB0aGlzLng7Y2FzZSAxOnJldHVybiB0aGlzLnk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIit0KX19Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy54LHRoaXMueSl9Y29weSh0KXtyZXR1cm4gdGhpcy54PXQueCx0aGlzLnk9dC55LHRoaXN9YWRkKHQsZSl7cmV0dXJuIHZvaWQgMCE9PWU/KGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLmFkZCgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLmFkZFZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuYWRkVmVjdG9ycyh0LGUpKToodGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcyl9YWRkU2NhbGFyKHQpe3JldHVybiB0aGlzLngrPXQsdGhpcy55Kz10LHRoaXN9YWRkVmVjdG9ycyh0LGUpe3JldHVybiB0aGlzLng9dC54K2UueCx0aGlzLnk9dC55K2UueSx0aGlzfWFkZFNjYWxlZFZlY3Rvcih0LGUpe3JldHVybiB0aGlzLngrPXQueCplLHRoaXMueSs9dC55KmUsdGhpc31zdWIodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiAuc3ViKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuc3ViVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5zdWJWZWN0b3JzKHQsZSkpOih0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzKX1zdWJTY2FsYXIodCl7cmV0dXJuIHRoaXMueC09dCx0aGlzLnktPXQsdGhpc31zdWJWZWN0b3JzKHQsZSl7cmV0dXJuIHRoaXMueD10LngtZS54LHRoaXMueT10LnktZS55LHRoaXN9bXVsdGlwbHkodCl7cmV0dXJuIHRoaXMueCo9dC54LHRoaXMueSo9dC55LHRoaXN9bXVsdGlwbHlTY2FsYXIodCl7cmV0dXJuIHRoaXMueCo9dCx0aGlzLnkqPXQsdGhpc31kaXZpZGUodCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXN9ZGl2aWRlU2NhbGFyKHQpe3JldHVybiB0aGlzLm11bHRpcGx5U2NhbGFyKDEvdCl9YXBwbHlNYXRyaXgzKHQpe2NvbnN0IGU9dGhpcy54LG49dGhpcy55LG89dC5lbGVtZW50cztyZXR1cm4gdGhpcy54PW9bMF0qZStvWzNdKm4rb1s2XSx0aGlzLnk9b1sxXSplK29bNF0qbitvWzddLHRoaXN9bWluKHQpe3JldHVybiB0aGlzLng9TWF0aC5taW4odGhpcy54LHQueCksdGhpcy55PU1hdGgubWluKHRoaXMueSx0LnkpLHRoaXN9bWF4KHQpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodGhpcy54LHQueCksdGhpcy55PU1hdGgubWF4KHRoaXMueSx0LnkpLHRoaXN9Y2xhbXAodCxlKXtyZXR1cm4gdGhpcy54PU1hdGgubWF4KHQueCxNYXRoLm1pbihlLngsdGhpcy54KSksdGhpcy55PU1hdGgubWF4KHQueSxNYXRoLm1pbihlLnksdGhpcy55KSksdGhpc31jbGFtcFNjYWxhcih0LGUpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodCxNYXRoLm1pbihlLHRoaXMueCkpLHRoaXMueT1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy55KSksdGhpc31jbGFtcExlbmd0aCh0LGUpe2NvbnN0IG49dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIobnx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgodCxNYXRoLm1pbihlLG4pKSl9Zmxvb3IoKXtyZXR1cm4gdGhpcy54PU1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpLHRoaXN9Y2VpbCgpe3JldHVybiB0aGlzLng9TWF0aC5jZWlsKHRoaXMueCksdGhpcy55PU1hdGguY2VpbCh0aGlzLnkpLHRoaXN9cm91bmQoKXtyZXR1cm4gdGhpcy54PU1hdGgucm91bmQodGhpcy54KSx0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpLHRoaXN9cm91bmRUb1plcm8oKXtyZXR1cm4gdGhpcy54PXRoaXMueDwwP01hdGguY2VpbCh0aGlzLngpOk1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9dGhpcy55PDA/TWF0aC5jZWlsKHRoaXMueSk6TWF0aC5mbG9vcih0aGlzLnkpLHRoaXN9bmVnYXRlKCl7cmV0dXJuIHRoaXMueD0tdGhpcy54LHRoaXMueT0tdGhpcy55LHRoaXN9ZG90KHQpe3JldHVybiB0aGlzLngqdC54K3RoaXMueSp0Lnl9Y3Jvc3ModCl7cmV0dXJuIHRoaXMueCp0LnktdGhpcy55KnQueH1sZW5ndGhTcSgpe3JldHVybiB0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnl9bGVuZ3RoKCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLngqdGhpcy54K3RoaXMueSp0aGlzLnkpfW1hbmhhdHRhbkxlbmd0aCgpe3JldHVybiBNYXRoLmFicyh0aGlzLngpK01hdGguYWJzKHRoaXMueSl9bm9ybWFsaXplKCl7cmV0dXJuIHRoaXMuZGl2aWRlU2NhbGFyKHRoaXMubGVuZ3RoKCl8fDEpfWFuZ2xlKCl7cmV0dXJuIE1hdGguYXRhbjIoLXRoaXMueSwtdGhpcy54KStNYXRoLlBJfWRpc3RhbmNlVG8odCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKHQpKX1kaXN0YW5jZVRvU3F1YXJlZCh0KXtjb25zdCBlPXRoaXMueC10Lngsbj10aGlzLnktdC55O3JldHVybiBlKmUrbipufW1hbmhhdHRhbkRpc3RhbmNlVG8odCl7cmV0dXJuIE1hdGguYWJzKHRoaXMueC10LngpK01hdGguYWJzKHRoaXMueS10LnkpfXNldExlbmd0aCh0KXtyZXR1cm4gdGhpcy5ub3JtYWxpemUoKS5tdWx0aXBseVNjYWxhcih0KX1sZXJwKHQsZSl7cmV0dXJuIHRoaXMueCs9KHQueC10aGlzLngpKmUsdGhpcy55Kz0odC55LXRoaXMueSkqZSx0aGlzfWxlcnBWZWN0b3JzKHQsZSxuKXtyZXR1cm4gdGhpcy54PXQueCsoZS54LXQueCkqbix0aGlzLnk9dC55KyhlLnktdC55KSpuLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lng9PT10aGlzLngmJnQueT09PXRoaXMueX1mcm9tQXJyYXkodCxlPTApe3JldHVybiB0aGlzLng9dFtlXSx0aGlzLnk9dFtlKzFdLHRoaXN9dG9BcnJheSh0PVtdLGU9MCl7cmV0dXJuIHRbZV09dGhpcy54LHRbZSsxXT10aGlzLnksdH1mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSxuKXtyZXR1cm4gdm9pZCAwIT09biYmY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiBvZmZzZXQgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIC5mcm9tQnVmZmVyQXR0cmlidXRlKCkuIiksdGhpcy54PXQuZ2V0WChlKSx0aGlzLnk9dC5nZXRZKGUpLHRoaXN9cm90YXRlQXJvdW5kKHQsZSl7Y29uc3Qgbj1NYXRoLmNvcyhlKSxvPU1hdGguc2luKGUpLGk9dGhpcy54LXQueCxhPXRoaXMueS10Lnk7cmV0dXJuIHRoaXMueD1pKm4tYSpvK3QueCx0aGlzLnk9aSpvK2Eqbit0LnksdGhpc31yYW5kb20oKXtyZXR1cm4gdGhpcy54PU1hdGgucmFuZG9tKCksdGhpcy55PU1hdGgucmFuZG9tKCksdGhpc319Z3N0LnByb3RvdHlwZS5pc1ZlY3RvcjI9ITA7Y2xhc3MgaHN0e2NvbnN0cnVjdG9yKCl7dGhpcy5lbGVtZW50cz1bMSwwLDAsMCwxLDAsMCwwLDFdLGFyZ3VtZW50cy5sZW5ndGg+MCYmY29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4MzogdGhlIGNvbnN0cnVjdG9yIG5vIGxvbmdlciByZWFkcyBhcmd1bWVudHMuIHVzZSAuc2V0KCkgaW5zdGVhZC4iKX1zZXQodCxlLG4sbyxpLGEscixzLGwpe2NvbnN0IGM9dGhpcy5lbGVtZW50cztyZXR1cm4gY1swXT10LGNbMV09byxjWzJdPXIsY1szXT1lLGNbNF09aSxjWzVdPXMsY1s2XT1uLGNbN109YSxjWzhdPWwsdGhpc31pZGVudGl0eSgpe3JldHVybiB0aGlzLnNldCgxLDAsMCwwLDEsMCwwLDAsMSksdGhpc31jb3B5KHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50cyxuPXQuZWxlbWVudHM7cmV0dXJuIGVbMF09blswXSxlWzFdPW5bMV0sZVsyXT1uWzJdLGVbM109blszXSxlWzRdPW5bNF0sZVs1XT1uWzVdLGVbNl09bls2XSxlWzddPW5bN10sZVs4XT1uWzhdLHRoaXN9ZXh0cmFjdEJhc2lzKHQsZSxuKXtyZXR1cm4gdC5zZXRGcm9tTWF0cml4M0NvbHVtbih0aGlzLDApLGUuc2V0RnJvbU1hdHJpeDNDb2x1bW4odGhpcywxKSxuLnNldEZyb21NYXRyaXgzQ29sdW1uKHRoaXMsMiksdGhpc31zZXRGcm9tTWF0cml4NCh0KXtjb25zdCBlPXQuZWxlbWVudHM7cmV0dXJuIHRoaXMuc2V0KGVbMF0sZVs0XSxlWzhdLGVbMV0sZVs1XSxlWzldLGVbMl0sZVs2XSxlWzEwXSksdGhpc31tdWx0aXBseSh0KXtyZXR1cm4gdGhpcy5tdWx0aXBseU1hdHJpY2VzKHRoaXMsdCl9cHJlbXVsdGlwbHkodCl7cmV0dXJuIHRoaXMubXVsdGlwbHlNYXRyaWNlcyh0LHRoaXMpfW11bHRpcGx5TWF0cmljZXModCxlKXtjb25zdCBuPXQuZWxlbWVudHMsbz1lLmVsZW1lbnRzLGk9dGhpcy5lbGVtZW50cyxhPW5bMF0scj1uWzNdLHM9bls2XSxsPW5bMV0sYz1uWzRdLGQ9bls3XSxwPW5bMl0sbT1uWzVdLGY9bls4XSx1PW9bMF0sZz1vWzNdLGg9b1s2XSxiPW9bMV0seT1vWzRdLF89b1s3XSxDPW9bMl0sTT1vWzVdLHY9b1s4XTtyZXR1cm4gaVswXT1hKnUrcipiK3MqQyxpWzNdPWEqZytyKnkrcypNLGlbNl09YSpoK3IqXytzKnYsaVsxXT1sKnUrYypiK2QqQyxpWzRdPWwqZytjKnkrZCpNLGlbN109bCpoK2MqXytkKnYsaVsyXT1wKnUrbSpiK2YqQyxpWzVdPXAqZyttKnkrZipNLGlbOF09cCpoK20qXytmKnYsdGhpc31tdWx0aXBseVNjYWxhcih0KXtjb25zdCBlPXRoaXMuZWxlbWVudHM7cmV0dXJuIGVbMF0qPXQsZVszXSo9dCxlWzZdKj10LGVbMV0qPXQsZVs0XSo9dCxlWzddKj10LGVbMl0qPXQsZVs1XSo9dCxlWzhdKj10LHRoaXN9ZGV0ZXJtaW5hbnQoKXtjb25zdCB0PXRoaXMuZWxlbWVudHMsZT10WzBdLG49dFsxXSxvPXRbMl0saT10WzNdLGE9dFs0XSxyPXRbNV0scz10WzZdLGw9dFs3XSxjPXRbOF07cmV0dXJuIGUqYSpjLWUqcipsLW4qaSpjK24qcipzK28qaSpsLW8qYSpzfWludmVydCgpe2NvbnN0IHQ9dGhpcy5lbGVtZW50cyxlPXRbMF0sbj10WzFdLG89dFsyXSxpPXRbM10sYT10WzRdLHI9dFs1XSxzPXRbNl0sbD10WzddLGM9dFs4XSxkPWMqYS1yKmwscD1yKnMtYyppLG09bCppLWEqcyxmPWUqZCtuKnArbyptO2lmKDA9PT1mKXJldHVybiB0aGlzLnNldCgwLDAsMCwwLDAsMCwwLDAsMCk7Y29uc3QgdT0xL2Y7cmV0dXJuIHRbMF09ZCp1LHRbMV09KG8qbC1jKm4pKnUsdFsyXT0ocipuLW8qYSkqdSx0WzNdPXAqdSx0WzRdPShjKmUtbypzKSp1LHRbNV09KG8qaS1yKmUpKnUsdFs2XT1tKnUsdFs3XT0obipzLWwqZSkqdSx0WzhdPShhKmUtbippKSp1LHRoaXN9dHJhbnNwb3NlKCl7bGV0IHQ7Y29uc3QgZT10aGlzLmVsZW1lbnRzO3JldHVybiB0PWVbMV0sZVsxXT1lWzNdLGVbM109dCx0PWVbMl0sZVsyXT1lWzZdLGVbNl09dCx0PWVbNV0sZVs1XT1lWzddLGVbN109dCx0aGlzfWdldE5vcm1hbE1hdHJpeCh0KXtyZXR1cm4gdGhpcy5zZXRGcm9tTWF0cml4NCh0KS5pbnZlcnQoKS50cmFuc3Bvc2UoKX10cmFuc3Bvc2VJbnRvQXJyYXkodCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzO3JldHVybiB0WzBdPWVbMF0sdFsxXT1lWzNdLHRbMl09ZVs2XSx0WzNdPWVbMV0sdFs0XT1lWzRdLHRbNV09ZVs3XSx0WzZdPWVbMl0sdFs3XT1lWzVdLHRbOF09ZVs4XSx0aGlzfXNldFV2VHJhbnNmb3JtKHQsZSxuLG8saSxhLHIpe2NvbnN0IHM9TWF0aC5jb3MoaSksbD1NYXRoLnNpbihpKTtyZXR1cm4gdGhpcy5zZXQobipzLG4qbCwtbioocyphK2wqcikrYSt0LC1vKmwsbypzLC1vKigtbCphK3MqcikrcitlLDAsMCwxKSx0aGlzfXNjYWxlKHQsZSl7Y29uc3Qgbj10aGlzLmVsZW1lbnRzO3JldHVybiBuWzBdKj10LG5bM10qPXQsbls2XSo9dCxuWzFdKj1lLG5bNF0qPWUsbls3XSo9ZSx0aGlzfXJvdGF0ZSh0KXtjb25zdCBlPU1hdGguY29zKHQpLG49TWF0aC5zaW4odCksbz10aGlzLmVsZW1lbnRzLGk9b1swXSxhPW9bM10scj1vWzZdLHM9b1sxXSxsPW9bNF0sYz1vWzddO3JldHVybiBvWzBdPWUqaStuKnMsb1szXT1lKmErbipsLG9bNl09ZSpyK24qYyxvWzFdPS1uKmkrZSpzLG9bNF09LW4qYStlKmwsb1s3XT0tbipyK2UqYyx0aGlzfXRyYW5zbGF0ZSh0LGUpe2NvbnN0IG49dGhpcy5lbGVtZW50cztyZXR1cm4gblswXSs9dCpuWzJdLG5bM10rPXQqbls1XSxuWzZdKz10Km5bOF0sblsxXSs9ZSpuWzJdLG5bNF0rPWUqbls1XSxuWzddKz1lKm5bOF0sdGhpc31lcXVhbHModCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC5lbGVtZW50cztmb3IobGV0IHQ9MDt0PDk7dCsrKWlmKGVbdF0hPT1uW3RdKXJldHVybiExO3JldHVybiEwfWZyb21BcnJheSh0LGU9MCl7Zm9yKGxldCBuPTA7bjw5O24rKyl0aGlzLmVsZW1lbnRzW25dPXRbbitlXTtyZXR1cm4gdGhpc310b0FycmF5KHQ9W10sZT0wKXtjb25zdCBuPXRoaXMuZWxlbWVudHM7cmV0dXJuIHRbZV09blswXSx0W2UrMV09blsxXSx0W2UrMl09blsyXSx0W2UrM109blszXSx0W2UrNF09bls0XSx0W2UrNV09bls1XSx0W2UrNl09bls2XSx0W2UrN109bls3XSx0W2UrOF09bls4XSx0fWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5mcm9tQXJyYXkodGhpcy5lbGVtZW50cyl9fWxldCBic3Q7aHN0LnByb3RvdHlwZS5pc01hdHJpeDM9ITA7Y2xhc3MgeXN0e3N0YXRpYyBnZXREYXRhVVJMKHQpe2lmKC9eZGF0YTovaS50ZXN0KHQuc3JjKSlyZXR1cm4gdC5zcmM7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBIVE1MQ2FudmFzRWxlbWVudClyZXR1cm4gdC5zcmM7bGV0IGU7aWYodCBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50KWU9dDtlbHNle3ZvaWQgMD09PWJzdCYmKGJzdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKSksYnN0LndpZHRoPXQud2lkdGgsYnN0LmhlaWdodD10LmhlaWdodDtjb25zdCBuPWJzdC5nZXRDb250ZXh0KCIyZCIpO3QgaW5zdGFuY2VvZiBJbWFnZURhdGE/bi5wdXRJbWFnZURhdGEodCwwLDApOm4uZHJhd0ltYWdlKHQsMCwwLHQud2lkdGgsdC5oZWlnaHQpLGU9YnN0fXJldHVybiBlLndpZHRoPjIwNDh8fGUuaGVpZ2h0PjIwNDg/KGNvbnNvbGUud2FybigiVEhSRUUuSW1hZ2VVdGlscy5nZXREYXRhVVJMOiBJbWFnZSBjb252ZXJ0ZWQgdG8ganBnIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIix0KSxlLnRvRGF0YVVSTCgiaW1hZ2UvanBlZyIsLjYpKTplLnRvRGF0YVVSTCgiaW1hZ2UvcG5nIil9fWxldCBfc3Q9MDtjbGFzcyBDc3QgZXh0ZW5kcyByc3R7Y29uc3RydWN0b3IodD1Dc3QuREVGQVVMVF9JTUFHRSxlPUNzdC5ERUZBVUxUX01BUFBJTkcsbj0xMDAxLG89MTAwMSxpPTEwMDYsYT0xMDA4LHI9MTAyMyxzPTEwMDksbD0xLGM9M2UzKXtzdXBlcigpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOl9zdCsrfSksdGhpcy51dWlkPWRzdCgpLHRoaXMubmFtZT0iIix0aGlzLmltYWdlPXQsdGhpcy5taXBtYXBzPVtdLHRoaXMubWFwcGluZz1lLHRoaXMud3JhcFM9bix0aGlzLndyYXBUPW8sdGhpcy5tYWdGaWx0ZXI9aSx0aGlzLm1pbkZpbHRlcj1hLHRoaXMuYW5pc290cm9weT1sLHRoaXMuZm9ybWF0PXIsdGhpcy5pbnRlcm5hbEZvcm1hdD1udWxsLHRoaXMudHlwZT1zLHRoaXMub2Zmc2V0PW5ldyBnc3QoMCwwKSx0aGlzLnJlcGVhdD1uZXcgZ3N0KDEsMSksdGhpcy5jZW50ZXI9bmV3IGdzdCgwLDApLHRoaXMucm90YXRpb249MCx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9ITAsdGhpcy5tYXRyaXg9bmV3IGhzdCx0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMCx0aGlzLnByZW11bHRpcGx5QWxwaGE9ITEsdGhpcy5mbGlwWT0hMCx0aGlzLnVucGFja0FsaWdubWVudD00LHRoaXMuZW5jb2Rpbmc9Yyx0aGlzLnZlcnNpb249MCx0aGlzLm9uVXBkYXRlPW51bGwsdGhpcy5pc1JlbmRlclRhcmdldFRleHR1cmU9ITF9dXBkYXRlTWF0cml4KCl7dGhpcy5tYXRyaXguc2V0VXZUcmFuc2Zvcm0odGhpcy5vZmZzZXQueCx0aGlzLm9mZnNldC55LHRoaXMucmVwZWF0LngsdGhpcy5yZXBlYXQueSx0aGlzLnJvdGF0aW9uLHRoaXMuY2VudGVyLngsdGhpcy5jZW50ZXIueSl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXtyZXR1cm4gdGhpcy5uYW1lPXQubmFtZSx0aGlzLmltYWdlPXQuaW1hZ2UsdGhpcy5taXBtYXBzPXQubWlwbWFwcy5zbGljZSgwKSx0aGlzLm1hcHBpbmc9dC5tYXBwaW5nLHRoaXMud3JhcFM9dC53cmFwUyx0aGlzLndyYXBUPXQud3JhcFQsdGhpcy5tYWdGaWx0ZXI9dC5tYWdGaWx0ZXIsdGhpcy5taW5GaWx0ZXI9dC5taW5GaWx0ZXIsdGhpcy5hbmlzb3Ryb3B5PXQuYW5pc290cm9weSx0aGlzLmZvcm1hdD10LmZvcm1hdCx0aGlzLmludGVybmFsRm9ybWF0PXQuaW50ZXJuYWxGb3JtYXQsdGhpcy50eXBlPXQudHlwZSx0aGlzLm9mZnNldC5jb3B5KHQub2Zmc2V0KSx0aGlzLnJlcGVhdC5jb3B5KHQucmVwZWF0KSx0aGlzLmNlbnRlci5jb3B5KHQuY2VudGVyKSx0aGlzLnJvdGF0aW9uPXQucm90YXRpb24sdGhpcy5tYXRyaXhBdXRvVXBkYXRlPXQubWF0cml4QXV0b1VwZGF0ZSx0aGlzLm1hdHJpeC5jb3B5KHQubWF0cml4KSx0aGlzLmdlbmVyYXRlTWlwbWFwcz10LmdlbmVyYXRlTWlwbWFwcyx0aGlzLnByZW11bHRpcGx5QWxwaGE9dC5wcmVtdWx0aXBseUFscGhhLHRoaXMuZmxpcFk9dC5mbGlwWSx0aGlzLnVucGFja0FsaWdubWVudD10LnVucGFja0FsaWdubWVudCx0aGlzLmVuY29kaW5nPXQuZW5jb2RpbmcsdGhpc310b0pTT04odCl7Y29uc3QgZT12b2lkIDA9PT10fHwic3RyaW5nIj09dHlwZW9mIHQ7aWYoIWUmJnZvaWQgMCE9PXQudGV4dHVyZXNbdGhpcy51dWlkXSlyZXR1cm4gdC50ZXh0dXJlc1t0aGlzLnV1aWRdO2NvbnN0IG49e21ldGFkYXRhOnt2ZXJzaW9uOjQuNSx0eXBlOiJUZXh0dXJlIixnZW5lcmF0b3I6IlRleHR1cmUudG9KU09OIn0sdXVpZDp0aGlzLnV1aWQsbmFtZTp0aGlzLm5hbWUsbWFwcGluZzp0aGlzLm1hcHBpbmcscmVwZWF0Olt0aGlzLnJlcGVhdC54LHRoaXMucmVwZWF0LnldLG9mZnNldDpbdGhpcy5vZmZzZXQueCx0aGlzLm9mZnNldC55XSxjZW50ZXI6W3RoaXMuY2VudGVyLngsdGhpcy5jZW50ZXIueV0scm90YXRpb246dGhpcy5yb3RhdGlvbix3cmFwOlt0aGlzLndyYXBTLHRoaXMud3JhcFRdLGZvcm1hdDp0aGlzLmZvcm1hdCx0eXBlOnRoaXMudHlwZSxlbmNvZGluZzp0aGlzLmVuY29kaW5nLG1pbkZpbHRlcjp0aGlzLm1pbkZpbHRlcixtYWdGaWx0ZXI6dGhpcy5tYWdGaWx0ZXIsYW5pc290cm9weTp0aGlzLmFuaXNvdHJvcHksZmxpcFk6dGhpcy5mbGlwWSxwcmVtdWx0aXBseUFscGhhOnRoaXMucHJlbXVsdGlwbHlBbHBoYSx1bnBhY2tBbGlnbm1lbnQ6dGhpcy51bnBhY2tBbGlnbm1lbnR9O2lmKHZvaWQgMCE9PXRoaXMuaW1hZ2Upe2NvbnN0IG89dGhpcy5pbWFnZTtpZih2b2lkIDA9PT1vLnV1aWQmJihvLnV1aWQ9ZHN0KCkpLCFlJiZ2b2lkIDA9PT10LmltYWdlc1tvLnV1aWRdKXtsZXQgZTtpZihBcnJheS5pc0FycmF5KG8pKXtlPVtdO2ZvcihsZXQgdD0wLG49by5sZW5ndGg7dDxuO3QrKyllLnB1c2goTXN0KG9bdF0uaXNEYXRhVGV4dHVyZT9vW3RdLmltYWdlOm9bdF0pKX1lbHNlIGU9TXN0KG8pO3QuaW1hZ2VzW28udXVpZF09e3V1aWQ6by51dWlkLHVybDplfX1uLmltYWdlPW8udXVpZH1yZXR1cm4gZXx8KHQudGV4dHVyZXNbdGhpcy51dWlkXT1uKSxufWRpc3Bvc2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9dHJhbnNmb3JtVXYodCl7aWYoMzAwIT09dGhpcy5tYXBwaW5nKXJldHVybiB0O2lmKHQuYXBwbHlNYXRyaXgzKHRoaXMubWF0cml4KSx0Lng8MHx8dC54PjEpc3dpdGNoKHRoaXMud3JhcFMpe2Nhc2UgRHJ0OnQueD10LngtTWF0aC5mbG9vcih0LngpO2JyZWFrO2Nhc2UgUnJ0OnQueD10Lng8MD8wOjE7YnJlYWs7Y2FzZSBFcnQ6dC54PTE9PT1NYXRoLmFicyhNYXRoLmZsb29yKHQueCklMik/TWF0aC5jZWlsKHQueCktdC54OnQueC1NYXRoLmZsb29yKHQueCl9aWYodC55PDB8fHQueT4xKXN3aXRjaCh0aGlzLndyYXBUKXtjYXNlIERydDp0Lnk9dC55LU1hdGguZmxvb3IodC55KTticmVhaztjYXNlIFJydDp0Lnk9dC55PDA/MDoxO2JyZWFrO2Nhc2UgRXJ0OnQueT0xPT09TWF0aC5hYnMoTWF0aC5mbG9vcih0LnkpJTIpP01hdGguY2VpbCh0LnkpLXQueTp0LnktTWF0aC5mbG9vcih0LnkpfXJldHVybiB0aGlzLmZsaXBZJiYodC55PTEtdC55KSx0fXNldCBuZWVkc1VwZGF0ZSh0KXshMD09PXQmJnRoaXMudmVyc2lvbisrfX1mdW5jdGlvbiBNc3QodCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MSW1hZ2VFbGVtZW50JiZ0IGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MQ2FudmFzRWxlbWVudCYmdCBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50fHwidW5kZWZpbmVkIiE9dHlwZW9mIEltYWdlQml0bWFwJiZ0IGluc3RhbmNlb2YgSW1hZ2VCaXRtYXA/eXN0LmdldERhdGFVUkwodCk6dC5kYXRhP3tkYXRhOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQuZGF0YSksd2lkdGg6dC53aWR0aCxoZWlnaHQ6dC5oZWlnaHQsdHlwZTp0LmRhdGEuY29uc3RydWN0b3IubmFtZX06KGNvbnNvbGUud2FybigiVEhSRUUuVGV4dHVyZTogVW5hYmxlIHRvIHNlcmlhbGl6ZSBUZXh0dXJlLiIpLHt9KX1Dc3QuREVGQVVMVF9JTUFHRT12b2lkIDAsQ3N0LkRFRkFVTFRfTUFQUElORz0zMDAsQ3N0LnByb3RvdHlwZS5pc1RleHR1cmU9ITA7Y2xhc3MgdnN0e2NvbnN0cnVjdG9yKHQ9MCxlPTAsbj0wLG89MSl7dGhpcy54PXQsdGhpcy55PWUsdGhpcy56PW4sdGhpcy53PW99Z2V0IHdpZHRoKCl7cmV0dXJuIHRoaXMuen1zZXQgd2lkdGgodCl7dGhpcy56PXR9Z2V0IGhlaWdodCgpe3JldHVybiB0aGlzLnd9c2V0IGhlaWdodCh0KXt0aGlzLnc9dH1zZXQodCxlLG4sbyl7cmV0dXJuIHRoaXMueD10LHRoaXMueT1lLHRoaXMuej1uLHRoaXMudz1vLHRoaXN9c2V0U2NhbGFyKHQpe3JldHVybiB0aGlzLng9dCx0aGlzLnk9dCx0aGlzLno9dCx0aGlzLnc9dCx0aGlzfXNldFgodCl7cmV0dXJuIHRoaXMueD10LHRoaXN9c2V0WSh0KXtyZXR1cm4gdGhpcy55PXQsdGhpc31zZXRaKHQpe3JldHVybiB0aGlzLno9dCx0aGlzfXNldFcodCl7cmV0dXJuIHRoaXMudz10LHRoaXN9c2V0Q29tcG9uZW50KHQsZSl7c3dpdGNoKHQpe2Nhc2UgMDp0aGlzLng9ZTticmVhaztjYXNlIDE6dGhpcy55PWU7YnJlYWs7Y2FzZSAyOnRoaXMuej1lO2JyZWFrO2Nhc2UgMzp0aGlzLnc9ZTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW5kZXggaXMgb3V0IG9mIHJhbmdlOiAiK3QpfXJldHVybiB0aGlzfWdldENvbXBvbmVudCh0KXtzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB0aGlzLng7Y2FzZSAxOnJldHVybiB0aGlzLnk7Y2FzZSAyOnJldHVybiB0aGlzLno7Y2FzZSAzOnJldHVybiB0aGlzLnc7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImluZGV4IGlzIG91dCBvZiByYW5nZTogIit0KX19Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy54LHRoaXMueSx0aGlzLnosdGhpcy53KX1jb3B5KHQpe3JldHVybiB0aGlzLng9dC54LHRoaXMueT10LnksdGhpcy56PXQueix0aGlzLnc9dm9pZCAwIT09dC53P3QudzoxLHRoaXN9YWRkKHQsZSl7cmV0dXJuIHZvaWQgMCE9PWU/KGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yNDogLmFkZCgpIG5vdyBvbmx5IGFjY2VwdHMgb25lIGFyZ3VtZW50LiBVc2UgLmFkZFZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuYWRkVmVjdG9ycyh0LGUpKToodGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcy56Kz10LnosdGhpcy53Kz10LncsdGhpcyl9YWRkU2NhbGFyKHQpe3JldHVybiB0aGlzLngrPXQsdGhpcy55Kz10LHRoaXMueis9dCx0aGlzLncrPXQsdGhpc31hZGRWZWN0b3JzKHQsZSl7cmV0dXJuIHRoaXMueD10LngrZS54LHRoaXMueT10LnkrZS55LHRoaXMuej10LnorZS56LHRoaXMudz10LncrZS53LHRoaXN9YWRkU2NhbGVkVmVjdG9yKHQsZSl7cmV0dXJuIHRoaXMueCs9dC54KmUsdGhpcy55Kz10LnkqZSx0aGlzLnorPXQueiplLHRoaXMudys9dC53KmUsdGhpc31zdWIodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3I0OiAuc3ViKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuc3ViVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5zdWJWZWN0b3JzKHQsZSkpOih0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzLnotPXQueix0aGlzLnctPXQudyx0aGlzKX1zdWJTY2FsYXIodCl7cmV0dXJuIHRoaXMueC09dCx0aGlzLnktPXQsdGhpcy56LT10LHRoaXMudy09dCx0aGlzfXN1YlZlY3RvcnModCxlKXtyZXR1cm4gdGhpcy54PXQueC1lLngsdGhpcy55PXQueS1lLnksdGhpcy56PXQuei1lLnosdGhpcy53PXQudy1lLncsdGhpc31tdWx0aXBseSh0KXtyZXR1cm4gdGhpcy54Kj10LngsdGhpcy55Kj10LnksdGhpcy56Kj10LnosdGhpcy53Kj10LncsdGhpc31tdWx0aXBseVNjYWxhcih0KXtyZXR1cm4gdGhpcy54Kj10LHRoaXMueSo9dCx0aGlzLnoqPXQsdGhpcy53Kj10LHRoaXN9YXBwbHlNYXRyaXg0KHQpe2NvbnN0IGU9dGhpcy54LG49dGhpcy55LG89dGhpcy56LGk9dGhpcy53LGE9dC5lbGVtZW50cztyZXR1cm4gdGhpcy54PWFbMF0qZSthWzRdKm4rYVs4XSpvK2FbMTJdKmksdGhpcy55PWFbMV0qZSthWzVdKm4rYVs5XSpvK2FbMTNdKmksdGhpcy56PWFbMl0qZSthWzZdKm4rYVsxMF0qbythWzE0XSppLHRoaXMudz1hWzNdKmUrYVs3XSpuK2FbMTFdKm8rYVsxNV0qaSx0aGlzfWRpdmlkZVNjYWxhcih0KXtyZXR1cm4gdGhpcy5tdWx0aXBseVNjYWxhcigxL3QpfXNldEF4aXNBbmdsZUZyb21RdWF0ZXJuaW9uKHQpe3RoaXMudz0yKk1hdGguYWNvcyh0LncpO2NvbnN0IGU9TWF0aC5zcXJ0KDEtdC53KnQudyk7cmV0dXJuIGU8MWUtND8odGhpcy54PTEsdGhpcy55PTAsdGhpcy56PTApOih0aGlzLng9dC54L2UsdGhpcy55PXQueS9lLHRoaXMuej10LnovZSksdGhpc31zZXRBeGlzQW5nbGVGcm9tUm90YXRpb25NYXRyaXgodCl7bGV0IGUsbixvLGk7Y29uc3QgYT0uMDEscj0uMSxzPXQuZWxlbWVudHMsbD1zWzBdLGM9c1s0XSxkPXNbOF0scD1zWzFdLG09c1s1XSxmPXNbOV0sdT1zWzJdLGc9c1s2XSxoPXNbMTBdO2lmKE1hdGguYWJzKGMtcCk8YSYmTWF0aC5hYnMoZC11KTxhJiZNYXRoLmFicyhmLWcpPGEpe2lmKE1hdGguYWJzKGMrcCk8ciYmTWF0aC5hYnMoZCt1KTxyJiZNYXRoLmFicyhmK2cpPHImJk1hdGguYWJzKGwrbStoLTMpPHIpcmV0dXJuIHRoaXMuc2V0KDEsMCwwLDApLHRoaXM7ZT1NYXRoLlBJO2NvbnN0IHQ9KGwrMSkvMixzPShtKzEpLzIsYj0oaCsxKS8yLHk9KGMrcCkvNCxfPShkK3UpLzQsQz0oZitnKS80O3JldHVybiB0PnMmJnQ+Yj90PGE/KG49MCxvPS43MDcxMDY3ODEsaT0uNzA3MTA2NzgxKToobj1NYXRoLnNxcnQodCksbz15L24saT1fL24pOnM+Yj9zPGE/KG49LjcwNzEwNjc4MSxvPTAsaT0uNzA3MTA2NzgxKToobz1NYXRoLnNxcnQocyksbj15L28saT1DL28pOmI8YT8obj0uNzA3MTA2NzgxLG89LjcwNzEwNjc4MSxpPTApOihpPU1hdGguc3FydChiKSxuPV8vaSxvPUMvaSksdGhpcy5zZXQobixvLGksZSksdGhpc31sZXQgYj1NYXRoLnNxcnQoKGctZikqKGctZikrKGQtdSkqKGQtdSkrKHAtYykqKHAtYykpO3JldHVybiBNYXRoLmFicyhiKTwuMDAxJiYoYj0xKSx0aGlzLng9KGctZikvYix0aGlzLnk9KGQtdSkvYix0aGlzLno9KHAtYykvYix0aGlzLnc9TWF0aC5hY29zKChsK20raC0xKS8yKSx0aGlzfW1pbih0KXtyZXR1cm4gdGhpcy54PU1hdGgubWluKHRoaXMueCx0LngpLHRoaXMueT1NYXRoLm1pbih0aGlzLnksdC55KSx0aGlzLno9TWF0aC5taW4odGhpcy56LHQueiksdGhpcy53PU1hdGgubWluKHRoaXMudyx0LncpLHRoaXN9bWF4KHQpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodGhpcy54LHQueCksdGhpcy55PU1hdGgubWF4KHRoaXMueSx0LnkpLHRoaXMuej1NYXRoLm1heCh0aGlzLnosdC56KSx0aGlzLnc9TWF0aC5tYXgodGhpcy53LHQudyksdGhpc31jbGFtcCh0LGUpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodC54LE1hdGgubWluKGUueCx0aGlzLngpKSx0aGlzLnk9TWF0aC5tYXgodC55LE1hdGgubWluKGUueSx0aGlzLnkpKSx0aGlzLno9TWF0aC5tYXgodC56LE1hdGgubWluKGUueix0aGlzLnopKSx0aGlzLnc9TWF0aC5tYXgodC53LE1hdGgubWluKGUudyx0aGlzLncpKSx0aGlzfWNsYW1wU2NhbGFyKHQsZSl7cmV0dXJuIHRoaXMueD1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy54KSksdGhpcy55PU1hdGgubWF4KHQsTWF0aC5taW4oZSx0aGlzLnkpKSx0aGlzLno9TWF0aC5tYXgodCxNYXRoLm1pbihlLHRoaXMueikpLHRoaXMudz1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy53KSksdGhpc31jbGFtcExlbmd0aCh0LGUpe2NvbnN0IG49dGhpcy5sZW5ndGgoKTtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIobnx8MSkubXVsdGlwbHlTY2FsYXIoTWF0aC5tYXgodCxNYXRoLm1pbihlLG4pKSl9Zmxvb3IoKXtyZXR1cm4gdGhpcy54PU1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpLHRoaXMuej1NYXRoLmZsb29yKHRoaXMueiksdGhpcy53PU1hdGguZmxvb3IodGhpcy53KSx0aGlzfWNlaWwoKXtyZXR1cm4gdGhpcy54PU1hdGguY2VpbCh0aGlzLngpLHRoaXMueT1NYXRoLmNlaWwodGhpcy55KSx0aGlzLno9TWF0aC5jZWlsKHRoaXMueiksdGhpcy53PU1hdGguY2VpbCh0aGlzLncpLHRoaXN9cm91bmQoKXtyZXR1cm4gdGhpcy54PU1hdGgucm91bmQodGhpcy54KSx0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpLHRoaXMuej1NYXRoLnJvdW5kKHRoaXMueiksdGhpcy53PU1hdGgucm91bmQodGhpcy53KSx0aGlzfXJvdW5kVG9aZXJvKCl7cmV0dXJuIHRoaXMueD10aGlzLng8MD9NYXRoLmNlaWwodGhpcy54KTpNYXRoLmZsb29yKHRoaXMueCksdGhpcy55PXRoaXMueTwwP01hdGguY2VpbCh0aGlzLnkpOk1hdGguZmxvb3IodGhpcy55KSx0aGlzLno9dGhpcy56PDA/TWF0aC5jZWlsKHRoaXMueik6TWF0aC5mbG9vcih0aGlzLnopLHRoaXMudz10aGlzLnc8MD9NYXRoLmNlaWwodGhpcy53KTpNYXRoLmZsb29yKHRoaXMudyksdGhpc31uZWdhdGUoKXtyZXR1cm4gdGhpcy54PS10aGlzLngsdGhpcy55PS10aGlzLnksdGhpcy56PS10aGlzLnosdGhpcy53PS10aGlzLncsdGhpc31kb3QodCl7cmV0dXJuIHRoaXMueCp0LngrdGhpcy55KnQueSt0aGlzLnoqdC56K3RoaXMudyp0Lnd9bGVuZ3RoU3EoKXtyZXR1cm4gdGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55K3RoaXMueip0aGlzLnordGhpcy53KnRoaXMud31sZW5ndGgoKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSt0aGlzLnoqdGhpcy56K3RoaXMudyp0aGlzLncpfW1hbmhhdHRhbkxlbmd0aCgpe3JldHVybiBNYXRoLmFicyh0aGlzLngpK01hdGguYWJzKHRoaXMueSkrTWF0aC5hYnModGhpcy56KStNYXRoLmFicyh0aGlzLncpfW5vcm1hbGl6ZSgpe3JldHVybiB0aGlzLmRpdmlkZVNjYWxhcih0aGlzLmxlbmd0aCgpfHwxKX1zZXRMZW5ndGgodCl7cmV0dXJuIHRoaXMubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIodCl9bGVycCh0LGUpe3JldHVybiB0aGlzLngrPSh0LngtdGhpcy54KSplLHRoaXMueSs9KHQueS10aGlzLnkpKmUsdGhpcy56Kz0odC56LXRoaXMueikqZSx0aGlzLncrPSh0LnctdGhpcy53KSplLHRoaXN9bGVycFZlY3RvcnModCxlLG4pe3JldHVybiB0aGlzLng9dC54KyhlLngtdC54KSpuLHRoaXMueT10LnkrKGUueS10LnkpKm4sdGhpcy56PXQueisoZS56LXQueikqbix0aGlzLnc9dC53KyhlLnctdC53KSpuLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lng9PT10aGlzLngmJnQueT09PXRoaXMueSYmdC56PT09dGhpcy56JiZ0Lnc9PT10aGlzLnd9ZnJvbUFycmF5KHQsZT0wKXtyZXR1cm4gdGhpcy54PXRbZV0sdGhpcy55PXRbZSsxXSx0aGlzLno9dFtlKzJdLHRoaXMudz10W2UrM10sdGhpc310b0FycmF5KHQ9W10sZT0wKXtyZXR1cm4gdFtlXT10aGlzLngsdFtlKzFdPXRoaXMueSx0W2UrMl09dGhpcy56LHRbZSszXT10aGlzLncsdH1mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSxuKXtyZXR1cm4gdm9pZCAwIT09biYmY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3I0OiBvZmZzZXQgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIC5mcm9tQnVmZmVyQXR0cmlidXRlKCkuIiksdGhpcy54PXQuZ2V0WChlKSx0aGlzLnk9dC5nZXRZKGUpLHRoaXMuej10LmdldFooZSksdGhpcy53PXQuZ2V0VyhlKSx0aGlzfXJhbmRvbSgpe3JldHVybiB0aGlzLng9TWF0aC5yYW5kb20oKSx0aGlzLnk9TWF0aC5yYW5kb20oKSx0aGlzLno9TWF0aC5yYW5kb20oKSx0aGlzLnc9TWF0aC5yYW5kb20oKSx0aGlzfX12c3QucHJvdG90eXBlLmlzVmVjdG9yND0hMDtjbGFzcyB4c3QgZXh0ZW5kcyByc3R7Y29uc3RydWN0b3IodCxlLG49e30pe3N1cGVyKCksdGhpcy53aWR0aD10LHRoaXMuaGVpZ2h0PWUsdGhpcy5kZXB0aD0xLHRoaXMuc2Npc3Nvcj1uZXcgdnN0KDAsMCx0LGUpLHRoaXMuc2Npc3NvclRlc3Q9ITEsdGhpcy52aWV3cG9ydD1uZXcgdnN0KDAsMCx0LGUpLHRoaXMudGV4dHVyZT1uZXcgQ3N0KHZvaWQgMCxuLm1hcHBpbmcsbi53cmFwUyxuLndyYXBULG4ubWFnRmlsdGVyLG4ubWluRmlsdGVyLG4uZm9ybWF0LG4udHlwZSxuLmFuaXNvdHJvcHksbi5lbmNvZGluZyksdGhpcy50ZXh0dXJlLmlzUmVuZGVyVGFyZ2V0VGV4dHVyZT0hMCx0aGlzLnRleHR1cmUuaW1hZ2U9e3dpZHRoOnQsaGVpZ2h0OmUsZGVwdGg6MX0sdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz12b2lkIDAhPT1uLmdlbmVyYXRlTWlwbWFwcyYmbi5nZW5lcmF0ZU1pcG1hcHMsdGhpcy50ZXh0dXJlLm1pbkZpbHRlcj12b2lkIDAhPT1uLm1pbkZpbHRlcj9uLm1pbkZpbHRlcjpUcnQsdGhpcy5kZXB0aEJ1ZmZlcj12b2lkIDA9PT1uLmRlcHRoQnVmZmVyfHxuLmRlcHRoQnVmZmVyLHRoaXMuc3RlbmNpbEJ1ZmZlcj12b2lkIDAhPT1uLnN0ZW5jaWxCdWZmZXImJm4uc3RlbmNpbEJ1ZmZlcix0aGlzLmRlcHRoVGV4dHVyZT12b2lkIDAhPT1uLmRlcHRoVGV4dHVyZT9uLmRlcHRoVGV4dHVyZTpudWxsfXNldFRleHR1cmUodCl7dC5pbWFnZT17d2lkdGg6dGhpcy53aWR0aCxoZWlnaHQ6dGhpcy5oZWlnaHQsZGVwdGg6dGhpcy5kZXB0aH0sdGhpcy50ZXh0dXJlPXR9c2V0U2l6ZSh0LGUsbj0xKXt0aGlzLndpZHRoPT09dCYmdGhpcy5oZWlnaHQ9PT1lJiZ0aGlzLmRlcHRoPT09bnx8KHRoaXMud2lkdGg9dCx0aGlzLmhlaWdodD1lLHRoaXMuZGVwdGg9bix0aGlzLnRleHR1cmUuaW1hZ2Uud2lkdGg9dCx0aGlzLnRleHR1cmUuaW1hZ2UuaGVpZ2h0PWUsdGhpcy50ZXh0dXJlLmltYWdlLmRlcHRoPW4sdGhpcy5kaXNwb3NlKCkpLHRoaXMudmlld3BvcnQuc2V0KDAsMCx0LGUpLHRoaXMuc2Npc3Nvci5zZXQoMCwwLHQsZSl9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXtyZXR1cm4gdGhpcy53aWR0aD10LndpZHRoLHRoaXMuaGVpZ2h0PXQuaGVpZ2h0LHRoaXMuZGVwdGg9dC5kZXB0aCx0aGlzLnZpZXdwb3J0LmNvcHkodC52aWV3cG9ydCksdGhpcy50ZXh0dXJlPXQudGV4dHVyZS5jbG9uZSgpLHRoaXMudGV4dHVyZS5pbWFnZT17Li4udGhpcy50ZXh0dXJlLmltYWdlfSx0aGlzLmRlcHRoQnVmZmVyPXQuZGVwdGhCdWZmZXIsdGhpcy5zdGVuY2lsQnVmZmVyPXQuc3RlbmNpbEJ1ZmZlcix0aGlzLmRlcHRoVGV4dHVyZT10LmRlcHRoVGV4dHVyZSx0aGlzfWRpc3Bvc2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImRpc3Bvc2UifSl9fXhzdC5wcm90b3R5cGUuaXNXZWJHTFJlbmRlclRhcmdldD0hMDsoY2xhc3MgZXh0ZW5kcyB4c3R7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsZSk7Y29uc3Qgbz10aGlzLnRleHR1cmU7dGhpcy50ZXh0dXJlPVtdO2ZvcihsZXQgdD0wO3Q8bjt0KyspdGhpcy50ZXh0dXJlW3RdPW8uY2xvbmUoKX1zZXRTaXplKHQsZSxuPTEpe2lmKHRoaXMud2lkdGghPT10fHx0aGlzLmhlaWdodCE9PWV8fHRoaXMuZGVwdGghPT1uKXt0aGlzLndpZHRoPXQsdGhpcy5oZWlnaHQ9ZSx0aGlzLmRlcHRoPW47Zm9yKGxldCBvPTAsaT10aGlzLnRleHR1cmUubGVuZ3RoO288aTtvKyspdGhpcy50ZXh0dXJlW29dLmltYWdlLndpZHRoPXQsdGhpcy50ZXh0dXJlW29dLmltYWdlLmhlaWdodD1lLHRoaXMudGV4dHVyZVtvXS5pbWFnZS5kZXB0aD1uO3RoaXMuZGlzcG9zZSgpfXJldHVybiB0aGlzLnZpZXdwb3J0LnNldCgwLDAsdCxlKSx0aGlzLnNjaXNzb3Iuc2V0KDAsMCx0LGUpLHRoaXN9Y29weSh0KXt0aGlzLmRpc3Bvc2UoKSx0aGlzLndpZHRoPXQud2lkdGgsdGhpcy5oZWlnaHQ9dC5oZWlnaHQsdGhpcy5kZXB0aD10LmRlcHRoLHRoaXMudmlld3BvcnQuc2V0KDAsMCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KSx0aGlzLnNjaXNzb3Iuc2V0KDAsMCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KSx0aGlzLmRlcHRoQnVmZmVyPXQuZGVwdGhCdWZmZXIsdGhpcy5zdGVuY2lsQnVmZmVyPXQuc3RlbmNpbEJ1ZmZlcix0aGlzLmRlcHRoVGV4dHVyZT10LmRlcHRoVGV4dHVyZSx0aGlzLnRleHR1cmUubGVuZ3RoPTA7Zm9yKGxldCBlPTAsbj10LnRleHR1cmUubGVuZ3RoO2U8bjtlKyspdGhpcy50ZXh0dXJlW2VdPXQudGV4dHVyZVtlXS5jbG9uZSgpO3JldHVybiB0aGlzfX0pLnByb3RvdHlwZS5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzPSEwO2NsYXNzIE9zdCBleHRlbmRzIHhzdHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIodCxlLG4pLHRoaXMuc2FtcGxlcz00fWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkuY2FsbCh0aGlzLHQpLHRoaXMuc2FtcGxlcz10LnNhbXBsZXMsdGhpc319T3N0LnByb3RvdHlwZS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQ9ITA7Y2xhc3MgUHN0e2NvbnN0cnVjdG9yKHQ9MCxlPTAsbj0wLG89MSl7dGhpcy5feD10LHRoaXMuX3k9ZSx0aGlzLl96PW4sdGhpcy5fdz1vfXN0YXRpYyBzbGVycCh0LGUsbixvKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5RdWF0ZXJuaW9uOiBTdGF0aWMgLnNsZXJwKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIHFtLnNsZXJwUXVhdGVybmlvbnMoIHFhLCBxYiwgdCApIGluc3RlYWQuIiksbi5zbGVycFF1YXRlcm5pb25zKHQsZSxvKX1zdGF0aWMgc2xlcnBGbGF0KHQsZSxuLG8saSxhLHIpe2xldCBzPW5bbyswXSxsPW5bbysxXSxjPW5bbysyXSxkPW5bbyszXTtjb25zdCBwPWlbYSswXSxtPWlbYSsxXSxmPWlbYSsyXSx1PWlbYSszXTtpZigwPT09cilyZXR1cm4gdFtlKzBdPXMsdFtlKzFdPWwsdFtlKzJdPWMsdm9pZCh0W2UrM109ZCk7aWYoMT09PXIpcmV0dXJuIHRbZSswXT1wLHRbZSsxXT1tLHRbZSsyXT1mLHZvaWQodFtlKzNdPXUpO2lmKGQhPT11fHxzIT09cHx8bCE9PW18fGMhPT1mKXtsZXQgdD0xLXI7Y29uc3QgZT1zKnArbCptK2MqZitkKnUsbj1lPj0wPzE6LTEsbz0xLWUqZTtpZihvPk51bWJlci5FUFNJTE9OKXtjb25zdCBpPU1hdGguc3FydChvKSxhPU1hdGguYXRhbjIoaSxlKm4pO3Q9TWF0aC5zaW4odCphKS9pLHI9TWF0aC5zaW4ociphKS9pfWNvbnN0IGk9cipuO2lmKHM9cyp0K3AqaSxsPWwqdCttKmksYz1jKnQrZippLGQ9ZCp0K3UqaSx0PT09MS1yKXtjb25zdCB0PTEvTWF0aC5zcXJ0KHMqcytsKmwrYypjK2QqZCk7cyo9dCxsKj10LGMqPXQsZCo9dH19dFtlXT1zLHRbZSsxXT1sLHRbZSsyXT1jLHRbZSszXT1kfXN0YXRpYyBtdWx0aXBseVF1YXRlcm5pb25zRmxhdCh0LGUsbixvLGksYSl7Y29uc3Qgcj1uW29dLHM9bltvKzFdLGw9bltvKzJdLGM9bltvKzNdLGQ9aVthXSxwPWlbYSsxXSxtPWlbYSsyXSxmPWlbYSszXTtyZXR1cm4gdFtlXT1yKmYrYypkK3MqbS1sKnAsdFtlKzFdPXMqZitjKnArbCpkLXIqbSx0W2UrMl09bCpmK2MqbStyKnAtcypkLHRbZSszXT1jKmYtcipkLXMqcC1sKm0sdH1nZXQgeCgpe3JldHVybiB0aGlzLl94fXNldCB4KHQpe3RoaXMuX3g9dCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9Z2V0IHkoKXtyZXR1cm4gdGhpcy5feX1zZXQgeSh0KXt0aGlzLl95PXQsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpfWdldCB6KCl7cmV0dXJuIHRoaXMuX3p9c2V0IHoodCl7dGhpcy5fej10LHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX1nZXQgdygpe3JldHVybiB0aGlzLl93fXNldCB3KHQpe3RoaXMuX3c9dCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9c2V0KHQsZSxuLG8pe3JldHVybiB0aGlzLl94PXQsdGhpcy5feT1lLHRoaXMuX3o9bix0aGlzLl93PW8sdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5feCx0aGlzLl95LHRoaXMuX3osdGhpcy5fdyl9Y29weSh0KXtyZXR1cm4gdGhpcy5feD10LngsdGhpcy5feT10LnksdGhpcy5fej10LnosdGhpcy5fdz10LncsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9c2V0RnJvbUV1bGVyKHQsZSl7aWYoIXR8fCF0LmlzRXVsZXIpdGhyb3cgbmV3IEVycm9yKCJUSFJFRS5RdWF0ZXJuaW9uOiAuc2V0RnJvbUV1bGVyKCkgbm93IGV4cGVjdHMgYW4gRXVsZXIgcm90YXRpb24gcmF0aGVyIHRoYW4gYSBWZWN0b3IzIGFuZCBvcmRlci4iKTtjb25zdCBuPXQuX3gsbz10Ll95LGk9dC5feixhPXQuX29yZGVyLHI9TWF0aC5jb3Mscz1NYXRoLnNpbixsPXIobi8yKSxjPXIoby8yKSxkPXIoaS8yKSxwPXMobi8yKSxtPXMoby8yKSxmPXMoaS8yKTtzd2l0Y2goYSl7Y2FzZSJYWVoiOnRoaXMuX3g9cCpjKmQrbCptKmYsdGhpcy5feT1sKm0qZC1wKmMqZix0aGlzLl96PWwqYypmK3AqbSpkLHRoaXMuX3c9bCpjKmQtcCptKmY7YnJlYWs7Y2FzZSJZWFoiOnRoaXMuX3g9cCpjKmQrbCptKmYsdGhpcy5feT1sKm0qZC1wKmMqZix0aGlzLl96PWwqYypmLXAqbSpkLHRoaXMuX3c9bCpjKmQrcCptKmY7YnJlYWs7Y2FzZSJaWFkiOnRoaXMuX3g9cCpjKmQtbCptKmYsdGhpcy5feT1sKm0qZCtwKmMqZix0aGlzLl96PWwqYypmK3AqbSpkLHRoaXMuX3c9bCpjKmQtcCptKmY7YnJlYWs7Y2FzZSJaWVgiOnRoaXMuX3g9cCpjKmQtbCptKmYsdGhpcy5feT1sKm0qZCtwKmMqZix0aGlzLl96PWwqYypmLXAqbSpkLHRoaXMuX3c9bCpjKmQrcCptKmY7YnJlYWs7Y2FzZSJZWlgiOnRoaXMuX3g9cCpjKmQrbCptKmYsdGhpcy5feT1sKm0qZCtwKmMqZix0aGlzLl96PWwqYypmLXAqbSpkLHRoaXMuX3c9bCpjKmQtcCptKmY7YnJlYWs7Y2FzZSJYWlkiOnRoaXMuX3g9cCpjKmQtbCptKmYsdGhpcy5feT1sKm0qZC1wKmMqZix0aGlzLl96PWwqYypmK3AqbSpkLHRoaXMuX3c9bCpjKmQrcCptKmY7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLndhcm4oIlRIUkVFLlF1YXRlcm5pb246IC5zZXRGcm9tRXVsZXIoKSBlbmNvdW50ZXJlZCBhbiB1bmtub3duIG9yZGVyOiAiK2EpfXJldHVybiExIT09ZSYmdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9c2V0RnJvbUF4aXNBbmdsZSh0LGUpe2NvbnN0IG49ZS8yLG89TWF0aC5zaW4obik7cmV0dXJuIHRoaXMuX3g9dC54Km8sdGhpcy5feT10Lnkqbyx0aGlzLl96PXQueipvLHRoaXMuX3c9TWF0aC5jb3MobiksdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9c2V0RnJvbVJvdGF0aW9uTWF0cml4KHQpe2NvbnN0IGU9dC5lbGVtZW50cyxuPWVbMF0sbz1lWzRdLGk9ZVs4XSxhPWVbMV0scj1lWzVdLHM9ZVs5XSxsPWVbMl0sYz1lWzZdLGQ9ZVsxMF0scD1uK3IrZDtpZihwPjApe2NvbnN0IHQ9LjUvTWF0aC5zcXJ0KHArMSk7dGhpcy5fdz0uMjUvdCx0aGlzLl94PShjLXMpKnQsdGhpcy5feT0oaS1sKSp0LHRoaXMuX3o9KGEtbykqdH1lbHNlIGlmKG4+ciYmbj5kKXtjb25zdCB0PTIqTWF0aC5zcXJ0KDErbi1yLWQpO3RoaXMuX3c9KGMtcykvdCx0aGlzLl94PS4yNSp0LHRoaXMuX3k9KG8rYSkvdCx0aGlzLl96PShpK2wpL3R9ZWxzZSBpZihyPmQpe2NvbnN0IHQ9MipNYXRoLnNxcnQoMStyLW4tZCk7dGhpcy5fdz0oaS1sKS90LHRoaXMuX3g9KG8rYSkvdCx0aGlzLl95PS4yNSp0LHRoaXMuX3o9KHMrYykvdH1lbHNle2NvbnN0IHQ9MipNYXRoLnNxcnQoMStkLW4tcik7dGhpcy5fdz0oYS1vKS90LHRoaXMuX3g9KGkrbCkvdCx0aGlzLl95PShzK2MpL3QsdGhpcy5fej0uMjUqdH1yZXR1cm4gdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9c2V0RnJvbVVuaXRWZWN0b3JzKHQsZSl7bGV0IG49dC5kb3QoZSkrMTtyZXR1cm4gbjxOdW1iZXIuRVBTSUxPTj8obj0wLE1hdGguYWJzKHQueCk+TWF0aC5hYnModC56KT8odGhpcy5feD0tdC55LHRoaXMuX3k9dC54LHRoaXMuX3o9MCx0aGlzLl93PW4pOih0aGlzLl94PTAsdGhpcy5feT0tdC56LHRoaXMuX3o9dC55LHRoaXMuX3c9bikpOih0aGlzLl94PXQueSplLnotdC56KmUueSx0aGlzLl95PXQueiplLngtdC54KmUueix0aGlzLl96PXQueCplLnktdC55KmUueCx0aGlzLl93PW4pLHRoaXMubm9ybWFsaXplKCl9YW5nbGVUbyh0KXtyZXR1cm4gMipNYXRoLmFjb3MoTWF0aC5hYnMocHN0KHRoaXMuZG90KHQpLC0xLDEpKSl9cm90YXRlVG93YXJkcyh0LGUpe2NvbnN0IG49dGhpcy5hbmdsZVRvKHQpO2lmKDA9PT1uKXJldHVybiB0aGlzO2NvbnN0IG89TWF0aC5taW4oMSxlL24pO3JldHVybiB0aGlzLnNsZXJwKHQsbyksdGhpc31pZGVudGl0eSgpe3JldHVybiB0aGlzLnNldCgwLDAsMCwxKX1pbnZlcnQoKXtyZXR1cm4gdGhpcy5jb25qdWdhdGUoKX1jb25qdWdhdGUoKXtyZXR1cm4gdGhpcy5feCo9LTEsdGhpcy5feSo9LTEsdGhpcy5feio9LTEsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9ZG90KHQpe3JldHVybiB0aGlzLl94KnQuX3grdGhpcy5feSp0Ll95K3RoaXMuX3oqdC5feit0aGlzLl93KnQuX3d9bGVuZ3RoU3EoKXtyZXR1cm4gdGhpcy5feCp0aGlzLl94K3RoaXMuX3kqdGhpcy5feSt0aGlzLl96KnRoaXMuX3ordGhpcy5fdyp0aGlzLl93fWxlbmd0aCgpe3JldHVybiBNYXRoLnNxcnQodGhpcy5feCp0aGlzLl94K3RoaXMuX3kqdGhpcy5feSt0aGlzLl96KnRoaXMuX3ordGhpcy5fdyp0aGlzLl93KX1ub3JtYWxpemUoKXtsZXQgdD10aGlzLmxlbmd0aCgpO3JldHVybiAwPT09dD8odGhpcy5feD0wLHRoaXMuX3k9MCx0aGlzLl96PTAsdGhpcy5fdz0xKToodD0xL3QsdGhpcy5feD10aGlzLl94KnQsdGhpcy5feT10aGlzLl95KnQsdGhpcy5fej10aGlzLl96KnQsdGhpcy5fdz10aGlzLl93KnQpLHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKSx0aGlzfW11bHRpcGx5KHQsZSl7cmV0dXJuIHZvaWQgMCE9PWU/KGNvbnNvbGUud2FybigiVEhSRUUuUXVhdGVybmlvbjogLm11bHRpcGx5KCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAubXVsdGlwbHlRdWF0ZXJuaW9ucyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5tdWx0aXBseVF1YXRlcm5pb25zKHQsZSkpOnRoaXMubXVsdGlwbHlRdWF0ZXJuaW9ucyh0aGlzLHQpfXByZW11bHRpcGx5KHQpe3JldHVybiB0aGlzLm11bHRpcGx5UXVhdGVybmlvbnModCx0aGlzKX1tdWx0aXBseVF1YXRlcm5pb25zKHQsZSl7Y29uc3Qgbj10Ll94LG89dC5feSxpPXQuX3osYT10Ll93LHI9ZS5feCxzPWUuX3ksbD1lLl96LGM9ZS5fdztyZXR1cm4gdGhpcy5feD1uKmMrYSpyK28qbC1pKnMsdGhpcy5feT1vKmMrYSpzK2kqci1uKmwsdGhpcy5fej1pKmMrYSpsK24qcy1vKnIsdGhpcy5fdz1hKmMtbipyLW8qcy1pKmwsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9c2xlcnAodCxlKXtpZigwPT09ZSlyZXR1cm4gdGhpcztpZigxPT09ZSlyZXR1cm4gdGhpcy5jb3B5KHQpO2NvbnN0IG49dGhpcy5feCxvPXRoaXMuX3ksaT10aGlzLl96LGE9dGhpcy5fdztsZXQgcj1hKnQuX3crbip0Ll94K28qdC5feStpKnQuX3o7aWYocjwwPyh0aGlzLl93PS10Ll93LHRoaXMuX3g9LXQuX3gsdGhpcy5feT0tdC5feSx0aGlzLl96PS10Ll96LHI9LXIpOnRoaXMuY29weSh0KSxyPj0xKXJldHVybiB0aGlzLl93PWEsdGhpcy5feD1uLHRoaXMuX3k9byx0aGlzLl96PWksdGhpcztjb25zdCBzPTEtcipyO2lmKHM8PU51bWJlci5FUFNJTE9OKXtjb25zdCB0PTEtZTtyZXR1cm4gdGhpcy5fdz10KmErZSp0aGlzLl93LHRoaXMuX3g9dCpuK2UqdGhpcy5feCx0aGlzLl95PXQqbytlKnRoaXMuX3ksdGhpcy5fej10KmkrZSp0aGlzLl96LHRoaXMubm9ybWFsaXplKCksdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9Y29uc3QgbD1NYXRoLnNxcnQocyksYz1NYXRoLmF0YW4yKGwsciksZD1NYXRoLnNpbigoMS1lKSpjKS9sLHA9TWF0aC5zaW4oZSpjKS9sO3JldHVybiB0aGlzLl93PWEqZCt0aGlzLl93KnAsdGhpcy5feD1uKmQrdGhpcy5feCpwLHRoaXMuX3k9bypkK3RoaXMuX3kqcCx0aGlzLl96PWkqZCt0aGlzLl96KnAsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9c2xlcnBRdWF0ZXJuaW9ucyh0LGUsbil7dGhpcy5jb3B5KHQpLnNsZXJwKGUsbil9ZXF1YWxzKHQpe3JldHVybiB0Ll94PT09dGhpcy5feCYmdC5feT09PXRoaXMuX3kmJnQuX3o9PT10aGlzLl96JiZ0Ll93PT09dGhpcy5fd31mcm9tQXJyYXkodCxlPTApe3JldHVybiB0aGlzLl94PXRbZV0sdGhpcy5feT10W2UrMV0sdGhpcy5fej10W2UrMl0sdGhpcy5fdz10W2UrM10sdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpLHRoaXN9dG9BcnJheSh0PVtdLGU9MCl7cmV0dXJuIHRbZV09dGhpcy5feCx0W2UrMV09dGhpcy5feSx0W2UrMl09dGhpcy5feix0W2UrM109dGhpcy5fdyx0fWZyb21CdWZmZXJBdHRyaWJ1dGUodCxlKXtyZXR1cm4gdGhpcy5feD10LmdldFgoZSksdGhpcy5feT10LmdldFkoZSksdGhpcy5fej10LmdldFooZSksdGhpcy5fdz10LmdldFcoZSksdGhpc31fb25DaGFuZ2UodCl7cmV0dXJuIHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2s9dCx0aGlzfV9vbkNoYW5nZUNhbGxiYWNrKCl7fX1Qc3QucHJvdG90eXBlLmlzUXVhdGVybmlvbj0hMDtjbGFzcyB3c3R7Y29uc3RydWN0b3IodD0wLGU9MCxuPTApe3RoaXMueD10LHRoaXMueT1lLHRoaXMuej1ufXNldCh0LGUsbil7cmV0dXJuIHZvaWQgMD09PW4mJihuPXRoaXMueiksdGhpcy54PXQsdGhpcy55PWUsdGhpcy56PW4sdGhpc31zZXRTY2FsYXIodCl7cmV0dXJuIHRoaXMueD10LHRoaXMueT10LHRoaXMuej10LHRoaXN9c2V0WCh0KXtyZXR1cm4gdGhpcy54PXQsdGhpc31zZXRZKHQpe3JldHVybiB0aGlzLnk9dCx0aGlzfXNldFoodCl7cmV0dXJuIHRoaXMuej10LHRoaXN9c2V0Q29tcG9uZW50KHQsZSl7c3dpdGNoKHQpe2Nhc2UgMDp0aGlzLng9ZTticmVhaztjYXNlIDE6dGhpcy55PWU7YnJlYWs7Y2FzZSAyOnRoaXMuej1lO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJpbmRleCBpcyBvdXQgb2YgcmFuZ2U6ICIrdCl9cmV0dXJuIHRoaXN9Z2V0Q29tcG9uZW50KHQpe3N3aXRjaCh0KXtjYXNlIDA6cmV0dXJuIHRoaXMueDtjYXNlIDE6cmV0dXJuIHRoaXMueTtjYXNlIDI6cmV0dXJuIHRoaXMuejtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW5kZXggaXMgb3V0IG9mIHJhbmdlOiAiK3QpfX1jbG9uZSgpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLngsdGhpcy55LHRoaXMueil9Y29weSh0KXtyZXR1cm4gdGhpcy54PXQueCx0aGlzLnk9dC55LHRoaXMuej10LnosdGhpc31hZGQodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuYWRkKCkgbm93IG9ubHkgYWNjZXB0cyBvbmUgYXJndW1lbnQuIFVzZSAuYWRkVmVjdG9ycyggYSwgYiApIGluc3RlYWQuIiksdGhpcy5hZGRWZWN0b3JzKHQsZSkpOih0aGlzLngrPXQueCx0aGlzLnkrPXQueSx0aGlzLnorPXQueix0aGlzKX1hZGRTY2FsYXIodCl7cmV0dXJuIHRoaXMueCs9dCx0aGlzLnkrPXQsdGhpcy56Kz10LHRoaXN9YWRkVmVjdG9ycyh0LGUpe3JldHVybiB0aGlzLng9dC54K2UueCx0aGlzLnk9dC55K2UueSx0aGlzLno9dC56K2Uueix0aGlzfWFkZFNjYWxlZFZlY3Rvcih0LGUpe3JldHVybiB0aGlzLngrPXQueCplLHRoaXMueSs9dC55KmUsdGhpcy56Kz10LnoqZSx0aGlzfXN1Yih0LGUpe3JldHVybiB2b2lkIDAhPT1lPyhjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5zdWIoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5zdWJWZWN0b3JzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLnN1YlZlY3RvcnModCxlKSk6KHRoaXMueC09dC54LHRoaXMueS09dC55LHRoaXMuei09dC56LHRoaXMpfXN1YlNjYWxhcih0KXtyZXR1cm4gdGhpcy54LT10LHRoaXMueS09dCx0aGlzLnotPXQsdGhpc31zdWJWZWN0b3JzKHQsZSl7cmV0dXJuIHRoaXMueD10LngtZS54LHRoaXMueT10LnktZS55LHRoaXMuej10LnotZS56LHRoaXN9bXVsdGlwbHkodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAubXVsdGlwbHkoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5tdWx0aXBseVZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMubXVsdGlwbHlWZWN0b3JzKHQsZSkpOih0aGlzLngqPXQueCx0aGlzLnkqPXQueSx0aGlzLnoqPXQueix0aGlzKX1tdWx0aXBseVNjYWxhcih0KXtyZXR1cm4gdGhpcy54Kj10LHRoaXMueSo9dCx0aGlzLnoqPXQsdGhpc31tdWx0aXBseVZlY3RvcnModCxlKXtyZXR1cm4gdGhpcy54PXQueCplLngsdGhpcy55PXQueSplLnksdGhpcy56PXQueiplLnosdGhpc31hcHBseUV1bGVyKHQpe3JldHVybiB0JiZ0LmlzRXVsZXJ8fGNvbnNvbGUuZXJyb3IoIlRIUkVFLlZlY3RvcjM6IC5hcHBseUV1bGVyKCkgbm93IGV4cGVjdHMgYW4gRXVsZXIgcm90YXRpb24gcmF0aGVyIHRoYW4gYSBWZWN0b3IzIGFuZCBvcmRlci4iKSx0aGlzLmFwcGx5UXVhdGVybmlvbihTc3Quc2V0RnJvbUV1bGVyKHQpKX1hcHBseUF4aXNBbmdsZSh0LGUpe3JldHVybiB0aGlzLmFwcGx5UXVhdGVybmlvbihTc3Quc2V0RnJvbUF4aXNBbmdsZSh0LGUpKX1hcHBseU1hdHJpeDModCl7Y29uc3QgZT10aGlzLngsbj10aGlzLnksbz10aGlzLnosaT10LmVsZW1lbnRzO3JldHVybiB0aGlzLng9aVswXSplK2lbM10qbitpWzZdKm8sdGhpcy55PWlbMV0qZStpWzRdKm4raVs3XSpvLHRoaXMuej1pWzJdKmUraVs1XSpuK2lbOF0qbyx0aGlzfWFwcGx5Tm9ybWFsTWF0cml4KHQpe3JldHVybiB0aGlzLmFwcGx5TWF0cml4Myh0KS5ub3JtYWxpemUoKX1hcHBseU1hdHJpeDQodCl7Y29uc3QgZT10aGlzLngsbj10aGlzLnksbz10aGlzLnosaT10LmVsZW1lbnRzLGE9MS8oaVszXSplK2lbN10qbitpWzExXSpvK2lbMTVdKTtyZXR1cm4gdGhpcy54PShpWzBdKmUraVs0XSpuK2lbOF0qbytpWzEyXSkqYSx0aGlzLnk9KGlbMV0qZStpWzVdKm4raVs5XSpvK2lbMTNdKSphLHRoaXMuej0oaVsyXSplK2lbNl0qbitpWzEwXSpvK2lbMTRdKSphLHRoaXN9YXBwbHlRdWF0ZXJuaW9uKHQpe2NvbnN0IGU9dGhpcy54LG49dGhpcy55LG89dGhpcy56LGk9dC54LGE9dC55LHI9dC56LHM9dC53LGw9cyplK2Eqby1yKm4sYz1zKm4rciplLWkqbyxkPXMqbytpKm4tYSplLHA9LWkqZS1hKm4tcipvO3JldHVybiB0aGlzLng9bCpzK3AqLWkrYyotci1kKi1hLHRoaXMueT1jKnMrcCotYStkKi1pLWwqLXIsdGhpcy56PWQqcytwKi1yK2wqLWEtYyotaSx0aGlzfXByb2plY3QodCl7cmV0dXJuIHRoaXMuYXBwbHlNYXRyaXg0KHQubWF0cml4V29ybGRJbnZlcnNlKS5hcHBseU1hdHJpeDQodC5wcm9qZWN0aW9uTWF0cml4KX11bnByb2plY3QodCl7cmV0dXJuIHRoaXMuYXBwbHlNYXRyaXg0KHQucHJvamVjdGlvbk1hdHJpeEludmVyc2UpLmFwcGx5TWF0cml4NCh0Lm1hdHJpeFdvcmxkKX10cmFuc2Zvcm1EaXJlY3Rpb24odCl7Y29uc3QgZT10aGlzLngsbj10aGlzLnksbz10aGlzLnosaT10LmVsZW1lbnRzO3JldHVybiB0aGlzLng9aVswXSplK2lbNF0qbitpWzhdKm8sdGhpcy55PWlbMV0qZStpWzVdKm4raVs5XSpvLHRoaXMuej1pWzJdKmUraVs2XSpuK2lbMTBdKm8sdGhpcy5ub3JtYWxpemUoKX1kaXZpZGUodCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXMuei89dC56LHRoaXN9ZGl2aWRlU2NhbGFyKHQpe3JldHVybiB0aGlzLm11bHRpcGx5U2NhbGFyKDEvdCl9bWluKHQpe3JldHVybiB0aGlzLng9TWF0aC5taW4odGhpcy54LHQueCksdGhpcy55PU1hdGgubWluKHRoaXMueSx0LnkpLHRoaXMuej1NYXRoLm1pbih0aGlzLnosdC56KSx0aGlzfW1heCh0KXtyZXR1cm4gdGhpcy54PU1hdGgubWF4KHRoaXMueCx0LngpLHRoaXMueT1NYXRoLm1heCh0aGlzLnksdC55KSx0aGlzLno9TWF0aC5tYXgodGhpcy56LHQueiksdGhpc31jbGFtcCh0LGUpe3JldHVybiB0aGlzLng9TWF0aC5tYXgodC54LE1hdGgubWluKGUueCx0aGlzLngpKSx0aGlzLnk9TWF0aC5tYXgodC55LE1hdGgubWluKGUueSx0aGlzLnkpKSx0aGlzLno9TWF0aC5tYXgodC56LE1hdGgubWluKGUueix0aGlzLnopKSx0aGlzfWNsYW1wU2NhbGFyKHQsZSl7cmV0dXJuIHRoaXMueD1NYXRoLm1heCh0LE1hdGgubWluKGUsdGhpcy54KSksdGhpcy55PU1hdGgubWF4KHQsTWF0aC5taW4oZSx0aGlzLnkpKSx0aGlzLno9TWF0aC5tYXgodCxNYXRoLm1pbihlLHRoaXMueikpLHRoaXN9Y2xhbXBMZW5ndGgodCxlKXtjb25zdCBuPXRoaXMubGVuZ3RoKCk7cmV0dXJuIHRoaXMuZGl2aWRlU2NhbGFyKG58fDEpLm11bHRpcGx5U2NhbGFyKE1hdGgubWF4KHQsTWF0aC5taW4oZSxuKSkpfWZsb29yKCl7cmV0dXJuIHRoaXMueD1NYXRoLmZsb29yKHRoaXMueCksdGhpcy55PU1hdGguZmxvb3IodGhpcy55KSx0aGlzLno9TWF0aC5mbG9vcih0aGlzLnopLHRoaXN9Y2VpbCgpe3JldHVybiB0aGlzLng9TWF0aC5jZWlsKHRoaXMueCksdGhpcy55PU1hdGguY2VpbCh0aGlzLnkpLHRoaXMuej1NYXRoLmNlaWwodGhpcy56KSx0aGlzfXJvdW5kKCl7cmV0dXJuIHRoaXMueD1NYXRoLnJvdW5kKHRoaXMueCksdGhpcy55PU1hdGgucm91bmQodGhpcy55KSx0aGlzLno9TWF0aC5yb3VuZCh0aGlzLnopLHRoaXN9cm91bmRUb1plcm8oKXtyZXR1cm4gdGhpcy54PXRoaXMueDwwP01hdGguY2VpbCh0aGlzLngpOk1hdGguZmxvb3IodGhpcy54KSx0aGlzLnk9dGhpcy55PDA/TWF0aC5jZWlsKHRoaXMueSk6TWF0aC5mbG9vcih0aGlzLnkpLHRoaXMuej10aGlzLno8MD9NYXRoLmNlaWwodGhpcy56KTpNYXRoLmZsb29yKHRoaXMueiksdGhpc31uZWdhdGUoKXtyZXR1cm4gdGhpcy54PS10aGlzLngsdGhpcy55PS10aGlzLnksdGhpcy56PS10aGlzLnosdGhpc31kb3QodCl7cmV0dXJuIHRoaXMueCp0LngrdGhpcy55KnQueSt0aGlzLnoqdC56fWxlbmd0aFNxKCl7cmV0dXJuIHRoaXMueCp0aGlzLngrdGhpcy55KnRoaXMueSt0aGlzLnoqdGhpcy56fWxlbmd0aCgpe3JldHVybiBNYXRoLnNxcnQodGhpcy54KnRoaXMueCt0aGlzLnkqdGhpcy55K3RoaXMueip0aGlzLnopfW1hbmhhdHRhbkxlbmd0aCgpe3JldHVybiBNYXRoLmFicyh0aGlzLngpK01hdGguYWJzKHRoaXMueSkrTWF0aC5hYnModGhpcy56KX1ub3JtYWxpemUoKXtyZXR1cm4gdGhpcy5kaXZpZGVTY2FsYXIodGhpcy5sZW5ndGgoKXx8MSl9c2V0TGVuZ3RoKHQpe3JldHVybiB0aGlzLm5vcm1hbGl6ZSgpLm11bHRpcGx5U2NhbGFyKHQpfWxlcnAodCxlKXtyZXR1cm4gdGhpcy54Kz0odC54LXRoaXMueCkqZSx0aGlzLnkrPSh0LnktdGhpcy55KSplLHRoaXMueis9KHQuei10aGlzLnopKmUsdGhpc31sZXJwVmVjdG9ycyh0LGUsbil7cmV0dXJuIHRoaXMueD10LngrKGUueC10LngpKm4sdGhpcy55PXQueSsoZS55LXQueSkqbix0aGlzLno9dC56KyhlLnotdC56KSpuLHRoaXN9Y3Jvc3ModCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuY3Jvc3MoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5jcm9zc1ZlY3RvcnMoIGEsIGIgKSBpbnN0ZWFkLiIpLHRoaXMuY3Jvc3NWZWN0b3JzKHQsZSkpOnRoaXMuY3Jvc3NWZWN0b3JzKHRoaXMsdCl9Y3Jvc3NWZWN0b3JzKHQsZSl7Y29uc3Qgbj10Lngsbz10LnksaT10LnosYT1lLngscj1lLnkscz1lLno7cmV0dXJuIHRoaXMueD1vKnMtaSpyLHRoaXMueT1pKmEtbipzLHRoaXMuej1uKnItbyphLHRoaXN9cHJvamVjdE9uVmVjdG9yKHQpe2NvbnN0IGU9dC5sZW5ndGhTcSgpO2lmKDA9PT1lKXJldHVybiB0aGlzLnNldCgwLDAsMCk7Y29uc3Qgbj10LmRvdCh0aGlzKS9lO3JldHVybiB0aGlzLmNvcHkodCkubXVsdGlwbHlTY2FsYXIobil9cHJvamVjdE9uUGxhbmUodCl7cmV0dXJuIGtzdC5jb3B5KHRoaXMpLnByb2plY3RPblZlY3Rvcih0KSx0aGlzLnN1Yihrc3QpfXJlZmxlY3QodCl7cmV0dXJuIHRoaXMuc3ViKGtzdC5jb3B5KHQpLm11bHRpcGx5U2NhbGFyKDIqdGhpcy5kb3QodCkpKX1hbmdsZVRvKHQpe2NvbnN0IGU9TWF0aC5zcXJ0KHRoaXMubGVuZ3RoU3EoKSp0Lmxlbmd0aFNxKCkpO2lmKDA9PT1lKXJldHVybiBNYXRoLlBJLzI7Y29uc3Qgbj10aGlzLmRvdCh0KS9lO3JldHVybiBNYXRoLmFjb3MocHN0KG4sLTEsMSkpfWRpc3RhbmNlVG8odCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlVG9TcXVhcmVkKHQpKX1kaXN0YW5jZVRvU3F1YXJlZCh0KXtjb25zdCBlPXRoaXMueC10Lngsbj10aGlzLnktdC55LG89dGhpcy56LXQuejtyZXR1cm4gZSplK24qbitvKm99bWFuaGF0dGFuRGlzdGFuY2VUbyh0KXtyZXR1cm4gTWF0aC5hYnModGhpcy54LXQueCkrTWF0aC5hYnModGhpcy55LXQueSkrTWF0aC5hYnModGhpcy56LXQueil9c2V0RnJvbVNwaGVyaWNhbCh0KXtyZXR1cm4gdGhpcy5zZXRGcm9tU3BoZXJpY2FsQ29vcmRzKHQucmFkaXVzLHQucGhpLHQudGhldGEpfXNldEZyb21TcGhlcmljYWxDb29yZHModCxlLG4pe2NvbnN0IG89TWF0aC5zaW4oZSkqdDtyZXR1cm4gdGhpcy54PW8qTWF0aC5zaW4obiksdGhpcy55PU1hdGguY29zKGUpKnQsdGhpcy56PW8qTWF0aC5jb3MobiksdGhpc31zZXRGcm9tQ3lsaW5kcmljYWwodCl7cmV0dXJuIHRoaXMuc2V0RnJvbUN5bGluZHJpY2FsQ29vcmRzKHQucmFkaXVzLHQudGhldGEsdC55KX1zZXRGcm9tQ3lsaW5kcmljYWxDb29yZHModCxlLG4pe3JldHVybiB0aGlzLng9dCpNYXRoLnNpbihlKSx0aGlzLnk9bix0aGlzLno9dCpNYXRoLmNvcyhlKSx0aGlzfXNldEZyb21NYXRyaXhQb3NpdGlvbih0KXtjb25zdCBlPXQuZWxlbWVudHM7cmV0dXJuIHRoaXMueD1lWzEyXSx0aGlzLnk9ZVsxM10sdGhpcy56PWVbMTRdLHRoaXN9c2V0RnJvbU1hdHJpeFNjYWxlKHQpe2NvbnN0IGU9dGhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKHQsMCkubGVuZ3RoKCksbj10aGlzLnNldEZyb21NYXRyaXhDb2x1bW4odCwxKS5sZW5ndGgoKSxvPXRoaXMuc2V0RnJvbU1hdHJpeENvbHVtbih0LDIpLmxlbmd0aCgpO3JldHVybiB0aGlzLng9ZSx0aGlzLnk9bix0aGlzLno9byx0aGlzfXNldEZyb21NYXRyaXhDb2x1bW4odCxlKXtyZXR1cm4gdGhpcy5mcm9tQXJyYXkodC5lbGVtZW50cyw0KmUpfXNldEZyb21NYXRyaXgzQ29sdW1uKHQsZSl7cmV0dXJuIHRoaXMuZnJvbUFycmF5KHQuZWxlbWVudHMsMyplKX1lcXVhbHModCl7cmV0dXJuIHQueD09PXRoaXMueCYmdC55PT09dGhpcy55JiZ0Lno9PT10aGlzLnp9ZnJvbUFycmF5KHQsZT0wKXtyZXR1cm4gdGhpcy54PXRbZV0sdGhpcy55PXRbZSsxXSx0aGlzLno9dFtlKzJdLHRoaXN9dG9BcnJheSh0PVtdLGU9MCl7cmV0dXJuIHRbZV09dGhpcy54LHRbZSsxXT10aGlzLnksdFtlKzJdPXRoaXMueix0fWZyb21CdWZmZXJBdHRyaWJ1dGUodCxlLG4pe3JldHVybiB2b2lkIDAhPT1uJiZjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IG9mZnNldCBoYXMgYmVlbiByZW1vdmVkIGZyb20gLmZyb21CdWZmZXJBdHRyaWJ1dGUoKS4iKSx0aGlzLng9dC5nZXRYKGUpLHRoaXMueT10LmdldFkoZSksdGhpcy56PXQuZ2V0WihlKSx0aGlzfXJhbmRvbSgpe3JldHVybiB0aGlzLng9TWF0aC5yYW5kb20oKSx0aGlzLnk9TWF0aC5yYW5kb20oKSx0aGlzLno9TWF0aC5yYW5kb20oKSx0aGlzfX13c3QucHJvdG90eXBlLmlzVmVjdG9yMz0hMDtjb25zdCBrc3Q9bmV3IHdzdCxTc3Q9bmV3IFBzdDtjbGFzcyBEc3R7Y29uc3RydWN0b3IodD1uZXcgd3N0KDEvMCwxLzAsMS8wKSxlPW5ldyB3c3QoLTEvMCwtMS8wLC0xLzApKXt0aGlzLm1pbj10LHRoaXMubWF4PWV9c2V0KHQsZSl7cmV0dXJuIHRoaXMubWluLmNvcHkodCksdGhpcy5tYXguY29weShlKSx0aGlzfXNldEZyb21BcnJheSh0KXtsZXQgZT0xLzAsbj0xLzAsbz0xLzAsaT0tMS8wLGE9LTEvMCxyPS0xLzA7Zm9yKGxldCBzPTAsbD10Lmxlbmd0aDtzPGw7cys9Myl7Y29uc3QgbD10W3NdLGM9dFtzKzFdLGQ9dFtzKzJdO2w8ZSYmKGU9bCksYzxuJiYobj1jKSxkPG8mJihvPWQpLGw+aSYmKGk9bCksYz5hJiYoYT1jKSxkPnImJihyPWQpfXJldHVybiB0aGlzLm1pbi5zZXQoZSxuLG8pLHRoaXMubWF4LnNldChpLGEsciksdGhpc31zZXRGcm9tQnVmZmVyQXR0cmlidXRlKHQpe2xldCBlPTEvMCxuPTEvMCxvPTEvMCxpPS0xLzAsYT0tMS8wLHI9LTEvMDtmb3IobGV0IHM9MCxsPXQuY291bnQ7czxsO3MrKyl7Y29uc3QgbD10LmdldFgocyksYz10LmdldFkocyksZD10LmdldFoocyk7bDxlJiYoZT1sKSxjPG4mJihuPWMpLGQ8byYmKG89ZCksbD5pJiYoaT1sKSxjPmEmJihhPWMpLGQ+ciYmKHI9ZCl9cmV0dXJuIHRoaXMubWluLnNldChlLG4sbyksdGhpcy5tYXguc2V0KGksYSxyKSx0aGlzfXNldEZyb21Qb2ludHModCl7dGhpcy5tYWtlRW1wdHkoKTtmb3IobGV0IGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspdGhpcy5leHBhbmRCeVBvaW50KHRbZV0pO3JldHVybiB0aGlzfXNldEZyb21DZW50ZXJBbmRTaXplKHQsZSl7Y29uc3Qgbj1Fc3QuY29weShlKS5tdWx0aXBseVNjYWxhciguNSk7cmV0dXJuIHRoaXMubWluLmNvcHkodCkuc3ViKG4pLHRoaXMubWF4LmNvcHkodCkuYWRkKG4pLHRoaXN9c2V0RnJvbU9iamVjdCh0KXtyZXR1cm4gdGhpcy5tYWtlRW1wdHkoKSx0aGlzLmV4cGFuZEJ5T2JqZWN0KHQpfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfWNvcHkodCl7cmV0dXJuIHRoaXMubWluLmNvcHkodC5taW4pLHRoaXMubWF4LmNvcHkodC5tYXgpLHRoaXN9bWFrZUVtcHR5KCl7cmV0dXJuIHRoaXMubWluLng9dGhpcy5taW4ueT10aGlzLm1pbi56PTEvMCx0aGlzLm1heC54PXRoaXMubWF4Lnk9dGhpcy5tYXguej0tMS8wLHRoaXN9aXNFbXB0eSgpe3JldHVybiB0aGlzLm1heC54PHRoaXMubWluLnh8fHRoaXMubWF4Lnk8dGhpcy5taW4ueXx8dGhpcy5tYXguejx0aGlzLm1pbi56fWdldENlbnRlcih0KXtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/dC5zZXQoMCwwLDApOnQuYWRkVmVjdG9ycyh0aGlzLm1pbix0aGlzLm1heCkubXVsdGlwbHlTY2FsYXIoLjUpfWdldFNpemUodCl7cmV0dXJuIHRoaXMuaXNFbXB0eSgpP3Quc2V0KDAsMCwwKTp0LnN1YlZlY3RvcnModGhpcy5tYXgsdGhpcy5taW4pfWV4cGFuZEJ5UG9pbnQodCl7cmV0dXJuIHRoaXMubWluLm1pbih0KSx0aGlzLm1heC5tYXgodCksdGhpc31leHBhbmRCeVZlY3Rvcih0KXtyZXR1cm4gdGhpcy5taW4uc3ViKHQpLHRoaXMubWF4LmFkZCh0KSx0aGlzfWV4cGFuZEJ5U2NhbGFyKHQpe3JldHVybiB0aGlzLm1pbi5hZGRTY2FsYXIoLXQpLHRoaXMubWF4LmFkZFNjYWxhcih0KSx0aGlzfWV4cGFuZEJ5T2JqZWN0KHQpe3QudXBkYXRlV29ybGRNYXRyaXgoITEsITEpO2NvbnN0IGU9dC5nZW9tZXRyeTt2b2lkIDAhPT1lJiYobnVsbD09PWUuYm91bmRpbmdCb3gmJmUuY29tcHV0ZUJvdW5kaW5nQm94KCksQXN0LmNvcHkoZS5ib3VuZGluZ0JveCksQXN0LmFwcGx5TWF0cml4NCh0Lm1hdHJpeFdvcmxkKSx0aGlzLnVuaW9uKEFzdCkpO2NvbnN0IG49dC5jaGlsZHJlbjtmb3IobGV0IHQ9MCxlPW4ubGVuZ3RoO3Q8ZTt0KyspdGhpcy5leHBhbmRCeU9iamVjdChuW3RdKTtyZXR1cm4gdGhpc31jb250YWluc1BvaW50KHQpe3JldHVybiEodC54PHRoaXMubWluLnh8fHQueD50aGlzLm1heC54fHx0Lnk8dGhpcy5taW4ueXx8dC55PnRoaXMubWF4Lnl8fHQuejx0aGlzLm1pbi56fHx0Lno+dGhpcy5tYXgueil9Y29udGFpbnNCb3godCl7cmV0dXJuIHRoaXMubWluLng8PXQubWluLngmJnQubWF4Lng8PXRoaXMubWF4LngmJnRoaXMubWluLnk8PXQubWluLnkmJnQubWF4Lnk8PXRoaXMubWF4LnkmJnRoaXMubWluLno8PXQubWluLnomJnQubWF4Lno8PXRoaXMubWF4Lnp9Z2V0UGFyYW1ldGVyKHQsZSl7cmV0dXJuIGUuc2V0KCh0LngtdGhpcy5taW4ueCkvKHRoaXMubWF4LngtdGhpcy5taW4ueCksKHQueS10aGlzLm1pbi55KS8odGhpcy5tYXgueS10aGlzLm1pbi55KSwodC56LXRoaXMubWluLnopLyh0aGlzLm1heC56LXRoaXMubWluLnopKX1pbnRlcnNlY3RzQm94KHQpe3JldHVybiEodC5tYXgueDx0aGlzLm1pbi54fHx0Lm1pbi54PnRoaXMubWF4Lnh8fHQubWF4Lnk8dGhpcy5taW4ueXx8dC5taW4ueT50aGlzLm1heC55fHx0Lm1heC56PHRoaXMubWluLnp8fHQubWluLno+dGhpcy5tYXgueil9aW50ZXJzZWN0c1NwaGVyZSh0KXtyZXR1cm4gdGhpcy5jbGFtcFBvaW50KHQuY2VudGVyLEVzdCksRXN0LmRpc3RhbmNlVG9TcXVhcmVkKHQuY2VudGVyKTw9dC5yYWRpdXMqdC5yYWRpdXN9aW50ZXJzZWN0c1BsYW5lKHQpe2xldCBlLG47cmV0dXJuIHQubm9ybWFsLng+MD8oZT10Lm5vcm1hbC54KnRoaXMubWluLngsbj10Lm5vcm1hbC54KnRoaXMubWF4LngpOihlPXQubm9ybWFsLngqdGhpcy5tYXgueCxuPXQubm9ybWFsLngqdGhpcy5taW4ueCksdC5ub3JtYWwueT4wPyhlKz10Lm5vcm1hbC55KnRoaXMubWluLnksbis9dC5ub3JtYWwueSp0aGlzLm1heC55KTooZSs9dC5ub3JtYWwueSp0aGlzLm1heC55LG4rPXQubm9ybWFsLnkqdGhpcy5taW4ueSksdC5ub3JtYWwuej4wPyhlKz10Lm5vcm1hbC56KnRoaXMubWluLnosbis9dC5ub3JtYWwueip0aGlzLm1heC56KTooZSs9dC5ub3JtYWwueip0aGlzLm1heC56LG4rPXQubm9ybWFsLnoqdGhpcy5taW4ueiksZTw9LXQuY29uc3RhbnQmJm4+PS10LmNvbnN0YW50fWludGVyc2VjdHNUcmlhbmdsZSh0KXtpZih0aGlzLmlzRW1wdHkoKSlyZXR1cm4hMTt0aGlzLmdldENlbnRlcihMc3QpLEJzdC5zdWJWZWN0b3JzKHRoaXMubWF4LExzdCksVHN0LnN1YlZlY3RvcnModC5hLExzdCksTnN0LnN1YlZlY3RvcnModC5iLExzdCksenN0LnN1YlZlY3RvcnModC5jLExzdCksSXN0LnN1YlZlY3RvcnMoTnN0LFRzdCksSHN0LnN1YlZlY3RvcnMoenN0LE5zdCksRnN0LnN1YlZlY3RvcnMoVHN0LHpzdCk7bGV0IGU9WzAsLUlzdC56LElzdC55LDAsLUhzdC56LEhzdC55LDAsLUZzdC56LEZzdC55LElzdC56LDAsLUlzdC54LEhzdC56LDAsLUhzdC54LEZzdC56LDAsLUZzdC54LC1Jc3QueSxJc3QueCwwLC1Ic3QueSxIc3QueCwwLC1Gc3QueSxGc3QueCwwXTtyZXR1cm4hIVVzdChlLFRzdCxOc3QsenN0LEJzdCkmJihlPVsxLDAsMCwwLDEsMCwwLDAsMV0sISFVc3QoZSxUc3QsTnN0LHpzdCxCc3QpJiYoVnN0LmNyb3NzVmVjdG9ycyhJc3QsSHN0KSxlPVtWc3QueCxWc3QueSxWc3Quel0sVXN0KGUsVHN0LE5zdCx6c3QsQnN0KSkpfWNsYW1wUG9pbnQodCxlKXtyZXR1cm4gZS5jb3B5KHQpLmNsYW1wKHRoaXMubWluLHRoaXMubWF4KX1kaXN0YW5jZVRvUG9pbnQodCl7cmV0dXJuIEVzdC5jb3B5KHQpLmNsYW1wKHRoaXMubWluLHRoaXMubWF4KS5zdWIodCkubGVuZ3RoKCl9Z2V0Qm91bmRpbmdTcGhlcmUodCl7cmV0dXJuIHRoaXMuZ2V0Q2VudGVyKHQuY2VudGVyKSx0LnJhZGl1cz0uNSp0aGlzLmdldFNpemUoRXN0KS5sZW5ndGgoKSx0fWludGVyc2VjdCh0KXtyZXR1cm4gdGhpcy5taW4ubWF4KHQubWluKSx0aGlzLm1heC5taW4odC5tYXgpLHRoaXMuaXNFbXB0eSgpJiZ0aGlzLm1ha2VFbXB0eSgpLHRoaXN9dW5pb24odCl7cmV0dXJuIHRoaXMubWluLm1pbih0Lm1pbiksdGhpcy5tYXgubWF4KHQubWF4KSx0aGlzfWFwcGx5TWF0cml4NCh0KXtyZXR1cm4gdGhpcy5pc0VtcHR5KCl8fChSc3RbMF0uc2V0KHRoaXMubWluLngsdGhpcy5taW4ueSx0aGlzLm1pbi56KS5hcHBseU1hdHJpeDQodCksUnN0WzFdLnNldCh0aGlzLm1pbi54LHRoaXMubWluLnksdGhpcy5tYXgueikuYXBwbHlNYXRyaXg0KHQpLFJzdFsyXS5zZXQodGhpcy5taW4ueCx0aGlzLm1heC55LHRoaXMubWluLnopLmFwcGx5TWF0cml4NCh0KSxSc3RbM10uc2V0KHRoaXMubWluLngsdGhpcy5tYXgueSx0aGlzLm1heC56KS5hcHBseU1hdHJpeDQodCksUnN0WzRdLnNldCh0aGlzLm1heC54LHRoaXMubWluLnksdGhpcy5taW4ueikuYXBwbHlNYXRyaXg0KHQpLFJzdFs1XS5zZXQodGhpcy5tYXgueCx0aGlzLm1pbi55LHRoaXMubWF4LnopLmFwcGx5TWF0cml4NCh0KSxSc3RbNl0uc2V0KHRoaXMubWF4LngsdGhpcy5tYXgueSx0aGlzLm1pbi56KS5hcHBseU1hdHJpeDQodCksUnN0WzddLnNldCh0aGlzLm1heC54LHRoaXMubWF4LnksdGhpcy5tYXgueikuYXBwbHlNYXRyaXg0KHQpLHRoaXMuc2V0RnJvbVBvaW50cyhSc3QpKSx0aGlzfXRyYW5zbGF0ZSh0KXtyZXR1cm4gdGhpcy5taW4uYWRkKHQpLHRoaXMubWF4LmFkZCh0KSx0aGlzfWVxdWFscyh0KXtyZXR1cm4gdC5taW4uZXF1YWxzKHRoaXMubWluKSYmdC5tYXguZXF1YWxzKHRoaXMubWF4KX19RHN0LnByb3RvdHlwZS5pc0JveDM9ITA7Y29uc3QgUnN0PVtuZXcgd3N0LG5ldyB3c3QsbmV3IHdzdCxuZXcgd3N0LG5ldyB3c3QsbmV3IHdzdCxuZXcgd3N0LG5ldyB3c3RdLEVzdD1uZXcgd3N0LEFzdD1uZXcgRHN0LFRzdD1uZXcgd3N0LE5zdD1uZXcgd3N0LHpzdD1uZXcgd3N0LElzdD1uZXcgd3N0LEhzdD1uZXcgd3N0LEZzdD1uZXcgd3N0LExzdD1uZXcgd3N0LEJzdD1uZXcgd3N0LFZzdD1uZXcgd3N0LGpzdD1uZXcgd3N0O2Z1bmN0aW9uIFVzdCh0LGUsbixvLGkpe2ZvcihsZXQgYT0wLHI9dC5sZW5ndGgtMzthPD1yO2ErPTMpe2pzdC5mcm9tQXJyYXkodCxhKTtjb25zdCByPWkueCpNYXRoLmFicyhqc3QueCkraS55Kk1hdGguYWJzKGpzdC55KStpLnoqTWF0aC5hYnMoanN0LnopLHM9ZS5kb3QoanN0KSxsPW4uZG90KGpzdCksYz1vLmRvdChqc3QpO2lmKE1hdGgubWF4KC1NYXRoLm1heChzLGwsYyksTWF0aC5taW4ocyxsLGMpKT5yKXJldHVybiExfXJldHVybiEwfWNvbnN0IFdzdD1uZXcgRHN0LEdzdD1uZXcgd3N0LFlzdD1uZXcgd3N0LHFzdD1uZXcgd3N0O2NsYXNzIFpzdHtjb25zdHJ1Y3Rvcih0PW5ldyB3c3QsZT0tMSl7dGhpcy5jZW50ZXI9dCx0aGlzLnJhZGl1cz1lfXNldCh0LGUpe3JldHVybiB0aGlzLmNlbnRlci5jb3B5KHQpLHRoaXMucmFkaXVzPWUsdGhpc31zZXRGcm9tUG9pbnRzKHQsZSl7Y29uc3Qgbj10aGlzLmNlbnRlcjt2b2lkIDAhPT1lP24uY29weShlKTpXc3Quc2V0RnJvbVBvaW50cyh0KS5nZXRDZW50ZXIobik7bGV0IG89MDtmb3IobGV0IGU9MCxpPXQubGVuZ3RoO2U8aTtlKyspbz1NYXRoLm1heChvLG4uZGlzdGFuY2VUb1NxdWFyZWQodFtlXSkpO3JldHVybiB0aGlzLnJhZGl1cz1NYXRoLnNxcnQobyksdGhpc31jb3B5KHQpe3JldHVybiB0aGlzLmNlbnRlci5jb3B5KHQuY2VudGVyKSx0aGlzLnJhZGl1cz10LnJhZGl1cyx0aGlzfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5yYWRpdXM8MH1tYWtlRW1wdHkoKXtyZXR1cm4gdGhpcy5jZW50ZXIuc2V0KDAsMCwwKSx0aGlzLnJhZGl1cz0tMSx0aGlzfWNvbnRhaW5zUG9pbnQodCl7cmV0dXJuIHQuZGlzdGFuY2VUb1NxdWFyZWQodGhpcy5jZW50ZXIpPD10aGlzLnJhZGl1cyp0aGlzLnJhZGl1c31kaXN0YW5jZVRvUG9pbnQodCl7cmV0dXJuIHQuZGlzdGFuY2VUbyh0aGlzLmNlbnRlciktdGhpcy5yYWRpdXN9aW50ZXJzZWN0c1NwaGVyZSh0KXtjb25zdCBlPXRoaXMucmFkaXVzK3QucmFkaXVzO3JldHVybiB0LmNlbnRlci5kaXN0YW5jZVRvU3F1YXJlZCh0aGlzLmNlbnRlcik8PWUqZX1pbnRlcnNlY3RzQm94KHQpe3JldHVybiB0LmludGVyc2VjdHNTcGhlcmUodGhpcyl9aW50ZXJzZWN0c1BsYW5lKHQpe3JldHVybiBNYXRoLmFicyh0LmRpc3RhbmNlVG9Qb2ludCh0aGlzLmNlbnRlcikpPD10aGlzLnJhZGl1c31jbGFtcFBvaW50KHQsZSl7Y29uc3Qgbj10aGlzLmNlbnRlci5kaXN0YW5jZVRvU3F1YXJlZCh0KTtyZXR1cm4gZS5jb3B5KHQpLG4+dGhpcy5yYWRpdXMqdGhpcy5yYWRpdXMmJihlLnN1Yih0aGlzLmNlbnRlcikubm9ybWFsaXplKCksZS5tdWx0aXBseVNjYWxhcih0aGlzLnJhZGl1cykuYWRkKHRoaXMuY2VudGVyKSksZX1nZXRCb3VuZGluZ0JveCh0KXtyZXR1cm4gdGhpcy5pc0VtcHR5KCk/KHQubWFrZUVtcHR5KCksdCk6KHQuc2V0KHRoaXMuY2VudGVyLHRoaXMuY2VudGVyKSx0LmV4cGFuZEJ5U2NhbGFyKHRoaXMucmFkaXVzKSx0KX1hcHBseU1hdHJpeDQodCl7cmV0dXJuIHRoaXMuY2VudGVyLmFwcGx5TWF0cml4NCh0KSx0aGlzLnJhZGl1cz10aGlzLnJhZGl1cyp0LmdldE1heFNjYWxlT25BeGlzKCksdGhpc310cmFuc2xhdGUodCl7cmV0dXJuIHRoaXMuY2VudGVyLmFkZCh0KSx0aGlzfWV4cGFuZEJ5UG9pbnQodCl7cXN0LnN1YlZlY3RvcnModCx0aGlzLmNlbnRlcik7Y29uc3QgZT1xc3QubGVuZ3RoU3EoKTtpZihlPnRoaXMucmFkaXVzKnRoaXMucmFkaXVzKXtjb25zdCB0PU1hdGguc3FydChlKSxuPS41Kih0LXRoaXMucmFkaXVzKTt0aGlzLmNlbnRlci5hZGQocXN0Lm11bHRpcGx5U2NhbGFyKG4vdCkpLHRoaXMucmFkaXVzKz1ufXJldHVybiB0aGlzfXVuaW9uKHQpe3JldHVybiBZc3Quc3ViVmVjdG9ycyh0LmNlbnRlcix0aGlzLmNlbnRlcikubm9ybWFsaXplKCkubXVsdGlwbHlTY2FsYXIodC5yYWRpdXMpLHRoaXMuZXhwYW5kQnlQb2ludChHc3QuY29weSh0LmNlbnRlcikuYWRkKFlzdCkpLHRoaXMuZXhwYW5kQnlQb2ludChHc3QuY29weSh0LmNlbnRlcikuc3ViKFlzdCkpLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0LmNlbnRlci5lcXVhbHModGhpcy5jZW50ZXIpJiZ0LnJhZGl1cz09PXRoaXMucmFkaXVzfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX1jb25zdCBYc3Q9bmV3IHdzdCxLc3Q9bmV3IHdzdCxKc3Q9bmV3IHdzdCxRc3Q9bmV3IHdzdCwkc3Q9bmV3IHdzdCx0bHQ9bmV3IHdzdCxlbHQ9bmV3IHdzdDtjbGFzcyBubHR7Y29uc3RydWN0b3IodD1uZXcgd3N0LGU9bmV3IHdzdCgwLDAsLTEpKXt0aGlzLm9yaWdpbj10LHRoaXMuZGlyZWN0aW9uPWV9c2V0KHQsZSl7cmV0dXJuIHRoaXMub3JpZ2luLmNvcHkodCksdGhpcy5kaXJlY3Rpb24uY29weShlKSx0aGlzfWNvcHkodCl7cmV0dXJuIHRoaXMub3JpZ2luLmNvcHkodC5vcmlnaW4pLHRoaXMuZGlyZWN0aW9uLmNvcHkodC5kaXJlY3Rpb24pLHRoaXN9YXQodCxlKXtyZXR1cm4gZS5jb3B5KHRoaXMuZGlyZWN0aW9uKS5tdWx0aXBseVNjYWxhcih0KS5hZGQodGhpcy5vcmlnaW4pfWxvb2tBdCh0KXtyZXR1cm4gdGhpcy5kaXJlY3Rpb24uY29weSh0KS5zdWIodGhpcy5vcmlnaW4pLm5vcm1hbGl6ZSgpLHRoaXN9cmVjYXN0KHQpe3JldHVybiB0aGlzLm9yaWdpbi5jb3B5KHRoaXMuYXQodCxYc3QpKSx0aGlzfWNsb3Nlc3RQb2ludFRvUG9pbnQodCxlKXtlLnN1YlZlY3RvcnModCx0aGlzLm9yaWdpbik7Y29uc3Qgbj1lLmRvdCh0aGlzLmRpcmVjdGlvbik7cmV0dXJuIG48MD9lLmNvcHkodGhpcy5vcmlnaW4pOmUuY29weSh0aGlzLmRpcmVjdGlvbikubXVsdGlwbHlTY2FsYXIobikuYWRkKHRoaXMub3JpZ2luKX1kaXN0YW5jZVRvUG9pbnQodCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLmRpc3RhbmNlU3FUb1BvaW50KHQpKX1kaXN0YW5jZVNxVG9Qb2ludCh0KXtjb25zdCBlPVhzdC5zdWJWZWN0b3JzKHQsdGhpcy5vcmlnaW4pLmRvdCh0aGlzLmRpcmVjdGlvbik7cmV0dXJuIGU8MD90aGlzLm9yaWdpbi5kaXN0YW5jZVRvU3F1YXJlZCh0KTooWHN0LmNvcHkodGhpcy5kaXJlY3Rpb24pLm11bHRpcGx5U2NhbGFyKGUpLmFkZCh0aGlzLm9yaWdpbiksWHN0LmRpc3RhbmNlVG9TcXVhcmVkKHQpKX1kaXN0YW5jZVNxVG9TZWdtZW50KHQsZSxuLG8pe0tzdC5jb3B5KHQpLmFkZChlKS5tdWx0aXBseVNjYWxhciguNSksSnN0LmNvcHkoZSkuc3ViKHQpLm5vcm1hbGl6ZSgpLFFzdC5jb3B5KHRoaXMub3JpZ2luKS5zdWIoS3N0KTtjb25zdCBpPS41KnQuZGlzdGFuY2VUbyhlKSxhPS10aGlzLmRpcmVjdGlvbi5kb3QoSnN0KSxyPVFzdC5kb3QodGhpcy5kaXJlY3Rpb24pLHM9LVFzdC5kb3QoSnN0KSxsPVFzdC5sZW5ndGhTcSgpLGM9TWF0aC5hYnMoMS1hKmEpO2xldCBkLHAsbSxmO2lmKGM+MClpZihkPWEqcy1yLHA9YSpyLXMsZj1pKmMsZD49MClpZihwPj0tZilpZihwPD1mKXtjb25zdCB0PTEvYztkKj10LHAqPXQsbT1kKihkK2EqcCsyKnIpK3AqKGEqZCtwKzIqcykrbH1lbHNlIHA9aSxkPU1hdGgubWF4KDAsLShhKnArcikpLG09LWQqZCtwKihwKzIqcykrbDtlbHNlIHA9LWksZD1NYXRoLm1heCgwLC0oYSpwK3IpKSxtPS1kKmQrcCoocCsyKnMpK2w7ZWxzZSBwPD0tZj8oZD1NYXRoLm1heCgwLC0oLWEqaStyKSkscD1kPjA/LWk6TWF0aC5taW4oTWF0aC5tYXgoLWksLXMpLGkpLG09LWQqZCtwKihwKzIqcykrbCk6cDw9Zj8oZD0wLHA9TWF0aC5taW4oTWF0aC5tYXgoLWksLXMpLGkpLG09cCoocCsyKnMpK2wpOihkPU1hdGgubWF4KDAsLShhKmkrcikpLHA9ZD4wP2k6TWF0aC5taW4oTWF0aC5tYXgoLWksLXMpLGkpLG09LWQqZCtwKihwKzIqcykrbCk7ZWxzZSBwPWE+MD8taTppLGQ9TWF0aC5tYXgoMCwtKGEqcCtyKSksbT0tZCpkK3AqKHArMipzKStsO3JldHVybiBuJiZuLmNvcHkodGhpcy5kaXJlY3Rpb24pLm11bHRpcGx5U2NhbGFyKGQpLmFkZCh0aGlzLm9yaWdpbiksbyYmby5jb3B5KEpzdCkubXVsdGlwbHlTY2FsYXIocCkuYWRkKEtzdCksbX1pbnRlcnNlY3RTcGhlcmUodCxlKXtYc3Quc3ViVmVjdG9ycyh0LmNlbnRlcix0aGlzLm9yaWdpbik7Y29uc3Qgbj1Yc3QuZG90KHRoaXMuZGlyZWN0aW9uKSxvPVhzdC5kb3QoWHN0KS1uKm4saT10LnJhZGl1cyp0LnJhZGl1cztpZihvPmkpcmV0dXJuIG51bGw7Y29uc3QgYT1NYXRoLnNxcnQoaS1vKSxyPW4tYSxzPW4rYTtyZXR1cm4gcjwwJiZzPDA/bnVsbDp0aGlzLmF0KHI8MD9zOnIsZSl9aW50ZXJzZWN0c1NwaGVyZSh0KXtyZXR1cm4gdGhpcy5kaXN0YW5jZVNxVG9Qb2ludCh0LmNlbnRlcik8PXQucmFkaXVzKnQucmFkaXVzfWRpc3RhbmNlVG9QbGFuZSh0KXtjb25zdCBlPXQubm9ybWFsLmRvdCh0aGlzLmRpcmVjdGlvbik7aWYoMD09PWUpcmV0dXJuIDA9PT10LmRpc3RhbmNlVG9Qb2ludCh0aGlzLm9yaWdpbik/MDpudWxsO2NvbnN0IG49LSh0aGlzLm9yaWdpbi5kb3QodC5ub3JtYWwpK3QuY29uc3RhbnQpL2U7cmV0dXJuIG4+PTA/bjpudWxsfWludGVyc2VjdFBsYW5lKHQsZSl7Y29uc3Qgbj10aGlzLmRpc3RhbmNlVG9QbGFuZSh0KTtyZXR1cm4gbnVsbD09PW4/bnVsbDp0aGlzLmF0KG4sZSl9aW50ZXJzZWN0c1BsYW5lKHQpe2NvbnN0IGU9dC5kaXN0YW5jZVRvUG9pbnQodGhpcy5vcmlnaW4pO2lmKDA9PT1lKXJldHVybiEwO3JldHVybiB0Lm5vcm1hbC5kb3QodGhpcy5kaXJlY3Rpb24pKmU8MH1pbnRlcnNlY3RCb3godCxlKXtsZXQgbixvLGksYSxyLHM7Y29uc3QgbD0xL3RoaXMuZGlyZWN0aW9uLngsYz0xL3RoaXMuZGlyZWN0aW9uLnksZD0xL3RoaXMuZGlyZWN0aW9uLnoscD10aGlzLm9yaWdpbjtyZXR1cm4gbD49MD8obj0odC5taW4ueC1wLngpKmwsbz0odC5tYXgueC1wLngpKmwpOihuPSh0Lm1heC54LXAueCkqbCxvPSh0Lm1pbi54LXAueCkqbCksYz49MD8oaT0odC5taW4ueS1wLnkpKmMsYT0odC5tYXgueS1wLnkpKmMpOihpPSh0Lm1heC55LXAueSkqYyxhPSh0Lm1pbi55LXAueSkqYyksbj5hfHxpPm8/bnVsbDooKGk+bnx8biE9bikmJihuPWkpLChhPG98fG8hPW8pJiYobz1hKSxkPj0wPyhyPSh0Lm1pbi56LXAueikqZCxzPSh0Lm1heC56LXAueikqZCk6KHI9KHQubWF4LnotcC56KSpkLHM9KHQubWluLnotcC56KSpkKSxuPnN8fHI+bz9udWxsOigocj5ufHxuIT1uKSYmKG49ciksKHM8b3x8byE9bykmJihvPXMpLG88MD9udWxsOnRoaXMuYXQobj49MD9uOm8sZSkpKX1pbnRlcnNlY3RzQm94KHQpe3JldHVybiBudWxsIT09dGhpcy5pbnRlcnNlY3RCb3godCxYc3QpfWludGVyc2VjdFRyaWFuZ2xlKHQsZSxuLG8saSl7JHN0LnN1YlZlY3RvcnMoZSx0KSx0bHQuc3ViVmVjdG9ycyhuLHQpLGVsdC5jcm9zc1ZlY3RvcnMoJHN0LHRsdCk7bGV0IGEscj10aGlzLmRpcmVjdGlvbi5kb3QoZWx0KTtpZihyPjApe2lmKG8pcmV0dXJuIG51bGw7YT0xfWVsc2V7aWYoIShyPDApKXJldHVybiBudWxsO2E9LTEscj0tcn1Rc3Quc3ViVmVjdG9ycyh0aGlzLm9yaWdpbix0KTtjb25zdCBzPWEqdGhpcy5kaXJlY3Rpb24uZG90KHRsdC5jcm9zc1ZlY3RvcnMoUXN0LHRsdCkpO2lmKHM8MClyZXR1cm4gbnVsbDtjb25zdCBsPWEqdGhpcy5kaXJlY3Rpb24uZG90KCRzdC5jcm9zcyhRc3QpKTtpZihsPDApcmV0dXJuIG51bGw7aWYocytsPnIpcmV0dXJuIG51bGw7Y29uc3QgYz0tYSpRc3QuZG90KGVsdCk7cmV0dXJuIGM8MD9udWxsOnRoaXMuYXQoYy9yLGkpfWFwcGx5TWF0cml4NCh0KXtyZXR1cm4gdGhpcy5vcmlnaW4uYXBwbHlNYXRyaXg0KHQpLHRoaXMuZGlyZWN0aW9uLnRyYW5zZm9ybURpcmVjdGlvbih0KSx0aGlzfWVxdWFscyh0KXtyZXR1cm4gdC5vcmlnaW4uZXF1YWxzKHRoaXMub3JpZ2luKSYmdC5kaXJlY3Rpb24uZXF1YWxzKHRoaXMuZGlyZWN0aW9uKX1jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX19Y2xhc3Mgb2x0e2NvbnN0cnVjdG9yKCl7dGhpcy5lbGVtZW50cz1bMSwwLDAsMCwwLDEsMCwwLDAsMCwxLDAsMCwwLDAsMV0sYXJndW1lbnRzLmxlbmd0aD4wJiZjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiB0aGUgY29uc3RydWN0b3Igbm8gbG9uZ2VyIHJlYWRzIGFyZ3VtZW50cy4gdXNlIC5zZXQoKSBpbnN0ZWFkLiIpfXNldCh0LGUsbixvLGksYSxyLHMsbCxjLGQscCxtLGYsdSxnKXtjb25zdCBoPXRoaXMuZWxlbWVudHM7cmV0dXJuIGhbMF09dCxoWzRdPWUsaFs4XT1uLGhbMTJdPW8saFsxXT1pLGhbNV09YSxoWzldPXIsaFsxM109cyxoWzJdPWwsaFs2XT1jLGhbMTBdPWQsaFsxNF09cCxoWzNdPW0saFs3XT1mLGhbMTFdPXUsaFsxNV09Zyx0aGlzfWlkZW50aXR5KCl7cmV0dXJuIHRoaXMuc2V0KDEsMCwwLDAsMCwxLDAsMCwwLDAsMSwwLDAsMCwwLDEpLHRoaXN9Y2xvbmUoKXtyZXR1cm4obmV3IG9sdCkuZnJvbUFycmF5KHRoaXMuZWxlbWVudHMpfWNvcHkodCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC5lbGVtZW50cztyZXR1cm4gZVswXT1uWzBdLGVbMV09blsxXSxlWzJdPW5bMl0sZVszXT1uWzNdLGVbNF09bls0XSxlWzVdPW5bNV0sZVs2XT1uWzZdLGVbN109bls3XSxlWzhdPW5bOF0sZVs5XT1uWzldLGVbMTBdPW5bMTBdLGVbMTFdPW5bMTFdLGVbMTJdPW5bMTJdLGVbMTNdPW5bMTNdLGVbMTRdPW5bMTRdLGVbMTVdPW5bMTVdLHRoaXN9Y29weVBvc2l0aW9uKHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50cyxuPXQuZWxlbWVudHM7cmV0dXJuIGVbMTJdPW5bMTJdLGVbMTNdPW5bMTNdLGVbMTRdPW5bMTRdLHRoaXN9c2V0RnJvbU1hdHJpeDModCl7Y29uc3QgZT10LmVsZW1lbnRzO3JldHVybiB0aGlzLnNldChlWzBdLGVbM10sZVs2XSwwLGVbMV0sZVs0XSxlWzddLDAsZVsyXSxlWzVdLGVbOF0sMCwwLDAsMCwxKSx0aGlzfWV4dHJhY3RCYXNpcyh0LGUsbil7cmV0dXJuIHQuc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDApLGUuc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDEpLG4uc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDIpLHRoaXN9bWFrZUJhc2lzKHQsZSxuKXtyZXR1cm4gdGhpcy5zZXQodC54LGUueCxuLngsMCx0LnksZS55LG4ueSwwLHQueixlLnosbi56LDAsMCwwLDAsMSksdGhpc31leHRyYWN0Um90YXRpb24odCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC5lbGVtZW50cyxvPTEvaWx0LnNldEZyb21NYXRyaXhDb2x1bW4odCwwKS5sZW5ndGgoKSxpPTEvaWx0LnNldEZyb21NYXRyaXhDb2x1bW4odCwxKS5sZW5ndGgoKSxhPTEvaWx0LnNldEZyb21NYXRyaXhDb2x1bW4odCwyKS5sZW5ndGgoKTtyZXR1cm4gZVswXT1uWzBdKm8sZVsxXT1uWzFdKm8sZVsyXT1uWzJdKm8sZVszXT0wLGVbNF09bls0XSppLGVbNV09bls1XSppLGVbNl09bls2XSppLGVbN109MCxlWzhdPW5bOF0qYSxlWzldPW5bOV0qYSxlWzEwXT1uWzEwXSphLGVbMTFdPTAsZVsxMl09MCxlWzEzXT0wLGVbMTRdPTAsZVsxNV09MSx0aGlzfW1ha2VSb3RhdGlvbkZyb21FdWxlcih0KXt0JiZ0LmlzRXVsZXJ8fGNvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5tYWtlUm90YXRpb25Gcm9tRXVsZXIoKSBub3cgZXhwZWN0cyBhIEV1bGVyIHJvdGF0aW9uIHJhdGhlciB0aGFuIGEgVmVjdG9yMyBhbmQgb3JkZXIuIik7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC54LG89dC55LGk9dC56LGE9TWF0aC5jb3Mobikscj1NYXRoLnNpbihuKSxzPU1hdGguY29zKG8pLGw9TWF0aC5zaW4obyksYz1NYXRoLmNvcyhpKSxkPU1hdGguc2luKGkpO2lmKCJYWVoiPT09dC5vcmRlcil7Y29uc3QgdD1hKmMsbj1hKmQsbz1yKmMsaT1yKmQ7ZVswXT1zKmMsZVs0XT0tcypkLGVbOF09bCxlWzFdPW4rbypsLGVbNV09dC1pKmwsZVs5XT0tcipzLGVbMl09aS10KmwsZVs2XT1vK24qbCxlWzEwXT1hKnN9ZWxzZSBpZigiWVhaIj09PXQub3JkZXIpe2NvbnN0IHQ9cypjLG49cypkLG89bCpjLGk9bCpkO2VbMF09dCtpKnIsZVs0XT1vKnItbixlWzhdPWEqbCxlWzFdPWEqZCxlWzVdPWEqYyxlWzldPS1yLGVbMl09bipyLW8sZVs2XT1pK3QqcixlWzEwXT1hKnN9ZWxzZSBpZigiWlhZIj09PXQub3JkZXIpe2NvbnN0IHQ9cypjLG49cypkLG89bCpjLGk9bCpkO2VbMF09dC1pKnIsZVs0XT0tYSpkLGVbOF09bytuKnIsZVsxXT1uK28qcixlWzVdPWEqYyxlWzldPWktdCpyLGVbMl09LWEqbCxlWzZdPXIsZVsxMF09YSpzfWVsc2UgaWYoIlpZWCI9PT10Lm9yZGVyKXtjb25zdCB0PWEqYyxuPWEqZCxvPXIqYyxpPXIqZDtlWzBdPXMqYyxlWzRdPW8qbC1uLGVbOF09dCpsK2ksZVsxXT1zKmQsZVs1XT1pKmwrdCxlWzldPW4qbC1vLGVbMl09LWwsZVs2XT1yKnMsZVsxMF09YSpzfWVsc2UgaWYoIllaWCI9PT10Lm9yZGVyKXtjb25zdCB0PWEqcyxuPWEqbCxvPXIqcyxpPXIqbDtlWzBdPXMqYyxlWzRdPWktdCpkLGVbOF09bypkK24sZVsxXT1kLGVbNV09YSpjLGVbOV09LXIqYyxlWzJdPS1sKmMsZVs2XT1uKmQrbyxlWzEwXT10LWkqZH1lbHNlIGlmKCJYWlkiPT09dC5vcmRlcil7Y29uc3QgdD1hKnMsbj1hKmwsbz1yKnMsaT1yKmw7ZVswXT1zKmMsZVs0XT0tZCxlWzhdPWwqYyxlWzFdPXQqZCtpLGVbNV09YSpjLGVbOV09bipkLW8sZVsyXT1vKmQtbixlWzZdPXIqYyxlWzEwXT1pKmQrdH1yZXR1cm4gZVszXT0wLGVbN109MCxlWzExXT0wLGVbMTJdPTAsZVsxM109MCxlWzE0XT0wLGVbMTVdPTEsdGhpc31tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbih0KXtyZXR1cm4gdGhpcy5jb21wb3NlKHJsdCx0LHNsdCl9bG9va0F0KHQsZSxuKXtjb25zdCBvPXRoaXMuZWxlbWVudHM7cmV0dXJuIGRsdC5zdWJWZWN0b3JzKHQsZSksMD09PWRsdC5sZW5ndGhTcSgpJiYoZGx0Lno9MSksZGx0Lm5vcm1hbGl6ZSgpLGxsdC5jcm9zc1ZlY3RvcnMobixkbHQpLDA9PT1sbHQubGVuZ3RoU3EoKSYmKDE9PT1NYXRoLmFicyhuLnopP2RsdC54Kz0xZS00OmRsdC56Kz0xZS00LGRsdC5ub3JtYWxpemUoKSxsbHQuY3Jvc3NWZWN0b3JzKG4sZGx0KSksbGx0Lm5vcm1hbGl6ZSgpLGNsdC5jcm9zc1ZlY3RvcnMoZGx0LGxsdCksb1swXT1sbHQueCxvWzRdPWNsdC54LG9bOF09ZGx0Lngsb1sxXT1sbHQueSxvWzVdPWNsdC55LG9bOV09ZGx0Lnksb1syXT1sbHQueixvWzZdPWNsdC56LG9bMTBdPWRsdC56LHRoaXN9bXVsdGlwbHkodCxlKXtyZXR1cm4gdm9pZCAwIT09ZT8oY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHkoKSBub3cgb25seSBhY2NlcHRzIG9uZSBhcmd1bWVudC4gVXNlIC5tdWx0aXBseU1hdHJpY2VzKCBhLCBiICkgaW5zdGVhZC4iKSx0aGlzLm11bHRpcGx5TWF0cmljZXModCxlKSk6dGhpcy5tdWx0aXBseU1hdHJpY2VzKHRoaXMsdCl9cHJlbXVsdGlwbHkodCl7cmV0dXJuIHRoaXMubXVsdGlwbHlNYXRyaWNlcyh0LHRoaXMpfW11bHRpcGx5TWF0cmljZXModCxlKXtjb25zdCBuPXQuZWxlbWVudHMsbz1lLmVsZW1lbnRzLGk9dGhpcy5lbGVtZW50cyxhPW5bMF0scj1uWzRdLHM9bls4XSxsPW5bMTJdLGM9blsxXSxkPW5bNV0scD1uWzldLG09blsxM10sZj1uWzJdLHU9bls2XSxnPW5bMTBdLGg9blsxNF0sYj1uWzNdLHk9bls3XSxfPW5bMTFdLEM9blsxNV0sTT1vWzBdLHY9b1s0XSx4PW9bOF0sTz1vWzEyXSxQPW9bMV0sdz1vWzVdLGs9b1s5XSxTPW9bMTNdLEQ9b1syXSxSPW9bNl0sRT1vWzEwXSxBPW9bMTRdLFQ9b1szXSxOPW9bN10sej1vWzExXSxJPW9bMTVdO3JldHVybiBpWzBdPWEqTStyKlArcypEK2wqVCxpWzRdPWEqdityKncrcypSK2wqTixpWzhdPWEqeCtyKmsrcypFK2wqeixpWzEyXT1hKk8rcipTK3MqQStsKkksaVsxXT1jKk0rZCpQK3AqRCttKlQsaVs1XT1jKnYrZCp3K3AqUittKk4saVs5XT1jKngrZCprK3AqRSttKnosaVsxM109YypPK2QqUytwKkErbSpJLGlbMl09ZipNK3UqUCtnKkQraCpULGlbNl09Zip2K3UqdytnKlIraCpOLGlbMTBdPWYqeCt1KmsrZypFK2gqeixpWzE0XT1mKk8rdSpTK2cqQStoKkksaVszXT1iKk0reSpQK18qRCtDKlQsaVs3XT1iKnYreSp3K18qUitDKk4saVsxMV09Yip4K3kqaytfKkUrQyp6LGlbMTVdPWIqTyt5KlMrXypBK0MqSSx0aGlzfW11bHRpcGx5U2NhbGFyKHQpe2NvbnN0IGU9dGhpcy5lbGVtZW50cztyZXR1cm4gZVswXSo9dCxlWzRdKj10LGVbOF0qPXQsZVsxMl0qPXQsZVsxXSo9dCxlWzVdKj10LGVbOV0qPXQsZVsxM10qPXQsZVsyXSo9dCxlWzZdKj10LGVbMTBdKj10LGVbMTRdKj10LGVbM10qPXQsZVs3XSo9dCxlWzExXSo9dCxlWzE1XSo9dCx0aGlzfWRldGVybWluYW50KCl7Y29uc3QgdD10aGlzLmVsZW1lbnRzLGU9dFswXSxuPXRbNF0sbz10WzhdLGk9dFsxMl0sYT10WzFdLHI9dFs1XSxzPXRbOV0sbD10WzEzXSxjPXRbMl0sZD10WzZdLHA9dFsxMF0sbT10WzE0XTtyZXR1cm4gdFszXSooK2kqcypkLW8qbCpkLWkqcipwK24qbCpwK28qciptLW4qcyptKSt0WzddKigrZSpzKm0tZSpsKnAraSphKnAtbyphKm0rbypsKmMtaSpzKmMpK3RbMTFdKigrZSpsKmQtZSpyKm0taSphKmQrbiphKm0raSpyKmMtbipsKmMpK3RbMTVdKigtbypyKmMtZSpzKmQrZSpyKnArbyphKmQtbiphKnArbipzKmMpfXRyYW5zcG9zZSgpe2NvbnN0IHQ9dGhpcy5lbGVtZW50cztsZXQgZTtyZXR1cm4gZT10WzFdLHRbMV09dFs0XSx0WzRdPWUsZT10WzJdLHRbMl09dFs4XSx0WzhdPWUsZT10WzZdLHRbNl09dFs5XSx0WzldPWUsZT10WzNdLHRbM109dFsxMl0sdFsxMl09ZSxlPXRbN10sdFs3XT10WzEzXSx0WzEzXT1lLGU9dFsxMV0sdFsxMV09dFsxNF0sdFsxNF09ZSx0aGlzfXNldFBvc2l0aW9uKHQsZSxuKXtjb25zdCBvPXRoaXMuZWxlbWVudHM7cmV0dXJuIHQuaXNWZWN0b3IzPyhvWzEyXT10Lngsb1sxM109dC55LG9bMTRdPXQueik6KG9bMTJdPXQsb1sxM109ZSxvWzE0XT1uKSx0aGlzfWludmVydCgpe2NvbnN0IHQ9dGhpcy5lbGVtZW50cyxlPXRbMF0sbj10WzFdLG89dFsyXSxpPXRbM10sYT10WzRdLHI9dFs1XSxzPXRbNl0sbD10WzddLGM9dFs4XSxkPXRbOV0scD10WzEwXSxtPXRbMTFdLGY9dFsxMl0sdT10WzEzXSxnPXRbMTRdLGg9dFsxNV0sYj1kKmcqbC11KnAqbCt1KnMqbS1yKmcqbS1kKnMqaCtyKnAqaCx5PWYqcCpsLWMqZypsLWYqcyptK2EqZyptK2MqcypoLWEqcCpoLF89Yyp1KmwtZipkKmwrZipyKm0tYSp1Km0tYypyKmgrYSpkKmgsQz1mKmQqcy1jKnUqcy1mKnIqcCthKnUqcCtjKnIqZy1hKmQqZyxNPWUqYituKnkrbypfK2kqQztpZigwPT09TSlyZXR1cm4gdGhpcy5zZXQoMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCk7Y29uc3Qgdj0xL007cmV0dXJuIHRbMF09Yip2LHRbMV09KHUqcCppLWQqZyppLXUqbyptK24qZyptK2QqbypoLW4qcCpoKSp2LHRbMl09KHIqZyppLXUqcyppK3UqbypsLW4qZypsLXIqbypoK24qcypoKSp2LHRbM109KGQqcyppLXIqcCppLWQqbypsK24qcCpsK3IqbyptLW4qcyptKSp2LHRbNF09eSp2LHRbNV09KGMqZyppLWYqcCppK2YqbyptLWUqZyptLWMqbypoK2UqcCpoKSp2LHRbNl09KGYqcyppLWEqZyppLWYqbypsK2UqZypsK2EqbypoLWUqcypoKSp2LHRbN109KGEqcCppLWMqcyppK2MqbypsLWUqcCpsLWEqbyptK2UqcyptKSp2LHRbOF09Xyp2LHRbOV09KGYqZCppLWMqdSppLWYqbiptK2UqdSptK2MqbipoLWUqZCpoKSp2LHRbMTBdPShhKnUqaS1mKnIqaStmKm4qbC1lKnUqbC1hKm4qaCtlKnIqaCkqdix0WzExXT0oYypyKmktYSpkKmktYypuKmwrZSpkKmwrYSpuKm0tZSpyKm0pKnYsdFsxMl09Qyp2LHRbMTNdPShjKnUqby1mKmQqbytmKm4qcC1lKnUqcC1jKm4qZytlKmQqZykqdix0WzE0XT0oZipyKm8tYSp1Km8tZipuKnMrZSp1KnMrYSpuKmctZSpyKmcpKnYsdFsxNV09KGEqZCpvLWMqcipvK2MqbipzLWUqZCpzLWEqbipwK2UqcipwKSp2LHRoaXN9c2NhbGUodCl7Y29uc3QgZT10aGlzLmVsZW1lbnRzLG49dC54LG89dC55LGk9dC56O3JldHVybiBlWzBdKj1uLGVbNF0qPW8sZVs4XSo9aSxlWzFdKj1uLGVbNV0qPW8sZVs5XSo9aSxlWzJdKj1uLGVbNl0qPW8sZVsxMF0qPWksZVszXSo9bixlWzddKj1vLGVbMTFdKj1pLHRoaXN9Z2V0TWF4U2NhbGVPbkF4aXMoKXtjb25zdCB0PXRoaXMuZWxlbWVudHM7cmV0dXJuIE1hdGguc3FydChNYXRoLm1heCh0WzBdKnRbMF0rdFsxXSp0WzFdK3RbMl0qdFsyXSx0WzRdKnRbNF0rdFs1XSp0WzVdK3RbNl0qdFs2XSx0WzhdKnRbOF0rdFs5XSp0WzldK3RbMTBdKnRbMTBdKSl9bWFrZVRyYW5zbGF0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5zZXQoMSwwLDAsdCwwLDEsMCxlLDAsMCwxLG4sMCwwLDAsMSksdGhpc31tYWtlUm90YXRpb25YKHQpe2NvbnN0IGU9TWF0aC5jb3ModCksbj1NYXRoLnNpbih0KTtyZXR1cm4gdGhpcy5zZXQoMSwwLDAsMCwwLGUsLW4sMCwwLG4sZSwwLDAsMCwwLDEpLHRoaXN9bWFrZVJvdGF0aW9uWSh0KXtjb25zdCBlPU1hdGguY29zKHQpLG49TWF0aC5zaW4odCk7cmV0dXJuIHRoaXMuc2V0KGUsMCxuLDAsMCwxLDAsMCwtbiwwLGUsMCwwLDAsMCwxKSx0aGlzfW1ha2VSb3RhdGlvbloodCl7Y29uc3QgZT1NYXRoLmNvcyh0KSxuPU1hdGguc2luKHQpO3JldHVybiB0aGlzLnNldChlLC1uLDAsMCxuLGUsMCwwLDAsMCwxLDAsMCwwLDAsMSksdGhpc31tYWtlUm90YXRpb25BeGlzKHQsZSl7Y29uc3Qgbj1NYXRoLmNvcyhlKSxvPU1hdGguc2luKGUpLGk9MS1uLGE9dC54LHI9dC55LHM9dC56LGw9aSphLGM9aSpyO3JldHVybiB0aGlzLnNldChsKmErbixsKnItbypzLGwqcytvKnIsMCxsKnIrbypzLGMqcituLGMqcy1vKmEsMCxsKnMtbypyLGMqcytvKmEsaSpzKnMrbiwwLDAsMCwwLDEpLHRoaXN9bWFrZVNjYWxlKHQsZSxuKXtyZXR1cm4gdGhpcy5zZXQodCwwLDAsMCwwLGUsMCwwLDAsMCxuLDAsMCwwLDAsMSksdGhpc31tYWtlU2hlYXIodCxlLG4sbyxpLGEpe3JldHVybiB0aGlzLnNldCgxLG4saSwwLHQsMSxhLDAsZSxvLDEsMCwwLDAsMCwxKSx0aGlzfWNvbXBvc2UodCxlLG4pe2NvbnN0IG89dGhpcy5lbGVtZW50cyxpPWUuX3gsYT1lLl95LHI9ZS5feixzPWUuX3csbD1pK2ksYz1hK2EsZD1yK3IscD1pKmwsbT1pKmMsZj1pKmQsdT1hKmMsZz1hKmQsaD1yKmQsYj1zKmwseT1zKmMsXz1zKmQsQz1uLngsTT1uLnksdj1uLno7cmV0dXJuIG9bMF09KDEtKHUraCkpKkMsb1sxXT0obStfKSpDLG9bMl09KGYteSkqQyxvWzNdPTAsb1s0XT0obS1fKSpNLG9bNV09KDEtKHAraCkpKk0sb1s2XT0oZytiKSpNLG9bN109MCxvWzhdPShmK3kpKnYsb1s5XT0oZy1iKSp2LG9bMTBdPSgxLShwK3UpKSp2LG9bMTFdPTAsb1sxMl09dC54LG9bMTNdPXQueSxvWzE0XT10Lnosb1sxNV09MSx0aGlzfWRlY29tcG9zZSh0LGUsbil7Y29uc3Qgbz10aGlzLmVsZW1lbnRzO2xldCBpPWlsdC5zZXQob1swXSxvWzFdLG9bMl0pLmxlbmd0aCgpO2NvbnN0IGE9aWx0LnNldChvWzRdLG9bNV0sb1s2XSkubGVuZ3RoKCkscj1pbHQuc2V0KG9bOF0sb1s5XSxvWzEwXSkubGVuZ3RoKCk7dGhpcy5kZXRlcm1pbmFudCgpPDAmJihpPS1pKSx0Lng9b1sxMl0sdC55PW9bMTNdLHQuej1vWzE0XSxhbHQuY29weSh0aGlzKTtjb25zdCBzPTEvaSxsPTEvYSxjPTEvcjtyZXR1cm4gYWx0LmVsZW1lbnRzWzBdKj1zLGFsdC5lbGVtZW50c1sxXSo9cyxhbHQuZWxlbWVudHNbMl0qPXMsYWx0LmVsZW1lbnRzWzRdKj1sLGFsdC5lbGVtZW50c1s1XSo9bCxhbHQuZWxlbWVudHNbNl0qPWwsYWx0LmVsZW1lbnRzWzhdKj1jLGFsdC5lbGVtZW50c1s5XSo9YyxhbHQuZWxlbWVudHNbMTBdKj1jLGUuc2V0RnJvbVJvdGF0aW9uTWF0cml4KGFsdCksbi54PWksbi55PWEsbi56PXIsdGhpc31tYWtlUGVyc3BlY3RpdmUodCxlLG4sbyxpLGEpe3ZvaWQgMD09PWEmJmNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm1ha2VQZXJzcGVjdGl2ZSgpIGhhcyBiZWVuIHJlZGVmaW5lZCBhbmQgaGFzIGEgbmV3IHNpZ25hdHVyZS4gUGxlYXNlIGNoZWNrIHRoZSBkb2NzLiIpO2NvbnN0IHI9dGhpcy5lbGVtZW50cyxzPTIqaS8obi1vKSxsPShlK3QpLyhlLXQpLGM9KG4rbykvKG4tbyksZD0tKGEraSkvKGEtaSkscD0tMiphKmkvKGEtaSk7cmV0dXJuIHJbMF09MippLyhlLXQpLHJbNF09MCxyWzhdPWwsclsxMl09MCxyWzFdPTAscls1XT1zLHJbOV09YyxyWzEzXT0wLHJbMl09MCxyWzZdPTAsclsxMF09ZCxyWzE0XT1wLHJbM109MCxyWzddPTAsclsxMV09LTEsclsxNV09MCx0aGlzfW1ha2VPcnRob2dyYXBoaWModCxlLG4sbyxpLGEpe2NvbnN0IHI9dGhpcy5lbGVtZW50cyxzPTEvKGUtdCksbD0xLyhuLW8pLGM9MS8oYS1pKSxkPShlK3QpKnMscD0obitvKSpsLG09KGEraSkqYztyZXR1cm4gclswXT0yKnMscls0XT0wLHJbOF09MCxyWzEyXT0tZCxyWzFdPTAscls1XT0yKmwscls5XT0wLHJbMTNdPS1wLHJbMl09MCxyWzZdPTAsclsxMF09LTIqYyxyWzE0XT0tbSxyWzNdPTAscls3XT0wLHJbMTFdPTAsclsxNV09MSx0aGlzfWVxdWFscyh0KXtjb25zdCBlPXRoaXMuZWxlbWVudHMsbj10LmVsZW1lbnRzO2ZvcihsZXQgdD0wO3Q8MTY7dCsrKWlmKGVbdF0hPT1uW3RdKXJldHVybiExO3JldHVybiEwfWZyb21BcnJheSh0LGU9MCl7Zm9yKGxldCBuPTA7bjwxNjtuKyspdGhpcy5lbGVtZW50c1tuXT10W24rZV07cmV0dXJuIHRoaXN9dG9BcnJheSh0PVtdLGU9MCl7Y29uc3Qgbj10aGlzLmVsZW1lbnRzO3JldHVybiB0W2VdPW5bMF0sdFtlKzFdPW5bMV0sdFtlKzJdPW5bMl0sdFtlKzNdPW5bM10sdFtlKzRdPW5bNF0sdFtlKzVdPW5bNV0sdFtlKzZdPW5bNl0sdFtlKzddPW5bN10sdFtlKzhdPW5bOF0sdFtlKzldPW5bOV0sdFtlKzEwXT1uWzEwXSx0W2UrMTFdPW5bMTFdLHRbZSsxMl09blsxMl0sdFtlKzEzXT1uWzEzXSx0W2UrMTRdPW5bMTRdLHRbZSsxNV09blsxNV0sdH19b2x0LnByb3RvdHlwZS5pc01hdHJpeDQ9ITA7Y29uc3QgaWx0PW5ldyB3c3QsYWx0PW5ldyBvbHQscmx0PW5ldyB3c3QoMCwwLDApLHNsdD1uZXcgd3N0KDEsMSwxKSxsbHQ9bmV3IHdzdCxjbHQ9bmV3IHdzdCxkbHQ9bmV3IHdzdCxwbHQ9bmV3IG9sdCxtbHQ9bmV3IFBzdDtjbGFzcyBmbHR7Y29uc3RydWN0b3IodD0wLGU9MCxuPTAsbz1mbHQuRGVmYXVsdE9yZGVyKXt0aGlzLl94PXQsdGhpcy5feT1lLHRoaXMuX3o9bix0aGlzLl9vcmRlcj1vfWdldCB4KCl7cmV0dXJuIHRoaXMuX3h9c2V0IHgodCl7dGhpcy5feD10LHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKX1nZXQgeSgpe3JldHVybiB0aGlzLl95fXNldCB5KHQpe3RoaXMuX3k9dCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9Z2V0IHooKXtyZXR1cm4gdGhpcy5fen1zZXQgeih0KXt0aGlzLl96PXQsdGhpcy5fb25DaGFuZ2VDYWxsYmFjaygpfWdldCBvcmRlcigpe3JldHVybiB0aGlzLl9vcmRlcn1zZXQgb3JkZXIodCl7dGhpcy5fb3JkZXI9dCx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCl9c2V0KHQsZSxuLG89dGhpcy5fb3JkZXIpe3JldHVybiB0aGlzLl94PXQsdGhpcy5feT1lLHRoaXMuX3o9bix0aGlzLl9vcmRlcj1vLHRoaXMuX29uQ2hhbmdlQ2FsbGJhY2soKSx0aGlzfWNsb25lKCl7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMuX3gsdGhpcy5feSx0aGlzLl96LHRoaXMuX29yZGVyKX1jb3B5KHQpe3JldHVybiB0aGlzLl94PXQuX3gsdGhpcy5feT10Ll95LHRoaXMuX3o9dC5feix0aGlzLl9vcmRlcj10Ll9vcmRlcix0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zZXRGcm9tUm90YXRpb25NYXRyaXgodCxlPXRoaXMuX29yZGVyLG49ITApe2NvbnN0IG89dC5lbGVtZW50cyxpPW9bMF0sYT1vWzRdLHI9b1s4XSxzPW9bMV0sbD1vWzVdLGM9b1s5XSxkPW9bMl0scD1vWzZdLG09b1sxMF07c3dpdGNoKGUpe2Nhc2UiWFlaIjp0aGlzLl95PU1hdGguYXNpbihwc3QociwtMSwxKSksTWF0aC5hYnMocik8Ljk5OTk5OTk/KHRoaXMuX3g9TWF0aC5hdGFuMigtYyxtKSx0aGlzLl96PU1hdGguYXRhbjIoLWEsaSkpOih0aGlzLl94PU1hdGguYXRhbjIocCxsKSx0aGlzLl96PTApO2JyZWFrO2Nhc2UiWVhaIjp0aGlzLl94PU1hdGguYXNpbigtcHN0KGMsLTEsMSkpLE1hdGguYWJzKGMpPC45OTk5OTk5Pyh0aGlzLl95PU1hdGguYXRhbjIocixtKSx0aGlzLl96PU1hdGguYXRhbjIocyxsKSk6KHRoaXMuX3k9TWF0aC5hdGFuMigtZCxpKSx0aGlzLl96PTApO2JyZWFrO2Nhc2UiWlhZIjp0aGlzLl94PU1hdGguYXNpbihwc3QocCwtMSwxKSksTWF0aC5hYnMocCk8Ljk5OTk5OTk/KHRoaXMuX3k9TWF0aC5hdGFuMigtZCxtKSx0aGlzLl96PU1hdGguYXRhbjIoLWEsbCkpOih0aGlzLl95PTAsdGhpcy5fej1NYXRoLmF0YW4yKHMsaSkpO2JyZWFrO2Nhc2UiWllYIjp0aGlzLl95PU1hdGguYXNpbigtcHN0KGQsLTEsMSkpLE1hdGguYWJzKGQpPC45OTk5OTk5Pyh0aGlzLl94PU1hdGguYXRhbjIocCxtKSx0aGlzLl96PU1hdGguYXRhbjIocyxpKSk6KHRoaXMuX3g9MCx0aGlzLl96PU1hdGguYXRhbjIoLWEsbCkpO2JyZWFrO2Nhc2UiWVpYIjp0aGlzLl96PU1hdGguYXNpbihwc3QocywtMSwxKSksTWF0aC5hYnMocyk8Ljk5OTk5OTk/KHRoaXMuX3g9TWF0aC5hdGFuMigtYyxsKSx0aGlzLl95PU1hdGguYXRhbjIoLWQsaSkpOih0aGlzLl94PTAsdGhpcy5feT1NYXRoLmF0YW4yKHIsbSkpO2JyZWFrO2Nhc2UiWFpZIjp0aGlzLl96PU1hdGguYXNpbigtcHN0KGEsLTEsMSkpLE1hdGguYWJzKGEpPC45OTk5OTk5Pyh0aGlzLl94PU1hdGguYXRhbjIocCxsKSx0aGlzLl95PU1hdGguYXRhbjIocixpKSk6KHRoaXMuX3g9TWF0aC5hdGFuMigtYyxtKSx0aGlzLl95PTApO2JyZWFrO2RlZmF1bHQ6Y29uc29sZS53YXJuKCJUSFJFRS5FdWxlcjogLnNldEZyb21Sb3RhdGlvbk1hdHJpeCgpIGVuY291bnRlcmVkIGFuIHVua25vd24gb3JkZXI6ICIrZSl9cmV0dXJuIHRoaXMuX29yZGVyPWUsITA9PT1uJiZ0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc31zZXRGcm9tUXVhdGVybmlvbih0LGUsbil7cmV0dXJuIHBsdC5tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbih0KSx0aGlzLnNldEZyb21Sb3RhdGlvbk1hdHJpeChwbHQsZSxuKX1zZXRGcm9tVmVjdG9yMyh0LGU9dGhpcy5fb3JkZXIpe3JldHVybiB0aGlzLnNldCh0LngsdC55LHQueixlKX1yZW9yZGVyKHQpe3JldHVybiBtbHQuc2V0RnJvbUV1bGVyKHRoaXMpLHRoaXMuc2V0RnJvbVF1YXRlcm5pb24obWx0LHQpfWVxdWFscyh0KXtyZXR1cm4gdC5feD09PXRoaXMuX3gmJnQuX3k9PT10aGlzLl95JiZ0Ll96PT09dGhpcy5feiYmdC5fb3JkZXI9PT10aGlzLl9vcmRlcn1mcm9tQXJyYXkodCl7cmV0dXJuIHRoaXMuX3g9dFswXSx0aGlzLl95PXRbMV0sdGhpcy5fej10WzJdLHZvaWQgMCE9PXRbM10mJih0aGlzLl9vcmRlcj10WzNdKSx0aGlzLl9vbkNoYW5nZUNhbGxiYWNrKCksdGhpc310b0FycmF5KHQ9W10sZT0wKXtyZXR1cm4gdFtlXT10aGlzLl94LHRbZSsxXT10aGlzLl95LHRbZSsyXT10aGlzLl96LHRbZSszXT10aGlzLl9vcmRlcix0fXRvVmVjdG9yMyh0KXtyZXR1cm4gdD90LnNldCh0aGlzLl94LHRoaXMuX3ksdGhpcy5feik6bmV3IHdzdCh0aGlzLl94LHRoaXMuX3ksdGhpcy5feil9X29uQ2hhbmdlKHQpe3JldHVybiB0aGlzLl9vbkNoYW5nZUNhbGxiYWNrPXQsdGhpc31fb25DaGFuZ2VDYWxsYmFjaygpe319Zmx0LnByb3RvdHlwZS5pc0V1bGVyPSEwLGZsdC5EZWZhdWx0T3JkZXI9IlhZWiIsZmx0LlJvdGF0aW9uT3JkZXJzPVsiWFlaIiwiWVpYIiwiWlhZIiwiWFpZIiwiWVhaIiwiWllYIl07Y2xhc3MgdWx0e2NvbnN0cnVjdG9yKCl7dGhpcy5tYXNrPTF9c2V0KHQpe3RoaXMubWFzaz0xPDx0fDB9ZW5hYmxlKHQpe3RoaXMubWFza3w9MTw8dHwwfWVuYWJsZUFsbCgpe3RoaXMubWFzaz0tMX10b2dnbGUodCl7dGhpcy5tYXNrXj0xPDx0fDB9ZGlzYWJsZSh0KXt0aGlzLm1hc2smPX4oMTw8dHwwKX1kaXNhYmxlQWxsKCl7dGhpcy5tYXNrPTB9dGVzdCh0KXtyZXR1cm4gMCE9KHRoaXMubWFzayZ0Lm1hc2spfX1sZXQgZ2x0PTA7Y29uc3QgaGx0PW5ldyB3c3QsYmx0PW5ldyBQc3QseWx0PW5ldyBvbHQsX2x0PW5ldyB3c3QsQ2x0PW5ldyB3c3QsTWx0PW5ldyB3c3Qsdmx0PW5ldyBQc3QseGx0PW5ldyB3c3QoMSwwLDApLE9sdD1uZXcgd3N0KDAsMSwwKSxQbHQ9bmV3IHdzdCgwLDAsMSksd2x0PXt0eXBlOiJhZGRlZCJ9LGtsdD17dHlwZToicmVtb3ZlZCJ9O2NsYXNzIFNsdCBleHRlbmRzIHJzdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImlkIix7dmFsdWU6Z2x0Kyt9KSx0aGlzLnV1aWQ9ZHN0KCksdGhpcy5uYW1lPSIiLHRoaXMudHlwZT0iT2JqZWN0M0QiLHRoaXMucGFyZW50PW51bGwsdGhpcy5jaGlsZHJlbj1bXSx0aGlzLnVwPVNsdC5EZWZhdWx0VXAuY2xvbmUoKTtjb25zdCB0PW5ldyB3c3QsZT1uZXcgZmx0LG49bmV3IFBzdCxvPW5ldyB3c3QoMSwxLDEpO2UuX29uQ2hhbmdlKChmdW5jdGlvbiBpKCl7bi5zZXRGcm9tRXVsZXIoZSwhMSl9KSksbi5fb25DaGFuZ2UoKGZ1bmN0aW9uIGEoKXtlLnNldEZyb21RdWF0ZXJuaW9uKG4sdm9pZCAwLCExKX0pKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0aGlzLHtwb3NpdGlvbjp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6dH0scm90YXRpb246e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOmV9LHF1YXRlcm5pb246e2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLHZhbHVlOm59LHNjYWxlOntjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpvfSxtb2RlbFZpZXdNYXRyaXg6e3ZhbHVlOm5ldyBvbHR9LG5vcm1hbE1hdHJpeDp7dmFsdWU6bmV3IGhzdH19KSx0aGlzLm1hdHJpeD1uZXcgb2x0LHRoaXMubWF0cml4V29ybGQ9bmV3IG9sdCx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9U2x0LkRlZmF1bHRNYXRyaXhBdXRvVXBkYXRlLHRoaXMubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMSx0aGlzLmxheWVycz1uZXcgdWx0LHRoaXMudmlzaWJsZT0hMCx0aGlzLmNhc3RTaGFkb3c9ITEsdGhpcy5yZWNlaXZlU2hhZG93PSExLHRoaXMuZnJ1c3R1bUN1bGxlZD0hMCx0aGlzLnJlbmRlck9yZGVyPTAsdGhpcy5hbmltYXRpb25zPVtdLHRoaXMudXNlckRhdGE9e319b25CZWZvcmVSZW5kZXIoKXt9b25BZnRlclJlbmRlcigpe31hcHBseU1hdHJpeDQodCl7dGhpcy5tYXRyaXhBdXRvVXBkYXRlJiZ0aGlzLnVwZGF0ZU1hdHJpeCgpLHRoaXMubWF0cml4LnByZW11bHRpcGx5KHQpLHRoaXMubWF0cml4LmRlY29tcG9zZSh0aGlzLnBvc2l0aW9uLHRoaXMucXVhdGVybmlvbix0aGlzLnNjYWxlKX1hcHBseVF1YXRlcm5pb24odCl7cmV0dXJuIHRoaXMucXVhdGVybmlvbi5wcmVtdWx0aXBseSh0KSx0aGlzfXNldFJvdGF0aW9uRnJvbUF4aXNBbmdsZSh0LGUpe3RoaXMucXVhdGVybmlvbi5zZXRGcm9tQXhpc0FuZ2xlKHQsZSl9c2V0Um90YXRpb25Gcm9tRXVsZXIodCl7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21FdWxlcih0LCEwKX1zZXRSb3RhdGlvbkZyb21NYXRyaXgodCl7dGhpcy5xdWF0ZXJuaW9uLnNldEZyb21Sb3RhdGlvbk1hdHJpeCh0KX1zZXRSb3RhdGlvbkZyb21RdWF0ZXJuaW9uKHQpe3RoaXMucXVhdGVybmlvbi5jb3B5KHQpfXJvdGF0ZU9uQXhpcyh0LGUpe3JldHVybiBibHQuc2V0RnJvbUF4aXNBbmdsZSh0LGUpLHRoaXMucXVhdGVybmlvbi5tdWx0aXBseShibHQpLHRoaXN9cm90YXRlT25Xb3JsZEF4aXModCxlKXtyZXR1cm4gYmx0LnNldEZyb21BeGlzQW5nbGUodCxlKSx0aGlzLnF1YXRlcm5pb24ucHJlbXVsdGlwbHkoYmx0KSx0aGlzfXJvdGF0ZVgodCl7cmV0dXJuIHRoaXMucm90YXRlT25BeGlzKHhsdCx0KX1yb3RhdGVZKHQpe3JldHVybiB0aGlzLnJvdGF0ZU9uQXhpcyhPbHQsdCl9cm90YXRlWih0KXtyZXR1cm4gdGhpcy5yb3RhdGVPbkF4aXMoUGx0LHQpfXRyYW5zbGF0ZU9uQXhpcyh0LGUpe3JldHVybiBobHQuY29weSh0KS5hcHBseVF1YXRlcm5pb24odGhpcy5xdWF0ZXJuaW9uKSx0aGlzLnBvc2l0aW9uLmFkZChobHQubXVsdGlwbHlTY2FsYXIoZSkpLHRoaXN9dHJhbnNsYXRlWCh0KXtyZXR1cm4gdGhpcy50cmFuc2xhdGVPbkF4aXMoeGx0LHQpfXRyYW5zbGF0ZVkodCl7cmV0dXJuIHRoaXMudHJhbnNsYXRlT25BeGlzKE9sdCx0KX10cmFuc2xhdGVaKHQpe3JldHVybiB0aGlzLnRyYW5zbGF0ZU9uQXhpcyhQbHQsdCl9bG9jYWxUb1dvcmxkKHQpe3JldHVybiB0LmFwcGx5TWF0cml4NCh0aGlzLm1hdHJpeFdvcmxkKX13b3JsZFRvTG9jYWwodCl7cmV0dXJuIHQuYXBwbHlNYXRyaXg0KHlsdC5jb3B5KHRoaXMubWF0cml4V29ybGQpLmludmVydCgpKX1sb29rQXQodCxlLG4pe3QuaXNWZWN0b3IzP19sdC5jb3B5KHQpOl9sdC5zZXQodCxlLG4pO2NvbnN0IG89dGhpcy5wYXJlbnQ7dGhpcy51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSksQ2x0LnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLm1hdHJpeFdvcmxkKSx0aGlzLmlzQ2FtZXJhfHx0aGlzLmlzTGlnaHQ/eWx0Lmxvb2tBdChDbHQsX2x0LHRoaXMudXApOnlsdC5sb29rQXQoX2x0LENsdCx0aGlzLnVwKSx0aGlzLnF1YXRlcm5pb24uc2V0RnJvbVJvdGF0aW9uTWF0cml4KHlsdCksbyYmKHlsdC5leHRyYWN0Um90YXRpb24oby5tYXRyaXhXb3JsZCksYmx0LnNldEZyb21Sb3RhdGlvbk1hdHJpeCh5bHQpLHRoaXMucXVhdGVybmlvbi5wcmVtdWx0aXBseShibHQuaW52ZXJ0KCkpKX1hZGQodCl7aWYoYXJndW1lbnRzLmxlbmd0aD4xKXtmb3IobGV0IHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXRoaXMuYWRkKGFyZ3VtZW50c1t0XSk7cmV0dXJuIHRoaXN9cmV0dXJuIHQ9PT10aGlzPyhjb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3QzRC5hZGQ6IG9iamVjdCBjYW4ndCBiZSBhZGRlZCBhcyBhIGNoaWxkIG9mIGl0c2VsZi4iLHQpLHRoaXMpOih0JiZ0LmlzT2JqZWN0M0Q/KG51bGwhPT10LnBhcmVudCYmdC5wYXJlbnQucmVtb3ZlKHQpLHQucGFyZW50PXRoaXMsdGhpcy5jaGlsZHJlbi5wdXNoKHQpLHQuZGlzcGF0Y2hFdmVudCh3bHQpKTpjb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3QzRC5hZGQ6IG9iamVjdCBub3QgYW4gaW5zdGFuY2Ugb2YgVEhSRUUuT2JqZWN0M0QuIix0KSx0aGlzKX1yZW1vdmUodCl7aWYoYXJndW1lbnRzLmxlbmd0aD4xKXtmb3IobGV0IHQ9MDt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXRoaXMucmVtb3ZlKGFyZ3VtZW50c1t0XSk7cmV0dXJuIHRoaXN9Y29uc3QgZT10aGlzLmNoaWxkcmVuLmluZGV4T2YodCk7cmV0dXJuLTEhPT1lJiYodC5wYXJlbnQ9bnVsbCx0aGlzLmNoaWxkcmVuLnNwbGljZShlLDEpLHQuZGlzcGF0Y2hFdmVudChrbHQpKSx0aGlzfXJlbW92ZUZyb21QYXJlbnQoKXtjb25zdCB0PXRoaXMucGFyZW50O3JldHVybiBudWxsIT09dCYmdC5yZW1vdmUodGhpcyksdGhpc31jbGVhcigpe2ZvcihsZXQgdD0wO3Q8dGhpcy5jaGlsZHJlbi5sZW5ndGg7dCsrKXtjb25zdCBlPXRoaXMuY2hpbGRyZW5bdF07ZS5wYXJlbnQ9bnVsbCxlLmRpc3BhdGNoRXZlbnQoa2x0KX1yZXR1cm4gdGhpcy5jaGlsZHJlbi5sZW5ndGg9MCx0aGlzfWF0dGFjaCh0KXtyZXR1cm4gdGhpcy51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSkseWx0LmNvcHkodGhpcy5tYXRyaXhXb3JsZCkuaW52ZXJ0KCksbnVsbCE9PXQucGFyZW50JiYodC5wYXJlbnQudXBkYXRlV29ybGRNYXRyaXgoITAsITEpLHlsdC5tdWx0aXBseSh0LnBhcmVudC5tYXRyaXhXb3JsZCkpLHQuYXBwbHlNYXRyaXg0KHlsdCksdGhpcy5hZGQodCksdC51cGRhdGVXb3JsZE1hdHJpeCghMSwhMCksdGhpc31nZXRPYmplY3RCeUlkKHQpe3JldHVybiB0aGlzLmdldE9iamVjdEJ5UHJvcGVydHkoImlkIix0KX1nZXRPYmplY3RCeU5hbWUodCl7cmV0dXJuIHRoaXMuZ2V0T2JqZWN0QnlQcm9wZXJ0eSgibmFtZSIsdCl9Z2V0T2JqZWN0QnlQcm9wZXJ0eSh0LGUpe2lmKHRoaXNbdF09PT1lKXJldHVybiB0aGlzO2ZvcihsZXQgbj0wLG89dGhpcy5jaGlsZHJlbi5sZW5ndGg7bjxvO24rKyl7Y29uc3Qgbz10aGlzLmNoaWxkcmVuW25dLmdldE9iamVjdEJ5UHJvcGVydHkodCxlKTtpZih2b2lkIDAhPT1vKXJldHVybiBvfX1nZXRXb3JsZFBvc2l0aW9uKHQpe3JldHVybiB0aGlzLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKSx0LnNldEZyb21NYXRyaXhQb3NpdGlvbih0aGlzLm1hdHJpeFdvcmxkKX1nZXRXb3JsZFF1YXRlcm5pb24odCl7cmV0dXJuIHRoaXMudXBkYXRlV29ybGRNYXRyaXgoITAsITEpLHRoaXMubWF0cml4V29ybGQuZGVjb21wb3NlKENsdCx0LE1sdCksdH1nZXRXb3JsZFNjYWxlKHQpe3JldHVybiB0aGlzLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKSx0aGlzLm1hdHJpeFdvcmxkLmRlY29tcG9zZShDbHQsdmx0LHQpLHR9Z2V0V29ybGREaXJlY3Rpb24odCl7dGhpcy51cGRhdGVXb3JsZE1hdHJpeCghMCwhMSk7Y29uc3QgZT10aGlzLm1hdHJpeFdvcmxkLmVsZW1lbnRzO3JldHVybiB0LnNldChlWzhdLGVbOV0sZVsxMF0pLm5vcm1hbGl6ZSgpfXJheWNhc3QoKXt9dHJhdmVyc2UodCl7dCh0aGlzKTtjb25zdCBlPXRoaXMuY2hpbGRyZW47Zm9yKGxldCBuPTAsbz1lLmxlbmd0aDtuPG87bisrKWVbbl0udHJhdmVyc2UodCl9dHJhdmVyc2VWaXNpYmxlKHQpe2lmKCExPT09dGhpcy52aXNpYmxlKXJldHVybjt0KHRoaXMpO2NvbnN0IGU9dGhpcy5jaGlsZHJlbjtmb3IobGV0IG49MCxvPWUubGVuZ3RoO248bztuKyspZVtuXS50cmF2ZXJzZVZpc2libGUodCl9dHJhdmVyc2VBbmNlc3RvcnModCl7Y29uc3QgZT10aGlzLnBhcmVudDtudWxsIT09ZSYmKHQoZSksZS50cmF2ZXJzZUFuY2VzdG9ycyh0KSl9dXBkYXRlTWF0cml4KCl7dGhpcy5tYXRyaXguY29tcG9zZSh0aGlzLnBvc2l0aW9uLHRoaXMucXVhdGVybmlvbix0aGlzLnNjYWxlKSx0aGlzLm1hdHJpeFdvcmxkTmVlZHNVcGRhdGU9ITB9dXBkYXRlTWF0cml4V29ybGQodCl7dGhpcy5tYXRyaXhBdXRvVXBkYXRlJiZ0aGlzLnVwZGF0ZU1hdHJpeCgpLCh0aGlzLm1hdHJpeFdvcmxkTmVlZHNVcGRhdGV8fHQpJiYobnVsbD09PXRoaXMucGFyZW50P3RoaXMubWF0cml4V29ybGQuY29weSh0aGlzLm1hdHJpeCk6dGhpcy5tYXRyaXhXb3JsZC5tdWx0aXBseU1hdHJpY2VzKHRoaXMucGFyZW50Lm1hdHJpeFdvcmxkLHRoaXMubWF0cml4KSx0aGlzLm1hdHJpeFdvcmxkTmVlZHNVcGRhdGU9ITEsdD0hMCk7Y29uc3QgZT10aGlzLmNoaWxkcmVuO2ZvcihsZXQgbj0wLG89ZS5sZW5ndGg7bjxvO24rKyllW25dLnVwZGF0ZU1hdHJpeFdvcmxkKHQpfXVwZGF0ZVdvcmxkTWF0cml4KHQsZSl7Y29uc3Qgbj10aGlzLnBhcmVudDtpZighMD09PXQmJm51bGwhPT1uJiZuLnVwZGF0ZVdvcmxkTWF0cml4KCEwLCExKSx0aGlzLm1hdHJpeEF1dG9VcGRhdGUmJnRoaXMudXBkYXRlTWF0cml4KCksbnVsbD09PXRoaXMucGFyZW50P3RoaXMubWF0cml4V29ybGQuY29weSh0aGlzLm1hdHJpeCk6dGhpcy5tYXRyaXhXb3JsZC5tdWx0aXBseU1hdHJpY2VzKHRoaXMucGFyZW50Lm1hdHJpeFdvcmxkLHRoaXMubWF0cml4KSwhMD09PWUpe2NvbnN0IHQ9dGhpcy5jaGlsZHJlbjtmb3IobGV0IGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspdFtlXS51cGRhdGVXb3JsZE1hdHJpeCghMSwhMCl9fXRvSlNPTih0KXtjb25zdCBlPXZvaWQgMD09PXR8fCJzdHJpbmciPT10eXBlb2YgdCxuPXt9O2UmJih0PXtnZW9tZXRyaWVzOnt9LG1hdGVyaWFsczp7fSx0ZXh0dXJlczp7fSxpbWFnZXM6e30sc2hhcGVzOnt9LHNrZWxldG9uczp7fSxhbmltYXRpb25zOnt9fSxuLm1ldGFkYXRhPXt2ZXJzaW9uOjQuNSx0eXBlOiJPYmplY3QiLGdlbmVyYXRvcjoiT2JqZWN0M0QudG9KU09OIn0pO2NvbnN0IG89e307ZnVuY3Rpb24gaShlLG4pe3JldHVybiB2b2lkIDA9PT1lW24udXVpZF0mJihlW24udXVpZF09bi50b0pTT04odCkpLG4udXVpZH1pZihvLnV1aWQ9dGhpcy51dWlkLG8udHlwZT10aGlzLnR5cGUsIiIhPT10aGlzLm5hbWUmJihvLm5hbWU9dGhpcy5uYW1lKSwhMD09PXRoaXMuY2FzdFNoYWRvdyYmKG8uY2FzdFNoYWRvdz0hMCksITA9PT10aGlzLnJlY2VpdmVTaGFkb3cmJihvLnJlY2VpdmVTaGFkb3c9ITApLCExPT09dGhpcy52aXNpYmxlJiYoby52aXNpYmxlPSExKSwhMT09PXRoaXMuZnJ1c3R1bUN1bGxlZCYmKG8uZnJ1c3R1bUN1bGxlZD0hMSksMCE9PXRoaXMucmVuZGVyT3JkZXImJihvLnJlbmRlck9yZGVyPXRoaXMucmVuZGVyT3JkZXIpLCJ7fSIhPT1KU09OLnN0cmluZ2lmeSh0aGlzLnVzZXJEYXRhKSYmKG8udXNlckRhdGE9dGhpcy51c2VyRGF0YSksby5sYXllcnM9dGhpcy5sYXllcnMubWFzayxvLm1hdHJpeD10aGlzLm1hdHJpeC50b0FycmF5KCksITE9PT10aGlzLm1hdHJpeEF1dG9VcGRhdGUmJihvLm1hdHJpeEF1dG9VcGRhdGU9ITEpLHRoaXMuaXNJbnN0YW5jZWRNZXNoJiYoby50eXBlPSJJbnN0YW5jZWRNZXNoIixvLmNvdW50PXRoaXMuY291bnQsby5pbnN0YW5jZU1hdHJpeD10aGlzLmluc3RhbmNlTWF0cml4LnRvSlNPTigpLG51bGwhPT10aGlzLmluc3RhbmNlQ29sb3ImJihvLmluc3RhbmNlQ29sb3I9dGhpcy5pbnN0YW5jZUNvbG9yLnRvSlNPTigpKSksdGhpcy5pc1NjZW5lKXRoaXMuYmFja2dyb3VuZCYmKHRoaXMuYmFja2dyb3VuZC5pc0NvbG9yP28uYmFja2dyb3VuZD10aGlzLmJhY2tncm91bmQudG9KU09OKCk6dGhpcy5iYWNrZ3JvdW5kLmlzVGV4dHVyZSYmKG8uYmFja2dyb3VuZD10aGlzLmJhY2tncm91bmQudG9KU09OKHQpLnV1aWQpKSx0aGlzLmVudmlyb25tZW50JiZ0aGlzLmVudmlyb25tZW50LmlzVGV4dHVyZSYmKG8uZW52aXJvbm1lbnQ9dGhpcy5lbnZpcm9ubWVudC50b0pTT04odCkudXVpZCk7ZWxzZSBpZih0aGlzLmlzTWVzaHx8dGhpcy5pc0xpbmV8fHRoaXMuaXNQb2ludHMpe28uZ2VvbWV0cnk9aSh0Lmdlb21ldHJpZXMsdGhpcy5nZW9tZXRyeSk7Y29uc3QgZT10aGlzLmdlb21ldHJ5LnBhcmFtZXRlcnM7aWYodm9pZCAwIT09ZSYmdm9pZCAwIT09ZS5zaGFwZXMpe2NvbnN0IG49ZS5zaGFwZXM7aWYoQXJyYXkuaXNBcnJheShuKSlmb3IobGV0IGU9MCxvPW4ubGVuZ3RoO2U8bztlKyspe2kodC5zaGFwZXMsbltlXSl9ZWxzZSBpKHQuc2hhcGVzLG4pfX1pZih0aGlzLmlzU2tpbm5lZE1lc2gmJihvLmJpbmRNb2RlPXRoaXMuYmluZE1vZGUsby5iaW5kTWF0cml4PXRoaXMuYmluZE1hdHJpeC50b0FycmF5KCksdm9pZCAwIT09dGhpcy5za2VsZXRvbiYmKGkodC5za2VsZXRvbnMsdGhpcy5za2VsZXRvbiksby5za2VsZXRvbj10aGlzLnNrZWxldG9uLnV1aWQpKSx2b2lkIDAhPT10aGlzLm1hdGVyaWFsKWlmKEFycmF5LmlzQXJyYXkodGhpcy5tYXRlcmlhbCkpe2NvbnN0IGU9W107Zm9yKGxldCBuPTAsbz10aGlzLm1hdGVyaWFsLmxlbmd0aDtuPG87bisrKWUucHVzaChpKHQubWF0ZXJpYWxzLHRoaXMubWF0ZXJpYWxbbl0pKTtvLm1hdGVyaWFsPWV9ZWxzZSBvLm1hdGVyaWFsPWkodC5tYXRlcmlhbHMsdGhpcy5tYXRlcmlhbCk7aWYodGhpcy5jaGlsZHJlbi5sZW5ndGg+MCl7by5jaGlsZHJlbj1bXTtmb3IobGV0IGU9MDtlPHRoaXMuY2hpbGRyZW4ubGVuZ3RoO2UrKylvLmNoaWxkcmVuLnB1c2godGhpcy5jaGlsZHJlbltlXS50b0pTT04odCkub2JqZWN0KX1pZih0aGlzLmFuaW1hdGlvbnMubGVuZ3RoPjApe28uYW5pbWF0aW9ucz1bXTtmb3IobGV0IGU9MDtlPHRoaXMuYW5pbWF0aW9ucy5sZW5ndGg7ZSsrKXtvLmFuaW1hdGlvbnMucHVzaChpKHQuYW5pbWF0aW9ucyx0aGlzLmFuaW1hdGlvbnNbZV0pKX19aWYoZSl7Y29uc3QgZT1hKHQuZ2VvbWV0cmllcyksbz1hKHQubWF0ZXJpYWxzKSxpPWEodC50ZXh0dXJlcykscj1hKHQuaW1hZ2VzKSxzPWEodC5zaGFwZXMpLGw9YSh0LnNrZWxldG9ucyksYz1hKHQuYW5pbWF0aW9ucyk7ZS5sZW5ndGg+MCYmKG4uZ2VvbWV0cmllcz1lKSxvLmxlbmd0aD4wJiYobi5tYXRlcmlhbHM9byksaS5sZW5ndGg+MCYmKG4udGV4dHVyZXM9aSksci5sZW5ndGg+MCYmKG4uaW1hZ2VzPXIpLHMubGVuZ3RoPjAmJihuLnNoYXBlcz1zKSxsLmxlbmd0aD4wJiYobi5za2VsZXRvbnM9bCksYy5sZW5ndGg+MCYmKG4uYW5pbWF0aW9ucz1jKX1yZXR1cm4gbi5vYmplY3Q9byxuO2Z1bmN0aW9uIGEodCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgbiBpbiB0KXtjb25zdCBvPXRbbl07ZGVsZXRlIG8ubWV0YWRhdGEsZS5wdXNoKG8pfXJldHVybiBlfX1jbG9uZSh0KXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyx0KX1jb3B5KHQsZT0hMCl7aWYodGhpcy5uYW1lPXQubmFtZSx0aGlzLnVwLmNvcHkodC51cCksdGhpcy5wb3NpdGlvbi5jb3B5KHQucG9zaXRpb24pLHRoaXMucm90YXRpb24ub3JkZXI9dC5yb3RhdGlvbi5vcmRlcix0aGlzLnF1YXRlcm5pb24uY29weSh0LnF1YXRlcm5pb24pLHRoaXMuc2NhbGUuY29weSh0LnNjYWxlKSx0aGlzLm1hdHJpeC5jb3B5KHQubWF0cml4KSx0aGlzLm1hdHJpeFdvcmxkLmNvcHkodC5tYXRyaXhXb3JsZCksdGhpcy5tYXRyaXhBdXRvVXBkYXRlPXQubWF0cml4QXV0b1VwZGF0ZSx0aGlzLm1hdHJpeFdvcmxkTmVlZHNVcGRhdGU9dC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlLHRoaXMubGF5ZXJzLm1hc2s9dC5sYXllcnMubWFzayx0aGlzLnZpc2libGU9dC52aXNpYmxlLHRoaXMuY2FzdFNoYWRvdz10LmNhc3RTaGFkb3csdGhpcy5yZWNlaXZlU2hhZG93PXQucmVjZWl2ZVNoYWRvdyx0aGlzLmZydXN0dW1DdWxsZWQ9dC5mcnVzdHVtQ3VsbGVkLHRoaXMucmVuZGVyT3JkZXI9dC5yZW5kZXJPcmRlcix0aGlzLnVzZXJEYXRhPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodC51c2VyRGF0YSkpLCEwPT09ZSlmb3IobGV0IGU9MDtlPHQuY2hpbGRyZW4ubGVuZ3RoO2UrKyl7dGhpcy5hZGQodC5jaGlsZHJlbltlXS5jbG9uZSgpKX1yZXR1cm4gdGhpc319U2x0LkRlZmF1bHRVcD1uZXcgd3N0KDAsMSwwKSxTbHQuRGVmYXVsdE1hdHJpeEF1dG9VcGRhdGU9ITAsU2x0LnByb3RvdHlwZS5pc09iamVjdDNEPSEwO2NvbnN0IERsdD1uZXcgd3N0LFJsdD1uZXcgd3N0LEVsdD1uZXcgd3N0LEFsdD1uZXcgd3N0LFRsdD1uZXcgd3N0LE5sdD1uZXcgd3N0LHpsdD1uZXcgd3N0LElsdD1uZXcgd3N0LEhsdD1uZXcgd3N0LEZsdD1uZXcgd3N0O2NsYXNzIExsdHtjb25zdHJ1Y3Rvcih0PW5ldyB3c3QsZT1uZXcgd3N0LG49bmV3IHdzdCl7dGhpcy5hPXQsdGhpcy5iPWUsdGhpcy5jPW59c3RhdGljIGdldE5vcm1hbCh0LGUsbixvKXtvLnN1YlZlY3RvcnMobixlKSxEbHQuc3ViVmVjdG9ycyh0LGUpLG8uY3Jvc3MoRGx0KTtjb25zdCBpPW8ubGVuZ3RoU3EoKTtyZXR1cm4gaT4wP28ubXVsdGlwbHlTY2FsYXIoMS9NYXRoLnNxcnQoaSkpOm8uc2V0KDAsMCwwKX1zdGF0aWMgZ2V0QmFyeWNvb3JkKHQsZSxuLG8saSl7RGx0LnN1YlZlY3RvcnMobyxlKSxSbHQuc3ViVmVjdG9ycyhuLGUpLEVsdC5zdWJWZWN0b3JzKHQsZSk7Y29uc3QgYT1EbHQuZG90KERsdCkscj1EbHQuZG90KFJsdCkscz1EbHQuZG90KEVsdCksbD1SbHQuZG90KFJsdCksYz1SbHQuZG90KEVsdCksZD1hKmwtcipyO2lmKDA9PT1kKXJldHVybiBpLnNldCgtMiwtMSwtMSk7Y29uc3QgcD0xL2QsbT0obCpzLXIqYykqcCxmPShhKmMtcipzKSpwO3JldHVybiBpLnNldCgxLW0tZixmLG0pfXN0YXRpYyBjb250YWluc1BvaW50KHQsZSxuLG8pe3JldHVybiB0aGlzLmdldEJhcnljb29yZCh0LGUsbixvLEFsdCksQWx0Lng+PTAmJkFsdC55Pj0wJiZBbHQueCtBbHQueTw9MX1zdGF0aWMgZ2V0VVYodCxlLG4sbyxpLGEscixzKXtyZXR1cm4gdGhpcy5nZXRCYXJ5Y29vcmQodCxlLG4sbyxBbHQpLHMuc2V0KDAsMCkscy5hZGRTY2FsZWRWZWN0b3IoaSxBbHQueCkscy5hZGRTY2FsZWRWZWN0b3IoYSxBbHQueSkscy5hZGRTY2FsZWRWZWN0b3IocixBbHQueiksc31zdGF0aWMgaXNGcm9udEZhY2luZyh0LGUsbixvKXtyZXR1cm4gRGx0LnN1YlZlY3RvcnMobixlKSxSbHQuc3ViVmVjdG9ycyh0LGUpLERsdC5jcm9zcyhSbHQpLmRvdChvKTwwfXNldCh0LGUsbil7cmV0dXJuIHRoaXMuYS5jb3B5KHQpLHRoaXMuYi5jb3B5KGUpLHRoaXMuYy5jb3B5KG4pLHRoaXN9c2V0RnJvbVBvaW50c0FuZEluZGljZXModCxlLG4sbyl7cmV0dXJuIHRoaXMuYS5jb3B5KHRbZV0pLHRoaXMuYi5jb3B5KHRbbl0pLHRoaXMuYy5jb3B5KHRbb10pLHRoaXN9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXtyZXR1cm4gdGhpcy5hLmNvcHkodC5hKSx0aGlzLmIuY29weSh0LmIpLHRoaXMuYy5jb3B5KHQuYyksdGhpc31nZXRBcmVhKCl7cmV0dXJuIERsdC5zdWJWZWN0b3JzKHRoaXMuYyx0aGlzLmIpLFJsdC5zdWJWZWN0b3JzKHRoaXMuYSx0aGlzLmIpLC41KkRsdC5jcm9zcyhSbHQpLmxlbmd0aCgpfWdldE1pZHBvaW50KHQpe3JldHVybiB0LmFkZFZlY3RvcnModGhpcy5hLHRoaXMuYikuYWRkKHRoaXMuYykubXVsdGlwbHlTY2FsYXIoMS8zKX1nZXROb3JtYWwodCl7cmV0dXJuIExsdC5nZXROb3JtYWwodGhpcy5hLHRoaXMuYix0aGlzLmMsdCl9Z2V0UGxhbmUodCl7cmV0dXJuIHQuc2V0RnJvbUNvcGxhbmFyUG9pbnRzKHRoaXMuYSx0aGlzLmIsdGhpcy5jKX1nZXRCYXJ5Y29vcmQodCxlKXtyZXR1cm4gTGx0LmdldEJhcnljb29yZCh0LHRoaXMuYSx0aGlzLmIsdGhpcy5jLGUpfWdldFVWKHQsZSxuLG8saSl7cmV0dXJuIExsdC5nZXRVVih0LHRoaXMuYSx0aGlzLmIsdGhpcy5jLGUsbixvLGkpfWNvbnRhaW5zUG9pbnQodCl7cmV0dXJuIExsdC5jb250YWluc1BvaW50KHQsdGhpcy5hLHRoaXMuYix0aGlzLmMpfWlzRnJvbnRGYWNpbmcodCl7cmV0dXJuIExsdC5pc0Zyb250RmFjaW5nKHRoaXMuYSx0aGlzLmIsdGhpcy5jLHQpfWludGVyc2VjdHNCb3godCl7cmV0dXJuIHQuaW50ZXJzZWN0c1RyaWFuZ2xlKHRoaXMpfWNsb3Nlc3RQb2ludFRvUG9pbnQodCxlKXtjb25zdCBuPXRoaXMuYSxvPXRoaXMuYixpPXRoaXMuYztsZXQgYSxyO1RsdC5zdWJWZWN0b3JzKG8sbiksTmx0LnN1YlZlY3RvcnMoaSxuKSxJbHQuc3ViVmVjdG9ycyh0LG4pO2NvbnN0IHM9VGx0LmRvdChJbHQpLGw9Tmx0LmRvdChJbHQpO2lmKHM8PTAmJmw8PTApcmV0dXJuIGUuY29weShuKTtIbHQuc3ViVmVjdG9ycyh0LG8pO2NvbnN0IGM9VGx0LmRvdChIbHQpLGQ9Tmx0LmRvdChIbHQpO2lmKGM+PTAmJmQ8PWMpcmV0dXJuIGUuY29weShvKTtjb25zdCBwPXMqZC1jKmw7aWYocDw9MCYmcz49MCYmYzw9MClyZXR1cm4gYT1zLyhzLWMpLGUuY29weShuKS5hZGRTY2FsZWRWZWN0b3IoVGx0LGEpO0ZsdC5zdWJWZWN0b3JzKHQsaSk7Y29uc3QgbT1UbHQuZG90KEZsdCksZj1ObHQuZG90KEZsdCk7aWYoZj49MCYmbTw9ZilyZXR1cm4gZS5jb3B5KGkpO2NvbnN0IHU9bSpsLXMqZjtpZih1PD0wJiZsPj0wJiZmPD0wKXJldHVybiByPWwvKGwtZiksZS5jb3B5KG4pLmFkZFNjYWxlZFZlY3RvcihObHQscik7Y29uc3QgZz1jKmYtbSpkO2lmKGc8PTAmJmQtYz49MCYmbS1mPj0wKXJldHVybiB6bHQuc3ViVmVjdG9ycyhpLG8pLHI9KGQtYykvKGQtYysobS1mKSksZS5jb3B5KG8pLmFkZFNjYWxlZFZlY3Rvcih6bHQscik7Y29uc3QgaD0xLyhnK3UrcCk7cmV0dXJuIGE9dSpoLHI9cCpoLGUuY29weShuKS5hZGRTY2FsZWRWZWN0b3IoVGx0LGEpLmFkZFNjYWxlZFZlY3RvcihObHQscil9ZXF1YWxzKHQpe3JldHVybiB0LmEuZXF1YWxzKHRoaXMuYSkmJnQuYi5lcXVhbHModGhpcy5iKSYmdC5jLmVxdWFscyh0aGlzLmMpfX1sZXQgQmx0PTA7Y2xhc3MgVmx0IGV4dGVuZHMgcnN0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiaWQiLHt2YWx1ZTpCbHQrK30pLHRoaXMudXVpZD1kc3QoKSx0aGlzLm5hbWU9IiIsdGhpcy50eXBlPSJNYXRlcmlhbCIsdGhpcy5mb2c9ITAsdGhpcy5ibGVuZGluZz0xLHRoaXMuc2lkZT0wLHRoaXMudmVydGV4Q29sb3JzPSExLHRoaXMub3BhY2l0eT0xLHRoaXMudHJhbnNwYXJlbnQ9ITEsdGhpcy5ibGVuZFNyYz0yMDQsdGhpcy5ibGVuZERzdD0yMDUsdGhpcy5ibGVuZEVxdWF0aW9uPVBydCx0aGlzLmJsZW5kU3JjQWxwaGE9bnVsbCx0aGlzLmJsZW5kRHN0QWxwaGE9bnVsbCx0aGlzLmJsZW5kRXF1YXRpb25BbHBoYT1udWxsLHRoaXMuZGVwdGhGdW5jPTMsdGhpcy5kZXB0aFRlc3Q9ITAsdGhpcy5kZXB0aFdyaXRlPSEwLHRoaXMuc3RlbmNpbFdyaXRlTWFzaz0yNTUsdGhpcy5zdGVuY2lsRnVuYz01MTksdGhpcy5zdGVuY2lsUmVmPTAsdGhpcy5zdGVuY2lsRnVuY01hc2s9MjU1LHRoaXMuc3RlbmNpbEZhaWw9bnN0LHRoaXMuc3RlbmNpbFpGYWlsPW5zdCx0aGlzLnN0ZW5jaWxaUGFzcz1uc3QsdGhpcy5zdGVuY2lsV3JpdGU9ITEsdGhpcy5jbGlwcGluZ1BsYW5lcz1udWxsLHRoaXMuY2xpcEludGVyc2VjdGlvbj0hMSx0aGlzLmNsaXBTaGFkb3dzPSExLHRoaXMuc2hhZG93U2lkZT1udWxsLHRoaXMuY29sb3JXcml0ZT0hMCx0aGlzLnByZWNpc2lvbj1udWxsLHRoaXMucG9seWdvbk9mZnNldD0hMSx0aGlzLnBvbHlnb25PZmZzZXRGYWN0b3I9MCx0aGlzLnBvbHlnb25PZmZzZXRVbml0cz0wLHRoaXMuZGl0aGVyaW5nPSExLHRoaXMuYWxwaGFUZXN0PTAsdGhpcy5hbHBoYVRvQ292ZXJhZ2U9ITEsdGhpcy5wcmVtdWx0aXBsaWVkQWxwaGE9ITEsdGhpcy52aXNpYmxlPSEwLHRoaXMudG9uZU1hcHBlZD0hMCx0aGlzLnVzZXJEYXRhPXt9LHRoaXMudmVyc2lvbj0wfW9uQnVpbGQoKXt9b25CZWZvcmVDb21waWxlKCl7fWN1c3RvbVByb2dyYW1DYWNoZUtleSgpe3JldHVybiB0aGlzLm9uQmVmb3JlQ29tcGlsZS50b1N0cmluZygpfXNldFZhbHVlcyh0KXtpZih2b2lkIDAhPT10KWZvcihjb25zdCBlIGluIHQpe2NvbnN0IG49dFtlXTtpZih2b2lkIDA9PT1uKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAnIitlKyInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuIik7Y29udGludWV9aWYoInNoYWRpbmciPT09ZSl7Y29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAuc2hhZGluZyBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdGhlIGJvb2xlYW4gLmZsYXRTaGFkaW5nIGluc3RlYWQuIiksdGhpcy5mbGF0U2hhZGluZz0xPT09bjtjb250aW51ZX1jb25zdCBvPXRoaXNbZV07dm9pZCAwIT09bz9vJiZvLmlzQ29sb3I/by5zZXQobik6byYmby5pc1ZlY3RvcjMmJm4mJm4uaXNWZWN0b3IzP28uY29weShuKTp0aGlzW2VdPW46Y29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAnIitlKyInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuIil9fXRvSlNPTih0KXtjb25zdCBlPXZvaWQgMD09PXR8fCJzdHJpbmciPT10eXBlb2YgdDtlJiYodD17dGV4dHVyZXM6e30saW1hZ2VzOnt9fSk7Y29uc3Qgbj17bWV0YWRhdGE6e3ZlcnNpb246NC41LHR5cGU6Ik1hdGVyaWFsIixnZW5lcmF0b3I6Ik1hdGVyaWFsLnRvSlNPTiJ9fTtmdW5jdGlvbiBvKHQpe2NvbnN0IGU9W107Zm9yKGNvbnN0IG4gaW4gdCl7Y29uc3Qgbz10W25dO2RlbGV0ZSBvLm1ldGFkYXRhLGUucHVzaChvKX1yZXR1cm4gZX1pZihuLnV1aWQ9dGhpcy51dWlkLG4udHlwZT10aGlzLnR5cGUsIiIhPT10aGlzLm5hbWUmJihuLm5hbWU9dGhpcy5uYW1lKSx0aGlzLmNvbG9yJiZ0aGlzLmNvbG9yLmlzQ29sb3ImJihuLmNvbG9yPXRoaXMuY29sb3IuZ2V0SGV4KCkpLHZvaWQgMCE9PXRoaXMucm91Z2huZXNzJiYobi5yb3VnaG5lc3M9dGhpcy5yb3VnaG5lc3MpLHZvaWQgMCE9PXRoaXMubWV0YWxuZXNzJiYobi5tZXRhbG5lc3M9dGhpcy5tZXRhbG5lc3MpLHRoaXMuc2hlZW4mJnRoaXMuc2hlZW4uaXNDb2xvciYmKG4uc2hlZW49dGhpcy5zaGVlbi5nZXRIZXgoKSksdGhpcy5lbWlzc2l2ZSYmdGhpcy5lbWlzc2l2ZS5pc0NvbG9yJiYobi5lbWlzc2l2ZT10aGlzLmVtaXNzaXZlLmdldEhleCgpKSx0aGlzLmVtaXNzaXZlSW50ZW5zaXR5JiYxIT09dGhpcy5lbWlzc2l2ZUludGVuc2l0eSYmKG4uZW1pc3NpdmVJbnRlbnNpdHk9dGhpcy5lbWlzc2l2ZUludGVuc2l0eSksdGhpcy5zcGVjdWxhciYmdGhpcy5zcGVjdWxhci5pc0NvbG9yJiYobi5zcGVjdWxhcj10aGlzLnNwZWN1bGFyLmdldEhleCgpKSx2b2lkIDAhPT10aGlzLnNwZWN1bGFySW50ZW5zaXR5JiYobi5zcGVjdWxhckludGVuc2l0eT10aGlzLnNwZWN1bGFySW50ZW5zaXR5KSx0aGlzLnNwZWN1bGFyVGludCYmdGhpcy5zcGVjdWxhclRpbnQuaXNDb2xvciYmKG4uc3BlY3VsYXJUaW50PXRoaXMuc3BlY3VsYXJUaW50LmdldEhleCgpKSx2b2lkIDAhPT10aGlzLnNoaW5pbmVzcyYmKG4uc2hpbmluZXNzPXRoaXMuc2hpbmluZXNzKSx2b2lkIDAhPT10aGlzLmNsZWFyY29hdCYmKG4uY2xlYXJjb2F0PXRoaXMuY2xlYXJjb2F0KSx2b2lkIDAhPT10aGlzLmNsZWFyY29hdFJvdWdobmVzcyYmKG4uY2xlYXJjb2F0Um91Z2huZXNzPXRoaXMuY2xlYXJjb2F0Um91Z2huZXNzKSx0aGlzLmNsZWFyY29hdE1hcCYmdGhpcy5jbGVhcmNvYXRNYXAuaXNUZXh0dXJlJiYobi5jbGVhcmNvYXRNYXA9dGhpcy5jbGVhcmNvYXRNYXAudG9KU09OKHQpLnV1aWQpLHRoaXMuY2xlYXJjb2F0Um91Z2huZXNzTWFwJiZ0aGlzLmNsZWFyY29hdFJvdWdobmVzc01hcC5pc1RleHR1cmUmJihuLmNsZWFyY29hdFJvdWdobmVzc01hcD10aGlzLmNsZWFyY29hdFJvdWdobmVzc01hcC50b0pTT04odCkudXVpZCksdGhpcy5jbGVhcmNvYXROb3JtYWxNYXAmJnRoaXMuY2xlYXJjb2F0Tm9ybWFsTWFwLmlzVGV4dHVyZSYmKG4uY2xlYXJjb2F0Tm9ybWFsTWFwPXRoaXMuY2xlYXJjb2F0Tm9ybWFsTWFwLnRvSlNPTih0KS51dWlkLG4uY2xlYXJjb2F0Tm9ybWFsU2NhbGU9dGhpcy5jbGVhcmNvYXROb3JtYWxTY2FsZS50b0FycmF5KCkpLHRoaXMubWFwJiZ0aGlzLm1hcC5pc1RleHR1cmUmJihuLm1hcD10aGlzLm1hcC50b0pTT04odCkudXVpZCksdGhpcy5tYXRjYXAmJnRoaXMubWF0Y2FwLmlzVGV4dHVyZSYmKG4ubWF0Y2FwPXRoaXMubWF0Y2FwLnRvSlNPTih0KS51dWlkKSx0aGlzLmFscGhhTWFwJiZ0aGlzLmFscGhhTWFwLmlzVGV4dHVyZSYmKG4uYWxwaGFNYXA9dGhpcy5hbHBoYU1hcC50b0pTT04odCkudXVpZCksdGhpcy5saWdodE1hcCYmdGhpcy5saWdodE1hcC5pc1RleHR1cmUmJihuLmxpZ2h0TWFwPXRoaXMubGlnaHRNYXAudG9KU09OKHQpLnV1aWQsbi5saWdodE1hcEludGVuc2l0eT10aGlzLmxpZ2h0TWFwSW50ZW5zaXR5KSx0aGlzLmFvTWFwJiZ0aGlzLmFvTWFwLmlzVGV4dHVyZSYmKG4uYW9NYXA9dGhpcy5hb01hcC50b0pTT04odCkudXVpZCxuLmFvTWFwSW50ZW5zaXR5PXRoaXMuYW9NYXBJbnRlbnNpdHkpLHRoaXMuYnVtcE1hcCYmdGhpcy5idW1wTWFwLmlzVGV4dHVyZSYmKG4uYnVtcE1hcD10aGlzLmJ1bXBNYXAudG9KU09OKHQpLnV1aWQsbi5idW1wU2NhbGU9dGhpcy5idW1wU2NhbGUpLHRoaXMubm9ybWFsTWFwJiZ0aGlzLm5vcm1hbE1hcC5pc1RleHR1cmUmJihuLm5vcm1hbE1hcD10aGlzLm5vcm1hbE1hcC50b0pTT04odCkudXVpZCxuLm5vcm1hbE1hcFR5cGU9dGhpcy5ub3JtYWxNYXBUeXBlLG4ubm9ybWFsU2NhbGU9dGhpcy5ub3JtYWxTY2FsZS50b0FycmF5KCkpLHRoaXMuZGlzcGxhY2VtZW50TWFwJiZ0aGlzLmRpc3BsYWNlbWVudE1hcC5pc1RleHR1cmUmJihuLmRpc3BsYWNlbWVudE1hcD10aGlzLmRpc3BsYWNlbWVudE1hcC50b0pTT04odCkudXVpZCxuLmRpc3BsYWNlbWVudFNjYWxlPXRoaXMuZGlzcGxhY2VtZW50U2NhbGUsbi5kaXNwbGFjZW1lbnRCaWFzPXRoaXMuZGlzcGxhY2VtZW50QmlhcyksdGhpcy5yb3VnaG5lc3NNYXAmJnRoaXMucm91Z2huZXNzTWFwLmlzVGV4dHVyZSYmKG4ucm91Z2huZXNzTWFwPXRoaXMucm91Z2huZXNzTWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLm1ldGFsbmVzc01hcCYmdGhpcy5tZXRhbG5lc3NNYXAuaXNUZXh0dXJlJiYobi5tZXRhbG5lc3NNYXA9dGhpcy5tZXRhbG5lc3NNYXAudG9KU09OKHQpLnV1aWQpLHRoaXMuZW1pc3NpdmVNYXAmJnRoaXMuZW1pc3NpdmVNYXAuaXNUZXh0dXJlJiYobi5lbWlzc2l2ZU1hcD10aGlzLmVtaXNzaXZlTWFwLnRvSlNPTih0KS51dWlkKSx0aGlzLnNwZWN1bGFyTWFwJiZ0aGlzLnNwZWN1bGFyTWFwLmlzVGV4dHVyZSYmKG4uc3BlY3VsYXJNYXA9dGhpcy5zcGVjdWxhck1hcC50b0pTT04odCkudXVpZCksdGhpcy5zcGVjdWxhckludGVuc2l0eU1hcCYmdGhpcy5zcGVjdWxhckludGVuc2l0eU1hcC5pc1RleHR1cmUmJihuLnNwZWN1bGFySW50ZW5zaXR5TWFwPXRoaXMuc3BlY3VsYXJJbnRlbnNpdHlNYXAudG9KU09OKHQpLnV1aWQpLHRoaXMuc3BlY3VsYXJUaW50TWFwJiZ0aGlzLnNwZWN1bGFyVGludE1hcC5pc1RleHR1cmUmJihuLnNwZWN1bGFyVGludE1hcD10aGlzLnNwZWN1bGFyVGludE1hcC50b0pTT04odCkudXVpZCksdGhpcy5lbnZNYXAmJnRoaXMuZW52TWFwLmlzVGV4dHVyZSYmKG4uZW52TWFwPXRoaXMuZW52TWFwLnRvSlNPTih0KS51dWlkLHZvaWQgMCE9PXRoaXMuY29tYmluZSYmKG4uY29tYmluZT10aGlzLmNvbWJpbmUpKSx2b2lkIDAhPT10aGlzLmVudk1hcEludGVuc2l0eSYmKG4uZW52TWFwSW50ZW5zaXR5PXRoaXMuZW52TWFwSW50ZW5zaXR5KSx2b2lkIDAhPT10aGlzLnJlZmxlY3Rpdml0eSYmKG4ucmVmbGVjdGl2aXR5PXRoaXMucmVmbGVjdGl2aXR5KSx2b2lkIDAhPT10aGlzLnJlZnJhY3Rpb25SYXRpbyYmKG4ucmVmcmFjdGlvblJhdGlvPXRoaXMucmVmcmFjdGlvblJhdGlvKSx0aGlzLmdyYWRpZW50TWFwJiZ0aGlzLmdyYWRpZW50TWFwLmlzVGV4dHVyZSYmKG4uZ3JhZGllbnRNYXA9dGhpcy5ncmFkaWVudE1hcC50b0pTT04odCkudXVpZCksdm9pZCAwIT09dGhpcy50cmFuc21pc3Npb24mJihuLnRyYW5zbWlzc2lvbj10aGlzLnRyYW5zbWlzc2lvbiksdGhpcy50cmFuc21pc3Npb25NYXAmJnRoaXMudHJhbnNtaXNzaW9uTWFwLmlzVGV4dHVyZSYmKG4udHJhbnNtaXNzaW9uTWFwPXRoaXMudHJhbnNtaXNzaW9uTWFwLnRvSlNPTih0KS51dWlkKSx2b2lkIDAhPT10aGlzLnRoaWNrbmVzcyYmKG4udGhpY2tuZXNzPXRoaXMudGhpY2tuZXNzKSx0aGlzLnRoaWNrbmVzc01hcCYmdGhpcy50aGlja25lc3NNYXAuaXNUZXh0dXJlJiYobi50aGlja25lc3NNYXA9dGhpcy50aGlja25lc3NNYXAudG9KU09OKHQpLnV1aWQpLHZvaWQgMCE9PXRoaXMuYXR0ZW51YXRpb25EaXN0YW5jZSYmKG4uYXR0ZW51YXRpb25EaXN0YW5jZT10aGlzLmF0dGVudWF0aW9uRGlzdGFuY2UpLHZvaWQgMCE9PXRoaXMuYXR0ZW51YXRpb25UaW50JiYobi5hdHRlbnVhdGlvblRpbnQ9dGhpcy5hdHRlbnVhdGlvblRpbnQuZ2V0SGV4KCkpLHZvaWQgMCE9PXRoaXMuc2l6ZSYmKG4uc2l6ZT10aGlzLnNpemUpLG51bGwhPT10aGlzLnNoYWRvd1NpZGUmJihuLnNoYWRvd1NpZGU9dGhpcy5zaGFkb3dTaWRlKSx2b2lkIDAhPT10aGlzLnNpemVBdHRlbnVhdGlvbiYmKG4uc2l6ZUF0dGVudWF0aW9uPXRoaXMuc2l6ZUF0dGVudWF0aW9uKSwxIT09dGhpcy5ibGVuZGluZyYmKG4uYmxlbmRpbmc9dGhpcy5ibGVuZGluZyksMCE9PXRoaXMuc2lkZSYmKG4uc2lkZT10aGlzLnNpZGUpLHRoaXMudmVydGV4Q29sb3JzJiYobi52ZXJ0ZXhDb2xvcnM9ITApLHRoaXMub3BhY2l0eTwxJiYobi5vcGFjaXR5PXRoaXMub3BhY2l0eSksITA9PT10aGlzLnRyYW5zcGFyZW50JiYobi50cmFuc3BhcmVudD10aGlzLnRyYW5zcGFyZW50KSxuLmRlcHRoRnVuYz10aGlzLmRlcHRoRnVuYyxuLmRlcHRoVGVzdD10aGlzLmRlcHRoVGVzdCxuLmRlcHRoV3JpdGU9dGhpcy5kZXB0aFdyaXRlLG4uY29sb3JXcml0ZT10aGlzLmNvbG9yV3JpdGUsbi5zdGVuY2lsV3JpdGU9dGhpcy5zdGVuY2lsV3JpdGUsbi5zdGVuY2lsV3JpdGVNYXNrPXRoaXMuc3RlbmNpbFdyaXRlTWFzayxuLnN0ZW5jaWxGdW5jPXRoaXMuc3RlbmNpbEZ1bmMsbi5zdGVuY2lsUmVmPXRoaXMuc3RlbmNpbFJlZixuLnN0ZW5jaWxGdW5jTWFzaz10aGlzLnN0ZW5jaWxGdW5jTWFzayxuLnN0ZW5jaWxGYWlsPXRoaXMuc3RlbmNpbEZhaWwsbi5zdGVuY2lsWkZhaWw9dGhpcy5zdGVuY2lsWkZhaWwsbi5zdGVuY2lsWlBhc3M9dGhpcy5zdGVuY2lsWlBhc3MsdGhpcy5yb3RhdGlvbiYmMCE9PXRoaXMucm90YXRpb24mJihuLnJvdGF0aW9uPXRoaXMucm90YXRpb24pLCEwPT09dGhpcy5wb2x5Z29uT2Zmc2V0JiYobi5wb2x5Z29uT2Zmc2V0PSEwKSwwIT09dGhpcy5wb2x5Z29uT2Zmc2V0RmFjdG9yJiYobi5wb2x5Z29uT2Zmc2V0RmFjdG9yPXRoaXMucG9seWdvbk9mZnNldEZhY3RvciksMCE9PXRoaXMucG9seWdvbk9mZnNldFVuaXRzJiYobi5wb2x5Z29uT2Zmc2V0VW5pdHM9dGhpcy5wb2x5Z29uT2Zmc2V0VW5pdHMpLHRoaXMubGluZXdpZHRoJiYxIT09dGhpcy5saW5ld2lkdGgmJihuLmxpbmV3aWR0aD10aGlzLmxpbmV3aWR0aCksdm9pZCAwIT09dGhpcy5kYXNoU2l6ZSYmKG4uZGFzaFNpemU9dGhpcy5kYXNoU2l6ZSksdm9pZCAwIT09dGhpcy5nYXBTaXplJiYobi5nYXBTaXplPXRoaXMuZ2FwU2l6ZSksdm9pZCAwIT09dGhpcy5zY2FsZSYmKG4uc2NhbGU9dGhpcy5zY2FsZSksITA9PT10aGlzLmRpdGhlcmluZyYmKG4uZGl0aGVyaW5nPSEwKSx0aGlzLmFscGhhVGVzdD4wJiYobi5hbHBoYVRlc3Q9dGhpcy5hbHBoYVRlc3QpLCEwPT09dGhpcy5hbHBoYVRvQ292ZXJhZ2UmJihuLmFscGhhVG9Db3ZlcmFnZT10aGlzLmFscGhhVG9Db3ZlcmFnZSksITA9PT10aGlzLnByZW11bHRpcGxpZWRBbHBoYSYmKG4ucHJlbXVsdGlwbGllZEFscGhhPXRoaXMucHJlbXVsdGlwbGllZEFscGhhKSwhMD09PXRoaXMud2lyZWZyYW1lJiYobi53aXJlZnJhbWU9dGhpcy53aXJlZnJhbWUpLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPjEmJihuLndpcmVmcmFtZUxpbmV3aWR0aD10aGlzLndpcmVmcmFtZUxpbmV3aWR0aCksInJvdW5kIiE9PXRoaXMud2lyZWZyYW1lTGluZWNhcCYmKG4ud2lyZWZyYW1lTGluZWNhcD10aGlzLndpcmVmcmFtZUxpbmVjYXApLCJyb3VuZCIhPT10aGlzLndpcmVmcmFtZUxpbmVqb2luJiYobi53aXJlZnJhbWVMaW5lam9pbj10aGlzLndpcmVmcmFtZUxpbmVqb2luKSwhMD09PXRoaXMuZmxhdFNoYWRpbmcmJihuLmZsYXRTaGFkaW5nPXRoaXMuZmxhdFNoYWRpbmcpLCExPT09dGhpcy52aXNpYmxlJiYobi52aXNpYmxlPSExKSwhMT09PXRoaXMudG9uZU1hcHBlZCYmKG4udG9uZU1hcHBlZD0hMSksInt9IiE9PUpTT04uc3RyaW5naWZ5KHRoaXMudXNlckRhdGEpJiYobi51c2VyRGF0YT10aGlzLnVzZXJEYXRhKSxlKXtjb25zdCBlPW8odC50ZXh0dXJlcyksaT1vKHQuaW1hZ2VzKTtlLmxlbmd0aD4wJiYobi50ZXh0dXJlcz1lKSxpLmxlbmd0aD4wJiYobi5pbWFnZXM9aSl9cmV0dXJuIG59Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9Y29weSh0KXt0aGlzLm5hbWU9dC5uYW1lLHRoaXMuZm9nPXQuZm9nLHRoaXMuYmxlbmRpbmc9dC5ibGVuZGluZyx0aGlzLnNpZGU9dC5zaWRlLHRoaXMudmVydGV4Q29sb3JzPXQudmVydGV4Q29sb3JzLHRoaXMub3BhY2l0eT10Lm9wYWNpdHksdGhpcy50cmFuc3BhcmVudD10LnRyYW5zcGFyZW50LHRoaXMuYmxlbmRTcmM9dC5ibGVuZFNyYyx0aGlzLmJsZW5kRHN0PXQuYmxlbmREc3QsdGhpcy5ibGVuZEVxdWF0aW9uPXQuYmxlbmRFcXVhdGlvbix0aGlzLmJsZW5kU3JjQWxwaGE9dC5ibGVuZFNyY0FscGhhLHRoaXMuYmxlbmREc3RBbHBoYT10LmJsZW5kRHN0QWxwaGEsdGhpcy5ibGVuZEVxdWF0aW9uQWxwaGE9dC5ibGVuZEVxdWF0aW9uQWxwaGEsdGhpcy5kZXB0aEZ1bmM9dC5kZXB0aEZ1bmMsdGhpcy5kZXB0aFRlc3Q9dC5kZXB0aFRlc3QsdGhpcy5kZXB0aFdyaXRlPXQuZGVwdGhXcml0ZSx0aGlzLnN0ZW5jaWxXcml0ZU1hc2s9dC5zdGVuY2lsV3JpdGVNYXNrLHRoaXMuc3RlbmNpbEZ1bmM9dC5zdGVuY2lsRnVuYyx0aGlzLnN0ZW5jaWxSZWY9dC5zdGVuY2lsUmVmLHRoaXMuc3RlbmNpbEZ1bmNNYXNrPXQuc3RlbmNpbEZ1bmNNYXNrLHRoaXMuc3RlbmNpbEZhaWw9dC5zdGVuY2lsRmFpbCx0aGlzLnN0ZW5jaWxaRmFpbD10LnN0ZW5jaWxaRmFpbCx0aGlzLnN0ZW5jaWxaUGFzcz10LnN0ZW5jaWxaUGFzcyx0aGlzLnN0ZW5jaWxXcml0ZT10LnN0ZW5jaWxXcml0ZTtjb25zdCBlPXQuY2xpcHBpbmdQbGFuZXM7bGV0IG49bnVsbDtpZihudWxsIT09ZSl7Y29uc3QgdD1lLmxlbmd0aDtuPW5ldyBBcnJheSh0KTtmb3IobGV0IG89MDtvIT09dDsrK28pbltvXT1lW29dLmNsb25lKCl9cmV0dXJuIHRoaXMuY2xpcHBpbmdQbGFuZXM9bix0aGlzLmNsaXBJbnRlcnNlY3Rpb249dC5jbGlwSW50ZXJzZWN0aW9uLHRoaXMuY2xpcFNoYWRvd3M9dC5jbGlwU2hhZG93cyx0aGlzLnNoYWRvd1NpZGU9dC5zaGFkb3dTaWRlLHRoaXMuY29sb3JXcml0ZT10LmNvbG9yV3JpdGUsdGhpcy5wcmVjaXNpb249dC5wcmVjaXNpb24sdGhpcy5wb2x5Z29uT2Zmc2V0PXQucG9seWdvbk9mZnNldCx0aGlzLnBvbHlnb25PZmZzZXRGYWN0b3I9dC5wb2x5Z29uT2Zmc2V0RmFjdG9yLHRoaXMucG9seWdvbk9mZnNldFVuaXRzPXQucG9seWdvbk9mZnNldFVuaXRzLHRoaXMuZGl0aGVyaW5nPXQuZGl0aGVyaW5nLHRoaXMuYWxwaGFUZXN0PXQuYWxwaGFUZXN0LHRoaXMuYWxwaGFUb0NvdmVyYWdlPXQuYWxwaGFUb0NvdmVyYWdlLHRoaXMucHJlbXVsdGlwbGllZEFscGhhPXQucHJlbXVsdGlwbGllZEFscGhhLHRoaXMudmlzaWJsZT10LnZpc2libGUsdGhpcy50b25lTWFwcGVkPXQudG9uZU1hcHBlZCx0aGlzLnVzZXJEYXRhPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodC51c2VyRGF0YSkpLHRoaXN9ZGlzcG9zZSgpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiZGlzcG9zZSJ9KX1zZXQgbmVlZHNVcGRhdGUodCl7ITA9PT10JiZ0aGlzLnZlcnNpb24rK319Vmx0LnByb3RvdHlwZS5pc01hdGVyaWFsPSEwO2NvbnN0IGpsdD17YWxpY2VibHVlOjE1NzkyMzgzLGFudGlxdWV3aGl0ZToxNjQ0NDM3NSxhcXVhOjY1NTM1LGFxdWFtYXJpbmU6ODM4ODU2NCxhenVyZToxNTc5NDE3NSxiZWlnZToxNjExOTI2MCxiaXNxdWU6MTY3NzAyNDQsYmxhY2s6MCxibGFuY2hlZGFsbW9uZDoxNjc3MjA0NSxibHVlOjI1NSxibHVldmlvbGV0OjkwNTUyMDIsYnJvd246MTA4MjQyMzQsYnVybHl3b29kOjE0NTk2MjMxLGNhZGV0Ymx1ZTo2MjY2NTI4LGNoYXJ0cmV1c2U6ODM4ODM1MixjaG9jb2xhdGU6MTM3ODk0NzAsY29yYWw6MTY3NDQyNzIsY29ybmZsb3dlcmJsdWU6NjU5MTk4MSxjb3Juc2lsazoxNjc3NTM4OCxjcmltc29uOjE0NDIzMTAwLGN5YW46NjU1MzUsZGFya2JsdWU6MTM5LGRhcmtjeWFuOjM1NzIzLGRhcmtnb2xkZW5yb2Q6MTIwOTI5MzksZGFya2dyYXk6MTExMTkwMTcsZGFya2dyZWVuOjI1NjAwLGRhcmtncmV5OjExMTE5MDE3LGRhcmtraGFraToxMjQzMzI1OSxkYXJrbWFnZW50YTo5MTA5NjQzLGRhcmtvbGl2ZWdyZWVuOjU1OTc5OTksZGFya29yYW5nZToxNjc0NzUyMCxkYXJrb3JjaGlkOjEwMDQwMDEyLGRhcmtyZWQ6OTEwOTUwNCxkYXJrc2FsbW9uOjE1MzA4NDEwLGRhcmtzZWFncmVlbjo5NDE5OTE5LGRhcmtzbGF0ZWJsdWU6NDczNDM0NyxkYXJrc2xhdGVncmF5OjMxMDA0OTUsZGFya3NsYXRlZ3JleTozMTAwNDk1LGRhcmt0dXJxdW9pc2U6NTI5NDUsZGFya3Zpb2xldDo5Njk5NTM5LGRlZXBwaW5rOjE2NzE2OTQ3LGRlZXBza3libHVlOjQ5MTUxLGRpbWdyYXk6NjkwODI2NSxkaW1ncmV5OjY5MDgyNjUsZG9kZ2VyYmx1ZToyMDAzMTk5LGZpcmVicmljazoxMTY3NDE0NixmbG9yYWx3aGl0ZToxNjc3NTkyMCxmb3Jlc3RncmVlbjoyMjYzODQyLGZ1Y2hzaWE6MTY3MTE5MzUsZ2FpbnNib3JvOjE0NDc0NDYwLGdob3N0d2hpdGU6MTYzMTY2NzEsZ29sZDoxNjc2NjcyMCxnb2xkZW5yb2Q6MTQzMjkxMjAsZ3JheTo4NDIxNTA0LGdyZWVuOjMyNzY4LGdyZWVueWVsbG93OjExNDAzMDU1LGdyZXk6ODQyMTUwNCxob25leWRldzoxNTc5NDE2MCxob3RwaW5rOjE2NzM4NzQwLGluZGlhbnJlZDoxMzQ1ODUyNCxpbmRpZ286NDkxNTMzMCxpdm9yeToxNjc3NzIwMCxraGFraToxNTc4NzY2MCxsYXZlbmRlcjoxNTEzMjQxMCxsYXZlbmRlcmJsdXNoOjE2NzczMzY1LGxhd25ncmVlbjo4MTkwOTc2LGxlbW9uY2hpZmZvbjoxNjc3NTg4NSxsaWdodGJsdWU6MTEzOTMyNTQsbGlnaHRjb3JhbDoxNTc2MTUzNixsaWdodGN5YW46MTQ3NDU1OTksbGlnaHRnb2xkZW5yb2R5ZWxsb3c6MTY0NDgyMTAsbGlnaHRncmF5OjEzODgyMzIzLGxpZ2h0Z3JlZW46OTQ5ODI1NixsaWdodGdyZXk6MTM4ODIzMjMsbGlnaHRwaW5rOjE2NzU4NDY1LGxpZ2h0c2FsbW9uOjE2NzUyNzYyLGxpZ2h0c2VhZ3JlZW46MjE0Mjg5MCxsaWdodHNreWJsdWU6ODkwMDM0NixsaWdodHNsYXRlZ3JheTo3ODMzNzUzLGxpZ2h0c2xhdGVncmV5Ojc4MzM3NTMsbGlnaHRzdGVlbGJsdWU6MTE1ODQ3MzQsbGlnaHR5ZWxsb3c6MTY3NzcxODQsbGltZTo2NTI4MCxsaW1lZ3JlZW46MzMyOTMzMCxsaW5lbjoxNjQ0NTY3MCxtYWdlbnRhOjE2NzExOTM1LG1hcm9vbjo4Mzg4NjA4LG1lZGl1bWFxdWFtYXJpbmU6NjczNzMyMixtZWRpdW1ibHVlOjIwNSxtZWRpdW1vcmNoaWQ6MTIyMTE2NjcsbWVkaXVtcHVycGxlOjk2NjI2ODMsbWVkaXVtc2VhZ3JlZW46Mzk3ODA5NyxtZWRpdW1zbGF0ZWJsdWU6ODA4Nzc5MCxtZWRpdW1zcHJpbmdncmVlbjo2NDE1NCxtZWRpdW10dXJxdW9pc2U6NDc3MjMwMCxtZWRpdW12aW9sZXRyZWQ6MTMwNDcxNzMsbWlkbmlnaHRibHVlOjE2NDQ5MTIsbWludGNyZWFtOjE2MTIxODUwLG1pc3R5cm9zZToxNjc3MDI3Myxtb2NjYXNpbjoxNjc3MDIyOSxuYXZham93aGl0ZToxNjc2ODY4NSxuYXZ5OjEyOCxvbGRsYWNlOjE2NjQzNTU4LG9saXZlOjg0MjEzNzYsb2xpdmVkcmFiOjcwNDg3Mzksb3JhbmdlOjE2NzUzOTIwLG9yYW5nZXJlZDoxNjcyOTM0NCxvcmNoaWQ6MTQzMTU3MzQscGFsZWdvbGRlbnJvZDoxNTY1NzEzMCxwYWxlZ3JlZW46MTAwMjU4ODAscGFsZXR1cnF1b2lzZToxMTUyOTk2NixwYWxldmlvbGV0cmVkOjE0MzgxMjAzLHBhcGF5YXdoaXA6MTY3NzMwNzcscGVhY2hwdWZmOjE2NzY3NjczLHBlcnU6MTM0Njg5OTEscGluazoxNjc2MTAzNSxwbHVtOjE0NTI0NjM3LHBvd2RlcmJsdWU6MTE1OTE5MTAscHVycGxlOjgzODg3MzYscmViZWNjYXB1cnBsZTo2Njk3ODgxLHJlZDoxNjcxMTY4MCxyb3N5YnJvd246MTIzNTc1MTkscm95YWxibHVlOjQyODY5NDUsc2FkZGxlYnJvd246OTEyNzE4NyxzYWxtb246MTY0MTY4ODIsc2FuZHlicm93bjoxNjAzMjg2NCxzZWFncmVlbjozMDUwMzI3LHNlYXNoZWxsOjE2Nzc0NjM4LHNpZW5uYToxMDUwNjc5NyxzaWx2ZXI6MTI2MzIyNTYsc2t5Ymx1ZTo4OTAwMzMxLHNsYXRlYmx1ZTo2OTcwMDYxLHNsYXRlZ3JheTo3MzcyOTQ0LHNsYXRlZ3JleTo3MzcyOTQ0LHNub3c6MTY3NzU5MzAsc3ByaW5nZ3JlZW46NjU0MDcsc3RlZWxibHVlOjQ2MjA5ODAsdGFuOjEzODA4NzgwLHRlYWw6MzI4OTYsdGhpc3RsZToxNDIwNDg4OCx0b21hdG86MTY3MzcwOTUsdHVycXVvaXNlOjQyNTE4NTYsdmlvbGV0OjE1NjMxMDg2LHdoZWF0OjE2MTEzMzMxLHdoaXRlOjE2Nzc3MjE1LHdoaXRlc21va2U6MTYxMTkyODUseWVsbG93OjE2Nzc2OTYwLHllbGxvd2dyZWVuOjEwMTQ1MDc0fSxVbHQ9e2g6MCxzOjAsbDowfSxXbHQ9e2g6MCxzOjAsbDowfTtmdW5jdGlvbiBHbHQodCxlLG4pe3JldHVybiBuPDAmJihuKz0xKSxuPjEmJihuLT0xKSxuPDEvNj90KzYqKGUtdCkqbjpuPC41P2U6bjwyLzM/dCs2KihlLXQpKigyLzMtbik6dH1mdW5jdGlvbiBZbHQodCl7cmV0dXJuIHQ8LjA0MDQ1Py4wNzczOTkzODA4KnQ6TWF0aC5wb3coLjk0Nzg2NzI5ODYqdCsuMDUyMTMyNzAxNCwyLjQpfWZ1bmN0aW9uIHFsdCh0KXtyZXR1cm4gdDwuMDAzMTMwOD8xMi45Mip0OjEuMDU1Kk1hdGgucG93KHQsLjQxNjY2KS0uMDU1fWNsYXNzIFpsdHtjb25zdHJ1Y3Rvcih0LGUsbil7cmV0dXJuIHZvaWQgMD09PWUmJnZvaWQgMD09PW4/dGhpcy5zZXQodCk6dGhpcy5zZXRSR0IodCxlLG4pfXNldCh0KXtyZXR1cm4gdCYmdC5pc0NvbG9yP3RoaXMuY29weSh0KToibnVtYmVyIj09dHlwZW9mIHQ/dGhpcy5zZXRIZXgodCk6InN0cmluZyI9PXR5cGVvZiB0JiZ0aGlzLnNldFN0eWxlKHQpLHRoaXN9c2V0U2NhbGFyKHQpe3JldHVybiB0aGlzLnI9dCx0aGlzLmc9dCx0aGlzLmI9dCx0aGlzfXNldEhleCh0KXtyZXR1cm4gdD1NYXRoLmZsb29yKHQpLHRoaXMucj0odD4+MTYmMjU1KS8yNTUsdGhpcy5nPSh0Pj44JjI1NSkvMjU1LHRoaXMuYj0oMjU1JnQpLzI1NSx0aGlzfXNldFJHQih0LGUsbil7cmV0dXJuIHRoaXMucj10LHRoaXMuZz1lLHRoaXMuYj1uLHRoaXN9c2V0SFNMKHQsZSxuKXtpZih0PShmdW5jdGlvbiBvKHQsZSl7cmV0dXJuKHQlZStlKSVlfSkodCwxKSxlPXBzdChlLDAsMSksbj1wc3QobiwwLDEpLDA9PT1lKXRoaXMucj10aGlzLmc9dGhpcy5iPW47ZWxzZXtjb25zdCBvPW48PS41P24qKDErZSk6bitlLW4qZSxpPTIqbi1vO3RoaXMucj1HbHQoaSxvLHQrMS8zKSx0aGlzLmc9R2x0KGksbyx0KSx0aGlzLmI9R2x0KGksbyx0LTEvMyl9cmV0dXJuIHRoaXN9c2V0U3R5bGUodCl7ZnVuY3Rpb24gZShlKXt2b2lkIDAhPT1lJiZwYXJzZUZsb2F0KGUpPDEmJmNvbnNvbGUud2FybigiVEhSRUUuQ29sb3I6IEFscGhhIGNvbXBvbmVudCBvZiAiK3QrIiB3aWxsIGJlIGlnbm9yZWQuIil9bGV0IG47aWYobj0vXigoPzpyZ2J8aHNsKWE/KVwoKFteXCldKilcKS8uZXhlYyh0KSl7bGV0IHQ7Y29uc3Qgbz1uWzJdO3N3aXRjaChuWzFdKXtjYXNlInJnYiI6Y2FzZSJyZ2JhIjppZih0PS9eXHMqKFxkKylccyosXHMqKFxkKylccyosXHMqKFxkKylccyooPzosXHMqKFxkKlwuP1xkKylccyopPyQvLmV4ZWMobykpcmV0dXJuIHRoaXMucj1NYXRoLm1pbigyNTUscGFyc2VJbnQodFsxXSwxMCkpLzI1NSx0aGlzLmc9TWF0aC5taW4oMjU1LHBhcnNlSW50KHRbMl0sMTApKS8yNTUsdGhpcy5iPU1hdGgubWluKDI1NSxwYXJzZUludCh0WzNdLDEwKSkvMjU1LGUodFs0XSksdGhpcztpZih0PS9eXHMqKFxkKylcJVxzKixccyooXGQrKVwlXHMqLFxzKihcZCspXCVccyooPzosXHMqKFxkKlwuP1xkKylccyopPyQvLmV4ZWMobykpcmV0dXJuIHRoaXMucj1NYXRoLm1pbigxMDAscGFyc2VJbnQodFsxXSwxMCkpLzEwMCx0aGlzLmc9TWF0aC5taW4oMTAwLHBhcnNlSW50KHRbMl0sMTApKS8xMDAsdGhpcy5iPU1hdGgubWluKDEwMCxwYXJzZUludCh0WzNdLDEwKSkvMTAwLGUodFs0XSksdGhpczticmVhaztjYXNlImhzbCI6Y2FzZSJoc2xhIjppZih0PS9eXHMqKFxkKlwuP1xkKylccyosXHMqKFxkKylcJVxzKixccyooXGQrKVwlXHMqKD86LFxzKihcZCpcLj9cZCspXHMqKT8kLy5leGVjKG8pKXtjb25zdCBuPXBhcnNlRmxvYXQodFsxXSkvMzYwLG89cGFyc2VJbnQodFsyXSwxMCkvMTAwLGk9cGFyc2VJbnQodFszXSwxMCkvMTAwO3JldHVybiBlKHRbNF0pLHRoaXMuc2V0SFNMKG4sbyxpKX19fWVsc2UgaWYobj0vXlwjKFtBLUZhLWZcZF0rKSQvLmV4ZWModCkpe2NvbnN0IHQ9blsxXSxlPXQubGVuZ3RoO2lmKDM9PT1lKXJldHVybiB0aGlzLnI9cGFyc2VJbnQodC5jaGFyQXQoMCkrdC5jaGFyQXQoMCksMTYpLzI1NSx0aGlzLmc9cGFyc2VJbnQodC5jaGFyQXQoMSkrdC5jaGFyQXQoMSksMTYpLzI1NSx0aGlzLmI9cGFyc2VJbnQodC5jaGFyQXQoMikrdC5jaGFyQXQoMiksMTYpLzI1NSx0aGlzO2lmKDY9PT1lKXJldHVybiB0aGlzLnI9cGFyc2VJbnQodC5jaGFyQXQoMCkrdC5jaGFyQXQoMSksMTYpLzI1NSx0aGlzLmc9cGFyc2VJbnQodC5jaGFyQXQoMikrdC5jaGFyQXQoMyksMTYpLzI1NSx0aGlzLmI9cGFyc2VJbnQodC5jaGFyQXQoNCkrdC5jaGFyQXQoNSksMTYpLzI1NSx0aGlzfXJldHVybiB0JiZ0Lmxlbmd0aD4wP3RoaXMuc2V0Q29sb3JOYW1lKHQpOnRoaXN9c2V0Q29sb3JOYW1lKHQpe2NvbnN0IGU9amx0W3QudG9Mb3dlckNhc2UoKV07cmV0dXJuIHZvaWQgMCE9PWU/dGhpcy5zZXRIZXgoZSk6Y29uc29sZS53YXJuKCJUSFJFRS5Db2xvcjogVW5rbm93biBjb2xvciAiK3QpLHRoaXN9Y2xvbmUoKXtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5yLHRoaXMuZyx0aGlzLmIpfWNvcHkodCl7cmV0dXJuIHRoaXMucj10LnIsdGhpcy5nPXQuZyx0aGlzLmI9dC5iLHRoaXN9Y29weUdhbW1hVG9MaW5lYXIodCxlPTIpe3JldHVybiB0aGlzLnI9TWF0aC5wb3codC5yLGUpLHRoaXMuZz1NYXRoLnBvdyh0LmcsZSksdGhpcy5iPU1hdGgucG93KHQuYixlKSx0aGlzfWNvcHlMaW5lYXJUb0dhbW1hKHQsZT0yKXtjb25zdCBuPWU+MD8xL2U6MTtyZXR1cm4gdGhpcy5yPU1hdGgucG93KHQucixuKSx0aGlzLmc9TWF0aC5wb3codC5nLG4pLHRoaXMuYj1NYXRoLnBvdyh0LmIsbiksdGhpc31jb252ZXJ0R2FtbWFUb0xpbmVhcih0KXtyZXR1cm4gdGhpcy5jb3B5R2FtbWFUb0xpbmVhcih0aGlzLHQpLHRoaXN9Y29udmVydExpbmVhclRvR2FtbWEodCl7cmV0dXJuIHRoaXMuY29weUxpbmVhclRvR2FtbWEodGhpcyx0KSx0aGlzfWNvcHlTUkdCVG9MaW5lYXIodCl7cmV0dXJuIHRoaXMucj1ZbHQodC5yKSx0aGlzLmc9WWx0KHQuZyksdGhpcy5iPVlsdCh0LmIpLHRoaXN9Y29weUxpbmVhclRvU1JHQih0KXtyZXR1cm4gdGhpcy5yPXFsdCh0LnIpLHRoaXMuZz1xbHQodC5nKSx0aGlzLmI9cWx0KHQuYiksdGhpc31jb252ZXJ0U1JHQlRvTGluZWFyKCl7cmV0dXJuIHRoaXMuY29weVNSR0JUb0xpbmVhcih0aGlzKSx0aGlzfWNvbnZlcnRMaW5lYXJUb1NSR0IoKXtyZXR1cm4gdGhpcy5jb3B5TGluZWFyVG9TUkdCKHRoaXMpLHRoaXN9Z2V0SGV4KCl7cmV0dXJuIDI1NSp0aGlzLnI8PDE2XjI1NSp0aGlzLmc8PDheMjU1KnRoaXMuYjw8MH1nZXRIZXhTdHJpbmcoKXtyZXR1cm4oIjAwMDAwMCIrdGhpcy5nZXRIZXgoKS50b1N0cmluZygxNikpLnNsaWNlKC02KX1nZXRIU0wodCl7Y29uc3QgZT10aGlzLnIsbj10aGlzLmcsbz10aGlzLmIsaT1NYXRoLm1heChlLG4sbyksYT1NYXRoLm1pbihlLG4sbyk7bGV0IHIscztjb25zdCBsPShhK2kpLzI7aWYoYT09PWkpcj0wLHM9MDtlbHNle2NvbnN0IHQ9aS1hO3N3aXRjaChzPWw8PS41P3QvKGkrYSk6dC8oMi1pLWEpLGkpe2Nhc2UgZTpyPShuLW8pL3QrKG48bz82OjApO2JyZWFrO2Nhc2UgbjpyPShvLWUpL3QrMjticmVhaztjYXNlIG86cj0oZS1uKS90KzR9ci89Nn1yZXR1cm4gdC5oPXIsdC5zPXMsdC5sPWwsdH1nZXRTdHlsZSgpe3JldHVybiJyZ2IoIisoMjU1KnRoaXMucnwwKSsiLCIrKDI1NSp0aGlzLmd8MCkrIiwiKygyNTUqdGhpcy5ifDApKyIpIn1vZmZzZXRIU0wodCxlLG4pe3JldHVybiB0aGlzLmdldEhTTChVbHQpLFVsdC5oKz10LFVsdC5zKz1lLFVsdC5sKz1uLHRoaXMuc2V0SFNMKFVsdC5oLFVsdC5zLFVsdC5sKSx0aGlzfWFkZCh0KXtyZXR1cm4gdGhpcy5yKz10LnIsdGhpcy5nKz10LmcsdGhpcy5iKz10LmIsdGhpc31hZGRDb2xvcnModCxlKXtyZXR1cm4gdGhpcy5yPXQucitlLnIsdGhpcy5nPXQuZytlLmcsdGhpcy5iPXQuYitlLmIsdGhpc31hZGRTY2FsYXIodCl7cmV0dXJuIHRoaXMucis9dCx0aGlzLmcrPXQsdGhpcy5iKz10LHRoaXN9c3ViKHQpe3JldHVybiB0aGlzLnI9TWF0aC5tYXgoMCx0aGlzLnItdC5yKSx0aGlzLmc9TWF0aC5tYXgoMCx0aGlzLmctdC5nKSx0aGlzLmI9TWF0aC5tYXgoMCx0aGlzLmItdC5iKSx0aGlzfW11bHRpcGx5KHQpe3JldHVybiB0aGlzLnIqPXQucix0aGlzLmcqPXQuZyx0aGlzLmIqPXQuYix0aGlzfW11bHRpcGx5U2NhbGFyKHQpe3JldHVybiB0aGlzLnIqPXQsdGhpcy5nKj10LHRoaXMuYio9dCx0aGlzfWxlcnAodCxlKXtyZXR1cm4gdGhpcy5yKz0odC5yLXRoaXMucikqZSx0aGlzLmcrPSh0LmctdGhpcy5nKSplLHRoaXMuYis9KHQuYi10aGlzLmIpKmUsdGhpc31sZXJwQ29sb3JzKHQsZSxuKXtyZXR1cm4gdGhpcy5yPXQucisoZS5yLXQucikqbix0aGlzLmc9dC5nKyhlLmctdC5nKSpuLHRoaXMuYj10LmIrKGUuYi10LmIpKm4sdGhpc31sZXJwSFNMKHQsZSl7dGhpcy5nZXRIU0woVWx0KSx0LmdldEhTTChXbHQpO2NvbnN0IG49bXN0KFVsdC5oLFdsdC5oLGUpLG89bXN0KFVsdC5zLFdsdC5zLGUpLGk9bXN0KFVsdC5sLFdsdC5sLGUpO3JldHVybiB0aGlzLnNldEhTTChuLG8saSksdGhpc31lcXVhbHModCl7cmV0dXJuIHQucj09PXRoaXMuciYmdC5nPT09dGhpcy5nJiZ0LmI9PT10aGlzLmJ9ZnJvbUFycmF5KHQsZT0wKXtyZXR1cm4gdGhpcy5yPXRbZV0sdGhpcy5nPXRbZSsxXSx0aGlzLmI9dFtlKzJdLHRoaXN9dG9BcnJheSh0PVtdLGU9MCl7cmV0dXJuIHRbZV09dGhpcy5yLHRbZSsxXT10aGlzLmcsdFtlKzJdPXRoaXMuYix0fWZyb21CdWZmZXJBdHRyaWJ1dGUodCxlKXtyZXR1cm4gdGhpcy5yPXQuZ2V0WChlKSx0aGlzLmc9dC5nZXRZKGUpLHRoaXMuYj10LmdldFooZSksITA9PT10Lm5vcm1hbGl6ZWQmJih0aGlzLnIvPTI1NSx0aGlzLmcvPTI1NSx0aGlzLmIvPTI1NSksdGhpc310b0pTT04oKXtyZXR1cm4gdGhpcy5nZXRIZXgoKX19Wmx0Lk5BTUVTPWpsdCxabHQucHJvdG90eXBlLmlzQ29sb3I9ITAsWmx0LnByb3RvdHlwZS5yPTEsWmx0LnByb3RvdHlwZS5nPTEsWmx0LnByb3RvdHlwZS5iPTE7Y2xhc3MgWGx0IGV4dGVuZHMgVmx0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJNZXNoQmFzaWNNYXRlcmlhbCIsdGhpcy5jb2xvcj1uZXcgWmx0KDE2Nzc3MjE1KSx0aGlzLm1hcD1udWxsLHRoaXMubGlnaHRNYXA9bnVsbCx0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PTEsdGhpcy5hb01hcD1udWxsLHRoaXMuYW9NYXBJbnRlbnNpdHk9MSx0aGlzLnNwZWN1bGFyTWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuZW52TWFwPW51bGwsdGhpcy5jb21iaW5lPTAsdGhpcy5yZWZsZWN0aXZpdHk9MSx0aGlzLnJlZnJhY3Rpb25SYXRpbz0uOTgsdGhpcy53aXJlZnJhbWU9ITEsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9MSx0aGlzLndpcmVmcmFtZUxpbmVjYXA9InJvdW5kIix0aGlzLndpcmVmcmFtZUxpbmVqb2luPSJyb3VuZCIsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmNvbG9yLmNvcHkodC5jb2xvciksdGhpcy5tYXA9dC5tYXAsdGhpcy5saWdodE1hcD10LmxpZ2h0TWFwLHRoaXMubGlnaHRNYXBJbnRlbnNpdHk9dC5saWdodE1hcEludGVuc2l0eSx0aGlzLmFvTWFwPXQuYW9NYXAsdGhpcy5hb01hcEludGVuc2l0eT10LmFvTWFwSW50ZW5zaXR5LHRoaXMuc3BlY3VsYXJNYXA9dC5zcGVjdWxhck1hcCx0aGlzLmFscGhhTWFwPXQuYWxwaGFNYXAsdGhpcy5lbnZNYXA9dC5lbnZNYXAsdGhpcy5jb21iaW5lPXQuY29tYmluZSx0aGlzLnJlZmxlY3Rpdml0eT10LnJlZmxlY3Rpdml0eSx0aGlzLnJlZnJhY3Rpb25SYXRpbz10LnJlZnJhY3Rpb25SYXRpbyx0aGlzLndpcmVmcmFtZT10LndpcmVmcmFtZSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD10LndpcmVmcmFtZUxpbmV3aWR0aCx0aGlzLndpcmVmcmFtZUxpbmVjYXA9dC53aXJlZnJhbWVMaW5lY2FwLHRoaXMud2lyZWZyYW1lTGluZWpvaW49dC53aXJlZnJhbWVMaW5lam9pbix0aGlzfX1YbHQucHJvdG90eXBlLmlzTWVzaEJhc2ljTWF0ZXJpYWw9ITA7Y29uc3QgS2x0PW5ldyB3c3QsSmx0PW5ldyBnc3Q7Y2xhc3MgUWx0e2NvbnN0cnVjdG9yKHQsZSxuKXtpZihBcnJheS5pc0FycmF5KHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZTogYXJyYXkgc2hvdWxkIGJlIGEgVHlwZWQgQXJyYXkuIik7dGhpcy5uYW1lPSIiLHRoaXMuYXJyYXk9dCx0aGlzLml0ZW1TaXplPWUsdGhpcy5jb3VudD12b2lkIDAhPT10P3QubGVuZ3RoL2U6MCx0aGlzLm5vcm1hbGl6ZWQ9ITA9PT1uLHRoaXMudXNhZ2U9b3N0LHRoaXMudXBkYXRlUmFuZ2U9e29mZnNldDowLGNvdW50Oi0xfSx0aGlzLnZlcnNpb249MH1vblVwbG9hZENhbGxiYWNrKCl7fXNldCBuZWVkc1VwZGF0ZSh0KXshMD09PXQmJnRoaXMudmVyc2lvbisrfXNldFVzYWdlKHQpe3JldHVybiB0aGlzLnVzYWdlPXQsdGhpc31jb3B5KHQpe3JldHVybiB0aGlzLm5hbWU9dC5uYW1lLHRoaXMuYXJyYXk9bmV3IHQuYXJyYXkuY29uc3RydWN0b3IodC5hcnJheSksdGhpcy5pdGVtU2l6ZT10Lml0ZW1TaXplLHRoaXMuY291bnQ9dC5jb3VudCx0aGlzLm5vcm1hbGl6ZWQ9dC5ub3JtYWxpemVkLHRoaXMudXNhZ2U9dC51c2FnZSx0aGlzfWNvcHlBdCh0LGUsbil7dCo9dGhpcy5pdGVtU2l6ZSxuKj1lLml0ZW1TaXplO2ZvcihsZXQgbz0wLGk9dGhpcy5pdGVtU2l6ZTtvPGk7bysrKXRoaXMuYXJyYXlbdCtvXT1lLmFycmF5W24rb107cmV0dXJuIHRoaXN9Y29weUFycmF5KHQpe3JldHVybiB0aGlzLmFycmF5LnNldCh0KSx0aGlzfWNvcHlDb2xvcnNBcnJheSh0KXtjb25zdCBlPXRoaXMuYXJyYXk7bGV0IG49MDtmb3IobGV0IG89MCxpPXQubGVuZ3RoO288aTtvKyspe2xldCBpPXRbb107dm9pZCAwPT09aSYmKGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlLmNvcHlDb2xvcnNBcnJheSgpOiBjb2xvciBpcyB1bmRlZmluZWQiLG8pLGk9bmV3IFpsdCksZVtuKytdPWkucixlW24rK109aS5nLGVbbisrXT1pLmJ9cmV0dXJuIHRoaXN9Y29weVZlY3RvcjJzQXJyYXkodCl7Y29uc3QgZT10aGlzLmFycmF5O2xldCBuPTA7Zm9yKGxldCBvPTAsaT10Lmxlbmd0aDtvPGk7bysrKXtsZXQgaT10W29dO3ZvaWQgMD09PWkmJihjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZS5jb3B5VmVjdG9yMnNBcnJheSgpOiB2ZWN0b3IgaXMgdW5kZWZpbmVkIixvKSxpPW5ldyBnc3QpLGVbbisrXT1pLngsZVtuKytdPWkueX1yZXR1cm4gdGhpc31jb3B5VmVjdG9yM3NBcnJheSh0KXtjb25zdCBlPXRoaXMuYXJyYXk7bGV0IG49MDtmb3IobGV0IG89MCxpPXQubGVuZ3RoO288aTtvKyspe2xldCBpPXRbb107dm9pZCAwPT09aSYmKGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlLmNvcHlWZWN0b3Izc0FycmF5KCk6IHZlY3RvciBpcyB1bmRlZmluZWQiLG8pLGk9bmV3IHdzdCksZVtuKytdPWkueCxlW24rK109aS55LGVbbisrXT1pLnp9cmV0dXJuIHRoaXN9Y29weVZlY3RvcjRzQXJyYXkodCl7Y29uc3QgZT10aGlzLmFycmF5O2xldCBuPTA7Zm9yKGxldCBvPTAsaT10Lmxlbmd0aDtvPGk7bysrKXtsZXQgaT10W29dO3ZvaWQgMD09PWkmJihjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZS5jb3B5VmVjdG9yNHNBcnJheSgpOiB2ZWN0b3IgaXMgdW5kZWZpbmVkIixvKSxpPW5ldyB2c3QpLGVbbisrXT1pLngsZVtuKytdPWkueSxlW24rK109aS56LGVbbisrXT1pLnd9cmV0dXJuIHRoaXN9YXBwbHlNYXRyaXgzKHQpe2lmKDI9PT10aGlzLml0ZW1TaXplKWZvcihsZXQgZT0wLG49dGhpcy5jb3VudDtlPG47ZSsrKUpsdC5mcm9tQnVmZmVyQXR0cmlidXRlKHRoaXMsZSksSmx0LmFwcGx5TWF0cml4Myh0KSx0aGlzLnNldFhZKGUsSmx0LngsSmx0LnkpO2Vsc2UgaWYoMz09PXRoaXMuaXRlbVNpemUpZm9yKGxldCBlPTAsbj10aGlzLmNvdW50O2U8bjtlKyspS2x0LmZyb21CdWZmZXJBdHRyaWJ1dGUodGhpcyxlKSxLbHQuYXBwbHlNYXRyaXgzKHQpLHRoaXMuc2V0WFlaKGUsS2x0LngsS2x0LnksS2x0LnopO3JldHVybiB0aGlzfWFwcGx5TWF0cml4NCh0KXtmb3IobGV0IGU9MCxuPXRoaXMuY291bnQ7ZTxuO2UrKylLbHQueD10aGlzLmdldFgoZSksS2x0Lnk9dGhpcy5nZXRZKGUpLEtsdC56PXRoaXMuZ2V0WihlKSxLbHQuYXBwbHlNYXRyaXg0KHQpLHRoaXMuc2V0WFlaKGUsS2x0LngsS2x0LnksS2x0LnopO3JldHVybiB0aGlzfWFwcGx5Tm9ybWFsTWF0cml4KHQpe2ZvcihsZXQgZT0wLG49dGhpcy5jb3VudDtlPG47ZSsrKUtsdC54PXRoaXMuZ2V0WChlKSxLbHQueT10aGlzLmdldFkoZSksS2x0Lno9dGhpcy5nZXRaKGUpLEtsdC5hcHBseU5vcm1hbE1hdHJpeCh0KSx0aGlzLnNldFhZWihlLEtsdC54LEtsdC55LEtsdC56KTtyZXR1cm4gdGhpc310cmFuc2Zvcm1EaXJlY3Rpb24odCl7Zm9yKGxldCBlPTAsbj10aGlzLmNvdW50O2U8bjtlKyspS2x0Lng9dGhpcy5nZXRYKGUpLEtsdC55PXRoaXMuZ2V0WShlKSxLbHQuej10aGlzLmdldFooZSksS2x0LnRyYW5zZm9ybURpcmVjdGlvbih0KSx0aGlzLnNldFhZWihlLEtsdC54LEtsdC55LEtsdC56KTtyZXR1cm4gdGhpc31zZXQodCxlPTApe3JldHVybiB0aGlzLmFycmF5LnNldCh0LGUpLHRoaXN9Z2V0WCh0KXtyZXR1cm4gdGhpcy5hcnJheVt0KnRoaXMuaXRlbVNpemVdfXNldFgodCxlKXtyZXR1cm4gdGhpcy5hcnJheVt0KnRoaXMuaXRlbVNpemVdPWUsdGhpc31nZXRZKHQpe3JldHVybiB0aGlzLmFycmF5W3QqdGhpcy5pdGVtU2l6ZSsxXX1zZXRZKHQsZSl7cmV0dXJuIHRoaXMuYXJyYXlbdCp0aGlzLml0ZW1TaXplKzFdPWUsdGhpc31nZXRaKHQpe3JldHVybiB0aGlzLmFycmF5W3QqdGhpcy5pdGVtU2l6ZSsyXX1zZXRaKHQsZSl7cmV0dXJuIHRoaXMuYXJyYXlbdCp0aGlzLml0ZW1TaXplKzJdPWUsdGhpc31nZXRXKHQpe3JldHVybiB0aGlzLmFycmF5W3QqdGhpcy5pdGVtU2l6ZSszXX1zZXRXKHQsZSl7cmV0dXJuIHRoaXMuYXJyYXlbdCp0aGlzLml0ZW1TaXplKzNdPWUsdGhpc31zZXRYWSh0LGUsbil7cmV0dXJuIHRoaXMuYXJyYXlbKHQqPXRoaXMuaXRlbVNpemUpKzBdPWUsdGhpcy5hcnJheVt0KzFdPW4sdGhpc31zZXRYWVoodCxlLG4sbyl7cmV0dXJuIHRoaXMuYXJyYXlbKHQqPXRoaXMuaXRlbVNpemUpKzBdPWUsdGhpcy5hcnJheVt0KzFdPW4sdGhpcy5hcnJheVt0KzJdPW8sdGhpc31zZXRYWVpXKHQsZSxuLG8saSl7cmV0dXJuIHRoaXMuYXJyYXlbKHQqPXRoaXMuaXRlbVNpemUpKzBdPWUsdGhpcy5hcnJheVt0KzFdPW4sdGhpcy5hcnJheVt0KzJdPW8sdGhpcy5hcnJheVt0KzNdPWksdGhpc31vblVwbG9hZCh0KXtyZXR1cm4gdGhpcy5vblVwbG9hZENhbGxiYWNrPXQsdGhpc31jbG9uZSgpe3JldHVybiBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzLmFycmF5LHRoaXMuaXRlbVNpemUpLmNvcHkodGhpcyl9dG9KU09OKCl7Y29uc3QgdD17aXRlbVNpemU6dGhpcy5pdGVtU2l6ZSx0eXBlOnRoaXMuYXJyYXkuY29uc3RydWN0b3IubmFtZSxhcnJheTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLmFycmF5KSxub3JtYWxpemVkOnRoaXMubm9ybWFsaXplZH07cmV0dXJuIiIhPT10aGlzLm5hbWUmJih0Lm5hbWU9dGhpcy5uYW1lKSx0aGlzLnVzYWdlIT09b3N0JiYodC51c2FnZT10aGlzLnVzYWdlKSwwPT09dGhpcy51cGRhdGVSYW5nZS5vZmZzZXQmJi0xPT09dGhpcy51cGRhdGVSYW5nZS5jb3VudHx8KHQudXBkYXRlUmFuZ2U9dGhpcy51cGRhdGVSYW5nZSksdH19UWx0LnByb3RvdHlwZS5pc0J1ZmZlckF0dHJpYnV0ZT0hMDtjbGFzcyAkbHQgZXh0ZW5kcyBRbHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKG5ldyBVaW50MTZBcnJheSh0KSxlLG4pfX1jbGFzcyB0Y3QgZXh0ZW5kcyBRbHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKG5ldyBVaW50MzJBcnJheSh0KSxlLG4pfX0oY2xhc3MgZXh0ZW5kcyBRbHR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKG5ldyBVaW50MTZBcnJheSh0KSxlLG4pfX0pLnByb3RvdHlwZS5pc0Zsb2F0MTZCdWZmZXJBdHRyaWJ1dGU9ITA7Y2xhc3MgZWN0IGV4dGVuZHMgUWx0e2NvbnN0cnVjdG9yKHQsZSxuKXtzdXBlcihuZXcgRmxvYXQzMkFycmF5KHQpLGUsbil9fWZ1bmN0aW9uIG5jdCh0KXtpZigwPT09dC5sZW5ndGgpcmV0dXJuLTEvMDtsZXQgZT10WzBdO2ZvcihsZXQgbj0xLG89dC5sZW5ndGg7bjxvOysrbil0W25dPmUmJihlPXRbbl0pO3JldHVybiBlfWxldCBvY3Q9MDtjb25zdCBpY3Q9bmV3IG9sdCxhY3Q9bmV3IFNsdCxyY3Q9bmV3IHdzdCxzY3Q9bmV3IERzdCxsY3Q9bmV3IERzdCxjY3Q9bmV3IHdzdDtjbGFzcyBkY3QgZXh0ZW5kcyByc3R7Y29uc3RydWN0b3IoKXtzdXBlcigpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJpZCIse3ZhbHVlOm9jdCsrfSksdGhpcy51dWlkPWRzdCgpLHRoaXMubmFtZT0iIix0aGlzLnR5cGU9IkJ1ZmZlckdlb21ldHJ5Iix0aGlzLmluZGV4PW51bGwsdGhpcy5hdHRyaWJ1dGVzPXt9LHRoaXMubW9ycGhBdHRyaWJ1dGVzPXt9LHRoaXMubW9ycGhUYXJnZXRzUmVsYXRpdmU9ITEsdGhpcy5ncm91cHM9W10sdGhpcy5ib3VuZGluZ0JveD1udWxsLHRoaXMuYm91bmRpbmdTcGhlcmU9bnVsbCx0aGlzLmRyYXdSYW5nZT17c3RhcnQ6MCxjb3VudDoxLzB9LHRoaXMudXNlckRhdGE9e319Z2V0SW5kZXgoKXtyZXR1cm4gdGhpcy5pbmRleH1zZXRJbmRleCh0KXtyZXR1cm4gdGhpcy5pbmRleD1BcnJheS5pc0FycmF5KHQpP25ldyhuY3QodCk+NjU1MzU/dGN0OiRsdCkodCwxKTp0LHRoaXN9Z2V0QXR0cmlidXRlKHQpe3JldHVybiB0aGlzLmF0dHJpYnV0ZXNbdF19c2V0QXR0cmlidXRlKHQsZSl7cmV0dXJuIHRoaXMuYXR0cmlidXRlc1t0XT1lLHRoaXN9ZGVsZXRlQXR0cmlidXRlKHQpe3JldHVybiBkZWxldGUgdGhpcy5hdHRyaWJ1dGVzW3RdLHRoaXN9aGFzQXR0cmlidXRlKHQpe3JldHVybiB2b2lkIDAhPT10aGlzLmF0dHJpYnV0ZXNbdF19YWRkR3JvdXAodCxlLG49MCl7dGhpcy5ncm91cHMucHVzaCh7c3RhcnQ6dCxjb3VudDplLG1hdGVyaWFsSW5kZXg6bn0pfWNsZWFyR3JvdXBzKCl7dGhpcy5ncm91cHM9W119c2V0RHJhd1JhbmdlKHQsZSl7dGhpcy5kcmF3UmFuZ2Uuc3RhcnQ9dCx0aGlzLmRyYXdSYW5nZS5jb3VudD1lfWFwcGx5TWF0cml4NCh0KXtjb25zdCBlPXRoaXMuYXR0cmlidXRlcy5wb3NpdGlvbjt2b2lkIDAhPT1lJiYoZS5hcHBseU1hdHJpeDQodCksZS5uZWVkc1VwZGF0ZT0hMCk7Y29uc3Qgbj10aGlzLmF0dHJpYnV0ZXMubm9ybWFsO2lmKHZvaWQgMCE9PW4pe2NvbnN0IGU9KG5ldyBoc3QpLmdldE5vcm1hbE1hdHJpeCh0KTtuLmFwcGx5Tm9ybWFsTWF0cml4KGUpLG4ubmVlZHNVcGRhdGU9ITB9Y29uc3Qgbz10aGlzLmF0dHJpYnV0ZXMudGFuZ2VudDtyZXR1cm4gdm9pZCAwIT09byYmKG8udHJhbnNmb3JtRGlyZWN0aW9uKHQpLG8ubmVlZHNVcGRhdGU9ITApLG51bGwhPT10aGlzLmJvdW5kaW5nQm94JiZ0aGlzLmNvbXB1dGVCb3VuZGluZ0JveCgpLG51bGwhPT10aGlzLmJvdW5kaW5nU3BoZXJlJiZ0aGlzLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLHRoaXN9YXBwbHlRdWF0ZXJuaW9uKHQpe3JldHVybiBpY3QubWFrZVJvdGF0aW9uRnJvbVF1YXRlcm5pb24odCksdGhpcy5hcHBseU1hdHJpeDQoaWN0KSx0aGlzfXJvdGF0ZVgodCl7cmV0dXJuIGljdC5tYWtlUm90YXRpb25YKHQpLHRoaXMuYXBwbHlNYXRyaXg0KGljdCksdGhpc31yb3RhdGVZKHQpe3JldHVybiBpY3QubWFrZVJvdGF0aW9uWSh0KSx0aGlzLmFwcGx5TWF0cml4NChpY3QpLHRoaXN9cm90YXRlWih0KXtyZXR1cm4gaWN0Lm1ha2VSb3RhdGlvbloodCksdGhpcy5hcHBseU1hdHJpeDQoaWN0KSx0aGlzfXRyYW5zbGF0ZSh0LGUsbil7cmV0dXJuIGljdC5tYWtlVHJhbnNsYXRpb24odCxlLG4pLHRoaXMuYXBwbHlNYXRyaXg0KGljdCksdGhpc31zY2FsZSh0LGUsbil7cmV0dXJuIGljdC5tYWtlU2NhbGUodCxlLG4pLHRoaXMuYXBwbHlNYXRyaXg0KGljdCksdGhpc31sb29rQXQodCl7cmV0dXJuIGFjdC5sb29rQXQodCksYWN0LnVwZGF0ZU1hdHJpeCgpLHRoaXMuYXBwbHlNYXRyaXg0KGFjdC5tYXRyaXgpLHRoaXN9Y2VudGVyKCl7cmV0dXJuIHRoaXMuY29tcHV0ZUJvdW5kaW5nQm94KCksdGhpcy5ib3VuZGluZ0JveC5nZXRDZW50ZXIocmN0KS5uZWdhdGUoKSx0aGlzLnRyYW5zbGF0ZShyY3QueCxyY3QueSxyY3QueiksdGhpc31zZXRGcm9tUG9pbnRzKHQpe2NvbnN0IGU9W107Zm9yKGxldCBuPTAsbz10Lmxlbmd0aDtuPG87bisrKXtjb25zdCBvPXRbbl07ZS5wdXNoKG8ueCxvLnksby56fHwwKX1yZXR1cm4gdGhpcy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgZWN0KGUsMykpLHRoaXN9Y29tcHV0ZUJvdW5kaW5nQm94KCl7bnVsbD09PXRoaXMuYm91bmRpbmdCb3gmJih0aGlzLmJvdW5kaW5nQm94PW5ldyBEc3QpO2NvbnN0IHQ9dGhpcy5hdHRyaWJ1dGVzLnBvc2l0aW9uLGU9dGhpcy5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb247aWYodCYmdC5pc0dMQnVmZmVyQXR0cmlidXRlKXJldHVybiBjb25zb2xlLmVycm9yKCdUSFJFRS5CdWZmZXJHZW9tZXRyeS5jb21wdXRlQm91bmRpbmdCb3goKTogR0xCdWZmZXJBdHRyaWJ1dGUgcmVxdWlyZXMgYSBtYW51YWwgYm91bmRpbmcgYm94LiBBbHRlcm5hdGl2ZWx5IHNldCAibWVzaC5mcnVzdHVtQ3VsbGVkIiB0byAiZmFsc2UiLicsdGhpcyksdm9pZCB0aGlzLmJvdW5kaW5nQm94LnNldChuZXcgd3N0KC0xLzAsLTEvMCwtMS8wKSxuZXcgd3N0KDEvMCwxLzAsMS8wKSk7aWYodm9pZCAwIT09dCl7aWYodGhpcy5ib3VuZGluZ0JveC5zZXRGcm9tQnVmZmVyQXR0cmlidXRlKHQpLGUpZm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0PG47dCsrKXtzY3Quc2V0RnJvbUJ1ZmZlckF0dHJpYnV0ZShlW3RdKSx0aGlzLm1vcnBoVGFyZ2V0c1JlbGF0aXZlPyhjY3QuYWRkVmVjdG9ycyh0aGlzLmJvdW5kaW5nQm94Lm1pbixzY3QubWluKSx0aGlzLmJvdW5kaW5nQm94LmV4cGFuZEJ5UG9pbnQoY2N0KSxjY3QuYWRkVmVjdG9ycyh0aGlzLmJvdW5kaW5nQm94Lm1heCxzY3QubWF4KSx0aGlzLmJvdW5kaW5nQm94LmV4cGFuZEJ5UG9pbnQoY2N0KSk6KHRoaXMuYm91bmRpbmdCb3guZXhwYW5kQnlQb2ludChzY3QubWluKSx0aGlzLmJvdW5kaW5nQm94LmV4cGFuZEJ5UG9pbnQoc2N0Lm1heCkpfX1lbHNlIHRoaXMuYm91bmRpbmdCb3gubWFrZUVtcHR5KCk7KGlzTmFOKHRoaXMuYm91bmRpbmdCb3gubWluLngpfHxpc05hTih0aGlzLmJvdW5kaW5nQm94Lm1pbi55KXx8aXNOYU4odGhpcy5ib3VuZGluZ0JveC5taW4ueikpJiZjb25zb2xlLmVycm9yKCdUSFJFRS5CdWZmZXJHZW9tZXRyeS5jb21wdXRlQm91bmRpbmdCb3goKTogQ29tcHV0ZWQgbWluL21heCBoYXZlIE5hTiB2YWx1ZXMuIFRoZSAicG9zaXRpb24iIGF0dHJpYnV0ZSBpcyBsaWtlbHkgdG8gaGF2ZSBOYU4gdmFsdWVzLicsdGhpcyl9Y29tcHV0ZUJvdW5kaW5nU3BoZXJlKCl7bnVsbD09PXRoaXMuYm91bmRpbmdTcGhlcmUmJih0aGlzLmJvdW5kaW5nU3BoZXJlPW5ldyBac3QpO2NvbnN0IHQ9dGhpcy5hdHRyaWJ1dGVzLnBvc2l0aW9uLGU9dGhpcy5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb247aWYodCYmdC5pc0dMQnVmZmVyQXR0cmlidXRlKXJldHVybiBjb25zb2xlLmVycm9yKCdUSFJFRS5CdWZmZXJHZW9tZXRyeS5jb21wdXRlQm91bmRpbmdTcGhlcmUoKTogR0xCdWZmZXJBdHRyaWJ1dGUgcmVxdWlyZXMgYSBtYW51YWwgYm91bmRpbmcgc3BoZXJlLiBBbHRlcm5hdGl2ZWx5IHNldCAibWVzaC5mcnVzdHVtQ3VsbGVkIiB0byAiZmFsc2UiLicsdGhpcyksdm9pZCB0aGlzLmJvdW5kaW5nU3BoZXJlLnNldChuZXcgd3N0LDEvMCk7aWYodCl7Y29uc3Qgbj10aGlzLmJvdW5kaW5nU3BoZXJlLmNlbnRlcjtpZihzY3Quc2V0RnJvbUJ1ZmZlckF0dHJpYnV0ZSh0KSxlKWZvcihsZXQgdD0wLG49ZS5sZW5ndGg7dDxuO3QrKyl7bGN0LnNldEZyb21CdWZmZXJBdHRyaWJ1dGUoZVt0XSksdGhpcy5tb3JwaFRhcmdldHNSZWxhdGl2ZT8oY2N0LmFkZFZlY3RvcnMoc2N0Lm1pbixsY3QubWluKSxzY3QuZXhwYW5kQnlQb2ludChjY3QpLGNjdC5hZGRWZWN0b3JzKHNjdC5tYXgsbGN0Lm1heCksc2N0LmV4cGFuZEJ5UG9pbnQoY2N0KSk6KHNjdC5leHBhbmRCeVBvaW50KGxjdC5taW4pLHNjdC5leHBhbmRCeVBvaW50KGxjdC5tYXgpKX1zY3QuZ2V0Q2VudGVyKG4pO2xldCBvPTA7Zm9yKGxldCBlPTAsaT10LmNvdW50O2U8aTtlKyspY2N0LmZyb21CdWZmZXJBdHRyaWJ1dGUodCxlKSxvPU1hdGgubWF4KG8sbi5kaXN0YW5jZVRvU3F1YXJlZChjY3QpKTtpZihlKWZvcihsZXQgaT0wLGE9ZS5sZW5ndGg7aTxhO2krKyl7Y29uc3QgYT1lW2ldLHI9dGhpcy5tb3JwaFRhcmdldHNSZWxhdGl2ZTtmb3IobGV0IGU9MCxpPWEuY291bnQ7ZTxpO2UrKyljY3QuZnJvbUJ1ZmZlckF0dHJpYnV0ZShhLGUpLHImJihyY3QuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LGUpLGNjdC5hZGQocmN0KSksbz1NYXRoLm1heChvLG4uZGlzdGFuY2VUb1NxdWFyZWQoY2N0KSl9dGhpcy5ib3VuZGluZ1NwaGVyZS5yYWRpdXM9TWF0aC5zcXJ0KG8pLGlzTmFOKHRoaXMuYm91bmRpbmdTcGhlcmUucmFkaXVzKSYmY29uc29sZS5lcnJvcignVEhSRUUuQnVmZmVyR2VvbWV0cnkuY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCk6IENvbXB1dGVkIHJhZGl1cyBpcyBOYU4uIFRoZSAicG9zaXRpb24iIGF0dHJpYnV0ZSBpcyBsaWtlbHkgdG8gaGF2ZSBOYU4gdmFsdWVzLicsdGhpcyl9fWNvbXB1dGVGYWNlTm9ybWFscygpe31jb21wdXRlVGFuZ2VudHMoKXtjb25zdCB0PXRoaXMuaW5kZXgsZT10aGlzLmF0dHJpYnV0ZXM7aWYobnVsbD09PXR8fHZvaWQgMD09PWUucG9zaXRpb258fHZvaWQgMD09PWUubm9ybWFsfHx2b2lkIDA9PT1lLnV2KXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuY29tcHV0ZVRhbmdlbnRzKCkgZmFpbGVkLiBNaXNzaW5nIHJlcXVpcmVkIGF0dHJpYnV0ZXMgKGluZGV4LCBwb3NpdGlvbiwgbm9ybWFsIG9yIHV2KSIpO2NvbnN0IG49dC5hcnJheSxvPWUucG9zaXRpb24uYXJyYXksaT1lLm5vcm1hbC5hcnJheSxhPWUudXYuYXJyYXkscj1vLmxlbmd0aC8zO3ZvaWQgMD09PWUudGFuZ2VudCYmdGhpcy5zZXRBdHRyaWJ1dGUoInRhbmdlbnQiLG5ldyBRbHQobmV3IEZsb2F0MzJBcnJheSg0KnIpLDQpKTtjb25zdCBzPWUudGFuZ2VudC5hcnJheSxsPVtdLGM9W107Zm9yKGxldCB0PTA7dDxyO3QrKylsW3RdPW5ldyB3c3QsY1t0XT1uZXcgd3N0O2NvbnN0IGQ9bmV3IHdzdCxwPW5ldyB3c3QsbT1uZXcgd3N0LGY9bmV3IGdzdCx1PW5ldyBnc3QsZz1uZXcgZ3N0LGg9bmV3IHdzdCxiPW5ldyB3c3Q7ZnVuY3Rpb24geSh0LGUsbil7ZC5mcm9tQXJyYXkobywzKnQpLHAuZnJvbUFycmF5KG8sMyplKSxtLmZyb21BcnJheShvLDMqbiksZi5mcm9tQXJyYXkoYSwyKnQpLHUuZnJvbUFycmF5KGEsMiplKSxnLmZyb21BcnJheShhLDIqbikscC5zdWIoZCksbS5zdWIoZCksdS5zdWIoZiksZy5zdWIoZik7Y29uc3QgaT0xLyh1LngqZy55LWcueCp1LnkpO2lzRmluaXRlKGkpJiYoaC5jb3B5KHApLm11bHRpcGx5U2NhbGFyKGcueSkuYWRkU2NhbGVkVmVjdG9yKG0sLXUueSkubXVsdGlwbHlTY2FsYXIoaSksYi5jb3B5KG0pLm11bHRpcGx5U2NhbGFyKHUueCkuYWRkU2NhbGVkVmVjdG9yKHAsLWcueCkubXVsdGlwbHlTY2FsYXIoaSksbFt0XS5hZGQoaCksbFtlXS5hZGQoaCksbFtuXS5hZGQoaCksY1t0XS5hZGQoYiksY1tlXS5hZGQoYiksY1tuXS5hZGQoYikpfWxldCBfPXRoaXMuZ3JvdXBzOzA9PT1fLmxlbmd0aCYmKF89W3tzdGFydDowLGNvdW50Om4ubGVuZ3RofV0pO2ZvcihsZXQgdD0wLGU9Xy5sZW5ndGg7dDxlOysrdCl7Y29uc3QgZT1fW3RdLG89ZS5zdGFydDtmb3IobGV0IHQ9byxpPW8rZS5jb3VudDt0PGk7dCs9Myl5KG5bdCswXSxuW3QrMV0sblt0KzJdKX1jb25zdCBDPW5ldyB3c3QsTT1uZXcgd3N0LHY9bmV3IHdzdCx4PW5ldyB3c3Q7ZnVuY3Rpb24gTyh0KXt2LmZyb21BcnJheShpLDMqdCkseC5jb3B5KHYpO2NvbnN0IGU9bFt0XTtDLmNvcHkoZSksQy5zdWIodi5tdWx0aXBseVNjYWxhcih2LmRvdChlKSkpLm5vcm1hbGl6ZSgpLE0uY3Jvc3NWZWN0b3JzKHgsZSk7Y29uc3Qgbj1NLmRvdChjW3RdKTwwPy0xOjE7c1s0KnRdPUMueCxzWzQqdCsxXT1DLnksc1s0KnQrMl09Qy56LHNbNCp0KzNdPW59Zm9yKGxldCB0PTAsZT1fLmxlbmd0aDt0PGU7Kyt0KXtjb25zdCBlPV9bdF0sbz1lLnN0YXJ0O2ZvcihsZXQgdD1vLGk9bytlLmNvdW50O3Q8aTt0Kz0zKU8oblt0KzBdKSxPKG5bdCsxXSksTyhuW3QrMl0pfX1jb21wdXRlVmVydGV4Tm9ybWFscygpe2NvbnN0IHQ9dGhpcy5pbmRleCxlPXRoaXMuZ2V0QXR0cmlidXRlKCJwb3NpdGlvbiIpO2lmKHZvaWQgMCE9PWUpe2xldCBuPXRoaXMuZ2V0QXR0cmlidXRlKCJub3JtYWwiKTtpZih2b2lkIDA9PT1uKW49bmV3IFFsdChuZXcgRmxvYXQzMkFycmF5KDMqZS5jb3VudCksMyksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbik7ZWxzZSBmb3IobGV0IHQ9MCxlPW4uY291bnQ7dDxlO3QrKyluLnNldFhZWih0LDAsMCwwKTtjb25zdCBvPW5ldyB3c3QsaT1uZXcgd3N0LGE9bmV3IHdzdCxyPW5ldyB3c3Qscz1uZXcgd3N0LGw9bmV3IHdzdCxjPW5ldyB3c3QsZD1uZXcgd3N0O2lmKHQpZm9yKGxldCBwPTAsbT10LmNvdW50O3A8bTtwKz0zKXtjb25zdCBtPXQuZ2V0WChwKzApLGY9dC5nZXRYKHArMSksdT10LmdldFgocCsyKTtvLmZyb21CdWZmZXJBdHRyaWJ1dGUoZSxtKSxpLmZyb21CdWZmZXJBdHRyaWJ1dGUoZSxmKSxhLmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx1KSxjLnN1YlZlY3RvcnMoYSxpKSxkLnN1YlZlY3RvcnMobyxpKSxjLmNyb3NzKGQpLHIuZnJvbUJ1ZmZlckF0dHJpYnV0ZShuLG0pLHMuZnJvbUJ1ZmZlckF0dHJpYnV0ZShuLGYpLGwuZnJvbUJ1ZmZlckF0dHJpYnV0ZShuLHUpLHIuYWRkKGMpLHMuYWRkKGMpLGwuYWRkKGMpLG4uc2V0WFlaKG0sci54LHIueSxyLnopLG4uc2V0WFlaKGYscy54LHMueSxzLnopLG4uc2V0WFlaKHUsbC54LGwueSxsLnopfWVsc2UgZm9yKGxldCB0PTAscj1lLmNvdW50O3Q8cjt0Kz0zKW8uZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLHQrMCksaS5mcm9tQnVmZmVyQXR0cmlidXRlKGUsdCsxKSxhLmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx0KzIpLGMuc3ViVmVjdG9ycyhhLGkpLGQuc3ViVmVjdG9ycyhvLGkpLGMuY3Jvc3MoZCksbi5zZXRYWVoodCswLGMueCxjLnksYy56KSxuLnNldFhZWih0KzEsYy54LGMueSxjLnopLG4uc2V0WFlaKHQrMixjLngsYy55LGMueik7dGhpcy5ub3JtYWxpemVOb3JtYWxzKCksbi5uZWVkc1VwZGF0ZT0hMH19bWVyZ2UodCxlKXtpZighdHx8IXQuaXNCdWZmZXJHZW9tZXRyeSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5CdWZmZXJHZW9tZXRyeS5tZXJnZSgpOiBnZW9tZXRyeSBub3QgYW4gaW5zdGFuY2Ugb2YgVEhSRUUuQnVmZmVyR2VvbWV0cnkuIix0KTt2b2lkIDA9PT1lJiYoZT0wLGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnkubWVyZ2UoKTogT3ZlcndyaXRpbmcgb3JpZ2luYWwgZ2VvbWV0cnksIHN0YXJ0aW5nIGF0IG9mZnNldD0wLiBVc2UgQnVmZmVyR2VvbWV0cnlVdGlscy5tZXJnZUJ1ZmZlckdlb21ldHJpZXMoKSBmb3IgbG9zc2xlc3MgbWVyZ2UuIikpO2NvbnN0IG49dGhpcy5hdHRyaWJ1dGVzO2Zvcihjb25zdCBvIGluIG4pe2lmKHZvaWQgMD09PXQuYXR0cmlidXRlc1tvXSljb250aW51ZTtjb25zdCBpPW5bb10uYXJyYXksYT10LmF0dHJpYnV0ZXNbb10scj1hLmFycmF5LHM9YS5pdGVtU2l6ZSplLGw9TWF0aC5taW4oci5sZW5ndGgsaS5sZW5ndGgtcyk7Zm9yKGxldCB0PTAsZT1zO3Q8bDt0KyssZSsrKWlbZV09clt0XX1yZXR1cm4gdGhpc31ub3JtYWxpemVOb3JtYWxzKCl7Y29uc3QgdD10aGlzLmF0dHJpYnV0ZXMubm9ybWFsO2ZvcihsZXQgZT0wLG49dC5jb3VudDtlPG47ZSsrKWNjdC5mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSksY2N0Lm5vcm1hbGl6ZSgpLHQuc2V0WFlaKGUsY2N0LngsY2N0LnksY2N0LnopfXRvTm9uSW5kZXhlZCgpe2Z1bmN0aW9uIHQodCxlKXtjb25zdCBuPXQuYXJyYXksbz10Lml0ZW1TaXplLGk9dC5ub3JtYWxpemVkLGE9bmV3IG4uY29uc3RydWN0b3IoZS5sZW5ndGgqbyk7bGV0IHI9MCxzPTA7Zm9yKGxldCBpPTAsbD1lLmxlbmd0aDtpPGw7aSsrKXtyPXQuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZT9lW2ldKnQuZGF0YS5zdHJpZGUrdC5vZmZzZXQ6ZVtpXSpvO2ZvcihsZXQgdD0wO3Q8bzt0KyspYVtzKytdPW5bcisrXX1yZXR1cm4gbmV3IFFsdChhLG8saSl9aWYobnVsbD09PXRoaXMuaW5kZXgpcmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnkudG9Ob25JbmRleGVkKCk6IEJ1ZmZlckdlb21ldHJ5IGlzIGFscmVhZHkgbm9uLWluZGV4ZWQuIiksdGhpcztjb25zdCBlPW5ldyBkY3Qsbj10aGlzLmluZGV4LmFycmF5LG89dGhpcy5hdHRyaWJ1dGVzO2Zvcihjb25zdCBpIGluIG8pe2NvbnN0IGE9dChvW2ldLG4pO2Uuc2V0QXR0cmlidXRlKGksYSl9Y29uc3QgaT10aGlzLm1vcnBoQXR0cmlidXRlcztmb3IoY29uc3QgbyBpbiBpKXtjb25zdCBhPVtdLHI9aVtvXTtmb3IobGV0IGU9MCxvPXIubGVuZ3RoO2U8bztlKyspe2NvbnN0IG89dChyW2VdLG4pO2EucHVzaChvKX1lLm1vcnBoQXR0cmlidXRlc1tvXT1hfWUubW9ycGhUYXJnZXRzUmVsYXRpdmU9dGhpcy5tb3JwaFRhcmdldHNSZWxhdGl2ZTtjb25zdCBhPXRoaXMuZ3JvdXBzO2ZvcihsZXQgdD0wLG49YS5sZW5ndGg7dDxuO3QrKyl7Y29uc3Qgbj1hW3RdO2UuYWRkR3JvdXAobi5zdGFydCxuLmNvdW50LG4ubWF0ZXJpYWxJbmRleCl9cmV0dXJuIGV9dG9KU09OKCl7Y29uc3QgdD17bWV0YWRhdGE6e3ZlcnNpb246NC41LHR5cGU6IkJ1ZmZlckdlb21ldHJ5IixnZW5lcmF0b3I6IkJ1ZmZlckdlb21ldHJ5LnRvSlNPTiJ9fTtpZih0LnV1aWQ9dGhpcy51dWlkLHQudHlwZT10aGlzLnR5cGUsIiIhPT10aGlzLm5hbWUmJih0Lm5hbWU9dGhpcy5uYW1lKSxPYmplY3Qua2V5cyh0aGlzLnVzZXJEYXRhKS5sZW5ndGg+MCYmKHQudXNlckRhdGE9dGhpcy51c2VyRGF0YSksdm9pZCAwIT09dGhpcy5wYXJhbWV0ZXJzKXtjb25zdCBlPXRoaXMucGFyYW1ldGVycztmb3IoY29uc3QgbiBpbiBlKXZvaWQgMCE9PWVbbl0mJih0W25dPWVbbl0pO3JldHVybiB0fXQuZGF0YT17YXR0cmlidXRlczp7fX07Y29uc3QgZT10aGlzLmluZGV4O251bGwhPT1lJiYodC5kYXRhLmluZGV4PXt0eXBlOmUuYXJyYXkuY29uc3RydWN0b3IubmFtZSxhcnJheTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLmFycmF5KX0pO2NvbnN0IG49dGhpcy5hdHRyaWJ1dGVzO2Zvcihjb25zdCBlIGluIG4pe3QuZGF0YS5hdHRyaWJ1dGVzW2VdPW5bZV0udG9KU09OKHQuZGF0YSl9Y29uc3Qgbz17fTtsZXQgaT0hMTtmb3IoY29uc3QgZSBpbiB0aGlzLm1vcnBoQXR0cmlidXRlcyl7Y29uc3Qgbj10aGlzLm1vcnBoQXR0cmlidXRlc1tlXSxhPVtdO2ZvcihsZXQgZT0wLG89bi5sZW5ndGg7ZTxvO2UrKyl7YS5wdXNoKG5bZV0udG9KU09OKHQuZGF0YSkpfWEubGVuZ3RoPjAmJihvW2VdPWEsaT0hMCl9aSYmKHQuZGF0YS5tb3JwaEF0dHJpYnV0ZXM9byx0LmRhdGEubW9ycGhUYXJnZXRzUmVsYXRpdmU9dGhpcy5tb3JwaFRhcmdldHNSZWxhdGl2ZSk7Y29uc3QgYT10aGlzLmdyb3VwczthLmxlbmd0aD4wJiYodC5kYXRhLmdyb3Vwcz1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGEpKSk7Y29uc3Qgcj10aGlzLmJvdW5kaW5nU3BoZXJlO3JldHVybiBudWxsIT09ciYmKHQuZGF0YS5ib3VuZGluZ1NwaGVyZT17Y2VudGVyOnIuY2VudGVyLnRvQXJyYXkoKSxyYWRpdXM6ci5yYWRpdXN9KSx0fWNsb25lKCl7cmV0dXJuKG5ldyBkY3QpLmNvcHkodGhpcyl9Y29weSh0KXt0aGlzLmluZGV4PW51bGwsdGhpcy5hdHRyaWJ1dGVzPXt9LHRoaXMubW9ycGhBdHRyaWJ1dGVzPXt9LHRoaXMuZ3JvdXBzPVtdLHRoaXMuYm91bmRpbmdCb3g9bnVsbCx0aGlzLmJvdW5kaW5nU3BoZXJlPW51bGw7Y29uc3QgZT17fTt0aGlzLm5hbWU9dC5uYW1lO2NvbnN0IG49dC5pbmRleDtudWxsIT09biYmdGhpcy5zZXRJbmRleChuLmNsb25lKGUpKTtjb25zdCBvPXQuYXR0cmlidXRlcztmb3IoY29uc3QgdCBpbiBvKXt0aGlzLnNldEF0dHJpYnV0ZSh0LG9bdF0uY2xvbmUoZSkpfWNvbnN0IGk9dC5tb3JwaEF0dHJpYnV0ZXM7Zm9yKGNvbnN0IHQgaW4gaSl7Y29uc3Qgbj1bXSxvPWlbdF07Zm9yKGxldCB0PTAsaT1vLmxlbmd0aDt0PGk7dCsrKW4ucHVzaChvW3RdLmNsb25lKGUpKTt0aGlzLm1vcnBoQXR0cmlidXRlc1t0XT1ufXRoaXMubW9ycGhUYXJnZXRzUmVsYXRpdmU9dC5tb3JwaFRhcmdldHNSZWxhdGl2ZTtjb25zdCBhPXQuZ3JvdXBzO2ZvcihsZXQgdD0wLGU9YS5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1hW3RdO3RoaXMuYWRkR3JvdXAoZS5zdGFydCxlLmNvdW50LGUubWF0ZXJpYWxJbmRleCl9Y29uc3Qgcj10LmJvdW5kaW5nQm94O251bGwhPT1yJiYodGhpcy5ib3VuZGluZ0JveD1yLmNsb25lKCkpO2NvbnN0IHM9dC5ib3VuZGluZ1NwaGVyZTtyZXR1cm4gbnVsbCE9PXMmJih0aGlzLmJvdW5kaW5nU3BoZXJlPXMuY2xvbmUoKSksdGhpcy5kcmF3UmFuZ2Uuc3RhcnQ9dC5kcmF3UmFuZ2Uuc3RhcnQsdGhpcy5kcmF3UmFuZ2UuY291bnQ9dC5kcmF3UmFuZ2UuY291bnQsdGhpcy51c2VyRGF0YT10LnVzZXJEYXRhLHRoaXN9ZGlzcG9zZSgpe3RoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToiZGlzcG9zZSJ9KX19ZGN0LnByb3RvdHlwZS5pc0J1ZmZlckdlb21ldHJ5PSEwO2NvbnN0IHBjdD1uZXcgb2x0LG1jdD1uZXcgbmx0LGZjdD1uZXcgWnN0LHVjdD1uZXcgd3N0LGdjdD1uZXcgd3N0LGhjdD1uZXcgd3N0LGJjdD1uZXcgd3N0LHljdD1uZXcgd3N0LF9jdD1uZXcgd3N0LENjdD1uZXcgd3N0LE1jdD1uZXcgd3N0LHZjdD1uZXcgd3N0LHhjdD1uZXcgZ3N0LE9jdD1uZXcgZ3N0LFBjdD1uZXcgZ3N0LHdjdD1uZXcgd3N0LGtjdD1uZXcgd3N0O2NsYXNzIFNjdCBleHRlbmRzIFNsdHtjb25zdHJ1Y3Rvcih0PW5ldyBkY3QsZT1uZXcgWGx0KXtzdXBlcigpLHRoaXMudHlwZT0iTWVzaCIsdGhpcy5nZW9tZXRyeT10LHRoaXMubWF0ZXJpYWw9ZSx0aGlzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdm9pZCAwIT09dC5tb3JwaFRhcmdldEluZmx1ZW5jZXMmJih0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcz10Lm1vcnBoVGFyZ2V0SW5mbHVlbmNlcy5zbGljZSgpKSx2b2lkIDAhPT10Lm1vcnBoVGFyZ2V0RGljdGlvbmFyeSYmKHRoaXMubW9ycGhUYXJnZXREaWN0aW9uYXJ5PU9iamVjdC5hc3NpZ24oe30sdC5tb3JwaFRhcmdldERpY3Rpb25hcnkpKSx0aGlzLm1hdGVyaWFsPXQubWF0ZXJpYWwsdGhpcy5nZW9tZXRyeT10Lmdlb21ldHJ5LHRoaXN9dXBkYXRlTW9ycGhUYXJnZXRzKCl7Y29uc3QgdD10aGlzLmdlb21ldHJ5O2lmKHQuaXNCdWZmZXJHZW9tZXRyeSl7Y29uc3QgZT10Lm1vcnBoQXR0cmlidXRlcyxuPU9iamVjdC5rZXlzKGUpO2lmKG4ubGVuZ3RoPjApe2NvbnN0IHQ9ZVtuWzBdXTtpZih2b2lkIDAhPT10KXt0aGlzLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcz1bXSx0aGlzLm1vcnBoVGFyZ2V0RGljdGlvbmFyeT17fTtmb3IobGV0IGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dFtlXS5uYW1lfHxTdHJpbmcoZSk7dGhpcy5tb3JwaFRhcmdldEluZmx1ZW5jZXMucHVzaCgwKSx0aGlzLm1vcnBoVGFyZ2V0RGljdGlvbmFyeVtuXT1lfX19fWVsc2V7Y29uc3QgZT10Lm1vcnBoVGFyZ2V0czt2b2lkIDAhPT1lJiZlLmxlbmd0aD4wJiZjb25zb2xlLmVycm9yKCJUSFJFRS5NZXNoLnVwZGF0ZU1vcnBoVGFyZ2V0cygpIG5vIGxvbmdlciBzdXBwb3J0cyBUSFJFRS5HZW9tZXRyeS4gVXNlIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIil9fXJheWNhc3QodCxlKXtjb25zdCBuPXRoaXMuZ2VvbWV0cnksbz10aGlzLm1hdGVyaWFsLGk9dGhpcy5tYXRyaXhXb3JsZDtpZih2b2lkIDA9PT1vKXJldHVybjtpZihudWxsPT09bi5ib3VuZGluZ1NwaGVyZSYmbi5jb21wdXRlQm91bmRpbmdTcGhlcmUoKSxmY3QuY29weShuLmJvdW5kaW5nU3BoZXJlKSxmY3QuYXBwbHlNYXRyaXg0KGkpLCExPT09dC5yYXkuaW50ZXJzZWN0c1NwaGVyZShmY3QpKXJldHVybjtpZihwY3QuY29weShpKS5pbnZlcnQoKSxtY3QuY29weSh0LnJheSkuYXBwbHlNYXRyaXg0KHBjdCksbnVsbCE9PW4uYm91bmRpbmdCb3gmJiExPT09bWN0LmludGVyc2VjdHNCb3gobi5ib3VuZGluZ0JveCkpcmV0dXJuO2xldCBhO2lmKG4uaXNCdWZmZXJHZW9tZXRyeSl7Y29uc3QgaT1uLmluZGV4LHI9bi5hdHRyaWJ1dGVzLnBvc2l0aW9uLHM9bi5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb24sbD1uLm1vcnBoVGFyZ2V0c1JlbGF0aXZlLGM9bi5hdHRyaWJ1dGVzLnV2LGQ9bi5hdHRyaWJ1dGVzLnV2MixwPW4uZ3JvdXBzLG09bi5kcmF3UmFuZ2U7aWYobnVsbCE9PWkpaWYoQXJyYXkuaXNBcnJheShvKSlmb3IobGV0IG49MCxmPXAubGVuZ3RoO248ZjtuKyspe2NvbnN0IGY9cFtuXSx1PW9bZi5tYXRlcmlhbEluZGV4XTtmb3IobGV0IG49TWF0aC5tYXgoZi5zdGFydCxtLnN0YXJ0KSxvPU1hdGgubWluKGYuc3RhcnQrZi5jb3VudCxtLnN0YXJ0K20uY291bnQpO248bztuKz0zKXtjb25zdCBvPWkuZ2V0WChuKSxwPWkuZ2V0WChuKzEpLG09aS5nZXRYKG4rMik7YT1EY3QodGhpcyx1LHQsbWN0LHIscyxsLGMsZCxvLHAsbSksYSYmKGEuZmFjZUluZGV4PU1hdGguZmxvb3Iobi8zKSxhLmZhY2UubWF0ZXJpYWxJbmRleD1mLm1hdGVyaWFsSW5kZXgsZS5wdXNoKGEpKX19ZWxzZXtmb3IobGV0IG49TWF0aC5tYXgoMCxtLnN0YXJ0KSxwPU1hdGgubWluKGkuY291bnQsbS5zdGFydCttLmNvdW50KTtuPHA7bis9Myl7Y29uc3QgcD1pLmdldFgobiksbT1pLmdldFgobisxKSxmPWkuZ2V0WChuKzIpO2E9RGN0KHRoaXMsbyx0LG1jdCxyLHMsbCxjLGQscCxtLGYpLGEmJihhLmZhY2VJbmRleD1NYXRoLmZsb29yKG4vMyksZS5wdXNoKGEpKX19ZWxzZSBpZih2b2lkIDAhPT1yKWlmKEFycmF5LmlzQXJyYXkobykpZm9yKGxldCBuPTAsaT1wLmxlbmd0aDtuPGk7bisrKXtjb25zdCBpPXBbbl0sZj1vW2kubWF0ZXJpYWxJbmRleF07Zm9yKGxldCBuPU1hdGgubWF4KGkuc3RhcnQsbS5zdGFydCksbz1NYXRoLm1pbihpLnN0YXJ0K2kuY291bnQsbS5zdGFydCttLmNvdW50KTtuPG87bis9Myl7YT1EY3QodGhpcyxmLHQsbWN0LHIscyxsLGMsZCxuLG4rMSxuKzIpLGEmJihhLmZhY2VJbmRleD1NYXRoLmZsb29yKG4vMyksYS5mYWNlLm1hdGVyaWFsSW5kZXg9aS5tYXRlcmlhbEluZGV4LGUucHVzaChhKSl9fWVsc2V7Zm9yKGxldCBuPU1hdGgubWF4KDAsbS5zdGFydCksaT1NYXRoLm1pbihyLmNvdW50LG0uc3RhcnQrbS5jb3VudCk7bjxpO24rPTMpe2E9RGN0KHRoaXMsbyx0LG1jdCxyLHMsbCxjLGQsbixuKzEsbisyKSxhJiYoYS5mYWNlSW5kZXg9TWF0aC5mbG9vcihuLzMpLGUucHVzaChhKSl9fX1lbHNlIG4uaXNHZW9tZXRyeSYmY29uc29sZS5lcnJvcigiVEhSRUUuTWVzaC5yYXljYXN0KCkgbm8gbG9uZ2VyIHN1cHBvcnRzIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKX19ZnVuY3Rpb24gRGN0KHQsZSxuLG8saSxhLHIscyxsLGMsZCxwKXt1Y3QuZnJvbUJ1ZmZlckF0dHJpYnV0ZShpLGMpLGdjdC5mcm9tQnVmZmVyQXR0cmlidXRlKGksZCksaGN0LmZyb21CdWZmZXJBdHRyaWJ1dGUoaSxwKTtjb25zdCBtPXQubW9ycGhUYXJnZXRJbmZsdWVuY2VzO2lmKGEmJm0pe0NjdC5zZXQoMCwwLDApLE1jdC5zZXQoMCwwLDApLHZjdC5zZXQoMCwwLDApO2ZvcihsZXQgdD0wLGU9YS5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1tW3RdLG49YVt0XTswIT09ZSYmKGJjdC5mcm9tQnVmZmVyQXR0cmlidXRlKG4sYykseWN0LmZyb21CdWZmZXJBdHRyaWJ1dGUobixkKSxfY3QuZnJvbUJ1ZmZlckF0dHJpYnV0ZShuLHApLHI/KENjdC5hZGRTY2FsZWRWZWN0b3IoYmN0LGUpLE1jdC5hZGRTY2FsZWRWZWN0b3IoeWN0LGUpLHZjdC5hZGRTY2FsZWRWZWN0b3IoX2N0LGUpKTooQ2N0LmFkZFNjYWxlZFZlY3RvcihiY3Quc3ViKHVjdCksZSksTWN0LmFkZFNjYWxlZFZlY3Rvcih5Y3Quc3ViKGdjdCksZSksdmN0LmFkZFNjYWxlZFZlY3RvcihfY3Quc3ViKGhjdCksZSkpKX11Y3QuYWRkKENjdCksZ2N0LmFkZChNY3QpLGhjdC5hZGQodmN0KX10LmlzU2tpbm5lZE1lc2gmJih0LmJvbmVUcmFuc2Zvcm0oYyx1Y3QpLHQuYm9uZVRyYW5zZm9ybShkLGdjdCksdC5ib25lVHJhbnNmb3JtKHAsaGN0KSk7Y29uc3QgZj0oZnVuY3Rpb24gdSh0LGUsbixvLGksYSxyLHMpe2xldCBsO2lmKGw9MT09PWUuc2lkZT9vLmludGVyc2VjdFRyaWFuZ2xlKHIsYSxpLCEwLHMpOm8uaW50ZXJzZWN0VHJpYW5nbGUoaSxhLHIsMiE9PWUuc2lkZSxzKSxudWxsPT09bClyZXR1cm4gbnVsbDtrY3QuY29weShzKSxrY3QuYXBwbHlNYXRyaXg0KHQubWF0cml4V29ybGQpO2NvbnN0IGM9bi5yYXkub3JpZ2luLmRpc3RhbmNlVG8oa2N0KTtyZXR1cm4gYzxuLm5lYXJ8fGM+bi5mYXI/bnVsbDp7ZGlzdGFuY2U6Yyxwb2ludDprY3QuY2xvbmUoKSxvYmplY3Q6dH19KSh0LGUsbixvLHVjdCxnY3QsaGN0LHdjdCk7aWYoZil7cyYmKHhjdC5mcm9tQnVmZmVyQXR0cmlidXRlKHMsYyksT2N0LmZyb21CdWZmZXJBdHRyaWJ1dGUocyxkKSxQY3QuZnJvbUJ1ZmZlckF0dHJpYnV0ZShzLHApLGYudXY9TGx0LmdldFVWKHdjdCx1Y3QsZ2N0LGhjdCx4Y3QsT2N0LFBjdCxuZXcgZ3N0KSksbCYmKHhjdC5mcm9tQnVmZmVyQXR0cmlidXRlKGwsYyksT2N0LmZyb21CdWZmZXJBdHRyaWJ1dGUobCxkKSxQY3QuZnJvbUJ1ZmZlckF0dHJpYnV0ZShsLHApLGYudXYyPUxsdC5nZXRVVih3Y3QsdWN0LGdjdCxoY3QseGN0LE9jdCxQY3QsbmV3IGdzdCkpO2NvbnN0IHQ9e2E6YyxiOmQsYzpwLG5vcm1hbDpuZXcgd3N0LG1hdGVyaWFsSW5kZXg6MH07TGx0LmdldE5vcm1hbCh1Y3QsZ2N0LGhjdCx0Lm5vcm1hbCksZi5mYWNlPXR9cmV0dXJuIGZ9U2N0LnByb3RvdHlwZS5pc01lc2g9ITA7Y2xhc3MgUmN0IGV4dGVuZHMgZGN0e2NvbnN0cnVjdG9yKHQ9MSxlPTEsbj0xLG89MSxpPTEsYT0xKXtzdXBlcigpLHRoaXMudHlwZT0iQm94R2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17d2lkdGg6dCxoZWlnaHQ6ZSxkZXB0aDpuLHdpZHRoU2VnbWVudHM6byxoZWlnaHRTZWdtZW50czppLGRlcHRoU2VnbWVudHM6YX07Y29uc3Qgcj10aGlzO289TWF0aC5mbG9vcihvKSxpPU1hdGguZmxvb3IoaSksYT1NYXRoLmZsb29yKGEpO2NvbnN0IHM9W10sbD1bXSxjPVtdLGQ9W107bGV0IHA9MCxtPTA7ZnVuY3Rpb24gZih0LGUsbixvLGksYSxmLHUsZyxoLGIpe2NvbnN0IHk9YS9nLF89Zi9oLEM9YS8yLE09Zi8yLHY9dS8yLHg9ZysxLE89aCsxO2xldCBQPTAsdz0wO2NvbnN0IGs9bmV3IHdzdDtmb3IobGV0IGE9MDthPE87YSsrKXtjb25zdCByPWEqXy1NO2ZvcihsZXQgcz0wO3M8eDtzKyspe2tbdF09KHMqeS1DKSpvLGtbZV09cippLGtbbl09dixsLnB1c2goay54LGsueSxrLnopLGtbdF09MCxrW2VdPTAsa1tuXT11PjA/MTotMSxjLnB1c2goay54LGsueSxrLnopLGQucHVzaChzL2cpLGQucHVzaCgxLWEvaCksUCs9MX19Zm9yKGxldCB0PTA7dDxoO3QrKylmb3IobGV0IGU9MDtlPGc7ZSsrKXtjb25zdCBuPXArZSt4Kih0KzEpLG89cCsoZSsxKSt4Kih0KzEpLGk9cCsoZSsxKSt4KnQ7cy5wdXNoKHArZSt4KnQsbixpKSxzLnB1c2gobixvLGkpLHcrPTZ9ci5hZGRHcm91cChtLHcsYiksbSs9dyxwKz1QfWYoInoiLCJ5IiwieCIsLTEsLTEsbixlLHQsYSxpLDApLGYoInoiLCJ5IiwieCIsMSwtMSxuLGUsLXQsYSxpLDEpLGYoIngiLCJ6IiwieSIsMSwxLHQsbixlLG8sYSwyKSxmKCJ4IiwieiIsInkiLDEsLTEsdCxuLC1lLG8sYSwzKSxmKCJ4IiwieSIsInoiLDEsLTEsdCxlLG4sbyxpLDQpLGYoIngiLCJ5IiwieiIsLTEsLTEsdCxlLC1uLG8saSw1KSx0aGlzLnNldEluZGV4KHMpLHRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGVjdChsLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgibm9ybWFsIixuZXcgZWN0KGMsMykpLHRoaXMuc2V0QXR0cmlidXRlKCJ1diIsbmV3IGVjdChkLDIpKX1zdGF0aWMgZnJvbUpTT04odCl7cmV0dXJuIG5ldyBSY3QodC53aWR0aCx0LmhlaWdodCx0LmRlcHRoLHQud2lkdGhTZWdtZW50cyx0LmhlaWdodFNlZ21lbnRzLHQuZGVwdGhTZWdtZW50cyl9fWZ1bmN0aW9uIEVjdCh0KXtjb25zdCBlPXt9O2Zvcihjb25zdCBuIGluIHQpe2Vbbl09e307Zm9yKGNvbnN0IG8gaW4gdFtuXSl7Y29uc3QgaT10W25dW29dO2Vbbl1bb109aSYmKGkuaXNDb2xvcnx8aS5pc01hdHJpeDN8fGkuaXNNYXRyaXg0fHxpLmlzVmVjdG9yMnx8aS5pc1ZlY3RvcjN8fGkuaXNWZWN0b3I0fHxpLmlzVGV4dHVyZXx8aS5pc1F1YXRlcm5pb24pP2kuY2xvbmUoKTpBcnJheS5pc0FycmF5KGkpP2kuc2xpY2UoKTppfX1yZXR1cm4gZX1mdW5jdGlvbiBBY3QodCl7Y29uc3QgZT17fTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl7Y29uc3Qgbz1FY3QodFtuXSk7Zm9yKGNvbnN0IHQgaW4gbyllW3RdPW9bdF19cmV0dXJuIGV9Y29uc3QgVGN0PXtjbG9uZTpFY3QsbWVyZ2U6QWN0fTtjbGFzcyBOY3QgZXh0ZW5kcyBWbHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlNoYWRlck1hdGVyaWFsIix0aGlzLmRlZmluZXM9e30sdGhpcy51bmlmb3Jtcz17fSx0aGlzLnZlcnRleFNoYWRlcj0idm9pZCBtYWluKCkge1xuXHRnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb25NYXRyaXggKiBtb2RlbFZpZXdNYXRyaXggKiB2ZWM0KCBwb3NpdGlvbiwgMS4wICk7XG59Iix0aGlzLmZyYWdtZW50U2hhZGVyPSJ2b2lkIG1haW4oKSB7XG5cdGdsX0ZyYWdDb2xvciA9IHZlYzQoIDEuMCwgMC4wLCAwLjAsIDEuMCApO1xufSIsdGhpcy5saW5ld2lkdGg9MSx0aGlzLndpcmVmcmFtZT0hMSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xLHRoaXMuZm9nPSExLHRoaXMubGlnaHRzPSExLHRoaXMuY2xpcHBpbmc9ITEsdGhpcy5leHRlbnNpb25zPXtkZXJpdmF0aXZlczohMSxmcmFnRGVwdGg6ITEsZHJhd0J1ZmZlcnM6ITEsc2hhZGVyVGV4dHVyZUxPRDohMX0sdGhpcy5kZWZhdWx0QXR0cmlidXRlVmFsdWVzPXtjb2xvcjpbMSwxLDFdLHV2OlswLDBdLHV2MjpbMCwwXX0sdGhpcy5pbmRleDBBdHRyaWJ1dGVOYW1lPXZvaWQgMCx0aGlzLnVuaWZvcm1zTmVlZFVwZGF0ZT0hMSx0aGlzLmdsc2xWZXJzaW9uPW51bGwsdm9pZCAwIT09dCYmKHZvaWQgMCE9PXQuYXR0cmlidXRlcyYmY29uc29sZS5lcnJvcigiVEhSRUUuU2hhZGVyTWF0ZXJpYWw6IGF0dHJpYnV0ZXMgc2hvdWxkIG5vdyBiZSBkZWZpbmVkIGluIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIiksdGhpcy5zZXRWYWx1ZXModCkpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5mcmFnbWVudFNoYWRlcj10LmZyYWdtZW50U2hhZGVyLHRoaXMudmVydGV4U2hhZGVyPXQudmVydGV4U2hhZGVyLHRoaXMudW5pZm9ybXM9RWN0KHQudW5pZm9ybXMpLHRoaXMuZGVmaW5lcz1PYmplY3QuYXNzaWduKHt9LHQuZGVmaW5lcyksdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy5saWdodHM9dC5saWdodHMsdGhpcy5jbGlwcGluZz10LmNsaXBwaW5nLHRoaXMuZXh0ZW5zaW9ucz1PYmplY3QuYXNzaWduKHt9LHQuZXh0ZW5zaW9ucyksdGhpcy5nbHNsVmVyc2lvbj10Lmdsc2xWZXJzaW9uLHRoaXN9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO2UuZ2xzbFZlcnNpb249dGhpcy5nbHNsVmVyc2lvbixlLnVuaWZvcm1zPXt9O2Zvcihjb25zdCBuIGluIHRoaXMudW5pZm9ybXMpe2NvbnN0IG89dGhpcy51bmlmb3Jtc1tuXS52YWx1ZTtlLnVuaWZvcm1zW25dPW8mJm8uaXNUZXh0dXJlP3t0eXBlOiJ0Iix2YWx1ZTpvLnRvSlNPTih0KS51dWlkfTpvJiZvLmlzQ29sb3I/e3R5cGU6ImMiLHZhbHVlOm8uZ2V0SGV4KCl9Om8mJm8uaXNWZWN0b3IyP3t0eXBlOiJ2MiIsdmFsdWU6by50b0FycmF5KCl9Om8mJm8uaXNWZWN0b3IzP3t0eXBlOiJ2MyIsdmFsdWU6by50b0FycmF5KCl9Om8mJm8uaXNWZWN0b3I0P3t0eXBlOiJ2NCIsdmFsdWU6by50b0FycmF5KCl9Om8mJm8uaXNNYXRyaXgzP3t0eXBlOiJtMyIsdmFsdWU6by50b0FycmF5KCl9Om8mJm8uaXNNYXRyaXg0P3t0eXBlOiJtNCIsdmFsdWU6by50b0FycmF5KCl9Ont2YWx1ZTpvfX1PYmplY3Qua2V5cyh0aGlzLmRlZmluZXMpLmxlbmd0aD4wJiYoZS5kZWZpbmVzPXRoaXMuZGVmaW5lcyksZS52ZXJ0ZXhTaGFkZXI9dGhpcy52ZXJ0ZXhTaGFkZXIsZS5mcmFnbWVudFNoYWRlcj10aGlzLmZyYWdtZW50U2hhZGVyO2NvbnN0IG49e307Zm9yKGNvbnN0IHQgaW4gdGhpcy5leHRlbnNpb25zKSEwPT09dGhpcy5leHRlbnNpb25zW3RdJiYoblt0XT0hMCk7cmV0dXJuIE9iamVjdC5rZXlzKG4pLmxlbmd0aD4wJiYoZS5leHRlbnNpb25zPW4pLGV9fU5jdC5wcm90b3R5cGUuaXNTaGFkZXJNYXRlcmlhbD0hMDtjbGFzcyB6Y3QgZXh0ZW5kcyBTbHR7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iQ2FtZXJhIix0aGlzLm1hdHJpeFdvcmxkSW52ZXJzZT1uZXcgb2x0LHRoaXMucHJvamVjdGlvbk1hdHJpeD1uZXcgb2x0LHRoaXMucHJvamVjdGlvbk1hdHJpeEludmVyc2U9bmV3IG9sdH1jb3B5KHQsZSl7cmV0dXJuIHN1cGVyLmNvcHkodCxlKSx0aGlzLm1hdHJpeFdvcmxkSW52ZXJzZS5jb3B5KHQubWF0cml4V29ybGRJbnZlcnNlKSx0aGlzLnByb2plY3Rpb25NYXRyaXguY29weSh0LnByb2plY3Rpb25NYXRyaXgpLHRoaXMucHJvamVjdGlvbk1hdHJpeEludmVyc2UuY29weSh0LnByb2plY3Rpb25NYXRyaXhJbnZlcnNlKSx0aGlzfWdldFdvcmxkRGlyZWN0aW9uKHQpe3RoaXMudXBkYXRlV29ybGRNYXRyaXgoITAsITEpO2NvbnN0IGU9dGhpcy5tYXRyaXhXb3JsZC5lbGVtZW50cztyZXR1cm4gdC5zZXQoLWVbOF0sLWVbOV0sLWVbMTBdKS5ub3JtYWxpemUoKX11cGRhdGVNYXRyaXhXb3JsZCh0KXtzdXBlci51cGRhdGVNYXRyaXhXb3JsZCh0KSx0aGlzLm1hdHJpeFdvcmxkSW52ZXJzZS5jb3B5KHRoaXMubWF0cml4V29ybGQpLmludmVydCgpfXVwZGF0ZVdvcmxkTWF0cml4KHQsZSl7c3VwZXIudXBkYXRlV29ybGRNYXRyaXgodCxlKSx0aGlzLm1hdHJpeFdvcmxkSW52ZXJzZS5jb3B5KHRoaXMubWF0cml4V29ybGQpLmludmVydCgpfWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfX16Y3QucHJvdG90eXBlLmlzQ2FtZXJhPSEwO2NsYXNzIEljdCBleHRlbmRzIHpjdHtjb25zdHJ1Y3Rvcih0PTUwLGU9MSxuPS4xLG89MmUzKXtzdXBlcigpLHRoaXMudHlwZT0iUGVyc3BlY3RpdmVDYW1lcmEiLHRoaXMuZm92PXQsdGhpcy56b29tPTEsdGhpcy5uZWFyPW4sdGhpcy5mYXI9byx0aGlzLmZvY3VzPTEwLHRoaXMuYXNwZWN0PWUsdGhpcy52aWV3PW51bGwsdGhpcy5maWxtR2F1Z2U9MzUsdGhpcy5maWxtT2Zmc2V0PTAsdGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9Y29weSh0LGUpe3JldHVybiBzdXBlci5jb3B5KHQsZSksdGhpcy5mb3Y9dC5mb3YsdGhpcy56b29tPXQuem9vbSx0aGlzLm5lYXI9dC5uZWFyLHRoaXMuZmFyPXQuZmFyLHRoaXMuZm9jdXM9dC5mb2N1cyx0aGlzLmFzcGVjdD10LmFzcGVjdCx0aGlzLnZpZXc9bnVsbD09PXQudmlldz9udWxsOk9iamVjdC5hc3NpZ24oe30sdC52aWV3KSx0aGlzLmZpbG1HYXVnZT10LmZpbG1HYXVnZSx0aGlzLmZpbG1PZmZzZXQ9dC5maWxtT2Zmc2V0LHRoaXN9c2V0Rm9jYWxMZW5ndGgodCl7Y29uc3QgZT0uNSp0aGlzLmdldEZpbG1IZWlnaHQoKS90O3RoaXMuZm92PTIqY3N0Kk1hdGguYXRhbihlKSx0aGlzLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX1nZXRGb2NhbExlbmd0aCgpe2NvbnN0IHQ9TWF0aC50YW4oLjUqbHN0KnRoaXMuZm92KTtyZXR1cm4uNSp0aGlzLmdldEZpbG1IZWlnaHQoKS90fWdldEVmZmVjdGl2ZUZPVigpe3JldHVybiAyKmNzdCpNYXRoLmF0YW4oTWF0aC50YW4oLjUqbHN0KnRoaXMuZm92KS90aGlzLnpvb20pfWdldEZpbG1XaWR0aCgpe3JldHVybiB0aGlzLmZpbG1HYXVnZSpNYXRoLm1pbih0aGlzLmFzcGVjdCwxKX1nZXRGaWxtSGVpZ2h0KCl7cmV0dXJuIHRoaXMuZmlsbUdhdWdlL01hdGgubWF4KHRoaXMuYXNwZWN0LDEpfXNldFZpZXdPZmZzZXQodCxlLG4sbyxpLGEpe3RoaXMuYXNwZWN0PXQvZSxudWxsPT09dGhpcy52aWV3JiYodGhpcy52aWV3PXtlbmFibGVkOiEwLGZ1bGxXaWR0aDoxLGZ1bGxIZWlnaHQ6MSxvZmZzZXRYOjAsb2Zmc2V0WTowLHdpZHRoOjEsaGVpZ2h0OjF9KSx0aGlzLnZpZXcuZW5hYmxlZD0hMCx0aGlzLnZpZXcuZnVsbFdpZHRoPXQsdGhpcy52aWV3LmZ1bGxIZWlnaHQ9ZSx0aGlzLnZpZXcub2Zmc2V0WD1uLHRoaXMudmlldy5vZmZzZXRZPW8sdGhpcy52aWV3LndpZHRoPWksdGhpcy52aWV3LmhlaWdodD1hLHRoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfWNsZWFyVmlld09mZnNldCgpe251bGwhPT10aGlzLnZpZXcmJih0aGlzLnZpZXcuZW5hYmxlZD0hMSksdGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9dXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpe2NvbnN0IHQ9dGhpcy5uZWFyO2xldCBlPXQqTWF0aC50YW4oLjUqbHN0KnRoaXMuZm92KS90aGlzLnpvb20sbj0yKmUsbz10aGlzLmFzcGVjdCpuLGk9LS41Km87Y29uc3QgYT10aGlzLnZpZXc7aWYobnVsbCE9PXRoaXMudmlldyYmdGhpcy52aWV3LmVuYWJsZWQpe2NvbnN0IHQ9YS5mdWxsV2lkdGgscj1hLmZ1bGxIZWlnaHQ7aSs9YS5vZmZzZXRYKm8vdCxlLT1hLm9mZnNldFkqbi9yLG8qPWEud2lkdGgvdCxuKj1hLmhlaWdodC9yfWNvbnN0IHI9dGhpcy5maWxtT2Zmc2V0OzAhPT1yJiYoaSs9dCpyL3RoaXMuZ2V0RmlsbVdpZHRoKCkpLHRoaXMucHJvamVjdGlvbk1hdHJpeC5tYWtlUGVyc3BlY3RpdmUoaSxpK28sZSxlLW4sdCx0aGlzLmZhciksdGhpcy5wcm9qZWN0aW9uTWF0cml4SW52ZXJzZS5jb3B5KHRoaXMucHJvamVjdGlvbk1hdHJpeCkuaW52ZXJ0KCl9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO3JldHVybiBlLm9iamVjdC5mb3Y9dGhpcy5mb3YsZS5vYmplY3Quem9vbT10aGlzLnpvb20sZS5vYmplY3QubmVhcj10aGlzLm5lYXIsZS5vYmplY3QuZmFyPXRoaXMuZmFyLGUub2JqZWN0LmZvY3VzPXRoaXMuZm9jdXMsZS5vYmplY3QuYXNwZWN0PXRoaXMuYXNwZWN0LG51bGwhPT10aGlzLnZpZXcmJihlLm9iamVjdC52aWV3PU9iamVjdC5hc3NpZ24oe30sdGhpcy52aWV3KSksZS5vYmplY3QuZmlsbUdhdWdlPXRoaXMuZmlsbUdhdWdlLGUub2JqZWN0LmZpbG1PZmZzZXQ9dGhpcy5maWxtT2Zmc2V0LGV9fUljdC5wcm90b3R5cGUuaXNQZXJzcGVjdGl2ZUNhbWVyYT0hMDtjb25zdCBIY3Q9OTA7Y2xhc3MgRmN0IGV4dGVuZHMgU2x0e2NvbnN0cnVjdG9yKHQsZSxuKXtpZihzdXBlcigpLHRoaXMudHlwZT0iQ3ViZUNhbWVyYSIsITAhPT1uLmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0KXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLkN1YmVDYW1lcmE6IFRoZSBjb25zdHJ1Y3RvciBub3cgZXhwZWN0cyBhbiBpbnN0YW5jZSBvZiBXZWJHTEN1YmVSZW5kZXJUYXJnZXQgYXMgdGhpcmQgcGFyYW1ldGVyLiIpO3RoaXMucmVuZGVyVGFyZ2V0PW47Y29uc3Qgbz1uZXcgSWN0KEhjdCwxLHQsZSk7by5sYXllcnM9dGhpcy5sYXllcnMsby51cC5zZXQoMCwtMSwwKSxvLmxvb2tBdChuZXcgd3N0KDEsMCwwKSksdGhpcy5hZGQobyk7Y29uc3QgaT1uZXcgSWN0KEhjdCwxLHQsZSk7aS5sYXllcnM9dGhpcy5sYXllcnMsaS51cC5zZXQoMCwtMSwwKSxpLmxvb2tBdChuZXcgd3N0KC0xLDAsMCkpLHRoaXMuYWRkKGkpO2NvbnN0IGE9bmV3IEljdChIY3QsMSx0LGUpO2EubGF5ZXJzPXRoaXMubGF5ZXJzLGEudXAuc2V0KDAsMCwxKSxhLmxvb2tBdChuZXcgd3N0KDAsMSwwKSksdGhpcy5hZGQoYSk7Y29uc3Qgcj1uZXcgSWN0KEhjdCwxLHQsZSk7ci5sYXllcnM9dGhpcy5sYXllcnMsci51cC5zZXQoMCwwLC0xKSxyLmxvb2tBdChuZXcgd3N0KDAsLTEsMCkpLHRoaXMuYWRkKHIpO2NvbnN0IHM9bmV3IEljdChIY3QsMSx0LGUpO3MubGF5ZXJzPXRoaXMubGF5ZXJzLHMudXAuc2V0KDAsLTEsMCkscy5sb29rQXQobmV3IHdzdCgwLDAsMSkpLHRoaXMuYWRkKHMpO2NvbnN0IGw9bmV3IEljdChIY3QsMSx0LGUpO2wubGF5ZXJzPXRoaXMubGF5ZXJzLGwudXAuc2V0KDAsLTEsMCksbC5sb29rQXQobmV3IHdzdCgwLDAsLTEpKSx0aGlzLmFkZChsKX11cGRhdGUodCxlKXtudWxsPT09dGhpcy5wYXJlbnQmJnRoaXMudXBkYXRlTWF0cml4V29ybGQoKTtjb25zdCBuPXRoaXMucmVuZGVyVGFyZ2V0LFtvLGksYSxyLHMsbF09dGhpcy5jaGlsZHJlbixjPXQueHIuZW5hYmxlZCxkPXQuZ2V0UmVuZGVyVGFyZ2V0KCk7dC54ci5lbmFibGVkPSExO2NvbnN0IHA9bi50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcztuLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzPSExLHQuc2V0UmVuZGVyVGFyZ2V0KG4sMCksdC5yZW5kZXIoZSxvKSx0LnNldFJlbmRlclRhcmdldChuLDEpLHQucmVuZGVyKGUsaSksdC5zZXRSZW5kZXJUYXJnZXQobiwyKSx0LnJlbmRlcihlLGEpLHQuc2V0UmVuZGVyVGFyZ2V0KG4sMyksdC5yZW5kZXIoZSxyKSx0LnNldFJlbmRlclRhcmdldChuLDQpLHQucmVuZGVyKGUscyksbi50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz1wLHQuc2V0UmVuZGVyVGFyZ2V0KG4sNSksdC5yZW5kZXIoZSxsKSx0LnNldFJlbmRlclRhcmdldChkKSx0LnhyLmVuYWJsZWQ9Y319Y2xhc3MgTGN0IGV4dGVuZHMgQ3N0e2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMpe3N1cGVyKHQ9dm9pZCAwIT09dD90OltdLGU9dm9pZCAwIT09ZT9lOndydCxuLG8saSxhLHI9dm9pZCAwIT09cj9yOlZydCxzLGwsYyksdGhpcy5mbGlwWT0hMX1nZXQgaW1hZ2VzKCl7cmV0dXJuIHRoaXMuaW1hZ2V9c2V0IGltYWdlcyh0KXt0aGlzLmltYWdlPXR9fUxjdC5wcm90b3R5cGUuaXNDdWJlVGV4dHVyZT0hMDtjbGFzcyBCY3QgZXh0ZW5kcyB4c3R7Y29uc3RydWN0b3IodCxlLG4pe051bWJlci5pc0ludGVnZXIoZSkmJihjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMQ3ViZVJlbmRlclRhcmdldDogY29uc3RydWN0b3Igc2lnbmF0dXJlIGlzIG5vdyBXZWJHTEN1YmVSZW5kZXJUYXJnZXQoIHNpemUsIG9wdGlvbnMgKSIpLGU9biksc3VwZXIodCx0LGUpLHRoaXMudGV4dHVyZT1uZXcgTGN0KHZvaWQgMCwoZT1lfHx7fSkubWFwcGluZyxlLndyYXBTLGUud3JhcFQsZS5tYWdGaWx0ZXIsZS5taW5GaWx0ZXIsZS5mb3JtYXQsZS50eXBlLGUuYW5pc290cm9weSxlLmVuY29kaW5nKSx0aGlzLnRleHR1cmUuaXNSZW5kZXJUYXJnZXRUZXh0dXJlPSEwLHRoaXMudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHM9dm9pZCAwIT09ZS5nZW5lcmF0ZU1pcG1hcHMmJmUuZ2VuZXJhdGVNaXBtYXBzLHRoaXMudGV4dHVyZS5taW5GaWx0ZXI9dm9pZCAwIT09ZS5taW5GaWx0ZXI/ZS5taW5GaWx0ZXI6VHJ0LHRoaXMudGV4dHVyZS5fbmVlZHNGbGlwRW52TWFwPSExfWZyb21FcXVpcmVjdGFuZ3VsYXJUZXh0dXJlKHQsZSl7dGhpcy50ZXh0dXJlLnR5cGU9ZS50eXBlLHRoaXMudGV4dHVyZS5mb3JtYXQ9anJ0LHRoaXMudGV4dHVyZS5lbmNvZGluZz1lLmVuY29kaW5nLHRoaXMudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHM9ZS5nZW5lcmF0ZU1pcG1hcHMsdGhpcy50ZXh0dXJlLm1pbkZpbHRlcj1lLm1pbkZpbHRlcix0aGlzLnRleHR1cmUubWFnRmlsdGVyPWUubWFnRmlsdGVyO2NvbnN0IG49e3VuaWZvcm1zOnt0RXF1aXJlY3Q6e3ZhbHVlOm51bGx9fSx2ZXJ0ZXhTaGFkZXI6IlxuXG5cdFx0XHRcdHZhcnlpbmcgdmVjMyB2V29ybGREaXJlY3Rpb247XG5cblx0XHRcdFx0dmVjMyB0cmFuc2Zvcm1EaXJlY3Rpb24oIGluIHZlYzMgZGlyLCBpbiBtYXQ0IG1hdHJpeCApIHtcblxuXHRcdFx0XHRcdHJldHVybiBub3JtYWxpemUoICggbWF0cml4ICogdmVjNCggZGlyLCAwLjAgKSApLnh5eiApO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHR2b2lkIG1haW4oKSB7XG5cblx0XHRcdFx0XHR2V29ybGREaXJlY3Rpb24gPSB0cmFuc2Zvcm1EaXJlY3Rpb24oIHBvc2l0aW9uLCBtb2RlbE1hdHJpeCApO1xuXG5cdFx0XHRcdFx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0XHRcdFx0XHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cblx0XHRcdFx0fVxuXHRcdFx0IixmcmFnbWVudFNoYWRlcjoiXG5cblx0XHRcdFx0dW5pZm9ybSBzYW1wbGVyMkQgdEVxdWlyZWN0O1xuXG5cdFx0XHRcdHZhcnlpbmcgdmVjMyB2V29ybGREaXJlY3Rpb247XG5cblx0XHRcdFx0I2luY2x1ZGUgPGNvbW1vbj5cblxuXHRcdFx0XHR2b2lkIG1haW4oKSB7XG5cblx0XHRcdFx0XHR2ZWMzIGRpcmVjdGlvbiA9IG5vcm1hbGl6ZSggdldvcmxkRGlyZWN0aW9uICk7XG5cblx0XHRcdFx0XHR2ZWMyIHNhbXBsZVVWID0gZXF1aXJlY3RVdiggZGlyZWN0aW9uICk7XG5cblx0XHRcdFx0XHRnbF9GcmFnQ29sb3IgPSB0ZXh0dXJlMkQoIHRFcXVpcmVjdCwgc2FtcGxlVVYgKTtcblxuXHRcdFx0XHR9XG5cdFx0XHQifSxvPW5ldyBSY3QoNSw1LDUpLGk9bmV3IE5jdCh7bmFtZToiQ3ViZW1hcEZyb21FcXVpcmVjdCIsdW5pZm9ybXM6RWN0KG4udW5pZm9ybXMpLHZlcnRleFNoYWRlcjpuLnZlcnRleFNoYWRlcixmcmFnbWVudFNoYWRlcjpuLmZyYWdtZW50U2hhZGVyLHNpZGU6MSxibGVuZGluZzowfSk7aS51bmlmb3Jtcy50RXF1aXJlY3QudmFsdWU9ZTtjb25zdCBhPW5ldyBTY3QobyxpKSxyPWUubWluRmlsdGVyO2UubWluRmlsdGVyPT09TnJ0JiYoZS5taW5GaWx0ZXI9VHJ0KTtyZXR1cm4gbmV3IEZjdCgxLDEwLHRoaXMpLnVwZGF0ZSh0LGEpLGUubWluRmlsdGVyPXIsYS5nZW9tZXRyeS5kaXNwb3NlKCksYS5tYXRlcmlhbC5kaXNwb3NlKCksdGhpc31jbGVhcih0LGUsbixvKXtjb25zdCBpPXQuZ2V0UmVuZGVyVGFyZ2V0KCk7Zm9yKGxldCBpPTA7aTw2O2krKyl0LnNldFJlbmRlclRhcmdldCh0aGlzLGkpLHQuY2xlYXIoZSxuLG8pO3Quc2V0UmVuZGVyVGFyZ2V0KGkpfX1CY3QucHJvdG90eXBlLmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0PSEwO2NvbnN0IFZjdD1uZXcgd3N0LGpjdD1uZXcgd3N0LFVjdD1uZXcgaHN0O2NsYXNzIFdjdHtjb25zdHJ1Y3Rvcih0PW5ldyB3c3QoMSwwLDApLGU9MCl7dGhpcy5ub3JtYWw9dCx0aGlzLmNvbnN0YW50PWV9c2V0KHQsZSl7cmV0dXJuIHRoaXMubm9ybWFsLmNvcHkodCksdGhpcy5jb25zdGFudD1lLHRoaXN9c2V0Q29tcG9uZW50cyh0LGUsbixvKXtyZXR1cm4gdGhpcy5ub3JtYWwuc2V0KHQsZSxuKSx0aGlzLmNvbnN0YW50PW8sdGhpc31zZXRGcm9tTm9ybWFsQW5kQ29wbGFuYXJQb2ludCh0LGUpe3JldHVybiB0aGlzLm5vcm1hbC5jb3B5KHQpLHRoaXMuY29uc3RhbnQ9LWUuZG90KHRoaXMubm9ybWFsKSx0aGlzfXNldEZyb21Db3BsYW5hclBvaW50cyh0LGUsbil7Y29uc3Qgbz1WY3Quc3ViVmVjdG9ycyhuLGUpLmNyb3NzKGpjdC5zdWJWZWN0b3JzKHQsZSkpLm5vcm1hbGl6ZSgpO3JldHVybiB0aGlzLnNldEZyb21Ob3JtYWxBbmRDb3BsYW5hclBvaW50KG8sdCksdGhpc31jb3B5KHQpe3JldHVybiB0aGlzLm5vcm1hbC5jb3B5KHQubm9ybWFsKSx0aGlzLmNvbnN0YW50PXQuY29uc3RhbnQsdGhpc31ub3JtYWxpemUoKXtjb25zdCB0PTEvdGhpcy5ub3JtYWwubGVuZ3RoKCk7cmV0dXJuIHRoaXMubm9ybWFsLm11bHRpcGx5U2NhbGFyKHQpLHRoaXMuY29uc3RhbnQqPXQsdGhpc31uZWdhdGUoKXtyZXR1cm4gdGhpcy5jb25zdGFudCo9LTEsdGhpcy5ub3JtYWwubmVnYXRlKCksdGhpc31kaXN0YW5jZVRvUG9pbnQodCl7cmV0dXJuIHRoaXMubm9ybWFsLmRvdCh0KSt0aGlzLmNvbnN0YW50fWRpc3RhbmNlVG9TcGhlcmUodCl7cmV0dXJuIHRoaXMuZGlzdGFuY2VUb1BvaW50KHQuY2VudGVyKS10LnJhZGl1c31wcm9qZWN0UG9pbnQodCxlKXtyZXR1cm4gZS5jb3B5KHRoaXMubm9ybWFsKS5tdWx0aXBseVNjYWxhcigtdGhpcy5kaXN0YW5jZVRvUG9pbnQodCkpLmFkZCh0KX1pbnRlcnNlY3RMaW5lKHQsZSl7Y29uc3Qgbj10LmRlbHRhKFZjdCksbz10aGlzLm5vcm1hbC5kb3Qobik7aWYoMD09PW8pcmV0dXJuIDA9PT10aGlzLmRpc3RhbmNlVG9Qb2ludCh0LnN0YXJ0KT9lLmNvcHkodC5zdGFydCk6bnVsbDtjb25zdCBpPS0odC5zdGFydC5kb3QodGhpcy5ub3JtYWwpK3RoaXMuY29uc3RhbnQpL287cmV0dXJuIGk8MHx8aT4xP251bGw6ZS5jb3B5KG4pLm11bHRpcGx5U2NhbGFyKGkpLmFkZCh0LnN0YXJ0KX1pbnRlcnNlY3RzTGluZSh0KXtjb25zdCBlPXRoaXMuZGlzdGFuY2VUb1BvaW50KHQuc3RhcnQpLG49dGhpcy5kaXN0YW5jZVRvUG9pbnQodC5lbmQpO3JldHVybiBlPDAmJm4+MHx8bjwwJiZlPjB9aW50ZXJzZWN0c0JveCh0KXtyZXR1cm4gdC5pbnRlcnNlY3RzUGxhbmUodGhpcyl9aW50ZXJzZWN0c1NwaGVyZSh0KXtyZXR1cm4gdC5pbnRlcnNlY3RzUGxhbmUodGhpcyl9Y29wbGFuYXJQb2ludCh0KXtyZXR1cm4gdC5jb3B5KHRoaXMubm9ybWFsKS5tdWx0aXBseVNjYWxhcigtdGhpcy5jb25zdGFudCl9YXBwbHlNYXRyaXg0KHQsZSl7Y29uc3Qgbj1lfHxVY3QuZ2V0Tm9ybWFsTWF0cml4KHQpLG89dGhpcy5jb3BsYW5hclBvaW50KFZjdCkuYXBwbHlNYXRyaXg0KHQpLGk9dGhpcy5ub3JtYWwuYXBwbHlNYXRyaXgzKG4pLm5vcm1hbGl6ZSgpO3JldHVybiB0aGlzLmNvbnN0YW50PS1vLmRvdChpKSx0aGlzfXRyYW5zbGF0ZSh0KXtyZXR1cm4gdGhpcy5jb25zdGFudC09dC5kb3QodGhpcy5ub3JtYWwpLHRoaXN9ZXF1YWxzKHQpe3JldHVybiB0Lm5vcm1hbC5lcXVhbHModGhpcy5ub3JtYWwpJiZ0LmNvbnN0YW50PT09dGhpcy5jb25zdGFudH1jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX19V2N0LnByb3RvdHlwZS5pc1BsYW5lPSEwO2NvbnN0IEdjdD1uZXcgWnN0LFljdD1uZXcgd3N0O2NsYXNzIHFjdHtjb25zdHJ1Y3Rvcih0PW5ldyBXY3QsZT1uZXcgV2N0LG49bmV3IFdjdCxvPW5ldyBXY3QsaT1uZXcgV2N0LGE9bmV3IFdjdCl7dGhpcy5wbGFuZXM9W3QsZSxuLG8saSxhXX1zZXQodCxlLG4sbyxpLGEpe2NvbnN0IHI9dGhpcy5wbGFuZXM7cmV0dXJuIHJbMF0uY29weSh0KSxyWzFdLmNvcHkoZSksclsyXS5jb3B5KG4pLHJbM10uY29weShvKSxyWzRdLmNvcHkoaSkscls1XS5jb3B5KGEpLHRoaXN9Y29weSh0KXtjb25zdCBlPXRoaXMucGxhbmVzO2ZvcihsZXQgbj0wO248NjtuKyspZVtuXS5jb3B5KHQucGxhbmVzW25dKTtyZXR1cm4gdGhpc31zZXRGcm9tUHJvamVjdGlvbk1hdHJpeCh0KXtjb25zdCBlPXRoaXMucGxhbmVzLG49dC5lbGVtZW50cyxvPW5bMF0saT1uWzFdLGE9blsyXSxyPW5bM10scz1uWzRdLGw9bls1XSxjPW5bNl0sZD1uWzddLHA9bls4XSxtPW5bOV0sZj1uWzEwXSx1PW5bMTFdLGc9blsxMl0saD1uWzEzXSxiPW5bMTRdLHk9blsxNV07cmV0dXJuIGVbMF0uc2V0Q29tcG9uZW50cyhyLW8sZC1zLHUtcCx5LWcpLm5vcm1hbGl6ZSgpLGVbMV0uc2V0Q29tcG9uZW50cyhyK28sZCtzLHUrcCx5K2cpLm5vcm1hbGl6ZSgpLGVbMl0uc2V0Q29tcG9uZW50cyhyK2ksZCtsLHUrbSx5K2gpLm5vcm1hbGl6ZSgpLGVbM10uc2V0Q29tcG9uZW50cyhyLWksZC1sLHUtbSx5LWgpLm5vcm1hbGl6ZSgpLGVbNF0uc2V0Q29tcG9uZW50cyhyLWEsZC1jLHUtZix5LWIpLm5vcm1hbGl6ZSgpLGVbNV0uc2V0Q29tcG9uZW50cyhyK2EsZCtjLHUrZix5K2IpLm5vcm1hbGl6ZSgpLHRoaXN9aW50ZXJzZWN0c09iamVjdCh0KXtjb25zdCBlPXQuZ2VvbWV0cnk7cmV0dXJuIG51bGw9PT1lLmJvdW5kaW5nU3BoZXJlJiZlLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLEdjdC5jb3B5KGUuYm91bmRpbmdTcGhlcmUpLmFwcGx5TWF0cml4NCh0Lm1hdHJpeFdvcmxkKSx0aGlzLmludGVyc2VjdHNTcGhlcmUoR2N0KX1pbnRlcnNlY3RzU3ByaXRlKHQpe3JldHVybiBHY3QuY2VudGVyLnNldCgwLDAsMCksR2N0LnJhZGl1cz0uNzA3MTA2NzgxMTg2NTQ3NixHY3QuYXBwbHlNYXRyaXg0KHQubWF0cml4V29ybGQpLHRoaXMuaW50ZXJzZWN0c1NwaGVyZShHY3QpfWludGVyc2VjdHNTcGhlcmUodCl7Y29uc3QgZT10aGlzLnBsYW5lcyxuPXQuY2VudGVyLG89LXQucmFkaXVzO2ZvcihsZXQgdD0wO3Q8Njt0Kyspe2lmKGVbdF0uZGlzdGFuY2VUb1BvaW50KG4pPG8pcmV0dXJuITF9cmV0dXJuITB9aW50ZXJzZWN0c0JveCh0KXtjb25zdCBlPXRoaXMucGxhbmVzO2ZvcihsZXQgbj0wO248NjtuKyspe2NvbnN0IG89ZVtuXTtpZihZY3QueD1vLm5vcm1hbC54PjA/dC5tYXgueDp0Lm1pbi54LFljdC55PW8ubm9ybWFsLnk+MD90Lm1heC55OnQubWluLnksWWN0Lno9by5ub3JtYWwuej4wP3QubWF4Lno6dC5taW4ueixvLmRpc3RhbmNlVG9Qb2ludChZY3QpPDApcmV0dXJuITF9cmV0dXJuITB9Y29udGFpbnNQb2ludCh0KXtjb25zdCBlPXRoaXMucGxhbmVzO2ZvcihsZXQgbj0wO248NjtuKyspaWYoZVtuXS5kaXN0YW5jZVRvUG9pbnQodCk8MClyZXR1cm4hMTtyZXR1cm4hMH1jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX19ZnVuY3Rpb24gWmN0KCl7bGV0IHQ9bnVsbCxlPSExLG49bnVsbCxvPW51bGw7ZnVuY3Rpb24gaShlLGEpe24oZSxhKSxvPXQucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGkpfXJldHVybntzdGFydDpmdW5jdGlvbigpeyEwIT09ZSYmbnVsbCE9PW4mJihvPXQucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGkpLGU9ITApfSxzdG9wOmZ1bmN0aW9uKCl7dC5jYW5jZWxBbmltYXRpb25GcmFtZShvKSxlPSExfSxzZXRBbmltYXRpb25Mb29wOmZ1bmN0aW9uKHQpe249dH0sc2V0Q29udGV4dDpmdW5jdGlvbihlKXt0PWV9fX1mdW5jdGlvbiBYY3QodCxlKXtjb25zdCBuPWUuaXNXZWJHTDIsbz1uZXcgV2Vha01hcDtyZXR1cm57Z2V0OmZ1bmN0aW9uIGkodCl7cmV0dXJuIHQuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZSYmKHQ9dC5kYXRhKSxvLmdldCh0KX0scmVtb3ZlOmZ1bmN0aW9uIGEoZSl7ZS5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlJiYoZT1lLmRhdGEpO2NvbnN0IG49by5nZXQoZSk7biYmKHQuZGVsZXRlQnVmZmVyKG4uYnVmZmVyKSxvLmRlbGV0ZShlKSl9LHVwZGF0ZTpmdW5jdGlvbiByKGUsaSl7aWYoZS5pc0dMQnVmZmVyQXR0cmlidXRlKXtjb25zdCB0PW8uZ2V0KGUpO3JldHVybiB2b2lkKCghdHx8dC52ZXJzaW9uPGUudmVyc2lvbikmJm8uc2V0KGUse2J1ZmZlcjplLmJ1ZmZlcix0eXBlOmUudHlwZSxieXRlc1BlckVsZW1lbnQ6ZS5lbGVtZW50U2l6ZSx2ZXJzaW9uOmUudmVyc2lvbn0pKX1lLmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUmJihlPWUuZGF0YSk7Y29uc3QgYT1vLmdldChlKTt2b2lkIDA9PT1hP28uc2V0KGUsKGZ1bmN0aW9uIHIoZSxvKXtjb25zdCBpPWUuYXJyYXksYT1lLnVzYWdlLHI9dC5jcmVhdGVCdWZmZXIoKTt0LmJpbmRCdWZmZXIobyxyKSx0LmJ1ZmZlckRhdGEobyxpLGEpLGUub25VcGxvYWRDYWxsYmFjaygpO2xldCBzPTUxMjY7cmV0dXJuIGkgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXk/cz01MTI2OmkgaW5zdGFuY2VvZiBGbG9hdDY0QXJyYXk/Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTEF0dHJpYnV0ZXM6IFVuc3VwcG9ydGVkIGRhdGEgYnVmZmVyIGZvcm1hdDogRmxvYXQ2NEFycmF5LiIpOmkgaW5zdGFuY2VvZiBVaW50MTZBcnJheT9lLmlzRmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZT9uP3M9NTEzMTpjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMQXR0cmlidXRlczogVXNhZ2Ugb2YgRmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZSByZXF1aXJlcyBXZWJHTDIuIik6cz01MTIzOmkgaW5zdGFuY2VvZiBJbnQxNkFycmF5P3M9NTEyMjppIGluc3RhbmNlb2YgVWludDMyQXJyYXk/cz01MTI1OmkgaW5zdGFuY2VvZiBJbnQzMkFycmF5P3M9NTEyNDppIGluc3RhbmNlb2YgSW50OEFycmF5P3M9NTEyMDooaSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fGkgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSkmJihzPTUxMjEpLHtidWZmZXI6cix0eXBlOnMsYnl0ZXNQZXJFbGVtZW50OmkuQllURVNfUEVSX0VMRU1FTlQsdmVyc2lvbjplLnZlcnNpb259fSkoZSxpKSk6YS52ZXJzaW9uPGUudmVyc2lvbiYmKCEoZnVuY3Rpb24gcyhlLG8saSl7Y29uc3QgYT1vLmFycmF5LHI9by51cGRhdGVSYW5nZTt0LmJpbmRCdWZmZXIoaSxlKSwtMT09PXIuY291bnQ/dC5idWZmZXJTdWJEYXRhKGksMCxhKToobj90LmJ1ZmZlclN1YkRhdGEoaSxyLm9mZnNldCphLkJZVEVTX1BFUl9FTEVNRU5ULGEsci5vZmZzZXQsci5jb3VudCk6dC5idWZmZXJTdWJEYXRhKGksci5vZmZzZXQqYS5CWVRFU19QRVJfRUxFTUVOVCxhLnN1YmFycmF5KHIub2Zmc2V0LHIub2Zmc2V0K3IuY291bnQpKSxyLmNvdW50PS0xKX0pKGEuYnVmZmVyLGUsaSksYS52ZXJzaW9uPWUudmVyc2lvbil9fX1jbGFzcyBLY3QgZXh0ZW5kcyBkY3R7Y29uc3RydWN0b3IodD0xLGU9MSxuPTEsbz0xKXtzdXBlcigpLHRoaXMudHlwZT0iUGxhbmVHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXt3aWR0aDp0LGhlaWdodDplLHdpZHRoU2VnbWVudHM6bixoZWlnaHRTZWdtZW50czpvfTtjb25zdCBpPXQvMixhPWUvMixyPU1hdGguZmxvb3Iobikscz1NYXRoLmZsb29yKG8pLGw9cisxLGM9cysxLGQ9dC9yLHA9ZS9zLG09W10sZj1bXSx1PVtdLGc9W107Zm9yKGxldCB0PTA7dDxjO3QrKyl7Y29uc3QgZT10KnAtYTtmb3IobGV0IG49MDtuPGw7bisrKXtmLnB1c2gobipkLWksLWUsMCksdS5wdXNoKDAsMCwxKSxnLnB1c2gobi9yKSxnLnB1c2goMS10L3MpfX1mb3IobGV0IHQ9MDt0PHM7dCsrKWZvcihsZXQgZT0wO2U8cjtlKyspe2NvbnN0IG49ZStsKih0KzEpLG89ZSsxK2wqKHQrMSksaT1lKzErbCp0O20ucHVzaChlK2wqdCxuLGkpLG0ucHVzaChuLG8saSl9dGhpcy5zZXRJbmRleChtKSx0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBlY3QoZiwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGVjdCh1LDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBlY3QoZywyKSl9c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgS2N0KHQud2lkdGgsdC5oZWlnaHQsdC53aWR0aFNlZ21lbnRzLHQuaGVpZ2h0U2VnbWVudHMpfX1jb25zdCBKY3Q9e2FscGhhbWFwX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0FMUEhBTUFQXG5cdGRpZmZ1c2VDb2xvci5hICo9IHRleHR1cmUyRCggYWxwaGFNYXAsIHZVdiApLmc7XG4jZW5kaWYiLGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfQUxQSEFNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgYWxwaGFNYXA7XG4jZW5kaWYiLGFscGhhdGVzdF9mcmFnbWVudDoiI2lmZGVmIEFMUEhBVEVTVFxuXHRpZiAoIGRpZmZ1c2VDb2xvci5hIDwgQUxQSEFURVNUICkgZGlzY2FyZDtcbiNlbmRpZiIsYW9tYXBfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfQU9NQVBcblx0ZmxvYXQgYW1iaWVudE9jY2x1c2lvbiA9ICggdGV4dHVyZTJEKCBhb01hcCwgdlV2MiApLnIgLSAxLjAgKSAqIGFvTWFwSW50ZW5zaXR5ICsgMS4wO1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKj0gYW1iaWVudE9jY2x1c2lvbjtcblx0I2lmIGRlZmluZWQoIFVTRV9FTlZNQVAgKSAmJiBkZWZpbmVkKCBTVEFOREFSRCApXG5cdFx0ZmxvYXQgZG90TlYgPSBzYXR1cmF0ZSggZG90KCBnZW9tZXRyeS5ub3JtYWwsIGdlb21ldHJ5LnZpZXdEaXIgKSApO1xuXHRcdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0U3BlY3VsYXIgKj0gY29tcHV0ZVNwZWN1bGFyT2NjbHVzaW9uKCBkb3ROViwgYW1iaWVudE9jY2x1c2lvbiwgbWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MgKTtcblx0I2VuZGlmXG4jZW5kaWYiLGFvbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfQU9NQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgYW9NYXA7XG5cdHVuaWZvcm0gZmxvYXQgYW9NYXBJbnRlbnNpdHk7XG4jZW5kaWYiLGJlZ2luX3ZlcnRleDoidmVjMyB0cmFuc2Zvcm1lZCA9IHZlYzMoIHBvc2l0aW9uICk7IixiZWdpbm5vcm1hbF92ZXJ0ZXg6InZlYzMgb2JqZWN0Tm9ybWFsID0gdmVjMyggbm9ybWFsICk7XG4jaWZkZWYgVVNFX1RBTkdFTlRcblx0dmVjMyBvYmplY3RUYW5nZW50ID0gdmVjMyggdGFuZ2VudC54eXogKTtcbiNlbmRpZiIsYnNkZnM6InZlYzIgaW50ZWdyYXRlU3BlY3VsYXJCUkRGKCBjb25zdCBpbiBmbG9hdCBkb3ROViwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzICkge1xuXHRjb25zdCB2ZWM0IGMwID0gdmVjNCggLSAxLCAtIDAuMDI3NSwgLSAwLjU3MiwgMC4wMjIgKTtcblx0Y29uc3QgdmVjNCBjMSA9IHZlYzQoIDEsIDAuMDQyNSwgMS4wNCwgLSAwLjA0ICk7XG5cdHZlYzQgciA9IHJvdWdobmVzcyAqIGMwICsgYzE7XG5cdGZsb2F0IGEwMDQgPSBtaW4oIHIueCAqIHIueCwgZXhwMiggLSA5LjI4ICogZG90TlYgKSApICogci54ICsgci55O1xuXHRyZXR1cm4gdmVjMiggLTEuMDQsIDEuMDQgKSAqIGEwMDQgKyByLnp3O1xufVxuZmxvYXQgcHVuY3R1YWxMaWdodEludGVuc2l0eVRvSXJyYWRpYW5jZUZhY3RvciggY29uc3QgaW4gZmxvYXQgbGlnaHREaXN0YW5jZSwgY29uc3QgaW4gZmxvYXQgY3V0b2ZmRGlzdGFuY2UsIGNvbnN0IGluIGZsb2F0IGRlY2F5RXhwb25lbnQgKSB7XG4jaWYgZGVmaW5lZCAoIFBIWVNJQ0FMTFlfQ09SUkVDVF9MSUdIVFMgKVxuXHRmbG9hdCBkaXN0YW5jZUZhbGxvZmYgPSAxLjAgLyBtYXgoIHBvdyggbGlnaHREaXN0YW5jZSwgZGVjYXlFeHBvbmVudCApLCAwLjAxICk7XG5cdGlmKCBjdXRvZmZEaXN0YW5jZSA+IDAuMCApIHtcblx0XHRkaXN0YW5jZUZhbGxvZmYgKj0gcG93Miggc2F0dXJhdGUoIDEuMCAtIHBvdzQoIGxpZ2h0RGlzdGFuY2UgLyBjdXRvZmZEaXN0YW5jZSApICkgKTtcblx0fVxuXHRyZXR1cm4gZGlzdGFuY2VGYWxsb2ZmO1xuI2Vsc2Vcblx0aWYoIGN1dG9mZkRpc3RhbmNlID4gMC4wICYmIGRlY2F5RXhwb25lbnQgPiAwLjAgKSB7XG5cdFx0cmV0dXJuIHBvdyggc2F0dXJhdGUoIC1saWdodERpc3RhbmNlIC8gY3V0b2ZmRGlzdGFuY2UgKyAxLjAgKSwgZGVjYXlFeHBvbmVudCApO1xuXHR9XG5cdHJldHVybiAxLjA7XG4jZW5kaWZcbn1cbnZlYzMgQlJERl9EaWZmdXNlX0xhbWJlcnQoIGNvbnN0IGluIHZlYzMgZGlmZnVzZUNvbG9yICkge1xuXHRyZXR1cm4gUkVDSVBST0NBTF9QSSAqIGRpZmZ1c2VDb2xvcjtcbn1cbnZlYzMgRl9TY2hsaWNrKCBjb25zdCBpbiB2ZWMzIGYwLCBjb25zdCBpbiB2ZWMzIGY5MCwgY29uc3QgaW4gZmxvYXQgZG90VkggKSB7XG5cdGZsb2F0IGZyZXNuZWwgPSBleHAyKCAoIC01LjU1NDczICogZG90VkggLSA2Ljk4MzE2ICkgKiBkb3RWSCApO1xuXHRyZXR1cm4gKCBmOTAgLSBmMCApICogZnJlc25lbCArIGYwO1xufVxudmVjMyBGX1NjaGxpY2tfUm91Z2huZXNzRGVwZW5kZW50KCBjb25zdCBpbiB2ZWMzIEYwLCBjb25zdCBpbiBmbG9hdCBkb3ROViwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzICkge1xuXHRmbG9hdCBmcmVzbmVsID0gZXhwMiggKCAtNS41NTQ3MyAqIGRvdE5WIC0gNi45ODMxNiApICogZG90TlYgKTtcblx0dmVjMyBGciA9IG1heCggdmVjMyggMS4wIC0gcm91Z2huZXNzICksIEYwICkgLSBGMDtcblx0cmV0dXJuIEZyICogZnJlc25lbCArIEYwO1xufVxuZmxvYXQgR19HR1hfU21pdGgoIGNvbnN0IGluIGZsb2F0IGFscGhhLCBjb25zdCBpbiBmbG9hdCBkb3ROTCwgY29uc3QgaW4gZmxvYXQgZG90TlYgKSB7XG5cdGZsb2F0IGEyID0gcG93MiggYWxwaGEgKTtcblx0ZmxvYXQgZ2wgPSBkb3ROTCArIHNxcnQoIGEyICsgKCAxLjAgLSBhMiApICogcG93MiggZG90TkwgKSApO1xuXHRmbG9hdCBndiA9IGRvdE5WICsgc3FydCggYTIgKyAoIDEuMCAtIGEyICkgKiBwb3cyKCBkb3ROViApICk7XG5cdHJldHVybiAxLjAgLyAoIGdsICogZ3YgKTtcbn1cbmZsb2F0IEdfR0dYX1NtaXRoQ29ycmVsYXRlZCggY29uc3QgaW4gZmxvYXQgYWxwaGEsIGNvbnN0IGluIGZsb2F0IGRvdE5MLCBjb25zdCBpbiBmbG9hdCBkb3ROViApIHtcblx0ZmxvYXQgYTIgPSBwb3cyKCBhbHBoYSApO1xuXHRmbG9hdCBndiA9IGRvdE5MICogc3FydCggYTIgKyAoIDEuMCAtIGEyICkgKiBwb3cyKCBkb3ROViApICk7XG5cdGZsb2F0IGdsID0gZG90TlYgKiBzcXJ0KCBhMiArICggMS4wIC0gYTIgKSAqIHBvdzIoIGRvdE5MICkgKTtcblx0cmV0dXJuIDAuNSAvIG1heCggZ3YgKyBnbCwgRVBTSUxPTiApO1xufVxuZmxvYXQgRF9HR1goIGNvbnN0IGluIGZsb2F0IGFscGhhLCBjb25zdCBpbiBmbG9hdCBkb3ROSCApIHtcblx0ZmxvYXQgYTIgPSBwb3cyKCBhbHBoYSApO1xuXHRmbG9hdCBkZW5vbSA9IHBvdzIoIGRvdE5IICkgKiAoIGEyIC0gMS4wICkgKyAxLjA7XG5cdHJldHVybiBSRUNJUFJPQ0FMX1BJICogYTIgLyBwb3cyKCBkZW5vbSApO1xufVxudmVjMyBCUkRGX1NwZWN1bGFyX0dHWCggY29uc3QgaW4gSW5jaWRlbnRMaWdodCBpbmNpZGVudExpZ2h0LCBjb25zdCBpbiB2ZWMzIHZpZXdEaXIsIGNvbnN0IGluIHZlYzMgbm9ybWFsLCBjb25zdCBpbiB2ZWMzIGYwLCBjb25zdCBpbiB2ZWMzIGY5MCwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzICkge1xuXHRmbG9hdCBhbHBoYSA9IHBvdzIoIHJvdWdobmVzcyApO1xuXHR2ZWMzIGhhbGZEaXIgPSBub3JtYWxpemUoIGluY2lkZW50TGlnaHQuZGlyZWN0aW9uICsgdmlld0RpciApO1xuXHRmbG9hdCBkb3ROTCA9IHNhdHVyYXRlKCBkb3QoIG5vcm1hbCwgaW5jaWRlbnRMaWdodC5kaXJlY3Rpb24gKSApO1xuXHRmbG9hdCBkb3ROViA9IHNhdHVyYXRlKCBkb3QoIG5vcm1hbCwgdmlld0RpciApICk7XG5cdGZsb2F0IGRvdE5IID0gc2F0dXJhdGUoIGRvdCggbm9ybWFsLCBoYWxmRGlyICkgKTtcblx0ZmxvYXQgZG90TEggPSBzYXR1cmF0ZSggZG90KCBpbmNpZGVudExpZ2h0LmRpcmVjdGlvbiwgaGFsZkRpciApICk7XG5cdHZlYzMgRiA9IEZfU2NobGljayggZjAsIGY5MCwgZG90TEggKTtcblx0ZmxvYXQgRyA9IEdfR0dYX1NtaXRoQ29ycmVsYXRlZCggYWxwaGEsIGRvdE5MLCBkb3ROViApO1xuXHRmbG9hdCBEID0gRF9HR1goIGFscGhhLCBkb3ROSCApO1xuXHRyZXR1cm4gRiAqICggRyAqIEQgKTtcbn1cbnZlYzIgTFRDX1V2KCBjb25zdCBpbiB2ZWMzIE4sIGNvbnN0IGluIHZlYzMgViwgY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzICkge1xuXHRjb25zdCBmbG9hdCBMVVRfU0laRSA9IDY0LjA7XG5cdGNvbnN0IGZsb2F0IExVVF9TQ0FMRSA9ICggTFVUX1NJWkUgLSAxLjAgKSAvIExVVF9TSVpFO1xuXHRjb25zdCBmbG9hdCBMVVRfQklBUyA9IDAuNSAvIExVVF9TSVpFO1xuXHRmbG9hdCBkb3ROViA9IHNhdHVyYXRlKCBkb3QoIE4sIFYgKSApO1xuXHR2ZWMyIHV2ID0gdmVjMiggcm91Z2huZXNzLCBzcXJ0KCAxLjAgLSBkb3ROViApICk7XG5cdHV2ID0gdXYgKiBMVVRfU0NBTEUgKyBMVVRfQklBUztcblx0cmV0dXJuIHV2O1xufVxuZmxvYXQgTFRDX0NsaXBwZWRTcGhlcmVGb3JtRmFjdG9yKCBjb25zdCBpbiB2ZWMzIGYgKSB7XG5cdGZsb2F0IGwgPSBsZW5ndGgoIGYgKTtcblx0cmV0dXJuIG1heCggKCBsICogbCArIGYueiApIC8gKCBsICsgMS4wICksIDAuMCApO1xufVxudmVjMyBMVENfRWRnZVZlY3RvckZvcm1GYWN0b3IoIGNvbnN0IGluIHZlYzMgdjEsIGNvbnN0IGluIHZlYzMgdjIgKSB7XG5cdGZsb2F0IHggPSBkb3QoIHYxLCB2MiApO1xuXHRmbG9hdCB5ID0gYWJzKCB4ICk7XG5cdGZsb2F0IGEgPSAwLjg1NDM5ODUgKyAoIDAuNDk2NTE1NSArIDAuMDE0NTIwNiAqIHkgKSAqIHk7XG5cdGZsb2F0IGIgPSAzLjQxNzU5NDAgKyAoIDQuMTYxNjcyNCArIHkgKSAqIHk7XG5cdGZsb2F0IHYgPSBhIC8gYjtcblx0ZmxvYXQgdGhldGFfc2ludGhldGEgPSAoIHggPiAwLjAgKSA/IHYgOiAwLjUgKiBpbnZlcnNlc3FydCggbWF4KCAxLjAgLSB4ICogeCwgMWUtNyApICkgLSB2O1xuXHRyZXR1cm4gY3Jvc3MoIHYxLCB2MiApICogdGhldGFfc2ludGhldGE7XG59XG52ZWMzIExUQ19FdmFsdWF0ZSggY29uc3QgaW4gdmVjMyBOLCBjb25zdCBpbiB2ZWMzIFYsIGNvbnN0IGluIHZlYzMgUCwgY29uc3QgaW4gbWF0MyBtSW52LCBjb25zdCBpbiB2ZWMzIHJlY3RDb29yZHNbIDQgXSApIHtcblx0dmVjMyB2MSA9IHJlY3RDb29yZHNbIDEgXSAtIHJlY3RDb29yZHNbIDAgXTtcblx0dmVjMyB2MiA9IHJlY3RDb29yZHNbIDMgXSAtIHJlY3RDb29yZHNbIDAgXTtcblx0dmVjMyBsaWdodE5vcm1hbCA9IGNyb3NzKCB2MSwgdjIgKTtcblx0aWYoIGRvdCggbGlnaHROb3JtYWwsIFAgLSByZWN0Q29vcmRzWyAwIF0gKSA8IDAuMCApIHJldHVybiB2ZWMzKCAwLjAgKTtcblx0dmVjMyBUMSwgVDI7XG5cdFQxID0gbm9ybWFsaXplKCBWIC0gTiAqIGRvdCggViwgTiApICk7XG5cdFQyID0gLSBjcm9zcyggTiwgVDEgKTtcblx0bWF0MyBtYXQgPSBtSW52ICogdHJhbnNwb3NlTWF0MyggbWF0MyggVDEsIFQyLCBOICkgKTtcblx0dmVjMyBjb29yZHNbIDQgXTtcblx0Y29vcmRzWyAwIF0gPSBtYXQgKiAoIHJlY3RDb29yZHNbIDAgXSAtIFAgKTtcblx0Y29vcmRzWyAxIF0gPSBtYXQgKiAoIHJlY3RDb29yZHNbIDEgXSAtIFAgKTtcblx0Y29vcmRzWyAyIF0gPSBtYXQgKiAoIHJlY3RDb29yZHNbIDIgXSAtIFAgKTtcblx0Y29vcmRzWyAzIF0gPSBtYXQgKiAoIHJlY3RDb29yZHNbIDMgXSAtIFAgKTtcblx0Y29vcmRzWyAwIF0gPSBub3JtYWxpemUoIGNvb3Jkc1sgMCBdICk7XG5cdGNvb3Jkc1sgMSBdID0gbm9ybWFsaXplKCBjb29yZHNbIDEgXSApO1xuXHRjb29yZHNbIDIgXSA9IG5vcm1hbGl6ZSggY29vcmRzWyAyIF0gKTtcblx0Y29vcmRzWyAzIF0gPSBub3JtYWxpemUoIGNvb3Jkc1sgMyBdICk7XG5cdHZlYzMgdmVjdG9yRm9ybUZhY3RvciA9IHZlYzMoIDAuMCApO1xuXHR2ZWN0b3JGb3JtRmFjdG9yICs9IExUQ19FZGdlVmVjdG9yRm9ybUZhY3RvciggY29vcmRzWyAwIF0sIGNvb3Jkc1sgMSBdICk7XG5cdHZlY3RvckZvcm1GYWN0b3IgKz0gTFRDX0VkZ2VWZWN0b3JGb3JtRmFjdG9yKCBjb29yZHNbIDEgXSwgY29vcmRzWyAyIF0gKTtcblx0dmVjdG9yRm9ybUZhY3RvciArPSBMVENfRWRnZVZlY3RvckZvcm1GYWN0b3IoIGNvb3Jkc1sgMiBdLCBjb29yZHNbIDMgXSApO1xuXHR2ZWN0b3JGb3JtRmFjdG9yICs9IExUQ19FZGdlVmVjdG9yRm9ybUZhY3RvciggY29vcmRzWyAzIF0sIGNvb3Jkc1sgMCBdICk7XG5cdGZsb2F0IHJlc3VsdCA9IExUQ19DbGlwcGVkU3BoZXJlRm9ybUZhY3RvciggdmVjdG9yRm9ybUZhY3RvciApO1xuXHRyZXR1cm4gdmVjMyggcmVzdWx0ICk7XG59XG52ZWMzIEJSREZfU3BlY3VsYXJfR0dYX0Vudmlyb25tZW50KCBjb25zdCBpbiB2ZWMzIHZpZXdEaXIsIGNvbnN0IGluIHZlYzMgbm9ybWFsLCBjb25zdCBpbiB2ZWMzIHNwZWN1bGFyQ29sb3IsIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcyApIHtcblx0ZmxvYXQgZG90TlYgPSBzYXR1cmF0ZSggZG90KCBub3JtYWwsIHZpZXdEaXIgKSApO1xuXHR2ZWMyIGJyZGYgPSBpbnRlZ3JhdGVTcGVjdWxhckJSREYoIGRvdE5WLCByb3VnaG5lc3MgKTtcblx0cmV0dXJuIHNwZWN1bGFyQ29sb3IgKiBicmRmLnggKyBicmRmLnk7XG59XG52b2lkIEJSREZfU3BlY3VsYXJfTXVsdGlzY2F0dGVyaW5nX0Vudmlyb25tZW50KCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiB2ZWMzIHNwZWN1bGFyQ29sb3IsIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcywgaW5vdXQgdmVjMyBzaW5nbGVTY2F0dGVyLCBpbm91dCB2ZWMzIG11bHRpU2NhdHRlciApIHtcblx0ZmxvYXQgZG90TlYgPSBzYXR1cmF0ZSggZG90KCBnZW9tZXRyeS5ub3JtYWwsIGdlb21ldHJ5LnZpZXdEaXIgKSApO1xuXHR2ZWMzIEYgPSBGX1NjaGxpY2tfUm91Z2huZXNzRGVwZW5kZW50KCBzcGVjdWxhckNvbG9yLCBkb3ROViwgcm91Z2huZXNzICk7XG5cdHZlYzIgYnJkZiA9IGludGVncmF0ZVNwZWN1bGFyQlJERiggZG90TlYsIHJvdWdobmVzcyApO1xuXHR2ZWMzIEZzc0VzcyA9IEYgKiBicmRmLnggKyBicmRmLnk7XG5cdGZsb2F0IEVzcyA9IGJyZGYueCArIGJyZGYueTtcblx0ZmxvYXQgRW1zID0gMS4wIC0gRXNzO1xuXHR2ZWMzIEZhdmcgPSBzcGVjdWxhckNvbG9yICsgKCAxLjAgLSBzcGVjdWxhckNvbG9yICkgKiAwLjA0NzYxOTtcdHZlYzMgRm1zID0gRnNzRXNzICogRmF2ZyAvICggMS4wIC0gRW1zICogRmF2ZyApO1xuXHRzaW5nbGVTY2F0dGVyICs9IEZzc0Vzcztcblx0bXVsdGlTY2F0dGVyICs9IEZtcyAqIEVtcztcbn1cbmZsb2F0IEdfQmxpbm5QaG9uZ19JbXBsaWNpdCggKSB7XG5cdHJldHVybiAwLjI1O1xufVxuZmxvYXQgRF9CbGlublBob25nKCBjb25zdCBpbiBmbG9hdCBzaGluaW5lc3MsIGNvbnN0IGluIGZsb2F0IGRvdE5IICkge1xuXHRyZXR1cm4gUkVDSVBST0NBTF9QSSAqICggc2hpbmluZXNzICogMC41ICsgMS4wICkgKiBwb3coIGRvdE5ILCBzaGluaW5lc3MgKTtcbn1cbnZlYzMgQlJERl9TcGVjdWxhcl9CbGlublBob25nKCBjb25zdCBpbiBJbmNpZGVudExpZ2h0IGluY2lkZW50TGlnaHQsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIHZlYzMgc3BlY3VsYXJDb2xvciwgY29uc3QgaW4gZmxvYXQgc2hpbmluZXNzICkge1xuXHR2ZWMzIGhhbGZEaXIgPSBub3JtYWxpemUoIGluY2lkZW50TGlnaHQuZGlyZWN0aW9uICsgZ2VvbWV0cnkudmlld0RpciApO1xuXHRmbG9hdCBkb3ROSCA9IHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgaGFsZkRpciApICk7XG5cdGZsb2F0IGRvdExIID0gc2F0dXJhdGUoIGRvdCggaW5jaWRlbnRMaWdodC5kaXJlY3Rpb24sIGhhbGZEaXIgKSApO1xuXHR2ZWMzIEYgPSBGX1NjaGxpY2soIHNwZWN1bGFyQ29sb3IsIHZlYzMoIDEuMCApLCBkb3RMSCApO1xuXHRmbG9hdCBHID0gR19CbGlublBob25nX0ltcGxpY2l0KCApO1xuXHRmbG9hdCBEID0gRF9CbGlublBob25nKCBzaGluaW5lc3MsIGRvdE5IICk7XG5cdHJldHVybiBGICogKCBHICogRCApO1xufVxuZmxvYXQgR0dYUm91Z2huZXNzVG9CbGlubkV4cG9uZW50KCBjb25zdCBpbiBmbG9hdCBnZ3hSb3VnaG5lc3MgKSB7XG5cdHJldHVybiAoIDIuMCAvIHBvdzIoIGdneFJvdWdobmVzcyArIDAuMDAwMSApIC0gMi4wICk7XG59XG5mbG9hdCBCbGlubkV4cG9uZW50VG9HR1hSb3VnaG5lc3MoIGNvbnN0IGluIGZsb2F0IGJsaW5uRXhwb25lbnQgKSB7XG5cdHJldHVybiBzcXJ0KCAyLjAgLyAoIGJsaW5uRXhwb25lbnQgKyAyLjAgKSApO1xufVxuI2lmIGRlZmluZWQoIFVTRV9TSEVFTiApXG5mbG9hdCBEX0NoYXJsaWUoZmxvYXQgcm91Z2huZXNzLCBmbG9hdCBOb0gpIHtcblx0ZmxvYXQgaW52QWxwaGEgPSAxLjAgLyByb3VnaG5lc3M7XG5cdGZsb2F0IGNvczJoID0gTm9IICogTm9IO1xuXHRmbG9hdCBzaW4yaCA9IG1heCgxLjAgLSBjb3MyaCwgMC4wMDc4MTI1KTtcdHJldHVybiAoMi4wICsgaW52QWxwaGEpICogcG93KHNpbjJoLCBpbnZBbHBoYSAqIDAuNSkgLyAoMi4wICogUEkpO1xufVxuZmxvYXQgVl9OZXViZWx0KGZsb2F0IE5vViwgZmxvYXQgTm9MKSB7XG5cdHJldHVybiBzYXR1cmF0ZSgxLjAgLyAoNC4wICogKE5vTCArIE5vViAtIE5vTCAqIE5vVikpKTtcbn1cbnZlYzMgQlJERl9TcGVjdWxhcl9TaGVlbiggY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzLCBjb25zdCBpbiB2ZWMzIEwsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIHZlYzMgc3BlY3VsYXJDb2xvciApIHtcblx0dmVjMyBOID0gZ2VvbWV0cnkubm9ybWFsO1xuXHR2ZWMzIFYgPSBnZW9tZXRyeS52aWV3RGlyO1xuXHR2ZWMzIEggPSBub3JtYWxpemUoIFYgKyBMICk7XG5cdGZsb2F0IGRvdE5IID0gc2F0dXJhdGUoIGRvdCggTiwgSCApICk7XG5cdHJldHVybiBzcGVjdWxhckNvbG9yICogRF9DaGFybGllKCByb3VnaG5lc3MsIGRvdE5IICkgKiBWX05ldWJlbHQoIGRvdChOLCBWKSwgZG90KE4sIEwpICk7XG59XG4jZW5kaWYiLGJ1bXBtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9CVU1QTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGJ1bXBNYXA7XG5cdHVuaWZvcm0gZmxvYXQgYnVtcFNjYWxlO1xuXHR2ZWMyIGRIZHh5X2Z3ZCgpIHtcblx0XHR2ZWMyIGRTVGR4ID0gZEZkeCggdlV2ICk7XG5cdFx0dmVjMiBkU1RkeSA9IGRGZHkoIHZVdiApO1xuXHRcdGZsb2F0IEhsbCA9IGJ1bXBTY2FsZSAqIHRleHR1cmUyRCggYnVtcE1hcCwgdlV2ICkueDtcblx0XHRmbG9hdCBkQnggPSBidW1wU2NhbGUgKiB0ZXh0dXJlMkQoIGJ1bXBNYXAsIHZVdiArIGRTVGR4ICkueCAtIEhsbDtcblx0XHRmbG9hdCBkQnkgPSBidW1wU2NhbGUgKiB0ZXh0dXJlMkQoIGJ1bXBNYXAsIHZVdiArIGRTVGR5ICkueCAtIEhsbDtcblx0XHRyZXR1cm4gdmVjMiggZEJ4LCBkQnkgKTtcblx0fVxuXHR2ZWMzIHBlcnR1cmJOb3JtYWxBcmIoIHZlYzMgc3VyZl9wb3MsIHZlYzMgc3VyZl9ub3JtLCB2ZWMyIGRIZHh5LCBmbG9hdCBmYWNlRGlyZWN0aW9uICkge1xuXHRcdHZlYzMgdlNpZ21hWCA9IHZlYzMoIGRGZHgoIHN1cmZfcG9zLnggKSwgZEZkeCggc3VyZl9wb3MueSApLCBkRmR4KCBzdXJmX3Bvcy56ICkgKTtcblx0XHR2ZWMzIHZTaWdtYVkgPSB2ZWMzKCBkRmR5KCBzdXJmX3Bvcy54ICksIGRGZHkoIHN1cmZfcG9zLnkgKSwgZEZkeSggc3VyZl9wb3MueiApICk7XG5cdFx0dmVjMyB2TiA9IHN1cmZfbm9ybTtcblx0XHR2ZWMzIFIxID0gY3Jvc3MoIHZTaWdtYVksIHZOICk7XG5cdFx0dmVjMyBSMiA9IGNyb3NzKCB2TiwgdlNpZ21hWCApO1xuXHRcdGZsb2F0IGZEZXQgPSBkb3QoIHZTaWdtYVgsIFIxICkgKiBmYWNlRGlyZWN0aW9uO1xuXHRcdHZlYzMgdkdyYWQgPSBzaWduKCBmRGV0ICkgKiAoIGRIZHh5LnggKiBSMSArIGRIZHh5LnkgKiBSMiApO1xuXHRcdHJldHVybiBub3JtYWxpemUoIGFicyggZkRldCApICogc3VyZl9ub3JtIC0gdkdyYWQgKTtcblx0fVxuI2VuZGlmIixjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnQ6IiNpZiBOVU1fQ0xJUFBJTkdfUExBTkVTID4gMFxuXHR2ZWM0IHBsYW5lO1xuXHQjcHJhZ21hIHVucm9sbF9sb29wX3N0YXJ0XG5cdGZvciAoIGludCBpID0gMDsgaSA8IFVOSU9OX0NMSVBQSU5HX1BMQU5FUzsgaSArKyApIHtcblx0XHRwbGFuZSA9IGNsaXBwaW5nUGxhbmVzWyBpIF07XG5cdFx0aWYgKCBkb3QoIHZDbGlwUG9zaXRpb24sIHBsYW5lLnh5eiApID4gcGxhbmUudyApIGRpc2NhcmQ7XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcblx0I2lmIFVOSU9OX0NMSVBQSU5HX1BMQU5FUyA8IE5VTV9DTElQUElOR19QTEFORVNcblx0XHRib29sIGNsaXBwZWQgPSB0cnVlO1xuXHRcdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0XHRmb3IgKCBpbnQgaSA9IFVOSU9OX0NMSVBQSU5HX1BMQU5FUzsgaSA8IE5VTV9DTElQUElOR19QTEFORVM7IGkgKysgKSB7XG5cdFx0XHRwbGFuZSA9IGNsaXBwaW5nUGxhbmVzWyBpIF07XG5cdFx0XHRjbGlwcGVkID0gKCBkb3QoIHZDbGlwUG9zaXRpb24sIHBsYW5lLnh5eiApID4gcGxhbmUudyApICYmIGNsaXBwZWQ7XG5cdFx0fVxuXHRcdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdFx0aWYgKCBjbGlwcGVkICkgZGlzY2FyZDtcblx0I2VuZGlmXG4jZW5kaWYiLGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50OiIjaWYgTlVNX0NMSVBQSU5HX1BMQU5FUyA+IDBcblx0dmFyeWluZyB2ZWMzIHZDbGlwUG9zaXRpb247XG5cdHVuaWZvcm0gdmVjNCBjbGlwcGluZ1BsYW5lc1sgTlVNX0NMSVBQSU5HX1BMQU5FUyBdO1xuI2VuZGlmIixjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg6IiNpZiBOVU1fQ0xJUFBJTkdfUExBTkVTID4gMFxuXHR2YXJ5aW5nIHZlYzMgdkNsaXBQb3NpdGlvbjtcbiNlbmRpZiIsY2xpcHBpbmdfcGxhbmVzX3ZlcnRleDoiI2lmIE5VTV9DTElQUElOR19QTEFORVMgPiAwXG5cdHZDbGlwUG9zaXRpb24gPSAtIG12UG9zaXRpb24ueHl6O1xuI2VuZGlmIixjb2xvcl9mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9DT0xPUl9BTFBIQSApXG5cdGRpZmZ1c2VDb2xvciAqPSB2Q29sb3I7XG4jZWxpZiBkZWZpbmVkKCBVU0VfQ09MT1IgKVxuXHRkaWZmdXNlQ29sb3IucmdiICo9IHZDb2xvcjtcbiNlbmRpZiIsY29sb3JfcGFyc19mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9DT0xPUl9BTFBIQSApXG5cdHZhcnlpbmcgdmVjNCB2Q29sb3I7XG4jZWxpZiBkZWZpbmVkKCBVU0VfQ09MT1IgKVxuXHR2YXJ5aW5nIHZlYzMgdkNvbG9yO1xuI2VuZGlmIixjb2xvcl9wYXJzX3ZlcnRleDoiI2lmIGRlZmluZWQoIFVTRV9DT0xPUl9BTFBIQSApXG5cdHZhcnlpbmcgdmVjNCB2Q29sb3I7XG4jZWxpZiBkZWZpbmVkKCBVU0VfQ09MT1IgKSB8fCBkZWZpbmVkKCBVU0VfSU5TVEFOQ0lOR19DT0xPUiApXG5cdHZhcnlpbmcgdmVjMyB2Q29sb3I7XG4jZW5kaWYiLGNvbG9yX3ZlcnRleDoiI2lmIGRlZmluZWQoIFVTRV9DT0xPUl9BTFBIQSApXG5cdHZDb2xvciA9IHZlYzQoIDEuMCApO1xuI2VsaWYgZGVmaW5lZCggVVNFX0NPTE9SICkgfHwgZGVmaW5lZCggVVNFX0lOU1RBTkNJTkdfQ09MT1IgKVxuXHR2Q29sb3IgPSB2ZWMzKCAxLjAgKTtcbiNlbmRpZlxuI2lmZGVmIFVTRV9DT0xPUlxuXHR2Q29sb3IgKj0gY29sb3I7XG4jZW5kaWZcbiNpZmRlZiBVU0VfSU5TVEFOQ0lOR19DT0xPUlxuXHR2Q29sb3IueHl6ICo9IGluc3RhbmNlQ29sb3IueHl6O1xuI2VuZGlmIixjb21tb246IiNkZWZpbmUgUEkgMy4xNDE1OTI2NTM1ODk3OTNcbiNkZWZpbmUgUEkyIDYuMjgzMTg1MzA3MTc5NTg2XG4jZGVmaW5lIFBJX0hBTEYgMS41NzA3OTYzMjY3OTQ4OTY2XG4jZGVmaW5lIFJFQ0lQUk9DQUxfUEkgMC4zMTgzMDk4ODYxODM3OTA3XG4jZGVmaW5lIFJFQ0lQUk9DQUxfUEkyIDAuMTU5MTU0OTQzMDkxODk1MzVcbiNkZWZpbmUgRVBTSUxPTiAxZS02XG4jaWZuZGVmIHNhdHVyYXRlXG4jZGVmaW5lIHNhdHVyYXRlKGEpIGNsYW1wKCBhLCAwLjAsIDEuMCApXG4jZW5kaWZcbiNkZWZpbmUgd2hpdGVDb21wbGVtZW50KGEpICggMS4wIC0gc2F0dXJhdGUoIGEgKSApXG5mbG9hdCBwb3cyKCBjb25zdCBpbiBmbG9hdCB4ICkgeyByZXR1cm4geCp4OyB9XG5mbG9hdCBwb3czKCBjb25zdCBpbiBmbG9hdCB4ICkgeyByZXR1cm4geCp4Kng7IH1cbmZsb2F0IHBvdzQoIGNvbnN0IGluIGZsb2F0IHggKSB7IGZsb2F0IHgyID0geCp4OyByZXR1cm4geDIqeDI7IH1cbmZsb2F0IGF2ZXJhZ2UoIGNvbnN0IGluIHZlYzMgY29sb3IgKSB7IHJldHVybiBkb3QoIGNvbG9yLCB2ZWMzKCAwLjMzMzMgKSApOyB9XG5oaWdocCBmbG9hdCByYW5kKCBjb25zdCBpbiB2ZWMyIHV2ICkge1xuXHRjb25zdCBoaWdocCBmbG9hdCBhID0gMTIuOTg5OCwgYiA9IDc4LjIzMywgYyA9IDQzNzU4LjU0NTM7XG5cdGhpZ2hwIGZsb2F0IGR0ID0gZG90KCB1di54eSwgdmVjMiggYSxiICkgKSwgc24gPSBtb2QoIGR0LCBQSSApO1xuXHRyZXR1cm4gZnJhY3Qoc2luKHNuKSAqIGMpO1xufVxuI2lmZGVmIEhJR0hfUFJFQ0lTSU9OXG5cdGZsb2F0IHByZWNpc2lvblNhZmVMZW5ndGgoIHZlYzMgdiApIHsgcmV0dXJuIGxlbmd0aCggdiApOyB9XG4jZWxzZVxuXHRmbG9hdCBtYXgzKCB2ZWMzIHYgKSB7IHJldHVybiBtYXgoIG1heCggdi54LCB2LnkgKSwgdi56ICk7IH1cblx0ZmxvYXQgcHJlY2lzaW9uU2FmZUxlbmd0aCggdmVjMyB2ICkge1xuXHRcdGZsb2F0IG1heENvbXBvbmVudCA9IG1heDMoIGFicyggdiApICk7XG5cdFx0cmV0dXJuIGxlbmd0aCggdiAvIG1heENvbXBvbmVudCApICogbWF4Q29tcG9uZW50O1xuXHR9XG4jZW5kaWZcbnN0cnVjdCBJbmNpZGVudExpZ2h0IHtcblx0dmVjMyBjb2xvcjtcblx0dmVjMyBkaXJlY3Rpb247XG5cdGJvb2wgdmlzaWJsZTtcbn07XG5zdHJ1Y3QgUmVmbGVjdGVkTGlnaHQge1xuXHR2ZWMzIGRpcmVjdERpZmZ1c2U7XG5cdHZlYzMgZGlyZWN0U3BlY3VsYXI7XG5cdHZlYzMgaW5kaXJlY3REaWZmdXNlO1xuXHR2ZWMzIGluZGlyZWN0U3BlY3VsYXI7XG59O1xuc3RydWN0IEdlb21ldHJpY0NvbnRleHQge1xuXHR2ZWMzIHBvc2l0aW9uO1xuXHR2ZWMzIG5vcm1hbDtcblx0dmVjMyB2aWV3RGlyO1xuI2lmZGVmIENMRUFSQ09BVFxuXHR2ZWMzIGNsZWFyY29hdE5vcm1hbDtcbiNlbmRpZlxufTtcbnZlYzMgdHJhbnNmb3JtRGlyZWN0aW9uKCBpbiB2ZWMzIGRpciwgaW4gbWF0NCBtYXRyaXggKSB7XG5cdHJldHVybiBub3JtYWxpemUoICggbWF0cml4ICogdmVjNCggZGlyLCAwLjAgKSApLnh5eiApO1xufVxudmVjMyBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBpbiB2ZWMzIGRpciwgaW4gbWF0NCBtYXRyaXggKSB7XG5cdHJldHVybiBub3JtYWxpemUoICggdmVjNCggZGlyLCAwLjAgKSAqIG1hdHJpeCApLnh5eiApO1xufVxudmVjMyBwcm9qZWN0T25QbGFuZShpbiB2ZWMzIHBvaW50LCBpbiB2ZWMzIHBvaW50T25QbGFuZSwgaW4gdmVjMyBwbGFuZU5vcm1hbCApIHtcblx0ZmxvYXQgZGlzdGFuY2UgPSBkb3QoIHBsYW5lTm9ybWFsLCBwb2ludCAtIHBvaW50T25QbGFuZSApO1xuXHRyZXR1cm4gLSBkaXN0YW5jZSAqIHBsYW5lTm9ybWFsICsgcG9pbnQ7XG59XG5mbG9hdCBzaWRlT2ZQbGFuZSggaW4gdmVjMyBwb2ludCwgaW4gdmVjMyBwb2ludE9uUGxhbmUsIGluIHZlYzMgcGxhbmVOb3JtYWwgKSB7XG5cdHJldHVybiBzaWduKCBkb3QoIHBvaW50IC0gcG9pbnRPblBsYW5lLCBwbGFuZU5vcm1hbCApICk7XG59XG52ZWMzIGxpbmVQbGFuZUludGVyc2VjdCggaW4gdmVjMyBwb2ludE9uTGluZSwgaW4gdmVjMyBsaW5lRGlyZWN0aW9uLCBpbiB2ZWMzIHBvaW50T25QbGFuZSwgaW4gdmVjMyBwbGFuZU5vcm1hbCApIHtcblx0cmV0dXJuIGxpbmVEaXJlY3Rpb24gKiAoIGRvdCggcGxhbmVOb3JtYWwsIHBvaW50T25QbGFuZSAtIHBvaW50T25MaW5lICkgLyBkb3QoIHBsYW5lTm9ybWFsLCBsaW5lRGlyZWN0aW9uICkgKSArIHBvaW50T25MaW5lO1xufVxubWF0MyB0cmFuc3Bvc2VNYXQzKCBjb25zdCBpbiBtYXQzIG0gKSB7XG5cdG1hdDMgdG1wO1xuXHR0bXBbIDAgXSA9IHZlYzMoIG1bIDAgXS54LCBtWyAxIF0ueCwgbVsgMiBdLnggKTtcblx0dG1wWyAxIF0gPSB2ZWMzKCBtWyAwIF0ueSwgbVsgMSBdLnksIG1bIDIgXS55ICk7XG5cdHRtcFsgMiBdID0gdmVjMyggbVsgMCBdLnosIG1bIDEgXS56LCBtWyAyIF0ueiApO1xuXHRyZXR1cm4gdG1wO1xufVxuZmxvYXQgbGluZWFyVG9SZWxhdGl2ZUx1bWluYW5jZSggY29uc3QgaW4gdmVjMyBjb2xvciApIHtcblx0dmVjMyB3ZWlnaHRzID0gdmVjMyggMC4yMTI2LCAwLjcxNTIsIDAuMDcyMiApO1xuXHRyZXR1cm4gZG90KCB3ZWlnaHRzLCBjb2xvci5yZ2IgKTtcbn1cbmJvb2wgaXNQZXJzcGVjdGl2ZU1hdHJpeCggbWF0NCBtICkge1xuXHRyZXR1cm4gbVsgMiBdWyAzIF0gPT0gLSAxLjA7XG59XG52ZWMyIGVxdWlyZWN0VXYoIGluIHZlYzMgZGlyICkge1xuXHRmbG9hdCB1ID0gYXRhbiggZGlyLnosIGRpci54ICkgKiBSRUNJUFJPQ0FMX1BJMiArIDAuNTtcblx0ZmxvYXQgdiA9IGFzaW4oIGNsYW1wKCBkaXIueSwgLSAxLjAsIDEuMCApICkgKiBSRUNJUFJPQ0FMX1BJICsgMC41O1xuXHRyZXR1cm4gdmVjMiggdSwgdiApO1xufSIsY3ViZV91dl9yZWZsZWN0aW9uX2ZyYWdtZW50OiIjaWZkZWYgRU5WTUFQX1RZUEVfQ1VCRV9VVlxuXHQjZGVmaW5lIGN1YmVVVl9tYXhNaXBMZXZlbCA4LjBcblx0I2RlZmluZSBjdWJlVVZfbWluTWlwTGV2ZWwgNC4wXG5cdCNkZWZpbmUgY3ViZVVWX21heFRpbGVTaXplIDI1Ni4wXG5cdCNkZWZpbmUgY3ViZVVWX21pblRpbGVTaXplIDE2LjBcblx0ZmxvYXQgZ2V0RmFjZSggdmVjMyBkaXJlY3Rpb24gKSB7XG5cdFx0dmVjMyBhYnNEaXJlY3Rpb24gPSBhYnMoIGRpcmVjdGlvbiApO1xuXHRcdGZsb2F0IGZhY2UgPSAtIDEuMDtcblx0XHRpZiAoIGFic0RpcmVjdGlvbi54ID4gYWJzRGlyZWN0aW9uLnogKSB7XG5cdFx0XHRpZiAoIGFic0RpcmVjdGlvbi54ID4gYWJzRGlyZWN0aW9uLnkgKVxuXHRcdFx0XHRmYWNlID0gZGlyZWN0aW9uLnggPiAwLjAgPyAwLjAgOiAzLjA7XG5cdFx0XHRlbHNlXG5cdFx0XHRcdGZhY2UgPSBkaXJlY3Rpb24ueSA+IDAuMCA/IDEuMCA6IDQuMDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aWYgKCBhYnNEaXJlY3Rpb24ueiA+IGFic0RpcmVjdGlvbi55IClcblx0XHRcdFx0ZmFjZSA9IGRpcmVjdGlvbi56ID4gMC4wID8gMi4wIDogNS4wO1xuXHRcdFx0ZWxzZVxuXHRcdFx0XHRmYWNlID0gZGlyZWN0aW9uLnkgPiAwLjAgPyAxLjAgOiA0LjA7XG5cdFx0fVxuXHRcdHJldHVybiBmYWNlO1xuXHR9XG5cdHZlYzIgZ2V0VVYoIHZlYzMgZGlyZWN0aW9uLCBmbG9hdCBmYWNlICkge1xuXHRcdHZlYzIgdXY7XG5cdFx0aWYgKCBmYWNlID09IDAuMCApIHtcblx0XHRcdHV2ID0gdmVjMiggZGlyZWN0aW9uLnosIGRpcmVjdGlvbi55ICkgLyBhYnMoIGRpcmVjdGlvbi54ICk7XG5cdFx0fSBlbHNlIGlmICggZmFjZSA9PSAxLjAgKSB7XG5cdFx0XHR1diA9IHZlYzIoIC0gZGlyZWN0aW9uLngsIC0gZGlyZWN0aW9uLnogKSAvIGFicyggZGlyZWN0aW9uLnkgKTtcblx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDIuMCApIHtcblx0XHRcdHV2ID0gdmVjMiggLSBkaXJlY3Rpb24ueCwgZGlyZWN0aW9uLnkgKSAvIGFicyggZGlyZWN0aW9uLnogKTtcblx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDMuMCApIHtcblx0XHRcdHV2ID0gdmVjMiggLSBkaXJlY3Rpb24ueiwgZGlyZWN0aW9uLnkgKSAvIGFicyggZGlyZWN0aW9uLnggKTtcblx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDQuMCApIHtcblx0XHRcdHV2ID0gdmVjMiggLSBkaXJlY3Rpb24ueCwgZGlyZWN0aW9uLnogKSAvIGFicyggZGlyZWN0aW9uLnkgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dXYgPSB2ZWMyKCBkaXJlY3Rpb24ueCwgZGlyZWN0aW9uLnkgKSAvIGFicyggZGlyZWN0aW9uLnogKTtcblx0XHR9XG5cdFx0cmV0dXJuIDAuNSAqICggdXYgKyAxLjAgKTtcblx0fVxuXHR2ZWMzIGJpbGluZWFyQ3ViZVVWKCBzYW1wbGVyMkQgZW52TWFwLCB2ZWMzIGRpcmVjdGlvbiwgZmxvYXQgbWlwSW50ICkge1xuXHRcdGZsb2F0IGZhY2UgPSBnZXRGYWNlKCBkaXJlY3Rpb24gKTtcblx0XHRmbG9hdCBmaWx0ZXJJbnQgPSBtYXgoIGN1YmVVVl9taW5NaXBMZXZlbCAtIG1pcEludCwgMC4wICk7XG5cdFx0bWlwSW50ID0gbWF4KCBtaXBJbnQsIGN1YmVVVl9taW5NaXBMZXZlbCApO1xuXHRcdGZsb2F0IGZhY2VTaXplID0gZXhwMiggbWlwSW50ICk7XG5cdFx0ZmxvYXQgdGV4ZWxTaXplID0gMS4wIC8gKCAzLjAgKiBjdWJlVVZfbWF4VGlsZVNpemUgKTtcblx0XHR2ZWMyIHV2ID0gZ2V0VVYoIGRpcmVjdGlvbiwgZmFjZSApICogKCBmYWNlU2l6ZSAtIDEuMCApO1xuXHRcdHZlYzIgZiA9IGZyYWN0KCB1diApO1xuXHRcdHV2ICs9IDAuNSAtIGY7XG5cdFx0aWYgKCBmYWNlID4gMi4wICkge1xuXHRcdFx0dXYueSArPSBmYWNlU2l6ZTtcblx0XHRcdGZhY2UgLT0gMy4wO1xuXHRcdH1cblx0XHR1di54ICs9IGZhY2UgKiBmYWNlU2l6ZTtcblx0XHRpZiAoIG1pcEludCA8IGN1YmVVVl9tYXhNaXBMZXZlbCApIHtcblx0XHRcdHV2LnkgKz0gMi4wICogY3ViZVVWX21heFRpbGVTaXplO1xuXHRcdH1cblx0XHR1di55ICs9IGZpbHRlckludCAqIDIuMCAqIGN1YmVVVl9taW5UaWxlU2l6ZTtcblx0XHR1di54ICs9IDMuMCAqIG1heCggMC4wLCBjdWJlVVZfbWF4VGlsZVNpemUgLSAyLjAgKiBmYWNlU2l6ZSApO1xuXHRcdHV2ICo9IHRleGVsU2l6ZTtcblx0XHR2ZWMzIHRsID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEKCBlbnZNYXAsIHV2ICkgKS5yZ2I7XG5cdFx0dXYueCArPSB0ZXhlbFNpemU7XG5cdFx0dmVjMyB0ciA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCggZW52TWFwLCB1diApICkucmdiO1xuXHRcdHV2LnkgKz0gdGV4ZWxTaXplO1xuXHRcdHZlYzMgYnIgPSBlbnZNYXBUZXhlbFRvTGluZWFyKCB0ZXh0dXJlMkQoIGVudk1hcCwgdXYgKSApLnJnYjtcblx0XHR1di54IC09IHRleGVsU2l6ZTtcblx0XHR2ZWMzIGJsID0gZW52TWFwVGV4ZWxUb0xpbmVhciggdGV4dHVyZTJEKCBlbnZNYXAsIHV2ICkgKS5yZ2I7XG5cdFx0dmVjMyB0bSA9IG1peCggdGwsIHRyLCBmLnggKTtcblx0XHR2ZWMzIGJtID0gbWl4KCBibCwgYnIsIGYueCApO1xuXHRcdHJldHVybiBtaXgoIHRtLCBibSwgZi55ICk7XG5cdH1cblx0I2RlZmluZSByMCAxLjBcblx0I2RlZmluZSB2MCAwLjMzOVxuXHQjZGVmaW5lIG0wIC0gMi4wXG5cdCNkZWZpbmUgcjEgMC44XG5cdCNkZWZpbmUgdjEgMC4yNzZcblx0I2RlZmluZSBtMSAtIDEuMFxuXHQjZGVmaW5lIHI0IDAuNFxuXHQjZGVmaW5lIHY0IDAuMDQ2XG5cdCNkZWZpbmUgbTQgMi4wXG5cdCNkZWZpbmUgcjUgMC4zMDVcblx0I2RlZmluZSB2NSAwLjAxNlxuXHQjZGVmaW5lIG01IDMuMFxuXHQjZGVmaW5lIHI2IDAuMjFcblx0I2RlZmluZSB2NiAwLjAwMzhcblx0I2RlZmluZSBtNiA0LjBcblx0ZmxvYXQgcm91Z2huZXNzVG9NaXAoIGZsb2F0IHJvdWdobmVzcyApIHtcblx0XHRmbG9hdCBtaXAgPSAwLjA7XG5cdFx0aWYgKCByb3VnaG5lc3MgPj0gcjEgKSB7XG5cdFx0XHRtaXAgPSAoIHIwIC0gcm91Z2huZXNzICkgKiAoIG0xIC0gbTAgKSAvICggcjAgLSByMSApICsgbTA7XG5cdFx0fSBlbHNlIGlmICggcm91Z2huZXNzID49IHI0ICkge1xuXHRcdFx0bWlwID0gKCByMSAtIHJvdWdobmVzcyApICogKCBtNCAtIG0xICkgLyAoIHIxIC0gcjQgKSArIG0xO1xuXHRcdH0gZWxzZSBpZiAoIHJvdWdobmVzcyA+PSByNSApIHtcblx0XHRcdG1pcCA9ICggcjQgLSByb3VnaG5lc3MgKSAqICggbTUgLSBtNCApIC8gKCByNCAtIHI1ICkgKyBtNDtcblx0XHR9IGVsc2UgaWYgKCByb3VnaG5lc3MgPj0gcjYgKSB7XG5cdFx0XHRtaXAgPSAoIHI1IC0gcm91Z2huZXNzICkgKiAoIG02IC0gbTUgKSAvICggcjUgLSByNiApICsgbTU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdG1pcCA9IC0gMi4wICogbG9nMiggMS4xNiAqIHJvdWdobmVzcyApO1x0XHR9XG5cdFx0cmV0dXJuIG1pcDtcblx0fVxuXHR2ZWM0IHRleHR1cmVDdWJlVVYoIHNhbXBsZXIyRCBlbnZNYXAsIHZlYzMgc2FtcGxlRGlyLCBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdFx0ZmxvYXQgbWlwID0gY2xhbXAoIHJvdWdobmVzc1RvTWlwKCByb3VnaG5lc3MgKSwgbTAsIGN1YmVVVl9tYXhNaXBMZXZlbCApO1xuXHRcdGZsb2F0IG1pcEYgPSBmcmFjdCggbWlwICk7XG5cdFx0ZmxvYXQgbWlwSW50ID0gZmxvb3IoIG1pcCApO1xuXHRcdHZlYzMgY29sb3IwID0gYmlsaW5lYXJDdWJlVVYoIGVudk1hcCwgc2FtcGxlRGlyLCBtaXBJbnQgKTtcblx0XHRpZiAoIG1pcEYgPT0gMC4wICkge1xuXHRcdFx0cmV0dXJuIHZlYzQoIGNvbG9yMCwgMS4wICk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHZlYzMgY29sb3IxID0gYmlsaW5lYXJDdWJlVVYoIGVudk1hcCwgc2FtcGxlRGlyLCBtaXBJbnQgKyAxLjAgKTtcblx0XHRcdHJldHVybiB2ZWM0KCBtaXgoIGNvbG9yMCwgY29sb3IxLCBtaXBGICksIDEuMCApO1xuXHRcdH1cblx0fVxuI2VuZGlmIixkZWZhdWx0bm9ybWFsX3ZlcnRleDoidmVjMyB0cmFuc2Zvcm1lZE5vcm1hbCA9IG9iamVjdE5vcm1hbDtcbiNpZmRlZiBVU0VfSU5TVEFOQ0lOR1xuXHRtYXQzIG0gPSBtYXQzKCBpbnN0YW5jZU1hdHJpeCApO1xuXHR0cmFuc2Zvcm1lZE5vcm1hbCAvPSB2ZWMzKCBkb3QoIG1bIDAgXSwgbVsgMCBdICksIGRvdCggbVsgMSBdLCBtWyAxIF0gKSwgZG90KCBtWyAyIF0sIG1bIDIgXSApICk7XG5cdHRyYW5zZm9ybWVkTm9ybWFsID0gbSAqIHRyYW5zZm9ybWVkTm9ybWFsO1xuI2VuZGlmXG50cmFuc2Zvcm1lZE5vcm1hbCA9IG5vcm1hbE1hdHJpeCAqIHRyYW5zZm9ybWVkTm9ybWFsO1xuI2lmZGVmIEZMSVBfU0lERURcblx0dHJhbnNmb3JtZWROb3JtYWwgPSAtIHRyYW5zZm9ybWVkTm9ybWFsO1xuI2VuZGlmXG4jaWZkZWYgVVNFX1RBTkdFTlRcblx0dmVjMyB0cmFuc2Zvcm1lZFRhbmdlbnQgPSAoIG1vZGVsVmlld01hdHJpeCAqIHZlYzQoIG9iamVjdFRhbmdlbnQsIDAuMCApICkueHl6O1xuXHQjaWZkZWYgRkxJUF9TSURFRFxuXHRcdHRyYW5zZm9ybWVkVGFuZ2VudCA9IC0gdHJhbnNmb3JtZWRUYW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZiIsZGlzcGxhY2VtZW50bWFwX3BhcnNfdmVydGV4OiIjaWZkZWYgVVNFX0RJU1BMQUNFTUVOVE1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBkaXNwbGFjZW1lbnRNYXA7XG5cdHVuaWZvcm0gZmxvYXQgZGlzcGxhY2VtZW50U2NhbGU7XG5cdHVuaWZvcm0gZmxvYXQgZGlzcGxhY2VtZW50QmlhcztcbiNlbmRpZiIsZGlzcGxhY2VtZW50bWFwX3ZlcnRleDoiI2lmZGVmIFVTRV9ESVNQTEFDRU1FTlRNQVBcblx0dHJhbnNmb3JtZWQgKz0gbm9ybWFsaXplKCBvYmplY3ROb3JtYWwgKSAqICggdGV4dHVyZTJEKCBkaXNwbGFjZW1lbnRNYXAsIHZVdiApLnggKiBkaXNwbGFjZW1lbnRTY2FsZSArIGRpc3BsYWNlbWVudEJpYXMgKTtcbiNlbmRpZiIsZW1pc3NpdmVtYXBfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRU1JU1NJVkVNQVBcblx0dmVjNCBlbWlzc2l2ZUNvbG9yID0gdGV4dHVyZTJEKCBlbWlzc2l2ZU1hcCwgdlV2ICk7XG5cdGVtaXNzaXZlQ29sb3IucmdiID0gZW1pc3NpdmVNYXBUZXhlbFRvTGluZWFyKCBlbWlzc2l2ZUNvbG9yICkucmdiO1xuXHR0b3RhbEVtaXNzaXZlUmFkaWFuY2UgKj0gZW1pc3NpdmVDb2xvci5yZ2I7XG4jZW5kaWYiLGVtaXNzaXZlbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRU1JU1NJVkVNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgZW1pc3NpdmVNYXA7XG4jZW5kaWYiLGVuY29kaW5nc19mcmFnbWVudDoiZ2xfRnJhZ0NvbG9yID0gbGluZWFyVG9PdXRwdXRUZXhlbCggZ2xfRnJhZ0NvbG9yICk7IixlbmNvZGluZ3NfcGFyc19mcmFnbWVudDoiXG52ZWM0IExpbmVhclRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlICkge1xuXHRyZXR1cm4gdmFsdWU7XG59XG52ZWM0IEdhbW1hVG9MaW5lYXIoIGluIHZlYzQgdmFsdWUsIGluIGZsb2F0IGdhbW1hRmFjdG9yICkge1xuXHRyZXR1cm4gdmVjNCggcG93KCB2YWx1ZS5yZ2IsIHZlYzMoIGdhbW1hRmFjdG9yICkgKSwgdmFsdWUuYSApO1xufVxudmVjNCBMaW5lYXJUb0dhbW1hKCBpbiB2ZWM0IHZhbHVlLCBpbiBmbG9hdCBnYW1tYUZhY3RvciApIHtcblx0cmV0dXJuIHZlYzQoIHBvdyggdmFsdWUucmdiLCB2ZWMzKCAxLjAgLyBnYW1tYUZhY3RvciApICksIHZhbHVlLmEgKTtcbn1cbnZlYzQgc1JHQlRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlICkge1xuXHRyZXR1cm4gdmVjNCggbWl4KCBwb3coIHZhbHVlLnJnYiAqIDAuOTQ3ODY3Mjk4NiArIHZlYzMoIDAuMDUyMTMyNzAxNCApLCB2ZWMzKCAyLjQgKSApLCB2YWx1ZS5yZ2IgKiAwLjA3NzM5OTM4MDgsIHZlYzMoIGxlc3NUaGFuRXF1YWwoIHZhbHVlLnJnYiwgdmVjMyggMC4wNDA0NSApICkgKSApLCB2YWx1ZS5hICk7XG59XG52ZWM0IExpbmVhclRvc1JHQiggaW4gdmVjNCB2YWx1ZSApIHtcblx0cmV0dXJuIHZlYzQoIG1peCggcG93KCB2YWx1ZS5yZ2IsIHZlYzMoIDAuNDE2NjYgKSApICogMS4wNTUgLSB2ZWMzKCAwLjA1NSApLCB2YWx1ZS5yZ2IgKiAxMi45MiwgdmVjMyggbGVzc1RoYW5FcXVhbCggdmFsdWUucmdiLCB2ZWMzKCAwLjAwMzEzMDggKSApICkgKSwgdmFsdWUuYSApO1xufVxudmVjNCBSR0JFVG9MaW5lYXIoIGluIHZlYzQgdmFsdWUgKSB7XG5cdHJldHVybiB2ZWM0KCB2YWx1ZS5yZ2IgKiBleHAyKCB2YWx1ZS5hICogMjU1LjAgLSAxMjguMCApLCAxLjAgKTtcbn1cbnZlYzQgTGluZWFyVG9SR0JFKCBpbiB2ZWM0IHZhbHVlICkge1xuXHRmbG9hdCBtYXhDb21wb25lbnQgPSBtYXgoIG1heCggdmFsdWUuciwgdmFsdWUuZyApLCB2YWx1ZS5iICk7XG5cdGZsb2F0IGZFeHAgPSBjbGFtcCggY2VpbCggbG9nMiggbWF4Q29tcG9uZW50ICkgKSwgLTEyOC4wLCAxMjcuMCApO1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiIC8gZXhwMiggZkV4cCApLCAoIGZFeHAgKyAxMjguMCApIC8gMjU1LjAgKTtcbn1cbnZlYzQgUkdCTVRvTGluZWFyKCBpbiB2ZWM0IHZhbHVlLCBpbiBmbG9hdCBtYXhSYW5nZSApIHtcblx0cmV0dXJuIHZlYzQoIHZhbHVlLnJnYiAqIHZhbHVlLmEgKiBtYXhSYW5nZSwgMS4wICk7XG59XG52ZWM0IExpbmVhclRvUkdCTSggaW4gdmVjNCB2YWx1ZSwgaW4gZmxvYXQgbWF4UmFuZ2UgKSB7XG5cdGZsb2F0IG1heFJHQiA9IG1heCggdmFsdWUuciwgbWF4KCB2YWx1ZS5nLCB2YWx1ZS5iICkgKTtcblx0ZmxvYXQgTSA9IGNsYW1wKCBtYXhSR0IgLyBtYXhSYW5nZSwgMC4wLCAxLjAgKTtcblx0TSA9IGNlaWwoIE0gKiAyNTUuMCApIC8gMjU1LjA7XG5cdHJldHVybiB2ZWM0KCB2YWx1ZS5yZ2IgLyAoIE0gKiBtYXhSYW5nZSApLCBNICk7XG59XG52ZWM0IFJHQkRUb0xpbmVhciggaW4gdmVjNCB2YWx1ZSwgaW4gZmxvYXQgbWF4UmFuZ2UgKSB7XG5cdHJldHVybiB2ZWM0KCB2YWx1ZS5yZ2IgKiAoICggbWF4UmFuZ2UgLyAyNTUuMCApIC8gdmFsdWUuYSApLCAxLjAgKTtcbn1cbnZlYzQgTGluZWFyVG9SR0JEKCBpbiB2ZWM0IHZhbHVlLCBpbiBmbG9hdCBtYXhSYW5nZSApIHtcblx0ZmxvYXQgbWF4UkdCID0gbWF4KCB2YWx1ZS5yLCBtYXgoIHZhbHVlLmcsIHZhbHVlLmIgKSApO1xuXHRmbG9hdCBEID0gbWF4KCBtYXhSYW5nZSAvIG1heFJHQiwgMS4wICk7XG5cdEQgPSBjbGFtcCggZmxvb3IoIEQgKSAvIDI1NS4wLCAwLjAsIDEuMCApO1xuXHRyZXR1cm4gdmVjNCggdmFsdWUucmdiICogKCBEICogKCAyNTUuMCAvIG1heFJhbmdlICkgKSwgRCApO1xufVxuY29uc3QgbWF0MyBjTG9nTHV2TSA9IG1hdDMoIDAuMjIwOSwgMC4zMzkwLCAwLjQxODQsIDAuMTEzOCwgMC42NzgwLCAwLjczMTksIDAuMDEwMiwgMC4xMTMwLCAwLjI5NjkgKTtcbnZlYzQgTGluZWFyVG9Mb2dMdXYoIGluIHZlYzQgdmFsdWUgKSB7XG5cdHZlYzMgWHBfWV9YWVpwID0gY0xvZ0x1dk0gKiB2YWx1ZS5yZ2I7XG5cdFhwX1lfWFlacCA9IG1heCggWHBfWV9YWVpwLCB2ZWMzKCAxZS02LCAxZS02LCAxZS02ICkgKTtcblx0dmVjNCB2UmVzdWx0O1xuXHR2UmVzdWx0Lnh5ID0gWHBfWV9YWVpwLnh5IC8gWHBfWV9YWVpwLno7XG5cdGZsb2F0IExlID0gMi4wICogbG9nMihYcF9ZX1hZWnAueSkgKyAxMjcuMDtcblx0dlJlc3VsdC53ID0gZnJhY3QoIExlICk7XG5cdHZSZXN1bHQueiA9ICggTGUgLSAoIGZsb29yKCB2UmVzdWx0LncgKiAyNTUuMCApICkgLyAyNTUuMCApIC8gMjU1LjA7XG5cdHJldHVybiB2UmVzdWx0O1xufVxuY29uc3QgbWF0MyBjTG9nTHV2SW52ZXJzZU0gPSBtYXQzKCA2LjAwMTQsIC0yLjcwMDgsIC0xLjc5OTYsIC0xLjMzMjAsIDMuMTAyOSwgLTUuNzcyMSwgMC4zMDA4LCAtMS4wODgyLCA1LjYyNjggKTtcbnZlYzQgTG9nTHV2VG9MaW5lYXIoIGluIHZlYzQgdmFsdWUgKSB7XG5cdGZsb2F0IExlID0gdmFsdWUueiAqIDI1NS4wICsgdmFsdWUudztcblx0dmVjMyBYcF9ZX1hZWnA7XG5cdFhwX1lfWFlacC55ID0gZXhwMiggKCBMZSAtIDEyNy4wICkgLyAyLjAgKTtcblx0WHBfWV9YWVpwLnogPSBYcF9ZX1hZWnAueSAvIHZhbHVlLnk7XG5cdFhwX1lfWFlacC54ID0gdmFsdWUueCAqIFhwX1lfWFlacC56O1xuXHR2ZWMzIHZSR0IgPSBjTG9nTHV2SW52ZXJzZU0gKiBYcF9ZX1hZWnAucmdiO1xuXHRyZXR1cm4gdmVjNCggbWF4KCB2UkdCLCAwLjAgKSwgMS4wICk7XG59IixlbnZtYXBfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRU5WTUFQXG5cdCNpZmRlZiBFTlZfV09STERQT1Ncblx0XHR2ZWMzIGNhbWVyYVRvRnJhZztcblx0XHRpZiAoIGlzT3J0aG9ncmFwaGljICkge1xuXHRcdFx0Y2FtZXJhVG9GcmFnID0gbm9ybWFsaXplKCB2ZWMzKCAtIHZpZXdNYXRyaXhbIDAgXVsgMiBdLCAtIHZpZXdNYXRyaXhbIDEgXVsgMiBdLCAtIHZpZXdNYXRyaXhbIDIgXVsgMiBdICkgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y2FtZXJhVG9GcmFnID0gbm9ybWFsaXplKCB2V29ybGRQb3NpdGlvbiAtIGNhbWVyYVBvc2l0aW9uICk7XG5cdFx0fVxuXHRcdHZlYzMgd29ybGROb3JtYWwgPSBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBub3JtYWwsIHZpZXdNYXRyaXggKTtcblx0XHQjaWZkZWYgRU5WTUFQX01PREVfUkVGTEVDVElPTlxuXHRcdFx0dmVjMyByZWZsZWN0VmVjID0gcmVmbGVjdCggY2FtZXJhVG9GcmFnLCB3b3JsZE5vcm1hbCApO1xuXHRcdCNlbHNlXG5cdFx0XHR2ZWMzIHJlZmxlY3RWZWMgPSByZWZyYWN0KCBjYW1lcmFUb0ZyYWcsIHdvcmxkTm9ybWFsLCByZWZyYWN0aW9uUmF0aW8gKTtcblx0XHQjZW5kaWZcblx0I2Vsc2Vcblx0XHR2ZWMzIHJlZmxlY3RWZWMgPSB2UmVmbGVjdDtcblx0I2VuZGlmXG5cdCNpZmRlZiBFTlZNQVBfVFlQRV9DVUJFXG5cdFx0dmVjNCBlbnZDb2xvciA9IHRleHR1cmVDdWJlKCBlbnZNYXAsIHZlYzMoIGZsaXBFbnZNYXAgKiByZWZsZWN0VmVjLngsIHJlZmxlY3RWZWMueXogKSApO1xuXHQjZWxpZiBkZWZpbmVkKCBFTlZNQVBfVFlQRV9DVUJFX1VWIClcblx0XHR2ZWM0IGVudkNvbG9yID0gdGV4dHVyZUN1YmVVViggZW52TWFwLCByZWZsZWN0VmVjLCAwLjAgKTtcblx0I2Vsc2Vcblx0XHR2ZWM0IGVudkNvbG9yID0gdmVjNCggMC4wICk7XG5cdCNlbmRpZlxuXHQjaWZuZGVmIEVOVk1BUF9UWVBFX0NVQkVfVVZcblx0XHRlbnZDb2xvciA9IGVudk1hcFRleGVsVG9MaW5lYXIoIGVudkNvbG9yICk7XG5cdCNlbmRpZlxuXHQjaWZkZWYgRU5WTUFQX0JMRU5ESU5HX01VTFRJUExZXG5cdFx0b3V0Z29pbmdMaWdodCA9IG1peCggb3V0Z29pbmdMaWdodCwgb3V0Z29pbmdMaWdodCAqIGVudkNvbG9yLnh5eiwgc3BlY3VsYXJTdHJlbmd0aCAqIHJlZmxlY3Rpdml0eSApO1xuXHQjZWxpZiBkZWZpbmVkKCBFTlZNQVBfQkxFTkRJTkdfTUlYIClcblx0XHRvdXRnb2luZ0xpZ2h0ID0gbWl4KCBvdXRnb2luZ0xpZ2h0LCBlbnZDb2xvci54eXosIHNwZWN1bGFyU3RyZW5ndGggKiByZWZsZWN0aXZpdHkgKTtcblx0I2VsaWYgZGVmaW5lZCggRU5WTUFQX0JMRU5ESU5HX0FERCApXG5cdFx0b3V0Z29pbmdMaWdodCArPSBlbnZDb2xvci54eXogKiBzcGVjdWxhclN0cmVuZ3RoICogcmVmbGVjdGl2aXR5O1xuXHQjZW5kaWZcbiNlbmRpZiIsZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0VOVk1BUFxuXHR1bmlmb3JtIGZsb2F0IGVudk1hcEludGVuc2l0eTtcblx0dW5pZm9ybSBmbG9hdCBmbGlwRW52TWFwO1xuXHR1bmlmb3JtIGludCBtYXhNaXBMZXZlbDtcblx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHR1bmlmb3JtIHNhbXBsZXJDdWJlIGVudk1hcDtcblx0I2Vsc2Vcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBlbnZNYXA7XG5cdCNlbmRpZlxuXHRcbiNlbmRpZiIsZW52bWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRU5WTUFQXG5cdHVuaWZvcm0gZmxvYXQgcmVmbGVjdGl2aXR5O1xuXHQjaWYgZGVmaW5lZCggVVNFX0JVTVBNQVAgKSB8fCBkZWZpbmVkKCBVU0VfTk9STUFMTUFQICkgfHwgZGVmaW5lZCggUEhPTkcgKVxuXHRcdCNkZWZpbmUgRU5WX1dPUkxEUE9TXG5cdCNlbmRpZlxuXHQjaWZkZWYgRU5WX1dPUkxEUE9TXG5cdFx0dmFyeWluZyB2ZWMzIHZXb3JsZFBvc2l0aW9uO1xuXHRcdHVuaWZvcm0gZmxvYXQgcmVmcmFjdGlvblJhdGlvO1xuXHQjZWxzZVxuXHRcdHZhcnlpbmcgdmVjMyB2UmVmbGVjdDtcblx0I2VuZGlmXG4jZW5kaWYiLGVudm1hcF9wYXJzX3ZlcnRleDoiI2lmZGVmIFVTRV9FTlZNQVBcblx0I2lmIGRlZmluZWQoIFVTRV9CVU1QTUFQICkgfHwgZGVmaW5lZCggVVNFX05PUk1BTE1BUCApIHx8ZGVmaW5lZCggUEhPTkcgKVxuXHRcdCNkZWZpbmUgRU5WX1dPUkxEUE9TXG5cdCNlbmRpZlxuXHQjaWZkZWYgRU5WX1dPUkxEUE9TXG5cdFx0XG5cdFx0dmFyeWluZyB2ZWMzIHZXb3JsZFBvc2l0aW9uO1xuXHQjZWxzZVxuXHRcdHZhcnlpbmcgdmVjMyB2UmVmbGVjdDtcblx0XHR1bmlmb3JtIGZsb2F0IHJlZnJhY3Rpb25SYXRpbztcblx0I2VuZGlmXG4jZW5kaWYiLGVudm1hcF9waHlzaWNhbF9wYXJzX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVVNFX0VOVk1BUCApXG5cdCNpZmRlZiBFTlZNQVBfTU9ERV9SRUZSQUNUSU9OXG5cdFx0dW5pZm9ybSBmbG9hdCByZWZyYWN0aW9uUmF0aW87XG5cdCNlbmRpZlxuXHR2ZWMzIGdldExpZ2h0UHJvYmVJbmRpcmVjdElycmFkaWFuY2UoIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIGludCBtYXhNSVBMZXZlbCApIHtcblx0XHR2ZWMzIHdvcmxkTm9ybWFsID0gaW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiggZ2VvbWV0cnkubm9ybWFsLCB2aWV3TWF0cml4ICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHRcdHZlYzMgcXVlcnlWZWMgPSB2ZWMzKCBmbGlwRW52TWFwICogd29ybGROb3JtYWwueCwgd29ybGROb3JtYWwueXogKTtcblx0XHRcdCNpZmRlZiBURVhUVVJFX0xPRF9FWFRcblx0XHRcdFx0dmVjNCBlbnZNYXBDb2xvciA9IHRleHR1cmVDdWJlTG9kRVhUKCBlbnZNYXAsIHF1ZXJ5VmVjLCBmbG9hdCggbWF4TUlQTGV2ZWwgKSApO1xuXHRcdFx0I2Vsc2Vcblx0XHRcdFx0dmVjNCBlbnZNYXBDb2xvciA9IHRleHR1cmVDdWJlKCBlbnZNYXAsIHF1ZXJ5VmVjLCBmbG9hdCggbWF4TUlQTGV2ZWwgKSApO1xuXHRcdFx0I2VuZGlmXG5cdFx0XHRlbnZNYXBDb2xvci5yZ2IgPSBlbnZNYXBUZXhlbFRvTGluZWFyKCBlbnZNYXBDb2xvciApLnJnYjtcblx0XHQjZWxpZiBkZWZpbmVkKCBFTlZNQVBfVFlQRV9DVUJFX1VWIClcblx0XHRcdHZlYzQgZW52TWFwQ29sb3IgPSB0ZXh0dXJlQ3ViZVVWKCBlbnZNYXAsIHdvcmxkTm9ybWFsLCAxLjAgKTtcblx0XHQjZWxzZVxuXHRcdFx0dmVjNCBlbnZNYXBDb2xvciA9IHZlYzQoIDAuMCApO1xuXHRcdCNlbmRpZlxuXHRcdHJldHVybiBQSSAqIGVudk1hcENvbG9yLnJnYiAqIGVudk1hcEludGVuc2l0eTtcblx0fVxuXHRmbG9hdCBnZXRTcGVjdWxhck1JUExldmVsKCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MsIGNvbnN0IGluIGludCBtYXhNSVBMZXZlbCApIHtcblx0XHRmbG9hdCBtYXhNSVBMZXZlbFNjYWxhciA9IGZsb2F0KCBtYXhNSVBMZXZlbCApO1xuXHRcdGZsb2F0IHNpZ21hID0gUEkgKiByb3VnaG5lc3MgKiByb3VnaG5lc3MgLyAoIDEuMCArIHJvdWdobmVzcyApO1xuXHRcdGZsb2F0IGRlc2lyZWRNSVBMZXZlbCA9IG1heE1JUExldmVsU2NhbGFyICsgbG9nMiggc2lnbWEgKTtcblx0XHRyZXR1cm4gY2xhbXAoIGRlc2lyZWRNSVBMZXZlbCwgMC4wLCBtYXhNSVBMZXZlbFNjYWxhciApO1xuXHR9XG5cdHZlYzMgZ2V0TGlnaHRQcm9iZUluZGlyZWN0UmFkaWFuY2UoIGNvbnN0IGluIHZlYzMgdmlld0RpciwgY29uc3QgaW4gdmVjMyBub3JtYWwsIGNvbnN0IGluIGZsb2F0IHJvdWdobmVzcywgY29uc3QgaW4gaW50IG1heE1JUExldmVsICkge1xuXHRcdCNpZmRlZiBFTlZNQVBfTU9ERV9SRUZMRUNUSU9OXG5cdFx0XHR2ZWMzIHJlZmxlY3RWZWMgPSByZWZsZWN0KCAtdmlld0Rpciwgbm9ybWFsICk7XG5cdFx0XHRyZWZsZWN0VmVjID0gbm9ybWFsaXplKCBtaXgoIHJlZmxlY3RWZWMsIG5vcm1hbCwgcm91Z2huZXNzICogcm91Z2huZXNzKSApO1xuXHRcdCNlbHNlXG5cdFx0XHR2ZWMzIHJlZmxlY3RWZWMgPSByZWZyYWN0KCAtdmlld0Rpciwgbm9ybWFsLCByZWZyYWN0aW9uUmF0aW8gKTtcblx0XHQjZW5kaWZcblx0XHRyZWZsZWN0VmVjID0gaW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiggcmVmbGVjdFZlYywgdmlld01hdHJpeCApO1xuXHRcdGZsb2F0IHNwZWN1bGFyTUlQTGV2ZWwgPSBnZXRTcGVjdWxhck1JUExldmVsKCByb3VnaG5lc3MsIG1heE1JUExldmVsICk7XG5cdFx0I2lmZGVmIEVOVk1BUF9UWVBFX0NVQkVcblx0XHRcdHZlYzMgcXVlcnlSZWZsZWN0VmVjID0gdmVjMyggZmxpcEVudk1hcCAqIHJlZmxlY3RWZWMueCwgcmVmbGVjdFZlYy55eiApO1xuXHRcdFx0I2lmZGVmIFRFWFRVUkVfTE9EX0VYVFxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yID0gdGV4dHVyZUN1YmVMb2RFWFQoIGVudk1hcCwgcXVlcnlSZWZsZWN0VmVjLCBzcGVjdWxhck1JUExldmVsICk7XG5cdFx0XHQjZWxzZVxuXHRcdFx0XHR2ZWM0IGVudk1hcENvbG9yID0gdGV4dHVyZUN1YmUoIGVudk1hcCwgcXVlcnlSZWZsZWN0VmVjLCBzcGVjdWxhck1JUExldmVsICk7XG5cdFx0XHQjZW5kaWZcblx0XHRcdGVudk1hcENvbG9yLnJnYiA9IGVudk1hcFRleGVsVG9MaW5lYXIoIGVudk1hcENvbG9yICkucmdiO1xuXHRcdCNlbGlmIGRlZmluZWQoIEVOVk1BUF9UWVBFX0NVQkVfVVYgKVxuXHRcdFx0dmVjNCBlbnZNYXBDb2xvciA9IHRleHR1cmVDdWJlVVYoIGVudk1hcCwgcmVmbGVjdFZlYywgcm91Z2huZXNzICk7XG5cdFx0I2VuZGlmXG5cdFx0cmV0dXJuIGVudk1hcENvbG9yLnJnYiAqIGVudk1hcEludGVuc2l0eTtcblx0fVxuI2VuZGlmIixlbnZtYXBfdmVydGV4OiIjaWZkZWYgVVNFX0VOVk1BUFxuXHQjaWZkZWYgRU5WX1dPUkxEUE9TXG5cdFx0dldvcmxkUG9zaXRpb24gPSB3b3JsZFBvc2l0aW9uLnh5ejtcblx0I2Vsc2Vcblx0XHR2ZWMzIGNhbWVyYVRvVmVydGV4O1xuXHRcdGlmICggaXNPcnRob2dyYXBoaWMgKSB7XG5cdFx0XHRjYW1lcmFUb1ZlcnRleCA9IG5vcm1hbGl6ZSggdmVjMyggLSB2aWV3TWF0cml4WyAwIF1bIDIgXSwgLSB2aWV3TWF0cml4WyAxIF1bIDIgXSwgLSB2aWV3TWF0cml4WyAyIF1bIDIgXSApICk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNhbWVyYVRvVmVydGV4ID0gbm9ybWFsaXplKCB3b3JsZFBvc2l0aW9uLnh5eiAtIGNhbWVyYVBvc2l0aW9uICk7XG5cdFx0fVxuXHRcdHZlYzMgd29ybGROb3JtYWwgPSBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCB0cmFuc2Zvcm1lZE5vcm1hbCwgdmlld01hdHJpeCApO1xuXHRcdCNpZmRlZiBFTlZNQVBfTU9ERV9SRUZMRUNUSU9OXG5cdFx0XHR2UmVmbGVjdCA9IHJlZmxlY3QoIGNhbWVyYVRvVmVydGV4LCB3b3JsZE5vcm1hbCApO1xuXHRcdCNlbHNlXG5cdFx0XHR2UmVmbGVjdCA9IHJlZnJhY3QoIGNhbWVyYVRvVmVydGV4LCB3b3JsZE5vcm1hbCwgcmVmcmFjdGlvblJhdGlvICk7XG5cdFx0I2VuZGlmXG5cdCNlbmRpZlxuI2VuZGlmIixmb2dfdmVydGV4OiIjaWZkZWYgVVNFX0ZPR1xuXHRmb2dEZXB0aCA9IC0gbXZQb3NpdGlvbi56O1xuI2VuZGlmIixmb2dfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfRk9HXG5cdHZhcnlpbmcgZmxvYXQgZm9nRGVwdGg7XG4jZW5kaWYiLGZvZ19mcmFnbWVudDoiI2lmZGVmIFVTRV9GT0dcblx0I2lmZGVmIEZPR19FWFAyXG5cdFx0ZmxvYXQgZm9nRmFjdG9yID0gMS4wIC0gZXhwKCAtIGZvZ0RlbnNpdHkgKiBmb2dEZW5zaXR5ICogZm9nRGVwdGggKiBmb2dEZXB0aCApO1xuXHQjZWxzZVxuXHRcdGZsb2F0IGZvZ0ZhY3RvciA9IHNtb290aHN0ZXAoIGZvZ05lYXIsIGZvZ0ZhciwgZm9nRGVwdGggKTtcblx0I2VuZGlmXG5cdGdsX0ZyYWdDb2xvci5yZ2IgPSBtaXgoIGdsX0ZyYWdDb2xvci5yZ2IsIGZvZ0NvbG9yLCBmb2dGYWN0b3IgKTtcbiNlbmRpZiIsZm9nX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfRk9HXG5cdHVuaWZvcm0gdmVjMyBmb2dDb2xvcjtcblx0dmFyeWluZyBmbG9hdCBmb2dEZXB0aDtcblx0I2lmZGVmIEZPR19FWFAyXG5cdFx0dW5pZm9ybSBmbG9hdCBmb2dEZW5zaXR5O1xuXHQjZWxzZVxuXHRcdHVuaWZvcm0gZmxvYXQgZm9nTmVhcjtcblx0XHR1bmlmb3JtIGZsb2F0IGZvZ0Zhcjtcblx0I2VuZGlmXG4jZW5kaWYiLGdyYWRpZW50bWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfR1JBRElFTlRNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgZ3JhZGllbnRNYXA7XG4jZW5kaWZcbnZlYzMgZ2V0R3JhZGllbnRJcnJhZGlhbmNlKCB2ZWMzIG5vcm1hbCwgdmVjMyBsaWdodERpcmVjdGlvbiApIHtcblx0ZmxvYXQgZG90TkwgPSBkb3QoIG5vcm1hbCwgbGlnaHREaXJlY3Rpb24gKTtcblx0dmVjMiBjb29yZCA9IHZlYzIoIGRvdE5MICogMC41ICsgMC41LCAwLjAgKTtcblx0I2lmZGVmIFVTRV9HUkFESUVOVE1BUFxuXHRcdHJldHVybiB0ZXh0dXJlMkQoIGdyYWRpZW50TWFwLCBjb29yZCApLnJnYjtcblx0I2Vsc2Vcblx0XHRyZXR1cm4gKCBjb29yZC54IDwgMC43ICkgPyB2ZWMzKCAwLjcgKSA6IHZlYzMoIDEuMCApO1xuXHQjZW5kaWZcbn0iLGxpZ2h0bWFwX2ZyYWdtZW50OiIjaWZkZWYgVVNFX0xJR0hUTUFQXG5cdHZlYzQgbGlnaHRNYXBUZXhlbD0gdGV4dHVyZTJEKCBsaWdodE1hcCwgdlV2MiApO1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKz0gUEkgKiBsaWdodE1hcFRleGVsVG9MaW5lYXIoIGxpZ2h0TWFwVGV4ZWwgKS5yZ2IgKiBsaWdodE1hcEludGVuc2l0eTtcbiNlbmRpZiIsbGlnaHRtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9MSUdIVE1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBsaWdodE1hcDtcblx0dW5pZm9ybSBmbG9hdCBsaWdodE1hcEludGVuc2l0eTtcbiNlbmRpZiIsbGlnaHRzX2xhbWJlcnRfdmVydGV4OiJ2ZWMzIGRpZmZ1c2UgPSB2ZWMzKCAxLjAgKTtcbkdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnk7XG5nZW9tZXRyeS5wb3NpdGlvbiA9IG12UG9zaXRpb24ueHl6O1xuZ2VvbWV0cnkubm9ybWFsID0gbm9ybWFsaXplKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xuZ2VvbWV0cnkudmlld0RpciA9ICggaXNPcnRob2dyYXBoaWMgKSA/IHZlYzMoIDAsIDAsIDEgKSA6IG5vcm1hbGl6ZSggLW12UG9zaXRpb24ueHl6ICk7XG5HZW9tZXRyaWNDb250ZXh0IGJhY2tHZW9tZXRyeTtcbmJhY2tHZW9tZXRyeS5wb3NpdGlvbiA9IGdlb21ldHJ5LnBvc2l0aW9uO1xuYmFja0dlb21ldHJ5Lm5vcm1hbCA9IC1nZW9tZXRyeS5ub3JtYWw7XG5iYWNrR2VvbWV0cnkudmlld0RpciA9IGdlb21ldHJ5LnZpZXdEaXI7XG52TGlnaHRGcm9udCA9IHZlYzMoIDAuMCApO1xudkluZGlyZWN0RnJvbnQgPSB2ZWMzKCAwLjAgKTtcbiNpZmRlZiBET1VCTEVfU0lERURcblx0dkxpZ2h0QmFjayA9IHZlYzMoIDAuMCApO1xuXHR2SW5kaXJlY3RCYWNrID0gdmVjMyggMC4wICk7XG4jZW5kaWZcbkluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQ7XG5mbG9hdCBkb3ROTDtcbnZlYzMgZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xudkluZGlyZWN0RnJvbnQgKz0gZ2V0QW1iaWVudExpZ2h0SXJyYWRpYW5jZSggYW1iaWVudExpZ2h0Q29sb3IgKTtcbnZJbmRpcmVjdEZyb250ICs9IGdldExpZ2h0UHJvYmVJcnJhZGlhbmNlKCBsaWdodFByb2JlLCBnZW9tZXRyeSApO1xuI2lmZGVmIERPVUJMRV9TSURFRFxuXHR2SW5kaXJlY3RCYWNrICs9IGdldEFtYmllbnRMaWdodElycmFkaWFuY2UoIGFtYmllbnRMaWdodENvbG9yICk7XG5cdHZJbmRpcmVjdEJhY2sgKz0gZ2V0TGlnaHRQcm9iZUlycmFkaWFuY2UoIGxpZ2h0UHJvYmUsIGJhY2tHZW9tZXRyeSApO1xuI2VuZGlmXG4jaWYgTlVNX1BPSU5UX0xJR0hUUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fUE9JTlRfTElHSFRTOyBpICsrICkge1xuXHRcdGdldFBvaW50RGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBwb2ludExpZ2h0c1sgaSBdLCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcblx0XHRkb3ROTCA9IGRvdCggZ2VvbWV0cnkubm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKTtcblx0XHRkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2UgPSBQSSAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHRcdHZMaWdodEZyb250ICs9IHNhdHVyYXRlKCBkb3ROTCApICogZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHZMaWdodEJhY2sgKz0gc2F0dXJhdGUoIC1kb3ROTCApICogZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlO1xuXHRcdCNlbmRpZlxuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG4jZW5kaWZcbiNpZiBOVU1fU1BPVF9MSUdIVFMgPiAwXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgTlVNX1NQT1RfTElHSFRTOyBpICsrICkge1xuXHRcdGdldFNwb3REaXJlY3RMaWdodElycmFkaWFuY2UoIHNwb3RMaWdodHNbIGkgXSwgZ2VvbWV0cnksIGRpcmVjdExpZ2h0ICk7XG5cdFx0ZG90TkwgPSBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICk7XG5cdFx0ZGlyZWN0TGlnaHRDb2xvcl9EaWZmdXNlID0gUEkgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0XHR2TGlnaHRGcm9udCArPSBzYXR1cmF0ZSggZG90TkwgKSAqIGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZTtcblx0XHQjaWZkZWYgRE9VQkxFX1NJREVEXG5cdFx0XHR2TGlnaHRCYWNrICs9IHNhdHVyYXRlKCAtZG90TkwgKSAqIGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZTtcblx0XHQjZW5kaWZcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuI2VuZGlmXG4jaWYgTlVNX0RJUl9MSUdIVFMgPiAwXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgTlVNX0RJUl9MSUdIVFM7IGkgKysgKSB7XG5cdFx0Z2V0RGlyZWN0aW9uYWxEaXJlY3RMaWdodElycmFkaWFuY2UoIGRpcmVjdGlvbmFsTGlnaHRzWyBpIF0sIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdGRvdE5MID0gZG90KCBnZW9tZXRyeS5ub3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApO1xuXHRcdGRpcmVjdExpZ2h0Q29sb3JfRGlmZnVzZSA9IFBJICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdFx0dkxpZ2h0RnJvbnQgKz0gc2F0dXJhdGUoIGRvdE5MICkgKiBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG5cdFx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdFx0dkxpZ2h0QmFjayArPSBzYXR1cmF0ZSggLWRvdE5MICkgKiBkaXJlY3RMaWdodENvbG9yX0RpZmZ1c2U7XG5cdFx0I2VuZGlmXG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcbiNlbmRpZlxuI2lmIE5VTV9IRU1JX0xJR0hUUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fSEVNSV9MSUdIVFM7IGkgKysgKSB7XG5cdFx0dkluZGlyZWN0RnJvbnQgKz0gZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBnZW9tZXRyeSApO1xuXHRcdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRcdHZJbmRpcmVjdEJhY2sgKz0gZ2V0SGVtaXNwaGVyZUxpZ2h0SXJyYWRpYW5jZSggaGVtaXNwaGVyZUxpZ2h0c1sgaSBdLCBiYWNrR2VvbWV0cnkgKTtcblx0XHQjZW5kaWZcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuI2VuZGlmIixsaWdodHNfcGFyc19iZWdpbjoidW5pZm9ybSBib29sIHJlY2VpdmVTaGFkb3c7XG51bmlmb3JtIHZlYzMgYW1iaWVudExpZ2h0Q29sb3I7XG51bmlmb3JtIHZlYzMgbGlnaHRQcm9iZVsgOSBdO1xudmVjMyBzaEdldElycmFkaWFuY2VBdCggaW4gdmVjMyBub3JtYWwsIGluIHZlYzMgc2hDb2VmZmljaWVudHNbIDkgXSApIHtcblx0ZmxvYXQgeCA9IG5vcm1hbC54LCB5ID0gbm9ybWFsLnksIHogPSBub3JtYWwuejtcblx0dmVjMyByZXN1bHQgPSBzaENvZWZmaWNpZW50c1sgMCBdICogMC44ODYyMjc7XG5cdHJlc3VsdCArPSBzaENvZWZmaWNpZW50c1sgMSBdICogMi4wICogMC41MTE2NjQgKiB5O1xuXHRyZXN1bHQgKz0gc2hDb2VmZmljaWVudHNbIDIgXSAqIDIuMCAqIDAuNTExNjY0ICogejtcblx0cmVzdWx0ICs9IHNoQ29lZmZpY2llbnRzWyAzIF0gKiAyLjAgKiAwLjUxMTY2NCAqIHg7XG5cdHJlc3VsdCArPSBzaENvZWZmaWNpZW50c1sgNCBdICogMi4wICogMC40MjkwNDMgKiB4ICogeTtcblx0cmVzdWx0ICs9IHNoQ29lZmZpY2llbnRzWyA1IF0gKiAyLjAgKiAwLjQyOTA0MyAqIHkgKiB6O1xuXHRyZXN1bHQgKz0gc2hDb2VmZmljaWVudHNbIDYgXSAqICggMC43NDMxMjUgKiB6ICogeiAtIDAuMjQ3NzA4ICk7XG5cdHJlc3VsdCArPSBzaENvZWZmaWNpZW50c1sgNyBdICogMi4wICogMC40MjkwNDMgKiB4ICogejtcblx0cmVzdWx0ICs9IHNoQ29lZmZpY2llbnRzWyA4IF0gKiAwLjQyOTA0MyAqICggeCAqIHggLSB5ICogeSApO1xuXHRyZXR1cm4gcmVzdWx0O1xufVxudmVjMyBnZXRMaWdodFByb2JlSXJyYWRpYW5jZSggY29uc3QgaW4gdmVjMyBsaWdodFByb2JlWyA5IF0sIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnkgKSB7XG5cdHZlYzMgd29ybGROb3JtYWwgPSBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBnZW9tZXRyeS5ub3JtYWwsIHZpZXdNYXRyaXggKTtcblx0dmVjMyBpcnJhZGlhbmNlID0gc2hHZXRJcnJhZGlhbmNlQXQoIHdvcmxkTm9ybWFsLCBsaWdodFByb2JlICk7XG5cdHJldHVybiBpcnJhZGlhbmNlO1xufVxudmVjMyBnZXRBbWJpZW50TGlnaHRJcnJhZGlhbmNlKCBjb25zdCBpbiB2ZWMzIGFtYmllbnRMaWdodENvbG9yICkge1xuXHR2ZWMzIGlycmFkaWFuY2UgPSBhbWJpZW50TGlnaHRDb2xvcjtcblx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0aXJyYWRpYW5jZSAqPSBQSTtcblx0I2VuZGlmXG5cdHJldHVybiBpcnJhZGlhbmNlO1xufVxuI2lmIE5VTV9ESVJfTElHSFRTID4gMFxuXHRzdHJ1Y3QgRGlyZWN0aW9uYWxMaWdodCB7XG5cdFx0dmVjMyBkaXJlY3Rpb247XG5cdFx0dmVjMyBjb2xvcjtcblx0fTtcblx0dW5pZm9ybSBEaXJlY3Rpb25hbExpZ2h0IGRpcmVjdGlvbmFsTGlnaHRzWyBOVU1fRElSX0xJR0hUUyBdO1xuXHR2b2lkIGdldERpcmVjdGlvbmFsRGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBjb25zdCBpbiBEaXJlY3Rpb25hbExpZ2h0IGRpcmVjdGlvbmFsTGlnaHQsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIG91dCBJbmNpZGVudExpZ2h0IGRpcmVjdExpZ2h0ICkge1xuXHRcdGRpcmVjdExpZ2h0LmNvbG9yID0gZGlyZWN0aW9uYWxMaWdodC5jb2xvcjtcblx0XHRkaXJlY3RMaWdodC5kaXJlY3Rpb24gPSBkaXJlY3Rpb25hbExpZ2h0LmRpcmVjdGlvbjtcblx0XHRkaXJlY3RMaWdodC52aXNpYmxlID0gdHJ1ZTtcblx0fVxuI2VuZGlmXG4jaWYgTlVNX1BPSU5UX0xJR0hUUyA+IDBcblx0c3RydWN0IFBvaW50TGlnaHQge1xuXHRcdHZlYzMgcG9zaXRpb247XG5cdFx0dmVjMyBjb2xvcjtcblx0XHRmbG9hdCBkaXN0YW5jZTtcblx0XHRmbG9hdCBkZWNheTtcblx0fTtcblx0dW5pZm9ybSBQb2ludExpZ2h0IHBvaW50TGlnaHRzWyBOVU1fUE9JTlRfTElHSFRTIF07XG5cdHZvaWQgZ2V0UG9pbnREaXJlY3RMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIFBvaW50TGlnaHQgcG9pbnRMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgb3V0IEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQgKSB7XG5cdFx0dmVjMyBsVmVjdG9yID0gcG9pbnRMaWdodC5wb3NpdGlvbiAtIGdlb21ldHJ5LnBvc2l0aW9uO1xuXHRcdGRpcmVjdExpZ2h0LmRpcmVjdGlvbiA9IG5vcm1hbGl6ZSggbFZlY3RvciApO1xuXHRcdGZsb2F0IGxpZ2h0RGlzdGFuY2UgPSBsZW5ndGgoIGxWZWN0b3IgKTtcblx0XHRkaXJlY3RMaWdodC5jb2xvciA9IHBvaW50TGlnaHQuY29sb3I7XG5cdFx0ZGlyZWN0TGlnaHQuY29sb3IgKj0gcHVuY3R1YWxMaWdodEludGVuc2l0eVRvSXJyYWRpYW5jZUZhY3RvciggbGlnaHREaXN0YW5jZSwgcG9pbnRMaWdodC5kaXN0YW5jZSwgcG9pbnRMaWdodC5kZWNheSApO1xuXHRcdGRpcmVjdExpZ2h0LnZpc2libGUgPSAoIGRpcmVjdExpZ2h0LmNvbG9yICE9IHZlYzMoIDAuMCApICk7XG5cdH1cbiNlbmRpZlxuI2lmIE5VTV9TUE9UX0xJR0hUUyA+IDBcblx0c3RydWN0IFNwb3RMaWdodCB7XG5cdFx0dmVjMyBwb3NpdGlvbjtcblx0XHR2ZWMzIGRpcmVjdGlvbjtcblx0XHR2ZWMzIGNvbG9yO1xuXHRcdGZsb2F0IGRpc3RhbmNlO1xuXHRcdGZsb2F0IGRlY2F5O1xuXHRcdGZsb2F0IGNvbmVDb3M7XG5cdFx0ZmxvYXQgcGVudW1icmFDb3M7XG5cdH07XG5cdHVuaWZvcm0gU3BvdExpZ2h0IHNwb3RMaWdodHNbIE5VTV9TUE9UX0xJR0hUUyBdO1xuXHR2b2lkIGdldFNwb3REaXJlY3RMaWdodElycmFkaWFuY2UoIGNvbnN0IGluIFNwb3RMaWdodCBzcG90TGlnaHQsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIG91dCBJbmNpZGVudExpZ2h0IGRpcmVjdExpZ2h0ICkge1xuXHRcdHZlYzMgbFZlY3RvciA9IHNwb3RMaWdodC5wb3NpdGlvbiAtIGdlb21ldHJ5LnBvc2l0aW9uO1xuXHRcdGRpcmVjdExpZ2h0LmRpcmVjdGlvbiA9IG5vcm1hbGl6ZSggbFZlY3RvciApO1xuXHRcdGZsb2F0IGxpZ2h0RGlzdGFuY2UgPSBsZW5ndGgoIGxWZWN0b3IgKTtcblx0XHRmbG9hdCBhbmdsZUNvcyA9IGRvdCggZGlyZWN0TGlnaHQuZGlyZWN0aW9uLCBzcG90TGlnaHQuZGlyZWN0aW9uICk7XG5cdFx0aWYgKCBhbmdsZUNvcyA+IHNwb3RMaWdodC5jb25lQ29zICkge1xuXHRcdFx0ZmxvYXQgc3BvdEVmZmVjdCA9IHNtb290aHN0ZXAoIHNwb3RMaWdodC5jb25lQ29zLCBzcG90TGlnaHQucGVudW1icmFDb3MsIGFuZ2xlQ29zICk7XG5cdFx0XHRkaXJlY3RMaWdodC5jb2xvciA9IHNwb3RMaWdodC5jb2xvcjtcblx0XHRcdGRpcmVjdExpZ2h0LmNvbG9yICo9IHNwb3RFZmZlY3QgKiBwdW5jdHVhbExpZ2h0SW50ZW5zaXR5VG9JcnJhZGlhbmNlRmFjdG9yKCBsaWdodERpc3RhbmNlLCBzcG90TGlnaHQuZGlzdGFuY2UsIHNwb3RMaWdodC5kZWNheSApO1xuXHRcdFx0ZGlyZWN0TGlnaHQudmlzaWJsZSA9IHRydWU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGRpcmVjdExpZ2h0LmNvbG9yID0gdmVjMyggMC4wICk7XG5cdFx0XHRkaXJlY3RMaWdodC52aXNpYmxlID0gZmFsc2U7XG5cdFx0fVxuXHR9XG4jZW5kaWZcbiNpZiBOVU1fUkVDVF9BUkVBX0xJR0hUUyA+IDBcblx0c3RydWN0IFJlY3RBcmVhTGlnaHQge1xuXHRcdHZlYzMgY29sb3I7XG5cdFx0dmVjMyBwb3NpdGlvbjtcblx0XHR2ZWMzIGhhbGZXaWR0aDtcblx0XHR2ZWMzIGhhbGZIZWlnaHQ7XG5cdH07XG5cdHVuaWZvcm0gc2FtcGxlcjJEIGx0Y18xO1x0dW5pZm9ybSBzYW1wbGVyMkQgbHRjXzI7XG5cdHVuaWZvcm0gUmVjdEFyZWFMaWdodCByZWN0QXJlYUxpZ2h0c1sgTlVNX1JFQ1RfQVJFQV9MSUdIVFMgXTtcbiNlbmRpZlxuI2lmIE5VTV9IRU1JX0xJR0hUUyA+IDBcblx0c3RydWN0IEhlbWlzcGhlcmVMaWdodCB7XG5cdFx0dmVjMyBkaXJlY3Rpb247XG5cdFx0dmVjMyBza3lDb2xvcjtcblx0XHR2ZWMzIGdyb3VuZENvbG9yO1xuXHR9O1xuXHR1bmlmb3JtIEhlbWlzcGhlcmVMaWdodCBoZW1pc3BoZXJlTGlnaHRzWyBOVU1fSEVNSV9MSUdIVFMgXTtcblx0dmVjMyBnZXRIZW1pc3BoZXJlTGlnaHRJcnJhZGlhbmNlKCBjb25zdCBpbiBIZW1pc3BoZXJlTGlnaHQgaGVtaUxpZ2h0LCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5ICkge1xuXHRcdGZsb2F0IGRvdE5MID0gZG90KCBnZW9tZXRyeS5ub3JtYWwsIGhlbWlMaWdodC5kaXJlY3Rpb24gKTtcblx0XHRmbG9hdCBoZW1pRGlmZnVzZVdlaWdodCA9IDAuNSAqIGRvdE5MICsgMC41O1xuXHRcdHZlYzMgaXJyYWRpYW5jZSA9IG1peCggaGVtaUxpZ2h0Lmdyb3VuZENvbG9yLCBoZW1pTGlnaHQuc2t5Q29sb3IsIGhlbWlEaWZmdXNlV2VpZ2h0ICk7XG5cdFx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0XHRpcnJhZGlhbmNlICo9IFBJO1xuXHRcdCNlbmRpZlxuXHRcdHJldHVybiBpcnJhZGlhbmNlO1xuXHR9XG4jZW5kaWYiLGxpZ2h0c190b29uX2ZyYWdtZW50OiJUb29uTWF0ZXJpYWwgbWF0ZXJpYWw7XG5tYXRlcmlhbC5kaWZmdXNlQ29sb3IgPSBkaWZmdXNlQ29sb3IucmdiOyIsbGlnaHRzX3Rvb25fcGFyc19mcmFnbWVudDoidmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuI2VuZGlmXG5zdHJ1Y3QgVG9vbk1hdGVyaWFsIHtcblx0dmVjMyBkaWZmdXNlQ29sb3I7XG59O1xudm9pZCBSRV9EaXJlY3RfVG9vbiggY29uc3QgaW4gSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gVG9vbk1hdGVyaWFsIG1hdGVyaWFsLCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCApIHtcblx0dmVjMyBpcnJhZGlhbmNlID0gZ2V0R3JhZGllbnRJcnJhZGlhbmNlKCBnZW9tZXRyeS5ub3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdCNpZm5kZWYgUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUU1xuXHRcdGlycmFkaWFuY2UgKj0gUEk7XG5cdCNlbmRpZlxuXHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICs9IGlycmFkaWFuY2UgKiBCUkRGX0RpZmZ1c2VfTGFtYmVydCggbWF0ZXJpYWwuZGlmZnVzZUNvbG9yICk7XG59XG52b2lkIFJFX0luZGlyZWN0RGlmZnVzZV9Ub29uKCBjb25zdCBpbiB2ZWMzIGlycmFkaWFuY2UsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIFRvb25NYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xufVxuI2RlZmluZSBSRV9EaXJlY3RcdFx0XHRcdFJFX0RpcmVjdF9Ub29uXG4jZGVmaW5lIFJFX0luZGlyZWN0RGlmZnVzZVx0XHRSRV9JbmRpcmVjdERpZmZ1c2VfVG9vblxuI2RlZmluZSBNYXRlcmlhbF9MaWdodFByb2JlTE9EKCBtYXRlcmlhbCApXHQoMCkiLGxpZ2h0c19waG9uZ19mcmFnbWVudDoiQmxpbm5QaG9uZ01hdGVyaWFsIG1hdGVyaWFsO1xubWF0ZXJpYWwuZGlmZnVzZUNvbG9yID0gZGlmZnVzZUNvbG9yLnJnYjtcbm1hdGVyaWFsLnNwZWN1bGFyQ29sb3IgPSBzcGVjdWxhcjtcbm1hdGVyaWFsLnNwZWN1bGFyU2hpbmluZXNzID0gc2hpbmluZXNzO1xubWF0ZXJpYWwuc3BlY3VsYXJTdHJlbmd0aCA9IHNwZWN1bGFyU3RyZW5ndGg7IixsaWdodHNfcGhvbmdfcGFyc19mcmFnbWVudDoidmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuI2VuZGlmXG5zdHJ1Y3QgQmxpbm5QaG9uZ01hdGVyaWFsIHtcblx0dmVjMyBkaWZmdXNlQ29sb3I7XG5cdHZlYzMgc3BlY3VsYXJDb2xvcjtcblx0ZmxvYXQgc3BlY3VsYXJTaGluaW5lc3M7XG5cdGZsb2F0IHNwZWN1bGFyU3RyZW5ndGg7XG59O1xudm9pZCBSRV9EaXJlY3RfQmxpbm5QaG9uZyggY29uc3QgaW4gSW5jaWRlbnRMaWdodCBkaXJlY3RMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gQmxpbm5QaG9uZ01hdGVyaWFsIG1hdGVyaWFsLCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCApIHtcblx0ZmxvYXQgZG90TkwgPSBzYXR1cmF0ZSggZG90KCBnZW9tZXRyeS5ub3JtYWwsIGRpcmVjdExpZ2h0LmRpcmVjdGlvbiApICk7XG5cdHZlYzMgaXJyYWRpYW5jZSA9IGRvdE5MICogZGlyZWN0TGlnaHQuY29sb3I7XG5cdCNpZm5kZWYgUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUU1xuXHRcdGlycmFkaWFuY2UgKj0gUEk7XG5cdCNlbmRpZlxuXHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICs9IGlycmFkaWFuY2UgKiBCUkRGX0RpZmZ1c2VfTGFtYmVydCggbWF0ZXJpYWwuZGlmZnVzZUNvbG9yICk7XG5cdHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyICs9IGlycmFkaWFuY2UgKiBCUkRGX1NwZWN1bGFyX0JsaW5uUGhvbmcoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwuc3BlY3VsYXJDb2xvciwgbWF0ZXJpYWwuc3BlY3VsYXJTaGluaW5lc3MgKSAqIG1hdGVyaWFsLnNwZWN1bGFyU3RyZW5ndGg7XG59XG52b2lkIFJFX0luZGlyZWN0RGlmZnVzZV9CbGlublBob25nKCBjb25zdCBpbiB2ZWMzIGlycmFkaWFuY2UsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIEJsaW5uUGhvbmdNYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSBpcnJhZGlhbmNlICogQlJERl9EaWZmdXNlX0xhbWJlcnQoIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciApO1xufVxuI2RlZmluZSBSRV9EaXJlY3RcdFx0XHRcdFJFX0RpcmVjdF9CbGlublBob25nXG4jZGVmaW5lIFJFX0luZGlyZWN0RGlmZnVzZVx0XHRSRV9JbmRpcmVjdERpZmZ1c2VfQmxpbm5QaG9uZ1xuI2RlZmluZSBNYXRlcmlhbF9MaWdodFByb2JlTE9EKCBtYXRlcmlhbCApXHQoMCkiLGxpZ2h0c19waHlzaWNhbF9mcmFnbWVudDoiUGh5c2ljYWxNYXRlcmlhbCBtYXRlcmlhbDtcbm1hdGVyaWFsLmRpZmZ1c2VDb2xvciA9IGRpZmZ1c2VDb2xvci5yZ2IgKiAoIDEuMCAtIG1ldGFsbmVzc0ZhY3RvciApO1xudmVjMyBkeHkgPSBtYXgoIGFicyggZEZkeCggZ2VvbWV0cnlOb3JtYWwgKSApLCBhYnMoIGRGZHkoIGdlb21ldHJ5Tm9ybWFsICkgKSApO1xuZmxvYXQgZ2VvbWV0cnlSb3VnaG5lc3MgPSBtYXgoIG1heCggZHh5LngsIGR4eS55ICksIGR4eS56ICk7XG5tYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyA9IG1heCggcm91Z2huZXNzRmFjdG9yLCAwLjA1MjUgKTttYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyArPSBnZW9tZXRyeVJvdWdobmVzcztcbm1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzID0gbWluKCBtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcywgMS4wICk7XG4jaWZkZWYgUkVGTEVDVElWSVRZXG5cdCNpZmRlZiBTUEVDVUxBUlxuXHRcdHZlYzMgc3BlY3VsYXJJbnRlbnNpdHlGYWN0b3IgPSB2ZWMzKCBzcGVjdWxhckludGVuc2l0eSApO1xuXHRcdHZlYzMgc3BlY3VsYXJUaW50RmFjdG9yID0gc3BlY3VsYXJUaW50O1xuXHRcdCNpZmRlZiBVU0VfU1BFQ1VMQVJJTlRFTlNJVFlNQVBcblx0XHRcdHNwZWN1bGFySW50ZW5zaXR5RmFjdG9yICo9IHRleHR1cmUyRCggc3BlY3VsYXJJbnRlbnNpdHlNYXAsIHZVdiApLmE7XG5cdFx0I2VuZGlmXG5cdFx0I2lmZGVmIFVTRV9TUEVDVUxBUlRJTlRNQVBcblx0XHRcdHNwZWN1bGFyVGludEZhY3RvciAqPSBzcGVjdWxhclRpbnRNYXBUZXhlbFRvTGluZWFyKCB0ZXh0dXJlMkQoIHNwZWN1bGFyVGludE1hcCwgdlV2ICkgKS5yZ2I7XG5cdFx0I2VuZGlmXG5cdFx0bWF0ZXJpYWwuc3BlY3VsYXJDb2xvckY5MCA9IG1peCggc3BlY3VsYXJJbnRlbnNpdHlGYWN0b3IsIHZlYzMoIDEuMCApLCBtZXRhbG5lc3NGYWN0b3IgKTtcblx0I2Vsc2Vcblx0XHR2ZWMzIHNwZWN1bGFySW50ZW5zaXR5RmFjdG9yID0gdmVjMyggMS4wICk7XG5cdFx0dmVjMyBzcGVjdWxhclRpbnRGYWN0b3IgPSB2ZWMzKCAxLjAgKTtcblx0XHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yRjkwID0gdmVjMyggMS4wICk7XG5cdCNlbmRpZlxuXHRtYXRlcmlhbC5zcGVjdWxhckNvbG9yID0gbWl4KCBtaW4oIHZlYzMoIE1BWElNVU1fU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKiBwb3cyKCByZWZsZWN0aXZpdHkgKSApICogc3BlY3VsYXJUaW50RmFjdG9yLCB2ZWMzKCAxLjAgKSApICogc3BlY3VsYXJJbnRlbnNpdHlGYWN0b3IsIGRpZmZ1c2VDb2xvci5yZ2IsIG1ldGFsbmVzc0ZhY3RvciApO1xuI2Vsc2Vcblx0bWF0ZXJpYWwuc3BlY3VsYXJDb2xvciA9IG1peCggdmVjMyggREVGQVVMVF9TUEVDVUxBUl9DT0VGRklDSUVOVCApLCBkaWZmdXNlQ29sb3IucmdiLCBtZXRhbG5lc3NGYWN0b3IgKTtcblx0bWF0ZXJpYWwuc3BlY3VsYXJDb2xvckY5MCA9IHZlYzMoIDEuMCApO1xuI2VuZGlmXG4jaWZkZWYgQ0xFQVJDT0FUXG5cdG1hdGVyaWFsLmNsZWFyY29hdCA9IGNsZWFyY29hdDtcblx0bWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzID0gY2xlYXJjb2F0Um91Z2huZXNzO1xuXHQjaWZkZWYgVVNFX0NMRUFSQ09BVE1BUFxuXHRcdG1hdGVyaWFsLmNsZWFyY29hdCAqPSB0ZXh0dXJlMkQoIGNsZWFyY29hdE1hcCwgdlV2ICkueDtcblx0I2VuZGlmXG5cdCNpZmRlZiBVU0VfQ0xFQVJDT0FUX1JPVUdITkVTU01BUFxuXHRcdG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcyAqPSB0ZXh0dXJlMkQoIGNsZWFyY29hdFJvdWdobmVzc01hcCwgdlV2ICkueTtcblx0I2VuZGlmXG5cdG1hdGVyaWFsLmNsZWFyY29hdCA9IHNhdHVyYXRlKCBtYXRlcmlhbC5jbGVhcmNvYXQgKTtcdG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcyA9IG1heCggbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzLCAwLjA1MjUgKTtcblx0bWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzICs9IGdlb21ldHJ5Um91Z2huZXNzO1xuXHRtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MgPSBtaW4oIG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcywgMS4wICk7XG4jZW5kaWZcbiNpZmRlZiBVU0VfU0hFRU5cblx0bWF0ZXJpYWwuc2hlZW5Db2xvciA9IHNoZWVuO1xuI2VuZGlmIixsaWdodHNfcGh5c2ljYWxfcGFyc19mcmFnbWVudDoic3RydWN0IFBoeXNpY2FsTWF0ZXJpYWwge1xuXHR2ZWMzIGRpZmZ1c2VDb2xvcjtcblx0ZmxvYXQgc3BlY3VsYXJSb3VnaG5lc3M7XG5cdHZlYzMgc3BlY3VsYXJDb2xvcjtcblx0dmVjMyBzcGVjdWxhckNvbG9yRjkwO1xuI2lmZGVmIENMRUFSQ09BVFxuXHRmbG9hdCBjbGVhcmNvYXQ7XG5cdGZsb2F0IGNsZWFyY29hdFJvdWdobmVzcztcbiNlbmRpZlxuI2lmZGVmIFVTRV9TSEVFTlxuXHR2ZWMzIHNoZWVuQ29sb3I7XG4jZW5kaWZcbn07XG4jZGVmaW5lIE1BWElNVU1fU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgMC4xNlxuI2RlZmluZSBERUZBVUxUX1NQRUNVTEFSX0NPRUZGSUNJRU5UIDAuMDRcbmZsb2F0IGNsZWFyY29hdERIUkFwcHJveCggY29uc3QgaW4gZmxvYXQgcm91Z2huZXNzLCBjb25zdCBpbiBmbG9hdCBkb3ROTCApIHtcblx0cmV0dXJuIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKyAoIDEuMCAtIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKSAqICggcG93KCAxLjAgLSBkb3ROTCwgNS4wICkgKiBwb3coIDEuMCAtIHJvdWdobmVzcywgMi4wICkgKTtcbn1cbiNpZiBOVU1fUkVDVF9BUkVBX0xJR0hUUyA+IDBcblx0dm9pZCBSRV9EaXJlY3RfUmVjdEFyZWFfUGh5c2ljYWwoIGNvbnN0IGluIFJlY3RBcmVhTGlnaHQgcmVjdEFyZWFMaWdodCwgY29uc3QgaW4gR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeSwgY29uc3QgaW4gUGh5c2ljYWxNYXRlcmlhbCBtYXRlcmlhbCwgaW5vdXQgUmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgKSB7XG5cdFx0dmVjMyBub3JtYWwgPSBnZW9tZXRyeS5ub3JtYWw7XG5cdFx0dmVjMyB2aWV3RGlyID0gZ2VvbWV0cnkudmlld0Rpcjtcblx0XHR2ZWMzIHBvc2l0aW9uID0gZ2VvbWV0cnkucG9zaXRpb247XG5cdFx0dmVjMyBsaWdodFBvcyA9IHJlY3RBcmVhTGlnaHQucG9zaXRpb247XG5cdFx0dmVjMyBoYWxmV2lkdGggPSByZWN0QXJlYUxpZ2h0LmhhbGZXaWR0aDtcblx0XHR2ZWMzIGhhbGZIZWlnaHQgPSByZWN0QXJlYUxpZ2h0LmhhbGZIZWlnaHQ7XG5cdFx0dmVjMyBsaWdodENvbG9yID0gcmVjdEFyZWFMaWdodC5jb2xvcjtcblx0XHRmbG9hdCByb3VnaG5lc3MgPSBtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcztcblx0XHR2ZWMzIHJlY3RDb29yZHNbIDQgXTtcblx0XHRyZWN0Q29vcmRzWyAwIF0gPSBsaWdodFBvcyArIGhhbGZXaWR0aCAtIGhhbGZIZWlnaHQ7XHRcdHJlY3RDb29yZHNbIDEgXSA9IGxpZ2h0UG9zIC0gaGFsZldpZHRoIC0gaGFsZkhlaWdodDtcblx0XHRyZWN0Q29vcmRzWyAyIF0gPSBsaWdodFBvcyAtIGhhbGZXaWR0aCArIGhhbGZIZWlnaHQ7XG5cdFx0cmVjdENvb3Jkc1sgMyBdID0gbGlnaHRQb3MgKyBoYWxmV2lkdGggKyBoYWxmSGVpZ2h0O1xuXHRcdHZlYzIgdXYgPSBMVENfVXYoIG5vcm1hbCwgdmlld0Rpciwgcm91Z2huZXNzICk7XG5cdFx0dmVjNCB0MSA9IHRleHR1cmUyRCggbHRjXzEsIHV2ICk7XG5cdFx0dmVjNCB0MiA9IHRleHR1cmUyRCggbHRjXzIsIHV2ICk7XG5cdFx0bWF0MyBtSW52ID0gbWF0Myhcblx0XHRcdHZlYzMoIHQxLngsIDAsIHQxLnkgKSxcblx0XHRcdHZlYzMoICAgIDAsIDEsICAgIDAgKSxcblx0XHRcdHZlYzMoIHQxLnosIDAsIHQxLncgKVxuXHRcdCk7XG5cdFx0dmVjMyBmcmVzbmVsID0gKCBtYXRlcmlhbC5zcGVjdWxhckNvbG9yICogdDIueCArICggdmVjMyggMS4wICkgLSBtYXRlcmlhbC5zcGVjdWxhckNvbG9yICkgKiB0Mi55ICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKz0gbGlnaHRDb2xvciAqIGZyZXNuZWwgKiBMVENfRXZhbHVhdGUoIG5vcm1hbCwgdmlld0RpciwgcG9zaXRpb24sIG1JbnYsIHJlY3RDb29yZHMgKTtcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICs9IGxpZ2h0Q29sb3IgKiBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKiBMVENfRXZhbHVhdGUoIG5vcm1hbCwgdmlld0RpciwgcG9zaXRpb24sIG1hdDMoIDEuMCApLCByZWN0Q29vcmRzICk7XG5cdH1cbiNlbmRpZlxudm9pZCBSRV9EaXJlY3RfUGh5c2ljYWwoIGNvbnN0IGluIEluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIFBoeXNpY2FsTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHRmbG9hdCBkb3ROTCA9IHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5Lm5vcm1hbCwgZGlyZWN0TGlnaHQuZGlyZWN0aW9uICkgKTtcblx0dmVjMyBpcnJhZGlhbmNlID0gZG90TkwgKiBkaXJlY3RMaWdodC5jb2xvcjtcblx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0aXJyYWRpYW5jZSAqPSBQSTtcblx0I2VuZGlmXG5cdCNpZmRlZiBDTEVBUkNPQVRcblx0XHRmbG9hdCBjY0RvdE5MID0gc2F0dXJhdGUoIGRvdCggZ2VvbWV0cnkuY2xlYXJjb2F0Tm9ybWFsLCBkaXJlY3RMaWdodC5kaXJlY3Rpb24gKSApO1xuXHRcdHZlYzMgY2NJcnJhZGlhbmNlID0gY2NEb3ROTCAqIGRpcmVjdExpZ2h0LmNvbG9yO1xuXHRcdCNpZm5kZWYgUEhZU0lDQUxMWV9DT1JSRUNUX0xJR0hUU1xuXHRcdFx0Y2NJcnJhZGlhbmNlICo9IFBJO1xuXHRcdCNlbmRpZlxuXHRcdGZsb2F0IGNsZWFyY29hdERIUiA9IG1hdGVyaWFsLmNsZWFyY29hdCAqIGNsZWFyY29hdERIUkFwcHJveCggbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzLCBjY0RvdE5MICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKz0gY2NJcnJhZGlhbmNlICogbWF0ZXJpYWwuY2xlYXJjb2F0ICogQlJERl9TcGVjdWxhcl9HR1goIGRpcmVjdExpZ2h0LCBnZW9tZXRyeS52aWV3RGlyLCBnZW9tZXRyeS5jbGVhcmNvYXROb3JtYWwsIHZlYzMoIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKSwgdmVjMyggMS4wICksIG1hdGVyaWFsLmNsZWFyY29hdFJvdWdobmVzcyApO1xuXHQjZWxzZVxuXHRcdGZsb2F0IGNsZWFyY29hdERIUiA9IDAuMDtcblx0I2VuZGlmXG5cdCNpZmRlZiBVU0VfU0hFRU5cblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3RTcGVjdWxhciArPSAoIDEuMCAtIGNsZWFyY29hdERIUiApICogaXJyYWRpYW5jZSAqIEJSREZfU3BlY3VsYXJfU2hlZW4oXG5cdFx0XHRtYXRlcmlhbC5zcGVjdWxhclJvdWdobmVzcyxcblx0XHRcdGRpcmVjdExpZ2h0LmRpcmVjdGlvbixcblx0XHRcdGdlb21ldHJ5LFxuXHRcdFx0bWF0ZXJpYWwuc2hlZW5Db2xvclxuXHRcdCk7XG5cdCNlbHNlXG5cdFx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0U3BlY3VsYXIgKz0gKCAxLjAgLSBjbGVhcmNvYXRESFIgKSAqIGlycmFkaWFuY2UgKiBCUkRGX1NwZWN1bGFyX0dHWCggZGlyZWN0TGlnaHQsIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5Lm5vcm1hbCwgbWF0ZXJpYWwuc3BlY3VsYXJDb2xvciwgbWF0ZXJpYWwuc3BlY3VsYXJDb2xvckY5MCwgbWF0ZXJpYWwuc3BlY3VsYXJSb3VnaG5lc3MpO1xuXHQjZW5kaWZcblx0cmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArPSAoIDEuMCAtIGNsZWFyY29hdERIUiApICogaXJyYWRpYW5jZSAqIEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKTtcbn1cbnZvaWQgUkVfSW5kaXJlY3REaWZmdXNlX1BoeXNpY2FsKCBjb25zdCBpbiB2ZWMzIGlycmFkaWFuY2UsIGNvbnN0IGluIEdlb21ldHJpY0NvbnRleHQgZ2VvbWV0cnksIGNvbnN0IGluIFBoeXNpY2FsTWF0ZXJpYWwgbWF0ZXJpYWwsIGlub3V0IFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ICkge1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKz0gaXJyYWRpYW5jZSAqIEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBtYXRlcmlhbC5kaWZmdXNlQ29sb3IgKTtcbn1cbnZvaWQgUkVfSW5kaXJlY3RTcGVjdWxhcl9QaHlzaWNhbCggY29uc3QgaW4gdmVjMyByYWRpYW5jZSwgY29uc3QgaW4gdmVjMyBpcnJhZGlhbmNlLCBjb25zdCBpbiB2ZWMzIGNsZWFyY29hdFJhZGlhbmNlLCBjb25zdCBpbiBHZW9tZXRyaWNDb250ZXh0IGdlb21ldHJ5LCBjb25zdCBpbiBQaHlzaWNhbE1hdGVyaWFsIG1hdGVyaWFsLCBpbm91dCBSZWZsZWN0ZWRMaWdodCByZWZsZWN0ZWRMaWdodCkge1xuXHQjaWZkZWYgQ0xFQVJDT0FUXG5cdFx0ZmxvYXQgY2NEb3ROViA9IHNhdHVyYXRlKCBkb3QoIGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCwgZ2VvbWV0cnkudmlld0RpciApICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3RTcGVjdWxhciArPSBjbGVhcmNvYXRSYWRpYW5jZSAqIG1hdGVyaWFsLmNsZWFyY29hdCAqIEJSREZfU3BlY3VsYXJfR0dYX0Vudmlyb25tZW50KCBnZW9tZXRyeS52aWV3RGlyLCBnZW9tZXRyeS5jbGVhcmNvYXROb3JtYWwsIHZlYzMoIERFRkFVTFRfU1BFQ1VMQVJfQ09FRkZJQ0lFTlQgKSwgbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzICk7XG5cdFx0ZmxvYXQgY2NEb3ROTCA9IGNjRG90TlY7XG5cdFx0ZmxvYXQgY2xlYXJjb2F0REhSID0gbWF0ZXJpYWwuY2xlYXJjb2F0ICogY2xlYXJjb2F0REhSQXBwcm94KCBtYXRlcmlhbC5jbGVhcmNvYXRSb3VnaG5lc3MsIGNjRG90TkwgKTtcblx0I2Vsc2Vcblx0XHRmbG9hdCBjbGVhcmNvYXRESFIgPSAwLjA7XG5cdCNlbmRpZlxuXHRmbG9hdCBjbGVhcmNvYXRJbnYgPSAxLjAgLSBjbGVhcmNvYXRESFI7XG5cdHZlYzMgc2luZ2xlU2NhdHRlcmluZyA9IHZlYzMoIDAuMCApO1xuXHR2ZWMzIG11bHRpU2NhdHRlcmluZyA9IHZlYzMoIDAuMCApO1xuXHR2ZWMzIGNvc2luZVdlaWdodGVkSXJyYWRpYW5jZSA9IGlycmFkaWFuY2UgKiBSRUNJUFJPQ0FMX1BJO1xuXHRCUkRGX1NwZWN1bGFyX011bHRpc2NhdHRlcmluZ19FbnZpcm9ubWVudCggZ2VvbWV0cnksIG1hdGVyaWFsLnNwZWN1bGFyQ29sb3IsIG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzLCBzaW5nbGVTY2F0dGVyaW5nLCBtdWx0aVNjYXR0ZXJpbmcgKTtcblx0dmVjMyBkaWZmdXNlID0gbWF0ZXJpYWwuZGlmZnVzZUNvbG9yICogKCAxLjAgLSAoIHNpbmdsZVNjYXR0ZXJpbmcgKyBtdWx0aVNjYXR0ZXJpbmcgKSApO1xuXHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdFNwZWN1bGFyICs9IGNsZWFyY29hdEludiAqIHJhZGlhbmNlICogc2luZ2xlU2NhdHRlcmluZztcblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3RTcGVjdWxhciArPSBtdWx0aVNjYXR0ZXJpbmcgKiBjb3NpbmVXZWlnaHRlZElycmFkaWFuY2U7XG5cdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSBkaWZmdXNlICogY29zaW5lV2VpZ2h0ZWRJcnJhZGlhbmNlO1xufVxuI2RlZmluZSBSRV9EaXJlY3RcdFx0XHRcdFJFX0RpcmVjdF9QaHlzaWNhbFxuI2RlZmluZSBSRV9EaXJlY3RfUmVjdEFyZWFcdFx0UkVfRGlyZWN0X1JlY3RBcmVhX1BoeXNpY2FsXG4jZGVmaW5lIFJFX0luZGlyZWN0RGlmZnVzZVx0XHRSRV9JbmRpcmVjdERpZmZ1c2VfUGh5c2ljYWxcbiNkZWZpbmUgUkVfSW5kaXJlY3RTcGVjdWxhclx0XHRSRV9JbmRpcmVjdFNwZWN1bGFyX1BoeXNpY2FsXG5mbG9hdCBjb21wdXRlU3BlY3VsYXJPY2NsdXNpb24oIGNvbnN0IGluIGZsb2F0IGRvdE5WLCBjb25zdCBpbiBmbG9hdCBhbWJpZW50T2NjbHVzaW9uLCBjb25zdCBpbiBmbG9hdCByb3VnaG5lc3MgKSB7XG5cdHJldHVybiBzYXR1cmF0ZSggcG93KCBkb3ROViArIGFtYmllbnRPY2NsdXNpb24sIGV4cDIoIC0gMTYuMCAqIHJvdWdobmVzcyAtIDEuMCApICkgLSAxLjAgKyBhbWJpZW50T2NjbHVzaW9uICk7XG59IixsaWdodHNfZnJhZ21lbnRfYmVnaW46IlxuR2VvbWV0cmljQ29udGV4dCBnZW9tZXRyeTtcbmdlb21ldHJ5LnBvc2l0aW9uID0gLSB2Vmlld1Bvc2l0aW9uO1xuZ2VvbWV0cnkubm9ybWFsID0gbm9ybWFsO1xuZ2VvbWV0cnkudmlld0RpciA9ICggaXNPcnRob2dyYXBoaWMgKSA/IHZlYzMoIDAsIDAsIDEgKSA6IG5vcm1hbGl6ZSggdlZpZXdQb3NpdGlvbiApO1xuI2lmZGVmIENMRUFSQ09BVFxuXHRnZW9tZXRyeS5jbGVhcmNvYXROb3JtYWwgPSBjbGVhcmNvYXROb3JtYWw7XG4jZW5kaWZcbkluY2lkZW50TGlnaHQgZGlyZWN0TGlnaHQ7XG4jaWYgKCBOVU1fUE9JTlRfTElHSFRTID4gMCApICYmIGRlZmluZWQoIFJFX0RpcmVjdCApXG5cdFBvaW50TGlnaHQgcG9pbnRMaWdodDtcblx0I2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyA+IDBcblx0UG9pbnRMaWdodFNoYWRvdyBwb2ludExpZ2h0U2hhZG93O1xuXHQjZW5kaWZcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fUE9JTlRfTElHSFRTOyBpICsrICkge1xuXHRcdHBvaW50TGlnaHQgPSBwb2ludExpZ2h0c1sgaSBdO1xuXHRcdGdldFBvaW50RGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBwb2ludExpZ2h0LCBnZW9tZXRyeSwgZGlyZWN0TGlnaHQgKTtcblx0XHQjaWYgZGVmaW5lZCggVVNFX1NIQURPV01BUCApICYmICggVU5ST0xMRURfTE9PUF9JTkRFWCA8IE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIClcblx0XHRwb2ludExpZ2h0U2hhZG93ID0gcG9pbnRMaWdodFNoYWRvd3NbIGkgXTtcblx0XHRkaXJlY3RMaWdodC5jb2xvciAqPSBhbGwoIGJ2ZWMyKCBkaXJlY3RMaWdodC52aXNpYmxlLCByZWNlaXZlU2hhZG93ICkgKSA/IGdldFBvaW50U2hhZG93KCBwb2ludFNoYWRvd01hcFsgaSBdLCBwb2ludExpZ2h0U2hhZG93LnNoYWRvd01hcFNpemUsIHBvaW50TGlnaHRTaGFkb3cuc2hhZG93QmlhcywgcG9pbnRMaWdodFNoYWRvdy5zaGFkb3dSYWRpdXMsIHZQb2ludFNoYWRvd0Nvb3JkWyBpIF0sIHBvaW50TGlnaHRTaGFkb3cuc2hhZG93Q2FtZXJhTmVhciwgcG9pbnRMaWdodFNoYWRvdy5zaGFkb3dDYW1lcmFGYXIgKSA6IDEuMDtcblx0XHQjZW5kaWZcblx0XHRSRV9EaXJlY3QoIGRpcmVjdExpZ2h0LCBnZW9tZXRyeSwgbWF0ZXJpYWwsIHJlZmxlY3RlZExpZ2h0ICk7XG5cdH1cblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcbiNlbmRpZlxuI2lmICggTlVNX1NQT1RfTElHSFRTID4gMCApICYmIGRlZmluZWQoIFJFX0RpcmVjdCApXG5cdFNwb3RMaWdodCBzcG90TGlnaHQ7XG5cdCNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgJiYgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyA+IDBcblx0U3BvdExpZ2h0U2hhZG93IHNwb3RMaWdodFNoYWRvdztcblx0I2VuZGlmXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgTlVNX1NQT1RfTElHSFRTOyBpICsrICkge1xuXHRcdHNwb3RMaWdodCA9IHNwb3RMaWdodHNbIGkgXTtcblx0XHRnZXRTcG90RGlyZWN0TGlnaHRJcnJhZGlhbmNlKCBzcG90TGlnaHQsIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdCNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgJiYgKCBVTlJPTExFRF9MT09QX0lOREVYIDwgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyApXG5cdFx0c3BvdExpZ2h0U2hhZG93ID0gc3BvdExpZ2h0U2hhZG93c1sgaSBdO1xuXHRcdGRpcmVjdExpZ2h0LmNvbG9yICo9IGFsbCggYnZlYzIoIGRpcmVjdExpZ2h0LnZpc2libGUsIHJlY2VpdmVTaGFkb3cgKSApID8gZ2V0U2hhZG93KCBzcG90U2hhZG93TWFwWyBpIF0sIHNwb3RMaWdodFNoYWRvdy5zaGFkb3dNYXBTaXplLCBzcG90TGlnaHRTaGFkb3cuc2hhZG93Qmlhcywgc3BvdExpZ2h0U2hhZG93LnNoYWRvd1JhZGl1cywgdlNwb3RTaGFkb3dDb29yZFsgaSBdICkgOiAxLjA7XG5cdFx0I2VuZGlmXG5cdFx0UkVfRGlyZWN0KCBkaXJlY3RMaWdodCwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG4jZW5kaWZcbiNpZiAoIE5VTV9ESVJfTElHSFRTID4gMCApICYmIGRlZmluZWQoIFJFX0RpcmVjdCApXG5cdERpcmVjdGlvbmFsTGlnaHQgZGlyZWN0aW9uYWxMaWdodDtcblx0I2lmIGRlZmluZWQoIFVTRV9TSEFET1dNQVAgKSAmJiBOVU1fRElSX0xJR0hUX1NIQURPV1MgPiAwXG5cdERpcmVjdGlvbmFsTGlnaHRTaGFkb3cgZGlyZWN0aW9uYWxMaWdodFNoYWRvdztcblx0I2VuZGlmXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgTlVNX0RJUl9MSUdIVFM7IGkgKysgKSB7XG5cdFx0ZGlyZWN0aW9uYWxMaWdodCA9IGRpcmVjdGlvbmFsTGlnaHRzWyBpIF07XG5cdFx0Z2V0RGlyZWN0aW9uYWxEaXJlY3RMaWdodElycmFkaWFuY2UoIGRpcmVjdGlvbmFsTGlnaHQsIGdlb21ldHJ5LCBkaXJlY3RMaWdodCApO1xuXHRcdCNpZiBkZWZpbmVkKCBVU0VfU0hBRE9XTUFQICkgJiYgKCBVTlJPTExFRF9MT09QX0lOREVYIDwgTlVNX0RJUl9MSUdIVF9TSEFET1dTIClcblx0XHRkaXJlY3Rpb25hbExpZ2h0U2hhZG93ID0gZGlyZWN0aW9uYWxMaWdodFNoYWRvd3NbIGkgXTtcblx0XHRkaXJlY3RMaWdodC5jb2xvciAqPSBhbGwoIGJ2ZWMyKCBkaXJlY3RMaWdodC52aXNpYmxlLCByZWNlaXZlU2hhZG93ICkgKSA/IGdldFNoYWRvdyggZGlyZWN0aW9uYWxTaGFkb3dNYXBbIGkgXSwgZGlyZWN0aW9uYWxMaWdodFNoYWRvdy5zaGFkb3dNYXBTaXplLCBkaXJlY3Rpb25hbExpZ2h0U2hhZG93LnNoYWRvd0JpYXMsIGRpcmVjdGlvbmFsTGlnaHRTaGFkb3cuc2hhZG93UmFkaXVzLCB2RGlyZWN0aW9uYWxTaGFkb3dDb29yZFsgaSBdICkgOiAxLjA7XG5cdFx0I2VuZGlmXG5cdFx0UkVfRGlyZWN0KCBkaXJlY3RMaWdodCwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG4jZW5kaWZcbiNpZiAoIE5VTV9SRUNUX0FSRUFfTElHSFRTID4gMCApICYmIGRlZmluZWQoIFJFX0RpcmVjdF9SZWN0QXJlYSApXG5cdFJlY3RBcmVhTGlnaHQgcmVjdEFyZWFMaWdodDtcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fUkVDVF9BUkVBX0xJR0hUUzsgaSArKyApIHtcblx0XHRyZWN0QXJlYUxpZ2h0ID0gcmVjdEFyZWFMaWdodHNbIGkgXTtcblx0XHRSRV9EaXJlY3RfUmVjdEFyZWEoIHJlY3RBcmVhTGlnaHQsIGdlb21ldHJ5LCBtYXRlcmlhbCwgcmVmbGVjdGVkTGlnaHQgKTtcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuI2VuZGlmXG4jaWYgZGVmaW5lZCggUkVfSW5kaXJlY3REaWZmdXNlIClcblx0dmVjMyBpYmxJcnJhZGlhbmNlID0gdmVjMyggMC4wICk7XG5cdHZlYzMgaXJyYWRpYW5jZSA9IGdldEFtYmllbnRMaWdodElycmFkaWFuY2UoIGFtYmllbnRMaWdodENvbG9yICk7XG5cdGlycmFkaWFuY2UgKz0gZ2V0TGlnaHRQcm9iZUlycmFkaWFuY2UoIGxpZ2h0UHJvYmUsIGdlb21ldHJ5ICk7XG5cdCNpZiAoIE5VTV9IRU1JX0xJR0hUUyA+IDAgKVxuXHRcdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0XHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fSEVNSV9MSUdIVFM7IGkgKysgKSB7XG5cdFx0XHRpcnJhZGlhbmNlICs9IGdldEhlbWlzcGhlcmVMaWdodElycmFkaWFuY2UoIGhlbWlzcGhlcmVMaWdodHNbIGkgXSwgZ2VvbWV0cnkgKTtcblx0XHR9XG5cdFx0I3ByYWdtYSB1bnJvbGxfbG9vcF9lbmRcblx0I2VuZGlmXG4jZW5kaWZcbiNpZiBkZWZpbmVkKCBSRV9JbmRpcmVjdFNwZWN1bGFyIClcblx0dmVjMyByYWRpYW5jZSA9IHZlYzMoIDAuMCApO1xuXHR2ZWMzIGNsZWFyY29hdFJhZGlhbmNlID0gdmVjMyggMC4wICk7XG4jZW5kaWYiLGxpZ2h0c19mcmFnbWVudF9tYXBzOiIjaWYgZGVmaW5lZCggUkVfSW5kaXJlY3REaWZmdXNlIClcblx0I2lmZGVmIFVTRV9MSUdIVE1BUFxuXHRcdHZlYzQgbGlnaHRNYXBUZXhlbD0gdGV4dHVyZTJEKCBsaWdodE1hcCwgdlV2MiApO1xuXHRcdHZlYzMgbGlnaHRNYXBJcnJhZGlhbmNlID0gbGlnaHRNYXBUZXhlbFRvTGluZWFyKCBsaWdodE1hcFRleGVsICkucmdiICogbGlnaHRNYXBJbnRlbnNpdHk7XG5cdFx0I2lmbmRlZiBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTXG5cdFx0XHRsaWdodE1hcElycmFkaWFuY2UgKj0gUEk7XG5cdFx0I2VuZGlmXG5cdFx0aXJyYWRpYW5jZSArPSBsaWdodE1hcElycmFkaWFuY2U7XG5cdCNlbmRpZlxuXHQjaWYgZGVmaW5lZCggVVNFX0VOVk1BUCApICYmIGRlZmluZWQoIFNUQU5EQVJEICkgJiYgZGVmaW5lZCggRU5WTUFQX1RZUEVfQ1VCRV9VViApXG5cdFx0aWJsSXJyYWRpYW5jZSArPSBnZXRMaWdodFByb2JlSW5kaXJlY3RJcnJhZGlhbmNlKCBnZW9tZXRyeSwgbWF4TWlwTGV2ZWwgKTtcblx0I2VuZGlmXG4jZW5kaWZcbiNpZiBkZWZpbmVkKCBVU0VfRU5WTUFQICkgJiYgZGVmaW5lZCggUkVfSW5kaXJlY3RTcGVjdWxhciApXG5cdHJhZGlhbmNlICs9IGdldExpZ2h0UHJvYmVJbmRpcmVjdFJhZGlhbmNlKCBnZW9tZXRyeS52aWV3RGlyLCBnZW9tZXRyeS5ub3JtYWwsIG1hdGVyaWFsLnNwZWN1bGFyUm91Z2huZXNzLCBtYXhNaXBMZXZlbCApO1xuXHQjaWZkZWYgQ0xFQVJDT0FUXG5cdFx0Y2xlYXJjb2F0UmFkaWFuY2UgKz0gZ2V0TGlnaHRQcm9iZUluZGlyZWN0UmFkaWFuY2UoIGdlb21ldHJ5LnZpZXdEaXIsIGdlb21ldHJ5LmNsZWFyY29hdE5vcm1hbCwgbWF0ZXJpYWwuY2xlYXJjb2F0Um91Z2huZXNzLCBtYXhNaXBMZXZlbCApO1xuXHQjZW5kaWZcbiNlbmRpZiIsbGlnaHRzX2ZyYWdtZW50X2VuZDoiI2lmIGRlZmluZWQoIFJFX0luZGlyZWN0RGlmZnVzZSApXG5cdFJFX0luZGlyZWN0RGlmZnVzZSggaXJyYWRpYW5jZSwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuI2VuZGlmXG4jaWYgZGVmaW5lZCggUkVfSW5kaXJlY3RTcGVjdWxhciApXG5cdFJFX0luZGlyZWN0U3BlY3VsYXIoIHJhZGlhbmNlLCBpYmxJcnJhZGlhbmNlLCBjbGVhcmNvYXRSYWRpYW5jZSwgZ2VvbWV0cnksIG1hdGVyaWFsLCByZWZsZWN0ZWRMaWdodCApO1xuI2VuZGlmIixsb2dkZXB0aGJ1Zl9mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9MT0dERVBUSEJVRiApICYmIGRlZmluZWQoIFVTRV9MT0dERVBUSEJVRl9FWFQgKVxuXHRnbF9GcmFnRGVwdGhFWFQgPSB2SXNQZXJzcGVjdGl2ZSA9PSAwLjAgPyBnbF9GcmFnQ29vcmQueiA6IGxvZzIoIHZGcmFnRGVwdGggKSAqIGxvZ0RlcHRoQnVmRkMgKiAwLjU7XG4jZW5kaWYiLGxvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBVU0VfTE9HREVQVEhCVUYgKSAmJiBkZWZpbmVkKCBVU0VfTE9HREVQVEhCVUZfRVhUIClcblx0dW5pZm9ybSBmbG9hdCBsb2dEZXB0aEJ1ZkZDO1xuXHR2YXJ5aW5nIGZsb2F0IHZGcmFnRGVwdGg7XG5cdHZhcnlpbmcgZmxvYXQgdklzUGVyc3BlY3RpdmU7XG4jZW5kaWYiLGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4OiIjaWZkZWYgVVNFX0xPR0RFUFRIQlVGXG5cdCNpZmRlZiBVU0VfTE9HREVQVEhCVUZfRVhUXG5cdFx0dmFyeWluZyBmbG9hdCB2RnJhZ0RlcHRoO1xuXHRcdHZhcnlpbmcgZmxvYXQgdklzUGVyc3BlY3RpdmU7XG5cdCNlbHNlXG5cdFx0dW5pZm9ybSBmbG9hdCBsb2dEZXB0aEJ1ZkZDO1xuXHQjZW5kaWZcbiNlbmRpZiIsbG9nZGVwdGhidWZfdmVydGV4OiIjaWZkZWYgVVNFX0xPR0RFUFRIQlVGXG5cdCNpZmRlZiBVU0VfTE9HREVQVEhCVUZfRVhUXG5cdFx0dkZyYWdEZXB0aCA9IDEuMCArIGdsX1Bvc2l0aW9uLnc7XG5cdFx0dklzUGVyc3BlY3RpdmUgPSBmbG9hdCggaXNQZXJzcGVjdGl2ZU1hdHJpeCggcHJvamVjdGlvbk1hdHJpeCApICk7XG5cdCNlbHNlXG5cdFx0aWYgKCBpc1BlcnNwZWN0aXZlTWF0cml4KCBwcm9qZWN0aW9uTWF0cml4ICkgKSB7XG5cdFx0XHRnbF9Qb3NpdGlvbi56ID0gbG9nMiggbWF4KCBFUFNJTE9OLCBnbF9Qb3NpdGlvbi53ICsgMS4wICkgKSAqIGxvZ0RlcHRoQnVmRkMgLSAxLjA7XG5cdFx0XHRnbF9Qb3NpdGlvbi56ICo9IGdsX1Bvc2l0aW9uLnc7XG5cdFx0fVxuXHQjZW5kaWZcbiNlbmRpZiIsbWFwX2ZyYWdtZW50OiIjaWZkZWYgVVNFX01BUFxuXHR2ZWM0IHRleGVsQ29sb3IgPSB0ZXh0dXJlMkQoIG1hcCwgdlV2ICk7XG5cdHRleGVsQ29sb3IgPSBtYXBUZXhlbFRvTGluZWFyKCB0ZXhlbENvbG9yICk7XG5cdGRpZmZ1c2VDb2xvciAqPSB0ZXhlbENvbG9yO1xuI2VuZGlmIixtYXBfcGFyc19mcmFnbWVudDoiI2lmZGVmIFVTRV9NQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgbWFwO1xuI2VuZGlmIixtYXBfcGFydGljbGVfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBVU0VfTUFQICkgfHwgZGVmaW5lZCggVVNFX0FMUEhBTUFQIClcblx0dmVjMiB1diA9ICggdXZUcmFuc2Zvcm0gKiB2ZWMzKCBnbF9Qb2ludENvb3JkLngsIDEuMCAtIGdsX1BvaW50Q29vcmQueSwgMSApICkueHk7XG4jZW5kaWZcbiNpZmRlZiBVU0VfTUFQXG5cdHZlYzQgbWFwVGV4ZWwgPSB0ZXh0dXJlMkQoIG1hcCwgdXYgKTtcblx0ZGlmZnVzZUNvbG9yICo9IG1hcFRleGVsVG9MaW5lYXIoIG1hcFRleGVsICk7XG4jZW5kaWZcbiNpZmRlZiBVU0VfQUxQSEFNQVBcblx0ZGlmZnVzZUNvbG9yLmEgKj0gdGV4dHVyZTJEKCBhbHBoYU1hcCwgdXYgKS5nO1xuI2VuZGlmIixtYXBfcGFydGljbGVfcGFyc19mcmFnbWVudDoiI2lmIGRlZmluZWQoIFVTRV9NQVAgKSB8fCBkZWZpbmVkKCBVU0VfQUxQSEFNQVAgKVxuXHR1bmlmb3JtIG1hdDMgdXZUcmFuc2Zvcm07XG4jZW5kaWZcbiNpZmRlZiBVU0VfTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIG1hcDtcbiNlbmRpZlxuI2lmZGVmIFVTRV9BTFBIQU1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBhbHBoYU1hcDtcbiNlbmRpZiIsbWV0YWxuZXNzbWFwX2ZyYWdtZW50OiJmbG9hdCBtZXRhbG5lc3NGYWN0b3IgPSBtZXRhbG5lc3M7XG4jaWZkZWYgVVNFX01FVEFMTkVTU01BUFxuXHR2ZWM0IHRleGVsTWV0YWxuZXNzID0gdGV4dHVyZTJEKCBtZXRhbG5lc3NNYXAsIHZVdiApO1xuXHRtZXRhbG5lc3NGYWN0b3IgKj0gdGV4ZWxNZXRhbG5lc3MuYjtcbiNlbmRpZiIsbWV0YWxuZXNzbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfTUVUQUxORVNTTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIG1ldGFsbmVzc01hcDtcbiNlbmRpZiIsbW9ycGhub3JtYWxfdmVydGV4OiIjaWZkZWYgVVNFX01PUlBITk9STUFMU1xuXHRvYmplY3ROb3JtYWwgKj0gbW9ycGhUYXJnZXRCYXNlSW5mbHVlbmNlO1xuXHRvYmplY3ROb3JtYWwgKz0gbW9ycGhOb3JtYWwwICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAwIF07XG5cdG9iamVjdE5vcm1hbCArPSBtb3JwaE5vcm1hbDEgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDEgXTtcblx0b2JqZWN0Tm9ybWFsICs9IG1vcnBoTm9ybWFsMiAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgMiBdO1xuXHRvYmplY3ROb3JtYWwgKz0gbW9ycGhOb3JtYWwzICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAzIF07XG4jZW5kaWYiLG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4OiIjaWZkZWYgVVNFX01PUlBIVEFSR0VUU1xuXHR1bmlmb3JtIGZsb2F0IG1vcnBoVGFyZ2V0QmFzZUluZmx1ZW5jZTtcblx0I2lmbmRlZiBVU0VfTU9SUEhOT1JNQUxTXG5cdFx0dW5pZm9ybSBmbG9hdCBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDggXTtcblx0I2Vsc2Vcblx0XHR1bmlmb3JtIGZsb2F0IG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgNCBdO1xuXHQjZW5kaWZcbiNlbmRpZiIsbW9ycGh0YXJnZXRfdmVydGV4OiIjaWZkZWYgVVNFX01PUlBIVEFSR0VUU1xuXHR0cmFuc2Zvcm1lZCAqPSBtb3JwaFRhcmdldEJhc2VJbmZsdWVuY2U7XG5cdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0MCAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgMCBdO1xuXHR0cmFuc2Zvcm1lZCArPSBtb3JwaFRhcmdldDEgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDEgXTtcblx0dHJhbnNmb3JtZWQgKz0gbW9ycGhUYXJnZXQyICogbW9ycGhUYXJnZXRJbmZsdWVuY2VzWyAyIF07XG5cdHRyYW5zZm9ybWVkICs9IG1vcnBoVGFyZ2V0MyAqIG1vcnBoVGFyZ2V0SW5mbHVlbmNlc1sgMyBdO1xuXHQjaWZuZGVmIFVTRV9NT1JQSE5PUk1BTFNcblx0XHR0cmFuc2Zvcm1lZCArPSBtb3JwaFRhcmdldDQgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDQgXTtcblx0XHR0cmFuc2Zvcm1lZCArPSBtb3JwaFRhcmdldDUgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDUgXTtcblx0XHR0cmFuc2Zvcm1lZCArPSBtb3JwaFRhcmdldDYgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDYgXTtcblx0XHR0cmFuc2Zvcm1lZCArPSBtb3JwaFRhcmdldDcgKiBtb3JwaFRhcmdldEluZmx1ZW5jZXNbIDcgXTtcblx0I2VuZGlmXG4jZW5kaWYiLG5vcm1hbF9mcmFnbWVudF9iZWdpbjoiZmxvYXQgZmFjZURpcmVjdGlvbiA9IGdsX0Zyb250RmFjaW5nID8gMS4wIDogLSAxLjA7XG4jaWZkZWYgRkxBVF9TSEFERURcblx0dmVjMyBmZHggPSB2ZWMzKCBkRmR4KCB2Vmlld1Bvc2l0aW9uLnggKSwgZEZkeCggdlZpZXdQb3NpdGlvbi55ICksIGRGZHgoIHZWaWV3UG9zaXRpb24ueiApICk7XG5cdHZlYzMgZmR5ID0gdmVjMyggZEZkeSggdlZpZXdQb3NpdGlvbi54ICksIGRGZHkoIHZWaWV3UG9zaXRpb24ueSApLCBkRmR5KCB2Vmlld1Bvc2l0aW9uLnogKSApO1xuXHR2ZWMzIG5vcm1hbCA9IG5vcm1hbGl6ZSggY3Jvc3MoIGZkeCwgZmR5ICkgKTtcbiNlbHNlXG5cdHZlYzMgbm9ybWFsID0gbm9ybWFsaXplKCB2Tm9ybWFsICk7XG5cdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRub3JtYWwgPSBub3JtYWwgKiBmYWNlRGlyZWN0aW9uO1xuXHQjZW5kaWZcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmVjMyB0YW5nZW50ID0gbm9ybWFsaXplKCB2VGFuZ2VudCApO1xuXHRcdHZlYzMgYml0YW5nZW50ID0gbm9ybWFsaXplKCB2Qml0YW5nZW50ICk7XG5cdFx0I2lmZGVmIERPVUJMRV9TSURFRFxuXHRcdFx0dGFuZ2VudCA9IHRhbmdlbnQgKiBmYWNlRGlyZWN0aW9uO1xuXHRcdFx0Yml0YW5nZW50ID0gYml0YW5nZW50ICogZmFjZURpcmVjdGlvbjtcblx0XHQjZW5kaWZcblx0XHQjaWYgZGVmaW5lZCggVEFOR0VOVFNQQUNFX05PUk1BTE1BUCApIHx8IGRlZmluZWQoIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQIClcblx0XHRcdG1hdDMgdlRCTiA9IG1hdDMoIHRhbmdlbnQsIGJpdGFuZ2VudCwgbm9ybWFsICk7XG5cdFx0I2VuZGlmXG5cdCNlbmRpZlxuI2VuZGlmXG52ZWMzIGdlb21ldHJ5Tm9ybWFsID0gbm9ybWFsOyIsbm9ybWFsX2ZyYWdtZW50X21hcHM6IiNpZmRlZiBPQkpFQ1RTUEFDRV9OT1JNQUxNQVBcblx0bm9ybWFsID0gdGV4dHVyZTJEKCBub3JtYWxNYXAsIHZVdiApLnh5eiAqIDIuMCAtIDEuMDtcblx0I2lmZGVmIEZMSVBfU0lERURcblx0XHRub3JtYWwgPSAtIG5vcm1hbDtcblx0I2VuZGlmXG5cdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRub3JtYWwgPSBub3JtYWwgKiBmYWNlRGlyZWN0aW9uO1xuXHQjZW5kaWZcblx0bm9ybWFsID0gbm9ybWFsaXplKCBub3JtYWxNYXRyaXggKiBub3JtYWwgKTtcbiNlbGlmIGRlZmluZWQoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKVxuXHR2ZWMzIG1hcE4gPSB0ZXh0dXJlMkQoIG5vcm1hbE1hcCwgdlV2ICkueHl6ICogMi4wIC0gMS4wO1xuXHRtYXBOLnh5ICo9IG5vcm1hbFNjYWxlO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHRub3JtYWwgPSBub3JtYWxpemUoIHZUQk4gKiBtYXBOICk7XG5cdCNlbHNlXG5cdFx0bm9ybWFsID0gcGVydHVyYk5vcm1hbDJBcmIoIC12Vmlld1Bvc2l0aW9uLCBub3JtYWwsIG1hcE4sIGZhY2VEaXJlY3Rpb24gKTtcblx0I2VuZGlmXG4jZWxpZiBkZWZpbmVkKCBVU0VfQlVNUE1BUCApXG5cdG5vcm1hbCA9IHBlcnR1cmJOb3JtYWxBcmIoIC12Vmlld1Bvc2l0aW9uLCBub3JtYWwsIGRIZHh5X2Z3ZCgpLCBmYWNlRGlyZWN0aW9uICk7XG4jZW5kaWYiLG5vcm1hbG1hcF9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX05PUk1BTE1BUFxuXHR1bmlmb3JtIHNhbXBsZXIyRCBub3JtYWxNYXA7XG5cdHVuaWZvcm0gdmVjMiBub3JtYWxTY2FsZTtcbiNlbmRpZlxuI2lmZGVmIE9CSkVDVFNQQUNFX05PUk1BTE1BUFxuXHR1bmlmb3JtIG1hdDMgbm9ybWFsTWF0cml4O1xuI2VuZGlmXG4jaWYgISBkZWZpbmVkICggVVNFX1RBTkdFTlQgKSAmJiAoIGRlZmluZWQgKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQICkgfHwgZGVmaW5lZCAoIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQICkgKVxuXHR2ZWMzIHBlcnR1cmJOb3JtYWwyQXJiKCB2ZWMzIGV5ZV9wb3MsIHZlYzMgc3VyZl9ub3JtLCB2ZWMzIG1hcE4sIGZsb2F0IGZhY2VEaXJlY3Rpb24gKSB7XG5cdFx0dmVjMyBxMCA9IHZlYzMoIGRGZHgoIGV5ZV9wb3MueCApLCBkRmR4KCBleWVfcG9zLnkgKSwgZEZkeCggZXllX3Bvcy56ICkgKTtcblx0XHR2ZWMzIHExID0gdmVjMyggZEZkeSggZXllX3Bvcy54ICksIGRGZHkoIGV5ZV9wb3MueSApLCBkRmR5KCBleWVfcG9zLnogKSApO1xuXHRcdHZlYzIgc3QwID0gZEZkeCggdlV2LnN0ICk7XG5cdFx0dmVjMiBzdDEgPSBkRmR5KCB2VXYuc3QgKTtcblx0XHR2ZWMzIE4gPSBzdXJmX25vcm07XG5cdFx0dmVjMyBxMXBlcnAgPSBjcm9zcyggcTEsIE4gKTtcblx0XHR2ZWMzIHEwcGVycCA9IGNyb3NzKCBOLCBxMCApO1xuXHRcdHZlYzMgVCA9IHExcGVycCAqIHN0MC54ICsgcTBwZXJwICogc3QxLng7XG5cdFx0dmVjMyBCID0gcTFwZXJwICogc3QwLnkgKyBxMHBlcnAgKiBzdDEueTtcblx0XHRmbG9hdCBkZXQgPSBtYXgoIGRvdCggVCwgVCApLCBkb3QoIEIsIEIgKSApO1xuXHRcdGZsb2F0IHNjYWxlID0gKCBkZXQgPT0gMC4wICkgPyAwLjAgOiBmYWNlRGlyZWN0aW9uICogaW52ZXJzZXNxcnQoIGRldCApO1xuXHRcdHJldHVybiBub3JtYWxpemUoIFQgKiAoIG1hcE4ueCAqIHNjYWxlICkgKyBCICogKCBtYXBOLnkgKiBzY2FsZSApICsgTiAqIG1hcE4ueiApO1xuXHR9XG4jZW5kaWYiLGNsZWFyY29hdF9ub3JtYWxfZnJhZ21lbnRfYmVnaW46IiNpZmRlZiBDTEVBUkNPQVRcblx0dmVjMyBjbGVhcmNvYXROb3JtYWwgPSBnZW9tZXRyeU5vcm1hbDtcbiNlbmRpZiIsY2xlYXJjb2F0X25vcm1hbF9mcmFnbWVudF9tYXBzOiIjaWZkZWYgVVNFX0NMRUFSQ09BVF9OT1JNQUxNQVBcblx0dmVjMyBjbGVhcmNvYXRNYXBOID0gdGV4dHVyZTJEKCBjbGVhcmNvYXROb3JtYWxNYXAsIHZVdiApLnh5eiAqIDIuMCAtIDEuMDtcblx0Y2xlYXJjb2F0TWFwTi54eSAqPSBjbGVhcmNvYXROb3JtYWxTY2FsZTtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0Y2xlYXJjb2F0Tm9ybWFsID0gbm9ybWFsaXplKCB2VEJOICogY2xlYXJjb2F0TWFwTiApO1xuXHQjZWxzZVxuXHRcdGNsZWFyY29hdE5vcm1hbCA9IHBlcnR1cmJOb3JtYWwyQXJiKCAtIHZWaWV3UG9zaXRpb24sIGNsZWFyY29hdE5vcm1hbCwgY2xlYXJjb2F0TWFwTiwgZmFjZURpcmVjdGlvbiApO1xuXHQjZW5kaWZcbiNlbmRpZiIsY2xlYXJjb2F0X3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfQ0xFQVJDT0FUTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGNsZWFyY29hdE1hcDtcbiNlbmRpZlxuI2lmZGVmIFVTRV9DTEVBUkNPQVRfUk9VR0hORVNTTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGNsZWFyY29hdFJvdWdobmVzc01hcDtcbiNlbmRpZlxuI2lmZGVmIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIGNsZWFyY29hdE5vcm1hbE1hcDtcblx0dW5pZm9ybSB2ZWMyIGNsZWFyY29hdE5vcm1hbFNjYWxlO1xuI2VuZGlmIixwYWNraW5nOiJ2ZWMzIHBhY2tOb3JtYWxUb1JHQiggY29uc3QgaW4gdmVjMyBub3JtYWwgKSB7XG5cdHJldHVybiBub3JtYWxpemUoIG5vcm1hbCApICogMC41ICsgMC41O1xufVxudmVjMyB1bnBhY2tSR0JUb05vcm1hbCggY29uc3QgaW4gdmVjMyByZ2IgKSB7XG5cdHJldHVybiAyLjAgKiByZ2IueHl6IC0gMS4wO1xufVxuY29uc3QgZmxvYXQgUGFja1Vwc2NhbGUgPSAyNTYuIC8gMjU1Ljtjb25zdCBmbG9hdCBVbnBhY2tEb3duc2NhbGUgPSAyNTUuIC8gMjU2LjtcbmNvbnN0IHZlYzMgUGFja0ZhY3RvcnMgPSB2ZWMzKCAyNTYuICogMjU2LiAqIDI1Ni4sIDI1Ni4gKiAyNTYuLCAyNTYuICk7XG5jb25zdCB2ZWM0IFVucGFja0ZhY3RvcnMgPSBVbnBhY2tEb3duc2NhbGUgLyB2ZWM0KCBQYWNrRmFjdG9ycywgMS4gKTtcbmNvbnN0IGZsb2F0IFNoaWZ0UmlnaHQ4ID0gMS4gLyAyNTYuO1xudmVjNCBwYWNrRGVwdGhUb1JHQkEoIGNvbnN0IGluIGZsb2F0IHYgKSB7XG5cdHZlYzQgciA9IHZlYzQoIGZyYWN0KCB2ICogUGFja0ZhY3RvcnMgKSwgdiApO1xuXHRyLnl6dyAtPSByLnh5eiAqIFNoaWZ0UmlnaHQ4O1x0cmV0dXJuIHIgKiBQYWNrVXBzY2FsZTtcbn1cbmZsb2F0IHVucGFja1JHQkFUb0RlcHRoKCBjb25zdCBpbiB2ZWM0IHYgKSB7XG5cdHJldHVybiBkb3QoIHYsIFVucGFja0ZhY3RvcnMgKTtcbn1cbnZlYzQgcGFjazJIYWxmVG9SR0JBKCB2ZWMyIHYgKSB7XG5cdHZlYzQgciA9IHZlYzQoIHYueCwgZnJhY3QoIHYueCAqIDI1NS4wICksIHYueSwgZnJhY3QoIHYueSAqIDI1NS4wICkpO1xuXHRyZXR1cm4gdmVjNCggci54IC0gci55IC8gMjU1LjAsIHIueSwgci56IC0gci53IC8gMjU1LjAsIHIudyk7XG59XG52ZWMyIHVucGFja1JHQkFUbzJIYWxmKCB2ZWM0IHYgKSB7XG5cdHJldHVybiB2ZWMyKCB2LnggKyAoIHYueSAvIDI1NS4wICksIHYueiArICggdi53IC8gMjU1LjAgKSApO1xufVxuZmxvYXQgdmlld1pUb09ydGhvZ3JhcGhpY0RlcHRoKCBjb25zdCBpbiBmbG9hdCB2aWV3WiwgY29uc3QgaW4gZmxvYXQgbmVhciwgY29uc3QgaW4gZmxvYXQgZmFyICkge1xuXHRyZXR1cm4gKCB2aWV3WiArIG5lYXIgKSAvICggbmVhciAtIGZhciApO1xufVxuZmxvYXQgb3J0aG9ncmFwaGljRGVwdGhUb1ZpZXdaKCBjb25zdCBpbiBmbG9hdCBsaW5lYXJDbGlwWiwgY29uc3QgaW4gZmxvYXQgbmVhciwgY29uc3QgaW4gZmxvYXQgZmFyICkge1xuXHRyZXR1cm4gbGluZWFyQ2xpcFogKiAoIG5lYXIgLSBmYXIgKSAtIG5lYXI7XG59XG5mbG9hdCB2aWV3WlRvUGVyc3BlY3RpdmVEZXB0aCggY29uc3QgaW4gZmxvYXQgdmlld1osIGNvbnN0IGluIGZsb2F0IG5lYXIsIGNvbnN0IGluIGZsb2F0IGZhciApIHtcblx0cmV0dXJuICgoIG5lYXIgKyB2aWV3WiApICogZmFyICkgLyAoKCBmYXIgLSBuZWFyICkgKiB2aWV3WiApO1xufVxuZmxvYXQgcGVyc3BlY3RpdmVEZXB0aFRvVmlld1ooIGNvbnN0IGluIGZsb2F0IGludkNsaXBaLCBjb25zdCBpbiBmbG9hdCBuZWFyLCBjb25zdCBpbiBmbG9hdCBmYXIgKSB7XG5cdHJldHVybiAoIG5lYXIgKiBmYXIgKSAvICggKCBmYXIgLSBuZWFyICkgKiBpbnZDbGlwWiAtIGZhciApO1xufSIscHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudDoiI2lmZGVmIFBSRU1VTFRJUExJRURfQUxQSEFcblx0Z2xfRnJhZ0NvbG9yLnJnYiAqPSBnbF9GcmFnQ29sb3IuYTtcbiNlbmRpZiIscHJvamVjdF92ZXJ0ZXg6InZlYzQgbXZQb3NpdGlvbiA9IHZlYzQoIHRyYW5zZm9ybWVkLCAxLjAgKTtcbiNpZmRlZiBVU0VfSU5TVEFOQ0lOR1xuXHRtdlBvc2l0aW9uID0gaW5zdGFuY2VNYXRyaXggKiBtdlBvc2l0aW9uO1xuI2VuZGlmXG5tdlBvc2l0aW9uID0gbW9kZWxWaWV3TWF0cml4ICogbXZQb3NpdGlvbjtcbmdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbk1hdHJpeCAqIG12UG9zaXRpb247IixkaXRoZXJpbmdfZnJhZ21lbnQ6IiNpZmRlZiBESVRIRVJJTkdcblx0Z2xfRnJhZ0NvbG9yLnJnYiA9IGRpdGhlcmluZyggZ2xfRnJhZ0NvbG9yLnJnYiApO1xuI2VuZGlmIixkaXRoZXJpbmdfcGFyc19mcmFnbWVudDoiI2lmZGVmIERJVEhFUklOR1xuXHR2ZWMzIGRpdGhlcmluZyggdmVjMyBjb2xvciApIHtcblx0XHRmbG9hdCBncmlkX3Bvc2l0aW9uID0gcmFuZCggZ2xfRnJhZ0Nvb3JkLnh5ICk7XG5cdFx0dmVjMyBkaXRoZXJfc2hpZnRfUkdCID0gdmVjMyggMC4yNSAvIDI1NS4wLCAtMC4yNSAvIDI1NS4wLCAwLjI1IC8gMjU1LjAgKTtcblx0XHRkaXRoZXJfc2hpZnRfUkdCID0gbWl4KCAyLjAgKiBkaXRoZXJfc2hpZnRfUkdCLCAtMi4wICogZGl0aGVyX3NoaWZ0X1JHQiwgZ3JpZF9wb3NpdGlvbiApO1xuXHRcdHJldHVybiBjb2xvciArIGRpdGhlcl9zaGlmdF9SR0I7XG5cdH1cbiNlbmRpZiIscm91Z2huZXNzbWFwX2ZyYWdtZW50OiJmbG9hdCByb3VnaG5lc3NGYWN0b3IgPSByb3VnaG5lc3M7XG4jaWZkZWYgVVNFX1JPVUdITkVTU01BUFxuXHR2ZWM0IHRleGVsUm91Z2huZXNzID0gdGV4dHVyZTJEKCByb3VnaG5lc3NNYXAsIHZVdiApO1xuXHRyb3VnaG5lc3NGYWN0b3IgKj0gdGV4ZWxSb3VnaG5lc3MuZztcbiNlbmRpZiIscm91Z2huZXNzbWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfUk9VR0hORVNTTUFQXG5cdHVuaWZvcm0gc2FtcGxlcjJEIHJvdWdobmVzc01hcDtcbiNlbmRpZiIsc2hhZG93bWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfU0hBRE9XTUFQXG5cdCNpZiBOVU1fRElSX0xJR0hUX1NIQURPV1MgPiAwXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgZGlyZWN0aW9uYWxTaGFkb3dNYXBbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHZhcnlpbmcgdmVjNCB2RGlyZWN0aW9uYWxTaGFkb3dDb29yZFsgTlVNX0RJUl9MSUdIVF9TSEFET1dTIF07XG5cdFx0c3RydWN0IERpcmVjdGlvbmFsTGlnaHRTaGFkb3cge1xuXHRcdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd05vcm1hbEJpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0XHR2ZWMyIHNoYWRvd01hcFNpemU7XG5cdFx0fTtcblx0XHR1bmlmb3JtIERpcmVjdGlvbmFsTGlnaHRTaGFkb3cgZGlyZWN0aW9uYWxMaWdodFNoYWRvd3NbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgPiAwXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgc3BvdFNoYWRvd01hcFsgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHZhcnlpbmcgdmVjNCB2U3BvdFNoYWRvd0Nvb3JkWyBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIF07XG5cdFx0c3RydWN0IFNwb3RMaWdodFNoYWRvdyB7XG5cdFx0XHRmbG9hdCBzaGFkb3dCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93Tm9ybWFsQmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd1JhZGl1cztcblx0XHRcdHZlYzIgc2hhZG93TWFwU2l6ZTtcblx0XHR9O1xuXHRcdHVuaWZvcm0gU3BvdExpZ2h0U2hhZG93IHNwb3RMaWdodFNoYWRvd3NbIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXTtcblx0I2VuZGlmXG5cdCNpZiBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyA+IDBcblx0XHR1bmlmb3JtIHNhbXBsZXIyRCBwb2ludFNoYWRvd01hcFsgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdlBvaW50U2hhZG93Q29vcmRbIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIF07XG5cdFx0c3RydWN0IFBvaW50TGlnaHRTaGFkb3cge1xuXHRcdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd05vcm1hbEJpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0XHR2ZWMyIHNoYWRvd01hcFNpemU7XG5cdFx0XHRmbG9hdCBzaGFkb3dDYW1lcmFOZWFyO1xuXHRcdFx0ZmxvYXQgc2hhZG93Q2FtZXJhRmFyO1xuXHRcdH07XG5cdFx0dW5pZm9ybSBQb2ludExpZ2h0U2hhZG93IHBvaW50TGlnaHRTaGFkb3dzWyBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0ZmxvYXQgdGV4dHVyZTJEQ29tcGFyZSggc2FtcGxlcjJEIGRlcHRocywgdmVjMiB1diwgZmxvYXQgY29tcGFyZSApIHtcblx0XHRyZXR1cm4gc3RlcCggY29tcGFyZSwgdW5wYWNrUkdCQVRvRGVwdGgoIHRleHR1cmUyRCggZGVwdGhzLCB1diApICkgKTtcblx0fVxuXHR2ZWMyIHRleHR1cmUyRERpc3RyaWJ1dGlvbiggc2FtcGxlcjJEIHNoYWRvdywgdmVjMiB1diApIHtcblx0XHRyZXR1cm4gdW5wYWNrUkdCQVRvMkhhbGYoIHRleHR1cmUyRCggc2hhZG93LCB1diApICk7XG5cdH1cblx0ZmxvYXQgVlNNU2hhZG93IChzYW1wbGVyMkQgc2hhZG93LCB2ZWMyIHV2LCBmbG9hdCBjb21wYXJlICl7XG5cdFx0ZmxvYXQgb2NjbHVzaW9uID0gMS4wO1xuXHRcdHZlYzIgZGlzdHJpYnV0aW9uID0gdGV4dHVyZTJERGlzdHJpYnV0aW9uKCBzaGFkb3csIHV2ICk7XG5cdFx0ZmxvYXQgaGFyZF9zaGFkb3cgPSBzdGVwKCBjb21wYXJlICwgZGlzdHJpYnV0aW9uLnggKTtcblx0XHRpZiAoaGFyZF9zaGFkb3cgIT0gMS4wICkge1xuXHRcdFx0ZmxvYXQgZGlzdGFuY2UgPSBjb21wYXJlIC0gZGlzdHJpYnV0aW9uLnggO1xuXHRcdFx0ZmxvYXQgdmFyaWFuY2UgPSBtYXgoIDAuMDAwMDAsIGRpc3RyaWJ1dGlvbi55ICogZGlzdHJpYnV0aW9uLnkgKTtcblx0XHRcdGZsb2F0IHNvZnRuZXNzX3Byb2JhYmlsaXR5ID0gdmFyaWFuY2UgLyAodmFyaWFuY2UgKyBkaXN0YW5jZSAqIGRpc3RhbmNlICk7XHRcdFx0c29mdG5lc3NfcHJvYmFiaWxpdHkgPSBjbGFtcCggKCBzb2Z0bmVzc19wcm9iYWJpbGl0eSAtIDAuMyApIC8gKCAwLjk1IC0gMC4zICksIDAuMCwgMS4wICk7XHRcdFx0b2NjbHVzaW9uID0gY2xhbXAoIG1heCggaGFyZF9zaGFkb3csIHNvZnRuZXNzX3Byb2JhYmlsaXR5ICksIDAuMCwgMS4wICk7XG5cdFx0fVxuXHRcdHJldHVybiBvY2NsdXNpb247XG5cdH1cblx0ZmxvYXQgZ2V0U2hhZG93KCBzYW1wbGVyMkQgc2hhZG93TWFwLCB2ZWMyIHNoYWRvd01hcFNpemUsIGZsb2F0IHNoYWRvd0JpYXMsIGZsb2F0IHNoYWRvd1JhZGl1cywgdmVjNCBzaGFkb3dDb29yZCApIHtcblx0XHRmbG9hdCBzaGFkb3cgPSAxLjA7XG5cdFx0c2hhZG93Q29vcmQueHl6IC89IHNoYWRvd0Nvb3JkLnc7XG5cdFx0c2hhZG93Q29vcmQueiArPSBzaGFkb3dCaWFzO1xuXHRcdGJ2ZWM0IGluRnJ1c3R1bVZlYyA9IGJ2ZWM0ICggc2hhZG93Q29vcmQueCA+PSAwLjAsIHNoYWRvd0Nvb3JkLnggPD0gMS4wLCBzaGFkb3dDb29yZC55ID49IDAuMCwgc2hhZG93Q29vcmQueSA8PSAxLjAgKTtcblx0XHRib29sIGluRnJ1c3R1bSA9IGFsbCggaW5GcnVzdHVtVmVjICk7XG5cdFx0YnZlYzIgZnJ1c3R1bVRlc3RWZWMgPSBidmVjMiggaW5GcnVzdHVtLCBzaGFkb3dDb29yZC56IDw9IDEuMCApO1xuXHRcdGJvb2wgZnJ1c3R1bVRlc3QgPSBhbGwoIGZydXN0dW1UZXN0VmVjICk7XG5cdFx0aWYgKCBmcnVzdHVtVGVzdCApIHtcblx0XHQjaWYgZGVmaW5lZCggU0hBRE9XTUFQX1RZUEVfUENGIClcblx0XHRcdHZlYzIgdGV4ZWxTaXplID0gdmVjMiggMS4wICkgLyBzaGFkb3dNYXBTaXplO1xuXHRcdFx0ZmxvYXQgZHgwID0gLSB0ZXhlbFNpemUueCAqIHNoYWRvd1JhZGl1cztcblx0XHRcdGZsb2F0IGR5MCA9IC0gdGV4ZWxTaXplLnkgKiBzaGFkb3dSYWRpdXM7XG5cdFx0XHRmbG9hdCBkeDEgPSArIHRleGVsU2l6ZS54ICogc2hhZG93UmFkaXVzO1xuXHRcdFx0ZmxvYXQgZHkxID0gKyB0ZXhlbFNpemUueSAqIHNoYWRvd1JhZGl1cztcblx0XHRcdGZsb2F0IGR4MiA9IGR4MCAvIDIuMDtcblx0XHRcdGZsb2F0IGR5MiA9IGR5MCAvIDIuMDtcblx0XHRcdGZsb2F0IGR4MyA9IGR4MSAvIDIuMDtcblx0XHRcdGZsb2F0IGR5MyA9IGR5MSAvIDIuMDtcblx0XHRcdHNoYWRvdyA9IChcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MCwgZHkwICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCAwLjAsIGR5MCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgxLCBkeTAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MiwgZHkyICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCAwLjAsIGR5MiApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgzLCBkeTIgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MCwgMC4wICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDIsIDAuMCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5LCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggZHgzLCAwLjAgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MSwgMC4wICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDIsIGR5MyApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggMC4wLCBkeTMgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MywgZHkzICksIHNoYWRvd0Nvb3JkLnogKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgc2hhZG93Q29vcmQueHkgKyB2ZWMyKCBkeDAsIGR5MSApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5ICsgdmVjMiggMC4wLCBkeTEgKSwgc2hhZG93Q29vcmQueiApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSArIHZlYzIoIGR4MSwgZHkxICksIHNoYWRvd0Nvb3JkLnogKVxuXHRcdFx0KSAqICggMS4wIC8gMTcuMCApO1xuXHRcdCNlbGlmIGRlZmluZWQoIFNIQURPV01BUF9UWVBFX1BDRl9TT0ZUIClcblx0XHRcdHZlYzIgdGV4ZWxTaXplID0gdmVjMiggMS4wICkgLyBzaGFkb3dNYXBTaXplO1xuXHRcdFx0ZmxvYXQgZHggPSB0ZXhlbFNpemUueDtcblx0XHRcdGZsb2F0IGR5ID0gdGV4ZWxTaXplLnk7XG5cdFx0XHR2ZWMyIHV2ID0gc2hhZG93Q29vcmQueHk7XG5cdFx0XHR2ZWMyIGYgPSBmcmFjdCggdXYgKiBzaGFkb3dNYXBTaXplICsgMC41ICk7XG5cdFx0XHR1diAtPSBmICogdGV4ZWxTaXplO1xuXHRcdFx0c2hhZG93ID0gKFxuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2LCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggZHgsIDAuMCApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggMC4wLCBkeSApLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdGV4ZWxTaXplLCBzaGFkb3dDb29yZC56ICkgK1xuXHRcdFx0XHRtaXgoIHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAtZHgsIDAuMCApLCBzaGFkb3dDb29yZC56ICksIFxuXHRcdFx0XHRcdCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggMi4wICogZHgsIDAuMCApLCBzaGFkb3dDb29yZC56ICksXG5cdFx0XHRcdFx0IGYueCApICtcblx0XHRcdFx0bWl4KCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggLWR4LCBkeSApLCBzaGFkb3dDb29yZC56ICksIFxuXHRcdFx0XHRcdCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggMi4wICogZHgsIGR5ICksIHNoYWRvd0Nvb3JkLnogKSxcblx0XHRcdFx0XHQgZi54ICkgK1xuXHRcdFx0XHRtaXgoIHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAwLjAsIC1keSApLCBzaGFkb3dDb29yZC56ICksIFxuXHRcdFx0XHRcdCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggMC4wLCAyLjAgKiBkeSApLCBzaGFkb3dDb29yZC56ICksXG5cdFx0XHRcdFx0IGYueSApICtcblx0XHRcdFx0bWl4KCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggZHgsIC1keSApLCBzaGFkb3dDb29yZC56ICksIFxuXHRcdFx0XHRcdCB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHV2ICsgdmVjMiggZHgsIDIuMCAqIGR5ICksIHNoYWRvd0Nvb3JkLnogKSxcblx0XHRcdFx0XHQgZi55ICkgK1xuXHRcdFx0XHRtaXgoIG1peCggdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCB1diArIHZlYzIoIC1keCwgLWR5ICksIHNoYWRvd0Nvb3JkLnogKSwgXG5cdFx0XHRcdFx0XHQgIHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgdXYgKyB2ZWMyKCAyLjAgKiBkeCwgLWR5ICksIHNoYWRvd0Nvb3JkLnogKSxcblx0XHRcdFx0XHRcdCAgZi54ICksXG5cdFx0XHRcdFx0IG1peCggdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCB1diArIHZlYzIoIC1keCwgMi4wICogZHkgKSwgc2hhZG93Q29vcmQueiApLCBcblx0XHRcdFx0XHRcdCAgdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCB1diArIHZlYzIoIDIuMCAqIGR4LCAyLjAgKiBkeSApLCBzaGFkb3dDb29yZC56ICksXG5cdFx0XHRcdFx0XHQgIGYueCApLFxuXHRcdFx0XHRcdCBmLnkgKVxuXHRcdFx0KSAqICggMS4wIC8gOS4wICk7XG5cdFx0I2VsaWYgZGVmaW5lZCggU0hBRE9XTUFQX1RZUEVfVlNNIClcblx0XHRcdHNoYWRvdyA9IFZTTVNoYWRvdyggc2hhZG93TWFwLCBzaGFkb3dDb29yZC54eSwgc2hhZG93Q29vcmQueiApO1xuXHRcdCNlbHNlXG5cdFx0XHRzaGFkb3cgPSB0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIHNoYWRvd0Nvb3JkLnh5LCBzaGFkb3dDb29yZC56ICk7XG5cdFx0I2VuZGlmXG5cdFx0fVxuXHRcdHJldHVybiBzaGFkb3c7XG5cdH1cblx0dmVjMiBjdWJlVG9VViggdmVjMyB2LCBmbG9hdCB0ZXhlbFNpemVZICkge1xuXHRcdHZlYzMgYWJzViA9IGFicyggdiApO1xuXHRcdGZsb2F0IHNjYWxlVG9DdWJlID0gMS4wIC8gbWF4KCBhYnNWLngsIG1heCggYWJzVi55LCBhYnNWLnogKSApO1xuXHRcdGFic1YgKj0gc2NhbGVUb0N1YmU7XG5cdFx0diAqPSBzY2FsZVRvQ3ViZSAqICggMS4wIC0gMi4wICogdGV4ZWxTaXplWSApO1xuXHRcdHZlYzIgcGxhbmFyID0gdi54eTtcblx0XHRmbG9hdCBhbG1vc3RBVGV4ZWwgPSAxLjUgKiB0ZXhlbFNpemVZO1xuXHRcdGZsb2F0IGFsbW9zdE9uZSA9IDEuMCAtIGFsbW9zdEFUZXhlbDtcblx0XHRpZiAoIGFic1YueiA+PSBhbG1vc3RPbmUgKSB7XG5cdFx0XHRpZiAoIHYueiA+IDAuMCApXG5cdFx0XHRcdHBsYW5hci54ID0gNC4wIC0gdi54O1xuXHRcdH0gZWxzZSBpZiAoIGFic1YueCA+PSBhbG1vc3RPbmUgKSB7XG5cdFx0XHRmbG9hdCBzaWduWCA9IHNpZ24oIHYueCApO1xuXHRcdFx0cGxhbmFyLnggPSB2LnogKiBzaWduWCArIDIuMCAqIHNpZ25YO1xuXHRcdH0gZWxzZSBpZiAoIGFic1YueSA+PSBhbG1vc3RPbmUgKSB7XG5cdFx0XHRmbG9hdCBzaWduWSA9IHNpZ24oIHYueSApO1xuXHRcdFx0cGxhbmFyLnggPSB2LnggKyAyLjAgKiBzaWduWSArIDIuMDtcblx0XHRcdHBsYW5hci55ID0gdi56ICogc2lnblkgLSAyLjA7XG5cdFx0fVxuXHRcdHJldHVybiB2ZWMyKCAwLjEyNSwgMC4yNSApICogcGxhbmFyICsgdmVjMiggMC4zNzUsIDAuNzUgKTtcblx0fVxuXHRmbG9hdCBnZXRQb2ludFNoYWRvdyggc2FtcGxlcjJEIHNoYWRvd01hcCwgdmVjMiBzaGFkb3dNYXBTaXplLCBmbG9hdCBzaGFkb3dCaWFzLCBmbG9hdCBzaGFkb3dSYWRpdXMsIHZlYzQgc2hhZG93Q29vcmQsIGZsb2F0IHNoYWRvd0NhbWVyYU5lYXIsIGZsb2F0IHNoYWRvd0NhbWVyYUZhciApIHtcblx0XHR2ZWMyIHRleGVsU2l6ZSA9IHZlYzIoIDEuMCApIC8gKCBzaGFkb3dNYXBTaXplICogdmVjMiggNC4wLCAyLjAgKSApO1xuXHRcdHZlYzMgbGlnaHRUb1Bvc2l0aW9uID0gc2hhZG93Q29vcmQueHl6O1xuXHRcdGZsb2F0IGRwID0gKCBsZW5ndGgoIGxpZ2h0VG9Qb3NpdGlvbiApIC0gc2hhZG93Q2FtZXJhTmVhciApIC8gKCBzaGFkb3dDYW1lcmFGYXIgLSBzaGFkb3dDYW1lcmFOZWFyICk7XHRcdGRwICs9IHNoYWRvd0JpYXM7XG5cdFx0dmVjMyBiZDNEID0gbm9ybWFsaXplKCBsaWdodFRvUG9zaXRpb24gKTtcblx0XHQjaWYgZGVmaW5lZCggU0hBRE9XTUFQX1RZUEVfUENGICkgfHwgZGVmaW5lZCggU0hBRE9XTUFQX1RZUEVfUENGX1NPRlQgKSB8fCBkZWZpbmVkKCBTSEFET1dNQVBfVFlQRV9WU00gKVxuXHRcdFx0dmVjMiBvZmZzZXQgPSB2ZWMyKCAtIDEsIDEgKSAqIHNoYWRvd1JhZGl1cyAqIHRleGVsU2l6ZS55O1xuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC54eXksIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnl5eSwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QgKyBvZmZzZXQueHl4LCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC55eXgsIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNELCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC54eHksIHRleGVsU2l6ZS55ICksIGRwICkgK1xuXHRcdFx0XHR0ZXh0dXJlMkRDb21wYXJlKCBzaGFkb3dNYXAsIGN1YmVUb1VWKCBiZDNEICsgb2Zmc2V0Lnl4eSwgdGV4ZWxTaXplLnkgKSwgZHAgKSArXG5cdFx0XHRcdHRleHR1cmUyRENvbXBhcmUoIHNoYWRvd01hcCwgY3ViZVRvVVYoIGJkM0QgKyBvZmZzZXQueHh4LCB0ZXhlbFNpemUueSApLCBkcCApICtcblx0XHRcdFx0dGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCArIG9mZnNldC55eHgsIHRleGVsU2l6ZS55ICksIGRwIClcblx0XHRcdCkgKiAoIDEuMCAvIDkuMCApO1xuXHRcdCNlbHNlXG5cdFx0XHRyZXR1cm4gdGV4dHVyZTJEQ29tcGFyZSggc2hhZG93TWFwLCBjdWJlVG9VViggYmQzRCwgdGV4ZWxTaXplLnkgKSwgZHAgKTtcblx0XHQjZW5kaWZcblx0fVxuI2VuZGlmIixzaGFkb3dtYXBfcGFyc192ZXJ0ZXg6IiNpZmRlZiBVU0VfU0hBRE9XTUFQXG5cdCNpZiBOVU1fRElSX0xJR0hUX1NIQURPV1MgPiAwXG5cdFx0dW5pZm9ybSBtYXQ0IGRpcmVjdGlvbmFsU2hhZG93TWF0cml4WyBOVU1fRElSX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdkRpcmVjdGlvbmFsU2hhZG93Q29vcmRbIE5VTV9ESVJfTElHSFRfU0hBRE9XUyBdO1xuXHRcdHN0cnVjdCBEaXJlY3Rpb25hbExpZ2h0U2hhZG93IHtcblx0XHRcdGZsb2F0IHNoYWRvd0JpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dOb3JtYWxCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93UmFkaXVzO1xuXHRcdFx0dmVjMiBzaGFkb3dNYXBTaXplO1xuXHRcdH07XG5cdFx0dW5pZm9ybSBEaXJlY3Rpb25hbExpZ2h0U2hhZG93IGRpcmVjdGlvbmFsTGlnaHRTaGFkb3dzWyBOVU1fRElSX0xJR0hUX1NIQURPV1MgXTtcblx0I2VuZGlmXG5cdCNpZiBOVU1fU1BPVF9MSUdIVF9TSEFET1dTID4gMFxuXHRcdHVuaWZvcm0gbWF0NCBzcG90U2hhZG93TWF0cml4WyBOVU1fU1BPVF9MSUdIVF9TSEFET1dTIF07XG5cdFx0dmFyeWluZyB2ZWM0IHZTcG90U2hhZG93Q29vcmRbIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgXTtcblx0XHRzdHJ1Y3QgU3BvdExpZ2h0U2hhZG93IHtcblx0XHRcdGZsb2F0IHNoYWRvd0JpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dOb3JtYWxCaWFzO1xuXHRcdFx0ZmxvYXQgc2hhZG93UmFkaXVzO1xuXHRcdFx0dmVjMiBzaGFkb3dNYXBTaXplO1xuXHRcdH07XG5cdFx0dW5pZm9ybSBTcG90TGlnaHRTaGFkb3cgc3BvdExpZ2h0U2hhZG93c1sgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTID4gMFxuXHRcdHVuaWZvcm0gbWF0NCBwb2ludFNoYWRvd01hdHJpeFsgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgXTtcblx0XHR2YXJ5aW5nIHZlYzQgdlBvaW50U2hhZG93Q29vcmRbIE5VTV9QT0lOVF9MSUdIVF9TSEFET1dTIF07XG5cdFx0c3RydWN0IFBvaW50TGlnaHRTaGFkb3cge1xuXHRcdFx0ZmxvYXQgc2hhZG93Qmlhcztcblx0XHRcdGZsb2F0IHNoYWRvd05vcm1hbEJpYXM7XG5cdFx0XHRmbG9hdCBzaGFkb3dSYWRpdXM7XG5cdFx0XHR2ZWMyIHNoYWRvd01hcFNpemU7XG5cdFx0XHRmbG9hdCBzaGFkb3dDYW1lcmFOZWFyO1xuXHRcdFx0ZmxvYXQgc2hhZG93Q2FtZXJhRmFyO1xuXHRcdH07XG5cdFx0dW5pZm9ybSBQb2ludExpZ2h0U2hhZG93IHBvaW50TGlnaHRTaGFkb3dzWyBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUyBdO1xuXHQjZW5kaWZcbiNlbmRpZiIsc2hhZG93bWFwX3ZlcnRleDoiI2lmZGVmIFVTRV9TSEFET1dNQVBcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyA+IDAgfHwgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyA+IDAgfHwgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgPiAwXG5cdFx0dmVjMyBzaGFkb3dXb3JsZE5vcm1hbCA9IGludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24oIHRyYW5zZm9ybWVkTm9ybWFsLCB2aWV3TWF0cml4ICk7XG5cdFx0dmVjNCBzaGFkb3dXb3JsZFBvc2l0aW9uO1xuXHQjZW5kaWZcblx0I2lmIE5VTV9ESVJfTElHSFRfU0hBRE9XUyA+IDBcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fRElSX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0c2hhZG93V29ybGRQb3NpdGlvbiA9IHdvcmxkUG9zaXRpb24gKyB2ZWM0KCBzaGFkb3dXb3JsZE5vcm1hbCAqIGRpcmVjdGlvbmFsTGlnaHRTaGFkb3dzWyBpIF0uc2hhZG93Tm9ybWFsQmlhcywgMCApO1xuXHRcdHZEaXJlY3Rpb25hbFNoYWRvd0Nvb3JkWyBpIF0gPSBkaXJlY3Rpb25hbFNoYWRvd01hdHJpeFsgaSBdICogc2hhZG93V29ybGRQb3NpdGlvbjtcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuXHQjZW5kaWZcblx0I2lmIE5VTV9TUE9UX0xJR0hUX1NIQURPV1MgPiAwXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgTlVNX1NQT1RfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHRzaGFkb3dXb3JsZFBvc2l0aW9uID0gd29ybGRQb3NpdGlvbiArIHZlYzQoIHNoYWRvd1dvcmxkTm9ybWFsICogc3BvdExpZ2h0U2hhZG93c1sgaSBdLnNoYWRvd05vcm1hbEJpYXMsIDAgKTtcblx0XHR2U3BvdFNoYWRvd0Nvb3JkWyBpIF0gPSBzcG90U2hhZG93TWF0cml4WyBpIF0gKiBzaGFkb3dXb3JsZFBvc2l0aW9uO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdCNlbmRpZlxuXHQjaWYgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgPiAwXG5cdCNwcmFnbWEgdW5yb2xsX2xvb3Bfc3RhcnRcblx0Zm9yICggaW50IGkgPSAwOyBpIDwgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0c2hhZG93V29ybGRQb3NpdGlvbiA9IHdvcmxkUG9zaXRpb24gKyB2ZWM0KCBzaGFkb3dXb3JsZE5vcm1hbCAqIHBvaW50TGlnaHRTaGFkb3dzWyBpIF0uc2hhZG93Tm9ybWFsQmlhcywgMCApO1xuXHRcdHZQb2ludFNoYWRvd0Nvb3JkWyBpIF0gPSBwb2ludFNoYWRvd01hdHJpeFsgaSBdICogc2hhZG93V29ybGRQb3NpdGlvbjtcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuXHQjZW5kaWZcbiNlbmRpZiIsc2hhZG93bWFza19wYXJzX2ZyYWdtZW50OiJmbG9hdCBnZXRTaGFkb3dNYXNrKCkge1xuXHRmbG9hdCBzaGFkb3cgPSAxLjA7XG5cdCNpZmRlZiBVU0VfU0hBRE9XTUFQXG5cdCNpZiBOVU1fRElSX0xJR0hUX1NIQURPV1MgPiAwXG5cdERpcmVjdGlvbmFsTGlnaHRTaGFkb3cgZGlyZWN0aW9uYWxMaWdodDtcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fRElSX0xJR0hUX1NIQURPV1M7IGkgKysgKSB7XG5cdFx0ZGlyZWN0aW9uYWxMaWdodCA9IGRpcmVjdGlvbmFsTGlnaHRTaGFkb3dzWyBpIF07XG5cdFx0c2hhZG93ICo9IHJlY2VpdmVTaGFkb3cgPyBnZXRTaGFkb3coIGRpcmVjdGlvbmFsU2hhZG93TWFwWyBpIF0sIGRpcmVjdGlvbmFsTGlnaHQuc2hhZG93TWFwU2l6ZSwgZGlyZWN0aW9uYWxMaWdodC5zaGFkb3dCaWFzLCBkaXJlY3Rpb25hbExpZ2h0LnNoYWRvd1JhZGl1cywgdkRpcmVjdGlvbmFsU2hhZG93Q29vcmRbIGkgXSApIDogMS4wO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdCNlbmRpZlxuXHQjaWYgTlVNX1NQT1RfTElHSFRfU0hBRE9XUyA+IDBcblx0U3BvdExpZ2h0U2hhZG93IHNwb3RMaWdodDtcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fU1BPVF9MSUdIVF9TSEFET1dTOyBpICsrICkge1xuXHRcdHNwb3RMaWdodCA9IHNwb3RMaWdodFNoYWRvd3NbIGkgXTtcblx0XHRzaGFkb3cgKj0gcmVjZWl2ZVNoYWRvdyA/IGdldFNoYWRvdyggc3BvdFNoYWRvd01hcFsgaSBdLCBzcG90TGlnaHQuc2hhZG93TWFwU2l6ZSwgc3BvdExpZ2h0LnNoYWRvd0JpYXMsIHNwb3RMaWdodC5zaGFkb3dSYWRpdXMsIHZTcG90U2hhZG93Q29vcmRbIGkgXSApIDogMS4wO1xuXHR9XG5cdCNwcmFnbWEgdW5yb2xsX2xvb3BfZW5kXG5cdCNlbmRpZlxuXHQjaWYgTlVNX1BPSU5UX0xJR0hUX1NIQURPV1MgPiAwXG5cdFBvaW50TGlnaHRTaGFkb3cgcG9pbnRMaWdodDtcblx0I3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxuXHRmb3IgKCBpbnQgaSA9IDA7IGkgPCBOVU1fUE9JTlRfTElHSFRfU0hBRE9XUzsgaSArKyApIHtcblx0XHRwb2ludExpZ2h0ID0gcG9pbnRMaWdodFNoYWRvd3NbIGkgXTtcblx0XHRzaGFkb3cgKj0gcmVjZWl2ZVNoYWRvdyA/IGdldFBvaW50U2hhZG93KCBwb2ludFNoYWRvd01hcFsgaSBdLCBwb2ludExpZ2h0LnNoYWRvd01hcFNpemUsIHBvaW50TGlnaHQuc2hhZG93QmlhcywgcG9pbnRMaWdodC5zaGFkb3dSYWRpdXMsIHZQb2ludFNoYWRvd0Nvb3JkWyBpIF0sIHBvaW50TGlnaHQuc2hhZG93Q2FtZXJhTmVhciwgcG9pbnRMaWdodC5zaGFkb3dDYW1lcmFGYXIgKSA6IDEuMDtcblx0fVxuXHQjcHJhZ21hIHVucm9sbF9sb29wX2VuZFxuXHQjZW5kaWZcblx0I2VuZGlmXG5cdHJldHVybiBzaGFkb3c7XG59Iixza2luYmFzZV92ZXJ0ZXg6IiNpZmRlZiBVU0VfU0tJTk5JTkdcblx0bWF0NCBib25lTWF0WCA9IGdldEJvbmVNYXRyaXgoIHNraW5JbmRleC54ICk7XG5cdG1hdDQgYm9uZU1hdFkgPSBnZXRCb25lTWF0cml4KCBza2luSW5kZXgueSApO1xuXHRtYXQ0IGJvbmVNYXRaID0gZ2V0Qm9uZU1hdHJpeCggc2tpbkluZGV4LnogKTtcblx0bWF0NCBib25lTWF0VyA9IGdldEJvbmVNYXRyaXgoIHNraW5JbmRleC53ICk7XG4jZW5kaWYiLHNraW5uaW5nX3BhcnNfdmVydGV4OiIjaWZkZWYgVVNFX1NLSU5OSU5HXG5cdHVuaWZvcm0gbWF0NCBiaW5kTWF0cml4O1xuXHR1bmlmb3JtIG1hdDQgYmluZE1hdHJpeEludmVyc2U7XG5cdCNpZmRlZiBCT05FX1RFWFRVUkVcblx0XHR1bmlmb3JtIGhpZ2hwIHNhbXBsZXIyRCBib25lVGV4dHVyZTtcblx0XHR1bmlmb3JtIGludCBib25lVGV4dHVyZVNpemU7XG5cdFx0bWF0NCBnZXRCb25lTWF0cml4KCBjb25zdCBpbiBmbG9hdCBpICkge1xuXHRcdFx0ZmxvYXQgaiA9IGkgKiA0LjA7XG5cdFx0XHRmbG9hdCB4ID0gbW9kKCBqLCBmbG9hdCggYm9uZVRleHR1cmVTaXplICkgKTtcblx0XHRcdGZsb2F0IHkgPSBmbG9vciggaiAvIGZsb2F0KCBib25lVGV4dHVyZVNpemUgKSApO1xuXHRcdFx0ZmxvYXQgZHggPSAxLjAgLyBmbG9hdCggYm9uZVRleHR1cmVTaXplICk7XG5cdFx0XHRmbG9hdCBkeSA9IDEuMCAvIGZsb2F0KCBib25lVGV4dHVyZVNpemUgKTtcblx0XHRcdHkgPSBkeSAqICggeSArIDAuNSApO1xuXHRcdFx0dmVjNCB2MSA9IHRleHR1cmUyRCggYm9uZVRleHR1cmUsIHZlYzIoIGR4ICogKCB4ICsgMC41ICksIHkgKSApO1xuXHRcdFx0dmVjNCB2MiA9IHRleHR1cmUyRCggYm9uZVRleHR1cmUsIHZlYzIoIGR4ICogKCB4ICsgMS41ICksIHkgKSApO1xuXHRcdFx0dmVjNCB2MyA9IHRleHR1cmUyRCggYm9uZVRleHR1cmUsIHZlYzIoIGR4ICogKCB4ICsgMi41ICksIHkgKSApO1xuXHRcdFx0dmVjNCB2NCA9IHRleHR1cmUyRCggYm9uZVRleHR1cmUsIHZlYzIoIGR4ICogKCB4ICsgMy41ICksIHkgKSApO1xuXHRcdFx0bWF0NCBib25lID0gbWF0NCggdjEsIHYyLCB2MywgdjQgKTtcblx0XHRcdHJldHVybiBib25lO1xuXHRcdH1cblx0I2Vsc2Vcblx0XHR1bmlmb3JtIG1hdDQgYm9uZU1hdHJpY2VzWyBNQVhfQk9ORVMgXTtcblx0XHRtYXQ0IGdldEJvbmVNYXRyaXgoIGNvbnN0IGluIGZsb2F0IGkgKSB7XG5cdFx0XHRtYXQ0IGJvbmUgPSBib25lTWF0cmljZXNbIGludChpKSBdO1xuXHRcdFx0cmV0dXJuIGJvbmU7XG5cdFx0fVxuXHQjZW5kaWZcbiNlbmRpZiIsc2tpbm5pbmdfdmVydGV4OiIjaWZkZWYgVVNFX1NLSU5OSU5HXG5cdHZlYzQgc2tpblZlcnRleCA9IGJpbmRNYXRyaXggKiB2ZWM0KCB0cmFuc2Zvcm1lZCwgMS4wICk7XG5cdHZlYzQgc2tpbm5lZCA9IHZlYzQoIDAuMCApO1xuXHRza2lubmVkICs9IGJvbmVNYXRYICogc2tpblZlcnRleCAqIHNraW5XZWlnaHQueDtcblx0c2tpbm5lZCArPSBib25lTWF0WSAqIHNraW5WZXJ0ZXggKiBza2luV2VpZ2h0Lnk7XG5cdHNraW5uZWQgKz0gYm9uZU1hdFogKiBza2luVmVydGV4ICogc2tpbldlaWdodC56O1xuXHRza2lubmVkICs9IGJvbmVNYXRXICogc2tpblZlcnRleCAqIHNraW5XZWlnaHQudztcblx0dHJhbnNmb3JtZWQgPSAoIGJpbmRNYXRyaXhJbnZlcnNlICogc2tpbm5lZCApLnh5ejtcbiNlbmRpZiIsc2tpbm5vcm1hbF92ZXJ0ZXg6IiNpZmRlZiBVU0VfU0tJTk5JTkdcblx0bWF0NCBza2luTWF0cml4ID0gbWF0NCggMC4wICk7XG5cdHNraW5NYXRyaXggKz0gc2tpbldlaWdodC54ICogYm9uZU1hdFg7XG5cdHNraW5NYXRyaXggKz0gc2tpbldlaWdodC55ICogYm9uZU1hdFk7XG5cdHNraW5NYXRyaXggKz0gc2tpbldlaWdodC56ICogYm9uZU1hdFo7XG5cdHNraW5NYXRyaXggKz0gc2tpbldlaWdodC53ICogYm9uZU1hdFc7XG5cdHNraW5NYXRyaXggPSBiaW5kTWF0cml4SW52ZXJzZSAqIHNraW5NYXRyaXggKiBiaW5kTWF0cml4O1xuXHRvYmplY3ROb3JtYWwgPSB2ZWM0KCBza2luTWF0cml4ICogdmVjNCggb2JqZWN0Tm9ybWFsLCAwLjAgKSApLnh5ejtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0b2JqZWN0VGFuZ2VudCA9IHZlYzQoIHNraW5NYXRyaXggKiB2ZWM0KCBvYmplY3RUYW5nZW50LCAwLjAgKSApLnh5ejtcblx0I2VuZGlmXG4jZW5kaWYiLHNwZWN1bGFybWFwX2ZyYWdtZW50OiJmbG9hdCBzcGVjdWxhclN0cmVuZ3RoO1xuI2lmZGVmIFVTRV9TUEVDVUxBUk1BUFxuXHR2ZWM0IHRleGVsU3BlY3VsYXIgPSB0ZXh0dXJlMkQoIHNwZWN1bGFyTWFwLCB2VXYgKTtcblx0c3BlY3VsYXJTdHJlbmd0aCA9IHRleGVsU3BlY3VsYXIucjtcbiNlbHNlXG5cdHNwZWN1bGFyU3RyZW5ndGggPSAxLjA7XG4jZW5kaWYiLHNwZWN1bGFybWFwX3BhcnNfZnJhZ21lbnQ6IiNpZmRlZiBVU0VfU1BFQ1VMQVJNQVBcblx0dW5pZm9ybSBzYW1wbGVyMkQgc3BlY3VsYXJNYXA7XG4jZW5kaWYiLHRvbmVtYXBwaW5nX2ZyYWdtZW50OiIjaWYgZGVmaW5lZCggVE9ORV9NQVBQSU5HIClcblx0Z2xfRnJhZ0NvbG9yLnJnYiA9IHRvbmVNYXBwaW5nKCBnbF9GcmFnQ29sb3IucmdiICk7XG4jZW5kaWYiLHRvbmVtYXBwaW5nX3BhcnNfZnJhZ21lbnQ6IiNpZm5kZWYgc2F0dXJhdGVcbiNkZWZpbmUgc2F0dXJhdGUoYSkgY2xhbXAoIGEsIDAuMCwgMS4wIClcbiNlbmRpZlxudW5pZm9ybSBmbG9hdCB0b25lTWFwcGluZ0V4cG9zdXJlO1xudmVjMyBMaW5lYXJUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0cmV0dXJuIHRvbmVNYXBwaW5nRXhwb3N1cmUgKiBjb2xvcjtcbn1cbnZlYzMgUmVpbmhhcmRUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0Y29sb3IgKj0gdG9uZU1hcHBpbmdFeHBvc3VyZTtcblx0cmV0dXJuIHNhdHVyYXRlKCBjb2xvciAvICggdmVjMyggMS4wICkgKyBjb2xvciApICk7XG59XG52ZWMzIE9wdGltaXplZENpbmVvblRvbmVNYXBwaW5nKCB2ZWMzIGNvbG9yICkge1xuXHRjb2xvciAqPSB0b25lTWFwcGluZ0V4cG9zdXJlO1xuXHRjb2xvciA9IG1heCggdmVjMyggMC4wICksIGNvbG9yIC0gMC4wMDQgKTtcblx0cmV0dXJuIHBvdyggKCBjb2xvciAqICggNi4yICogY29sb3IgKyAwLjUgKSApIC8gKCBjb2xvciAqICggNi4yICogY29sb3IgKyAxLjcgKSArIDAuMDYgKSwgdmVjMyggMi4yICkgKTtcbn1cbnZlYzMgUlJUQW5kT0RURml0KCB2ZWMzIHYgKSB7XG5cdHZlYzMgYSA9IHYgKiAoIHYgKyAwLjAyNDU3ODYgKSAtIDAuMDAwMDkwNTM3O1xuXHR2ZWMzIGIgPSB2ICogKCAwLjk4MzcyOSAqIHYgKyAwLjQzMjk1MTAgKSArIDAuMjM4MDgxO1xuXHRyZXR1cm4gYSAvIGI7XG59XG52ZWMzIEFDRVNGaWxtaWNUb25lTWFwcGluZyggdmVjMyBjb2xvciApIHtcblx0Y29uc3QgbWF0MyBBQ0VTSW5wdXRNYXQgPSBtYXQzKFxuXHRcdHZlYzMoIDAuNTk3MTksIDAuMDc2MDAsIDAuMDI4NDAgKSxcdFx0dmVjMyggMC4zNTQ1OCwgMC45MDgzNCwgMC4xMzM4MyApLFxuXHRcdHZlYzMoIDAuMDQ4MjMsIDAuMDE1NjYsIDAuODM3NzcgKVxuXHQpO1xuXHRjb25zdCBtYXQzIEFDRVNPdXRwdXRNYXQgPSBtYXQzKFxuXHRcdHZlYzMoICAxLjYwNDc1LCAtMC4xMDIwOCwgLTAuMDAzMjcgKSxcdFx0dmVjMyggLTAuNTMxMDgsICAxLjEwODEzLCAtMC4wNzI3NiApLFxuXHRcdHZlYzMoIC0wLjA3MzY3LCAtMC4wMDYwNSwgIDEuMDc2MDIgKVxuXHQpO1xuXHRjb2xvciAqPSB0b25lTWFwcGluZ0V4cG9zdXJlIC8gMC42O1xuXHRjb2xvciA9IEFDRVNJbnB1dE1hdCAqIGNvbG9yO1xuXHRjb2xvciA9IFJSVEFuZE9EVEZpdCggY29sb3IgKTtcblx0Y29sb3IgPSBBQ0VTT3V0cHV0TWF0ICogY29sb3I7XG5cdHJldHVybiBzYXR1cmF0ZSggY29sb3IgKTtcbn1cbnZlYzMgQ3VzdG9tVG9uZU1hcHBpbmcoIHZlYzMgY29sb3IgKSB7IHJldHVybiBjb2xvcjsgfSIsdHJhbnNtaXNzaW9uX2ZyYWdtZW50OiIjaWZkZWYgVVNFX1RSQU5TTUlTU0lPTlxuXHRmbG9hdCB0cmFuc21pc3Npb25GYWN0b3IgPSB0cmFuc21pc3Npb247XG5cdGZsb2F0IHRoaWNrbmVzc0ZhY3RvciA9IHRoaWNrbmVzcztcblx0I2lmZGVmIFVTRV9UUkFOU01JU1NJT05NQVBcblx0XHR0cmFuc21pc3Npb25GYWN0b3IgKj0gdGV4dHVyZTJEKCB0cmFuc21pc3Npb25NYXAsIHZVdiApLnI7XG5cdCNlbmRpZlxuXHQjaWZkZWYgVVNFX1RISUNLTkVTU01BUFxuXHRcdHRoaWNrbmVzc0ZhY3RvciAqPSB0ZXh0dXJlMkQoIHRoaWNrbmVzc01hcCwgdlV2ICkuZztcblx0I2VuZGlmXG5cdHZlYzMgcG9zID0gdldvcmxkUG9zaXRpb24ueHl6IC8gdldvcmxkUG9zaXRpb24udztcblx0dmVjMyB2ID0gbm9ybWFsaXplKCBjYW1lcmFQb3NpdGlvbiAtIHBvcyApO1xuXHR2ZWMzIG4gPSBpbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uKCBub3JtYWwsIHZpZXdNYXRyaXggKTtcblx0ZmxvYXQgaW9yID0gKCAxLjAgKyAwLjQgKiByZWZsZWN0aXZpdHkgKSAvICggMS4wIC0gMC40ICogcmVmbGVjdGl2aXR5ICk7XG5cdHZlYzMgdHJhbnNtaXNzaW9uID0gdHJhbnNtaXNzaW9uRmFjdG9yICogZ2V0SUJMVm9sdW1lUmVmcmFjdGlvbihcblx0XHRuLCB2LCByb3VnaG5lc3NGYWN0b3IsIG1hdGVyaWFsLmRpZmZ1c2VDb2xvciwgbWF0ZXJpYWwuc3BlY3VsYXJDb2xvcixcblx0XHRwb3MsIG1vZGVsTWF0cml4LCB2aWV3TWF0cml4LCBwcm9qZWN0aW9uTWF0cml4LCBpb3IsIHRoaWNrbmVzc0ZhY3Rvcixcblx0XHRhdHRlbnVhdGlvblRpbnQsIGF0dGVudWF0aW9uRGlzdGFuY2UgKTtcblx0dG90YWxEaWZmdXNlID0gbWl4KCB0b3RhbERpZmZ1c2UsIHRyYW5zbWlzc2lvbiwgdHJhbnNtaXNzaW9uRmFjdG9yICk7XG4jZW5kaWYiLHRyYW5zbWlzc2lvbl9wYXJzX2ZyYWdtZW50OiIjaWZkZWYgVVNFX1RSQU5TTUlTU0lPTlxuXHQjaWZkZWYgVVNFX1RSQU5TTUlTU0lPTk1BUFxuXHRcdHVuaWZvcm0gc2FtcGxlcjJEIHRyYW5zbWlzc2lvbk1hcDtcblx0I2VuZGlmXG5cdCNpZmRlZiBVU0VfVEhJQ0tORVNTTUFQXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgdGhpY2tuZXNzTWFwO1xuXHQjZW5kaWZcblx0dW5pZm9ybSB2ZWMyIHRyYW5zbWlzc2lvblNhbXBsZXJTaXplO1xuXHR1bmlmb3JtIHNhbXBsZXIyRCB0cmFuc21pc3Npb25TYW1wbGVyTWFwO1xuXHR1bmlmb3JtIG1hdDQgbW9kZWxNYXRyaXg7XG5cdHVuaWZvcm0gbWF0NCBwcm9qZWN0aW9uTWF0cml4O1xuXHR2YXJ5aW5nIHZlYzQgdldvcmxkUG9zaXRpb247XG5cdHZlYzMgZ2V0Vm9sdW1lVHJhbnNtaXNzaW9uUmF5KHZlYzMgbiwgdmVjMyB2LCBmbG9hdCB0aGlja25lc3MsIGZsb2F0IGlvciwgbWF0NCBtb2RlbE1hdHJpeCkge1xuXHRcdHZlYzMgcmVmcmFjdGlvblZlY3RvciA9IHJlZnJhY3QoLXYsIG5vcm1hbGl6ZShuKSwgMS4wIC8gaW9yKTtcblx0XHR2ZWMzIG1vZGVsU2NhbGU7XG5cdFx0bW9kZWxTY2FsZS54ID0gbGVuZ3RoKHZlYzMobW9kZWxNYXRyaXhbMF0ueHl6KSk7XG5cdFx0bW9kZWxTY2FsZS55ID0gbGVuZ3RoKHZlYzMobW9kZWxNYXRyaXhbMV0ueHl6KSk7XG5cdFx0bW9kZWxTY2FsZS56ID0gbGVuZ3RoKHZlYzMobW9kZWxNYXRyaXhbMl0ueHl6KSk7XG5cdFx0cmV0dXJuIG5vcm1hbGl6ZShyZWZyYWN0aW9uVmVjdG9yKSAqIHRoaWNrbmVzcyAqIG1vZGVsU2NhbGU7XG5cdH1cblx0ZmxvYXQgYXBwbHlJb3JUb1JvdWdobmVzcyhmbG9hdCByb3VnaG5lc3MsIGZsb2F0IGlvcikge1xuXHRcdHJldHVybiByb3VnaG5lc3MgKiBjbGFtcChpb3IgKiAyLjAgLSAyLjAsIDAuMCwgMS4wKTtcblx0fVxuXHR2ZWMzIGdldFRyYW5zbWlzc2lvblNhbXBsZSh2ZWMyIGZyYWdDb29yZCwgZmxvYXQgcm91Z2huZXNzLCBmbG9hdCBpb3IpIHtcblx0XHRmbG9hdCBmcmFtZWJ1ZmZlckxvZCA9IGxvZzIodHJhbnNtaXNzaW9uU2FtcGxlclNpemUueCkgKiBhcHBseUlvclRvUm91Z2huZXNzKHJvdWdobmVzcywgaW9yKTtcblx0XHRyZXR1cm4gdGV4dHVyZTJETG9kRVhUKHRyYW5zbWlzc2lvblNhbXBsZXJNYXAsIGZyYWdDb29yZC54eSwgZnJhbWVidWZmZXJMb2QpLnJnYjtcblx0fVxuXHR2ZWMzIGFwcGx5Vm9sdW1lQXR0ZW51YXRpb24odmVjMyByYWRpYW5jZSwgZmxvYXQgdHJhbnNtaXNzaW9uRGlzdGFuY2UsIHZlYzMgYXR0ZW51YXRpb25Db2xvciwgZmxvYXQgYXR0ZW51YXRpb25EaXN0YW5jZSkge1xuXHRcdGlmIChhdHRlbnVhdGlvbkRpc3RhbmNlID09IDAuMCkge1xuXHRcdFx0cmV0dXJuIHJhZGlhbmNlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR2ZWMzIGF0dGVudWF0aW9uQ29lZmZpY2llbnQgPSAtbG9nKGF0dGVudWF0aW9uQ29sb3IpIC8gYXR0ZW51YXRpb25EaXN0YW5jZTtcblx0XHRcdHZlYzMgdHJhbnNtaXR0YW5jZSA9IGV4cCgtYXR0ZW51YXRpb25Db2VmZmljaWVudCAqIHRyYW5zbWlzc2lvbkRpc3RhbmNlKTtcdFx0XHRyZXR1cm4gdHJhbnNtaXR0YW5jZSAqIHJhZGlhbmNlO1xuXHRcdH1cblx0fVxuXHR2ZWMzIGdldElCTFZvbHVtZVJlZnJhY3Rpb24odmVjMyBuLCB2ZWMzIHYsIGZsb2F0IHBlcmNlcHR1YWxSb3VnaG5lc3MsIHZlYzMgYmFzZUNvbG9yLCB2ZWMzIHNwZWN1bGFyQ29sb3IsXG5cdFx0dmVjMyBwb3NpdGlvbiwgbWF0NCBtb2RlbE1hdHJpeCwgbWF0NCB2aWV3TWF0cml4LCBtYXQ0IHByb2pNYXRyaXgsIGZsb2F0IGlvciwgZmxvYXQgdGhpY2tuZXNzLFxuXHRcdHZlYzMgYXR0ZW51YXRpb25Db2xvciwgZmxvYXQgYXR0ZW51YXRpb25EaXN0YW5jZSkge1xuXHRcdHZlYzMgdHJhbnNtaXNzaW9uUmF5ID0gZ2V0Vm9sdW1lVHJhbnNtaXNzaW9uUmF5KG4sIHYsIHRoaWNrbmVzcywgaW9yLCBtb2RlbE1hdHJpeCk7XG5cdFx0dmVjMyByZWZyYWN0ZWRSYXlFeGl0ID0gcG9zaXRpb24gKyB0cmFuc21pc3Npb25SYXk7XG5cdFx0dmVjNCBuZGNQb3MgPSBwcm9qTWF0cml4ICogdmlld01hdHJpeCAqIHZlYzQocmVmcmFjdGVkUmF5RXhpdCwgMS4wKTtcblx0XHR2ZWMyIHJlZnJhY3Rpb25Db29yZHMgPSBuZGNQb3MueHkgLyBuZGNQb3Mudztcblx0XHRyZWZyYWN0aW9uQ29vcmRzICs9IDEuMDtcblx0XHRyZWZyYWN0aW9uQ29vcmRzIC89IDIuMDtcblx0XHR2ZWMzIHRyYW5zbWl0dGVkTGlnaHQgPSBnZXRUcmFuc21pc3Npb25TYW1wbGUocmVmcmFjdGlvbkNvb3JkcywgcGVyY2VwdHVhbFJvdWdobmVzcywgaW9yKTtcblx0XHR2ZWMzIGF0dGVudWF0ZWRDb2xvciA9IGFwcGx5Vm9sdW1lQXR0ZW51YXRpb24odHJhbnNtaXR0ZWRMaWdodCwgbGVuZ3RoKHRyYW5zbWlzc2lvblJheSksIGF0dGVudWF0aW9uQ29sb3IsIGF0dGVudWF0aW9uRGlzdGFuY2UpO1xuXHRcdHJldHVybiAoMS4wIC0gc3BlY3VsYXJDb2xvcikgKiBhdHRlbnVhdGVkQ29sb3IgKiBiYXNlQ29sb3I7XG5cdH1cbiNlbmRpZiIsdXZfcGFyc19mcmFnbWVudDoiI2lmICggZGVmaW5lZCggVVNFX1VWICkgJiYgISBkZWZpbmVkKCBVVlNfVkVSVEVYX09OTFkgKSApXG5cdHZhcnlpbmcgdmVjMiB2VXY7XG4jZW5kaWYiLHV2X3BhcnNfdmVydGV4OiIjaWZkZWYgVVNFX1VWXG5cdCNpZmRlZiBVVlNfVkVSVEVYX09OTFlcblx0XHR2ZWMyIHZVdjtcblx0I2Vsc2Vcblx0XHR2YXJ5aW5nIHZlYzIgdlV2O1xuXHQjZW5kaWZcblx0dW5pZm9ybSBtYXQzIHV2VHJhbnNmb3JtO1xuI2VuZGlmIix1dl92ZXJ0ZXg6IiNpZmRlZiBVU0VfVVZcblx0dlV2ID0gKCB1dlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcbiNlbmRpZiIsdXYyX3BhcnNfZnJhZ21lbnQ6IiNpZiBkZWZpbmVkKCBVU0VfTElHSFRNQVAgKSB8fCBkZWZpbmVkKCBVU0VfQU9NQVAgKVxuXHR2YXJ5aW5nIHZlYzIgdlV2MjtcbiNlbmRpZiIsdXYyX3BhcnNfdmVydGV4OiIjaWYgZGVmaW5lZCggVVNFX0xJR0hUTUFQICkgfHwgZGVmaW5lZCggVVNFX0FPTUFQIClcblx0YXR0cmlidXRlIHZlYzIgdXYyO1xuXHR2YXJ5aW5nIHZlYzIgdlV2Mjtcblx0dW5pZm9ybSBtYXQzIHV2MlRyYW5zZm9ybTtcbiNlbmRpZiIsdXYyX3ZlcnRleDoiI2lmIGRlZmluZWQoIFVTRV9MSUdIVE1BUCApIHx8IGRlZmluZWQoIFVTRV9BT01BUCApXG5cdHZVdjIgPSAoIHV2MlRyYW5zZm9ybSAqIHZlYzMoIHV2MiwgMSApICkueHk7XG4jZW5kaWYiLHdvcmxkcG9zX3ZlcnRleDoiI2lmIGRlZmluZWQoIFVTRV9FTlZNQVAgKSB8fCBkZWZpbmVkKCBESVNUQU5DRSApIHx8IGRlZmluZWQgKCBVU0VfU0hBRE9XTUFQICkgfHwgZGVmaW5lZCAoIFVTRV9UUkFOU01JU1NJT04gKVxuXHR2ZWM0IHdvcmxkUG9zaXRpb24gPSB2ZWM0KCB0cmFuc2Zvcm1lZCwgMS4wICk7XG5cdCNpZmRlZiBVU0VfSU5TVEFOQ0lOR1xuXHRcdHdvcmxkUG9zaXRpb24gPSBpbnN0YW5jZU1hdHJpeCAqIHdvcmxkUG9zaXRpb247XG5cdCNlbmRpZlxuXHR3b3JsZFBvc2l0aW9uID0gbW9kZWxNYXRyaXggKiB3b3JsZFBvc2l0aW9uO1xuI2VuZGlmIixiYWNrZ3JvdW5kX2ZyYWc6InVuaWZvcm0gc2FtcGxlcjJEIHQyRDtcbnZhcnlpbmcgdmVjMiB2VXY7XG52b2lkIG1haW4oKSB7XG5cdHZlYzQgdGV4Q29sb3IgPSB0ZXh0dXJlMkQoIHQyRCwgdlV2ICk7XG5cdGdsX0ZyYWdDb2xvciA9IG1hcFRleGVsVG9MaW5lYXIoIHRleENvbG9yICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cbn0iLGJhY2tncm91bmRfdmVydDoidmFyeWluZyB2ZWMyIHZVdjtcbnVuaWZvcm0gbWF0MyB1dlRyYW5zZm9ybTtcbnZvaWQgbWFpbigpIHtcblx0dlV2ID0gKCB1dlRyYW5zZm9ybSAqIHZlYzMoIHV2LCAxICkgKS54eTtcblx0Z2xfUG9zaXRpb24gPSB2ZWM0KCBwb3NpdGlvbi54eSwgMS4wLCAxLjAgKTtcbn0iLGN1YmVfZnJhZzoiI2luY2x1ZGUgPGVudm1hcF9jb21tb25fcGFyc19mcmFnbWVudD5cbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbnZhcnlpbmcgdmVjMyB2V29ybGREaXJlY3Rpb247XG4jaW5jbHVkZSA8Y3ViZV91dl9yZWZsZWN0aW9uX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHR2ZWMzIHZSZWZsZWN0ID0gdldvcmxkRGlyZWN0aW9uO1xuXHQjaW5jbHVkZSA8ZW52bWFwX2ZyYWdtZW50PlxuXHRnbF9GcmFnQ29sb3IgPSBlbnZDb2xvcjtcblx0Z2xfRnJhZ0NvbG9yLmEgKj0gb3BhY2l0eTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxufSIsY3ViZV92ZXJ0OiJ2YXJ5aW5nIHZlYzMgdldvcmxkRGlyZWN0aW9uO1xuI2luY2x1ZGUgPGNvbW1vbj5cbnZvaWQgbWFpbigpIHtcblx0dldvcmxkRGlyZWN0aW9uID0gdHJhbnNmb3JtRGlyZWN0aW9uKCBwb3NpdGlvbiwgbW9kZWxNYXRyaXggKTtcblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHRnbF9Qb3NpdGlvbi56ID0gZ2xfUG9zaXRpb24udztcbn0iLGRlcHRoX2ZyYWc6IiNpZiBERVBUSF9QQUNLSU5HID09IDMyMDBcblx0dW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnQ+XG52YXJ5aW5nIHZlYzIgdkhpZ2hQcmVjaXNpb25aVztcbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCAxLjAgKTtcblx0I2lmIERFUFRIX1BBQ0tJTkcgPT0gMzIwMFxuXHRcdGRpZmZ1c2VDb2xvci5hID0gb3BhY2l0eTtcblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHRmbG9hdCBmcmFnQ29vcmRaID0gMC41ICogdkhpZ2hQcmVjaXNpb25aV1swXSAvIHZIaWdoUHJlY2lzaW9uWldbMV0gKyAwLjU7XG5cdCNpZiBERVBUSF9QQUNLSU5HID09IDMyMDBcblx0XHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCB2ZWMzKCAxLjAgLSBmcmFnQ29vcmRaICksIG9wYWNpdHkgKTtcblx0I2VsaWYgREVQVEhfUEFDS0lORyA9PSAzMjAxXG5cdFx0Z2xfRnJhZ0NvbG9yID0gcGFja0RlcHRoVG9SR0JBKCBmcmFnQ29vcmRaICk7XG5cdCNlbmRpZlxufSIsZGVwdGhfdmVydDoiI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8c2tpbm5pbmdfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4PlxudmFyeWluZyB2ZWMyIHZIaWdoUHJlY2lzaW9uWlc7XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2luYmFzZV92ZXJ0ZXg+XG5cdCNpZmRlZiBVU0VfRElTUExBQ0VNRU5UTUFQXG5cdFx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0XHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxza2lubm9ybWFsX3ZlcnRleD5cblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHR2SGlnaFByZWNpc2lvblpXID0gZ2xfUG9zaXRpb24uenc7XG59IixkaXN0YW5jZVJHQkFfZnJhZzoiI2RlZmluZSBESVNUQU5DRVxudW5pZm9ybSB2ZWMzIHJlZmVyZW5jZVBvc2l0aW9uO1xudW5pZm9ybSBmbG9hdCBuZWFyRGlzdGFuY2U7XG51bmlmb3JtIGZsb2F0IGZhckRpc3RhbmNlO1xudmFyeWluZyB2ZWMzIHZXb3JsZFBvc2l0aW9uO1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxwYWNraW5nPlxuI2luY2x1ZGUgPHV2X3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YWxwaGFtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbiAoKSB7XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnQ+XG5cdHZlYzQgZGlmZnVzZUNvbG9yID0gdmVjNCggMS4wICk7XG5cdCNpbmNsdWRlIDxtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0ZmxvYXQgZGlzdCA9IGxlbmd0aCggdldvcmxkUG9zaXRpb24gLSByZWZlcmVuY2VQb3NpdGlvbiApO1xuXHRkaXN0ID0gKCBkaXN0IC0gbmVhckRpc3RhbmNlICkgLyAoIGZhckRpc3RhbmNlIC0gbmVhckRpc3RhbmNlICk7XG5cdGRpc3QgPSBzYXR1cmF0ZSggZGlzdCApO1xuXHRnbF9GcmFnQ29sb3IgPSBwYWNrRGVwdGhUb1JHQkEoIGRpc3QgKTtcbn0iLGRpc3RhbmNlUkdCQV92ZXJ0OiIjZGVmaW5lIERJU1RBTkNFXG52YXJ5aW5nIHZlYzMgdldvcmxkUG9zaXRpb247XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxtb3JwaHRhcmdldF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxza2lubmluZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2luYmFzZV92ZXJ0ZXg+XG5cdCNpZmRlZiBVU0VfRElTUExBQ0VNRU5UTUFQXG5cdFx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0XHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxza2lubm9ybWFsX3ZlcnRleD5cblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx3b3JsZHBvc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHR2V29ybGRQb3NpdGlvbiA9IHdvcmxkUG9zaXRpb24ueHl6O1xufSIsZXF1aXJlY3RfZnJhZzoidW5pZm9ybSBzYW1wbGVyMkQgdEVxdWlyZWN0O1xudmFyeWluZyB2ZWMzIHZXb3JsZERpcmVjdGlvbjtcbiNpbmNsdWRlIDxjb21tb24+XG52b2lkIG1haW4oKSB7XG5cdHZlYzMgZGlyZWN0aW9uID0gbm9ybWFsaXplKCB2V29ybGREaXJlY3Rpb24gKTtcblx0dmVjMiBzYW1wbGVVViA9IGVxdWlyZWN0VXYoIGRpcmVjdGlvbiApO1xuXHR2ZWM0IHRleENvbG9yID0gdGV4dHVyZTJEKCB0RXF1aXJlY3QsIHNhbXBsZVVWICk7XG5cdGdsX0ZyYWdDb2xvciA9IG1hcFRleGVsVG9MaW5lYXIoIHRleENvbG9yICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cbn0iLGVxdWlyZWN0X3ZlcnQ6InZhcnlpbmcgdmVjMyB2V29ybGREaXJlY3Rpb247XG4jaW5jbHVkZSA8Y29tbW9uPlxudm9pZCBtYWluKCkge1xuXHR2V29ybGREaXJlY3Rpb24gPSB0cmFuc2Zvcm1EaXJlY3Rpb24oIHBvc2l0aW9uLCBtb2RlbE1hdHJpeCApO1xuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG59IixsaW5lZGFzaGVkX2ZyYWc6InVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xudW5pZm9ybSBmbG9hdCBkYXNoU2l6ZTtcbnVuaWZvcm0gZmxvYXQgdG90YWxTaXplO1xudmFyeWluZyBmbG9hdCB2TGluZURpc3RhbmNlO1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnQ+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnQ+XG5cdGlmICggbW9kKCB2TGluZURpc3RhbmNlLCB0b3RhbFNpemUgKSA+IGRhc2hTaXplICkge1xuXHRcdGRpc2NhcmQ7XG5cdH1cblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gdmVjMyggMC4wICk7XG5cdHZlYzQgZGlmZnVzZUNvbG9yID0gdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxjb2xvcl9mcmFnbWVudD5cblx0b3V0Z29pbmdMaWdodCA9IGRpZmZ1c2VDb2xvci5yZ2I7XG5cdGdsX0ZyYWdDb2xvciA9IHZlYzQoIG91dGdvaW5nTGlnaHQsIGRpZmZ1c2VDb2xvci5hICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGZvZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPHByZW11bHRpcGxpZWRfYWxwaGFfZnJhZ21lbnQ+XG59IixsaW5lZGFzaGVkX3ZlcnQ6InVuaWZvcm0gZmxvYXQgc2NhbGU7XG5hdHRyaWJ1dGUgZmxvYXQgbGluZURpc3RhbmNlO1xudmFyeWluZyBmbG9hdCB2TGluZURpc3RhbmNlO1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxmb2dfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bW9ycGh0YXJnZXRfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHR2TGluZURpc3RhbmNlID0gc2NhbGUgKiBsaW5lRGlzdGFuY2U7XG5cdCNpbmNsdWRlIDxjb2xvcl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxmb2dfdmVydGV4PlxufSIsbWVzaGJhc2ljX2ZyYWc6InVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxkaXRoZXJpbmdfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2X3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXYyX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YWxwaGFtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhb21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxpZ2h0bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVudm1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGN1YmVfdXZfcmVmbGVjdGlvbl9mcmFnbWVudD5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzcGVjdWxhcm1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnQ+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnQ+XG5cdHZlYzQgZGlmZnVzZUNvbG9yID0gdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxjb2xvcl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhbWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGF0ZXN0X2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8c3BlY3VsYXJtYXBfZnJhZ21lbnQ+XG5cdFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ID0gUmVmbGVjdGVkTGlnaHQoIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICksIHZlYzMoIDAuMCApICk7XG5cdCNpZmRlZiBVU0VfTElHSFRNQVBcblx0XG5cdFx0dmVjNCBsaWdodE1hcFRleGVsPSB0ZXh0dXJlMkQoIGxpZ2h0TWFwLCB2VXYyICk7XG5cdFx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICs9IGxpZ2h0TWFwVGV4ZWxUb0xpbmVhciggbGlnaHRNYXBUZXhlbCApLnJnYiAqIGxpZ2h0TWFwSW50ZW5zaXR5O1xuXHQjZWxzZVxuXHRcdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSB2ZWMzKCAxLjAgKTtcblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxhb21hcF9mcmFnbWVudD5cblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICo9IGRpZmZ1c2VDb2xvci5yZ2I7XG5cdHZlYzMgb3V0Z29pbmdMaWdodCA9IHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZTtcblx0I2luY2x1ZGUgPGVudm1hcF9mcmFnbWVudD5cblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGRpdGhlcmluZ19mcmFnbWVudD5cbn0iLG1lc2hiYXNpY192ZXJ0OiIjaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxlbnZtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPHV2Ml92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjb2xvcl92ZXJ0ZXg+XG5cdCNpZiBkZWZpbmVkICggVVNFX0VOVk1BUCApIHx8IGRlZmluZWQgKCBVU0VfU0tJTk5JTkcgKVxuXHRcdCNpbmNsdWRlIDxiZWdpbm5vcm1hbF92ZXJ0ZXg+XG5cdFx0I2luY2x1ZGUgPG1vcnBobm9ybWFsX3ZlcnRleD5cblx0XHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHRcdCNpbmNsdWRlIDxza2lubm9ybWFsX3ZlcnRleD5cblx0XHQjaW5jbHVkZSA8ZGVmYXVsdG5vcm1hbF92ZXJ0ZXg+XG5cdCNlbmRpZlxuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGh0YXJnZXRfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5pbmdfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHQjaW5jbHVkZSA8d29ybGRwb3NfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZW52bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPGZvZ192ZXJ0ZXg+XG59IixtZXNobGFtYmVydF9mcmFnOiJ1bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gdmVjMyBlbWlzc2l2ZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbnZhcnlpbmcgdmVjMyB2TGlnaHRGcm9udDtcbnZhcnlpbmcgdmVjMyB2SW5kaXJlY3RGcm9udDtcbiNpZmRlZiBET1VCTEVfU0lERURcblx0dmFyeWluZyB2ZWMzIHZMaWdodEJhY2s7XG5cdHZhcnlpbmcgdmVjMyB2SW5kaXJlY3RCYWNrO1xuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8ZGl0aGVyaW5nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YW9tYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsaWdodG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVtaXNzaXZlbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8ZW52bWFwX2NvbW1vbl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVudm1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGN1YmVfdXZfcmVmbGVjdGlvbl9mcmFnbWVudD5cbiNpbmNsdWRlIDxic2Rmcz5cbiNpbmNsdWRlIDxsaWdodHNfcGFyc19iZWdpbj5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzaGFkb3dtYXNrX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8c3BlY3VsYXJtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX2ZyYWdtZW50Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX2ZyYWdtZW50PlxuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0UmVmbGVjdGVkTGlnaHQgcmVmbGVjdGVkTGlnaHQgPSBSZWZsZWN0ZWRMaWdodCggdmVjMyggMC4wICksIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICkgKTtcblx0dmVjMyB0b3RhbEVtaXNzaXZlUmFkaWFuY2UgPSBlbWlzc2l2ZTtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Y29sb3JfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPHNwZWN1bGFybWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW1pc3NpdmVtYXBfZnJhZ21lbnQ+XG5cdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRyZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2UgKz0gKCBnbF9Gcm9udEZhY2luZyApID8gdkluZGlyZWN0RnJvbnQgOiB2SW5kaXJlY3RCYWNrO1xuXHQjZWxzZVxuXHRcdHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArPSB2SW5kaXJlY3RGcm9udDtcblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxsaWdodG1hcF9mcmFnbWVudD5cblx0cmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICo9IEJSREZfRGlmZnVzZV9MYW1iZXJ0KCBkaWZmdXNlQ29sb3IucmdiICk7XG5cdCNpZmRlZiBET1VCTEVfU0lERURcblx0XHRyZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlID0gKCBnbF9Gcm9udEZhY2luZyApID8gdkxpZ2h0RnJvbnQgOiB2TGlnaHRCYWNrO1xuXHQjZWxzZVxuXHRcdHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgPSB2TGlnaHRGcm9udDtcblx0I2VuZGlmXG5cdHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKj0gQlJERl9EaWZmdXNlX0xhbWJlcnQoIGRpZmZ1c2VDb2xvci5yZ2IgKSAqIGdldFNoYWRvd01hc2soKTtcblx0I2luY2x1ZGUgPGFvbWFwX2ZyYWdtZW50PlxuXHR2ZWMzIG91dGdvaW5nTGlnaHQgPSByZWZsZWN0ZWRMaWdodC5kaXJlY3REaWZmdXNlICsgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3REaWZmdXNlICsgdG90YWxFbWlzc2l2ZVJhZGlhbmNlO1xuXHQjaW5jbHVkZSA8ZW52bWFwX2ZyYWdtZW50PlxuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxwcmVtdWx0aXBsaWVkX2FscGhhX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZGl0aGVyaW5nX2ZyYWdtZW50PlxufSIsbWVzaGxhbWJlcnRfdmVydDoiI2RlZmluZSBMQU1CRVJUXG52YXJ5aW5nIHZlYzMgdkxpZ2h0RnJvbnQ7XG52YXJ5aW5nIHZlYzMgdkluZGlyZWN0RnJvbnQ7XG4jaWZkZWYgRE9VQkxFX1NJREVEXG5cdHZhcnlpbmcgdmVjMyB2TGlnaHRCYWNrO1xuXHR2YXJ5aW5nIHZlYzMgdkluZGlyZWN0QmFjaztcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDx1djJfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8ZW52bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGJzZGZzPlxuI2luY2x1ZGUgPGxpZ2h0c19wYXJzX2JlZ2luPlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGZvZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxtb3JwaHRhcmdldF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxza2lubmluZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8dXZfdmVydGV4PlxuXHQjaW5jbHVkZSA8dXYyX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBobm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGVmYXVsdG5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx3b3JsZHBvc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxlbnZtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8bGlnaHRzX2xhbWJlcnRfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2hhZG93bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPGZvZ192ZXJ0ZXg+XG59IixtZXNobWF0Y2FwX2ZyYWc6IiNkZWZpbmUgTUFUQ0FQXG51bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbnVuaWZvcm0gc2FtcGxlcjJEIG1hdGNhcDtcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxkaXRoZXJpbmdfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2X3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YWxwaGFtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxidW1wbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGFtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYXRlc3RfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfbWFwcz5cblx0dmVjMyB2aWV3RGlyID0gbm9ybWFsaXplKCB2Vmlld1Bvc2l0aW9uICk7XG5cdHZlYzMgeCA9IG5vcm1hbGl6ZSggdmVjMyggdmlld0Rpci56LCAwLjAsIC0gdmlld0Rpci54ICkgKTtcblx0dmVjMyB5ID0gY3Jvc3MoIHZpZXdEaXIsIHggKTtcblx0dmVjMiB1diA9IHZlYzIoIGRvdCggeCwgbm9ybWFsICksIGRvdCggeSwgbm9ybWFsICkgKSAqIDAuNDk1ICsgMC41O1xuXHQjaWZkZWYgVVNFX01BVENBUFxuXHRcdHZlYzQgbWF0Y2FwQ29sb3IgPSB0ZXh0dXJlMkQoIG1hdGNhcCwgdXYgKTtcblx0XHRtYXRjYXBDb2xvciA9IG1hdGNhcFRleGVsVG9MaW5lYXIoIG1hdGNhcENvbG9yICk7XG5cdCNlbHNlXG5cdFx0dmVjNCBtYXRjYXBDb2xvciA9IHZlYzQoIDEuMCApO1xuXHQjZW5kaWZcblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gZGlmZnVzZUNvbG9yLnJnYiAqIG1hdGNhcENvbG9yLnJnYjtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGRpdGhlcmluZ19mcmFnbWVudD5cbn0iLG1lc2htYXRjYXBfdmVydDoiI2RlZmluZSBNQVRDQVBcbnZhcnlpbmcgdmVjMyB2Vmlld1Bvc2l0aW9uO1xuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjb2xvcl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBobm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGVmYXVsdG5vcm1hbF92ZXJ0ZXg+XG5cdCNpZm5kZWYgRkxBVF9TSEFERURcblx0XHR2Tm9ybWFsID0gbm9ybWFsaXplKCB0cmFuc2Zvcm1lZE5vcm1hbCApO1xuXHRcdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdFx0dlRhbmdlbnQgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkVGFuZ2VudCApO1xuXHRcdFx0dkJpdGFuZ2VudCA9IG5vcm1hbGl6ZSggY3Jvc3MoIHZOb3JtYWwsIHZUYW5nZW50ICkgKiB0YW5nZW50LncgKTtcblx0XHQjZW5kaWZcblx0I2VuZGlmXG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxtb3JwaHRhcmdldF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxza2lubmluZ192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8cHJvamVjdF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cblx0dlZpZXdQb3NpdGlvbiA9IC0gbXZQb3NpdGlvbi54eXo7XG59IixtZXNodG9vbl9mcmFnOiIjZGVmaW5lIFRPT05cbnVuaWZvcm0gdmVjMyBkaWZmdXNlO1xudW5pZm9ybSB2ZWMzIGVtaXNzaXZlO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxwYWNraW5nPlxuI2luY2x1ZGUgPGRpdGhlcmluZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1djJfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFvbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bGlnaHRtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxlbWlzc2l2ZW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGdyYWRpZW50bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YnNkZnM+XG4jaW5jbHVkZSA8bGlnaHRzX3BhcnNfYmVnaW4+XG4jaW5jbHVkZSA8bGlnaHRzX3Rvb25fcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxidW1wbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ID0gUmVmbGVjdGVkTGlnaHQoIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICksIHZlYzMoIDAuMCApICk7XG5cdHZlYzMgdG90YWxFbWlzc2l2ZVJhZGlhbmNlID0gZW1pc3NpdmU7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGFtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYXRlc3RfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfbWFwcz5cblx0I2luY2x1ZGUgPGVtaXNzaXZlbWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bGlnaHRzX3Rvb25fZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxsaWdodHNfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxsaWdodHNfZnJhZ21lbnRfbWFwcz5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9lbmQ+XG5cdCNpbmNsdWRlIDxhb21hcF9mcmFnbWVudD5cblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gcmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArIHRvdGFsRW1pc3NpdmVSYWRpYW5jZTtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGRpdGhlcmluZ19mcmFnbWVudD5cbn0iLG1lc2h0b29uX3ZlcnQ6IiNkZWZpbmUgVE9PTlxudmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxkaXNwbGFjZW1lbnRtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx1djJfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y29sb3JfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dk5vcm1hbCA9IG5vcm1hbGl6ZSggdHJhbnNmb3JtZWROb3JtYWwgKTtcbiNlbmRpZlxuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGh0YXJnZXRfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5pbmdfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cblx0dlZpZXdQb3NpdGlvbiA9IC0gbXZQb3NpdGlvbi54eXo7XG5cdCNpbmNsdWRlIDx3b3JsZHBvc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxzaGFkb3dtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0iLG1lc2hwaG9uZ19mcmFnOiIjZGVmaW5lIFBIT05HXG51bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gdmVjMyBlbWlzc2l2ZTtcbnVuaWZvcm0gdmVjMyBzcGVjdWxhcjtcbnVuaWZvcm0gZmxvYXQgc2hpbmluZXNzO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxwYWNraW5nPlxuI2luY2x1ZGUgPGRpdGhlcmluZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1djJfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFvbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bGlnaHRtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxlbWlzc2l2ZW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVudm1hcF9jb21tb25fcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxlbnZtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjdWJlX3V2X3JlZmxlY3Rpb25fZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YnNkZnM+XG4jaW5jbHVkZSA8bGlnaHRzX3BhcnNfYmVnaW4+XG4jaW5jbHVkZSA8bGlnaHRzX3Bob25nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8c2hhZG93bWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YnVtcG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG5vcm1hbG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNwZWN1bGFybWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ID0gUmVmbGVjdGVkTGlnaHQoIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICksIHZlYzMoIDAuMCApICk7XG5cdHZlYzMgdG90YWxFbWlzc2l2ZVJhZGlhbmNlID0gZW1pc3NpdmU7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGFtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYXRlc3RfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxzcGVjdWxhcm1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPG5vcm1hbF9mcmFnbWVudF9tYXBzPlxuXHQjaW5jbHVkZSA8ZW1pc3NpdmVtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxsaWdodHNfcGhvbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxsaWdodHNfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxsaWdodHNfZnJhZ21lbnRfbWFwcz5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9lbmQ+XG5cdCNpbmNsdWRlIDxhb21hcF9mcmFnbWVudD5cblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gcmVmbGVjdGVkTGlnaHQuZGlyZWN0RGlmZnVzZSArIHJlZmxlY3RlZExpZ2h0LmluZGlyZWN0RGlmZnVzZSArIHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyICsgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3RTcGVjdWxhciArIHRvdGFsRW1pc3NpdmVSYWRpYW5jZTtcblx0I2luY2x1ZGUgPGVudm1hcF9mcmFnbWVudD5cblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGRpdGhlcmluZ19mcmFnbWVudD5cbn0iLG1lc2hwaG9uZ192ZXJ0OiIjZGVmaW5lIFBIT05HXG52YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG4jZW5kaWZcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8dXYyX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGRpc3BsYWNlbWVudG1hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxlbnZtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDx1djJfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y29sb3JfdmVydGV4PlxuXHQjaW5jbHVkZSA8YmVnaW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGhub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbmJhc2VfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxkZWZhdWx0bm9ybWFsX3ZlcnRleD5cbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dk5vcm1hbCA9IG5vcm1hbGl6ZSggdHJhbnNmb3JtZWROb3JtYWwgKTtcbiNlbmRpZlxuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGh0YXJnZXRfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5pbmdfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cblx0dlZpZXdQb3NpdGlvbiA9IC0gbXZQb3NpdGlvbi54eXo7XG5cdCNpbmNsdWRlIDx3b3JsZHBvc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxlbnZtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2hhZG93bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPGZvZ192ZXJ0ZXg+XG59IixtZXNocGh5c2ljYWxfZnJhZzoiI2RlZmluZSBTVEFOREFSRFxuI2lmZGVmIFBIWVNJQ0FMXG5cdCNkZWZpbmUgUkVGTEVDVElWSVRZXG5cdCNkZWZpbmUgQ0xFQVJDT0FUXG5cdCNkZWZpbmUgU1BFQ1VMQVJcbiNlbmRpZlxudW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIHZlYzMgZW1pc3NpdmU7XG51bmlmb3JtIGZsb2F0IHJvdWdobmVzcztcbnVuaWZvcm0gZmxvYXQgbWV0YWxuZXNzO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2lmZGVmIFVTRV9UUkFOU01JU1NJT05cblx0dW5pZm9ybSBmbG9hdCB0cmFuc21pc3Npb247XG5cdHVuaWZvcm0gZmxvYXQgdGhpY2tuZXNzO1xuXHR1bmlmb3JtIGZsb2F0IGF0dGVudWF0aW9uRGlzdGFuY2U7XG5cdHVuaWZvcm0gdmVjMyBhdHRlbnVhdGlvblRpbnQ7XG4jZW5kaWZcbiNpZmRlZiBSRUZMRUNUSVZJVFlcblx0dW5pZm9ybSBmbG9hdCByZWZsZWN0aXZpdHk7XG4jZW5kaWZcbiNpZmRlZiBTUEVDVUxBUlxuXHR1bmlmb3JtIGZsb2F0IHNwZWN1bGFySW50ZW5zaXR5O1xuXHR1bmlmb3JtIHZlYzMgc3BlY3VsYXJUaW50O1xuXHQjaWZkZWYgVVNFX1NQRUNVTEFSSU5URU5TSVRZTUFQXG5cdFx0dW5pZm9ybSBzYW1wbGVyMkQgc3BlY3VsYXJJbnRlbnNpdHlNYXA7XG5cdCNlbmRpZlxuXHQjaWZkZWYgVVNFX1NQRUNVTEFSVElOVE1BUFxuXHRcdHVuaWZvcm0gc2FtcGxlcjJEIHNwZWN1bGFyVGludE1hcDtcblx0I2VuZGlmXG4jZW5kaWZcbiNpZmRlZiBDTEVBUkNPQVRcblx0dW5pZm9ybSBmbG9hdCBjbGVhcmNvYXQ7XG5cdHVuaWZvcm0gZmxvYXQgY2xlYXJjb2F0Um91Z2huZXNzO1xuI2VuZGlmXG4jaWZkZWYgVVNFX1NIRUVOXG5cdHVuaWZvcm0gdmVjMyBzaGVlbjtcbiNlbmRpZlxudmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZhcnlpbmcgdmVjMyB2Tm9ybWFsO1xuXHQjaWZkZWYgVVNFX1RBTkdFTlRcblx0XHR2YXJ5aW5nIHZlYzMgdlRhbmdlbnQ7XG5cdFx0dmFyeWluZyB2ZWMzIHZCaXRhbmdlbnQ7XG5cdCNlbmRpZlxuI2VuZGlmXG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8ZGl0aGVyaW5nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDx1dl9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHV2Ml9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGFscGhhbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YW9tYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsaWdodG1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVtaXNzaXZlbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8YnNkZnM+XG4jaW5jbHVkZSA8dHJhbnNtaXNzaW9uX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y3ViZV91dl9yZWZsZWN0aW9uX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGVudm1hcF9jb21tb25fcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxlbnZtYXBfcGh5c2ljYWxfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxmb2dfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxsaWdodHNfcGFyc19iZWdpbj5cbiNpbmNsdWRlIDxsaWdodHNfcGh5c2ljYWxfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxidW1wbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y2xlYXJjb2F0X3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8cm91Z2huZXNzbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWV0YWxuZXNzbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjNCBkaWZmdXNlQ29sb3IgPSB2ZWM0KCBkaWZmdXNlLCBvcGFjaXR5ICk7XG5cdFJlZmxlY3RlZExpZ2h0IHJlZmxlY3RlZExpZ2h0ID0gUmVmbGVjdGVkTGlnaHQoIHZlYzMoIDAuMCApLCB2ZWMzKCAwLjAgKSwgdmVjMyggMC4wICksIHZlYzMoIDAuMCApICk7XG5cdHZlYzMgdG90YWxFbWlzc2l2ZVJhZGlhbmNlID0gZW1pc3NpdmU7XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPG1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGNvbG9yX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGFtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYXRlc3RfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxyb3VnaG5lc3NtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxtZXRhbG5lc3NtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxub3JtYWxfZnJhZ21lbnRfbWFwcz5cblx0I2luY2x1ZGUgPGNsZWFyY29hdF9ub3JtYWxfZnJhZ21lbnRfYmVnaW4+XG5cdCNpbmNsdWRlIDxjbGVhcmNvYXRfbm9ybWFsX2ZyYWdtZW50X21hcHM+XG5cdCNpbmNsdWRlIDxlbWlzc2l2ZW1hcF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxpZ2h0c19waHlzaWNhbF9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9iZWdpbj5cblx0I2luY2x1ZGUgPGxpZ2h0c19mcmFnbWVudF9tYXBzPlxuXHQjaW5jbHVkZSA8bGlnaHRzX2ZyYWdtZW50X2VuZD5cblx0I2luY2x1ZGUgPGFvbWFwX2ZyYWdtZW50PlxuXHR2ZWMzIHRvdGFsRGlmZnVzZSA9IHJlZmxlY3RlZExpZ2h0LmRpcmVjdERpZmZ1c2UgKyByZWZsZWN0ZWRMaWdodC5pbmRpcmVjdERpZmZ1c2U7XG5cdHZlYzMgdG90YWxTcGVjdWxhciA9IHJlZmxlY3RlZExpZ2h0LmRpcmVjdFNwZWN1bGFyICsgcmVmbGVjdGVkTGlnaHQuaW5kaXJlY3RTcGVjdWxhcjtcblx0I2luY2x1ZGUgPHRyYW5zbWlzc2lvbl9mcmFnbWVudD5cblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gdG90YWxEaWZmdXNlICsgdG90YWxTcGVjdWxhciArIHRvdGFsRW1pc3NpdmVSYWRpYW5jZTtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggb3V0Z29pbmdMaWdodCwgZGlmZnVzZUNvbG9yLmEgKTtcblx0I2luY2x1ZGUgPHRvbmVtYXBwaW5nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8ZW5jb2RpbmdzX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8Zm9nX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8cHJlbXVsdGlwbGllZF9hbHBoYV9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGRpdGhlcmluZ19mcmFnbWVudD5cbn0iLG1lc2hwaHlzaWNhbF92ZXJ0OiIjZGVmaW5lIFNUQU5EQVJEXG52YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZhcnlpbmcgdmVjMyB2VGFuZ2VudDtcblx0XHR2YXJ5aW5nIHZlYzMgdkJpdGFuZ2VudDtcblx0I2VuZGlmXG4jZW5kaWZcbiNpZmRlZiBVU0VfVFJBTlNNSVNTSU9OXG5cdHZhcnlpbmcgdmVjNCB2V29ybGRQb3NpdGlvbjtcbiNlbmRpZlxuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDx1dl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDx1djJfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGZvZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxtb3JwaHRhcmdldF9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxza2lubmluZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfdmVydGV4Plxudm9pZCBtYWluKCkge1xuXHQjaW5jbHVkZSA8dXZfdmVydGV4PlxuXHQjaW5jbHVkZSA8dXYyX3ZlcnRleD5cblx0I2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBobm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGVmYXVsdG5vcm1hbF92ZXJ0ZXg+XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZOb3JtYWwgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkTm9ybWFsICk7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZUYW5nZW50ID0gbm9ybWFsaXplKCB0cmFuc2Zvcm1lZFRhbmdlbnQgKTtcblx0XHR2Qml0YW5nZW50ID0gbm9ybWFsaXplKCBjcm9zcyggdk5vcm1hbCwgdlRhbmdlbnQgKSAqIHRhbmdlbnQudyApO1xuXHQjZW5kaWZcbiNlbmRpZlxuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGh0YXJnZXRfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5pbmdfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cblx0dlZpZXdQb3NpdGlvbiA9IC0gbXZQb3NpdGlvbi54eXo7XG5cdCNpbmNsdWRlIDx3b3JsZHBvc192ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxzaGFkb3dtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbiNpZmRlZiBVU0VfVFJBTlNNSVNTSU9OXG5cdHZXb3JsZFBvc2l0aW9uID0gd29ybGRQb3NpdGlvbjtcbiNlbmRpZlxufSIsbm9ybWFsX2ZyYWc6IiNkZWZpbmUgTk9STUFMXG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaWYgZGVmaW5lZCggRkxBVF9TSEFERUQgKSB8fCBkZWZpbmVkKCBVU0VfQlVNUE1BUCApIHx8IGRlZmluZWQoIFRBTkdFTlRTUEFDRV9OT1JNQUxNQVAgKVxuXHR2YXJ5aW5nIHZlYzMgdlZpZXdQb3NpdGlvbjtcbiNlbmRpZlxuI2lmbmRlZiBGTEFUX1NIQURFRFxuXHR2YXJ5aW5nIHZlYzMgdk5vcm1hbDtcblx0I2lmZGVmIFVTRV9UQU5HRU5UXG5cdFx0dmFyeWluZyB2ZWMzIHZUYW5nZW50O1xuXHRcdHZhcnlpbmcgdmVjMyB2Qml0YW5nZW50O1xuXHQjZW5kaWZcbiNlbmRpZlxuI2luY2x1ZGUgPHBhY2tpbmc+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxidW1wbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bm9ybWFsbWFwX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bm9ybWFsX2ZyYWdtZW50X2JlZ2luPlxuXHQjaW5jbHVkZSA8bm9ybWFsX2ZyYWdtZW50X21hcHM+XG5cdGdsX0ZyYWdDb2xvciA9IHZlYzQoIHBhY2tOb3JtYWxUb1JHQiggbm9ybWFsICksIG9wYWNpdHkgKTtcbn0iLG5vcm1hbF92ZXJ0OiIjZGVmaW5lIE5PUk1BTFxuI2lmIGRlZmluZWQoIEZMQVRfU0hBREVEICkgfHwgZGVmaW5lZCggVVNFX0JVTVBNQVAgKSB8fCBkZWZpbmVkKCBUQU5HRU5UU1BBQ0VfTk9STUFMTUFQIClcblx0dmFyeWluZyB2ZWMzIHZWaWV3UG9zaXRpb247XG4jZW5kaWZcbiNpZm5kZWYgRkxBVF9TSEFERURcblx0dmFyeWluZyB2ZWMzIHZOb3JtYWw7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZhcnlpbmcgdmVjMyB2VGFuZ2VudDtcblx0XHR2YXJ5aW5nIHZlYzMgdkJpdGFuZ2VudDtcblx0I2VuZGlmXG4jZW5kaWZcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPHNraW5uaW5nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPHV2X3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBobm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGVmYXVsdG5vcm1hbF92ZXJ0ZXg+XG4jaWZuZGVmIEZMQVRfU0hBREVEXG5cdHZOb3JtYWwgPSBub3JtYWxpemUoIHRyYW5zZm9ybWVkTm9ybWFsICk7XG5cdCNpZmRlZiBVU0VfVEFOR0VOVFxuXHRcdHZUYW5nZW50ID0gbm9ybWFsaXplKCB0cmFuc2Zvcm1lZFRhbmdlbnQgKTtcblx0XHR2Qml0YW5nZW50ID0gbm9ybWFsaXplKCBjcm9zcyggdk5vcm1hbCwgdlRhbmdlbnQgKSAqIHRhbmdlbnQudyApO1xuXHQjZW5kaWZcbiNlbmRpZlxuXHQjaW5jbHVkZSA8YmVnaW5fdmVydGV4PlxuXHQjaW5jbHVkZSA8bW9ycGh0YXJnZXRfdmVydGV4PlxuXHQjaW5jbHVkZSA8c2tpbm5pbmdfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGlzcGxhY2VtZW50bWFwX3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cbiNpZiBkZWZpbmVkKCBGTEFUX1NIQURFRCApIHx8IGRlZmluZWQoIFVTRV9CVU1QTUFQICkgfHwgZGVmaW5lZCggVEFOR0VOVFNQQUNFX05PUk1BTE1BUCApXG5cdHZWaWV3UG9zaXRpb24gPSAtIG12UG9zaXRpb24ueHl6O1xuI2VuZGlmXG59Iixwb2ludHNfZnJhZzoidW5pZm9ybSB2ZWMzIGRpZmZ1c2U7XG51bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPGNvbG9yX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bWFwX3BhcnRpY2xlX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8bG9nZGVwdGhidWZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19mcmFnbWVudD5cblx0dmVjMyBvdXRnb2luZ0xpZ2h0ID0gdmVjMyggMC4wICk7XG5cdHZlYzQgZGlmZnVzZUNvbG9yID0gdmVjNCggZGlmZnVzZSwgb3BhY2l0eSApO1xuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxtYXBfcGFydGljbGVfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxjb2xvcl9mcmFnbWVudD5cblx0I2luY2x1ZGUgPGFscGhhdGVzdF9mcmFnbWVudD5cblx0b3V0Z29pbmdMaWdodCA9IGRpZmZ1c2VDb2xvci5yZ2I7XG5cdGdsX0ZyYWdDb2xvciA9IHZlYzQoIG91dGdvaW5nTGlnaHQsIGRpZmZ1c2VDb2xvci5hICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGZvZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPHByZW11bHRpcGxpZWRfYWxwaGFfZnJhZ21lbnQ+XG59Iixwb2ludHNfdmVydDoidW5pZm9ybSBmbG9hdCBzaXplO1xudW5pZm9ybSBmbG9hdCBzY2FsZTtcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8Y29sb3JfcGFyc192ZXJ0ZXg+XG4jaW5jbHVkZSA8Zm9nX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPG1vcnBodGFyZ2V0X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGNsaXBwaW5nX3BsYW5lc19wYXJzX3ZlcnRleD5cbnZvaWQgbWFpbigpIHtcblx0I2luY2x1ZGUgPGNvbG9yX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2luX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBodGFyZ2V0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHByb2plY3RfdmVydGV4PlxuXHRnbF9Qb2ludFNpemUgPSBzaXplO1xuXHQjaWZkZWYgVVNFX1NJWkVBVFRFTlVBVElPTlxuXHRcdGJvb2wgaXNQZXJzcGVjdGl2ZSA9IGlzUGVyc3BlY3RpdmVNYXRyaXgoIHByb2plY3Rpb25NYXRyaXggKTtcblx0XHRpZiAoIGlzUGVyc3BlY3RpdmUgKSBnbF9Qb2ludFNpemUgKj0gKCBzY2FsZSAvIC0gbXZQb3NpdGlvbi56ICk7XG5cdCNlbmRpZlxuXHQjaW5jbHVkZSA8bG9nZGVwdGhidWZfdmVydGV4PlxuXHQjaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3ZlcnRleD5cblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPGZvZ192ZXJ0ZXg+XG59IixzaGFkb3dfZnJhZzoidW5pZm9ybSB2ZWMzIGNvbG9yO1xudW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuI2luY2x1ZGUgPGNvbW1vbj5cbiNpbmNsdWRlIDxwYWNraW5nPlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGJzZGZzPlxuI2luY2x1ZGUgPGxpZ2h0c19wYXJzX2JlZ2luPlxuI2luY2x1ZGUgPHNoYWRvd21hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPHNoYWRvd21hc2tfcGFyc19mcmFnbWVudD5cbnZvaWQgbWFpbigpIHtcblx0Z2xfRnJhZ0NvbG9yID0gdmVjNCggY29sb3IsIG9wYWNpdHkgKiAoIDEuMCAtIGdldFNoYWRvd01hc2soKSApICk7XG5cdCNpbmNsdWRlIDx0b25lbWFwcGluZ19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGVuY29kaW5nc19mcmFnbWVudD5cblx0I2luY2x1ZGUgPGZvZ19mcmFnbWVudD5cbn0iLHNoYWRvd192ZXJ0OiIjaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPGZvZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxzaGFkb3dtYXBfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDxiZWdpbl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxwcm9qZWN0X3ZlcnRleD5cblx0I2luY2x1ZGUgPHdvcmxkcG9zX3ZlcnRleD5cblx0I2luY2x1ZGUgPGJlZ2lubm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPG1vcnBobm9ybWFsX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5iYXNlX3ZlcnRleD5cblx0I2luY2x1ZGUgPHNraW5ub3JtYWxfdmVydGV4PlxuXHQjaW5jbHVkZSA8ZGVmYXVsdG5vcm1hbF92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxzaGFkb3dtYXBfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0iLHNwcml0ZV9mcmFnOiJ1bmlmb3JtIHZlYzMgZGlmZnVzZTtcbnVuaWZvcm0gZmxvYXQgb3BhY2l0eTtcbiNpbmNsdWRlIDxjb21tb24+XG4jaW5jbHVkZSA8dXZfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxtYXBfcGFyc19mcmFnbWVudD5cbiNpbmNsdWRlIDxhbHBoYW1hcF9wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGZvZ19wYXJzX2ZyYWdtZW50PlxuI2luY2x1ZGUgPGxvZ2RlcHRoYnVmX3BhcnNfZnJhZ21lbnQ+XG4jaW5jbHVkZSA8Y2xpcHBpbmdfcGxhbmVzX3BhcnNfZnJhZ21lbnQ+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfZnJhZ21lbnQ+XG5cdHZlYzMgb3V0Z29pbmdMaWdodCA9IHZlYzMoIDAuMCApO1xuXHR2ZWM0IGRpZmZ1c2VDb2xvciA9IHZlYzQoIGRpZmZ1c2UsIG9wYWNpdHkgKTtcblx0I2luY2x1ZGUgPGxvZ2RlcHRoYnVmX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8bWFwX2ZyYWdtZW50PlxuXHQjaW5jbHVkZSA8YWxwaGFtYXBfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxhbHBoYXRlc3RfZnJhZ21lbnQ+XG5cdG91dGdvaW5nTGlnaHQgPSBkaWZmdXNlQ29sb3IucmdiO1xuXHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCBvdXRnb2luZ0xpZ2h0LCBkaWZmdXNlQ29sb3IuYSApO1xuXHQjaW5jbHVkZSA8dG9uZW1hcHBpbmdfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxlbmNvZGluZ3NfZnJhZ21lbnQ+XG5cdCNpbmNsdWRlIDxmb2dfZnJhZ21lbnQ+XG59IixzcHJpdGVfdmVydDoidW5pZm9ybSBmbG9hdCByb3RhdGlvbjtcbnVuaWZvcm0gdmVjMiBjZW50ZXI7XG4jaW5jbHVkZSA8Y29tbW9uPlxuI2luY2x1ZGUgPHV2X3BhcnNfdmVydGV4PlxuI2luY2x1ZGUgPGZvZ19wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl9wYXJzX3ZlcnRleD5cbiNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfcGFyc192ZXJ0ZXg+XG52b2lkIG1haW4oKSB7XG5cdCNpbmNsdWRlIDx1dl92ZXJ0ZXg+XG5cdHZlYzQgbXZQb3NpdGlvbiA9IG1vZGVsVmlld01hdHJpeCAqIHZlYzQoIDAuMCwgMC4wLCAwLjAsIDEuMCApO1xuXHR2ZWMyIHNjYWxlO1xuXHRzY2FsZS54ID0gbGVuZ3RoKCB2ZWMzKCBtb2RlbE1hdHJpeFsgMCBdLngsIG1vZGVsTWF0cml4WyAwIF0ueSwgbW9kZWxNYXRyaXhbIDAgXS56ICkgKTtcblx0c2NhbGUueSA9IGxlbmd0aCggdmVjMyggbW9kZWxNYXRyaXhbIDEgXS54LCBtb2RlbE1hdHJpeFsgMSBdLnksIG1vZGVsTWF0cml4WyAxIF0ueiApICk7XG5cdCNpZm5kZWYgVVNFX1NJWkVBVFRFTlVBVElPTlxuXHRcdGJvb2wgaXNQZXJzcGVjdGl2ZSA9IGlzUGVyc3BlY3RpdmVNYXRyaXgoIHByb2plY3Rpb25NYXRyaXggKTtcblx0XHRpZiAoIGlzUGVyc3BlY3RpdmUgKSBzY2FsZSAqPSAtIG12UG9zaXRpb24uejtcblx0I2VuZGlmXG5cdHZlYzIgYWxpZ25lZFBvc2l0aW9uID0gKCBwb3NpdGlvbi54eSAtICggY2VudGVyIC0gdmVjMiggMC41ICkgKSApICogc2NhbGU7XG5cdHZlYzIgcm90YXRlZFBvc2l0aW9uO1xuXHRyb3RhdGVkUG9zaXRpb24ueCA9IGNvcyggcm90YXRpb24gKSAqIGFsaWduZWRQb3NpdGlvbi54IC0gc2luKCByb3RhdGlvbiApICogYWxpZ25lZFBvc2l0aW9uLnk7XG5cdHJvdGF0ZWRQb3NpdGlvbi55ID0gc2luKCByb3RhdGlvbiApICogYWxpZ25lZFBvc2l0aW9uLnggKyBjb3MoIHJvdGF0aW9uICkgKiBhbGlnbmVkUG9zaXRpb24ueTtcblx0bXZQb3NpdGlvbi54eSArPSByb3RhdGVkUG9zaXRpb247XG5cdGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbk1hdHJpeCAqIG12UG9zaXRpb247XG5cdCNpbmNsdWRlIDxsb2dkZXB0aGJ1Zl92ZXJ0ZXg+XG5cdCNpbmNsdWRlIDxjbGlwcGluZ19wbGFuZXNfdmVydGV4PlxuXHQjaW5jbHVkZSA8Zm9nX3ZlcnRleD5cbn0ifSxRY3Q9e2NvbW1vbjp7ZGlmZnVzZTp7dmFsdWU6bmV3IFpsdCgxNjc3NzIxNSl9LG9wYWNpdHk6e3ZhbHVlOjF9LG1hcDp7dmFsdWU6bnVsbH0sdXZUcmFuc2Zvcm06e3ZhbHVlOm5ldyBoc3R9LHV2MlRyYW5zZm9ybTp7dmFsdWU6bmV3IGhzdH0sYWxwaGFNYXA6e3ZhbHVlOm51bGx9fSxzcGVjdWxhcm1hcDp7c3BlY3VsYXJNYXA6e3ZhbHVlOm51bGx9fSxlbnZtYXA6e2Vudk1hcDp7dmFsdWU6bnVsbH0sZmxpcEVudk1hcDp7dmFsdWU6LTF9LHJlZmxlY3Rpdml0eTp7dmFsdWU6MX0scmVmcmFjdGlvblJhdGlvOnt2YWx1ZTouOTh9LG1heE1pcExldmVsOnt2YWx1ZTowfX0sYW9tYXA6e2FvTWFwOnt2YWx1ZTpudWxsfSxhb01hcEludGVuc2l0eTp7dmFsdWU6MX19LGxpZ2h0bWFwOntsaWdodE1hcDp7dmFsdWU6bnVsbH0sbGlnaHRNYXBJbnRlbnNpdHk6e3ZhbHVlOjF9fSxlbWlzc2l2ZW1hcDp7ZW1pc3NpdmVNYXA6e3ZhbHVlOm51bGx9fSxidW1wbWFwOntidW1wTWFwOnt2YWx1ZTpudWxsfSxidW1wU2NhbGU6e3ZhbHVlOjF9fSxub3JtYWxtYXA6e25vcm1hbE1hcDp7dmFsdWU6bnVsbH0sbm9ybWFsU2NhbGU6e3ZhbHVlOm5ldyBnc3QoMSwxKX19LGRpc3BsYWNlbWVudG1hcDp7ZGlzcGxhY2VtZW50TWFwOnt2YWx1ZTpudWxsfSxkaXNwbGFjZW1lbnRTY2FsZTp7dmFsdWU6MX0sZGlzcGxhY2VtZW50Qmlhczp7dmFsdWU6MH19LHJvdWdobmVzc21hcDp7cm91Z2huZXNzTWFwOnt2YWx1ZTpudWxsfX0sbWV0YWxuZXNzbWFwOnttZXRhbG5lc3NNYXA6e3ZhbHVlOm51bGx9fSxncmFkaWVudG1hcDp7Z3JhZGllbnRNYXA6e3ZhbHVlOm51bGx9fSxmb2c6e2ZvZ0RlbnNpdHk6e3ZhbHVlOjI1ZS01fSxmb2dOZWFyOnt2YWx1ZToxfSxmb2dGYXI6e3ZhbHVlOjJlM30sZm9nQ29sb3I6e3ZhbHVlOm5ldyBabHQoMTY3NzcyMTUpfX0sbGlnaHRzOnthbWJpZW50TGlnaHRDb2xvcjp7dmFsdWU6W119LGxpZ2h0UHJvYmU6e3ZhbHVlOltdfSxkaXJlY3Rpb25hbExpZ2h0czp7dmFsdWU6W10scHJvcGVydGllczp7ZGlyZWN0aW9uOnt9LGNvbG9yOnt9fX0sZGlyZWN0aW9uYWxMaWdodFNoYWRvd3M6e3ZhbHVlOltdLHByb3BlcnRpZXM6e3NoYWRvd0JpYXM6e30sc2hhZG93Tm9ybWFsQmlhczp7fSxzaGFkb3dSYWRpdXM6e30sc2hhZG93TWFwU2l6ZTp7fX19LGRpcmVjdGlvbmFsU2hhZG93TWFwOnt2YWx1ZTpbXX0sZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXg6e3ZhbHVlOltdfSxzcG90TGlnaHRzOnt2YWx1ZTpbXSxwcm9wZXJ0aWVzOntjb2xvcjp7fSxwb3NpdGlvbjp7fSxkaXJlY3Rpb246e30sZGlzdGFuY2U6e30sY29uZUNvczp7fSxwZW51bWJyYUNvczp7fSxkZWNheTp7fX19LHNwb3RMaWdodFNoYWRvd3M6e3ZhbHVlOltdLHByb3BlcnRpZXM6e3NoYWRvd0JpYXM6e30sc2hhZG93Tm9ybWFsQmlhczp7fSxzaGFkb3dSYWRpdXM6e30sc2hhZG93TWFwU2l6ZTp7fX19LHNwb3RTaGFkb3dNYXA6e3ZhbHVlOltdfSxzcG90U2hhZG93TWF0cml4Ont2YWx1ZTpbXX0scG9pbnRMaWdodHM6e3ZhbHVlOltdLHByb3BlcnRpZXM6e2NvbG9yOnt9LHBvc2l0aW9uOnt9LGRlY2F5Ont9LGRpc3RhbmNlOnt9fX0scG9pbnRMaWdodFNoYWRvd3M6e3ZhbHVlOltdLHByb3BlcnRpZXM6e3NoYWRvd0JpYXM6e30sc2hhZG93Tm9ybWFsQmlhczp7fSxzaGFkb3dSYWRpdXM6e30sc2hhZG93TWFwU2l6ZTp7fSxzaGFkb3dDYW1lcmFOZWFyOnt9LHNoYWRvd0NhbWVyYUZhcjp7fX19LHBvaW50U2hhZG93TWFwOnt2YWx1ZTpbXX0scG9pbnRTaGFkb3dNYXRyaXg6e3ZhbHVlOltdfSxoZW1pc3BoZXJlTGlnaHRzOnt2YWx1ZTpbXSxwcm9wZXJ0aWVzOntkaXJlY3Rpb246e30sc2t5Q29sb3I6e30sZ3JvdW5kQ29sb3I6e319fSxyZWN0QXJlYUxpZ2h0czp7dmFsdWU6W10scHJvcGVydGllczp7Y29sb3I6e30scG9zaXRpb246e30sd2lkdGg6e30saGVpZ2h0Ont9fX0sbHRjXzE6e3ZhbHVlOm51bGx9LGx0Y18yOnt2YWx1ZTpudWxsfX0scG9pbnRzOntkaWZmdXNlOnt2YWx1ZTpuZXcgWmx0KDE2Nzc3MjE1KX0sb3BhY2l0eTp7dmFsdWU6MX0sc2l6ZTp7dmFsdWU6MX0sc2NhbGU6e3ZhbHVlOjF9LG1hcDp7dmFsdWU6bnVsbH0sYWxwaGFNYXA6e3ZhbHVlOm51bGx9LHV2VHJhbnNmb3JtOnt2YWx1ZTpuZXcgaHN0fX0sc3ByaXRlOntkaWZmdXNlOnt2YWx1ZTpuZXcgWmx0KDE2Nzc3MjE1KX0sb3BhY2l0eTp7dmFsdWU6MX0sY2VudGVyOnt2YWx1ZTpuZXcgZ3N0KC41LC41KX0scm90YXRpb246e3ZhbHVlOjB9LG1hcDp7dmFsdWU6bnVsbH0sYWxwaGFNYXA6e3ZhbHVlOm51bGx9LHV2VHJhbnNmb3JtOnt2YWx1ZTpuZXcgaHN0fX19LCRjdD17YmFzaWM6e3VuaWZvcm1zOkFjdChbUWN0LmNvbW1vbixRY3Quc3BlY3VsYXJtYXAsUWN0LmVudm1hcCxRY3QuYW9tYXAsUWN0LmxpZ2h0bWFwLFFjdC5mb2ddKSx2ZXJ0ZXhTaGFkZXI6SmN0Lm1lc2hiYXNpY192ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5tZXNoYmFzaWNfZnJhZ30sbGFtYmVydDp7dW5pZm9ybXM6QWN0KFtRY3QuY29tbW9uLFFjdC5zcGVjdWxhcm1hcCxRY3QuZW52bWFwLFFjdC5hb21hcCxRY3QubGlnaHRtYXAsUWN0LmVtaXNzaXZlbWFwLFFjdC5mb2csUWN0LmxpZ2h0cyx7ZW1pc3NpdmU6e3ZhbHVlOm5ldyBabHQoMCl9fV0pLHZlcnRleFNoYWRlcjpKY3QubWVzaGxhbWJlcnRfdmVydCxmcmFnbWVudFNoYWRlcjpKY3QubWVzaGxhbWJlcnRfZnJhZ30scGhvbmc6e3VuaWZvcm1zOkFjdChbUWN0LmNvbW1vbixRY3Quc3BlY3VsYXJtYXAsUWN0LmVudm1hcCxRY3QuYW9tYXAsUWN0LmxpZ2h0bWFwLFFjdC5lbWlzc2l2ZW1hcCxRY3QuYnVtcG1hcCxRY3Qubm9ybWFsbWFwLFFjdC5kaXNwbGFjZW1lbnRtYXAsUWN0LmZvZyxRY3QubGlnaHRzLHtlbWlzc2l2ZTp7dmFsdWU6bmV3IFpsdCgwKX0sc3BlY3VsYXI6e3ZhbHVlOm5ldyBabHQoMTExODQ4MSl9LHNoaW5pbmVzczp7dmFsdWU6MzB9fV0pLHZlcnRleFNoYWRlcjpKY3QubWVzaHBob25nX3ZlcnQsZnJhZ21lbnRTaGFkZXI6SmN0Lm1lc2hwaG9uZ19mcmFnfSxzdGFuZGFyZDp7dW5pZm9ybXM6QWN0KFtRY3QuY29tbW9uLFFjdC5lbnZtYXAsUWN0LmFvbWFwLFFjdC5saWdodG1hcCxRY3QuZW1pc3NpdmVtYXAsUWN0LmJ1bXBtYXAsUWN0Lm5vcm1hbG1hcCxRY3QuZGlzcGxhY2VtZW50bWFwLFFjdC5yb3VnaG5lc3NtYXAsUWN0Lm1ldGFsbmVzc21hcCxRY3QuZm9nLFFjdC5saWdodHMse2VtaXNzaXZlOnt2YWx1ZTpuZXcgWmx0KDApfSxyb3VnaG5lc3M6e3ZhbHVlOjF9LG1ldGFsbmVzczp7dmFsdWU6MH0sZW52TWFwSW50ZW5zaXR5Ont2YWx1ZToxfX1dKSx2ZXJ0ZXhTaGFkZXI6SmN0Lm1lc2hwaHlzaWNhbF92ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5tZXNocGh5c2ljYWxfZnJhZ30sdG9vbjp7dW5pZm9ybXM6QWN0KFtRY3QuY29tbW9uLFFjdC5hb21hcCxRY3QubGlnaHRtYXAsUWN0LmVtaXNzaXZlbWFwLFFjdC5idW1wbWFwLFFjdC5ub3JtYWxtYXAsUWN0LmRpc3BsYWNlbWVudG1hcCxRY3QuZ3JhZGllbnRtYXAsUWN0LmZvZyxRY3QubGlnaHRzLHtlbWlzc2l2ZTp7dmFsdWU6bmV3IFpsdCgwKX19XSksdmVydGV4U2hhZGVyOkpjdC5tZXNodG9vbl92ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5tZXNodG9vbl9mcmFnfSxtYXRjYXA6e3VuaWZvcm1zOkFjdChbUWN0LmNvbW1vbixRY3QuYnVtcG1hcCxRY3Qubm9ybWFsbWFwLFFjdC5kaXNwbGFjZW1lbnRtYXAsUWN0LmZvZyx7bWF0Y2FwOnt2YWx1ZTpudWxsfX1dKSx2ZXJ0ZXhTaGFkZXI6SmN0Lm1lc2htYXRjYXBfdmVydCxmcmFnbWVudFNoYWRlcjpKY3QubWVzaG1hdGNhcF9mcmFnfSxwb2ludHM6e3VuaWZvcm1zOkFjdChbUWN0LnBvaW50cyxRY3QuZm9nXSksdmVydGV4U2hhZGVyOkpjdC5wb2ludHNfdmVydCxmcmFnbWVudFNoYWRlcjpKY3QucG9pbnRzX2ZyYWd9LGRhc2hlZDp7dW5pZm9ybXM6QWN0KFtRY3QuY29tbW9uLFFjdC5mb2cse3NjYWxlOnt2YWx1ZToxfSxkYXNoU2l6ZTp7dmFsdWU6MX0sdG90YWxTaXplOnt2YWx1ZToyfX1dKSx2ZXJ0ZXhTaGFkZXI6SmN0LmxpbmVkYXNoZWRfdmVydCxmcmFnbWVudFNoYWRlcjpKY3QubGluZWRhc2hlZF9mcmFnfSxkZXB0aDp7dW5pZm9ybXM6QWN0KFtRY3QuY29tbW9uLFFjdC5kaXNwbGFjZW1lbnRtYXBdKSx2ZXJ0ZXhTaGFkZXI6SmN0LmRlcHRoX3ZlcnQsZnJhZ21lbnRTaGFkZXI6SmN0LmRlcHRoX2ZyYWd9LG5vcm1hbDp7dW5pZm9ybXM6QWN0KFtRY3QuY29tbW9uLFFjdC5idW1wbWFwLFFjdC5ub3JtYWxtYXAsUWN0LmRpc3BsYWNlbWVudG1hcCx7b3BhY2l0eTp7dmFsdWU6MX19XSksdmVydGV4U2hhZGVyOkpjdC5ub3JtYWxfdmVydCxmcmFnbWVudFNoYWRlcjpKY3Qubm9ybWFsX2ZyYWd9LHNwcml0ZTp7dW5pZm9ybXM6QWN0KFtRY3Quc3ByaXRlLFFjdC5mb2ddKSx2ZXJ0ZXhTaGFkZXI6SmN0LnNwcml0ZV92ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5zcHJpdGVfZnJhZ30sYmFja2dyb3VuZDp7dW5pZm9ybXM6e3V2VHJhbnNmb3JtOnt2YWx1ZTpuZXcgaHN0fSx0MkQ6e3ZhbHVlOm51bGx9fSx2ZXJ0ZXhTaGFkZXI6SmN0LmJhY2tncm91bmRfdmVydCxmcmFnbWVudFNoYWRlcjpKY3QuYmFja2dyb3VuZF9mcmFnfSxjdWJlOnt1bmlmb3JtczpBY3QoW1FjdC5lbnZtYXAse29wYWNpdHk6e3ZhbHVlOjF9fV0pLHZlcnRleFNoYWRlcjpKY3QuY3ViZV92ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5jdWJlX2ZyYWd9LGVxdWlyZWN0Ont1bmlmb3Jtczp7dEVxdWlyZWN0Ont2YWx1ZTpudWxsfX0sdmVydGV4U2hhZGVyOkpjdC5lcXVpcmVjdF92ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5lcXVpcmVjdF9mcmFnfSxkaXN0YW5jZVJHQkE6e3VuaWZvcm1zOkFjdChbUWN0LmNvbW1vbixRY3QuZGlzcGxhY2VtZW50bWFwLHtyZWZlcmVuY2VQb3NpdGlvbjp7dmFsdWU6bmV3IHdzdH0sbmVhckRpc3RhbmNlOnt2YWx1ZToxfSxmYXJEaXN0YW5jZTp7dmFsdWU6MWUzfX1dKSx2ZXJ0ZXhTaGFkZXI6SmN0LmRpc3RhbmNlUkdCQV92ZXJ0LGZyYWdtZW50U2hhZGVyOkpjdC5kaXN0YW5jZVJHQkFfZnJhZ30sc2hhZG93Ont1bmlmb3JtczpBY3QoW1FjdC5saWdodHMsUWN0LmZvZyx7Y29sb3I6e3ZhbHVlOm5ldyBabHQoMCl9LG9wYWNpdHk6e3ZhbHVlOjF9fV0pLHZlcnRleFNoYWRlcjpKY3Quc2hhZG93X3ZlcnQsZnJhZ21lbnRTaGFkZXI6SmN0LnNoYWRvd19mcmFnfX07ZnVuY3Rpb24gdGR0KHQsZSxuLG8saSl7Y29uc3QgYT1uZXcgWmx0KDApO2xldCByLHMsbD0wLGM9bnVsbCxkPTAscD1udWxsO2Z1bmN0aW9uIG0odCxlKXtuLmJ1ZmZlcnMuY29sb3Iuc2V0Q2xlYXIodC5yLHQuZyx0LmIsZSxpKX1yZXR1cm57Z2V0Q2xlYXJDb2xvcjpmdW5jdGlvbigpe3JldHVybiBhfSxzZXRDbGVhckNvbG9yOmZ1bmN0aW9uKHQsZT0xKXthLnNldCh0KSxsPWUsbShhLGwpfSxnZXRDbGVhckFscGhhOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LHNldENsZWFyQWxwaGE6ZnVuY3Rpb24odCl7bD10LG0oYSxsKX0scmVuZGVyOmZ1bmN0aW9uIGYobixpKXtsZXQgZj0hMSx1PSEwPT09aS5pc1NjZW5lP2kuYmFja2dyb3VuZDpudWxsO3UmJnUuaXNUZXh0dXJlJiYodT1lLmdldCh1KSk7Y29uc3QgZz10LnhyLGg9Zy5nZXRTZXNzaW9uJiZnLmdldFNlc3Npb24oKTtoJiYiYWRkaXRpdmUiPT09aC5lbnZpcm9ubWVudEJsZW5kTW9kZSYmKHU9bnVsbCksbnVsbD09PXU/bShhLGwpOnUmJnUuaXNDb2xvciYmKG0odSwxKSxmPSEwKSwodC5hdXRvQ2xlYXJ8fGYpJiZ0LmNsZWFyKHQuYXV0b0NsZWFyQ29sb3IsdC5hdXRvQ2xlYXJEZXB0aCx0LmF1dG9DbGVhclN0ZW5jaWwpLHUmJih1LmlzQ3ViZVRleHR1cmV8fHUubWFwcGluZz09PVNydCk/KHZvaWQgMD09PXMmJihzPW5ldyBTY3QobmV3IFJjdCgxLDEsMSksbmV3IE5jdCh7bmFtZToiQmFja2dyb3VuZEN1YmVNYXRlcmlhbCIsdW5pZm9ybXM6RWN0KCRjdC5jdWJlLnVuaWZvcm1zKSx2ZXJ0ZXhTaGFkZXI6JGN0LmN1YmUudmVydGV4U2hhZGVyLGZyYWdtZW50U2hhZGVyOiRjdC5jdWJlLmZyYWdtZW50U2hhZGVyLHNpZGU6MSxkZXB0aFRlc3Q6ITEsZGVwdGhXcml0ZTohMSxmb2c6ITF9KSkscy5nZW9tZXRyeS5kZWxldGVBdHRyaWJ1dGUoIm5vcm1hbCIpLHMuZ2VvbWV0cnkuZGVsZXRlQXR0cmlidXRlKCJ1diIpLHMub25CZWZvcmVSZW5kZXI9ZnVuY3Rpb24odCxlLG4pe3RoaXMubWF0cml4V29ybGQuY29weVBvc2l0aW9uKG4ubWF0cml4V29ybGQpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkocy5tYXRlcmlhbCwiZW52TWFwIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudW5pZm9ybXMuZW52TWFwLnZhbHVlfX0pLG8udXBkYXRlKHMpKSxzLm1hdGVyaWFsLnVuaWZvcm1zLmVudk1hcC52YWx1ZT11LHMubWF0ZXJpYWwudW5pZm9ybXMuZmxpcEVudk1hcC52YWx1ZT11LmlzQ3ViZVRleHR1cmUmJiExPT09dS5pc1JlbmRlclRhcmdldFRleHR1cmU/LTE6MSxjPT09dSYmZD09PXUudmVyc2lvbiYmcD09PXQudG9uZU1hcHBpbmd8fChzLm1hdGVyaWFsLm5lZWRzVXBkYXRlPSEwLGM9dSxkPXUudmVyc2lvbixwPXQudG9uZU1hcHBpbmcpLG4udW5zaGlmdChzLHMuZ2VvbWV0cnkscy5tYXRlcmlhbCwwLDAsbnVsbCkpOnUmJnUuaXNUZXh0dXJlJiYodm9pZCAwPT09ciYmKHI9bmV3IFNjdChuZXcgS2N0KDIsMiksbmV3IE5jdCh7bmFtZToiQmFja2dyb3VuZE1hdGVyaWFsIix1bmlmb3JtczpFY3QoJGN0LmJhY2tncm91bmQudW5pZm9ybXMpLHZlcnRleFNoYWRlcjokY3QuYmFja2dyb3VuZC52ZXJ0ZXhTaGFkZXIsZnJhZ21lbnRTaGFkZXI6JGN0LmJhY2tncm91bmQuZnJhZ21lbnRTaGFkZXIsc2lkZTowLGRlcHRoVGVzdDohMSxkZXB0aFdyaXRlOiExLGZvZzohMX0pKSxyLmdlb21ldHJ5LmRlbGV0ZUF0dHJpYnV0ZSgibm9ybWFsIiksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIubWF0ZXJpYWwsIm1hcCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnVuaWZvcm1zLnQyRC52YWx1ZX19KSxvLnVwZGF0ZShyKSksci5tYXRlcmlhbC51bmlmb3Jtcy50MkQudmFsdWU9dSwhMD09PXUubWF0cml4QXV0b1VwZGF0ZSYmdS51cGRhdGVNYXRyaXgoKSxyLm1hdGVyaWFsLnVuaWZvcm1zLnV2VHJhbnNmb3JtLnZhbHVlLmNvcHkodS5tYXRyaXgpLGM9PT11JiZkPT09dS52ZXJzaW9uJiZwPT09dC50b25lTWFwcGluZ3x8KHIubWF0ZXJpYWwubmVlZHNVcGRhdGU9ITAsYz11LGQ9dS52ZXJzaW9uLHA9dC50b25lTWFwcGluZyksbi51bnNoaWZ0KHIsci5nZW9tZXRyeSxyLm1hdGVyaWFsLDAsMCxudWxsKSl9fX1mdW5jdGlvbiBlZHQodCxlLG4sbyl7Y29uc3QgaT10LmdldFBhcmFtZXRlcigzNDkyMSksYT1vLmlzV2ViR0wyP251bGw6ZS5nZXQoIk9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0Iikscj1vLmlzV2ViR0wyfHxudWxsIT09YSxzPXt9LGw9bShudWxsKTtsZXQgYz1sO2Z1bmN0aW9uIGQoZSl7cmV0dXJuIG8uaXNXZWJHTDI/dC5iaW5kVmVydGV4QXJyYXkoZSk6YS5iaW5kVmVydGV4QXJyYXlPRVMoZSl9ZnVuY3Rpb24gcChlKXtyZXR1cm4gby5pc1dlYkdMMj90LmRlbGV0ZVZlcnRleEFycmF5KGUpOmEuZGVsZXRlVmVydGV4QXJyYXlPRVMoZSl9ZnVuY3Rpb24gbSh0KXtjb25zdCBlPVtdLG49W10sbz1bXTtmb3IobGV0IHQ9MDt0PGk7dCsrKWVbdF09MCxuW3RdPTAsb1t0XT0wO3JldHVybntnZW9tZXRyeTpudWxsLHByb2dyYW06bnVsbCx3aXJlZnJhbWU6ITEsbmV3QXR0cmlidXRlczplLGVuYWJsZWRBdHRyaWJ1dGVzOm4sYXR0cmlidXRlRGl2aXNvcnM6byxvYmplY3Q6dCxhdHRyaWJ1dGVzOnt9LGluZGV4Om51bGx9fWZ1bmN0aW9uIGYoKXtjb25zdCB0PWMubmV3QXR0cmlidXRlcztmb3IobGV0IGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspdFtlXT0wfWZ1bmN0aW9uIHUodCl7Zyh0LDApfWZ1bmN0aW9uIGcobixpKXtjb25zdCBhPWMuZW5hYmxlZEF0dHJpYnV0ZXMscj1jLmF0dHJpYnV0ZURpdmlzb3JzO2lmKGMubmV3QXR0cmlidXRlc1tuXT0xLDA9PT1hW25dJiYodC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShuKSxhW25dPTEpLHJbbl0hPT1pKXsoby5pc1dlYkdMMj90OmUuZ2V0KCJBTkdMRV9pbnN0YW5jZWRfYXJyYXlzIikpW28uaXNXZWJHTDI/InZlcnRleEF0dHJpYkRpdmlzb3IiOiJ2ZXJ0ZXhBdHRyaWJEaXZpc29yQU5HTEUiXShuLGkpLHJbbl09aX19ZnVuY3Rpb24gaCgpe2NvbnN0IGU9Yy5uZXdBdHRyaWJ1dGVzLG49Yy5lbmFibGVkQXR0cmlidXRlcztmb3IobGV0IG89MCxpPW4ubGVuZ3RoO288aTtvKyspbltvXSE9PWVbb10mJih0LmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShvKSxuW29dPTApfWZ1bmN0aW9uIGIoZSxuLGksYSxyLHMpeyEwIT09by5pc1dlYkdMMnx8NTEyNCE9PWkmJjUxMjUhPT1pP3QudmVydGV4QXR0cmliUG9pbnRlcihlLG4saSxhLHIscyk6dC52ZXJ0ZXhBdHRyaWJJUG9pbnRlcihlLG4saSxyLHMpfWZ1bmN0aW9uIHkoKXtfKCksYyE9PWwmJihjPWwsZChjLm9iamVjdCkpfWZ1bmN0aW9uIF8oKXtsLmdlb21ldHJ5PW51bGwsbC5wcm9ncmFtPW51bGwsbC53aXJlZnJhbWU9ITF9cmV0dXJue3NldHVwOmZ1bmN0aW9uIEMoaSxsLHAseSxfKXtsZXQgQz0hMTtpZihyKXtjb25zdCBlPShmdW5jdGlvbiBNKGUsbixpKXtjb25zdCByPSEwPT09aS53aXJlZnJhbWU7bGV0IGw9c1tlLmlkXTt2b2lkIDA9PT1sJiYobD17fSxzW2UuaWRdPWwpO2xldCBjPWxbbi5pZF07dm9pZCAwPT09YyYmKGM9e30sbFtuLmlkXT1jKTtsZXQgZD1jW3JdO3ZvaWQgMD09PWQmJihkPW0oKGZ1bmN0aW9uIHAoKXtyZXR1cm4gby5pc1dlYkdMMj90LmNyZWF0ZVZlcnRleEFycmF5KCk6YS5jcmVhdGVWZXJ0ZXhBcnJheU9FUygpfSkoKSksY1tyXT1kKTtyZXR1cm4gZH0pKHkscCxsKTtjIT09ZSYmKGM9ZSxkKGMub2JqZWN0KSksQz0oZnVuY3Rpb24gdih0LGUpe2NvbnN0IG49Yy5hdHRyaWJ1dGVzLG89dC5hdHRyaWJ1dGVzO2xldCBpPTA7Zm9yKGNvbnN0IHQgaW4gbyl7Y29uc3QgZT1uW3RdLGE9b1t0XTtpZih2b2lkIDA9PT1lKXJldHVybiEwO2lmKGUuYXR0cmlidXRlIT09YSlyZXR1cm4hMDtpZihlLmRhdGEhPT1hLmRhdGEpcmV0dXJuITA7aSsrfXJldHVybiBjLmF0dHJpYnV0ZXNOdW0hPT1pfHxjLmluZGV4IT09ZX0pKHksXyksQyYmKGZ1bmN0aW9uIHgodCxlKXtjb25zdCBuPXt9LG89dC5hdHRyaWJ1dGVzO2xldCBpPTA7Zm9yKGNvbnN0IHQgaW4gbyl7Y29uc3QgZT1vW3RdLGE9e307YS5hdHRyaWJ1dGU9ZSxlLmRhdGEmJihhLmRhdGE9ZS5kYXRhKSxuW3RdPWEsaSsrfWMuYXR0cmlidXRlcz1uLGMuYXR0cmlidXRlc051bT1pLGMuaW5kZXg9ZX0pKHksXyl9ZWxzZXtjb25zdCB0PSEwPT09bC53aXJlZnJhbWU7Yy5nZW9tZXRyeT09PXkuaWQmJmMucHJvZ3JhbT09PXAuaWQmJmMud2lyZWZyYW1lPT09dHx8KGMuZ2VvbWV0cnk9eS5pZCxjLnByb2dyYW09cC5pZCxjLndpcmVmcmFtZT10LEM9ITApfSEwPT09aS5pc0luc3RhbmNlZE1lc2gmJihDPSEwKSxudWxsIT09XyYmbi51cGRhdGUoXywzNDk2MyksQyYmKCEoZnVuY3Rpb24gTyhpLGEscixzKXtpZighMT09PW8uaXNXZWJHTDImJihpLmlzSW5zdGFuY2VkTWVzaHx8cy5pc0luc3RhbmNlZEJ1ZmZlckdlb21ldHJ5KSYmbnVsbD09PWUuZ2V0KCJBTkdMRV9pbnN0YW5jZWRfYXJyYXlzIikpcmV0dXJuO2YoKTtjb25zdCBsPXMuYXR0cmlidXRlcyxjPXIuZ2V0QXR0cmlidXRlcygpLGQ9YS5kZWZhdWx0QXR0cmlidXRlVmFsdWVzO2Zvcihjb25zdCBlIGluIGMpe2NvbnN0IG89Y1tlXTtpZihvPj0wKXtjb25zdCBhPWxbZV07aWYodm9pZCAwIT09YSl7Y29uc3QgZT1hLm5vcm1hbGl6ZWQsaT1hLml0ZW1TaXplLHI9bi5nZXQoYSk7aWYodm9pZCAwPT09ciljb250aW51ZTtjb25zdCBsPXIuYnVmZmVyLGM9ci50eXBlLGQ9ci5ieXRlc1BlckVsZW1lbnQ7aWYoYS5pc0ludGVybGVhdmVkQnVmZmVyQXR0cmlidXRlKXtjb25zdCBuPWEuZGF0YSxyPW4uc3RyaWRlLHA9YS5vZmZzZXQ7biYmbi5pc0luc3RhbmNlZEludGVybGVhdmVkQnVmZmVyPyhnKG8sbi5tZXNoUGVyQXR0cmlidXRlKSx2b2lkIDA9PT1zLl9tYXhJbnN0YW5jZUNvdW50JiYocy5fbWF4SW5zdGFuY2VDb3VudD1uLm1lc2hQZXJBdHRyaWJ1dGUqbi5jb3VudCkpOnUobyksdC5iaW5kQnVmZmVyKDM0OTYyLGwpLGIobyxpLGMsZSxyKmQscCpkKX1lbHNlIGEuaXNJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGU/KGcobyxhLm1lc2hQZXJBdHRyaWJ1dGUpLHZvaWQgMD09PXMuX21heEluc3RhbmNlQ291bnQmJihzLl9tYXhJbnN0YW5jZUNvdW50PWEubWVzaFBlckF0dHJpYnV0ZSphLmNvdW50KSk6dShvKSx0LmJpbmRCdWZmZXIoMzQ5NjIsbCksYihvLGksYyxlLDAsMCl9ZWxzZSBpZigiaW5zdGFuY2VNYXRyaXgiPT09ZSl7Y29uc3QgZT1uLmdldChpLmluc3RhbmNlTWF0cml4KTtpZih2b2lkIDA9PT1lKWNvbnRpbnVlO2NvbnN0IGE9ZS5idWZmZXIscj1lLnR5cGU7ZyhvKzAsMSksZyhvKzEsMSksZyhvKzIsMSksZyhvKzMsMSksdC5iaW5kQnVmZmVyKDM0OTYyLGEpLHQudmVydGV4QXR0cmliUG9pbnRlcihvKzAsNCxyLCExLDY0LDApLHQudmVydGV4QXR0cmliUG9pbnRlcihvKzEsNCxyLCExLDY0LDE2KSx0LnZlcnRleEF0dHJpYlBvaW50ZXIobysyLDQsciwhMSw2NCwzMiksdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG8rMyw0LHIsITEsNjQsNDgpfWVsc2UgaWYoImluc3RhbmNlQ29sb3IiPT09ZSl7Y29uc3QgZT1uLmdldChpLmluc3RhbmNlQ29sb3IpO2lmKHZvaWQgMD09PWUpY29udGludWU7Y29uc3QgYT1lLmJ1ZmZlcixyPWUudHlwZTtnKG8sMSksdC5iaW5kQnVmZmVyKDM0OTYyLGEpLHQudmVydGV4QXR0cmliUG9pbnRlcihvLDMsciwhMSwxMiwwKX1lbHNlIGlmKHZvaWQgMCE9PWQpe2NvbnN0IG49ZFtlXTtpZih2b2lkIDAhPT1uKXN3aXRjaChuLmxlbmd0aCl7Y2FzZSAyOnQudmVydGV4QXR0cmliMmZ2KG8sbik7YnJlYWs7Y2FzZSAzOnQudmVydGV4QXR0cmliM2Z2KG8sbik7YnJlYWs7Y2FzZSA0OnQudmVydGV4QXR0cmliNGZ2KG8sbik7YnJlYWs7ZGVmYXVsdDp0LnZlcnRleEF0dHJpYjFmdihvLG4pfX19fWgoKX0pKGksbCxwLHkpLG51bGwhPT1fJiZ0LmJpbmRCdWZmZXIoMzQ5NjMsbi5nZXQoXykuYnVmZmVyKSl9LHJlc2V0OnkscmVzZXREZWZhdWx0U3RhdGU6XyxkaXNwb3NlOmZ1bmN0aW9uIE0oKXt5KCk7Zm9yKGNvbnN0IHQgaW4gcyl7Y29uc3QgZT1zW3RdO2Zvcihjb25zdCB0IGluIGUpe2NvbnN0IG49ZVt0XTtmb3IoY29uc3QgdCBpbiBuKXAoblt0XS5vYmplY3QpLGRlbGV0ZSBuW3RdO2RlbGV0ZSBlW3RdfWRlbGV0ZSBzW3RdfX0scmVsZWFzZVN0YXRlc09mR2VvbWV0cnk6ZnVuY3Rpb24gdih0KXtpZih2b2lkIDA9PT1zW3QuaWRdKXJldHVybjtjb25zdCBlPXNbdC5pZF07Zm9yKGNvbnN0IHQgaW4gZSl7Y29uc3Qgbj1lW3RdO2Zvcihjb25zdCB0IGluIG4pcChuW3RdLm9iamVjdCksZGVsZXRlIG5bdF07ZGVsZXRlIGVbdF19ZGVsZXRlIHNbdC5pZF19LHJlbGVhc2VTdGF0ZXNPZlByb2dyYW06ZnVuY3Rpb24geCh0KXtmb3IoY29uc3QgZSBpbiBzKXtjb25zdCBuPXNbZV07aWYodm9pZCAwPT09blt0LmlkXSljb250aW51ZTtjb25zdCBvPW5bdC5pZF07Zm9yKGNvbnN0IHQgaW4gbylwKG9bdF0ub2JqZWN0KSxkZWxldGUgb1t0XTtkZWxldGUgblt0LmlkXX19LGluaXRBdHRyaWJ1dGVzOmYsZW5hYmxlQXR0cmlidXRlOnUsZGlzYWJsZVVudXNlZEF0dHJpYnV0ZXM6aH19ZnVuY3Rpb24gbmR0KHQsZSxuLG8pe2NvbnN0IGk9by5pc1dlYkdMMjtsZXQgYTt0aGlzLnNldE1vZGU9ZnVuY3Rpb24gcih0KXthPXR9LHRoaXMucmVuZGVyPWZ1bmN0aW9uIHMoZSxvKXt0LmRyYXdBcnJheXMoYSxlLG8pLG4udXBkYXRlKG8sYSwxKX0sdGhpcy5yZW5kZXJJbnN0YW5jZXM9ZnVuY3Rpb24gbChvLHIscyl7aWYoMD09PXMpcmV0dXJuO2xldCBsLGM7aWYoaSlsPXQsYz0iZHJhd0FycmF5c0luc3RhbmNlZCI7ZWxzZSBpZihsPWUuZ2V0KCJBTkdMRV9pbnN0YW5jZWRfYXJyYXlzIiksYz0iZHJhd0FycmF5c0luc3RhbmNlZEFOR0xFIixudWxsPT09bClyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTEJ1ZmZlclJlbmRlcmVyOiB1c2luZyBUSFJFRS5JbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSBidXQgaGFyZHdhcmUgZG9lcyBub3Qgc3VwcG9ydCBleHRlbnNpb24gQU5HTEVfaW5zdGFuY2VkX2FycmF5cy4iKTtsW2NdKGEsbyxyLHMpLG4udXBkYXRlKHIsYSxzKX19ZnVuY3Rpb24gb2R0KHQsZSxuKXtsZXQgbztmdW5jdGlvbiBpKGUpe2lmKCJoaWdocCI9PT1lKXtpZih0LmdldFNoYWRlclByZWNpc2lvbkZvcm1hdCgzNTYzMywzNjMzOCkucHJlY2lzaW9uPjAmJnQuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0KDM1NjMyLDM2MzM4KS5wcmVjaXNpb24+MClyZXR1cm4iaGlnaHAiO2U9Im1lZGl1bXAifXJldHVybiJtZWRpdW1wIj09PWUmJnQuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0KDM1NjMzLDM2MzM3KS5wcmVjaXNpb24+MCYmdC5nZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoMzU2MzIsMzYzMzcpLnByZWNpc2lvbj4wPyJtZWRpdW1wIjoibG93cCJ9Y29uc3QgYT0idW5kZWZpbmVkIiE9dHlwZW9mIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQmJnQgaW5zdGFuY2VvZiBXZWJHTDJSZW5kZXJpbmdDb250ZXh0fHwidW5kZWZpbmVkIiE9dHlwZW9mIFdlYkdMMkNvbXB1dGVSZW5kZXJpbmdDb250ZXh0JiZ0IGluc3RhbmNlb2YgV2ViR0wyQ29tcHV0ZVJlbmRlcmluZ0NvbnRleHQ7bGV0IHI9dm9pZCAwIT09bi5wcmVjaXNpb24/bi5wcmVjaXNpb246ImhpZ2hwIjtjb25zdCBzPWkocik7cyE9PXImJihjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IixyLCJub3Qgc3VwcG9ydGVkLCB1c2luZyIscywiaW5zdGVhZC4iKSxyPXMpO2NvbnN0IGw9YXx8ZS5oYXMoIldFQkdMX2RyYXdfYnVmZmVycyIpLGM9ITA9PT1uLmxvZ2FyaXRobWljRGVwdGhCdWZmZXIsZD10LmdldFBhcmFtZXRlcigzNDkzMCkscD10LmdldFBhcmFtZXRlcigzNTY2MCksbT10LmdldFBhcmFtZXRlcigzMzc5KSxmPXQuZ2V0UGFyYW1ldGVyKDM0MDc2KSx1PXQuZ2V0UGFyYW1ldGVyKDM0OTIxKSxnPXQuZ2V0UGFyYW1ldGVyKDM2MzQ3KSxoPXQuZ2V0UGFyYW1ldGVyKDM2MzQ4KSxiPXQuZ2V0UGFyYW1ldGVyKDM2MzQ5KSx5PXA+MCxfPWF8fGUuaGFzKCJPRVNfdGV4dHVyZV9mbG9hdCIpO3JldHVybntpc1dlYkdMMjphLGRyYXdCdWZmZXJzOmwsZ2V0TWF4QW5pc290cm9weTpmdW5jdGlvbiBDKCl7aWYodm9pZCAwIT09bylyZXR1cm4gbztpZighMD09PWUuaGFzKCJFWFRfdGV4dHVyZV9maWx0ZXJfYW5pc290cm9waWMiKSl7Y29uc3Qgbj1lLmdldCgiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIik7bz10LmdldFBhcmFtZXRlcihuLk1BWF9URVhUVVJFX01BWF9BTklTT1RST1BZX0VYVCl9ZWxzZSBvPTA7cmV0dXJuIG99LGdldE1heFByZWNpc2lvbjppLHByZWNpc2lvbjpyLGxvZ2FyaXRobWljRGVwdGhCdWZmZXI6YyxtYXhUZXh0dXJlczpkLG1heFZlcnRleFRleHR1cmVzOnAsbWF4VGV4dHVyZVNpemU6bSxtYXhDdWJlbWFwU2l6ZTpmLG1heEF0dHJpYnV0ZXM6dSxtYXhWZXJ0ZXhVbmlmb3JtczpnLG1heFZhcnlpbmdzOmgsbWF4RnJhZ21lbnRVbmlmb3JtczpiLHZlcnRleFRleHR1cmVzOnksZmxvYXRGcmFnbWVudFRleHR1cmVzOl8sZmxvYXRWZXJ0ZXhUZXh0dXJlczp5JiZfLG1heFNhbXBsZXM6YT90LmdldFBhcmFtZXRlcigzNjE4Myk6MH19ZnVuY3Rpb24gaWR0KHQpe2NvbnN0IGU9dGhpcztsZXQgbj1udWxsLG89MCxpPSExLGE9ITE7Y29uc3Qgcj1uZXcgV2N0LHM9bmV3IGhzdCxsPXt2YWx1ZTpudWxsLG5lZWRzVXBkYXRlOiExfTtmdW5jdGlvbiBjKCl7bC52YWx1ZSE9PW4mJihsLnZhbHVlPW4sbC5uZWVkc1VwZGF0ZT1vPjApLGUubnVtUGxhbmVzPW8sZS5udW1JbnRlcnNlY3Rpb249MH1mdW5jdGlvbiBkKHQsbixvLGkpe2NvbnN0IGE9bnVsbCE9PXQ/dC5sZW5ndGg6MDtsZXQgYz1udWxsO2lmKDAhPT1hKXtpZihjPWwudmFsdWUsITAhPT1pfHxudWxsPT09Yyl7Y29uc3QgZT1vKzQqYSxpPW4ubWF0cml4V29ybGRJbnZlcnNlO3MuZ2V0Tm9ybWFsTWF0cml4KGkpLChudWxsPT09Y3x8Yy5sZW5ndGg8ZSkmJihjPW5ldyBGbG9hdDMyQXJyYXkoZSkpO2ZvcihsZXQgZT0wLG49bztlIT09YTsrK2Usbis9NClyLmNvcHkodFtlXSkuYXBwbHlNYXRyaXg0KGkscyksci5ub3JtYWwudG9BcnJheShjLG4pLGNbbiszXT1yLmNvbnN0YW50fWwudmFsdWU9YyxsLm5lZWRzVXBkYXRlPSEwfXJldHVybiBlLm51bVBsYW5lcz1hLGUubnVtSW50ZXJzZWN0aW9uPTAsY310aGlzLnVuaWZvcm09bCx0aGlzLm51bVBsYW5lcz0wLHRoaXMubnVtSW50ZXJzZWN0aW9uPTAsdGhpcy5pbml0PWZ1bmN0aW9uKHQsZSxhKXtjb25zdCByPTAhPT10Lmxlbmd0aHx8ZXx8MCE9PW98fGk7cmV0dXJuIGk9ZSxuPWQodCxhLDApLG89dC5sZW5ndGgscn0sdGhpcy5iZWdpblNoYWRvd3M9ZnVuY3Rpb24oKXthPSEwLGQobnVsbCl9LHRoaXMuZW5kU2hhZG93cz1mdW5jdGlvbigpe2E9ITEsYygpfSx0aGlzLnNldFN0YXRlPWZ1bmN0aW9uKGUscixzKXtjb25zdCBwPWUuY2xpcHBpbmdQbGFuZXMsbT1lLmNsaXBJbnRlcnNlY3Rpb24sZj1lLmNsaXBTaGFkb3dzLHU9dC5nZXQoZSk7aWYoIWl8fG51bGw9PT1wfHwwPT09cC5sZW5ndGh8fGEmJiFmKWE/ZChudWxsKTpjKCk7ZWxzZXtjb25zdCB0PWE/MDpvLGU9NCp0O2xldCBpPXUuY2xpcHBpbmdTdGF0ZXx8bnVsbDtsLnZhbHVlPWksaT1kKHAscixlLHMpO2ZvcihsZXQgdD0wO3QhPT1lOysrdClpW3RdPW5bdF07dS5jbGlwcGluZ1N0YXRlPWksdGhpcy5udW1JbnRlcnNlY3Rpb249bT90aGlzLm51bVBsYW5lczowLHRoaXMubnVtUGxhbmVzKz10fX19ZnVuY3Rpb24gYWR0KHQpe2xldCBlPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIG4odCxlKXtyZXR1cm4gMzAzPT09ZT90Lm1hcHBpbmc9d3J0OjMwND09PWUmJih0Lm1hcHBpbmc9a3J0KSx0fWZ1bmN0aW9uIG8odCl7Y29uc3Qgbj10LnRhcmdldDtuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLG8pO2NvbnN0IGk9ZS5nZXQobik7dm9pZCAwIT09aSYmKGUuZGVsZXRlKG4pLGkuZGlzcG9zZSgpKX1yZXR1cm57Z2V0OmZ1bmN0aW9uIGkoYSl7aWYoYSYmYS5pc1RleHR1cmUmJiExPT09YS5pc1JlbmRlclRhcmdldFRleHR1cmUpe2NvbnN0IGk9YS5tYXBwaW5nO2lmKDMwMz09PWl8fDMwND09PWkpe2lmKGUuaGFzKGEpKXtyZXR1cm4gbihlLmdldChhKS50ZXh0dXJlLGEubWFwcGluZyl9e2NvbnN0IGk9YS5pbWFnZTtpZihpJiZpLmhlaWdodD4wKXtjb25zdCByPXQuZ2V0UmVuZGVyVGFyZ2V0KCkscz1uZXcgQmN0KGkuaGVpZ2h0LzIpO3JldHVybiBzLmZyb21FcXVpcmVjdGFuZ3VsYXJUZXh0dXJlKHQsYSksZS5zZXQoYSxzKSx0LnNldFJlbmRlclRhcmdldChyKSxhLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLG8pLG4ocy50ZXh0dXJlLGEubWFwcGluZyl9cmV0dXJuIG51bGx9fX1yZXR1cm4gYX0sZGlzcG9zZTpmdW5jdGlvbiBhKCl7ZT1uZXcgV2Vha01hcH19fSRjdC5waHlzaWNhbD17dW5pZm9ybXM6QWN0KFskY3Quc3RhbmRhcmQudW5pZm9ybXMse2NsZWFyY29hdDp7dmFsdWU6MH0sY2xlYXJjb2F0TWFwOnt2YWx1ZTpudWxsfSxjbGVhcmNvYXRSb3VnaG5lc3M6e3ZhbHVlOjB9LGNsZWFyY29hdFJvdWdobmVzc01hcDp7dmFsdWU6bnVsbH0sY2xlYXJjb2F0Tm9ybWFsU2NhbGU6e3ZhbHVlOm5ldyBnc3QoMSwxKX0sY2xlYXJjb2F0Tm9ybWFsTWFwOnt2YWx1ZTpudWxsfSxzaGVlbjp7dmFsdWU6bmV3IFpsdCgwKX0sdHJhbnNtaXNzaW9uOnt2YWx1ZTowfSx0cmFuc21pc3Npb25NYXA6e3ZhbHVlOm51bGx9LHRyYW5zbWlzc2lvblNhbXBsZXJTaXplOnt2YWx1ZTpuZXcgZ3N0fSx0cmFuc21pc3Npb25TYW1wbGVyTWFwOnt2YWx1ZTpudWxsfSx0aGlja25lc3M6e3ZhbHVlOjB9LHRoaWNrbmVzc01hcDp7dmFsdWU6bnVsbH0sYXR0ZW51YXRpb25EaXN0YW5jZTp7dmFsdWU6MH0sYXR0ZW51YXRpb25UaW50Ont2YWx1ZTpuZXcgWmx0KDApfSxzcGVjdWxhckludGVuc2l0eTp7dmFsdWU6MH0sc3BlY3VsYXJJbnRlbnNpdHlNYXA6e3ZhbHVlOm51bGx9LHNwZWN1bGFyVGludDp7dmFsdWU6bmV3IFpsdCgxLDEsMSl9LHNwZWN1bGFyVGludE1hcDp7dmFsdWU6bnVsbH19XSksdmVydGV4U2hhZGVyOkpjdC5tZXNocGh5c2ljYWxfdmVydCxmcmFnbWVudFNoYWRlcjpKY3QubWVzaHBoeXNpY2FsX2ZyYWd9O2NsYXNzIHJkdCBleHRlbmRzIHpjdHtjb25zdHJ1Y3Rvcih0PS0xLGU9MSxuPTEsbz0tMSxpPS4xLGE9MmUzKXtzdXBlcigpLHRoaXMudHlwZT0iT3J0aG9ncmFwaGljQ2FtZXJhIix0aGlzLnpvb209MSx0aGlzLnZpZXc9bnVsbCx0aGlzLmxlZnQ9dCx0aGlzLnJpZ2h0PWUsdGhpcy50b3A9bix0aGlzLmJvdHRvbT1vLHRoaXMubmVhcj1pLHRoaXMuZmFyPWEsdGhpcy51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9Y29weSh0LGUpe3JldHVybiBzdXBlci5jb3B5KHQsZSksdGhpcy5sZWZ0PXQubGVmdCx0aGlzLnJpZ2h0PXQucmlnaHQsdGhpcy50b3A9dC50b3AsdGhpcy5ib3R0b209dC5ib3R0b20sdGhpcy5uZWFyPXQubmVhcix0aGlzLmZhcj10LmZhcix0aGlzLnpvb209dC56b29tLHRoaXMudmlldz1udWxsPT09dC52aWV3P251bGw6T2JqZWN0LmFzc2lnbih7fSx0LnZpZXcpLHRoaXN9c2V0Vmlld09mZnNldCh0LGUsbixvLGksYSl7bnVsbD09PXRoaXMudmlldyYmKHRoaXMudmlldz17ZW5hYmxlZDohMCxmdWxsV2lkdGg6MSxmdWxsSGVpZ2h0OjEsb2Zmc2V0WDowLG9mZnNldFk6MCx3aWR0aDoxLGhlaWdodDoxfSksdGhpcy52aWV3LmVuYWJsZWQ9ITAsdGhpcy52aWV3LmZ1bGxXaWR0aD10LHRoaXMudmlldy5mdWxsSGVpZ2h0PWUsdGhpcy52aWV3Lm9mZnNldFg9bix0aGlzLnZpZXcub2Zmc2V0WT1vLHRoaXMudmlldy53aWR0aD1pLHRoaXMudmlldy5oZWlnaHQ9YSx0aGlzLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKX1jbGVhclZpZXdPZmZzZXQoKXtudWxsIT09dGhpcy52aWV3JiYodGhpcy52aWV3LmVuYWJsZWQ9ITEpLHRoaXMudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfXVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKXtjb25zdCB0PSh0aGlzLnJpZ2h0LXRoaXMubGVmdCkvKDIqdGhpcy56b29tKSxlPSh0aGlzLnRvcC10aGlzLmJvdHRvbSkvKDIqdGhpcy56b29tKSxuPSh0aGlzLnJpZ2h0K3RoaXMubGVmdCkvMixvPSh0aGlzLnRvcCt0aGlzLmJvdHRvbSkvMjtsZXQgaT1uLXQsYT1uK3Qscj1vK2Uscz1vLWU7aWYobnVsbCE9PXRoaXMudmlldyYmdGhpcy52aWV3LmVuYWJsZWQpe2NvbnN0IHQ9KHRoaXMucmlnaHQtdGhpcy5sZWZ0KS90aGlzLnZpZXcuZnVsbFdpZHRoL3RoaXMuem9vbSxlPSh0aGlzLnRvcC10aGlzLmJvdHRvbSkvdGhpcy52aWV3LmZ1bGxIZWlnaHQvdGhpcy56b29tO2krPXQqdGhpcy52aWV3Lm9mZnNldFgsYT1pK3QqdGhpcy52aWV3LndpZHRoLHItPWUqdGhpcy52aWV3Lm9mZnNldFkscz1yLWUqdGhpcy52aWV3LmhlaWdodH10aGlzLnByb2plY3Rpb25NYXRyaXgubWFrZU9ydGhvZ3JhcGhpYyhpLGEscixzLHRoaXMubmVhcix0aGlzLmZhciksdGhpcy5wcm9qZWN0aW9uTWF0cml4SW52ZXJzZS5jb3B5KHRoaXMucHJvamVjdGlvbk1hdHJpeCkuaW52ZXJ0KCl9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO3JldHVybiBlLm9iamVjdC56b29tPXRoaXMuem9vbSxlLm9iamVjdC5sZWZ0PXRoaXMubGVmdCxlLm9iamVjdC5yaWdodD10aGlzLnJpZ2h0LGUub2JqZWN0LnRvcD10aGlzLnRvcCxlLm9iamVjdC5ib3R0b209dGhpcy5ib3R0b20sZS5vYmplY3QubmVhcj10aGlzLm5lYXIsZS5vYmplY3QuZmFyPXRoaXMuZmFyLG51bGwhPT10aGlzLnZpZXcmJihlLm9iamVjdC52aWV3PU9iamVjdC5hc3NpZ24oe30sdGhpcy52aWV3KSksZX19cmR0LnByb3RvdHlwZS5pc09ydGhvZ3JhcGhpY0NhbWVyYT0hMDtjbGFzcyBzZHQgZXh0ZW5kcyBOY3R7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy50eXBlPSJSYXdTaGFkZXJNYXRlcmlhbCJ9fXNkdC5wcm90b3R5cGUuaXNSYXdTaGFkZXJNYXRlcmlhbD0hMDtjb25zdCBsZHQ9TWF0aC5wb3coMiw4KSxjZHQ9Wy4xMjUsLjIxNSwuMzUsLjQ0NiwuNTI2LC41ODJdLGRkdD01K2NkdC5sZW5ndGgscGR0PTIwLG1kdD17W1FydF06MCxbJHJ0XToxLFtlc3RdOjIsMzAwNDozLDMwMDU6NCwzMDA2OjUsW3RzdF06Nn0sZmR0PW5ldyBYbHQoe3NpZGU6MSxkZXB0aFdyaXRlOiExLGRlcHRoVGVzdDohMX0pLHVkdD1uZXcgU2N0KG5ldyBSY3QsZmR0KSxnZHQ9bmV3IHJkdCx7X2xvZFBsYW5lczpoZHQsX3NpemVMb2RzOmJkdCxfc2lnbWFzOnlkdH09a2R0KCksX2R0PW5ldyBabHQ7bGV0IENkdD1udWxsO2NvbnN0IE1kdD0oMStNYXRoLnNxcnQoNSkpLzIsdmR0PTEvTWR0LHhkdD1bbmV3IHdzdCgxLDEsMSksbmV3IHdzdCgtMSwxLDEpLG5ldyB3c3QoMSwxLC0xKSxuZXcgd3N0KC0xLDEsLTEpLG5ldyB3c3QoMCxNZHQsdmR0KSxuZXcgd3N0KDAsTWR0LC12ZHQpLG5ldyB3c3QodmR0LDAsTWR0KSxuZXcgd3N0KC12ZHQsMCxNZHQpLG5ldyB3c3QoTWR0LHZkdCwwKSxuZXcgd3N0KC1NZHQsdmR0LDApXTtmdW5jdGlvbiBPZHQodCl7Y29uc3QgZT1NYXRoLm1heCh0LnIsdC5nLHQuYiksbj1NYXRoLm1pbihNYXRoLm1heChNYXRoLmNlaWwoTWF0aC5sb2cyKGUpKSwtMTI4KSwxMjcpO3QubXVsdGlwbHlTY2FsYXIoTWF0aC5wb3coMiwtbikpO3JldHVybihuKzEyOCkvMjU1fWNsYXNzIFBkdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLl9yZW5kZXJlcj10LHRoaXMuX3BpbmdQb25nUmVuZGVyVGFyZ2V0PW51bGwsdGhpcy5fYmx1ck1hdGVyaWFsPShmdW5jdGlvbiBlKHQpe2NvbnN0IGU9bmV3IEZsb2F0MzJBcnJheSh0KSxuPW5ldyB3c3QoMCwxLDApO3JldHVybiBuZXcgc2R0KHtuYW1lOiJTcGhlcmljYWxHYXVzc2lhbkJsdXIiLGRlZmluZXM6e246dH0sdW5pZm9ybXM6e2Vudk1hcDp7dmFsdWU6bnVsbH0sc2FtcGxlczp7dmFsdWU6MX0sd2VpZ2h0czp7dmFsdWU6ZX0sbGF0aXR1ZGluYWw6e3ZhbHVlOiExfSxkVGhldGE6e3ZhbHVlOjB9LG1pcEludDp7dmFsdWU6MH0scG9sZUF4aXM6e3ZhbHVlOm59LGlucHV0RW5jb2Rpbmc6e3ZhbHVlOm1kdFszZTNdfSxvdXRwdXRFbmNvZGluZzp7dmFsdWU6bWR0WzNlM119fSx2ZXJ0ZXhTaGFkZXI6QWR0KCksZnJhZ21lbnRTaGFkZXI6YFxuXG5cdFx0XHRwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcblx0XHRcdHByZWNpc2lvbiBtZWRpdW1wIGludDtcblxuXHRcdFx0dmFyeWluZyB2ZWMzIHZPdXRwdXREaXJlY3Rpb247XG5cblx0XHRcdHVuaWZvcm0gc2FtcGxlcjJEIGVudk1hcDtcblx0XHRcdHVuaWZvcm0gaW50IHNhbXBsZXM7XG5cdFx0XHR1bmlmb3JtIGZsb2F0IHdlaWdodHNbIG4gXTtcblx0XHRcdHVuaWZvcm0gYm9vbCBsYXRpdHVkaW5hbDtcblx0XHRcdHVuaWZvcm0gZmxvYXQgZFRoZXRhO1xuXHRcdFx0dW5pZm9ybSBmbG9hdCBtaXBJbnQ7XG5cdFx0XHR1bmlmb3JtIHZlYzMgcG9sZUF4aXM7XG5cblx0XHRcdCR7VGR0KCl9XG5cblx0XHRcdCNkZWZpbmUgRU5WTUFQX1RZUEVfQ1VCRV9VVlxuXHRcdFx0I2luY2x1ZGUgPGN1YmVfdXZfcmVmbGVjdGlvbl9mcmFnbWVudD5cblxuXHRcdFx0dmVjMyBnZXRTYW1wbGUoIGZsb2F0IHRoZXRhLCB2ZWMzIGF4aXMgKSB7XG5cblx0XHRcdFx0ZmxvYXQgY29zVGhldGEgPSBjb3MoIHRoZXRhICk7XG5cdFx0XHRcdC8vIFJvZHJpZ3VlcycgYXhpcy1hbmdsZSByb3RhdGlvblxuXHRcdFx0XHR2ZWMzIHNhbXBsZURpcmVjdGlvbiA9IHZPdXRwdXREaXJlY3Rpb24gKiBjb3NUaGV0YVxuXHRcdFx0XHRcdCsgY3Jvc3MoIGF4aXMsIHZPdXRwdXREaXJlY3Rpb24gKSAqIHNpbiggdGhldGEgKVxuXHRcdFx0XHRcdCsgYXhpcyAqIGRvdCggYXhpcywgdk91dHB1dERpcmVjdGlvbiApICogKCAxLjAgLSBjb3NUaGV0YSApO1xuXG5cdFx0XHRcdHJldHVybiBiaWxpbmVhckN1YmVVViggZW52TWFwLCBzYW1wbGVEaXJlY3Rpb24sIG1pcEludCApO1xuXG5cdFx0XHR9XG5cblx0XHRcdHZvaWQgbWFpbigpIHtcblxuXHRcdFx0XHR2ZWMzIGF4aXMgPSBsYXRpdHVkaW5hbCA/IHBvbGVBeGlzIDogY3Jvc3MoIHBvbGVBeGlzLCB2T3V0cHV0RGlyZWN0aW9uICk7XG5cblx0XHRcdFx0aWYgKCBhbGwoIGVxdWFsKCBheGlzLCB2ZWMzKCAwLjAgKSApICkgKSB7XG5cblx0XHRcdFx0XHRheGlzID0gdmVjMyggdk91dHB1dERpcmVjdGlvbi56LCAwLjAsIC0gdk91dHB1dERpcmVjdGlvbi54ICk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGF4aXMgPSBub3JtYWxpemUoIGF4aXMgKTtcblxuXHRcdFx0XHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCAwLjAsIDAuMCwgMC4wLCAxLjAgKTtcblx0XHRcdFx0Z2xfRnJhZ0NvbG9yLnJnYiArPSB3ZWlnaHRzWyAwIF0gKiBnZXRTYW1wbGUoIDAuMCwgYXhpcyApO1xuXG5cdFx0XHRcdGZvciAoIGludCBpID0gMTsgaSA8IG47IGkrKyApIHtcblxuXHRcdFx0XHRcdGlmICggaSA+PSBzYW1wbGVzICkge1xuXG5cdFx0XHRcdFx0XHRicmVhaztcblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGZsb2F0IHRoZXRhID0gZFRoZXRhICogZmxvYXQoIGkgKTtcblx0XHRcdFx0XHRnbF9GcmFnQ29sb3IucmdiICs9IHdlaWdodHNbIGkgXSAqIGdldFNhbXBsZSggLTEuMCAqIHRoZXRhLCBheGlzICk7XG5cdFx0XHRcdFx0Z2xfRnJhZ0NvbG9yLnJnYiArPSB3ZWlnaHRzWyBpIF0gKiBnZXRTYW1wbGUoIHRoZXRhLCBheGlzICk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGdsX0ZyYWdDb2xvciA9IGxpbmVhclRvT3V0cHV0VGV4ZWwoIGdsX0ZyYWdDb2xvciApO1xuXG5cdFx0XHR9XG5cdFx0YCxibGVuZGluZzowLGRlcHRoVGVzdDohMSxkZXB0aFdyaXRlOiExfSl9KShwZHQpLHRoaXMuX2VxdWlyZWN0U2hhZGVyPW51bGwsdGhpcy5fY3ViZW1hcFNoYWRlcj1udWxsLHRoaXMuX2NvbXBpbGVNYXRlcmlhbCh0aGlzLl9ibHVyTWF0ZXJpYWwpfWZyb21TY2VuZSh0LGU9MCxuPS4xLG89MTAwKXtDZHQ9dGhpcy5fcmVuZGVyZXIuZ2V0UmVuZGVyVGFyZ2V0KCk7Y29uc3QgaT10aGlzLl9hbGxvY2F0ZVRhcmdldHMoKTtyZXR1cm4gdGhpcy5fc2NlbmVUb0N1YmVVVih0LG4sbyxpKSxlPjAmJnRoaXMuX2JsdXIoaSwwLDAsZSksdGhpcy5fYXBwbHlQTVJFTShpKSx0aGlzLl9jbGVhbnVwKGkpLGl9ZnJvbUVxdWlyZWN0YW5ndWxhcih0KXtyZXR1cm4gdGhpcy5fZnJvbVRleHR1cmUodCl9ZnJvbUN1YmVtYXAodCl7cmV0dXJuIHRoaXMuX2Zyb21UZXh0dXJlKHQpfWNvbXBpbGVDdWJlbWFwU2hhZGVyKCl7bnVsbD09PXRoaXMuX2N1YmVtYXBTaGFkZXImJih0aGlzLl9jdWJlbWFwU2hhZGVyPUVkdCgpLHRoaXMuX2NvbXBpbGVNYXRlcmlhbCh0aGlzLl9jdWJlbWFwU2hhZGVyKSl9Y29tcGlsZUVxdWlyZWN0YW5ndWxhclNoYWRlcigpe251bGw9PT10aGlzLl9lcXVpcmVjdFNoYWRlciYmKHRoaXMuX2VxdWlyZWN0U2hhZGVyPVJkdCgpLHRoaXMuX2NvbXBpbGVNYXRlcmlhbCh0aGlzLl9lcXVpcmVjdFNoYWRlcikpfWRpc3Bvc2UoKXt0aGlzLl9ibHVyTWF0ZXJpYWwuZGlzcG9zZSgpLG51bGwhPT10aGlzLl9jdWJlbWFwU2hhZGVyJiZ0aGlzLl9jdWJlbWFwU2hhZGVyLmRpc3Bvc2UoKSxudWxsIT09dGhpcy5fZXF1aXJlY3RTaGFkZXImJnRoaXMuX2VxdWlyZWN0U2hhZGVyLmRpc3Bvc2UoKTtmb3IobGV0IHQ9MDt0PGhkdC5sZW5ndGg7dCsrKWhkdFt0XS5kaXNwb3NlKCl9X2NsZWFudXAodCl7dGhpcy5fcGluZ1BvbmdSZW5kZXJUYXJnZXQuZGlzcG9zZSgpLHRoaXMuX3JlbmRlcmVyLnNldFJlbmRlclRhcmdldChDZHQpLHQuc2Npc3NvclRlc3Q9ITEsRGR0KHQsMCwwLHQud2lkdGgsdC5oZWlnaHQpfV9mcm9tVGV4dHVyZSh0KXtDZHQ9dGhpcy5fcmVuZGVyZXIuZ2V0UmVuZGVyVGFyZ2V0KCk7Y29uc3QgZT10aGlzLl9hbGxvY2F0ZVRhcmdldHModCk7cmV0dXJuIHRoaXMuX3RleHR1cmVUb0N1YmVVVih0LGUpLHRoaXMuX2FwcGx5UE1SRU0oZSksdGhpcy5fY2xlYW51cChlKSxlfV9hbGxvY2F0ZVRhcmdldHModCl7Y29uc3QgZT17bWFnRmlsdGVyOkFydCxtaW5GaWx0ZXI6QXJ0LGdlbmVyYXRlTWlwbWFwczohMSx0eXBlOnpydCxmb3JtYXQ6MTAyMyxlbmNvZGluZzp3ZHQodCk/dC5lbmNvZGluZzplc3QsZGVwdGhCdWZmZXI6ITF9LG49U2R0KGUpO3JldHVybiBuLmRlcHRoQnVmZmVyPSF0LHRoaXMuX3BpbmdQb25nUmVuZGVyVGFyZ2V0PVNkdChlKSxufV9jb21waWxlTWF0ZXJpYWwodCl7Y29uc3QgZT1uZXcgU2N0KGhkdFswXSx0KTt0aGlzLl9yZW5kZXJlci5jb21waWxlKGUsZ2R0KX1fc2NlbmVUb0N1YmVVVih0LGUsbixvKXtjb25zdCBpPW5ldyBJY3QoOTAsMSxlLG4pLGE9WzEsLTEsMSwxLDEsMV0scj1bMSwxLDEsLTEsLTEsLTFdLHM9dGhpcy5fcmVuZGVyZXIsbD1zLmF1dG9DbGVhcixjPXMub3V0cHV0RW5jb2RpbmcsZD1zLnRvbmVNYXBwaW5nO3MuZ2V0Q2xlYXJDb2xvcihfZHQpLHMudG9uZU1hcHBpbmc9MCxzLm91dHB1dEVuY29kaW5nPVFydCxzLmF1dG9DbGVhcj0hMTtsZXQgcD0hMTtjb25zdCBtPXQuYmFja2dyb3VuZDtpZihtKXtpZihtLmlzQ29sb3Ipe2ZkdC5jb2xvci5jb3B5KG0pLmNvbnZlcnRTUkdCVG9MaW5lYXIoKSx0LmJhY2tncm91bmQ9bnVsbDtjb25zdCBlPU9kdChmZHQuY29sb3IpO2ZkdC5vcGFjaXR5PWUscD0hMH19ZWxzZXtmZHQuY29sb3IuY29weShfZHQpLmNvbnZlcnRTUkdCVG9MaW5lYXIoKTtjb25zdCB0PU9kdChmZHQuY29sb3IpO2ZkdC5vcGFjaXR5PXQscD0hMH1mb3IobGV0IGU9MDtlPDY7ZSsrKXtjb25zdCBuPWUlMzswPT1uPyhpLnVwLnNldCgwLGFbZV0sMCksaS5sb29rQXQocltlXSwwLDApKToxPT1uPyhpLnVwLnNldCgwLDAsYVtlXSksaS5sb29rQXQoMCxyW2VdLDApKTooaS51cC5zZXQoMCxhW2VdLDApLGkubG9va0F0KDAsMCxyW2VdKSksRGR0KG8sbipsZHQsZT4yP2xkdDowLGxkdCxsZHQpLHMuc2V0UmVuZGVyVGFyZ2V0KG8pLHAmJnMucmVuZGVyKHVkdCxpKSxzLnJlbmRlcih0LGkpfXMudG9uZU1hcHBpbmc9ZCxzLm91dHB1dEVuY29kaW5nPWMscy5hdXRvQ2xlYXI9bH1fdGV4dHVyZVRvQ3ViZVVWKHQsZSl7Y29uc3Qgbj10aGlzLl9yZW5kZXJlcjt0LmlzQ3ViZVRleHR1cmU/bnVsbD09dGhpcy5fY3ViZW1hcFNoYWRlciYmKHRoaXMuX2N1YmVtYXBTaGFkZXI9RWR0KCkpOm51bGw9PXRoaXMuX2VxdWlyZWN0U2hhZGVyJiYodGhpcy5fZXF1aXJlY3RTaGFkZXI9UmR0KCkpO2NvbnN0IG89dC5pc0N1YmVUZXh0dXJlP3RoaXMuX2N1YmVtYXBTaGFkZXI6dGhpcy5fZXF1aXJlY3RTaGFkZXIsaT1uZXcgU2N0KGhkdFswXSxvKSxhPW8udW5pZm9ybXM7YS5lbnZNYXAudmFsdWU9dCx0LmlzQ3ViZVRleHR1cmV8fGEudGV4ZWxTaXplLnZhbHVlLnNldCgxL3QuaW1hZ2Uud2lkdGgsMS90LmltYWdlLmhlaWdodCksYS5pbnB1dEVuY29kaW5nLnZhbHVlPW1kdFt0LmVuY29kaW5nXSxhLm91dHB1dEVuY29kaW5nLnZhbHVlPW1kdFtlLnRleHR1cmUuZW5jb2RpbmddLERkdChlLDAsMCwzKmxkdCwyKmxkdCksbi5zZXRSZW5kZXJUYXJnZXQoZSksbi5yZW5kZXIoaSxnZHQpfV9hcHBseVBNUkVNKHQpe2NvbnN0IGU9dGhpcy5fcmVuZGVyZXIsbj1lLmF1dG9DbGVhcjtlLmF1dG9DbGVhcj0hMTtmb3IobGV0IGU9MTtlPGRkdDtlKyspe2NvbnN0IG49TWF0aC5zcXJ0KHlkdFtlXSp5ZHRbZV0teWR0W2UtMV0qeWR0W2UtMV0pO3RoaXMuX2JsdXIodCxlLTEsZSxuLHhkdFsoZS0xKSV4ZHQubGVuZ3RoXSl9ZS5hdXRvQ2xlYXI9bn1fYmx1cih0LGUsbixvLGkpe2NvbnN0IGE9dGhpcy5fcGluZ1BvbmdSZW5kZXJUYXJnZXQ7dGhpcy5faGFsZkJsdXIodCxhLGUsbixvLCJsYXRpdHVkaW5hbCIsaSksdGhpcy5faGFsZkJsdXIoYSx0LG4sbixvLCJsb25naXR1ZGluYWwiLGkpfV9oYWxmQmx1cih0LGUsbixvLGksYSxyKXtjb25zdCBzPXRoaXMuX3JlbmRlcmVyLGw9dGhpcy5fYmx1ck1hdGVyaWFsOyJsYXRpdHVkaW5hbCIhPT1hJiYibG9uZ2l0dWRpbmFsIiE9PWEmJmNvbnNvbGUuZXJyb3IoImJsdXIgZGlyZWN0aW9uIG11c3QgYmUgZWl0aGVyIGxhdGl0dWRpbmFsIG9yIGxvbmdpdHVkaW5hbCEiKTtjb25zdCBjPW5ldyBTY3QoaGR0W29dLGwpLGQ9bC51bmlmb3JtcyxwPWJkdFtuXS0xLG09aXNGaW5pdGUoaSk/TWF0aC5QSS8oMipwKToyKk1hdGguUEkvMzksZj1pL20sdT1pc0Zpbml0ZShpKT8xK01hdGguZmxvb3IoMypmKTpwZHQ7dT5wZHQmJmNvbnNvbGUud2Fybihgc2lnbWFSYWRpYW5zLCAke2l9LCBpcyB0b28gbGFyZ2UgYW5kIHdpbGwgY2xpcCwgYXMgaXQgcmVxdWVzdGVkICR7dX0gc2FtcGxlcyB3aGVuIHRoZSBtYXhpbXVtIGlzIHNldCB0byAyMGApO2NvbnN0IGc9W107bGV0IGg9MDtmb3IobGV0IHQ9MDt0PHBkdDsrK3Qpe2NvbnN0IGU9dC9mLG49TWF0aC5leHAoLWUqZS8yKTtnLnB1c2gobiksMD09dD9oKz1uOnQ8dSYmKGgrPTIqbil9Zm9yKGxldCB0PTA7dDxnLmxlbmd0aDt0KyspZ1t0XT1nW3RdL2g7ZC5lbnZNYXAudmFsdWU9dC50ZXh0dXJlLGQuc2FtcGxlcy52YWx1ZT11LGQud2VpZ2h0cy52YWx1ZT1nLGQubGF0aXR1ZGluYWwudmFsdWU9ImxhdGl0dWRpbmFsIj09PWEsciYmKGQucG9sZUF4aXMudmFsdWU9ciksZC5kVGhldGEudmFsdWU9bSxkLm1pcEludC52YWx1ZT04LW4sZC5pbnB1dEVuY29kaW5nLnZhbHVlPW1kdFt0LnRleHR1cmUuZW5jb2RpbmddLGQub3V0cHV0RW5jb2RpbmcudmFsdWU9bWR0W3QudGV4dHVyZS5lbmNvZGluZ107Y29uc3QgYj1iZHRbb107RGR0KGUsMypNYXRoLm1heCgwLGxkdC0yKmIpLCgwPT09bz8wOjIqbGR0KSsyKmIqKG8+ND9vLTgrNDowKSwzKmIsMipiKSxzLnNldFJlbmRlclRhcmdldChlKSxzLnJlbmRlcihjLGdkdCl9fWZ1bmN0aW9uIHdkdCh0KXtyZXR1cm4gdm9pZCAwIT09dCYmdC50eXBlPT09enJ0JiYodC5lbmNvZGluZz09PVFydHx8dC5lbmNvZGluZz09PSRydHx8dC5lbmNvZGluZz09PXRzdCl9ZnVuY3Rpb24ga2R0KCl7Y29uc3QgdD1bXSxlPVtdLG49W107bGV0IG89ODtmb3IobGV0IGk9MDtpPGRkdDtpKyspe2NvbnN0IGE9TWF0aC5wb3coMixvKTtlLnB1c2goYSk7bGV0IHI9MS9hO2k+ND9yPWNkdFtpLTgrNC0xXTowPT1pJiYocj0wKSxuLnB1c2gocik7Y29uc3Qgcz0xLyhhLTEpLGw9LXMvMixjPTErcy8yLGQ9W2wsbCxjLGwsYyxjLGwsbCxjLGMsbCxjXSxwPTYsbT02LGY9Myx1PTIsZz0xLGg9bmV3IEZsb2F0MzJBcnJheShmKm0qcCksYj1uZXcgRmxvYXQzMkFycmF5KHUqbSpwKSx5PW5ldyBGbG9hdDMyQXJyYXkoZyptKnApO2ZvcihsZXQgdD0wO3Q8cDt0Kyspe2NvbnN0IGU9dCUzKjIvMy0xLG49dD4yPzA6LTE7aC5zZXQoW2UsbiwwLGUrMi8zLG4sMCxlKzIvMyxuKzEsMCxlLG4sMCxlKzIvMyxuKzEsMCxlLG4rMSwwXSxmKm0qdCksYi5zZXQoZCx1Km0qdCk7eS5zZXQoW3QsdCx0LHQsdCx0XSxnKm0qdCl9Y29uc3QgXz1uZXcgZGN0O18uc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IFFsdChoLGYpKSxfLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBRbHQoYix1KSksXy5zZXRBdHRyaWJ1dGUoImZhY2VJbmRleCIsbmV3IFFsdCh5LGcpKSx0LnB1c2goXyksbz40JiZvLS19cmV0dXJue19sb2RQbGFuZXM6dCxfc2l6ZUxvZHM6ZSxfc2lnbWFzOm59fWZ1bmN0aW9uIFNkdCh0KXtjb25zdCBlPW5ldyB4c3QoMypsZHQsMypsZHQsdCk7cmV0dXJuIGUudGV4dHVyZS5tYXBwaW5nPVNydCxlLnRleHR1cmUubmFtZT0iUE1SRU0uY3ViZVV2IixlLnNjaXNzb3JUZXN0PSEwLGV9ZnVuY3Rpb24gRGR0KHQsZSxuLG8saSl7dC52aWV3cG9ydC5zZXQoZSxuLG8saSksdC5zY2lzc29yLnNldChlLG4sbyxpKX1mdW5jdGlvbiBSZHQoKXtjb25zdCB0PW5ldyBnc3QoMSwxKTtyZXR1cm4gbmV3IHNkdCh7bmFtZToiRXF1aXJlY3Rhbmd1bGFyVG9DdWJlVVYiLHVuaWZvcm1zOntlbnZNYXA6e3ZhbHVlOm51bGx9LHRleGVsU2l6ZTp7dmFsdWU6dH0saW5wdXRFbmNvZGluZzp7dmFsdWU6bWR0WzNlM119LG91dHB1dEVuY29kaW5nOnt2YWx1ZTptZHRbM2UzXX19LHZlcnRleFNoYWRlcjpBZHQoKSxmcmFnbWVudFNoYWRlcjpgXG5cblx0XHRcdHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuXHRcdFx0cHJlY2lzaW9uIG1lZGl1bXAgaW50O1xuXG5cdFx0XHR2YXJ5aW5nIHZlYzMgdk91dHB1dERpcmVjdGlvbjtcblxuXHRcdFx0dW5pZm9ybSBzYW1wbGVyMkQgZW52TWFwO1xuXHRcdFx0dW5pZm9ybSB2ZWMyIHRleGVsU2l6ZTtcblxuXHRcdFx0JHtUZHQoKX1cblxuXHRcdFx0I2luY2x1ZGUgPGNvbW1vbj5cblxuXHRcdFx0dm9pZCBtYWluKCkge1xuXG5cdFx0XHRcdGdsX0ZyYWdDb2xvciA9IHZlYzQoIDAuMCwgMC4wLCAwLjAsIDEuMCApO1xuXG5cdFx0XHRcdHZlYzMgb3V0cHV0RGlyZWN0aW9uID0gbm9ybWFsaXplKCB2T3V0cHV0RGlyZWN0aW9uICk7XG5cdFx0XHRcdHZlYzIgdXYgPSBlcXVpcmVjdFV2KCBvdXRwdXREaXJlY3Rpb24gKTtcblxuXHRcdFx0XHR2ZWMyIGYgPSBmcmFjdCggdXYgLyB0ZXhlbFNpemUgLSAwLjUgKTtcblx0XHRcdFx0dXYgLT0gZiAqIHRleGVsU2l6ZTtcblx0XHRcdFx0dmVjMyB0bCA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCAoIGVudk1hcCwgdXYgKSApLnJnYjtcblx0XHRcdFx0dXYueCArPSB0ZXhlbFNpemUueDtcblx0XHRcdFx0dmVjMyB0ciA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCAoIGVudk1hcCwgdXYgKSApLnJnYjtcblx0XHRcdFx0dXYueSArPSB0ZXhlbFNpemUueTtcblx0XHRcdFx0dmVjMyBiciA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCAoIGVudk1hcCwgdXYgKSApLnJnYjtcblx0XHRcdFx0dXYueCAtPSB0ZXhlbFNpemUueDtcblx0XHRcdFx0dmVjMyBibCA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmUyRCAoIGVudk1hcCwgdXYgKSApLnJnYjtcblxuXHRcdFx0XHR2ZWMzIHRtID0gbWl4KCB0bCwgdHIsIGYueCApO1xuXHRcdFx0XHR2ZWMzIGJtID0gbWl4KCBibCwgYnIsIGYueCApO1xuXHRcdFx0XHRnbF9GcmFnQ29sb3IucmdiID0gbWl4KCB0bSwgYm0sIGYueSApO1xuXG5cdFx0XHRcdGdsX0ZyYWdDb2xvciA9IGxpbmVhclRvT3V0cHV0VGV4ZWwoIGdsX0ZyYWdDb2xvciApO1xuXG5cdFx0XHR9XG5cdFx0YCxibGVuZGluZzowLGRlcHRoVGVzdDohMSxkZXB0aFdyaXRlOiExfSl9ZnVuY3Rpb24gRWR0KCl7cmV0dXJuIG5ldyBzZHQoe25hbWU6IkN1YmVtYXBUb0N1YmVVViIsdW5pZm9ybXM6e2Vudk1hcDp7dmFsdWU6bnVsbH0saW5wdXRFbmNvZGluZzp7dmFsdWU6bWR0WzNlM119LG91dHB1dEVuY29kaW5nOnt2YWx1ZTptZHRbM2UzXX19LHZlcnRleFNoYWRlcjpBZHQoKSxmcmFnbWVudFNoYWRlcjpgXG5cblx0XHRcdHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0O1xuXHRcdFx0cHJlY2lzaW9uIG1lZGl1bXAgaW50O1xuXG5cdFx0XHR2YXJ5aW5nIHZlYzMgdk91dHB1dERpcmVjdGlvbjtcblxuXHRcdFx0dW5pZm9ybSBzYW1wbGVyQ3ViZSBlbnZNYXA7XG5cblx0XHRcdCR7VGR0KCl9XG5cblx0XHRcdHZvaWQgbWFpbigpIHtcblxuXHRcdFx0XHRnbF9GcmFnQ29sb3IgPSB2ZWM0KCAwLjAsIDAuMCwgMC4wLCAxLjAgKTtcblx0XHRcdFx0Z2xfRnJhZ0NvbG9yLnJnYiA9IGVudk1hcFRleGVsVG9MaW5lYXIoIHRleHR1cmVDdWJlKCBlbnZNYXAsIHZlYzMoIC0gdk91dHB1dERpcmVjdGlvbi54LCB2T3V0cHV0RGlyZWN0aW9uLnl6ICkgKSApLnJnYjtcblx0XHRcdFx0Z2xfRnJhZ0NvbG9yID0gbGluZWFyVG9PdXRwdXRUZXhlbCggZ2xfRnJhZ0NvbG9yICk7XG5cblx0XHRcdH1cblx0XHRgLGJsZW5kaW5nOjAsZGVwdGhUZXN0OiExLGRlcHRoV3JpdGU6ITF9KX1mdW5jdGlvbiBBZHQoKXtyZXR1cm4iXG5cblx0XHRwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDtcblx0XHRwcmVjaXNpb24gbWVkaXVtcCBpbnQ7XG5cblx0XHRhdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjtcblx0XHRhdHRyaWJ1dGUgdmVjMiB1djtcblx0XHRhdHRyaWJ1dGUgZmxvYXQgZmFjZUluZGV4O1xuXG5cdFx0dmFyeWluZyB2ZWMzIHZPdXRwdXREaXJlY3Rpb247XG5cblx0XHQvLyBSSCBjb29yZGluYXRlIHN5c3RlbTsgUE1SRU0gZmFjZS1pbmRleGluZyBjb252ZW50aW9uXG5cdFx0dmVjMyBnZXREaXJlY3Rpb24oIHZlYzIgdXYsIGZsb2F0IGZhY2UgKSB7XG5cblx0XHRcdHV2ID0gMi4wICogdXYgLSAxLjA7XG5cblx0XHRcdHZlYzMgZGlyZWN0aW9uID0gdmVjMyggdXYsIDEuMCApO1xuXG5cdFx0XHRpZiAoIGZhY2UgPT0gMC4wICkge1xuXG5cdFx0XHRcdGRpcmVjdGlvbiA9IGRpcmVjdGlvbi56eXg7IC8vICggMSwgdiwgdSApIHBvcyB4XG5cblx0XHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gMS4wICkge1xuXG5cdFx0XHRcdGRpcmVjdGlvbiA9IGRpcmVjdGlvbi54enk7XG5cdFx0XHRcdGRpcmVjdGlvbi54eiAqPSAtMS4wOyAvLyAoIC11LCAxLCAtdiApIHBvcyB5XG5cblx0XHRcdH0gZWxzZSBpZiAoIGZhY2UgPT0gMi4wICkge1xuXG5cdFx0XHRcdGRpcmVjdGlvbi54ICo9IC0xLjA7IC8vICggLXUsIHYsIDEgKSBwb3MgelxuXG5cdFx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDMuMCApIHtcblxuXHRcdFx0XHRkaXJlY3Rpb24gPSBkaXJlY3Rpb24uenl4O1xuXHRcdFx0XHRkaXJlY3Rpb24ueHogKj0gLTEuMDsgLy8gKCAtMSwgdiwgLXUgKSBuZWcgeFxuXG5cdFx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDQuMCApIHtcblxuXHRcdFx0XHRkaXJlY3Rpb24gPSBkaXJlY3Rpb24ueHp5O1xuXHRcdFx0XHRkaXJlY3Rpb24ueHkgKj0gLTEuMDsgLy8gKCAtdSwgLTEsIHYgKSBuZWcgeVxuXG5cdFx0XHR9IGVsc2UgaWYgKCBmYWNlID09IDUuMCApIHtcblxuXHRcdFx0XHRkaXJlY3Rpb24ueiAqPSAtMS4wOyAvLyAoIHUsIHYsIC0xICkgbmVnIHpcblxuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gZGlyZWN0aW9uO1xuXG5cdFx0fVxuXG5cdFx0dm9pZCBtYWluKCkge1xuXG5cdFx0XHR2T3V0cHV0RGlyZWN0aW9uID0gZ2V0RGlyZWN0aW9uKCB1diwgZmFjZUluZGV4ICk7XG5cdFx0XHRnbF9Qb3NpdGlvbiA9IHZlYzQoIHBvc2l0aW9uLCAxLjAgKTtcblxuXHRcdH1cblx0In1mdW5jdGlvbiBUZHQoKXtyZXR1cm4iXG5cblx0XHR1bmlmb3JtIGludCBpbnB1dEVuY29kaW5nO1xuXHRcdHVuaWZvcm0gaW50IG91dHB1dEVuY29kaW5nO1xuXG5cdFx0I2luY2x1ZGUgPGVuY29kaW5nc19wYXJzX2ZyYWdtZW50PlxuXG5cdFx0dmVjNCBpbnB1dFRleGVsVG9MaW5lYXIoIHZlYzQgdmFsdWUgKSB7XG5cblx0XHRcdGlmICggaW5wdXRFbmNvZGluZyA9PSAwICkge1xuXG5cdFx0XHRcdHJldHVybiB2YWx1ZTtcblxuXHRcdFx0fSBlbHNlIGlmICggaW5wdXRFbmNvZGluZyA9PSAxICkge1xuXG5cdFx0XHRcdHJldHVybiBzUkdCVG9MaW5lYXIoIHZhbHVlICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIGlucHV0RW5jb2RpbmcgPT0gMiApIHtcblxuXHRcdFx0XHRyZXR1cm4gUkdCRVRvTGluZWFyKCB2YWx1ZSApO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBpbnB1dEVuY29kaW5nID09IDMgKSB7XG5cblx0XHRcdFx0cmV0dXJuIFJHQk1Ub0xpbmVhciggdmFsdWUsIDcuMCApO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBpbnB1dEVuY29kaW5nID09IDQgKSB7XG5cblx0XHRcdFx0cmV0dXJuIFJHQk1Ub0xpbmVhciggdmFsdWUsIDE2LjAgKTtcblxuXHRcdFx0fSBlbHNlIGlmICggaW5wdXRFbmNvZGluZyA9PSA1ICkge1xuXG5cdFx0XHRcdHJldHVybiBSR0JEVG9MaW5lYXIoIHZhbHVlLCAyNTYuMCApO1xuXG5cdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdHJldHVybiBHYW1tYVRvTGluZWFyKCB2YWx1ZSwgMi4yICk7XG5cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdHZlYzQgbGluZWFyVG9PdXRwdXRUZXhlbCggdmVjNCB2YWx1ZSApIHtcblxuXHRcdFx0aWYgKCBvdXRwdXRFbmNvZGluZyA9PSAwICkge1xuXG5cdFx0XHRcdHJldHVybiB2YWx1ZTtcblxuXHRcdFx0fSBlbHNlIGlmICggb3V0cHV0RW5jb2RpbmcgPT0gMSApIHtcblxuXHRcdFx0XHRyZXR1cm4gTGluZWFyVG9zUkdCKCB2YWx1ZSApO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBvdXRwdXRFbmNvZGluZyA9PSAyICkge1xuXG5cdFx0XHRcdHJldHVybiBMaW5lYXJUb1JHQkUoIHZhbHVlICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIG91dHB1dEVuY29kaW5nID09IDMgKSB7XG5cblx0XHRcdFx0cmV0dXJuIExpbmVhclRvUkdCTSggdmFsdWUsIDcuMCApO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCBvdXRwdXRFbmNvZGluZyA9PSA0ICkge1xuXG5cdFx0XHRcdHJldHVybiBMaW5lYXJUb1JHQk0oIHZhbHVlLCAxNi4wICk7XG5cblx0XHRcdH0gZWxzZSBpZiAoIG91dHB1dEVuY29kaW5nID09IDUgKSB7XG5cblx0XHRcdFx0cmV0dXJuIExpbmVhclRvUkdCRCggdmFsdWUsIDI1Ni4wICk7XG5cblx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0cmV0dXJuIExpbmVhclRvR2FtbWEoIHZhbHVlLCAyLjIgKTtcblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0dmVjNCBlbnZNYXBUZXhlbFRvTGluZWFyKCB2ZWM0IGNvbG9yICkge1xuXG5cdFx0XHRyZXR1cm4gaW5wdXRUZXhlbFRvTGluZWFyKCBjb2xvciApO1xuXG5cdFx0fVxuXHQifWZ1bmN0aW9uIE5kdCh0KXtsZXQgZT1uZXcgV2Vha01hcCxuPW51bGw7ZnVuY3Rpb24gbyh0KXtjb25zdCBuPXQudGFyZ2V0O24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsbyk7Y29uc3QgaT1lLmdldChuKTt2b2lkIDAhPT1pJiYoaS5kZWxldGUobiksaS5kaXNwb3NlKCkpfXJldHVybntnZXQ6ZnVuY3Rpb24gaShhKXtpZihhJiZhLmlzVGV4dHVyZSYmITE9PT1hLmlzUmVuZGVyVGFyZ2V0VGV4dHVyZSl7Y29uc3QgaT1hLm1hcHBpbmcscj0zMDM9PT1pfHwzMDQ9PT1pLHM9aT09PXdydHx8aT09PWtydDtpZihyfHxzKXtpZihlLmhhcyhhKSlyZXR1cm4gZS5nZXQoYSkudGV4dHVyZTt7Y29uc3QgaT1hLmltYWdlO2lmKHImJmkmJmkuaGVpZ2h0PjB8fHMmJmkmJihmdW5jdGlvbiByKHQpe2xldCBlPTA7Y29uc3Qgbj02O2ZvcihsZXQgbz0wO288bjtvKyspdm9pZCAwIT09dFtvXSYmZSsrO3JldHVybiBlPT09bn0pKGkpKXtjb25zdCBpPXQuZ2V0UmVuZGVyVGFyZ2V0KCk7bnVsbD09PW4mJihuPW5ldyBQZHQodCkpO2NvbnN0IHM9cj9uLmZyb21FcXVpcmVjdGFuZ3VsYXIoYSk6bi5mcm9tQ3ViZW1hcChhKTtyZXR1cm4gZS5zZXQoYSxzKSx0LnNldFJlbmRlclRhcmdldChpKSxhLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLG8pLHMudGV4dHVyZX1yZXR1cm4gbnVsbH19fXJldHVybiBhfSxkaXNwb3NlOmZ1bmN0aW9uIGEoKXtlPW5ldyBXZWFrTWFwLG51bGwhPT1uJiYobi5kaXNwb3NlKCksbj1udWxsKX19fWZ1bmN0aW9uIHpkdCh0KXtjb25zdCBlPXt9O2Z1bmN0aW9uIG4obil7aWYodm9pZCAwIT09ZVtuXSlyZXR1cm4gZVtuXTtsZXQgbztzd2l0Y2gobil7Y2FzZSJXRUJHTF9kZXB0aF90ZXh0dXJlIjpvPXQuZ2V0RXh0ZW5zaW9uKCJXRUJHTF9kZXB0aF90ZXh0dXJlIil8fHQuZ2V0RXh0ZW5zaW9uKCJNT1pfV0VCR0xfZGVwdGhfdGV4dHVyZSIpfHx0LmdldEV4dGVuc2lvbigiV0VCS0lUX1dFQkdMX2RlcHRoX3RleHR1cmUiKTticmVhaztjYXNlIkVYVF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyI6bz10LmdldEV4dGVuc2lvbigiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIil8fHQuZ2V0RXh0ZW5zaW9uKCJNT1pfRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIil8fHQuZ2V0RXh0ZW5zaW9uKCJXRUJLSVRfRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIik7YnJlYWs7Y2FzZSJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyI6bz10LmdldEV4dGVuc2lvbigiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3MzdGMiKXx8dC5nZXRFeHRlbnNpb24oIk1PWl9XRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyIpfHx0LmdldEV4dGVuc2lvbigiV0VCS0lUX1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIik7YnJlYWs7Y2FzZSJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfcHZydGMiOm89dC5nZXRFeHRlbnNpb24oIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyIpfHx0LmdldEV4dGVuc2lvbigiV0VCS0lUX1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9wdnJ0YyIpO2JyZWFrO2RlZmF1bHQ6bz10LmdldEV4dGVuc2lvbihuKX1yZXR1cm4gZVtuXT1vLG99cmV0dXJue2hhczpmdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9PW4odCl9LGluaXQ6ZnVuY3Rpb24odCl7dC5pc1dlYkdMMj9uKCJFWFRfY29sb3JfYnVmZmVyX2Zsb2F0Iik6KG4oIldFQkdMX2RlcHRoX3RleHR1cmUiKSxuKCJPRVNfdGV4dHVyZV9mbG9hdCIpLG4oIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSxuKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xpbmVhciIpLG4oIk9FU19zdGFuZGFyZF9kZXJpdmF0aXZlcyIpLG4oIk9FU19lbGVtZW50X2luZGV4X3VpbnQiKSxuKCJPRVNfdmVydGV4X2FycmF5X29iamVjdCIpLG4oIkFOR0xFX2luc3RhbmNlZF9hcnJheXMiKSksbigiT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIiksbigiRVhUX2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0Iil9LGdldDpmdW5jdGlvbih0KXtjb25zdCBlPW4odCk7cmV0dXJuIG51bGw9PT1lJiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6ICIrdCsiIGV4dGVuc2lvbiBub3Qgc3VwcG9ydGVkLiIpLGV9fX1mdW5jdGlvbiBJZHQodCxlLG4sbyl7Y29uc3QgaT17fSxhPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIHIodCl7Y29uc3Qgcz10LnRhcmdldDtudWxsIT09cy5pbmRleCYmZS5yZW1vdmUocy5pbmRleCk7Zm9yKGNvbnN0IHQgaW4gcy5hdHRyaWJ1dGVzKWUucmVtb3ZlKHMuYXR0cmlidXRlc1t0XSk7cy5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIixyKSxkZWxldGUgaVtzLmlkXTtjb25zdCBsPWEuZ2V0KHMpO2wmJihlLnJlbW92ZShsKSxhLmRlbGV0ZShzKSksby5yZWxlYXNlU3RhdGVzT2ZHZW9tZXRyeShzKSwhMD09PXMuaXNJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSYmZGVsZXRlIHMuX21heEluc3RhbmNlQ291bnQsbi5tZW1vcnkuZ2VvbWV0cmllcy0tfWZ1bmN0aW9uIHModCl7Y29uc3Qgbj1bXSxvPXQuaW5kZXgsaT10LmF0dHJpYnV0ZXMucG9zaXRpb247bGV0IHI9MDtpZihudWxsIT09byl7Y29uc3QgdD1vLmFycmF5O3I9by52ZXJzaW9uO2ZvcihsZXQgZT0wLG89dC5sZW5ndGg7ZTxvO2UrPTMpe2NvbnN0IG89dFtlKzBdLGk9dFtlKzFdLGE9dFtlKzJdO24ucHVzaChvLGksaSxhLGEsbyl9fWVsc2V7cj1pLnZlcnNpb247Zm9yKGxldCB0PTAsZT1pLmFycmF5Lmxlbmd0aC8zLTE7dDxlO3QrPTMpe2NvbnN0IGU9dCswLG89dCsxLGk9dCsyO24ucHVzaChlLG8sbyxpLGksZSl9fWNvbnN0IHM9bmV3KG5jdChuKT42NTUzNT90Y3Q6JGx0KShuLDEpO3MudmVyc2lvbj1yO2NvbnN0IGw9YS5nZXQodCk7bCYmZS5yZW1vdmUobCksYS5zZXQodCxzKX1yZXR1cm57Z2V0OmZ1bmN0aW9uIGwodCxlKXtyZXR1cm4hMD09PWlbZS5pZF18fChlLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHIpLGlbZS5pZF09ITAsbi5tZW1vcnkuZ2VvbWV0cmllcysrKSxlfSx1cGRhdGU6ZnVuY3Rpb24gYyh0KXtjb25zdCBuPXQuYXR0cmlidXRlcztmb3IoY29uc3QgdCBpbiBuKWUudXBkYXRlKG5bdF0sMzQ5NjIpO2NvbnN0IG89dC5tb3JwaEF0dHJpYnV0ZXM7Zm9yKGNvbnN0IHQgaW4gbyl7Y29uc3Qgbj1vW3RdO2ZvcihsZXQgdD0wLG89bi5sZW5ndGg7dDxvO3QrKyllLnVwZGF0ZShuW3RdLDM0OTYyKX19LGdldFdpcmVmcmFtZUF0dHJpYnV0ZTpmdW5jdGlvbiBkKHQpe2NvbnN0IGU9YS5nZXQodCk7aWYoZSl7Y29uc3Qgbj10LmluZGV4O251bGwhPT1uJiZlLnZlcnNpb248bi52ZXJzaW9uJiZzKHQpfWVsc2Ugcyh0KTtyZXR1cm4gYS5nZXQodCl9fX1mdW5jdGlvbiBIZHQodCxlLG4sbyl7Y29uc3QgaT1vLmlzV2ViR0wyO2xldCBhLHIsczt0aGlzLnNldE1vZGU9ZnVuY3Rpb24gbCh0KXthPXR9LHRoaXMuc2V0SW5kZXg9ZnVuY3Rpb24gYyh0KXtyPXQudHlwZSxzPXQuYnl0ZXNQZXJFbGVtZW50fSx0aGlzLnJlbmRlcj1mdW5jdGlvbiBkKGUsbyl7dC5kcmF3RWxlbWVudHMoYSxvLHIsZSpzKSxuLnVwZGF0ZShvLGEsMSl9LHRoaXMucmVuZGVySW5zdGFuY2VzPWZ1bmN0aW9uIHAobyxsLGMpe2lmKDA9PT1jKXJldHVybjtsZXQgZCxwO2lmKGkpZD10LHA9ImRyYXdFbGVtZW50c0luc3RhbmNlZCI7ZWxzZSBpZihkPWUuZ2V0KCJBTkdMRV9pbnN0YW5jZWRfYXJyYXlzIikscD0iZHJhd0VsZW1lbnRzSW5zdGFuY2VkQU5HTEUiLG51bGw9PT1kKXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMSW5kZXhlZEJ1ZmZlclJlbmRlcmVyOiB1c2luZyBUSFJFRS5JbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSBidXQgaGFyZHdhcmUgZG9lcyBub3Qgc3VwcG9ydCBleHRlbnNpb24gQU5HTEVfaW5zdGFuY2VkX2FycmF5cy4iKTtkW3BdKGEsbCxyLG8qcyxjKSxuLnVwZGF0ZShsLGEsYyl9fWZ1bmN0aW9uIEZkdCh0KXtjb25zdCBlPXtmcmFtZTowLGNhbGxzOjAsdHJpYW5nbGVzOjAscG9pbnRzOjAsbGluZXM6MH07cmV0dXJue21lbW9yeTp7Z2VvbWV0cmllczowLHRleHR1cmVzOjB9LHJlbmRlcjplLHByb2dyYW1zOm51bGwsYXV0b1Jlc2V0OiEwLHJlc2V0OmZ1bmN0aW9uIG4oKXtlLmZyYW1lKyssZS5jYWxscz0wLGUudHJpYW5nbGVzPTAsZS5wb2ludHM9MCxlLmxpbmVzPTB9LHVwZGF0ZTpmdW5jdGlvbiBvKHQsbixpKXtzd2l0Y2goZS5jYWxscysrLG4pe2Nhc2UgNDplLnRyaWFuZ2xlcys9aSoodC8zKTticmVhaztjYXNlIDE6ZS5saW5lcys9aSoodC8yKTticmVhaztjYXNlIDM6ZS5saW5lcys9aSoodC0xKTticmVhaztjYXNlIDI6ZS5saW5lcys9aSp0O2JyZWFrO2Nhc2UgMDplLnBvaW50cys9aSp0O2JyZWFrO2RlZmF1bHQ6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xJbmZvOiBVbmtub3duIGRyYXcgbW9kZToiLG4pfX19fWZ1bmN0aW9uIExkdCh0LGUpe3JldHVybiB0WzBdLWVbMF19ZnVuY3Rpb24gQmR0KHQsZSl7cmV0dXJuIE1hdGguYWJzKGVbMV0pLU1hdGguYWJzKHRbMV0pfWZ1bmN0aW9uIFZkdCh0KXtjb25zdCBlPXt9LG49bmV3IEZsb2F0MzJBcnJheSg4KSxvPVtdO2ZvcihsZXQgdD0wO3Q8ODt0Kyspb1t0XT1bdCwwXTtyZXR1cm57dXBkYXRlOmZ1bmN0aW9uIGkoYSxyLHMsbCl7Y29uc3QgYz1hLm1vcnBoVGFyZ2V0SW5mbHVlbmNlcyxkPXZvaWQgMD09PWM/MDpjLmxlbmd0aDtsZXQgcD1lW3IuaWRdO2lmKHZvaWQgMD09PXB8fHAubGVuZ3RoIT09ZCl7cD1bXTtmb3IobGV0IHQ9MDt0PGQ7dCsrKXBbdF09W3QsMF07ZVtyLmlkXT1wfWZvcihsZXQgdD0wO3Q8ZDt0Kyspe2NvbnN0IGU9cFt0XTtlWzBdPXQsZVsxXT1jW3RdfXAuc29ydChCZHQpO2ZvcihsZXQgdD0wO3Q8ODt0KyspdDxkJiZwW3RdWzFdPyhvW3RdWzBdPXBbdF1bMF0sb1t0XVsxXT1wW3RdWzFdKToob1t0XVswXT1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUixvW3RdWzFdPTApO28uc29ydChMZHQpO2NvbnN0IG09ci5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb24sZj1yLm1vcnBoQXR0cmlidXRlcy5ub3JtYWw7bGV0IHU9MDtmb3IobGV0IHQ9MDt0PDg7dCsrKXtjb25zdCBlPW9bdF0saT1lWzBdLGE9ZVsxXTtpIT09TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVImJmE/KG0mJnIuZ2V0QXR0cmlidXRlKCJtb3JwaFRhcmdldCIrdCkhPT1tW2ldJiZyLnNldEF0dHJpYnV0ZSgibW9ycGhUYXJnZXQiK3QsbVtpXSksZiYmci5nZXRBdHRyaWJ1dGUoIm1vcnBoTm9ybWFsIit0KSE9PWZbaV0mJnIuc2V0QXR0cmlidXRlKCJtb3JwaE5vcm1hbCIrdCxmW2ldKSxuW3RdPWEsdSs9YSk6KG0mJiEwPT09ci5oYXNBdHRyaWJ1dGUoIm1vcnBoVGFyZ2V0Iit0KSYmci5kZWxldGVBdHRyaWJ1dGUoIm1vcnBoVGFyZ2V0Iit0KSxmJiYhMD09PXIuaGFzQXR0cmlidXRlKCJtb3JwaE5vcm1hbCIrdCkmJnIuZGVsZXRlQXR0cmlidXRlKCJtb3JwaE5vcm1hbCIrdCksblt0XT0wKX1jb25zdCBnPXIubW9ycGhUYXJnZXRzUmVsYXRpdmU/MToxLXU7bC5nZXRVbmlmb3JtcygpLnNldFZhbHVlKHQsIm1vcnBoVGFyZ2V0QmFzZUluZmx1ZW5jZSIsZyksbC5nZXRVbmlmb3JtcygpLnNldFZhbHVlKHQsIm1vcnBoVGFyZ2V0SW5mbHVlbmNlcyIsbil9fX1mdW5jdGlvbiBqZHQodCxlLG4sbyl7bGV0IGk9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYSh0KXtjb25zdCBlPXQudGFyZ2V0O2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIsYSksbi5yZW1vdmUoZS5pbnN0YW5jZU1hdHJpeCksbnVsbCE9PWUuaW5zdGFuY2VDb2xvciYmbi5yZW1vdmUoZS5pbnN0YW5jZUNvbG9yKX1yZXR1cm57dXBkYXRlOmZ1bmN0aW9uIHIodCl7Y29uc3Qgcj1vLnJlbmRlci5mcmFtZSxzPWUuZ2V0KHQsdC5nZW9tZXRyeSk7cmV0dXJuIGkuZ2V0KHMpIT09ciYmKGUudXBkYXRlKHMpLGkuc2V0KHMscikpLHQuaXNJbnN0YW5jZWRNZXNoJiYoITE9PT10Lmhhc0V2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGEpJiZ0LmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLGEpLG4udXBkYXRlKHQuaW5zdGFuY2VNYXRyaXgsMzQ5NjIpLG51bGwhPT10Lmluc3RhbmNlQ29sb3ImJm4udXBkYXRlKHQuaW5zdGFuY2VDb2xvciwzNDk2MikpLHN9LGRpc3Bvc2U6ZnVuY3Rpb24gcygpe2k9bmV3IFdlYWtNYXB9fX1jbGFzcyBVZHQgZXh0ZW5kcyBDc3R7Y29uc3RydWN0b3IodD1udWxsLGU9MSxuPTEsbz0xKXtzdXBlcihudWxsKSx0aGlzLmltYWdlPXtkYXRhOnQsd2lkdGg6ZSxoZWlnaHQ6bixkZXB0aDpvfSx0aGlzLm1hZ0ZpbHRlcj1BcnQsdGhpcy5taW5GaWx0ZXI9QXJ0LHRoaXMud3JhcFI9UnJ0LHRoaXMuZ2VuZXJhdGVNaXBtYXBzPSExLHRoaXMuZmxpcFk9ITEsdGhpcy51bnBhY2tBbGlnbm1lbnQ9MSx0aGlzLm5lZWRzVXBkYXRlPSEwfX1VZHQucHJvdG90eXBlLmlzRGF0YVRleHR1cmUyREFycmF5PSEwO2NsYXNzIFdkdCBleHRlbmRzIENzdHtjb25zdHJ1Y3Rvcih0PW51bGwsZT0xLG49MSxvPTEpe3N1cGVyKG51bGwpLHRoaXMuaW1hZ2U9e2RhdGE6dCx3aWR0aDplLGhlaWdodDpuLGRlcHRoOm99LHRoaXMubWFnRmlsdGVyPUFydCx0aGlzLm1pbkZpbHRlcj1BcnQsdGhpcy53cmFwUj1ScnQsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITEsdGhpcy5mbGlwWT0hMSx0aGlzLnVucGFja0FsaWdubWVudD0xLHRoaXMubmVlZHNVcGRhdGU9ITB9fVdkdC5wcm90b3R5cGUuaXNEYXRhVGV4dHVyZTNEPSEwO2NvbnN0IEdkdD1uZXcgQ3N0LFlkdD1uZXcgVWR0LHFkdD1uZXcgV2R0LFpkdD1uZXcgTGN0LFhkdD1bXSxLZHQ9W10sSmR0PW5ldyBGbG9hdDMyQXJyYXkoMTYpLFFkdD1uZXcgRmxvYXQzMkFycmF5KDkpLCRkdD1uZXcgRmxvYXQzMkFycmF5KDQpO2Z1bmN0aW9uIHRwdCh0LGUsbil7Y29uc3Qgbz10WzBdO2lmKG88PTB8fG8+MClyZXR1cm4gdDtjb25zdCBpPWUqbjtsZXQgYT1YZHRbaV07aWYodm9pZCAwPT09YSYmKGE9bmV3IEZsb2F0MzJBcnJheShpKSxYZHRbaV09YSksMCE9PWUpe28udG9BcnJheShhLDApO2ZvcihsZXQgbz0xLGk9MDtvIT09ZTsrK28paSs9bix0W29dLnRvQXJyYXkoYSxpKX1yZXR1cm4gYX1mdW5jdGlvbiBlcHQodCxlKXtpZih0Lmxlbmd0aCE9PWUubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgbj0wLG89dC5sZW5ndGg7bjxvO24rKylpZih0W25dIT09ZVtuXSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBucHQodCxlKXtmb3IobGV0IG49MCxvPWUubGVuZ3RoO248bztuKyspdFtuXT1lW25dfWZ1bmN0aW9uIG9wdCh0LGUpe2xldCBuPUtkdFtlXTt2b2lkIDA9PT1uJiYobj1uZXcgSW50MzJBcnJheShlKSxLZHRbZV09bik7Zm9yKGxldCBvPTA7byE9PWU7KytvKW5bb109dC5hbGxvY2F0ZVRleHR1cmVVbml0KCk7cmV0dXJuIG59ZnVuY3Rpb24gaXB0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO25bMF0hPT1lJiYodC51bmlmb3JtMWYodGhpcy5hZGRyLGUpLG5bMF09ZSl9ZnVuY3Rpb24gYXB0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO2lmKHZvaWQgMCE9PWUueCluWzBdPT09ZS54JiZuWzFdPT09ZS55fHwodC51bmlmb3JtMmYodGhpcy5hZGRyLGUueCxlLnkpLG5bMF09ZS54LG5bMV09ZS55KTtlbHNle2lmKGVwdChuLGUpKXJldHVybjt0LnVuaWZvcm0yZnYodGhpcy5hZGRyLGUpLG5wdChuLGUpfX1mdW5jdGlvbiBycHQodCxlKXtjb25zdCBuPXRoaXMuY2FjaGU7aWYodm9pZCAwIT09ZS54KW5bMF09PT1lLngmJm5bMV09PT1lLnkmJm5bMl09PT1lLnp8fCh0LnVuaWZvcm0zZih0aGlzLmFkZHIsZS54LGUueSxlLnopLG5bMF09ZS54LG5bMV09ZS55LG5bMl09ZS56KTtlbHNlIGlmKHZvaWQgMCE9PWUuciluWzBdPT09ZS5yJiZuWzFdPT09ZS5nJiZuWzJdPT09ZS5ifHwodC51bmlmb3JtM2YodGhpcy5hZGRyLGUucixlLmcsZS5iKSxuWzBdPWUucixuWzFdPWUuZyxuWzJdPWUuYik7ZWxzZXtpZihlcHQobixlKSlyZXR1cm47dC51bmlmb3JtM2Z2KHRoaXMuYWRkcixlKSxucHQobixlKX19ZnVuY3Rpb24gc3B0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO2lmKHZvaWQgMCE9PWUueCluWzBdPT09ZS54JiZuWzFdPT09ZS55JiZuWzJdPT09ZS56JiZuWzNdPT09ZS53fHwodC51bmlmb3JtNGYodGhpcy5hZGRyLGUueCxlLnksZS56LGUudyksblswXT1lLngsblsxXT1lLnksblsyXT1lLnosblszXT1lLncpO2Vsc2V7aWYoZXB0KG4sZSkpcmV0dXJuO3QudW5pZm9ybTRmdih0aGlzLmFkZHIsZSksbnB0KG4sZSl9fWZ1bmN0aW9uIGxwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZSxvPWUuZWxlbWVudHM7aWYodm9pZCAwPT09byl7aWYoZXB0KG4sZSkpcmV0dXJuO3QudW5pZm9ybU1hdHJpeDJmdih0aGlzLmFkZHIsITEsZSksbnB0KG4sZSl9ZWxzZXtpZihlcHQobixvKSlyZXR1cm47JGR0LnNldChvKSx0LnVuaWZvcm1NYXRyaXgyZnYodGhpcy5hZGRyLCExLCRkdCksbnB0KG4sbyl9fWZ1bmN0aW9uIGNwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZSxvPWUuZWxlbWVudHM7aWYodm9pZCAwPT09byl7aWYoZXB0KG4sZSkpcmV0dXJuO3QudW5pZm9ybU1hdHJpeDNmdih0aGlzLmFkZHIsITEsZSksbnB0KG4sZSl9ZWxzZXtpZihlcHQobixvKSlyZXR1cm47UWR0LnNldChvKSx0LnVuaWZvcm1NYXRyaXgzZnYodGhpcy5hZGRyLCExLFFkdCksbnB0KG4sbyl9fWZ1bmN0aW9uIGRwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZSxvPWUuZWxlbWVudHM7aWYodm9pZCAwPT09byl7aWYoZXB0KG4sZSkpcmV0dXJuO3QudW5pZm9ybU1hdHJpeDRmdih0aGlzLmFkZHIsITEsZSksbnB0KG4sZSl9ZWxzZXtpZihlcHQobixvKSlyZXR1cm47SmR0LnNldChvKSx0LnVuaWZvcm1NYXRyaXg0ZnYodGhpcy5hZGRyLCExLEpkdCksbnB0KG4sbyl9fWZ1bmN0aW9uIHBwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtuWzBdIT09ZSYmKHQudW5pZm9ybTFpKHRoaXMuYWRkcixlKSxuWzBdPWUpfWZ1bmN0aW9uIG1wdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtlcHQobixlKXx8KHQudW5pZm9ybTJpdih0aGlzLmFkZHIsZSksbnB0KG4sZSkpfWZ1bmN0aW9uIGZwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtlcHQobixlKXx8KHQudW5pZm9ybTNpdih0aGlzLmFkZHIsZSksbnB0KG4sZSkpfWZ1bmN0aW9uIHVwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtlcHQobixlKXx8KHQudW5pZm9ybTRpdih0aGlzLmFkZHIsZSksbnB0KG4sZSkpfWZ1bmN0aW9uIGdwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtuWzBdIT09ZSYmKHQudW5pZm9ybTF1aSh0aGlzLmFkZHIsZSksblswXT1lKX1mdW5jdGlvbiBocHQodCxlKXtjb25zdCBuPXRoaXMuY2FjaGU7ZXB0KG4sZSl8fCh0LnVuaWZvcm0ydWl2KHRoaXMuYWRkcixlKSxucHQobixlKSl9ZnVuY3Rpb24gYnB0KHQsZSl7Y29uc3Qgbj10aGlzLmNhY2hlO2VwdChuLGUpfHwodC51bmlmb3JtM3Vpdih0aGlzLmFkZHIsZSksbnB0KG4sZSkpfWZ1bmN0aW9uIHlwdCh0LGUpe2NvbnN0IG49dGhpcy5jYWNoZTtlcHQobixlKXx8KHQudW5pZm9ybTR1aXYodGhpcy5hZGRyLGUpLG5wdChuLGUpKX1mdW5jdGlvbiBfcHQodCxlLG4pe2NvbnN0IG89dGhpcy5jYWNoZSxpPW4uYWxsb2NhdGVUZXh0dXJlVW5pdCgpO29bMF0hPT1pJiYodC51bmlmb3JtMWkodGhpcy5hZGRyLGkpLG9bMF09aSksbi5zYWZlU2V0VGV4dHVyZTJEKGV8fEdkdCxpKX1mdW5jdGlvbiBDcHQodCxlLG4pe2NvbnN0IG89dGhpcy5jYWNoZSxpPW4uYWxsb2NhdGVUZXh0dXJlVW5pdCgpO29bMF0hPT1pJiYodC51bmlmb3JtMWkodGhpcy5hZGRyLGkpLG9bMF09aSksbi5zZXRUZXh0dXJlM0QoZXx8cWR0LGkpfWZ1bmN0aW9uIE1wdCh0LGUsbil7Y29uc3Qgbz10aGlzLmNhY2hlLGk9bi5hbGxvY2F0ZVRleHR1cmVVbml0KCk7b1swXSE9PWkmJih0LnVuaWZvcm0xaSh0aGlzLmFkZHIsaSksb1swXT1pKSxuLnNhZmVTZXRUZXh0dXJlQ3ViZShlfHxaZHQsaSl9ZnVuY3Rpb24gdnB0KHQsZSxuKXtjb25zdCBvPXRoaXMuY2FjaGUsaT1uLmFsbG9jYXRlVGV4dHVyZVVuaXQoKTtvWzBdIT09aSYmKHQudW5pZm9ybTFpKHRoaXMuYWRkcixpKSxvWzBdPWkpLG4uc2V0VGV4dHVyZTJEQXJyYXkoZXx8WWR0LGkpfWZ1bmN0aW9uIHhwdCh0LGUpe3QudW5pZm9ybTFmdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gT3B0KHQsZSl7Y29uc3Qgbj10cHQoZSx0aGlzLnNpemUsMik7dC51bmlmb3JtMmZ2KHRoaXMuYWRkcixuKX1mdW5jdGlvbiBQcHQodCxlKXtjb25zdCBuPXRwdChlLHRoaXMuc2l6ZSwzKTt0LnVuaWZvcm0zZnYodGhpcy5hZGRyLG4pfWZ1bmN0aW9uIHdwdCh0LGUpe2NvbnN0IG49dHB0KGUsdGhpcy5zaXplLDQpO3QudW5pZm9ybTRmdih0aGlzLmFkZHIsbil9ZnVuY3Rpb24ga3B0KHQsZSl7Y29uc3Qgbj10cHQoZSx0aGlzLnNpemUsNCk7dC51bmlmb3JtTWF0cml4MmZ2KHRoaXMuYWRkciwhMSxuKX1mdW5jdGlvbiBTcHQodCxlKXtjb25zdCBuPXRwdChlLHRoaXMuc2l6ZSw5KTt0LnVuaWZvcm1NYXRyaXgzZnYodGhpcy5hZGRyLCExLG4pfWZ1bmN0aW9uIERwdCh0LGUpe2NvbnN0IG49dHB0KGUsdGhpcy5zaXplLDE2KTt0LnVuaWZvcm1NYXRyaXg0ZnYodGhpcy5hZGRyLCExLG4pfWZ1bmN0aW9uIFJwdCh0LGUpe3QudW5pZm9ybTFpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gRXB0KHQsZSl7dC51bmlmb3JtMml2KHRoaXMuYWRkcixlKX1mdW5jdGlvbiBBcHQodCxlKXt0LnVuaWZvcm0zaXYodGhpcy5hZGRyLGUpfWZ1bmN0aW9uIFRwdCh0LGUpe3QudW5pZm9ybTRpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gTnB0KHQsZSl7dC51bmlmb3JtMXVpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24genB0KHQsZSl7dC51bmlmb3JtMnVpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gSXB0KHQsZSl7dC51bmlmb3JtM3Vpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gSHB0KHQsZSl7dC51bmlmb3JtNHVpdih0aGlzLmFkZHIsZSl9ZnVuY3Rpb24gRnB0KHQsZSxuKXtjb25zdCBvPWUubGVuZ3RoLGk9b3B0KG4sbyk7dC51bmlmb3JtMWl2KHRoaXMuYWRkcixpKTtmb3IobGV0IHQ9MDt0IT09bzsrK3Qpbi5zYWZlU2V0VGV4dHVyZTJEKGVbdF18fEdkdCxpW3RdKX1mdW5jdGlvbiBMcHQodCxlLG4pe2NvbnN0IG89ZS5sZW5ndGgsaT1vcHQobixvKTt0LnVuaWZvcm0xaXYodGhpcy5hZGRyLGkpO2ZvcihsZXQgdD0wO3QhPT1vOysrdCluLnNhZmVTZXRUZXh0dXJlQ3ViZShlW3RdfHxaZHQsaVt0XSl9ZnVuY3Rpb24gQnB0KHQsZSxuKXt0aGlzLmlkPXQsdGhpcy5hZGRyPW4sdGhpcy5jYWNoZT1bXSx0aGlzLnNldFZhbHVlPShmdW5jdGlvbiBvKHQpe3N3aXRjaCh0KXtjYXNlIDUxMjY6cmV0dXJuIGlwdDtjYXNlIDM1NjY0OnJldHVybiBhcHQ7Y2FzZSAzNTY2NTpyZXR1cm4gcnB0O2Nhc2UgMzU2NjY6cmV0dXJuIHNwdDtjYXNlIDM1Njc0OnJldHVybiBscHQ7Y2FzZSAzNTY3NTpyZXR1cm4gY3B0O2Nhc2UgMzU2NzY6cmV0dXJuIGRwdDtjYXNlIDUxMjQ6Y2FzZSAzNTY3MDpyZXR1cm4gcHB0O2Nhc2UgMzU2Njc6Y2FzZSAzNTY3MTpyZXR1cm4gbXB0O2Nhc2UgMzU2Njg6Y2FzZSAzNTY3MjpyZXR1cm4gZnB0O2Nhc2UgMzU2Njk6Y2FzZSAzNTY3MzpyZXR1cm4gdXB0O2Nhc2UgNTEyNTpyZXR1cm4gZ3B0O2Nhc2UgMzYyOTQ6cmV0dXJuIGhwdDtjYXNlIDM2Mjk1OnJldHVybiBicHQ7Y2FzZSAzNjI5NjpyZXR1cm4geXB0O2Nhc2UgMzU2Nzg6Y2FzZSAzNjE5ODpjYXNlIDM2Mjk4OmNhc2UgMzYzMDY6Y2FzZSAzNTY4MjpyZXR1cm4gX3B0O2Nhc2UgMzU2Nzk6Y2FzZSAzNjI5OTpjYXNlIDM2MzA3OnJldHVybiBDcHQ7Y2FzZSAzNTY4MDpjYXNlIDM2MzAwOmNhc2UgMzYzMDg6Y2FzZSAzNjI5MzpyZXR1cm4gTXB0O2Nhc2UgMzYyODk6Y2FzZSAzNjMwMzpjYXNlIDM2MzExOmNhc2UgMzYyOTI6cmV0dXJuIHZwdH19KShlLnR5cGUpfWZ1bmN0aW9uIFZwdCh0LGUsbil7dGhpcy5pZD10LHRoaXMuYWRkcj1uLHRoaXMuY2FjaGU9W10sdGhpcy5zaXplPWUuc2l6ZSx0aGlzLnNldFZhbHVlPShmdW5jdGlvbiBvKHQpe3N3aXRjaCh0KXtjYXNlIDUxMjY6cmV0dXJuIHhwdDtjYXNlIDM1NjY0OnJldHVybiBPcHQ7Y2FzZSAzNTY2NTpyZXR1cm4gUHB0O2Nhc2UgMzU2NjY6cmV0dXJuIHdwdDtjYXNlIDM1Njc0OnJldHVybiBrcHQ7Y2FzZSAzNTY3NTpyZXR1cm4gU3B0O2Nhc2UgMzU2NzY6cmV0dXJuIERwdDtjYXNlIDUxMjQ6Y2FzZSAzNTY3MDpyZXR1cm4gUnB0O2Nhc2UgMzU2Njc6Y2FzZSAzNTY3MTpyZXR1cm4gRXB0O2Nhc2UgMzU2Njg6Y2FzZSAzNTY3MjpyZXR1cm4gQXB0O2Nhc2UgMzU2Njk6Y2FzZSAzNTY3MzpyZXR1cm4gVHB0O2Nhc2UgNTEyNTpyZXR1cm4gTnB0O2Nhc2UgMzYyOTQ6cmV0dXJuIHpwdDtjYXNlIDM2Mjk1OnJldHVybiBJcHQ7Y2FzZSAzNjI5NjpyZXR1cm4gSHB0O2Nhc2UgMzU2Nzg6Y2FzZSAzNjE5ODpjYXNlIDM2Mjk4OmNhc2UgMzYzMDY6Y2FzZSAzNTY4MjpyZXR1cm4gRnB0O2Nhc2UgMzU2ODA6Y2FzZSAzNjMwMDpjYXNlIDM2MzA4OmNhc2UgMzYyOTM6cmV0dXJuIExwdH19KShlLnR5cGUpfWZ1bmN0aW9uIGpwdCh0KXt0aGlzLmlkPXQsdGhpcy5zZXE9W10sdGhpcy5tYXA9e319VnB0LnByb3RvdHlwZS51cGRhdGVDYWNoZT1mdW5jdGlvbih0KXtjb25zdCBlPXRoaXMuY2FjaGU7dCBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSYmZS5sZW5ndGghPT10Lmxlbmd0aCYmKHRoaXMuY2FjaGU9bmV3IEZsb2F0MzJBcnJheSh0Lmxlbmd0aCkpLG5wdChlLHQpfSxqcHQucHJvdG90eXBlLnNldFZhbHVlPWZ1bmN0aW9uKHQsZSxuKXtjb25zdCBvPXRoaXMuc2VxO2ZvcihsZXQgaT0wLGE9by5sZW5ndGg7aSE9PWE7KytpKXtjb25zdCBhPW9baV07YS5zZXRWYWx1ZSh0LGVbYS5pZF0sbil9fTtjb25zdCBVcHQ9LyhcdyspKFxdKT8oXFt8XC4pPy9nO2Z1bmN0aW9uIFdwdCh0LGUpe3Quc2VxLnB1c2goZSksdC5tYXBbZS5pZF09ZX1mdW5jdGlvbiBHcHQodCxlLG4pe2NvbnN0IG89dC5uYW1lLGk9by5sZW5ndGg7Zm9yKFVwdC5sYXN0SW5kZXg9MDs7KXtjb25zdCBhPVVwdC5leGVjKG8pLHI9VXB0Lmxhc3RJbmRleDtsZXQgcz1hWzFdO2NvbnN0IGw9YVszXTtpZigiXSI9PT1hWzJdJiYoc3w9MCksdm9pZCAwPT09bHx8IlsiPT09bCYmcisyPT09aSl7V3B0KG4sdm9pZCAwPT09bD9uZXcgQnB0KHMsdCxlKTpuZXcgVnB0KHMsdCxlKSk7YnJlYWt9e2xldCB0PW4ubWFwW3NdO3ZvaWQgMD09PXQmJih0PW5ldyBqcHQocyksV3B0KG4sdCkpLG49dH19fWZ1bmN0aW9uIFlwdCh0LGUpe3RoaXMuc2VxPVtdLHRoaXMubWFwPXt9O2NvbnN0IG49dC5nZXRQcm9ncmFtUGFyYW1ldGVyKGUsMzU3MTgpO2ZvcihsZXQgbz0wO288bjsrK28pe2NvbnN0IG49dC5nZXRBY3RpdmVVbmlmb3JtKGUsbyk7R3B0KG4sdC5nZXRVbmlmb3JtTG9jYXRpb24oZSxuLm5hbWUpLHRoaXMpfX1mdW5jdGlvbiBxcHQodCxlLG4pe2NvbnN0IG89dC5jcmVhdGVTaGFkZXIoZSk7cmV0dXJuIHQuc2hhZGVyU291cmNlKG8sbiksdC5jb21waWxlU2hhZGVyKG8pLG99WXB0LnByb3RvdHlwZS5zZXRWYWx1ZT1mdW5jdGlvbih0LGUsbixvKXtjb25zdCBpPXRoaXMubWFwW2VdO3ZvaWQgMCE9PWkmJmkuc2V0VmFsdWUodCxuLG8pfSxZcHQucHJvdG90eXBlLnNldE9wdGlvbmFsPWZ1bmN0aW9uKHQsZSxuKXtjb25zdCBvPWVbbl07dm9pZCAwIT09byYmdGhpcy5zZXRWYWx1ZSh0LG4sbyl9LFlwdC51cGxvYWQ9ZnVuY3Rpb24odCxlLG4sbyl7Zm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpIT09YTsrK2kpe2NvbnN0IGE9ZVtpXSxyPW5bYS5pZF07ITEhPT1yLm5lZWRzVXBkYXRlJiZhLnNldFZhbHVlKHQsci52YWx1ZSxvKX19LFlwdC5zZXFXaXRoVmFsdWU9ZnVuY3Rpb24odCxlKXtjb25zdCBuPVtdO2ZvcihsZXQgbz0wLGk9dC5sZW5ndGg7byE9PWk7KytvKXtjb25zdCBpPXRbb107aS5pZCBpbiBlJiZuLnB1c2goaSl9cmV0dXJuIG59O2xldCBacHQ9MDtmdW5jdGlvbiBYcHQodCl7c3dpdGNoKHQpe2Nhc2UgUXJ0OnJldHVyblsiTGluZWFyIiwiKCB2YWx1ZSApIl07Y2FzZSAkcnQ6cmV0dXJuWyJzUkdCIiwiKCB2YWx1ZSApIl07Y2FzZSBlc3Q6cmV0dXJuWyJSR0JFIiwiKCB2YWx1ZSApIl07Y2FzZSAzMDA0OnJldHVyblsiUkdCTSIsIiggdmFsdWUsIDcuMCApIl07Y2FzZSAzMDA1OnJldHVyblsiUkdCTSIsIiggdmFsdWUsIDE2LjAgKSJdO2Nhc2UgMzAwNjpyZXR1cm5bIlJHQkQiLCIoIHZhbHVlLCAyNTYuMCApIl07Y2FzZSB0c3Q6cmV0dXJuWyJHYW1tYSIsIiggdmFsdWUsIGZsb2F0KCBHQU1NQV9GQUNUT1IgKSApIl07Y2FzZSAzMDAzOnJldHVyblsiTG9nTHV2IiwiKCB2YWx1ZSApIl07ZGVmYXVsdDpyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFByb2dyYW06IFVuc3VwcG9ydGVkIGVuY29kaW5nOiIsdCksWyJMaW5lYXIiLCIoIHZhbHVlICkiXX19ZnVuY3Rpb24gS3B0KHQsZSxuKXtjb25zdCBvPXQuZ2V0U2hhZGVyUGFyYW1ldGVyKGUsMzU3MTMpLGk9dC5nZXRTaGFkZXJJbmZvTG9nKGUpLnRyaW0oKTtpZihvJiYiIj09PWkpcmV0dXJuIiI7cmV0dXJuIlRIUkVFLldlYkdMU2hhZGVyOiBnbC5nZXRTaGFkZXJJbmZvTG9nKCkgIituKyJcbiIraSsoZnVuY3Rpb24gYSh0KXtjb25zdCBlPXQuc3BsaXQoIlxuIik7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XT10KzErIjogIitlW3RdO3JldHVybiBlLmpvaW4oIlxuIil9KSh0LmdldFNoYWRlclNvdXJjZShlKSl9ZnVuY3Rpb24gSnB0KHQsZSl7Y29uc3Qgbj1YcHQoZSk7cmV0dXJuInZlYzQgIit0KyIoIHZlYzQgdmFsdWUgKSB7IHJldHVybiAiK25bMF0rIlRvTGluZWFyIituWzFdKyI7IH0ifWZ1bmN0aW9uIFFwdCh0LGUpe2NvbnN0IG49WHB0KGUpO3JldHVybiJ2ZWM0ICIrdCsiKCB2ZWM0IHZhbHVlICkgeyByZXR1cm4gTGluZWFyVG8iK25bMF0rblsxXSsiOyB9In1mdW5jdGlvbiAkcHQodCxlKXtsZXQgbjtzd2l0Y2goZSl7Y2FzZSAxOm49IkxpbmVhciI7YnJlYWs7Y2FzZSAyOm49IlJlaW5oYXJkIjticmVhaztjYXNlIDM6bj0iT3B0aW1pemVkQ2luZW9uIjticmVhaztjYXNlIDQ6bj0iQUNFU0ZpbG1pYyI7YnJlYWs7Y2FzZSA1Om49IkN1c3RvbSI7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUHJvZ3JhbTogVW5zdXBwb3J0ZWQgdG9uZU1hcHBpbmc6IixlKSxuPSJMaW5lYXIifXJldHVybiJ2ZWMzICIrdCsiKCB2ZWMzIGNvbG9yICkgeyByZXR1cm4gIituKyJUb25lTWFwcGluZyggY29sb3IgKTsgfSJ9ZnVuY3Rpb24gdG10KHQpe3JldHVybiIiIT09dH1mdW5jdGlvbiBlbXQodCxlKXtyZXR1cm4gdC5yZXBsYWNlKC9OVU1fRElSX0xJR0hUUy9nLGUubnVtRGlyTGlnaHRzKS5yZXBsYWNlKC9OVU1fU1BPVF9MSUdIVFMvZyxlLm51bVNwb3RMaWdodHMpLnJlcGxhY2UoL05VTV9SRUNUX0FSRUFfTElHSFRTL2csZS5udW1SZWN0QXJlYUxpZ2h0cykucmVwbGFjZSgvTlVNX1BPSU5UX0xJR0hUUy9nLGUubnVtUG9pbnRMaWdodHMpLnJlcGxhY2UoL05VTV9IRU1JX0xJR0hUUy9nLGUubnVtSGVtaUxpZ2h0cykucmVwbGFjZSgvTlVNX0RJUl9MSUdIVF9TSEFET1dTL2csZS5udW1EaXJMaWdodFNoYWRvd3MpLnJlcGxhY2UoL05VTV9TUE9UX0xJR0hUX1NIQURPV1MvZyxlLm51bVNwb3RMaWdodFNoYWRvd3MpLnJlcGxhY2UoL05VTV9QT0lOVF9MSUdIVF9TSEFET1dTL2csZS5udW1Qb2ludExpZ2h0U2hhZG93cyl9ZnVuY3Rpb24gbm10KHQsZSl7cmV0dXJuIHQucmVwbGFjZSgvTlVNX0NMSVBQSU5HX1BMQU5FUy9nLGUubnVtQ2xpcHBpbmdQbGFuZXMpLnJlcGxhY2UoL1VOSU9OX0NMSVBQSU5HX1BMQU5FUy9nLGUubnVtQ2xpcHBpbmdQbGFuZXMtZS5udW1DbGlwSW50ZXJzZWN0aW9uKX1jb25zdCBvbXQ9L15bIFx0XSojaW5jbHVkZSArPChbXHdcZC4vXSspPi9nbTtmdW5jdGlvbiBpbXQodCl7cmV0dXJuIHQucmVwbGFjZShvbXQsYW10KX1mdW5jdGlvbiBhbXQodCxlKXtjb25zdCBuPUpjdFtlXTtpZih2b2lkIDA9PT1uKXRocm93IG5ldyBFcnJvcigiQ2FuIG5vdCByZXNvbHZlICNpbmNsdWRlIDwiK2UrIj4iKTtyZXR1cm4gaW10KG4pfWNvbnN0IHJtdD0vI3ByYWdtYSB1bnJvbGxfbG9vcFtcc10rP2ZvciBcKCBpbnQgaSBcPSAoXGQrKVw7IGkgPCAoXGQrKVw7IGkgXCtcKyBcKSBceyhbXHNcU10rPykoPz1cfSlcfS9nLHNtdD0vI3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydFxzK2ZvclxzKlwoXHMqaW50XHMraVxzKj1ccyooXGQrKVxzKjtccyppXHMqPFxzKihcZCspXHMqO1xzKmlccypcK1wrXHMqXClccyp7KFtcc1xTXSs/KX1ccysjcHJhZ21hIHVucm9sbF9sb29wX2VuZC9nO2Z1bmN0aW9uIGxtdCh0KXtyZXR1cm4gdC5yZXBsYWNlKHNtdCxkbXQpLnJlcGxhY2Uocm10LGNtdCl9ZnVuY3Rpb24gY210KHQsZSxuLG8pe3JldHVybiBjb25zb2xlLndhcm4oIldlYkdMUHJvZ3JhbTogI3ByYWdtYSB1bnJvbGxfbG9vcCBzaGFkZXIgc3ludGF4IGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgI3ByYWdtYSB1bnJvbGxfbG9vcF9zdGFydCBzeW50YXggaW5zdGVhZC4iKSxkbXQodCxlLG4sbyl9ZnVuY3Rpb24gZG10KHQsZSxuLG8pe2xldCBpPSIiO2ZvcihsZXQgdD1wYXJzZUludChlKTt0PHBhcnNlSW50KG4pO3QrKylpKz1vLnJlcGxhY2UoL1xbXHMqaVxzKlxdL2csIlsgIit0KyIgXSIpLnJlcGxhY2UoL1VOUk9MTEVEX0xPT1BfSU5ERVgvZyx0KTtyZXR1cm4gaX1mdW5jdGlvbiBwbXQodCl7bGV0IGU9InByZWNpc2lvbiAiK3QucHJlY2lzaW9uKyIgZmxvYXQ7XG5wcmVjaXNpb24gIit0LnByZWNpc2lvbisiIGludDsiO3JldHVybiJoaWdocCI9PT10LnByZWNpc2lvbj9lKz0iXG4jZGVmaW5lIEhJR0hfUFJFQ0lTSU9OIjoibWVkaXVtcCI9PT10LnByZWNpc2lvbj9lKz0iXG4jZGVmaW5lIE1FRElVTV9QUkVDSVNJT04iOiJsb3dwIj09PXQucHJlY2lzaW9uJiYoZSs9IlxuI2RlZmluZSBMT1dfUFJFQ0lTSU9OIiksZX1mdW5jdGlvbiBtbXQodCxlLG4sbyl7Y29uc3QgaT10LmdldENvbnRleHQoKSxhPW4uZGVmaW5lcztsZXQgcj1uLnZlcnRleFNoYWRlcixzPW4uZnJhZ21lbnRTaGFkZXI7Y29uc3QgbD0oZnVuY3Rpb24gYyh0KXtsZXQgZT0iU0hBRE9XTUFQX1RZUEVfQkFTSUMiO3JldHVybiAxPT09dC5zaGFkb3dNYXBUeXBlP2U9IlNIQURPV01BUF9UWVBFX1BDRiI6Mj09PXQuc2hhZG93TWFwVHlwZT9lPSJTSEFET1dNQVBfVFlQRV9QQ0ZfU09GVCI6Mz09PXQuc2hhZG93TWFwVHlwZSYmKGU9IlNIQURPV01BUF9UWVBFX1ZTTSIpLGV9KShuKSxkPShmdW5jdGlvbiBwKHQpe2xldCBlPSJFTlZNQVBfVFlQRV9DVUJFIjtpZih0LmVudk1hcClzd2l0Y2godC5lbnZNYXBNb2RlKXtjYXNlIHdydDpjYXNlIGtydDplPSJFTlZNQVBfVFlQRV9DVUJFIjticmVhaztjYXNlIFNydDpjYXNlIDMwNzplPSJFTlZNQVBfVFlQRV9DVUJFX1VWIn1yZXR1cm4gZX0pKG4pLG09KGZ1bmN0aW9uIGYodCl7bGV0IGU9IkVOVk1BUF9NT0RFX1JFRkxFQ1RJT04iO2lmKHQuZW52TWFwKXN3aXRjaCh0LmVudk1hcE1vZGUpe2Nhc2Uga3J0OmNhc2UgMzA3OmU9IkVOVk1BUF9NT0RFX1JFRlJBQ1RJT04ifXJldHVybiBlfSkobiksdT0oZnVuY3Rpb24gZyh0KXtsZXQgZT0iRU5WTUFQX0JMRU5ESU5HX05PTkUiO2lmKHQuZW52TWFwKXN3aXRjaCh0LmNvbWJpbmUpe2Nhc2UgMDplPSJFTlZNQVBfQkxFTkRJTkdfTVVMVElQTFkiO2JyZWFrO2Nhc2UgMTplPSJFTlZNQVBfQkxFTkRJTkdfTUlYIjticmVhaztjYXNlIDI6ZT0iRU5WTUFQX0JMRU5ESU5HX0FERCJ9cmV0dXJuIGV9KShuKSxoPXQuZ2FtbWFGYWN0b3I+MD90LmdhbW1hRmFjdG9yOjEsYj1uLmlzV2ViR0wyPyIiOihmdW5jdGlvbiB5KHQpe3JldHVyblt0LmV4dGVuc2lvbkRlcml2YXRpdmVzfHx0LmVudk1hcEN1YmVVVnx8dC5idW1wTWFwfHx0LnRhbmdlbnRTcGFjZU5vcm1hbE1hcHx8dC5jbGVhcmNvYXROb3JtYWxNYXB8fHQuZmxhdFNoYWRpbmd8fCJwaHlzaWNhbCI9PT10LnNoYWRlcklEPyIjZXh0ZW5zaW9uIEdMX09FU19zdGFuZGFyZF9kZXJpdmF0aXZlcyA6IGVuYWJsZSI6IiIsKHQuZXh0ZW5zaW9uRnJhZ0RlcHRofHx0LmxvZ2FyaXRobWljRGVwdGhCdWZmZXIpJiZ0LnJlbmRlcmVyRXh0ZW5zaW9uRnJhZ0RlcHRoPyIjZXh0ZW5zaW9uIEdMX0VYVF9mcmFnX2RlcHRoIDogZW5hYmxlIjoiIix0LmV4dGVuc2lvbkRyYXdCdWZmZXJzJiZ0LnJlbmRlcmVyRXh0ZW5zaW9uRHJhd0J1ZmZlcnM/IiNleHRlbnNpb24gR0xfRVhUX2RyYXdfYnVmZmVycyA6IHJlcXVpcmUiOiIiLCh0LmV4dGVuc2lvblNoYWRlclRleHR1cmVMT0R8fHQuZW52TWFwfHx0LnRyYW5zbWlzc2lvbj4wKSYmdC5yZW5kZXJlckV4dGVuc2lvblNoYWRlclRleHR1cmVMb2Q/IiNleHRlbnNpb24gR0xfRVhUX3NoYWRlcl90ZXh0dXJlX2xvZCA6IGVuYWJsZSI6IiJdLmZpbHRlcih0bXQpLmpvaW4oIlxuIil9KShuKSxfPShmdW5jdGlvbiBDKHQpe2NvbnN0IGU9W107Zm9yKGNvbnN0IG4gaW4gdCl7Y29uc3Qgbz10W25dOyExIT09byYmZS5wdXNoKCIjZGVmaW5lICIrbisiICIrbyl9cmV0dXJuIGUuam9pbigiXG4iKX0pKGEpLE09aS5jcmVhdGVQcm9ncmFtKCk7bGV0IHYseCxPPW4uZ2xzbFZlcnNpb24/IiN2ZXJzaW9uICIrbi5nbHNsVmVyc2lvbisiXG4iOiIiO24uaXNSYXdTaGFkZXJNYXRlcmlhbD8odj1bX10uZmlsdGVyKHRtdCkuam9pbigiXG4iKSx2Lmxlbmd0aD4wJiYodis9IlxuIikseD1bYixfXS5maWx0ZXIodG10KS5qb2luKCJcbiIpLHgubGVuZ3RoPjAmJih4Kz0iXG4iKSk6KHY9W3BtdChuKSwiI2RlZmluZSBTSEFERVJfTkFNRSAiK24uc2hhZGVyTmFtZSxfLG4uaW5zdGFuY2luZz8iI2RlZmluZSBVU0VfSU5TVEFOQ0lORyI6IiIsbi5pbnN0YW5jaW5nQ29sb3I/IiNkZWZpbmUgVVNFX0lOU1RBTkNJTkdfQ09MT1IiOiIiLG4uc3VwcG9ydHNWZXJ0ZXhUZXh0dXJlcz8iI2RlZmluZSBWRVJURVhfVEVYVFVSRVMiOiIiLCIjZGVmaW5lIEdBTU1BX0ZBQ1RPUiAiK2gsIiNkZWZpbmUgTUFYX0JPTkVTICIrbi5tYXhCb25lcyxuLnVzZUZvZyYmbi5mb2c/IiNkZWZpbmUgVVNFX0ZPRyI6IiIsbi51c2VGb2cmJm4uZm9nRXhwMj8iI2RlZmluZSBGT0dfRVhQMiI6IiIsbi5tYXA/IiNkZWZpbmUgVVNFX01BUCI6IiIsbi5lbnZNYXA/IiNkZWZpbmUgVVNFX0VOVk1BUCI6IiIsbi5lbnZNYXA/IiNkZWZpbmUgIittOiIiLG4ubGlnaHRNYXA/IiNkZWZpbmUgVVNFX0xJR0hUTUFQIjoiIixuLmFvTWFwPyIjZGVmaW5lIFVTRV9BT01BUCI6IiIsbi5lbWlzc2l2ZU1hcD8iI2RlZmluZSBVU0VfRU1JU1NJVkVNQVAiOiIiLG4uYnVtcE1hcD8iI2RlZmluZSBVU0VfQlVNUE1BUCI6IiIsbi5ub3JtYWxNYXA/IiNkZWZpbmUgVVNFX05PUk1BTE1BUCI6IiIsbi5ub3JtYWxNYXAmJm4ub2JqZWN0U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgT0JKRUNUU1BBQ0VfTk9STUFMTUFQIjoiIixuLm5vcm1hbE1hcCYmbi50YW5nZW50U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgVEFOR0VOVFNQQUNFX05PUk1BTE1BUCI6IiIsbi5jbGVhcmNvYXRNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVE1BUCI6IiIsbi5jbGVhcmNvYXRSb3VnaG5lc3NNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVF9ST1VHSE5FU1NNQVAiOiIiLG4uY2xlYXJjb2F0Tm9ybWFsTWFwPyIjZGVmaW5lIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQIjoiIixuLmRpc3BsYWNlbWVudE1hcCYmbi5zdXBwb3J0c1ZlcnRleFRleHR1cmVzPyIjZGVmaW5lIFVTRV9ESVNQTEFDRU1FTlRNQVAiOiIiLG4uc3BlY3VsYXJNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSTUFQIjoiIixuLnNwZWN1bGFySW50ZW5zaXR5TWFwPyIjZGVmaW5lIFVTRV9TUEVDVUxBUklOVEVOU0lUWU1BUCI6IiIsbi5zcGVjdWxhclRpbnRNYXA/IiNkZWZpbmUgVVNFX1NQRUNVTEFSVElOVE1BUCI6IiIsbi5yb3VnaG5lc3NNYXA/IiNkZWZpbmUgVVNFX1JPVUdITkVTU01BUCI6IiIsbi5tZXRhbG5lc3NNYXA/IiNkZWZpbmUgVVNFX01FVEFMTkVTU01BUCI6IiIsbi5hbHBoYU1hcD8iI2RlZmluZSBVU0VfQUxQSEFNQVAiOiIiLG4udHJhbnNtaXNzaW9uPyIjZGVmaW5lIFVTRV9UUkFOU01JU1NJT04iOiIiLG4udHJhbnNtaXNzaW9uTWFwPyIjZGVmaW5lIFVTRV9UUkFOU01JU1NJT05NQVAiOiIiLG4udGhpY2tuZXNzTWFwPyIjZGVmaW5lIFVTRV9USElDS05FU1NNQVAiOiIiLG4udmVydGV4VGFuZ2VudHM/IiNkZWZpbmUgVVNFX1RBTkdFTlQiOiIiLG4udmVydGV4Q29sb3JzPyIjZGVmaW5lIFVTRV9DT0xPUiI6IiIsbi52ZXJ0ZXhBbHBoYXM/IiNkZWZpbmUgVVNFX0NPTE9SX0FMUEhBIjoiIixuLnZlcnRleFV2cz8iI2RlZmluZSBVU0VfVVYiOiIiLG4udXZzVmVydGV4T25seT8iI2RlZmluZSBVVlNfVkVSVEVYX09OTFkiOiIiLG4uZmxhdFNoYWRpbmc/IiNkZWZpbmUgRkxBVF9TSEFERUQiOiIiLG4uc2tpbm5pbmc/IiNkZWZpbmUgVVNFX1NLSU5OSU5HIjoiIixuLnVzZVZlcnRleFRleHR1cmU/IiNkZWZpbmUgQk9ORV9URVhUVVJFIjoiIixuLm1vcnBoVGFyZ2V0cz8iI2RlZmluZSBVU0VfTU9SUEhUQVJHRVRTIjoiIixuLm1vcnBoTm9ybWFscyYmITE9PT1uLmZsYXRTaGFkaW5nPyIjZGVmaW5lIFVTRV9NT1JQSE5PUk1BTFMiOiIiLG4uZG91YmxlU2lkZWQ/IiNkZWZpbmUgRE9VQkxFX1NJREVEIjoiIixuLmZsaXBTaWRlZD8iI2RlZmluZSBGTElQX1NJREVEIjoiIixuLnNoYWRvd01hcEVuYWJsZWQ/IiNkZWZpbmUgVVNFX1NIQURPV01BUCI6IiIsbi5zaGFkb3dNYXBFbmFibGVkPyIjZGVmaW5lICIrbDoiIixuLnNpemVBdHRlbnVhdGlvbj8iI2RlZmluZSBVU0VfU0laRUFUVEVOVUFUSU9OIjoiIixuLmxvZ2FyaXRobWljRGVwdGhCdWZmZXI/IiNkZWZpbmUgVVNFX0xPR0RFUFRIQlVGIjoiIixuLmxvZ2FyaXRobWljRGVwdGhCdWZmZXImJm4ucmVuZGVyZXJFeHRlbnNpb25GcmFnRGVwdGg/IiNkZWZpbmUgVVNFX0xPR0RFUFRIQlVGX0VYVCI6IiIsInVuaWZvcm0gbWF0NCBtb2RlbE1hdHJpeDsiLCJ1bmlmb3JtIG1hdDQgbW9kZWxWaWV3TWF0cml4OyIsInVuaWZvcm0gbWF0NCBwcm9qZWN0aW9uTWF0cml4OyIsInVuaWZvcm0gbWF0NCB2aWV3TWF0cml4OyIsInVuaWZvcm0gbWF0MyBub3JtYWxNYXRyaXg7IiwidW5pZm9ybSB2ZWMzIGNhbWVyYVBvc2l0aW9uOyIsInVuaWZvcm0gYm9vbCBpc09ydGhvZ3JhcGhpYzsiLCIjaWZkZWYgVVNFX0lOU1RBTkNJTkciLCJcdGF0dHJpYnV0ZSBtYXQ0IGluc3RhbmNlTWF0cml4OyIsIiNlbmRpZiIsIiNpZmRlZiBVU0VfSU5TVEFOQ0lOR19DT0xPUiIsIlx0YXR0cmlidXRlIHZlYzMgaW5zdGFuY2VDb2xvcjsiLCIjZW5kaWYiLCJhdHRyaWJ1dGUgdmVjMyBwb3NpdGlvbjsiLCJhdHRyaWJ1dGUgdmVjMyBub3JtYWw7IiwiYXR0cmlidXRlIHZlYzIgdXY7IiwiI2lmZGVmIFVTRV9UQU5HRU5UIiwiXHRhdHRyaWJ1dGUgdmVjNCB0YW5nZW50OyIsIiNlbmRpZiIsIiNpZiBkZWZpbmVkKCBVU0VfQ09MT1JfQUxQSEEgKSIsIlx0YXR0cmlidXRlIHZlYzQgY29sb3I7IiwiI2VsaWYgZGVmaW5lZCggVVNFX0NPTE9SICkiLCJcdGF0dHJpYnV0ZSB2ZWMzIGNvbG9yOyIsIiNlbmRpZiIsIiNpZmRlZiBVU0VfTU9SUEhUQVJHRVRTIiwiXHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDA7IiwiXHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDE7IiwiXHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDI7IiwiXHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDM7IiwiXHQjaWZkZWYgVVNFX01PUlBITk9STUFMUyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaE5vcm1hbDA7IiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoTm9ybWFsMTsiLCJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhOb3JtYWwyOyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaE5vcm1hbDM7IiwiXHQjZWxzZSIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDQ7IiwiXHRcdGF0dHJpYnV0ZSB2ZWMzIG1vcnBoVGFyZ2V0NTsiLCJcdFx0YXR0cmlidXRlIHZlYzMgbW9ycGhUYXJnZXQ2OyIsIlx0XHRhdHRyaWJ1dGUgdmVjMyBtb3JwaFRhcmdldDc7IiwiXHQjZW5kaWYiLCIjZW5kaWYiLCIjaWZkZWYgVVNFX1NLSU5OSU5HIiwiXHRhdHRyaWJ1dGUgdmVjNCBza2luSW5kZXg7IiwiXHRhdHRyaWJ1dGUgdmVjNCBza2luV2VpZ2h0OyIsIiNlbmRpZiIsIlxuIl0uZmlsdGVyKHRtdCkuam9pbigiXG4iKSx4PVtiLHBtdChuKSwiI2RlZmluZSBTSEFERVJfTkFNRSAiK24uc2hhZGVyTmFtZSxfLG4uYWxwaGFUZXN0PyIjZGVmaW5lIEFMUEhBVEVTVCAiK24uYWxwaGFUZXN0KyhuLmFscGhhVGVzdCUxPyIiOiIuMCIpOiIiLCIjZGVmaW5lIEdBTU1BX0ZBQ1RPUiAiK2gsbi51c2VGb2cmJm4uZm9nPyIjZGVmaW5lIFVTRV9GT0ciOiIiLG4udXNlRm9nJiZuLmZvZ0V4cDI/IiNkZWZpbmUgRk9HX0VYUDIiOiIiLG4ubWFwPyIjZGVmaW5lIFVTRV9NQVAiOiIiLG4ubWF0Y2FwPyIjZGVmaW5lIFVTRV9NQVRDQVAiOiIiLG4uZW52TWFwPyIjZGVmaW5lIFVTRV9FTlZNQVAiOiIiLG4uZW52TWFwPyIjZGVmaW5lICIrZDoiIixuLmVudk1hcD8iI2RlZmluZSAiK206IiIsbi5lbnZNYXA/IiNkZWZpbmUgIit1OiIiLG4ubGlnaHRNYXA/IiNkZWZpbmUgVVNFX0xJR0hUTUFQIjoiIixuLmFvTWFwPyIjZGVmaW5lIFVTRV9BT01BUCI6IiIsbi5lbWlzc2l2ZU1hcD8iI2RlZmluZSBVU0VfRU1JU1NJVkVNQVAiOiIiLG4uYnVtcE1hcD8iI2RlZmluZSBVU0VfQlVNUE1BUCI6IiIsbi5ub3JtYWxNYXA/IiNkZWZpbmUgVVNFX05PUk1BTE1BUCI6IiIsbi5ub3JtYWxNYXAmJm4ub2JqZWN0U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgT0JKRUNUU1BBQ0VfTk9STUFMTUFQIjoiIixuLm5vcm1hbE1hcCYmbi50YW5nZW50U3BhY2VOb3JtYWxNYXA/IiNkZWZpbmUgVEFOR0VOVFNQQUNFX05PUk1BTE1BUCI6IiIsbi5jbGVhcmNvYXRNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVE1BUCI6IiIsbi5jbGVhcmNvYXRSb3VnaG5lc3NNYXA/IiNkZWZpbmUgVVNFX0NMRUFSQ09BVF9ST1VHSE5FU1NNQVAiOiIiLG4uY2xlYXJjb2F0Tm9ybWFsTWFwPyIjZGVmaW5lIFVTRV9DTEVBUkNPQVRfTk9STUFMTUFQIjoiIixuLnNwZWN1bGFyTWFwPyIjZGVmaW5lIFVTRV9TUEVDVUxBUk1BUCI6IiIsbi5zcGVjdWxhckludGVuc2l0eU1hcD8iI2RlZmluZSBVU0VfU1BFQ1VMQVJJTlRFTlNJVFlNQVAiOiIiLG4uc3BlY3VsYXJUaW50TWFwPyIjZGVmaW5lIFVTRV9TUEVDVUxBUlRJTlRNQVAiOiIiLG4ucm91Z2huZXNzTWFwPyIjZGVmaW5lIFVTRV9ST1VHSE5FU1NNQVAiOiIiLG4ubWV0YWxuZXNzTWFwPyIjZGVmaW5lIFVTRV9NRVRBTE5FU1NNQVAiOiIiLG4uYWxwaGFNYXA/IiNkZWZpbmUgVVNFX0FMUEhBTUFQIjoiIixuLnNoZWVuPyIjZGVmaW5lIFVTRV9TSEVFTiI6IiIsbi50cmFuc21pc3Npb24/IiNkZWZpbmUgVVNFX1RSQU5TTUlTU0lPTiI6IiIsbi50cmFuc21pc3Npb25NYXA/IiNkZWZpbmUgVVNFX1RSQU5TTUlTU0lPTk1BUCI6IiIsbi50aGlja25lc3NNYXA/IiNkZWZpbmUgVVNFX1RISUNLTkVTU01BUCI6IiIsbi52ZXJ0ZXhUYW5nZW50cz8iI2RlZmluZSBVU0VfVEFOR0VOVCI6IiIsbi52ZXJ0ZXhDb2xvcnN8fG4uaW5zdGFuY2luZ0NvbG9yPyIjZGVmaW5lIFVTRV9DT0xPUiI6IiIsbi52ZXJ0ZXhBbHBoYXM/IiNkZWZpbmUgVVNFX0NPTE9SX0FMUEhBIjoiIixuLnZlcnRleFV2cz8iI2RlZmluZSBVU0VfVVYiOiIiLG4udXZzVmVydGV4T25seT8iI2RlZmluZSBVVlNfVkVSVEVYX09OTFkiOiIiLG4uZ3JhZGllbnRNYXA/IiNkZWZpbmUgVVNFX0dSQURJRU5UTUFQIjoiIixuLmZsYXRTaGFkaW5nPyIjZGVmaW5lIEZMQVRfU0hBREVEIjoiIixuLmRvdWJsZVNpZGVkPyIjZGVmaW5lIERPVUJMRV9TSURFRCI6IiIsbi5mbGlwU2lkZWQ/IiNkZWZpbmUgRkxJUF9TSURFRCI6IiIsbi5zaGFkb3dNYXBFbmFibGVkPyIjZGVmaW5lIFVTRV9TSEFET1dNQVAiOiIiLG4uc2hhZG93TWFwRW5hYmxlZD8iI2RlZmluZSAiK2w6IiIsbi5wcmVtdWx0aXBsaWVkQWxwaGE/IiNkZWZpbmUgUFJFTVVMVElQTElFRF9BTFBIQSI6IiIsbi5waHlzaWNhbGx5Q29ycmVjdExpZ2h0cz8iI2RlZmluZSBQSFlTSUNBTExZX0NPUlJFQ1RfTElHSFRTIjoiIixuLmxvZ2FyaXRobWljRGVwdGhCdWZmZXI/IiNkZWZpbmUgVVNFX0xPR0RFUFRIQlVGIjoiIixuLmxvZ2FyaXRobWljRGVwdGhCdWZmZXImJm4ucmVuZGVyZXJFeHRlbnNpb25GcmFnRGVwdGg/IiNkZWZpbmUgVVNFX0xPR0RFUFRIQlVGX0VYVCI6IiIsKG4uZXh0ZW5zaW9uU2hhZGVyVGV4dHVyZUxPRHx8bi5lbnZNYXApJiZuLnJlbmRlcmVyRXh0ZW5zaW9uU2hhZGVyVGV4dHVyZUxvZD8iI2RlZmluZSBURVhUVVJFX0xPRF9FWFQiOiIiLCJ1bmlmb3JtIG1hdDQgdmlld01hdHJpeDsiLCJ1bmlmb3JtIHZlYzMgY2FtZXJhUG9zaXRpb247IiwidW5pZm9ybSBib29sIGlzT3J0aG9ncmFwaGljOyIsMCE9PW4udG9uZU1hcHBpbmc/IiNkZWZpbmUgVE9ORV9NQVBQSU5HIjoiIiwwIT09bi50b25lTWFwcGluZz9KY3QudG9uZW1hcHBpbmdfcGFyc19mcmFnbWVudDoiIiwwIT09bi50b25lTWFwcGluZz8kcHQoInRvbmVNYXBwaW5nIixuLnRvbmVNYXBwaW5nKToiIixuLmRpdGhlcmluZz8iI2RlZmluZSBESVRIRVJJTkciOiIiLEpjdC5lbmNvZGluZ3NfcGFyc19mcmFnbWVudCxuLm1hcD9KcHQoIm1hcFRleGVsVG9MaW5lYXIiLG4ubWFwRW5jb2RpbmcpOiIiLG4ubWF0Y2FwP0pwdCgibWF0Y2FwVGV4ZWxUb0xpbmVhciIsbi5tYXRjYXBFbmNvZGluZyk6IiIsbi5lbnZNYXA/SnB0KCJlbnZNYXBUZXhlbFRvTGluZWFyIixuLmVudk1hcEVuY29kaW5nKToiIixuLmVtaXNzaXZlTWFwP0pwdCgiZW1pc3NpdmVNYXBUZXhlbFRvTGluZWFyIixuLmVtaXNzaXZlTWFwRW5jb2RpbmcpOiIiLG4uc3BlY3VsYXJUaW50TWFwP0pwdCgic3BlY3VsYXJUaW50TWFwVGV4ZWxUb0xpbmVhciIsbi5zcGVjdWxhclRpbnRNYXBFbmNvZGluZyk6IiIsbi5saWdodE1hcD9KcHQoImxpZ2h0TWFwVGV4ZWxUb0xpbmVhciIsbi5saWdodE1hcEVuY29kaW5nKToiIixRcHQoImxpbmVhclRvT3V0cHV0VGV4ZWwiLG4ub3V0cHV0RW5jb2RpbmcpLG4uZGVwdGhQYWNraW5nPyIjZGVmaW5lIERFUFRIX1BBQ0tJTkcgIituLmRlcHRoUGFja2luZzoiIiwiXG4iXS5maWx0ZXIodG10KS5qb2luKCJcbiIpKSxyPWltdChyKSxyPWVtdChyLG4pLHI9bm10KHIsbikscz1pbXQocykscz1lbXQocyxuKSxzPW5tdChzLG4pLHI9bG10KHIpLHM9bG10KHMpLG4uaXNXZWJHTDImJiEwIT09bi5pc1Jhd1NoYWRlck1hdGVyaWFsJiYoTz0iI3ZlcnNpb24gMzAwIGVzXG4iLHY9WyIjZGVmaW5lIGF0dHJpYnV0ZSBpbiIsIiNkZWZpbmUgdmFyeWluZyBvdXQiLCIjZGVmaW5lIHRleHR1cmUyRCB0ZXh0dXJlIl0uam9pbigiXG4iKSsiXG4iK3YseD1bIiNkZWZpbmUgdmFyeWluZyBpbiIsbi5nbHNsVmVyc2lvbj09PWFzdD8iIjoib3V0IGhpZ2hwIHZlYzQgcGNfZnJhZ0NvbG9yOyIsbi5nbHNsVmVyc2lvbj09PWFzdD8iIjoiI2RlZmluZSBnbF9GcmFnQ29sb3IgcGNfZnJhZ0NvbG9yIiwiI2RlZmluZSBnbF9GcmFnRGVwdGhFWFQgZ2xfRnJhZ0RlcHRoIiwiI2RlZmluZSB0ZXh0dXJlMkQgdGV4dHVyZSIsIiNkZWZpbmUgdGV4dHVyZUN1YmUgdGV4dHVyZSIsIiNkZWZpbmUgdGV4dHVyZTJEUHJvaiB0ZXh0dXJlUHJvaiIsIiNkZWZpbmUgdGV4dHVyZTJETG9kRVhUIHRleHR1cmVMb2QiLCIjZGVmaW5lIHRleHR1cmUyRFByb2pMb2RFWFQgdGV4dHVyZVByb2pMb2QiLCIjZGVmaW5lIHRleHR1cmVDdWJlTG9kRVhUIHRleHR1cmVMb2QiLCIjZGVmaW5lIHRleHR1cmUyREdyYWRFWFQgdGV4dHVyZUdyYWQiLCIjZGVmaW5lIHRleHR1cmUyRFByb2pHcmFkRVhUIHRleHR1cmVQcm9qR3JhZCIsIiNkZWZpbmUgdGV4dHVyZUN1YmVHcmFkRVhUIHRleHR1cmVHcmFkIl0uam9pbigiXG4iKSsiXG4iK3gpO2NvbnN0IFA9Tyt4K3Msdz1xcHQoaSwzNTYzMyxPK3Yrciksaz1xcHQoaSwzNTYzMixQKTtpZihpLmF0dGFjaFNoYWRlcihNLHcpLGkuYXR0YWNoU2hhZGVyKE0sayksdm9pZCAwIT09bi5pbmRleDBBdHRyaWJ1dGVOYW1lP2kuYmluZEF0dHJpYkxvY2F0aW9uKE0sMCxuLmluZGV4MEF0dHJpYnV0ZU5hbWUpOiEwPT09bi5tb3JwaFRhcmdldHMmJmkuYmluZEF0dHJpYkxvY2F0aW9uKE0sMCwicG9zaXRpb24iKSxpLmxpbmtQcm9ncmFtKE0pLHQuZGVidWcuY2hlY2tTaGFkZXJFcnJvcnMpe2NvbnN0IHQ9aS5nZXRQcm9ncmFtSW5mb0xvZyhNKS50cmltKCksZT1pLmdldFNoYWRlckluZm9Mb2codykudHJpbSgpLG49aS5nZXRTaGFkZXJJbmZvTG9nKGspLnRyaW0oKTtsZXQgbz0hMCxhPSEwO2lmKCExPT09aS5nZXRQcm9ncmFtUGFyYW1ldGVyKE0sMzU3MTQpKXtvPSExO2NvbnN0IGU9S3B0KGksdywidmVydGV4Iiksbj1LcHQoaSxrLCJmcmFnbWVudCIpO2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUHJvZ3JhbTogc2hhZGVyIGVycm9yOiAiLGkuZ2V0RXJyb3IoKSwiMzU3MTUiLGkuZ2V0UHJvZ3JhbVBhcmFtZXRlcihNLDM1NzE1KSwiZ2wuZ2V0UHJvZ3JhbUluZm9Mb2ciLHQsZSxuKX1lbHNlIiIhPT10P2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xQcm9ncmFtOiBnbC5nZXRQcm9ncmFtSW5mb0xvZygpIix0KToiIiE9PWUmJiIiIT09bnx8KGE9ITEpO2EmJih0aGlzLmRpYWdub3N0aWNzPXtydW5uYWJsZTpvLHByb2dyYW1Mb2c6dCx2ZXJ0ZXhTaGFkZXI6e2xvZzplLHByZWZpeDp2fSxmcmFnbWVudFNoYWRlcjp7bG9nOm4scHJlZml4Onh9fSl9bGV0IFMsRDtyZXR1cm4gaS5kZWxldGVTaGFkZXIodyksaS5kZWxldGVTaGFkZXIoayksdGhpcy5nZXRVbmlmb3Jtcz1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1TJiYoUz1uZXcgWXB0KGksTSkpLFN9LHRoaXMuZ2V0QXR0cmlidXRlcz1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1EJiYoRD0oZnVuY3Rpb24gdChlLG4pe2NvbnN0IG89e30saT1lLmdldFByb2dyYW1QYXJhbWV0ZXIobiwzNTcyMSk7Zm9yKGxldCB0PTA7dDxpO3QrKyl7Y29uc3QgaT1lLmdldEFjdGl2ZUF0dHJpYihuLHQpLm5hbWU7b1tpXT1lLmdldEF0dHJpYkxvY2F0aW9uKG4saSl9cmV0dXJuIG99KShpLE0pKSxEfSx0aGlzLmRlc3Ryb3k9ZnVuY3Rpb24oKXtvLnJlbGVhc2VTdGF0ZXNPZlByb2dyYW0odGhpcyksaS5kZWxldGVQcm9ncmFtKE0pLHRoaXMucHJvZ3JhbT12b2lkIDB9LHRoaXMubmFtZT1uLnNoYWRlck5hbWUsdGhpcy5pZD1acHQrKyx0aGlzLmNhY2hlS2V5PWUsdGhpcy51c2VkVGltZXM9MSx0aGlzLnByb2dyYW09TSx0aGlzLnZlcnRleFNoYWRlcj13LHRoaXMuZnJhZ21lbnRTaGFkZXI9ayx0aGlzfWZ1bmN0aW9uIGZtdCh0LGUsbixvLGksYSxyKXtjb25zdCBzPVtdLGw9aS5pc1dlYkdMMixjPWkubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcixkPWkuZmxvYXRWZXJ0ZXhUZXh0dXJlcyxwPWkubWF4VmVydGV4VW5pZm9ybXMsbT1pLnZlcnRleFRleHR1cmVzO2xldCBmPWkucHJlY2lzaW9uO2NvbnN0IHU9e01lc2hEZXB0aE1hdGVyaWFsOiJkZXB0aCIsTWVzaERpc3RhbmNlTWF0ZXJpYWw6ImRpc3RhbmNlUkdCQSIsTWVzaE5vcm1hbE1hdGVyaWFsOiJub3JtYWwiLE1lc2hCYXNpY01hdGVyaWFsOiJiYXNpYyIsTWVzaExhbWJlcnRNYXRlcmlhbDoibGFtYmVydCIsTWVzaFBob25nTWF0ZXJpYWw6InBob25nIixNZXNoVG9vbk1hdGVyaWFsOiJ0b29uIixNZXNoU3RhbmRhcmRNYXRlcmlhbDoicGh5c2ljYWwiLE1lc2hQaHlzaWNhbE1hdGVyaWFsOiJwaHlzaWNhbCIsTWVzaE1hdGNhcE1hdGVyaWFsOiJtYXRjYXAiLExpbmVCYXNpY01hdGVyaWFsOiJiYXNpYyIsTGluZURhc2hlZE1hdGVyaWFsOiJkYXNoZWQiLFBvaW50c01hdGVyaWFsOiJwb2ludHMiLFNoYWRvd01hdGVyaWFsOiJzaGFkb3ciLFNwcml0ZU1hdGVyaWFsOiJzcHJpdGUifSxnPVsicHJlY2lzaW9uIiwiaXNXZWJHTDIiLCJzdXBwb3J0c1ZlcnRleFRleHR1cmVzIiwib3V0cHV0RW5jb2RpbmciLCJpbnN0YW5jaW5nIiwiaW5zdGFuY2luZ0NvbG9yIiwibWFwIiwibWFwRW5jb2RpbmciLCJtYXRjYXAiLCJtYXRjYXBFbmNvZGluZyIsImVudk1hcCIsImVudk1hcE1vZGUiLCJlbnZNYXBFbmNvZGluZyIsImVudk1hcEN1YmVVViIsImxpZ2h0TWFwIiwibGlnaHRNYXBFbmNvZGluZyIsImFvTWFwIiwiZW1pc3NpdmVNYXAiLCJlbWlzc2l2ZU1hcEVuY29kaW5nIiwiYnVtcE1hcCIsIm5vcm1hbE1hcCIsIm9iamVjdFNwYWNlTm9ybWFsTWFwIiwidGFuZ2VudFNwYWNlTm9ybWFsTWFwIiwiY2xlYXJjb2F0TWFwIiwiY2xlYXJjb2F0Um91Z2huZXNzTWFwIiwiY2xlYXJjb2F0Tm9ybWFsTWFwIiwiZGlzcGxhY2VtZW50TWFwIiwic3BlY3VsYXJNYXAiLCJzcGVjdWxhckludGVuc2l0eU1hcCIsInNwZWN1bGFyVGludE1hcCIsInNwZWN1bGFyVGludE1hcEVuY29kaW5nIiwicm91Z2huZXNzTWFwIiwibWV0YWxuZXNzTWFwIiwiZ3JhZGllbnRNYXAiLCJhbHBoYU1hcCIsImNvbWJpbmUiLCJ2ZXJ0ZXhDb2xvcnMiLCJ2ZXJ0ZXhBbHBoYXMiLCJ2ZXJ0ZXhUYW5nZW50cyIsInZlcnRleFV2cyIsInV2c1ZlcnRleE9ubHkiLCJmb2ciLCJ1c2VGb2ciLCJmb2dFeHAyIiwiZmxhdFNoYWRpbmciLCJzaXplQXR0ZW51YXRpb24iLCJsb2dhcml0aG1pY0RlcHRoQnVmZmVyIiwic2tpbm5pbmciLCJtYXhCb25lcyIsInVzZVZlcnRleFRleHR1cmUiLCJtb3JwaFRhcmdldHMiLCJtb3JwaE5vcm1hbHMiLCJwcmVtdWx0aXBsaWVkQWxwaGEiLCJudW1EaXJMaWdodHMiLCJudW1Qb2ludExpZ2h0cyIsIm51bVNwb3RMaWdodHMiLCJudW1IZW1pTGlnaHRzIiwibnVtUmVjdEFyZWFMaWdodHMiLCJudW1EaXJMaWdodFNoYWRvd3MiLCJudW1Qb2ludExpZ2h0U2hhZG93cyIsIm51bVNwb3RMaWdodFNoYWRvd3MiLCJzaGFkb3dNYXBFbmFibGVkIiwic2hhZG93TWFwVHlwZSIsInRvbmVNYXBwaW5nIiwicGh5c2ljYWxseUNvcnJlY3RMaWdodHMiLCJhbHBoYVRlc3QiLCJkb3VibGVTaWRlZCIsImZsaXBTaWRlZCIsIm51bUNsaXBwaW5nUGxhbmVzIiwibnVtQ2xpcEludGVyc2VjdGlvbiIsImRlcHRoUGFja2luZyIsImRpdGhlcmluZyIsInNoZWVuIiwidHJhbnNtaXNzaW9uIiwidHJhbnNtaXNzaW9uTWFwIiwidGhpY2tuZXNzTWFwIl07ZnVuY3Rpb24gaCh0KXtsZXQgZTtyZXR1cm4gdCYmdC5pc1RleHR1cmU/ZT10LmVuY29kaW5nOnQmJnQuaXNXZWJHTFJlbmRlclRhcmdldD8oY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFByb2dyYW1zLmdldFRleHR1cmVFbmNvZGluZ0Zyb21NYXA6IGRvbid0IHVzZSByZW5kZXIgdGFyZ2V0cyBhcyB0ZXh0dXJlcy4gVXNlIHRoZWlyIC50ZXh0dXJlIHByb3BlcnR5IGluc3RlYWQuIiksZT10LnRleHR1cmUuZW5jb2RpbmcpOmU9UXJ0LGV9cmV0dXJue2dldFBhcmFtZXRlcnM6ZnVuY3Rpb24gYihhLHMsZyx5LF8pe2NvbnN0IEM9eS5mb2csTT0oYS5pc01lc2hTdGFuZGFyZE1hdGVyaWFsP246ZSkuZ2V0KGEuZW52TWFwfHwoYS5pc01lc2hTdGFuZGFyZE1hdGVyaWFsP3kuZW52aXJvbm1lbnQ6bnVsbCkpLHY9dVthLnR5cGVdLHg9Xy5pc1NraW5uZWRNZXNoPyhmdW5jdGlvbiBPKHQpe2NvbnN0IGU9dC5za2VsZXRvbi5ib25lcztpZihkKXJldHVybiAxMDI0O3tjb25zdCB0PU1hdGguZmxvb3IoKHAtMjApLzQpLG49TWF0aC5taW4odCxlLmxlbmd0aCk7cmV0dXJuIG48ZS5sZW5ndGg/KGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogU2tlbGV0b24gaGFzICIrZS5sZW5ndGgrIiBib25lcy4gVGhpcyBHUFUgc3VwcG9ydHMgIituKyIuIiksMCk6bn19KShfKTowO2xldCBQLHc7aWYobnVsbCE9PWEucHJlY2lzaW9uJiYoZj1pLmdldE1heFByZWNpc2lvbihhLnByZWNpc2lvbiksZiE9PWEucHJlY2lzaW9uJiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUHJvZ3JhbS5nZXRQYXJhbWV0ZXJzOiIsYS5wcmVjaXNpb24sIm5vdCBzdXBwb3J0ZWQsIHVzaW5nIixmLCJpbnN0ZWFkLiIpKSx2KXtjb25zdCB0PSRjdFt2XTtQPXQudmVydGV4U2hhZGVyLHc9dC5mcmFnbWVudFNoYWRlcn1lbHNlIFA9YS52ZXJ0ZXhTaGFkZXIsdz1hLmZyYWdtZW50U2hhZGVyO2NvbnN0IGs9dC5nZXRSZW5kZXJUYXJnZXQoKTtyZXR1cm57aXNXZWJHTDI6bCxzaGFkZXJJRDp2LHNoYWRlck5hbWU6YS50eXBlLHZlcnRleFNoYWRlcjpQLGZyYWdtZW50U2hhZGVyOncsZGVmaW5lczphLmRlZmluZXMsaXNSYXdTaGFkZXJNYXRlcmlhbDohMD09PWEuaXNSYXdTaGFkZXJNYXRlcmlhbCxnbHNsVmVyc2lvbjphLmdsc2xWZXJzaW9uLHByZWNpc2lvbjpmLGluc3RhbmNpbmc6ITA9PT1fLmlzSW5zdGFuY2VkTWVzaCxpbnN0YW5jaW5nQ29sb3I6ITA9PT1fLmlzSW5zdGFuY2VkTWVzaCYmbnVsbCE9PV8uaW5zdGFuY2VDb2xvcixzdXBwb3J0c1ZlcnRleFRleHR1cmVzOm0sb3V0cHV0RW5jb2Rpbmc6bnVsbCE9PWs/aChrLnRleHR1cmUpOnQub3V0cHV0RW5jb2RpbmcsbWFwOiEhYS5tYXAsbWFwRW5jb2Rpbmc6aChhLm1hcCksbWF0Y2FwOiEhYS5tYXRjYXAsbWF0Y2FwRW5jb2Rpbmc6aChhLm1hdGNhcCksZW52TWFwOiEhTSxlbnZNYXBNb2RlOk0mJk0ubWFwcGluZyxlbnZNYXBFbmNvZGluZzpoKE0pLGVudk1hcEN1YmVVVjohIU0mJihNLm1hcHBpbmc9PT1TcnR8fDMwNz09PU0ubWFwcGluZyksbGlnaHRNYXA6ISFhLmxpZ2h0TWFwLGxpZ2h0TWFwRW5jb2Rpbmc6aChhLmxpZ2h0TWFwKSxhb01hcDohIWEuYW9NYXAsZW1pc3NpdmVNYXA6ISFhLmVtaXNzaXZlTWFwLGVtaXNzaXZlTWFwRW5jb2Rpbmc6aChhLmVtaXNzaXZlTWFwKSxidW1wTWFwOiEhYS5idW1wTWFwLG5vcm1hbE1hcDohIWEubm9ybWFsTWFwLG9iamVjdFNwYWNlTm9ybWFsTWFwOjE9PT1hLm5vcm1hbE1hcFR5cGUsdGFuZ2VudFNwYWNlTm9ybWFsTWFwOjA9PT1hLm5vcm1hbE1hcFR5cGUsY2xlYXJjb2F0TWFwOiEhYS5jbGVhcmNvYXRNYXAsY2xlYXJjb2F0Um91Z2huZXNzTWFwOiEhYS5jbGVhcmNvYXRSb3VnaG5lc3NNYXAsY2xlYXJjb2F0Tm9ybWFsTWFwOiEhYS5jbGVhcmNvYXROb3JtYWxNYXAsZGlzcGxhY2VtZW50TWFwOiEhYS5kaXNwbGFjZW1lbnRNYXAscm91Z2huZXNzTWFwOiEhYS5yb3VnaG5lc3NNYXAsbWV0YWxuZXNzTWFwOiEhYS5tZXRhbG5lc3NNYXAsc3BlY3VsYXJNYXA6ISFhLnNwZWN1bGFyTWFwLHNwZWN1bGFySW50ZW5zaXR5TWFwOiEhYS5zcGVjdWxhckludGVuc2l0eU1hcCxzcGVjdWxhclRpbnRNYXA6ISFhLnNwZWN1bGFyVGludE1hcCxzcGVjdWxhclRpbnRNYXBFbmNvZGluZzpoKGEuc3BlY3VsYXJUaW50TWFwKSxhbHBoYU1hcDohIWEuYWxwaGFNYXAsZ3JhZGllbnRNYXA6ISFhLmdyYWRpZW50TWFwLHNoZWVuOiEhYS5zaGVlbix0cmFuc21pc3Npb246ISFhLnRyYW5zbWlzc2lvbix0cmFuc21pc3Npb25NYXA6ISFhLnRyYW5zbWlzc2lvbk1hcCx0aGlja25lc3NNYXA6ISFhLnRoaWNrbmVzc01hcCxjb21iaW5lOmEuY29tYmluZSx2ZXJ0ZXhUYW5nZW50czohIWEubm9ybWFsTWFwJiYhIV8uZ2VvbWV0cnkmJiEhXy5nZW9tZXRyeS5hdHRyaWJ1dGVzLnRhbmdlbnQsdmVydGV4Q29sb3JzOmEudmVydGV4Q29sb3JzLHZlcnRleEFscGhhczohMD09PWEudmVydGV4Q29sb3JzJiYhIV8uZ2VvbWV0cnkmJiEhXy5nZW9tZXRyeS5hdHRyaWJ1dGVzLmNvbG9yJiY0PT09Xy5nZW9tZXRyeS5hdHRyaWJ1dGVzLmNvbG9yLml0ZW1TaXplLHZlcnRleFV2czohIShhLm1hcHx8YS5idW1wTWFwfHxhLm5vcm1hbE1hcHx8YS5zcGVjdWxhck1hcHx8YS5hbHBoYU1hcHx8YS5lbWlzc2l2ZU1hcHx8YS5yb3VnaG5lc3NNYXB8fGEubWV0YWxuZXNzTWFwfHxhLmNsZWFyY29hdE1hcHx8YS5jbGVhcmNvYXRSb3VnaG5lc3NNYXB8fGEuY2xlYXJjb2F0Tm9ybWFsTWFwfHxhLmRpc3BsYWNlbWVudE1hcHx8YS50cmFuc21pc3Npb25NYXB8fGEudGhpY2tuZXNzTWFwfHxhLnNwZWN1bGFySW50ZW5zaXR5TWFwfHxhLnNwZWN1bGFyVGludE1hcCksdXZzVmVydGV4T25seTohKGEubWFwfHxhLmJ1bXBNYXB8fGEubm9ybWFsTWFwfHxhLnNwZWN1bGFyTWFwfHxhLmFscGhhTWFwfHxhLmVtaXNzaXZlTWFwfHxhLnJvdWdobmVzc01hcHx8YS5tZXRhbG5lc3NNYXB8fGEuY2xlYXJjb2F0Tm9ybWFsTWFwfHxhLnRyYW5zbWlzc2lvbnx8YS50cmFuc21pc3Npb25NYXB8fGEudGhpY2tuZXNzTWFwfHxhLnNwZWN1bGFySW50ZW5zaXR5TWFwfHxhLnNwZWN1bGFyVGludE1hcHx8IWEuZGlzcGxhY2VtZW50TWFwKSxmb2c6ISFDLHVzZUZvZzphLmZvZyxmb2dFeHAyOkMmJkMuaXNGb2dFeHAyLGZsYXRTaGFkaW5nOiEhYS5mbGF0U2hhZGluZyxzaXplQXR0ZW51YXRpb246YS5zaXplQXR0ZW51YXRpb24sbG9nYXJpdGhtaWNEZXB0aEJ1ZmZlcjpjLHNraW5uaW5nOiEwPT09Xy5pc1NraW5uZWRNZXNoJiZ4PjAsbWF4Qm9uZXM6eCx1c2VWZXJ0ZXhUZXh0dXJlOmQsbW9ycGhUYXJnZXRzOiEhXy5nZW9tZXRyeSYmISFfLmdlb21ldHJ5Lm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbixtb3JwaE5vcm1hbHM6ISFfLmdlb21ldHJ5JiYhIV8uZ2VvbWV0cnkubW9ycGhBdHRyaWJ1dGVzLm5vcm1hbCxudW1EaXJMaWdodHM6cy5kaXJlY3Rpb25hbC5sZW5ndGgsbnVtUG9pbnRMaWdodHM6cy5wb2ludC5sZW5ndGgsbnVtU3BvdExpZ2h0czpzLnNwb3QubGVuZ3RoLG51bVJlY3RBcmVhTGlnaHRzOnMucmVjdEFyZWEubGVuZ3RoLG51bUhlbWlMaWdodHM6cy5oZW1pLmxlbmd0aCxudW1EaXJMaWdodFNoYWRvd3M6cy5kaXJlY3Rpb25hbFNoYWRvd01hcC5sZW5ndGgsbnVtUG9pbnRMaWdodFNoYWRvd3M6cy5wb2ludFNoYWRvd01hcC5sZW5ndGgsbnVtU3BvdExpZ2h0U2hhZG93czpzLnNwb3RTaGFkb3dNYXAubGVuZ3RoLG51bUNsaXBwaW5nUGxhbmVzOnIubnVtUGxhbmVzLG51bUNsaXBJbnRlcnNlY3Rpb246ci5udW1JbnRlcnNlY3Rpb24sZGl0aGVyaW5nOmEuZGl0aGVyaW5nLHNoYWRvd01hcEVuYWJsZWQ6dC5zaGFkb3dNYXAuZW5hYmxlZCYmZy5sZW5ndGg+MCxzaGFkb3dNYXBUeXBlOnQuc2hhZG93TWFwLnR5cGUsdG9uZU1hcHBpbmc6YS50b25lTWFwcGVkP3QudG9uZU1hcHBpbmc6MCxwaHlzaWNhbGx5Q29ycmVjdExpZ2h0czp0LnBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzLHByZW11bHRpcGxpZWRBbHBoYTphLnByZW11bHRpcGxpZWRBbHBoYSxhbHBoYVRlc3Q6YS5hbHBoYVRlc3QsZG91YmxlU2lkZWQ6Mj09PWEuc2lkZSxmbGlwU2lkZWQ6MT09PWEuc2lkZSxkZXB0aFBhY2tpbmc6dm9pZCAwIT09YS5kZXB0aFBhY2tpbmcmJmEuZGVwdGhQYWNraW5nLGluZGV4MEF0dHJpYnV0ZU5hbWU6YS5pbmRleDBBdHRyaWJ1dGVOYW1lLGV4dGVuc2lvbkRlcml2YXRpdmVzOmEuZXh0ZW5zaW9ucyYmYS5leHRlbnNpb25zLmRlcml2YXRpdmVzLGV4dGVuc2lvbkZyYWdEZXB0aDphLmV4dGVuc2lvbnMmJmEuZXh0ZW5zaW9ucy5mcmFnRGVwdGgsZXh0ZW5zaW9uRHJhd0J1ZmZlcnM6YS5leHRlbnNpb25zJiZhLmV4dGVuc2lvbnMuZHJhd0J1ZmZlcnMsZXh0ZW5zaW9uU2hhZGVyVGV4dHVyZUxPRDphLmV4dGVuc2lvbnMmJmEuZXh0ZW5zaW9ucy5zaGFkZXJUZXh0dXJlTE9ELHJlbmRlcmVyRXh0ZW5zaW9uRnJhZ0RlcHRoOmx8fG8uaGFzKCJFWFRfZnJhZ19kZXB0aCIpLHJlbmRlcmVyRXh0ZW5zaW9uRHJhd0J1ZmZlcnM6bHx8by5oYXMoIldFQkdMX2RyYXdfYnVmZmVycyIpLHJlbmRlcmVyRXh0ZW5zaW9uU2hhZGVyVGV4dHVyZUxvZDpsfHxvLmhhcygiRVhUX3NoYWRlcl90ZXh0dXJlX2xvZCIpLGN1c3RvbVByb2dyYW1DYWNoZUtleTphLmN1c3RvbVByb2dyYW1DYWNoZUtleSgpfX0sZ2V0UHJvZ3JhbUNhY2hlS2V5OmZ1bmN0aW9uIHkoZSl7Y29uc3Qgbj1bXTtpZihlLnNoYWRlcklEP24ucHVzaChlLnNoYWRlcklEKToobi5wdXNoKGUuZnJhZ21lbnRTaGFkZXIpLG4ucHVzaChlLnZlcnRleFNoYWRlcikpLHZvaWQgMCE9PWUuZGVmaW5lcylmb3IoY29uc3QgdCBpbiBlLmRlZmluZXMpbi5wdXNoKHQpLG4ucHVzaChlLmRlZmluZXNbdF0pO2lmKCExPT09ZS5pc1Jhd1NoYWRlck1hdGVyaWFsKXtmb3IobGV0IHQ9MDt0PGcubGVuZ3RoO3QrKyluLnB1c2goZVtnW3RdXSk7bi5wdXNoKHQub3V0cHV0RW5jb2RpbmcpLG4ucHVzaCh0LmdhbW1hRmFjdG9yKX1yZXR1cm4gbi5wdXNoKGUuY3VzdG9tUHJvZ3JhbUNhY2hlS2V5KSxuLmpvaW4oKX0sZ2V0VW5pZm9ybXM6ZnVuY3Rpb24gXyh0KXtjb25zdCBlPXVbdC50eXBlXTtsZXQgbjtpZihlKXtuPVRjdC5jbG9uZSgkY3RbZV0udW5pZm9ybXMpfWVsc2Ugbj10LnVuaWZvcm1zO3JldHVybiBufSxhY3F1aXJlUHJvZ3JhbTpmdW5jdGlvbiBDKGUsbil7bGV0IG87Zm9yKGxldCB0PTAsZT1zLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPXNbdF07aWYoZS5jYWNoZUtleT09PW4pe289ZSwrK28udXNlZFRpbWVzO2JyZWFrfX1yZXR1cm4gdm9pZCAwPT09byYmKG89bmV3IG1tdCh0LG4sZSxhKSxzLnB1c2gobykpLG99LHJlbGVhc2VQcm9ncmFtOmZ1bmN0aW9uIE0odCl7aWYoMD09LS10LnVzZWRUaW1lcyl7Y29uc3QgZT1zLmluZGV4T2YodCk7c1tlXT1zW3MubGVuZ3RoLTFdLHMucG9wKCksdC5kZXN0cm95KCl9fSxwcm9ncmFtczpzfX1mdW5jdGlvbiB1bXQoKXtsZXQgdD1uZXcgV2Vha01hcDtyZXR1cm57Z2V0OmZ1bmN0aW9uIGUobil7bGV0IG89dC5nZXQobik7cmV0dXJuIHZvaWQgMD09PW8mJihvPXt9LHQuc2V0KG4sbykpLG99LHJlbW92ZTpmdW5jdGlvbiBuKGUpe3QuZGVsZXRlKGUpfSx1cGRhdGU6ZnVuY3Rpb24gbyhlLG4saSl7dC5nZXQoZSlbbl09aX0sZGlzcG9zZTpmdW5jdGlvbiBpKCl7dD1uZXcgV2Vha01hcH19fWZ1bmN0aW9uIGdtdCh0LGUpe3JldHVybiB0Lmdyb3VwT3JkZXIhPT1lLmdyb3VwT3JkZXI/dC5ncm91cE9yZGVyLWUuZ3JvdXBPcmRlcjp0LnJlbmRlck9yZGVyIT09ZS5yZW5kZXJPcmRlcj90LnJlbmRlck9yZGVyLWUucmVuZGVyT3JkZXI6dC5wcm9ncmFtIT09ZS5wcm9ncmFtP3QucHJvZ3JhbS5pZC1lLnByb2dyYW0uaWQ6dC5tYXRlcmlhbC5pZCE9PWUubWF0ZXJpYWwuaWQ/dC5tYXRlcmlhbC5pZC1lLm1hdGVyaWFsLmlkOnQueiE9PWUuej90LnotZS56OnQuaWQtZS5pZH1mdW5jdGlvbiBobXQodCxlKXtyZXR1cm4gdC5ncm91cE9yZGVyIT09ZS5ncm91cE9yZGVyP3QuZ3JvdXBPcmRlci1lLmdyb3VwT3JkZXI6dC5yZW5kZXJPcmRlciE9PWUucmVuZGVyT3JkZXI/dC5yZW5kZXJPcmRlci1lLnJlbmRlck9yZGVyOnQueiE9PWUuej9lLnotdC56OnQuaWQtZS5pZH1mdW5jdGlvbiBibXQodCl7Y29uc3QgZT1bXTtsZXQgbj0wO2NvbnN0IG89W10saT1bXSxhPVtdLHI9e2lkOi0xfTtmdW5jdGlvbiBzKG8saSxhLHMsbCxjKXtsZXQgZD1lW25dO2NvbnN0IHA9dC5nZXQoYSk7cmV0dXJuIHZvaWQgMD09PWQ/KGQ9e2lkOm8uaWQsb2JqZWN0Om8sZ2VvbWV0cnk6aSxtYXRlcmlhbDphLHByb2dyYW06cC5wcm9ncmFtfHxyLGdyb3VwT3JkZXI6cyxyZW5kZXJPcmRlcjpvLnJlbmRlck9yZGVyLHo6bCxncm91cDpjfSxlW25dPWQpOihkLmlkPW8uaWQsZC5vYmplY3Q9byxkLmdlb21ldHJ5PWksZC5tYXRlcmlhbD1hLGQucHJvZ3JhbT1wLnByb2dyYW18fHIsZC5ncm91cE9yZGVyPXMsZC5yZW5kZXJPcmRlcj1vLnJlbmRlck9yZGVyLGQuej1sLGQuZ3JvdXA9YyksbisrLGR9cmV0dXJue29wYXF1ZTpvLHRyYW5zbWlzc2l2ZTppLHRyYW5zcGFyZW50OmEsaW5pdDpmdW5jdGlvbiBsKCl7bj0wLG8ubGVuZ3RoPTAsaS5sZW5ndGg9MCxhLmxlbmd0aD0wfSxwdXNoOmZ1bmN0aW9uIGModCxlLG4scixsLGQpe2NvbnN0IHA9cyh0LGUsbixyLGwsZCk7bi50cmFuc21pc3Npb24+MD9pLnB1c2gocCk6ITA9PT1uLnRyYW5zcGFyZW50P2EucHVzaChwKTpvLnB1c2gocCl9LHVuc2hpZnQ6ZnVuY3Rpb24gZCh0LGUsbixyLGwsYyl7Y29uc3QgZD1zKHQsZSxuLHIsbCxjKTtuLnRyYW5zbWlzc2lvbj4wP2kudW5zaGlmdChkKTohMD09PW4udHJhbnNwYXJlbnQ/YS51bnNoaWZ0KGQpOm8udW5zaGlmdChkKX0sZmluaXNoOmZ1bmN0aW9uIHAoKXtmb3IobGV0IHQ9bixvPWUubGVuZ3RoO3Q8bzt0Kyspe2NvbnN0IG49ZVt0XTtpZihudWxsPT09bi5pZClicmVhaztuLmlkPW51bGwsbi5vYmplY3Q9bnVsbCxuLmdlb21ldHJ5PW51bGwsbi5tYXRlcmlhbD1udWxsLG4ucHJvZ3JhbT1udWxsLG4uZ3JvdXA9bnVsbH19LHNvcnQ6ZnVuY3Rpb24gbSh0LGUpe28ubGVuZ3RoPjEmJm8uc29ydCh0fHxnbXQpLGkubGVuZ3RoPjEmJmkuc29ydChlfHxobXQpLGEubGVuZ3RoPjEmJmEuc29ydChlfHxobXQpfX19ZnVuY3Rpb24geW10KHQpe2xldCBlPW5ldyBXZWFrTWFwO3JldHVybntnZXQ6ZnVuY3Rpb24gbihvLGkpe2xldCBhO3JldHVybiExPT09ZS5oYXMobyk/KGE9bmV3IGJtdCh0KSxlLnNldChvLFthXSkpOmk+PWUuZ2V0KG8pLmxlbmd0aD8oYT1uZXcgYm10KHQpLGUuZ2V0KG8pLnB1c2goYSkpOmE9ZS5nZXQobylbaV0sYX0sZGlzcG9zZTpmdW5jdGlvbiBvKCl7ZT1uZXcgV2Vha01hcH19fWZ1bmN0aW9uIF9tdCgpe2NvbnN0IHQ9e307cmV0dXJue2dldDpmdW5jdGlvbihlKXtpZih2b2lkIDAhPT10W2UuaWRdKXJldHVybiB0W2UuaWRdO2xldCBuO3N3aXRjaChlLnR5cGUpe2Nhc2UiRGlyZWN0aW9uYWxMaWdodCI6bj17ZGlyZWN0aW9uOm5ldyB3c3QsY29sb3I6bmV3IFpsdH07YnJlYWs7Y2FzZSJTcG90TGlnaHQiOm49e3Bvc2l0aW9uOm5ldyB3c3QsZGlyZWN0aW9uOm5ldyB3c3QsY29sb3I6bmV3IFpsdCxkaXN0YW5jZTowLGNvbmVDb3M6MCxwZW51bWJyYUNvczowLGRlY2F5OjB9O2JyZWFrO2Nhc2UiUG9pbnRMaWdodCI6bj17cG9zaXRpb246bmV3IHdzdCxjb2xvcjpuZXcgWmx0LGRpc3RhbmNlOjAsZGVjYXk6MH07YnJlYWs7Y2FzZSJIZW1pc3BoZXJlTGlnaHQiOm49e2RpcmVjdGlvbjpuZXcgd3N0LHNreUNvbG9yOm5ldyBabHQsZ3JvdW5kQ29sb3I6bmV3IFpsdH07YnJlYWs7Y2FzZSJSZWN0QXJlYUxpZ2h0IjpuPXtjb2xvcjpuZXcgWmx0LHBvc2l0aW9uOm5ldyB3c3QsaGFsZldpZHRoOm5ldyB3c3QsaGFsZkhlaWdodDpuZXcgd3N0fX1yZXR1cm4gdFtlLmlkXT1uLG59fX1sZXQgQ210PTA7ZnVuY3Rpb24gTW10KHQsZSl7cmV0dXJuKGUuY2FzdFNoYWRvdz8xOjApLSh0LmNhc3RTaGFkb3c/MTowKX1mdW5jdGlvbiB2bXQodCxlKXtjb25zdCBuPW5ldyBfbXQsbz0oZnVuY3Rpb24gaSgpe2NvbnN0IHQ9e307cmV0dXJue2dldDpmdW5jdGlvbihlKXtpZih2b2lkIDAhPT10W2UuaWRdKXJldHVybiB0W2UuaWRdO2xldCBuO3N3aXRjaChlLnR5cGUpe2Nhc2UiRGlyZWN0aW9uYWxMaWdodCI6Y2FzZSJTcG90TGlnaHQiOm49e3NoYWRvd0JpYXM6MCxzaGFkb3dOb3JtYWxCaWFzOjAsc2hhZG93UmFkaXVzOjEsc2hhZG93TWFwU2l6ZTpuZXcgZ3N0fTticmVhaztjYXNlIlBvaW50TGlnaHQiOm49e3NoYWRvd0JpYXM6MCxzaGFkb3dOb3JtYWxCaWFzOjAsc2hhZG93UmFkaXVzOjEsc2hhZG93TWFwU2l6ZTpuZXcgZ3N0LHNoYWRvd0NhbWVyYU5lYXI6MSxzaGFkb3dDYW1lcmFGYXI6MWUzfX1yZXR1cm4gdFtlLmlkXT1uLG59fX0pKCksYT17dmVyc2lvbjowLGhhc2g6e2RpcmVjdGlvbmFsTGVuZ3RoOi0xLHBvaW50TGVuZ3RoOi0xLHNwb3RMZW5ndGg6LTEscmVjdEFyZWFMZW5ndGg6LTEsaGVtaUxlbmd0aDotMSxudW1EaXJlY3Rpb25hbFNoYWRvd3M6LTEsbnVtUG9pbnRTaGFkb3dzOi0xLG51bVNwb3RTaGFkb3dzOi0xfSxhbWJpZW50OlswLDAsMF0scHJvYmU6W10sZGlyZWN0aW9uYWw6W10sZGlyZWN0aW9uYWxTaGFkb3c6W10sZGlyZWN0aW9uYWxTaGFkb3dNYXA6W10sZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXg6W10sc3BvdDpbXSxzcG90U2hhZG93OltdLHNwb3RTaGFkb3dNYXA6W10sc3BvdFNoYWRvd01hdHJpeDpbXSxyZWN0QXJlYTpbXSxyZWN0QXJlYUxUQzE6bnVsbCxyZWN0QXJlYUxUQzI6bnVsbCxwb2ludDpbXSxwb2ludFNoYWRvdzpbXSxwb2ludFNoYWRvd01hcDpbXSxwb2ludFNoYWRvd01hdHJpeDpbXSxoZW1pOltdfTtmb3IobGV0IHQ9MDt0PDk7dCsrKWEucHJvYmUucHVzaChuZXcgd3N0KTtjb25zdCByPW5ldyB3c3Qscz1uZXcgb2x0LGw9bmV3IG9sdDtyZXR1cm57c2V0dXA6ZnVuY3Rpb24gYyhpKXtsZXQgcj0wLHM9MCxsPTA7Zm9yKGxldCB0PTA7dDw5O3QrKylhLnByb2JlW3RdLnNldCgwLDAsMCk7bGV0IGM9MCxkPTAscD0wLG09MCxmPTAsdT0wLGc9MCxoPTA7aS5zb3J0KE1tdCk7Zm9yKGxldCB0PTAsZT1pLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPWlbdF0sYj1lLmNvbG9yLHk9ZS5pbnRlbnNpdHksXz1lLmRpc3RhbmNlLEM9ZS5zaGFkb3cmJmUuc2hhZG93Lm1hcD9lLnNoYWRvdy5tYXAudGV4dHVyZTpudWxsO2lmKGUuaXNBbWJpZW50TGlnaHQpcis9Yi5yKnkscys9Yi5nKnksbCs9Yi5iKnk7ZWxzZSBpZihlLmlzTGlnaHRQcm9iZSlmb3IobGV0IHQ9MDt0PDk7dCsrKWEucHJvYmVbdF0uYWRkU2NhbGVkVmVjdG9yKGUuc2guY29lZmZpY2llbnRzW3RdLHkpO2Vsc2UgaWYoZS5pc0RpcmVjdGlvbmFsTGlnaHQpe2NvbnN0IHQ9bi5nZXQoZSk7aWYodC5jb2xvci5jb3B5KGUuY29sb3IpLm11bHRpcGx5U2NhbGFyKGUuaW50ZW5zaXR5KSxlLmNhc3RTaGFkb3cpe2NvbnN0IHQ9ZS5zaGFkb3csbj1vLmdldChlKTtuLnNoYWRvd0JpYXM9dC5iaWFzLG4uc2hhZG93Tm9ybWFsQmlhcz10Lm5vcm1hbEJpYXMsbi5zaGFkb3dSYWRpdXM9dC5yYWRpdXMsbi5zaGFkb3dNYXBTaXplPXQubWFwU2l6ZSxhLmRpcmVjdGlvbmFsU2hhZG93W2NdPW4sYS5kaXJlY3Rpb25hbFNoYWRvd01hcFtjXT1DLGEuZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXhbY109ZS5zaGFkb3cubWF0cml4LHUrK31hLmRpcmVjdGlvbmFsW2NdPXQsYysrfWVsc2UgaWYoZS5pc1Nwb3RMaWdodCl7Y29uc3QgdD1uLmdldChlKTtpZih0LnBvc2l0aW9uLnNldEZyb21NYXRyaXhQb3NpdGlvbihlLm1hdHJpeFdvcmxkKSx0LmNvbG9yLmNvcHkoYikubXVsdGlwbHlTY2FsYXIoeSksdC5kaXN0YW5jZT1fLHQuY29uZUNvcz1NYXRoLmNvcyhlLmFuZ2xlKSx0LnBlbnVtYnJhQ29zPU1hdGguY29zKGUuYW5nbGUqKDEtZS5wZW51bWJyYSkpLHQuZGVjYXk9ZS5kZWNheSxlLmNhc3RTaGFkb3cpe2NvbnN0IHQ9ZS5zaGFkb3csbj1vLmdldChlKTtuLnNoYWRvd0JpYXM9dC5iaWFzLG4uc2hhZG93Tm9ybWFsQmlhcz10Lm5vcm1hbEJpYXMsbi5zaGFkb3dSYWRpdXM9dC5yYWRpdXMsbi5zaGFkb3dNYXBTaXplPXQubWFwU2l6ZSxhLnNwb3RTaGFkb3dbcF09bixhLnNwb3RTaGFkb3dNYXBbcF09QyxhLnNwb3RTaGFkb3dNYXRyaXhbcF09ZS5zaGFkb3cubWF0cml4LGgrK31hLnNwb3RbcF09dCxwKyt9ZWxzZSBpZihlLmlzUmVjdEFyZWFMaWdodCl7Y29uc3QgdD1uLmdldChlKTt0LmNvbG9yLmNvcHkoYikubXVsdGlwbHlTY2FsYXIoeSksdC5oYWxmV2lkdGguc2V0KC41KmUud2lkdGgsMCwwKSx0LmhhbGZIZWlnaHQuc2V0KDAsLjUqZS5oZWlnaHQsMCksYS5yZWN0QXJlYVttXT10LG0rK31lbHNlIGlmKGUuaXNQb2ludExpZ2h0KXtjb25zdCB0PW4uZ2V0KGUpO2lmKHQuY29sb3IuY29weShlLmNvbG9yKS5tdWx0aXBseVNjYWxhcihlLmludGVuc2l0eSksdC5kaXN0YW5jZT1lLmRpc3RhbmNlLHQuZGVjYXk9ZS5kZWNheSxlLmNhc3RTaGFkb3cpe2NvbnN0IHQ9ZS5zaGFkb3csbj1vLmdldChlKTtuLnNoYWRvd0JpYXM9dC5iaWFzLG4uc2hhZG93Tm9ybWFsQmlhcz10Lm5vcm1hbEJpYXMsbi5zaGFkb3dSYWRpdXM9dC5yYWRpdXMsbi5zaGFkb3dNYXBTaXplPXQubWFwU2l6ZSxuLnNoYWRvd0NhbWVyYU5lYXI9dC5jYW1lcmEubmVhcixuLnNoYWRvd0NhbWVyYUZhcj10LmNhbWVyYS5mYXIsYS5wb2ludFNoYWRvd1tkXT1uLGEucG9pbnRTaGFkb3dNYXBbZF09QyxhLnBvaW50U2hhZG93TWF0cml4W2RdPWUuc2hhZG93Lm1hdHJpeCxnKyt9YS5wb2ludFtkXT10LGQrK31lbHNlIGlmKGUuaXNIZW1pc3BoZXJlTGlnaHQpe2NvbnN0IHQ9bi5nZXQoZSk7dC5za3lDb2xvci5jb3B5KGUuY29sb3IpLm11bHRpcGx5U2NhbGFyKHkpLHQuZ3JvdW5kQ29sb3IuY29weShlLmdyb3VuZENvbG9yKS5tdWx0aXBseVNjYWxhcih5KSxhLmhlbWlbZl09dCxmKyt9fW0+MCYmKGUuaXNXZWJHTDJ8fCEwPT09dC5oYXMoIk9FU190ZXh0dXJlX2Zsb2F0X2xpbmVhciIpPyhhLnJlY3RBcmVhTFRDMT1RY3QuTFRDX0ZMT0FUXzEsYS5yZWN0QXJlYUxUQzI9UWN0LkxUQ19GTE9BVF8yKTohMD09PXQuaGFzKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xpbmVhciIpPyhhLnJlY3RBcmVhTFRDMT1RY3QuTFRDX0hBTEZfMSxhLnJlY3RBcmVhTFRDMj1RY3QuTFRDX0hBTEZfMik6Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVW5hYmxlIHRvIHVzZSBSZWN0QXJlYUxpZ2h0LiBNaXNzaW5nIFdlYkdMIGV4dGVuc2lvbnMuIikpLGEuYW1iaWVudFswXT1yLGEuYW1iaWVudFsxXT1zLGEuYW1iaWVudFsyXT1sO2NvbnN0IGI9YS5oYXNoO2IuZGlyZWN0aW9uYWxMZW5ndGg9PT1jJiZiLnBvaW50TGVuZ3RoPT09ZCYmYi5zcG90TGVuZ3RoPT09cCYmYi5yZWN0QXJlYUxlbmd0aD09PW0mJmIuaGVtaUxlbmd0aD09PWYmJmIubnVtRGlyZWN0aW9uYWxTaGFkb3dzPT09dSYmYi5udW1Qb2ludFNoYWRvd3M9PT1nJiZiLm51bVNwb3RTaGFkb3dzPT09aHx8KGEuZGlyZWN0aW9uYWwubGVuZ3RoPWMsYS5zcG90Lmxlbmd0aD1wLGEucmVjdEFyZWEubGVuZ3RoPW0sYS5wb2ludC5sZW5ndGg9ZCxhLmhlbWkubGVuZ3RoPWYsYS5kaXJlY3Rpb25hbFNoYWRvdy5sZW5ndGg9dSxhLmRpcmVjdGlvbmFsU2hhZG93TWFwLmxlbmd0aD11LGEucG9pbnRTaGFkb3cubGVuZ3RoPWcsYS5wb2ludFNoYWRvd01hcC5sZW5ndGg9ZyxhLnNwb3RTaGFkb3cubGVuZ3RoPWgsYS5zcG90U2hhZG93TWFwLmxlbmd0aD1oLGEuZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXgubGVuZ3RoPXUsYS5wb2ludFNoYWRvd01hdHJpeC5sZW5ndGg9ZyxhLnNwb3RTaGFkb3dNYXRyaXgubGVuZ3RoPWgsYi5kaXJlY3Rpb25hbExlbmd0aD1jLGIucG9pbnRMZW5ndGg9ZCxiLnNwb3RMZW5ndGg9cCxiLnJlY3RBcmVhTGVuZ3RoPW0sYi5oZW1pTGVuZ3RoPWYsYi5udW1EaXJlY3Rpb25hbFNoYWRvd3M9dSxiLm51bVBvaW50U2hhZG93cz1nLGIubnVtU3BvdFNoYWRvd3M9aCxhLnZlcnNpb249Q210KyspfSxzZXR1cFZpZXc6ZnVuY3Rpb24gZCh0LGUpe2xldCBuPTAsbz0wLGk9MCxjPTAsZD0wO2NvbnN0IHA9ZS5tYXRyaXhXb3JsZEludmVyc2U7Zm9yKGxldCBlPTAsbT10Lmxlbmd0aDtlPG07ZSsrKXtjb25zdCBtPXRbZV07aWYobS5pc0RpcmVjdGlvbmFsTGlnaHQpe2NvbnN0IHQ9YS5kaXJlY3Rpb25hbFtuXTt0LmRpcmVjdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24obS5tYXRyaXhXb3JsZCksci5zZXRGcm9tTWF0cml4UG9zaXRpb24obS50YXJnZXQubWF0cml4V29ybGQpLHQuZGlyZWN0aW9uLnN1YihyKSx0LmRpcmVjdGlvbi50cmFuc2Zvcm1EaXJlY3Rpb24ocCksbisrfWVsc2UgaWYobS5pc1Nwb3RMaWdodCl7Y29uc3QgdD1hLnNwb3RbaV07dC5wb3NpdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24obS5tYXRyaXhXb3JsZCksdC5wb3NpdGlvbi5hcHBseU1hdHJpeDQocCksdC5kaXJlY3Rpb24uc2V0RnJvbU1hdHJpeFBvc2l0aW9uKG0ubWF0cml4V29ybGQpLHIuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKG0udGFyZ2V0Lm1hdHJpeFdvcmxkKSx0LmRpcmVjdGlvbi5zdWIociksdC5kaXJlY3Rpb24udHJhbnNmb3JtRGlyZWN0aW9uKHApLGkrK31lbHNlIGlmKG0uaXNSZWN0QXJlYUxpZ2h0KXtjb25zdCB0PWEucmVjdEFyZWFbY107dC5wb3NpdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24obS5tYXRyaXhXb3JsZCksdC5wb3NpdGlvbi5hcHBseU1hdHJpeDQocCksbC5pZGVudGl0eSgpLHMuY29weShtLm1hdHJpeFdvcmxkKSxzLnByZW11bHRpcGx5KHApLGwuZXh0cmFjdFJvdGF0aW9uKHMpLHQuaGFsZldpZHRoLnNldCguNSptLndpZHRoLDAsMCksdC5oYWxmSGVpZ2h0LnNldCgwLC41Km0uaGVpZ2h0LDApLHQuaGFsZldpZHRoLmFwcGx5TWF0cml4NChsKSx0LmhhbGZIZWlnaHQuYXBwbHlNYXRyaXg0KGwpLGMrK31lbHNlIGlmKG0uaXNQb2ludExpZ2h0KXtjb25zdCB0PWEucG9pbnRbb107dC5wb3NpdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24obS5tYXRyaXhXb3JsZCksdC5wb3NpdGlvbi5hcHBseU1hdHJpeDQocCksbysrfWVsc2UgaWYobS5pc0hlbWlzcGhlcmVMaWdodCl7Y29uc3QgdD1hLmhlbWlbZF07dC5kaXJlY3Rpb24uc2V0RnJvbU1hdHJpeFBvc2l0aW9uKG0ubWF0cml4V29ybGQpLHQuZGlyZWN0aW9uLnRyYW5zZm9ybURpcmVjdGlvbihwKSx0LmRpcmVjdGlvbi5ub3JtYWxpemUoKSxkKyt9fX0sc3RhdGU6YX19ZnVuY3Rpb24geG10KHQsZSl7Y29uc3Qgbj1uZXcgdm10KHQsZSksbz1bXSxpPVtdO3JldHVybntpbml0OmZ1bmN0aW9uIGEoKXtvLmxlbmd0aD0wLGkubGVuZ3RoPTB9LHN0YXRlOntsaWdodHNBcnJheTpvLHNoYWRvd3NBcnJheTppLGxpZ2h0czpufSxzZXR1cExpZ2h0czpmdW5jdGlvbiByKCl7bi5zZXR1cChvKX0sc2V0dXBMaWdodHNWaWV3OmZ1bmN0aW9uIHModCl7bi5zZXR1cFZpZXcobyx0KX0scHVzaExpZ2h0OmZ1bmN0aW9uIGwodCl7by5wdXNoKHQpfSxwdXNoU2hhZG93OmZ1bmN0aW9uIGModCl7aS5wdXNoKHQpfX19ZnVuY3Rpb24gT210KHQsZSl7bGV0IG49bmV3IFdlYWtNYXA7cmV0dXJue2dldDpmdW5jdGlvbiBvKGksYT0wKXtsZXQgcjtyZXR1cm4hMT09PW4uaGFzKGkpPyhyPW5ldyB4bXQodCxlKSxuLnNldChpLFtyXSkpOmE+PW4uZ2V0KGkpLmxlbmd0aD8ocj1uZXcgeG10KHQsZSksbi5nZXQoaSkucHVzaChyKSk6cj1uLmdldChpKVthXSxyfSxkaXNwb3NlOmZ1bmN0aW9uIGkoKXtuPW5ldyBXZWFrTWFwfX19Y2xhc3MgUG10IGV4dGVuZHMgVmx0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJNZXNoRGVwdGhNYXRlcmlhbCIsdGhpcy5kZXB0aFBhY2tpbmc9MzIwMCx0aGlzLm1hcD1udWxsLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9MSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9MCx0aGlzLndpcmVmcmFtZT0hMSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xLHRoaXMuZm9nPSExLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5kZXB0aFBhY2tpbmc9dC5kZXB0aFBhY2tpbmcsdGhpcy5tYXA9dC5tYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZGlzcGxhY2VtZW50TWFwPXQuZGlzcGxhY2VtZW50TWFwLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9dC5kaXNwbGFjZW1lbnRTY2FsZSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9dC5kaXNwbGFjZW1lbnRCaWFzLHRoaXMud2lyZWZyYW1lPXQud2lyZWZyYW1lLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPXQud2lyZWZyYW1lTGluZXdpZHRoLHRoaXN9fVBtdC5wcm90b3R5cGUuaXNNZXNoRGVwdGhNYXRlcmlhbD0hMDtjbGFzcyB3bXQgZXh0ZW5kcyBWbHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9Ik1lc2hEaXN0YW5jZU1hdGVyaWFsIix0aGlzLnJlZmVyZW5jZVBvc2l0aW9uPW5ldyB3c3QsdGhpcy5uZWFyRGlzdGFuY2U9MSx0aGlzLmZhckRpc3RhbmNlPTFlMyx0aGlzLm1hcD1udWxsLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9MSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9MCx0aGlzLmZvZz0hMSx0aGlzLnNldFZhbHVlcyh0KX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMucmVmZXJlbmNlUG9zaXRpb24uY29weSh0LnJlZmVyZW5jZVBvc2l0aW9uKSx0aGlzLm5lYXJEaXN0YW5jZT10Lm5lYXJEaXN0YW5jZSx0aGlzLmZhckRpc3RhbmNlPXQuZmFyRGlzdGFuY2UsdGhpcy5tYXA9dC5tYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZGlzcGxhY2VtZW50TWFwPXQuZGlzcGxhY2VtZW50TWFwLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9dC5kaXNwbGFjZW1lbnRTY2FsZSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9dC5kaXNwbGFjZW1lbnRCaWFzLHRoaXN9fXdtdC5wcm90b3R5cGUuaXNNZXNoRGlzdGFuY2VNYXRlcmlhbD0hMDtmdW5jdGlvbiBrbXQodCxlLG4pe2xldCBvPW5ldyBxY3Q7Y29uc3QgaT1uZXcgZ3N0LGE9bmV3IGdzdCxyPW5ldyB2c3Qscz1uZXcgUG10KHtkZXB0aFBhY2tpbmc6MzIwMX0pLGw9bmV3IHdtdCxjPXt9LGQ9bi5tYXhUZXh0dXJlU2l6ZSxwPXswOjEsMTowLDI6Mn0sbT1uZXcgTmN0KHtkZWZpbmVzOntTQU1QTEVfUkFURToyLzgsSEFMRl9TQU1QTEVfUkFURToxLzh9LHVuaWZvcm1zOntzaGFkb3dfcGFzczp7dmFsdWU6bnVsbH0scmVzb2x1dGlvbjp7dmFsdWU6bmV3IGdzdH0scmFkaXVzOnt2YWx1ZTo0fX0sdmVydGV4U2hhZGVyOiJ2b2lkIG1haW4oKSB7XG5cdGdsX1Bvc2l0aW9uID0gdmVjNCggcG9zaXRpb24sIDEuMCApO1xufSIsZnJhZ21lbnRTaGFkZXI6InVuaWZvcm0gc2FtcGxlcjJEIHNoYWRvd19wYXNzO1xudW5pZm9ybSB2ZWMyIHJlc29sdXRpb247XG51bmlmb3JtIGZsb2F0IHJhZGl1cztcbiNpbmNsdWRlIDxwYWNraW5nPlxudm9pZCBtYWluKCkge1xuXHRmbG9hdCBtZWFuID0gMC4wO1xuXHRmbG9hdCBzcXVhcmVkX21lYW4gPSAwLjA7XG5cdGZsb2F0IGRlcHRoID0gdW5wYWNrUkdCQVRvRGVwdGgoIHRleHR1cmUyRCggc2hhZG93X3Bhc3MsICggZ2xfRnJhZ0Nvb3JkLnh5ICkgLyByZXNvbHV0aW9uICkgKTtcblx0Zm9yICggZmxvYXQgaSA9IC0xLjA7IGkgPCAxLjAgOyBpICs9IFNBTVBMRV9SQVRFKSB7XG5cdFx0I2lmZGVmIEhPUklaT05UQUxfUEFTU1xuXHRcdFx0dmVjMiBkaXN0cmlidXRpb24gPSB1bnBhY2tSR0JBVG8ySGFsZiggdGV4dHVyZTJEKCBzaGFkb3dfcGFzcywgKCBnbF9GcmFnQ29vcmQueHkgKyB2ZWMyKCBpLCAwLjAgKSAqIHJhZGl1cyApIC8gcmVzb2x1dGlvbiApICk7XG5cdFx0XHRtZWFuICs9IGRpc3RyaWJ1dGlvbi54O1xuXHRcdFx0c3F1YXJlZF9tZWFuICs9IGRpc3RyaWJ1dGlvbi55ICogZGlzdHJpYnV0aW9uLnkgKyBkaXN0cmlidXRpb24ueCAqIGRpc3RyaWJ1dGlvbi54O1xuXHRcdCNlbHNlXG5cdFx0XHRmbG9hdCBkZXB0aCA9IHVucGFja1JHQkFUb0RlcHRoKCB0ZXh0dXJlMkQoIHNoYWRvd19wYXNzLCAoIGdsX0ZyYWdDb29yZC54eSArIHZlYzIoIDAuMCwgaSApICogcmFkaXVzICkgLyByZXNvbHV0aW9uICkgKTtcblx0XHRcdG1lYW4gKz0gZGVwdGg7XG5cdFx0XHRzcXVhcmVkX21lYW4gKz0gZGVwdGggKiBkZXB0aDtcblx0XHQjZW5kaWZcblx0fVxuXHRtZWFuID0gbWVhbiAqIEhBTEZfU0FNUExFX1JBVEU7XG5cdHNxdWFyZWRfbWVhbiA9IHNxdWFyZWRfbWVhbiAqIEhBTEZfU0FNUExFX1JBVEU7XG5cdGZsb2F0IHN0ZF9kZXYgPSBzcXJ0KCBzcXVhcmVkX21lYW4gLSBtZWFuICogbWVhbiApO1xuXHRnbF9GcmFnQ29sb3IgPSBwYWNrMkhhbGZUb1JHQkEoIHZlYzIoIG1lYW4sIHN0ZF9kZXYgKSApO1xufSJ9KSxmPW0uY2xvbmUoKTtmLmRlZmluZXMuSE9SSVpPTlRBTF9QQVNTPTE7Y29uc3QgdT1uZXcgZGN0O3Uuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IFFsdChuZXcgRmxvYXQzMkFycmF5KFstMSwtMSwuNSwzLC0xLC41LC0xLDMsLjVdKSwzKSk7Y29uc3QgZz1uZXcgU2N0KHUsbSksaD10aGlzO2Z1bmN0aW9uIGIobixvKXtjb25zdCBpPWUudXBkYXRlKGcpO20udW5pZm9ybXMuc2hhZG93X3Bhc3MudmFsdWU9bi5tYXAudGV4dHVyZSxtLnVuaWZvcm1zLnJlc29sdXRpb24udmFsdWU9bi5tYXBTaXplLG0udW5pZm9ybXMucmFkaXVzLnZhbHVlPW4ucmFkaXVzLHQuc2V0UmVuZGVyVGFyZ2V0KG4ubWFwUGFzcyksdC5jbGVhcigpLHQucmVuZGVyQnVmZmVyRGlyZWN0KG8sbnVsbCxpLG0sZyxudWxsKSxmLnVuaWZvcm1zLnNoYWRvd19wYXNzLnZhbHVlPW4ubWFwUGFzcy50ZXh0dXJlLGYudW5pZm9ybXMucmVzb2x1dGlvbi52YWx1ZT1uLm1hcFNpemUsZi51bmlmb3Jtcy5yYWRpdXMudmFsdWU9bi5yYWRpdXMsdC5zZXRSZW5kZXJUYXJnZXQobi5tYXApLHQuY2xlYXIoKSx0LnJlbmRlckJ1ZmZlckRpcmVjdChvLG51bGwsaSxmLGcsbnVsbCl9ZnVuY3Rpb24geShlLG4sbyxpLGEscixkKXtsZXQgbT1udWxsO2NvbnN0IGY9ITA9PT1pLmlzUG9pbnRMaWdodD9lLmN1c3RvbURpc3RhbmNlTWF0ZXJpYWw6ZS5jdXN0b21EZXB0aE1hdGVyaWFsO2lmKG09dm9pZCAwIT09Zj9mOiEwPT09aS5pc1BvaW50TGlnaHQ/bDpzLHQubG9jYWxDbGlwcGluZ0VuYWJsZWQmJiEwPT09by5jbGlwU2hhZG93cyYmMCE9PW8uY2xpcHBpbmdQbGFuZXMubGVuZ3RoKXtjb25zdCB0PW0udXVpZCxlPW8udXVpZDtsZXQgbj1jW3RdO3ZvaWQgMD09PW4mJihuPXt9LGNbdF09bik7bGV0IGk9bltlXTt2b2lkIDA9PT1pJiYoaT1tLmNsb25lKCksbltlXT1pKSxtPWl9cmV0dXJuIG0udmlzaWJsZT1vLnZpc2libGUsbS53aXJlZnJhbWU9by53aXJlZnJhbWUsbS5zaWRlPTM9PT1kP251bGwhPT1vLnNoYWRvd1NpZGU/by5zaGFkb3dTaWRlOm8uc2lkZTpudWxsIT09by5zaGFkb3dTaWRlP28uc2hhZG93U2lkZTpwW28uc2lkZV0sbS5jbGlwU2hhZG93cz1vLmNsaXBTaGFkb3dzLG0uY2xpcHBpbmdQbGFuZXM9by5jbGlwcGluZ1BsYW5lcyxtLmNsaXBJbnRlcnNlY3Rpb249by5jbGlwSW50ZXJzZWN0aW9uLG0ud2lyZWZyYW1lTGluZXdpZHRoPW8ud2lyZWZyYW1lTGluZXdpZHRoLG0ubGluZXdpZHRoPW8ubGluZXdpZHRoLCEwPT09aS5pc1BvaW50TGlnaHQmJiEwPT09bS5pc01lc2hEaXN0YW5jZU1hdGVyaWFsJiYobS5yZWZlcmVuY2VQb3NpdGlvbi5zZXRGcm9tTWF0cml4UG9zaXRpb24oaS5tYXRyaXhXb3JsZCksbS5uZWFyRGlzdGFuY2U9YSxtLmZhckRpc3RhbmNlPXIpLG19ZnVuY3Rpb24gXyhuLGksYSxyLHMpe2lmKCExPT09bi52aXNpYmxlKXJldHVybjtpZihuLmxheWVycy50ZXN0KGkubGF5ZXJzKSYmKG4uaXNNZXNofHxuLmlzTGluZXx8bi5pc1BvaW50cykmJihuLmNhc3RTaGFkb3d8fG4ucmVjZWl2ZVNoYWRvdyYmMz09PXMpJiYoIW4uZnJ1c3R1bUN1bGxlZHx8by5pbnRlcnNlY3RzT2JqZWN0KG4pKSl7bi5tb2RlbFZpZXdNYXRyaXgubXVsdGlwbHlNYXRyaWNlcyhhLm1hdHJpeFdvcmxkSW52ZXJzZSxuLm1hdHJpeFdvcmxkKTtjb25zdCBvPWUudXBkYXRlKG4pLGk9bi5tYXRlcmlhbDtpZihBcnJheS5pc0FycmF5KGkpKXtjb25zdCBlPW8uZ3JvdXBzO2ZvcihsZXQgbD0wLGM9ZS5sZW5ndGg7bDxjO2wrKyl7Y29uc3QgYz1lW2xdLGQ9aVtjLm1hdGVyaWFsSW5kZXhdO2lmKGQmJmQudmlzaWJsZSl7Y29uc3QgZT15KG4sMCxkLHIsYS5uZWFyLGEuZmFyLHMpO3QucmVuZGVyQnVmZmVyRGlyZWN0KGEsbnVsbCxvLGUsbixjKX19fWVsc2UgaWYoaS52aXNpYmxlKXtjb25zdCBlPXkobiwwLGkscixhLm5lYXIsYS5mYXIscyk7dC5yZW5kZXJCdWZmZXJEaXJlY3QoYSxudWxsLG8sZSxuLG51bGwpfX1jb25zdCBsPW4uY2hpbGRyZW47Zm9yKGxldCB0PTAsZT1sLmxlbmd0aDt0PGU7dCsrKV8obFt0XSxpLGEscixzKX10aGlzLmVuYWJsZWQ9ITEsdGhpcy5hdXRvVXBkYXRlPSEwLHRoaXMubmVlZHNVcGRhdGU9ITEsdGhpcy50eXBlPTEsdGhpcy5yZW5kZXI9ZnVuY3Rpb24oZSxuLHMpe2lmKCExPT09aC5lbmFibGVkKXJldHVybjtpZighMT09PWguYXV0b1VwZGF0ZSYmITE9PT1oLm5lZWRzVXBkYXRlKXJldHVybjtpZigwPT09ZS5sZW5ndGgpcmV0dXJuO2NvbnN0IGw9dC5nZXRSZW5kZXJUYXJnZXQoKSxjPXQuZ2V0QWN0aXZlQ3ViZUZhY2UoKSxwPXQuZ2V0QWN0aXZlTWlwbWFwTGV2ZWwoKSxtPXQuc3RhdGU7bS5zZXRCbGVuZGluZygwKSxtLmJ1ZmZlcnMuY29sb3Iuc2V0Q2xlYXIoMSwxLDEsMSksbS5idWZmZXJzLmRlcHRoLnNldFRlc3QoITApLG0uc2V0U2Npc3NvclRlc3QoITEpO2ZvcihsZXQgbD0wLGM9ZS5sZW5ndGg7bDxjO2wrKyl7Y29uc3QgYz1lW2xdLHA9Yy5zaGFkb3c7aWYodm9pZCAwPT09cCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFNoYWRvd01hcDoiLGMsImhhcyBubyBzaGFkb3cuIik7Y29udGludWV9aWYoITE9PT1wLmF1dG9VcGRhdGUmJiExPT09cC5uZWVkc1VwZGF0ZSljb250aW51ZTtpLmNvcHkocC5tYXBTaXplKTtjb25zdCBmPXAuZ2V0RnJhbWVFeHRlbnRzKCk7aWYoaS5tdWx0aXBseShmKSxhLmNvcHkocC5tYXBTaXplKSwoaS54PmR8fGkueT5kKSYmKGkueD5kJiYoYS54PU1hdGguZmxvb3IoZC9mLngpLGkueD1hLngqZi54LHAubWFwU2l6ZS54PWEueCksaS55PmQmJihhLnk9TWF0aC5mbG9vcihkL2YueSksaS55PWEueSpmLnkscC5tYXBTaXplLnk9YS55KSksbnVsbD09PXAubWFwJiYhcC5pc1BvaW50TGlnaHRTaGFkb3cmJjM9PT10aGlzLnR5cGUpe2NvbnN0IHQ9e21pbkZpbHRlcjpUcnQsbWFnRmlsdGVyOlRydCxmb3JtYXQ6anJ0fTtwLm1hcD1uZXcgeHN0KGkueCxpLnksdCkscC5tYXAudGV4dHVyZS5uYW1lPWMubmFtZSsiLnNoYWRvd01hcCIscC5tYXBQYXNzPW5ldyB4c3QoaS54LGkueSx0KSxwLmNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCl9aWYobnVsbD09PXAubWFwKXtwLm1hcD1uZXcgeHN0KGkueCxpLnkse21pbkZpbHRlcjpBcnQsbWFnRmlsdGVyOkFydCxmb3JtYXQ6anJ0fSkscC5tYXAudGV4dHVyZS5uYW1lPWMubmFtZSsiLnNoYWRvd01hcCIscC5jYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfXQuc2V0UmVuZGVyVGFyZ2V0KHAubWFwKSx0LmNsZWFyKCk7Y29uc3QgdT1wLmdldFZpZXdwb3J0Q291bnQoKTtmb3IobGV0IHQ9MDt0PHU7dCsrKXtjb25zdCBlPXAuZ2V0Vmlld3BvcnQodCk7ci5zZXQoYS54KmUueCxhLnkqZS55LGEueCplLnosYS55KmUudyksbS52aWV3cG9ydChyKSxwLnVwZGF0ZU1hdHJpY2VzKGMsdCksbz1wLmdldEZydXN0dW0oKSxfKG4scyxwLmNhbWVyYSxjLHRoaXMudHlwZSl9cC5pc1BvaW50TGlnaHRTaGFkb3d8fDMhPT10aGlzLnR5cGV8fGIocCxzKSxwLm5lZWRzVXBkYXRlPSExfWgubmVlZHNVcGRhdGU9ITEsdC5zZXRSZW5kZXJUYXJnZXQobCxjLHApfX1mdW5jdGlvbiBTbXQodCxlLG4pe2NvbnN0IG89bi5pc1dlYkdMMjtjb25zdCBpPW5ldyhmdW5jdGlvbiBhKCl7bGV0IGU9ITE7Y29uc3Qgbj1uZXcgdnN0O2xldCBvPW51bGw7Y29uc3QgaT1uZXcgdnN0KDAsMCwwLDApO3JldHVybntzZXRNYXNrOmZ1bmN0aW9uKG4pe289PT1ufHxlfHwodC5jb2xvck1hc2sobixuLG4sbiksbz1uKX0sc2V0TG9ja2VkOmZ1bmN0aW9uKHQpe2U9dH0sc2V0Q2xlYXI6ZnVuY3Rpb24oZSxvLGEscixzKXshMD09PXMmJihlKj1yLG8qPXIsYSo9ciksbi5zZXQoZSxvLGEsciksITE9PT1pLmVxdWFscyhuKSYmKHQuY2xlYXJDb2xvcihlLG8sYSxyKSxpLmNvcHkobikpfSxyZXNldDpmdW5jdGlvbigpe2U9ITEsbz1udWxsLGkuc2V0KC0xLDAsMCwwKX19fSkscj1uZXcoZnVuY3Rpb24gcygpe2xldCBlPSExLG49bnVsbCxvPW51bGwsaT1udWxsO3JldHVybntzZXRUZXN0OmZ1bmN0aW9uKHQpe3Q/QigyOTI5KTpWKDI5MjkpfSxzZXRNYXNrOmZ1bmN0aW9uKG8pe249PT1vfHxlfHwodC5kZXB0aE1hc2sobyksbj1vKX0sc2V0RnVuYzpmdW5jdGlvbihlKXtpZihvIT09ZSl7aWYoZSlzd2l0Y2goZSl7Y2FzZSAwOnQuZGVwdGhGdW5jKDUxMik7YnJlYWs7Y2FzZSAxOnQuZGVwdGhGdW5jKDUxOSk7YnJlYWs7Y2FzZSAyOnQuZGVwdGhGdW5jKDUxMyk7YnJlYWs7Y2FzZSAzOnQuZGVwdGhGdW5jKDUxNSk7YnJlYWs7Y2FzZSA0OnQuZGVwdGhGdW5jKDUxNCk7YnJlYWs7Y2FzZSA1OnQuZGVwdGhGdW5jKDUxOCk7YnJlYWs7Y2FzZSA2OnQuZGVwdGhGdW5jKDUxNik7YnJlYWs7Y2FzZSA3OnQuZGVwdGhGdW5jKDUxNyk7YnJlYWs7ZGVmYXVsdDp0LmRlcHRoRnVuYyg1MTUpfWVsc2UgdC5kZXB0aEZ1bmMoNTE1KTtvPWV9fSxzZXRMb2NrZWQ6ZnVuY3Rpb24odCl7ZT10fSxzZXRDbGVhcjpmdW5jdGlvbihlKXtpIT09ZSYmKHQuY2xlYXJEZXB0aChlKSxpPWUpfSxyZXNldDpmdW5jdGlvbigpe2U9ITEsbj1udWxsLG89bnVsbCxpPW51bGx9fX0pLGw9bmV3KGZ1bmN0aW9uIGMoKXtsZXQgZT0hMSxuPW51bGwsbz1udWxsLGk9bnVsbCxhPW51bGwscj1udWxsLHM9bnVsbCxsPW51bGwsYz1udWxsO3JldHVybntzZXRUZXN0OmZ1bmN0aW9uKHQpe2V8fCh0P0IoMjk2MCk6VigyOTYwKSl9LHNldE1hc2s6ZnVuY3Rpb24obyl7bj09PW98fGV8fCh0LnN0ZW5jaWxNYXNrKG8pLG49byl9LHNldEZ1bmM6ZnVuY3Rpb24oZSxuLHIpe289PT1lJiZpPT09biYmYT09PXJ8fCh0LnN0ZW5jaWxGdW5jKGUsbixyKSxvPWUsaT1uLGE9cil9LHNldE9wOmZ1bmN0aW9uKGUsbixvKXtyPT09ZSYmcz09PW4mJmw9PT1vfHwodC5zdGVuY2lsT3AoZSxuLG8pLHI9ZSxzPW4sbD1vKX0sc2V0TG9ja2VkOmZ1bmN0aW9uKHQpe2U9dH0sc2V0Q2xlYXI6ZnVuY3Rpb24oZSl7YyE9PWUmJih0LmNsZWFyU3RlbmNpbChlKSxjPWUpfSxyZXNldDpmdW5jdGlvbigpe2U9ITEsbj1udWxsLG89bnVsbCxpPW51bGwsYT1udWxsLHI9bnVsbCxzPW51bGwsbD1udWxsLGM9bnVsbH19fSk7bGV0IGQ9e30scD1udWxsLG09e30sZj1udWxsLHU9ITEsZz1udWxsLGg9bnVsbCxiPW51bGwseT1udWxsLF89bnVsbCxDPW51bGwsTT1udWxsLHY9ITEseD1udWxsLE89bnVsbCxQPW51bGwsdz1udWxsLGs9bnVsbDtjb25zdCBTPXQuZ2V0UGFyYW1ldGVyKDM1NjYxKTtsZXQgRD0hMSxSPTA7Y29uc3QgRT10LmdldFBhcmFtZXRlcig3OTM4KTstMSE9PUUuaW5kZXhPZigiV2ViR0wiKT8oUj1wYXJzZUZsb2F0KC9eV2ViR0wgKFxkKS8uZXhlYyhFKVsxXSksRD1SPj0xKTotMSE9PUUuaW5kZXhPZigiT3BlbkdMIEVTIikmJihSPXBhcnNlRmxvYXQoL15PcGVuR0wgRVMgKFxkKS8uZXhlYyhFKVsxXSksRD1SPj0yKTtsZXQgQT1udWxsLFQ9e307Y29uc3QgTj10LmdldFBhcmFtZXRlcigzMDg4KSx6PXQuZ2V0UGFyYW1ldGVyKDI5NzgpLEk9KG5ldyB2c3QpLmZyb21BcnJheShOKSxIPShuZXcgdnN0KS5mcm9tQXJyYXkoeik7ZnVuY3Rpb24gRihlLG4sbyl7Y29uc3QgaT1uZXcgVWludDhBcnJheSg0KSxhPXQuY3JlYXRlVGV4dHVyZSgpO3QuYmluZFRleHR1cmUoZSxhKSx0LnRleFBhcmFtZXRlcmkoZSwxMDI0MSw5NzI4KSx0LnRleFBhcmFtZXRlcmkoZSwxMDI0MCw5NzI4KTtmb3IobGV0IGU9MDtlPG87ZSsrKXQudGV4SW1hZ2UyRChuK2UsMCw2NDA4LDEsMSwwLDY0MDgsNTEyMSxpKTtyZXR1cm4gYX1jb25zdCBMPXt9O2Z1bmN0aW9uIEIoZSl7ITAhPT1kW2VdJiYodC5lbmFibGUoZSksZFtlXT0hMCl9ZnVuY3Rpb24gVihlKXshMSE9PWRbZV0mJih0LmRpc2FibGUoZSksZFtlXT0hMSl9TFszNTUzXT1GKDM1NTMsMzU1MywxKSxMWzM0MDY3XT1GKDM0MDY3LDM0MDY5LDYpLGkuc2V0Q2xlYXIoMCwwLDAsMSksci5zZXRDbGVhcigxKSxsLnNldENsZWFyKDApLEIoMjkyOSksci5zZXRGdW5jKDMpLEcoITEpLFkoMSksQigyODg0KSxXKDApO2NvbnN0IGo9e1tQcnRdOjMyNzc0LDEwMTozMjc3OCwxMDI6MzI3Nzl9O2lmKG8palsxMDNdPTMyNzc1LGpbMTA0XT0zMjc3NjtlbHNle2NvbnN0IHQ9ZS5nZXQoIkVYVF9ibGVuZF9taW5tYXgiKTtudWxsIT09dCYmKGpbMTAzXT10Lk1JTl9FWFQsalsxMDRdPXQuTUFYX0VYVCl9Y29uc3QgVT17MjAwOjAsMjAxOjEsMjAyOjc2OCwyMDQ6NzcwLDIxMDo3NzYsMjA4Ojc3NCwyMDY6NzcyLDIwMzo3NjksMjA1Ojc3MSwyMDk6Nzc1LDIwNzo3NzN9O2Z1bmN0aW9uIFcoZSxuLG8saSxhLHIscyxsKXtpZigwIT09ZSl7aWYoITE9PT11JiYoQigzMDQyKSx1PSEwKSw1PT09ZSlhPWF8fG4scj1yfHxvLHM9c3x8aSxuPT09aCYmYT09PV98fCh0LmJsZW5kRXF1YXRpb25TZXBhcmF0ZShqW25dLGpbYV0pLGg9bixfPWEpLG89PT1iJiZpPT09eSYmcj09PUMmJnM9PT1NfHwodC5ibGVuZEZ1bmNTZXBhcmF0ZShVW29dLFVbaV0sVVtyXSxVW3NdKSxiPW8seT1pLEM9cixNPXMpLGc9ZSx2PW51bGw7ZWxzZSBpZihlIT09Z3x8bCE9PXYpe2lmKGg9PT1QcnQmJl89PT1QcnR8fCh0LmJsZW5kRXF1YXRpb24oMzI3NzQpLGg9UHJ0LF89UHJ0KSxsKXN3aXRjaChlKXtjYXNlIDE6dC5ibGVuZEZ1bmNTZXBhcmF0ZSgxLDc3MSwxLDc3MSk7YnJlYWs7Y2FzZSAyOnQuYmxlbmRGdW5jKDEsMSk7YnJlYWs7Y2FzZSAzOnQuYmxlbmRGdW5jU2VwYXJhdGUoMCwwLDc2OSw3NzEpO2JyZWFrO2Nhc2UgNDp0LmJsZW5kRnVuY1NlcGFyYXRlKDAsNzY4LDAsNzcwKTticmVhaztkZWZhdWx0OmNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMU3RhdGU6IEludmFsaWQgYmxlbmRpbmc6ICIsZSl9ZWxzZSBzd2l0Y2goZSl7Y2FzZSAxOnQuYmxlbmRGdW5jU2VwYXJhdGUoNzcwLDc3MSwxLDc3MSk7YnJlYWs7Y2FzZSAyOnQuYmxlbmRGdW5jKDc3MCwxKTticmVhaztjYXNlIDM6dC5ibGVuZEZ1bmMoMCw3NjkpO2JyZWFrO2Nhc2UgNDp0LmJsZW5kRnVuYygwLDc2OCk7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFN0YXRlOiBJbnZhbGlkIGJsZW5kaW5nOiAiLGUpfWI9bnVsbCx5PW51bGwsQz1udWxsLE09bnVsbCxnPWUsdj1sfX1lbHNlITA9PT11JiYoVigzMDQyKSx1PSExKX1mdW5jdGlvbiBHKGUpe3ghPT1lJiYodC5mcm9udEZhY2UoZT8yMzA0OjIzMDUpLHg9ZSl9ZnVuY3Rpb24gWShlKXswIT09ZT8oQigyODg0KSxlIT09TyYmdC5jdWxsRmFjZSgxPT09ZT8xMDI5OjI9PT1lPzEwMjg6MTAzMikpOlYoMjg4NCksTz1lfWZ1bmN0aW9uIHEoZSxuLG8pe2U/KEIoMzI4MjMpLHc9PT1uJiZrPT09b3x8KHQucG9seWdvbk9mZnNldChuLG8pLHc9bixrPW8pKTpWKDMyODIzKX1mdW5jdGlvbiBaKGUpe3ZvaWQgMD09PWUmJihlPTMzOTg0K1MtMSksQSE9PWUmJih0LmFjdGl2ZVRleHR1cmUoZSksQT1lKX1yZXR1cm57YnVmZmVyczp7Y29sb3I6aSxkZXB0aDpyLHN0ZW5jaWw6bH0sZW5hYmxlOkIsZGlzYWJsZTpWLGJpbmRGcmFtZWJ1ZmZlcjpmdW5jdGlvbiBYKGUsbil7cmV0dXJuIG51bGw9PT1uJiZudWxsIT09cCYmKG49cCksbVtlXSE9PW4mJih0LmJpbmRGcmFtZWJ1ZmZlcihlLG4pLG1bZV09bixvJiYoMzYwMDk9PT1lJiYobVszNjE2MF09biksMzYxNjA9PT1lJiYobVszNjAwOV09bikpLCEwKX0sYmluZFhSRnJhbWVidWZmZXI6ZnVuY3Rpb24gSyhlKXtlIT09cCYmKHQuYmluZEZyYW1lYnVmZmVyKDM2MTYwLGUpLHA9ZSl9LHVzZVByb2dyYW06ZnVuY3Rpb24gSihlKXtyZXR1cm4gZiE9PWUmJih0LnVzZVByb2dyYW0oZSksZj1lLCEwKX0sc2V0QmxlbmRpbmc6VyxzZXRNYXRlcmlhbDpmdW5jdGlvbiBRKHQsZSl7Mj09PXQuc2lkZT9WKDI4ODQpOkIoMjg4NCk7bGV0IG49MT09PXQuc2lkZTtlJiYobj0hbiksRyhuKSwxPT09dC5ibGVuZGluZyYmITE9PT10LnRyYW5zcGFyZW50P1coMCk6Vyh0LmJsZW5kaW5nLHQuYmxlbmRFcXVhdGlvbix0LmJsZW5kU3JjLHQuYmxlbmREc3QsdC5ibGVuZEVxdWF0aW9uQWxwaGEsdC5ibGVuZFNyY0FscGhhLHQuYmxlbmREc3RBbHBoYSx0LnByZW11bHRpcGxpZWRBbHBoYSksci5zZXRGdW5jKHQuZGVwdGhGdW5jKSxyLnNldFRlc3QodC5kZXB0aFRlc3QpLHIuc2V0TWFzayh0LmRlcHRoV3JpdGUpLGkuc2V0TWFzayh0LmNvbG9yV3JpdGUpO2NvbnN0IG89dC5zdGVuY2lsV3JpdGU7bC5zZXRUZXN0KG8pLG8mJihsLnNldE1hc2sodC5zdGVuY2lsV3JpdGVNYXNrKSxsLnNldEZ1bmModC5zdGVuY2lsRnVuYyx0LnN0ZW5jaWxSZWYsdC5zdGVuY2lsRnVuY01hc2spLGwuc2V0T3AodC5zdGVuY2lsRmFpbCx0LnN0ZW5jaWxaRmFpbCx0LnN0ZW5jaWxaUGFzcykpLHEodC5wb2x5Z29uT2Zmc2V0LHQucG9seWdvbk9mZnNldEZhY3Rvcix0LnBvbHlnb25PZmZzZXRVbml0cyksITA9PT10LmFscGhhVG9Db3ZlcmFnZT9CKDMyOTI2KTpWKDMyOTI2KX0sc2V0RmxpcFNpZGVkOkcsc2V0Q3VsbEZhY2U6WSxzZXRMaW5lV2lkdGg6ZnVuY3Rpb24gJChlKXtlIT09UCYmKEQmJnQubGluZVdpZHRoKGUpLFA9ZSl9LHNldFBvbHlnb25PZmZzZXQ6cSxzZXRTY2lzc29yVGVzdDpmdW5jdGlvbiB0dCh0KXt0P0IoMzA4OSk6VigzMDg5KX0sYWN0aXZlVGV4dHVyZTpaLGJpbmRUZXh0dXJlOmZ1bmN0aW9uIGV0KGUsbil7bnVsbD09PUEmJlooKTtsZXQgbz1UW0FdO3ZvaWQgMD09PW8mJihvPXt0eXBlOnZvaWQgMCx0ZXh0dXJlOnZvaWQgMH0sVFtBXT1vKSxvLnR5cGU9PT1lJiZvLnRleHR1cmU9PT1ufHwodC5iaW5kVGV4dHVyZShlLG58fExbZV0pLG8udHlwZT1lLG8udGV4dHVyZT1uKX0sdW5iaW5kVGV4dHVyZTpmdW5jdGlvbiBudCgpe2NvbnN0IGU9VFtBXTt2b2lkIDAhPT1lJiZ2b2lkIDAhPT1lLnR5cGUmJih0LmJpbmRUZXh0dXJlKGUudHlwZSxudWxsKSxlLnR5cGU9dm9pZCAwLGUudGV4dHVyZT12b2lkIDApfSxjb21wcmVzc2VkVGV4SW1hZ2UyRDpmdW5jdGlvbiBvdCgpe3RyeXt0LmNvbXByZXNzZWRUZXhJbWFnZTJELmFwcGx5KHQsYXJndW1lbnRzKX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFN0YXRlOiIsdCl9fSx0ZXhJbWFnZTJEOmZ1bmN0aW9uIGl0KCl7dHJ5e3QudGV4SW1hZ2UyRC5hcHBseSh0LGFyZ3VtZW50cyl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xTdGF0ZToiLHQpfX0sdGV4SW1hZ2UzRDpmdW5jdGlvbiBhdCgpe3RyeXt0LnRleEltYWdlM0QuYXBwbHkodCxhcmd1bWVudHMpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMU3RhdGU6Iix0KX19LHNjaXNzb3I6ZnVuY3Rpb24gcnQoZSl7ITE9PT1JLmVxdWFscyhlKSYmKHQuc2Npc3NvcihlLngsZS55LGUueixlLncpLEkuY29weShlKSl9LHZpZXdwb3J0OmZ1bmN0aW9uIHN0KGUpeyExPT09SC5lcXVhbHMoZSkmJih0LnZpZXdwb3J0KGUueCxlLnksZS56LGUudyksSC5jb3B5KGUpKX0scmVzZXQ6ZnVuY3Rpb24gbHQoKXt0LmRpc2FibGUoMzA0MiksdC5kaXNhYmxlKDI4ODQpLHQuZGlzYWJsZSgyOTI5KSx0LmRpc2FibGUoMzI4MjMpLHQuZGlzYWJsZSgzMDg5KSx0LmRpc2FibGUoMjk2MCksdC5kaXNhYmxlKDMyOTI2KSx0LmJsZW5kRXF1YXRpb24oMzI3NzQpLHQuYmxlbmRGdW5jKDEsMCksdC5ibGVuZEZ1bmNTZXBhcmF0ZSgxLDAsMSwwKSx0LmNvbG9yTWFzayghMCwhMCwhMCwhMCksdC5jbGVhckNvbG9yKDAsMCwwLDApLHQuZGVwdGhNYXNrKCEwKSx0LmRlcHRoRnVuYyg1MTMpLHQuY2xlYXJEZXB0aCgxKSx0LnN0ZW5jaWxNYXNrKDQyOTQ5NjcyOTUpLHQuc3RlbmNpbEZ1bmMoNTE5LDAsNDI5NDk2NzI5NSksdC5zdGVuY2lsT3AoNzY4MCw3NjgwLDc2ODApLHQuY2xlYXJTdGVuY2lsKDApLHQuY3VsbEZhY2UoMTAyOSksdC5mcm9udEZhY2UoMjMwNSksdC5wb2x5Z29uT2Zmc2V0KDAsMCksdC5hY3RpdmVUZXh0dXJlKDMzOTg0KSx0LmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxudWxsKSwhMD09PW8mJih0LmJpbmRGcmFtZWJ1ZmZlcigzNjAwOSxudWxsKSx0LmJpbmRGcmFtZWJ1ZmZlcigzNjAwOCxudWxsKSksdC51c2VQcm9ncmFtKG51bGwpLHQubGluZVdpZHRoKDEpLHQuc2Npc3NvcigwLDAsdC5jYW52YXMud2lkdGgsdC5jYW52YXMuaGVpZ2h0KSx0LnZpZXdwb3J0KDAsMCx0LmNhbnZhcy53aWR0aCx0LmNhbnZhcy5oZWlnaHQpLGQ9e30sQT1udWxsLFQ9e30scD1udWxsLG09e30sZj1udWxsLHU9ITEsZz1udWxsLGg9bnVsbCxiPW51bGwseT1udWxsLF89bnVsbCxDPW51bGwsTT1udWxsLHY9ITEseD1udWxsLE89bnVsbCxQPW51bGwsdz1udWxsLGs9bnVsbCxJLnNldCgwLDAsdC5jYW52YXMud2lkdGgsdC5jYW52YXMuaGVpZ2h0KSxILnNldCgwLDAsdC5jYW52YXMud2lkdGgsdC5jYW52YXMuaGVpZ2h0KSxpLnJlc2V0KCksci5yZXNldCgpLGwucmVzZXQoKX19fWZ1bmN0aW9uIERtdCh0LGUsbixvLGksYSxyKXtjb25zdCBzPWkuaXNXZWJHTDIsbD1pLm1heFRleHR1cmVzLGM9aS5tYXhDdWJlbWFwU2l6ZSxkPWkubWF4VGV4dHVyZVNpemUscD1pLm1heFNhbXBsZXMsbT1uZXcgV2Vha01hcDtsZXQgZix1PSExO3RyeXt1PSJ1bmRlZmluZWQiIT10eXBlb2YgT2Zmc2NyZWVuQ2FudmFzJiZudWxsIT09bmV3IE9mZnNjcmVlbkNhbnZhcygxLDEpLmdldENvbnRleHQoIjJkIil9Y2F0Y2godCl7fWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4gdT9uZXcgT2Zmc2NyZWVuQ2FudmFzKHQsZSk6ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwiY2FudmFzIil9ZnVuY3Rpb24gaCh0LGUsbixvKXtsZXQgaT0xO2lmKCh0LndpZHRoPm98fHQuaGVpZ2h0Pm8pJiYoaT1vL01hdGgubWF4KHQud2lkdGgsdC5oZWlnaHQpKSxpPDF8fCEwPT09ZSl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MSW1hZ2VFbGVtZW50JiZ0IGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudHx8InVuZGVmaW5lZCIhPXR5cGVvZiBIVE1MQ2FudmFzRWxlbWVudCYmdCBpbnN0YW5jZW9mIEhUTUxDYW52YXNFbGVtZW50fHwidW5kZWZpbmVkIiE9dHlwZW9mIEltYWdlQml0bWFwJiZ0IGluc3RhbmNlb2YgSW1hZ2VCaXRtYXApe2NvbnN0IG89ZT91c3Q6TWF0aC5mbG9vcixhPW8oaSp0LndpZHRoKSxyPW8oaSp0LmhlaWdodCk7dm9pZCAwPT09ZiYmKGY9ZyhhLHIpKTtjb25zdCBzPW4/ZyhhLHIpOmY7cy53aWR0aD1hLHMuaGVpZ2h0PXI7cmV0dXJuIHMuZ2V0Q29udGV4dCgiMmQiKS5kcmF3SW1hZ2UodCwwLDAsYSxyKSxjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgaGFzIGJlZW4gcmVzaXplZCBmcm9tICgiK3Qud2lkdGgrIngiK3QuaGVpZ2h0KyIpIHRvICgiK2ErIngiK3IrIikuIiksc31yZXR1cm4iZGF0YSJpbiB0JiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IEltYWdlIGluIERhdGFUZXh0dXJlIGlzIHRvbyBiaWcgKCIrdC53aWR0aCsieCIrdC5oZWlnaHQrIikuIiksdH1yZXR1cm4gdH1mdW5jdGlvbiBiKHQpe3JldHVybiBmc3QodC53aWR0aCkmJmZzdCh0LmhlaWdodCl9ZnVuY3Rpb24geSh0LGUpe3JldHVybiB0LmdlbmVyYXRlTWlwbWFwcyYmZSYmdC5taW5GaWx0ZXIhPT1BcnQmJnQubWluRmlsdGVyIT09VHJ0fWZ1bmN0aW9uIF8oZSxuLGksYSxyPTEpe3QuZ2VuZXJhdGVNaXBtYXAoZSk7by5nZXQobikuX19tYXhNaXBMZXZlbD1NYXRoLmxvZzIoTWF0aC5tYXgoaSxhLHIpKX1mdW5jdGlvbiBDKG4sbyxpKXtpZighMT09PXMpcmV0dXJuIG87aWYobnVsbCE9PW4pe2lmKHZvaWQgMCE9PXRbbl0pcmV0dXJuIHRbbl07Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBBdHRlbXB0IHRvIHVzZSBub24tZXhpc3RpbmcgV2ViR0wgaW50ZXJuYWwgZm9ybWF0ICciK24rIiciKX1sZXQgYT1vO3JldHVybiA2NDAzPT09byYmKDUxMjY9PT1pJiYoYT0zMzMyNiksNTEzMT09PWkmJihhPTMzMzI1KSw1MTIxPT09aSYmKGE9MzMzMjEpKSw2NDA3PT09byYmKDUxMjY9PT1pJiYoYT0zNDgzNyksNTEzMT09PWkmJihhPTM0ODQzKSw1MTIxPT09aSYmKGE9MzI4NDkpKSw2NDA4PT09byYmKDUxMjY9PT1pJiYoYT0zNDgzNiksNTEzMT09PWkmJihhPTM0ODQyKSw1MTIxPT09aSYmKGE9MzI4NTYpKSwzMzMyNSE9PWEmJjMzMzI2IT09YSYmMzQ4NDIhPT1hJiYzNDgzNiE9PWF8fGUuZ2V0KCJFWFRfY29sb3JfYnVmZmVyX2Zsb2F0IiksYX1mdW5jdGlvbiBNKHQpe3JldHVybiB0PT09QXJ0fHwxMDA0PT09dHx8MTAwNT09PXQ/OTcyODo5NzI5fWZ1bmN0aW9uIHYoZSl7Y29uc3Qgbj1lLnRhcmdldDtuLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHYpLChmdW5jdGlvbiBpKGUpe2NvbnN0IG49by5nZXQoZSk7aWYodm9pZCAwPT09bi5fX3dlYmdsSW5pdClyZXR1cm47dC5kZWxldGVUZXh0dXJlKG4uX193ZWJnbFRleHR1cmUpLG8ucmVtb3ZlKGUpfSkobiksbi5pc1ZpZGVvVGV4dHVyZSYmbS5kZWxldGUobiksci5tZW1vcnkudGV4dHVyZXMtLX1mdW5jdGlvbiB4KGUpe2NvbnN0IG49ZS50YXJnZXQ7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJkaXNwb3NlIix4KSwoZnVuY3Rpb24gaShlKXtjb25zdCBuPWUudGV4dHVyZSxpPW8uZ2V0KGUpLGE9by5nZXQobik7aWYoIWUpcmV0dXJuO3ZvaWQgMCE9PWEuX193ZWJnbFRleHR1cmUmJih0LmRlbGV0ZVRleHR1cmUoYS5fX3dlYmdsVGV4dHVyZSksci5tZW1vcnkudGV4dHVyZXMtLSk7ZS5kZXB0aFRleHR1cmUmJmUuZGVwdGhUZXh0dXJlLmRpc3Bvc2UoKTtpZihlLmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0KWZvcihsZXQgZT0wO2U8NjtlKyspdC5kZWxldGVGcmFtZWJ1ZmZlcihpLl9fd2ViZ2xGcmFtZWJ1ZmZlcltlXSksaS5fX3dlYmdsRGVwdGhidWZmZXImJnQuZGVsZXRlUmVuZGVyYnVmZmVyKGkuX193ZWJnbERlcHRoYnVmZmVyW2VdKTtlbHNlIHQuZGVsZXRlRnJhbWVidWZmZXIoaS5fX3dlYmdsRnJhbWVidWZmZXIpLGkuX193ZWJnbERlcHRoYnVmZmVyJiZ0LmRlbGV0ZVJlbmRlcmJ1ZmZlcihpLl9fd2ViZ2xEZXB0aGJ1ZmZlciksaS5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXImJnQuZGVsZXRlRnJhbWVidWZmZXIoaS5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXIpLGkuX193ZWJnbENvbG9yUmVuZGVyYnVmZmVyJiZ0LmRlbGV0ZVJlbmRlcmJ1ZmZlcihpLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlciksaS5fX3dlYmdsRGVwdGhSZW5kZXJidWZmZXImJnQuZGVsZXRlUmVuZGVyYnVmZmVyKGkuX193ZWJnbERlcHRoUmVuZGVyYnVmZmVyKTtpZihlLmlzV2ViR0xNdWx0aXBsZVJlbmRlclRhcmdldHMpZm9yKGxldCBlPTAsaT1uLmxlbmd0aDtlPGk7ZSsrKXtjb25zdCBpPW8uZ2V0KG5bZV0pO2kuX193ZWJnbFRleHR1cmUmJih0LmRlbGV0ZVRleHR1cmUoaS5fX3dlYmdsVGV4dHVyZSksci5tZW1vcnkudGV4dHVyZXMtLSksby5yZW1vdmUobltlXSl9by5yZW1vdmUobiksby5yZW1vdmUoZSl9KShuKX1sZXQgTz0wO2Z1bmN0aW9uIFAodCxlKXtjb25zdCBpPW8uZ2V0KHQpO2lmKHQuaXNWaWRlb1RleHR1cmUmJihmdW5jdGlvbiBhKHQpe2NvbnN0IGU9ci5yZW5kZXIuZnJhbWU7bS5nZXQodCkhPT1lJiYobS5zZXQodCxlKSx0LnVwZGF0ZSgpKX0pKHQpLHQudmVyc2lvbj4wJiZpLl9fdmVyc2lvbiE9PXQudmVyc2lvbil7Y29uc3Qgbj10LmltYWdlO2lmKHZvaWQgMD09PW4pY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBUZXh0dXJlIG1hcmtlZCBmb3IgdXBkYXRlIGJ1dCBpbWFnZSBpcyB1bmRlZmluZWQiKTtlbHNle2lmKCExIT09bi5jb21wbGV0ZSlyZXR1cm4gdm9pZCBFKGksdCxlKTtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgbWFya2VkIGZvciB1cGRhdGUgYnV0IGltYWdlIGlzIGluY29tcGxldGUiKX19bi5hY3RpdmVUZXh0dXJlKDMzOTg0K2UpLG4uYmluZFRleHR1cmUoMzU1MyxpLl9fd2ViZ2xUZXh0dXJlKX1mdW5jdGlvbiB3KGUsaSl7Y29uc3Qgcj1vLmdldChlKTtlLnZlcnNpb24+MCYmci5fX3ZlcnNpb24hPT1lLnZlcnNpb24/KGZ1bmN0aW9uIGwoZSxvLGkpe2lmKDYhPT1vLmltYWdlLmxlbmd0aClyZXR1cm47UihlLG8pLG4uYWN0aXZlVGV4dHVyZSgzMzk4NCtpKSxuLmJpbmRUZXh0dXJlKDM0MDY3LGUuX193ZWJnbFRleHR1cmUpLHQucGl4ZWxTdG9yZWkoMzc0NDAsby5mbGlwWSksdC5waXhlbFN0b3JlaSgzNzQ0MSxvLnByZW11bHRpcGx5QWxwaGEpLHQucGl4ZWxTdG9yZWkoMzMxNyxvLnVucGFja0FsaWdubWVudCksdC5waXhlbFN0b3JlaSgzNzQ0MywwKTtjb25zdCByPW8mJihvLmlzQ29tcHJlc3NlZFRleHR1cmV8fG8uaW1hZ2VbMF0uaXNDb21wcmVzc2VkVGV4dHVyZSksbD1vLmltYWdlWzBdJiZvLmltYWdlWzBdLmlzRGF0YVRleHR1cmUsZD1bXTtmb3IobGV0IHQ9MDt0PDY7dCsrKWRbdF09cnx8bD9sP28uaW1hZ2VbdF0uaW1hZ2U6by5pbWFnZVt0XTpoKG8uaW1hZ2VbdF0sITEsITAsYyk7Y29uc3QgcD1kWzBdLG09YihwKXx8cyxmPWEuY29udmVydChvLmZvcm1hdCksdT1hLmNvbnZlcnQoby50eXBlKSxnPUMoby5pbnRlcm5hbEZvcm1hdCxmLHUpO2xldCBNO2lmKEQoMzQwNjcsbyxtKSxyKXtmb3IobGV0IHQ9MDt0PDY7dCsrKXtNPWRbdF0ubWlwbWFwcztmb3IobGV0IGU9MDtlPE0ubGVuZ3RoO2UrKyl7Y29uc3QgaT1NW2VdO28uZm9ybWF0IT09anJ0JiZvLmZvcm1hdCE9PVZydD9udWxsIT09Zj9uLmNvbXByZXNzZWRUZXhJbWFnZTJEKDM0MDY5K3QsZSxnLGkud2lkdGgsaS5oZWlnaHQsMCxpLmRhdGEpOmNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogQXR0ZW1wdCB0byBsb2FkIHVuc3VwcG9ydGVkIGNvbXByZXNzZWQgdGV4dHVyZSBmb3JtYXQgaW4gLnNldFRleHR1cmVDdWJlKCkiKTpuLnRleEltYWdlMkQoMzQwNjkrdCxlLGcsaS53aWR0aCxpLmhlaWdodCwwLGYsdSxpLmRhdGEpfX1lLl9fbWF4TWlwTGV2ZWw9TS5sZW5ndGgtMX1lbHNle009by5taXBtYXBzO2ZvcihsZXQgdD0wO3Q8Njt0KyspaWYobCl7bi50ZXhJbWFnZTJEKDM0MDY5K3QsMCxnLGRbdF0ud2lkdGgsZFt0XS5oZWlnaHQsMCxmLHUsZFt0XS5kYXRhKTtmb3IobGV0IGU9MDtlPE0ubGVuZ3RoO2UrKyl7Y29uc3Qgbz1NW2VdLmltYWdlW3RdLmltYWdlO24udGV4SW1hZ2UyRCgzNDA2OSt0LGUrMSxnLG8ud2lkdGgsby5oZWlnaHQsMCxmLHUsby5kYXRhKX19ZWxzZXtuLnRleEltYWdlMkQoMzQwNjkrdCwwLGcsZix1LGRbdF0pO2ZvcihsZXQgZT0wO2U8TS5sZW5ndGg7ZSsrKXtuLnRleEltYWdlMkQoMzQwNjkrdCxlKzEsZyxmLHUsTVtlXS5pbWFnZVt0XSl9fWUuX19tYXhNaXBMZXZlbD1NLmxlbmd0aH15KG8sbSkmJl8oMzQwNjcsbyxwLndpZHRoLHAuaGVpZ2h0KTtlLl9fdmVyc2lvbj1vLnZlcnNpb24sby5vblVwZGF0ZSYmby5vblVwZGF0ZShvKX0pKHIsZSxpKToobi5hY3RpdmVUZXh0dXJlKDMzOTg0K2kpLG4uYmluZFRleHR1cmUoMzQwNjcsci5fX3dlYmdsVGV4dHVyZSkpfWNvbnN0IGs9e1tEcnRdOjEwNDk3LFtScnRdOjMzMDcxLFtFcnRdOjMzNjQ4fSxTPXtbQXJ0XTo5NzI4LDEwMDQ6OTk4NCwxMDA1Ojk5ODYsW1RydF06OTcyOSwxMDA3Ojk5ODUsW05ydF06OTk4N307ZnVuY3Rpb24gRChuLGEscil7aWYocj8odC50ZXhQYXJhbWV0ZXJpKG4sMTAyNDIsa1thLndyYXBTXSksdC50ZXhQYXJhbWV0ZXJpKG4sMTAyNDMsa1thLndyYXBUXSksMzI4NzkhPT1uJiYzNTg2NiE9PW58fHQudGV4UGFyYW1ldGVyaShuLDMyODgyLGtbYS53cmFwUl0pLHQudGV4UGFyYW1ldGVyaShuLDEwMjQwLFNbYS5tYWdGaWx0ZXJdKSx0LnRleFBhcmFtZXRlcmkobiwxMDI0MSxTW2EubWluRmlsdGVyXSkpOih0LnRleFBhcmFtZXRlcmkobiwxMDI0MiwzMzA3MSksdC50ZXhQYXJhbWV0ZXJpKG4sMTAyNDMsMzMwNzEpLDMyODc5IT09biYmMzU4NjYhPT1ufHx0LnRleFBhcmFtZXRlcmkobiwzMjg4MiwzMzA3MSksYS53cmFwUz09PVJydCYmYS53cmFwVD09PVJydHx8Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBUZXh0dXJlIGlzIG5vdCBwb3dlciBvZiB0d28uIFRleHR1cmUud3JhcFMgYW5kIFRleHR1cmUud3JhcFQgc2hvdWxkIGJlIHNldCB0byBUSFJFRS5DbGFtcFRvRWRnZVdyYXBwaW5nLiIpLHQudGV4UGFyYW1ldGVyaShuLDEwMjQwLE0oYS5tYWdGaWx0ZXIpKSx0LnRleFBhcmFtZXRlcmkobiwxMDI0MSxNKGEubWluRmlsdGVyKSksYS5taW5GaWx0ZXIhPT1BcnQmJmEubWluRmlsdGVyIT09VHJ0JiZjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFRleHR1cmUgaXMgbm90IHBvd2VyIG9mIHR3by4gVGV4dHVyZS5taW5GaWx0ZXIgc2hvdWxkIGJlIHNldCB0byBUSFJFRS5OZWFyZXN0RmlsdGVyIG9yIFRIUkVFLkxpbmVhckZpbHRlci4iKSksITA9PT1lLmhhcygiRVhUX3RleHR1cmVfZmlsdGVyX2FuaXNvdHJvcGljIikpe2NvbnN0IHI9ZS5nZXQoIkVYVF90ZXh0dXJlX2ZpbHRlcl9hbmlzb3Ryb3BpYyIpO2lmKGEudHlwZT09PUZydCYmITE9PT1lLmhhcygiT0VTX3RleHR1cmVfZmxvYXRfbGluZWFyIikpcmV0dXJuO2lmKCExPT09cyYmYS50eXBlPT09THJ0JiYhMT09PWUuaGFzKCJPRVNfdGV4dHVyZV9oYWxmX2Zsb2F0X2xpbmVhciIpKXJldHVybjsoYS5hbmlzb3Ryb3B5PjF8fG8uZ2V0KGEpLl9fY3VycmVudEFuaXNvdHJvcHkpJiYodC50ZXhQYXJhbWV0ZXJmKG4sci5URVhUVVJFX01BWF9BTklTT1RST1BZX0VYVCxNYXRoLm1pbihhLmFuaXNvdHJvcHksaS5nZXRNYXhBbmlzb3Ryb3B5KCkpKSxvLmdldChhKS5fX2N1cnJlbnRBbmlzb3Ryb3B5PWEuYW5pc290cm9weSl9fWZ1bmN0aW9uIFIoZSxuKXt2b2lkIDA9PT1lLl9fd2ViZ2xJbml0JiYoZS5fX3dlYmdsSW5pdD0hMCxuLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHYpLGUuX193ZWJnbFRleHR1cmU9dC5jcmVhdGVUZXh0dXJlKCksci5tZW1vcnkudGV4dHVyZXMrKyl9ZnVuY3Rpb24gRShlLG8saSl7bGV0IHI9MzU1MztvLmlzRGF0YVRleHR1cmUyREFycmF5JiYocj0zNTg2Niksby5pc0RhdGFUZXh0dXJlM0QmJihyPTMyODc5KSxSKGUsbyksbi5hY3RpdmVUZXh0dXJlKDMzOTg0K2kpLG4uYmluZFRleHR1cmUocixlLl9fd2ViZ2xUZXh0dXJlKSx0LnBpeGVsU3RvcmVpKDM3NDQwLG8uZmxpcFkpLHQucGl4ZWxTdG9yZWkoMzc0NDEsby5wcmVtdWx0aXBseUFscGhhKSx0LnBpeGVsU3RvcmVpKDMzMTcsby51bnBhY2tBbGlnbm1lbnQpLHQucGl4ZWxTdG9yZWkoMzc0NDMsMCk7Y29uc3QgbD0oZnVuY3Rpb24gYyh0KXtyZXR1cm4hcyYmKHQud3JhcFMhPT1ScnR8fHQud3JhcFQhPT1ScnR8fHQubWluRmlsdGVyIT09QXJ0JiZ0Lm1pbkZpbHRlciE9PVRydCl9KShvKSYmITE9PT1iKG8uaW1hZ2UpLHA9aChvLmltYWdlLGwsITEsZCksbT1iKHApfHxzLGY9YS5jb252ZXJ0KG8uZm9ybWF0KTtsZXQgdSxnPWEuY29udmVydChvLnR5cGUpLE09QyhvLmludGVybmFsRm9ybWF0LGYsZyk7RChyLG8sbSk7Y29uc3Qgdj1vLm1pcG1hcHM7aWYoby5pc0RlcHRoVGV4dHVyZSlNPTY0MDIscz9NPW8udHlwZT09PUZydD8zNjAxMjpvLnR5cGU9PT1IcnQ/MzMxOTA6by50eXBlPT09QnJ0PzM1MDU2OjMzMTg5Om8udHlwZT09PUZydCYmY29uc29sZS5lcnJvcigiV2ViR0xSZW5kZXJlcjogRmxvYXRpbmcgcG9pbnQgZGVwdGggdGV4dHVyZSByZXF1aXJlcyBXZWJHTDIuIiksby5mb3JtYXQ9PT1VcnQmJjY0MDI9PT1NJiZvLnR5cGUhPT1JcnQmJm8udHlwZSE9PUhydCYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogVXNlIFVuc2lnbmVkU2hvcnRUeXBlIG9yIFVuc2lnbmVkSW50VHlwZSBmb3IgRGVwdGhGb3JtYXQgRGVwdGhUZXh0dXJlLiIpLG8udHlwZT1JcnQsZz1hLmNvbnZlcnQoby50eXBlKSksby5mb3JtYXQ9PT1XcnQmJjY0MDI9PT1NJiYoTT0zNDA0MSxvLnR5cGUhPT1CcnQmJihjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFVzZSBVbnNpZ25lZEludDI0OFR5cGUgZm9yIERlcHRoU3RlbmNpbEZvcm1hdCBEZXB0aFRleHR1cmUuIiksby50eXBlPUJydCxnPWEuY29udmVydChvLnR5cGUpKSksbi50ZXhJbWFnZTJEKDM1NTMsMCxNLHAud2lkdGgscC5oZWlnaHQsMCxmLGcsbnVsbCk7ZWxzZSBpZihvLmlzRGF0YVRleHR1cmUpaWYodi5sZW5ndGg+MCYmbSl7Zm9yKGxldCB0PTAsZT12Lmxlbmd0aDt0PGU7dCsrKXU9dlt0XSxuLnRleEltYWdlMkQoMzU1Myx0LE0sdS53aWR0aCx1LmhlaWdodCwwLGYsZyx1LmRhdGEpO28uZ2VuZXJhdGVNaXBtYXBzPSExLGUuX19tYXhNaXBMZXZlbD12Lmxlbmd0aC0xfWVsc2Ugbi50ZXhJbWFnZTJEKDM1NTMsMCxNLHAud2lkdGgscC5oZWlnaHQsMCxmLGcscC5kYXRhKSxlLl9fbWF4TWlwTGV2ZWw9MDtlbHNlIGlmKG8uaXNDb21wcmVzc2VkVGV4dHVyZSl7Zm9yKGxldCB0PTAsZT12Lmxlbmd0aDt0PGU7dCsrKXU9dlt0XSxvLmZvcm1hdCE9PWpydCYmby5mb3JtYXQhPT1WcnQ/bnVsbCE9PWY/bi5jb21wcmVzc2VkVGV4SW1hZ2UyRCgzNTUzLHQsTSx1LndpZHRoLHUuaGVpZ2h0LDAsdS5kYXRhKTpjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IEF0dGVtcHQgdG8gbG9hZCB1bnN1cHBvcnRlZCBjb21wcmVzc2VkIHRleHR1cmUgZm9ybWF0IGluIC51cGxvYWRUZXh0dXJlKCkiKTpuLnRleEltYWdlMkQoMzU1Myx0LE0sdS53aWR0aCx1LmhlaWdodCwwLGYsZyx1LmRhdGEpO2UuX19tYXhNaXBMZXZlbD12Lmxlbmd0aC0xfWVsc2UgaWYoby5pc0RhdGFUZXh0dXJlMkRBcnJheSluLnRleEltYWdlM0QoMzU4NjYsMCxNLHAud2lkdGgscC5oZWlnaHQscC5kZXB0aCwwLGYsZyxwLmRhdGEpLGUuX19tYXhNaXBMZXZlbD0wO2Vsc2UgaWYoby5pc0RhdGFUZXh0dXJlM0Qpbi50ZXhJbWFnZTNEKDMyODc5LDAsTSxwLndpZHRoLHAuaGVpZ2h0LHAuZGVwdGgsMCxmLGcscC5kYXRhKSxlLl9fbWF4TWlwTGV2ZWw9MDtlbHNlIGlmKHYubGVuZ3RoPjAmJm0pe2ZvcihsZXQgdD0wLGU9di5sZW5ndGg7dDxlO3QrKyl1PXZbdF0sbi50ZXhJbWFnZTJEKDM1NTMsdCxNLGYsZyx1KTtvLmdlbmVyYXRlTWlwbWFwcz0hMSxlLl9fbWF4TWlwTGV2ZWw9di5sZW5ndGgtMX1lbHNlIG4udGV4SW1hZ2UyRCgzNTUzLDAsTSxmLGcscCksZS5fX21heE1pcExldmVsPTA7eShvLG0pJiZfKHIsbyxwLndpZHRoLHAuaGVpZ2h0KSxlLl9fdmVyc2lvbj1vLnZlcnNpb24sby5vblVwZGF0ZSYmby5vblVwZGF0ZShvKX1mdW5jdGlvbiBBKGUsaSxyLHMsbCl7Y29uc3QgYz1hLmNvbnZlcnQoci5mb3JtYXQpLGQ9YS5jb252ZXJ0KHIudHlwZSkscD1DKHIuaW50ZXJuYWxGb3JtYXQsYyxkKTszMjg3OT09PWx8fDM1ODY2PT09bD9uLnRleEltYWdlM0QobCwwLHAsaS53aWR0aCxpLmhlaWdodCxpLmRlcHRoLDAsYyxkLG51bGwpOm4udGV4SW1hZ2UyRChsLDAscCxpLndpZHRoLGkuaGVpZ2h0LDAsYyxkLG51bGwpLG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLGUpLHQuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAscyxsLG8uZ2V0KHIpLl9fd2ViZ2xUZXh0dXJlLDApLG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLG51bGwpfWZ1bmN0aW9uIFQoZSxuLG8pe2lmKHQuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxlKSxuLmRlcHRoQnVmZmVyJiYhbi5zdGVuY2lsQnVmZmVyKXtsZXQgaT0zMzE4OTtpZihvKXtjb25zdCBlPW4uZGVwdGhUZXh0dXJlO2UmJmUuaXNEZXB0aFRleHR1cmUmJihlLnR5cGU9PT1GcnQ/aT0zNjAxMjplLnR5cGU9PT1IcnQmJihpPTMzMTkwKSk7Y29uc3Qgbz16KG4pO3QucmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKDM2MTYxLG8saSxuLndpZHRoLG4uaGVpZ2h0KX1lbHNlIHQucmVuZGVyYnVmZmVyU3RvcmFnZSgzNjE2MSxpLG4ud2lkdGgsbi5oZWlnaHQpO3QuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoMzYxNjAsMzYwOTYsMzYxNjEsZSl9ZWxzZSBpZihuLmRlcHRoQnVmZmVyJiZuLnN0ZW5jaWxCdWZmZXIpe2lmKG8pe2NvbnN0IGU9eihuKTt0LnJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZSgzNjE2MSxlLDM1MDU2LG4ud2lkdGgsbi5oZWlnaHQpfWVsc2UgdC5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLDM0MDQxLG4ud2lkdGgsbi5oZWlnaHQpO3QuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoMzYxNjAsMzMzMDYsMzYxNjEsZSl9ZWxzZXtjb25zdCBlPSEwPT09bi5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzP24udGV4dHVyZVswXTpuLnRleHR1cmUsaT1hLmNvbnZlcnQoZS5mb3JtYXQpLHI9YS5jb252ZXJ0KGUudHlwZSkscz1DKGUuaW50ZXJuYWxGb3JtYXQsaSxyKTtpZihvKXtjb25zdCBlPXoobik7dC5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoMzYxNjEsZSxzLG4ud2lkdGgsbi5oZWlnaHQpfWVsc2UgdC5yZW5kZXJidWZmZXJTdG9yYWdlKDM2MTYxLHMsbi53aWR0aCxuLmhlaWdodCl9dC5iaW5kUmVuZGVyYnVmZmVyKDM2MTYxLG51bGwpfWZ1bmN0aW9uIE4oZSl7Y29uc3QgaT1vLmdldChlKSxhPSEwPT09ZS5pc1dlYkdMQ3ViZVJlbmRlclRhcmdldDtpZihlLmRlcHRoVGV4dHVyZSl7aWYoYSl0aHJvdyBuZXcgRXJyb3IoInRhcmdldC5kZXB0aFRleHR1cmUgbm90IHN1cHBvcnRlZCBpbiBDdWJlIHJlbmRlciB0YXJnZXRzIik7IShmdW5jdGlvbiByKGUsaSl7aWYoaSYmaS5pc1dlYkdMQ3ViZVJlbmRlclRhcmdldCl0aHJvdyBuZXcgRXJyb3IoIkRlcHRoIFRleHR1cmUgd2l0aCBjdWJlIHJlbmRlciB0YXJnZXRzIGlzIG5vdCBzdXBwb3J0ZWQiKTtpZihuLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxlKSwhaS5kZXB0aFRleHR1cmV8fCFpLmRlcHRoVGV4dHVyZS5pc0RlcHRoVGV4dHVyZSl0aHJvdyBuZXcgRXJyb3IoInJlbmRlclRhcmdldC5kZXB0aFRleHR1cmUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBUSFJFRS5EZXB0aFRleHR1cmUiKTtvLmdldChpLmRlcHRoVGV4dHVyZSkuX193ZWJnbFRleHR1cmUmJmkuZGVwdGhUZXh0dXJlLmltYWdlLndpZHRoPT09aS53aWR0aCYmaS5kZXB0aFRleHR1cmUuaW1hZ2UuaGVpZ2h0PT09aS5oZWlnaHR8fChpLmRlcHRoVGV4dHVyZS5pbWFnZS53aWR0aD1pLndpZHRoLGkuZGVwdGhUZXh0dXJlLmltYWdlLmhlaWdodD1pLmhlaWdodCxpLmRlcHRoVGV4dHVyZS5uZWVkc1VwZGF0ZT0hMCksUChpLmRlcHRoVGV4dHVyZSwwKTtjb25zdCBhPW8uZ2V0KGkuZGVwdGhUZXh0dXJlKS5fX3dlYmdsVGV4dHVyZTtpZihpLmRlcHRoVGV4dHVyZS5mb3JtYXQ9PT1VcnQpdC5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCwzNjA5NiwzNTUzLGEsMCk7ZWxzZXtpZihpLmRlcHRoVGV4dHVyZS5mb3JtYXQhPT1XcnQpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIGRlcHRoVGV4dHVyZSBmb3JtYXQiKTt0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKDM2MTYwLDMzMzA2LDM1NTMsYSwwKX19KShpLl9fd2ViZ2xGcmFtZWJ1ZmZlcixlKX1lbHNlIGlmKGEpe2kuX193ZWJnbERlcHRoYnVmZmVyPVtdO2ZvcihsZXQgbz0wO288NjtvKyspbi5iaW5kRnJhbWVidWZmZXIoMzYxNjAsaS5fX3dlYmdsRnJhbWVidWZmZXJbb10pLGkuX193ZWJnbERlcHRoYnVmZmVyW29dPXQuY3JlYXRlUmVuZGVyYnVmZmVyKCksVChpLl9fd2ViZ2xEZXB0aGJ1ZmZlcltvXSxlLCExKX1lbHNlIG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLGkuX193ZWJnbEZyYW1lYnVmZmVyKSxpLl9fd2ViZ2xEZXB0aGJ1ZmZlcj10LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpLFQoaS5fX3dlYmdsRGVwdGhidWZmZXIsZSwhMSk7bi5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbnVsbCl9ZnVuY3Rpb24geih0KXtyZXR1cm4gcyYmdC5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQ/TWF0aC5taW4ocCx0LnNhbXBsZXMpOjB9bGV0IEk9ITEsSD0hMTt0aGlzLmFsbG9jYXRlVGV4dHVyZVVuaXQ9ZnVuY3Rpb24gRigpe2NvbnN0IHQ9TztyZXR1cm4gdD49bCYmY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFRleHR1cmVzOiBUcnlpbmcgdG8gdXNlICIrdCsiIHRleHR1cmUgdW5pdHMgd2hpbGUgdGhpcyBHUFUgc3VwcG9ydHMgb25seSAiK2wpLE8rPTEsdH0sdGhpcy5yZXNldFRleHR1cmVVbml0cz1mdW5jdGlvbiBMKCl7Tz0wfSx0aGlzLnNldFRleHR1cmUyRD1QLHRoaXMuc2V0VGV4dHVyZTJEQXJyYXk9ZnVuY3Rpb24gQih0LGUpe2NvbnN0IGk9by5nZXQodCk7dC52ZXJzaW9uPjAmJmkuX192ZXJzaW9uIT09dC52ZXJzaW9uP0UoaSx0LGUpOihuLmFjdGl2ZVRleHR1cmUoMzM5ODQrZSksbi5iaW5kVGV4dHVyZSgzNTg2NixpLl9fd2ViZ2xUZXh0dXJlKSl9LHRoaXMuc2V0VGV4dHVyZTNEPWZ1bmN0aW9uIFYodCxlKXtjb25zdCBpPW8uZ2V0KHQpO3QudmVyc2lvbj4wJiZpLl9fdmVyc2lvbiE9PXQudmVyc2lvbj9FKGksdCxlKToobi5hY3RpdmVUZXh0dXJlKDMzOTg0K2UpLG4uYmluZFRleHR1cmUoMzI4NzksaS5fX3dlYmdsVGV4dHVyZSkpfSx0aGlzLnNldFRleHR1cmVDdWJlPXcsdGhpcy5zZXR1cFJlbmRlclRhcmdldD1mdW5jdGlvbiBqKGUpe2NvbnN0IGw9ZS50ZXh0dXJlLGM9by5nZXQoZSksZD1vLmdldChsKTtlLmFkZEV2ZW50TGlzdGVuZXIoImRpc3Bvc2UiLHgpLCEwIT09ZS5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzJiYoZC5fX3dlYmdsVGV4dHVyZT10LmNyZWF0ZVRleHR1cmUoKSxkLl9fdmVyc2lvbj1sLnZlcnNpb24sci5tZW1vcnkudGV4dHVyZXMrKyk7Y29uc3QgcD0hMD09PWUuaXNXZWJHTEN1YmVSZW5kZXJUYXJnZXQsbT0hMD09PWUuaXNXZWJHTE11bHRpcGxlUmVuZGVyVGFyZ2V0cyxmPSEwPT09ZS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQsdT1sLmlzRGF0YVRleHR1cmUzRHx8bC5pc0RhdGFUZXh0dXJlMkRBcnJheSxnPWIoZSl8fHM7aWYoIXN8fGwuZm9ybWF0IT09VnJ0fHxsLnR5cGUhPT1GcnQmJmwudHlwZSE9PUxydHx8KGwuZm9ybWF0PWpydCxjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFJlbmRlcmluZyB0byB0ZXh0dXJlcyB3aXRoIFJHQiBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZC4gVXNpbmcgUkdCQSBmb3JtYXQgaW5zdGVhZC4iKSkscCl7Yy5fX3dlYmdsRnJhbWVidWZmZXI9W107Zm9yKGxldCBlPTA7ZTw2O2UrKyljLl9fd2ViZ2xGcmFtZWJ1ZmZlcltlXT10LmNyZWF0ZUZyYW1lYnVmZmVyKCl9ZWxzZSBpZihjLl9fd2ViZ2xGcmFtZWJ1ZmZlcj10LmNyZWF0ZUZyYW1lYnVmZmVyKCksbSlpZihpLmRyYXdCdWZmZXJzKXtjb25zdCBuPWUudGV4dHVyZTtmb3IobGV0IGU9MCxpPW4ubGVuZ3RoO2U8aTtlKyspe2NvbnN0IGk9by5nZXQobltlXSk7dm9pZCAwPT09aS5fX3dlYmdsVGV4dHVyZSYmKGkuX193ZWJnbFRleHR1cmU9dC5jcmVhdGVUZXh0dXJlKCksci5tZW1vcnkudGV4dHVyZXMrKyl9fWVsc2UgY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBXZWJHTE11bHRpcGxlUmVuZGVyVGFyZ2V0cyBjYW4gb25seSBiZSB1c2VkIHdpdGggV2ViR0wyIG9yIFdFQkdMX2RyYXdfYnVmZmVycyBleHRlbnNpb24uIik7ZWxzZSBpZihmKWlmKHMpe2MuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyPXQuY3JlYXRlRnJhbWVidWZmZXIoKSxjLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlcj10LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpLHQuYmluZFJlbmRlcmJ1ZmZlcigzNjE2MSxjLl9fd2ViZ2xDb2xvclJlbmRlcmJ1ZmZlcik7Y29uc3Qgbz1hLmNvbnZlcnQobC5mb3JtYXQpLGk9YS5jb252ZXJ0KGwudHlwZSkscj1DKGwuaW50ZXJuYWxGb3JtYXQsbyxpKSxzPXooZSk7dC5yZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUoMzYxNjEscyxyLGUud2lkdGgsZS5oZWlnaHQpLG4uYmluZEZyYW1lYnVmZmVyKDM2MTYwLGMuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyKSx0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKDM2MTYwLDM2MDY0LDM2MTYxLGMuX193ZWJnbENvbG9yUmVuZGVyYnVmZmVyKSx0LmJpbmRSZW5kZXJidWZmZXIoMzYxNjEsbnVsbCksZS5kZXB0aEJ1ZmZlciYmKGMuX193ZWJnbERlcHRoUmVuZGVyYnVmZmVyPXQuY3JlYXRlUmVuZGVyYnVmZmVyKCksVChjLl9fd2ViZ2xEZXB0aFJlbmRlcmJ1ZmZlcixlLCEwKSksbi5iaW5kRnJhbWVidWZmZXIoMzYxNjAsbnVsbCl9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IFdlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIFdlYkdMMi4iKTtpZihwKXtuLmJpbmRUZXh0dXJlKDM0MDY3LGQuX193ZWJnbFRleHR1cmUpLEQoMzQwNjcsbCxnKTtmb3IobGV0IHQ9MDt0PDY7dCsrKUEoYy5fX3dlYmdsRnJhbWVidWZmZXJbdF0sZSxsLDM2MDY0LDM0MDY5K3QpO3kobCxnKSYmXygzNDA2NyxsLGUud2lkdGgsZS5oZWlnaHQpLG4uYmluZFRleHR1cmUoMzQwNjcsbnVsbCl9ZWxzZSBpZihtKXtjb25zdCB0PWUudGV4dHVyZTtmb3IobGV0IGk9MCxhPXQubGVuZ3RoO2k8YTtpKyspe2NvbnN0IGE9dFtpXSxyPW8uZ2V0KGEpO24uYmluZFRleHR1cmUoMzU1MyxyLl9fd2ViZ2xUZXh0dXJlKSxEKDM1NTMsYSxnKSxBKGMuX193ZWJnbEZyYW1lYnVmZmVyLGUsYSwzNjA2NCtpLDM1NTMpLHkoYSxnKSYmXygzNTUzLGEsZS53aWR0aCxlLmhlaWdodCl9bi5iaW5kVGV4dHVyZSgzNTUzLG51bGwpfWVsc2V7bGV0IHQ9MzU1MztpZih1KWlmKHMpe3Q9bC5pc0RhdGFUZXh0dXJlM0Q/MzI4Nzk6MzU4NjZ9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLkRhdGFUZXh0dXJlM0QgYW5kIFRIUkVFLkRhdGFUZXh0dXJlMkRBcnJheSBvbmx5IHN1cHBvcnRlZCB3aXRoIFdlYkdMMi4iKTtuLmJpbmRUZXh0dXJlKHQsZC5fX3dlYmdsVGV4dHVyZSksRCh0LGwsZyksQShjLl9fd2ViZ2xGcmFtZWJ1ZmZlcixlLGwsMzYwNjQsdCkseShsLGcpJiZfKHQsbCxlLndpZHRoLGUuaGVpZ2h0LGUuZGVwdGgpLG4uYmluZFRleHR1cmUodCxudWxsKX1lLmRlcHRoQnVmZmVyJiZOKGUpfSx0aGlzLnVwZGF0ZVJlbmRlclRhcmdldE1pcG1hcD1mdW5jdGlvbiBVKHQpe2NvbnN0IGU9Yih0KXx8cyxpPSEwPT09dC5pc1dlYkdMTXVsdGlwbGVSZW5kZXJUYXJnZXRzP3QudGV4dHVyZTpbdC50ZXh0dXJlXTtmb3IobGV0IGE9MCxyPWkubGVuZ3RoO2E8cjthKyspe2NvbnN0IHI9aVthXTtpZih5KHIsZSkpe2NvbnN0IGU9dC5pc1dlYkdMQ3ViZVJlbmRlclRhcmdldD8zNDA2NzozNTUzLGk9by5nZXQocikuX193ZWJnbFRleHR1cmU7bi5iaW5kVGV4dHVyZShlLGkpLF8oZSxyLHQud2lkdGgsdC5oZWlnaHQpLG4uYmluZFRleHR1cmUoZSxudWxsKX19fSx0aGlzLnVwZGF0ZU11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0PWZ1bmN0aW9uIFcoZSl7aWYoZS5pc1dlYkdMTXVsdGlzYW1wbGVSZW5kZXJUYXJnZXQpaWYocyl7Y29uc3QgaT1lLndpZHRoLGE9ZS5oZWlnaHQ7bGV0IHI9MTYzODQ7ZS5kZXB0aEJ1ZmZlciYmKHJ8PTI1NiksZS5zdGVuY2lsQnVmZmVyJiYocnw9MTAyNCk7Y29uc3Qgcz1vLmdldChlKTtuLmJpbmRGcmFtZWJ1ZmZlcigzNjAwOCxzLl9fd2ViZ2xNdWx0aXNhbXBsZWRGcmFtZWJ1ZmZlciksbi5iaW5kRnJhbWVidWZmZXIoMzYwMDkscy5fX3dlYmdsRnJhbWVidWZmZXIpLHQuYmxpdEZyYW1lYnVmZmVyKDAsMCxpLGEsMCwwLGksYSxyLDk3MjgpLG4uYmluZEZyYW1lYnVmZmVyKDM2MDA4LG51bGwpLG4uYmluZEZyYW1lYnVmZmVyKDM2MDA5LHMuX193ZWJnbE11bHRpc2FtcGxlZEZyYW1lYnVmZmVyKX1lbHNlIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogV2ViR0xNdWx0aXNhbXBsZVJlbmRlclRhcmdldCBjYW4gb25seSBiZSB1c2VkIHdpdGggV2ViR0wyLiIpfSx0aGlzLnNhZmVTZXRUZXh0dXJlMkQ9ZnVuY3Rpb24gRyh0LGUpe3QmJnQuaXNXZWJHTFJlbmRlclRhcmdldCYmKCExPT09SSYmKGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xUZXh0dXJlcy5zYWZlU2V0VGV4dHVyZTJEOiBkb24ndCB1c2UgcmVuZGVyIHRhcmdldHMgYXMgdGV4dHVyZXMuIFVzZSB0aGVpciAudGV4dHVyZSBwcm9wZXJ0eSBpbnN0ZWFkLiIpLEk9ITApLHQ9dC50ZXh0dXJlKSxQKHQsZSl9LHRoaXMuc2FmZVNldFRleHR1cmVDdWJlPWZ1bmN0aW9uIFkodCxlKXt0JiZ0LmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0JiYoITE9PT1IJiYoY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFRleHR1cmVzLnNhZmVTZXRUZXh0dXJlQ3ViZTogZG9uJ3QgdXNlIGN1YmUgcmVuZGVyIHRhcmdldHMgYXMgdGV4dHVyZXMuIFVzZSB0aGVpciAudGV4dHVyZSBwcm9wZXJ0eSBpbnN0ZWFkLiIpLEg9ITApLHQ9dC50ZXh0dXJlKSx3KHQsZSl9fWZ1bmN0aW9uIFJtdCh0LGUsbil7Y29uc3Qgbz1uLmlzV2ViR0wyO3JldHVybntjb252ZXJ0OmZ1bmN0aW9uIGkodCl7bGV0IG47aWYodD09PXpydClyZXR1cm4gNTEyMTtpZigxMDE3PT09dClyZXR1cm4gMzI4MTk7aWYoMTAxOD09PXQpcmV0dXJuIDMyODIwO2lmKDEwMTk9PT10KXJldHVybiAzMzYzNTtpZigxMDEwPT09dClyZXR1cm4gNTEyMDtpZigxMDExPT09dClyZXR1cm4gNTEyMjtpZih0PT09SXJ0KXJldHVybiA1MTIzO2lmKDEwMTM9PT10KXJldHVybiA1MTI0O2lmKHQ9PT1IcnQpcmV0dXJuIDUxMjU7aWYodD09PUZydClyZXR1cm4gNTEyNjtpZih0PT09THJ0KXJldHVybiBvPzUxMzE6KG49ZS5nZXQoIk9FU190ZXh0dXJlX2hhbGZfZmxvYXQiKSxudWxsIT09bj9uLkhBTEZfRkxPQVRfT0VTOm51bGwpO2lmKDEwMjE9PT10KXJldHVybiA2NDA2O2lmKHQ9PT1WcnQpcmV0dXJuIDY0MDc7aWYodD09PWpydClyZXR1cm4gNjQwODtpZigxMDI0PT09dClyZXR1cm4gNjQwOTtpZigxMDI1PT09dClyZXR1cm4gNjQxMDtpZih0PT09VXJ0KXJldHVybiA2NDAyO2lmKHQ9PT1XcnQpcmV0dXJuIDM0MDQxO2lmKDEwMjg9PT10KXJldHVybiA2NDAzO2lmKDEwMjk9PT10KXJldHVybiAzNjI0NDtpZigxMDMwPT09dClyZXR1cm4gMzMzMTk7aWYoMTAzMT09PXQpcmV0dXJuIDMzMzIwO2lmKDEwMzI9PT10KXJldHVybiAzNjI0ODtpZigxMDMzPT09dClyZXR1cm4gMzYyNDk7aWYoMzM3NzY9PT10fHwzMzc3Nz09PXR8fDMzNzc4PT09dHx8MzM3Nzk9PT10KXtpZihuPWUuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfczN0YyIpLG51bGw9PT1uKXJldHVybiBudWxsO2lmKDMzNzc2PT09dClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQl9TM1RDX0RYVDFfRVhUO2lmKDMzNzc3PT09dClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVDtpZigzMzc3OD09PXQpcmV0dXJuIG4uQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUM19FWFQ7aWYoMzM3Nzk9PT10KXJldHVybiBuLkNPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDVfRVhUfWlmKDM1ODQwPT09dHx8MzU4NDE9PT10fHwzNTg0Mj09PXR8fDM1ODQzPT09dCl7aWYobj1lLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIiksbnVsbD09PW4pcmV0dXJuIG51bGw7aWYoMzU4NDA9PT10KXJldHVybiBuLkNPTVBSRVNTRURfUkdCX1BWUlRDXzRCUFBWMV9JTUc7aWYoMzU4NDE9PT10KXJldHVybiBuLkNPTVBSRVNTRURfUkdCX1BWUlRDXzJCUFBWMV9JTUc7aWYoMzU4NDI9PT10KXJldHVybiBuLkNPTVBSRVNTRURfUkdCQV9QVlJUQ180QlBQVjFfSU1HO2lmKDM1ODQzPT09dClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQkFfUFZSVENfMkJQUFYxX0lNR31pZigzNjE5Nj09PXQpcmV0dXJuIG49ZS5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9ldGMxIiksbnVsbCE9PW4/bi5DT01QUkVTU0VEX1JHQl9FVEMxX1dFQkdMOm51bGw7aWYoKDM3NDkyPT09dHx8Mzc0OTY9PT10KSYmKG49ZS5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9ldGMiKSxudWxsIT09bikpe2lmKDM3NDkyPT09dClyZXR1cm4gbi5DT01QUkVTU0VEX1JHQjhfRVRDMjtpZigzNzQ5Nj09PXQpcmV0dXJuIG4uQ09NUFJFU1NFRF9SR0JBOF9FVEMyX0VBQ31yZXR1cm4gMzc4MDg9PT10fHwzNzgwOT09PXR8fDM3ODEwPT09dHx8Mzc4MTE9PT10fHwzNzgxMj09PXR8fDM3ODEzPT09dHx8Mzc4MTQ9PT10fHwzNzgxNT09PXR8fDM3ODE2PT09dHx8Mzc4MTc9PT10fHwzNzgxOD09PXR8fDM3ODE5PT09dHx8Mzc4MjA9PT10fHwzNzgyMT09PXR8fDM3ODQwPT09dHx8Mzc4NDE9PT10fHwzNzg0Mj09PXR8fDM3ODQzPT09dHx8Mzc4NDQ9PT10fHwzNzg0NT09PXR8fDM3ODQ2PT09dHx8Mzc4NDc9PT10fHwzNzg0OD09PXR8fDM3ODQ5PT09dHx8Mzc4NTA9PT10fHwzNzg1MT09PXR8fDM3ODUyPT09dHx8Mzc4NTM9PT10PyhuPWUuZ2V0KCJXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfYXN0YyIpLG51bGwhPT1uP3Q6bnVsbCk6MzY0OTI9PT10PyhuPWUuZ2V0KCJFWFRfdGV4dHVyZV9jb21wcmVzc2lvbl9icHRjIiksbnVsbCE9PW4/dDpudWxsKTp0PT09QnJ0P28/MzQwNDI6KG49ZS5nZXQoIldFQkdMX2RlcHRoX3RleHR1cmUiKSxudWxsIT09bj9uLlVOU0lHTkVEX0lOVF8yNF84X1dFQkdMOm51bGwpOnZvaWQgMH19fWNsYXNzIEVtdCBleHRlbmRzIEljdHtjb25zdHJ1Y3Rvcih0PVtdKXtzdXBlcigpLHRoaXMuY2FtZXJhcz10fX1FbXQucHJvdG90eXBlLmlzQXJyYXlDYW1lcmE9ITA7Y2xhc3MgQW10IGV4dGVuZHMgU2x0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLnR5cGU9Ikdyb3VwIn19QW10LnByb3RvdHlwZS5pc0dyb3VwPSEwO2NvbnN0IFRtdD17dHlwZToibW92ZSJ9O2NsYXNzIE5tdHtjb25zdHJ1Y3Rvcigpe3RoaXMuX3RhcmdldFJheT1udWxsLHRoaXMuX2dyaXA9bnVsbCx0aGlzLl9oYW5kPW51bGx9Z2V0SGFuZFNwYWNlKCl7cmV0dXJuIG51bGw9PT10aGlzLl9oYW5kJiYodGhpcy5faGFuZD1uZXcgQW10LHRoaXMuX2hhbmQubWF0cml4QXV0b1VwZGF0ZT0hMSx0aGlzLl9oYW5kLnZpc2libGU9ITEsdGhpcy5faGFuZC5qb2ludHM9e30sdGhpcy5faGFuZC5pbnB1dFN0YXRlPXtwaW5jaGluZzohMX0pLHRoaXMuX2hhbmR9Z2V0VGFyZ2V0UmF5U3BhY2UoKXtyZXR1cm4gbnVsbD09PXRoaXMuX3RhcmdldFJheSYmKHRoaXMuX3RhcmdldFJheT1uZXcgQW10LHRoaXMuX3RhcmdldFJheS5tYXRyaXhBdXRvVXBkYXRlPSExLHRoaXMuX3RhcmdldFJheS52aXNpYmxlPSExLHRoaXMuX3RhcmdldFJheS5oYXNMaW5lYXJWZWxvY2l0eT0hMSx0aGlzLl90YXJnZXRSYXkubGluZWFyVmVsb2NpdHk9bmV3IHdzdCx0aGlzLl90YXJnZXRSYXkuaGFzQW5ndWxhclZlbG9jaXR5PSExLHRoaXMuX3RhcmdldFJheS5hbmd1bGFyVmVsb2NpdHk9bmV3IHdzdCksdGhpcy5fdGFyZ2V0UmF5fWdldEdyaXBTcGFjZSgpe3JldHVybiBudWxsPT09dGhpcy5fZ3JpcCYmKHRoaXMuX2dyaXA9bmV3IEFtdCx0aGlzLl9ncmlwLm1hdHJpeEF1dG9VcGRhdGU9ITEsdGhpcy5fZ3JpcC52aXNpYmxlPSExLHRoaXMuX2dyaXAuaGFzTGluZWFyVmVsb2NpdHk9ITEsdGhpcy5fZ3JpcC5saW5lYXJWZWxvY2l0eT1uZXcgd3N0LHRoaXMuX2dyaXAuaGFzQW5ndWxhclZlbG9jaXR5PSExLHRoaXMuX2dyaXAuYW5ndWxhclZlbG9jaXR5PW5ldyB3c3QpLHRoaXMuX2dyaXB9ZGlzcGF0Y2hFdmVudCh0KXtyZXR1cm4gbnVsbCE9PXRoaXMuX3RhcmdldFJheSYmdGhpcy5fdGFyZ2V0UmF5LmRpc3BhdGNoRXZlbnQodCksbnVsbCE9PXRoaXMuX2dyaXAmJnRoaXMuX2dyaXAuZGlzcGF0Y2hFdmVudCh0KSxudWxsIT09dGhpcy5faGFuZCYmdGhpcy5faGFuZC5kaXNwYXRjaEV2ZW50KHQpLHRoaXN9ZGlzY29ubmVjdCh0KXtyZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNjb25uZWN0ZWQiLGRhdGE6dH0pLG51bGwhPT10aGlzLl90YXJnZXRSYXkmJih0aGlzLl90YXJnZXRSYXkudmlzaWJsZT0hMSksbnVsbCE9PXRoaXMuX2dyaXAmJih0aGlzLl9ncmlwLnZpc2libGU9ITEpLG51bGwhPT10aGlzLl9oYW5kJiYodGhpcy5faGFuZC52aXNpYmxlPSExKSx0aGlzfXVwZGF0ZSh0LGUsbil7bGV0IG89bnVsbCxpPW51bGwsYT1udWxsO2NvbnN0IHI9dGhpcy5fdGFyZ2V0UmF5LHM9dGhpcy5fZ3JpcCxsPXRoaXMuX2hhbmQ7aWYodCYmInZpc2libGUtYmx1cnJlZCIhPT1lLnNlc3Npb24udmlzaWJpbGl0eVN0YXRlKWlmKG51bGwhPT1yJiYobz1lLmdldFBvc2UodC50YXJnZXRSYXlTcGFjZSxuKSxudWxsIT09byYmKHIubWF0cml4LmZyb21BcnJheShvLnRyYW5zZm9ybS5tYXRyaXgpLHIubWF0cml4LmRlY29tcG9zZShyLnBvc2l0aW9uLHIucm90YXRpb24sci5zY2FsZSksby5saW5lYXJWZWxvY2l0eT8oci5oYXNMaW5lYXJWZWxvY2l0eT0hMCxyLmxpbmVhclZlbG9jaXR5LmNvcHkoby5saW5lYXJWZWxvY2l0eSkpOnIuaGFzTGluZWFyVmVsb2NpdHk9ITEsby5hbmd1bGFyVmVsb2NpdHk/KHIuaGFzQW5ndWxhclZlbG9jaXR5PSEwLHIuYW5ndWxhclZlbG9jaXR5LmNvcHkoby5hbmd1bGFyVmVsb2NpdHkpKTpyLmhhc0FuZ3VsYXJWZWxvY2l0eT0hMSx0aGlzLmRpc3BhdGNoRXZlbnQoVG10KSkpLGwmJnQuaGFuZCl7YT0hMDtmb3IoY29uc3QgbyBvZiB0LmhhbmQudmFsdWVzKCkpe2NvbnN0IHQ9ZS5nZXRKb2ludFBvc2UobyxuKTtpZih2b2lkIDA9PT1sLmpvaW50c1tvLmpvaW50TmFtZV0pe2NvbnN0IHQ9bmV3IEFtdDt0Lm1hdHJpeEF1dG9VcGRhdGU9ITEsdC52aXNpYmxlPSExLGwuam9pbnRzW28uam9pbnROYW1lXT10LGwuYWRkKHQpfWNvbnN0IGk9bC5qb2ludHNbby5qb2ludE5hbWVdO251bGwhPT10JiYoaS5tYXRyaXguZnJvbUFycmF5KHQudHJhbnNmb3JtLm1hdHJpeCksaS5tYXRyaXguZGVjb21wb3NlKGkucG9zaXRpb24saS5yb3RhdGlvbixpLnNjYWxlKSxpLmpvaW50UmFkaXVzPXQucmFkaXVzKSxpLnZpc2libGU9bnVsbCE9PXR9Y29uc3Qgbz1sLmpvaW50c1siaW5kZXgtZmluZ2VyLXRpcCJdLnBvc2l0aW9uLmRpc3RhbmNlVG8obC5qb2ludHNbInRodW1iLXRpcCJdLnBvc2l0aW9uKSxpPS4wMixyPS4wMDU7bC5pbnB1dFN0YXRlLnBpbmNoaW5nJiZvPmkrcj8obC5pbnB1dFN0YXRlLnBpbmNoaW5nPSExLHRoaXMuZGlzcGF0Y2hFdmVudCh7dHlwZToicGluY2hlbmQiLGhhbmRlZG5lc3M6dC5oYW5kZWRuZXNzLHRhcmdldDp0aGlzfSkpOiFsLmlucHV0U3RhdGUucGluY2hpbmcmJm88PWktciYmKGwuaW5wdXRTdGF0ZS5waW5jaGluZz0hMCx0aGlzLmRpc3BhdGNoRXZlbnQoe3R5cGU6InBpbmNoc3RhcnQiLGhhbmRlZG5lc3M6dC5oYW5kZWRuZXNzLHRhcmdldDp0aGlzfSkpfWVsc2UgbnVsbCE9PXMmJnQuZ3JpcFNwYWNlJiYoaT1lLmdldFBvc2UodC5ncmlwU3BhY2UsbiksbnVsbCE9PWkmJihzLm1hdHJpeC5mcm9tQXJyYXkoaS50cmFuc2Zvcm0ubWF0cml4KSxzLm1hdHJpeC5kZWNvbXBvc2Uocy5wb3NpdGlvbixzLnJvdGF0aW9uLHMuc2NhbGUpLGkubGluZWFyVmVsb2NpdHk/KHMuaGFzTGluZWFyVmVsb2NpdHk9ITAscy5saW5lYXJWZWxvY2l0eS5jb3B5KGkubGluZWFyVmVsb2NpdHkpKTpzLmhhc0xpbmVhclZlbG9jaXR5PSExLGkuYW5ndWxhclZlbG9jaXR5PyhzLmhhc0FuZ3VsYXJWZWxvY2l0eT0hMCxzLmFuZ3VsYXJWZWxvY2l0eS5jb3B5KGkuYW5ndWxhclZlbG9jaXR5KSk6cy5oYXNBbmd1bGFyVmVsb2NpdHk9ITEpKTtyZXR1cm4gbnVsbCE9PXImJihyLnZpc2libGU9bnVsbCE9PW8pLG51bGwhPT1zJiYocy52aXNpYmxlPW51bGwhPT1pKSxudWxsIT09bCYmKGwudmlzaWJsZT1udWxsIT09YSksdGhpc319Y2xhc3Mgem10IGV4dGVuZHMgcnN0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoKTtjb25zdCBuPXRoaXMsbz10LnN0YXRlO2xldCBpPW51bGwsYT0xLHI9bnVsbCxzPSJsb2NhbC1mbG9vciIsbD1udWxsLGM9bnVsbCxkPW51bGwscD1udWxsLG09bnVsbDtjb25zdCBmPVtdLHU9bmV3IE1hcCxnPW5ldyBJY3Q7Zy5sYXllcnMuZW5hYmxlKDEpLGcudmlld3BvcnQ9bmV3IHZzdDtjb25zdCBoPW5ldyBJY3Q7aC5sYXllcnMuZW5hYmxlKDIpLGgudmlld3BvcnQ9bmV3IHZzdDtjb25zdCBiPVtnLGhdLHk9bmV3IEVtdDt5LmxheWVycy5lbmFibGUoMSkseS5sYXllcnMuZW5hYmxlKDIpO2xldCBfPW51bGwsQz1udWxsO2Z1bmN0aW9uIE0odCl7Y29uc3QgZT11LmdldCh0LmlucHV0U291cmNlKTtlJiZlLmRpc3BhdGNoRXZlbnQoe3R5cGU6dC50eXBlLGRhdGE6dC5pbnB1dFNvdXJjZX0pfWZ1bmN0aW9uIHYoKXt1LmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7dC5kaXNjb25uZWN0KGUpfSkpLHUuY2xlYXIoKSxfPW51bGwsQz1udWxsLG8uYmluZFhSRnJhbWVidWZmZXIobnVsbCksdC5zZXRSZW5kZXJUYXJnZXQodC5nZXRSZW5kZXJUYXJnZXQoKSksUy5zdG9wKCksbi5pc1ByZXNlbnRpbmc9ITEsbi5kaXNwYXRjaEV2ZW50KHt0eXBlOiJzZXNzaW9uZW5kIn0pfWZ1bmN0aW9uIHgodCl7Y29uc3QgZT1pLmlucHV0U291cmNlcztmb3IobGV0IHQ9MDt0PGYubGVuZ3RoO3QrKyl1LnNldChlW3RdLGZbdF0pO2ZvcihsZXQgZT0wO2U8dC5yZW1vdmVkLmxlbmd0aDtlKyspe2NvbnN0IG49dC5yZW1vdmVkW2VdLG89dS5nZXQobik7byYmKG8uZGlzcGF0Y2hFdmVudCh7dHlwZToiZGlzY29ubmVjdGVkIixkYXRhOm59KSx1LmRlbGV0ZShuKSl9Zm9yKGxldCBlPTA7ZTx0LmFkZGVkLmxlbmd0aDtlKyspe2NvbnN0IG49dC5hZGRlZFtlXSxvPXUuZ2V0KG4pO28mJm8uZGlzcGF0Y2hFdmVudCh7dHlwZToiY29ubmVjdGVkIixkYXRhOm59KX19dGhpcy5jYW1lcmFBdXRvVXBkYXRlPSEwLHRoaXMuZW5hYmxlZD0hMSx0aGlzLmlzUHJlc2VudGluZz0hMSx0aGlzLmdldENvbnRyb2xsZXI9ZnVuY3Rpb24odCl7bGV0IGU9Zlt0XTtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9bmV3IE5tdCxmW3RdPWUpLGUuZ2V0VGFyZ2V0UmF5U3BhY2UoKX0sdGhpcy5nZXRDb250cm9sbGVyR3JpcD1mdW5jdGlvbih0KXtsZXQgZT1mW3RdO3JldHVybiB2b2lkIDA9PT1lJiYoZT1uZXcgTm10LGZbdF09ZSksZS5nZXRHcmlwU3BhY2UoKX0sdGhpcy5nZXRIYW5kPWZ1bmN0aW9uKHQpe2xldCBlPWZbdF07cmV0dXJuIHZvaWQgMD09PWUmJihlPW5ldyBObXQsZlt0XT1lKSxlLmdldEhhbmRTcGFjZSgpfSx0aGlzLnNldEZyYW1lYnVmZmVyU2NhbGVGYWN0b3I9ZnVuY3Rpb24odCl7YT10LCEwPT09bi5pc1ByZXNlbnRpbmcmJmNvbnNvbGUud2FybigiVEhSRUUuV2ViWFJNYW5hZ2VyOiBDYW5ub3QgY2hhbmdlIGZyYW1lYnVmZmVyIHNjYWxlIHdoaWxlIHByZXNlbnRpbmcuIil9LHRoaXMuc2V0UmVmZXJlbmNlU3BhY2VUeXBlPWZ1bmN0aW9uKHQpe3M9dCwhMD09PW4uaXNQcmVzZW50aW5nJiZjb25zb2xlLndhcm4oIlRIUkVFLldlYlhSTWFuYWdlcjogQ2Fubm90IGNoYW5nZSByZWZlcmVuY2Ugc3BhY2UgdHlwZSB3aGlsZSBwcmVzZW50aW5nLiIpfSx0aGlzLmdldFJlZmVyZW5jZVNwYWNlPWZ1bmN0aW9uKCl7cmV0dXJuIHJ9LHRoaXMuZ2V0U2Vzc2lvbj1mdW5jdGlvbigpe3JldHVybiBpfSx0aGlzLnNldFNlc3Npb249YXN5bmMgZnVuY3Rpb24odCl7aWYoaT10LG51bGwhPT1pKXtpLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdCIsTSksaS5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RzdGFydCIsTSksaS5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlbmQiLE0pLGkuYWRkRXZlbnRMaXN0ZW5lcigic3F1ZWV6ZSIsTSksaS5hZGRFdmVudExpc3RlbmVyKCJzcXVlZXplc3RhcnQiLE0pLGkuYWRkRXZlbnRMaXN0ZW5lcigic3F1ZWV6ZWVuZCIsTSksaS5hZGRFdmVudExpc3RlbmVyKCJlbmQiLHYpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXRzb3VyY2VzY2hhbmdlIix4KTtjb25zdCB0PWUuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKTtpZighMCE9PXQueHJDb21wYXRpYmxlJiZhd2FpdCBlLm1ha2VYUkNvbXBhdGlibGUoKSx2b2lkIDA9PT1pLnJlbmRlclN0YXRlLmxheWVycyl7bT1uZXcgWFJXZWJHTExheWVyKGksZSx7YW50aWFsaWFzOnQuYW50aWFsaWFzLGFscGhhOnQuYWxwaGEsZGVwdGg6dC5kZXB0aCxzdGVuY2lsOnQuc3RlbmNpbCxmcmFtZWJ1ZmZlclNjYWxlRmFjdG9yOmF9KSxpLnVwZGF0ZVJlbmRlclN0YXRlKHtiYXNlTGF5ZXI6bX0pfWVsc2V7bGV0IG49MDtpZih0LmFudGlhbGlhcyl7bT1uZXcgWFJXZWJHTExheWVyKGksZSx7YW50aWFsaWFzOiEwLGFscGhhOnQuYWxwaGEsZGVwdGg6dC5kZXB0aCxzdGVuY2lsOnQuc3RlbmNpbCxmcmFtZWJ1ZmZlclNjYWxlRmFjdG9yOmF9KSxpLnVwZGF0ZVJlbmRlclN0YXRlKHtsYXllcnM6W21dfSl9ZWxzZXt0LmRlcHRoJiYobj10LnN0ZW5jaWw/MzQwNDE6NjQwMik7Y29uc3Qgbz17Y29sb3JGb3JtYXQ6dC5hbHBoYT82NDA4OjY0MDcsZGVwdGhGb3JtYXQ6bixzY2FsZUZhY3RvcjphfTtjPW5ldyBYUldlYkdMQmluZGluZyhpLGUpLHA9Yy5jcmVhdGVQcm9qZWN0aW9uTGF5ZXIobyksZD1lLmNyZWF0ZUZyYW1lYnVmZmVyKCksaS51cGRhdGVSZW5kZXJTdGF0ZSh7bGF5ZXJzOltwXX0pfX1yPWF3YWl0IGkucmVxdWVzdFJlZmVyZW5jZVNwYWNlKHMpLFMuc2V0Q29udGV4dChpKSxTLnN0YXJ0KCksbi5pc1ByZXNlbnRpbmc9ITAsbi5kaXNwYXRjaEV2ZW50KHt0eXBlOiJzZXNzaW9uc3RhcnQifSl9fTtjb25zdCBPPW5ldyB3c3QsUD1uZXcgd3N0O2Z1bmN0aW9uIHcodCxlKXtudWxsPT09ZT90Lm1hdHJpeFdvcmxkLmNvcHkodC5tYXRyaXgpOnQubWF0cml4V29ybGQubXVsdGlwbHlNYXRyaWNlcyhlLm1hdHJpeFdvcmxkLHQubWF0cml4KSx0Lm1hdHJpeFdvcmxkSW52ZXJzZS5jb3B5KHQubWF0cml4V29ybGQpLmludmVydCgpfXRoaXMudXBkYXRlQ2FtZXJhPWZ1bmN0aW9uKHQpe2lmKG51bGw9PT1pKXJldHVybjt5Lm5lYXI9aC5uZWFyPWcubmVhcj10Lm5lYXIseS5mYXI9aC5mYXI9Zy5mYXI9dC5mYXIsXz09PXkubmVhciYmQz09PXkuZmFyfHwoaS51cGRhdGVSZW5kZXJTdGF0ZSh7ZGVwdGhOZWFyOnkubmVhcixkZXB0aEZhcjp5LmZhcn0pLF89eS5uZWFyLEM9eS5mYXIpO2NvbnN0IGU9dC5wYXJlbnQsbj15LmNhbWVyYXM7dyh5LGUpO2ZvcihsZXQgdD0wO3Q8bi5sZW5ndGg7dCsrKXcoblt0XSxlKTt5Lm1hdHJpeFdvcmxkLmRlY29tcG9zZSh5LnBvc2l0aW9uLHkucXVhdGVybmlvbix5LnNjYWxlKSx0LnBvc2l0aW9uLmNvcHkoeS5wb3NpdGlvbiksdC5xdWF0ZXJuaW9uLmNvcHkoeS5xdWF0ZXJuaW9uKSx0LnNjYWxlLmNvcHkoeS5zY2FsZSksdC5tYXRyaXguY29weSh5Lm1hdHJpeCksdC5tYXRyaXhXb3JsZC5jb3B5KHkubWF0cml4V29ybGQpO2NvbnN0IG89dC5jaGlsZHJlbjtmb3IobGV0IHQ9MCxlPW8ubGVuZ3RoO3Q8ZTt0Kyspb1t0XS51cGRhdGVNYXRyaXhXb3JsZCghMCk7Mj09PW4ubGVuZ3RoPyhmdW5jdGlvbiBhKHQsZSxuKXtPLnNldEZyb21NYXRyaXhQb3NpdGlvbihlLm1hdHJpeFdvcmxkKSxQLnNldEZyb21NYXRyaXhQb3NpdGlvbihuLm1hdHJpeFdvcmxkKTtjb25zdCBvPU8uZGlzdGFuY2VUbyhQKSxpPWUucHJvamVjdGlvbk1hdHJpeC5lbGVtZW50cyxhPW4ucHJvamVjdGlvbk1hdHJpeC5lbGVtZW50cyxyPWlbMTRdLyhpWzEwXS0xKSxzPWlbMTRdLyhpWzEwXSsxKSxsPShpWzldKzEpL2lbNV0sYz0oaVs5XS0xKS9pWzVdLGQ9KGlbOF0tMSkvaVswXSxwPShhWzhdKzEpL2FbMF0sbT1yKmQsZj1yKnAsdT1vLygtZCtwKSxnPXUqLWQ7ZS5tYXRyaXhXb3JsZC5kZWNvbXBvc2UodC5wb3NpdGlvbix0LnF1YXRlcm5pb24sdC5zY2FsZSksdC50cmFuc2xhdGVYKGcpLHQudHJhbnNsYXRlWih1KSx0Lm1hdHJpeFdvcmxkLmNvbXBvc2UodC5wb3NpdGlvbix0LnF1YXRlcm5pb24sdC5zY2FsZSksdC5tYXRyaXhXb3JsZEludmVyc2UuY29weSh0Lm1hdHJpeFdvcmxkKS5pbnZlcnQoKTtjb25zdCBoPXIrdSxiPXMrdTt0LnByb2plY3Rpb25NYXRyaXgubWFrZVBlcnNwZWN0aXZlKG0tZyxmKyhvLWcpLGwqcy9iKmgsYypzL2IqaCxoLGIpfSkoeSxnLGgpOnkucHJvamVjdGlvbk1hdHJpeC5jb3B5KGcucHJvamVjdGlvbk1hdHJpeCl9LHRoaXMuZ2V0Q2FtZXJhPWZ1bmN0aW9uKCl7cmV0dXJuIHl9LHRoaXMuZ2V0Rm92ZWF0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGwhPT1wP3AuZml4ZWRGb3ZlYXRpb246bnVsbCE9PW0/bS5maXhlZEZvdmVhdGlvbjp2b2lkIDB9LHRoaXMuc2V0Rm92ZWF0aW9uPWZ1bmN0aW9uKHQpe251bGwhPT1wJiYocC5maXhlZEZvdmVhdGlvbj10KSxudWxsIT09bSYmdm9pZCAwIT09bS5maXhlZEZvdmVhdGlvbiYmKG0uZml4ZWRGb3ZlYXRpb249dCl9O2xldCBrPW51bGw7Y29uc3QgUz1uZXcgWmN0O1Muc2V0QW5pbWF0aW9uTG9vcCgoZnVuY3Rpb24gRCh0LG4pe2lmKGw9bi5nZXRWaWV3ZXJQb3NlKHIpLG51bGwhPT1sKXtjb25zdCB0PWwudmlld3M7bnVsbCE9PW0mJm8uYmluZFhSRnJhbWVidWZmZXIobS5mcmFtZWJ1ZmZlcik7bGV0IG49ITE7dC5sZW5ndGghPT15LmNhbWVyYXMubGVuZ3RoJiYoeS5jYW1lcmFzLmxlbmd0aD0wLG49ITApO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXtjb25zdCBhPXRbaV07bGV0IHI9bnVsbDtpZihudWxsIT09bSlyPW0uZ2V0Vmlld3BvcnQoYSk7ZWxzZXtjb25zdCB0PWMuZ2V0Vmlld1N1YkltYWdlKHAsYSk7by5iaW5kWFJGcmFtZWJ1ZmZlcihkKSx2b2lkIDAhPT10LmRlcHRoU3RlbmNpbFRleHR1cmUmJmUuZnJhbWVidWZmZXJUZXh0dXJlMkQoMzYxNjAsMzYwOTYsMzU1Myx0LmRlcHRoU3RlbmNpbFRleHR1cmUsMCksZS5mcmFtZWJ1ZmZlclRleHR1cmUyRCgzNjE2MCwzNjA2NCwzNTUzLHQuY29sb3JUZXh0dXJlLDApLHI9dC52aWV3cG9ydH1jb25zdCBzPWJbaV07cy5tYXRyaXguZnJvbUFycmF5KGEudHJhbnNmb3JtLm1hdHJpeCkscy5wcm9qZWN0aW9uTWF0cml4LmZyb21BcnJheShhLnByb2plY3Rpb25NYXRyaXgpLHMudmlld3BvcnQuc2V0KHIueCxyLnksci53aWR0aCxyLmhlaWdodCksMD09PWkmJnkubWF0cml4LmNvcHkocy5tYXRyaXgpLCEwPT09biYmeS5jYW1lcmFzLnB1c2gocyl9fWNvbnN0IGE9aS5pbnB1dFNvdXJjZXM7Zm9yKGxldCB0PTA7dDxmLmxlbmd0aDt0Kyspe2ZbdF0udXBkYXRlKGFbdF0sbixyKX1rJiZrKHQsbil9KSksdGhpcy5zZXRBbmltYXRpb25Mb29wPWZ1bmN0aW9uKHQpe2s9dH0sdGhpcy5kaXNwb3NlPWZ1bmN0aW9uKCl7fX19ZnVuY3Rpb24gSW10KHQpe2Z1bmN0aW9uIGUoZSxuKXtlLm9wYWNpdHkudmFsdWU9bi5vcGFjaXR5LG4uY29sb3ImJmUuZGlmZnVzZS52YWx1ZS5jb3B5KG4uY29sb3IpLG4uZW1pc3NpdmUmJmUuZW1pc3NpdmUudmFsdWUuY29weShuLmVtaXNzaXZlKS5tdWx0aXBseVNjYWxhcihuLmVtaXNzaXZlSW50ZW5zaXR5KSxuLm1hcCYmKGUubWFwLnZhbHVlPW4ubWFwKSxuLmFscGhhTWFwJiYoZS5hbHBoYU1hcC52YWx1ZT1uLmFscGhhTWFwKSxuLnNwZWN1bGFyTWFwJiYoZS5zcGVjdWxhck1hcC52YWx1ZT1uLnNwZWN1bGFyTWFwKTtjb25zdCBvPXQuZ2V0KG4pLmVudk1hcDtpZihvKXtlLmVudk1hcC52YWx1ZT1vLGUuZmxpcEVudk1hcC52YWx1ZT1vLmlzQ3ViZVRleHR1cmUmJiExPT09by5pc1JlbmRlclRhcmdldFRleHR1cmU/LTE6MSxlLnJlZmxlY3Rpdml0eS52YWx1ZT1uLnJlZmxlY3Rpdml0eSxlLnJlZnJhY3Rpb25SYXRpby52YWx1ZT1uLnJlZnJhY3Rpb25SYXRpbztjb25zdCBpPXQuZ2V0KG8pLl9fbWF4TWlwTGV2ZWw7dm9pZCAwIT09aSYmKGUubWF4TWlwTGV2ZWwudmFsdWU9aSl9bGV0IGksYTtuLmxpZ2h0TWFwJiYoZS5saWdodE1hcC52YWx1ZT1uLmxpZ2h0TWFwLGUubGlnaHRNYXBJbnRlbnNpdHkudmFsdWU9bi5saWdodE1hcEludGVuc2l0eSksbi5hb01hcCYmKGUuYW9NYXAudmFsdWU9bi5hb01hcCxlLmFvTWFwSW50ZW5zaXR5LnZhbHVlPW4uYW9NYXBJbnRlbnNpdHkpLG4ubWFwP2k9bi5tYXA6bi5zcGVjdWxhck1hcD9pPW4uc3BlY3VsYXJNYXA6bi5kaXNwbGFjZW1lbnRNYXA/aT1uLmRpc3BsYWNlbWVudE1hcDpuLm5vcm1hbE1hcD9pPW4ubm9ybWFsTWFwOm4uYnVtcE1hcD9pPW4uYnVtcE1hcDpuLnJvdWdobmVzc01hcD9pPW4ucm91Z2huZXNzTWFwOm4ubWV0YWxuZXNzTWFwP2k9bi5tZXRhbG5lc3NNYXA6bi5hbHBoYU1hcD9pPW4uYWxwaGFNYXA6bi5lbWlzc2l2ZU1hcD9pPW4uZW1pc3NpdmVNYXA6bi5jbGVhcmNvYXRNYXA/aT1uLmNsZWFyY29hdE1hcDpuLmNsZWFyY29hdE5vcm1hbE1hcD9pPW4uY2xlYXJjb2F0Tm9ybWFsTWFwOm4uY2xlYXJjb2F0Um91Z2huZXNzTWFwP2k9bi5jbGVhcmNvYXRSb3VnaG5lc3NNYXA6bi5zcGVjdWxhckludGVuc2l0eU1hcD9pPW4uc3BlY3VsYXJJbnRlbnNpdHlNYXA6bi5zcGVjdWxhclRpbnRNYXAmJihpPW4uc3BlY3VsYXJUaW50TWFwKSx2b2lkIDAhPT1pJiYoaS5pc1dlYkdMUmVuZGVyVGFyZ2V0JiYoaT1pLnRleHR1cmUpLCEwPT09aS5tYXRyaXhBdXRvVXBkYXRlJiZpLnVwZGF0ZU1hdHJpeCgpLGUudXZUcmFuc2Zvcm0udmFsdWUuY29weShpLm1hdHJpeCkpLG4uYW9NYXA/YT1uLmFvTWFwOm4ubGlnaHRNYXAmJihhPW4ubGlnaHRNYXApLHZvaWQgMCE9PWEmJihhLmlzV2ViR0xSZW5kZXJUYXJnZXQmJihhPWEudGV4dHVyZSksITA9PT1hLm1hdHJpeEF1dG9VcGRhdGUmJmEudXBkYXRlTWF0cml4KCksZS51djJUcmFuc2Zvcm0udmFsdWUuY29weShhLm1hdHJpeCkpfWZ1bmN0aW9uIG4oZSxuKXtlLnJvdWdobmVzcy52YWx1ZT1uLnJvdWdobmVzcyxlLm1ldGFsbmVzcy52YWx1ZT1uLm1ldGFsbmVzcyxuLnJvdWdobmVzc01hcCYmKGUucm91Z2huZXNzTWFwLnZhbHVlPW4ucm91Z2huZXNzTWFwKSxuLm1ldGFsbmVzc01hcCYmKGUubWV0YWxuZXNzTWFwLnZhbHVlPW4ubWV0YWxuZXNzTWFwKSxuLmVtaXNzaXZlTWFwJiYoZS5lbWlzc2l2ZU1hcC52YWx1ZT1uLmVtaXNzaXZlTWFwKSxuLmJ1bXBNYXAmJihlLmJ1bXBNYXAudmFsdWU9bi5idW1wTWFwLGUuYnVtcFNjYWxlLnZhbHVlPW4uYnVtcFNjYWxlLDE9PT1uLnNpZGUmJihlLmJ1bXBTY2FsZS52YWx1ZSo9LTEpKSxuLm5vcm1hbE1hcCYmKGUubm9ybWFsTWFwLnZhbHVlPW4ubm9ybWFsTWFwLGUubm9ybWFsU2NhbGUudmFsdWUuY29weShuLm5vcm1hbFNjYWxlKSwxPT09bi5zaWRlJiZlLm5vcm1hbFNjYWxlLnZhbHVlLm5lZ2F0ZSgpKSxuLmRpc3BsYWNlbWVudE1hcCYmKGUuZGlzcGxhY2VtZW50TWFwLnZhbHVlPW4uZGlzcGxhY2VtZW50TWFwLGUuZGlzcGxhY2VtZW50U2NhbGUudmFsdWU9bi5kaXNwbGFjZW1lbnRTY2FsZSxlLmRpc3BsYWNlbWVudEJpYXMudmFsdWU9bi5kaXNwbGFjZW1lbnRCaWFzKTt0LmdldChuKS5lbnZNYXAmJihlLmVudk1hcEludGVuc2l0eS52YWx1ZT1uLmVudk1hcEludGVuc2l0eSl9cmV0dXJue3JlZnJlc2hGb2dVbmlmb3JtczpmdW5jdGlvbiBvKHQsZSl7dC5mb2dDb2xvci52YWx1ZS5jb3B5KGUuY29sb3IpLGUuaXNGb2c/KHQuZm9nTmVhci52YWx1ZT1lLm5lYXIsdC5mb2dGYXIudmFsdWU9ZS5mYXIpOmUuaXNGb2dFeHAyJiYodC5mb2dEZW5zaXR5LnZhbHVlPWUuZGVuc2l0eSl9LHJlZnJlc2hNYXRlcmlhbFVuaWZvcm1zOmZ1bmN0aW9uIGkodCxvLGEscixzKXtvLmlzTWVzaEJhc2ljTWF0ZXJpYWw/ZSh0LG8pOm8uaXNNZXNoTGFtYmVydE1hdGVyaWFsPyhlKHQsbyksKGZ1bmN0aW9uIGwodCxlKXtlLmVtaXNzaXZlTWFwJiYodC5lbWlzc2l2ZU1hcC52YWx1ZT1lLmVtaXNzaXZlTWFwKX0pKHQsbykpOm8uaXNNZXNoVG9vbk1hdGVyaWFsPyhlKHQsbyksKGZ1bmN0aW9uIGModCxlKXtlLmdyYWRpZW50TWFwJiYodC5ncmFkaWVudE1hcC52YWx1ZT1lLmdyYWRpZW50TWFwKTtlLmVtaXNzaXZlTWFwJiYodC5lbWlzc2l2ZU1hcC52YWx1ZT1lLmVtaXNzaXZlTWFwKTtlLmJ1bXBNYXAmJih0LmJ1bXBNYXAudmFsdWU9ZS5idW1wTWFwLHQuYnVtcFNjYWxlLnZhbHVlPWUuYnVtcFNjYWxlLDE9PT1lLnNpZGUmJih0LmJ1bXBTY2FsZS52YWx1ZSo9LTEpKTtlLm5vcm1hbE1hcCYmKHQubm9ybWFsTWFwLnZhbHVlPWUubm9ybWFsTWFwLHQubm9ybWFsU2NhbGUudmFsdWUuY29weShlLm5vcm1hbFNjYWxlKSwxPT09ZS5zaWRlJiZ0Lm5vcm1hbFNjYWxlLnZhbHVlLm5lZ2F0ZSgpKTtlLmRpc3BsYWNlbWVudE1hcCYmKHQuZGlzcGxhY2VtZW50TWFwLnZhbHVlPWUuZGlzcGxhY2VtZW50TWFwLHQuZGlzcGxhY2VtZW50U2NhbGUudmFsdWU9ZS5kaXNwbGFjZW1lbnRTY2FsZSx0LmRpc3BsYWNlbWVudEJpYXMudmFsdWU9ZS5kaXNwbGFjZW1lbnRCaWFzKX0pKHQsbykpOm8uaXNNZXNoUGhvbmdNYXRlcmlhbD8oZSh0LG8pLChmdW5jdGlvbiBkKHQsZSl7dC5zcGVjdWxhci52YWx1ZS5jb3B5KGUuc3BlY3VsYXIpLHQuc2hpbmluZXNzLnZhbHVlPU1hdGgubWF4KGUuc2hpbmluZXNzLDFlLTQpLGUuZW1pc3NpdmVNYXAmJih0LmVtaXNzaXZlTWFwLnZhbHVlPWUuZW1pc3NpdmVNYXApO2UuYnVtcE1hcCYmKHQuYnVtcE1hcC52YWx1ZT1lLmJ1bXBNYXAsdC5idW1wU2NhbGUudmFsdWU9ZS5idW1wU2NhbGUsMT09PWUuc2lkZSYmKHQuYnVtcFNjYWxlLnZhbHVlKj0tMSkpO2Uubm9ybWFsTWFwJiYodC5ub3JtYWxNYXAudmFsdWU9ZS5ub3JtYWxNYXAsdC5ub3JtYWxTY2FsZS52YWx1ZS5jb3B5KGUubm9ybWFsU2NhbGUpLDE9PT1lLnNpZGUmJnQubm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpO2UuZGlzcGxhY2VtZW50TWFwJiYodC5kaXNwbGFjZW1lbnRNYXAudmFsdWU9ZS5kaXNwbGFjZW1lbnRNYXAsdC5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1lLmRpc3BsYWNlbWVudFNjYWxlLHQuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT1lLmRpc3BsYWNlbWVudEJpYXMpfSkodCxvKSk6by5pc01lc2hTdGFuZGFyZE1hdGVyaWFsPyhlKHQsbyksby5pc01lc2hQaHlzaWNhbE1hdGVyaWFsPyhmdW5jdGlvbiBwKHQsZSxvKXtuKHQsZSksdC5yZWZsZWN0aXZpdHkudmFsdWU9ZS5yZWZsZWN0aXZpdHksdC5jbGVhcmNvYXQudmFsdWU9ZS5jbGVhcmNvYXQsdC5jbGVhcmNvYXRSb3VnaG5lc3MudmFsdWU9ZS5jbGVhcmNvYXRSb3VnaG5lc3MsZS5zaGVlbiYmdC5zaGVlbi52YWx1ZS5jb3B5KGUuc2hlZW4pO2UuY2xlYXJjb2F0TWFwJiYodC5jbGVhcmNvYXRNYXAudmFsdWU9ZS5jbGVhcmNvYXRNYXApO2UuY2xlYXJjb2F0Um91Z2huZXNzTWFwJiYodC5jbGVhcmNvYXRSb3VnaG5lc3NNYXAudmFsdWU9ZS5jbGVhcmNvYXRSb3VnaG5lc3NNYXApO2UuY2xlYXJjb2F0Tm9ybWFsTWFwJiYodC5jbGVhcmNvYXROb3JtYWxTY2FsZS52YWx1ZS5jb3B5KGUuY2xlYXJjb2F0Tm9ybWFsU2NhbGUpLHQuY2xlYXJjb2F0Tm9ybWFsTWFwLnZhbHVlPWUuY2xlYXJjb2F0Tm9ybWFsTWFwLDE9PT1lLnNpZGUmJnQuY2xlYXJjb2F0Tm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpO3QudHJhbnNtaXNzaW9uLnZhbHVlPWUudHJhbnNtaXNzaW9uLGUudHJhbnNtaXNzaW9uTWFwJiYodC50cmFuc21pc3Npb25NYXAudmFsdWU9ZS50cmFuc21pc3Npb25NYXApO2UudHJhbnNtaXNzaW9uPjAmJih0LnRyYW5zbWlzc2lvblNhbXBsZXJNYXAudmFsdWU9by50ZXh0dXJlLHQudHJhbnNtaXNzaW9uU2FtcGxlclNpemUudmFsdWUuc2V0KG8ud2lkdGgsby5oZWlnaHQpKTt0LnRoaWNrbmVzcy52YWx1ZT1lLnRoaWNrbmVzcyxlLnRoaWNrbmVzc01hcCYmKHQudGhpY2tuZXNzTWFwLnZhbHVlPWUudGhpY2tuZXNzTWFwKTt0LmF0dGVudWF0aW9uRGlzdGFuY2UudmFsdWU9ZS5hdHRlbnVhdGlvbkRpc3RhbmNlLHQuYXR0ZW51YXRpb25UaW50LnZhbHVlLmNvcHkoZS5hdHRlbnVhdGlvblRpbnQpLHQuc3BlY3VsYXJJbnRlbnNpdHkudmFsdWU9ZS5zcGVjdWxhckludGVuc2l0eSx0LnNwZWN1bGFyVGludC52YWx1ZS5jb3B5KGUuc3BlY3VsYXJUaW50KSxlLnNwZWN1bGFySW50ZW5zaXR5TWFwJiYodC5zcGVjdWxhckludGVuc2l0eU1hcC52YWx1ZT1lLnNwZWN1bGFySW50ZW5zaXR5TWFwKTtlLnNwZWN1bGFyVGludE1hcCYmKHQuc3BlY3VsYXJUaW50TWFwLnZhbHVlPWUuc3BlY3VsYXJUaW50TWFwKX0pKHQsbyxzKTpuKHQsbykpOm8uaXNNZXNoTWF0Y2FwTWF0ZXJpYWw/KGUodCxvKSwoZnVuY3Rpb24gbSh0LGUpe2UubWF0Y2FwJiYodC5tYXRjYXAudmFsdWU9ZS5tYXRjYXApO2UuYnVtcE1hcCYmKHQuYnVtcE1hcC52YWx1ZT1lLmJ1bXBNYXAsdC5idW1wU2NhbGUudmFsdWU9ZS5idW1wU2NhbGUsMT09PWUuc2lkZSYmKHQuYnVtcFNjYWxlLnZhbHVlKj0tMSkpO2Uubm9ybWFsTWFwJiYodC5ub3JtYWxNYXAudmFsdWU9ZS5ub3JtYWxNYXAsdC5ub3JtYWxTY2FsZS52YWx1ZS5jb3B5KGUubm9ybWFsU2NhbGUpLDE9PT1lLnNpZGUmJnQubm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpO2UuZGlzcGxhY2VtZW50TWFwJiYodC5kaXNwbGFjZW1lbnRNYXAudmFsdWU9ZS5kaXNwbGFjZW1lbnRNYXAsdC5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1lLmRpc3BsYWNlbWVudFNjYWxlLHQuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT1lLmRpc3BsYWNlbWVudEJpYXMpfSkodCxvKSk6by5pc01lc2hEZXB0aE1hdGVyaWFsPyhlKHQsbyksKGZ1bmN0aW9uIGYodCxlKXtlLmRpc3BsYWNlbWVudE1hcCYmKHQuZGlzcGxhY2VtZW50TWFwLnZhbHVlPWUuZGlzcGxhY2VtZW50TWFwLHQuZGlzcGxhY2VtZW50U2NhbGUudmFsdWU9ZS5kaXNwbGFjZW1lbnRTY2FsZSx0LmRpc3BsYWNlbWVudEJpYXMudmFsdWU9ZS5kaXNwbGFjZW1lbnRCaWFzKX0pKHQsbykpOm8uaXNNZXNoRGlzdGFuY2VNYXRlcmlhbD8oZSh0LG8pLChmdW5jdGlvbiB1KHQsZSl7ZS5kaXNwbGFjZW1lbnRNYXAmJih0LmRpc3BsYWNlbWVudE1hcC52YWx1ZT1lLmRpc3BsYWNlbWVudE1hcCx0LmRpc3BsYWNlbWVudFNjYWxlLnZhbHVlPWUuZGlzcGxhY2VtZW50U2NhbGUsdC5kaXNwbGFjZW1lbnRCaWFzLnZhbHVlPWUuZGlzcGxhY2VtZW50Qmlhcyk7dC5yZWZlcmVuY2VQb3NpdGlvbi52YWx1ZS5jb3B5KGUucmVmZXJlbmNlUG9zaXRpb24pLHQubmVhckRpc3RhbmNlLnZhbHVlPWUubmVhckRpc3RhbmNlLHQuZmFyRGlzdGFuY2UudmFsdWU9ZS5mYXJEaXN0YW5jZX0pKHQsbykpOm8uaXNNZXNoTm9ybWFsTWF0ZXJpYWw/KGUodCxvKSwoZnVuY3Rpb24gZyh0LGUpe2UuYnVtcE1hcCYmKHQuYnVtcE1hcC52YWx1ZT1lLmJ1bXBNYXAsdC5idW1wU2NhbGUudmFsdWU9ZS5idW1wU2NhbGUsMT09PWUuc2lkZSYmKHQuYnVtcFNjYWxlLnZhbHVlKj0tMSkpO2Uubm9ybWFsTWFwJiYodC5ub3JtYWxNYXAudmFsdWU9ZS5ub3JtYWxNYXAsdC5ub3JtYWxTY2FsZS52YWx1ZS5jb3B5KGUubm9ybWFsU2NhbGUpLDE9PT1lLnNpZGUmJnQubm9ybWFsU2NhbGUudmFsdWUubmVnYXRlKCkpO2UuZGlzcGxhY2VtZW50TWFwJiYodC5kaXNwbGFjZW1lbnRNYXAudmFsdWU9ZS5kaXNwbGFjZW1lbnRNYXAsdC5kaXNwbGFjZW1lbnRTY2FsZS52YWx1ZT1lLmRpc3BsYWNlbWVudFNjYWxlLHQuZGlzcGxhY2VtZW50Qmlhcy52YWx1ZT1lLmRpc3BsYWNlbWVudEJpYXMpfSkodCxvKSk6by5pc0xpbmVCYXNpY01hdGVyaWFsPyghKGZ1bmN0aW9uIGgodCxlKXt0LmRpZmZ1c2UudmFsdWUuY29weShlLmNvbG9yKSx0Lm9wYWNpdHkudmFsdWU9ZS5vcGFjaXR5fSkodCxvKSxvLmlzTGluZURhc2hlZE1hdGVyaWFsJiYoZnVuY3Rpb24gYih0LGUpe3QuZGFzaFNpemUudmFsdWU9ZS5kYXNoU2l6ZSx0LnRvdGFsU2l6ZS52YWx1ZT1lLmRhc2hTaXplK2UuZ2FwU2l6ZSx0LnNjYWxlLnZhbHVlPWUuc2NhbGV9KSh0LG8pKTpvLmlzUG9pbnRzTWF0ZXJpYWw/KGZ1bmN0aW9uIHkodCxlLG4sbyl7dC5kaWZmdXNlLnZhbHVlLmNvcHkoZS5jb2xvciksdC5vcGFjaXR5LnZhbHVlPWUub3BhY2l0eSx0LnNpemUudmFsdWU9ZS5zaXplKm4sdC5zY2FsZS52YWx1ZT0uNSpvLGUubWFwJiYodC5tYXAudmFsdWU9ZS5tYXApO2UuYWxwaGFNYXAmJih0LmFscGhhTWFwLnZhbHVlPWUuYWxwaGFNYXApO2xldCBpO2UubWFwP2k9ZS5tYXA6ZS5hbHBoYU1hcCYmKGk9ZS5hbHBoYU1hcCk7dm9pZCAwIT09aSYmKCEwPT09aS5tYXRyaXhBdXRvVXBkYXRlJiZpLnVwZGF0ZU1hdHJpeCgpLHQudXZUcmFuc2Zvcm0udmFsdWUuY29weShpLm1hdHJpeCkpfSkodCxvLGEscik6by5pc1Nwcml0ZU1hdGVyaWFsPyhmdW5jdGlvbiBfKHQsZSl7dC5kaWZmdXNlLnZhbHVlLmNvcHkoZS5jb2xvciksdC5vcGFjaXR5LnZhbHVlPWUub3BhY2l0eSx0LnJvdGF0aW9uLnZhbHVlPWUucm90YXRpb24sZS5tYXAmJih0Lm1hcC52YWx1ZT1lLm1hcCk7ZS5hbHBoYU1hcCYmKHQuYWxwaGFNYXAudmFsdWU9ZS5hbHBoYU1hcCk7bGV0IG47ZS5tYXA/bj1lLm1hcDplLmFscGhhTWFwJiYobj1lLmFscGhhTWFwKTt2b2lkIDAhPT1uJiYoITA9PT1uLm1hdHJpeEF1dG9VcGRhdGUmJm4udXBkYXRlTWF0cml4KCksdC51dlRyYW5zZm9ybS52YWx1ZS5jb3B5KG4ubWF0cml4KSl9KSh0LG8pOm8uaXNTaGFkb3dNYXRlcmlhbD8odC5jb2xvci52YWx1ZS5jb3B5KG8uY29sb3IpLHQub3BhY2l0eS52YWx1ZT1vLm9wYWNpdHkpOm8uaXNTaGFkZXJNYXRlcmlhbCYmKG8udW5pZm9ybXNOZWVkVXBkYXRlPSExKX19fWZ1bmN0aW9uIEhtdCh0PXt9KXtjb25zdCBlPXZvaWQgMCE9PXQuY2FudmFzP3QuY2FudmFzOihmdW5jdGlvbiBuKCl7Y29uc3QgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLCJjYW52YXMiKTtyZXR1cm4gdC5zdHlsZS5kaXNwbGF5PSJibG9jayIsdH0pKCksbz12b2lkIDAhPT10LmNvbnRleHQ/dC5jb250ZXh0Om51bGwsaT12b2lkIDAhPT10LmFscGhhJiZ0LmFscGhhLGE9dm9pZCAwPT09dC5kZXB0aHx8dC5kZXB0aCxyPXZvaWQgMD09PXQuc3RlbmNpbHx8dC5zdGVuY2lsLHM9dm9pZCAwIT09dC5hbnRpYWxpYXMmJnQuYW50aWFsaWFzLGw9dm9pZCAwPT09dC5wcmVtdWx0aXBsaWVkQWxwaGF8fHQucHJlbXVsdGlwbGllZEFscGhhLGM9dm9pZCAwIT09dC5wcmVzZXJ2ZURyYXdpbmdCdWZmZXImJnQucHJlc2VydmVEcmF3aW5nQnVmZmVyLGQ9dm9pZCAwIT09dC5wb3dlclByZWZlcmVuY2U/dC5wb3dlclByZWZlcmVuY2U6ImRlZmF1bHQiLHA9dm9pZCAwIT09dC5mYWlsSWZNYWpvclBlcmZvcm1hbmNlQ2F2ZWF0JiZ0LmZhaWxJZk1ham9yUGVyZm9ybWFuY2VDYXZlYXQ7bGV0IG09bnVsbCxmPW51bGw7Y29uc3QgdT1bXSxnPVtdO3RoaXMuZG9tRWxlbWVudD1lLHRoaXMuZGVidWc9e2NoZWNrU2hhZGVyRXJyb3JzOiEwfSx0aGlzLmF1dG9DbGVhcj0hMCx0aGlzLmF1dG9DbGVhckNvbG9yPSEwLHRoaXMuYXV0b0NsZWFyRGVwdGg9ITAsdGhpcy5hdXRvQ2xlYXJTdGVuY2lsPSEwLHRoaXMuc29ydE9iamVjdHM9ITAsdGhpcy5jbGlwcGluZ1BsYW5lcz1bXSx0aGlzLmxvY2FsQ2xpcHBpbmdFbmFibGVkPSExLHRoaXMuZ2FtbWFGYWN0b3I9Mix0aGlzLm91dHB1dEVuY29kaW5nPVFydCx0aGlzLnBoeXNpY2FsbHlDb3JyZWN0TGlnaHRzPSExLHRoaXMudG9uZU1hcHBpbmc9MCx0aGlzLnRvbmVNYXBwaW5nRXhwb3N1cmU9MTtjb25zdCBoPXRoaXM7bGV0IGI9ITEseT0wLF89MCxDPW51bGwsTT0tMSx2PW51bGw7Y29uc3QgeD1uZXcgdnN0LE89bmV3IHZzdDtsZXQgUD1udWxsLHc9ZS53aWR0aCxrPWUuaGVpZ2h0LFM9MSxEPW51bGwsUj1udWxsO2NvbnN0IEU9bmV3IHZzdCgwLDAsdyxrKSxBPW5ldyB2c3QoMCwwLHcsayk7bGV0IFQ9ITE7Y29uc3QgTj1bXSx6PW5ldyBxY3Q7bGV0IEk9ITEsSD0hMSxGPW51bGw7Y29uc3QgTD1uZXcgb2x0LEI9bmV3IHdzdCxWPXtiYWNrZ3JvdW5kOm51bGwsZm9nOm51bGwsZW52aXJvbm1lbnQ6bnVsbCxvdmVycmlkZU1hdGVyaWFsOm51bGwsaXNTY2VuZTohMH07ZnVuY3Rpb24gaigpe3JldHVybiBudWxsPT09Qz9TOjF9bGV0IFUsVyxHLFkscSxaLFgsSyxKLFEsJCx0dCxldCxudCxvdCxpdCxhdCxydCxzdCxsdCxjdCxkdCxwdCxtdD1vO2Z1bmN0aW9uIGZ0KHQsbil7Zm9yKGxldCBvPTA7bzx0Lmxlbmd0aDtvKyspe2NvbnN0IGk9ZS5nZXRDb250ZXh0KHRbb10sbik7aWYobnVsbCE9PWkpcmV0dXJuIGl9cmV0dXJuIG51bGx9dHJ5e2NvbnN0IHQ9e2FscGhhOmksZGVwdGg6YSxzdGVuY2lsOnIsYW50aWFsaWFzOnMscHJlbXVsdGlwbGllZEFscGhhOmwscHJlc2VydmVEcmF3aW5nQnVmZmVyOmMscG93ZXJQcmVmZXJlbmNlOmQsZmFpbElmTWFqb3JQZXJmb3JtYW5jZUNhdmVhdDpwfTtpZihlLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLGh0LCExKSxlLmFkZEV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dHJlc3RvcmVkIixidCwhMSksbnVsbD09PW10KXtjb25zdCBlPVsid2ViZ2wyIiwid2ViZ2wiLCJleHBlcmltZW50YWwtd2ViZ2wiXTtpZighMD09PWguaXNXZWJHTDFSZW5kZXJlciYmZS5zaGlmdCgpLG10PWZ0KGUsdCksbnVsbD09PW10KXRocm93IGZ0KGUpP25ldyBFcnJvcigiRXJyb3IgY3JlYXRpbmcgV2ViR0wgY29udGV4dCB3aXRoIHlvdXIgc2VsZWN0ZWQgYXR0cmlidXRlcy4iKTpuZXcgRXJyb3IoIkVycm9yIGNyZWF0aW5nIFdlYkdMIGNvbnRleHQuIil9dm9pZCAwPT09bXQuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0JiYobXQuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0PWZ1bmN0aW9uKCl7cmV0dXJue3JhbmdlTWluOjEscmFuZ2VNYXg6MSxwcmVjaXNpb246MX19KX1jYXRjaCh0KXt0aHJvdyBjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAiK3QubWVzc2FnZSksdH1mdW5jdGlvbiB1dCgpe1U9bmV3IHpkdChtdCksVz1uZXcgb2R0KG10LFUsdCksVS5pbml0KFcpLGR0PW5ldyBSbXQobXQsVSxXKSxHPW5ldyBTbXQobXQsVSxXKSxOWzBdPTEwMjksWT1uZXcgRmR0KG10KSxxPW5ldyB1bXQsWj1uZXcgRG10KG10LFUsRyxxLFcsZHQsWSksWD1uZXcgYWR0KGgpLEs9bmV3IE5kdChoKSxKPW5ldyBYY3QobXQsVykscHQ9bmV3IGVkdChtdCxVLEosVyksUT1uZXcgSWR0KG10LEosWSxwdCksJD1uZXcgamR0KG10LFEsSixZKSxzdD1uZXcgVmR0KG10KSxpdD1uZXcgaWR0KHEpLHR0PW5ldyBmbXQoaCxYLEssVSxXLHB0LGl0KSxldD1uZXcgSW10KHEpLG50PW5ldyB5bXQocSksb3Q9bmV3IE9tdChVLFcpLHJ0PW5ldyB0ZHQoaCxYLEcsJCxsKSxhdD1uZXcga210KGgsJCxXKSxsdD1uZXcgbmR0KG10LFUsWSxXKSxjdD1uZXcgSGR0KG10LFUsWSxXKSxZLnByb2dyYW1zPXR0LnByb2dyYW1zLGguY2FwYWJpbGl0aWVzPVcsaC5leHRlbnNpb25zPVUsaC5wcm9wZXJ0aWVzPXEsaC5yZW5kZXJMaXN0cz1udCxoLnNoYWRvd01hcD1hdCxoLnN0YXRlPUcsaC5pbmZvPVl9dXQoKTtjb25zdCBndD1uZXcgem10KGgsbXQpO2Z1bmN0aW9uIGh0KHQpe3QucHJldmVudERlZmF1bHQoKSxjb25zb2xlLmxvZygiVEhSRUUuV2ViR0xSZW5kZXJlcjogQ29udGV4dCBMb3N0LiIpLGI9ITB9ZnVuY3Rpb24gYnQoKXtjb25zb2xlLmxvZygiVEhSRUUuV2ViR0xSZW5kZXJlcjogQ29udGV4dCBSZXN0b3JlZC4iKSxiPSExO2NvbnN0IHQ9WS5hdXRvUmVzZXQsZT1hdC5lbmFibGVkLG49YXQuYXV0b1VwZGF0ZSxvPWF0Lm5lZWRzVXBkYXRlLGk9YXQudHlwZTt1dCgpLFkuYXV0b1Jlc2V0PXQsYXQuZW5hYmxlZD1lLGF0LmF1dG9VcGRhdGU9bixhdC5uZWVkc1VwZGF0ZT1vLGF0LnR5cGU9aX1mdW5jdGlvbiB5dCh0KXtjb25zdCBlPXQudGFyZ2V0O2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIseXQpLChmdW5jdGlvbiBuKHQpeyhmdW5jdGlvbiBlKHQpe2NvbnN0IGU9cS5nZXQodCkucHJvZ3JhbXM7dm9pZCAwIT09ZSYmZS5mb3JFYWNoKChmdW5jdGlvbih0KXt0dC5yZWxlYXNlUHJvZ3JhbSh0KX0pKX0pKHQpLHEucmVtb3ZlKHQpfSkoZSl9dGhpcy54cj1ndCx0aGlzLmdldENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gbXR9LHRoaXMuZ2V0Q29udGV4dEF0dHJpYnV0ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gbXQuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKX0sdGhpcy5mb3JjZUNvbnRleHRMb3NzPWZ1bmN0aW9uKCl7Y29uc3QgdD1VLmdldCgiV0VCR0xfbG9zZV9jb250ZXh0Iik7dCYmdC5sb3NlQ29udGV4dCgpfSx0aGlzLmZvcmNlQ29udGV4dFJlc3RvcmU9ZnVuY3Rpb24oKXtjb25zdCB0PVUuZ2V0KCJXRUJHTF9sb3NlX2NvbnRleHQiKTt0JiZ0LnJlc3RvcmVDb250ZXh0KCl9LHRoaXMuZ2V0UGl4ZWxSYXRpbz1mdW5jdGlvbigpe3JldHVybiBTfSx0aGlzLnNldFBpeGVsUmF0aW89ZnVuY3Rpb24odCl7dm9pZCAwIT09dCYmKFM9dCx0aGlzLnNldFNpemUodyxrLCExKSl9LHRoaXMuZ2V0U2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5zZXQodyxrKX0sdGhpcy5zZXRTaXplPWZ1bmN0aW9uKHQsbixvKXtndC5pc1ByZXNlbnRpbmc/Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiBDYW4ndCBjaGFuZ2Ugc2l6ZSB3aGlsZSBWUiBkZXZpY2UgaXMgcHJlc2VudGluZy4iKToodz10LGs9bixlLndpZHRoPU1hdGguZmxvb3IodCpTKSxlLmhlaWdodD1NYXRoLmZsb29yKG4qUyksITEhPT1vJiYoZS5zdHlsZS53aWR0aD10KyJweCIsZS5zdHlsZS5oZWlnaHQ9bisicHgiKSx0aGlzLnNldFZpZXdwb3J0KDAsMCx0LG4pKX0sdGhpcy5nZXREcmF3aW5nQnVmZmVyU2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5zZXQodypTLGsqUykuZmxvb3IoKX0sdGhpcy5zZXREcmF3aW5nQnVmZmVyU2l6ZT1mdW5jdGlvbih0LG4sbyl7dz10LGs9bixTPW8sZS53aWR0aD1NYXRoLmZsb29yKHQqbyksZS5oZWlnaHQ9TWF0aC5mbG9vcihuKm8pLHRoaXMuc2V0Vmlld3BvcnQoMCwwLHQsbil9LHRoaXMuZ2V0Q3VycmVudFZpZXdwb3J0PWZ1bmN0aW9uKHQpe3JldHVybiB0LmNvcHkoeCl9LHRoaXMuZ2V0Vmlld3BvcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weShFKX0sdGhpcy5zZXRWaWV3cG9ydD1mdW5jdGlvbih0LGUsbixvKXt0LmlzVmVjdG9yND9FLnNldCh0LngsdC55LHQueix0LncpOkUuc2V0KHQsZSxuLG8pLEcudmlld3BvcnQoeC5jb3B5KEUpLm11bHRpcGx5U2NhbGFyKFMpLmZsb29yKCkpfSx0aGlzLmdldFNjaXNzb3I9ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weShBKX0sdGhpcy5zZXRTY2lzc29yPWZ1bmN0aW9uKHQsZSxuLG8pe3QuaXNWZWN0b3I0P0Euc2V0KHQueCx0LnksdC56LHQudyk6QS5zZXQodCxlLG4sbyksRy5zY2lzc29yKE8uY29weShBKS5tdWx0aXBseVNjYWxhcihTKS5mbG9vcigpKX0sdGhpcy5nZXRTY2lzc29yVGVzdD1mdW5jdGlvbigpe3JldHVybiBUfSx0aGlzLnNldFNjaXNzb3JUZXN0PWZ1bmN0aW9uKHQpe0cuc2V0U2Npc3NvclRlc3QoVD10KX0sdGhpcy5zZXRPcGFxdWVTb3J0PWZ1bmN0aW9uKHQpe0Q9dH0sdGhpcy5zZXRUcmFuc3BhcmVudFNvcnQ9ZnVuY3Rpb24odCl7Uj10fSx0aGlzLmdldENsZWFyQ29sb3I9ZnVuY3Rpb24odCl7cmV0dXJuIHQuY29weShydC5nZXRDbGVhckNvbG9yKCkpfSx0aGlzLnNldENsZWFyQ29sb3I9ZnVuY3Rpb24oKXtydC5zZXRDbGVhckNvbG9yLmFwcGx5KHJ0LGFyZ3VtZW50cyl9LHRoaXMuZ2V0Q2xlYXJBbHBoYT1mdW5jdGlvbigpe3JldHVybiBydC5nZXRDbGVhckFscGhhKCl9LHRoaXMuc2V0Q2xlYXJBbHBoYT1mdW5jdGlvbigpe3J0LnNldENsZWFyQWxwaGEuYXBwbHkocnQsYXJndW1lbnRzKX0sdGhpcy5jbGVhcj1mdW5jdGlvbih0LGUsbil7bGV0IG89MDsodm9pZCAwPT09dHx8dCkmJihvfD0xNjM4NCksKHZvaWQgMD09PWV8fGUpJiYob3w9MjU2KSwodm9pZCAwPT09bnx8bikmJihvfD0xMDI0KSxtdC5jbGVhcihvKX0sdGhpcy5jbGVhckNvbG9yPWZ1bmN0aW9uKCl7dGhpcy5jbGVhcighMCwhMSwhMSl9LHRoaXMuY2xlYXJEZXB0aD1mdW5jdGlvbigpe3RoaXMuY2xlYXIoITEsITAsITEpfSx0aGlzLmNsZWFyU3RlbmNpbD1mdW5jdGlvbigpe3RoaXMuY2xlYXIoITEsITEsITApfSx0aGlzLmRpc3Bvc2U9ZnVuY3Rpb24oKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dGxvc3QiLGh0LCExKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIndlYmdsY29udGV4dHJlc3RvcmVkIixidCwhMSksbnQuZGlzcG9zZSgpLG90LmRpc3Bvc2UoKSxxLmRpc3Bvc2UoKSxYLmRpc3Bvc2UoKSxLLmRpc3Bvc2UoKSwkLmRpc3Bvc2UoKSxwdC5kaXNwb3NlKCksZ3QuZGlzcG9zZSgpLGd0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlc3Npb25zdGFydCIsQ3QpLGd0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlc3Npb25lbmQiLE10KSxGJiYoRi5kaXNwb3NlKCksRj1udWxsKSx2dC5zdG9wKCl9LHRoaXMucmVuZGVyQnVmZmVySW1tZWRpYXRlPWZ1bmN0aW9uKHQsZSl7cHQuaW5pdEF0dHJpYnV0ZXMoKTtjb25zdCBuPXEuZ2V0KHQpO3QuaGFzUG9zaXRpb25zJiYhbi5wb3NpdGlvbiYmKG4ucG9zaXRpb249bXQuY3JlYXRlQnVmZmVyKCkpLHQuaGFzTm9ybWFscyYmIW4ubm9ybWFsJiYobi5ub3JtYWw9bXQuY3JlYXRlQnVmZmVyKCkpLHQuaGFzVXZzJiYhbi51diYmKG4udXY9bXQuY3JlYXRlQnVmZmVyKCkpLHQuaGFzQ29sb3JzJiYhbi5jb2xvciYmKG4uY29sb3I9bXQuY3JlYXRlQnVmZmVyKCkpO2NvbnN0IG89ZS5nZXRBdHRyaWJ1dGVzKCk7dC5oYXNQb3NpdGlvbnMmJihtdC5iaW5kQnVmZmVyKDM0OTYyLG4ucG9zaXRpb24pLG10LmJ1ZmZlckRhdGEoMzQ5NjIsdC5wb3NpdGlvbkFycmF5LDM1MDQ4KSxwdC5lbmFibGVBdHRyaWJ1dGUoby5wb3NpdGlvbiksbXQudmVydGV4QXR0cmliUG9pbnRlcihvLnBvc2l0aW9uLDMsNTEyNiwhMSwwLDApKSx0Lmhhc05vcm1hbHMmJihtdC5iaW5kQnVmZmVyKDM0OTYyLG4ubm9ybWFsKSxtdC5idWZmZXJEYXRhKDM0OTYyLHQubm9ybWFsQXJyYXksMzUwNDgpLHB0LmVuYWJsZUF0dHJpYnV0ZShvLm5vcm1hbCksbXQudmVydGV4QXR0cmliUG9pbnRlcihvLm5vcm1hbCwzLDUxMjYsITEsMCwwKSksdC5oYXNVdnMmJihtdC5iaW5kQnVmZmVyKDM0OTYyLG4udXYpLG10LmJ1ZmZlckRhdGEoMzQ5NjIsdC51dkFycmF5LDM1MDQ4KSxwdC5lbmFibGVBdHRyaWJ1dGUoby51diksbXQudmVydGV4QXR0cmliUG9pbnRlcihvLnV2LDIsNTEyNiwhMSwwLDApKSx0Lmhhc0NvbG9ycyYmKG10LmJpbmRCdWZmZXIoMzQ5NjIsbi5jb2xvciksbXQuYnVmZmVyRGF0YSgzNDk2Mix0LmNvbG9yQXJyYXksMzUwNDgpLHB0LmVuYWJsZUF0dHJpYnV0ZShvLmNvbG9yKSxtdC52ZXJ0ZXhBdHRyaWJQb2ludGVyKG8uY29sb3IsMyw1MTI2LCExLDAsMCkpLHB0LmRpc2FibGVVbnVzZWRBdHRyaWJ1dGVzKCksbXQuZHJhd0FycmF5cyg0LDAsdC5jb3VudCksdC5jb3VudD0wfSx0aGlzLnJlbmRlckJ1ZmZlckRpcmVjdD1mdW5jdGlvbih0LGUsbixvLGksYSl7bnVsbD09PWUmJihlPVYpO2NvbnN0IHI9aS5pc01lc2gmJmkubWF0cml4V29ybGQuZGV0ZXJtaW5hbnQoKTwwLHM9U3QodCxlLG8saSk7Ry5zZXRNYXRlcmlhbChvLHIpO2xldCBsPW4uaW5kZXg7Y29uc3QgYz1uLmF0dHJpYnV0ZXMucG9zaXRpb247aWYobnVsbD09PWwpe2lmKHZvaWQgMD09PWN8fDA9PT1jLmNvdW50KXJldHVybn1lbHNlIGlmKDA9PT1sLmNvdW50KXJldHVybjtsZXQgZCxwPTE7ITA9PT1vLndpcmVmcmFtZSYmKGw9US5nZXRXaXJlZnJhbWVBdHRyaWJ1dGUobikscD0yKSx2b2lkIDA9PT1uLm1vcnBoQXR0cmlidXRlcy5wb3NpdGlvbiYmdm9pZCAwPT09bi5tb3JwaEF0dHJpYnV0ZXMubm9ybWFsfHxzdC51cGRhdGUoaSxuLG8scykscHQuc2V0dXAoaSxvLHMsbixsKTtsZXQgbT1sdDtudWxsIT09bCYmKGQ9Si5nZXQobCksbT1jdCxtLnNldEluZGV4KGQpKTtjb25zdCBmPW51bGwhPT1sP2wuY291bnQ6Yy5jb3VudCx1PW4uZHJhd1JhbmdlLnN0YXJ0KnAsZz1uLmRyYXdSYW5nZS5jb3VudCpwLGg9bnVsbCE9PWE/YS5zdGFydCpwOjAsYj1udWxsIT09YT9hLmNvdW50KnA6MS8wLHk9TWF0aC5tYXgodSxoKSxfPU1hdGgubWluKGYsdStnLGgrYiktMSxDPU1hdGgubWF4KDAsXy15KzEpO2lmKDAhPT1DKXtpZihpLmlzTWVzaCkhMD09PW8ud2lyZWZyYW1lPyhHLnNldExpbmVXaWR0aChvLndpcmVmcmFtZUxpbmV3aWR0aCpqKCkpLG0uc2V0TW9kZSgxKSk6bS5zZXRNb2RlKDQpO2Vsc2UgaWYoaS5pc0xpbmUpe2xldCB0PW8ubGluZXdpZHRoO3ZvaWQgMD09PXQmJih0PTEpLEcuc2V0TGluZVdpZHRoKHQqaigpKSxtLnNldE1vZGUoaS5pc0xpbmVTZWdtZW50cz8xOmkuaXNMaW5lTG9vcD8yOjMpfWVsc2UgaS5pc1BvaW50cz9tLnNldE1vZGUoMCk6aS5pc1Nwcml0ZSYmbS5zZXRNb2RlKDQpO2lmKGkuaXNJbnN0YW5jZWRNZXNoKW0ucmVuZGVySW5zdGFuY2VzKHksQyxpLmNvdW50KTtlbHNlIGlmKG4uaXNJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSl7Y29uc3QgdD1NYXRoLm1pbihuLmluc3RhbmNlQ291bnQsbi5fbWF4SW5zdGFuY2VDb3VudCk7bS5yZW5kZXJJbnN0YW5jZXMoeSxDLHQpfWVsc2UgbS5yZW5kZXIoeSxDKX19LHRoaXMuY29tcGlsZT1mdW5jdGlvbih0LGUpe2Y9b3QuZ2V0KHQpLGYuaW5pdCgpLGcucHVzaChmKSx0LnRyYXZlcnNlVmlzaWJsZSgoZnVuY3Rpb24odCl7dC5pc0xpZ2h0JiZ0LmxheWVycy50ZXN0KGUubGF5ZXJzKSYmKGYucHVzaExpZ2h0KHQpLHQuY2FzdFNoYWRvdyYmZi5wdXNoU2hhZG93KHQpKX0pKSxmLnNldHVwTGlnaHRzKCksdC50cmF2ZXJzZSgoZnVuY3Rpb24oZSl7Y29uc3Qgbj1lLm1hdGVyaWFsO2lmKG4paWYoQXJyYXkuaXNBcnJheShuKSlmb3IobGV0IG89MDtvPG4ubGVuZ3RoO28rKyl7d3QobltvXSx0LGUpfWVsc2Ugd3Qobix0LGUpfSkpLGcucG9wKCksZj1udWxsfTtsZXQgX3Q9bnVsbDtmdW5jdGlvbiBDdCgpe3Z0LnN0b3AoKX1mdW5jdGlvbiBNdCgpe3Z0LnN0YXJ0KCl9Y29uc3QgdnQ9bmV3IFpjdDtmdW5jdGlvbiB4dCh0LGUsbixvKXtpZighMT09PXQudmlzaWJsZSlyZXR1cm47aWYodC5sYXllcnMudGVzdChlLmxheWVycykpaWYodC5pc0dyb3VwKW49dC5yZW5kZXJPcmRlcjtlbHNlIGlmKHQuaXNMT0QpITA9PT10LmF1dG9VcGRhdGUmJnQudXBkYXRlKGUpO2Vsc2UgaWYodC5pc0xpZ2h0KWYucHVzaExpZ2h0KHQpLHQuY2FzdFNoYWRvdyYmZi5wdXNoU2hhZG93KHQpO2Vsc2UgaWYodC5pc1Nwcml0ZSl7aWYoIXQuZnJ1c3R1bUN1bGxlZHx8ei5pbnRlcnNlY3RzU3ByaXRlKHQpKXtvJiZCLnNldEZyb21NYXRyaXhQb3NpdGlvbih0Lm1hdHJpeFdvcmxkKS5hcHBseU1hdHJpeDQoTCk7Y29uc3QgZT0kLnVwZGF0ZSh0KSxpPXQubWF0ZXJpYWw7aS52aXNpYmxlJiZtLnB1c2godCxlLGksbixCLnosbnVsbCl9fWVsc2UgaWYodC5pc0ltbWVkaWF0ZVJlbmRlck9iamVjdClvJiZCLnNldEZyb21NYXRyaXhQb3NpdGlvbih0Lm1hdHJpeFdvcmxkKS5hcHBseU1hdHJpeDQoTCksbS5wdXNoKHQsbnVsbCx0Lm1hdGVyaWFsLG4sQi56LG51bGwpO2Vsc2UgaWYoKHQuaXNNZXNofHx0LmlzTGluZXx8dC5pc1BvaW50cykmJih0LmlzU2tpbm5lZE1lc2gmJnQuc2tlbGV0b24uZnJhbWUhPT1ZLnJlbmRlci5mcmFtZSYmKHQuc2tlbGV0b24udXBkYXRlKCksdC5za2VsZXRvbi5mcmFtZT1ZLnJlbmRlci5mcmFtZSksIXQuZnJ1c3R1bUN1bGxlZHx8ei5pbnRlcnNlY3RzT2JqZWN0KHQpKSl7byYmQi5zZXRGcm9tTWF0cml4UG9zaXRpb24odC5tYXRyaXhXb3JsZCkuYXBwbHlNYXRyaXg0KEwpO2NvbnN0IGU9JC51cGRhdGUodCksaT10Lm1hdGVyaWFsO2lmKEFycmF5LmlzQXJyYXkoaSkpe2NvbnN0IG89ZS5ncm91cHM7Zm9yKGxldCBhPTAscj1vLmxlbmd0aDthPHI7YSsrKXtjb25zdCByPW9bYV0scz1pW3IubWF0ZXJpYWxJbmRleF07cyYmcy52aXNpYmxlJiZtLnB1c2godCxlLHMsbixCLnoscil9fWVsc2UgaS52aXNpYmxlJiZtLnB1c2godCxlLGksbixCLnosbnVsbCl9Y29uc3QgaT10LmNoaWxkcmVuO2ZvcihsZXQgdD0wLGE9aS5sZW5ndGg7dDxhO3QrKyl4dChpW3RdLGUsbixvKX1mdW5jdGlvbiBPdCh0LGUsbil7Y29uc3Qgbz0hMD09PWUuaXNTY2VuZT9lLm92ZXJyaWRlTWF0ZXJpYWw6bnVsbDtpZihuLmlzQXJyYXlDYW1lcmEpe2NvbnN0IGk9bi5jYW1lcmFzO2ZvcihsZXQgbj0wLGE9aS5sZW5ndGg7bjxhO24rKyl7Y29uc3QgYT1pW25dO0cudmlld3BvcnQoeC5jb3B5KGEudmlld3BvcnQpKSxmLnNldHVwTGlnaHRzVmlldyhhKTtmb3IobGV0IG49MCxpPXQubGVuZ3RoO248aTtuKyspe2NvbnN0IGk9dFtuXSxyPWkub2JqZWN0LHM9aS5nZW9tZXRyeSxsPW51bGw9PT1vP2kubWF0ZXJpYWw6byxjPWkuZ3JvdXA7ci5sYXllcnMudGVzdChhLmxheWVycykmJlB0KHIsZSxhLHMsbCxjKX19fWVsc2UgZm9yKGxldCBpPTAsYT10Lmxlbmd0aDtpPGE7aSsrKXtjb25zdCBhPXRbaV07UHQoYS5vYmplY3QsZSxuLGEuZ2VvbWV0cnksbnVsbD09PW8/YS5tYXRlcmlhbDpvLGEuZ3JvdXApfX1mdW5jdGlvbiBQdCh0LGUsbixvLGksYSl7aWYodC5vbkJlZm9yZVJlbmRlcihoLGUsbixvLGksYSksdC5tb2RlbFZpZXdNYXRyaXgubXVsdGlwbHlNYXRyaWNlcyhuLm1hdHJpeFdvcmxkSW52ZXJzZSx0Lm1hdHJpeFdvcmxkKSx0Lm5vcm1hbE1hdHJpeC5nZXROb3JtYWxNYXRyaXgodC5tb2RlbFZpZXdNYXRyaXgpLHQuaXNJbW1lZGlhdGVSZW5kZXJPYmplY3Qpe2NvbnN0IG89U3QobixlLGksdCk7Ry5zZXRNYXRlcmlhbChpKSxwdC5yZXNldCgpLChmdW5jdGlvbiByKHQsZSl7dC5yZW5kZXIoKGZ1bmN0aW9uKHQpe2gucmVuZGVyQnVmZmVySW1tZWRpYXRlKHQsZSl9KSl9KSh0LG8pfWVsc2UhMD09PWkudHJhbnNwYXJlbnQmJjI9PT1pLnNpZGU/KGkuc2lkZT0xLGkubmVlZHNVcGRhdGU9ITAsaC5yZW5kZXJCdWZmZXJEaXJlY3QobixlLG8saSx0LGEpLGkuc2lkZT0wLGkubmVlZHNVcGRhdGU9ITAsaC5yZW5kZXJCdWZmZXJEaXJlY3QobixlLG8saSx0LGEpLGkuc2lkZT0yKTpoLnJlbmRlckJ1ZmZlckRpcmVjdChuLGUsbyxpLHQsYSk7dC5vbkFmdGVyUmVuZGVyKGgsZSxuLG8saSxhKX1mdW5jdGlvbiB3dCh0LGUsbil7ITAhPT1lLmlzU2NlbmUmJihlPVYpO2NvbnN0IG89cS5nZXQodCksaT1mLnN0YXRlLmxpZ2h0cyxhPWkuc3RhdGUudmVyc2lvbixyPXR0LmdldFBhcmFtZXRlcnModCxpLnN0YXRlLGYuc3RhdGUuc2hhZG93c0FycmF5LGUsbikscz10dC5nZXRQcm9ncmFtQ2FjaGVLZXkocik7bGV0IGw9by5wcm9ncmFtcztvLmVudmlyb25tZW50PXQuaXNNZXNoU3RhbmRhcmRNYXRlcmlhbD9lLmVudmlyb25tZW50Om51bGwsby5mb2c9ZS5mb2csby5lbnZNYXA9KHQuaXNNZXNoU3RhbmRhcmRNYXRlcmlhbD9LOlgpLmdldCh0LmVudk1hcHx8by5lbnZpcm9ubWVudCksdm9pZCAwPT09bCYmKHQuYWRkRXZlbnRMaXN0ZW5lcigiZGlzcG9zZSIseXQpLGw9bmV3IE1hcCxvLnByb2dyYW1zPWwpO2xldCBjPWwuZ2V0KHMpO2lmKHZvaWQgMCE9PWMpe2lmKG8uY3VycmVudFByb2dyYW09PT1jJiZvLmxpZ2h0c1N0YXRlVmVyc2lvbj09PWEpcmV0dXJuIGt0KHQsciksY31lbHNlIHIudW5pZm9ybXM9dHQuZ2V0VW5pZm9ybXModCksdC5vbkJ1aWxkKHIsaCksdC5vbkJlZm9yZUNvbXBpbGUocixoKSxjPXR0LmFjcXVpcmVQcm9ncmFtKHIscyksbC5zZXQocyxjKSxvLnVuaWZvcm1zPXIudW5pZm9ybXM7Y29uc3QgZD1vLnVuaWZvcm1zOyh0LmlzU2hhZGVyTWF0ZXJpYWx8fHQuaXNSYXdTaGFkZXJNYXRlcmlhbCkmJiEwIT09dC5jbGlwcGluZ3x8KGQuY2xpcHBpbmdQbGFuZXM9aXQudW5pZm9ybSksa3QodCxyKSxvLm5lZWRzTGlnaHRzPShmdW5jdGlvbiBwKHQpe3JldHVybiB0LmlzTWVzaExhbWJlcnRNYXRlcmlhbHx8dC5pc01lc2hUb29uTWF0ZXJpYWx8fHQuaXNNZXNoUGhvbmdNYXRlcmlhbHx8dC5pc01lc2hTdGFuZGFyZE1hdGVyaWFsfHx0LmlzU2hhZG93TWF0ZXJpYWx8fHQuaXNTaGFkZXJNYXRlcmlhbCYmITA9PT10LmxpZ2h0c30pKHQpLG8ubGlnaHRzU3RhdGVWZXJzaW9uPWEsby5uZWVkc0xpZ2h0cyYmKGQuYW1iaWVudExpZ2h0Q29sb3IudmFsdWU9aS5zdGF0ZS5hbWJpZW50LGQubGlnaHRQcm9iZS52YWx1ZT1pLnN0YXRlLnByb2JlLGQuZGlyZWN0aW9uYWxMaWdodHMudmFsdWU9aS5zdGF0ZS5kaXJlY3Rpb25hbCxkLmRpcmVjdGlvbmFsTGlnaHRTaGFkb3dzLnZhbHVlPWkuc3RhdGUuZGlyZWN0aW9uYWxTaGFkb3csZC5zcG90TGlnaHRzLnZhbHVlPWkuc3RhdGUuc3BvdCxkLnNwb3RMaWdodFNoYWRvd3MudmFsdWU9aS5zdGF0ZS5zcG90U2hhZG93LGQucmVjdEFyZWFMaWdodHMudmFsdWU9aS5zdGF0ZS5yZWN0QXJlYSxkLmx0Y18xLnZhbHVlPWkuc3RhdGUucmVjdEFyZWFMVEMxLGQubHRjXzIudmFsdWU9aS5zdGF0ZS5yZWN0QXJlYUxUQzIsZC5wb2ludExpZ2h0cy52YWx1ZT1pLnN0YXRlLnBvaW50LGQucG9pbnRMaWdodFNoYWRvd3MudmFsdWU9aS5zdGF0ZS5wb2ludFNoYWRvdyxkLmhlbWlzcGhlcmVMaWdodHMudmFsdWU9aS5zdGF0ZS5oZW1pLGQuZGlyZWN0aW9uYWxTaGFkb3dNYXAudmFsdWU9aS5zdGF0ZS5kaXJlY3Rpb25hbFNoYWRvd01hcCxkLmRpcmVjdGlvbmFsU2hhZG93TWF0cml4LnZhbHVlPWkuc3RhdGUuZGlyZWN0aW9uYWxTaGFkb3dNYXRyaXgsZC5zcG90U2hhZG93TWFwLnZhbHVlPWkuc3RhdGUuc3BvdFNoYWRvd01hcCxkLnNwb3RTaGFkb3dNYXRyaXgudmFsdWU9aS5zdGF0ZS5zcG90U2hhZG93TWF0cml4LGQucG9pbnRTaGFkb3dNYXAudmFsdWU9aS5zdGF0ZS5wb2ludFNoYWRvd01hcCxkLnBvaW50U2hhZG93TWF0cml4LnZhbHVlPWkuc3RhdGUucG9pbnRTaGFkb3dNYXRyaXgpO2NvbnN0IG09Yy5nZXRVbmlmb3JtcygpLHU9WXB0LnNlcVdpdGhWYWx1ZShtLnNlcSxkKTtyZXR1cm4gby5jdXJyZW50UHJvZ3JhbT1jLG8udW5pZm9ybXNMaXN0PXUsY31mdW5jdGlvbiBrdCh0LGUpe2NvbnN0IG49cS5nZXQodCk7bi5vdXRwdXRFbmNvZGluZz1lLm91dHB1dEVuY29kaW5nLG4uaW5zdGFuY2luZz1lLmluc3RhbmNpbmcsbi5za2lubmluZz1lLnNraW5uaW5nLG4ubW9ycGhUYXJnZXRzPWUubW9ycGhUYXJnZXRzLG4ubW9ycGhOb3JtYWxzPWUubW9ycGhOb3JtYWxzLG4ubnVtQ2xpcHBpbmdQbGFuZXM9ZS5udW1DbGlwcGluZ1BsYW5lcyxuLm51bUludGVyc2VjdGlvbj1lLm51bUNsaXBJbnRlcnNlY3Rpb24sbi52ZXJ0ZXhBbHBoYXM9ZS52ZXJ0ZXhBbHBoYXMsbi52ZXJ0ZXhUYW5nZW50cz1lLnZlcnRleFRhbmdlbnRzfWZ1bmN0aW9uIFN0KHQsZSxuLG8peyEwIT09ZS5pc1NjZW5lJiYoZT1WKSxaLnJlc2V0VGV4dHVyZVVuaXRzKCk7Y29uc3QgaT1lLmZvZyxhPW51bGw9PT1DP2gub3V0cHV0RW5jb2Rpbmc6Qy50ZXh0dXJlLmVuY29kaW5nLHI9KG4uaXNNZXNoU3RhbmRhcmRNYXRlcmlhbD9LOlgpLmdldChuLmVudk1hcHx8KG4uaXNNZXNoU3RhbmRhcmRNYXRlcmlhbD9lLmVudmlyb25tZW50Om51bGwpKSxzPSEwPT09bi52ZXJ0ZXhDb2xvcnMmJiEhby5nZW9tZXRyeSYmISFvLmdlb21ldHJ5LmF0dHJpYnV0ZXMuY29sb3ImJjQ9PT1vLmdlb21ldHJ5LmF0dHJpYnV0ZXMuY29sb3IuaXRlbVNpemUsbD0hIW8uZ2VvbWV0cnkmJiEhby5nZW9tZXRyeS5hdHRyaWJ1dGVzLnRhbmdlbnQsYz0hIW8uZ2VvbWV0cnkmJiEhby5nZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMucG9zaXRpb24sZD0hIW8uZ2VvbWV0cnkmJiEhby5nZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMubm9ybWFsLHA9cS5nZXQobiksbT1mLnN0YXRlLmxpZ2h0cztpZighMD09PUkmJighMD09PUh8fHQhPT12KSl7aXQuc2V0U3RhdGUobix0LHQ9PT12JiZuLmlkPT09TSl9bGV0IHU9ITE7bi52ZXJzaW9uPT09cC5fX3ZlcnNpb24/cC5uZWVkc0xpZ2h0cyYmcC5saWdodHNTdGF0ZVZlcnNpb24hPT1tLnN0YXRlLnZlcnNpb258fHAub3V0cHV0RW5jb2RpbmchPT1hfHxvLmlzSW5zdGFuY2VkTWVzaCYmITE9PT1wLmluc3RhbmNpbmc/dT0hMDpvLmlzSW5zdGFuY2VkTWVzaHx8ITAhPT1wLmluc3RhbmNpbmc/by5pc1NraW5uZWRNZXNoJiYhMT09PXAuc2tpbm5pbmc/dT0hMDpvLmlzU2tpbm5lZE1lc2h8fCEwIT09cC5za2lubmluZz9wLmVudk1hcCE9PXJ8fG4uZm9nJiZwLmZvZyE9PWk/dT0hMDp2b2lkIDA9PT1wLm51bUNsaXBwaW5nUGxhbmVzfHxwLm51bUNsaXBwaW5nUGxhbmVzPT09aXQubnVtUGxhbmVzJiZwLm51bUludGVyc2VjdGlvbj09PWl0Lm51bUludGVyc2VjdGlvbj8ocC52ZXJ0ZXhBbHBoYXMhPT1zfHxwLnZlcnRleFRhbmdlbnRzIT09bHx8cC5tb3JwaFRhcmdldHMhPT1jfHxwLm1vcnBoTm9ybWFscyE9PWQpJiYodT0hMCk6dT0hMDp1PSEwOnU9ITA6KHU9ITAscC5fX3ZlcnNpb249bi52ZXJzaW9uKTtsZXQgZz1wLmN1cnJlbnRQcm9ncmFtOyEwPT09dSYmKGc9d3QobixlLG8pKTtsZXQgYj0hMSx5PSExLF89ITE7Y29uc3QgeD1nLmdldFVuaWZvcm1zKCksTz1wLnVuaWZvcm1zO2lmKEcudXNlUHJvZ3JhbShnLnByb2dyYW0pJiYoYj0hMCx5PSEwLF89ITApLG4uaWQhPT1NJiYoTT1uLmlkLHk9ITApLGJ8fHYhPT10KXtpZih4LnNldFZhbHVlKG10LCJwcm9qZWN0aW9uTWF0cml4Iix0LnByb2plY3Rpb25NYXRyaXgpLFcubG9nYXJpdGhtaWNEZXB0aEJ1ZmZlciYmeC5zZXRWYWx1ZShtdCwibG9nRGVwdGhCdWZGQyIsMi8oTWF0aC5sb2codC5mYXIrMSkvTWF0aC5MTjIpKSx2IT09dCYmKHY9dCx5PSEwLF89ITApLG4uaXNTaGFkZXJNYXRlcmlhbHx8bi5pc01lc2hQaG9uZ01hdGVyaWFsfHxuLmlzTWVzaFRvb25NYXRlcmlhbHx8bi5pc01lc2hTdGFuZGFyZE1hdGVyaWFsfHxuLmVudk1hcCl7Y29uc3QgZT14Lm1hcC5jYW1lcmFQb3NpdGlvbjt2b2lkIDAhPT1lJiZlLnNldFZhbHVlKG10LEIuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQubWF0cml4V29ybGQpKX0obi5pc01lc2hQaG9uZ01hdGVyaWFsfHxuLmlzTWVzaFRvb25NYXRlcmlhbHx8bi5pc01lc2hMYW1iZXJ0TWF0ZXJpYWx8fG4uaXNNZXNoQmFzaWNNYXRlcmlhbHx8bi5pc01lc2hTdGFuZGFyZE1hdGVyaWFsfHxuLmlzU2hhZGVyTWF0ZXJpYWwpJiZ4LnNldFZhbHVlKG10LCJpc09ydGhvZ3JhcGhpYyIsITA9PT10LmlzT3J0aG9ncmFwaGljQ2FtZXJhKSwobi5pc01lc2hQaG9uZ01hdGVyaWFsfHxuLmlzTWVzaFRvb25NYXRlcmlhbHx8bi5pc01lc2hMYW1iZXJ0TWF0ZXJpYWx8fG4uaXNNZXNoQmFzaWNNYXRlcmlhbHx8bi5pc01lc2hTdGFuZGFyZE1hdGVyaWFsfHxuLmlzU2hhZGVyTWF0ZXJpYWx8fG4uaXNTaGFkb3dNYXRlcmlhbHx8by5pc1NraW5uZWRNZXNoKSYmeC5zZXRWYWx1ZShtdCwidmlld01hdHJpeCIsdC5tYXRyaXhXb3JsZEludmVyc2UpfWlmKG8uaXNTa2lubmVkTWVzaCl7eC5zZXRPcHRpb25hbChtdCxvLCJiaW5kTWF0cml4IikseC5zZXRPcHRpb25hbChtdCxvLCJiaW5kTWF0cml4SW52ZXJzZSIpO2NvbnN0IHQ9by5za2VsZXRvbjt0JiYoVy5mbG9hdFZlcnRleFRleHR1cmVzPyhudWxsPT09dC5ib25lVGV4dHVyZSYmdC5jb21wdXRlQm9uZVRleHR1cmUoKSx4LnNldFZhbHVlKG10LCJib25lVGV4dHVyZSIsdC5ib25lVGV4dHVyZSxaKSx4LnNldFZhbHVlKG10LCJib25lVGV4dHVyZVNpemUiLHQuYm9uZVRleHR1cmVTaXplKSk6eC5zZXRPcHRpb25hbChtdCx0LCJib25lTWF0cmljZXMiKSl9cmV0dXJuKHl8fHAucmVjZWl2ZVNoYWRvdyE9PW8ucmVjZWl2ZVNoYWRvdykmJihwLnJlY2VpdmVTaGFkb3c9by5yZWNlaXZlU2hhZG93LHguc2V0VmFsdWUobXQsInJlY2VpdmVTaGFkb3ciLG8ucmVjZWl2ZVNoYWRvdykpLHkmJih4LnNldFZhbHVlKG10LCJ0b25lTWFwcGluZ0V4cG9zdXJlIixoLnRvbmVNYXBwaW5nRXhwb3N1cmUpLHAubmVlZHNMaWdodHMmJihmdW5jdGlvbiBQKHQsZSl7dC5hbWJpZW50TGlnaHRDb2xvci5uZWVkc1VwZGF0ZT1lLHQubGlnaHRQcm9iZS5uZWVkc1VwZGF0ZT1lLHQuZGlyZWN0aW9uYWxMaWdodHMubmVlZHNVcGRhdGU9ZSx0LmRpcmVjdGlvbmFsTGlnaHRTaGFkb3dzLm5lZWRzVXBkYXRlPWUsdC5wb2ludExpZ2h0cy5uZWVkc1VwZGF0ZT1lLHQucG9pbnRMaWdodFNoYWRvd3MubmVlZHNVcGRhdGU9ZSx0LnNwb3RMaWdodHMubmVlZHNVcGRhdGU9ZSx0LnNwb3RMaWdodFNoYWRvd3MubmVlZHNVcGRhdGU9ZSx0LnJlY3RBcmVhTGlnaHRzLm5lZWRzVXBkYXRlPWUsdC5oZW1pc3BoZXJlTGlnaHRzLm5lZWRzVXBkYXRlPWV9KShPLF8pLGkmJm4uZm9nJiZldC5yZWZyZXNoRm9nVW5pZm9ybXMoTyxpKSxldC5yZWZyZXNoTWF0ZXJpYWxVbmlmb3JtcyhPLG4sUyxrLEYpLFlwdC51cGxvYWQobXQscC51bmlmb3Jtc0xpc3QsTyxaKSksbi5pc1NoYWRlck1hdGVyaWFsJiYhMD09PW4udW5pZm9ybXNOZWVkVXBkYXRlJiYoWXB0LnVwbG9hZChtdCxwLnVuaWZvcm1zTGlzdCxPLFopLG4udW5pZm9ybXNOZWVkVXBkYXRlPSExKSxuLmlzU3ByaXRlTWF0ZXJpYWwmJnguc2V0VmFsdWUobXQsImNlbnRlciIsby5jZW50ZXIpLHguc2V0VmFsdWUobXQsIm1vZGVsVmlld01hdHJpeCIsby5tb2RlbFZpZXdNYXRyaXgpLHguc2V0VmFsdWUobXQsIm5vcm1hbE1hdHJpeCIsby5ub3JtYWxNYXRyaXgpLHguc2V0VmFsdWUobXQsIm1vZGVsTWF0cml4IixvLm1hdHJpeFdvcmxkKSxnfXZ0LnNldEFuaW1hdGlvbkxvb3AoKGZ1bmN0aW9uIER0KHQpe190JiZfdCh0KX0pKSwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmdnQuc2V0Q29udGV4dCh3aW5kb3cpLHRoaXMuc2V0QW5pbWF0aW9uTG9vcD1mdW5jdGlvbih0KXtfdD10LGd0LnNldEFuaW1hdGlvbkxvb3AodCksbnVsbD09PXQ/dnQuc3RvcCgpOnZ0LnN0YXJ0KCl9LGd0LmFkZEV2ZW50TGlzdGVuZXIoInNlc3Npb25zdGFydCIsQ3QpLGd0LmFkZEV2ZW50TGlzdGVuZXIoInNlc3Npb25lbmQiLE10KSx0aGlzLnJlbmRlcj1mdW5jdGlvbih0LGUpe2lmKHZvaWQgMCE9PWUmJiEwIT09ZS5pc0NhbWVyYSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyLnJlbmRlcjogY2FtZXJhIGlzIG5vdCBhbiBpbnN0YW5jZSBvZiBUSFJFRS5DYW1lcmEuIik7aWYoITA9PT1iKXJldHVybjshMD09PXQuYXV0b1VwZGF0ZSYmdC51cGRhdGVNYXRyaXhXb3JsZCgpLG51bGw9PT1lLnBhcmVudCYmZS51cGRhdGVNYXRyaXhXb3JsZCgpLCEwPT09Z3QuZW5hYmxlZCYmITA9PT1ndC5pc1ByZXNlbnRpbmcmJighMD09PWd0LmNhbWVyYUF1dG9VcGRhdGUmJmd0LnVwZGF0ZUNhbWVyYShlKSxlPWd0LmdldENhbWVyYSgpKSwhMD09PXQuaXNTY2VuZSYmdC5vbkJlZm9yZVJlbmRlcihoLHQsZSxDKSxmPW90LmdldCh0LGcubGVuZ3RoKSxmLmluaXQoKSxnLnB1c2goZiksTC5tdWx0aXBseU1hdHJpY2VzKGUucHJvamVjdGlvbk1hdHJpeCxlLm1hdHJpeFdvcmxkSW52ZXJzZSksei5zZXRGcm9tUHJvamVjdGlvbk1hdHJpeChMKSxIPXRoaXMubG9jYWxDbGlwcGluZ0VuYWJsZWQsST1pdC5pbml0KHRoaXMuY2xpcHBpbmdQbGFuZXMsSCxlKSxtPW50LmdldCh0LHUubGVuZ3RoKSxtLmluaXQoKSx1LnB1c2gobSkseHQodCxlLDAsaC5zb3J0T2JqZWN0cyksbS5maW5pc2goKSwhMD09PWguc29ydE9iamVjdHMmJm0uc29ydChELFIpLCEwPT09SSYmaXQuYmVnaW5TaGFkb3dzKCk7YXQucmVuZGVyKGYuc3RhdGUuc2hhZG93c0FycmF5LHQsZSksZi5zZXR1cExpZ2h0cygpLGYuc2V0dXBMaWdodHNWaWV3KGUpLCEwPT09SSYmaXQuZW5kU2hhZG93cygpLCEwPT09dGhpcy5pbmZvLmF1dG9SZXNldCYmdGhpcy5pbmZvLnJlc2V0KCkscnQucmVuZGVyKG0sdCk7Y29uc3Qgbj1tLm9wYXF1ZSxvPW0udHJhbnNtaXNzaXZlLGk9bS50cmFuc3BhcmVudDtuLmxlbmd0aD4wJiZPdChuLHQsZSksby5sZW5ndGg+MCYmKGZ1bmN0aW9uIGEodCxlLG4sbyl7aWYobnVsbD09PUYpe0Y9bmV3KCEwPT09cyYmITA9PT1XLmlzV2ViR0wyP09zdDp4c3QpKDEwMjQsMTAyNCx7Z2VuZXJhdGVNaXBtYXBzOiEwLHR5cGU6bnVsbCE9PWR0LmNvbnZlcnQoTHJ0KT9McnQ6enJ0LG1pbkZpbHRlcjpOcnQsbWFnRmlsdGVyOkFydCx3cmFwUzpScnQsd3JhcFQ6UnJ0fSl9Y29uc3QgaT1oLmdldFJlbmRlclRhcmdldCgpO2guc2V0UmVuZGVyVGFyZ2V0KEYpLGguY2xlYXIoKTtjb25zdCBhPWgudG9uZU1hcHBpbmc7aC50b25lTWFwcGluZz0wLE90KHQsbixvKSxoLnRvbmVNYXBwaW5nPWEsWi51cGRhdGVNdWx0aXNhbXBsZVJlbmRlclRhcmdldChGKSxaLnVwZGF0ZVJlbmRlclRhcmdldE1pcG1hcChGKSxoLnNldFJlbmRlclRhcmdldChpKSxPdChlLG4sbyl9KShuLG8sdCxlKSxpLmxlbmd0aD4wJiZPdChpLHQsZSksbnVsbCE9PUMmJihaLnVwZGF0ZU11bHRpc2FtcGxlUmVuZGVyVGFyZ2V0KEMpLFoudXBkYXRlUmVuZGVyVGFyZ2V0TWlwbWFwKEMpKSwhMD09PXQuaXNTY2VuZSYmdC5vbkFmdGVyUmVuZGVyKGgsdCxlKSxHLmJ1ZmZlcnMuZGVwdGguc2V0VGVzdCghMCksRy5idWZmZXJzLmRlcHRoLnNldE1hc2soITApLEcuYnVmZmVycy5jb2xvci5zZXRNYXNrKCEwKSxHLnNldFBvbHlnb25PZmZzZXQoITEpLHB0LnJlc2V0RGVmYXVsdFN0YXRlKCksTT0tMSx2PW51bGwsZy5wb3AoKSxmPWcubGVuZ3RoPjA/Z1tnLmxlbmd0aC0xXTpudWxsLHUucG9wKCksbT11Lmxlbmd0aD4wP3VbdS5sZW5ndGgtMV06bnVsbH0sdGhpcy5nZXRBY3RpdmVDdWJlRmFjZT1mdW5jdGlvbigpe3JldHVybiB5fSx0aGlzLmdldEFjdGl2ZU1pcG1hcExldmVsPWZ1bmN0aW9uKCl7cmV0dXJuIF99LHRoaXMuZ2V0UmVuZGVyVGFyZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIEN9LHRoaXMuc2V0UmVuZGVyVGFyZ2V0PWZ1bmN0aW9uKHQsZT0wLG49MCl7Qz10LHk9ZSxfPW4sdCYmdm9pZCAwPT09cS5nZXQodCkuX193ZWJnbEZyYW1lYnVmZmVyJiZaLnNldHVwUmVuZGVyVGFyZ2V0KHQpO2xldCBvPW51bGwsaT0hMSxhPSExO2lmKHQpe2NvbnN0IG49dC50ZXh0dXJlOyhuLmlzRGF0YVRleHR1cmUzRHx8bi5pc0RhdGFUZXh0dXJlMkRBcnJheSkmJihhPSEwKTtjb25zdCByPXEuZ2V0KHQpLl9fd2ViZ2xGcmFtZWJ1ZmZlcjt0LmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0PyhvPXJbZV0saT0hMCk6bz10LmlzV2ViR0xNdWx0aXNhbXBsZVJlbmRlclRhcmdldD9xLmdldCh0KS5fX3dlYmdsTXVsdGlzYW1wbGVkRnJhbWVidWZmZXI6cix4LmNvcHkodC52aWV3cG9ydCksTy5jb3B5KHQuc2Npc3NvciksUD10LnNjaXNzb3JUZXN0fWVsc2UgeC5jb3B5KEUpLm11bHRpcGx5U2NhbGFyKFMpLmZsb29yKCksTy5jb3B5KEEpLm11bHRpcGx5U2NhbGFyKFMpLmZsb29yKCksUD1UO2lmKEcuYmluZEZyYW1lYnVmZmVyKDM2MTYwLG8pJiZXLmRyYXdCdWZmZXJzKXtsZXQgZT0hMTtpZih0KWlmKHQuaXNXZWJHTE11bHRpcGxlUmVuZGVyVGFyZ2V0cyl7Y29uc3Qgbj10LnRleHR1cmU7aWYoTi5sZW5ndGghPT1uLmxlbmd0aHx8MzYwNjQhPT1OWzBdKXtmb3IobGV0IHQ9MCxlPW4ubGVuZ3RoO3Q8ZTt0KyspTlt0XT0zNjA2NCt0O04ubGVuZ3RoPW4ubGVuZ3RoLGU9ITB9fWVsc2UgMT09PU4ubGVuZ3RoJiYzNjA2ND09PU5bMF18fChOWzBdPTM2MDY0LE4ubGVuZ3RoPTEsZT0hMCk7ZWxzZSAxPT09Ti5sZW5ndGgmJjEwMjk9PT1OWzBdfHwoTlswXT0xMDI5LE4ubGVuZ3RoPTEsZT0hMCk7ZSYmKFcuaXNXZWJHTDI/bXQuZHJhd0J1ZmZlcnMoTik6VS5nZXQoIldFQkdMX2RyYXdfYnVmZmVycyIpLmRyYXdCdWZmZXJzV0VCR0woTikpfWlmKEcudmlld3BvcnQoeCksRy5zY2lzc29yKE8pLEcuc2V0U2Npc3NvclRlc3QoUCksaSl7Y29uc3Qgbz1xLmdldCh0LnRleHR1cmUpO210LmZyYW1lYnVmZmVyVGV4dHVyZTJEKDM2MTYwLDM2MDY0LDM0MDY5K2Usby5fX3dlYmdsVGV4dHVyZSxuKX1lbHNlIGlmKGEpe2NvbnN0IG89cS5nZXQodC50ZXh0dXJlKTttdC5mcmFtZWJ1ZmZlclRleHR1cmVMYXllcigzNjE2MCwzNjA2NCxvLl9fd2ViZ2xUZXh0dXJlLG58fDAsZXx8MCl9fSx0aGlzLnJlYWRSZW5kZXJUYXJnZXRQaXhlbHM9ZnVuY3Rpb24odCxlLG4sbyxpLGEscil7aWYoIXR8fCF0LmlzV2ViR0xSZW5kZXJUYXJnZXQpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xSZW5kZXJlci5yZWFkUmVuZGVyVGFyZ2V0UGl4ZWxzOiByZW5kZXJUYXJnZXQgaXMgbm90IFRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0LiIpO2xldCBzPXEuZ2V0KHQpLl9fd2ViZ2xGcmFtZWJ1ZmZlcjtpZih0LmlzV2ViR0xDdWJlUmVuZGVyVGFyZ2V0JiZ2b2lkIDAhPT1yJiYocz1zW3JdKSxzKXtHLmJpbmRGcmFtZWJ1ZmZlcigzNjE2MCxzKTt0cnl7Y29uc3Qgcj10LnRleHR1cmUscz1yLmZvcm1hdCxsPXIudHlwZTtpZihzIT09anJ0JiZkdC5jb252ZXJ0KHMpIT09bXQuZ2V0UGFyYW1ldGVyKDM1NzM5KSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5XZWJHTFJlbmRlcmVyLnJlYWRSZW5kZXJUYXJnZXRQaXhlbHM6IHJlbmRlclRhcmdldCBpcyBub3QgaW4gUkdCQSBvciBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIGZvcm1hdC4iKTtjb25zdCBjPWw9PT1McnQmJihVLmhhcygiRVhUX2NvbG9yX2J1ZmZlcl9oYWxmX2Zsb2F0Iil8fFcuaXNXZWJHTDImJlUuaGFzKCJFWFRfY29sb3JfYnVmZmVyX2Zsb2F0IikpO2lmKCEobD09PXpydHx8ZHQuY29udmVydChsKT09PW10LmdldFBhcmFtZXRlcigzNTczOCl8fGw9PT1GcnQmJihXLmlzV2ViR0wyfHxVLmhhcygiT0VTX3RleHR1cmVfZmxvYXQiKXx8VS5oYXMoIldFQkdMX2NvbG9yX2J1ZmZlcl9mbG9hdCIpKXx8YykpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuV2ViR0xSZW5kZXJlci5yZWFkUmVuZGVyVGFyZ2V0UGl4ZWxzOiByZW5kZXJUYXJnZXQgaXMgbm90IGluIFVuc2lnbmVkQnl0ZVR5cGUgb3IgaW1wbGVtZW50YXRpb24gZGVmaW5lZCB0eXBlLiIpOzM2MDUzPT09bXQuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cygzNjE2MCk/ZT49MCYmZTw9dC53aWR0aC1vJiZuPj0wJiZuPD10LmhlaWdodC1pJiZtdC5yZWFkUGl4ZWxzKGUsbixvLGksZHQuY29udmVydChzKSxkdC5jb252ZXJ0KGwpLGEpOmNvbnNvbGUuZXJyb3IoIlRIUkVFLldlYkdMUmVuZGVyZXIucmVhZFJlbmRlclRhcmdldFBpeGVsczogcmVhZFBpeGVscyBmcm9tIHJlbmRlclRhcmdldCBmYWlsZWQuIEZyYW1lYnVmZmVyIG5vdCBjb21wbGV0ZS4iKX1maW5hbGx5e2NvbnN0IHQ9bnVsbCE9PUM/cS5nZXQoQykuX193ZWJnbEZyYW1lYnVmZmVyOm51bGw7Ry5iaW5kRnJhbWVidWZmZXIoMzYxNjAsdCl9fX0sdGhpcy5jb3B5RnJhbWVidWZmZXJUb1RleHR1cmU9ZnVuY3Rpb24odCxlLG49MCl7Y29uc3Qgbz1NYXRoLnBvdygyLC1uKSxpPU1hdGguZmxvb3IoZS5pbWFnZS53aWR0aCpvKSxhPU1hdGguZmxvb3IoZS5pbWFnZS5oZWlnaHQqbyk7bGV0IHI9ZHQuY29udmVydChlLmZvcm1hdCk7Vy5pc1dlYkdMMiYmKDY0MDc9PT1yJiYocj0zMjg0OSksNjQwOD09PXImJihyPTMyODU2KSksWi5zZXRUZXh0dXJlMkQoZSwwKSxtdC5jb3B5VGV4SW1hZ2UyRCgzNTUzLG4scix0LngsdC55LGksYSwwKSxHLnVuYmluZFRleHR1cmUoKX0sdGhpcy5jb3B5VGV4dHVyZVRvVGV4dHVyZT1mdW5jdGlvbih0LGUsbixvPTApe2NvbnN0IGk9ZS5pbWFnZS53aWR0aCxhPWUuaW1hZ2UuaGVpZ2h0LHI9ZHQuY29udmVydChuLmZvcm1hdCkscz1kdC5jb252ZXJ0KG4udHlwZSk7Wi5zZXRUZXh0dXJlMkQobiwwKSxtdC5waXhlbFN0b3JlaSgzNzQ0MCxuLmZsaXBZKSxtdC5waXhlbFN0b3JlaSgzNzQ0MSxuLnByZW11bHRpcGx5QWxwaGEpLG10LnBpeGVsU3RvcmVpKDMzMTcsbi51bnBhY2tBbGlnbm1lbnQpLGUuaXNEYXRhVGV4dHVyZT9tdC50ZXhTdWJJbWFnZTJEKDM1NTMsbyx0LngsdC55LGksYSxyLHMsZS5pbWFnZS5kYXRhKTplLmlzQ29tcHJlc3NlZFRleHR1cmU/bXQuY29tcHJlc3NlZFRleFN1YkltYWdlMkQoMzU1MyxvLHQueCx0LnksZS5taXBtYXBzWzBdLndpZHRoLGUubWlwbWFwc1swXS5oZWlnaHQscixlLm1pcG1hcHNbMF0uZGF0YSk6bXQudGV4U3ViSW1hZ2UyRCgzNTUzLG8sdC54LHQueSxyLHMsZS5pbWFnZSksMD09PW8mJm4uZ2VuZXJhdGVNaXBtYXBzJiZtdC5nZW5lcmF0ZU1pcG1hcCgzNTUzKSxHLnVuYmluZFRleHR1cmUoKX0sdGhpcy5jb3B5VGV4dHVyZVRvVGV4dHVyZTNEPWZ1bmN0aW9uKHQsZSxuLG8saT0wKXtpZihoLmlzV2ViR0wxUmVuZGVyZXIpcmV0dXJuIHZvaWQgY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyLmNvcHlUZXh0dXJlVG9UZXh0dXJlM0Q6IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBXZWJHTDIuIik7Y29uc3QgYT10Lm1heC54LXQubWluLngrMSxyPXQubWF4LnktdC5taW4ueSsxLHM9dC5tYXguei10Lm1pbi56KzEsbD1kdC5jb252ZXJ0KG8uZm9ybWF0KSxjPWR0LmNvbnZlcnQoby50eXBlKTtsZXQgZDtpZihvLmlzRGF0YVRleHR1cmUzRClaLnNldFRleHR1cmUzRChvLDApLGQ9MzI4Nzk7ZWxzZXtpZighby5pc0RhdGFUZXh0dXJlMkRBcnJheSlyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXIuY29weVRleHR1cmVUb1RleHR1cmUzRDogb25seSBzdXBwb3J0cyBUSFJFRS5EYXRhVGV4dHVyZTNEIGFuZCBUSFJFRS5EYXRhVGV4dHVyZTJEQXJyYXkuIik7Wi5zZXRUZXh0dXJlMkRBcnJheShvLDApLGQ9MzU4NjZ9bXQucGl4ZWxTdG9yZWkoMzc0NDAsby5mbGlwWSksbXQucGl4ZWxTdG9yZWkoMzc0NDEsby5wcmVtdWx0aXBseUFscGhhKSxtdC5waXhlbFN0b3JlaSgzMzE3LG8udW5wYWNrQWxpZ25tZW50KTtjb25zdCBwPW10LmdldFBhcmFtZXRlcigzMzE0KSxtPW10LmdldFBhcmFtZXRlcigzMjg3OCksZj1tdC5nZXRQYXJhbWV0ZXIoMzMxNiksdT1tdC5nZXRQYXJhbWV0ZXIoMzMxNSksZz1tdC5nZXRQYXJhbWV0ZXIoMzI4NzcpLGI9bi5pc0NvbXByZXNzZWRUZXh0dXJlP24ubWlwbWFwc1swXTpuLmltYWdlO210LnBpeGVsU3RvcmVpKDMzMTQsYi53aWR0aCksbXQucGl4ZWxTdG9yZWkoMzI4NzgsYi5oZWlnaHQpLG10LnBpeGVsU3RvcmVpKDMzMTYsdC5taW4ueCksbXQucGl4ZWxTdG9yZWkoMzMxNSx0Lm1pbi55KSxtdC5waXhlbFN0b3JlaSgzMjg3Nyx0Lm1pbi56KSxuLmlzRGF0YVRleHR1cmV8fG4uaXNEYXRhVGV4dHVyZTNEP210LnRleFN1YkltYWdlM0QoZCxpLGUueCxlLnksZS56LGEscixzLGwsYyxiLmRhdGEpOm4uaXNDb21wcmVzc2VkVGV4dHVyZT8oY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyLmNvcHlUZXh0dXJlVG9UZXh0dXJlM0Q6IHVudGVzdGVkIHN1cHBvcnQgZm9yIGNvbXByZXNzZWQgc3JjVGV4dHVyZS4iKSxtdC5jb21wcmVzc2VkVGV4U3ViSW1hZ2UzRChkLGksZS54LGUueSxlLnosYSxyLHMsbCxiLmRhdGEpKTptdC50ZXhTdWJJbWFnZTNEKGQsaSxlLngsZS55LGUueixhLHIscyxsLGMsYiksbXQucGl4ZWxTdG9yZWkoMzMxNCxwKSxtdC5waXhlbFN0b3JlaSgzMjg3OCxtKSxtdC5waXhlbFN0b3JlaSgzMzE2LGYpLG10LnBpeGVsU3RvcmVpKDMzMTUsdSksbXQucGl4ZWxTdG9yZWkoMzI4NzcsZyksMD09PWkmJm8uZ2VuZXJhdGVNaXBtYXBzJiZtdC5nZW5lcmF0ZU1pcG1hcChkKSxHLnVuYmluZFRleHR1cmUoKX0sdGhpcy5pbml0VGV4dHVyZT1mdW5jdGlvbih0KXtaLnNldFRleHR1cmUyRCh0LDApLEcudW5iaW5kVGV4dHVyZSgpfSx0aGlzLnJlc2V0U3RhdGU9ZnVuY3Rpb24oKXt5PTAsXz0wLEM9bnVsbCxHLnJlc2V0KCkscHQucmVzZXQoKX0sInVuZGVmaW5lZCIhPXR5cGVvZiBfX1RIUkVFX0RFVlRPT0xTX18mJl9fVEhSRUVfREVWVE9PTFNfXy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgib2JzZXJ2ZSIse2RldGFpbDp0aGlzfSkpfShjbGFzcyBleHRlbmRzIEhtdHt9KS5wcm90b3R5cGUuaXNXZWJHTDFSZW5kZXJlcj0hMDtjbGFzcyBGbXQgZXh0ZW5kcyBTbHR7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMudHlwZT0iU2NlbmUiLHRoaXMuYmFja2dyb3VuZD1udWxsLHRoaXMuZW52aXJvbm1lbnQ9bnVsbCx0aGlzLmZvZz1udWxsLHRoaXMub3ZlcnJpZGVNYXRlcmlhbD1udWxsLHRoaXMuYXV0b1VwZGF0ZT0hMCwidW5kZWZpbmVkIiE9dHlwZW9mIF9fVEhSRUVfREVWVE9PTFNfXyYmX19USFJFRV9ERVZUT09MU19fLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJvYnNlcnZlIix7ZGV0YWlsOnRoaXN9KSl9Y29weSh0LGUpe3JldHVybiBzdXBlci5jb3B5KHQsZSksbnVsbCE9PXQuYmFja2dyb3VuZCYmKHRoaXMuYmFja2dyb3VuZD10LmJhY2tncm91bmQuY2xvbmUoKSksbnVsbCE9PXQuZW52aXJvbm1lbnQmJih0aGlzLmVudmlyb25tZW50PXQuZW52aXJvbm1lbnQuY2xvbmUoKSksbnVsbCE9PXQuZm9nJiYodGhpcy5mb2c9dC5mb2cuY2xvbmUoKSksbnVsbCE9PXQub3ZlcnJpZGVNYXRlcmlhbCYmKHRoaXMub3ZlcnJpZGVNYXRlcmlhbD10Lm92ZXJyaWRlTWF0ZXJpYWwuY2xvbmUoKSksdGhpcy5hdXRvVXBkYXRlPXQuYXV0b1VwZGF0ZSx0aGlzLm1hdHJpeEF1dG9VcGRhdGU9dC5tYXRyaXhBdXRvVXBkYXRlLHRoaXN9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO3JldHVybiBudWxsIT09dGhpcy5mb2cmJihlLm9iamVjdC5mb2c9dGhpcy5mb2cudG9KU09OKCkpLGV9fUZtdC5wcm90b3R5cGUuaXNTY2VuZT0hMDtjbGFzcyBMbXR7Y29uc3RydWN0b3IodCxlKXt0aGlzLmFycmF5PXQsdGhpcy5zdHJpZGU9ZSx0aGlzLmNvdW50PXZvaWQgMCE9PXQ/dC5sZW5ndGgvZTowLHRoaXMudXNhZ2U9b3N0LHRoaXMudXBkYXRlUmFuZ2U9e29mZnNldDowLGNvdW50Oi0xfSx0aGlzLnZlcnNpb249MCx0aGlzLnV1aWQ9ZHN0KCl9b25VcGxvYWRDYWxsYmFjaygpe31zZXQgbmVlZHNVcGRhdGUodCl7ITA9PT10JiZ0aGlzLnZlcnNpb24rK31zZXRVc2FnZSh0KXtyZXR1cm4gdGhpcy51c2FnZT10LHRoaXN9Y29weSh0KXtyZXR1cm4gdGhpcy5hcnJheT1uZXcgdC5hcnJheS5jb25zdHJ1Y3Rvcih0LmFycmF5KSx0aGlzLmNvdW50PXQuY291bnQsdGhpcy5zdHJpZGU9dC5zdHJpZGUsdGhpcy51c2FnZT10LnVzYWdlLHRoaXN9Y29weUF0KHQsZSxuKXt0Kj10aGlzLnN0cmlkZSxuKj1lLnN0cmlkZTtmb3IobGV0IG89MCxpPXRoaXMuc3RyaWRlO288aTtvKyspdGhpcy5hcnJheVt0K29dPWUuYXJyYXlbbitvXTtyZXR1cm4gdGhpc31zZXQodCxlPTApe3JldHVybiB0aGlzLmFycmF5LnNldCh0LGUpLHRoaXN9Y2xvbmUodCl7dm9pZCAwPT09dC5hcnJheUJ1ZmZlcnMmJih0LmFycmF5QnVmZmVycz17fSksdm9pZCAwPT09dGhpcy5hcnJheS5idWZmZXIuX3V1aWQmJih0aGlzLmFycmF5LmJ1ZmZlci5fdXVpZD1kc3QoKSksdm9pZCAwPT09dC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdJiYodC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdPXRoaXMuYXJyYXkuc2xpY2UoMCkuYnVmZmVyKTtjb25zdCBlPW5ldyB0aGlzLmFycmF5LmNvbnN0cnVjdG9yKHQuYXJyYXlCdWZmZXJzW3RoaXMuYXJyYXkuYnVmZmVyLl91dWlkXSksbj1uZXcgdGhpcy5jb25zdHJ1Y3RvcihlLHRoaXMuc3RyaWRlKTtyZXR1cm4gbi5zZXRVc2FnZSh0aGlzLnVzYWdlKSxufW9uVXBsb2FkKHQpe3JldHVybiB0aGlzLm9uVXBsb2FkQ2FsbGJhY2s9dCx0aGlzfXRvSlNPTih0KXtyZXR1cm4gdm9pZCAwPT09dC5hcnJheUJ1ZmZlcnMmJih0LmFycmF5QnVmZmVycz17fSksdm9pZCAwPT09dGhpcy5hcnJheS5idWZmZXIuX3V1aWQmJih0aGlzLmFycmF5LmJ1ZmZlci5fdXVpZD1kc3QoKSksdm9pZCAwPT09dC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdJiYodC5hcnJheUJ1ZmZlcnNbdGhpcy5hcnJheS5idWZmZXIuX3V1aWRdPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG5ldyBVaW50MzJBcnJheSh0aGlzLmFycmF5LmJ1ZmZlcikpKSx7dXVpZDp0aGlzLnV1aWQsYnVmZmVyOnRoaXMuYXJyYXkuYnVmZmVyLl91dWlkLHR5cGU6dGhpcy5hcnJheS5jb25zdHJ1Y3Rvci5uYW1lLHN0cmlkZTp0aGlzLnN0cmlkZX19fUxtdC5wcm90b3R5cGUuaXNJbnRlcmxlYXZlZEJ1ZmZlcj0hMDtjb25zdCBCbXQ9bmV3IHdzdDtjbGFzcyBWbXR7Y29uc3RydWN0b3IodCxlLG4sbz0hMSl7dGhpcy5uYW1lPSIiLHRoaXMuZGF0YT10LHRoaXMuaXRlbVNpemU9ZSx0aGlzLm9mZnNldD1uLHRoaXMubm9ybWFsaXplZD0hMD09PW99Z2V0IGNvdW50KCl7cmV0dXJuIHRoaXMuZGF0YS5jb3VudH1nZXQgYXJyYXkoKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5fXNldCBuZWVkc1VwZGF0ZSh0KXt0aGlzLmRhdGEubmVlZHNVcGRhdGU9dH1hcHBseU1hdHJpeDQodCl7Zm9yKGxldCBlPTAsbj10aGlzLmRhdGEuY291bnQ7ZTxuO2UrKylCbXQueD10aGlzLmdldFgoZSksQm10Lnk9dGhpcy5nZXRZKGUpLEJtdC56PXRoaXMuZ2V0WihlKSxCbXQuYXBwbHlNYXRyaXg0KHQpLHRoaXMuc2V0WFlaKGUsQm10LngsQm10LnksQm10LnopO3JldHVybiB0aGlzfWFwcGx5Tm9ybWFsTWF0cml4KHQpe2ZvcihsZXQgZT0wLG49dGhpcy5jb3VudDtlPG47ZSsrKUJtdC54PXRoaXMuZ2V0WChlKSxCbXQueT10aGlzLmdldFkoZSksQm10Lno9dGhpcy5nZXRaKGUpLEJtdC5hcHBseU5vcm1hbE1hdHJpeCh0KSx0aGlzLnNldFhZWihlLEJtdC54LEJtdC55LEJtdC56KTtyZXR1cm4gdGhpc310cmFuc2Zvcm1EaXJlY3Rpb24odCl7Zm9yKGxldCBlPTAsbj10aGlzLmNvdW50O2U8bjtlKyspQm10Lng9dGhpcy5nZXRYKGUpLEJtdC55PXRoaXMuZ2V0WShlKSxCbXQuej10aGlzLmdldFooZSksQm10LnRyYW5zZm9ybURpcmVjdGlvbih0KSx0aGlzLnNldFhZWihlLEJtdC54LEJtdC55LEJtdC56KTtyZXR1cm4gdGhpc31zZXRYKHQsZSl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVt0KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXRdPWUsdGhpc31zZXRZKHQsZSl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVt0KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQrMV09ZSx0aGlzfXNldFoodCxlKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5W3QqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldCsyXT1lLHRoaXN9c2V0Vyh0LGUpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbdCp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzNdPWUsdGhpc31nZXRYKHQpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbdCp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0XX1nZXRZKHQpe3JldHVybiB0aGlzLmRhdGEuYXJyYXlbdCp0aGlzLmRhdGEuc3RyaWRlK3RoaXMub2Zmc2V0KzFdfWdldFoodCl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVt0KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQrMl19Z2V0Vyh0KXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5W3QqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldCszXX1zZXRYWSh0LGUsbil7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVsodD10KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQpKzBdPWUsdGhpcy5kYXRhLmFycmF5W3QrMV09bix0aGlzfXNldFhZWih0LGUsbixvKXtyZXR1cm4gdGhpcy5kYXRhLmFycmF5Wyh0PXQqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldCkrMF09ZSx0aGlzLmRhdGEuYXJyYXlbdCsxXT1uLHRoaXMuZGF0YS5hcnJheVt0KzJdPW8sdGhpc31zZXRYWVpXKHQsZSxuLG8saSl7cmV0dXJuIHRoaXMuZGF0YS5hcnJheVsodD10KnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQpKzBdPWUsdGhpcy5kYXRhLmFycmF5W3QrMV09bix0aGlzLmRhdGEuYXJyYXlbdCsyXT1vLHRoaXMuZGF0YS5hcnJheVt0KzNdPWksdGhpc31jbG9uZSh0KXtpZih2b2lkIDA9PT10KXtjb25zb2xlLmxvZygiVEhSRUUuSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGUuY2xvbmUoKTogQ2xvbmluZyBhbiBpbnRlcmxhdmVkIGJ1ZmZlciBhdHRyaWJ1dGUgd2lsbCBkZWludGVybGVhdmUgYnVmZmVyIGRhdGEuIik7Y29uc3QgdD1bXTtmb3IobGV0IGU9MDtlPHRoaXMuY291bnQ7ZSsrKXtjb25zdCBuPWUqdGhpcy5kYXRhLnN0cmlkZSt0aGlzLm9mZnNldDtmb3IobGV0IGU9MDtlPHRoaXMuaXRlbVNpemU7ZSsrKXQucHVzaCh0aGlzLmRhdGEuYXJyYXlbbitlXSl9cmV0dXJuIG5ldyBRbHQobmV3IHRoaXMuYXJyYXkuY29uc3RydWN0b3IodCksdGhpcy5pdGVtU2l6ZSx0aGlzLm5vcm1hbGl6ZWQpfXJldHVybiB2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVycyYmKHQuaW50ZXJsZWF2ZWRCdWZmZXJzPXt9KSx2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF0mJih0LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF09dGhpcy5kYXRhLmNsb25lKHQpKSxuZXcgVm10KHQuaW50ZXJsZWF2ZWRCdWZmZXJzW3RoaXMuZGF0YS51dWlkXSx0aGlzLml0ZW1TaXplLHRoaXMub2Zmc2V0LHRoaXMubm9ybWFsaXplZCl9dG9KU09OKHQpe2lmKHZvaWQgMD09PXQpe2NvbnNvbGUubG9nKCJUSFJFRS5JbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZS50b0pTT04oKTogU2VyaWFsaXppbmcgYW4gaW50ZXJsYXZlZCBidWZmZXIgYXR0cmlidXRlIHdpbGwgZGVpbnRlcmxlYXZlIGJ1ZmZlciBkYXRhLiIpO2NvbnN0IHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLmNvdW50O2UrKyl7Y29uc3Qgbj1lKnRoaXMuZGF0YS5zdHJpZGUrdGhpcy5vZmZzZXQ7Zm9yKGxldCBlPTA7ZTx0aGlzLml0ZW1TaXplO2UrKyl0LnB1c2godGhpcy5kYXRhLmFycmF5W24rZV0pfXJldHVybntpdGVtU2l6ZTp0aGlzLml0ZW1TaXplLHR5cGU6dGhpcy5hcnJheS5jb25zdHJ1Y3Rvci5uYW1lLGFycmF5OnQsbm9ybWFsaXplZDp0aGlzLm5vcm1hbGl6ZWR9fXJldHVybiB2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVycyYmKHQuaW50ZXJsZWF2ZWRCdWZmZXJzPXt9KSx2b2lkIDA9PT10LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF0mJih0LmludGVybGVhdmVkQnVmZmVyc1t0aGlzLmRhdGEudXVpZF09dGhpcy5kYXRhLnRvSlNPTih0KSkse2lzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGU6ITAsaXRlbVNpemU6dGhpcy5pdGVtU2l6ZSxkYXRhOnRoaXMuZGF0YS51dWlkLG9mZnNldDp0aGlzLm9mZnNldCxub3JtYWxpemVkOnRoaXMubm9ybWFsaXplZH19fVZtdC5wcm90b3R5cGUuaXNJbnRlcmxlYXZlZEJ1ZmZlckF0dHJpYnV0ZT0hMDtjbGFzcyBqbXQgZXh0ZW5kcyBWbHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlNwcml0ZU1hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBabHQoMTY3NzcyMTUpLHRoaXMubWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMucm90YXRpb249MCx0aGlzLnNpemVBdHRlbnVhdGlvbj0hMCx0aGlzLnRyYW5zcGFyZW50PSEwLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMuYWxwaGFNYXA9dC5hbHBoYU1hcCx0aGlzLnJvdGF0aW9uPXQucm90YXRpb24sdGhpcy5zaXplQXR0ZW51YXRpb249dC5zaXplQXR0ZW51YXRpb24sdGhpc319bGV0IFVtdDtqbXQucHJvdG90eXBlLmlzU3ByaXRlTWF0ZXJpYWw9ITA7Y29uc3QgV210PW5ldyB3c3QsR210PW5ldyB3c3QsWW10PW5ldyB3c3QscW10PW5ldyBnc3QsWm10PW5ldyBnc3QsWG10PW5ldyBvbHQsS210PW5ldyB3c3QsSm10PW5ldyB3c3QsUW10PW5ldyB3c3QsJG10PW5ldyBnc3QsdGZ0PW5ldyBnc3QsZWZ0PW5ldyBnc3Q7ZnVuY3Rpb24gbmZ0KHQsZSxuLG8saSxhKXtxbXQuc3ViVmVjdG9ycyh0LG4pLmFkZFNjYWxhciguNSkubXVsdGlwbHkobyksdm9pZCAwIT09aT8oWm10Lng9YSpxbXQueC1pKnFtdC55LFptdC55PWkqcW10LngrYSpxbXQueSk6Wm10LmNvcHkocW10KSx0LmNvcHkoZSksdC54Kz1abXQueCx0LnkrPVptdC55LHQuYXBwbHlNYXRyaXg0KFhtdCl9KGNsYXNzIGV4dGVuZHMgU2x0e2NvbnN0cnVjdG9yKHQpe2lmKHN1cGVyKCksdGhpcy50eXBlPSJTcHJpdGUiLHZvaWQgMD09PVVtdCl7VW10PW5ldyBkY3Q7Y29uc3QgdD1uZXcgRmxvYXQzMkFycmF5KFstLjUsLS41LDAsMCwwLC41LC0uNSwwLDEsMCwuNSwuNSwwLDEsMSwtLjUsLjUsMCwwLDFdKSxlPW5ldyBMbXQodCw1KTtVbXQuc2V0SW5kZXgoWzAsMSwyLDAsMiwzXSksVW10LnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBWbXQoZSwzLDAsITEpKSxVbXQuc2V0QXR0cmlidXRlKCJ1diIsbmV3IFZtdChlLDIsMywhMSkpfXRoaXMuZ2VvbWV0cnk9VW10LHRoaXMubWF0ZXJpYWw9dm9pZCAwIT09dD90Om5ldyBqbXQsdGhpcy5jZW50ZXI9bmV3IGdzdCguNSwuNSl9cmF5Y2FzdCh0LGUpe251bGw9PT10LmNhbWVyYSYmY29uc29sZS5lcnJvcignVEhSRUUuU3ByaXRlOiAiUmF5Y2FzdGVyLmNhbWVyYSIgbmVlZHMgdG8gYmUgc2V0IGluIG9yZGVyIHRvIHJheWNhc3QgYWdhaW5zdCBzcHJpdGVzLicpLEdtdC5zZXRGcm9tTWF0cml4U2NhbGUodGhpcy5tYXRyaXhXb3JsZCksWG10LmNvcHkodC5jYW1lcmEubWF0cml4V29ybGQpLHRoaXMubW9kZWxWaWV3TWF0cml4Lm11bHRpcGx5TWF0cmljZXModC5jYW1lcmEubWF0cml4V29ybGRJbnZlcnNlLHRoaXMubWF0cml4V29ybGQpLFltdC5zZXRGcm9tTWF0cml4UG9zaXRpb24odGhpcy5tb2RlbFZpZXdNYXRyaXgpLHQuY2FtZXJhLmlzUGVyc3BlY3RpdmVDYW1lcmEmJiExPT09dGhpcy5tYXRlcmlhbC5zaXplQXR0ZW51YXRpb24mJkdtdC5tdWx0aXBseVNjYWxhcigtWW10LnopO2NvbnN0IG49dGhpcy5tYXRlcmlhbC5yb3RhdGlvbjtsZXQgbyxpOzAhPT1uJiYoaT1NYXRoLmNvcyhuKSxvPU1hdGguc2luKG4pKTtjb25zdCBhPXRoaXMuY2VudGVyO25mdChLbXQuc2V0KC0uNSwtLjUsMCksWW10LGEsR210LG8saSksbmZ0KEptdC5zZXQoLjUsLS41LDApLFltdCxhLEdtdCxvLGkpLG5mdChRbXQuc2V0KC41LC41LDApLFltdCxhLEdtdCxvLGkpLCRtdC5zZXQoMCwwKSx0ZnQuc2V0KDEsMCksZWZ0LnNldCgxLDEpO2xldCByPXQucmF5LmludGVyc2VjdFRyaWFuZ2xlKEttdCxKbXQsUW10LCExLFdtdCk7aWYobnVsbD09PXImJihuZnQoSm10LnNldCgtLjUsLjUsMCksWW10LGEsR210LG8saSksdGZ0LnNldCgwLDEpLHI9dC5yYXkuaW50ZXJzZWN0VHJpYW5nbGUoS210LFFtdCxKbXQsITEsV210KSxudWxsPT09cikpcmV0dXJuO2NvbnN0IHM9dC5yYXkub3JpZ2luLmRpc3RhbmNlVG8oV210KTtzPHQubmVhcnx8cz50LmZhcnx8ZS5wdXNoKHtkaXN0YW5jZTpzLHBvaW50OldtdC5jbG9uZSgpLHV2OkxsdC5nZXRVVihXbXQsS210LEptdCxRbXQsJG10LHRmdCxlZnQsbmV3IGdzdCksZmFjZTpudWxsLG9iamVjdDp0aGlzfSl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx2b2lkIDAhPT10LmNlbnRlciYmdGhpcy5jZW50ZXIuY29weSh0LmNlbnRlciksdGhpcy5tYXRlcmlhbD10Lm1hdGVyaWFsLHRoaXN9fSkucHJvdG90eXBlLmlzU3ByaXRlPSEwO2NvbnN0IG9mdD1uZXcgd3N0LGlmdD1uZXcgdnN0LGFmdD1uZXcgdnN0LHJmdD1uZXcgd3N0LHNmdD1uZXcgb2x0O2NsYXNzIGxmdCBleHRlbmRzIFNjdHtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy50eXBlPSJTa2lubmVkTWVzaCIsdGhpcy5iaW5kTW9kZT0iYXR0YWNoZWQiLHRoaXMuYmluZE1hdHJpeD1uZXcgb2x0LHRoaXMuYmluZE1hdHJpeEludmVyc2U9bmV3IG9sdH1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuYmluZE1vZGU9dC5iaW5kTW9kZSx0aGlzLmJpbmRNYXRyaXguY29weSh0LmJpbmRNYXRyaXgpLHRoaXMuYmluZE1hdHJpeEludmVyc2UuY29weSh0LmJpbmRNYXRyaXhJbnZlcnNlKSx0aGlzLnNrZWxldG9uPXQuc2tlbGV0b24sdGhpc31iaW5kKHQsZSl7dGhpcy5za2VsZXRvbj10LHZvaWQgMD09PWUmJih0aGlzLnVwZGF0ZU1hdHJpeFdvcmxkKCEwKSx0aGlzLnNrZWxldG9uLmNhbGN1bGF0ZUludmVyc2VzKCksZT10aGlzLm1hdHJpeFdvcmxkKSx0aGlzLmJpbmRNYXRyaXguY29weShlKSx0aGlzLmJpbmRNYXRyaXhJbnZlcnNlLmNvcHkoZSkuaW52ZXJ0KCl9cG9zZSgpe3RoaXMuc2tlbGV0b24ucG9zZSgpfW5vcm1hbGl6ZVNraW5XZWlnaHRzKCl7Y29uc3QgdD1uZXcgdnN0LGU9dGhpcy5nZW9tZXRyeS5hdHRyaWJ1dGVzLnNraW5XZWlnaHQ7Zm9yKGxldCBuPTAsbz1lLmNvdW50O248bztuKyspe3QueD1lLmdldFgobiksdC55PWUuZ2V0WShuKSx0Lno9ZS5nZXRaKG4pLHQudz1lLmdldFcobik7Y29uc3Qgbz0xL3QubWFuaGF0dGFuTGVuZ3RoKCk7byE9PTEvMD90Lm11bHRpcGx5U2NhbGFyKG8pOnQuc2V0KDEsMCwwLDApLGUuc2V0WFlaVyhuLHQueCx0LnksdC56LHQudyl9fXVwZGF0ZU1hdHJpeFdvcmxkKHQpe3N1cGVyLnVwZGF0ZU1hdHJpeFdvcmxkKHQpLCJhdHRhY2hlZCI9PT10aGlzLmJpbmRNb2RlP3RoaXMuYmluZE1hdHJpeEludmVyc2UuY29weSh0aGlzLm1hdHJpeFdvcmxkKS5pbnZlcnQoKToiZGV0YWNoZWQiPT09dGhpcy5iaW5kTW9kZT90aGlzLmJpbmRNYXRyaXhJbnZlcnNlLmNvcHkodGhpcy5iaW5kTWF0cml4KS5pbnZlcnQoKTpjb25zb2xlLndhcm4oIlRIUkVFLlNraW5uZWRNZXNoOiBVbnJlY29nbml6ZWQgYmluZE1vZGU6ICIrdGhpcy5iaW5kTW9kZSl9Ym9uZVRyYW5zZm9ybSh0LGUpe2NvbnN0IG49dGhpcy5za2VsZXRvbixvPXRoaXMuZ2VvbWV0cnk7aWZ0LmZyb21CdWZmZXJBdHRyaWJ1dGUoby5hdHRyaWJ1dGVzLnNraW5JbmRleCx0KSxhZnQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShvLmF0dHJpYnV0ZXMuc2tpbldlaWdodCx0KSxvZnQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShvLmF0dHJpYnV0ZXMucG9zaXRpb24sdCkuYXBwbHlNYXRyaXg0KHRoaXMuYmluZE1hdHJpeCksZS5zZXQoMCwwLDApO2ZvcihsZXQgdD0wO3Q8NDt0Kyspe2NvbnN0IG89YWZ0LmdldENvbXBvbmVudCh0KTtpZigwIT09byl7Y29uc3QgaT1pZnQuZ2V0Q29tcG9uZW50KHQpO3NmdC5tdWx0aXBseU1hdHJpY2VzKG4uYm9uZXNbaV0ubWF0cml4V29ybGQsbi5ib25lSW52ZXJzZXNbaV0pLGUuYWRkU2NhbGVkVmVjdG9yKHJmdC5jb3B5KG9mdCkuYXBwbHlNYXRyaXg0KHNmdCksbyl9fXJldHVybiBlLmFwcGx5TWF0cml4NCh0aGlzLmJpbmRNYXRyaXhJbnZlcnNlKX19bGZ0LnByb3RvdHlwZS5pc1NraW5uZWRNZXNoPSEwOyhjbGFzcyBleHRlbmRzIFNsdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50eXBlPSJCb25lIn19KS5wcm90b3R5cGUuaXNCb25lPSEwOyhjbGFzcyBleHRlbmRzIENzdHtjb25zdHJ1Y3Rvcih0PW51bGwsZT0xLG49MSxvLGksYSxyLHMsbD0xMDAzLGM9MTAwMyxkLHApe3N1cGVyKG51bGwsYSxyLHMsbCxjLG8saSxkLHApLHRoaXMuaW1hZ2U9e2RhdGE6dCx3aWR0aDplLGhlaWdodDpufSx0aGlzLm1hZ0ZpbHRlcj1sLHRoaXMubWluRmlsdGVyPWMsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITEsdGhpcy5mbGlwWT0hMSx0aGlzLnVucGFja0FsaWdubWVudD0xLHRoaXMubmVlZHNVcGRhdGU9ITB9fSkucHJvdG90eXBlLmlzRGF0YVRleHR1cmU9ITA7Y29uc3QgY2Z0PW5ldyBvbHQsZGZ0PW5ldyBvbHQscGZ0PVtdLG1mdD1uZXcgU2N0OyhjbGFzcyBleHRlbmRzIFNjdHtjb25zdHJ1Y3Rvcih0LGUsbil7c3VwZXIodCxlKSx0aGlzLmluc3RhbmNlTWF0cml4PW5ldyBRbHQobmV3IEZsb2F0MzJBcnJheSgxNipuKSwxNiksdGhpcy5pbnN0YW5jZUNvbG9yPW51bGwsdGhpcy5jb3VudD1uLHRoaXMuZnJ1c3R1bUN1bGxlZD0hMX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuaW5zdGFuY2VNYXRyaXguY29weSh0Lmluc3RhbmNlTWF0cml4KSxudWxsIT09dC5pbnN0YW5jZUNvbG9yJiYodGhpcy5pbnN0YW5jZUNvbG9yPXQuaW5zdGFuY2VDb2xvci5jbG9uZSgpKSx0aGlzLmNvdW50PXQuY291bnQsdGhpc31nZXRDb2xvckF0KHQsZSl7ZS5mcm9tQXJyYXkodGhpcy5pbnN0YW5jZUNvbG9yLmFycmF5LDMqdCl9Z2V0TWF0cml4QXQodCxlKXtlLmZyb21BcnJheSh0aGlzLmluc3RhbmNlTWF0cml4LmFycmF5LDE2KnQpfXJheWNhc3QodCxlKXtjb25zdCBuPXRoaXMubWF0cml4V29ybGQsbz10aGlzLmNvdW50O2lmKG1mdC5nZW9tZXRyeT10aGlzLmdlb21ldHJ5LG1mdC5tYXRlcmlhbD10aGlzLm1hdGVyaWFsLHZvaWQgMCE9PW1mdC5tYXRlcmlhbClmb3IobGV0IGk9MDtpPG87aSsrKXt0aGlzLmdldE1hdHJpeEF0KGksY2Z0KSxkZnQubXVsdGlwbHlNYXRyaWNlcyhuLGNmdCksbWZ0Lm1hdHJpeFdvcmxkPWRmdCxtZnQucmF5Y2FzdCh0LHBmdCk7Zm9yKGxldCB0PTAsbj1wZnQubGVuZ3RoO3Q8bjt0Kyspe2NvbnN0IG49cGZ0W3RdO24uaW5zdGFuY2VJZD1pLG4ub2JqZWN0PXRoaXMsZS5wdXNoKG4pfXBmdC5sZW5ndGg9MH19c2V0Q29sb3JBdCh0LGUpe251bGw9PT10aGlzLmluc3RhbmNlQ29sb3ImJih0aGlzLmluc3RhbmNlQ29sb3I9bmV3IFFsdChuZXcgRmxvYXQzMkFycmF5KDMqdGhpcy5pbnN0YW5jZU1hdHJpeC5jb3VudCksMykpLGUudG9BcnJheSh0aGlzLmluc3RhbmNlQ29sb3IuYXJyYXksMyp0KX1zZXRNYXRyaXhBdCh0LGUpe2UudG9BcnJheSh0aGlzLmluc3RhbmNlTWF0cml4LmFycmF5LDE2KnQpfXVwZGF0ZU1vcnBoVGFyZ2V0cygpe31kaXNwb3NlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KHt0eXBlOiJkaXNwb3NlIn0pfX0pLnByb3RvdHlwZS5pc0luc3RhbmNlZE1lc2g9ITA7Y2xhc3MgZmZ0IGV4dGVuZHMgVmx0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJMaW5lQmFzaWNNYXRlcmlhbCIsdGhpcy5jb2xvcj1uZXcgWmx0KDE2Nzc3MjE1KSx0aGlzLmxpbmV3aWR0aD0xLHRoaXMubGluZWNhcD0icm91bmQiLHRoaXMubGluZWpvaW49InJvdW5kIix0aGlzLnNldFZhbHVlcyh0KX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuY29sb3IuY29weSh0LmNvbG9yKSx0aGlzLmxpbmV3aWR0aD10LmxpbmV3aWR0aCx0aGlzLmxpbmVjYXA9dC5saW5lY2FwLHRoaXMubGluZWpvaW49dC5saW5lam9pbix0aGlzfX1mZnQucHJvdG90eXBlLmlzTGluZUJhc2ljTWF0ZXJpYWw9ITA7Y29uc3QgdWZ0PW5ldyB3c3QsZ2Z0PW5ldyB3c3QsaGZ0PW5ldyBvbHQsYmZ0PW5ldyBubHQseWZ0PW5ldyBac3Q7Y2xhc3MgX2Z0IGV4dGVuZHMgU2x0e2NvbnN0cnVjdG9yKHQ9bmV3IGRjdCxlPW5ldyBmZnQpe3N1cGVyKCksdGhpcy50eXBlPSJMaW5lIix0aGlzLmdlb21ldHJ5PXQsdGhpcy5tYXRlcmlhbD1lLHRoaXMudXBkYXRlTW9ycGhUYXJnZXRzKCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLm1hdGVyaWFsPXQubWF0ZXJpYWwsdGhpcy5nZW9tZXRyeT10Lmdlb21ldHJ5LHRoaXN9Y29tcHV0ZUxpbmVEaXN0YW5jZXMoKXtjb25zdCB0PXRoaXMuZ2VvbWV0cnk7aWYodC5pc0J1ZmZlckdlb21ldHJ5KWlmKG51bGw9PT10LmluZGV4KXtjb25zdCBlPXQuYXR0cmlidXRlcy5wb3NpdGlvbixuPVswXTtmb3IobGV0IHQ9MSxvPWUuY291bnQ7dDxvO3QrKyl1ZnQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLHQtMSksZ2Z0LmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx0KSxuW3RdPW5bdC0xXSxuW3RdKz11ZnQuZGlzdGFuY2VUbyhnZnQpO3Quc2V0QXR0cmlidXRlKCJsaW5lRGlzdGFuY2UiLG5ldyBlY3QobiwxKSl9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLkxpbmUuY29tcHV0ZUxpbmVEaXN0YW5jZXMoKTogQ29tcHV0YXRpb24gb25seSBwb3NzaWJsZSB3aXRoIG5vbi1pbmRleGVkIEJ1ZmZlckdlb21ldHJ5LiIpO2Vsc2UgdC5pc0dlb21ldHJ5JiZjb25zb2xlLmVycm9yKCJUSFJFRS5MaW5lLmNvbXB1dGVMaW5lRGlzdGFuY2VzKCkgbm8gbG9uZ2VyIHN1cHBvcnRzIFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKTtyZXR1cm4gdGhpc31yYXljYXN0KHQsZSl7Y29uc3Qgbj10aGlzLmdlb21ldHJ5LG89dGhpcy5tYXRyaXhXb3JsZCxpPXQucGFyYW1zLkxpbmUudGhyZXNob2xkLGE9bi5kcmF3UmFuZ2U7aWYobnVsbD09PW4uYm91bmRpbmdTcGhlcmUmJm4uY29tcHV0ZUJvdW5kaW5nU3BoZXJlKCkseWZ0LmNvcHkobi5ib3VuZGluZ1NwaGVyZSkseWZ0LmFwcGx5TWF0cml4NChvKSx5ZnQucmFkaXVzKz1pLCExPT09dC5yYXkuaW50ZXJzZWN0c1NwaGVyZSh5ZnQpKXJldHVybjtoZnQuY29weShvKS5pbnZlcnQoKSxiZnQuY29weSh0LnJheSkuYXBwbHlNYXRyaXg0KGhmdCk7Y29uc3Qgcj1pLygodGhpcy5zY2FsZS54K3RoaXMuc2NhbGUueSt0aGlzLnNjYWxlLnopLzMpLHM9cipyLGw9bmV3IHdzdCxjPW5ldyB3c3QsZD1uZXcgd3N0LHA9bmV3IHdzdCxtPXRoaXMuaXNMaW5lU2VnbWVudHM/MjoxO2lmKG4uaXNCdWZmZXJHZW9tZXRyeSl7Y29uc3Qgbz1uLmluZGV4LGk9bi5hdHRyaWJ1dGVzLnBvc2l0aW9uO2lmKG51bGwhPT1vKXtmb3IobGV0IG49TWF0aC5tYXgoMCxhLnN0YXJ0KSxyPU1hdGgubWluKG8uY291bnQsYS5zdGFydCthLmNvdW50KS0xO248cjtuKz1tKXtjb25zdCBhPW8uZ2V0WChuKSxyPW8uZ2V0WChuKzEpO2wuZnJvbUJ1ZmZlckF0dHJpYnV0ZShpLGEpLGMuZnJvbUJ1ZmZlckF0dHJpYnV0ZShpLHIpO2lmKGJmdC5kaXN0YW5jZVNxVG9TZWdtZW50KGwsYyxwLGQpPnMpY29udGludWU7cC5hcHBseU1hdHJpeDQodGhpcy5tYXRyaXhXb3JsZCk7Y29uc3QgbT10LnJheS5vcmlnaW4uZGlzdGFuY2VUbyhwKTttPHQubmVhcnx8bT50LmZhcnx8ZS5wdXNoKHtkaXN0YW5jZTptLHBvaW50OmQuY2xvbmUoKS5hcHBseU1hdHJpeDQodGhpcy5tYXRyaXhXb3JsZCksaW5kZXg6bixmYWNlOm51bGwsZmFjZUluZGV4Om51bGwsb2JqZWN0OnRoaXN9KX19ZWxzZXtmb3IobGV0IG49TWF0aC5tYXgoMCxhLnN0YXJ0KSxvPU1hdGgubWluKGkuY291bnQsYS5zdGFydCthLmNvdW50KS0xO248bztuKz1tKXtsLmZyb21CdWZmZXJBdHRyaWJ1dGUoaSxuKSxjLmZyb21CdWZmZXJBdHRyaWJ1dGUoaSxuKzEpO2lmKGJmdC5kaXN0YW5jZVNxVG9TZWdtZW50KGwsYyxwLGQpPnMpY29udGludWU7cC5hcHBseU1hdHJpeDQodGhpcy5tYXRyaXhXb3JsZCk7Y29uc3Qgbz10LnJheS5vcmlnaW4uZGlzdGFuY2VUbyhwKTtvPHQubmVhcnx8bz50LmZhcnx8ZS5wdXNoKHtkaXN0YW5jZTpvLHBvaW50OmQuY2xvbmUoKS5hcHBseU1hdHJpeDQodGhpcy5tYXRyaXhXb3JsZCksaW5kZXg6bixmYWNlOm51bGwsZmFjZUluZGV4Om51bGwsb2JqZWN0OnRoaXN9KX19fWVsc2Ugbi5pc0dlb21ldHJ5JiZjb25zb2xlLmVycm9yKCJUSFJFRS5MaW5lLnJheWNhc3QoKSBubyBsb25nZXIgc3VwcG9ydHMgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfXVwZGF0ZU1vcnBoVGFyZ2V0cygpe2NvbnN0IHQ9dGhpcy5nZW9tZXRyeTtpZih0LmlzQnVmZmVyR2VvbWV0cnkpe2NvbnN0IGU9dC5tb3JwaEF0dHJpYnV0ZXMsbj1PYmplY3Qua2V5cyhlKTtpZihuLmxlbmd0aD4wKXtjb25zdCB0PWVbblswXV07aWYodm9pZCAwIT09dCl7dGhpcy5tb3JwaFRhcmdldEluZmx1ZW5jZXM9W10sdGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnk9e307Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXtjb25zdCBuPXRbZV0ubmFtZXx8U3RyaW5nKGUpO3RoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzLnB1c2goMCksdGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnlbbl09ZX19fX1lbHNle2NvbnN0IGU9dC5tb3JwaFRhcmdldHM7dm9pZCAwIT09ZSYmZS5sZW5ndGg+MCYmY29uc29sZS5lcnJvcigiVEhSRUUuTGluZS51cGRhdGVNb3JwaFRhcmdldHMoKSBkb2VzIG5vdCBzdXBwb3J0IFRIUkVFLkdlb21ldHJ5LiBVc2UgVEhSRUUuQnVmZmVyR2VvbWV0cnkgaW5zdGVhZC4iKX19fV9mdC5wcm90b3R5cGUuaXNMaW5lPSEwO2NvbnN0IENmdD1uZXcgd3N0LE1mdD1uZXcgd3N0O2NsYXNzIHZmdCBleHRlbmRzIF9mdHtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy50eXBlPSJMaW5lU2VnbWVudHMifWNvbXB1dGVMaW5lRGlzdGFuY2VzKCl7Y29uc3QgdD10aGlzLmdlb21ldHJ5O2lmKHQuaXNCdWZmZXJHZW9tZXRyeSlpZihudWxsPT09dC5pbmRleCl7Y29uc3QgZT10LmF0dHJpYnV0ZXMucG9zaXRpb24sbj1bXTtmb3IobGV0IHQ9MCxvPWUuY291bnQ7dDxvO3QrPTIpQ2Z0LmZyb21CdWZmZXJBdHRyaWJ1dGUoZSx0KSxNZnQuZnJvbUJ1ZmZlckF0dHJpYnV0ZShlLHQrMSksblt0XT0wPT09dD8wOm5bdC0xXSxuW3QrMV09blt0XStDZnQuZGlzdGFuY2VUbyhNZnQpO3Quc2V0QXR0cmlidXRlKCJsaW5lRGlzdGFuY2UiLG5ldyBlY3QobiwxKSl9ZWxzZSBjb25zb2xlLndhcm4oIlRIUkVFLkxpbmVTZWdtZW50cy5jb21wdXRlTGluZURpc3RhbmNlcygpOiBDb21wdXRhdGlvbiBvbmx5IHBvc3NpYmxlIHdpdGggbm9uLWluZGV4ZWQgQnVmZmVyR2VvbWV0cnkuIik7ZWxzZSB0LmlzR2VvbWV0cnkmJmNvbnNvbGUuZXJyb3IoIlRIUkVFLkxpbmVTZWdtZW50cy5jb21wdXRlTGluZURpc3RhbmNlcygpIG5vIGxvbmdlciBzdXBwb3J0cyBUSFJFRS5HZW9tZXRyeS4gVXNlIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIik7cmV0dXJuIHRoaXN9fXZmdC5wcm90b3R5cGUuaXNMaW5lU2VnbWVudHM9ITA7KGNsYXNzIGV4dGVuZHMgX2Z0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIodCxlKSx0aGlzLnR5cGU9IkxpbmVMb29wIn19KS5wcm90b3R5cGUuaXNMaW5lTG9vcD0hMDtjbGFzcyB4ZnQgZXh0ZW5kcyBWbHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlBvaW50c01hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBabHQoMTY3NzcyMTUpLHRoaXMubWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuc2l6ZT0xLHRoaXMuc2l6ZUF0dGVudWF0aW9uPSEwLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMuYWxwaGFNYXA9dC5hbHBoYU1hcCx0aGlzLnNpemU9dC5zaXplLHRoaXMuc2l6ZUF0dGVudWF0aW9uPXQuc2l6ZUF0dGVudWF0aW9uLHRoaXN9fXhmdC5wcm90b3R5cGUuaXNQb2ludHNNYXRlcmlhbD0hMDtjb25zdCBPZnQ9bmV3IG9sdCxQZnQ9bmV3IG5sdCx3ZnQ9bmV3IFpzdCxrZnQ9bmV3IHdzdDtmdW5jdGlvbiBTZnQodCxlLG4sbyxpLGEscil7Y29uc3Qgcz1QZnQuZGlzdGFuY2VTcVRvUG9pbnQodCk7aWYoczxuKXtjb25zdCBuPW5ldyB3c3Q7UGZ0LmNsb3Nlc3RQb2ludFRvUG9pbnQodCxuKSxuLmFwcGx5TWF0cml4NChvKTtjb25zdCBsPWkucmF5Lm9yaWdpbi5kaXN0YW5jZVRvKG4pO2lmKGw8aS5uZWFyfHxsPmkuZmFyKXJldHVybjthLnB1c2goe2Rpc3RhbmNlOmwsZGlzdGFuY2VUb1JheTpNYXRoLnNxcnQocykscG9pbnQ6bixpbmRleDplLGZhY2U6bnVsbCxvYmplY3Q6cn0pfX0oY2xhc3MgZXh0ZW5kcyBTbHR7Y29uc3RydWN0b3IodD1uZXcgZGN0LGU9bmV3IHhmdCl7c3VwZXIoKSx0aGlzLnR5cGU9IlBvaW50cyIsdGhpcy5nZW9tZXRyeT10LHRoaXMubWF0ZXJpYWw9ZSx0aGlzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5tYXRlcmlhbD10Lm1hdGVyaWFsLHRoaXMuZ2VvbWV0cnk9dC5nZW9tZXRyeSx0aGlzfXJheWNhc3QodCxlKXtjb25zdCBuPXRoaXMuZ2VvbWV0cnksbz10aGlzLm1hdHJpeFdvcmxkLGk9dC5wYXJhbXMuUG9pbnRzLnRocmVzaG9sZCxhPW4uZHJhd1JhbmdlO2lmKG51bGw9PT1uLmJvdW5kaW5nU3BoZXJlJiZuLmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpLHdmdC5jb3B5KG4uYm91bmRpbmdTcGhlcmUpLHdmdC5hcHBseU1hdHJpeDQobyksd2Z0LnJhZGl1cys9aSwhMT09PXQucmF5LmludGVyc2VjdHNTcGhlcmUod2Z0KSlyZXR1cm47T2Z0LmNvcHkobykuaW52ZXJ0KCksUGZ0LmNvcHkodC5yYXkpLmFwcGx5TWF0cml4NChPZnQpO2NvbnN0IHI9aS8oKHRoaXMuc2NhbGUueCt0aGlzLnNjYWxlLnkrdGhpcy5zY2FsZS56KS8zKSxzPXIqcjtpZihuLmlzQnVmZmVyR2VvbWV0cnkpe2NvbnN0IGk9bi5pbmRleCxyPW4uYXR0cmlidXRlcy5wb3NpdGlvbjtpZihudWxsIT09aSl7Zm9yKGxldCBuPU1hdGgubWF4KDAsYS5zdGFydCksbD1NYXRoLm1pbihpLmNvdW50LGEuc3RhcnQrYS5jb3VudCk7bjxsO24rKyl7Y29uc3QgYT1pLmdldFgobik7a2Z0LmZyb21CdWZmZXJBdHRyaWJ1dGUocixhKSxTZnQoa2Z0LGEscyxvLHQsZSx0aGlzKX19ZWxzZXtmb3IobGV0IG49TWF0aC5tYXgoMCxhLnN0YXJ0KSxpPU1hdGgubWluKHIuY291bnQsYS5zdGFydCthLmNvdW50KTtuPGk7bisrKWtmdC5mcm9tQnVmZmVyQXR0cmlidXRlKHIsbiksU2Z0KGtmdCxuLHMsbyx0LGUsdGhpcyl9fWVsc2UgY29uc29sZS5lcnJvcigiVEhSRUUuUG9pbnRzLnJheWNhc3QoKSBubyBsb25nZXIgc3VwcG9ydHMgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfXVwZGF0ZU1vcnBoVGFyZ2V0cygpe2NvbnN0IHQ9dGhpcy5nZW9tZXRyeTtpZih0LmlzQnVmZmVyR2VvbWV0cnkpe2NvbnN0IGU9dC5tb3JwaEF0dHJpYnV0ZXMsbj1PYmplY3Qua2V5cyhlKTtpZihuLmxlbmd0aD4wKXtjb25zdCB0PWVbblswXV07aWYodm9pZCAwIT09dCl7dGhpcy5tb3JwaFRhcmdldEluZmx1ZW5jZXM9W10sdGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnk9e307Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXtjb25zdCBuPXRbZV0ubmFtZXx8U3RyaW5nKGUpO3RoaXMubW9ycGhUYXJnZXRJbmZsdWVuY2VzLnB1c2goMCksdGhpcy5tb3JwaFRhcmdldERpY3Rpb25hcnlbbl09ZX19fX1lbHNle2NvbnN0IGU9dC5tb3JwaFRhcmdldHM7dm9pZCAwIT09ZSYmZS5sZW5ndGg+MCYmY29uc29sZS5lcnJvcigiVEhSRUUuUG9pbnRzLnVwZGF0ZU1vcnBoVGFyZ2V0cygpIGRvZXMgbm90IHN1cHBvcnQgVEhSRUUuR2VvbWV0cnkuIFVzZSBUSFJFRS5CdWZmZXJHZW9tZXRyeSBpbnN0ZWFkLiIpfX19KS5wcm90b3R5cGUuaXNQb2ludHM9ITA7KGNsYXNzIGV4dGVuZHMgQ3N0e2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsKXtzdXBlcih0LGUsbixvLGksYSxyLHMsbCksdGhpcy5mb3JtYXQ9dm9pZCAwIT09cj9yOlZydCx0aGlzLm1pbkZpbHRlcj12b2lkIDAhPT1hP2E6VHJ0LHRoaXMubWFnRmlsdGVyPXZvaWQgMCE9PWk/aTpUcnQsdGhpcy5nZW5lcmF0ZU1pcG1hcHM9ITE7Y29uc3QgYz10aGlzOyJyZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrImluIHQmJnQucmVxdWVzdFZpZGVvRnJhbWVDYWxsYmFjaygoZnVuY3Rpb24gZSgpe2MubmVlZHNVcGRhdGU9ITAsdC5yZXF1ZXN0VmlkZW9GcmFtZUNhbGxiYWNrKGUpfSkpfWNsb25lKCl7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMuaW1hZ2UpLmNvcHkodGhpcyl9dXBkYXRlKCl7Y29uc3QgdD10aGlzLmltYWdlOyExPT09InJlcXVlc3RWaWRlb0ZyYW1lQ2FsbGJhY2siaW4gdCYmdC5yZWFkeVN0YXRlPj10LkhBVkVfQ1VSUkVOVF9EQVRBJiYodGhpcy5uZWVkc1VwZGF0ZT0hMCl9fSkucHJvdG90eXBlLmlzVmlkZW9UZXh0dXJlPSEwOyhjbGFzcyBleHRlbmRzIENzdHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMsbCxjLGQscCl7c3VwZXIobnVsbCxhLHIscyxsLGMsbyxpLGQscCksdGhpcy5pbWFnZT17d2lkdGg6ZSxoZWlnaHQ6bn0sdGhpcy5taXBtYXBzPXQsdGhpcy5mbGlwWT0hMSx0aGlzLmdlbmVyYXRlTWlwbWFwcz0hMX19KS5wcm90b3R5cGUuaXNDb21wcmVzc2VkVGV4dHVyZT0hMDsoY2xhc3MgZXh0ZW5kcyBDc3R7Y29uc3RydWN0b3IodCxlLG4sbyxpLGEscixzLGwpe3N1cGVyKHQsZSxuLG8saSxhLHIscyxsKSx0aGlzLm5lZWRzVXBkYXRlPSEwfX0pLnByb3RvdHlwZS5pc0NhbnZhc1RleHR1cmU9ITA7KGNsYXNzIGV4dGVuZHMgQ3N0e2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIscyxsLGMpe2lmKChjPXZvaWQgMCE9PWM/YzpVcnQpIT09VXJ0JiZjIT09V3J0KXRocm93IG5ldyBFcnJvcigiRGVwdGhUZXh0dXJlIGZvcm1hdCBtdXN0IGJlIGVpdGhlciBUSFJFRS5EZXB0aEZvcm1hdCBvciBUSFJFRS5EZXB0aFN0ZW5jaWxGb3JtYXQiKTt2b2lkIDA9PT1uJiZjPT09VXJ0JiYobj1JcnQpLHZvaWQgMD09PW4mJmM9PT1XcnQmJihuPUJydCksc3VwZXIobnVsbCxvLGksYSxyLHMsYyxuLGwpLHRoaXMuaW1hZ2U9e3dpZHRoOnQsaGVpZ2h0OmV9LHRoaXMubWFnRmlsdGVyPXZvaWQgMCE9PXI/cjpBcnQsdGhpcy5taW5GaWx0ZXI9dm9pZCAwIT09cz9zOkFydCx0aGlzLmZsaXBZPSExLHRoaXMuZ2VuZXJhdGVNaXBtYXBzPSExfX0pLnByb3RvdHlwZS5pc0RlcHRoVGV4dHVyZT0hMDtjbGFzcyBEZnQgZXh0ZW5kcyBkY3R7Y29uc3RydWN0b3IodD0xLGU9OCxuPTAsbz0yKk1hdGguUEkpe3N1cGVyKCksdGhpcy50eXBlPSJDaXJjbGVHZW9tZXRyeSIsdGhpcy5wYXJhbWV0ZXJzPXtyYWRpdXM6dCxzZWdtZW50czplLHRoZXRhU3RhcnQ6bix0aGV0YUxlbmd0aDpvfSxlPU1hdGgubWF4KDMsZSk7Y29uc3QgaT1bXSxhPVtdLHI9W10scz1bXSxsPW5ldyB3c3QsYz1uZXcgZ3N0O2EucHVzaCgwLDAsMCksci5wdXNoKDAsMCwxKSxzLnB1c2goLjUsLjUpO2ZvcihsZXQgaT0wLGQ9MztpPD1lO2krKyxkKz0zKXtjb25zdCBwPW4raS9lKm87bC54PXQqTWF0aC5jb3MocCksbC55PXQqTWF0aC5zaW4ocCksYS5wdXNoKGwueCxsLnksbC56KSxyLnB1c2goMCwwLDEpLGMueD0oYVtkXS90KzEpLzIsYy55PShhW2QrMV0vdCsxKS8yLHMucHVzaChjLngsYy55KX1mb3IobGV0IHQ9MTt0PD1lO3QrKylpLnB1c2godCx0KzEsMCk7dGhpcy5zZXRJbmRleChpKSx0aGlzLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBlY3QoYSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoIm5vcm1hbCIsbmV3IGVjdChyLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBlY3QocywyKSl9c3RhdGljIGZyb21KU09OKHQpe3JldHVybiBuZXcgRGZ0KHQucmFkaXVzLHQuc2VnbWVudHMsdC50aGV0YVN0YXJ0LHQudGhldGFMZW5ndGgpfX1uZXcgd3N0LG5ldyB3c3QsbmV3IHdzdCxuZXcgTGx0O2NsYXNzIFJmdHtjb25zdHJ1Y3Rvcigpe3RoaXMudHlwZT0iQ3VydmUiLHRoaXMuYXJjTGVuZ3RoRGl2aXNpb25zPTIwMH1nZXRQb2ludCgpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkN1cnZlOiAuZ2V0UG9pbnQoKSBub3QgaW1wbGVtZW50ZWQuIiksbnVsbH1nZXRQb2ludEF0KHQsZSl7Y29uc3Qgbj10aGlzLmdldFV0b1RtYXBwaW5nKHQpO3JldHVybiB0aGlzLmdldFBvaW50KG4sZSl9Z2V0UG9pbnRzKHQ9NSl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPD10O24rKyllLnB1c2godGhpcy5nZXRQb2ludChuL3QpKTtyZXR1cm4gZX1nZXRTcGFjZWRQb2ludHModD01KXtjb25zdCBlPVtdO2ZvcihsZXQgbj0wO248PXQ7bisrKWUucHVzaCh0aGlzLmdldFBvaW50QXQobi90KSk7cmV0dXJuIGV9Z2V0TGVuZ3RoKCl7Y29uc3QgdD10aGlzLmdldExlbmd0aHMoKTtyZXR1cm4gdFt0Lmxlbmd0aC0xXX1nZXRMZW5ndGhzKHQ9dGhpcy5hcmNMZW5ndGhEaXZpc2lvbnMpe2lmKHRoaXMuY2FjaGVBcmNMZW5ndGhzJiZ0aGlzLmNhY2hlQXJjTGVuZ3Rocy5sZW5ndGg9PT10KzEmJiF0aGlzLm5lZWRzVXBkYXRlKXJldHVybiB0aGlzLmNhY2hlQXJjTGVuZ3Roczt0aGlzLm5lZWRzVXBkYXRlPSExO2NvbnN0IGU9W107bGV0IG4sbz10aGlzLmdldFBvaW50KDApLGk9MDtlLnB1c2goMCk7Zm9yKGxldCBhPTE7YTw9dDthKyspbj10aGlzLmdldFBvaW50KGEvdCksaSs9bi5kaXN0YW5jZVRvKG8pLGUucHVzaChpKSxvPW47cmV0dXJuIHRoaXMuY2FjaGVBcmNMZW5ndGhzPWUsZX11cGRhdGVBcmNMZW5ndGhzKCl7dGhpcy5uZWVkc1VwZGF0ZT0hMCx0aGlzLmdldExlbmd0aHMoKX1nZXRVdG9UbWFwcGluZyh0LGUpe2NvbnN0IG49dGhpcy5nZXRMZW5ndGhzKCk7bGV0IG89MDtjb25zdCBpPW4ubGVuZ3RoO2xldCBhO2E9ZXx8dCpuW2ktMV07bGV0IHIscz0wLGw9aS0xO2Zvcig7czw9bDspaWYobz1NYXRoLmZsb29yKHMrKGwtcykvMikscj1uW29dLWEscjwwKXM9bysxO2Vsc2V7aWYoIShyPjApKXtsPW87YnJlYWt9bD1vLTF9aWYobz1sLG5bb109PT1hKXJldHVybiBvLyhpLTEpO2NvbnN0IGM9bltvXTtyZXR1cm4obysoYS1jKS8obltvKzFdLWMpKS8oaS0xKX1nZXRUYW5nZW50KHQsZSl7Y29uc3Qgbj0xZS00O2xldCBvPXQtbixpPXQrbjtvPDAmJihvPTApLGk+MSYmKGk9MSk7Y29uc3QgYT10aGlzLmdldFBvaW50KG8pLHI9dGhpcy5nZXRQb2ludChpKSxzPWV8fChhLmlzVmVjdG9yMj9uZXcgZ3N0Om5ldyB3c3QpO3JldHVybiBzLmNvcHkocikuc3ViKGEpLm5vcm1hbGl6ZSgpLHN9Z2V0VGFuZ2VudEF0KHQsZSl7Y29uc3Qgbj10aGlzLmdldFV0b1RtYXBwaW5nKHQpO3JldHVybiB0aGlzLmdldFRhbmdlbnQobixlKX1jb21wdXRlRnJlbmV0RnJhbWVzKHQsZSl7Y29uc3Qgbj1uZXcgd3N0LG89W10saT1bXSxhPVtdLHI9bmV3IHdzdCxzPW5ldyBvbHQ7Zm9yKGxldCBlPTA7ZTw9dDtlKyspe29bZV09dGhpcy5nZXRUYW5nZW50QXQoZS90LG5ldyB3c3QpLG9bZV0ubm9ybWFsaXplKCl9aVswXT1uZXcgd3N0LGFbMF09bmV3IHdzdDtsZXQgbD1OdW1iZXIuTUFYX1ZBTFVFO2NvbnN0IGM9TWF0aC5hYnMob1swXS54KSxkPU1hdGguYWJzKG9bMF0ueSkscD1NYXRoLmFicyhvWzBdLnopO2M8PWwmJihsPWMsbi5zZXQoMSwwLDApKSxkPD1sJiYobD1kLG4uc2V0KDAsMSwwKSkscDw9bCYmbi5zZXQoMCwwLDEpLHIuY3Jvc3NWZWN0b3JzKG9bMF0sbikubm9ybWFsaXplKCksaVswXS5jcm9zc1ZlY3RvcnMob1swXSxyKSxhWzBdLmNyb3NzVmVjdG9ycyhvWzBdLGlbMF0pO2ZvcihsZXQgZT0xO2U8PXQ7ZSsrKXtpZihpW2VdPWlbZS0xXS5jbG9uZSgpLGFbZV09YVtlLTFdLmNsb25lKCksci5jcm9zc1ZlY3RvcnMob1tlLTFdLG9bZV0pLHIubGVuZ3RoKCk+TnVtYmVyLkVQU0lMT04pe3Iubm9ybWFsaXplKCk7Y29uc3QgdD1NYXRoLmFjb3MocHN0KG9bZS0xXS5kb3Qob1tlXSksLTEsMSkpO2lbZV0uYXBwbHlNYXRyaXg0KHMubWFrZVJvdGF0aW9uQXhpcyhyLHQpKX1hW2VdLmNyb3NzVmVjdG9ycyhvW2VdLGlbZV0pfWlmKCEwPT09ZSl7bGV0IGU9TWF0aC5hY29zKHBzdChpWzBdLmRvdChpW3RdKSwtMSwxKSk7ZS89dCxvWzBdLmRvdChyLmNyb3NzVmVjdG9ycyhpWzBdLGlbdF0pKT4wJiYoZT0tZSk7Zm9yKGxldCBuPTE7bjw9dDtuKyspaVtuXS5hcHBseU1hdHJpeDQocy5tYWtlUm90YXRpb25BeGlzKG9bbl0sZSpuKSksYVtuXS5jcm9zc1ZlY3RvcnMob1tuXSxpW25dKX1yZXR1cm57dGFuZ2VudHM6byxub3JtYWxzOmksYmlub3JtYWxzOmF9fWNsb25lKCl7cmV0dXJuKG5ldyB0aGlzLmNvbnN0cnVjdG9yKS5jb3B5KHRoaXMpfWNvcHkodCl7cmV0dXJuIHRoaXMuYXJjTGVuZ3RoRGl2aXNpb25zPXQuYXJjTGVuZ3RoRGl2aXNpb25zLHRoaXN9dG9KU09OKCl7Y29uc3QgdD17bWV0YWRhdGE6e3ZlcnNpb246NC41LHR5cGU6IkN1cnZlIixnZW5lcmF0b3I6IkN1cnZlLnRvSlNPTiJ9fTtyZXR1cm4gdC5hcmNMZW5ndGhEaXZpc2lvbnM9dGhpcy5hcmNMZW5ndGhEaXZpc2lvbnMsdC50eXBlPXRoaXMudHlwZSx0fWZyb21KU09OKHQpe3JldHVybiB0aGlzLmFyY0xlbmd0aERpdmlzaW9ucz10LmFyY0xlbmd0aERpdmlzaW9ucyx0aGlzfX1jbGFzcyBFZnQgZXh0ZW5kcyBSZnR7Y29uc3RydWN0b3IodD0wLGU9MCxuPTEsbz0xLGk9MCxhPTIqTWF0aC5QSSxyPSExLHM9MCl7c3VwZXIoKSx0aGlzLnR5cGU9IkVsbGlwc2VDdXJ2ZSIsdGhpcy5hWD10LHRoaXMuYVk9ZSx0aGlzLnhSYWRpdXM9bix0aGlzLnlSYWRpdXM9byx0aGlzLmFTdGFydEFuZ2xlPWksdGhpcy5hRW5kQW5nbGU9YSx0aGlzLmFDbG9ja3dpc2U9cix0aGlzLmFSb3RhdGlvbj1zfWdldFBvaW50KHQsZSl7Y29uc3Qgbj1lfHxuZXcgZ3N0LG89MipNYXRoLlBJO2xldCBpPXRoaXMuYUVuZEFuZ2xlLXRoaXMuYVN0YXJ0QW5nbGU7Y29uc3QgYT1NYXRoLmFicyhpKTxOdW1iZXIuRVBTSUxPTjtmb3IoO2k8MDspaSs9bztmb3IoO2k+bzspaS09bztpPE51bWJlci5FUFNJTE9OJiYoaT1hPzA6byksITAhPT10aGlzLmFDbG9ja3dpc2V8fGF8fChpPT09bz9pPS1vOmktPW8pO2NvbnN0IHI9dGhpcy5hU3RhcnRBbmdsZSt0Kmk7bGV0IHM9dGhpcy5hWCt0aGlzLnhSYWRpdXMqTWF0aC5jb3MociksbD10aGlzLmFZK3RoaXMueVJhZGl1cypNYXRoLnNpbihyKTtpZigwIT09dGhpcy5hUm90YXRpb24pe2NvbnN0IHQ9TWF0aC5jb3ModGhpcy5hUm90YXRpb24pLGU9TWF0aC5zaW4odGhpcy5hUm90YXRpb24pLG49cy10aGlzLmFYLG89bC10aGlzLmFZO3M9bip0LW8qZSt0aGlzLmFYLGw9biplK28qdCt0aGlzLmFZfXJldHVybiBuLnNldChzLGwpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5hWD10LmFYLHRoaXMuYVk9dC5hWSx0aGlzLnhSYWRpdXM9dC54UmFkaXVzLHRoaXMueVJhZGl1cz10LnlSYWRpdXMsdGhpcy5hU3RhcnRBbmdsZT10LmFTdGFydEFuZ2xlLHRoaXMuYUVuZEFuZ2xlPXQuYUVuZEFuZ2xlLHRoaXMuYUNsb2Nrd2lzZT10LmFDbG9ja3dpc2UsdGhpcy5hUm90YXRpb249dC5hUm90YXRpb24sdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LmFYPXRoaXMuYVgsdC5hWT10aGlzLmFZLHQueFJhZGl1cz10aGlzLnhSYWRpdXMsdC55UmFkaXVzPXRoaXMueVJhZGl1cyx0LmFTdGFydEFuZ2xlPXRoaXMuYVN0YXJ0QW5nbGUsdC5hRW5kQW5nbGU9dGhpcy5hRW5kQW5nbGUsdC5hQ2xvY2t3aXNlPXRoaXMuYUNsb2Nrd2lzZSx0LmFSb3RhdGlvbj10aGlzLmFSb3RhdGlvbix0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLmFYPXQuYVgsdGhpcy5hWT10LmFZLHRoaXMueFJhZGl1cz10LnhSYWRpdXMsdGhpcy55UmFkaXVzPXQueVJhZGl1cyx0aGlzLmFTdGFydEFuZ2xlPXQuYVN0YXJ0QW5nbGUsdGhpcy5hRW5kQW5nbGU9dC5hRW5kQW5nbGUsdGhpcy5hQ2xvY2t3aXNlPXQuYUNsb2Nrd2lzZSx0aGlzLmFSb3RhdGlvbj10LmFSb3RhdGlvbix0aGlzfX1FZnQucHJvdG90eXBlLmlzRWxsaXBzZUN1cnZlPSEwO2NsYXNzIEFmdCBleHRlbmRzIEVmdHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7c3VwZXIodCxlLG4sbixvLGksYSksdGhpcy50eXBlPSJBcmNDdXJ2ZSJ9fWZ1bmN0aW9uIFRmdCgpe2xldCB0PTAsZT0wLG49MCxvPTA7ZnVuY3Rpb24gaShpLGEscixzKXt0PWksZT1yLG49LTMqaSszKmEtMipyLXMsbz0yKmktMiphK3Irc31yZXR1cm57aW5pdENhdG11bGxSb206ZnVuY3Rpb24odCxlLG4sbyxhKXtpKGUsbixhKihuLXQpLGEqKG8tZSkpfSxpbml0Tm9udW5pZm9ybUNhdG11bGxSb206ZnVuY3Rpb24odCxlLG4sbyxhLHIscyl7bGV0IGw9KGUtdCkvYS0obi10KS8oYStyKSsobi1lKS9yLGM9KG4tZSkvci0oby1lKS8ocitzKSsoby1uKS9zO2wqPXIsYyo9cixpKGUsbixsLGMpfSxjYWxjOmZ1bmN0aW9uKGkpe2NvbnN0IGE9aSppO3JldHVybiB0K2UqaStuKmErbyooYSppKX19fUFmdC5wcm90b3R5cGUuaXNBcmNDdXJ2ZT0hMDtjb25zdCBOZnQ9bmV3IHdzdCx6ZnQ9bmV3IFRmdCxJZnQ9bmV3IFRmdCxIZnQ9bmV3IFRmdDtjbGFzcyBGZnQgZXh0ZW5kcyBSZnR7Y29uc3RydWN0b3IodD1bXSxlPSExLG49ImNlbnRyaXBldGFsIixvPS41KXtzdXBlcigpLHRoaXMudHlwZT0iQ2F0bXVsbFJvbUN1cnZlMyIsdGhpcy5wb2ludHM9dCx0aGlzLmNsb3NlZD1lLHRoaXMuY3VydmVUeXBlPW4sdGhpcy50ZW5zaW9uPW99Z2V0UG9pbnQodCxlPW5ldyB3c3Qpe2NvbnN0IG49ZSxvPXRoaXMucG9pbnRzLGk9by5sZW5ndGgsYT0oaS0odGhpcy5jbG9zZWQ/MDoxKSkqdDtsZXQgcixzLGw9TWF0aC5mbG9vcihhKSxjPWEtbDt0aGlzLmNsb3NlZD9sKz1sPjA/MDooTWF0aC5mbG9vcihNYXRoLmFicyhsKS9pKSsxKSppOjA9PT1jJiZsPT09aS0xJiYobD1pLTIsYz0xKSx0aGlzLmNsb3NlZHx8bD4wP3I9b1sobC0xKSVpXTooTmZ0LnN1YlZlY3RvcnMob1swXSxvWzFdKS5hZGQob1swXSkscj1OZnQpO2NvbnN0IGQ9b1tsJWldLHA9b1sobCsxKSVpXTtpZih0aGlzLmNsb3NlZHx8bCsyPGk/cz1vWyhsKzIpJWldOihOZnQuc3ViVmVjdG9ycyhvW2ktMV0sb1tpLTJdKS5hZGQob1tpLTFdKSxzPU5mdCksImNlbnRyaXBldGFsIj09PXRoaXMuY3VydmVUeXBlfHwiY2hvcmRhbCI9PT10aGlzLmN1cnZlVHlwZSl7Y29uc3QgdD0iY2hvcmRhbCI9PT10aGlzLmN1cnZlVHlwZT8uNTouMjU7bGV0IGU9TWF0aC5wb3coci5kaXN0YW5jZVRvU3F1YXJlZChkKSx0KSxuPU1hdGgucG93KGQuZGlzdGFuY2VUb1NxdWFyZWQocCksdCksbz1NYXRoLnBvdyhwLmRpc3RhbmNlVG9TcXVhcmVkKHMpLHQpO248MWUtNCYmKG49MSksZTwxZS00JiYoZT1uKSxvPDFlLTQmJihvPW4pLHpmdC5pbml0Tm9udW5pZm9ybUNhdG11bGxSb20oci54LGQueCxwLngscy54LGUsbixvKSxJZnQuaW5pdE5vbnVuaWZvcm1DYXRtdWxsUm9tKHIueSxkLnkscC55LHMueSxlLG4sbyksSGZ0LmluaXROb251bmlmb3JtQ2F0bXVsbFJvbShyLnosZC56LHAueixzLnosZSxuLG8pfWVsc2UiY2F0bXVsbHJvbSI9PT10aGlzLmN1cnZlVHlwZSYmKHpmdC5pbml0Q2F0bXVsbFJvbShyLngsZC54LHAueCxzLngsdGhpcy50ZW5zaW9uKSxJZnQuaW5pdENhdG11bGxSb20oci55LGQueSxwLnkscy55LHRoaXMudGVuc2lvbiksSGZ0LmluaXRDYXRtdWxsUm9tKHIueixkLnoscC56LHMueix0aGlzLnRlbnNpb24pKTtyZXR1cm4gbi5zZXQoemZ0LmNhbGMoYyksSWZ0LmNhbGMoYyksSGZ0LmNhbGMoYykpLG59Y29weSh0KXtzdXBlci5jb3B5KHQpLHRoaXMucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dC5wb2ludHMubGVuZ3RoO2U8bjtlKyspe3RoaXMucG9pbnRzLnB1c2godC5wb2ludHNbZV0uY2xvbmUoKSl9cmV0dXJuIHRoaXMuY2xvc2VkPXQuY2xvc2VkLHRoaXMuY3VydmVUeXBlPXQuY3VydmVUeXBlLHRoaXMudGVuc2lvbj10LnRlbnNpb24sdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3QucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dGhpcy5wb2ludHMubGVuZ3RoO2U8bjtlKyspe3QucG9pbnRzLnB1c2godGhpcy5wb2ludHNbZV0udG9BcnJheSgpKX1yZXR1cm4gdC5jbG9zZWQ9dGhpcy5jbG9zZWQsdC5jdXJ2ZVR5cGU9dGhpcy5jdXJ2ZVR5cGUsdC50ZW5zaW9uPXRoaXMudGVuc2lvbix0fWZyb21KU09OKHQpe3N1cGVyLmZyb21KU09OKHQpLHRoaXMucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dC5wb2ludHMubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dC5wb2ludHNbZV07dGhpcy5wb2ludHMucHVzaCgobmV3IHdzdCkuZnJvbUFycmF5KG4pKX1yZXR1cm4gdGhpcy5jbG9zZWQ9dC5jbG9zZWQsdGhpcy5jdXJ2ZVR5cGU9dC5jdXJ2ZVR5cGUsdGhpcy50ZW5zaW9uPXQudGVuc2lvbix0aGlzfX1mdW5jdGlvbiBMZnQodCxlLG4sbyxpKXtjb25zdCBhPS41KihvLWUpLHI9LjUqKGktbikscz10KnQ7cmV0dXJuKDIqbi0yKm8rYStyKSoodCpzKSsoLTMqbiszKm8tMiphLXIpKnMrYSp0K259ZnVuY3Rpb24gQmZ0KHQsZSxuLG8pe3JldHVybihmdW5jdGlvbiBpKHQsZSl7Y29uc3Qgbj0xLXQ7cmV0dXJuIG4qbiplfSkodCxlKSsoZnVuY3Rpb24gYSh0LGUpe3JldHVybiAyKigxLXQpKnQqZX0pKHQsbikrKGZ1bmN0aW9uIHIodCxlKXtyZXR1cm4gdCp0KmV9KSh0LG8pfWZ1bmN0aW9uIFZmdCh0LGUsbixvLGkpe3JldHVybihmdW5jdGlvbiBhKHQsZSl7Y29uc3Qgbj0xLXQ7cmV0dXJuIG4qbipuKmV9KSh0LGUpKyhmdW5jdGlvbiByKHQsZSl7Y29uc3Qgbj0xLXQ7cmV0dXJuIDMqbipuKnQqZX0pKHQsbikrKGZ1bmN0aW9uIHModCxlKXtyZXR1cm4gMyooMS10KSp0KnQqZX0pKHQsbykrKGZ1bmN0aW9uIGwodCxlKXtyZXR1cm4gdCp0KnQqZX0pKHQsaSl9RmZ0LnByb3RvdHlwZS5pc0NhdG11bGxSb21DdXJ2ZTM9ITA7Y2xhc3MgamZ0IGV4dGVuZHMgUmZ0e2NvbnN0cnVjdG9yKHQ9bmV3IGdzdCxlPW5ldyBnc3Qsbj1uZXcgZ3N0LG89bmV3IGdzdCl7c3VwZXIoKSx0aGlzLnR5cGU9IkN1YmljQmV6aWVyQ3VydmUiLHRoaXMudjA9dCx0aGlzLnYxPWUsdGhpcy52Mj1uLHRoaXMudjM9b31nZXRQb2ludCh0LGU9bmV3IGdzdCl7Y29uc3Qgbj1lLG89dGhpcy52MCxpPXRoaXMudjEsYT10aGlzLnYyLHI9dGhpcy52MztyZXR1cm4gbi5zZXQoVmZ0KHQsby54LGkueCxhLngsci54KSxWZnQodCxvLnksaS55LGEueSxyLnkpKSxufWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy52MC5jb3B5KHQudjApLHRoaXMudjEuY29weSh0LnYxKSx0aGlzLnYyLmNvcHkodC52MiksdGhpcy52My5jb3B5KHQudjMpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC52MD10aGlzLnYwLnRvQXJyYXkoKSx0LnYxPXRoaXMudjEudG9BcnJheSgpLHQudjI9dGhpcy52Mi50b0FycmF5KCksdC52Mz10aGlzLnYzLnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLnYwLmZyb21BcnJheSh0LnYwKSx0aGlzLnYxLmZyb21BcnJheSh0LnYxKSx0aGlzLnYyLmZyb21BcnJheSh0LnYyKSx0aGlzLnYzLmZyb21BcnJheSh0LnYzKSx0aGlzfX1qZnQucHJvdG90eXBlLmlzQ3ViaWNCZXppZXJDdXJ2ZT0hMDtjbGFzcyBVZnQgZXh0ZW5kcyBSZnR7Y29uc3RydWN0b3IodD1uZXcgd3N0LGU9bmV3IHdzdCxuPW5ldyB3c3Qsbz1uZXcgd3N0KXtzdXBlcigpLHRoaXMudHlwZT0iQ3ViaWNCZXppZXJDdXJ2ZTMiLHRoaXMudjA9dCx0aGlzLnYxPWUsdGhpcy52Mj1uLHRoaXMudjM9b31nZXRQb2ludCh0LGU9bmV3IHdzdCl7Y29uc3Qgbj1lLG89dGhpcy52MCxpPXRoaXMudjEsYT10aGlzLnYyLHI9dGhpcy52MztyZXR1cm4gbi5zZXQoVmZ0KHQsby54LGkueCxhLngsci54KSxWZnQodCxvLnksaS55LGEueSxyLnkpLFZmdCh0LG8ueixpLnosYS56LHIueikpLG59Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLnYwLmNvcHkodC52MCksdGhpcy52MS5jb3B5KHQudjEpLHRoaXMudjIuY29weSh0LnYyKSx0aGlzLnYzLmNvcHkodC52MyksdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LnYwPXRoaXMudjAudG9BcnJheSgpLHQudjE9dGhpcy52MS50b0FycmF5KCksdC52Mj10aGlzLnYyLnRvQXJyYXkoKSx0LnYzPXRoaXMudjMudG9BcnJheSgpLHR9ZnJvbUpTT04odCl7cmV0dXJuIHN1cGVyLmZyb21KU09OKHQpLHRoaXMudjAuZnJvbUFycmF5KHQudjApLHRoaXMudjEuZnJvbUFycmF5KHQudjEpLHRoaXMudjIuZnJvbUFycmF5KHQudjIpLHRoaXMudjMuZnJvbUFycmF5KHQudjMpLHRoaXN9fVVmdC5wcm90b3R5cGUuaXNDdWJpY0JlemllckN1cnZlMz0hMDtjbGFzcyBXZnQgZXh0ZW5kcyBSZnR7Y29uc3RydWN0b3IodD1uZXcgZ3N0LGU9bmV3IGdzdCl7c3VwZXIoKSx0aGlzLnR5cGU9IkxpbmVDdXJ2ZSIsdGhpcy52MT10LHRoaXMudjI9ZX1nZXRQb2ludCh0LGU9bmV3IGdzdCl7Y29uc3Qgbj1lO3JldHVybiAxPT09dD9uLmNvcHkodGhpcy52Mik6KG4uY29weSh0aGlzLnYyKS5zdWIodGhpcy52MSksbi5tdWx0aXBseVNjYWxhcih0KS5hZGQodGhpcy52MSkpLG59Z2V0UG9pbnRBdCh0LGUpe3JldHVybiB0aGlzLmdldFBvaW50KHQsZSl9Z2V0VGFuZ2VudCh0LGUpe2NvbnN0IG49ZXx8bmV3IGdzdDtyZXR1cm4gbi5jb3B5KHRoaXMudjIpLnN1Yih0aGlzLnYxKS5ub3JtYWxpemUoKSxufWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy52MS5jb3B5KHQudjEpLHRoaXMudjIuY29weSh0LnYyKSx0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7cmV0dXJuIHQudjE9dGhpcy52MS50b0FycmF5KCksdC52Mj10aGlzLnYyLnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLnYxLmZyb21BcnJheSh0LnYxKSx0aGlzLnYyLmZyb21BcnJheSh0LnYyKSx0aGlzfX1XZnQucHJvdG90eXBlLmlzTGluZUN1cnZlPSEwO2NsYXNzIEdmdCBleHRlbmRzIFJmdHtjb25zdHJ1Y3Rvcih0PW5ldyBnc3QsZT1uZXcgZ3N0LG49bmV3IGdzdCl7c3VwZXIoKSx0aGlzLnR5cGU9IlF1YWRyYXRpY0JlemllckN1cnZlIix0aGlzLnYwPXQsdGhpcy52MT1lLHRoaXMudjI9bn1nZXRQb2ludCh0LGU9bmV3IGdzdCl7Y29uc3Qgbj1lLG89dGhpcy52MCxpPXRoaXMudjEsYT10aGlzLnYyO3JldHVybiBuLnNldChCZnQodCxvLngsaS54LGEueCksQmZ0KHQsby55LGkueSxhLnkpKSxufWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy52MC5jb3B5KHQudjApLHRoaXMudjEuY29weSh0LnYxKSx0aGlzLnYyLmNvcHkodC52MiksdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LnYwPXRoaXMudjAudG9BcnJheSgpLHQudjE9dGhpcy52MS50b0FycmF5KCksdC52Mj10aGlzLnYyLnRvQXJyYXkoKSx0fWZyb21KU09OKHQpe3JldHVybiBzdXBlci5mcm9tSlNPTih0KSx0aGlzLnYwLmZyb21BcnJheSh0LnYwKSx0aGlzLnYxLmZyb21BcnJheSh0LnYxKSx0aGlzLnYyLmZyb21BcnJheSh0LnYyKSx0aGlzfX1HZnQucHJvdG90eXBlLmlzUXVhZHJhdGljQmV6aWVyQ3VydmU9ITA7Y2xhc3MgWWZ0IGV4dGVuZHMgUmZ0e2NvbnN0cnVjdG9yKHQ9bmV3IHdzdCxlPW5ldyB3c3Qsbj1uZXcgd3N0KXtzdXBlcigpLHRoaXMudHlwZT0iUXVhZHJhdGljQmV6aWVyQ3VydmUzIix0aGlzLnYwPXQsdGhpcy52MT1lLHRoaXMudjI9bn1nZXRQb2ludCh0LGU9bmV3IHdzdCl7Y29uc3Qgbj1lLG89dGhpcy52MCxpPXRoaXMudjEsYT10aGlzLnYyO3JldHVybiBuLnNldChCZnQodCxvLngsaS54LGEueCksQmZ0KHQsby55LGkueSxhLnkpLEJmdCh0LG8ueixpLnosYS56KSksbn1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMudjAuY29weSh0LnYwKSx0aGlzLnYxLmNvcHkodC52MSksdGhpcy52Mi5jb3B5KHQudjIpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC52MD10aGlzLnYwLnRvQXJyYXkoKSx0LnYxPXRoaXMudjEudG9BcnJheSgpLHQudjI9dGhpcy52Mi50b0FycmF5KCksdH1mcm9tSlNPTih0KXtyZXR1cm4gc3VwZXIuZnJvbUpTT04odCksdGhpcy52MC5mcm9tQXJyYXkodC52MCksdGhpcy52MS5mcm9tQXJyYXkodC52MSksdGhpcy52Mi5mcm9tQXJyYXkodC52MiksdGhpc319WWZ0LnByb3RvdHlwZS5pc1F1YWRyYXRpY0JlemllckN1cnZlMz0hMDtjbGFzcyBxZnQgZXh0ZW5kcyBSZnR7Y29uc3RydWN0b3IodD1bXSl7c3VwZXIoKSx0aGlzLnR5cGU9IlNwbGluZUN1cnZlIix0aGlzLnBvaW50cz10fWdldFBvaW50KHQsZT1uZXcgZ3N0KXtjb25zdCBuPWUsbz10aGlzLnBvaW50cyxpPShvLmxlbmd0aC0xKSp0LGE9TWF0aC5mbG9vcihpKSxyPWktYSxzPW9bMD09PWE/YTphLTFdLGw9b1thXSxjPW9bYT5vLmxlbmd0aC0yP28ubGVuZ3RoLTE6YSsxXSxkPW9bYT5vLmxlbmd0aC0zP28ubGVuZ3RoLTE6YSsyXTtyZXR1cm4gbi5zZXQoTGZ0KHIscy54LGwueCxjLngsZC54KSxMZnQocixzLnksbC55LGMueSxkLnkpKSxufWNvcHkodCl7c3VwZXIuY29weSh0KSx0aGlzLnBvaW50cz1bXTtmb3IobGV0IGU9MCxuPXQucG9pbnRzLmxlbmd0aDtlPG47ZSsrKXt0aGlzLnBvaW50cy5wdXNoKHQucG9pbnRzW2VdLmNsb25lKCkpfXJldHVybiB0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7dC5wb2ludHM9W107Zm9yKGxldCBlPTAsbj10aGlzLnBvaW50cy5sZW5ndGg7ZTxuO2UrKyl7dC5wb2ludHMucHVzaCh0aGlzLnBvaW50c1tlXS50b0FycmF5KCkpfXJldHVybiB0fWZyb21KU09OKHQpe3N1cGVyLmZyb21KU09OKHQpLHRoaXMucG9pbnRzPVtdO2ZvcihsZXQgZT0wLG49dC5wb2ludHMubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dC5wb2ludHNbZV07dGhpcy5wb2ludHMucHVzaCgobmV3IGdzdCkuZnJvbUFycmF5KG4pKX1yZXR1cm4gdGhpc319cWZ0LnByb3RvdHlwZS5pc1NwbGluZUN1cnZlPSEwO3ZhciBaZnQ9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsQXJjQ3VydmU6QWZ0LENhdG11bGxSb21DdXJ2ZTM6RmZ0LEN1YmljQmV6aWVyQ3VydmU6amZ0LEN1YmljQmV6aWVyQ3VydmUzOlVmdCxFbGxpcHNlQ3VydmU6RWZ0LExpbmVDdXJ2ZTpXZnQsTGluZUN1cnZlMzpjbGFzcyBleHRlbmRzIFJmdHtjb25zdHJ1Y3Rvcih0PW5ldyB3c3QsZT1uZXcgd3N0KXtzdXBlcigpLHRoaXMudHlwZT0iTGluZUN1cnZlMyIsdGhpcy5pc0xpbmVDdXJ2ZTM9ITAsdGhpcy52MT10LHRoaXMudjI9ZX1nZXRQb2ludCh0LGU9bmV3IHdzdCl7Y29uc3Qgbj1lO3JldHVybiAxPT09dD9uLmNvcHkodGhpcy52Mik6KG4uY29weSh0aGlzLnYyKS5zdWIodGhpcy52MSksbi5tdWx0aXBseVNjYWxhcih0KS5hZGQodGhpcy52MSkpLG59Z2V0UG9pbnRBdCh0LGUpe3JldHVybiB0aGlzLmdldFBvaW50KHQsZSl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLnYxLmNvcHkodC52MSksdGhpcy52Mi5jb3B5KHQudjIpLHRoaXN9dG9KU09OKCl7Y29uc3QgdD1zdXBlci50b0pTT04oKTtyZXR1cm4gdC52MT10aGlzLnYxLnRvQXJyYXkoKSx0LnYyPXRoaXMudjIudG9BcnJheSgpLHR9ZnJvbUpTT04odCl7cmV0dXJuIHN1cGVyLmZyb21KU09OKHQpLHRoaXMudjEuZnJvbUFycmF5KHQudjEpLHRoaXMudjIuZnJvbUFycmF5KHQudjIpLHRoaXN9fSxRdWFkcmF0aWNCZXppZXJDdXJ2ZTpHZnQsUXVhZHJhdGljQmV6aWVyQ3VydmUzOllmdCxTcGxpbmVDdXJ2ZTpxZnR9KTtjb25zdCBYZnQ9ZnVuY3Rpb24odCxlLG49Mil7Y29uc3Qgbz1lJiZlLmxlbmd0aCxpPW8/ZVswXSpuOnQubGVuZ3RoO2xldCBhPUtmdCh0LDAsaSxuLCEwKTtjb25zdCByPVtdO2lmKCFhfHxhLm5leHQ9PT1hLnByZXYpcmV0dXJuIHI7bGV0IHMsbCxjLGQscCxtLGY7aWYobyYmKGE9KGZ1bmN0aW9uIHUodCxlLG4sbyl7Y29uc3QgaT1bXTtsZXQgYSxyLHMsbCxjO2ZvcihhPTAscj1lLmxlbmd0aDthPHI7YSsrKXM9ZVthXSpvLGw9YTxyLTE/ZVthKzFdKm86dC5sZW5ndGgsYz1LZnQodCxzLGwsbywhMSksYz09PWMubmV4dCYmKGMuc3RlaW5lcj0hMCksaS5wdXNoKHN1dChjKSk7Zm9yKGkuc29ydChvdXQpLGE9MDthPGkubGVuZ3RoO2ErKylpdXQoaVthXSxuKSxuPUpmdChuLG4ubmV4dCk7cmV0dXJuIG59KSh0LGUsYSxuKSksdC5sZW5ndGg+ODAqbil7cz1jPXRbMF0sbD1kPXRbMV07Zm9yKGxldCBlPW47ZTxpO2UrPW4pcD10W2VdLG09dFtlKzFdLHA8cyYmKHM9cCksbTxsJiYobD1tKSxwPmMmJihjPXApLG0+ZCYmKGQ9bSk7Zj1NYXRoLm1heChjLXMsZC1sKSxmPTAhPT1mPzEvZjowfXJldHVybiBRZnQoYSxyLG4scyxsLGYpLHJ9O2Z1bmN0aW9uIEtmdCh0LGUsbixvLGkpe2xldCBhLHI7aWYoaT09PShmdW5jdGlvbiBzKHQsZSxuLG8pe2xldCBpPTA7Zm9yKGxldCBhPWUscj1uLW87YTxuO2ErPW8paSs9KHRbcl0tdFthXSkqKHRbYSsxXSt0W3IrMV0pLHI9YTtyZXR1cm4gaX0pKHQsZSxuLG8pPjApZm9yKGE9ZTthPG47YSs9bylyPWJ1dChhLHRbYV0sdFthKzFdLHIpO2Vsc2UgZm9yKGE9bi1vO2E+PWU7YS09bylyPWJ1dChhLHRbYV0sdFthKzFdLHIpO3JldHVybiByJiZwdXQocixyLm5leHQpJiYoeXV0KHIpLHI9ci5uZXh0KSxyfWZ1bmN0aW9uIEpmdCh0LGUpe2lmKCF0KXJldHVybiB0O2V8fChlPXQpO2xldCBuLG89dDtkb3tpZihuPSExLG8uc3RlaW5lcnx8IXB1dChvLG8ubmV4dCkmJjAhPT1kdXQoby5wcmV2LG8sby5uZXh0KSlvPW8ubmV4dDtlbHNle2lmKHl1dChvKSxvPWU9by5wcmV2LG89PT1vLm5leHQpYnJlYWs7bj0hMH19d2hpbGUobnx8byE9PWUpO3JldHVybiBlfWZ1bmN0aW9uIFFmdCh0LGUsbixvLGksYSxyKXtpZighdClyZXR1cm47IXImJmEmJihmdW5jdGlvbiBzKHQsZSxuLG8pe2xldCBpPXQ7ZG97bnVsbD09PWkueiYmKGkuej1ydXQoaS54LGkueSxlLG4sbykpLGkucHJldlo9aS5wcmV2LGkubmV4dFo9aS5uZXh0LGk9aS5uZXh0fXdoaWxlKGkhPT10KTtpLnByZXZaLm5leHRaPW51bGwsaS5wcmV2Wj1udWxsLChmdW5jdGlvbiBhKHQpe2xldCBlLG4sbyxpLGEscixzLGwsYz0xO2Rve2ZvcihuPXQsdD1udWxsLGE9bnVsbCxyPTA7bjspe2ZvcihyKyssbz1uLHM9MCxlPTA7ZTxjJiYocysrLG89by5uZXh0WixvKTtlKyspO2ZvcihsPWM7cz4wfHxsPjAmJm87KTAhPT1zJiYoMD09PWx8fCFvfHxuLno8PW8ueik/KGk9bixuPW4ubmV4dFoscy0tKTooaT1vLG89by5uZXh0WixsLS0pLGE/YS5uZXh0Wj1pOnQ9aSxpLnByZXZaPWEsYT1pO249b31hLm5leHRaPW51bGwsYyo9Mn13aGlsZShyPjEpO3JldHVybiB0fSkoaSl9KSh0LG8saSxhKTtsZXQgbCxjLGQ9dDtmb3IoO3QucHJldiE9PXQubmV4dDspaWYobD10LnByZXYsYz10Lm5leHQsYT90dXQodCxvLGksYSk6JGZ0KHQpKWUucHVzaChsLmkvbiksZS5wdXNoKHQuaS9uKSxlLnB1c2goYy5pL24pLHl1dCh0KSx0PWMubmV4dCxkPWMubmV4dDtlbHNlIGlmKCh0PWMpPT09ZCl7cj8xPT09cj9RZnQodD1ldXQoSmZ0KHQpLGUsbiksZSxuLG8saSxhLDIpOjI9PT1yJiZudXQodCxlLG4sbyxpLGEpOlFmdChKZnQodCksZSxuLG8saSxhLDEpO2JyZWFrfX1mdW5jdGlvbiAkZnQodCl7Y29uc3QgZT10LnByZXYsbj10LG89dC5uZXh0O2lmKGR1dChlLG4sbyk+PTApcmV0dXJuITE7bGV0IGk9dC5uZXh0Lm5leHQ7Zm9yKDtpIT09dC5wcmV2Oyl7aWYobHV0KGUueCxlLnksbi54LG4ueSxvLngsby55LGkueCxpLnkpJiZkdXQoaS5wcmV2LGksaS5uZXh0KT49MClyZXR1cm4hMTtpPWkubmV4dH1yZXR1cm4hMH1mdW5jdGlvbiB0dXQodCxlLG4sbyl7Y29uc3QgaT10LnByZXYsYT10LHI9dC5uZXh0O2lmKGR1dChpLGEscik+PTApcmV0dXJuITE7Y29uc3Qgcz1pLng+YS54P2kueD5yLng/aS54OnIueDphLng+ci54P2EueDpyLngsbD1pLnk+YS55P2kueT5yLnk/aS55OnIueTphLnk+ci55P2EueTpyLnksYz1ydXQoaS54PGEueD9pLng8ci54P2kueDpyLng6YS54PHIueD9hLng6ci54LGkueTxhLnk/aS55PHIueT9pLnk6ci55OmEueTxyLnk/YS55OnIueSxlLG4sbyksZD1ydXQocyxsLGUsbixvKTtsZXQgcD10LnByZXZaLG09dC5uZXh0Wjtmb3IoO3AmJnAuej49YyYmbSYmbS56PD1kOyl7aWYocCE9PXQucHJldiYmcCE9PXQubmV4dCYmbHV0KGkueCxpLnksYS54LGEueSxyLngsci55LHAueCxwLnkpJiZkdXQocC5wcmV2LHAscC5uZXh0KT49MClyZXR1cm4hMTtpZihwPXAucHJldlosbSE9PXQucHJldiYmbSE9PXQubmV4dCYmbHV0KGkueCxpLnksYS54LGEueSxyLngsci55LG0ueCxtLnkpJiZkdXQobS5wcmV2LG0sbS5uZXh0KT49MClyZXR1cm4hMTttPW0ubmV4dFp9Zm9yKDtwJiZwLno+PWM7KXtpZihwIT09dC5wcmV2JiZwIT09dC5uZXh0JiZsdXQoaS54LGkueSxhLngsYS55LHIueCxyLnkscC54LHAueSkmJmR1dChwLnByZXYscCxwLm5leHQpPj0wKXJldHVybiExO3A9cC5wcmV2Wn1mb3IoO20mJm0uejw9ZDspe2lmKG0hPT10LnByZXYmJm0hPT10Lm5leHQmJmx1dChpLngsaS55LGEueCxhLnksci54LHIueSxtLngsbS55KSYmZHV0KG0ucHJldixtLG0ubmV4dCk+PTApcmV0dXJuITE7bT1tLm5leHRafXJldHVybiEwfWZ1bmN0aW9uIGV1dCh0LGUsbil7bGV0IG89dDtkb3tjb25zdCBpPW8ucHJldixhPW8ubmV4dC5uZXh0OyFwdXQoaSxhKSYmbXV0KGksbyxvLm5leHQsYSkmJmd1dChpLGEpJiZndXQoYSxpKSYmKGUucHVzaChpLmkvbiksZS5wdXNoKG8uaS9uKSxlLnB1c2goYS5pL24pLHl1dChvKSx5dXQoby5uZXh0KSxvPXQ9YSksbz1vLm5leHR9d2hpbGUobyE9PXQpO3JldHVybiBKZnQobyl9ZnVuY3Rpb24gbnV0KHQsZSxuLG8saSxhKXtsZXQgcj10O2Rve2xldCB0PXIubmV4dC5uZXh0O2Zvcig7dCE9PXIucHJldjspe2lmKHIuaSE9PXQuaSYmY3V0KHIsdCkpe2xldCBzPWh1dChyLHQpO3JldHVybiByPUpmdChyLHIubmV4dCkscz1KZnQocyxzLm5leHQpLFFmdChyLGUsbixvLGksYSksdm9pZCBRZnQocyxlLG4sbyxpLGEpfXQ9dC5uZXh0fXI9ci5uZXh0fXdoaWxlKHIhPT10KX1mdW5jdGlvbiBvdXQodCxlKXtyZXR1cm4gdC54LWUueH1mdW5jdGlvbiBpdXQodCxlKXtpZihlPShmdW5jdGlvbiBuKHQsZSl7bGV0IG49ZTtjb25zdCBvPXQueCxpPXQueTtsZXQgYSxyPS0xLzA7ZG97aWYoaTw9bi55JiZpPj1uLm5leHQueSYmbi5uZXh0LnkhPT1uLnkpe2NvbnN0IHQ9bi54KyhpLW4ueSkqKG4ubmV4dC54LW4ueCkvKG4ubmV4dC55LW4ueSk7aWYodDw9byYmdD5yKXtpZihyPXQsdD09PW8pe2lmKGk9PT1uLnkpcmV0dXJuIG47aWYoaT09PW4ubmV4dC55KXJldHVybiBuLm5leHR9YT1uLng8bi5uZXh0Lng/bjpuLm5leHR9fW49bi5uZXh0fXdoaWxlKG4hPT1lKTtpZighYSlyZXR1cm4gbnVsbDtpZihvPT09cilyZXR1cm4gYTtjb25zdCBzPWEsbD1hLngsYz1hLnk7bGV0IGQscD0xLzA7bj1hO2Rve28+PW4ueCYmbi54Pj1sJiZvIT09bi54JiZsdXQoaTxjP286cixpLGwsYyxpPGM/cjpvLGksbi54LG4ueSkmJihkPU1hdGguYWJzKGktbi55KS8oby1uLngpLGd1dChuLHQpJiYoZDxwfHxkPT09cCYmKG4ueD5hLnh8fG4ueD09PWEueCYmYXV0KGEsbikpKSYmKGE9bixwPWQpKSxuPW4ubmV4dH13aGlsZShuIT09cyk7cmV0dXJuIGF9KSh0LGUpKXtjb25zdCBuPWh1dChlLHQpO0pmdChlLGUubmV4dCksSmZ0KG4sbi5uZXh0KX19ZnVuY3Rpb24gYXV0KHQsZSl7cmV0dXJuIGR1dCh0LnByZXYsdCxlLnByZXYpPDAmJmR1dChlLm5leHQsdCx0Lm5leHQpPDB9ZnVuY3Rpb24gcnV0KHQsZSxuLG8saSl7cmV0dXJuKHQ9MTQzMTY1NTc2NSYoKHQ9ODU4OTkzNDU5JigodD0yNTI2NDUxMzUmKCh0PTE2NzExOTM1JigodD0zMjc2NyoodC1uKSppKXx0PDw4KSl8dDw8NCkpfHQ8PDIpKXx0PDwxKSl8KGU9MTQzMTY1NTc2NSYoKGU9ODU4OTkzNDU5JigoZT0yNTI2NDUxMzUmKChlPTE2NzExOTM1JigoZT0zMjc2NyooZS1vKSppKXxlPDw4KSl8ZTw8NCkpfGU8PDIpKXxlPDwxKSk8PDF9ZnVuY3Rpb24gc3V0KHQpe2xldCBlPXQsbj10O2RveyhlLng8bi54fHxlLng9PT1uLngmJmUueTxuLnkpJiYobj1lKSxlPWUubmV4dH13aGlsZShlIT09dCk7cmV0dXJuIG59ZnVuY3Rpb24gbHV0KHQsZSxuLG8saSxhLHIscyl7cmV0dXJuKGktcikqKGUtcyktKHQtcikqKGEtcyk+PTAmJih0LXIpKihvLXMpLShuLXIpKihlLXMpPj0wJiYobi1yKSooYS1zKS0oaS1yKSooby1zKT49MH1mdW5jdGlvbiBjdXQodCxlKXtyZXR1cm4gdC5uZXh0LmkhPT1lLmkmJnQucHJldi5pIT09ZS5pJiYhKGZ1bmN0aW9uIG4odCxlKXtsZXQgbj10O2Rve2lmKG4uaSE9PXQuaSYmbi5uZXh0LmkhPT10LmkmJm4uaSE9PWUuaSYmbi5uZXh0LmkhPT1lLmkmJm11dChuLG4ubmV4dCx0LGUpKXJldHVybiEwO249bi5uZXh0fXdoaWxlKG4hPT10KTtyZXR1cm4hMX0pKHQsZSkmJihndXQodCxlKSYmZ3V0KGUsdCkmJihmdW5jdGlvbiBvKHQsZSl7bGV0IG49dCxvPSExO2NvbnN0IGk9KHQueCtlLngpLzIsYT0odC55K2UueSkvMjtkb3tuLnk+YSE9bi5uZXh0Lnk+YSYmbi5uZXh0LnkhPT1uLnkmJmk8KG4ubmV4dC54LW4ueCkqKGEtbi55KS8obi5uZXh0Lnktbi55KStuLngmJihvPSFvKSxuPW4ubmV4dH13aGlsZShuIT09dCk7cmV0dXJuIG99KSh0LGUpJiYoZHV0KHQucHJldix0LGUucHJldil8fGR1dCh0LGUucHJldixlKSl8fHB1dCh0LGUpJiZkdXQodC5wcmV2LHQsdC5uZXh0KT4wJiZkdXQoZS5wcmV2LGUsZS5uZXh0KT4wKX1mdW5jdGlvbiBkdXQodCxlLG4pe3JldHVybihlLnktdC55KSoobi54LWUueCktKGUueC10LngpKihuLnktZS55KX1mdW5jdGlvbiBwdXQodCxlKXtyZXR1cm4gdC54PT09ZS54JiZ0Lnk9PT1lLnl9ZnVuY3Rpb24gbXV0KHQsZSxuLG8pe2NvbnN0IGk9dXV0KGR1dCh0LGUsbikpLGE9dXV0KGR1dCh0LGUsbykpLHI9dXV0KGR1dChuLG8sdCkpLHM9dXV0KGR1dChuLG8sZSkpO3JldHVybiBpIT09YSYmciE9PXN8fCghKDAhPT1pfHwhZnV0KHQsbixlKSl8fCghKDAhPT1hfHwhZnV0KHQsbyxlKSl8fCghKDAhPT1yfHwhZnV0KG4sdCxvKSl8fCEoMCE9PXN8fCFmdXQobixlLG8pKSkpKX1mdW5jdGlvbiBmdXQodCxlLG4pe3JldHVybiBlLng8PU1hdGgubWF4KHQueCxuLngpJiZlLng+PU1hdGgubWluKHQueCxuLngpJiZlLnk8PU1hdGgubWF4KHQueSxuLnkpJiZlLnk+PU1hdGgubWluKHQueSxuLnkpfWZ1bmN0aW9uIHV1dCh0KXtyZXR1cm4gdD4wPzE6dDwwPy0xOjB9ZnVuY3Rpb24gZ3V0KHQsZSl7cmV0dXJuIGR1dCh0LnByZXYsdCx0Lm5leHQpPDA/ZHV0KHQsZSx0Lm5leHQpPj0wJiZkdXQodCx0LnByZXYsZSk+PTA6ZHV0KHQsZSx0LnByZXYpPDB8fGR1dCh0LHQubmV4dCxlKTwwfWZ1bmN0aW9uIGh1dCh0LGUpe2NvbnN0IG49bmV3IF91dCh0LmksdC54LHQueSksbz1uZXcgX3V0KGUuaSxlLngsZS55KSxpPXQubmV4dCxhPWUucHJldjtyZXR1cm4gdC5uZXh0PWUsZS5wcmV2PXQsbi5uZXh0PWksaS5wcmV2PW4sby5uZXh0PW4sbi5wcmV2PW8sYS5uZXh0PW8sby5wcmV2PWEsb31mdW5jdGlvbiBidXQodCxlLG4sbyl7Y29uc3QgaT1uZXcgX3V0KHQsZSxuKTtyZXR1cm4gbz8oaS5uZXh0PW8ubmV4dCxpLnByZXY9byxvLm5leHQucHJldj1pLG8ubmV4dD1pKTooaS5wcmV2PWksaS5uZXh0PWkpLGl9ZnVuY3Rpb24geXV0KHQpe3QubmV4dC5wcmV2PXQucHJldix0LnByZXYubmV4dD10Lm5leHQsdC5wcmV2WiYmKHQucHJldloubmV4dFo9dC5uZXh0WiksdC5uZXh0WiYmKHQubmV4dFoucHJldlo9dC5wcmV2Wil9ZnVuY3Rpb24gX3V0KHQsZSxuKXt0aGlzLmk9dCx0aGlzLng9ZSx0aGlzLnk9bix0aGlzLnByZXY9bnVsbCx0aGlzLm5leHQ9bnVsbCx0aGlzLno9bnVsbCx0aGlzLnByZXZaPW51bGwsdGhpcy5uZXh0Wj1udWxsLHRoaXMuc3RlaW5lcj0hMX1jbGFzcyBDdXR7c3RhdGljIGFyZWEodCl7Y29uc3QgZT10Lmxlbmd0aDtsZXQgbj0wO2ZvcihsZXQgbz1lLTEsaT0wO2k8ZTtvPWkrKyluKz10W29dLngqdFtpXS55LXRbaV0ueCp0W29dLnk7cmV0dXJuLjUqbn1zdGF0aWMgaXNDbG9ja1dpc2UodCl7cmV0dXJuIEN1dC5hcmVhKHQpPDB9c3RhdGljIHRyaWFuZ3VsYXRlU2hhcGUodCxlKXtjb25zdCBuPVtdLG89W10saT1bXTtNdXQodCksdnV0KG4sdCk7bGV0IGE9dC5sZW5ndGg7ZS5mb3JFYWNoKE11dCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0Kyspby5wdXNoKGEpLGErPWVbdF0ubGVuZ3RoLHZ1dChuLGVbdF0pO2NvbnN0IHI9WGZ0KG4sbyk7Zm9yKGxldCB0PTA7dDxyLmxlbmd0aDt0Kz0zKWkucHVzaChyLnNsaWNlKHQsdCszKSk7cmV0dXJuIGl9fWZ1bmN0aW9uIE11dCh0KXtjb25zdCBlPXQubGVuZ3RoO2U+MiYmdFtlLTFdLmVxdWFscyh0WzBdKSYmdC5wb3AoKX1mdW5jdGlvbiB2dXQodCxlKXtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyl0LnB1c2goZVtuXS54KSx0LnB1c2goZVtuXS55KX1jbGFzcyB4dXQgZXh0ZW5kcyBkY3R7Y29uc3RydWN0b3IodCxlKXtzdXBlcigpLHRoaXMudHlwZT0iRXh0cnVkZUdlb21ldHJ5Iix0aGlzLnBhcmFtZXRlcnM9e3NoYXBlczp0LG9wdGlvbnM6ZX0sdD1BcnJheS5pc0FycmF5KHQpP3Q6W3RdO2NvbnN0IG49dGhpcyxvPVtdLGk9W107Zm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXthKHRbZV0pfWZ1bmN0aW9uIGEodCl7Y29uc3QgYT1bXSxyPXZvaWQgMCE9PWUuY3VydmVTZWdtZW50cz9lLmN1cnZlU2VnbWVudHM6MTIscz12b2lkIDAhPT1lLnN0ZXBzP2Uuc3RlcHM6MTtsZXQgbD12b2lkIDAhPT1lLmRlcHRoP2UuZGVwdGg6MTAwLGM9dm9pZCAwPT09ZS5iZXZlbEVuYWJsZWR8fGUuYmV2ZWxFbmFibGVkLGQ9dm9pZCAwIT09ZS5iZXZlbFRoaWNrbmVzcz9lLmJldmVsVGhpY2tuZXNzOjYscD12b2lkIDAhPT1lLmJldmVsU2l6ZT9lLmJldmVsU2l6ZTpkLTIsbT12b2lkIDAhPT1lLmJldmVsT2Zmc2V0P2UuYmV2ZWxPZmZzZXQ6MCxmPXZvaWQgMCE9PWUuYmV2ZWxTZWdtZW50cz9lLmJldmVsU2VnbWVudHM6Mztjb25zdCB1PWUuZXh0cnVkZVBhdGgsZz12b2lkIDAhPT1lLlVWR2VuZXJhdG9yP2UuVVZHZW5lcmF0b3I6T3V0O3ZvaWQgMCE9PWUuYW1vdW50JiYoY29uc29sZS53YXJuKCJUSFJFRS5FeHRydWRlQnVmZmVyR2VvbWV0cnk6IGFtb3VudCBoYXMgYmVlbiByZW5hbWVkIHRvIGRlcHRoLiIpLGw9ZS5hbW91bnQpO2xldCBoLGIseSxfLEMsTT0hMTt1JiYoaD11LmdldFNwYWNlZFBvaW50cyhzKSxNPSEwLGM9ITEsYj11LmNvbXB1dGVGcmVuZXRGcmFtZXMocywhMSkseT1uZXcgd3N0LF89bmV3IHdzdCxDPW5ldyB3c3QpLGN8fChmPTAsZD0wLHA9MCxtPTApO2NvbnN0IHY9dC5leHRyYWN0UG9pbnRzKHIpO2xldCB4PXYuc2hhcGU7Y29uc3QgTz12LmhvbGVzO2lmKCFDdXQuaXNDbG9ja1dpc2UoeCkpe3g9eC5yZXZlcnNlKCk7Zm9yKGxldCB0PTAsZT1PLmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPU9bdF07Q3V0LmlzQ2xvY2tXaXNlKGUpJiYoT1t0XT1lLnJldmVyc2UoKSl9fWNvbnN0IFA9Q3V0LnRyaWFuZ3VsYXRlU2hhcGUoeCxPKSx3PXg7Zm9yKGxldCB0PTAsZT1PLmxlbmd0aDt0PGU7dCsrKXt4PXguY29uY2F0KE9bdF0pfWZ1bmN0aW9uIGsodCxlLG4pe3JldHVybiBlfHxjb25zb2xlLmVycm9yKCJUSFJFRS5FeHRydWRlR2VvbWV0cnk6IHZlYyBkb2VzIG5vdCBleGlzdCIpLGUuY2xvbmUoKS5tdWx0aXBseVNjYWxhcihuKS5hZGQodCl9Y29uc3QgUz14Lmxlbmd0aCxEPVAubGVuZ3RoO2Z1bmN0aW9uIFIodCxlLG4pe2xldCBvLGksYTtjb25zdCByPXQueC1lLngscz10LnktZS55LGw9bi54LXQueCxjPW4ueS10LnksZD1yKnIrcypzO2lmKE1hdGguYWJzKHIqYy1zKmwpPk51bWJlci5FUFNJTE9OKXtjb25zdCBwPU1hdGguc3FydChkKSxtPU1hdGguc3FydChsKmwrYypjKSxmPWUueC1zL3AsdT1lLnkrci9wLGc9KChuLngtYy9tLWYpKmMtKG4ueStsL20tdSkqbCkvKHIqYy1zKmwpO289ZityKmctdC54LGk9dStzKmctdC55O2NvbnN0IGg9bypvK2kqaTtpZihoPD0yKXJldHVybiBuZXcgZ3N0KG8saSk7YT1NYXRoLnNxcnQoaC8yKX1lbHNle2xldCB0PSExO3I+TnVtYmVyLkVQU0lMT04/bD5OdW1iZXIuRVBTSUxPTiYmKHQ9ITApOnI8LU51bWJlci5FUFNJTE9OP2w8LU51bWJlci5FUFNJTE9OJiYodD0hMCk6TWF0aC5zaWduKHMpPT09TWF0aC5zaWduKGMpJiYodD0hMCksdD8obz0tcyxpPXIsYT1NYXRoLnNxcnQoZCkpOihvPXIsaT1zLGE9TWF0aC5zcXJ0KGQvMikpfXJldHVybiBuZXcgZ3N0KG8vYSxpL2EpfWNvbnN0IEU9W107Zm9yKGxldCB0PTAsZT13Lmxlbmd0aCxuPWUtMSxvPXQrMTt0PGU7dCsrLG4rKyxvKyspbj09PWUmJihuPTApLG89PT1lJiYobz0wKSxFW3RdPVIod1t0XSx3W25dLHdbb10pO2NvbnN0IEE9W107bGV0IFQsTj1FLmNvbmNhdCgpO2ZvcihsZXQgdD0wLGU9Ty5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1PW3RdO1Q9W107Zm9yKGxldCB0PTAsbj1lLmxlbmd0aCxvPW4tMSxpPXQrMTt0PG47dCsrLG8rKyxpKyspbz09PW4mJihvPTApLGk9PT1uJiYoaT0wKSxUW3RdPVIoZVt0XSxlW29dLGVbaV0pO0EucHVzaChUKSxOPU4uY29uY2F0KFQpfWZvcihsZXQgdD0wO3Q8Zjt0Kyspe2NvbnN0IGU9dC9mLG49ZCpNYXRoLmNvcyhlKk1hdGguUEkvMiksbz1wKk1hdGguc2luKGUqTWF0aC5QSS8yKSttO2ZvcihsZXQgdD0wLGU9dy5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1rKHdbdF0sRVt0XSxvKTtIKGUueCxlLnksLW4pfWZvcihsZXQgdD0wLGU9Ty5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1PW3RdO1Q9QVt0XTtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kyspe2NvbnN0IGk9ayhlW3RdLFRbdF0sbyk7SChpLngsaS55LC1uKX19fWNvbnN0IHo9cCttO2ZvcihsZXQgdD0wO3Q8Uzt0Kyspe2NvbnN0IGU9Yz9rKHhbdF0sTlt0XSx6KTp4W3RdO00/KF8uY29weShiLm5vcm1hbHNbMF0pLm11bHRpcGx5U2NhbGFyKGUueCkseS5jb3B5KGIuYmlub3JtYWxzWzBdKS5tdWx0aXBseVNjYWxhcihlLnkpLEMuY29weShoWzBdKS5hZGQoXykuYWRkKHkpLEgoQy54LEMueSxDLnopKTpIKGUueCxlLnksMCl9Zm9yKGxldCB0PTE7dDw9czt0KyspZm9yKGxldCBlPTA7ZTxTO2UrKyl7Y29uc3Qgbj1jP2soeFtlXSxOW2VdLHopOnhbZV07TT8oXy5jb3B5KGIubm9ybWFsc1t0XSkubXVsdGlwbHlTY2FsYXIobi54KSx5LmNvcHkoYi5iaW5vcm1hbHNbdF0pLm11bHRpcGx5U2NhbGFyKG4ueSksQy5jb3B5KGhbdF0pLmFkZChfKS5hZGQoeSksSChDLngsQy55LEMueikpOkgobi54LG4ueSxsL3MqdCl9Zm9yKGxldCB0PWYtMTt0Pj0wO3QtLSl7Y29uc3QgZT10L2Ysbj1kKk1hdGguY29zKGUqTWF0aC5QSS8yKSxvPXAqTWF0aC5zaW4oZSpNYXRoLlBJLzIpK207Zm9yKGxldCB0PTAsZT13Lmxlbmd0aDt0PGU7dCsrKXtjb25zdCBlPWsod1t0XSxFW3RdLG8pO0goZS54LGUueSxsK24pfWZvcihsZXQgdD0wLGU9Ty5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1PW3RdO1Q9QVt0XTtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kyspe2NvbnN0IGk9ayhlW3RdLFRbdF0sbyk7TT9IKGkueCxpLnkraFtzLTFdLnksaFtzLTFdLngrbik6SChpLngsaS55LGwrbil9fX1mdW5jdGlvbiBJKHQsZSl7bGV0IG49dC5sZW5ndGg7Zm9yKDstLW4+PTA7KXtjb25zdCBvPW47bGV0IGk9bi0xO2k8MCYmKGk9dC5sZW5ndGgtMSk7Zm9yKGxldCB0PTAsbj1zKzIqZjt0PG47dCsrKXtjb25zdCBuPVMqdCxhPVMqKHQrMSk7TChlK28rbixlK2krbixlK2krYSxlK28rYSl9fX1mdW5jdGlvbiBIKHQsZSxuKXthLnB1c2godCksYS5wdXNoKGUpLGEucHVzaChuKX1mdW5jdGlvbiBGKHQsZSxpKXtCKHQpLEIoZSksQihpKTtjb25zdCBhPW8ubGVuZ3RoLzMscj1nLmdlbmVyYXRlVG9wVVYobixvLGEtMyxhLTIsYS0xKTtWKHJbMF0pLFYoclsxXSksVihyWzJdKX1mdW5jdGlvbiBMKHQsZSxpLGEpe0IodCksQihlKSxCKGEpLEIoZSksQihpKSxCKGEpO2NvbnN0IHI9by5sZW5ndGgvMyxzPWcuZ2VuZXJhdGVTaWRlV2FsbFVWKG4sbyxyLTYsci0zLHItMixyLTEpO1Yoc1swXSksVihzWzFdKSxWKHNbM10pLFYoc1sxXSksVihzWzJdKSxWKHNbM10pfWZ1bmN0aW9uIEIodCl7by5wdXNoKGFbMyp0KzBdKSxvLnB1c2goYVszKnQrMV0pLG8ucHVzaChhWzMqdCsyXSl9ZnVuY3Rpb24gVih0KXtpLnB1c2godC54KSxpLnB1c2godC55KX0hKGZ1bmN0aW9uIGooKXtjb25zdCB0PW8ubGVuZ3RoLzM7aWYoYyl7bGV0IHQ9MCxlPVMqdDtmb3IobGV0IHQ9MDt0PEQ7dCsrKXtjb25zdCBuPVBbdF07RihuWzJdK2UsblsxXStlLG5bMF0rZSl9dD1zKzIqZixlPVMqdDtmb3IobGV0IHQ9MDt0PEQ7dCsrKXtjb25zdCBuPVBbdF07RihuWzBdK2UsblsxXStlLG5bMl0rZSl9fWVsc2V7Zm9yKGxldCB0PTA7dDxEO3QrKyl7Y29uc3QgZT1QW3RdO0YoZVsyXSxlWzFdLGVbMF0pfWZvcihsZXQgdD0wO3Q8RDt0Kyspe2NvbnN0IGU9UFt0XTtGKGVbMF0rUypzLGVbMV0rUypzLGVbMl0rUypzKX19bi5hZGRHcm91cCh0LG8ubGVuZ3RoLzMtdCwwKX0pKCksKGZ1bmN0aW9uIFUoKXtjb25zdCB0PW8ubGVuZ3RoLzM7bGV0IGU9MDtJKHcsZSksZSs9dy5sZW5ndGg7Zm9yKGxldCB0PTAsbj1PLmxlbmd0aDt0PG47dCsrKXtjb25zdCBuPU9bdF07SShuLGUpLGUrPW4ubGVuZ3RofW4uYWRkR3JvdXAodCxvLmxlbmd0aC8zLXQsMSl9KSgpfXRoaXMuc2V0QXR0cmlidXRlKCJwb3NpdGlvbiIsbmV3IGVjdChvLDMpKSx0aGlzLnNldEF0dHJpYnV0ZSgidXYiLG5ldyBlY3QoaSwyKSksdGhpcy5jb21wdXRlVmVydGV4Tm9ybWFscygpfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7cmV0dXJuKGZ1bmN0aW9uIGUodCxuLG8pe2lmKG8uc2hhcGVzPVtdLEFycmF5LmlzQXJyYXkodCkpZm9yKGxldCBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXtvLnNoYXBlcy5wdXNoKHRbZV0udXVpZCl9ZWxzZSBvLnNoYXBlcy5wdXNoKHQudXVpZCk7dm9pZCAwIT09bi5leHRydWRlUGF0aCYmKG8ub3B0aW9ucy5leHRydWRlUGF0aD1uLmV4dHJ1ZGVQYXRoLnRvSlNPTigpKTtyZXR1cm4gb30pKHRoaXMucGFyYW1ldGVycy5zaGFwZXMsdGhpcy5wYXJhbWV0ZXJzLm9wdGlvbnMsdCl9c3RhdGljIGZyb21KU09OKHQsZSl7Y29uc3Qgbj1bXTtmb3IobGV0IG89MCxpPXQuc2hhcGVzLmxlbmd0aDtvPGk7bysrKXtuLnB1c2goZVt0LnNoYXBlc1tvXV0pfWNvbnN0IG89dC5vcHRpb25zLmV4dHJ1ZGVQYXRoO3JldHVybiB2b2lkIDAhPT1vJiYodC5vcHRpb25zLmV4dHJ1ZGVQYXRoPShuZXcgWmZ0W28udHlwZV0pLmZyb21KU09OKG8pKSxuZXcgeHV0KG4sdC5vcHRpb25zKX19Y29uc3QgT3V0PXtnZW5lcmF0ZVRvcFVWOmZ1bmN0aW9uKHQsZSxuLG8saSl7Y29uc3QgYT1lWzMqb10scj1lWzMqbysxXSxzPWVbMyppXSxsPWVbMyppKzFdO3JldHVybltuZXcgZ3N0KGVbMypuXSxlWzMqbisxXSksbmV3IGdzdChhLHIpLG5ldyBnc3QocyxsKV19LGdlbmVyYXRlU2lkZVdhbGxVVjpmdW5jdGlvbih0LGUsbixvLGksYSl7Y29uc3Qgcj1lWzMqbl0scz1lWzMqbisxXSxsPWVbMypuKzJdLGM9ZVszKm9dLGQ9ZVszKm8rMV0scD1lWzMqbysyXSxtPWVbMyppXSxmPWVbMyppKzFdLHU9ZVszKmkrMl0sZz1lWzMqYV0saD1lWzMqYSsxXSxiPWVbMyphKzJdO3JldHVybiBNYXRoLmFicyhzLWQpPE1hdGguYWJzKHItYyk/W25ldyBnc3QociwxLWwpLG5ldyBnc3QoYywxLXApLG5ldyBnc3QobSwxLXUpLG5ldyBnc3QoZywxLWIpXTpbbmV3IGdzdChzLDEtbCksbmV3IGdzdChkLDEtcCksbmV3IGdzdChmLDEtdSksbmV3IGdzdChoLDEtYildfX07Y2xhc3MgUHV0IGV4dGVuZHMgZGN0e2NvbnN0cnVjdG9yKHQsZT0xMil7c3VwZXIoKSx0aGlzLnR5cGU9IlNoYXBlR2VvbWV0cnkiLHRoaXMucGFyYW1ldGVycz17c2hhcGVzOnQsY3VydmVTZWdtZW50czplfTtjb25zdCBuPVtdLG89W10saT1bXSxhPVtdO2xldCByPTAscz0wO2lmKCExPT09QXJyYXkuaXNBcnJheSh0KSlsKHQpO2Vsc2UgZm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspbCh0W2VdKSx0aGlzLmFkZEdyb3VwKHIscyxlKSxyKz1zLHM9MDtmdW5jdGlvbiBsKHQpe2NvbnN0IHI9by5sZW5ndGgvMyxsPXQuZXh0cmFjdFBvaW50cyhlKTtsZXQgYz1sLnNoYXBlO2NvbnN0IGQ9bC5ob2xlczshMT09PUN1dC5pc0Nsb2NrV2lzZShjKSYmKGM9Yy5yZXZlcnNlKCkpO2ZvcihsZXQgdD0wLGU9ZC5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1kW3RdOyEwPT09Q3V0LmlzQ2xvY2tXaXNlKGUpJiYoZFt0XT1lLnJldmVyc2UoKSl9Y29uc3QgcD1DdXQudHJpYW5ndWxhdGVTaGFwZShjLGQpO2ZvcihsZXQgdD0wLGU9ZC5sZW5ndGg7dDxlO3QrKyl7Yz1jLmNvbmNhdChkW3RdKX1mb3IobGV0IHQ9MCxlPWMubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9Y1t0XTtvLnB1c2goZS54LGUueSwwKSxpLnB1c2goMCwwLDEpLGEucHVzaChlLngsZS55KX1mb3IobGV0IHQ9MCxlPXAubGVuZ3RoO3Q8ZTt0Kyspe2NvbnN0IGU9cFt0XTtuLnB1c2goZVswXStyLGVbMV0rcixlWzJdK3IpLHMrPTN9fXRoaXMuc2V0SW5kZXgobiksdGhpcy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgZWN0KG8sMykpLHRoaXMuc2V0QXR0cmlidXRlKCJub3JtYWwiLG5ldyBlY3QoaSwzKSksdGhpcy5zZXRBdHRyaWJ1dGUoInV2IixuZXcgZWN0KGEsMikpfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7cmV0dXJuKGZ1bmN0aW9uIGUodCxuKXtpZihuLnNoYXBlcz1bXSxBcnJheS5pc0FycmF5KHQpKWZvcihsZXQgZT0wLG89dC5sZW5ndGg7ZTxvO2UrKyl7bi5zaGFwZXMucHVzaCh0W2VdLnV1aWQpfWVsc2Ugbi5zaGFwZXMucHVzaCh0LnV1aWQpO3JldHVybiBufSkodGhpcy5wYXJhbWV0ZXJzLnNoYXBlcyx0KX1zdGF0aWMgZnJvbUpTT04odCxlKXtjb25zdCBuPVtdO2ZvcihsZXQgbz0wLGk9dC5zaGFwZXMubGVuZ3RoO288aTtvKyspe24ucHVzaChlW3Quc2hhcGVzW29dXSl9cmV0dXJuIG5ldyBQdXQobix0LmN1cnZlU2VnbWVudHMpfX0oY2xhc3MgZXh0ZW5kcyBWbHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9IlNoYWRvd01hdGVyaWFsIix0aGlzLmNvbG9yPW5ldyBabHQoMCksdGhpcy50cmFuc3BhcmVudD0hMCx0aGlzLnNldFZhbHVlcyh0KX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuY29sb3IuY29weSh0LmNvbG9yKSx0aGlzfX0pLnByb3RvdHlwZS5pc1NoYWRvd01hdGVyaWFsPSEwO2NsYXNzIHd1dCBleHRlbmRzIFZsdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuZGVmaW5lcz17U1RBTkRBUkQ6IiJ9LHRoaXMudHlwZT0iTWVzaFN0YW5kYXJkTWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IFpsdCgxNjc3NzIxNSksdGhpcy5yb3VnaG5lc3M9MSx0aGlzLm1ldGFsbmVzcz0wLHRoaXMubWFwPW51bGwsdGhpcy5saWdodE1hcD1udWxsLHRoaXMubGlnaHRNYXBJbnRlbnNpdHk9MSx0aGlzLmFvTWFwPW51bGwsdGhpcy5hb01hcEludGVuc2l0eT0xLHRoaXMuZW1pc3NpdmU9bmV3IFpsdCgwKSx0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZU1hcD1udWxsLHRoaXMuYnVtcE1hcD1udWxsLHRoaXMuYnVtcFNjYWxlPTEsdGhpcy5ub3JtYWxNYXA9bnVsbCx0aGlzLm5vcm1hbE1hcFR5cGU9MCx0aGlzLm5vcm1hbFNjYWxlPW5ldyBnc3QoMSwxKSx0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9MSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9MCx0aGlzLnJvdWdobmVzc01hcD1udWxsLHRoaXMubWV0YWxuZXNzTWFwPW51bGwsdGhpcy5hbHBoYU1hcD1udWxsLHRoaXMuZW52TWFwPW51bGwsdGhpcy5lbnZNYXBJbnRlbnNpdHk9MSx0aGlzLnJlZnJhY3Rpb25SYXRpbz0uOTgsdGhpcy53aXJlZnJhbWU9ITEsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9MSx0aGlzLndpcmVmcmFtZUxpbmVjYXA9InJvdW5kIix0aGlzLndpcmVmcmFtZUxpbmVqb2luPSJyb3VuZCIsdGhpcy5mbGF0U2hhZGluZz0hMSx0aGlzLnNldFZhbHVlcyh0KX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuZGVmaW5lcz17U1RBTkRBUkQ6IiJ9LHRoaXMuY29sb3IuY29weSh0LmNvbG9yKSx0aGlzLnJvdWdobmVzcz10LnJvdWdobmVzcyx0aGlzLm1ldGFsbmVzcz10Lm1ldGFsbmVzcyx0aGlzLm1hcD10Lm1hcCx0aGlzLmxpZ2h0TWFwPXQubGlnaHRNYXAsdGhpcy5saWdodE1hcEludGVuc2l0eT10LmxpZ2h0TWFwSW50ZW5zaXR5LHRoaXMuYW9NYXA9dC5hb01hcCx0aGlzLmFvTWFwSW50ZW5zaXR5PXQuYW9NYXBJbnRlbnNpdHksdGhpcy5lbWlzc2l2ZS5jb3B5KHQuZW1pc3NpdmUpLHRoaXMuZW1pc3NpdmVNYXA9dC5lbWlzc2l2ZU1hcCx0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PXQuZW1pc3NpdmVJbnRlbnNpdHksdGhpcy5idW1wTWFwPXQuYnVtcE1hcCx0aGlzLmJ1bXBTY2FsZT10LmJ1bXBTY2FsZSx0aGlzLm5vcm1hbE1hcD10Lm5vcm1hbE1hcCx0aGlzLm5vcm1hbE1hcFR5cGU9dC5ub3JtYWxNYXBUeXBlLHRoaXMubm9ybWFsU2NhbGUuY29weSh0Lm5vcm1hbFNjYWxlKSx0aGlzLmRpc3BsYWNlbWVudE1hcD10LmRpc3BsYWNlbWVudE1hcCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPXQuZGlzcGxhY2VtZW50U2NhbGUsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPXQuZGlzcGxhY2VtZW50Qmlhcyx0aGlzLnJvdWdobmVzc01hcD10LnJvdWdobmVzc01hcCx0aGlzLm1ldGFsbmVzc01hcD10Lm1ldGFsbmVzc01hcCx0aGlzLmFscGhhTWFwPXQuYWxwaGFNYXAsdGhpcy5lbnZNYXA9dC5lbnZNYXAsdGhpcy5lbnZNYXBJbnRlbnNpdHk9dC5lbnZNYXBJbnRlbnNpdHksdGhpcy5yZWZyYWN0aW9uUmF0aW89dC5yZWZyYWN0aW9uUmF0aW8sdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCx0aGlzLndpcmVmcmFtZUxpbmVqb2luPXQud2lyZWZyYW1lTGluZWpvaW4sdGhpcy5mbGF0U2hhZGluZz10LmZsYXRTaGFkaW5nLHRoaXN9fXd1dC5wcm90b3R5cGUuaXNNZXNoU3RhbmRhcmRNYXRlcmlhbD0hMDsoY2xhc3MgZXh0ZW5kcyB3dXR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLmRlZmluZXM9e1NUQU5EQVJEOiIiLFBIWVNJQ0FMOiIifSx0aGlzLnR5cGU9Ik1lc2hQaHlzaWNhbE1hdGVyaWFsIix0aGlzLmNsZWFyY29hdD0wLHRoaXMuY2xlYXJjb2F0TWFwPW51bGwsdGhpcy5jbGVhcmNvYXRSb3VnaG5lc3M9MCx0aGlzLmNsZWFyY29hdFJvdWdobmVzc01hcD1udWxsLHRoaXMuY2xlYXJjb2F0Tm9ybWFsU2NhbGU9bmV3IGdzdCgxLDEpLHRoaXMuY2xlYXJjb2F0Tm9ybWFsTWFwPW51bGwsdGhpcy5yZWZsZWN0aXZpdHk9LjUsT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImlvciIse2dldDpmdW5jdGlvbigpe3JldHVybigxKy40KnRoaXMucmVmbGVjdGl2aXR5KS8oMS0uNCp0aGlzLnJlZmxlY3Rpdml0eSl9LHNldDpmdW5jdGlvbih0KXt0aGlzLnJlZmxlY3Rpdml0eT1wc3QoMi41Kih0LTEpLyh0KzEpLDAsMSl9fSksdGhpcy5zaGVlbj1udWxsLHRoaXMudHJhbnNtaXNzaW9uPTAsdGhpcy50cmFuc21pc3Npb25NYXA9bnVsbCx0aGlzLnRoaWNrbmVzcz0uMDEsdGhpcy50aGlja25lc3NNYXA9bnVsbCx0aGlzLmF0dGVudWF0aW9uRGlzdGFuY2U9MCx0aGlzLmF0dGVudWF0aW9uVGludD1uZXcgWmx0KDEsMSwxKSx0aGlzLnNwZWN1bGFySW50ZW5zaXR5PTEsdGhpcy5zcGVjdWxhckludGVuc2l0eU1hcD1udWxsLHRoaXMuc3BlY3VsYXJUaW50PW5ldyBabHQoMSwxLDEpLHRoaXMuc3BlY3VsYXJUaW50TWFwPW51bGwsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmRlZmluZXM9e1NUQU5EQVJEOiIiLFBIWVNJQ0FMOiIifSx0aGlzLmNsZWFyY29hdD10LmNsZWFyY29hdCx0aGlzLmNsZWFyY29hdE1hcD10LmNsZWFyY29hdE1hcCx0aGlzLmNsZWFyY29hdFJvdWdobmVzcz10LmNsZWFyY29hdFJvdWdobmVzcyx0aGlzLmNsZWFyY29hdFJvdWdobmVzc01hcD10LmNsZWFyY29hdFJvdWdobmVzc01hcCx0aGlzLmNsZWFyY29hdE5vcm1hbE1hcD10LmNsZWFyY29hdE5vcm1hbE1hcCx0aGlzLmNsZWFyY29hdE5vcm1hbFNjYWxlLmNvcHkodC5jbGVhcmNvYXROb3JtYWxTY2FsZSksdGhpcy5yZWZsZWN0aXZpdHk9dC5yZWZsZWN0aXZpdHksdGhpcy5zaGVlbj10LnNoZWVuPyh0aGlzLnNoZWVufHxuZXcgWmx0KS5jb3B5KHQuc2hlZW4pOm51bGwsdGhpcy50cmFuc21pc3Npb249dC50cmFuc21pc3Npb24sdGhpcy50cmFuc21pc3Npb25NYXA9dC50cmFuc21pc3Npb25NYXAsdGhpcy50aGlja25lc3M9dC50aGlja25lc3MsdGhpcy50aGlja25lc3NNYXA9dC50aGlja25lc3NNYXAsdGhpcy5hdHRlbnVhdGlvbkRpc3RhbmNlPXQuYXR0ZW51YXRpb25EaXN0YW5jZSx0aGlzLmF0dGVudWF0aW9uVGludC5jb3B5KHQuYXR0ZW51YXRpb25UaW50KSx0aGlzLnNwZWN1bGFySW50ZW5zaXR5PXQuc3BlY3VsYXJJbnRlbnNpdHksdGhpcy5zcGVjdWxhckludGVuc2l0eU1hcD10LnNwZWN1bGFySW50ZW5zaXR5TWFwLHRoaXMuc3BlY3VsYXJUaW50LmNvcHkodC5zcGVjdWxhclRpbnQpLHRoaXMuc3BlY3VsYXJUaW50TWFwPXQuc3BlY3VsYXJUaW50TWFwLHRoaXN9fSkucHJvdG90eXBlLmlzTWVzaFBoeXNpY2FsTWF0ZXJpYWw9ITA7KGNsYXNzIGV4dGVuZHMgVmx0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJNZXNoUGhvbmdNYXRlcmlhbCIsdGhpcy5jb2xvcj1uZXcgWmx0KDE2Nzc3MjE1KSx0aGlzLnNwZWN1bGFyPW5ldyBabHQoMTExODQ4MSksdGhpcy5zaGluaW5lc3M9MzAsdGhpcy5tYXA9bnVsbCx0aGlzLmxpZ2h0TWFwPW51bGwsdGhpcy5saWdodE1hcEludGVuc2l0eT0xLHRoaXMuYW9NYXA9bnVsbCx0aGlzLmFvTWFwSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZT1uZXcgWmx0KDApLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9MSx0aGlzLmVtaXNzaXZlTWFwPW51bGwsdGhpcy5idW1wTWFwPW51bGwsdGhpcy5idW1wU2NhbGU9MSx0aGlzLm5vcm1hbE1hcD1udWxsLHRoaXMubm9ybWFsTWFwVHlwZT0wLHRoaXMubm9ybWFsU2NhbGU9bmV3IGdzdCgxLDEpLHRoaXMuZGlzcGxhY2VtZW50TWFwPW51bGwsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz0wLHRoaXMuc3BlY3VsYXJNYXA9bnVsbCx0aGlzLmFscGhhTWFwPW51bGwsdGhpcy5lbnZNYXA9bnVsbCx0aGlzLmNvbWJpbmU9MCx0aGlzLnJlZmxlY3Rpdml0eT0xLHRoaXMucmVmcmFjdGlvblJhdGlvPS45OCx0aGlzLndpcmVmcmFtZT0hMSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xLHRoaXMud2lyZWZyYW1lTGluZWNhcD0icm91bmQiLHRoaXMud2lyZWZyYW1lTGluZWpvaW49InJvdW5kIix0aGlzLmZsYXRTaGFkaW5nPSExLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMuc3BlY3VsYXIuY29weSh0LnNwZWN1bGFyKSx0aGlzLnNoaW5pbmVzcz10LnNoaW5pbmVzcyx0aGlzLm1hcD10Lm1hcCx0aGlzLmxpZ2h0TWFwPXQubGlnaHRNYXAsdGhpcy5saWdodE1hcEludGVuc2l0eT10LmxpZ2h0TWFwSW50ZW5zaXR5LHRoaXMuYW9NYXA9dC5hb01hcCx0aGlzLmFvTWFwSW50ZW5zaXR5PXQuYW9NYXBJbnRlbnNpdHksdGhpcy5lbWlzc2l2ZS5jb3B5KHQuZW1pc3NpdmUpLHRoaXMuZW1pc3NpdmVNYXA9dC5lbWlzc2l2ZU1hcCx0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PXQuZW1pc3NpdmVJbnRlbnNpdHksdGhpcy5idW1wTWFwPXQuYnVtcE1hcCx0aGlzLmJ1bXBTY2FsZT10LmJ1bXBTY2FsZSx0aGlzLm5vcm1hbE1hcD10Lm5vcm1hbE1hcCx0aGlzLm5vcm1hbE1hcFR5cGU9dC5ub3JtYWxNYXBUeXBlLHRoaXMubm9ybWFsU2NhbGUuY29weSh0Lm5vcm1hbFNjYWxlKSx0aGlzLmRpc3BsYWNlbWVudE1hcD10LmRpc3BsYWNlbWVudE1hcCx0aGlzLmRpc3BsYWNlbWVudFNjYWxlPXQuZGlzcGxhY2VtZW50U2NhbGUsdGhpcy5kaXNwbGFjZW1lbnRCaWFzPXQuZGlzcGxhY2VtZW50Qmlhcyx0aGlzLnNwZWN1bGFyTWFwPXQuc3BlY3VsYXJNYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZW52TWFwPXQuZW52TWFwLHRoaXMuY29tYmluZT10LmNvbWJpbmUsdGhpcy5yZWZsZWN0aXZpdHk9dC5yZWZsZWN0aXZpdHksdGhpcy5yZWZyYWN0aW9uUmF0aW89dC5yZWZyYWN0aW9uUmF0aW8sdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCx0aGlzLndpcmVmcmFtZUxpbmVqb2luPXQud2lyZWZyYW1lTGluZWpvaW4sdGhpcy5mbGF0U2hhZGluZz10LmZsYXRTaGFkaW5nLHRoaXN9fSkucHJvdG90eXBlLmlzTWVzaFBob25nTWF0ZXJpYWw9ITA7KGNsYXNzIGV4dGVuZHMgVmx0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5kZWZpbmVzPXtUT09OOiIifSx0aGlzLnR5cGU9Ik1lc2hUb29uTWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IFpsdCgxNjc3NzIxNSksdGhpcy5tYXA9bnVsbCx0aGlzLmdyYWRpZW50TWFwPW51bGwsdGhpcy5saWdodE1hcD1udWxsLHRoaXMubGlnaHRNYXBJbnRlbnNpdHk9MSx0aGlzLmFvTWFwPW51bGwsdGhpcy5hb01hcEludGVuc2l0eT0xLHRoaXMuZW1pc3NpdmU9bmV3IFpsdCgwKSx0aGlzLmVtaXNzaXZlSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZU1hcD1udWxsLHRoaXMuYnVtcE1hcD1udWxsLHRoaXMuYnVtcFNjYWxlPTEsdGhpcy5ub3JtYWxNYXA9bnVsbCx0aGlzLm5vcm1hbE1hcFR5cGU9MCx0aGlzLm5vcm1hbFNjYWxlPW5ldyBnc3QoMSwxKSx0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9MSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9MCx0aGlzLmFscGhhTWFwPW51bGwsdGhpcy53aXJlZnJhbWU9ITEsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9MSx0aGlzLndpcmVmcmFtZUxpbmVjYXA9InJvdW5kIix0aGlzLndpcmVmcmFtZUxpbmVqb2luPSJyb3VuZCIsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmNvbG9yLmNvcHkodC5jb2xvciksdGhpcy5tYXA9dC5tYXAsdGhpcy5ncmFkaWVudE1hcD10LmdyYWRpZW50TWFwLHRoaXMubGlnaHRNYXA9dC5saWdodE1hcCx0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PXQubGlnaHRNYXBJbnRlbnNpdHksdGhpcy5hb01hcD10LmFvTWFwLHRoaXMuYW9NYXBJbnRlbnNpdHk9dC5hb01hcEludGVuc2l0eSx0aGlzLmVtaXNzaXZlLmNvcHkodC5lbWlzc2l2ZSksdGhpcy5lbWlzc2l2ZU1hcD10LmVtaXNzaXZlTWFwLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9dC5lbWlzc2l2ZUludGVuc2l0eSx0aGlzLmJ1bXBNYXA9dC5idW1wTWFwLHRoaXMuYnVtcFNjYWxlPXQuYnVtcFNjYWxlLHRoaXMubm9ybWFsTWFwPXQubm9ybWFsTWFwLHRoaXMubm9ybWFsTWFwVHlwZT10Lm5vcm1hbE1hcFR5cGUsdGhpcy5ub3JtYWxTY2FsZS5jb3B5KHQubm9ybWFsU2NhbGUpLHRoaXMuZGlzcGxhY2VtZW50TWFwPXQuZGlzcGxhY2VtZW50TWFwLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9dC5kaXNwbGFjZW1lbnRTY2FsZSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9dC5kaXNwbGFjZW1lbnRCaWFzLHRoaXMuYWxwaGFNYXA9dC5hbHBoYU1hcCx0aGlzLndpcmVmcmFtZT10LndpcmVmcmFtZSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD10LndpcmVmcmFtZUxpbmV3aWR0aCx0aGlzLndpcmVmcmFtZUxpbmVjYXA9dC53aXJlZnJhbWVMaW5lY2FwLHRoaXMud2lyZWZyYW1lTGluZWpvaW49dC53aXJlZnJhbWVMaW5lam9pbix0aGlzfX0pLnByb3RvdHlwZS5pc01lc2hUb29uTWF0ZXJpYWw9ITA7KGNsYXNzIGV4dGVuZHMgVmx0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJNZXNoTm9ybWFsTWF0ZXJpYWwiLHRoaXMuYnVtcE1hcD1udWxsLHRoaXMuYnVtcFNjYWxlPTEsdGhpcy5ub3JtYWxNYXA9bnVsbCx0aGlzLm5vcm1hbE1hcFR5cGU9MCx0aGlzLm5vcm1hbFNjYWxlPW5ldyBnc3QoMSwxKSx0aGlzLmRpc3BsYWNlbWVudE1hcD1udWxsLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9MSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9MCx0aGlzLndpcmVmcmFtZT0hMSx0aGlzLndpcmVmcmFtZUxpbmV3aWR0aD0xLHRoaXMuZm9nPSExLHRoaXMuZmxhdFNoYWRpbmc9ITEsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmJ1bXBNYXA9dC5idW1wTWFwLHRoaXMuYnVtcFNjYWxlPXQuYnVtcFNjYWxlLHRoaXMubm9ybWFsTWFwPXQubm9ybWFsTWFwLHRoaXMubm9ybWFsTWFwVHlwZT10Lm5vcm1hbE1hcFR5cGUsdGhpcy5ub3JtYWxTY2FsZS5jb3B5KHQubm9ybWFsU2NhbGUpLHRoaXMuZGlzcGxhY2VtZW50TWFwPXQuZGlzcGxhY2VtZW50TWFwLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9dC5kaXNwbGFjZW1lbnRTY2FsZSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9dC5kaXNwbGFjZW1lbnRCaWFzLHRoaXMud2lyZWZyYW1lPXQud2lyZWZyYW1lLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPXQud2lyZWZyYW1lTGluZXdpZHRoLHRoaXMuZmxhdFNoYWRpbmc9dC5mbGF0U2hhZGluZyx0aGlzfX0pLnByb3RvdHlwZS5pc01lc2hOb3JtYWxNYXRlcmlhbD0hMDsoY2xhc3MgZXh0ZW5kcyBWbHR7Y29uc3RydWN0b3IodCl7c3VwZXIoKSx0aGlzLnR5cGU9Ik1lc2hMYW1iZXJ0TWF0ZXJpYWwiLHRoaXMuY29sb3I9bmV3IFpsdCgxNjc3NzIxNSksdGhpcy5tYXA9bnVsbCx0aGlzLmxpZ2h0TWFwPW51bGwsdGhpcy5saWdodE1hcEludGVuc2l0eT0xLHRoaXMuYW9NYXA9bnVsbCx0aGlzLmFvTWFwSW50ZW5zaXR5PTEsdGhpcy5lbWlzc2l2ZT1uZXcgWmx0KDApLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9MSx0aGlzLmVtaXNzaXZlTWFwPW51bGwsdGhpcy5zcGVjdWxhck1hcD1udWxsLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmVudk1hcD1udWxsLHRoaXMuY29tYmluZT0wLHRoaXMucmVmbGVjdGl2aXR5PTEsdGhpcy5yZWZyYWN0aW9uUmF0aW89Ljk4LHRoaXMud2lyZWZyYW1lPSExLHRoaXMud2lyZWZyYW1lTGluZXdpZHRoPTEsdGhpcy53aXJlZnJhbWVMaW5lY2FwPSJyb3VuZCIsdGhpcy53aXJlZnJhbWVMaW5lam9pbj0icm91bmQiLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jb2xvci5jb3B5KHQuY29sb3IpLHRoaXMubWFwPXQubWFwLHRoaXMubGlnaHRNYXA9dC5saWdodE1hcCx0aGlzLmxpZ2h0TWFwSW50ZW5zaXR5PXQubGlnaHRNYXBJbnRlbnNpdHksdGhpcy5hb01hcD10LmFvTWFwLHRoaXMuYW9NYXBJbnRlbnNpdHk9dC5hb01hcEludGVuc2l0eSx0aGlzLmVtaXNzaXZlLmNvcHkodC5lbWlzc2l2ZSksdGhpcy5lbWlzc2l2ZU1hcD10LmVtaXNzaXZlTWFwLHRoaXMuZW1pc3NpdmVJbnRlbnNpdHk9dC5lbWlzc2l2ZUludGVuc2l0eSx0aGlzLnNwZWN1bGFyTWFwPXQuc3BlY3VsYXJNYXAsdGhpcy5hbHBoYU1hcD10LmFscGhhTWFwLHRoaXMuZW52TWFwPXQuZW52TWFwLHRoaXMuY29tYmluZT10LmNvbWJpbmUsdGhpcy5yZWZsZWN0aXZpdHk9dC5yZWZsZWN0aXZpdHksdGhpcy5yZWZyYWN0aW9uUmF0aW89dC5yZWZyYWN0aW9uUmF0aW8sdGhpcy53aXJlZnJhbWU9dC53aXJlZnJhbWUsdGhpcy53aXJlZnJhbWVMaW5ld2lkdGg9dC53aXJlZnJhbWVMaW5ld2lkdGgsdGhpcy53aXJlZnJhbWVMaW5lY2FwPXQud2lyZWZyYW1lTGluZWNhcCx0aGlzLndpcmVmcmFtZUxpbmVqb2luPXQud2lyZWZyYW1lTGluZWpvaW4sdGhpc319KS5wcm90b3R5cGUuaXNNZXNoTGFtYmVydE1hdGVyaWFsPSEwOyhjbGFzcyBleHRlbmRzIFZsdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuZGVmaW5lcz17TUFUQ0FQOiIifSx0aGlzLnR5cGU9Ik1lc2hNYXRjYXBNYXRlcmlhbCIsdGhpcy5jb2xvcj1uZXcgWmx0KDE2Nzc3MjE1KSx0aGlzLm1hdGNhcD1udWxsLHRoaXMubWFwPW51bGwsdGhpcy5idW1wTWFwPW51bGwsdGhpcy5idW1wU2NhbGU9MSx0aGlzLm5vcm1hbE1hcD1udWxsLHRoaXMubm9ybWFsTWFwVHlwZT0wLHRoaXMubm9ybWFsU2NhbGU9bmV3IGdzdCgxLDEpLHRoaXMuZGlzcGxhY2VtZW50TWFwPW51bGwsdGhpcy5kaXNwbGFjZW1lbnRTY2FsZT0xLHRoaXMuZGlzcGxhY2VtZW50Qmlhcz0wLHRoaXMuYWxwaGFNYXA9bnVsbCx0aGlzLmZsYXRTaGFkaW5nPSExLHRoaXMuc2V0VmFsdWVzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5kZWZpbmVzPXtNQVRDQVA6IiJ9LHRoaXMuY29sb3IuY29weSh0LmNvbG9yKSx0aGlzLm1hdGNhcD10Lm1hdGNhcCx0aGlzLm1hcD10Lm1hcCx0aGlzLmJ1bXBNYXA9dC5idW1wTWFwLHRoaXMuYnVtcFNjYWxlPXQuYnVtcFNjYWxlLHRoaXMubm9ybWFsTWFwPXQubm9ybWFsTWFwLHRoaXMubm9ybWFsTWFwVHlwZT10Lm5vcm1hbE1hcFR5cGUsdGhpcy5ub3JtYWxTY2FsZS5jb3B5KHQubm9ybWFsU2NhbGUpLHRoaXMuZGlzcGxhY2VtZW50TWFwPXQuZGlzcGxhY2VtZW50TWFwLHRoaXMuZGlzcGxhY2VtZW50U2NhbGU9dC5kaXNwbGFjZW1lbnRTY2FsZSx0aGlzLmRpc3BsYWNlbWVudEJpYXM9dC5kaXNwbGFjZW1lbnRCaWFzLHRoaXMuYWxwaGFNYXA9dC5hbHBoYU1hcCx0aGlzLmZsYXRTaGFkaW5nPXQuZmxhdFNoYWRpbmcsdGhpc319KS5wcm90b3R5cGUuaXNNZXNoTWF0Y2FwTWF0ZXJpYWw9ITA7KGNsYXNzIGV4dGVuZHMgZmZ0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJMaW5lRGFzaGVkTWF0ZXJpYWwiLHRoaXMuc2NhbGU9MSx0aGlzLmRhc2hTaXplPTMsdGhpcy5nYXBTaXplPTEsdGhpcy5zZXRWYWx1ZXModCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLnNjYWxlPXQuc2NhbGUsdGhpcy5kYXNoU2l6ZT10LmRhc2hTaXplLHRoaXMuZ2FwU2l6ZT10LmdhcFNpemUsdGhpc319KS5wcm90b3R5cGUuaXNMaW5lRGFzaGVkTWF0ZXJpYWw9ITA7Y29uc3Qga3V0PXthcnJheVNsaWNlOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4ga3V0LmlzVHlwZWRBcnJheSh0KT9uZXcgdC5jb25zdHJ1Y3Rvcih0LnN1YmFycmF5KGUsdm9pZCAwIT09bj9uOnQubGVuZ3RoKSk6dC5zbGljZShlLG4pfSxjb252ZXJ0QXJyYXk6ZnVuY3Rpb24odCxlLG4pe3JldHVybiF0fHwhbiYmdC5jb25zdHJ1Y3Rvcj09PWU/dDoibnVtYmVyIj09dHlwZW9mIGUuQllURVNfUEVSX0VMRU1FTlQ/bmV3IGUodCk6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCl9LGlzVHlwZWRBcnJheTpmdW5jdGlvbih0KXtyZXR1cm4gQXJyYXlCdWZmZXIuaXNWaWV3KHQpJiYhKHQgaW5zdGFuY2VvZiBEYXRhVmlldyl9LGdldEtleWZyYW1lT3JkZXI6ZnVuY3Rpb24odCl7Y29uc3QgZT10Lmxlbmd0aCxuPW5ldyBBcnJheShlKTtmb3IobGV0IHQ9MDt0IT09ZTsrK3Qpblt0XT10O3JldHVybiBuLnNvcnQoKGZ1bmN0aW9uIG8oZSxuKXtyZXR1cm4gdFtlXS10W25dfSkpLG59LHNvcnRlZEFycmF5OmZ1bmN0aW9uKHQsZSxuKXtjb25zdCBvPXQubGVuZ3RoLGk9bmV3IHQuY29uc3RydWN0b3Iobyk7Zm9yKGxldCBhPTAscj0wO3IhPT1vOysrYSl7Y29uc3Qgbz1uW2FdKmU7Zm9yKGxldCBuPTA7biE9PWU7KytuKWlbcisrXT10W28rbl19cmV0dXJuIGl9LGZsYXR0ZW5KU09OOmZ1bmN0aW9uKHQsZSxuLG8pe2xldCBpPTEsYT10WzBdO2Zvcig7dm9pZCAwIT09YSYmdm9pZCAwPT09YVtvXTspYT10W2krK107aWYodm9pZCAwPT09YSlyZXR1cm47bGV0IHI9YVtvXTtpZih2b2lkIDAhPT1yKWlmKEFycmF5LmlzQXJyYXkocikpZG97cj1hW29dLHZvaWQgMCE9PXImJihlLnB1c2goYS50aW1lKSxuLnB1c2guYXBwbHkobixyKSksYT10W2krK119d2hpbGUodm9pZCAwIT09YSk7ZWxzZSBpZih2b2lkIDAhPT1yLnRvQXJyYXkpZG97cj1hW29dLHZvaWQgMCE9PXImJihlLnB1c2goYS50aW1lKSxyLnRvQXJyYXkobixuLmxlbmd0aCkpLGE9dFtpKytdfXdoaWxlKHZvaWQgMCE9PWEpO2Vsc2UgZG97cj1hW29dLHZvaWQgMCE9PXImJihlLnB1c2goYS50aW1lKSxuLnB1c2gocikpLGE9dFtpKytdfXdoaWxlKHZvaWQgMCE9PWEpfSxzdWJjbGlwOmZ1bmN0aW9uKHQsZSxuLG8saT0zMCl7Y29uc3QgYT10LmNsb25lKCk7YS5uYW1lPWU7Y29uc3Qgcj1bXTtmb3IobGV0IHQ9MDt0PGEudHJhY2tzLmxlbmd0aDsrK3Qpe2NvbnN0IGU9YS50cmFja3NbdF0scz1lLmdldFZhbHVlU2l6ZSgpLGw9W10sYz1bXTtmb3IobGV0IHQ9MDt0PGUudGltZXMubGVuZ3RoOysrdCl7Y29uc3QgYT1lLnRpbWVzW3RdKmk7aWYoIShhPG58fGE+PW8pKXtsLnB1c2goZS50aW1lc1t0XSk7Zm9yKGxldCBuPTA7bjxzOysrbiljLnB1c2goZS52YWx1ZXNbdCpzK25dKX19MCE9PWwubGVuZ3RoJiYoZS50aW1lcz1rdXQuY29udmVydEFycmF5KGwsZS50aW1lcy5jb25zdHJ1Y3RvciksZS52YWx1ZXM9a3V0LmNvbnZlcnRBcnJheShjLGUudmFsdWVzLmNvbnN0cnVjdG9yKSxyLnB1c2goZSkpfWEudHJhY2tzPXI7bGV0IHM9MS8wO2ZvcihsZXQgdD0wO3Q8YS50cmFja3MubGVuZ3RoOysrdClzPmEudHJhY2tzW3RdLnRpbWVzWzBdJiYocz1hLnRyYWNrc1t0XS50aW1lc1swXSk7Zm9yKGxldCB0PTA7dDxhLnRyYWNrcy5sZW5ndGg7Kyt0KWEudHJhY2tzW3RdLnNoaWZ0KC0xKnMpO3JldHVybiBhLnJlc2V0RHVyYXRpb24oKSxhfSxtYWtlQ2xpcEFkZGl0aXZlOmZ1bmN0aW9uKHQsZT0wLG49dCxvPTMwKXtvPD0wJiYobz0zMCk7Y29uc3QgaT1uLnRyYWNrcy5sZW5ndGgsYT1lL287Zm9yKGxldCBlPTA7ZTxpOysrZSl7Y29uc3Qgbz1uLnRyYWNrc1tlXSxpPW8uVmFsdWVUeXBlTmFtZTtpZigiYm9vbCI9PT1pfHwic3RyaW5nIj09PWkpY29udGludWU7Y29uc3Qgcj10LnRyYWNrcy5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gdC5uYW1lPT09by5uYW1lJiZ0LlZhbHVlVHlwZU5hbWU9PT1pfSkpO2lmKHZvaWQgMD09PXIpY29udGludWU7bGV0IHM9MDtjb25zdCBsPW8uZ2V0VmFsdWVTaXplKCk7by5jcmVhdGVJbnRlcnBvbGFudC5pc0ludGVycG9sYW50RmFjdG9yeU1ldGhvZEdMVEZDdWJpY1NwbGluZSYmKHM9bC8zKTtsZXQgYz0wO2NvbnN0IGQ9ci5nZXRWYWx1ZVNpemUoKTtyLmNyZWF0ZUludGVycG9sYW50LmlzSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kR0xURkN1YmljU3BsaW5lJiYoYz1kLzMpO2NvbnN0IHA9by50aW1lcy5sZW5ndGgtMTtsZXQgbTtpZihhPD1vLnRpbWVzWzBdKXttPWt1dC5hcnJheVNsaWNlKG8udmFsdWVzLHMsbC1zKX1lbHNlIGlmKGE+PW8udGltZXNbcF0pe2NvbnN0IHQ9cCpsK3M7bT1rdXQuYXJyYXlTbGljZShvLnZhbHVlcyx0LHQrbC1zKX1lbHNle2NvbnN0IHQ9by5jcmVhdGVJbnRlcnBvbGFudCgpLGU9cyxuPWwtczt0LmV2YWx1YXRlKGEpLG09a3V0LmFycmF5U2xpY2UodC5yZXN1bHRCdWZmZXIsZSxuKX1pZigicXVhdGVybmlvbiI9PT1pKXsobmV3IFBzdCkuZnJvbUFycmF5KG0pLm5vcm1hbGl6ZSgpLmNvbmp1Z2F0ZSgpLnRvQXJyYXkobSl9Y29uc3QgZj1yLnRpbWVzLmxlbmd0aDtmb3IobGV0IHQ9MDt0PGY7Kyt0KXtjb25zdCBlPXQqZCtjO2lmKCJxdWF0ZXJuaW9uIj09PWkpUHN0Lm11bHRpcGx5UXVhdGVybmlvbnNGbGF0KHIudmFsdWVzLGUsbSwwLHIudmFsdWVzLGUpO2Vsc2V7Y29uc3QgdD1kLTIqYztmb3IobGV0IG49MDtuPHQ7KytuKXIudmFsdWVzW2Urbl0tPW1bbl19fX1yZXR1cm4gdC5ibGVuZE1vZGU9MjUwMSx0fX07Y2xhc3MgU3V0e2NvbnN0cnVjdG9yKHQsZSxuLG8pe3RoaXMucGFyYW1ldGVyUG9zaXRpb25zPXQsdGhpcy5fY2FjaGVkSW5kZXg9MCx0aGlzLnJlc3VsdEJ1ZmZlcj12b2lkIDAhPT1vP286bmV3IGUuY29uc3RydWN0b3IobiksdGhpcy5zYW1wbGVWYWx1ZXM9ZSx0aGlzLnZhbHVlU2l6ZT1uLHRoaXMuc2V0dGluZ3M9bnVsbCx0aGlzLkRlZmF1bHRTZXR0aW5nc189e319ZXZhbHVhdGUodCl7Y29uc3QgZT10aGlzLnBhcmFtZXRlclBvc2l0aW9ucztsZXQgbj10aGlzLl9jYWNoZWRJbmRleCxvPWVbbl0saT1lW24tMV07dDp7ZTp7bGV0IGE7bjp7bzppZighKHQ8bykpe2ZvcihsZXQgYT1uKzI7Oyl7aWYodm9pZCAwPT09byl7aWYodDxpKWJyZWFrIG87cmV0dXJuIG49ZS5sZW5ndGgsdGhpcy5fY2FjaGVkSW5kZXg9bix0aGlzLmFmdGVyRW5kXyhuLTEsdCxpKX1pZihuPT09YSlicmVhaztpZihpPW8sbz1lWysrbl0sdDxvKWJyZWFrIGV9YT1lLmxlbmd0aDticmVhayBufWlmKHQ+PWkpYnJlYWsgdDt7Y29uc3Qgcj1lWzFdO3Q8ciYmKG49MixpPXIpO2ZvcihsZXQgYT1uLTI7Oyl7aWYodm9pZCAwPT09aSlyZXR1cm4gdGhpcy5fY2FjaGVkSW5kZXg9MCx0aGlzLmJlZm9yZVN0YXJ0XygwLHQsbyk7aWYobj09PWEpYnJlYWs7aWYobz1pLGk9ZVstLW4tMV0sdD49aSlicmVhayBlfWE9bixuPTB9fWZvcig7bjxhOyl7Y29uc3Qgbz1uK2E+Pj4xO3Q8ZVtvXT9hPW86bj1vKzF9aWYobz1lW25dLGk9ZVtuLTFdLHZvaWQgMD09PWkpcmV0dXJuIHRoaXMuX2NhY2hlZEluZGV4PTAsdGhpcy5iZWZvcmVTdGFydF8oMCx0LG8pO2lmKHZvaWQgMD09PW8pcmV0dXJuIG49ZS5sZW5ndGgsdGhpcy5fY2FjaGVkSW5kZXg9bix0aGlzLmFmdGVyRW5kXyhuLTEsaSx0KX10aGlzLl9jYWNoZWRJbmRleD1uLHRoaXMuaW50ZXJ2YWxDaGFuZ2VkXyhuLGksbyl9cmV0dXJuIHRoaXMuaW50ZXJwb2xhdGVfKG4saSx0LG8pfWdldFNldHRpbmdzXygpe3JldHVybiB0aGlzLnNldHRpbmdzfHx0aGlzLkRlZmF1bHRTZXR0aW5nc199Y29weVNhbXBsZVZhbHVlXyh0KXtjb25zdCBlPXRoaXMucmVzdWx0QnVmZmVyLG49dGhpcy5zYW1wbGVWYWx1ZXMsbz10aGlzLnZhbHVlU2l6ZSxpPXQqbztmb3IobGV0IHQ9MDt0IT09bzsrK3QpZVt0XT1uW2krdF07cmV0dXJuIGV9aW50ZXJwb2xhdGVfKCl7dGhyb3cgbmV3IEVycm9yKCJjYWxsIHRvIGFic3RyYWN0IG1ldGhvZCIpfWludGVydmFsQ2hhbmdlZF8oKXt9fVN1dC5wcm90b3R5cGUuYmVmb3JlU3RhcnRfPVN1dC5wcm90b3R5cGUuY29weVNhbXBsZVZhbHVlXyxTdXQucHJvdG90eXBlLmFmdGVyRW5kXz1TdXQucHJvdG90eXBlLmNvcHlTYW1wbGVWYWx1ZV87Y2xhc3MgRHV0IGV4dGVuZHMgU3V0e2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKHQsZSxuLG8pLHRoaXMuX3dlaWdodFByZXY9LTAsdGhpcy5fb2Zmc2V0UHJldj0tMCx0aGlzLl93ZWlnaHROZXh0PS0wLHRoaXMuX29mZnNldE5leHQ9LTAsdGhpcy5EZWZhdWx0U2V0dGluZ3NfPXtlbmRpbmdTdGFydDpacnQsZW5kaW5nRW5kOlpydH19aW50ZXJ2YWxDaGFuZ2VkXyh0LGUsbil7Y29uc3Qgbz10aGlzLnBhcmFtZXRlclBvc2l0aW9ucztsZXQgaT10LTIsYT10KzEscj1vW2ldLHM9b1thXTtpZih2b2lkIDA9PT1yKXN3aXRjaCh0aGlzLmdldFNldHRpbmdzXygpLmVuZGluZ1N0YXJ0KXtjYXNlIFhydDppPXQscj0yKmUtbjticmVhaztjYXNlIEtydDppPW8ubGVuZ3RoLTIscj1lK29baV0tb1tpKzFdO2JyZWFrO2RlZmF1bHQ6aT10LHI9bn1pZih2b2lkIDA9PT1zKXN3aXRjaCh0aGlzLmdldFNldHRpbmdzXygpLmVuZGluZ0VuZCl7Y2FzZSBYcnQ6YT10LHM9MipuLWU7YnJlYWs7Y2FzZSBLcnQ6YT0xLHM9bitvWzFdLW9bMF07YnJlYWs7ZGVmYXVsdDphPXQtMSxzPWV9Y29uc3QgbD0uNSoobi1lKSxjPXRoaXMudmFsdWVTaXplO3RoaXMuX3dlaWdodFByZXY9bC8oZS1yKSx0aGlzLl93ZWlnaHROZXh0PWwvKHMtbiksdGhpcy5fb2Zmc2V0UHJldj1pKmMsdGhpcy5fb2Zmc2V0TmV4dD1hKmN9aW50ZXJwb2xhdGVfKHQsZSxuLG8pe2NvbnN0IGk9dGhpcy5yZXN1bHRCdWZmZXIsYT10aGlzLnNhbXBsZVZhbHVlcyxyPXRoaXMudmFsdWVTaXplLHM9dCpyLGw9cy1yLGM9dGhpcy5fb2Zmc2V0UHJldixkPXRoaXMuX29mZnNldE5leHQscD10aGlzLl93ZWlnaHRQcmV2LG09dGhpcy5fd2VpZ2h0TmV4dCxmPShuLWUpLyhvLWUpLHU9ZipmLGc9dSpmLGg9LXAqZysyKnAqdS1wKmYsYj0oMStwKSpnKygtMS41LTIqcCkqdSsoLS41K3ApKmYrMSx5PSgtMS1tKSpnKygxLjUrbSkqdSsuNSpmLF89bSpnLW0qdTtmb3IobGV0IHQ9MDt0IT09cjsrK3QpaVt0XT1oKmFbYyt0XStiKmFbbCt0XSt5KmFbcyt0XStfKmFbZCt0XTtyZXR1cm4gaX19Y2xhc3MgUnV0IGV4dGVuZHMgU3V0e2NvbnN0cnVjdG9yKHQsZSxuLG8pe3N1cGVyKHQsZSxuLG8pfWludGVycG9sYXRlXyh0LGUsbixvKXtjb25zdCBpPXRoaXMucmVzdWx0QnVmZmVyLGE9dGhpcy5zYW1wbGVWYWx1ZXMscj10aGlzLnZhbHVlU2l6ZSxzPXQqcixsPXMtcixjPShuLWUpLyhvLWUpLGQ9MS1jO2ZvcihsZXQgdD0wO3QhPT1yOysrdClpW3RdPWFbbCt0XSpkK2Fbcyt0XSpjO3JldHVybiBpfX1jbGFzcyBFdXQgZXh0ZW5kcyBTdXR7Y29uc3RydWN0b3IodCxlLG4sbyl7c3VwZXIodCxlLG4sbyl9aW50ZXJwb2xhdGVfKHQpe3JldHVybiB0aGlzLmNvcHlTYW1wbGVWYWx1ZV8odC0xKX19Y2xhc3MgQXV0e2NvbnN0cnVjdG9yKHQsZSxuLG8pe2lmKHZvaWQgMD09PXQpdGhyb3cgbmV3IEVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiB0cmFjayBuYW1lIGlzIHVuZGVmaW5lZCIpO2lmKHZvaWQgMD09PWV8fDA9PT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IG5vIGtleWZyYW1lcyBpbiB0cmFjayBuYW1lZCAiK3QpO3RoaXMubmFtZT10LHRoaXMudGltZXM9a3V0LmNvbnZlcnRBcnJheShlLHRoaXMuVGltZUJ1ZmZlclR5cGUpLHRoaXMudmFsdWVzPWt1dC5jb252ZXJ0QXJyYXkobix0aGlzLlZhbHVlQnVmZmVyVHlwZSksdGhpcy5zZXRJbnRlcnBvbGF0aW9uKG98fHRoaXMuRGVmYXVsdEludGVycG9sYXRpb24pfXN0YXRpYyB0b0pTT04odCl7Y29uc3QgZT10LmNvbnN0cnVjdG9yO2xldCBuO2lmKGUudG9KU09OIT09dGhpcy50b0pTT04pbj1lLnRvSlNPTih0KTtlbHNle249e25hbWU6dC5uYW1lLHRpbWVzOmt1dC5jb252ZXJ0QXJyYXkodC50aW1lcyxBcnJheSksdmFsdWVzOmt1dC5jb252ZXJ0QXJyYXkodC52YWx1ZXMsQXJyYXkpfTtjb25zdCBlPXQuZ2V0SW50ZXJwb2xhdGlvbigpO2UhPT10LkRlZmF1bHRJbnRlcnBvbGF0aW9uJiYobi5pbnRlcnBvbGF0aW9uPWUpfXJldHVybiBuLnR5cGU9dC5WYWx1ZVR5cGVOYW1lLG59SW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kRGlzY3JldGUodCl7cmV0dXJuIG5ldyBFdXQodGhpcy50aW1lcyx0aGlzLnZhbHVlcyx0aGlzLmdldFZhbHVlU2l6ZSgpLHQpfUludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcih0KXtyZXR1cm4gbmV3IFJ1dCh0aGlzLnRpbWVzLHRoaXMudmFsdWVzLHRoaXMuZ2V0VmFsdWVTaXplKCksdCl9SW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kU21vb3RoKHQpe3JldHVybiBuZXcgRHV0KHRoaXMudGltZXMsdGhpcy52YWx1ZXMsdGhpcy5nZXRWYWx1ZVNpemUoKSx0KX1zZXRJbnRlcnBvbGF0aW9uKHQpe2xldCBlO3N3aXRjaCh0KXtjYXNlIEdydDplPXRoaXMuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kRGlzY3JldGU7YnJlYWs7Y2FzZSBZcnQ6ZT10aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcjticmVhaztjYXNlIHFydDplPXRoaXMuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kU21vb3RofWlmKHZvaWQgMD09PWUpe2NvbnN0IGU9InVuc3VwcG9ydGVkIGludGVycG9sYXRpb24gZm9yICIrdGhpcy5WYWx1ZVR5cGVOYW1lKyIga2V5ZnJhbWUgdHJhY2sgbmFtZWQgIit0aGlzLm5hbWU7aWYodm9pZCAwPT09dGhpcy5jcmVhdGVJbnRlcnBvbGFudCl7aWYodD09PXRoaXMuRGVmYXVsdEludGVycG9sYXRpb24pdGhyb3cgbmV3IEVycm9yKGUpO3RoaXMuc2V0SW50ZXJwb2xhdGlvbih0aGlzLkRlZmF1bHRJbnRlcnBvbGF0aW9uKX1yZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiIsZSksdGhpc31yZXR1cm4gdGhpcy5jcmVhdGVJbnRlcnBvbGFudD1lLHRoaXN9Z2V0SW50ZXJwb2xhdGlvbigpe3N3aXRjaCh0aGlzLmNyZWF0ZUludGVycG9sYW50KXtjYXNlIHRoaXMuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kRGlzY3JldGU6cmV0dXJuIEdydDtjYXNlIHRoaXMuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kTGluZWFyOnJldHVybiBZcnQ7Y2FzZSB0aGlzLkludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aDpyZXR1cm4gcXJ0fX1nZXRWYWx1ZVNpemUoKXtyZXR1cm4gdGhpcy52YWx1ZXMubGVuZ3RoL3RoaXMudGltZXMubGVuZ3RofXNoaWZ0KHQpe2lmKDAhPT10KXtjb25zdCBlPXRoaXMudGltZXM7Zm9yKGxldCBuPTAsbz1lLmxlbmd0aDtuIT09bzsrK24pZVtuXSs9dH1yZXR1cm4gdGhpc31zY2FsZSh0KXtpZigxIT09dCl7Y29uc3QgZT10aGlzLnRpbWVzO2ZvcihsZXQgbj0wLG89ZS5sZW5ndGg7biE9PW87KytuKWVbbl0qPXR9cmV0dXJuIHRoaXN9dHJpbSh0LGUpe2NvbnN0IG49dGhpcy50aW1lcyxvPW4ubGVuZ3RoO2xldCBpPTAsYT1vLTE7Zm9yKDtpIT09byYmbltpXTx0OykrK2k7Zm9yKDstMSE9PWEmJm5bYV0+ZTspLS1hO2lmKCsrYSwwIT09aXx8YSE9PW8pe2k+PWEmJihhPU1hdGgubWF4KGEsMSksaT1hLTEpO2NvbnN0IHQ9dGhpcy5nZXRWYWx1ZVNpemUoKTt0aGlzLnRpbWVzPWt1dC5hcnJheVNsaWNlKG4saSxhKSx0aGlzLnZhbHVlcz1rdXQuYXJyYXlTbGljZSh0aGlzLnZhbHVlcyxpKnQsYSp0KX1yZXR1cm4gdGhpc312YWxpZGF0ZSgpe2xldCB0PSEwO2NvbnN0IGU9dGhpcy5nZXRWYWx1ZVNpemUoKTtlLU1hdGguZmxvb3IoZSkhPTAmJihjb25zb2xlLmVycm9yKCJUSFJFRS5LZXlmcmFtZVRyYWNrOiBJbnZhbGlkIHZhbHVlIHNpemUgaW4gdHJhY2suIix0aGlzKSx0PSExKTtjb25zdCBuPXRoaXMudGltZXMsbz10aGlzLnZhbHVlcyxpPW4ubGVuZ3RoOzA9PT1pJiYoY29uc29sZS5lcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogVHJhY2sgaXMgZW1wdHkuIix0aGlzKSx0PSExKTtsZXQgYT1udWxsO2ZvcihsZXQgZT0wO2UhPT1pO2UrKyl7Y29uc3Qgbz1uW2VdO2lmKCJudW1iZXIiPT10eXBlb2YgbyYmaXNOYU4obykpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IFRpbWUgaXMgbm90IGEgdmFsaWQgbnVtYmVyLiIsdGhpcyxlLG8pLHQ9ITE7YnJlYWt9aWYobnVsbCE9PWEmJmE+byl7Y29uc29sZS5lcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogT3V0IG9mIG9yZGVyIGtleXMuIix0aGlzLGUsbyxhKSx0PSExO2JyZWFrfWE9b31pZih2b2lkIDAhPT1vJiZrdXQuaXNUeXBlZEFycmF5KG8pKWZvcihsZXQgZT0wLG49by5sZW5ndGg7ZSE9PW47KytlKXtjb25zdCBuPW9bZV07aWYoaXNOYU4obikpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IFZhbHVlIGlzIG5vdCBhIHZhbGlkIG51bWJlci4iLHRoaXMsZSxuKSx0PSExO2JyZWFrfX1yZXR1cm4gdH1vcHRpbWl6ZSgpe2NvbnN0IHQ9a3V0LmFycmF5U2xpY2UodGhpcy50aW1lcyksZT1rdXQuYXJyYXlTbGljZSh0aGlzLnZhbHVlcyksbj10aGlzLmdldFZhbHVlU2l6ZSgpLG89dGhpcy5nZXRJbnRlcnBvbGF0aW9uKCk9PT1xcnQsaT10Lmxlbmd0aC0xO2xldCBhPTE7Zm9yKGxldCByPTE7cjxpOysrcil7bGV0IGk9ITE7Y29uc3Qgcz10W3JdO2lmKHMhPT10W3IrMV0mJigxIT09cnx8cyE9PXRbMF0pKWlmKG8paT0hMDtlbHNle2NvbnN0IHQ9cipuLG89dC1uLGE9dCtuO2ZvcihsZXQgcj0wO3IhPT1uOysrcil7Y29uc3Qgbj1lW3Qrcl07aWYobiE9PWVbbytyXXx8biE9PWVbYStyXSl7aT0hMDticmVha319fWlmKGkpe2lmKHIhPT1hKXt0W2FdPXRbcl07Y29uc3Qgbz1yKm4saT1hKm47Zm9yKGxldCB0PTA7dCE9PW47Kyt0KWVbaSt0XT1lW28rdF19KythfX1pZihpPjApe3RbYV09dFtpXTtmb3IobGV0IHQ9aSpuLG89YSpuLHI9MDtyIT09bjsrK3IpZVtvK3JdPWVbdCtyXTsrK2F9cmV0dXJuIGEhPT10Lmxlbmd0aD8odGhpcy50aW1lcz1rdXQuYXJyYXlTbGljZSh0LDAsYSksdGhpcy52YWx1ZXM9a3V0LmFycmF5U2xpY2UoZSwwLGEqbikpOih0aGlzLnRpbWVzPXQsdGhpcy52YWx1ZXM9ZSksdGhpc31jbG9uZSgpe2NvbnN0IHQ9a3V0LmFycmF5U2xpY2UodGhpcy50aW1lcywwKSxlPWt1dC5hcnJheVNsaWNlKHRoaXMudmFsdWVzLDApLG49bmV3KDAsdGhpcy5jb25zdHJ1Y3RvcikodGhpcy5uYW1lLHQsZSk7cmV0dXJuIG4uY3JlYXRlSW50ZXJwb2xhbnQ9dGhpcy5jcmVhdGVJbnRlcnBvbGFudCxufX1BdXQucHJvdG90eXBlLlRpbWVCdWZmZXJUeXBlPUZsb2F0MzJBcnJheSxBdXQucHJvdG90eXBlLlZhbHVlQnVmZmVyVHlwZT1GbG9hdDMyQXJyYXksQXV0LnByb3RvdHlwZS5EZWZhdWx0SW50ZXJwb2xhdGlvbj1ZcnQ7Y2xhc3MgVHV0IGV4dGVuZHMgQXV0e31UdXQucHJvdG90eXBlLlZhbHVlVHlwZU5hbWU9ImJvb2wiLFR1dC5wcm90b3R5cGUuVmFsdWVCdWZmZXJUeXBlPUFycmF5LFR1dC5wcm90b3R5cGUuRGVmYXVsdEludGVycG9sYXRpb249R3J0LFR1dC5wcm90b3R5cGUuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kTGluZWFyPXZvaWQgMCxUdXQucHJvdG90eXBlLkludGVycG9sYW50RmFjdG9yeU1ldGhvZFNtb290aD12b2lkIDA7Y2xhc3MgTnV0IGV4dGVuZHMgQXV0e31OdXQucHJvdG90eXBlLlZhbHVlVHlwZU5hbWU9ImNvbG9yIjtjbGFzcyB6dXQgZXh0ZW5kcyBBdXR7fXp1dC5wcm90b3R5cGUuVmFsdWVUeXBlTmFtZT0ibnVtYmVyIjtjbGFzcyBJdXQgZXh0ZW5kcyBTdXR7Y29uc3RydWN0b3IodCxlLG4sbyl7c3VwZXIodCxlLG4sbyl9aW50ZXJwb2xhdGVfKHQsZSxuLG8pe2NvbnN0IGk9dGhpcy5yZXN1bHRCdWZmZXIsYT10aGlzLnNhbXBsZVZhbHVlcyxyPXRoaXMudmFsdWVTaXplLHM9KG4tZSkvKG8tZSk7bGV0IGw9dCpyO2ZvcihsZXQgdD1sK3I7bCE9PXQ7bCs9NClQc3Quc2xlcnBGbGF0KGksMCxhLGwtcixhLGwscyk7cmV0dXJuIGl9fWNsYXNzIEh1dCBleHRlbmRzIEF1dHtJbnRlcnBvbGFudEZhY3RvcnlNZXRob2RMaW5lYXIodCl7cmV0dXJuIG5ldyBJdXQodGhpcy50aW1lcyx0aGlzLnZhbHVlcyx0aGlzLmdldFZhbHVlU2l6ZSgpLHQpfX1IdXQucHJvdG90eXBlLlZhbHVlVHlwZU5hbWU9InF1YXRlcm5pb24iLEh1dC5wcm90b3R5cGUuRGVmYXVsdEludGVycG9sYXRpb249WXJ0LEh1dC5wcm90b3R5cGUuSW50ZXJwb2xhbnRGYWN0b3J5TWV0aG9kU21vb3RoPXZvaWQgMDtjbGFzcyBGdXQgZXh0ZW5kcyBBdXR7fUZ1dC5wcm90b3R5cGUuVmFsdWVUeXBlTmFtZT0ic3RyaW5nIixGdXQucHJvdG90eXBlLlZhbHVlQnVmZmVyVHlwZT1BcnJheSxGdXQucHJvdG90eXBlLkRlZmF1bHRJbnRlcnBvbGF0aW9uPUdydCxGdXQucHJvdG90eXBlLkludGVycG9sYW50RmFjdG9yeU1ldGhvZExpbmVhcj12b2lkIDAsRnV0LnByb3RvdHlwZS5JbnRlcnBvbGFudEZhY3RvcnlNZXRob2RTbW9vdGg9dm9pZCAwO2NsYXNzIEx1dCBleHRlbmRzIEF1dHt9THV0LnByb3RvdHlwZS5WYWx1ZVR5cGVOYW1lPSJ2ZWN0b3IiO2NsYXNzIEJ1dHtjb25zdHJ1Y3Rvcih0LGU9LTEsbixvPTI1MDApe3RoaXMubmFtZT10LHRoaXMudHJhY2tzPW4sdGhpcy5kdXJhdGlvbj1lLHRoaXMuYmxlbmRNb2RlPW8sdGhpcy51dWlkPWRzdCgpLHRoaXMuZHVyYXRpb248MCYmdGhpcy5yZXNldER1cmF0aW9uKCl9c3RhdGljIHBhcnNlKHQpe2NvbnN0IGU9W10sbj10LnRyYWNrcyxvPTEvKHQuZnBzfHwxKTtmb3IobGV0IHQ9MCxpPW4ubGVuZ3RoO3QhPT1pOysrdCllLnB1c2goVnV0KG5bdF0pLnNjYWxlKG8pKTtjb25zdCBpPW5ldyB0aGlzKHQubmFtZSx0LmR1cmF0aW9uLGUsdC5ibGVuZE1vZGUpO3JldHVybiBpLnV1aWQ9dC51dWlkLGl9c3RhdGljIHRvSlNPTih0KXtjb25zdCBlPVtdLG49dC50cmFja3Msbz17bmFtZTp0Lm5hbWUsZHVyYXRpb246dC5kdXJhdGlvbix0cmFja3M6ZSx1dWlkOnQudXVpZCxibGVuZE1vZGU6dC5ibGVuZE1vZGV9O2ZvcihsZXQgdD0wLG89bi5sZW5ndGg7dCE9PW87Kyt0KWUucHVzaChBdXQudG9KU09OKG5bdF0pKTtyZXR1cm4gb31zdGF0aWMgQ3JlYXRlRnJvbU1vcnBoVGFyZ2V0U2VxdWVuY2UodCxlLG4sbyl7Y29uc3QgaT1lLmxlbmd0aCxhPVtdO2ZvcihsZXQgdD0wO3Q8aTt0Kyspe2xldCByPVtdLHM9W107ci5wdXNoKCh0K2ktMSklaSx0LCh0KzEpJWkpLHMucHVzaCgwLDEsMCk7Y29uc3QgbD1rdXQuZ2V0S2V5ZnJhbWVPcmRlcihyKTtyPWt1dC5zb3J0ZWRBcnJheShyLDEsbCkscz1rdXQuc29ydGVkQXJyYXkocywxLGwpLG98fDAhPT1yWzBdfHwoci5wdXNoKGkpLHMucHVzaChzWzBdKSksYS5wdXNoKG5ldyB6dXQoIi5tb3JwaFRhcmdldEluZmx1ZW5jZXNbIitlW3RdLm5hbWUrIl0iLHIscykuc2NhbGUoMS9uKSl9cmV0dXJuIG5ldyB0aGlzKHQsLTEsYSl9c3RhdGljIGZpbmRCeU5hbWUodCxlKXtsZXQgbj10O2lmKCFBcnJheS5pc0FycmF5KHQpKXtjb25zdCBlPXQ7bj1lLmdlb21ldHJ5JiZlLmdlb21ldHJ5LmFuaW1hdGlvbnN8fGUuYW5pbWF0aW9uc31mb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKylpZihuW3RdLm5hbWU9PT1lKXJldHVybiBuW3RdO3JldHVybiBudWxsfXN0YXRpYyBDcmVhdGVDbGlwc0Zyb21Nb3JwaFRhcmdldFNlcXVlbmNlcyh0LGUsbil7Y29uc3Qgbz17fSxpPS9eKFtcdy1dKj8pKFtcZF0rKSQvO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10W2VdLGE9bi5uYW1lLm1hdGNoKGkpO2lmKGEmJmEubGVuZ3RoPjEpe2NvbnN0IHQ9YVsxXTtsZXQgZT1vW3RdO2V8fChvW3RdPWU9W10pLGUucHVzaChuKX19Y29uc3QgYT1bXTtmb3IoY29uc3QgdCBpbiBvKWEucHVzaCh0aGlzLkNyZWF0ZUZyb21Nb3JwaFRhcmdldFNlcXVlbmNlKHQsb1t0XSxlLG4pKTtyZXR1cm4gYX1zdGF0aWMgcGFyc2VBbmltYXRpb24odCxlKXtpZighdClyZXR1cm4gY29uc29sZS5lcnJvcigiVEhSRUUuQW5pbWF0aW9uQ2xpcDogTm8gYW5pbWF0aW9uIGluIEpTT05Mb2FkZXIgZGF0YS4iKSxudWxsO2NvbnN0IG49ZnVuY3Rpb24odCxlLG4sbyxpKXtpZigwIT09bi5sZW5ndGgpe2NvbnN0IGE9W10scj1bXTtrdXQuZmxhdHRlbkpTT04obixhLHIsbyksMCE9PWEubGVuZ3RoJiZpLnB1c2gobmV3IHQoZSxhLHIpKX19LG89W10saT10Lm5hbWV8fCJkZWZhdWx0IixhPXQuZnBzfHwzMCxyPXQuYmxlbmRNb2RlO2xldCBzPXQubGVuZ3RofHwtMTtjb25zdCBsPXQuaGllcmFyY2h5fHxbXTtmb3IobGV0IHQ9MDt0PGwubGVuZ3RoO3QrKyl7Y29uc3QgaT1sW3RdLmtleXM7aWYoaSYmMCE9PWkubGVuZ3RoKWlmKGlbMF0ubW9ycGhUYXJnZXRzKXtjb25zdCB0PXt9O2xldCBlO2ZvcihlPTA7ZTxpLmxlbmd0aDtlKyspaWYoaVtlXS5tb3JwaFRhcmdldHMpZm9yKGxldCBuPTA7bjxpW2VdLm1vcnBoVGFyZ2V0cy5sZW5ndGg7bisrKXRbaVtlXS5tb3JwaFRhcmdldHNbbl1dPS0xO2Zvcihjb25zdCBuIGluIHQpe2NvbnN0IHQ9W10sYT1bXTtmb3IobGV0IG89MDtvIT09aVtlXS5tb3JwaFRhcmdldHMubGVuZ3RoOysrbyl7Y29uc3Qgbz1pW2VdO3QucHVzaChvLnRpbWUpLGEucHVzaChvLm1vcnBoVGFyZ2V0PT09bj8xOjApfW8ucHVzaChuZXcgenV0KCIubW9ycGhUYXJnZXRJbmZsdWVuY2VbIituKyJdIix0LGEpKX1zPXQubGVuZ3RoKihhfHwxKX1lbHNle2NvbnN0IGE9Ii5ib25lc1siK2VbdF0ubmFtZSsiXSI7bihMdXQsYSsiLnBvc2l0aW9uIixpLCJwb3MiLG8pLG4oSHV0LGErIi5xdWF0ZXJuaW9uIixpLCJyb3QiLG8pLG4oTHV0LGErIi5zY2FsZSIsaSwic2NsIixvKX19aWYoMD09PW8ubGVuZ3RoKXJldHVybiBudWxsO3JldHVybiBuZXcgdGhpcyhpLHMsbyxyKX1yZXNldER1cmF0aW9uKCl7bGV0IHQ9MDtmb3IobGV0IGU9MCxuPXRoaXMudHJhY2tzLmxlbmd0aDtlIT09bjsrK2Upe2NvbnN0IG49dGhpcy50cmFja3NbZV07dD1NYXRoLm1heCh0LG4udGltZXNbbi50aW1lcy5sZW5ndGgtMV0pfXJldHVybiB0aGlzLmR1cmF0aW9uPXQsdGhpc310cmltKCl7Zm9yKGxldCB0PTA7dDx0aGlzLnRyYWNrcy5sZW5ndGg7dCsrKXRoaXMudHJhY2tzW3RdLnRyaW0oMCx0aGlzLmR1cmF0aW9uKTtyZXR1cm4gdGhpc312YWxpZGF0ZSgpe2xldCB0PSEwO2ZvcihsZXQgZT0wO2U8dGhpcy50cmFja3MubGVuZ3RoO2UrKyl0PXQmJnRoaXMudHJhY2tzW2VdLnZhbGlkYXRlKCk7cmV0dXJuIHR9b3B0aW1pemUoKXtmb3IobGV0IHQ9MDt0PHRoaXMudHJhY2tzLmxlbmd0aDt0KyspdGhpcy50cmFja3NbdF0ub3B0aW1pemUoKTtyZXR1cm4gdGhpc31jbG9uZSgpe2NvbnN0IHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLnRyYWNrcy5sZW5ndGg7ZSsrKXQucHVzaCh0aGlzLnRyYWNrc1tlXS5jbG9uZSgpKTtyZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5uYW1lLHRoaXMuZHVyYXRpb24sdCx0aGlzLmJsZW5kTW9kZSl9dG9KU09OKCl7cmV0dXJuIHRoaXMuY29uc3RydWN0b3IudG9KU09OKHRoaXMpfX1mdW5jdGlvbiBWdXQodCl7aWYodm9pZCAwPT09dC50eXBlKXRocm93IG5ldyBFcnJvcigiVEhSRUUuS2V5ZnJhbWVUcmFjazogdHJhY2sgdHlwZSB1bmRlZmluZWQsIGNhbiBub3QgcGFyc2UiKTtjb25zdCBlPShmdW5jdGlvbiBuKHQpe3N3aXRjaCh0LnRvTG93ZXJDYXNlKCkpe2Nhc2Uic2NhbGFyIjpjYXNlImRvdWJsZSI6Y2FzZSJmbG9hdCI6Y2FzZSJudW1iZXIiOmNhc2UiaW50ZWdlciI6cmV0dXJuIHp1dDtjYXNlInZlY3RvciI6Y2FzZSJ2ZWN0b3IyIjpjYXNlInZlY3RvcjMiOmNhc2UidmVjdG9yNCI6cmV0dXJuIEx1dDtjYXNlImNvbG9yIjpyZXR1cm4gTnV0O2Nhc2UicXVhdGVybmlvbiI6cmV0dXJuIEh1dDtjYXNlImJvb2wiOmNhc2UiYm9vbGVhbiI6cmV0dXJuIFR1dDtjYXNlInN0cmluZyI6cmV0dXJuIEZ1dH10aHJvdyBuZXcgRXJyb3IoIlRIUkVFLktleWZyYW1lVHJhY2s6IFVuc3VwcG9ydGVkIHR5cGVOYW1lOiAiK3QpfSkodC50eXBlKTtpZih2b2lkIDA9PT10LnRpbWVzKXtjb25zdCBlPVtdLG49W107a3V0LmZsYXR0ZW5KU09OKHQua2V5cyxlLG4sInZhbHVlIiksdC50aW1lcz1lLHQudmFsdWVzPW59cmV0dXJuIHZvaWQgMCE9PWUucGFyc2U/ZS5wYXJzZSh0KTpuZXcgZSh0Lm5hbWUsdC50aW1lcyx0LnZhbHVlcyx0LmludGVycG9sYXRpb24pfWNvbnN0IGp1dD17ZW5hYmxlZDohMSxmaWxlczp7fSxhZGQ6ZnVuY3Rpb24odCxlKXshMSE9PXRoaXMuZW5hYmxlZCYmKHRoaXMuZmlsZXNbdF09ZSl9LGdldDpmdW5jdGlvbih0KXtpZighMSE9PXRoaXMuZW5hYmxlZClyZXR1cm4gdGhpcy5maWxlc1t0XX0scmVtb3ZlOmZ1bmN0aW9uKHQpe2RlbGV0ZSB0aGlzLmZpbGVzW3RdfSxjbGVhcjpmdW5jdGlvbigpe3RoaXMuZmlsZXM9e319fTtjb25zdCBVdXQ9bmV3IGNsYXNze2NvbnN0cnVjdG9yKHQsZSxuKXtjb25zdCBvPXRoaXM7bGV0IGksYT0hMSxyPTAscz0wO2NvbnN0IGw9W107dGhpcy5vblN0YXJ0PXZvaWQgMCx0aGlzLm9uTG9hZD10LHRoaXMub25Qcm9ncmVzcz1lLHRoaXMub25FcnJvcj1uLHRoaXMuaXRlbVN0YXJ0PWZ1bmN0aW9uKHQpe3MrKywhMT09PWEmJnZvaWQgMCE9PW8ub25TdGFydCYmby5vblN0YXJ0KHQscixzKSxhPSEwfSx0aGlzLml0ZW1FbmQ9ZnVuY3Rpb24odCl7cisrLHZvaWQgMCE9PW8ub25Qcm9ncmVzcyYmby5vblByb2dyZXNzKHQscixzKSxyPT09cyYmKGE9ITEsdm9pZCAwIT09by5vbkxvYWQmJm8ub25Mb2FkKCkpfSx0aGlzLml0ZW1FcnJvcj1mdW5jdGlvbih0KXt2b2lkIDAhPT1vLm9uRXJyb3ImJm8ub25FcnJvcih0KX0sdGhpcy5yZXNvbHZlVVJMPWZ1bmN0aW9uKHQpe3JldHVybiBpP2kodCk6dH0sdGhpcy5zZXRVUkxNb2RpZmllcj1mdW5jdGlvbih0KXtyZXR1cm4gaT10LHRoaXN9LHRoaXMuYWRkSGFuZGxlcj1mdW5jdGlvbih0LGUpe3JldHVybiBsLnB1c2godCxlKSx0aGlzfSx0aGlzLnJlbW92ZUhhbmRsZXI9ZnVuY3Rpb24odCl7Y29uc3QgZT1sLmluZGV4T2YodCk7cmV0dXJuLTEhPT1lJiZsLnNwbGljZShlLDIpLHRoaXN9LHRoaXMuZ2V0SGFuZGxlcj1mdW5jdGlvbih0KXtmb3IobGV0IGU9MCxuPWwubGVuZ3RoO2U8bjtlKz0yKXtjb25zdCBuPWxbZV0sbz1sW2UrMV07aWYobi5nbG9iYWwmJihuLmxhc3RJbmRleD0wKSxuLnRlc3QodCkpcmV0dXJuIG99cmV0dXJuIG51bGx9fX07Y2xhc3MgV3V0e2NvbnN0cnVjdG9yKHQpe3RoaXMubWFuYWdlcj12b2lkIDAhPT10P3Q6VXV0LHRoaXMuY3Jvc3NPcmlnaW49ImFub255bW91cyIsdGhpcy53aXRoQ3JlZGVudGlhbHM9ITEsdGhpcy5wYXRoPSIiLHRoaXMucmVzb3VyY2VQYXRoPSIiLHRoaXMucmVxdWVzdEhlYWRlcj17fX1sb2FkKCl7fWxvYWRBc3luYyh0LGUpe2NvbnN0IG49dGhpcztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG8saSl7bi5sb2FkKHQsbyxlLGkpfSkpfXBhcnNlKCl7fXNldENyb3NzT3JpZ2luKHQpe3JldHVybiB0aGlzLmNyb3NzT3JpZ2luPXQsdGhpc31zZXRXaXRoQ3JlZGVudGlhbHModCl7cmV0dXJuIHRoaXMud2l0aENyZWRlbnRpYWxzPXQsdGhpc31zZXRQYXRoKHQpe3JldHVybiB0aGlzLnBhdGg9dCx0aGlzfXNldFJlc291cmNlUGF0aCh0KXtyZXR1cm4gdGhpcy5yZXNvdXJjZVBhdGg9dCx0aGlzfXNldFJlcXVlc3RIZWFkZXIodCl7cmV0dXJuIHRoaXMucmVxdWVzdEhlYWRlcj10LHRoaXN9fWNvbnN0IEd1dD17fTtjbGFzcyBZdXQgZXh0ZW5kcyBXdXR7Y29uc3RydWN0b3IodCl7c3VwZXIodCl9bG9hZCh0LGUsbixvKXt2b2lkIDA9PT10JiYodD0iIiksdm9pZCAwIT09dGhpcy5wYXRoJiYodD10aGlzLnBhdGgrdCksdD10aGlzLm1hbmFnZXIucmVzb2x2ZVVSTCh0KTtjb25zdCBpPXRoaXMsYT1qdXQuZ2V0KHQpO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGkubWFuYWdlci5pdGVtU3RhcnQodCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlJiZlKGEpLGkubWFuYWdlci5pdGVtRW5kKHQpfSksMCksYTtpZih2b2lkIDAhPT1HdXRbdF0pcmV0dXJuIHZvaWQgR3V0W3RdLnB1c2goe29uTG9hZDplLG9uUHJvZ3Jlc3M6bixvbkVycm9yOm99KTtjb25zdCByPXQubWF0Y2goL15kYXRhOiguKj8pKDtiYXNlNjQpPywoLiopJC8pO2xldCBzO2lmKHIpe2NvbnN0IG49clsxXSxhPSEhclsyXTtsZXQgcz1yWzNdO3M9ZGVjb2RlVVJJQ29tcG9uZW50KHMpLGEmJihzPWF0b2IocykpO3RyeXtsZXQgbztjb25zdCBhPSh0aGlzLnJlc3BvbnNlVHlwZXx8IiIpLnRvTG93ZXJDYXNlKCk7c3dpdGNoKGEpe2Nhc2UiYXJyYXlidWZmZXIiOmNhc2UiYmxvYiI6Y29uc3QgdD1uZXcgVWludDhBcnJheShzLmxlbmd0aCk7Zm9yKGxldCBlPTA7ZTxzLmxlbmd0aDtlKyspdFtlXT1zLmNoYXJDb2RlQXQoZSk7bz0iYmxvYiI9PT1hP25ldyBCbG9iKFt0LmJ1ZmZlcl0se3R5cGU6bn0pOnQuYnVmZmVyO2JyZWFrO2Nhc2UiZG9jdW1lbnQiOmNvbnN0IGU9bmV3IERPTVBhcnNlcjtvPWUucGFyc2VGcm9tU3RyaW5nKHMsbik7YnJlYWs7Y2FzZSJqc29uIjpvPUpTT04ucGFyc2Uocyk7YnJlYWs7ZGVmYXVsdDpvPXN9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtlJiZlKG8pLGkubWFuYWdlci5pdGVtRW5kKHQpfSksMCl9Y2F0Y2goZSl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXtvJiZvKGUpLGkubWFuYWdlci5pdGVtRXJyb3IodCksaS5tYW5hZ2VyLml0ZW1FbmQodCl9KSwwKX19ZWxzZXtHdXRbdF09W10sR3V0W3RdLnB1c2goe29uTG9hZDplLG9uUHJvZ3Jlc3M6bixvbkVycm9yOm99KSxzPW5ldyBYTUxIdHRwUmVxdWVzdCxzLm9wZW4oIkdFVCIsdCwhMCkscy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoZnVuY3Rpb24oZSl7Y29uc3Qgbj10aGlzLnJlc3BvbnNlLG89R3V0W3RdO2lmKGRlbGV0ZSBHdXRbdF0sMjAwPT09dGhpcy5zdGF0dXN8fDA9PT10aGlzLnN0YXR1cyl7MD09PXRoaXMuc3RhdHVzJiZjb25zb2xlLndhcm4oIlRIUkVFLkZpbGVMb2FkZXI6IEhUVFAgU3RhdHVzIDAgcmVjZWl2ZWQuIiksanV0LmFkZCh0LG4pO2ZvcihsZXQgdD0wLGU9by5sZW5ndGg7dDxlO3QrKyl7Y29uc3QgZT1vW3RdO2Uub25Mb2FkJiZlLm9uTG9hZChuKX1pLm1hbmFnZXIuaXRlbUVuZCh0KX1lbHNle2ZvcihsZXQgdD0wLG49by5sZW5ndGg7dDxuO3QrKyl7Y29uc3Qgbj1vW3RdO24ub25FcnJvciYmbi5vbkVycm9yKGUpfWkubWFuYWdlci5pdGVtRXJyb3IodCksaS5tYW5hZ2VyLml0ZW1FbmQodCl9fSksITEpLHMuYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLChmdW5jdGlvbihlKXtjb25zdCBuPUd1dFt0XTtmb3IobGV0IHQ9MCxvPW4ubGVuZ3RoO3Q8bzt0Kyspe2NvbnN0IG89blt0XTtvLm9uUHJvZ3Jlc3MmJm8ub25Qcm9ncmVzcyhlKX19KSwhMSkscy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKGZ1bmN0aW9uKGUpe2NvbnN0IG49R3V0W3RdO2RlbGV0ZSBHdXRbdF07Zm9yKGxldCB0PTAsbz1uLmxlbmd0aDt0PG87dCsrKXtjb25zdCBvPW5bdF07by5vbkVycm9yJiZvLm9uRXJyb3IoZSl9aS5tYW5hZ2VyLml0ZW1FcnJvcih0KSxpLm1hbmFnZXIuaXRlbUVuZCh0KX0pLCExKSxzLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoZnVuY3Rpb24oZSl7Y29uc3Qgbj1HdXRbdF07ZGVsZXRlIEd1dFt0XTtmb3IobGV0IHQ9MCxvPW4ubGVuZ3RoO3Q8bzt0Kyspe2NvbnN0IG89blt0XTtvLm9uRXJyb3ImJm8ub25FcnJvcihlKX1pLm1hbmFnZXIuaXRlbUVycm9yKHQpLGkubWFuYWdlci5pdGVtRW5kKHQpfSksITEpLHZvaWQgMCE9PXRoaXMucmVzcG9uc2VUeXBlJiYocy5yZXNwb25zZVR5cGU9dGhpcy5yZXNwb25zZVR5cGUpLHZvaWQgMCE9PXRoaXMud2l0aENyZWRlbnRpYWxzJiYocy53aXRoQ3JlZGVudGlhbHM9dGhpcy53aXRoQ3JlZGVudGlhbHMpLHMub3ZlcnJpZGVNaW1lVHlwZSYmcy5vdmVycmlkZU1pbWVUeXBlKHZvaWQgMCE9PXRoaXMubWltZVR5cGU/dGhpcy5taW1lVHlwZToidGV4dC9wbGFpbiIpO2Zvcihjb25zdCB0IGluIHRoaXMucmVxdWVzdEhlYWRlcilzLnNldFJlcXVlc3RIZWFkZXIodCx0aGlzLnJlcXVlc3RIZWFkZXJbdF0pO3Muc2VuZChudWxsKX1yZXR1cm4gaS5tYW5hZ2VyLml0ZW1TdGFydCh0KSxzfXNldFJlc3BvbnNlVHlwZSh0KXtyZXR1cm4gdGhpcy5yZXNwb25zZVR5cGU9dCx0aGlzfXNldE1pbWVUeXBlKHQpe3JldHVybiB0aGlzLm1pbWVUeXBlPXQsdGhpc319Y2xhc3MgcXV0IGV4dGVuZHMgV3V0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfWxvYWQodCxlLG4sbyl7dm9pZCAwIT09dGhpcy5wYXRoJiYodD10aGlzLnBhdGgrdCksdD10aGlzLm1hbmFnZXIucmVzb2x2ZVVSTCh0KTtjb25zdCBpPXRoaXMsYT1qdXQuZ2V0KHQpO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGkubWFuYWdlci5pdGVtU3RhcnQodCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlJiZlKGEpLGkubWFuYWdlci5pdGVtRW5kKHQpfSksMCksYTtjb25zdCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsImltZyIpO2Z1bmN0aW9uIHMoKXtyLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLHMsITEpLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGwsITEpLGp1dC5hZGQodCx0aGlzKSxlJiZlKHRoaXMpLGkubWFuYWdlci5pdGVtRW5kKHQpfWZ1bmN0aW9uIGwoZSl7ci5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixzLCExKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixsLCExKSxvJiZvKGUpLGkubWFuYWdlci5pdGVtRXJyb3IodCksaS5tYW5hZ2VyLml0ZW1FbmQodCl9cmV0dXJuIHIuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIscywhMSksci5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsbCwhMSksImRhdGE6IiE9PXQuc3Vic3RyKDAsNSkmJnZvaWQgMCE9PXRoaXMuY3Jvc3NPcmlnaW4mJihyLmNyb3NzT3JpZ2luPXRoaXMuY3Jvc3NPcmlnaW4pLGkubWFuYWdlci5pdGVtU3RhcnQodCksci5zcmM9dCxyfX1jbGFzcyBadXQgZXh0ZW5kcyBXdXR7Y29uc3RydWN0b3IodCl7c3VwZXIodCl9bG9hZCh0LGUsbixvKXtjb25zdCBpPW5ldyBMY3QsYT1uZXcgcXV0KHRoaXMubWFuYWdlcik7YS5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKSxhLnNldFBhdGgodGhpcy5wYXRoKTtsZXQgcj0wO2Z1bmN0aW9uIHMobil7YS5sb2FkKHRbbl0sKGZ1bmN0aW9uKHQpe2kuaW1hZ2VzW25dPXQscisrLDY9PT1yJiYoaS5uZWVkc1VwZGF0ZT0hMCxlJiZlKGkpKX0pLHZvaWQgMCxvKX1mb3IobGV0IGU9MDtlPHQubGVuZ3RoOysrZSlzKGUpO3JldHVybiBpfX1jbGFzcyBYdXQgZXh0ZW5kcyBXdXR7Y29uc3RydWN0b3IodCl7c3VwZXIodCl9bG9hZCh0LGUsbixvKXtjb25zdCBpPW5ldyBDc3QsYT1uZXcgcXV0KHRoaXMubWFuYWdlcik7cmV0dXJuIGEuc2V0Q3Jvc3NPcmlnaW4odGhpcy5jcm9zc09yaWdpbiksYS5zZXRQYXRoKHRoaXMucGF0aCksYS5sb2FkKHQsKGZ1bmN0aW9uKG4pe2kuaW1hZ2U9bjtjb25zdCBvPXQuc2VhcmNoKC9cLmpwZT9nKCR8XD8pL2kpPjB8fDA9PT10LnNlYXJjaCgvXmRhdGFcOmltYWdlXC9qcGVnLyk7aS5mb3JtYXQ9bz9WcnQ6anJ0LGkubmVlZHNVcGRhdGU9ITAsdm9pZCAwIT09ZSYmZShpKX0pLG4sbyksaX19Y2xhc3MgS3V0IGV4dGVuZHMgUmZ0e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLnR5cGU9IkN1cnZlUGF0aCIsdGhpcy5jdXJ2ZXM9W10sdGhpcy5hdXRvQ2xvc2U9ITF9YWRkKHQpe3RoaXMuY3VydmVzLnB1c2godCl9Y2xvc2VQYXRoKCl7Y29uc3QgdD10aGlzLmN1cnZlc1swXS5nZXRQb2ludCgwKSxlPXRoaXMuY3VydmVzW3RoaXMuY3VydmVzLmxlbmd0aC0xXS5nZXRQb2ludCgxKTt0LmVxdWFscyhlKXx8dGhpcy5jdXJ2ZXMucHVzaChuZXcgV2Z0KGUsdCkpfWdldFBvaW50KHQpe2NvbnN0IGU9dCp0aGlzLmdldExlbmd0aCgpLG49dGhpcy5nZXRDdXJ2ZUxlbmd0aHMoKTtsZXQgbz0wO2Zvcig7bzxuLmxlbmd0aDspe2lmKG5bb10+PWUpe2NvbnN0IHQ9bltvXS1lLGk9dGhpcy5jdXJ2ZXNbb10sYT1pLmdldExlbmd0aCgpO3JldHVybiBpLmdldFBvaW50QXQoMD09PWE/MDoxLXQvYSl9bysrfXJldHVybiBudWxsfWdldExlbmd0aCgpe2NvbnN0IHQ9dGhpcy5nZXRDdXJ2ZUxlbmd0aHMoKTtyZXR1cm4gdFt0Lmxlbmd0aC0xXX11cGRhdGVBcmNMZW5ndGhzKCl7dGhpcy5uZWVkc1VwZGF0ZT0hMCx0aGlzLmNhY2hlTGVuZ3Rocz1udWxsLHRoaXMuZ2V0Q3VydmVMZW5ndGhzKCl9Z2V0Q3VydmVMZW5ndGhzKCl7aWYodGhpcy5jYWNoZUxlbmd0aHMmJnRoaXMuY2FjaGVMZW5ndGhzLmxlbmd0aD09PXRoaXMuY3VydmVzLmxlbmd0aClyZXR1cm4gdGhpcy5jYWNoZUxlbmd0aHM7Y29uc3QgdD1bXTtsZXQgZT0wO2ZvcihsZXQgbj0wLG89dGhpcy5jdXJ2ZXMubGVuZ3RoO248bztuKyspZSs9dGhpcy5jdXJ2ZXNbbl0uZ2V0TGVuZ3RoKCksdC5wdXNoKGUpO3JldHVybiB0aGlzLmNhY2hlTGVuZ3Rocz10LHR9Z2V0U3BhY2VkUG9pbnRzKHQ9NDApe2NvbnN0IGU9W107Zm9yKGxldCBuPTA7bjw9dDtuKyspZS5wdXNoKHRoaXMuZ2V0UG9pbnQobi90KSk7cmV0dXJuIHRoaXMuYXV0b0Nsb3NlJiZlLnB1c2goZVswXSksZX1nZXRQb2ludHModD0xMil7Y29uc3QgZT1bXTtsZXQgbjtmb3IobGV0IG89MCxpPXRoaXMuY3VydmVzO288aS5sZW5ndGg7bysrKXtjb25zdCBhPWlbb10scj1hLmdldFBvaW50cyhhJiZhLmlzRWxsaXBzZUN1cnZlPzIqdDphJiYoYS5pc0xpbmVDdXJ2ZXx8YS5pc0xpbmVDdXJ2ZTMpPzE6YSYmYS5pc1NwbGluZUN1cnZlP3QqYS5wb2ludHMubGVuZ3RoOnQpO2ZvcihsZXQgdD0wO3Q8ci5sZW5ndGg7dCsrKXtjb25zdCBvPXJbdF07biYmbi5lcXVhbHMobyl8fChlLnB1c2gobyksbj1vKX19cmV0dXJuIHRoaXMuYXV0b0Nsb3NlJiZlLmxlbmd0aD4xJiYhZVtlLmxlbmd0aC0xXS5lcXVhbHMoZVswXSkmJmUucHVzaChlWzBdKSxlfWNvcHkodCl7c3VwZXIuY29weSh0KSx0aGlzLmN1cnZlcz1bXTtmb3IobGV0IGU9MCxuPXQuY3VydmVzLmxlbmd0aDtlPG47ZSsrKXt0aGlzLmN1cnZlcy5wdXNoKHQuY3VydmVzW2VdLmNsb25lKCkpfXJldHVybiB0aGlzLmF1dG9DbG9zZT10LmF1dG9DbG9zZSx0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7dC5hdXRvQ2xvc2U9dGhpcy5hdXRvQ2xvc2UsdC5jdXJ2ZXM9W107Zm9yKGxldCBlPTAsbj10aGlzLmN1cnZlcy5sZW5ndGg7ZTxuO2UrKyl7dC5jdXJ2ZXMucHVzaCh0aGlzLmN1cnZlc1tlXS50b0pTT04oKSl9cmV0dXJuIHR9ZnJvbUpTT04odCl7c3VwZXIuZnJvbUpTT04odCksdGhpcy5hdXRvQ2xvc2U9dC5hdXRvQ2xvc2UsdGhpcy5jdXJ2ZXM9W107Zm9yKGxldCBlPTAsbj10LmN1cnZlcy5sZW5ndGg7ZTxuO2UrKyl7Y29uc3Qgbj10LmN1cnZlc1tlXTt0aGlzLmN1cnZlcy5wdXNoKChuZXcgWmZ0W24udHlwZV0pLmZyb21KU09OKG4pKX1yZXR1cm4gdGhpc319Y2xhc3MgSnV0IGV4dGVuZHMgS3V0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy50eXBlPSJQYXRoIix0aGlzLmN1cnJlbnRQb2ludD1uZXcgZ3N0LHQmJnRoaXMuc2V0RnJvbVBvaW50cyh0KX1zZXRGcm9tUG9pbnRzKHQpe3RoaXMubW92ZVRvKHRbMF0ueCx0WzBdLnkpO2ZvcihsZXQgZT0xLG49dC5sZW5ndGg7ZTxuO2UrKyl0aGlzLmxpbmVUbyh0W2VdLngsdFtlXS55KTtyZXR1cm4gdGhpc31tb3ZlVG8odCxlKXtyZXR1cm4gdGhpcy5jdXJyZW50UG9pbnQuc2V0KHQsZSksdGhpc31saW5lVG8odCxlKXtjb25zdCBuPW5ldyBXZnQodGhpcy5jdXJyZW50UG9pbnQuY2xvbmUoKSxuZXcgZ3N0KHQsZSkpO3JldHVybiB0aGlzLmN1cnZlcy5wdXNoKG4pLHRoaXMuY3VycmVudFBvaW50LnNldCh0LGUpLHRoaXN9cXVhZHJhdGljQ3VydmVUbyh0LGUsbixvKXtjb25zdCBpPW5ldyBHZnQodGhpcy5jdXJyZW50UG9pbnQuY2xvbmUoKSxuZXcgZ3N0KHQsZSksbmV3IGdzdChuLG8pKTtyZXR1cm4gdGhpcy5jdXJ2ZXMucHVzaChpKSx0aGlzLmN1cnJlbnRQb2ludC5zZXQobixvKSx0aGlzfWJlemllckN1cnZlVG8odCxlLG4sbyxpLGEpe2NvbnN0IHI9bmV3IGpmdCh0aGlzLmN1cnJlbnRQb2ludC5jbG9uZSgpLG5ldyBnc3QodCxlKSxuZXcgZ3N0KG4sbyksbmV3IGdzdChpLGEpKTtyZXR1cm4gdGhpcy5jdXJ2ZXMucHVzaChyKSx0aGlzLmN1cnJlbnRQb2ludC5zZXQoaSxhKSx0aGlzfXNwbGluZVRocnUodCl7Y29uc3QgZT1bdGhpcy5jdXJyZW50UG9pbnQuY2xvbmUoKV0uY29uY2F0KHQpLG49bmV3IHFmdChlKTtyZXR1cm4gdGhpcy5jdXJ2ZXMucHVzaChuKSx0aGlzLmN1cnJlbnRQb2ludC5jb3B5KHRbdC5sZW5ndGgtMV0pLHRoaXN9YXJjKHQsZSxuLG8saSxhKXtyZXR1cm4gdGhpcy5hYnNhcmModCt0aGlzLmN1cnJlbnRQb2ludC54LGUrdGhpcy5jdXJyZW50UG9pbnQueSxuLG8saSxhKSx0aGlzfWFic2FyYyh0LGUsbixvLGksYSl7cmV0dXJuIHRoaXMuYWJzZWxsaXBzZSh0LGUsbixuLG8saSxhKSx0aGlzfWVsbGlwc2UodCxlLG4sbyxpLGEscixzKXtyZXR1cm4gdGhpcy5hYnNlbGxpcHNlKHQrdGhpcy5jdXJyZW50UG9pbnQueCxlK3RoaXMuY3VycmVudFBvaW50LnksbixvLGksYSxyLHMpLHRoaXN9YWJzZWxsaXBzZSh0LGUsbixvLGksYSxyLHMpe2NvbnN0IGw9bmV3IEVmdCh0LGUsbixvLGksYSxyLHMpO2lmKHRoaXMuY3VydmVzLmxlbmd0aD4wKXtjb25zdCB0PWwuZ2V0UG9pbnQoMCk7dC5lcXVhbHModGhpcy5jdXJyZW50UG9pbnQpfHx0aGlzLmxpbmVUbyh0LngsdC55KX10aGlzLmN1cnZlcy5wdXNoKGwpO2NvbnN0IGM9bC5nZXRQb2ludCgxKTtyZXR1cm4gdGhpcy5jdXJyZW50UG9pbnQuY29weShjKSx0aGlzfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5jdXJyZW50UG9pbnQuY29weSh0LmN1cnJlbnRQb2ludCksdGhpc310b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTigpO3JldHVybiB0LmN1cnJlbnRQb2ludD10aGlzLmN1cnJlbnRQb2ludC50b0FycmF5KCksdH1mcm9tSlNPTih0KXtyZXR1cm4gc3VwZXIuZnJvbUpTT04odCksdGhpcy5jdXJyZW50UG9pbnQuZnJvbUFycmF5KHQuY3VycmVudFBvaW50KSx0aGlzfX1jbGFzcyBRdXQgZXh0ZW5kcyBKdXR7Y29uc3RydWN0b3IodCl7c3VwZXIodCksdGhpcy51dWlkPWRzdCgpLHRoaXMudHlwZT0iU2hhcGUiLHRoaXMuaG9sZXM9W119Z2V0UG9pbnRzSG9sZXModCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MCxvPXRoaXMuaG9sZXMubGVuZ3RoO248bztuKyspZVtuXT10aGlzLmhvbGVzW25dLmdldFBvaW50cyh0KTtyZXR1cm4gZX1leHRyYWN0UG9pbnRzKHQpe3JldHVybntzaGFwZTp0aGlzLmdldFBvaW50cyh0KSxob2xlczp0aGlzLmdldFBvaW50c0hvbGVzKHQpfX1jb3B5KHQpe3N1cGVyLmNvcHkodCksdGhpcy5ob2xlcz1bXTtmb3IobGV0IGU9MCxuPXQuaG9sZXMubGVuZ3RoO2U8bjtlKyspe3RoaXMuaG9sZXMucHVzaCh0LmhvbGVzW2VdLmNsb25lKCkpfXJldHVybiB0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7dC51dWlkPXRoaXMudXVpZCx0LmhvbGVzPVtdO2ZvcihsZXQgZT0wLG49dGhpcy5ob2xlcy5sZW5ndGg7ZTxuO2UrKyl7dC5ob2xlcy5wdXNoKHRoaXMuaG9sZXNbZV0udG9KU09OKCkpfXJldHVybiB0fWZyb21KU09OKHQpe3N1cGVyLmZyb21KU09OKHQpLHRoaXMudXVpZD10LnV1aWQsdGhpcy5ob2xlcz1bXTtmb3IobGV0IGU9MCxuPXQuaG9sZXMubGVuZ3RoO2U8bjtlKyspe2NvbnN0IG49dC5ob2xlc1tlXTt0aGlzLmhvbGVzLnB1c2goKG5ldyBKdXQpLmZyb21KU09OKG4pKX1yZXR1cm4gdGhpc319Y2xhc3MgJHV0IGV4dGVuZHMgU2x0e2NvbnN0cnVjdG9yKHQsZT0xKXtzdXBlcigpLHRoaXMudHlwZT0iTGlnaHQiLHRoaXMuY29sb3I9bmV3IFpsdCh0KSx0aGlzLmludGVuc2l0eT1lfWRpc3Bvc2UoKXt9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmNvbG9yLmNvcHkodC5jb2xvciksdGhpcy5pbnRlbnNpdHk9dC5pbnRlbnNpdHksdGhpc310b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7cmV0dXJuIGUub2JqZWN0LmNvbG9yPXRoaXMuY29sb3IuZ2V0SGV4KCksZS5vYmplY3QuaW50ZW5zaXR5PXRoaXMuaW50ZW5zaXR5LHZvaWQgMCE9PXRoaXMuZ3JvdW5kQ29sb3ImJihlLm9iamVjdC5ncm91bmRDb2xvcj10aGlzLmdyb3VuZENvbG9yLmdldEhleCgpKSx2b2lkIDAhPT10aGlzLmRpc3RhbmNlJiYoZS5vYmplY3QuZGlzdGFuY2U9dGhpcy5kaXN0YW5jZSksdm9pZCAwIT09dGhpcy5hbmdsZSYmKGUub2JqZWN0LmFuZ2xlPXRoaXMuYW5nbGUpLHZvaWQgMCE9PXRoaXMuZGVjYXkmJihlLm9iamVjdC5kZWNheT10aGlzLmRlY2F5KSx2b2lkIDAhPT10aGlzLnBlbnVtYnJhJiYoZS5vYmplY3QucGVudW1icmE9dGhpcy5wZW51bWJyYSksdm9pZCAwIT09dGhpcy5zaGFkb3cmJihlLm9iamVjdC5zaGFkb3c9dGhpcy5zaGFkb3cudG9KU09OKCkpLGV9fSR1dC5wcm90b3R5cGUuaXNMaWdodD0hMDsoY2xhc3MgZXh0ZW5kcyAkdXR7Y29uc3RydWN0b3IodCxlLG4pe3N1cGVyKHQsbiksdGhpcy50eXBlPSJIZW1pc3BoZXJlTGlnaHQiLHRoaXMucG9zaXRpb24uY29weShTbHQuRGVmYXVsdFVwKSx0aGlzLnVwZGF0ZU1hdHJpeCgpLHRoaXMuZ3JvdW5kQ29sb3I9bmV3IFpsdChlKX1jb3B5KHQpe3JldHVybiAkdXQucHJvdG90eXBlLmNvcHkuY2FsbCh0aGlzLHQpLHRoaXMuZ3JvdW5kQ29sb3IuY29weSh0Lmdyb3VuZENvbG9yKSx0aGlzfX0pLnByb3RvdHlwZS5pc0hlbWlzcGhlcmVMaWdodD0hMDtjb25zdCB0Z3Q9bmV3IG9sdCxlZ3Q9bmV3IHdzdCxuZ3Q9bmV3IHdzdDtjbGFzcyBvZ3R7Y29uc3RydWN0b3IodCl7dGhpcy5jYW1lcmE9dCx0aGlzLmJpYXM9MCx0aGlzLm5vcm1hbEJpYXM9MCx0aGlzLnJhZGl1cz0xLHRoaXMubWFwU2l6ZT1uZXcgZ3N0KDUxMiw1MTIpLHRoaXMubWFwPW51bGwsdGhpcy5tYXBQYXNzPW51bGwsdGhpcy5tYXRyaXg9bmV3IG9sdCx0aGlzLmF1dG9VcGRhdGU9ITAsdGhpcy5uZWVkc1VwZGF0ZT0hMSx0aGlzLl9mcnVzdHVtPW5ldyBxY3QsdGhpcy5fZnJhbWVFeHRlbnRzPW5ldyBnc3QoMSwxKSx0aGlzLl92aWV3cG9ydENvdW50PTEsdGhpcy5fdmlld3BvcnRzPVtuZXcgdnN0KDAsMCwxLDEpXX1nZXRWaWV3cG9ydENvdW50KCl7cmV0dXJuIHRoaXMuX3ZpZXdwb3J0Q291bnR9Z2V0RnJ1c3R1bSgpe3JldHVybiB0aGlzLl9mcnVzdHVtfXVwZGF0ZU1hdHJpY2VzKHQpe2NvbnN0IGU9dGhpcy5jYW1lcmEsbj10aGlzLm1hdHJpeDtlZ3Quc2V0RnJvbU1hdHJpeFBvc2l0aW9uKHQubWF0cml4V29ybGQpLGUucG9zaXRpb24uY29weShlZ3QpLG5ndC5zZXRGcm9tTWF0cml4UG9zaXRpb24odC50YXJnZXQubWF0cml4V29ybGQpLGUubG9va0F0KG5ndCksZS51cGRhdGVNYXRyaXhXb3JsZCgpLHRndC5tdWx0aXBseU1hdHJpY2VzKGUucHJvamVjdGlvbk1hdHJpeCxlLm1hdHJpeFdvcmxkSW52ZXJzZSksdGhpcy5fZnJ1c3R1bS5zZXRGcm9tUHJvamVjdGlvbk1hdHJpeCh0Z3QpLG4uc2V0KC41LDAsMCwuNSwwLC41LDAsLjUsMCwwLC41LC41LDAsMCwwLDEpLG4ubXVsdGlwbHkoZS5wcm9qZWN0aW9uTWF0cml4KSxuLm11bHRpcGx5KGUubWF0cml4V29ybGRJbnZlcnNlKX1nZXRWaWV3cG9ydCh0KXtyZXR1cm4gdGhpcy5fdmlld3BvcnRzW3RdfWdldEZyYW1lRXh0ZW50cygpe3JldHVybiB0aGlzLl9mcmFtZUV4dGVudHN9ZGlzcG9zZSgpe3RoaXMubWFwJiZ0aGlzLm1hcC5kaXNwb3NlKCksdGhpcy5tYXBQYXNzJiZ0aGlzLm1hcFBhc3MuZGlzcG9zZSgpfWNvcHkodCl7cmV0dXJuIHRoaXMuY2FtZXJhPXQuY2FtZXJhLmNsb25lKCksdGhpcy5iaWFzPXQuYmlhcyx0aGlzLnJhZGl1cz10LnJhZGl1cyx0aGlzLm1hcFNpemUuY29weSh0Lm1hcFNpemUpLHRoaXN9Y2xvbmUoKXtyZXR1cm4obmV3IHRoaXMuY29uc3RydWN0b3IpLmNvcHkodGhpcyl9dG9KU09OKCl7Y29uc3QgdD17fTtyZXR1cm4gMCE9PXRoaXMuYmlhcyYmKHQuYmlhcz10aGlzLmJpYXMpLDAhPT10aGlzLm5vcm1hbEJpYXMmJih0Lm5vcm1hbEJpYXM9dGhpcy5ub3JtYWxCaWFzKSwxIT09dGhpcy5yYWRpdXMmJih0LnJhZGl1cz10aGlzLnJhZGl1cyksNTEyPT09dGhpcy5tYXBTaXplLngmJjUxMj09PXRoaXMubWFwU2l6ZS55fHwodC5tYXBTaXplPXRoaXMubWFwU2l6ZS50b0FycmF5KCkpLHQuY2FtZXJhPXRoaXMuY2FtZXJhLnRvSlNPTighMSkub2JqZWN0LGRlbGV0ZSB0LmNhbWVyYS5tYXRyaXgsdH19Y2xhc3MgaWd0IGV4dGVuZHMgb2d0e2NvbnN0cnVjdG9yKCl7c3VwZXIobmV3IEljdCg1MCwxLC41LDUwMCkpLHRoaXMuZm9jdXM9MX11cGRhdGVNYXRyaWNlcyh0KXtjb25zdCBlPXRoaXMuY2FtZXJhLG49Mipjc3QqdC5hbmdsZSp0aGlzLmZvY3VzLG89dGhpcy5tYXBTaXplLndpZHRoL3RoaXMubWFwU2l6ZS5oZWlnaHQsaT10LmRpc3RhbmNlfHxlLmZhcjtuPT09ZS5mb3YmJm89PT1lLmFzcGVjdCYmaT09PWUuZmFyfHwoZS5mb3Y9bixlLmFzcGVjdD1vLGUuZmFyPWksZS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCkpLHN1cGVyLnVwZGF0ZU1hdHJpY2VzKHQpfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5mb2N1cz10LmZvY3VzLHRoaXN9fWlndC5wcm90b3R5cGUuaXNTcG90TGlnaHRTaGFkb3c9ITA7KGNsYXNzIGV4dGVuZHMgJHV0e2NvbnN0cnVjdG9yKHQsZSxuPTAsbz1NYXRoLlBJLzMsaT0wLGE9MSl7c3VwZXIodCxlKSx0aGlzLnR5cGU9IlNwb3RMaWdodCIsdGhpcy5wb3NpdGlvbi5jb3B5KFNsdC5EZWZhdWx0VXApLHRoaXMudXBkYXRlTWF0cml4KCksdGhpcy50YXJnZXQ9bmV3IFNsdCx0aGlzLmRpc3RhbmNlPW4sdGhpcy5hbmdsZT1vLHRoaXMucGVudW1icmE9aSx0aGlzLmRlY2F5PWEsdGhpcy5zaGFkb3c9bmV3IGlndH1nZXQgcG93ZXIoKXtyZXR1cm4gdGhpcy5pbnRlbnNpdHkqTWF0aC5QSX1zZXQgcG93ZXIodCl7dGhpcy5pbnRlbnNpdHk9dC9NYXRoLlBJfWRpc3Bvc2UoKXt0aGlzLnNoYWRvdy5kaXNwb3NlKCl9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLmRpc3RhbmNlPXQuZGlzdGFuY2UsdGhpcy5hbmdsZT10LmFuZ2xlLHRoaXMucGVudW1icmE9dC5wZW51bWJyYSx0aGlzLmRlY2F5PXQuZGVjYXksdGhpcy50YXJnZXQ9dC50YXJnZXQuY2xvbmUoKSx0aGlzLnNoYWRvdz10LnNoYWRvdy5jbG9uZSgpLHRoaXN9fSkucHJvdG90eXBlLmlzU3BvdExpZ2h0PSEwO2NvbnN0IGFndD1uZXcgb2x0LHJndD1uZXcgd3N0LHNndD1uZXcgd3N0O2NsYXNzIGxndCBleHRlbmRzIG9ndHtjb25zdHJ1Y3Rvcigpe3N1cGVyKG5ldyBJY3QoOTAsMSwuNSw1MDApKSx0aGlzLl9mcmFtZUV4dGVudHM9bmV3IGdzdCg0LDIpLHRoaXMuX3ZpZXdwb3J0Q291bnQ9Nix0aGlzLl92aWV3cG9ydHM9W25ldyB2c3QoMiwxLDEsMSksbmV3IHZzdCgwLDEsMSwxKSxuZXcgdnN0KDMsMSwxLDEpLG5ldyB2c3QoMSwxLDEsMSksbmV3IHZzdCgzLDAsMSwxKSxuZXcgdnN0KDEsMCwxLDEpXSx0aGlzLl9jdWJlRGlyZWN0aW9ucz1bbmV3IHdzdCgxLDAsMCksbmV3IHdzdCgtMSwwLDApLG5ldyB3c3QoMCwwLDEpLG5ldyB3c3QoMCwwLC0xKSxuZXcgd3N0KDAsMSwwKSxuZXcgd3N0KDAsLTEsMCldLHRoaXMuX2N1YmVVcHM9W25ldyB3c3QoMCwxLDApLG5ldyB3c3QoMCwxLDApLG5ldyB3c3QoMCwxLDApLG5ldyB3c3QoMCwxLDApLG5ldyB3c3QoMCwwLDEpLG5ldyB3c3QoMCwwLC0xKV19dXBkYXRlTWF0cmljZXModCxlPTApe2NvbnN0IG49dGhpcy5jYW1lcmEsbz10aGlzLm1hdHJpeCxpPXQuZGlzdGFuY2V8fG4uZmFyO2khPT1uLmZhciYmKG4uZmFyPWksbi51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCkpLHJndC5zZXRGcm9tTWF0cml4UG9zaXRpb24odC5tYXRyaXhXb3JsZCksbi5wb3NpdGlvbi5jb3B5KHJndCksc2d0LmNvcHkobi5wb3NpdGlvbiksc2d0LmFkZCh0aGlzLl9jdWJlRGlyZWN0aW9uc1tlXSksbi51cC5jb3B5KHRoaXMuX2N1YmVVcHNbZV0pLG4ubG9va0F0KHNndCksbi51cGRhdGVNYXRyaXhXb3JsZCgpLG8ubWFrZVRyYW5zbGF0aW9uKC1yZ3QueCwtcmd0LnksLXJndC56KSxhZ3QubXVsdGlwbHlNYXRyaWNlcyhuLnByb2plY3Rpb25NYXRyaXgsbi5tYXRyaXhXb3JsZEludmVyc2UpLHRoaXMuX2ZydXN0dW0uc2V0RnJvbVByb2plY3Rpb25NYXRyaXgoYWd0KX19bGd0LnByb3RvdHlwZS5pc1BvaW50TGlnaHRTaGFkb3c9ITA7KGNsYXNzIGV4dGVuZHMgJHV0e2NvbnN0cnVjdG9yKHQsZSxuPTAsbz0xKXtzdXBlcih0LGUpLHRoaXMudHlwZT0iUG9pbnRMaWdodCIsdGhpcy5kaXN0YW5jZT1uLHRoaXMuZGVjYXk9byx0aGlzLnNoYWRvdz1uZXcgbGd0fWdldCBwb3dlcigpe3JldHVybiA0KnRoaXMuaW50ZW5zaXR5Kk1hdGguUEl9c2V0IHBvd2VyKHQpe3RoaXMuaW50ZW5zaXR5PXQvKDQqTWF0aC5QSSl9ZGlzcG9zZSgpe3RoaXMuc2hhZG93LmRpc3Bvc2UoKX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuZGlzdGFuY2U9dC5kaXN0YW5jZSx0aGlzLmRlY2F5PXQuZGVjYXksdGhpcy5zaGFkb3c9dC5zaGFkb3cuY2xvbmUoKSx0aGlzfX0pLnByb3RvdHlwZS5pc1BvaW50TGlnaHQ9ITA7Y2xhc3MgY2d0IGV4dGVuZHMgb2d0e2NvbnN0cnVjdG9yKCl7c3VwZXIobmV3IHJkdCgtNSw1LDUsLTUsLjUsNTAwKSl9fWNndC5wcm90b3R5cGUuaXNEaXJlY3Rpb25hbExpZ2h0U2hhZG93PSEwOyhjbGFzcyBleHRlbmRzICR1dHtjb25zdHJ1Y3Rvcih0LGUpe3N1cGVyKHQsZSksdGhpcy50eXBlPSJEaXJlY3Rpb25hbExpZ2h0Iix0aGlzLnBvc2l0aW9uLmNvcHkoU2x0LkRlZmF1bHRVcCksdGhpcy51cGRhdGVNYXRyaXgoKSx0aGlzLnRhcmdldD1uZXcgU2x0LHRoaXMuc2hhZG93PW5ldyBjZ3R9ZGlzcG9zZSgpe3RoaXMuc2hhZG93LmRpc3Bvc2UoKX1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMudGFyZ2V0PXQudGFyZ2V0LmNsb25lKCksdGhpcy5zaGFkb3c9dC5zaGFkb3cuY2xvbmUoKSx0aGlzfX0pLnByb3RvdHlwZS5pc0RpcmVjdGlvbmFsTGlnaHQ9ITA7KGNsYXNzIGV4dGVuZHMgJHV0e2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIodCxlKSx0aGlzLnR5cGU9IkFtYmllbnRMaWdodCJ9fSkucHJvdG90eXBlLmlzQW1iaWVudExpZ2h0PSEwOyhjbGFzcyBleHRlbmRzICR1dHtjb25zdHJ1Y3Rvcih0LGUsbj0xMCxvPTEwKXtzdXBlcih0LGUpLHRoaXMudHlwZT0iUmVjdEFyZWFMaWdodCIsdGhpcy53aWR0aD1uLHRoaXMuaGVpZ2h0PW99Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLndpZHRoPXQud2lkdGgsdGhpcy5oZWlnaHQ9dC5oZWlnaHQsdGhpc310b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7cmV0dXJuIGUub2JqZWN0LndpZHRoPXRoaXMud2lkdGgsZS5vYmplY3QuaGVpZ2h0PXRoaXMuaGVpZ2h0LGV9fSkucHJvdG90eXBlLmlzUmVjdEFyZWFMaWdodD0hMDtjbGFzcyBkZ3R7Y29uc3RydWN0b3IoKXt0aGlzLmNvZWZmaWNpZW50cz1bXTtmb3IobGV0IHQ9MDt0PDk7dCsrKXRoaXMuY29lZmZpY2llbnRzLnB1c2gobmV3IHdzdCl9c2V0KHQpe2ZvcihsZXQgZT0wO2U8OTtlKyspdGhpcy5jb2VmZmljaWVudHNbZV0uY29weSh0W2VdKTtyZXR1cm4gdGhpc316ZXJvKCl7Zm9yKGxldCB0PTA7dDw5O3QrKyl0aGlzLmNvZWZmaWNpZW50c1t0XS5zZXQoMCwwLDApO3JldHVybiB0aGlzfWdldEF0KHQsZSl7Y29uc3Qgbj10Lngsbz10LnksaT10LnosYT10aGlzLmNvZWZmaWNpZW50cztyZXR1cm4gZS5jb3B5KGFbMF0pLm11bHRpcGx5U2NhbGFyKC4yODIwOTUpLGUuYWRkU2NhbGVkVmVjdG9yKGFbMV0sLjQ4ODYwMypvKSxlLmFkZFNjYWxlZFZlY3RvcihhWzJdLC40ODg2MDMqaSksZS5hZGRTY2FsZWRWZWN0b3IoYVszXSwuNDg4NjAzKm4pLGUuYWRkU2NhbGVkVmVjdG9yKGFbNF0sbipvKjEuMDkyNTQ4KSxlLmFkZFNjYWxlZFZlY3RvcihhWzVdLG8qaSoxLjA5MjU0OCksZS5hZGRTY2FsZWRWZWN0b3IoYVs2XSwuMzE1MzkyKigzKmkqaS0xKSksZS5hZGRTY2FsZWRWZWN0b3IoYVs3XSxuKmkqMS4wOTI1NDgpLGUuYWRkU2NhbGVkVmVjdG9yKGFbOF0sLjU0NjI3NCoobipuLW8qbykpLGV9Z2V0SXJyYWRpYW5jZUF0KHQsZSl7Y29uc3Qgbj10Lngsbz10LnksaT10LnosYT10aGlzLmNvZWZmaWNpZW50cztyZXR1cm4gZS5jb3B5KGFbMF0pLm11bHRpcGx5U2NhbGFyKC44ODYyMjcpLGUuYWRkU2NhbGVkVmVjdG9yKGFbMV0sMS4wMjMzMjgqbyksZS5hZGRTY2FsZWRWZWN0b3IoYVsyXSwxLjAyMzMyOCppKSxlLmFkZFNjYWxlZFZlY3RvcihhWzNdLDEuMDIzMzI4Km4pLGUuYWRkU2NhbGVkVmVjdG9yKGFbNF0sLjg1ODA4NipuKm8pLGUuYWRkU2NhbGVkVmVjdG9yKGFbNV0sLjg1ODA4NipvKmkpLGUuYWRkU2NhbGVkVmVjdG9yKGFbNl0sLjc0MzEyNSppKmktLjI0NzcwOCksZS5hZGRTY2FsZWRWZWN0b3IoYVs3XSwuODU4MDg2Km4qaSksZS5hZGRTY2FsZWRWZWN0b3IoYVs4XSwuNDI5MDQzKihuKm4tbypvKSksZX1hZGQodCl7Zm9yKGxldCBlPTA7ZTw5O2UrKyl0aGlzLmNvZWZmaWNpZW50c1tlXS5hZGQodC5jb2VmZmljaWVudHNbZV0pO3JldHVybiB0aGlzfWFkZFNjYWxlZFNIKHQsZSl7Zm9yKGxldCBuPTA7bjw5O24rKyl0aGlzLmNvZWZmaWNpZW50c1tuXS5hZGRTY2FsZWRWZWN0b3IodC5jb2VmZmljaWVudHNbbl0sZSk7cmV0dXJuIHRoaXN9c2NhbGUodCl7Zm9yKGxldCBlPTA7ZTw5O2UrKyl0aGlzLmNvZWZmaWNpZW50c1tlXS5tdWx0aXBseVNjYWxhcih0KTtyZXR1cm4gdGhpc31sZXJwKHQsZSl7Zm9yKGxldCBuPTA7bjw5O24rKyl0aGlzLmNvZWZmaWNpZW50c1tuXS5sZXJwKHQuY29lZmZpY2llbnRzW25dLGUpO3JldHVybiB0aGlzfWVxdWFscyh0KXtmb3IobGV0IGU9MDtlPDk7ZSsrKWlmKCF0aGlzLmNvZWZmaWNpZW50c1tlXS5lcXVhbHModC5jb2VmZmljaWVudHNbZV0pKXJldHVybiExO3JldHVybiEwfWNvcHkodCl7cmV0dXJuIHRoaXMuc2V0KHQuY29lZmZpY2llbnRzKX1jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX1mcm9tQXJyYXkodCxlPTApe2NvbnN0IG49dGhpcy5jb2VmZmljaWVudHM7Zm9yKGxldCBvPTA7bzw5O28rKyluW29dLmZyb21BcnJheSh0LGUrMypvKTtyZXR1cm4gdGhpc310b0FycmF5KHQ9W10sZT0wKXtjb25zdCBuPXRoaXMuY29lZmZpY2llbnRzO2ZvcihsZXQgbz0wO288OTtvKyspbltvXS50b0FycmF5KHQsZSszKm8pO3JldHVybiB0fXN0YXRpYyBnZXRCYXNpc0F0KHQsZSl7Y29uc3Qgbj10Lngsbz10LnksaT10Lno7ZVswXT0uMjgyMDk1LGVbMV09LjQ4ODYwMypvLGVbMl09LjQ4ODYwMyppLGVbM109LjQ4ODYwMypuLGVbNF09MS4wOTI1NDgqbipvLGVbNV09MS4wOTI1NDgqbyppLGVbNl09LjMxNTM5MiooMyppKmktMSksZVs3XT0xLjA5MjU0OCpuKmksZVs4XT0uNTQ2Mjc0KihuKm4tbypvKX19ZGd0LnByb3RvdHlwZS5pc1NwaGVyaWNhbEhhcm1vbmljczM9ITA7Y2xhc3MgcGd0IGV4dGVuZHMgJHV0e2NvbnN0cnVjdG9yKHQ9bmV3IGRndCxlPTEpe3N1cGVyKHZvaWQgMCxlKSx0aGlzLnNoPXR9Y29weSh0KXtyZXR1cm4gc3VwZXIuY29weSh0KSx0aGlzLnNoLmNvcHkodC5zaCksdGhpc31mcm9tSlNPTih0KXtyZXR1cm4gdGhpcy5pbnRlbnNpdHk9dC5pbnRlbnNpdHksdGhpcy5zaC5mcm9tQXJyYXkodC5zaCksdGhpc310b0pTT04odCl7Y29uc3QgZT1zdXBlci50b0pTT04odCk7cmV0dXJuIGUub2JqZWN0LnNoPXRoaXMuc2gudG9BcnJheSgpLGV9fXBndC5wcm90b3R5cGUuaXNMaWdodFByb2JlPSEwOyhjbGFzcyBleHRlbmRzIGRjdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50eXBlPSJJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeSIsdGhpcy5pbnN0YW5jZUNvdW50PTEvMH1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMuaW5zdGFuY2VDb3VudD10Lmluc3RhbmNlQ291bnQsdGhpc31jbG9uZSgpe3JldHVybihuZXcgdGhpcy5jb25zdHJ1Y3RvcikuY29weSh0aGlzKX10b0pTT04oKXtjb25zdCB0PXN1cGVyLnRvSlNPTih0aGlzKTtyZXR1cm4gdC5pbnN0YW5jZUNvdW50PXRoaXMuaW5zdGFuY2VDb3VudCx0LmlzSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnk9ITAsdH19KS5wcm90b3R5cGUuaXNJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeT0hMDsoY2xhc3MgZXh0ZW5kcyBRbHR7Y29uc3RydWN0b3IodCxlLG4sbz0xKXsibnVtYmVyIj09dHlwZW9mIG4mJihvPW4sbj0hMSxjb25zb2xlLmVycm9yKCJUSFJFRS5JbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGU6IFRoZSBjb25zdHJ1Y3RvciBub3cgZXhwZWN0cyBub3JtYWxpemVkIGFzIHRoZSB0aGlyZCBhcmd1bWVudC4iKSksc3VwZXIodCxlLG4pLHRoaXMubWVzaFBlckF0dHJpYnV0ZT1vfWNvcHkodCl7cmV0dXJuIHN1cGVyLmNvcHkodCksdGhpcy5tZXNoUGVyQXR0cmlidXRlPXQubWVzaFBlckF0dHJpYnV0ZSx0aGlzfXRvSlNPTigpe2NvbnN0IHQ9c3VwZXIudG9KU09OKCk7cmV0dXJuIHQubWVzaFBlckF0dHJpYnV0ZT10aGlzLm1lc2hQZXJBdHRyaWJ1dGUsdC5pc0luc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT0hMCx0fX0pLnByb3RvdHlwZS5pc0luc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZT0hMDtsZXQgbWd0OyhjbGFzcyBleHRlbmRzIFd1dHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSwidW5kZWZpbmVkIj09dHlwZW9mIGNyZWF0ZUltYWdlQml0bWFwJiZjb25zb2xlLndhcm4oIlRIUkVFLkltYWdlQml0bWFwTG9hZGVyOiBjcmVhdGVJbWFnZUJpdG1hcCgpIG5vdCBzdXBwb3J0ZWQuIiksInVuZGVmaW5lZCI9PXR5cGVvZiBmZXRjaCYmY29uc29sZS53YXJuKCJUSFJFRS5JbWFnZUJpdG1hcExvYWRlcjogZmV0Y2goKSBub3Qgc3VwcG9ydGVkLiIpLHRoaXMub3B0aW9ucz17cHJlbXVsdGlwbHlBbHBoYToibm9uZSJ9fXNldE9wdGlvbnModCl7cmV0dXJuIHRoaXMub3B0aW9ucz10LHRoaXN9bG9hZCh0LGUsbixvKXt2b2lkIDA9PT10JiYodD0iIiksdm9pZCAwIT09dGhpcy5wYXRoJiYodD10aGlzLnBhdGgrdCksdD10aGlzLm1hbmFnZXIucmVzb2x2ZVVSTCh0KTtjb25zdCBpPXRoaXMsYT1qdXQuZ2V0KHQpO2lmKHZvaWQgMCE9PWEpcmV0dXJuIGkubWFuYWdlci5pdGVtU3RhcnQodCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlJiZlKGEpLGkubWFuYWdlci5pdGVtRW5kKHQpfSksMCksYTtjb25zdCByPXt9O3IuY3JlZGVudGlhbHM9ImFub255bW91cyI9PT10aGlzLmNyb3NzT3JpZ2luPyJzYW1lLW9yaWdpbiI6ImluY2x1ZGUiLHIuaGVhZGVycz10aGlzLnJlcXVlc3RIZWFkZXIsZmV0Y2godCxyKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdC5ibG9iKCl9KSkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIGNyZWF0ZUltYWdlQml0bWFwKHQsT2JqZWN0LmFzc2lnbihpLm9wdGlvbnMse2NvbG9yU3BhY2VDb252ZXJzaW9uOiJub25lIn0pKX0pKS50aGVuKChmdW5jdGlvbihuKXtqdXQuYWRkKHQsbiksZSYmZShuKSxpLm1hbmFnZXIuaXRlbUVuZCh0KX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7byYmbyhlKSxpLm1hbmFnZXIuaXRlbUVycm9yKHQpLGkubWFuYWdlci5pdGVtRW5kKHQpfSkpLGkubWFuYWdlci5pdGVtU3RhcnQodCl9fSkucHJvdG90eXBlLmlzSW1hZ2VCaXRtYXBMb2FkZXI9ITA7Y29uc3QgZmd0PWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PW1ndCYmKG1ndD1uZXcod2luZG93LkF1ZGlvQ29udGV4dHx8d2luZG93LndlYmtpdEF1ZGlvQ29udGV4dCkpLG1ndH07Y2xhc3MgdWd0IGV4dGVuZHMgV3V0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpfWxvYWQodCxlLG4sbyl7Y29uc3QgaT10aGlzLGE9bmV3IFl1dCh0aGlzLm1hbmFnZXIpO2Euc2V0UmVzcG9uc2VUeXBlKCJhcnJheWJ1ZmZlciIpLGEuc2V0UGF0aCh0aGlzLnBhdGgpLGEuc2V0UmVxdWVzdEhlYWRlcih0aGlzLnJlcXVlc3RIZWFkZXIpLGEuc2V0V2l0aENyZWRlbnRpYWxzKHRoaXMud2l0aENyZWRlbnRpYWxzKSxhLmxvYWQodCwoZnVuY3Rpb24obil7dHJ5e2NvbnN0IHQ9bi5zbGljZSgwKTtmZ3QoKS5kZWNvZGVBdWRpb0RhdGEodCwoZnVuY3Rpb24odCl7ZSh0KX0pKX1jYXRjaChlKXtvP28oZSk6Y29uc29sZS5lcnJvcihlKSxpLm1hbmFnZXIuaXRlbUVycm9yKHQpfX0pLG4sbyl9fShjbGFzcyBleHRlbmRzIHBndHtjb25zdHJ1Y3Rvcih0LGUsbj0xKXtzdXBlcih2b2lkIDAsbik7Y29uc3Qgbz0obmV3IFpsdCkuc2V0KHQpLGk9KG5ldyBabHQpLnNldChlKSxhPW5ldyB3c3Qoby5yLG8uZyxvLmIpLHI9bmV3IHdzdChpLnIsaS5nLGkuYikscz1NYXRoLnNxcnQoTWF0aC5QSSksbD1zKk1hdGguc3FydCguNzUpO3RoaXMuc2guY29lZmZpY2llbnRzWzBdLmNvcHkoYSkuYWRkKHIpLm11bHRpcGx5U2NhbGFyKHMpLHRoaXMuc2guY29lZmZpY2llbnRzWzFdLmNvcHkoYSkuc3ViKHIpLm11bHRpcGx5U2NhbGFyKGwpfX0pLnByb3RvdHlwZS5pc0hlbWlzcGhlcmVMaWdodFByb2JlPSEwOyhjbGFzcyBleHRlbmRzIHBndHtjb25zdHJ1Y3Rvcih0LGU9MSl7c3VwZXIodm9pZCAwLGUpO2NvbnN0IG49KG5ldyBabHQpLnNldCh0KTt0aGlzLnNoLmNvZWZmaWNpZW50c1swXS5zZXQobi5yLG4uZyxuLmIpLm11bHRpcGx5U2NhbGFyKDIqTWF0aC5zcXJ0KE1hdGguUEkpKX19KS5wcm90b3R5cGUuaXNBbWJpZW50TGlnaHRQcm9iZT0hMDtjbGFzcyBnZ3R7Y29uc3RydWN0b3IodCxlLG4pe2xldCBvLGksYTtzd2l0Y2godGhpcy5iaW5kaW5nPXQsdGhpcy52YWx1ZVNpemU9bixlKXtjYXNlInF1YXRlcm5pb24iOm89dGhpcy5fc2xlcnAsaT10aGlzLl9zbGVycEFkZGl0aXZlLGE9dGhpcy5fc2V0QWRkaXRpdmVJZGVudGl0eVF1YXRlcm5pb24sdGhpcy5idWZmZXI9bmV3IEZsb2F0NjRBcnJheSg2Km4pLHRoaXMuX3dvcmtJbmRleD01O2JyZWFrO2Nhc2Uic3RyaW5nIjpjYXNlImJvb2wiOm89dGhpcy5fc2VsZWN0LGk9dGhpcy5fc2VsZWN0LGE9dGhpcy5fc2V0QWRkaXRpdmVJZGVudGl0eU90aGVyLHRoaXMuYnVmZmVyPW5ldyBBcnJheSg1Km4pO2JyZWFrO2RlZmF1bHQ6bz10aGlzLl9sZXJwLGk9dGhpcy5fbGVycEFkZGl0aXZlLGE9dGhpcy5fc2V0QWRkaXRpdmVJZGVudGl0eU51bWVyaWMsdGhpcy5idWZmZXI9bmV3IEZsb2F0NjRBcnJheSg1Km4pfXRoaXMuX21peEJ1ZmZlclJlZ2lvbj1vLHRoaXMuX21peEJ1ZmZlclJlZ2lvbkFkZGl0aXZlPWksdGhpcy5fc2V0SWRlbnRpdHk9YSx0aGlzLl9vcmlnSW5kZXg9Myx0aGlzLl9hZGRJbmRleD00LHRoaXMuY3VtdWxhdGl2ZVdlaWdodD0wLHRoaXMuY3VtdWxhdGl2ZVdlaWdodEFkZGl0aXZlPTAsdGhpcy51c2VDb3VudD0wLHRoaXMucmVmZXJlbmNlQ291bnQ9MH1hY2N1bXVsYXRlKHQsZSl7Y29uc3Qgbj10aGlzLmJ1ZmZlcixvPXRoaXMudmFsdWVTaXplLGk9dCpvK287bGV0IGE9dGhpcy5jdW11bGF0aXZlV2VpZ2h0O2lmKDA9PT1hKXtmb3IobGV0IHQ9MDt0IT09bzsrK3QpbltpK3RdPW5bdF07YT1lfWVsc2V7YSs9ZTt0aGlzLl9taXhCdWZmZXJSZWdpb24obixpLDAsZS9hLG8pfXRoaXMuY3VtdWxhdGl2ZVdlaWdodD1hfWFjY3VtdWxhdGVBZGRpdGl2ZSh0KXtjb25zdCBlPXRoaXMuYnVmZmVyLG49dGhpcy52YWx1ZVNpemUsbz1uKnRoaXMuX2FkZEluZGV4OzA9PT10aGlzLmN1bXVsYXRpdmVXZWlnaHRBZGRpdGl2ZSYmdGhpcy5fc2V0SWRlbnRpdHkoKSx0aGlzLl9taXhCdWZmZXJSZWdpb25BZGRpdGl2ZShlLG8sMCx0LG4pLHRoaXMuY3VtdWxhdGl2ZVdlaWdodEFkZGl0aXZlKz10fWFwcGx5KHQpe2NvbnN0IGU9dGhpcy52YWx1ZVNpemUsbj10aGlzLmJ1ZmZlcixvPXQqZStlLGk9dGhpcy5jdW11bGF0aXZlV2VpZ2h0LGE9dGhpcy5jdW11bGF0aXZlV2VpZ2h0QWRkaXRpdmUscj10aGlzLmJpbmRpbmc7aWYodGhpcy5jdW11bGF0aXZlV2VpZ2h0PTAsdGhpcy5jdW11bGF0aXZlV2VpZ2h0QWRkaXRpdmU9MCxpPDEpe3RoaXMuX21peEJ1ZmZlclJlZ2lvbihuLG8sZSp0aGlzLl9vcmlnSW5kZXgsMS1pLGUpfWE+MCYmdGhpcy5fbWl4QnVmZmVyUmVnaW9uQWRkaXRpdmUobixvLHRoaXMuX2FkZEluZGV4KmUsMSxlKTtmb3IobGV0IHQ9ZSxpPWUrZTt0IT09aTsrK3QpaWYoblt0XSE9PW5bdCtlXSl7ci5zZXRWYWx1ZShuLG8pO2JyZWFrfX1zYXZlT3JpZ2luYWxTdGF0ZSgpe2NvbnN0IHQ9dGhpcy5idWZmZXIsZT10aGlzLnZhbHVlU2l6ZSxuPWUqdGhpcy5fb3JpZ0luZGV4O3RoaXMuYmluZGluZy5nZXRWYWx1ZSh0LG4pO2ZvcihsZXQgbz1lLGk9bjtvIT09aTsrK28pdFtvXT10W24rbyVlXTt0aGlzLl9zZXRJZGVudGl0eSgpLHRoaXMuY3VtdWxhdGl2ZVdlaWdodD0wLHRoaXMuY3VtdWxhdGl2ZVdlaWdodEFkZGl0aXZlPTB9cmVzdG9yZU9yaWdpbmFsU3RhdGUoKXt0aGlzLmJpbmRpbmcuc2V0VmFsdWUodGhpcy5idWZmZXIsMyp0aGlzLnZhbHVlU2l6ZSl9X3NldEFkZGl0aXZlSWRlbnRpdHlOdW1lcmljKCl7Y29uc3QgdD10aGlzLl9hZGRJbmRleCp0aGlzLnZhbHVlU2l6ZSxlPXQrdGhpcy52YWx1ZVNpemU7Zm9yKGxldCBuPXQ7bjxlO24rKyl0aGlzLmJ1ZmZlcltuXT0wfV9zZXRBZGRpdGl2ZUlkZW50aXR5UXVhdGVybmlvbigpe3RoaXMuX3NldEFkZGl0aXZlSWRlbnRpdHlOdW1lcmljKCksdGhpcy5idWZmZXJbdGhpcy5fYWRkSW5kZXgqdGhpcy52YWx1ZVNpemUrM109MX1fc2V0QWRkaXRpdmVJZGVudGl0eU90aGVyKCl7Y29uc3QgdD10aGlzLl9vcmlnSW5kZXgqdGhpcy52YWx1ZVNpemUsZT10aGlzLl9hZGRJbmRleCp0aGlzLnZhbHVlU2l6ZTtmb3IobGV0IG49MDtuPHRoaXMudmFsdWVTaXplO24rKyl0aGlzLmJ1ZmZlcltlK25dPXRoaXMuYnVmZmVyW3Qrbl19X3NlbGVjdCh0LGUsbixvLGkpe2lmKG8+PS41KWZvcihsZXQgbz0wO28hPT1pOysrbyl0W2Urb109dFtuK29dfV9zbGVycCh0LGUsbixvKXtQc3Quc2xlcnBGbGF0KHQsZSx0LGUsdCxuLG8pfV9zbGVycEFkZGl0aXZlKHQsZSxuLG8saSl7Y29uc3QgYT10aGlzLl93b3JrSW5kZXgqaTtQc3QubXVsdGlwbHlRdWF0ZXJuaW9uc0ZsYXQodCxhLHQsZSx0LG4pLFBzdC5zbGVycEZsYXQodCxlLHQsZSx0LGEsbyl9X2xlcnAodCxlLG4sbyxpKXtjb25zdCBhPTEtbztmb3IobGV0IHI9MDtyIT09aTsrK3Ipe2NvbnN0IGk9ZStyO3RbaV09dFtpXSphK3RbbityXSpvfX1fbGVycEFkZGl0aXZlKHQsZSxuLG8saSl7Zm9yKGxldCBhPTA7YSE9PWk7KythKXtjb25zdCBpPWUrYTt0W2ldPXRbaV0rdFtuK2FdKm99fX1jb25zdCBoZ3Q9IlxcW1xcXVxcLjpcXC8iLGJndD1uZXcgUmVnRXhwKCJbXFxbXFxdXFwuOlxcL10iLCJnIikseWd0PSJbXlxcW1xcXVxcLjpcXC9dIixfZ3Q9IlteIitoZ3QucmVwbGFjZSgiXFwuIiwiIikrIl0iLENndD0vKCg/OldDK1tcLzpdKSopLy5zb3VyY2UucmVwbGFjZSgiV0MiLHlndCksTWd0PS8oV0NPRCspPy8uc291cmNlLnJlcGxhY2UoIldDT0QiLF9ndCksdmd0PS8oPzpcLihXQyspKD86XFsoLispXF0pPyk/Ly5zb3VyY2UucmVwbGFjZSgiV0MiLHlndCkseGd0PS9cLihXQyspKD86XFsoLispXF0pPy8uc291cmNlLnJlcGxhY2UoIldDIix5Z3QpLE9ndD1uZXcgUmVnRXhwKCJeIitDZ3QrTWd0K3ZndCt4Z3QrIiQiKSxQZ3Q9WyJtYXRlcmlhbCIsIm1hdGVyaWFscyIsImJvbmVzIl07Y2xhc3Mgd2d0e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLnBhdGg9ZSx0aGlzLnBhcnNlZFBhdGg9bnx8d2d0LnBhcnNlVHJhY2tOYW1lKGUpLHRoaXMubm9kZT13Z3QuZmluZE5vZGUodCx0aGlzLnBhcnNlZFBhdGgubm9kZU5hbWUpfHx0LHRoaXMucm9vdE5vZGU9dCx0aGlzLmdldFZhbHVlPXRoaXMuX2dldFZhbHVlX3VuYm91bmQsdGhpcy5zZXRWYWx1ZT10aGlzLl9zZXRWYWx1ZV91bmJvdW5kfXN0YXRpYyBjcmVhdGUodCxlLG4pe3JldHVybiB0JiZ0LmlzQW5pbWF0aW9uT2JqZWN0R3JvdXA/bmV3IHdndC5Db21wb3NpdGUodCxlLG4pOm5ldyB3Z3QodCxlLG4pfXN0YXRpYyBzYW5pdGl6ZU5vZGVOYW1lKHQpe3JldHVybiB0LnJlcGxhY2UoL1xzL2csIl8iKS5yZXBsYWNlKGJndCwiIil9c3RhdGljIHBhcnNlVHJhY2tOYW1lKHQpe2NvbnN0IGU9T2d0LmV4ZWModCk7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJQcm9wZXJ0eUJpbmRpbmc6IENhbm5vdCBwYXJzZSB0cmFja05hbWU6ICIrdCk7Y29uc3Qgbj17bm9kZU5hbWU6ZVsyXSxvYmplY3ROYW1lOmVbM10sb2JqZWN0SW5kZXg6ZVs0XSxwcm9wZXJ0eU5hbWU6ZVs1XSxwcm9wZXJ0eUluZGV4OmVbNl19LG89bi5ub2RlTmFtZSYmbi5ub2RlTmFtZS5sYXN0SW5kZXhPZigiLiIpO2lmKHZvaWQgMCE9PW8mJi0xIT09byl7Y29uc3QgdD1uLm5vZGVOYW1lLnN1YnN0cmluZyhvKzEpOy0xIT09UGd0LmluZGV4T2YodCkmJihuLm5vZGVOYW1lPW4ubm9kZU5hbWUuc3Vic3RyaW5nKDAsbyksbi5vYmplY3ROYW1lPXQpfWlmKG51bGw9PT1uLnByb3BlcnR5TmFtZXx8MD09PW4ucHJvcGVydHlOYW1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlByb3BlcnR5QmluZGluZzogY2FuIG5vdCBwYXJzZSBwcm9wZXJ0eU5hbWUgZnJvbSB0cmFja05hbWU6ICIrdCk7cmV0dXJuIG59c3RhdGljIGZpbmROb2RlKHQsZSl7aWYoIWV8fCIiPT09ZXx8Ii4iPT09ZXx8LTE9PT1lfHxlPT09dC5uYW1lfHxlPT09dC51dWlkKXJldHVybiB0O2lmKHQuc2tlbGV0b24pe2NvbnN0IG49dC5za2VsZXRvbi5nZXRCb25lQnlOYW1lKGUpO2lmKHZvaWQgMCE9PW4pcmV0dXJuIG59aWYodC5jaGlsZHJlbil7Y29uc3Qgbj1mdW5jdGlvbih0KXtmb3IobGV0IG89MDtvPHQubGVuZ3RoO28rKyl7Y29uc3QgaT10W29dO2lmKGkubmFtZT09PWV8fGkudXVpZD09PWUpcmV0dXJuIGk7Y29uc3QgYT1uKGkuY2hpbGRyZW4pO2lmKGEpcmV0dXJuIGF9cmV0dXJuIG51bGx9LG89bih0LmNoaWxkcmVuKTtpZihvKXJldHVybiBvfXJldHVybiBudWxsfV9nZXRWYWx1ZV91bmF2YWlsYWJsZSgpe31fc2V0VmFsdWVfdW5hdmFpbGFibGUoKXt9X2dldFZhbHVlX2RpcmVjdCh0LGUpe3RbZV09dGhpcy5ub2RlW3RoaXMucHJvcGVydHlOYW1lXX1fZ2V0VmFsdWVfYXJyYXkodCxlKXtjb25zdCBuPXRoaXMucmVzb2x2ZWRQcm9wZXJ0eTtmb3IobGV0IG89MCxpPW4ubGVuZ3RoO28hPT1pOysrbyl0W2UrK109bltvXX1fZ2V0VmFsdWVfYXJyYXlFbGVtZW50KHQsZSl7dFtlXT10aGlzLnJlc29sdmVkUHJvcGVydHlbdGhpcy5wcm9wZXJ0eUluZGV4XX1fZ2V0VmFsdWVfdG9BcnJheSh0LGUpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eS50b0FycmF5KHQsZSl9X3NldFZhbHVlX2RpcmVjdCh0LGUpe3RoaXMudGFyZ2V0T2JqZWN0W3RoaXMucHJvcGVydHlOYW1lXT10W2VdfV9zZXRWYWx1ZV9kaXJlY3Rfc2V0TmVlZHNVcGRhdGUodCxlKXt0aGlzLnRhcmdldE9iamVjdFt0aGlzLnByb3BlcnR5TmFtZV09dFtlXSx0aGlzLnRhcmdldE9iamVjdC5uZWVkc1VwZGF0ZT0hMH1fc2V0VmFsdWVfZGlyZWN0X3NldE1hdHJpeFdvcmxkTmVlZHNVcGRhdGUodCxlKXt0aGlzLnRhcmdldE9iamVjdFt0aGlzLnByb3BlcnR5TmFtZV09dFtlXSx0aGlzLnRhcmdldE9iamVjdC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSEwfV9zZXRWYWx1ZV9hcnJheSh0LGUpe2NvbnN0IG49dGhpcy5yZXNvbHZlZFByb3BlcnR5O2ZvcihsZXQgbz0wLGk9bi5sZW5ndGg7byE9PWk7KytvKW5bb109dFtlKytdfV9zZXRWYWx1ZV9hcnJheV9zZXROZWVkc1VwZGF0ZSh0LGUpe2NvbnN0IG49dGhpcy5yZXNvbHZlZFByb3BlcnR5O2ZvcihsZXQgbz0wLGk9bi5sZW5ndGg7byE9PWk7KytvKW5bb109dFtlKytdO3RoaXMudGFyZ2V0T2JqZWN0Lm5lZWRzVXBkYXRlPSEwfV9zZXRWYWx1ZV9hcnJheV9zZXRNYXRyaXhXb3JsZE5lZWRzVXBkYXRlKHQsZSl7Y29uc3Qgbj10aGlzLnJlc29sdmVkUHJvcGVydHk7Zm9yKGxldCBvPTAsaT1uLmxlbmd0aDtvIT09aTsrK28pbltvXT10W2UrK107dGhpcy50YXJnZXRPYmplY3QubWF0cml4V29ybGROZWVkc1VwZGF0ZT0hMH1fc2V0VmFsdWVfYXJyYXlFbGVtZW50KHQsZSl7dGhpcy5yZXNvbHZlZFByb3BlcnR5W3RoaXMucHJvcGVydHlJbmRleF09dFtlXX1fc2V0VmFsdWVfYXJyYXlFbGVtZW50X3NldE5lZWRzVXBkYXRlKHQsZSl7dGhpcy5yZXNvbHZlZFByb3BlcnR5W3RoaXMucHJvcGVydHlJbmRleF09dFtlXSx0aGlzLnRhcmdldE9iamVjdC5uZWVkc1VwZGF0ZT0hMH1fc2V0VmFsdWVfYXJyYXlFbGVtZW50X3NldE1hdHJpeFdvcmxkTmVlZHNVcGRhdGUodCxlKXt0aGlzLnJlc29sdmVkUHJvcGVydHlbdGhpcy5wcm9wZXJ0eUluZGV4XT10W2VdLHRoaXMudGFyZ2V0T2JqZWN0Lm1hdHJpeFdvcmxkTmVlZHNVcGRhdGU9ITB9X3NldFZhbHVlX2Zyb21BcnJheSh0LGUpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eS5mcm9tQXJyYXkodCxlKX1fc2V0VmFsdWVfZnJvbUFycmF5X3NldE5lZWRzVXBkYXRlKHQsZSl7dGhpcy5yZXNvbHZlZFByb3BlcnR5LmZyb21BcnJheSh0LGUpLHRoaXMudGFyZ2V0T2JqZWN0Lm5lZWRzVXBkYXRlPSEwfV9zZXRWYWx1ZV9mcm9tQXJyYXlfc2V0TWF0cml4V29ybGROZWVkc1VwZGF0ZSh0LGUpe3RoaXMucmVzb2x2ZWRQcm9wZXJ0eS5mcm9tQXJyYXkodCxlKSx0aGlzLnRhcmdldE9iamVjdC5tYXRyaXhXb3JsZE5lZWRzVXBkYXRlPSEwfV9nZXRWYWx1ZV91bmJvdW5kKHQsZSl7dGhpcy5iaW5kKCksdGhpcy5nZXRWYWx1ZSh0LGUpfV9zZXRWYWx1ZV91bmJvdW5kKHQsZSl7dGhpcy5iaW5kKCksdGhpcy5zZXRWYWx1ZSh0LGUpfWJpbmQoKXtsZXQgdD10aGlzLm5vZGU7Y29uc3QgZT10aGlzLnBhcnNlZFBhdGgsbj1lLm9iamVjdE5hbWUsbz1lLnByb3BlcnR5TmFtZTtsZXQgaT1lLnByb3BlcnR5SW5kZXg7aWYodHx8KHQ9d2d0LmZpbmROb2RlKHRoaXMucm9vdE5vZGUsZS5ub2RlTmFtZSl8fHRoaXMucm9vdE5vZGUsdGhpcy5ub2RlPXQpLHRoaXMuZ2V0VmFsdWU9dGhpcy5fZ2V0VmFsdWVfdW5hdmFpbGFibGUsdGhpcy5zZXRWYWx1ZT10aGlzLl9zZXRWYWx1ZV91bmF2YWlsYWJsZSwhdClyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IFRyeWluZyB0byB1cGRhdGUgbm9kZSBmb3IgdHJhY2s6ICIrdGhpcy5wYXRoKyIgYnV0IGl0IHdhc24ndCBmb3VuZC4iKTtpZihuKXtsZXQgbz1lLm9iamVjdEluZGV4O3N3aXRjaChuKXtjYXNlIm1hdGVyaWFscyI6aWYoIXQubWF0ZXJpYWwpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbWF0ZXJpYWwgYXMgbm9kZSBkb2VzIG5vdCBoYXZlIGEgbWF0ZXJpYWwuIix0aGlzKTtpZighdC5tYXRlcmlhbC5tYXRlcmlhbHMpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbWF0ZXJpYWwubWF0ZXJpYWxzIGFzIG5vZGUubWF0ZXJpYWwgZG9lcyBub3QgaGF2ZSBhIG1hdGVyaWFscyBhcnJheS4iLHRoaXMpO3Q9dC5tYXRlcmlhbC5tYXRlcmlhbHM7YnJlYWs7Y2FzZSJib25lcyI6aWYoIXQuc2tlbGV0b24pcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gYm9uZXMgYXMgbm9kZSBkb2VzIG5vdCBoYXZlIGEgc2tlbGV0b24uIix0aGlzKTt0PXQuc2tlbGV0b24uYm9uZXM7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspaWYodFtlXS5uYW1lPT09byl7bz1lO2JyZWFrfWJyZWFrO2RlZmF1bHQ6aWYodm9pZCAwPT09dFtuXSlyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IENhbiBub3QgYmluZCB0byBvYmplY3ROYW1lIG9mIG5vZGUgdW5kZWZpbmVkLiIsdGhpcyk7dD10W25dfWlmKHZvaWQgMCE9PW8pe2lmKHZvaWQgMD09PXRbb10pcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBUcnlpbmcgdG8gYmluZCB0byBvYmplY3RJbmRleCBvZiBvYmplY3ROYW1lLCBidXQgaXMgdW5kZWZpbmVkLiIsdGhpcyx0KTt0PXRbb119fWNvbnN0IGE9dFtvXTtpZih2b2lkIDA9PT1hKXtyZXR1cm4gdm9pZCBjb25zb2xlLmVycm9yKCJUSFJFRS5Qcm9wZXJ0eUJpbmRpbmc6IFRyeWluZyB0byB1cGRhdGUgcHJvcGVydHkgZm9yIHRyYWNrOiAiK2Uubm9kZU5hbWUrIi4iK28rIiBidXQgaXQgd2Fzbid0IGZvdW5kLiIsdCl9bGV0IHI9dGhpcy5WZXJzaW9uaW5nLk5vbmU7dGhpcy50YXJnZXRPYmplY3Q9dCx2b2lkIDAhPT10Lm5lZWRzVXBkYXRlP3I9dGhpcy5WZXJzaW9uaW5nLk5lZWRzVXBkYXRlOnZvaWQgMCE9PXQubWF0cml4V29ybGROZWVkc1VwZGF0ZSYmKHI9dGhpcy5WZXJzaW9uaW5nLk1hdHJpeFdvcmxkTmVlZHNVcGRhdGUpO2xldCBzPXRoaXMuQmluZGluZ1R5cGUuRGlyZWN0O2lmKHZvaWQgMCE9PWkpe2lmKCJtb3JwaFRhcmdldEluZmx1ZW5jZXMiPT09byl7aWYoIXQuZ2VvbWV0cnkpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbW9ycGhUYXJnZXRJbmZsdWVuY2VzIGJlY2F1c2Ugbm9kZSBkb2VzIG5vdCBoYXZlIGEgZ2VvbWV0cnkuIix0aGlzKTtpZighdC5nZW9tZXRyeS5pc0J1ZmZlckdlb21ldHJ5KXJldHVybiB2b2lkIGNvbnNvbGUuZXJyb3IoIlRIUkVFLlByb3BlcnR5QmluZGluZzogQ2FuIG5vdCBiaW5kIHRvIG1vcnBoVGFyZ2V0SW5mbHVlbmNlcyBvbiBUSFJFRS5HZW9tZXRyeS4gVXNlIFRIUkVFLkJ1ZmZlckdlb21ldHJ5IGluc3RlYWQuIix0aGlzKTtpZighdC5nZW9tZXRyeS5tb3JwaEF0dHJpYnV0ZXMpcmV0dXJuIHZvaWQgY29uc29sZS5lcnJvcigiVEhSRUUuUHJvcGVydHlCaW5kaW5nOiBDYW4gbm90IGJpbmQgdG8gbW9ycGhUYXJnZXRJbmZsdWVuY2VzIGJlY2F1c2Ugbm9kZSBkb2VzIG5vdCBoYXZlIGEgZ2VvbWV0cnkubW9ycGhBdHRyaWJ1dGVzLiIsdGhpcyk7dm9pZCAwIT09dC5tb3JwaFRhcmdldERpY3Rpb25hcnlbaV0mJihpPXQubW9ycGhUYXJnZXREaWN0aW9uYXJ5W2ldKX1zPXRoaXMuQmluZGluZ1R5cGUuQXJyYXlFbGVtZW50LHRoaXMucmVzb2x2ZWRQcm9wZXJ0eT1hLHRoaXMucHJvcGVydHlJbmRleD1pfWVsc2Ugdm9pZCAwIT09YS5mcm9tQXJyYXkmJnZvaWQgMCE9PWEudG9BcnJheT8ocz10aGlzLkJpbmRpbmdUeXBlLkhhc0Zyb21Ub0FycmF5LHRoaXMucmVzb2x2ZWRQcm9wZXJ0eT1hKTpBcnJheS5pc0FycmF5KGEpPyhzPXRoaXMuQmluZGluZ1R5cGUuRW50aXJlQXJyYXksdGhpcy5yZXNvbHZlZFByb3BlcnR5PWEpOnRoaXMucHJvcGVydHlOYW1lPW87dGhpcy5nZXRWYWx1ZT10aGlzLkdldHRlckJ5QmluZGluZ1R5cGVbc10sdGhpcy5zZXRWYWx1ZT10aGlzLlNldHRlckJ5QmluZGluZ1R5cGVBbmRWZXJzaW9uaW5nW3NdW3JdfXVuYmluZCgpe3RoaXMubm9kZT1udWxsLHRoaXMuZ2V0VmFsdWU9dGhpcy5fZ2V0VmFsdWVfdW5ib3VuZCx0aGlzLnNldFZhbHVlPXRoaXMuX3NldFZhbHVlX3VuYm91bmR9fXdndC5Db21wb3NpdGU9Y2xhc3N7Y29uc3RydWN0b3IodCxlLG4pe2NvbnN0IG89bnx8d2d0LnBhcnNlVHJhY2tOYW1lKGUpO3RoaXMuX3RhcmdldEdyb3VwPXQsdGhpcy5fYmluZGluZ3M9dC5zdWJzY3JpYmVfKGUsbyl9Z2V0VmFsdWUodCxlKXt0aGlzLmJpbmQoKTtjb25zdCBuPXRoaXMuX2JpbmRpbmdzW3RoaXMuX3RhcmdldEdyb3VwLm5DYWNoZWRPYmplY3RzX107dm9pZCAwIT09biYmbi5nZXRWYWx1ZSh0LGUpfXNldFZhbHVlKHQsZSl7Y29uc3Qgbj10aGlzLl9iaW5kaW5ncztmb3IobGV0IG89dGhpcy5fdGFyZ2V0R3JvdXAubkNhY2hlZE9iamVjdHNfLGk9bi5sZW5ndGg7byE9PWk7KytvKW5bb10uc2V0VmFsdWUodCxlKX1iaW5kKCl7Y29uc3QgdD10aGlzLl9iaW5kaW5ncztmb3IobGV0IGU9dGhpcy5fdGFyZ2V0R3JvdXAubkNhY2hlZE9iamVjdHNfLG49dC5sZW5ndGg7ZSE9PW47KytlKXRbZV0uYmluZCgpfXVuYmluZCgpe2NvbnN0IHQ9dGhpcy5fYmluZGluZ3M7Zm9yKGxldCBlPXRoaXMuX3RhcmdldEdyb3VwLm5DYWNoZWRPYmplY3RzXyxuPXQubGVuZ3RoO2UhPT1uOysrZSl0W2VdLnVuYmluZCgpfX0sd2d0LnByb3RvdHlwZS5CaW5kaW5nVHlwZT17RGlyZWN0OjAsRW50aXJlQXJyYXk6MSxBcnJheUVsZW1lbnQ6MixIYXNGcm9tVG9BcnJheTozfSx3Z3QucHJvdG90eXBlLlZlcnNpb25pbmc9e05vbmU6MCxOZWVkc1VwZGF0ZToxLE1hdHJpeFdvcmxkTmVlZHNVcGRhdGU6Mn0sd2d0LnByb3RvdHlwZS5HZXR0ZXJCeUJpbmRpbmdUeXBlPVt3Z3QucHJvdG90eXBlLl9nZXRWYWx1ZV9kaXJlY3Qsd2d0LnByb3RvdHlwZS5fZ2V0VmFsdWVfYXJyYXksd2d0LnByb3RvdHlwZS5fZ2V0VmFsdWVfYXJyYXlFbGVtZW50LHdndC5wcm90b3R5cGUuX2dldFZhbHVlX3RvQXJyYXldLHdndC5wcm90b3R5cGUuU2V0dGVyQnlCaW5kaW5nVHlwZUFuZFZlcnNpb25pbmc9W1t3Z3QucHJvdG90eXBlLl9zZXRWYWx1ZV9kaXJlY3Qsd2d0LnByb3RvdHlwZS5fc2V0VmFsdWVfZGlyZWN0X3NldE5lZWRzVXBkYXRlLHdndC5wcm90b3R5cGUuX3NldFZhbHVlX2RpcmVjdF9zZXRNYXRyaXhXb3JsZE5lZWRzVXBkYXRlXSxbd2d0LnByb3RvdHlwZS5fc2V0VmFsdWVfYXJyYXksd2d0LnByb3RvdHlwZS5fc2V0VmFsdWVfYXJyYXlfc2V0TmVlZHNVcGRhdGUsd2d0LnByb3RvdHlwZS5fc2V0VmFsdWVfYXJyYXlfc2V0TWF0cml4V29ybGROZWVkc1VwZGF0ZV0sW3dndC5wcm90b3R5cGUuX3NldFZhbHVlX2FycmF5RWxlbWVudCx3Z3QucHJvdG90eXBlLl9zZXRWYWx1ZV9hcnJheUVsZW1lbnRfc2V0TmVlZHNVcGRhdGUsd2d0LnByb3RvdHlwZS5fc2V0VmFsdWVfYXJyYXlFbGVtZW50X3NldE1hdHJpeFdvcmxkTmVlZHNVcGRhdGVdLFt3Z3QucHJvdG90eXBlLl9zZXRWYWx1ZV9mcm9tQXJyYXksd2d0LnByb3RvdHlwZS5fc2V0VmFsdWVfZnJvbUFycmF5X3NldE5lZWRzVXBkYXRlLHdndC5wcm90b3R5cGUuX3NldFZhbHVlX2Zyb21BcnJheV9zZXRNYXRyaXhXb3JsZE5lZWRzVXBkYXRlXV07Y2xhc3Mga2d0e2NvbnN0cnVjdG9yKHQsZSxuPW51bGwsbz1lLmJsZW5kTW9kZSl7dGhpcy5fbWl4ZXI9dCx0aGlzLl9jbGlwPWUsdGhpcy5fbG9jYWxSb290PW4sdGhpcy5ibGVuZE1vZGU9bztjb25zdCBpPWUudHJhY2tzLGE9aS5sZW5ndGgscj1uZXcgQXJyYXkoYSkscz17ZW5kaW5nU3RhcnQ6WnJ0LGVuZGluZ0VuZDpacnR9O2ZvcihsZXQgdD0wO3QhPT1hOysrdCl7Y29uc3QgZT1pW3RdLmNyZWF0ZUludGVycG9sYW50KG51bGwpO3JbdF09ZSxlLnNldHRpbmdzPXN9dGhpcy5faW50ZXJwb2xhbnRTZXR0aW5ncz1zLHRoaXMuX2ludGVycG9sYW50cz1yLHRoaXMuX3Byb3BlcnR5QmluZGluZ3M9bmV3IEFycmF5KGEpLHRoaXMuX2NhY2hlSW5kZXg9bnVsbCx0aGlzLl9ieUNsaXBDYWNoZUluZGV4PW51bGwsdGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ9bnVsbCx0aGlzLl93ZWlnaHRJbnRlcnBvbGFudD1udWxsLHRoaXMubG9vcD0yMjAxLHRoaXMuX2xvb3BDb3VudD0tMSx0aGlzLl9zdGFydFRpbWU9bnVsbCx0aGlzLnRpbWU9MCx0aGlzLnRpbWVTY2FsZT0xLHRoaXMuX2VmZmVjdGl2ZVRpbWVTY2FsZT0xLHRoaXMud2VpZ2h0PTEsdGhpcy5fZWZmZWN0aXZlV2VpZ2h0PTEsdGhpcy5yZXBldGl0aW9ucz0xLzAsdGhpcy5wYXVzZWQ9ITEsdGhpcy5lbmFibGVkPSEwLHRoaXMuY2xhbXBXaGVuRmluaXNoZWQ9ITEsdGhpcy56ZXJvU2xvcGVBdFN0YXJ0PSEwLHRoaXMuemVyb1Nsb3BlQXRFbmQ9ITB9cGxheSgpe3JldHVybiB0aGlzLl9taXhlci5fYWN0aXZhdGVBY3Rpb24odGhpcyksdGhpc31zdG9wKCl7cmV0dXJuIHRoaXMuX21peGVyLl9kZWFjdGl2YXRlQWN0aW9uKHRoaXMpLHRoaXMucmVzZXQoKX1yZXNldCgpe3JldHVybiB0aGlzLnBhdXNlZD0hMSx0aGlzLmVuYWJsZWQ9ITAsdGhpcy50aW1lPTAsdGhpcy5fbG9vcENvdW50PS0xLHRoaXMuX3N0YXJ0VGltZT1udWxsLHRoaXMuc3RvcEZhZGluZygpLnN0b3BXYXJwaW5nKCl9aXNSdW5uaW5nKCl7cmV0dXJuIHRoaXMuZW5hYmxlZCYmIXRoaXMucGF1c2VkJiYwIT09dGhpcy50aW1lU2NhbGUmJm51bGw9PT10aGlzLl9zdGFydFRpbWUmJnRoaXMuX21peGVyLl9pc0FjdGl2ZUFjdGlvbih0aGlzKX1pc1NjaGVkdWxlZCgpe3JldHVybiB0aGlzLl9taXhlci5faXNBY3RpdmVBY3Rpb24odGhpcyl9c3RhcnRBdCh0KXtyZXR1cm4gdGhpcy5fc3RhcnRUaW1lPXQsdGhpc31zZXRMb29wKHQsZSl7cmV0dXJuIHRoaXMubG9vcD10LHRoaXMucmVwZXRpdGlvbnM9ZSx0aGlzfXNldEVmZmVjdGl2ZVdlaWdodCh0KXtyZXR1cm4gdGhpcy53ZWlnaHQ9dCx0aGlzLl9lZmZlY3RpdmVXZWlnaHQ9dGhpcy5lbmFibGVkP3Q6MCx0aGlzLnN0b3BGYWRpbmcoKX1nZXRFZmZlY3RpdmVXZWlnaHQoKXtyZXR1cm4gdGhpcy5fZWZmZWN0aXZlV2VpZ2h0fWZhZGVJbih0KXtyZXR1cm4gdGhpcy5fc2NoZWR1bGVGYWRpbmcodCwwLDEpfWZhZGVPdXQodCl7cmV0dXJuIHRoaXMuX3NjaGVkdWxlRmFkaW5nKHQsMSwwKX1jcm9zc0ZhZGVGcm9tKHQsZSxuKXtpZih0LmZhZGVPdXQoZSksdGhpcy5mYWRlSW4oZSksbil7Y29uc3Qgbj10aGlzLl9jbGlwLmR1cmF0aW9uLG89dC5fY2xpcC5kdXJhdGlvbixpPW4vbzt0LndhcnAoMSxvL24sZSksdGhpcy53YXJwKGksMSxlKX1yZXR1cm4gdGhpc31jcm9zc0ZhZGVUbyh0LGUsbil7cmV0dXJuIHQuY3Jvc3NGYWRlRnJvbSh0aGlzLGUsbil9c3RvcEZhZGluZygpe2NvbnN0IHQ9dGhpcy5fd2VpZ2h0SW50ZXJwb2xhbnQ7cmV0dXJuIG51bGwhPT10JiYodGhpcy5fd2VpZ2h0SW50ZXJwb2xhbnQ9bnVsbCx0aGlzLl9taXhlci5fdGFrZUJhY2tDb250cm9sSW50ZXJwb2xhbnQodCkpLHRoaXN9c2V0RWZmZWN0aXZlVGltZVNjYWxlKHQpe3JldHVybiB0aGlzLnRpbWVTY2FsZT10LHRoaXMuX2VmZmVjdGl2ZVRpbWVTY2FsZT10aGlzLnBhdXNlZD8wOnQsdGhpcy5zdG9wV2FycGluZygpfWdldEVmZmVjdGl2ZVRpbWVTY2FsZSgpe3JldHVybiB0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGV9c2V0RHVyYXRpb24odCl7cmV0dXJuIHRoaXMudGltZVNjYWxlPXRoaXMuX2NsaXAuZHVyYXRpb24vdCx0aGlzLnN0b3BXYXJwaW5nKCl9c3luY1dpdGgodCl7cmV0dXJuIHRoaXMudGltZT10LnRpbWUsdGhpcy50aW1lU2NhbGU9dC50aW1lU2NhbGUsdGhpcy5zdG9wV2FycGluZygpfWhhbHQodCl7cmV0dXJuIHRoaXMud2FycCh0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGUsMCx0KX13YXJwKHQsZSxuKXtjb25zdCBvPXRoaXMuX21peGVyLGk9by50aW1lLGE9dGhpcy50aW1lU2NhbGU7bGV0IHI9dGhpcy5fdGltZVNjYWxlSW50ZXJwb2xhbnQ7bnVsbD09PXImJihyPW8uX2xlbmRDb250cm9sSW50ZXJwb2xhbnQoKSx0aGlzLl90aW1lU2NhbGVJbnRlcnBvbGFudD1yKTtjb25zdCBzPXIucGFyYW1ldGVyUG9zaXRpb25zLGw9ci5zYW1wbGVWYWx1ZXM7cmV0dXJuIHNbMF09aSxzWzFdPWkrbixsWzBdPXQvYSxsWzFdPWUvYSx0aGlzfXN0b3BXYXJwaW5nKCl7Y29uc3QgdD10aGlzLl90aW1lU2NhbGVJbnRlcnBvbGFudDtyZXR1cm4gbnVsbCE9PXQmJih0aGlzLl90aW1lU2NhbGVJbnRlcnBvbGFudD1udWxsLHRoaXMuX21peGVyLl90YWtlQmFja0NvbnRyb2xJbnRlcnBvbGFudCh0KSksdGhpc31nZXRNaXhlcigpe3JldHVybiB0aGlzLl9taXhlcn1nZXRDbGlwKCl7cmV0dXJuIHRoaXMuX2NsaXB9Z2V0Um9vdCgpe3JldHVybiB0aGlzLl9sb2NhbFJvb3R8fHRoaXMuX21peGVyLl9yb290fV91cGRhdGUodCxlLG4sbyl7aWYoIXRoaXMuZW5hYmxlZClyZXR1cm4gdm9pZCB0aGlzLl91cGRhdGVXZWlnaHQodCk7Y29uc3QgaT10aGlzLl9zdGFydFRpbWU7aWYobnVsbCE9PWkpe2NvbnN0IG89KHQtaSkqbjtpZihvPDB8fDA9PT1uKXJldHVybjt0aGlzLl9zdGFydFRpbWU9bnVsbCxlPW4qb31lKj10aGlzLl91cGRhdGVUaW1lU2NhbGUodCk7Y29uc3QgYT10aGlzLl91cGRhdGVUaW1lKGUpLHI9dGhpcy5fdXBkYXRlV2VpZ2h0KHQpO2lmKHI+MCl7Y29uc3QgdD10aGlzLl9pbnRlcnBvbGFudHMsZT10aGlzLl9wcm9wZXJ0eUJpbmRpbmdzO3N3aXRjaCh0aGlzLmJsZW5kTW9kZSl7Y2FzZSAyNTAxOmZvcihsZXQgbj0wLG89dC5sZW5ndGg7biE9PW87KytuKXRbbl0uZXZhbHVhdGUoYSksZVtuXS5hY2N1bXVsYXRlQWRkaXRpdmUocik7YnJlYWs7Y2FzZSBKcnQ6ZGVmYXVsdDpmb3IobGV0IG49MCxpPXQubGVuZ3RoO24hPT1pOysrbil0W25dLmV2YWx1YXRlKGEpLGVbbl0uYWNjdW11bGF0ZShvLHIpfX19X3VwZGF0ZVdlaWdodCh0KXtsZXQgZT0wO2lmKHRoaXMuZW5hYmxlZCl7ZT10aGlzLndlaWdodDtjb25zdCBuPXRoaXMuX3dlaWdodEludGVycG9sYW50O2lmKG51bGwhPT1uKXtjb25zdCBvPW4uZXZhbHVhdGUodClbMF07ZSo9byx0Pm4ucGFyYW1ldGVyUG9zaXRpb25zWzFdJiYodGhpcy5zdG9wRmFkaW5nKCksMD09PW8mJih0aGlzLmVuYWJsZWQ9ITEpKX19cmV0dXJuIHRoaXMuX2VmZmVjdGl2ZVdlaWdodD1lLGV9X3VwZGF0ZVRpbWVTY2FsZSh0KXtsZXQgZT0wO2lmKCF0aGlzLnBhdXNlZCl7ZT10aGlzLnRpbWVTY2FsZTtjb25zdCBuPXRoaXMuX3RpbWVTY2FsZUludGVycG9sYW50O2lmKG51bGwhPT1uKXtlKj1uLmV2YWx1YXRlKHQpWzBdLHQ+bi5wYXJhbWV0ZXJQb3NpdGlvbnNbMV0mJih0aGlzLnN0b3BXYXJwaW5nKCksMD09PWU/dGhpcy5wYXVzZWQ9ITA6dGhpcy50aW1lU2NhbGU9ZSl9fXJldHVybiB0aGlzLl9lZmZlY3RpdmVUaW1lU2NhbGU9ZSxlfV91cGRhdGVUaW1lKHQpe2NvbnN0IGU9dGhpcy5fY2xpcC5kdXJhdGlvbixuPXRoaXMubG9vcDtsZXQgbz10aGlzLnRpbWUrdCxpPXRoaXMuX2xvb3BDb3VudDtjb25zdCBhPTIyMDI9PT1uO2lmKDA9PT10KXJldHVybi0xPT09aT9vOmEmJjE9PSgxJmkpP2UtbzpvO2lmKDIyMDA9PT1uKXstMT09PWkmJih0aGlzLl9sb29wQ291bnQ9MCx0aGlzLl9zZXRFbmRpbmdzKCEwLCEwLCExKSk7dDp7aWYobz49ZSlvPWU7ZWxzZXtpZighKG88MCkpe3RoaXMudGltZT1vO2JyZWFrIHR9bz0wfXRoaXMuY2xhbXBXaGVuRmluaXNoZWQ/dGhpcy5wYXVzZWQ9ITA6dGhpcy5lbmFibGVkPSExLHRoaXMudGltZT1vLHRoaXMuX21peGVyLmRpc3BhdGNoRXZlbnQoe3R5cGU6ImZpbmlzaGVkIixhY3Rpb246dGhpcyxkaXJlY3Rpb246dDwwPy0xOjF9KX19ZWxzZXtpZigtMT09PWkmJih0Pj0wPyhpPTAsdGhpcy5fc2V0RW5kaW5ncyghMCwwPT09dGhpcy5yZXBldGl0aW9ucyxhKSk6dGhpcy5fc2V0RW5kaW5ncygwPT09dGhpcy5yZXBldGl0aW9ucywhMCxhKSksbz49ZXx8bzwwKXtjb25zdCBuPU1hdGguZmxvb3Ioby9lKTtvLT1lKm4saSs9TWF0aC5hYnMobik7Y29uc3Qgcj10aGlzLnJlcGV0aXRpb25zLWk7aWYocjw9MCl0aGlzLmNsYW1wV2hlbkZpbmlzaGVkP3RoaXMucGF1c2VkPSEwOnRoaXMuZW5hYmxlZD0hMSxvPXQ+MD9lOjAsdGhpcy50aW1lPW8sdGhpcy5fbWl4ZXIuZGlzcGF0Y2hFdmVudCh7dHlwZToiZmluaXNoZWQiLGFjdGlvbjp0aGlzLGRpcmVjdGlvbjp0PjA/MTotMX0pO2Vsc2V7aWYoMT09PXIpe2NvbnN0IGU9dDwwO3RoaXMuX3NldEVuZGluZ3MoZSwhZSxhKX1lbHNlIHRoaXMuX3NldEVuZGluZ3MoITEsITEsYSk7dGhpcy5fbG9vcENvdW50PWksdGhpcy50aW1lPW8sdGhpcy5fbWl4ZXIuZGlzcGF0Y2hFdmVudCh7dHlwZToibG9vcCIsYWN0aW9uOnRoaXMsbG9vcERlbHRhOm59KX19ZWxzZSB0aGlzLnRpbWU9bztpZihhJiYxPT0oMSZpKSlyZXR1cm4gZS1vfXJldHVybiBvfV9zZXRFbmRpbmdzKHQsZSxuKXtjb25zdCBvPXRoaXMuX2ludGVycG9sYW50U2V0dGluZ3M7bj8oby5lbmRpbmdTdGFydD1YcnQsby5lbmRpbmdFbmQ9WHJ0KTooby5lbmRpbmdTdGFydD10P3RoaXMuemVyb1Nsb3BlQXRTdGFydD9YcnQ6WnJ0OktydCxvLmVuZGluZ0VuZD1lP3RoaXMuemVyb1Nsb3BlQXRFbmQ/WHJ0OlpydDpLcnQpfV9zY2hlZHVsZUZhZGluZyh0LGUsbil7Y29uc3Qgbz10aGlzLl9taXhlcixpPW8udGltZTtsZXQgYT10aGlzLl93ZWlnaHRJbnRlcnBvbGFudDtudWxsPT09YSYmKGE9by5fbGVuZENvbnRyb2xJbnRlcnBvbGFudCgpLHRoaXMuX3dlaWdodEludGVycG9sYW50PWEpO2NvbnN0IHI9YS5wYXJhbWV0ZXJQb3NpdGlvbnMscz1hLnNhbXBsZVZhbHVlcztyZXR1cm4gclswXT1pLHNbMF09ZSxyWzFdPWkrdCxzWzFdPW4sdGhpc319KGNsYXNzIGV4dGVuZHMgcnN0e2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy5fcm9vdD10LHRoaXMuX2luaXRNZW1vcnlNYW5hZ2VyKCksdGhpcy5fYWNjdUluZGV4PTAsdGhpcy50aW1lPTAsdGhpcy50aW1lU2NhbGU9MX1fYmluZEFjdGlvbih0LGUpe2NvbnN0IG49dC5fbG9jYWxSb290fHx0aGlzLl9yb290LG89dC5fY2xpcC50cmFja3MsaT1vLmxlbmd0aCxhPXQuX3Byb3BlcnR5QmluZGluZ3Mscj10Ll9pbnRlcnBvbGFudHMscz1uLnV1aWQsbD10aGlzLl9iaW5kaW5nc0J5Um9vdEFuZE5hbWU7bGV0IGM9bFtzXTt2b2lkIDA9PT1jJiYoYz17fSxsW3NdPWMpO2ZvcihsZXQgdD0wO3QhPT1pOysrdCl7Y29uc3QgaT1vW3RdLGw9aS5uYW1lO2xldCBkPWNbbF07aWYodm9pZCAwIT09ZClhW3RdPWQ7ZWxzZXtpZihkPWFbdF0sdm9pZCAwIT09ZCl7bnVsbD09PWQuX2NhY2hlSW5kZXgmJigrK2QucmVmZXJlbmNlQ291bnQsdGhpcy5fYWRkSW5hY3RpdmVCaW5kaW5nKGQscyxsKSk7Y29udGludWV9ZD1uZXcgZ2d0KHdndC5jcmVhdGUobixsLGUmJmUuX3Byb3BlcnR5QmluZGluZ3NbdF0uYmluZGluZy5wYXJzZWRQYXRoKSxpLlZhbHVlVHlwZU5hbWUsaS5nZXRWYWx1ZVNpemUoKSksKytkLnJlZmVyZW5jZUNvdW50LHRoaXMuX2FkZEluYWN0aXZlQmluZGluZyhkLHMsbCksYVt0XT1kfXJbdF0ucmVzdWx0QnVmZmVyPWQuYnVmZmVyfX1fYWN0aXZhdGVBY3Rpb24odCl7aWYoIXRoaXMuX2lzQWN0aXZlQWN0aW9uKHQpKXtpZihudWxsPT09dC5fY2FjaGVJbmRleCl7Y29uc3QgZT0odC5fbG9jYWxSb290fHx0aGlzLl9yb290KS51dWlkLG49dC5fY2xpcC51dWlkLG89dGhpcy5fYWN0aW9uc0J5Q2xpcFtuXTt0aGlzLl9iaW5kQWN0aW9uKHQsbyYmby5rbm93bkFjdGlvbnNbMF0pLHRoaXMuX2FkZEluYWN0aXZlQWN0aW9uKHQsbixlKX1jb25zdCBlPXQuX3Byb3BlcnR5QmluZGluZ3M7Zm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0IT09bjsrK3Qpe2NvbnN0IG49ZVt0XTswPT1uLnVzZUNvdW50KysmJih0aGlzLl9sZW5kQmluZGluZyhuKSxuLnNhdmVPcmlnaW5hbFN0YXRlKCkpfXRoaXMuX2xlbmRBY3Rpb24odCl9fV9kZWFjdGl2YXRlQWN0aW9uKHQpe2lmKHRoaXMuX2lzQWN0aXZlQWN0aW9uKHQpKXtjb25zdCBlPXQuX3Byb3BlcnR5QmluZGluZ3M7Zm9yKGxldCB0PTAsbj1lLmxlbmd0aDt0IT09bjsrK3Qpe2NvbnN0IG49ZVt0XTswPT0tLW4udXNlQ291bnQmJihuLnJlc3RvcmVPcmlnaW5hbFN0YXRlKCksdGhpcy5fdGFrZUJhY2tCaW5kaW5nKG4pKX10aGlzLl90YWtlQmFja0FjdGlvbih0KX19X2luaXRNZW1vcnlNYW5hZ2VyKCl7dGhpcy5fYWN0aW9ucz1bXSx0aGlzLl9uQWN0aXZlQWN0aW9ucz0wLHRoaXMuX2FjdGlvbnNCeUNsaXA9e30sdGhpcy5fYmluZGluZ3M9W10sdGhpcy5fbkFjdGl2ZUJpbmRpbmdzPTAsdGhpcy5fYmluZGluZ3NCeVJvb3RBbmROYW1lPXt9LHRoaXMuX2NvbnRyb2xJbnRlcnBvbGFudHM9W10sdGhpcy5fbkFjdGl2ZUNvbnRyb2xJbnRlcnBvbGFudHM9MDtjb25zdCB0PXRoaXM7dGhpcy5zdGF0cz17YWN0aW9uczp7Z2V0IHRvdGFsKCl7cmV0dXJuIHQuX2FjdGlvbnMubGVuZ3RofSxnZXQgaW5Vc2UoKXtyZXR1cm4gdC5fbkFjdGl2ZUFjdGlvbnN9fSxiaW5kaW5nczp7Z2V0IHRvdGFsKCl7cmV0dXJuIHQuX2JpbmRpbmdzLmxlbmd0aH0sZ2V0IGluVXNlKCl7cmV0dXJuIHQuX25BY3RpdmVCaW5kaW5nc319LGNvbnRyb2xJbnRlcnBvbGFudHM6e2dldCB0b3RhbCgpe3JldHVybiB0Ll9jb250cm9sSW50ZXJwb2xhbnRzLmxlbmd0aH0sZ2V0IGluVXNlKCl7cmV0dXJuIHQuX25BY3RpdmVDb250cm9sSW50ZXJwb2xhbnRzfX19fV9pc0FjdGl2ZUFjdGlvbih0KXtjb25zdCBlPXQuX2NhY2hlSW5kZXg7cmV0dXJuIG51bGwhPT1lJiZlPHRoaXMuX25BY3RpdmVBY3Rpb25zfV9hZGRJbmFjdGl2ZUFjdGlvbih0LGUsbil7Y29uc3Qgbz10aGlzLl9hY3Rpb25zLGk9dGhpcy5fYWN0aW9uc0J5Q2xpcDtsZXQgYT1pW2VdO2lmKHZvaWQgMD09PWEpYT17a25vd25BY3Rpb25zOlt0XSxhY3Rpb25CeVJvb3Q6e319LHQuX2J5Q2xpcENhY2hlSW5kZXg9MCxpW2VdPWE7ZWxzZXtjb25zdCBlPWEua25vd25BY3Rpb25zO3QuX2J5Q2xpcENhY2hlSW5kZXg9ZS5sZW5ndGgsZS5wdXNoKHQpfXQuX2NhY2hlSW5kZXg9by5sZW5ndGgsby5wdXNoKHQpLGEuYWN0aW9uQnlSb290W25dPXR9X3JlbW92ZUluYWN0aXZlQWN0aW9uKHQpe2NvbnN0IGU9dGhpcy5fYWN0aW9ucyxuPWVbZS5sZW5ndGgtMV0sbz10Ll9jYWNoZUluZGV4O24uX2NhY2hlSW5kZXg9byxlW29dPW4sZS5wb3AoKSx0Ll9jYWNoZUluZGV4PW51bGw7Y29uc3QgaT10Ll9jbGlwLnV1aWQsYT10aGlzLl9hY3Rpb25zQnlDbGlwLHI9YVtpXSxzPXIua25vd25BY3Rpb25zLGw9c1tzLmxlbmd0aC0xXSxjPXQuX2J5Q2xpcENhY2hlSW5kZXg7bC5fYnlDbGlwQ2FjaGVJbmRleD1jLHNbY109bCxzLnBvcCgpLHQuX2J5Q2xpcENhY2hlSW5kZXg9bnVsbDtkZWxldGUgci5hY3Rpb25CeVJvb3RbKHQuX2xvY2FsUm9vdHx8dGhpcy5fcm9vdCkudXVpZF0sMD09PXMubGVuZ3RoJiZkZWxldGUgYVtpXSx0aGlzLl9yZW1vdmVJbmFjdGl2ZUJpbmRpbmdzRm9yQWN0aW9uKHQpfV9yZW1vdmVJbmFjdGl2ZUJpbmRpbmdzRm9yQWN0aW9uKHQpe2NvbnN0IGU9dC5fcHJvcGVydHlCaW5kaW5ncztmb3IobGV0IHQ9MCxuPWUubGVuZ3RoO3QhPT1uOysrdCl7Y29uc3Qgbj1lW3RdOzA9PS0tbi5yZWZlcmVuY2VDb3VudCYmdGhpcy5fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKG4pfX1fbGVuZEFjdGlvbih0KXtjb25zdCBlPXRoaXMuX2FjdGlvbnMsbj10Ll9jYWNoZUluZGV4LG89dGhpcy5fbkFjdGl2ZUFjdGlvbnMrKyxpPWVbb107dC5fY2FjaGVJbmRleD1vLGVbb109dCxpLl9jYWNoZUluZGV4PW4sZVtuXT1pfV90YWtlQmFja0FjdGlvbih0KXtjb25zdCBlPXRoaXMuX2FjdGlvbnMsbj10Ll9jYWNoZUluZGV4LG89LS10aGlzLl9uQWN0aXZlQWN0aW9ucyxpPWVbb107dC5fY2FjaGVJbmRleD1vLGVbb109dCxpLl9jYWNoZUluZGV4PW4sZVtuXT1pfV9hZGRJbmFjdGl2ZUJpbmRpbmcodCxlLG4pe2NvbnN0IG89dGhpcy5fYmluZGluZ3NCeVJvb3RBbmROYW1lLGk9dGhpcy5fYmluZGluZ3M7bGV0IGE9b1tlXTt2b2lkIDA9PT1hJiYoYT17fSxvW2VdPWEpLGFbbl09dCx0Ll9jYWNoZUluZGV4PWkubGVuZ3RoLGkucHVzaCh0KX1fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKHQpe2NvbnN0IGU9dGhpcy5fYmluZGluZ3Msbj10LmJpbmRpbmcsbz1uLnJvb3ROb2RlLnV1aWQsaT1uLnBhdGgsYT10aGlzLl9iaW5kaW5nc0J5Um9vdEFuZE5hbWUscj1hW29dLHM9ZVtlLmxlbmd0aC0xXSxsPXQuX2NhY2hlSW5kZXg7cy5fY2FjaGVJbmRleD1sLGVbbF09cyxlLnBvcCgpLGRlbGV0ZSByW2ldLDA9PT1PYmplY3Qua2V5cyhyKS5sZW5ndGgmJmRlbGV0ZSBhW29dfV9sZW5kQmluZGluZyh0KXtjb25zdCBlPXRoaXMuX2JpbmRpbmdzLG49dC5fY2FjaGVJbmRleCxvPXRoaXMuX25BY3RpdmVCaW5kaW5ncysrLGk9ZVtvXTt0Ll9jYWNoZUluZGV4PW8sZVtvXT10LGkuX2NhY2hlSW5kZXg9bixlW25dPWl9X3Rha2VCYWNrQmluZGluZyh0KXtjb25zdCBlPXRoaXMuX2JpbmRpbmdzLG49dC5fY2FjaGVJbmRleCxvPS0tdGhpcy5fbkFjdGl2ZUJpbmRpbmdzLGk9ZVtvXTt0Ll9jYWNoZUluZGV4PW8sZVtvXT10LGkuX2NhY2hlSW5kZXg9bixlW25dPWl9X2xlbmRDb250cm9sSW50ZXJwb2xhbnQoKXtjb25zdCB0PXRoaXMuX2NvbnRyb2xJbnRlcnBvbGFudHMsZT10aGlzLl9uQWN0aXZlQ29udHJvbEludGVycG9sYW50cysrO2xldCBuPXRbZV07cmV0dXJuIHZvaWQgMD09PW4mJihuPW5ldyBSdXQobmV3IEZsb2F0MzJBcnJheSgyKSxuZXcgRmxvYXQzMkFycmF5KDIpLDEsdGhpcy5fY29udHJvbEludGVycG9sYW50c1Jlc3VsdEJ1ZmZlciksbi5fX2NhY2hlSW5kZXg9ZSx0W2VdPW4pLG59X3Rha2VCYWNrQ29udHJvbEludGVycG9sYW50KHQpe2NvbnN0IGU9dGhpcy5fY29udHJvbEludGVycG9sYW50cyxuPXQuX19jYWNoZUluZGV4LG89LS10aGlzLl9uQWN0aXZlQ29udHJvbEludGVycG9sYW50cyxpPWVbb107dC5fX2NhY2hlSW5kZXg9byxlW29dPXQsaS5fX2NhY2hlSW5kZXg9bixlW25dPWl9Y2xpcEFjdGlvbih0LGUsbil7Y29uc3Qgbz1lfHx0aGlzLl9yb290LGk9by51dWlkO2xldCBhPSJzdHJpbmciPT10eXBlb2YgdD9CdXQuZmluZEJ5TmFtZShvLHQpOnQ7Y29uc3Qgcj1udWxsIT09YT9hLnV1aWQ6dCxzPXRoaXMuX2FjdGlvbnNCeUNsaXBbcl07bGV0IGw9bnVsbDtpZih2b2lkIDA9PT1uJiYobj1udWxsIT09YT9hLmJsZW5kTW9kZTpKcnQpLHZvaWQgMCE9PXMpe2NvbnN0IHQ9cy5hY3Rpb25CeVJvb3RbaV07aWYodm9pZCAwIT09dCYmdC5ibGVuZE1vZGU9PT1uKXJldHVybiB0O2w9cy5rbm93bkFjdGlvbnNbMF0sbnVsbD09PWEmJihhPWwuX2NsaXApfWlmKG51bGw9PT1hKXJldHVybiBudWxsO2NvbnN0IGM9bmV3IGtndCh0aGlzLGEsZSxuKTtyZXR1cm4gdGhpcy5fYmluZEFjdGlvbihjLGwpLHRoaXMuX2FkZEluYWN0aXZlQWN0aW9uKGMscixpKSxjfWV4aXN0aW5nQWN0aW9uKHQsZSl7Y29uc3Qgbj1lfHx0aGlzLl9yb290LG89bi51dWlkLGk9InN0cmluZyI9PXR5cGVvZiB0P0J1dC5maW5kQnlOYW1lKG4sdCk6dCxhPXRoaXMuX2FjdGlvbnNCeUNsaXBbaT9pLnV1aWQ6dF07cmV0dXJuIHZvaWQgMCE9PWEmJmEuYWN0aW9uQnlSb290W29dfHxudWxsfXN0b3BBbGxBY3Rpb24oKXtjb25zdCB0PXRoaXMuX2FjdGlvbnM7Zm9yKGxldCBlPXRoaXMuX25BY3RpdmVBY3Rpb25zLTE7ZT49MDstLWUpdFtlXS5zdG9wKCk7cmV0dXJuIHRoaXN9dXBkYXRlKHQpe2NvbnN0IGU9dGhpcy5fYWN0aW9ucyxuPXRoaXMuX25BY3RpdmVBY3Rpb25zLG89dGhpcy50aW1lKz10Kj10aGlzLnRpbWVTY2FsZSxpPU1hdGguc2lnbih0KSxhPXRoaXMuX2FjY3VJbmRleF49MTtmb3IobGV0IHI9MDtyIT09bjsrK3Ipe2Vbcl0uX3VwZGF0ZShvLHQsaSxhKX1jb25zdCByPXRoaXMuX2JpbmRpbmdzLHM9dGhpcy5fbkFjdGl2ZUJpbmRpbmdzO2ZvcihsZXQgdD0wO3QhPT1zOysrdClyW3RdLmFwcGx5KGEpO3JldHVybiB0aGlzfXNldFRpbWUodCl7dGhpcy50aW1lPTA7Zm9yKGxldCB0PTA7dDx0aGlzLl9hY3Rpb25zLmxlbmd0aDt0KyspdGhpcy5fYWN0aW9uc1t0XS50aW1lPTA7cmV0dXJuIHRoaXMudXBkYXRlKHQpfWdldFJvb3QoKXtyZXR1cm4gdGhpcy5fcm9vdH11bmNhY2hlQ2xpcCh0KXtjb25zdCBlPXRoaXMuX2FjdGlvbnMsbj10LnV1aWQsbz10aGlzLl9hY3Rpb25zQnlDbGlwLGk9b1tuXTtpZih2b2lkIDAhPT1pKXtjb25zdCB0PWkua25vd25BY3Rpb25zO2ZvcihsZXQgbj0wLG89dC5sZW5ndGg7biE9PW87KytuKXtjb25zdCBvPXRbbl07dGhpcy5fZGVhY3RpdmF0ZUFjdGlvbihvKTtjb25zdCBpPW8uX2NhY2hlSW5kZXgsYT1lW2UubGVuZ3RoLTFdO28uX2NhY2hlSW5kZXg9bnVsbCxvLl9ieUNsaXBDYWNoZUluZGV4PW51bGwsYS5fY2FjaGVJbmRleD1pLGVbaV09YSxlLnBvcCgpLHRoaXMuX3JlbW92ZUluYWN0aXZlQmluZGluZ3NGb3JBY3Rpb24obyl9ZGVsZXRlIG9bbl19fXVuY2FjaGVSb290KHQpe2NvbnN0IGU9dC51dWlkLG49dGhpcy5fYWN0aW9uc0J5Q2xpcDtmb3IoY29uc3QgdCBpbiBuKXtjb25zdCBvPW5bdF0uYWN0aW9uQnlSb290W2VdO3ZvaWQgMCE9PW8mJih0aGlzLl9kZWFjdGl2YXRlQWN0aW9uKG8pLHRoaXMuX3JlbW92ZUluYWN0aXZlQWN0aW9uKG8pKX1jb25zdCBvPXRoaXMuX2JpbmRpbmdzQnlSb290QW5kTmFtZVtlXTtpZih2b2lkIDAhPT1vKWZvcihjb25zdCB0IGluIG8pe2NvbnN0IGU9b1t0XTtlLnJlc3RvcmVPcmlnaW5hbFN0YXRlKCksdGhpcy5fcmVtb3ZlSW5hY3RpdmVCaW5kaW5nKGUpfX11bmNhY2hlQWN0aW9uKHQsZSl7Y29uc3Qgbj10aGlzLmV4aXN0aW5nQWN0aW9uKHQsZSk7bnVsbCE9PW4mJih0aGlzLl9kZWFjdGl2YXRlQWN0aW9uKG4pLHRoaXMuX3JlbW92ZUluYWN0aXZlQWN0aW9uKG4pKX19KS5wcm90b3R5cGUuX2NvbnRyb2xJbnRlcnBvbGFudHNSZXN1bHRCdWZmZXI9bmV3IEZsb2F0MzJBcnJheSgxKTsoY2xhc3MgZXh0ZW5kcyBMbXR7Y29uc3RydWN0b3IodCxlLG49MSl7c3VwZXIodCxlKSx0aGlzLm1lc2hQZXJBdHRyaWJ1dGU9bn1jb3B5KHQpe3JldHVybiBzdXBlci5jb3B5KHQpLHRoaXMubWVzaFBlckF0dHJpYnV0ZT10Lm1lc2hQZXJBdHRyaWJ1dGUsdGhpc31jbG9uZSh0KXtjb25zdCBlPXN1cGVyLmNsb25lKHQpO3JldHVybiBlLm1lc2hQZXJBdHRyaWJ1dGU9dGhpcy5tZXNoUGVyQXR0cmlidXRlLGV9dG9KU09OKHQpe2NvbnN0IGU9c3VwZXIudG9KU09OKHQpO3JldHVybiBlLmlzSW5zdGFuY2VkSW50ZXJsZWF2ZWRCdWZmZXI9ITAsZS5tZXNoUGVyQXR0cmlidXRlPXRoaXMubWVzaFBlckF0dHJpYnV0ZSxlfX0pLnByb3RvdHlwZS5pc0luc3RhbmNlZEludGVybGVhdmVkQnVmZmVyPSEwOyhjbGFzcyBleHRlbmRzIFNsdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMubWF0ZXJpYWw9dCx0aGlzLnJlbmRlcj1mdW5jdGlvbigpe30sdGhpcy5oYXNQb3NpdGlvbnM9ITEsdGhpcy5oYXNOb3JtYWxzPSExLHRoaXMuaGFzQ29sb3JzPSExLHRoaXMuaGFzVXZzPSExLHRoaXMucG9zaXRpb25BcnJheT1udWxsLHRoaXMubm9ybWFsQXJyYXk9bnVsbCx0aGlzLmNvbG9yQXJyYXk9bnVsbCx0aGlzLnV2QXJyYXk9bnVsbCx0aGlzLmNvdW50PTB9fSkucHJvdG90eXBlLmlzSW1tZWRpYXRlUmVuZGVyT2JqZWN0PSEwO2NvbnN0IFNndD1uZXcgd3N0LERndD1uZXcgb2x0LFJndD1uZXcgb2x0O2Z1bmN0aW9uIEVndCh0KXtjb25zdCBlPVtdO3QmJnQuaXNCb25lJiZlLnB1c2godCk7Zm9yKGxldCBuPTA7bjx0LmNoaWxkcmVuLmxlbmd0aDtuKyspZS5wdXNoLmFwcGx5KGUsRWd0KHQuY2hpbGRyZW5bbl0pKTtyZXR1cm4gZX1jb25zdCBBZ3Q9bmV3IEZsb2F0MzJBcnJheSgxKTtmdW5jdGlvbiBUZ3QodCxlLG4pe2lmKDE9PT1uKXJldHVybiBuZXcgWmx0KGUpO2NvbnN0IG89ZzkoZSk7aWYoIW8pdGhyb3cgbmV3IEVycm9yKGBkMyBmYWlsZWQgdG8gcmVjb2duaXplIHRoZSBjb2xvcjogJHtlfWApO3JldHVybiBuZXcgWmx0KHV0dChvLHQpKDEtbikpfXZhciBOZ3Qsemd0O2Z1bmN0aW9uIElndCh0LGUpe2NvbnN0IG49ZS5sZW5ndGgvMjtsZXQgbz10LmF0dHJpYnV0ZXMucG9zaXRpb247byYmby5jb3VudD09PTMqbnx8KG89bmV3IFFsdChuZXcgRmxvYXQzMkFycmF5KDMqbiksMyksdC5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixvKSk7Y29uc3QgaT1vLmFycmF5O2ZvcihsZXQgdD0wO3Q8bjt0KyspaVszKnRdPWVbMip0XSxpWzMqdCsxXT1lWzIqdCsxXTtvLm5lZWRzVXBkYXRlPSEwLHQuc2V0RHJhd1JhbmdlKDAsMypuKSx0LmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpfWZ1bmN0aW9uIEhndCh0LGUsbil7Y29uc3Qgbz1NYXRoLm1heChlLmxlbmd0aC8yLTEsMCksaT0yKm8qMyxhPTMqaTtsZXQgcj10LmF0dHJpYnV0ZXMucG9zaXRpb247ciYmci5jb3VudD09PWl8fChyPW5ldyBRbHQobmV3IEZsb2F0MzJBcnJheShhKSwzKSx0LnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLHIpKTtjb25zdCBzPXIuYXJyYXk7Zm9yKGxldCB0PTA7dDxvO3QrKyl7Y29uc3RbbyxpLGEscl09W2VbMip0XSxlWzIqdCsxXSxlWzIqdCsyXSxlWzIqdCszXV0sbD1uZXcgZ3N0KG8saSksYz1uZXcgZ3N0KGEsciksZD1uZXcgZ3N0KGEtbyxyLWkpLHA9bmV3IGdzdCgtZC55LGQueCkuc2V0TGVuZ3RoKG4vMiksbT1sLmNsb25lKCkuYWRkKHApLGY9bC5jbG9uZSgpLnN1YihwKSx1PWMuY2xvbmUoKS5hZGQocCksZz1jLmNsb25lKCkuc3ViKHApLGg9W20ueCxtLnksMCxmLngsZi55LDAsdS54LHUueSwwLHUueCx1LnksMCxmLngsZi55LDAsZy54LGcueSwwXTtzLnNldChoLHQqaC5sZW5ndGgpfXIubmVlZHNVcGRhdGU9ITAsdC5zZXREcmF3UmFuZ2UoMCxhKSx0LmNvbXB1dGVCb3VuZGluZ1NwaGVyZSgpfWZ1bmN0aW9uIEZndCh0LGUsbixvKXtjb25zdHt2aXNpYmxlOmksY29sb3I6YSxvcGFjaXR5OnJ9PW87aWYoQXJyYXkuaXNBcnJheShlLm1hdGVyaWFsKSl0aHJvdyBuZXcgRXJyb3IoIkludmFyaWFudCBlcnJvcjogb25seSBleHBlY3Qgb25lIG1hdGVyaWFsIG9uIGFuIG9iamVjdCIpO2NvbnN0IHM9ZS5tYXRlcmlhbDtpZihzLnZpc2libGUhPT1pJiYocy52aXNpYmxlPWkscy5uZWVkc1VwZGF0ZT0hMCksIWkpcmV0dXJuITE7Y29uc3QgbD1UZ3QodCxhLG51bGwhPXI/cjoxKSxjPW4oZS5nZW9tZXRyeSk7ZS5nZW9tZXRyeSE9PWMmJihlLmdlb21ldHJ5PWMpO3JldHVybiBzLmNvbG9yLmVxdWFscyhsKXx8KHMuY29sb3Iuc2V0KGwpLHMubmVlZHNVcGRhdGU9ITApLCEwfW5ldyBJbnQzMkFycmF5KEFndC5idWZmZXIpLFJmdC5jcmVhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gY29uc29sZS5sb2coIlRIUkVFLkN1cnZlLmNyZWF0ZSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQiKSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFJmdC5wcm90b3R5cGUpLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXQsdC5wcm90b3R5cGUuZ2V0UG9pbnQ9ZSx0fSxKdXQucHJvdG90eXBlLmZyb21Qb2ludHM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUGF0aDogLmZyb21Qb2ludHMoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tUG9pbnRzKCkuIiksdGhpcy5zZXRGcm9tUG9pbnRzKHQpfSxjbGFzcyBleHRlbmRzIHZmdHtjb25zdHJ1Y3Rvcih0PTEwLGU9MTAsbj00NDczOTI0LG89ODk0Nzg0OCl7bj1uZXcgWmx0KG4pLG89bmV3IFpsdChvKTtjb25zdCBpPWUvMixhPXQvZSxyPXQvMixzPVtdLGw9W107Zm9yKGxldCB0PTAsYz0wLGQ9LXI7dDw9ZTt0KyssZCs9YSl7cy5wdXNoKC1yLDAsZCxyLDAsZCkscy5wdXNoKGQsMCwtcixkLDAscik7Y29uc3QgZT10PT09aT9uOm87ZS50b0FycmF5KGwsYyksYys9MyxlLnRvQXJyYXkobCxjKSxjKz0zLGUudG9BcnJheShsLGMpLGMrPTMsZS50b0FycmF5KGwsYyksYys9M31jb25zdCBjPW5ldyBkY3Q7Yy5zZXRBdHRyaWJ1dGUoInBvc2l0aW9uIixuZXcgZWN0KHMsMykpLGMuc2V0QXR0cmlidXRlKCJjb2xvciIsbmV3IGVjdChsLDMpKTtzdXBlcihjLG5ldyBmZnQoe3ZlcnRleENvbG9yczohMCx0b25lTWFwcGVkOiExfSkpLHRoaXMudHlwZT0iR3JpZEhlbHBlciJ9fS5wcm90b3R5cGUuc2V0Q29sb3JzPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuR3JpZEhlbHBlcjogc2V0Q29sb3JzKCkgaGFzIGJlZW4gZGVwcmVjYXRlZCwgcGFzcyB0aGVtIGluIHRoZSBjb25zdHJ1Y3RvciBpbnN0ZWFkLiIpfSxjbGFzcyBleHRlbmRzIHZmdHtjb25zdHJ1Y3Rvcih0KXtjb25zdCBlPUVndCh0KSxuPW5ldyBkY3Qsbz1bXSxpPVtdLGE9bmV3IFpsdCgwLDAsMSkscj1uZXcgWmx0KDAsMSwwKTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl7Y29uc3Qgbj1lW3RdO24ucGFyZW50JiZuLnBhcmVudC5pc0JvbmUmJihvLnB1c2goMCwwLDApLG8ucHVzaCgwLDAsMCksaS5wdXNoKGEucixhLmcsYS5iKSxpLnB1c2goci5yLHIuZyxyLmIpKX1uLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLG5ldyBlY3QobywzKSksbi5zZXRBdHRyaWJ1dGUoImNvbG9yIixuZXcgZWN0KGksMykpO3N1cGVyKG4sbmV3IGZmdCh7dmVydGV4Q29sb3JzOiEwLGRlcHRoVGVzdDohMSxkZXB0aFdyaXRlOiExLHRvbmVNYXBwZWQ6ITEsdHJhbnNwYXJlbnQ6ITB9KSksdGhpcy50eXBlPSJTa2VsZXRvbkhlbHBlciIsdGhpcy5pc1NrZWxldG9uSGVscGVyPSEwLHRoaXMucm9vdD10LHRoaXMuYm9uZXM9ZSx0aGlzLm1hdHJpeD10Lm1hdHJpeFdvcmxkLHRoaXMubWF0cml4QXV0b1VwZGF0ZT0hMX11cGRhdGVNYXRyaXhXb3JsZCh0KXtjb25zdCBlPXRoaXMuYm9uZXMsbj10aGlzLmdlb21ldHJ5LG89bi5nZXRBdHRyaWJ1dGUoInBvc2l0aW9uIik7Umd0LmNvcHkodGhpcy5yb290Lm1hdHJpeFdvcmxkKS5pbnZlcnQoKTtmb3IobGV0IHQ9MCxuPTA7dDxlLmxlbmd0aDt0Kyspe2NvbnN0IGk9ZVt0XTtpLnBhcmVudCYmaS5wYXJlbnQuaXNCb25lJiYoRGd0Lm11bHRpcGx5TWF0cmljZXMoUmd0LGkubWF0cml4V29ybGQpLFNndC5zZXRGcm9tTWF0cml4UG9zaXRpb24oRGd0KSxvLnNldFhZWihuLFNndC54LFNndC55LFNndC56KSxEZ3QubXVsdGlwbHlNYXRyaWNlcyhSZ3QsaS5wYXJlbnQubWF0cml4V29ybGQpLFNndC5zZXRGcm9tTWF0cml4UG9zaXRpb24oRGd0KSxvLnNldFhZWihuKzEsU2d0LngsU2d0LnksU2d0LnopLG4rPTIpfW4uZ2V0QXR0cmlidXRlKCJwb3NpdGlvbiIpLm5lZWRzVXBkYXRlPSEwLHN1cGVyLnVwZGF0ZU1hdHJpeFdvcmxkKHQpfX0ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLlNrZWxldG9uSGVscGVyOiB1cGRhdGUoKSBubyBsb25nZXIgbmVlZHMgdG8gYmUgY2FsbGVkLiIpfSxXdXQucHJvdG90eXBlLmV4dHJhY3RVcmxCYXNlPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkxvYWRlcjogLmV4dHJhY3RVcmxCYXNlKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIFRIUkVFLkxvYWRlclV0aWxzLmV4dHJhY3RVcmxCYXNlKCkgaW5zdGVhZC4iKSxjbGFzc3tzdGF0aWMgZGVjb2RlVGV4dCh0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFRleHREZWNvZGVyKXJldHVybihuZXcgVGV4dERlY29kZXIpLmRlY29kZSh0KTtsZXQgZT0iIjtmb3IobGV0IG49MCxvPXQubGVuZ3RoO248bztuKyspZSs9U3RyaW5nLmZyb21DaGFyQ29kZSh0W25dKTt0cnl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChlc2NhcGUoZSkpfWNhdGNoKHQpe3JldHVybiBlfX1zdGF0aWMgZXh0cmFjdFVybEJhc2UodCl7Y29uc3QgZT10Lmxhc3RJbmRleE9mKCIvIik7cmV0dXJuLTE9PT1lPyIuLyI6dC5zdWJzdHIoMCxlKzEpfX0uZXh0cmFjdFVybEJhc2UodCl9LFd1dC5IYW5kbGVycz17YWRkOmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTG9hZGVyOiBIYW5kbGVycy5hZGQoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgTG9hZGluZ01hbmFnZXIuYWRkSGFuZGxlcigpIGluc3RlYWQuIil9LGdldDpmdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkxvYWRlcjogSGFuZGxlcnMuZ2V0KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIExvYWRpbmdNYW5hZ2VyLmdldEhhbmRsZXIoKSBpbnN0ZWFkLiIpfX0sRHN0LnByb3RvdHlwZS5jZW50ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmNlbnRlcigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldENlbnRlcigpLiIpLHRoaXMuZ2V0Q2VudGVyKHQpfSxEc3QucHJvdG90eXBlLmVtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmVtcHR5KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaXNFbXB0eSgpLiIpLHRoaXMuaXNFbXB0eSgpfSxEc3QucHJvdG90eXBlLmlzSW50ZXJzZWN0aW9uQm94PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5pc0ludGVyc2VjdGlvbkJveCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNCb3goKS4iKSx0aGlzLmludGVyc2VjdHNCb3godCl9LERzdC5wcm90b3R5cGUuaXNJbnRlcnNlY3Rpb25TcGhlcmU9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQm94MzogLmlzSW50ZXJzZWN0aW9uU3BoZXJlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c1NwaGVyZSgpLiIpLHRoaXMuaW50ZXJzZWN0c1NwaGVyZSh0KX0sRHN0LnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJveDM6IC5zaXplKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ2V0U2l6ZSgpLiIpLHRoaXMuZ2V0U2l6ZSh0KX0sWnN0LnByb3RvdHlwZS5lbXB0eT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlNwaGVyZTogLmVtcHR5KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaXNFbXB0eSgpLiIpLHRoaXMuaXNFbXB0eSgpfSxxY3QucHJvdG90eXBlLnNldEZyb21NYXRyaXg9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuRnJ1c3R1bTogLnNldEZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tUHJvamVjdGlvbk1hdHJpeCgpLiIpLHRoaXMuc2V0RnJvbVByb2plY3Rpb25NYXRyaXgodCl9LGhzdC5wcm90b3R5cGUuZmxhdHRlblRvQXJyYXlPZmZzZXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXgzOiAuZmxhdHRlblRvQXJyYXlPZmZzZXQoKSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgLnRvQXJyYXkoKSBpbnN0ZWFkLiIpLHRoaXMudG9BcnJheSh0LGUpfSxoc3QucHJvdG90eXBlLm11bHRpcGx5VmVjdG9yMz1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXgzOiAubXVsdGlwbHlWZWN0b3IzKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDMoIG1hdHJpeCApIGluc3RlYWQuIiksdC5hcHBseU1hdHJpeDModGhpcyl9LGhzdC5wcm90b3R5cGUubXVsdGlwbHlWZWN0b3IzQXJyYXk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXgzOiAubXVsdGlwbHlWZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxoc3QucHJvdG90eXBlLmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGU9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4MzogLmFwcGx5VG9CdWZmZXJBdHRyaWJ1dGUoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgYXR0cmlidXRlLmFwcGx5TWF0cml4MyggbWF0cml4ICkgaW5zdGVhZC4iKSx0LmFwcGx5TWF0cml4Myh0aGlzKX0saHN0LnByb3RvdHlwZS5hcHBseVRvVmVjdG9yM0FycmF5PWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4MzogLmFwcGx5VG9WZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxoc3QucHJvdG90eXBlLmdldEludmVyc2U9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4MzogLmdldEludmVyc2UoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgbWF0cml4SW52LmNvcHkoIG1hdHJpeCApLmludmVydCgpOyBpbnN0ZWFkLiIpLHRoaXMuY29weSh0KS5pbnZlcnQoKX0sb2x0LnByb3RvdHlwZS5leHRyYWN0UG9zaXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmV4dHJhY3RQb3NpdGlvbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmNvcHlQb3NpdGlvbigpLiIpLHRoaXMuY29weVBvc2l0aW9uKHQpfSxvbHQucHJvdG90eXBlLmZsYXR0ZW5Ub0FycmF5T2Zmc2V0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLmZsYXR0ZW5Ub0FycmF5T2Zmc2V0KCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC50b0FycmF5KCkgaW5zdGVhZC4iKSx0aGlzLnRvQXJyYXkodCxlKX0sb2x0LnByb3RvdHlwZS5nZXRQb3NpdGlvbj1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5nZXRQb3NpdGlvbigpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBWZWN0b3IzLnNldEZyb21NYXRyaXhQb3NpdGlvbiggbWF0cml4ICkgaW5zdGVhZC4iKSwobmV3IHdzdCkuc2V0RnJvbU1hdHJpeENvbHVtbih0aGlzLDMpfSxvbHQucHJvdG90eXBlLnNldFJvdGF0aW9uRnJvbVF1YXRlcm5pb249ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLnNldFJvdGF0aW9uRnJvbVF1YXRlcm5pb24oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbigpLiIpLHRoaXMubWFrZVJvdGF0aW9uRnJvbVF1YXRlcm5pb24odCl9LG9sdC5wcm90b3R5cGUubXVsdGlwbHlUb0FycmF5PWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlUb0FycmF5KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sb2x0LnByb3RvdHlwZS5tdWx0aXBseVZlY3RvcjM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm11bHRpcGx5VmVjdG9yMygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSB2ZWN0b3IuYXBwbHlNYXRyaXg0KCBtYXRyaXggKSBpbnN0ZWFkLiIpLHQuYXBwbHlNYXRyaXg0KHRoaXMpfSxvbHQucHJvdG90eXBlLm11bHRpcGx5VmVjdG9yND1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlWZWN0b3I0KCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIHZlY3Rvci5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIiksdC5hcHBseU1hdHJpeDQodGhpcyl9LG9sdC5wcm90b3R5cGUubXVsdGlwbHlWZWN0b3IzQXJyYXk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAubXVsdGlwbHlWZWN0b3IzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxvbHQucHJvdG90eXBlLnJvdGF0ZUF4aXM9ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlQXhpcygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBWZWN0b3IzLnRyYW5zZm9ybURpcmVjdGlvbiggbWF0cml4ICkgaW5zdGVhZC4iKSx0LnRyYW5zZm9ybURpcmVjdGlvbih0aGlzKX0sb2x0LnByb3RvdHlwZS5jcm9zc1ZlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAuY3Jvc3NWZWN0b3IoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdmVjdG9yLmFwcGx5TWF0cml4NCggbWF0cml4ICkgaW5zdGVhZC4iKSx0LmFwcGx5TWF0cml4NCh0aGlzKX0sb2x0LnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAudHJhbnNsYXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sb2x0LnByb3RvdHlwZS5yb3RhdGVYPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWF0cml4NDogLnJvdGF0ZVgoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxvbHQucHJvdG90eXBlLnJvdGF0ZVk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlWSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LG9sdC5wcm90b3R5cGUucm90YXRlWj1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5yb3RhdGVaKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sb2x0LnByb3RvdHlwZS5yb3RhdGVCeUF4aXM9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5NYXRyaXg0OiAucm90YXRlQnlBeGlzKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sb2x0LnByb3RvdHlwZS5hcHBseVRvQnVmZmVyQXR0cmlidXRlPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk1hdHJpeDQ6IC5hcHBseVRvQnVmZmVyQXR0cmlidXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIGF0dHJpYnV0ZS5hcHBseU1hdHJpeDQoIG1hdHJpeCApIGluc3RlYWQuIiksdC5hcHBseU1hdHJpeDQodGhpcyl9LG9sdC5wcm90b3R5cGUuYXBwbHlUb1ZlY3RvcjNBcnJheT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1hdHJpeDQ6IC5hcHBseVRvVmVjdG9yM0FycmF5KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sb2x0LnByb3RvdHlwZS5tYWtlRnJ1c3R1bT1mdW5jdGlvbih0LGUsbixvLGksYSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuTWF0cml4NDogLm1ha2VGcnVzdHVtKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5tYWtlUGVyc3BlY3RpdmUoIGxlZnQsIHJpZ2h0LCB0b3AsIGJvdHRvbSwgbmVhciwgZmFyICkgaW5zdGVhZC4iKSx0aGlzLm1ha2VQZXJzcGVjdGl2ZSh0LGUsbyxuLGksYSl9LG9sdC5wcm90b3R5cGUuZ2V0SW52ZXJzZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5NYXRyaXg0OiAuZ2V0SW52ZXJzZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBtYXRyaXhJbnYuY29weSggbWF0cml4ICkuaW52ZXJ0KCk7IGluc3RlYWQuIiksdGhpcy5jb3B5KHQpLmludmVydCgpfSxXY3QucHJvdG90eXBlLmlzSW50ZXJzZWN0aW9uTGluZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5QbGFuZTogLmlzSW50ZXJzZWN0aW9uTGluZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNMaW5lKCkuIiksdGhpcy5pbnRlcnNlY3RzTGluZSh0KX0sUHN0LnByb3RvdHlwZS5tdWx0aXBseVZlY3RvcjM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuUXVhdGVybmlvbjogLm11bHRpcGx5VmVjdG9yMygpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBpcyBub3cgdmVjdG9yLmFwcGx5UXVhdGVybmlvbiggcXVhdGVybmlvbiApIGluc3RlYWQuIiksdC5hcHBseVF1YXRlcm5pb24odGhpcyl9LFBzdC5wcm90b3R5cGUuaW52ZXJzZT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlF1YXRlcm5pb246IC5pbnZlcnNlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byBpbnZlcnQoKS4iKSx0aGlzLmludmVydCgpfSxubHQucHJvdG90eXBlLmlzSW50ZXJzZWN0aW9uQm94PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlJheTogLmlzSW50ZXJzZWN0aW9uQm94KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuaW50ZXJzZWN0c0JveCgpLiIpLHRoaXMuaW50ZXJzZWN0c0JveCh0KX0sbmx0LnByb3RvdHlwZS5pc0ludGVyc2VjdGlvblBsYW5lPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlJheTogLmlzSW50ZXJzZWN0aW9uUGxhbmUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5pbnRlcnNlY3RzUGxhbmUoKS4iKSx0aGlzLmludGVyc2VjdHNQbGFuZSh0KX0sbmx0LnByb3RvdHlwZS5pc0ludGVyc2VjdGlvblNwaGVyZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5SYXk6IC5pc0ludGVyc2VjdGlvblNwaGVyZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmludGVyc2VjdHNTcGhlcmUoKS4iKSx0aGlzLmludGVyc2VjdHNTcGhlcmUodCl9LExsdC5wcm90b3R5cGUuYXJlYT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlRyaWFuZ2xlOiAuYXJlYSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEFyZWEoKS4iKSx0aGlzLmdldEFyZWEoKX0sTGx0LnByb3RvdHlwZS5iYXJ5Y29vcmRGcm9tUG9pbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmJhcnljb29yZEZyb21Qb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEJhcnljb29yZCgpLiIpLHRoaXMuZ2V0QmFyeWNvb3JkKHQsZSl9LExsdC5wcm90b3R5cGUubWlkcG9pbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVHJpYW5nbGU6IC5taWRwb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE1pZHBvaW50KCkuIiksdGhpcy5nZXRNaWRwb2ludCh0KX0sTGx0LnByb3RvdHlwZW5vcm1hbD1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLm5vcm1hbCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE5vcm1hbCgpLiIpLHRoaXMuZ2V0Tm9ybWFsKHQpfSxMbHQucHJvdG90eXBlLnBsYW5lPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlRyaWFuZ2xlOiAucGxhbmUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXRQbGFuZSgpLiIpLHRoaXMuZ2V0UGxhbmUodCl9LExsdC5iYXJ5Y29vcmRGcm9tUG9pbnQ9ZnVuY3Rpb24odCxlLG4sbyxpKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLmJhcnljb29yZEZyb21Qb2ludCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldEJhcnljb29yZCgpLiIpLExsdC5nZXRCYXJ5Y29vcmQodCxlLG4sbyxpKX0sTGx0Lm5vcm1hbD1mdW5jdGlvbih0LGUsbixvKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5UcmlhbmdsZTogLm5vcm1hbCgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdldE5vcm1hbCgpLiIpLExsdC5nZXROb3JtYWwodCxlLG4sbyl9LFF1dC5wcm90b3R5cGUuZXh0cmFjdEFsbFBvaW50cz1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5TaGFwZTogLmV4dHJhY3RBbGxQb2ludHMoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLmV4dHJhY3RQb2ludHMoKSBpbnN0ZWFkLiIpLHRoaXMuZXh0cmFjdFBvaW50cyh0KX0sUXV0LnByb3RvdHlwZS5leHRydWRlPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlNoYXBlOiAuZXh0cnVkZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBFeHRydWRlR2VvbWV0cnkoKSBpbnN0ZWFkLiIpLG5ldyB4dXQodGhpcyx0KX0sUXV0LnByb3RvdHlwZS5tYWtlR2VvbWV0cnk9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuU2hhcGU6IC5tYWtlR2VvbWV0cnkoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgU2hhcGVHZW9tZXRyeSgpIGluc3RlYWQuIiksbmV3IFB1dCh0aGlzLHQpfSxnc3QucHJvdG90eXBlLmZyb21BdHRyaWJ1dGU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjI6IC5mcm9tQXR0cmlidXRlKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuZnJvbUJ1ZmZlckF0dHJpYnV0ZSgpLiIpLHRoaXMuZnJvbUJ1ZmZlckF0dHJpYnV0ZSh0LGUsbil9LGdzdC5wcm90b3R5cGUuZGlzdGFuY2VUb01hbmhhdHRhbj1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IyOiAuZGlzdGFuY2VUb01hbmhhdHRhbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1hbmhhdHRhbkRpc3RhbmNlVG8oKS4iKSx0aGlzLm1hbmhhdHRhbkRpc3RhbmNlVG8odCl9LGdzdC5wcm90b3R5cGUubGVuZ3RoTWFuaGF0dGFuPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMjogLmxlbmd0aE1hbmhhdHRhbigpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLm1hbmhhdHRhbkxlbmd0aCgpLiIpLHRoaXMubWFuaGF0dGFuTGVuZ3RoKCl9LHdzdC5wcm90b3R5cGUuc2V0RXVsZXJGcm9tUm90YXRpb25NYXRyaXg9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5WZWN0b3IzOiAuc2V0RXVsZXJGcm9tUm90YXRpb25NYXRyaXgoKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgRXVsZXIuc2V0RnJvbVJvdGF0aW9uTWF0cml4KCkgaW5zdGVhZC4iKX0sd3N0LnByb3RvdHlwZS5zZXRFdWxlckZyb21RdWF0ZXJuaW9uPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuVmVjdG9yMzogLnNldEV1bGVyRnJvbVF1YXRlcm5pb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgRXVsZXIuc2V0RnJvbVF1YXRlcm5pb24oKSBpbnN0ZWFkLiIpfSx3c3QucHJvdG90eXBlLmdldFBvc2l0aW9uRnJvbU1hdHJpeD1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAuZ2V0UG9zaXRpb25Gcm9tTWF0cml4KCkgaGFzIGJlZW4gcmVuYW1lZCB0byAuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKCkuIiksdGhpcy5zZXRGcm9tTWF0cml4UG9zaXRpb24odCl9LHdzdC5wcm90b3R5cGUuZ2V0U2NhbGVGcm9tTWF0cml4PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5nZXRTY2FsZUZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tTWF0cml4U2NhbGUoKS4iKSx0aGlzLnNldEZyb21NYXRyaXhTY2FsZSh0KX0sd3N0LnByb3RvdHlwZS5nZXRDb2x1bW5Gcm9tTWF0cml4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLmdldENvbHVtbkZyb21NYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRGcm9tTWF0cml4Q29sdW1uKCkuIiksdGhpcy5zZXRGcm9tTWF0cml4Q29sdW1uKGUsdCl9LHdzdC5wcm90b3R5cGUuYXBwbHlQcm9qZWN0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5hcHBseVByb2plY3Rpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLmFwcGx5TWF0cml4NCggbSApIGluc3RlYWQuIiksdGhpcy5hcHBseU1hdHJpeDQodCl9LHdzdC5wcm90b3R5cGUuZnJvbUF0dHJpYnV0ZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuVmVjdG9yMzogLmZyb21BdHRyaWJ1dGUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5mcm9tQnVmZmVyQXR0cmlidXRlKCkuIiksdGhpcy5mcm9tQnVmZmVyQXR0cmlidXRlKHQsZSxuKX0sd3N0LnByb3RvdHlwZS5kaXN0YW5jZVRvTWFuaGF0dGFuPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjM6IC5kaXN0YW5jZVRvTWFuaGF0dGFuKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAubWFuaGF0dGFuRGlzdGFuY2VUbygpLiIpLHRoaXMubWFuaGF0dGFuRGlzdGFuY2VUbyh0KX0sd3N0LnByb3RvdHlwZS5sZW5ndGhNYW5oYXR0YW49ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3IzOiAubGVuZ3RoTWFuaGF0dGFuKCkgaGFzIGJlZW4gcmVuYW1lZCB0byAubWFuaGF0dGFuTGVuZ3RoKCkuIiksdGhpcy5tYW5oYXR0YW5MZW5ndGgoKX0sdnN0LnByb3RvdHlwZS5mcm9tQXR0cmlidXRlPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5WZWN0b3I0OiAuZnJvbUF0dHJpYnV0ZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmZyb21CdWZmZXJBdHRyaWJ1dGUoKS4iKSx0aGlzLmZyb21CdWZmZXJBdHRyaWJ1dGUodCxlLG4pfSx2c3QucHJvdG90eXBlLmxlbmd0aE1hbmhhdHRhbj1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLlZlY3RvcjQ6IC5sZW5ndGhNYW5oYXR0YW4oKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5tYW5oYXR0YW5MZW5ndGgoKS4iKSx0aGlzLm1hbmhhdHRhbkxlbmd0aCgpfSxTbHQucHJvdG90eXBlLmdldENoaWxkQnlOYW1lPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAuZ2V0Q2hpbGRCeU5hbWUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5nZXRPYmplY3RCeU5hbWUoKS4iKSx0aGlzLmdldE9iamVjdEJ5TmFtZSh0KX0sU2x0LnByb3RvdHlwZS5yZW5kZXJEZXB0aD1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5yZW5kZXJEZXB0aCBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLnJlbmRlck9yZGVyLCBpbnN0ZWFkLiIpfSxTbHQucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAudHJhbnNsYXRlKCkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC50cmFuc2xhdGVPbkF4aXMoIGF4aXMsIGRpc3RhbmNlICkgaW5zdGVhZC4iKSx0aGlzLnRyYW5zbGF0ZU9uQXhpcyhlLHQpfSxTbHQucHJvdG90eXBlLmdldFdvcmxkUm90YXRpb249ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5PYmplY3QzRDogLmdldFdvcmxkUm90YXRpb24oKSBoYXMgYmVlbiByZW1vdmVkLiBVc2UgVEhSRUUuT2JqZWN0M0QuZ2V0V29ybGRRdWF0ZXJuaW9uKCB0YXJnZXQgKSBpbnN0ZWFkLiIpfSxTbHQucHJvdG90eXBlLmFwcGx5TWF0cml4PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk9iamVjdDNEOiAuYXBwbHlNYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5hcHBseU1hdHJpeDQoKS4iKSx0aGlzLmFwcGx5TWF0cml4NCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoU2x0LnByb3RvdHlwZSx7ZXVsZXJPcmRlcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5ldWxlck9yZGVyIGlzIG5vdyAucm90YXRpb24ub3JkZXIuIiksdGhpcy5yb3RhdGlvbi5vcmRlcn0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuT2JqZWN0M0Q6IC5ldWxlck9yZGVyIGlzIG5vdyAucm90YXRpb24ub3JkZXIuIiksdGhpcy5yb3RhdGlvbi5vcmRlcj10fX0sdXNlUXVhdGVybmlvbjp7Z2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnVzZVF1YXRlcm5pb24gaGFzIGJlZW4gcmVtb3ZlZC4gVGhlIGxpYnJhcnkgbm93IHVzZXMgcXVhdGVybmlvbnMgYnkgZGVmYXVsdC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5PYmplY3QzRDogLnVzZVF1YXRlcm5pb24gaGFzIGJlZW4gcmVtb3ZlZC4gVGhlIGxpYnJhcnkgbm93IHVzZXMgcXVhdGVybmlvbnMgYnkgZGVmYXVsdC4iKX19fSksU2N0LnByb3RvdHlwZS5zZXREcmF3TW9kZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLk1lc2g6IC5zZXREcmF3TW9kZSgpIGhhcyBiZWVuIHJlbW92ZWQuIFRoZSByZW5kZXJlciBub3cgYWx3YXlzIGFzc3VtZXMgVEhSRUUuVHJpYW5nbGVzRHJhd01vZGUuIFRyYW5zZm9ybSB5b3VyIGdlb21ldHJ5IHZpYSBCdWZmZXJHZW9tZXRyeVV0aWxzLnRvVHJpYW5nbGVzRHJhd01vZGUoKSBpZiBuZWNlc3NhcnkuIil9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFNjdC5wcm90b3R5cGUse2RyYXdNb2RlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS5lcnJvcigiVEhSRUUuTWVzaDogLmRyYXdNb2RlIGhhcyBiZWVuIHJlbW92ZWQuIFRoZSByZW5kZXJlciBub3cgYWx3YXlzIGFzc3VtZXMgVEhSRUUuVHJpYW5nbGVzRHJhd01vZGUuIiksMH0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuTWVzaDogLmRyYXdNb2RlIGhhcyBiZWVuIHJlbW92ZWQuIFRoZSByZW5kZXJlciBub3cgYWx3YXlzIGFzc3VtZXMgVEhSRUUuVHJpYW5nbGVzRHJhd01vZGUuIFRyYW5zZm9ybSB5b3VyIGdlb21ldHJ5IHZpYSBCdWZmZXJHZW9tZXRyeVV0aWxzLnRvVHJpYW5nbGVzRHJhd01vZGUoKSBpZiBuZWNlc3NhcnkuIil9fX0pLGxmdC5wcm90b3R5cGUuaW5pdEJvbmVzPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuU2tpbm5lZE1lc2g6IGluaXRCb25lcygpIGhhcyBiZWVuIHJlbW92ZWQuIil9LEljdC5wcm90b3R5cGUuc2V0TGVucz1mdW5jdGlvbih0LGUpe2NvbnNvbGUud2FybigiVEhSRUUuUGVyc3BlY3RpdmVDYW1lcmEuc2V0TGVucyBpcyBkZXByZWNhdGVkLiBVc2UgLnNldEZvY2FsTGVuZ3RoIGFuZCAuZmlsbUdhdWdlIGZvciBhIHBob3RvZ3JhcGhpYyBzZXR1cC4iKSx2b2lkIDAhPT1lJiYodGhpcy5maWxtR2F1Z2U9ZSksdGhpcy5zZXRGb2NhbExlbmd0aCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoJHV0LnByb3RvdHlwZSx7b25seVNoYWRvdzp7c2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLm9ubHlTaGFkb3cgaGFzIGJlZW4gcmVtb3ZlZC4iKX19LHNoYWRvd0NhbWVyYUZvdjp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFGb3YgaXMgbm93IC5zaGFkb3cuY2FtZXJhLmZvdi4iKSx0aGlzLnNoYWRvdy5jYW1lcmEuZm92PXR9fSxzaGFkb3dDYW1lcmFMZWZ0OntzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYUxlZnQgaXMgbm93IC5zaGFkb3cuY2FtZXJhLmxlZnQuIiksdGhpcy5zaGFkb3cuY2FtZXJhLmxlZnQ9dH19LHNoYWRvd0NhbWVyYVJpZ2h0OntzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYVJpZ2h0IGlzIG5vdyAuc2hhZG93LmNhbWVyYS5yaWdodC4iKSx0aGlzLnNoYWRvdy5jYW1lcmEucmlnaHQ9dH19LHNoYWRvd0NhbWVyYVRvcDp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFUb3AgaXMgbm93IC5zaGFkb3cuY2FtZXJhLnRvcC4iKSx0aGlzLnNoYWRvdy5jYW1lcmEudG9wPXR9fSxzaGFkb3dDYW1lcmFCb3R0b206e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93Q2FtZXJhQm90dG9tIGlzIG5vdyAuc2hhZG93LmNhbWVyYS5ib3R0b20uIiksdGhpcy5zaGFkb3cuY2FtZXJhLmJvdHRvbT10fX0sc2hhZG93Q2FtZXJhTmVhcjp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dDYW1lcmFOZWFyIGlzIG5vdyAuc2hhZG93LmNhbWVyYS5uZWFyLiIpLHRoaXMuc2hhZG93LmNhbWVyYS5uZWFyPXR9fSxzaGFkb3dDYW1lcmFGYXI6e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93Q2FtZXJhRmFyIGlzIG5vdyAuc2hhZG93LmNhbWVyYS5mYXIuIiksdGhpcy5zaGFkb3cuY2FtZXJhLmZhcj10fX0sc2hhZG93Q2FtZXJhVmlzaWJsZTp7c2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5MaWdodDogLnNoYWRvd0NhbWVyYVZpc2libGUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIG5ldyBUSFJFRS5DYW1lcmFIZWxwZXIoIGxpZ2h0LnNoYWRvdy5jYW1lcmEgKSBpbnN0ZWFkLiIpfX0sc2hhZG93Qmlhczp7c2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dCaWFzIGlzIG5vdyAuc2hhZG93LmJpYXMuIiksdGhpcy5zaGFkb3cuYmlhcz10fX0sc2hhZG93RGFya25lc3M6e3NldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTGlnaHQ6IC5zaGFkb3dEYXJrbmVzcyBoYXMgYmVlbiByZW1vdmVkLiIpfX0sc2hhZG93TWFwV2lkdGg6e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93TWFwV2lkdGggaXMgbm93IC5zaGFkb3cubWFwU2l6ZS53aWR0aC4iKSx0aGlzLnNoYWRvdy5tYXBTaXplLndpZHRoPXR9fSxzaGFkb3dNYXBIZWlnaHQ6e3NldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkxpZ2h0OiAuc2hhZG93TWFwSGVpZ2h0IGlzIG5vdyAuc2hhZG93Lm1hcFNpemUuaGVpZ2h0LiIpLHRoaXMuc2hhZG93Lm1hcFNpemUuaGVpZ2h0PXR9fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFFsdC5wcm90b3R5cGUse2xlbmd0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAubGVuZ3RoIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuY291bnQgaW5zdGVhZC4iKSx0aGlzLmFycmF5Lmxlbmd0aH19LGR5bmFtaWM6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZTogLmR5bmFtaWMgaGFzIGJlZW4gZGVwcmVjYXRlZC4gVXNlIC51c2FnZSBpbnN0ZWFkLiIpLHRoaXMudXNhZ2U9PT1pc3R9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuZHluYW1pYyBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgLnVzYWdlIGluc3RlYWQuIiksdGhpcy5zZXRVc2FnZShpc3QpfX19KSxRbHQucHJvdG90eXBlLnNldER5bmFtaWM9ZnVuY3Rpb24odCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuc2V0RHluYW1pYygpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuc2V0VXNhZ2UoKSBpbnN0ZWFkLiIpLHRoaXMuc2V0VXNhZ2UoITA9PT10P2lzdDpvc3QpLHRoaXN9LFFsdC5wcm90b3R5cGUuY29weUluZGljZXNBcnJheT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkJ1ZmZlckF0dHJpYnV0ZTogLmNvcHlJbmRpY2VzQXJyYXkoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxRbHQucHJvdG90eXBlLnNldEFycmF5PWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyQXR0cmlidXRlOiAuc2V0QXJyYXkgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIEJ1ZmZlckdlb21ldHJ5IC5zZXRBdHRyaWJ1dGUgdG8gcmVwbGFjZS9yZXNpemUgYXR0cmlidXRlIGJ1ZmZlcnMiKX0sZGN0LnByb3RvdHlwZS5hZGRJbmRleD1mdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuYWRkSW5kZXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRJbmRleCgpLiIpLHRoaXMuc2V0SW5kZXgodCl9LGRjdC5wcm90b3R5cGUuYWRkQXR0cmlidXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5hZGRBdHRyaWJ1dGUoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5zZXRBdHRyaWJ1dGUoKS4iKSxlJiZlLmlzQnVmZmVyQXR0cmlidXRlfHxlJiZlLmlzSW50ZXJsZWF2ZWRCdWZmZXJBdHRyaWJ1dGU/ImluZGV4Ij09PXQ/KGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnkuYWRkQXR0cmlidXRlOiBVc2UgLnNldEluZGV4KCkgZm9yIGluZGV4IGF0dHJpYnV0ZS4iKSx0aGlzLnNldEluZGV4KGUpLHRoaXMpOnRoaXMuc2V0QXR0cmlidXRlKHQsZSk6KGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5hZGRBdHRyaWJ1dGUoKSBub3cgZXhwZWN0cyAoIG5hbWUsIGF0dHJpYnV0ZSApLiIpLHRoaXMuc2V0QXR0cmlidXRlKHQsbmV3IFFsdChhcmd1bWVudHNbMV0sYXJndW1lbnRzWzJdKSkpfSxkY3QucHJvdG90eXBlLmFkZERyYXdDYWxsPWZ1bmN0aW9uKHQsZSxuKXt2b2lkIDAhPT1uJiZjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuYWRkRHJhd0NhbGwoKSBubyBsb25nZXIgc3VwcG9ydHMgaW5kZXhPZmZzZXQuIiksY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLmFkZERyYXdDYWxsKCkgaXMgbm93IC5hZGRHcm91cCgpLiIpLHRoaXMuYWRkR3JvdXAodCxlKX0sZGN0LnByb3RvdHlwZS5jbGVhckRyYXdDYWxscz1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5jbGVhckRyYXdDYWxscygpIGlzIG5vdyAuY2xlYXJHcm91cHMoKS4iKSx0aGlzLmNsZWFyR3JvdXBzKCl9LGRjdC5wcm90b3R5cGUuY29tcHV0ZU9mZnNldHM9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuY29tcHV0ZU9mZnNldHMoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxkY3QucHJvdG90eXBlLnJlbW92ZUF0dHJpYnV0ZT1mdW5jdGlvbih0KXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5CdWZmZXJHZW9tZXRyeTogLnJlbW92ZUF0dHJpYnV0ZSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmRlbGV0ZUF0dHJpYnV0ZSgpLiIpLHRoaXMuZGVsZXRlQXR0cmlidXRlKHQpfSxkY3QucHJvdG90eXBlLmFwcGx5TWF0cml4PWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkJ1ZmZlckdlb21ldHJ5OiAuYXBwbHlNYXRyaXgoKSBoYXMgYmVlbiByZW5hbWVkIHRvIC5hcHBseU1hdHJpeDQoKS4iKSx0aGlzLmFwcGx5TWF0cml4NCh0KX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZGN0LnByb3RvdHlwZSx7ZHJhd2NhbGxzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS5lcnJvcigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5kcmF3Y2FsbHMgaGFzIGJlZW4gcmVuYW1lZCB0byAuZ3JvdXBzLiIpLHRoaXMuZ3JvdXBzfX0sb2Zmc2V0czp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQnVmZmVyR2VvbWV0cnk6IC5vZmZzZXRzIGhhcyBiZWVuIHJlbmFtZWQgdG8gLmdyb3Vwcy4iKSx0aGlzLmdyb3Vwc319fSksTG10LnByb3RvdHlwZS5zZXREeW5hbWljPWZ1bmN0aW9uKHQpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLkludGVybGVhdmVkQnVmZmVyOiAuc2V0RHluYW1pYygpIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSAuc2V0VXNhZ2UoKSBpbnN0ZWFkLiIpLHRoaXMuc2V0VXNhZ2UoITA9PT10P2lzdDpvc3QpLHRoaXN9LExtdC5wcm90b3R5cGUuc2V0QXJyYXk9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5JbnRlcmxlYXZlZEJ1ZmZlcjogLnNldEFycmF5IGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBCdWZmZXJHZW9tZXRyeSAuc2V0QXR0cmlidXRlIHRvIHJlcGxhY2UvcmVzaXplIGF0dHJpYnV0ZSBidWZmZXJzIil9LHh1dC5wcm90b3R5cGUuZ2V0QXJyYXlzPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuRXh0cnVkZUdlb21ldHJ5OiAuZ2V0QXJyYXlzKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0seHV0LnByb3RvdHlwZS5hZGRTaGFwZUxpc3Q9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5FeHRydWRlR2VvbWV0cnk6IC5hZGRTaGFwZUxpc3QoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSx4dXQucHJvdG90eXBlLmFkZFNoYXBlPWZ1bmN0aW9uKCl7Y29uc29sZS5lcnJvcigiVEhSRUUuRXh0cnVkZUdlb21ldHJ5OiAuYWRkU2hhcGUoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxGbXQucHJvdG90eXBlLmRpc3Bvc2U9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5TY2VuZTogLmRpc3Bvc2UoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhWbHQucHJvdG90eXBlLHt3cmFwQXJvdW5kOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAud3JhcEFyb3VuZCBoYXMgYmVlbiByZW1vdmVkLiIpfSxzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAud3JhcEFyb3VuZCBoYXMgYmVlbiByZW1vdmVkLiIpfX0sb3ZlcmRyYXc6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuTWF0ZXJpYWw6IC5vdmVyZHJhdyBoYXMgYmVlbiByZW1vdmVkLiIpfSxzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAub3ZlcmRyYXcgaGFzIGJlZW4gcmVtb3ZlZC4iKX19LHdyYXBSR0I6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLk1hdGVyaWFsOiAud3JhcFJHQiBoYXMgYmVlbiByZW1vdmVkLiIpLG5ldyBabHR9fSxzaGFkaW5nOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAuc2hhZGluZyBoYXMgYmVlbiByZW1vdmVkLiBVc2UgdGhlIGJvb2xlYW4gLmZsYXRTaGFkaW5nIGluc3RlYWQuIil9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLiIrdGhpcy50eXBlKyI6IC5zaGFkaW5nIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSB0aGUgYm9vbGVhbiAuZmxhdFNoYWRpbmcgaW5zdGVhZC4iKSx0aGlzLmZsYXRTaGFkaW5nPTE9PT10fX0sc3RlbmNpbE1hc2s6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLiIrdGhpcy50eXBlKyI6IC5zdGVuY2lsTWFzayBoYXMgYmVlbiByZW1vdmVkLiBVc2UgLnN0ZW5jaWxGdW5jTWFzayBpbnN0ZWFkLiIpLHRoaXMuc3RlbmNpbEZ1bmNNYXNrfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS4iK3RoaXMudHlwZSsiOiAuc3RlbmNpbE1hc2sgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5zdGVuY2lsRnVuY01hc2sgaW5zdGVhZC4iKSx0aGlzLnN0ZW5jaWxGdW5jTWFzaz10fX0sdmVydGV4VGFuZ2VudHM6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuIit0aGlzLnR5cGUrIjogLnZlcnRleFRhbmdlbnRzIGhhcyBiZWVuIHJlbW92ZWQuIil9LHNldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuIit0aGlzLnR5cGUrIjogLnZlcnRleFRhbmdlbnRzIGhhcyBiZWVuIHJlbW92ZWQuIil9fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKE5jdC5wcm90b3R5cGUse2Rlcml2YXRpdmVzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5TaGFkZXJNYXRlcmlhbDogLmRlcml2YXRpdmVzIGhhcyBiZWVuIG1vdmVkIHRvIC5leHRlbnNpb25zLmRlcml2YXRpdmVzLiIpLHRoaXMuZXh0ZW5zaW9ucy5kZXJpdmF0aXZlc30sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuIFNoYWRlck1hdGVyaWFsOiAuZGVyaXZhdGl2ZXMgaGFzIGJlZW4gbW92ZWQgdG8gLmV4dGVuc2lvbnMuZGVyaXZhdGl2ZXMuIiksdGhpcy5leHRlbnNpb25zLmRlcml2YXRpdmVzPXR9fX0pLEhtdC5wcm90b3R5cGUuY2xlYXJUYXJnZXQ9ZnVuY3Rpb24odCxlLG4sbyl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuY2xlYXJUYXJnZXQoKSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgLnNldFJlbmRlclRhcmdldCgpIGFuZCAuY2xlYXIoKSBpbnN0ZWFkLiIpLHRoaXMuc2V0UmVuZGVyVGFyZ2V0KHQpLHRoaXMuY2xlYXIoZSxuLG8pfSxIbXQucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuYW5pbWF0ZSgpIGlzIG5vdyAuc2V0QW5pbWF0aW9uTG9vcCgpLiIpLHRoaXMuc2V0QW5pbWF0aW9uTG9vcCh0KX0sSG10LnByb3RvdHlwZS5nZXRDdXJyZW50UmVuZGVyVGFyZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmdldEN1cnJlbnRSZW5kZXJUYXJnZXQoKSBpcyBub3cgLmdldFJlbmRlclRhcmdldCgpLiIpLHRoaXMuZ2V0UmVuZGVyVGFyZ2V0KCl9LEhtdC5wcm90b3R5cGUuZ2V0TWF4QW5pc290cm9weT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5nZXRNYXhBbmlzb3Ryb3B5KCkgaXMgbm93IC5jYXBhYmlsaXRpZXMuZ2V0TWF4QW5pc290cm9weSgpLiIpLHRoaXMuY2FwYWJpbGl0aWVzLmdldE1heEFuaXNvdHJvcHkoKX0sSG10LnByb3RvdHlwZS5nZXRQcmVjaXNpb249ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2V0UHJlY2lzaW9uKCkgaXMgbm93IC5jYXBhYmlsaXRpZXMucHJlY2lzaW9uLiIpLHRoaXMuY2FwYWJpbGl0aWVzLnByZWNpc2lvbn0sSG10LnByb3RvdHlwZS5yZXNldEdMU3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAucmVzZXRHTFN0YXRlKCkgaXMgbm93IC5zdGF0ZS5yZXNldCgpLiIpLHRoaXMuc3RhdGUucmVzZXQoKX0sSG10LnByb3RvdHlwZS5zdXBwb3J0c0Zsb2F0VGV4dHVyZXM9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNGbG9hdFRleHR1cmVzKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ09FU190ZXh0dXJlX2Zsb2F0JyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIk9FU190ZXh0dXJlX2Zsb2F0Iil9LEhtdC5wcm90b3R5cGUuc3VwcG9ydHNIYWxmRmxvYXRUZXh0dXJlcz1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0hhbGZGbG9hdFRleHR1cmVzKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ09FU190ZXh0dXJlX2hhbGZfZmxvYXQnICkuIiksdGhpcy5leHRlbnNpb25zLmdldCgiT0VTX3RleHR1cmVfaGFsZl9mbG9hdCIpfSxIbXQucHJvdG90eXBlLnN1cHBvcnRzU3RhbmRhcmREZXJpdmF0aXZlcz1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c1N0YW5kYXJkRGVyaXZhdGl2ZXMoKSBpcyBub3cgLmV4dGVuc2lvbnMuZ2V0KCAnT0VTX3N0YW5kYXJkX2Rlcml2YXRpdmVzJyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIk9FU19zdGFuZGFyZF9kZXJpdmF0aXZlcyIpfSxIbXQucHJvdG90eXBlLnN1cHBvcnRzQ29tcHJlc3NlZFRleHR1cmVTM1RDPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzQ29tcHJlc3NlZFRleHR1cmVTM1RDKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ1dFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjJyApLiIpLHRoaXMuZXh0ZW5zaW9ucy5nZXQoIldFQkdMX2NvbXByZXNzZWRfdGV4dHVyZV9zM3RjIil9LEhtdC5wcm90b3R5cGUuc3VwcG9ydHNDb21wcmVzc2VkVGV4dHVyZVBWUlRDPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzQ29tcHJlc3NlZFRleHR1cmVQVlJUQygpIGlzIG5vdyAuZXh0ZW5zaW9ucy5nZXQoICdXRUJHTF9jb21wcmVzc2VkX3RleHR1cmVfcHZydGMnICkuIiksdGhpcy5leHRlbnNpb25zLmdldCgiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX3B2cnRjIil9LEhtdC5wcm90b3R5cGUuc3VwcG9ydHNCbGVuZE1pbk1heD1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zdXBwb3J0c0JsZW5kTWluTWF4KCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ0VYVF9ibGVuZF9taW5tYXgnICkuIiksdGhpcy5leHRlbnNpb25zLmdldCgiRVhUX2JsZW5kX21pbm1heCIpfSxIbXQucHJvdG90eXBlLnN1cHBvcnRzVmVydGV4VGV4dHVyZXM9ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc3VwcG9ydHNWZXJ0ZXhUZXh0dXJlcygpIGlzIG5vdyAuY2FwYWJpbGl0aWVzLnZlcnRleFRleHR1cmVzLiIpLHRoaXMuY2FwYWJpbGl0aWVzLnZlcnRleFRleHR1cmVzfSxIbXQucHJvdG90eXBlLnN1cHBvcnRzSW5zdGFuY2VkQXJyYXlzPWZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnN1cHBvcnRzSW5zdGFuY2VkQXJyYXlzKCkgaXMgbm93IC5leHRlbnNpb25zLmdldCggJ0FOR0xFX2luc3RhbmNlZF9hcnJheXMnICkuIiksdGhpcy5leHRlbnNpb25zLmdldCgiQU5HTEVfaW5zdGFuY2VkX2FycmF5cyIpfSxIbXQucHJvdG90eXBlLmVuYWJsZVNjaXNzb3JUZXN0PWZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmVuYWJsZVNjaXNzb3JUZXN0KCkgaXMgbm93IC5zZXRTY2lzc29yVGVzdCgpLiIpLHRoaXMuc2V0U2Npc3NvclRlc3QodCl9LEhtdC5wcm90b3R5cGUuaW5pdE1hdGVyaWFsPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuaW5pdE1hdGVyaWFsKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sSG10LnByb3RvdHlwZS5hZGRQcmVQbHVnaW49ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5hZGRQcmVQbHVnaW4oKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxIbXQucHJvdG90eXBlLmFkZFBvc3RQbHVnaW49ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5hZGRQb3N0UGx1Z2luKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sSG10LnByb3RvdHlwZS51cGRhdGVTaGFkb3dNYXA9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC51cGRhdGVTaGFkb3dNYXAoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxIbXQucHJvdG90eXBlLnNldEZhY2VDdWxsaW5nPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2V0RmFjZUN1bGxpbmcoKSBoYXMgYmVlbiByZW1vdmVkLiIpfSxIbXQucHJvdG90eXBlLmFsbG9jVGV4dHVyZVVuaXQ9ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5hbGxvY1RleHR1cmVVbml0KCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sSG10LnByb3RvdHlwZS5zZXRUZXh0dXJlPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2V0VGV4dHVyZSgpIGhhcyBiZWVuIHJlbW92ZWQuIil9LEhtdC5wcm90b3R5cGUuc2V0VGV4dHVyZTJEPWZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2V0VGV4dHVyZTJEKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sSG10LnByb3RvdHlwZS5zZXRUZXh0dXJlQ3ViZT1mdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNldFRleHR1cmVDdWJlKCkgaGFzIGJlZW4gcmVtb3ZlZC4iKX0sSG10LnByb3RvdHlwZS5nZXRBY3RpdmVNaXBNYXBMZXZlbD1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5nZXRBY3RpdmVNaXBNYXBMZXZlbCgpIGlzIG5vdyAuZ2V0QWN0aXZlTWlwbWFwTGV2ZWwoKS4iKSx0aGlzLmdldEFjdGl2ZU1pcG1hcExldmVsKCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEhtdC5wcm90b3R5cGUse3NoYWRvd01hcEVuYWJsZWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNoYWRvd01hcC5lbmFibGVkfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwRW5hYmxlZCBpcyBub3cgLnNoYWRvd01hcC5lbmFibGVkLiIpLHRoaXMuc2hhZG93TWFwLmVuYWJsZWQ9dH19LHNoYWRvd01hcFR5cGU6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNoYWRvd01hcC50eXBlfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwVHlwZSBpcyBub3cgLnNoYWRvd01hcC50eXBlLiIpLHRoaXMuc2hhZG93TWFwLnR5cGU9dH19LHNoYWRvd01hcEN1bGxGYWNlOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXBDdWxsRmFjZSBoYXMgYmVlbiByZW1vdmVkLiBTZXQgTWF0ZXJpYWwuc2hhZG93U2lkZSBpbnN0ZWFkLiIpfSxzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXBDdWxsRmFjZSBoYXMgYmVlbiByZW1vdmVkLiBTZXQgTWF0ZXJpYWwuc2hhZG93U2lkZSBpbnN0ZWFkLiIpfX0sY29udGV4dDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmNvbnRleHQgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIC5nZXRDb250ZXh0KCkgaW5zdGVhZC4iKSx0aGlzLmdldENvbnRleHQoKX19LHZyOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAudnIgaGFzIGJlZW4gcmVuYW1lZCB0byAueHIiKSx0aGlzLnhyfX0sZ2FtbWFJbnB1dDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLmdhbW1hSW5wdXQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IHRoZSBlbmNvZGluZyBmb3IgdGV4dHVyZXMgdmlhIFRleHR1cmUuZW5jb2RpbmcgaW5zdGVhZC4iKSwhMX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2FtbWFJbnB1dCBoYXMgYmVlbiByZW1vdmVkLiBTZXQgdGhlIGVuY29kaW5nIGZvciB0ZXh0dXJlcyB2aWEgVGV4dHVyZS5lbmNvZGluZyBpbnN0ZWFkLiIpfX0sZ2FtbWFPdXRwdXQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5nYW1tYU91dHB1dCBoYXMgYmVlbiByZW1vdmVkLiBTZXQgV2ViR0xSZW5kZXJlci5vdXRwdXRFbmNvZGluZyBpbnN0ZWFkLiIpLCExfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuZ2FtbWFPdXRwdXQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IFdlYkdMUmVuZGVyZXIub3V0cHV0RW5jb2RpbmcgaW5zdGVhZC4iKSx0aGlzLm91dHB1dEVuY29kaW5nPSEwPT09dD8kcnQ6UXJ0fX0sdG9uZU1hcHBpbmdXaGl0ZVBvaW50OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAudG9uZU1hcHBpbmdXaGl0ZVBvaW50IGhhcyBiZWVuIHJlbW92ZWQuIiksMX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAudG9uZU1hcHBpbmdXaGl0ZVBvaW50IGhhcyBiZWVuIHJlbW92ZWQuIil9fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGttdC5wcm90b3R5cGUse2N1bGxGYWNlOntnZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXAuY3VsbEZhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLmN1bGxGYWNlIGhhcyBiZWVuIHJlbW92ZWQuIFNldCBNYXRlcmlhbC5zaGFkb3dTaWRlIGluc3RlYWQuIil9fSxyZW5kZXJSZXZlcnNlU2lkZWQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcC5yZW5kZXJSZXZlcnNlU2lkZWQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX0sc2V0OmZ1bmN0aW9uKCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlcmVyOiAuc2hhZG93TWFwLnJlbmRlclJldmVyc2VTaWRlZCBoYXMgYmVlbiByZW1vdmVkLiBTZXQgTWF0ZXJpYWwuc2hhZG93U2lkZSBpbnN0ZWFkLiIpfX0scmVuZGVyU2luZ2xlU2lkZWQ6e2dldDpmdW5jdGlvbigpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJlcjogLnNoYWRvd01hcC5yZW5kZXJTaW5nbGVTaWRlZCBoYXMgYmVlbiByZW1vdmVkLiBTZXQgTWF0ZXJpYWwuc2hhZG93U2lkZSBpbnN0ZWFkLiIpfSxzZXQ6ZnVuY3Rpb24oKXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyZXI6IC5zaGFkb3dNYXAucmVuZGVyU2luZ2xlU2lkZWQgaGFzIGJlZW4gcmVtb3ZlZC4gU2V0IE1hdGVyaWFsLnNoYWRvd1NpZGUgaW5zdGVhZC4iKX19fSksT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoeHN0LnByb3RvdHlwZSx7d3JhcFM6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAud3JhcFMgaXMgbm93IC50ZXh0dXJlLndyYXBTLiIpLHRoaXMudGV4dHVyZS53cmFwU30sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC53cmFwUyBpcyBub3cgLnRleHR1cmUud3JhcFMuIiksdGhpcy50ZXh0dXJlLndyYXBTPXR9fSx3cmFwVDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC53cmFwVCBpcyBub3cgLnRleHR1cmUud3JhcFQuIiksdGhpcy50ZXh0dXJlLndyYXBUfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLndyYXBUIGlzIG5vdyAudGV4dHVyZS53cmFwVC4iKSx0aGlzLnRleHR1cmUud3JhcFQ9dH19LG1hZ0ZpbHRlcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5tYWdGaWx0ZXIgaXMgbm93IC50ZXh0dXJlLm1hZ0ZpbHRlci4iKSx0aGlzLnRleHR1cmUubWFnRmlsdGVyfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLm1hZ0ZpbHRlciBpcyBub3cgLnRleHR1cmUubWFnRmlsdGVyLiIpLHRoaXMudGV4dHVyZS5tYWdGaWx0ZXI9dH19LG1pbkZpbHRlcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5taW5GaWx0ZXIgaXMgbm93IC50ZXh0dXJlLm1pbkZpbHRlci4iKSx0aGlzLnRleHR1cmUubWluRmlsdGVyfSxzZXQ6ZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLm1pbkZpbHRlciBpcyBub3cgLnRleHR1cmUubWluRmlsdGVyLiIpLHRoaXMudGV4dHVyZS5taW5GaWx0ZXI9dH19LGFuaXNvdHJvcHk6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuYW5pc290cm9weSBpcyBub3cgLnRleHR1cmUuYW5pc290cm9weS4iKSx0aGlzLnRleHR1cmUuYW5pc290cm9weX0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5hbmlzb3Ryb3B5IGlzIG5vdyAudGV4dHVyZS5hbmlzb3Ryb3B5LiIpLHRoaXMudGV4dHVyZS5hbmlzb3Ryb3B5PXR9fSxvZmZzZXQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAub2Zmc2V0IGlzIG5vdyAudGV4dHVyZS5vZmZzZXQuIiksdGhpcy50ZXh0dXJlLm9mZnNldH0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5vZmZzZXQgaXMgbm93IC50ZXh0dXJlLm9mZnNldC4iKSx0aGlzLnRleHR1cmUub2Zmc2V0PXR9fSxyZXBlYXQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAucmVwZWF0IGlzIG5vdyAudGV4dHVyZS5yZXBlYXQuIiksdGhpcy50ZXh0dXJlLnJlcGVhdH0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5yZXBlYXQgaXMgbm93IC50ZXh0dXJlLnJlcGVhdC4iKSx0aGlzLnRleHR1cmUucmVwZWF0PXR9fSxmb3JtYXQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuZm9ybWF0IGlzIG5vdyAudGV4dHVyZS5mb3JtYXQuIiksdGhpcy50ZXh0dXJlLmZvcm1hdH0sc2V0OmZ1bmN0aW9uKHQpe2NvbnNvbGUud2FybigiVEhSRUUuV2ViR0xSZW5kZXJUYXJnZXQ6IC5mb3JtYXQgaXMgbm93IC50ZXh0dXJlLmZvcm1hdC4iKSx0aGlzLnRleHR1cmUuZm9ybWF0PXR9fSx0eXBlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLnR5cGUgaXMgbm93IC50ZXh0dXJlLnR5cGUuIiksdGhpcy50ZXh0dXJlLnR5cGV9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAudHlwZSBpcyBub3cgLnRleHR1cmUudHlwZS4iKSx0aGlzLnRleHR1cmUudHlwZT10fX0sZ2VuZXJhdGVNaXBtYXBzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCJUSFJFRS5XZWJHTFJlbmRlclRhcmdldDogLmdlbmVyYXRlTWlwbWFwcyBpcyBub3cgLnRleHR1cmUuZ2VuZXJhdGVNaXBtYXBzLiIpLHRoaXMudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHN9LHNldDpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLldlYkdMUmVuZGVyVGFyZ2V0OiAuZ2VuZXJhdGVNaXBtYXBzIGlzIG5vdyAudGV4dHVyZS5nZW5lcmF0ZU1pcG1hcHMuIiksdGhpcy50ZXh0dXJlLmdlbmVyYXRlTWlwbWFwcz10fX19KSxjbGFzcyBleHRlbmRzIFNsdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMudHlwZT0iQXVkaW8iLHRoaXMubGlzdGVuZXI9dCx0aGlzLmNvbnRleHQ9dC5jb250ZXh0LHRoaXMuZ2Fpbj10aGlzLmNvbnRleHQuY3JlYXRlR2FpbigpLHRoaXMuZ2Fpbi5jb25uZWN0KHQuZ2V0SW5wdXQoKSksdGhpcy5hdXRvcGxheT0hMSx0aGlzLmJ1ZmZlcj1udWxsLHRoaXMuZGV0dW5lPTAsdGhpcy5sb29wPSExLHRoaXMubG9vcFN0YXJ0PTAsdGhpcy5sb29wRW5kPTAsdGhpcy5vZmZzZXQ9MCx0aGlzLmR1cmF0aW9uPXZvaWQgMCx0aGlzLnBsYXliYWNrUmF0ZT0xLHRoaXMuaXNQbGF5aW5nPSExLHRoaXMuaGFzUGxheWJhY2tDb250cm9sPSEwLHRoaXMuc291cmNlPW51bGwsdGhpcy5zb3VyY2VUeXBlPSJlbXB0eSIsdGhpcy5fc3RhcnRlZEF0PTAsdGhpcy5fcHJvZ3Jlc3M9MCx0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5maWx0ZXJzPVtdfWdldE91dHB1dCgpe3JldHVybiB0aGlzLmdhaW59c2V0Tm9kZVNvdXJjZSh0KXtyZXR1cm4gdGhpcy5oYXNQbGF5YmFja0NvbnRyb2w9ITEsdGhpcy5zb3VyY2VUeXBlPSJhdWRpb05vZGUiLHRoaXMuc291cmNlPXQsdGhpcy5jb25uZWN0KCksdGhpc31zZXRNZWRpYUVsZW1lbnRTb3VyY2UodCl7cmV0dXJuIHRoaXMuaGFzUGxheWJhY2tDb250cm9sPSExLHRoaXMuc291cmNlVHlwZT0ibWVkaWFOb2RlIix0aGlzLnNvdXJjZT10aGlzLmNvbnRleHQuY3JlYXRlTWVkaWFFbGVtZW50U291cmNlKHQpLHRoaXMuY29ubmVjdCgpLHRoaXN9c2V0TWVkaWFTdHJlYW1Tb3VyY2UodCl7cmV0dXJuIHRoaXMuaGFzUGxheWJhY2tDb250cm9sPSExLHRoaXMuc291cmNlVHlwZT0ibWVkaWFTdHJlYW1Ob2RlIix0aGlzLnNvdXJjZT10aGlzLmNvbnRleHQuY3JlYXRlTWVkaWFTdHJlYW1Tb3VyY2UodCksdGhpcy5jb25uZWN0KCksdGhpc31zZXRCdWZmZXIodCl7cmV0dXJuIHRoaXMuYnVmZmVyPXQsdGhpcy5zb3VyY2VUeXBlPSJidWZmZXIiLHRoaXMuYXV0b3BsYXkmJnRoaXMucGxheSgpLHRoaXN9cGxheSh0PTApe2lmKCEwPT09dGhpcy5pc1BsYXlpbmcpcmV0dXJuIHZvaWQgY29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogQXVkaW8gaXMgYWxyZWFkeSBwbGF5aW5nLiIpO2lmKCExPT09dGhpcy5oYXNQbGF5YmFja0NvbnRyb2wpcmV0dXJuIHZvaWQgY29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKTt0aGlzLl9zdGFydGVkQXQ9dGhpcy5jb250ZXh0LmN1cnJlbnRUaW1lK3Q7Y29uc3QgZT10aGlzLmNvbnRleHQuY3JlYXRlQnVmZmVyU291cmNlKCk7cmV0dXJuIGUuYnVmZmVyPXRoaXMuYnVmZmVyLGUubG9vcD10aGlzLmxvb3AsZS5sb29wU3RhcnQ9dGhpcy5sb29wU3RhcnQsZS5sb29wRW5kPXRoaXMubG9vcEVuZCxlLm9uZW5kZWQ9dGhpcy5vbkVuZGVkLmJpbmQodGhpcyksZS5zdGFydCh0aGlzLl9zdGFydGVkQXQsdGhpcy5fcHJvZ3Jlc3MrdGhpcy5vZmZzZXQsdGhpcy5kdXJhdGlvbiksdGhpcy5pc1BsYXlpbmc9ITAsdGhpcy5zb3VyY2U9ZSx0aGlzLnNldERldHVuZSh0aGlzLmRldHVuZSksdGhpcy5zZXRQbGF5YmFja1JhdGUodGhpcy5wbGF5YmFja1JhdGUpLHRoaXMuY29ubmVjdCgpfXBhdXNlKCl7aWYoITEhPT10aGlzLmhhc1BsYXliYWNrQ29udHJvbClyZXR1cm4hMD09PXRoaXMuaXNQbGF5aW5nJiYodGhpcy5fcHJvZ3Jlc3MrPU1hdGgubWF4KHRoaXMuY29udGV4dC5jdXJyZW50VGltZS10aGlzLl9zdGFydGVkQXQsMCkqdGhpcy5wbGF5YmFja1JhdGUsITA9PT10aGlzLmxvb3AmJih0aGlzLl9wcm9ncmVzcz10aGlzLl9wcm9ncmVzcyUodGhpcy5kdXJhdGlvbnx8dGhpcy5idWZmZXIuZHVyYXRpb24pKSx0aGlzLnNvdXJjZS5zdG9wKCksdGhpcy5zb3VyY2Uub25lbmRlZD1udWxsLHRoaXMuaXNQbGF5aW5nPSExKSx0aGlzO2NvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIil9c3RvcCgpe2lmKCExIT09dGhpcy5oYXNQbGF5YmFja0NvbnRyb2wpcmV0dXJuIHRoaXMuX3Byb2dyZXNzPTAsdGhpcy5zb3VyY2Uuc3RvcCgpLHRoaXMuc291cmNlLm9uZW5kZWQ9bnVsbCx0aGlzLmlzUGxheWluZz0hMSx0aGlzO2NvbnNvbGUud2FybigiVEhSRUUuQXVkaW86IHRoaXMgQXVkaW8gaGFzIG5vIHBsYXliYWNrIGNvbnRyb2wuIil9Y29ubmVjdCgpe2lmKHRoaXMuZmlsdGVycy5sZW5ndGg+MCl7dGhpcy5zb3VyY2UuY29ubmVjdCh0aGlzLmZpbHRlcnNbMF0pO2ZvcihsZXQgdD0xLGU9dGhpcy5maWx0ZXJzLmxlbmd0aDt0PGU7dCsrKXRoaXMuZmlsdGVyc1t0LTFdLmNvbm5lY3QodGhpcy5maWx0ZXJzW3RdKTt0aGlzLmZpbHRlcnNbdGhpcy5maWx0ZXJzLmxlbmd0aC0xXS5jb25uZWN0KHRoaXMuZ2V0T3V0cHV0KCkpfWVsc2UgdGhpcy5zb3VyY2UuY29ubmVjdCh0aGlzLmdldE91dHB1dCgpKTtyZXR1cm4gdGhpcy5fY29ubmVjdGVkPSEwLHRoaXN9ZGlzY29ubmVjdCgpe2lmKHRoaXMuZmlsdGVycy5sZW5ndGg+MCl7dGhpcy5zb3VyY2UuZGlzY29ubmVjdCh0aGlzLmZpbHRlcnNbMF0pO2ZvcihsZXQgdD0xLGU9dGhpcy5maWx0ZXJzLmxlbmd0aDt0PGU7dCsrKXRoaXMuZmlsdGVyc1t0LTFdLmRpc2Nvbm5lY3QodGhpcy5maWx0ZXJzW3RdKTt0aGlzLmZpbHRlcnNbdGhpcy5maWx0ZXJzLmxlbmd0aC0xXS5kaXNjb25uZWN0KHRoaXMuZ2V0T3V0cHV0KCkpfWVsc2UgdGhpcy5zb3VyY2UuZGlzY29ubmVjdCh0aGlzLmdldE91dHB1dCgpKTtyZXR1cm4gdGhpcy5fY29ubmVjdGVkPSExLHRoaXN9Z2V0RmlsdGVycygpe3JldHVybiB0aGlzLmZpbHRlcnN9c2V0RmlsdGVycyh0KXtyZXR1cm4gdHx8KHQ9W10pLCEwPT09dGhpcy5fY29ubmVjdGVkPyh0aGlzLmRpc2Nvbm5lY3QoKSx0aGlzLmZpbHRlcnM9dC5zbGljZSgpLHRoaXMuY29ubmVjdCgpKTp0aGlzLmZpbHRlcnM9dC5zbGljZSgpLHRoaXN9c2V0RGV0dW5lKHQpe2lmKHRoaXMuZGV0dW5lPXQsdm9pZCAwIT09dGhpcy5zb3VyY2UuZGV0dW5lKXJldHVybiEwPT09dGhpcy5pc1BsYXlpbmcmJnRoaXMuc291cmNlLmRldHVuZS5zZXRUYXJnZXRBdFRpbWUodGhpcy5kZXR1bmUsdGhpcy5jb250ZXh0LmN1cnJlbnRUaW1lLC4wMSksdGhpc31nZXREZXR1bmUoKXtyZXR1cm4gdGhpcy5kZXR1bmV9Z2V0RmlsdGVyKCl7cmV0dXJuIHRoaXMuZ2V0RmlsdGVycygpWzBdfXNldEZpbHRlcih0KXtyZXR1cm4gdGhpcy5zZXRGaWx0ZXJzKHQ/W3RdOltdKX1zZXRQbGF5YmFja1JhdGUodCl7aWYoITEhPT10aGlzLmhhc1BsYXliYWNrQ29udHJvbClyZXR1cm4gdGhpcy5wbGF5YmFja1JhdGU9dCwhMD09PXRoaXMuaXNQbGF5aW5nJiZ0aGlzLnNvdXJjZS5wbGF5YmFja1JhdGUuc2V0VGFyZ2V0QXRUaW1lKHRoaXMucGxheWJhY2tSYXRlLHRoaXMuY29udGV4dC5jdXJyZW50VGltZSwuMDEpLHRoaXM7Y29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKX1nZXRQbGF5YmFja1JhdGUoKXtyZXR1cm4gdGhpcy5wbGF5YmFja1JhdGV9b25FbmRlZCgpe3RoaXMuaXNQbGF5aW5nPSExfWdldExvb3AoKXtyZXR1cm4hMT09PXRoaXMuaGFzUGxheWJhY2tDb250cm9sPyhjb25zb2xlLndhcm4oIlRIUkVFLkF1ZGlvOiB0aGlzIEF1ZGlvIGhhcyBubyBwbGF5YmFjayBjb250cm9sLiIpLCExKTp0aGlzLmxvb3B9c2V0TG9vcCh0KXtpZighMSE9PXRoaXMuaGFzUGxheWJhY2tDb250cm9sKXJldHVybiB0aGlzLmxvb3A9dCwhMD09PXRoaXMuaXNQbGF5aW5nJiYodGhpcy5zb3VyY2UubG9vcD10aGlzLmxvb3ApLHRoaXM7Y29uc29sZS53YXJuKCJUSFJFRS5BdWRpbzogdGhpcyBBdWRpbyBoYXMgbm8gcGxheWJhY2sgY29udHJvbC4iKX1zZXRMb29wU3RhcnQodCl7cmV0dXJuIHRoaXMubG9vcFN0YXJ0PXQsdGhpc31zZXRMb29wRW5kKHQpe3JldHVybiB0aGlzLmxvb3BFbmQ9dCx0aGlzfWdldFZvbHVtZSgpe3JldHVybiB0aGlzLmdhaW4uZ2Fpbi52YWx1ZX1zZXRWb2x1bWUodCl7cmV0dXJuIHRoaXMuZ2Fpbi5nYWluLnNldFRhcmdldEF0VGltZSh0LHRoaXMuY29udGV4dC5jdXJyZW50VGltZSwuMDEpLHRoaXN9fS5wcm90b3R5cGUubG9hZD1mdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlRIUkVFLkF1ZGlvOiAubG9hZCBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgVEhSRUUuQXVkaW9Mb2FkZXIgaW5zdGVhZC4iKTtjb25zdCBlPXRoaXM7cmV0dXJuKG5ldyB1Z3QpLmxvYWQodCwoZnVuY3Rpb24odCl7ZS5zZXRCdWZmZXIodCl9KSksdGhpc30sRmN0LnByb3RvdHlwZS51cGRhdGVDdWJlTWFwPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQ3ViZUNhbWVyYTogLnVwZGF0ZUN1YmVNYXAoKSBpcyBub3cgLnVwZGF0ZSgpLiIpLHRoaXMudXBkYXRlKHQsZSl9LEZjdC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIGNvbnNvbGUud2FybigiVEhSRUUuQ3ViZUNhbWVyYTogLmNsZWFyKCkgaXMgbm93IC5yZW5kZXJUYXJnZXQuY2xlYXIoKS4iKSx0aGlzLnJlbmRlclRhcmdldC5jbGVhcih0LGUsbixvKX0seXN0LmNyb3NzT3JpZ2luPXZvaWQgMCx5c3QubG9hZFRleHR1cmU9ZnVuY3Rpb24odCxlLG4sbyl7Y29uc29sZS53YXJuKCJUSFJFRS5JbWFnZVV0aWxzLmxvYWRUZXh0dXJlIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIFVzZSBUSFJFRS5UZXh0dXJlTG9hZGVyKCkgaW5zdGVhZC4iKTtjb25zdCBpPW5ldyBYdXQ7aS5zZXRDcm9zc09yaWdpbih0aGlzLmNyb3NzT3JpZ2luKTtjb25zdCBhPWkubG9hZCh0LG4sdm9pZCAwLG8pO3JldHVybiBlJiYoYS5tYXBwaW5nPWUpLGF9LHlzdC5sb2FkVGV4dHVyZUN1YmU9ZnVuY3Rpb24odCxlLG4sbyl7Y29uc29sZS53YXJuKCJUSFJFRS5JbWFnZVV0aWxzLmxvYWRUZXh0dXJlQ3ViZSBoYXMgYmVlbiBkZXByZWNhdGVkLiBVc2UgVEhSRUUuQ3ViZVRleHR1cmVMb2FkZXIoKSBpbnN0ZWFkLiIpO2NvbnN0IGk9bmV3IFp1dDtpLnNldENyb3NzT3JpZ2luKHRoaXMuY3Jvc3NPcmlnaW4pO2NvbnN0IGE9aS5sb2FkKHQsbix2b2lkIDAsbyk7cmV0dXJuIGUmJihhLm1hcHBpbmc9ZSksYX0seXN0LmxvYWRDb21wcmVzc2VkVGV4dHVyZT1mdW5jdGlvbigpe2NvbnNvbGUuZXJyb3IoIlRIUkVFLkltYWdlVXRpbHMubG9hZENvbXByZXNzZWRUZXh0dXJlIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSBUSFJFRS5ERFNMb2FkZXIgaW5zdGVhZC4iKX0seXN0LmxvYWRDb21wcmVzc2VkVGV4dHVyZUN1YmU9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCJUSFJFRS5JbWFnZVV0aWxzLmxvYWRDb21wcmVzc2VkVGV4dHVyZUN1YmUgaGFzIGJlZW4gcmVtb3ZlZC4gVXNlIFRIUkVFLkREU0xvYWRlciBpbnN0ZWFkLiIpfSwidW5kZWZpbmVkIiE9dHlwZW9mIF9fVEhSRUVfREVWVE9PTFNfXyYmX19USFJFRV9ERVZUT09MU19fLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZWdpc3RlciIse2RldGFpbDp7cmV2aXNpb246IjEzMSJ9fSkpLCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYod2luZG93Ll9fVEhSRUVfXz9jb25zb2xlLndhcm4oIldBUk5JTkc6IE11bHRpcGxlIGluc3RhbmNlcyBvZiBUaHJlZS5qcyBiZWluZyBpbXBvcnRlZC4iKTp3aW5kb3cuX19USFJFRV9fPSIxMzEiKSwoZnVuY3Rpb24odCl7dFt0LkNJUkNMRT0wXT0iQ0lSQ0xFIix0W3QuTElORT0xXT0iTElORSIsdFt0LlRSSUFOR0xFPTJdPSJUUklBTkdMRSIsdFt0LlRSQVBFWk9JRD0zXT0iVFJBUEVaT0lEIn0pKE5ndHx8KE5ndD17fSkpO2NsYXNzIExndHtjb25zdHJ1Y3Rvcih0LGUsbixvKXt0aGlzLmNvb3JkaW5hdG9yPWUsdGhpcy5zY2VuZT1uZXcgRm10LHRoaXMuYmFja2dyb3VuZENvbG9yPSIjZmZmIixDcnQoKSYmdCBpbnN0YW5jZW9mIE9mZnNjcmVlbkNhbnZhcyYmKHQuc3R5bGU9dC5zdHlsZXx8e30pLG8mJnQuYWRkRXZlbnRMaXN0ZW5lcigid2ViZ2xjb250ZXh0bG9zdCIsbyksdGhpcy5yZW5kZXJlcj1uZXcgSG10KHtjYW52YXM6dCxjb250ZXh0OnQuZ2V0Q29udGV4dCgid2ViZ2wyIix7YW50aWFsaWFzOiEwLHByZWNpc2lvbjoiaGlnaHAiLGFscGhhOiEwfSl9KSx0aGlzLnJlbmRlcmVyLnNldFBpeGVsUmF0aW8obil9b25SZXNpemUodCl7dGhpcy5yZW5kZXJlci5zZXRTaXplKHQud2lkdGgsdC5oZWlnaHQpfWRlc3Ryb3lPYmplY3QodCl7Y29uc3QgZT10Lm9iajNkO2lmKHRoaXMuc2NlbmUucmVtb3ZlKGUpLGUgaW5zdGFuY2VvZiBTY3Qpe2UuZ2VvbWV0cnkuZGlzcG9zZSgpO2NvbnN0IHQ9QXJyYXkuaXNBcnJheShlLm1hdGVyaWFsKT9lLm1hdGVyaWFsOltlLm1hdGVyaWFsXTtmb3IoY29uc3QgZSBvZiB0KWUuZGlzcG9zZSgpfX1zZXRVc2VEYXJrTW9kZSh0KXt0aGlzLmJhY2tncm91bmRDb2xvcj10PyIjMzAzMDMwIjoiI2ZmZiJ9Y3JlYXRlT3JVcGRhdGVMaW5lT2JqZWN0KHQsZSxuKXt2YXIgbztpZighdCYmIW4udmlzaWJsZSlyZXR1cm4gbnVsbDtjb25zdHt2aXNpYmxlOmksd2lkdGg6YX09bjtpZighdCl7Y29uc3QgdD1UZ3QodGhpcy5iYWNrZ3JvdW5kQ29sb3Isbi5jb2xvcixudWxsIT09KG89bi5vcGFjaXR5KSYmdm9pZCAwIT09bz9vOjEpLHI9bmV3IGRjdCxzPW5ldyBmZnQoe2NvbG9yOnR9KSxsPW5ldyBTY3QocixzKTtyZXR1cm4gcy52aXNpYmxlPWksSGd0KHIsZSxhKSx0aGlzLnNjZW5lLmFkZChsKSx7dHlwZTpOZ3QuTElORSxkYXRhOmUsb2JqM2Q6bCx3aWR0aDphfX1jb25zdHtkYXRhOnIsb2JqM2Q6cyx3aWR0aDpsfT10O3JldHVybiBGZ3QodGhpcy5iYWNrZ3JvdW5kQ29sb3IscywodD0+KGE9PT1sJiZyJiZNcnQocixlKXx8SGd0KHQsZSxhKSx0KSksbik/e3R5cGU6Tmd0LkxJTkUsZGF0YTplLG9iajNkOnMsd2lkdGg6YX06dH1jcmVhdGVNZXNoKHQsZSl7aWYoIWUudmlzaWJsZSlyZXR1cm4gbnVsbDtjb25zdHt2aXNpYmxlOm4sY29sb3I6byxvcGFjaXR5Oml9PWUsYT1UZ3QodGhpcy5iYWNrZ3JvdW5kQ29sb3IsbyxudWxsIT1pP2k6MSkscj1uZXcgWGx0KHtjb2xvcjphLHZpc2libGU6bn0pO3JldHVybiBuZXcgU2N0KHQscil9Y3JlYXRlT3JVcGRhdGVUcmlhbmdsZU9iamVjdCh0LGUsbil7Y29uc3R7c2l6ZTpvfT1uLGk9bypNYXRoLnNxcnQoMykvMixhPW5ldyBGbG9hdDMyQXJyYXkoW2UueC1vLzIsZS55LWkvMyxlLngrby8yLGUueS1pLzMsZS54LGUueSsyKmkvM10pO2lmKCF0KXtjb25zdCB0PW5ldyBkY3Q7SWd0KHQsYSk7Y29uc3Qgbz10aGlzLmNyZWF0ZU1lc2godCxuKTtyZXR1cm4gbnVsbD09PW8/bnVsbDoodGhpcy5zY2VuZS5hZGQobykse3R5cGU6Tmd0LlRSSUFOR0xFLGRhdGE6ZSxvYmozZDpvfSl9cmV0dXJuIEZndCh0aGlzLmJhY2tncm91bmRDb2xvcix0Lm9iajNkLCh0PT4oSWd0KHQsYSksdCkpLG4pP3t0eXBlOk5ndC5UUklBTkdMRSxkYXRhOmUsb2JqM2Q6dC5vYmozZH06dH1jcmVhdGVPclVwZGF0ZUNpcmNsZU9iamVjdCh0LGUsbil7Y29uc3R7cmFkaXVzOm99PW4saT1uZXcgRGZ0KG4ucmFkaXVzKTtpZighdCl7Y29uc3QgdD10aGlzLmNyZWF0ZU1lc2goaSxuKTtyZXR1cm4gbnVsbD09PXQ/bnVsbDoodC5wb3NpdGlvbi5zZXQoZS54LGUueSwwKSx0aGlzLnNjZW5lLmFkZCh0KSx7dHlwZTpOZ3QuQ0lSQ0xFLGRhdGE6e2xvYzplLHJhZGl1czpvfSxvYmozZDp0fSl9cmV0dXJuIEZndCh0aGlzLmJhY2tncm91bmRDb2xvcix0Lm9iajNkLCgoKT0+aSksbik/KHQub2JqM2QucG9zaXRpb24uc2V0KGUueCxlLnksMCkse3R5cGU6Tmd0LkNJUkNMRSxkYXRhOntsb2M6ZSxyYWRpdXM6b30sb2JqM2Q6dC5vYmozZH0pOnR9Y3JlYXRlT3JVcGRhdGVUcmFwZXpvaWRPYmplY3QodCxlLG4sbyl7aWYoZS55IT09bi55KXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnB1dCBlcnJvcjogc3RhcnQueSAhPSBlbmQueS4iKTtjb25zdHthbHRpdHVkZTppfT1vLGE9Mi9NYXRoLnNxcnQoMykqaSxyPW5ldyBRdXQoW25ldyBnc3QoZS54LWEvMixlLnktaS8yKSxuZXcgZ3N0KGUueCxlLnkraS8yKSxuZXcgZ3N0KG4ueCxuLnkraS8yKSxuZXcgZ3N0KG4ueCthLzIsbi55LWkvMildKTtyLmF1dG9DbG9zZT0hMDtjb25zdCBzPW5ldyBQdXQocik7aWYoIXQpe2NvbnN0IHQ9dGhpcy5jcmVhdGVNZXNoKHMsbyk7cmV0dXJuIG51bGw9PT10P251bGw6KHRoaXMuc2NlbmUuYWRkKHQpLHt0eXBlOk5ndC5UUkFQRVpPSUQsZGF0YTpbZSxuXSxvYmozZDp0fSl9cmV0dXJuIEZndCh0aGlzLmJhY2tncm91bmRDb2xvcix0Lm9iajNkLCgoKT0+cyksbyk/e3R5cGU6Tmd0LlRSQVBFWk9JRCxkYXRhOltlLG5dLG9iajNkOnQub2JqM2R9OnR9Zmx1c2goKXt0aGlzLnJlbmRlcmVyLnJlbmRlcih0aGlzLnNjZW5lLHRoaXMuY29vcmRpbmF0b3IuZ2V0Q2FtZXJhKCkpfWRpc3Bvc2UoKXt0aGlzLnJlbmRlcmVyLmRpc3Bvc2UoKX19Y2xhc3MgQmd0e2NvbnN0cnVjdG9yKHQsZSl7dGhpcy5yZW5kZXJDYWNoZT10LHRoaXMucmVuZGVyZXI9ZX1zZXRMaW5lKHQsZSxuKXtjb25zdCBvPXRoaXMucmVuZGVyZXIuY3JlYXRlT3JVcGRhdGVMaW5lT2JqZWN0KHRoaXMucmVuZGVyQ2FjaGUuZ2V0RnJvbVByZXZpb3VzRnJhbWUodCksZSxuKTtvJiZ0aGlzLnJlbmRlckNhY2hlLnNldFRvQ3VycmVudEZyYW1lKHQsbyl9c2V0VHJpYW5nbGUodCxlLG4pe2NvbnN0IG89dGhpcy5yZW5kZXJlci5jcmVhdGVPclVwZGF0ZVRyaWFuZ2xlT2JqZWN0KHRoaXMucmVuZGVyQ2FjaGUuZ2V0RnJvbVByZXZpb3VzRnJhbWUodCksZSxuKTtvJiZ0aGlzLnJlbmRlckNhY2hlLnNldFRvQ3VycmVudEZyYW1lKHQsbyl9c2V0Q2lyY2xlKHQsZSxuKXtjb25zdCBvPXRoaXMucmVuZGVyZXIuY3JlYXRlT3JVcGRhdGVDaXJjbGVPYmplY3QodGhpcy5yZW5kZXJDYWNoZS5nZXRGcm9tUHJldmlvdXNGcmFtZSh0KSxlLG4pO28mJnRoaXMucmVuZGVyQ2FjaGUuc2V0VG9DdXJyZW50RnJhbWUodCxvKX1zZXRUcmFwZXpvaWQodCxlLG4sbyl7Y29uc3QgaT10aGlzLnJlbmRlcmVyLmNyZWF0ZU9yVXBkYXRlVHJhcGV6b2lkT2JqZWN0KHRoaXMucmVuZGVyQ2FjaGUuZ2V0RnJvbVByZXZpb3VzRnJhbWUodCksZSxuLG8pO2kmJnRoaXMucmVuZGVyQ2FjaGUuc2V0VG9DdXJyZW50RnJhbWUodCxpKX19Y2xhc3MgVmd0e2NvbnN0cnVjdG9yKCl7dGhpcy5wcmV2RnJhbWVDYWNoZT1uZXcgTWFwLHRoaXMuY3VyckZyYW1lQ2FjaGU9bmV3IE1hcH1nZXRGcm9tUHJldmlvdXNGcmFtZSh0KXtjb25zdCBlPXRoaXMucHJldkZyYW1lQ2FjaGUuZ2V0KHQpO3JldHVybiBudWxsIT1lP2U6bnVsbH1zZXRUb0N1cnJlbnRGcmFtZSh0LGUpe3RoaXMuY3VyckZyYW1lQ2FjaGUuc2V0KHQsZSl9ZmluYWxpemVGcmFtZUFuZEdldFJlbW92ZWQoKXtjb25zdCB0PVtdO2Zvcihjb25zdFtlLG5db2YgdGhpcy5wcmV2RnJhbWVDYWNoZS5lbnRyaWVzKCkpdGhpcy5jdXJyRnJhbWVDYWNoZS5oYXMoZSl8fHQucHVzaChuKTtyZXR1cm4gdGhpcy5wcmV2RnJhbWVDYWNoZT10aGlzLmN1cnJGcmFtZUNhY2hlLHRoaXMuY3VyckZyYW1lQ2FjaGU9bmV3IE1hcCx0fX0hKGZ1bmN0aW9uKHQpe3RbdC5OVU1CRVI9MF09Ik5VTUJFUiIsdFt0Lk5BTj0xXT0iTkFOIn0pKHpndHx8KHpndD17fSkpO2NsYXNzIGpndCBleHRlbmRzIGNsYXNze2NvbnN0cnVjdG9yKHQpe3RoaXMucmF3U2VyaWVzRGF0YT1bXSx0aGlzLnNlcmllcz1bXSx0aGlzLnBhaW50RGlydHk9ITAsdGhpcy5yZW5kZXJDYWNoZT1uZXcgVmd0LHRoaXMuY29vcmRpbmF0ZUlkZW50aWZpZXI9bnVsbCx0aGlzLmxheW91dD17eDowLHdpZHRoOjEseTowLGhlaWdodDoxfSx0aGlzLmdldE1ldGFkYXRhTWFwSW1wbD10LmdldE1ldGFkYXRhTWFwLHRoaXMuY29vcmRpbmF0b3I9dC5jb29yZGluYXRvcix0aGlzLnJlbmRlcmVyPXQucmVuZGVyZXIsdGhpcy5wYWludEJydXNoPW5ldyBCZ3QodGhpcy5yZW5kZXJDYWNoZSx0aGlzLnJlbmRlcmVyKX1zZXRMYXlvdXRSZWN0KHQpe3RoaXMubGF5b3V0Lng9PT10LngmJnRoaXMubGF5b3V0LndpZHRoPT09dC53aWR0aCYmdGhpcy5sYXlvdXQueT09PXQueSYmdGhpcy5sYXlvdXQuaGVpZ2h0PT09dC5oZWlnaHR8fCh0aGlzLnBhaW50RGlydHk9ITApLHRoaXMubGF5b3V0PXR9Z2V0TGF5b3V0UmVjdCgpe3JldHVybiB0aGlzLmxheW91dH1nZXRNZXRhZGF0YU1hcCgpe3JldHVybiB0aGlzLmdldE1ldGFkYXRhTWFwSW1wbCgpfW1hcmtBc1BhaW50RGlydHkoKXt0aGlzLnBhaW50RGlydHk9ITB9cmVuZGVyKCl7aWYodGhpcy50cmFuc2Zvcm1Db29yZGluYXRlc0lmU3RhbGUoKSx0aGlzLnBhaW50RGlydHkpe3RoaXMucmVkcmF3KCk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5yZW5kZXJDYWNoZS5maW5hbGl6ZUZyYW1lQW5kR2V0UmVtb3ZlZCgpKXRoaXMucmVuZGVyZXIuZGVzdHJveU9iamVjdCh0KTt0aGlzLnBhaW50RGlydHk9ITF9fWlzQ29vcmRpbmF0ZVVwZGF0ZWQoKXtyZXR1cm4gdGhpcy5jb29yZGluYXRvci5nZXRVcGRhdGVJZGVudGlmaWVyKCkhPT10aGlzLmNvb3JkaW5hdGVJZGVudGlmaWVyfWNsZWFyQ29vcmRpbmF0ZUlkZW50aWZpZXIoKXt0aGlzLmNvb3JkaW5hdGVJZGVudGlmaWVyPW51bGx9c2V0RGF0YSh0KXt0aGlzLmNsZWFyQ29vcmRpbmF0ZUlkZW50aWZpZXIoKSx0aGlzLnJhd1Nlcmllc0RhdGE9dH10cmFuc2Zvcm1Db29yZGluYXRlc0lmU3RhbGUoKXtpZighdGhpcy5pc0Nvb3JkaW5hdGVVcGRhdGVkKCkpcmV0dXJuO2NvbnN0IHQ9dGhpcy5nZXRMYXlvdXRSZWN0KCk7dGhpcy5zZXJpZXM9bmV3IEFycmF5KHRoaXMucmF3U2VyaWVzRGF0YS5sZW5ndGgpO2ZvcihsZXQgZT0wO2U8dGhpcy5yYXdTZXJpZXNEYXRhLmxlbmd0aDtlKyspe2NvbnN0IG49dGhpcy5yYXdTZXJpZXNEYXRhW2VdO3RoaXMuc2VyaWVzW2VdPXtpZDpuLmlkLHBvbHlsaW5lOm5ldyBGbG9hdDMyQXJyYXkoMipuLnBvaW50cy5sZW5ndGgpfTtmb3IobGV0IG89MDtvPG4ucG9pbnRzLmxlbmd0aDtvKyspe2NvbnN0W2ksYV09dGhpcy5jb29yZGluYXRvci50cmFuc2Zvcm1EYXRhVG9VaUNvb3JkKHQsW24ucG9pbnRzW29dLngsbi5wb2ludHNbb10ueV0pO3RoaXMuc2VyaWVzW2VdLnBvbHlsaW5lWzIqb109aSx0aGlzLnNlcmllc1tlXS5wb2x5bGluZVsyKm8rMV09YX19dGhpcy5jb29yZGluYXRlSWRlbnRpZmllcj10aGlzLmNvb3JkaW5hdG9yLmdldFVwZGF0ZUlkZW50aWZpZXIoKSx0aGlzLm1hcmtBc1BhaW50RGlydHkoKX19e3JlY29yZFBhcnRpdGlvbih0LGUsbil7cmV0dXJuIHQ/e3R5cGU6emd0Lk5VTUJFUixwb2x5bGluZTplfTp7dHlwZTp6Z3QuTkFOLHBvbHlsaW5lOmUubWFwKCgodCxlKT0+aXNOYU4odCk/ZSUyPT0wP24ueDpuLnk6dCkpfX1wYXJ0aXRpb25Qb2x5bGluZSh0KXtjb25zdCBlPVtdO2xldCBuPTAsbz0hMTtjb25zdCBpPXRoaXMuY29vcmRpbmF0b3IudHJhbnNmb3JtRGF0YVRvVWlDb29yZCh0aGlzLmdldExheW91dFJlY3QoKSxbMCwwXSksYT17eDppWzBdLHk6aVsxXX07bGV0IHI9bnVsbDtmb3IobGV0IGk9MDtpPHQubGVuZ3RoO2krPTIpe2NvbnN0IGE9dFtpXSxzPXRbaSsxXSxsPWlzTmFOKGEpfHxpc05hTihzKTtsIT09byYmbiE9PWkmJihlLnB1c2godGhpcy5yZWNvcmRQYXJ0aXRpb24oIW8sdC5zbGljZShuLGkpLG51bGw9PT1yP3t4OmEseTpzfTpyKSksbj1pKSxsfHwocj17eDphLHk6c30pLG89bH1yZXR1cm4gbiE9PXQubGVuZ3RoLTEmJmUucHVzaCh0aGlzLnJlY29yZFBhcnRpdGlvbighbyx0LnNsaWNlKG4sdC5sZW5ndGgpLG51bGwhPXI/cjphKSksZX1yZWRyYXcoKXt2YXIgdCxlLG47Zm9yKGNvbnN0IG8gb2YgdGhpcy5zZXJpZXMpe2NvbnN0IGk9dGhpcy5nZXRNZXRhZGF0YU1hcCgpW28uaWRdO2lmKCFpKWNvbnRpbnVlO2lmKG8ucG9seWxpbmUubGVuZ3RoJTIhPTApdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgaGF2ZSBvZGQgbGVuZ3RoLWVkIHBvbHlsaW5lOiAke28ucG9seWxpbmUubGVuZ3RofWApO2NvbnN0IGE9dGhpcy5wYXJ0aXRpb25Qb2x5bGluZShvLnBvbHlsaW5lKTtmb3IoY29uc3Rbcix7dHlwZTpzLHBvbHlsaW5lOmx9XW9mIGEuZW50cmllcygpKWlmKHM9PT16Z3QuTlVNQkVSKTI9PT1sLmxlbmd0aD90aGlzLnBhaW50QnJ1c2guc2V0Q2lyY2xlKEpTT04uc3RyaW5naWZ5KFsiY2lyY2xlIixvLmlkLHJdKSx7eDpsWzBdLHk6bFsxXX0se2NvbG9yOmkuY29sb3IsdmlzaWJsZTppLnZpc2libGUsb3BhY2l0eTpudWxsIT09KHQ9aS5vcGFjaXR5KSYmdm9pZCAwIT09dD90OjEscmFkaXVzOjR9KTp0aGlzLnBhaW50QnJ1c2guc2V0TGluZShKU09OLnN0cmluZ2lmeShbImxpbmUiLG8uaWQscl0pLGwse2NvbG9yOmkuY29sb3IsdmlzaWJsZTppLnZpc2libGUsb3BhY2l0eTpudWxsIT09KGU9aS5vcGFjaXR5KSYmdm9pZCAwIT09ZT9lOjEsd2lkdGg6Mn0pO2Vsc2UgaWYoIWkuYXV4KWZvcihsZXQgdD0wO3Q8bC5sZW5ndGg7dCs9Mil0aGlzLnBhaW50QnJ1c2guc2V0VHJpYW5nbGUoSlNPTi5zdHJpbmdpZnkoWyJOYU4iLG8uaWQsbFt0XSxsW3QrMV1dKSx7eDpsW3RdLHk6bFt0KzFdfSx7Y29sb3I6aS5jb2xvcix2aXNpYmxlOmkudmlzaWJsZSxvcGFjaXR5Om51bGwhPT0obj1pLm9wYWNpdHkpJiZ2b2lkIDAhPT1uP246MSxzaXplOjEyfSl9fX1jbGFzcyBVZ3QgZXh0ZW5kcyB2cnR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuY2FtZXJhPW5ldyByZHQoMCwxZTMsMWUzLDAsMCwxMDApfWlzWUF4aXNQb2ludGVkRG93bigpe3JldHVybiExfXNldERvbUNvbnRhaW5lclJlY3QodCl7c3VwZXIuc2V0RG9tQ29udGFpbmVyUmVjdCh0KSx0aGlzLmNhbWVyYS5sZWZ0PXQueCx0aGlzLmNhbWVyYS5yaWdodD10LngrdC53aWR0aCx0aGlzLmNhbWVyYS50b3A9dC55K3QuaGVpZ2h0LHRoaXMuY2FtZXJhLmJvdHRvbT10LnksdGhpcy5jYW1lcmEudXBkYXRlUHJvamVjdGlvbk1hdHJpeCgpfWdldENhbWVyYSgpe3JldHVybiB0aGlzLmNhbWVyYX19Y29uc3QgV2d0PXQ9PnNlbGYucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpO2NsYXNzIEdndHtjb25zdHJ1Y3Rvcih0KXtzd2l0Y2godGhpcy5tZXRhZGF0YU1hcD17fSx0aGlzLnNob3VsZFJlcGFpbnQ9ITEsdGhpcy5jYWxsYmFja3M9dC5jYWxsYmFja3MsdC50eXBlKXtjYXNlIGU2LlNWRzp0aGlzLmNvb3JkaW5hdG9yPW5ldyB2cnQsdGhpcy5yZW5kZXJlcj1uZXcgT3J0KHQuY29udGFpbmVyKTticmVhaztjYXNlIGU2LldFQkdMOntjb25zdCBlPW5ldyBVZ3Q7dGhpcy5jb29yZGluYXRvcj1lLHRoaXMucmVuZGVyZXI9bmV3IExndCh0LmNvbnRhaW5lcixlLHQuZGV2aWNlUGl4ZWxSYXRpbyx0LmNhbGxiYWNrcy5vbkNvbnRleHRMb3N0KTticmVha319dGhpcy5yZW5kZXJlci5zZXRVc2VEYXJrTW9kZSh0LnVzZURhcmtNb2RlKSx0aGlzLnNlcmllc0xpbmVWaWV3PW5ldyBqZ3Qoe3JlbmRlcmVyOnRoaXMucmVuZGVyZXIsY29vcmRpbmF0b3I6dGhpcy5jb29yZGluYXRvcixnZXRNZXRhZGF0YU1hcDooKT0+dGhpcy5tZXRhZGF0YU1hcH0pLHRoaXMucmVzaXplKHQuZG9tRGltZW5zaW9uKX1kaXNwb3NlKCl7fXNldFhTY2FsZVR5cGUodCl7dGhpcy5jb29yZGluYXRvci5zZXRYU2NhbGUoZ3J0KHQpKSx0aGlzLnNjaGVkdWxlUmVwYWludCgpfXNldFlTY2FsZVR5cGUodCl7dGhpcy5jb29yZGluYXRvci5zZXRZU2NhbGUoZ3J0KHQpKSx0aGlzLnNjaGVkdWxlUmVwYWludCgpfXJlc2l6ZSh0KXt0aGlzLmNvb3JkaW5hdG9yLnNldERvbUNvbnRhaW5lclJlY3QoT2JqZWN0LmFzc2lnbih7eDowLHk6MH0sdCkpLHRoaXMucmVuZGVyZXIub25SZXNpemUoT2JqZWN0LmFzc2lnbih7eDowLHk6MH0sdCkpLHRoaXMuc2VyaWVzTGluZVZpZXcuc2V0TGF5b3V0UmVjdChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3g6MCx5OjB9KSksdGhpcy5zY2hlZHVsZVJlcGFpbnQoKX1zZXRNZXRhZGF0YSh0KXtsZXQgZT0hMTtPYmplY3QuZW50cmllcyh0KS5mb3JFYWNoKCgoW3Qsbl0pPT57Y29uc3Qgbz10aGlzLm1ldGFkYXRhTWFwW3RdO28mJm4uY29sb3I9PT1vLmNvbG9yJiZuLnZpc2libGU9PT1vLnZpc2libGUmJm4ub3BhY2l0eT09PW8ub3BhY2l0eXx8KGU9ITApLHRoaXMubWV0YWRhdGFNYXBbdF09bn0pKSxlJiZ0aGlzLnNlcmllc0xpbmVWaWV3Lm1hcmtBc1BhaW50RGlydHkoKSx0aGlzLnNjaGVkdWxlUmVwYWludCgpfXNldFZpZXdCb3godCl7dGhpcy5jb29yZGluYXRvci5zZXRWaWV3Qm94UmVjdCh7eDp0LnhbMF0sd2lkdGg6dC54WzFdLXQueFswXSx5OnQueVswXSxoZWlnaHQ6dC55WzFdLXQueVswXX0pLHRoaXMuc2NoZWR1bGVSZXBhaW50KCl9c2V0RGF0YSh0KXt0aGlzLnNlcmllc0xpbmVWaWV3LnNldERhdGEodCksdGhpcy5zY2hlZHVsZVJlcGFpbnQoKX1zZXRVc2VEYXJrTW9kZSh0KXt0aGlzLnJlbmRlcmVyLnNldFVzZURhcmtNb2RlKHQpLHRoaXMuc2VyaWVzTGluZVZpZXcubWFya0FzUGFpbnREaXJ0eSgpLHRoaXMuc2NoZWR1bGVSZXBhaW50KCl9c2NoZWR1bGVSZXBhaW50KCl7dGhpcy5zaG91bGRSZXBhaW50fHwodGhpcy5zaG91bGRSZXBhaW50PSEwLFdndCgoKCk9Pnt0aGlzLnJlcGFpbnQoKSx0aGlzLnNob3VsZFJlcGFpbnQ9ITF9KSkpfXJlcGFpbnQoKXt0aGlzLnNlcmllc0xpbmVWaWV3LnJlbmRlcigpLHRoaXMucmVuZGVyZXIuZmx1c2goKSx0aGlzLmNhbGxiYWNrcy5vbkRyYXdFbmQoKX19dmFyIFlndCxxZ3Q7ZnVuY3Rpb24gWmd0KHQpe2lmKHQuaW5jbHVkZXMoIi8iKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiV29ya2VyIGZhY3Rvcnkgb25seSBhbGxvd3MgZmlsZSBuYW1lIGFuZCBubyByZXNvdXJjZSBwYXRoLiIpO3JldHVybiBuZXcgV29ya2VyKHQpfSEoZnVuY3Rpb24odCl7dFt0LlNFUklFU19EQVRBX1VQREFURUQ9MF09IlNFUklFU19EQVRBX1VQREFURUQiLHRbdC5TRVJJRVNfTUVUQURBVEFfQ0hBTkdFRD0xXT0iU0VSSUVTX01FVEFEQVRBX0NIQU5HRUQiLHRbdC5TQ0FMRV9VUERBVEVEPTJdPSJTQ0FMRV9VUERBVEVEIix0W3QuVklFV19CT1hfVVBEQVRFRD0zXT0iVklFV19CT1hfVVBEQVRFRCIsdFt0LklOSVQ9NF09IklOSVQiLHRbdC5ET01fUkVTSVpFRD01XT0iRE9NX1JFU0laRUQiLHRbdC5EQVJLX01PREVfVVBEQVRFRD02XT0iREFSS19NT0RFX1VQREFURUQiLHRbdC5ESVNQT1NFRD03XT0iRElTUE9TRUQifSkoWWd0fHwoWWd0PXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5PTl9SRURSQVdfRU5EPTBdPSJPTl9SRURSQVdfRU5EIix0W3QuT05fQ09OVEVYVF9MT1NUPTFdPSJPTl9DT05URVhUX0xPU1QifSkocWd0fHwocWd0PXt9KSk7Y2xhc3MgWGd0e2NvbnN0cnVjdG9yKHQpe2lmKHRoaXMuY2FsbGJhY2tzPXQuY2FsbGJhY2tzLHQudHlwZSE9PWU2LldFQkdMKXRocm93IG5ldyBSYW5nZUVycm9yKGBDYW5ub3QgdXNlIG5vbiBXRUJHTCByZW5kZXJlciBmb3IgdGhlIG9mZnNjcmVlbiBsaW5lIGNoYXJ0LiBSZWNlaXZlZCAke2U2W3QudHlwZV19IGApO2NvbnN0IGU9bmV3IE1lc3NhZ2VDaGFubmVsO2UucG9ydDEub25tZXNzYWdlPXQ9Pnt0aGlzLm9uTWVzc2FnZUZyb21Xb3JrZXIodC5kYXRhKX0sdGhpcy50eE1lc3NhZ2VQb3J0PWUucG9ydDE7Y29uc3Qgbj10LmNvbnRhaW5lci50cmFuc2ZlckNvbnRyb2xUb09mZnNjcmVlbigpO3RoaXMud29ya2VySW5zdGFuY2U9WGd0LndvcmtlclBvb2wuZ2V0TmV4dCgpO2NvbnN0IG89e3R5cGU6WWd0LklOSVQsY2FudmFzOm4sZGV2aWNlUGl4ZWxSYXRpbzp3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyxkaW06dC5kb21EaW1lbnNpb24scmVuZGVyZXJUeXBlOnQudHlwZSx1c2VEYXJrTW9kZTp0LnVzZURhcmtNb2RlfTt0aGlzLndvcmtlckluc3RhbmNlLnBvc3RNZXNzYWdlKG8sW24sZS5wb3J0Ml0pfWRpc3Bvc2UoKXt0aGlzLnNlbmRNZXNzYWdlKHt0eXBlOllndC5ESVNQT1NFRH0pLHRoaXMud29ya2VySW5zdGFuY2UuZnJlZSgpLHRoaXMudHhNZXNzYWdlUG9ydC5jbG9zZSgpfXNldFhTY2FsZVR5cGUodCl7dGhpcy5zZW5kTWVzc2FnZSh7dHlwZTpZZ3QuU0NBTEVfVVBEQVRFRCxheGlzOiJ4IixzY2FsZVR5cGU6dH0pfXNldFlTY2FsZVR5cGUodCl7dGhpcy5zZW5kTWVzc2FnZSh7dHlwZTpZZ3QuU0NBTEVfVVBEQVRFRCxheGlzOiJ5IixzY2FsZVR5cGU6dH0pfXJlc2l6ZSh0KXt0aGlzLnNlbmRNZXNzYWdlKHt0eXBlOllndC5ET01fUkVTSVpFRCxkaW06dH0pfXNldE1ldGFkYXRhKHQpe3RoaXMuc2VuZE1lc3NhZ2Uoe3R5cGU6WWd0LlNFUklFU19NRVRBREFUQV9DSEFOR0VELG1ldGFkYXRhOnR9KX1zZXRWaWV3Qm94KHQpe3RoaXMuc2VuZE1lc3NhZ2Uoe3R5cGU6WWd0LlZJRVdfQk9YX1VQREFURUQsZXh0ZW50OnR9KX1zZXREYXRhKHQpe2NvbnN0IGU9KGZ1bmN0aW9uIG4odCl7Y29uc3QgZT10LnJlZHVjZSgoKHQsZSk9PnQrZS5wb2ludHMubGVuZ3RoKSwwKTtsZXQgbj0wO2NvbnN0IG89bmV3IEZsb2F0NjRBcnJheSgyKmUpLGk9W107Zm9yKGNvbnN0IGUgb2YgdCl7aS5wdXNoKHtpZDplLmlkLGxlbmd0aDplLnBvaW50cy5sZW5ndGh9KTtmb3IobGV0IHQ9MDt0PGUucG9pbnRzLmxlbmd0aDt0Kyspb1tuKytdPWUucG9pbnRzW3RdLngsb1tuKytdPWUucG9pbnRzW3RdLnl9cmV0dXJue2lkc0FuZExlbmd0aHM6aSxmbGF0dGVuZWRTZXJpZXM6by5idWZmZXJ9fSkodCk7dGhpcy5zZW5kTWVzc2FnZSh7dHlwZTpZZ3QuU0VSSUVTX0RBVEFfVVBEQVRFRCxjb21wYWN0RGF0YVNlcmllczplfSxbZS5mbGF0dGVuZWRTZXJpZXNdKX1zZXRVc2VEYXJrTW9kZSh0KXt0aGlzLnNlbmRNZXNzYWdlKHt0eXBlOllndC5EQVJLX01PREVfVVBEQVRFRCx1c2VEYXJrTW9kZTp0fSl9c2VuZE1lc3NhZ2UodCxlKXtlP3RoaXMudHhNZXNzYWdlUG9ydC5wb3N0TWVzc2FnZSh0LGUpOnRoaXMudHhNZXNzYWdlUG9ydC5wb3N0TWVzc2FnZSh0KX1vbk1lc3NhZ2VGcm9tV29ya2VyKHQpe3N3aXRjaCh0LnR5cGUpe2Nhc2UgcWd0Lk9OX1JFRFJBV19FTkQ6dGhpcy5jYWxsYmFja3Mub25EcmF3RW5kKCk7YnJlYWs7Y2FzZSBxZ3QuT05fQ09OVEVYVF9MT1NUOnRoaXMuY2FsbGJhY2tzLm9uQ29udGV4dExvc3QoKX19fWZ1bmN0aW9uIEtndCh0KXtzd2l0Y2godCl7Y2FzZSBlNi5TVkc6cmV0dXJuIGU2LlNWRztjYXNlIGU2LldFQkdMOnJldHVybihmdW5jdGlvbiBlKCl7cmV0dXJuIF9ydH0pKCk/ZTYuV0VCR0w6ZTYuU1ZHO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHJlbmRlcmVyVHlwZTogJHt0fWApfX1mdW5jdGlvbiBKZ3QodCxlKXtyZXR1cm4ieCI9PT1lP1swLHQud2lkdGhdOlt0LmhlaWdodCwwXX1mdW5jdGlvbiBRZ3QodCxlKXtjb25zdCBuPU1hdGguZmxvb3IodC81MCk7cmV0dXJuIE1hdGgubWluKG4sZSl9ZnVuY3Rpb24gJGd0KHQsZSl7aWYoMSZ0JiYob2EoKSx2ZigwLCJsaW5lIiwyKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoKTtjdSgiemVybyIsMD09PXQpLHltKCJ4MSIsbi5nZXREb21YKHQpKSgieDIiLG4uZ2V0RG9tWCh0KSkoInkyIixuLmRvbURpbS5oZWlnaHQpfX1mdW5jdGlvbiB0aHQodCxlKXtpZigxJnQmJihvYSgpLHZmKDAsImxpbmUiLDMpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigpO2N1KCJ6ZXJvIiwwPT09dCkseW0oInkxIixuLmdldERvbVkodCkpKCJ4MiIsbi5kb21EaW0ud2lkdGgpKCJ5MiIsbi5nZXREb21ZKHQpKX19WGd0LndvcmtlclBvb2w9bmV3IGNsYXNze2NvbnN0cnVjdG9yKHQsZT0xMCxuPVpndCl7dGhpcy53b3JrZXJSZXNvdXJjZVBhdGg9dCx0aGlzLm1heFBvb2xTaXplPWUsdGhpcy53b3JrZXJGYWN0b3J5PW4sdGhpcy53b3JrZXJzPVtdfWdldE5leHQoKXtsZXQgdDtpZih0aGlzLndvcmtlcnMuZXZlcnkoKCh7YWN0aXZlQ291bnQ6dH0pPT50PjApKSYmdGhpcy53b3JrZXJzLmxlbmd0aDx0aGlzLm1heFBvb2xTaXplKXtjb25zdCBlPXRoaXMud29ya2VyRmFjdG9yeSh0aGlzLndvcmtlclJlc291cmNlUGF0aCk7dD17YWN0aXZlQ291bnQ6MCxwb3N0TWVzc2FnZToodCxuKT0+e2UucG9zdE1lc3NhZ2UodCxuKX0sZnJlZTooKT0+e3QuYWN0aXZlQ291bnQ9TWF0aC5tYXgodC5hY3RpdmVDb3VudC0xLDApfX0sdGhpcy53b3JrZXJzLnB1c2godCl9ZWxzZXtjb25zdCBlPXRoaXMud29ya2Vycy5tYXAoKCh7YWN0aXZlQ291bnQ6dH0pPT50KSksbj1lLmluZGV4T2YoTWF0aC5taW4oLi4uZSkpO3Q9dGhpcy53b3JrZXJzW25dfXJldHVybiB0LmFjdGl2ZUNvdW50KyssdH19KCJjaGFydF93b3JrZXIuanM/X2ZpbGVfaGFzaD01YTE3YmUwYSIpO2NsYXNzIGVodHtnZXREb21YKHQpe3JldHVybiB0aGlzLnhTY2FsZS5mb3J3YXJkKHRoaXMudmlld0V4dGVudC54LEpndCh0aGlzLmRvbURpbSwieCIpLHQpfWdldERvbVkodCl7cmV0dXJuIHRoaXMueVNjYWxlLmZvcndhcmQodGhpcy52aWV3RXh0ZW50LnksSmd0KHRoaXMuZG9tRGltLCJ5IiksdCl9Z2V0WFRpY2tzKCl7cmV0dXJuIHRoaXMueFNjYWxlLnRpY2tzKHRoaXMudmlld0V4dGVudC54LFFndCh0aGlzLmRvbURpbS53aWR0aCx0aGlzLnhHcmlkQ291bnQpKX1nZXRZVGlja3MoKXtyZXR1cm4gdGhpcy55U2NhbGUudGlja3ModGhpcy52aWV3RXh0ZW50LnksUWd0KHRoaXMuZG9tRGltLmhlaWdodCx0aGlzLnlHcmlkQ291bnQpKX19ZnVuY3Rpb24gbmh0KHQsZSxuLG8saSxhKXtsZXQgcjtzd2l0Y2godC5kZWx0YU1vZGUpe2Nhc2UgV2hlZWxFdmVudC5ET01fREVMVEFfUElYRUw6cj0xO2JyZWFrO2Nhc2UgV2hlZWxFdmVudC5ET01fREVMVEFfTElORTpyPTg7YnJlYWs7Y2FzZSBXaGVlbEV2ZW50LkRPTV9ERUxUQV9QQUdFOnI9MjA7YnJlYWs7ZGVmYXVsdDpyPTEsY29uc29sZS53YXJuKGBVbmtub3duIFdoZWVsRXZlbnQgZGVsdGFNb2RlOiAke3QuZGVsdGFNb2RlfS5gKX1jb25zdCBzPXQuZGVsdGFZKnIsbD1zPDA/TWF0aC5tYXgocypvLC0uOTUpOnMqbyx7d2lkdGg6YyxoZWlnaHQ6ZH09bixwPVtpLnJldmVyc2UoZS54LFswLGNdLC10Lm9mZnNldFgqbCksaS5yZXZlcnNlKGUueCxbMCxjXSxjKyhjLXQub2Zmc2V0WCkqbCldLG09W2EucmV2ZXJzZShlLnksW2QsMF0sLXQub2Zmc2V0WSpsKSxhLnJldmVyc2UoZS55LFtkLDBdLGQrKGQtdC5vZmZzZXRZKSpsKV07cmV0dXJue3g6cFsxXTxwWzBdP1twWzFdLHBbMF1dOnAseTptWzFdPG1bMF0/W21bMV0sbVswXV06bX19ZWh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxlaHQpfSxlaHQuybVjbXA9c28oe3R5cGU6ZWh0LHNlbGVjdG9yczpbWyJsaW5lLWNoYXJ0LWdyaWQtdmlldyJdXSxpbnB1dHM6e3ZpZXdFeHRlbnQ6InZpZXdFeHRlbnQiLHhTY2FsZToieFNjYWxlIix4R3JpZENvdW50OiJ4R3JpZENvdW50Iix5U2NhbGU6InlTY2FsZSIseUdyaWRDb3VudDoieUdyaWRDb3VudCIsZG9tRGltOiJkb21EaW0ifSxkZWNsczozLHZhcnM6Mixjb25zdHM6W1sieTEiLCIwIiwzLCJ6ZXJvIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbIngxIiwiMCIsMywiemVybyIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWyJ5MSIsIjAiXSxbIngxIiwiMCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYob2EoKSxDZigwLCJzdmciKSxIbSgxLCRndCwxLDUsImxpbmUiLDApLEhtKDIsdGh0LDEsNSwibGluZSIsMSksTWYoKSksMiZlJiYoRGMoMSksYmYoIm5nRm9yT2YiLG4uZ2V0WFRpY2tzKCkpLERjKDEpLGJmKCJuZ0Zvck9mIixuLmdldFlUaWNrcygpKSl9LGRpcmVjdGl2ZXM6W3h2XSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVdIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgc3ZnW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGxpbmVbX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgc3Ryb2tlOiAjY2NjO1xuICAgICAgICBzdHJva2Utd2lkdGg6IDFweDtcbiAgICAgIH1cblxuICAgICAgLnplcm9bX25nY29udGVudC0lQ09NUCVdIHtcbiAgICAgICAgc3Ryb2tlOiAjYWFhO1xuICAgICAgICBzdHJva2Utd2lkdGg6IDEuNXB4O1xuICAgICAgfSJdLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihlaHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibGluZS1jaGFydC1ncmlkLXZpZXciLHRlbXBsYXRlOic8c3ZnPlxuICAgIDxsaW5lXG4gICAgICAqbmdGb3I9ImxldCB0aWNrIG9mIGdldFhUaWNrcygpIlxuICAgICAgW2NsYXNzLnplcm9dPSJ0aWNrID09PSAwIlxuICAgICAgW2F0dHIueDFdPSJnZXREb21YKHRpY2spIlxuICAgICAgeTE9IjAiXG4gICAgICBbYXR0ci54Ml09ImdldERvbVgodGljaykiXG4gICAgICBbYXR0ci55Ml09ImRvbURpbS5oZWlnaHQiXG4gICAgPjwvbGluZT5cbiAgICA8bGluZVxuICAgICAgKm5nRm9yPSJsZXQgdGljayBvZiBnZXRZVGlja3MoKSJcbiAgICAgIFtjbGFzcy56ZXJvXT0idGljayA9PT0gMCJcbiAgICAgIHgxPSIwIlxuICAgICAgW2F0dHIueTFdPSJnZXREb21ZKHRpY2spIlxuICAgICAgW2F0dHIueDJdPSJkb21EaW0ud2lkdGgiXG4gICAgICBbYXR0ci55Ml09ImdldERvbVkodGljaykiXG4gICAgPjwvbGluZT5cbiAgPC9zdmc+JyxzdHlsZXM6WyJcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgbGluZSB7XG4gICAgICAgIHN0cm9rZTogI2NjYztcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAxcHg7XG4gICAgICB9XG5cbiAgICAgIC56ZXJvIHtcbiAgICAgICAgc3Ryb2tlOiAjYWFhO1xuICAgICAgICBzdHJva2Utd2lkdGg6IDEuNXB4O1xuICAgICAgfVxuICAgICJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLG51bGwse3ZpZXdFeHRlbnQ6W3t0eXBlOlJffV0seFNjYWxlOlt7dHlwZTpSX31dLHhHcmlkQ291bnQ6W3t0eXBlOlJffV0seVNjYWxlOlt7dHlwZTpSX31dLHlHcmlkQ291bnQ6W3t0eXBlOlJffV0sZG9tRGltOlt7dHlwZTpSX31dfSk7Y29uc3Qgb2h0PVsiZG90cyJdO2Z1bmN0aW9uIGlodCh0LGUpe2lmKDEmdCYmKG9hKCksdmYoMCwiY2lyY2xlIiwxMikpLDImdCl7Y29uc3QgdD16ZigpLiRpbXBsaWNpdCxlPXpmKDIpO3ltKCJjeCIsZS5nZXREb21YKHQucG9pbnQueCkpKCJjeSIsZS5nZXREb21ZKHQucG9pbnQueSkpKCJmaWxsIix0Lm1ldGFkYXRhLmNvbG9yKX19ZnVuY3Rpb24gYWh0KHQsZSl7aWYoMSZ0JiYob2EoKSx4ZigwKSxIbSgxLGlodCwxLDMsImNpcmNsZSIsMTEpLE9mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKDIpO0RjKDEpLGJmKCJuZ0lmIixuLnNob3VsZFJlbmRlclRvb2x0aXBQb2ludCh0LnBvaW50KSl9fWZ1bmN0aW9uIHJodCh0LGUpe2lmKDEmdCYmKG9hKCkseGYoMCksSG0oMSxhaHQsMiwxLCJuZy1jb250YWluZXIiLDEwKSxPZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxiZigibmdGb3JPZiIsdC5jdXJzb3JlZERhdGEpKCJuZ0ZvclRyYWNrQnkiLHQudHJhY2tCeVNlcmllc05hbWUpfX1mdW5jdGlvbiBzaHQodCxlKXtpZigxJnQmJihvYSgpLHZmKDAsInJlY3QiLDEzKSksMiZ0KXtjb25zdCB0PXpmKCk7eW0oIngiLHQuem9vbUJveEluVWlDb29yZGluYXRlLngpKCJ3aWR0aCIsdC56b29tQm94SW5VaUNvb3JkaW5hdGUud2lkdGgpKCJ5Iix0Lnpvb21Cb3hJblVpQ29vcmRpbmF0ZS55KSgiaGVpZ2h0Iix0Lnpvb21Cb3hJblVpQ29vcmRpbmF0ZS5oZWlnaHQpfX1jb25zdCBsaHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm57ZGF0YTp0LGN1cnNvckxvY2F0aW9uSW5EYXRhQ29vcmQ6ZX19O2Z1bmN0aW9uIGNodCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTQpLFBmKDEsMTUpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpLGU9Rm0oMTEpO0RjKDEpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0Iix0LnRvb2x0aXBUZW1wbGF0ZT90LnRvb2x0aXBUZW1wbGF0ZTplKSgibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLGF5KDIsbGh0LHQuY3Vyc29yZWREYXRhLHQuY3Vyc29yTG9jYXRpb25JbkRhdGFDb29yZCkpfX1mdW5jdGlvbiBkaHQodCxlKXtpZigxJnQmJih4ZigwKSxDZigxLCJ0ciIsMTcpLENmKDIsInRkIiwxOCksdmYoMywic3BhbiIpLE1mKCksQ2YoNCwidGQiLDE5KSxQdSg1KSxNZigpLENmKDYsInRkIiksUHUoNyksTWYoKSxDZig4LCJ0ZCIpLFB1KDkpLE1mKCksTWYoKSxPZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQ7RGMoMyksbHUoImJhY2tncm91bmQtY29sb3IiLHQubWV0YWRhdGEuY29sb3IpLERjKDIpLHd1KHQubWV0YWRhdGEuZGlzcGxheU5hbWUpLERjKDIpLHd1KHQucG9pbnQueSksRGMoMiksd3UodC5wb2ludC54KX19ZnVuY3Rpb24gcGh0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwidGFibGUiKSxDZigxLCJ0aGVhZCIpLENmKDIsInRyIiksdmYoMywidGgiLDE2KSxDZig0LCJ0aCIpLFB1KDUsIk5hbWUiKSxNZigpLENmKDYsInRoIiksUHUoNywiWSIpLE1mKCksQ2YoOCwidGgiKSxQdSg5LCJYIiksTWYoKSxNZigpLE1mKCksQ2YoMTAsInRib2R5IiksSG0oMTEsZGh0LDEwLDUsIm5nLWNvbnRhaW5lciIsMTApLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PWUuZGF0YSxuPXpmKCk7RGMoMTEpLGJmKCJuZ0Zvck9mIix0KSgibmdGb3JUcmFja0J5IixuLnRyYWNrQnlTZXJpZXNOYW1lKX19dmFyIG1odDshKGZ1bmN0aW9uKHQpe3RbdC5OT05FPTBdPSJOT05FIix0W3QuRFJBR19aT09NSU5HPTFdPSJEUkFHX1pPT01JTkciLHRbdC5TQ1JPTExfWk9PTUlORz0yXT0iU0NST0xMX1pPT01JTkciLHRbdC5QQU5OSU5HPTNdPSJQQU5OSU5HIn0pKG1odHx8KG1odD17fSkpO2Z1bmN0aW9uIGZodCh0KXtyZXR1cm4gdC5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKX1jbGFzcyB1aHR7Y29uc3RydWN0b3IodCxlKXt0aGlzLmNoYW5nZURldGVjdG9yPXQsdGhpcy5zY3JvbGxTdHJhdGVneT1lLHRoaXMub25WaWV3RXh0ZW50Q2hhbmdlPW5ldyBTeSx0aGlzLm9uVmlld0V4dGVudFJlc2V0PW5ldyBTeSx0aGlzLkludGVyYWN0aW9uU3RhdGU9bWh0LHRoaXMuc3RhdGU9bWh0Lk5PTkUsdGhpcy5zcGVjaWFsS2V5UHJlc3NlZD0hMSx0aGlzLnpvb21Cb3hJblVpQ29vcmRpbmF0ZT17eDowLHdpZHRoOjAsaGVpZ2h0OjAseTowfSx0aGlzLnRvb2x0aXBQb3NpdGlvbnM9W3tvZmZzZXRZOjUsb3JpZ2luWDoic3RhcnQiLG92ZXJsYXlYOiJzdGFydCIsb3JpZ2luWToiYm90dG9tIixvdmVybGF5WToidG9wIn0se29mZnNldFk6NSxvcmlnaW5YOiJlbmQiLG92ZXJsYXlYOiJlbmQiLG9yaWdpblk6ImJvdHRvbSIsb3ZlcmxheVk6InRvcCJ9LHtvZmZzZXRZOi0xNSxvcmlnaW5YOiJzdGFydCIsb3ZlcmxheVg6InN0YXJ0IixvcmlnaW5ZOiJ0b3AiLG92ZXJsYXlZOiJib3R0b20ifSx7b2Zmc2V0WTotMTUsb3JpZ2luWDoiZW5kIixvdmVybGF5WDoiZW5kIixvcmlnaW5ZOiJ0b3AiLG92ZXJsYXlZOiJib3R0b20ifSx7b2Zmc2V0WDo1LG9yaWdpblg6ImVuZCIsb3ZlcmxheVg6InN0YXJ0IixvcmlnaW5ZOiJ0b3AiLG92ZXJsYXlZOiJ0b3AifSx7b2Zmc2V0WDotNSxvcmlnaW5YOiJzdGFydCIsb3ZlcmxheVg6ImVuZCIsb3JpZ2luWToidG9wIixvdmVybGF5WToidG9wIn1dLHRoaXMuY3Vyc29yTG9jYXRpb25JbkRhdGFDb29yZD1udWxsLHRoaXMuY3Vyc29yZWREYXRhPVtdLHRoaXMudG9vbHRpcERpc3BsYXlBdHRhY2hlZD0hMSx0aGlzLnNob3dab29tSW5zdHJ1Y3Rpb249ITEsdGhpcy5kcmFnU3RhcnRDb29yZD1udWxsLHRoaXMuaXNDdXJzb3JJbnNpZGU9ITEsdGhpcy5uZ1Vuc3Vic2NyaWJlPW5ldyBCfW5nQWZ0ZXJWaWV3SW5pdCgpe2xlKHRoaXMuZG90c0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LCJkYmxjbGljayIse3Bhc3NpdmU6ITB9KS5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLm9uVmlld0V4dGVudFJlc2V0LmVtaXQoKSx0aGlzLnN0YXRlPW1odC5OT05FLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCl9KSksbGUod2luZG93LCJrZXlkb3duIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0PT57Y29uc3QgZT10aGlzLnNob3VsZFBhbih0KTtlIT09dGhpcy5zcGVjaWFsS2V5UHJlc3NlZCYmKHRoaXMuc3BlY2lhbEtleVByZXNzZWQ9ZSx0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpKX0pKSxsZSh3aW5kb3csImtleXVwIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0PT57Y29uc3QgZT10aGlzLnNob3VsZFBhbih0KTtlIT09dGhpcy5zcGVjaWFsS2V5UHJlc3NlZCYmKHRoaXMuc3BlY2lhbEtleVByZXNzZWQ9ZSx0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpKX0pKSxsZSh0aGlzLmRvdHNDb250YWluZXIubmF0aXZlRWxlbWVudCwibW91c2Vkb3duIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0PT57Y29uc3QgZT10aGlzLnN0YXRlLG49dGhpcy5zaG91bGRQYW4odCk/bWh0LlBBTk5JTkc6bWh0LkRSQUdfWk9PTUlORztlPT09bWh0Lk5PTkUmJm49PT1taHQuRFJBR19aT09NSU5HJiYodGhpcy5kcmFnU3RhcnRDb29yZD17eDp0Lm9mZnNldFgseTp0Lm9mZnNldFl9LHRoaXMuem9vbUJveEluVWlDb29yZGluYXRlPXt4OnQub2Zmc2V0WCx3aWR0aDowLHk6dC5vZmZzZXRZLGhlaWdodDowfSksZSE9PW4mJih0aGlzLnN0YXRlPW4sdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKSl9KSksbGUodGhpcy5kb3RzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIm1vdXNldXAiLHtwYXNzaXZlOiEwfSkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKHQ9Pntjb25zdCBlPSh0LmJ1dHRvbnMmaDAuTEVGVCk9PT1oMC5MRUZUO3RoaXMuZHJhZ1N0YXJ0Q29vcmQ9bnVsbDtjb25zdCBuPXRoaXMuem9vbUJveEluVWlDb29yZGluYXRlO2lmKCFlJiZ0aGlzLnN0YXRlPT09bWh0LkRSQUdfWk9PTUlORyYmbi53aWR0aD4wJiZuLmhlaWdodD4wKXtjb25zdCB0PXRoaXMuZ2V0RGF0YVgobi54KSxlPXRoaXMuZ2V0RGF0YVgobi54K24ud2lkdGgpLG89dGhpcy5nZXREYXRhWShuLnkrbi5oZWlnaHQpLGk9dGhpcy5nZXREYXRhWShuLnkpO3RoaXMub25WaWV3RXh0ZW50Q2hhbmdlLmVtaXQoe2RhdGFFeHRlbnQ6e3g6W3QsZV0seTpbbyxpXX19KX10aGlzLnN0YXRlIT09bWh0Lk5PTkUmJih0aGlzLnN0YXRlPW1odC5OT05FLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCkpfSkpLGxlKHRoaXMuZG90c0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LCJtb3VzZWVudGVyIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0PT57dGhpcy5pc0N1cnNvckluc2lkZT0hMCx0aGlzLnVwZGF0ZVRvb2x0aXAodCksdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKX0pKSxsZSh0aGlzLmRvdHNDb250YWluZXIubmF0aXZlRWxlbWVudCwibW91c2VsZWF2ZSIse3Bhc3NpdmU6ITB9KS5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgodD0+e3RoaXMuZHJhZ1N0YXJ0Q29vcmQ9bnVsbCx0aGlzLmlzQ3Vyc29ySW5zaWRlPSExLHRoaXMudXBkYXRlVG9vbHRpcCh0KSx0aGlzLnN0YXRlPW1odC5OT05FLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCl9KSksbGUodGhpcy5kb3RzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIm1vdXNlbW92ZSIse3Bhc3NpdmU6ITB9KS5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgodD0+e3N3aXRjaCh0aGlzLnN0YXRlKXtjYXNlIG1odC5TQ1JPTExfWk9PTUlORzp0aGlzLnN0YXRlPW1odC5OT05FLHRoaXMudXBkYXRlVG9vbHRpcCh0KSx0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO2JyZWFrO2Nhc2UgbWh0Lk5PTkU6dGhpcy51cGRhdGVUb29sdGlwKHQpLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7YnJlYWs7Y2FzZSBtaHQuUEFOTklORzp7Y29uc3QgZT0tdC5tb3ZlbWVudFgsbj0tdC5tb3ZlbWVudFkse3dpZHRoOm8saGVpZ2h0Oml9PXRoaXMuZG9tRGltLGE9dGhpcy5nZXREYXRhWChlKSxyPXRoaXMuZ2V0RGF0YVgobytlKSxzPXRoaXMuZ2V0RGF0YVkoaStuKSxsPXRoaXMuZ2V0RGF0YVkobik7dGhpcy5vblZpZXdFeHRlbnRDaGFuZ2UuZW1pdCh7ZGF0YUV4dGVudDp7eDpbYSxyXSx5OltzLGxdfX0pO2JyZWFrfWNhc2UgbWh0LkRSQUdfWk9PTUlORzp7aWYoIXRoaXMuZHJhZ1N0YXJ0Q29vcmQpYnJlYWs7Y29uc3QgZT1bdGhpcy5kcmFnU3RhcnRDb29yZC54LHQub2Zmc2V0WF0sbj1bdGhpcy5kcmFnU3RhcnRDb29yZC55LHQub2Zmc2V0WV07dGhpcy56b29tQm94SW5VaUNvb3JkaW5hdGU9e3g6TWF0aC5taW4oLi4uZSksd2lkdGg6TWF0aC5tYXgoLi4uZSktTWF0aC5taW4oLi4uZSkseTpNYXRoLm1pbiguLi5uKSxoZWlnaHQ6TWF0aC5tYXgoLi4ubiktTWF0aC5taW4oLi4ubil9fXRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCl9fSkpLGxlKHRoaXMuZG90c0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LCJ3aGVlbCIse3Bhc3NpdmU6ITF9KS5waXBlKGplKHRoaXMubmdVbnN1YnNjcmliZSksVmUoKHQ9Pntjb25zdCBlPSF0LmN0cmxLZXkmJiF0LnNoaWZ0S2V5JiZ0LmFsdEtleTtyZXR1cm4gdGhpcy5zaG93Wm9vbUluc3RydWN0aW9uPSFlLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCksZT8odC5wcmV2ZW50RGVmYXVsdCgpLHp0KHQpKTpkZSgzZTMpLnBpcGUoV2UoKCgpPT57dGhpcy5zaG93Wm9vbUluc3RydWN0aW9uPSExLHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCl9KSksVnQoKCgpPT5udWxsKSkpfSkpLHVlKCh0PT5Cb29sZWFuKHQpKSkpLnN1YnNjcmliZSgodD0+e3RoaXMub25WaWV3RXh0ZW50Q2hhbmdlLmVtaXQoe2RhdGFFeHRlbnQ6bmh0KHQsdGhpcy52aWV3RXh0ZW50LHRoaXMuZG9tRGltLC4wMSx0aGlzLnhTY2FsZSx0aGlzLnlTY2FsZSl9KSx0aGlzLnN0YXRlIT09bWh0LlNDUk9MTF9aT09NSU5HJiYodGhpcy5zdGF0ZT1taHQuU0NST0xMX1pPT01JTkcsdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKSl9KSl9bmdPbkNoYW5nZXMoKXt0aGlzLnVwZGF0ZUN1cnNvcmVkRGF0YUFuZFRvb2x0aXBWaXNpYmlsaXR5KCl9bmdPbkRlc3Ryb3koKXt0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpLHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpfXNob3VsZFBhbih0KXtjb25zdCBlPXQuc2hpZnRLZXl8fHQuYWx0S2V5O2lmKHQgaW5zdGFuY2VvZiBLZXlib2FyZEV2ZW50KXJldHVybiBlO2NvbnN0IG49KHQuYnV0dG9ucyZoMC5MRUZUKT09PWgwLkxFRlQsbz0odC5idXR0b25zJmgwLk1JRERMRSk9PT1oMC5NSURETEU7cmV0dXJuISghbiYmIW8pJiYobyYmIW58fGUpfXRyYWNrQnlTZXJpZXNOYW1lKHQsZSl7cmV0dXJuIGUuaWR9Z2V0RG9tWCh0KXtyZXR1cm4gdGhpcy54U2NhbGUuZm9yd2FyZCh0aGlzLnZpZXdFeHRlbnQueCxKZ3QodGhpcy5kb21EaW0sIngiKSx0KX1nZXREYXRhWCh0KXtyZXR1cm4gdGhpcy54U2NhbGUucmV2ZXJzZSh0aGlzLnZpZXdFeHRlbnQueCxKZ3QodGhpcy5kb21EaW0sIngiKSx0KX1nZXREb21ZKHQpe3JldHVybiB0aGlzLnlTY2FsZS5mb3J3YXJkKHRoaXMudmlld0V4dGVudC55LEpndCh0aGlzLmRvbURpbSwieSIpLHQpfWdldERhdGFZKHQpe3JldHVybiB0aGlzLnlTY2FsZS5yZXZlcnNlKHRoaXMudmlld0V4dGVudC55LEpndCh0aGlzLmRvbURpbSwieSIpLHQpfXNob3VsZFJlbmRlclRvb2x0aXBQb2ludCh0KXtyZXR1cm4gbnVsbCE9PXQmJiFpc05hTih0LngpJiYhaXNOYU4odC55KX11cGRhdGVUb29sdGlwKHQpe3RoaXMuY3Vyc29yTG9jYXRpb25JbkRhdGFDb29yZD17eDp0aGlzLmdldERhdGFYKHQub2Zmc2V0WCkseTp0aGlzLmdldERhdGFZKHQub2Zmc2V0WSl9LHRoaXMudXBkYXRlQ3Vyc29yZWREYXRhQW5kVG9vbHRpcFZpc2liaWxpdHkoKX1vblRvb2x0aXBEaXNwbGF5RGV0YWNoZWQoKXt0aGlzLnRvb2x0aXBEaXNwbGF5QXR0YWNoZWQ9ITF9dXBkYXRlQ3Vyc29yZWREYXRhQW5kVG9vbHRpcFZpc2liaWxpdHkoKXtjb25zdCB0PXRoaXMuY3Vyc29yTG9jYXRpb25JbkRhdGFDb29yZDtpZihudWxsPT09dClyZXR1cm4gdGhpcy5jdXJzb3JlZERhdGE9W10sdm9pZCh0aGlzLnRvb2x0aXBEaXNwbGF5QXR0YWNoZWQ9ITEpO3RoaXMuY3Vyc29yZWREYXRhPXRoaXMuaXNDdXJzb3JJbnNpZGU/dGhpcy5zZXJpZXNEYXRhLm1hcCgodD0+KHtzZXJpZXNEYXR1bTp0LG1ldGFkYXRhOnRoaXMuc2VyaWVzTWV0YWRhdGFNYXBbdC5pZF19KSkpLmZpbHRlcigoKHttZXRhZGF0YTp0fSk9PnQmJnQudmlzaWJsZSYmIUJvb2xlYW4odC5hdXgpKSkubWFwKCgoe3Nlcmllc0RhdHVtOmUsbWV0YWRhdGE6bn0pPT57Y29uc3Qgbz0oZnVuY3Rpb24gaSh0LGUpe2NvbnN0IG49TWF0aC5taW4oaDYodC5tYXAoKCh7eDp0fSk9PnQpKSxlKSx0Lmxlbmd0aC0xKSxvPU1hdGgubWF4KDAsbi0xKTtyZXR1cm4gTWF0aC5hYnModFtvXS54LWUpLU1hdGguYWJzKHRbbl0ueC1lKTw9MD9vOm59KShlLnBvaW50cyx0LngpO3JldHVybntpZDplLmlkLGNsb3Nlc3RQb2ludEluZGV4Om8scG9pbnQ6ZS5wb2ludHNbb10sbWV0YWRhdGE6bn19KSkuZmlsdGVyKCh0PT50KSk6W10sdGhpcy50b29sdGlwRGlzcGxheUF0dGFjaGVkPUJvb2xlYW4odGhpcy5jdXJzb3JlZERhdGEubGVuZ3RoKX19dWh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx1aHQpKGdmKE9iKSxnZihPQikpfSx1aHQuybVjbXA9c28oe3R5cGU6dWh0LHNlbGVjdG9yczpbWyJsaW5lLWNoYXJ0LWludGVyYWN0aXZlLXZpZXciXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihWeShvaHQsNyxLaCksVnkodFYsNSkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uZG90c0NvbnRhaW5lcj10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5vdmVybGF5PXQuZmlyc3QpfX0saG9zdFZhcnM6Mixob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezImZSYmY3UoInNob3ctem9vbS1pbnN0cnVjdGlvbiIsbi5zaG93Wm9vbUluc3RydWN0aW9uKX0saW5wdXRzOntzZXJpZXNEYXRhOiJzZXJpZXNEYXRhIixzZXJpZXNNZXRhZGF0YU1hcDoic2VyaWVzTWV0YWRhdGFNYXAiLHZpZXdFeHRlbnQ6InZpZXdFeHRlbnQiLHhTY2FsZToieFNjYWxlIix5U2NhbGU6InlTY2FsZSIsZG9tRGltOiJkb21EaW0iLHRvb2x0aXBPcmlnaW5FbDoidG9vbHRpcE9yaWdpbkVsIix0b29sdGlwVGVtcGxhdGU6InRvb2x0aXBUZW1wbGF0ZSJ9LG91dHB1dHM6e29uVmlld0V4dGVudENoYW5nZToib25WaWV3RXh0ZW50Q2hhbmdlIixvblZpZXdFeHRlbnRSZXNldDoib25WaWV3RXh0ZW50UmVzZXQifSxmZWF0dXJlczpbamgoW3twcm92aWRlOk9CLHVzZUZhY3Rvcnk6Zmh0LGRlcHM6W0tCXX1dKSxxb10sZGVjbHM6MTIsdmFyczoxNSxjb25zdHM6W1sxLCJkb3RzIl0sWyJkb3RzIiwiIl0sWzQsIm5nSWYiXSxbImNsYXNzIiwiem9vbS1ib3giLDQsIm5nSWYiXSxbMSwiem9vbS1pbnN0cnVjdGlvbiJdLFsxLCJpbnN0cnVjdGlvbi1jb250ZW50Il0sWyJjZGtPdmVybGF5T3JpZ2luIiwiIiwxLCJ0b29sdGlwLW9yaWdpbiJdLFsidG9vbHRpcE9yaWdpbiIsImNka092ZXJsYXlPcmlnaW4iXSxbImNka0Nvbm5lY3RlZE92ZXJsYXkiLCIiLDMsImNka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW4iLCJjZGtDb25uZWN0ZWRPdmVybGF5T3BlbiIsImNka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnMiLCJjZGtDb25uZWN0ZWRPdmVybGF5U2Nyb2xsU3RyYXRlZ3kiLCJjZGtDb25uZWN0ZWRPdmVybGF5TG9ja1Bvc2l0aW9uIiwiY2RrQ29ubmVjdGVkT3ZlcmxheUZsZXhpYmxlRGltZW5zaW9ucyIsImNka0Nvbm5lY3RlZE92ZXJsYXlHcm93QWZ0ZXJPcGVuIiwiZGV0YWNoIl0sWyJkZWZhdWx0VG9vbHRpcCIsIiJdLFs0LCJuZ0ZvciIsIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiXSxbInIiLCI0Iiw0LCJuZ0lmIl0sWyJyIiwiNCJdLFsxLCJ6b29tLWJveCJdLFsxLCJ0b29sdGlwLWNvbnRhaW5lciJdLFszLCJuZ1RlbXBsYXRlT3V0bGV0IiwibmdUZW1wbGF0ZU91dGxldENvbnRleHQiXSxbMSwiY2lyY2xlLWhlYWRlciJdLFsxLCJ0b29sdGlwLXJvdyJdLFsxLCJ0b29sdGlwLXJvdy1jaXJjbGUiXSxbMSwibmFtZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYob2EoKSxDZigwLCJzdmciLDAsMSksSG0oMixyaHQsMiwyLCJuZy1jb250YWluZXIiLDIpLEhtKDMsc2h0LDEsNCwicmVjdCIsMyksTWYoKSxhYSgpLENmKDQsImRpdiIsNCksQ2YoNSwic3BhbiIsNSksUHUoNiwiQWx0ICsgU2Nyb2xsIHRvIFpvb20iKSxNZigpLE1mKCksdmYoNywiZGl2Iiw2LDcpLEhtKDksY2h0LDIsNSwibmctdGVtcGxhdGUiLDgpLFJmKCJkZXRhY2giLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub29sdGlwRGlzcGxheURldGFjaGVkKCl9KSksSG0oMTAscGh0LDEyLDIsIm5nLXRlbXBsYXRlIixudWxsLDkscXkpKSwyJmUmJihjdSgicGFubmFibGUiLG4uc3BlY2lhbEtleVByZXNzZWQpKCJkcmFnZ2FibGUiLG4uc3RhdGU9PT1uLkludGVyYWN0aW9uU3RhdGUuTk9ORXx8bi5zdGF0ZT09PW4uSW50ZXJhY3Rpb25TdGF0ZS5EUkFHX1pPT01JTkcpKCJwYW5uaW5nIixuLnN0YXRlPT09bi5JbnRlcmFjdGlvblN0YXRlLlBBTk5JTkcpLERjKDIpLGJmKCJuZ0lmIixuLnN0YXRlPT09bi5JbnRlcmFjdGlvblN0YXRlLk5PTkUpLERjKDEpLGJmKCJuZ0lmIixuLnN0YXRlPT09bi5JbnRlcmFjdGlvblN0YXRlLkRSQUdfWk9PTUlORyksRGMoNiksYmYoImNka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW4iLG4udG9vbHRpcE9yaWdpbkVsKSgiY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW4iLG4udG9vbHRpcERpc3BsYXlBdHRhY2hlZCYmbi5zdGF0ZT09PW4uSW50ZXJhY3Rpb25TdGF0ZS5OT05FKSgiY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9ucyIsbi50b29sdGlwUG9zaXRpb25zKSgiY2RrQ29ubmVjdGVkT3ZlcmxheVNjcm9sbFN0cmF0ZWd5IixuLnNjcm9sbFN0cmF0ZWd5KSgiY2RrQ29ubmVjdGVkT3ZlcmxheUxvY2tQb3NpdGlvbiIsITEpKCJjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zIiwhMCkoImNka0Nvbm5lY3RlZE92ZXJsYXlHcm93QWZ0ZXJPcGVuIiwhMCkpfSxkaXJlY3RpdmVzOltQdiwkQix0Vix4dixJdl0sc3R5bGVzOlsiW19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7dXNlci1zZWxlY3Q6bm9uZX0uZG90c1tfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uZG90cy5kcmFnZ2FibGVbX25nY29udGVudC0lQ09NUCVde2N1cnNvcjpjcm9zc2hhaXJ9LmRvdHMucGFubmFibGVbX25nY29udGVudC0lQ09NUCVde2N1cnNvcjpncmFifS5kb3RzLnBhbm5pbmdbX25nY29udGVudC0lQ09NUCVde2N1cnNvcjpncmFiYmluZ30udG9vbHRpcC1yb3ctY2lyY2xlW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTppbmxpbmUtZmxleDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS50b29sdGlwLXJvdy1jaXJjbGVbX25nY29udGVudC0lQ09NUCVdID4gc3Bhbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC42KTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTBweDt3aWR0aDoxMHB4fS50b29sdGlwLW9yaWdpbltfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9LnRvb2x0aXAtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjg1KTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO2NvbnRhaW46cGFpbnQgc3R5bGUgbGF5b3V0O2ZvbnQtc2l6ZTouOWVtO292ZXJmbG93OmF1dG87cGFkZGluZzo1cHg7cG9pbnRlci1ldmVudHM6bm9uZTt3aWR0aDoxMDAlfXRoW19uZ2NvbnRlbnQtJUNPTVAlXSwgdGRbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDVweDt0ZXh0LWFsaWduOmxlZnR9dGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWJvdHRvbTo1cHh9Lnpvb20tYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmaWxsLW9wYWNpdHk6LjAzO2ZpbGw6IzAwMDtzdHJva2U6I2NjY30uem9vbS1pbnN0cnVjdGlvbltfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xlZnQ6MDtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDoxMHB4O3RyYW5zaXRpb246b3BhY2l0eSAuNXM7ei1pbmRleDoxfS5pbnN0cnVjdGlvbi1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1yYWRpdXM6NXB4O2NvbG9yOiNmZmY7cGFkZGluZzo1cHggMTBweDt1c2VyLXNlbGVjdDpub25lfS5zaG93LXpvb20taW5zdHJ1Y3Rpb25bX25naG9zdC0lQ09NUCVdICAgLnpvb20taW5zdHJ1Y3Rpb25bX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodWh0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImxpbmUtY2hhcnQtaW50ZXJhY3RpdmUtdmlldyIsdGVtcGxhdGVVcmw6Ii4vbGluZV9jaGFydF9pbnRlcmFjdGl2ZV92aWV3Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vbGluZV9jaGFydF9pbnRlcmFjdGl2ZV92aWV3LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gscHJvdmlkZXJzOlt7cHJvdmlkZTpPQix1c2VGYWN0b3J5OmZodCxkZXBzOltLQl19XX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOk9ifSx7dHlwZTpPQn1dfSkse2RvdHNDb250YWluZXI6W3t0eXBlOmFyLGFyZ3M6WyJkb3RzIix7c3RhdGljOiEwLHJlYWQ6S2h9XX1dLG92ZXJsYXk6W3t0eXBlOmFyLGFyZ3M6W3RWXX1dLHNlcmllc0RhdGE6W3t0eXBlOlJffV0sc2VyaWVzTWV0YWRhdGFNYXA6W3t0eXBlOlJffV0sdmlld0V4dGVudDpbe3R5cGU6Ul99XSx4U2NhbGU6W3t0eXBlOlJffV0seVNjYWxlOlt7dHlwZTpSX31dLGRvbURpbTpbe3R5cGU6Ul99XSx0b29sdGlwT3JpZ2luRWw6W3t0eXBlOlJffV0sdG9vbHRpcFRlbXBsYXRlOlt7dHlwZTpSX31dLG9uVmlld0V4dGVudENoYW5nZTpbe3R5cGU6RV99XSxvblZpZXdFeHRlbnRSZXNldDpbe3R5cGU6RV99XSxzaG93Wm9vbUluc3RydWN0aW9uOlt7dHlwZTpBXyxhcmdzOlsiY2xhc3Muc2hvdy16b29tLWluc3RydWN0aW9uIl19XX0pO2Z1bmN0aW9uIGdodCh0LGUsbixvKXtyZXR1cm57bWFqb3I6W10sbWlub3I6dC50aWNrcyhvLG4pLm1hcCgodD0+KHt2YWx1ZTp0LHRpY2tGb3JtYXR0ZWRTdHJpbmc6ZS5mb3JtYXRUaWNrKHQpfSkpKX19ZnVuY3Rpb24gaGh0KHQsZSxuLG8pe2NvbnN0W2ksYV09byxyPU1hdGguYWJzKGEtaSk7aWYocj4uMDAxKXJldHVybiBnaHQodCxlLG4sbyk7Y29uc3Qgcz10LnRpY2tzKFtpLGFdLG4pLGw9dC50aWNrcyhbaSxhXSwyKSxjPVtdO2xldCBkPShmdW5jdGlvbiBwKHQpe2NvbnN0IGU9dC50b0V4cG9uZW50aWFsKCkuc3BsaXQoImUtIiwyKTtyZXR1cm4gMj09PWUubGVuZ3RoP051bWJlcihlWzFdKS0xOjB9KShyKTtyPDEmJmwuZXZlcnkoKHQ9Pntjb25zdCBlPU1hdGguYWJzKHQpO3JldHVybiBlPj0wJiZlPDF9KSkmJihkKz0xKTtjb25zdCBtPW5ldyBNYXA7Zm9yKGNvbnN0IHQgb2YgbCl7Y29uc3RbbixvPSIiXT1TdHJpbmcodCkuc3BsaXQoIi4iLDIpLGk9TnVtYmVyKG4rIi4iK28uc2xpY2UoMCxkKSk7bS5zZXQoaSx7c3RhcnQ6aSx0aWNrRm9ybWF0dGVkU3RyaW5nOjA9PT1pPyLigJQiOmUuZm9ybWF0UmVhZGFibGUoaSl9KX1jb25zdCBmPTEwKk1hdGgucG93KDEwLC1kKTtmb3IoY29uc3QgdCBvZiBzKWZvcihjb25zdCBuIG9mWy4uLm0ua2V5cygpXS5yZXZlcnNlKCkpe2NvbnN0IG89dC1uO2lmKG8+PTAmJm88Zil7aWYoMD09PW4pYy5wdXNoKHt2YWx1ZTp0LHRpY2tGb3JtYXR0ZWRTdHJpbmc6ZS5mb3JtYXRUaWNrKHQpfSk7ZWxzZXtjb25zdCBlPVN0cmluZyh0KS5zbGljZShTdHJpbmcobikubGVuZ3RoKTtjLnB1c2goe3ZhbHVlOnQsdGlja0Zvcm1hdHRlZFN0cmluZzpg4oCmJHtlfHwiMCJ9YH0pfWJyZWFrfX1yZXR1cm57bWFqb3I6QXJyYXkuZnJvbShtLnZhbHVlcygpKSxtaW5vcjpjfX1jb25zdCBiaHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCgiMmQiKTtmdW5jdGlvbiB5aHQodCxlKXtpZigxJnQmJihvYSgpLENmKDAsImciLDE3KSxDZigxLCJ0ZXh0IiksUHUoMiksTWYoKSxDZigzLCJ0aXRsZSIpLFB1KDQpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0LG49emYoKTtEYygxKSxsdSgiZm9udCIsbi5heGlzRm9udCkseW0oIngiLG4udGV4dFhQb3NpdGlvbih0LnZhbHVlKSkoInkiLG4udGV4dFlQb3NpdGlvbih0LnZhbHVlKSksRGMoMSksa3UoIiAiLHQudGlja0Zvcm1hdHRlZFN0cmluZywiICIpLERjKDIpLHd1KG4uZ2V0Rm9ybWF0dGVyKCkuZm9ybWF0TG9uZyh0LnZhbHVlKSl9fWZ1bmN0aW9uIF9odCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDIwKSxDZigxLCJzcGFuIiksUHUoMiksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj1lLmluZGV4LG89ZS5sYXN0LGk9emYoMik7bHUoImxlZnQiLGkuZ2V0TWFqb3JYUG9zaXRpb24odCksInB4IikoIndpZHRoIixpLmdldE1ham9yV2lkdGhTdHJpbmcodCxvLGkubWFqb3JUaWNrc1tuKzFdKSkoImJvdHRvbSIsaS5nZXRNYWpvcllQb3NpdGlvbih0KSwicHgiKSgiaGVpZ2h0IixpLmdldE1ham9ySGVpZ2h0U3RyaW5nKHQsbyxpLm1ham9yVGlja3NbbisxXSkpKCJmb250IixpLmF4aXNGb250KSxjdSgibWFqb3ItbGFiZWwiLCEwKSgibGFzdCIsbyksYmYoInRpdGxlIixpLmdldEZvcm1hdHRlcigpLmZvcm1hdExvbmcodC5zdGFydCkpLERjKDIpLHd1KHQudGlja0Zvcm1hdHRlZFN0cmluZyl9fWZ1bmN0aW9uIENodCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTgpLEhtKDEsX2h0LDMsMTYsInNwYW4iLDE5KSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxiZigibmdGb3JPZiIsdC5tYWpvclRpY2tzKSgibmdGb3JUcmFja0J5Iix0LnRyYWNrQnlNYWpvclRpY2spfX1jbGFzcyBNaHR7Y29uc3RydWN0b3IoKXt0aGlzLm9uVmlld0V4dGVudENoYW5nZT1uZXcgU3ksdGhpcy5lZGl0TWVudU9wZW5lZD0hMSx0aGlzLm1ham9yVGlja3M9W10sdGhpcy5taW5vclRpY2tzPVtdfW5nT25DaGFuZ2VzKCl7bGV0IHQ9bnVsbDtjb25zdCBlPVFndCgieCI9PT10aGlzLmF4aXM/dGhpcy5kb21EaW0ud2lkdGg6dGhpcy5kb21EaW0uaGVpZ2h0LHRoaXMuZ3JpZENvdW50KTt0PXRoaXMuc2NhbGUgaW5zdGFuY2VvZiBocnQ/aGh0KHRoaXMuc2NhbGUsdGhpcy5nZXRGb3JtYXR0ZXIoKSxlLHRoaXMuYXhpc0V4dGVudCk6dGhpcy5zY2FsZSBpbnN0YW5jZW9mIHlydD8oZnVuY3Rpb24gbih0LGUsbyxpKXtjb25zdFthLHJdPWk7bGV0IHM9dC50aWNrcyhpLDIpO2lmKHItYT49ODY0ZTV8fHMubGVuZ3RoPjIpcmV0dXJuIGdodCh0LGUsbyxpKTtjb25zdCBsPXQudGlja3MoaSxvKTtyZXR1cm57bWFqb3I6cy5tYXAoKHQ9Pih7c3RhcnQ6dCx0aWNrRm9ybWF0dGVkU3RyaW5nOmUuZm9ybWF0U2hvcnQodCl9KSkpLG1pbm9yOmwubWFwKCh0PT4oe3ZhbHVlOnQsdGlja0Zvcm1hdHRlZFN0cmluZzplLmZvcm1hdFRpY2sodCl9KSkpfX0pKHRoaXMuc2NhbGUsdGhpcy5nZXRGb3JtYXR0ZXIoKSxlLHRoaXMuYXhpc0V4dGVudCk6Z2h0KHRoaXMuc2NhbGUsdGhpcy5nZXRGb3JtYXR0ZXIoKSxlLHRoaXMuYXhpc0V4dGVudCksdGhpcy5tYWpvclRpY2tzPXQubWFqb3IsdGhpcy5taW5vclRpY2tzPShmdW5jdGlvbiBvKHQsZSxuLGksYT01KXtpZighdC5sZW5ndGh8fCFiaHQpcmV0dXJuIHQ7Y29uc3Qgcj0ieCI9PT1uPzE6LTE7bGV0IHM9bnVsbDtyZXR1cm4gdC5maWx0ZXIoKHQ9Pntjb25zdCBvPWUodCk7Ymh0LmZvbnQ9aTtjb25zdCBsPWJodC5tZWFzdXJlVGV4dCh0LnRpY2tGb3JtYXR0ZWRTdHJpbmcpLGM9IngiPT09bj9sLndpZHRoOmwuYWN0dWFsQm91bmRpbmdCb3hBc2NlbnQtbC5hY3R1YWxCb3VuZGluZ0JveERlc2NlbnQ7cmV0dXJuIG51bGw9PT1zPyEobytyKmM8MHx8KHM9bytyKmMsMCkpOiEocioocytyKmEtbyk+MHx8KHM9bytyKmMsMCkpfSkpfSkodC5taW5vciwodD0+dGhpcy5nZXREb21Qb3ModC52YWx1ZSkpLHRoaXMuYXhpcywiMTFweCBSb2JvdG8sIHNhbnMtc2VyaWYiKX1nZXRGb3JtYXR0ZXIoKXt2YXIgdDtyZXR1cm4gbnVsbCE9PSh0PXRoaXMuY3VzdG9tRm9ybWF0dGVyKSYmdm9pZCAwIT09dD90OnRoaXMuc2NhbGUuZGVmYXVsdEZvcm1hdHRlcn10cmFja0J5TWlub3JUaWNrKHQpe3JldHVybiB0LnZhbHVlfXRyYWNrQnlNYWpvclRpY2sodCl7cmV0dXJuIHQuc3RhcnR9Z2V0RG9tUG9zKHQpe3JldHVybiB0aGlzLnNjYWxlLmZvcndhcmQodGhpcy5heGlzRXh0ZW50LEpndCh0aGlzLmRvbURpbSx0aGlzLmF4aXMpLHQpfXRleHRYUG9zaXRpb24odCl7cmV0dXJuIngiPT09dGhpcy5heGlzP1N0cmluZyh0aGlzLmdldERvbVBvcyh0KSk6IjEwMCUifXRleHRZUG9zaXRpb24odCl7cmV0dXJuIngiPT09dGhpcy5heGlzPyIiOlN0cmluZyh0aGlzLmdldERvbVBvcyh0KSl9Z2V0TWFqb3JYUG9zaXRpb24odCl7cmV0dXJuInkiPT09dGhpcy5heGlzPzA6TWF0aC5taW4odGhpcy5kb21EaW0ud2lkdGgsTWF0aC5tYXgoMCx0aGlzLmdldERvbVBvcyh0LnN0YXJ0KSkpfWdldE1ham9yV2lkdGhTdHJpbmcodCxlLG4pe3JldHVybiJ5Ij09PXRoaXMuYXhpcz8iIjooZXx8IW4/dGhpcy5kb21EaW0ud2lkdGg6dGhpcy5nZXRNYWpvclhQb3NpdGlvbihuKSktdGhpcy5nZXRNYWpvclhQb3NpdGlvbih0KSsicHgifWdldE1ham9yWVBvc2l0aW9uKHQpe3JldHVybiJ4Ij09PXRoaXMuYXhpcz8wOnRoaXMuZG9tRGltLmhlaWdodC1NYXRoLm1pbih0aGlzLmRvbURpbS5oZWlnaHQsTWF0aC5tYXgoMCx0aGlzLmdldERvbVBvcyh0LnN0YXJ0KSkpfWdldE1ham9ySGVpZ2h0U3RyaW5nKHQsZSxuKXtyZXR1cm4ieCI9PT10aGlzLmF4aXM/IiI6KGV8fCFuP3RoaXMuZG9tRGltLmhlaWdodDp0aGlzLmdldE1ham9yWVBvc2l0aW9uKG4pKS10aGlzLmdldE1ham9yWVBvc2l0aW9uKHQpKyJweCJ9a2V5ZG93blByZXZlbnRDbG9zZSh0KXsiRXNjYXBlIiE9PXQua2V5JiZ0LnN0b3BQcm9wYWdhdGlvbigpfWV4dGVudENoYW5nZWQodCxlKXtsZXQgbj1OdW1iZXIodCksbz1OdW1iZXIoZSk7aWYobzxuKXtjb25zdCB0PW47bj1vLG89dH1OdW1iZXIuaXNGaW5pdGUobikmJk51bWJlci5pc0Zpbml0ZShvKSYmdGhpcy5vblZpZXdFeHRlbnRDaGFuZ2UuZW1pdChbbixvXSl9b25BeGlzVXBkYXRlTWVudU9wZW4odCxlLG4pe3QudmFsdWU9U3RyaW5nKG5bMF0pLGUudmFsdWU9U3RyaW5nKG5bMV0pLHQuZm9jdXMoKX1zZXRFZGl0TWVudU9wZW5lZCh0KXt0aGlzLmVkaXRNZW51T3BlbmVkPXR9fU1odC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TWh0KX0sTWh0Lsm1Y21wPXNvKHt0eXBlOk1odCxzZWxlY3RvcnM6W1sibGluZS1jaGFydC1heGlzIl1dLGlucHV0czp7YXhpc0V4dGVudDoiYXhpc0V4dGVudCIsYXhpczoiYXhpcyIsc2NhbGU6InNjYWxlIixncmlkQ291bnQ6ImdyaWRDb3VudCIsZG9tRGltOiJkb21EaW0iLGN1c3RvbUZvcm1hdHRlcjoiY3VzdG9tRm9ybWF0dGVyIn0sb3V0cHV0czp7b25WaWV3RXh0ZW50Q2hhbmdlOiJvblZpZXdFeHRlbnRDaGFuZ2UifSxmZWF0dXJlczpbcW9dLGRlY2xzOjI2LHZhcnM6MTMsY29uc3RzOltbMSwibGluZSJdLFsxLCJtaW5vciJdLFsxLCJ0aWNrcyJdLFsiY2xhc3MiLCJtaW5vci10aWNrLWxhYmVsIiw0LCJuZ0ZvciIsIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsInRpdGxlIiwiQ2xpY2sgdG8gbWFudWFsbHkgc2V0IG1pbiAmIG1heCB2YWx1ZXMiLDMsIm1hdE1lbnVUcmlnZ2VyRm9yIiwibWVudU9wZW5lZCIsIm1lbnVDbG9zZWQiXSxbIm1hdE1lbnVUcmlnZ2VyIiwibWF0TWVudVRyaWdnZXIiXSxbInN2Z0ljb24iLCJlZGl0XzI0cHgiXSxbImNsYXNzIiwibWFqb3IgdGlja3MiLDQsIm5nSWYiXSxbInhQb3NpdGlvbiIsImJlZm9yZSIsMywieVBvc2l0aW9uIl0sWyJtYW51YWxDb250cm9sIiwibWF0TWVudSJdLFsxLCJleHRlbnQtZWRpdC1pbnB1dCIsMywiY2xpY2siLCJrZXlkb3duIl0sWyJ0eXBlIiwibnVtYmVyIiwzLCJ2YWx1ZSJdLFsibWluSW5wdXQiLCIiXSxbIm1heElucHV0IiwiIl0sWzEsImV4dGVudC1lZGl0LWNvbnRyb2wiLDMsImtleWRvd24iXSxbIm1hdC1yYWlzZWQtYnV0dG9uIiwiIiwiY29sb3IiLCJwcmltYXJ5IiwxLCJleHRlbnQtZWRpdC1jaGFuZ2UiLDMsImNsaWNrIl0sWyJtYXQtc3Ryb2tlZC1idXR0b24iLCIiLDEsImV4dGVudC1lZGl0LWNhbmNlbCIsMywiY2xpY2siXSxbMSwibWlub3ItdGljay1sYWJlbCJdLFsxLCJtYWpvciIsInRpY2tzIl0sWzMsIm1ham9yLWxhYmVsIiwibGFzdCIsImxlZnQiLCJ3aWR0aCIsImJvdHRvbSIsImhlaWdodCIsImZvbnQiLCJ0aXRsZSIsNCwibmdGb3IiLCJuZ0Zvck9mIiwibmdGb3JUcmFja0J5Il0sWzMsInRpdGxlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiKSx2ZigxLCJkaXYiLDApLENmKDIsImRpdiIsMSksb2EoKSxDZigzLCJzdmciLDIpLEhtKDQseWh0LDUsNiwiZyIsMyksTWYoKSxhYSgpLENmKDUsImJ1dHRvbiIsNCw1KSxSZigibWVudU9wZW5lZCIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtjb25zdCBvPUZtKDE1KSxpPUZtKDIwKTtyZXR1cm4gbi5vbkF4aXNVcGRhdGVNZW51T3BlbihvLGksbi5heGlzRXh0ZW50KSxuLnNldEVkaXRNZW51T3BlbmVkKCEwKX0pKSgibWVudUNsb3NlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5zZXRFZGl0TWVudU9wZW5lZCghMSl9KSksdmYoNywibWF0LWljb24iLDYpLE1mKCksTWYoKSxIbSg4LENodCwyLDIsImRpdiIsNyksTWYoKSxDZig5LCJtYXQtbWVudSIsOCw5KSxDZigxMSwiZGl2IiwxMCksUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKX0pKSgia2V5ZG93biIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ua2V5ZG93blByZXZlbnRDbG9zZShlKX0pKSxDZigxMiwibGFiZWwiKSxQdSgxMywibWluIiksTWYoKSx2ZigxNCwiaW5wdXQiLDExLDEyKSxNZigpLENmKDE2LCJkaXYiLDEwKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpfSkpKCJrZXlkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5rZXlkb3duUHJldmVudENsb3NlKGUpfSkpLENmKDE3LCJsYWJlbCIpLFB1KDE4LCJtYXgiKSxNZigpLHZmKDE5LCJpbnB1dCIsMTEsMTMpLE1mKCksQ2YoMjEsImRpdiIsMTQpLFJmKCJrZXlkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5rZXlkb3duUHJldmVudENsb3NlKGUpfSkpLENmKDIyLCJidXR0b24iLDE1KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7Y29uc3Qgbz1GbSgxNSksaT1GbSgyMCksYT1GbSg2KTtyZXR1cm4gbi5leHRlbnRDaGFuZ2VkKG8udmFsdWUsaS52YWx1ZSksYS5jbG9zZU1lbnUoKX0pKSxQdSgyMywiIENoYW5nZSAiKSxNZigpLENmKDI0LCJidXR0b24iLDE2KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIEZtKDYpLmNsb3NlTWVudSgpfSkpLFB1KDI1LCIgQ2FuY2VsICIpLE1mKCksTWYoKSxNZigpfWlmKDImZSl7Y29uc3QgdD1GbSgxMCk7bXUobi5heGlzKyItYXhpcyBheGlzIiksRGMoNCksYmYoIm5nRm9yT2YiLG4ubWlub3JUaWNrcykoIm5nRm9yVHJhY2tCeSIsbi50cmFja0J5TWlub3JUaWNrKSxEYygxKSxjdSgiZXh0ZW50LWVkaXQtYnV0dG9uIiwhMCkoImV4dGVudC1lZGl0LW1lbnUtb3BlbmVkIixuLmVkaXRNZW51T3BlbmVkKSxiZigibWF0TWVudVRyaWdnZXJGb3IiLHQpLERjKDMpLGJmKCJuZ0lmIixuLm1ham9yVGlja3MubGVuZ3RoKSxEYygxKSxiZigieVBvc2l0aW9uIiwieSI9PT1uLmF4aXM/ImFib3ZlIjoiYmVsb3ciKSxEYyg1KSxiZigidmFsdWUiLG4uYXhpc0V4dGVudFswXSksRGMoNSksYmYoInZhbHVlIixuLmF4aXNFeHRlbnRbMV0pfX0sZGlyZWN0aXZlczpbeHYsTkwscXEsTXEsUHYsanFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17Y29udGFpbjpzdHJpY3Q7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbn0ubWFqb3ItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCB0ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmaWxsOmN1cnJlbnRDb2xvcjtmb250LXNpemU6MTFweDt1c2VyLXNlbGVjdDpub25lfS5heGlzW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ubWFqb3JbX25nY29udGVudC0lQ09NUCVdLCAubWlub3JbX25nY29udGVudC0lQ09NUCVde2ZsZXg6MSAwO292ZXJmbG93OmhpZGRlbn0ubGluZVtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojYWFhO2ZsZXg6MCAwIDFweDtqdXN0aWZ5LWNvbnRlbnQ6c3RyZXRjaH0udGlja3NbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9LngtYXhpc1tfbmdjb250ZW50LSVDT01QJV17ZmxleC1kaXJlY3Rpb246Y29sdW1ufS54LWF4aXNbX25nY29udGVudC0lQ09NUCVdICAgLmxpbmVbX25nY29udGVudC0lQ09NUCVde21hcmdpbi1ib3R0b206M3B4fS54LWF4aXNbX25nY29udGVudC0lQ09NUCVdICAgdGV4dFtfbmdjb250ZW50LSVDT01QJV17ZG9taW5hbnQtYmFzZWxpbmU6dGV4dC1iZWZvcmUtZWRnZTt0ZXh0LWFuY2hvcjptaWRkbGV9LngtYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAudGlja3NbX25nY29udGVudC0lQ09NUCVdey13ZWJraXQtbWFzay1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwMDAwIDAlLCAjMDAwIDEwJSwgIzAwMCA5MCUsICMwMDAwIDEwMCUpO21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDAwMCAwJSwgIzAwMCAxMCUsICMwMDAgOTAlLCAjMDAwMCAxMDAlKX0ueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZX0ueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tbGVmdDo1cHh9LnktYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICB0ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtkb21pbmFudC1iYXNlbGluZTpjZW50cmFsO3RleHQtYW5jaG9yOmVuZH0ueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC50aWNrc1tfbmdjb250ZW50LSVDT01QJV17LXdlYmtpdC1tYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwMDAwIDAlLCAjMDAwIDEwJSwgIzAwMCA5MCUsICMwMDAwIDEwMCUpO21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwMDAgMCUsICMwMDAgMTAlLCAjMDAwIDkwJSwgIzAwMDAgMTAwJSl9LmV4dGVudC1lZGl0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZWVlO2ZvbnQtc2l6ZTowO2hlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OjI0cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6NXB4O3RvcDo1cHg7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MjRweH0uZXh0ZW50LWVkaXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIG1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4O2xpbmUtaGVpZ2h0OjE2cHh9LmV4dGVudC1lZGl0LWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7Y29sdW1uLWdhcDo1cHg7ZGlzcGxheTpncmlkO2ZvbnQtc2l6ZToxMnB4O2dyaWQtdGVtcGxhdGUtY29sdW1uczozMHB4IG1pbm1heChhdXRvLCAxMDBweCk7aGVpZ2h0OjMwcHg7bWFyZ2luOjEwcHggMjBweH0uZXh0ZW50LWVkaXQtaW5wdXRbX25nY29udGVudC0lQ09NUCVdICAgaW5wdXRbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6aW5oZXJpdDtib3JkZXItcmFkaXVzOjRweDtib3JkZXItc3R5bGU6c29saWQ7Y29sb3I6aW5oZXJpdH0uZXh0ZW50LWVkaXQtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZTtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWFyZ2luOjEwcHggMjBweH0uZXh0ZW50LWVkaXQtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV0gICBidXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjEuNDttYXJnaW4tbGVmdDo1cHg7cGFkZGluZzowIDEwcHh9LmF4aXNbX25nY29udGVudC0lQ09NUCVdOmhvdmVyICAgLmV4dGVudC1lZGl0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5heGlzW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cy13aXRoaW4gICAuZXh0ZW50LWVkaXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmV4dGVudC1lZGl0LW1lbnUtb3BlbmVkW19uZ2NvbnRlbnQtJUNPTVAlXXt2aXNpYmlsaXR5OnZpc2libGV9Lm1ham9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47Y29udGFpbjpzdHJpY3R9Lm1ham9yW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYWpvci1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3doaXRlLXNwYWNlOm5vd3JhcH0ubWFqb3JbX25nY29udGVudC0lQ09NUCVdICAgLm1ham9yLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHNwYW5bX25nY29udGVudC0lQ09NUCVde21heC13aWR0aDoxMDAlfS54LWF4aXNbX25nY29udGVudC0lQ09NUCVdICAgLm1ham9yLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItbGVmdDoxcHggc29saWQgIzllOWU5ZTtwYWRkaW5nOjAgNXB4fS54LWF4aXNbX25nY29udGVudC0lQ09NUCVdICAgLm1ham9yLWxhYmVsLmxhc3RbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1yaWdodDoxcHggc29saWQgIzllOWU5ZX0ueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYWpvci1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzllOWU5ZTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjVweCAwO3dpZHRoOjEwMCV9LnktYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAubWFqb3ItbGFiZWwubGFzdFtfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXRvcDoxcHggc29saWQgIzllOWU5ZX0ueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYWpvci1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0gPiBzcGFuW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKE1odCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJsaW5lLWNoYXJ0LWF4aXMiLHRlbXBsYXRlVXJsOiJsaW5lX2NoYXJ0X2F4aXNfdmlldy5uZy5odG1sIixzdHlsZVVybHM6WyJsaW5lX2NoYXJ0X2F4aXNfdmlldy5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtheGlzRXh0ZW50Olt7dHlwZTpSX31dLGF4aXM6W3t0eXBlOlJffV0sc2NhbGU6W3t0eXBlOlJffV0sZ3JpZENvdW50Olt7dHlwZTpSX31dLGRvbURpbTpbe3R5cGU6Ul99XSxjdXN0b21Gb3JtYXR0ZXI6W3t0eXBlOlJffV0sb25WaWV3RXh0ZW50Q2hhbmdlOlt7dHlwZTpFX31dfSk7Y29uc3Qgdmh0PVsic2VyaWVzVmlldyJdLHhodD1bInhBeGlzIl0sT2h0PVsieUF4aXMiXSxQaHQ9WyJjaGFydEVsIl07ZnVuY3Rpb24gd2h0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJsaW5lLWNoYXJ0LWdyaWQtdmlldyIsMTUpLDImdCl7Y29uc3QgdD16ZigpO2JmKCJ2aWV3RXh0ZW50Iix0LnZpZXdCb3gpKCJ4U2NhbGUiLHQueFNjYWxlKSgieVNjYWxlIix0LnlTY2FsZSkoInhHcmlkQ291bnQiLHQuWF9HUklEX0NPVU5UKSgieUdyaWRDb3VudCIsdC5ZX0dSSURfQ09VTlQpKCJkb21EaW0iLHQuZG9tRGltZW5zaW9ucy5tYWluKX19ZnVuY3Rpb24ga2h0KHQsZSl7MSZ0JiYob2EoKSx2ZigwLCJzdmciLG51bGwsMTYpKX1mdW5jdGlvbiBTaHQodCxlKXsxJnQmJnZmKDAsImNhbnZhcyIsbnVsbCwxNil9ZnVuY3Rpb24gRGh0KHQsZSl7aWYoMSZ0JiYoeGYoMCksSG0oMSxraHQsMiwwLCJzdmciLDUpLEhtKDIsU2h0LDIsMCwiY2FudmFzIiw1KSxPZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxiZigibmdJZiIsdC5nZXRSZW5kZXJlclR5cGUoKT09PXQuUmVuZGVyZXJUeXBlLlNWRyksRGMoMSksYmYoIm5nSWYiLHQuZ2V0UmVuZGVyZXJUeXBlKCk9PT10LlJlbmRlcmVyVHlwZS5XRUJHTCl9fWZ1bmN0aW9uIFJodCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImxpbmUtY2hhcnQtaW50ZXJhY3RpdmUtdmlldyIsMTcpLFJmKCJvblZpZXdFeHRlbnRDaGFuZ2UiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLm9uVmlld0JveENoYW5nZWQobil9KSkoIm9uVmlld0V4dGVudFJlc2V0IiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLnZpZXdCb3hSZXNldCgpfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCksZT1GbSgxKTtiZigic2VyaWVzRGF0YSIsdC5zZXJpZXNEYXRhKSgic2VyaWVzTWV0YWRhdGFNYXAiLHQuc2VyaWVzTWV0YWRhdGFNYXApKCJ2aWV3RXh0ZW50Iix0LnZpZXdCb3gpKCJ4U2NhbGUiLHQueFNjYWxlKSgieVNjYWxlIix0LnlTY2FsZSkoInRvb2x0aXBPcmlnaW5FbCIsZSkoImRvbURpbSIsdC5kb21EaW1lbnNpb25zLm1haW4pKCJ0b29sdGlwVGVtcGxhdGUiLHQudG9vbHRpcFRlbXBsYXRlKX19Y29uc3QgRWh0PWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybnt4U2NhbGU6dCx5U2NhbGU6ZSxkb21EaW1lbnNpb246bix2aWV3RXh0ZW50Om99fTtmdW5jdGlvbiBBaHQodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDE4KSxQZigxLDE5KSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxiZigibmdUZW1wbGF0ZU91dGxldCIsdC5jdXN0b21WaXNUZW1wbGF0ZSkoIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IixzeSgyLEVodCx0LnhTY2FsZSx0LnlTY2FsZSx0LmRvbURpbWVuc2lvbnMubWFpbix0LnZpZXdCb3gpKX19ZnVuY3Rpb24gVGh0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibGluZS1jaGFydC1heGlzIiwyMCksUmYoIm9uVmlld0V4dGVudENoYW5nZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25WaWV3Qm94Q2hhbmdlZEZyb21BeGlzKG4sInkiKX0pKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2JmKCJheGlzRXh0ZW50Iix0LnZpZXdCb3gueSkoImN1c3RvbUZvcm1hdHRlciIsdC5jdXN0b21ZRm9ybWF0dGVyKSgiZG9tRGltIix0LmRvbURpbWVuc2lvbnMueUF4aXMpKCJncmlkQ291bnQiLHQuWV9HUklEX0NPVU5UKSgic2NhbGUiLHQueVNjYWxlKX19ZnVuY3Rpb24gTmh0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibGluZS1jaGFydC1heGlzIiwyMSksUmYoIm9uVmlld0V4dGVudENoYW5nZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkub25WaWV3Qm94Q2hhbmdlZEZyb21BeGlzKG4sIngiKX0pKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigpO2JmKCJheGlzRXh0ZW50Iix0LnZpZXdCb3gueCkoImN1c3RvbUZvcm1hdHRlciIsdC5jdXN0b21YRm9ybWF0dGVyKSgiZG9tRGltIix0LmRvbURpbWVuc2lvbnMueEF4aXMpKCJncmlkQ291bnQiLHQuWF9HUklEX0NPVU5UKSgic2NhbGUiLHQueFNjYWxlKX19Y29uc3Qgemh0PWZ1bmN0aW9uKHQsZSxuLG8saSl7cmV0dXJue3hTY2FsZTp0LHlTY2FsZTplLGRvbURpbWVuc2lvbjpuLHZpZXdFeHRlbnQ6byxmb3JtYXR0ZXI6aX19O2Z1bmN0aW9uIElodCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTgpLFBmKDEsMTkpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0Iix0LmN1c3RvbVhBeGlzVGVtcGxhdGUpKCJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCIsbHkoMix6aHQsdC54U2NhbGUsdC55U2NhbGUsdC5kb21EaW1lbnNpb25zLnhBeGlzLHQudmlld0JveCx0LmN1c3RvbVhGb3JtYXR0ZXJ8fHQueFNjYWxlLmRlZmF1bHRGb3JtYXR0ZXIpKX19ZnVuY3Rpb24gSGh0KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwyMiksdmYoMSwic3BhbiIsMjMpLE1mKCkpfWNvbnN0IEZodD1mdW5jdGlvbih0LGUpe3JldHVybntjb250YWluZXI6ITAsImRhcmstbW9kZSI6dCwibGluZS1vbmx5LW1vZGUiOmV9fSxMaHQ9e3g6WzAsMV0seTpbMCwxXX07Y2xhc3MgQmh0e2NvbnN0cnVjdG9yKHQpe3RoaXMuY2hhbmdlRGV0ZWN0b3I9dCx0aGlzLlJlbmRlcmVyVHlwZT1lNix0aGlzLnVzZURhcmtNb2RlPSExLHRoaXMucHJlZmVycmVkUmVuZGVyZXJUeXBlPWU2LldFQkdMLHRoaXMueFNjYWxlVHlwZT1uNi5MSU5FQVIsdGhpcy55U2NhbGVUeXBlPW42LkxJTkVBUix0aGlzLmxpbmVPbmx5PSExLHRoaXMub25WaWV3Qm94T3ZlcnJpZGRlbj1uZXcgVygxKSx0aGlzLmlnbm9yZVlPdXRsaWVycz0hMSx0aGlzLllfR1JJRF9DT1VOVD02LHRoaXMuWF9HUklEX0NPVU5UPTEwLHRoaXMueFNjYWxlPWdydCh0aGlzLnhTY2FsZVR5cGUpLHRoaXMueVNjYWxlPWdydCh0aGlzLnhTY2FsZVR5cGUpLHRoaXMudmlld0JveD1MaHQsdGhpcy5kb21EaW1lbnNpb25zPXttYWluOnt3aWR0aDowLGhlaWdodDowfSx4QXhpczp7d2lkdGg6MCxoZWlnaHQ6MH0seUF4aXM6e3dpZHRoOjAsaGVpZ2h0OjB9fSx0aGlzLnNob3dDaGFydFJlbmRlcmVyRWxlbWVudD0hMCx0aGlzLmxpbmVDaGFydD1udWxsLHRoaXMuaXNEYXRhVXBkYXRlZD0hMSx0aGlzLmlzTWV0YWRhdGFVcGRhdGVkPSExLHRoaXMuaXNGaXhlZFZpZXdCb3hVcGRhdGVkPSExLHRoaXMuaXNWaWV3Qm94T3ZlcnJpZGRlbj0hMSx0aGlzLnVzZURhcmtNb2RlVXBkYXRlZD0hMSx0aGlzLmlzVmlld0JveENoYW5nZWQ9ITAsdGhpcy5zY2FsZVVwZGF0ZWQ9ITAsdGhpcy5pc1JlbmRlcmluZ0NvbnRleHRMb3N0PSExfW5nT25Jbml0KCl7dGhpcy5vblZpZXdCb3hPdmVycmlkZGVuLm5leHQodGhpcy5pc1ZpZXdCb3hPdmVycmlkZGVuKX1uZ09uQ2hhbmdlcyh0KXt0LnhTY2FsZVR5cGUmJih0aGlzLnhTY2FsZT1ncnQodGhpcy54U2NhbGVUeXBlKSx0aGlzLnNjYWxlVXBkYXRlZD0hMCksdC55U2NhbGVUeXBlJiYodGhpcy55U2NhbGU9Z3J0KHRoaXMueVNjYWxlVHlwZSksdGhpcy5zY2FsZVVwZGF0ZWQ9ITApLHQuc2VyaWVzRGF0YSYmKHRoaXMuaXNEYXRhVXBkYXRlZD0hMCksdC5maXhlZFZpZXdCb3gmJih0aGlzLmlzRml4ZWRWaWV3Qm94VXBkYXRlZD0hMCksdC5zZXJpZXNNZXRhZGF0YU1hcCYmKHRoaXMuaXNNZXRhZGF0YVVwZGF0ZWQ9ITApLHQudXNlRGFya01vZGUmJih0aGlzLnVzZURhcmtNb2RlVXBkYXRlZD0hMCksdGhpcy5zY2FsZVVwZGF0ZWQmJnRoaXMuc2V0SXNWaWV3Qm94T3ZlcnJpZGRlbighMSksdGhpcy5pc1ZpZXdCb3hDaGFuZ2VkPXRoaXMuaXNWaWV3Qm94Q2hhbmdlZHx8dGhpcy5zY2FsZVVwZGF0ZWR8fCF0aGlzLmlzVmlld0JveE92ZXJyaWRkZW4mJnRoaXMuc2hvdWxkVXBkYXRlRGVmYXVsdFZpZXdCb3godCksdGhpcy51cGRhdGVMaW5lQ2hhcnQoKX1uZ0FmdGVyVmlld0luaXQoKXt0aGlzLmluaXRpYWxpemVDaGFydCgpLHRoaXMudXBkYXRlTGluZUNoYXJ0KCksdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCl9cmVjb3ZlclJlbmRlcmVySWZOZWVkZWQoKXt0aGlzLmlzUmVuZGVyaW5nQ29udGV4dExvc3QmJiF0aGlzLmRpc2FibGVVcGRhdGUmJih0aGlzLnNob3dDaGFydFJlbmRlcmVyRWxlbWVudD0hMSx0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKSx0aGlzLnNob3dDaGFydFJlbmRlcmVyRWxlbWVudD0hMCx0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKSx0aGlzLmluaXRpYWxpemVDaGFydCgpLHRoaXMuc2NhbGVVcGRhdGVkPSEwLHRoaXMuaXNNZXRhZGF0YVVwZGF0ZWQ9ITAsdGhpcy5pc0RhdGFVcGRhdGVkPSEwLHRoaXMudXNlRGFya01vZGVVcGRhdGVkPSEwLHRoaXMuaXNGaXhlZFZpZXdCb3hVcGRhdGVkPSEwLHRoaXMuaXNWaWV3Qm94Q2hhbmdlZD0hMCx0aGlzLmlzUmVuZGVyaW5nQ29udGV4dExvc3Q9ITEpfW9uVmlld1Jlc2l6ZSgpe3RoaXMubGluZUNoYXJ0JiYodGhpcy5yZWFkQW5kVXBkYXRlRG9tRGltZW5zaW9ucygpLHRoaXMubGluZUNoYXJ0LnJlc2l6ZSh0aGlzLmRvbURpbWVuc2lvbnMubWFpbiksdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCkpfXNob3VsZFVwZGF0ZURlZmF1bHRWaWV3Qm94KHQpe2lmKHQueFNjYWxlVHlwZXx8dC55U2NhbGVUeXBlfHx0Lmlnbm9yZVlPdXRsaWVycylyZXR1cm4hMDtpZih0LnNlcmllc0RhdGEpcmV0dXJuITA7Y29uc3QgZT10LnNlcmllc01ldGFkYXRhTWFwO2lmKGUpe2NvbnN0IHQ9ZS5wcmV2aW91c1ZhbHVlO2lmKE9iamVjdC5rZXlzKHRoaXMuc2VyaWVzTWV0YWRhdGFNYXApLmxlbmd0aCE9PU9iamVjdC5rZXlzKG51bGwhPXQ/dDp7fSkubGVuZ3RoKXJldHVybiEwO2Zvcihjb25zdFtlLG5db2YgT2JqZWN0LmVudHJpZXModGhpcy5zZXJpZXNNZXRhZGF0YU1hcCkpe2NvbnN0IG89dCYmdFtlXTtpZighb3x8bi52aXNpYmxlIT09by52aXNpYmxlKXJldHVybiEwfX1yZXR1cm4hMX1vbkNvbnRleHRMb3N0KCl7dGhpcy5pc1JlbmRlcmluZ0NvbnRleHRMb3N0PSEwLHRoaXMubGluZUNoYXJ0JiYodGhpcy5saW5lQ2hhcnQuZGlzcG9zZSgpLHRoaXMubGluZUNoYXJ0PW51bGwpfXRyaWdnZXJDb250ZXh0TG9zdEZvclRlc3QoKXt0aGlzLm9uQ29udGV4dExvc3QoKX1nZXRMaW5lQ2hhcnRGb3JUZXN0KCl7cmV0dXJuIHRoaXMubGluZUNoYXJ0fWluaXRpYWxpemVDaGFydCgpe3RoaXMubGluZUNoYXJ0JiZ0aGlzLmxpbmVDaGFydC5kaXNwb3NlKCk7Y29uc3QgdD10aGlzLmdldFJlbmRlcmVyVHlwZSgpLGU9e29uRHJhd0VuZDooKT0+e30sb25Db250ZXh0TG9zdDp0aGlzLm9uQ29udGV4dExvc3QuYmluZCh0aGlzKX07bGV0IG49bnVsbDtzd2l0Y2godGhpcy5yZWFkQW5kVXBkYXRlRG9tRGltZW5zaW9ucygpLHQpe2Nhc2UgZTYuU1ZHOm49e3R5cGU6ZTYuU1ZHLGNvbnRhaW5lcjp0aGlzLmNoYXJ0RWwubmF0aXZlRWxlbWVudCxjYWxsYmFja3M6ZSxkb21EaW1lbnNpb246dGhpcy5kb21EaW1lbnNpb25zLm1haW4sdXNlRGFya01vZGU6dGhpcy51c2VEYXJrTW9kZX07YnJlYWs7Y2FzZSBlNi5XRUJHTDpuPXt0eXBlOmU2LldFQkdMLGNvbnRhaW5lcjp0aGlzLmNoYXJ0RWwubmF0aXZlRWxlbWVudCxkZXZpY2VQaXhlbFJhdGlvOndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvLGNhbGxiYWNrczplLGRvbURpbWVuc2lvbjp0aGlzLmRvbURpbWVuc2lvbnMubWFpbix1c2VEYXJrTW9kZTp0aGlzLnVzZURhcmtNb2RlfTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgPGxpbmUtY2hhcnQ+IGRvZXMgbm90IHlldCBzdXBwb3J0IHJlbmRlcmVyVHlwZTogJHt0fWApfWNvbnN0IG89dCE9PWU2LlNWRyYmQ3J0KCk7dGhpcy5saW5lQ2hhcnQ9bmV3KG8/WGd0OkdndCkobil9bmdPbkRlc3Ryb3koKXt0aGlzLmxpbmVDaGFydCYmdGhpcy5saW5lQ2hhcnQuZGlzcG9zZSgpfWdldFJlbmRlcmVyVHlwZSgpe3JldHVybiBLZ3QodGhpcy5wcmVmZXJyZWRSZW5kZXJlclR5cGUpfXJlYWRBbmRVcGRhdGVEb21EaW1lbnNpb25zKCl7dGhpcy5kb21EaW1lbnNpb25zPXttYWluOnt3aWR0aDp0aGlzLnNlcmllc1ZpZXcubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCxoZWlnaHQ6dGhpcy5zZXJpZXNWaWV3Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0fSx4QXhpczp7d2lkdGg6dGhpcy54QXhpcy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoLGhlaWdodDp0aGlzLnhBeGlzLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0fSx5QXhpczp7d2lkdGg6dGhpcy55QXhpcy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoLGhlaWdodDp0aGlzLnlBeGlzLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0fX19dXBkYXRlTGluZUNoYXJ0KCl7dmFyIHQsZTtpZih0aGlzLnJlY292ZXJSZW5kZXJlcklmTmVlZGVkKCksIXRoaXMubGluZUNoYXJ0fHx0aGlzLmRpc2FibGVVcGRhdGUpcmV0dXJuO2lmKHRoaXMuc2NhbGVVcGRhdGVkJiYodGhpcy5zY2FsZVVwZGF0ZWQ9ITEsdGhpcy5saW5lQ2hhcnQuc2V0WFNjYWxlVHlwZSh0aGlzLnhTY2FsZVR5cGUpLHRoaXMubGluZUNoYXJ0LnNldFlTY2FsZVR5cGUodGhpcy55U2NhbGVUeXBlKSksdGhpcy5pc01ldGFkYXRhVXBkYXRlZCYmKHRoaXMuaXNNZXRhZGF0YVVwZGF0ZWQ9ITEsdGhpcy5saW5lQ2hhcnQuc2V0TWV0YWRhdGEodGhpcy5zZXJpZXNNZXRhZGF0YU1hcCkpLHRoaXMuaXNEYXRhVXBkYXRlZCYmKHRoaXMuaXNEYXRhVXBkYXRlZD0hMSx0aGlzLmxpbmVDaGFydC5zZXREYXRhKHRoaXMuc2VyaWVzRGF0YSkpLHRoaXMudXNlRGFya01vZGVVcGRhdGVkJiYodGhpcy51c2VEYXJrTW9kZVVwZGF0ZWQ9ITEsdGhpcy5saW5lQ2hhcnQuc2V0VXNlRGFya01vZGUodGhpcy51c2VEYXJrTW9kZSkpLCF0aGlzLmlzVmlld0JveE92ZXJyaWRkZW4mJnRoaXMuZml4ZWRWaWV3Qm94KXRoaXMudmlld0JveD10aGlzLmZpeGVkVmlld0JveDtlbHNlIGlmKCF0aGlzLmlzVmlld0JveE92ZXJyaWRkZW4mJnRoaXMuaXNWaWV3Qm94Q2hhbmdlZCl7Y29uc3Qgbj0oZnVuY3Rpb24gbyh0LGUsbixpLGEpe2xldCByPW51bGwscz1udWxsLGw9W107Zm9yKGNvbnN0e2lkOm4scG9pbnRzOm99b2YgdCl7Y29uc3QgdD1lW25dO2lmKHQmJiF0LmF1eCYmdC52aXNpYmxlKWZvcihsZXQgdD0wO3Q8by5sZW5ndGg7dCsrKXtjb25zdHt4OmUseTpufT1vW3RdO2koZSkmJihyPW51bGw9PT1yfHxlPHI/ZTpyLHM9bnVsbD09PXN8fGU+cz9lOnMpLGEobikmJmwucHVzaChuKX19bC5zb3J0KHU2KTtsZXQgYz1sWzBdLGQ9bFtsLmxlbmd0aC0xXTtyZXR1cm4gbiYmbC5sZW5ndGg+MiYmKGM9bFtNYXRoLmNlaWwoLjA1KihsLmxlbmd0aC0xKSldLGQ9bFtNYXRoLmZsb29yKC45NSoobC5sZW5ndGgtMSkpXSkse3g6bnVsbCE9PXImJm51bGwhPT1zP1tyLHNdOnZvaWQgMCx5OnZvaWQgMCE9PWMmJnZvaWQgMCE9PWQ/W2MsZF06dm9pZCAwfX0pKHRoaXMuc2VyaWVzRGF0YSx0aGlzLnNlcmllc01ldGFkYXRhTWFwLHRoaXMuaWdub3JlWU91dGxpZXJzLHRoaXMueFNjYWxlLmlzU2FmZU51bWJlcix0aGlzLnlTY2FsZS5pc1NhZmVOdW1iZXIpO3RoaXMudmlld0JveD17eDp0aGlzLnhTY2FsZS5uaWNlRG9tYWluKG51bGwhPT0odD1uLngpJiZ2b2lkIDAhPT10P3Q6TGh0LngpLHk6dGhpcy55U2NhbGUubmljZURvbWFpbihudWxsIT09KGU9bi55KSYmdm9pZCAwIT09ZT9lOkxodC55KX19KHRoaXMuaXNGaXhlZFZpZXdCb3hVcGRhdGVkfHx0aGlzLmlzVmlld0JveENoYW5nZWQpJiYodGhpcy5pc0ZpeGVkVmlld0JveFVwZGF0ZWQ9ITEsdGhpcy5pc1ZpZXdCb3hDaGFuZ2VkPSExLHRoaXMubGluZUNoYXJ0LnNldFZpZXdCb3godGhpcy52aWV3Qm94KSl9b25WaWV3Qm94Q2hhbmdlZCh7ZGF0YUV4dGVudDp0fSl7dGhpcy5zZXRJc1ZpZXdCb3hPdmVycmlkZGVuKCEwKSx0aGlzLmlzVmlld0JveENoYW5nZWQ9ITAsdGhpcy52aWV3Qm94PXQsdGhpcy51cGRhdGVMaW5lQ2hhcnQoKX12aWV3Qm94UmVzZXQoKXt0aGlzLnNldElzVmlld0JveE92ZXJyaWRkZW4oITEpLHRoaXMuaXNWaWV3Qm94Q2hhbmdlZD0hMCx0aGlzLnVwZGF0ZUxpbmVDaGFydCgpfXNldElzVmlld0JveE92ZXJyaWRkZW4odCl7Y29uc3QgZT10aGlzLmlzVmlld0JveE92ZXJyaWRkZW47dGhpcy5pc1ZpZXdCb3hPdmVycmlkZGVuPXQsZSE9PXQmJnRoaXMub25WaWV3Qm94T3ZlcnJpZGRlbi5uZXh0KHQpfWdldElzVmlld0JveE92ZXJyaWRkZW4oKXtyZXR1cm4gdGhpcy5vblZpZXdCb3hPdmVycmlkZGVufW9uVmlld0JveENoYW5nZWRGcm9tQXhpcyh0LGUpe2NvbnN0IG49T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHRoaXMudmlld0JveCkse1tlXTp0fSk7dGhpcy5vblZpZXdCb3hDaGFuZ2VkKHtkYXRhRXh0ZW50Om59KX19Qmh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxCaHQpKGdmKE9iKSl9LEJodC7JtWNtcD1zbyh7dHlwZTpCaHQsc2VsZWN0b3JzOltbImxpbmUtY2hhcnQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihWeSh2aHQsNyxLaCksVnkoeGh0LDcsS2gpLFZ5KE9odCw3LEtoKSxWeShQaHQsNSxLaCkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uc2VyaWVzVmlldz10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi54QXhpcz10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi55QXhpcz10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5jaGFydEVsPXQuZmlyc3QpfX0saW5wdXRzOntjdXN0b21WaXNUZW1wbGF0ZToiY3VzdG9tVmlzVGVtcGxhdGUiLGN1c3RvbVhBeGlzVGVtcGxhdGU6ImN1c3RvbVhBeGlzVGVtcGxhdGUiLHVzZURhcmtNb2RlOiJ1c2VEYXJrTW9kZSIscHJlZmVycmVkUmVuZGVyZXJUeXBlOiJwcmVmZXJyZWRSZW5kZXJlclR5cGUiLHNlcmllc0RhdGE6InNlcmllc0RhdGEiLGZpeGVkVmlld0JveDoiZml4ZWRWaWV3Qm94IixzZXJpZXNNZXRhZGF0YU1hcDoic2VyaWVzTWV0YWRhdGFNYXAiLHhTY2FsZVR5cGU6InhTY2FsZVR5cGUiLHlTY2FsZVR5cGU6InlTY2FsZVR5cGUiLGN1c3RvbVhGb3JtYXR0ZXI6ImN1c3RvbVhGb3JtYXR0ZXIiLGN1c3RvbVlGb3JtYXR0ZXI6ImN1c3RvbVlGb3JtYXR0ZXIiLHRvb2x0aXBUZW1wbGF0ZToidG9vbHRpcFRlbXBsYXRlIixsaW5lT25seToibGluZU9ubHkiLGRpc2FibGVVcGRhdGU6ImRpc2FibGVVcGRhdGUiLGlnbm9yZVlPdXRsaWVyczoiaWdub3JlWU91dGxpZXJzIn0sZmVhdHVyZXM6W3FvXSxkZWNsczoxNix2YXJzOjEzLGNvbnN0czpbWyJkZXRlY3RSZXNpemUiLCIiLCJjZGtPdmVybGF5T3JpZ2luIiwiIiwzLCJuZ0NsYXNzIiwicmVzaXplRXZlbnREZWJvdW5jZVBlcmlvZEluTXMiLCJvblJlc2l6ZSJdLFsib3ZlcmxheVRhcmdldCIsImNka092ZXJsYXlPcmlnaW4iXSxbMSwic2VyaWVzLXZpZXciXSxbInNlcmllc1ZpZXciLCIiXSxbMywidmlld0V4dGVudCIsInhTY2FsZSIsInlTY2FsZSIsInhHcmlkQ291bnQiLCJ5R3JpZENvdW50IiwiZG9tRGltIiw0LCJuZ0lmIl0sWzQsIm5nSWYiXSxbMywic2VyaWVzRGF0YSIsInNlcmllc01ldGFkYXRhTWFwIiwidmlld0V4dGVudCIsInhTY2FsZSIsInlTY2FsZSIsInRvb2x0aXBPcmlnaW5FbCIsImRvbURpbSIsInRvb2x0aXBUZW1wbGF0ZSIsIm9uVmlld0V4dGVudENoYW5nZSIsIm9uVmlld0V4dGVudFJlc2V0Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsImN1c3RvbS12aXMiLDQsIm5nSWYiXSxbMSwieS1heGlzIl0sWyJ5QXhpcyIsIiJdLFsiYXhpcyIsInkiLDMsImF4aXNFeHRlbnQiLCJjdXN0b21Gb3JtYXR0ZXIiLCJkb21EaW0iLCJncmlkQ291bnQiLCJzY2FsZSIsIm9uVmlld0V4dGVudENoYW5nZSIsNCwibmdJZiJdLFsxLCJ4LWF4aXMiXSxbInhBeGlzIiwiIl0sWyJheGlzIiwieCIsMywiYXhpc0V4dGVudCIsImN1c3RvbUZvcm1hdHRlciIsImRvbURpbSIsImdyaWRDb3VudCIsInNjYWxlIiwib25WaWV3RXh0ZW50Q2hhbmdlIiw0LCJuZ0lmIl0sWyJjbGFzcyIsImRvdCIsNCwibmdJZiJdLFszLCJ2aWV3RXh0ZW50IiwieFNjYWxlIiwieVNjYWxlIiwieEdyaWRDb3VudCIsInlHcmlkQ291bnQiLCJkb21EaW0iXSxbImNoYXJ0RWwiLCIiXSxbMywic2VyaWVzRGF0YSIsInNlcmllc01ldGFkYXRhTWFwIiwidmlld0V4dGVudCIsInhTY2FsZSIsInlTY2FsZSIsInRvb2x0aXBPcmlnaW5FbCIsImRvbURpbSIsInRvb2x0aXBUZW1wbGF0ZSIsIm9uVmlld0V4dGVudENoYW5nZSIsIm9uVmlld0V4dGVudFJlc2V0Il0sWzEsImN1c3RvbS12aXMiXSxbMywibmdUZW1wbGF0ZU91dGxldCIsIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0Il0sWyJheGlzIiwieSIsMywiYXhpc0V4dGVudCIsImN1c3RvbUZvcm1hdHRlciIsImRvbURpbSIsImdyaWRDb3VudCIsInNjYWxlIiwib25WaWV3RXh0ZW50Q2hhbmdlIl0sWyJheGlzIiwieCIsMywiYXhpc0V4dGVudCIsImN1c3RvbUZvcm1hdHRlciIsImRvbURpbSIsImdyaWRDb3VudCIsInNjYWxlIiwib25WaWV3RXh0ZW50Q2hhbmdlIl0sWzEsImRvdCJdLFsxLCJyZWN0Il1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDAsMSksUmYoIm9uUmVzaXplIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uVmlld1Jlc2l6ZSgpfSkpLENmKDIsImRpdiIsMiwzKSxIbSg0LHdodCwxLDYsImxpbmUtY2hhcnQtZ3JpZC12aWV3Iiw0KSxIbSg1LERodCwzLDIsIm5nLWNvbnRhaW5lciIsNSksSG0oNixSaHQsMSw4LCJsaW5lLWNoYXJ0LWludGVyYWN0aXZlLXZpZXciLDYpLEhtKDcsQWh0LDIsNywiZGl2Iiw3KSxNZigpLENmKDgsImRpdiIsOCw5KSxIbSgxMCxUaHQsMSw1LCJsaW5lLWNoYXJ0LWF4aXMiLDEwKSxNZigpLENmKDExLCJkaXYiLDExLDEyKSxIbSgxMyxOaHQsMSw1LCJsaW5lLWNoYXJ0LWF4aXMiLDEzKSxIbSgxNCxJaHQsMiw4LCJkaXYiLDcpLE1mKCksSG0oMTUsSGh0LDIsMCwiZGl2IiwxNCksTWYoKSksMiZlJiYoYmYoIm5nQ2xhc3MiLGF5KDEwLEZodCxuLnVzZURhcmtNb2RlLG4ubGluZU9ubHkpKSgicmVzaXplRXZlbnREZWJvdW5jZVBlcmlvZEluTXMiLDApLERjKDQpLGJmKCJuZ0lmIiwhbi5saW5lT25seSksRGMoMSksYmYoIm5nSWYiLG4uc2hvd0NoYXJ0UmVuZGVyZXJFbGVtZW50KSxEYygxKSxiZigibmdJZiIsIW4ubGluZU9ubHkpLERjKDEpLGJmKCJuZ0lmIixuLmN1c3RvbVZpc1RlbXBsYXRlKSxEYygzKSxiZigibmdJZiIsIW4ubGluZU9ubHkpLERjKDMpLGJmKCJuZ0lmIiwhbi5saW5lT25seSksRGMoMSksYmYoIm5nSWYiLG4uY3VzdG9tWEF4aXNUZW1wbGF0ZSksRGMoMSksYmYoIm5nSWYiLCFuLmxpbmVPbmx5KSl9LGRpcmVjdGl2ZXM6WyRRLCRCLEN2LFB2LGVodCx1aHQsSXYsTWh0XSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde2NvbnRhaW46c3RyaWN0O2Rpc3BsYXk6aW5saW5lLWJsb2NrfVtfbmdob3N0LSVDT01QJV0gICAuY3VzdG9tLXZpc1tfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZX0uY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOmluaGVyaXQ7ZGlzcGxheTpncmlkO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO2dyaWQtdGVtcGxhdGUtYXJlYXM6InlheGlzIHNlcmllcyIgImRvdCB4YXhpcyI7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjUwcHggMWZyO2dyaWQtYXV0by1yb3dzOjFmciAzMHB4fS5jb250YWluZXIuZGFyay1tb2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojZmZmfS5jb250YWluZXIubGluZS1vbmx5LW1vZGVbX25nY29udGVudC0lQ09NUCVde2dyaWQtdGVtcGxhdGUtY29sdW1uczowIDFmcjtncmlkLWF1dG8tcm93czoxZnIgMH0uc2VyaWVzLXZpZXdbX25nY29udGVudC0lQ09NUCVde2dyaWQtYXJlYTpzZXJpZXM7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5zZXJpZXMtdmlld1tfbmdjb250ZW50LSVDT01QJV0gICAuY3VzdG9tLXZpc1tfbmdjb250ZW50LSVDT01QJV0sIC5zZXJpZXMtdmlld1tfbmdjb250ZW50LSVDT01QJV0gICBjYW52YXNbX25nY29udGVudC0lQ09NUCVdLCAuc2VyaWVzLXZpZXdbX25nY29udGVudC0lQ09NUCVdICAgc3ZnW19uZ2NvbnRlbnQtJUNPTVAlXSwgLnNlcmllcy12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGxpbmUtY2hhcnQtZ3JpZC12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSwgLnNlcmllcy12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGxpbmUtY2hhcnQtaW50ZXJhY3RpdmUtdmlld1tfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEwMCU7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LngtYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAuY3VzdG9tLXZpc1tfbmdjb250ZW50LSVDT01QJV0sIC55LWF4aXNbX25nY29udGVudC0lQ09NUCVdICAgLmN1c3RvbS12aXNbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxMDAlO2xlZnQ6MDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTstd2Via2l0LW1hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMDAwMCAwJSwgIzAwMCAxMCUsICMwMDAgOTAlLCAjMDAwMCAxMDAlKTttYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzAwMDAgMCUsICMwMDAgMTAlLCAjMDAwIDkwJSwgIzAwMDAgMTAwJSl9LngtYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICBsaW5lLWNoYXJ0LWF4aXNbX25nY29udGVudC0lQ09NUCVdLCAueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGxpbmUtY2hhcnQtYXhpc1tfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEwMCV9LngtYXhpc1tfbmdjb250ZW50LSVDT01QJV17Z3JpZC1hcmVhOnhheGlzO3Bvc2l0aW9uOnJlbGF0aXZlfS55LWF4aXNbX25nY29udGVudC0lQ09NUCVde2dyaWQtYXJlYTp5YXhpc30uZG90W19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2Rpc3BsYXk6ZmxleDtncmlkLWFyZWE6ZG90O2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uZG90W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5yZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MXB4O3dpZHRoOjFweDtiYWNrZ3JvdW5kLWNvbG9yOiNhYWF9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEJodCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJsaW5lLWNoYXJ0Iix0ZW1wbGF0ZVVybDoibGluZV9jaGFydF9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsibGluZV9jaGFydF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOk9ifV19KSx7c2VyaWVzVmlldzpbe3R5cGU6YXIsYXJnczpbInNlcmllc1ZpZXciLHtzdGF0aWM6ITAscmVhZDpLaH1dfV0seEF4aXM6W3t0eXBlOmFyLGFyZ3M6WyJ4QXhpcyIse3N0YXRpYzohMCxyZWFkOktofV19XSx5QXhpczpbe3R5cGU6YXIsYXJnczpbInlBeGlzIix7c3RhdGljOiEwLHJlYWQ6S2h9XX1dLGNoYXJ0RWw6W3t0eXBlOmFyLGFyZ3M6WyJjaGFydEVsIix7c3RhdGljOiExLHJlYWQ6S2h9XX1dLGN1c3RvbVZpc1RlbXBsYXRlOlt7dHlwZTpSX31dLGN1c3RvbVhBeGlzVGVtcGxhdGU6W3t0eXBlOlJffV0sdXNlRGFya01vZGU6W3t0eXBlOlJffV0scHJlZmVycmVkUmVuZGVyZXJUeXBlOlt7dHlwZTpSX31dLHNlcmllc0RhdGE6W3t0eXBlOlJffV0sZml4ZWRWaWV3Qm94Olt7dHlwZTpSX31dLHNlcmllc01ldGFkYXRhTWFwOlt7dHlwZTpSX31dLHhTY2FsZVR5cGU6W3t0eXBlOlJffV0seVNjYWxlVHlwZTpbe3R5cGU6Ul99XSxjdXN0b21YRm9ybWF0dGVyOlt7dHlwZTpSX31dLGN1c3RvbVlGb3JtYXR0ZXI6W3t0eXBlOlJffV0sdG9vbHRpcFRlbXBsYXRlOlt7dHlwZTpSX31dLGxpbmVPbmx5Olt7dHlwZTpSX31dLGRpc2FibGVVcGRhdGU6W3t0eXBlOlJffV0saWdub3JlWU91dGxpZXJzOlt7dHlwZTpSX31dfSk7Y2xhc3MgVmh0e31WaHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFZodCl9LFZodC7JtWNtcD1zbyh7dHlwZTpWaHQsc2VsZWN0b3JzOltbInZpcy1zZWxlY3RlZC10aW1lLWNsaXBwZWQiXV0saW5wdXRzOntzZWxlY3RlZFRpbWU6InNlbGVjdGVkVGltZSJ9LGRlY2xzOjEsdmFyczowLGNvbnN0czpbWyJzdmdJY29uIiwiaW5mb19vdXRsaW5lXzI0cHgiLCJ0aXRsZSIsIkxpbmtlZCBzdGVwIGlzIG5vdCBmb3VuZCBpbiB0aGlzIHZpc3VhbGl6YXRpb24uIFdlIGhpZ2hsaWdodGVkIHRoZSBjbG9zZXN0IHN0ZXAgZm9yIHlvdS4iXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmdmYoMCwibWF0LWljb24iLDApfSxkaXJlY3RpdmVzOltNcV0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtjb2xvcjojZDMyZjJmO2hlaWdodDoxZW07bGluZS1oZWlnaHQ6MDt3aWR0aDoxZW19Ym9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVde2NvbG9yOiNkMzJmMmZ9W19uZ2hvc3QtJUNPTVAlXSAgIG1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWaHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidmlzLXNlbGVjdGVkLXRpbWUtY2xpcHBlZCIsdGVtcGxhdGU6J1xuICAgIDxtYXQtaWNvblxuICAgICAgc3ZnSWNvbj0iaW5mb19vdXRsaW5lXzI0cHgiXG4gICAgICB0aXRsZT0iTGlua2VkIHN0ZXAgaXMgbm90IGZvdW5kIGluIHRoaXMgdmlzdWFsaXphdGlvbi4gV2UgaGlnaGxpZ2h0ZWQgdGhlIGNsb3Nlc3Qgc3RlcCBmb3IgeW91LiJcbiAgICA+PC9tYXQtaWNvbj5cbiAgJyxzdHlsZVVybHM6WyJ2aXNfc2VsZWN0ZWRfdGltZV9jbGlwcGVkX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtzZWxlY3RlZFRpbWU6W3t0eXBlOlJffV19KTtjbGFzcyBqaHR7fWZ1bmN0aW9uIFVodCh0LGUpezEmdCYmdmYoMCwidmlzLXNlbGVjdGVkLXRpbWUtY2xpcHBlZCIpfWZ1bmN0aW9uIFdodCh0LGUpezEmdCYmdmYoMCwibWF0LXNwaW5uZXIiLDIzKX1mdW5jdGlvbiBHaHQodCxlKXsxJnQmJihDZigwLCJ0aCIpLFB1KDEsIlNtb290aGVkIiksTWYoKSl9ZnVuY3Rpb24gWWh0KHQsZSl7aWYoMSZ0JiYoeGYoMCksdmYoMSwidGItZXhwZXJpbWVudC1hbGlhcyIsMjkpLFB1KDIsIi8iKSxPZigpKSwyJnQpe2NvbnN0IHQ9emYoKS4kaW1wbGljaXQ7RGMoMSksYmYoImFsaWFzIix0Lm1ldGFkYXRhLmFsaWFzKX19ZnVuY3Rpb24gcWh0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwidGQiKSxQdSgxKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKS4kaW1wbGljaXQsZT16ZigyKTtEYygxKSxrdSgiICIsZS52YWx1ZUZvcm1hdHRlci5mb3JtYXRTaG9ydCh0LnBvaW50LnkpLCIgIil9fWZ1bmN0aW9uIFpodCh0LGUpe2lmKDEmdCYmKHhmKDApLENmKDEsInRyIiwyNyksQ2YoMiwidGQiLDI4KSx2ZigzLCJzcGFuIiksTWYoKSxDZig0LCJ0ZCIsMSksSG0oNSxZaHQsMywxLCJuZy1jb250YWluZXIiLDMpLFB1KDYpLE1mKCksSG0oNyxxaHQsMiwxLCJ0ZCIsMyksQ2YoOCwidGQiKSxQdSg5KSxNZigpLENmKDEwLCJ0ZCIpLFB1KDExKSxNZigpLENmKDEyLCJ0ZCIpLFB1KDEzKSxfeSgxNCwiZGF0ZSIpLE1mKCksQ2YoMTUsInRkIiksUHUoMTYpLE1mKCksTWYoKSxPZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigyKTtEYygxKSxjdSgiY2xvc2VzdCIsdC5tZXRhZGF0YS5jbG9zZXN0KSxEYygyKSxsdSgiYmFja2dyb3VuZC1jb2xvciIsdC5tZXRhZGF0YS5jb2xvciksRGMoMiksYmYoIm5nSWYiLHQubWV0YWRhdGEuYWxpYXMpLERjKDEpLGt1KCIiLHQubWV0YWRhdGEuZGlzcGxheU5hbWUsIiAiKSxEYygxKSxiZigibmdJZiIsbi5zbW9vdGhpbmdFbmFibGVkKSxEYygyKSx3dShuLnZhbHVlRm9ybWF0dGVyLmZvcm1hdFNob3J0KHQucG9pbnQudmFsdWUpKSxEYygyKSx3dShuLnN0ZXBGb3JtYXR0ZXIuZm9ybWF0U2hvcnQodC5wb2ludC5zdGVwKSksRGMoMiksd3UoTXkoMTQsMTEsdC5wb2ludC53YWxsVGltZSwic2hvcnQiKSksRGMoMyksa3UoIiAiLG4ucmVsYXRpdmVYRm9ybWF0dGVyLmZvcm1hdFJlYWRhYmxlKHQucG9pbnQucmVsYXRpdmVUaW1lSW5NcyksIiAiKX19ZnVuY3Rpb24gWGh0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwidGFibGUiLDI0KSxDZigxLCJ0aGVhZCIpLENmKDIsInRyIiksdmYoMywidGgiLDI1KSxDZig0LCJ0aCIpLFB1KDUsIlJ1biIpLE1mKCksSG0oNixHaHQsMiwwLCJ0aCIsMyksQ2YoNywidGgiKSxQdSg4LCJWYWx1ZSIpLE1mKCksQ2YoOSwidGgiKSxQdSgxMCwiU3RlcCIpLE1mKCksQ2YoMTEsInRoIiksUHUoMTIsIlRpbWUiKSxNZigpLENmKDEzLCJ0aCIpLFB1KDE0LCJSZWxhdGl2ZSIpLE1mKCksTWYoKSxNZigpLENmKDE1LCJ0Ym9keSIpLEhtKDE2LFpodCwxNywxNCwibmctY29udGFpbmVyIiwyNiksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS5kYXRhLG49ZS5jdXJzb3JMb2NhdGlvbkluRGF0YUNvb3JkLG89emYoKTtEYyg2KSxiZigibmdJZiIsby5zbW9vdGhpbmdFbmFibGVkKSxEYygxMCksYmYoIm5nRm9yT2YiLG8uZ2V0Q3Vyc29yQXdhcmVUb29sdGlwRGF0YSh0LG4pKSgibmdGb3JUcmFja0J5IixvLnRyYWNrQnlUb29sdGlwRGF0dW0pfX1qaHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGpodCl9LGpodC7JtWNtcD1zbyh7dHlwZTpqaHQsc2VsZWN0b3JzOltbImxpbmtlZC10aW1lLWZvYiJdXSxpbnB1dHM6e3N0ZXA6InN0ZXAifSxkZWNsczozLHZhcnM6Myx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwic3BhbiIpLFB1KDEpLF95KDIsIm51bWJlciIpLE1mKCkpLDImZSYmKERjKDEpLHd1KEN5KDIsMSxuLnN0ZXApKSl9LHBpcGVzOlskdl0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1ibG9ja31zcGFuW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7Ym9yZGVyLXJhZGl1czoyNXB4O2NvbG9yOmluaGVyaXQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjExcHg7cGFkZGluZzoycHggNXB4fXNwYW5bX25nY29udGVudC0lQ09NUCVdOmhvdmVyLCBzcGFuW19uZ2NvbnRlbnQtJUNPTVAlXTphY3RpdmV7Ym9yZGVyLWNvbG9yOiM2MTYxNjF9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgc3Bhbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIHNwYW5bX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6IzYxNjE2MTtib3JkZXItY29sb3I6IzhlOThhM31ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICBzcGFuW19uZ2NvbnRlbnQtJUNPTVAlXTpob3ZlciwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgc3Bhbltfbmdjb250ZW50LSVDT01QJV06aG92ZXIsIGJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIHNwYW5bX25nY29udGVudC0lQ09NUCVdOmFjdGl2ZSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgc3Bhbltfbmdjb250ZW50LSVDT01QJV06YWN0aXZle2JvcmRlci1jb2xvcjojZWVlfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihqaHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibGlua2VkLXRpbWUtZm9iIix0ZW1wbGF0ZToiPHNwYW4+e3sgc3RlcCB8IG51bWJlciB9fTwvc3Bhbj4iLHN0eWxlVXJsczpbImxpbmtlZF90aW1lX2ZvYl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7c3RlcDpbe3R5cGU6Ul99XX0pO2NvbnN0IEtodD1mdW5jdGlvbih0KXtyZXR1cm5bMCx0XX0sSmh0PWZ1bmN0aW9uKCl7cmV0dXJueyJvdXQtb2Ytc2VsZWN0ZWQtdGltZSI6ITAsZW5kOiEwLHJhbmdlOiEwfX07ZnVuY3Rpb24gUWh0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJkaXYiLDMwKSwyJnQpe2NvbnN0IHQ9emYoMiksZT10LnZpZXdFeHRlbnQsbj10LmRvbURpbWVuc2lvbixvPXQueFNjYWxlLGk9emYoKTtsdSgibGVmdCIsby5mb3J3YXJkKGUueCxpeSgzLEtodCxuLndpZHRoKSxpLnNlbGVjdGVkVGltZS5lbmRTdGVwKSsicHgiKSxiZigibmdDbGFzcyIsb3koNSxKaHQpKX19Y29uc3QgJGh0PWZ1bmN0aW9uKHQpe3JldHVyblt0LDBdfSx0YnQ9ZnVuY3Rpb24odCl7cmV0dXJueyJvdXQtb2Ytc2VsZWN0ZWQtdGltZSI6ITAsc3RhcnQ6ITAscmFuZ2U6dH19O2Z1bmN0aW9uIGVidCh0LGUpe2lmKDEmdCYmKHhmKDApLHZmKDEsImRpdiIsMzApLEhtKDIsUWh0LDEsNiwiZGl2IiwzMSksT2YoKSksMiZ0KXtjb25zdCB0PXpmKCksZT10LnZpZXdFeHRlbnQsbj10LmRvbURpbWVuc2lvbixvPXQueFNjYWxlLGk9emYoKTtEYygxKSxsdSgicmlnaHQiLG8uZm9yd2FyZChlLngsaXkoNCwkaHQsbi53aWR0aCksaS5zZWxlY3RlZFRpbWUuc3RhcnRTdGVwKSsicHgiKSxiZigibmdDbGFzcyIsaXkoNix0YnQsISFpLnNlbGVjdGVkVGltZS5lbmRTdGVwKSksRGMoMSksYmYoIm5nSWYiLGkuc2VsZWN0ZWRUaW1lLmVuZFN0ZXApfX1mdW5jdGlvbiBuYnQodCxlKXtpZigxJnQmJkhtKDAsZWJ0LDMsOCwibmctY29udGFpbmVyIiwzKSwyJnQpe2JmKCJuZ0lmIix6ZigpLnNlbGVjdGVkVGltZSl9fWZ1bmN0aW9uIG9idCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMzIpLHZmKDEsImxpbmtlZC10aW1lLWZvYiIsMzMpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKSxlPXQudmlld0V4dGVudCxuPXQuZG9tRGltZW5zaW9uLG89dC54U2NhbGUsaT16ZigpO2x1KCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitvLmZvcndhcmQoZS54LGl5KDMsS2h0LG4ud2lkdGgpLGkuc2VsZWN0ZWRUaW1lLmVuZFN0ZXApKyJweCwgMCkiKSxEYygxKSxiZigic3RlcCIsaS5zZWxlY3RlZFRpbWUuZW5kU3RlcCl9fWZ1bmN0aW9uIGlidCh0LGUpe2lmKDEmdCYmKHhmKDApLENmKDEsImRpdiIsMzIpLHZmKDIsImxpbmtlZC10aW1lLWZvYiIsMzMpLE1mKCksSG0oMyxvYnQsMiw1LCJkaXYiLDM0KSxPZigpKSwyJnQpe2NvbnN0IHQ9emYoKSxlPXQudmlld0V4dGVudCxuPXQuZG9tRGltZW5zaW9uLG89dC54U2NhbGUsaT16ZigpO0RjKDEpLGx1KCJ0cmFuc2Zvcm0iLCJ0cmFuc2xhdGUoIitvLmZvcndhcmQoZS54LGl5KDQsS2h0LG4ud2lkdGgpLGkuc2VsZWN0ZWRUaW1lLnN0YXJ0U3RlcCkrInB4LCAwKSIpLERjKDEpLGJmKCJzdGVwIixpLnNlbGVjdGVkVGltZS5zdGFydFN0ZXApLERjKDEpLGJmKCJuZ0lmIixpLnNlbGVjdGVkVGltZS5lbmRTdGVwKX19ZnVuY3Rpb24gYWJ0KHQsZSl7aWYoMSZ0JiZIbSgwLGlidCw0LDYsIm5nLWNvbnRhaW5lciIsMyksMiZ0KXtiZigibmdJZiIsemYoKS5zZWxlY3RlZFRpbWUpfX1jbGFzcyByYnR7Y29uc3RydWN0b3IodCxlKXt0aGlzLnJlZj10LHRoaXMuZGlhbG9nPWUsdGhpcy5EYXRhTG9hZFN0YXRlPVVFLHRoaXMuUmVuZGVyZXJUeXBlPWU2LHRoaXMuU2NhbGVUeXBlPW42LHRoaXMub25GdWxsU2l6ZVRvZ2dsZT1uZXcgU3ksdGhpcy5vblBpbkNsaWNrZWQ9bmV3IFN5LHRoaXMueVNjYWxlVHlwZT1uNi5MSU5FQVIsdGhpcy5pc1ZpZXdCb3hPdmVycmlkZGVuPSExLHRoaXMucmVsYXRpdmVYRm9ybWF0dGVyPXBydCx0aGlzLnZhbHVlRm9ybWF0dGVyPUthdCx0aGlzLnN0ZXBGb3JtYXR0ZXI9JGF0fXRvZ2dsZVlTY2FsZVR5cGUoKXt0aGlzLnlTY2FsZVR5cGU9dGhpcy55U2NhbGVUeXBlPT09bjYuTElORUFSP242LkxPRzEwOm42LkxJTkVBUn1yZXNldERvbWFpbigpe3RoaXMubGluZUNoYXJ0JiZ0aGlzLmxpbmVDaGFydC52aWV3Qm94UmVzZXQoKX10cmFja0J5VG9vbHRpcERhdHVtKHQsZSl7cmV0dXJuIGUuaWR9Z2V0Q3VzdG9tWEZvcm1hdHRlcigpe3N3aXRjaCh0aGlzLnhBeGlzVHlwZSl7Y2FzZSBRVC5SRUxBVElWRTpyZXR1cm4gcHJ0O2Nhc2UgUVQuU1RFUDpyZXR1cm4gb3J0O2Nhc2UgUVQuV0FMTF9USU1FOmRlZmF1bHQ6cmV0dXJufX1nZXRDdXJzb3JBd2FyZVRvb2x0aXBEYXRhKHQsZSl7Y29uc3Qgbj10Lm1hcCgodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHttZXRhZGF0YTpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5tZXRhZGF0YSkse2Nsb3Nlc3Q6ITEsZGlzdFNxVG9DdXJzb3I6TWF0aC5oeXBvdCh0LnBvaW50LngtZS54LHQucG9pbnQueS1lLnkpfSl9KSkpO2xldCBvPTEvMCxpPTA7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspbz5uW3RdLm1ldGFkYXRhLmRpc3RTcVRvQ3Vyc29yJiYobz1uW3RdLm1ldGFkYXRhLmRpc3RTcVRvQ3Vyc29yLGk9dCk7c3dpdGNoKG4ubGVuZ3RoJiYobltpXS5tZXRhZGF0YS5jbG9zZXN0PSEwKSx0aGlzLnRvb2x0aXBTb3J0KXtjYXNlIEpULkFTQ0VORElORzpyZXR1cm4gbi5zb3J0KCgodCxlKT0+dC5wb2ludC55LWUucG9pbnQueSkpO2Nhc2UgSlQuREVTQ0VORElORzpyZXR1cm4gbi5zb3J0KCgodCxlKT0+ZS5wb2ludC55LXQucG9pbnQueSkpO2Nhc2UgSlQuTkVBUkVTVDpyZXR1cm4gbi5zb3J0KCgodCxlKT0+dC5tZXRhZGF0YS5kaXN0U3FUb0N1cnNvci1lLm1ldGFkYXRhLmRpc3RTcVRvQ3Vyc29yKSk7Y2FzZSBKVC5ERUZBVUxUOmNhc2UgSlQuQUxQSEFCRVRJQ0FMOnJldHVybiBuLnNvcnQoKCh0LGUpPT50Lm1ldGFkYXRhLmRpc3BsYXlOYW1lPGUubWV0YWRhdGEuZGlzcGxheU5hbWU/LTE6dC5tZXRhZGF0YS5kaXNwbGF5TmFtZT5lLm1ldGFkYXRhLmRpc3BsYXlOYW1lPzE6MCkpfX1vcGVuRGF0YURvd25sb2FkRGlhbG9nKCl7dGhpcy5kaWFsb2cub3Blbih0aGlzLkRhdGFEb3dubG9hZENvbXBvbmVudCx7ZGF0YTp7Y2FyZElkOnRoaXMuY2FyZElkfX0pfX1yYnQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHJidCkoZ2YoS2gpLGdmKFhZKSl9LHJidC7JtWNtcD1zbyh7dHlwZTpyYnQsc2VsZWN0b3JzOltbInNjYWxhci1jYXJkLWNvbXBvbmVudCJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkoQmh0LDUpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4ubGluZUNoYXJ0PXQuZmlyc3QpfX0saW5wdXRzOntjYXJkSWQ6ImNhcmRJZCIsY2hhcnRNZXRhZGF0YU1hcDoiY2hhcnRNZXRhZGF0YU1hcCIsRGF0YURvd25sb2FkQ29tcG9uZW50OiJEYXRhRG93bmxvYWRDb21wb25lbnQiLGRhdGFTZXJpZXM6ImRhdGFTZXJpZXMiLGlnbm9yZU91dGxpZXJzOiJpZ25vcmVPdXRsaWVycyIsaXNDYXJkVmlzaWJsZToiaXNDYXJkVmlzaWJsZSIsaXNQaW5uZWQ6ImlzUGlubmVkIixsb2FkU3RhdGU6ImxvYWRTdGF0ZSIsc2hvd0Z1bGxTaXplOiJzaG93RnVsbFNpemUiLHNtb290aGluZ0VuYWJsZWQ6InNtb290aGluZ0VuYWJsZWQiLHRhZzoidGFnIix0aXRsZToidGl0bGUiLHRvb2x0aXBTb3J0OiJ0b29sdGlwU29ydCIseEF4aXNUeXBlOiJ4QXhpc1R5cGUiLHhTY2FsZVR5cGU6InhTY2FsZVR5cGUiLHVzZURhcmtNb2RlOiJ1c2VEYXJrTW9kZSIsc2VsZWN0ZWRUaW1lOiJzZWxlY3RlZFRpbWUifSxvdXRwdXRzOntvbkZ1bGxTaXplVG9nZ2xlOiJvbkZ1bGxTaXplVG9nZ2xlIixvblBpbkNsaWNrZWQ6Im9uUGluQ2xpY2tlZCJ9LGRlY2xzOjM0LHZhcnM6MjYsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQsZSxuLG8saTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7dD1nb29nLmdldE1zZygiRml0IGxpbmUgY2hhcnQgZG9tYWlucyB0byBkYXRhIil9ZWxzZSB0PSRsb2NhbGl6ZWA6QSBidXR0b24gdGhhdCByZXNldHMgbGluZSBjaGFydCBkb21haW4gdG8gdGhlIGRhdGHikJ9lNjhhNTUyOTQxYWI0MjdhOTllNzQzN2UwODQ0M2YzMGFjNzFjY2Q24pCfMzgzMDY0NjUyMTA1ODI2ODU1ODpGaXQgbGluZSBjaGFydCBkb21haW5zIHRvIGRhdGFgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtlPWdvb2cuZ2V0TXNnKCJQaW4gY2FyZCIpfWVsc2UgZT0kbG9jYWxpemVgOkEgYnV0dG9uIHRvIHBpbiBhIGNhcmQu4pCfZTY2NWRjNzEyYmQ1ZjE4ZDRkZmEzYTI5ZTEyNWQ1NjVjYzUxZTJmNuKQnzcyODQ2MDY0MjYyMzQzNzUzNDQ6UGluIGNhcmRgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtuPWdvb2cuZ2V0TXNnKCJUb2dnbGUgZnVsbCBzaXplIG1vZGUiKX1lbHNlIG49JGxvY2FsaXplYDpBIGJ1dHRvbiBvbiBsaW5lIGNoYXJ0IHRoYXQgdG9nZ2xlcyBmdWxsIHNpemUgbW9kZS7ikJ9mYzhmNzY3ZDBiOWY5MzAxODdhMWJhZTM0NDc3YWQyODczNmVjZTMz4pCfOTE1NzIxNTYzNjM4OTI2NTk3OlRvZ2dsZSBmdWxsIHNpemUgbW9kZWA7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe289Z29vZy5nZXRNc2coIk1vcmUgbGluZSBjaGFydCBvcHRpb25zIil9ZWxzZSBvPSRsb2NhbGl6ZWA6QW4gb3ZlcmZsb3cgbWVudSBidXR0b24gdGhhdCBvcGVucyBtb3JlIGxpbmUgY2hhcnQgb3B0aW9uc+KQn2IyNjBmYWI5NDZhMzA3N2NlMjBmZDI4ZTMzNjk3OWY1ODY3MjBlOGTikJ84NzgwNTM3NDAyMTAzMzY0MzU6TW9yZSBsaW5lIGNoYXJ0IG9wdGlvbnNgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtpPWdvb2cuZ2V0TXNnKCJUb2dnbGUgWS1heGlzIGxvZyBzY2FsZSBvbiBsaW5lIGNoYXJ0Iil9ZWxzZSBpPSRsb2NhbGl6ZWA6QSBidXR0b24gdGhhdCB0b2dnbGVzIGxvZyBzY2FsZSBvbiB5LWF4aXMgb24gYSBsaW5lIGNoYXJ04pCfZmU5MWY5NmFiOWIzYmFjYTVhNDg5MTNmMmIwZmFlODQ0ODNkOTNlM+KQnzMzNzQ2NDU2MjA2Mzg4ODM5MjY6VG9nZ2xlIFktYXhpcyBsb2cgc2NhbGUgb24gbGluZSBjaGFydGA7cmV0dXJuW1sxLCJoZWFkaW5nIl0sWzEsIm5hbWUiXSxbMSwidGFnIiwzLCJ0aXRsZSIsInZhbHVlIl0sWzQsIm5nSWYiXSxbMSwiY29udHJvbHMiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMywiZGlzYWJsZWQiLCJ0aXRsZSIsImNsaWNrIl0sWyJzdmdJY29uIiwic2V0dGluZ3Nfb3ZlcnNjYW5fMjRweCJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsZSwxLCJwaW4tYnV0dG9uIiwzLCJjbGljayJdLFszLCJzdmdJY29uIl0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJhcmlhLWxhYmVsIixuLCJ0aXRsZSIsIlRvZ2dsZSBmdWxsIHNpemUgbW9kZSIsMywiY2xpY2siXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLG8sInRpdGxlIiwiTW9yZSBsaW5lIGNoYXJ0IG9wdGlvbnMiLDMsIm1hdE1lbnVUcmlnZ2VyRm9yIl0sWyJzdmdJY29uIiwibW9yZV92ZXJ0XzI0cHgiXSxbIm1lbnUiLCJtYXRNZW51Il0sWyJtYXQtbWVudS1pdGVtIiwiIiwiYXJpYS1sYWJlbCIsaSwzLCJjbGljayJdLFsic3ZnSWNvbiIsImxpbmVfd2VpZ2h0XzI0cHgiXSxbIm1hdC1tZW51LWl0ZW0iLCIiLCJhcmlhLWxhYmVsIiwiT3BlbiBkaWFsb2cgdG8gZG93bmxvYWQgZGF0YSIsMywiY2xpY2siXSxbInN2Z0ljb24iLCJnZXRfYXBwXzI0cHgiXSxbMSwiY2hhcnQtY29udGFpbmVyIl0sWyJkaWFtZXRlciIsIjE4Iiw0LCJuZ0lmIl0sWzMsImRpc2FibGVVcGRhdGUiLCJwcmVmZXJyZWRSZW5kZXJlclR5cGUiLCJzZXJpZXNEYXRhIiwic2VyaWVzTWV0YWRhdGFNYXAiLCJ4U2NhbGVUeXBlIiwieVNjYWxlVHlwZSIsImN1c3RvbVhGb3JtYXR0ZXIiLCJpZ25vcmVZT3V0bGllcnMiLCJ0b29sdGlwVGVtcGxhdGUiLCJ1c2VEYXJrTW9kZSIsImN1c3RvbVZpc1RlbXBsYXRlIiwiY3VzdG9tWEF4aXNUZW1wbGF0ZSIsIm9uVmlld0JveE92ZXJyaWRkZW4iXSxbInRvb2x0aXAiLCIiXSxbImxpbmVDaGFydEN1c3RvbVZpcyIsIiJdLFsibGluZUNoYXJ0Q3VzdG9tWEF4aXNWaXMiLCIiXSxbImRpYW1ldGVyIiwiMTgiXSxbMSwidG9vbHRpcCJdLFsxLCJjaXJjbGUtaGVhZGVyIl0sWzQsIm5nRm9yIiwibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSJdLFsxLCJ0b29sdGlwLXJvdyJdLFsxLCJ0b29sdGlwLXJvdy1jaXJjbGUiXSxbMywiYWxpYXMiXSxbMywibmdDbGFzcyJdLFszLCJuZ0NsYXNzIiwibGVmdCIsNCwibmdJZiJdLFsxLCJsaW5rZWQtdGltZS1mb2ItY29udGFpbmVyIl0sWzEsInNlbGVjdGVkLXRpbWUtZm9iIiwzLCJzdGVwIl0sWyJjbGFzcyIsImxpbmtlZC10aW1lLWZvYi1jb250YWluZXIiLDMsInRyYW5zZm9ybSIsNCwibmdJZiJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwic3BhbiIsMSksdmYoMiwidGItdHJ1bmNhdGVkLXBhdGgiLDIpLEhtKDMsVWh0LDEsMCwidmlzLXNlbGVjdGVkLXRpbWUtY2xpcHBlZCIsMyksTWYoKSxDZig0LCJzcGFuIiw0KSxDZig1LCJidXR0b24iLDUpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5yZXNldERvbWFpbigpfSkpLF95KDYsImFzeW5jIiksX3koNywiYXN5bmMiKSx2Zig4LCJtYXQtaWNvbiIsNiksTWYoKSxDZig5LCJidXR0b24iLDcpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblBpbkNsaWNrZWQuZW1pdCghbi5pc1Bpbm5lZCl9KSksdmYoMTAsIm1hdC1pY29uIiw4KSxNZigpLENmKDExLCJidXR0b24iLDkpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vbkZ1bGxTaXplVG9nZ2xlLmVtaXQoKX0pKSx2ZigxMiwibWF0LWljb24iLDgpLE1mKCksQ2YoMTMsImJ1dHRvbiIsMTApLHZmKDE0LCJtYXQtaWNvbiIsMTEpLE1mKCksQ2YoMTUsIm1hdC1tZW51IixudWxsLDEyKSxDZigxNywiYnV0dG9uIiwxMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLnRvZ2dsZVlTY2FsZVR5cGUoKX0pKSx2ZigxOCwibWF0LWljb24iLDE0KSxDZigxOSwic3BhbiIpLFB1KDIwLCJUb2dnbGUgWS1heGlzIGxvZyBzY2FsZSIpLE1mKCksTWYoKSxDZigyMSwiYnV0dG9uIiwxNSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9wZW5EYXRhRG93bmxvYWREaWFsb2coKX0pKSx2ZigyMiwibWF0LWljb24iLDE2KSxDZigyMywic3BhbiIpLFB1KDI0LCJEb3dubG9hZCBkYXRhIiksTWYoKSxNZigpLE1mKCksTWYoKSxNZigpLENmKDI1LCJkaXYiLDE3KSxIbSgyNixXaHQsMSwwLCJtYXQtc3Bpbm5lciIsMTgpLENmKDI3LCJsaW5lLWNoYXJ0IiwxOSksUmYoIm9uVmlld0JveE92ZXJyaWRkZW4iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmlzVmlld0JveE92ZXJyaWRkZW49ZX0pKSxNZigpLEhtKDI4LFhodCwxNywzLCJuZy10ZW1wbGF0ZSIsbnVsbCwyMCxxeSksTWYoKSxIbSgzMCxuYnQsMSwxLCJuZy10ZW1wbGF0ZSIsbnVsbCwyMSxxeSksSG0oMzIsYWJ0LDEsMSwibmctdGVtcGxhdGUiLG51bGwsMjIscXkpKSwyJmUpe2NvbnN0IHQ9Rm0oMTYpLGU9Rm0oMjkpLG89Rm0oMzEpLGk9Rm0oMzMpO0RjKDIpLExmKCJ0aXRsZSIsbi50YWcpLExmKCJ2YWx1ZSIsbi50aXRsZSksRGMoMSksYmYoIm5nSWYiLG4uc2VsZWN0ZWRUaW1lJiZuLnNlbGVjdGVkVGltZS5jbGlwcGVkKSxEYygyKSxiZigiZGlzYWJsZWQiLCFuLmxpbmVDaGFydHx8IUN5KDYsMjIsbi5saW5lQ2hhcnQuZ2V0SXNWaWV3Qm94T3ZlcnJpZGRlbigpKSkoInRpdGxlIixuLmxpbmVDaGFydCYmQ3koNywyNCxuLmxpbmVDaGFydC5nZXRJc1ZpZXdCb3hPdmVycmlkZGVuKCkpPyJMaW5lIGNoYXJ0IGlzIGFscmVhZHkgZml0dGVkIHRvIGRhdGEuIFdoZW4gZGF0YSB1cGRhdGVzLCB0aGUgbGluZSBjaGFydCB3aWxsIGF1dG8gZml0IHRvIGl0cyBkb21haW4uIjoiRml0IGxpbmUgY2hhcnQgZG9tYWlucyB0byBkYXRhIiksRGMoNCkseW0oInRpdGxlIixuLmlzUGlubmVkPyJVbnBpbiBjYXJkIjoiUGluIGNhcmQiKSxEYygxKSxiZigic3ZnSWNvbiIsbi5pc1Bpbm5lZD8ia2VlcF8yNHB4Ijoia2VlcF9vdXRsaW5lXzI0cHgiKSxEYygyKSxiZigic3ZnSWNvbiIsbi5zaG93RnVsbFNpemU/ImZ1bGxzY3JlZW5fZXhpdF8yNHB4IjoiZnVsbHNjcmVlbl8yNHB4IiksRGMoMSksYmYoIm1hdE1lbnVUcmlnZ2VyRm9yIix0KSxEYygxMyksYmYoIm5nSWYiLG4ubG9hZFN0YXRlPT09bi5EYXRhTG9hZFN0YXRlLkxPQURJTkcpLERjKDEpLGJmKCJkaXNhYmxlVXBkYXRlIiwhbi5pc0NhcmRWaXNpYmxlKSgicHJlZmVycmVkUmVuZGVyZXJUeXBlIixuLlJlbmRlcmVyVHlwZS5XRUJHTCkoInNlcmllc0RhdGEiLG4uZGF0YVNlcmllcykoInNlcmllc01ldGFkYXRhTWFwIixuLmNoYXJ0TWV0YWRhdGFNYXApKCJ4U2NhbGVUeXBlIixuLnhTY2FsZVR5cGUpKCJ5U2NhbGVUeXBlIixuLnlTY2FsZVR5cGUpKCJjdXN0b21YRm9ybWF0dGVyIixuLmdldEN1c3RvbVhGb3JtYXR0ZXIoKSkoImlnbm9yZVlPdXRsaWVycyIsbi5pZ25vcmVPdXRsaWVycykoInRvb2x0aXBUZW1wbGF0ZSIsZSkoInVzZURhcmtNb2RlIixuLnVzZURhcmtNb2RlKSgiY3VzdG9tVmlzVGVtcGxhdGUiLG8pKCJjdXN0b21YQXhpc1RlbXBsYXRlIixpKX19LGRpcmVjdGl2ZXM6W0w0LFB2LE5MLE1xLHFxLGpxLEhxLEJodCxWaHQsYTIseHYsSDIsQ3Ysamh0XSxwaXBlczpbVnYsWXZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0bztwYWRkaW5nOjE2cHg7cGFkZGluZy10b3A6NHB4fS5oZWFkaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxNHB4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbi1ib3R0b206NHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5oZWFkaW5nW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5uYW1lW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpncmlkO2dhcDo1cHg7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOmF1dG8gYXV0b30uaGVhZGluZ1tfbmdjb250ZW50LSVDT01QJV0gICB2aXMtc2VsZWN0ZWQtdGltZS1jbGlwcGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MS4yZW07bGluZS1oZWlnaHQ6MH0udGFnW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW59LnBpbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgbWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxOHB4fS5jb250cm9sc1tfbmdjb250ZW50LSVDT01QJV17Y29sb3I6IzYxNjE2MTt3aGl0ZS1zcGFjZTpub3dyYXA7ZmxleC1zaHJpbms6MDttYXJnaW4tcmlnaHQ6LTEycHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0uY2hhcnQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4OjF9LmNoYXJ0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0gICBtYXQtc3Bpbm5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTFweDt0b3A6MTFweH0uY2hhcnQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGxpbmUtY2hhcnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCV9LnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1zcGFjaW5nOjRweDtmb250LXNpemU6MTNweH0udG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17dGV4dC1hbGlnbjpsZWZ0fS50b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC50b29sdGlwLXJvd1tfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwfS50b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC50b29sdGlwLXJvdy1jaXJjbGVbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmlubGluZS1mbGV4O2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVdICAgLnRvb2x0aXAtcm93LWNpcmNsZVtfbmdjb250ZW50LSVDT01QJV0gPiBzcGFuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjQpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMHB4O3dpZHRoOjEwcHh9LnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVdICAgLmNsb3Nlc3RbX25nY29udGVudC0lQ09NUCVdICAgLnRvb2x0aXAtcm93LWNpcmNsZVtfbmdjb250ZW50LSVDT01QJV0gPiBzcGFuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItY29sb3I6I2ZmZjtib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmfS5vdXQtb2Ytc2VsZWN0ZWQtdGltZVtfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjAgZGFzaGVkIGN1cnJlbnRDb2xvcjtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZX0ub3V0LW9mLXNlbGVjdGVkLXRpbWUuc3RhcnRbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1yaWdodC13aWR0aDoycHg7bWFyZ2luLWxlZnQ6LTFweH0ub3V0LW9mLXNlbGVjdGVkLXRpbWUuc3RhcnQucmFuZ2VbX25nY29udGVudC0lQ09NUCVde2xlZnQ6MH0ub3V0LW9mLXNlbGVjdGVkLXRpbWUuZW5kW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItbGVmdC13aWR0aDoycHg7bWFyZ2luLXJpZ2h0Oi0xcHg7cmlnaHQ6MH0ub3V0LW9mLXNlbGVjdGVkLXRpbWUucmFuZ2VbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLm91dC1vZi1zZWxlY3RlZC10aW1lLnJhbmdlW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLm91dC1vZi1zZWxlY3RlZC10aW1lLnJhbmdlW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjQpfS5saW5rZWQtdGltZS1mb2ItY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1ibG9jaztsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjB9bGlua2VkLXRpbWUtZm9iW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocmJ0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InNjYWxhci1jYXJkLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6InNjYWxhcl9jYXJkX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyJzY2FsYXJfY2FyZF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTpYWX1dfSkse2NhcmRJZDpbe3R5cGU6Ul99XSxjaGFydE1ldGFkYXRhTWFwOlt7dHlwZTpSX31dLERhdGFEb3dubG9hZENvbXBvbmVudDpbe3R5cGU6Ul99XSxkYXRhU2VyaWVzOlt7dHlwZTpSX31dLGlnbm9yZU91dGxpZXJzOlt7dHlwZTpSX31dLGlzQ2FyZFZpc2libGU6W3t0eXBlOlJffV0saXNQaW5uZWQ6W3t0eXBlOlJffV0sbG9hZFN0YXRlOlt7dHlwZTpSX31dLHNob3dGdWxsU2l6ZTpbe3R5cGU6Ul99XSxzbW9vdGhpbmdFbmFibGVkOlt7dHlwZTpSX31dLHRhZzpbe3R5cGU6Ul99XSx0aXRsZTpbe3R5cGU6Ul99XSx0b29sdGlwU29ydDpbe3R5cGU6Ul99XSx4QXhpc1R5cGU6W3t0eXBlOlJffV0seFNjYWxlVHlwZTpbe3R5cGU6Ul99XSx1c2VEYXJrTW9kZTpbe3R5cGU6Ul99XSxzZWxlY3RlZFRpbWU6W3t0eXBlOlJffV0sb25GdWxsU2l6ZVRvZ2dsZTpbe3R5cGU6RV99XSxvblBpbkNsaWNrZWQ6W3t0eXBlOkVffV0sbGluZUNoYXJ0Olt7dHlwZTphcixhcmdzOltCaHRdfV19KTtjbGFzcyBzYnR7Y29uc3RydWN0b3IodCxlKXt0aGlzLnJlZj10LHRoaXMuY2RrU2Nyb2xsYWJsZT1lLHRoaXMub25WaXNpYmlsaXR5Q2hhbmdlPW5ldyBTeSx0aGlzLm5nVW5zdWJzY3JpYmUkPW5ldyBCLHRoaXMub25FdmVudCQ9bmV3IEJ9bmdPbkluaXQoKXtjb25zdCB0PXtyb290OnRoaXMuY2RrU2Nyb2xsYWJsZT90aGlzLmNka1Njcm9sbGFibGUuZ2V0RWxlbWVudFJlZigpLm5hdGl2ZUVsZW1lbnQ6bnVsbH07dGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlck1hcmdpbiYmKHQucm9vdE1hcmdpbj10aGlzLmludGVyc2VjdGlvbk9ic2VydmVyTWFyZ2luKTtjb25zdCBlPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigodD0+e3RoaXMub25FdmVudCQubmV4dCh0KX0pLHQpO2Uub2JzZXJ2ZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KSx0aGlzLm5nVW5zdWJzY3JpYmUkLnN1YnNjcmliZSgoKCk9PntlLnVub2JzZXJ2ZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KX0pKSx0aGlzLm9uRXZlbnQkLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgodD0+e2NvbnN0IGU9dC5zbGljZSgtMSlbMF07dGhpcy5vblZpc2liaWxpdHlDaGFuZ2UuZW1pdCh7dmlzaWJsZTplLmlzSW50ZXJzZWN0aW5nfSl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLm5nVW5zdWJzY3JpYmUkLm5leHQoKSx0aGlzLm5nVW5zdWJzY3JpYmUkLmNvbXBsZXRlKCl9d2FpdEZvckV2ZW50Rm9yVGVzdE9ubHkoKXtyZXR1cm4gbmV3IFByb21pc2UoKHQ9PnRoaXMub25FdmVudCQucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3QoKX0pKSkpfX1mdW5jdGlvbiBsYnQodCxlKXtyZXR1cm4gdC5sZW5ndGg9PT1lLmxlbmd0aCYmdC5ldmVyeSgoKHQsbik9Pntjb25zdCBvPWVbbl0saT10LnBvaW50cyxhPW8ucG9pbnRzO3JldHVybiB0LnJ1bklkPT09by5ydW5JZCYmaS5sZW5ndGg9PT1hLmxlbmd0aCYmaS5ldmVyeSgoKHQsZSk9Pntjb25zdCBuPWFbZV07cmV0dXJuIHQueD09PW4ueCYmdC55PT09bi55fSkpfSkpfXNidC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8c2J0KShnZihLaCksZ2YoSkwsOCkpfSxzYnQuybVkaXI9aG8oe3R5cGU6c2J0LHNlbGVjdG9yczpbWyIiLCJvYnNlcnZlSW50ZXJzZWN0aW9uIiwiIl1dLGlucHV0czp7aW50ZXJzZWN0aW9uT2JzZXJ2ZXJNYXJnaW46ImludGVyc2VjdGlvbk9ic2VydmVyTWFyZ2luIn0sb3V0cHV0czp7b25WaXNpYmlsaXR5Q2hhbmdlOiJvblZpc2liaWxpdHlDaGFuZ2UifX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoc2J0LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IltvYnNlcnZlSW50ZXJzZWN0aW9uXSJ9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6SkwsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX1dfSkse2ludGVyc2VjdGlvbk9ic2VydmVyTWFyZ2luOlt7dHlwZTpSX31dLG9uVmlzaWJpbGl0eUNoYW5nZTpbe3R5cGU6RV99XX0pO2NsYXNzIGNidHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5EYXRhRG93bmxvYWRDb21wb25lbnQ9ZjYsdGhpcy5mdWxsV2lkdGhDaGFuZ2VkPW5ldyBTeSx0aGlzLmZ1bGxIZWlnaHRDaGFuZ2VkPW5ldyBTeSx0aGlzLnBpblN0YXRlQ2hhbmdlZD1uZXcgU3ksdGhpcy5pc1Zpc2libGU9ITEsdGhpcy51c2VEYXJrTW9kZSQ9dGhpcy5zdG9yZS5zZWxlY3QoRkQpLHRoaXMuaWdub3JlT3V0bGllcnMkPXRoaXMuc3RvcmUuc2VsZWN0KGJ6KSx0aGlzLnRvb2x0aXBTb3J0JD10aGlzLnN0b3JlLnNlbGVjdChoeiksdGhpcy54QXhpc1R5cGUkPXRoaXMuc3RvcmUuc2VsZWN0KHl6KSx0aGlzLnhTY2FsZVR5cGUkPXRoaXMuc3RvcmUuc2VsZWN0KHl6KS5waXBlKFZ0KCh0PT57c3dpdGNoKHQpe2Nhc2UgUVQuU1RFUDpjYXNlIFFULlJFTEFUSVZFOnJldHVybiBuNi5MSU5FQVI7Y2FzZSBRVC5XQUxMX1RJTUU6cmV0dXJuIG42LlRJTUU7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgeEF4aXNUeXBlIGZvciBsaW5lIGNoYXJ0LiAke3R9YCl9fSkpKSx0aGlzLnNjYWxhclNtb290aGluZyQ9dGhpcy5zdG9yZS5zZWxlY3QoQ3opLHRoaXMuc21vb3RoaW5nRW5hYmxlZCQ9dGhpcy5zdG9yZS5zZWxlY3QoQ3opLnBpcGUoVnQoKHQ9PnQ+MCkpKSx0aGlzLnNob3dGdWxsU2l6ZT0hMSx0aGlzLm5nVW5zdWJzY3JpYmU9bmV3IEJ9b25WaXNpYmlsaXR5Q2hhbmdlKHt2aXNpYmxlOnR9KXt0aGlzLmlzVmlzaWJsZT10fWlzU2NhbGFyQ2FyZE1ldGFkYXRhKHQpe2NvbnN0e3BsdWdpbjplfT10O3JldHVybiBlPT09S1QuU0NBTEFSU31vbkZ1bGxTaXplVG9nZ2xlKCl7dGhpcy5zaG93RnVsbFNpemU9IXRoaXMuc2hvd0Z1bGxTaXplLHRoaXMuZnVsbFdpZHRoQ2hhbmdlZC5lbWl0KHRoaXMuc2hvd0Z1bGxTaXplKSx0aGlzLmZ1bGxIZWlnaHRDaGFuZ2VkLmVtaXQodGhpcy5zaG93RnVsbFNpemUpfW5nT25Jbml0KCl7Y29uc3QgdD10aGlzLnN0b3JlLnNlbGVjdChueix0aGlzLmNhcmRJZCkucGlwZSh1ZSgodD0+ISF0JiZ0aGlzLmlzU2NhbGFyQ2FyZE1ldGFkYXRhKHQpKSksVnQoKHQ9PnQpKSk7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoWyJzbW9vdGhlZCIsdF0pfWNvbnN0IG49dGhpcy5zdG9yZS5zZWxlY3QodHosdGhpcy5jYXJkSWQpLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSx1ZSgodD0+Qm9vbGVhbih0KSkpLFZ0KCh0PT50KSksRmUoMSkpLnBpcGUoX2UodGhpcy5zdG9yZS5zZWxlY3QoeXopKSxWdCgoKFt0LGVdKT0+T2JqZWN0LmtleXModCkubWFwKChuPT4oe3J1bklkOm4scG9pbnRzOnRoaXMuc3RlcFNlcmllc1RvTGluZVNlcmllcyh0W25dLGUpfSkpKSkpLHdlKGxidCkpLnBpcGUoX2UodGhpcy5zdG9yZS5zZWxlY3QoTXopKSxqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLFZ0KCgoW3QsZV0pPT5lPyhmdW5jdGlvbiBuKHQpe3ZhciBlO2NvbnN0IG49W107Zm9yKGNvbnN0IG8gb2YgdCl7Y29uc3QgdD1bXTtsZXQgaT1OdW1iZXIuaXNGaW5pdGUobnVsbD09PShlPW8ucG9pbnRzWzBdKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS54KT9vLnBvaW50c1swXS54Oi0xLzAsYT1bXTtmb3IoY29uc3QgZSBvZiBvLnBvaW50cylOdW1iZXIuaXNGaW5pdGUoZS54KT8oZS54PGkmJih0LnB1c2goe3Nlcmllc0lkOkpTT04uc3RyaW5naWZ5KFtvLnJ1bklkLHQubGVuZ3RoXSkscnVuSWQ6by5ydW5JZCxwb2ludHM6YX0pLGE9W10pLGEucHVzaChlKSxpPWUueCk6YS5wdXNoKGUpO3QucHVzaCh7c2VyaWVzSWQ6SlNPTi5zdHJpbmdpZnkoW28ucnVuSWQsdC5sZW5ndGhdKSxydW5JZDpvLnJ1bklkLHBvaW50czphfSk7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspbi5wdXNoKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0W2VdKSx7cGFydGl0aW9uSW5kZXg6ZSxwYXJ0aXRpb25TaXplOnQubGVuZ3RofSkpfXJldHVybiBufSkodCk6dC5tYXAoKHQ9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c2VyaWVzSWQ6dC5ydW5JZCxwYXJ0aXRpb25JbmRleDowLHBhcnRpdGlvblNpemU6MX0pKSkpKSxWdCgodD0+dC5tYXAoKHQ9Pnt2YXIgZTtjb25zdCBuPW51bGw9PT0oZT10LnBvaW50c1swXSl8fHZvaWQgMD09PWU/dm9pZCAwOmUud2FsbFRpbWU7cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7cG9pbnRzOnQucG9pbnRzLm1hcCgodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtyZWxhdGl2ZVRpbWVJbk1zOnQud2FsbFRpbWUtbn0pKSl9KX0pKSkpLF9lKHRoaXMuc3RvcmUuc2VsZWN0KHl6KSksVnQoKChbdCxlXSk9PnQubWFwKCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3BvaW50czp0LnBvaW50cy5tYXAoKHQ9PntsZXQgbjtzd2l0Y2goZSl7Y2FzZSBRVC5SRUxBVElWRTpuPXQucmVsYXRpdmVUaW1lSW5NczticmVhaztjYXNlIFFULldBTExfVElNRTpuPXQud2FsbFRpbWU7YnJlYWs7Y2FzZSBRVC5TVEVQOmRlZmF1bHQ6bj10LnN0ZXB9cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7eDpufSl9KSl9KSkpKSksRmUoMSkpO3RoaXMuZGF0YVNlcmllcyQ9bi5waXBlKF9lKHRoaXMuc3RvcmUuc2VsZWN0KEN6KSksVmUoKChbdCxuXSk9Pntjb25zdCBvPXQubWFwKCgoe3Nlcmllc0lkOnQscG9pbnRzOmV9KT0+KHtpZDp0LHBvaW50czplfSkpKTtyZXR1cm4gbjw9MD96dChvKTpQdCgoZnVuY3Rpb24gaSh0LGUpe3ZhciBuO3JldHVybiBYVCh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe051bWJlci5pc0Zpbml0ZShlKXx8KGU9MCksZT1NYXRoLm1heCgwLE1hdGgubWluKGUsMSkpO2NvbnN0IG89W107Zm9yKGNvbnN0IGkgb2YgdCl7Y29uc3QgdD1udWxsPT09KG49aS5wb2ludHNbMF0pfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLnk7aWYoaS5wb2ludHMuZXZlcnkoKGU9PmUueT09dCkpKXtvLnB1c2goaSk7Y29udGludWV9bGV0IGE9aS5wb2ludHMubGVuZ3RoPjA/MDpOYU4scj0wO2NvbnN0IHM9aS5wb2ludHMubWFwKCh0PT57Y29uc3Qgbj10Lnk7aWYoTnVtYmVyLmlzRmluaXRlKG4pKXthPWEqZSsoMS1lKSpuLHIrKztjb25zdCBvPTE9PT1lPzE6MS1NYXRoLnBvdyhlLHIpO3JldHVybnt4OnQueCx5OmEvb319cmV0dXJue3g6dC54LHk6bn19KSk7by5wdXNoKHtpZDppLmlkLHBvaW50czpzfSl9cmV0dXJuIG99KSl9KShvLG4pKS5waXBlKFZ0KCh0PT57Y29uc3Qgbj1vLm1hcCgoKG4sbyk9Pih7aWQ6ZShuLmlkKSxwb2ludHM6dFtvXS5wb2ludHMubWFwKCgoe3k6dH0sZSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxuLnBvaW50c1tlXSkse3k6dH0pKSl9KSkpO3JldHVyblsuLi5vLC4uLm5dfSkpKX0pKSxCZShbXSkpLHRoaXMuc2VsZWN0ZWRUaW1lJD1LdChbbix0aGlzLnN0b3JlLnNlbGVjdChFeiksdGhpcy5zdG9yZS5zZWxlY3QoeXopXSkucGlwZShWdCgoKFt0LGUsbl0pPT57aWYobiE9PVFULlNURVB8fCFlKXJldHVybiBudWxsO2xldCBvPTEvMCxpPS0xLzA7Zm9yKGNvbnN0e3BvaW50czplfW9mIHQpZm9yKGNvbnN0IHQgb2YgZSlvPW8+dC54P3QueDpvLGk9aTx0Lng/dC54Omk7cmV0dXJuIEI0KGUsbyxpKX0pKSksdGhpcy5jaGFydE1ldGFkYXRhTWFwJD1uLnBpcGUoVmUoKHQ9Pkt0KHQubWFwKCh0PT50aGlzLmdldFJ1bkRpc3BsYXlOYW1lQW5kQWxpYXModC5ydW5JZCkucGlwZShWdCgoZT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLGUpKSkpKSkpKSksX2UodGhpcy5zdG9yZS5zZWxlY3QoX0kpLHRoaXMuc3RvcmUuc2VsZWN0KENJKSx0aGlzLnN0b3JlLnNlbGVjdChDeikpLENlKDApLFZ0KCgoW3QsbixvLGldKT0+e3ZhciBhO2NvbnN0IHI9e30scz1pPjA7Zm9yKGNvbnN0IGUgb2YgdCl7Y29uc3R7c2VyaWVzSWQ6dCxydW5JZDppLGRpc3BsYXlOYW1lOnMsYWxpYXM6bCxwYXJ0aXRpb25JbmRleDpjLHBhcnRpdGlvblNpemU6ZH09ZTtyW3RdPXt0eXBlOm82Lk9SSUdJTkFMLGlkOnQsYWxpYXM6bCxkaXNwbGF5TmFtZTpkPjE/YCR7c306ICR7Y31gOnMsdmlzaWJsZTpCb29sZWFuKG4mJm4uZ2V0KGkpKSxjb2xvcjpudWxsIT09KGE9b1tpXSkmJnZvaWQgMCE9PWE/YToiI2ZmZiIsYXV4OiExLG9wYWNpdHk6MX19aWYoIXMpcmV0dXJuIHI7Zm9yKGNvbnN0W3Qsbl1vZiBPYmplY3QuZW50cmllcyhyKSl7Y29uc3Qgbz1lKHQpO3Jbb109T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LG4pLHtpZDpvLHR5cGU6bzYuREVSSVZFRCxhdXg6ITEsb3JpZ2luYWxTZXJpZXNJZDp0fSksbi5hdXg9ITAsbi5vcGFjaXR5PS4yNX1yZXR1cm4gcn0pKSxCZSh7fSkpLHRoaXMubG9hZFN0YXRlJD10aGlzLnN0b3JlLnNlbGVjdCgkTix0aGlzLmNhcmRJZCksdGhpcy50YWckPXQucGlwZShWdCgodD0+dC50YWcpKSksdGhpcy50aXRsZSQ9dGhpcy50YWckLnBpcGUoVnQoKHQ9Pkg0KHQsdGhpcy5ncm91cE5hbWUpKSkpLHRoaXMuaXNQaW5uZWQkPXRoaXMuc3RvcmUuc2VsZWN0KGR6LHRoaXMuY2FyZElkKX1uZ09uRGVzdHJveSgpe3RoaXMubmdVbnN1YnNjcmliZS5uZXh0KCksdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCl9Z2V0UnVuRGlzcGxheU5hbWVBbmRBbGlhcyh0KXtyZXR1cm4gS3QoW3RoaXMuc3RvcmUuc2VsZWN0KEd6LHtydW5JZDp0fSksdGhpcy5zdG9yZS5zZWxlY3QoT1IpLHRoaXMuc3RvcmUuc2VsZWN0KFl6LHtydW5JZDp0fSldKS5waXBlKFZ0KCgoW2UsbixvXSk9Pnt2YXIgaSxhO2NvbnN0IHI9bnVsbCE9PWUmJm51bGwhPT0oaT1uW2VdKSYmdm9pZCAwIT09aT9pOm51bGw7cmV0dXJue2Rpc3BsYXlOYW1lOm98fHI/bnVsbCE9PShhPW51bGw9PW8/dm9pZCAwOm8ubmFtZSkmJnZvaWQgMCE9PWE/YToiLi4uIjp0LGFsaWFzOnJ9fSkpKX1zdGVwU2VyaWVzVG9MaW5lU2VyaWVzKHQsZSl7Y29uc3Qgbj1lPT09UVQuU1RFUDtyZXR1cm4gdC5tYXAoKHQ9Pntjb25zdCBlPTFlMyp0LndhbGxUaW1lO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3g6bj90LnN0ZXA6ZSx5OnQudmFsdWUsd2FsbFRpbWU6ZSxyZWxhdGl2ZVRpbWVJbk1zOjB9KX0pKX19Y2J0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxjYnQpKGdmKGlTKSl9LGNidC7JtWNtcD1zbyh7dHlwZTpjYnQsc2VsZWN0b3JzOltbInNjYWxhci1jYXJkIl1dLGlucHV0czp7RGF0YURvd25sb2FkQ29tcG9uZW50OiJEYXRhRG93bmxvYWRDb21wb25lbnQiLGNhcmRJZDoiY2FyZElkIixncm91cE5hbWU6Imdyb3VwTmFtZSJ9LG91dHB1dHM6e2Z1bGxXaWR0aENoYW5nZWQ6ImZ1bGxXaWR0aENoYW5nZWQiLGZ1bGxIZWlnaHRDaGFuZ2VkOiJmdWxsSGVpZ2h0Q2hhbmdlZCIscGluU3RhdGVDaGFuZ2VkOiJwaW5TdGF0ZUNoYW5nZWQifSxkZWNsczoxNCx2YXJzOjQzLGNvbnN0czpbWyJvYnNlcnZlSW50ZXJzZWN0aW9uIiwiIiwzLCJjYXJkSWQiLCJjaGFydE1ldGFkYXRhTWFwIiwiRGF0YURvd25sb2FkQ29tcG9uZW50IiwiZGF0YVNlcmllcyIsImlnbm9yZU91dGxpZXJzIiwiaXNDYXJkVmlzaWJsZSIsImlzUGlubmVkIiwibG9hZFN0YXRlIiwic2hvd0Z1bGxTaXplIiwic21vb3RoaW5nRW5hYmxlZCIsInRhZyIsInRpdGxlIiwidG9vbHRpcFNvcnQiLCJ4QXhpc1R5cGUiLCJ4U2NhbGVUeXBlIiwidXNlRGFya01vZGUiLCJzZWxlY3RlZFRpbWUiLCJvbkZ1bGxTaXplVG9nZ2xlIiwib25QaW5DbGlja2VkIiwib25WaXNpYmlsaXR5Q2hhbmdlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJzY2FsYXItY2FyZC1jb21wb25lbnQiLDApLFJmKCJvbkZ1bGxTaXplVG9nZ2xlIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRnVsbFNpemVUb2dnbGUoKX0pKSgib25QaW5DbGlja2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5waW5TdGF0ZUNoYW5nZWQuZW1pdChlKX0pKSgib25WaXNpYmlsaXR5Q2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblZpc2liaWxpdHlDaGFuZ2UoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxfeSg1LCJhc3luYyIpLF95KDYsImFzeW5jIiksX3koNywiYXN5bmMiKSxfeSg4LCJhc3luYyIpLF95KDksImFzeW5jIiksX3koMTAsImFzeW5jIiksX3koMTEsImFzeW5jIiksX3koMTIsImFzeW5jIiksX3koMTMsImFzeW5jIiksTWYoKSksMiZlJiZiZigiY2FyZElkIixuLmNhcmRJZCkoImNoYXJ0TWV0YWRhdGFNYXAiLEN5KDEsMTcsbi5jaGFydE1ldGFkYXRhTWFwJCkpKCJEYXRhRG93bmxvYWRDb21wb25lbnQiLG4uRGF0YURvd25sb2FkQ29tcG9uZW50KSgiZGF0YVNlcmllcyIsQ3koMiwxOSxuLmRhdGFTZXJpZXMkKSkoImlnbm9yZU91dGxpZXJzIixDeSgzLDIxLG4uaWdub3JlT3V0bGllcnMkKSkoImlzQ2FyZFZpc2libGUiLG4uaXNWaXNpYmxlKSgiaXNQaW5uZWQiLEN5KDQsMjMsbi5pc1Bpbm5lZCQpKSgibG9hZFN0YXRlIixDeSg1LDI1LG4ubG9hZFN0YXRlJCkpKCJzaG93RnVsbFNpemUiLG4uc2hvd0Z1bGxTaXplKSgic21vb3RoaW5nRW5hYmxlZCIsQ3koNiwyNyxuLnNtb290aGluZ0VuYWJsZWQkKSkoInRhZyIsQ3koNywyOSxuLnRhZyQpKSgidGl0bGUiLEN5KDgsMzEsbi50aXRsZSQpKSgidG9vbHRpcFNvcnQiLEN5KDksMzMsbi50b29sdGlwU29ydCQpKSgieEF4aXNUeXBlIixDeSgxMCwzNSxuLnhBeGlzVHlwZSQpKSgieFNjYWxlVHlwZSIsQ3koMTEsMzcsbi54U2NhbGVUeXBlJCkpKCJ1c2VEYXJrTW9kZSIsQ3koMTIsMzksbi51c2VEYXJrTW9kZSQpKSgic2VsZWN0ZWRUaW1lIixDeSgxMyw0MSxuLnNlbGVjdGVkVGltZSQpKX0sZGlyZWN0aXZlczpbcmJ0LHNidF0scGlwZXM6W1Z2XSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoY2J0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InNjYWxhci1jYXJkIix0ZW1wbGF0ZTonXG4gICAgPHNjYWxhci1jYXJkLWNvbXBvbmVudFxuICAgICAgW2NhcmRJZF09ImNhcmRJZCJcbiAgICAgIFtjaGFydE1ldGFkYXRhTWFwXT0iY2hhcnRNZXRhZGF0YU1hcCQgfCBhc3luYyJcbiAgICAgIFtEYXRhRG93bmxvYWRDb21wb25lbnRdPSJEYXRhRG93bmxvYWRDb21wb25lbnQiXG4gICAgICBbZGF0YVNlcmllc109ImRhdGFTZXJpZXMkIHwgYXN5bmMiXG4gICAgICBbaWdub3JlT3V0bGllcnNdPSJpZ25vcmVPdXRsaWVycyQgfCBhc3luYyJcbiAgICAgIFtpc0NhcmRWaXNpYmxlXT0iaXNWaXNpYmxlIlxuICAgICAgW2lzUGlubmVkXT0iaXNQaW5uZWQkIHwgYXN5bmMiXG4gICAgICBbbG9hZFN0YXRlXT0ibG9hZFN0YXRlJCB8IGFzeW5jIlxuICAgICAgW3Nob3dGdWxsU2l6ZV09InNob3dGdWxsU2l6ZSJcbiAgICAgIFtzbW9vdGhpbmdFbmFibGVkXT0ic21vb3RoaW5nRW5hYmxlZCQgfCBhc3luYyJcbiAgICAgIFt0YWddPSJ0YWckIHwgYXN5bmMiXG4gICAgICBbdGl0bGVdPSJ0aXRsZSQgfCBhc3luYyJcbiAgICAgIFt0b29sdGlwU29ydF09InRvb2x0aXBTb3J0JCB8IGFzeW5jIlxuICAgICAgW3hBeGlzVHlwZV09InhBeGlzVHlwZSQgfCBhc3luYyJcbiAgICAgIFt4U2NhbGVUeXBlXT0ieFNjYWxlVHlwZSQgfCBhc3luYyJcbiAgICAgIFt1c2VEYXJrTW9kZV09InVzZURhcmtNb2RlJCB8IGFzeW5jIlxuICAgICAgW3NlbGVjdGVkVGltZV09InNlbGVjdGVkVGltZSQgfCBhc3luYyJcbiAgICAgIChvbkZ1bGxTaXplVG9nZ2xlKT0ib25GdWxsU2l6ZVRvZ2dsZSgpIlxuICAgICAgKG9uUGluQ2xpY2tlZCk9InBpblN0YXRlQ2hhbmdlZC5lbWl0KCRldmVudCkiXG4gICAgICBvYnNlcnZlSW50ZXJzZWN0aW9uXG4gICAgICAob25WaXNpYmlsaXR5Q2hhbmdlKT0ib25WaXNpYmlsaXR5Q2hhbmdlKCRldmVudCkiXG4gICAgPjwvc2NhbGFyLWNhcmQtY29tcG9uZW50PlxuICAnLHN0eWxlczpbIlxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse0RhdGFEb3dubG9hZENvbXBvbmVudDpbe3R5cGU6Ul99XSxjYXJkSWQ6W3t0eXBlOlJffV0sZ3JvdXBOYW1lOlt7dHlwZTpSX31dLGZ1bGxXaWR0aENoYW5nZWQ6W3t0eXBlOkVffV0sZnVsbEhlaWdodENoYW5nZWQ6W3t0eXBlOkVffV0scGluU3RhdGVDaGFuZ2VkOlt7dHlwZTpFX31dfSk7ZnVuY3Rpb24gZGJ0KHQsZSxuKXtjb25zdCBvPVtdLHtsZWZ0OmkscmlnaHQ6YX09ZSxyPShhLWkpL247bGV0IHM9MCxsPTA7Zm9yKGxldCBlPTA7ZTxuO2UrKyl7Y29uc3QgYT1pK2UqcixjPWErcixkPWU9PT1uLTE7bGV0IHA9bDtmb3IobD0wO3M8dC5sZW5ndGg7KXtjb25zdCBlPXRbc10sbj1wYnQoZSxhLGMsIWQpO2lmKHArPW4uY3VycixsKz1uLm5leHQsZS54K2UuZHg+YylicmVhaztzKyt9by5wdXNoKHt4OmEsZHg6cix5OnB9KX1yZXR1cm4gb31mdW5jdGlvbiBwYnQodCxlLG4sbyl7Y29uc3QgaT10LngsYT10LngrdC5keDtpZihpPm58fGE8ZSlyZXR1cm57Y3VycjowLG5leHQ6MH07aWYoMD09PXQuZHgpcmV0dXJuIG8mJmE+PW4/e2N1cnI6MCxuZXh0OnQueX06e2N1cnI6dC55LG5leHQ6MH07Y29uc3Qgcj1NYXRoLm1pbihhLG4pLU1hdGgubWF4KGksZSk7cmV0dXJue2N1cnI6dC55KnIvdC5keCxuZXh0OjB9fWNvbnN0IG1idD1bIm1haW4iXSxmYnQ9WyJ4QXhpcyJdLHVidD1bInlBeGlzIl0sZ2J0PVsiY29udGVudCJdLGhidD1bImhpc3RvZ3JhbXMiXTtmdW5jdGlvbiBiYnQodCxlKXtpZigxJnQmJihvYSgpLENmKDAsImciKSxDZigxLCJ0ZXh0IiksUHUoMiksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtsdSgidHJhbnNmb3JtIix0LmdldENzc1RyYW5zbGF0ZVB4KHQudG9vbHRpcERhdGEueEF4aXMucG9zaXRpb24sOSkpLERjKDIpLHd1KHQudG9vbHRpcERhdGEueEF4aXMubGFiZWwpfX1mdW5jdGlvbiB5YnQodCxlKXtpZigxJnQmJihvYSgpLENmKDAsImciKSxDZigxLCJ0ZXh0IiksUHUoMiksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtsdSgidHJhbnNmb3JtIix0LmdldEdyb3VwVHJhbnNmb3JtKHQudG9vbHRpcERhdGEuY2xvc2VzdERhdHVtKSksRGMoMSkseW0oInkiLHQudG9vbHRpcERhdGEueUF4aXMucG9zaXRpb24pLERjKDEpLGt1KCIgIix0LnRvb2x0aXBEYXRhLnlBeGlzLmxhYmVsLCIgIil9fWZ1bmN0aW9uIF9idCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMTYpLHZmKDEsImxpbmtlZC10aW1lLWZvYiIsMTcpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtsdSgidHJhbnNmb3JtIix0LmdldENzc1RyYW5zbGF0ZVB4KDAsdC5zY2FsZXMudGVtcG9yYWxTY2FsZSh0LmxpbmtlZFRpbWUuZW5kU3RlcCkpKSxEYygxKSxiZigic3RlcCIsdC5saW5rZWRUaW1lLmVuZFN0ZXApfX1mdW5jdGlvbiBDYnQodCxlKXtpZigxJnQmJihvYSgpLGFhKCkseGYoMCksQ2YoMSwiZGl2IiwxNiksdmYoMiwibGlua2VkLXRpbWUtZm9iIiwxNyksTWYoKSxIbSgzLF9idCwyLDMsImRpdiIsMTgpLE9mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGx1KCJ0cmFuc2Zvcm0iLHQuZ2V0Q3NzVHJhbnNsYXRlUHgoMCx0LnNjYWxlcy50ZW1wb3JhbFNjYWxlKHQubGlua2VkVGltZS5zdGFydFN0ZXApKSksRGMoMSksYmYoInN0ZXAiLHQubGlua2VkVGltZS5zdGFydFN0ZXApLERjKDEpLGJmKCJuZ0lmIix0LmxpbmtlZFRpbWUuZW5kU3RlcCl9fWZ1bmN0aW9uIE1idCh0LGUpe2lmKDEmdCYmKG9hKCksQ2YoMCwiZyIpLHZmKDEsImxpbmUiLDE5KSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQ7bHUoInRyYW5zZm9ybSIsemYoKS5nZXRDc3NUcmFuc2xhdGVQeCgwLHQpKX19ZnVuY3Rpb24gdmJ0KHQsZSl7MSZ0JiYob2EoKSx2ZigwLCJsaW5lIiwyMikpfWZ1bmN0aW9uIHhidCh0LGUpe2lmKDEmdCYmKG9hKCksdmYoMCwiY2lyY2xlIiwyMykpLDImdCl7Y29uc3QgdD16ZigpLiRpbXBsaWNpdCxlPXpmKCk7bHUoInRyYW5zZm9ybSIsZS5nZXRDc3NUcmFuc2xhdGVQeChlLmdldFVpQ29vcmRGcm9tQmluRm9yQ29udGVudChlLmdldENsb3Nlc3RCaW5Gcm9tQmluQ29vcmRpbmF0ZSh0LGUudG9vbHRpcERhdGEueFBvc2l0aW9uSW5CaW5Db29yZCkpLngsZS5nZXRVaUNvb3JkRnJvbUJpbkZvckNvbnRlbnQoZS5nZXRDbG9zZXN0QmluRnJvbUJpbkNvb3JkaW5hdGUodCxlLnRvb2x0aXBEYXRhLnhQb3NpdGlvbkluQmluQ29vcmQpKS55KSl9fWZ1bmN0aW9uIE9idCh0LGUpe2lmKDEmdCYmKG9hKCksQ2YoMCwiZyIpLEhtKDEsdmJ0LDEsMCwibGluZSIsMjApLHZmKDIsInBhdGgiKSxIbSgzLHhidCwxLDIsImNpcmNsZSIsMjEpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKCk7bHUoInRyYW5zZm9ybSIsbi5nZXRHcm91cFRyYW5zZm9ybSh0KSkoImNvbG9yIixuLmdldEhpc3RvZ3JhbUZpbGwodCkpLGN1KCJoaXN0b2dyYW0iLCEwKSgibm8tY29sb3IiLCFuLmlzRGF0dW1JbkxpbmtlZFRpbWVSYW5nZSh0KSksRGMoMSksYmYoIm5nSWYiLG4ubW9kZT09PW4uSGlzdG9ncmFtTW9kZS5PRkZTRVQpLERjKDEpLHltKCJkIixuLmdldEhpc3RvZ3JhbVBhdGgodCkpLERjKDEpLGJmKCJuZ0lmIixuLnRvb2x0aXBEYXRhKX19ZnVuY3Rpb24gUGJ0KHQsZSl7aWYoMSZ0JiYob2EoKSx2ZigwLCJjaXJjbGUiLDIzKSksMiZ0KXtjb25zdCB0PXpmKDIpO3ltKCJjeCIsdC5nZXRVaUNvb3JkRnJvbUJpbkZvckNvbnRlbnQodC50b29sdGlwRGF0YS5jbG9zZXN0QmluKS54KSgiY3kiLHQuZ2V0VWlDb29yZEZyb21CaW5Gb3JDb250ZW50KHQudG9vbHRpcERhdGEuY2xvc2VzdEJpbikueSl9fWZ1bmN0aW9uIHdidCh0LGUpe2lmKDEmdCYmKG9hKCksQ2YoMCwiZyIsNCksQ2YoMSwiZyIpLHZmKDIsInBhdGgiKSxIbSgzLFBidCwxLDIsImNpcmNsZSIsMjQpLE1mKCksQ2YoNCwiZyIsMjUpLENmKDUsInRleHQiLDI2KSxQdSg2KSxNZigpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksbHUoInRyYW5zZm9ybSIsdC5nZXRHcm91cFRyYW5zZm9ybSh0LnRvb2x0aXBEYXRhLmNsb3Nlc3REYXR1bSkpLERjKDEpLHltKCJkIix0LmdldEhpc3RvZ3JhbVBhdGgodC50b29sdGlwRGF0YS5jbG9zZXN0RGF0dW0pKSxEYygxKSxiZigibmdJZiIsdC50b29sdGlwRGF0YS5jbG9zZXN0QmluKSxEYygxKSxsdSgidHJhbnNmb3JtIix0LmdldENzc1RyYW5zbGF0ZVB4KHQudG9vbHRpcERhdGEudmFsdWUucG9zaXRpb24ueCx0LnRvb2x0aXBEYXRhLnZhbHVlLnBvc2l0aW9uLnkpKSxEYygyKSx3dSh0LnRvb2x0aXBEYXRhLnZhbHVlLmxhYmVsKX19Y2xhc3Mga2J0e2NvbnN0cnVjdG9yKHQpe3RoaXMuY2hhbmdlRGV0ZWN0b3I9dCx0aGlzLm1vZGU9akUuT0ZGU0VULHRoaXMudGltZVByb3BlcnR5PVZFLlNURVAsdGhpcy5saW5rZWRUaW1lPW51bGwsdGhpcy5IaXN0b2dyYW1Nb2RlPWpFLHRoaXMuVGltZVByb3BlcnR5PVZFLHRoaXMudG9vbHRpcERhdGE9bnVsbCx0aGlzLm5nVW5zdWJzY3JpYmU9bmV3IEIsdGhpcy5sYXlvdXQ9e2hpc3RvZ3JhbUhlaWdodDowLGNvbnRlbnRDbGllbnRSZWN0OntoZWlnaHQ6MCx3aWR0aDowfX0sdGhpcy5zY2FsZXM9bnVsbCx0aGlzLmZvcm1hdHRlcnM9e2Jpbk51bWJlcjpMbnQoIi4zfnMiKSxjb3VudDpMbnQoIi4zbiIpLHdhbGxUaW1lOnRpdCgiJW0vJWQgJVgiKSxzdGVwOkxudCgiLjBmIikscmVsYXRpdmU6dD0+TG50KCIuMXIiKSh0LzM2ZTUpKyJoIn0sdGhpcy5kb21WaXNpYmxlPSExfW5nT25DaGFuZ2VzKCl7dGhpcy51cGRhdGVDaGFydElmVmlzaWJsZSgpfW5nT25EZXN0cm95KCl7dGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKSx0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKX1uZ0FmdGVyVmlld0luaXQoKXtsZSh0aGlzLm1haW4ubmF0aXZlRWxlbWVudCwibW91c2Vtb3ZlIix7cGFzc2l2ZTohMH0pLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCh0PT50aGlzLm9uTW91c2VNb3ZlKHQpKSl9Z2V0Q3NzVHJhbnNsYXRlUHgodCxlKXtyZXR1cm5gdHJhbnNsYXRlKCR7dH1weCwgJHtlfXB4KWB9Z2V0Q2xvc2VzdEJpbkZyb21CaW5Db29yZGluYXRlKHQsZSl7aWYoIXQuYmlucy5sZW5ndGgpcmV0dXJue3g6MCxkeDowLHk6MH07Y29uc3Qgbj10LmJpbnNbMF0sbz10LmJpbnMuc2xpY2UoLTEpWzBdO2lmKGU8bi54KXJldHVybiBuO2lmKGU+PW8ueCtvLmR4KXJldHVybiBvO3JldHVybiB0LmJpbnMuZmluZCgodD0+dC54PD1lJiZlPHQueCt0LmR4KSl9Z2V0VWlDb29yZEZyb21CaW5Gb3JDb250ZW50KHQpe3JldHVybiB0aGlzLnNjYWxlcz97eDp0aGlzLnNjYWxlcy5iaW5TY2FsZShSYnQodCkpLHk6dGhpcy5zY2FsZXMuY291bnRTY2FsZSh0LnkpfTp7eDowLHk6MH19Z2V0SGlzdG9ncmFtUGF0aCh0KXtpZighdGhpcy5zY2FsZXN8fCF0LmJpbnMubGVuZ3RoKXJldHVybiIiO2NvbnN0IGU9dGhpcy5zY2FsZXMuYmluU2NhbGUsbj10aGlzLnNjYWxlcy5jb3VudFNjYWxlLG89dC5iaW5zWzBdLGk9dC5iaW5zLnNsaWNlKC0xKVswXSxhPVtgTSR7ZShSYnQobykpfSwke24oMCl9YF07Zm9yKGNvbnN0IG8gb2YgdC5iaW5zKWEucHVzaChgTCR7ZShSYnQobykpfSwke24oby55KX1gKTtyZXR1cm4gYS5wdXNoKGBMJHtlKFJidChpKSl9LCR7bigwKX1gKSxhLmpvaW4oIiIpfXRyYWNrQnlXYWxsVGltZSh0KXtyZXR1cm4gdC53YWxsVGltZX1nZXRHcm91cFRyYW5zZm9ybSh0KXtyZXR1cm4gdGhpcy5zY2FsZXMmJnRoaXMubW9kZSE9PWpFLk9WRVJMQVk/dGhpcy5nZXRDc3NUcmFuc2xhdGVQeCgwLHRoaXMuc2NhbGVzLnRlbXBvcmFsU2NhbGUodGhpcy5nZXRUaW1lVmFsdWUodCkpKToiIn1pc0xpbmtlZFRpbWVFbmFibGVkKHQpe3JldHVybiBCb29sZWFuKHRoaXMubW9kZT09PWpFLk9GRlNFVCYmdGhpcy50aW1lUHJvcGVydHk9PT1WRS5TVEVQJiZ0aGlzLnNjYWxlcyYmdCl9aXNEYXR1bUluTGlua2VkVGltZVJhbmdlKHQpe3JldHVybiF0aGlzLmlzTGlua2VkVGltZUVuYWJsZWQodGhpcy5saW5rZWRUaW1lKXx8KG51bGw9PT10aGlzLmxpbmtlZFRpbWUuZW5kU3RlcD90aGlzLmxpbmtlZFRpbWUuc3RhcnRTdGVwPT09dC5zdGVwOnRoaXMubGlua2VkVGltZS5zdGFydFN0ZXA8PXQuc3RlcCYmdGhpcy5saW5rZWRUaW1lLmVuZFN0ZXA+PXQuc3RlcCl9Z2V0SGlzdG9ncmFtRmlsbCh0KXtyZXR1cm4gdGhpcy5zY2FsZXM/dGhpcy5zY2FsZXMuZDNDb2xvclNjYWxlKHRoaXMuZ2V0VGltZVZhbHVlKHQpKToiIn1nZXRHcmlkVGlja1lMb2NzKCl7aWYoIXRoaXMuc2NhbGVzfHx0aGlzLm1vZGU9PT1qRS5PRkZTRVQpcmV0dXJuW107Y29uc3QgdD10aGlzLnNjYWxlcy5jb3VudFNjYWxlO3JldHVybiB0LnRpY2tzKCkubWFwKChlPT50KGUpKSl9b25SZXNpemUoKXt0aGlzLnVwZGF0ZUNsaWVudFJlY3RzKCksdGhpcy51cGRhdGVDaGFydElmVmlzaWJsZSgpfW9uVmlzaWJpbGl0eUNoYW5nZSh7dmlzaWJsZTp0fSl7dGhpcy5kb21WaXNpYmxlPXQsdCYmKHRoaXMudXBkYXRlQ2xpZW50UmVjdHMoKSx0aGlzLnVwZGF0ZUNoYXJ0SWZWaXNpYmxlKCkpfWdldFRpbWVWYWx1ZSh0KXtzd2l0Y2godGhpcy50aW1lUHJvcGVydHkpe2Nhc2UgVkUuV0FMTF9USU1FOnJldHVybiB0LndhbGxUaW1lO2Nhc2UgVkUuU1RFUDpyZXR1cm4gdC5zdGVwO2Nhc2UgVkUuUkVMQVRJVkU6cmV0dXJuIHQud2FsbFRpbWUtdGhpcy5kYXRhWzBdLndhbGxUaW1lfX11cGRhdGVDbGllbnRSZWN0cygpe3RoaXMuY29udGVudCYmKHRoaXMubGF5b3V0LmNvbnRlbnRDbGllbnRSZWN0PXRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHRoaXMubGF5b3V0Lmhpc3RvZ3JhbUhlaWdodD10aGlzLmxheW91dC5jb250ZW50Q2xpZW50UmVjdC5oZWlnaHQvMi41KX11cGRhdGVDaGFydElmVmlzaWJsZSgpe3RoaXMuZG9tVmlzaWJsZSYmKHRoaXMuc2NhbGVzPXRoaXMuY29tcHV0ZVNjYWxlcyh0aGlzLmRhdGEpLHRoaXMucmVuZGVyWEF4aXMoKSx0aGlzLnJlbmRlcllBeGlzKCksdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCkpfWNvbXB1dGVTY2FsZXModCl7Y29uc3R7d2lkdGg6ZSxoZWlnaHQ6bn09dGhpcy5sYXlvdXQuY29udGVudENsaWVudFJlY3Qse21pbjpvLG1heDppfT1EYnQodCwodD0+KGZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gdC5yZWR1Y2UoKCh0LGUpPT5NYXRoLm1pbih0LG4oZSkpKSwxLzApfSkodC5iaW5zLCh0PT50LngpKSksKHQ9PlNidCh0LmJpbnMsKCh7eDp0LGR4OmV9KT0+dCtlKSkpKSxhPVNidCh0LCh0PT5TYnQodC5iaW5zLCgoe3k6dH0pPT50KSkpKSxyPW1vdCgpLmRvbWFpbihbbyxpXSkubmljZSgpLHM9dGhpcy5tb2RlIT09akUuT1ZFUkxBWSYmdGhpcy50aW1lUHJvcGVydHk9PVZFLldBTExfVElNRT9TYXQoKTptb3QoKSxsPXQubWFwKCh0PT50aGlzLmdldFRpbWVWYWx1ZSh0KSkpLHttaW46YyxtYXg6ZH09RGJ0KGwsKHQ9PnQpKSxwPVtjLGRdO3MuZG9tYWluKHApO2NvbnN0IG09bW90KCk7bS5kb21haW4oWzAsYV0pO2NvbnN0IGY9VDkodGhpcy5jb2xvcnx8IiMwMDAiKSx1PW1vdCgpO2lmKHUuZG9tYWluKHApLHIucmFuZ2UoWzAsZV0pLHUucmFuZ2UoW2YuYnJpZ2h0ZXIoKSxmLmRhcmtlcigpXSksdS5pbnRlcnBvbGF0ZSh5dHQpLHRoaXMubW9kZT09PWpFLk9WRVJMQVkpcy5yYW5nZShbbixuXSksbS5yYW5nZShbbiwwXSk7ZWxzZXtzLnJhbmdlKFtuLSh0aGlzLm1vZGU9PT1qRS5PRkZTRVQ/bi10aGlzLmxheW91dC5oaXN0b2dyYW1IZWlnaHQ6MCksbl0pLG0ucmFuZ2UoWzAsLXRoaXMubGF5b3V0Lmhpc3RvZ3JhbUhlaWdodF0pfXJldHVybntiaW5TY2FsZTpyLGQzQ29sb3JTY2FsZTp1LGNvdW50U2NhbGU6bSx0ZW1wb3JhbFNjYWxlOnN9fXJlbmRlclhBeGlzKCl7aWYoIXRoaXMuc2NhbGVzKXJldHVybjtjb25zdHt3aWR0aDp0fT10aGlzLmxheW91dC5jb250ZW50Q2xpZW50UmVjdCxlPUI2KHRoaXMuc2NhbGVzLmJpblNjYWxlKS50aWNrcyhNYXRoLm1heCgyLHQvMjApKTtlLnRpY2tGb3JtYXQodGhpcy5mb3JtYXR0ZXJzLmJpbk51bWJlciksZShuOCh0aGlzLnhBeGlzLm5hdGl2ZUVsZW1lbnQpKX1nZXRZQXhpc0Zvcm1hdHRlcigpe2lmKHRoaXMubW9kZT09PWpFLk9WRVJMQVkpcmV0dXJuIHRoaXMuZm9ybWF0dGVycy5jb3VudDtzd2l0Y2godGhpcy50aW1lUHJvcGVydHkpe2Nhc2UgVkUuV0FMTF9USU1FOnJldHVybiB0aGlzLmZvcm1hdHRlcnMud2FsbFRpbWU7Y2FzZSBWRS5TVEVQOnJldHVybiB0aGlzLmZvcm1hdHRlcnMuc3RlcDtjYXNlIFZFLlJFTEFUSVZFOnJldHVybiB0aGlzLmZvcm1hdHRlcnMucmVsYXRpdmU7ZGVmYXVsdDp0aHJvdyBSYW5nZUVycm9yKGBZIGF4aXMgZm9ybWF0dGVyIGZvciAke3RoaXMudGltZVByb3BlcnR5fSBtdXN0IGJlIGltcGxlbWVudGVkYCl9fXJlbmRlcllBeGlzKCl7aWYoIXRoaXMuc2NhbGVzKXJldHVybjtjb25zdCB0PXRoaXMubW9kZT09PWpFLk9WRVJMQVk/dGhpcy5zY2FsZXMuY291bnRTY2FsZTp0aGlzLnNjYWxlcy50ZW1wb3JhbFNjYWxlLHtoZWlnaHQ6ZX09dGhpcy5sYXlvdXQuY29udGVudENsaWVudFJlY3Qsbj1MNih0KS50aWNrcyhNYXRoLm1heCgyLGUvMTUpKTtuLnRpY2tGb3JtYXQodGhpcy5nZXRZQXhpc0Zvcm1hdHRlcigpKSxuKG44KHRoaXMueUF4aXMubmF0aXZlRWxlbWVudCkpfWZpbmRDbG9zZXN0RGF0dW1JbmRleCh0KXtsZXQgZT10LnRhcmdldCxuPWU7Zm9yKDtlJiZlIT09dGhpcy5oaXN0b2dyYW1zLm5hdGl2ZUVsZW1lbnQ7KW49ZSxlPWUucGFyZW50RWxlbWVudDtyZXR1cm4gZT9BcnJheS5mcm9tKGUuY2hpbGRyZW4pLmluZGV4T2Yobik6LTF9b25Nb3VzZU1vdmVGb3JUZXN0T25seSh0KXtyZXR1cm4gdGhpcy5vbk1vdXNlTW92ZSh0KX1vbk1vdXNlTW92ZSh0KXtpZighdGhpcy5zY2FsZXMpcmV0dXJuO2NvbnN0IGU9dC5vZmZzZXRYLG49dC5vZmZzZXRZLG89dGhpcy5maW5kQ2xvc2VzdERhdHVtSW5kZXgodCk7aWYobzwwKXJldHVybjtjb25zdCBpPXRoaXMuc2NhbGVzLmJpblNjYWxlLmludmVydChlKSxhPXRoaXMuZGF0YVtvXSxyPXRoaXMuZ2V0Q2xvc2VzdEJpbkZyb21CaW5Db29yZGluYXRlKGEsaSk7dGhpcy50b29sdGlwRGF0YT17dmFsdWU6e3Bvc2l0aW9uOnt4OmUseTpufSxsYWJlbDp0aGlzLm1vZGU9PT1qRS5PRkZTRVQ/dGhpcy5mb3JtYXR0ZXJzLmNvdW50KHIueSk6YFN0ZXA6ICR7dGhpcy5mb3JtYXR0ZXJzLnN0ZXAoYS5zdGVwKX1gfSx4QXhpczp7cG9zaXRpb246dGhpcy5nZXRVaUNvb3JkRnJvbUJpbkZvckNvbnRlbnQocikueCxsYWJlbDp0aGlzLmZvcm1hdHRlcnMuYmluTnVtYmVyKFJidChyKSl9LHlBeGlzOntwb3NpdGlvbjp0aGlzLnNjYWxlcy5jb3VudFNjYWxlKHRoaXMubW9kZT09PWpFLk9GRlNFVD8wOnIueSksbGFiZWw6dGhpcy5tb2RlPT09akUuT0ZGU0VUP3RoaXMuZ2V0WUF4aXNGb3JtYXR0ZXIoKSh0aGlzLmdldFRpbWVWYWx1ZShhKSk6dGhpcy5mb3JtYXR0ZXJzLmJpbk51bWJlcihyLnkpfSx4UG9zaXRpb25JbkJpbkNvb3JkOmksY2xvc2VzdERhdHVtOmEsY2xvc2VzdEJpbjpyfSx0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKX19ZnVuY3Rpb24gU2J0KHQsZSl7cmV0dXJuIHQucmVkdWNlKCgodCxuKT0+TWF0aC5tYXgodCxlKG4pKSksLTEvMCl9ZnVuY3Rpb24gRGJ0KHQsZSxuKXtufHwobj1lKTtsZXQgbz0xLzAsaT0tMS8wO2Zvcihjb25zdCBhIG9mIHQpbz1NYXRoLm1pbihvLGUoYSkpLGk9TWF0aC5tYXgoaSxuKGEpKTtyZXR1cm57bWluOm8sbWF4Oml9fWZ1bmN0aW9uIFJidCh0KXtyZXR1cm4gdC54Ky41KnQuZHh9ZnVuY3Rpb24gRWJ0KHQsZSl7MSZ0JiZ2ZigwLCJ2aXMtc2VsZWN0ZWQtdGltZS1jbGlwcGVkIil9ZnVuY3Rpb24gQWJ0KHQsZSl7MSZ0JiYoQ2YoMCwic3BhbiIsMTQpLHZmKDEsIm1hdC1zcGlubmVyIiwxNSksTWYoKSl9a2J0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxrYnQpKGdmKE9iKSl9LGtidC7JtWNtcD1zbyh7dHlwZTprYnQsc2VsZWN0b3JzOltbInRiLWhpc3RvZ3JhbSJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKFZ5KG1idCw1KSxWeShmYnQsNSksVnkodWJ0LDUpLFZ5KGdidCw1KSxWeShoYnQsNSkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4ubWFpbj10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi54QXhpcz10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi55QXhpcz10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5jb250ZW50PXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLmhpc3RvZ3JhbXM9dC5maXJzdCl9fSxpbnB1dHM6e21vZGU6Im1vZGUiLHRpbWVQcm9wZXJ0eToidGltZVByb3BlcnR5Iixjb2xvcjoiY29sb3IiLGRhdGE6ImRhdGEiLGxpbmtlZFRpbWU6ImxpbmtlZFRpbWUifSxmZWF0dXJlczpbcW9dLGRlY2xzOjIyLHZhcnM6MTcsY29uc3RzOltbImRldGVjdFJlc2l6ZSIsIiIsIm9ic2VydmVJbnRlcnNlY3Rpb24iLCIiLDMsIm9uUmVzaXplIiwib25WaXNpYmlsaXR5Q2hhbmdlIl0sWyJtYWluIiwiIl0sWzEsImF4aXMiLCJ4LWF4aXMiXSxbInhBeGlzIiwiIl0sWzEsInRvb2x0aXAiXSxbMywidHJhbnNmb3JtIiw0LCJuZ0lmIl0sWzEsImF4aXMiLCJ5LWF4aXMiXSxbInlBeGlzIiwiIl0sWzQsIm5nSWYiXSxbMSwiY29udGVudCJdLFsiY29udGVudCIsIiJdLFsxLCJncmlkIl0sWzMsInRyYW5zZm9ybSIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWyJoaXN0b2dyYW1zIiwiIl0sWzMsInRyYW5zZm9ybSIsImhpc3RvZ3JhbSIsIm5vLWNvbG9yIiwiY29sb3IiLDQsIm5nRm9yIiwibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSJdLFsiY2xhc3MiLCJ0b29sdGlwIiw0LCJuZ0lmIl0sWzEsImxpbmtlZC10aW1lIl0sWzEsImxpbmtlZC10aW1lLWZvYiIsMywic3RlcCJdLFsiY2xhc3MiLCJsaW5rZWQtdGltZSIsMywidHJhbnNmb3JtIiw0LCJuZ0lmIl0sWyJ4MiIsIjEwMCUiLDEsInRpY2siXSxbImNsYXNzIiwiYmFzZWxpbmUiLCJ4MiIsIjEwMCUiLDQsIm5nSWYiXSxbInIiLCIyIiwzLCJ0cmFuc2Zvcm0iLDQsIm5nSWYiXSxbIngyIiwiMTAwJSIsMSwiYmFzZWxpbmUiXSxbInIiLCIyIl0sWyJyIiwiMiIsNCwibmdJZiJdLFsxLCJ2YWx1ZS1sYWJlbCJdLFsieCIsIjMiLCJ5IiwiLTMiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCwxKSxSZigib25SZXNpemUiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25SZXNpemUoKX0pKSgib25WaXNpYmlsaXR5Q2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblZpc2liaWxpdHlDaGFuZ2UoZSl9KSksb2EoKSxDZigyLCJzdmciLDIpLHZmKDMsImciLG51bGwsMyksQ2YoNSwiZyIsNCksSG0oNixiYnQsMywzLCJnIiw1KSxNZigpLE1mKCksYWEoKSxDZig3LCJkaXYiLDYpLG9hKCksQ2YoOCwic3ZnIiksdmYoOSwiZyIsbnVsbCw3KSxDZigxMSwiZyIsNCksSG0oMTIseWJ0LDMsNCwiZyIsNSksTWYoKSxNZigpLEhtKDEzLENidCw0LDQsIm5nLWNvbnRhaW5lciIsOCksTWYoKSxDZigxNCwic3ZnIiw5LDEwKSxDZigxNiwiZyIsMTEpLEhtKDE3LE1idCwyLDIsImciLDEyKSxNZigpLENmKDE4LCJnIixudWxsLDEzKSxIbSgyMCxPYnQsNCwxMSwiZyIsMTQpLE1mKCksSG0oMjEsd2J0LDcsNywiZyIsMTUpLE1mKCksTWYoKSksMiZlJiYobXUoIm1haW4gIituLm1vZGUrIiAiK24udGltZVByb3BlcnR5KSxEYyg2KSxiZigibmdJZiIsbi50b29sdGlwRGF0YSksRGMoNSksbHUoInRyYW5zZm9ybSIsbi5nZXRDc3NUcmFuc2xhdGVQeCg5LDApKSxEYygxKSxiZigibmdJZiIsbi50b29sdGlwRGF0YSksRGMoMSksYmYoIm5nSWYiLG4uaXNMaW5rZWRUaW1lRW5hYmxlZChuLmxpbmtlZFRpbWUpKSxEYyg0KSxiZigibmdGb3JPZiIsbi5nZXRHcmlkVGlja1lMb2NzKCkpLERjKDEpLGN1KCJoaXN0b2dyYW1zIiwhMCkoImxpbmtlZC10aW1lLWVuYWJsZWQiLG4ubGlua2VkVGltZSkoImxpbmtlZC10aW1lLXNpbmdsZS1zdGVwIixuLmxpbmtlZFRpbWUmJiFuLmxpbmtlZFRpbWUuZW5kU3RlcCksRGMoMiksYmYoIm5nRm9yT2YiLG4uZGF0YSkoIm5nRm9yVHJhY2tCeSIsbi50cmFja0J5V2FsbFRpbWUpLERjKDEpLGJmKCJuZ0lmIixuLnRvb2x0aXBEYXRhKSl9LGRpcmVjdGl2ZXM6WyRRLHNidCxQdix4dixqaHRdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV0sIC5tYWluW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfVtfbmdob3N0LSVDT01QJV17Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MTBweH0ubWFpbltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtYXJlYXM6ImNvbnRlbnQgeS1heGlzIiAieC1heGlzIC4iO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgNTBweDtncmlkLXRlbXBsYXRlLXJvd3M6MWZyIDMwcHh9Lm1haW4ud2FsbF90aW1lW19uZ2NvbnRlbnQtJUNPTVAlXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDc1cHh9LnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVdLCAuYmFzZWxpbmVbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiMwMDB9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAudG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6I2ZmZn1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuYmFzZWxpbmVbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuYmFzZWxpbmVbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiNmZmZ9LmxpbmtlZC10aW1lLWZvYltfbmdjb250ZW50LSVDT01QJV0gICB0ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVdICAgdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXNpemU6MTBweH0ubGlua2VkLXRpbWUtZm9iW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRleHRbX25nY29udGVudC0lQ09NUCVdLCAubGlua2VkLXRpbWUtZm9iW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGNpcmNsZVtfbmdjb250ZW50LSVDT01QJV0sIC50b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRleHRbX25nY29udGVudC0lQ09NUCVdLCAudG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV0gICBjaXJjbGVbX25nY29udGVudC0lQ09NUCVde2ZpbGw6Y3VycmVudENvbG9yfS5saW5rZWQtdGltZS1mb2JbX25nY29udGVudC0lQ09NUCVdICAgLnZhbHVlLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVdICAgLnZhbHVlLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtkb21pbmFudC1iYXNlbGluZTppZGVvZ3JhcGhpYzt0ZXh0LWFuY2hvcjpzdGFydH0ubGlua2VkLXRpbWVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6OXB4O3RvcDowO2hlaWdodDoxMDAlO3JpZ2h0OjB9LmxpbmtlZC10aW1lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5saW5rZWQtdGltZS1mb2JbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS5heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgICB7Y29sb3I6IzYxNjE2MTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmF4aXNbX25nY29udGVudC0lQ09NUCVdICAgICwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmF4aXNbX25nY29udGVudC0lQ09NUCVdICAgIHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0uYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAgIC5kb21haW4sIC5heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLnRpY2sgdGV4dHtkaXNwbGF5Om5vbmV9LmF4aXNbX25nY29udGVudC0lQ09NUCVdICAgICAudGljazpudGgtY2hpbGQoMm4rMSkgdGV4dHtkaXNwbGF5OmluaXRpYWx9c3ZnW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3BvaW50ZXItZXZlbnRzOnZpc2libGVQYWludGVkfXN2Z1tfbmdjb250ZW50LSVDT01QJV0gICBsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgc3ZnW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGNpcmNsZVtfbmdjb250ZW50LSVDT01QJV0sIHN2Z1tfbmdjb250ZW50LSVDT01QJV0gICAudG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZX1zdmdbX25nY29udGVudC0lQ09NUCVdICAgZ1tfbmdjb250ZW50LSVDT01QJV17d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS54LWF4aXNbX25nY29udGVudC0lQ09NUCVde2dyaWQtYXJlYTp4LWF4aXN9LngtYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAudG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17ZG9taW5hbnQtYmFzZWxpbmU6aGFuZ2luZzt0ZXh0LWFuY2hvcjptaWRkbGV9LnktYXhpc1tfbmdjb250ZW50LSVDT01QJV17Z3JpZC1hcmVhOnktYXhpczstd2Via2l0LW1hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzAwMDAgMCUsICMwMDAgMTAlLCAjMDAwIDkwJSwgIzAwMDAgMTAwJSk7bWFzay1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDAwMCAwJSwgIzAwMCAxMCUsICMwMDAgOTAlLCAjMDAwMCAxMDAlKX0ueS1heGlzW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC50b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtkb21pbmFudC1iYXNlbGluZTptaWRkbGU7dGV4dC1hbmNob3I6c3RhcnR9LmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLnRpY2tbX25nY29udGVudC0lQ09NUCVdLCAuYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAgIC50aWNrIGxpbmV7c3Ryb2tlOiNkZGR9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLnRpY2tbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICAudGlja1tfbmdjb250ZW50LSVDT01QJV17c3Ryb2tlOiM1NTV9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmF4aXNbX25nY29udGVudC0lQ09NUCVdICAgICAudGljayBsaW5lLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuYXhpc1tfbmdjb250ZW50LSVDT01QJV0gICAgIC50aWNrIGxpbmV7c3Ryb2tlOiM1NTV9LmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2dyaWQtYXJlYTpjb250ZW50fS5jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC50aWNrW19uZ2NvbnRlbnQtJUNPTVAlXXtzdHJva2Utd2lkdGg6MXB4O3N0cm9rZS1kYXNoYXJyYXk6Mn0uY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICBjaXJjbGVbX25nY29udGVudC0lQ09NUCVdLCAuY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICBwYXRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmaWxsOmN1cnJlbnRDb2xvcjtzdHJva2Utb3BhY2l0eTouNjtzdHJva2Utd2lkdGg6MXB4fS5jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGNpcmNsZVtfbmdjb250ZW50LSVDT01QJV17ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjYpKTtzdHJva2U6I2ZmZjt3aWxsLWNoYW5nZTp0cmFuc2Zvcm19LmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLmJhc2VsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtzdHJva2Utb3BhY2l0eTouMTtzdHJva2Utd2lkdGg6MXB4O3N0cm9rZTpjdXJyZW50Q29sb3I7d2lkdGg6MTAwJX0uY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICAudG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV0gICBwYXRoW19uZ2NvbnRlbnQtJUNPTVAlXXtzdHJva2Utb3BhY2l0eToxO3N0cm9rZTpjdXJyZW50Q29sb3I7ZmlsbDp0cmFuc3BhcmVudH0uY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICAubm8tY29sb3JbX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjIxLDIyMSwyMjEsLjQpICFpbXBvcnRhbnR9LmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLm5vLWNvbG9yW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBhdGhbX25nY29udGVudC0lQ09NUCVde3N0cm9rZS1vcGFjaXR5Oi4yfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5uby1jb2xvcltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5uby1jb2xvcltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSg1MSw1MSw1MSwuNCkgIWltcG9ydGFudH0ub2Zmc2V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5oaXN0b2dyYW1zW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBhdGhbX25nY29udGVudC0lQ09NUCVde3N0cm9rZTojZmZmfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5vZmZzZXRbX25nY29udGVudC0lQ09NUCVdICAgLmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLmhpc3RvZ3JhbXNbX25nY29udGVudC0lQ09NUCVdICAgcGF0aFtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5vZmZzZXRbX25nY29udGVudC0lQ09NUCVdICAgLmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLmhpc3RvZ3JhbXNbX25nY29udGVudC0lQ09NUCVdICAgcGF0aFtfbmdjb250ZW50LSVDT01QJV17c3Ryb2tlOiM1NTV9Lm9mZnNldFtfbmdjb250ZW50LSVDT01QJV0gICAuY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICAuaGlzdG9ncmFtcy5saW5rZWQtdGltZS1zaW5nbGUtc3RlcFtfbmdjb250ZW50LSVDT01QJV0gICBbX25nY29udGVudC0lQ09NUCVdOm5vdCgubm8tY29sb3IpICAgcGF0aFtfbmdjb250ZW50LSVDT01QJV17c3Ryb2tlOiMwMDB9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLm9mZnNldFtfbmdjb250ZW50LSVDT01QJV0gICAuY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICAuaGlzdG9ncmFtcy5saW5rZWQtdGltZS1zaW5nbGUtc3RlcFtfbmdjb250ZW50LSVDT01QJV0gICBbX25nY29udGVudC0lQ09NUCVdOm5vdCgubm8tY29sb3IpICAgcGF0aFtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5vZmZzZXRbX25nY29udGVudC0lQ09NUCVdICAgLmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgLmhpc3RvZ3JhbXMubGlua2VkLXRpbWUtc2luZ2xlLXN0ZXBbX25nY29udGVudC0lQ09NUCVdICAgW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoLm5vLWNvbG9yKSAgIHBhdGhbX25nY29udGVudC0lQ09NUCVde3N0cm9rZTojZmZmfS5vdmVybGF5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC54LWF4aXNbX25nY29udGVudC0lQ09NUCVdICAgICAudGljayBsaW5le2Rpc3BsYXk6bm9uZX0ub3ZlcmxheVtfbmdjb250ZW50LSVDT01QJV0gICAuY29udGVudFtfbmdjb250ZW50LSVDT01QJV0gICBwYXRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmaWxsLW9wYWNpdHk6MDtzdHJva2U6Y3VycmVudENvbG9yfS50b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgY2lyY2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9Lm1haW5bX25nY29udGVudC0lQ09NUCVdOmhvdmVyICAgLmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVdICAgY2lyY2xlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1haW5bX25nY29udGVudC0lQ09NUCVdOmhvdmVyICAgLnRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6YmxvY2t9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGtidCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJ0Yi1oaXN0b2dyYW0iLHRlbXBsYXRlVXJsOiJoaXN0b2dyYW1fY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbImhpc3RvZ3JhbV9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOk9ifV19KSx7bWFpbjpbe3R5cGU6YXIsYXJnczpbIm1haW4iXX1dLHhBeGlzOlt7dHlwZTphcixhcmdzOlsieEF4aXMiXX1dLHlBeGlzOlt7dHlwZTphcixhcmdzOlsieUF4aXMiXX1dLGNvbnRlbnQ6W3t0eXBlOmFyLGFyZ3M6WyJjb250ZW50Il19XSxoaXN0b2dyYW1zOlt7dHlwZTphcixhcmdzOlsiaGlzdG9ncmFtcyJdfV0sbW9kZTpbe3R5cGU6Ul99XSx0aW1lUHJvcGVydHk6W3t0eXBlOlJffV0sY29sb3I6W3t0eXBlOlJffV0sZGF0YTpbe3R5cGU6Ul99XSxsaW5rZWRUaW1lOlt7dHlwZTpSX31dfSk7Y29uc3QgVGJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJue3N0YXJ0U3RlcDp0LGVuZFN0ZXA6ZX19O2Z1bmN0aW9uIE5idCh0LGUpe2lmKDEmdCYmdmYoMCwidGItaGlzdG9ncmFtIiwxNiksMiZ0KXtjb25zdCB0PXpmKCk7YmYoImRhdGEiLHQuZGF0YSkoIm1vZGUiLHQubW9kZSkoInRpbWVQcm9wZXJ0eSIsdC50aW1lUHJvcGVydHkodC54QXhpc1R5cGUpKSgiY29sb3IiLHQucnVuQ29sb3JTY2FsZSh0LnJ1bklkKSkoImxpbmtlZFRpbWUiLHQuc2VsZWN0ZWRUaW1lP2F5KDUsVGJ0LHQuc2VsZWN0ZWRUaW1lLnN0YXJ0U3RlcCx0LnNlbGVjdGVkVGltZS5lbmRTdGVwKTpudWxsKX19ZnVuY3Rpb24gemJ0KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxOCksUHUoMSwiIERhdGEgZmFpbGVkIHRvIGxvYWQuICIpLE1mKCkpfWZ1bmN0aW9uIElidCh0LGUpe2lmKDEmdCYmSG0oMCx6YnQsMiwwLCJkaXYiLDE3KSwyJnQpe2NvbnN0IHQ9emYoKTtiZigibmdJZiIsdC5sb2FkU3RhdGU9PT10LkRhdGFMb2FkU3RhdGUuRkFJTEVEKX19Y29uc3QgSGJ0PWZ1bmN0aW9uKHQpe3JldHVybntiYWNrZ3JvdW5kQ29sb3I6dH19O2NsYXNzIEZidHtjb25zdHJ1Y3Rvcigpe3RoaXMuRGF0YUxvYWRTdGF0ZT1VRSx0aGlzLm9uRnVsbFNpemVUb2dnbGU9bmV3IFN5LHRoaXMub25QaW5DbGlja2VkPW5ldyBTeX10aW1lUHJvcGVydHkodCl7c3dpdGNoKHQpe2Nhc2UgUVQuU1RFUDpyZXR1cm4gVkUuU1RFUDtjYXNlIFFULldBTExfVElNRTpyZXR1cm4gVkUuV0FMTF9USU1FO2Nhc2UgUVQuUkVMQVRJVkU6cmV0dXJuIFZFLlJFTEFUSVZFO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHhBeGlzVHlwZSBmb3IgaGlzdG9ncmFtIHRpbWUgcHJvcGVydHkuIil9fX1GYnQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEZidCl9LEZidC7JtWNtcD1zbyh7dHlwZTpGYnQsc2VsZWN0b3JzOltbImhpc3RvZ3JhbS1jYXJkLWNvbXBvbmVudCJdXSxpbnB1dHM6e2xvYWRTdGF0ZToibG9hZFN0YXRlIix0aXRsZToidGl0bGUiLHRhZzoidGFnIixydW5JZDoicnVuSWQiLGRhdGE6ImRhdGEiLG1vZGU6Im1vZGUiLHhBeGlzVHlwZToieEF4aXNUeXBlIixydW5Db2xvclNjYWxlOiJydW5Db2xvclNjYWxlIixzaG93RnVsbFNpemU6InNob3dGdWxsU2l6ZSIsaXNQaW5uZWQ6ImlzUGlubmVkIixzZWxlY3RlZFRpbWU6InNlbGVjdGVkVGltZSJ9LG91dHB1dHM6e29uRnVsbFNpemVUb2dnbGU6Im9uRnVsbFNpemVUb2dnbGUiLG9uUGluQ2xpY2tlZDoib25QaW5DbGlja2VkIn0sZGVjbHM6MTYsdmFyczoxMyxjb25zdHM6ZnVuY3Rpb24oKXtsZXQgdCxlO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXt0PWdvb2cuZ2V0TXNnKCJQaW4gY2FyZCIpfWVsc2UgdD0kbG9jYWxpemVgOkEgYnV0dG9uIHRvIHBpbiBhIGNhcmQu4pCfZTY2NWRjNzEyYmQ1ZjE4ZDRkZmEzYTI5ZTEyNWQ1NjVjYzUxZTJmNuKQnzcyODQ2MDY0MjYyMzQzNzUzNDQ6UGluIGNhcmRgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtlPWdvb2cuZ2V0TXNnKCJUb2dnbGUgZnVsbCBzaXplIG1vZGUiKX1lbHNlIGU9JGxvY2FsaXplYDpBIGJ1dHRvbiBvbiBhIGhpc3RvZ3JhbSBjYXJkIHRoYXQgdG9nZ2xlcyBmdWxsIHNpemUgbW9kZS7ikJ9mYzhmNzY3ZDBiOWY5MzAxODdhMWJhZTM0NDc3YWQyODczNmVjZTMz4pCfOTE1NzIxNTYzNjM4OTI2NTk3OlRvZ2dsZSBmdWxsIHNpemUgbW9kZWA7cmV0dXJuW1sxLCJoZWFkaW5nIl0sWzEsInRhZyJdLFszLCJ0aXRsZSIsInZhbHVlIl0sWzQsIm5nSWYiXSxbMSwicnVuIl0sWzEsImRvdCIsMywibmdTdHlsZSJdLFsxLCJydW4tdGV4dCIsMywicnVuSWQiXSxbMSwiY29udHJvbHMiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMSwicGluLWJ1dHRvbiIsMywiY2xpY2siXSxbMywic3ZnSWNvbiJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsZSwidGl0bGUiLCJUb2dnbGUgZnVsbCBzaXplIG1vZGUiLDMsImNsaWNrIl0sWyJjbGFzcyIsInNwaW5uZXIiLDQsIm5nSWYiXSxbMywiZGF0YSIsIm1vZGUiLCJ0aW1lUHJvcGVydHkiLCJjb2xvciIsImxpbmtlZFRpbWUiLDQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsibm9EYXRhIiwiIl0sWzEsInNwaW5uZXIiXSxbImRpYW1ldGVyIiwiMTgiXSxbMywiZGF0YSIsIm1vZGUiLCJ0aW1lUHJvcGVydHkiLCJjb2xvciIsImxpbmtlZFRpbWUiXSxbImNsYXNzIiwiZW1wdHktbWVzc2FnZSIsNCwibmdJZiJdLFsxLCJlbXB0eS1tZXNzYWdlIl1dfSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiZGl2IiwwKSxDZigxLCJkaXYiLDEpLHZmKDIsInRiLXRydW5jYXRlZC1wYXRoIiwyKSxIbSgzLEVidCwxLDAsInZpcy1zZWxlY3RlZC10aW1lLWNsaXBwZWQiLDMpLE1mKCksQ2YoNCwiZGl2Iiw0KSx2Zig1LCJzcGFuIiw1KSx2Zig2LCJjYXJkLXJ1bi1uYW1lIiw2KSxNZigpLENmKDcsInNwYW4iLDcpLENmKDgsImJ1dHRvbiIsOCksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUGluQ2xpY2tlZC5lbWl0KCFuLmlzUGlubmVkKX0pKSx2Zig5LCJtYXQtaWNvbiIsOSksTWYoKSxDZigxMCwiYnV0dG9uIiwxMCksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRnVsbFNpemVUb2dnbGUuZW1pdCgpfSkpLHZmKDExLCJtYXQtaWNvbiIsOSksTWYoKSxNZigpLEhtKDEyLEFidCwyLDAsInNwYW4iLDExKSxNZigpLEhtKDEzLE5idCwxLDgsInRiLWhpc3RvZ3JhbSIsMTIpLEhtKDE0LElidCwxLDEsIm5nLXRlbXBsYXRlIixudWxsLDEzLHF5KSksMiZlKXtjb25zdCB0PUZtKDE1KTtEYygyKSxiZigidGl0bGUiLG4udGFnKSgidmFsdWUiLG4udGl0bGUpLERjKDEpLGJmKCJuZ0lmIixuLnNlbGVjdGVkVGltZSYmbi5zZWxlY3RlZFRpbWUuY2xpcHBlZCksRGMoMiksYmYoIm5nU3R5bGUiLGl5KDExLEhidCxuLnJ1bkNvbG9yU2NhbGUobi5ydW5JZCkpKSxEYygxKSxiZigicnVuSWQiLG4ucnVuSWQpLERjKDIpLHltKCJ0aXRsZSIsbi5pc1Bpbm5lZD8iVW5waW4gY2FyZCI6IlBpbiBjYXJkIiksRGMoMSksYmYoInN2Z0ljb24iLG4uaXNQaW5uZWQ/ImtlZXBfMjRweCI6ImtlZXBfb3V0bGluZV8yNHB4IiksRGMoMiksYmYoInN2Z0ljb24iLG4uc2hvd0Z1bGxTaXplPyJmdWxsc2NyZWVuX2V4aXRfMjRweCI6ImZ1bGxzY3JlZW5fMjRweCIpLERjKDEpLGJmKCJuZ0lmIixuLmxvYWRTdGF0ZT09PW4uRGF0YUxvYWRTdGF0ZS5MT0FESU5HKSxEYygxKSxiZigibmdJZiIsbi5kYXRhJiZuLmRhdGEubGVuZ3RoKSgibmdJZkVsc2UiLHQpfX0sZGlyZWN0aXZlczpbTDQsUHYsenYsVzQsTkwsTXEsVmh0LGEyLGtidF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJTtvdmVyZmxvdzphdXRvO3BhZGRpbmc6MTZweDtwYWRkaW5nLXRvcDo0cHh9LmhlYWRpbmdbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1hcmVhczoidGFnIGNvbnRyb2xzIiAicnVuIHNwaW5uZXIiO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgYXV0bztmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjRweH0udGFnW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2dhcDo1cHg7Z3JpZC1hcmVhOnRhZztvdmVyZmxvdzpoaWRkZW59LnRhZ1tfbmdjb250ZW50LSVDT01QJV0gICB2aXMtc2VsZWN0ZWQtdGltZS1jbGlwcGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDowfS5waW4tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIG1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MThweH0ucnVuW19uZ2NvbnRlbnQtJUNPTVAlXXtncmlkLWFyZWE6cnVuO2Rpc3BsYXk6ZmxleDt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1zaXplOjEzcHh9LnJ1bltfbmdjb250ZW50LSVDT01QJV0gICAuZG90W19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4Om5vbmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTNweDtoZWlnaHQ6MTNweDtib3JkZXItcmFkaXVzOjUwJTttYXJnaW4tcmlnaHQ6NHB4fS5ydW5bX25nY29udGVudC0lQ09NUCVdICAgLnJ1bi10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtd2lkdGg6MTIwcHh9LmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO3doaXRlLXNwYWNlOm5vd3JhcDtncmlkLWFyZWE6Y29udHJvbHM7anVzdGlmeS1zZWxmOmZsZXgtZW5kO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXJpZ2h0Oi0xMnB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5jb250cm9sc1tfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5jb250cm9sc1tfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9LnNwaW5uZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtncmlkLWFyZWE6c3Bpbm5lcjtoZWlnaHQ6MTAwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfW1hdC1zcGlubmVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MDtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlfXRiLWhpc3RvZ3JhbVtfbmdjb250ZW50LSVDT01QJV17ZmxleC1ncm93OjE7b3ZlcmZsb3c6aGlkZGVufS5lbXB0eS1tZXNzYWdlW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOjFlbTtmb250LXNpemU6MTNweH0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRmJ0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Imhpc3RvZ3JhbS1jYXJkLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Imhpc3RvZ3JhbV9jYXJkX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyJoaXN0b2dyYW1fY2FyZF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bG9hZFN0YXRlOlt7dHlwZTpSX31dLHRpdGxlOlt7dHlwZTpSX31dLHRhZzpbe3R5cGU6Ul99XSxydW5JZDpbe3R5cGU6Ul99XSxkYXRhOlt7dHlwZTpSX31dLG1vZGU6W3t0eXBlOlJffV0seEF4aXNUeXBlOlt7dHlwZTpSX31dLHJ1bkNvbG9yU2NhbGU6W3t0eXBlOlJffV0sc2hvd0Z1bGxTaXplOlt7dHlwZTpSX31dLGlzUGlubmVkOlt7dHlwZTpSX31dLHNlbGVjdGVkVGltZTpbe3R5cGU6Ul99XSxvbkZ1bGxTaXplVG9nZ2xlOlt7dHlwZTpFX31dLG9uUGluQ2xpY2tlZDpbe3R5cGU6RV99XX0pO2NsYXNzIExidHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5mdWxsV2lkdGhDaGFuZ2VkPW5ldyBTeSx0aGlzLmZ1bGxIZWlnaHRDaGFuZ2VkPW5ldyBTeSx0aGlzLnBpblN0YXRlQ2hhbmdlZD1uZXcgU3ksdGhpcy5tb2RlJD10aGlzLnN0b3JlLnNlbGVjdChfeiksdGhpcy54QXhpc1R5cGUkPXRoaXMuc3RvcmUuc2VsZWN0KHl6KSx0aGlzLnNob3dGdWxsU2l6ZT0hMX1pc0hpc3RvZ3JhbUNhcmRNZXRhZGF0YSh0KXtjb25zdHtwbHVnaW46ZX09dDtyZXR1cm4gZT09PUtULkhJU1RPR1JBTVN9b25GdWxsU2l6ZVRvZ2dsZSgpe3RoaXMuc2hvd0Z1bGxTaXplPSF0aGlzLnNob3dGdWxsU2l6ZSx0aGlzLmZ1bGxXaWR0aENoYW5nZWQuZW1pdCh0aGlzLnNob3dGdWxsU2l6ZSksdGhpcy5mdWxsSGVpZ2h0Q2hhbmdlZC5lbWl0KHRoaXMuc2hvd0Z1bGxTaXplKX1uZ09uSW5pdCgpe2NvbnN0IHQ9dGhpcy5zdG9yZS5zZWxlY3QobnosdGhpcy5jYXJkSWQpLnBpcGUodWUoKHQ9PiEhdCYmdGhpcy5pc0hpc3RvZ3JhbUNhcmRNZXRhZGF0YSh0KSkpLFZ0KCh0PT50KSkpLGU9S3QoW3QsdGhpcy5zdG9yZS5zZWxlY3QodHosdGhpcy5jYXJkSWQpXSk7dGhpcy5kYXRhJD1lLnBpcGUoVnQoKChbdCxlXSk9Pntjb25zdCBuPXQucnVuSWQ7aWYoIWV8fCFlLmhhc093blByb3BlcnR5KG4pKXJldHVybltdO3JldHVybihmdW5jdGlvbiBvKHQsZT0zMCl7aWYoIXQubGVuZ3RofHxlPDEpcmV0dXJuW107Y29uc3Qgbj0oZnVuY3Rpb24gbyh0KXtsZXQgZT1udWxsLG49bnVsbDtmb3IoY29uc3R7YmluczpvfW9mIHQpe2lmKCFvLmxlbmd0aCljb250aW51ZTtjb25zdCB0PW9bby5sZW5ndGgtMV0saT1vWzBdLngsYT10LngrdC5keDsobnVsbD09PWV8fGk8ZSkmJihlPWkpLChudWxsPT09bnx8YT5uKSYmKG49YSl9cmV0dXJuIG51bGw9PT1lfHxudWxsPT09bj9udWxsOntsZWZ0OmUscmlnaHQ6bn19KSh0KTtyZXR1cm4gbiYmbi5sZWZ0PT09bi5yaWdodCYmKG4ucmlnaHQ9MS4xKm4ucmlnaHQrMSxuLmxlZnQ9bi5sZWZ0LzEuMS0xKSx0Lm1hcCgodD0+KHtzdGVwOnQuc3RlcCx3YWxsVGltZTp0LndhbGxUaW1lLGJpbnM6bj9kYnQodC5iaW5zLG4sZSk6W119KSkpfSkoZVtuXS5tYXAoKHQ9Pntjb25zdHt3YWxsVGltZTplLHN0ZXA6bn09dDtyZXR1cm57d2FsbFRpbWU6ZSxzdGVwOm4sYmluczp0LmJpbnMubWFwKCh0PT4oe3g6dC5taW4sZHg6dC5tYXgtdC5taW4seTp0LmNvdW50fSkpKX19KSkpfSkpKSx0aGlzLnNlbGVjdGVkVGltZSQ9dGhpcy5zdG9yZS5zZWxlY3QoRXopLnBpcGUoX2UodGhpcy5kYXRhJCksVnQoKChbdCxlXSk9PntpZighdClyZXR1cm4gbnVsbDtsZXQgbj0xLzAsbz0tMS8wO2Zvcihjb25zdCB0IG9mIGUpbj1NYXRoLm1pbih0LnN0ZXAsbiksbz1NYXRoLm1heCh0LnN0ZXAsbyk7cmV0dXJuIEI0KHQsbixvKX0pKSksdGhpcy5sb2FkU3RhdGUkPXRoaXMuc3RvcmUuc2VsZWN0KCROLHRoaXMuY2FyZElkKSx0aGlzLnRhZyQ9dC5waXBlKFZ0KCh0PT50LnRhZykpKSx0aGlzLnRpdGxlJD10aGlzLnRhZyQucGlwZShWdCgodD0+SDQodCx0aGlzLmdyb3VwTmFtZSkpKSksdGhpcy5ydW5JZCQ9dC5waXBlKFZ0KCh0PT50LnJ1bklkKSkpLHRoaXMuaXNQaW5uZWQkPXRoaXMuc3RvcmUuc2VsZWN0KGR6LHRoaXMuY2FyZElkKX19ZnVuY3Rpb24gQmJ0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiaW1hZ2UtY2FyZCIsNiksUmYoImZ1bGxXaWR0aENoYW5nZWQiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vbkZ1bGxXaWR0aENoYW5nZWQobil9KSkoInBpblN0YXRlQ2hhbmdlZCIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoMikub25QaW5TdGF0ZUNoYW5nZWQoKX0pKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigyKTtiZigiY2FyZElkIix0LmNhcmRJZCkoImdyb3VwTmFtZSIsdC5ncm91cE5hbWUpKCJydW5Db2xvclNjYWxlIix0LnJ1bkNvbG9yU2NhbGUpfX1mdW5jdGlvbiBWYnQodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJzY2FsYXItY2FyZCIsNyksUmYoImZ1bGxXaWR0aENoYW5nZWQiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vbkZ1bGxXaWR0aENoYW5nZWQobil9KSkoImZ1bGxIZWlnaHRDaGFuZ2VkIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25GdWxsSGVpZ2h0Q2hhbmdlZChuKX0pKSgicGluU3RhdGVDaGFuZ2VkIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigyKS5vblBpblN0YXRlQ2hhbmdlZCgpfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJjYXJkSWQiLHQuY2FyZElkKSgiZ3JvdXBOYW1lIix0Lmdyb3VwTmFtZSl9fWZ1bmN0aW9uIGpidCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImhpc3RvZ3JhbS1jYXJkIiw4KSxSZigiZnVsbFdpZHRoQ2hhbmdlZCIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKDIpLm9uRnVsbFdpZHRoQ2hhbmdlZChuKX0pKSgiZnVsbEhlaWdodENoYW5nZWQiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigyKS5vbkZ1bGxIZWlnaHRDaGFuZ2VkKG4pfSkpKCJwaW5TdGF0ZUNoYW5nZWQiLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKDIpLm9uUGluU3RhdGVDaGFuZ2VkKCl9KSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoMik7YmYoImNhcmRJZCIsdC5jYXJkSWQpKCJncm91cE5hbWUiLHQuZ3JvdXBOYW1lKSgicnVuQ29sb3JTY2FsZSIsdC5ydW5Db2xvclNjYWxlKX19ZnVuY3Rpb24gVWJ0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2IiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKDIpO0RjKDEpLGt1KCJQbGFjZWhvbGRlciBlcnJvciBmb3I6ICIsdC5jYXJkSWQsIiIpfX1mdW5jdGlvbiBXYnQodCxlKXtpZigxJnQmJih4ZigwLDEpLEhtKDEsQmJ0LDEsMywiaW1hZ2UtY2FyZCIsMiksSG0oMixWYnQsMSwyLCJzY2FsYXItY2FyZCIsMyksSG0oMyxqYnQsMSwzLCJoaXN0b2dyYW0tY2FyZCIsNCksSG0oNCxVYnQsMiwxLCJkaXYiLDUpLE9mKCkpLDImdCl7Y29uc3QgdD16ZigpO2JmKCJuZ1N3aXRjaCIsdC5wbHVnaW5UeXBlKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIix0LlBsdWdpblR5cGUuSU1BR0VTKSxEYygxKSxiZigibmdTd2l0Y2hDYXNlIix0LlBsdWdpblR5cGUuU0NBTEFSUyksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsdC5QbHVnaW5UeXBlLkhJU1RPR1JBTVMpfX1MYnQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fExidCkoZ2YoaVMpKX0sTGJ0Lsm1Y21wPXNvKHt0eXBlOkxidCxzZWxlY3RvcnM6W1siaGlzdG9ncmFtLWNhcmQiXV0saW5wdXRzOntjYXJkSWQ6ImNhcmRJZCIsZ3JvdXBOYW1lOiJncm91cE5hbWUiLHJ1bkNvbG9yU2NhbGU6InJ1bkNvbG9yU2NhbGUifSxvdXRwdXRzOntmdWxsV2lkdGhDaGFuZ2VkOiJmdWxsV2lkdGhDaGFuZ2VkIixmdWxsSGVpZ2h0Q2hhbmdlZDoiZnVsbEhlaWdodENoYW5nZWQiLHBpblN0YXRlQ2hhbmdlZDoicGluU3RhdGVDaGFuZ2VkIn0sZGVjbHM6MTAsdmFyczoyOSxjb25zdHM6W1szLCJsb2FkU3RhdGUiLCJ0aXRsZSIsInRhZyIsInJ1bklkIiwiZGF0YSIsIm1vZGUiLCJ4QXhpc1R5cGUiLCJydW5Db2xvclNjYWxlIiwic2hvd0Z1bGxTaXplIiwiaXNQaW5uZWQiLCJzZWxlY3RlZFRpbWUiLCJvbkZ1bGxTaXplVG9nZ2xlIiwib25QaW5DbGlja2VkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJoaXN0b2dyYW0tY2FyZC1jb21wb25lbnQiLDApLFJmKCJvbkZ1bGxTaXplVG9nZ2xlIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRnVsbFNpemVUb2dnbGUoKX0pKSgib25QaW5DbGlja2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5waW5TdGF0ZUNoYW5nZWQuZW1pdChlKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSxfeSg0LCJhc3luYyIpLF95KDUsImFzeW5jIiksX3koNiwiYXN5bmMiKSxfeSg3LCJhc3luYyIpLF95KDgsImFzeW5jIiksX3koOSwiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJsb2FkU3RhdGUiLEN5KDEsMTEsbi5sb2FkU3RhdGUkKSkoInRpdGxlIixDeSgyLDEzLG4udGl0bGUkKSkoInRhZyIsQ3koMywxNSxuLnRhZyQpKSgicnVuSWQiLEN5KDQsMTcsbi5ydW5JZCQpKSgiZGF0YSIsQ3koNSwxOSxuLmRhdGEkKSkoIm1vZGUiLEN5KDYsMjEsbi5tb2RlJCkpKCJ4QXhpc1R5cGUiLEN5KDcsMjMsbi54QXhpc1R5cGUkKSkoInJ1bkNvbG9yU2NhbGUiLG4ucnVuQ29sb3JTY2FsZSkoInNob3dGdWxsU2l6ZSIsbi5zaG93RnVsbFNpemUpKCJpc1Bpbm5lZCIsQ3koOCwyNSxuLmlzUGlubmVkJCkpKCJzZWxlY3RlZFRpbWUiLEN5KDksMjcsbi5zZWxlY3RlZFRpbWUkKSl9LGRpcmVjdGl2ZXM6W0ZidF0scGlwZXM6W1Z2XSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTGJ0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Imhpc3RvZ3JhbS1jYXJkIix0ZW1wbGF0ZTonXG4gICAgPGhpc3RvZ3JhbS1jYXJkLWNvbXBvbmVudFxuICAgICAgW2xvYWRTdGF0ZV09ImxvYWRTdGF0ZSQgfCBhc3luYyJcbiAgICAgIFt0aXRsZV09InRpdGxlJCB8IGFzeW5jIlxuICAgICAgW3RhZ109InRhZyQgfCBhc3luYyJcbiAgICAgIFtydW5JZF09InJ1bklkJCB8IGFzeW5jIlxuICAgICAgW2RhdGFdPSJkYXRhJCB8IGFzeW5jIlxuICAgICAgW21vZGVdPSJtb2RlJCB8IGFzeW5jIlxuICAgICAgW3hBeGlzVHlwZV09InhBeGlzVHlwZSQgfCBhc3luYyJcbiAgICAgIFtydW5Db2xvclNjYWxlXT0icnVuQ29sb3JTY2FsZSJcbiAgICAgIFtzaG93RnVsbFNpemVdPSJzaG93RnVsbFNpemUiXG4gICAgICBbaXNQaW5uZWRdPSJpc1Bpbm5lZCQgfCBhc3luYyJcbiAgICAgIFtzZWxlY3RlZFRpbWVdPSJzZWxlY3RlZFRpbWUkIHwgYXN5bmMiXG4gICAgICAob25GdWxsU2l6ZVRvZ2dsZSk9Im9uRnVsbFNpemVUb2dnbGUoKSJcbiAgICAgIChvblBpbkNsaWNrZWQpPSJwaW5TdGF0ZUNoYW5nZWQuZW1pdCgkZXZlbnQpIlxuICAgID48L2hpc3RvZ3JhbS1jYXJkLWNvbXBvbmVudD5cbiAgJyxzdHlsZXM6WyJcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICAiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLHtjYXJkSWQ6W3t0eXBlOlJffV0sZ3JvdXBOYW1lOlt7dHlwZTpSX31dLHJ1bkNvbG9yU2NhbGU6W3t0eXBlOlJffV0sZnVsbFdpZHRoQ2hhbmdlZDpbe3R5cGU6RV99XSxmdWxsSGVpZ2h0Q2hhbmdlZDpbe3R5cGU6RV99XSxwaW5TdGF0ZUNoYW5nZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBHYnR7Y29uc3RydWN0b3IoKXt0aGlzLlBsdWdpblR5cGU9S1QsdGhpcy5mdWxsV2lkdGhDaGFuZ2VkPW5ldyBTeSx0aGlzLmZ1bGxIZWlnaHRDaGFuZ2VkPW5ldyBTeSx0aGlzLnBpblN0YXRlQ2hhbmdlZD1uZXcgU3l9b25GdWxsV2lkdGhDaGFuZ2VkKHQpe3RoaXMuZnVsbFdpZHRoQ2hhbmdlZC5lbWl0KHQpfW9uRnVsbEhlaWdodENoYW5nZWQodCl7dGhpcy5mdWxsSGVpZ2h0Q2hhbmdlZC5lbWl0KHQpfW9uUGluU3RhdGVDaGFuZ2VkKCl7dGhpcy5waW5TdGF0ZUNoYW5nZWQuZW1pdCgpfX1HYnQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEdidCl9LEdidC7JtWNtcD1zbyh7dHlwZTpHYnQsc2VsZWN0b3JzOltbImNhcmQtdmlldy1jb21wb25lbnQiXV0saW5wdXRzOntpc0V2ZXJWaXNpYmxlOiJpc0V2ZXJWaXNpYmxlIixjYXJkSWQ6ImNhcmRJZCIsZ3JvdXBOYW1lOiJncm91cE5hbWUiLHBsdWdpblR5cGU6InBsdWdpblR5cGUiLHJ1bkNvbG9yU2NhbGU6InJ1bkNvbG9yU2NhbGUifSxvdXRwdXRzOntmdWxsV2lkdGhDaGFuZ2VkOiJmdWxsV2lkdGhDaGFuZ2VkIixmdWxsSGVpZ2h0Q2hhbmdlZDoiZnVsbEhlaWdodENoYW5nZWQiLHBpblN0YXRlQ2hhbmdlZDoicGluU3RhdGVDaGFuZ2VkIn0sZGVjbHM6MSx2YXJzOjEsY29uc3RzOltbMywibmdTd2l0Y2giLDQsIm5nSWYiXSxbMywibmdTd2l0Y2giXSxbMywiY2FyZElkIiwiZ3JvdXBOYW1lIiwicnVuQ29sb3JTY2FsZSIsImZ1bGxXaWR0aENoYW5nZWQiLCJwaW5TdGF0ZUNoYW5nZWQiLDQsIm5nU3dpdGNoQ2FzZSJdLFszLCJjYXJkSWQiLCJncm91cE5hbWUiLCJmdWxsV2lkdGhDaGFuZ2VkIiwiZnVsbEhlaWdodENoYW5nZWQiLCJwaW5TdGF0ZUNoYW5nZWQiLDQsIm5nU3dpdGNoQ2FzZSJdLFszLCJjYXJkSWQiLCJncm91cE5hbWUiLCJydW5Db2xvclNjYWxlIiwiZnVsbFdpZHRoQ2hhbmdlZCIsImZ1bGxIZWlnaHRDaGFuZ2VkIiwicGluU3RhdGVDaGFuZ2VkIiw0LCJuZ1N3aXRjaENhc2UiXSxbNCwibmdTd2l0Y2hEZWZhdWx0Il0sWzMsImNhcmRJZCIsImdyb3VwTmFtZSIsInJ1bkNvbG9yU2NhbGUiLCJmdWxsV2lkdGhDaGFuZ2VkIiwicGluU3RhdGVDaGFuZ2VkIl0sWzMsImNhcmRJZCIsImdyb3VwTmFtZSIsImZ1bGxXaWR0aENoYW5nZWQiLCJmdWxsSGVpZ2h0Q2hhbmdlZCIsInBpblN0YXRlQ2hhbmdlZCJdLFszLCJjYXJkSWQiLCJncm91cE5hbWUiLCJydW5Db2xvclNjYWxlIiwiZnVsbFdpZHRoQ2hhbmdlZCIsImZ1bGxIZWlnaHRDaGFuZ2VkIiwicGluU3RhdGVDaGFuZ2VkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJkhtKDAsV2J0LDUsNCwibmctY29udGFpbmVyIiwwKSwyJmUmJmJmKCJuZ0lmIixuLmlzRXZlclZpc2libGUpfSxkaXJlY3RpdmVzOltQdixEdixSdixFdix0NixjYnQsTGJ0XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEdidCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJjYXJkLXZpZXctY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiY2FyZF92aWV3X2NvbXBvbmVudC5uZy5odG1sIixjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtpc0V2ZXJWaXNpYmxlOlt7dHlwZTpSX31dLGNhcmRJZDpbe3R5cGU6Ul99XSxncm91cE5hbWU6W3t0eXBlOlJffV0scGx1Z2luVHlwZTpbe3R5cGU6Ul99XSxydW5Db2xvclNjYWxlOlt7dHlwZTpSX31dLGZ1bGxXaWR0aENoYW5nZWQ6W3t0eXBlOkVffV0sZnVsbEhlaWdodENoYW5nZWQ6W3t0eXBlOkVffV0scGluU3RhdGVDaGFuZ2VkOlt7dHlwZTpFX31dfSk7Y2xhc3MgWWJ0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLmlzRXZlclZpc2libGU9ITEsdGhpcy5zaG93RnVsbFdpZHRoPSExLHRoaXMuc2hvd0Z1bGxIZWlnaHQ9ITEsdGhpcy5ydW5Db2xvclNjYWxlJD10aGlzLnN0b3JlLnNlbGVjdChDSSkucGlwZShZZSgzNTAsdm9pZCAwLHtsZWFkaW5nOiEwLHRyYWlsaW5nOiEwfSksVnQoKHQ9PmU9PnQuaGFzT3duUHJvcGVydHkoZSk/dFtlXToiI2ZmZiIpKSl9b25WaXNpYmlsaXR5Q2hhbmdlKHt2aXNpYmxlOnR9KXt0aGlzLmlzRXZlclZpc2libGU9dGhpcy5pc0V2ZXJWaXNpYmxlfHx0fW9uRnVsbFdpZHRoQ2hhbmdlZCh0KXt0aGlzLnNob3dGdWxsV2lkdGg9dH1vbkZ1bGxIZWlnaHRDaGFuZ2VkKHQpe3RoaXMuc2hvd0Z1bGxIZWlnaHQ9dH1vblBpblN0YXRlQ2hhbmdlZCgpe3RoaXMuc3RvcmUuc2VsZWN0KGR6LHRoaXMuY2FyZElkKS5waXBlKHZlKDEpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KG16KSkpLnN1YnNjcmliZSgoKFt0LGVdKT0+e3RoaXMuc3RvcmUuZGlzcGF0Y2goekEoe2NhcmRJZDp0aGlzLmNhcmRJZCxjYW5DcmVhdGVOZXdQaW5zOmUsd2FzUGlubmVkOnR9KSl9KSl9fWZ1bmN0aW9uIHFidCh0LGUpezEmdCYmUGYoMCl9ZnVuY3Rpb24gWmJ0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJjYXJkLXZpZXciLDUpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdCxuPXpmKDIpO2JmKCJjYXJkSWQiLHQuY2FyZElkKSgiZ3JvdXBOYW1lIixuLmdyb3VwTmFtZSkoInBsdWdpblR5cGUiLHQucGx1Z2luKSgiY2FyZE9ic2VydmVyIixuLmNhcmRPYnNlcnZlcikoImNhcmRMYXp5TG9hZGVyIix0LmNhcmRJZCl9fWZ1bmN0aW9uIFhidCh0LGUpezEmdCYmUGYoMCl9WWJ0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxZYnQpKGdmKGlTKSl9LFlidC7JtWNtcD1zbyh7dHlwZTpZYnQsc2VsZWN0b3JzOltbImNhcmQtdmlldyJdXSxob3N0VmFyczo0LGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgiZnVsbC13aWR0aCIsbi5zaG93RnVsbFdpZHRoKSgiZnVsbC1oZWlnaHQiLG4uc2hvd0Z1bGxIZWlnaHQpfSxpbnB1dHM6e2NhcmRJZDoiY2FyZElkIixncm91cE5hbWU6Imdyb3VwTmFtZSIscGx1Z2luVHlwZToicGx1Z2luVHlwZSJ9LGRlY2xzOjIsdmFyczo3LGNvbnN0czpbWyJvYnNlcnZlSW50ZXJzZWN0aW9uIiwiIiwiaW50ZXJzZWN0aW9uT2JzZXJ2ZXJNYXJnaW4iLCIyMDBweCAyMDBweCAyMDBweCAyMDBweCIsMywiaXNFdmVyVmlzaWJsZSIsImNhcmRJZCIsImdyb3VwTmFtZSIsInBsdWdpblR5cGUiLCJydW5Db2xvclNjYWxlIiwiZnVsbFdpZHRoQ2hhbmdlZCIsImZ1bGxIZWlnaHRDaGFuZ2VkIiwicGluU3RhdGVDaGFuZ2VkIiwib25WaXNpYmlsaXR5Q2hhbmdlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJjYXJkLXZpZXctY29tcG9uZW50IiwwKSxSZigiZnVsbFdpZHRoQ2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25GdWxsV2lkdGhDaGFuZ2VkKGUpfSkpKCJmdWxsSGVpZ2h0Q2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25GdWxsSGVpZ2h0Q2hhbmdlZChlKX0pKSgicGluU3RhdGVDaGFuZ2VkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUGluU3RhdGVDaGFuZ2VkKCl9KSkoIm9uVmlzaWJpbGl0eUNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25WaXNpYmlsaXR5Q2hhbmdlKGUpfSkpLF95KDEsImFzeW5jIiksTWYoKSksMiZlJiZiZigiaXNFdmVyVmlzaWJsZSIsbi5pc0V2ZXJWaXNpYmxlKSgiY2FyZElkIixuLmNhcmRJZCkoImdyb3VwTmFtZSIsbi5ncm91cE5hbWUpKCJwbHVnaW5UeXBlIixuLnBsdWdpblR5cGUpKCJydW5Db2xvclNjYWxlIixDeSgxLDUsbi5ydW5Db2xvclNjYWxlJCkpfSxkaXJlY3RpdmVzOltHYnQsc2J0XSxwaXBlczpbVnZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiMzMDMwMzB9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFlidCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJjYXJkLXZpZXciLHRlbXBsYXRlOidcbiAgICA8Y2FyZC12aWV3LWNvbXBvbmVudFxuICAgICAgW2lzRXZlclZpc2libGVdPSJpc0V2ZXJWaXNpYmxlIlxuICAgICAgW2NhcmRJZF09ImNhcmRJZCJcbiAgICAgIFtncm91cE5hbWVdPSJncm91cE5hbWUiXG4gICAgICBbcGx1Z2luVHlwZV09InBsdWdpblR5cGUiXG4gICAgICBbcnVuQ29sb3JTY2FsZV09InJ1bkNvbG9yU2NhbGUkIHwgYXN5bmMiXG4gICAgICAoZnVsbFdpZHRoQ2hhbmdlZCk9Im9uRnVsbFdpZHRoQ2hhbmdlZCgkZXZlbnQpIlxuICAgICAgKGZ1bGxIZWlnaHRDaGFuZ2VkKT0ib25GdWxsSGVpZ2h0Q2hhbmdlZCgkZXZlbnQpIlxuICAgICAgKHBpblN0YXRlQ2hhbmdlZCk9Im9uUGluU3RhdGVDaGFuZ2VkKCkiXG4gICAgICBvYnNlcnZlSW50ZXJzZWN0aW9uXG4gICAgICBpbnRlcnNlY3Rpb25PYnNlcnZlck1hcmdpbj0iMjAwcHggMjAwcHggMjAwcHggMjAwcHgiXG4gICAgICAob25WaXNpYmlsaXR5Q2hhbmdlKT0ib25WaXNpYmlsaXR5Q2hhbmdlKCRldmVudCkiXG4gICAgPlxuICAgIDwvY2FyZC12aWV3LWNvbXBvbmVudD5cbiAgJyxzdHlsZVVybHM6WyJjYXJkX3ZpZXdfY29udGFpbmVyLmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse2NhcmRJZDpbe3R5cGU6Ul99XSxncm91cE5hbWU6W3t0eXBlOlJffV0scGx1Z2luVHlwZTpbe3R5cGU6Ul99XSxzaG93RnVsbFdpZHRoOlt7dHlwZTpBXyxhcmdzOlsiY2xhc3MuZnVsbC13aWR0aCJdfV0sc2hvd0Z1bGxIZWlnaHQ6W3t0eXBlOkFfLGFyZ3M6WyJjbGFzcy5mdWxsLWhlaWdodCJdfV19KTtjb25zdCBLYnQ9ZnVuY3Rpb24oKXtyZXR1cm57aXNCb3R0b21Db250cm9sOiExfX0sSmJ0PWZ1bmN0aW9uKCl7cmV0dXJue2lzQm90dG9tQ29udHJvbDohMH19O2Z1bmN0aW9uIFFidCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIpLEhtKDEscWJ0LDEsMCwibmctY29udGFpbmVyIiwyKSxDZigyLCJkaXYiLDMpLEhtKDMsWmJ0LDEsNSwiY2FyZC12aWV3Iiw0KSxNZigpLEhtKDQsWGJ0LDEsMCwibmctY29udGFpbmVyIiwyKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKSxlPUZtKDIpO0RjKDEpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0IixlKSgibmdUZW1wbGF0ZU91dGxldENvbnRleHQiLG95KDgsS2J0KSksRGMoMSksbHUoImdyaWQtdGVtcGxhdGUtY29sdW1ucyIsdC5ncmlkVGVtcGxhdGVDb2x1bW4pLERjKDEpLGJmKCJuZ0Zvck9mIix0LmNhcmRJZHNXaXRoTWV0YWRhdGEpKCJuZ0ZvclRyYWNrQnkiLHQudHJhY2tCeUNhcmRzKSxEYygxKSxiZigibmdUZW1wbGF0ZU91dGxldCIsZSkoIm5nVGVtcGxhdGVPdXRsZXRDb250ZXh0IixveSg5LEpidCkpfX1mdW5jdGlvbiAkYnQodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJidXR0b24iLDExKSxSZigiY2xpY2siLChmdW5jdGlvbiBlKG4pe1BpKHQpO2NvbnN0IG89emYoMyk7cmV0dXJuIG8uaGFuZGxlUGFnZUNoYW5nZShvLnBhZ2VJbmRleC0xLG4udGFyZ2V0KX0pKSxQdSgxLCIgUHJldmlvdXMgIiksTWYoKX1pZigyJnQpe2JmKCJkaXNhYmxlZCIsMD09PXpmKDMpLnBhZ2VJbmRleCl9fWZ1bmN0aW9uIHR5dCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsInNwYW4iLDE0KSxDZigxLCJpbnB1dCIsMTUpLFJmKCJpbnB1dCIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKDQpLm9uUGFnaW5hdGlvbklucHV0Q2hhbmdlKG4pfSkpKCJjaGFuZ2UiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6Zig0KS5vblBhZ2luYXRpb25JbnB1dENoYW5nZShuKX0pKSxNZigpLFB1KDIpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDQpO0RjKDEpLGJmKCJ2YWx1ZSIsdC5wYWdlSW5kZXgrMSkoIm1heCIsdC5udW1QYWdlcyksRGMoMSksa3UoIiBvZiAiLHQubnVtUGFnZXMsIiIpfX1mdW5jdGlvbiBleXQodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJzcGFuIiksSG0oMSx0eXQsMywzLCJzcGFuIiwxMiksQ2YoMiwiYnV0dG9uIiwxMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtjb25zdCBvPXpmKDMpO3JldHVybiBvLmhhbmRsZVBhZ2VDaGFuZ2Uoby5wYWdlSW5kZXgrMSxuLnRhcmdldCl9KSksUHUoMywiIE5leHQgIiksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigyKS5pc0JvdHRvbUNvbnRyb2wsZT16ZigpO0RjKDEpLGJmKCJuZ0lmIixlLnNob3dQYWdpbmF0aW9uSW5wdXQodCkpLERjKDEpLGJmKCJkaXNhYmxlZCIsZS5wYWdlSW5kZXgrMT49ZS5udW1QYWdlcyl9fWZ1bmN0aW9uIG55dCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsNyksQ2YoMSwic3BhbiIsOCksSG0oMiwkYnQsMiwxLCJidXR0b24iLDkpLE1mKCksQ2YoMywic3BhbiIsMTApLEhtKDQsZXl0LDQsMiwic3BhbiIsMCksTWYoKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoMik7RGMoMiksYmYoIm5nSWYiLHQuc2hvd1BhZ2luYXRpb25Db250cm9scyksRGMoMiksYmYoIm5nSWYiLHQuc2hvd1BhZ2luYXRpb25Db250cm9scyl9fWZ1bmN0aW9uIG95dCh0LGUpe2lmKDEmdCYmSG0oMCxueXQsNSwyLCJkaXYiLDYpLDImdCl7YmYoIm5nSWYiLHpmKCkuc2hvd1BhZ2luYXRpb25Db250cm9scyl9fWNsYXNzIGl5dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLmNka1Njcm9sbGFibGU9dCx0aGlzLlBsdWdpblR5cGU9S1QsdGhpcy5ncmlkVGVtcGxhdGVDb2x1bW49IiIsdGhpcy5wYWdlSW5kZXhDaGFuZ2VkPW5ldyBTeX1uZ09uSW5pdCgpe3RoaXMuaXNDYXJkV2lkdGhWYWxpZCh0aGlzLmNhcmRNaW5XaWR0aCkmJih0aGlzLmdyaWRUZW1wbGF0ZUNvbHVtbj1gcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KCR7dGhpcy5jYXJkTWluV2lkdGh9cHgsIGF1dG8pKWApfW5nT25DaGFuZ2VzKHQpe2lmKHQuY2FyZE1pbldpZHRoKXtjb25zdCBlPXQuY2FyZE1pbldpZHRoLmN1cnJlbnRWYWx1ZTt0aGlzLmlzQ2FyZFdpZHRoVmFsaWQoZSk/KHRoaXMuY2FyZE1pbldpZHRoPWUsdGhpcy5ncmlkVGVtcGxhdGVDb2x1bW49YHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgke3RoaXMuY2FyZE1pbldpZHRofXB4LCBhdXRvKSlgKTp0aGlzLmdyaWRUZW1wbGF0ZUNvbHVtbj0iIn19aXNDYXJkV2lkdGhWYWxpZCh0KXtyZXR1cm4gdCYmdD49MzM1JiZ0PD03MzV9c2hvd1BhZ2luYXRpb25JbnB1dCh0KXtyZXR1cm4gdH1oYW5kbGVQYWdlQ2hhbmdlKHQsZSl7Y29uc3Qgbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtzZXRUaW1lb3V0KCgoKT0+e3RoaXMuc2Nyb2xsVG9LZWVwVGFyZ2V0UG9zaXRpb24oZSxuKX0pLDApLHRoaXMucGFnZUluZGV4Q2hhbmdlZC5lbWl0KHQpfXNjcm9sbFRvS2VlcFRhcmdldFBvc2l0aW9uKHQsZSl7dmFyIG47Y29uc3Qgbz1udWxsPT09KG49dGhpcy5jZGtTY3JvbGxhYmxlKXx8dm9pZCAwPT09bj92b2lkIDA6bi5nZXRFbGVtZW50UmVmKCkubmF0aXZlRWxlbWVudDtvJiZvLnNjcm9sbFRvKDAsdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AtZStvLnNjcm9sbFRvcCl9dHJhY2tCeUNhcmRzKHQsZSl7cmV0dXJuIGUuY2FyZElkfW9uUGFnaW5hdGlvbklucHV0Q2hhbmdlKHQpe2NvbnN0IGU9dC50YXJnZXQ7aWYoImlucHV0Ij09PXQudHlwZSYmIiI9PT1lLnZhbHVlKXJldHVybjtjb25zdCBuPU51bWJlcihlLnZhbHVlKS0xLG89TWF0aC5taW4oTWF0aC5tYXgoMCxuKSx0aGlzLm51bVBhZ2VzLTEpO2UudmFsdWUhPT1TdHJpbmcobysxKSYmKGUudmFsdWU9U3RyaW5nKG8rMSkpLHRoaXMuaGFuZGxlUGFnZUNoYW5nZShvLGUpfX1peXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGl5dCkoZ2YoSkwsOCkpfSxpeXQuybVjbXA9c28oe3R5cGU6aXl0LHNlbGVjdG9yczpbWyJtZXRyaWNzLWNhcmQtZ3JpZC1jb21wb25lbnQiXV0saW5wdXRzOntpc0dyb3VwRXhwYW5kZWQ6ImlzR3JvdXBFeHBhbmRlZCIscGFnZUluZGV4OiJwYWdlSW5kZXgiLG51bVBhZ2VzOiJudW1QYWdlcyIsY2FyZElkc1dpdGhNZXRhZGF0YToiY2FyZElkc1dpdGhNZXRhZGF0YSIsY2FyZE1pbldpZHRoOiJjYXJkTWluV2lkdGgiLGNhcmRPYnNlcnZlcjoiY2FyZE9ic2VydmVyIixzaG93UGFnaW5hdGlvbkNvbnRyb2xzOiJzaG93UGFnaW5hdGlvbkNvbnRyb2xzIn0sb3V0cHV0czp7cGFnZUluZGV4Q2hhbmdlZDoicGFnZUluZGV4Q2hhbmdlZCJ9LGZlYXR1cmVzOltxb10sZGVjbHM6Myx2YXJzOjEsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQsZTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7dD1nb29nLmdldE1zZygiUHJldmlvdXMgcGFnZSIpfWVsc2UgdD0kbG9jYWxpemVgOkEgYnV0dG9uIHRoYXQgc2V0cyBhIGdyb3VwIHRvIHRoZSBwcmV2aW91cyBwYWdlLuKQnzU3NWU3ODJmZDI3ZjJlZTcwYTAzNGE3NzVlZmU5YWQxNjI0NzIyNTDikJ8zNjI5OTYwNTQ0ODc1MzYwMDQ2OlByZXZpb3VzIHBhZ2VgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtlPWdvb2cuZ2V0TXNnKCJOZXh0IHBhZ2UiKX1lbHNlIGU9JGxvY2FsaXplYDpBIGJ1dHRvbiB0aGF0IHNldHMgYSBncm91cCB0byB0aGUgbmV4dCBwYWdlLuKQn2NlM2NlZmIxY2QwMDk5YWE1MDAzZGRhMTZlYzllYjIxZmQ4YmE3ODnikJ8zMzM3MzAxNjk0MjEwMjg3NTk1Ok5leHQgcGFnZWA7cmV0dXJuW1s0LCJuZ0lmIl0sWyJncm91cENvbnRyb2xzIiwiIl0sWzQsIm5nVGVtcGxhdGVPdXRsZXQiLCJuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dCJdLFsxLCJjYXJkLWdyaWQiXSxbMywiY2FyZElkIiwiZ3JvdXBOYW1lIiwicGx1Z2luVHlwZSIsImNhcmRPYnNlcnZlciIsImNhcmRMYXp5TG9hZGVyIiw0LCJuZ0ZvciIsIm5nRm9yT2YiLCJuZ0ZvclRyYWNrQnkiXSxbMywiY2FyZElkIiwiZ3JvdXBOYW1lIiwicGx1Z2luVHlwZSIsImNhcmRPYnNlcnZlciIsImNhcmRMYXp5TG9hZGVyIl0sWyJjbGFzcyIsImdyb3VwLWNvbnRyb2xzIiw0LCJuZ0lmIl0sWzEsImdyb3VwLWNvbnRyb2xzIl0sWzEsInByZXYtY29udGFpbmVyIl0sWyJjbGFzcyIsInByZXYgcGFnaW5hdGlvbi1idXR0b24iLCJtYXQtYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsdCwzLCJkaXNhYmxlZCIsImNsaWNrIiw0LCJuZ0lmIl0sWzEsImlucHV0LWFuZC1uZXh0LWNvbnRhaW5lciJdLFsibWF0LWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMSwicHJldiIsInBhZ2luYXRpb24tYnV0dG9uIiwzLCJkaXNhYmxlZCIsImNsaWNrIl0sWyJjbGFzcyIsInBhZ2luYXRpb24taW5wdXQiLDQsIm5nSWYiXSxbIm1hdC1idXR0b24iLCIiLCJhcmlhLWxhYmVsIixlLDEsIm5leHQiLCJwYWdpbmF0aW9uLWJ1dHRvbiIsMywiZGlzYWJsZWQiLCJjbGljayJdLFsxLCJwYWdpbmF0aW9uLWlucHV0Il0sWyJ0eXBlIiwibnVtYmVyIiwibWluIiwiMSIsMywidmFsdWUiLCJtYXgiLCJpbnB1dCIsImNoYW5nZSJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKEhtKDAsUWJ0LDUsMTAsImRpdiIsMCksSG0oMSxveXQsMSwxLCJuZy10ZW1wbGF0ZSIsbnVsbCwxLHF5KSksMiZlJiZiZigibmdJZiIsbi5pc0dyb3VwRXhwYW5kZWQpfSxkaXJlY3RpdmVzOltQdixJdix4dixZYnQsQzQsTkxdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17Y29udGFpbjpjb250ZW50fS5jYXJkLWdyaWRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDMzNXB4LCBhdXRvKSk7Z2FwOjE2cHg7cGFkZGluZzoxNnB4fWNhcmQtdmlld1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2JvcmRlci1yYWRpdXM6NHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb250YWluOnN0cmljdDtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjMyMHB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIGNhcmQtdmlld1tfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIGNhcmQtdmlld1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjFweCBzb2xpZCAjNTU1fWNhcmQtdmlldy5mdWxsLXdpZHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtjb250YWluOmxheW91dCBwYWludDtncmlkLWNvbHVtbi1zdGFydDoxO2dyaWQtY29sdW1uLWVuZDotMX1jYXJkLXZpZXcuZnVsbC1oZWlnaHRbX25nY29udGVudC0lQ09NUCVde21pbi1oZWlnaHQ6NDgwcHh9Lmdyb3VwLWNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2Rpc3BsYXk6Z3JpZDthbGlnbi1pdGVtczpjZW50ZXI7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjE2cHg7cGFkZGluZzowIDE2cHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLWNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLWNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0uZ3JvdXAtY29udHJvbHNbX25nY29udGVudC0lQ09NUCVdOmZpcnN0LW9mLXR5cGV7cGFkZGluZy10b3A6MTZweH0uZ3JvdXAtY29udHJvbHNbX25nY29udGVudC0lQ09NUCVdOmxhc3Qtb2YtdHlwZXtwYWRkaW5nLWJvdHRvbToxNnB4fS5wcmV2LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17anVzdGlmeS1zZWxmOmZsZXgtc3RhcnR9LmlucHV0LWFuZC1uZXh0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17anVzdGlmeS1zZWxmOmZsZXgtZW5kfS5wYWdpbmF0aW9uLWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tcmlnaHQ6MTZweH0ucGFnaW5hdGlvbi1pbnB1dFtfbmdjb250ZW50LSVDT01QJV0gICBpbnB1dFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtjb2xvcjppbmhlcml0O2ZvbnQ6aW5oZXJpdH0ucGFnaW5hdGlvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOiM2MTYxNjE7YmFja2dyb3VuZC1jb2xvcjojZmZmfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5wYWdpbmF0aW9uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5wYWdpbmF0aW9uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9LnBhZ2luYXRpb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXTpkaXNhYmxlZHtjb2xvcjojNzU3NTc1fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5wYWdpbmF0aW9uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV06ZGlzYWJsZWQsIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5wYWdpbmF0aW9uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV06ZGlzYWJsZWR7Y29sb3I6IzYxNjE2MX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaXl0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtY2FyZC1ncmlkLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vY2FyZF9ncmlkX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2NhcmRfZ3JpZF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkpMLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19XX0pLHtpc0dyb3VwRXhwYW5kZWQ6W3t0eXBlOlJffV0scGFnZUluZGV4Olt7dHlwZTpSX31dLG51bVBhZ2VzOlt7dHlwZTpSX31dLGNhcmRJZHNXaXRoTWV0YWRhdGE6W3t0eXBlOlJffV0sY2FyZE1pbldpZHRoOlt7dHlwZTpSX31dLGNhcmRPYnNlcnZlcjpbe3R5cGU6Ul99XSxzaG93UGFnaW5hdGlvbkNvbnRyb2xzOlt7dHlwZTpSX31dLHBhZ2VJbmRleENoYW5nZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBheXR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuZ3JvdXBOYW1lPW51bGwsdGhpcy5ncm91cE5hbWUkPW5ldyBqKG51bGwpLHRoaXMucGFnZUluZGV4JD1uZXcgaigwKSx0aGlzLml0ZW1zJD1uZXcgaihbXSksdGhpcy5uZ1Vuc3Vic2NyaWJlPW5ldyBCLHRoaXMubnVtUGFnZXMkPUt0KFt0aGlzLml0ZW1zJCx0aGlzLnN0b3JlLnNlbGVjdChoSSldKS5waXBlKFZ0KCgoW3QsZV0pPT5NYXRoLmNlaWwodC5sZW5ndGgvZSkpKSksdGhpcy5pc0dyb3VwRXhwYW5kZWQkPXRoaXMuZ3JvdXBOYW1lJC5waXBlKFZlKCh0PT5udWxsIT09dD90aGlzLnN0b3JlLnNlbGVjdCh3eix0KTp6dCghMCkpKSksdGhpcy5zaG93UGFnaW5hdGlvbkNvbnRyb2xzJD10aGlzLm51bVBhZ2VzJC5waXBlKFZ0KCh0PT50PjEpKSksdGhpcy5ub3JtYWxpemVkUGFnZUluZGV4JD1LdChbdGhpcy5wYWdlSW5kZXgkLHRoaXMubnVtUGFnZXMkXSkucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpLFdlKCgoW3QsZV0pPT57MCE9PWUmJih0Pj1lP3RoaXMucGFnZUluZGV4JC5uZXh0KGUtMSk6dDwwJiZ0aGlzLnBhZ2VJbmRleCQubmV4dCgwKSl9KSksVnQoKChbdCxlXSk9Pk1hdGgubWluKE1hdGgubWF4KHQsMCksZS0xKSkpLEZlKDEpKSx0aGlzLnBhZ2VkSXRlbXMkPUt0KFt0aGlzLml0ZW1zJCx0aGlzLnN0b3JlLnNlbGVjdChoSSksdGhpcy5ub3JtYWxpemVkUGFnZUluZGV4JCx0aGlzLmlzR3JvdXBFeHBhbmRlZCRdKS5waXBlKFZ0KCgoW3QsZSxuLG9dKT0+dC5zbGljZShlKm4sZSpuKyhvP2U6MCkpKSkpLHRoaXMuY2FyZE1pbldpZHRoJD1LdChbdGhpcy5zdG9yZS5zZWxlY3QoZ3opLHRoaXMuc3RvcmUuc2VsZWN0KHFEKV0pLnBpcGUoVnQoKChbdCxlXSk9PmU/dDpudWxsKSkpfW5nT25DaGFuZ2VzKHQpe3QuY2FyZElkc1dpdGhNZXRhZGF0YSYmdGhpcy5pdGVtcyQubmV4dCh0aGlzLmNhcmRJZHNXaXRoTWV0YWRhdGEpLHQuZ3JvdXBOYW1lJiZ0aGlzLmdyb3VwTmFtZSQubmV4dCh0aGlzLmdyb3VwTmFtZSl9bmdPbkRlc3Ryb3koKXt0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpLHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpfW9uUGFnZUluZGV4Q2hhbmdlZCh0KXt0aGlzLnBhZ2VJbmRleCQubmV4dCh0KX19ZnVuY3Rpb24gcnl0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsOCksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksa3UoIiIsdC5jYXJkSWRzV2l0aE1ldGFkYXRhLmxlbmd0aCwiIGNhcmRzIil9fWZ1bmN0aW9uIHN5dCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDkpLFB1KDEsIk5ldyBjYXJkIHBpbm5lZCIpLE1mKCkpLDImdCl7eW0oImRhdGEtaWQiLGUuJGltcGxpY2l0KX19ZnVuY3Rpb24gbHl0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJtZXRyaWNzLWNhcmQtZ3JpZCIsMTApLDImdCl7Y29uc3QgdD16ZigpO2JmKCJjYXJkSWRzV2l0aE1ldGFkYXRhIix0LmNhcmRJZHNXaXRoTWV0YWRhdGEpKCJjYXJkT2JzZXJ2ZXIiLHQuY2FyZE9ic2VydmVyKX19ZnVuY3Rpb24gY3l0KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxMSksUHUoMSwiUGluIGNhcmRzIGZvciBhIHF1aWNrIHZpZXcgYW5kIGNvbXBhcmlzb24iKSxNZigpKX1heXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGF5dCkoZ2YoaVMpKX0sYXl0Lsm1Y21wPXNvKHt0eXBlOmF5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1jYXJkLWdyaWQiXV0saW5wdXRzOntncm91cE5hbWU6Imdyb3VwTmFtZSIsY2FyZElkc1dpdGhNZXRhZGF0YToiY2FyZElkc1dpdGhNZXRhZGF0YSIsY2FyZE9ic2VydmVyOiJjYXJkT2JzZXJ2ZXIifSxmZWF0dXJlczpbcW9dLGRlY2xzOjcsdmFyczoxOSxjb25zdHM6W1szLCJpc0dyb3VwRXhwYW5kZWQiLCJwYWdlSW5kZXgiLCJudW1QYWdlcyIsInNob3dQYWdpbmF0aW9uQ29udHJvbHMiLCJjYXJkSWRzV2l0aE1ldGFkYXRhIiwiY2FyZE1pbldpZHRoIiwiY2FyZE9ic2VydmVyIiwicGFnZUluZGV4Q2hhbmdlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWV0cmljcy1jYXJkLWdyaWQtY29tcG9uZW50IiwwKSxSZigicGFnZUluZGV4Q2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25QYWdlSW5kZXhDaGFuZ2VkKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIiksX3koNSwiYXN5bmMiKSxfeSg2LCJhc3luYyIpLE1mKCkpLDImZSYmYmYoImlzR3JvdXBFeHBhbmRlZCIsQ3koMSw3LG4uaXNHcm91cEV4cGFuZGVkJCkpKCJwYWdlSW5kZXgiLEN5KDIsOSxuLm5vcm1hbGl6ZWRQYWdlSW5kZXgkKSkoIm51bVBhZ2VzIixDeSgzLDExLG4ubnVtUGFnZXMkKSkoInNob3dQYWdpbmF0aW9uQ29udHJvbHMiLEN5KDQsMTMsbi5zaG93UGFnaW5hdGlvbkNvbnRyb2xzJCkpKCJjYXJkSWRzV2l0aE1ldGFkYXRhIixDeSg1LDE1LG4ucGFnZWRJdGVtcyQpKSgiY2FyZE1pbldpZHRoIixDeSg2LDE3LG4uY2FyZE1pbldpZHRoJCkpKCJjYXJkT2JzZXJ2ZXIiLG4uY2FyZE9ic2VydmVyKX0sZGlyZWN0aXZlczpbaXl0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoYXl0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtY2FyZC1ncmlkIix0ZW1wbGF0ZTonXG4gICAgPG1ldHJpY3MtY2FyZC1ncmlkLWNvbXBvbmVudFxuICAgICAgW2lzR3JvdXBFeHBhbmRlZF09ImlzR3JvdXBFeHBhbmRlZCQgfCBhc3luYyJcbiAgICAgIFtwYWdlSW5kZXhdPSJub3JtYWxpemVkUGFnZUluZGV4JCB8IGFzeW5jIlxuICAgICAgW251bVBhZ2VzXT0ibnVtUGFnZXMkIHwgYXN5bmMiXG4gICAgICBbc2hvd1BhZ2luYXRpb25Db250cm9sc109InNob3dQYWdpbmF0aW9uQ29udHJvbHMkIHwgYXN5bmMiXG4gICAgICBbY2FyZElkc1dpdGhNZXRhZGF0YV09InBhZ2VkSXRlbXMkIHwgYXN5bmMiXG4gICAgICBbY2FyZE1pbldpZHRoXT0iY2FyZE1pbldpZHRoJCB8IGFzeW5jIlxuICAgICAgW2NhcmRPYnNlcnZlcl09ImNhcmRPYnNlcnZlciJcbiAgICAgIChwYWdlSW5kZXhDaGFuZ2VkKT0ib25QYWdlSW5kZXhDaGFuZ2VkKCRldmVudCkiXG4gICAgPlxuICAgIDwvbWV0cmljcy1jYXJkLWdyaWQtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse2dyb3VwTmFtZTpbe3R5cGU6Ul99XSxjYXJkSWRzV2l0aE1ldGFkYXRhOlt7dHlwZTpSX31dLGNhcmRPYnNlcnZlcjpbe3R5cGU6Ul99XX0pO2NsYXNzIGR5dHt9ZHl0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxkeXQpfSxkeXQuybVjbXA9c28oe3R5cGU6ZHl0LHNlbGVjdG9yczpbWyJtZXRyaWNzLXBpbm5lZC12aWV3LWNvbXBvbmVudCJdXSxpbnB1dHM6e2NhcmRPYnNlcnZlcjoiY2FyZE9ic2VydmVyIixjYXJkSWRzV2l0aE1ldGFkYXRhOiJjYXJkSWRzV2l0aE1ldGFkYXRhIixuZXdDYXJkUGlubmVkSWRzOiJuZXdDYXJkUGlubmVkSWRzIn0sZGVjbHM6MTAsdmFyczo0LGNvbnN0czpbWzEsImdyb3VwLXRvb2xiYXIiXSxbInN2Z0ljb24iLCJrZWVwXzI0cHgiXSxbMSwiZ3JvdXAtdGV4dCJdLFsiYXJpYS1yb2xlIiwiaGVhZGluZyIsImFyaWEtbGV2ZWwiLCIzIiwxLCJncm91cC10aXRsZSJdLFsiY2xhc3MiLCJncm91cC1jYXJkLWNvdW50Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsIm5ldy1jYXJkLXBpbm5lZCIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzMsImNhcmRJZHNXaXRoTWV0YWRhdGEiLCJjYXJkT2JzZXJ2ZXIiLDQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsiZW1wdHlQaW5uZWRWaWV3IiwiIl0sWzEsImdyb3VwLWNhcmQtY291bnQiXSxbMSwibmV3LWNhcmQtcGlubmVkIl0sWzMsImNhcmRJZHNXaXRoTWV0YWRhdGEiLCJjYXJkT2JzZXJ2ZXIiXSxbMSwiZW1wdHktbWVzc2FnZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiZGl2IiwwKSx2ZigxLCJtYXQtaWNvbiIsMSksQ2YoMiwic3BhbiIsMiksQ2YoMywic3BhbiIsMyksUHUoNCwiUGlubmVkIiksTWYoKSxIbSg1LHJ5dCwyLDEsInNwYW4iLDQpLEhtKDYsc3l0LDIsMSwic3BhbiIsNSksTWYoKSxNZigpLEhtKDcsbHl0LDEsMiwibWV0cmljcy1jYXJkLWdyaWQiLDYpLEhtKDgsY3l0LDIsMCwibmctdGVtcGxhdGUiLG51bGwsNyxxeSkpLDImZSl7Y29uc3QgdD1GbSg5KTtEYyg1KSxiZigibmdJZiIsbi5jYXJkSWRzV2l0aE1ldGFkYXRhLmxlbmd0aD4xKSxEYygxKSxiZigibmdGb3JPZiIsbi5uZXdDYXJkUGlubmVkSWRzKSxEYygxKSxiZigibmdJZiIsbi5jYXJkSWRzV2l0aE1ldGFkYXRhLmxlbmd0aCkoIm5nSWZFbHNlIix0KX19LGRpcmVjdGl2ZXM6W01xLFB2LHh2LGF5dF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojZmZmO2Rpc3BsYXk6ZmxleDtmbGV4Om5vbmU7aGVpZ2h0OjQycHg7bWFyZ2luLWJvdHRvbTotMXB4O3BhZGRpbmc6MCAxNnB4O3Bvc2l0aW9uOnN0aWNreTt0b3A6MDt6LWluZGV4OjE7Ym94LXNoYWRvdzowcHggMnB4IDRweCAwcHggcmdiYSgwLDAsMCwuMTUpfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiMzMDMwMzB9Ym9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9Ym9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVde2JveC1zaGFkb3c6MHB4IDJweCA0cHggMHB4IHJnYmEoMjU1LDI1NSwyNTUsLjE1KX1tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6IzYxNjE2MTtmbGV4Om5vbmU7bWFyZ2luLXJpZ2h0OjVweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICBtYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIG1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0uZ3JvdXAtdGV4dFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmJhc2VsaW5lO2dhcDo2cHh9Lmdyb3VwLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lmdyb3VwLWNhcmQtY291bnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjE2MTYxfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC1jYXJkLWNvdW50W19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLWNhcmQtY291bnRbX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfS5lbXB0eS1tZXNzYWdlW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtc3R5bGU6aXRhbGljO3BhZGRpbmc6MTZweDt0ZXh0LWFsaWduOmNlbnRlcn1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZW1wdHktbWVzc2FnZVtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5lbXB0eS1tZXNzYWdlW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ubmV3LWNhcmQtcGlubmVkW19uZ2NvbnRlbnQtJUNPTVAlXXthbmltYXRpb246cGlubmVkLXZpZXctZmFkZS1vdXQgM3MgbGluZWFyO2JhY2tncm91bmQ6I2Y0NDMzNjtib3JkZXItcmFkaXVzOjVweDtjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxM3B4O29wYWNpdHk6MDtwYWRkaW5nOjNweCA1cHh9QGtleWZyYW1lcyBwaW5uZWQtdmlldy1mYWRlLW91dHtmcm9te29wYWNpdHk6MX02NiV7b3BhY2l0eTouOTl9dG97b3BhY2l0eTowfX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZHl0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtcGlubmVkLXZpZXctY29tcG9uZW50Iix0ZW1wbGF0ZTonXG4gICAgPGRpdiBjbGFzcz0iZ3JvdXAtdG9vbGJhciI+XG4gICAgICA8bWF0LWljb24gc3ZnSWNvbj0ia2VlcF8yNHB4Ij48L21hdC1pY29uPlxuICAgICAgPHNwYW4gY2xhc3M9Imdyb3VwLXRleHQiPlxuICAgICAgICA8c3BhbiBjbGFzcz0iZ3JvdXAtdGl0bGUiIGFyaWEtcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMyJcbiAgICAgICAgICA+UGlubmVkPC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPHNwYW4gKm5nSWY9ImNhcmRJZHNXaXRoTWV0YWRhdGEubGVuZ3RoID4gMSIgY2xhc3M9Imdyb3VwLWNhcmQtY291bnQiXG4gICAgICAgICAgPnt7IGNhcmRJZHNXaXRoTWV0YWRhdGEubGVuZ3RoIH19IGNhcmRzPC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdGb3I9ImxldCBpZCBvZiBuZXdDYXJkUGlubmVkSWRzIlxuICAgICAgICAgIFthdHRyLmRhdGEtaWRdPSJpZCJcbiAgICAgICAgICBjbGFzcz0ibmV3LWNhcmQtcGlubmVkIlxuICAgICAgICAgID5OZXcgY2FyZCBwaW5uZWQ8L3NwYW5cbiAgICAgICAgPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxtZXRyaWNzLWNhcmQtZ3JpZFxuICAgICAgKm5nSWY9ImNhcmRJZHNXaXRoTWV0YWRhdGEubGVuZ3RoOyBlbHNlIGVtcHR5UGlubmVkVmlldyJcbiAgICAgIFtjYXJkSWRzV2l0aE1ldGFkYXRhXT0iY2FyZElkc1dpdGhNZXRhZGF0YSJcbiAgICAgIFtjYXJkT2JzZXJ2ZXJdPSJjYXJkT2JzZXJ2ZXIiXG4gICAgPjwvbWV0cmljcy1jYXJkLWdyaWQ+XG4gICAgPG5nLXRlbXBsYXRlICNlbXB0eVBpbm5lZFZpZXc+XG4gICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1tZXNzYWdlIj5QaW4gY2FyZHMgZm9yIGEgcXVpY2sgdmlldyBhbmQgY29tcGFyaXNvbjwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICcsc3R5bGVVcmxzOlsicGlubmVkX3ZpZXdfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLG51bGwse2NhcmRPYnNlcnZlcjpbe3R5cGU6Ul99XSxjYXJkSWRzV2l0aE1ldGFkYXRhOlt7dHlwZTpSX31dLG5ld0NhcmRQaW5uZWRJZHM6W3t0eXBlOlJffV19KTtjbGFzcyBweXR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuY2FyZElkc1dpdGhNZXRhZGF0YSQ9dGhpcy5zdG9yZS5zZWxlY3QoY3opLnBpcGUoQmUoW10pKSx0aGlzLm5ld0NhcmRQaW5uZWRJZHMkPXRoaXMuc3RvcmUuc2VsZWN0KGN6KS5waXBlKExlKDEpLFZ0KCh0PT50Lm1hcCgodD0+dC5jYXJkSWQpKSkpLE5lKCksVnQoKChbdCxlXSk9Pntjb25zdCBuPW5ldyBTZXQodCksbz1uZXcgU2V0KGUpO2Zvcihjb25zdCB0IG9mIG8paWYoIW4uaGFzKHQpKXJldHVybiBEYXRlLm5vdygpO3JldHVybiBudWxsfSkpLEJlKG51bGwpLE5lKCksVnQoKChbdCxlXSk9Pm51bGw9PT10JiZudWxsPT09ZT9udWxsOm51bGw9PT1lP1t0XTpbZV0pKSx1ZSgodD0+bnVsbCE9PXQpKSxWdCgodD0+W3RbMF1dKSkpfX1weXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHB5dCkoZ2YoaVMpKX0scHl0Lsm1Y21wPXNvKHt0eXBlOnB5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1waW5uZWQtdmlldyJdXSxpbnB1dHM6e2NhcmRPYnNlcnZlcjoiY2FyZE9ic2VydmVyIn0sZGVjbHM6Myx2YXJzOjcsY29uc3RzOltbMywiY2FyZElkc1dpdGhNZXRhZGF0YSIsIm5ld0NhcmRQaW5uZWRJZHMiLCJjYXJkT2JzZXJ2ZXIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsIm1ldHJpY3MtcGlubmVkLXZpZXctY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIikpLDImZSYmYmYoImNhcmRJZHNXaXRoTWV0YWRhdGEiLEN5KDEsMyxuLmNhcmRJZHNXaXRoTWV0YWRhdGEkKSkoIm5ld0NhcmRQaW5uZWRJZHMiLEN5KDIsNSxuLm5ld0NhcmRQaW5uZWRJZHMkKSkoImNhcmRPYnNlcnZlciIsbi5jYXJkT2JzZXJ2ZXIpfSxkaXJlY3RpdmVzOltkeXRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihweXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1waW5uZWQtdmlldyIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWNzLXBpbm5lZC12aWV3LWNvbXBvbmVudFxuICAgICAgW2NhcmRJZHNXaXRoTWV0YWRhdGFdPSJjYXJkSWRzV2l0aE1ldGFkYXRhJCB8IGFzeW5jIlxuICAgICAgW25ld0NhcmRQaW5uZWRJZHNdPSJuZXdDYXJkUGlubmVkSWRzJCB8IGFzeW5jIlxuICAgICAgW2NhcmRPYnNlcnZlcl09ImNhcmRPYnNlcnZlciJcbiAgICA+PC9tZXRyaWNzLXBpbm5lZC12aWV3LWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLHtjYXJkT2JzZXJ2ZXI6W3t0eXBlOlJffV19KTtjb25zdCBteXQ9YlMoYXosX0ksKCh0LGUpPT50LmZpbHRlcigodD0+IW9OKHQucGx1Z2luKXx8Qm9vbGVhbihlJiZlLmdldCh0LnJ1bklkKSkpKSkpLGZ5dD1iUyhteXQsKHQ9PnQuc29ydCgoKHQsZSk9PlgkKHQudGFnLGUudGFnKSkpKSk7ZnVuY3Rpb24gdXl0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIsNyksUHUoMSksX3koMiwibnVtYmVyIiksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksa3UoIiIsQ3koMiwxLHQubnVtYmVyT2ZDYXJkcyksIiBjYXJkcyIpfX1mdW5jdGlvbiBneXQodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiw4KX1mdW5jdGlvbiBoeXQodCxlKXsxJnQmJnZmKDAsIm1hdC1pY29uIiw5KX1jbGFzcyBieXR7Y29uc3RydWN0b3IoKXt0aGlzLmdyb3VwRXhwYW5zaW9uVG9nZ2xlZD1uZXcgU3l9fWJ5dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Ynl0KX0sYnl0Lsm1Y21wPXNvKHt0eXBlOmJ5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1jYXJkLWdyb3VwLXRvb2xiYXItY29tcG9uZW50Il1dLGlucHV0czp7Z3JvdXBOYW1lOiJncm91cE5hbWUiLG51bWJlck9mQ2FyZHM6Im51bWJlck9mQ2FyZHMiLGlzR3JvdXBFeHBhbmRlZDoiaXNHcm91cEV4cGFuZGVkIn0sb3V0cHV0czp7Z3JvdXBFeHBhbnNpb25Ub2dnbGVkOiJncm91cEV4cGFuc2lvblRvZ2dsZWQifSxkZWNsczo5LHZhcnM6NSxjb25zdHM6ZnVuY3Rpb24oKXtsZXQgdDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7dD1nb29nLmdldE1zZygiRXhwYW5kIGdyb3VwIil9ZWxzZSB0PSRsb2NhbGl6ZWA6QSBidXR0b24gdGhhdCBhbGxvd3MgdXNlciB0byBleHBhbmQgYSB0YWcgZ3JvdXAu4pCfZmZhYTExNDcxYjg3OGE2ZGZmZTJlNjhjNmYzNzA2NGE5ZTA3NDg1M+KQnzUzODYwNTQzMjUyNzQ3NzkyNTg6RXhwYW5kIGdyb3VwYDtyZXR1cm5bWyJhcmlhLWxhYmVsIix0LDEsImdyb3VwLXRvb2xiYXIiLDMsImNsaWNrIl0sWzEsImdyb3VwLXRpdGxlLXdyYXBwZXIiXSxbImFyaWEtcm9sZSIsImhlYWRpbmciLCJhcmlhLWxldmVsIiwiMyIsMSwiZ3JvdXAtdGl0bGUiLDMsInRpdGxlIl0sWyJjbGFzcyIsImdyb3VwLWNhcmQtY291bnQiLDQsIm5nSWYiXSxbMSwiZXhwYW5kLWdyb3VwLWljb24iXSxbInN2Z0ljb24iLCJleHBhbmRfbGVzc18yNHB4Iiw0LCJuZ0lmIiwibmdJZkVsc2UiXSxbImV4cGFuZE1vcmUiLCIiXSxbMSwiZ3JvdXAtY2FyZC1jb3VudCJdLFsic3ZnSWNvbiIsImV4cGFuZF9sZXNzXzI0cHgiXSxbInN2Z0ljb24iLCJleHBhbmRfbW9yZV8yNHB4Il1dfSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoQ2YoMCwiYnV0dG9uIiwwKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uZ3JvdXBFeHBhbnNpb25Ub2dnbGVkLmVtaXQoKX0pKSxDZigxLCJzcGFuIiwxKSxDZigyLCJzcGFuIiwyKSxQdSgzKSxNZigpLEhtKDQsdXl0LDMsMywic3BhbiIsMyksTWYoKSxDZig1LCJzcGFuIiw0KSxIbSg2LGd5dCwxLDAsIm1hdC1pY29uIiw1KSxIbSg3LGh5dCwxLDAsIm5nLXRlbXBsYXRlIixudWxsLDYscXkpLE1mKCksTWYoKSksMiZlKXtjb25zdCB0PUZtKDgpO0RjKDIpLExmKCJ0aXRsZSIsbi5ncm91cE5hbWUpLERjKDEpLHd1KG4uZ3JvdXBOYW1lKSxEYygxKSxiZigibmdJZiIsbi5udW1iZXJPZkNhcmRzPjEpLERjKDIpLGJmKCJuZ0lmIixuLmlzR3JvdXBFeHBhbmRlZCkoIm5nSWZFbHNlIix0KX19LGRpcmVjdGl2ZXM6W1B2LE1xXSxwaXBlczpbJHZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7ZmxleDpub25lO2hlaWdodDo0MnB4O21hcmdpbi1ib3R0b206LTFweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpzdGlja3k7dG9wOjA7ei1pbmRleDoxO2JveC1zaGFkb3c6MHB4IDJweCA0cHggMHB4IHJnYmEoMCwwLDAsLjE1KX1ib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNTU1fWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3gtc2hhZG93OjBweCAycHggNHB4IDBweCByZ2JhKDI1NSwyNTUsMjU1LC4xNSl9W19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO2NvbG9yOiMyMTIxMjE7dG9wOi0xcHg7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7Zm9udDppbmhlcml0fWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItdG9wOjFweCBzb2xpZCAjNTU1fWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojZmZmfS5jYXJkLWdyb3VwOmZpcnN0LW9mLXR5cGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci10b3A6MH1bX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdOmhvdmVye2N1cnNvcjpwb2ludGVyfS5leHBhbmQtZ3JvdXAtaWNvbltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6IzYxNjE2MX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZXhwYW5kLWdyb3VwLWljb25bX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZXhwYW5kLWdyb3VwLWljb25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfS5leHBhbmQtZ3JvdXAtaWNvbltfbmdjb250ZW50LSVDT01QJV06ZGlzYWJsZWR7Y29sb3I6Izc1NzU3NX1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZXhwYW5kLWdyb3VwLWljb25bX25nY29udGVudC0lQ09NUCVdOmRpc2FibGVkLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZXhwYW5kLWdyb3VwLWljb25bX25nY29udGVudC0lQ09NUCVdOmRpc2FibGVke2NvbG9yOiM2MTYxNjF9Lmdyb3VwLXRpdGxlLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZsZXgtZ3JvdzoxO3RleHQtYWxpZ246bGVmdH0uZ3JvdXAtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0uZ3JvdXAtY2FyZC1jb3VudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM2MTYxNjE7bWFyZ2luLWxlZnQ6NnB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC1jYXJkLWNvdW50W19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLWNhcmQtY291bnRbX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihieXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1jYXJkLWdyb3VwLXRvb2xiYXItY29tcG9uZW50Iix0ZW1wbGF0ZTonXG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9Imdyb3VwLXRvb2xiYXIiXG4gICAgICBpMThuLWFyaWEtbGFiZWw9IkEgYnV0dG9uIHRoYXQgYWxsb3dzIHVzZXIgdG8gZXhwYW5kIGEgdGFnIGdyb3VwLiJcbiAgICAgIGFyaWEtbGFiZWw9IkV4cGFuZCBncm91cCJcbiAgICAgIChjbGljayk9Imdyb3VwRXhwYW5zaW9uVG9nZ2xlZC5lbWl0KCkiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9Imdyb3VwLXRpdGxlLXdyYXBwZXIiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPSJncm91cC10aXRsZSJcbiAgICAgICAgICBhcmlhLXJvbGU9ImhlYWRpbmciXG4gICAgICAgICAgYXJpYS1sZXZlbD0iMyJcbiAgICAgICAgICB0aXRsZT0ie3sgZ3JvdXBOYW1lIH19IlxuICAgICAgICAgID57eyBncm91cE5hbWUgfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhbiAqbmdJZj0ibnVtYmVyT2ZDYXJkcyA+IDEiIGNsYXNzPSJncm91cC1jYXJkLWNvdW50IlxuICAgICAgICAgID57eyBudW1iZXJPZkNhcmRzIHwgbnVtYmVyIH19IGNhcmRzPC9zcGFuXG4gICAgICAgID5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPSJleHBhbmQtZ3JvdXAtaWNvbiI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICpuZ0lmPSJpc0dyb3VwRXhwYW5kZWQ7IGVsc2UgZXhwYW5kTW9yZSJcbiAgICAgICAgICBzdmdJY29uPSJleHBhbmRfbGVzc18yNHB4IlxuICAgICAgICA+PC9tYXQtaWNvbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNleHBhbmRNb3JlPlxuICAgICAgICAgIDxtYXQtaWNvbiBzdmdJY29uPSJleHBhbmRfbW9yZV8yNHB4Ij48L21hdC1pY29uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAnLHN0eWxlVXJsczpbImNhcmRfZ3JvdXBfdG9vbGJhcl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7Z3JvdXBOYW1lOlt7dHlwZTpSX31dLG51bWJlck9mQ2FyZHM6W3t0eXBlOlJffV0saXNHcm91cEV4cGFuZGVkOlt7dHlwZTpSX31dLGdyb3VwRXhwYW5zaW9uVG9nZ2xlZDpbe3R5cGU6RV99XX0pO2NsYXNzIHl5dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5ncm91cE5hbWU9bnVsbCx0aGlzLmlzR3JvdXBFeHBhbmRlZCQ9enQoITEpfW5nT25Jbml0KCl7dGhpcy5pc0dyb3VwRXhwYW5kZWQkPW51bGwhPT10aGlzLmdyb3VwTmFtZT90aGlzLnN0b3JlLnNlbGVjdCh3eix0aGlzLmdyb3VwTmFtZSk6enQoITEpfW9uR3JvdXBFeHBhbnNpb25Ub2dnbGVkKCl7aWYobnVsbD09PXRoaXMuZ3JvdXBOYW1lKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhcmlhbnQgZXJyb3I6IGV4cGFuc2lvbiBjYW5ub3QgYmUgdG9nZ2xlZCB3aGVuIGdyb3VwTmFtZSBpcyBudWxsIik7dGhpcy5zdG9yZS5kaXNwYXRjaChOQSh7dGFnR3JvdXA6dGhpcy5ncm91cE5hbWV9KSl9fWZ1bmN0aW9uIF95dCh0LGUpe2lmKDEmdCYmKENmKDAsImRpdiIsMSksdmYoMSwibWV0cmljcy1jYXJkLWdyb3VwLXRvb2xiYXIiLDIpLHZmKDIsIm1ldHJpY3MtY2FyZC1ncmlkIiwzKSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigpO0RjKDEpLGJmKCJudW1iZXJPZkNhcmRzIix0Lml0ZW1zLmxlbmd0aCkoImdyb3VwTmFtZSIsdC5ncm91cE5hbWUpLERjKDEpLGJmKCJjYXJkSWRzV2l0aE1ldGFkYXRhIix0Lml0ZW1zKSgiY2FyZE9ic2VydmVyIixuLmNhcmRPYnNlcnZlcikoImdyb3VwTmFtZSIsdC5ncm91cE5hbWUpfX15eXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHl5dCkoZ2YoaVMpKX0seXl0Lsm1Y21wPXNvKHt0eXBlOnl5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1jYXJkLWdyb3VwLXRvb2xiYXIiXV0saW5wdXRzOntncm91cE5hbWU6Imdyb3VwTmFtZSIsbnVtYmVyT2ZDYXJkczoibnVtYmVyT2ZDYXJkcyJ9LGRlY2xzOjIsdmFyczo1LGNvbnN0czpbWzMsIm51bWJlck9mQ2FyZHMiLCJpc0dyb3VwRXhwYW5kZWQiLCJncm91cE5hbWUiLCJncm91cEV4cGFuc2lvblRvZ2dsZWQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsIm1ldHJpY3MtY2FyZC1ncm91cC10b29sYmFyLWNvbXBvbmVudCIsMCksUmYoImdyb3VwRXhwYW5zaW9uVG9nZ2xlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vbkdyb3VwRXhwYW5zaW9uVG9nZ2xlZCgpfSkpLF95KDEsImFzeW5jIiksTWYoKSksMiZlJiZiZigibnVtYmVyT2ZDYXJkcyIsbi5udW1iZXJPZkNhcmRzKSgiaXNHcm91cEV4cGFuZGVkIixDeSgxLDMsbi5pc0dyb3VwRXhwYW5kZWQkKSkoImdyb3VwTmFtZSIsbi5ncm91cE5hbWUpfSxkaXJlY3RpdmVzOltieXRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih5eXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1jYXJkLWdyb3VwLXRvb2xiYXIiLHRlbXBsYXRlOidcbiAgICA8bWV0cmljcy1jYXJkLWdyb3VwLXRvb2xiYXItY29tcG9uZW50XG4gICAgICBbbnVtYmVyT2ZDYXJkc109Im51bWJlck9mQ2FyZHMiXG4gICAgICBbaXNHcm91cEV4cGFuZGVkXT0iaXNHcm91cEV4cGFuZGVkJCB8IGFzeW5jIlxuICAgICAgW2dyb3VwTmFtZV09Imdyb3VwTmFtZSJcbiAgICAgIChncm91cEV4cGFuc2lvblRvZ2dsZWQpPSJvbkdyb3VwRXhwYW5zaW9uVG9nZ2xlZCgpIlxuICAgID48L21ldHJpY3MtY2FyZC1ncm91cC10b29sYmFyLWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLHtncm91cE5hbWU6W3t0eXBlOlJffV0sbnVtYmVyT2ZDYXJkczpbe3R5cGU6Ul99XX0pO2NsYXNzIEN5dHtjb25zdHJ1Y3Rvcigpe3RoaXMuUGx1Z2luVHlwZT1LVH10cmFja0J5R3JvdXAodCxlKXtyZXR1cm4gZS5ncm91cE5hbWV9fUN5dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Q3l0KX0sQ3l0Lsm1Y21wPXNvKHt0eXBlOkN5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1jYXJkLWdyb3Vwcy1jb21wb25lbnQiXV0saW5wdXRzOntjYXJkR3JvdXBzOiJjYXJkR3JvdXBzIixjYXJkT2JzZXJ2ZXI6ImNhcmRPYnNlcnZlciJ9LGRlY2xzOjEsdmFyczoyLGNvbnN0czpbWyJjbGFzcyIsImNhcmQtZ3JvdXAiLDQsIm5nRm9yIiwibmdGb3JPZiIsIm5nRm9yVHJhY2tCeSJdLFsxLCJjYXJkLWdyb3VwIl0sWzMsIm51bWJlck9mQ2FyZHMiLCJncm91cE5hbWUiXSxbMywiY2FyZElkc1dpdGhNZXRhZGF0YSIsImNhcmRPYnNlcnZlciIsImdyb3VwTmFtZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiZIbSgwLF95dCwzLDUsImRpdiIsMCksMiZlJiZiZigibmdGb3JPZiIsbi5jYXJkR3JvdXBzKSgibmdGb3JUcmFja0J5IixuLnRyYWNrQnlHcm91cCl9LGRpcmVjdGl2ZXM6W3h2LHl5dCxheXRdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7ZmxleDpub25lO2hlaWdodDo0MnB4O21hcmdpbi1ib3R0b206LTFweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpzdGlja3k7dG9wOjA7ei1pbmRleDoxO2JveC1zaGFkb3c6MHB4IDJweCA0cHggMHB4IHJnYmEoMCwwLDAsLjE1KX1ib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNTU1fWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3gtc2hhZG93OjBweCAycHggNHB4IDBweCByZ2JhKDI1NSwyNTUsMjU1LC4xNSl9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEN5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWNzLWNhcmQtZ3JvdXBzLWNvbXBvbmVudCIsdGVtcGxhdGU6J1xuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj0ibGV0IGdyb3VwIG9mIGNhcmRHcm91cHM7IHRyYWNrQnk6IHRyYWNrQnlHcm91cCJcbiAgICAgIGNsYXNzPSJjYXJkLWdyb3VwIlxuICAgID5cbiAgICAgIDxtZXRyaWNzLWNhcmQtZ3JvdXAtdG9vbGJhclxuICAgICAgICBbbnVtYmVyT2ZDYXJkc109Imdyb3VwLml0ZW1zLmxlbmd0aCJcbiAgICAgICAgW2dyb3VwTmFtZV09Imdyb3VwLmdyb3VwTmFtZSJcbiAgICAgID48L21ldHJpY3MtY2FyZC1ncm91cC10b29sYmFyPlxuICAgICAgPG1ldHJpY3MtY2FyZC1ncmlkXG4gICAgICAgIFtjYXJkSWRzV2l0aE1ldGFkYXRhXT0iZ3JvdXAuaXRlbXMiXG4gICAgICAgIFtjYXJkT2JzZXJ2ZXJdPSJjYXJkT2JzZXJ2ZXIiXG4gICAgICAgIFtncm91cE5hbWVdPSJncm91cC5ncm91cE5hbWUiXG4gICAgICA+PC9tZXRyaWNzLWNhcmQtZ3JpZD5cbiAgICA8L2Rpdj5cbiAgJyxzdHlsZVVybHM6WyJjYXJkX2dyb3Vwc19jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7Y2FyZEdyb3Vwczpbe3R5cGU6Ul99XSxjYXJkT2JzZXJ2ZXI6W3t0eXBlOlJffV19KTtjbGFzcyBNeXR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuY2FyZEdyb3VwcyQ9dGhpcy5zdG9yZS5zZWxlY3QoZnl0KS5waXBlKF9lKHRoaXMuc3RvcmUuc2VsZWN0KEF6KSksVnQoKChbdCxlXSk9PmUuc2l6ZT90LmZpbHRlcigodD0+ZS5oYXModC5wbHVnaW4pKSk6dCkpLFZ0KCh0PT5aJCh0KSkpKX19ZnVuY3Rpb24gdnl0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwic3BhbiIpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigpO0RjKDEpLGt1KCIgYW5kICIsdC5nZXRQbHVnaW5UeXBlRmlsdGVyU3RyaW5nKHQucGx1Z2luVHlwZXMpLCIgdmlzdWFsaXphdGlvbiBmaWx0ZXIiKX19TXl0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxNeXQpKGdmKGlTKSl9LE15dC7JtWNtcD1zbyh7dHlwZTpNeXQsc2VsZWN0b3JzOltbIm1ldHJpY3MtY2FyZC1ncm91cHMiXV0saW5wdXRzOntjYXJkT2JzZXJ2ZXI6ImNhcmRPYnNlcnZlciJ9LGRlY2xzOjIsdmFyczo0LGNvbnN0czpbWzMsImNhcmRHcm91cHMiLCJjYXJkT2JzZXJ2ZXIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsIm1ldHJpY3MtY2FyZC1ncm91cHMtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpKSwyJmUmJmJmKCJjYXJkR3JvdXBzIixDeSgxLDIsbi5jYXJkR3JvdXBzJCkpKCJjYXJkT2JzZXJ2ZXIiLG4uY2FyZE9ic2VydmVyKX0sZGlyZWN0aXZlczpbQ3l0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTXl0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtY2FyZC1ncm91cHMiLHRlbXBsYXRlOidcbiAgICA8bWV0cmljcy1jYXJkLWdyb3Vwcy1jb21wb25lbnRcbiAgICAgIFtjYXJkR3JvdXBzXT0iY2FyZEdyb3VwcyQgfCBhc3luYyJcbiAgICAgIFtjYXJkT2JzZXJ2ZXJdPSJjYXJkT2JzZXJ2ZXIiXG4gICAgPjwvbWV0cmljcy1jYXJkLWdyb3Vwcy1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSx7Y2FyZE9ic2VydmVyOlt7dHlwZTpSX31dfSk7Y2xhc3MgeHl0e2NvbnN0cnVjdG9yKCl7dGhpcy5QbHVnaW5UeXBlPUtULHRoaXMubGlzdEZvcm1hdHRlcj1uZXcgSW50bC5MaXN0Rm9ybWF0KHZvaWQgMCx7c3R5bGU6ImxvbmciLHR5cGU6ImRpc2p1bmN0aW9uIn0pfWdldFBsdWdpblR5cGVGaWx0ZXJTdHJpbmcodCl7Y29uc3QgZT1bLi4udF0ubWFwKCh0PT57c3dpdGNoKHQpe2Nhc2UgS1QuU0NBTEFSUzpyZXR1cm4ic2NhbGFyIjtjYXNlIEtULklNQUdFUzpyZXR1cm4iaW1hZ2UiO2Nhc2UgS1QuSElTVE9HUkFNUzpyZXR1cm4iaGlzdG9ncmFtIjtkZWZhdWx0OnRocm93IG5ldyBSYW5nZUVycm9yKGBQbGVhc2UgaW1wbGVtZW50IGh1bWFuIHJlYWRhYmxlIG5hbWUgZm9yIHBsdWdpbiB0eXBlOiAke3R9YCl9fSkpO3JldHVybiB0aGlzLmxpc3RGb3JtYXR0ZXIuZm9ybWF0KGUpfX14eXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHh5dCl9LHh5dC7JtWNtcD1zbyh7dHlwZTp4eXQsc2VsZWN0b3JzOltbIm1ldHJpY3MtZW1wdHktdGFnLW1hdGNoLWNvbXBvbmVudCJdXSxpbnB1dHM6e3BsdWdpblR5cGVzOiJwbHVnaW5UeXBlcyIsdGFnRmlsdGVyUmVnZXg6InRhZ0ZpbHRlclJlZ2V4Iix0YWdDb3VudHM6InRhZ0NvdW50cyJ9LGRlY2xzOjYsdmFyczo1LGNvbnN0czpbWzQsIm5nSWYiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKFB1KDAsIk5vIG1hdGNoZXMgZm9yIHRhZyBmaWx0ZXIgIiksQ2YoMSwiY29kZSIpLFB1KDIpLE1mKCksSG0oMyx2eXQsMiwxLCJzcGFuIiwwKSxQdSg0KSxfeSg1LCJudW1iZXIiKSksMiZlJiYoRGMoMiksa3UoIi8iLG4udGFnRmlsdGVyUmVnZXgsIi8iKSxEYygxKSxiZigibmdJZiIsbi5wbHVnaW5UeXBlcy5zaXplKSxEYygxKSxrdSgiIG91dCBvZiAiLEN5KDUsMyxuLnRhZ0NvdW50cyksIiB0YWdzLiIpKX0sZGlyZWN0aXZlczpbUHZdLHBpcGVzOlskdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4eXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1lbXB0eS10YWctbWF0Y2gtY29tcG9uZW50Iix0ZW1wbGF0ZTonTm8gbWF0Y2hlcyBmb3IgdGFnIGZpbHRlciA8Y29kZT4ve3sgdGFnRmlsdGVyUmVnZXggfX0vPC9jb2RlXG4gICAgPjxzcGFuICpuZ0lmPSJwbHVnaW5UeXBlcy5zaXplIj5cbiAgICAgIGFuZCB7eyBnZXRQbHVnaW5UeXBlRmlsdGVyU3RyaW5nKHBsdWdpblR5cGVzKSB9fSB2aXN1YWxpemF0aW9uXG4gICAgICBmaWx0ZXI8L3NwYW5cbiAgICA+XG4gICAgb3V0IG9mIHt7IHRhZ0NvdW50cyB8IG51bWJlciB9fSB0YWdzLicsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7cGx1Z2luVHlwZXM6W3t0eXBlOlJffV0sdGFnRmlsdGVyUmVnZXg6W3t0eXBlOlJffV0sdGFnQ291bnRzOlt7dHlwZTpSX31dfSk7Y2xhc3MgT3l0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLnBsdWdpblR5cGVzJD10aGlzLnN0b3JlLnNlbGVjdChBeiksdGhpcy50YWdGaWx0ZXJSZWdleCQ9dGhpcy5zdG9yZS5zZWxlY3QoUHopLHRoaXMudGFnQ291bnRzJD10aGlzLnN0b3JlLnNlbGVjdChmeXQpLnBpcGUoVnQoKHQ9Pm5ldyBTZXQodC5tYXAoKCh7dGFnOnR9KT0+dCkpKS5zaXplKSkpfX1mdW5jdGlvbiBQeXQodCxlKXtpZigxJnQmJihDZigwLCJzcGFuIiw2KSxQdSgxKSxfeSgyLCJudW1iZXIiKSxNZigpKSwyJnQpe2NvbnN0IHQ9emYoKTtEYygxKSxrdSgiIixDeSgyLDEsdC5jYXJkSWRzV2l0aE1ldGFkYXRhLmxlbmd0aCksIiBjYXJkcyIpfX1mdW5jdGlvbiB3eXQodCxlKXsxJnQmJnZmKDAsIm1ldHJpY3MtZW1wdHktdGFnLW1hdGNoIiw3KX1PeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fE95dCkoZ2YoaVMpKX0sT3l0Lsm1Y21wPXNvKHt0eXBlOk95dCxzZWxlY3RvcnM6W1sibWV0cmljcy1lbXB0eS10YWctbWF0Y2giXV0sZGVjbHM6NCx2YXJzOjksY29uc3RzOltbMywicGx1Z2luVHlwZXMiLCJ0YWdGaWx0ZXJSZWdleCIsInRhZ0NvdW50cyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwibWV0cmljcy1lbXB0eS10YWctbWF0Y2gtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSksMiZlJiZiZigicGx1Z2luVHlwZXMiLEN5KDEsMyxuLnBsdWdpblR5cGVzJCkpKCJ0YWdGaWx0ZXJSZWdleCIsQ3koMiw1LG4udGFnRmlsdGVyUmVnZXgkKSkoInRhZ0NvdW50cyIsQ3koMyw3LG4udGFnQ291bnRzJCkpfSxkaXJlY3RpdmVzOlt4eXRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPeXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1lbXB0eS10YWctbWF0Y2giLHRlbXBsYXRlOidcbiAgICA8bWV0cmljcy1lbXB0eS10YWctbWF0Y2gtY29tcG9uZW50XG4gICAgICBbcGx1Z2luVHlwZXNdPSJwbHVnaW5UeXBlcyQgfCBhc3luYyJcbiAgICAgIFt0YWdGaWx0ZXJSZWdleF09InRhZ0ZpbHRlclJlZ2V4JCB8IGFzeW5jIlxuICAgICAgW3RhZ0NvdW50c109InRhZ0NvdW50cyQgfCBhc3luYyJcbiAgICA+PC9tZXRyaWNzLWVtcHR5LXRhZy1tYXRjaC1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjbGFzcyBreXR7fWt5dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8a3l0KX0sa3l0Lsm1Y21wPXNvKHt0eXBlOmt5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1maWx0ZXJlZC12aWV3LWNvbXBvbmVudCJdXSxpbnB1dHM6e2lzRW1wdHlNYXRjaDoiaXNFbXB0eU1hdGNoIixjYXJkT2JzZXJ2ZXI6ImNhcmRPYnNlcnZlciIsY2FyZElkc1dpdGhNZXRhZGF0YToiY2FyZElkc1dpdGhNZXRhZGF0YSJ9LGRlY2xzOjcsdmFyczo0LGNvbnN0czpbWzEsImdyb3VwLXRvb2xiYXIiXSxbMSwiZ3JvdXAtdGV4dCJdLFsiYXJpYS1yb2xlIiwiaGVhZGluZyIsImFyaWEtbGV2ZWwiLCIzIiwxLCJncm91cC10aXRsZSJdLFsiY2xhc3MiLCJncm91cC1jYXJkLWNvdW50Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsIndhcm4iLDQsIm5nSWYiXSxbMywiY2FyZElkc1dpdGhNZXRhZGF0YSIsImNhcmRPYnNlcnZlciJdLFsxLCJncm91cC1jYXJkLWNvdW50Il0sWzEsIndhcm4iXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwic3BhbiIsMSksQ2YoMiwic3BhbiIsMiksUHUoMywiVGFncyBtYXRjaGluZyBmaWx0ZXIiKSxNZigpLEhtKDQsUHl0LDMsMywic3BhbiIsMyksTWYoKSxNZigpLEhtKDUsd3l0LDEsMCwibWV0cmljcy1lbXB0eS10YWctbWF0Y2giLDQpLHZmKDYsIm1ldHJpY3MtY2FyZC1ncmlkIiw1KSksMiZlJiYoRGMoNCksYmYoIm5nSWYiLG4uY2FyZElkc1dpdGhNZXRhZGF0YS5sZW5ndGg+MSksRGMoMSksYmYoIm5nSWYiLG4uaXNFbXB0eU1hdGNoKSxEYygxKSxiZigiY2FyZElkc1dpdGhNZXRhZGF0YSIsbi5jYXJkSWRzV2l0aE1ldGFkYXRhKSgiY2FyZE9ic2VydmVyIixuLmNhcmRPYnNlcnZlcikpfSxkaXJlY3RpdmVzOltQdixheXQsT3l0XSxwaXBlczpbJHZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7ZmxleDpub25lO2hlaWdodDo0MnB4O21hcmdpbi1ib3R0b206LTFweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpzdGlja3k7dG9wOjA7ei1pbmRleDoxO2JveC1zaGFkb3c6MHB4IDJweCA0cHggMHB4IHJnYmEoMCwwLDAsLjE1KX1ib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZ3JvdXAtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNTU1fWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3gtc2hhZG93OjBweCAycHggNHB4IDBweCByZ2JhKDI1NSwyNTUsMjU1LC4xNSl9Lmdyb3VwLXRleHRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpiYXNlbGluZX0uZ3JvdXAtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0uZ3JvdXAtY2FyZC1jb3VudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM2MTYxNjE7bWFyZ2luLWxlZnQ6NnB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5ncm91cC1jYXJkLWNvdW50W19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLmdyb3VwLWNhcmQtY291bnRbX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfW1ldHJpY3MtZW1wdHktdGFnLW1hdGNoW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtc3R5bGU6aXRhbGljO3BhZGRpbmc6MTZweDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmJsb2NrfWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIG1ldHJpY3MtZW1wdHktdGFnLW1hdGNoW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgbWV0cmljcy1lbXB0eS10YWctbWF0Y2hbX25nY29udGVudC0lQ09NUCVde2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihreXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1maWx0ZXJlZC12aWV3LWNvbXBvbmVudCIsdGVtcGxhdGU6J1xuICAgIDxkaXYgY2xhc3M9Imdyb3VwLXRvb2xiYXIiPlxuICAgICAgPHNwYW4gY2xhc3M9Imdyb3VwLXRleHQiPlxuICAgICAgICA8c3BhbiBjbGFzcz0iZ3JvdXAtdGl0bGUiIGFyaWEtcm9sZT0iaGVhZGluZyIgYXJpYS1sZXZlbD0iMyJcbiAgICAgICAgICA+VGFncyBtYXRjaGluZyBmaWx0ZXI8L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhbiAqbmdJZj0iY2FyZElkc1dpdGhNZXRhZGF0YS5sZW5ndGggPiAxIiBjbGFzcz0iZ3JvdXAtY2FyZC1jb3VudCJcbiAgICAgICAgICA+e3sgY2FyZElkc1dpdGhNZXRhZGF0YS5sZW5ndGggfCBudW1iZXIgfX0gY2FyZHM8L3NwYW5cbiAgICAgICAgPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxtZXRyaWNzLWVtcHR5LXRhZy1tYXRjaFxuICAgICAgKm5nSWY9ImlzRW1wdHlNYXRjaCJcbiAgICAgIGNsYXNzPSJ3YXJuIlxuICAgID48L21ldHJpY3MtZW1wdHktdGFnLW1hdGNoPlxuICAgIDxtZXRyaWNzLWNhcmQtZ3JpZFxuICAgICAgW2NhcmRJZHNXaXRoTWV0YWRhdGFdPSJjYXJkSWRzV2l0aE1ldGFkYXRhIlxuICAgICAgW2NhcmRPYnNlcnZlcl09ImNhcmRPYnNlcnZlciJcbiAgICA+PC9tZXRyaWNzLWNhcmQtZ3JpZD5cbiAgJyxzdHlsZVVybHM6WyJmaWx0ZXJlZF92aWV3X2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtpc0VtcHR5TWF0Y2g6W3t0eXBlOlJffV0sY2FyZE9ic2VydmVyOlt7dHlwZTpSX31dLGNhcmRJZHNXaXRoTWV0YWRhdGE6W3t0eXBlOlJffV19KTtjbGFzcyBTeXR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuY2FyZElkc1dpdGhNZXRhZGF0YSQ9dGhpcy5zdG9yZS5zZWxlY3QoZnl0KS5waXBlKF9lKHRoaXMuc3RvcmUuc2VsZWN0KEF6KSksVnQoKChbdCxlXSk9PmUuc2l6ZT90LmZpbHRlcigodD0+ZS5oYXModC5wbHVnaW4pKSk6dCkpLF9lKHRoaXMuc3RvcmUuc2VsZWN0KFB6KSksQ2UoMjAwKSxWdCgoKFt0LGVdKT0+e3RyeXtyZXR1cm57Y2FyZExpc3Q6dCxyZWdleDpuZXcgUmVnRXhwKGUsImkiKX19Y2F0Y2goZSl7cmV0dXJue2NhcmRMaXN0OnQscmVnZXg6bnVsbH19fSkpLHVlKCgoe3JlZ2V4OnR9KT0+bnVsbCE9PXQpKSxWdCgoKHtjYXJkTGlzdDp0LHJlZ2V4OmV9KT0+dC5maWx0ZXIoKCh7dGFnOnR9KT0+ZS50ZXN0KHQpKSkpKSx3ZSgoKHQsZSk9PnQubGVuZ3RoPT09ZS5sZW5ndGgmJnQuZXZlcnkoKCh0LG4pPT50LmNhcmRJZD09PWVbbl0uY2FyZElkKSkpKSxJZSgpLEJlKFtdKSksdGhpcy5pc0VtcHR5TWF0Y2gkPXRoaXMuY2FyZElkc1dpdGhNZXRhZGF0YSQucGlwZShfZSh0aGlzLnN0b3JlLnNlbGVjdChmeXQpKSxWdCgoKFt0LGVdKT0+Qm9vbGVhbihlLmxlbmd0aCkmJjA9PT10Lmxlbmd0aCkpKX19ZnVuY3Rpb24gRHl0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwibWF0LW9wdGlvbiIsMiksUHUoMSksTWYoKSksMiZ0KXtjb25zdCB0PWUuJGltcGxpY2l0O2JmKCJ2YWx1ZSIsdC52YWx1ZSkoImRpc2FibGVkIix0LmRpc2FibGVkKSxEYygxKSxrdSgiICIsdC5kaXNwbGF5VGV4dCwiICIpfX1TeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFN5dCkoZ2YoaVMpKX0sU3l0Lsm1Y21wPXNvKHt0eXBlOlN5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1maWx0ZXJlZC12aWV3Il1dLGlucHV0czp7Y2FyZE9ic2VydmVyOiJjYXJkT2JzZXJ2ZXIifSxkZWNsczozLHZhcnM6Nyxjb25zdHM6W1szLCJpc0VtcHR5TWF0Y2giLCJjYXJkSWRzV2l0aE1ldGFkYXRhIiwiY2FyZE9ic2VydmVyIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJtZXRyaWNzLWZpbHRlcmVkLXZpZXctY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIikpLDImZSYmYmYoImlzRW1wdHlNYXRjaCIsQ3koMSwzLG4uaXNFbXB0eU1hdGNoJCkpKCJjYXJkSWRzV2l0aE1ldGFkYXRhIixDeSgyLDUsbi5jYXJkSWRzV2l0aE1ldGFkYXRhJCkpKCJjYXJkT2JzZXJ2ZXIiLG4uY2FyZE9ic2VydmVyKX0sZGlyZWN0aXZlczpba3l0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoU3l0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtZmlsdGVyZWQtdmlldyIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWNzLWZpbHRlcmVkLXZpZXctY29tcG9uZW50XG4gICAgICBbaXNFbXB0eU1hdGNoXT0iaXNFbXB0eU1hdGNoJCB8IGFzeW5jIlxuICAgICAgW2NhcmRJZHNXaXRoTWV0YWRhdGFdPSJjYXJkSWRzV2l0aE1ldGFkYXRhJCB8IGFzeW5jIlxuICAgICAgW2NhcmRPYnNlcnZlcl09ImNhcmRPYnNlcnZlciJcbiAgICA+PC9tZXRyaWNzLWZpbHRlcmVkLXZpZXctY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse2NhcmRPYnNlcnZlcjpbe3R5cGU6Ul99XX0pO2NsYXNzIFJ5dHtjb25zdHJ1Y3Rvcigpe3RoaXMudmFsdWU9IiIsdGhpcy5vcHRpb25zPVtdLHRoaXMuc2VsZWN0aW9uQ2hhbmdlPW5ldyBTeX19ZnVuY3Rpb24gRXl0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwyMiksQ2YoMSwiZGl2IiwyMyksUHUoMiwiQ2FyZCBXaWR0aCIpLE1mKCksQ2YoMywiZGl2IiwxMCksQ2YoNCwibWF0LXNsaWRlciIsMjQpLFJmKCJpbnB1dCIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkuY2FyZFdpZHRoU2xpZGVyQ2hhbmdlZCQuZW1pdChuLnZhbHVlKX0pKSxNZigpLENmKDUsImJ1dHRvbiIsMjUpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5jYXJkV2lkdGhSZXNldC5lbWl0KCl9KSksdmYoNiwibWF0LWljb24iLDI2KSxNZigpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtEYyg0KSxiZigibWF4Iix0Lk1BWF9DQVJEX1dJRFRIX1NMSURFUl9WQUxVRSkoIm1pbiIsdC5NSU5fQ0FSRF9XSURUSF9TTElERVJfVkFMVUUpKCJzdGVwIiw1MCkoInZhbHVlIix0LmNhcmRNaW5XaWR0aCkoInRodW1iTGFiZWwiLCExKX19ZnVuY3Rpb24gQXl0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibWF0LXNsaWRlciIsMzIpLFJmKCJpbnB1dCIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKDIpLm9uU3RlcFN0YXJ0Q2hhbmdlZChuLnZhbHVlKX0pKSxNZigpfWlmKDImdCl7Y29uc3QgdD16ZigyKTtiZigiZGlzYWJsZWQiLCF0LnNlbGVjdFRpbWVFbmFibGVkKSgibWluIix0LnN0ZXBNaW5NYXgubWluKSgibWF4Iix0LnN0ZXBNaW5NYXgubWF4KSgic3RlcCIsMSkoInZhbHVlIixudWxsPT10LnNlbGVjdGVkVGltZT9udWxsOnQuc2VsZWN0ZWRUaW1lLnN0YXJ0LnN0ZXApKCJ0aHVtYkxhYmVsIiwhMCl9fWZ1bmN0aW9uIFR5dCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsInRiLXJhbmdlLWlucHV0IiwzMyksUmYoInZhbHVlIiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoMikub25TdGVwUmFuZ2VDaGFuZ2VkKG4pfSkpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKDIpO2JmKCJtaW4iLHQuc3RlcE1pbk1heC5taW4pKCJtYXgiLHQuc3RlcE1pbk1heC5tYXgpKCJsb3dlclZhbHVlIixudWxsPT10LnNlbGVjdGVkVGltZT9udWxsOnQuc2VsZWN0ZWRUaW1lLnN0YXJ0LnN0ZXApKCJ1cHBlclZhbHVlIixudWxsPT10LnNlbGVjdGVkVGltZXx8bnVsbD09dC5zZWxlY3RlZFRpbWUuZW5kP251bGw6dC5zZWxlY3RlZFRpbWUuZW5kLnN0ZXApLHltKCJkaXNhYmxlZCIsIXQuc2VsZWN0VGltZUVuYWJsZWQpfX1mdW5jdGlvbiBOeXQodCxlKXtpZigxJnQpe2NvbnN0IHQ9d2YoKTtDZigwLCJkaXYiLDI3KSxDZigxLCJsYWJlbCIpLFB1KDIsIkxpbmsgdmlzdWFsaXphdGlvbiBieSBzdGVwIiksTWYoKSxDZigzLCJkaXYiLDI4KSxDZig0LCJkaXYiKSxDZig1LCJtYXQtY2hlY2tib3giLDE2KSxSZigiY2hhbmdlIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLnNlbGVjdFRpbWVFbmFibGVUb2dnbGVkLmVtaXQoKX0pKSxQdSg2LCJFbmFibGVkIiksTWYoKSxNZigpLENmKDcsImRpdiIpLENmKDgsIm1hdC1jaGVja2JveCIsMTYpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkudXNlUmFuZ2VTZWxlY3RUaW1lVG9nZ2xlZC5lbWl0KCl9KSksUHUoOSwiVXNlIHJhbmdlIiksTWYoKSxNZigpLENmKDEwLCJkaXYiLDI5KSxIbSgxMSxBeXQsMSw2LCJtYXQtc2xpZGVyIiwzMCksSG0oMTIsVHl0LDEsNSwibmctdGVtcGxhdGUiLG51bGwsMzEscXkpLE1mKCksTWYoKSxNZigpfWlmKDImdCl7Y29uc3QgdD1GbSgxMyksZT16ZigpO0RjKDUpLGJmKCJjaGVja2VkIixlLnNlbGVjdFRpbWVFbmFibGVkKSxEYygzKSxiZigiY2hlY2tlZCIsZS51c2VSYW5nZVNlbGVjdFRpbWUpLERjKDMpLGJmKCJuZ0lmIiwhZS51c2VSYW5nZVNlbGVjdFRpbWUpKCJuZ0lmRWxzZSIsdCl9fWZ1bmN0aW9uIHp5dCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsInNlY3Rpb24iLDM0KSxDZigxLCJoMyIsMSksUHUoMiwiSW1hZ2VzIiksTWYoKSxDZigzLCJkaXYiLDM1KSxDZig0LCJkaXYiLDM2KSxQdSg1LCJCcmlnaHRuZXNzIiksTWYoKSxDZig2LCJkaXYiLDEwKSxDZig3LCJtYXQtc2xpZGVyIiwzNyksUmYoImlucHV0IiwoZnVuY3Rpb24gZShuKXtQaSh0KTtyZXR1cm4gemYoKS5pbWFnZUJyaWdodG5lc3NTbGlkZXJDaGFuZ2VkJC5lbWl0KG4udmFsdWUpfSkpLE1mKCksQ2YoOCwiYnV0dG9uIiwzOCksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLmltYWdlQnJpZ2h0bmVzc1Jlc2V0LmVtaXQoKX0pKSx2Zig5LCJtYXQtaWNvbiIsMjYpLE1mKCksTWYoKSxNZigpLENmKDEwLCJkaXYiLDM5KSxDZigxMSwiZGl2Iiw0MCksUHUoMTIsIkNvbnRyYXN0IiksTWYoKSxDZigxMywiZGl2IiwxMCksQ2YoMTQsIm1hdC1zbGlkZXIiLDQxKSxSZigiaW5wdXQiLChmdW5jdGlvbiBlKG4pe1BpKHQpO3JldHVybiB6ZigpLmltYWdlQ29udHJhc3RTbGlkZXJDaGFuZ2VkJC5lbWl0KG4udmFsdWUpfSkpLE1mKCksQ2YoMTUsImJ1dHRvbiIsNDIpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5pbWFnZUNvbnRyYXN0UmVzZXQuZW1pdCgpfSkpLHZmKDE2LCJtYXQtaWNvbiIsMjYpLE1mKCksTWYoKSxNZigpLENmKDE3LCJkaXYiLDQzKSxDZigxOCwibWF0LWNoZWNrYm94IiwxNiksUmYoImNoYW5nZSIsKGZ1bmN0aW9uIGUobil7UGkodCk7cmV0dXJuIHpmKCkuaW1hZ2VTaG93QWN0dWFsU2l6ZUNoYW5nZWQuZW1pdChuLmNoZWNrZWQpfSkpLFB1KDE5LCJTaG93IGFjdHVhbCBpbWFnZSBzaXplIiksTWYoKSxNZigpLE1mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7RGMoNyksYmYoIm1heCIsMmUzKSgibWluIiwwKSgic3RlcCIsMTApKCJ2YWx1ZSIsdC5pbWFnZUJyaWdodG5lc3NJbk1pbGxpKSgidGh1bWJMYWJlbCIsITApKCJkaXNwbGF5V2l0aCIsdC5mb3JtYXRNaWxsaVRvWmVyb3RoKSxEYyg3KSxiZigibWF4Iiw1ZTMpKCJtaW4iLDApKCJzdGVwIiwxMCkoInZhbHVlIix0LmltYWdlQ29udHJhc3RJbk1pbGxpKSgidGh1bWJMYWJlbCIsITApKCJkaXNwbGF5V2l0aCIsdC5mb3JtYXRNaWxsaVRvWmVyb3RoKSxEYyg0KSxiZigiY2hlY2tlZCIsdC5pbWFnZVNob3dBY3R1YWxTaXplKX19Unl0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxSeXQpfSxSeXQuybVjbXA9c28oe3R5cGU6Unl0LHNlbGVjdG9yczpbWyJ0Yi1kcm9wZG93biJdXSxpbnB1dHM6e3ZhbHVlOiJ2YWx1ZSIsb3B0aW9uczoib3B0aW9ucyJ9LG91dHB1dHM6e3NlbGVjdGlvbkNoYW5nZToic2VsZWN0aW9uQ2hhbmdlIn0sZGVjbHM6Mix2YXJzOjIsY29uc3RzOltbMywidmFsdWUiLCJzZWxlY3Rpb25DaGFuZ2UiXSxbMywidmFsdWUiLCJkaXNhYmxlZCIsNCwibmdGb3IiLCJuZ0Zvck9mIl0sWzMsInZhbHVlIiwiZGlzYWJsZWQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsIm1hdC1zZWxlY3QiLDApLFJmKCJzZWxlY3Rpb25DaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnNlbGVjdGlvbkNoYW5nZS5lbWl0KGUudmFsdWUpfSkpLEhtKDEsRHl0LDIsMywibWF0LW9wdGlvbiIsMSksTWYoKSksMiZlJiYoYmYoInZhbHVlIixuLnZhbHVlKSxEYygxKSxiZigibmdGb3JPZiIsbi5vcHRpb25zKSl9LGRpcmVjdGl2ZXM6W09ZLHh2LFBMXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MXB4IHNvbGlkICM4ZTk4YTM7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6NnB4fW1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVdOmZvY3Vze291dGxpbmUtY29sb3I6LXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO291dGxpbmUtc3R5bGU6YXV0b30gIC5tYXQtc2VsZWN0LXBhbmVse21heC13aWR0aDo3MHZ3fSAgbWF0LW9wdGlvbi5tYXQtb3B0aW9ue2hlaWdodDphdXRvfSAgLm1hdC1vcHRpb24tdGV4dHt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC1icmVhazpicmVhay1hbGx9J119KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFJ5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJ0Yi1kcm9wZG93biIsdGVtcGxhdGU6J1xuICAgIDxtYXQtc2VsZWN0XG4gICAgICBbdmFsdWVdPSJ2YWx1ZSJcbiAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPSJzZWxlY3Rpb25DaGFuZ2UuZW1pdCgkZXZlbnQudmFsdWUpIlxuICAgID5cbiAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj0ibGV0IG9wdGlvbiBvZiBvcHRpb25zIlxuICAgICAgICBbdmFsdWVdPSJvcHRpb24udmFsdWUiXG4gICAgICAgIFtkaXNhYmxlZF09Im9wdGlvbi5kaXNhYmxlZCJcbiAgICAgID5cbiAgICAgICAge3sgb3B0aW9uLmRpc3BsYXlUZXh0IH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9tYXQtc2VsZWN0PlxuICAnLHN0eWxlVXJsczpbImRyb3Bkb3duX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCx7dmFsdWU6W3t0eXBlOlJffV0sb3B0aW9uczpbe3R5cGU6Ul99XSxzZWxlY3Rpb25DaGFuZ2U6W3t0eXBlOkVffV19KTtjb25zdCBJeXQ9MjUwO2NsYXNzIEh5dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLmxvY2FsZT10LHRoaXMuc2VsZWN0VGltZUVuYWJsZVRvZ2dsZWQ9bmV3IFN5LHRoaXMudXNlUmFuZ2VTZWxlY3RUaW1lVG9nZ2xlZD1uZXcgU3ksdGhpcy5zZWxlY3RUaW1lQ2hhbmdlZD1uZXcgU3ksdGhpcy5Ub29sdGlwU29ydERyb3Bkb3duT3B0aW9ucz1be3ZhbHVlOkpULkFMUEhBQkVUSUNBTCxkaXNwbGF5VGV4dDoiQWxwaGFiZXRpY2FsIn0se3ZhbHVlOkpULkFTQ0VORElORyxkaXNwbGF5VGV4dDoiQXNjZW5kaW5nIn0se3ZhbHVlOkpULkRFU0NFTkRJTkcsZGlzcGxheVRleHQ6IkRlc2NlbmRpbmcifSx7dmFsdWU6SlQuTkVBUkVTVCxkaXNwbGF5VGV4dDoiTmVhcmVzdCJ9XSx0aGlzLnRvb2x0aXBTb3J0Q2hhbmdlZD1uZXcgU3ksdGhpcy5pZ25vcmVPdXRsaWVyc0NoYW5nZWQ9bmV3IFN5LHRoaXMuWEF4aXNUeXBlPVFULHRoaXMuWEF4aXNUeXBlRHJvcGRvd25PcHRpb25zPVt7dmFsdWU6UVQuU1RFUCxkaXNwbGF5VGV4dDoiU3RlcCJ9LHt2YWx1ZTpRVC5SRUxBVElWRSxkaXNwbGF5VGV4dDoiUmVsYXRpdmUifSx7dmFsdWU6UVQuV0FMTF9USU1FLGRpc3BsYXlUZXh0OiJXYWxsIn1dLHRoaXMueEF4aXNUeXBlQ2hhbmdlZD1uZXcgU3ksdGhpcy5NQVhfQ0FSRF9XSURUSF9TTElERVJfVkFMVUU9NzM1LHRoaXMuTUlOX0NBUkRfV0lEVEhfU0xJREVSX1ZBTFVFPTMzNSx0aGlzLmNhcmRXaWR0aFNsaWRlckNoYW5nZWQkPW5ldyBTeSx0aGlzLmNhcmRXaWR0aENoYW5nZWQ9dGhpcy5jYXJkV2lkdGhTbGlkZXJDaGFuZ2VkJC5waXBlKGdlKEl5dCkpLHRoaXMuY2FyZFdpZHRoUmVzZXQ9bmV3IFN5LHRoaXMuSGlzdG9ncmFtTW9kZURyb3Bkb3duT3B0aW9ucz1be3ZhbHVlOmpFLk9GRlNFVCxkaXNwbGF5VGV4dDoiT2Zmc2V0In0se3ZhbHVlOmpFLk9WRVJMQVksZGlzcGxheVRleHQ6Ik92ZXJsYXkifV0sdGhpcy5oaXN0b2dyYW1Nb2RlQ2hhbmdlZD1uZXcgU3ksdGhpcy5NQVhfU01PT1RISU5HX1ZBTFVFPS45OTksdGhpcy5NQVhfU01PT1RISU5HX1NMSURFUl9WQUxVRT0uOTksdGhpcy5zY2FsYXJTbW9vdGhpbmdDb250cm9sQ2hhbmdlZCQ9bmV3IFN5LHRoaXMuc2NhbGFyU21vb3RoaW5nQ2hhbmdlZD10aGlzLnNjYWxhclNtb290aGluZ0NvbnRyb2xDaGFuZ2VkJC5waXBlKGdlKEl5dCkpLHRoaXMuc2NhbGFyUGFydGl0aW9uWFRvZ2dsZWQ9bmV3IFN5LHRoaXMuaW1hZ2VCcmlnaHRuZXNzU2xpZGVyQ2hhbmdlZCQ9bmV3IFN5LHRoaXMuaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaUNoYW5nZWQ9dGhpcy5pbWFnZUJyaWdodG5lc3NTbGlkZXJDaGFuZ2VkJC5waXBlKGdlKEl5dCkpLHRoaXMuaW1hZ2VCcmlnaHRuZXNzUmVzZXQ9bmV3IFN5LHRoaXMuaW1hZ2VDb250cmFzdFNsaWRlckNoYW5nZWQkPW5ldyBTeSx0aGlzLmltYWdlQ29udHJhc3RJbk1pbGxpQ2hhbmdlZD10aGlzLmltYWdlQ29udHJhc3RTbGlkZXJDaGFuZ2VkJC5waXBlKGdlKEl5dCkpLHRoaXMuaW1hZ2VDb250cmFzdFJlc2V0PW5ldyBTeSx0aGlzLmltYWdlU2hvd0FjdHVhbFNpemVDaGFuZ2VkPW5ldyBTeX1vblNjYWxhclNtb290aGluZ0lucHV0KHQpe2NvbnN0IGU9dC50YXJnZXQ7aWYoIWUudmFsdWUpcmV0dXJuO2NvbnN0IG49TWF0aC5taW4oTWF0aC5tYXgoMCxwYXJzZUZsb2F0KGUudmFsdWUpKSwuOTk5KTtuIT09cGFyc2VGbG9hdChlLnZhbHVlKSYmKGUudmFsdWU9U3RyaW5nKG4pKSx0aGlzLnNjYWxhclNtb290aGluZ0NvbnRyb2xDaGFuZ2VkJC5lbWl0KG4pfWZvcm1hdE1pbGxpVG9aZXJvdGgodCl7cmV0dXJuIGZ2KHQvMWUzLHRoaXMubG9jYWxlfHwiZW4tVVMiLCIxLjAtMiIpfW9uU3RlcFN0YXJ0Q2hhbmdlZCh0KXt0aGlzLnNlbGVjdFRpbWVDaGFuZ2VkLmVtaXQoe3N0YXJ0OntzdGVwOnR9LGVuZDpudWxsfSl9b25TdGVwUmFuZ2VDaGFuZ2VkKHtsb3dlclZhbHVlOnQsdXBwZXJWYWx1ZTplfSl7dGhpcy5zZWxlY3RUaW1lQ2hhbmdlZC5lbWl0KHtzdGFydDp7c3RlcDp0fSxlbmQ6e3N0ZXA6ZX19KX19SHl0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxIeXQpKGdmKFFfKSl9LEh5dC7JtWNtcD1zbyh7dHlwZTpIeXQsc2VsZWN0b3JzOltbIm1ldHJpY3MtZGFzaGJvYXJkLXNldHRpbmdzLWNvbXBvbmVudCJdXSxpbnB1dHM6e2lzQ2FyZFdpZHRoU2V0dGluZ0VuYWJsZWQ6ImlzQ2FyZFdpZHRoU2V0dGluZ0VuYWJsZWQiLGlzTGlua2VkVGltZUZlYXR1cmVFbmFibGVkOiJpc0xpbmtlZFRpbWVGZWF0dXJlRW5hYmxlZCIsc2VsZWN0VGltZUVuYWJsZWQ6InNlbGVjdFRpbWVFbmFibGVkIix1c2VSYW5nZVNlbGVjdFRpbWU6InVzZVJhbmdlU2VsZWN0VGltZSIsc2VsZWN0ZWRUaW1lOiJzZWxlY3RlZFRpbWUiLHN0ZXBNaW5NYXg6InN0ZXBNaW5NYXgiLGlzSW1hZ2VTdXBwb3J0RW5hYmxlZDoiaXNJbWFnZVN1cHBvcnRFbmFibGVkIix0b29sdGlwU29ydDoidG9vbHRpcFNvcnQiLGlnbm9yZU91dGxpZXJzOiJpZ25vcmVPdXRsaWVycyIseEF4aXNUeXBlOiJ4QXhpc1R5cGUiLGNhcmRNaW5XaWR0aDoiY2FyZE1pbldpZHRoIixoaXN0b2dyYW1Nb2RlOiJoaXN0b2dyYW1Nb2RlIixzY2FsYXJTbW9vdGhpbmc6InNjYWxhclNtb290aGluZyIsc2NhbGFyUGFydGl0aW9uWDoic2NhbGFyUGFydGl0aW9uWCIsaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaToiaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaSIsaW1hZ2VDb250cmFzdEluTWlsbGk6ImltYWdlQ29udHJhc3RJbk1pbGxpIixpbWFnZVNob3dBY3R1YWxTaXplOiJpbWFnZVNob3dBY3R1YWxTaXplIn0sb3V0cHV0czp7c2VsZWN0VGltZUVuYWJsZVRvZ2dsZWQ6InNlbGVjdFRpbWVFbmFibGVUb2dnbGVkIix1c2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkOiJ1c2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkIixzZWxlY3RUaW1lQ2hhbmdlZDoic2VsZWN0VGltZUNoYW5nZWQiLHRvb2x0aXBTb3J0Q2hhbmdlZDoidG9vbHRpcFNvcnRDaGFuZ2VkIixpZ25vcmVPdXRsaWVyc0NoYW5nZWQ6Imlnbm9yZU91dGxpZXJzQ2hhbmdlZCIseEF4aXNUeXBlQ2hhbmdlZDoieEF4aXNUeXBlQ2hhbmdlZCIsY2FyZFdpZHRoQ2hhbmdlZDoiY2FyZFdpZHRoQ2hhbmdlZCIsY2FyZFdpZHRoUmVzZXQ6ImNhcmRXaWR0aFJlc2V0IixoaXN0b2dyYW1Nb2RlQ2hhbmdlZDoiaGlzdG9ncmFtTW9kZUNoYW5nZWQiLHNjYWxhclNtb290aGluZ0NoYW5nZWQ6InNjYWxhclNtb290aGluZ0NoYW5nZWQiLHNjYWxhclBhcnRpdGlvblhUb2dnbGVkOiJzY2FsYXJQYXJ0aXRpb25YVG9nZ2xlZCIsaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaUNoYW5nZWQ6ImltYWdlQnJpZ2h0bmVzc0luTWlsbGlDaGFuZ2VkIixpbWFnZUJyaWdodG5lc3NSZXNldDoiaW1hZ2VCcmlnaHRuZXNzUmVzZXQiLGltYWdlQ29udHJhc3RJbk1pbGxpQ2hhbmdlZDoiaW1hZ2VDb250cmFzdEluTWlsbGlDaGFuZ2VkIixpbWFnZUNvbnRyYXN0UmVzZXQ6ImltYWdlQ29udHJhc3RSZXNldCIsaW1hZ2VTaG93QWN0dWFsU2l6ZUNoYW5nZWQ6ImltYWdlU2hvd0FjdHVhbFNpemVDaGFuZ2VkIn0sZGVjbHM6MzcsdmFyczoxOCxjb25zdHM6ZnVuY3Rpb24oKXtsZXQgdCxlLG47aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe3Q9Z29vZy5nZXRNc2coIlJlc2V0IGNhcmQgd2lkdGgiKX1lbHNlIHQ9JGxvY2FsaXplYDpBIGJ1dHRvbiB0byByZXNldCB0aGUgY2FyZCB3aWR0aCBzZXR0aW5n4pCfY2NkYzk2YjAwM2ZiYmE5MGRiN2E2OTU5YjViMjZlM2NjNThmN2Q4MOKQnzUyMjMxMTEwNDc5NjgxMDI0NjY6UmVzZXQgY2FyZCB3aWR0aGA7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe2U9Z29vZy5nZXRNc2coIlJlc2V0IGJyaWdodG5lc3MiKX1lbHNlIGU9JGxvY2FsaXplYDpBIGJ1dHRvbiB0byByZXNldCB0aGUgaW1hZ2UgYnJpZ2h0bmVzcyBzZXR0aW5n4pCfYzQ4MmIzYTQ3ZWEwOTc1ZmE4YmUwMWFmYjNmYmVjOWI3NjYyOGJkN+KQnzExODkxNjE4NTcyNDAzNzgzOTU6UmVzZXQgYnJpZ2h0bmVzc2A7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe249Z29vZy5nZXRNc2coIlJlc2V0IGNvbnRyYXN0Iil9ZWxzZSBuPSRsb2NhbGl6ZWA6QSBidXR0b24gdG8gcmVzZXQgdGhlIGltYWdlIGNvbnRyYXN0IHNldHRpbmfikJ9lZDcxMmE4YjkyNzA0MWJlMTUyNTJiMjllYjUyMWViYjEzNzRiYWQ44pCfNTM3MDcwMzM0MjkyMzYxMTk1NTpSZXNldCBjb250cmFzdGA7cmV0dXJuW1sxLCJnZW5lcmFsIl0sWzEsInNlY3Rpb24tdGl0bGUiXSxbMSwiY29udHJvbC1yb3ciLCJ4LWF4aXMtdHlwZSJdLFsiaWQiLCJ4LWF4aXMtdHlwZS1sYWJlbCIsMSwiY29udHJvbC1uYW1lIl0sWzMsInZhbHVlIiwib3B0aW9ucyIsInNlbGVjdGlvbkNoYW5nZSJdLFsiY2xhc3MiLCJjb250cm9sLXJvdyBjYXJkLXdpZHRoIiw0LCJuZ0lmIl0sWyJjbGFzcyIsImNvbnRyb2wtcm93IGxpbmtlZC10aW1lIiw0LCJuZ0lmIl0sWzEsInNjYWxhcnMiXSxbMSwiY29udHJvbC1yb3ciLCJzY2FsYXJzLXNtb290aGluZyJdLFsiaWQiLCJzY2FsYXJzLXNtb290aGluZy1sYWJlbCIsMSwiY29udHJvbC1uYW1lIl0sWzEsInNsaWRlci1yb3ciXSxbImFyaWEtbGFiZWxsZWRieSIsInNjYWxhcnMtc21vb3RoaW5nLWxhYmVsIiwiY29sb3IiLCJwcmltYXJ5IiwzLCJtYXgiLCJtaW4iLCJzdGVwIiwidmFsdWUiLCJ0aHVtYkxhYmVsIiwiaW5wdXQiXSxbImFyaWEtbGFiZWxsZWRieSIsInNjYWxhcnMtc21vb3RoaW5nLWxhYmVsIiwidHlwZSIsIm51bWJlciIsIm1pbiIsIjAiLCJzdGVwIiwiMC4wMDEiLDEsInNsaWRlci1pbnB1dCIsMywibWF4IiwidmFsdWUiLCJpbnB1dCJdLFsxLCJjb250cm9sLXJvdyIsInRvb2x0aXAtc29ydCJdLFsxLCJjb250cm9sLW5hbWUiXSxbMSwiY29udHJvbC1yb3ciLCJzY2FsYXJzLWlnbm9yZS1vdXRsaWVycyJdLFszLCJjaGVja2VkIiwiY2hhbmdlIl0sWzEsImNvbnRyb2wtcm93Iiwic2NhbGFycy1wYXJ0aXRpb24teCJdLFsic3ZnSWNvbiIsImhlbHBfb3V0bGluZV8yNHB4IiwidGl0bGUiLCJOb24tbW9ub3RvbmljIHN0ZXBzIGNhbiBvY2N1ciB3aGVuIHJldXNpbmcgYSBsb2dkaXIgd2l0aCBtdWx0aXBsZSBzdW1tYXJ5IHdyaXRlcnMgYW5kIG92ZXJsYXBwaW5nIHN0ZXBzLiBMaW5lIGNoYXJ0cywgd2l0aG91dCB0aGlzIG9wdGlvbiBlbmFibGVkLCBjYW4gYXBwZWFyIHppZyB6YWdnZWQuIFRoaXMgaXMgY29tbW9uIHdoZW4gcmVzdGFydGluZyBmcm9tIGEgY2hlY2twb2ludC5cblxuV2hlbiBlbmFibGVkLCBhIG5vbi1tb25vdG9uaWMgdGltZSBzZXJpZXMgY29tcG9zZWQgb2YgTiBtb25vdG9uaWMgcGllY2VzIHdpbGwgYmUgc2hvd24gYXMgTiBtb25vdG9uaWMgbGluZXMuIiwxLCJpbmZvIl0sWzEsIkhpc3RvZ3JhbXMiXSxbMSwiY29udHJvbC1yb3ciLCJoaXN0b2dyYW0tbW9kZSJdLFsiY2xhc3MiLCJpbWFnZSIsNCwibmdJZiJdLFsxLCJjb250cm9sLXJvdyIsImNhcmQtd2lkdGgiXSxbImlkIiwiY2FyZC13aWR0aC1sYWJlbCIsMSwiY29udHJvbC1uYW1lIl0sWyJhcmlhLWxhYmVsbGVkYnkiLCJjYXJkLXdpZHRoLWxhYmVsIiwiY29sb3IiLCJwcmltYXJ5IiwzLCJtYXgiLCJtaW4iLCJzdGVwIiwidmFsdWUiLCJ0aHVtYkxhYmVsIiwiaW5wdXQiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsInRpdGxlIiwiUmVzZXQgY2FyZCB3aWR0aCIsMSwicmVzZXQtYnV0dG9uIiwzLCJjbGljayJdLFsic3ZnSWNvbiIsInNldHRpbmdzX2JhY2t1cF9yZXN0b3JlXzI0cHgiXSxbMSwiY29udHJvbC1yb3ciLCJsaW5rZWQtdGltZSJdLFsxLCJjb250cm9scyJdLFsxLCJzdGVwLXNlbGVjdG9yIl0sWyJjb2xvciIsInByaW1hcnkiLDMsImRpc2FibGVkIiwibWluIiwibWF4Iiwic3RlcCIsInZhbHVlIiwidGh1bWJMYWJlbCIsImlucHV0Iiw0LCJuZ0lmIiwibmdJZkVsc2UiXSxbInJhbmdlIiwiIl0sWyJjb2xvciIsInByaW1hcnkiLDMsImRpc2FibGVkIiwibWluIiwibWF4Iiwic3RlcCIsInZhbHVlIiwidGh1bWJMYWJlbCIsImlucHV0Il0sWzMsIm1pbiIsIm1heCIsImxvd2VyVmFsdWUiLCJ1cHBlclZhbHVlIiwidmFsdWUiXSxbMSwiaW1hZ2UiXSxbMSwiY29udHJvbC1yb3ciLCJpbWFnZS1icmlnaHRuZXNzIl0sWyJpZCIsImltYWdlLWJyaWdodG5lc3MtbGFiZWwiLDEsImNvbnRyb2wtbmFtZSJdLFsiYXJpYS1sYWJlbGxlZGJ5IiwiaW1hZ2UtYnJpZ2h0bmVzcy1sYWJlbCIsImNvbG9yIiwicHJpbWFyeSIsMywibWF4IiwibWluIiwic3RlcCIsInZhbHVlIiwidGh1bWJMYWJlbCIsImRpc3BsYXlXaXRoIiwiaW5wdXQiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLGUsInRpdGxlIiwiUmVzZXQgYnJpZ2h0bmVzcyIsMSwicmVzZXQtYnV0dG9uIiwzLCJjbGljayJdLFsxLCJjb250cm9sLXJvdyIsImltYWdlLWNvbnRyYXN0Il0sWyJpZCIsImltYWdlLWNvbnN0cmFzdC1sYWJlbCIsMSwiY29udHJvbC1uYW1lIl0sWyJhcmlhLWxhYmVsbGVkYnkiLCJpbWFnZS1jb25zdHJhc3QtbGFiZWwiLCJjb2xvciIsInByaW1hcnkiLDMsIm1heCIsIm1pbiIsInN0ZXAiLCJ2YWx1ZSIsInRodW1iTGFiZWwiLCJkaXNwbGF5V2l0aCIsImlucHV0Il0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJhcmlhLWxhYmVsIixuLCJ0aXRsZSIsIlJlc2V0IGNvbnRyYXN0IiwxLCJyZXNldC1idXR0b24iLDMsImNsaWNrIl0sWzEsImNvbnRyb2wtcm93IiwiaW1hZ2Utc2hvdy1hY3R1YWwtc2l6ZSJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsInNlY3Rpb24iLDApLENmKDEsImgzIiwxKSxQdSgyLCJHZW5lcmFsIiksTWYoKSxDZigzLCJkaXYiLDIpLENmKDQsImRpdiIsMyksUHUoNSwiSG9yaXpvbnRhbCBBeGlzIiksTWYoKSxDZig2LCJ0Yi1kcm9wZG93biIsNCksUmYoInNlbGVjdGlvbkNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ueEF4aXNUeXBlQ2hhbmdlZC5lbWl0KGUpfSkpLE1mKCksTWYoKSxIbSg3LEV5dCw3LDUsImRpdiIsNSksSG0oOCxOeXQsMTQsNCwiZGl2Iiw2KSxNZigpLENmKDksInNlY3Rpb24iLDcpLENmKDEwLCJoMyIsMSksUHUoMTEsIlNjYWxhcnMiKSxNZigpLENmKDEyLCJkaXYiLDgpLENmKDEzLCJkaXYiLDkpLFB1KDE0LCJTbW9vdGhpbmciKSxNZigpLENmKDE1LCJkaXYiLDEwKSxDZigxNiwibWF0LXNsaWRlciIsMTEpLFJmKCJpbnB1dCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uc2NhbGFyU21vb3RoaW5nQ29udHJvbENoYW5nZWQkLmVtaXQoZS52YWx1ZSl9KSksTWYoKSxDZigxNywiaW5wdXQiLDEyKSxSZigiaW5wdXQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uU2NhbGFyU21vb3RoaW5nSW5wdXQoZSl9KSksTWYoKSxNZigpLE1mKCksQ2YoMTgsImRpdiIsMTMpLENmKDE5LCJkaXYiLDE0KSxQdSgyMCwiVG9vbHRpcCBzb3J0aW5nIG1ldGhvZCIpLE1mKCksQ2YoMjEsInRiLWRyb3Bkb3duIiw0KSxSZigic2VsZWN0aW9uQ2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi50b29sdGlwU29ydENoYW5nZWQuZW1pdChlKX0pKSxNZigpLE1mKCksQ2YoMjIsImRpdiIsMTUpLENmKDIzLCJtYXQtY2hlY2tib3giLDE2KSxSZigiY2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5pZ25vcmVPdXRsaWVyc0NoYW5nZWQuZW1pdChlLmNoZWNrZWQpfSkpLFB1KDI0LCJJZ25vcmUgb3V0bGllcnMgaW4gY2hhcnQgc2NhbGluZyIpLE1mKCksTWYoKSxDZigyNSwiZGl2IiwxNyksQ2YoMjYsIm1hdC1jaGVja2JveCIsMTYpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uc2NhbGFyUGFydGl0aW9uWFRvZ2dsZWQuZW1pdCgpfSkpLFB1KDI3LCJQYXJ0aXRpb24gbm9uLW1vbm90b25pYyBYIGF4aXMiKSxNZigpLHZmKDI4LCJtYXQtaWNvbiIsMTgpLE1mKCksTWYoKSxDZigyOSwic2VjdGlvbiIsMTkpLENmKDMwLCJoMyIsMSksUHUoMzEsIkhpc3RvZ3JhbXMiKSxNZigpLENmKDMyLCJkaXYiLDIwKSxDZigzMywiZGl2IiwxNCksUHUoMzQsIk1vZGUiKSxNZigpLENmKDM1LCJ0Yi1kcm9wZG93biIsNCksUmYoInNlbGVjdGlvbkNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uaGlzdG9ncmFtTW9kZUNoYW5nZWQuZW1pdChlKX0pKSxNZigpLE1mKCksTWYoKSxIbSgzNix6eXQsMjAsMTMsInNlY3Rpb24iLDIxKSksMiZlJiYoRGMoNiksYmYoInZhbHVlIixuLnhBeGlzVHlwZSkoIm9wdGlvbnMiLG4uWEF4aXNUeXBlRHJvcGRvd25PcHRpb25zKSxEYygxKSxiZigibmdJZiIsbi5pc0NhcmRXaWR0aFNldHRpbmdFbmFibGVkKSxEYygxKSxiZigibmdJZiIsbi5pc0xpbmtlZFRpbWVGZWF0dXJlRW5hYmxlZCYmbi54QXhpc1R5cGU9PW4uWEF4aXNUeXBlLlNURVApLERjKDgpLGJmKCJtYXgiLG4uTUFYX1NNT09USElOR19TTElERVJfVkFMVUUpKCJtaW4iLDApKCJzdGVwIiwuMDEpKCJ2YWx1ZSIsbi5zY2FsYXJTbW9vdGhpbmcpKCJ0aHVtYkxhYmVsIiwhMCksRGMoMSksYmYoIm1heCIsbi5NQVhfU01PT1RISU5HX1ZBTFVFKSgidmFsdWUiLG4uc2NhbGFyU21vb3RoaW5nKSxEYyg0KSxiZigidmFsdWUiLG4udG9vbHRpcFNvcnQpKCJvcHRpb25zIixuLlRvb2x0aXBTb3J0RHJvcGRvd25PcHRpb25zKSxEYygyKSxiZigiY2hlY2tlZCIsbi5pZ25vcmVPdXRsaWVycyksRGMoMyksYmYoImNoZWNrZWQiLG4uc2NhbGFyUGFydGl0aW9uWCksRGMoOSksYmYoInZhbHVlIixuLmhpc3RvZ3JhbU1vZGUpKCJvcHRpb25zIixuLkhpc3RvZ3JhbU1vZGVEcm9wZG93bk9wdGlvbnMpLERjKDEpLGJmKCJuZ0lmIixuLmlzSW1hZ2VTdXBwb3J0RW5hYmxlZCkpfSxkaXJlY3RpdmVzOltSeXQsUHYsd0osYlosTXEsTkwsRTJdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17Y29sb3I6IzYxNjE2MTtmb250LXNpemU6MTJweH1ib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9c2VjdGlvbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtwYWRkaW5nOjE2cHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgc2VjdGlvbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIHNlY3Rpb25bX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9LnNlY3Rpb24tdGl0bGVbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiMyMTIxMjE7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDpub3JtYWw7bWFyZ2luOjAgMCAxMnB4IDB9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnNlY3Rpb24tdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc2VjdGlvbi10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6I2ZmZn1zZWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jb250cm9sLXJvd1tfbmdjb250ZW50LSVDT01QJV06bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tYm90dG9tOjEycHh9LmNvbnRyb2wtbmFtZVtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLWJvdHRvbTo4cHh9LnNsaWRlci1yb3dbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjI4cHh9LnNsaWRlci1yb3dbX25nY29udGVudC0lQ09NUCVdICAgLnJlc2V0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLWxlZnQ6NnB4fS5zbGlkZXItcm93W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5zbGlkZXItaW5wdXRbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6aW5oZXJpdDtib3JkZXI6MXB4IHNvbGlkICM4ZTk4YTM7Ym9yZGVyLXJhZGl1czoycHg7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOmluaGVyaXQ7aGVpZ2h0OjEwMCU7bWFyZ2luLWxlZnQ6MTJweDtwYWRkaW5nOjAgNHB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5zbGlkZXItcm93W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5zbGlkZXItaW5wdXRbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc2xpZGVyLXJvd1tfbmdjb250ZW50LSVDT01QJV0gICAuc2xpZGVyLWlucHV0W19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItY29sb3I6IzQyNTA2Nn0uc2NhbGFycy1zbW9vdGhpbmdbX25nY29udGVudC0lQ09NUCVdICAgLnNsaWRlci1pbnB1dFtfbmdjb250ZW50LSVDT01QJV17ZmxleDpub25lO3dpZHRoOjVlbX0uc2NhbGFycy1wYXJ0aXRpb24teFtfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uc2NhbGFycy1wYXJ0aXRpb24teFtfbmdjb250ZW50LSVDT01QJV0gICAuaW5mb1tfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjE1cHg7bWFyZ2luLWxlZnQ6NXB4O3dpZHRoOjE1cHh9bWF0LXNsaWRlcltfbmdjb250ZW50LSVDT01QJV17ZmxleDoxO21hcmdpbi1sZWZ0Oi04cHg7bWFyZ2luLXJpZ2h0Oi04cHh9dGItZHJvcGRvd25bX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6YmxvY2t9LmxpbmtlZC10aW1lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5zdGVwLXNlbGVjdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjAgMTBweH0ubGlua2VkLXRpbWVbX25nY29udGVudC0lQ09NUCVdICAgbWF0LXNsaWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5saW5rZWQtdGltZVtfbmdjb250ZW50LSVDT01QJV0gICB0Yi1yYW5nZS1pbnB1dFtfbmdjb250ZW50LSVDT01QJV17d2lkdGg6MTAwJX0ubGlua2VkLXRpbWVbX25nY29udGVudC0lQ09NUCVdICAgLmNvbnRyb2xzW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjVweH0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSHl0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtZGFzaGJvYXJkLXNldHRpbmdzLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6InNldHRpbmdzX3ZpZXdfY29tcG9uZW50Lm5nLmh0bWwiLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsc3R5bGVVcmxzOlsic2V0dGluZ3Nfdmlld19jb21wb25lbnQuY3NzIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbUV9dfV19XX0pLHtpc0NhcmRXaWR0aFNldHRpbmdFbmFibGVkOlt7dHlwZTpSX31dLGlzTGlua2VkVGltZUZlYXR1cmVFbmFibGVkOlt7dHlwZTpSX31dLHNlbGVjdFRpbWVFbmFibGVkOlt7dHlwZTpSX31dLHVzZVJhbmdlU2VsZWN0VGltZTpbe3R5cGU6Ul99XSxzZWxlY3RlZFRpbWU6W3t0eXBlOlJffV0sc3RlcE1pbk1heDpbe3R5cGU6Ul99XSxzZWxlY3RUaW1lRW5hYmxlVG9nZ2xlZDpbe3R5cGU6RV99XSx1c2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkOlt7dHlwZTpFX31dLHNlbGVjdFRpbWVDaGFuZ2VkOlt7dHlwZTpFX31dLGlzSW1hZ2VTdXBwb3J0RW5hYmxlZDpbe3R5cGU6Ul99XSx0b29sdGlwU29ydDpbe3R5cGU6Ul99XSx0b29sdGlwU29ydENoYW5nZWQ6W3t0eXBlOkVffV0saWdub3JlT3V0bGllcnM6W3t0eXBlOlJffV0saWdub3JlT3V0bGllcnNDaGFuZ2VkOlt7dHlwZTpFX31dLHhBeGlzVHlwZTpbe3R5cGU6Ul99XSx4QXhpc1R5cGVDaGFuZ2VkOlt7dHlwZTpFX31dLGNhcmRNaW5XaWR0aDpbe3R5cGU6Ul99XSxjYXJkV2lkdGhDaGFuZ2VkOlt7dHlwZTpFX31dLGNhcmRXaWR0aFJlc2V0Olt7dHlwZTpFX31dLGhpc3RvZ3JhbU1vZGU6W3t0eXBlOlJffV0saGlzdG9ncmFtTW9kZUNoYW5nZWQ6W3t0eXBlOkVffV0sc2NhbGFyU21vb3RoaW5nOlt7dHlwZTpSX31dLHNjYWxhclNtb290aGluZ0NoYW5nZWQ6W3t0eXBlOkVffV0sc2NhbGFyUGFydGl0aW9uWDpbe3R5cGU6Ul99XSxzY2FsYXJQYXJ0aXRpb25YVG9nZ2xlZDpbe3R5cGU6RV99XSxpbWFnZUJyaWdodG5lc3NJbk1pbGxpOlt7dHlwZTpSX31dLGltYWdlQnJpZ2h0bmVzc0luTWlsbGlDaGFuZ2VkOlt7dHlwZTpFX31dLGltYWdlQnJpZ2h0bmVzc1Jlc2V0Olt7dHlwZTpFX31dLGltYWdlQ29udHJhc3RJbk1pbGxpOlt7dHlwZTpSX31dLGltYWdlQ29udHJhc3RJbk1pbGxpQ2hhbmdlZDpbe3R5cGU6RV99XSxpbWFnZUNvbnRyYXN0UmVzZXQ6W3t0eXBlOkVffV0saW1hZ2VTaG93QWN0dWFsU2l6ZTpbe3R5cGU6Ul99XSxpbWFnZVNob3dBY3R1YWxTaXplQ2hhbmdlZDpbe3R5cGU6RV99XX0pO2NsYXNzIEZ5dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5pc0NhcmRXaWR0aFNldHRpbmdFbmFibGVkJD10aGlzLnN0b3JlLnNlbGVjdChxRCksdGhpcy5pc0xpbmtlZFRpbWVGZWF0dXJlRW5hYmxlZCQ9dGhpcy5zdG9yZS5zZWxlY3QoR0QpLHRoaXMuc2VsZWN0VGltZUVuYWJsZWQkPXRoaXMuc3RvcmUuc2VsZWN0KGt6KSx0aGlzLnVzZVJhbmdlU2VsZWN0VGltZSQ9dGhpcy5zdG9yZS5zZWxlY3QoU3opLHRoaXMuc2VsZWN0ZWRUaW1lJD10aGlzLnN0b3JlLnNlbGVjdChSeiksdGhpcy5zdGVwTWluTWF4JD10aGlzLnN0b3JlLnNlbGVjdChEeiksdGhpcy5pc0ltYWdlU3VwcG9ydEVuYWJsZWQkPXRoaXMuc3RvcmUuc2VsZWN0KE5EKS5waXBlKHVlKEJvb2xlYW4pLHZlKDEpLHFlKHRoaXMuc3RvcmUuc2VsZWN0KFdEKSksVnQoKChbLHRdKT0+dCkpKSx0aGlzLnRvb2x0aXBTb3J0JD10aGlzLnN0b3JlLnNlbGVjdChoeiksdGhpcy5pZ25vcmVPdXRsaWVycyQ9dGhpcy5zdG9yZS5zZWxlY3QoYnopLHRoaXMueEF4aXNUeXBlJD10aGlzLnN0b3JlLnNlbGVjdCh5eiksdGhpcy5jYXJkTWluV2lkdGgkPXRoaXMuc3RvcmUuc2VsZWN0KGd6KSx0aGlzLmhpc3RvZ3JhbU1vZGUkPXRoaXMuc3RvcmUuc2VsZWN0KF96KSx0aGlzLnNjYWxhclNtb290aGluZyQ9dGhpcy5zdG9yZS5zZWxlY3QoQ3opLHRoaXMuc2NhbGFyUGFydGl0aW9uWCQ9dGhpcy5zdG9yZS5zZWxlY3QoTXopLHRoaXMuaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaSQ9dGhpcy5zdG9yZS5zZWxlY3QodnopLHRoaXMuaW1hZ2VDb250cmFzdEluTWlsbGkkPXRoaXMuc3RvcmUuc2VsZWN0KHh6KSx0aGlzLmltYWdlU2hvd0FjdHVhbFNpemUkPXRoaXMuc3RvcmUuc2VsZWN0KE96KX1vblRvb2x0aXBTb3J0Q2hhbmdlZCh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKGdBKHtzb3J0OnR9KSl9b25JZ25vcmVPdXRsaWVyc0NoYW5nZWQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKGhBKCkpfW9uWEF4aXNUeXBlQ2hhbmdlZCh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKGJBKHt4QXhpc1R5cGU6dH0pKX1vbkNhcmRXaWR0aENoYW5nZWQodCl7dGhpcy5zdG9yZS5kaXNwYXRjaCh5QSh7Y2FyZE1pbldpZHRoOnR9KSl9b25DYXJkV2lkdGhSZXNldCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goX0EoKSl9b25IaXN0b2dyYW1Nb2RlQ2hhbmdlZCh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKGtBKHtoaXN0b2dyYW1Nb2RlOnR9KSl9b25TY2FsYXJTbW9vdGhpbmdDaGFuZ2VkKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goQ0Eoe3Ntb290aGluZzp0fSkpfW9uU2NhbGFyUGFydGl0aW9uWFRvZ2dsZWQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKE1BKCkpfW9uSW1hZ2VCcmlnaHRuZXNzSW5NaWxsaUNoYW5nZWQodCl7dGhpcy5zdG9yZS5kaXNwYXRjaCh2QSh7YnJpZ2h0bmVzc0luTWlsbGk6dH0pKX1vbkltYWdlQnJpZ2h0bmVzc1Jlc2V0KCl7dGhpcy5zdG9yZS5kaXNwYXRjaChPQSgpKX1vbkltYWdlQ29udHJhc3RSZXNldCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goUEEoKSl9b25JbWFnZUNvbnRyYXN0SW5NaWxsaUNoYW5nZWQodCl7dGhpcy5zdG9yZS5kaXNwYXRjaCh4QSh7Y29udHJhc3RJbk1pbGxpOnR9KSl9b25JbWFnZVNob3dBY3R1YWxTaXplQ2hhbmdlZCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2god0EoKSl9b25TZWxlY3RUaW1lRW5hYmxlVG9nZ2xlZCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goQkEoKSl9b25Vc2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkKCl7dGhpcy5zdG9yZS5kaXNwYXRjaChWQSgpKX1vblNlbGVjdFRpbWVDaGFuZ2VkKHQpe3ZhciBlO3RoaXMuc3RvcmUuZGlzcGF0Y2goRkEoe3N0YXJ0U3RlcDp0LnN0YXJ0LnN0ZXAsZW5kU3RlcDpudWxsPT09KGU9dC5lbmQpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnN0ZXB9KSl9fUZ5dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Rnl0KShnZihpUykpfSxGeXQuybVjbXA9c28oe3R5cGU6Rnl0LHNlbGVjdG9yczpbWyJtZXRyaWNzLWRhc2hib2FyZC1zZXR0aW5ncyJdXSxkZWNsczoxOCx2YXJzOjUxLGNvbnN0czpbWzMsImlzSW1hZ2VTdXBwb3J0RW5hYmxlZCIsInRvb2x0aXBTb3J0IiwiaWdub3JlT3V0bGllcnMiLCJ4QXhpc1R5cGUiLCJpc0NhcmRXaWR0aFNldHRpbmdFbmFibGVkIiwiY2FyZE1pbldpZHRoIiwiaGlzdG9ncmFtTW9kZSIsInNjYWxhclNtb290aGluZyIsInNjYWxhclBhcnRpdGlvblgiLCJpbWFnZUJyaWdodG5lc3NJbk1pbGxpIiwiaW1hZ2VDb250cmFzdEluTWlsbGkiLCJpbWFnZVNob3dBY3R1YWxTaXplIiwiaXNMaW5rZWRUaW1lRmVhdHVyZUVuYWJsZWQiLCJzZWxlY3RUaW1lRW5hYmxlZCIsInNlbGVjdGVkVGltZSIsInVzZVJhbmdlU2VsZWN0VGltZSIsInN0ZXBNaW5NYXgiLCJ0b29sdGlwU29ydENoYW5nZWQiLCJpZ25vcmVPdXRsaWVyc0NoYW5nZWQiLCJ4QXhpc1R5cGVDaGFuZ2VkIiwiY2FyZFdpZHRoQ2hhbmdlZCIsImNhcmRXaWR0aFJlc2V0IiwiaGlzdG9ncmFtTW9kZUNoYW5nZWQiLCJzY2FsYXJTbW9vdGhpbmdDaGFuZ2VkIiwic2NhbGFyUGFydGl0aW9uWFRvZ2dsZWQiLCJpbWFnZUJyaWdodG5lc3NJbk1pbGxpQ2hhbmdlZCIsImltYWdlQnJpZ2h0bmVzc1Jlc2V0IiwiaW1hZ2VDb250cmFzdEluTWlsbGlDaGFuZ2VkIiwiaW1hZ2VDb250cmFzdFJlc2V0IiwiaW1hZ2VTaG93QWN0dWFsU2l6ZUNoYW5nZWQiLCJzZWxlY3RUaW1lRW5hYmxlVG9nZ2xlZCIsInVzZVJhbmdlU2VsZWN0VGltZVRvZ2dsZWQiLCJzZWxlY3RUaW1lQ2hhbmdlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWV0cmljcy1kYXNoYm9hcmQtc2V0dGluZ3MtY29tcG9uZW50IiwwKSxSZigidG9vbHRpcFNvcnRDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblRvb2x0aXBTb3J0Q2hhbmdlZChlKX0pKSgiaWdub3JlT3V0bGllcnNDaGFuZ2VkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uSWdub3JlT3V0bGllcnNDaGFuZ2VkKCl9KSkoInhBeGlzVHlwZUNoYW5nZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uWEF4aXNUeXBlQ2hhbmdlZChlKX0pKSgiY2FyZFdpZHRoQ2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25DYXJkV2lkdGhDaGFuZ2VkKGUpfSkpKCJjYXJkV2lkdGhSZXNldCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vbkNhcmRXaWR0aFJlc2V0KCl9KSkoImhpc3RvZ3JhbU1vZGVDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkhpc3RvZ3JhbU1vZGVDaGFuZ2VkKGUpfSkpKCJzY2FsYXJTbW9vdGhpbmdDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblNjYWxhclNtb290aGluZ0NoYW5nZWQoZSl9KSkoInNjYWxhclBhcnRpdGlvblhUb2dnbGVkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uU2NhbGFyUGFydGl0aW9uWFRvZ2dsZWQoKX0pKSgiaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaUNoYW5nZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uSW1hZ2VCcmlnaHRuZXNzSW5NaWxsaUNoYW5nZWQoZSl9KSkoImltYWdlQnJpZ2h0bmVzc1Jlc2V0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uSW1hZ2VCcmlnaHRuZXNzUmVzZXQoKX0pKSgiaW1hZ2VDb250cmFzdEluTWlsbGlDaGFuZ2VkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkltYWdlQ29udHJhc3RJbk1pbGxpQ2hhbmdlZChlKX0pKSgiaW1hZ2VDb250cmFzdFJlc2V0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uSW1hZ2VDb250cmFzdFJlc2V0KCl9KSkoImltYWdlU2hvd0FjdHVhbFNpemVDaGFuZ2VkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uSW1hZ2VTaG93QWN0dWFsU2l6ZUNoYW5nZWQoKX0pKSgic2VsZWN0VGltZUVuYWJsZVRvZ2dsZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25TZWxlY3RUaW1lRW5hYmxlVG9nZ2xlZCgpfSkpKCJ1c2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uVXNlUmFuZ2VTZWxlY3RUaW1lVG9nZ2xlZCgpfSkpKCJzZWxlY3RUaW1lQ2hhbmdlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25TZWxlY3RUaW1lQ2hhbmdlZChlKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSxfeSg0LCJhc3luYyIpLF95KDUsImFzeW5jIiksX3koNiwiYXN5bmMiKSxfeSg3LCJhc3luYyIpLF95KDgsImFzeW5jIiksX3koOSwiYXN5bmMiKSxfeSgxMCwiYXN5bmMiKSxfeSgxMSwiYXN5bmMiKSxfeSgxMiwiYXN5bmMiKSxfeSgxMywiYXN5bmMiKSxfeSgxNCwiYXN5bmMiKSxfeSgxNSwiYXN5bmMiKSxfeSgxNiwiYXN5bmMiKSxfeSgxNywiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJpc0ltYWdlU3VwcG9ydEVuYWJsZWQiLEN5KDEsMTcsbi5pc0ltYWdlU3VwcG9ydEVuYWJsZWQkKSkoInRvb2x0aXBTb3J0IixDeSgyLDE5LG4udG9vbHRpcFNvcnQkKSkoImlnbm9yZU91dGxpZXJzIixDeSgzLDIxLG4uaWdub3JlT3V0bGllcnMkKSkoInhBeGlzVHlwZSIsQ3koNCwyMyxuLnhBeGlzVHlwZSQpKSgiaXNDYXJkV2lkdGhTZXR0aW5nRW5hYmxlZCIsQ3koNSwyNSxuLmlzQ2FyZFdpZHRoU2V0dGluZ0VuYWJsZWQkKSkoImNhcmRNaW5XaWR0aCIsQ3koNiwyNyxuLmNhcmRNaW5XaWR0aCQpKSgiaGlzdG9ncmFtTW9kZSIsQ3koNywyOSxuLmhpc3RvZ3JhbU1vZGUkKSkoInNjYWxhclNtb290aGluZyIsQ3koOCwzMSxuLnNjYWxhclNtb290aGluZyQpKSgic2NhbGFyUGFydGl0aW9uWCIsQ3koOSwzMyxuLnNjYWxhclBhcnRpdGlvblgkKSkoImltYWdlQnJpZ2h0bmVzc0luTWlsbGkiLEN5KDEwLDM1LG4uaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaSQpKSgiaW1hZ2VDb250cmFzdEluTWlsbGkiLEN5KDExLDM3LG4uaW1hZ2VDb250cmFzdEluTWlsbGkkKSkoImltYWdlU2hvd0FjdHVhbFNpemUiLEN5KDEyLDM5LG4uaW1hZ2VTaG93QWN0dWFsU2l6ZSQpKSgiaXNMaW5rZWRUaW1lRmVhdHVyZUVuYWJsZWQiLEN5KDEzLDQxLG4uaXNMaW5rZWRUaW1lRmVhdHVyZUVuYWJsZWQkKSkoInNlbGVjdFRpbWVFbmFibGVkIixDeSgxNCw0MyxuLnNlbGVjdFRpbWVFbmFibGVkJCkpKCJzZWxlY3RlZFRpbWUiLEN5KDE1LDQ1LG4uc2VsZWN0ZWRUaW1lJCkpKCJ1c2VSYW5nZVNlbGVjdFRpbWUiLEN5KDE2LDQ3LG4udXNlUmFuZ2VTZWxlY3RUaW1lJCkpKCJzdGVwTWluTWF4IixDeSgxNyw0OSxuLnN0ZXBNaW5NYXgkKSl9LGRpcmVjdGl2ZXM6W0h5dF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEZ5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWNzLWRhc2hib2FyZC1zZXR0aW5ncyIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWNzLWRhc2hib2FyZC1zZXR0aW5ncy1jb21wb25lbnRcbiAgICAgIFtpc0ltYWdlU3VwcG9ydEVuYWJsZWRdPSJpc0ltYWdlU3VwcG9ydEVuYWJsZWQkIHwgYXN5bmMiXG4gICAgICBbdG9vbHRpcFNvcnRdPSJ0b29sdGlwU29ydCQgfCBhc3luYyJcbiAgICAgICh0b29sdGlwU29ydENoYW5nZWQpPSJvblRvb2x0aXBTb3J0Q2hhbmdlZCgkZXZlbnQpIlxuICAgICAgW2lnbm9yZU91dGxpZXJzXT0iaWdub3JlT3V0bGllcnMkIHwgYXN5bmMiXG4gICAgICAoaWdub3JlT3V0bGllcnNDaGFuZ2VkKT0ib25JZ25vcmVPdXRsaWVyc0NoYW5nZWQoKSJcbiAgICAgIFt4QXhpc1R5cGVdPSJ4QXhpc1R5cGUkIHwgYXN5bmMiXG4gICAgICAoeEF4aXNUeXBlQ2hhbmdlZCk9Im9uWEF4aXNUeXBlQ2hhbmdlZCgkZXZlbnQpIlxuICAgICAgW2lzQ2FyZFdpZHRoU2V0dGluZ0VuYWJsZWRdPSJpc0NhcmRXaWR0aFNldHRpbmdFbmFibGVkJCB8IGFzeW5jIlxuICAgICAgW2NhcmRNaW5XaWR0aF09ImNhcmRNaW5XaWR0aCQgfCBhc3luYyJcbiAgICAgIChjYXJkV2lkdGhDaGFuZ2VkKT0ib25DYXJkV2lkdGhDaGFuZ2VkKCRldmVudCkiXG4gICAgICAoY2FyZFdpZHRoUmVzZXQpPSJvbkNhcmRXaWR0aFJlc2V0KCkiXG4gICAgICBbaGlzdG9ncmFtTW9kZV09Imhpc3RvZ3JhbU1vZGUkIHwgYXN5bmMiXG4gICAgICAoaGlzdG9ncmFtTW9kZUNoYW5nZWQpPSJvbkhpc3RvZ3JhbU1vZGVDaGFuZ2VkKCRldmVudCkiXG4gICAgICBbc2NhbGFyU21vb3RoaW5nXT0ic2NhbGFyU21vb3RoaW5nJCB8IGFzeW5jIlxuICAgICAgKHNjYWxhclNtb290aGluZ0NoYW5nZWQpPSJvblNjYWxhclNtb290aGluZ0NoYW5nZWQoJGV2ZW50KSJcbiAgICAgIFtzY2FsYXJQYXJ0aXRpb25YXT0ic2NhbGFyUGFydGl0aW9uWCQgfCBhc3luYyJcbiAgICAgIChzY2FsYXJQYXJ0aXRpb25YVG9nZ2xlZCk9Im9uU2NhbGFyUGFydGl0aW9uWFRvZ2dsZWQoKSJcbiAgICAgIFtpbWFnZUJyaWdodG5lc3NJbk1pbGxpXT0iaW1hZ2VCcmlnaHRuZXNzSW5NaWxsaSQgfCBhc3luYyJcbiAgICAgIChpbWFnZUJyaWdodG5lc3NJbk1pbGxpQ2hhbmdlZCk9Im9uSW1hZ2VCcmlnaHRuZXNzSW5NaWxsaUNoYW5nZWQoJGV2ZW50KSJcbiAgICAgIChpbWFnZUJyaWdodG5lc3NSZXNldCk9Im9uSW1hZ2VCcmlnaHRuZXNzUmVzZXQoKSJcbiAgICAgIFtpbWFnZUNvbnRyYXN0SW5NaWxsaV09ImltYWdlQ29udHJhc3RJbk1pbGxpJCB8IGFzeW5jIlxuICAgICAgKGltYWdlQ29udHJhc3RJbk1pbGxpQ2hhbmdlZCk9Im9uSW1hZ2VDb250cmFzdEluTWlsbGlDaGFuZ2VkKCRldmVudCkiXG4gICAgICAoaW1hZ2VDb250cmFzdFJlc2V0KT0ib25JbWFnZUNvbnRyYXN0UmVzZXQoKSJcbiAgICAgIFtpbWFnZVNob3dBY3R1YWxTaXplXT0iaW1hZ2VTaG93QWN0dWFsU2l6ZSQgfCBhc3luYyJcbiAgICAgIChpbWFnZVNob3dBY3R1YWxTaXplQ2hhbmdlZCk9Im9uSW1hZ2VTaG93QWN0dWFsU2l6ZUNoYW5nZWQoKSJcbiAgICAgIFtpc0xpbmtlZFRpbWVGZWF0dXJlRW5hYmxlZF09ImlzTGlua2VkVGltZUZlYXR1cmVFbmFibGVkJCB8IGFzeW5jIlxuICAgICAgW3NlbGVjdFRpbWVFbmFibGVkXT0ic2VsZWN0VGltZUVuYWJsZWQkIHwgYXN5bmMiXG4gICAgICBbc2VsZWN0ZWRUaW1lXT0ic2VsZWN0ZWRUaW1lJCB8IGFzeW5jIlxuICAgICAgW3VzZVJhbmdlU2VsZWN0VGltZV09InVzZVJhbmdlU2VsZWN0VGltZSQgfCBhc3luYyJcbiAgICAgIFtzdGVwTWluTWF4XT0ic3RlcE1pbk1heCQgfCBhc3luYyJcbiAgICAgIChzZWxlY3RUaW1lRW5hYmxlVG9nZ2xlZCk9Im9uU2VsZWN0VGltZUVuYWJsZVRvZ2dsZWQoKSJcbiAgICAgICh1c2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkKT0ib25Vc2VSYW5nZVNlbGVjdFRpbWVUb2dnbGVkKCkiXG4gICAgICAoc2VsZWN0VGltZUNoYW5nZWQpPSJvblNlbGVjdFRpbWVDaGFuZ2VkKCRldmVudCkiXG4gICAgPlxuICAgIDwvbWV0cmljcy1kYXNoYm9hcmQtc2V0dGluZ3MtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgTHl0e31mdW5jdGlvbiBCeXQodCxlKXtpZigxJnQmJnZmKDAsIm1ldHJpY3MtZmlsdGVyZWQtdmlldyIsOSksMiZ0KXtiZigiY2FyZE9ic2VydmVyIix6ZigpLmNhcmRPYnNlcnZlcil9fWZ1bmN0aW9uIFZ5dCh0LGUpezEmdCYmKENmKDAsImRpdiIsMTIpLHZmKDEsIm1hdC1zcGlubmVyIiwxMyksTWYoKSl9ZnVuY3Rpb24ganl0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxNCksQ2YoMSwiZGl2IiwxNSksQ2YoMiwiaDIiLDE2KSxQdSgzLCJTZXR0aW5ncyIpLE1mKCksQ2YoNCwiYnV0dG9uIiwxNyksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLm9uQ2xvc2VTaWRlcGFuZUJ1dHRvbkNsaWNrZWQuZW1pdCgpfSkpLHZmKDUsIm1hdC1pY29uIiwxOCksTWYoKSxNZigpLHZmKDYsIm1ldHJpY3MtZGFzaGJvYXJkLXJpZ2h0LXBhbmUiKSxNZigpfX1MeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEx5dCl9LEx5dC7JtWNtcD1zbyh7dHlwZTpMeXQsc2VsZWN0b3JzOltbIm1ldHJpY3MtZGFzaGJvYXJkLXJpZ2h0LXBhbmUiXV0sZGVjbHM6MSx2YXJzOjAsdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmdmYoMCwibWV0cmljcy1kYXNoYm9hcmQtc2V0dGluZ3MiKX0sZGlyZWN0aXZlczpbRnl0XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEx5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWNzLWRhc2hib2FyZC1yaWdodC1wYW5lIix0ZW1wbGF0ZToiPG1ldHJpY3MtZGFzaGJvYXJkLXNldHRpbmdzPjwvbWV0cmljcy1kYXNoYm9hcmQtc2V0dGluZ3M+IixjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLG51bGwpO2NvbnN0IFV5dD1mdW5jdGlvbih0KXtyZXR1cm57Y2hlY2tlZDp0LCJzZXR0aW5ncy1idXR0b24iOiEwfX07Y2xhc3MgV3l0e2NvbnN0cnVjdG9yKHQpe3RoaXMuaG9zdD10LHRoaXMub25TZXR0aW5nc0J1dHRvbkNsaWNrZWQ9bmV3IFN5LHRoaXMub25DbG9zZVNpZGVwYW5lQnV0dG9uQ2xpY2tlZD1uZXcgU3ksdGhpcy5vblBsdWdpblR5cGVUb2dnbGVkPW5ldyBTeSx0aGlzLm9uUGx1Z2luVHlwZUFsbFRvZ2dsZWQ9bmV3IFN5LHRoaXMuUGx1Z2luVHlwZT1LVCx0aGlzLmNhcmRPYnNlcnZlcj1uZXcgXzQodGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQsIjYwMHB4IDBweCA2MDBweCAwcHgiKX19V3l0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxXeXQpKGdmKEtoKSl9LFd5dC7JtWNtcD1zbyh7dHlwZTpXeXQsc2VsZWN0b3JzOltbIm1ldHJpY3MtbWFpbi12aWV3LWNvbXBvbmVudCJdXSxpbnB1dHM6e3Nob3dGaWx0ZXJlZFZpZXc6InNob3dGaWx0ZXJlZFZpZXciLGlzU2lkZXBhbmVPcGVuOiJpc1NpZGVwYW5lT3BlbiIsZmlsdGVyZWRQbHVnaW5UeXBlczoiZmlsdGVyZWRQbHVnaW5UeXBlcyIsaW5pdGlhbFRhZ3NMb2FkaW5nOiJpbml0aWFsVGFnc0xvYWRpbmcifSxvdXRwdXRzOntvblNldHRpbmdzQnV0dG9uQ2xpY2tlZDoib25TZXR0aW5nc0J1dHRvbkNsaWNrZWQiLG9uQ2xvc2VTaWRlcGFuZUJ1dHRvbkNsaWNrZWQ6Im9uQ2xvc2VTaWRlcGFuZUJ1dHRvbkNsaWNrZWQiLG9uUGx1Z2luVHlwZVRvZ2dsZWQ6Im9uUGx1Z2luVHlwZVRvZ2dsZWQiLG9uUGx1Z2luVHlwZUFsbFRvZ2dsZWQ6Im9uUGx1Z2luVHlwZUFsbFRvZ2dsZWQifSxkZWNsczoyMix2YXJzOjIxLGNvbnN0czpmdW5jdGlvbigpe2xldCB0LGU7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe3Q9Z29vZy5nZXRNc2coIlRvZ2dsZSBzZXR0aW5ncyBzaWRlIHBhbmUiKX1lbHNlIHQ9JGxvY2FsaXplYDpMYWJlbCBvbiBhIHRvb2xiYXIgYnV0dG9uIHRvIHRvZ2dsZSB0aGUgc2V0dGluZ3Mgc2lkZSBwYW5lLuKQn2QzNTE2ZGI2YmJlNjg2MGE1NWJlYWI2NmU0OTY5ZGFjNjI1YjhkNzLikJ83NjU5Mjg1NDQ1NTgwODM4OTI1OlRvZ2dsZSBzZXR0aW5ncyBzaWRlIHBhbmVgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtlPWdvb2cuZ2V0TXNnKCJDbG9zZSBzaWRlIHBhbmUiKX1lbHNlIGU9JGxvY2FsaXplYDpMYWJlbCBvbiBhIGJ1dHRvbiB0byBjbG9zZSB0aGUgc2V0dGluZ3Mgc2lkZSBwYW5lLuKQnzA0NTIxZGMwYjZhNjVjZjVjMzgyOTQ0YzlhOGI0Yjg0NGEzZTk1OTjikJ84MTU2NzY2OTk3NzQ3MTY1ODcxOkNsb3NlIHNpZGUgcGFuZWA7cmV0dXJuW1sxLCJ0b29sYmFyIl0sWyJtdWx0aXBsZSIsIiIsImFwcGVhcmFuY2UiLCJzdGFuZGFyZCIsMSwiZmlsdGVyLXZpZXciXSxbIm1hdC1idXR0b24iLCIiLCJyb2xlIiwiY2hlY2tib3giLDEsImZpbHRlci12aWV3LWJ1dHRvbiIsMywiY2xpY2siXSxbMSwicmlnaHQtaXRlbXMiXSxbIm1hdC1zdHJva2VkLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMywibmdDbGFzcyIsImNsaWNrIl0sWyJzdmdJY29uIiwic2V0dGluZ3NfMjRweCJdLFsxLCJzcGxpdC1jb250ZW50Il0sWyJjZGtTY3JvbGxhYmxlIiwiIl0sWzMsImNhcmRPYnNlcnZlciIsNCwibmdJZiJdLFszLCJjYXJkT2JzZXJ2ZXIiXSxbImNsYXNzIiwibG9hZGluZy1jb250YWluZXIiLDQsIm5nSWYiXSxbImNsYXNzIiwic2lkZWJhciIsNCwibmdJZiJdLFsxLCJsb2FkaW5nLWNvbnRhaW5lciJdLFsiZGlhbWV0ZXIiLCIzNiJdLFsxLCJzaWRlYmFyIl0sWzEsImhlYWRlciJdLFsxLCJ0aXRsZSJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsZSwzLCJjbGljayJdLFsic3ZnSWNvbiIsImNsb3NlXzI0cHgiXV19LHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLHZmKDEsIm1ldHJpY3MtdGFnLWZpbHRlciIpLENmKDIsIm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIiwxKSxDZigzLCJidXR0b24iLDIpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblBsdWdpblR5cGVBbGxUb2dnbGVkLmVtaXQoKX0pKSxQdSg0LCIgQWxsICIpLE1mKCksQ2YoNSwiYnV0dG9uIiwyKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25QbHVnaW5UeXBlVG9nZ2xlZC5lbWl0KG4uUGx1Z2luVHlwZS5TQ0FMQVJTKX0pKSxQdSg2LCIgU2NhbGFycyAiKSxNZigpLENmKDcsImJ1dHRvbiIsMiksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUGx1Z2luVHlwZVRvZ2dsZWQuZW1pdChuLlBsdWdpblR5cGUuSU1BR0VTKX0pKSxQdSg4LCIgSW1hZ2UgIiksTWYoKSxDZig5LCJidXR0b24iLDIpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblBsdWdpblR5cGVUb2dnbGVkLmVtaXQobi5QbHVnaW5UeXBlLkhJU1RPR1JBTVMpfSkpLFB1KDEwLCIgSGlzdG9ncmFtICIpLE1mKCksTWYoKSxDZigxMSwiZGl2IiwzKSxDZigxMiwiYnV0dG9uIiw0KSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25TZXR0aW5nc0J1dHRvbkNsaWNrZWQuZW1pdCgpfSkpLHZmKDEzLCJtYXQtaWNvbiIsNSksUHUoMTQsIiBTZXR0aW5ncyAiKSxNZigpLE1mKCksTWYoKSxDZigxNSwiZGl2Iiw2KSxDZigxNiwiZGl2Iiw3KSxIbSgxNyxCeXQsMSwxLCJtZXRyaWNzLWZpbHRlcmVkLXZpZXciLDgpLHZmKDE4LCJtZXRyaWNzLXBpbm5lZC12aWV3Iiw5KSxIbSgxOSxWeXQsMiwwLCJkaXYiLDEwKSx2ZigyMCwibWV0cmljcy1jYXJkLWdyb3VwcyIsOSksTWYoKSxIbSgyMSxqeXQsNywwLCJkaXYiLDExKSxNZigpKSwyJmUmJihEYygzKSx5bSgiYXJpYS1jaGVja2VkIiwwPT09bi5maWx0ZXJlZFBsdWdpblR5cGVzLnNpemUpLERjKDIpLHltKCJhcmlhLWNoZWNrZWQiLG4uZmlsdGVyZWRQbHVnaW5UeXBlcy5oYXMobi5QbHVnaW5UeXBlLlNDQUxBUlMpKSxEYygyKSx5bSgiYXJpYS1jaGVja2VkIixuLmZpbHRlcmVkUGx1Z2luVHlwZXMuaGFzKG4uUGx1Z2luVHlwZS5JTUFHRVMpKSxEYygyKSx5bSgiYXJpYS1jaGVja2VkIixuLmZpbHRlcmVkUGx1Z2luVHlwZXMuaGFzKG4uUGx1Z2luVHlwZS5ISVNUT0dSQU1TKSksRGMoMyksYmYoIm5nQ2xhc3MiLGl5KDE5LFV5dCxuLmlzU2lkZXBhbmVPcGVuKSkseW0oImFyaWEtcHJlc3NlZCIsbi5pc1NpZGVwYW5lT3BlbiksRGMoNCksY3UoIm1haW4iLCEwKSgiZmlsdGVyLXZpZXciLG4uc2hvd0ZpbHRlcmVkVmlldyksRGMoMSksYmYoIm5nSWYiLG4uc2hvd0ZpbHRlcmVkVmlldyksRGMoMSksbHUoImRpc3BsYXkiLG4uc2hvd0ZpbHRlcmVkVmlldz8ibm9uZSI6IiIpLGJmKCJjYXJkT2JzZXJ2ZXIiLG4uY2FyZE9ic2VydmVyKSxEYygxKSxiZigibmdJZiIsbi5pbml0aWFsVGFnc0xvYWRpbmcpLERjKDEpLGx1KCJkaXNwbGF5IixuLnNob3dGaWx0ZXJlZFZpZXc/Im5vbmUiOiIiKSxiZigiY2FyZE9ic2VydmVyIixuLmNhcmRPYnNlcnZlciksRGMoMSksYmYoIm5nSWYiLG4uaXNTaWRlcGFuZU9wZW4pKX0sZGlyZWN0aXZlczpbUDQsQTQsTkwsQ3YsTXEsSkwsUHYscHl0LE15dCxTeXQsYTIsTHl0XSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjEwMCV9LnRvb2xiYXJbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7ZmxleDpub25lO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDE2cHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAudG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzU1NX0udG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBtZXRyaWNzLXRhZy1maWx0ZXJbX25nY29udGVudC0lQ09NUCVde2ZsZXg6MSAxIDEwMHB4fS50b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5yaWdodC1pdGVtc1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNlYmViZWI7bWFyZ2luLWxlZnQ6MTZweDtwYWRkaW5nLWxlZnQ6MTZweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAudG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICAucmlnaHQtaXRlbXNbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAudG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICAucmlnaHQtaXRlbXNbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjNTU1fS5maWx0ZXItdmlld1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXJhZGl1czo0cHg7ZmxleDpub25lO21hcmdpbi1yaWdodDo1cHh9LmZpbHRlci12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLXJhZGl1czowO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0Om5vcm1hbDtoZWlnaHQ6MjVweDtsaW5lLWhlaWdodDoyNXB4O21pbi13aWR0aDp1bnNldDtwYWRkaW5nOjAgMTJweH0uZmlsdGVyLXZpZXdbX25nY29udGVudC0lQ09NUCVdICAgYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSArIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNlYmViZWJ9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLmZpbHRlci12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gKyBidXR0b25bX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuZmlsdGVyLXZpZXdbX25nY29udGVudC0lQ09NUCVdICAgYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSArIGJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICM1NTV9LmZpbHRlci12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV1bX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6I2UwZTBlMH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAuZmlsdGVyLXZpZXdbX25nY29udGVudC0lQ09NUCVdICAgYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXVtfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5maWx0ZXItdmlld1tfbmdjb250ZW50LSVDT01QJV0gICBidXR0b25bYXJpYS1jaGVja2VkPXRydWVdW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMTIxMjF9LnNwbGl0LWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtvdmVyZmxvdy15OmF1dG87ZmxleDoxfS5tYWluW19uZ2NvbnRlbnQtJUNPTVAlXSwgLnNpZGViYXJbX25nY29udGVudC0lQ09NUCVde2NvbnRhaW46c3RyaWN0O292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0bzt3aWxsLWNoYW5nZTp0cmFuc2Zvcm0sc2Nyb2xsLXBvc2l0aW9ufS5tYWluW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY2Zjc7ZmxleDoxIDE7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAubWFpbltfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5tYWluW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiMzYTNhM2F9Lm1haW5bX25nY29udGVudC0lQ09NUCVdICAgbWV0cmljcy1maWx0ZXJlZC12aWV3W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1haW5bX25nY29udGVudC0lQ09NUCVdICAgbWV0cmljcy1waW5uZWQtdmlld1tfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYn1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAubWFpbltfbmdjb250ZW50LSVDT01QJV0gICBtZXRyaWNzLWZpbHRlcmVkLXZpZXdbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAubWFpbltfbmdjb250ZW50LSVDT01QJV0gICBtZXRyaWNzLWZpbHRlcmVkLXZpZXdbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLm1haW5bX25nY29udGVudC0lQ09NUCVdICAgbWV0cmljcy1waW5uZWQtdmlld1tfbmdjb250ZW50LSVDT01QJV0sIGJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5tYWluW19uZ2NvbnRlbnQtJUNPTVAlXSAgIG1ldHJpY3MtcGlubmVkLXZpZXdbX25nY29udGVudC0lQ09NUCVde2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM1NTV9Lm1haW4uZmlsdGVyLXZpZXdbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbn0ubWFpbi5maWx0ZXItdmlld1tfbmdjb250ZW50LSVDT01QJV0gICBtZXRyaWNzLWZpbHRlcmVkLXZpZXdbX25nY29udGVudC0lQ09NUCVde2NvbnRhaW46Y29udGVudDtvdmVyZmxvdzphdXRvO3dpbGwtY2hhbmdlOnRyYW5zZm9ybSxzY3JvbGwtcG9zaXRpb259LmxvYWRpbmctY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjIwcHggMH0uc2lkZWJhcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNlYmViZWI7ZmxleDowIDAgMjUwcHh9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLnNpZGViYXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc2lkZWJhcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICM1NTV9LnNpZGViYXJbX25nY29udGVudC0lQ09NUCVdICAgLmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2hlaWdodDo0MnB4O3BhZGRpbmc6MCAxNnB4fWJvZHkuZGFyay1tb2RlW19uZ2hvc3QtJUNPTVAlXSAgIC5zaWRlYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAuc2lkZWJhcltfbmdjb250ZW50LSVDT01QJV0gICAuaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNTU1fS5zaWRlYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6bm9ybWFsO21hcmdpbjowfVtfbmdob3N0LSVDT01QJV0gICAuc2V0dGluZ3MtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojNjE2MTYxO2Rpc3BsYXk6aW5saW5lLWZsZXh9Ym9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLnNldHRpbmdzLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9W19uZ2hvc3QtJUNPTVAlXSAgIC5zZXR0aW5ncy1idXR0b24uY2hlY2tlZFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZTBlMGUwO2JvcmRlci1jb2xvcjojZTBlMGUwfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5zZXR0aW5ncy1idXR0b24uY2hlY2tlZFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojMjEyMTIxfVtfbmdob3N0LSVDT01QJV0gICAuc2V0dGluZ3MtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgICAgLm1hdC1idXR0b24td3JhcHBlcntkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn1bX25naG9zdC0lQ09NUCVdICAgLnNldHRpbmdzLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICBtYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXJpZ2h0OjRweH0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoV3l0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1ldHJpY3MtbWFpbi12aWV3LWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Im1haW5fdmlld19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsibWFpbl92aWV3X2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6S2h9XX0pLHtzaG93RmlsdGVyZWRWaWV3Olt7dHlwZTpSX31dLGlzU2lkZXBhbmVPcGVuOlt7dHlwZTpSX31dLGZpbHRlcmVkUGx1Z2luVHlwZXM6W3t0eXBlOlJffV0saW5pdGlhbFRhZ3NMb2FkaW5nOlt7dHlwZTpSX31dLG9uU2V0dGluZ3NCdXR0b25DbGlja2VkOlt7dHlwZTpFX31dLG9uQ2xvc2VTaWRlcGFuZUJ1dHRvbkNsaWNrZWQ6W3t0eXBlOkVffV0sb25QbHVnaW5UeXBlVG9nZ2xlZDpbe3R5cGU6RV99XSxvblBsdWdpblR5cGVBbGxUb2dnbGVkOlt7dHlwZTpFX31dfSk7Y2xhc3MgR3l0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLmlzU2lkZXBhbmVPcGVuJD10aGlzLnN0b3JlLnNlbGVjdChOeiksdGhpcy5pbml0aWFsVGFnc0xvYWRpbmckPXRoaXMuc3RvcmUuc2VsZWN0KEpOKS5waXBlKFVlKCh0PT5udWxsPT09dC5sYXN0TG9hZGVkVGltZUluTXMpLCEwKSxWdCgodD0+dC5zdGF0ZT09PVVFLkxPQURJTkcmJm51bGw9PT10Lmxhc3RMb2FkZWRUaW1lSW5NcykpKSx0aGlzLnNob3dGaWx0ZXJlZFZpZXckPXRoaXMuc3RvcmUuc2VsZWN0KFB6KS5waXBlKFZ0KCh0PT50Lmxlbmd0aD4wKSkpLHRoaXMuZmlsdGVyZWRQbHVnaW5UeXBlcyQ9dGhpcy5zdG9yZS5zZWxlY3QoQXopfW9uU2V0dGluZ3NCdXR0b25DbGlja2VkKCl7dGhpcy5zdG9yZS5kaXNwYXRjaChwQSgpKX1vbkNsb3NlU2lkZXBhbmVCdXR0b25DbGlja2VkKCl7dGhpcy5zdG9yZS5kaXNwYXRjaChkQSgpKX1vblBsdWdpblZpc2liaWxpdHlUb2dnbGVkKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goSUEoe3BsdWdpbjp0fSkpfW9uU2hvd0FsbFBsdWdpbnMoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKEhBKCkpfX1HeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEd5dCkoZ2YoaVMpKX0sR3l0Lsm1Y21wPXNvKHt0eXBlOkd5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1tYWluLXZpZXciXV0sZGVjbHM6NSx2YXJzOjEyLGNvbnN0czpbWzMsInNob3dGaWx0ZXJlZFZpZXciLCJpc1NpZGVwYW5lT3BlbiIsImluaXRpYWxUYWdzTG9hZGluZyIsImZpbHRlcmVkUGx1Z2luVHlwZXMiLCJvblNldHRpbmdzQnV0dG9uQ2xpY2tlZCIsIm9uQ2xvc2VTaWRlcGFuZUJ1dHRvbkNsaWNrZWQiLCJvblBsdWdpblR5cGVUb2dnbGVkIiwib25QbHVnaW5UeXBlQWxsVG9nZ2xlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWV0cmljcy1tYWluLXZpZXctY29tcG9uZW50IiwwKSxSZigib25TZXR0aW5nc0J1dHRvbkNsaWNrZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25TZXR0aW5nc0J1dHRvbkNsaWNrZWQoKX0pKSgib25DbG9zZVNpZGVwYW5lQnV0dG9uQ2xpY2tlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vbkNsb3NlU2lkZXBhbmVCdXR0b25DbGlja2VkKCl9KSkoIm9uUGx1Z2luVHlwZVRvZ2dsZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUGx1Z2luVmlzaWJpbGl0eVRvZ2dsZWQoZSl9KSkoIm9uUGx1Z2luVHlwZUFsbFRvZ2dsZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25TaG93QWxsUGx1Z2lucygpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIiksTWYoKSksMiZlJiZiZigic2hvd0ZpbHRlcmVkVmlldyIsQ3koMSw0LG4uc2hvd0ZpbHRlcmVkVmlldyQpKSgiaXNTaWRlcGFuZU9wZW4iLEN5KDIsNixuLmlzU2lkZXBhbmVPcGVuJCkpKCJpbml0aWFsVGFnc0xvYWRpbmciLEN5KDMsOCxuLmluaXRpYWxUYWdzTG9hZGluZyQpKSgiZmlsdGVyZWRQbHVnaW5UeXBlcyIsQ3koNCwxMCxuLmZpbHRlcmVkUGx1Z2luVHlwZXMkKSl9LGRpcmVjdGl2ZXM6W1d5dF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEd5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWNzLW1haW4tdmlldyIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWNzLW1haW4tdmlldy1jb21wb25lbnRcbiAgICAgIFtzaG93RmlsdGVyZWRWaWV3XT0ic2hvd0ZpbHRlcmVkVmlldyQgfCBhc3luYyJcbiAgICAgIFtpc1NpZGVwYW5lT3Blbl09ImlzU2lkZXBhbmVPcGVuJCB8IGFzeW5jIlxuICAgICAgW2luaXRpYWxUYWdzTG9hZGluZ109ImluaXRpYWxUYWdzTG9hZGluZyQgfCBhc3luYyJcbiAgICAgIFtmaWx0ZXJlZFBsdWdpblR5cGVzXT0iZmlsdGVyZWRQbHVnaW5UeXBlcyQgfCBhc3luYyJcbiAgICAgIChvblNldHRpbmdzQnV0dG9uQ2xpY2tlZCk9Im9uU2V0dGluZ3NCdXR0b25DbGlja2VkKCkiXG4gICAgICAob25DbG9zZVNpZGVwYW5lQnV0dG9uQ2xpY2tlZCk9Im9uQ2xvc2VTaWRlcGFuZUJ1dHRvbkNsaWNrZWQoKSJcbiAgICAgIChvblBsdWdpblR5cGVUb2dnbGVkKT0ib25QbHVnaW5WaXNpYmlsaXR5VG9nZ2xlZCgkZXZlbnQpIlxuICAgICAgKG9uUGx1Z2luVHlwZUFsbFRvZ2dsZWQpPSJvblNob3dBbGxQbHVnaW5zKCkiXG4gICAgPjwvbWV0cmljcy1tYWluLXZpZXctY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y29uc3QgWXl0PW5ldyBlcigiW01ldHJpY3NdIE1FVFJJQ1NfUHJvbW8gTWVzc2FnZSBDb21wb25lbnQiKTtmdW5jdGlvbiBxeXQodCxlKXsxJnQmJih4ZigwKSxGZigxKSxPZigpKX1jbGFzcyBaeXR7Y29uc3RydWN0b3IodCxlKXt0aGlzLnZpZXdDb250YWluZXJSZWY9dCx0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj1lfW5nT25Jbml0KCl7aWYodGhpcy5jdXN0b21pemFibGVDb21wb25lbnQpe2NvbnN0IHQ9dGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5jdXN0b21pemFibGVDb21wb25lbnQuY29uc3RydWN0b3IpO3RoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQodCl9fX1aeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFp5dCkoZ2YoRmIpLGdmKEdoKSl9LFp5dC7JtWNtcD1zbyh7dHlwZTpaeXQsc2VsZWN0b3JzOltbInRiLWN1c3RvbWl6YXRpb24iXV0saW5wdXRzOntjdXN0b21pemFibGVDb21wb25lbnQ6ImN1c3RvbWl6YWJsZUNvbXBvbmVudCJ9LG5nQ29udGVudFNlbGVjdG9yczpbIioiXSxkZWNsczoxLHZhcnM6MSxjb25zdHM6W1s0LCJuZ0lmIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihIZigpLEhtKDAscXl0LDIsMCwibmctY29udGFpbmVyIiwwKSksMiZlJiZiZigibmdJZiIsIW4uY3VzdG9taXphYmxlQ29tcG9uZW50KX0sZGlyZWN0aXZlczpbUHZdLGVuY2Fwc3VsYXRpb246Mn0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWnl0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRiLWN1c3RvbWl6YXRpb24iLHRlbXBsYXRlOidcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPSIhY3VzdG9taXphYmxlQ29tcG9uZW50Ij5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgJ31dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkZifSx7dHlwZTpHaH1dfSkse2N1c3RvbWl6YWJsZUNvbXBvbmVudDpbe3R5cGU6Ul99XX0pO2NsYXNzIFh5dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLmN1c3RvbVByb21vTWVzc2FnZT10LHRoaXMub25EaXNtaXNzPW5ldyBTeSx0aGlzLm9uR29Ub1NjYWxhcnM9bmV3IFN5fX1YeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFh5dCkoZ2YoWXl0LDgpKX0sWHl0Lsm1Y21wPXNvKHt0eXBlOlh5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1wcm9tby1ub3RpY2UtY29tcG9uZW50Il1dLG91dHB1dHM6e29uRGlzbWlzczoib25EaXNtaXNzIixvbkdvVG9TY2FsYXJzOiJvbkdvVG9TY2FsYXJzIn0sZGVjbHM6Nyx2YXJzOjEsY29uc3RzOltbMSwibWVzc2FnZSIsMywiY3VzdG9taXphYmxlQ29tcG9uZW50Il0sWzEsImdvLXRvLXNjYWxhcnMiLDMsImNsaWNrIl0sWzEsImRpc21pc3MiLDMsImNsaWNrIl0sWyJpbmxpbmUiLCIiLCJzdmdJY29uIiwiY2xvc2VfMjRweCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwidGItY3VzdG9taXphdGlvbiIsMCksUHUoMSwiIFdlbGNvbWUgdG8gbmV3IGRlZmF1bHQgZXhwZXJpZW5jZSBvZiBUZW5zb3JCb2FyZC4gVGltZSBTZXJpZXMgbGV0cyB5b3UgdmlldyBhbGwgdmlzdWFsaXphdGlvbnMgYXQgb25jZSwgcHV0IHRoZW0gc2lkZS1ieS1zaWRlIHdpdGggcGlucywgYW5kIGN1c3RvbWl6ZSBjb2xvcnMuIFNjYWxhcnMgYW5kIG90aGVyIHBsdWdpbnMgYXJlIHN0aWxsIGF2YWlsYWJsZS4gIiksQ2YoMiwiYnV0dG9uIiwxKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Hb1RvU2NhbGFycy5lbWl0KCl9KSksUHUoMywiIEdvIHRvIFNjYWxhcnMgcGx1Z2luIiksTWYoKSxQdSg0LCIuXG4iKSxNZigpLENmKDUsImJ1dHRvbiIsMiksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRGlzbWlzcy5lbWl0KCl9KSksdmYoNiwibWF0LWljb24iLDMpLE1mKCkpLDImZSYmYmYoImN1c3RvbWl6YWJsZUNvbXBvbmVudCIsbi5jdXN0b21Qcm9tb01lc3NhZ2UpfSxkaXJlY3RpdmVzOltaeXQsTXFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxNHB4O2dhcDo1cHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47bGluZS1oZWlnaHQ6MjBweDtwYWRkaW5nOjVweCAxMHB4fWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MDtjb2xvcjppbmhlcml0O2N1cnNvcjpwb2ludGVyO2ZvbnQ6aW5oZXJpdDtwYWRkaW5nOjB9YnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfXRiLWN1c3RvbWl6YXRpb25bX25nY29udGVudC0lQ09NUCVdICAgYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojMTk3NmQyfS5kaXNtaXNzW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1zZWxmOmJhc2VsaW5lO2ZsZXg6bm9uZTtoZWlnaHQ6MjBweDt3aWR0aDoyMHB4fSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihYeXQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljcy1wcm9tby1ub3RpY2UtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoibWV0cmljc19wcm9tb19ub3RpY2VfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIm1ldHJpY3NfcHJvbW9fbm90aWNlX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6Y3IsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W1l5dF19XX1dfSkse29uRGlzbWlzczpbe3R5cGU6RV99XSxvbkdvVG9TY2FsYXJzOlt7dHlwZTpFX31dfSk7Y2xhc3MgS3l0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dH1vbkRpc21pc3MoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKGpBKCkpfW9uR29Ub1NjYWxhcnMoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKFVBKCkpfX1mdW5jdGlvbiBKeXQodCxlKXsxJnQmJnZmKDAsIm1ldHJpY3MtcHJvbW8tbm90aWNlIiwzKX1LeXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEt5dCkoZ2YoaVMpKX0sS3l0Lsm1Y21wPXNvKHt0eXBlOkt5dCxzZWxlY3RvcnM6W1sibWV0cmljcy1wcm9tby1ub3RpY2UiXV0sZGVjbHM6MSx2YXJzOjAsY29uc3RzOltbMywib25EaXNtaXNzIiwib25Hb1RvU2NhbGFycyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWV0cmljcy1wcm9tby1ub3RpY2UtY29tcG9uZW50IiwwKSxSZigib25EaXNtaXNzIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uRGlzbWlzcygpfSkpKCJvbkdvVG9TY2FsYXJzIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uR29Ub1NjYWxhcnMoKX0pKSxNZigpKX0sZGlyZWN0aXZlczpbWHl0XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEt5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWNzLXByb21vLW5vdGljZSIsdGVtcGxhdGU6JzxtZXRyaWNzLXByb21vLW5vdGljZS1jb21wb25lbnRcbiAgICAob25EaXNtaXNzKT0ib25EaXNtaXNzKCkiXG4gICAgKG9uR29Ub1NjYWxhcnMpPSJvbkdvVG9TY2FsYXJzKCkiXG4gID48L21ldHJpY3MtcHJvbW8tbm90aWNlLWNvbXBvbmVudD4nLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgUXl0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLmlzQnV0dGVyQmFyRW5hYmxlZCQ9dGhpcy5zdG9yZS5zZWxlY3QoWUQpLnBpcGUoX2UodGhpcy5zdG9yZS5zZWxlY3QoVHopKSxWdCgoKFt0LGVdKT0+dCYmZSkpKX19UXl0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxReXQpKGdmKGlTKSl9LFF5dC7JtWNtcD1zbyh7dHlwZTpReXQsc2VsZWN0b3JzOltbIm1ldHJpY3MtZGFzaGJvYXJkIl1dLGRlY2xzOjUsdmFyczozLGNvbnN0czpbWyJjbGFzcyIsIm5vdGljZSIsNCwibmdJZiJdLFsic2lkZWJhciIsIiJdLFsibWFpbiIsIiJdLFsxLCJub3RpY2UiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKEhtKDAsSnl0LDEsMCwibWV0cmljcy1wcm9tby1ub3RpY2UiLDApLF95KDEsImFzeW5jIiksQ2YoMiwidGItZGFzaGJvYXJkLWxheW91dCIpLHZmKDMsInJ1bnMtc2VsZWN0b3IiLDEpLHZmKDQsIm1ldHJpY3MtbWFpbi12aWV3IiwyKSxNZigpKSwyJmUmJmJmKCJuZ0lmIixDeSgxLDEsbi5pc0J1dHRlckJhckVuYWJsZWQkKSl9LGRpcmVjdGl2ZXM6W1B2LHYwLGI0LEd5dCxLeXRdLHBpcGVzOltWdl0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtjb250YWluOnN0cmljdDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlO2p1c3RpZnktY29udGVudDpzdHJldGNoO292ZXJmbG93OmhpZGRlbn0ubm90aWNlW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI0NSwxNTcsLjg1KTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZmZlYjNiO2NvbG9yOiMyMTIxMjE7ZGlzcGxheTpibG9jaztmbGV4OjAgMH10Yi1kYXNoYm9hcmQtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4OjEgMTtvdmVyZmxvdzpoaWRkZW59bmF2W19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZWJlYmViO2ZsZXg6bm9uZTt3aWR0aDozNDBweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICBuYXZbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICBuYXZbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6IzMwMzAzMDtib3JkZXItcmlnaHQtY29sb3I6IzU1NX1tZXRyaWNzLW1haW4tdmlld1tfbmdjb250ZW50LSVDT01QJV17ZmxleDoxIDF9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFF5dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWNzLWRhc2hib2FyZCIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWNzLXByb21vLW5vdGljZVxuICAgICAgKm5nSWY9ImlzQnV0dGVyQmFyRW5hYmxlZCQgfCBhc3luYyJcbiAgICAgIGNsYXNzPSJub3RpY2UiXG4gICAgPjwvbWV0cmljcy1wcm9tby1ub3RpY2U+XG4gICAgPHRiLWRhc2hib2FyZC1sYXlvdXQ+XG4gICAgICA8cnVucy1zZWxlY3RvciBzaWRlYmFyPjwvcnVucy1zZWxlY3Rvcj5cbiAgICAgIDxtZXRyaWNzLW1haW4tdmlldyBtYWluPjwvbWV0cmljcy1tYWluLXZpZXc+XG4gICAgPC90Yi1kYXNoYm9hcmQtbGF5b3V0PlxuICAnLHN0eWxlVXJsczpbIm1ldHJpY3NfY29udGFpbmVyLmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgJHl0e30keXQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fCR5dCl9LCR5dC7JtW1vZD1mbyh7dHlwZTokeXR9KSwkeXQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx2cSxJTF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYigkeXQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3YwXSxleHBvcnRzOlt2MF0saW1wb3J0czpbcngsdnEsSUxdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oJHl0LHtkZWNsYXJhdGlvbnM6W3YwXSxpbXBvcnRzOltyeCx2cSxJTF0sZXhwb3J0czpbdjBdfSk7Y2xhc3MgdF90e310X3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHRfdCl9LHRfdC7JtW1vZD1mbyh7dHlwZTp0X3R9KSx0X3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih0X3QsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltyeF0sZGVjbGFyYXRpb25zOltaeXRdLGV4cG9ydHM6W1p5dF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byh0X3Qse2RlY2xhcmF0aW9uczpbWnl0XSxpbXBvcnRzOltyeF0sZXhwb3J0czpbWnl0XX0pO2NsYXNzIGVfdHt9ZV90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxlX3QpfSxlX3QuybVtb2Q9Zm8oe3R5cGU6ZV90fSksZV90Lsm1aW5qPURuKHt9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGVfdCxbe3R5cGU6TF8sYXJnczpbe2V4cG9ydHM6W04yXSxkZWNsYXJhdGlvbnM6W04yXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGVfdCx7ZGVjbGFyYXRpb25zOltOMl0sZXhwb3J0czpbTjJdfSk7Y2xhc3Mgbl90e31uX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG5fdCl9LG5fdC7JtW1vZD1mbyh7dHlwZTpuX3R9KSxuX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxlX3RdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobl90LFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbcngsZV90XSxleHBvcnRzOltIMl0sZGVjbGFyYXRpb25zOltIMl19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhuX3Qse2RlY2xhcmF0aW9uczpbSDJdLGltcG9ydHM6W3J4LGVfdF0sZXhwb3J0czpbSDJdfSk7Y2xhc3Mgb190e31vX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG9fdCl9LG9fdC7JtW1vZD1mbyh7dHlwZTpvX3R9KSxvX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxxMyx2cV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihvX3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W1ozXSxleHBvcnRzOltaM10saW1wb3J0czpbcngscTMsdnFdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8ob190LHtkZWNsYXJhdGlvbnM6W1ozXSxpbXBvcnRzOltyeCxxMyx2cV0sZXhwb3J0czpbWjNdfSk7Y2xhc3MgaV90e31pX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGlfdCl9LGlfdC7JtW1vZD1mbyh7dHlwZTppX3R9KSxpX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihpX3QsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltyeF0sZXhwb3J0czpbRTJdLGRlY2xhcmF0aW9uczpbRTJdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oaV90LHtkZWNsYXJhdGlvbnM6W0UyXSxpbXBvcnRzOltyeF0sZXhwb3J0czpbRTJdfSk7Y2xhc3MgYV90e31hX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGFfdCl9LGFfdC7JtW1vZD1mbyh7dHlwZTphX3R9KSxhX3QuybVpbmo9RG4oe2ltcG9ydHM6W1t3NSxyeCxuX3Qsb190LENVLElMLE1aLG5xLFRaLHZxLFhxLG4xLHIyLHUxLGszLGlfdCxGVl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihhX3QsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOlt3NSxyeCxuX3Qsb190LENVLElMLE1aLG5xLFRaLHZxLFhxLG4xLHIyLHUxLGszLGlfdCxGVl0sZXhwb3J0czpbZzRdLGVudHJ5Q29tcG9uZW50czpbeTJdLGRlY2xhcmF0aW9uczpbYjIseTIsazIsUzIscDQsZzRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oYV90LHtkZWNsYXJhdGlvbnM6W2IyLHkyLGsyLFMyLHA0LGc0XSxpbXBvcnRzOlt3NSxyeCxuX3Qsb190LENVLElMLE1aLG5xLFRaLHZxLFhxLG4xLHIyLHUxLGszLGlfdCxGVl0sZXhwb3J0czpbZzRdfSk7Y2xhc3Mgcl90e31yX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHJfdCl9LHJfdC7JtW1vZD1mbyh7dHlwZTpyX3R9KSxyX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxhX3RdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocl90LFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbcngsYV90XSxleHBvcnRzOltiNF0sZGVjbGFyYXRpb25zOltoNCxiNF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhyX3Qse2RlY2xhcmF0aW9uczpbaDQsYjRdLGltcG9ydHM6W3J4LGFfdF0sZXhwb3J0czpbYjRdfSk7Y2xhc3Mgc190e31zX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHNfdCl9LHNfdC7JtW1vZD1mbyh7dHlwZTpzX3R9KSxzX3QuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoc190LFt7dHlwZTpMXyxhcmdzOlt7ZXhwb3J0czpbc2J0XSxkZWNsYXJhdGlvbnM6W3NidF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhzX3Qse2RlY2xhcmF0aW9uczpbc2J0XSxleHBvcnRzOltzYnRdfSk7Y2xhc3MgbF90e31sX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGxfdCl9LGxfdC7JtW1vZD1mbyh7dHlwZTpsX3R9KSxsX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihsX3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W2podF0sZXhwb3J0czpbamh0XSxpbXBvcnRzOltyeF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhsX3Qse2RlY2xhcmF0aW9uczpbamh0XSxpbXBvcnRzOltyeF0sZXhwb3J0czpbamh0XX0pO2NsYXNzIGNfdHt9Y190Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxjX3QpfSxjX3QuybVtb2Q9Zm8oe3R5cGU6Y190fSksY190Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsSCQsc190LGxfdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihjX3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W2tidF0sZXhwb3J0czpba2J0XSxpbXBvcnRzOltyeCxIJCxzX3QsbF90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGNfdCx7ZGVjbGFyYXRpb25zOltrYnRdLGltcG9ydHM6W3J4LEgkLHNfdCxsX3RdLGV4cG9ydHM6W2tidF19KTtjbGFzcyBkX3R7fWRfdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZF90KX0sZF90Lsm1bW9kPWZvKHt0eXBlOmRfdH0pLGRfdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRfdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbTDRdLGV4cG9ydHM6W0w0XSxpbXBvcnRzOltyeF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhkX3Qse2RlY2xhcmF0aW9uczpbTDRdLGltcG9ydHM6W3J4XSxleHBvcnRzOltMNF19KTtjbGFzcyBwX3R7fXBfdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cF90KX0scF90Lsm1bW9kPWZvKHt0eXBlOnBfdH0pLHBfdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LG5fdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihwX3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W1c0LFU0XSxleHBvcnRzOltXNF0saW1wb3J0czpbcngsbl90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHBfdCx7ZGVjbGFyYXRpb25zOltXNCxVNF0saW1wb3J0czpbcngsbl90XSxleHBvcnRzOltXNF19KTtjbGFzcyBtX3R7fW1fdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8bV90KX0sbV90Lsm1bW9kPWZvKHt0eXBlOm1fdH0pLG1fdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LHZxXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1fdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbVmh0XSxleHBvcnRzOltWaHRdLGltcG9ydHM6W3J4LHZxXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKG1fdCx7ZGVjbGFyYXRpb25zOltWaHRdLGltcG9ydHM6W3J4LHZxXSxleHBvcnRzOltWaHRdfSk7Y2xhc3MgZl90e31mX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGZfdCl9LGZfdC7JtW1vZD1mbyh7dHlwZTpmX3R9KSxmX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxjX3QsSUwsdnEscjIscF90LGRfdCxtX3RdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZl90LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltMYnQsRmJ0XSxleHBvcnRzOltMYnRdLGltcG9ydHM6W3J4LGNfdCxJTCx2cSxyMixwX3QsZF90LG1fdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhmX3Qse2RlY2xhcmF0aW9uczpbTGJ0LEZidF0saW1wb3J0czpbcngsY190LElMLHZxLHIyLHBfdCxkX3QsbV90XSxleHBvcnRzOltMYnRdfSk7Y2xhc3MgdV90e311X3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHVfdCl9LHVfdC7JtW1vZD1mbyh7dHlwZTp1X3R9KSx1X3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxJTCx2cSxyMixSSixwX3QsZF90XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHVfdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbdDYsJDRdLGV4cG9ydHM6W3Q2XSxpbXBvcnRzOltyeCxJTCx2cSxyMixSSixwX3QsZF90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHVfdCx7ZGVjbGFyYXRpb25zOlt0NiwkNF0saW1wb3J0czpbcngsSUwsdnEscjIsUkoscF90LGRfdF0sZXhwb3J0czpbdDZdfSk7Y2xhc3MgZ190e31nX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGdfdCl9LGdfdC7JtW1vZD1mbyh7dHlwZTpnX3R9KSxnX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxvVixJTCx2cSxUWixYcV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihnX3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W01odCx1aHQsZWh0XSxleHBvcnRzOltNaHQsdWh0LGVodF0saW1wb3J0czpbcngsb1YsSUwsdnEsVFosWHFdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oZ190LHtkZWNsYXJhdGlvbnM6W01odCx1aHQsZWh0XSxpbXBvcnRzOltyeCxvVixJTCx2cSxUWixYcV0sZXhwb3J0czpbTWh0LHVodCxlaHRdfSk7Y2xhc3MgaF90e31oX3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGhfdCl9LGhfdC7JtW1vZD1mbyh7dHlwZTpoX3R9KSxoX3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxvVixnX3QsSCRdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoaF90LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltCaHRdLGV4cG9ydHM6W0JodF0saW1wb3J0czpbcngsb1YsZ190LEgkXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGhfdCx7ZGVjbGFyYXRpb25zOltCaHRdLGltcG9ydHM6W3J4LG9WLGdfdCxIJF0sZXhwb3J0czpbQmh0XX0pO2NsYXNzIGJfdHt9Yl90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxiX3QpfSxiX3QuybVtb2Q9Zm8oe3R5cGU6Yl90fSksYl90Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdFksSUwsbnEsVFosUFksSE5dXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoYl90LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltmNixtNl0sZXhwb3J0czpbZjZdLGltcG9ydHM6W3J4LHRZLElMLG5xLFRaLFBZLEhOXSxlbnRyeUNvbXBvbmVudHM6W2Y2XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGJfdCx7ZGVjbGFyYXRpb25zOltmNixtNl0saW1wb3J0czpbcngsdFksSUwsbnEsVFosUFksSE5dLGV4cG9ydHM6W2Y2XX0pO2NsYXNzIHlfdHt9eV90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx5X3QpfSx5X3QuybVtb2Q9Zm8oe3R5cGU6eV90fSkseV90Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsYl90LG5fdCxzX3QsaF90LGxfdCxJTCx2cSxYcSxyMixIJCxkX3QsbV90XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHlfdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbY2J0LHJidF0sZXhwb3J0czpbY2J0XSxpbXBvcnRzOltyeCxiX3Qsbl90LHNfdCxoX3QsbF90LElMLHZxLFhxLHIyLEgkLGRfdCxtX3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oeV90LHtkZWNsYXJhdGlvbnM6W2NidCxyYnRdLGltcG9ydHM6W3J4LGJfdCxuX3Qsc190LGhfdCxsX3QsSUwsdnEsWHEscjIsSCQsZF90LG1fdF0sZXhwb3J0czpbY2J0XX0pO2NsYXNzIF9fdHt9X190Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxfX3QpfSxfX3QuybVtb2Q9Zm8oe3R5cGU6X190fSksX190Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdV90LHlfdCxmX3Qsc190XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKF9fdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbQzQsR2J0LFlidF0sZXhwb3J0czpbQzQsWWJ0XSxpbXBvcnRzOltyeCx1X3QseV90LGZfdCxzX3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oX190LHtkZWNsYXJhdGlvbnM6W0M0LEdidCxZYnRdLGltcG9ydHM6W3J4LHVfdCx5X3QsZl90LHNfdF0sZXhwb3J0czpbQzQsWWJ0XX0pO2NsYXNzIENfdHt9Q190Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxDX3QpfSxDX3QuybVtb2Q9Zm8oe3R5cGU6Q190fSksQ190Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsUFldXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQ190LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltSeXRdLGV4cG9ydHM6W1J5dF0saW1wb3J0czpbcngsUFldfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oQ190LHtkZWNsYXJhdGlvbnM6W1J5dF0saW1wb3J0czpbcngsUFldLGV4cG9ydHM6W1J5dF19KTtjbGFzcyBNX3R7fU1fdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TV90KX0sTV90Lsm1bW9kPWZvKHt0eXBlOk1fdH0pLE1fdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LENfdCxJTCx6NCxNWix2cSxQWSxSSixJTixpX3RdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTV90LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltMeXQsSHl0LEZ5dF0sZXhwb3J0czpbTHl0XSxpbXBvcnRzOltyeCxDX3QsSUwsejQsTVosdnEsUFksUkosSU4saV90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKE1fdCx7ZGVjbGFyYXRpb25zOltMeXQsSHl0LEZ5dF0saW1wb3J0czpbcngsQ190LElMLHo0LE1aLHZxLFBZLFJKLElOLGlfdF0sZXhwb3J0czpbTHl0XX0pO2NsYXNzIHZfdHt9dl90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx2X3QpfSx2X3QuybVtb2Q9Zm8oe3R5cGU6dl90fSksdl90Lsm1aW5qPURuKHtpbXBvcnRzOltbX190LHJ4LG9fdCxxMyxJTCx6NCx2cSxUWixyMixNX3QsaUJdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodl90LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltpeXQsYXl0LEN5dCxNeXQsYnl0LHl5dCx4eXQsT3l0LGt5dCxTeXQsV3l0LEd5dCxPNCxQNCxkeXQscHl0XSxleHBvcnRzOltHeXRdLGltcG9ydHM6W19fdCxyeCxvX3QscTMsSUwsejQsdnEsVFoscjIsTV90LGlCXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKHZfdCx7ZGVjbGFyYXRpb25zOltpeXQsYXl0LEN5dCxNeXQsYnl0LHl5dCx4eXQsT3l0LGt5dCxTeXQsV3l0LEd5dCxPNCxQNCxkeXQscHl0XSxpbXBvcnRzOltfX3Qscngsb190LHEzLElMLHo0LHZxLFRaLHIyLE1fdCxpQl0sZXhwb3J0czpbR3l0XX0pO2NsYXNzIHhfdHt9eF90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx4X3QpfSx4X3QuybVtb2Q9Zm8oe3R5cGU6eF90fSkseF90Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdF90LCR5dCx2X3QsdnEsTV90LHJfdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4X3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W1F5dCxYeXQsS3l0XSxleHBvcnRzOltReXRdLGltcG9ydHM6W3J4LHRfdCwkeXQsdl90LHZxLE1fdCxyX3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oeF90LHtkZWNsYXJhdGlvbnM6W1F5dCxYeXQsS3l0XSxpbXBvcnRzOltyeCx0X3QsJHl0LHZfdCx2cSxNX3Qscl90XSxleHBvcnRzOltReXRdfSk7ZnVuY3Rpb24gT190KCl7cmV0dXJuW3thY3Rpb25DcmVhdG9yOnpBLGFsZXJ0RnJvbUFjdGlvbjp0PT57Y29uc3R7d2FzUGlubmVkOmUsY2FuQ3JlYXRlTmV3UGluczpufT10O3JldHVybiBlfHxuP251bGw6e2xvY2FsaXplZE1lc3NhZ2U6Ik1heCBwaW4gbGltaXQgZXhjZWVkZWQuIFJlbW92ZSBleGlzdGluZyBwaW5zIGJlZm9yZSBhZGRpbmcgbW9yZS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90ZW5zb3JmbG93L3RlbnNvcmJvYXJkL2lzc3Vlcy80MjQyIn19fV19ZnVuY3Rpb24gUF90KCl7cmV0dXJuIGJTKEN6LCh0PT4oe3NjYWxhclNtb290aGluZzp0fSkpKX1mdW5jdGlvbiB3X3QoKXtyZXR1cm4gYlMoYnosKHQ9Pih7aWdub3JlT3V0bGllcnM6dH0pKSl9ZnVuY3Rpb24ga190KCl7cmV0dXJuIGJTKGh6LCh0PT4oe3Rvb2x0aXBTb3J0U3RyaW5nOlN0cmluZyh0KX0pKSl9ZnVuY3Rpb24gU190KCl7cmV0dXJuIGJTKFR6LCh0PT4oe3RpbWVTZXJpZXNQcm9tb3Rpb25EaXNtaXNzZWQ6IXR9KSkpfWZ1bmN0aW9uIERfdCgpe3JldHVybiBiUyhOeiwodD0+KHt0aW1lU2VyaWVzU2V0dGluZ3NQYW5lT3BlbmVkOnR9KSkpfWZ1bmN0aW9uIFJfdCgpe3JldHVybiBiUyhneiwodD0+KHt0aW1lU2VyaWVzQ2FyZE1pbldpZHRoOnR9KSkpfWNsYXNzIEVfdHt9ZnVuY3Rpb24gQV90KHQpe3JldHVybiB0LnN0YXJ0c1dpdGgoImNvdW50QCIpfWZ1bmN0aW9uIFRfdCh0KXtyZXR1cm4gdC5zdGFydHNXaXRoKCJuUE1JQCIpfHx0LnN0YXJ0c1dpdGgoIm5QTUlfZGlmZkAiKX1mdW5jdGlvbiBOX3QodCl7cmV0dXJuIHQuc3RhcnRzV2l0aCgiblBNSUAiKX1mdW5jdGlvbiB6X3QodCl7cmV0dXJuIHQuc3BsaXQoIkAiLDIpWzFdfUVfdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RV90KX0sRV90Lsm1bW9kPWZvKHt0eXBlOkVfdH0pLEVfdC7JtWluaj1Ebih7cHJvdmlkZXJzOlt7cHJvdmlkZTpmMCx1c2VGYWN0b3J5OmcwLGRlcHM6W3UwXX0se3Byb3ZpZGU6dTAsdXNlVmFsdWU6WE59XSxpbXBvcnRzOltbcngsUlIsZFQsTVguZm9yUGx1Z2luKCRULFF5dCksSE4seF90LFRTLmZvckZlYXR1cmUoWk4sczAsZjApLGhELmZvckZlYXR1cmUoW20wXSksbVQucmVnaXN0ZXJBbGVydEFjdGlvbnMoT190KSx6Ui5kZWZpbmVHbG9iYWxTZXR0aW5nKFBfdCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyh3X3QpLHpSLmRlZmluZUdsb2JhbFNldHRpbmcoa190KSx6Ui5kZWZpbmVHbG9iYWxTZXR0aW5nKFNfdCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyhEX3QpLHpSLmRlZmluZUdsb2JhbFNldHRpbmcoUl90KV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihFX3QsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltyeCxSUixkVCxNWC5mb3JQbHVnaW4oJFQsUXl0KSxITix4X3QsVFMuZm9yRmVhdHVyZShaTixzMCxmMCksaEQuZm9yRmVhdHVyZShbbTBdKSxtVC5yZWdpc3RlckFsZXJ0QWN0aW9ucyhPX3QpLHpSLmRlZmluZUdsb2JhbFNldHRpbmcoUF90KSx6Ui5kZWZpbmVHbG9iYWxTZXR0aW5nKHdfdCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyhrX3QpLHpSLmRlZmluZUdsb2JhbFNldHRpbmcoU190KSx6Ui5kZWZpbmVHbG9iYWxTZXR0aW5nKERfdCkselIuZGVmaW5lR2xvYmFsU2V0dGluZyhSX3QpXSxwcm92aWRlcnM6W3twcm92aWRlOmYwLHVzZUZhY3Rvcnk6ZzAsZGVwczpbdTBdfSx7cHJvdmlkZTp1MCx1c2VWYWx1ZTpYTn1dLGVudHJ5Q29tcG9uZW50czpbUXl0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEVfdCx7aW1wb3J0czpbcngsUlIsZFQsTVgsSE4seF90LEFTLGdELG1ULHpSLHpSLHpSLHpSLHpSLHpSXX0pO3ZhciBJX3Q9e30sSF90PXt9LEZfdD17fSxMX3Q9e30sQl90PV9PJiZfTy5fX3ZhbHVlc3x8ZnVuY3Rpb24odCl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmdFtTeW1ib2wuaXRlcmF0b3JdLG49MDtyZXR1cm4gZT9lLmNhbGwodCk6e25leHQ6ZnVuY3Rpb24oKXtyZXR1cm4gdCYmbj49dC5sZW5ndGgmJih0PXZvaWQgMCkse3ZhbHVlOnQmJnRbbisrXSxkb25lOiF0fX19fTtmdW5jdGlvbiBWX3QodCxlKXtyZXR1cm4gTWF0aC5mbG9vcihlKCkqdCl9ZnVuY3Rpb24gal90KHQpe2Zvcih2YXIgZT1bXSxuPTA7bjx0O24rKyllLnB1c2godm9pZCAwKTtyZXR1cm4gZX1mdW5jdGlvbiBVX3QodCxlKXtyZXR1cm4gal90KHQpLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gZX0pKX1mdW5jdGlvbiBXX3QodCl7cmV0dXJuIFVfdCh0LDApfWZ1bmN0aW9uIEdfdCh0KXtyZXR1cm4gdC5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrZX0pKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoTF90LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxMX3QudGF1UmFuZEludD1WX3QsTF90LnRhdVJhbmQ9ZnVuY3Rpb24gWV90KHQpe3JldHVybiB0KCl9LExfdC5ub3JtPWZ1bmN0aW9uIHFfdCh0KXt2YXIgZSxuLG89MDt0cnl7Zm9yKHZhciBpPUJfdCh0KSxhPWkubmV4dCgpOyFhLmRvbmU7YT1pLm5leHQoKSl7bys9TWF0aC5wb3coYS52YWx1ZSwyKX19Y2F0Y2godCl7ZT17ZXJyb3I6dH19ZmluYWxseXt0cnl7YSYmIWEuZG9uZSYmKG49aS5yZXR1cm4pJiZuLmNhbGwoaSl9ZmluYWxseXtpZihlKXRocm93IGUuZXJyb3J9fXJldHVybiBNYXRoLnNxcnQobyl9LExfdC5lbXB0eT1qX3QsTF90LnJhbmdlPWZ1bmN0aW9uIFpfdCh0KXtyZXR1cm4gal90KHQpLm1hcCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gZX0pKX0sTF90LmZpbGxlZD1VX3QsTF90Lnplcm9zPVdfdCxMX3Qub25lcz1mdW5jdGlvbiBYX3QodCl7cmV0dXJuIFVfdCh0LDEpfSxMX3QubGluZWFyPWZ1bmN0aW9uIEtfdCh0LGUsbil7cmV0dXJuIGpfdChuKS5tYXAoKGZ1bmN0aW9uKG8saSl7cmV0dXJuIHQraSooKGUtdCkvKG4tMSkpfSkpfSxMX3Quc3VtPUdfdCxMX3QubWVhbj1mdW5jdGlvbiBKX3QodCl7cmV0dXJuIEdfdCh0KS90Lmxlbmd0aH0sTF90Lm1heD1mdW5jdGlvbiBRX3QodCl7Zm9yKHZhciBlPTAsbj0wO248dC5sZW5ndGg7bisrKWU9dFtuXT5lP3Rbbl06ZTtyZXR1cm4gZX0sTF90Lm1heDJkPWZ1bmN0aW9uICRfdCh0KXtmb3IodmFyIGU9MCxuPTA7bjx0Lmxlbmd0aDtuKyspZm9yKHZhciBvPTA7bzx0W25dLmxlbmd0aDtvKyspZT10W25dW29dPmU/dFtuXVtvXTplO3JldHVybiBlfSxMX3QucmVqZWN0aW9uU2FtcGxlPWZ1bmN0aW9uIHRDdCh0LGUsbil7Zm9yKHZhciBvPVdfdCh0KSxpPTA7aTx0O2krKylmb3IodmFyIGE9ITA7YTspe2Zvcih2YXIgcj1WX3QoZSxuKSxzPSExLGw9MDtsPGk7bCsrKWlmKHI9PT1vW2xdKXtzPSEwO2JyZWFrfXN8fChhPSExKSxvW2ldPXJ9cmV0dXJuIG99LExfdC5yZXNoYXBlMmQ9ZnVuY3Rpb24gZUN0KHQsZSxuKXt2YXIgbz1bXSxpPTA7aWYodC5sZW5ndGghPT1lKm4pdGhyb3cgbmV3IEVycm9yKCJBcnJheSBkaW1lbnNpb25zIG11c3QgbWF0Y2ggaW5wdXQgbGVuZ3RoLiIpO2Zvcih2YXIgYT0wO2E8ZTthKyspe2Zvcih2YXIgcj1bXSxzPTA7czxuO3MrKylyLnB1c2godFtpXSksaSs9MTtvLnB1c2gocil9cmV0dXJuIG99O3ZhciBuQ3Q9X08mJl9PLl9faW1wb3J0U3Rhcnx8ZnVuY3Rpb24odCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPXt9O2lmKG51bGwhPXQpZm9yKHZhciBuIGluIHQpT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodCxuKSYmKGVbbl09dFtuXSk7cmV0dXJuIGUuZGVmYXVsdD10LGV9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShGX3QsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBvQ3Q9bkN0KExfdCk7ZnVuY3Rpb24gaUN0KHQsZSl7dmFyIG49ZnVuY3Rpb24obil7cmV0dXJuIG9DdC5lbXB0eSh0KS5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuIG9DdC5maWxsZWQoZSxuKX0pKX0sbz1bXTtyZXR1cm4gby5wdXNoKG4oLTEpKSxvLnB1c2gobigxLzApKSxvLnB1c2gobigwKSksb31mdW5jdGlvbiBhQ3QodCxlLG4sbyxpKXtlPU1hdGguZmxvb3IoZSk7dmFyIGE9dFswXVtlXTtpZihuPj10WzFdW2VdWzBdKXJldHVybiAwO2Zvcih2YXIgcj0wO3I8YS5sZW5ndGg7cisrKWlmKG89PT1hW3JdKXJldHVybiAwO3JldHVybiByQ3QodCxlLG4sbyxpKX1mdW5jdGlvbiByQ3QodCxlLG4sbyxpKXt2YXIgYT10WzBdW2VdLHI9dFsxXVtlXSxzPXRbMl1bZV07aWYobj49clswXSlyZXR1cm4gMDtyWzBdPW4sYVswXT1vLHNbMF09aTtmb3IodmFyIGw9MCxjPTA7Oyl7dmFyIGQ9MipsKzEscD1kKzEsbT10WzBdWzBdLmxlbmd0aDtpZihkPj1tKWJyZWFrO2lmKHA+PW0pe2lmKCEocltkXT5uKSlicmVhaztjPWR9ZWxzZSBpZihyW2RdPj1yW3BdKXtpZighKG48cltkXSkpYnJlYWs7Yz1kfWVsc2V7aWYoIShuPHJbcF0pKWJyZWFrO2M9cH1yW2xdPXJbY10sYVtsXT1hW2NdLHNbbF09c1tjXSxsPWN9cmV0dXJuIHJbbF09bixhW2xdPW8sc1tsXT1pLDF9ZnVuY3Rpb24gc0N0KHQsZSxuLG8pe2Zvcig7MipvKzE8bjspe3ZhciBpPTIqbysxLGE9aSsxLHI9bztpZih0W3JdPHRbaV0mJihyPWkpLGE8biYmdFtyXTx0W2FdJiYocj1hKSxyPT09bylicmVhazt2YXIgcz10W29dO3Rbb109dFtyXSx0W3JdPXM7dmFyIGw9ZVtvXTtlW29dPWVbcl0sZVtyXT1sLG89cn19Rl90Lm1ha2VIZWFwPWlDdCxGX3QucmVqZWN0aW9uU2FtcGxlPWZ1bmN0aW9uIGxDdCh0LGUsbil7Zm9yKHZhciBvPW9DdC56ZXJvcyh0KSxpPTA7aTx0O2krKyl7Zm9yKHZhciBhPSEwLHI9MDthOyl7cj1vQ3QudGF1UmFuZEludChlLG4pO2Zvcih2YXIgcz0hMSxsPTA7bDxpO2wrKylpZihyPT09b1tsXSl7cz0hMDticmVha31zfHwoYT0hMSl9b1tpXT1yfXJldHVybiBvfSxGX3QuaGVhcFB1c2g9YUN0LEZfdC51bmNoZWNrZWRIZWFwUHVzaD1yQ3QsRl90LmJ1aWxkQ2FuZGlkYXRlcz1mdW5jdGlvbiBjQ3QodCxlLG4sbyxpKXtmb3IodmFyIGE9aUN0KGUsbykscj0wO3I8ZTtyKyspZm9yKHZhciBzPTA7czxuO3MrKylpZighKHRbMF1bcl1bc108MCkpe3ZhciBsPXRbMF1bcl1bc10sYz10WzJdW3JdW3NdLGQ9b0N0LnRhdVJhbmQoaSk7YUN0KGEscixkLGwsYyksYUN0KGEsbCxkLHIsYyksdFsyXVtyXVtzXT0wfXJldHVybiBhfSxGX3QuZGVoZWFwU29ydD1mdW5jdGlvbiBkQ3QodCl7Zm9yKHZhciBlPXRbMF0sbj10WzFdLG89MDtvPGUubGVuZ3RoO28rKylmb3IodmFyIGk9ZVtvXSxhPW5bb10scj0wO3I8aS5sZW5ndGgtMTtyKyspe3ZhciBzPWkubGVuZ3RoLXItMSxsPWEubGVuZ3RoLXItMSxjPWlbMF07aVswXT1pW3NdLGlbc109Yzt2YXIgZD1hWzBdO2FbMF09YVtsXSxhW2xdPWQsc0N0KGEsaSxsLDApfXJldHVybntpbmRpY2VzOmUsd2VpZ2h0czpufX0sRl90LnNtYWxsZXN0RmxhZ2dlZD1mdW5jdGlvbiBwQ3QodCxlKXtmb3IodmFyIG49dFswXVtlXSxvPXRbMV1bZV0saT10WzJdW2VdLGE9MS8wLHI9LTEscz0wO3M+bi5sZW5ndGg7cysrKTE9PT1pW3NdJiZvW3NdPGEmJihhPW9bc10scj1zKTtyZXR1cm4gcj49MD8oaVtyXT0wLE1hdGguZmxvb3IobltyXSkpOi0xfTt2YXIgbUN0LGZDdD17fSx1Q3Q9X08mJl9PLl9fcmVhZHx8ZnVuY3Rpb24odCxlKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl07aWYoIW4pcmV0dXJuIHQ7dmFyIG8saSxhPW4uY2FsbCh0KSxyPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT1lfHxlLS0gPjApJiYhKG89YS5uZXh0KCkpLmRvbmU7KXIucHVzaChvLnZhbHVlKX1jYXRjaCh0KXtpPXtlcnJvcjp0fX1maW5hbGx5e3RyeXtvJiYhby5kb25lJiYobj1hLnJldHVybikmJm4uY2FsbChhKX1maW5hbGx5e2lmKGkpdGhyb3cgaS5lcnJvcn19cmV0dXJuIHJ9LGdDdD1fTyYmX08uX192YWx1ZXN8fGZ1bmN0aW9uKHQpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXSxuPTA7cmV0dXJuIGU/ZS5jYWxsKHQpOntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHQmJm4+PXQubGVuZ3RoJiYodD12b2lkIDApLHt2YWx1ZTp0JiZ0W24rK10sZG9uZTohdH19fX0saEN0PV9PJiZfTy5fX2ltcG9ydFN0YXJ8fGZ1bmN0aW9uKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgZT17fTtpZihudWxsIT10KWZvcih2YXIgbiBpbiB0KU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pO3JldHVybiBlLmRlZmF1bHQ9dCxlfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZkN0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYkN0PWhDdChMX3QpLHlDdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSxuLG8pe2lmKHRoaXMuZW50cmllcz1uZXcgTWFwLHRoaXMublJvd3M9MCx0aGlzLm5Db2xzPTAsdC5sZW5ndGghPT1lLmxlbmd0aHx8dC5sZW5ndGghPT1uLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoInJvd3MsIGNvbHMgYW5kIHZhbHVlcyBhcnJheXMgbXVzdCBhbGwgaGF2ZSB0aGUgc2FtZSBsZW5ndGgiKTt0aGlzLm5Sb3dzPW9bMF0sdGhpcy5uQ29scz1vWzFdO2Zvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgYT10W2ldLHI9ZVtpXTt0aGlzLmNoZWNrRGltcyhhLHIpO3ZhciBzPXRoaXMubWFrZUtleShhLHIpO3RoaXMuZW50cmllcy5zZXQocyx7dmFsdWU6bltpXSxyb3c6YSxjb2w6cn0pfX1yZXR1cm4gdC5wcm90b3R5cGUubWFrZUtleT1mdW5jdGlvbih0LGUpe3JldHVybiB0KyI6IitlfSx0LnByb3RvdHlwZS5jaGVja0RpbXM9ZnVuY3Rpb24odCxlKXtpZighKHQ8dGhpcy5uUm93cyYmZTx0aGlzLm5Db2xzKSl0aHJvdyBuZXcgRXJyb3IoInJvdyBhbmQvb3IgY29sIHNwZWNpZmllZCBvdXRzaWRlIG9mIG1hdHJpeCBkaW1lbnNpb25zIil9LHQucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LGUsbil7dGhpcy5jaGVja0RpbXModCxlKTt2YXIgbz10aGlzLm1ha2VLZXkodCxlKTt0aGlzLmVudHJpZXMuaGFzKG8pP3RoaXMuZW50cmllcy5nZXQobykudmFsdWU9bjp0aGlzLmVudHJpZXMuc2V0KG8se3ZhbHVlOm4scm93OnQsY29sOmV9KX0sdC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQsZSxuKXt2b2lkIDA9PT1uJiYobj0wKSx0aGlzLmNoZWNrRGltcyh0LGUpO3ZhciBvPXRoaXMubWFrZUtleSh0LGUpO3JldHVybiB0aGlzLmVudHJpZXMuaGFzKG8pP3RoaXMuZW50cmllcy5nZXQobykudmFsdWU6bn0sdC5wcm90b3R5cGUuZ2V0QWxsPWZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PSEwKTt2YXIgZT1bXTtyZXR1cm4gdGhpcy5lbnRyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2UucHVzaCh0KX0pKSx0JiZlLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQucm93PT09ZS5yb3c/dC5jb2wtZS5jb2w6dC5yb3ctZS5yb3d9KSksZX0sdC5wcm90b3R5cGUuZ2V0RGltcz1mdW5jdGlvbigpe3JldHVyblt0aGlzLm5Sb3dzLHRoaXMubkNvbHNdfSx0LnByb3RvdHlwZS5nZXRSb3dzPWZ1bmN0aW9uKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5lbnRyaWVzLChmdW5jdGlvbih0KXt2YXIgZT11Q3QodCwyKTtyZXR1cm4gZVsxXS5yb3d9KSl9LHQucHJvdG90eXBlLmdldENvbHM9ZnVuY3Rpb24oKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmVudHJpZXMsKGZ1bmN0aW9uKHQpe3ZhciBlPXVDdCh0LDIpO3JldHVybiBlWzFdLmNvbH0pKX0sdC5wcm90b3R5cGUuZ2V0VmFsdWVzPWZ1bmN0aW9uKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5lbnRyaWVzLChmdW5jdGlvbih0KXt2YXIgZT11Q3QodCwyKTtyZXR1cm4gZVsxXS52YWx1ZX0pKX0sdC5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbih0KXt0aGlzLmVudHJpZXMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQoZS52YWx1ZSxlLnJvdyxlLmNvbCl9KSl9LHQucHJvdG90eXBlLm1hcD1mdW5jdGlvbihlKXt2YXIgbj1bXTt0aGlzLmVudHJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7bi5wdXNoKGUodC52YWx1ZSx0LnJvdyx0LmNvbCkpfSkpO3ZhciBvPVt0aGlzLm5Sb3dzLHRoaXMubkNvbHNdO3JldHVybiBuZXcgdCh0aGlzLmdldFJvd3MoKSx0aGlzLmdldENvbHMoKSxuLG8pfSx0LnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPWJDdC5lbXB0eSh0aGlzLm5Sb3dzKS5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuIGJDdC56ZXJvcyh0Lm5Db2xzKX0pKTtyZXR1cm4gdGhpcy5lbnRyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2VbdC5yb3ddW3QuY29sXT10LnZhbHVlfSkpLGV9LHR9KSgpO2ZDdC5TcGFyc2VNYXRyaXg9eUN0LGZDdC50cmFuc3Bvc2U9ZnVuY3Rpb24gX0N0KHQpe3ZhciBlPVtdLG49W10sbz1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0LGksYSl7ZS5wdXNoKGkpLG4ucHVzaChhKSxvLnB1c2godCl9KSksbmV3IHlDdChuLGUsbyxbdC5uQ29scyx0Lm5Sb3dzXSl9LGZDdC5pZGVudGl0eT1mdW5jdGlvbiBDQ3QodCl7Zm9yKHZhciBlPXVDdCh0LDEpWzBdLG49bmV3IHlDdChbXSxbXSxbXSx0KSxvPTA7bzxlO28rKyluLnNldChvLG8sMSk7cmV0dXJuIG59LGZDdC5wYWlyd2lzZU11bHRpcGx5PWZ1bmN0aW9uIE1DdCh0LGUpe3JldHVybiBEQ3QodCxlLChmdW5jdGlvbih0LGUpe3JldHVybiB0KmV9KSl9LGZDdC5hZGQ9ZnVuY3Rpb24gdkN0KHQsZSl7cmV0dXJuIERDdCh0LGUsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQrZX0pKX0sZkN0LnN1YnRyYWN0PWZ1bmN0aW9uIHhDdCh0LGUpe3JldHVybiBEQ3QodCxlLChmdW5jdGlvbih0LGUpe3JldHVybiB0LWV9KSl9LGZDdC5tYXhpbXVtPWZ1bmN0aW9uIE9DdCh0LGUpe3JldHVybiBEQ3QodCxlLChmdW5jdGlvbih0LGUpe3JldHVybiB0PmU/dDplfSkpfSxmQ3QubXVsdGlwbHlTY2FsYXI9ZnVuY3Rpb24gUEN0KHQsZSl7cmV0dXJuIHQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdCplfSkpfSxmQ3QuZWxpbWluYXRlWmVyb3M9ZnVuY3Rpb24gd0N0KHQpe2Zvcih2YXIgZT1uZXcgU2V0LG49dC5nZXRWYWx1ZXMoKSxvPXQuZ2V0Um93cygpLGk9dC5nZXRDb2xzKCksYT0wO2E8bi5sZW5ndGg7YSsrKTA9PT1uW2FdJiZlLmFkZChhKTt2YXIgcj1mdW5jdGlvbih0LG4pe3JldHVybiFlLmhhcyhuKX0scz1uLmZpbHRlcihyKSxsPW8uZmlsdGVyKHIpLGM9aS5maWx0ZXIocik7cmV0dXJuIG5ldyB5Q3QobCxjLHMsdC5nZXREaW1zKCkpfSxmQ3Qubm9ybWFsaXplPWZ1bmN0aW9uIGtDdCh0LGUpe3ZhciBuLG87dm9pZCAwPT09ZSYmKGU9ImwyIik7dmFyIGk9U0N0W2VdLGE9bmV3IE1hcDt0LmZvckVhY2goKGZ1bmN0aW9uKHQsZSxuKXt2YXIgbz1hLmdldChlKXx8W107by5wdXNoKG4pLGEuc2V0KGUsbyl9KSk7dmFyIHI9bmV3IHlDdChbXSxbXSxbXSx0LmdldERpbXMoKSkscz1mdW5jdGlvbihlKXtmb3IodmFyIG49YS5nZXQoZSkuc29ydCgpLG89bi5tYXAoKGZ1bmN0aW9uKG4pe3JldHVybiB0LmdldChlLG4pfSkpLHM9aShvKSxsPTA7bDxzLmxlbmd0aDtsKyspci5zZXQoZSxuW2xdLHNbbF0pfTt0cnl7Zm9yKHZhciBsPWdDdChhLmtleXMoKSksYz1sLm5leHQoKTshYy5kb25lO2M9bC5uZXh0KCkpe3MoYy52YWx1ZSl9fWNhdGNoKHQpe249e2Vycm9yOnR9fWZpbmFsbHl7dHJ5e2MmJiFjLmRvbmUmJihvPWwucmV0dXJuKSYmby5jYWxsKGwpfWZpbmFsbHl7aWYobil0aHJvdyBuLmVycm9yfX1yZXR1cm4gcn07dmFyIFNDdD0oKG1DdD17fSkubWF4PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0tMS8wLG49MDtuPHQubGVuZ3RoO24rKyllPXRbbl0+ZT90W25dOmU7cmV0dXJuIHQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC9lfSkpfSxtQ3QubDE9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAsbj0wO248dC5sZW5ndGg7bisrKWUrPXRbbl07cmV0dXJuIHQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC9lfSkpfSxtQ3QubDI9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAsbj0wO248dC5sZW5ndGg7bisrKWUrPU1hdGgucG93KHRbbl0sMik7cmV0dXJuIHQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KHQsMikvZSl9KSl9LG1DdCk7ZnVuY3Rpb24gREN0KHQsZSxuKXtmb3IodmFyIG89bmV3IFNldCxpPVtdLGE9W10scj1bXSxzPWZ1bmN0aW9uKG8scyl7aS5wdXNoKG8pLGEucHVzaChzKTt2YXIgbD1uKHQuZ2V0KG8scyksZS5nZXQobyxzKSk7ci5wdXNoKGwpfSxsPXQuZ2V0VmFsdWVzKCksYz10LmdldFJvd3MoKSxkPXQuZ2V0Q29scygpLHA9MDtwPGwubGVuZ3RoO3ArKyl7by5hZGQoKGc9Y1twXSkrIjoiKyhoPWRbcF0pKSxzKGcsaCl9dmFyIG09ZS5nZXRWYWx1ZXMoKSxmPWUuZ2V0Um93cygpLHU9ZS5nZXRDb2xzKCk7Zm9yKHA9MDtwPG0ubGVuZ3RoO3ArKyl7dmFyIGcsaDtvLmhhcygoZz1mW3BdKSsiOiIrKGg9dVtwXSkpfHxzKGcsaCl9cmV0dXJuIG5ldyB5Q3QoaSxhLHIsW3QublJvd3MsdC5uQ29sc10pfWZDdC5nZXRDU1I9ZnVuY3Rpb24gUkN0KHQpe3ZhciBlPVtdO3QuZm9yRWFjaCgoZnVuY3Rpb24odCxuLG8pe2UucHVzaCh7dmFsdWU6dCxyb3c6bixjb2w6b30pfSkpLGUuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5yb3c9PT1lLnJvdz90LmNvbC1lLmNvbDp0LnJvdy1lLnJvd30pKTtmb3IodmFyIG49W10sbz1bXSxpPVtdLGE9LTEscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgcz1lW3JdLGw9cy5yb3csYz1zLmNvbCxkPXMudmFsdWU7bCE9PWEmJihhPWwsaS5wdXNoKHIpKSxuLnB1c2goYyksby5wdXNoKGQpfXJldHVybntpbmRpY2VzOm4sdmFsdWVzOm8saW5kcHRyOml9fTt2YXIgRUN0PXt9LEFDdD17fSxUQ3Q9X08mJl9PLl9fcmVhZHx8ZnVuY3Rpb24odCxlKXt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl07aWYoIW4pcmV0dXJuIHQ7dmFyIG8saSxhPW4uY2FsbCh0KSxyPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT1lfHxlLS0gPjApJiYhKG89YS5uZXh0KCkpLmRvbmU7KXIucHVzaChvLnZhbHVlKX1jYXRjaCh0KXtpPXtlcnJvcjp0fX1maW5hbGx5e3RyeXtvJiYhby5kb25lJiYobj1hLnJldHVybikmJm4uY2FsbChhKX1maW5hbGx5e2lmKGkpdGhyb3cgaS5lcnJvcn19cmV0dXJuIHJ9LE5DdD1fTyYmX08uX19zcHJlYWR8fGZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXQ9dC5jb25jYXQoVEN0KGFyZ3VtZW50c1tlXSkpO3JldHVybiB0fSx6Q3Q9X08mJl9PLl9fdmFsdWVzfHxmdW5jdGlvbih0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl0sbj0wO3JldHVybiBlP2UuY2FsbCh0KTp7bmV4dDpmdW5jdGlvbigpe3JldHVybiB0JiZuPj10Lmxlbmd0aCYmKHQ9dm9pZCAwKSx7dmFsdWU6dCYmdFtuKytdLGRvbmU6IXR9fX19LElDdD1fTyYmX08uX19pbXBvcnRTdGFyfHxmdW5jdGlvbih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIGU9e307aWYobnVsbCE9dClmb3IodmFyIG4gaW4gdClPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKTtyZXR1cm4gZS5kZWZhdWx0PXQsZX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEFDdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEhDdD1JQ3QoTF90KSxGQ3Q9ZnVuY3Rpb24gRkN0KHQsZSxuLG8pe3RoaXMuaHlwZXJwbGFuZXM9dCx0aGlzLm9mZnNldHM9ZSx0aGlzLmNoaWxkcmVuPW4sdGhpcy5pbmRpY2VzPW99O2Z1bmN0aW9uIExDdCh0LGUsbixvLGkpe2lmKHZvaWQgMD09PW4mJihuPTMwKSxlLmxlbmd0aD5uKXt2YXIgYT0oZnVuY3Rpb24gcih0LGUsbil7Zm9yKHZhciBvPXRbMF0ubGVuZ3RoLGk9SEN0LnRhdVJhbmRJbnQoZS5sZW5ndGgsbiksYT1IQ3QudGF1UmFuZEludChlLmxlbmd0aCxuKSxyPWVbaV0scz1lW2E9KGErPWk9PT1hPzE6MCklZS5sZW5ndGhdLGw9MCxjPUhDdC56ZXJvcyhvKSxkPTA7ZDxjLmxlbmd0aDtkKyspY1tkXT10W3JdW2RdLXRbc11bZF0sbC09Y1tkXSoodFtyXVtkXSt0W3NdW2RdKS8yO3ZhciBwPTAsbT0wLGY9SEN0Lnplcm9zKGUubGVuZ3RoKTtmb3IoZD0wO2Q8ZS5sZW5ndGg7ZCsrKXtmb3IodmFyIHU9bCxnPTA7ZzxvO2crKyl1Kz1jW2ddKnRbZVtkXV1bZ107MD09PXU/KGZbZF09SEN0LnRhdVJhbmRJbnQoMixuKSwwPT09ZltkXT9wKz0xOm0rPTEpOnU+MD8oZltkXT0wLHArPTEpOihmW2RdPTEsbSs9MSl9dmFyIGg9SEN0Lnplcm9zKHApLGI9SEN0Lnplcm9zKG0pO3A9MCxtPTA7Zm9yKGQ9MDtkPGYubGVuZ3RoO2QrKykwPT09ZltkXT8oaFtwXT1lW2RdLHArPTEpOihiW21dPWVbZF0sbSs9MSk7cmV0dXJue2luZGljZXNMZWZ0OmgsaW5kaWNlc1JpZ2h0OmIsaHlwZXJwbGFuZTpjLG9mZnNldDpsfX0pKHQsZSxpKSxzPWEuaW5kaWNlc1JpZ2h0LGw9YS5oeXBlcnBsYW5lLGM9YS5vZmZzZXQ7cmV0dXJue2xlZnRDaGlsZDpMQ3QodCxhLmluZGljZXNMZWZ0LG4sbysxLGkpLHJpZ2h0Q2hpbGQ6TEN0KHQscyxuLG8rMSxpKSxpc0xlYWY6ITEsaHlwZXJwbGFuZTpsLG9mZnNldDpjfX1yZXR1cm57aW5kaWNlczplLGlzTGVhZjohMH19ZnVuY3Rpb24gQkN0KHQsZSxuLG8saSxhLHIpe3ZhciBzO2lmKHQuaXNMZWFmKXJldHVybiBvW2FdWzBdPS1yLChzPWlbcl0pLnNwbGljZS5hcHBseShzLE5DdChbMCx0LmluZGljZXMubGVuZ3RoXSx0LmluZGljZXMpKSx7bm9kZU51bTphLGxlYWZOdW06cis9MX07ZVthXT10Lmh5cGVycGxhbmUsblthXT10Lm9mZnNldCxvW2FdWzBdPWErMTt2YXIgbD1hLGM9QkN0KHQubGVmdENoaWxkLGUsbixvLGksYSsxLHIpO3JldHVybiByPWMubGVhZk51bSxvW2xdWzFdPShhPWMubm9kZU51bSkrMSx7bm9kZU51bTooYz1CQ3QodC5yaWdodENoaWxkLGUsbixvLGksYSsxLHIpKS5ub2RlTnVtLGxlYWZOdW06Yy5sZWFmTnVtfX1mdW5jdGlvbiBWQ3QodCl7cmV0dXJuIHQuaXNMZWFmPzE6MStWQ3QodC5sZWZ0Q2hpbGQpK1ZDdCh0LnJpZ2h0Q2hpbGQpfWZ1bmN0aW9uIGpDdCh0KXtyZXR1cm4gdC5pc0xlYWY/MTpqQ3QodC5sZWZ0Q2hpbGQpK2pDdCh0LnJpZ2h0Q2hpbGQpfWZ1bmN0aW9uIFVDdCh0LGUsbixvKXtmb3IodmFyIGk9ZSxhPTA7YTxuLmxlbmd0aDthKyspaSs9dFthXSpuW2FdO3JldHVybiAwPT09aT9IQ3QudGF1UmFuZEludCgyLG8pOmk+MD8wOjF9QUN0LkZsYXRUcmVlPUZDdCxBQ3QubWFrZUZvcmVzdD1mdW5jdGlvbiBXQ3QodCxlLG4sbyl7dmFyIGk9TWF0aC5tYXgoMTAsZSk7cmV0dXJuIEhDdC5yYW5nZShuKS5tYXAoKGZ1bmN0aW9uKGUsbil7cmV0dXJuKGZ1bmN0aW9uIGEodCxlLG4sbyl7dm9pZCAwPT09ZSYmKGU9MzApO3ZhciBpPUhDdC5yYW5nZSh0Lmxlbmd0aCk7cmV0dXJuIExDdCh0LGksZSxuLG8pfSkodCxpLG4sbyl9KSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4oZnVuY3Rpb24gZSh0LG4pe3ZhciBvPVZDdCh0KSxpPWpDdCh0KSxhPUhDdC5yYW5nZShvKS5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuIEhDdC56ZXJvcyh0Lmh5cGVycGxhbmU/dC5oeXBlcnBsYW5lLmxlbmd0aDowKX0pKSxyPUhDdC56ZXJvcyhvKSxzPUhDdC5yYW5nZShvKS5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuWy0xLC0xXX0pKSxsPUhDdC5yYW5nZShpKS5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuIEhDdC5yYW5nZShuKS5tYXAoKGZ1bmN0aW9uKCl7cmV0dXJuLTF9KSl9KSk7cmV0dXJuIEJDdCh0LGEscixzLGwsMCwwKSxuZXcgRkN0KGEscixzLGwpfSkodCxpKX0pKX0sQUN0Lm1ha2VMZWFmQXJyYXk9ZnVuY3Rpb24gR0N0KHQpe3ZhciBlLG47aWYodC5sZW5ndGg+MCl7dmFyIG89W107dHJ5e2Zvcih2YXIgaT16Q3QodCksYT1pLm5leHQoKTshYS5kb25lO2E9aS5uZXh0KCkpe28ucHVzaC5hcHBseShvLE5DdChhLnZhbHVlLmluZGljZXMpKX19Y2F0Y2godCl7ZT17ZXJyb3I6dH19ZmluYWxseXt0cnl7YSYmIWEuZG9uZSYmKG49aS5yZXR1cm4pJiZuLmNhbGwoaSl9ZmluYWxseXtpZihlKXRocm93IGUuZXJyb3J9fXJldHVybiBvfXJldHVybltbLTFdXX0sQUN0LnNlYXJjaEZsYXRUcmVlPWZ1bmN0aW9uIFlDdCh0LGUsbil7Zm9yKHZhciBvPTA7ZS5jaGlsZHJlbltvXVswXT4wOyl7bz0wPT09VUN0KGUuaHlwZXJwbGFuZXNbb10sZS5vZmZzZXRzW29dLHQsbik/ZS5jaGlsZHJlbltvXVswXTplLmNoaWxkcmVuW29dWzFdfXJldHVybiBlLmluZGljZXNbLTEqZS5jaGlsZHJlbltvXVswXV19O3ZhciBxQ3Q9X08mJl9PLl9fdmFsdWVzfHxmdW5jdGlvbih0KXt2YXIgZT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl0sbj0wO3JldHVybiBlP2UuY2FsbCh0KTp7bmV4dDpmdW5jdGlvbigpe3JldHVybiB0JiZuPj10Lmxlbmd0aCYmKHQ9dm9pZCAwKSx7dmFsdWU6dCYmdFtuKytdLGRvbmU6IXR9fX19LFpDdD1fTyYmX08uX19pbXBvcnRTdGFyfHxmdW5jdGlvbih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIGU9e307aWYobnVsbCE9dClmb3IodmFyIG4gaW4gdClPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKTtyZXR1cm4gZS5kZWZhdWx0PXQsZX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEVDdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIFhDdD1aQ3QoRl90KSxLQ3Q9WkN0KGZDdCksSkN0PVpDdChBQ3QpLFFDdD1aQ3QoTF90KTtFQ3QubWFrZU5ORGVzY2VudD1mdW5jdGlvbiAkQ3QodCxlKXtyZXR1cm4gZnVuY3Rpb24gbihvLGksYSxyLHMsbCxjLGQpe3ZvaWQgMD09PXImJihyPTEwKSx2b2lkIDA9PT1zJiYocz01MCksdm9pZCAwPT09bCYmKGw9LjAwMSksdm9pZCAwPT09YyYmKGM9LjUpLHZvaWQgMD09PWQmJihkPSEwKTtmb3IodmFyIHA9by5sZW5ndGgsbT1YQ3QubWFrZUhlYXAoby5sZW5ndGgsYSksZj0wO2Y8by5sZW5ndGg7ZisrKWZvcih2YXIgdT1YQ3QucmVqZWN0aW9uU2FtcGxlKGEsby5sZW5ndGgsZSksZz0wO2c8dS5sZW5ndGg7ZysrKXt2YXIgaD10KG9bZl0sb1t1W2ddXSk7WEN0LmhlYXBQdXNoKG0sZixoLHVbZ10sMSksWEN0LmhlYXBQdXNoKG0sdVtnXSxoLGYsMSl9aWYoZClmb3IodmFyIGI9MDtiPGkubGVuZ3RoO2IrKylmb3IoZj0wO2Y8aVtiXS5sZW5ndGgmJiEoaVtiXVtmXTwwKTtmKyspZm9yKGc9ZisxO2c8aVtiXS5sZW5ndGgmJiEoaVtiXVtnXTwwKTtnKyspe2g9dChvW2lbYl1bZl1dLG9baVtiXVtnXV0pO1hDdC5oZWFwUHVzaChtLGlbYl1bZl0saCxpW2JdW2ddLDEpLFhDdC5oZWFwUHVzaChtLGlbYl1bZ10saCxpW2JdW2ZdLDEpfWZvcihiPTA7YjxyO2IrKyl7dmFyIHk9WEN0LmJ1aWxkQ2FuZGlkYXRlcyhtLHAsYSxzLGUpLF89MDtmb3IoZj0wO2Y8cDtmKyspZm9yKGc9MDtnPHM7ZysrKXt2YXIgQz1NYXRoLmZsb29yKHlbMF1bZl1bZ10pO2lmKCEoQzwwfHxRQ3QudGF1UmFuZChlKTxjKSlmb3IodmFyIE09MDtNPHM7TSsrKXt2YXIgdj1NYXRoLmZsb29yKHlbMF1bZl1bTV0pO2lmKCEodjwwfHwheVsyXVtmXVtnXSYmIXlbMl1bZl1bTV0pKXtoPXQob1tDXSxvW3ZdKTtfKz1YQ3QuaGVhcFB1c2gobSxDLGgsdiwxKSxfKz1YQ3QuaGVhcFB1c2gobSx2LGgsQywxKX19fWlmKF88PWwqYSpvLmxlbmd0aClicmVha31yZXR1cm4gWEN0LmRlaGVhcFNvcnQobSl9fSxFQ3QubWFrZUluaXRpYWxpemF0aW9ucz1mdW5jdGlvbiB0TXQodCl7cmV0dXJue2luaXRGcm9tUmFuZG9tOmZ1bmN0aW9uIGUobixvLGksYSxyKXtmb3IodmFyIHM9MDtzPGkubGVuZ3RoO3MrKylmb3IodmFyIGw9UUN0LnJlamVjdGlvblNhbXBsZShuLG8ubGVuZ3RoLHIpLGM9MDtjPGwubGVuZ3RoO2MrKylpZighKGxbY108MCkpe3ZhciBkPXQob1tsW2NdXSxpW3NdKTtYQ3QuaGVhcFB1c2goYSxzLGQsbFtjXSwxKX19LGluaXRGcm9tVHJlZTpmdW5jdGlvbiBuKGUsbyxpLGEscil7Zm9yKHZhciBzPTA7czxpLmxlbmd0aDtzKyspZm9yKHZhciBsPUpDdC5zZWFyY2hGbGF0VHJlZShpW3NdLGUsciksYz0wO2M8bC5sZW5ndGg7YysrKXtpZihsW2NdPDApcmV0dXJuO3ZhciBkPXQob1tsW2NdXSxpW3NdKTtYQ3QuaGVhcFB1c2goYSxzLGQsbFtjXSwxKX19fX0sRUN0Lm1ha2VJbml0aWFsaXplZE5OU2VhcmNoPWZ1bmN0aW9uIGVNdCh0KXtyZXR1cm4gZnVuY3Rpb24gZShuLG8saSxhKXtmb3IodmFyIHIscyxsPUtDdC5nZXRDU1IobyksYz1sLmluZGljZXMsZD1sLmluZHB0cixwPTA7cDxhLmxlbmd0aDtwKyspZm9yKHZhciBtPW5ldyBTZXQoaVswXVtwXSk7Oyl7dmFyIGY9WEN0LnNtYWxsZXN0RmxhZ2dlZChpLHApO2lmKC0xPT09ZilicmVhazt2YXIgdT1jLnNsaWNlKGRbZl0sZFtmKzFdKTt0cnl7Zm9yKHZhciBnPXFDdCh1KSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGI9aC52YWx1ZTtpZihiIT09ZiYmLTEhPT1iJiYhbS5oYXMoYikpe3ZhciB5PXQobltiXSxhW3BdKTtYQ3QudW5jaGVja2VkSGVhcFB1c2goaSxwLHksYiwxKSxtLmFkZChiKX19fWNhdGNoKHQpe3I9e2Vycm9yOnR9fWZpbmFsbHl7dHJ5e2gmJiFoLmRvbmUmJihzPWcucmV0dXJuKSYmcy5jYWxsKGcpfWZpbmFsbHl7aWYocil0aHJvdyByLmVycm9yfX19cmV0dXJuIGl9fSxFQ3QuaW5pdGlhbGl6ZVNlYXJjaD1mdW5jdGlvbiBuTXQodCxlLG4sbyxpLGEscil7dmFyIHMsbCxjPVhDdC5tYWtlSGVhcChuLmxlbmd0aCxvKTtpZihpKG8sZSxuLGMsciksdCl0cnl7Zm9yKHZhciBkPXFDdCh0KSxwPWQubmV4dCgpOyFwLmRvbmU7cD1kLm5leHQoKSl7YShwLnZhbHVlLGUsbixjLHIpfX1jYXRjaCh0KXtzPXtlcnJvcjp0fX1maW5hbGx5e3RyeXtwJiYhcC5kb25lJiYobD1kLnJldHVybikmJmwuY2FsbChkKX1maW5hbGx5e2lmKHMpdGhyb3cgcy5lcnJvcn19cmV0dXJuIGN9O2NvbnN0IG9NdD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIGlNdCh0KXtyZXR1cm4gb010LmNhbGwodCkuZW5kc1dpdGgoIkFycmF5XSIpfWZ1bmN0aW9uIGFNdCh0LGUsbil7bGV0IG89MDtjb25zdCBpPW4oZSk7Zm9yKGxldCBlPTA7ZTx0LngubGVuZ3RoO2UrKylvKz1NYXRoLmFicyh0LnlbZV0taSh0LnhbZV0pKTtyZXR1cm4gb31jb25zdCByTXQ9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiBzTXQodCl7cmV0dXJuIHJNdC5jYWxsKHQpLmVuZHNXaXRoKCJBcnJheV0iKX1mdW5jdGlvbiBsTXQodCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9O2lmKCFzTXQodCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW5wdXQgbXVzdCBiZSBhbiBhcnJheSIpO2lmKDA9PT10Lmxlbmd0aCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnB1dCBtdXN0IG5vdCBiZSBlbXB0eSIpO3ZhciBuPWUuZnJvbUluZGV4LG89dm9pZCAwPT09bj8wOm4saT1lLnRvSW5kZXgsYT12b2lkIDA9PT1pP3QubGVuZ3RoOmk7aWYobzwwfHxvPj10Lmxlbmd0aHx8IU51bWJlci5pc0ludGVnZXIobykpdGhyb3cgbmV3IEVycm9yKCJmcm9tSW5kZXggbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIgc21hbGxlciB0aGFuIGxlbmd0aCIpO2lmKGE8PW98fGE+dC5sZW5ndGh8fCFOdW1iZXIuaXNJbnRlZ2VyKGEpKXRocm93IG5ldyBFcnJvcigidG9JbmRleCBtdXN0IGJlIGFuIGludGVnZXIgZ3JlYXRlciB0aGFuIGZyb21JbmRleCBhbmQgYXQgbW9zdCBlcXVhbCB0byBsZW5ndGgiKTtmb3IodmFyIHI9dFtvXSxzPW8rMTtzPGE7cysrKXRbc10+ciYmKHI9dFtzXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gY010KHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtpZighc010KHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImlucHV0IG11c3QgYmUgYW4gYXJyYXkiKTtpZigwPT09dC5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW5wdXQgbXVzdCBub3QgYmUgZW1wdHkiKTt2YXIgbj1lLmZyb21JbmRleCxvPXZvaWQgMD09PW4/MDpuLGk9ZS50b0luZGV4LGE9dm9pZCAwPT09aT90Lmxlbmd0aDppO2lmKG88MHx8bz49dC5sZW5ndGh8fCFOdW1iZXIuaXNJbnRlZ2VyKG8pKXRocm93IG5ldyBFcnJvcigiZnJvbUluZGV4IG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIHNtYWxsZXIgdGhhbiBsZW5ndGgiKTtpZihhPD1vfHxhPnQubGVuZ3RofHwhTnVtYmVyLmlzSW50ZWdlcihhKSl0aHJvdyBuZXcgRXJyb3IoInRvSW5kZXggbXVzdCBiZSBhbiBpbnRlZ2VyIGdyZWF0ZXIgdGhhbiBmcm9tSW5kZXggYW5kIGF0IG1vc3QgZXF1YWwgdG8gbGVuZ3RoIik7Zm9yKHZhciByPXRbb10scz1vKzE7czxhO3MrKyl0W3NdPHImJihyPXRbc10pO3JldHVybiByfWZ1bmN0aW9uIGRNdCh0KXt2YXIgZSxuPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtpZighc010KHQpKXRocm93IG5ldyBUeXBlRXJyb3IoImlucHV0IG11c3QgYmUgYW4gYXJyYXkiKTtpZigwPT09dC5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW5wdXQgbXVzdCBub3QgYmUgZW1wdHkiKTtpZih2b2lkIDAhPT1uLm91dHB1dCl7aWYoIXNNdChuLm91dHB1dCkpdGhyb3cgbmV3IFR5cGVFcnJvcigib3V0cHV0IG9wdGlvbiBtdXN0IGJlIGFuIGFycmF5IGlmIHNwZWNpZmllZCIpO2U9bi5vdXRwdXR9ZWxzZSBlPW5ldyBBcnJheSh0Lmxlbmd0aCk7dmFyIG89Y010KHQpLGk9bE10KHQpO2lmKG89PT1pKXRocm93IG5ldyBSYW5nZUVycm9yKCJtaW5pbXVtIGFuZCBtYXhpbXVtIGlucHV0IHZhbHVlcyBhcmUgZXF1YWwuIENhbm5vdCByZXNjYWxlIGEgY29uc3RhbnQgYXJyYXkiKTt2YXIgYT1uLm1pbixyPXZvaWQgMD09PWE/bi5hdXRvTWluTWF4P286MDphLHM9bi5tYXgsbD12b2lkIDA9PT1zP24uYXV0b01pbk1heD9pOjE6cztpZihyPj1sKXRocm93IG5ldyBSYW5nZUVycm9yKCJtaW4gb3B0aW9uIG11c3QgYmUgc21hbGxlciB0aGFuIG1heCBvcHRpb24iKTtmb3IodmFyIGM9KGwtcikvKGktbyksZD0wO2Q8dC5sZW5ndGg7ZCsrKWVbZF09KHRbZF0tbykqYytyO3JldHVybiBlfWNvbnN0IHBNdD0iICIucmVwZWF0KDIpLG1NdD0iICIucmVwZWF0KDQpO2Z1bmN0aW9uIGZNdCh0LGU9e30pe2NvbnN0e21heFJvd3M6bj0xNSxtYXhDb2x1bW5zOm89MTAsbWF4TnVtU2l6ZTppPTh9PWU7cmV0dXJuYCR7dC5jb25zdHJ1Y3Rvci5uYW1lfSB7XG4ke3BNdH1bXG4ke21NdH0keyhmdW5jdGlvbiBhKHQsZSxuLG8pe2NvbnN0e3Jvd3M6aSxjb2x1bW5zOmF9PXQscj1NYXRoLm1pbihpLGUpLHM9TWF0aC5taW4oYSxuKSxsPVtdO2ZvcihsZXQgZT0wO2U8cjtlKyspe2xldCBuPVtdO2ZvcihsZXQgaT0wO2k8cztpKyspbi5wdXNoKHVNdCh0LmdldChlLGkpLG8pKTtsLnB1c2goYCR7bi5qb2luKCIgIil9YCl9cyE9PWEmJihsW2wubGVuZ3RoLTFdKz1gIC4uLiAke2Etbn0gbW9yZSBjb2x1bW5zYCk7ciE9PWkmJmwucHVzaChgLi4uICR7aS1lfSBtb3JlIHJvd3NgKTtyZXR1cm4gbC5qb2luKGBcbiR7bU10fWApfSkodCxuLG8saSl9XG4ke3BNdH1dXG4ke3BNdH1yb3dzOiAke3Qucm93c31cbiR7cE10fWNvbHVtbnM6ICR7dC5jb2x1bW5zfVxufWB9ZnVuY3Rpb24gdU10KHQsZSl7Y29uc3Qgbj1TdHJpbmcodCk7aWYobi5sZW5ndGg8PWUpcmV0dXJuIG4ucGFkRW5kKGUsIiAiKTtjb25zdCBvPXQudG9QcmVjaXNpb24oZS0yKTtpZihvLmxlbmd0aDw9ZSlyZXR1cm4gbztjb25zdCBpPXQudG9FeHBvbmVudGlhbChlLTIpLGE9aS5pbmRleE9mKCJlIikscj1pLnNsaWNlKGEpO3JldHVybiBpLnNsaWNlKDAsZS1yLmxlbmd0aCkrcn1mdW5jdGlvbiBnTXQodCxlLG4pe2lmKGU8MHx8ZT4obj90LnJvd3M6dC5yb3dzLTEpKXRocm93IG5ldyBSYW5nZUVycm9yKCJSb3cgaW5kZXggb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gaE10KHQsZSxuKXtpZihlPDB8fGU+KG4/dC5jb2x1bW5zOnQuY29sdW1ucy0xKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ29sdW1uIGluZGV4IG91dCBvZiByYW5nZSIpfWZ1bmN0aW9uIGJNdCh0LGUpe2lmKGUudG8xREFycmF5JiYoZT1lLnRvMURBcnJheSgpKSxlLmxlbmd0aCE9PXQuY29sdW1ucyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigidmVjdG9yIHNpemUgbXVzdCBiZSB0aGUgc2FtZSBhcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMiKTtyZXR1cm4gZX1mdW5jdGlvbiB5TXQodCxlKXtpZihlLnRvMURBcnJheSYmKGU9ZS50bzFEQXJyYXkoKSksZS5sZW5ndGghPT10LnJvd3MpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInZlY3RvciBzaXplIG11c3QgYmUgdGhlIHNhbWUgYXMgdGhlIG51bWJlciBvZiByb3dzIik7cmV0dXJuIGV9ZnVuY3Rpb24gX010KHQsZSl7aWYoIm9iamVjdCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoInVuZXhwZWN0ZWQgdHlwZSBmb3Igcm93IGluZGljZXMiKTtpZihlLnNvbWUoKGU9PmU8MHx8ZT49dC5yb3dzKSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInJvdyBpbmRpY2VzIGFyZSBvdXQgb2YgcmFuZ2UiKTtyZXR1cm4gQXJyYXkuaXNBcnJheShlKXx8KGU9QXJyYXkuZnJvbShlKSksZX1mdW5jdGlvbiBDTXQodCxlKXtpZigib2JqZWN0IiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigidW5leHBlY3RlZCB0eXBlIGZvciBjb2x1bW4gaW5kaWNlcyIpO2lmKGUuc29tZSgoZT0+ZTwwfHxlPj10LmNvbHVtbnMpKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiY29sdW1uIGluZGljZXMgYXJlIG91dCBvZiByYW5nZSIpO3JldHVybiBBcnJheS5pc0FycmF5KGUpfHwoZT1BcnJheS5mcm9tKGUpKSxlfWZ1bmN0aW9uIE1NdCh0LGUsbixvLGkpe2lmKDUhPT1hcmd1bWVudHMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJleHBlY3RlZCA0IGFyZ3VtZW50cyIpO2lmKHhNdCgic3RhcnRSb3ciLGUpLHhNdCgiZW5kUm93IixuKSx4TXQoInN0YXJ0Q29sdW1uIixvKSx4TXQoImVuZENvbHVtbiIsaSksZT5ufHxvPml8fGU8MHx8ZT49dC5yb3dzfHxuPDB8fG4+PXQucm93c3x8bzwwfHxvPj10LmNvbHVtbnN8fGk8MHx8aT49dC5jb2x1bW5zKXRocm93IG5ldyBSYW5nZUVycm9yKCJTdWJtYXRyaXggaW5kaWNlcyBhcmUgb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gdk10KHQsZT0wKXtsZXQgbj1bXTtmb3IobGV0IG89MDtvPHQ7bysrKW4ucHVzaChlKTtyZXR1cm4gbn1mdW5jdGlvbiB4TXQodCxlKXtpZigibnVtYmVyIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcihgJHt0fSBtdXN0IGJlIGEgbnVtYmVyYCl9ZnVuY3Rpb24gT010KHQpe2lmKHQuaXNFbXB0eSgpKXRocm93IG5ldyBFcnJvcigiRW1wdHkgbWF0cml4IGhhcyBubyBlbGVtZW50cyB0byBpbmRleCIpfWNsYXNzIFBNdHtzdGF0aWMgZnJvbTFEQXJyYXkodCxlLG4pe2lmKHQqZSE9PW4ubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJkYXRhIGxlbmd0aCBkb2VzIG5vdCBtYXRjaCBnaXZlbiBkaW1lbnNpb25zIik7bGV0IG89bmV3IFNNdCh0LGUpO2ZvcihsZXQgaT0wO2k8dDtpKyspZm9yKGxldCB0PTA7dDxlO3QrKylvLnNldChpLHQsbltpKmUrdF0pO3JldHVybiBvfXN0YXRpYyByb3dWZWN0b3IodCl7bGV0IGU9bmV3IFNNdCgxLHQubGVuZ3RoKTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyllLnNldCgwLG4sdFtuXSk7cmV0dXJuIGV9c3RhdGljIGNvbHVtblZlY3Rvcih0KXtsZXQgZT1uZXcgU010KHQubGVuZ3RoLDEpO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKWUuc2V0KG4sMCx0W25dKTtyZXR1cm4gZX1zdGF0aWMgemVyb3ModCxlKXtyZXR1cm4gbmV3IFNNdCh0LGUpfXN0YXRpYyBvbmVzKHQsZSl7cmV0dXJuIG5ldyBTTXQodCxlKS5maWxsKDEpfXN0YXRpYyByYW5kKHQsZSxuPXt9KXtpZigib2JqZWN0IiE9dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigib3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdCIpO2NvbnN0e3JhbmRvbTpvPU1hdGgucmFuZG9tfT1uO2xldCBpPW5ldyBTTXQodCxlKTtmb3IobGV0IG49MDtuPHQ7bisrKWZvcihsZXQgdD0wO3Q8ZTt0KyspaS5zZXQobix0LG8oKSk7cmV0dXJuIGl9c3RhdGljIHJhbmRJbnQodCxlLG49e30pe2lmKCJvYmplY3QiIT10eXBlb2Ygbil0aHJvdyBuZXcgVHlwZUVycm9yKCJvcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0Iik7Y29uc3R7bWluOm89MCxtYXg6aT0xZTMscmFuZG9tOmE9TWF0aC5yYW5kb219PW47aWYoIU51bWJlci5pc0ludGVnZXIobykpdGhyb3cgbmV3IFR5cGVFcnJvcigibWluIG11c3QgYmUgYW4gaW50ZWdlciIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoIm1heCBtdXN0IGJlIGFuIGludGVnZXIiKTtpZihvPj1pKXRocm93IG5ldyBSYW5nZUVycm9yKCJtaW4gbXVzdCBiZSBzbWFsbGVyIHRoYW4gbWF4Iik7bGV0IHI9aS1vLHM9bmV3IFNNdCh0LGUpO2ZvcihsZXQgbj0wO248dDtuKyspZm9yKGxldCB0PTA7dDxlO3QrKyl7bGV0IGU9bytNYXRoLnJvdW5kKGEoKSpyKTtzLnNldChuLHQsZSl9cmV0dXJuIHN9c3RhdGljIGV5ZSh0LGUsbil7dm9pZCAwPT09ZSYmKGU9dCksdm9pZCAwPT09biYmKG49MSk7bGV0IG89TWF0aC5taW4odCxlKSxpPXRoaXMuemVyb3ModCxlKTtmb3IobGV0IHQ9MDt0PG87dCsrKWkuc2V0KHQsdCxuKTtyZXR1cm4gaX1zdGF0aWMgZGlhZyh0LGUsbil7bGV0IG89dC5sZW5ndGg7dm9pZCAwPT09ZSYmKGU9byksdm9pZCAwPT09biYmKG49ZSk7bGV0IGk9TWF0aC5taW4obyxlLG4pLGE9dGhpcy56ZXJvcyhlLG4pO2ZvcihsZXQgZT0wO2U8aTtlKyspYS5zZXQoZSxlLHRbZV0pO3JldHVybiBhfXN0YXRpYyBtaW4odCxlKXt0PXRoaXMuY2hlY2tNYXRyaXgodCksZT10aGlzLmNoZWNrTWF0cml4KGUpO2xldCBuPXQucm93cyxvPXQuY29sdW1ucyxpPW5ldyBTTXQobixvKTtmb3IobGV0IGE9MDthPG47YSsrKWZvcihsZXQgbj0wO248bztuKyspaS5zZXQoYSxuLE1hdGgubWluKHQuZ2V0KGEsbiksZS5nZXQoYSxuKSkpO3JldHVybiBpfXN0YXRpYyBtYXgodCxlKXt0PXRoaXMuY2hlY2tNYXRyaXgodCksZT10aGlzLmNoZWNrTWF0cml4KGUpO2xldCBuPXQucm93cyxvPXQuY29sdW1ucyxpPW5ldyB0aGlzKG4sbyk7Zm9yKGxldCBhPTA7YTxuO2ErKylmb3IobGV0IG49MDtuPG87bisrKWkuc2V0KGEsbixNYXRoLm1heCh0LmdldChhLG4pLGUuZ2V0KGEsbikpKTtyZXR1cm4gaX1zdGF0aWMgY2hlY2tNYXRyaXgodCl7cmV0dXJuIFBNdC5pc01hdHJpeCh0KT90Om5ldyBTTXQodCl9c3RhdGljIGlzTWF0cml4KHQpe3JldHVybiBudWxsIT10JiYiTWF0cml4Ij09PXQua2xhc3N9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5yb3dzKnRoaXMuY29sdW1uc31hcHBseSh0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24iKTtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXQuY2FsbCh0aGlzLGUsbik7cmV0dXJuIHRoaXN9dG8xREFycmF5KCl7bGV0IHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0LnB1c2godGhpcy5nZXQoZSxuKSk7cmV0dXJuIHR9dG8yREFycmF5KCl7bGV0IHQ9W107Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKXt0LnB1c2goW10pO2ZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0W2VdLnB1c2godGhpcy5nZXQoZSxuKSl9cmV0dXJuIHR9dG9KU09OKCl7cmV0dXJuIHRoaXMudG8yREFycmF5KCl9aXNSb3dWZWN0b3IoKXtyZXR1cm4gMT09PXRoaXMucm93c31pc0NvbHVtblZlY3Rvcigpe3JldHVybiAxPT09dGhpcy5jb2x1bW5zfWlzVmVjdG9yKCl7cmV0dXJuIDE9PT10aGlzLnJvd3N8fDE9PT10aGlzLmNvbHVtbnN9aXNTcXVhcmUoKXtyZXR1cm4gdGhpcy5yb3dzPT09dGhpcy5jb2x1bW5zfWlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMucm93c3x8MD09PXRoaXMuY29sdW1uc31pc1N5bW1ldHJpYygpe2lmKHRoaXMuaXNTcXVhcmUoKSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8PXQ7ZSsrKWlmKHRoaXMuZ2V0KHQsZSkhPT10aGlzLmdldChlLHQpKXJldHVybiExO3JldHVybiEwfXJldHVybiExfWlzRWNoZWxvbkZvcm0oKXtsZXQgdD0wLGU9MCxuPS0xLG89ITAsaT0hMTtmb3IoO3Q8dGhpcy5yb3dzJiZvOyl7Zm9yKGU9MCxpPSExO2U8dGhpcy5jb2x1bW5zJiYhMT09PWk7KTA9PT10aGlzLmdldCh0LGUpP2UrKzoxPT09dGhpcy5nZXQodCxlKSYmZT5uPyhpPSEwLG49ZSk6KG89ITEsaT0hMCk7dCsrfXJldHVybiBvfWlzUmVkdWNlZEVjaGVsb25Gb3JtKCl7bGV0IHQ9MCxlPTAsbj0tMSxvPSEwLGk9ITE7Zm9yKDt0PHRoaXMucm93cyYmbzspe2ZvcihlPTAsaT0hMTtlPHRoaXMuY29sdW1ucyYmITE9PT1pOykwPT09dGhpcy5nZXQodCxlKT9lKys6MT09PXRoaXMuZ2V0KHQsZSkmJmU+bj8oaT0hMCxuPWUpOihvPSExLGk9ITApO2ZvcihsZXQgbj1lKzE7bjx0aGlzLnJvd3M7bisrKTAhPT10aGlzLmdldCh0LG4pJiYobz0hMSk7dCsrfXJldHVybiBvfWVjaGVsb25Gb3JtKCl7bGV0IHQ9dGhpcy5jbG9uZSgpLGU9MCxuPTA7Zm9yKDtlPHQucm93cyYmbjx0LmNvbHVtbnM7KXtsZXQgbz1lO2ZvcihsZXQgaT1lO2k8dC5yb3dzO2krKyl0LmdldChpLG4pPnQuZ2V0KG8sbikmJihvPWkpO2lmKDA9PT10LmdldChvLG4pKW4rKztlbHNle3Quc3dhcFJvd3MoZSxvKTtsZXQgaT10LmdldChlLG4pO2ZvcihsZXQgbz1uO288dC5jb2x1bW5zO28rKyl0LnNldChlLG8sdC5nZXQoZSxvKS9pKTtmb3IobGV0IG89ZSsxO288dC5yb3dzO28rKyl7bGV0IGk9dC5nZXQobyxuKS90LmdldChlLG4pO3Quc2V0KG8sbiwwKTtmb3IobGV0IGE9bisxO2E8dC5jb2x1bW5zO2ErKyl0LnNldChvLGEsdC5nZXQobyxhKS10LmdldChlLGEpKmkpfWUrKyxuKyt9fXJldHVybiB0fXJlZHVjZWRFY2hlbG9uRm9ybSgpe2xldCB0PXRoaXMuZWNoZWxvbkZvcm0oKSxlPXQuY29sdW1ucyxuPXQucm93cyxvPW4tMTtmb3IoO28+PTA7KWlmKDA9PT10Lm1heFJvdyhvKSlvLS07ZWxzZXtsZXQgaT0wLGE9ITE7Zm9yKDtpPG4mJiExPT09YTspMT09PXQuZ2V0KG8saSk/YT0hMDppKys7Zm9yKGxldCBuPTA7bjxvO24rKyl7bGV0IGE9dC5nZXQobixpKTtmb3IobGV0IHI9aTtyPGU7cisrKXtsZXQgZT10LmdldChuLHIpLWEqdC5nZXQobyxyKTt0LnNldChuLHIsZSl9fW8tLX1yZXR1cm4gdH1zZXQoKXt0aHJvdyBuZXcgRXJyb3IoInNldCBtZXRob2QgaXMgdW5pbXBsZW1lbnRlZCIpfWdldCgpe3Rocm93IG5ldyBFcnJvcigiZ2V0IG1ldGhvZCBpcyB1bmltcGxlbWVudGVkIil9cmVwZWF0KHQ9e30pe2lmKCJvYmplY3QiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJvcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0Iik7Y29uc3R7cm93czplPTEsY29sdW1uczpuPTF9PXQ7aWYoIU51bWJlci5pc0ludGVnZXIoZSl8fGU8PTApdGhyb3cgbmV3IFR5cGVFcnJvcigicm93cyBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKG4pfHxuPD0wKXRocm93IG5ldyBUeXBlRXJyb3IoImNvbHVtbnMgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIiKTtsZXQgbz1uZXcgU010KHRoaXMucm93cyplLHRoaXMuY29sdW1ucypuKTtmb3IobGV0IHQ9MDt0PGU7dCsrKWZvcihsZXQgZT0wO2U8bjtlKyspby5zZXRTdWJNYXRyaXgodGhpcyx0aGlzLnJvd3MqdCx0aGlzLmNvbHVtbnMqZSk7cmV0dXJuIG99ZmlsbCh0KXtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXRoaXMuc2V0KGUsbix0KTtyZXR1cm4gdGhpc31uZWcoKXtyZXR1cm4gdGhpcy5tdWxTKC0xKX1nZXRSb3codCl7Z010KHRoaXMsdCk7bGV0IGU9W107Zm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKWUucHVzaCh0aGlzLmdldCh0LG4pKTtyZXR1cm4gZX1nZXRSb3dWZWN0b3IodCl7cmV0dXJuIFNNdC5yb3dWZWN0b3IodGhpcy5nZXRSb3codCkpfXNldFJvdyh0LGUpe2dNdCh0aGlzLHQpLGU9Yk10KHRoaXMsZSk7Zm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXRoaXMuc2V0KHQsbixlW25dKTtyZXR1cm4gdGhpc31zd2FwUm93cyh0LGUpe2dNdCh0aGlzLHQpLGdNdCh0aGlzLGUpO2ZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl7bGV0IG89dGhpcy5nZXQodCxuKTt0aGlzLnNldCh0LG4sdGhpcy5nZXQoZSxuKSksdGhpcy5zZXQoZSxuLG8pfXJldHVybiB0aGlzfWdldENvbHVtbih0KXtoTXQodGhpcyx0KTtsZXQgZT1bXTtmb3IobGV0IG49MDtuPHRoaXMucm93cztuKyspZS5wdXNoKHRoaXMuZ2V0KG4sdCkpO3JldHVybiBlfWdldENvbHVtblZlY3Rvcih0KXtyZXR1cm4gU010LmNvbHVtblZlY3Rvcih0aGlzLmdldENvbHVtbih0KSl9c2V0Q29sdW1uKHQsZSl7aE10KHRoaXMsdCksZT15TXQodGhpcyxlKTtmb3IobGV0IG49MDtuPHRoaXMucm93cztuKyspdGhpcy5zZXQobix0LGVbbl0pO3JldHVybiB0aGlzfXN3YXBDb2x1bW5zKHQsZSl7aE10KHRoaXMsdCksaE10KHRoaXMsZSk7Zm9yKGxldCBuPTA7bjx0aGlzLnJvd3M7bisrKXtsZXQgbz10aGlzLmdldChuLHQpO3RoaXMuc2V0KG4sdCx0aGlzLmdldChuLGUpKSx0aGlzLnNldChuLGUsbyl9cmV0dXJuIHRoaXN9YWRkUm93VmVjdG9yKHQpe3Q9Yk10KHRoaXMsdCk7Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldChlLG4sdGhpcy5nZXQoZSxuKSt0W25dKTtyZXR1cm4gdGhpc31zdWJSb3dWZWN0b3IodCl7dD1iTXQodGhpcyx0KTtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXRoaXMuc2V0KGUsbix0aGlzLmdldChlLG4pLXRbbl0pO3JldHVybiB0aGlzfW11bFJvd1ZlY3Rvcih0KXt0PWJNdCh0aGlzLHQpO2ZvcihsZXQgZT0wO2U8dGhpcy5yb3dzO2UrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQoZSxuLHRoaXMuZ2V0KGUsbikqdFtuXSk7cmV0dXJuIHRoaXN9ZGl2Um93VmVjdG9yKHQpe3Q9Yk10KHRoaXMsdCk7Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldChlLG4sdGhpcy5nZXQoZSxuKS90W25dKTtyZXR1cm4gdGhpc31hZGRDb2x1bW5WZWN0b3IodCl7dD15TXQodGhpcyx0KTtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXRoaXMuc2V0KGUsbix0aGlzLmdldChlLG4pK3RbZV0pO3JldHVybiB0aGlzfXN1YkNvbHVtblZlY3Rvcih0KXt0PXlNdCh0aGlzLHQpO2ZvcihsZXQgZT0wO2U8dGhpcy5yb3dzO2UrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQoZSxuLHRoaXMuZ2V0KGUsbiktdFtlXSk7cmV0dXJuIHRoaXN9bXVsQ29sdW1uVmVjdG9yKHQpe3Q9eU10KHRoaXMsdCk7Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldChlLG4sdGhpcy5nZXQoZSxuKSp0W2VdKTtyZXR1cm4gdGhpc31kaXZDb2x1bW5WZWN0b3IodCl7dD15TXQodGhpcyx0KTtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXRoaXMuc2V0KGUsbix0aGlzLmdldChlLG4pL3RbZV0pO3JldHVybiB0aGlzfW11bFJvdyh0LGUpe2dNdCh0aGlzLHQpO2ZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sdGhpcy5nZXQodCxuKSplKTtyZXR1cm4gdGhpc31tdWxDb2x1bW4odCxlKXtoTXQodGhpcyx0KTtmb3IobGV0IG49MDtuPHRoaXMucm93cztuKyspdGhpcy5zZXQobix0LHRoaXMuZ2V0KG4sdCkqZSk7cmV0dXJuIHRoaXN9bWF4KCl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIE5hTjtsZXQgdD10aGlzLmdldCgwLDApO2ZvcihsZXQgZT0wO2U8dGhpcy5yb3dzO2UrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5nZXQoZSxuKT50JiYodD10aGlzLmdldChlLG4pKTtyZXR1cm4gdH1tYXhJbmRleCgpe09NdCh0aGlzKTtsZXQgdD10aGlzLmdldCgwLDApLGU9WzAsMF07Zm9yKGxldCBuPTA7bjx0aGlzLnJvd3M7bisrKWZvcihsZXQgbz0wO288dGhpcy5jb2x1bW5zO28rKyl0aGlzLmdldChuLG8pPnQmJih0PXRoaXMuZ2V0KG4sbyksZVswXT1uLGVbMV09byk7cmV0dXJuIGV9bWluKCl7aWYodGhpcy5pc0VtcHR5KCkpcmV0dXJuIE5hTjtsZXQgdD10aGlzLmdldCgwLDApO2ZvcihsZXQgZT0wO2U8dGhpcy5yb3dzO2UrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5nZXQoZSxuKTx0JiYodD10aGlzLmdldChlLG4pKTtyZXR1cm4gdH1taW5JbmRleCgpe09NdCh0aGlzKTtsZXQgdD10aGlzLmdldCgwLDApLGU9WzAsMF07Zm9yKGxldCBuPTA7bjx0aGlzLnJvd3M7bisrKWZvcihsZXQgbz0wO288dGhpcy5jb2x1bW5zO28rKyl0aGlzLmdldChuLG8pPHQmJih0PXRoaXMuZ2V0KG4sbyksZVswXT1uLGVbMV09byk7cmV0dXJuIGV9bWF4Um93KHQpe2lmKGdNdCh0aGlzLHQpLHRoaXMuaXNFbXB0eSgpKXJldHVybiBOYU47bGV0IGU9dGhpcy5nZXQodCwwKTtmb3IobGV0IG49MTtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5nZXQodCxuKT5lJiYoZT10aGlzLmdldCh0LG4pKTtyZXR1cm4gZX1tYXhSb3dJbmRleCh0KXtnTXQodGhpcyx0KSxPTXQodGhpcyk7bGV0IGU9dGhpcy5nZXQodCwwKSxuPVt0LDBdO2ZvcihsZXQgbz0xO288dGhpcy5jb2x1bW5zO28rKyl0aGlzLmdldCh0LG8pPmUmJihlPXRoaXMuZ2V0KHQsbyksblsxXT1vKTtyZXR1cm4gbn1taW5Sb3codCl7aWYoZ010KHRoaXMsdCksdGhpcy5pc0VtcHR5KCkpcmV0dXJuIE5hTjtsZXQgZT10aGlzLmdldCh0LDApO2ZvcihsZXQgbj0xO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLmdldCh0LG4pPGUmJihlPXRoaXMuZ2V0KHQsbikpO3JldHVybiBlfW1pblJvd0luZGV4KHQpe2dNdCh0aGlzLHQpLE9NdCh0aGlzKTtsZXQgZT10aGlzLmdldCh0LDApLG49W3QsMF07Zm9yKGxldCBvPTE7bzx0aGlzLmNvbHVtbnM7bysrKXRoaXMuZ2V0KHQsbyk8ZSYmKGU9dGhpcy5nZXQodCxvKSxuWzFdPW8pO3JldHVybiBufW1heENvbHVtbih0KXtpZihoTXQodGhpcyx0KSx0aGlzLmlzRW1wdHkoKSlyZXR1cm4gTmFOO2xldCBlPXRoaXMuZ2V0KDAsdCk7Zm9yKGxldCBuPTE7bjx0aGlzLnJvd3M7bisrKXRoaXMuZ2V0KG4sdCk+ZSYmKGU9dGhpcy5nZXQobix0KSk7cmV0dXJuIGV9bWF4Q29sdW1uSW5kZXgodCl7aE10KHRoaXMsdCksT010KHRoaXMpO2xldCBlPXRoaXMuZ2V0KDAsdCksbj1bMCx0XTtmb3IobGV0IG89MTtvPHRoaXMucm93cztvKyspdGhpcy5nZXQobyx0KT5lJiYoZT10aGlzLmdldChvLHQpLG5bMF09byk7cmV0dXJuIG59bWluQ29sdW1uKHQpe2lmKGhNdCh0aGlzLHQpLHRoaXMuaXNFbXB0eSgpKXJldHVybiBOYU47bGV0IGU9dGhpcy5nZXQoMCx0KTtmb3IobGV0IG49MTtuPHRoaXMucm93cztuKyspdGhpcy5nZXQobix0KTxlJiYoZT10aGlzLmdldChuLHQpKTtyZXR1cm4gZX1taW5Db2x1bW5JbmRleCh0KXtoTXQodGhpcyx0KSxPTXQodGhpcyk7bGV0IGU9dGhpcy5nZXQoMCx0KSxuPVswLHRdO2ZvcihsZXQgbz0xO288dGhpcy5yb3dzO28rKyl0aGlzLmdldChvLHQpPGUmJihlPXRoaXMuZ2V0KG8sdCksblswXT1vKTtyZXR1cm4gbn1kaWFnKCl7bGV0IHQ9TWF0aC5taW4odGhpcy5yb3dzLHRoaXMuY29sdW1ucyksZT1bXTtmb3IobGV0IG49MDtuPHQ7bisrKWUucHVzaCh0aGlzLmdldChuLG4pKTtyZXR1cm4gZX1ub3JtKHQ9ImZyb2Jlbml1cyIpe2xldCBlPTA7aWYoIm1heCI9PT10KXJldHVybiB0aGlzLm1heCgpO2lmKCJmcm9iZW5pdXMiPT09dCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyllKz10aGlzLmdldCh0LG4pKnRoaXMuZ2V0KHQsbik7cmV0dXJuIE1hdGguc3FydChlKX10aHJvdyBuZXcgUmFuZ2VFcnJvcihgdW5rbm93biBub3JtIHR5cGU6ICR7dH1gKX1jdW11bGF0aXZlU3VtKCl7bGV0IHQ9MDtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXQrPXRoaXMuZ2V0KGUsbiksdGhpcy5zZXQoZSxuLHQpO3JldHVybiB0aGlzfWRvdCh0KXtQTXQuaXNNYXRyaXgodCkmJih0PXQudG8xREFycmF5KCkpO2xldCBlPXRoaXMudG8xREFycmF5KCk7aWYoZS5sZW5ndGghPT10Lmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigidmVjdG9ycyBkbyBub3QgaGF2ZSB0aGUgc2FtZSBzaXplIik7bGV0IG49MDtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyluKz1lW29dKnRbb107cmV0dXJuIG59bW11bCh0KXt0PVNNdC5jaGVja01hdHJpeCh0KTtsZXQgZT10aGlzLnJvd3Msbj10aGlzLmNvbHVtbnMsbz10LmNvbHVtbnMsaT1uZXcgU010KGUsbyksYT1uZXcgRmxvYXQ2NEFycmF5KG4pO2ZvcihsZXQgcj0wO3I8bztyKyspe2ZvcihsZXQgZT0wO2U8bjtlKyspYVtlXT10LmdldChlLHIpO2ZvcihsZXQgdD0wO3Q8ZTt0Kyspe2xldCBlPTA7Zm9yKGxldCBvPTA7bzxuO28rKyllKz10aGlzLmdldCh0LG8pKmFbb107aS5zZXQodCxyLGUpfX1yZXR1cm4gaX1zdHJhc3NlbjJ4Mih0KXt0PVNNdC5jaGVja01hdHJpeCh0KTtsZXQgZT1uZXcgU010KDIsMik7Y29uc3Qgbj10aGlzLmdldCgwLDApLG89dC5nZXQoMCwwKSxpPXRoaXMuZ2V0KDAsMSksYT10LmdldCgwLDEpLHI9dGhpcy5nZXQoMSwwKSxzPXQuZ2V0KDEsMCksbD10aGlzLmdldCgxLDEpLGM9dC5nZXQoMSwxKSxkPShuK2wpKihvK2MpLHA9KHIrbCkqbyxtPW4qKGEtYyksZj1sKihzLW8pLHU9KG4raSkqYyxnPW0rdSxoPXArZixiPWQtcCttKyhyLW4pKihvK2EpO3JldHVybiBlLnNldCgwLDAsZCtmLXUrKGktbCkqKHMrYykpLGUuc2V0KDAsMSxnKSxlLnNldCgxLDAsaCksZS5zZXQoMSwxLGIpLGV9c3RyYXNzZW4zeDModCl7dD1TTXQuY2hlY2tNYXRyaXgodCk7bGV0IGU9bmV3IFNNdCgzLDMpO2NvbnN0IG49dGhpcy5nZXQoMCwwKSxvPXRoaXMuZ2V0KDAsMSksaT10aGlzLmdldCgwLDIpLGE9dGhpcy5nZXQoMSwwKSxyPXRoaXMuZ2V0KDEsMSkscz10aGlzLmdldCgxLDIpLGw9dGhpcy5nZXQoMiwwKSxjPXRoaXMuZ2V0KDIsMSksZD10aGlzLmdldCgyLDIpLHA9dC5nZXQoMCwwKSxtPXQuZ2V0KDAsMSksZj10LmdldCgwLDIpLHU9dC5nZXQoMSwwKSxnPXQuZ2V0KDEsMSksaD10LmdldCgxLDIpLGI9dC5nZXQoMiwwKSx5PXQuZ2V0KDIsMSksXz10LmdldCgyLDIpLEM9KG4tYSkqKC1tK2cpLE09KC1uK2ErcikqKHAtbStnKSx2PShhK3IpKigtcCttKSx4PW4qcCxPPSgtbitsK2MpKihwLWYraCksUD0oLW4rbCkqKGYtaCksdz0obCtjKSooLXArZiksaz0oLWkrYytkKSooZytiLXkpLFM9KGktZCkqKGcteSksRD1pKmIsUj0oYytkKSooLWIreSksRT0oLWkrcitzKSooaCtiLV8pLEE9KGktcykqKGgtXyksVD0ocitzKSooLWIrXyksTj0obitvK2ktYS1yLWMtZCkqZytNK3YreCtrK0QrUix6PXgrTyt3KyhuK28raS1yLXMtbC1jKSpoK0QrRStULEk9QytyKigtcCttK3UtZy1oLWIrXykrTSt4K0QrRStBLEg9QytNK3YreCtzKnksRj1EK0UrQStUK2EqZixMPXgrTytQK2MqKC1wK2YrdS1nLWgtYit5KStrK1MrRCxCPWsrUytEK1IrbCptLFY9eCtPK1ArdytkKl87cmV0dXJuIGUuc2V0KDAsMCx4K0Qrbyp1KSxlLnNldCgwLDEsTiksZS5zZXQoMCwyLHopLGUuc2V0KDEsMCxJKSxlLnNldCgxLDEsSCksZS5zZXQoMSwyLEYpLGUuc2V0KDIsMCxMKSxlLnNldCgyLDEsQiksZS5zZXQoMiwyLFYpLGV9bW11bFN0cmFzc2VuKHQpe3Q9U010LmNoZWNrTWF0cml4KHQpO2xldCBlPXRoaXMuY2xvbmUoKSxuPWUucm93cyxvPWUuY29sdW1ucyxpPXQucm93cyxhPXQuY29sdW1ucztmdW5jdGlvbiByKHQsZSxuKXtpZih0LnJvd3M9PT1lJiZ0LmNvbHVtbnM9PT1uKXJldHVybiB0O3tsZXQgbz1QTXQuemVyb3MoZSxuKTtyZXR1cm4gbz1vLnNldFN1Yk1hdHJpeCh0LDAsMCksb319byE9PWkmJmNvbnNvbGUud2FybihgTXVsdGlwbHlpbmcgJHtufSB4ICR7b30gYW5kICR7aX0geCAke2F9IG1hdHJpeDogZGltZW5zaW9ucyBkbyBub3QgbWF0Y2guYCk7bGV0IHM9TWF0aC5tYXgobixpKSxsPU1hdGgubWF4KG8sYSk7cmV0dXJuIGU9cihlLHMsbCksKGZ1bmN0aW9uIHQoZSxuLG8saSl7aWYobzw9NTEyfHxpPD01MTIpcmV0dXJuIGUubW11bChuKTtvJTI9PTEmJmklMj09MT8oZT1yKGUsbysxLGkrMSksbj1yKG4sbysxLGkrMSkpOm8lMj09MT8oZT1yKGUsbysxLGkpLG49cihuLG8rMSxpKSk6aSUyPT0xJiYoZT1yKGUsbyxpKzEpLG49cihuLG8saSsxKSk7bGV0IGE9cGFyc2VJbnQoZS5yb3dzLzIsMTApLHM9cGFyc2VJbnQoZS5jb2x1bW5zLzIsMTApLGw9ZS5zdWJNYXRyaXgoMCxhLTEsMCxzLTEpLGM9bi5zdWJNYXRyaXgoMCxhLTEsMCxzLTEpLGQ9ZS5zdWJNYXRyaXgoMCxhLTEscyxlLmNvbHVtbnMtMSkscD1uLnN1Yk1hdHJpeCgwLGEtMSxzLG4uY29sdW1ucy0xKSxtPWUuc3ViTWF0cml4KGEsZS5yb3dzLTEsMCxzLTEpLGY9bi5zdWJNYXRyaXgoYSxuLnJvd3MtMSwwLHMtMSksdT1lLnN1Yk1hdHJpeChhLGUucm93cy0xLHMsZS5jb2x1bW5zLTEpLGc9bi5zdWJNYXRyaXgoYSxuLnJvd3MtMSxzLG4uY29sdW1ucy0xKSxoPXQoUE10LmFkZChsLHUpLFBNdC5hZGQoYyxnKSxhLHMpLGI9dChQTXQuYWRkKG0sdSksYyxhLHMpLHk9dChsLFBNdC5zdWIocCxnKSxhLHMpLF89dCh1LFBNdC5zdWIoZixjKSxhLHMpLEM9dChQTXQuYWRkKGwsZCksZyxhLHMpLE09dChQTXQuc3ViKG0sbCksUE10LmFkZChjLHApLGEscyksdj10KFBNdC5zdWIoZCx1KSxQTXQuYWRkKGYsZyksYSxzKSx4PVBNdC5hZGQoaCxfKTt4LnN1YihDKSx4LmFkZCh2KTtsZXQgTz1QTXQuYWRkKHksQyksUD1QTXQuYWRkKGIsXyksdz1QTXQuc3ViKGgsYik7dy5hZGQoeSksdy5hZGQoTSk7bGV0IGs9UE10Lnplcm9zKDIqeC5yb3dzLDIqeC5jb2x1bW5zKTtyZXR1cm4gaz1rLnNldFN1Yk1hdHJpeCh4LDAsMCksaz1rLnNldFN1Yk1hdHJpeChPLHgucm93cywwKSxrPWsuc2V0U3ViTWF0cml4KFAsMCx4LmNvbHVtbnMpLGs9ay5zZXRTdWJNYXRyaXgodyx4LnJvd3MseC5jb2x1bW5zKSxrLnN1Yk1hdHJpeCgwLG8tMSwwLGktMSl9KShlLHQ9cih0LHMsbCkscyxsKX1zY2FsZVJvd3ModD17fSl7aWYoIm9iamVjdCIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3QiKTtjb25zdHttaW46ZT0wLG1heDpuPTF9PXQ7aWYoIU51bWJlci5pc0Zpbml0ZShlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJtaW4gbXVzdCBiZSBhIG51bWJlciIpO2lmKCFOdW1iZXIuaXNGaW5pdGUobikpdGhyb3cgbmV3IFR5cGVFcnJvcigibWF4IG11c3QgYmUgYSBudW1iZXIiKTtpZihlPj1uKXRocm93IG5ldyBSYW5nZUVycm9yKCJtaW4gbXVzdCBiZSBzbWFsbGVyIHRoYW4gbWF4Iik7bGV0IG89bmV3IFNNdCh0aGlzLnJvd3MsdGhpcy5jb2x1bW5zKTtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0Kyspe2NvbnN0IGk9dGhpcy5nZXRSb3codCk7aS5sZW5ndGg+MCYmZE10KGkse21pbjplLG1heDpuLG91dHB1dDppfSksby5zZXRSb3codCxpKX1yZXR1cm4gb31zY2FsZUNvbHVtbnModD17fSl7aWYoIm9iamVjdCIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3QiKTtjb25zdHttaW46ZT0wLG1heDpuPTF9PXQ7aWYoIU51bWJlci5pc0Zpbml0ZShlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJtaW4gbXVzdCBiZSBhIG51bWJlciIpO2lmKCFOdW1iZXIuaXNGaW5pdGUobikpdGhyb3cgbmV3IFR5cGVFcnJvcigibWF4IG11c3QgYmUgYSBudW1iZXIiKTtpZihlPj1uKXRocm93IG5ldyBSYW5nZUVycm9yKCJtaW4gbXVzdCBiZSBzbWFsbGVyIHRoYW4gbWF4Iik7bGV0IG89bmV3IFNNdCh0aGlzLnJvd3MsdGhpcy5jb2x1bW5zKTtmb3IobGV0IHQ9MDt0PHRoaXMuY29sdW1uczt0Kyspe2NvbnN0IGk9dGhpcy5nZXRDb2x1bW4odCk7aS5sZW5ndGgmJmRNdChpLHttaW46ZSxtYXg6bixvdXRwdXQ6aX0pLG8uc2V0Q29sdW1uKHQsaSl9cmV0dXJuIG99ZmxpcFJvd3MoKXtjb25zdCB0PU1hdGguY2VpbCh0aGlzLmNvbHVtbnMvMik7Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKWZvcihsZXQgbj0wO248dDtuKyspe2xldCB0PXRoaXMuZ2V0KGUsbiksbz10aGlzLmdldChlLHRoaXMuY29sdW1ucy0xLW4pO3RoaXMuc2V0KGUsbixvKSx0aGlzLnNldChlLHRoaXMuY29sdW1ucy0xLW4sdCl9cmV0dXJuIHRoaXN9ZmxpcENvbHVtbnMoKXtjb25zdCB0PU1hdGguY2VpbCh0aGlzLnJvd3MvMik7Zm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKWZvcihsZXQgbj0wO248dDtuKyspe2xldCB0PXRoaXMuZ2V0KG4sZSksbz10aGlzLmdldCh0aGlzLnJvd3MtMS1uLGUpO3RoaXMuc2V0KG4sZSxvKSx0aGlzLnNldCh0aGlzLnJvd3MtMS1uLGUsdCl9cmV0dXJuIHRoaXN9a3JvbmVja2VyUHJvZHVjdCh0KXt0PVNNdC5jaGVja01hdHJpeCh0KTtsZXQgZT10aGlzLnJvd3Msbj10aGlzLmNvbHVtbnMsbz10LnJvd3MsaT10LmNvbHVtbnMsYT1uZXcgU010KGUqbyxuKmkpO2ZvcihsZXQgcj0wO3I8ZTtyKyspZm9yKGxldCBlPTA7ZTxuO2UrKylmb3IobGV0IG49MDtuPG87bisrKWZvcihsZXQgcz0wO3M8aTtzKyspYS5zZXQobypyK24saSplK3MsdGhpcy5nZXQocixlKSp0LmdldChuLHMpKTtyZXR1cm4gYX1rcm9uZWNrZXJTdW0odCl7aWYodD1TTXQuY2hlY2tNYXRyaXgodCksIXRoaXMuaXNTcXVhcmUoKXx8IXQuaXNTcXVhcmUoKSl0aHJvdyBuZXcgRXJyb3IoIktyb25lY2tlciBTdW0gbmVlZHMgdHdvIFNxdWFyZSBNYXRyaWNlcyIpO2xldCBlPXRoaXMucm93cyxuPXQucm93cyxvPXRoaXMua3JvbmVja2VyUHJvZHVjdChTTXQuZXllKG4sbikpLGk9U010LmV5ZShlLGUpLmtyb25lY2tlclByb2R1Y3QodCk7cmV0dXJuIG8uYWRkKGkpfXRyYW5zcG9zZSgpe2xldCB0PW5ldyBTTXQodGhpcy5jb2x1bW5zLHRoaXMucm93cyk7Zm9yKGxldCBlPTA7ZTx0aGlzLnJvd3M7ZSsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0LnNldChuLGUsdGhpcy5nZXQoZSxuKSk7cmV0dXJuIHR9c29ydFJvd3ModD13TXQpe2ZvcihsZXQgZT0wO2U8dGhpcy5yb3dzO2UrKyl0aGlzLnNldFJvdyhlLHRoaXMuZ2V0Um93KGUpLnNvcnQodCkpO3JldHVybiB0aGlzfXNvcnRDb2x1bW5zKHQ9d010KXtmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXRDb2x1bW4oZSx0aGlzLmdldENvbHVtbihlKS5zb3J0KHQpKTtyZXR1cm4gdGhpc31zdWJNYXRyaXgodCxlLG4sbyl7TU10KHRoaXMsdCxlLG4sbyk7bGV0IGk9bmV3IFNNdChlLXQrMSxvLW4rMSk7Zm9yKGxldCBhPXQ7YTw9ZTthKyspZm9yKGxldCBlPW47ZTw9bztlKyspaS5zZXQoYS10LGUtbix0aGlzLmdldChhLGUpKTtyZXR1cm4gaX1zdWJNYXRyaXhSb3codCxlLG4pe2lmKHZvaWQgMD09PWUmJihlPTApLHZvaWQgMD09PW4mJihuPXRoaXMuY29sdW1ucy0xKSxlPm58fGU8MHx8ZT49dGhpcy5jb2x1bW5zfHxuPDB8fG4+PXRoaXMuY29sdW1ucyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQXJndW1lbnQgb3V0IG9mIHJhbmdlIik7bGV0IG89bmV3IFNNdCh0Lmxlbmd0aCxuLWUrMSk7Zm9yKGxldCBpPTA7aTx0Lmxlbmd0aDtpKyspZm9yKGxldCBhPWU7YTw9bjthKyspe2lmKHRbaV08MHx8dFtpXT49dGhpcy5yb3dzKXRocm93IG5ldyBSYW5nZUVycm9yKGBSb3cgaW5kZXggb3V0IG9mIHJhbmdlOiAke3RbaV19YCk7by5zZXQoaSxhLWUsdGhpcy5nZXQodFtpXSxhKSl9cmV0dXJuIG99c3ViTWF0cml4Q29sdW1uKHQsZSxuKXtpZih2b2lkIDA9PT1lJiYoZT0wKSx2b2lkIDA9PT1uJiYobj10aGlzLnJvd3MtMSksZT5ufHxlPDB8fGU+PXRoaXMucm93c3x8bjwwfHxuPj10aGlzLnJvd3MpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkFyZ3VtZW50IG91dCBvZiByYW5nZSIpO2xldCBvPW5ldyBTTXQobi1lKzEsdC5sZW5ndGgpO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKWZvcihsZXQgYT1lO2E8PW47YSsrKXtpZih0W2ldPDB8fHRbaV0+PXRoaXMuY29sdW1ucyl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgQ29sdW1uIGluZGV4IG91dCBvZiByYW5nZTogJHt0W2ldfWApO28uc2V0KGEtZSxpLHRoaXMuZ2V0KGEsdFtpXSkpfXJldHVybiBvfXNldFN1Yk1hdHJpeCh0LGUsbil7aWYoKHQ9U010LmNoZWNrTWF0cml4KHQpKS5pc0VtcHR5KCkpcmV0dXJuIHRoaXM7TU10KHRoaXMsZSxlK3Qucm93cy0xLG4sbit0LmNvbHVtbnMtMSk7Zm9yKGxldCBvPTA7bzx0LnJvd3M7bysrKWZvcihsZXQgaT0wO2k8dC5jb2x1bW5zO2krKyl0aGlzLnNldChlK28sbitpLHQuZ2V0KG8saSkpO3JldHVybiB0aGlzfXNlbGVjdGlvbih0LGUpe2xldCBuPShmdW5jdGlvbiBvKHQsZSxuKXtyZXR1cm57cm93Ol9NdCh0LGUpLGNvbHVtbjpDTXQodCxuKX19KSh0aGlzLHQsZSksaT1uZXcgU010KHQubGVuZ3RoLGUubGVuZ3RoKTtmb3IobGV0IHQ9MDt0PG4ucm93Lmxlbmd0aDt0Kyspe2xldCBlPW4ucm93W3RdO2ZvcihsZXQgbz0wO288bi5jb2x1bW4ubGVuZ3RoO28rKyl7aS5zZXQodCxvLHRoaXMuZ2V0KGUsbi5jb2x1bW5bb10pKX19cmV0dXJuIGl9dHJhY2UoKXtsZXQgdD1NYXRoLm1pbih0aGlzLnJvd3MsdGhpcy5jb2x1bW5zKSxlPTA7Zm9yKGxldCBuPTA7bjx0O24rKyllKz10aGlzLmdldChuLG4pO3JldHVybiBlfWNsb25lKCl7bGV0IHQ9bmV3IFNNdCh0aGlzLnJvd3MsdGhpcy5jb2x1bW5zKTtmb3IobGV0IGU9MDtlPHRoaXMucm93cztlKyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXQuc2V0KGUsbix0aGlzLmdldChlLG4pKTtyZXR1cm4gdH1zdW0odCl7c3dpdGNoKHQpe2Nhc2Uicm93IjpyZXR1cm4oZnVuY3Rpb24gZSh0KXtsZXQgZT12TXQodC5yb3dzKTtmb3IobGV0IG49MDtuPHQucm93czsrK24pZm9yKGxldCBvPTA7bzx0LmNvbHVtbnM7KytvKWVbbl0rPXQuZ2V0KG4sbyk7cmV0dXJuIGV9KSh0aGlzKTtjYXNlImNvbHVtbiI6cmV0dXJuKGZ1bmN0aW9uIG4odCl7bGV0IGU9dk10KHQuY29sdW1ucyk7Zm9yKGxldCBuPTA7bjx0LnJvd3M7KytuKWZvcihsZXQgbz0wO288dC5jb2x1bW5zOysrbyllW29dKz10LmdldChuLG8pO3JldHVybiBlfSkodGhpcyk7Y2FzZSB2b2lkIDA6cmV0dXJuKGZ1bmN0aW9uIG8odCl7bGV0IGU9MDtmb3IobGV0IG49MDtuPHQucm93cztuKyspZm9yKGxldCBvPTA7bzx0LmNvbHVtbnM7bysrKWUrPXQuZ2V0KG4sbyk7cmV0dXJuIGV9KSh0aGlzKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgaW52YWxpZCBvcHRpb246ICR7dH1gKX19cHJvZHVjdCh0KXtzd2l0Y2godCl7Y2FzZSJyb3ciOnJldHVybihmdW5jdGlvbiBlKHQpe2xldCBlPXZNdCh0LnJvd3MsMSk7Zm9yKGxldCBuPTA7bjx0LnJvd3M7KytuKWZvcihsZXQgbz0wO288dC5jb2x1bW5zOysrbyllW25dKj10LmdldChuLG8pO3JldHVybiBlfSkodGhpcyk7Y2FzZSJjb2x1bW4iOnJldHVybihmdW5jdGlvbiBuKHQpe2xldCBlPXZNdCh0LmNvbHVtbnMsMSk7Zm9yKGxldCBuPTA7bjx0LnJvd3M7KytuKWZvcihsZXQgbz0wO288dC5jb2x1bW5zOysrbyllW29dKj10LmdldChuLG8pO3JldHVybiBlfSkodGhpcyk7Y2FzZSB2b2lkIDA6cmV0dXJuKGZ1bmN0aW9uIG8odCl7bGV0IGU9MTtmb3IobGV0IG49MDtuPHQucm93cztuKyspZm9yKGxldCBvPTA7bzx0LmNvbHVtbnM7bysrKWUqPXQuZ2V0KG4sbyk7cmV0dXJuIGV9KSh0aGlzKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgaW52YWxpZCBvcHRpb246ICR7dH1gKX19bWVhbih0KXtjb25zdCBlPXRoaXMuc3VtKHQpO3N3aXRjaCh0KXtjYXNlInJvdyI6Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWVbdF0vPXRoaXMuY29sdW1ucztyZXR1cm4gZTtjYXNlImNvbHVtbiI6Zm9yKGxldCB0PTA7dDx0aGlzLmNvbHVtbnM7dCsrKWVbdF0vPXRoaXMucm93cztyZXR1cm4gZTtjYXNlIHZvaWQgMDpyZXR1cm4gZS90aGlzLnNpemU7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgb3B0aW9uOiAke3R9YCl9fXZhcmlhbmNlKHQsZT17fSl7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiYoZT10LHQ9dm9pZCAwKSwib2JqZWN0IiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigib3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdCIpO2NvbnN0e3VuYmlhc2VkOm49ITAsbWVhbjpvPXRoaXMubWVhbih0KX09ZTtpZigiYm9vbGVhbiIhPXR5cGVvZiBuKXRocm93IG5ldyBUeXBlRXJyb3IoInVuYmlhc2VkIG11c3QgYmUgYSBib29sZWFuIik7c3dpdGNoKHQpe2Nhc2Uicm93IjppZighQXJyYXkuaXNBcnJheShvKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJtZWFuIG11c3QgYmUgYW4gYXJyYXkiKTtyZXR1cm4oZnVuY3Rpb24gZSh0LG4sbyl7Y29uc3QgaT10LnJvd3MsYT10LmNvbHVtbnMscj1bXTtmb3IobGV0IGU9MDtlPGk7ZSsrKXtsZXQgaT0wLHM9MCxsPTA7Zm9yKGxldCBuPTA7bjxhO24rKylsPXQuZ2V0KGUsbiktb1tlXSxpKz1sLHMrPWwqbDtyLnB1c2gobj8ocy1pKmkvYSkvKGEtMSk6KHMtaSppL2EpL2EpfXJldHVybiByfSkodGhpcyxuLG8pO2Nhc2UiY29sdW1uIjppZighQXJyYXkuaXNBcnJheShvKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJtZWFuIG11c3QgYmUgYW4gYXJyYXkiKTtyZXR1cm4oZnVuY3Rpb24gaSh0LGUsbil7Y29uc3Qgbz10LnJvd3MsaT10LmNvbHVtbnMsYT1bXTtmb3IobGV0IHI9MDtyPGk7cisrKXtsZXQgaT0wLHM9MCxsPTA7Zm9yKGxldCBlPTA7ZTxvO2UrKylsPXQuZ2V0KGUsciktbltyXSxpKz1sLHMrPWwqbDthLnB1c2goZT8ocy1pKmkvbykvKG8tMSk6KHMtaSppL28pL28pfXJldHVybiBhfSkodGhpcyxuLG8pO2Nhc2Ugdm9pZCAwOmlmKCJudW1iZXIiIT10eXBlb2Ygbyl0aHJvdyBuZXcgVHlwZUVycm9yKCJtZWFuIG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4oZnVuY3Rpb24gYSh0LGUsbil7Y29uc3Qgbz10LnJvd3MsaT10LmNvbHVtbnMsYT1vKmk7bGV0IHI9MCxzPTAsbD0wO2ZvcihsZXQgZT0wO2U8bztlKyspZm9yKGxldCBvPTA7bzxpO28rKylsPXQuZ2V0KGUsbyktbixyKz1sLHMrPWwqbDtyZXR1cm4gZT8ocy1yKnIvYSkvKGEtMSk6KHMtcipyL2EpL2F9KSh0aGlzLG4sbyk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgb3B0aW9uOiAke3R9YCl9fXN0YW5kYXJkRGV2aWF0aW9uKHQsZSl7Im9iamVjdCI9PXR5cGVvZiB0JiYoZT10LHQ9dm9pZCAwKTtjb25zdCBuPXRoaXMudmFyaWFuY2UodCxlKTtpZih2b2lkIDA9PT10KXJldHVybiBNYXRoLnNxcnQobik7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0Kyspblt0XT1NYXRoLnNxcnQoblt0XSk7cmV0dXJuIG59Y2VudGVyKHQsZT17fSl7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiYoZT10LHQ9dm9pZCAwKSwib2JqZWN0IiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigib3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdCIpO2NvbnN0e2NlbnRlcjpuPXRoaXMubWVhbih0KX09ZTtzd2l0Y2godCl7Y2FzZSJyb3ciOmlmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IG5ldyBUeXBlRXJyb3IoImNlbnRlciBtdXN0IGJlIGFuIGFycmF5Iik7cmV0dXJuKGZ1bmN0aW9uIGUodCxuKXtmb3IobGV0IGU9MDtlPHQucm93cztlKyspZm9yKGxldCBvPTA7bzx0LmNvbHVtbnM7bysrKXQuc2V0KGUsbyx0LmdldChlLG8pLW5bZV0pfSkodGhpcyxuKSx0aGlzO2Nhc2UiY29sdW1uIjppZighQXJyYXkuaXNBcnJheShuKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjZW50ZXIgbXVzdCBiZSBhbiBhcnJheSIpO3JldHVybihmdW5jdGlvbiBvKHQsZSl7Zm9yKGxldCBuPTA7bjx0LnJvd3M7bisrKWZvcihsZXQgbz0wO288dC5jb2x1bW5zO28rKyl0LnNldChuLG8sdC5nZXQobixvKS1lW29dKX0pKHRoaXMsbiksdGhpcztjYXNlIHZvaWQgMDppZigibnVtYmVyIiE9dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiY2VudGVyIG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4oZnVuY3Rpb24gaSh0LGUpe2ZvcihsZXQgbj0wO248dC5yb3dzO24rKylmb3IobGV0IG89MDtvPHQuY29sdW1ucztvKyspdC5zZXQobixvLHQuZ2V0KG4sbyktZSl9KSh0aGlzLG4pLHRoaXM7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgb3B0aW9uOiAke3R9YCl9fXNjYWxlKHQsZT17fSl7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiYoZT10LHQ9dm9pZCAwKSwib2JqZWN0IiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcigib3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdCIpO2xldCBuPWUuc2NhbGU7c3dpdGNoKHQpe2Nhc2Uicm93IjppZih2b2lkIDA9PT1uKW49KGZ1bmN0aW9uIGUodCl7Y29uc3QgZT1bXTtmb3IobGV0IG49MDtuPHQucm93cztuKyspe2xldCBvPTA7Zm9yKGxldCBlPTA7ZTx0LmNvbHVtbnM7ZSsrKW8rPU1hdGgucG93KHQuZ2V0KG4sZSksMikvKHQuY29sdW1ucy0xKTtlLnB1c2goTWF0aC5zcXJ0KG8pKX1yZXR1cm4gZX0pKHRoaXMpO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkobikpdGhyb3cgbmV3IFR5cGVFcnJvcigic2NhbGUgbXVzdCBiZSBhbiBhcnJheSIpO3JldHVybihmdW5jdGlvbiBvKHQsZSl7Zm9yKGxldCBuPTA7bjx0LnJvd3M7bisrKWZvcihsZXQgbz0wO288dC5jb2x1bW5zO28rKyl0LnNldChuLG8sdC5nZXQobixvKS9lW25dKX0pKHRoaXMsbiksdGhpcztjYXNlImNvbHVtbiI6aWYodm9pZCAwPT09biluPShmdW5jdGlvbiBpKHQpe2NvbnN0IGU9W107Zm9yKGxldCBuPTA7bjx0LmNvbHVtbnM7bisrKXtsZXQgbz0wO2ZvcihsZXQgZT0wO2U8dC5yb3dzO2UrKylvKz1NYXRoLnBvdyh0LmdldChlLG4pLDIpLyh0LnJvd3MtMSk7ZS5wdXNoKE1hdGguc3FydChvKSl9cmV0dXJuIGV9KSh0aGlzKTtlbHNlIGlmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IG5ldyBUeXBlRXJyb3IoInNjYWxlIG11c3QgYmUgYW4gYXJyYXkiKTtyZXR1cm4oZnVuY3Rpb24gYSh0LGUpe2ZvcihsZXQgbj0wO248dC5yb3dzO24rKylmb3IobGV0IG89MDtvPHQuY29sdW1ucztvKyspdC5zZXQobixvLHQuZ2V0KG4sbykvZVtvXSl9KSh0aGlzLG4pLHRoaXM7Y2FzZSB2b2lkIDA6aWYodm9pZCAwPT09biluPShmdW5jdGlvbiByKHQpe2NvbnN0IGU9dC5zaXplLTE7bGV0IG49MDtmb3IobGV0IG89MDtvPHQuY29sdW1ucztvKyspZm9yKGxldCBpPTA7aTx0LnJvd3M7aSsrKW4rPU1hdGgucG93KHQuZ2V0KGksbyksMikvZTtyZXR1cm4gTWF0aC5zcXJ0KG4pfSkodGhpcyk7ZWxzZSBpZigibnVtYmVyIiE9dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigic2NhbGUgbXVzdCBiZSBhIG51bWJlciIpO3JldHVybihmdW5jdGlvbiBzKHQsZSl7Zm9yKGxldCBuPTA7bjx0LnJvd3M7bisrKWZvcihsZXQgbz0wO288dC5jb2x1bW5zO28rKyl0LnNldChuLG8sdC5nZXQobixvKS9lKX0pKHRoaXMsbiksdGhpcztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgaW52YWxpZCBvcHRpb246ICR7dH1gKX19dG9TdHJpbmcodCl7cmV0dXJuIGZNdCh0aGlzLHQpfX1mdW5jdGlvbiB3TXQodCxlKXtyZXR1cm4gdC1lfVBNdC5wcm90b3R5cGUua2xhc3M9Ik1hdHJpeCIsInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJihQTXQucHJvdG90eXBlW1N5bWJvbC5mb3IoIm5vZGVqcy51dGlsLmluc3BlY3QuY3VzdG9tIildPWZ1bmN0aW9uIGtNdCgpe3JldHVybiBmTXQodGhpcyl9KSxQTXQucmFuZG9tPVBNdC5yYW5kLFBNdC5yYW5kb21JbnQ9UE10LnJhbmRJbnQsUE10LmRpYWdvbmFsPVBNdC5kaWFnLFBNdC5wcm90b3R5cGUuZGlhZ29uYWw9UE10LnByb3RvdHlwZS5kaWFnLFBNdC5pZGVudGl0eT1QTXQuZXllLFBNdC5wcm90b3R5cGUubmVnYXRlPVBNdC5wcm90b3R5cGUubmVnLFBNdC5wcm90b3R5cGUudGVuc29yUHJvZHVjdD1QTXQucHJvdG90eXBlLmtyb25lY2tlclByb2R1Y3Q7Y2xhc3MgU010IGV4dGVuZHMgUE10e2NvbnN0cnVjdG9yKHQsZSl7aWYoc3VwZXIoKSxTTXQuaXNNYXRyaXgodCkpcmV0dXJuIHQuY2xvbmUoKTtpZihOdW1iZXIuaXNJbnRlZ2VyKHQpJiZ0Pj0wKXtpZih0aGlzLmRhdGE9W10sIShOdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPj0wKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJuQ29sdW1ucyBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciIpO2ZvcihsZXQgbj0wO248dDtuKyspdGhpcy5kYXRhLnB1c2gobmV3IEZsb2F0NjRBcnJheShlKSl9ZWxzZXtpZighQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJGaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyIG9yIGFuIGFycmF5Iik7e2NvbnN0IG49dDtpZigibnVtYmVyIiE9dHlwZW9mKGU9KHQ9bi5sZW5ndGgpP25bMF0ubGVuZ3RoOjApKXRocm93IG5ldyBUeXBlRXJyb3IoIkRhdGEgbXVzdCBiZSBhIDJEIGFycmF5IHdpdGggYXQgbGVhc3Qgb25lIGVsZW1lbnQiKTt0aGlzLmRhdGE9W107Zm9yKGxldCBvPTA7bzx0O28rKyl7aWYobltvXS5sZW5ndGghPT1lKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmNvbnNpc3RlbnQgYXJyYXkgZGltZW5zaW9ucyIpO3RoaXMuZGF0YS5wdXNoKEZsb2F0NjRBcnJheS5mcm9tKG5bb10pKX19fXRoaXMucm93cz10LHRoaXMuY29sdW1ucz1lfXNldCh0LGUsbil7cmV0dXJuIHRoaXMuZGF0YVt0XVtlXT1uLHRoaXN9Z2V0KHQsZSl7cmV0dXJuIHRoaXMuZGF0YVt0XVtlXX1yZW1vdmVSb3codCl7cmV0dXJuIGdNdCh0aGlzLHQpLHRoaXMuZGF0YS5zcGxpY2UodCwxKSx0aGlzLnJvd3MtPTEsdGhpc31hZGRSb3codCxlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9dCx0PXRoaXMucm93cyksZ010KHRoaXMsdCwhMCksZT1GbG9hdDY0QXJyYXkuZnJvbShiTXQodGhpcyxlKSksdGhpcy5kYXRhLnNwbGljZSh0LDAsZSksdGhpcy5yb3dzKz0xLHRoaXN9cmVtb3ZlQ29sdW1uKHQpe2hNdCh0aGlzLHQpO2ZvcihsZXQgZT0wO2U8dGhpcy5yb3dzO2UrKyl7Y29uc3Qgbj1uZXcgRmxvYXQ2NEFycmF5KHRoaXMuY29sdW1ucy0xKTtmb3IobGV0IG89MDtvPHQ7bysrKW5bb109dGhpcy5kYXRhW2VdW29dO2ZvcihsZXQgbz10KzE7bzx0aGlzLmNvbHVtbnM7bysrKW5bby0xXT10aGlzLmRhdGFbZV1bb107dGhpcy5kYXRhW2VdPW59cmV0dXJuIHRoaXMuY29sdW1ucy09MSx0aGlzfWFkZENvbHVtbih0LGUpe3ZvaWQgMD09PWUmJihlPXQsdD10aGlzLmNvbHVtbnMpLGhNdCh0aGlzLHQsITApLGU9eU10KHRoaXMsZSk7Zm9yKGxldCBuPTA7bjx0aGlzLnJvd3M7bisrKXtjb25zdCBvPW5ldyBGbG9hdDY0QXJyYXkodGhpcy5jb2x1bW5zKzEpO2xldCBpPTA7Zm9yKDtpPHQ7aSsrKW9baV09dGhpcy5kYXRhW25dW2ldO2ZvcihvW2krK109ZVtuXTtpPHRoaXMuY29sdW1ucysxO2krKylvW2ldPXRoaXMuZGF0YVtuXVtpLTFdO3RoaXMuZGF0YVtuXT1vfXJldHVybiB0aGlzLmNvbHVtbnMrPTEsdGhpc319IShmdW5jdGlvbiBETXQodCxlKXt0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24gdChlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5hZGRTKGUpOnRoaXMuYWRkTShlKX0sdC5wcm90b3R5cGUuYWRkUz1mdW5jdGlvbiB0KGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQodCxuLHRoaXMuZ2V0KHQsbikrZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLmFkZE09ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLHRoaXMuZ2V0KHQsZSkrbi5nZXQodCxlKSk7cmV0dXJuIHRoaXN9LHQuYWRkPWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikuYWRkKG8pfSx0LnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24gdChlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5zdWJTKGUpOnRoaXMuc3ViTShlKX0sdC5wcm90b3R5cGUuc3ViUz1mdW5jdGlvbiB0KGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQodCxuLHRoaXMuZ2V0KHQsbiktZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLnN1Yk09ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLHRoaXMuZ2V0KHQsZSktbi5nZXQodCxlKSk7cmV0dXJuIHRoaXN9LHQuc3ViPWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikuc3ViKG8pfSx0LnByb3RvdHlwZS5zdWJ0cmFjdD10LnByb3RvdHlwZS5zdWIsdC5wcm90b3R5cGUuc3VidHJhY3RTPXQucHJvdG90eXBlLnN1YlMsdC5wcm90b3R5cGUuc3VidHJhY3RNPXQucHJvdG90eXBlLnN1Yk0sdC5zdWJ0cmFjdD10LnN1Yix0LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24gdChlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5tdWxTKGUpOnRoaXMubXVsTShlKX0sdC5wcm90b3R5cGUubXVsUz1mdW5jdGlvbiB0KGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQodCxuLHRoaXMuZ2V0KHQsbikqZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLm11bE09ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLHRoaXMuZ2V0KHQsZSkqbi5nZXQodCxlKSk7cmV0dXJuIHRoaXN9LHQubXVsPWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikubXVsKG8pfSx0LnByb3RvdHlwZS5tdWx0aXBseT10LnByb3RvdHlwZS5tdWwsdC5wcm90b3R5cGUubXVsdGlwbHlTPXQucHJvdG90eXBlLm11bFMsdC5wcm90b3R5cGUubXVsdGlwbHlNPXQucHJvdG90eXBlLm11bE0sdC5tdWx0aXBseT10Lm11bCx0LnByb3RvdHlwZS5kaXY9ZnVuY3Rpb24gdChlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5kaXZTKGUpOnRoaXMuZGl2TShlKX0sdC5wcm90b3R5cGUuZGl2Uz1mdW5jdGlvbiB0KGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQodCxuLHRoaXMuZ2V0KHQsbikvZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLmRpdk09ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLHRoaXMuZ2V0KHQsZSkvbi5nZXQodCxlKSk7cmV0dXJuIHRoaXN9LHQuZGl2PWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikuZGl2KG8pfSx0LnByb3RvdHlwZS5kaXZpZGU9dC5wcm90b3R5cGUuZGl2LHQucHJvdG90eXBlLmRpdmlkZVM9dC5wcm90b3R5cGUuZGl2Uyx0LnByb3RvdHlwZS5kaXZpZGVNPXQucHJvdG90eXBlLmRpdk0sdC5kaXZpZGU9dC5kaXYsdC5wcm90b3R5cGUubW9kPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlP3RoaXMubW9kUyhlKTp0aGlzLm1vZE0oZSl9LHQucHJvdG90eXBlLm1vZFM9ZnVuY3Rpb24gdChlKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBuPTA7bjx0aGlzLmNvbHVtbnM7bisrKXRoaXMuc2V0KHQsbix0aGlzLmdldCh0LG4pJWUpO3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5tb2RNPWZ1bmN0aW9uIHQobil7aWYobj1lLmNoZWNrTWF0cml4KG4pLHRoaXMucm93cyE9PW4ucm93c3x8dGhpcy5jb2x1bW5zIT09bi5jb2x1bW5zKXRocm93IG5ldyBSYW5nZUVycm9yKCJNYXRyaWNlcyBkaW1lbnNpb25zIG11c3QgYmUgZXF1YWwiKTtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSx0aGlzLmdldCh0LGUpJW4uZ2V0KHQsZSkpO3JldHVybiB0aGlzfSx0Lm1vZD1mdW5jdGlvbiB0KG4sbyl7cmV0dXJuIG5ldyBlKG4pLm1vZChvKX0sdC5wcm90b3R5cGUubW9kdWx1cz10LnByb3RvdHlwZS5tb2QsdC5wcm90b3R5cGUubW9kdWx1c1M9dC5wcm90b3R5cGUubW9kUyx0LnByb3RvdHlwZS5tb2R1bHVzTT10LnByb3RvdHlwZS5tb2RNLHQubW9kdWx1cz10Lm1vZCx0LnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24gdChlKXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGU/dGhpcy5hbmRTKGUpOnRoaXMuYW5kTShlKX0sdC5wcm90b3R5cGUuYW5kUz1mdW5jdGlvbiB0KGUpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IG49MDtuPHRoaXMuY29sdW1ucztuKyspdGhpcy5zZXQodCxuLHRoaXMuZ2V0KHQsbikmZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLmFuZE09ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLHRoaXMuZ2V0KHQsZSkmbi5nZXQodCxlKSk7cmV0dXJuIHRoaXN9LHQuYW5kPWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikuYW5kKG8pfSx0LnByb3RvdHlwZS5vcj1mdW5jdGlvbiB0KGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZT90aGlzLm9yUyhlKTp0aGlzLm9yTShlKX0sdC5wcm90b3R5cGUub3JTPWZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sdGhpcy5nZXQodCxuKXxlKTtyZXR1cm4gdGhpc30sdC5wcm90b3R5cGUub3JNPWZ1bmN0aW9uIHQobil7aWYobj1lLmNoZWNrTWF0cml4KG4pLHRoaXMucm93cyE9PW4ucm93c3x8dGhpcy5jb2x1bW5zIT09bi5jb2x1bW5zKXRocm93IG5ldyBSYW5nZUVycm9yKCJNYXRyaWNlcyBkaW1lbnNpb25zIG11c3QgYmUgZXF1YWwiKTtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSx0aGlzLmdldCh0LGUpfG4uZ2V0KHQsZSkpO3JldHVybiB0aGlzfSx0Lm9yPWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikub3Iobyl9LHQucHJvdG90eXBlLnhvcj1mdW5jdGlvbiB0KGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZT90aGlzLnhvclMoZSk6dGhpcy54b3JNKGUpfSx0LnByb3RvdHlwZS54b3JTPWZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sdGhpcy5nZXQodCxuKV5lKTtyZXR1cm4gdGhpc30sdC5wcm90b3R5cGUueG9yTT1mdW5jdGlvbiB0KG4pe2lmKG49ZS5jaGVja01hdHJpeChuKSx0aGlzLnJvd3MhPT1uLnJvd3N8fHRoaXMuY29sdW1ucyE9PW4uY29sdW1ucyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiTWF0cmljZXMgZGltZW5zaW9ucyBtdXN0IGJlIGVxdWFsIik7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsdGhpcy5nZXQodCxlKV5uLmdldCh0LGUpKTtyZXR1cm4gdGhpc30sdC54b3I9ZnVuY3Rpb24gdChuLG8pe3JldHVybiBuZXcgZShuKS54b3Iobyl9LHQucHJvdG90eXBlLmxlZnRTaGlmdD1mdW5jdGlvbiB0KGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZT90aGlzLmxlZnRTaGlmdFMoZSk6dGhpcy5sZWZ0U2hpZnRNKGUpfSx0LnByb3RvdHlwZS5sZWZ0U2hpZnRTPWZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sdGhpcy5nZXQodCxuKTw8ZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLmxlZnRTaGlmdE09ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLHRoaXMuZ2V0KHQsZSk8PG4uZ2V0KHQsZSkpO3JldHVybiB0aGlzfSx0LmxlZnRTaGlmdD1mdW5jdGlvbiB0KG4sbyl7cmV0dXJuIG5ldyBlKG4pLmxlZnRTaGlmdChvKX0sdC5wcm90b3R5cGUuc2lnblByb3BhZ2F0aW5nUmlnaHRTaGlmdD1mdW5jdGlvbiB0KGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZT90aGlzLnNpZ25Qcm9wYWdhdGluZ1JpZ2h0U2hpZnRTKGUpOnRoaXMuc2lnblByb3BhZ2F0aW5nUmlnaHRTaGlmdE0oZSl9LHQucHJvdG90eXBlLnNpZ25Qcm9wYWdhdGluZ1JpZ2h0U2hpZnRTPWZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sdGhpcy5nZXQodCxuKT4+ZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLnNpZ25Qcm9wYWdhdGluZ1JpZ2h0U2hpZnRNPWZ1bmN0aW9uIHQobil7aWYobj1lLmNoZWNrTWF0cml4KG4pLHRoaXMucm93cyE9PW4ucm93c3x8dGhpcy5jb2x1bW5zIT09bi5jb2x1bW5zKXRocm93IG5ldyBSYW5nZUVycm9yKCJNYXRyaWNlcyBkaW1lbnNpb25zIG11c3QgYmUgZXF1YWwiKTtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSx0aGlzLmdldCh0LGUpPj5uLmdldCh0LGUpKTtyZXR1cm4gdGhpc30sdC5zaWduUHJvcGFnYXRpbmdSaWdodFNoaWZ0PWZ1bmN0aW9uIHQobixvKXtyZXR1cm4gbmV3IGUobikuc2lnblByb3BhZ2F0aW5nUmlnaHRTaGlmdChvKX0sdC5wcm90b3R5cGUucmlnaHRTaGlmdD1mdW5jdGlvbiB0KGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZT90aGlzLnJpZ2h0U2hpZnRTKGUpOnRoaXMucmlnaHRTaGlmdE0oZSl9LHQucHJvdG90eXBlLnJpZ2h0U2hpZnRTPWZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sdGhpcy5nZXQodCxuKT4+PmUpO3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5yaWdodFNoaWZ0TT1mdW5jdGlvbiB0KG4pe2lmKG49ZS5jaGVja01hdHJpeChuKSx0aGlzLnJvd3MhPT1uLnJvd3N8fHRoaXMuY29sdW1ucyE9PW4uY29sdW1ucyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiTWF0cmljZXMgZGltZW5zaW9ucyBtdXN0IGJlIGVxdWFsIik7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsdGhpcy5nZXQodCxlKT4+Pm4uZ2V0KHQsZSkpO3JldHVybiB0aGlzfSx0LnJpZ2h0U2hpZnQ9ZnVuY3Rpb24gdChuLG8pe3JldHVybiBuZXcgZShuKS5yaWdodFNoaWZ0KG8pfSx0LnByb3RvdHlwZS56ZXJvRmlsbFJpZ2h0U2hpZnQ9dC5wcm90b3R5cGUucmlnaHRTaGlmdCx0LnByb3RvdHlwZS56ZXJvRmlsbFJpZ2h0U2hpZnRTPXQucHJvdG90eXBlLnJpZ2h0U2hpZnRTLHQucHJvdG90eXBlLnplcm9GaWxsUmlnaHRTaGlmdE09dC5wcm90b3R5cGUucmlnaHRTaGlmdE0sdC56ZXJvRmlsbFJpZ2h0U2hpZnQ9dC5yaWdodFNoaWZ0LHQucHJvdG90eXBlLm5vdD1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsfnRoaXMuZ2V0KHQsZSkpO3JldHVybiB0aGlzfSx0Lm5vdD1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5ub3QoKX0sdC5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmFicyh0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuYWJzPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLmFicygpfSx0LnByb3RvdHlwZS5hY29zPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmFjb3ModGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LmFjb3M9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuYWNvcygpfSx0LnByb3RvdHlwZS5hY29zaD1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5hY29zaCh0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuYWNvc2g9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuYWNvc2goKX0sdC5wcm90b3R5cGUuYXNpbj1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5hc2luKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5hc2luPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLmFzaW4oKX0sdC5wcm90b3R5cGUuYXNpbmg9ZnVuY3Rpb24gdCgpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGguYXNpbmgodGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LmFzaW5oPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLmFzaW5oKCl9LHQucHJvdG90eXBlLmF0YW49ZnVuY3Rpb24gdCgpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGguYXRhbih0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuYXRhbj1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5hdGFuKCl9LHQucHJvdG90eXBlLmF0YW5oPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmF0YW5oKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5hdGFuaD1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5hdGFuaCgpfSx0LnByb3RvdHlwZS5jYnJ0PWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmNicnQodGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LmNicnQ9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuY2JydCgpfSx0LnByb3RvdHlwZS5jZWlsPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmNlaWwodGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LmNlaWw9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuY2VpbCgpfSx0LnByb3RvdHlwZS5jbHozMj1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5jbHozMih0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuY2x6MzI9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuY2x6MzIoKX0sdC5wcm90b3R5cGUuY29zPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmNvcyh0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuY29zPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLmNvcygpfSx0LnByb3RvdHlwZS5jb3NoPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmNvc2godGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LmNvc2g9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuY29zaCgpfSx0LnByb3RvdHlwZS5leHA9ZnVuY3Rpb24gdCgpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGguZXhwKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5leHA9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuZXhwKCl9LHQucHJvdG90eXBlLmV4cG0xPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmV4cG0xKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5leHBtMT1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5leHBtMSgpfSx0LnByb3RvdHlwZS5mbG9vcj1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5mbG9vcih0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuZmxvb3I9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikuZmxvb3IoKX0sdC5wcm90b3R5cGUuZnJvdW5kPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmZyb3VuZCh0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuZnJvdW5kPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLmZyb3VuZCgpfSx0LnByb3RvdHlwZS5sb2c9ZnVuY3Rpb24gdCgpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGgubG9nKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5sb2c9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikubG9nKCl9LHQucHJvdG90eXBlLmxvZzFwPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLmxvZzFwKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5sb2cxcD1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5sb2cxcCgpfSx0LnByb3RvdHlwZS5sb2cxMD1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5sb2cxMCh0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQubG9nMTA9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikubG9nMTAoKX0sdC5wcm90b3R5cGUubG9nMj1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5sb2cyKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5sb2cyPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLmxvZzIoKX0sdC5wcm90b3R5cGUucm91bmQ9ZnVuY3Rpb24gdCgpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGgucm91bmQodGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LnJvdW5kPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLnJvdW5kKCl9LHQucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24gdCgpe2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGguc2lnbih0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQuc2lnbj1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5zaWduKCl9LHQucHJvdG90eXBlLnNpbj1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5zaW4odGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LnNpbj1mdW5jdGlvbiB0KG4pe3JldHVybiBuZXcgZShuKS5zaW4oKX0sdC5wcm90b3R5cGUuc2luaD1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5zaW5oKHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5zaW5oPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLnNpbmgoKX0sdC5wcm90b3R5cGUuc3FydD1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC5zcXJ0KHRoaXMuZ2V0KHQsZSkpKTtyZXR1cm4gdGhpc30sdC5zcXJ0PWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLnNxcnQoKX0sdC5wcm90b3R5cGUudGFuPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLnRhbih0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQudGFuPWZ1bmN0aW9uIHQobil7cmV0dXJuIG5ldyBlKG4pLnRhbigpfSx0LnByb3RvdHlwZS50YW5oPWZ1bmN0aW9uIHQoKXtmb3IobGV0IHQ9MDt0PHRoaXMucm93czt0KyspZm9yKGxldCBlPTA7ZTx0aGlzLmNvbHVtbnM7ZSsrKXRoaXMuc2V0KHQsZSxNYXRoLnRhbmgodGhpcy5nZXQodCxlKSkpO3JldHVybiB0aGlzfSx0LnRhbmg9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikudGFuaCgpfSx0LnByb3RvdHlwZS50cnVuYz1mdW5jdGlvbiB0KCl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgZT0wO2U8dGhpcy5jb2x1bW5zO2UrKyl0aGlzLnNldCh0LGUsTWF0aC50cnVuYyh0aGlzLmdldCh0LGUpKSk7cmV0dXJuIHRoaXN9LHQudHJ1bmM9ZnVuY3Rpb24gdChuKXtyZXR1cm4gbmV3IGUobikudHJ1bmMoKX0sdC5wb3c9ZnVuY3Rpb24gdChuLG8pe3JldHVybiBuZXcgZShuKS5wb3cobyl9LHQucHJvdG90eXBlLnBvdz1mdW5jdGlvbiB0KGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZT90aGlzLnBvd1MoZSk6dGhpcy5wb3dNKGUpfSx0LnByb3RvdHlwZS5wb3dTPWZ1bmN0aW9uIHQoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLnJvd3M7dCsrKWZvcihsZXQgbj0wO248dGhpcy5jb2x1bW5zO24rKyl0aGlzLnNldCh0LG4sTWF0aC5wb3codGhpcy5nZXQodCxuKSxlKSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLnBvd009ZnVuY3Rpb24gdChuKXtpZihuPWUuY2hlY2tNYXRyaXgobiksdGhpcy5yb3dzIT09bi5yb3dzfHx0aGlzLmNvbHVtbnMhPT1uLmNvbHVtbnMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk1hdHJpY2VzIGRpbWVuc2lvbnMgbXVzdCBiZSBlcXVhbCIpO2ZvcihsZXQgdD0wO3Q8dGhpcy5yb3dzO3QrKylmb3IobGV0IGU9MDtlPHRoaXMuY29sdW1ucztlKyspdGhpcy5zZXQodCxlLE1hdGgucG93KHRoaXMuZ2V0KHQsZSksbi5nZXQodCxlKSkpO3JldHVybiB0aGlzfX0pKFBNdCxTTXQpO2NsYXNzIFJNdCBleHRlbmRzIFBNdHtjb25zdHJ1Y3Rvcih0KXtzdXBlcigpLHRoaXMuZGF0YT10LHRoaXMucm93cz10Lmxlbmd0aCx0aGlzLmNvbHVtbnM9dFswXS5sZW5ndGh9c2V0KHQsZSxuKXtyZXR1cm4gdGhpcy5kYXRhW3RdW2VdPW4sdGhpc31nZXQodCxlKXtyZXR1cm4gdGhpcy5kYXRhW3RdW2VdfX1jbGFzcyBFTXR7Y29uc3RydWN0b3IodCl7bGV0IGUsbixvLGksYSxyLHMsbCxjLGQ9KHQ9Uk10LmNoZWNrTWF0cml4KHQpKS5jbG9uZSgpLHA9ZC5yb3dzLG09ZC5jb2x1bW5zLGY9bmV3IEZsb2F0NjRBcnJheShwKSx1PTE7Zm9yKGU9MDtlPHA7ZSsrKWZbZV09ZTtmb3IobD1uZXcgRmxvYXQ2NEFycmF5KHApLG49MDtuPG07bisrKXtmb3IoZT0wO2U8cDtlKyspbFtlXT1kLmdldChlLG4pO2ZvcihlPTA7ZTxwO2UrKyl7Zm9yKGM9TWF0aC5taW4oZSxuKSxhPTAsbz0wO288YztvKyspYSs9ZC5nZXQoZSxvKSpsW29dO2xbZV0tPWEsZC5zZXQoZSxuLGxbZV0pfWZvcihpPW4sZT1uKzE7ZTxwO2UrKylNYXRoLmFicyhsW2VdKT5NYXRoLmFicyhsW2ldKSYmKGk9ZSk7aWYoaSE9PW4pe2ZvcihvPTA7bzxtO28rKylyPWQuZ2V0KGksbyksZC5zZXQoaSxvLGQuZ2V0KG4sbykpLGQuc2V0KG4sbyxyKTtzPWZbaV0sZltpXT1mW25dLGZbbl09cyx1PS11fWlmKG48cCYmMCE9PWQuZ2V0KG4sbikpZm9yKGU9bisxO2U8cDtlKyspZC5zZXQoZSxuLGQuZ2V0KGUsbikvZC5nZXQobixuKSl9dGhpcy5MVT1kLHRoaXMucGl2b3RWZWN0b3I9Zix0aGlzLnBpdm90U2lnbj11fWlzU2luZ3VsYXIoKXtsZXQgdD10aGlzLkxVLGU9dC5jb2x1bW5zO2ZvcihsZXQgbj0wO248ZTtuKyspaWYoMD09PXQuZ2V0KG4sbikpcmV0dXJuITA7cmV0dXJuITF9c29sdmUodCl7dD1TTXQuY2hlY2tNYXRyaXgodCk7bGV0IGU9dGhpcy5MVTtpZihlLnJvd3MhPT10LnJvd3MpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG1hdHJpeCBkaW1lbnNpb25zIik7aWYodGhpcy5pc1Npbmd1bGFyKCkpdGhyb3cgbmV3IEVycm9yKCJMVSBtYXRyaXggaXMgc2luZ3VsYXIiKTtsZXQgbixvLGksYT10LmNvbHVtbnMscj10LnN1Yk1hdHJpeFJvdyh0aGlzLnBpdm90VmVjdG9yLDAsYS0xKSxzPWUuY29sdW1ucztmb3IoaT0wO2k8cztpKyspZm9yKG49aSsxO248cztuKyspZm9yKG89MDtvPGE7bysrKXIuc2V0KG4sbyxyLmdldChuLG8pLXIuZ2V0KGksbykqZS5nZXQobixpKSk7Zm9yKGk9cy0xO2k+PTA7aS0tKXtmb3Iobz0wO288YTtvKyspci5zZXQoaSxvLHIuZ2V0KGksbykvZS5nZXQoaSxpKSk7Zm9yKG49MDtuPGk7bisrKWZvcihvPTA7bzxhO28rKylyLnNldChuLG8sci5nZXQobixvKS1yLmdldChpLG8pKmUuZ2V0KG4saSkpfXJldHVybiByfWdldCBkZXRlcm1pbmFudCgpe2xldCB0PXRoaXMuTFU7aWYoIXQuaXNTcXVhcmUoKSl0aHJvdyBuZXcgRXJyb3IoIk1hdHJpeCBtdXN0IGJlIHNxdWFyZSIpO2xldCBlPXRoaXMucGl2b3RTaWduLG49dC5jb2x1bW5zO2ZvcihsZXQgbz0wO288bjtvKyspZSo9dC5nZXQobyxvKTtyZXR1cm4gZX1nZXQgbG93ZXJUcmlhbmd1bGFyTWF0cml4KCl7bGV0IHQ9dGhpcy5MVSxlPXQucm93cyxuPXQuY29sdW1ucyxvPW5ldyBTTXQoZSxuKTtmb3IobGV0IGk9MDtpPGU7aSsrKWZvcihsZXQgZT0wO2U8bjtlKyspby5zZXQoaSxlLGk+ZT90LmdldChpLGUpOmk9PT1lPzE6MCk7cmV0dXJuIG99Z2V0IHVwcGVyVHJpYW5ndWxhck1hdHJpeCgpe2xldCB0PXRoaXMuTFUsZT10LnJvd3Msbj10LmNvbHVtbnMsbz1uZXcgU010KGUsbik7Zm9yKGxldCBpPTA7aTxlO2krKylmb3IobGV0IGU9MDtlPG47ZSsrKW8uc2V0KGksZSxpPD1lP3QuZ2V0KGksZSk6MCk7cmV0dXJuIG99Z2V0IHBpdm90UGVybXV0YXRpb25WZWN0b3IoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnBpdm90VmVjdG9yKX19ZnVuY3Rpb24gQU10KHQsZSl7bGV0IG49MDtyZXR1cm4gTWF0aC5hYnModCk+TWF0aC5hYnMoZSk/KG49ZS90LE1hdGguYWJzKHQpKk1hdGguc3FydCgxK24qbikpOjAhPT1lPyhuPXQvZSxNYXRoLmFicyhlKSpNYXRoLnNxcnQoMStuKm4pKTowfWNsYXNzIFRNdHtjb25zdHJ1Y3Rvcih0KXtsZXQgZSxuLG8saSxhPSh0PVJNdC5jaGVja01hdHJpeCh0KSkuY2xvbmUoKSxyPXQucm93cyxzPXQuY29sdW1ucyxsPW5ldyBGbG9hdDY0QXJyYXkocyk7Zm9yKG89MDtvPHM7bysrKXtsZXQgdD0wO2ZvcihlPW87ZTxyO2UrKyl0PUFNdCh0LGEuZ2V0KGUsbykpO2lmKDAhPT10KXtmb3IoYS5nZXQobyxvKTwwJiYodD0tdCksZT1vO2U8cjtlKyspYS5zZXQoZSxvLGEuZ2V0KGUsbykvdCk7Zm9yKGEuc2V0KG8sbyxhLmdldChvLG8pKzEpLG49bysxO248cztuKyspe2ZvcihpPTAsZT1vO2U8cjtlKyspaSs9YS5nZXQoZSxvKSphLmdldChlLG4pO2ZvcihpPS1pL2EuZ2V0KG8sbyksZT1vO2U8cjtlKyspYS5zZXQoZSxuLGEuZ2V0KGUsbikraSphLmdldChlLG8pKX19bFtvXT0tdH10aGlzLlFSPWEsdGhpcy5SZGlhZz1sfXNvbHZlKHQpe3Q9U010LmNoZWNrTWF0cml4KHQpO2xldCBlPXRoaXMuUVIsbj1lLnJvd3M7aWYodC5yb3dzIT09bil0aHJvdyBuZXcgRXJyb3IoIk1hdHJpeCByb3cgZGltZW5zaW9ucyBtdXN0IGFncmVlIik7aWYoIXRoaXMuaXNGdWxsUmFuaygpKXRocm93IG5ldyBFcnJvcigiTWF0cml4IGlzIHJhbmsgZGVmaWNpZW50Iik7bGV0IG8saSxhLHIscz10LmNvbHVtbnMsbD10LmNsb25lKCksYz1lLmNvbHVtbnM7Zm9yKGE9MDthPGM7YSsrKWZvcihpPTA7aTxzO2krKyl7Zm9yKHI9MCxvPWE7bzxuO28rKylyKz1lLmdldChvLGEpKmwuZ2V0KG8saSk7Zm9yKHI9LXIvZS5nZXQoYSxhKSxvPWE7bzxuO28rKylsLnNldChvLGksbC5nZXQobyxpKStyKmUuZ2V0KG8sYSkpfWZvcihhPWMtMTthPj0wO2EtLSl7Zm9yKGk9MDtpPHM7aSsrKWwuc2V0KGEsaSxsLmdldChhLGkpL3RoaXMuUmRpYWdbYV0pO2ZvcihvPTA7bzxhO28rKylmb3IoaT0wO2k8cztpKyspbC5zZXQobyxpLGwuZ2V0KG8saSktbC5nZXQoYSxpKSplLmdldChvLGEpKX1yZXR1cm4gbC5zdWJNYXRyaXgoMCxjLTEsMCxzLTEpfWlzRnVsbFJhbmsoKXtsZXQgdD10aGlzLlFSLmNvbHVtbnM7Zm9yKGxldCBlPTA7ZTx0O2UrKylpZigwPT09dGhpcy5SZGlhZ1tlXSlyZXR1cm4hMTtyZXR1cm4hMH1nZXQgdXBwZXJUcmlhbmd1bGFyTWF0cml4KCl7bGV0IHQsZSxuPXRoaXMuUVIsbz1uLmNvbHVtbnMsaT1uZXcgU010KG8sbyk7Zm9yKHQ9MDt0PG87dCsrKWZvcihlPTA7ZTxvO2UrKylpLnNldCh0LGUsdDxlP24uZ2V0KHQsZSk6dD09PWU/dGhpcy5SZGlhZ1t0XTowKTtyZXR1cm4gaX1nZXQgb3J0aG9nb25hbE1hdHJpeCgpe2xldCB0LGUsbixvLGk9dGhpcy5RUixhPWkucm93cyxyPWkuY29sdW1ucyxzPW5ldyBTTXQoYSxyKTtmb3Iobj1yLTE7bj49MDtuLS0pe2Zvcih0PTA7dDxhO3QrKylzLnNldCh0LG4sMCk7Zm9yKHMuc2V0KG4sbiwxKSxlPW47ZTxyO2UrKylpZigwIT09aS5nZXQobixuKSl7Zm9yKG89MCx0PW47dDxhO3QrKylvKz1pLmdldCh0LG4pKnMuZ2V0KHQsZSk7Zm9yKG89LW8vaS5nZXQobixuKSx0PW47dDxhO3QrKylzLnNldCh0LGUscy5nZXQodCxlKStvKmkuZ2V0KHQsbikpfX1yZXR1cm4gc319Y2xhc3MgTk10e2NvbnN0cnVjdG9yKHQsZT17fSl7aWYoKHQ9Uk10LmNoZWNrTWF0cml4KHQpKS5pc0VtcHR5KCkpdGhyb3cgbmV3IEVycm9yKCJNYXRyaXggbXVzdCBiZSBub24tZW1wdHkiKTtsZXQgbj10LnJvd3Msbz10LmNvbHVtbnM7Y29uc3R7Y29tcHV0ZUxlZnRTaW5ndWxhclZlY3RvcnM6aT0hMCxjb21wdXRlUmlnaHRTaW5ndWxhclZlY3RvcnM6YT0hMCxhdXRvVHJhbnNwb3NlOnI9ITF9PWU7bGV0IHMsbD1Cb29sZWFuKGkpLGM9Qm9vbGVhbihhKSxkPSExO2lmKG48bylpZihyKXtzPXQudHJhbnNwb3NlKCksbj1zLnJvd3Msbz1zLmNvbHVtbnMsZD0hMDtsZXQgZT1sO2w9YyxjPWV9ZWxzZSBzPXQuY2xvbmUoKSxjb25zb2xlLndhcm4oIkNvbXB1dGluZyBTVkQgb24gYSBtYXRyaXggd2l0aCBtb3JlIGNvbHVtbnMgdGhhbiByb3dzLiBDb25zaWRlciBlbmFibGluZyBhdXRvVHJhbnNwb3NlIik7ZWxzZSBzPXQuY2xvbmUoKTtsZXQgcD1NYXRoLm1pbihuLG8pLG09TWF0aC5taW4obisxLG8pLGY9bmV3IEZsb2F0NjRBcnJheShtKSx1PW5ldyBTTXQobixwKSxnPW5ldyBTTXQobyxvKSxoPW5ldyBGbG9hdDY0QXJyYXkobyksYj1uZXcgRmxvYXQ2NEFycmF5KG4pLHk9bmV3IEZsb2F0NjRBcnJheShtKTtmb3IobGV0IHQ9MDt0PG07dCsrKXlbdF09dDtsZXQgXz1NYXRoLm1pbihuLTEsbyksQz1NYXRoLm1heCgwLE1hdGgubWluKG8tMixuKSksTT1NYXRoLm1heChfLEMpO2ZvcihsZXQgdD0wO3Q8TTt0Kyspe2lmKHQ8Xyl7Zlt0XT0wO2ZvcihsZXQgZT10O2U8bjtlKyspZlt0XT1BTXQoZlt0XSxzLmdldChlLHQpKTtpZigwIT09Zlt0XSl7cy5nZXQodCx0KTwwJiYoZlt0XT0tZlt0XSk7Zm9yKGxldCBlPXQ7ZTxuO2UrKylzLnNldChlLHQscy5nZXQoZSx0KS9mW3RdKTtzLnNldCh0LHQscy5nZXQodCx0KSsxKX1mW3RdPS1mW3RdfWZvcihsZXQgZT10KzE7ZTxvO2UrKyl7aWYodDxfJiYwIT09Zlt0XSl7bGV0IG89MDtmb3IobGV0IGk9dDtpPG47aSsrKW8rPXMuZ2V0KGksdCkqcy5nZXQoaSxlKTtvPS1vL3MuZ2V0KHQsdCk7Zm9yKGxldCBpPXQ7aTxuO2krKylzLnNldChpLGUscy5nZXQoaSxlKStvKnMuZ2V0KGksdCkpfWhbZV09cy5nZXQodCxlKX1pZihsJiZ0PF8pZm9yKGxldCBlPXQ7ZTxuO2UrKyl1LnNldChlLHQscy5nZXQoZSx0KSk7aWYodDxDKXtoW3RdPTA7Zm9yKGxldCBlPXQrMTtlPG87ZSsrKWhbdF09QU10KGhbdF0saFtlXSk7aWYoMCE9PWhbdF0pe2hbdCsxXTwwJiYoaFt0XT0wLWhbdF0pO2ZvcihsZXQgZT10KzE7ZTxvO2UrKyloW2VdLz1oW3RdO2hbdCsxXSs9MX1pZihoW3RdPS1oW3RdLHQrMTxuJiYwIT09aFt0XSl7Zm9yKGxldCBlPXQrMTtlPG47ZSsrKWJbZV09MDtmb3IobGV0IGU9dCsxO2U8bjtlKyspZm9yKGxldCBuPXQrMTtuPG87bisrKWJbZV0rPWhbbl0qcy5nZXQoZSxuKTtmb3IobGV0IGU9dCsxO2U8bztlKyspe2xldCBvPS1oW2VdL2hbdCsxXTtmb3IobGV0IGk9dCsxO2k8bjtpKyspcy5zZXQoaSxlLHMuZ2V0KGksZSkrbypiW2ldKX19aWYoYylmb3IobGV0IGU9dCsxO2U8bztlKyspZy5zZXQoZSx0LGhbZV0pfX1sZXQgdj1NYXRoLm1pbihvLG4rMSk7aWYoXzxvJiYoZltfXT1zLmdldChfLF8pKSxuPHYmJihmW3YtMV09MCksQysxPHYmJihoW0NdPXMuZ2V0KEMsdi0xKSksaFt2LTFdPTAsbCl7Zm9yKGxldCB0PV87dDxwO3QrKyl7Zm9yKGxldCBlPTA7ZTxuO2UrKyl1LnNldChlLHQsMCk7dS5zZXQodCx0LDEpfWZvcihsZXQgdD1fLTE7dD49MDt0LS0paWYoMCE9PWZbdF0pe2ZvcihsZXQgZT10KzE7ZTxwO2UrKyl7bGV0IG89MDtmb3IobGV0IGk9dDtpPG47aSsrKW8rPXUuZ2V0KGksdCkqdS5nZXQoaSxlKTtvPS1vL3UuZ2V0KHQsdCk7Zm9yKGxldCBpPXQ7aTxuO2krKyl1LnNldChpLGUsdS5nZXQoaSxlKStvKnUuZ2V0KGksdCkpfWZvcihsZXQgZT10O2U8bjtlKyspdS5zZXQoZSx0LC11LmdldChlLHQpKTt1LnNldCh0LHQsMSt1LmdldCh0LHQpKTtmb3IobGV0IGU9MDtlPHQtMTtlKyspdS5zZXQoZSx0LDApfWVsc2V7Zm9yKGxldCBlPTA7ZTxuO2UrKyl1LnNldChlLHQsMCk7dS5zZXQodCx0LDEpfX1pZihjKWZvcihsZXQgdD1vLTE7dD49MDt0LS0pe2lmKHQ8QyYmMCE9PWhbdF0pZm9yKGxldCBlPXQrMTtlPG87ZSsrKXtsZXQgbj0wO2ZvcihsZXQgaT10KzE7aTxvO2krKyluKz1nLmdldChpLHQpKmcuZ2V0KGksZSk7bj0tbi9nLmdldCh0KzEsdCk7Zm9yKGxldCBpPXQrMTtpPG87aSsrKWcuc2V0KGksZSxnLmdldChpLGUpK24qZy5nZXQoaSx0KSl9Zm9yKGxldCBlPTA7ZTxvO2UrKylnLnNldChlLHQsMCk7Zy5zZXQodCx0LDEpfWxldCB4PXYtMSxPPU51bWJlci5FUFNJTE9OO2Zvcig7dj4wOyl7bGV0IHQsZTtmb3IodD12LTI7dD49LTEmJi0xIT09dDt0LS0pe2NvbnN0IGU9TnVtYmVyLk1JTl9WQUxVRStPKk1hdGguYWJzKGZbdF0rTWF0aC5hYnMoZlt0KzFdKSk7aWYoTWF0aC5hYnMoaFt0XSk8PWV8fE51bWJlci5pc05hTihoW3RdKSl7aFt0XT0wO2JyZWFrfX1pZih0PT09di0yKWU9NDtlbHNle2xldCBuO2ZvcihuPXYtMTtuPj10JiZuIT09dDtuLS0pe2xldCBlPShuIT09dj9NYXRoLmFicyhoW25dKTowKSsobiE9PXQrMT9NYXRoLmFicyhoW24tMV0pOjApO2lmKE1hdGguYWJzKGZbbl0pPD1PKmUpe2Zbbl09MDticmVha319bj09PXQ/ZT0zOm49PT12LTE/ZT0xOihlPTIsdD1uKX1zd2l0Y2godCsrLGUpe2Nhc2UgMTp7bGV0IGU9aFt2LTJdO2hbdi0yXT0wO2ZvcihsZXQgbj12LTI7bj49dDtuLS0pe2xldCBpPUFNdChmW25dLGUpLGE9ZltuXS9pLHI9ZS9pO2lmKGZbbl09aSxuIT09dCYmKGU9LXIqaFtuLTFdLGhbbi0xXT1hKmhbbi0xXSksYylmb3IobGV0IHQ9MDt0PG87dCsrKWk9YSpnLmdldCh0LG4pK3IqZy5nZXQodCx2LTEpLGcuc2V0KHQsdi0xLC1yKmcuZ2V0KHQsbikrYSpnLmdldCh0LHYtMSkpLGcuc2V0KHQsbixpKX1icmVha31jYXNlIDI6e2xldCBlPWhbdC0xXTtoW3QtMV09MDtmb3IobGV0IG89dDtvPHY7bysrKXtsZXQgaT1BTXQoZltvXSxlKSxhPWZbb10vaSxyPWUvaTtpZihmW29dPWksZT0tcipoW29dLGhbb109YSpoW29dLGwpZm9yKGxldCBlPTA7ZTxuO2UrKylpPWEqdS5nZXQoZSxvKStyKnUuZ2V0KGUsdC0xKSx1LnNldChlLHQtMSwtcip1LmdldChlLG8pK2EqdS5nZXQoZSx0LTEpKSx1LnNldChlLG8saSl9YnJlYWt9Y2FzZSAzOntjb25zdCBlPU1hdGgubWF4KE1hdGguYWJzKGZbdi0xXSksTWF0aC5hYnMoZlt2LTJdKSxNYXRoLmFicyhoW3YtMl0pLE1hdGguYWJzKGZbdF0pLE1hdGguYWJzKGhbdF0pKSxpPWZbdi0xXS9lLGE9Zlt2LTJdL2Uscj1oW3YtMl0vZSxzPWZbdF0vZSxkPWhbdF0vZSxwPSgoYStpKSooYS1pKStyKnIpLzIsbT1pKnIqKGkqcik7bGV0IGI9MDswPT09cCYmMD09PW18fChiPXA8MD8wLU1hdGguc3FydChwKnArbSk6TWF0aC5zcXJ0KHAqcCttKSxiPW0vKHArYikpO2xldCB5PShzK2kpKihzLWkpK2IsXz1zKmQ7Zm9yKGxldCBlPXQ7ZTx2LTE7ZSsrKXtsZXQgaT1BTXQoeSxfKTswPT09aSYmKGk9TnVtYmVyLk1JTl9WQUxVRSk7bGV0IGE9eS9pLHI9Xy9pO2lmKGUhPT10JiYoaFtlLTFdPWkpLHk9YSpmW2VdK3IqaFtlXSxoW2VdPWEqaFtlXS1yKmZbZV0sXz1yKmZbZSsxXSxmW2UrMV09YSpmW2UrMV0sYylmb3IobGV0IHQ9MDt0PG87dCsrKWk9YSpnLmdldCh0LGUpK3IqZy5nZXQodCxlKzEpLGcuc2V0KHQsZSsxLC1yKmcuZ2V0KHQsZSkrYSpnLmdldCh0LGUrMSkpLGcuc2V0KHQsZSxpKTtpZihpPUFNdCh5LF8pLDA9PT1pJiYoaT1OdW1iZXIuTUlOX1ZBTFVFKSxhPXkvaSxyPV8vaSxmW2VdPWkseT1hKmhbZV0rcipmW2UrMV0sZltlKzFdPS1yKmhbZV0rYSpmW2UrMV0sXz1yKmhbZSsxXSxoW2UrMV09YSpoW2UrMV0sbCYmZTxuLTEpZm9yKGxldCB0PTA7dDxuO3QrKylpPWEqdS5nZXQodCxlKStyKnUuZ2V0KHQsZSsxKSx1LnNldCh0LGUrMSwtcip1LmdldCh0LGUpK2EqdS5nZXQodCxlKzEpKSx1LnNldCh0LGUsaSl9aFt2LTJdPXk7YnJlYWt9Y2FzZSA0OmlmKGZbdF08PTAmJihmW3RdPWZbdF08MD8tZlt0XTowLGMpKWZvcihsZXQgZT0wO2U8PXg7ZSsrKWcuc2V0KGUsdCwtZy5nZXQoZSx0KSk7Zm9yKDt0PHgmJiEoZlt0XT49Zlt0KzFdKTspe2xldCBlPWZbdF07aWYoZlt0XT1mW3QrMV0sZlt0KzFdPWUsYyYmdDxvLTEpZm9yKGxldCBuPTA7bjxvO24rKyllPWcuZ2V0KG4sdCsxKSxnLnNldChuLHQrMSxnLmdldChuLHQpKSxnLnNldChuLHQsZSk7aWYobCYmdDxuLTEpZm9yKGxldCBvPTA7bzxuO28rKyllPXUuZ2V0KG8sdCsxKSx1LnNldChvLHQrMSx1LmdldChvLHQpKSx1LnNldChvLHQsZSk7dCsrfXYtLX19aWYoZCl7bGV0IHQ9ZztnPXUsdT10fXRoaXMubT1uLHRoaXMubj1vLHRoaXMucz1mLHRoaXMuVT11LHRoaXMuVj1nfXNvbHZlKHQpe2xldCBlPXQsbj10aGlzLnRocmVzaG9sZCxvPXRoaXMucy5sZW5ndGgsaT1TTXQuemVyb3MobyxvKTtmb3IobGV0IHQ9MDt0PG87dCsrKU1hdGguYWJzKHRoaXMuc1t0XSk8PW4/aS5zZXQodCx0LDApOmkuc2V0KHQsdCwxL3RoaXMuc1t0XSk7bGV0IGE9dGhpcy5VLHI9dGhpcy5yaWdodFNpbmd1bGFyVmVjdG9ycyxzPXIubW11bChpKSxsPXIucm93cyxjPWEucm93cyxkPVNNdC56ZXJvcyhsLGMpO2ZvcihsZXQgdD0wO3Q8bDt0KyspZm9yKGxldCBlPTA7ZTxjO2UrKyl7bGV0IG49MDtmb3IobGV0IGk9MDtpPG87aSsrKW4rPXMuZ2V0KHQsaSkqYS5nZXQoZSxpKTtkLnNldCh0LGUsbil9cmV0dXJuIGQubW11bChlKX1zb2x2ZUZvckRpYWdvbmFsKHQpe3JldHVybiB0aGlzLnNvbHZlKFNNdC5kaWFnKHQpKX1pbnZlcnNlKCl7bGV0IHQ9dGhpcy5WLGU9dGhpcy50aHJlc2hvbGQsbj10LnJvd3Msbz10LmNvbHVtbnMsaT1uZXcgU010KG4sdGhpcy5zLmxlbmd0aCk7Zm9yKGxldCBhPTA7YTxuO2ErKylmb3IobGV0IG49MDtuPG87bisrKU1hdGguYWJzKHRoaXMuc1tuXSk+ZSYmaS5zZXQoYSxuLHQuZ2V0KGEsbikvdGhpcy5zW25dKTtsZXQgYT10aGlzLlUscj1hLnJvd3Mscz1hLmNvbHVtbnMsbD1uZXcgU010KG4scik7Zm9yKGxldCB0PTA7dDxuO3QrKylmb3IobGV0IGU9MDtlPHI7ZSsrKXtsZXQgbj0wO2ZvcihsZXQgbz0wO288cztvKyspbis9aS5nZXQodCxvKSphLmdldChlLG8pO2wuc2V0KHQsZSxuKX1yZXR1cm4gbH1nZXQgY29uZGl0aW9uKCl7cmV0dXJuIHRoaXMuc1swXS90aGlzLnNbTWF0aC5taW4odGhpcy5tLHRoaXMubiktMV19Z2V0IG5vcm0yKCl7cmV0dXJuIHRoaXMuc1swXX1nZXQgcmFuaygpe2xldCB0PU1hdGgubWF4KHRoaXMubSx0aGlzLm4pKnRoaXMuc1swXSpOdW1iZXIuRVBTSUxPTixlPTAsbj10aGlzLnM7Zm9yKGxldCBvPTAsaT1uLmxlbmd0aDtvPGk7bysrKW5bb10+dCYmZSsrO3JldHVybiBlfWdldCBkaWFnb25hbCgpe3JldHVybiBBcnJheS5mcm9tKHRoaXMucyl9Z2V0IHRocmVzaG9sZCgpe3JldHVybiBOdW1iZXIuRVBTSUxPTi8yKk1hdGgubWF4KHRoaXMubSx0aGlzLm4pKnRoaXMuc1swXX1nZXQgbGVmdFNpbmd1bGFyVmVjdG9ycygpe3JldHVybiB0aGlzLlV9Z2V0IHJpZ2h0U2luZ3VsYXJWZWN0b3JzKCl7cmV0dXJuIHRoaXMuVn1nZXQgZGlhZ29uYWxNYXRyaXgoKXtyZXR1cm4gU010LmRpYWcodGhpcy5zKX19ZnVuY3Rpb24gek10KHQsZT0hMSl7cmV0dXJuIHQ9Uk10LmNoZWNrTWF0cml4KHQpLGU/bmV3IE5NdCh0KS5pbnZlcnNlKCk6KGZ1bmN0aW9uIG4odCxlLG89ITEpe3JldHVybiB0PVJNdC5jaGVja01hdHJpeCh0KSxlPVJNdC5jaGVja01hdHJpeChlKSxvP25ldyBOTXQodCkuc29sdmUoZSk6dC5pc1NxdWFyZSgpP25ldyBFTXQodCkuc29sdmUoZSk6bmV3IFRNdCh0KS5zb2x2ZShlKX0pKHQsU010LmV5ZSh0LnJvd3MpKX1mdW5jdGlvbiBJTXQodCxlLG4sbyxpKXtsZXQgYT1TTXQuZXllKGUubGVuZ3RoLGUubGVuZ3RoLG4qbypvKTtjb25zdCByPWkoZSk7bGV0IHM9bmV3IEZsb2F0NjRBcnJheSh0LngubGVuZ3RoKTtmb3IobGV0IGU9MDtlPHQueC5sZW5ndGg7ZSsrKXNbZV09cih0LnhbZV0pO2xldCBsPShmdW5jdGlvbiBjKHQsZSxuLG8saSl7Y29uc3QgYT1uLmxlbmd0aCxyPXQueC5sZW5ndGg7bGV0IHM9bmV3IEFycmF5KGEpO2ZvcihsZXQgbD0wO2w8YTtsKyspe3NbbF09bmV3IEFycmF5KHIpO2xldCBhPW4uc2xpY2UoKTthW2xdKz1vO2xldCBjPWkoYSk7Zm9yKGxldCBuPTA7bjxyO24rKylzW2xdW25dPWVbbl0tYyh0Lnhbbl0pfXJldHVybiBuZXcgU010KHMpfSkodCxzLGUsbyxpKSxkPShmdW5jdGlvbiBwKHQsZSl7Y29uc3Qgbj10LngubGVuZ3RoO2xldCBvPW5ldyBBcnJheShuKTtmb3IobGV0IGk9MDtpPG47aSsrKW9baV09W3QueVtpXS1lW2ldXTtyZXR1cm4gbmV3IFNNdChvKX0pKHQscyksbT16TXQoYS5hZGQobC5tbXVsKGwudHJhbnNwb3NlKCkpKSk7cmV0dXJuKGU9KGU9bmV3IFNNdChbZV0pKS5zdWIobS5tbXVsKGwpLm1tdWwoZCkubXVsKG8pLnRyYW5zcG9zZSgpKSkudG8xREFycmF5KCl9dmFyIEhNdD1DTyhPYmplY3QuZnJlZXplKHtfX3Byb3RvX186bnVsbCxkZWZhdWx0OmZ1bmN0aW9uIEZNdCh0LGUsbj17fSl7bGV0e21heEl0ZXJhdGlvbnM6bz0xMDAsZ3JhZGllbnREaWZmZXJlbmNlOmk9LjEsZGFtcGluZzphPTAsZXJyb3JUb2xlcmFuY2U6cj0uMDEsbWluVmFsdWVzOnMsbWF4VmFsdWVzOmwsaW5pdGlhbFZhbHVlczpjfT1uO2lmKGE8PTApdGhyb3cgbmV3IEVycm9yKCJUaGUgZGFtcGluZyBvcHRpb24gbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlciIpO2lmKCF0Lnh8fCF0LnkpdGhyb3cgbmV3IEVycm9yKCJUaGUgZGF0YSBwYXJhbWV0ZXIgbXVzdCBoYXZlIHggYW5kIHkgZWxlbWVudHMiKTtpZighaU10KHQueCl8fHQueC5sZW5ndGg8Mnx8IWlNdCh0LnkpfHx0LnkubGVuZ3RoPDIpdGhyb3cgbmV3IEVycm9yKCJUaGUgZGF0YSBwYXJhbWV0ZXIgZWxlbWVudHMgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG1vcmUgdGhhbiAyIHBvaW50cyIpO2lmKHQueC5sZW5ndGghPT10LnkubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiVGhlIGRhdGEgcGFyYW1ldGVyIGVsZW1lbnRzIG11c3QgaGF2ZSB0aGUgc2FtZSBzaXplIik7bGV0IGQ9Y3x8bmV3IEFycmF5KGUubGVuZ3RoKS5maWxsKDEpLHA9ZC5sZW5ndGg7aWYobD1sfHxuZXcgQXJyYXkocCkuZmlsbChOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikscz1zfHxuZXcgQXJyYXkocCkuZmlsbChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksbC5sZW5ndGghPT1zLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIm1pblZhbHVlcyBhbmQgbWF4VmFsdWVzIG11c3QgYmUgdGhlIHNhbWUgc2l6ZSIpO2lmKCFpTXQoZCkpdGhyb3cgbmV3IEVycm9yKCJpbml0aWFsVmFsdWVzIG11c3QgYmUgYW4gYXJyYXkiKTtsZXQgbSxmPWFNdCh0LGQsZSksdT1mPD1yO2ZvcihtPTA7bTxvJiYhdTttKyspe2Q9SU10KHQsZCxhLGksZSk7Zm9yKGxldCB0PTA7dDxwO3QrKylkW3RdPU1hdGgubWluKE1hdGgubWF4KHNbdF0sZFt0XSksbFt0XSk7aWYoZj1hTXQodCxkLGUpLGlzTmFOKGYpKWJyZWFrO3U9Zjw9cn1yZXR1cm57cGFyYW1ldGVyVmFsdWVzOmQscGFyYW1ldGVyRXJyb3I6ZixpdGVyYXRpb25zOm19fX0pKSxMTXQ9X08mJl9PLl9fYXdhaXRlcnx8ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKGksYSl7ZnVuY3Rpb24gcih0KXt0cnl7bChvLm5leHQodCkpfWNhdGNoKHQpe2EodCl9fWZ1bmN0aW9uIHModCl7dHJ5e2woby50aHJvdyh0KSl9Y2F0Y2godCl7YSh0KX19ZnVuY3Rpb24gbCh0KXt0LmRvbmU/aSh0LnZhbHVlKTpuZXcgbigoZnVuY3Rpb24oZSl7ZSh0LnZhbHVlKX0pKS50aGVuKHIscyl9bCgobz1vLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSkpfSxCTXQ9X08mJl9PLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0LGUpe3ZhciBuLG8saSxhLHI9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmaVswXSl0aHJvdyBpWzFdO3JldHVybiBpWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGE9e25leHQ6cygwKSx0aHJvdzpzKDEpLHJldHVybjpzKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoYVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxhO2Z1bmN0aW9uIHMoYSl7cmV0dXJuIGZ1bmN0aW9uKHMpe3JldHVybihmdW5jdGlvbiBsKGEpe2lmKG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7cjspdHJ5e2lmKG49MSxvJiYoaT0yJmFbMF0/by5yZXR1cm46YVswXT9vLnRocm93fHwoKGk9by5yZXR1cm4pJiZpLmNhbGwobyksMCk6by5uZXh0KSYmIShpPWkuY2FsbChvLGFbMV0pKS5kb25lKXJldHVybiBpO3N3aXRjaChvPTAsaSYmKGE9WzImYVswXSxpLnZhbHVlXSksYVswXSl7Y2FzZSAwOmNhc2UgMTppPWE7YnJlYWs7Y2FzZSA0OnJldHVybiByLmxhYmVsKysse3ZhbHVlOmFbMV0sZG9uZTohMX07Y2FzZSA1OnIubGFiZWwrKyxvPWFbMV0sYT1bMF07Y29udGludWU7Y2FzZSA3OmE9ci5vcHMucG9wKCksci50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShpPXIudHJ5cywoaT1pLmxlbmd0aD4wJiZpW2kubGVuZ3RoLTFdKXx8NiE9PWFbMF0mJjIhPT1hWzBdKSl7cj0wO2NvbnRpbnVlfWlmKDM9PT1hWzBdJiYoIWl8fGFbMV0+aVswXSYmYVsxXTxpWzNdKSl7ci5sYWJlbD1hWzFdO2JyZWFrfWlmKDY9PT1hWzBdJiZyLmxhYmVsPGlbMV0pe3IubGFiZWw9aVsxXSxpPWE7YnJlYWt9aWYoaSYmci5sYWJlbDxpWzJdKXtyLmxhYmVsPWlbMl0sci5vcHMucHVzaChhKTticmVha31pWzJdJiZyLm9wcy5wb3AoKSxyLnRyeXMucG9wKCk7Y29udGludWV9YT1lLmNhbGwodCxyKX1jYXRjaCh0KXthPVs2LHRdLG89MH1maW5hbGx5e249aT0wfWlmKDUmYVswXSl0aHJvdyBhWzFdO3JldHVybnt2YWx1ZTphWzBdP2FbMV06dm9pZCAwLGRvbmU6ITB9fSkoW2Esc10pfX19LFZNdD1fTyYmX08uX19yZWFkfHxmdW5jdGlvbih0LGUpe3ZhciBuPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXTtpZighbilyZXR1cm4gdDt2YXIgbyxpLGE9bi5jYWxsKHQpLHI9W107dHJ5e2Zvcig7KHZvaWQgMD09PWV8fGUtLSA+MCkmJiEobz1hLm5leHQoKSkuZG9uZTspci5wdXNoKG8udmFsdWUpfWNhdGNoKHQpe2k9e2Vycm9yOnR9fWZpbmFsbHl7dHJ5e28mJiFvLmRvbmUmJihuPWEucmV0dXJuKSYmbi5jYWxsKGEpfWZpbmFsbHl7aWYoaSl0aHJvdyBpLmVycm9yfX1yZXR1cm4gcn0sak10PV9PJiZfTy5fX3NwcmVhZHx8ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdD10LmNvbmNhdChWTXQoYXJndW1lbnRzW2VdKSk7cmV0dXJuIHR9LFVNdD1fTyYmX08uX19pbXBvcnRTdGFyfHxmdW5jdGlvbih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIGU9e307aWYobnVsbCE9dClmb3IodmFyIG4gaW4gdClPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKTtyZXR1cm4gZS5kZWZhdWx0PXQsZX0sV010PV9PJiZfTy5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEhfdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIEdNdD1VTXQoRl90KSxZTXQ9VU10KGZDdCkscU10PVVNdChFQ3QpLFpNdD1VTXQoQUN0KSxYTXQ9VU10KExfdCksS010PVdNdChITXQpLEpNdD0xZS01LFFNdD0uMDAxLCRNdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgZT10aGlzO3RoaXMubGVhcm5pbmdSYXRlPTEsdGhpcy5sb2NhbENvbm5lY3Rpdml0eT0xLHRoaXMubWluRGlzdD0uMSx0aGlzLm5Db21wb25lbnRzPTIsdGhpcy5uRXBvY2hzPTAsdGhpcy5uTmVpZ2hib3JzPTE1LHRoaXMubmVnYXRpdmVTYW1wbGVSYXRlPTUsdGhpcy5yYW5kb209TWF0aC5yYW5kb20sdGhpcy5yZXB1bHNpb25TdHJlbmd0aD0xLHRoaXMuc2V0T3BNaXhSYXRpbz0xLHRoaXMuc3ByZWFkPTEsdGhpcy50cmFuc2Zvcm1RdWV1ZVNpemU9NCx0aGlzLnRhcmdldE1ldHJpYz0iY2F0ZWdvcmljYWwiLHRoaXMudGFyZ2V0V2VpZ2h0PS41LHRoaXMudGFyZ2V0Tk5laWdoYm9ycz10aGlzLm5OZWlnaGJvcnMsdGhpcy5kaXN0YW5jZUZuPXR2dCx0aGlzLmlzSW5pdGlhbGl6ZWQ9ITEsdGhpcy5ycEZvcmVzdD1bXSx0aGlzLmVtYmVkZGluZz1bXSx0aGlzLm9wdGltaXphdGlvblN0YXRlPW5ldyBudnQ7dmFyIG49ZnVuY3Rpb24obil7dm9pZCAwIT09dFtuXSYmKGVbbl09dFtuXSl9O24oImRpc3RhbmNlRm4iKSxuKCJsZWFybmluZ1JhdGUiKSxuKCJsb2NhbENvbm5lY3Rpdml0eSIpLG4oIm1pbkRpc3QiKSxuKCJuQ29tcG9uZW50cyIpLG4oIm5FcG9jaHMiKSxuKCJuTmVpZ2hib3JzIiksbigibmVnYXRpdmVTYW1wbGVSYXRlIiksbigicmFuZG9tIiksbigicmVwdWxzaW9uU3RyZW5ndGgiKSxuKCJzZXRPcE1peFJhdGlvIiksbigic3ByZWFkIiksbigidHJhbnNmb3JtUXVldWVTaXplIil9cmV0dXJuIHQucHJvdG90eXBlLmZpdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbml0aWFsaXplRml0KHQpLHRoaXMub3B0aW1pemVMYXlvdXQoKSx0aGlzLmVtYmVkZGluZ30sdC5wcm90b3R5cGUuZml0QXN5bmM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9ZnVuY3Rpb24oKXtyZXR1cm4hMH0pLExNdCh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7cmV0dXJuIEJNdCh0aGlzLChmdW5jdGlvbihuKXtzd2l0Y2gobi5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLmluaXRpYWxpemVGaXQodCksWzQsdGhpcy5vcHRpbWl6ZUxheW91dEFzeW5jKGUpXTtjYXNlIDE6cmV0dXJuIG4uc2VudCgpLFsyLHRoaXMuZW1iZWRkaW5nXX19KSl9KSl9LHQucHJvdG90eXBlLnNldFN1cGVydmlzZWRQcm9qZWN0aW9uPWZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZSYmKGU9e30pLHRoaXMuWT10LHRoaXMudGFyZ2V0TWV0cmljPWUudGFyZ2V0TWV0cmljfHx0aGlzLnRhcmdldE1ldHJpYyx0aGlzLnRhcmdldFdlaWdodD1lLnRhcmdldFdlaWdodHx8dGhpcy50YXJnZXRXZWlnaHQsdGhpcy50YXJnZXROTmVpZ2hib3JzPWUudGFyZ2V0Tk5laWdoYm9yc3x8dGhpcy50YXJnZXROTmVpZ2hib3JzfSx0LnByb3RvdHlwZS5zZXRQcmVjb21wdXRlZEtOTj1mdW5jdGlvbih0LGUpe3RoaXMua25uSW5kaWNlcz10LHRoaXMua25uRGlzdGFuY2VzPWV9LHQucHJvdG90eXBlLmluaXRpYWxpemVGaXQ9ZnVuY3Rpb24odCl7aWYodC5sZW5ndGg8PXRoaXMubk5laWdoYm9ycyl0aHJvdyBuZXcgRXJyb3IoIk5vdCBlbm91Z2ggZGF0YSBwb2ludHMgKCIrdC5sZW5ndGgrIikgdG8gY3JlYXRlIG5OZWlnaGJvcnM6ICIrdGhpcy5uTmVpZ2hib3JzKyIuICBBZGQgbW9yZSBkYXRhIHBvaW50cyBvciBhZGp1c3QgdGhlIGNvbmZpZ3VyYXRpb24uIik7aWYodGhpcy5YPT09dCYmdGhpcy5pc0luaXRpYWxpemVkKXJldHVybiB0aGlzLmdldE5FcG9jaHMoKTtpZih0aGlzLlg9dCwhdGhpcy5rbm5JbmRpY2VzJiYhdGhpcy5rbm5EaXN0YW5jZXMpe3ZhciBlPXRoaXMubmVhcmVzdE5laWdoYm9ycyh0KTt0aGlzLmtubkluZGljZXM9ZS5rbm5JbmRpY2VzLHRoaXMua25uRGlzdGFuY2VzPWUua25uRGlzdGFuY2VzfXRoaXMuZ3JhcGg9dGhpcy5mdXp6eVNpbXBsaWNpYWxTZXQodCx0aGlzLm5OZWlnaGJvcnMsdGhpcy5zZXRPcE1peFJhdGlvKSx0aGlzLm1ha2VTZWFyY2hGbnMoKSx0aGlzLnNlYXJjaEdyYXBoPXRoaXMubWFrZVNlYXJjaEdyYXBoKHQpLHRoaXMucHJvY2Vzc0dyYXBoRm9yU3VwZXJ2aXNlZFByb2plY3Rpb24oKTt2YXIgbj10aGlzLmluaXRpYWxpemVTaW1wbGljaWFsU2V0RW1iZWRkaW5nKCksbz1uLnRhaWwsaT1uLmVwb2Noc1BlclNhbXBsZTtyZXR1cm4gdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5oZWFkPW4uaGVhZCx0aGlzLm9wdGltaXphdGlvblN0YXRlLnRhaWw9byx0aGlzLm9wdGltaXphdGlvblN0YXRlLmVwb2Noc1BlclNhbXBsZT1pLHRoaXMuaW5pdGlhbGl6ZU9wdGltaXphdGlvbigpLHRoaXMucHJlcGFyZUZvck9wdGltaXphdGlvbkxvb3AoKSx0aGlzLmlzSW5pdGlhbGl6ZWQ9ITAsdGhpcy5nZXRORXBvY2hzKCl9LHQucHJvdG90eXBlLm1ha2VTZWFyY2hGbnM9ZnVuY3Rpb24oKXt2YXIgdD1xTXQubWFrZUluaXRpYWxpemF0aW9ucyh0aGlzLmRpc3RhbmNlRm4pLGU9dC5pbml0RnJvbVJhbmRvbTt0aGlzLmluaXRGcm9tVHJlZT10LmluaXRGcm9tVHJlZSx0aGlzLmluaXRGcm9tUmFuZG9tPWUsdGhpcy5zZWFyY2g9cU10Lm1ha2VJbml0aWFsaXplZE5OU2VhcmNoKHRoaXMuZGlzdGFuY2VGbil9LHQucHJvdG90eXBlLm1ha2VTZWFyY2hHcmFwaD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5rbm5JbmRpY2VzLG49dGhpcy5rbm5EaXN0YW5jZXMsbz1uZXcgWU10LlNwYXJzZU1hdHJpeChbXSxbXSxbXSxbdC5sZW5ndGgsdC5sZW5ndGhdKSxpPTA7aTxlLmxlbmd0aDtpKyspZm9yKHZhciBhPWVbaV0scj1uW2ldLHM9MDtzPGEubGVuZ3RoO3MrKyl7dmFyIGw9cltzXTtsPjAmJm8uc2V0KGksYVtzXSxsKX12YXIgYz1ZTXQudHJhbnNwb3NlKG8pO3JldHVybiBZTXQubWF4aW11bShvLGMpfSx0LnByb3RvdHlwZS50cmFuc2Zvcm09ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPXRoaXMuWDtpZih2b2lkIDA9PT1ufHwwPT09bi5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJObyBkYXRhIGhhcyBiZWVuIGZpdC4iKTt2YXIgbz1NYXRoLmZsb29yKHRoaXMubk5laWdoYm9ycyp0aGlzLnRyYW5zZm9ybVF1ZXVlU2l6ZSk7bz1NYXRoLm1pbihuLmxlbmd0aCxvKTt2YXIgaT1xTXQuaW5pdGlhbGl6ZVNlYXJjaCh0aGlzLnJwRm9yZXN0LG4sdCxvLHRoaXMuaW5pdEZyb21SYW5kb20sdGhpcy5pbml0RnJvbVRyZWUsdGhpcy5yYW5kb20pLGE9dGhpcy5zZWFyY2gobix0aGlzLnNlYXJjaEdyYXBoLGksdCkscj1HTXQuZGVoZWFwU29ydChhKSxzPXIuaW5kaWNlcyxsPXIud2VpZ2h0cztzPXMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5zbGljZSgwLGUubk5laWdoYm9ycyl9KSksbD1sLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuc2xpY2UoMCxlLm5OZWlnaGJvcnMpfSkpO3ZhciBjPU1hdGgubWF4KDAsdGhpcy5sb2NhbENvbm5lY3Rpdml0eS0xKSxkPXRoaXMuc21vb3RoS05ORGlzdGFuY2UobCx0aGlzLm5OZWlnaGJvcnMsYykscD10aGlzLmNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzKHMsbCxkLnNpZ21hcyxkLnJob3MpLG09bmV3IFlNdC5TcGFyc2VNYXRyaXgocC5yb3dzLHAuY29scyxwLnZhbHMsW3QubGVuZ3RoLG4ubGVuZ3RoXSksZj1ZTXQubm9ybWFsaXplKG0sImwxIiksdT1ZTXQuZ2V0Q1NSKGYpLGc9dC5sZW5ndGgsaD1sdnQoWE10LnJlc2hhcGUyZCh1LmluZGljZXMsZyx0aGlzLm5OZWlnaGJvcnMpLFhNdC5yZXNoYXBlMmQodS52YWx1ZXMsZyx0aGlzLm5OZWlnaGJvcnMpLHRoaXMuZW1iZWRkaW5nKSxiPXRoaXMubkVwb2Nocz90aGlzLm5FcG9jaHMvMzptLm5Sb3dzPD0xZTQ/MTAwOjMwLHk9bS5nZXRWYWx1ZXMoKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU+dD9lOnR9KSwwKTttPW0ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdDx5L2I/MDp0fSkpLG09WU10LmVsaW1pbmF0ZVplcm9zKG0pO3ZhciBfPXRoaXMubWFrZUVwb2Noc1BlclNhbXBsZShtLmdldFZhbHVlcygpLGIpLEM9bS5nZXRSb3dzKCksTT1tLmdldENvbHMoKTtyZXR1cm4gdGhpcy5hc3NpZ25PcHRpbWl6YXRpb25TdGF0ZVBhcmFtZXRlcnMoe2hlYWRFbWJlZGRpbmc6aCx0YWlsRW1iZWRkaW5nOnRoaXMuZW1iZWRkaW5nLGhlYWQ6Qyx0YWlsOk0sY3VycmVudEVwb2NoOjAsbkVwb2NoczpiLG5WZXJ0aWNlczptLmdldERpbXMoKVsxXSxlcG9jaHNQZXJTYW1wbGU6X30pLHRoaXMucHJlcGFyZUZvck9wdGltaXphdGlvbkxvb3AoKSx0aGlzLm9wdGltaXplTGF5b3V0KCl9LHQucHJvdG90eXBlLnByb2Nlc3NHcmFwaEZvclN1cGVydmlzZWRQcm9qZWN0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5ZO2lmKHQpe2lmKHQubGVuZ3RoIT09dGhpcy5YLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkxlbmd0aCBvZiBYIGFuZCB5IG11c3QgYmUgZXF1YWwiKTtpZigiY2F0ZWdvcmljYWwiPT09dGhpcy50YXJnZXRNZXRyaWMpdGhpcy5ncmFwaD10aGlzLmNhdGVnb3JpY2FsU2ltcGxpY2lhbFNldEludGVyc2VjdGlvbih0aGlzLmdyYXBoLHQsdGhpcy50YXJnZXRXZWlnaHQ8MT8xLygxLXRoaXMudGFyZ2V0V2VpZ2h0KSoyLjU6MWUxMil9fSx0LnByb3RvdHlwZS5zdGVwPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5jdXJyZW50RXBvY2g7cmV0dXJuIHQ8dGhpcy5nZXRORXBvY2hzKCkmJnRoaXMub3B0aW1pemVMYXlvdXRTdGVwKHQpLHRoaXMub3B0aW1pemF0aW9uU3RhdGUuY3VycmVudEVwb2NofSx0LnByb3RvdHlwZS5nZXRFbWJlZGRpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbWJlZGRpbmd9LHQucHJvdG90eXBlLm5lYXJlc3ROZWlnaGJvcnM9ZnVuY3Rpb24odCl7dmFyIGUsbj10aGlzLm5OZWlnaGJvcnMsbz1xTXQubWFrZU5ORGVzY2VudCh0aGlzLmRpc3RhbmNlRm4sdGhpcy5yYW5kb20pLGk9NStNYXRoLmZsb29yKC41PT09KGU9TWF0aC5wb3codC5sZW5ndGgsLjUpLzIwKT8wOk1hdGgucm91bmQoZSkpLGE9TWF0aC5tYXgoNSxNYXRoLmZsb29yKE1hdGgucm91bmQoKGZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLmxvZyh0KS9NYXRoLmxvZygyKX0pKHQubGVuZ3RoKSkpKTt0aGlzLnJwRm9yZXN0PVpNdC5tYWtlRm9yZXN0KHQsbixpLHRoaXMucmFuZG9tKTt2YXIgcj1vKHQsWk10Lm1ha2VMZWFmQXJyYXkodGhpcy5ycEZvcmVzdCksbixhKTtyZXR1cm57a25uSW5kaWNlczpyLmluZGljZXMsa25uRGlzdGFuY2VzOnIud2VpZ2h0c319LHQucHJvdG90eXBlLmZ1enp5U2ltcGxpY2lhbFNldD1mdW5jdGlvbih0LGUsbil7dm9pZCAwPT09biYmKG49MSk7dmFyIG89dGhpcyxpPW8ua25uSW5kaWNlcyxhPXZvaWQgMD09PWk/W106aSxyPW8ua25uRGlzdGFuY2VzLHM9dm9pZCAwPT09cj9bXTpyLGw9dGhpcy5zbW9vdGhLTk5EaXN0YW5jZShzLGUsby5sb2NhbENvbm5lY3Rpdml0eSksYz10aGlzLmNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzKGEscyxsLnNpZ21hcyxsLnJob3MpLGQ9bmV3IFlNdC5TcGFyc2VNYXRyaXgoYy5yb3dzLGMuY29scyxjLnZhbHMsW3QubGVuZ3RoLHQubGVuZ3RoXSkscD1ZTXQudHJhbnNwb3NlKGQpLG09WU10LnBhaXJ3aXNlTXVsdGlwbHkoZCxwKSxmPVlNdC5zdWJ0cmFjdChZTXQuYWRkKGQscCksbSksdT1ZTXQubXVsdGlwbHlTY2FsYXIoZixuKSxnPVlNdC5tdWx0aXBseVNjYWxhcihtLDEtbik7cmV0dXJuIFlNdC5hZGQodSxnKX0sdC5wcm90b3R5cGUuY2F0ZWdvcmljYWxTaW1wbGljaWFsU2V0SW50ZXJzZWN0aW9uPWZ1bmN0aW9uKHQsZSxuLG8pe3ZvaWQgMD09PW8mJihvPTEpO3ZhciBpPXJ2dCh0LGUsbyxuKTtyZXR1cm4gc3Z0KGk9WU10LmVsaW1pbmF0ZVplcm9zKGkpKX0sdC5wcm90b3R5cGUuc21vb3RoS05ORGlzdGFuY2U9ZnVuY3Rpb24odCxlLG4sbyxpKXt2b2lkIDA9PT1uJiYobj0xKSx2b2lkIDA9PT1vJiYobz02NCksdm9pZCAwPT09aSYmKGk9MSk7Zm9yKHZhciBhPU1hdGgubG9nKGUpL01hdGgubG9nKDIpKmkscj1YTXQuemVyb3ModC5sZW5ndGgpLHM9WE10Lnplcm9zKHQubGVuZ3RoKSxsPTA7bDx0Lmxlbmd0aDtsKyspe3ZhciBjPTAsZD0xLzAscD0xLG09dFtsXSxmPW0uZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdD4wfSkpO2lmKGYubGVuZ3RoPj1uKXt2YXIgdT1NYXRoLmZsb29yKG4pLGc9bi11O3U+MD8ocltsXT1mW3UtMV0sZz5KTXQmJihyW2xdKz1nKihmW3VdLWZbdS0xXSkpKTpyW2xdPWcqZlswXX1lbHNlIGYubGVuZ3RoPjAmJihyW2xdPVhNdC5tYXgoZikpO2Zvcih2YXIgaD0wO2g8bztoKyspe2Zvcih2YXIgYj0wLHk9MTt5PHRbbF0ubGVuZ3RoO3krKyl7dmFyIF89dFtsXVt5XS1yW2xdO2IrPV8+MD9NYXRoLmV4cCgtXy9wKToxfWlmKE1hdGguYWJzKGItYSk8Sk10KWJyZWFrO2I+YT9wPShjKyhkPXApKS8yOihjPXAsZD09PTEvMD9wKj0yOnA9KGMrZCkvMil9aWYoc1tsXT1wLHJbbF0+MCl7dmFyIEM9WE10Lm1lYW4obSk7c1tsXTxRTXQqQyYmKHNbbF09UU10KkMpfWVsc2V7dmFyIE09WE10Lm1lYW4odC5tYXAoWE10Lm1lYW4pKTtzW2xdPFFNdCpNJiYoc1tsXT1RTXQqTSl9fXJldHVybntzaWdtYXM6cyxyaG9zOnJ9fSx0LnByb3RvdHlwZS5jb21wdXRlTWVtYmVyc2hpcFN0cmVuZ3Rocz1mdW5jdGlvbih0LGUsbixvKXtmb3IodmFyIGk9dC5sZW5ndGgsYT10WzBdLmxlbmd0aCxyPVhNdC56ZXJvcyhpKmEpLHM9WE10Lnplcm9zKGkqYSksbD1YTXQuemVyb3MoaSphKSxjPTA7YzxpO2MrKylmb3IodmFyIGQ9MDtkPGE7ZCsrKXt2YXIgcD0wOy0xIT09dFtjXVtkXSYmKHA9dFtjXVtkXT09PWM/MDplW2NdW2RdLW9bY108PTA/MTpNYXRoLmV4cCgtKGVbY11bZF0tb1tjXSkvbltjXSkscltjKmErZF09YyxzW2MqYStkXT10W2NdW2RdLGxbYyphK2RdPXApfXJldHVybntyb3dzOnIsY29sczpzLHZhbHM6bH19LHQucHJvdG90eXBlLmluaXRpYWxpemVTaW1wbGljaWFsU2V0RW1iZWRkaW5nPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMsZT10aGlzLmdldE5FcG9jaHMoKSxuPXRoaXMubkNvbXBvbmVudHMsbz10aGlzLmdyYXBoLmdldFZhbHVlcygpLGk9MCxhPTA7YTxvLmxlbmd0aDthKyspe2k8b1thXSYmKGk9b1thXSl9dmFyIHI9dGhpcy5ncmFwaC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0PGkvZT8wOnR9KSk7dGhpcy5lbWJlZGRpbmc9WE10Lnplcm9zKHIublJvd3MpLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gWE10Lnplcm9zKG4pLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gMjAqWE10LnRhdVJhbmQodC5yYW5kb20pLTEwfSkpfSkpO3ZhciBzPVtdLGw9W10sYz1bXSxkPXIuZ2V0QWxsKCk7Zm9yKGE9MDthPGQubGVuZ3RoO2ErKyl7dmFyIHA9ZFthXTtwLnZhbHVlJiYocy5wdXNoKHAudmFsdWUpLGMucHVzaChwLnJvdyksbC5wdXNoKHAuY29sKSl9cmV0dXJue2hlYWQ6bCx0YWlsOmMsZXBvY2hzUGVyU2FtcGxlOnRoaXMubWFrZUVwb2Noc1BlclNhbXBsZShzLGUpfX0sdC5wcm90b3R5cGUubWFrZUVwb2Noc1BlclNhbXBsZT1mdW5jdGlvbih0LGUpe3ZhciBuPVhNdC5maWxsZWQodC5sZW5ndGgsLTEpLG89WE10Lm1heCh0KSxpPXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC9vKmV9KSk7cmV0dXJuIGkuZm9yRWFjaCgoZnVuY3Rpb24odCxvKXt0PjAmJihuW29dPWUvaVtvXSl9KSksbn0sdC5wcm90b3R5cGUuYXNzaWduT3B0aW1pemF0aW9uU3RhdGVQYXJhbWV0ZXJzPWZ1bmN0aW9uKHQpe09iamVjdC5hc3NpZ24odGhpcy5vcHRpbWl6YXRpb25TdGF0ZSx0KX0sdC5wcm90b3R5cGUucHJlcGFyZUZvck9wdGltaXphdGlvbkxvb3A9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5yZXB1bHNpb25TdHJlbmd0aCxuPXQubGVhcm5pbmdSYXRlLG89dC5uZWdhdGl2ZVNhbXBsZVJhdGUsaT10aGlzLm9wdGltaXphdGlvblN0YXRlLGE9aS5lcG9jaHNQZXJTYW1wbGUscj1pLmhlYWRFbWJlZGRpbmcscz1yWzBdLmxlbmd0aCxsPXIubGVuZ3RoPT09aS50YWlsRW1iZWRkaW5nLmxlbmd0aCxjPWEubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC9vfSkpLGQ9ak10KGMpLHA9ak10KGEpO3RoaXMuYXNzaWduT3B0aW1pemF0aW9uU3RhdGVQYXJhbWV0ZXJzKHtlcG9jaE9mTmV4dFNhbXBsZTpwLGVwb2NoT2ZOZXh0TmVnYXRpdmVTYW1wbGU6ZCxlcG9jaHNQZXJOZWdhdGl2ZVNhbXBsZTpjLG1vdmVPdGhlcjpsLGluaXRpYWxBbHBoYTpuLGFscGhhOm4sZ2FtbWE6ZSxkaW06c30pfSx0LnByb3RvdHlwZS5pbml0aWFsaXplT3B0aW1pemF0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbWJlZGRpbmcsZT10aGlzLmVtYmVkZGluZyxuPXRoaXMub3B0aW1pemF0aW9uU3RhdGUsbz1uLmhlYWQsaT1uLnRhaWwsYT1uLmVwb2Noc1BlclNhbXBsZSxyPXRoaXMuZ2V0TkVwb2NocygpLHM9dGhpcy5ncmFwaC5uQ29scyxsPWF2dCh0aGlzLnNwcmVhZCx0aGlzLm1pbkRpc3QpO3RoaXMuYXNzaWduT3B0aW1pemF0aW9uU3RhdGVQYXJhbWV0ZXJzKHtoZWFkRW1iZWRkaW5nOnQsdGFpbEVtYmVkZGluZzplLGhlYWQ6byx0YWlsOmksZXBvY2hzUGVyU2FtcGxlOmEsYTpsLmEsYjpsLmIsbkVwb2NoczpyLG5WZXJ0aWNlczpzfSl9LHQucHJvdG90eXBlLm9wdGltaXplTGF5b3V0U3RlcD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5vcHRpbWl6YXRpb25TdGF0ZSxuPWUuaGVhZCxvPWUudGFpbCxpPWUuaGVhZEVtYmVkZGluZyxhPWUudGFpbEVtYmVkZGluZyxyPWUuZXBvY2hzUGVyU2FtcGxlLHM9ZS5lcG9jaE9mTmV4dFNhbXBsZSxsPWUuZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZSxjPWUuZXBvY2hzUGVyTmVnYXRpdmVTYW1wbGUsZD1lLm1vdmVPdGhlcixwPWUuaW5pdGlhbEFscGhhLG09ZS5hbHBoYSxmPWUuZ2FtbWEsdT1lLmEsZz1lLmIsaD1lLmRpbSxiPWUubkVwb2Nocyx5PWUublZlcnRpY2VzLF89MDtfPHIubGVuZ3RoO18rKylpZighKHNbX10+dCkpe3ZhciBDPW5bX10sTT1pW0NdLHY9YVtvW19dXSx4PWl2dChNLHYpLE89MDt4PjAmJihPPS0yKnUqZypNYXRoLnBvdyh4LGctMSksTy89dSpNYXRoLnBvdyh4LGcpKzEpO2Zvcih2YXIgUD0wO1A8aDtQKyspe3ZhciB3PW92dChPKihNW1BdLXZbUF0pLDQpO01bUF0rPXcqbSxkJiYodltQXSs9LXcqbSl9c1tfXSs9cltfXTtmb3IodmFyIGs9TWF0aC5mbG9vcigodC1sW19dKS9jW19dKSxTPTA7UzxrO1MrKyl7dmFyIEQ9WE10LnRhdVJhbmRJbnQoeSx0aGlzLnJhbmRvbSksUj1hW0RdLEU9aXZ0KE0sUiksQT0wO2lmKEU+MClBPTIqZipnLEEvPSguMDAxK0UpKih1Kk1hdGgucG93KEUsZykrMSk7ZWxzZSBpZihDPT09RCljb250aW51ZTtmb3IoUD0wO1A8aDtQKyspe3c9NDtBPjAmJih3PW92dChBKihNW1BdLVJbUF0pLDQpKSxNW1BdKz13Km19fWxbX10rPWsqY1tfXX1yZXR1cm4gZS5hbHBoYT1wKigxLXQvYiksZS5jdXJyZW50RXBvY2grPTEsaX0sdC5wcm90b3R5cGUub3B0aW1pemVMYXlvdXRBc3luYz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiB2b2lkIDA9PT10JiYodD1mdW5jdGlvbigpe3JldHVybiEwfSksbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4sbyl7dmFyIGk9ZnVuY3Rpb24oKXtyZXR1cm4gTE10KGUsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgZSxhLHIscyxsO3JldHVybiBCTXQodGhpcywoZnVuY3Rpb24oYyl7dHJ5e2lmKGE9KGU9dGhpcy5vcHRpbWl6YXRpb25TdGF0ZSkubkVwb2Nocyx0aGlzLmVtYmVkZGluZz10aGlzLm9wdGltaXplTGF5b3V0U3RlcChlLmN1cnJlbnRFcG9jaCkscz0hMT09PXQocj10aGlzLm9wdGltaXphdGlvblN0YXRlLmN1cnJlbnRFcG9jaCksbD1yPT09YSxzfHxsKXJldHVyblsyLG4obCldO3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7cmV0dXJuIGkoKX0pLDApfWNhdGNoKHQpe28odCl9cmV0dXJuWzJdfSkpfSkpfTtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3JldHVybiBpKCl9KSwwKX0pKX0sdC5wcm90b3R5cGUub3B0aW1pemVMYXlvdXQ9ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9ZnVuY3Rpb24oKXtyZXR1cm4hMH0pO2Zvcih2YXIgZT0hMSxuPVtdOyFlOyl7dmFyIG89dGhpcy5vcHRpbWl6YXRpb25TdGF0ZSxpPW8ubkVwb2NocztuPXRoaXMub3B0aW1pemVMYXlvdXRTdGVwKG8uY3VycmVudEVwb2NoKTt2YXIgYT10aGlzLm9wdGltaXphdGlvblN0YXRlLmN1cnJlbnRFcG9jaCxyPSExPT09dChhKTtlPWE9PT1pfHxyfXJldHVybiBufSx0LnByb3RvdHlwZS5nZXRORXBvY2hzPWZ1bmN0aW9uKCl7aWYodGhpcy5uRXBvY2hzPjApcmV0dXJuIHRoaXMubkVwb2Noczt2YXIgdD10aGlzLmdyYXBoLm5Sb3dzO3JldHVybiB0PD0yNTAwPzUwMDp0PD01ZTM/NDAwOnQ8PTc1MDA/MzAwOjIwMH0sdH0pKCk7ZnVuY3Rpb24gdHZ0KHQsZSl7Zm9yKHZhciBuPTAsbz0wO288dC5sZW5ndGg7bysrKW4rPU1hdGgucG93KHRbb10tZVtvXSwyKTtyZXR1cm4gTWF0aC5zcXJ0KG4pfUhfdC5VTUFQPSRNdCxIX3QuZXVjbGlkZWFuPXR2dCxIX3QuY29zaW5lPWZ1bmN0aW9uIGV2dCh0LGUpe2Zvcih2YXIgbj0wLG89MCxpPTAsYT0wO2E8dC5sZW5ndGg7YSsrKW4rPXRbYV0qZVthXSxvKz1NYXRoLnBvdyh0W2FdLDIpLGkrPU1hdGgucG93KGVbYV0sMik7cmV0dXJuIDA9PT1vJiYwPT09aT8wOjA9PT1vfHwwPT09aT8xOjEtbi9NYXRoLnNxcnQobyppKX07dmFyIG52dD1mdW5jdGlvbiBudnQoKXt0aGlzLmN1cnJlbnRFcG9jaD0wLHRoaXMuaGVhZEVtYmVkZGluZz1bXSx0aGlzLnRhaWxFbWJlZGRpbmc9W10sdGhpcy5oZWFkPVtdLHRoaXMudGFpbD1bXSx0aGlzLmVwb2Noc1BlclNhbXBsZT1bXSx0aGlzLmVwb2NoT2ZOZXh0U2FtcGxlPVtdLHRoaXMuZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZT1bXSx0aGlzLmVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlPVtdLHRoaXMubW92ZU90aGVyPSEwLHRoaXMuaW5pdGlhbEFscGhhPTEsdGhpcy5hbHBoYT0xLHRoaXMuZ2FtbWE9MSx0aGlzLmE9MS41NzY5NDM0NjAzMTEzMDc3LHRoaXMuYj0uODk1MDYwODc3OTEwOTczMyx0aGlzLmRpbT0yLHRoaXMubkVwb2Nocz01MDAsdGhpcy5uVmVydGljZXM9MH07ZnVuY3Rpb24gb3Z0KHQsZSl7cmV0dXJuIHQ+ZT9lOnQ8LWU/LWU6dH1mdW5jdGlvbiBpdnQodCxlKXtmb3IodmFyIG49MCxvPTA7bzx0Lmxlbmd0aDtvKyspbis9TWF0aC5wb3codFtvXS1lW29dLDIpO3JldHVybiBufWZ1bmN0aW9uIGF2dCh0LGUpe3ZhciBuPVhNdC5saW5lYXIoMCwzKnQsMzAwKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0PGU/MTp0fSkpLG89WE10Lnplcm9zKG4ubGVuZ3RoKS5tYXAoKGZ1bmN0aW9uKG8saSl7cmV0dXJuIG5baV0+PWU/TWF0aC5leHAoLShuW2ldLWUpL3QpOm99KSksaT1LTXQuZGVmYXVsdCh7eDpuLHk6b30sKGZ1bmN0aW9uKHQpe3ZhciBlPVZNdCh0LDIpLG49ZVswXSxvPWVbMV07cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiAxLygxK24qTWF0aC5wb3codCwyKm8pKX19KSx7ZGFtcGluZzoxLjUsaW5pdGlhbFZhbHVlczpbLjUsLjVdLGdyYWRpZW50RGlmZmVyZW5jZTouMSxtYXhJdGVyYXRpb25zOjEwMCxlcnJvclRvbGVyYW5jZTouMDF9KS5wYXJhbWV0ZXJWYWx1ZXMsYT1WTXQoaSwyKTtyZXR1cm57YTphWzBdLGI6YVsxXX19ZnVuY3Rpb24gcnZ0KHQsZSxuLG8pe3JldHVybiB2b2lkIDA9PT1uJiYobj0xKSx2b2lkIDA9PT1vJiYobz01KSx0Lm1hcCgoZnVuY3Rpb24odCxpLGEpe3JldHVybi0xPT09ZVtpXXx8LTE9PT1lW2FdP3QqTWF0aC5leHAoLW4pOmVbaV0hPT1lW2FdP3QqTWF0aC5leHAoLW8pOnR9KSl9ZnVuY3Rpb24gc3Z0KHQpe3Q9WU10Lm5vcm1hbGl6ZSh0LCJtYXgiKTt2YXIgZT1ZTXQudHJhbnNwb3NlKHQpLG49WU10LnBhaXJ3aXNlTXVsdGlwbHkoZSx0KTtyZXR1cm4gdD1ZTXQuYWRkKHQsWU10LnN1YnRyYWN0KGUsbikpLFlNdC5lbGltaW5hdGVaZXJvcyh0KX1mdW5jdGlvbiBsdnQodCxlLG4pe2Zvcih2YXIgbz1YTXQuemVyb3ModC5sZW5ndGgpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIFhNdC56ZXJvcyhuWzBdLmxlbmd0aCl9KSksaT0wO2k8dC5sZW5ndGg7aSsrKWZvcih2YXIgYT0wO2E8dFswXS5sZW5ndGg7YSsrKWZvcih2YXIgcj0wO3I8blswXS5sZW5ndGg7cisrKXtvW2ldW3JdKz1lW2ldW2FdKm5bdFtpXVthXV1bcl19cmV0dXJuIG99ZnVuY3Rpb24gY3Z0KHQpe2xldCBlLG4sbz10Lmxlbmd0aDtmb3IoO287KW49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKm8tLSksZT10W29dLHRbb109dFtuXSx0W25dPWU7cmV0dXJuIHR9ZnVuY3Rpb24gZHZ0KHQsZSl7cmV0dXJuYCR7ZX0vJHt0fWB9SF90LmZpbmRBQlBhcmFtcz1hdnQsSF90LmZhc3RJbnRlcnNlY3Rpb249cnZ0LEhfdC5yZXNldExvY2FsQ29ubmVjdGl2aXR5PXN2dCxIX3QuaW5pdFRyYW5zZm9ybT1sdnQsT2JqZWN0LmRlZmluZVByb3BlcnR5KElfdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksSV90LlVNQVA9SF90LlVNQVA7Y2xhc3MgcHZ0e2NvbnN0cnVjdG9yKHQpe3RoaXMuaHR0cD10LHRoaXMuaHR0cFBhdGhQcmVmaXg9ImRhdGEvcGx1Z2luL25wbWkifWZldGNoRGF0YSh0KXtyZXR1cm4gaWUodGhpcy5mZXRjaEFubm90YXRpb25zKHQpLHRoaXMuZmV0Y2hNZXRyaWNzKHQpLHRoaXMuZmV0Y2hWYWx1ZXModCksdGhpcy5mZXRjaEVtYmVkZGluZ3ModCkpLnBpcGUoVnQoKChbdCxlLG4sb10pPT57Y29uc3QgaT17fSxhPXt9O2xldCByLHM9MDtmb3IoY29uc3QgciBvZiBPYmplY3Qua2V5cyh0KSlmb3IoY29uc3QgbCBpbiB0W3JdKXtjb25zdCBjPXRbcl1bbF07T2JqZWN0LmtleXMobykubGVuZ3RoJiYhYVtjXSYmb1tyXVtsXSYmb1tyXVtsXS5zb21lKCh0PT4wIT09dCkpJiYoYVtjXT17dmVjdG9yOm9bcl1bbF0saW5kZXg6cyxuYW1lOmN9LHMrPTEpO2NvbnN0IGQ9bmV3IE1hcDtmb3IoY29uc3QgdCBpbiBlW3JdKXtjb25zdCBvPWVbcl1bdF0saT16X3Qobyk7bGV0IGE9ZC5nZXQoaSk7YXx8KGE9e25QTUlWYWx1ZTpudWxsLGNvdW50VmFsdWU6bnVsbCxhbm5vdGF0aW9uOmMsbWV0cmljOmkscnVuOnJ9LGQuc2V0KGksYSkpLEFfdChvKT9hLmNvdW50VmFsdWU9bltyXVtsXVt0XTpUX3QobykmJihhLm5QTUlWYWx1ZT1uW3JdW2xdW3RdKX1pW2NdPVsuLi5pW2NdP2lbY106W10sLi4uZC52YWx1ZXMoKV19cmV0dXJuIE9iamVjdC5rZXlzKGEpLmxlbmd0aCYmKHI9KGZ1bmN0aW9uIGwodCl7Y29uc3QgZT1PYmplY3Qua2V5cyh0KTtyZXR1cm57cG9pbnRzOnQscG9pbnRLZXlzOmUsc2h1ZmZsZWREYXRhSW5kaWNlczpjdnQoKG49ZS5sZW5ndGgsWy4uLm5ldyBBcnJheShuKV0ubWFwKCgodCxlKT0+ZSkpKSksaGFzVW1hcFJ1bjohMX07dmFyIG59KShhKSkse2Fubm90YXRpb25EYXRhOmksbWV0cmljczplLGVtYmVkZGluZ0RhdGFTZXQ6cn19KSksaGUoKHQ9PnQgaW5zdGFuY2VvZiBmRSYmNDAwPD10LnN0YXR1cyYmdC5zdGF0dXM8NTAwP3p0KHthbm5vdGF0aW9uRGF0YTp7fSxtZXRyaWNzOnt9LGVtYmVkZGluZ0RhdGFTZXQ6dm9pZCAwfSk6SXQodCkpKSl9ZmV0Y2hBbm5vdGF0aW9ucyh0KXtyZXR1cm4gaWUodC5tYXAoKHQ9PnRoaXMuaHR0cC5nZXQoYC9leHBlcmltZW50LyR7dH0vJHt0aGlzLmh0dHBQYXRoUHJlZml4fS9hbm5vdGF0aW9uc2ApLnBpcGUoVnQoKGU9PihmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyh0KS5tYXAoKChbdCxuXSk9PltkdnQodCxlKSxuXSkpKX0pKGUsdCkpKSkpKSkucGlwZShWdCgodD0+e2xldCBlPXt9O2Zvcihjb25zdCBuIG9mIHQpZT1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSksbik7cmV0dXJuIGV9KSkpfWZldGNoTWV0cmljcyh0KXtyZXR1cm4gaWUodC5tYXAoKHQ9PnRoaXMuaHR0cC5nZXQoYC9leHBlcmltZW50LyR7dH0vJHt0aGlzLmh0dHBQYXRoUHJlZml4fS9tZXRyaWNzYCkucGlwZShWdCgoZT0+KGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHQpLm1hcCgoKFt0LG5dKT0+W2R2dCh0LGUpLG5dKSkpfSkoZSx0KSkpKSkpKS5waXBlKFZ0KCh0PT57bGV0IGU9e307Zm9yKGNvbnN0IG4gb2YgdCllPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSxuKTtyZXR1cm4gZX0pKSl9ZmV0Y2hWYWx1ZXModCl7cmV0dXJuIGllKHQubWFwKCh0PT50aGlzLmh0dHAuZ2V0KGAvZXhwZXJpbWVudC8ke3R9LyR7dGhpcy5odHRwUGF0aFByZWZpeH0vdmFsdWVzYCkucGlwZShWdCgoZT0+KGZ1bmN0aW9uIG4odCxlKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHQpLm1hcCgoKFt0LG5dKT0+W2R2dCh0LGUpLG5dKSkpfSkoZSx0KSkpKSkpKS5waXBlKFZ0KCh0PT57bGV0IGU9e307Zm9yKGNvbnN0IG4gb2YgdCllPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSxuKTtyZXR1cm4gZX0pKSl9ZmV0Y2hFbWJlZGRpbmdzKHQpe3JldHVybiBpZSh0Lm1hcCgodD0+dGhpcy5odHRwLmdldChgL2V4cGVyaW1lbnQvJHt0fS8ke3RoaXMuaHR0cFBhdGhQcmVmaXh9L2VtYmVkZGluZ3NgKS5waXBlKFZ0KChlPT4oZnVuY3Rpb24gbih0LGUpe3JldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXModCkubWFwKCgoW3Qsbl0pPT5bZHZ0KHQsZSksbl0pKSl9KShlLHQpKSkpKSkpLnBpcGUoVnQoKHQ9PntsZXQgZT17fTtmb3IoY29uc3QgbiBvZiB0KWU9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LGUpLG4pO3JldHVybiBlfSkpKX19cHZ0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxwdnQpKFRyKEhFKSl9LHB2dC7JtXByb3Y9U24oe3Rva2VuOnB2dCxmYWN0b3J5OnB2dC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIocHZ0LFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpIRX1dfSksbnVsbCk7Y2xhc3MgbXZ0e31tdnQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG12dCl9LG12dC7JtW1vZD1mbyh7dHlwZTptdnR9KSxtdnQuybVpbmo9RG4oe3Byb3ZpZGVyczpbcHZ0XSxpbXBvcnRzOltbRkVdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIobXZ0LFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbRkVdLHByb3ZpZGVyczpbcHZ0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKG12dCx7aW1wb3J0czpbRkVdfSk7Y29uc3QgZnZ0PV9rKCJbTlBNSV0gblBNSSBMb2FkZWQiKSx1dnQ9X2soIltOUE1JXSBuUE1JIFBsdWdpbiBEYXRhIFJlcXVlc3RlZCIpLGd2dD1faygiW05QTUldIG5QTUkgUGx1Z2luIERhdGEgTG9hZGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksaHZ0PV9rKCJbTlBNSV0gblBNSSBQbHVnaW4gRGF0YSBSZXF1ZXN0IEZhaWxlZCIpLGJ2dD1faygiW05QTUldIEFkZGluZy9SZW1vdmluZyBBbm5vdGF0aW9ucyB0by9mcm9tIFNlbGVjdGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSkseXZ0PV9rKCJbTlBNSV0gQW5ub3RhdGlvbnMgU2V0Iix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksX3Z0PV9rKCJbTlBNSV0gQ2xlYXJpbmcgdGhlIEFubm90YXRpb24gU2VsZWN0aW9uIiksQ3Z0PV9rKCJbTlBNSV0gQWRkaW5nL1JlbW92aW5nIEFubm90YXRpb25zIHRvL2Zyb20gRmxhZ2dlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLE12dD1faygiW05QTUldIEFkZGluZy9SZW1vdmluZyBBbm5vdGF0aW9ucyB0by9mcm9tIEhpZGRlbiIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHZ2dD1faygiW05QTUldIEFubm90YXRpb25zIFJlZ2V4IENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSx4dnQ9X2soIltOUE1JXSBNZXRyaWNzIFJlZ2V4IENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxPdnQ9X2soIltOUE1JXSBNZXRyaWMgRmlsdGVyIEFkZGVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksUHZ0PV9rKCJbTlBNSV0gTWV0cmljIEZpbHRlciBSZW1vdmVkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksd3Z0PV9rKCJbTlBNSV0gTWV0cmljIEZpbHRlciBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksa3Z0PV9rKCJbTlBNSV0gQW5ub3RhdGlvbiBTb3J0IENoYW5nZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxTdnQ9X2soIltOUE1JXSBTaW1pbGFyaXR5IFNvcnQgQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLER2dD1faygiW05QTUldIFRvZ2dsZSBQQyBFeHBhbmRlZCIpLFJ2dD1faygiW05QTUldIFRvZ2dsZSBBbm5vdGF0aW9ucyBFeHBhbmRlZCIpLEV2dD1faygiW05QTUldIFRvZ2dsZSBTaWRlYmFyIEV4cGFuZGVkIiksQXZ0PV9rKCJbTlBNSV0gU2hvdyBDb3VudHMgVG9nZ2xlZCIpLFR2dD1faygiW05QTUldIFNob3cgSGlkZGVuIEFubm90YXRpb25zIFRvZ2dsZWQiKSxOdnQ9X2soIltOUE1JXSBFbWJlZGRpbmdzIFZpZXcgVG9nZ2xlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLHp2dD1faygiW05QTUldIFNpZGViYXIgV2lkdGggQ2hhbmdlZCIse19hczoicHJvcHMiLF9wOnZvaWQgMH0pLEl2dD1faygiW05QTUldIEVtYmVkZGluZ3MgU2lkZWJhciBXaWR0aCBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksSHZ0PV9rKCJbTlBNSV0gRW1iZWRkaW5ncyBTaWRlYmFyIEV4cGFuZGVkIFRvZ2dsZWQiKSxGdnQ9X2soIltOUE1JXSBDaGFuZ2UgRW1iZWRkaW5nIERhdGFTZXQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxMdnQ9Im5wbWkiO3ZhciBCdnQsVnZ0LGp2dCxVdnQ7IShmdW5jdGlvbih0KXt0W3QuQU5EPTBdPSJBTkQifSkoQnZ0fHwoQnZ0PXt9KSksKGZ1bmN0aW9uKHQpe3RbdC5NRVRSSUM9MF09Ik1FVFJJQyIsdFt0Lk9QRVJBVE9SPTFdPSJPUEVSQVRPUiJ9KShWdnR8fChWdnQ9e30pKSwoZnVuY3Rpb24odCl7dFt0LkRFRkFVTFQ9MF09IkRFRkFVTFQiLHRbdC5FTUJFRERJTkdTPTFdPSJFTUJFRERJTkdTIn0pKGp2dHx8KGp2dD17fSkpLChmdW5jdGlvbih0KXt0W3QuREVTQ0VORElORz0wXT0iREVTQ0VORElORyIsdFt0LkFTQ0VORE5HPTFdPSJBU0NFTkRORyIsdFt0LlNJTUlMQVI9Ml09IlNJTUlMQVIiLHRbdC5ESVNTSU1JTEFSPTNdPSJESVNTSU1JTEFSIn0pKFV2dHx8KFV2dD17fSkpO2NvbnN0IFd2dD1fUyhMdnQpLEd2dD1iUyhXdnQsKHQ9PnQucGx1Z2luRGF0YUxvYWRlZC5zdGF0ZSkpLFl2dD1iUyhXdnQsKHQ9PnQuYW5ub3RhdGlvbkRhdGEpKSxxdnQ9YlMoV3Z0LCh0PT50LnJ1blRvTWV0cmljcykpLFp2dD1iUyhXdnQsKHQ9PnQuZW1iZWRkaW5nRGF0YVNldCkpLFh2dD1iUyhXdnQsKHQ9PnQuc2VsZWN0ZWRBbm5vdGF0aW9ucykpLEt2dD1iUyhXdnQsKHQ9PnQuZmxhZ2dlZEFubm90YXRpb25zKSksSnZ0PWJTKFd2dCwodD0+dC5oaWRkZW5Bbm5vdGF0aW9ucykpLFF2dD1iUyhXdnQsKHQ9PnQuYW5ub3RhdGlvbnNSZWdleCkpLCR2dD1iUyhXdnQsKHQ9PnQubWV0cmljc1JlZ2V4KSksdHh0PWJTKFd2dCwodD0+dC5tZXRyaWNBcml0aG1ldGljKSksZXh0PWJTKFd2dCwodD0+dC5tZXRyaWNGaWx0ZXJzKSksbnh0PWJTKFd2dCwodD0+dC5zb3J0KSksb3h0PWJTKFd2dCwodD0+dC5wY0V4cGFuZGVkKSksaXh0PWJTKFd2dCwodD0+dC5hbm5vdGF0aW9uc0V4cGFuZGVkKSksYXh0PWJTKFd2dCwodD0+dC5zaWRlYmFyRXhwYW5kZWQpKSxyeHQ9YlMoV3Z0LCh0PT50LnNob3dDb3VudHMpKSxzeHQ9YlMoV3Z0LCh0PT50LnNob3dIaWRkZW5Bbm5vdGF0aW9ucykpLGx4dD1iUyhXdnQsKHQ9PnQudmlld0FjdGl2ZSkpLGN4dD1iUyhXdnQsKHQ9PnQuc2lkZWJhcldpZHRoKSksZHh0PWJTKFd2dCwodD0+dC5lbWJlZGRpbmdzTWV0cmljKSkscHh0PWJTKFd2dCwodD0+dC5lbWJlZGRpbmdzU2lkZWJhcldpZHRoKSksbXh0PWJTKFd2dCwodD0+dC5lbWJlZGRpbmdzU2lkZWJhckV4cGFuZGVkKSk7Y2xhc3MgZnh0e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmFjdGlvbnMkPXQsdGhpcy5zdG9yZT1lLHRoaXMuZGF0YVNvdXJjZT1uLHRoaXMubG9hZERhdGEkPVdTKCgoKT0+cGUodGhpcy5sb2FkUGx1Z2luRGF0YSgpKS5waXBlKFZ0KCgoKT0+KHt9KSkpKSkse2Rpc3BhdGNoOiExfSl9bG9hZFBsdWdpbkRhdGEoKXtyZXR1cm4gdGhpcy5hY3Rpb25zJC5waXBlKCRTKGZ2dCkscWUodGhpcy5zdG9yZS5zZWxlY3QoR3Z0KSx0aGlzLnN0b3JlLnNlbGVjdCh4UikpLHVlKCgoWyx0LGVdKT0+dCE9PVVFLkxPQURJTkcmJm51bGwhPT1lKSksV2UoKCgpPT50aGlzLnN0b3JlLmRpc3BhdGNoKHV2dCgpKSkpLCR0KCgoWywsdF0pPT50aGlzLmRhdGFTb3VyY2UuZmV0Y2hEYXRhKHQpLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKGd2dCh0KSl9KSksVnQoKCgpPT57fSkpLGhlKCgoKT0+KHRoaXMuc3RvcmUuZGlzcGF0Y2goaHZ0KCkpLGR0KSkpKSkpKX19Znh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxmeHQpKFRyKFFTKSxUcihpUyksVHIocHZ0KSl9LGZ4dC7JtXByb3Y9U24oe3Rva2VuOmZ4dCxmYWN0b3J5OmZ4dC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZnh0LFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpRU30se3R5cGU6aVN9LHt0eXBlOnB2dH1dfSksbnVsbCk7Y2xhc3MgdXh0e311eHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHV4dCl9LHV4dC7JtWNtcD1zbyh7dHlwZTp1eHQsc2VsZWN0b3JzOltbIm5wbWktaW5hY3RpdmUtdmlldyJdXSxkZWNsczo2LHZhcnM6MCxjb25zdHM6W1sxLCJjb250YWluZXIiXSxbMSwidGl0bGUiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIpLENmKDEsImRpdiIsMCksQ2YoMiwiZGl2IiwxKSxQdSgzLCJuUE1JIGlzIGluYWN0aXZlIGJlY2F1c2Ugbm8gZGF0YSBpcyBhdmFpbGFibGUuIiksTWYoKSxDZig0LCJkaXYiKSxQdSg1LCIgVG8gdXNlIHRoZSBuUE1JLCBjYWxjdWxhdGUgblBNSSB2YWx1ZXMsIGFuZCBsb2cgdGhlbSB1c2luZyB0aGUgc3VtbWFyeSB3cml0ZXIuICIpLE1mKCksTWYoKSxNZigpKX0sc3R5bGVzOlsiLmNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgcGFkZGluZzogNTBweDtcbn1cblxuLnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gIGZvbnQtc2l6ZTogMTM1JTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHV4dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLWluYWN0aXZlLXZpZXciLHRlbXBsYXRlVXJsOiIuL2luYWN0aXZlX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2luYWN0aXZlX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCxudWxsKTtjb25zdCBneHQ9VlMoe3BsdWdpbkRhdGFMb2FkZWQ6e3N0YXRlOlVFLk5PVF9MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOm51bGx9LGFubm90YXRpb25EYXRhOnt9LGVtYmVkZGluZ0RhdGFTZXQ6dm9pZCAwLHJ1blRvTWV0cmljczp7fSxzZWxlY3RlZEFubm90YXRpb25zOltdLGZsYWdnZWRBbm5vdGF0aW9uczpbXSxoaWRkZW5Bbm5vdGF0aW9uczpbXSxhbm5vdGF0aW9uc1JlZ2V4OiIiLG1ldHJpY3NSZWdleDoiIixtZXRyaWNBcml0aG1ldGljOltdLG1ldHJpY0ZpbHRlcnM6e30sc29ydDp7bWV0cmljOiIiLG9yZGVyOlV2dC5ERVNDRU5ESU5HfSxwY0V4cGFuZGVkOiEwLGFubm90YXRpb25zRXhwYW5kZWQ6ITAsc2lkZWJhckV4cGFuZGVkOiEwLHNob3dDb3VudHM6ITAsc2hvd0hpZGRlbkFubm90YXRpb25zOiExLHNpZGViYXJXaWR0aDozMDAsdmlld0FjdGl2ZTpqdnQuREVGQVVMVCxlbWJlZGRpbmdzTWV0cmljOiIiLGVtYmVkZGluZ3NTaWRlYmFyV2lkdGg6NTAwLGVtYmVkZGluZ3NTaWRlYmFyRXhwYW5kZWQ6ITB9LEJTKHV2dCwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtwbHVnaW5EYXRhTG9hZGVkOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnBsdWdpbkRhdGFMb2FkZWQpLHtzdGF0ZTpVRS5MT0FESU5HfSl9KSkpLEJTKGh2dCwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtwbHVnaW5EYXRhTG9hZGVkOk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0LnBsdWdpbkRhdGFMb2FkZWQpLHtzdGF0ZTpVRS5GQUlMRUR9KX0pKSksQlMoZ3Z0LCgodCx7YW5ub3RhdGlvbkRhdGE6ZSxtZXRyaWNzOm4sZW1iZWRkaW5nRGF0YVNldDpvfSk9Pntjb25zdCBpPXt9O2Zvcihjb25zdCB0IGluIG4pe2lbdF09W107Zm9yKGNvbnN0IGUgb2Ygblt0XSlUX3QoZSkmJmlbdF0ucHVzaChlKX1yZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtydW5Ub01ldHJpY3M6aSxhbm5vdGF0aW9uRGF0YTplLGVtYmVkZGluZ0RhdGFTZXQ6byxwbHVnaW5EYXRhTG9hZGVkOntzdGF0ZTpVRS5MT0FERUQsbGFzdExvYWRlZFRpbWVJbk1zOkRhdGUubm93KCl9fSl9KSksQlMoYnZ0LCgodCx7YW5ub3RhdGlvbnM6ZX0pPT57Y29uc3Qgbj1uZXcgU2V0KFsuLi50LnNlbGVjdGVkQW5ub3RhdGlvbnMsLi4uZV0pO2lmKG4uc2l6ZT09PXQuc2VsZWN0ZWRBbm5vdGF0aW9ucy5sZW5ndGgpZm9yKGNvbnN0IHQgb2YgZSluLmRlbGV0ZSh0KTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZWxlY3RlZEFubm90YXRpb25zOlsuLi5uXX0pfSkpLEJTKHl2dCwoKHQse2Fubm90YXRpb25zOmV9KT0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZWxlY3RlZEFubm90YXRpb25zOmV9KSkpLEJTKF92dCwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzZWxlY3RlZEFubm90YXRpb25zOltdfSkpKSxCUyhDdnQsKCh0LHthbm5vdGF0aW9uczplfSk9Pntjb25zdCBuPW5ldyBTZXQoWy4uLnQuZmxhZ2dlZEFubm90YXRpb25zLC4uLmVdKTtpZihuLnNpemU9PT10LmZsYWdnZWRBbm5vdGF0aW9ucy5sZW5ndGgpZm9yKGNvbnN0IHQgb2YgZSluLmRlbGV0ZSh0KTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtmbGFnZ2VkQW5ub3RhdGlvbnM6Wy4uLm5dLHNlbGVjdGVkQW5ub3RhdGlvbnM6W119KX0pKSxCUyhNdnQsKCh0LHthbm5vdGF0aW9uczplfSk9Pntjb25zdCBuPW5ldyBTZXQoWy4uLnQuaGlkZGVuQW5ub3RhdGlvbnMsLi4uZV0pO2lmKG4uc2l6ZT09PXQuaGlkZGVuQW5ub3RhdGlvbnMubGVuZ3RoKWZvcihjb25zdCB0IG9mIGUpbi5kZWxldGUodCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7aGlkZGVuQW5ub3RhdGlvbnM6Wy4uLm5dLHNlbGVjdGVkQW5ub3RhdGlvbnM6W119KX0pKSxCUyh2dnQsKCh0LHtyZWdleDplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7YW5ub3RhdGlvbnNSZWdleDplfSkpKSxCUyh4dnQsKCh0LHtyZWdleDplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7bWV0cmljc1JlZ2V4OmV9KSkpLEJTKE92dCwoKHQse21ldHJpYzplfSk9PntpZih0Lm1ldHJpY0ZpbHRlcnNbZV0pcmV0dXJuIHQ7Y29uc3Qgbj1bXTtyZXR1cm4gMCE9PXQubWV0cmljQXJpdGhtZXRpYy5sZW5ndGgmJm4ucHVzaCh7a2luZDpWdnQuT1BFUkFUT1Isb3BlcmF0b3I6QnZ0LkFORH0pLG4ucHVzaCh7a2luZDpWdnQuTUVUUklDLG1ldHJpYzplfSksT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHttZXRyaWNBcml0aG1ldGljOlsuLi50Lm1ldHJpY0FyaXRobWV0aWMsLi4ubl0sbWV0cmljRmlsdGVyczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5tZXRyaWNGaWx0ZXJzKSx7W2VdOnttYXg6MSxtaW46LTEsaW5jbHVkZU5hTjohMX19KSxzb3J0OnttZXRyaWM6ZSxvcmRlcjpVdnQuREVTQ0VORElOR319KX0pKSxCUyhQdnQsKCh0LHttZXRyaWM6ZX0pPT57aWYoIXQubWV0cmljRmlsdGVyc1tlXSlyZXR1cm4gdDtsZXQgbj0wLG89MCxpPTI7Y29uc3QgYT10Lm1ldHJpY0ZpbHRlcnMscj1lLHM9WlQoYSxbInN5bWJvbCI9PXR5cGVvZiByP3I6cisiIl0pO2Zvcihjb25zdCBvIGluIHQubWV0cmljQXJpdGhtZXRpYyl7Y29uc3QgaT10Lm1ldHJpY0FyaXRobWV0aWNbb107aS5raW5kPT09VnZ0Lk1FVFJJQyYmaS5tZXRyaWM9PT1lJiYobj1wYXJzZUludChvKSl9cmV0dXJuIDAhPT1uJiYobz1uLTEsaT1uKzEpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7bWV0cmljQXJpdGhtZXRpYzpbLi4udC5tZXRyaWNBcml0aG1ldGljLnNsaWNlKDAsbyksLi4udC5tZXRyaWNBcml0aG1ldGljLnNsaWNlKGkpXSxtZXRyaWNGaWx0ZXJzOnN9KX0pKSxCUyh3dnQsKCh0LHttZXRyaWM6ZSxtYXg6bixtaW46byxpbmNsdWRlTmFOOml9KT0+dC5tZXRyaWNGaWx0ZXJzW2VdP09iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7bWV0cmljRmlsdGVyczpPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdC5tZXRyaWNGaWx0ZXJzKSx7W2VdOnttYXg6bixtaW46byxpbmNsdWRlTmFOOml9fSl9KTp0KSksQlMoa3Z0LCgodCx7bWV0cmljOmV9KT0+e2NvbnN0IG49e21ldHJpYzplLG9yZGVyOlV2dC5ERVNDRU5ESU5HfTtyZXR1cm4gdC5zb3J0Lm1ldHJpYz09PWUmJnQuc29ydC5vcmRlcj09PVV2dC5ERVNDRU5ESU5HJiYobi5vcmRlcj1VdnQuQVNDRU5ETkcpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c29ydDpufSl9KSksQlMoU3Z0LCgodCx7YW5ub3RhdGlvbjplfSk9Pntjb25zdCBuPXttZXRyaWM6ZSxvcmRlcjpVdnQuU0lNSUxBUn07cmV0dXJuIHQuc29ydC5tZXRyaWM9PT1lJiZ0LnNvcnQub3JkZXI9PT1VdnQuU0lNSUxBUiYmKG4ub3JkZXI9VXZ0LkRJU1NJTUlMQVIpLE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7c29ydDpufSl9KSksQlMoRHZ0LCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3BjRXhwYW5kZWQ6IXQucGNFeHBhbmRlZH0pKSksQlMoUnZ0LCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2Fubm90YXRpb25zRXhwYW5kZWQ6IXQuYW5ub3RhdGlvbnNFeHBhbmRlZH0pKSksQlMoRXZ0LCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NpZGViYXJFeHBhbmRlZDohdC5zaWRlYmFyRXhwYW5kZWR9KSkpLEJTKEF2dCwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzaG93Q291bnRzOiF0LnNob3dDb3VudHN9KSkpLEJTKFR2dCwodD0+T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHtzaG93SGlkZGVuQW5ub3RhdGlvbnM6IXQuc2hvd0hpZGRlbkFubm90YXRpb25zfSkpKSxCUyhOdnQsKCh0LHttZXRyaWM6ZX0pPT57bGV0IG49anZ0LkVNQkVERElOR1Msbz1lO3JldHVybiBlPT09dC5lbWJlZGRpbmdzTWV0cmljJiYobj1qdnQuREVGQVVMVCxvPSIiKSxPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3ZpZXdBY3RpdmU6bixlbWJlZGRpbmdzTWV0cmljOm99KX0pKSxCUyh6dnQsKCh0LHtzaWRlYmFyV2lkdGg6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse3NpZGViYXJXaWR0aDplfSkpKSxCUyhJdnQsKCh0LHtzaWRlYmFyV2lkdGg6ZX0pPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2VtYmVkZGluZ3NTaWRlYmFyV2lkdGg6ZX0pKSksQlMoSHZ0LCh0PT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2VtYmVkZGluZ3NTaWRlYmFyRXhwYW5kZWQ6IXQuZW1iZWRkaW5nc1NpZGViYXJFeHBhbmRlZH0pKSksQlMoRnZ0LCgodCx7ZGF0YVNldDplfSk9Pk9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7ZW1iZWRkaW5nRGF0YVNldDplfSkpKSk7ZnVuY3Rpb24gaHh0KHQsZSl7cmV0dXJuIGd4dCh0LGUpfWZ1bmN0aW9uIGJ4dCh0LGUpezEmdCYmdmYoMCwibWF0LWljb24iLDcpfWZ1bmN0aW9uIHl4dCh0LGUpe2lmKDEmdCYmKENmKDAsIm1hdC1vcHRpb24iLDgpLFB1KDEpLE1mKCkpLDImdCl7Y29uc3QgdD1lLiRpbXBsaWNpdDtiZigidmFsdWUiLHQpLERjKDEpLHd1KHQpfX1jbGFzcyBfeHR7Y29uc3RydWN0b3IoKXt0aGlzLm9uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZT1uZXcgU3ksdGhpcy5vbkFkZEZpbHRlcj1uZXcgU3l9b25PcHRpb25TZWxlY3RlZCh0LGUpe3RoaXMub25BZGRGaWx0ZXIuZW1pdCh0Lm9wdGlvbi52YWx1ZSksZS52YWx1ZT0iIn19X3h0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxfeHQpfSxfeHQuybVjbXA9c28oe3R5cGU6X3h0LHNlbGVjdG9yczpbWyJtZXRyaWMtc2VhcmNoLWNvbXBvbmVudCJdXSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgidmFsaWQiLG4uaXNSZWdleEZpbHRlclZhbGlkKX0saW5wdXRzOntjb21wbGV0aW9uczoiY29tcGxldGlvbnMiLHJlZ2V4RmlsdGVyVmFsdWU6InJlZ2V4RmlsdGVyVmFsdWUiLGlzUmVnZXhGaWx0ZXJWYWxpZDoiaXNSZWdleEZpbHRlclZhbGlkIn0sb3V0cHV0czp7b25SZWdleEZpbHRlclZhbHVlQ2hhbmdlOiJvblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2UiLG9uQWRkRmlsdGVyOiJvbkFkZEZpbHRlciJ9LGRlY2xzOjcsdmFyczo0LGNvbnN0czpbWyJzdmdJY29uIiwic2VhcmNoXzI0cHgiXSxbIm1hdElucHV0IiwiIiwiYXV0b2NvbXBsZXRlIiwib2ZmIiwicGxhY2Vob2xkZXIiLCJBZGQgTWV0cmljIEZpbHRlciIsMywidmFsdWUiLCJtYXRBdXRvY29tcGxldGUiLCJpbnB1dCJdLFsibWF0SW5wdXQiLCIiXSxbInN2Z0ljb24iLCJlcnJvcl8yNHB4IiwiY2xhc3MiLCJlcnJvci1pY29uIiwibWF0VG9vbHRpcCIsIkludmFsaWQgcmVnZXggZmlsdGVyLiBUaGUgcmVzdWx0IG1heSBiZSBzdGFsZS4iLDQsIm5nSWYiXSxbImF1dG9BY3RpdmVGaXJzdE9wdGlvbiIsIiIsMywib3B0aW9uU2VsZWN0ZWQiXSxbImZpbHRlck1hdGNoZXMiLCJtYXRBdXRvY29tcGxldGUiXSxbMywidmFsdWUiLDQsIm5nRm9yIiwibmdGb3JPZiJdLFsic3ZnSWNvbiIsImVycm9yXzI0cHgiLCJtYXRUb29sdGlwIiwiSW52YWxpZCByZWdleCBmaWx0ZXIuIFRoZSByZXN1bHQgbWF5IGJlIHN0YWxlLiIsMSwiZXJyb3ItaWNvbiJdLFszLCJ2YWx1ZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlKXtjb25zdCB0PXdmKCk7dmYoMCwibWF0LWljb24iLDApLENmKDEsImlucHV0IiwxLDIpLFJmKCJpbnB1dCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25SZWdleEZpbHRlclZhbHVlQ2hhbmdlLmVtaXQoZS50YXJnZXQudmFsdWUpfSkpLE1mKCksSG0oMyxieHQsMSwwLCJtYXQtaWNvbiIsMyksQ2YoNCwibWF0LWF1dG9jb21wbGV0ZSIsNCw1KSxSZigib3B0aW9uU2VsZWN0ZWQiLChmdW5jdGlvbiBlKG8pe1BpKHQpO2NvbnN0IGk9Rm0oMik7cmV0dXJuIG4ub25PcHRpb25TZWxlY3RlZChvLGkpfSkpLEhtKDYseXh0LDIsMiwibWF0LW9wdGlvbiIsNiksTWYoKX1pZigyJmUpe2NvbnN0IHQ9Rm0oNSk7RGMoMSksYmYoInZhbHVlIixuLnJlZ2V4RmlsdGVyVmFsdWUpKCJtYXRBdXRvY29tcGxldGUiLHQpLERjKDIpLGJmKCJuZ0lmIiwhbi5pc1JlZ2V4RmlsdGVyVmFsaWQpLERjKDMpLGJmKCJuZ0Zvck9mIixuLmNvbXBsZXRpb25zKX19LGRpcmVjdGl2ZXM6W01xLEFaLFkzLFB2LEYzLHh2LFBMXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17ZmxleDpub25lO21hcmdpbi1yaWdodDo1cHh9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cGFkZGluZzowIDEwcHg7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOi45ZW19W19uZ2hvc3QtJUNPTVAlXTpub3QoLnZhbGlkKXtjb2xvcjojYzYyODI4fVtfbmdob3N0LSVDT01QJV06bm90KC52YWxpZCkgICBpbnB1dFtfbmdjb250ZW50LSVDT01QJV17Y2FyZXQtY29sb3I6Y3VycmVudENvbG9yfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihfeHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljLXNlYXJjaC1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL21ldHJpY19zZWFyY2hfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vbWV0cmljX3NlYXJjaF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7Y29tcGxldGlvbnM6W3t0eXBlOlJffV0scmVnZXhGaWx0ZXJWYWx1ZTpbe3R5cGU6Ul99XSxpc1JlZ2V4RmlsdGVyVmFsaWQ6W3t0eXBlOkFfLGFyZ3M6WyJjbGFzcy52YWxpZCJdfSx7dHlwZTpSX31dLG9uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZTpbe3R5cGU6RV99XSxvbkFkZEZpbHRlcjpbe3R5cGU6RV99XX0pO2NsYXNzIEN4dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5tZXRyaWNzUmVnZXgkPXRoaXMuc3RvcmUuc2VsZWN0KCR2dCksdGhpcy5hY3RpdmVSdW5zJD10aGlzLnN0b3JlLnBpcGUoclMoX0kpKS5waXBlKFZ0KCh0PT50P0FycmF5LmZyb20odC5lbnRyaWVzKCkpLmZpbHRlcigodD0+dFsxXSkpLm1hcCgodD0+dFswXSkpOltdKSkpLHRoaXMubWV0cmljc0ZvckFjdGl2ZVJ1bnMkPUt0KHRoaXMuYWN0aXZlUnVucyQsdGhpcy5zdG9yZS5zZWxlY3QocXZ0KSkucGlwZShWdCgoKFt0LGVdKT0+e2NvbnN0IG49bmV3IFNldDtmb3IoY29uc3QgbyBvZiB0KWlmKGVbb10pZm9yKGNvbnN0IHQgb2YgZVtvXSluLmFkZCh0KTtyZXR1cm5bLi4ubl19KSkpLHRoaXMuaXNNZXRyaWNzRmlsdGVyVmFsaWQkPXRoaXMubWV0cmljc1JlZ2V4JC5waXBlKFZ0KCh0PT57dHJ5e3JldHVybiBCb29sZWFuKG5ldyBSZWdFeHAodCkpfWNhdGNoKHQpe3JldHVybiExfX0pKSksdGhpcy5tZXRyaWNGaWx0ZXJLZXlzJD10aGlzLnN0b3JlLnBpcGUoclMoZXh0KSkucGlwZShWdCgodD0+T2JqZWN0LmtleXModCkpKSksdGhpcy5jb21wbGV0aW9ucyQ9S3QodGhpcy5tZXRyaWNzRm9yQWN0aXZlUnVucyQsdGhpcy5tZXRyaWNzUmVnZXgkLHRoaXMubWV0cmljRmlsdGVyS2V5cyQpLnBpcGUoVnQoKChbdCxlLG5dKT0+e2NvbnN0IG89dC5maWx0ZXIoKHQ9PiFuLmluY2x1ZGVzKHQpKSk7dHJ5e2NvbnN0IHQ9bmV3IFJlZ0V4cChlLCJpIik7cmV0dXJuIG8uZmlsdGVyKChlPT50LnRlc3QoZSkpKS5zb3J0KCl9Y2F0Y2godCl7cmV0dXJuW119fSkpKX1vbkZpbHRlckNoYW5nZSh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKHh2dCh7cmVnZXg6dH0pKX1vbkFkZEZpbHRlcih0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKE92dCh7bWV0cmljOnR9KSksdGhpcy5zdG9yZS5kaXNwYXRjaCh4dnQoe3JlZ2V4OiIifSkpfX1mdW5jdGlvbiBNeHQodCxlLG4pe2NvbnN0IG89W1tlLC4uLm5dXTtpZighbi5sZW5ndGh8fCF0Lmxlbmd0aCl7cmV0dXJuImRhdGE6dGV4dC9jc3Y7Y2hhcnNldD11dGYtOCwiK28ubWFwKCh0PT50LmpvaW4oIiwiKSkpLmpvaW4oIlxuIil9Y29uc3QgaT1uLm1hcCgodD0+el90KHQpKSk7Zm9yKGNvbnN0W24sYV1vZiB0KXtjb25zdCB0PWEuZmlsdGVyKCh0PT50LnJ1bj09PWUpKTtpZih0Lmxlbmd0aCl7Y29uc3QgZT1bbl07Zm9yKGNvbnN0IG4gb2YgaSl7Y29uc3Qgbz10LmZpbmQoKHQ9PnQubWV0cmljPT09bikpO2UucHVzaCh2b2lkIDA9PT1vPyJudWxsIjpgJHtvLm5QTUlWYWx1ZX1gKX1vLnB1c2goZSl9fXJldHVybiJkYXRhOnRleHQvY3N2O2NoYXJzZXQ9dXRmLTgsIitvLm1hcCgodD0+dC5qb2luKCIsIikpKS5qb2luKCJcbiIpfUN4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Q3h0KShnZihpUykpfSxDeHQuybVjbXA9c28oe3R5cGU6Q3h0LHNlbGVjdG9yczpbWyJucG1pLW1ldHJpYy1zZWFyY2giXV0sZGVjbHM6NCx2YXJzOjksY29uc3RzOltbMywicmVnZXhGaWx0ZXJWYWx1ZSIsImNvbXBsZXRpb25zIiwiaXNSZWdleEZpbHRlclZhbGlkIiwib25SZWdleEZpbHRlclZhbHVlQ2hhbmdlIiwib25BZGRGaWx0ZXIiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsIm1ldHJpYy1zZWFyY2gtY29tcG9uZW50IiwwKSxSZigib25SZWdleEZpbHRlclZhbHVlQ2hhbmdlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vbkZpbHRlckNoYW5nZShlKX0pKSgib25BZGRGaWx0ZXIiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uQWRkRmlsdGVyKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoInJlZ2V4RmlsdGVyVmFsdWUiLEN5KDEsMyxuLm1ldHJpY3NSZWdleCQpKSgiY29tcGxldGlvbnMiLEN5KDIsNSxuLmNvbXBsZXRpb25zJCkpKCJpc1JlZ2V4RmlsdGVyVmFsaWQiLEN5KDMsNyxuLmlzTWV0cmljc0ZpbHRlclZhbGlkJCkpfSxkaXJlY3RpdmVzOltfeHRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihDeHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibnBtaS1tZXRyaWMtc2VhcmNoIix0ZW1wbGF0ZTonXG4gICAgPG1ldHJpYy1zZWFyY2gtY29tcG9uZW50XG4gICAgICBbcmVnZXhGaWx0ZXJWYWx1ZV09Im1ldHJpY3NSZWdleCQgfCBhc3luYyJcbiAgICAgIFtjb21wbGV0aW9uc109ImNvbXBsZXRpb25zJCB8IGFzeW5jIlxuICAgICAgW2lzUmVnZXhGaWx0ZXJWYWxpZF09ImlzTWV0cmljc0ZpbHRlclZhbGlkJCB8IGFzeW5jIlxuICAgICAgKG9uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZSk9Im9uRmlsdGVyQ2hhbmdlKCRldmVudCkiXG4gICAgICAob25BZGRGaWx0ZXIpPSJvbkFkZEZpbHRlcigkZXZlbnQpIlxuICAgID48L21ldHJpYy1zZWFyY2gtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y29uc3Qgdnh0PWZ1bmN0aW9uKHQpe3JldHVybnsiYWN0aXZlLWJ1dHRvbiI6dH19O2NsYXNzIHh4dHtkb3dubG9hZFJlc3VsdHMoKXtmb3IoY29uc3QgdCBvZiB0aGlzLnJ1bnMpe2NvbnN0IGU9TXh0KHRoaXMuZmxhZ2dlZERhdGEsdCx0aGlzLm1ldHJpY3MpLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO24uc2V0QXR0cmlidXRlKCJocmVmIixlKSxuLnNldEF0dHJpYnV0ZSgiZG93bmxvYWQiLGByZXBvcnRfJHt0fS5jc3ZgKSxuLmNsaWNrKCl9fX14eHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHh4dCl9LHh4dC7JtWNtcD1zbyh7dHlwZTp4eHQsc2VsZWN0b3JzOltbInJlc3VsdHMtZG93bmxvYWQtY29tcG9uZW50Il1dLGlucHV0czp7bnVtRmxhZ2dlZEFubm90YXRpb25zOiJudW1GbGFnZ2VkQW5ub3RhdGlvbnMiLHJ1bnM6InJ1bnMiLGZsYWdnZWREYXRhOiJmbGFnZ2VkRGF0YSIsbWV0cmljczoibWV0cmljcyJ9LGRlY2xzOjQsdmFyczo1LGNvbnN0czpbWyJtYXQtc3Ryb2tlZC1idXR0b24iLCIiLCJ0aXRsZSIsIkV4cG9ydCBDU1YgcmVwb3J0cyBvZiBhbGwgZmxhZ2dlZCBhbm5vdGF0aW9ucy4gV2lsbCBnZW5lcmF0ZSBvbmUgQ1NWIHBlciBhY3RpdmUgcnVuLiIsMywiZGlzYWJsZWQiLCJuZ0NsYXNzIiwiY2xpY2siXSxbMSwiYnV0dG9uLWNvbnRlbnRzIl0sWyJzdmdJY29uIiwiZ2V0X2FwcF8yNHB4Il1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJidXR0b24iLDApLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5kb3dubG9hZFJlc3VsdHMoKX0pKSxDZigxLCJzcGFuIiwxKSx2ZigyLCJtYXQtaWNvbiIsMiksUHUoMyksTWYoKSxNZigpKSwyJmUmJihiZigiZGlzYWJsZWQiLDA9PT1uLm51bUZsYWdnZWRBbm5vdGF0aW9ucykoIm5nQ2xhc3MiLGl5KDMsdnh0LG4ubnVtRmxhZ2dlZEFubm90YXRpb25zPjApKSxEYygzKSxrdSgiIEZsYWdnZWQgUm93cyAoIixuLm51bUZsYWdnZWRBbm5vdGF0aW9ucywiKSAiKSl9LGRpcmVjdGl2ZXM6W05MLEN2LE1xXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0uYWN0aXZlLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmY5ODAwO2JvcmRlcjoxcHggc29saWQgI2ViZWJlYjtjb2xvcjojZmZmfS5idXR0b24tY29udGVudHNbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfW1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tcmlnaHQ6NnB4fSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih4eHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoicmVzdWx0cy1kb3dubG9hZC1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL3Jlc3VsdHNfZG93bmxvYWRfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vcmVzdWx0c19kb3dubG9hZF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bnVtRmxhZ2dlZEFubm90YXRpb25zOlt7dHlwZTpSX31dLHJ1bnM6W3t0eXBlOlJffV0sZmxhZ2dlZERhdGE6W3t0eXBlOlJffV0sbWV0cmljczpbe3R5cGU6Ul99XX0pO2NsYXNzIE94dHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5mbGFnZ2VkQW5ub3RhdGlvbnMkPXRoaXMuc3RvcmUuc2VsZWN0KEt2dCksdGhpcy5udW1GbGFnZ2VkQW5ub3RhdGlvbnMkPXRoaXMuZmxhZ2dlZEFubm90YXRpb25zJC5waXBlKFZ0KCh0PT50Lmxlbmd0aCkpKSx0aGlzLmFjdGl2ZVJ1bnMkPXRoaXMuc3RvcmUuc2VsZWN0KF9JKS5waXBlKFZ0KCh0PT50P0FycmF5LmZyb20odC5lbnRyaWVzKCkpLmZpbHRlcigodD0+dFsxXSkpLm1hcCgodD0+dFswXSkpOltdKSkpLHRoaXMuZmxhZ2dlZERhdGEkPUt0KFt0aGlzLnN0b3JlLnNlbGVjdChZdnQpLHRoaXMuZmxhZ2dlZEFubm90YXRpb25zJF0pLnBpcGUoVnQoKChbdCxlXSk9Pntjb25zdCBuPW5ldyBTZXQoZSk7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHQpLmZpbHRlcigodD0+bi5oYXModFswXSkpKX0pKSksdGhpcy5tZXRyaWNzJD1LdChbdGhpcy5zdG9yZS5zZWxlY3QocXZ0KSx0aGlzLmFjdGl2ZVJ1bnMkLHRoaXMuc3RvcmUuc2VsZWN0KGV4dCldKS5waXBlKFZ0KCgoW3QsZSxuXSk9PntsZXQgbz1PYmplY3Qua2V5cyhuKTtmb3IoY29uc3QgbiBvZiBlKXRbbl0mJihvPW8uY29uY2F0KHRbbl0uZmlsdGVyKCh0PT5OX3QodCkpKSkpO3JldHVybiBvPVsuLi5uZXcgU2V0KG8pXSxvfSkpKX19T3h0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxPeHQpKGdmKGlTKSl9LE94dC7JtWNtcD1zbyh7dHlwZTpPeHQsc2VsZWN0b3JzOltbIm5wbWktcmVzdWx0cy1kb3dubG9hZCJdXSxkZWNsczo1LHZhcnM6MTIsY29uc3RzOltbMywibnVtRmxhZ2dlZEFubm90YXRpb25zIiwicnVucyIsImZsYWdnZWREYXRhIiwibWV0cmljcyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwicmVzdWx0cy1kb3dubG9hZC1jb21wb25lbnQiLDApLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIikpLDImZSYmYmYoIm51bUZsYWdnZWRBbm5vdGF0aW9ucyIsQ3koMSw0LG4ubnVtRmxhZ2dlZEFubm90YXRpb25zJCkpKCJydW5zIixDeSgyLDYsbi5hY3RpdmVSdW5zJCkpKCJmbGFnZ2VkRGF0YSIsQ3koMyw4LG4uZmxhZ2dlZERhdGEkKSkoIm1ldHJpY3MiLEN5KDQsMTAsbi5tZXRyaWNzJCkpfSxkaXJlY3RpdmVzOlt4eHRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPeHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibnBtaS1yZXN1bHRzLWRvd25sb2FkIix0ZW1wbGF0ZTonXG4gICAgPHJlc3VsdHMtZG93bmxvYWQtY29tcG9uZW50XG4gICAgICBbbnVtRmxhZ2dlZEFubm90YXRpb25zXT0ibnVtRmxhZ2dlZEFubm90YXRpb25zJCB8IGFzeW5jIlxuICAgICAgW3J1bnNdPSJhY3RpdmVSdW5zJCB8IGFzeW5jIlxuICAgICAgW2ZsYWdnZWREYXRhXT0iZmxhZ2dlZERhdGEkIHwgYXN5bmMiXG4gICAgICBbbWV0cmljc109Im1ldHJpY3MkIHwgYXN5bmMiXG4gICAgPjwvcmVzdWx0cy1kb3dubG9hZC1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjb25zdCBQeHQ9bmV3IGVyKCJNYXRDaGlwUmVtb3ZlIiksd3h0PW5ldyBlcigiTWF0Q2hpcEF2YXRhciIpLGt4dD1uZXcgZXIoIk1hdENoaXBUcmFpbGluZ0ljb24iKTtjb25zdCBTeHQ9RkYoSUYoSEYoY2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5fZWxlbWVudFJlZj10fX0pLCJwcmltYXJ5IiksLTEpO2NsYXNzIER4dHt9RHh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxEeHQpfSxEeHQuybVkaXI9aG8oe3R5cGU6RHh0LHNlbGVjdG9yczpbWyJtYXQtY2hpcC1hdmF0YXIiXSxbIiIsIm1hdENoaXBBdmF0YXIiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtY2hpcC1hdmF0YXIiXSxmZWF0dXJlczpbamgoW3twcm92aWRlOnd4dCx1c2VFeGlzdGluZzpEeHR9XSldfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihEeHQsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LWNoaXAtYXZhdGFyLCBbbWF0Q2hpcEF2YXRhcl0iLGhvc3Q6e2NsYXNzOiJtYXQtY2hpcC1hdmF0YXIifSxwcm92aWRlcnM6W3twcm92aWRlOnd4dCx1c2VFeGlzdGluZzpEeHR9XX1dfV0sbnVsbCxudWxsKTtjbGFzcyBSeHR7fVJ4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Unh0KX0sUnh0Lsm1ZGlyPWhvKHt0eXBlOlJ4dCxzZWxlY3RvcnM6W1sibWF0LWNoaXAtdHJhaWxpbmctaWNvbiJdLFsiIiwibWF0Q2hpcFRyYWlsaW5nSWNvbiIsIiJdXSxob3N0QXR0cnM6WzEsIm1hdC1jaGlwLXRyYWlsaW5nLWljb24iXSxmZWF0dXJlczpbamgoW3twcm92aWRlOmt4dCx1c2VFeGlzdGluZzpSeHR9XSldfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihSeHQsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LWNoaXAtdHJhaWxpbmctaWNvbiwgW21hdENoaXBUcmFpbGluZ0ljb25dIixob3N0OntjbGFzczoibWF0LWNoaXAtdHJhaWxpbmctaWNvbiJ9LHByb3ZpZGVyczpbe3Byb3ZpZGU6a3h0LHVzZUV4aXN0aW5nOlJ4dH1dfV19XSxudWxsLG51bGwpO2NsYXNzIEV4dCBleHRlbmRzIFN4dHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSxyLHMpe3N1cGVyKHQpLHRoaXMuX25nWm9uZT1lLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmPWksdGhpcy5faGFzRm9jdXM9ITEsdGhpcy5jaGlwTGlzdFNlbGVjdGFibGU9ITAsdGhpcy5fY2hpcExpc3RNdWx0aXBsZT0hMSx0aGlzLl9jaGlwTGlzdERpc2FibGVkPSExLHRoaXMuX3NlbGVjdGVkPSExLHRoaXMuX3NlbGVjdGFibGU9ITAsdGhpcy5fZGlzYWJsZWQ9ITEsdGhpcy5fcmVtb3ZhYmxlPSEwLHRoaXMuX29uRm9jdXM9bmV3IEIsdGhpcy5fb25CbHVyPW5ldyBCLHRoaXMuc2VsZWN0aW9uQ2hhbmdlPW5ldyBTeSx0aGlzLmRlc3Ryb3llZD1uZXcgU3ksdGhpcy5yZW1vdmVkPW5ldyBTeSx0aGlzLl9hZGRIb3N0Q2xhc3NOYW1lKCksdGhpcy5fY2hpcFJpcHBsZVRhcmdldD1hLmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2NoaXBSaXBwbGVUYXJnZXQuY2xhc3NMaXN0LmFkZCgibWF0LWNoaXAtcmlwcGxlIiksdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2NoaXBSaXBwbGVUYXJnZXQpLHRoaXMuX2NoaXBSaXBwbGU9bmV3IGRMKHRoaXMsZSx0aGlzLl9jaGlwUmlwcGxlVGFyZ2V0LG4pLHRoaXMuX2NoaXBSaXBwbGUuc2V0dXBUcmlnZ2VyRXZlbnRzKHQpLHRoaXMucmlwcGxlQ29uZmlnPW98fHt9LHRoaXMuX2FuaW1hdGlvbnNEaXNhYmxlZD0iTm9vcEFuaW1hdGlvbnMiPT09cix0aGlzLnRhYkluZGV4PW51bGwhPXMmJnBhcnNlSW50KHMpfHwtMX1nZXQgcmlwcGxlRGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5kaXNhYmxlZHx8dGhpcy5kaXNhYmxlUmlwcGxlfHx0aGlzLl9hbmltYXRpb25zRGlzYWJsZWR8fCEhdGhpcy5yaXBwbGVDb25maWcuZGlzYWJsZWR9Z2V0IHNlbGVjdGVkKCl7cmV0dXJuIHRoaXMuX3NlbGVjdGVkfXNldCBzZWxlY3RlZCh0KXtjb25zdCBlPWVIKHQpO2UhPT10aGlzLl9zZWxlY3RlZCYmKHRoaXMuX3NlbGVjdGVkPWUsdGhpcy5fZGlzcGF0Y2hTZWxlY3Rpb25DaGFuZ2UoKSl9Z2V0IHZhbHVlKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3ZhbHVlP3RoaXMuX3ZhbHVlOnRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudH1zZXQgdmFsdWUodCl7dGhpcy5fdmFsdWU9dH1nZXQgc2VsZWN0YWJsZSgpe3JldHVybiB0aGlzLl9zZWxlY3RhYmxlJiZ0aGlzLmNoaXBMaXN0U2VsZWN0YWJsZX1zZXQgc2VsZWN0YWJsZSh0KXt0aGlzLl9zZWxlY3RhYmxlPWVIKHQpfWdldCBkaXNhYmxlZCgpe3JldHVybiB0aGlzLl9jaGlwTGlzdERpc2FibGVkfHx0aGlzLl9kaXNhYmxlZH1zZXQgZGlzYWJsZWQodCl7dGhpcy5fZGlzYWJsZWQ9ZUgodCl9Z2V0IHJlbW92YWJsZSgpe3JldHVybiB0aGlzLl9yZW1vdmFibGV9c2V0IHJlbW92YWJsZSh0KXt0aGlzLl9yZW1vdmFibGU9ZUgodCl9Z2V0IGFyaWFTZWxlY3RlZCgpe3JldHVybiB0aGlzLnNlbGVjdGFibGUmJih0aGlzLl9jaGlwTGlzdE11bHRpcGxlfHx0aGlzLnNlbGVjdGVkKT90aGlzLnNlbGVjdGVkLnRvU3RyaW5nKCk6bnVsbH1fYWRkSG9zdENsYXNzTmFtZSgpe2NvbnN0IHQ9Im1hdC1iYXNpYy1jaGlwIixlPXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtlLmhhc0F0dHJpYnV0ZSh0KXx8ZS50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT10P2UuY2xhc3NMaXN0LmFkZCh0KTplLmNsYXNzTGlzdC5hZGQoIm1hdC1zdGFuZGFyZC1jaGlwIil9bmdPbkRlc3Ryb3koKXt0aGlzLmRlc3Ryb3llZC5lbWl0KHtjaGlwOnRoaXN9KSx0aGlzLl9jaGlwUmlwcGxlLl9yZW1vdmVUcmlnZ2VyRXZlbnRzKCl9c2VsZWN0KCl7dGhpcy5fc2VsZWN0ZWR8fCh0aGlzLl9zZWxlY3RlZD0hMCx0aGlzLl9kaXNwYXRjaFNlbGVjdGlvbkNoYW5nZSgpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKX1kZXNlbGVjdCgpe3RoaXMuX3NlbGVjdGVkJiYodGhpcy5fc2VsZWN0ZWQ9ITEsdGhpcy5fZGlzcGF0Y2hTZWxlY3Rpb25DaGFuZ2UoKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSl9c2VsZWN0VmlhSW50ZXJhY3Rpb24oKXt0aGlzLl9zZWxlY3RlZHx8KHRoaXMuX3NlbGVjdGVkPSEwLHRoaXMuX2Rpc3BhdGNoU2VsZWN0aW9uQ2hhbmdlKCEwKSx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSl9dG9nZ2xlU2VsZWN0ZWQodD0hMSl7cmV0dXJuIHRoaXMuX3NlbGVjdGVkPSF0aGlzLnNlbGVjdGVkLHRoaXMuX2Rpc3BhdGNoU2VsZWN0aW9uQ2hhbmdlKHQpLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpLHRoaXMuc2VsZWN0ZWR9Zm9jdXMoKXt0aGlzLl9oYXNGb2N1c3x8KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpLHRoaXMuX29uRm9jdXMubmV4dCh7Y2hpcDp0aGlzfSkpLHRoaXMuX2hhc0ZvY3VzPSEwfXJlbW92ZSgpe3RoaXMucmVtb3ZhYmxlJiZ0aGlzLnJlbW92ZWQuZW1pdCh7Y2hpcDp0aGlzfSl9X2hhbmRsZUNsaWNrKHQpe3RoaXMuZGlzYWJsZWQ/dC5wcmV2ZW50RGVmYXVsdCgpOnQuc3RvcFByb3BhZ2F0aW9uKCl9X2hhbmRsZUtleWRvd24odCl7aWYoIXRoaXMuZGlzYWJsZWQpc3dpdGNoKHQua2V5Q29kZSl7Y2FzZSA0NjpjYXNlIDg6dGhpcy5yZW1vdmUoKSx0LnByZXZlbnREZWZhdWx0KCk7YnJlYWs7Y2FzZSBKSTp0aGlzLnNlbGVjdGFibGUmJnRoaXMudG9nZ2xlU2VsZWN0ZWQoITApLHQucHJldmVudERlZmF1bHQoKX19X2JsdXIoKXt0aGlzLl9uZ1pvbmUub25TdGFibGUucGlwZSh2ZSgxKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX25nWm9uZS5ydW4oKCgpPT57dGhpcy5faGFzRm9jdXM9ITEsdGhpcy5fb25CbHVyLm5leHQoe2NoaXA6dGhpc30pfSkpfSkpfV9kaXNwYXRjaFNlbGVjdGlvbkNoYW5nZSh0PSExKXt0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHtzb3VyY2U6dGhpcyxpc1VzZXJJbnB1dDp0LHNlbGVjdGVkOnRoaXMuX3NlbGVjdGVkfSl9fUV4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RXh0KShnZihLaCksZ2YobUMpLGdmKGNIKSxnZihwTCw4KSxnZihPYiksZ2Yoc00pLGdmKGNrLDgpLEdhKCJ0YWJpbmRleCIpKX0sRXh0Lsm1ZGlyPWhvKHt0eXBlOkV4dCxzZWxlY3RvcnM6W1sibWF0LWJhc2ljLWNoaXAiXSxbIiIsIm1hdC1iYXNpYy1jaGlwIiwiIl0sWyJtYXQtY2hpcCJdLFsiIiwibWF0LWNoaXAiLCIiXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24gdChlLG4sbyl7aWYoMSZlJiYoankobyx3eHQsNSksankobyxreHQsNSksankobyxQeHQsNSkpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uYXZhdGFyPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLnRyYWlsaW5nSWNvbj10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5yZW1vdmVJY29uPXQuZmlyc3QpfX0saG9zdEF0dHJzOlsicm9sZSIsIm9wdGlvbiIsMSwibWF0LWNoaXAiLCJtYXQtZm9jdXMtaW5kaWNhdG9yIl0saG9zdFZhcnM6MTQsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJjbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2hhbmRsZUNsaWNrKGUpfSkpKCJrZXlkb3duIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5faGFuZGxlS2V5ZG93bihlKX0pKSgiZm9jdXMiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uZm9jdXMoKX0pKSgiYmx1ciIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fYmx1cigpfSkpLDImZSYmKHltKCJ0YWJpbmRleCIsbi5kaXNhYmxlZD9udWxsOm4udGFiSW5kZXgpKCJkaXNhYmxlZCIsbi5kaXNhYmxlZHx8bnVsbCkoImFyaWEtZGlzYWJsZWQiLG4uZGlzYWJsZWQudG9TdHJpbmcoKSkoImFyaWEtc2VsZWN0ZWQiLG4uYXJpYVNlbGVjdGVkKSxjdSgibWF0LWNoaXAtc2VsZWN0ZWQiLG4uc2VsZWN0ZWQpKCJtYXQtY2hpcC13aXRoLWF2YXRhciIsbi5hdmF0YXIpKCJtYXQtY2hpcC13aXRoLXRyYWlsaW5nLWljb24iLG4udHJhaWxpbmdJY29ufHxuLnJlbW92ZUljb24pKCJtYXQtY2hpcC1kaXNhYmxlZCIsbi5kaXNhYmxlZCkoIl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIixuLl9hbmltYXRpb25zRGlzYWJsZWQpKX0saW5wdXRzOntjb2xvcjoiY29sb3IiLGRpc2FibGVSaXBwbGU6ImRpc2FibGVSaXBwbGUiLHRhYkluZGV4OiJ0YWJJbmRleCIsc2VsZWN0ZWQ6InNlbGVjdGVkIix2YWx1ZToidmFsdWUiLHNlbGVjdGFibGU6InNlbGVjdGFibGUiLGRpc2FibGVkOiJkaXNhYmxlZCIscmVtb3ZhYmxlOiJyZW1vdmFibGUifSxvdXRwdXRzOntzZWxlY3Rpb25DaGFuZ2U6InNlbGVjdGlvbkNoYW5nZSIsZGVzdHJveWVkOiJkZXN0cm95ZWQiLHJlbW92ZWQ6InJlbW92ZWQifSxleHBvcnRBczpbIm1hdENoaXAiXSxmZWF0dXJlczpbUXBdfSksRXh0LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6S2h9LHt0eXBlOm1DfSx7dHlwZTpjSH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltwTF19XX0se3R5cGU6T2J9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpMcixhcmdzOltzTV19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOiRhLGFyZ3M6WyJ0YWJpbmRleCJdfV19XSxFeHQucHJvcERlY29yYXRvcnM9e2F2YXRhcjpbe3R5cGU6aXIsYXJnczpbd3h0XX1dLHRyYWlsaW5nSWNvbjpbe3R5cGU6aXIsYXJnczpba3h0XX1dLHJlbW92ZUljb246W3t0eXBlOmlyLGFyZ3M6W1B4dF19XSxzZWxlY3RlZDpbe3R5cGU6Ul99XSx2YWx1ZTpbe3R5cGU6Ul99XSxzZWxlY3RhYmxlOlt7dHlwZTpSX31dLGRpc2FibGVkOlt7dHlwZTpSX31dLHJlbW92YWJsZTpbe3R5cGU6Ul99XSxzZWxlY3Rpb25DaGFuZ2U6W3t0eXBlOkVffV0sZGVzdHJveWVkOlt7dHlwZTpFX31dLHJlbW92ZWQ6W3t0eXBlOkVffV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRXh0LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1iYXNpYy1jaGlwLCBbbWF0LWJhc2ljLWNoaXBdLCBtYXQtY2hpcCwgW21hdC1jaGlwXSIsaW5wdXRzOlsiY29sb3IiLCJkaXNhYmxlUmlwcGxlIiwidGFiSW5kZXgiXSxleHBvcnRBczoibWF0Q2hpcCIsaG9zdDp7Y2xhc3M6Im1hdC1jaGlwIG1hdC1mb2N1cy1pbmRpY2F0b3IiLCJbYXR0ci50YWJpbmRleF0iOiJkaXNhYmxlZCA/IG51bGwgOiB0YWJJbmRleCIscm9sZToib3B0aW9uIiwiW2NsYXNzLm1hdC1jaGlwLXNlbGVjdGVkXSI6InNlbGVjdGVkIiwiW2NsYXNzLm1hdC1jaGlwLXdpdGgtYXZhdGFyXSI6ImF2YXRhciIsIltjbGFzcy5tYXQtY2hpcC13aXRoLXRyYWlsaW5nLWljb25dIjoidHJhaWxpbmdJY29uIHx8IHJlbW92ZUljb24iLCJbY2xhc3MubWF0LWNoaXAtZGlzYWJsZWRdIjoiZGlzYWJsZWQiLCJbY2xhc3MuX21hdC1hbmltYXRpb24tbm9vcGFibGVdIjoiX2FuaW1hdGlvbnNEaXNhYmxlZCIsIlthdHRyLmRpc2FibGVkXSI6ImRpc2FibGVkIHx8IG51bGwiLCJbYXR0ci5hcmlhLWRpc2FibGVkXSI6ImRpc2FibGVkLnRvU3RyaW5nKCkiLCJbYXR0ci5hcmlhLXNlbGVjdGVkXSI6ImFyaWFTZWxlY3RlZCIsIihjbGljaykiOiJfaGFuZGxlQ2xpY2soJGV2ZW50KSIsIihrZXlkb3duKSI6Il9oYW5kbGVLZXlkb3duKCRldmVudCkiLCIoZm9jdXMpIjoiZm9jdXMoKSIsIihibHVyKSI6Il9ibHVyKCkifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTptQ30se3R5cGU6Y0h9LHt0eXBlOnZvaWQgMCxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbcExdfV19LHt0eXBlOk9ifSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbc01dfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6THIsYXJnczpbY2tdfV19LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsidGFiaW5kZXgiXX1dfV19KSx7c2VsZWN0aW9uQ2hhbmdlOlt7dHlwZTpFX31dLGRlc3Ryb3llZDpbe3R5cGU6RV99XSxyZW1vdmVkOlt7dHlwZTpFX31dLHNlbGVjdGVkOlt7dHlwZTpSX31dLHZhbHVlOlt7dHlwZTpSX31dLHNlbGVjdGFibGU6W3t0eXBlOlJffV0sZGlzYWJsZWQ6W3t0eXBlOlJffV0scmVtb3ZhYmxlOlt7dHlwZTpSX31dLGF2YXRhcjpbe3R5cGU6aXIsYXJnczpbd3h0XX1dLHRyYWlsaW5nSWNvbjpbe3R5cGU6aXIsYXJnczpba3h0XX1dLHJlbW92ZUljb246W3t0eXBlOmlyLGFyZ3M6W1B4dF19XX0pO2NsYXNzIEF4dHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX3BhcmVudENoaXA9dCwiQlVUVE9OIj09PWUubmF0aXZlRWxlbWVudC5ub2RlTmFtZSYmZS5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgidHlwZSIsImJ1dHRvbiIpfV9oYW5kbGVDbGljayh0KXtjb25zdCBlPXRoaXMuX3BhcmVudENoaXA7ZS5yZW1vdmFibGUmJiFlLmRpc2FibGVkJiZlLnJlbW92ZSgpLHQuc3RvcFByb3BhZ2F0aW9uKCl9fUF4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QXh0KShnZihFeHQpLGdmKEtoKSl9LEF4dC7JtWRpcj1obyh7dHlwZTpBeHQsc2VsZWN0b3JzOltbIiIsIm1hdENoaXBSZW1vdmUiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtY2hpcC1yZW1vdmUiLCJtYXQtY2hpcC10cmFpbGluZy1pY29uIl0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJjbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2hhbmRsZUNsaWNrKGUpfSkpfSxmZWF0dXJlczpbamgoW3twcm92aWRlOlB4dCx1c2VFeGlzdGluZzpBeHR9XSldfSksQXh0LmN0b3JQYXJhbWV0ZXJzPSgpPT5be3R5cGU6RXh0fSx7dHlwZTpLaH1dLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQXh0LFt7dHlwZTprXyxhcmdzOlt7c2VsZWN0b3I6IlttYXRDaGlwUmVtb3ZlXSIsaG9zdDp7Y2xhc3M6Im1hdC1jaGlwLXJlbW92ZSBtYXQtY2hpcC10cmFpbGluZy1pY29uIiwiKGNsaWNrKSI6Il9oYW5kbGVDbGljaygkZXZlbnQpIn0scHJvdmlkZXJzOlt7cHJvdmlkZTpQeHQsdXNlRXhpc3Rpbmc6QXh0fV19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpFeHR9LHt0eXBlOktofV19KSxudWxsKTsKLyoqCiAgICAgKiBAbGljZW5zZQogICAgICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAgICAqCiAgICAgKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQogICAgICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZQogICAgICovCmNvbnN0IFR4dD1uZXcgZXIoIm1hdC1jaGlwcy1kZWZhdWx0LW9wdGlvbnMiKSxOeHQ9TEYoY2xhc3N7Y29uc3RydWN0b3IodCxlLG4sbyl7dGhpcy5fZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyPXQsdGhpcy5fcGFyZW50Rm9ybT1lLHRoaXMuX3BhcmVudEZvcm1Hcm91cD1uLHRoaXMubmdDb250cm9sPW99fSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqL2xldCB6eHQ9MDtjbGFzcyBJeHR7Y29uc3RydWN0b3IodCxlKXt0aGlzLnNvdXJjZT10LHRoaXMudmFsdWU9ZX19Y2xhc3MgSHh0IGV4dGVuZHMgTnh0e2NvbnN0cnVjdG9yKHQsZSxuLG8saSxhLHIpe3N1cGVyKGEsbyxpLHIpLHRoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZj1lLHRoaXMuX2Rpcj1uLHRoaXMuY29udHJvbFR5cGU9Im1hdC1jaGlwLWxpc3QiLHRoaXMuX2xhc3REZXN0cm95ZWRDaGlwSW5kZXg9bnVsbCx0aGlzLl9kZXN0cm95ZWQ9bmV3IEIsdGhpcy5fdWlkPSJtYXQtY2hpcC1saXN0LSIrenh0KyssdGhpcy5fdGFiSW5kZXg9MCx0aGlzLl91c2VyVGFiSW5kZXg9bnVsbCx0aGlzLl9vblRvdWNoZWQ9KCk9Pnt9LHRoaXMuX29uQ2hhbmdlPSgpPT57fSx0aGlzLl9tdWx0aXBsZT0hMSx0aGlzLl9jb21wYXJlV2l0aD0odCxlKT0+dD09PWUsdGhpcy5fcmVxdWlyZWQ9ITEsdGhpcy5fZGlzYWJsZWQ9ITEsdGhpcy5hcmlhT3JpZW50YXRpb249Imhvcml6b250YWwiLHRoaXMuX3NlbGVjdGFibGU9ITAsdGhpcy5jaGFuZ2U9bmV3IFN5LHRoaXMudmFsdWVDaGFuZ2U9bmV3IFN5LHRoaXMubmdDb250cm9sJiYodGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3Nvcj10aGlzKX1nZXQgc2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy5tdWx0aXBsZT90aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZDp0aGlzLl9zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZFswXX1nZXQgcm9sZSgpe3JldHVybiB0aGlzLmVtcHR5P251bGw6Imxpc3Rib3gifWdldCBtdWx0aXBsZSgpe3JldHVybiB0aGlzLl9tdWx0aXBsZX1zZXQgbXVsdGlwbGUodCl7dGhpcy5fbXVsdGlwbGU9ZUgodCksdGhpcy5fc3luY0NoaXBzU3RhdGUoKX1nZXQgY29tcGFyZVdpdGgoKXtyZXR1cm4gdGhpcy5fY29tcGFyZVdpdGh9c2V0IGNvbXBhcmVXaXRoKHQpe3RoaXMuX2NvbXBhcmVXaXRoPXQsdGhpcy5fc2VsZWN0aW9uTW9kZWwmJnRoaXMuX2luaXRpYWxpemVTZWxlY3Rpb24oKX1nZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy5fdmFsdWV9c2V0IHZhbHVlKHQpe3RoaXMud3JpdGVWYWx1ZSh0KSx0aGlzLl92YWx1ZT10fWdldCBpZCgpe3JldHVybiB0aGlzLl9jaGlwSW5wdXQ/dGhpcy5fY2hpcElucHV0LmlkOnRoaXMuX3VpZH1nZXQgcmVxdWlyZWQoKXtyZXR1cm4gdGhpcy5fcmVxdWlyZWR9c2V0IHJlcXVpcmVkKHQpe3RoaXMuX3JlcXVpcmVkPWVIKHQpLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKX1nZXQgcGxhY2Vob2xkZXIoKXtyZXR1cm4gdGhpcy5fY2hpcElucHV0P3RoaXMuX2NoaXBJbnB1dC5wbGFjZWhvbGRlcjp0aGlzLl9wbGFjZWhvbGRlcn1zZXQgcGxhY2Vob2xkZXIodCl7dGhpcy5fcGxhY2Vob2xkZXI9dCx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9Z2V0IGZvY3VzZWQoKXtyZXR1cm4gdGhpcy5fY2hpcElucHV0JiZ0aGlzLl9jaGlwSW5wdXQuZm9jdXNlZHx8dGhpcy5faGFzRm9jdXNlZENoaXAoKX1nZXQgZW1wdHkoKXtyZXR1cm4oIXRoaXMuX2NoaXBJbnB1dHx8dGhpcy5fY2hpcElucHV0LmVtcHR5KSYmKCF0aGlzLmNoaXBzfHwwPT09dGhpcy5jaGlwcy5sZW5ndGgpfWdldCBzaG91bGRMYWJlbEZsb2F0KCl7cmV0dXJuIXRoaXMuZW1wdHl8fHRoaXMuZm9jdXNlZH1nZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy5uZ0NvbnRyb2w/ISF0aGlzLm5nQ29udHJvbC5kaXNhYmxlZDp0aGlzLl9kaXNhYmxlZH1zZXQgZGlzYWJsZWQodCl7dGhpcy5fZGlzYWJsZWQ9ZUgodCksdGhpcy5fc3luY0NoaXBzU3RhdGUoKX1nZXQgc2VsZWN0YWJsZSgpe3JldHVybiB0aGlzLl9zZWxlY3RhYmxlfXNldCBzZWxlY3RhYmxlKHQpe3RoaXMuX3NlbGVjdGFibGU9ZUgodCksdGhpcy5jaGlwcyYmdGhpcy5jaGlwcy5mb3JFYWNoKCh0PT50LmNoaXBMaXN0U2VsZWN0YWJsZT10aGlzLl9zZWxlY3RhYmxlKSl9c2V0IHRhYkluZGV4KHQpe3RoaXMuX3VzZXJUYWJJbmRleD10LHRoaXMuX3RhYkluZGV4PXR9Z2V0IGNoaXBTZWxlY3Rpb25DaGFuZ2VzKCl7cmV0dXJuIHBlKC4uLnRoaXMuY2hpcHMubWFwKCh0PT50LnNlbGVjdGlvbkNoYW5nZSkpKX1nZXQgY2hpcEZvY3VzQ2hhbmdlcygpe3JldHVybiBwZSguLi50aGlzLmNoaXBzLm1hcCgodD0+dC5fb25Gb2N1cykpKX1nZXQgY2hpcEJsdXJDaGFuZ2VzKCl7cmV0dXJuIHBlKC4uLnRoaXMuY2hpcHMubWFwKCh0PT50Ll9vbkJsdXIpKSl9Z2V0IGNoaXBSZW1vdmVDaGFuZ2VzKCl7cmV0dXJuIHBlKC4uLnRoaXMuY2hpcHMubWFwKCh0PT50LmRlc3Ryb3llZCkpKX1uZ0FmdGVyQ29udGVudEluaXQoKXt0aGlzLl9rZXlNYW5hZ2VyPW5ldyBMSCh0aGlzLmNoaXBzKS53aXRoV3JhcCgpLndpdGhWZXJ0aWNhbE9yaWVudGF0aW9uKCkud2l0aEhvbWVBbmRFbmQoKS53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHRoaXMuX2Rpcj90aGlzLl9kaXIudmFsdWU6Imx0ciIpLHRoaXMuX2RpciYmdGhpcy5fZGlyLmNoYW5nZS5waXBlKGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgodD0+dGhpcy5fa2V5TWFuYWdlci53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKHQpKSksdGhpcy5fa2V5TWFuYWdlci50YWJPdXQucGlwZShqZSh0aGlzLl9kZXN0cm95ZWQpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5fYWxsb3dGb2N1c0VzY2FwZSgpfSkpLHRoaXMuY2hpcHMuY2hhbmdlcy5waXBlKEJlKG51bGwpLGplKHRoaXMuX2Rlc3Ryb3llZCkpLnN1YnNjcmliZSgoKCk9Pnt0aGlzLmRpc2FibGVkJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgoKT0+e3RoaXMuX3N5bmNDaGlwc1N0YXRlKCl9KSksdGhpcy5fcmVzZXRDaGlwcygpLHRoaXMuX2luaXRpYWxpemVTZWxlY3Rpb24oKSx0aGlzLl91cGRhdGVUYWJJbmRleCgpLHRoaXMuX3VwZGF0ZUZvY3VzRm9yRGVzdHJveWVkQ2hpcHMoKSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9KSl9bmdPbkluaXQoKXt0aGlzLl9zZWxlY3Rpb25Nb2RlbD1uZXcgakwodGhpcy5tdWx0aXBsZSx2b2lkIDAsITEpLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKX1uZ0RvQ2hlY2soKXt0aGlzLm5nQ29udHJvbCYmKHRoaXMudXBkYXRlRXJyb3JTdGF0ZSgpLHRoaXMubmdDb250cm9sLmRpc2FibGVkIT09dGhpcy5fZGlzYWJsZWQmJih0aGlzLmRpc2FibGVkPSEhdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQpKX1uZ09uRGVzdHJveSgpe3RoaXMuX2Rlc3Ryb3llZC5uZXh0KCksdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCksdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKSx0aGlzLl9kcm9wU3Vic2NyaXB0aW9ucygpfXJlZ2lzdGVySW5wdXQodCl7dGhpcy5fY2hpcElucHV0PXQsdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgiZGF0YS1tYXQtY2hpcC1pbnB1dCIsdC5pZCl9c2V0RGVzY3JpYmVkQnlJZHModCl7dGhpcy5fYXJpYURlc2NyaWJlZGJ5PXQuam9pbigiICIpfXdyaXRlVmFsdWUodCl7dGhpcy5jaGlwcyYmdGhpcy5fc2V0U2VsZWN0aW9uQnlWYWx1ZSh0LCExKX1yZWdpc3Rlck9uQ2hhbmdlKHQpe3RoaXMuX29uQ2hhbmdlPXR9cmVnaXN0ZXJPblRvdWNoZWQodCl7dGhpcy5fb25Ub3VjaGVkPXR9c2V0RGlzYWJsZWRTdGF0ZSh0KXt0aGlzLmRpc2FibGVkPXQsdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpfW9uQ29udGFpbmVyQ2xpY2sodCl7dGhpcy5fb3JpZ2luYXRlc0Zyb21DaGlwKHQpfHx0aGlzLmZvY3VzKCl9Zm9jdXModCl7dGhpcy5kaXNhYmxlZHx8dGhpcy5fY2hpcElucHV0JiZ0aGlzLl9jaGlwSW5wdXQuZm9jdXNlZHx8KHRoaXMuY2hpcHMubGVuZ3RoPjA/KHRoaXMuX2tleU1hbmFnZXIuc2V0Rmlyc3RJdGVtQWN0aXZlKCksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpKToodGhpcy5fZm9jdXNJbnB1dCh0KSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCkpKX1fZm9jdXNJbnB1dCh0KXt0aGlzLl9jaGlwSW5wdXQmJnRoaXMuX2NoaXBJbnB1dC5mb2N1cyh0KX1fa2V5ZG93bih0KXtjb25zdCBlPXQudGFyZ2V0O2UmJmUuY2xhc3NMaXN0LmNvbnRhaW5zKCJtYXQtY2hpcCIpJiYodGhpcy5fa2V5TWFuYWdlci5vbktleWRvd24odCksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpKX1fdXBkYXRlVGFiSW5kZXgoKXt0aGlzLl90YWJJbmRleD10aGlzLl91c2VyVGFiSW5kZXh8fCgwPT09dGhpcy5jaGlwcy5sZW5ndGg/LTE6MCl9X3VwZGF0ZUZvY3VzRm9yRGVzdHJveWVkQ2hpcHMoKXtpZihudWxsIT10aGlzLl9sYXN0RGVzdHJveWVkQ2hpcEluZGV4KWlmKHRoaXMuY2hpcHMubGVuZ3RoKXtjb25zdCB0PU1hdGgubWluKHRoaXMuX2xhc3REZXN0cm95ZWRDaGlwSW5kZXgsdGhpcy5jaGlwcy5sZW5ndGgtMSk7dGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHQpfWVsc2UgdGhpcy5mb2N1cygpO3RoaXMuX2xhc3REZXN0cm95ZWRDaGlwSW5kZXg9bnVsbH1faXNWYWxpZEluZGV4KHQpe3JldHVybiB0Pj0wJiZ0PHRoaXMuY2hpcHMubGVuZ3RofV9zZXRTZWxlY3Rpb25CeVZhbHVlKHQsZT0hMCl7aWYodGhpcy5fY2xlYXJTZWxlY3Rpb24oKSx0aGlzLmNoaXBzLmZvckVhY2goKHQ9PnQuZGVzZWxlY3QoKSkpLEFycmF5LmlzQXJyYXkodCkpdC5mb3JFYWNoKCh0PT50aGlzLl9zZWxlY3RWYWx1ZSh0LGUpKSksdGhpcy5fc29ydFZhbHVlcygpO2Vsc2V7Y29uc3Qgbj10aGlzLl9zZWxlY3RWYWx1ZSh0LGUpO24mJmUmJnRoaXMuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbShuKX19X3NlbGVjdFZhbHVlKHQsZT0hMCl7Y29uc3Qgbj10aGlzLmNoaXBzLmZpbmQoKGU9Pm51bGwhPWUudmFsdWUmJnRoaXMuX2NvbXBhcmVXaXRoKGUudmFsdWUsdCkpKTtyZXR1cm4gbiYmKGU/bi5zZWxlY3RWaWFJbnRlcmFjdGlvbigpOm4uc2VsZWN0KCksdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KG4pKSxufV9pbml0aWFsaXplU2VsZWN0aW9uKCl7UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PnsodGhpcy5uZ0NvbnRyb2x8fHRoaXMuX3ZhbHVlKSYmKHRoaXMuX3NldFNlbGVjdGlvbkJ5VmFsdWUodGhpcy5uZ0NvbnRyb2w/dGhpcy5uZ0NvbnRyb2wudmFsdWU6dGhpcy5fdmFsdWUsITEpLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKSl9KSl9X2NsZWFyU2VsZWN0aW9uKHQpe3RoaXMuX3NlbGVjdGlvbk1vZGVsLmNsZWFyKCksdGhpcy5jaGlwcy5mb3JFYWNoKChlPT57ZSE9PXQmJmUuZGVzZWxlY3QoKX0pKSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9X3NvcnRWYWx1ZXMoKXt0aGlzLl9tdWx0aXBsZSYmKHRoaXMuX3NlbGVjdGlvbk1vZGVsLmNsZWFyKCksdGhpcy5jaGlwcy5mb3JFYWNoKCh0PT57dC5zZWxlY3RlZCYmdGhpcy5fc2VsZWN0aW9uTW9kZWwuc2VsZWN0KHQpfSkpLHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKSl9X3Byb3BhZ2F0ZUNoYW5nZXModCl7bGV0IGU9bnVsbDtlPUFycmF5LmlzQXJyYXkodGhpcy5zZWxlY3RlZCk/dGhpcy5zZWxlY3RlZC5tYXAoKHQ9PnQudmFsdWUpKTp0aGlzLnNlbGVjdGVkP3RoaXMuc2VsZWN0ZWQudmFsdWU6dCx0aGlzLl92YWx1ZT1lLHRoaXMuY2hhbmdlLmVtaXQobmV3IEl4dCh0aGlzLGUpKSx0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZSksdGhpcy5fb25DaGFuZ2UoZSksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9X2JsdXIoKXt0aGlzLl9oYXNGb2N1c2VkQ2hpcCgpfHx0aGlzLl9rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oLTEpLHRoaXMuZGlzYWJsZWR8fCh0aGlzLl9jaGlwSW5wdXQ/c2V0VGltZW91dCgoKCk9Pnt0aGlzLmZvY3VzZWR8fHRoaXMuX21hcmtBc1RvdWNoZWQoKX0pKTp0aGlzLl9tYXJrQXNUb3VjaGVkKCkpfV9tYXJrQXNUb3VjaGVkKCl7dGhpcy5fb25Ub3VjaGVkKCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCksdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpfV9hbGxvd0ZvY3VzRXNjYXBlKCl7LTEhPT10aGlzLl90YWJJbmRleCYmKHRoaXMuX3RhYkluZGV4PS0xLHNldFRpbWVvdXQoKCgpPT57dGhpcy5fdGFiSW5kZXg9dGhpcy5fdXNlclRhYkluZGV4fHwwLHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpfSkpKX1fcmVzZXRDaGlwcygpe3RoaXMuX2Ryb3BTdWJzY3JpcHRpb25zKCksdGhpcy5fbGlzdGVuVG9DaGlwc0ZvY3VzKCksdGhpcy5fbGlzdGVuVG9DaGlwc1NlbGVjdGlvbigpLHRoaXMuX2xpc3RlblRvQ2hpcHNSZW1vdmVkKCl9X2Ryb3BTdWJzY3JpcHRpb25zKCl7dGhpcy5fY2hpcEZvY3VzU3Vic2NyaXB0aW9uJiYodGhpcy5fY2hpcEZvY3VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5fY2hpcEZvY3VzU3Vic2NyaXB0aW9uPW51bGwpLHRoaXMuX2NoaXBCbHVyU3Vic2NyaXB0aW9uJiYodGhpcy5fY2hpcEJsdXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9jaGlwQmx1clN1YnNjcmlwdGlvbj1udWxsKSx0aGlzLl9jaGlwU2VsZWN0aW9uU3Vic2NyaXB0aW9uJiYodGhpcy5fY2hpcFNlbGVjdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMuX2NoaXBTZWxlY3Rpb25TdWJzY3JpcHRpb249bnVsbCksdGhpcy5fY2hpcFJlbW92ZVN1YnNjcmlwdGlvbiYmKHRoaXMuX2NoaXBSZW1vdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLl9jaGlwUmVtb3ZlU3Vic2NyaXB0aW9uPW51bGwpfV9saXN0ZW5Ub0NoaXBzU2VsZWN0aW9uKCl7dGhpcy5fY2hpcFNlbGVjdGlvblN1YnNjcmlwdGlvbj10aGlzLmNoaXBTZWxlY3Rpb25DaGFuZ2VzLnN1YnNjcmliZSgodD0+e3Quc291cmNlLnNlbGVjdGVkP3RoaXMuX3NlbGVjdGlvbk1vZGVsLnNlbGVjdCh0LnNvdXJjZSk6dGhpcy5fc2VsZWN0aW9uTW9kZWwuZGVzZWxlY3QodC5zb3VyY2UpLHRoaXMubXVsdGlwbGV8fHRoaXMuY2hpcHMuZm9yRWFjaCgodD0+eyF0aGlzLl9zZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKHQpJiZ0LnNlbGVjdGVkJiZ0LmRlc2VsZWN0KCl9KSksdC5pc1VzZXJJbnB1dCYmdGhpcy5fcHJvcGFnYXRlQ2hhbmdlcygpfSkpfV9saXN0ZW5Ub0NoaXBzRm9jdXMoKXt0aGlzLl9jaGlwRm9jdXNTdWJzY3JpcHRpb249dGhpcy5jaGlwRm9jdXNDaGFuZ2VzLnN1YnNjcmliZSgodD0+e2xldCBlPXRoaXMuY2hpcHMudG9BcnJheSgpLmluZGV4T2YodC5jaGlwKTt0aGlzLl9pc1ZhbGlkSW5kZXgoZSkmJnRoaXMuX2tleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShlKSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9KSksdGhpcy5fY2hpcEJsdXJTdWJzY3JpcHRpb249dGhpcy5jaGlwQmx1ckNoYW5nZXMuc3Vic2NyaWJlKCgoKT0+e3RoaXMuX2JsdXIoKSx0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCl9KSl9X2xpc3RlblRvQ2hpcHNSZW1vdmVkKCl7dGhpcy5fY2hpcFJlbW92ZVN1YnNjcmlwdGlvbj10aGlzLmNoaXBSZW1vdmVDaGFuZ2VzLnN1YnNjcmliZSgodD0+e2NvbnN0IGU9dC5jaGlwLG49dGhpcy5jaGlwcy50b0FycmF5KCkuaW5kZXhPZih0LmNoaXApO3RoaXMuX2lzVmFsaWRJbmRleChuKSYmZS5faGFzRm9jdXMmJih0aGlzLl9sYXN0RGVzdHJveWVkQ2hpcEluZGV4PW4pfSkpfV9vcmlnaW5hdGVzRnJvbUNoaXAodCl7bGV0IGU9dC50YXJnZXQ7Zm9yKDtlJiZlIT09dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Oyl7aWYoZS5jbGFzc0xpc3QuY29udGFpbnMoIm1hdC1jaGlwIikpcmV0dXJuITA7ZT1lLnBhcmVudEVsZW1lbnR9cmV0dXJuITF9X2hhc0ZvY3VzZWRDaGlwKCl7cmV0dXJuIHRoaXMuY2hpcHMmJnRoaXMuY2hpcHMuc29tZSgodD0+dC5faGFzRm9jdXMpKX1fc3luY0NoaXBzU3RhdGUoKXt0aGlzLmNoaXBzJiZ0aGlzLmNoaXBzLmZvckVhY2goKHQ9Pnt0Ll9jaGlwTGlzdERpc2FibGVkPXRoaXMuX2Rpc2FibGVkLHQuX2NoaXBMaXN0TXVsdGlwbGU9dGhpcy5tdWx0aXBsZX0pKX19SHh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxIeHQpKGdmKEtoKSxnZihPYiksZ2YodkYsOCksZ2YoWFcsOCksZ2YoaEcsOCksZ2YobkwpLGdmKGxXLDEwKSl9LEh4dC7JtWNtcD1zbyh7dHlwZTpIeHQsc2VsZWN0b3JzOltbIm1hdC1jaGlwLWxpc3QiXV0sY29udGVudFF1ZXJpZXM6ZnVuY3Rpb24gdChlLG4sbyl7aWYoMSZlJiZqeShvLEV4dCw1KSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLmNoaXBzPXQpfX0saG9zdEF0dHJzOlsxLCJtYXQtY2hpcC1saXN0Il0saG9zdFZhcnM6MTUsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJmb2N1cyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5mb2N1cygpfSkpKCJibHVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9ibHVyKCl9KSkoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9rZXlkb3duKGUpfSkpLDImZSYmKGNnKCJpZCIsbi5fdWlkKSx5bSgidGFiaW5kZXgiLG4uZGlzYWJsZWQ/bnVsbDpuLl90YWJJbmRleCkoImFyaWEtZGVzY3JpYmVkYnkiLG4uX2FyaWFEZXNjcmliZWRieXx8bnVsbCkoImFyaWEtcmVxdWlyZWQiLG4ucm9sZT9uLnJlcXVpcmVkOm51bGwpKCJhcmlhLWRpc2FibGVkIixuLmRpc2FibGVkLnRvU3RyaW5nKCkpKCJhcmlhLWludmFsaWQiLG4uZXJyb3JTdGF0ZSkoImFyaWEtbXVsdGlzZWxlY3RhYmxlIixuLm11bHRpcGxlKSgicm9sZSIsbi5yb2xlKSgiYXJpYS1vcmllbnRhdGlvbiIsbi5hcmlhT3JpZW50YXRpb24pLGN1KCJtYXQtY2hpcC1saXN0LWRpc2FibGVkIixuLmRpc2FibGVkKSgibWF0LWNoaXAtbGlzdC1pbnZhbGlkIixuLmVycm9yU3RhdGUpKCJtYXQtY2hpcC1saXN0LXJlcXVpcmVkIixuLnJlcXVpcmVkKSl9LGlucHV0czp7YXJpYU9yaWVudGF0aW9uOlsiYXJpYS1vcmllbnRhdGlvbiIsImFyaWFPcmllbnRhdGlvbiJdLG11bHRpcGxlOiJtdWx0aXBsZSIsY29tcGFyZVdpdGg6ImNvbXBhcmVXaXRoIix2YWx1ZToidmFsdWUiLHJlcXVpcmVkOiJyZXF1aXJlZCIscGxhY2Vob2xkZXI6InBsYWNlaG9sZGVyIixkaXNhYmxlZDoiZGlzYWJsZWQiLHNlbGVjdGFibGU6InNlbGVjdGFibGUiLHRhYkluZGV4OiJ0YWJJbmRleCIsZXJyb3JTdGF0ZU1hdGNoZXI6ImVycm9yU3RhdGVNYXRjaGVyIn0sb3V0cHV0czp7Y2hhbmdlOiJjaGFuZ2UiLHZhbHVlQ2hhbmdlOiJ2YWx1ZUNoYW5nZSJ9LGV4cG9ydEFzOlsibWF0Q2hpcExpc3QiXSxmZWF0dXJlczpbamgoW3twcm92aWRlOmlVLHVzZUV4aXN0aW5nOkh4dH1dKSxRcF0sbmdDb250ZW50U2VsZWN0b3JzOlsiKiJdLGRlY2xzOjIsdmFyczowLGNvbnN0czpbWzEsIm1hdC1jaGlwLWxpc3Qtd3JhcHBlciJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoSGYoKSxDZigwLCJkaXYiLDApLEZmKDEpLE1mKCkpfSxzdHlsZXM6WycubWF0LWNoaXB7cG9zaXRpb246cmVsYXRpdmU7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3JkZXI6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0ubWF0LXN0YW5kYXJkLWNoaXB7dHJhbnNpdGlvbjpib3gtc2hhZG93IDI4MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7ZGlzcGxheTppbmxpbmUtZmxleDtwYWRkaW5nOjdweCAxMnB4O2JvcmRlci1yYWRpdXM6MTZweDthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOmRlZmF1bHQ7bWluLWhlaWdodDozMnB4O2hlaWdodDoxcHh9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm1hdC1zdGFuZGFyZC1jaGlwe3RyYW5zaXRpb246bm9uZTthbmltYXRpb246bm9uZX0ubWF0LXN0YW5kYXJkLWNoaXAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbnt3aWR0aDoxOHB4O2hlaWdodDoxOHB4fS5tYXQtc3RhbmRhcmQtY2hpcDo6YWZ0ZXJ7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czppbmhlcml0O29wYWNpdHk6MDtjb250ZW50OiIiO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5IDIwMG1zIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKX0ubWF0LXN0YW5kYXJkLWNoaXA6aG92ZXI6OmFmdGVye29wYWNpdHk6LjEyfS5tYXQtc3RhbmRhcmQtY2hpcDpmb2N1c3tvdXRsaW5lOm5vbmV9Lm1hdC1zdGFuZGFyZC1jaGlwOmZvY3VzOjphZnRlcntvcGFjaXR5Oi4xNn0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc3RhbmRhcmQtY2hpcHtvdXRsaW5lOnNvbGlkIDFweH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc3RhbmRhcmQtY2hpcDpmb2N1c3tvdXRsaW5lOmRvdHRlZCAycHh9Lm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLWRpc2FibGVkOjphZnRlcntvcGFjaXR5OjB9Lm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLWRpc2FibGVkIC5tYXQtY2hpcC1yZW1vdmUsLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLWRpc2FibGVkIC5tYXQtY2hpcC10cmFpbGluZy1pY29ue2N1cnNvcjpkZWZhdWx0fS5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC13aXRoLXRyYWlsaW5nLWljb24ubWF0LWNoaXAtd2l0aC1hdmF0YXIsLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXdpdGgtYXZhdGFye3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206MH0ubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtd2l0aC10cmFpbGluZy1pY29uLm1hdC1jaGlwLXdpdGgtYXZhdGFye3BhZGRpbmctcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDowfVtkaXI9cnRsXSAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtd2l0aC10cmFpbGluZy1pY29uLm1hdC1jaGlwLXdpdGgtYXZhdGFye3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDowfS5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC13aXRoLXRyYWlsaW5nLWljb257cGFkZGluZy10b3A6N3B4O3BhZGRpbmctYm90dG9tOjdweDtwYWRkaW5nLXJpZ2h0OjhweDtwYWRkaW5nLWxlZnQ6MTJweH1bZGlyPXJ0bF0gLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXdpdGgtdHJhaWxpbmctaWNvbntwYWRkaW5nLWxlZnQ6OHB4O3BhZGRpbmctcmlnaHQ6MTJweH0ubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtd2l0aC1hdmF0YXJ7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDoxMnB4fVtkaXI9cnRsXSAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtd2l0aC1hdmF0YXJ7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDoxMnB4fS5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtYXZhdGFye3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDo0cHh9W2Rpcj1ydGxdIC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtYXZhdGFye21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6NHB4fS5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtdHJhaWxpbmctaWNvbnt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2N1cnNvcjpwb2ludGVyfS5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtdHJhaWxpbmctaWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjB9W2Rpcj1ydGxdIC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLFtkaXI9cnRsXSAubWF0LXN0YW5kYXJkLWNoaXAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDowfS5tYXQtY2hpcC1yaXBwbGV7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOmluaGVyaXQ7b3ZlcmZsb3c6aGlkZGVufS5tYXQtY2hpcC1saXN0LXdyYXBwZXJ7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LXdyYXA6d3JhcDthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOi00cHh9Lm1hdC1jaGlwLWxpc3Qtd3JhcHBlciBpbnB1dC5tYXQtaW5wdXQtZWxlbWVudCwubWF0LWNoaXAtbGlzdC13cmFwcGVyIC5tYXQtc3RhbmRhcmQtY2hpcHttYXJnaW46NHB4fS5tYXQtY2hpcC1saXN0LXN0YWNrZWQgLm1hdC1jaGlwLWxpc3Qtd3JhcHBlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ubWF0LWNoaXAtbGlzdC1zdGFja2VkIC5tYXQtY2hpcC1saXN0LXdyYXBwZXIgLm1hdC1zdGFuZGFyZC1jaGlwe3dpZHRoOjEwMCV9Lm1hdC1jaGlwLWF2YXRhcntib3JkZXItcmFkaXVzOjUwJTtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVuO29iamVjdC1maXQ6Y292ZXJ9aW5wdXQubWF0LWNoaXAtaW5wdXR7d2lkdGg6MTUwcHg7bWFyZ2luOjRweDtmbGV4OjEgMCAxNTBweH1cbiddLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLEh4dC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpPYn0se3R5cGU6dkYsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6WFcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6aEcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9XX0se3R5cGU6bkx9LHt0eXBlOmxXLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpWcn1dfV0sSHh0LnByb3BEZWNvcmF0b3JzPXtlcnJvclN0YXRlTWF0Y2hlcjpbe3R5cGU6Ul99XSxtdWx0aXBsZTpbe3R5cGU6Ul99XSxjb21wYXJlV2l0aDpbe3R5cGU6Ul99XSx2YWx1ZTpbe3R5cGU6Ul99XSxyZXF1aXJlZDpbe3R5cGU6Ul99XSxwbGFjZWhvbGRlcjpbe3R5cGU6Ul99XSxkaXNhYmxlZDpbe3R5cGU6Ul99XSxhcmlhT3JpZW50YXRpb246W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLW9yaWVudGF0aW9uIl19XSxzZWxlY3RhYmxlOlt7dHlwZTpSX31dLHRhYkluZGV4Olt7dHlwZTpSX31dLGNoYW5nZTpbe3R5cGU6RV99XSx2YWx1ZUNoYW5nZTpbe3R5cGU6RV99XSxjaGlwczpbe3R5cGU6b3IsYXJnczpbRXh0LHtkZXNjZW5kYW50czohMH1dfV19LCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSHh0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im1hdC1jaGlwLWxpc3QiLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJtYXQtY2hpcC1saXN0LXdyYXBwZXIiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Rpdj4nLGV4cG9ydEFzOiJtYXRDaGlwTGlzdCIsaG9zdDp7IlthdHRyLnRhYmluZGV4XSI6ImRpc2FibGVkID8gbnVsbCA6IF90YWJJbmRleCIsIlthdHRyLmFyaWEtZGVzY3JpYmVkYnldIjoiX2FyaWFEZXNjcmliZWRieSB8fCBudWxsIiwiW2F0dHIuYXJpYS1yZXF1aXJlZF0iOiJyb2xlID8gcmVxdWlyZWQgOiBudWxsIiwiW2F0dHIuYXJpYS1kaXNhYmxlZF0iOiJkaXNhYmxlZC50b1N0cmluZygpIiwiW2F0dHIuYXJpYS1pbnZhbGlkXSI6ImVycm9yU3RhdGUiLCJbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV0iOiJtdWx0aXBsZSIsIlthdHRyLnJvbGVdIjoicm9sZSIsIltjbGFzcy5tYXQtY2hpcC1saXN0LWRpc2FibGVkXSI6ImRpc2FibGVkIiwiW2NsYXNzLm1hdC1jaGlwLWxpc3QtaW52YWxpZF0iOiJlcnJvclN0YXRlIiwiW2NsYXNzLm1hdC1jaGlwLWxpc3QtcmVxdWlyZWRdIjoicmVxdWlyZWQiLCJbYXR0ci5hcmlhLW9yaWVudGF0aW9uXSI6ImFyaWFPcmllbnRhdGlvbiIsY2xhc3M6Im1hdC1jaGlwLWxpc3QiLCIoZm9jdXMpIjoiZm9jdXMoKSIsIihibHVyKSI6Il9ibHVyKCkiLCIoa2V5ZG93bikiOiJfa2V5ZG93bigkZXZlbnQpIiwiW2lkXSI6Il91aWQifSxwcm92aWRlcnM6W3twcm92aWRlOmlVLHVzZUV4aXN0aW5nOkh4dH1dLGVuY2Fwc3VsYXRpb246V24uTm9uZSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNoLHN0eWxlczpbJy5tYXQtY2hpcHtwb3NpdGlvbjpyZWxhdGl2ZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JvcmRlcjpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5tYXQtc3RhbmRhcmQtY2hpcHt0cmFuc2l0aW9uOmJveC1zaGFkb3cgMjgwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtkaXNwbGF5OmlubGluZS1mbGV4O3BhZGRpbmc6N3B4IDEycHg7Ym9yZGVyLXJhZGl1czoxNnB4O2FsaWduLWl0ZW1zOmNlbnRlcjtjdXJzb3I6ZGVmYXVsdDttaW4taGVpZ2h0OjMycHg7aGVpZ2h0OjFweH0uX21hdC1hbmltYXRpb24tbm9vcGFibGUubWF0LXN0YW5kYXJkLWNoaXB7dHJhbnNpdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29ue3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9Lm1hdC1zdGFuZGFyZC1jaGlwOjphZnRlcnt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOmluaGVyaXQ7b3BhY2l0eTowO2NvbnRlbnQ6IiI7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHkgMjAwbXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpfS5tYXQtc3RhbmRhcmQtY2hpcDpob3Zlcjo6YWZ0ZXJ7b3BhY2l0eTouMTJ9Lm1hdC1zdGFuZGFyZC1jaGlwOmZvY3Vze291dGxpbmU6bm9uZX0ubWF0LXN0YW5kYXJkLWNoaXA6Zm9jdXM6OmFmdGVye29wYWNpdHk6LjE2fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zdGFuZGFyZC1jaGlwe291dGxpbmU6c29saWQgMXB4fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zdGFuZGFyZC1jaGlwOmZvY3Vze291dGxpbmU6ZG90dGVkIDJweH0ubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtZGlzYWJsZWQ6OmFmdGVye29wYWNpdHk6MH0ubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtZGlzYWJsZWQgLm1hdC1jaGlwLXJlbW92ZSwubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtZGlzYWJsZWQgLm1hdC1jaGlwLXRyYWlsaW5nLWljb257Y3Vyc29yOmRlZmF1bHR9Lm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXdpdGgtdHJhaWxpbmctaWNvbi5tYXQtY2hpcC13aXRoLWF2YXRhciwubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtd2l0aC1hdmF0YXJ7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowfS5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC13aXRoLXRyYWlsaW5nLWljb24ubWF0LWNoaXAtd2l0aC1hdmF0YXJ7cGFkZGluZy1yaWdodDo4cHg7cGFkZGluZy1sZWZ0OjB9W2Rpcj1ydGxdIC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC13aXRoLXRyYWlsaW5nLWljb24ubWF0LWNoaXAtd2l0aC1hdmF0YXJ7cGFkZGluZy1sZWZ0OjhweDtwYWRkaW5nLXJpZ2h0OjB9Lm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXdpdGgtdHJhaWxpbmctaWNvbntwYWRkaW5nLXRvcDo3cHg7cGFkZGluZy1ib3R0b206N3B4O3BhZGRpbmctcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDoxMnB4fVtkaXI9cnRsXSAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtd2l0aC10cmFpbGluZy1pY29ue3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDoxMnB4fS5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC13aXRoLWF2YXRhcntwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjEycHh9W2Rpcj1ydGxdIC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC13aXRoLWF2YXRhcntwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjEycHh9Lm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1hdmF0YXJ7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0OjRweH1bZGlyPXJ0bF0gLm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1hdmF0YXJ7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDo0cHh9Lm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1yZW1vdmUsLm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC10cmFpbGluZy1pY29ue3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Y3Vyc29yOnBvaW50ZXJ9Lm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1yZW1vdmUsLm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC10cmFpbGluZy1pY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MH1bZGlyPXJ0bF0gLm1hdC1zdGFuZGFyZC1jaGlwIC5tYXQtY2hpcC1yZW1vdmUsW2Rpcj1ydGxdIC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtdHJhaWxpbmctaWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0OjB9Lm1hdC1jaGlwLXJpcHBsZXt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtvdmVyZmxvdzpoaWRkZW59Lm1hdC1jaGlwLWxpc3Qtd3JhcHBlcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46LTRweH0ubWF0LWNoaXAtbGlzdC13cmFwcGVyIGlucHV0Lm1hdC1pbnB1dC1lbGVtZW50LC5tYXQtY2hpcC1saXN0LXdyYXBwZXIgLm1hdC1zdGFuZGFyZC1jaGlwe21hcmdpbjo0cHh9Lm1hdC1jaGlwLWxpc3Qtc3RhY2tlZCAubWF0LWNoaXAtbGlzdC13cmFwcGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5tYXQtY2hpcC1saXN0LXN0YWNrZWQgLm1hdC1jaGlwLWxpc3Qtd3JhcHBlciAubWF0LXN0YW5kYXJkLWNoaXB7d2lkdGg6MTAwJX0ubWF0LWNoaXAtYXZhdGFye2JvcmRlci1yYWRpdXM6NTAlO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzpoaWRkZW47b2JqZWN0LWZpdDpjb3Zlcn1pbnB1dC5tYXQtY2hpcC1pbnB1dHt3aWR0aDoxNTBweDttYXJnaW46NHB4O2ZsZXg6MSAwIDE1MHB4fVxuJ119XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6T2J9LHt0eXBlOnZGLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOlhXLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOmhHLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19LHt0eXBlOm5MfSx7dHlwZTpsVyxkZWNvcmF0b3JzOlt7dHlwZTpCcn0se3R5cGU6VnJ9XX1dfSkse2FyaWFPcmllbnRhdGlvbjpbe3R5cGU6Ul8sYXJnczpbImFyaWEtb3JpZW50YXRpb24iXX1dLGNoYW5nZTpbe3R5cGU6RV99XSx2YWx1ZUNoYW5nZTpbe3R5cGU6RV99XSxtdWx0aXBsZTpbe3R5cGU6Ul99XSxjb21wYXJlV2l0aDpbe3R5cGU6Ul99XSx2YWx1ZTpbe3R5cGU6Ul99XSxyZXF1aXJlZDpbe3R5cGU6Ul99XSxwbGFjZWhvbGRlcjpbe3R5cGU6Ul99XSxkaXNhYmxlZDpbe3R5cGU6Ul99XSxzZWxlY3RhYmxlOlt7dHlwZTpSX31dLHRhYkluZGV4Olt7dHlwZTpSX31dLGVycm9yU3RhdGVNYXRjaGVyOlt7dHlwZTpSX31dLGNoaXBzOlt7dHlwZTpvcixhcmdzOltFeHQse2Rlc2NlbmRhbnRzOiEwfV19XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KbGV0IEZ4dD0wO2NsYXNzIEx4dHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuX2VsZW1lbnRSZWY9dCx0aGlzLl9kZWZhdWx0T3B0aW9ucz1lLHRoaXMuZm9jdXNlZD0hMSx0aGlzLl9hZGRPbkJsdXI9ITEsdGhpcy5zZXBhcmF0b3JLZXlDb2Rlcz10aGlzLl9kZWZhdWx0T3B0aW9ucy5zZXBhcmF0b3JLZXlDb2Rlcyx0aGlzLmNoaXBFbmQ9bmV3IFN5LHRoaXMucGxhY2Vob2xkZXI9IiIsdGhpcy5pZD0ibWF0LWNoaXAtbGlzdC1pbnB1dC0iK0Z4dCsrLHRoaXMuX2Rpc2FibGVkPSExLHRoaXMuaW5wdXRFbGVtZW50PXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudH1zZXQgY2hpcExpc3QodCl7dCYmKHRoaXMuX2NoaXBMaXN0PXQsdGhpcy5fY2hpcExpc3QucmVnaXN0ZXJJbnB1dCh0aGlzKSl9Z2V0IGFkZE9uQmx1cigpe3JldHVybiB0aGlzLl9hZGRPbkJsdXJ9c2V0IGFkZE9uQmx1cih0KXt0aGlzLl9hZGRPbkJsdXI9ZUgodCl9Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuX2Rpc2FibGVkfHx0aGlzLl9jaGlwTGlzdCYmdGhpcy5fY2hpcExpc3QuZGlzYWJsZWR9c2V0IGRpc2FibGVkKHQpe3RoaXMuX2Rpc2FibGVkPWVIKHQpfWdldCBlbXB0eSgpe3JldHVybiF0aGlzLmlucHV0RWxlbWVudC52YWx1ZX1uZ09uQ2hhbmdlcygpe3RoaXMuX2NoaXBMaXN0LnN0YXRlQ2hhbmdlcy5uZXh0KCl9bmdPbkRlc3Ryb3koKXt0aGlzLmNoaXBFbmQuY29tcGxldGUoKX1uZ0FmdGVyQ29udGVudEluaXQoKXt0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2U9dGhpcy5lbXB0eX1fa2V5ZG93bih0KXtpZih0KXtpZig5IT09dC5rZXlDb2RlfHx0SCh0LCJzaGlmdEtleSIpfHx0aGlzLl9jaGlwTGlzdC5fYWxsb3dGb2N1c0VzY2FwZSgpLDg9PT10LmtleUNvZGUmJnRoaXMuX2ZvY3VzTGFzdENoaXBPbkJhY2tzcGFjZSlyZXR1cm4gdGhpcy5fY2hpcExpc3QuX2tleU1hbmFnZXIuc2V0TGFzdEl0ZW1BY3RpdmUoKSx2b2lkIHQucHJldmVudERlZmF1bHQoKTt0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2U9ITF9dGhpcy5fZW1pdENoaXBFbmQodCl9X2tleXVwKHQpeyF0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2UmJjg9PT10LmtleUNvZGUmJnRoaXMuZW1wdHkmJih0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2U9ITAsdC5wcmV2ZW50RGVmYXVsdCgpKX1fYmx1cigpe3RoaXMuYWRkT25CbHVyJiZ0aGlzLl9lbWl0Q2hpcEVuZCgpLHRoaXMuZm9jdXNlZD0hMSx0aGlzLl9jaGlwTGlzdC5mb2N1c2VkfHx0aGlzLl9jaGlwTGlzdC5fYmx1cigpLHRoaXMuX2NoaXBMaXN0LnN0YXRlQ2hhbmdlcy5uZXh0KCl9X2ZvY3VzKCl7dGhpcy5mb2N1c2VkPSEwLHRoaXMuX2ZvY3VzTGFzdENoaXBPbkJhY2tzcGFjZT10aGlzLmVtcHR5LHRoaXMuX2NoaXBMaXN0LnN0YXRlQ2hhbmdlcy5uZXh0KCl9X2VtaXRDaGlwRW5kKHQpeyF0aGlzLmlucHV0RWxlbWVudC52YWx1ZSYmdCYmdGhpcy5fY2hpcExpc3QuX2tleWRvd24odCksdCYmIXRoaXMuX2lzU2VwYXJhdG9yS2V5KHQpfHwodGhpcy5jaGlwRW5kLmVtaXQoe2lucHV0OnRoaXMuaW5wdXRFbGVtZW50LHZhbHVlOnRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLGNoaXBJbnB1dDp0aGlzfSksbnVsbD09dHx8dC5wcmV2ZW50RGVmYXVsdCgpKX1fb25JbnB1dCgpe3RoaXMuX2NoaXBMaXN0LnN0YXRlQ2hhbmdlcy5uZXh0KCl9Zm9jdXModCl7dGhpcy5pbnB1dEVsZW1lbnQuZm9jdXModCl9Y2xlYXIoKXt0aGlzLmlucHV0RWxlbWVudC52YWx1ZT0iIix0aGlzLl9mb2N1c0xhc3RDaGlwT25CYWNrc3BhY2U9ITB9X2lzU2VwYXJhdG9yS2V5KHQpe3JldHVybiF0SCh0KSYmbmV3IFNldCh0aGlzLnNlcGFyYXRvcktleUNvZGVzKS5oYXModC5rZXlDb2RlKX19THh0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxMeHQpKGdmKEtoKSxnZihUeHQpKX0sTHh0Lsm1ZGlyPWhvKHt0eXBlOkx4dCxzZWxlY3RvcnM6W1siaW5wdXQiLCJtYXRDaGlwSW5wdXRGb3IiLCIiXV0saG9zdEF0dHJzOlsxLCJtYXQtY2hpcC1pbnB1dCIsIm1hdC1pbnB1dC1lbGVtZW50Il0saG9zdFZhcnM6NSxob3N0QmluZGluZ3M6ZnVuY3Rpb24gdChlLG4pezEmZSYmUmYoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9rZXlkb3duKGUpfSkpKCJrZXl1cCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX2tleXVwKGUpfSkpKCJibHVyIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9ibHVyKCl9KSkoImZvY3VzIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9mb2N1cygpfSkpKCJpbnB1dCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5fb25JbnB1dCgpfSkpLDImZSYmKGNnKCJpZCIsbi5pZCkseW0oImRpc2FibGVkIixuLmRpc2FibGVkfHxudWxsKSgicGxhY2Vob2xkZXIiLG4ucGxhY2Vob2xkZXJ8fG51bGwpKCJhcmlhLWludmFsaWQiLG4uX2NoaXBMaXN0JiZuLl9jaGlwTGlzdC5uZ0NvbnRyb2w/bi5fY2hpcExpc3QubmdDb250cm9sLmludmFsaWQ6bnVsbCkoImFyaWEtcmVxdWlyZWQiLG4uX2NoaXBMaXN0JiZuLl9jaGlwTGlzdC5yZXF1aXJlZHx8bnVsbCkpfSxpbnB1dHM6e3NlcGFyYXRvcktleUNvZGVzOlsibWF0Q2hpcElucHV0U2VwYXJhdG9yS2V5Q29kZXMiLCJzZXBhcmF0b3JLZXlDb2RlcyJdLHBsYWNlaG9sZGVyOiJwbGFjZWhvbGRlciIsaWQ6ImlkIixjaGlwTGlzdDpbIm1hdENoaXBJbnB1dEZvciIsImNoaXBMaXN0Il0sYWRkT25CbHVyOlsibWF0Q2hpcElucHV0QWRkT25CbHVyIiwiYWRkT25CbHVyIl0sZGlzYWJsZWQ6ImRpc2FibGVkIn0sb3V0cHV0czp7Y2hpcEVuZDoibWF0Q2hpcElucHV0VG9rZW5FbmQifSxleHBvcnRBczpbIm1hdENoaXBJbnB1dCIsIm1hdENoaXBJbnB1dEZvciJdLGZlYXR1cmVzOltxb119KSxMeHQuY3RvclBhcmFtZXRlcnM9KCk9Plt7dHlwZTpLaH0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W1R4dF19XX1dLEx4dC5wcm9wRGVjb3JhdG9ycz17Y2hpcExpc3Q6W3t0eXBlOlJfLGFyZ3M6WyJtYXRDaGlwSW5wdXRGb3IiXX1dLGFkZE9uQmx1cjpbe3R5cGU6Ul8sYXJnczpbIm1hdENoaXBJbnB1dEFkZE9uQmx1ciJdfV0sc2VwYXJhdG9yS2V5Q29kZXM6W3t0eXBlOlJfLGFyZ3M6WyJtYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2RlcyJdfV0sY2hpcEVuZDpbe3R5cGU6RV8sYXJnczpbIm1hdENoaXBJbnB1dFRva2VuRW5kIl19XSxwbGFjZWhvbGRlcjpbe3R5cGU6Ul99XSxpZDpbe3R5cGU6Ul99XSxkaXNhYmxlZDpbe3R5cGU6Ul99XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihMeHQsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoiaW5wdXRbbWF0Q2hpcElucHV0Rm9yXSIsZXhwb3J0QXM6Im1hdENoaXBJbnB1dCwgbWF0Q2hpcElucHV0Rm9yIixob3N0OntjbGFzczoibWF0LWNoaXAtaW5wdXQgbWF0LWlucHV0LWVsZW1lbnQiLCIoa2V5ZG93bikiOiJfa2V5ZG93bigkZXZlbnQpIiwiKGtleXVwKSI6Il9rZXl1cCgkZXZlbnQpIiwiKGJsdXIpIjoiX2JsdXIoKSIsIihmb2N1cykiOiJfZm9jdXMoKSIsIihpbnB1dCkiOiJfb25JbnB1dCgpIiwiW2lkXSI6ImlkIiwiW2F0dHIuZGlzYWJsZWRdIjoiZGlzYWJsZWQgfHwgbnVsbCIsIlthdHRyLnBsYWNlaG9sZGVyXSI6InBsYWNlaG9sZGVyIHx8IG51bGwiLCJbYXR0ci5hcmlhLWludmFsaWRdIjoiX2NoaXBMaXN0ICYmIF9jaGlwTGlzdC5uZ0NvbnRyb2wgPyBfY2hpcExpc3QubmdDb250cm9sLmludmFsaWQgOiBudWxsIiwiW2F0dHIuYXJpYS1yZXF1aXJlZF0iOiJfY2hpcExpc3QgJiYgX2NoaXBMaXN0LnJlcXVpcmVkIHx8IG51bGwifX1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOktofSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbVHh0XX1dfV19KSx7c2VwYXJhdG9yS2V5Q29kZXM6W3t0eXBlOlJfLGFyZ3M6WyJtYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2RlcyJdfV0sY2hpcEVuZDpbe3R5cGU6RV8sYXJnczpbIm1hdENoaXBJbnB1dFRva2VuRW5kIl19XSxwbGFjZWhvbGRlcjpbe3R5cGU6Ul99XSxpZDpbe3R5cGU6Ul99XSxjaGlwTGlzdDpbe3R5cGU6Ul8sYXJnczpbIm1hdENoaXBJbnB1dEZvciJdfV0sYWRkT25CbHVyOlt7dHlwZTpSXyxhcmdzOlsibWF0Q2hpcElucHV0QWRkT25CbHVyIl19XSxkaXNhYmxlZDpbe3R5cGU6Ul99XX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KY29uc3QgQnh0PVtIeHQsRXh0LEx4dCxBeHQsRHh0LFJ4dF0sVnh0PXtzZXBhcmF0b3JLZXlDb2RlczpbWEldfTtjbGFzcyBqeHR7fWp4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8anh0KX0sanh0Lsm1bW9kPWZvKHt0eXBlOmp4dH0pLGp4dC7JtWluaj1Ebih7cHJvdmlkZXJzOltuTCx7cHJvdmlkZTpUeHQsdXNlVmFsdWU6Vnh0fV0saW1wb3J0czpbW05GXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGp4dCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W05GXSxleHBvcnRzOkJ4dCxkZWNsYXJhdGlvbnM6Qnh0LHByb3ZpZGVyczpbbkwse3Byb3ZpZGU6VHh0LHVzZVZhbHVlOlZ4dH1dfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oanh0LHtkZWNsYXJhdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm5bSHh0LEV4dCxMeHQsQXh0LER4dCxSeHRdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW05GXX0sZXhwb3J0czpmdW5jdGlvbigpe3JldHVybltIeHQsRXh0LEx4dCxBeHQsRHh0LFJ4dF19fSk7Y29uc3QgVXh0PWZ1bmN0aW9uKHQsZSl7cmV0dXJueyJlbWJlZGRpbmctc2VsZWN0ZWQiOnQsImVtYmVkZGluZy11bnNlbGVjdGVkIjplfX07ZnVuY3Rpb24gV3h0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibWF0LWljb24iLDUpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtjb25zdCBuPXpmKCk7cmV0dXJuIG4ub25TZWxlY3QuZW1pdChuLm1ldHJpYyl9KSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9emYoKTtiZigibmdDbGFzcyIsYXkoMSxVeHQsdC5lbWJlZGRpbmdzTWV0cmljPT09dC5tZXRyaWMsdC5lbWJlZGRpbmdzTWV0cmljIT09dC5tZXRyaWMpKX19Y29uc3QgR3h0PWZ1bmN0aW9uKHQpe3JldHVybnt3aWR0aDp0fX0sWXh0PWZ1bmN0aW9uKHQpe3JldHVybnsidmFsdWUtaW52YWxpZCI6dH19O2NsYXNzIHF4dHtjb25zdHJ1Y3Rvcigpe3RoaXMub25SZW1vdmU9bmV3IFN5LHRoaXMub25TZWxlY3Q9bmV3IFN5LHRoaXMub25GaWx0ZXJDaGFuZ2U9bmV3IFN5LHRoaXMuZm9jdXNNaW49ITEsdGhpcy5mb2N1c01heD0hMSx0aGlzLm5nVW5zdWJzY3JpYmU9bmV3IEJ9bmdPbkluaXQoKXt0aGlzLm1pbkZvcm1Db250cm9sPW5ldyBXVyh0aGlzLmZpbHRlclZhbHVlcy5taW4sW05VLnJlcXVpcmVkLE5VLm1pbigtMSksTlUubWF4KDEpLHRoaXMubWluVmFsdWVWYWxpZGF0b3IuYmluZCh0aGlzKV0pLHRoaXMubWF4Rm9ybUNvbnRyb2w9bmV3IFdXKHRoaXMuZmlsdGVyVmFsdWVzLm1heCxbTlUucmVxdWlyZWQsTlUubWluKC0xKSxOVS5tYXgoMSksdGhpcy5tYXhWYWx1ZVZhbGlkYXRvci5iaW5kKHRoaXMpXSksdGhpcy5taW5Gb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShqZSh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCgpPT57dGhpcy5taW5Gb3JtQ29udHJvbC52YWxpZCYmdGhpcy5tYXhGb3JtQ29udHJvbC52YWxpZCYmdGhpcy5vbkZpbHRlckNoYW5nZS5lbWl0KHttaW46cGFyc2VGbG9hdCh0aGlzLm1pbkZvcm1Db250cm9sLnZhbHVlKSxtYXg6cGFyc2VGbG9hdCh0aGlzLm1heEZvcm1Db250cm9sLnZhbHVlKX0pfSkpLHRoaXMubWF4Rm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoamUodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgoKT0+e3RoaXMubWluRm9ybUNvbnRyb2wudmFsaWQmJnRoaXMubWF4Rm9ybUNvbnRyb2wudmFsaWQmJnRoaXMub25GaWx0ZXJDaGFuZ2UuZW1pdCh7bWluOnBhcnNlRmxvYXQodGhpcy5taW5Gb3JtQ29udHJvbC52YWx1ZSksbWF4OnBhcnNlRmxvYXQodGhpcy5tYXhGb3JtQ29udHJvbC52YWx1ZSl9KX0pKX1uZ09uQ2hhbmdlcyh0KXt0aGlzLm1pbkZvcm1Db250cm9sJiZ0aGlzLm1heEZvcm1Db250cm9sJiYodGhpcy5taW5Gb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZpbHRlclZhbHVlcy5taW4se2VtaXRFdmVudDohMX0pLHRoaXMubWF4Rm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5maWx0ZXJWYWx1ZXMubWF4LHtlbWl0RXZlbnQ6ITF9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpLHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpfW1pblZhbHVlVmFsaWRhdG9yKHQpe3JldHVybiB0aGlzLm1heEZvcm1Db250cm9sJiYiTmFOIiE9PXQudmFsdWU/aXNOYU4ocGFyc2VGbG9hdCh0LnZhbHVlKSk/e3ZhbHVlOiJ0aGUgc3RyaW5nIHlvdSBlbnRlcmVkIGlzIG5laXRoZXIgTmFOIG5vciBhIG51bWJlciJ9OnBhcnNlRmxvYXQodC52YWx1ZSk+cGFyc2VGbG9hdCh0aGlzLm1heEZvcm1Db250cm9sLnZhbHVlKT97dmFsdWU6InRoZSBudW1iZXIgeW91IGVudGVyZWQgaXMgbGFyZ2VyIHRoYW4gdGhlIG1heCB2YWx1ZSJ9Om51bGw6bnVsbH1tYXhWYWx1ZVZhbGlkYXRvcih0KXtyZXR1cm4gdGhpcy5taW5Gb3JtQ29udHJvbD8iTmFOIj09PXRoaXMubWluRm9ybUNvbnRyb2wudmFsdWUmJiJOYU4iPT09dC52YWx1ZT9udWxsOmlzTmFOKHBhcnNlRmxvYXQodC52YWx1ZSkpP3t2YWx1ZToidGhlIHN0cmluZyB5b3UgZW50ZXJlZCBpcyBuZWl0aGVyIE5hTiBub3IgYSBudW1iZXIifTp0LnZhbHVlPHRoaXMubWluRm9ybUNvbnRyb2wudmFsdWU/e3ZhbHVlOiJ0aGUgbnVtYmVyIHlvdSBlbnRlcmVkIGlzIHNtYWxsZXIgdGhhbiB0aGUgbWluIHZhbHVlIn06bnVsbDpudWxsfWdldEVycm9yRGVzY3JpcHRpb24odCl7aWYodCl7Y29uc3QgZT1PYmplY3Qua2V5cyh0KVswXTtyZXR1cm4icmVxdWlyZWQiPT09ZT8ieW91IGRpZCBub3QgZW50ZXIgYW55dGhpbmciOiJtaW4iPT09ZT8idGhlIG51bWJlciBtdXN0IGJlIGF0IGxlYXN0IC0xLjAiOiJtYXgiPT09ZT8idGhlIG51bWJlciBpcyBiaWdnZXIgdGhhbiAxLjAiOnRbZV19cmV0dXJuIiJ9fXF4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8cXh0KX0scXh0Lsm1Y21wPXNvKHt0eXBlOnF4dCxzZWxlY3RvcnM6W1sibWV0cmljLWFyaXRobWV0aWMtZWxlbWVudC1jb21wb25lbnQiXV0saW5wdXRzOnttZXRyaWM6Im1ldHJpYyIsZmlsdGVyVmFsdWVzOiJmaWx0ZXJWYWx1ZXMiLGhhc0VtYmVkZGluZ3NEYXRhOiJoYXNFbWJlZGRpbmdzRGF0YSIsZW1iZWRkaW5nc01ldHJpYzoiZW1iZWRkaW5nc01ldHJpYyJ9LG91dHB1dHM6e29uUmVtb3ZlOiJvblJlbW92ZSIsb25TZWxlY3Q6Im9uU2VsZWN0IixvbkZpbHRlckNoYW5nZToib25GaWx0ZXJDaGFuZ2UifSxmZWF0dXJlczpbcW9dLGRlY2xzOjEwLHZhcnM6MjIsY29uc3RzOltbMSwiZmlsdGVyLWNoaXAiLDMsInJlbW92ZWQiXSxbImNsYXNzIiwiZW1iZWRkaW5ncy1idXR0b24iLCJzdmdJY29uIiwiZ3JvdXBfd29ya18yNHB4IiwzLCJuZ0NsYXNzIiwiY2xpY2siLDQsIm5nSWYiXSxbMSwibWV0cmljLWFyaXRobWV0aWMtZWxlbWVudC1yYW5nZSIsMywia2V5ZG93biJdLFsibWF0SW5wdXQiLCIiLDEsImlucHV0LWZpZWxkIiwzLCJ2YWx1ZSIsIm1hdFRvb2x0aXAiLCJtYXRUb29sdGlwRGlzYWJsZWQiLCJuZ1N0eWxlIiwibmdDbGFzcyIsImZvcm1Db250cm9sIiwiZm9jdXMiLCJmb2N1c291dCJdLFsibWF0Q2hpcFJlbW92ZSIsIiIsInN2Z0ljb24iLCJjYW5jZWxfMjRweCJdLFsic3ZnSWNvbiIsImdyb3VwX3dvcmtfMjRweCIsMSwiZW1iZWRkaW5ncy1idXR0b24iLDMsIm5nQ2xhc3MiLCJjbGljayJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWF0LWNoaXAiLDApLFJmKCJyZW1vdmVkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUmVtb3ZlLmVtaXQobi5tZXRyaWMpfSkpLEhtKDEsV3h0LDEsNCwibWF0LWljb24iLDEpLFB1KDIpLENmKDMsImRpdiIsMiksUmYoImtleWRvd24iLChmdW5jdGlvbiB0KGUpe3JldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpfSkpLFB1KDQsIiBbICIpLENmKDUsImlucHV0IiwzKSxSZigiZm9jdXMiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uZm9jdXNNaW49ITB9KSkoImZvY3Vzb3V0IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLmZvY3VzTWluPSExfSkpLE1mKCksUHUoNiwiIDsgIiksQ2YoNywiaW5wdXQiLDMpLFJmKCJmb2N1cyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5mb2N1c01heD0hMH0pKSgiZm9jdXNvdXQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4uZm9jdXNNYXg9ITF9KSksTWYoKSxQdSg4LCIgXSAiKSxNZigpLHZmKDksIm1hdC1pY29uIiw0KSxNZigpKSwyJmUmJihEYygxKSxiZigibmdJZiIsbi5oYXNFbWJlZGRpbmdzRGF0YSksRGMoMSksa3UoIiAiLG4ubWV0cmljLCIgIiksRGMoMyksYmYoInZhbHVlIixuLmZpbHRlclZhbHVlcy5taW4pKCJtYXRUb29sdGlwIixuLmdldEVycm9yRGVzY3JpcHRpb24obi5taW5Gb3JtQ29udHJvbC5lcnJvcnMpKSgibWF0VG9vbHRpcERpc2FibGVkIiwhbi5taW5Gb3JtQ29udHJvbC5pbnZhbGlkKSgibmdTdHlsZSIsaXkoMTQsR3h0LG4uZm9jdXNNaW4/IjEwMHB4IjpuLm1pbkZvcm1Db250cm9sLnZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoKyJjaCIpKSgibmdDbGFzcyIsaXkoMTYsWXh0LCFuLm1pbkZvcm1Db250cm9sLnZhbGlkKSkoImZvcm1Db250cm9sIixuLm1pbkZvcm1Db250cm9sKSxEYygyKSxiZigidmFsdWUiLG4uZmlsdGVyVmFsdWVzLm1heCkoIm1hdFRvb2x0aXAiLG4uZ2V0RXJyb3JEZXNjcmlwdGlvbihuLm1heEZvcm1Db250cm9sLmVycm9ycykpKCJtYXRUb29sdGlwRGlzYWJsZWQiLCFuLm1heEZvcm1Db250cm9sLmludmFsaWQpKCJuZ1N0eWxlIixpeSgxOCxHeHQsbi5mb2N1c01heD8iMTAwcHgiOm4ubWF4Rm9ybUNvbnRyb2wudmFsdWUudG9TdHJpbmcoKS5sZW5ndGgrImNoIikpKCJuZ0NsYXNzIixpeSgyMCxZeHQsIW4ubWF4Rm9ybUNvbnRyb2wudmFsaWQpKSgiZm9ybUNvbnRyb2wiLG4ubWF4Rm9ybUNvbnRyb2wpKX0sZGlyZWN0aXZlczpbRXh0LFB2LFNVLEwwLHp2LEN2LG1XLHVHLE1xLEF4dF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9LmZpbHRlci1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O21hcmdpbi1sZWZ0OjVweH0ubWV0cmljLWFyaXRobWV0aWMtZWxlbWVudC1yYW5nZVtfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtmb250LXNpemU6LjhlbTtoZWlnaHQ6MzBweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xpbmUtaGVpZ2h0OjMwcHg7cGFkZGluZzowIDVweDttYXJnaW4tbGVmdDo1cHh9LmlucHV0LWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtmb250LXNpemU6MS4xZW07dHJhbnNpdGlvbjp3aWR0aCAxc30uaW5wdXQtZmllbGRbX25nY29udGVudC0lQ09NUCVdOmZvY3Vze2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMTIpO2JvcmRlcjpub25lO291dGxpbmU6bm9uZX0udmFsdWUtaW52YWxpZFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6I2Y0NDMzNn0uZW1iZWRkaW5nLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtjb2xvcjojZjU3YzAwO29wYWNpdHk6MX0uZW1iZWRkaW5nLXVuc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjR9LmVtYmVkZGluZ3MtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O21hcmdpbi1yaWdodDo4cHg7Y3Vyc29yOnBvaW50ZXJ9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHF4dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtZXRyaWMtYXJpdGhtZXRpYy1lbGVtZW50LWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vbWV0cmljX2FyaXRobWV0aWNfZWxlbWVudF9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9tZXRyaWNfYXJpdGhtZXRpY19lbGVtZW50X2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHttZXRyaWM6W3t0eXBlOlJffV0sZmlsdGVyVmFsdWVzOlt7dHlwZTpSX31dLGhhc0VtYmVkZGluZ3NEYXRhOlt7dHlwZTpSX31dLGVtYmVkZGluZ3NNZXRyaWM6W3t0eXBlOlJffV0sb25SZW1vdmU6W3t0eXBlOkVffV0sb25TZWxlY3Q6W3t0eXBlOkVffV0sb25GaWx0ZXJDaGFuZ2U6W3t0eXBlOkVffV19KTtjbGFzcyBaeHR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuZmlsdGVyVmFsdWVzJD10aGlzLnN0b3JlLnBpcGUoclMoZXh0KSkucGlwZShWdCgodD0+e2NvbnN0IGU9dFt0aGlzLm1ldHJpY107aWYoIWUpcmV0dXJue21pbjotMSxtYXg6MX07cmV0dXJue21pbjplLmluY2x1ZGVOYU4/Ik5hTiI6dGhpcy5yb3VuZFRvVGhyZWVEZWNpbWFsUG9pbnRzKGUubWluKSxtYXg6ZS5tYXg8ZS5taW4/Ik5hTiI6dGhpcy5yb3VuZFRvVGhyZWVEZWNpbWFsUG9pbnRzKGUubWF4KX19KSkpLHRoaXMuaGFzRW1iZWRkaW5nc0RhdGEkPXRoaXMuc3RvcmUucGlwZShyUyhadnQpKS5waXBlKFZ0KCh0PT52b2lkIDAhPT10KSkpLHRoaXMuZW1iZWRkaW5nc01ldHJpYyQ9dGhpcy5zdG9yZS5waXBlKHJTKGR4dCkpfXJlbW92ZSh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKFB2dCh7bWV0cmljOnR9KSl9c2VsZWN0KHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goTnZ0KHttZXRyaWM6dH0pKX1maWx0ZXJDaGFuZ2UodCl7Y29uc3QgZT1pc05hTih0Lm1pbik/LTE6dC5taW4sbj1pc05hTih0Lm1heCk/LTI6dC5tYXgsbz1pc05hTih0Lm1pbik7dGhpcy5zdG9yZS5kaXNwYXRjaCh3dnQoe21ldHJpYzp0aGlzLm1ldHJpYyxtYXg6bixtaW46ZSxpbmNsdWRlTmFOOm99KSl9cm91bmRUb1RocmVlRGVjaW1hbFBvaW50cyh0KXtyZXR1cm4gTWF0aC5yb3VuZCgxZTMqKHQrTnVtYmVyLkVQU0lMT04pKS8xZTN9fVp4dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Wnh0KShnZihpUykpfSxaeHQuybVjbXA9c28oe3R5cGU6Wnh0LHNlbGVjdG9yczpbWyJucG1pLW1ldHJpYy1hcml0aG1ldGljLWVsZW1lbnQiXV0saW5wdXRzOnttZXRyaWM6Im1ldHJpYyJ9LGRlY2xzOjQsdmFyczoxMCxjb25zdHM6W1szLCJtZXRyaWMiLCJmaWx0ZXJWYWx1ZXMiLCJoYXNFbWJlZGRpbmdzRGF0YSIsImVtYmVkZGluZ3NNZXRyaWMiLCJvblJlbW92ZSIsIm9uU2VsZWN0Iiwib25GaWx0ZXJDaGFuZ2UiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsIm1ldHJpYy1hcml0aG1ldGljLWVsZW1lbnQtY29tcG9uZW50IiwwKSxSZigib25SZW1vdmUiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnJlbW92ZShlKX0pKSgib25TZWxlY3QiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnNlbGVjdChlKX0pKSgib25GaWx0ZXJDaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmZpbHRlckNoYW5nZShlKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJtZXRyaWMiLG4ubWV0cmljKSgiZmlsdGVyVmFsdWVzIixDeSgxLDQsbi5maWx0ZXJWYWx1ZXMkKSkoImhhc0VtYmVkZGluZ3NEYXRhIixDeSgyLDYsbi5oYXNFbWJlZGRpbmdzRGF0YSQpKSgiZW1iZWRkaW5nc01ldHJpYyIsQ3koMyw4LG4uZW1iZWRkaW5nc01ldHJpYyQpKX0sZGlyZWN0aXZlczpbcXh0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWnh0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktbWV0cmljLWFyaXRobWV0aWMtZWxlbWVudCIsdGVtcGxhdGU6J1xuICAgIDxtZXRyaWMtYXJpdGhtZXRpYy1lbGVtZW50LWNvbXBvbmVudFxuICAgICAgW21ldHJpY109Im1ldHJpYyJcbiAgICAgIFtmaWx0ZXJWYWx1ZXNdPSJmaWx0ZXJWYWx1ZXMkIHwgYXN5bmMiXG4gICAgICBbaGFzRW1iZWRkaW5nc0RhdGFdPSJoYXNFbWJlZGRpbmdzRGF0YSQgfCBhc3luYyJcbiAgICAgIFtlbWJlZGRpbmdzTWV0cmljXT0iZW1iZWRkaW5nc01ldHJpYyQgfCBhc3luYyJcbiAgICAgIChvblJlbW92ZSk9InJlbW92ZSgkZXZlbnQpIlxuICAgICAgKG9uU2VsZWN0KT0ic2VsZWN0KCRldmVudCkiXG4gICAgICAob25GaWx0ZXJDaGFuZ2UpPSJmaWx0ZXJDaGFuZ2UoJGV2ZW50KSJcbiAgICA+PC9tZXRyaWMtYXJpdGhtZXRpYy1lbGVtZW50LWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLHttZXRyaWM6W3t0eXBlOlJffV19KTtjbGFzcyBYeHR7Y29uc3RydWN0b3IoKXt0aGlzLk9wZXJhdG9yPUJ2dH19ZnVuY3Rpb24gS3h0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJucG1pLW1ldHJpYy1hcml0aG1ldGljLWVsZW1lbnQiLDQpLDImdCl7YmYoIm1ldHJpYyIsemYoKS4kaW1wbGljaXQubWV0cmljKX19ZnVuY3Rpb24gSnh0KHQsZSl7aWYoMSZ0JiZ2ZigwLCJucG1pLW1ldHJpYy1hcml0aG1ldGljLW9wZXJhdG9yIiw1KSwyJnQpe2JmKCJvcGVyYXRvciIsemYoKS4kaW1wbGljaXQub3BlcmF0b3IpfX1mdW5jdGlvbiBReHQodCxlKXtpZigxJnQmJihDZigwLCJkaXYiKSxIbSgxLEt4dCwxLDEsIm5wbWktbWV0cmljLWFyaXRobWV0aWMtZWxlbWVudCIsMiksSG0oMixKeHQsMSwxLCJucG1pLW1ldHJpYy1hcml0aG1ldGljLW9wZXJhdG9yIiwzKSxNZigpKSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigpO0RjKDEpLGJmKCJuZ0lmIix0LmtpbmQ9PT1uLkFyaXRobWV0aWNLaW5kLk1FVFJJQyksRGMoMSksYmYoIm5nSWYiLHQua2luZD09PW4uQXJpdGhtZXRpY0tpbmQuT1BFUkFUT1IpfX1YeHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFh4dCl9LFh4dC7JtWNtcD1zbyh7dHlwZTpYeHQsc2VsZWN0b3JzOltbIm5wbWktbWV0cmljLWFyaXRobWV0aWMtb3BlcmF0b3IiXV0saW5wdXRzOntvcGVyYXRvcjoib3BlcmF0b3IifSxkZWNsczoyLHZhcnM6MSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWF0LWNoaXAiKSxQdSgxKSxNZigpKSwyJmUmJihEYygxKSxrdSgiICIsbi5vcGVyYXRvcj09PW4uT3BlcmF0b3IuQU5EPyImIjoiIiwiICIpKX0sZGlyZWN0aXZlczpbRXh0XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFh4dCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLW1ldHJpYy1hcml0aG1ldGljLW9wZXJhdG9yIix0ZW1wbGF0ZToiXG4gICAgPG1hdC1jaGlwPlxuICAgICAge3sgb3BlcmF0b3IgPT09IE9wZXJhdG9yLkFORCA/ICcmJyA6ICcnIH19XG4gICAgPC9tYXQtY2hpcD5cbiAgIixjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtvcGVyYXRvcjpbe3R5cGU6Ul99XX0pO2NsYXNzICR4dHtjb25zdHJ1Y3Rvcigpe3RoaXMuQXJpdGhtZXRpY0tpbmQ9VnZ0fX0keHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fCR4dCl9LCR4dC7JtWNtcD1zbyh7dHlwZTokeHQsc2VsZWN0b3JzOltbIm1ldHJpYy1hcml0aG1ldGljLWNvbXBvbmVudCJdXSxpbnB1dHM6e21ldHJpY0FyaXRobWV0aWM6Im1ldHJpY0FyaXRobWV0aWMifSxkZWNsczoyLHZhcnM6Mixjb25zdHM6W1szLCJzZWxlY3RhYmxlIl0sWzQsIm5nRm9yIiwibmdGb3JPZiJdLFszLCJtZXRyaWMiLDQsIm5nSWYiXSxbMywib3BlcmF0b3IiLDQsIm5nSWYiXSxbMywibWV0cmljIl0sWzMsIm9wZXJhdG9yIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJtYXQtY2hpcC1saXN0IiwwKSxIbSgxLFF4dCwzLDIsImRpdiIsMSksTWYoKSksMiZlJiYoYmYoInNlbGVjdGFibGUiLCExKSxEYygxKSxiZigibmdGb3JPZiIsbi5tZXRyaWNBcml0aG1ldGljKSl9LGRpcmVjdGl2ZXM6W0h4dCx4dixQdixaeHQsWHh0XSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtd3JhcDp3cmFwfSJdLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYigkeHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWV0cmljLWFyaXRobWV0aWMtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9tZXRyaWNfYXJpdGhtZXRpY19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9tZXRyaWNfYXJpdGhtZXRpY19jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bWV0cmljQXJpdGhtZXRpYzpbe3R5cGU6Ul99XX0pO2NsYXNzIHRPdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5tZXRyaWNBcml0aG1ldGljJD10aGlzLnN0b3JlLnBpcGUoclModHh0KSl9fXRPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dE90KShnZihpUykpfSx0T3QuybVjbXA9c28oe3R5cGU6dE90LHNlbGVjdG9yczpbWyJucG1pLW1ldHJpYy1hcml0aG1ldGljIl1dLGRlY2xzOjIsdmFyczozLGNvbnN0czpbWzMsIm1ldHJpY0FyaXRobWV0aWMiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsIm1ldHJpYy1hcml0aG1ldGljLWNvbXBvbmVudCIsMCksX3koMSwiYXN5bmMiKSksMiZlJiZiZigibWV0cmljQXJpdGhtZXRpYyIsQ3koMSwxLG4ubWV0cmljQXJpdGhtZXRpYyQpKX0sZGlyZWN0aXZlczpbJHh0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodE90LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktbWV0cmljLWFyaXRobWV0aWMiLHRlbXBsYXRlOidcbiAgICA8bWV0cmljLWFyaXRobWV0aWMtY29tcG9uZW50XG4gICAgICBbbWV0cmljQXJpdGhtZXRpY109Im1ldHJpY0FyaXRobWV0aWMkIHwgYXN5bmMiXG4gICAgPjwvbWV0cmljLWFyaXRobWV0aWMtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgZU90e31mdW5jdGlvbiBuT3QodCxlLG4sbyxpLGEpe2NvbnN0IHI9e30scz1uZXcgU2V0KGUpLGw9bmV3IFNldChpLm1hcCgodD0+el90KHQpKSkpLGM9bmV3IFJlZ0V4cChhLCJpIik7cmV0dXJuIE9iamVjdC5lbnRyaWVzKHQpLmZvckVhY2goKHQ9PntpZighYy50ZXN0KHRbMF0pKXJldHVybjtsZXQgZT10WzFdO2U9ZS5maWx0ZXIoKHQ9PnMuaGFzKHQucnVuKSYmbC5oYXModC5tZXRyaWMpKSksKGZ1bmN0aW9uIGkodCxlLG4pe3JldHVybiB0LmV2ZXJ5KCh0PT57aWYodC5raW5kPT09VnZ0Lk9QRVJBVE9SKXJldHVybiEwO2NvbnN0IG89ZVt0Lm1ldHJpY107cmV0dXJuIHZvaWQgMD09PW98fG4uc29tZSgoZT0+ZS5tZXRyaWM9PT16X3QodC5tZXRyaWMpJiYobnVsbD09PWUublBNSVZhbHVlP28uaW5jbHVkZU5hTjplLm5QTUlWYWx1ZTw9by5tYXgmJmUublBNSVZhbHVlPj1vLm1pbikpKX0pKX0pKG4sbyxlKSYmMCE9PWUubGVuZ3RoJiYoclt0WzBdXT1lKX0pKSxyfWZ1bmN0aW9uIG9PdCh0LGUsbil7aWYobilyZXR1cm4gdDtjb25zdCBvPU9iamVjdC5hc3NpZ24oe30sdCk7cmV0dXJuIGUuZm9yRWFjaCgodD0+ZGVsZXRlIG9bdF0pKSxvfWVPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8ZU90KX0sZU90Lsm1Y21wPXNvKHt0eXBlOmVPdCxzZWxlY3RvcnM6W1sibnBtaS1kYXRhLXNlbGVjdGlvbiJdXSxkZWNsczo0LHZhcnM6MCxjb25zdHM6W1sxLCJkYXRhLXNlbGVjdGlvbiJdLFsxLCJtZXRyaWNzLXNlbGVjdG9yIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLHZmKDEsIm5wbWktbWV0cmljLXNlYXJjaCIsMSksdmYoMiwibnBtaS1yZXN1bHRzLWRvd25sb2FkIiksTWYoKSx2ZigzLCJucG1pLW1ldHJpYy1hcml0aG1ldGljIikpfSxkaXJlY3RpdmVzOltDeHQsT3h0LHRPdF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlYmViZWI7cGFkZGluZzoxMHB4IDIwcHh9LmRhdGEtc2VsZWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5tZXRyaWNzLXNlbGVjdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4OjEgMX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoZU90LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktZGF0YS1zZWxlY3Rpb24iLHRlbXBsYXRlVXJsOiIuL2RhdGFfc2VsZWN0aW9uX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2RhdGFfc2VsZWN0aW9uX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLG51bGwpO2NvbnN0IGlPdD1bImNoYXJ0Il07Y2xhc3MgYU90e2NvbnN0cnVjdG9yKCl7dGhpcy5vblJlbW92ZT1uZXcgU3ksdGhpcy5vblVwZGF0ZUZpbHRlcj1uZXcgU3ksdGhpcy5oZWlnaHQ9MzAwLHRoaXMuY2hhcnRXaWR0aD0wLHRoaXMuY2hhcnRIZWlnaHQ9MCx0aGlzLmRyYXdIZWlnaHQ9MCx0aGlzLmRyYXdXaWR0aD0wLHRoaXMubWFyZ2luPXt0b3A6MjAscmlnaHQ6MTAsYm90dG9tOjIwLGxlZnQ6MTB9LHRoaXMuZHJhd01hcmdpbj17dG9wOjAscmlnaHQ6MCxib3R0b206MjAsbGVmdDoyMH0sdGhpcy5icnVzaD1nbnQoKSx0aGlzLm1heEJpblNpemU9MCx0aGlzLmFyZWE9KGZ1bmN0aW9uIHQoKXt2YXIgdD1IYXQsZT1udWxsLG49TmF0KDApLG89RmF0LGk9TmF0KCEwKSxhPW51bGwscj1JYXQscz1udWxsO2Z1bmN0aW9uIGwobCl7dmFyIGMsZCxwLG0sZix1PWwubGVuZ3RoLGc9ITEsaD1uZXcgQXJyYXkodSksYj1uZXcgQXJyYXkodSk7Zm9yKG51bGw9PWEmJihzPXIoZj1NbnQoKSkpLGM9MDtjPD11OysrYyl7aWYoIShjPHUmJmkobT1sW2NdLGMsbCkpPT09ZylpZihnPSFnKWQ9YyxzLmFyZWFTdGFydCgpLHMubGluZVN0YXJ0KCk7ZWxzZXtmb3Iocy5saW5lRW5kKCkscy5saW5lU3RhcnQoKSxwPWMtMTtwPj1kOy0tcClzLnBvaW50KGhbcF0sYltwXSk7cy5saW5lRW5kKCkscy5hcmVhRW5kKCl9ZyYmKGhbY109K3QobSxjLGwpLGJbY109K24obSxjLGwpLHMucG9pbnQoZT8rZShtLGMsbCk6aFtjXSxvPytvKG0sYyxsKTpiW2NdKSl9aWYoZilyZXR1cm4gcz1udWxsLGYrIiJ8fG51bGx9ZnVuY3Rpb24gYygpe3JldHVybiBMYXQoKS5kZWZpbmVkKGkpLmN1cnZlKHIpLmNvbnRleHQoYSl9cmV0dXJuIGwueD1mdW5jdGlvbihuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odD0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uOk5hdCgrbiksZT1udWxsLGwpOnR9LGwueDA9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpOYXQoK2UpLGwpOnR9LGwueDE9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9bnVsbD09dD9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TmF0KCt0KSxsKTplfSxsLnk9ZnVuY3Rpb24odCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dDpOYXQoK3QpLG89bnVsbCxsKTpufSxsLnkwPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhuPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TmF0KCt0KSxsKTpufSxsLnkxPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhvPW51bGw9PXQ/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YgdD90Ok5hdCgrdCksbCk6b30sbC5saW5lWDA9bC5saW5lWTA9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngodCkueShuKX0sbC5saW5lWTE9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngodCkueShvKX0sbC5saW5lWDE9ZnVuY3Rpb24oKXtyZXR1cm4gYygpLngoZSkueShuKX0sbC5kZWZpbmVkPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6TmF0KCEhdCksbCk6aX0sbC5jdXJ2ZT1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocj10LG51bGwhPWEmJihzPXIoYSkpLGwpOnJ9LGwuY29udGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8obnVsbD09dD9hPXM9bnVsbDpzPXIoYT10KSxsKTphfSxsfSkoKS54MChmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54U2NhbGVOdW0oLXQubGVuZ3RoKX0uYmluZCh0aGlzKSkueDEoZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueFNjYWxlTnVtKHQubGVuZ3RoKX0uYmluZCh0aGlzKSkueShmdW5jdGlvbih0KXtyZXR1cm4gdC54MD09PS0xLzA/dGhpcy5jaGFydEhlaWdodC10aGlzLmRyYXdNYXJnaW4udG9wOnRoaXMueVNjYWxlKCh0LngxK3QueDApLzIpfS5iaW5kKHRoaXMpKS5jdXJ2ZShVYXQpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMudXBkYXRlRGltZW5zaW9ucygpLHRoaXMuc3ZnPW44KHRoaXMuY2hhcnRDb250YWluZXIubmF0aXZlRWxlbWVudCkuc2VsZWN0KCJzdmciKSx0aGlzLm1haW5Db250YWluZXI9dGhpcy5zdmcuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIixgdHJhbnNsYXRlKCR7dGhpcy5tYXJnaW4ubGVmdH0sICR7dGhpcy5tYXJnaW4udG9wfSlgKSx0aGlzLmRyYXdDb250YWluZXI9dGhpcy5tYWluQ29udGFpbmVyLmFwcGVuZCgiZyIpLmF0dHIoInRyYW5zZm9ybSIsYHRyYW5zbGF0ZSgke3RoaXMuZHJhd01hcmdpbi5sZWZ0fSwgJHt0aGlzLmRyYXdNYXJnaW4udG9wfSlgKSx0aGlzLmRvdHNHcm91cD10aGlzLmRyYXdDb250YWluZXIuYXBwZW5kKCJnIikuYXR0cigiY2xhc3MiLCJkb3RzR3JvdXAiKSx0aGlzLnlBeGlzR3JvdXA9dGhpcy5tYWluQ29udGFpbmVyLmFwcGVuZCgiZyIpLmF0dHIoImNsYXNzIiwiYXhpcyBheGlzLS15IiksdGhpcy54QXhpc0dyb3VwPXRoaXMubWFpbkNvbnRhaW5lci5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsImF4aXMgYXhpcy0teCIpLHRoaXMubWlzY0dyb3VwPXRoaXMuZHJhd0NvbnRhaW5lci5hcHBlbmQoImciKSx0aGlzLnhTY2FsZT1KbnQoKS5wYWRkaW5nKC4wNSksdGhpcy54QXhpcz1CNih0aGlzLnhTY2FsZSksdGhpcy55U2NhbGU9bW90KCkucmFuZ2UoW3RoaXMuZHJhd0hlaWdodCwwXSksdGhpcy55QXhpcz0oZnVuY3Rpb24gdChlKXtyZXR1cm4gRjYoNCxlKX0pKHRoaXMueVNjYWxlKSx0aGlzLnhTY2FsZU51bT1tb3QoKSx0aGlzLmluaXRpYWxpemVCcnVzaCgpLHRoaXMuZHJhd01pc2MoKSx0aGlzLnJlZHJhdygpfW5nT25DaGFuZ2VzKHQpe3RoaXMuc3ZnJiZ0aGlzLnJlZHJhdygpfXJlZHJhdygpe3RoaXMudXBkYXRlRGltZW5zaW9ucygpLHRoaXMuc2V0TWF4QmluU2l6ZSgpLHRoaXMudXBkYXRlQXhlcygpLHRoaXMuZHJhdygpfXVwZGF0ZURpbWVuc2lvbnMoKXt0aGlzLmNoYXJ0V2lkdGg9dGhpcy53aWR0aC10aGlzLm1hcmdpbi5sZWZ0LXRoaXMubWFyZ2luLnJpZ2h0LHRoaXMuZHJhd1dpZHRoPXRoaXMuY2hhcnRXaWR0aC10aGlzLmRyYXdNYXJnaW4ubGVmdC10aGlzLmRyYXdNYXJnaW4ucmlnaHQsdGhpcy5jaGFydEhlaWdodD10aGlzLmhlaWdodC10aGlzLm1hcmdpbi50b3AtdGhpcy5tYXJnaW4uYm90dG9tLHRoaXMuZHJhd0hlaWdodD10aGlzLmNoYXJ0SGVpZ2h0LXRoaXMuZHJhd01hcmdpbi50b3AtdGhpcy5kcmF3TWFyZ2luLmJvdHRvbX1zZXRNYXhCaW5TaXplKCl7T2JqZWN0LnZhbHVlcyh0aGlzLmNoYXJ0RGF0YS52aW9saW5EYXRhKS5mb3JFYWNoKCh0PT57Y29uc3QgZT10Lm1hcCgodD0+dC5sZW5ndGgpKSxuPU1hdGgubWF4KC4uLmUpO3RoaXMubWF4QmluU2l6ZT1NYXRoLm1heChuLHRoaXMubWF4QmluU2l6ZSl9KSl9dXBkYXRlQXhlcygpe3RoaXMueFNjYWxlLnJhbmdlKFswLHRoaXMuZHJhd1dpZHRoXSkuZG9tYWluKE9iamVjdC5rZXlzKHRoaXMuY2hhcnREYXRhLnZpb2xpbkRhdGEpKSx0aGlzLnlTY2FsZS5kb21haW4oW3RoaXMuY2hhcnREYXRhLmV4dHJlbWVzLm1pbix0aGlzLmNoYXJ0RGF0YS5leHRyZW1lcy5tYXhdKSx0aGlzLnhTY2FsZU51bS5yYW5nZShbMCx0aGlzLnhTY2FsZS5iYW5kd2lkdGgoKV0pLmRvbWFpbihbLXRoaXMubWF4QmluU2l6ZSx0aGlzLm1heEJpblNpemVdKX1pbml0aWFsaXplQnJ1c2goKXt0aGlzLmJydXNoLm9uKCJlbmQiLHRoaXMuYnJ1c2hNb3ZlZC5iaW5kKHRoaXMpKX1kcmF3KCl7dGhpcy5kcmF3QXhlcygpLHRoaXMuZHJhd1Bsb3QoKSx0aGlzLnJlZnJlc2hNaXNjKCksdGhpcy5yZWZyZXNoQnJ1c2goKX1kcmF3QXhlcygpe3RoaXMueUF4aXNHcm91cC5hdHRyKCJ0cmFuc2Zvcm0iLGB0cmFuc2xhdGUoJHt0aGlzLmRyYXdNYXJnaW4ubGVmdH0sXG4gICAgICAke3RoaXMuZHJhd01hcmdpbi50b3B9KWApLmNhbGwodGhpcy55QXhpcyksdGhpcy54QXhpc0dyb3VwLmF0dHIoInRyYW5zZm9ybSIsYHRyYW5zbGF0ZSgke3RoaXMuZHJhd01hcmdpbi5sZWZ0fSxcbiAgICAgICR7dGhpcy5kcmF3TWFyZ2luLnRvcCt0aGlzLmNoYXJ0SGVpZ2h0fSlgKS5jYWxsKHRoaXMueEF4aXMpfWRyYXdQbG90KCl7Y29uc3QgdD10aGlzLmRvdHNHcm91cC5zZWxlY3RBbGwoIi52aW9saW4tcGxvdCIpLmRhdGEoT2JqZWN0LmVudHJpZXModGhpcy5jaGFydERhdGEudmlvbGluRGF0YSkpO3QuZW50ZXIoKS5hcHBlbmQoInBhdGgiKS5hdHRyKCJjbGFzcyIsInZpb2xpbi1wbG90Iikuc3R5bGUoInN0cm9rZSIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY29sb3JTY2FsZSh0WzBdKX0uYmluZCh0aGlzKSkuc3R5bGUoImZpbGwiLGZ1bmN0aW9uKHQpe3JldHVybmAke3RoaXMuY29sb3JTY2FsZSh0WzBdKX0zM2B9LmJpbmQodGhpcykpLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuYHRyYW5zbGF0ZSgke3RoaXMueFNjYWxlKHRbMF0pfSwgMClgfS5iaW5kKHRoaXMpKS5kYXR1bSgoZnVuY3Rpb24odCl7cmV0dXJuIHRbMV19KSkuYXR0cigiZCIsdGhpcy5hcmVhKSx0LmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuYHRyYW5zbGF0ZSgke3RoaXMueFNjYWxlKHRbMF0pfSwgMClgfS5iaW5kKHRoaXMpKS5kYXR1bSgoZnVuY3Rpb24odCl7cmV0dXJuIHRbMV19KSkuYXR0cigiZCIsdGhpcy5hcmVhKSx0LmV4aXQoKS5yZW1vdmUoKX1kcmF3TWlzYygpe3RoaXMuemVyb0xpbmU9dGhpcy5taXNjR3JvdXAuYXBwZW5kKCJsaW5lIikuc3R5bGUoInN0cm9rZSIsImJsYWNrIikuYXR0cigieDEiLDApLmF0dHIoInkxIix0aGlzLnlTY2FsZSgwKSkuYXR0cigieDIiLHRoaXMuZHJhd1dpZHRoKS5hdHRyKCJ5MiIsdGhpcy55U2NhbGUoMCkpLHRoaXMubmFuVGV4dD10aGlzLm1pc2NHcm91cC5hcHBlbmQoInRleHQiKS5zdHlsZSgiZmlsbCIsImJsYWNrIikudGV4dCgiTmFOIikuYXR0cigiZm9udC1zaXplIiwiMTBweCIpLmF0dHIoInRleHQtYW5jaG9yIiwiZW5kIikuYXR0cigiYWxpZ25tZW50LWJhc2VsaW5lIiwibWlkZGxlIikuYXR0cigieCIsLTUpLmF0dHIoInkiLHRoaXMuY2hhcnRIZWlnaHQtdGhpcy5kcmF3TWFyZ2luLnRvcCksdGhpcy5uYW5MaW5lPXRoaXMubWlzY0dyb3VwLmFwcGVuZCgibGluZSIpLnN0eWxlKCJzdHJva2UiLCJncmV5Iikuc3R5bGUoInN0cm9rZS1kYXNoYXJyYXkiLCIzLCAzIikuYXR0cigieDEiLDApLmF0dHIoInkxIix0aGlzLmNoYXJ0SGVpZ2h0LXRoaXMuZHJhd01hcmdpbi50b3ApLmF0dHIoIngyIix0aGlzLmRyYXdXaWR0aCkuYXR0cigieTIiLHRoaXMuY2hhcnRIZWlnaHQtdGhpcy5kcmF3TWFyZ2luLnRvcCl9cmVmcmVzaE1pc2MoKXt0aGlzLnplcm9MaW5lLmF0dHIoInkxIix0aGlzLnlTY2FsZSgwKSkuYXR0cigieDIiLHRoaXMuZHJhd1dpZHRoKS5hdHRyKCJ5MiIsdGhpcy55U2NhbGUoMCkpLHRoaXMubmFuVGV4dC5hdHRyKCJ5Iix0aGlzLmNoYXJ0SGVpZ2h0LXRoaXMuZHJhd01hcmdpbi50b3ApLHRoaXMubmFuTGluZS5hdHRyKCJ5MSIsdGhpcy5kcmF3SGVpZ2h0K3RoaXMuZHJhd01hcmdpbi50b3ApLmF0dHIoIngyIix0aGlzLmRyYXdXaWR0aCkuYXR0cigieTIiLHRoaXMuZHJhd0hlaWdodCt0aGlzLmRyYXdNYXJnaW4udG9wKX1yZWZyZXNoQnJ1c2goKXt0aGlzLmJydXNoLmV4dGVudChbWzAsMF0sW3RoaXMuZHJhd1dpZHRoLHRoaXMuZHJhd0hlaWdodCt0aGlzLm1hcmdpbi50b3BdXSk7Y29uc3QgdD1bMCx0aGlzLmRyYXdIZWlnaHQrdGhpcy5tYXJnaW4udG9wXTtpZih0aGlzLmZpbHRlci5tYXg8dGhpcy5maWx0ZXIubWluKXRbMF09dGhpcy5maWx0ZXIuaW5jbHVkZU5hTj90aGlzLnlTY2FsZSh0aGlzLmNoYXJ0RGF0YS5leHRyZW1lcy5taW4pOnRbMV07ZWxzZXtpZighdGhpcy5maWx0ZXIuaW5jbHVkZU5hTil7Y29uc3QgZT1NYXRoLm1heCh0aGlzLmNoYXJ0RGF0YS5leHRyZW1lcy5taW4sdGhpcy5maWx0ZXIubWluKTt0WzFdPXRoaXMueVNjYWxlKGUpfWNvbnN0IGU9TWF0aC5taW4odGhpcy5jaGFydERhdGEuZXh0cmVtZXMubWF4LHRoaXMuZmlsdGVyLm1heCk7dFswXT10aGlzLnlTY2FsZShlKX10aGlzLmRyYXdDb250YWluZXIuY2FsbCh0aGlzLmJydXNoKS5jYWxsKHRoaXMuYnJ1c2gubW92ZSx0KX1icnVzaE1vdmVkKCl7aWYoIVc3KXJldHVybjtpZighVzcuc291cmNlRXZlbnQpcmV0dXJuO2NvbnN0IHQ9Vzcuc2VsZWN0aW9uO2lmKHQpe2xldCBlPSExLG49LTIsbz10aGlzLmNoYXJ0RGF0YS5leHRyZW1lcy5taW47dFswXTw9dGhpcy5kcmF3SGVpZ2h0K3RoaXMubWFyZ2luLnRvcCYmdFsxXT49dGhpcy5kcmF3SGVpZ2h0JiYoZT0hMCksdFswXTx0aGlzLmRyYXdIZWlnaHQmJihuPXRoaXMueVNjYWxlLmludmVydCh0WzBdKSksdFsxXTx0aGlzLmRyYXdIZWlnaHQmJihvPXRoaXMueVNjYWxlLmludmVydCh0WzFdKSksdGhpcy5vblVwZGF0ZUZpbHRlci5lbWl0KHttYXg6bixtaW46byxpbmNsdWRlTmFOOmV9KX1lbHNlIHRoaXMub25VcGRhdGVGaWx0ZXIuZW1pdCh7bWF4OjEsbWluOi0xLGluY2x1ZGVOYU46ITB9KX19YU90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxhT3QpfSxhT3QuybVjbXA9c28oe3R5cGU6YU90LHNlbGVjdG9yczpbWyJ2aW9saW4tZmlsdGVyLWNvbXBvbmVudCJdXSx2aWV3UXVlcnk6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmVnkoaU90LDcsS2gpLDImZSl7bGV0IHQ7QnkodD1VeSgpKSYmKG4uY2hhcnRDb250YWluZXI9dC5maXJzdCl9fSxpbnB1dHM6e21ldHJpY05hbWU6Im1ldHJpY05hbWUiLGZpbHRlcjoiZmlsdGVyIixjaGFydERhdGE6ImNoYXJ0RGF0YSIsd2lkdGg6IndpZHRoIixjb2xvclNjYWxlOiJjb2xvclNjYWxlIn0sb3V0cHV0czp7b25SZW1vdmU6Im9uUmVtb3ZlIixvblVwZGF0ZUZpbHRlcjoib25VcGRhdGVGaWx0ZXIifSxmZWF0dXJlczpbcW9dLGRlY2xzOjksdmFyczoxLGNvbnN0czpmdW5jdGlvbigpe2xldCB0O2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXt0PWdvb2cuZ2V0TXNnKCJSZW1vdmUgRmlsdGVyIil9ZWxzZSB0PSRsb2NhbGl6ZWA6TGFiZWwgZm9yIGEgYnV0dG9uIHRoYXQgcmVtb3ZlcyBhIG1ldHJpYyBmaWx0ZXIu4pCfYTZiZmFkNThiYjM2M2Q1Yzg5MWQwYTU0NzRiMWQ3N2VmOTBhMzRkYeKQnzg0NTQ5NjE3OTc3NjI5MDc2MjQ6UmVtb3ZlIEZpbHRlcmA7cmV0dXJuW1sxLCJjaGFydC1jb250YWluZXIiXSxbInRpdGxlIiwiU2hvd3MgdGhlIG5QTUkgdmFsdWUgZGlzdHJpYnV0aW9uIHBlciBydW4uIFJhbmdlcyBvZiBzZWxlY3RlZCB2YWx1ZXMgY2FuIGJlIG1hbmlwdWxhdGVkIGJ5IG1vZGlmeWluZyB0aGUgZ3JleSBib3guIiwxLCJjaGFydC1oZWFkIl0sWzEsImNoYXJ0LWhlYWRpbmciXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMywiY2xpY2siXSxbInN2Z0ljb24iLCJjbGVhcl8yNHB4Il0sWzEsImNoYXJ0Il0sWyJjaGFydCIsIiJdLFsxLCJkcmF3LWFyZWEiXV19LHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLENmKDEsImRpdiIsMSksQ2YoMiwiZGl2IiwyKSxQdSgzKSxNZigpLENmKDQsImJ1dHRvbiIsMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUmVtb3ZlLmVtaXQoKX0pKSx2Zig1LCJtYXQtaWNvbiIsNCksTWYoKSxNZigpLENmKDYsImRpdiIsNSw2KSxvYSgpLHZmKDgsInN2ZyIsNyksTWYoKSxNZigpKSwyJmUmJihEYygzKSx3dShuLm1ldHJpY05hbWUpKX0sZGlyZWN0aXZlczpbTkwsTXFdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5jaGFydC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47b3ZlcmZsb3c6aGlkZGVufS5jaGFydFtfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjMwMHB4O3dpZHRoOjEwMCV9LmNoYXJ0LWhlYWRbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmNoYXJ0LWhlYWRpbmdbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctdG9wOjEwcHh9LmRyYXctYXJlYVtfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uc3Ryb2tlZC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtzdHJva2U6cmdiYSgwLDAsMCwuMTIpO3N0cm9rZS1kYXNoYXJyYXk6MyAzfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihhT3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidmlvbGluLWZpbHRlci1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL3Zpb2xpbl9maWx0ZXJfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vdmlvbGluX2ZpbHRlcl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bWV0cmljTmFtZTpbe3R5cGU6Ul99XSxmaWx0ZXI6W3t0eXBlOlJffV0sY2hhcnREYXRhOlt7dHlwZTpSX31dLHdpZHRoOlt7dHlwZTpSX31dLGNvbG9yU2NhbGU6W3t0eXBlOlJffV0sb25SZW1vdmU6W3t0eXBlOkVffV0sb25VcGRhdGVGaWx0ZXI6W3t0eXBlOkVffV0sY2hhcnRDb250YWluZXI6W3t0eXBlOmFyLGFyZ3M6WyJjaGFydCIse3N0YXRpYzohMCxyZWFkOktofV19XX0pO2NsYXNzIHJPdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5hY3RpdmVSdW5zJD10aGlzLnN0b3JlLnBpcGUoclMoX0kpKS5waXBlKFZ0KCh0PT50P0FycmF5LmZyb20odC5lbnRyaWVzKCkpLmZpbHRlcigodD0+dFsxXSkpLm1hcCgodD0+dFswXSkpOltdKSkpLHRoaXMudmlzaWJsZUFubm90YXRpb25zJD1LdChbdGhpcy5zdG9yZS5zZWxlY3QoWXZ0KSx0aGlzLnN0b3JlLnNlbGVjdChKdnQpLHRoaXMuc3RvcmUuc2VsZWN0KHN4dCldKS5waXBlKFZ0KCgoW3QsZSxuXSk9Pm9PdCh0LGUsbikpKSksdGhpcy5jaGFydFdpZHRoJD10aGlzLnN0b3JlLnBpcGUoclMoY3h0KSkucGlwZShWdCgodD0+TWF0aC5tYXgoMTUwLHQpKSkpLHRoaXMucnVuQ29sb3JTY2FsZSQ9dGhpcy5zdG9yZS5zZWxlY3QoQ0kpLnBpcGUoVnQoKHQ9PmU9PntpZighdC5oYXNPd25Qcm9wZXJ0eShlKSl0aHJvdyBuZXcgRXJyb3IoYFtDb2xvciBzY2FsZV0gdW5rbm93biBydW5JZDogJHtlfS5gKTtyZXR1cm4gdFtlXX0pKSl9bmdPbkluaXQoKXt0aGlzLmNoYXJ0RGF0YSQ9S3QoW3RoaXMudmlzaWJsZUFubm90YXRpb25zJCx0aGlzLmFjdGl2ZVJ1bnMkXSkucGlwZShWdCgoKFt0LGVdKT0+KGZ1bmN0aW9uIG4odCxlLG8pe2NvbnN0IGk9e30sYT17fSxyPW5ldyBTZXQoZSkscz16X3QobyksbD17bWF4Oi0xLG1pbjoxfTtPYmplY3QudmFsdWVzKHQpLmZvckVhY2goKHQ9Pnt0LmZvckVhY2goKHQ9Pntjb25zdCBlPXQucnVuO2lmKHIuaGFzKGUpJiZ0Lm1ldHJpYz09PXMpaWYobnVsbD09PXQublBNSVZhbHVlKWFbZV0/YVtlXS5wdXNoKG51bGwpOmFbZV09W251bGxdO2Vsc2V7Y29uc3Qgbj10Lm5QTUlWYWx1ZTtsLm1heD1sLm1heDxuP246bC5tYXgsbC5taW49bC5taW4+bj9uOmwubWluLGlbdC5ydW5dP2lbZV0ucHVzaChuKTppW2VdPVtuXX19KSl9KSk7Y29uc3QgYz17fSxkPUQ2KCkuZG9tYWluKFtsLm1pbixsLm1heF0pLnZhbHVlKCh0PT50KSkscD1ENigpLmRvbWFpbihbLTEvMCwxLzBdKS50aHJlc2hvbGRzKDApLnZhbHVlKCh0PT50KSk7Zm9yKGNvbnN0IHQgb2YgcilpZihjW3RdPWQoaVt0XSksYVt0XSl7Y29uc3QgZT1wKGFbdF0pO2NbdF0udW5zaGlmdChlWzBdKX1yZXR1cm57dmlvbGluRGF0YTpjLGV4dHJlbWVzOmx9fSkodCxlLHRoaXMubWV0cmljTmFtZSkpKSl9cmVtb3ZlTWV0cmljKCl7dGhpcy5zdG9yZS5kaXNwYXRjaChQdnQoe21ldHJpYzp0aGlzLm1ldHJpY05hbWV9KSl9dXBkYXRlRmlsdGVyKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2god3Z0KE9iamVjdC5hc3NpZ24oe21ldHJpYzp0aGlzLm1ldHJpY05hbWV9LHQpKSl9fWZ1bmN0aW9uIHNPdCh0LGUpe2lmKDEmdCYmdmYoMCwibnBtaS12aW9saW4tZmlsdGVyIiw4KSwyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQ7YmYoIm1ldHJpY05hbWUiLHRbMF0pKCJmaWx0ZXIiLHRbMV0pfX1mdW5jdGlvbiBsT3QodCxlKXsxJnQmJihDZigwLCJkaXYiLDkpLENmKDEsInNwYW4iLDEwKSxQdSgyLCIgWW91IGNhbiBhZGQgbW9yZSBmaWx0ZXJzIGF0IHRoZSB0b3AuICIpLE1mKCksTWYoKSl9ck90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxyT3QpKGdmKGlTKSl9LHJPdC7JtWNtcD1zbyh7dHlwZTpyT3Qsc2VsZWN0b3JzOltbIm5wbWktdmlvbGluLWZpbHRlciJdXSxpbnB1dHM6e21ldHJpY05hbWU6Im1ldHJpY05hbWUiLGZpbHRlcjoiZmlsdGVyIn0sZGVjbHM6NCx2YXJzOjExLGNvbnN0czpbWzMsIm1ldHJpY05hbWUiLCJmaWx0ZXIiLCJjaGFydERhdGEiLCJ3aWR0aCIsImNvbG9yU2NhbGUiLCJvblJlbW92ZSIsIm9uVXBkYXRlRmlsdGVyIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJ2aW9saW4tZmlsdGVyLWNvbXBvbmVudCIsMCksUmYoIm9uUmVtb3ZlIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLnJlbW92ZU1ldHJpYygpfSkpKCJvblVwZGF0ZUZpbHRlciIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4udXBkYXRlRmlsdGVyKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoIm1ldHJpY05hbWUiLG4ubWV0cmljTmFtZSkoImZpbHRlciIsbi5maWx0ZXIpKCJjaGFydERhdGEiLEN5KDEsNSxuLmNoYXJ0RGF0YSQpKSgid2lkdGgiLEN5KDIsNyxuLmNoYXJ0V2lkdGgkKSkoImNvbG9yU2NhbGUiLEN5KDMsOSxuLnJ1bkNvbG9yU2NhbGUkKSl9LGRpcmVjdGl2ZXM6W2FPdF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHJPdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLXZpb2xpbi1maWx0ZXIiLHRlbXBsYXRlOidcbiAgICA8dmlvbGluLWZpbHRlci1jb21wb25lbnRcbiAgICAgIFttZXRyaWNOYW1lXT0ibWV0cmljTmFtZSJcbiAgICAgIFtmaWx0ZXJdPSJmaWx0ZXIiXG4gICAgICBbY2hhcnREYXRhXT0iY2hhcnREYXRhJCB8IGFzeW5jIlxuICAgICAgW3dpZHRoXT0iY2hhcnRXaWR0aCQgfCBhc3luYyJcbiAgICAgIFtjb2xvclNjYWxlXT0icnVuQ29sb3JTY2FsZSQgfCBhc3luYyJcbiAgICAgIChvblJlbW92ZSk9InJlbW92ZU1ldHJpYygpIlxuICAgICAgKG9uVXBkYXRlRmlsdGVyKT0idXBkYXRlRmlsdGVyKCRldmVudCkiXG4gICAgPjwvdmlvbGluLWZpbHRlci1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSx7bWV0cmljTmFtZTpbe3R5cGU6Ul99XSxmaWx0ZXI6W3t0eXBlOlJffV19KTtjbGFzcyBjT3R7Y29uc3RydWN0b3IoKXt0aGlzLnRvZ2dsZVNpZGViYXJFeHBhbmRlZD1uZXcgU3l9fWNPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Y090KX0sY090Lsm1Y21wPXNvKHt0eXBlOmNPdCxzZWxlY3RvcnM6W1sidmlvbGluLWZpbHRlcnMtY29tcG9uZW50Il1dLGlucHV0czp7c2lkZWJhckV4cGFuZGVkOiJzaWRlYmFyRXhwYW5kZWQiLG1ldHJpY0ZpbHRlcnM6Im1ldHJpY0ZpbHRlcnMifSxvdXRwdXRzOnt0b2dnbGVTaWRlYmFyRXhwYW5kZWQ6InRvZ2dsZVNpZGViYXJFeHBhbmRlZCJ9LGRlY2xzOjksdmFyczoyLGNvbnN0czpmdW5jdGlvbigpe2xldCB0O2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXt0PWdvb2cuZ2V0TXNnKCJFeHBhbmQvSGlkZSBTaWRlYmFyIil9ZWxzZSB0PSRsb2NhbGl6ZWA6TGFiZWwgZm9yIGEgYnV0dG9uIHRoYXQgZXhwYW5kcy9oaWRlcyB0aGUgc2lkZWJhci7ikJ80OGMyOTkwM2NlODgxYWI2MTA4OGY4ZDQ5ZDgyNzIwMzcxNmFhZWQ04pCfNDY1ODYwMjk5MTk3MDI2MDIxNTpFeHBhbmQvSGlkZSBTaWRlYmFyYDtyZXR1cm5bWzEsImZpbHRlcnMtdG9vbGJhciJdLFsxLCJmaWx0ZXJzLXRpdGxlIl0sWzEsInNpZGUtdG9nZ2xlIl0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJhcmlhLWxhYmVsIix0LDMsImNsaWNrIl0sWyJzdmdJY29uIiwiY2hldnJvbl9sZWZ0XzI0cHgiXSxbMSwiZmlsdGVycyJdLFszLCJtZXRyaWNOYW1lIiwiZmlsdGVyIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbImNsYXNzIiwiZmlsdGVycy1oaW50Iiw0LCJuZ0lmIl0sWzMsIm1ldHJpY05hbWUiLCJmaWx0ZXIiXSxbMSwiZmlsdGVycy1oaW50Il0sWzEsImZpbHRlcnMtaGludC10ZXh0Il1dfSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZGl2IiwwKSxDZigxLCJoMyIsMSksUHUoMiwiQWN0aXZlIEZpbHRlcnMiKSxNZigpLENmKDMsImRpdiIsMiksQ2YoNCwiYnV0dG9uIiwzKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4udG9nZ2xlU2lkZWJhckV4cGFuZGVkLmVtaXQoKX0pKSx2Zig1LCJtYXQtaWNvbiIsNCksTWYoKSxNZigpLE1mKCksQ2YoNiwiZGl2Iiw1KSxIbSg3LHNPdCwxLDIsIm5wbWktdmlvbGluLWZpbHRlciIsNiksTWYoKSxIbSg4LGxPdCwzLDAsImRpdiIsNykpLDImZSYmKERjKDcpLGJmKCJuZ0Zvck9mIixuLm1ldHJpY0ZpbHRlcnMpLERjKDEpLGJmKCJuZ0lmIiwwPT09bi5tZXRyaWNGaWx0ZXJzLmxlbmd0aCkpfSxkaXJlY3RpdmVzOltOTCxNcSx4dixQdixyT3RdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJX0uZmlsdGVycy10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQycHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzowIDEwcHh9LmZpbHRlcnMtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6aW5saW5lO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0uc2lkZS10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MzBweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjMwcHh9LmZpbHRlcnNbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93LXk6YXV0b30uZmlsdGVycy1oaW50W19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2hlaWdodDo0MnB4O3BhZGRpbmc6MCAxNnB4fS5maWx0ZXJzLWhpbnQtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6cmdiYSgwLDAsMCwuMzgpfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihjT3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidmlvbGluLWZpbHRlcnMtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi92aW9saW5fZmlsdGVyc19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi92aW9saW5fZmlsdGVyc19jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7c2lkZWJhckV4cGFuZGVkOlt7dHlwZTpSX31dLG1ldHJpY0ZpbHRlcnM6W3t0eXBlOlJffV0sdG9nZ2xlU2lkZWJhckV4cGFuZGVkOlt7dHlwZTpFX31dfSk7Y2xhc3MgZE90e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLnNpZGViYXJFeHBhbmRlZCQ9dGhpcy5zdG9yZS5zZWxlY3QoYXh0KSx0aGlzLm1ldHJpY0ZpbHRlcnMkPXRoaXMuc3RvcmUuc2VsZWN0KGV4dCkucGlwZShWdCgodD0+T2JqZWN0LmVudHJpZXModCkpKSl9b25Ub2dnbGVTaWRlYmFyRXhwYW5kZWQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKEV2dCgpKX19ZnVuY3Rpb24gcE90KHQsZSxuKXtjb25zdCBvPU9iamVjdC5rZXlzKHQpLGk9ZS5vcmRlcj09PVV2dC5ESVNTSU1JTEFSfHxlLm9yZGVyPT09VXZ0LlNJTUlMQVI7aWYoIiI9PT1lLm1ldHJpY3x8KHZvaWQgMD09PW58fHZvaWQgMD09PW4ucG9pbnRzW2UubWV0cmljXSkmJmkpcmV0dXJuIG87cmV0dXJuKGZ1bmN0aW9uIHModCxlLG4pe2lmKG4pcmV0dXJuIHQuc29ydCgoKHQsbik9PmVbdF0tZVtuXSkpO3JldHVybiB0LnNvcnQoKCh0LG4pPT5lW25dLWVbdF0pKX0pKG8saT8oZnVuY3Rpb24gYSh0LGUsbil7Y29uc3Qgbz17fTtsZXQgaT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksYT1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7bi5vcmRlcj09PVV2dC5TSU1JTEFSJiYoaT1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksYT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpO2Zvcihjb25zdCByIG9mIHQpb1tyXT1yPT09bi5tZXRyaWM/aTp2b2lkIDA9PT1lLnBvaW50c1tyXT9hOmUucG9pbnRzW3JdLnZlY3Rvcj9tT3QoZS5wb2ludHNbbi5tZXRyaWNdLnZlY3RvcixlLnBvaW50c1tyXS52ZWN0b3IsYSk6YTtyZXR1cm4gb30pKG8sbixlKTooZnVuY3Rpb24gcih0LGUsbil7Y29uc3Qgbz16X3Qobi5tZXRyaWMpLGk9e307aWYobi5vcmRlcj09PVV2dC5ERVNDRU5ESU5HKWZvcihjb25zdCBuIG9mIHQpaVtuXT1NYXRoLm1heCguLi5lW25dLmZpbHRlcigodD0+dC5tZXRyaWM9PT1vKSkubWFwKCh0PT5udWxsPT09dC5uUE1JVmFsdWU/LTEvMDp0Lm5QTUlWYWx1ZSkpKTtlbHNlIGZvcihjb25zdCBuIG9mIHQpaVtuXT1NYXRoLm1pbiguLi5lW25dLmZpbHRlcigodD0+dC5tZXRyaWM9PT1vKSkubWFwKCh0PT5udWxsPT09dC5uUE1JVmFsdWU/MS8wOnQublBNSVZhbHVlKSkpO3JldHVybiBpfSkobyx0LGUpLGUub3JkZXI9PT1VdnQuQVNDRU5ETkd8fGUub3JkZXI9PT1VdnQuU0lNSUxBUil9ZnVuY3Rpb24gbU90KHQsZSxuKXtpZih0Lmxlbmd0aCE9ZS5sZW5ndGgpcmV0dXJuIG47cmV0dXJuIGUubWFwKCgoZSxuKT0+ZS10W25dKSkubWFwKCh0PT5NYXRoLnBvdyh0LDIpKSkucmVkdWNlKCgodCxlKT0+dCtlKSwwKX1kT3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGRPdCkoZ2YoaVMpKX0sZE90Lsm1Y21wPXNvKHt0eXBlOmRPdCxzZWxlY3RvcnM6W1sibnBtaS12aW9saW4tZmlsdGVycyJdXSxkZWNsczozLHZhcnM6Nixjb25zdHM6W1szLCJzaWRlYmFyRXhwYW5kZWQiLCJtZXRyaWNGaWx0ZXJzIiwidG9nZ2xlU2lkZWJhckV4cGFuZGVkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJ2aW9saW4tZmlsdGVycy1jb21wb25lbnQiLDApLFJmKCJ0b2dnbGVTaWRlYmFyRXhwYW5kZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub2dnbGVTaWRlYmFyRXhwYW5kZWQoKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksTWYoKSksMiZlJiZiZigic2lkZWJhckV4cGFuZGVkIixDeSgxLDIsbi5zaWRlYmFyRXhwYW5kZWQkKSkoIm1ldHJpY0ZpbHRlcnMiLEN5KDIsNCxuLm1ldHJpY0ZpbHRlcnMkKSl9LGRpcmVjdGl2ZXM6W2NPdF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGRPdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLXZpb2xpbi1maWx0ZXJzIix0ZW1wbGF0ZTonXG4gICAgPHZpb2xpbi1maWx0ZXJzLWNvbXBvbmVudFxuICAgICAgW3NpZGViYXJFeHBhbmRlZF09InNpZGViYXJFeHBhbmRlZCQgfCBhc3luYyJcbiAgICAgIFttZXRyaWNGaWx0ZXJzXT0ibWV0cmljRmlsdGVycyQgfCBhc3luYyJcbiAgICAgICh0b2dnbGVTaWRlYmFyRXhwYW5kZWQpPSJvblRvZ2dsZVNpZGViYXJFeHBhbmRlZCgpIlxuICAgID48L3Zpb2xpbi1maWx0ZXJzLWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLG51bGwpO2NvbnN0IGZPdD1bInRodW1iQ29udGFpbmVyIl0sdU90PVsidG9nZ2xlQmFyIl0sZ090PVsiaW5wdXQiXSxoT3Q9ZnVuY3Rpb24odCl7cmV0dXJue2VudGVyRHVyYXRpb246dH19LGJPdD1uZXcgZXIoIm1hdC1zbGlkZS10b2dnbGUtZGVmYXVsdC1vcHRpb25zIix7cHJvdmlkZWRJbjoicm9vdCIsZmFjdG9yeTooKT0+KHtkaXNhYmxlVG9nZ2xlVmFsdWU6ITF9KX0pOwovKioKICAgICAqIEBsaWNlbnNlCiAgICAgKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgogICAgICoKICAgICAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAgICAgKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlCiAgICAgKi8KbGV0IHlPdD0wO2NvbnN0IF9PdD17cHJvdmlkZTp4VSx1c2VFeGlzdGluZzokZSgoKCk9PnZPdCkpLG11bHRpOiEwfTtjbGFzcyBDT3R7Y29uc3RydWN0b3IodCxlKXt0aGlzLnNvdXJjZT10LHRoaXMuY2hlY2tlZD1lfX1jb25zdCBNT3Q9RkYoSUYoSEYoekYoY2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5fZWxlbWVudFJlZj10fX0pKSkpO2NsYXNzIHZPdCBleHRlbmRzIE1PdHtjb25zdHJ1Y3Rvcih0LGUsbixvLGksYSl7c3VwZXIodCksdGhpcy5fZm9jdXNNb25pdG9yPWUsdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWY9bix0aGlzLmRlZmF1bHRzPWksdGhpcy5fb25DaGFuZ2U9dD0+e30sdGhpcy5fb25Ub3VjaGVkPSgpPT57fSx0aGlzLl91bmlxdWVJZD0ibWF0LXNsaWRlLXRvZ2dsZS0iKyArK3lPdCx0aGlzLl9yZXF1aXJlZD0hMSx0aGlzLl9jaGVja2VkPSExLHRoaXMubmFtZT1udWxsLHRoaXMuaWQ9dGhpcy5fdW5pcXVlSWQsdGhpcy5sYWJlbFBvc2l0aW9uPSJhZnRlciIsdGhpcy5hcmlhTGFiZWw9bnVsbCx0aGlzLmFyaWFMYWJlbGxlZGJ5PW51bGwsdGhpcy5jaGFuZ2U9bmV3IFN5LHRoaXMudG9nZ2xlQ2hhbmdlPW5ldyBTeSx0aGlzLnRhYkluZGV4PXBhcnNlSW50KG8pfHwwLHRoaXMuY29sb3I9dGhpcy5kZWZhdWx0Q29sb3I9aS5jb2xvcnx8ImFjY2VudCIsdGhpcy5fbm9vcEFuaW1hdGlvbnM9Ik5vb3BBbmltYXRpb25zIj09PWF9Z2V0IHJlcXVpcmVkKCl7cmV0dXJuIHRoaXMuX3JlcXVpcmVkfXNldCByZXF1aXJlZCh0KXt0aGlzLl9yZXF1aXJlZD1lSCh0KX1nZXQgY2hlY2tlZCgpe3JldHVybiB0aGlzLl9jaGVja2VkfXNldCBjaGVja2VkKHQpe3RoaXMuX2NoZWNrZWQ9ZUgodCksdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCl9Z2V0IGlucHV0SWQoKXtyZXR1cm5gJHt0aGlzLmlkfHx0aGlzLl91bmlxdWVJZH0taW5wdXRgfW5nQWZ0ZXJDb250ZW50SW5pdCgpe3RoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsITApLnN1YnNjcmliZSgodD0+eyJrZXlib2FyZCI9PT10fHwicHJvZ3JhbSI9PT10P3RoaXMuX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk6dHx8UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKCk9PnRoaXMuX29uVG91Y2hlZCgpKSl9KSl9bmdPbkRlc3Ryb3koKXt0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZil9X29uQ2hhbmdlRXZlbnQodCl7dC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnRvZ2dsZUNoYW5nZS5lbWl0KCksdGhpcy5kZWZhdWx0cy5kaXNhYmxlVG9nZ2xlVmFsdWU/dGhpcy5faW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2hlY2tlZD10aGlzLmNoZWNrZWQ6KHRoaXMuY2hlY2tlZD10aGlzLl9pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5jaGVja2VkLHRoaXMuX2VtaXRDaGFuZ2VFdmVudCgpKX1fb25JbnB1dENsaWNrKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9d3JpdGVWYWx1ZSh0KXt0aGlzLmNoZWNrZWQ9ISF0fXJlZ2lzdGVyT25DaGFuZ2UodCl7dGhpcy5fb25DaGFuZ2U9dH1yZWdpc3Rlck9uVG91Y2hlZCh0KXt0aGlzLl9vblRvdWNoZWQ9dH1zZXREaXNhYmxlZFN0YXRlKHQpe3RoaXMuZGlzYWJsZWQ9dCx0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKX1mb2N1cyh0LGUpe2U/dGhpcy5fZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuX2lucHV0RWxlbWVudCxlLHQpOnRoaXMuX2lucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKHQpfXRvZ2dsZSgpe3RoaXMuY2hlY2tlZD0hdGhpcy5jaGVja2VkLHRoaXMuX29uQ2hhbmdlKHRoaXMuY2hlY2tlZCl9X2VtaXRDaGFuZ2VFdmVudCgpe3RoaXMuX29uQ2hhbmdlKHRoaXMuY2hlY2tlZCksdGhpcy5jaGFuZ2UuZW1pdChuZXcgQ090KHRoaXMsdGhpcy5jaGVja2VkKSl9X29uTGFiZWxUZXh0Q2hhbmdlKCl7dGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpfX12T3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHZPdCkoZ2YoS2gpLGdmKGZGKSxnZihPYiksR2EoInRhYmluZGV4IiksZ2YoYk90KSxnZihjayw4KSl9LHZPdC7JtWNtcD1zbyh7dHlwZTp2T3Qsc2VsZWN0b3JzOltbIm1hdC1zbGlkZS10b2dnbGUiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihWeShmT3QsNSksVnkodU90LDUpLFZ5KGdPdCw1KSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5fdGh1bWJFbD10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5fdGh1bWJCYXJFbD10LmZpcnN0KSxCeSh0PVV5KCkpJiYobi5faW5wdXRFbGVtZW50PXQuZmlyc3QpfX0saG9zdEF0dHJzOlsxLCJtYXQtc2xpZGUtdG9nZ2xlIl0saG9zdFZhcnM6MTIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsyJmUmJihjZygiaWQiLG4uaWQpLHltKCJ0YWJpbmRleCIsbi5kaXNhYmxlZD9udWxsOi0xKSgiYXJpYS1sYWJlbCIsbnVsbCkoImFyaWEtbGFiZWxsZWRieSIsbnVsbCksY3UoIm1hdC1jaGVja2VkIixuLmNoZWNrZWQpKCJtYXQtZGlzYWJsZWQiLG4uZGlzYWJsZWQpKCJtYXQtc2xpZGUtdG9nZ2xlLWxhYmVsLWJlZm9yZSIsImJlZm9yZSI9PW4ubGFiZWxQb3NpdGlvbikoIl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIixuLl9ub29wQW5pbWF0aW9ucykpfSxpbnB1dHM6e2Rpc2FibGVkOiJkaXNhYmxlZCIsZGlzYWJsZVJpcHBsZToiZGlzYWJsZVJpcHBsZSIsY29sb3I6ImNvbG9yIix0YWJJbmRleDoidGFiSW5kZXgiLG5hbWU6Im5hbWUiLGlkOiJpZCIsbGFiZWxQb3NpdGlvbjoibGFiZWxQb3NpdGlvbiIsYXJpYUxhYmVsOlsiYXJpYS1sYWJlbCIsImFyaWFMYWJlbCJdLGFyaWFMYWJlbGxlZGJ5OlsiYXJpYS1sYWJlbGxlZGJ5IiwiYXJpYUxhYmVsbGVkYnkiXSxyZXF1aXJlZDoicmVxdWlyZWQiLGNoZWNrZWQ6ImNoZWNrZWQiLGFyaWFEZXNjcmliZWRieTpbImFyaWEtZGVzY3JpYmVkYnkiLCJhcmlhRGVzY3JpYmVkYnkiXX0sb3V0cHV0czp7Y2hhbmdlOiJjaGFuZ2UiLHRvZ2dsZUNoYW5nZToidG9nZ2xlQ2hhbmdlIn0sZXhwb3J0QXM6WyJtYXRTbGlkZVRvZ2dsZSJdLGZlYXR1cmVzOltqaChbX090XSksUXBdLG5nQ29udGVudFNlbGVjdG9yczpbIioiXSxkZWNsczoxNix2YXJzOjIwLGNvbnN0czpbWzEsIm1hdC1zbGlkZS10b2dnbGUtbGFiZWwiXSxbImxhYmVsIiwiIl0sWzEsIm1hdC1zbGlkZS10b2dnbGUtYmFyIl0sWyJ0b2dnbGVCYXIiLCIiXSxbInR5cGUiLCJjaGVja2JveCIsInJvbGUiLCJzd2l0Y2giLDEsIm1hdC1zbGlkZS10b2dnbGUtaW5wdXQiLCJjZGstdmlzdWFsbHktaGlkZGVuIiwzLCJpZCIsInJlcXVpcmVkIiwidGFiSW5kZXgiLCJjaGVja2VkIiwiZGlzYWJsZWQiLCJjaGFuZ2UiLCJjbGljayJdLFsiaW5wdXQiLCIiXSxbMSwibWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXIiXSxbInRodW1iQ29udGFpbmVyIiwiIl0sWzEsIm1hdC1zbGlkZS10b2dnbGUtdGh1bWIiXSxbIm1hdC1yaXBwbGUiLCIiLDEsIm1hdC1zbGlkZS10b2dnbGUtcmlwcGxlIiwibWF0LWZvY3VzLWluZGljYXRvciIsMywibWF0UmlwcGxlVHJpZ2dlciIsIm1hdFJpcHBsZURpc2FibGVkIiwibWF0UmlwcGxlQ2VudGVyZWQiLCJtYXRSaXBwbGVSYWRpdXMiLCJtYXRSaXBwbGVBbmltYXRpb24iXSxbMSwibWF0LXJpcHBsZS1lbGVtZW50IiwibWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZSJdLFsxLCJtYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnQiLDMsImNka09ic2VydmVDb250ZW50Il0sWyJsYWJlbENvbnRlbnQiLCIiXSxbMiwiZGlzcGxheSIsIm5vbmUiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKEhmKCksQ2YoMCwibGFiZWwiLDAsMSksQ2YoMiwiZGl2IiwyLDMpLENmKDQsImlucHV0Iiw0LDUpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLl9vbkNoYW5nZUV2ZW50KGUpfSkpKCJjbGljayIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uX29uSW5wdXRDbGljayhlKX0pKSxNZigpLENmKDYsImRpdiIsNiw3KSx2Zig4LCJkaXYiLDgpLENmKDksImRpdiIsOSksdmYoMTAsImRpdiIsMTApLE1mKCksTWYoKSxNZigpLENmKDExLCJzcGFuIiwxMSwxMiksUmYoImNka09ic2VydmVDb250ZW50IiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLl9vbkxhYmVsVGV4dENoYW5nZSgpfSkpLENmKDEzLCJzcGFuIiwxMyksUHUoMTQsIsKgIiksTWYoKSxGZigxNSksTWYoKSxNZigpKSwyJmUpe2NvbnN0IHQ9Rm0oMSksZT1GbSgxMik7eW0oImZvciIsbi5pbnB1dElkKSxEYygyKSxjdSgibWF0LXNsaWRlLXRvZ2dsZS1iYXItbm8tc2lkZS1tYXJnaW4iLCFlLnRleHRDb250ZW50fHwhZS50ZXh0Q29udGVudC50cmltKCkpLERjKDIpLGJmKCJpZCIsbi5pbnB1dElkKSgicmVxdWlyZWQiLG4ucmVxdWlyZWQpKCJ0YWJJbmRleCIsbi50YWJJbmRleCkoImNoZWNrZWQiLG4uY2hlY2tlZCkoImRpc2FibGVkIixuLmRpc2FibGVkKSx5bSgibmFtZSIsbi5uYW1lKSgiYXJpYS1jaGVja2VkIixuLmNoZWNrZWQudG9TdHJpbmcoKSkoImFyaWEtbGFiZWwiLG4uYXJpYUxhYmVsKSgiYXJpYS1sYWJlbGxlZGJ5IixuLmFyaWFMYWJlbGxlZGJ5KSgiYXJpYS1kZXNjcmliZWRieSIsbi5hcmlhRGVzY3JpYmVkYnkpLERjKDUpLGJmKCJtYXRSaXBwbGVUcmlnZ2VyIix0KSgibWF0UmlwcGxlRGlzYWJsZWQiLG4uZGlzYWJsZVJpcHBsZXx8bi5kaXNhYmxlZCkoIm1hdFJpcHBsZUNlbnRlcmVkIiwhMCkoIm1hdFJpcHBsZVJhZGl1cyIsMjApKCJtYXRSaXBwbGVBbmltYXRpb24iLGl5KDE4LGhPdCxuLl9ub29wQW5pbWF0aW9ucz8wOjE1MCkpfX0sZGlyZWN0aXZlczpbbUwsUEhdLHN0eWxlczpbIi5tYXQtc2xpZGUtdG9nZ2xle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyNHB4O21heC13aWR0aDoxMDAlO2xpbmUtaGVpZ2h0OjI0cHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVye3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxNnB4LCAwLCAwKX1bZGlyPXJ0bF0gLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVye3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTZweCwgMCwgMCl9Lm1hdC1zbGlkZS10b2dnbGUubWF0LWRpc2FibGVke29wYWNpdHk6LjM4fS5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1kaXNhYmxlZCAubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbCwubWF0LXNsaWRlLXRvZ2dsZS5tYXQtZGlzYWJsZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVye2N1cnNvcjpkZWZhdWx0fS5tYXQtc2xpZGUtdG9nZ2xlLWxhYmVsey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtkaXNwbGF5OmZsZXg7ZmxleDoxO2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OmluaGVyaXQ7Y3Vyc29yOnBvaW50ZXJ9Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudHt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lm1hdC1zbGlkZS10b2dnbGUtbGFiZWwtYmVmb3JlIC5tYXQtc2xpZGUtdG9nZ2xlLWxhYmVse29yZGVyOjF9Lm1hdC1zbGlkZS10b2dnbGUtbGFiZWwtYmVmb3JlIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntvcmRlcjoyfVtkaXI9cnRsXSAubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbC1iZWZvcmUgLm1hdC1zbGlkZS10b2dnbGUtYmFyLC5tYXQtc2xpZGUtdG9nZ2xlLWJhcnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0OjB9W2Rpcj1ydGxdIC5tYXQtc2xpZGUtdG9nZ2xlLWJhciwubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbC1iZWZvcmUgLm1hdC1zbGlkZS10b2dnbGUtYmFye21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MH0ubWF0LXNsaWRlLXRvZ2dsZS1iYXItbm8tc2lkZS1tYXJnaW57bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MH0ubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7dG9wOi0zcHg7bGVmdDowO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLCAwLCAwKTt0cmFuc2l0aW9uOmFsbCA4MG1zIGxpbmVhcjt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVye3RyYW5zaXRpb246bm9uZX1bZGlyPXJ0bF0gLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVye2xlZnQ6YXV0bztyaWdodDowfS5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7Ym9yZGVyLXJhZGl1czo1MCV9Lm1hdC1zbGlkZS10b2dnbGUtYmFye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjM2cHg7aGVpZ2h0OjE0cHg7ZmxleC1zaHJpbms6MDtib3JkZXItcmFkaXVzOjhweH0ubWF0LXNsaWRlLXRvZ2dsZS1pbnB1dHtib3R0b206MDtsZWZ0OjEwcHh9W2Rpcj1ydGxdIC5tYXQtc2xpZGUtdG9nZ2xlLWlucHV0e2xlZnQ6YXV0bztyaWdodDoxMHB4fS5tYXQtc2xpZGUtdG9nZ2xlLWJhciwubWF0LXNsaWRlLXRvZ2dsZS10aHVtYnt0cmFuc2l0aW9uOmFsbCA4MG1zIGxpbmVhcjt0cmFuc2l0aW9uLXByb3BlcnR5OmJhY2tncm91bmQtY29sb3I7dHJhbnNpdGlvbi1kZWxheTo1MG1zfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlLXRvZ2dsZS1iYXIsLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie3RyYW5zaXRpb246bm9uZX0ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS1yaXBwbGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOmNhbGMoNTAlIC0gMjBweCk7bGVmdDpjYWxjKDUwJSAtIDIwcHgpO2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1hdC1zbGlkZS10b2dnbGUgLm1hdC1zbGlkZS10b2dnbGUtcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtc2xpZGUtdG9nZ2xlLXBlcnNpc3RlbnQtcmlwcGxlKXtvcGFjaXR5Oi4xMn0ubWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RyYW5zZm9ybTpub25lfS5tYXQtc2xpZGUtdG9nZ2xlLWJhcjpob3ZlciAubWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZXtvcGFjaXR5Oi4wNH0ubWF0LXNsaWRlLXRvZ2dsZTpub3QoLm1hdC1kaXNhYmxlZCkuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1zbGlkZS10b2dnbGUtcGVyc2lzdGVudC1yaXBwbGV7b3BhY2l0eTouMTJ9Lm1hdC1zbGlkZS10b2dnbGUtcGVyc2lzdGVudC1yaXBwbGUsLm1hdC1zbGlkZS10b2dnbGUubWF0LWRpc2FibGVkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcjpob3ZlciAubWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZXtvcGFjaXR5OjB9QG1lZGlhKGhvdmVyOiBub25lKXsubWF0LXNsaWRlLXRvZ2dsZS1iYXI6aG92ZXIgLm1hdC1zbGlkZS10b2dnbGUtcGVyc2lzdGVudC1yaXBwbGV7ZGlzcGxheTpub25lfX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iLC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbGlkZS10b2dnbGUtYmFye2JvcmRlcjoxcHggc29saWR9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNsaWRlLXRvZ2dsZS5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7b3V0bGluZToycHggZG90dGVkO291dGxpbmUtb2Zmc2V0OjVweH1cbiJdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLHZPdC5jdG9yUGFyYW1ldGVycz0oKT0+W3t0eXBlOktofSx7dHlwZTpmRn0se3R5cGU6T2J9LHt0eXBlOlN0cmluZyxkZWNvcmF0b3JzOlt7dHlwZTokYSxhcmdzOlsidGFiaW5kZXgiXX1dfSx7dHlwZTp2b2lkIDAsZGVjb3JhdG9yczpbe3R5cGU6THIsYXJnczpbYk90XX1dfSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6QnJ9LHt0eXBlOkxyLGFyZ3M6W2NrXX1dfV0sdk90LnByb3BEZWNvcmF0b3JzPXtfdGh1bWJFbDpbe3R5cGU6YXIsYXJnczpbInRodW1iQ29udGFpbmVyIl19XSxfdGh1bWJCYXJFbDpbe3R5cGU6YXIsYXJnczpbInRvZ2dsZUJhciJdfV0sbmFtZTpbe3R5cGU6Ul99XSxpZDpbe3R5cGU6Ul99XSxsYWJlbFBvc2l0aW9uOlt7dHlwZTpSX31dLGFyaWFMYWJlbDpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWwiXX1dLGFyaWFMYWJlbGxlZGJ5Olt7dHlwZTpSXyxhcmdzOlsiYXJpYS1sYWJlbGxlZGJ5Il19XSxhcmlhRGVzY3JpYmVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWRlc2NyaWJlZGJ5Il19XSxyZXF1aXJlZDpbe3R5cGU6Ul99XSxjaGVja2VkOlt7dHlwZTpSX31dLGNoYW5nZTpbe3R5cGU6RV99XSx0b2dnbGVDaGFuZ2U6W3t0eXBlOkVffV0sX2lucHV0RWxlbWVudDpbe3R5cGU6YXIsYXJnczpbImlucHV0Il19XX0sKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYih2T3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZSIsZXhwb3J0QXM6Im1hdFNsaWRlVG9nZ2xlIixob3N0OntjbGFzczoibWF0LXNsaWRlLXRvZ2dsZSIsIltpZF0iOiJpZCIsIlthdHRyLnRhYmluZGV4XSI6ImRpc2FibGVkID8gbnVsbCA6IC0xIiwiW2F0dHIuYXJpYS1sYWJlbF0iOiJudWxsIiwiW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSI6Im51bGwiLCJbY2xhc3MubWF0LWNoZWNrZWRdIjoiY2hlY2tlZCIsIltjbGFzcy5tYXQtZGlzYWJsZWRdIjoiZGlzYWJsZWQiLCJbY2xhc3MubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbC1iZWZvcmVdIjonbGFiZWxQb3NpdGlvbiA9PSAiYmVmb3JlIicsIltjbGFzcy5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZV0iOiJfbm9vcEFuaW1hdGlvbnMifSx0ZW1wbGF0ZTonPGxhYmVsIFthdHRyLmZvcl09ImlucHV0SWQiIGNsYXNzPSJtYXQtc2xpZGUtdG9nZ2xlLWxhYmVsIiAjbGFiZWw+XG4gIDxkaXYgI3RvZ2dsZUJhciBjbGFzcz0ibWF0LXNsaWRlLXRvZ2dsZS1iYXIiXG4gICAgICAgW2NsYXNzLm1hdC1zbGlkZS10b2dnbGUtYmFyLW5vLXNpZGUtbWFyZ2luXT0iIWxhYmVsQ29udGVudC50ZXh0Q29udGVudCB8fCAhbGFiZWxDb250ZW50LnRleHRDb250ZW50LnRyaW0oKSI+XG5cbiAgICA8aW5wdXQgI2lucHV0IGNsYXNzPSJtYXQtc2xpZGUtdG9nZ2xlLWlucHV0IGNkay12aXN1YWxseS1oaWRkZW4iIHR5cGU9ImNoZWNrYm94IlxuICAgICAgICAgICByb2xlPSJzd2l0Y2giXG4gICAgICAgICAgIFtpZF09ImlucHV0SWQiXG4gICAgICAgICAgIFtyZXF1aXJlZF09InJlcXVpcmVkIlxuICAgICAgICAgICBbdGFiSW5kZXhdPSJ0YWJJbmRleCJcbiAgICAgICAgICAgW2NoZWNrZWRdPSJjaGVja2VkIlxuICAgICAgICAgICBbZGlzYWJsZWRdPSJkaXNhYmxlZCJcbiAgICAgICAgICAgW2F0dHIubmFtZV09Im5hbWUiXG4gICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09ImNoZWNrZWQudG9TdHJpbmcoKSJcbiAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09ImFyaWFMYWJlbCJcbiAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT0iYXJpYUxhYmVsbGVkYnkiXG4gICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPSJhcmlhRGVzY3JpYmVkYnkiXG4gICAgICAgICAgIChjaGFuZ2UpPSJfb25DaGFuZ2VFdmVudCgkZXZlbnQpIlxuICAgICAgICAgICAoY2xpY2spPSJfb25JbnB1dENsaWNrKCRldmVudCkiPlxuXG4gICAgPGRpdiBjbGFzcz0ibWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXIiICN0aHVtYkNvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3M9Im1hdC1zbGlkZS10b2dnbGUtdGh1bWIiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz0ibWF0LXNsaWRlLXRvZ2dsZS1yaXBwbGUgbWF0LWZvY3VzLWluZGljYXRvciIgbWF0LXJpcHBsZVxuICAgICAgICAgICBbbWF0UmlwcGxlVHJpZ2dlcl09ImxhYmVsIlxuICAgICAgICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPSJkaXNhYmxlUmlwcGxlIHx8IGRpc2FibGVkIlxuICAgICAgICAgICBbbWF0UmlwcGxlQ2VudGVyZWRdPSJ0cnVlIlxuICAgICAgICAgICBbbWF0UmlwcGxlUmFkaXVzXT0iMjAiXG4gICAgICAgICAgIFttYXRSaXBwbGVBbmltYXRpb25dPSJ7ZW50ZXJEdXJhdGlvbjogX25vb3BBbmltYXRpb25zID8gMCA6IDE1MH0iPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9Im1hdC1yaXBwbGUtZWxlbWVudCBtYXQtc2xpZGUtdG9nZ2xlLXBlcnNpc3RlbnQtcmlwcGxlIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG4gIDxzcGFuIGNsYXNzPSJtYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnQiICNsYWJlbENvbnRlbnQgKGNka09ic2VydmVDb250ZW50KT0iX29uTGFiZWxUZXh0Q2hhbmdlKCkiPlxuICAgIFx4M2MhLS0gQWRkIGFuIGludmlzaWJsZSBzcGFuIHNvIEpBV1MgY2FuIHJlYWQgdGhlIGxhYmVsIC0tXHgzZVxuICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5Om5vbmUiPiZuYnNwOzwvc3Bhbj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvc3Bhbj5cbjwvbGFiZWw+XG4nLHByb3ZpZGVyczpbX090XSxpbnB1dHM6WyJkaXNhYmxlZCIsImRpc2FibGVSaXBwbGUiLCJjb2xvciIsInRhYkluZGV4Il0sZW5jYXBzdWxhdGlvbjpXbi5Ob25lLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsc3R5bGVzOlsiLm1hdC1zbGlkZS10b2dnbGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI0cHg7bWF4LXdpZHRoOjEwMCU7bGluZS1oZWlnaHQ6MjRweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTpub25lOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDE2cHgsIDAsIDApfVtkaXI9cnRsXSAubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xNnB4LCAwLCAwKX0ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtZGlzYWJsZWR7b3BhY2l0eTouMzh9Lm1hdC1zbGlkZS10b2dnbGUubWF0LWRpc2FibGVkIC5tYXQtc2xpZGUtdG9nZ2xlLWxhYmVsLC5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1kaXNhYmxlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXJ7Y3Vyc29yOmRlZmF1bHR9Lm1hdC1zbGlkZS10b2dnbGUtbGFiZWx7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2Rpc3BsYXk6ZmxleDtmbGV4OjE7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6aW5oZXJpdDtjdXJzb3I6cG9pbnRlcn0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50e3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbC1iZWZvcmUgLm1hdC1zbGlkZS10b2dnbGUtbGFiZWx7b3JkZXI6MX0ubWF0LXNsaWRlLXRvZ2dsZS1sYWJlbC1iZWZvcmUgLm1hdC1zbGlkZS10b2dnbGUtYmFye29yZGVyOjJ9W2Rpcj1ydGxdIC5tYXQtc2xpZGUtdG9nZ2xlLWxhYmVsLWJlZm9yZSAubWF0LXNsaWRlLXRvZ2dsZS1iYXIsLm1hdC1zbGlkZS10b2dnbGUtYmFye21hcmdpbi1yaWdodDo4cHg7bWFyZ2luLWxlZnQ6MH1bZGlyPXJ0bF0gLm1hdC1zbGlkZS10b2dnbGUtYmFyLC5tYXQtc2xpZGUtdG9nZ2xlLWxhYmVsLWJlZm9yZSAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDowfS5tYXQtc2xpZGUtdG9nZ2xlLWJhci1uby1zaWRlLW1hcmdpbnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjE7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDt0b3A6LTNweDtsZWZ0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIDAsIDApO3RyYW5zaXRpb246YWxsIDgwbXMgbGluZWFyO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfS5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXJ7dHJhbnNpdGlvbjpub25lfVtkaXI9cnRsXSAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXJ7bGVmdDphdXRvO3JpZ2h0OjB9Lm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtib3JkZXItcmFkaXVzOjUwJX0ubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MzZweDtoZWlnaHQ6MTRweDtmbGV4LXNocmluazowO2JvcmRlci1yYWRpdXM6OHB4fS5tYXQtc2xpZGUtdG9nZ2xlLWlucHV0e2JvdHRvbTowO2xlZnQ6MTBweH1bZGlyPXJ0bF0gLm1hdC1zbGlkZS10b2dnbGUtaW5wdXR7bGVmdDphdXRvO3JpZ2h0OjEwcHh9Lm1hdC1zbGlkZS10b2dnbGUtYmFyLC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1ie3RyYW5zaXRpb246YWxsIDgwbXMgbGluZWFyO3RyYW5zaXRpb24tcHJvcGVydHk6YmFja2dyb3VuZC1jb2xvcjt0cmFuc2l0aW9uLWRlbGF5OjUwbXN9Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIC5tYXQtc2xpZGUtdG9nZ2xlLWJhciwuX21hdC1hbmltYXRpb24tbm9vcGFibGUgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWJ7dHJhbnNpdGlvbjpub25lfS5tYXQtc2xpZGUtdG9nZ2xlIC5tYXQtc2xpZGUtdG9nZ2xlLXJpcHBsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Y2FsYyg1MCUgLSAyMHB4KTtsZWZ0OmNhbGMoNTAlIC0gMjBweCk7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX0ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudDpub3QoLm1hdC1zbGlkZS10b2dnbGUtcGVyc2lzdGVudC1yaXBwbGUpe29wYWNpdHk6LjEyfS5tYXQtc2xpZGUtdG9nZ2xlLXBlcnNpc3RlbnQtcmlwcGxle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dHJhbnNmb3JtOm5vbmV9Lm1hdC1zbGlkZS10b2dnbGUtYmFyOmhvdmVyIC5tYXQtc2xpZGUtdG9nZ2xlLXBlcnNpc3RlbnQtcmlwcGxle29wYWNpdHk6LjA0fS5tYXQtc2xpZGUtdG9nZ2xlOm5vdCgubWF0LWRpc2FibGVkKS5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZXtvcGFjaXR5Oi4xMn0ubWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZSwubWF0LXNsaWRlLXRvZ2dsZS5tYXQtZGlzYWJsZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFyOmhvdmVyIC5tYXQtc2xpZGUtdG9nZ2xlLXBlcnNpc3RlbnQtcmlwcGxle29wYWNpdHk6MH1AbWVkaWEoaG92ZXI6IG5vbmUpey5tYXQtc2xpZGUtdG9nZ2xlLWJhcjpob3ZlciAubWF0LXNsaWRlLXRvZ2dsZS1wZXJzaXN0ZW50LXJpcHBsZXtkaXNwbGF5Om5vbmV9fS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIsLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXNsaWRlLXRvZ2dsZS1iYXJ7Ym9yZGVyOjFweCBzb2xpZH0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtc2xpZGUtdG9nZ2xlLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcntvdXRsaW5lOjJweCBkb3R0ZWQ7b3V0bGluZS1vZmZzZXQ6NXB4fVxuIl19XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpLaH0se3R5cGU6ZkZ9LHt0eXBlOk9ifSx7dHlwZTpTdHJpbmcsZGVjb3JhdG9yczpbe3R5cGU6JGEsYXJnczpbInRhYmluZGV4Il19XX0se3R5cGU6dm9pZCAwLGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W2JPdF19XX0se3R5cGU6U3RyaW5nLGRlY29yYXRvcnM6W3t0eXBlOkJyfSx7dHlwZTpMcixhcmdzOltja119XX1dfSkse25hbWU6W3t0eXBlOlJffV0saWQ6W3t0eXBlOlJffV0sbGFiZWxQb3NpdGlvbjpbe3R5cGU6Ul99XSxhcmlhTGFiZWw6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWxhYmVsIl19XSxhcmlhTGFiZWxsZWRieTpbe3R5cGU6Ul8sYXJnczpbImFyaWEtbGFiZWxsZWRieSJdfV0sY2hhbmdlOlt7dHlwZTpFX31dLHRvZ2dsZUNoYW5nZTpbe3R5cGU6RV99XSxyZXF1aXJlZDpbe3R5cGU6Ul99XSxjaGVja2VkOlt7dHlwZTpSX31dLF90aHVtYkVsOlt7dHlwZTphcixhcmdzOlsidGh1bWJDb250YWluZXIiXX1dLF90aHVtYkJhckVsOlt7dHlwZTphcixhcmdzOlsidG9nZ2xlQmFyIl19XSxhcmlhRGVzY3JpYmVkYnk6W3t0eXBlOlJfLGFyZ3M6WyJhcmlhLWRlc2NyaWJlZGJ5Il19XSxfaW5wdXRFbGVtZW50Olt7dHlwZTphcixhcmdzOlsiaW5wdXQiXX1dfSk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjb25zdCB4T3Q9e3Byb3ZpZGU6RVUsdXNlRXhpc3Rpbmc6JGUoKCgpPT5PT3QpKSxtdWx0aTohMH07Y2xhc3MgT090IGV4dGVuZHMgVkd7fU9PdC7JtWZhYz0oZnVuY3Rpb24oKXtsZXQgdDtyZXR1cm4gZnVuY3Rpb24gZShuKXtyZXR1cm4odHx8KHQ9VWEoT090KSkpKG58fE9PdCl9fSkoKSxPT3QuybVkaXI9aG8oe3R5cGU6T090LHNlbGVjdG9yczpbWyJtYXQtc2xpZGUtdG9nZ2xlIiwicmVxdWlyZWQiLCIiLCJmb3JtQ29udHJvbE5hbWUiLCIiXSxbIm1hdC1zbGlkZS10b2dnbGUiLCJyZXF1aXJlZCIsIiIsImZvcm1Db250cm9sIiwiIl0sWyJtYXQtc2xpZGUtdG9nZ2xlIiwicmVxdWlyZWQiLCIiLCJuZ01vZGVsIiwiIl1dLGZlYXR1cmVzOltqaChbeE90XSksUXBdfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihPT3QsW3t0eXBlOmtfLGFyZ3M6W3tzZWxlY3RvcjoibWF0LXNsaWRlLXRvZ2dsZVtyZXF1aXJlZF1bZm9ybUNvbnRyb2xOYW1lXSxcbiAgICAgICAgICAgICBtYXQtc2xpZGUtdG9nZ2xlW3JlcXVpcmVkXVtmb3JtQ29udHJvbF0sIG1hdC1zbGlkZS10b2dnbGVbcmVxdWlyZWRdW25nTW9kZWxdIixwcm92aWRlcnM6W3hPdF19XX1dLG51bGwsbnVsbCk7Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLwpjbGFzcyBQT3R7fVBPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UE90KX0sUE90Lsm1bW9kPWZvKHt0eXBlOlBPdH0pLFBPdC7JtWluaj1Ebih7fSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihQT3QsW3t0eXBlOkxfLGFyZ3M6W3tleHBvcnRzOltPT3RdLGRlY2xhcmF0aW9uczpbT090XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFBPdCx7ZGVjbGFyYXRpb25zOltPT3RdLGV4cG9ydHM6W09PdF19KTtjbGFzcyB3T3R7fWZ1bmN0aW9uIGtPdCh0LGUpezEmdCYmdmYoMCwibWF0LWljb24iLDMpfXdPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8d090KX0sd090Lsm1bW9kPWZvKHt0eXBlOndPdH0pLHdPdC7JtWluaj1Ebih7aW1wb3J0czpbW1BPdCxmTCxORix3SF0sUE90LE5GXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIod090LFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbUE90LGZMLE5GLHdIXSxleHBvcnRzOltQT3Qsdk90LE5GXSxkZWNsYXJhdGlvbnM6W3ZPdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byh3T3Qse2RlY2xhcmF0aW9uczpmdW5jdGlvbigpe3JldHVyblt2T3RdfSxpbXBvcnRzOmZ1bmN0aW9uKCl7cmV0dXJuW1BPdCxmTCxORix3SF19LGV4cG9ydHM6ZnVuY3Rpb24oKXtyZXR1cm5bUE90LHZPdCxORl19fSk7Y2xhc3MgU090e2NvbnN0cnVjdG9yKCl7dGhpcy5vblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2U9bmV3IFN5fX1TT3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFNPdCl9LFNPdC7JtWNtcD1zbyh7dHlwZTpTT3Qsc2VsZWN0b3JzOltbIm5wbWktYW5ub3RhdGlvbnMtc2VhcmNoLWNvbXBvbmVudCJdXSxob3N0VmFyczoyLGhvc3RCaW5kaW5nczpmdW5jdGlvbiB0KGUsbil7MiZlJiZjdSgidmFsaWQiLG4uaXNSZWdleEZpbHRlclZhbGlkKX0saW5wdXRzOntyZWdleEZpbHRlclZhbHVlOiJyZWdleEZpbHRlclZhbHVlIixpc1JlZ2V4RmlsdGVyVmFsaWQ6ImlzUmVnZXhGaWx0ZXJWYWxpZCJ9LG91dHB1dHM6e29uUmVnZXhGaWx0ZXJWYWx1ZUNoYW5nZToib25SZWdleEZpbHRlclZhbHVlQ2hhbmdlIn0sZGVjbHM6Myx2YXJzOjIsY29uc3RzOltbInN2Z0ljb24iLCJzZWFyY2hfMjRweCJdLFsiYXV0b2NvbXBsZXRlIiwib2ZmIiwicGxhY2Vob2xkZXIiLCJGaWx0ZXIgQW5ub3RhdGlvbnMiLDMsInZhbHVlIiwiaW5wdXQiXSxbInN2Z0ljb24iLCJlcnJvcl8yNHB4IiwiY2xhc3MiLCJlcnJvci1pY29uIiwibWF0VG9vbHRpcCIsIkludmFsaWQgcmVnZXggZmlsdGVyLiBUaGUgcmVzdWx0IG1heSBiZSBzdGFsZS4iLDQsIm5nSWYiXSxbInN2Z0ljb24iLCJlcnJvcl8yNHB4IiwibWF0VG9vbHRpcCIsIkludmFsaWQgcmVnZXggZmlsdGVyLiBUaGUgcmVzdWx0IG1heSBiZSBzdGFsZS4iLDEsImVycm9yLWljb24iXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsIm1hdC1pY29uIiwwKSxDZigxLCJpbnB1dCIsMSksUmYoImlucHV0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2UuZW1pdChlLnRhcmdldC52YWx1ZSl9KSksTWYoKSxIbSgyLGtPdCwxLDAsIm1hdC1pY29uIiwyKSksMiZlJiYoRGMoMSksYmYoInZhbHVlIixuLnJlZ2V4RmlsdGVyVmFsdWUpLERjKDEpLGJmKCJuZ0lmIiwhbi5pc1JlZ2V4RmlsdGVyVmFsaWQpKX0sZGlyZWN0aXZlczpbTXEsUHZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV06bm90KC52YWxpZCl7Y29sb3I6I2M2MjgyOH1bX25naG9zdC0lQ09NUCVdOm5vdCgudmFsaWQpICAgaW5wdXRbX25nY29udGVudC0lQ09NUCVde2NhcmV0LWNvbG9yOmN1cnJlbnRDb2xvcn1bX25naG9zdC0lQ09NUCVdOm5vdCgudmFsaWQpICAgLmVycm9yLWljb25bX25nY29udGVudC0lQ09NUCVde2NvbG9yOiNjNjI4Mjg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoU090LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktYW5ub3RhdGlvbnMtc2VhcmNoLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vYW5ub3RhdGlvbnNfc2VhcmNoX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2Fubm90YXRpb25zX3NlYXJjaF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7cmVnZXhGaWx0ZXJWYWx1ZTpbe3R5cGU6Ul99XSxvblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2U6W3t0eXBlOkVffV0saXNSZWdleEZpbHRlclZhbGlkOlt7dHlwZTpBXyxhcmdzOlsiY2xhc3MudmFsaWQiXX0se3R5cGU6Ul99XX0pO2NsYXNzIERPdHtjb25zdHJ1Y3Rvcih0KXt0aGlzLnN0b3JlPXQsdGhpcy5hbm5vdGF0aW9uc0ZpbHRlciQ9dGhpcy5zdG9yZS5zZWxlY3QoUXZ0KSx0aGlzLmlzQW5ub3RhdGlvbnNGaWx0ZXJWYWxpZCQ9dGhpcy5hbm5vdGF0aW9uc0ZpbHRlciQucGlwZShWdCgodD0+e3RyeXtyZXR1cm4gbmV3IFJlZ0V4cCh0KSwhMH1jYXRjaCh0KXtyZXR1cm4hMX19KSkpfWZpbHRlckNoYW5nZSh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKHZ2dCh7cmVnZXg6dH0pKX19ZnVuY3Rpb24gUk90KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7eGYoMCksQ2YoMSwiYnV0dG9uIiw1KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKCl7UGkodCk7Y29uc3Qgbj16ZigpO3JldHVybiBuLm9uRmxhZ0Fubm90YXRpb25zLmVtaXQobi5zZWxlY3RlZEFubm90YXRpb25zKX0pKSx2ZigyLCJtYXQtaWNvbiIsNiksTWYoKSxDZigzLCJidXR0b24iLDcpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtjb25zdCBuPXpmKCk7cmV0dXJuIG4ub25IaWRlQW5ub3RhdGlvbnMuZW1pdChuLnNlbGVjdGVkQW5ub3RhdGlvbnMpfSkpLHZmKDQsIm1hdC1pY29uIiw4KSxNZigpLE9mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksYmYoImRpc2FibGVkIiwwPT09dC5zZWxlY3RlZEFubm90YXRpb25zLmxlbmd0aCksRGMoMiksYmYoImRpc2FibGVkIiwwPT09dC5zZWxlY3RlZEFubm90YXRpb25zLmxlbmd0aCl9fWZ1bmN0aW9uIEVPdCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO3hmKDApLENmKDEsIm1hdC1zbGlkZS10b2dnbGUiLDkpLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkub25Ub2dnbGVTaG93Q291bnRzLmVtaXQoKX0pKSxQdSgyLCIgU2FtcGxlIENvdW50ICIpLE1mKCksQ2YoMywibWF0LXNsaWRlLXRvZ2dsZSIsMTApLFJmKCJjaGFuZ2UiLChmdW5jdGlvbiBlKCl7UGkodCk7cmV0dXJuIHpmKCkub25Ub2dnbGVTaG93SGlkZGVuLmVtaXQoKX0pKSxQdSg0LCIgU2hvdyBIaWRkZW4gIiksTWYoKSx2Zig1LCJucG1pLWFubm90YXRpb25zLXNlYXJjaCIpLE9mKCl9aWYoMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksYmYoImNoZWNrZWQiLHQuc2hvd0NvdW50cyksRGMoMiksYmYoImNoZWNrZWQiLHQuc2hvd0hpZGRlbil9fURPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RE90KShnZihpUykpfSxET3QuybVjbXA9c28oe3R5cGU6RE90LHNlbGVjdG9yczpbWyJucG1pLWFubm90YXRpb25zLXNlYXJjaCJdXSxkZWNsczozLHZhcnM6Nixjb25zdHM6W1szLCJyZWdleEZpbHRlclZhbHVlIiwiaXNSZWdleEZpbHRlclZhbGlkIiwib25SZWdleEZpbHRlclZhbHVlQ2hhbmdlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJucG1pLWFubm90YXRpb25zLXNlYXJjaC1jb21wb25lbnQiLDApLFJmKCJvblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2UiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLmZpbHRlckNoYW5nZShlKX0pKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksTWYoKSksMiZlJiZiZigicmVnZXhGaWx0ZXJWYWx1ZSIsQ3koMSwyLG4uYW5ub3RhdGlvbnNGaWx0ZXIkKSkoImlzUmVnZXhGaWx0ZXJWYWxpZCIsQ3koMiw0LG4uaXNBbm5vdGF0aW9uc0ZpbHRlclZhbGlkJCkpfSxkaXJlY3RpdmVzOltTT3RdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihET3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibnBtaS1hbm5vdGF0aW9ucy1zZWFyY2giLHRlbXBsYXRlOidcbiAgICA8bnBtaS1hbm5vdGF0aW9ucy1zZWFyY2gtY29tcG9uZW50XG4gICAgICBbcmVnZXhGaWx0ZXJWYWx1ZV09ImFubm90YXRpb25zRmlsdGVyJCB8IGFzeW5jIlxuICAgICAgW2lzUmVnZXhGaWx0ZXJWYWxpZF09ImlzQW5ub3RhdGlvbnNGaWx0ZXJWYWxpZCQgfCBhc3luYyJcbiAgICAgIChvblJlZ2V4RmlsdGVyVmFsdWVDaGFuZ2UpPSJmaWx0ZXJDaGFuZ2UoJGV2ZW50KSJcbiAgICA+PC9ucG1pLWFubm90YXRpb25zLXNlYXJjaC1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjbGFzcyBBT3R7Y29uc3RydWN0b3IoKXt0aGlzLm9uRmxhZ0Fubm90YXRpb25zPW5ldyBTeSx0aGlzLm9uSGlkZUFubm90YXRpb25zPW5ldyBTeSx0aGlzLm9uVG9nZ2xlRXhwYW5kZWQ9bmV3IFN5LHRoaXMub25Ub2dnbGVTaG93Q291bnRzPW5ldyBTeSx0aGlzLm9uVG9nZ2xlU2hvd0hpZGRlbj1uZXcgU3l9fUFPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8QU90KX0sQU90Lsm1Y21wPXNvKHt0eXBlOkFPdCxzZWxlY3RvcnM6W1sibnBtaS1hbm5vdGF0aW9ucy1saXN0LXRvb2xiYXItY29tcG9uZW50Il1dLGlucHV0czp7bnVtQW5ub3RhdGlvbnM6Im51bUFubm90YXRpb25zIixleHBhbmRlZDoiZXhwYW5kZWQiLHNlbGVjdGVkQW5ub3RhdGlvbnM6InNlbGVjdGVkQW5ub3RhdGlvbnMiLGFubm90YXRpb25zRXhwYW5kZWQ6ImFubm90YXRpb25zRXhwYW5kZWQiLHNob3dDb3VudHM6InNob3dDb3VudHMiLHNob3dIaWRkZW46InNob3dIaWRkZW4ifSxvdXRwdXRzOntvbkZsYWdBbm5vdGF0aW9uczoib25GbGFnQW5ub3RhdGlvbnMiLG9uSGlkZUFubm90YXRpb25zOiJvbkhpZGVBbm5vdGF0aW9ucyIsb25Ub2dnbGVFeHBhbmRlZDoib25Ub2dnbGVFeHBhbmRlZCIsb25Ub2dnbGVTaG93Q291bnRzOiJvblRvZ2dsZVNob3dDb3VudHMiLG9uVG9nZ2xlU2hvd0hpZGRlbjoib25Ub2dnbGVTaG93SGlkZGVuIn0sZGVjbHM6Nyx2YXJzOjQsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQsZSxuO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXt0PWdvb2cuZ2V0TXNnKCJIaWRlcy9TaG93cyB0aGUgQW5ub3RhdGlvbnMgTGlzdCIpfWVsc2UgdD0kbG9jYWxpemVgOkxhYmVsIGZvciBhIGJ1dHRvbiB0aGF0IGhpZGVzL3Nob3dzIHRoZSBhbm5vdGF0aW9ucyBsaXN0LuKQn2IzNjAzYmEzM2U1MzA4ZGQ4YzVlODA1ZTUwOGIyZjcyMzNkZjg5ZDTikJ83MzM2Mzc0NDEzMDU2MzQyNDkyOkhpZGVzL1Nob3dzIHRoZSBBbm5vdGF0aW9ucyBMaXN0YDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7ZT1nb29nLmdldE1zZygiRmxhZyBTZWxlY3RlZCBBbm5vdGF0aW9ucyIpfWVsc2UgZT0kbG9jYWxpemVgOkxhYmVsIGZvciBhIGJ1dHRvbiB0aGF0IGZsYWdzIHNlbGVjdGVkIGFubm90YXRpb25zLuKQnzU2OTJhZDg4MzEwMzhhOTBjNTg2M2ExZTlhZGY5NzQ4Y2FjM2NhZDjikJ8yMjQ0MDk5ODkxMzEzMzM2NTk1OkZsYWcgU2VsZWN0ZWQgQW5ub3RhdGlvbnNgO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXtuPWdvb2cuZ2V0TXNnKCJIaWRlIFNlbGVjdGVkIEFubm90YXRpb25zIil9ZWxzZSBuPSRsb2NhbGl6ZWA6TGFiZWwgZm9yIGEgYnV0dG9uIHRoYXQgaGlkZXMgc2VsZWN0ZWQgYW5ub3RhdGlvbnMu4pCfMDM0MmNkYjMzNThmYThlM2ZhMjcyMjBhODI1OGE3Mjg3NDMwYjcwZuKQnzU0NjI4MzIzOTEwOTIwODc0ODU6SGlkZSBTZWxlY3RlZCBBbm5vdGF0aW9uc2A7cmV0dXJuW1sxLCJhbm5vdGF0aW9ucy10aXRsZS1jb250YWluZXIiXSxbMSwiYW5ub3RhdGlvbnMtdGl0bGUiXSxbNCwibmdJZiJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsdCwxLCJleHBhbmQtYnV0dG9uIiwzLCJjbGljayJdLFszLCJzdmdJY29uIl0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJhcmlhLWxhYmVsIixlLCJ0aXRsZSIsIkZsYWdnaW5nIGFubm90YXRpb25zIGFkZHMgdGhlbSB0byB5b3VyIGludmVzdGlnYXRpb24gcmVzdWx0cywgd2hpY2ggY2FuIGxhdGVyIGJlIGV4cG9ydGVkLiIsMywiZGlzYWJsZWQiLCJjbGljayJdLFsic3ZnSWNvbiIsImZsYWdfMjRweCJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsbiwidGl0bGUiLCJSZW1vdmluZyBub24tY3JpdGljYWwgYW5ub3RhdGlvbnMgdW5jbHV0dGVycyB0aGUgdmlldy4gUmVtb3ZlZCBhbm5vdGF0aW9ucyBhcmUgcmVtb3ZlZCBmcm9tIGFsbCB2aXN1YWxpemF0aW9ucy4iLDMsImRpc2FibGVkIiwiY2xpY2siXSxbInN2Z0ljb24iLCJ2aXNpYmlsaXR5X29mZl8yNHB4Il0sWyJ0aXRsZSIsIkhpZGVzIGFuZCBzaG93cyB0aGUgc2FtcGxlIGNvdW50IHdoZXJlIGFwcGxpY2FibGUgKGhvdyBtYW55IHNhbXBsZXMgYmVsb25nIHRvIGEgY2F0ZWdvcnkpLiIsMSwic2hvdy10b2dnbGUiLDMsImNoZWNrZWQiLCJjaGFuZ2UiXSxbInRpdGxlIiwiSGlkZXMgYW5kIHNob3dzIGhpZGRlbiBhbm5vdGF0aW9ucyBpbiBhbGwgdmlzdWFsaXphdGlvbnMuIiwxLCJzaG93LXRvZ2dsZSIsMywiY2hlY2tlZCIsImNoYW5nZSJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwiaDMiLDEpLFB1KDIpLE1mKCksSG0oMyxST3QsNSwyLCJuZy1jb250YWluZXIiLDIpLE1mKCksSG0oNCxFT3QsNiwyLCJuZy1jb250YWluZXIiLDIpLENmKDUsImJ1dHRvbiIsMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uVG9nZ2xlRXhwYW5kZWQuZW1pdCgpfSkpLHZmKDYsIm1hdC1pY29uIiw0KSxNZigpKSwyJmUmJihEYygyKSxrdSgiQW5ub3RhdGlvbnMgKCIsbi5udW1Bbm5vdGF0aW9ucywiKSIpLERjKDEpLGJmKCJuZ0lmIixuLmV4cGFuZGVkKSxEYygxKSxiZigibmdJZiIsbi5leHBhbmRlZCksRGMoMiksYmYoInN2Z0ljb24iLG4uZXhwYW5kZWQ/ImV4cGFuZF9sZXNzXzI0cHgiOiJleHBhbmRfbW9yZV8yNHB4IikpfSxkaXJlY3RpdmVzOltQdixOTCxNcSx2T3QsRE90XSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjAgMTZweDt3aWR0aDoxMDAlfS5hbm5vdGF0aW9ucy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmU7Zm9udC1zaXplOi45ZW07Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmctcmlnaHQ6MTBweH0uYW5ub3RhdGlvbnMtdGl0bGUtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDpub3dyYXA7ZmxleDoxIDE7aGVpZ2h0OjQycHh9LnNob3ctdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6LjllbTttYXJnaW4tcmlnaHQ6LjhlbX0nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoQU90LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktYW5ub3RhdGlvbnMtbGlzdC10b29sYmFyLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vYW5ub3RhdGlvbnNfbGlzdF90b29sYmFyX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2Fubm90YXRpb25zX2xpc3RfdG9vbGJhcl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bnVtQW5ub3RhdGlvbnM6W3t0eXBlOlJffV0sZXhwYW5kZWQ6W3t0eXBlOlJffV0sc2VsZWN0ZWRBbm5vdGF0aW9uczpbe3R5cGU6Ul99XSxhbm5vdGF0aW9uc0V4cGFuZGVkOlt7dHlwZTpSX31dLHNob3dDb3VudHM6W3t0eXBlOlJffV0sc2hvd0hpZGRlbjpbe3R5cGU6Ul99XSxvbkZsYWdBbm5vdGF0aW9uczpbe3R5cGU6RV99XSxvbkhpZGVBbm5vdGF0aW9uczpbe3R5cGU6RV99XSxvblRvZ2dsZUV4cGFuZGVkOlt7dHlwZTpFX31dLG9uVG9nZ2xlU2hvd0NvdW50czpbe3R5cGU6RV99XSxvblRvZ2dsZVNob3dIaWRkZW46W3t0eXBlOkVffV19KTtjbGFzcyBUT3R7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9ucyQ9dGhpcy5zdG9yZS5zZWxlY3QoWHZ0KSx0aGlzLmFubm90YXRpb25zRXhwYW5kZWQkPXRoaXMuc3RvcmUuc2VsZWN0KGl4dCksdGhpcy5zaG93Q291bnRzJD10aGlzLnN0b3JlLnNlbGVjdChyeHQpLHRoaXMuc2hvd0hpZGRlbiQ9dGhpcy5zdG9yZS5zZWxlY3Qoc3h0KSx0aGlzLmFubm90YXRpb25zRmlsdGVyJD10aGlzLnN0b3JlLnNlbGVjdChRdnQpLHRoaXMuaXNBbm5vdGF0aW9uc0ZpbHRlclZhbGlkJD10aGlzLmFubm90YXRpb25zRmlsdGVyJC5waXBlKFZ0KCh0PT57dHJ5e3JldHVybiBCb29sZWFuKG5ldyBSZWdFeHAodCkpfWNhdGNoKHQpe3JldHVybiExfX0pKSl9ZmlsdGVyQ2hhbmdlKHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2godnZ0KHtyZWdleDp0fSkpfWZsYWdBbm5vdGF0aW9ucyh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKEN2dCh7YW5ub3RhdGlvbnM6dH0pKX1oaWRlQW5ub3RhdGlvbnModCl7dGhpcy5zdG9yZS5kaXNwYXRjaChNdnQoe2Fubm90YXRpb25zOnR9KSl9dG9nZ2xlRXhwYW5kZWQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKFJ2dCgpKX10b2dnbGVTaG93Q291bnRzKCl7dGhpcy5zdG9yZS5kaXNwYXRjaChBdnQoKSl9dG9nZ2xlU2hvd0hpZGRlbigpe3RoaXMuc3RvcmUuZGlzcGF0Y2goVHZ0KCkpfX1UT3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFRPdCkoZ2YoaVMpKX0sVE90Lsm1Y21wPXNvKHt0eXBlOlRPdCxzZWxlY3RvcnM6W1sibnBtaS1hbm5vdGF0aW9ucy1saXN0LXRvb2xiYXIiXV0saW5wdXRzOntudW1Bbm5vdGF0aW9uczoibnVtQW5ub3RhdGlvbnMiLGV4cGFuZGVkOiJleHBhbmRlZCJ9LGRlY2xzOjUsdmFyczoxNCxjb25zdHM6W1szLCJudW1Bbm5vdGF0aW9ucyIsImV4cGFuZGVkIiwic2VsZWN0ZWRBbm5vdGF0aW9ucyIsImFubm90YXRpb25zRXhwYW5kZWQiLCJzaG93Q291bnRzIiwic2hvd0hpZGRlbiIsIm9uRmxhZ0Fubm90YXRpb25zIiwib25IaWRlQW5ub3RhdGlvbnMiLCJvblRvZ2dsZUV4cGFuZGVkIiwib25Ub2dnbGVTaG93Q291bnRzIiwib25Ub2dnbGVTaG93SGlkZGVuIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJucG1pLWFubm90YXRpb25zLWxpc3QtdG9vbGJhci1jb21wb25lbnQiLDApLFJmKCJvbkZsYWdBbm5vdGF0aW9ucyIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uZmxhZ0Fubm90YXRpb25zKGUpfSkpKCJvbkhpZGVBbm5vdGF0aW9ucyIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uaGlkZUFubm90YXRpb25zKGUpfSkpKCJvblRvZ2dsZUV4cGFuZGVkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLnRvZ2dsZUV4cGFuZGVkKCl9KSkoIm9uVG9nZ2xlU2hvd0NvdW50cyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi50b2dnbGVTaG93Q291bnRzKCl9KSkoIm9uVG9nZ2xlU2hvd0hpZGRlbiIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi50b2dnbGVTaG93SGlkZGVuKCl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJudW1Bbm5vdGF0aW9ucyIsbi5udW1Bbm5vdGF0aW9ucykoImV4cGFuZGVkIixuLmV4cGFuZGVkKSgic2VsZWN0ZWRBbm5vdGF0aW9ucyIsQ3koMSw2LG4uc2VsZWN0ZWRBbm5vdGF0aW9ucyQpKSgiYW5ub3RhdGlvbnNFeHBhbmRlZCIsQ3koMiw4LG4uYW5ub3RhdGlvbnNFeHBhbmRlZCQpKSgic2hvd0NvdW50cyIsQ3koMywxMCxuLnNob3dDb3VudHMkKSkoInNob3dIaWRkZW4iLEN5KDQsMTIsbi5zaG93SGlkZGVuJCkpfSxkaXJlY3RpdmVzOltBT3RdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihUT3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibnBtaS1hbm5vdGF0aW9ucy1saXN0LXRvb2xiYXIiLHRlbXBsYXRlOidcbiAgICA8bnBtaS1hbm5vdGF0aW9ucy1saXN0LXRvb2xiYXItY29tcG9uZW50XG4gICAgICBbbnVtQW5ub3RhdGlvbnNdPSJudW1Bbm5vdGF0aW9ucyJcbiAgICAgIFtleHBhbmRlZF09ImV4cGFuZGVkIlxuICAgICAgW3NlbGVjdGVkQW5ub3RhdGlvbnNdPSJzZWxlY3RlZEFubm90YXRpb25zJCB8IGFzeW5jIlxuICAgICAgW2Fubm90YXRpb25zRXhwYW5kZWRdPSJhbm5vdGF0aW9uc0V4cGFuZGVkJCB8IGFzeW5jIlxuICAgICAgW3Nob3dDb3VudHNdPSJzaG93Q291bnRzJCB8IGFzeW5jIlxuICAgICAgW3Nob3dIaWRkZW5dPSJzaG93SGlkZGVuJCB8IGFzeW5jIlxuICAgICAgKG9uRmxhZ0Fubm90YXRpb25zKT0iZmxhZ0Fubm90YXRpb25zKCRldmVudCkiXG4gICAgICAob25IaWRlQW5ub3RhdGlvbnMpPSJoaWRlQW5ub3RhdGlvbnMoJGV2ZW50KSJcbiAgICAgIChvblRvZ2dsZUV4cGFuZGVkKT0idG9nZ2xlRXhwYW5kZWQoKSJcbiAgICAgIChvblRvZ2dsZVNob3dDb3VudHMpPSJ0b2dnbGVTaG93Q291bnRzKCkiXG4gICAgICAob25Ub2dnbGVTaG93SGlkZGVuKT0idG9nZ2xlU2hvd0hpZGRlbigpIlxuICAgID48L25wbWktYW5ub3RhdGlvbnMtbGlzdC10b29sYmFyLWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLHtudW1Bbm5vdGF0aW9uczpbe3R5cGU6Ul99XSxleHBhbmRlZDpbe3R5cGU6Ul99XX0pO2NvbnN0IE5PdD1bImdseXBoIl07Y2xhc3Mgek90e25nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuc3ZnPW44KHRoaXMuZ2x5cGhTVkcubmF0aXZlRWxlbWVudCksdGhpcy5tYWluQ29udGFpbmVyPXRoaXMuc3ZnLmFwcGVuZCgiZyIpLHRoaXMuZHJhdygpfWRyYXcoKXsiY2lyY2xlIj09dGhpcy5zaGFwZT90aGlzLm1haW5Db250YWluZXIuYXBwZW5kKCJjaXJjbGUiKS5hdHRyKCJmaWxsIix0aGlzLmNvbG9yKS5hdHRyKCJzdHJva2UiLCJibGFjayIpLmF0dHIoImN4Iiw1KS5hdHRyKCJjeSIsNSkuYXR0cigiciIsNSk6ImJhciI9PXRoaXMuc2hhcGU/dGhpcy5tYWluQ29udGFpbmVyLmFwcGVuZCgicmVjdCIpLmF0dHIoImZpbGwiLHRoaXMuY29sb3IpLmF0dHIoIngiLDApLmF0dHIoInkiLDApLmF0dHIoIndpZHRoIiwxMCkuYXR0cigiaGVpZ2h0IiwxMCk6InJ1bkluZGljYXRvciI9PXRoaXMuc2hhcGUmJnRoaXMubWFpbkNvbnRhaW5lci5hcHBlbmQoImciKS5hcHBlbmQoInBhdGgiKS5hdHRyKCJmaWxsIix0aGlzLmNvbG9yKS5hdHRyKCJzdHJva2UiLCJibGFjayIpLmF0dHIoImQiLCJNIDIgMCBMIDEwIDAgTCA3IDUgTCAxMCAxMCBMIDIgMTAgWiIpfX16T3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHpPdCl9LHpPdC7JtWNtcD1zbyh7dHlwZTp6T3Qsc2VsZWN0b3JzOltbIm5wbWktbGVnZW5kLWVsZW1lbnQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJlZ5KE5PdCw3LEtoKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLmdseXBoU1ZHPXQuZmlyc3QpfX0saW5wdXRzOnt0ZXh0OiJ0ZXh0Iixjb2xvcjoiY29sb3IiLHNoYXBlOiJzaGFwZSJ9LGRlY2xzOjQsdmFyczoxLGNvbnN0czpbWzEsImdseXBoIl0sWyJnbHlwaCIsIiJdLFsxLCJsZWdlbmQtZWxlbWVudC10aXRsZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYob2EoKSx2ZigwLCJzdmciLDAsMSksYWEoKSxDZigyLCJkaXYiLDIpLFB1KDMpLE1mKCkpLDImZSYmKERjKDMpLHd1KG4udGV4dCkpfSxzdHlsZXM6WyJbX25naG9zdC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5OmZsZXg7cGFkZGluZy1yaWdodDoxMHB4fS5sZWdlbmQtZWxlbWVudC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOi44ZW07cGFkZGluZy1sZWZ0OjVweH0uZ2x5cGhbX25nY29udGVudC0lQ09NUCVde3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHh9Il0sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHpPdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLWxlZ2VuZC1lbGVtZW50Iix0ZW1wbGF0ZVVybDoiLi9sZWdlbmRfZWxlbWVudF9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9sZWdlbmRfZWxlbWVudF9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7dGV4dDpbe3R5cGU6Ul99XSxjb2xvcjpbe3R5cGU6Ul99XSxzaGFwZTpbe3R5cGU6Ul99XSxnbHlwaFNWRzpbe3R5cGU6YXIsYXJnczpbImdseXBoIix7c3RhdGljOiEwLHJlYWQ6S2h9XX1dfSk7Y2xhc3MgSU90e31mdW5jdGlvbiBIT3QodCxlKXtpZigxJnQmJnZmKDAsIm1hdC1pY29uIiw4KSwyJnQpe2NvbnN0IHQ9emYoMik7YmYoInN2Z0ljb24iLHQuc29ydC5vcmRlcj09PXQuU29ydE9yZGVyLkRFU0NFTkRJTkc/ImFycm93X2Rvd253YXJkXzI0cHgiOiJhcnJvd191cHdhcmRfMjRweCIpKCJuZ0NsYXNzIix0LnNvcnQub3JkZXI9PT10LlNvcnRPcmRlci5ERVNDRU5ESU5HPyJkb3duLWljb24iOiJ1cC1pY29uIil9fWZ1bmN0aW9uIEZPdCh0LGUpe2lmKDEmdCl7Y29uc3QgdD13ZigpO0NmKDAsImRpdiIsNCksQ2YoMSwiZGl2Iiw1KSxDZigyLCJkaXYiLDYpLFJmKCJjbGljayIsKGZ1bmN0aW9uIGUoKXtjb25zdCBuPVBpKHQpLiRpbXBsaWNpdDtyZXR1cm4gemYoKS5vbkNoYW5nZVNvcnQuZW1pdChuKX0pKSxQdSgzKSxIbSg0LEhPdCwxLDIsIm1hdC1pY29uIiw3KSxNZigpLE1mKCksTWYoKX1pZigyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigpO0RjKDMpLGt1KCIgIixuLnN0cmlwTWV0cmljKHQpLCIgIiksRGMoMSksYmYoIm5nSWYiLHQ9PT1uLnNvcnQubWV0cmljKX19SU90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxJT3QpfSxJT3QuybVjbXA9c28oe3R5cGU6SU90LHNlbGVjdG9yczpbWyJucG1pLWFubm90YXRpb25zLWxpc3QtbGVnZW5kIl1dLGRlY2xzOjQsdmFyczowLGNvbnN0czpbWyJ0ZXh0IiwicnVuIGluZGljYXRvciIsImNvbG9yIiwicmdiKDAsMCwwKSIsInNoYXBlIiwicnVuSW5kaWNhdG9yIl0sWyJ0ZXh0IiwicG9zaXRpdmUgY29ycmVsYXRpb24iLCJjb2xvciIsInJnYigxMDksIDE3NCwgMjEzKSIsInNoYXBlIiwiYmFyIl0sWyJ0ZXh0IiwibmVnYXRpdmUgY29ycmVsYXRpb24iLCJjb2xvciIsInJnYigyNDksIDEwNSwgNzYpIiwic2hhcGUiLCJiYXIiXSxbInRleHQiLCJzYW1wbGUgY291bnQiLCJjb2xvciIsInJnYigxNTEsIDE1MSwgMTUxKSIsInNoYXBlIiwiY2lyY2xlIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJucG1pLWxlZ2VuZC1lbGVtZW50IiwwKSx2ZigxLCJucG1pLWxlZ2VuZC1lbGVtZW50IiwxKSx2ZigyLCJucG1pLWxlZ2VuZC1lbGVtZW50IiwyKSx2ZigzLCJucG1pLWxlZ2VuZC1lbGVtZW50IiwzKSl9LGRpcmVjdGl2ZXM6W3pPdF0sc3R5bGVzOlsiW19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cGFkZGluZzowIDE2cHh9Il19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKElPdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLWFubm90YXRpb25zLWxpc3QtbGVnZW5kIix0ZW1wbGF0ZVVybDoiLi9sZWdlbmRfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbIi4vbGVnZW5kX2NvbXBvbmVudC5jc3MiXX1dfV0sbnVsbCxudWxsKTtjbGFzcyBMT3R7Y29uc3RydWN0b3IoKXt0aGlzLm9uQ2hhbmdlU29ydD1uZXcgU3ksdGhpcy5vbkFsbEFubm90YXRpb25zVG9nZ2xlZD1uZXcgU3ksdGhpcy5Tb3J0T3JkZXI9VXZ0fXN0cmlwTWV0cmljKHQpe3JldHVybiB6X3QodCl9fUxPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TE90KX0sTE90Lsm1Y21wPXNvKHt0eXBlOkxPdCxzZWxlY3RvcnM6W1sibnBtaS1hbm5vdGF0aW9ucy1saXN0LWhlYWRlci1jb21wb25lbnQiXV0saW5wdXRzOntudW1Bbm5vdGF0aW9uczoibnVtQW5ub3RhdGlvbnMiLHNlbGVjdGVkQW5ub3RhdGlvbnM6InNlbGVjdGVkQW5ub3RhdGlvbnMiLGFjdGl2ZU1ldHJpY3M6ImFjdGl2ZU1ldHJpY3MiLHNvcnQ6InNvcnQifSxvdXRwdXRzOntvbkNoYW5nZVNvcnQ6Im9uQ2hhbmdlU29ydCIsb25BbGxBbm5vdGF0aW9uc1RvZ2dsZWQ6Im9uQWxsQW5ub3RhdGlvbnNUb2dnbGVkIn0sZGVjbHM6NCx2YXJzOjIsY29uc3RzOltbMSwidG9nZ2xlLWFsbC1jb250YWluZXIiXSxbMywiY2hlY2tlZCIsImNoYW5nZSJdLFsxLCJhbm5vdGF0aW9ucy1oZWFkZXItY29udGFpbmVycyJdLFsiY2xhc3MiLCJoZWFkZXItY29sdW1uIiw0LCJuZ0ZvciIsIm5nRm9yT2YiXSxbMSwiaGVhZGVyLWNvbHVtbiJdLFsxLCJoZWFkZXItY29udGFpbmVyIl0sWyJ0YWJpbmRleCIsIjAiLCJyb2xlIiwiYnV0dG9uIiwidGl0bGUiLCJDaGFuZ2UgdGhlIHNvcnQgYnkgY2xpY2tpbmcgYW55IG9mIHRoZSBtZXRyaWNzLiIsMSwiaGVhZGVyLWNsaWNrYWJsZSIsMywiY2xpY2siXSxbImNsYXNzIiwic29ydC1pY29uIiwzLCJzdmdJY29uIiwibmdDbGFzcyIsNCwibmdJZiJdLFsxLCJzb3J0LWljb24iLDMsInN2Z0ljb24iLCJuZ0NsYXNzIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLENmKDEsIm1hdC1jaGVja2JveCIsMSksUmYoImNoYW5nZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ub25BbGxBbm5vdGF0aW9uc1RvZ2dsZWQuZW1pdChlLmNoZWNrZWQpfSkpLE1mKCksTWYoKSxDZigyLCJkaXYiLDIpLEhtKDMsRk90LDUsMiwiZGl2IiwzKSxNZigpKSwyJmUmJihEYygxKSxiZigiY2hlY2tlZCIsbi5zZWxlY3RlZEFubm90YXRpb25zLmxlbmd0aD09PW4ubnVtQW5ub3RhdGlvbnMpLERjKDIpLGJmKCJuZ0Zvck9mIixuLmFjdGl2ZU1ldHJpY3MpKX0sZGlyZWN0aXZlczpbYloseHYsUHYsTXEsQ3ZdLHN0eWxlczpbJy5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWJhZGdlLXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtYmFkZ2UtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHh9Lm1hdC1oMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaGVhZGxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTZweC8yOHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN1YmhlYWRpbmctMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZ1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVde21hcmdpbjowIDAgMTJweH0ubWF0LXNtYWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXB0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxMnB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktNFtfbmdjb250ZW50LSVDT01QJV17Zm9udDozMDAgMTEycHgvMTEycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjA1ZW07bWFyZ2luOjAgMCA1NnB4fS5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0zW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA1NnB4LzU2cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAyZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCA0NXB4LzQ4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0wLjAwNWVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMzRweC80MHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCA2NHB4fS5tYXQtYm90dG9tLXNoZWV0LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXJhaXNlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdHJva2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmxhdC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZhYltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbWluaS1mYWJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyMHB4fS5tYXQtY2FyZC1zdWJ0aXRsZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FyZC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNoZWNrYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jaGVja2JveC1sYXlvdXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGVja2JveC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNoaXBbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE4cHh9Lm1hdC10YWJsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtaGVhZGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvb3Rlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1jYWxlbmRhci1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTNweH0ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICB0aFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDB9Lm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS4xMjU7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNTAlO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuNWVtO3dpZHRoOjEuNWVtfS5tYXQtZm9ybS1maWVsZC1wcmVmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17dG9wOi0wLjg0Mzc1ZW07cGFkZGluZy10b3A6Ljg0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6NzUlO21hcmdpbi10b3A6LjY2NjY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS43OTE2NjY2NjY3ZW0pfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjQzNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4yODEyNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpfX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjA5Mzc1ZW07bWFyZ2luLXRvcDotMC41ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuODQzNzVlbTttYXJnaW4tdG9wOi0wLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNDMzMzMzJX0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMiksIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fWlucHV0Lm1hdC1pbnB1dC1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXBhZ2luYXRvcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9Lm1hdC1yYWRpby1idXR0b25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtfS5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6bm9ybWFsfS5tYXQtc3RlcC1sYWJlbC1lcnJvcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10YWItZ3JvdXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRhYi1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGFiLWxpbmtbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg2W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXBbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtwYWRkaW5nLXRvcDo2cHg7cGFkZGluZy1ib3R0b206NnB4fS5tYXQtdG9vbHRpcC1oYW5kc2V0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxNHB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpe2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4fS5tYXQtb3B0Z3JvdXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtc2ltcGxlLXNuYWNrYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoxO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdHJlZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE0cHh9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV06bm90KDplbXB0eSl7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWRbX25nY29udGVudC0lQ09NUCVde292ZXJmbG93OnZpc2libGV9Lm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5Om5vbmV9LmNkay12aXN1YWxseS1oaWRkZW5bX25nY29udGVudC0lQ09NUCVde2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdXRsaW5lOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV0sIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17cG9pbnRlci1ldmVudHM6bm9uZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV06ZW1wdHl7ZGlzcGxheTpub25lfS5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktcGFuZVtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMDA7cG9pbnRlci1ldmVudHM6YXV0bzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjpvcGFjaXR5IDQwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO29wYWNpdHk6MH0uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eToxfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMzIpfS5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV0sIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3hbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHh9LmNkay1nbG9iYWwtc2Nyb2xsYmxvY2tbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplW19uZ2NvbnRlbnQtJUNPTVAlXXtyZXNpemU6bm9uZX10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDphdXRvICFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuICFpbXBvcnRhbnR9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHt9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmR7fS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOi13ZWJraXQtYXV0b2ZpbGwpe2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zfS5tYXQtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfVtfbmdob3N0LSVDT01QJV17Ym9yZGVyLWJvdHRvbToycHggc29saWQgI2ViZWJlYjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjI4cHg7YWxpZ24taXRlbXM6ZmxleC1lbmQ7bWFyZ2luLXRvcDo4cHh9LmFubm90YXRpb25zLWhlYWRlci1jb250YWluZXJzW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOi45ZW07Zm9udC13ZWlnaHQ6NTAwO2ZsZXgtZ3JvdzoxfS5oZWFkZXItY29sdW1uW19uZ2NvbnRlbnQtJUNPTVAlXXtmbGV4OjEgMX0uaGVhZGVyLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTppbmxpbmUtYmxvY2t9LmhlYWRlci1jbGlja2FibGVbX25nY29udGVudC0lQ09NUCVde2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6ZmxleDtvdXRsaW5lOm5vbmV9LnRvZ2dsZS1hbGwtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tbGVmdDoxMHB4O3dpZHRoOjkwcHh9LnNvcnQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjE2cHh9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKExPdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLWFubm90YXRpb25zLWxpc3QtaGVhZGVyLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vaGVhZGVyX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2hlYWRlcl9jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7bnVtQW5ub3RhdGlvbnM6W3t0eXBlOlJffV0sc2VsZWN0ZWRBbm5vdGF0aW9uczpbe3R5cGU6Ul99XSxhY3RpdmVNZXRyaWNzOlt7dHlwZTpSX31dLHNvcnQ6W3t0eXBlOlJffV0sb25DaGFuZ2VTb3J0Olt7dHlwZTpFX31dLG9uQWxsQW5ub3RhdGlvbnNUb2dnbGVkOlt7dHlwZTpFX31dfSk7Y2xhc3MgQk90e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbnMkPXRoaXMuc3RvcmUuc2VsZWN0KFh2dCksdGhpcy5hbm5vdGF0aW9uU29ydCQ9dGhpcy5zdG9yZS5zZWxlY3Qobnh0KX1jaGFuZ2VTb3J0KHQpe3RoaXMuc3RvcmUuZGlzcGF0Y2goa3Z0KHttZXRyaWM6dH0pKX1hbGxBbm5vdGF0aW9uc1RvZ2dsZWQodCl7dGhpcy5zdG9yZS5kaXNwYXRjaCh5dnQodD97YW5ub3RhdGlvbnM6T2JqZWN0LmtleXModGhpcy5hbm5vdGF0aW9ucyl9Onthbm5vdGF0aW9uczpbXX0pKX19Qk90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxCT3QpKGdmKGlTKSl9LEJPdC7JtWNtcD1zbyh7dHlwZTpCT3Qsc2VsZWN0b3JzOltbIm5wbWktYW5ub3RhdGlvbnMtbGlzdC1oZWFkZXIiXV0saW5wdXRzOntudW1Bbm5vdGF0aW9uczoibnVtQW5ub3RhdGlvbnMiLGFubm90YXRpb25zOiJhbm5vdGF0aW9ucyIsYWN0aXZlTWV0cmljczoiYWN0aXZlTWV0cmljcyJ9LGRlY2xzOjMsdmFyczo4LGNvbnN0czpbWzMsIm51bUFubm90YXRpb25zIiwic2VsZWN0ZWRBbm5vdGF0aW9ucyIsInNvcnQiLCJhY3RpdmVNZXRyaWNzIiwib25DaGFuZ2VTb3J0Iiwib25BbGxBbm5vdGF0aW9uc1RvZ2dsZWQiXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsIm5wbWktYW5ub3RhdGlvbnMtbGlzdC1oZWFkZXItY29tcG9uZW50IiwwKSxSZigib25DaGFuZ2VTb3J0IiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5jaGFuZ2VTb3J0KGUpfSkpKCJvbkFsbEFubm90YXRpb25zVG9nZ2xlZCIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4uYWxsQW5ub3RhdGlvbnNUb2dnbGVkKGUpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJudW1Bbm5vdGF0aW9ucyIsbi5udW1Bbm5vdGF0aW9ucykoInNlbGVjdGVkQW5ub3RhdGlvbnMiLEN5KDEsNCxuLnNlbGVjdGVkQW5ub3RhdGlvbnMkKSkoInNvcnQiLEN5KDIsNixuLmFubm90YXRpb25Tb3J0JCkpKCJhY3RpdmVNZXRyaWNzIixuLmFjdGl2ZU1ldHJpY3MpfSxkaXJlY3RpdmVzOltMT3RdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihCT3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibnBtaS1hbm5vdGF0aW9ucy1saXN0LWhlYWRlciIsdGVtcGxhdGU6J1xuICAgIDxucG1pLWFubm90YXRpb25zLWxpc3QtaGVhZGVyLWNvbXBvbmVudFxuICAgICAgW251bUFubm90YXRpb25zXT0ibnVtQW5ub3RhdGlvbnMiXG4gICAgICBbc2VsZWN0ZWRBbm5vdGF0aW9uc109InNlbGVjdGVkQW5ub3RhdGlvbnMkIHwgYXN5bmMiXG4gICAgICBbc29ydF09ImFubm90YXRpb25Tb3J0JCB8IGFzeW5jIlxuICAgICAgW2FjdGl2ZU1ldHJpY3NdPSJhY3RpdmVNZXRyaWNzIlxuICAgICAgKG9uQ2hhbmdlU29ydCk9ImNoYW5nZVNvcnQoJGV2ZW50KSJcbiAgICAgIChvbkFsbEFubm90YXRpb25zVG9nZ2xlZCk9ImFsbEFubm90YXRpb25zVG9nZ2xlZCgkZXZlbnQpIlxuICAgID48L25wbWktYW5ub3RhdGlvbnMtbGlzdC1oZWFkZXItY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse251bUFubm90YXRpb25zOlt7dHlwZTpSX31dLGFubm90YXRpb25zOlt7dHlwZTpSX31dLGFjdGl2ZU1ldHJpY3M6W3t0eXBlOlJffV19KTtjb25zdCBWT3Q9WyJjaGFydCJdLGpPdD1bImhpbnRDbGlwIl07ZnVuY3Rpb24gVU90KHQsZSl7MSZ0JiZ2ZigwLCJtYXQtaWNvbiIsMTIpfWZ1bmN0aW9uIFdPdCh0LGUpezEmdCYmdmYoMCwibWF0LWljb24iLDEzKX1mdW5jdGlvbiBHT3QodCxlKXtpZigxJnQmJnZmKDAsIm1hdC1pY29uIiwxNCksMiZ0KXtjb25zdCB0PXpmKCk7YmYoInN2Z0ljb24iLHQuc29ydC5vcmRlcj09PXQuU29ydE9yZGVyLlNJTUlMQVI/ImFycm93X2Rvd253YXJkXzI0cHgiOiJhcnJvd191cHdhcmRfMjRweCIpKCJuZ0NsYXNzIix0LnNvcnQub3JkZXI9PT10LlNvcnRPcmRlci5TSU1JTEFSPyJkb3duLWljb24iOiJ1cC1pY29uIil9fWNsYXNzIFlPdHtjb25zdHJ1Y3Rvcigpe3RoaXMuc2VsZWN0ZWQ9ITEsdGhpcy5vblNob3dTaW1pbGFyQW5ub3RhdGlvbnM9bmV3IFN5LHRoaXMuU29ydE9yZGVyPVV2dCx0aGlzLndpZHRoPTEwLHRoaXMuY2hhcnRXaWR0aD0xMCx0aGlzLmNoYXJ0SGVpZ2h0PTEwLHRoaXMubWF4RG90UmFkaXVzPTEwLHRoaXMuY291bnREb3RPZmZzZXQ9NzAsdGhpcy5jb3VudFRleHRQYWRkaW5nPTIsdGhpcy5tYXJnaW49e3RvcDowLHJpZ2h0OjAsYm90dG9tOjAsbGVmdDoxMDB9LHRoaXMuc3Ryb2tlQ29sb3I9IiNmZmYiLHRoaXMudGV4dENsYXNzPSJkZWZhdWx0LXRleHQiLHRoaXMucnVucz1bXX1vblJlc2l6ZSh0KXt0aGlzLnJlZHJhdygpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuc3ZnPW44KHRoaXMuYW5ub3RhdGlvbkNvbnRhaW5lci5uYXRpdmVFbGVtZW50KS5zZWxlY3QoInN2ZyIpLHRoaXMueFNjYWxlPSRudCgpLnBhZGRpbmcoMCksdGhpcy55U2NhbGU9JG50KCkucGFkZGluZygwKSx0aGlzLnNpemVTY2FsZT1tb3QoKS5kb21haW4oWzAsMV0pLHRoaXMuY291bnRTaXplU2NhbGU9bW90KCkucmFuZ2UoWzIsdGhpcy5tYXhEb3RSYWRpdXNdKSx0aGlzLm1haW5Db250YWluZXI9dGhpcy5zdmcuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIixgdHJhbnNsYXRlKCR7dGhpcy5tYXJnaW4ubGVmdH0sICR7dGhpcy5tYXJnaW4udG9wfSlgKSx0aGlzLmJhcnNHcm91cD10aGlzLm1haW5Db250YWluZXIuYXBwZW5kKCJnIiksdGhpcy5jb3VudERvdHNHcm91cD10aGlzLm1haW5Db250YWluZXIuYXBwZW5kKCJnIiksdGhpcy50ZXh0c0dyb3VwPXRoaXMubWFpbkNvbnRhaW5lci5hcHBlbmQoImciKSx0aGlzLmNvdW50VGV4dHNHcm91cD10aGlzLm1haW5Db250YWluZXIuYXBwZW5kKCJnIiksdGhpcy5ydW5IaW50R3JvdXA9dGhpcy5zdmcuYXBwZW5kKCJnIiksdGhpcy5yZWRyYXcoKX1uZ09uQ2hhbmdlcyh0KXt0aGlzLnN2ZyYmdGhpcy5yZWRyYXcoKX1yZWRyYXcoKXt0aGlzLnNlbGVjdGVkPXRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9ucy5pbmNsdWRlcyh0aGlzLmFubm90YXRpb24pLHRoaXMudXBkYXRlRGltZW5zaW9ucygpLHRoaXMuc2V0VGV4dENsYXNzKCksdGhpcy51cGRhdGVBeGVzKCksdGhpcy5kcmF3KCl9dXBkYXRlRGltZW5zaW9ucygpe2NvbnN0IHQ9bmV3IFNldDt0aGlzLmRhdGEuZm9yRWFjaCgoZT0+e3QuYWRkKGUucnVuKX0pKSx0aGlzLnJ1bnM9Wy4uLnRdLHRoaXMuc3ZnLnN0eWxlKCJoZWlnaHQiLHRoaXMubnVtQWN0aXZlUnVucyp0aGlzLnJ1bkhlaWdodCsicHgiKSx0aGlzLmNoYXJ0SGVpZ2h0PXRoaXMucnVucy5sZW5ndGgqdGhpcy5ydW5IZWlnaHQtdGhpcy5tYXJnaW4udG9wLXRoaXMubWFyZ2luLmJvdHRvbSx0aGlzLndpZHRoPXRoaXMuYW5ub3RhdGlvbkNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRofHwxMCx0aGlzLmNoYXJ0V2lkdGg9dGhpcy53aWR0aC10aGlzLm1hcmdpbi5sZWZ0LXRoaXMubWFyZ2luLnJpZ2h0fXNldFRleHRDbGFzcygpe3RoaXMudGV4dENsYXNzPSJkZWZhdWx0LXRleHQiLHRoaXMuZmxhZ2dlZEFubm90YXRpb25zLmluY2x1ZGVzKHRoaXMuYW5ub3RhdGlvbik/dGhpcy50ZXh0Q2xhc3M9ImZsYWctdGV4dCI6dGhpcy5oaWRkZW5Bbm5vdGF0aW9ucy5pbmNsdWRlcyh0aGlzLmFubm90YXRpb24pJiYodGhpcy50ZXh0Q2xhc3M9ImhpZGRlbi10ZXh0Iil9dXBkYXRlQXhlcygpe3RoaXMueFNjYWxlLnJhbmdlUm91bmQoWzAsdGhpcy5jaGFydFdpZHRoLXRoaXMuY2hhcnRXaWR0aC90aGlzLmFjdGl2ZU1ldHJpY3MubGVuZ3RoXSkuZG9tYWluKHRoaXMuYWN0aXZlTWV0cmljcy5tYXAoKHQ9PnpfdCh0KSkpKSx0aGlzLnlTY2FsZS5yYW5nZVJvdW5kKFswLHRoaXMuY2hhcnRIZWlnaHQtdGhpcy5ydW5IZWlnaHRdKS5kb21haW4odGhpcy5ydW5zKSx0aGlzLnNpemVTY2FsZS5yYW5nZShbMCx0aGlzLmNoYXJ0V2lkdGgvdGhpcy5hY3RpdmVNZXRyaWNzLmxlbmd0aF0pLHRoaXMuY291bnRTaXplU2NhbGUuZG9tYWluKFswLHRoaXMubWF4Q291bnRdKX1kcmF3KCl7dGhpcy5kcmF3UnVuSW5kaWNhdG9ycygpLHRoaXMuZHJhd1J1bkhpbnRUZXh0cygpLHRoaXMuZHJhd0JhcnMoKSx0aGlzLmRyYXdUZXh0cygpLHRoaXMuc2hvd0NvdW50cz8odGhpcy5kcmF3Q291bnREb3RzKCksdGhpcy5kcmF3Q291bnRUZXh0cygpKToodGhpcy5jb3VudERvdHNHcm91cC5zZWxlY3RBbGwoIi5jb3VudC1kb3QiKS5yZW1vdmUoKSx0aGlzLmNvdW50VGV4dHNHcm91cC5zZWxlY3RBbGwoIi5jb3VudC1iYWNrZ3JvdW5kLXRleHQiKS5yZW1vdmUoKSx0aGlzLmNvdW50VGV4dHNHcm91cC5zZWxlY3RBbGwoIi5jb3VudC10ZXh0IikucmVtb3ZlKCkpfWRyYXdSdW5JbmRpY2F0b3JzKCl7bjgodGhpcy5jbGlwUGF0aEVsZW1lbnQubmF0aXZlRWxlbWVudCkuc2VsZWN0KCJyZWN0IikuYXR0cigid2lkdGgiLHRoaXMubWFyZ2luLmxlZnQtMzApLmF0dHIoImhlaWdodCIsdGhpcy5jaGFydEhlaWdodCk7Y29uc3QgdD10aGlzLnJ1bkhpbnRHcm91cC5zZWxlY3RBbGwoIi5oaW50IikuZGF0YSh0aGlzLnJ1bnMpLGU9dC5lbnRlcigpLmFwcGVuZCgiZyIpLmF0dHIoImNsYXNzIiwiaGludCIpO2UuYXBwZW5kKCJwYXRoIikuYXR0cigiZCIsIk0gMCAwIEwgMTUgMCBMIDEwIDEwIEwgMTUgMjAgTCAwIDIwIFoiKSxlLm1lcmdlKHQpLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuYHRyYW5zbGF0ZSgxMCwgJHt0aGlzLnlTY2FsZSh0KSs1fSlgfS5iaW5kKHRoaXMpKS5hdHRyKCJmaWxsIixmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jb2xvclNjYWxlKHQpfS5iaW5kKHRoaXMpKSx0LmV4aXQoKS5yZW1vdmUoKX1kcmF3UnVuSGludFRleHRzKCl7Y29uc3QgdD10aGlzLnJ1bkhpbnRHcm91cC5zZWxlY3RBbGwoIi5oaW50LXRleHQiKS5kYXRhKHRoaXMucnVucyk7dC5lbnRlcigpLmFwcGVuZCgidGV4dCIpLmF0dHIoIngiLDI1KS5hdHRyKCJmb250LXNpemUiLCIxMHB4IikuYXR0cigiYWxpZ25tZW50LWJhc2VsaW5lIiwibWlkZGxlIikuYXR0cigiY2xpcC1wYXRoIiwidXJsKCNoaW50LWNsaXApIikubWVyZ2UodCkuYXR0cigieSIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueVNjYWxlKHQpKzE1fS5iaW5kKHRoaXMpKS5hdHRyKCJjbGFzcyIsYGhpbnQtdGV4dCAke3RoaXMudGV4dENsYXNzfWApLnRleHQoKHQ9Pnt2YXIgZTtyZXR1cm4obnVsbD09PShlPXRoaXMucnVuSWRUb1J1bnMuZ2V0KHQpKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5uYW1lKXx8IiJ9KSksdC5leGl0KCkucmVtb3ZlKCl9ZHJhd0JhcnMoKXtjb25zdCB0PXRoaXMuYmFyc0dyb3VwLnNlbGVjdEFsbCgiLmJhciIpLmRhdGEodGhpcy5kYXRhKTt0LmVudGVyKCkuYXBwZW5kKCJyZWN0IikuYXR0cigiY2xhc3MiLCJiYXIiKS5hdHRyKCJoZWlnaHQiLDIwKS5tZXJnZSh0KS5hdHRyKCJmaWxsIiwodD0+bnVsbD09PXQublBNSVZhbHVlPyIiOnQublBNSVZhbHVlPj0wP0VhdCh0Lm5QTUlWYWx1ZSk6VGF0KC0xKnQublBNSVZhbHVlKSkpLmF0dHIoIngiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnhTY2FsZSh0Lm1ldHJpYyl9LmJpbmQodGhpcykpLmF0dHIoInkiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnlTY2FsZSh0LnJ1bikrNX0uYmluZCh0aGlzKSkuYXR0cigid2lkdGgiLGZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dC5uUE1JVmFsdWU/MDp0aGlzLnNpemVTY2FsZShNYXRoLmFicyh0Lm5QTUlWYWx1ZSkpfS5iaW5kKHRoaXMpKSx0LmV4aXQoKS5yZW1vdmUoKX1kcmF3Q291bnREb3RzKCl7Y29uc3QgdD10aGlzLmNvdW50RG90c0dyb3VwLnNlbGVjdEFsbCgiLmNvdW50LWRvdCIpLmRhdGEodGhpcy5kYXRhKTt0LmVudGVyKCkuYXBwZW5kKCJjaXJjbGUiKS5hdHRyKCJjbGFzcyIsImNvdW50LWRvdCIpLmF0dHIoInN0cm9rZSIsImJsYWNrIikubWVyZ2UodCkuYXR0cigiZmlsbCIsZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PT10LmNvdW50VmFsdWU/IiI6QWF0KHQuY291bnRWYWx1ZS90aGlzLm1heENvdW50KX0uYmluZCh0aGlzKSkuYXR0cigiY3giLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnhTY2FsZSh0Lm1ldHJpYykrdGhpcy5jb3VudERvdE9mZnNldH0uYmluZCh0aGlzKSkuYXR0cigiY3kiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnlTY2FsZSh0LnJ1bikrdGhpcy5ydW5IZWlnaHQvMn0uYmluZCh0aGlzKSkuYXR0cigiciIsZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PT10LmNvdW50VmFsdWU/MDp0aGlzLmNvdW50U2l6ZVNjYWxlKHQuY291bnRWYWx1ZSl9LmJpbmQodGhpcykpLHQuZXhpdCgpLnJlbW92ZSgpfWRyYXdUZXh0cygpe2NvbnN0IHQ9dGhpcy50ZXh0c0dyb3VwLnNlbGVjdEFsbCgiLm5wbWktYmFja2dyb3VuZC10ZXh0IikuZGF0YSh0aGlzLmRhdGEpO3QuZW50ZXIoKS5hcHBlbmQoInRleHQiKS5hdHRyKCJjbGFzcyIsIm5wbWktYmFja2dyb3VuZC10ZXh0IikuYXR0cigic3Ryb2tlLXdpZHRoIiwzKS5hdHRyKCJzdHJva2UtbGluZWpvaW4iLCJyb3VuZCIpLmF0dHIoInN0cm9rZSIsdGhpcy5zdHJva2VDb2xvcikuYXR0cigiZm9udC1zaXplIiwiMTNweCIpLmF0dHIoImFsaWdubWVudC1iYXNlbGluZSIsIm1pZGRsZSIpLm1lcmdlKHQpLmF0dHIoIngiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnhTY2FsZSh0Lm1ldHJpYykrNX0uYmluZCh0aGlzKSkuYXR0cigieSIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueVNjYWxlKHQucnVuKSt0aGlzLnJ1bkhlaWdodC8yfS5iaW5kKHRoaXMpKS50ZXh0KCh0PT5udWxsPT09dC5uUE1JVmFsdWU/Im51bGwiOk1hdGgucm91bmQoMWUzKih0Lm5QTUlWYWx1ZStOdW1iZXIuRVBTSUxPTikpLzFlMykpLHQuZXhpdCgpLnJlbW92ZSgpO2NvbnN0IGU9dGhpcy50ZXh0c0dyb3VwLnNlbGVjdEFsbCgiLm5wbWktdGV4dCIpLmRhdGEodGhpcy5kYXRhKTtlLmVudGVyKCkuYXBwZW5kKCJ0ZXh0IikuYXR0cigiY2xhc3MiLCJucG1pLXRleHQiKS5hdHRyKCJmb250LXNpemUiLCIxM3B4IikuYXR0cigiYWxpZ25tZW50LWJhc2VsaW5lIiwibWlkZGxlIikubWVyZ2UoZSkuYXR0cigieCIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueFNjYWxlKHQubWV0cmljKSs1fS5iaW5kKHRoaXMpKS5hdHRyKCJ5IixmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy55U2NhbGUodC5ydW4pK3RoaXMucnVuSGVpZ2h0LzJ9LmJpbmQodGhpcykpLnRleHQoKHQ9Pm51bGw9PT10Lm5QTUlWYWx1ZT8ibnVsbCI6TWF0aC5yb3VuZCgxZTMqKHQublBNSVZhbHVlK051bWJlci5FUFNJTE9OKSkvMWUzKSksZS5leGl0KCkucmVtb3ZlKCl9ZHJhd0NvdW50VGV4dHMoKXtjb25zdCB0PXRoaXMuY291bnRUZXh0c0dyb3VwLnNlbGVjdEFsbCgiLmNvdW50LWJhY2tncm91bmQtdGV4dCIpLmRhdGEodGhpcy5kYXRhKTt0LmVudGVyKCkuYXBwZW5kKCJ0ZXh0IikuYXR0cigiY2xhc3MiLCJjb3VudC1iYWNrZ3JvdW5kLXRleHQiKS5hdHRyKCJzdHJva2Utd2lkdGgiLDMpLmF0dHIoInN0cm9rZS1saW5lam9pbiIsInJvdW5kIikuYXR0cigic3Ryb2tlIix0aGlzLnN0cm9rZUNvbG9yKS5hdHRyKCJmb250LXNpemUiLCIxMHB4IikuYXR0cigiYWxpZ25tZW50LWJhc2VsaW5lIiwibWlkZGxlIikubWVyZ2UodCkuYXR0cigieCIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueFNjYWxlKHQubWV0cmljKSt0aGlzLmNvdW50RG90T2Zmc2V0K3RoaXMuY291bnRUZXh0UGFkZGluZyt0aGlzLm1heERvdFJhZGl1c30uYmluZCh0aGlzKSkuYXR0cigieSIsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueVNjYWxlKHQucnVuKSt0aGlzLnJ1bkhlaWdodC8yfS5iaW5kKHRoaXMpKS50ZXh0KCh0PT5udWxsPT09dC5jb3VudFZhbHVlPyIiOkludGwuTnVtYmVyRm9ybWF0KCkuZm9ybWF0KHQuY291bnRWYWx1ZSkpKSx0LmV4aXQoKS5yZW1vdmUoKTtjb25zdCBlPXRoaXMuY291bnRUZXh0c0dyb3VwLnNlbGVjdEFsbCgiLmNvdW50LXRleHQiKS5kYXRhKHRoaXMuZGF0YSk7ZS5lbnRlcigpLmFwcGVuZCgidGV4dCIpLmF0dHIoImNsYXNzIiwiY291bnQtdGV4dCIpLmF0dHIoImZvbnQtc2l6ZSIsIjEwcHgiKS5hdHRyKCJhbGlnbm1lbnQtYmFzZWxpbmUiLCJtaWRkbGUiKS5tZXJnZShlKS5hdHRyKCJ4IixmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54U2NhbGUodC5tZXRyaWMpK3RoaXMuY291bnREb3RPZmZzZXQrdGhpcy5jb3VudFRleHRQYWRkaW5nK3RoaXMubWF4RG90UmFkaXVzfS5iaW5kKHRoaXMpKS5hdHRyKCJ5IixmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy55U2NhbGUodC5ydW4pK3RoaXMucnVuSGVpZ2h0LzJ9LmJpbmQodGhpcykpLnRleHQoKHQ9Pm51bGw9PT10LmNvdW50VmFsdWU/IiI6SW50bC5OdW1iZXJGb3JtYXQoKS5mb3JtYXQodC5jb3VudFZhbHVlKSkpLGUuZXhpdCgpLnJlbW92ZSgpfXNpbWlsYXJpdHlTb3J0KHQpe3RoaXMuaGFzRW1iZWRkaW5nJiYodC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLm9uU2hvd1NpbWlsYXJBbm5vdGF0aW9ucy5lbWl0KCkpfX1ZT3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFlPdCl9LFlPdC7JtWNtcD1zbyh7dHlwZTpZT3Qsc2VsZWN0b3JzOltbImFubm90YXRpb24tY29tcG9uZW50Il1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiYoVnkoVk90LDcsS2gpLFZ5KGpPdCw3LEtoKSksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5hbm5vdGF0aW9uQ29udGFpbmVyPXQuZmlyc3QpLEJ5KHQ9VXkoKSkmJihuLmNsaXBQYXRoRWxlbWVudD10LmZpcnN0KX19LGhvc3RWYXJzOjIsaG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJyZXNpemUiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25SZXNpemUoKX0pLCExLE9sKSwyJmUmJmN1KCJzZWxlY3RlZC1yb3ciLG4uc2VsZWN0ZWQpfSxpbnB1dHM6e2RhdGE6ImRhdGEiLG1heENvdW50OiJtYXhDb3VudCIsc2VsZWN0ZWRBbm5vdGF0aW9uczoic2VsZWN0ZWRBbm5vdGF0aW9ucyIsZmxhZ2dlZEFubm90YXRpb25zOiJmbGFnZ2VkQW5ub3RhdGlvbnMiLGhpZGRlbkFubm90YXRpb25zOiJoaWRkZW5Bbm5vdGF0aW9ucyIsYWN0aXZlTWV0cmljczoiYWN0aXZlTWV0cmljcyIsbnVtQWN0aXZlUnVuczoibnVtQWN0aXZlUnVucyIsc2hvd0NvdW50czoic2hvd0NvdW50cyIsYW5ub3RhdGlvbjoiYW5ub3RhdGlvbiIscnVuSGVpZ2h0OiJydW5IZWlnaHQiLGhhc0VtYmVkZGluZzoiaGFzRW1iZWRkaW5nIixzb3J0OiJzb3J0IixzaWRlYmFyV2lkdGg6InNpZGViYXJXaWR0aCIsY29sb3JTY2FsZToiY29sb3JTY2FsZSIscnVuSWRUb1J1bnM6InJ1bklkVG9SdW5zIn0sb3V0cHV0czp7b25TaG93U2ltaWxhckFubm90YXRpb25zOiJvblNob3dTaW1pbGFyQW5ub3RhdGlvbnMifSxmZWF0dXJlczpbcW9dLGRlY2xzOjE0LHZhcnM6MTAsY29uc3RzOltbMSwiYW5ub3RhdGlvbi10aXRsZSJdLFsxLCJhbm5vdGF0aW9uLWNoZWNrYm94IiwzLCJjaGVja2VkIiwiY2xpY2siXSxbMSwiYW5ub3RhdGlvbi1idXR0b24iLDMsIm5nQ2xhc3MiLCJjbGljayJdLFsiY2xhc3MiLCJmbGFnZ2VkLWljb24iLCJzdmdJY29uIiwiZmxhZ18yNHB4Iiw0LCJuZ0lmIl0sWyJjbGFzcyIsImhpZGRlbi1pY29uIiwic3ZnSWNvbiIsInZpc2liaWxpdHlfb2ZmXzI0cHgiLDQsIm5nSWYiXSxbImNsYXNzIiwiYW5ub3RhdGlvbi1pY29uIiwzLCJzdmdJY29uIiwibmdDbGFzcyIsNCwibmdJZiJdLFsxLCJjaGFydC1kaXYiXSxbImNoYXJ0IiwiIl0sWzEsImNoYXJ0LXN2ZyJdLFsiaWQiLCJoaW50LWNsaXAiXSxbImhpbnRDbGlwIiwiIl0sWyJ4IiwiMCIsInkiLCIwIl0sWyJzdmdJY29uIiwiZmxhZ18yNHB4IiwxLCJmbGFnZ2VkLWljb24iXSxbInN2Z0ljb24iLCJ2aXNpYmlsaXR5X29mZl8yNHB4IiwxLCJoaWRkZW4taWNvbiJdLFsxLCJhbm5vdGF0aW9uLWljb24iLDMsInN2Z0ljb24iLCJuZ0NsYXNzIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDApLENmKDEsIm1hdC1jaGVja2JveCIsMSksUmYoImNsaWNrIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpfSkpLE1mKCksQ2YoMiwiYnV0dG9uIiwyKSxSZigiY2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnNpbWlsYXJpdHlTb3J0KGUpfSkpLFB1KDMpLE1mKCksSG0oNCxVT3QsMSwwLCJtYXQtaWNvbiIsMyksSG0oNSxXT3QsMSwwLCJtYXQtaWNvbiIsNCksSG0oNixHT3QsMSwyLCJtYXQtaWNvbiIsNSksTWYoKSxDZig3LCJkaXYiLDYsNyksb2EoKSxDZig5LCJzdmciLDgpLENmKDEwLCJkZWZzIiksQ2YoMTEsImNsaXBQYXRoIiw5LDEwKSx2ZigxMywicmVjdCIsMTEpLE1mKCksTWYoKSxNZigpLE1mKCkpLDImZSYmKGN1KCJmbGFnZ2VkLWFubm90YXRpb24iLG4uZmxhZ2dlZEFubm90YXRpb25zLmluY2x1ZGVzKG4uYW5ub3RhdGlvbikpKCJoaWRkZW4tYW5ub3RhdGlvbiIsbi5oaWRkZW5Bbm5vdGF0aW9ucy5pbmNsdWRlcyhuLmFubm90YXRpb24pJiYhbi5mbGFnZ2VkQW5ub3RhdGlvbnMuaW5jbHVkZXMobi5hbm5vdGF0aW9uKSksRGMoMSksYmYoImNoZWNrZWQiLG4uc2VsZWN0ZWRBbm5vdGF0aW9ucy5pbmNsdWRlcyhuLmFubm90YXRpb24pKSxEYygxKSxiZigibmdDbGFzcyIsbi5oYXNFbWJlZGRpbmc/ImNsaWNrYWJsZS1hbm5vdGF0aW9uIjoiIiksRGMoMSksa3UoIiAiLG4uYW5ub3RhdGlvbiwiICIpLERjKDEpLGJmKCJuZ0lmIixuLmZsYWdnZWRBbm5vdGF0aW9ucy5pbmNsdWRlcyhuLmFubm90YXRpb24pKSxEYygxKSxiZigibmdJZiIsbi5oaWRkZW5Bbm5vdGF0aW9ucy5pbmNsdWRlcyhuLmFubm90YXRpb24pKSxEYygxKSxiZigibmdJZiIsbi5hbm5vdGF0aW9uPT09bi5zb3J0Lm1ldHJpYykpfSxkaXJlY3RpdmVzOltiWixDdixQdixNcV0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50e2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbCAubWF0LWJhZGdlLWNvbnRlbnR7Zm9udC1zaXplOjlweH0ubWF0LWJhZGdlLWxhcmdlIC5tYXQtYmFkZ2UtY29udGVudHtmb250LXNpemU6MjRweH0ubWF0LWgxLC5tYXQtaGVhZGxpbmUsLm1hdC10eXBvZ3JhcGh5IGgxe2ZvbnQ6NDAwIDI0cHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgyLC5tYXQtdGl0bGUsLm1hdC10eXBvZ3JhcGh5IGgye2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzLC5tYXQtc3ViaGVhZGluZy0yLC5tYXQtdHlwb2dyYXBoeSBoM3tmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNCwubWF0LXN1YmhlYWRpbmctMSwubWF0LXR5cG9ncmFwaHkgaDR7Zm9udDo0MDAgMTVweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDUsLm1hdC10eXBvZ3JhcGh5IGg1e2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWg2LC5tYXQtdHlwb2dyYXBoeSBoNntmb250OjQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1ib2R5LXN0cm9uZywubWF0LWJvZHktMntmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHksLm1hdC1ib2R5LTEsLm1hdC10eXBvZ3JhcGh5e2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keSBwLC5tYXQtYm9keS0xIHAsLm1hdC10eXBvZ3JhcGh5IHB7bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGwsLm1hdC1jYXB0aW9ue2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00LC5tYXQtdHlwb2dyYXBoeSAubWF0LWRpc3BsYXktNHtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTMsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0ze2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTIsLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0ye2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xLC5tYXQtdHlwb2dyYXBoeSAubWF0LWRpc3BsYXktMXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVye2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uLC5tYXQtcmFpc2VkLWJ1dHRvbiwubWF0LWljb24tYnV0dG9uLC5tYXQtc3Ryb2tlZC1idXR0b24sLm1hdC1mbGF0LWJ1dHRvbiwubWF0LWZhYiwubWF0LW1pbmktZmFie2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1idXR0b24tdG9nZ2xle2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmR7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZXtmb250LXNpemU6MjRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYXJkLWhlYWRlciAubWF0LWNhcmQtdGl0bGV7Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlLC5tYXQtY2FyZC1jb250ZW50e2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3h7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0IC5tYXQtY2hlY2tib3gtbGFiZWx7bGluZS1oZWlnaHQ6MjRweH0ubWF0LWNoaXB7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcCAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbiwubWF0LWNoaXAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbntmb250LXNpemU6MThweH0ubWF0LXRhYmxle2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxse2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNlbGwsLm1hdC1mb290ZXItY2VsbHtmb250LXNpemU6MTRweH0ubWF0LWNhbGVuZGFye2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHl7Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsLC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbntmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGh7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZGlhbG9nLXRpdGxle2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnR7Zm9udDo0MDAgMTRweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxke2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVye3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbiwubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbntmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24sLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24tYnV0dG9ue2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uLC5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb257aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4e3BhZGRpbmc6LjVlbSAwO2JvcmRlci10b3A6Ljg0Mzc1ZW0gc29saWQgdHJhbnNwYXJlbnR9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjM0Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVye3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJ7Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJ7cGFkZGluZy1ib3R0b206MS4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbDotd2Via2l0LWF1dG9maWxsKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikrLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxMDJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIzZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzNTMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWxhYmVse3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmV7Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVye21hcmdpbi10b3A6LjU0MTY2NjY2NjdlbTt0b3A6Y2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pfUBtZWRpYSBwcmludHsubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cysubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbDotd2Via2l0LWF1dG9maWxsKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSsubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWx7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzouMjVlbSAwIC43NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtbGFiZWx7dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtaW5maXh7cGFkZGluZzoxZW0gMCAxZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pKy5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyLC5tYXQtZ3JpZC10aWxlLWZvb3Rlcntmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXIgLm1hdC1saW5lLC5tYXQtZ3JpZC10aWxlLWZvb3RlciAubWF0LWxpbmV7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlciAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMiksLm1hdC1ncmlkLXRpbGUtZm9vdGVyIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudHttYXJnaW4tdG9wOi0wLjA2MjVlbX0ubWF0LW1lbnUtaXRlbXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yLC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSAubWF0LXNlbGVjdC10cmlnZ2Vye2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3R7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0LXRyaWdnZXJ7aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtc3RlcHBlci12ZXJ0aWNhbCwubWF0LXN0ZXBwZXItaG9yaXpvbnRhbHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zdGVwLWxhYmVse2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9ye2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3J7Zm9udC1zaXplOjE0cHh9Lm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVke2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cHtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWwsLm1hdC10YWItbGlua3tmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhciwubWF0LXRvb2xiYXIgaDEsLm1hdC10b29sYmFyIGgyLC5tYXQtdG9vbGJhciBoMywubWF0LXRvb2xiYXIgaDQsLm1hdC10b29sYmFyIGg1LC5tYXQtdG9vbGJhciBoNntmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MH0ubWF0LXRvb2x0aXB7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXR7Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LW9wdGlvbntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LWl0ZW0gLm1hdC1saW5le3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbSAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbntmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbiAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2UgLm1hdC1zdWJoZWFkZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LWl0ZW17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LW9wdGlvbntmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LW9wdGlvbiAubWF0LWxpbmV7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1zdWJoZWFkZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LW9wdGlvbntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbHtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcntmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHh9Lm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9ue2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVle2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZSwubWF0LW5lc3RlZC10cmVlLW5vZGV7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxle292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ubWF0LXJpcHBsZTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZHtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOm9wYWNpdHksdHJhbnNmb3JtIDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LXJpcHBsZS1lbGVtZW50e2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbntib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXIsLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVye3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LWNvbnRhaW5lcjplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVye2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmV7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9LmNkay1vdmVybGF5LWJhY2tkcm9we3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5ne29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5ne29wYWNpdHk6LjZ9LmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3B7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5ne29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveHtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2Nre3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7b3ZlcmZsb3cteTpzY3JvbGx9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXple3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmd7cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveHtwYWRkaW5nOjJweCAwICFpbXBvcnRhbnQ7Ym94LXNpemluZzpjb250ZW50LWJveCAhaW1wb3J0YW50O2hlaWdodDowICFpbXBvcnRhbnR9QGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydHsvKiEqL31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHsvKiEqL30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOi13ZWJraXQtYXV0b2ZpbGx7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtc30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3J7cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9ye3Bvc2l0aW9uOnJlbGF0aXZlfTpob3N0e3BhZGRpbmctdG9wOjVweH0uYW5ub3RhdGlvbi10aXRsZXthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZvbnQtc2l6ZToxM3B4O2hlaWdodDoyMHB4O3BhZGRpbmc6MCAxMHB4O3VzZXItc2VsZWN0Om5vbmV9LnNlbGVjdGVkLXJvd3tiYWNrZ3JvdW5kLWNvbG9yOiNlMGUwZTA7ZGlzcGxheTpibG9ja30uZmxhZ2dlZC1hbm5vdGF0aW9ue2NvbG9yOiNmNTdjMDB9LmhpZGRlbi1hbm5vdGF0aW9ue2NvbG9yOiM3NTc1NzV9LmFubm90YXRpb24tY2hlY2tib3h7cGFkZGluZy1yaWdodDo1cHh9LmZsYWdnZWQtaWNvbnt0cmFuc2Zvcm06c2NhbGUoMC42KX0uaGlkZGVuLWljb257dHJhbnNmb3JtOnNjYWxlKDAuNil9LmFubm90YXRpb24taWNvbnt0cmFuc2Zvcm06c2NhbGUoMC42KX0uY2hhcnQtZGl2e2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWJ9LmNoYXJ0LXN2Z3t3aWR0aDoxMDAlO3VzZXItc2VsZWN0Om5vbmV9LmRlZmF1bHQtdGV4dHtmaWxsOiMwMDB9LmZsYWctdGV4dHtmaWxsOiNmNTdjMDB9LmhpZGRlbi10ZXh0e2ZpbGw6Izc1NzU3NX0uY2xpY2thYmxlLWFubm90YXRpb257Y3Vyc29yOnBvaW50ZXJ9YnV0dG9ue2FsbDp1bnNldH1cbiddLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWU90LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFubm90YXRpb24tY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9hbm5vdGF0aW9uX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2Fubm90YXRpb25fY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2gsZW5jYXBzdWxhdGlvbjpXbi5Ob25lfV19XSxudWxsLHtkYXRhOlt7dHlwZTpSX31dLG1heENvdW50Olt7dHlwZTpSX31dLHNlbGVjdGVkQW5ub3RhdGlvbnM6W3t0eXBlOlJffV0sZmxhZ2dlZEFubm90YXRpb25zOlt7dHlwZTpSX31dLGhpZGRlbkFubm90YXRpb25zOlt7dHlwZTpSX31dLGFjdGl2ZU1ldHJpY3M6W3t0eXBlOlJffV0sbnVtQWN0aXZlUnVuczpbe3R5cGU6Ul99XSxzaG93Q291bnRzOlt7dHlwZTpSX31dLGFubm90YXRpb246W3t0eXBlOlJffV0scnVuSGVpZ2h0Olt7dHlwZTpSX31dLGhhc0VtYmVkZGluZzpbe3R5cGU6Ul99XSxzb3J0Olt7dHlwZTpSX31dLHNpZGViYXJXaWR0aDpbe3R5cGU6Ul99XSxjb2xvclNjYWxlOlt7dHlwZTpSX31dLHJ1bklkVG9SdW5zOlt7dHlwZTpSX31dLGFubm90YXRpb25Db250YWluZXI6W3t0eXBlOmFyLGFyZ3M6WyJjaGFydCIse3N0YXRpYzohMCxyZWFkOktofV19XSxjbGlwUGF0aEVsZW1lbnQ6W3t0eXBlOmFyLGFyZ3M6WyJoaW50Q2xpcCIse3N0YXRpYzohMCxyZWFkOktofV19XSxzZWxlY3RlZDpbe3R5cGU6QV8sYXJnczpbImNsYXNzLnNlbGVjdGVkLXJvdyJdfV0sb25SZXNpemU6W3t0eXBlOlRfLGFyZ3M6WyJ3aW5kb3c6cmVzaXplIl19XSxvblNob3dTaW1pbGFyQW5ub3RhdGlvbnM6W3t0eXBlOkVffV19KTtjbGFzcyBxT3R7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuc29ydCQ9dGhpcy5zdG9yZS5zZWxlY3Qobnh0KSx0aGlzLmZsYWdnZWRBbm5vdGF0aW9ucyQ9dGhpcy5zdG9yZS5zZWxlY3QoS3Z0KSx0aGlzLmhpZGRlbkFubm90YXRpb25zJD10aGlzLnN0b3JlLnNlbGVjdChKdnQpLHRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9ucyQ9dGhpcy5zdG9yZS5zZWxlY3QoWHZ0KSx0aGlzLnNob3dDb3VudHMkPXRoaXMuc3RvcmUuc2VsZWN0KHJ4dCksdGhpcy5zaWRlYmFyV2lkdGgkPXRoaXMuc3RvcmUuc2VsZWN0KGN4dCksdGhpcy5ydW5Db2xvclNjYWxlJD10aGlzLnN0b3JlLnNlbGVjdChDSSkucGlwZShWdCgodD0+ZT0+e2lmKCF0Lmhhc093blByb3BlcnR5KGUpKXRocm93IG5ldyBFcnJvcihgW0NvbG9yIHNjYWxlXSB1bmtub3duIHJ1bklkOiAke2V9LmApO3JldHVybiB0W2VdfSkpKSx0aGlzLnJ1bklkVG9SdW5zJD10aGlzLnN0b3JlLnNlbGVjdChYeil9c2hvd1NpbWlsYXJBbm5vdGF0aW9ucygpe3RoaXMuc3RvcmUuZGlzcGF0Y2goU3Z0KHthbm5vdGF0aW9uOnRoaXMuYW5ub3RhdGlvbn0pKX19ZnVuY3Rpb24gWk90KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwibnBtaS1hbm5vdGF0aW9uIiw1KSxSZigiY2xpY2siLChmdW5jdGlvbiBlKG4pe2NvbnN0IG89UGkodCkuJGltcGxpY2l0O3JldHVybiB6ZigyKS5yb3dDbGlja2VkKG4sbyl9KSksTWYoKX1pZigyJnQpe2NvbnN0IHQ9ZS4kaW1wbGljaXQsbj16ZigyKTtiZigiZGF0YSIsbi5hbm5vdGF0aW9uc1t0XSkoImFjdGl2ZU1ldHJpY3MiLG4uYWN0aXZlTWV0cmljcykoIm51bUFjdGl2ZVJ1bnMiLG4ubnVtQWN0aXZlUnVucykoIm1heENvdW50IixuLm1heENvdW50KSgiYW5ub3RhdGlvbiIsdCkoInJ1bkhlaWdodCIsbi5ydW5IZWlnaHQpKCJoYXNFbWJlZGRpbmciLG4uZW1iZWRkaW5nRGF0YSYmdm9pZCAwIT09bi5lbWJlZGRpbmdEYXRhW3RdKX19ZnVuY3Rpb24gWE90KHQsZSl7aWYoMSZ0JiYoeGYoMCksdmYoMSwibnBtaS1hbm5vdGF0aW9ucy1saXN0LWxlZ2VuZCIpLHZmKDIsIm5wbWktYW5ub3RhdGlvbnMtbGlzdC1oZWFkZXIiLDIpLENmKDMsImNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCIsMyksSG0oNCxaT3QsMSw3LCJucG1pLWFubm90YXRpb24iLDQpLE1mKCksT2YoKSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMiksYmYoImFubm90YXRpb25zIix0LmFubm90YXRpb25zKSgibnVtQW5ub3RhdGlvbnMiLHQubnVtQW5ub3RhdGlvbnMpKCJhY3RpdmVNZXRyaWNzIix0LmFjdGl2ZU1ldHJpY3MpLERjKDEpLExmKCJpdGVtU2l6ZSIsdC5udW1BY3RpdmVSdW5zKnQucnVuSGVpZ2h0KzI1KSxEYygxKSxiZigiY2RrVmlydHVhbEZvck9mIix0LnNvcnRlZEFubm90YXRpb25zKX19cU90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxxT3QpKGdmKGlTKSl9LHFPdC7JtWNtcD1zbyh7dHlwZTpxT3Qsc2VsZWN0b3JzOltbIm5wbWktYW5ub3RhdGlvbiJdXSxpbnB1dHM6e2RhdGE6ImRhdGEiLG1heENvdW50OiJtYXhDb3VudCIsYWN0aXZlTWV0cmljczoiYWN0aXZlTWV0cmljcyIsbnVtQWN0aXZlUnVuczoibnVtQWN0aXZlUnVucyIsYW5ub3RhdGlvbjoiYW5ub3RhdGlvbiIscnVuSGVpZ2h0OiJydW5IZWlnaHQiLGhhc0VtYmVkZGluZzoiaGFzRW1iZWRkaW5nIn0sZGVjbHM6OSx2YXJzOjMxLGNvbnN0czpbWzMsImRhdGEiLCJtYXhDb3VudCIsImFjdGl2ZU1ldHJpY3MiLCJudW1BY3RpdmVSdW5zIiwiYW5ub3RhdGlvbiIsInJ1bkhlaWdodCIsImhhc0VtYmVkZGluZyIsInNvcnQiLCJzZWxlY3RlZEFubm90YXRpb25zIiwiZmxhZ2dlZEFubm90YXRpb25zIiwiaGlkZGVuQW5ub3RhdGlvbnMiLCJzaG93Q291bnRzIiwic2lkZWJhcldpZHRoIiwiY29sb3JTY2FsZSIsInJ1bklkVG9SdW5zIiwib25TaG93U2ltaWxhckFubm90YXRpb25zIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJhbm5vdGF0aW9uLWNvbXBvbmVudCIsMCksUmYoIm9uU2hvd1NpbWlsYXJBbm5vdGF0aW9ucyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5zaG93U2ltaWxhckFubm90YXRpb25zKCl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxfeSg1LCJhc3luYyIpLF95KDYsImFzeW5jIiksX3koNywiYXN5bmMiKSxfeSg4LCJhc3luYyIpLE1mKCkpLDImZSYmYmYoImRhdGEiLG4uZGF0YSkoIm1heENvdW50IixuLm1heENvdW50KSgiYWN0aXZlTWV0cmljcyIsbi5hY3RpdmVNZXRyaWNzKSgibnVtQWN0aXZlUnVucyIsbi5udW1BY3RpdmVSdW5zKSgiYW5ub3RhdGlvbiIsbi5hbm5vdGF0aW9uKSgicnVuSGVpZ2h0IixuLnJ1bkhlaWdodCkoImhhc0VtYmVkZGluZyIsbi5oYXNFbWJlZGRpbmcpKCJzb3J0IixDeSgxLDE1LG4uc29ydCQpKSgic2VsZWN0ZWRBbm5vdGF0aW9ucyIsQ3koMiwxNyxuLnNlbGVjdGVkQW5ub3RhdGlvbnMkKSkoImZsYWdnZWRBbm5vdGF0aW9ucyIsQ3koMywxOSxuLmZsYWdnZWRBbm5vdGF0aW9ucyQpKSgiaGlkZGVuQW5ub3RhdGlvbnMiLEN5KDQsMjEsbi5oaWRkZW5Bbm5vdGF0aW9ucyQpKSgic2hvd0NvdW50cyIsQ3koNSwyMyxuLnNob3dDb3VudHMkKSkoInNpZGViYXJXaWR0aCIsQ3koNiwyNSxuLnNpZGViYXJXaWR0aCQpKSgiY29sb3JTY2FsZSIsQ3koNywyNyxuLnJ1bkNvbG9yU2NhbGUkKSkoInJ1bklkVG9SdW5zIixDeSg4LDI5LG4ucnVuSWRUb1J1bnMkKSl9LGRpcmVjdGl2ZXM6W1lPdF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHFPdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLWFubm90YXRpb24iLHRlbXBsYXRlOidcbiAgICA8YW5ub3RhdGlvbi1jb21wb25lbnRcbiAgICAgIFtkYXRhXT0iZGF0YSJcbiAgICAgIFttYXhDb3VudF09Im1heENvdW50IlxuICAgICAgW2FjdGl2ZU1ldHJpY3NdPSJhY3RpdmVNZXRyaWNzIlxuICAgICAgW251bUFjdGl2ZVJ1bnNdPSJudW1BY3RpdmVSdW5zIlxuICAgICAgW2Fubm90YXRpb25dPSJhbm5vdGF0aW9uIlxuICAgICAgW3J1bkhlaWdodF09InJ1bkhlaWdodCJcbiAgICAgIFtoYXNFbWJlZGRpbmddPSJoYXNFbWJlZGRpbmciXG4gICAgICBbc29ydF09InNvcnQkIHwgYXN5bmMiXG4gICAgICBbc2VsZWN0ZWRBbm5vdGF0aW9uc109InNlbGVjdGVkQW5ub3RhdGlvbnMkIHwgYXN5bmMiXG4gICAgICBbZmxhZ2dlZEFubm90YXRpb25zXT0iZmxhZ2dlZEFubm90YXRpb25zJCB8IGFzeW5jIlxuICAgICAgW2hpZGRlbkFubm90YXRpb25zXT0iaGlkZGVuQW5ub3RhdGlvbnMkIHwgYXN5bmMiXG4gICAgICBbc2hvd0NvdW50c109InNob3dDb3VudHMkIHwgYXN5bmMiXG4gICAgICBbc2lkZWJhcldpZHRoXT0ic2lkZWJhcldpZHRoJCB8IGFzeW5jIlxuICAgICAgW2NvbG9yU2NhbGVdPSJydW5Db2xvclNjYWxlJCB8IGFzeW5jIlxuICAgICAgW3J1bklkVG9SdW5zXT0icnVuSWRUb1J1bnMkIHwgYXN5bmMiXG4gICAgICAob25TaG93U2ltaWxhckFubm90YXRpb25zKT0ic2hvd1NpbWlsYXJBbm5vdGF0aW9ucygpIlxuICAgID48L2Fubm90YXRpb24tY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse2RhdGE6W3t0eXBlOlJffV0sbWF4Q291bnQ6W3t0eXBlOlJffV0sYWN0aXZlTWV0cmljczpbe3R5cGU6Ul99XSxudW1BY3RpdmVSdW5zOlt7dHlwZTpSX31dLGFubm90YXRpb246W3t0eXBlOlJffV0scnVuSGVpZ2h0Olt7dHlwZTpSX31dLGhhc0VtYmVkZGluZzpbe3R5cGU6Ul99XX0pO2NsYXNzIEtPdHtjb25zdHJ1Y3Rvcigpe3RoaXMub25Sb3dDbGljaz1uZXcgU3ksdGhpcy5ydW5IZWlnaHQ9MzB9cm93Q2xpY2tlZCh0LGUpe2lmKHQuc2hpZnRLZXkpe2xldCB0PXRoaXMuc29ydGVkQW5ub3RhdGlvbnMuaW5kZXhPZihlKTtpZigwPT09dGhpcy5zZWxlY3RlZEFubm90YXRpb25zLmxlbmd0aCl0aGlzLm9uUm93Q2xpY2suZW1pdCh0aGlzLnNvcnRlZEFubm90YXRpb25zLnNsaWNlKDAsdCsxKSk7ZWxzZXtjb25zdCBlPXRoaXMuc29ydGVkQW5ub3RhdGlvbnMuaW5kZXhPZih0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbnNbdGhpcy5zZWxlY3RlZEFubm90YXRpb25zLmxlbmd0aC0xXSk7dGhpcy5vblJvd0NsaWNrLmVtaXQoZTx0P3RoaXMuc29ydGVkQW5ub3RhdGlvbnMuc2xpY2UoZSx0KzEpOnRoaXMuc29ydGVkQW5ub3RhdGlvbnMuc2xpY2UodCxlKzEpKX19ZWxzZSB0aGlzLm9uUm93Q2xpY2suZW1pdChbZV0pfX1LT3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEtPdCl9LEtPdC7JtWNtcD1zbyh7dHlwZTpLT3Qsc2VsZWN0b3JzOltbImFubm90YXRpb25zLWxpc3QtY29tcG9uZW50Il1dLGlucHV0czp7YW5ub3RhdGlvbnM6ImFubm90YXRpb25zIixlbWJlZGRpbmdEYXRhOiJlbWJlZGRpbmdEYXRhIixhbm5vdGF0aW9uc0V4cGFuZGVkOiJhbm5vdGF0aW9uc0V4cGFuZGVkIixudW1Bbm5vdGF0aW9uczoibnVtQW5ub3RhdGlvbnMiLGFubm90YXRpb25Tb3J0OiJhbm5vdGF0aW9uU29ydCIsYWN0aXZlTWV0cmljczoiYWN0aXZlTWV0cmljcyIsbnVtQWN0aXZlUnVuczoibnVtQWN0aXZlUnVucyIsc29ydGVkQW5ub3RhdGlvbnM6InNvcnRlZEFubm90YXRpb25zIixzZWxlY3RlZEFubm90YXRpb25zOiJzZWxlY3RlZEFubm90YXRpb25zIixtYXhDb3VudDoibWF4Q291bnQifSxvdXRwdXRzOntvblJvd0NsaWNrOiJvblJvd0NsaWNrIn0sZGVjbHM6Mix2YXJzOjMsY29uc3RzOltbMywibnVtQW5ub3RhdGlvbnMiLCJleHBhbmRlZCJdLFs0LCJuZ0lmIl0sWzMsImFubm90YXRpb25zIiwibnVtQW5ub3RhdGlvbnMiLCJhY3RpdmVNZXRyaWNzIl0sWyJtaW5CdWZmZXJQeCIsIjMwMCIsIm1heEJ1ZmZlclB4IiwiNjAwIiwxLCJhbm5vdGF0aW9uLXJvd3MiLDMsIml0ZW1TaXplIl0sWzMsImRhdGEiLCJhY3RpdmVNZXRyaWNzIiwibnVtQWN0aXZlUnVucyIsIm1heENvdW50IiwiYW5ub3RhdGlvbiIsInJ1bkhlaWdodCIsImhhc0VtYmVkZGluZyIsImNsaWNrIiw0LCJjZGtWaXJ0dWFsRm9yIiwiY2RrVmlydHVhbEZvck9mIl0sWzMsImRhdGEiLCJhY3RpdmVNZXRyaWNzIiwibnVtQWN0aXZlUnVucyIsIm1heENvdW50IiwiYW5ub3RhdGlvbiIsInJ1bkhlaWdodCIsImhhc0VtYmVkZGluZyIsImNsaWNrIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJih2ZigwLCJucG1pLWFubm90YXRpb25zLWxpc3QtdG9vbGJhciIsMCksSG0oMSxYT3QsNSw1LCJuZy1jb250YWluZXIiLDEpKSwyJmUmJihiZigibnVtQW5ub3RhdGlvbnMiLG4ubnVtQW5ub3RhdGlvbnMpKCJleHBhbmRlZCIsbi5hbm5vdGF0aW9uc0V4cGFuZGVkKSxEYygxKSxiZigibmdJZiIsbi5hbm5vdGF0aW9uc0V4cGFuZGVkKSl9LGRpcmVjdGl2ZXM6W1RPdCxQdixJT3QsQk90LHRCLFhMLG5CLHFPdF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OmNhbGMoMTAwJSAtIDJweCk7d2lkdGg6Y2FsYygxMDAlIC0gMnB4KX0uYW5ub3RhdGlvbi1yb3dzW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXg6MSAxO292ZXJmbG93LXk6YXV0b30nXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoS090LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6ImFubm90YXRpb25zLWxpc3QtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9hbm5vdGF0aW9uc19saXN0X2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2Fubm90YXRpb25zX2xpc3RfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLG51bGwse2Fubm90YXRpb25zOlt7dHlwZTpSX31dLGVtYmVkZGluZ0RhdGE6W3t0eXBlOlJffV0sYW5ub3RhdGlvbnNFeHBhbmRlZDpbe3R5cGU6Ul99XSxudW1Bbm5vdGF0aW9uczpbe3R5cGU6Ul99XSxhbm5vdGF0aW9uU29ydDpbe3R5cGU6Ul99XSxhY3RpdmVNZXRyaWNzOlt7dHlwZTpSX31dLG51bUFjdGl2ZVJ1bnM6W3t0eXBlOlJffV0sc29ydGVkQW5ub3RhdGlvbnM6W3t0eXBlOlJffV0sc2VsZWN0ZWRBbm5vdGF0aW9uczpbe3R5cGU6Ul99XSxtYXhDb3VudDpbe3R5cGU6Ul99XSxvblJvd0NsaWNrOlt7dHlwZTpFX31dfSk7Y2xhc3MgSk90e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLmFubm90YXRpb25zRXhwYW5kZWQkPXRoaXMuc3RvcmUucGlwZShyUyhpeHQpKSx0aGlzLmFjdGl2ZVJ1bnMkPXRoaXMuc3RvcmUucGlwZShyUyhfSSkpLnBpcGUoVnQoKHQ9PnQ/QXJyYXkuZnJvbSh0LmVudHJpZXMoKSkuZmlsdGVyKCh0PT50WzFdKSkubWFwKCh0PT50WzBdKSk6W10pKSksdGhpcy5lbWJlZGRpbmdEYXRhJD10aGlzLnN0b3JlLnBpcGUoclMoWnZ0KSksdGhpcy5udW1BY3RpdmVSdW5zJD10aGlzLmFjdGl2ZVJ1bnMkLnBpcGUoVnQoKHQ9PnQubGVuZ3RoKSkpLHRoaXMuYWN0aXZlTWV0cmljcyQ9S3QoW3RoaXMuc3RvcmUuc2VsZWN0KHF2dCksdGhpcy5hY3RpdmVSdW5zJCx0aGlzLnN0b3JlLnNlbGVjdChleHQpXSkucGlwZShWdCgoKFt0LGUsbl0pPT57bGV0IG89W107Zm9yKGNvbnN0IG4gb2YgZSl0W25dJiYobz1vLmNvbmNhdCh0W25dLmZpbHRlcigodD0+Tl90KHQpKSkpKTtyZXR1cm4gbz1bLi4ubmV3IFNldChbLi4uT2JqZWN0LmtleXMobiksLi4ub10pXSxvfSkpKSx0aGlzLnZpc2libGVBbm5vdGF0aW9ucyQ9S3QoW3RoaXMuc3RvcmUuc2VsZWN0KFl2dCksdGhpcy5zdG9yZS5zZWxlY3QoSnZ0KSx0aGlzLnN0b3JlLnNlbGVjdChzeHQpXSkucGlwZShWdCgoKFt0LGUsbl0pPT5vT3QodCxlLG4pKSkpLHRoaXMuZmlsdGVyZWRBbm5vdGF0aW9ucyQ9S3QoW3RoaXMudmlzaWJsZUFubm90YXRpb25zJCx0aGlzLnN0b3JlLnNlbGVjdCh0eHQpLHRoaXMuc3RvcmUuc2VsZWN0KGV4dCksdGhpcy5hY3RpdmVSdW5zJCx0aGlzLmFjdGl2ZU1ldHJpY3MkLHRoaXMuc3RvcmUuc2VsZWN0KFF2dCldKS5waXBlKFZ0KCgoW3QsZSxuLG8saSxhXSk9Pm5PdCh0LG8sZSxuLGksYSkpKSkucGlwZShJZSgpKSx0aGlzLm51bUFubm90YXRpb25zJD10aGlzLmZpbHRlcmVkQW5ub3RhdGlvbnMkLnBpcGUoVnQoKHQ9Pk9iamVjdC5rZXlzKHQpLmxlbmd0aCkpKSx0aGlzLnNvcnRlZEFubm90YXRpb25zJD1LdChbdGhpcy5maWx0ZXJlZEFubm90YXRpb25zJCx0aGlzLnN0b3JlLnBpcGUoclMobnh0KSksdGhpcy5lbWJlZGRpbmdEYXRhJF0pLnBpcGUoVnQoKChbdCxlLG5dKT0+cE90KHQsZSxuKSkpKSx0aGlzLnNlbGVjdGVkQW5ub3RhdGlvbnMkPXRoaXMuc3RvcmUucGlwZShyUyhYdnQpKSx0aGlzLm1heENvdW50JD10aGlzLmZpbHRlcmVkQW5ub3RhdGlvbnMkLnBpcGUoVnQoKHQ9PntsZXQgZT0wO3JldHVybiBPYmplY3QudmFsdWVzKHQpLmZvckVhY2goKHQ9Pnt0LmZvckVhY2goKHQ9Pnt0LmNvdW50VmFsdWUmJihlPU1hdGgubWF4KGUsdC5jb3VudFZhbHVlKSl9KSl9KSksZX0pKSl9cm93Q2xpY2tlZCh0KXt0aGlzLnN0b3JlLmRpc3BhdGNoKGJ2dCh7YW5ub3RhdGlvbnM6dH0pKX19Sk90Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxKT3QpKGdmKGlTKSl9LEpPdC7JtWNtcD1zbyh7dHlwZTpKT3Qsc2VsZWN0b3JzOltbIm5wbWktYW5ub3RhdGlvbnMtbGlzdCJdXSxkZWNsczoxMCx2YXJzOjI3LGNvbnN0czpbWzMsImFubm90YXRpb25zIiwiZW1iZWRkaW5nRGF0YSIsImFubm90YXRpb25zRXhwYW5kZWQiLCJudW1Bbm5vdGF0aW9ucyIsImFjdGl2ZU1ldHJpY3MiLCJudW1BY3RpdmVSdW5zIiwic29ydGVkQW5ub3RhdGlvbnMiLCJzZWxlY3RlZEFubm90YXRpb25zIiwibWF4Q291bnQiLCJvblJvd0NsaWNrIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJhbm5vdGF0aW9ucy1saXN0LWNvbXBvbmVudCIsMCksUmYoIm9uUm93Q2xpY2siLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLnJvd0NsaWNrZWQoZSl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksX3koNCwiYXN5bmMiKSxfeSg1LCJhc3luYyIpLF95KDYsImFzeW5jIiksX3koNywiYXN5bmMiKSxfeSg4LCJhc3luYyIpLF95KDksImFzeW5jIiksTWYoKSksMiZlJiZiZigiYW5ub3RhdGlvbnMiLEN5KDEsOSxuLmZpbHRlcmVkQW5ub3RhdGlvbnMkKSkoImVtYmVkZGluZ0RhdGEiLEN5KDIsMTEsbi5lbWJlZGRpbmdEYXRhJCkpKCJhbm5vdGF0aW9uc0V4cGFuZGVkIixDeSgzLDEzLG4uYW5ub3RhdGlvbnNFeHBhbmRlZCQpKSgibnVtQW5ub3RhdGlvbnMiLEN5KDQsMTUsbi5udW1Bbm5vdGF0aW9ucyQpKSgiYWN0aXZlTWV0cmljcyIsQ3koNSwxNyxuLmFjdGl2ZU1ldHJpY3MkKSkoIm51bUFjdGl2ZVJ1bnMiLEN5KDYsMTksbi5udW1BY3RpdmVSdW5zJCkpKCJzb3J0ZWRBbm5vdGF0aW9ucyIsQ3koNywyMSxuLnNvcnRlZEFubm90YXRpb25zJCkpKCJzZWxlY3RlZEFubm90YXRpb25zIixDeSg4LDIzLG4uc2VsZWN0ZWRBbm5vdGF0aW9ucyQpKSgibWF4Q291bnQiLEN5KDksMjUsbi5tYXhDb3VudCQpKX0sZGlyZWN0aXZlczpbS090XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoSk90LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktYW5ub3RhdGlvbnMtbGlzdCIsdGVtcGxhdGU6J1xuICAgIDxhbm5vdGF0aW9ucy1saXN0LWNvbXBvbmVudFxuICAgICAgW2Fubm90YXRpb25zXT0iZmlsdGVyZWRBbm5vdGF0aW9ucyQgfCBhc3luYyJcbiAgICAgIFtlbWJlZGRpbmdEYXRhXT0iZW1iZWRkaW5nRGF0YSQgfCBhc3luYyJcbiAgICAgIFthbm5vdGF0aW9uc0V4cGFuZGVkXT0iYW5ub3RhdGlvbnNFeHBhbmRlZCQgfCBhc3luYyJcbiAgICAgIFtudW1Bbm5vdGF0aW9uc109Im51bUFubm90YXRpb25zJCB8IGFzeW5jIlxuICAgICAgW2FjdGl2ZU1ldHJpY3NdPSJhY3RpdmVNZXRyaWNzJCB8IGFzeW5jIlxuICAgICAgW251bUFjdGl2ZVJ1bnNdPSJudW1BY3RpdmVSdW5zJCB8IGFzeW5jIlxuICAgICAgW3NvcnRlZEFubm90YXRpb25zXT0ic29ydGVkQW5ub3RhdGlvbnMkIHwgYXN5bmMiXG4gICAgICBbc2VsZWN0ZWRBbm5vdGF0aW9uc109InNlbGVjdGVkQW5ub3RhdGlvbnMkIHwgYXN5bmMiXG4gICAgICBbbWF4Q291bnRdPSJtYXhDb3VudCQgfCBhc3luYyJcbiAgICAgIChvblJvd0NsaWNrKT0icm93Q2xpY2tlZCgkZXZlbnQpIlxuICAgID48L2Fubm90YXRpb25zLWxpc3QtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y29uc3QgUU90PVsiY2hhcnQiXTtjbGFzcyAkT3R7Y29uc3RydWN0b3IoKXt0aGlzLndpZHRoPTAsdGhpcy5jaGFydFdpZHRoPTAsdGhpcy5oZWlnaHQ9MzAwLHRoaXMubWFyZ2luPXt0b3A6MjAscmlnaHQ6NDAsYm90dG9tOjIwLGxlZnQ6NDB9LHRoaXMuY2hhcnRIZWlnaHQ9dGhpcy5oZWlnaHQtdGhpcy5tYXJnaW4udG9wLXRoaXMubWFyZ2luLmJvdHRvbX1vblJlc2l6ZSh0KXt0aGlzLnJlZHJhdygpfW5nQWZ0ZXJWaWV3SW5pdCgpe3RoaXMuc3ZnPW44KHRoaXMuc3ZnRWxlbWVudC5uYXRpdmVFbGVtZW50KSx0aGlzLm1haW5Db250YWluZXI9dGhpcy5zdmcuYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIixgdHJhbnNsYXRlKCR7dGhpcy5tYXJnaW4ubGVmdH0sICR7dGhpcy5tYXJnaW4udG9wfSlgKSx0aGlzLmNvb3JkaW5hdGVzR3JvdXA9dGhpcy5tYWluQ29udGFpbmVyLmFwcGVuZCgiZyIpLHRoaXMubGFiZWxzR3JvdXA9dGhpcy5tYWluQ29udGFpbmVyLmFwcGVuZCgiZyIpLHRoaXMuYXhpc0dyb3VwPXRoaXMubWFpbkNvbnRhaW5lci5hcHBlbmQoImciKSx0aGlzLnhTY2FsZT0kbnQoKS5wYWRkaW5nKC4xKSx0aGlzLnlTY2FsZT1tb3QoKS5yYW5nZShbdGhpcy5jaGFydEhlaWdodCwwXSksdGhpcy55QXhpcz1MNih0aGlzLnlTY2FsZSksdGhpcy5yZWRyYXcoKX1uZ09uQ2hhbmdlcyh0KXt0aGlzLnN2ZyYmdGhpcy5yZWRyYXcoKX1yZWRyYXcoKXt0aGlzLnVwZGF0ZURpbWVuc2lvbnMoKSx0aGlzLnVwZGF0ZUF4ZXMoKSx0aGlzLmRyYXcoKX11cGRhdGVEaW1lbnNpb25zKCl7dGhpcy53aWR0aD10aGlzLnN2Z0VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aHx8MTAsdGhpcy5jaGFydFdpZHRoPXRoaXMud2lkdGgtdGhpcy5tYXJnaW4ubGVmdC10aGlzLm1hcmdpbi5yaWdodH11cGRhdGVBeGVzKCl7dGhpcy54U2NhbGUucmFuZ2VSb3VuZChbMCx0aGlzLmNoYXJ0V2lkdGhdKS5kb21haW4odGhpcy5hY3RpdmVNZXRyaWNzKSx0aGlzLnlTY2FsZS5kb21haW4oW3RoaXMuY29vcmRpbmF0ZURhdGEuZXh0cmVtZXMubWluLHRoaXMuY29vcmRpbmF0ZURhdGEuZXh0cmVtZXMubWF4XSl9ZHJhdygpe3RoaXMuZHJhd0F4ZXMoKSx0aGlzLmRyYXdBeGlzTGFiZWxzKCksdGhpcy5kcmF3Q29vcmRpbmF0ZXMoKSx0aGlzLmRyYXdMYWJlbHMoKX1kcmF3QXhlcygpe2NvbnN0IHQ9dGhpcy5heGlzR3JvdXAuc2VsZWN0QWxsKCIuYXhpcy15IikuZGF0YSh0aGlzLmFjdGl2ZU1ldHJpY3MpO3QuZW50ZXIoKS5hcHBlbmQoImciKS5hdHRyKCJjbGFzcyIsImF4aXMteSIpLm1lcmdlKHQpLmF0dHIoInRyYW5zZm9ybSIsZnVuY3Rpb24odCl7cmV0dXJuYHRyYW5zbGF0ZSgke3RoaXMueFNjYWxlKHQpfSwgMClgfS5iaW5kKHRoaXMpKS5jYWxsKHRoaXMueUF4aXMpLHQuZXhpdCgpLnJlbW92ZSgpfWRyYXdBeGlzTGFiZWxzKCl7Y29uc3QgdD10aGlzLmF4aXNHcm91cC5zZWxlY3RBbGwoIi5heGlzLWJnLXRleHQiKS5kYXRhKHRoaXMuYWN0aXZlTWV0cmljcyk7dC5lbnRlcigpLmFwcGVuZCgidGV4dCIpLmF0dHIoImNsYXNzIiwiYXhpcy1iZy10ZXh0IikuYXR0cigiZm9udC1zaXplIiwiMTNweCIpLmF0dHIoInN0cm9rZS13aWR0aCIsMikuYXR0cigic3Ryb2tlLWxpbmVqb2luIiwicm91bmQiKS5hdHRyKCJzdHJva2UiLCJ3aGl0ZSIpLm1lcmdlKHQpLnRleHQoKHQ9PnQpKS5hdHRyKCJ0cmFuc2Zvcm0iLGZ1bmN0aW9uKHQpe3JldHVybmB0cmFuc2xhdGUoJHt0aGlzLnhTY2FsZSh0KS01fSwgJHt0aGlzLnlTY2FsZSh0aGlzLmNvb3JkaW5hdGVEYXRhLmV4dHJlbWVzLm1pbil9KSByb3RhdGUoLTkwKWB9LmJpbmQodGhpcykpLHQuZXhpdCgpLnJlbW92ZSgpO2NvbnN0IGU9dGhpcy5heGlzR3JvdXAuc2VsZWN0QWxsKCIuYXhpcy10ZXh0IikuZGF0YSh0aGlzLmFjdGl2ZU1ldHJpY3MpO2UuZW50ZXIoKS5hcHBlbmQoInRleHQiKS5hdHRyKCJmb250LXNpemUiLCIxM3B4IikuYXR0cigiY2xhc3MiLCJheGlzLXRleHQiKS5tZXJnZShlKS50ZXh0KCh0PT50KSkuYXR0cigidHJhbnNmb3JtIixmdW5jdGlvbih0KXtyZXR1cm5gdHJhbnNsYXRlKCR7dGhpcy54U2NhbGUodCktNX0sICR7dGhpcy55U2NhbGUodGhpcy5jb29yZGluYXRlRGF0YS5leHRyZW1lcy5taW4pfSkgcm90YXRlKC05MClgfS5iaW5kKHRoaXMpKSxlLmV4aXQoKS5yZW1vdmUoKX1kcmF3Q29vcmRpbmF0ZXMoKXtjb25zdCB0PXRoaXMuY29vcmRpbmF0ZXNHcm91cC5zZWxlY3RBbGwoIi5jb29yZCIpLmRhdGEodGhpcy5jb29yZGluYXRlRGF0YS5jb29yZGluYXRlcyk7dC5lbnRlcigpLmFwcGVuZCgicGF0aCIpLmF0dHIoImNsYXNzIiwiY29vcmQiKS5hdHRyKCJmaWxsIiwibm9uZSIpLm1lcmdlKHQpLmF0dHIoImQiLHRoaXMucGF0aC5iaW5kKHRoaXMpKS5hdHRyKCJzdHJva2UiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbG9yU2NhbGUodC5ydW5JZCl9LmJpbmQodGhpcykpLHQuZXhpdCgpLnJlbW92ZSgpO2NvbnN0IGU9dGhpcy5jb29yZGluYXRlc0dyb3VwLnNlbGVjdEFsbCgiLmhpZGRlbkNvb3JkIikuZGF0YSh0aGlzLmNvb3JkaW5hdGVEYXRhLmNvb3JkaW5hdGVzKTtlLmVudGVyKCkuYXBwZW5kKCJwYXRoIikuYXR0cigiY2xhc3MiLCJoaWRkZW5Db29yZCIpLmF0dHIoInN0cm9rZS13aWR0aCIsIjEwcHgiKS5hdHRyKCJmaWxsIiwibm9uZSIpLmF0dHIoInN0cm9rZSIsInJnYmEoMCwgMCwgMCwgMC4wKSIpLm9uKCJtb3VzZW92ZXIiLHRoaXMuaGFuZGxlQ29vcmRpbmF0ZU1vdXNlT3Zlci5iaW5kKHRoaXMpKS5vbigibW91c2VvdXQiLHRoaXMuaGFuZGxlQ29vcmRpbmF0ZU1vdXNlT3V0LmJpbmQodGhpcykpLm1lcmdlKGUpLmF0dHIoImQiLHRoaXMucGF0aC5iaW5kKHRoaXMpKSxlLmV4aXQoKS5yZW1vdmUoKX1wYXRoKHQpe3JldHVybiB0LnZhbHVlcy5zb3J0KCgodCxlKT0+dGhpcy5hY3RpdmVNZXRyaWNzLmluZGV4T2YodC5tZXRyaWMpLXRoaXMuYWN0aXZlTWV0cmljcy5pbmRleE9mKGUubWV0cmljKSkpLExhdCgpKHQudmFsdWVzLm1hcChmdW5jdGlvbih0KXtsZXQgZT10aGlzLnlTY2FsZSh0Lm5QTUlWYWx1ZSk7cmV0dXJuW3RoaXMueFNjYWxlKHQubWV0cmljKSxlXX0uYmluZCh0aGlzKSkpfWhhbmRsZUNvb3JkaW5hdGVNb3VzZU92ZXIodCxlKXt0aGlzLmxhYmVsc0dyb3VwLnNlbGVjdEFsbCgiLmNvb3JkaW5hdGUtbGFiZWwiKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiEoZS5hbm5vdGF0aW9uPT09dC5hbm5vdGF0aW9uKX0pKS5zdHlsZSgib3BhY2l0eSIsLjEpLHRoaXMuY29vcmRpbmF0ZXNHcm91cC5zZWxlY3RBbGwoIi5jb29yZCIpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIShlLmFubm90YXRpb249PT10LmFubm90YXRpb24pfSkpLnN0eWxlKCJvcGFjaXR5IiwuMSl9aGFuZGxlQ29vcmRpbmF0ZU1vdXNlT3V0KCl7dGhpcy5sYWJlbHNHcm91cC5zZWxlY3RBbGwoIi5jb29yZGluYXRlLWxhYmVsIikuc3R5bGUoIm9wYWNpdHkiLDEpLHRoaXMuY29vcmRpbmF0ZXNHcm91cC5zZWxlY3RBbGwoIi5jb29yZCIpLnN0eWxlKCJvcGFjaXR5IiwxKX1kcmF3TGFiZWxzKCl7Y29uc3QgdD0zMC90aGlzLnhTY2FsZS5zdGVwKCksZT10aGlzLmNvb3JkaW5hdGVEYXRhLmNvb3JkaW5hdGVzLmxlbmd0aDwzMD90aGlzLmNvb3JkaW5hdGVEYXRhLmNvb3JkaW5hdGVzOltdLG49dGhpcy5sYWJlbHNHcm91cC5zZWxlY3RBbGwoIi5jb29yZGluYXRlLWxhYmVsIikuZGF0YShlKTtuLmVudGVyKCkuYXBwZW5kKCJ0ZXh0IikuYXR0cigiY2xhc3MiLCJjb29yZGluYXRlLWxhYmVsIikuYXR0cigiZm9udC1zaXplIiwiMTBweCIpLm1lcmdlKG4pLnRleHQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmFubm90YXRpb259KSkuYXR0cigieCIsdGhpcy54U2NhbGUodGhpcy5hY3RpdmVNZXRyaWNzWzBdKSszMCkuYXR0cigieSIsZnVuY3Rpb24oZSl7Y29uc3Qgbj10aGlzLnlTY2FsZShlLnZhbHVlc1swXS5uUE1JVmFsdWU/ZS52YWx1ZXNbMF0ublBNSVZhbHVlOjApLG89dGhpcy55U2NhbGUoZS52YWx1ZXNbMV0ublBNSVZhbHVlP2UudmFsdWVzWzFdLm5QTUlWYWx1ZTowKTtyZXR1cm4oMS10KSpuK3Qqb30uYmluZCh0aGlzKSksbi5leGl0KCkucmVtb3ZlKCl9fSRPdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8JE90KX0sJE90Lsm1Y21wPXNvKHt0eXBlOiRPdCxzZWxlY3RvcnM6W1sicGFyYWxsZWwtY29vcmRpbmF0ZXMtY29tcG9uZW50Il1dLHZpZXdRdWVyeTpmdW5jdGlvbiB0KGUsbil7aWYoMSZlJiZWeShRT3QsNyxLaCksMiZlKXtsZXQgdDtCeSh0PVV5KCkpJiYobi5zdmdFbGVtZW50PXQuZmlyc3QpfX0saG9zdEJpbmRpbmdzOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlJmKCJyZXNpemUiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUmVzaXplKGUpfSksITEsT2wpfSxpbnB1dHM6e2FjdGl2ZU1ldHJpY3M6ImFjdGl2ZU1ldHJpY3MiLGNvb3JkaW5hdGVEYXRhOiJjb29yZGluYXRlRGF0YSIsc2lkZWJhcldpZHRoOiJzaWRlYmFyV2lkdGgiLGNvbG9yU2NhbGU6ImNvbG9yU2NhbGUifSxmZWF0dXJlczpbcW9dLGRlY2xzOjIsdmFyczowLGNvbnN0czpbWzEsInBjLWNoYXJ0Il0sWyJjaGFydCIsIiJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYob2EoKSx2ZigwLCJzdmciLDAsMSkpfSxzdHlsZXM6WyIucGMtY2hhcnRbX25nY29udGVudC0lQ09NUCVde2hlaWdodDozMDBweDt3aWR0aDoxMDAlfSJdLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYigkT3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoicGFyYWxsZWwtY29vcmRpbmF0ZXMtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9wYXJhbGxlbF9jb29yZGluYXRlc19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9wYXJhbGxlbF9jb29yZGluYXRlc19jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7YWN0aXZlTWV0cmljczpbe3R5cGU6Ul99XSxjb29yZGluYXRlRGF0YTpbe3R5cGU6Ul99XSxzaWRlYmFyV2lkdGg6W3t0eXBlOlJffV0sY29sb3JTY2FsZTpbe3R5cGU6Ul99XSxzdmdFbGVtZW50Olt7dHlwZTphcixhcmdzOlsiY2hhcnQiLHtzdGF0aWM6ITAscmVhZDpLaH1dfV0sb25SZXNpemU6W3t0eXBlOlRfLGFyZ3M6WyJ3aW5kb3c6cmVzaXplIixbIiRldmVudCJdXX1dfSk7Y2xhc3MgdFB0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLmFjdGl2ZVJ1bnMkPXRoaXMuc3RvcmUucGlwZShyUyhfSSkpLnBpcGUoVnQoKHQ9PnQ/QXJyYXkuZnJvbSh0LmVudHJpZXMoKSkuZmlsdGVyKCh0PT50WzFdKSkubWFwKCh0PT50WzBdKSk6W10pKSksdGhpcy5hY3RpdmVNZXRyaWNzJD1LdCh0aGlzLnN0b3JlLnNlbGVjdChxdnQpLHRoaXMuYWN0aXZlUnVucyQsdGhpcy5zdG9yZS5zZWxlY3QoZXh0KSkucGlwZShWdCgoKFt0LGUsbl0pPT57bGV0IG89W107Zm9yKGNvbnN0IG4gb2YgZSl0W25dJiYobz1vLmNvbmNhdCh0W25dLmZpbHRlcigodD0+Tl90KHQpKSkpKTtyZXR1cm4gbz1bLi4ubmV3IFNldChbLi4uT2JqZWN0LmtleXMobiksLi4ub10pXSxvLm1hcCgodD0+el90KHQpKSl9KSkpLHRoaXMuY29vcmRpbmF0ZURhdGEkPUt0KFt0aGlzLnN0b3JlLnNlbGVjdChZdnQpLHRoaXMuc3RvcmUuc2VsZWN0KFh2dCksdGhpcy5hY3RpdmVSdW5zJCx0aGlzLmFjdGl2ZU1ldHJpY3MkXSkucGlwZShWdCgoKFt0LGUsbixvXSk9PihmdW5jdGlvbiBpKHQsZSxuLG8pe2NvbnN0IGk9W10sYT17bWF4Oi0xLG1pbjoxfSxyPW5ldyBTZXQobikscz1uZXcgU2V0KG8pO3JldHVybiAwPT09ci5zaXplfHwwPT09cy5zaXplfHwwPT09T2JqZWN0LmtleXModCkubGVuZ3RoP3tjb29yZGluYXRlczpbXSxleHRyZW1lczp7bWluOi0xLG1heDoxfX06KGUuZm9yRWFjaCgoZT0+e2NvbnN0IG49e307dFtlXS5mb3JFYWNoKCh0PT57ci5oYXModC5ydW4pJiZzLmhhcyh0Lm1ldHJpYykmJihuW3QucnVuXT9uW3QucnVuXS5wdXNoKHQpOm5bdC5ydW5dPVt0XSxudWxsIT09dC5uUE1JVmFsdWU/KGEubWF4PU1hdGgubWF4KGEubWF4LHQublBNSVZhbHVlKSxhLm1pbj1NYXRoLm1pbihhLm1pbix0Lm5QTUlWYWx1ZSkpOihhLm1heD1NYXRoLm1heChhLm1heCwwKSxhLm1pbj1NYXRoLm1pbihhLm1pbiwwKSkpfSkpO2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKG4pKWkucHVzaCh7YW5ub3RhdGlvbjplLHJ1bklkOnQsdmFsdWVzOm5bdF19KX0pKSxhLm1heDxhLm1pbiYmKGEubWF4PTEsYS5taW49LTEpLHtjb29yZGluYXRlczppLGV4dHJlbWVzOmF9KX0pKHQsZSxuLG8pKSkpLHRoaXMuc2lkZWJhcldpZHRoJD10aGlzLnN0b3JlLnNlbGVjdChjeHQpLHRoaXMucnVuQ29sb3JTY2FsZSQ9dGhpcy5zdG9yZS5zZWxlY3QoQ0kpLnBpcGUoVnQoKHQ9PmU9PntpZighdC5oYXNPd25Qcm9wZXJ0eShlKSl0aHJvdyBuZXcgRXJyb3IoYFtDb2xvciBzY2FsZV0gdW5rbm93biBydW5JZDogJHtlfS5gKTtyZXR1cm4gdFtlXX0pKSl9fWZ1bmN0aW9uIGVQdCh0LGUpezEmdCYmdmYoMCwibWF0LWljb24iLDkpfWZ1bmN0aW9uIG5QdCh0LGUpezEmdCYmdmYoMCwibWF0LWljb24iLDEwKX1mdW5jdGlvbiBvUHQodCxlKXsxJnQmJnZmKDAsIm5wbWktcGFyYWxsZWwtY29vcmRpbmF0ZXMiKX10UHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHRQdCkoZ2YoaVMpKX0sdFB0Lsm1Y21wPXNvKHt0eXBlOnRQdCxzZWxlY3RvcnM6W1sibnBtaS1wYXJhbGxlbC1jb29yZGluYXRlcyJdXSxkZWNsczo1LHZhcnM6MTIsY29uc3RzOltbMywiYWN0aXZlTWV0cmljcyIsImNvb3JkaW5hdGVEYXRhIiwic2lkZWJhcldpZHRoIiwiY29sb3JTY2FsZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwicGFyYWxsZWwtY29vcmRpbmF0ZXMtY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIiksX3koMywiYXN5bmMiKSxfeSg0LCJhc3luYyIpKSwyJmUmJmJmKCJhY3RpdmVNZXRyaWNzIixDeSgxLDQsbi5hY3RpdmVNZXRyaWNzJCkpKCJjb29yZGluYXRlRGF0YSIsQ3koMiw2LG4uY29vcmRpbmF0ZURhdGEkKSkoInNpZGViYXJXaWR0aCIsQ3koMyw4LG4uc2lkZWJhcldpZHRoJCkpKCJjb2xvclNjYWxlIixDeSg0LDEwLG4ucnVuQ29sb3JTY2FsZSQpKX0sZGlyZWN0aXZlczpbJE90XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodFB0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktcGFyYWxsZWwtY29vcmRpbmF0ZXMiLHRlbXBsYXRlOidcbiAgICA8cGFyYWxsZWwtY29vcmRpbmF0ZXMtY29tcG9uZW50XG4gICAgICBbYWN0aXZlTWV0cmljc109ImFjdGl2ZU1ldHJpY3MkIHwgYXN5bmMiXG4gICAgICBbY29vcmRpbmF0ZURhdGFdPSJjb29yZGluYXRlRGF0YSQgfCBhc3luYyJcbiAgICAgIFtzaWRlYmFyV2lkdGhdPSJzaWRlYmFyV2lkdGgkIHwgYXN5bmMiXG4gICAgICBbY29sb3JTY2FsZV09InJ1bkNvbG9yU2NhbGUkIHwgYXN5bmMiXG4gICAgPjwvcGFyYWxsZWwtY29vcmRpbmF0ZXMtY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgaVB0e2NvbnN0cnVjdG9yKCl7dGhpcy5vbkNsZWFyU2VsZWN0ZWRBbm5vdGF0aW9ucz1uZXcgU3ksdGhpcy5vblRvZ2dsZUV4cGFuZGVkPW5ldyBTeX19aVB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxpUHQpfSxpUHQuybVjbXA9c28oe3R5cGU6aVB0LHNlbGVjdG9yczpbWyJzZWxlY3RlZC1hbm5vdGF0aW9ucy1jb21wb25lbnQiXV0saW5wdXRzOntwY0V4cGFuZGVkOiJwY0V4cGFuZGVkIixzZWxlY3RlZEFubm90YXRpb25zOiJzZWxlY3RlZEFubm90YXRpb25zIn0sb3V0cHV0czp7b25DbGVhclNlbGVjdGVkQW5ub3RhdGlvbnM6Im9uQ2xlYXJTZWxlY3RlZEFubm90YXRpb25zIixvblRvZ2dsZUV4cGFuZGVkOiJvblRvZ2dsZUV4cGFuZGVkIn0sZGVjbHM6MTEsdmFyczo0LGNvbnN0czpmdW5jdGlvbigpe2xldCB0LGU7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe3Q9Z29vZy5nZXRNc2coIkNsZWFyIEFubm90YXRpb24gU2VsZWN0aW9uIil9ZWxzZSB0PSRsb2NhbGl6ZWA6TGFiZWwgZm9yIGEgYnV0dG9uIHRoYXQgY2xlYXJzIHRoZSBhbm5vdGF0aW9uIHNlbGVjdGlvbi7ikJ8yYjUyMjg5ZjJjNGI3ZjViMTgyZWQyM2M5MTU0NzIyZWNkNDZhMmQ04pCfMjQ5NDY2MDUyMDM0MTMwODgzMDpDbGVhciBBbm5vdGF0aW9uIFNlbGVjdGlvbmA7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe2U9Z29vZy5nZXRNc2coIkV4cGFuZC9IaWRlIFNlbGVjdGVkIEFubm90YXRpb25zIil9ZWxzZSBlPSRsb2NhbGl6ZWA6TGFiZWwgZm9yIGEgYnV0dG9uIHRoYXQgZXhwYW5kcyBvciBoaWRlcyBzZWxlY3RlZCBhbm5vdGF0aW9ucy7ikJ84ZjRhZDMwNWMxOWUzNjU1ZjMxODllM2UyNjRlODNmYjc2ZjdiYjk14pCfNTY3MDc5Nzc4NDA3MDk1MjA5NTpFeHBhbmQvSGlkZSBTZWxlY3RlZCBBbm5vdGF0aW9uc2A7cmV0dXJuW1sxLCJwYy1jb250YWluZXIiXSxbMSwicGMtdG9vbGJhciJdLFsxLCJwYy10aXRsZSJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsdCwidGl0bGUiLCJEZXNlbGVjdHMgYWxsIHNlbGVjdGVkIGFubm90YXRpb25zLiIsMSwiY2xlYXItYnV0dG9uIiwzLCJkaXNhYmxlZCIsImNsaWNrIl0sWyJzdmdJY29uIiwiY2xlYXJfMjRweCJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsZSwxLCJleHBhbmQtYnV0dG9uIiwzLCJjbGljayJdLFsic3ZnSWNvbiIsImV4cGFuZF9sZXNzXzI0cHgiLCJjbGFzcyIsImV4cGFuZC1sZXNzLWljb24iLDQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsibm90RXhwYW5kZWQiLCIiXSxbNCwibmdJZiJdLFsic3ZnSWNvbiIsImV4cGFuZF9sZXNzXzI0cHgiLDEsImV4cGFuZC1sZXNzLWljb24iXSxbInN2Z0ljb24iLCJleHBhbmRfbW9yZV8yNHB4IiwxLCJleHBhbmQtaWNvbiJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwiZGl2IiwxKSxDZigyLCJoMyIsMiksUHUoMywiU2VsZWN0ZWQgQW5ub3RhdGlvbnMiKSxNZigpLENmKDQsImJ1dHRvbiIsMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uQ2xlYXJTZWxlY3RlZEFubm90YXRpb25zLmVtaXQoKX0pKSx2Zig1LCJtYXQtaWNvbiIsNCksTWYoKSxDZig2LCJidXR0b24iLDUpLFJmKCJjbGljayIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblRvZ2dsZUV4cGFuZGVkLmVtaXQoKX0pKSxIbSg3LGVQdCwxLDAsIm1hdC1pY29uIiw2KSxIbSg4LG5QdCwxLDAsIm5nLXRlbXBsYXRlIixudWxsLDcscXkpLE1mKCksTWYoKSxIbSgxMCxvUHQsMSwwLCJucG1pLXBhcmFsbGVsLWNvb3JkaW5hdGVzIiw4KSxNZigpKSwyJmUpe2NvbnN0IHQ9Rm0oOSk7RGMoNCksYmYoImRpc2FibGVkIiwwPT09bi5zZWxlY3RlZEFubm90YXRpb25zLmxlbmd0aCksRGMoMyksYmYoIm5nSWYiLG4ucGNFeHBhbmRlZCkoIm5nSWZFbHNlIix0KSxEYygzKSxiZigibmdJZiIsbi5wY0V4cGFuZGVkKX19LGRpcmVjdGl2ZXM6W05MLE1xLFB2LHRQdF0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9LnBjLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2ViZWJlYn0ucGMtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV17YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7ZGlzcGxheTpmbGV4O2hlaWdodDo0MnB4O3BhZGRpbmc6MCAxNnB4fS5wYy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2Rpc3BsYXk6aW5saW5lO2ZsZXg6MSAxfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihpUHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3Rvcjoic2VsZWN0ZWQtYW5ub3RhdGlvbnMtY29tcG9uZW50Iix0ZW1wbGF0ZVVybDoiLi9zZWxlY3RlZF9hbm5vdGF0aW9uc19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9zZWxlY3RlZF9hbm5vdGF0aW9uc19jb21wb25lbnQuY3NzIl0sY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sbnVsbCx7cGNFeHBhbmRlZDpbe3R5cGU6Ul99XSxzZWxlY3RlZEFubm90YXRpb25zOlt7dHlwZTpSX31dLG9uQ2xlYXJTZWxlY3RlZEFubm90YXRpb25zOlt7dHlwZTpFX31dLG9uVG9nZ2xlRXhwYW5kZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBhUHR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMucGNFeHBhbmRlZCQ9dGhpcy5zdG9yZS5waXBlKHJTKG94dCkpLHRoaXMuc2VsZWN0ZWRBbm5vdGF0aW9ucyQ9dGhpcy5zdG9yZS5zZWxlY3QoWHZ0KX1jbGVhclNlbGVjdGVkQW5ub3RhdGlvbnMoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKF92dCgpKX10b2dnbGVFeHBhbmRlZCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goRHZ0KCkpfX1mdW5jdGlvbiByUHQodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDYpLENmKDEsImRpdiIsNyksdmYoMiwibnBtaS12aW9saW4tZmlsdGVycyIsOCksQ2YoMywiZGl2Iiw5KSx2Zig0LCJydW5zLXNlbGVjdG9yIiksTWYoKSxNZigpLE1mKCkpLDImdCl7bHUoIndpZHRoIix6ZigpLnNpZGViYXJXaWR0aCwicHgiKX19ZnVuY3Rpb24gc1B0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxMCksUmYoIm1vdXNlZG93biIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5yZXNpemVHcmFiYmVkLmVtaXQoKX0pKSxNZigpfX1mdW5jdGlvbiBsUHQodCxlKXsxJnQmJihDZigwLCJkaXYiLDExKSx2ZigxLCJucG1pLWFubm90YXRpb25zLWxpc3QiLDEyKSx2ZigyLCJucG1pLXNlbGVjdGVkLWFubm90YXRpb25zIiksTWYoKSl9ZnVuY3Rpb24gY1B0KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxMyksUHUoMSwiWW91IG5lZWQgdG8gc2VsZWN0IGF0IGxlYXN0IG9uZSBydW4uIiksTWYoKSl9ZnVuY3Rpb24gZFB0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxNCksQ2YoMSwiYnV0dG9uIiwxNSksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLnRvZ2dsZVNpZGViYXJFeHBhbmRlZC5lbWl0KCl9KSksdmYoMiwibWF0LWljb24iLDE2KSxNZigpLE1mKCl9fWFQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8YVB0KShnZihpUykpfSxhUHQuybVjbXA9c28oe3R5cGU6YVB0LHNlbGVjdG9yczpbWyJucG1pLXNlbGVjdGVkLWFubm90YXRpb25zIl1dLGRlY2xzOjMsdmFyczo2LGNvbnN0czpbWzMsInBjRXhwYW5kZWQiLCJzZWxlY3RlZEFubm90YXRpb25zIiwib25DbGVhclNlbGVjdGVkQW5ub3RhdGlvbnMiLCJvblRvZ2dsZUV4cGFuZGVkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJzZWxlY3RlZC1hbm5vdGF0aW9ucy1jb21wb25lbnQiLDApLFJmKCJvbkNsZWFyU2VsZWN0ZWRBbm5vdGF0aW9ucyIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5jbGVhclNlbGVjdGVkQW5ub3RhdGlvbnMoKX0pKSgib25Ub2dnbGVFeHBhbmRlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi50b2dnbGVFeHBhbmRlZCgpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJwY0V4cGFuZGVkIixDeSgxLDIsbi5wY0V4cGFuZGVkJCkpKCJzZWxlY3RlZEFubm90YXRpb25zIixDeSgyLDQsbi5zZWxlY3RlZEFubm90YXRpb25zJCkpfSxkaXJlY3RpdmVzOltpUHRdLHBpcGVzOltWdl0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihhUHQsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoibnBtaS1zZWxlY3RlZC1hbm5vdGF0aW9ucyIsdGVtcGxhdGU6J1xuICAgIDxzZWxlY3RlZC1hbm5vdGF0aW9ucy1jb21wb25lbnRcbiAgICAgIFtwY0V4cGFuZGVkXT0icGNFeHBhbmRlZCQgfCBhc3luYyJcbiAgICAgIFtzZWxlY3RlZEFubm90YXRpb25zXT0ic2VsZWN0ZWRBbm5vdGF0aW9ucyQgfCBhc3luYyJcbiAgICAgIChvbkNsZWFyU2VsZWN0ZWRBbm5vdGF0aW9ucyk9ImNsZWFyU2VsZWN0ZWRBbm5vdGF0aW9ucygpIlxuICAgICAgKG9uVG9nZ2xlRXhwYW5kZWQpPSJ0b2dnbGVFeHBhbmRlZCgpIlxuICAgID48L3NlbGVjdGVkLWFubm90YXRpb25zLWNvbXBvbmVudD5cbiAgJyxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9XX0pLG51bGwpO2NsYXNzIHBQdHtjb25zdHJ1Y3Rvcigpe3RoaXMudG9nZ2xlU2lkZWJhckV4cGFuZGVkPW5ldyBTeSx0aGlzLnJlc2l6ZVRyaWdnZXJlZD1uZXcgU3ksdGhpcy5yZXNpemVHcmFiYmVkPW5ldyBTeSx0aGlzLnJlc2l6ZVJlbGVhc2VkPW5ldyBTeX19cFB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxwUHQpfSxwUHQuybVjbXA9c28oe3R5cGU6cFB0LHNlbGVjdG9yczpbWyJtYWluLWNvbXBvbmVudCJdXSxpbnB1dHM6e3J1bkFjdGl2ZToicnVuQWN0aXZlIixzaWRlYmFyRXhwYW5kZWQ6InNpZGViYXJFeHBhbmRlZCIsc2lkZWJhcldpZHRoOiJzaWRlYmFyV2lkdGgifSxvdXRwdXRzOnt0b2dnbGVTaWRlYmFyRXhwYW5kZWQ6InRvZ2dsZVNpZGViYXJFeHBhbmRlZCIscmVzaXplVHJpZ2dlcmVkOiJyZXNpemVUcmlnZ2VyZWQiLHJlc2l6ZUdyYWJiZWQ6InJlc2l6ZUdyYWJiZWQiLHJlc2l6ZVJlbGVhc2VkOiJyZXNpemVSZWxlYXNlZCJ9LGRlY2xzOjgsdmFyczo1LGNvbnN0czpmdW5jdGlvbigpe2xldCB0O2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgbmdJMThuQ2xvc3VyZU1vZGUmJm5nSTE4bkNsb3N1cmVNb2RlKXt0PWdvb2cuZ2V0TXNnKCJUb2dnbGUgU2lkZWJhciIpfWVsc2UgdD0kbG9jYWxpemVgOkxhYmVsIGZvciBhIGJ1dHRvbiB0aGF0IHRvZ2dsZXMgdGhlIHNpZGViYXIu4pCfZjYzYjU3OTMyZDE3OWNjYTYyYWM5ZmNhZTYzZGQ3ZjVlNmZhMzg5ZuKQnzQ0ODUwMDkzNDc0NDQ3MDQ4Nzg6VG9nZ2xlIFNpZGViYXJgO3JldHVybltbMSwiY29udGVudCIsMywibW91c2V1cCIsIm1vdXNlbW92ZSJdLFsiY2xhc3MiLCJzaWRlYmFyLWNvbnRhaW5lciIsMywid2lkdGgiLDQsIm5nSWYiXSxbImNsYXNzIiwiZ3JhYmJlciIsMywibW91c2Vkb3duIiw0LCJuZ0lmIl0sWyJjbGFzcyIsImFuYWx5c2lzLWNvbnRhaW5lciIsNCwibmdJZiIsIm5nSWZFbHNlIl0sWyJub1J1biIsIiJdLFsiY2xhc3MiLCJzaWRlLXRvZ2dsZSIsNCwibmdJZiJdLFsxLCJzaWRlYmFyLWNvbnRhaW5lciJdLFsxLCJzaWRlYmFyLWNvbnRlbnRzIl0sWzEsInZpb2xpbi1maWx0ZXJzIl0sWzEsInJ1bi1zZWxlY3RvciJdLFsxLCJncmFiYmVyIiwzLCJtb3VzZWRvd24iXSxbMSwiYW5hbHlzaXMtY29udGFpbmVyIl0sWzEsImFubm90YXRpb25zLWxpc3QiXSxbMSwibm9SdW4iXSxbMSwic2lkZS10b2dnbGUiXSxbIm1hdC1pY29uLWJ1dHRvbiIsIiIsImFyaWEtbGFiZWwiLHQsMywiY2xpY2siXSxbInN2Z0ljb24iLCJjaGV2cm9uX3JpZ2h0XzI0cHgiXV19LHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJih2ZigwLCJucG1pLWRhdGEtc2VsZWN0aW9uIiksQ2YoMSwiZGl2IiwwKSxSZigibW91c2V1cCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5yZXNpemVSZWxlYXNlZC5lbWl0KCl9KSkoIm1vdXNlbW92ZSIsKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIG4ucmVzaXplVHJpZ2dlcmVkLmVtaXQoZSl9KSksSG0oMixyUHQsNSwyLCJkaXYiLDEpLEhtKDMsc1B0LDEsMCwiZGl2IiwyKSxIbSg0LGxQdCwzLDAsImRpdiIsMyksSG0oNSxjUHQsMiwwLCJuZy10ZW1wbGF0ZSIsbnVsbCw0LHF5KSxNZigpLEhtKDcsZFB0LDMsMCwiZGl2Iiw1KSksMiZlKXtjb25zdCB0PUZtKDYpO0RjKDIpLGJmKCJuZ0lmIixuLnNpZGViYXJFeHBhbmRlZCksRGMoMSksYmYoIm5nSWYiLG4uc2lkZWJhckV4cGFuZGVkKSxEYygxKSxiZigibmdJZiIsITA9PT1uLnJ1bkFjdGl2ZSkoIm5nSWZFbHNlIix0KSxEYygzKSxiZigibmdJZiIsIW4uc2lkZWJhckV4cGFuZGVkKX19LGRpcmVjdGl2ZXM6W2VPdCxQdixkT3QsYjQsSk90LGFQdCxOTCxNcV0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlfS5jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleDoxO21pbi1oZWlnaHQ6MHB4O3dpZHRoOjEwMCV9LnNpZGViYXItY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59LnNpZGViYXItY29udGVudHNbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjE1MHB4fS5hbmFseXNpcy1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjEwMCU7ZmxleDoxIDF9LnJ1bi1zZWxlY3Rvcltfbmdjb250ZW50LSVDT01QJV17bWF4LWhlaWdodDoxMDAlO3dpZHRoOjEwMCV9LnZpb2xpbi1maWx0ZXJzW19uZ2NvbnRlbnQtJUNPTVAlXXttaW4taGVpZ2h0OjBweDt3aWR0aDoxMDAlfS5zaWRlLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7Ym90dG9tOjEwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2JvcmRlci1yYWRpdXM6M3B4O2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZ3JhYmJlcltfbmdjb250ZW50LSVDT01QJV17Y29udGVudDoiIjtjdXJzb3I6ZXctcmVzaXplO2hlaWdodDoxMDAlO3dpZHRoOjNweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9LmFubm90YXRpb25zLWxpc3RbX25nY29udGVudC0lQ09NUCVde3dpZHRoOjEwMCU7bWluLWhlaWdodDowcHg7ZmxleDoxIDF9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHBQdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJtYWluLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vbWFpbl9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9tYWluX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtydW5BY3RpdmU6W3t0eXBlOlJffV0sc2lkZWJhckV4cGFuZGVkOlt7dHlwZTpSX31dLHNpZGViYXJXaWR0aDpbe3R5cGU6Ul99XSx0b2dnbGVTaWRlYmFyRXhwYW5kZWQ6W3t0eXBlOkVffV0scmVzaXplVHJpZ2dlcmVkOlt7dHlwZTpFX31dLHJlc2l6ZUdyYWJiZWQ6W3t0eXBlOkVffV0scmVzaXplUmVsZWFzZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBtUHR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMucnVuQWN0aXZlJD10aGlzLnN0b3JlLnBpcGUoclMoX0kpKS5waXBlKFZ0KCh0PT4hIXQmJlsuLi50LnZhbHVlcygpXS5pbmNsdWRlcyghMCkpKSksdGhpcy5zaWRlYmFyRXhwYW5kZWQkPXRoaXMuc3RvcmUucGlwZShyUyhheHQpKSx0aGlzLnNpZGViYXJXaWR0aCQ9dGhpcy5zdG9yZS5waXBlKHJTKGN4dCkpLHRoaXMucmVzaXppbmc9ITF9b25Ub2dnbGVTaWRlYmFyRXhwYW5kZWQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKEV2dCgpKX1vblJlc2l6ZVRyaWdnZXJlZCh0KXt0aGlzLnJlc2l6aW5nJiZ0aGlzLnN0b3JlLmRpc3BhdGNoKHp2dCh7c2lkZWJhcldpZHRoOnQuY2xpZW50WH0pKX1vblJlc2l6ZUdyYWJiZWQoKXt0aGlzLnJlc2l6aW5nPSEwfW9uUmVzaXplUmVsZWFzZWQoKXt0aGlzLnJlc2l6aW5nPSExfX1tUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fG1QdCkoZ2YoaVMpKX0sbVB0Lsm1Y21wPXNvKHt0eXBlOm1QdCxzZWxlY3RvcnM6W1sibnBtaS1tYWluIl1dLGRlY2xzOjQsdmFyczo5LGNvbnN0czpbWzMsInJ1bkFjdGl2ZSIsInNpZGViYXJFeHBhbmRlZCIsInNpZGViYXJXaWR0aCIsInRvZ2dsZVNpZGViYXJFeHBhbmRlZCIsInJlc2l6ZVRyaWdnZXJlZCIsInJlc2l6ZUdyYWJiZWQiLCJyZXNpemVSZWxlYXNlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwibWFpbi1jb21wb25lbnQiLDApLFJmKCJ0b2dnbGVTaWRlYmFyRXhwYW5kZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25Ub2dnbGVTaWRlYmFyRXhwYW5kZWQoKX0pKSgicmVzaXplVHJpZ2dlcmVkIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5vblJlc2l6ZVRyaWdnZXJlZChlKX0pKSgicmVzaXplR3JhYmJlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblJlc2l6ZUdyYWJiZWQoKX0pKSgicmVzaXplUmVsZWFzZWQiLChmdW5jdGlvbiB0KCl7cmV0dXJuIG4ub25SZXNpemVSZWxlYXNlZCgpfSkpLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLE1mKCkpLDImZSYmYmYoInJ1bkFjdGl2ZSIsQ3koMSwzLG4ucnVuQWN0aXZlJCkpKCJzaWRlYmFyRXhwYW5kZWQiLEN5KDIsNSxuLnNpZGViYXJFeHBhbmRlZCQpKSgic2lkZWJhcldpZHRoIixDeSgzLDcsbi5zaWRlYmFyV2lkdGgkKSl9LGRpcmVjdGl2ZXM6W3BQdF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjIsY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKG1QdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLW1haW4iLHRlbXBsYXRlOidcbiAgICA8bWFpbi1jb21wb25lbnRcbiAgICAgIFtydW5BY3RpdmVdPSJydW5BY3RpdmUkIHwgYXN5bmMiXG4gICAgICBbc2lkZWJhckV4cGFuZGVkXT0ic2lkZWJhckV4cGFuZGVkJCB8IGFzeW5jIlxuICAgICAgW3NpZGViYXJXaWR0aF09InNpZGViYXJXaWR0aCQgfCBhc3luYyJcbiAgICAgICh0b2dnbGVTaWRlYmFyRXhwYW5kZWQpPSJvblRvZ2dsZVNpZGViYXJFeHBhbmRlZCgpIlxuICAgICAgKHJlc2l6ZVRyaWdnZXJlZCk9Im9uUmVzaXplVHJpZ2dlcmVkKCRldmVudCkiXG4gICAgICAocmVzaXplR3JhYmJlZCk9Im9uUmVzaXplR3JhYmJlZCgpIlxuICAgICAgKHJlc2l6ZVJlbGVhc2VkKT0ib25SZXNpemVSZWxlYXNlZCgpIlxuICAgID48L21haW4tY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgZlB0e2NvbnN0cnVjdG9yKCl7dGhpcy50b2dnbGVTaWRlYmFyRXhwYW5kZWQ9bmV3IFN5fX1mUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGZQdCl9LGZQdC7JtWNtcD1zbyh7dHlwZTpmUHQsc2VsZWN0b3JzOltbImVtYmVkZGluZy1wcm9qZWN0aW9uLWNvbXBvbmVudCJdXSxpbnB1dHM6e3NpZGViYXJFeHBhbmRlZDoic2lkZWJhckV4cGFuZGVkIn0sb3V0cHV0czp7dG9nZ2xlU2lkZWJhckV4cGFuZGVkOiJ0b2dnbGVTaWRlYmFyRXhwYW5kZWQifSxkZWNsczo3LHZhcnM6MCxjb25zdHM6ZnVuY3Rpb24oKXtsZXQgdDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG5nSTE4bkNsb3N1cmVNb2RlJiZuZ0kxOG5DbG9zdXJlTW9kZSl7dD1nb29nLmdldE1zZygiRXhwYW5kL0hpZGUgU2lkZWJhciIpfWVsc2UgdD0kbG9jYWxpemVgOkxhYmVsIGZvciBhIGJ1dHRvbiB0aGF0IGV4cGFuZHMvaGlkZXMgdGhlIHNpZGViYXIu4pCfNDhjMjk5MDNjZTg4MWFiNjEwODhmOGQ0OWQ4MjcyMDM3MTZhYWVkNOKQnzQ2NTg2MDI5OTE5NzAyNjAyMTU6RXhwYW5kL0hpZGUgU2lkZWJhcmA7cmV0dXJuW1sxLCJlbWJlZGRpbmctcHJvamVjdGlvbi10b29sYmFyIl0sWzEsImVtYmVkZGluZy1wcm9qZWN0aW9uLXRpdGxlIl0sWzEsInNpZGUtdG9nZ2xlIl0sWyJtYXQtaWNvbi1idXR0b24iLCIiLCJhcmlhLWxhYmVsIix0LDMsImNsaWNrIl0sWyJzdmdJY29uIiwiY2hldnJvbl9sZWZ0XzI0cHgiXSxbMSwicHJvamVjdGlvbiJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKENmKDAsImRpdiIsMCksQ2YoMSwiaDMiLDEpLFB1KDIsIkVtYmVkZGluZ3MgUHJvamVjdGVkIiksTWYoKSxDZigzLCJkaXYiLDIpLENmKDQsImJ1dHRvbiIsMyksUmYoImNsaWNrIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLnRvZ2dsZVNpZGViYXJFeHBhbmRlZC5lbWl0KCl9KSksdmYoNSwibWF0LWljb24iLDQpLE1mKCksTWYoKSxNZigpLHZmKDYsImRpdiIsNSkpfSxkaXJlY3RpdmVzOltOTCxNcV0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2hlaWdodDoxMDAlfS5lbWJlZGRpbmctcHJvamVjdGlvbi10b29sYmFyW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQycHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzowIDEwcHh9LmVtYmVkZGluZy1wcm9qZWN0aW9uLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmlubGluZTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LnByb2plY3Rpb25bX25nY29udGVudC0lQ09NUCVde292ZXJmbG93LXk6YXV0b30uc2lkZS10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czozcHg7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MzBweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjMwcHh9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGZQdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJlbWJlZGRpbmctcHJvamVjdGlvbi1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL2VtYmVkZGluZ19wcm9qZWN0aW9uX2NvbXBvbmVudC5uZy5odG1sIixzdHlsZVVybHM6WyIuL2VtYmVkZGluZ19wcm9qZWN0aW9uX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtzaWRlYmFyRXhwYW5kZWQ6W3t0eXBlOlJffV0sdG9nZ2xlU2lkZWJhckV4cGFuZGVkOlt7dHlwZTpFX31dfSk7Y2xhc3MgdVB0e2NvbnN0cnVjdG9yKHQpe3RoaXMuc3RvcmU9dCx0aGlzLnNpZGViYXJFeHBhbmRlZCQ9dGhpcy5zdG9yZS5zZWxlY3QobXh0KX1vblRvZ2dsZVNpZGViYXJFeHBhbmRlZCgpe3RoaXMuc3RvcmUuZGlzcGF0Y2goSHZ0KCkpfX1mdW5jdGlvbiBnUHQodCxlKXtpZigxJnQmJihDZigwLCJkaXYiLDYpLENmKDEsImRpdiIsNyksdmYoMiwibnBtaS1lbWJlZGRpbmctcHJvamVjdGlvbiIsOCksdmYoMywiZGl2Iiw5KSxDZig0LCJkaXYiLDEwKSx2Zig1LCJydW5zLXNlbGVjdG9yIiksTWYoKSxNZigpLE1mKCkpLDImdCl7bHUoIndpZHRoIix6ZigpLnNpZGViYXJXaWR0aCwicHgiKX19ZnVuY3Rpb24gaFB0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxMSksUmYoIm1vdXNlZG93biIsKGZ1bmN0aW9uIGUoKXtQaSh0KTtyZXR1cm4gemYoKS5yZXNpemVHcmFiYmVkLmVtaXQoKX0pKSxNZigpfX1mdW5jdGlvbiBiUHQodCxlKXsxJnQmJihDZigwLCJkaXYiLDEyKSx2ZigxLCJucG1pLWFubm90YXRpb25zLWxpc3QiLDEzKSx2ZigyLCJucG1pLXNlbGVjdGVkLWFubm90YXRpb25zIiksTWYoKSl9ZnVuY3Rpb24geVB0KHQsZSl7MSZ0JiYoQ2YoMCwiZGl2IiwxNCksUHUoMSwiWW91IG5lZWQgdG8gc2VsZWN0IGF0IGxlYXN0IG9uZSBydW4uIiksTWYoKSl9ZnVuY3Rpb24gX1B0KHQsZSl7aWYoMSZ0KXtjb25zdCB0PXdmKCk7Q2YoMCwiZGl2IiwxNSksQ2YoMSwiYnV0dG9uIiwxNiksUmYoImNsaWNrIiwoZnVuY3Rpb24gZSgpe1BpKHQpO3JldHVybiB6ZigpLnRvZ2dsZVNpZGViYXJFeHBhbmRlZC5lbWl0KCl9KSksdmYoMiwibWF0LWljb24iLDE3KSxNZigpLE1mKCl9fXVQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8dVB0KShnZihpUykpfSx1UHQuybVjbXA9c28oe3R5cGU6dVB0LHNlbGVjdG9yczpbWyJucG1pLWVtYmVkZGluZy1wcm9qZWN0aW9uIl1dLGRlY2xzOjIsdmFyczozLGNvbnN0czpbWzMsInNpZGViYXJFeHBhbmRlZCIsInRvZ2dsZVNpZGViYXJFeHBhbmRlZCJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYoQ2YoMCwiZW1iZWRkaW5nLXByb2plY3Rpb24tY29tcG9uZW50IiwwKSxSZigidG9nZ2xlU2lkZWJhckV4cGFuZGVkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uVG9nZ2xlU2lkZWJhckV4cGFuZGVkKCl9KSksX3koMSwiYXN5bmMiKSxNZigpKSwyJmUmJmJmKCJzaWRlYmFyRXhwYW5kZWQiLEN5KDEsMSxuLnNpZGViYXJFeHBhbmRlZCQpKX0sZGlyZWN0aXZlczpbZlB0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIodVB0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktZW1iZWRkaW5nLXByb2plY3Rpb24iLHRlbXBsYXRlOidcbiAgICA8ZW1iZWRkaW5nLXByb2plY3Rpb24tY29tcG9uZW50XG4gICAgICBbc2lkZWJhckV4cGFuZGVkXT0ic2lkZWJhckV4cGFuZGVkJCB8IGFzeW5jIlxuICAgICAgKHRvZ2dsZVNpZGViYXJFeHBhbmRlZCk9Im9uVG9nZ2xlU2lkZWJhckV4cGFuZGVkKCkiXG4gICAgPjwvZW1iZWRkaW5nLXByb2plY3Rpb24tY29tcG9uZW50PlxuICAnLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgQ1B0e2NvbnN0cnVjdG9yKCl7dGhpcy50b2dnbGVTaWRlYmFyRXhwYW5kZWQ9bmV3IFN5LHRoaXMucmVzaXplVHJpZ2dlcmVkPW5ldyBTeSx0aGlzLnJlc2l6ZUdyYWJiZWQ9bmV3IFN5LHRoaXMucmVzaXplUmVsZWFzZWQ9bmV3IFN5fX1DUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fENQdCl9LENQdC7JtWNtcD1zbyh7dHlwZTpDUHQsc2VsZWN0b3JzOltbImVtYmVkZGluZ3MtY29tcG9uZW50Il1dLGlucHV0czp7cnVuQWN0aXZlOiJydW5BY3RpdmUiLHNpZGViYXJFeHBhbmRlZDoic2lkZWJhckV4cGFuZGVkIixzaWRlYmFyV2lkdGg6InNpZGViYXJXaWR0aCJ9LG91dHB1dHM6e3RvZ2dsZVNpZGViYXJFeHBhbmRlZDoidG9nZ2xlU2lkZWJhckV4cGFuZGVkIixyZXNpemVUcmlnZ2VyZWQ6InJlc2l6ZVRyaWdnZXJlZCIscmVzaXplR3JhYmJlZDoicmVzaXplR3JhYmJlZCIscmVzaXplUmVsZWFzZWQ6InJlc2l6ZVJlbGVhc2VkIn0sZGVjbHM6OCx2YXJzOjUsY29uc3RzOmZ1bmN0aW9uKCl7bGV0IHQ7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBuZ0kxOG5DbG9zdXJlTW9kZSYmbmdJMThuQ2xvc3VyZU1vZGUpe3Q9Z29vZy5nZXRNc2coIlRvZ2dsZSBTaWRlYmFyIil9ZWxzZSB0PSRsb2NhbGl6ZWA6TGFiZWwgZm9yIGEgYnV0dG9uIHRoYXQgdG9nZ2xlcyB0aGUgc2lkZWJhci7ikJ9mNjNiNTc5MzJkMTc5Y2NhNjJhYzlmY2FlNjNkZDdmNWU2ZmEzODlm4pCfNDQ4NTAwOTM0NzQ0NDcwNDg3ODpUb2dnbGUgU2lkZWJhcmA7cmV0dXJuW1sxLCJjb250ZW50IiwzLCJtb3VzZXVwIiwibW91c2Vtb3ZlIl0sWyJjbGFzcyIsInNpZGViYXItY29udGFpbmVyIiwzLCJ3aWR0aCIsNCwibmdJZiJdLFsiY2xhc3MiLCJncmFiYmVyIiwzLCJtb3VzZWRvd24iLDQsIm5nSWYiXSxbImNsYXNzIiwiYW5hbHlzaXMtY29udGFpbmVyIiw0LCJuZ0lmIiwibmdJZkVsc2UiXSxbIm5vUnVuIiwiIl0sWyJjbGFzcyIsInNpZGUtdG9nZ2xlIiw0LCJuZ0lmIl0sWzEsInNpZGViYXItY29udGFpbmVyIl0sWzEsInNpZGViYXItY29udGVudHMiXSxbMSwiZW1iZWRkaW5nLXByb2plY3Rpb24iXSxbMSwicnVuLWRpdmlkZXIiXSxbMSwicnVuLXNlbGVjdG9yIl0sWzEsImdyYWJiZXIiLDMsIm1vdXNlZG93biJdLFsxLCJhbmFseXNpcy1jb250YWluZXIiXSxbMSwiYW5ub3RhdGlvbnMtbGlzdCJdLFsxLCJub1J1biJdLFsxLCJzaWRlLXRvZ2dsZSJdLFsibWF0LWljb24tYnV0dG9uIiwiIiwiYXJpYS1sYWJlbCIsdCwzLCJjbGljayJdLFsic3ZnSWNvbiIsImNoZXZyb25fcmlnaHRfMjRweCJdXX0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pe2lmKDEmZSYmKHZmKDAsIm5wbWktZGF0YS1zZWxlY3Rpb24iKSxDZigxLCJkaXYiLDApLFJmKCJtb3VzZXVwIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLnJlc2l6ZVJlbGVhc2VkLmVtaXQoKX0pKSgibW91c2Vtb3ZlIiwoZnVuY3Rpb24gdChlKXtyZXR1cm4gbi5yZXNpemVUcmlnZ2VyZWQuZW1pdChlKX0pKSxIbSgyLGdQdCw2LDIsImRpdiIsMSksSG0oMyxoUHQsMSwwLCJkaXYiLDIpLEhtKDQsYlB0LDMsMCwiZGl2IiwzKSxIbSg1LHlQdCwyLDAsIm5nLXRlbXBsYXRlIixudWxsLDQscXkpLE1mKCksSG0oNyxfUHQsMywwLCJkaXYiLDUpKSwyJmUpe2NvbnN0IHQ9Rm0oNik7RGMoMiksYmYoIm5nSWYiLG4uc2lkZWJhckV4cGFuZGVkKSxEYygxKSxiZigibmdJZiIsbi5zaWRlYmFyRXhwYW5kZWQpLERjKDEpLGJmKCJuZ0lmIiwhMD09PW4ucnVuQWN0aXZlKSgibmdJZkVsc2UiLHQpLERjKDMpLGJmKCJuZ0lmIiwhbi5zaWRlYmFyRXhwYW5kZWQpfX0sZGlyZWN0aXZlczpbZU90LFB2LHVQdCxiNCxKT3QsYVB0LE5MLE1xXSxzdHlsZXM6WycubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTJweDtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1iYWRnZS1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo5cHh9Lm1hdC1iYWRnZS1sYXJnZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWJhZGdlLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4fS5tYXQtaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWhlYWRsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgxW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAyNHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWgzW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE2cHgvMjhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg0W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdWJoZWFkaW5nLTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE1cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgMTZweH0ubWF0LWg1W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg1W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCBjYWxjKDE0cHggKiAwLjgzKS8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjttYXJnaW46MCAwIDEycHh9Lm1hdC1oNltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC42NykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtYm9keS1zdHJvbmdbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWJvZHktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1ib2R5W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTFbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBwW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW46MCAwIDEycHh9Lm1hdC1zbWFsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FwdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMTJweC8yMHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6MzAwIDExMnB4LzExMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wNWVtO21hcmdpbjowIDAgNTZweH0ubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktM1tfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNTZweC81NnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMmVtO21hcmdpbjowIDAgNjRweH0ubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWRpc3BsYXktMltfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgNDVweC80OHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzotMC4wMDVlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTFbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDM0cHgvNDBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowIDAgNjRweH0ubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1yYWlzZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3Ryb2tlZC1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZsYXQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mYWJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW1pbmktZmFiW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtYnV0dG9uLXRvZ2dsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FyZC1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1jYXJkLXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjBweH0ubWF0LWNhcmQtc3VidGl0bGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcmQtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jaGVja2JveFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2hlY2tib3gtbGF5b3V0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hlY2tib3gtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjI0cHh9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jaGlwW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxOHB4fS5tYXQtdGFibGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWhlYWRlci1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jZWxsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb290ZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1jYWxlbmRhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtY2FsZW5kYXItYm9keVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEzcHh9Lm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgdGhbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWRpYWxvZy10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDE0cHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuMTI1O2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTUwJTtsaW5lLWhlaWdodDoxLjEyNX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjVlbTt3aWR0aDoxLjVlbX0ubWF0LWZvcm0tZmllbGQtcHJlZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW07bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi41ZW0gMDtib3JkZXItdG9wOi44NDM3NWVtIHNvbGlkIHRyYW5zcGFyZW50fS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4zNDM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3RvcDotMC44NDM3NWVtO3BhZGRpbmctdG9wOi44NDM3NWVtfS5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtib3R0b206MS4zNDM3NWVtfS5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjc1JTttYXJnaW4tdG9wOi42NjY2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmctYm90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi40Mzc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzUzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMjgxMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3lbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXttYXJnaW4tdG9wOi41NDE2NjY2NjY3ZW07dG9wOmNhbGMoMTAwJSAtIDEuNjY2NjY2NjY2N2VtKX1AbWVkaWEgcHJpbnR7Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIyZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2xbX25nY29udGVudC0lQ09NUCVdOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTIxZW0pIHNjYWxlKDAuNzUpfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMmVtKSBzY2FsZSgwLjc1KX19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6LjI1ZW0gMCAuNzVlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS4wOTM3NWVtO21hcmdpbi10b3A6LTAuNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtaW5maXhbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MWVtIDAgMWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjg0Mzc1ZW07bWFyZ2luLXRvcDotMC4yNWVtfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO3dpZHRoOjEzMy4zMzMzMzMzMzMzJX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF1bX25nY29udGVudC0lQ09NUCVdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzQzMzMzMyV9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVdOm50aC1jaGlsZChuKzIpLCAubWF0LWdyaWQtdGlsZS1mb290ZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH1pbnB1dC5tYXQtaW5wdXQtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDotMC4wNjI1ZW19Lm1hdC1tZW51LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDB9Lm1hdC1wYWdpbmF0b3JbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4fS5tYXQtcmFkaW8tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3RbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXNlbGVjdC10cmlnZ2VyW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS4xMjVlbX0ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXN0ZXBwZXItdmVydGljYWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc3RlcC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0Om5vcm1hbH0ubWF0LXN0ZXAtbGFiZWwtZXJyb3JbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdGFiLWdyb3VwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10YWItbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRhYi1saW5rW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoMltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdG9vbGJhcltfbmdjb250ZW50LSVDT01QJV0gICBoNltfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMjBweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjB9Lm1hdC10b29sdGlwW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7cGFkZGluZy10b3A6NnB4O3BhZGRpbmctYm90dG9tOjZweH0ubWF0LXRvb2x0aXAtaGFuZHNldFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweH0ubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTZweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTRweH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LXN1YmhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3QtaXRlbVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTZweH0ubWF0LW9wdGdyb3VwLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAxNHB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LXNpbXBsZS1zbmFja2Jhcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4fS5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbltfbmdjb250ZW50LSVDT01QJV17bGluZS1oZWlnaHQ6MTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRyZWVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtbmVzdGVkLXRyZWUtbm9kZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNHB4fS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1yaXBwbGVbX25nY29udGVudC0lQ09NUCVdOm5vdCg6ZW1wdHkpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkW19uZ2NvbnRlbnQtJUNPTVAlXXtvdmVyZmxvdzp2aXNpYmxlfS5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTAlO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbjpvcGFjaXR5LHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7dHJhbnNmb3JtOnNjYWxlKDApfS5jZGstaGlnaC1jb250cmFzdC1hY3RpdmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1yaXBwbGUtZWxlbWVudFtfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpub25lfS5jZGstdmlzdWFsbHktaGlkZGVuW19uZ2NvbnRlbnQtJUNPTVAlXXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDt3aGl0ZS1zcGFjZTpub3dyYXA7b3V0bGluZTowOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde3BvaW50ZXItZXZlbnRzOm5vbmU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9LmNkay1vdmVybGF5LWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVdOmVtcHR5e2Rpc3BsYXk6bm9uZX0uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDB9LmNkay1vdmVybGF5LXBhbmVbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6MTAwMDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5jZGstb3ZlcmxheS1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxMDAwO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zaXRpb246b3BhY2l0eSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtvcGFjaXR5OjB9LmNkay1vdmVybGF5LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5Oi42fS5jZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMyKX0uY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVdLCAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTowfS5jZGstb3ZlcmxheS1jb25uZWN0ZWQtcG9zaXRpb24tYm91bmRpbmctYm94W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4fS5jZGstZ2xvYmFsLXNjcm9sbGJsb2NrW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO292ZXJmbG93LXk6c2Nyb2xsfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZVtfbmdjb250ZW50LSVDT01QJV17cmVzaXplOm5vbmV9dGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ1tfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O292ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50fXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzoycHggMCAhaW1wb3J0YW50O2JveC1zaXppbmc6Y29udGVudC1ib3ggIWltcG9ydGFudDtoZWlnaHQ6MCAhaW1wb3J0YW50fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnR7fUBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5ke30uY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxse2FuaW1hdGlvbjpjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXN9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06bm90KDotd2Via2l0LWF1dG9maWxsKXthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtc30ubWF0LWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9Lm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjpyZWxhdGl2ZX1bX25naG9zdC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47aGVpZ2h0OjEwMCV9LmNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6ZmxleDtmbGV4OjE7bWluLWhlaWdodDowcHg7d2lkdGg6MTAwJX0uc2lkZWJhci1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbn0uc2lkZWJhci1jb250ZW50c1tfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJTttaW4td2lkdGg6MTUwcHh9LmFuYWx5c2lzLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17ZGlzcGxheTpmbGV4O2ZsZXg6MSAxO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtoZWlnaHQ6MTAwJX0ucnVuLXNlbGVjdG9yW19uZ2NvbnRlbnQtJUNPTVAlXXttYXgtaGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0uZW1iZWRkaW5nLXByb2plY3Rpb25bX25nY29udGVudC0lQ09NUCVde21pbi1oZWlnaHQ6MHB4O3dpZHRoOjEwMCV9LnNpZGUtdG9nZ2xlW19uZ2NvbnRlbnQtJUNPTVAlXXthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCAjZWJlYmViO2JvcmRlci1yYWRpdXM6M3B4O2JvdHRvbToxMHB4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MzBweDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2xlZnQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDozMHB4fS5ydW4tZGl2aWRlcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMik7Y29udGVudDoiIjtoZWlnaHQ6MXB4O292ZXJmbG93OmhpZGRlbn0uZ3JhYmJlcltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMik7Y29udGVudDoiIjtjdXJzb3I6ZXctcmVzaXplO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aWR0aDozcHh9LmFubm90YXRpb25zLWxpc3RbX25nY29udGVudC0lQ09NUCVde2ZsZXg6MSAxO21pbi1oZWlnaHQ6MHB4O3dpZHRoOjEwMCV9J10sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKENQdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJlbWJlZGRpbmdzLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vZW1iZWRkaW5nc19jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9lbWJlZGRpbmdzX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtydW5BY3RpdmU6W3t0eXBlOlJffV0sc2lkZWJhckV4cGFuZGVkOlt7dHlwZTpSX31dLHNpZGViYXJXaWR0aDpbe3R5cGU6Ul99XSx0b2dnbGVTaWRlYmFyRXhwYW5kZWQ6W3t0eXBlOkVffV0scmVzaXplVHJpZ2dlcmVkOlt7dHlwZTpFX31dLHJlc2l6ZUdyYWJiZWQ6W3t0eXBlOkVffV0scmVzaXplUmVsZWFzZWQ6W3t0eXBlOkVffV19KTtjbGFzcyBNUHR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMucnVuQWN0aXZlJD10aGlzLnN0b3JlLnBpcGUoclMoX0kpKS5waXBlKFZ0KCh0PT4hIXQmJlsuLi50LnZhbHVlcygpXS5pbmNsdWRlcyghMCkpKSksdGhpcy5zaWRlYmFyRXhwYW5kZWQkPXRoaXMuc3RvcmUucGlwZShyUyhteHQpKSx0aGlzLnNpZGViYXJXaWR0aCQ9dGhpcy5zdG9yZS5waXBlKHJTKHB4dCkpLHRoaXMucmVzaXppbmc9ITF9b25Ub2dnbGVTaWRlYmFyRXhwYW5kZWQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKEh2dCgpKX1vblJlc2l6ZVRyaWdnZXJlZCh0KXt0aGlzLnJlc2l6aW5nJiZ0aGlzLnN0b3JlLmRpc3BhdGNoKEl2dCh7c2lkZWJhcldpZHRoOnQuY2xpZW50WH0pKX1vblJlc2l6ZUdyYWJiZWQoKXt0aGlzLnJlc2l6aW5nPSEwfW9uUmVzaXplUmVsZWFzZWQoKXt0aGlzLnJlc2l6aW5nPSExfX1mdW5jdGlvbiB2UHQodCxlKXsxJnQmJnZmKDAsIm5wbWktaW5hY3RpdmUtdmlldyIpfWZ1bmN0aW9uIHhQdCh0LGUpezEmdCYmdmYoMCwibnBtaS1tYWluIil9ZnVuY3Rpb24gT1B0KHQsZSl7MSZ0JiZ2ZigwLCJucG1pLWVtYmVkZGluZ3MiKX1mdW5jdGlvbiBQUHQodCxlKXtpZigxJnQmJihIbSgwLHhQdCwxLDAsIm5wbWktbWFpbiIsMyksSG0oMSxPUHQsMSwwLCJucG1pLWVtYmVkZGluZ3MiLDMpKSwyJnQpe2NvbnN0IHQ9emYoKTtiZigibmdJZiIsdC5hY3RpdmVWaWV3PT09dC5WaWV3QWN0aXZlLkRFRkFVTFQpLERjKDEpLGJmKCJuZ0lmIix0LmFjdGl2ZVZpZXc9PT10LlZpZXdBY3RpdmUuRU1CRURESU5HUyl9fU1QdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TVB0KShnZihpUykpfSxNUHQuybVjbXA9c28oe3R5cGU6TVB0LHNlbGVjdG9yczpbWyJucG1pLWVtYmVkZGluZ3MiXV0sZGVjbHM6NCx2YXJzOjksY29uc3RzOltbMywicnVuQWN0aXZlIiwic2lkZWJhckV4cGFuZGVkIiwic2lkZWJhcldpZHRoIiwidG9nZ2xlU2lkZWJhckV4cGFuZGVkIiwicmVzaXplVHJpZ2dlcmVkIiwicmVzaXplR3JhYmJlZCIsInJlc2l6ZVJlbGVhc2VkIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJlbWJlZGRpbmdzLWNvbXBvbmVudCIsMCksUmYoInRvZ2dsZVNpZGViYXJFeHBhbmRlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblRvZ2dsZVNpZGViYXJFeHBhbmRlZCgpfSkpKCJyZXNpemVUcmlnZ2VyZWQiLChmdW5jdGlvbiB0KGUpe3JldHVybiBuLm9uUmVzaXplVHJpZ2dlcmVkKGUpfSkpKCJyZXNpemVHcmFiYmVkIiwoZnVuY3Rpb24gdCgpe3JldHVybiBuLm9uUmVzaXplR3JhYmJlZCgpfSkpKCJyZXNpemVSZWxlYXNlZCIsKGZ1bmN0aW9uIHQoKXtyZXR1cm4gbi5vblJlc2l6ZVJlbGVhc2VkKCl9KSksX3koMSwiYXN5bmMiKSxfeSgyLCJhc3luYyIpLF95KDMsImFzeW5jIiksTWYoKSksMiZlJiZiZigicnVuQWN0aXZlIixDeSgxLDMsbi5ydW5BY3RpdmUkKSkoInNpZGViYXJFeHBhbmRlZCIsQ3koMiw1LG4uc2lkZWJhckV4cGFuZGVkJCkpKCJzaWRlYmFyV2lkdGgiLEN5KDMsNyxuLnNpZGViYXJXaWR0aCQpKX0sZGlyZWN0aXZlczpbQ1B0XSxwaXBlczpbVnZdLGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTVB0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6Im5wbWktZW1iZWRkaW5ncyIsdGVtcGxhdGU6J1xuICAgIDxlbWJlZGRpbmdzLWNvbXBvbmVudFxuICAgICAgW3J1bkFjdGl2ZV09InJ1bkFjdGl2ZSQgfCBhc3luYyJcbiAgICAgIFtzaWRlYmFyRXhwYW5kZWRdPSJzaWRlYmFyRXhwYW5kZWQkIHwgYXN5bmMiXG4gICAgICBbc2lkZWJhcldpZHRoXT0ic2lkZWJhcldpZHRoJCB8IGFzeW5jIlxuICAgICAgKHRvZ2dsZVNpZGViYXJFeHBhbmRlZCk9Im9uVG9nZ2xlU2lkZWJhckV4cGFuZGVkKCkiXG4gICAgICAocmVzaXplVHJpZ2dlcmVkKT0ib25SZXNpemVUcmlnZ2VyZWQoJGV2ZW50KSJcbiAgICAgIChyZXNpemVHcmFiYmVkKT0ib25SZXNpemVHcmFiYmVkKCkiXG4gICAgICAocmVzaXplUmVsZWFzZWQpPSJvblJlc2l6ZVJlbGVhc2VkKCkiXG4gICAgPjwvZW1iZWRkaW5ncy1jb21wb25lbnQ+XG4gICcsY2hhbmdlRGV0ZWN0aW9uOmpuLk9uUHVzaH1dfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOmlTfV19KSxudWxsKTtjbGFzcyB3UHR7Y29uc3RydWN0b3IoKXt0aGlzLlZpZXdBY3RpdmU9anZ0fX13UHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fHdQdCl9LHdQdC7JtWNtcD1zbyh7dHlwZTp3UHQsc2VsZWN0b3JzOltbIm5wbWktY29tcG9uZW50Il1dLGlucHV0czp7cnVuczoicnVucyIsYWN0aXZlVmlldzoiYWN0aXZlVmlldyJ9LGRlY2xzOjQsdmFyczoyLGNvbnN0czpbWzEsIm5wbWktY29udGFpbmVyIl0sWzQsIm5nSWYiLCJuZ0lmRWxzZSJdLFsiZGF0YUF2YWlsYWJsZSIsIiJdLFs0LCJuZ0lmIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihDZigwLCJkaXYiLDApLEhtKDEsdlB0LDEsMCwibnBtaS1pbmFjdGl2ZS12aWV3IiwxKSxIbSgyLFBQdCwyLDIsIm5nLXRlbXBsYXRlIixudWxsLDIscXkpLE1mKCkpLDImZSl7Y29uc3QgdD1GbSgzKTtEYygxKSxiZigibmdJZiIsMD09PW4ucnVucy5zaXplKSgibmdJZkVsc2UiLHQpfX0sZGlyZWN0aXZlczpbUHYsdXh0LG1QdCxNUHRdLHN0eWxlczpbIltfbmdob3N0LSVDT01QJV17ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlfS5ucG1pLWNvbnRhaW5lcltfbmdjb250ZW50LSVDT01QJV17ZmxleDoxIDF9Il0sY2hhbmdlRGV0ZWN0aW9uOjB9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHdQdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pLWNvbXBvbmVudCIsdGVtcGxhdGVVcmw6Ii4vbnBtaV9jb21wb25lbnQubmcuaHRtbCIsc3R5bGVVcmxzOlsiLi9ucG1pX2NvbXBvbmVudC5jc3MiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLHtydW5zOlt7dHlwZTpSX31dLGFjdGl2ZVZpZXc6W3t0eXBlOlJffV19KTtjbGFzcyBrUHR7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMucnVucyQ9dGhpcy5zdG9yZS5waXBlKHJTKF9JKSksdGhpcy5hY3RpdmVWaWV3JD10aGlzLnN0b3JlLnBpcGUoclMobHh0KSl9bmdPbkluaXQoKXt0aGlzLnN0b3JlLmRpc3BhdGNoKGZ2dCgpKX19a1B0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxrUHQpKGdmKGlTKSl9LGtQdC7JtWNtcD1zbyh7dHlwZTprUHQsc2VsZWN0b3JzOltbIm5wbWkiXV0sZGVjbHM6Myx2YXJzOjYsY29uc3RzOltbMywicnVucyIsImFjdGl2ZVZpZXciXV0sdGVtcGxhdGU6ZnVuY3Rpb24gdChlLG4pezEmZSYmKHZmKDAsIm5wbWktY29tcG9uZW50IiwwKSxfeSgxLCJhc3luYyIpLF95KDIsImFzeW5jIikpLDImZSYmYmYoInJ1bnMiLEN5KDEsMixuLnJ1bnMkKSkoImFjdGl2ZVZpZXciLEN5KDIsNCxuLmFjdGl2ZVZpZXckKSl9LGRpcmVjdGl2ZXM6W3dQdF0scGlwZXM6W1Z2XSxlbmNhcHN1bGF0aW9uOjJ9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGtQdCxbe3R5cGU6U18sYXJnczpbe3NlbGVjdG9yOiJucG1pIix0ZW1wbGF0ZTonXG4gICAgPG5wbWktY29tcG9uZW50XG4gICAgICBbcnVuc109InJ1bnMkIHwgYXN5bmMiXG4gICAgICBbYWN0aXZlVmlld109ImFjdGl2ZVZpZXckIHwgYXN5bmMiXG4gICAgPjwvbnBtaS1jb21wb25lbnQ+XG4gICd9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSksbnVsbCk7Y2xhc3MgU1B0e31TUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFNQdCl9LFNQdC7JtW1vZD1mbyh7dHlwZTpTUHR9KSxTUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx0WSxNWix2cSxJTF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihTUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3FPdCxZT3RdLGltcG9ydHM6W3J4LHRZLE1aLHZxLElMXSxleHBvcnRzOltxT3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oU1B0LHtkZWNsYXJhdGlvbnM6W3FPdCxZT3RdLGltcG9ydHM6W3J4LHRZLE1aLHZxLElMXSxleHBvcnRzOltxT3RdfSk7Y2xhc3MgRFB0e31EUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fERQdCl9LERQdC7JtW1vZD1mbyh7dHlwZTpEUHR9KSxEUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx0WSx2cSxUWl1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihEUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W1NPdCxET3RdLGltcG9ydHM6W3J4LHRZLHZxLFRaXSxleHBvcnRzOltET3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oRFB0LHtkZWNsYXJhdGlvbnM6W1NPdCxET3RdLGltcG9ydHM6W3J4LHRZLHZxLFRaXSxleHBvcnRzOltET3RdfSk7Y2xhc3MgUlB0e31SUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFJQdCl9LFJQdC7JtW1vZD1mbyh7dHlwZTpSUHR9KSxSUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx0WSx2cSxJTCx3T3QsRFB0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFJQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbQU90LFRPdF0saW1wb3J0czpbcngsdFksdnEsSUwsd090LERQdF0sZXhwb3J0czpbVE90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFJQdCx7ZGVjbGFyYXRpb25zOltBT3QsVE90XSxpbXBvcnRzOltyeCx0WSx2cSxJTCx3T3QsRFB0XSxleHBvcnRzOltUT3RdfSk7Y2xhc3MgRVB0e31FUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEVQdCl9LEVQdC7JtW1vZD1mbyh7dHlwZTpFUHR9KSxFUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx0WSxNWix2cV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihFUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W0xPdCxCT3RdLGltcG9ydHM6W3J4LHRZLE1aLHZxXSxleHBvcnRzOltCT3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oRVB0LHtkZWNsYXJhdGlvbnM6W0xPdCxCT3RdLGltcG9ydHM6W3J4LHRZLE1aLHZxXSxleHBvcnRzOltCT3RdfSk7Y2xhc3MgQVB0e31BUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEFQdCl9LEFQdC7JtW1vZD1mbyh7dHlwZTpBUHR9KSxBUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihBUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3pPdF0saW1wb3J0czpbcnhdLGV4cG9ydHM6W3pPdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhBUHQse2RlY2xhcmF0aW9uczpbek90XSxpbXBvcnRzOltyeF0sZXhwb3J0czpbek90XX0pO2NsYXNzIFRQdHt9VFB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxUUHQpfSxUUHQuybVtb2Q9Zm8oe3R5cGU6VFB0fSksVFB0Lsm1aW5qPURuKHtpbXBvcnRzOltbQVB0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFRQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbSU90XSxpbXBvcnRzOltBUHRdLGV4cG9ydHM6W0lPdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhUUHQse2RlY2xhcmF0aW9uczpbSU90XSxpbXBvcnRzOltBUHRdLGV4cG9ydHM6W0lPdF19KTtjbGFzcyBOUHR7fU5QdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8TlB0KX0sTlB0Lsm1bW9kPWZvKHt0eXBlOk5QdH0pLE5QdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LFJQdCxFUHQsVFB0LGlCLFNQdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihOUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W0tPdCxKT3RdLGltcG9ydHM6W3J4LFJQdCxFUHQsVFB0LGlCLFNQdF0sZXhwb3J0czpbSk90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKE5QdCx7ZGVjbGFyYXRpb25zOltLT3QsSk90XSxpbXBvcnRzOltyeCxSUHQsRVB0LFRQdCxpQixTUHRdLGV4cG9ydHM6W0pPdF19KTtjbGFzcyB6UHR7fXpQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8elB0KX0selB0Lsm1bW9kPWZvKHt0eXBlOnpQdH0pLHpQdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LHRZLHZxLElMXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHpQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbZlB0LHVQdF0saW1wb3J0czpbcngsdFksdnEsSUxdLGV4cG9ydHM6W3VQdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byh6UHQse2RlY2xhcmF0aW9uczpbZlB0LHVQdF0saW1wb3J0czpbcngsdFksdnEsSUxdLGV4cG9ydHM6W3VQdF19KTtjbGFzcyBJUHR7fUlQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SVB0KX0sSVB0Lsm1bW9kPWZvKHt0eXBlOklQdH0pLElQdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LHRZLGVZLHZxLGp4dCxqMF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihJUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3F4dCxaeHRdLGltcG9ydHM6W3J4LHRZLGVZLHZxLGp4dCxqMF0sZXhwb3J0czpbWnh0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKElQdCx7ZGVjbGFyYXRpb25zOltxeHQsWnh0XSxpbXBvcnRzOltyeCx0WSxlWSx2cSxqeHQsajBdLGV4cG9ydHM6W1p4dF19KTtjbGFzcyBIUHR7fUhQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8SFB0KX0sSFB0Lsm1bW9kPWZvKHt0eXBlOkhQdH0pLEhQdC7JtWluaj1Ebih7aW1wb3J0czpbW3J4LGp4dF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihIUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W1h4dF0saW1wb3J0czpbcngsanh0XSxleHBvcnRzOltYeHRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oSFB0LHtkZWNsYXJhdGlvbnM6W1h4dF0saW1wb3J0czpbcngsanh0XSxleHBvcnRzOltYeHRdfSk7Y2xhc3MgRlB0e31GUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEZQdCl9LEZQdC7JtW1vZD1mbyh7dHlwZTpGUHR9KSxGUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxqeHQsSVB0LEhQdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihGUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6WyR4dCx0T3RdLGltcG9ydHM6W3J4LGp4dCxJUHQsSFB0XSxleHBvcnRzOlt0T3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oRlB0LHtkZWNsYXJhdGlvbnM6WyR4dCx0T3RdLGltcG9ydHM6W3J4LGp4dCxJUHQsSFB0XSxleHBvcnRzOlt0T3RdfSk7Y2xhc3MgTFB0e31MUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fExQdCl9LExQdC7JtW1vZD1mbyh7dHlwZTpMUHR9KSxMUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx2cSxUWixxM11dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihMUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W194dCxDeHRdLGltcG9ydHM6W3J4LHZxLFRaLHEzXSxleHBvcnRzOltDeHRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oTFB0LHtkZWNsYXJhdGlvbnM6W194dCxDeHRdLGltcG9ydHM6W3J4LHZxLFRaLHEzXSxleHBvcnRzOltDeHRdfSk7Y2xhc3MgQlB0e31CUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEJQdCl9LEJQdC7JtW1vZD1mbyh7dHlwZTpCUHR9KSxCUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCx2cSxJTF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihCUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3h4dCxPeHRdLGltcG9ydHM6W3J4LHZxLElMXSxleHBvcnRzOltPeHRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oQlB0LHtkZWNsYXJhdGlvbnM6W3h4dCxPeHRdLGltcG9ydHM6W3J4LHZxLElMXSxleHBvcnRzOltPeHRdfSk7Y2xhc3MgVlB0e31WUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFZQdCl9LFZQdC7JtW1vZD1mbyh7dHlwZTpWUHR9KSxWUHQuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxMUHQsRlB0LEJQdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihWUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W2VPdF0saW1wb3J0czpbcngsTFB0LEZQdCxCUHRdLGV4cG9ydHM6W2VPdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhWUHQse2RlY2xhcmF0aW9uczpbZU90XSxpbXBvcnRzOltyeCxMUHQsRlB0LEJQdF0sZXhwb3J0czpbZU90XX0pO2NsYXNzIGpQdHt9alB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxqUHQpfSxqUHQuybVtb2Q9Zm8oe3R5cGU6alB0fSksalB0Lsm1aW5qPURuKHtpbXBvcnRzOltbcnhdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoalB0LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOlskT3QsdFB0XSxpbXBvcnRzOltyeF0sZXhwb3J0czpbdFB0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGpQdCx7ZGVjbGFyYXRpb25zOlskT3QsdFB0XSxpbXBvcnRzOltyeF0sZXhwb3J0czpbdFB0XX0pO2NsYXNzIFVQdHt9VVB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxVUHQpfSxVUHQuybVtb2Q9Zm8oe3R5cGU6VVB0fSksVVB0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdnEsSUwsalB0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFVQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbaVB0LGFQdF0saW1wb3J0czpbcngsdnEsSUwsalB0XSxleHBvcnRzOlthUHRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oVVB0LHtkZWNsYXJhdGlvbnM6W2lQdCxhUHRdLGltcG9ydHM6W3J4LHZxLElMLGpQdF0sZXhwb3J0czpbYVB0XX0pO2NsYXNzIFdQdHt9V1B0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxXUHQpfSxXUHQuybVtb2Q9Zm8oe3R5cGU6V1B0fSksV1B0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdFksTVosdnEscl90LFZQdCxJTCxOUHQsVVB0LHpQdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihXUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W0NQdCxNUHRdLGltcG9ydHM6W3J4LHRZLE1aLHZxLHJfdCxWUHQsSUwsTlB0LFVQdCx6UHRdLGV4cG9ydHM6W01QdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhXUHQse2RlY2xhcmF0aW9uczpbQ1B0LE1QdF0saW1wb3J0czpbcngsdFksTVosdnEscl90LFZQdCxJTCxOUHQsVVB0LHpQdF0sZXhwb3J0czpbTVB0XX0pO2NsYXNzIEdQdHt9R1B0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxHUHQpfSxHUHQuybVtb2Q9Zm8oe3R5cGU6R1B0fSksR1B0Lsm1aW5qPURuKHt9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEdQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbdXh0XSxleHBvcnRzOlt1eHRdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oR1B0LHtkZWNsYXJhdGlvbnM6W3V4dF0sZXhwb3J0czpbdXh0XX0pO2NsYXNzIFlQdHt9WVB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxZUHQpfSxZUHQuybVtb2Q9Zm8oe3R5cGU6WVB0fSksWVB0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdFksSUwsdnFdXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWVB0LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOlthT3Qsck90XSxpbXBvcnRzOltyeCx0WSxJTCx2cV0sZXhwb3J0czpbck90XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFlQdCx7ZGVjbGFyYXRpb25zOlthT3Qsck90XSxpbXBvcnRzOltyeCx0WSxJTCx2cV0sZXhwb3J0czpbck90XX0pO2NsYXNzIHFQdHt9cVB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxxUHQpfSxxUHQuybVtb2Q9Zm8oe3R5cGU6cVB0fSkscVB0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdFksdnEsSUwsWVB0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHFQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbY090LGRPdF0saW1wb3J0czpbcngsdFksdnEsSUwsWVB0XSxleHBvcnRzOltkT3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8ocVB0LHtkZWNsYXJhdGlvbnM6W2NPdCxkT3RdLGltcG9ydHM6W3J4LHRZLHZxLElMLFlQdF0sZXhwb3J0czpbZE90XX0pO2NsYXNzIFpQdHt9WlB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxaUHQpfSxaUHQuybVtb2Q9Zm8oe3R5cGU6WlB0fSksWlB0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsdFksTVosdnEscl90LFZQdCxJTCxxUHQsTlB0LFVQdF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihaUHQsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W3BQdCxtUHRdLGltcG9ydHM6W3J4LHRZLE1aLHZxLHJfdCxWUHQsSUwscVB0LE5QdCxVUHRdLGV4cG9ydHM6W21QdF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhaUHQse2RlY2xhcmF0aW9uczpbcFB0LG1QdF0saW1wb3J0czpbcngsdFksTVosdnEscl90LFZQdCxJTCxxUHQsTlB0LFVQdF0sZXhwb3J0czpbbVB0XX0pO2NsYXNzIFhQdHt9WFB0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxYUHQpfSxYUHQuybVtb2Q9Zm8oe3R5cGU6WFB0fSksWFB0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngsR1B0LFpQdCxXUHQsbXZ0LFRTLmZvckZlYXR1cmUoTHZ0LGh4dCksaEQuZm9yRmVhdHVyZShbZnh0XSksTVguZm9yUGx1Z2luKCJucG1pIixrUHQpXV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKFhQdCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbd1B0LGtQdF0saW1wb3J0czpbcngsR1B0LFpQdCxXUHQsbXZ0LFRTLmZvckZlYXR1cmUoTHZ0LGh4dCksaEQuZm9yRmVhdHVyZShbZnh0XSksTVguZm9yUGx1Z2luKCJucG1pIixrUHQpXSxleHBvcnRzOltrUHRdLGVudHJ5Q29tcG9uZW50czpba1B0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFhQdCx7ZGVjbGFyYXRpb25zOlt3UHQsa1B0XSxpbXBvcnRzOltyeCxHUHQsWlB0LFdQdCxtdnQsQVMsZ0QsTVhdLGV4cG9ydHM6W2tQdF19KTtjbGFzcyBLUHR7fUtQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8S1B0KX0sS1B0Lsm1cHJvdj1Tbih7dG9rZW46S1B0LGZhY3Rvcnk6S1B0Lsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihLUHQsW3t0eXBlOlVtfV0sbnVsbCxudWxsKTtjbGFzcyBKUHR7Y29uc3RydWN0b3IodCl7dGhpcy5odHRwPXQsdGhpcy5odHRwUGF0aFByZWZpeD0iZGF0YS9wbHVnaW4vdGV4dF92MiJ9ZmV0Y2hSdW5Ub1RhZygpe3JldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuaHR0cFBhdGhQcmVmaXgrIi90YWdzIikucGlwZShWdCgodD0+e2NvbnN0IGU9bmV3IE1hcDtyZXR1cm4gT2JqZWN0LmVudHJpZXModCkuZm9yRWFjaCgoKFt0LG5dKT0+e2Uuc2V0KHQsbil9KSksZX0pKSl9ZmV0Y2hUZXh0RGF0YSh0LGUpe2NvbnN0IG49bmV3IFVSTFNlYXJjaFBhcmFtcyh7cnVuOnQsdGFnOmV9KTtyZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmh0dHBQYXRoUHJlZml4K2AvdGV4dD8ke24udG9TdHJpbmcoKX1gKS5waXBlKFZ0KCh0PT50Lm1hcCgodD0+KHtvcmlnaW5hbFNoYXBlOnQub3JpZ2luYWxfc2hhcGUsc3RlcDp0LnN0ZXAsc3RyaW5nQXJyYXk6dC5zdHJpbmdfYXJyYXksd2FsbFRpbWVJbk1zOjFlMyp0LndhbGxfdGltZSx0cnVuY2F0ZWQ6dC50cnVuY2F0ZWR9KSkpKSkpfX1KUHQuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEpQdCkoVHIoSEUpKX0sSlB0Lsm1cHJvdj1Tbih7dG9rZW46SlB0LGZhY3Rvcnk6SlB0Lsm1ZmFjfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihKUHQsW3t0eXBlOlVtfV0sKGZ1bmN0aW9uKCl7cmV0dXJuW3t0eXBlOkhFfV19KSxudWxsKTtjbGFzcyBRUHR7fVFQdC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8UVB0KX0sUVB0Lsm1bW9kPWZvKHt0eXBlOlFQdH0pLFFQdC7JtWluaj1Ebih7cHJvdmlkZXJzOltKUHQse3Byb3ZpZGU6S1B0LHVzZUV4aXN0aW5nOkpQdH1dLGltcG9ydHM6W1tGRV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihRUHQsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltGRV0scHJvdmlkZXJzOltKUHQse3Byb3ZpZGU6S1B0LHVzZUV4aXN0aW5nOkpQdH1dfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oUVB0LHtpbXBvcnRzOltGRV19KTtjb25zdCAkUHQ9X2soIltUZXh0XSBUZXh0IFBsdWdpbiBMb2FkZWQiKSx0d3Q9X2soIltUZXh0XSBSdW5zIFRvIFRhZyBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxld3Q9X2soIltUZXh0XSBUYWcgR3JvdXAgVmlzaWJpbGl0eSBDaGFuZ2VkIix7X2FzOiJwcm9wcyIsX3A6dm9pZCAwfSksbnd0PV9rKCJbVGV4dF0gVGV4dCBEYXRhIExvYWRlZCBMb2FkZWQiLHtfYXM6InByb3BzIixfcDp2b2lkIDB9KSxvd3Q9InRleHQiLGl3dD1fUyhvd3QpO2JTKGl3dCwodD0+dC5ydW5Ub1RhZ3MpKTtjb25zdCBhd3Q9YlMoaXd0LCh0PT57Y29uc3QgZT1uZXcgU2V0LG49bmV3IFNldDtmb3IoY29uc3QgbyBvZiB0LnZpc2libGVSdW5UYWdzLnZhbHVlcygpKWZvcihjb25zdCB0IG9mIG8pe2NvbnN0IG89SlNPTi5zdHJpbmdpZnkodCk7ZS5oYXMobyl8fChlLmFkZChvKSxuLmFkZCh0KSl9cmV0dXJuWy4uLm5dfSkpLHJ3dD1iUyhpd3QsKCh0LGUpPT57Y29uc3Qgbj10LmRhdGEuZ2V0KGUucnVuKTtyZXR1cm4gbiYmbi5nZXQoZS50YWcpfHxudWxsfSkpO2NsYXNzIHN3dHtjb25zdHJ1Y3Rvcih0LGUsbil7dGhpcy5hY3Rpb25zJD10LHRoaXMuc3RvcmU9ZSx0aGlzLmRhdGFTb3VyY2U9bix0aGlzLmxvYWRSdW5Ub1RhZ3MkPVdTKCgoKT0+dGhpcy5hY3Rpb25zJC5waXBlKCRTKCRQdCksVmUoKCgpPT50aGlzLmRhdGFTb3VyY2UuZmV0Y2hSdW5Ub1RhZygpLnBpcGUoV2UoKHQ9Pnt0aGlzLnN0b3JlLmRpc3BhdGNoKHR3dCh7cnVuVG9UYWdzOnR9KSl9KSksVnQoKCgpPT57fSkpKSkpKSkse2Rpc3BhdGNoOiExfSksdGhpcy5sb2FkRGF0YSQ9V1MoKCgpPT5wZSh0aGlzLmFjdGlvbnMkLnBpcGUoJFMoZXd0KSxWZSgoKHt2aXNpYmxlVGV4dENhcmRzOnR9KT0+aWUodC5tYXAoKCh7cnVuOnQsdGFnOmV9KT0+dGhpcy5zdG9yZS5zZWxlY3Qocnd0LHtydW46dCx0YWc6ZX0pLnBpcGUoKGZ1bmN0aW9uIG4odCxlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPj0yO3JldHVybiBmdW5jdGlvbihvKXtyZXR1cm4gby5waXBlKHQ/dWUoKGZ1bmN0aW9uKGUsbil7cmV0dXJuIHQoZSxuLG8pfSkpOlIsVGUoMSksbj9NZShlKTpTZSgoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEJ0fSkpKX19KSgpLFZ0KChuPT4oe3J1bjp0LHRhZzplLHRleHREYXRhOm59KSkpKSkpKS5waXBlKFZ0KCh0PT50LmZpbHRlcigoKHt0ZXh0RGF0YTp0fSk9Pm51bGw9PT10KSkubWFwKCgoe3J1bjp0LHRhZzplfSk9Pih7cnVuOnQsdGFnOmV9KSkpKSkpKSkpLHRoaXMuYWN0aW9ucyQucGlwZSgkUyhKRSxRRSkscWUodGhpcy5zdG9yZS5zZWxlY3QoYXd0KSksVnQoKChbLHRdKT0+dCkpKSkucGlwZSgkdCgodD0+aWUodC5tYXAoKHQ9PnRoaXMuZmV0Y2hUZXh0RGF0YSh0KSkpKSkpKSkse2Rpc3BhdGNoOiExfSl9ZmV0Y2hUZXh0RGF0YSh0KXtjb25zdHtydW46ZSx0YWc6bn09dDtyZXR1cm4gdGhpcy5kYXRhU291cmNlLmZldGNoVGV4dERhdGEoZSxuKS5waXBlKFdlKCh0PT57dGhpcy5zdG9yZS5kaXNwYXRjaChud3Qoe3J1bjplLHRhZzpuLHN0ZXBEYXRhOnR9KSl9KSksVnQoKCgpPT57fSkpKX19c3d0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxzd3QpKFRyKFFTKSxUcihpUyksVHIoS1B0KSl9LHN3dC7JtXByb3Y9U24oe3Rva2VuOnN3dCxmYWN0b3J5OnN3dC7JtWZhY30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoc3d0LFt7dHlwZTpVbX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpRU30se3R5cGU6aVN9LHt0eXBlOktQdH1dfSksbnVsbCk7Y29uc3QgbHd0PVZTKHtydW5Ub1RhZ3M6bmV3IE1hcChbWyJydW4xIixbImEvYiIsImEvYyJdXSxbInJ1bjIiLFsiYS9iIiwiYS9kIl1dLFsicnVuMyIsWyJjIiwiYS9iIl1dXSksZGF0YTpuZXcgTWFwKFtbInJ1bjEiLG5ldyBNYXAoW1siYS9iIixbe29yaWdpbmFsU2hhcGU6WzNdLHN0ZXA6MCxzdHJpbmdBcnJheTpbWyJmb28iLCJiYXIiLCJiYXoiXV0sd2FsbFRpbWVJbk1zOjE1Nzc4NjU2ZTUsdHJ1bmNhdGVkOiExfSx7b3JpZ2luYWxTaGFwZTpbM10sc3RlcDoxLHN0cmluZ0FycmF5OltbImZvbyIsImJheiJdXSx3YWxsVGltZUluTXM6MTU3Nzg2NTYwMWUzLHRydW5jYXRlZDohMX1dXSxbImEvYyIsW3tvcmlnaW5hbFNoYXBlOlszXSxzdGVwOjAsc3RyaW5nQXJyYXk6W1siV2UgY29uZHVjdGVkIGFuIGV4cGVyaW1lbnQgYW5kIGZvdW5kIHRoZSBmb2xsb3dpbmcgZGF0YTpcblxuUG91bmRzIG9mIGNob2NvbGF0ZSB8IEhhcHBpbmVzc1xuLS0tfC0tLVxuMCB8IDFcbjEgfCA0XG4yIHwgOVxuMyB8IDE2XG40IHwgMjVcbjUgfCAzNlxuNiB8IDQ5XG43IHwgNjRcbjggfCA4MVxuOSB8IDEwMFxuMTAgfCAxMjEiXV0sd2FsbFRpbWVJbk1zOjE1Nzc4NjU2ZTUsdHJ1bmNhdGVkOiExfSx7b3JpZ2luYWxTaGFwZTpbM10sc3RlcDoxLHN0cmluZ0FycmF5OltbIsOXIiwiKiowKioiLCIqKjEqKiIsIioqMioqIiwiKiozKioiLCIqKjQqKiIsIioqNSoqIl0sWyIqKjAqKiIsIjAiLCIwIiwiMCIsIjAiLCIwIiwiMCJdLFsiKioxKioiLCIwIiwiMSIsIjIiLCIzIiwiNCIsIjUiXSxbIioqMioqIiwiMCIsIjIiLCI0IiwiNiIsIjgiLCIxMCJdLFsiKiozKioiLCIwIiwiMyIsIjYiLCI5IiwiMTIiLCIxNSJdLFsiKio0KioiLCIwIiwiNCIsIjgiLCIxMiIsIjE2IiwiMjAiXSxbIioqNSoqIiwiMCIsIjUiLCIxMCIsIjE1IiwiMjAiLCIyNSJdXSx3YWxsVGltZUluTXM6MTU3Nzg2NTYwMWUzLHRydW5jYXRlZDohMX1dXV0pXV0pLHZpc2libGVSdW5UYWdzOm5ldyBNYXB9KTtmdW5jdGlvbiBjd3QodCxlKXtyZXR1cm4gbHd0KHQsZSl9Y2xhc3MgZHd0e31kd3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fGR3dCl9LGR3dC7JtWNtcD1zbyh7dHlwZTpkd3Qsc2VsZWN0b3JzOltbInRleHQtZGFzaGJvYXJkIl1dLGRlY2xzOjEsdmFyczowLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJlB1KDAsIiBUaGlzIGlzIHRoZSB0ZXh0IGRhc2hib2FyZCAiKX0sZW5jYXBzdWxhdGlvbjoyLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihkd3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoidGV4dC1kYXNoYm9hcmQiLHRlbXBsYXRlOiIgVGhpcyBpcyB0aGUgdGV4dCBkYXNoYm9hcmQgIixjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLG51bGwpO2NsYXNzIHB3dHt9cHd0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxwd3QpfSxwd3QuybVtb2Q9Zm8oe3R5cGU6cHd0fSkscHd0Lsm1aW5qPURuKHt9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHB3dCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbZHd0XSxleHBvcnRzOltkd3RdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8ocHd0LHtkZWNsYXJhdGlvbnM6W2R3dF0sZXhwb3J0czpbZHd0XX0pO2NsYXNzIG13dHt9bXd0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxtd3QpfSxtd3QuybVtb2Q9Zm8oe3R5cGU6bXd0fSksbXd0Lsm1aW5qPURuKHtpbXBvcnRzOltbcngscHd0LE1YLmZvclBsdWdpbigidGV4dF92MiIsZHd0KSxRUHQsVFMuZm9yRmVhdHVyZShvd3QsY3d0KSxoRC5mb3JGZWF0dXJlKFtzd3RdKV1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihtd3QsW3t0eXBlOkxfLGFyZ3M6W3tpbXBvcnRzOltyeCxwd3QsTVguZm9yUGx1Z2luKCJ0ZXh0X3YyIixkd3QpLFFQdCxUUy5mb3JGZWF0dXJlKG93dCxjd3QpLGhELmZvckZlYXR1cmUoW3N3dF0pXSxlbnRyeUNvbXBvbmVudHM6W2R3dF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhtd3Qse2ltcG9ydHM6W3J4LHB3dCxNWCxRUHQsQVMsZ0RdfSk7Y2xhc3MgZnd0e312YXIgdXd0O2Z3dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Znd0KX0sZnd0Lsm1bW9kPWZvKHt0eXBlOmZ3dH0pLGZ3dC7JtWluaj1Ebih7aW1wb3J0czpbW1kkLEVfdCxYUHQsbXd0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKGZ3dCxbe3R5cGU6TF8sYXJnczpbe2ltcG9ydHM6W1kkLEVfdCxYUHQsbXd0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKGZ3dCx7aW1wb3J0czpbWSQsRV90LFhQdCxtd3RdfSksKGZ1bmN0aW9uKHQpe3QuQ1VTVE9NX0VMRU1FTlQ9IkNVU1RPTV9FTEVNRU5UIix0LklGUkFNRT0iSUZSQU1FIix0Lk5HX0NPTVBPTkVOVD0iTkdfQ09NUE9ORU5UIix0Lk5PTkU9Ik5PTkUifSkodXd0fHwodXd0PXt9KSk7Y29uc3QgZ3d0PVsicGx1Z2luQ29udGFpbmVyIl0saHd0PVsibmdQbHVnaW5Db250YWluZXIiXTtmdW5jdGlvbiBid3QodCxlKXsxJnQmJlBmKDApfWZ1bmN0aW9uIHl3dCh0LGUpe2lmKDEmdCYmKHhmKDApLEhtKDEsYnd0LDEsMCwibmctY29udGFpbmVyIiw5KSxPZigpKSwyJnQpe2NvbnN0IHQ9emYoMiksZT1GbSg2KTtEYygxKSxiZigibmdUZW1wbGF0ZU91dGxldCIsdC5lbnZpcm9ubWVudEZhaWx1cmVOb3RGb3VuZFRlbXBsYXRlP3QuZW52aXJvbm1lbnRGYWlsdXJlTm90Rm91bmRUZW1wbGF0ZTplKX19ZnVuY3Rpb24gX3d0KHQsZSl7MSZ0JiZQZigwKX1mdW5jdGlvbiBDd3QodCxlKXtpZigxJnQmJih4ZigwKSxIbSgxLF93dCwxLDAsIm5nLWNvbnRhaW5lciIsOSksT2YoKSksMiZ0KXtjb25zdCB0PXpmKDIpLGU9Rm0oNik7RGMoMSksYmYoIm5nVGVtcGxhdGVPdXRsZXQiLHQuZW52aXJvbm1lbnRGYWlsdXJlVW5rbm93blRlbXBsYXRlP3QuZW52aXJvbm1lbnRGYWlsdXJlVW5rbm93blRlbXBsYXRlOmUpfX1mdW5jdGlvbiBNd3QodCxlKXtpZigxJnQmJih4ZigwKSxDZigxLCJoMyIsMTApLFB1KDIsIiBUaGVyZeKAmXMgbm8gZGFzaGJvYXJkIGJ5IHRoZSBuYW1lIG9mIOKAnCIpLENmKDMsImNvZGUiKSxQdSg0KSxNZigpLFB1KDUsIuKAnS4gIiksTWYoKSxDZig2LCJwIiksUHUoNywiWW91IGNhbiBzZWxlY3QgYSBkYXNoYm9hcmQgZnJvbSB0aGUgbGlzdCBhYm92ZS4iKSxNZigpLENmKDgsInAiKSxQZig5LDExKSxNZigpLE9mKCkpLDImdCl7Y29uc3QgdD16ZigyKSxlPUZtKDgpO0RjKDQpLHd1KHQuYWN0aXZlUGx1Z2luSWQpLERjKDUpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0IixlKX19ZnVuY3Rpb24gdnd0KHQsZSl7aWYoMSZ0JiYoeGYoMCksQ2YoMSwiaDMiLDEyKSxQdSgyLCIgTm8gZGFzaGJvYXJkcyBhcmUgYWN0aXZlIGZvciB0aGUgY3VycmVudCBkYXRhIHNldC4gIiksTWYoKSxDZigzLCJwIiksUHUoNCwiUHJvYmFibGUgY2F1c2VzOiIpLE1mKCksQ2YoNSwidWwiKSxDZig2LCJsaSIpLFB1KDcsIllvdSBoYXZlbuKAmXQgd3JpdHRlbiBhbnkgZGF0YSB0byB5b3VyIGV2ZW50IGZpbGVzLiIpLE1mKCksQ2YoOCwibGkiKSxQdSg5LCJUZW5zb3JCb2FyZCBjYW7igJl0IGZpbmQgeW91ciBldmVudCBmaWxlcy4iKSxNZigpLE1mKCksUHUoMTAsIiBJZiB5b3XigJlyZSBuZXcgdG8gdXNpbmcgVGVuc29yQm9hcmQsIGFuZCB3YW50IHRvIGZpbmQgb3V0IGhvdyB0byBhZGQgZGF0YSBhbmQgc2V0IHVwIHlvdXIgZXZlbnQgZmlsZXMsIGNoZWNrIG91dCB0aGUgIiksQ2YoMTEsImEiLDEzKSxQdSgxMiwiUkVBRE1FIiksTWYoKSxQdSgxMywiIGFuZCBwZXJoYXBzIHRoZSAiKSxDZigxNCwiYSIsMTQpLFB1KDE1LCJUZW5zb3JCb2FyZCB0dXRvcmlhbCIpLE1mKCksUHUoMTYsIi4gIiksQ2YoMTcsInAiKSxQdSgxOCwiIElmIHlvdSB0aGluayBUZW5zb3JCb2FyZCBpcyBjb25maWd1cmVkIHByb3Blcmx5LCBwbGVhc2Ugc2VlICIpLENmKDE5LCJhIiwxNSksUHUoMjAsInRoZSBzZWN0aW9uIG9mIHRoZSBSRUFETUUgZGV2b3RlZCB0byBtaXNzaW5nIGRhdGEgcHJvYmxlbXMiKSxNZigpLFB1KDIxLCIgYW5kIGNvbnNpZGVyIGZpbGluZyBhbiBpc3N1ZSBvbiBHaXRIdWIuICIpLE1mKCksQ2YoMjIsInAiKSxQZigyMywxMSksTWYoKSxPZigpKSwyJnQpe3pmKDIpO2NvbnN0IHQ9Rm0oOCk7RGMoMjMpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0Iix0KX19ZnVuY3Rpb24geHd0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwiZGl2Iiw2KSxDZigxLCJkaXYiLDcpLEhtKDIseXd0LDIsMSwibmctY29udGFpbmVyIiw4KSxIbSgzLEN3dCwyLDEsIm5nLWNvbnRhaW5lciIsOCksSG0oNCxNd3QsMTAsMiwibmctY29udGFpbmVyIiw4KSxIbSg1LHZ3dCwyNCwxLCJuZy1jb250YWluZXIiLDgpLE1mKCksTWYoKSksMiZ0KXtjb25zdCB0PXpmKCk7YmYoIm5nU3dpdGNoIix0LnBsdWdpbkxvYWRTdGF0ZSksRGMoMiksYmYoIm5nU3dpdGNoQ2FzZSIsdC5QbHVnaW5Mb2FkU3RhdGUuRU5WSVJPTk1FTlRfRkFJTFVSRV9OT1RfRk9VTkQpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLHQuUGx1Z2luTG9hZFN0YXRlLkVOVklST05NRU5UX0ZBSUxVUkVfVU5LTk9XTiksRGMoMSksYmYoIm5nU3dpdGNoQ2FzZSIsdC5QbHVnaW5Mb2FkU3RhdGUuVU5LTk9XTl9QTFVHSU5fSUQpLERjKDEpLGJmKCJuZ1N3aXRjaENhc2UiLHQuUGx1Z2luTG9hZFN0YXRlLk5PX0VOQUJMRURfUExVR0lOUyl9fWZ1bmN0aW9uIE93dCh0LGUpe2lmKDEmdCYmKENmKDAsImgzIiwxNiksUHUoMSwiRGF0YSBjb3VsZCBub3QgYmUgbG9hZGVkLiIpLE1mKCksQ2YoMiwicCIpLFB1KDMsIlRoZSBUZW5zb3JCb2FyZCBzZXJ2ZXIgbWF5IGJlIGRvd24gb3IgaW5hY2Nlc3NpYmxlLiIpLE1mKCksQ2YoNCwicCIpLFBmKDUsMTEpLE1mKCkpLDImdCl7emYoKTtjb25zdCB0PUZtKDgpO0RjKDUpLGJmKCJuZ1RlbXBsYXRlT3V0bGV0Iix0KX19ZnVuY3Rpb24gUHd0KHQsZSl7aWYoMSZ0JiYoQ2YoMCwicCIsMTkpLENmKDEsImkiKSxQdSgyLCJMb2cgZGlyZWN0b3J5OiAiKSxDZigzLCJzcGFuIiksUHUoNCksTWYoKSxNZigpLE1mKCkpLDImdCl7Y29uc3QgdD16ZigyKTtEYyg0KSx3dSh0LmRhdGFMb2NhdGlvbil9fWZ1bmN0aW9uIHd3dCh0LGUpe2lmKDEmdCYmKENmKDAsInNwYW4iLDE3KSxQdSgxKSxfeSgyLCJkYXRlIiksTWYoKSxIbSgzLFB3dCw1LDEsInAiLDE4KSksMiZ0KXtjb25zdCB0PXpmKCk7RGMoMSksa3UoIkxhc3QgcmVsb2FkOiAiLE15KDIsMix0Lmxhc3RVcGRhdGVkLCJtZWRpdW0iKSwiIiksRGMoMiksYmYoIm5nSWYiLHQuZGF0YUxvY2F0aW9uKX19Y29uc3Qga3d0PWZ1bmN0aW9uKHQpe3JldHVybntwbHVnaW5zOiEwLCJpcy1maXJzdC1wYXJ0eS1wbHVnaW4iOnR9fTt2YXIgU3d0OyEoZnVuY3Rpb24odCl7dFt0LkVOVklST05NRU5UX0ZBSUxVUkVfTk9UX0ZPVU5EPTBdPSJFTlZJUk9OTUVOVF9GQUlMVVJFX05PVF9GT1VORCIsdFt0LkVOVklST05NRU5UX0ZBSUxVUkVfVU5LTk9XTj0xXT0iRU5WSVJPTk1FTlRfRkFJTFVSRV9VTktOT1dOIix0W3QuTk9fRU5BQkxFRF9QTFVHSU5TPTJdPSJOT19FTkFCTEVEX1BMVUdJTlMiLHRbdC5VTktOT1dOX1BMVUdJTl9JRD0zXT0iVU5LTk9XTl9QTFVHSU5fSUQiLHRbdC5MT0FERUQ9NF09IkxPQURFRCIsdFt0LkxPQURJTkc9NV09IkxPQURJTkcifSkoU3d0fHwoU3d0PXt9KSk7Y2xhc3MgRHd0e2NvbnN0cnVjdG9yKHQsZSxuKXt0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcj10LHRoaXMucGx1Z2luUmVnaXN0cnk9ZSx0aGlzLnBsdWdpbkFwaUhvc3Q9bix0aGlzLlBsdWdpbkxvYWRTdGF0ZT1Td3QsdGhpcy5Mb2FkaW5nTWVjaGFuaXNtVHlwZT11d3QsdGhpcy5wbHVnaW5JbnN0YW5jZXM9bmV3IE1hcH1uZ09uQ2hhbmdlcyh0KXt2YXIgZTtpZighdGhpcy5pc0ZlYXR1cmVGbGFnc0xvYWRlZHx8IXRoaXMuYWN0aXZlS25vd25QbHVnaW58fHRoaXMuc2V0dGluZ3NMb2FkU3RhdGU9PT1VRS5OT1RfTE9BREVEfHx0aGlzLnNldHRpbmdzTG9hZFN0YXRlPT09VUUuTE9BRElORylyZXR1cm47Y29uc3Qgbj1Cb29sZWFuKHRoaXMuYWN0aXZlS25vd25QbHVnaW4mJiF0aGlzLnBsdWdpbkluc3RhbmNlcy5oYXModGhpcy5hY3RpdmVLbm93blBsdWdpbi5pZCkpO2lmKHQuYWN0aXZlS25vd25QbHVnaW58fHQuaXNGZWF0dXJlRmxhZ3NMb2FkZWR8fHQuc2V0dGluZ3NMb2FkU3RhdGUpe2NvbnN0IG89bnVsbD09PShlPXQuYWN0aXZlS25vd25QbHVnaW4pfHx2b2lkIDA9PT1lP3ZvaWQgMDplLnByZXZpb3VzVmFsdWU7aWYobyYmby5pZCE9PXRoaXMuYWN0aXZlS25vd25QbHVnaW4uaWQmJnRoaXMuaGlkZVBsdWdpbihvKSxuKXtjb25zdCB0PXRoaXMuY3JlYXRlUGx1Z2luKHRoaXMuYWN0aXZlS25vd25QbHVnaW4pO3QmJnRoaXMucGx1Z2luSW5zdGFuY2VzLnNldCh0aGlzLmFjdGl2ZUtub3duUGx1Z2luLmlkLHQpfWVsc2UgdGhpcy5zaG93UGx1Z2luKHRoaXMuYWN0aXZlS25vd25QbHVnaW4pfShufHx0Lmxhc3RVcGRhdGVkKSYmdGhpcy5yZWxvYWQodGhpcy5hY3RpdmVLbm93blBsdWdpbixuKX1oaWRlUGx1Z2luKHQpe2lmKCF0aGlzLnBsdWdpbkluc3RhbmNlcy5oYXModC5pZCkpcmV0dXJuO2NvbnN0IGU9dGhpcy5wbHVnaW5JbnN0YW5jZXMuZ2V0KHQuaWQpO09iamVjdC5hc3NpZ24oZS5zdHlsZSx7bWF4SGVpZ2h0OjAsb3ZlcmZsb3c6ImhpZGRlbiIsdmlzaWJpbGl0eToiaGlkZGVuIixwb3NpdGlvbjoiYWJzb2x1dGUifSl9c2hvd1BsdWdpbih0KXtpZighdGhpcy5wbHVnaW5JbnN0YW5jZXMuaGFzKHQuaWQpKXJldHVybjtjb25zdCBlPXRoaXMucGx1Z2luSW5zdGFuY2VzLmdldCh0LmlkKTtPYmplY3QuYXNzaWduKGUuc3R5bGUse21heEhlaWdodDpudWxsLG92ZXJmbG93Om51bGwsdmlzaWJpbGl0eTpudWxsLHBvc2l0aW9uOm51bGx9KX1jcmVhdGVQbHVnaW4odCl7bGV0IGU9bnVsbDtzd2l0Y2godC5sb2FkaW5nX21lY2hhbmlzbS50eXBlKXtjYXNlIHV3dC5DVVNUT01fRUxFTUVOVDplPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodC5sb2FkaW5nX21lY2hhbmlzbS5lbGVtZW50X25hbWUpLGUucmVsb2FkT25SZWFkeT0hMSxlLmZlYXR1cmVGbGFncz10aGlzLmZlYXR1cmVGbGFncyx0aGlzLnBsdWdpbnNDb250YWluZXIubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChlKTticmVhaztjYXNlIHV3dC5JRlJBTUU6aWYoIXRoaXMucGx1Z2luQXBpSG9zdCl0aHJvdyBFcnJvcihgSUZSQU1FLWJhc2VkIHBsdWdpbnMgbm90IHN1cHBvcnRlZDogJHt0LmlkfWApO2U9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksZS5zZXRBdHRyaWJ1dGUoInNyYyIsYGRhdGEvcGx1Z2luX2VudHJ5Lmh0bWw/bmFtZT0ke3QuaWR9YCksdGhpcy5wbHVnaW5BcGlIb3N0LnJlZ2lzdGVyUGx1Z2luSWZyYW1lKGUsdC5pZCksdGhpcy5wbHVnaW5zQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZSk7YnJlYWs7Y2FzZSB1d3QuTkdfQ09NUE9ORU5UOmNvbnN0IG49dGhpcy5wbHVnaW5SZWdpc3RyeS5nZXRDb21wb25lbnQodC5pZCk7aWYobil7Y29uc3QgdD10aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShuKTtlPXRoaXMubmdQbHVnaW5Db250YWluZXIuY3JlYXRlQ29tcG9uZW50KHQpLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnR9ZWxzZSBjb25zb2xlLmVycm9yKGBObyByZWdpc3RlcmVkIEFuZ3VsYXIgY29tcG9uZW50IGZvciBwbHVnaW46ICR7dC5pZH1gKTticmVhaztjYXNlIHV3dC5OT05FOmJyZWFrO2RlZmF1bHQ6Y29uc29sZS5lcnJvcigiVW5leHBlY3RlZCBwbHVnaW4iKX1yZXR1cm4gZX1yZWxvYWQodCxlKXtpZighZSYmdC5kaXNhYmxlX3JlbG9hZClyZXR1cm47Y29uc3Qgbj10aGlzLnBsdWdpbkluc3RhbmNlcy5nZXQodC5pZCk7biYmbi5yZWxvYWQmJm4ucmVsb2FkKCl9fUR3dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8RHd0KShnZihHaCksZ2YoTVgpLGdmKFdJLDgpKX0sRHd0Lsm1Y21wPXNvKHt0eXBlOkR3dCxzZWxlY3RvcnM6W1sicGx1Z2lucy1jb21wb25lbnQiXV0sdmlld1F1ZXJ5OmZ1bmN0aW9uIHQoZSxuKXtpZigxJmUmJihWeShnd3QsNyxLaCksVnkoaHd0LDcsRmIpKSwyJmUpe2xldCB0O0J5KHQ9VXkoKSkmJihuLnBsdWdpbnNDb250YWluZXI9dC5maXJzdCksQnkodD1VeSgpKSYmKG4ubmdQbHVnaW5Db250YWluZXI9dC5maXJzdCl9fSxpbnB1dHM6e2FjdGl2ZVBsdWdpbklkOiJhY3RpdmVQbHVnaW5JZCIsYWN0aXZlS25vd25QbHVnaW46ImFjdGl2ZUtub3duUGx1Z2luIixwbHVnaW5Mb2FkU3RhdGU6InBsdWdpbkxvYWRTdGF0ZSIsZGF0YUxvY2F0aW9uOiJkYXRhTG9jYXRpb24iLGlzRmVhdHVyZUZsYWdzTG9hZGVkOiJpc0ZlYXR1cmVGbGFnc0xvYWRlZCIsc2V0dGluZ3NMb2FkU3RhdGU6InNldHRpbmdzTG9hZFN0YXRlIixmZWF0dXJlRmxhZ3M6ImZlYXR1cmVGbGFncyIsbGFzdFVwZGF0ZWQ6Imxhc3RVcGRhdGVkIixlbnZpcm9ubWVudEZhaWx1cmVOb3RGb3VuZFRlbXBsYXRlOiJlbnZpcm9ubWVudEZhaWx1cmVOb3RGb3VuZFRlbXBsYXRlIixlbnZpcm9ubWVudEZhaWx1cmVVbmtub3duVGVtcGxhdGU6ImVudmlyb25tZW50RmFpbHVyZVVua25vd25UZW1wbGF0ZSJ9LGZlYXR1cmVzOltxb10sZGVjbHM6OSx2YXJzOjQsY29uc3RzOltbMywibmdDbGFzcyJdLFsicGx1Z2luQ29udGFpbmVyIiwiIl0sWyJuZ1BsdWdpbkNvbnRhaW5lciIsIiJdLFsiY2xhc3MiLCJ3YXJuaW5nIiwzLCJuZ1N3aXRjaCIsNCwibmdJZiJdLFsiZW52aXJvbm1lbnRGYWlsdXJlRGVmYXVsdFRlbXBsYXRlIiwiIl0sWyJkYXRlQW5kRGF0YUxvY2F0aW9uIiwiIl0sWzEsIndhcm5pbmciLDMsIm5nU3dpdGNoIl0sWzEsIndhcm5pbmctbWVzc2FnZSJdLFs0LCJuZ1N3aXRjaENhc2UiXSxbNCwibmdUZW1wbGF0ZU91dGxldCJdLFsxLCJ1bmtub3duLXBsdWdpbiJdLFszLCJuZ1RlbXBsYXRlT3V0bGV0Il0sWzEsIm5vLWFjdGl2ZS1wbHVnaW4iXSxbImhyZWYiLCJodHRwczovL2dpdGh1Yi5jb20vdGVuc29yZmxvdy90ZW5zb3Jib2FyZC9ibG9iL21hc3Rlci9SRUFETUUubWQiXSxbImhyZWYiLCJodHRwczovL3d3dy50ZW5zb3JmbG93Lm9yZy9nZXRfc3RhcnRlZC9zdW1tYXJpZXNfYW5kX3RlbnNvcmJvYXJkIl0sWyJocmVmIiwiaHR0cHM6Ly9naXRodWIuY29tL3RlbnNvcmZsb3cvdGVuc29yYm9hcmQvYmxvYi9tYXN0ZXIvUkVBRE1FLm1kI215LXRlbnNvcmJvYXJkLWlzbnQtc2hvd2luZy1hbnktZGF0YS13aGF0cy13cm9uZyJdLFsxLCJlbnZpcm9ubWVudC1ub3QtbG9hZGVkIl0sWzEsImxhc3QtcmVsb2FkLXRpbWUiXSxbImNsYXNzIiwiZGF0YS1sb2NhdGlvbiIsNCwibmdJZiJdLFsxLCJkYXRhLWxvY2F0aW9uIl1dLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXsxJmUmJihDZigwLCJkaXYiLDAsMSksUGYoMixudWxsLDIpLE1mKCksSG0oNCx4d3QsNiw1LCJkaXYiLDMpLEhtKDUsT3d0LDYsMSwibmctdGVtcGxhdGUiLG51bGwsNCxxeSksSG0oNyx3d3QsNCw1LCJuZy10ZW1wbGF0ZSIsbnVsbCw1LHF5KSksMiZlJiYoYmYoIm5nQ2xhc3MiLGl5KDIsa3d0LChudWxsPT1uLmFjdGl2ZUtub3duUGx1Z2luP251bGw6bi5hY3RpdmVLbm93blBsdWdpbi5sb2FkaW5nX21lY2hhbmlzbS50eXBlKSE9PW4uTG9hZGluZ01lY2hhbmlzbVR5cGUuSUZSQU1FKSksRGMoNCksYmYoIm5nSWYiLG4ucGx1Z2luTG9hZFN0YXRlIT09bi5QbHVnaW5Mb2FkU3RhdGUuTE9BREVEJiZuLnBsdWdpbkxvYWRTdGF0ZSE9PW4uUGx1Z2luTG9hZFN0YXRlLkxPQURJTkcpKX0sZGlyZWN0aXZlczpbQ3YsUHYsRHYsUnYsSXZdLHBpcGVzOltZdl0sc3R5bGVzOlsnLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtYmFkZ2Utc21hbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6OXB4fS5tYXQtYmFkZ2UtbGFyZ2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1iYWRnZS1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MjRweH0ubWF0LWgxW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1oZWFkbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoMVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgMjRweC8zMnB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWw7bWFyZ2luOjAgMCAxNnB4fS5tYXQtaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjUwMCAyMHB4LzMycHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oM1tfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGgzW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNnB4LzI4cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtc3ViaGVhZGluZy0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIGg0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNXB4LzI0cHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDE2cHh9Lm1hdC1oNVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtdHlwb2dyYXBoeVtfbmdjb250ZW50LSVDT01QJV0gICBoNVtfbmdjb250ZW50LSVDT01QJV17Zm9udDo0MDAgY2FsYygxNHB4ICogMC44MykvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bWFyZ2luOjAgMCAxMnB4fS5tYXQtaDZbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIGNhbGMoMTRweCAqIDAuNjcpLzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO21hcmdpbjowIDAgMTJweH0ubWF0LWJvZHktc3Ryb25nW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1ib2R5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDE0cHgvMjRweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtYm9keVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJvZHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtYm9keS0xW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHBbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgcFtfbmdjb250ZW50LSVDT01QJV17bWFyZ2luOjAgMCAxMnB4fS5tYXQtc21hbGxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWNhcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDEycHgvMjBweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS00W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjMwMCAxMTJweC8xMTJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDVlbTttYXJnaW46MCAwIDU2cHh9Lm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTNbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDU2cHgvNTZweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDJlbTttYXJnaW46MCAwIDY0cHh9Lm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXR5cG9ncmFwaHlbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1kaXNwbGF5LTJbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NDAwIDQ1cHgvNDhweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6LTAuMDA1ZW07bWFyZ2luOjAgMCA2NHB4fS5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10eXBvZ3JhcGh5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZGlzcGxheS0xW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAzNHB4LzQwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbDttYXJnaW46MCAwIDY0cHh9Lm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtcmFpc2VkLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtaWNvbi1idXR0b25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LXN0cm9rZWQtYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mbGF0LWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZmFiW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1taW5pLWZhYltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWJ1dHRvbi10b2dnbGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhcmQtdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LWNhcmQtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtY2FyZC10aXRsZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjIwcHh9Lm1hdC1jYXJkLXN1YnRpdGxlW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1jYXJkLWNvbnRlbnRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2hlY2tib3hbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNoZWNrYm94LWxheW91dFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoZWNrYm94LWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXtsaW5lLWhlaWdodDoyNHB4fS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2hpcFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MThweH0ubWF0LXRhYmxlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1oZWFkZXItY2VsbFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2VsbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9vdGVyLWNlbGxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4fS5tYXQtY2FsZW5kYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWNhbGVuZGFyLWJvZHlbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxM3B4fS5tYXQtY2FsZW5kYXItYm9keS1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIHRoW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDB9Lm1hdC1kaWFsb2ctdGl0bGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250OjQwMCAxNHB4LzIwcHggUm9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOm5vcm1hbH0ubWF0LWZvcm0tZmllbGRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjEyNTtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtc3VmZml4W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE1MCU7bGluZS1oZWlnaHQ6MS4xMjV9Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXXtoZWlnaHQ6MS41ZW07d2lkdGg6MS41ZW19Lm1hdC1mb3JtLWZpZWxkLXByZWZpeFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb24tYnV0dG9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaWNvbltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1zdWZmaXhbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pY29uLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWljb25bX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxLjEyNWVtO2xpbmUtaGVpZ2h0OjEuMTI1fS5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNWVtIDA7Ym9yZGVyLXRvcDouODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudH0ubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVdLCAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW19uZ2NvbnRlbnQtJUNPTVAlXTpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzVlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzMzMzMzMzMlfS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMzQzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6LTAuODQzNzVlbTtwYWRkaW5nLXRvcDouODQzNzVlbX0ubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjM0Mzc1ZW19Lm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVtfbmdjb250ZW50LSVDT01QJV17Ym90dG9tOjEuMzQzNzVlbX0ubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZTo3NSU7bWFyZ2luLXRvcDouNjY2NjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjc5MTY2NjY2NjdlbSl9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nLWJvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeFtfbmdjb250ZW50LSVDT01QJV17cGFkZGluZzouNDM3NWVtIDB9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWlucHV0LXNlcnZlcltfbmdjb250ZW50LSVDT01QJV06Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDAuNzUpIHBlcnNwZWN0aXZlKDEwMHB4KSB0cmFuc2xhdGVaKDAuMDAxcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdFtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuMjgxMjNlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM1MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RvcDoxLjI4MTI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmVbX25nY29udGVudC0lQ09NUCVde2JvdHRvbToxLjI1ZW19Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV17bWFyZ2luLXRvcDouNTQxNjY2NjY2N2VtO3RvcDpjYWxjKDEwMCUgLSAxLjY2NjY2NjY2NjdlbSl9QG1lZGlhIHByaW50ey5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMmVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sW19uZ2NvbnRlbnQtJUNPTVAlXTotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS4yODEyMWVtKSBzY2FsZSgwLjc1KX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0W19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXVtfbmdjb250ZW50LSVDT01QJV06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWZvcm0tZmllbGQtbGFiZWxbX25nY29udGVudC0lQ09NUCVde3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xLjI4MTJlbSkgc2NhbGUoMC43NSl9fS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOi4yNWVtIDAgLjc1ZW0gMH0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dG9wOjEuMDkzNzVlbTttYXJnaW4tdG9wOi0wLjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMC41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWluZml4W19uZ2NvbnRlbnQtJUNPTVAlXXtwYWRkaW5nOjFlbSAwIDFlbSAwfS5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0b3A6MS44NDM3NWVtO21hcmdpbi10b3A6LTAuMjVlbX0ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbX25nY29udGVudC0lQ09NUCVdOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTt3aWR0aDoxMzMuMzMzMzMzMzMzMyV9Lm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXRbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEuNTkzNzRlbSkgc2NhbGUoMC43NSk7d2lkdGg6MTMzLjMzMzM0MzMzMzMlfS5tYXQtZ3JpZC10aWxlLWhlYWRlcltfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE0cHh9Lm1hdC1ncmlkLXRpbGUtaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV0sIC5tYXQtZ3JpZC10aWxlLWZvb3Rlcltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWdyaWQtdGlsZS1oZWFkZXJbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXTpudGgtY2hpbGQobisyKSwgLm1hdC1ncmlkLXRpbGUtZm9vdGVyW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9aW5wdXQubWF0LWlucHV0LWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde21hcmdpbi10b3A6LTAuMDYyNWVtfS5tYXQtbWVudS1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwfS5tYXQtcGFnaW5hdG9yW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc2VsZWN0LXRyaWdnZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweH0ubWF0LXJhZGlvLWJ1dHRvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2VsZWN0W19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1zZWxlY3QtdHJpZ2dlcltfbmdjb250ZW50LSVDT01QJV17aGVpZ2h0OjEuMTI1ZW19Lm1hdC1zbGlkZS10b2dnbGUtY29udGVudFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lm1hdC1zdGVwcGVyLXZlcnRpY2FsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC1zdGVwcGVyLWhvcml6b250YWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LXN0ZXAtbGFiZWxbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMH0ubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXdlaWdodDpub3JtYWx9Lm1hdC1zdGVwLWxhYmVsLWVycm9yW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTRweH0ubWF0LXN0ZXAtbGFiZWwtc2VsZWN0ZWRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRhYi1ncm91cFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmfS5tYXQtdGFiLWxhYmVsW19uZ2NvbnRlbnQtJUNPTVAlXSwgLm1hdC10YWItbGlua1tfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMH0ubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDFbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDJbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDNbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDRbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LXRvb2xiYXJbX25nY29udGVudC0lQ09NUCVdICAgaDZbX25nY29udGVudC0lQ09NUCVde2ZvbnQ6NTAwIDIwcHgvMzJweCBSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO21hcmdpbjowfS5tYXQtdG9vbHRpcFtfbmdjb250ZW50LSVDT01QJV17Zm9udC1mYW1pbHk6Um9ib3RvLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmctdG9wOjZweDtwYWRkaW5nLWJvdHRvbTo2cHh9Lm1hdC10b29sdGlwLWhhbmRzZXRbX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZn0ubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxNnB4fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV17Zm9udC1zaXplOjE2cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LW9wdGlvbltfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpbmVbX25nY29udGVudC0lQ09NUCVde3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWF0LWxpc3QtYmFzZVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjE0cHh9Lm1hdC1saXN0LWJhc2VbX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1zdWJoZWFkZXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LXNpemU6MTJweH0ubWF0LWxpc3QtYmFzZVtkZW5zZV1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saXN0LWl0ZW1bX25nY29udGVudC0lQ09NUCVdICAgLm1hdC1saW5lW19uZ2NvbnRlbnQtJUNPTVAlXXt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1pdGVtW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGlzdC1vcHRpb25bX25nY29udGVudC0lQ09NUCVde2ZvbnQtc2l6ZToxMnB4fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV17d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fS5tYXQtbGlzdC1iYXNlW2RlbnNlXVtfbmdjb250ZW50LSVDT01QJV0gICAubWF0LWxpc3Qtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtbGluZVtfbmdjb250ZW50LSVDT01QJV06bnRoLWNoaWxkKG4rMil7Zm9udC1zaXplOjEycHh9Lm1hdC1saXN0LWJhc2VbZGVuc2VdW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtc3ViaGVhZGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwfS5tYXQtb3B0aW9uW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHh9Lm1hdC1vcHRncm91cC1sYWJlbFtfbmdjb250ZW50LSVDT01QJV17Zm9udDo1MDAgMTRweC8yNHB4IFJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1hdC1zaW1wbGUtc25hY2tiYXJbX25nY29udGVudC0lQ09NUCVde2ZvbnQtZmFtaWx5OlJvYm90bywgIkhlbHZldGljYSBOZXVlIiwgc2Fucy1zZXJpZjtmb250LXNpemU6MTRweH0ubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb25bX25nY29udGVudC0lQ09NUCVde2xpbmUtaGVpZ2h0OjE7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo1MDB9Lm1hdC10cmVlW19uZ2NvbnRlbnQtJUNPTVAlXXtmb250LWZhbWlseTpSb2JvdG8sICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWZ9Lm1hdC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVdLCAubWF0LW5lc3RlZC10cmVlLW5vZGVbX25nY29udGVudC0lQ09NUCVde2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MTRweH0ubWF0LXJpcHBsZVtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtcmlwcGxlW19uZ2NvbnRlbnQtJUNPTVAlXTpub3QoOmVtcHR5KXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ubWF0LXJpcHBsZS5tYXQtcmlwcGxlLXVuYm91bmRlZFtfbmdjb250ZW50LSVDT01QJV17b3ZlcmZsb3c6dmlzaWJsZX0ubWF0LXJpcHBsZS1lbGVtZW50W19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb246b3BhY2l0eSx0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO3RyYW5zZm9ybTpzY2FsZSgwKX0uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlW19uZ2NvbnRlbnQtJUNPTVAlXSAgIC5tYXQtcmlwcGxlLWVsZW1lbnRbX25nY29udGVudC0lQ09NUCVde2Rpc3BsYXk6bm9uZX0uY2RrLXZpc3VhbGx5LWhpZGRlbltfbmdjb250ZW50LSVDT01QJV17Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwO291dGxpbmU6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZX0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtwb2ludGVyLWV2ZW50czpub25lO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5jZGstb3ZlcmxheS1jb250YWluZXJbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAwMH0uY2RrLW92ZXJsYXktY29udGFpbmVyW19uZ2NvbnRlbnQtJUNPTVAlXTplbXB0eXtkaXNwbGF5Om5vbmV9LmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyW19uZ2NvbnRlbnQtJUNPTVAlXXtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwfS5jZGstb3ZlcmxheS1wYW5lW19uZ2NvbnRlbnQtJUNPTVAlXXtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czphdXRvO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4OjEwMDA7ZGlzcGxheTpmbGV4O21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJX0uY2RrLW92ZXJsYXktYmFja2Ryb3BbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOm9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7b3BhY2l0eTowfS5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtvcGFjaXR5OjF9LmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZVtfbmdjb250ZW50LSVDT01QJV0gICAuY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZ1tfbmdjb250ZW50LSVDT01QJV17b3BhY2l0eTouNn0uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcFtfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zMil9LmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wW19uZ2NvbnRlbnQtJUNPTVAlXSwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmdbX25nY29udGVudC0lQ09NUCVde29wYWNpdHk6MH0uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveFtfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjFweDttaW4taGVpZ2h0OjFweH0uY2RrLWdsb2JhbC1zY3JvbGxibG9ja1tfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtvdmVyZmxvdy15OnNjcm9sbH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemVbX25nY29udGVudC0lQ09NUCVde3Jlc2l6ZTpub25lfXRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4gIWltcG9ydGFudH10ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3hbX25nY29udGVudC0lQ09NUCVde3BhZGRpbmc6MnB4IDAgIWltcG9ydGFudDtib3gtc2l6aW5nOmNvbnRlbnQtYm94ICFpbXBvcnRhbnQ7aGVpZ2h0OjAgIWltcG9ydGFudH1Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0e31Aa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZHt9LmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZFtfbmdjb250ZW50LSVDT01QJV06LXdlYmtpdC1hdXRvZmlsbHthbmltYXRpb246Y2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zfS5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWRbX25nY29udGVudC0lQ09NUCVdOm5vdCg6LXdlYmtpdC1hdXRvZmlsbCl7YW5pbWF0aW9uOmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWVuZCAwcyAxbXN9Lm1hdC1mb2N1cy1pbmRpY2F0b3JbX25nY29udGVudC0lQ09NUCVde3Bvc2l0aW9uOnJlbGF0aXZlfS5tYXQtbWRjLWZvY3VzLWluZGljYXRvcltfbmdjb250ZW50LSVDT01QJV17cG9zaXRpb246cmVsYXRpdmV9W19uZ2hvc3QtJUNPTVAlXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIxMjEyMTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfWJvZHkuZGFyay1tb2RlICAgW19uZ2hvc3QtJUNPTVAlXSAgIC5wbHVnaW5zLmlzLWZpcnN0LXBhcnR5LXBsdWdpbltfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZC1jb2xvcjojMzAzMDMwO2NvbG9yOiNmZmZ9LnBsdWdpbnNbX25nY29udGVudC0lQ09NUCVde2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS53YXJuaW5nW19uZ2NvbnRlbnQtJUNPTVAlXXtiYWNrZ3JvdW5kOiNmZmY7Ym90dG9tOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjB9Ym9keS5kYXJrLW1vZGVbX25naG9zdC0lQ09NUCVdICAgLndhcm5pbmdbX25nY29udGVudC0lQ09NUCVdLCBib2R5LmRhcmstbW9kZSAgIFtfbmdob3N0LSVDT01QJV0gICAud2FybmluZ1tfbmdjb250ZW50LSVDT01QJV17YmFja2dyb3VuZDojMzAzMDMwfS53YXJuaW5nLW1lc3NhZ2VbX25nY29udGVudC0lQ09NUCVde2NvbG9yOiMyMTIxMjE7bWFyZ2luOjgwcHggYXV0byAwO21heC13aWR0aDo1NDBweH1ib2R5LmRhcmstbW9kZVtfbmdob3N0LSVDT01QJV0gICAud2FybmluZy1tZXNzYWdlW19uZ2NvbnRlbnQtJUNPTVAlXSwgYm9keS5kYXJrLW1vZGUgICBbX25naG9zdC0lQ09NUCVdICAgLndhcm5pbmctbWVzc2FnZVtfbmdjb250ZW50LSVDT01QJV17Y29sb3I6I2ZmZn0ubGFzdC1yZWxvYWQtdGltZVtfbmdjb250ZW50LSVDT01QJV17Zm9udC1zdHlsZTppdGFsaWN9LnBsdWdpbnNbX25nY29udGVudC0lQ09NUCVdICAgICBpZnJhbWV7Ym9yZGVyOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfSddLGNoYW5nZURldGVjdGlvbjowfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihEd3QsW3t0eXBlOlNfLGFyZ3M6W3tzZWxlY3RvcjoicGx1Z2lucy1jb21wb25lbnQiLHRlbXBsYXRlVXJsOiIuL3BsdWdpbnNfY29tcG9uZW50Lm5nLmh0bWwiLHN0eWxlVXJsczpbInBsdWdpbnNfY29tcG9uZW50LmNzcyJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTpHaH0se3R5cGU6TVh9LHt0eXBlOldJLGRlY29yYXRvcnM6W3t0eXBlOkJyfV19XX0pLHtwbHVnaW5zQ29udGFpbmVyOlt7dHlwZTphcixhcmdzOlsicGx1Z2luQ29udGFpbmVyIix7c3RhdGljOiEwLHJlYWQ6S2h9XX1dLG5nUGx1Z2luQ29udGFpbmVyOlt7dHlwZTphcixhcmdzOlsibmdQbHVnaW5Db250YWluZXIiLHtzdGF0aWM6ITAscmVhZDpGYn1dfV0sYWN0aXZlUGx1Z2luSWQ6W3t0eXBlOlJffV0sYWN0aXZlS25vd25QbHVnaW46W3t0eXBlOlJffV0scGx1Z2luTG9hZFN0YXRlOlt7dHlwZTpSX31dLGRhdGFMb2NhdGlvbjpbe3R5cGU6Ul99XSxpc0ZlYXR1cmVGbGFnc0xvYWRlZDpbe3R5cGU6Ul99XSxzZXR0aW5nc0xvYWRTdGF0ZTpbe3R5cGU6Ul99XSxmZWF0dXJlRmxhZ3M6W3t0eXBlOlJffV0sbGFzdFVwZGF0ZWQ6W3t0eXBlOlJffV0sZW52aXJvbm1lbnRGYWlsdXJlTm90Rm91bmRUZW1wbGF0ZTpbe3R5cGU6Ul99XSxlbnZpcm9ubWVudEZhaWx1cmVVbmtub3duVGVtcGxhdGU6W3t0eXBlOlJffV19KTtjb25zdCBSd3Q9YlMoblQsZVQsKCh0LGUpPT5lJiZ0W2VdP09iamVjdC5hc3NpZ24oe2lkOmV9LHRbZV0pOm51bGwpKTtjbGFzcyBFd3R7Y29uc3RydWN0b3IodCl7dGhpcy5zdG9yZT10LHRoaXMuYWN0aXZlS25vd25QbHVnaW4kPXRoaXMuc3RvcmUuc2VsZWN0KFJ3dCksdGhpcy5hY3RpdmVQbHVnaW5JZCQ9dGhpcy5zdG9yZS5zZWxlY3QoZVQpLHRoaXMucGx1Z2luTG9hZFN0YXRlJD1LdCh0aGlzLmFjdGl2ZUtub3duUGx1Z2luJCx0aGlzLmFjdGl2ZVBsdWdpbklkJCx0aGlzLnN0b3JlLnNlbGVjdChKQSkpLnBpcGUoVnQoKChbdCxlLG5dKT0+bnVsbCE9PW4uZmFpbHVyZUNvZGU/bi5mYWlsdXJlQ29kZT09PUxFLk5PVF9GT1VORD9Td3QuRU5WSVJPTk1FTlRfRkFJTFVSRV9OT1RfRk9VTkQ6U3d0LkVOVklST05NRU5UX0ZBSUxVUkVfVU5LTk9XTjpudWxsIT09dD9Td3QuTE9BREVEOm51bGw9PT1uLmxhc3RMb2FkZWRUaW1lSW5NcyYmbi5zdGF0ZT09PVVFLkxPQURJTkc/U3d0LkxPQURJTkc6ZT9Td3QuVU5LTk9XTl9QTFVHSU5fSUQ6U3d0Lk5PX0VOQUJMRURfUExVR0lOUykpKSx0aGlzLmxhc3RMb2FkZWRUaW1lSW5NcyQ9dGhpcy5zdG9yZS5zZWxlY3QodFQpLHRoaXMuZGF0YUxvY2F0aW9uJD10aGlzLnN0b3JlLnNlbGVjdChvVCkucGlwZShWdCgodD0+dC5kYXRhX2xvY2F0aW9uKSkpLHRoaXMuaXNGZWF0dXJlRmxhZ3NMb2FkZWQkPXRoaXMuc3RvcmUuc2VsZWN0KE5EKSx0aGlzLmZlYXR1cmVGbGFncyQ9dGhpcy5zdG9yZS5zZWxlY3QoekQpLHRoaXMuc2V0dGluZ3NMb2FkU3RhdGUkPXRoaXMuc3RvcmUuc2VsZWN0KGZJKX19RXd0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHxFd3QpKGdmKGlTKSl9LEV3dC7JtWNtcD1zbyh7dHlwZTpFd3Qsc2VsZWN0b3JzOltbInBsdWdpbnMiXV0saW5wdXRzOntlbnZpcm9ubWVudEZhaWx1cmVOb3RGb3VuZFRlbXBsYXRlOiJlbnZpcm9ubWVudEZhaWx1cmVOb3RGb3VuZFRlbXBsYXRlIixlbnZpcm9ubWVudEZhaWx1cmVVbmtub3duVGVtcGxhdGU6ImVudmlyb25tZW50RmFpbHVyZVVua25vd25UZW1wbGF0ZSJ9LGRlY2xzOjksdmFyczoyNixjb25zdHM6W1szLCJhY3RpdmVLbm93blBsdWdpbiIsImFjdGl2ZVBsdWdpbklkIiwiZGF0YUxvY2F0aW9uIiwibGFzdFVwZGF0ZWQiLCJwbHVnaW5Mb2FkU3RhdGUiLCJpc0ZlYXR1cmVGbGFnc0xvYWRlZCIsInNldHRpbmdzTG9hZFN0YXRlIiwiZmVhdHVyZUZsYWdzIiwiZW52aXJvbm1lbnRGYWlsdXJlTm90Rm91bmRUZW1wbGF0ZSIsImVudmlyb25tZW50RmFpbHVyZVVua25vd25UZW1wbGF0ZSJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwicGx1Z2lucy1jb21wb25lbnQiLDApLF95KDEsImFzeW5jIiksX3koMiwiYXN5bmMiKSxfeSgzLCJhc3luYyIpLF95KDQsImFzeW5jIiksX3koNSwiYXN5bmMiKSxfeSg2LCJhc3luYyIpLF95KDcsImFzeW5jIiksX3koOCwiYXN5bmMiKSksMiZlJiZiZigiYWN0aXZlS25vd25QbHVnaW4iLEN5KDEsMTAsbi5hY3RpdmVLbm93blBsdWdpbiQpKSgiYWN0aXZlUGx1Z2luSWQiLEN5KDIsMTIsbi5hY3RpdmVQbHVnaW5JZCQpKSgiZGF0YUxvY2F0aW9uIixDeSgzLDE0LG4uZGF0YUxvY2F0aW9uJCkpKCJsYXN0VXBkYXRlZCIsQ3koNCwxNixuLmxhc3RMb2FkZWRUaW1lSW5NcyQpKSgicGx1Z2luTG9hZFN0YXRlIixDeSg1LDE4LG4ucGx1Z2luTG9hZFN0YXRlJCkpKCJpc0ZlYXR1cmVGbGFnc0xvYWRlZCIsQ3koNiwyMCxuLmlzRmVhdHVyZUZsYWdzTG9hZGVkJCkpKCJzZXR0aW5nc0xvYWRTdGF0ZSIsQ3koNywyMixuLnNldHRpbmdzTG9hZFN0YXRlJCkpKCJmZWF0dXJlRmxhZ3MiLEN5KDgsMjQsbi5mZWF0dXJlRmxhZ3MkKSkoImVudmlyb25tZW50RmFpbHVyZU5vdEZvdW5kVGVtcGxhdGUiLG4uZW52aXJvbm1lbnRGYWlsdXJlTm90Rm91bmRUZW1wbGF0ZSkoImVudmlyb25tZW50RmFpbHVyZVVua25vd25UZW1wbGF0ZSIsbi5lbnZpcm9ubWVudEZhaWx1cmVVbmtub3duVGVtcGxhdGUpfSxzdHlsZXM6WyJwbHVnaW5zLWNvbXBvbmVudFtfbmdjb250ZW50LSVDT01QJV0geyBoZWlnaHQ6IDEwMCU7IH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoRXd0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InBsdWdpbnMiLHRlbXBsYXRlOidcbiAgICA8cGx1Z2lucy1jb21wb25lbnRcbiAgICAgIFthY3RpdmVLbm93blBsdWdpbl09ImFjdGl2ZUtub3duUGx1Z2luJCB8IGFzeW5jIlxuICAgICAgW2FjdGl2ZVBsdWdpbklkXT0iYWN0aXZlUGx1Z2luSWQkIHwgYXN5bmMiXG4gICAgICBbZGF0YUxvY2F0aW9uXT0iZGF0YUxvY2F0aW9uJCB8IGFzeW5jIlxuICAgICAgW2xhc3RVcGRhdGVkXT0ibGFzdExvYWRlZFRpbWVJbk1zJCB8IGFzeW5jIlxuICAgICAgW3BsdWdpbkxvYWRTdGF0ZV09InBsdWdpbkxvYWRTdGF0ZSQgfCBhc3luYyJcbiAgICAgIFtpc0ZlYXR1cmVGbGFnc0xvYWRlZF09ImlzRmVhdHVyZUZsYWdzTG9hZGVkJCB8IGFzeW5jIlxuICAgICAgW3NldHRpbmdzTG9hZFN0YXRlXT0ic2V0dGluZ3NMb2FkU3RhdGUkIHwgYXN5bmMiXG4gICAgICBbZmVhdHVyZUZsYWdzXT0iZmVhdHVyZUZsYWdzJCB8IGFzeW5jIlxuICAgICAgW2Vudmlyb25tZW50RmFpbHVyZU5vdEZvdW5kVGVtcGxhdGVdPSJlbnZpcm9ubWVudEZhaWx1cmVOb3RGb3VuZFRlbXBsYXRlIlxuICAgICAgW2Vudmlyb25tZW50RmFpbHVyZVVua25vd25UZW1wbGF0ZV09ImVudmlyb25tZW50RmFpbHVyZVVua25vd25UZW1wbGF0ZSJcbiAgICA+PC9wbHVnaW5zLWNvbXBvbmVudD5cbiAgJyxzdHlsZXM6WyJwbHVnaW5zLWNvbXBvbmVudCB7IGhlaWdodDogMTAwJTsgfSJdLGNoYW5nZURldGVjdGlvbjpqbi5PblB1c2h9XX1dLChmdW5jdGlvbigpe3JldHVyblt7dHlwZTppU31dfSkse2Vudmlyb25tZW50RmFpbHVyZU5vdEZvdW5kVGVtcGxhdGU6W3t0eXBlOlJffV0sZW52aXJvbm1lbnRGYWlsdXJlVW5rbm93blRlbXBsYXRlOlt7dHlwZTpSX31dfSk7Y2xhc3MgQXd0e31Bd3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEF3dCl9LEF3dC7JtW1vZD1mbyh7dHlwZTpBd3R9KSxBd3QuybVpbmo9RG4oe2ltcG9ydHM6W1tkVCxyeCxNWF1dfSksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdEZXZNb2RlfHxuZ0Rldk1vZGUpJiZRYihBd3QsW3t0eXBlOkxfLGFyZ3M6W3tkZWNsYXJhdGlvbnM6W0V3dCxEd3RdLGV4cG9ydHM6W0V3dF0saW1wb3J0czpbZFQscngsTVhdfV19XSxudWxsLG51bGwpLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nSml0TW9kZXx8bmdKaXRNb2RlKSYmdW8oQXd0LHtkZWNsYXJhdGlvbnM6W0V3dCxEd3RdLGltcG9ydHM6W2RULHJ4LE1YXSxleHBvcnRzOltFd3RdfSksbG8oRXd0LFtEd3RdLFtWdl0pO2NsYXNzIFR3dHtjb25zdHJ1Y3Rvcih0LGUpe3RoaXMuc3RvcmU9dCx0aGlzLmRvY3VtZW50PWUsdGhpcy5vblZpc2liaWxpdHlDaGFuZ2U9dGhpcy5vblZpc2liaWxpdHlDaGFuZ2VJbXBsLmJpbmQodGhpcyksdGhpcy5yZWxvYWRFbmFibGVkJD10aGlzLnN0b3JlLnBpcGUoclModUkpKSx0aGlzLnJlbG9hZFBlcmlvZEluTXMkPXRoaXMuc3RvcmUucGlwZShyUyhnSSkpLHRoaXMucmVsb2FkVGltZXJJZD1udWxsLHRoaXMubWlzc2VkQXV0b1JlbG9hZD0hMX1uZ09uSW5pdCgpe3RoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsdGhpcy5vblZpc2liaWxpdHlDaGFuZ2UpLEt0KHRoaXMucmVsb2FkRW5hYmxlZCQucGlwZSh3ZSgpKSx0aGlzLnJlbG9hZFBlcmlvZEluTXMkLnBpcGUod2UoKSkpLnN1YnNjcmliZSgoKFt0LGVdKT0+e3RoaXMuY2FuY2VsTG9hZCgpLHQmJnRoaXMubG9hZChlKX0pKX1vblZpc2liaWxpdHlDaGFuZ2VJbXBsKCl7InZpc2libGUiPT09dGhpcy5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGUmJnRoaXMubWlzc2VkQXV0b1JlbG9hZCYmKHRoaXMubWlzc2VkQXV0b1JlbG9hZD0hMSx0aGlzLnN0b3JlLmRpc3BhdGNoKFFFKCkpKX1sb2FkKHQpe3RoaXMucmVsb2FkVGltZXJJZD1zZXRUaW1lb3V0KCgoKT0+eyJ2aXNpYmxlIj09PXRoaXMuZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlP3RoaXMuc3RvcmUuZGlzcGF0Y2goUUUoKSk6dGhpcy5taXNzZWRBdXRvUmVsb2FkPSEwLHRoaXMubG9hZCh0KX0pLHQpfWNhbmNlbExvYWQoKXtudWxsIT09dGhpcy5yZWxvYWRUaW1lcklkJiZjbGVhclRpbWVvdXQodGhpcy5yZWxvYWRUaW1lcklkKSx0aGlzLnJlbG9hZFRpbWVySWQ9bnVsbH1uZ09uRGVzdHJveSgpe3RoaXMuY2FuY2VsTG9hZCgpLHRoaXMuZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsdGhpcy5vblZpc2liaWxpdHlDaGFuZ2UpfX1Ud3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFR3dCkoZ2YoaVMpLGdmKHNNKSl9LFR3dC7JtWNtcD1zbyh7dHlwZTpUd3Qsc2VsZWN0b3JzOltbInJlbG9hZGVyIl1dLGRlY2xzOjAsdmFyczowLHRlbXBsYXRlOmZ1bmN0aW9uIHQoZSxuKXt9LGVuY2Fwc3VsYXRpb246MixjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoVHd0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InJlbG9hZGVyIix0ZW1wbGF0ZToiIixjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSwoZnVuY3Rpb24oKXtyZXR1cm5be3R5cGU6aVN9LHt0eXBlOkRvY3VtZW50LGRlY29yYXRvcnM6W3t0eXBlOkxyLGFyZ3M6W3NNXX1dfV19KSxudWxsKTtjbGFzcyBOd3R7fU53dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Tnd0KX0sTnd0Lsm1Y21wPXNvKHt0eXBlOk53dCxzZWxlY3RvcnM6W1sidGVuc29yYm9hcmQtd3JhcHBlci1jb21wb25lbnQiXV0sZGVjbHM6Mix2YXJzOjAsY29uc3RzOltbMSwicGx1Z2lucyJdXSx0ZW1wbGF0ZTpmdW5jdGlvbiB0KGUsbil7MSZlJiYodmYoMCwicGx1Z2lucyIsMCksdmYoMSwicmVsb2FkZXIiKSl9LGRpcmVjdGl2ZXM6W0V3dCxUd3RdLHN0eWxlczpbIltfbmdob3N0LSVDT01QJV0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5wbHVnaW5zW19uZ2NvbnRlbnQtJUNPTVAlXSB7XG4gICAgICAgIGZsZXg6IDEgMTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH0iXSxjaGFuZ2VEZXRlY3Rpb246MH0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoTnd0LFt7dHlwZTpTXyxhcmdzOlt7c2VsZWN0b3I6InRlbnNvcmJvYXJkLXdyYXBwZXItY29tcG9uZW50Iix0ZW1wbGF0ZTonXG4gICAgPHBsdWdpbnMgY2xhc3M9InBsdWdpbnMiPjwvcGx1Z2lucz5cbiAgICA8cmVsb2FkZXI+PC9yZWxvYWRlcj5cbiAgJyxzdHlsZXM6WyJcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAucGx1Z2lucyB7XG4gICAgICAgIGZsZXg6IDEgMTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAiXSxjaGFuZ2VEZXRlY3Rpb246am4uT25QdXNofV19XSxudWxsLG51bGwpO2NsYXNzIHp3dHt9end0Lsm1ZmFjPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIG5ldyhlfHx6d3QpfSx6d3QuybVwcm92PVNuKHt0b2tlbjp6d3QsZmFjdG9yeTp6d3QuybVmYWN9KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKHp3dCxbe3R5cGU6VW19XSxudWxsLG51bGwpO2NvbnN0IEl3dD0ic21vb3RoaW5nIixId3Q9InJ1bkNvbG9yR3JvdXAiLEZ3dD0idGFnRmlsdGVyIixMd3Q9InJ1bkZpbHRlciIsQnd0PSJyZWdleDoiO2xldCBWd3Q9Y2xhc3MgZXh0ZW5kcyB6d3R7Z2V0TWV0cmljc1Bpbm5lZENhcmRzKHQpe3JldHVybiBLdChbdC5zZWxlY3QoY3opLHQuc2VsZWN0KHB6KV0pLnBpcGUoVnQoKChbdCxlXSk9PntpZighdC5sZW5ndGgmJiFlLmxlbmd0aClyZXR1cm5bXTtjb25zdCBuPVsuLi50Lm1hcCgoKHtwbHVnaW46dCx0YWc6ZSxzYW1wbGU6bixydW5JZDpvfSk9Pntjb25zdCBpPXtwbHVnaW46dCx0YWc6ZX07cmV0dXJuIG9OKHQpJiYoaS5ydW5JZD1vKSxlTih0KSYmKGkuc2FtcGxlPW4pLGl9KSksLi4uZV07cmV0dXJuW3trZXk6InBpbm5lZENhcmRzIix2YWx1ZTpKU09OLnN0cmluZ2lmeShuKX1dfSkpKX1nZXRGZWF0dXJlRmxhZ1N0YXRlcyh0KXtyZXR1cm4gS3QoW3Quc2VsZWN0KEJEKSx0LnNlbGVjdChJRCldKS5waXBlKFZ0KCgoW3QsZV0pPT57Y29uc3Qgbj10Lm1hcCgodD0+KHtrZXk6aE4sdmFsdWU6dH0pKSk7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgZS5lbmFibGVkQ29sb3JHcm91cCYmbi5wdXNoKHtrZXk6X04sdmFsdWU6U3RyaW5nKGUuZW5hYmxlZENvbG9yR3JvdXApfSksImJvb2xlYW4iPT10eXBlb2YgZS5lbmFibGVkQ29sb3JHcm91cEJ5UmVnZXgmJm4ucHVzaCh7a2V5OkNOLHZhbHVlOlN0cmluZyhlLmVuYWJsZWRDb2xvckdyb3VwQnlSZWdleCl9KSxufSkpKX1zZXJpYWxpemVTdGF0ZVRvUXVlcnlQYXJhbXModCl7cmV0dXJuIEt0KFt0aGlzLmdldE1ldHJpY3NQaW5uZWRDYXJkcyh0KSx0LnNlbGVjdChQeikucGlwZShWdCgodD0+dD9be2tleTpGd3QsdmFsdWU6dH1dOltdKSkpLHRoaXMuZ2V0RmVhdHVyZUZsYWdTdGF0ZXModCksdC5zZWxlY3QodXopLnBpcGUoVnQoKHQ9Pk51bWJlci5pc0Zpbml0ZSh0LnNjYWxhclNtb290aGluZyk/W3trZXk6SXd0LHZhbHVlOlN0cmluZyh0LnNjYWxhclNtb290aGluZyl9XTpbXSkpKSx0LnNlbGVjdChReikucGlwZShWdCgodD0+e2lmKCF0KXJldHVybltdO2xldCBlO3N3aXRjaCh0LmtleSl7Y2FzZSBMei5FWFBFUklNRU5UOmU9ImV4cGVyaW1lbnQiO2JyZWFrO2Nhc2UgTHouUlVOOmU9InJ1biI7YnJlYWs7Y2FzZSBMei5SRUdFWDplPWByZWdleDoke3QucmVnZXhTdHJpbmd9YDticmVhaztkZWZhdWx0OnRocm93IG5ldyBSYW5nZUVycm9yKCJTZXJpYWxpemF0aW9uIG5vdCBpbXBsZW1lbnRlZCIpfXJldHVyblt7a2V5Okh3dCx2YWx1ZTplfV19KSkpLHQuc2VsZWN0KHRJKS5waXBlKFZ0KCh0PT50P1t7a2V5Okx3dCx2YWx1ZTp0fV06W10pKSldKS5waXBlKFZ0KCh0PT50LmZsYXQoKSkpKX1kZXNlcmlhbGl6ZVF1ZXJ5UGFyYW1zKHQpe2xldCBlPW51bGwsbj1udWxsLG89bnVsbCxpPW51bGwsYT1udWxsO2Zvcihjb25zdHtrZXk6cix2YWx1ZTpzfW9mIHQpc3dpdGNoKHIpe2Nhc2UicGlubmVkQ2FyZHMiOmU9and0KHMpO2JyZWFrO2Nhc2UgSXd0Om49TnVtYmVyKHMpO2JyZWFrO2Nhc2UgSHd0OnN3aXRjaChzKXtjYXNlImV4cGVyaW1lbnQiOmk9e2tleTpMei5FWFBFUklNRU5UfTticmVhaztjYXNlInJ1biI6aT17a2V5Okx6LlJVTn19aWYocy5zdGFydHNXaXRoKEJ3dCkpe2NvbnN0IHQ9cy5zbGljZShCd3QubGVuZ3RoKTtpPXtrZXk6THouUkVHRVgscmVnZXhTdHJpbmc6dH19YnJlYWs7Y2FzZSBGd3Q6bz1zO2JyZWFrO2Nhc2UgTHd0OmE9c31yZXR1cm57bWV0cmljczp7cGlubmVkQ2FyZHM6ZXx8W10sc21vb3RoaW5nOm4sdGFnRmlsdGVyOm99LHJ1bnM6e2dyb3VwQnk6aSxyZWdleEZpbHRlcjphfX19fTtmdW5jdGlvbiBqd3QodCl7bGV0IGU7dHJ5e2U9SlNPTi5wYXJzZSh0KX1jYXRjaCh0KXtyZXR1cm4gbnVsbH1pZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gbnVsbDtjb25zdCBuPVtdO2Zvcihjb25zdCB0IG9mIGUpe2NvbnN0IGU9InN0cmluZyI9PXR5cGVvZiB0LnJ1bklkLGk9Im51bWJlciI9PXR5cGVvZiB0LnNhbXBsZSxhPSJzdHJpbmciPT10eXBlb2YgdC50YWcscj1lfHx2b2lkIDA9PT10LnJ1bklkLHM9aXx8dm9pZCAwPT09dC5zYW1wbGU7aWYoISgic3RyaW5nIj09dHlwZW9mIHQucGx1Z2luJiZhJiZyJiZzKSljb250aW51ZTtpZigobz10LnBsdWdpbikhPT1LVC5TQ0FMQVJTJiZvIT09S1QuSElTVE9HUkFNUyYmbyE9PUtULklNQUdFUyljb250aW51ZTtpZighdC50YWcpY29udGludWU7aWYob04odC5wbHVnaW4pKXtpZighdC5ydW5JZCljb250aW51ZX1lbHNlIGlmKHQucnVuSWQpY29udGludWU7aWYoaSl7aWYoIWVOKHQucGx1Z2luKSljb250aW51ZTtpZighTnVtYmVyLmlzSW50ZWdlcih0LnNhbXBsZSl8fHQuc2FtcGxlPDApY29udGludWV9Y29uc3QgbD17cGx1Z2luOnQucGx1Z2luLHRhZzp0LnRhZ307ZSYmKGwucnVuSWQ9dC5ydW5JZCksaSYmKGwuc2FtcGxlPXQuc2FtcGxlKSxuLnB1c2gobCl9dmFyIG87cmV0dXJuIG59ZnVuY3Rpb24gVXd0KCl7cmV0dXJuW3tyb3V0ZUtpbmQ6X0QuRVhQRVJJTUVOVCxwYXRoOiIvIixuZ0NvbXBvbmVudDpOd3QsZGVmYXVsdFJvdXRlOiEwLGRlZXBMaW5rUHJvdmlkZXI6bmV3IFZ3dH1dfWZ1bmN0aW9uIFd3dCh0KXtyZXR1cm4oZSxuKT0+e2NvbnN0IG89dChlLG4pO3JldHVybiBjb25zb2xlLmdyb3VwQ29sbGFwc2VkKG4udHlwZSksY29uc29sZS5sb2coInByZXYgc3RhdGUiLGUpLGNvbnNvbGUubG9nKCJhY3Rpb24iLG4pLGNvbnNvbGUubG9nKCJuZXh0IHN0YXRlIixvKSxjb25zb2xlLmdyb3VwRW5kKCksb319ZnVuY3Rpb24gR3d0KCl7cmV0dXJuIFBDKCk/V3d0OnQ9PihlLG4pPT50KGUsbil9Vnd0PShmdW5jdGlvbiBZd3QodCxlLG4sbyl7dmFyIGksYT1hcmd1bWVudHMubGVuZ3RoLHI9YTwzP2U6bnVsbD09PW8/bz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsbik6bztpZigib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJiJmdW5jdGlvbiI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKXI9UmVmbGVjdC5kZWNvcmF0ZSh0LGUsbixvKTtlbHNlIGZvcih2YXIgcz10Lmxlbmd0aC0xO3M+PTA7cy0tKShpPXRbc10pJiYocj0oYTwzP2kocik6YT4zP2koZSxuLHIpOmkoZSxuKSl8fHIpO3JldHVybiBhPjMmJnImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4scikscn0pKFtVbSgpXSxWd3QpO2NvbnN0IHF3dD1uZXcgZXIoIlJvb3QgcmVkdWNlcnMgdG9rZW4iLHtmYWN0b3J5OigpPT4oe30pfSk7Y2xhc3MgWnd0e31ad3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFp3dCl9LFp3dC7JtW1vZD1mbyh7dHlwZTpad3R9KSxad3QuybVpbmo9RG4oe3Byb3ZpZGVyczpbe3Byb3ZpZGU6TGssdXNlRmFjdG9yeTpHd3QsbXVsdGk6ITB9XSxpbXBvcnRzOltbVFMuZm9yUm9vdChxd3Qse3J1bnRpbWVDaGVja3M6e3N0cmljdFN0YXRlSW1tdXRhYmlsaXR5OiEwLHN0cmljdEFjdGlvbkltbXV0YWJpbGl0eTohMCxzdHJpY3RBY3Rpb25TZXJpYWxpemFiaWxpdHk6ITEsc3RyaWN0U3RhdGVTZXJpYWxpemFiaWxpdHk6ITF9fSksaEQuZm9yUm9vdChbXSldXX0pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWnd0LFt7dHlwZTpMXyxhcmdzOlt7aW1wb3J0czpbVFMuZm9yUm9vdChxd3Qse3J1bnRpbWVDaGVja3M6e3N0cmljdFN0YXRlSW1tdXRhYmlsaXR5OiEwLHN0cmljdEFjdGlvbkltbXV0YWJpbGl0eTohMCxzdHJpY3RBY3Rpb25TZXJpYWxpemFiaWxpdHk6ITEsc3RyaWN0U3RhdGVTZXJpYWxpemFiaWxpdHk6ITF9fSksaEQuZm9yUm9vdChbXSldLHByb3ZpZGVyczpbe3Byb3ZpZGU6TGssdXNlRmFjdG9yeTpHd3QsbXVsdGk6ITB9XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKFp3dCx7aW1wb3J0czpbRVMsdURdfSk7Y2xhc3MgWHd0e31Yd3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fFh3dCl9LFh3dC7JtW1vZD1mbyh7dHlwZTpYd3R9KSxYd3QuybVpbmo9RG4oe30pLCgidW5kZWZpbmVkIj09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmUWIoWHd0LFt7dHlwZTpMXyxhcmdzOlt7ZGVjbGFyYXRpb25zOltUd3RdLGV4cG9ydHM6W1R3dF19XX1dLG51bGwsbnVsbCksKCJ1bmRlZmluZWQiPT10eXBlb2YgbmdKaXRNb2RlfHxuZ0ppdE1vZGUpJiZ1byhYd3Qse2RlY2xhcmF0aW9uczpbVHd0XSxleHBvcnRzOltUd3RdfSk7Y2xhc3MgS3d0e31Ld3QuybVmYWM9ZnVuY3Rpb24gdChlKXtyZXR1cm4gbmV3KGV8fEt3dCl9LEt3dC7JtW1vZD1mbyh7dHlwZTpLd3R9KSxLd3QuybVpbmo9RG4oe2ltcG9ydHM6W1tyeCxBd3QsWHd0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEt3dCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbTnd0XSxpbXBvcnRzOltyeCxBd3QsWHd0XSxleHBvcnRzOltOd3RdLGVudHJ5Q29tcG9uZW50czpbTnd0XX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEt3dCx7ZGVjbGFyYXRpb25zOltOd3RdLGltcG9ydHM6W3J4LEF3dCxYd3RdLGV4cG9ydHM6W053dF19KTtjbGFzcyBKd3R7fUp3dC7JtWZhYz1mdW5jdGlvbiB0KGUpe3JldHVybiBuZXcoZXx8Snd0KX0sSnd0Lsm1bW9kPWZvKHt0eXBlOkp3dCxib290c3RyYXA6W3RYXX0pLEp3dC7JtWluaj1Ebih7aW1wb3J0czpbW0lOLGRPLGhrLFJSLG5YLGZSLnJlZ2lzdGVyUm91dGVzKFV3dCksRlYsSFYsb1gsS3d0LGRULGRYLGFYLGJYLExULHlYLHJYLEtSLFdJLEF3dCxUSSxnWCxad3QsZnd0XV19KSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0Rldk1vZGV8fG5nRGV2TW9kZSkmJlFiKEp3dCxbe3R5cGU6TF8sYXJnczpbe2RlY2xhcmF0aW9uczpbdFhdLGltcG9ydHM6W0lOLGRPLGhrLFJSLG5YLGZSLnJlZ2lzdGVyUm91dGVzKFV3dCksRlYsSFYsb1gsS3d0LGRULGRYLGFYLGJYLExULHlYLHJYLEtSLFdJLEF3dCxUSSxnWCxad3QsZnd0XSxib290c3RyYXA6W3RYXX1dfV0sbnVsbCxudWxsKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBuZ0ppdE1vZGV8fG5nSml0TW9kZSkmJnVvKEp3dCx7ZGVjbGFyYXRpb25zOlt0WF0saW1wb3J0czpbSU4sZE8saGssUlIsblgsZlIsRlYsSFYsb1gsS3d0LGRULGRYLGFYLGJYLExULHlYLHJYLEtSLFdJLEF3dCxUSSxnWCxad3QsZnd0XX0pLCJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGU/YU8oKS5ib290c3RyYXBNb2R1bGUoSnd0KTp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsKCgpPT57YU8oKS5ib290c3RyYXBNb2R1bGUoSnd0KX0pKSwoZnVuY3Rpb24gUXd0KCl7aWYoT0MpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgZW5hYmxlIHByb2QgbW9kZSBhZnRlciBwbGF0Zm9ybSBzZXR1cC4iKTsodm9pZCAwPT09dHlwZW9mIG5nRGV2TW9kZXx8bmdEZXZNb2RlKSYmKFhuLm5nRGV2TW9kZT0hMSkseEM9ITF9Ci8qKgogICAgICogQGxpY2Vuc2UKICAgICAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICAgKgogICAgICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICAgICAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2UKICAgICAqLykoKX0pKCk7Cg==","ok":true,"headers":[["content-type","application/javascript; charset=utf-8"]],"status":200,"status_text":""},"https://localhost:6006/icon_bundle.svg":{"data":"PD94bWwgdmVyc2lvbj0iMS4wIiA/Pjxzdmc+PGRlZnM+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iYXJyb3dfZG93bndhcmRfMjRweCI+PHBhdGggZmlsbD0iIzAxMDEwMSIgZD0iTTIwIDEybC0xLjQxLTEuNDFMMTMgMTYuMTdWNGgtMnYxMi4xN2wtNS41OC01LjU5TDQgMTJsOCA4IDgtOHoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGlkPSJhcnJvd191cHdhcmRfMjRweCI+PHBhdGggZD0iTTQgMTJsMS40MSAxLjQxTDExIDcuODNWMjBoMlY3LjgzbDUuNTggNS41OUwyMCAxMmwtOC04LTggOHoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJicmlnaHRuZXNzXzZfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0yMCAxNS4zMUwyMy4zMSAxMiAyMCA4LjY5VjRoLTQuNjlMMTIgLjY5IDguNjkgNEg0djQuNjlMLjY5IDEyIDQgMTUuMzFWMjBoNC42OUwxMiAyMy4zMSAxNS4zMSAyMEgyMHYtNC42OXpNMTIgMThWNmMzLjMxIDAgNiAyLjY5IDYgNnMtMi42OSA2LTYgNnoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJidWdfcmVwb3J0XzI0cHgiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMjAgOGgtMi44MWMtLjQ1LS43OC0xLjA3LTEuNDUtMS44Mi0xLjk2TDE3IDQuNDEgMTUuNTkgM2wtMi4xNyAyLjE3QzEyLjk2IDUuMDYgMTIuNDkgNSAxMiA1Yy0uNDkgMC0uOTYuMDYtMS40MS4xN0w4LjQxIDMgNyA0LjQxbDEuNjIgMS42M0M3Ljg4IDYuNTUgNy4yNiA3LjIyIDYuODEgOEg0djJoMi4wOWMtLjA1LjMzLS4wOS42Ni0uMDkgMXYxSDR2MmgydjFjMCAuMzQuMDQuNjcuMDkgMUg0djJoMi44MWMxLjA0IDEuNzkgMi45NyAzIDUuMTkgM3M0LjE1LTEuMjEgNS4xOS0zSDIwdi0yaC0yLjA5Yy4wNS0uMzMuMDktLjY2LjA5LTF2LTFoMnYtMmgtMnYtMWMwLS4zNC0uMDQtLjY3LS4wOS0xSDIwVjh6bS02IDhoLTR2LTJoNHYyem0wLTRoLTR2LTJoNHYyeiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9ImNhbmNlbF8yNHB4Ij48cGF0aCBkPSJNMTIgMkM2LjQ3IDIgMiA2LjQ3IDIgMTJzNC40NyAxMCAxMCAxMCAxMC00LjQ3IDEwLTEwUzE3LjUzIDIgMTIgMnptNSAxMy41OUwxNS41OSAxNyAxMiAxMy40MSA4LjQxIDE3IDcgMTUuNTkgMTAuNTkgMTIgNyA4LjQxIDguNDEgNyAxMiAxMC41OSAxNS41OSA3IDE3IDguNDEgMTMuNDEgMTIgMTcgMTUuNTl6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iY2hldnJvbl9sZWZ0XzI0cHgiPjxwYXRoIGQ9Ik0xNS40MSA3LjQxTDE0IDZsLTYgNiA2IDYgMS40MS0xLjQxTDEwLjgzIDEyeiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9ImNoZXZyb25fcmlnaHRfMjRweCI+PHBhdGggZD0iTTEwIDZMOC41OSA3LjQxIDEzLjE3IDEybC00LjU4IDQuNTlMMTAgMThsNi02eiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9ImNsZWFyXzI0cHgiPjxwYXRoIGQ9Ik0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0iY2xvc2VfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iY29udGVudF9jb3B5XzI0cHgiPjxwYXRoIGQ9Ik0xNiAxSDRjLTEuMSAwLTIgLjktMiAydjE0aDJWM2gxMlYxem0zIDRIOGMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxMWMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0wIDE2SDhWN2gxMXYxNHoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0iZGFya19tb2RlXzI0cHgiPjxyZWN0IGZpbGw9Im5vbmUiIGhlaWdodD0iMjQiIHdpZHRoPSIyNCIvPjxwYXRoIGQ9Ik0xMiwzYy00Ljk3LDAtOSw0LjAzLTksOXM0LjAzLDksOSw5czktNC4wMyw5LTljMC0wLjQ2LTAuMDQtMC45Mi0wLjEtMS4zNmMtMC45OCwxLjM3LTIuNTgsMi4yNi00LjQsMi4yNiBjLTIuOTgsMC01LjQtMi40Mi01LjQtNS40YzAtMS44MSwwLjg5LTMuNDIsMi4yNi00LjRDMTIuOTIsMy4wNCwxMi40NiwzLDEyLDNMMTIsM3oiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGlkPSJkb25lXzI0cHgiPjxwYXRoIGQ9Ik05IDE2LjJMNC44IDEybC0xLjQgMS40TDkgMTkgMjEgN2wtMS40LTEuNEw5IDE2LjJ6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0iZHJhZ19pbmRpY2F0b3JfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTExIDE4YzAgMS4xLS45IDItMiAycy0yLS45LTItMiAuOS0yIDItMiAyIC45IDIgMnptLTItOGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bTAtNmMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bTYgNGMxLjEgMCAyLS45IDItMnMtLjktMi0yLTItMiAuOS0yIDIgLjkgMiAyIDJ6bTAgMmMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6bTAgNmMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDIgMi0uOSAyLTItLjktMi0yLTJ6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0iZWRpdF8yNHB4Ij48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGlkPSJlcnJvcl8yNHB4Ij48cGF0aCBkPSJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMSAxNWgtMnYtMmgydjJ6bTAtNGgtMlY3aDJ2NnoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGlkPSJleHBhbmRfbGVzc18yNHB4Ij48cGF0aCBkPSJNMTIgOGwtNiA2IDEuNDEgMS40MUwxMiAxMC44M2w0LjU5IDQuNThMMTggMTR6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iZXhwYW5kX21vcmVfMjRweCI+PHBhdGggZD0iTTE2LjU5IDguNTlMMTIgMTMuMTcgNy40MSA4LjU5IDYgMTBsNiA2IDYtNnoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0iZmlsdGVyX2FsdF8yNHB4Ij48Zz48cGF0aCBkPSJNMCwwaDI0IE0yNCwyNEgwIiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTQuMjUsNS42MUM2LjI3LDguMiwxMCwxMywxMCwxM3Y2YzAsMC41NSwwLjQ1LDEsMSwxaDJjMC41NSwwLDEtMC40NSwxLTF2LTZjMCwwLDMuNzItNC44LDUuNzQtNy4zOSBDMjAuMjUsNC45NSwxOS43OCw0LDE4Ljk1LDRINS4wNEM0LjIxLDQsMy43NCw0Ljk1LDQuMjUsNS42MXoiLz48cGF0aCBkPSJNMCwwaDI0djI0SDBWMHoiIGZpbGw9Im5vbmUiLz48L2c+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iZmxhZ18yNHB4Ij48cGF0aCBkPSJNMTQuNCA2TDE0IDRINXYxN2gydi03aDUuNmwuNCAyaDdWNnoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJmdWxsc2NyZWVuXzI0cHgiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNNyAxNEg1djVoNXYtMkg3di0zem0tMi00aDJWN2gzVjVINXY1em0xMiA3aC0zdjJoNXYtNWgtMnYzek0xNCA1djJoM3YzaDJWNWgtNXoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJmdWxsc2NyZWVuX2V4aXRfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik01IDE2aDN2M2gydi01SDV2MnptMy04SDV2Mmg1VjVIOHYzem02IDExaDJ2LTNoM3YtMmgtNXY1em0yLTExVjVoLTJ2NWg1VjhoLTN6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iZ2V0X2FwcF8yNHB4Ij48cGF0aCBkPSJNMTkgOWgtNFYzSDl2Nkg1bDcgNyA3LTd6TTUgMTh2MmgxNHYtMkg1eiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9Imdyb3VwX3dvcmtfMjRweCI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6TTggMTcuNWMtMS4zOCAwLTIuNS0xLjEyLTIuNS0yLjVzMS4xMi0yLjUgMi41LTIuNSAyLjUgMS4xMiAyLjUgMi41LTEuMTIgMi41LTIuNSAyLjV6TTkuNSA4YzAtMS4zOCAxLjEyLTIuNSAyLjUtMi41czIuNSAxLjEyIDIuNSAyLjUtMS4xMiAyLjUtMi41IDIuNVM5LjUgOS4zOCA5LjUgOHptNi41IDkuNWMtMS4zOCAwLTIuNS0xLjEyLTIuNS0yLjVzMS4xMi0yLjUgMi41LTIuNSAyLjUgMS4xMiAyLjUgMi41LTEuMTIgMi41LTIuNSAyLjV6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0iaGVscF9vdXRsaW5lXzI0cHgiPjxwYXRoIGQ9Ik0xMSAxOGgydi0yaC0ydjJ6bTEtMTZDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4em0wLTE0Yy0yLjIxIDAtNCAxLjc5LTQgNGgyYzAtMS4xLjktMiAyLTJzMiAuOSAyIDJjMCAyLTMgMS43NS0zIDVoMmMwLTIuMjUgMy0yLjUgMy01IDAtMi4yMS0xLjc5LTQtNC00eiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaWQ9ImltYWdlX3NlYXJjaF8yNHB4Ij48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE4IDEzdjdINFY2aDUuMDJjLjA1LS43MS4yMi0xLjM4LjQ4LTJINGMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtNWwtMi0yem0tMS41IDVoLTExbDIuNzUtMy41MyAxLjk2IDIuMzYgMi43NS0zLjU0em0yLjgtOS4xMWMuNDQtLjcuNy0xLjUxLjctMi4zOUMyMCA0LjAxIDE3Ljk5IDIgMTUuNSAyUzExIDQuMDEgMTEgNi41czIuMDEgNC41IDQuNDkgNC41Yy44OCAwIDEuNy0uMjYgMi4zOS0uN0wyMSAxMy40MiAyMi40MiAxMiAxOS4zIDguODl6TTE1LjUgOUMxNC4xMiA5IDEzIDcuODggMTMgNi41UzE0LjEyIDQgMTUuNSA0IDE4IDUuMTIgMTggNi41IDE2Ljg4IDkgMTUuNSA5eiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9ImluZm9fb3V0bGluZV8yNHB4Ij48cGF0aCBkPSJNMTEgMTdoMnYtNmgtMnY2em0xLTE1QzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQxIDAtOC0zLjU5LTgtOHMzLjU5LTggOC04IDggMy41OSA4IDgtMy41OSA4LTggOHpNMTEgOWgyVjdoLTJ2MnoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0ia2VlcF8yNHB4Ij48Zz48cmVjdCBmaWxsPSJub25lIiBoZWlnaHQ9IjI0IiB3aWR0aD0iMjQiLz48L2c+PGc+PHBhdGggZD0iTTE2LDlWNGwxLDBjMC41NSwwLDEtMC40NSwxLTF2MGMwLTAuNTUtMC40NS0xLTEtMUg3QzYuNDUsMiw2LDIuNDUsNiwzdjAgYzAsMC41NSwwLjQ1LDEsMSwxbDEsMHY1YzAsMS42Ni0xLjM0LDMtMywzaDB2Mmg1Ljk3djdsMSwxbDEtMXYtN0gxOXYtMmgwQzE3LjM0LDEyLDE2LDEwLjY2LDE2LDl6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2c+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaWQ9ImtlZXBfb3V0bGluZV8yNHB4Ij48Zz48cmVjdCBmaWxsPSJub25lIiBoZWlnaHQ9IjI0IiB3aWR0aD0iMjQiLz48L2c+PGc+PHBhdGggZD0iTTE0LDR2NWMwLDEuMTIsMC4zNywyLjE2LDEsM0g5YzAuNjUtMC44NiwxLTEuOSwxLTNWNEgxNCBNMTcsMkg3QzYuNDUsMiw2LDIuNDUsNiwzYzAsMC41NSwwLjQ1LDEsMSwxYzAsMCwwLDAsMCwwbDEsMHY1IGMwLDEuNjYtMS4zNCwzLTMsM3YyaDUuOTd2N2wxLDFsMS0xdi03SDE5di0yYzAsMCwwLDAsMCwwYy0xLjY2LDAtMy0xLjM0LTMtM1Y0bDEsMGMwLDAsMCwwLDAsMGMwLjU1LDAsMS0wLjQ1LDEtMSBDMTgsMi40NSwxNy41NSwyLDE3LDJMMTcsMnoiLz48L2c+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaWQ9ImxpZ2h0X21vZGVfMjRweCI+PHJlY3QgZmlsbD0ibm9uZSIgaGVpZ2h0PSIyNCIgd2lkdGg9IjI0Ii8+PHBhdGggZD0iTTEyLDdjLTIuNzYsMC01LDIuMjQtNSw1czIuMjQsNSw1LDVzNS0yLjI0LDUtNVMxNC43Niw3LDEyLDdMMTIsN3ogTTIsMTNsMiwwYzAuNTUsMCwxLTAuNDUsMS0xcy0wLjQ1LTEtMS0xbC0yLDAgYy0wLjU1LDAtMSwwLjQ1LTEsMVMxLjQ1LDEzLDIsMTN6IE0yMCwxM2wyLDBjMC41NSwwLDEtMC40NSwxLTFzLTAuNDUtMS0xLTFsLTIsMGMtMC41NSwwLTEsMC40NS0xLDFTMTkuNDUsMTMsMjAsMTN6IE0xMSwydjIgYzAsMC41NSwwLjQ1LDEsMSwxczEtMC40NSwxLTFWMmMwLTAuNTUtMC40NS0xLTEtMVMxMSwxLjQ1LDExLDJ6IE0xMSwyMHYyYzAsMC41NSwwLjQ1LDEsMSwxczEtMC40NSwxLTF2LTJjMC0wLjU1LTAuNDUtMS0xLTEgQzExLjQ1LDE5LDExLDE5LjQ1LDExLDIweiBNNS45OSw0LjU4Yy0wLjM5LTAuMzktMS4wMy0wLjM5LTEuNDEsMGMtMC4zOSwwLjM5LTAuMzksMS4wMywwLDEuNDFsMS4wNiwxLjA2IGMwLjM5LDAuMzksMS4wMywwLjM5LDEuNDEsMHMwLjM5LTEuMDMsMC0xLjQxTDUuOTksNC41OHogTTE4LjM2LDE2Ljk1Yy0wLjM5LTAuMzktMS4wMy0wLjM5LTEuNDEsMGMtMC4zOSwwLjM5LTAuMzksMS4wMywwLDEuNDEgbDEuMDYsMS4wNmMwLjM5LDAuMzksMS4wMywwLjM5LDEuNDEsMGMwLjM5LTAuMzksMC4zOS0xLjAzLDAtMS40MUwxOC4zNiwxNi45NXogTTE5LjQyLDUuOTljMC4zOS0wLjM5LDAuMzktMS4wMywwLTEuNDEgYy0wLjM5LTAuMzktMS4wMy0wLjM5LTEuNDEsMGwtMS4wNiwxLjA2Yy0wLjM5LDAuMzktMC4zOSwxLjAzLDAsMS40MXMxLjAzLDAuMzksMS40MSwwTDE5LjQyLDUuOTl6IE03LjA1LDE4LjM2IGMwLjM5LTAuMzksMC4zOS0xLjAzLDAtMS40MWMtMC4zOS0wLjM5LTEuMDMtMC4zOS0xLjQxLDBsLTEuMDYsMS4wNmMtMC4zOSwwLjM5LTAuMzksMS4wMywwLDEuNDFzMS4wMywwLjM5LDEuNDEsMEw3LjA1LDE4LjM2eiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJsaW5lX3dlaWdodF8yNHB4Ij48Zz48cmVjdCBmaWxsPSJub25lIiBoZWlnaHQ9IjI0IiB3aWR0aD0iMjQiIHg9IjAiLz48L2c+PGc+PGc+PGc+PHBhdGggZD0iTTMsMTdoMTh2LTJIM1YxN3ogTTMsMjBoMTh2LTFIM1YyMHogTTMsMTNoMTh2LTNIM1YxM3ogTTMsNHY0aDE4VjRIM3oiLz48L2c+PC9nPjwvZz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJtb3JlX3ZlcnRfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xMiA4YzEuMSAwIDItLjkgMi0ycy0uOS0yLTItMi0yIC45LTIgMiAuOSAyIDIgMnptMCAyYy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnptMCA2Yy0xLjEgMC0yIC45LTIgMnMuOSAyIDIgMiAyLS45IDItMi0uOS0yLTItMnoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjQiIGlkPSJub3RpZmljYXRpb25zX25vbmVfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xMiAyMmMxLjEgMCAyLS45IDItMmgtNGMwIDEuMS45IDIgMiAyem02LTZ2LTVjMC0zLjA3LTEuNjMtNS42NC00LjUtNi4zMlY0YzAtLjgzLS42Ny0xLjUtMS41LTEuNXMtMS41LjY3LTEuNSAxLjV2LjY4QzcuNjQgNS4zNiA2IDcuOTIgNiAxMXY1bC0yIDJ2MWgxNnYtMWwtMi0yem0tMiAxSDh2LTZjMC0yLjQ4IDEuNTEtNC41IDQtNC41czQgMi4wMiA0IDQuNXY2eiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgaWQ9InBhbGV0dGVfMjRweCI+PHBhdGggZD0iTTEyIDNjLTQuOTcgMC05IDQuMDMtOSA5czQuMDMgOSA5IDljLjgzIDAgMS41LS42NyAxLjUtMS41IDAtLjM5LS4xNS0uNzQtLjM5LTEuMDEtLjIzLS4yNi0uMzgtLjYxLS4zOC0uOTkgMC0uODMuNjctMS41IDEuNS0xLjVIMTZjMi43NiAwIDUtMi4yNCA1LTUgMC00LjQyLTQuMDMtOC05LTh6bS01LjUgOWMtLjgzIDAtMS41LS42Ny0xLjUtMS41UzUuNjcgOSA2LjUgOSA4IDkuNjcgOCAxMC41IDcuMzMgMTIgNi41IDEyem0zLTRDOC42NyA4IDggNy4zMyA4IDYuNVM4LjY3IDUgOS41IDVzMS41LjY3IDEuNSAxLjVTMTAuMzMgOCA5LjUgOHptNSAwYy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTMuNjcgNSAxNC41IDVzMS41LjY3IDEuNSAxLjVTMTUuMzMgOCAxNC41IDh6bTMgNGMtLjgzIDAtMS41LS42Ny0xLjUtMS41UzE2LjY3IDkgMTcuNSA5czEuNS42NyAxLjUgMS41LS42NyAxLjUtMS41IDEuNXoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGlkPSJyZWZyZXNoXzI0cHgiPjxwYXRoIGQ9Ik0xNy42NSA2LjM1QzE2LjIgNC45IDE0LjIxIDQgMTIgNGMtNC40MiAwLTcuOTkgMy41OC03Ljk5IDhzMy41NyA4IDcuOTkgOGMzLjczIDAgNi44NC0yLjU1IDcuNzMtNmgtMi4wOGMtLjgyIDIuMzMtMy4wNCA0LTUuNjUgNC0zLjMxIDAtNi0yLjY5LTYtNnMyLjY5LTYgNi02YzEuNjYgMCAzLjE0LjY5IDQuMjIgMS43OEwxMyAxMWg3VjRsLTIuMzUgMi4zNXoiLz48L3N2Zz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGlkPSJzZWFyY2hfMjRweCI+PHBhdGggZD0iTTE1LjUgMTRoLS43OWwtLjI4LS4yN0MxNS40MSAxMi41OSAxNiAxMS4xMSAxNiA5LjUgMTYgNS45MSAxMy4wOSAzIDkuNSAzUzMgNS45MSAzIDkuNSA1LjkxIDE2IDkuNSAxNmMxLjYxIDAgMy4wOS0uNTkgNC4yMy0xLjU3bC4yNy4yOHYuNzlsNSA0Ljk5TDIwLjQ5IDE5bC00Ljk5LTV6bS02IDBDNy4wMSAxNCA1IDExLjk5IDUgOS41UzcuMDEgNSA5LjUgNSAxNCA3LjAxIDE0IDkuNSAxMS45OSAxNCA5LjUgMTR6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0ic2V0dGluZ3NfMjRweCI+PHBhdGggZD0iTTE5LjQzIDEyLjk4Yy4wNC0uMzIuMDctLjY0LjA3LS45OHMtLjAzLS42Ni0uMDctLjk4bDIuMTEtMS42NWMuMTktLjE1LjI0LS40Mi4xMi0uNjRsLTItMy40NmMtLjEyLS4yMi0uMzktLjMtLjYxLS4yMmwtMi40OSAxYy0uNTItLjQtMS4wOC0uNzMtMS42OS0uOThsLS4zOC0yLjY1QzE0LjQ2IDIuMTggMTQuMjUgMiAxNCAyaC00Yy0uMjUgMC0uNDYuMTgtLjQ5LjQybC0uMzggMi42NWMtLjYxLjI1LTEuMTcuNTktMS42OS45OGwtMi40OS0xYy0uMjMtLjA5LS40OSAwLS42MS4yMmwtMiAzLjQ2Yy0uMTMuMjItLjA3LjQ5LjEyLjY0bDIuMTEgMS42NWMtLjA0LjMyLS4wNy42NS0uMDcuOThzLjAzLjY2LjA3Ljk4bC0yLjExIDEuNjVjLS4xOS4xNS0uMjQuNDItLjEyLjY0bDIgMy40NmMuMTIuMjIuMzkuMy42MS4yMmwyLjQ5LTFjLjUyLjQgMS4wOC43MyAxLjY5Ljk4bC4zOCAyLjY1Yy4wMy4yNC4yNC40Mi40OS40Mmg0Yy4yNSAwIC40Ni0uMTguNDktLjQybC4zOC0yLjY1Yy42MS0uMjUgMS4xNy0uNTkgMS42OS0uOThsMi40OSAxYy4yMy4wOS40OSAwIC42MS0uMjJsMi0zLjQ2Yy4xMi0uMjIuMDctLjQ5LS4xMi0uNjRsLTIuMTEtMS42NXpNMTIgMTUuNWMtMS45MyAwLTMuNS0xLjU3LTMuNS0zLjVzMS41Ny0zLjUgMy41LTMuNSAzLjUgMS41NyAzLjUgMy41LTEuNTcgMy41LTMuNSAzLjV6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0ic2V0dGluZ3NfYmFja3VwX3Jlc3RvcmVfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xNCAxMmMwLTEuMS0uOS0yLTItMnMtMiAuOS0yIDIgLjkgMiAyIDIgMi0uOSAyLTJ6bS0yLTljLTQuOTcgMC05IDQuMDMtOSA5SDBsNCA0IDQtNEg1YzAtMy44NyAzLjEzLTcgNy03czcgMy4xMyA3IDctMy4xMyA3LTcgN2MtMS41MSAwLTIuOTEtLjQ5LTQuMDYtMS4zbC0xLjQyIDEuNDRDOC4wNCAyMC4zIDkuOTQgMjEgMTIgMjFjNC45NyAwIDktNC4wMyA5LTlzLTQuMDMtOS05LTl6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBpZD0ic2V0dGluZ3Nfb3ZlcnNjYW5fMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xMi4wMSA1LjVMMTAgOGg0bC0xLjk5LTIuNXpNMTggMTB2NGwyLjUtMS45OUwxOCAxMHpNNiAxMGwtMi41IDIuMDFMNiAxNHYtNHptOCA2aC00bDIuMDEgMi41TDE0IDE2em03LTEzSDNjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMThjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNi4wMUgzVjQuOTloMTh2MTQuMDJ6Ii8+PC9zdmc+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBpZD0idmlzaWJpbGl0eV9vZmZfMjRweCI+PHBhdGggZD0iTTEyIDdjMi43NiAwIDUgMi4yNCA1IDUgMCAuNjUtLjEzIDEuMjYtLjM2IDEuODNsMi45MiAyLjkyYzEuNTEtMS4yNiAyLjctMi44OSAzLjQzLTQuNzUtMS43My00LjM5LTYtNy41LTExLTcuNS0xLjQgMC0yLjc0LjI1LTMuOTguN2wyLjE2IDIuMTZDMTAuNzQgNy4xMyAxMS4zNSA3IDEyIDd6TTIgNC4yN2wyLjI4IDIuMjguNDYuNDZDMy4wOCA4LjMgMS43OCAxMC4wMiAxIDEyYzEuNzMgNC4zOSA2IDcuNSAxMSA3LjUgMS41NSAwIDMuMDMtLjMgNC4zOC0uODRsLjQyLjQyTDE5LjczIDIyIDIxIDIwLjczIDMuMjcgMyAyIDQuMjd6TTcuNTMgOS44bDEuNTUgMS41NWMtLjA1LjIxLS4wOC40My0uMDguNjUgMCAxLjY2IDEuMzQgMyAzIDMgLjIyIDAgLjQ0LS4wMy42NS0uMDhsMS41NSAxLjU1Yy0uNjcuMzMtMS40MS41My0yLjIuNTMtMi43NiAwLTUtMi4yNC01LTUgMC0uNzkuMi0xLjUzLjUzLTIuMnptNC4zMS0uNzhsMy4xNSAzLjE1LjAyLS4xNmMwLTEuNjYtMS4zNC0zLTMtM2wtLjE3LjAxeiIvPjwvc3ZnPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgaWQ9Indhcm5pbmdfMjRweCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xIDIxaDIyTDEyIDIgMSAyMXptMTItM2gtMnYtMmgydjJ6bTAtNGgtMnYtNGgydjR6Ii8+PC9zdmc+PC9kZWZzPjwvc3ZnPgo=","ok":true,"headers":[["content-type","image/svg+xml; charset=utf-8"]],"status":200,"status_text":""},"https://localhost:6006/data/plugins_listing":{"data":"eyJzY2FsYXJzIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IHRydWUsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJzY2FsYXJzIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1zY2FsYXItZGFzaGJvYXJkIn19LCAiY3VzdG9tX3NjYWxhcnMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJDdXN0b20gU2NhbGFycyIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtY3VzdG9tLXNjYWxhci1kYXNoYm9hcmQifX0sICJpbWFnZXMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJpbWFnZXMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWltYWdlLWRhc2hib2FyZCJ9fSwgImF1ZGlvIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAiYXVkaW8iLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWF1ZGlvLWRhc2hib2FyZCJ9fSwgImRlYnVnZ2VyLXYyIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAiRGVidWdnZXIgVjIiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiTkdfQ09NUE9ORU5UIn19LCAiZ3JhcGhzIjogeyJkaXNhYmxlX3JlbG9hZCI6IHRydWUsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJncmFwaHMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWdyYXBoLWRhc2hib2FyZCJ9fSwgImRpc3RyaWJ1dGlvbnMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJkaXN0cmlidXRpb25zIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1kaXN0cmlidXRpb24tZGFzaGJvYXJkIn19LCAiaGlzdG9ncmFtcyI6IHsiZGlzYWJsZV9yZWxvYWQiOiBmYWxzZSwgImVuYWJsZWQiOiBmYWxzZSwgInJlbW92ZV9kb20iOiBmYWxzZSwgInRhYl9uYW1lIjogImhpc3RvZ3JhbXMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLWhpc3RvZ3JhbS1kYXNoYm9hcmQifX0sICJ0ZXh0IjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAidGV4dCIsICJsb2FkaW5nX21lY2hhbmlzbSI6IHsidHlwZSI6ICJDVVNUT01fRUxFTUVOVCIsICJlbGVtZW50X25hbWUiOiAidGYtdGV4dC1kYXNoYm9hcmQifX0sICJwcl9jdXJ2ZXMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJQUiBDdXJ2ZXMiLCAibG9hZGluZ19tZWNoYW5pc20iOiB7InR5cGUiOiAiQ1VTVE9NX0VMRU1FTlQiLCAiZWxlbWVudF9uYW1lIjogInRmLXByLWN1cnZlLWRhc2hib2FyZCJ9fSwgInByb2ZpbGVfcmVkaXJlY3QiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJQcm9maWxlIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1wcm9maWxlLXJlZGlyZWN0LWRhc2hib2FyZCJ9fSwgImhwYXJhbXMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJocGFyYW1zIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJ0Zi1ocGFyYW1zLWRhc2hib2FyZCJ9fSwgIm1lc2giOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogZmFsc2UsICJyZW1vdmVfZG9tIjogZmFsc2UsICJ0YWJfbmFtZSI6ICJtZXNoIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIkNVU1RPTV9FTEVNRU5UIiwgImVsZW1lbnRfbmFtZSI6ICJtZXNoLWRhc2hib2FyZCJ9fSwgInRpbWVzZXJpZXMiOiB7ImRpc2FibGVfcmVsb2FkIjogZmFsc2UsICJlbmFibGVkIjogdHJ1ZSwgInJlbW92ZV9kb20iOiBmYWxzZSwgInRhYl9uYW1lIjogIlRpbWUgU2VyaWVzIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIk5HX0NPTVBPTkVOVCJ9fSwgInByb2plY3RvciI6IHsiZGlzYWJsZV9yZWxvYWQiOiB0cnVlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAicHJvamVjdG9yIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIklGUkFNRSIsICJtb2R1bGVfcGF0aCI6ICIvZGF0YS9wbHVnaW4vcHJvamVjdG9yL2luZGV4LmpzIn19LCAid2hhdGlmIjogeyJkaXNhYmxlX3JlbG9hZCI6IGZhbHNlLCAiZW5hYmxlZCI6IGZhbHNlLCAicmVtb3ZlX2RvbSI6IGZhbHNlLCAidGFiX25hbWUiOiAiV2hhdC1JZiBUb29sIiwgImxvYWRpbmdfbWVjaGFuaXNtIjogeyJ0eXBlIjogIklGUkFNRSIsICJtb2R1bGVfcGF0aCI6ICIvZGF0YS9wbHVnaW4vd2hhdGlmL2luZGV4LmpzIn19fQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/runs":{"data":"WyJTZXAyMV8wMi0yMy0yMV82M2I2Mzg4ZjVmMzQiLCAiU2VwMjFfMDMtMTctMDRfNjNiNjM4OGY1ZjM0IiwgIlNlcDIxXzA1LTQ3LTM3XzhmODYwYzk0ZjA3ZSIsICJTZXAyMV8wOS0wNC01MF84Zjg2MGM5NGYwN2UiLCAiU2VwMjFfMTAtMTgtMThfZDEwZTVkNThiZjRlIiwgIlNlcDIyXzAyLTEyLTE3X2I1Y2NhMjc3ODM3YiIsICJTZXAyMl8wMy00MC0wNl9iNWNjYTI3NzgzN2IiLCAiU2VwMjJfMDgtMjQtMTRfMTdhZTc3ZjhhYmUyIiwgInY4IiwgIlNlcDIyXzEwLTE0LTUyXzE3YWU3N2Y4YWJlMiIsICJ2OSIsICJTZXAyM18wOC0yOC0xOV81NGM1MTQ0ZTliNTAiLCAiU2VwMjNfMDgtNDAtMjRfNTRjNTE0NGU5YjUwIiwgIlNlcDIzXzA5LTAzLTIxXzU0YzUxNDRlOWI1MCIsICJTZXAyM18wOS0yMy0yOF81NGM1MTQ0ZTliNTAiXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/environment":{"data":"eyJ2ZXJzaW9uIjogIjIuOC4wIiwgImRhdGFfbG9jYXRpb24iOiAiLi9ydW5zLyIsICJ3aW5kb3dfdGl0bGUiOiAiIiwgImV4cGVyaW1lbnRfbmFtZSI6ICIiLCAiZXhwZXJpbWVudF9kZXNjcmlwdGlvbiI6ICIiLCAiY3JlYXRpb25fdGltZSI6IDAuMCwgImRlYnVnIjogeyJkYXRhX3Byb3ZpZGVyIjogIkdycGNEYXRhUHJvdmlkZXIoYWRkcj0nbG9jYWxob3N0OjMzOTg3JykiLCAiZmxhZ3MiOiB7ImxvZ2RpciI6ICIuL3J1bnMvIiwgImxvZ2Rpcl9zcGVjIjogIiIsICJob3N0IjogbnVsbCwgImJpbmRfYWxsIjogZmFsc2UsICJwb3J0IjogbnVsbCwgInJldXNlX3BvcnQiOiBmYWxzZSwgImxvYWRfZmFzdCI6ICJhdXRvIiwgImV4dHJhX2RhdGFfc2VydmVyX2ZsYWdzIjogIiIsICJncnBjX2NyZWRzX3R5cGUiOiAibG9jYWwiLCAiZ3JwY19kYXRhX3Byb3ZpZGVyIjogIiIsICJwdXJnZV9vcnBoYW5lZF9kYXRhIjogdHJ1ZSwgImRiIjogIiIsICJkYl9pbXBvcnQiOiBmYWxzZSwgImluc3BlY3QiOiBmYWxzZSwgInZlcnNpb25fdGIiOiBmYWxzZSwgInRhZyI6ICIiLCAiZXZlbnRfZmlsZSI6ICIiLCAicGF0aF9wcmVmaXgiOiAiIiwgIndpbmRvd190aXRsZSI6ICIiLCAibWF4X3JlbG9hZF90aHJlYWRzIjogMSwgInJlbG9hZF9pbnRlcnZhbCI6IDUuMCwgInJlbG9hZF90YXNrIjogImF1dG8iLCAicmVsb2FkX211bHRpZmlsZSI6IG51bGwsICJyZWxvYWRfbXVsdGlmaWxlX2luYWN0aXZlX3NlY3MiOiA4NjQwMCwgImdlbmVyaWNfZGF0YSI6ICJhdXRvIiwgInNhbXBsZXNfcGVyX3BsdWdpbiI6IHt9LCAiY3VzdG9tX3ByZWRpY3RfZm4iOiAiIiwgIndpdF9kYXRhX2RpciI6ICIiLCAiX190ZW5zb3Jib2FyZF9zdWJjb21tYW5kIjogInNlcnZlIn19fQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/font-roboto/RxZJdnzeo3R5zSexge8UUZBw1xU1rKptJj_0jans920.woff2":{"data":"d09GMgABAAAAACokAA4AAAAAUkQAACnNAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmQbmXocg0oGYACGTBEMCu1A1wwLg14AATYCJAOHNgQgBYMAByAbO0QF3Bhn2DiAgX12b1EEGwcBhTGLomxQFmT/lwnmGE77wayn0NBAJAPXITeLlQAVKYYKjM1mpr7CgS0HNgpkY1bqRLvLsXy3dA8XPXqvM/yN+w2v2FOlAb85QmOf5P7Az633/wJaSkUwMImTqgk4GDAic6S4MSrGqFakDCocigoYRBqEHnCIYBIGGExRT1Qeqv3690x3z90AwCasSP6ngswqFUVYHrB8VBQAKcYder52r1wzByMHJRZ//0+nNV9g+H/GsveOK0AqSpwZGZI47CReYMFvJOfQ2hTNUVES1lvdXXeyFKh29/XX4ACRY/9vTgMuqbMdO2B5UFAD4VG4vRkzpRE/HAS4Jss5uTZKgIn5b///mp923r+ZD/x22f0pcYRbsj0ne84XpsZN7mQyee9lwgszWcwvZJLFD4WkECjkFyHriuAA87NMWVUCV9VTC6S6tsdX+ApZK4nU+gqn6ipcefja71ffCTv/vpktBbH4Q8OmUzIhiS6SSKLxDYn4I3iKlCraxSKRmLCxMhnQLaUZLPeL70z9PLvdGe4aJpgghNJhdNDfIYfbP4Zrr4IRvQYW1AHHsRm/MoBA8QMAALCA4nacDoQBD4hYsRCpUiHSpUMwMSGyZUPkyoe4rB6qxyYEAgXAC0AAAgCBiIUA4KZAB3a3PfY7jNipySXnETvz4unnEjtv7bILiMECgG+hS5x7+iUX4AR8gRVUUNx1liijpQ3akVwcN9akGiFf5sfC53+NGKbR5WqKVWK9kAti+AS1eOOOyCvDaIwf8afMcFGbPJk65ZRuuRKVi5n34MXC5+eY8DF3ego/YaXaA/kGJCdNqR9aLDwevIQdJ0mKNBnyFChToUqNBoJTtOk4zZgJM5as2bDlwIkLV+48lSpzznk9evW57Y677uk3YNCQYfc98NAjk55Y9MySZa+9sWLVmnUbNiE0xggsAhGnnKBtjyf2QAgPTgoEFh8Jtbt2fBCTGwppEGEglZ5H9iEjajJmypb9zQ7WcvY+F29zpybfh8pFRalEVy+iPrfdcde9rn89b9acef9Z6HrqQ4ueWbLsjRWr1qx3vfW+d9770LXhbZuHCFeD868+CuUUv9RhOBpeRLDSKRtpW+4JClYxVTYdM1P8F5yw4yEH/bl6XJhQCcKlImFqL9vlsPiIpJtgDl7nnTDswuvDCv+DO1fDk/MxTTZl2ozHg0XCE4hnXuaoUGRvMwJjpuxnZEv+3pQmUBk753x56pZFeGbJ8s2IMhXxINvIiBgzZS/fU4ueWbJ8N5ZJIjmllGuC4g0HW6/PDdHeZGVFrFqzPhRHACMh5SpUzmRow4YNGzamMFQ4soqMGDNtbEWyl05HornGI/8uT9miZ5Ysd70RacWqNeumCoS86xhHXc3Jp1y9CINvDOn62prjoEx81Jz3IVIDWX7co1E3yT++FWYmuuNgIacdlV09TGcJJhPrX4ppsGwDXfCvkmLgAFmk6LCYxAftHyxYL1O0P9FCx9PR3lipv92N96FztJm7THzvXYCZF1CGmPHV7zjxlE+yUMyjYlkzeXrN1+XDXy7mZ4SaH3nFQ7Ww4uDmIe7T/PFaC3qFyJcS82v/iTr6GwvR3ze+XD27dfVbnYZQeRFxzohzSVz399nlr3kVWPXOwUJ5dHBrvN8bC/o9RRmDNlxKMCFjXvucAiWWoH0uC9Id0GRlZgrJ2SxOo/NX1BHQbaQBUf96uxZTd36ybZDQD2eu0GhiDfZmfDlc0VzFOlV8wKy9uuc9zoT+etNtsqFheWuKpVn11wnNyFUttlZgbJzVYnwrmDBpqX3O62J0xc3aVeaABaXbnkaGt5Tna0TncyyvCyiVfDTfNg2Tskx1qffMM0NtN69smvOiem3QnIGRMuk1rbqfMN9WYlYX54kVN9Zr843PpJvb6ivMNl+RmEB/BdWcgMMDITBSlFAjGMdJwzpJBRcNOoQYINvHmOh+Zu4HWLNzkAM9wsX9KDcejslxl1SqgpTK+nJ6LJP32jr7AVDWFUr1sbAX9oI4EVeZok7QfSSpICmKkKY4cpSbPOWhQPdQpggVKkKD8tGk3AhUzCkqSosK0Ka8dOguBhTPkHIg8915deAkWMcGli0ohh3l4ECFuVAublSIO+XiQfnlCI7BobVXOYT4INHaqwJUXCUV1+OO6HUPqn/XBA0YhnPfJMSUx7g9IXde/1qA99R9t0XLOL0eivXGOox6LVwgCIKWCEHQPYSoiOMCDwv1DyhKju6lTFGqFKXO+RXrwA1csBuEYRfwgABq5RhDmLJAVAIMYC0Me1CEI+XlzHGKeeAEnBafdFBUHkXlD0UUK7FHQxAEERAEEUvELYg9ALxA1QMUuICHcCSXIboBRsXRb32AMzlHPf3L87pFpik149XgSKLrYiABJiQbu7XX0EZ3qpa5pRm10HWgNpbmvXY2psKEBVBRiYumxxD0yfF+4RFhcOKf8uTBydDgQG9QA2iNNAqnhUWBFCuRLAAGylcAEIhW6rsQekPBdeKnxE2kSncIhFMQTwLtqlUHw4S5y9CmoHva/VBPrVxRoSAQJgJKgoic9kRheIYBERIBcwcACx1JTRqgQScM5u6itHBr0qhBsxat2rTrgDEjYrt2VZyzqFi6XHNdtxtQ2CIOaKHU/e2ri+Ee7MoA2fSUxbwhIBp/6EsBkrpI3jbygQfuiQiOrDHBHxAwqwyQgDwGALBLnUWCBAxYjpb9+Roy/wk3QM6CbfsB0CABSxQAnySXXv93+42ZtuaTv23HZhtjsRhL87XmG8w3mW8+33q+NN/tvsvue+KI0PgLi4TLN3UaMG7Gus+UbHrWnK8332j4spfb2B4r9owh3GMQ/P1r9sv3jkH4J/6/8X/35zeIF4eOyoczmc/Yz+9yx8tGBoAK8xg3HB/3Xk/VY2LM+/9p0k2ZNuOxJxgy/GvWnHn/WcCUORZ+dZZsb73z3gcbcmziBQDI4H0igCRkjW8HQ0ISbLrkpsva+aYOt3TqF2HAqN40JtW4af1pRo/H5k34z4I0Ty2b8twLDC+t+jetYVr3ydP0WaYvtr323Q9ZfvrtbfojJ/2tNjOyY0BujRxSHRqQl9GXAgoy+mFAYUY/DiiqJdZsXwtAMZBYr30DAKVAYqNqk4BzWWLzgAtZYuuAylpiWbUUUJUldguoyRKXBdRmiScCLuYjazwIlyBQnNDxd6jn4zYgH2sRfLeGyBuBeX8dvQgt3Aq6mTwCBwO5ip6gBxjoGBZbM34NE52ChI4XgbqSgsMohHqFmIhSL8HR1+qELePMETQQxH8ATAWSCRJ80KkVSFyshn4rVqc4xO4K9/sBbZUfGmjTrPCOlAJr8aYOsysMEbR4GDZjo5nqxAmguf2d+5ll4+q6dZTUZq1hMoksN66UXJTBBGyt+DrbhMcLq9Bk+7CpxVTXjuuYlC46w3z6kfH9bpWmwC9ElhFLbSMmAlXH7IyhWaYUCy19n4kkfj+MNwH1CXMxzHzrLGoTEVEJIpwww/SO24xCz4blyGgkPPISNVwJHMS8s9eaLgV7MO1MMFVxzgWKDObEffRpbR65hHZghKBm46hPHQIbxBUaIedU2SrMOQQSCxSYE85BZDigzEa1QKgIKEMqmHOWKIr7/orgvAATAUj2mnDy/ahrDOXUW7VsRjmHFUELlLgbeqsOaSaMtOVts1bo7cfGG5ZmMnzyvz7a9D8A49yfhKY0fT2zRlfuOMrMoba1d2Hf2SfChT0yvB6uDam/YVYHeti3rIR00JWgXBrYWqccXULUgWBDLc56ozkbZOKZwbkbwr43STuwCuPa2d9GGGB7Fc7RbV2Y1ryEAPZ+fo+bAVMVWitQuWZzibW7iEwCHXQ7lilW/mPjcU90+t1SKzITRy0tdDnD32eBJegGqTt8gwv7C7U0By0yLHifOEbuQI/HKbSqiN2A7cIrLxEuI4jzhl62d8SsW0WgmoflnBB4zekZkQIL7kLPmy8SnYVExDCJn/vsvX46iwidi74aH8QGlQbnqrSnHdb+O9sslbarcTLIeXWoS3vjlXrP/Atapqv5ib+Vp+qjuFwuDUd/fyHu9CVTIq+qFWJV1Ca09xxlk3lq/Sq37HDeHFvIRQz0Bit3uYQ2MH0kRGaKWNr6gj0uyh0nEF3uif0c7nh4lCgrKdH9hQwYPB6dSzZHuxICRr/dIPICn1SQxKhh5hC5lEbayfHCibqcyA3ZtYkTVgm64xjTZc9SxrTlX5q0if+LMeMTHtRHRueOGGKjMO15oLHaiPWlWmRl/IO10evXz7Uh09LcSPILgN4V8uqJuvCbsexNLzoP3QgU4zJftrAt4TZuhNhSaFJDq30QNy+xijFVzLR5y1ZKXp6namdX7u3I6Z6K8vco9tBP1UZPnALuwG2CMSEhWTElyCqRQIzcxyntYtKFHuO26n2pAIJzuhqKmVWMk0lxlhMvhrOMcQYnpoV7MSCclFSNxvg5F/MSasrgQr4o9P/8ce7LjPQpQTUxFy4xpt29wJlYCQSLskVnUbXUlJD+kq+gImoiUOysTerfknkgSGBDUDKkls/jNmRXBzLzuE4Pph76s3u6BjIpbNN2/uUtpLEO4NfUee3hd2ICHNJIbu7KwOJmXM0OKEjTZcEy+gJZO1A8QqI9juOkuT8zAuZZP3b47Ea8GRr/Yqom6GrAfgurEO3uc8eXUoGKktCRgBAsVnVIoJf9NmMuK5NrsY9ALjf2gU9eNkQ3qYUTAKnCxlt0ZamUlmPRKIzah/3WyZgfmmfwywWHYariaOMQdaAnLtycQZ5AEUKtcuPbwWIRiIXc0guTOqWrEHyCxSaVinmQAkGenh5YyHy4OjCmRFbrOukQ0opaxEEb9LTnu4pMNA5oajIR6FNAvzNYBLI5H1jCNkosMq20DStOahu6Tl25xsb5RqciLQK1kSpeRs15JKSgo+2DBNpTgyY1mugTZwLBQyFZ2LYikcEqfUfXzD5bqRfbmJc7cYYTstDGs2DiLeG4oBCqhtfubuK8OpzZGwftSZqHgjNcMqO0bGJkQTvYWwXWjfQkKZ/6Gt0O9Ma9RrPA7FkHm4ogchaY4T0BfhuQpl0SlqxIwD6dfNlAQepRTVGp5sm+1YGJbv55UKec+VpxVrICAWlg8rr/IVfIahPZWyD4cFFDlIMc+CTZ15JKxmYxJL5x33PQTi4/jNDXsEHs6OL1DQlR6YioBK1LayaotNggHdb6wZHpOYgdxN2h7EuKiQ2Cu82lamU02Q63JmZzS29vUgECR0IeX+G5RNlpnEnO7QNnchXLXsAOlQQHHeTBg7EsUtguvOiQEKbkgjf0n6GjHfqwIC4SWja8GiY+QtaysAIH+Xtc/S34rotjyJiIgZU5ikRm+iLHHqKCu1qwRWEv3fudKN0MuGkIb7vVjGeHHxCp9OWJ6ErT2plncvoXMmdytfNnJjFy1gw9xNMkd0saBFfI4o1358aFbq/Y7HG+0KmQY85AZYiQxA0RN7R7GoFWI0woIEO6jdfg5/lv1W9L8MdgGrzibDAjUzPbmi3IYPDcUi4SpawuXitn7HSA2yOtc0ts4mgYWjYsiSiVXBuGBQjXZXxxpS2Jq6yBdvXRk6hLpa/aV6B4YBjv08cEdkBW/TjBgnZNauhzxqZs3IZtaqmJYIwCdm2CuAwGScMv6WjknojNJSYEDVznSdIe4CUSKBCkndAmwd2jkRJS/wOiqKUozXfWEQvrk2GMFeh/k3cHmd+e5nwHpxKCSAEShab0a9gp/nOaf2S/o/xG9ll8TwiBm+JxaYSCbbEJObCxpFX4W0prjI5tAu+5849d5//w4G4tCb/Zm21f/T+Nbt3FsPz5tFFX9NlIbH+MUDEgQNPWNDZJoT5NdbIxox4IqtKPpOXydp7MulwVpi68NL3QjJdbr8VparAvCppfbCLx6mT+zMWP3/nLtb88S5po6i/tPz5fgrJign1I+C8ng+NvE7413p9rF168tNQhevfryFZSZJG3V0igtyMl6O9ysaVvgGqGS8vU4x6h4YtDo7tnP42xk5KyqVHRYYBXqWC0NOfkNTdnG6U3N+VkdtbnteAMzOxO65jaGRsbmNknmTiQDx9VYHY0ZGa1N+ST0xqbRVsbs1uw+hYOOkQjG1NTQ3NbbR0zW5Pf7ATySWpUAhnss/zDmi+ftaPolRu2TY+xLj7oy3F1rQgy9SGLmmrRS//lS2yb2xGz9qqistCVV0fiKdba0at0F5p/aiJS2moXkBRu+nbeQdPeSo9s6wkCN9L3MS9ieyHZcj2+9pNhhq58fh6l8yaHGNjLty5eiJdnZuh+NoqrBqvTz2Orv9swifLM8rOdS0p795yfyM/+IJ+ZrP3pVDKTYxpEhh8pOKo1y1L5Ha/zu0tFqbapOo5zFQVfP9S1p9gfZN4cTnie0LXRlfQ8qXwDaslp5pouMkwwuPsMOiE4aBZsOflG+ED4727GZgRNYxN9XVNjqrEZDCT0H52X7Qe9I/6E9zqfNz6qoQo7hPeaXz69V0QVtoQnI+7F0SO60X6TR2fG42gRPegI/N26X+yk+swhIP7btCIQRHWqtgyiJvtGpxYmsjNiZl/SSme/zt4Ji/uYe943oR5EfcllEZB2JjQoNCrSJzHSlR0ZfWs2gLH4Y3HYJ6Hd5x+6VMLVuBHe9WdPeF70sb1S6GFnUulRZzPjmYVAUOK4MXxDn61Pw5dKkhZ+SWJaEr0OQcdji2X+J/qSrn6ayTNrXK+e/51eTOBfc/d+4AuOj/SLTLiYk5FdGavnesQG1Hbfun/wIcp+umecGndz8Pmu/55jhWYX+XVxtsnULo8PN60YzgdNTK5k3ltIvMyZ3AAkf+lj/tJ/txSbX4a/APGYQkhYo4f8GZW4W9QBzMuFp9hX/bT43ghFd/nQxpC+T08fTX56yqdsHZrCmE1KDwtJSF6Kiz+44xkW1xdC9fcLpfWF0kDxtXdsSt3AG95nRWffzaXmLyFkYf0c3xov9MD9o/Po6sQzfuNk2yPGnpfTh58ktDOyE5tANdr8BVvFmjaoYk1lgw6b1+OBR5THfQ94Fx/8+pMaQh1UQ6ifwL0tQ7dm6M75BLKHm4+LQ5CXLRthbUwO33/58Fbd+Zq4GF0TpJCtdsrY6DQxgiXDv0ihT/A8P5cl7t3QuqBkyjQ1KTn3SXBi15Uk3FBBuF2KtIOuspLQaEZA2iKuQyBSJ5M4IjfcFcW5wfM5x+3gjWm7m5JfjmeNTykE/wmZd3no/oT7OI/gcnfKl+2fAYtdlacfU3kzjfOs1Tw9Dtic3BCSj8idAS1FWxWaDccRf9abIzQWp+/BxieuUAY4Fvs7MjriF3Ix8B/aoRRWwiT+2bfdReP76Bm04DfrWNneH9EMik9onGfaNlh0Le5++w/2ZydnfaE8OpE1Vawp0HL9y3Hc3o87gtUlOQUNrM/I29SN5u915eUZwlWyP5KdgzJtdaceGU/Xayq0jHL7rYg1jM/+QN5ab07+HAGdqByHgdsPegDH6nrUXeIA2teCTYJ/A45V8+hSlwlYwl2LgL3B127ta6hQQSejTE5FibMPfNr/6oc0nqOV9RXdiNwYw3YNWTseODkgBdYpsPNZbubQi/z2yPXYgYs7lzpH5DLsHv9+jP02v/J9dXKHGkUNC4hh0kGVWt851nI32nLbW34r7WccHf7nJBTdL39QUjEWHBhliem7iam4kUWM/VI0VWzF54bYrLdoykuh+WAdCb8fK+PiuvyukOrm4/sF1q+vzZfqCbVf7xJpP3caZmzmzhkItfsJtZYTYXYHu3UTaa7vAeS93ec+XGNz99/tivYf+A04luzXg78fz4tu/j75QCEzPykmujAvEVEH65Jr02lyNKefQ3Wlql8fGbLOE13d/MS/sdu3fjfXnfSd/UYPV1NLqlVBTPHgBw12eq/mS/JGElUMPfh2af/CphSmRNIYyekID2g8pnsxAz2DA4ljCfdZB9+sVmxGZE4l7UQVpGQkZAV7WpVSbP0mUzwbI2/umf9Uy0ktmcz+nVCXeYHBoIApdmVs5dfK0KN0MJ1jTb6V4v/+/3HuzUc7UyWlF4qOqYxBmdbeY2f3SIyyvkk0sHaD1eUgfqzRr9041pagnaRgtyT7OrL5i/+YoaCf4SxIlV5R5Dt26/HgsqTGbs3dJ4aWex4fg/DfFl2iB9MrRP+IHiyt2Aep97kfaNXLixA3Hh26BIdHZxoA79hwtwI4nlQAYsD6fAIv+xngqaASOJ5U3m0CvGMTiNs1dj2akplvk56fBM2U/vL+cpAoe/yAT243YP7wGJyNaa6b7M3ugJ5P5WQ7dz8v22AbItuZVvnAMfHeq3to+9sSKQdBtNMoyeD/R+mZme4Ohm42QDoitPNSevRecBYPdQnwwH4mKP7a2KvjnFt4VvzV6NrT2feIeRej4luQNtDocKUHY8xXMX60zvv+tDdcxzH7vnNIrQxuvcTdXMW4RdPdopNboUOSldQOFsf+X5cbbg+my7ABD0s8EaHpN++9V9z60pDUQyvXZ0zppZZHJ/eBk/D6wSNbB68k/HmVn7v8eR/qM8ydUV1FbwpipiUQvRYo3KSLfnG5AgnTQhyxZxLgCbOhu8G3e3y4m0gWxN2lq3Ze91rqXmKC9bGdjZMjvcEp3KHP9s1xfntFf+1DsIwqjmDUx+amJRsHUa/e+yz75Vsdoy+61DBxST+uNIZxF/YMj0Rn33TB5gyz+yK93DxKyKk4NuCBLZLZBDYiqmG4XvkGaaiTjRiGRrC3nlDZWN95kTQz4KQQi6bXidRmn02HhHsPXftVUw8Zq2PFQ3ei90GytP9z2iNCwEeeYYw9tWygNcxf7xxFBsbZA4HOnkG2QU4iZFhlT2Dv3SvRihZgE2D3CgGfQC8atsGlPWTfDXTy8S8lM1A2ASxOXEz88yar7JnAPu63nJfifq1kn1sVUvizxdmUfWc7q7+3Pq8/lp57B0io0K83MgPXKFSEDbjFl1xhlNSesZcn8F9wV1LuxpQT417qJp6jpvWBxfE/69JjN4KT+CgLgFtk7wRHtA69k9v61ph2h1pkELdhQCugMnrhH2W378pNmskrbMJbXIxjXrXKAVg8rkshfVe2kbzh2JT34fbNoY/9F9iGgW4OVn7GOhru2gd0rjhYxDqWfOkeyZj2PNvkvYG1p7v5evkagdicLkd/d7+bDv60TMsdmz3moqr+17qvcYDCAIWSOMrqnhy+y+6bauvSTuJiE1bh54v8tvhfe6mEf/fWE3aApGjZ9n5TiEqYWF97szYhxCBsdr5efn0LACd9+U1E7I/x/ndm/gy//TFjEV7YHj1bxoitPPcR2FT9cueJm5uemMURt70jqnhIHiQOhV88Ni8+YlkJXoFePnjPuVeD1wZfz6LXu5evKsrntqvjfi68andpd30zh/vZrg52fE2Av9cEYotXNTB/ZtZv2N+wfz+N+XNVQz73hlLXSu/Eq6FrQ69Gb19b6VYC82Eh1t3nBSYJ6hey9CROkMwC7QbbbiyWmTAIRel6hyVJthF20FL+GGGgiABNXYNsoqtHNtFQJ5vo6ZJNwKLDmR6Is1zBZI48KhZ/P/H+5uGHB5f2zz08dPPwq4mXNeI9/2GqVvCeNKrr2i51ILOS2mHH4K9mnrbrgfv7HtgEyYS74nsuj1dxfHnw89259ac93zyDgjycA1KDOL+ojwNpJqQ26eGDmsSU9LxCZpZv1ehEaH1hSV5hflFl1MBQJbWoNL+o9Byl9sGgd1VOXn6RRlp8TNjkXerSXVro5MfQh3eoz+9SQx/CEWFLnBef3f33FfI58uflZXdkVc6r5KhU/HC4LwiZfOKr4hOr26tgNDje0+rE9O3t4Bt9v31oYfoLhFfRs2LzPCzNM1z61G4r3Q1zuxDW0+xMVCRl+rUKPVz7zPPyEZtSlBwTn+NhY0d3SAscjHSuUAqzEjEVD5FMsPaxL5O7pvIiSo5mnekFuDkHJT1SNInkRyJF65EmFD78Ow0Gr+0qOi8T78x2n+m8N1tb115fXu3lauPkFpAZTYsOzHB1drbyaWA0lu8XbK27KFBXdciu8pBAI1Go5fwha4GmB33OJmMpxmN9zmV9zuSJoUGj8dvO4DkgQDKzTohOiwsOb4rpCFBOpuoaKSm08wV1pmRlXyhiaHnvs/JMlbI92pxNMQX7U4pOoHU4egIb30YCh4WrNVsLPJzAEY9FF+vzNvsutDETaXQd4n7l8Do86ZxA1eAlM10985qMQgM3bTVDQ4Ib5INKA+/V2qsgShuhXKhZOl8ZGlZZuVRdQ8lU1TdUVdE3pZBNg4zIID2c7jjuyFhg+I/7xy4IH/tlPWINXZV+ifuxkQEkGTsVgq6uWh+1uSKzsCr5bEiwv7dDbuRZEBgJs2Z4H7XTUSCeONrnWx+fVnglJpjOVCqTKqCwEgszW5PO9J3QV9E6PSbjnwFuIKwGu0XkhkFUn5CA5DmlUpoJMUJswgu8vSulNNZMbWgLcIvA4LRa4/w9P8f1Z+0w4FiQf59gbM40MSecMjcm6poagzbaUC5WEtxGq8Jn6RnKycgaHrHEHsoBpLKXMCFfEh4tDBxU70v3htT6BxuNLt4eqqm9O1zXifVxC7OycAkBLytvtzBLC7fQAKCVIfEqRUYWAcHOXhQPbzdnp2Df1e/efpwemno10dNQecXVzZzMFSWyraZhaMKISRWvjAnQIiGN33b7lu0RFVXWy1GmwPljo/uF75+3VgyMFcsEs5BTumOytJzw4Do1jEgggs2RjdXr2V2fbuJS3lK0OTQUSJorJwl3Xhst8HMoaCrZqh4ArVMDptOGyYd8CQ52mRutevc4Gv85c7D0mLlq8Lbo96oojSX65avg5sS44Ef21kk24Fhbi2vbiUWpz3PTYxGI27KeX9mcuj3f16Ij5q0fuZsoeZJo21VqlWXattAzZtV6wklh6GHSMTVvZ3uSooFLR6ZVppVT4oS5tauXVQ9mGyy8RH7nXiKazdkyWeNXq2s32971k109Apxco5z0vgiV7PSMvghnpDHHkdlN9EP2Lc6c8zXMbIrmoFGDgfrMabWUHkIm4cHjkUCE7mGo62ahdG3dNyl7V9LIwTOhsaByfO9vzmKbxkT8SnFezqvExFdZ5ZFrkwmMkkgXhebE2IdM89C2M4nWl6VNhjYVWczrdPPQgjXkb6pukZTTVJ6U1xQekTXeAaQow6+zX7e79I1No4xN9EmzWqZNsXU3CYaR3KUETWNjGzamzLVRHA8bFhT7Tw9XEMtm2t35ALnkU3NqsnxLtfq0t4zXqma7V5yNZZpukk6XlOOz+oEUJfT9tdxQEf3iHJfY0sHRrNHXx/Fb2Ma03mh2iGlsAhuiZsC3UTi2ibOklBdpIbQXCXKXN8c3Crv9Mvg7PeEwcNtIYb9vIK/GGT7Xy51TcFttsGsGXE784Jd7+TODRbS96R4K85voRlYrd05RDc25QNpQ0aLGUOcRMeZ7bkdGx/YbvpPoF87WjN5YekbPQCPzbgwts1dHoM+eniUcc2NfRGQsqKh84BkuryqrGuTjFy6E3QEy7slxrQl0L+8EemtSnMC0vC5RTp54WkFOR89HRw9Uae/Ck4q9JFOCTrWJnTCSK+MITyr31LzkrHLCSR4EG8XizVwYaGHFXA54BswA91eIN3NOQ4tr53ICg2agXTrO3C4JLS1dzAA3/2lgaSeZ22Wh1fcX+yBE7YyC73dikrljPqb84eJNX/8l4EzHeMbE+AXSY3yOe0RHB/rGRCFucEp0u6DpUIbwoYwm2HW95UX9rtguhJbQ/1cOQu3KLj9cx5W2inAPCfGH9P0pcPwQB9Ke354yH1IH759/xH5TGAfFH/kf9j9/uY2zzjffL8UPdLbCchm/u208JBNICr4x6JplVXLYYt+xiWz5qAhfL2/9ue45ZqDncpXLT/vzmYz0uG4oObvzx+8NN+eHRuJI8oBbZa8+R1MFHn98IlP+bIbNpDKnhJbvVeKqEqcWh9wmuIa+YTTXfRvYon2xpqWopLaltqKmpqO46GJ7bR9PCy0Kre1poUdgLgDPY5z+j4KHpud5z7rbdQGcMaE/7lIX+7bmwDtJuXzjnJ1w6SI5PTcjLuZKRV5qezri04u1jqIlauiR9EhkOHr0yIXiLA9eb0P9EBozP47eVMEsbW2sUnzyaf15ebOs7tG1Y8XJqiQDNSp0tNm0jdgkdZ+LgXNEaqRaulYK5VJsQV5dTEhKulakGjW4kpaaVkkTP6S65UKUp/wdbp1rdRhxkJT32gVrqroaLknM7MSYljpG7uUG5Nyp/54tvADh0sIYa582i6MGRrpEFWWiuab6KRJcy7vdejvud/wYOrmrQ3UPZzdAdj4bsl16trMHJwj9C8BBaPxKa5K4nayl8ATWSLdXfZuqajai9urlaXVLWl1S43gaFezUNHGc2viWGFVqfMapNI6ZqJrQkGIdrVlpSR2gMlMI5Rq69DmzV4hdMrcHAWfs9BAoTZU2Z769bOXxZc3VFkp4xWibBOFYwgTorrQA9CHSRO6XW+RWuU1ulzugk+IJJrd2XG6lfjva1JwnrQ15Fhg+vshoU78zxce0UticGgUkldh2f/wL0iv1vW3a8KS1TM8CWeMproOsp/4470mj6lkw1MdTho+p9Irw0VTODQiyMjyVlWFRVoYll3JHw5maAiAoawJL1qzs8owCRFg7UwQYHKuvA6APmyGAR8X+5eSiA+FGlKvISqHXVEyywqAtG9PLQDYOESOUrdi5bKecB7mT9W/92UnbzKds/CivQ1ggaPNaTYebto+Dm7It2LtszSNuSJ/mqPEUqaYzG67KzmDhcq440LVTrjHdCbAH3C3KLoZujDGxdgHfzSH/3ziKTf8HIG18azVlTW7R07J2d0c5mZEt3MkFd2eAu7W3sVJe7p0CX/6/fltthFVFKkqjtj7zaoWWRHyaxBAL0BcngJzxrUs1ANWoinudxTTyo7X3vEkF7WDJOkHMB/f2PmpRAYPiGEZh1PFXRQ6uOCwmCQHcLjO1QlaXT8roV1cmYLFRH/qIMoDdb6ZdyDqrc40JgDyupesAej3axsPANaHW0d+K3v6VKQO4dWcnBYyNfnCmBlndj15UYmvdLQVZXYXCAbDvSi53l78mgAvp6tvmI7ycB8vFRn4rC7Z0d8UzgaupqRsZLwDkzv5TIUDPRtu4pZzR/x9ttS/uo2IB5q++zRLVtCeAC/F3TemP0Fvzeym4EC8U3sW+Oa/B+37nEQDoFmu8ZrzdTlxV63fOfcsBAMDIT4LbAYC5ZvPd/8f+n1vebbmzALigAAAQwHHeYgTAdW6gdaFbBSKcajPz+Ekgi2VtdCuFUcG/XvOq0KvaX/LtBzg0FzbxQEo8IZXZxItGvw3ZH5eQQ0tmykBTWTCTZmJNLIkKSSU0YkCCXm33OCStrZMrQacrTnHJSMkVWjMprt2WUOdV1jUFdIKyYhLzf/dFofSrNUJPXZ0h23k0yS4yQ7itdzJmqjhwsrzqj+7MMqlnKY2qS+yyhGbcFLoA6XqJo95gFYoY6USEG+HNc6lmNUzcTbHsuFSqhFJgWYx5103ZxjzZymZTZ8QGj8RAxo2ShcMjb9pOU86KrQLkSLnRmOFGDjONFpx1CXp+s6dvOVx4h3IVL7nbxFUagep8f8S7NVocxKxEfnWDR6/hXkQ87T9Z9YNLZnCf9Dlmsfx8zbHCJMebeqYquSWXCc/YpjXvmnpUiazbSnKTQegpCAFh2s9hSjah52vufYbz9A+ryVFgrtCbZYzt0mfeGYLrgbJalzUNMqomgVWMVFks67y0EFM46+Y3I3DNNWVxTUwuiOvSaiYFqW2Ab7tDuU1RShGhKY6YnJTioazeKCeihEYwu6wmG9tUK49HpautZqJ1h+zsKPQcWAqIKVEnqsSSmJtqnhheK9M0WhgtmepO47uVyu7QWpqtDIeIjQmvctt4GOq3VGnMpi5Rs9OaD+OCoIJ9ijAlxEZ3q8K2cSvUZp3SmC0KHW3jbeojAD4qtIcFXFQPgB+g0B3g59viFAADqeUBeIDyWIQYj2NR/GIqMalKLI7FOYHJ8JDbG+VnZwxJhEixogQLFIRKghIFiqMigSxCBQ3lf2Jj4XzJMV2HhIZtGOJsxPx3x1+U6Iz5JTk2Ivg0hJqUYJ7IBqMJo7HA0wrlnUoclChnBYvwhxO5lcrUnXqV0epC08uiW50qEoH8CHRHjrfInPkG3P3JiRAlkIUK83VE+Guys6hlxhiJAQu2q5B9cEhhYPBIf8/JTwAA","ok":true,"headers":[["content-type","font/woff2"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/tags":{"data":"eyJTZXAyM18wOS0yMy0yOF81NGM1MTQ0ZTliNTAiOiB7Ikxvc3MvdmFsaWQiOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifSwgIkxvc3MvdHJhaW4iOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifX0sICJTZXAyM18wOS0wMy0yMV81NGM1MTQ0ZTliNTAiOiB7Ikxvc3MvdmFsaWQiOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifSwgIkxvc3MvdHJhaW4iOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifX0sICJTZXAyMl8xMC0xNC01Ml8xN2FlNzdmOGFiZTIiOiB7Ikxvc3MvdmFsaWQiOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifSwgIkxvc3MvdHJhaW4iOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifX0sICJTZXAyMl8wMy00MC0wNl9iNWNjYTI3NzgzN2IiOiB7Ikxvc3MvdHJhaW4iOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifSwgIkxvc3MvdmFsaWQiOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifX0sICJTZXAyMl8wMi0xMi0xN19iNWNjYTI3NzgzN2IiOiB7Ikxvc3MvdmFsaWQiOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifSwgIkxvc3MvdHJhaW4iOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifX0sICJTZXAyM18wOC0yOC0xOV81NGM1MTQ0ZTliNTAiOiB7Ikxvc3MvdHJhaW4iOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifSwgIkxvc3MvdmFsaWQiOiB7ImRpc3BsYXlOYW1lIjogIiIsICJkZXNjcmlwdGlvbiI6ICIifX0sICJ2OCI6IHsiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgIlNlcDIxXzEwLTE4LTE4X2QxMGU1ZDU4YmY0ZSI6IHsiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgIlNlcDIzXzA4LTQwLTI0XzU0YzUxNDRlOWI1MCI6IHsiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgIlNlcDIyXzA4LTI0LTE0XzE3YWU3N2Y4YWJlMiI6IHsiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgIlNlcDIxXzAyLTIzLTIxXzYzYjYzODhmNWYzNCI6IHsiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgIlNlcDIxXzAzLTE3LTA0XzYzYjYzODhmNWYzNCI6IHsiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgIlNlcDIxXzA5LTA0LTUwXzhmODYwYzk0ZjA3ZSI6IHsiTG9zcy90cmFpbiI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9LCAiTG9zcy92YWxpZCI6IHsiZGlzcGxheU5hbWUiOiAiIiwgImRlc2NyaXB0aW9uIjogIiJ9fSwgInY5IjogeyJMb3NzL3RyYWluIjogeyJkaXNwbGF5TmFtZSI6ICIiLCAiZGVzY3JpcHRpb24iOiAiIn0sICJMb3NzL3ZhbGlkIjogeyJkaXNwbGF5TmFtZSI6ICIiLCAiZGVzY3JpcHRpb24iOiAiIn19LCAiU2VwMjFfMDUtNDctMzdfOGY4NjBjOTRmMDdlIjogeyJMb3NzL3RyYWluIjogeyJkaXNwbGF5TmFtZSI6ICIiLCAiZGVzY3JpcHRpb24iOiAiIn0sICJMb3NzL3ZhbGlkIjogeyJkaXNwbGF5TmFtZSI6ICIiLCAiZGVzY3JpcHRpb24iOiAiIn19fQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/font-roboto/Hgo13k-tfSpn0qi1SFdUfZBw1xU1rKptJj_0jans920.woff2":{"data":"d09GMgABAAAAACp8AA4AAAAAUwAAACokAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmQbmUAcg0oGYACGTBEMCu882RYLg14AATYCJAOHNgQgBYJ8ByAbB0Wzon60XsEcRckcrcr+ywTtCAu7vIkKUSLAEkX79qHYsVrOIXiSMp377A39RgODYjP02tCGSQRohCSzPDz5F++ZOzNvvxxoA3ZwF1dQBbkTWP2kVEVi7w/83Hp/Y6PDGnqCKCJlUaKURMVGDUdvMDJHVIg4QBAkokTKpsw6k0LdbmmVFEuwwOtQpqUCDdCJ2b0GBxDpf/9u9j+XQGQGIl+tEq1VOr0S2T2sZ9/yxZFpIOkgKdrXFN+0M4foFz9c20sDSrJUtd8OCK1oKHa27U18eptmu8+6n1sZZrwh1iFPj21mdFClKFNUq/93o939u+KbE5lkB2SZJB2R5cAGsWTqrUM7zIdYBXl6atOlKtOWiEXbpgo81PXj7dWfHuECB1Jm2+HuZL8f70TNAaYHlnBAUZgNm3JkGG03jk1xP/499lO/h8a025fRsa1BIErglKnQ8fHzfnMpUDgA2BYKi5NUIDQ4QIQIgYgWDRErFiJBAkSyZIhU6RBVaqF0ewuBQAEzgDkQoECEQIBppKlg2GIrPTMQ2TfEnwgiB/rjvUHkMOfAGyCCAZD/FKAcur//DWACClAwQAGBpUlB5GIAtizHa0ttKaeKQm2vQ3WjLhTVQKGY0BvBgRIKqVANlwisjyMh0ppQ1Deh+NGEqrmqWJVvR6sBXG61pUbIcN+o7fsN1YWeG1N63ISEowypb1sGWKzY8DpJ3CkSTjtHmhx5511wiQJFylRcoU2HHkPGTJiyYMWGLXuOcuTKV6Bbj3t69ek3YNCQYSNGTZsxa868FVu2PfTIczt27dl34I23EJdyAwMFfBTxUCZghQAEb+JI40oBPPzwTqYFqckPl/DRyMe08rXrBG3owhTmxS1yn3W+YpMv2NPI6flaXgooRLGrJy3cQy/60I8B12qP3ccaHmAdG67NXtvCNh7iEXawiz3s48D1olde4hVeu970wtsMwjaH99Tmno4VDtFZAeNSrlHIXYr5hnI+ssI6gwG6/lZhafUuYcKQGyyyk21O8pl0F5anRKe+hKRJzioM2PG5intH5jlnvABOsOE15+h57j1YUvnOZcECFrGE5QH5YHFhVcVk89DKF64D2tCFORWrpzfpHFxyGfkocG32wha28RCPBmallW9chzZ0YY50bGIL23iIR92j6eBkRZYtblimWt8BdrGHfRwMjMGVcXiQh0IUU5XwBm/wBm/wRsbArPTgGMKouGlGscxMtljtDPousId9HHCk8eGjnchRVvmebT6Bxp77ruYXziqNopPv7ulXENErGQ4s+RyvBEcuYqbr2GmL3GDVUKy+Fj7ZKiznRWelhByWnEOKchUiN+kQOtihuhEG0J8bccBhQuqyeXrnTrum1lzT8jWp2mttvd+rXmrFWQVIfwX5paKwooXeF1k1MKMFSTfeC7JJvONjX+SHa4rSa/WkWSiSb/fh3hfYv4gLkMKyVHDm+2ltX5m8yJ7Zj+T0P384/U+tXkEdC+GzK+QVhIv8inJt93vWy/aEFWd2g4oPFenBdtqonu5m1d3tTZW48eREz/uAHZAvcedZrc/Z2ZBl7ZbD+VW1lVH3UtjKlWmNTW66A2eK6YxQXGCt7o8ih+Tr9u/et9hB7qnKD2j5a5i4Z9KsXOmQ+czviLa92Z982e1vGSa/gQdzLk/G24L+OfYP7itOpkh5++FJX0EunXxrrYAP7qX7eG+L2sz/9h83iBO6mH7laRzKccmdjdbuSS2w9+gvrXKTz/at3rbWE5gza5LxXcakfbfXdMP6xUO5j0tdabfOe5ev7B89BnJbvZQWauCDDYLpIrhE4fmNdpIEBpLkMbtERT9r0CJMGx6mFx9hzMxRFh5nE59gx8F/UmJxOQqdUvxdSrdHznnugHke87CFcr5fBBHkUDiUWBQxhYnL7ZQICTGkZHFOVtIKkBMhL59LsrssCwVFKCpESS7KslGRk4ZYmjLSyvxqzTAFhmqCgSlEM5ORhbxsZGYnD3uZOcghpTDmeEdBeciHcr3VYKHCBoFwKLkY0WMAyuB/3IaMwpg2D7FgGYsVitms2oC1GfPb8giT520GOw6g0Rsxww33kQ83sgCGM3wFS44oZ1gUKQXJiXJelIuZA7EZFpjhhxdOWOFqsKraELpcEJRAw3BEM4cIS9lYZwxiC5jAdGQXC1HSRElvI7JkE8AQbvjghu/I5y6KAIAtKPRAwQxrYDw/guAGOsE7e7/wGsZi+ukydWme9zxdUpnlFWHcdBcNHJ3NTcyqyq1Mrh6ktI2hnrTtVQtpR0P9yp1NdLkOk6PJsGPejIsG6rax+x1B8gGx/3dnPpA8zNPdGS6AQ2nG60cE+fiDkZAZgArFfpACYdfq1hcvVOAKcZBlx1exPgowcdUHjmrjNRnlbeurgqLfPvZhR61kpJob9SfpQOg1EJ7ycT9eWB0N8FQRgGw66oOyZnCnVokV0Y9MCYsG9eo0atLspha32r0VRNb1baECBKJr067DHZ1QEHyOALWRiiQM6Nd1OVBWeGiuLyOEPpR6zFPA6sDmVoettzPUAlWw0jws/AU4YFQcgIPcDGibdDpcqEGDNV9WLeXh2bCAchCGogdsBIeBEDBThEr5t9agCYv2vfcPkSmmMRFb8XDMhxPBHcUdx4nhFHDquONwi8fz7x+YCadSleJzD5m05MCHU8SkNy9OCHd47Mvdl/yWuwRyBEsOg/wh+PTl26TwTf3p/B0RqEKRBXJh7fST5zENEFDpawHrYY+J1v7H63WjdZv64frlx4i1YNGSZSvixFt135oH1m1IkPiD9gknSfbCS6+89kaKt9gAJXsfe3UUa+YWFWOchEZuwb24FYuxL7kb9+EePIgj8RAexwPkCZyKJ/EiHiQv4X68jDfwFN7EWzgNb+N9vIAP8CHOwEf4HK+SL3AWvsSPeJv8hLPxM/7AJ/gTf+Ec/I3/8RWZ4DySwvflZW3R+c6yo7CT6ILyeEJ0UXm8I7q4PN4TXeIczxcWiC51jpcUlhZd7hwvKywvuqp8vJLo2vLxaqLrnOONhU1E15ePtxDdWD4+TnRT+XhxyM2+pcAIboFAYarPf2YX+CGpvIeFOPMLceFeq6w/gTgKoAOPf8ccgYGG2FEPQNWhofLt/UALE/2mIyCoiUWA8u69T4ycPEbW3F4KAyVXBYbCtFbWDIAcu3egbYgijIKBSmtD3rZHg70UQqd9HYL1m5HgXPSvCAYWDOYwKN7mdOwa82gYrBC4l+W7YTuzMlPOrQBlwS/rf4hsqNQT0ZlDuzeZesi9DmVE0YpagF3r3PY2r9MVxxBTw2Hco1tnXKeDMuJAF1gsIMfjOmbAN1QXPTaSPaYCbcTshjElittS+z/nIl4/b9ZtQGSp2g1zHq1K41Qq7QFeCq6YYH7Dc1act4bNyMpcOWb3gdM0dyI+PWsGO50zEbTHmFCU3YtPIP04/5T7OCK1C77qhjQKb+TGUupLBOix9GHsmjPRi4XI1AiCigGn2ZgTpNVfKSstJaBY0ohrqVDeESsYjADmyaEiQtD64s8Ll5k9zYqF67Ram0p57DSqUwp1KYL2qu0iZU4uuafHGZIUzA/Lbp1zH7cp+VncGlW+u15Bul4rudhswtRWUi+ttiILG20q/+z4wOwPqX+o9gZy2NehB66FNVd4NRro0wqm4aTRZO/iiU0XCpl4YpiHYW0aOeEH8nhtpJV6KtIKO8h74pAu7IpgKUkDYKbDl3dUHnW4w08ZXtMxr2jrw0QmQAtrbcEUdRrS9zvQ7u9W6ZKaqpIdPYcBZ0OfG7xnLXsSYjof7vz2Ab8AR+H4rujx0VQdMg3PM+cokxlNDuMJMWHaGNJ0Rfk+kAWTf1009M98UKgRNLn+y5AIhhvD5j7PKyKGSIyXtSqbH9XMK6Gf3cnYdAy85G7oXdgsD4irnbLXImb7v5s3q9X6r1HsSfXtaptuM9pu/wkHteuoCqHP95OsuN1HphiTTkLsaTN5ZnvaiRx4g3gGLpd/Yi4bLbK4pKJVuFnlZkG6Phpl7KRdA6SrPzFppuJzTWST5rbdgy5L0O4MJlaMC7r4dPbKxEIQmEzFlvfnruhciE7XzhrtnkOe0USojrcyvQeZQNpa/Zv9WoyHHeiuGrEKWY4fYbJraxfWRlMprZXocIL5lOaP/8zbtZLTcCxjYnGpWmCj1FRZ86AMand3Su7LE40xRdnVeUGzTA/dVbM8B5hoivq182/t2V/4mirsvY66MUq9uJDrI/g0Ot2gespzFY0XL7+SKcKExsowxTf6JqTl++Ic0Ok5PDvF4IxCK2qjkxpNDy4QtjMvMMYELnsoDMhe7AriwA4ekL0R21UGh9R70/+ZdCbZ1t6gs4yyUwCzDGFZ5XJqmDs5Asx0Le2pVHLjxclmg04GIdxQGUMnwdL8LFIBDsWoW3ktMIWwVhnP+4K6agDowkRGVZn8jsqOCBlqoKCYlTjJz3k1eODW10lDTcflpoMhxO4l6MrkQSRsdNbMPBo9bNEwPrOSdY6ezTs+lrZGmnpQY/ZZIC1DyjNjOjqHlpZRyyXNd+ZVEMoleF5+i9Vxwi1foWkjhI8lwzFbKbqEPY7idhBST44a75IK9XCsd7mzTsbOuNSwXvCSXSlRLY8tArQFhNT7n+U5KKjGuluuQ/ZkOccGNfHQysY5LL3hutJgXHpyhEP9zmOPaK8fLdSYhEwHuoLbogcvj2XudCGKXCynsEsLUlkBrOEYmQbLUW7gl0tzpqoAJgS55SycCwUTUxqeEosN32jpJNHJUg2MzYX0hse5st1NKhhUchjvkL7ApR6ioKFOEgMPwm+dk9rkGla1ajkHb8jlUGaeBBsW2Fa5mFEZBnTqgQtLmC7kHZzRoEH1BjoU9TWd+cyswCZCXQRO208HPaFk9UL5zFUf0zWnCrbDpCGR0swhjHlHWprAOZSksdvo51vt71uyWcnolYB0FTuT4fm1F49PRbA8XrgjlScpL4Dn6vndtJm/jkn9X3OR9fsWNuK+x+ekfHmC589NrdoMGrktOpNFk43qvZRnTTvP9zS2aOEm+3h2ZsKu+5T0mOZsb6mU3pKWWl+4/ZrZZUSXvhLoOI2i2WqKfS8O03WdTT28eU2AjhSHxLw7ypQ8PhCW7+SNpPBTCiTHkBmJMgTXOHeHc2FjD9q7na2WxKWa8Yk5HqujY3lyNItQQxKQzSTMW/NlNYgmwItXI2cuqmaGAFtJSeOyXAt5YPMsU9Eetk5dMQhV/eq78AM7ohXTU/AS/9O9Ep7WG1s17oShrQgNnEst9OGam5O8LGUOojRXOb4aQJp7GJGWL1zgQG0qFYlu8B/F+tnM4XtFrz77kQUzRT2Gp1WeOBsxdrozEryYyTMRuze2TcCmETjB3TJ1cNQ4ZAHzQNvuRQW2dEdzQHo8r3I9gflbwYhaMyM40VkBtURhRp+mw9yUSsks19NaH/TC330nLVdxRVYWp6q6aogZW5i+zlWTuif/GE/EmPgYjnB8YtJsmytjbBqKvxfd5k1nKkAixEIK1bB3blMaczMgwHpHM/7FTMexvWR5QTEuhYW6evbeSbd+IbboMFVAe8GynImOj5qeA5mvhjd1cSnRSK4BKtKxE8/7KgECClcH07ranaNROF2Zd7NSPN5om6XkLAC2mn5Ot6bcI4SnGLiiE47zBL6mXXjfr2k0cgwVFv7qId4RM2TCrd18jzs8y3QmtDm5arXv2itPt0lvtIeMAYY+hsbbAYaRO0Yj+D0reacKjdgnIfZoOJRLArdDYUx1XscH9BaOi87p9QHn+UDeS0aoMefXqVE0RreFD0UKekWu387+2XdNugWdJAwqXElQFNyie07f59F/9r2FWrftb4ohoAjbX4fupIy0TpVnmp0jJTWTMzfZZwgztzmHDibJZdXd6bTy3DBKVoJDcDnRINejdm6qnX0A3z/Ftv18nFLaSa+htRcA9n5hTGXzj8rmJK2o8uYwak1DihPWnkC2NHejOGnbu1PMTD3IbuKjZ2Mqm75VN6ZoPdQlOTI4bBAsunbRdiIEWpi5B7l+P9A5JxnoX76sQVhNxMLDoNa4qLOtKPVmZVhmXUoFNWPZJvse6Udk88RBZniWgf6CZcDS5/vtXmF9pUFNA7bNemqa+euPV0Yr8mM7ytF8kqEJdTGuf4x9dAy8PWxcAsKB42QAl7QNg3g+AVJ1t0jF62ZU7cNGV6WiO/DfVeTHlh2i68RcVWd6EbrrJsR8QJQe3mrXjKP00YWzRv1Jx4S9RceoRilH9RgI17P+jSaVgEDOC13vY266oWg/D8ZAtQicm57/45NmKmvSs1JmShC00+vb+zzkebtv+0oIxHBqytmEoGJKgsKXgNPwCf4JZGqdGDJa0nxoNAcpYT5i2LNEuOLvKP9M5eHG3iXUaYzcjuL2xo40+hQZ87P6X111zf/I56P/NzJWVdYi8AO6KIDBpWb7vr/LB8KZdp/OU2mOPVYpVZW0nDu9+WTqjek5/9ipp8udhIiPFXfyZv6AsJxwmHvRdaMI07Systy09tpEip/fvWk8dWJnvc8zjh5wJvFkandU7+eduZgN9+B7YZTU4dbCkpbygux7RV0UuBC9toPf8aX43lI/feJ3rMSJbRFVeVvYfKk5vkHyk30daFg2/vJftb/zZ3Hg9SrXQABXbkNhRmn5+N3Ktuli8/DTGsog39nryYE5I8vJpWjSYxMw9JzpAc1zZzwichkj9YGS6Nqiid7C+48l4NwJAyPvS9NaHjW1tCyCap232J53uFidjhKhH1TkL/vFtntLhJ8uGIzo/bO1vPp7sy8sazjitLdEZLtf54u1qFfrmBPeScOtUoM3BXpqK0p6a1CuGuEt9QlJjZWxUY0lyYnNpXDxWvUV+34CKaw/0v1ZQuaN1xMxMdufZUWIKYap1gLgfpoBzXnMYoQyQBP303jc/aWM1rnb2tD6GBZpd89EyLVRneXaQiNAOUD5mtc1jHQG8rI5E1JU+eVQZ1rz1DAg5yBBihnjI5eMjjqphMfRyJTsJCSQjNRsjjW2TEy1EJ37ksJ9HToT9I+3iot59LeAmHgL+FQjDNnOP1sS/J1D8Ly23sMDackfuec4qoP/DtB89ANO66nKXmYOMIi0pBZ+YJrnybUudFw1WRmNFvxeGqE0v23Xdqb9qGH8rKzHT/en7fWsIqz8D1siX33951w2Fakb/8NDa6JOj+VfSfQ1aVtSNV33AihVFeblFUQfD6IH4bUSJe2CXOdRE4ZuwNBbX30c6vMLrfc6EXGoeDhy+MfGY+9eM7/y7sqMRHppaSjBqAjVmBKf1hrXJge6HyeE9gQ+v6j+UZV4Cgb6RxLP/K2uf8Xxm/9x2Fl//MQrcUz7790zo8Oj3QLdvF+1BR2HqsvPjSSMlp09WnOP+7zWE759fmmGqF/cZ58AKI/cazLh9EgBDD3ek+VkEyhXNzY0UgFDT/BkvdAA+tK3rthw4ZtuMtdknYHh7nMyDqhn3LvCU1SRioXahrm3okwt9b5/V1KTK/xktHGKlEQPFLwPu6d6jz2fSlOlhYHB87MEuU562L8f3n2dvr/zaJJaXldekNp6FymDfytz08xfP2NuqRruEudECd5T+SDnvuihCxh6GPB30kXzMKKdmNrV0kOZk0X3GBxFx/610giGeeALVd7s8eMwui0l7/bkSSgYjCRPp5xDapr+XSZeyJ9Mk0VqjaAqVRw1EsrJ+FZicfbDabZC9HupheWXp1lB1siYx1r/sIM9mJ3//fiDn3tQR29TYcG99ptIOBjEJC9lyycaMO2b6Z4CYwHzelRNuiSM1fAcuaEZqUmTmQqFsqUZ4V3l0muJ1Lp9g4M8u//mS8yz2bSateRT3l7ssdL+kyElvbfTikeb2mzhCkIIaUobjXDXyfFsaeBZepC1SwqfpIblzd5paRjPpZDaUhO9pv3xFT4tPIvPisEnbjyKWrzXNtg8nwfaGlqfAaNFldX6ydMJdM7Tn0N25OaLwIJ9vp8Mj16HbnYvz3gszXZtwY2OCNrh2t+Jonv0YHpFJ8BYkuSzC+u8YzIk3jiZ85vndrgCxSMEzenBfLUB/2WcyOD/LyBYUIMeAeJy14vcc57Nf3iW20BtomZ/fPZ8Pgdc8g6titBwO2n/Uf/DraZlwzv3WA8h+wsMrzQ9H1vB0QciK4B9s0LQAcZuHUBj6EFi2LNBANgoXRXTJayuyNy1iDnPzqXA0w9sJB4EwkUc3i/+3odDbi98nglmghYPg6uK8YiVT+nQrfhy7N3Xm9RAWlxyeE2kDRmi3/fd7ly6g6qCMpw+23dzSl/Aaad3D9qR6QiSbQIZVGV5/jw51f88oIEhxxewQHb1oz8devwfhox6UPeiIKDC9xTxhfXsbm79SzhjFN6YhiUFMLj4VffZEtd+iP/8r5L0dSk+rX1/lbElgDGiviSyuv3l6onF9gPwFvv99PTwtn+LIxmw4MuQ4V/zpHdXEijYxbp3BY/sRn7brWwXNLwBFd6Ux4nUTwVnSin/r9MixvfZXqoxCHavfKl0ytZQ1NO5FDvAzfs7sXuctz6ZnaGkYRQ+bXS4dMTWN7YVqFcyuR5SdPUJ9UtAuaA2wFvs79NTw4/8b2NKfP9bfvl5ym/OTcH0mlZEye38BjqqNMm/4mHfzpl/kT2AeWzHv0u4lxFJ62fELRer4HTX06e1aRRGJ8iTkElJjyc1p5wK2iNrJReOUxQoaZeSna2nPq/XD9z3FXrzM8rSLhxHXPqk2ud7FJPFB9T7xcVuqbdCKS4ptowCWKCs+4aU5RfMTH7yy4DjHzYJcOUqoG8rOnc43wD15ctuw8QgOyx1hTINmaGpqVFIWzVz4BxlBVKikhL8qqLEIvYpCvuF3TvZreTa6XFDtoeqANaSpZT/H6akbbBK/RQuo/zcTkxfZ+vbkplGpn7UVMs9zQmG2c7X+XpXTv+cBdXjI76u+h4HlZwiA2aLhCkMbHk88vAkhoxebHpfeKPMU8KN8bRdhbNPQeMHPLNHt/3qMdm+O/MoYkFF6wP4/WJZaXyXv+54j0fSqdzDs6DpHUig71uc8S0OwwUfkBWCkJsOgyuycyB7ldea5n1MqdxAz884aq2+oXOrPZPiWB4eEkzzMDMOtlLQLjXVDTJLfljT3v+qK42C9agOTAgv8gF+vCH/U5enyzaqlnpHrzEzOD81ppJoqSuTLpP8cF412bv07a2OKWRsiNx2/ieD+gNOikIgvKnly8mjCqsrOAu7KVCh/Ae3naAzl5oSgYv3/CE/AQ/2HZUw3jsKBG5Xm5lZbl5rAm+tAhXex5zoot3giRBLl5v+RNPDxYZdPB0+3eQdpUUf3v1Ethq7d4YdXNasiBYnPeWzhONkYuGV2yDe1EoCTQ1z57WGsJwGmaZnvY8YDzwOMHvQ1fCsUVbY4LP+5bVvd6/f1fu4iz7xyQgE2PGAHcADk1pogz7x9M+QGnfza03ps66wQbNs/e69J5ijW5nxUW/TswYZMHD5nVc/GH097EJnpeUpWWuXIF9vyKvqS9CJU7Y1vqbiKHvRyj3cB261kSBQOIwpD3+8X2/eMr+a1I2ojSlMfgGMKXOjOZy7lL1ugdUjL/97vHK8R+AhZbuYc3IZU+Ktf1hz4pj4kFtXrV967Hm4SArb82ojxkz8fR7dTKJTD9/0dK2stFET83Kiw3PoJUyiVh6gSY/X15o08nteW1BcZmZeXklt2N6Ja25oNrOob6pNbalNb2oxt2xujW56uh7SWF1jbqEaQ02Jev8sJSr6SWrku5TUmHePEuFJYsw74Ngi3k+hvbtsTZgjWBHUqeouVi5zLtaX09+lQjk7moKeonyjgMbH226hKUSczTmn1Bu1vwY3fYYuql2K95sjI6ULrW2VvSl++ur2FfrOjrcIVjS8W2CaJ85cyjaVWIWMrD398Wyekj3YVVXXkxRgqGxfoFsuOSrbR7BML3znzRYUYG2q6VipO3PR9hCJLdbfwiU+qOUiMOUF/rxpndfr7zz2/IMEmjyOhTVVkl2rnTatd++frqssdH264RVZlW6bEF5N9CJ6Bss9DaVXy53saGwQbauX7Wivkz5Ob7h5srPinNmtmXvWOhNR2hP3rGfGOyx1libGdRY6LSFp6JWJhXdiUGyg2436kOpUZXNDe2MbguZ1LwyhLiYhLIuWoGgnbKFvdN5f8XVj9H52BChEx1AO3/GSBPwGxxIdcbIztJBS/v/EbKKjXu443eAEvVa+nV517njHzcbj9DrphQ/WLlqonLLQ8Pi0K1rCF4mFjGoJXITVbGsdbZtem05jD1MNc4vrnkgrnNO44u3sDeJuMx7p6W74DNpCVvYELTuNoGZlGWduqaZhbn3tqrU1iPEqJxISu0hd5YTyLpLAf5/V8GpQXKioe+Wyp4/2FSM9Q0t7K21PYln673QqAR8UQni21AVcd0wtjBAHLSUVc21jPUdtBU+nUio5KotMuKRrryFYJZFDKKPGRFdHuHupeBiZWdrpXqMtaANvF2TtC3oCd65C2J3w7uS4Iv/DASiKgg+2yPnWWrdFGDMZMFvQxETMfxQQdD91jfnv7lPA0KF67sSg0RPNx0YD8G2wli/frsw7Catv7at6UcHijBXj4QhYLPQqONCwUfPiAKZAYhF9IDuHPlDuUHS7Pzunra/Cm8HfN97D1T+W4hgQEDflnxgEYq1IqExQb6+PkUdsdHxqFDk9FQmkIHXLYzfbZyZvkTynaQlmmlgiop5oYD5r0O8DyHDFme3FZV/kpzsRugRw+gRtYfsBc5ksdpScMti144kW9gaG5vZ7OcqT2zAwwHu7eSdsy7wX5+RW4ZG00XnXLCfBeuSNT3NSvRrdc9/Ed4DQFdVyTEiheOyr4JjBHG6ZFzOxq4bpYp8feZkWpXJ/aXm+0qU1Mlbxvn3Uns9PV9Am6hTA0Mm5/uplg81CXc35aOCkuE8NbDQXDTSmKIg4akYJGUtfMnEfSLdKMsxe7ag16zwXKeqmVySnFpoT6aJs6dsVb5ug7xT+xMw+PNj2O1oGDLn4UieIik6KzjveqU09jZllD9vnUBxWcRE5ETF10Z7BbJkvOrrC6V7inoqufb6BY08/IBteX49MDz5v6UkJkrLIjFXNdLO9Z7soCck3Q5g80M4xpEsnCuM6RnkaqMeKK9tBtlPw7f+YghsVpL/TaRExq6HU50l779gn3Vr0FK5J/GxoeJoie30+Mslz/poY4aNWfeowRfY62pVfSMzkliOpqn25x926vdwNn976YxWuPY/bD9xX0TIQ/vOx+ZFRP1jNr3uEv+s5/QoH11l7LfeXOaKlIb+2E9OItqcMKh1cZlw1fd4Wkm9o9qsrCZmK6Jy2rZr+OfuAxf1q5zshOQE1UYuqqR9zoOq/9Dr7Hy1IAcZKil1g08N8y3s5CLOEdZmL7zPEURQo4JsJen18oaWfcxLZkCaFlnjur3ml8R28Wj9B9hyPJhPO69JC8QHsn4LY4wefMMLT8zvP2MBesozyaysxhbadohynGL6WFTG+92Pb6feRnvFPxSv+wXLGcclfkh5lXKYqRW8lp68z5QqbaXz8a3Xl2NdFwdGJ76rj3xe0n03E3J3mKY86mt3QDZJ3vrCQGrrqu3zY3/7VA0bzACNfHyNDP4n6eNf7XU/PQPbqVVkZNVW58xpXz8lcUwPpznkn30ATvUyfy+feXrJG2RHJFtJqoj3DElKqVy8Bxz6Plqx1ECoxiuxrp9METGa6mnLWFFRcbDB+GUj7ozlNbjAGQxEZvxSE951YhaKSa8gxm/ZRcQDLEFRKDWV1QdZ7Q7yrqQneCdE7ZYx3NDXDOxvDwWneWE+xUF6xUE9g66CLRUbNa57DmwyJFO1fdgTtPVOOR66G+9HGx4kgvCizV8AR//8Pn0RhDg1ZD9UO2QxxHDnzv2vcUWYi6bjPxIM3uzU2NbU1oBLTqkZQg92NOy53SLd6B24mpCvwEkLkI74jPn9c/myoT9VCckG0nCMu7qSc1KAkq++PFKi52VIc9kMJMBvk/NU2z627MPmw72jvvy5/N8gb8xvJF56Uw+VH7+qbt4rCayiA6TOBdkF3uyhQEnz9S5Gu62SNxpzGuNi8BqQyszr7dkKifBav9WANtAq1on/LDbAOt7r9P7D0ROr/XlzgibSK7PXszUBfTRMkJSOiUc8gMk06ccGWfGTn6kmHsKykoNBMWmJAUSjW1QOr7nhN43aHvqO9jemxdhD9fMRaWZBfxyY2MIVGDswrCouvqElRXXm4O4GK97rsoSAl7UDwMdV1JBga2ztA9vqNdZJP7561OYRpKGvZTmoIm7mou5eRY+PLyO7qpq6aQlNaNspumUGh1Kxg08Ur7gbVeH1VdcL1WjddviYFW93ruuY6ikrWmto6ltrAb6lpFR2Unh1MKa8ITcyuQ7I0V1bWZoAfzHnFkTpE1UHJUM7L2dNY3+lGpYMbPGjrJHQW/YkwHI4ur835+mEdld4u8gCr4fkBjPDkh1pCvMFeCotLs1Qy+226pKjn24lUOg+KlxZjYHX1+TUKeellRQATRk0xDG5Er1gb9mVr37qKlJV6V1OVB8+g0bkooqnybdB7XjXYWmUGgwMOUO1VyingyvEbQModoD7XT5BWWCisnii3SR2uFx9cTSCuRQOuIU2kmdwkLeRWSetBgQXuxGpOimlVLwJF8Y17UBl0p1non2nuqJ/Wq9mVUfSLqkPcFVKe53eHRKu6f8hVcA8qje40d4mX46y7eta7BzFwp6UD8TJlZSwrOEtONUmraBE5+wfiTvOvf6Y/iJHl1WxdFpBUKYqEgf0A3Gm+ES9LmUqqKudNDXKQdUA07FHEnSajf6Z0zDavZoazxAEYouWwJNrSDCDa9gDiThNDvKxUSFL7As0GQStXDOVzyUWIl2kCB0nG1MO0wSIABnYKuNEkemCPZ7G8mi1rAY5lYm0PBXeaZMvrjWVP5VeBlQy8tgGgqpfacIJ9V4L8f3KeiS+5K/ajSLaLlCYfjmjsjiq3qtYyAaqrWqXTwNBP7K3ccAOCO/+m96iI1pZc+USQs3etLtfmHLIDD/WmG6xYgLvyRwtQSjGKoqu3soz0SOndUxRKtxD1QsApXdA7qVjIgaGMgbvpRlZEfVoyYRRc0ekoaB+PFM+IDBEkUMxP7ES9DfYx3bi8zUZXgVzMxgI7KLuBWou2NDvzr7bmmpgHCEbzbv02EhSeb/bNSIsQZXJCYoPqydWMFIlMZwBLgnbP6Dw3XMFMDgAV/Rt5aI1DsQscJup1rhmwoctZGwAq+rdi4/kclLX7FxUk/OjM1Ucy6a+yD8QSvUcpqM/1bdorWNwAQEUwINuV4wqPZmYGqOjfxhyHm+hW+gAet+kRIFaeV/y1GD+UfmcSngKAxy63FACvH5NPf+L+rDGLTAkApkIBFDA6bMIGMHXDFfGvBiva1UN9P2ncTCu/bDfnC4pCT0ZrYN5IAvpLPu0NYrFDjnRpUUK04h1pcXRLEqXQIVNeyqpnHd2rU4B2eMIFamhEDPThVQxfWkWWDEpNUD99H3ntpLBazWxkwK/9g+Xbge4uK7Yr627p0KOmR1Jk9aYiIWp13Wl1Nku4GBjesLO3ZryEt7cPqzek8+ls/azaJPl+TXV779hIknLbc7HNEGrTbMprNVWcNK0uqDvTr4GQ0ObetLk1kpJ2jEPzR2zH2US9K813WLab0jIrr6xm4bw+G7B5JCi/4esblQ1LOhgx2qbZ7ICPbIJ294V1k9jABFfqLuk6D9eMbBm11MuY9jRzD5U1rO60Zovcstn3aT4NR6j0qWjrCNVP8oDnXVOU1TrUZi9s8LIEr6IVCxlNmVns0pOHpxWqwlqg6jrPtHxXUz5xwbOPqMUSa6WAPidgYAO34YLg2sJqpI27SbPHbnMPuNvoCoYx5q1BXktzvQWybhEqypTGUQjiyI1D9VUZVEGVyqtfUDFICi9ELtydSnEmEW5cw5N6GA/F8mV3UfXhjIjn4lzzqcQuxUZi2jLVNT3SzdaVoeLsoNihhwhYQguKIMIJKjB06cYuSyiCCCeowNDQtWFqk6luS9SWOiyobTG78hIGOjuEGWf+9R3YVGGY5Jpqak/MZjoi1Iao/bQjB5apfE7xDOYqfH22UxgmwSukdrNd4CDADzIIsIaBAMwCAXUMLASYggANacwA9gAvfRFCHPqicAi2o5vsDNAXQ0ycjgVpfroczIxQQ+IrhD9P7jwEwpElTebjwtFCkiER4QfWdoMrKf2qAtFvwsAD3rxQvAB4/oLhuZFigsQFSSASHD1KRpXtLgiRM2Dh8hfAk9/oG1Ktci5SlOS0F8WMdZZtswP5UnAuOshpKc58obuujIwnhcSf+7xEnlzh3ZDRw/d+jh5tajQYMKXhbL8+6azgxtKLmxoAAA==","ok":true,"headers":[["content-type","font/woff2"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_02-23-21_63b6388f5f34&tag=Loss%2Ftrain":{"data":"W1sxNjYzNzI3MDA4LjI1ODk1NDMsIDksIDEzNC4yNDQxNzExNDI1NzgxMl0sIFsxNjYzNzI3MDA4LjYyMDQ0NTUsIDM2LCAzOS4yNjkwMTYyNjU4NjkxNF0sIFsxNjYzNzI3MDA4LjcyODc2NjIsIDQ1LCAzNC4zNjc5ODQ3NzE3Mjg1MTZdLCBbMTY2MzcyNzAwOS40MDUzODQ1LCA5OSwgMjcuMjA0MzQ1NzAzMTI1XSwgWzE2NjM3MjcwMDkuNTIyNzY4LCAxMDgsIDMwLjQ1ODY5MDY0MzMxMDU0N10sIFsxNjYzNzI3MDEwLjAyMTgxMTcsIDEzNSwgMjIuMDg3NTk4ODAwNjU5MThdLCBbMTY2MzcyNzAxMC4xNDMxNTA4LCAxNDQsIDIxLjk3MDkwOTExODY1MjM0NF0sIFsxNjYzNzI3MDEwLjQ4NjEwMTIsIDE3MSwgMTcuMTE1NjQ2MzYyMzA0Njg4XSwgWzE2NjM3MjcwMTAuNjE5NzQ0LCAxODAsIDE0LjQyOTYyNTUxMTE2OTQzNF0sIFsxNjYzNzI3MDEwLjczMTUzMDcsIDE4OSwgMTIuNDMxOTQxMDMyNDA5NjY4XSwgWzE2NjM3MjcwMTAuOTY1NTc1NSwgMjA3LCA5LjQyMTExMjA2MDU0Njg3NV0sIFsxNjYzNzI3MDExLjA5NTU5ODIsIDIxNiwgOS45ODAwNTY3NjI2OTUzMTJdLCBbMTY2MzcyNzAxMS40NDM3OTMsIDI0MywgMjIuMDUyMTMxNjUyODMyMDNdLCBbMTY2MzcyNzAxMS41NTMyOTYzLCAyNTIsIDI0LjAzOTQyODcxMDkzNzVdLCBbMTY2MzcyNzAxMS43NTM0NTYsIDI3MCwgMTMuMzgyNTg5MzQwMjA5OTYxXSwgWzE2NjM3MjcwMTIuMjEzNDUzLCAzMDYsIDYuNTU1MDMxMjk5NTkxMDY0NV0sIFsxNjYzNzI3MDEyLjU4NTUyNywgMzMzLCAxMS4wMjA0MzE1MTg1NTQ2ODhdLCBbMTY2MzcyNzAxMi42OTYwMjA4LCAzNDIsIDkuNTgzODA3OTQ1MjUxNDY1XSwgWzE2NjM3MjcwMTIuODAyMTIxNCwgMzUxLCA4LjU5MDE3MTgxMzk2NDg0NF0sIFsxNjYzNzI3MDEyLjkwNjg4NDcsIDM2MCwgNi42OTc4NTg4MTA0MjQ4MDVdLCBbMTY2MzcyNzAxMy4wMjgwMzU5LCAzNjksIDkuODI2MTY3MTA2NjI4NDE4XSwgWzE2NjM3MjcwMTMuODA2MTk2NSwgNDMyLCA2LjI1NzY0MjI2OTEzNDUyMTVdLCBbMTY2MzcyNzAxMy45MTY1NTQyLCA0NDEsIDcuNDk5MjE5NDE3NTcyMDIxNV0sIFsxNjYzNzI3MDE0LjAzOTM0NiwgNDUwLCA3LjM0MzMwMTc3MzA3MTI4OV0sIFsxNjYzNzI3MDE0LjI2NDk5MjcsIDQ2OCwgOC44MTkwMDUwMTI1MTIyMDddLCBbMTY2MzcyNzAxNC4zODYwNzY3LCA0NzcsIDcuNjI1NDczMDIyNDYwOTM3NV0sIFsxNjYzNzI3MDE0LjYzNDQxMiwgNDk1LCA2LjA3MTcxMDEwOTcxMDY5M10sIFsxNjYzNzI3MDE0LjczODM3NTcsIDUwNCwgNy4zMDM5ODUxMTg4NjU5NjddLCBbMTY2MzcyNzAxNC45NjU3NTk4LCA1MjIsIDYuNzM1OTI1MTk3NjAxMzE4XSwgWzE2NjM3MjcwMTUuMzI5NTcyNywgNTQ5LCA1LjI4OTAyNDgyOTg2NDUwMl0sIFsxNjYzNzI3MDE1LjQzMzQ5OSwgNTU4LCA1LjM3MDgyMTk1MjgxOTgyNF0sIFsxNjYzNzI3MDE1LjUyNTUzMywgNTY3LCA3LjAwOTk1OTIyMDg4NjIzMDVdLCBbMTY2MzcyNzAxNS42MTc0NjM2LCA1NzYsIDcuNTc5NTA2ODc0MDg0NDczXSwgWzE2NjM3MjcwMTUuODEzNTM5NywgNTk0LCA1Ljk4OTcxOTg2NzcwNjI5OV0sIFsxNjYzNzI3MDE1LjkxOTE5NzgsIDYwMywgNS4xNDI3MzMwOTcwNzY0MTZdLCBbMTY2MzcyNzAxNi4wMTg5ODcyLCA2MTIsIDUuNDc0MTc1OTMwMDIzMTkzXSwgWzE2NjM3MjcwMTYuMTg1NDcyNSwgNjIxLCA1Ljc0MDY2MzA1MTYwNTIyNV0sIFsxNjYzNzI3MDE2LjQxMzIwMTYsIDYzOSwgNS4xMDI5NTQzODc2NjQ3OTVdLCBbMTY2MzcyNzAxNi41MTk4NDIxLCA2NDgsIDUuMTI0ODU0MDg3ODI5NTldLCBbMTY2MzcyNzAxNy40ODU2MzkzLCA3MDIsIDYuMDY3MzI1MTE1MjAzODU3XSwgWzE2NjM3MjcwMTcuNzE4Nzk4NCwgNzIwLCA4LjM0MDgxNzQ1MTQ3NzA1XSwgWzE2NjM3MjcwMTcuODMyNDgwNywgNzI5LCA1LjM2ODExNjg1NTYyMTMzOF0sIFsxNjYzNzI3MDE4LjAzNTg0NTUsIDc0NywgNC45MjUzODI2MTQxMzU3NDJdLCBbMTY2MzcyNzAxOC4xNjQ0ODU3LCA3NTYsIDUuNzgxODQ2MDQ2NDQ3NzU0XSwgWzE2NjM3MjcwMTguMzYwNjYyNSwgNzc0LCA1LjAzODAxODcwMzQ2MDY5M10sIFsxNjYzNzI3MDE4LjQ0OTk5MzQsIDc4MywgNS41ODg2ODEyMjEwMDgzMDFdLCBbMTY2MzcyNzAxOC43MzI4NjksIDgxMCwgNS4yOTQyMzk1MjEwMjY2MTFdLCBbMTY2MzcyNzAxOC44MjcyMTQsIDgxOSwgNS41NDUxNTY0Nzg4ODE4MzZdLCBbMTY2MzcyNzAxOS4zMTE1NTI1LCA4NjQsIDYuNjEwMzc2ODM0ODY5Mzg1XSwgWzE2NjM3MjcwMTkuOTk1Mjk2NSwgOTAwLCA1LjE5Mzg3OTEyNzUwMjQ0MV0sIFsxNjYzNzI3MDIwLjEwOTQwNzIsIDkwOSwgNS4wMzY1ODA1NjI1OTE1NTNdLCBbMTY2MzcyNzAyMC4zODkzMDE1LCA5MzYsIDYuMTQyNTU1NzEzNjUzNTY0NV0sIFsxNjYzNzI3MDIwLjc0MDMwMzMsIDk2MywgNC44MDg2MTA0MzkzMDA1MzddLCBbMTY2MzcyNzAyMC44MzA5MzksIDk3MiwgNS4zMTg5NjQwMDQ1MTY2MDJdLCBbMTY2MzcyNzAyMS4wNDIzNzMyLCA5OTAsIDUuNDM4ODUxMzU2NTA2MzQ4XSwgWzE2NjM3MjcwMjEuMTMyNzExNCwgOTk5LCA2Ljk0NDY5NjkwMzIyODc2XSwgWzE2NjM3MjcwMjEuNTA4NTE2LCAxMDM1LCA0LjgxMDMzOTQ1MDgzNjE4Ml0sIFsxNjYzNzI3MDIxLjcxNTEwOTYsIDEwNTMsIDQuNjIzODE3NDQzODQ3NjU2XSwgWzE2NjM3MjcwMjIuMTk5MzUyMywgMTA5OCwgNC45MDE4NzMxMTE3MjQ4NTM1XSwgWzE2NjM3MjcwMjIuNjEyNDA1NSwgMTEzNCwgNS41NjIxNDU3MDk5OTE0NTVdLCBbMTY2MzcyNzAyMi43NDAwODksIDExNDMsIDQuODc0MzUyNDU1MTM5MTZdLCBbMTY2MzcyNzAyMi45NTk0MzQsIDExNjEsIDQuOTI0Nzg2MDkwODUwODNdLCBbMTY2MzcyNzAyMy4xODM4NzgsIDExNzksIDUuMjAzNTM0MTI2MjgxNzM4XSwgWzE2NjM3MjcwMjMuMzAwNjMwMywgMTE4OCwgNS42MDI1OTAwODQwNzU5MjhdLCBbMTY2MzcyNzAyMy40MDgyOTc4LCAxMTk3LCA1LjU4Mzc2NzQxNDA5MzAxOF0sIFsxNjYzNzI3MDIzLjYyMTQ0NTIsIDEyMTUsIDQuNDk0Njc5NDUwOTg4NzY5NV0sIFsxNjYzNzI3MDIzLjgyMTUyNTgsIDEyMzMsIDQuMTY5MzE4Njc1OTk0ODczXSwgWzE2NjM3MjcwMjMuOTI4ODg0LCAxMjQyLCA0LjM1MTQyMTM1NjIwMTE3Ml0sIFsxNjYzNzI3MDI0LjYyODk5NzMsIDEyOTYsIDQuNTgxMDQwMzgyMzg1MjU0XSwgWzE2NjM3MjcwMjQuNzMyMDk2LCAxMzA1LCA0LjYyNDAwMDA3MjQ3OTI0OF0sIFsxNjYzNzI3MDI0LjkzNjIxMDYsIDEzMjMsIDQuODk0MjQ1MTQ3NzA1MDc4XSwgWzE2NjM3MjcwMjUuMDQ4MTMwMywgMTMzMiwgNC42OTg4NTU0MDAwODU0NDldLCBbMTY2MzcyNzAyNS40MTAzOTQsIDEzNTksIDQuMTQ1ODY4Nzc4MjI4NzZdLCBbMTY2MzcyNzAyNi4xMzExNDg4LCAxNDIyLCA0LjI2Nzg1NDY5MDU1MTc1OF0sIFsxNjYzNzI3MDI2LjMxNTc3MDEsIDE0NDAsIDQuMTAxNDIzNzQwMzg2OTYzXSwgWzE2NjM3MjcwMjYuNDA4NDcxOCwgMTQ0OSwgMy45MzU0NTQzNjg1OTEzMDg2XSwgWzE2NjM3MjcwMjYuNjE0MjgwNywgMTQ2NywgNC44OTMzMTQ4Mzg0MDk0MjRdLCBbMTY2MzcyNzAyNi43OTk3OTU0LCAxNDg1LCA0LjE4NzM4NzQ2NjQzMDY2NF0sIFsxNjYzNzI3MDI2Ljk4MzQzNTYsIDE1MDMsIDUuMTA0Njc0ODE2MTMxNTkyXSwgWzE2NjM3MjcwMjcuMzc3NzI1NiwgMTUzOSwgMy44MzI5MDI2Njk5MDY2MTZdLCBbMTY2MzcyNzAyNy40NzI3MTQ0LCAxNTQ4LCAzLjg0ODg1NTAxODYxNTcyMjddLCBbMTY2MzcyNzAyNy41NjM4NDEzLCAxNTU3LCAzLjc5MjYyNjE0MjUwMTgzMV0sIFsxNjYzNzI3MDI3Ljg1MDc0NDcsIDE1ODQsIDMuOTgxMDAzMjg0NDU0MzQ1N10sIFsxNjYzNzI3MDI3Ljk0MDE5OTQsIDE1OTMsIDQuMDYwMjYxMjQ5NTQyMjM2XSwgWzE2NjM3MjcwMjguMDI5MTAxOCwgMTYwMiwgMy44NTMxNTU2MTI5NDU1NTY2XSwgWzE2NjM3MjcwMjguMTMzMTQ2OCwgMTYxMSwgNC42MDEwMzk4ODY0NzQ2MDldLCBbMTY2MzcyNzAyOC4zMTM3NjcsIDE2MjksIDQuNDI4NjkyMzQwODUwODNdLCBbMTY2MzcyNzAyOC40MjM1ODYxLCAxNjM4LCA0LjY4NjIzMzk5NzM0NDk3MV0sIFsxNjYzNzI3MDI4Ljk0NzMyMzYsIDE2NjUsIDQuMjY0Nzc1Mjc2MTg0MDgyXSwgWzE2NjM3MjcwMjkuMDU3MTM5LCAxNjc0LCA0LjIyMjA3Nzg0NjUyNzFdLCBbMTY2MzcyNzAyOS4xNDM5NSwgMTY4MywgMy43MjA4NjkwNjQzMzEwNTQ3XSwgWzE2NjM3MjcwMjkuNDE5MDk4LCAxNzEwLCAzLjU4MjU5ODIwOTM4MTEwMzVdLCBbMTY2MzcyNzAyOS41MTAzMTY0LCAxNzE5LCAzLjc1OTY2MDk1OTI0Mzc3NDRdLCBbMTY2MzcyNzAyOS41OTg0NDM3LCAxNzI4LCA0LjAyNTU2NzUzMTU4NTY5M10sIFsxNjYzNzI3MDI5LjY3ODI1MTcsIDE3MzcsIDQuMTIzNzk3NDE2Njg3MDEyXSwgWzE2NjM3MjcwMzAuMDAyNjQ2NywgMTc2NCwgNC4xMTgwMDc2NTk5MTIxMDldLCBbMTY2MzcyNzAzMC4zMzg5MDgyLCAxNzkxLCAzLjY4MzQ2MDcxMjQzMjg2MTNdLCBbMTY2MzcyNzAzMC40NzA5MDE1LCAxODAwLCA0LjAzOTYzODk5NjEyNDI2OF0sIFsxNjYzNzI3MDMwLjU3MTIyNDIsIDE4MDksIDMuODAxNzU3ODEyNV0sIFsxNjYzNzI3MDMwLjc3NTIzNDUsIDE4MjcsIDQuMjAwMDI5ODUwMDA2MTAzNV0sIFsxNjYzNzI3MDMwLjg3NjE0NywgMTgzNiwgNS42OTU5ODcyMjQ1Nzg4NTddLCBbMTY2MzcyNzAzMC45NjcxNTA3LCAxODQ1LCA0LjkwOTE5MzUxNTc3NzU4OF0sIFsxNjYzNzI3MDMxLjA1NjkzMzksIDE4NTQsIDMuODM3NDcyMjAwMzkzNjc2OF0sIFsxNjYzNzI3MDMxLjI0MTE2MDksIDE4NzIsIDUuMTY1MTk0NTExNDEzNTc0XSwgWzE2NjM3MjcwMzEuNDI3NTMyNCwgMTg5MCwgMy42NzU4NjczMTkxMDcwNTU3XSwgWzE2NjM3MjcwMzEuNjA4MzU3LCAxOTA4LCAzLjYyMTUxMzEyODI4MDYzOTZdLCBbMTY2MzcyNzAzMS43ODI5MDYzLCAxOTI2LCAzLjMyMzUwODI2MjYzNDI3NzNdLCBbMTY2MzcyNzAzMS45NzkwNDMyLCAxOTQ0LCAzLjY5NzU5NzAyNjgyNDk1MV0sIFsxNjYzNzI3MDMyLjA3MzYxOSwgMTk1MywgMy45MDE4MjAxODI4MDAyOTNdLCBbMTY2MzcyNzAzMi4yNTk0NjI2LCAxOTcxLCA0LjY3ODI4MjczNzczMTkzNF0sIFsxNjYzNzI3MDMyLjM0MzUzNTcsIDE5ODAsIDQuMTkzMzc4OTI1MzIzNDg2XSwgWzE2NjM3MjcwMzIuNDQ0MTE0MiwgMTk4OSwgNC4wODE4MjI4NzIxNjE4NjVdLCBbMTY2MzcyNzAzMi41MjkwMTM5LCAxOTk4LCAzLjcxODg4MzUxNDQwNDI5N10sIFsxNjYzNzI3MDMyLjYyMzM1MjMsIDIwMDcsIDMuNzcwOTYwMzMwOTYzMTM0OF0sIFsxNjYzNzI3MDMyLjgyODA5ODMsIDIwMjUsIDMuMzY5MTg1OTI0NTMwMDI5M10sIFsxNjYzNzI3MDMyLjk2NzU3NDQsIDIwMzQsIDQuMjUxMDU2MTk0MzA1NDJdLCBbMTY2MzcyNzAzMy40NjA1NjEsIDIwNzAsIDMuNjQ3NjIxNjMxNjIyMzE0NV0sIFsxNjYzNzI3MDMzLjc3ODA3ODYsIDIwOTcsIDMuNDY2Njc1OTk2NzgwMzk1NV0sIFsxNjYzNzI3MDM0LjUzNjEwNywgMjEyNCwgMy45MTE0NzM1MTI2NDk1MzZdLCBbMTY2MzcyNzAzNC43MzQ3MTE0LCAyMTQyLCA0LjA1Nzg5ODUyMTQyMzM0XSwgWzE2NjM3MjcwMzQuODI4NTUyNSwgMjE1MSwgNC41MTIwODczNDUxMjMyOTFdLCBbMTY2MzcyNzAzNC45MjExMzA3LCAyMTYwLCA1LjA5NTY4MDcxMzY1MzU2NDVdLCBbMTY2MzcyNzAzNS4xMTMyNjc0LCAyMTc4LCA0Ljg3NDIwNjU0Mjk2ODc1XSwgWzE2NjM3MjcwMzUuMjAwNTY3MiwgMjE4NywgMy43ODIwMTE5ODU3Nzg4MDg2XSwgWzE2NjM3MjcwMzUuMzg4NDU0NywgMjIwNSwgMy4yMTk2MzU5NjM0Mzk5NDE0XSwgWzE2NjM3MjcwMzUuNDgxNTIyLCAyMjE0LCAzLjE1NjUxMDExNDY2OThdLCBbMTY2MzcyNzAzNS41NzY2NTYsIDIyMjMsIDMuNTU3MzA2NTI4MDkxNDMwN10sIFsxNjYzNzI3MDM1LjY3MTI1MiwgMjIzMiwgNC4wNzQyODY5Mzc3MTM2MjNdLCBbMTY2MzcyNzAzNi4yNjIxNTYyLCAyMjc3LCAzLjE5OTUwNDg1MjI5NDkyMl0sIFsxNjYzNzI3MDM2LjM2NTQ3MDQsIDIyODYsIDMuNTA0NDA4NTk3OTQ2MTY3XSwgWzE2NjM3MjcwMzYuNDcyODg4MiwgMjI5NSwgMy4zNDY0ODc5OTg5NjI0MDIzXSwgWzE2NjM3MjcwMzYuNzg1MDYwNiwgMjMyMiwgMy40MjU5NTY0ODc2NTU2Mzk2XSwgWzE2NjM3MjcwMzYuODczNDA3LCAyMzMxLCA0Ljc1NjI5MTM4OTQ2NTMzMl0sIFsxNjYzNzI3MDM2Ljk1NjAwMjIsIDIzNDAsIDQuNjQ5ODA2OTc2MzE4MzU5XSwgWzE2NjM3MjcwMzcuMDY4MjIwNiwgMjM0OSwgNS44MjU2OTQwODQxNjc0ODA1XSwgWzE2NjM3MjcwMzcuMjY0MDkzOSwgMjM2NywgNC4yNDQwMTM3ODYzMTU5MThdLCBbMTY2MzcyNzAzOC4yNTgzMTIyLCAyNDM5LCA0LjE1MzI1NTQ2MjY0NjQ4NF0sIFsxNjYzNzI3MDM4LjM4ODkyMTcsIDI0NDgsIDQuNDg1MTI0NTg4MDEyNjk1XSwgWzE2NjM3MjcwMzguNzI0ODMzNywgMjQ3NSwgMy42NjI1OTA1MDM2OTI2MjddLCBbMTY2MzcyNzAzOC44Njg4NzE1LCAyNDg0LCA0LjUxMzgxNDQ0OTMxMDMwM10sIFsxNjYzNzI3MDM5LjAxMTExLCAyNDkzLCA0LjkxNDc2ODY5NTgzMTI5OV0sIFsxNjYzNzI3MDM5LjIyOTQyNTcsIDI1MTEsIDMuMDY4OTYzNzY2MDk4MDIyNV0sIFsxNjYzNzI3MDM5LjQzOTAxMzcsIDI1MjksIDMuOTc2MTM4ODMwMTg0OTM2NV0sIFsxNjYzNzI3MDM5LjYyNTAxODQsIDI1NDcsIDMuNTk1NzkyMDU1MTMwMDA1XSwgWzE2NjM3MjcwMzkuNzc1ODYyLCAyNTU2LCAzLjk5MjE0MzYzMDk4MTQ0NTNdLCBbMTY2MzcyNzAzOS45NzI3NzM2LCAyNTc0LCAzLjcyMzU0NjI2NjU1NTc4Nl0sIFsxNjYzNzI3MDQwLjE2MTg3ODMsIDI1OTIsIDMuMDU4ODQ3MTg4OTQ5NTg1XSwgWzE2NjM3MjcwNDAuMjU2Nzk3OCwgMjYwMSwgMy4xNTI1NzA0ODYwNjg3MjU2XSwgWzE2NjM3MjcwNDAuNDM0NTkxLCAyNjE5LCAzLjgyMDEyMDMzNDYyNTI0NF0sIFsxNjYzNzI3MDQwLjkwMjkxOCwgMjY2NCwgMy41NjM5ODYwNjMwMDM1NF0sIFsxNjYzNzI3MDQxLjAyOTM1MTUsIDI2NzMsIDMuMzc0NzQyMDMxMDk3NDEyXSwgWzE2NjM3MjcwNDEuMTU3OTE0NCwgMjY4MiwgMy4zMTQyMDg1MDc1Mzc4NDJdLCBbMTY2MzcyNzA0MS4yODg5NjM2LCAyNjkxLCAzLjEwMTAzOTY0ODA1NjAzMDNdLCBbMTY2MzcyNzA0MS40MTQ1NDQsIDI3MDAsIDMuMTQ2MjM1MjI3NTg0ODM5XSwgWzE2NjM3MjcwNDEuOTc1NDQ2NywgMjc0NSwgMi45Nzc4MzI3OTQxODk0NTNdLCBbMTY2MzcyNzA0Mi4xOTk5MDgzLCAyNzYzLCAzLjQ1NzEwMDg2ODIyNTA5NzddLCBbMTY2MzcyNzA0Mi4zMDM2NTI4LCAyNzcyLCAyLjkwNjM1NzI4ODM2MDU5NTddLCBbMTY2MzcyNzA0Mi4zOTQ4ODQsIDI3ODEsIDMuNTk0NDY3ODc4MzQxNjc1XSwgWzE2NjM3MjcwNDIuNDg4MzA2OCwgMjc5MCwgMi45ODkzODIwMjg1Nzk3MTJdLCBbMTY2MzcyNzA0Mi43NjkxOTYzLCAyODE3LCAzLjA4Mzc4MDc2NTUzMzQ0NzNdLCBbMTY2MzcyNzA0Mi44NjY5MDUsIDI4MjYsIDQuMDU2OTA4NjA3NDgyOTFdLCBbMTY2MzcyNzA0My4xODE1NTYyLCAyODUzLCA0LjM0MzU3MzA5MzQxNDMwN10sIFsxNjYzNzI3MDQzLjM5MzYwNzQsIDI4NzEsIDIuOTI2NDM1OTQ3NDE4MjEzXSwgWzE2NjM3MjcwNDMuNTAxNzQ3MSwgMjg4MCwgMi45MDQyNjczMTEwOTYxOTE0XSwgWzE2NjM3MjcwNDMuODExMzE0MywgMjkwNywgMy4yMzQ2NTI5OTYwNjMyMzI0XSwgWzE2NjM3MjcwNDQuMDA2MDU1NCwgMjkyNSwgNC4wMzMxMzY4NDQ2MzUwMV0sIFsxNjYzNzI3MDQ0LjQ5MjQyLCAyOTcwLCAzLjE1MjA5MDA3MjYzMTgzNl0sIFsxNjYzNzI3MDQ0LjU4NTI5MjYsIDI5NzksIDIuOTIxNDA3MjIyNzQ3ODAyN10sIFsxNjYzNzI3MDQ0LjY3NDkyMywgMjk4OCwgMy4xNTE3NDkzNzI0ODIzXSwgWzE2NjM3MjcwNDQuNzYwMjQ5LCAyOTk3LCAyLjg5MDk2MjEyMzg3MDg0OTZdLCBbMTY2MzcyNzA0NC44NDQ5NTYsIDMwMDYsIDIuOTIyOTkwNzk4OTUwMTk1M10sIFsxNjYzNzI3MDQ1LjIxODcxMiwgMzA0MiwgMy4zOTc3MzgyMTgzMDc0OTVdLCBbMTY2MzcyNzA0NS4zMDE4ODIsIDMwNTEsIDIuODYxMTgzNDA0OTIyNDg1NF0sIFsxNjYzNzI3MDQ1LjQ4MDgxMSwgMzA2OSwgMy4xNDk3MTMwMzkzOTgxOTM0XSwgWzE2NjM3MjcwNDUuNzUzMDMyMiwgMzA5NiwgMy4zNTYxNzcwOTE1OTg1MTA3XSwgWzE2NjM3MjcwNDUuODQ1NjI2NiwgMzEwNSwgMi45ODMyNzgwMzYxMTc1NTM3XSwgWzE2NjM3MjcwNDUuOTM0NjQzMywgMzExNCwgMi45NjAwNzU4NTUyNTUxMjddLCBbMTY2MzcyNzA0Ni4wMjU1NTI3LCAzMTIzLCAzLjA5MTg0NjIyNzY0NTg3NF0sIFsxNjYzNzI3MDQ2LjIxNzczNzIsIDMxNDEsIDQuNTE3Mjg2Nzc3NDk2MzM4XSwgWzE2NjM3MjcwNDYuNDExOTUxLCAzMTU5LCAyLjY3MTY0MDg3Mjk1NTMyMjNdLCBbMTY2MzcyNzA0Ni41OTk1NiwgMzE3NywgMy4yNDY5MDM4OTYzMzE3ODddLCBbMTY2MzcyNzA0Ni45MDY3MzIsIDMxODYsIDUuMDU1NzI1NTc0NDkzNDA4XSwgWzE2NjM3MjcwNDYuOTk3MTkxMiwgMzE5NSwgMy43MDAyMTU1NzgwNzkyMjM2XSwgWzE2NjM3MjcwNDcuMDg3Njg5MiwgMzIwNCwgNC4xMTQzNjc5NjE4ODM1NDVdLCBbMTY2MzcyNzA0Ny40NjcwMTgsIDMyMzEsIDIuOTE2NDQ0MDYzMTg2NjQ1NV0sIFsxNjYzNzI3MDQ3LjcwNjgxMTIsIDMyNDksIDMuMDIwNjQ5MTk0NzE3NDA3Ml0sIFsxNjYzNzI3MDQ3Ljk0NTAyNDUsIDMyNjcsIDMuMDQwNzA4NTQxODcwMTE3XSwgWzE2NjM3MjcwNDguMDQ2MTgzMywgMzI3NiwgMi44MTQ0MDQ3MjYwMjg0NDI0XSwgWzE2NjM3MjcwNDguMTI5NzAzOCwgMzI4NSwgMy4xNDg1ODY3NTAwMzA1MTc2XSwgWzE2NjM3MjcwNDguMjI0Mjc4MiwgMzI5NCwgMy40NDg1NDQ5NzkwOTU0NTldLCBbMTY2MzcyNzA0OC4zMjM5MjksIDMzMDMsIDMuMTc3MTU4MzU1NzEyODkwNl0sIFsxNjYzNzI3MDQ4LjQxOTQwNSwgMzMxMiwgMy40ODQ5MjgzNjk1MjIwOTQ3XSwgWzE2NjM3MjcwNDguNTA3NzksIDMzMjEsIDMuNjQ5MzU3MzE4ODc4MTc0XSwgWzE2NjM3MjcwNDkuMTU1NDY1MSwgMzM3NSwgMi42NTQ1ODgyMjI1MDM2NjJdLCBbMTY2MzcyNzA0OS40ODg0MzE3LCAzNDAyLCAyLjkzNDI1Njc5MjA2ODQ4MTRdLCBbMTY2MzcyNzA0OS41ODA1MDUsIDM0MTEsIDIuNzUwMzYwNzI3MzEwMTgwN10sIFsxNjYzNzI3MDQ5Ljk3Mjk5MzksIDM0NDcsIDMuMjk1OTE0MTczMTI2MjIwN10sIFsxNjYzNzI3MDUwLjI3MjQwNzgsIDM0NzQsIDIuNjE2NzQ0OTk1MTE3MTg3NV0sIFsxNjYzNzI3MDUwLjM3MjAyOTUsIDM0ODMsIDIuODM3NzM5NzA2MDM5NDI4N10sIFsxNjYzNzI3MDUwLjY2ODgyNzMsIDM1MTAsIDMuMDc3OTI3MTEyNTc5MzQ1N10sIFsxNjYzNzI3MDUwLjc2MTQwODMsIDM1MTksIDMuMzQ3MjMxMzg4MDkyMDQxXSwgWzE2NjM3MjcwNTAuODUzMDE0MiwgMzUyOCwgNC4xNzI2ODY1NzY4NDMyNjJdLCBbMTY2MzcyNzA1MC45Mzk5MjM4LCAzNTM3LCAzLjk2NTkwNTY2NjM1MTMxODRdLCBbMTY2MzcyNzA1MS4wMzIwOTgzLCAzNTQ2LCAyLjY3MTQ2NDY4MTYyNTM2Nl0sIFsxNjYzNzI3MDUxLjEyNDIwOCwgMzU1NSwgMy4yNDIxODk0MDczNDg2MzNdLCBbMTY2MzcyNzA1MS4yMTczNjA1LCAzNTY0LCAzLjI0NzU3ODE0NDA3MzQ4NjNdLCBbMTY2MzcyNzA1MS4zMjMwNDYyLCAzNTczLCAyLjg1OTIwMzgxNTQ2MDIwNV0sIFsxNjYzNzI3MDUxLjQxNDQ2ODUsIDM1ODIsIDIuNjUxMTEzNTEwMTMxODM2XSwgWzE2NjM3MjcwNTEuNTE1NTM5LCAzNTkxLCAzLjQ2MTkwODEwMjAzNTUyMjVdLCBbMTY2MzcyNzA1MS42MDE2NTEsIDM2MDAsIDIuODc2NjU2NTMyMjg3NTk3N10sIFsxNjYzNzI3MDUxLjc5NDA5ODYsIDM2MTgsIDguMDUxNTkzNzgwNTE3NTc4XSwgWzE2NjM3MjcwNTEuODkxMTU5NSwgMzYyNywgNS4zNjYxNzY2MDUyMjQ2MDldLCBbMTY2MzcyNzA1Mi4wNzc4MjY1LCAzNjQ1LCAyLjk2MjUxNDYzODkwMDc1N10sIFsxNjYzNzI3MDUyLjI2NDMyNTYsIDM2NjMsIDIuOTQ1OTE1Njk5MDA1MTI3XSwgWzE2NjM3MjcwNTIuNDU3MDM3MiwgMzY4MSwgMi41NDA0NjgyMTU5NDIzODNdLCBbMTY2MzcyNzA1Mi41NTA4MDQsIDM2OTAsIDIuNzUxNTIzMDE3ODgzMzAxXSwgWzE2NjM3MjcwNTIuODI4MDQ2NiwgMzcxNywgMi45MzEyNjQ4NzczMTkzMzZdLCBbMTY2MzcyNzA1Mi45MTkxNjY2LCAzNzI2LCAyLjY5MjA1MzMxODAyMzY4MTZdLCBbMTY2MzcyNzA1My4wMTY4NzEyLCAzNzM1LCAyLjc3ODg2NzQ4MzEzOTAzOF0sIFsxNjYzNzI3MDUzLjEwODc3NjgsIDM3NDQsIDQuMTkxMzM0MjQ3NTg5MTExXSwgWzE2NjM3MjcwNTMuMzk1Njg0NywgMzc3MSwgMy44NTcyNDQyNTMxNTg1NjkzXSwgWzE2NjM3MjcwNTMuNjY3MzEzOCwgMzc5OCwgMi41OTMwMjc4MzAxMjM5MDE0XSwgWzE2NjM3MjcwNTMuNzUzNjMwOSwgMzgwNywgMi40MzYxMzAwNDY4NDQ0ODI0XSwgWzE2NjM3MjcwNTQuMDMwMDI5LCAzODM0LCAyLjg5ODcwODU4MTkyNDQzODVdLCBbMTY2MzcyNzA1NC4xMjc3Njc2LCAzODQzLCAzLjE1ODQ5MDY1NzgwNjM5NjVdLCBbMTY2MzcyNzA1NC41MDYzNTIyLCAzODc5LCAyLjYzODc1OTM3NDYxODUzMDNdLCBbMTY2MzcyNzA1NC41OTYxMDgyLCAzODg4LCAzLjMwNjc4MTc2ODc5ODgyOF0sIFsxNjYzNzI3MDU1LjEzMDE3OTYsIDM5MTUsIDMuMzM2NTQzNzk4NDQ2NjU1M10sIFsxNjYzNzI3MDU1LjIyNDk2NTgsIDM5MjQsIDIuNTM0NzExMzYwOTMxMzk2NV0sIFsxNjYzNzI3MDU1LjMyMjMyNzEsIDM5MzMsIDQuNjExMjQ5OTIzNzA2MDU1XSwgWzE2NjM3MjcwNTUuNDE4NTc4OSwgMzk0MiwgNC40NTYzOTMyNDE4ODIzMjRdLCBbMTY2MzcyNzA1NS41MjAxNjksIDM5NTEsIDQuOTE3Mzc4OTAyNDM1MzAzXSwgWzE2NjM3MjcwNTUuNjExMTAzOCwgMzk2MCwgMy45NDcwMDA3NDE5NTg2MThdLCBbMTY2MzcyNzA1NS43MTAxOTcyLCAzOTY5LCA1LjkyNDA4ODQ3ODA4ODM3OV0sIFsxNjYzNzI3MDU1LjgwNDA0OTcsIDM5NzgsIDMuNDQxODI3Mjk3MjEwNjkzNF0sIFsxNjYzNzI3MDU1Ljk5OTM0MywgMzk5NiwgMy45OTEwNDk3NjY1NDA1MjczXSwgWzE2NjM3MjcwNTYuMDk3ODcsIDQwMDUsIDQuMjg1ODY1NzgzNjkxNDA2XSwgWzE2NjM3MjcwNTYuMTkwNSwgNDAxNCwgMy4xODg5NTkzNjAxMjI2ODA3XSwgWzE2NjM3MjcwNTYuMjgwNjcyLCA0MDIzLCAyLjc5MjA1NDg5MTU4NjMwMzddLCBbMTY2MzcyNzA1Ni42Njk4OTM3LCA0MDU5LCAyLjk5OTE5MTc2MTAxNjg0NTddLCBbMTY2MzcyNzA1Ni43NjM0OTYyLCA0MDY4LCAzLjE0NjIzNjY1ODA5NjMxMzVdLCBbMTY2MzcyNzA1Ni44NzA1OTgzLCA0MDc3LCAzLjIwMDc4MTEwNjk0ODg1MjVdLCBbMTY2MzcyNzA1Ni45NjUxNDUzLCA0MDg2LCAzLjU3MDE5NTkxMzMxNDgxOTNdLCBbMTY2MzcyNzA1Ny4wNTM3MDE5LCA0MDk1LCAyLjk4MjU1ODQ4ODg0NTgyNV0sIFsxNjYzNzI3MDU3LjIyOTgyODgsIDQxMTMsIDIuNzYzODQ4MDY2MzI5OTU2XSwgWzE2NjM3MjcwNTcuNDA0MTA4OCwgNDEzMSwgMy4xMDYxMzA1OTk5NzU1ODZdLCBbMTY2MzcyNzA1Ny41ODY1NzQ2LCA0MTQ5LCAyLjM4OTg1NjgxNTMzODEzNDhdLCBbMTY2MzcyNzA1Ny42ODc5NjMyLCA0MTU4LCAyLjgxNDY2NzIyNDg4NDAzM10sIFsxNjYzNzI3MDU3Ljc4MDIsIDQxNjcsIDIuNTYyMjg5NDc2Mzk0NjUzM10sIFsxNjYzNzI3MDU4LjAwNjgzMiwgNDE4NSwgMy4wNjIyMDI5MzA0NTA0Mzk1XSwgWzE2NjM3MjcwNTguMDk1MjkwMiwgNDE5NCwgMy4yMzc4MTcyODc0NDUwNjg0XSwgWzE2NjM3MjcwNTguMTg0NTM1LCA0MjAzLCAzLjIzMTMxNDE4MjI4MTQ5NF0sIFsxNjYzNzI3MDU4LjM4MDAxNiwgNDIyMSwgMy4wNDQwMjk3MTI2NzcwMDJdLCBbMTY2MzcyNzA1OC42OTU1NDE5LCA0MjM5LCAyLjUxMTczMTM4NjE4NDY5MjRdLCBbMTY2MzcyNzA1OS4xNDYxNDg0LCA0Mjc1LCAzLjM3MTQwODQ2MjUyNDQxNF0sIFsxNjYzNzI3MDU5LjI2NDAxNjIsIDQyODQsIDIuOTI3MTE1OTE3MjA1ODEwNV0sIFsxNjYzNzI3MDU5LjYwNTE1MTQsIDQzMTEsIDMuNDAzMTc1MzU0MDAzOTA2Ml0sIFsxNjYzNzI3MDU5LjcwNDIyNjMsIDQzMjAsIDMuNzQ0NTc3MTY5NDE4MzM1XSwgWzE2NjM3MjcwNTkuNzk5MjQyNywgNDMyOSwgNS42MTk2NDMyMTEzNjQ3NDZdLCBbMTY2MzcyNzA1OS44OTg5OCwgNDMzOCwgNC40NzkwODc4Mjk1ODk4NDRdLCBbMTY2MzcyNzA2MC4wMjgwMzUsIDQzNDcsIDMuNDg0NTE0NzEzMjg3MzUzNV0sIFsxNjYzNzI3MDYwLjEyODk3MSwgNDM1NiwgMi42MDI3Nzg0MzQ3NTM0MThdLCBbMTY2MzcyNzA2MC4yMzEzNzQzLCA0MzY1LCAyLjU1MDE4NzM0OTMxOTQ1OF0sIFsxNjYzNzI3MDYwLjQwMTAxNTUsIDQzODMsIDMuNjQzMzYyOTk4OTYyNDAyM10sIFsxNjYzNzI3MDYwLjUyODc5NDUsIDQzOTIsIDQuNDUyMTg3NTM4MTQ2OTczXSwgWzE2NjM3MjcwNjAuNjE3MTc3NSwgNDQwMSwgNS43NDAyOTg3NDgwMTYzNTddLCBbMTY2MzcyNzA2MC43MTQxODYsIDQ0MTAsIDQuNjA0NjQ0Nzc1MzkwNjI1XSwgWzE2NjM3MjcwNjAuOTg3MzM1NywgNDQyOCwgMy4xOTY5NDcwOTc3NzgzMjAzXSwgWzE2NjM3MjcwNjEuMzEwNzM0LCA0NDU1LCA0LjI5MjU3MDU5MDk3MjldLCBbMTY2MzcyNzA2MS4zOTcwODg1LCA0NDY0LCAzLjgxOTU3MTQ5NTA1NjE1MjNdLCBbMTY2MzcyNzA2MS42NzM4NTIsIDQ0OTEsIDIuNjE3MzYxNzgzOTgxMzIzMl0sIFsxNjYzNzI3MDYxLjk3ODQ0MzksIDQ1MTgsIDIuOTM5ODIxNDgxNzA0NzEyXSwgWzE2NjM3MjcwNjIuMDY3ODIxLCA0NTI3LCAyLjc0NjQwMjUwMjA1OTkzNjVdLCBbMTY2MzcyNzA2Mi4xNTU2MDAzLCA0NTM2LCAyLjU5MDA4MTQ1MzMyMzM2NDNdLCBbMTY2MzcyNzA2Mi40NDM5NjgsIDQ1NjMsIDIuNjkyMjE5OTcyNjEwNDczNl0sIFsxNjYzNzI3MDYyLjYyNzIzODUsIDQ1ODEsIDMuNDIxMTE5OTI4MzU5OTg1NF0sIFsxNjYzNzI3MDYyLjcxNzAwNSwgNDU5MCwgNC4yMjc3Mjc0MTMxNzc0OV0sIFsxNjYzNzI3MDYyLjgwNTU5MjgsIDQ1OTksIDIuOTI3NTEzMTIyNTU4NTkzOF0sIFsxNjYzNzI3MDYyLjkwNDUzNCwgNDYwOCwgMi41NzU2MTIwNjgxNzYyNjk1XSwgWzE2NjM3MjcwNjIuOTkyNDcwMywgNDYxNywgMi41MjA2MTM2NzAzNDkxMjFdLCBbMTY2MzcyNzA2My4wODM3OTYsIDQ2MjYsIDIuNzU0MTU2MzUxMDg5NDc3NV0sIFsxNjYzNzI3MDYzLjE4MDE1NzQsIDQ2MzUsIDMuMzAwNjA5MzUwMjA0NDY3OF0sIFsxNjYzNzI3MDYzLjQ3MjM4NjYsIDQ2NjIsIDIuNTc3ODg3Mjk2Njc2NjM1N10sIFsxNjYzNzI3MDYzLjU3MzgzNCwgNDY3MSwgMy4xODMyMDc1MTE5MDE4NTU1XSwgWzE2NjM3MjcwNjMuODYyMzQyNCwgNDY4MCwgMy4xMDg0Njk3MjQ2NTUxNTE0XSwgWzE2NjM3MjcwNjMuOTU0ODM4NSwgNDY4OSwgMi4zOTM3NjMwNjUzMzgxMzQ4XSwgWzE2NjM3MjcwNjQuMjM3MjUxLCA0NzE2LCAyLjU1Nzk4NTMwNTc4NjEzM10sIFsxNjYzNzI3MDY0Ljg4NjcxMzUsIDQ3NzksIDIuOTQxOTUwMDgyNzc4OTMwN10sIFsxNjYzNzI3MDY1LjE2MjkwOCwgNDgwNiwgMy4zNjM4ODE4MjY0MDA3NTddLCBbMTY2MzcyNzA2NS4yNTk3NDQ0LCA0ODE1LCAzLjg3MzMzNTU5OTg5OTI5Ml0sIFsxNjYzNzI3MDY1LjQ2MTY3NjEsIDQ4MzMsIDIuOTQ5NjM3NDEzMDI0OTAyM10sIFsxNjYzNzI3MDY1LjU1MzczNjQsIDQ4NDIsIDMuMDEwODI4NzMzNDQ0MjE0XSwgWzE2NjM3MjcwNjUuNjQwNDI4OCwgNDg1MSwgMi4zNzgwMjY5NjIyODAyNzM0XSwgWzE2NjM3MjcwNjUuNzI2ODYwMywgNDg2MCwgMi40Nzc1MDcxMTQ0MTA0MDA0XSwgWzE2NjM3MjcwNjUuODIwMzA1LCA0ODY5LCAzLjEwNzYwNjE3MjU2MTY0NTVdLCBbMTY2MzcyNzA2Ni4wODcwMDU5LCA0ODg3LCAyLjQ3ODA1NTk1Mzk3OTQ5Ml0sIFsxNjYzNzI3MDY2LjIyOTg3NjgsIDQ4OTYsIDIuNzc0MjIyMzczOTYyNDAyM10sIFsxNjYzNzI3MDY2LjMyNDgzNzcsIDQ5MDUsIDIuNjA3NzEwMzYxNDgwNzEzXSwgWzE2NjM3MjcwNjYuNTI4OTE1MiwgNDkyMywgMy4zNzI0NDc5Njc1MjkyOTddLCBbMTY2MzcyNzA2Ni42MjMsIDQ5MzIsIDIuNTM2MjUyNDk4NjI2NzA5XSwgWzE2NjM3MjcwNjYuOTM0ODYyNiwgNDk1OSwgMi40MzQyNzkyMDM0MTQ5MTddLCBbMTY2MzcyNzA2Ny4xMjI1MzAyLCA0OTc3LCAyLjg2NTg3NTcyMDk3Nzc4M10sIFsxNjYzNzI3MDY3LjMwNTYwNiwgNDk5NSwgMi40OTczMTYzNjA0NzM2MzNdLCBbMTY2MzcyNzA2Ny40MDQ1MzQ2LCA1MDA0LCAyLjMyNjkwNDI5Njg3NV0sIFsxNjYzNzI3MDY3LjUwNjUwMjksIDUwMTMsIDIuMzkwNTIwODExMDgwOTMyNl0sIFsxNjYzNzI3MDY4LjA2NzkyNiwgNTA2NywgMi42MDIyNjgyMTg5OTQxNDA2XSwgWzE2NjM3MjcwNjguMTU5MzczLCA1MDc2LCAyLjUyNjExNjg0Nzk5MTk0MzRdLCBbMTY2MzcyNzA2OC4yNTE1NTI2LCA1MDg1LCAyLjMwNzc1NDUxNjYwMTU2MjVdLCBbMTY2MzcyNzA2OC42NDc2ODUsIDUxMjEsIDIuODcyOTMxNzE4ODI2Mjk0XSwgWzE2NjM3MjcwNjguNzQwMDkyOCwgNTEzMCwgMi45MDY3MDM3MTA1NTYwMzAzXSwgWzE2NjM3MjcwNjguOTI2OTQ1LCA1MTQ4LCAyLjUzOTI2NDkxNzM3MzY1NzJdLCBbMTY2MzcyNzA2OS4xMDUxMzI2LCA1MTY2LCAyLjIxMTc3NzQ0ODY1NDE3NV0sIFsxNjYzNzI3MDY5LjM3ODM4MzksIDUxOTMsIDIuNTA2ODgyMTkwNzA0MzQ1N10sIFsxNjYzNzI3MDY5Ljc4NzUzMjgsIDUyMjksIDIuNzE0NzI5MDcwNjYzNDUyXSwgWzE2NjM3MjcwNzAuMTQ4ODI1LCA1MjY1LCA0LjI4NzA0MzU3MTQ3MjE2OF0sIFsxNjYzNzI3MDcwLjI0MjAzNzgsIDUyNzQsIDMuNTU1MjExMDY3MTk5NzA3XSwgWzE2NjM3MjcwNzAuMzUzMjMzNiwgNTI4MywgMi41NzY1ODQzMzkxNDE4NDU3XSwgWzE2NjM3MjcwNzAuNTQ0OTIxNCwgNTMwMSwgMi4zNDk4NDc3OTM1NzkxMDE2XSwgWzE2NjM3MjcwNzAuNjM3MTMwMywgNTMxMCwgMi42NTUyNTI0NTY2NjUwMzldLCBbMTY2MzcyNzA3MC43NDQ2NzA2LCA1MzE5LCAyLjIyODExOTg1MDE1ODY5MTRdLCBbMTY2MzcyNzA3MC44MzYxOCwgNTMyOCwgMi4yMjQwNTUwNTE4MDM1ODldLCBbMTY2MzcyNzA3MC45Mzk1OTY3LCA1MzM3LCAyLjkyMjA1ODU4MjMwNTkwOF0sIFsxNjYzNzI3MDcxLjE3Nzg1MTIsIDUzNTUsIDIuMjA4MDY1NzQ4MjE0NzIxN10sIFsxNjYzNzI3MDcxLjM5NDk1ODcsIDUzNzMsIDMuODMyMDExNjk5Njc2NTEzN10sIFsxNjYzNzI3MDcxLjQ5NTk2OTgsIDUzODIsIDQuODE2MjA3NDA4OTA1MDI5XSwgWzE2NjM3MjcwNzEuNTc4NjM4MywgNTM5MSwgMi42NzU5MjE5MTY5NjE2N10sIFsxNjYzNzI3MDcxLjY3MDEyLCA1NDAwLCAyLjM3OTYxODQwNjI5NTc3NjRdLCBbMTY2MzcyNzA3MS44NjEwMjEsIDU0MTgsIDIuNzgzMzE3ODA0MzM2NTQ4XSwgWzE2NjM3MjcwNzEuOTQ5MDg5OCwgNTQyNywgMi42NjY1MzA2MDkxMzA4NTk0XSwgWzE2NjM3MjcwNzIuMjQyOTIxLCA1NDM2LCAzLjEyOTc1MTQ0Mzg2MjkxNV0sIFsxNjYzNzI3MDcyLjQ4NDM0ODMsIDU0NTQsIDIuMjM3NTYxNDY0MzA5NjkyNF0sIFsxNjYzNzI3MDcyLjc2MTE1OCwgNTQ4MSwgMi41MDE3NjgxMTIxODI2MTddLCBbMTY2MzcyNzA3Mi45NTgyODEzLCA1NDk5LCAyLjIyMjUyODkzNDQ3ODc1OThdLCBbMTY2MzcyNzA3My4zMTU0NjE0LCA1NTI2LCAzLjg1OTM1MTE1ODE0MjA5XSwgWzE2NjM3MjcwNzMuNDE1MjkwOCwgNTUzNSwgMy4xMjE2MTgwMzI0NTU0NDQzXSwgWzE2NjM3MjcwNzMuNjEwMDYyNCwgNTU1MywgMi4yNjg3NDA0MTU1NzMxMl0sIFsxNjYzNzI3MDczLjc5Mzk3MTgsIDU1NzEsIDIuMzA4MDgyMTAzNzI5MjQ4XSwgWzE2NjM3MjcwNzMuOTgwMTczOCwgNTU4OSwgMi4yMjA2MzExMjI1ODkxMTEzXSwgWzE2NjM3MjcwNzQuMTYwODYxNSwgNTYwNywgMi4zODAzNzE1NzA1ODcxNThdLCBbMTY2MzcyNzA3NC4yNDU1MDMyLCA1NjE2LCAyLjM0Nzk0OTk4MTY4OTQ1M10sIFsxNjYzNzI3MDc0LjUzMTU4MTYsIDU2NDMsIDQuMzA4Mzc0NDA0OTA3MjI3XSwgWzE2NjM3MjcwNzQuNjE4NDIsIDU2NTIsIDQuNjE2MzE4MjI1ODYwNTk2XSwgWzE2NjM3MjcwNzQuNzEzMjY2MSwgNTY2MSwgMy41MjEzOTg3ODI3MzAxMDI1XSwgWzE2NjM3MjcwNzQuODAzMDUxMiwgNTY3MCwgNS41MDYzODE5ODg1MjUzOTFdLCBbMTY2MzcyNzA3NS4xODAxNDYyLCA1NzA2LCAyLjgyMzkwODMyOTAxMDAwOThdLCBbMTY2MzcyNzA3NS4zNzI3ODgyLCA1NzI0LCAzLjAzNDAzNDcyOTAwMzkwNjJdLCBbMTY2MzcyNzA3NS41NTY3ODksIDU3NDIsIDIuMzI0NzIwNjIxMTA5MDA5XSwgWzE2NjM3MjcwNzUuODMzMDUyMiwgNTc2OSwgMi4zNTg4MDc1NjM3ODE3MzgzXSwgWzE2NjM3MjcwNzUuOTI4NzA3OCwgNTc3OCwgMi43MTQzNDU0NTUxNjk2Nzc3XSwgWzE2NjM3MjcwNzYuMDE3MjYwMywgNTc4NywgMi42MDE5NzI4MTgzNzQ2MzRdLCBbMTY2MzcyNzA3Ni4xMDg3NDEzLCA1Nzk2LCAyLjM1MDM2NjM1Mzk4ODY0NzVdLCBbMTY2MzcyNzA3Ni4yMDgzOTE0LCA1ODA1LCAyLjY4OTQyNjQyMjExOTE0MDZdLCBbMTY2MzcyNzA3Ni4yOTI5MzEsIDU4MTQsIDIuNTY2NzIxNDM5MzYxNTcyM10sIFsxNjYzNzI3MDc2LjY1NDgzMiwgNTg1MCwgMi42NDEwNjYzMTI3ODk5MTddLCBbMTY2MzcyNzA3Ni44MjczMDQsIDU4NjgsIDIuOTQ5NjQyNjU4MjMzNjQyNl0sIFsxNjYzNzI3MDc2LjkxNTcwNTQsIDU4NzcsIDMuNzg4MzgwODYxMjgyMzQ4Nl0sIFsxNjYzNzI3MDc3LjAwMjE0NiwgNTg4NiwgMy41MTM1MDgzMTk4NTQ3MzYzXSwgWzE2NjM3MjcwNzcuMTA1NDg2MiwgNTg5NSwgMi4zMDM3NDgzNjkyMTY5MTldLCBbMTY2MzcyNzA3Ny4xOTYwNTIsIDU5MDQsIDMuMjA0MTEyNzY4MTczMjE3OF0sIFsxNjYzNzI3MDc3LjQ5NjIyMjUsIDU5MzEsIDIuNDcyMjcwMDExOTAxODU1NV0sIFsxNjYzNzI3MDc3LjYyOTc0NjcsIDU5NDAsIDIuNjAzNTAwODQzMDQ4MDk1N10sIFsxNjYzNzI3MDc3Ljc2MDkyOSwgNTk0OSwgMi42NjYzNzYxMTM4OTE2MDE2XSwgWzE2NjM3MjcwNzguNTgzODA4MiwgNjAxMiwgMi4yMDk2NzAwNjY4MzM0OTZdLCBbMTY2MzcyNzA3OC44NTE3MzcsIDYwMzksIDIuMTczNjg3MjE5NjE5NzUxXSwgWzE2NjM3MjcwNzkuMzkzMDA3OCwgNjA4NCwgMi4xNjc3NjI1MTc5MjkwNzddLCBbMTY2MzcyNzA3OS41Mjc4MDA2LCA2MDkzLCAyLjEzMTI4OTI0MzY5ODEyXSwgWzE2NjM3MjcwNzkuNjI4NDA2LCA2MTAyLCAyLjI0MDQwNDg0NDI4NDA1NzZdLCBbMTY2MzcyNzA3OS45NTgwODQsIDYxMjksIDIuMzg2NDIxMjAzNjEzMjgxMl0sIFsxNjYzNzI3MDgwLjM4MDI5MjcsIDYxNDcsIDMuMjAzMTg1MzE5OTAwNTEyN10sIFsxNjYzNzI3MDgwLjUxMDAyMSwgNjE1NiwgMy4yNTEzODcxMTkyOTMyMTNdLCBbMTY2MzcyNzA4MC42MDIzMDMsIDYxNjUsIDIuOTI0MjQ4MjE4NTM2Mzc3XSwgWzE2NjM3MjcwODAuODcwODQ3NSwgNjE5MiwgMi4zODM1ODA0NDYyNDMyODZdLCBbMTY2MzcyNzA4MS40MjcwODU0LCA2MjM3LCAyLjA1ODQ4NTI2OTU0NjUwOV0sIFsxNjYzNzI3MDgxLjUzNjg4MTQsIDYyNDYsIDIuMTA3NTgxODUzODY2NTc3XSwgWzE2NjM3MjcwODEuNjM0NDMwNCwgNjI1NSwgMi4xODIwMzQwMTU2NTU1MTc2XSwgWzE2NjM3MjcwODEuNzQ2MTE3OCwgNjI2NCwgMi4zMTk0MjM5MTM5NTU2ODg1XSwgWzE2NjM3MjcwODEuODM4MDcxOCwgNjI3MywgMi4yMjkyMTcyOTA4NzgyOTZdLCBbMTY2MzcyNzA4MS45MzY5OTIsIDYyODIsIDIuMjgxMDQzMDUyNjczMzRdLCBbMTY2MzcyNzA4Mi4xOTI4OTksIDYzMDAsIDIuNTM2MDM1MDYwODgyNTY4NF0sIFsxNjYzNzI3MDgyLjQ3OTMxMzksIDYzMjcsIDIuNzI1ODg1MTUyODE2NzcyNV0sIFsxNjYzNzI3MDgyLjU2NzI4NDgsIDYzMzYsIDIuMTg3ODgwMDM5MjE1MDg4XSwgWzE2NjM3MjcwODIuNzQ0ODE1NiwgNjM1NCwgMi41MzU5MDIwMjMzMTU0Mjk3XSwgWzE2NjM3MjcwODMuMTAxODQ1MywgNjM5MCwgMi4yNTkxODI0NTMxNTU1MTc2XSwgWzE2NjM3MjcwODMuMTg3MTI4NSwgNjM5OSwgMi4yNzIwMDM2NTA2NjUyODNdLCBbMTY2MzcyNzA4My4zNzg4Mjk1LCA2NDE3LCA0LjU2MzU2OTU0NTc0NTg1XSwgWzE2NjM3MjcwODMuNjU5ODk3LCA2NDQ0LCAyLjg0ODA4MDg3MzQ4OTM4XSwgWzE2NjM3MjcwODMuODQwMDE0NywgNjQ2MiwgMi41MDIyMjk5Mjg5NzAzMzddLCBbMTY2MzcyNzA4NC4wMTY4MSwgNjQ4MCwgMi4yNDM5MDAyOTkwNzIyNjU2XSwgWzE2NjM3MjcwODQuMTEzNDk5MiwgNjQ4OSwgMi4xNzkwODgxMTU2OTIxMzg3XSwgWzE2NjM3MjcwODQuMjU3NTYwNywgNjQ5OCwgMi4xMzA4NDQ4MzE0NjY2NzVdLCBbMTY2MzcyNzA4NC41MjE0NTk4LCA2NTE2LCAzLjM1NDgzODYwOTY5NTQzNDZdLCBbMTY2MzcyNzA4NC43OTA4NzU0LCA2NTM0LCAyLjQxNTI4MTI5NTc3NjM2N10sIFsxNjYzNzI3MDg0LjkwNDUzNSwgNjU0MywgMi4zNDE0MDU4Njg1MzAyNzM0XSwgWzE2NjM3MjcwODUuMDA4NTQyMywgNjU1MiwgMi40OTA5OTczMTQ0NTMxMjVdLCBbMTY2MzcyNzA4NS4xMTk3Mjk1LCA2NTYxLCAzLjkxMjA0NDc2MzU2NTA2MzVdLCBbMTY2MzcyNzA4NS4yMTY3Nzg1LCA2NTcwLCAyLjQ5Mjg0NDU4MTYwNDAwNF0sIFsxNjYzNzI3MDg1LjM5NDA1MzUsIDY1ODgsIDMuMDk0MjgzMzQyMzYxNDVdLCBbMTY2MzcyNzA4NS40ODc5NDIyLCA2NTk3LCAyLjM1NDkzMzI2MTg3MTMzOF0sIFsxNjYzNzI3MDg1LjU4NzIxNTIsIDY2MDYsIDIuNTEyNjM4NTY4ODc4MTc0XSwgWzE2NjM3MjcwODYuMDYxMTUzMiwgNjY1MSwgMi4yOTYzOTMxNTYwNTE2MzU3XSwgWzE2NjM3MjcwODYuMTUwNzUwNCwgNjY2MCwgMi4yNTcwNjI0MzUxNTAxNDY1XSwgWzE2NjM3MjcwODYuMjM5NjM3OSwgNjY2OSwgMi4yMzk4NjYyNTY3MTM4NjddLCBbMTY2MzcyNzA4Ni40MTY1NzI2LCA2Njg3LCAyLjI3ODk0MzMwMDI0NzE5MjRdLCBbMTY2MzcyNzA4Ni41MDg3NDExLCA2Njk2LCAyLjIyOTk2NDczMzEyMzc3OTNdLCBbMTY2MzcyNzA4Ni42MDY4NTQyLCA2NzA1LCAyLjEzNzA4OTcyOTMwOTA4Ml0sIFsxNjYzNzI3MDg2LjcxMjg0MSwgNjcxNCwgMi4zNjEyMjc1MTIzNTk2MTldLCBbMTY2MzcyNzA4Ny40MzM2MTAyLCA2Nzc3LCAyLjA5MTIxNDQxODQxMTI1NV0sIFsxNjYzNzI3MDg3Ljc4NDAwNywgNjgwNCwgMy4wNjcwNjM1NzAwMjI1ODNdLCBbMTY2MzcyNzA4Ny44NzM2ODY2LCA2ODEzLCAzLjI4MTMyOTM5MzM4Njg0MV0sIFsxNjYzNzI3MDg4LjA1MTYwMjgsIDY4MzEsIDQuMjc1NzczNTI1MjM4MDM3XSwgWzE2NjM3MjcwODguNTM2NzQ3LCA2ODc2LCAyLjE3ODgxNDE3Mjc0NDc1MV0sIFsxNjYzNzI3MDg4LjYyNjgwOTEsIDY4ODUsIDIuMjI3MzQyMzY3MTcyMjQxXSwgWzE2NjM3MjcwODguNzIyODI3LCA2ODk0LCAyLjI3NjEzNjM5ODMxNTQyOTddLCBbMTY2MzcyNzA4OS4xMjE4ODgsIDY5MTIsIDIuNDkxMjkxNzYxMzk4MzE1NF0sIFsxNjYzNzI3MDg5LjIyMjI3OTgsIDY5MjEsIDMuMzM0NzE3NTEyMTMwNzM3M10sIFsxNjYzNzI3MDg5LjMxMjcxMTcsIDY5MzAsIDIuOTg1OTA2NjAwOTUyMTQ4NF0sIFsxNjYzNzI3MDg5LjUxMTI2NDMsIDY5NDgsIDIuMTMzMzc4OTgyNTQzOTQ1M10sIFsxNjYzNzI3MDg5LjYyMTc5OTIsIDY5NTcsIDIuMjk4NDgxOTQxMjIzMTQ0NV0sIFsxNjYzNzI3MDg5Ljc0NDA1NDgsIDY5NjYsIDIuNjUxNTE1OTYwNjkzMzU5NF0sIFsxNjYzNzI3MDg5Ljk4OTcyMDMsIDY5ODQsIDIuMzUyNjU4OTg3MDQ1Mjg4XSwgWzE2NjM3MjcwOTAuMDkzNjEwOCwgNjk5MywgMi4xMTI5OTMyNDAzNTY0NDUzXSwgWzE2NjM3MjcwOTAuMzE5OTMzLCA3MDExLCAyLjM5NzYxNjM4NjQxMzU3NF0sIFsxNjYzNzI3MDkwLjQxNDEwMzUsIDcwMjAsIDIuMjYwMjU3NzIwOTQ3MjY1Nl0sIFsxNjYzNzI3MDkwLjUxMTQyODQsIDcwMjksIDIuNTUwMjY5MTI2ODkyMDldLCBbMTY2MzcyNzA5MC42MDE0MTc4LCA3MDM4LCA0LjQ3Njc0Nzk4OTY1NDU0MV0sIFsxNjYzNzI3MDkwLjY5MzI5LCA3MDQ3LCAzLjAyNjcxMDAzMzQxNjc0OF0sIFsxNjYzNzI3MDkwLjc5MTczNjYsIDcwNTYsIDMuMDQwNDAzODQyOTI2MDI1NF0sIFsxNjYzNzI3MDkxLjE5ODY2MzcsIDcwODMsIDIuNjMxMDI3MjIxNjc5Njg3NV0sIFsxNjYzNzI3MDkxLjQwNjU3MSwgNzEwMSwgMi41MzIxOTk4NTk2MTkxNDA2XSwgWzE2NjM3MjcwOTEuNTAzODMwNCwgNzExMCwgMi4yMTMzMjI4Nzc4ODM5MTFdLCBbMTY2MzcyNzA5MS43MDI4MTUzLCA3MTI4LCA0LjE5NjY1OTU2NDk3MTkyNF0sIFsxNjYzNzI3MDkxLjg5NzUyMzQsIDcxNDYsIDYuMTA3NTkzMDU5NTM5Nzk1XSwgWzE2NjM3MjcwOTIuMDkzMDQ2NywgNzE2NCwgNC41MTE5MzQyODAzOTU1MDhdLCBbMTY2MzcyNzA5Mi4xOTAwMjY4LCA3MTczLCAyLjg1MzgxNjk4NjA4Mzk4NDRdLCBbMTY2MzcyNzA5Mi40NzEyNTIyLCA3MjAwLCAyLjIzMDY0MjMxODcyNTU4Nl0sIFsxNjYzNzI3MDkyLjU2MTU3MTYsIDcyMDksIDIuNjAxNDQ0NDgyODAzMzQ0N10sIFsxNjYzNzI3MDkyLjkzMjYzNzcsIDcyNDUsIDIuMDU0MDIxMTIwMDcxNDExXSwgWzE2NjM3MjcwOTMuMDM3NzIxOSwgNzI1NCwgMi4xNDM0NjA1MTIxNjEyNTVdLCBbMTY2MzcyNzA5My4xMjI2NTIsIDcyNjMsIDIuNjA5Mzg2NjgyNTEwMzc2XSwgWzE2NjM3MjcwOTMuMjA4Nzc1NSwgNzI3MiwgMi4yNDIxOTE1NTMxMTU4NDQ3XSwgWzE2NjM3MjcwOTMuNDcyOTgzMSwgNzI5OSwgMi4wMzQzNDk0NDE1MjgzMjAzXSwgWzE2NjM3MjcwOTMuNzUzOTk2MSwgNzMyNiwgMy42OTY2MzkyOTkzOTI3XSwgWzE2NjM3MjcwOTQuMjk5ODkwMywgNzM3MSwgMi4xMDk2MzQzOTk0MTQwNjI1XSwgWzE2NjM3MjcwOTQuMzg1OTk0NCwgNzM4MCwgMi40MjExMDQxOTI3MzM3NjQ2XSwgWzE2NjM3MjcwOTQuNTY4NDc3MiwgNzM5OCwgMi4wODc3MDc5OTYzNjg0MDhdLCBbMTY2MzcyNzA5NC42NTYyMzcxLCA3NDA3LCAyLjI3OTE0NzYyNDk2OTQ4MjRdLCBbMTY2MzcyNzA5NC43OTIzNzU2LCA3NDE2LCAyLjIxNDI0ODE4MDM4OTQwNDNdLCBbMTY2MzcyNzA5NS4wNDI0NywgNzQzNCwgMi4wNDQ0MzQzMDkwMDU3MzczXSwgWzE2NjM3MjcwOTUuMTYwNjE4OCwgNzQ0MywgMi4xNDM5ODc4OTQwNTgyMjc1XSwgWzE2NjM3MjcwOTUuMjkzNzY2NywgNzQ1MiwgMi4zMDY2MjU2MDQ2Mjk1MTY2XSwgWzE2NjM3MjcwOTUuNDA2MDIwOSwgNzQ2MSwgMy4xOTE0ODc3ODkxNTQwNTI3XSwgWzE2NjM3MjcwOTUuODI0NTY2OCwgNzQ5NywgMi40NjA3NDA4MDQ2NzIyNDFdLCBbMTY2MzcyNzA5NS45MzkzNCwgNzUwNiwgMi4yOTk3MzA1MzkzMjE4OTk0XSwgWzE2NjM3MjcwOTYuMTQ0MDExNSwgNzUyNCwgMi4yMDc3ODE3OTE2ODcwMTE3XSwgWzE2NjM3MjcwOTYuMjM2OTU4LCA3NTMzLCAyLjI1Mzk0MDU4MjI3NTM5MDZdLCBbMTY2MzcyNzA5Ni4zMzEwOTA1LCA3NTQyLCAyLjExMjcxNjQzNjM4NjEwODRdLCBbMTY2MzcyNzA5Ni41MjgyOTcsIDc1NjAsIDIuNDg2NDY5NTA3MjE3NDA3Ml0sIFsxNjYzNzI3MDk2LjYyNTEzMTQsIDc1NjksIDIuNTczOTgzOTA3Njk5NTg1XSwgWzE2NjM3MjcwOTYuODk3ODE1LCA3NTg3LCAyLjI0NDM5OTU0NzU3NjkwNDNdLCBbMTY2MzcyNzA5Ni45OTYzOTczLCA3NTk2LCAyLjEzODE5ODg1MjUzOTA2MjVdLCBbMTY2MzcyNzA5Ny4xOTA3NTI1LCA3NjE0LCAyLjIwOTAyOTQzNjExMTQ1XSwgWzE2NjM3MjcwOTcuNjkxNzA5OCwgNzY1OSwgMi4yNjE3NjczODczOTAxMzY3XSwgWzE2NjM3MjcwOTguMDExNjEzNCwgNzY2OCwgMy40NzA2MTYxMDIyMTg2MjhdLCBbMTY2MzcyNzA5OC4zMDQ4ODU5LCA3Njk1LCAyLjY1NzQ0NDk1MzkxODQ1N10sIFsxNjYzNzI3MDk4LjU5NzAyOTQsIDc3MjIsIDIuMDg1MDMzODkzNTg1MjA1XSwgWzE2NjM3MjcwOTguOTcwNjY2NCwgNzc0OSwgMi4xMTUyNzM0NzU2NDY5NzI3XSwgWzE2NjM3MjcwOTkuMDY4MzE5LCA3NzU4LCAyLjg0NzAxNDE4ODc2NjQ3OTVdLCBbMTY2MzcyNzA5OS4xNjcyOTg2LCA3NzY3LCAzLjE1OTEzNjc3MjE1NTc2MTddLCBbMTY2MzcyNzA5OS40NzkwMTgyLCA3Nzk0LCAyLjA5NDk2ODMxODkzOTIwOV0sIFsxNjYzNzI3MDk5LjU2OTIxMTcsIDc4MDMsIDIuMDg3NzU3MzQ5MDE0MjgyMl0sIFsxNjYzNzI3MDk5Ljk5ODkwOTIsIDc4MzksIDIuNjI2MzkwMjE4NzM0NzQxXSwgWzE2NjM3MjcxMDAuMDkyOTc1OSwgNzg0OCwgMi4xNzU4Mjg5MzM3MTU4MjAzXSwgWzE2NjM3MjcxMDEuMTUxMzEzOCwgNzkzOCwgMi4xOTU3NDk3NTk2NzQwNzIzXSwgWzE2NjM3MjcxMDEuMzQ5OTg1NiwgNzk1NiwgMy4zOTUyNDA1NDUyNzI4MjddLCBbMTY2MzcyNzEwMS40NjY3LCA3OTY1LCAzLjg1MDQxOTA0NDQ5NDYyOV0sIFsxNjYzNzI3MTAxLjU2NDg4MTYsIDc5NzQsIDMuMjk0NTYzNTMxODc1NjEwNF0sIFsxNjYzNzI3MTAxLjY1NTE0ODcsIDc5ODMsIDIuMzA2MzkyMTkyODQwNTc2XSwgWzE2NjM3MjcxMDEuODQ3NDU2MiwgODAwMSwgMi4yOTg4ODE3NjkxODAyOThdLCBbMTY2MzcyNzEwMi4wNDIzOTgyLCA4MDE5LCAyLjE3NTExOTE2MTYwNTgzNV0sIFsxNjYzNzI3MTAyLjIzMzQ2NCwgODAzNywgMi4zMDE4ODcwMzUzNjk4NzNdLCBbMTY2MzcyNzEwMi41MzE4NTM3LCA4MDY0LCAyLjI5MzI4Mjk4NTY4NzI1Nl0sIFsxNjYzNzI3MTAyLjcxOTE2OCwgODA4MiwgMi4wNjYxMTY4MDk4NDQ5NzA3XSwgWzE2NjM3MjcxMDIuODE1MTc2NywgODA5MSwgMi4xNDAzOTY4MzM0MTk4XSwgWzE2NjM3MjcxMDMuMTA2ODM2MywgODExOCwgMS45ODM2Nzg4MTc3NDkwMjM0XSwgWzE2NjM3MjcxMDMuMjEyMjM5NSwgODEyNywgMi4wMTMxNjY2NjYwMzA4ODRdLCBbMTY2MzcyNzEwMy4zOTkzNzkzLCA4MTQ1LCAyLjE3MTYxOTE3Njg2NDYyNF0sIFsxNjYzNzI3MTAzLjYxMjY3MDQsIDgxNjMsIDIuNDYwOTEzMTgxMzA0OTMxNl0sIFsxNjYzNzI3MTAzLjcwNjM0OCwgODE3MiwgMi42Nzg3NTQzMjk2ODEzOTY1XSwgWzE2NjM3MjcxMDMuODAzMDA1LCA4MTgxLCAyLjM0MjE1NzEyNTQ3MzAyMjVdLCBbMTY2MzcyNzEwNC4wMjY4ODg2LCA4MTk5LCAzLjA2MzQ5MDE1MjM1OTAwOV0sIFsxNjYzNzI3MTA0LjEzNDIwNDEsIDgyMDgsIDIuNzUwMzI2Mzk1MDM0NzldLCBbMTY2MzcyNzEwNC4zNDA2Njc3LCA4MjI2LCAzLjQxMTEyMzUxNDE3NTQxNV0sIFsxNjYzNzI3MTA0LjQ2MTQ4MDQsIDgyMzUsIDIuNzU3MzA1MTQ1MjYzNjcyXSwgWzE2NjM3MjcxMDQuNzE0MTQsIDgyNTMsIDMuNzkwNjI0MTQxNjkzMTE1Ml0sIFsxNjYzNzI3MTA0Ljg5MjYzNiwgODI3MSwgMi40OTE4Nzg3NDc5NDAwNjM1XSwgWzE2NjM3MjcxMDUuMDAzNTYxNywgODI4MCwgMi42MzM2MTU5NzA2MTE1NzIzXSwgWzE2NjM3MjcxMDUuMTk2ODUyLCA4Mjk4LCAyLjE4MDYxNDQ3MTQzNTU0N10sIFsxNjYzNzI3MTA1LjM3NTI0MjIsIDgzMTYsIDIuNjAyNjg3MTIwNDM3NjIyXSwgWzE2NjM3MjcxMDUuNzg3NDkxMywgODM1MiwgMi44MzM5MDUyMjAwMzE3MzgzXSwgWzE2NjM3MjcxMDUuODk4MDQwMywgODM2MSwgNC4zNzI0ODc1NDUwMTM0MjhdLCBbMTY2MzcyNzEwNi4wMzA2MDQsIDgzNzAsIDQuMTMzODQxNTE0NTg3NDAyXSwgWzE2NjM3MjcxMDYuMTY1Mzk0OCwgODM3OSwgMy4xMDE2Njc4ODEwMTE5NjNdLCBbMTY2MzcyNzEwNi4yNjI0NTkzLCA4Mzg4LCAyLjQ3NTg5MzczNTg4NTYyXSwgWzE2NjM3MjcxMDYuMzUyMDA1LCA4Mzk3LCAyLjA5NjUyMDY2MjMwNzczOTNdLCBbMTY2MzcyNzEwNi40NTkzOTYxLCA4NDA2LCAyLjA4NTAwNzE5MDcwNDM0NTddLCBbMTY2MzcyNzEwNi42NTE0MDMyLCA4NDI0LCAyLjQyMjE5NTE5NjE1MTczMzRdLCBbMTY2MzcyNzEwNy4yMTI2NTM5LCA4NDYwLCAyLjQ2MzU0Njk5MTM0ODI2NjZdLCBbMTY2MzcyNzEwNy4zODQxNjAzLCA4NDc4LCAyLjI4MDcxNTQ2NTU0NTY1NDNdLCBbMTY2MzcyNzEwNy40ODA0ODU3LCA4NDg3LCAyLjA3ODM1NzIxOTY5NjA0NV0sIFsxNjYzNzI3MTA3LjgwODMzMzYsIDg1MTQsIDIuMTMwMjcwOTU3OTQ2Nzc3M10sIFsxNjYzNzI3MTA4LjI2ODcyODUsIDg1NTAsIDMuMjAyMjU1NzI1ODYwNTk1N10sIFsxNjYzNzI3MTA4LjM2ODA0OTEsIDg1NTksIDIuNjIxNjc3ODc1NTE4Nzk5XSwgWzE2NjM3MjcxMDguNTY3MTEzNiwgODU3NywgMi4yMTE5Nzg0MzU1MTYzNTc0XSwgWzE2NjM3MjcxMDguNzgzOTM1MywgODU5NSwgMi4zNzE5NzM1MTQ1NTY4ODQ4XSwgWzE2NjM3MjcxMDguODc4MjEzLCA4NjA0LCAyLjAxNjY1ODU0NDU0MDQwNTNdLCBbMTY2MzcyNzEwOC45ODg1ODY0LCA4NjEzLCAyLjAyNjA5NTg2NzE1Njk4MjRdLCBbMTY2MzcyNzEwOS40MDQ2OTksIDg2NDksIDEuOTkzODgwNjI5NTM5NDg5N10sIFsxNjYzNzI3MTA5LjUwMjYyOCwgODY1OCwgMi4wMjI5MjM3MDc5NjIwMzZdLCBbMTY2MzcyNzEwOS42MDU4NTA3LCA4NjY3LCAyLjI5Mzc0MTQ2NDYxNDg2OF0sIFsxNjYzNzI3MTA5LjcyNjE1NiwgODY3NiwgMi40NjkwNTU4OTEwMzY5ODczXSwgWzE2NjM3MjcxMDkuODM2NDIxNSwgODY4NSwgMy41OTg1NjcyNDczOTA3NDddLCBbMTY2MzcyNzEwOS45MzM0MDM3LCA4Njk0LCAyLjQzMjg4ODI2OTQyNDQzODVdLCBbMTY2MzcyNzExMC4xMDg3OTk3LCA4NzEyLCAyLjAzNDY4MDM2NjUxNjExMzNdLCBbMTY2MzcyNzExMC4yMDI3MTc4LCA4NzIxLCAyLjM4NDM5NDQwNzI3MjMzOV0sIFsxNjYzNzI3MTEwLjQ2NTU4MiwgODc0OCwgMi4wMDk3NDQxNjczMjc4ODFdLCBbMTY2MzcyNzExMC45MTQ3Mjc3LCA4NzkzLCAyLjMxMTY5NzAwNjIyNTU4Nl0sIFsxNjYzNzI3MTExLjEwNzc3OTcsIDg4MTEsIDIuMTkwNTg1NjEzMjUwNzMyNF0sIFsxNjYzNzI3MTExLjE5OTk3MTQsIDg4MjAsIDIuMTA3OTAzMDAzNjkyNjI3XSwgWzE2NjM3MjcxMTEuMzc2NDg5LCA4ODM4LCAyLjM4MzY1NDgzMjgzOTk2Nl0sIFsxNjYzNzI3MTExLjQ3MzMwNiwgODg0NywgMi4zOTgyNDMxODg4NTgwMzIyXSwgWzE2NjM3MjcxMTEuODQ2MDkxNSwgODg4MywgMi4yMTkxNzIwMDA4ODUwMDk4XSwgWzE2NjM3MjcxMTIuMDQyNzI5NCwgODkwMSwgMi4yMjI1NjI1NTE0OTg0MTNdLCBbMTY2MzcyNzExMi4xMzA2MDM4LCA4OTEwLCAyLjQ1Mzk5NzEzNTE2MjM1MzVdLCBbMTY2MzcyNzExMi4yMjU5MjgzLCA4OTE5LCAyLjA1MjU0NzQ1NDgzMzk4NDRdLCBbMTY2MzcyNzExMi40MTMwMzU5LCA4OTM3LCAyLjIxOTE3NTEwMDMyNjUzOF0sIFsxNjYzNzI3MTEyLjYwNDY2NywgODk1NSwgMi4wNDYxMjYzNjU2NjE2MjFdLCBbMTY2MzcyNzExMi42OTQ5MDE3LCA4OTY0LCAyLjE0MzE5ODI1MTcyNDI0M10sIFsxNjYzNzI3MTEyLjc4NjE4OTYsIDg5NzMsIDIuNDU3MDI5MzQyNjUxMzY3XSwgWzE2NjM3MjcxMTIuOTcwODA0LCA4OTkxLCAyLjQzOTgwODEzMDI2NDI4MjJdLCBbMTY2MzcyNzExMy4wNjMxNTUyLCA5MDAwLCAyLjIzNjE3MTk2MDgzMDY4ODVdLCBbMTY2MzcyNzExMy4yNTIwMzU5LCA5MDE4LCAyLjczMzM1MDc1Mzc4NDE3OTddLCBbMTY2MzcyNzExMy4zNDA5ODQzLCA5MDI3LCAzLjM0ODEzODMzMjM2Njk0MzRdLCBbMTY2MzcyNzExMy40MzYyMjMsIDkwMzYsIDIuMDU2MjA1NzQ5NTExNzE4OF0sIFsxNjYzNzI3MTEzLjU5MDU3MywgOTA0NSwgMi4wMDc5MjUwMzM1NjkzMzZdLCBbMTY2MzcyNzExMy43MDg3NDY0LCA5MDU0LCAxLjkzOTM4Mzc0NTE5MzQ4MTRdLCBbMTY2MzcyNzExMy44MDQ5OTg0LCA5MDYzLCAyLjExMDI4MzYxMzIwNDk1Nl0sIFsxNjYzNzI3MTE0LjM0ODU2MTgsIDkxMDgsIDIuMzI3NzY0MjcyNjg5ODE5M10sIFsxNjYzNzI3MTE0LjU1MTIzMywgOTEyNiwgMS45NTE0MzI0NjY1MDY5NThdLCBbMTY2MzcyNzExNC43MjUxMTA4LCA5MTQ0LCAyLjYwMjI5NjU5MDgwNTA1MzddLCBbMTY2MzcyNzExNC44MTQzMjAzLCA5MTUzLCAyLjIyNDgyODQ4MTY3NDE5NDNdLCBbMTY2MzcyNzExNC45MTA3OTA3LCA5MTYyLCAyLjMxMTczOTIwNjMxNDA4N10sIFsxNjYzNzI3MTE1LjY1MzYwNiwgOTIwNywgMi4wMTMwMjQwOTE3MjA1ODFdLCBbMTY2MzcyNzExNi4wMTg5NDA0LCA5MjQzLCAxLjg4NjEyMTM5MjI1MDA2MV0sIFsxNjYzNzI3MTE2LjIwMTE4OCwgOTI2MSwgMi4wMTA0Mjg2NjcwNjg0ODE0XSwgWzE2NjM3MjcxMTYuMzEyOTQ2LCA5MjcwLCAyLjEwMzM4MDIwMzI0NzA3MDNdLCBbMTY2MzcyNzExNi44NjczOTQ0LCA5MzI0LCAxLjk4MDA1OTYyMzcxODI2MTddLCBbMTY2MzcyNzExNi45NTg3MjI0LCA5MzMzLCAxLjkwOTYwMjg4MDQ3NzkwNTNdLCBbMTY2MzcyNzExNy4wNDg1NDM3LCA5MzQyLCAyLjE1MDQxNTQyMDUzMjIyNjZdLCBbMTY2MzcyNzExNy4xNDAxNjksIDkzNTEsIDIuMjg1NTU0MTcwNjA4NTIwNV0sIFsxNjYzNzI3MTE3LjI2MTM4NzYsIDkzNjAsIDIuMTQwNTk0OTU5MjU5MDMzXSwgWzE2NjM3MjcxMTcuNjMzNTc2OSwgOTM5NiwgMi4wNTkyODQ2ODcwNDIyMzYzXSwgWzE2NjM3MjcxMTcuODIyMDI4NCwgOTQxNCwgMi4yNDYyNDgwMDY4MjA2Nzg3XSwgWzE2NjM3MjcxMTcuOTE1Mzg0NSwgOTQyMywgMi41NzQyMjIwODc4NjAxMDc0XSwgWzE2NjM3MjcxMTguNDc5MDQ2OCwgOTQ3NywgMi42MTU0MzcyNjkyMTA4MTU0XSwgWzE2NjM3MjcxMTguNTc0Mjc3OSwgOTQ4NiwgMi4yNzA2Njk5MzcxMzM3ODldLCBbMTY2MzcyNzExOC44NTk3OTgsIDk1MTMsIDIuMjA1ODMyNDgxMzg0Mjc3M10sIFsxNjYzNzI3MTE5LjEwMTc1MiwgOTUzMSwgMi44MTU4NzYwMDcwODAwNzhdLCBbMTY2MzcyNzExOS4yMjEyMTI0LCA5NTQwLCAyLjkwMjQ5NjMzNzg5MDYyNV0sIFsxNjYzNzI3MTE5LjM0NDEwOCwgOTU0OSwgMy4yOTIxNjE5NDE1MjgzMjAzXSwgWzE2NjM3MjcxMTkuNTU4MjM0NywgOTU2NywgMi42MTkwNzg2MzYxNjk0MzM2XSwgWzE2NjM3MjcxMTkuODQ2NTg2NywgOTU5NCwgMi4xNDY1MDQ0MDIxNjA2NDQ1XSwgWzE2NjM3MjcxMTkuOTQzMTAwNywgOTYwMywgMi40MzQ0MTkxNTUxMjA4NDk2XSwgWzE2NjM3MjcxMjAuMDM5ODA5MiwgOTYxMiwgMi40MDUwMTY0MjIyNzE3Mjg1XSwgWzE2NjM3MjcxMjAuMjIxNjc3NSwgOTYzMCwgMi4xMzQ5NjA0MTI5NzkxMjZdLCBbMTY2MzcyNzEyMC4zNDMyNjQsIDk2MzksIDIuNDcxNDMwMDYzMjQ3NjgwN10sIFsxNjYzNzI3MTIwLjQ0MTYyMjMsIDk2NDgsIDIuMjU5MjI1ODQ1MzM2OTE0XSwgWzE2NjM3MjcxMjAuNTQ0MzM0NCwgOTY1NywgMS45Njc4NDYyNzQzNzU5MTU1XSwgWzE2NjM3MjcxMjAuNjM4MDc5LCA5NjY2LCAyLjIyNjU4NTM4ODE4MzU5MzhdLCBbMTY2MzcyNzEyMC43MjgwMzgsIDk2NzUsIDIuODY1NjEwNTk5NTE3ODIyM10sIFsxNjYzNzI3MTIxLjA4OTkxMTIsIDk3MDIsIDIuMzgxOTM1MzU4MDQ3NDg1NF0sIFsxNjYzNzI3MTIxLjIxMDM4MTMsIDk3MTEsIDIuNDA4ODc4MDg3OTk3NDM2NV0sIFsxNjYzNzI3MTIxLjM5NjgzNTYsIDk3MjksIDIuNDQzMTUxOTUwODM2MTgxNl0sIFsxNjYzNzI3MTIxLjQ5NDI0MjIsIDk3MzgsIDIuMDYwMTQ2MzMxNzg3MTA5NF0sIFsxNjYzNzI3MTIxLjU5MzgwNTMsIDk3NDcsIDIuMDU3NjkyNzY2MTg5NTc1XSwgWzE2NjM3MjcxMjEuODc4NDM5LCA5Nzc0LCAyLjIxNjYxMzc2OTUzMTI1XSwgWzE2NjM3MjcxMjEuOTc0OTQxNSwgOTc4MywgMi4xMzQ3OTA2NTg5NTA4MDU3XSwgWzE2NjM3MjcxMjIuMTE3ODU1OCwgOTc5MiwgMi4xMzg5NTc1MDA0NTc3NjM3XSwgWzE2NjM3MjcxMjIuNTgzNjQxNSwgOTgyOCwgMi4yMzk1NTUxMjA0NjgxMzk2XSwgWzE2NjM3MjcxMjIuNjgwNzExMywgOTgzNywgMS44OTgxNzYxOTMyMzczMDQ3XSwgWzE2NjM3MjcxMjIuNzY5MzA4MywgOTg0NiwgMS44OTA2Nzc5Mjg5MjQ1NjA1XSwgWzE2NjM3MjcxMjMuNDc0NjkyMywgOTg5MSwgMS45MzMyOTkzMDMwNTQ4MDk2XSwgWzE2NjM3MjcxMjMuNjc4NDk2OCwgOTkwOSwgMi4wNjgyMDM5MjYwODY0MjZdLCBbMTY2MzcyNzEyMy44NzAwMjA0LCA5OTI3LCAyLjIxNDMyNzU3Mzc3NjI0NV0sIFsxNjYzNzI3MTIzLjk2MDAxODIsIDk5MzYsIDIuMDA1MjM5NzI1MTEyOTE1XSwgWzE2NjM3MjcxMjQuMDU2ODk2LCA5OTQ1LCAyLjI2NTI5MDAyMTg5NjM2MjNdLCBbMTY2MzcyNzEyNC4zNTcxNzgsIDk5NzIsIDIuODgzODYxMDY0OTEwODg4N10sIFsxNjYzNzI3MTI0LjQ2MDM4MzQsIDk5ODEsIDIuMjg4NjU0MDg4OTczOTk5XSwgWzE2NjM3MjcxMjQuNTQ3MjE4MywgOTk5MCwgMS45NTQ2NTYzNjI1MzM1NjkzXSwgWzE2NjM3MjcxMjQuNjQxOTM0MiwgOTk5OSwgMS45OTgxNDI3MTkyNjg3OTg4XSwgWzE2NjM3MjcxMjQuNzQ4MzMwNCwgMTAwMDgsIDEuODc5NDQzMDQ5NDMwODQ3Ml0sIFsxNjYzNzI3MTI0Ljg1MDcwOTcsIDEwMDE3LCAyLjIxMTAwNjY0MTM4NzkzOTVdLCBbMTY2MzcyNzEyNC45NDQ1NzIyLCAxMDAyNiwgMS44NDY1MzY1MTcxNDMyNDk1XSwgWzE2NjM3MjcxMjUuMDM5MzE5MywgMTAwMzUsIDEuOTc4MDYwMjQ1NTEzOTE2XSwgWzE2NjM3MjcxMjUuMjM2MDEyMiwgMTAwNTMsIDIuMjQzODYyMTUyMDk5NjA5NF0sIFsxNjYzNzI3MTI1LjUzMjE2OCwgMTAwODAsIDEuODg2NDAyMzY4NTQ1NTMyMl0sIFsxNjYzNzI3MTI1LjcyMzU3NDYsIDEwMDk4LCAyLjg3Mjk2NDYyMDU5MDIxXSwgWzE2NjM3MjcxMjUuODUwMTE3MiwgMTAxMDcsIDIuNDU5MDcwOTIwOTQ0MjE0XSwgWzE2NjM3MjcxMjYuMTQ2OTMzLCAxMDEzNCwgMi40OTIzODMwMDMyMzQ4NjMzXSwgWzE2NjM3MjcxMjYuMjM3ODU1LCAxMDE0MywgMi4yODUyMDAzNTc0MzcxMzRdLCBbMTY2MzcyNzEyNi40MzQ2NjM1LCAxMDE2MSwgMi4zODI2MDY5ODMxODQ4MTQ1XSwgWzE2NjM3MjcxMjYuNTM5MTI4LCAxMDE3MCwgMi42ODk1NzkyNDg0MjgzNDQ3XSwgWzE2NjM3MjcxMjYuNjMxNTI1NSwgMTAxNzksIDIuOTcxNjQzMjA5NDU3Mzk3NV0sIFsxNjYzNzI3MTI2LjcyOTM4MjUsIDEwMTg4LCAzLjEyNTExMDg2NDYzOTI4MjJdLCBbMTY2MzcyNzEyNi44NDQ4MzkzLCAxMDE5NywgMi4yNDcxNjQwMTEwMDE1ODddLCBbMTY2MzcyNzEyNy4wNjM5MjM2LCAxMDIxNSwgMi4wNjA4ODUxOTA5NjM3NDVdLCBbMTY2MzcyNzEyNy4xNTU5NzgsIDEwMjI0LCAyLjI2MzYxMTc5MzUxODA2NjRdLCBbMTY2MzcyNzEyNy4yNDgwODYyLCAxMDIzMywgMi43NTUzNDY3NzUwNTQ5MzE2XSwgWzE2NjM3MjcxMjcuMzMzMzExLCAxMDI0MiwgMy40MzY2MzY2ODYzMjUwNzMyXSwgWzE2NjM3MjcxMjcuNTU4NjA3OCwgMTAyNjAsIDIuMTIyNDA2NDgyNjk2NTMzXSwgWzE2NjM3MjcxMjcuODMwMzE4NSwgMTAyODcsIDIuNDUyNDE1MjI3ODkwMDE0Nl0sIFsxNjYzNzI3MTI4LjEzMjA4MjUsIDEwMzE0LCAyLjM3NjA1NTcxNzQ2ODI2MTddLCBbMTY2MzcyNzEyOC4yNTk0ODksIDEwMzIzLCAxLjkzNjM1MDM0NTYxMTU3MjNdLCBbMTY2MzcyNzEyOC40OTYyMTgsIDEwMzQxLCAyLjQ3ODY0NTA4NjI4ODQ1Ml0sIFsxNjYzNzI3MTI4LjU5NjM3NSwgMTAzNTAsIDIuNjIzNTY0OTU4NTcyMzg3N10sIFsxNjYzNzI3MTI4LjY4OTY2MiwgMTAzNTksIDEuOTc4NDg5Mzk4OTU2Mjk4OF0sIFsxNjYzNzI3MTI4Ljc5OTYyMDIsIDEwMzY4LCAxLjk5NDgxNzYxNDU1NTM1ODldLCBbMTY2MzcyNzEyOC45MjAzNzIyLCAxMDM3NywgMS45NzEyMDMwODg3NjAzNzZdLCBbMTY2MzcyNzEyOS4wMzMyMjE1LCAxMDM4NiwgMS44NDY5MzU5ODc0NzI1MzQyXSwgWzE2NjM3MjcxMjkuMjM4Nzk1NSwgMTA0MDQsIDIuMTAwNDM1MDE4NTM5NDI4N10sIFsxNjYzNzI3MTI5LjYyMDM5ODMsIDEwNDQwLCAxLjk3NDA2NDQ2OTMzNzQ2MzRdLCBbMTY2MzcyNzEyOS43MTU0ODQsIDEwNDQ5LCAyLjQ0MDAwMzYzMzQ5OTE0NTVdLCBbMTY2MzcyNzEyOS45MTA5NTY2LCAxMDQ2NywgMi4xNDk5NjMxNDA0ODc2NzFdLCBbMTY2MzcyNzEzMC4xNDY1Njk3LCAxMDQ4NSwgMS45NzQ4MzMyNTAwNDU3NzY0XSwgWzE2NjM3MjcxMzAuMzIyODI4MywgMTA1MDMsIDEuODg4NTAyMzU5MzkwMjU4OF0sIFsxNjYzNzI3MTMwLjQzNzk1ODcsIDEwNTEyLCAxLjk1MDMxODU3NDkwNTM5NTVdLCBbMTY2MzcyNzEzMS4wOTE1NzcsIDEwNTY2LCAyLjAzNTQwMjA1OTU1NTA1MzddLCBbMTY2MzcyNzEzMS4xODE0MzgyLCAxMDU3NSwgMS45MTkwNzM3MDA5MDQ4NDYyXSwgWzE2NjM3MjcxMzEuNTYxODg0OSwgMTA1OTMsIDIuMTM4NjIxMDkxODQyNjUxNF0sIFsxNjYzNzI3MTMxLjY1NTk1MzIsIDEwNjAyLCAxLjkxNTcyNDYzNTEyNDIwNjVdLCBbMTY2MzcyNzEzMS43NTE3MjA3LCAxMDYxMSwgMS45Nzg2MTUyODM5NjYwNjQ1XSwgWzE2NjM3MjcxMzIuMTIwOTE1MiwgMTA2NDcsIDIuMDAxMjUwMjY3MDI4ODA4Nl0sIFsxNjYzNzI3MTMyLjI5NjI5OSwgMTA2NjUsIDEuOTIyMDA2MzY4NjM3MDg1XSwgWzE2NjM3MjcxMzIuNDcwMDc1LCAxMDY4MywgMS45ODg0NjA4OTgzOTkzNTNdLCBbMTY2MzcyNzEzMi42NDY1NTU0LCAxMDcwMSwgMi45MjAyMjg0ODEyOTI3MjQ2XSwgWzE2NjM3MjcxMzIuNzMwODA1MiwgMTA3MTAsIDIuMDY1NzYyNzU4MjU1MDA1XSwgWzE2NjM3MjcxMzIuODE0NjM4OSwgMTA3MTksIDIuMDE2NjcyMTM0Mzk5NDE0XSwgWzE2NjM3MjcxMzMuMTEyNzkzNCwgMTA3NDYsIDEuOTQwODc0OTM0MTk2NDcyMl0sIFsxNjYzNzI3MTMzLjIwODgxNCwgMTA3NTUsIDEuOTcyMDQwMTc2MzkxNjAxNl0sIFsxNjYzNzI3MTMzLjMwMTcyOTcsIDEwNzY0LCAyLjExNjU2NjE4MTE4Mjg2MTNdLCBbMTY2MzcyNzEzMy40MTUzMDEzLCAxMDc3MywgMi4xMDI5NjcwMjM4NDk0ODczXSwgWzE2NjM3MjcxMzMuNTE0MTYyLCAxMDc4MiwgMi4wMjg3NTMyODA2Mzk2NDg0XSwgWzE2NjM3MjcxMzMuNjA0MDkyNiwgMTA3OTEsIDIuMzM3MTYwODI1NzI5MzddLCBbMTY2MzcyNzEzMy44NjkyMDQzLCAxMDgxOCwgMi4wNDk5NDEwNjI5MjcyNDZdLCBbMTY2MzcyNzEzMy45NjA2ODE0LCAxMDgyNywgMS44NjkzNjE5OTY2NTA2OTU4XSwgWzE2NjM3MjcxMzQuMjUxNjA2NSwgMTA4NTQsIDIuODQ0NjIzMDg4ODM2NjddLCBbMTY2MzcyNzEzNC4zNDIxNTcsIDEwODYzLCAyLjI5OTM3ODE1NjY2MTk4NzNdLCBbMTY2MzcyNzEzNC40MzA0MDIsIDEwODcyLCAyLjE2OTY1MTc0Njc0OTg3OF0sIFsxNjYzNzI3MTM0LjYxMTQ2MTIsIDEwODkwLCAxLjkzNjU1NjgxNjEwMTA3NDJdLCBbMTY2MzcyNzEzNC43MzI4NjM0LCAxMDg5OSwgMi4wMDYyMTcyNDEyODcyMzE0XSwgWzE2NjM3MjcxMzQuOTk3NzQzNCwgMTA5MjYsIDEuODUzNzU5NzY1NjI1XSwgWzE2NjM3MjcxMzUuMDgxNjYzLCAxMDkzNSwgMi4wNjI0MzYzNDIyMzkzOF0sIFsxNjYzNzI3MTM1LjE3NTMwNjgsIDEwOTQ0LCAyLjA0MDAyMDQ2NTg1MDgzXSwgWzE2NjM3MjcxMzUuMzYxNTYwNiwgMTA5NjIsIDIuMjAyMDI4NzUxMzczMjkxXSwgWzE2NjM3MjcxMzUuNDU0MTA4NSwgMTA5NzEsIDEuOTM1NDQ2MTQzMTUwMzI5Nl0sIFsxNjYzNzI3MTM1LjgxNTE3NDYsIDExMDA3LCAxLjk1NDQ0MzkzMTU3OTU4OThdLCBbMTY2MzcyNzEzNS45MDEzNjA4LCAxMTAxNiwgMS45MTM4NDg1MTkzMjUyNTYzXSwgWzE2NjM3MjcxMzYuMDg1NzIxLCAxMTAzNCwgMS44NTc1MTQzODE0MDg2OTE0XSwgWzE2NjM3MjcxMzYuMzYyMDIwNSwgMTEwNjEsIDEuODI0MzIxNzQ2ODI2MTcxOV0sIFsxNjYzNzI3MTM2LjUxOTk5MjgsIDExMDcwLCAxLjk4ODQ1MzYyNjYzMjY5MDRdLCBbMTY2MzcyNzEzNi44NzgwMDM2LCAxMTA5NywgMi45ODAxNjIzODIxMjU4NTQ1XSwgWzE2NjM3MjcxMzYuOTk4NDk2LCAxMTEwNiwgMi43NzQ4MzM5MTc2MTc3OThdLCBbMTY2MzcyNzEzNy41OTAyMzcxLCAxMTE1MSwgMS45NTE2NDg1OTI5NDg5MTM2XSwgWzE2NjM3MjcxMzcuNzk5MTM1NywgMTExNjksIDIuMTM1OTkxMzM0OTE1MTYxXSwgWzE2NjM3MjcxMzcuODk1Nzg3MiwgMTExNzgsIDIuMjIwNjQ2MTQyOTU5NTk0N10sIFsxNjYzNzI3MTM3Ljk4NDkwNDUsIDExMTg3LCAyLjQyNTQ3NzUwNDczMDIyNDZdLCBbMTY2MzcyNzEzOC4wNzk3MzksIDExMTk2LCAyLjQwMDkxOTkxNDI0NTYwNTVdLCBbMTY2MzcyNzEzOC4xNzUwODE3LCAxMTIwNSwgMi40ODc2MTI3MjQzMDQxOTldLCBbMTY2MzcyNzEzOC4yNjcyNTksIDExMjE0LCAyLjUwNjEzNTk0MDU1MTc1OF0sIFsxNjYzNzI3MTM4LjM1ODE4OTYsIDExMjIzLCAyLjI3NzUwNDY4MjU0MDg5MzZdLCBbMTY2MzcyNzEzOC42NjMyOTA3LCAxMTI1MCwgMi4xMDAwMDcwNTcxODk5NDE0XSwgWzE2NjM3MjcxMzguNzU0MDEzNSwgMTEyNTksIDIuNjM1MzEwODg4MjkwNDA1M10sIFsxNjYzNzI3MTM4Ljg0MTg0MTcsIDExMjY4LCAyLjUxODUxNjU0MDUyNzM0MzhdLCBbMTY2MzcyNzEzOC45Mzk4ODIsIDExMjc3LCAyLjIzNjQ3Njg5ODE5MzM1OTRdLCBbMTY2MzcyNzEzOS4xMjg3MzY3LCAxMTI5NSwgMi4wNDc0OTc5ODc3NDcxOTI0XSwgWzE2NjM3MjcxMzkuMzE1MDgxMSwgMTEzMTMsIDIuMTAyNzgxMDU3MzU3Nzg4XSwgWzE2NjM3MjcxMzkuNDIxNzQxNSwgMTEzMjIsIDIuMTQzNjcwMzIwNTEwODY0M10sIFsxNjYzNzI3MTM5Ljk3NjE3OSwgMTEzNDksIDEuOTQyNTM1NDAwMzkwNjI1XSwgWzE2NjM3MjcxNDAuMDc3MTMyLCAxMTM1OCwgMS45OTg4OTYyNDExODgwNDkzXSwgWzE2NjM3MjcxNDAuMzQ2MzYxNCwgMTEzODUsIDYuODQwNjA5NTUwNDc2MDc0XSwgWzE2NjM3MjcxNDAuNjU3MDU1LCAxMTQxMiwgMi4wOTk2MDQ4NDUwNDY5OTddLCBbMTY2MzcyNzE0MS4wMjMwNTI1LCAxMTQ0OCwgMS45MjE2MjI1MTQ3MjQ3MzE0XSwgWzE2NjM3MjcxNDEuNDg0NTI0LCAxMTQ5MywgMi4yNDMwMDk1NjcyNjA3NDJdLCBbMTY2MzcyNzE0MS41ODM4OTYyLCAxMTUwMiwgMi40NTIwNzMwOTcyMjkwMDRdLCBbMTY2MzcyNzE0MS42NzYxMjIsIDExNTExLCAyLjMwMjQxMDEyNTczMjQyMl0sIFsxNjYzNzI3MTQxLjg1NDI0OTIsIDExNTI5LCAyLjE4MjY0Njk4OTgyMjM4NzddLCBbMTY2MzcyNzE0Mi4wMzg5OTYsIDExNTQ3LCAxLjg1MjM1MDExNTc3NjA2Ml0sIFsxNjYzNzI3MTQyLjMyNzY0MywgMTE1NzQsIDEuOTUzNDM2ODUxNTAxNDY0OF0sIFsxNjYzNzI3MTQyLjYxMDEyOCwgMTE2MDEsIDEuODgxNzYzMzM5MDQyNjYzNl0sIFsxNjYzNzI3MTQyLjgwNDgwNjUsIDExNjE5LCAyLjA3NzYxMjQwMDA1NDkzMTZdLCBbMTY2MzcyNzE0My4wOTYwNjIyLCAxMTY0NiwgMi4zMDY3OTU4MzU0OTQ5OTVdLCBbMTY2MzcyNzE0My4zNzUyNDI1LCAxMTY3MywgMS45NjM2MzM1MzcyOTI0ODA1XSwgWzE2NjM3MjcxNDMuNTUwOTEsIDExNjkxLCAxLjkwMzcwNjY2OTgwNzQzNF0sIFsxNjYzNzI3MTQzLjYzNDcxMzYsIDExNzAwLCAyLjI2OTY5Njk1MDkxMjQ3NTZdLCBbMTY2MzcyNzE0My44MjgzODIzLCAxMTcxOCwgMS45MTE2NDI5MDkwNDk5ODc4XSwgWzE2NjM3MjcxNDMuOTIyNjAyMiwgMTE3MjcsIDEuODAyMjU1NjMwNDkzMTY0XSwgWzE2NjM3MjcxNDQuMTExNDA0NywgMTE3NDUsIDIuNDgzOTczNTAzMTEyNzkzXSwgWzE2NjM3MjcxNDQuMjk4MDU3OCwgMTE3NjMsIDEuNzkyNTg2MzI2NTk5MTIxXSwgWzE2NjM3MjcxNDQuNjYzODQxNywgMTE3OTksIDEuOTE1MjI1NzQ0MjQ3NDM2NV0sIFsxNjYzNzI3MTQ1LjA0MzE2MTIsIDExODM1LCAyLjE4MDY2NTQ5MzAxMTQ3NDZdLCBbMTY2MzcyNzE0NS4xMzgwOTEsIDExODQ0LCAyLjY2NTI0NTc3MTQwODA4MV0sIFsxNjYzNzI3MTQ1LjYwOTM2MiwgMTE4ODksIDMuMzU3NzY2ODY2NjgzOTZdLCBbMTY2MzcyNzE0NS44MDEwMDU0LCAxMTkwNywgMS45NDU3MTc2OTIzNzUxODNdLCBbMTY2MzcyNzE0NS45MDUzNTc0LCAxMTkxNiwgMi4xODUxODk5NjIzODcwODVdLCBbMTY2MzcyNzE0Ni4wODkxMjQyLCAxMTkzNCwgMS45MjkwNjc4NTAxMTI5MTVdLCBbMTY2MzcyNzE0Ni4xODY3MDEzLCAxMTk0MywgMS44NTU5MDgwMzYyMzE5OTQ2XSwgWzE2NjM3MjcxNDYuNTc0OTEyOCwgMTE5NjEsIDEuOTk3NDk4NjMxNDc3MzU2XSwgWzE2NjM3MjcxNDcuMjU5NTUwNiwgMTIwMjQsIDIuMDc0MjQwNjg0NTA5Mjc3M10sIFsxNjYzNzI3MTQ4LjA4OTkzMTUsIDEyMTA1LCAyLjgyNDIyNjg1NjIzMTY4OTVdLCBbMTY2MzcyNzE0OC4xODIyMjkzLCAxMjExNCwgMy40NzIyOTM4NTM3NTk3NjU2XSwgWzE2NjM3MjcxNDguMzcwMzQzLCAxMjEzMiwgMi4xMDgzMDQ3Mzg5OTg0MTNdLCBbMTY2MzcyNzE0OC40NjIyNDI2LCAxMjE0MSwgMi4xNDM0NTgzNjYzOTQwNDNdLCBbMTY2MzcyNzE0OC43NDg4MzMyLCAxMjE2OCwgMi41NDExMzU3ODc5NjM4NjddLCBbMTY2MzcyNzE0OC44NDgzNTU1LCAxMjE3NywgMS45MzI0MTg0NjU2MTQzMTg4XSwgWzE2NjM3MjcxNDkuMDM3ODE3MiwgMTIxOTUsIDEuODg0MjQxODE5MzgxNzEzOV0sIFsxNjYzNzI3MTQ5LjM0MTEwOSwgMTIyMjIsIDEuODM3MDE3MDU5MzI2MTcxOV0sIFsxNjYzNzI3MTQ5LjQzMjE2NjgsIDEyMjMxLCAxLjkxNzQwNzAzNTgyNzYzNjddLCBbMTY2MzcyNzE0OS42MTUzMjY2LCAxMjI0OSwgMS44MjE0NjM5NDI1Mjc3NzFdLCBbMTY2MzcyNzE0OS45ODk4NzM2LCAxMjI4NSwgMi4yODY3ODY3OTQ2NjI0NzU2XSwgWzE2NjM3MjcxNTAuMDgyMTcwNSwgMTIyOTQsIDIuMzYyNjkyMTE3NjkxMDRdLCBbMTY2MzcyNzE1MC4xNzQ3NjA4LCAxMjMwMywgMi41MDgxNzM3MDQxNDczMzldLCBbMTY2MzcyNzE1MC4yNjYwMjg0LCAxMjMxMiwgMi4zNTU5NzMyNDM3MTMzNzldLCBbMTY2MzcyNzE1MC4zNTc0MDQyLCAxMjMyMSwgMi4xNzIwODQzMzE1MTI0NTFdLCBbMTY2MzcyNzE1MC43MzQ3NzY1LCAxMjM1NywgMi4wODQ1MTM2NjQyNDU2MDU1XSwgWzE2NjM3MjcxNTAuODMwNjE4NCwgMTIzNjYsIDIuMTE3ODY5ODUzOTczMzg4N10sIFsxNjYzNzI3MTUxLjA1NTAyOSwgMTIzODQsIDEuOTI5ODM2MjczMTkzMzU5NF0sIFsxNjYzNzI3MTUxLjE3MTA3NDYsIDEyMzkzLCAyLjAxNDQxMTIxMTAxMzc5NF0sIFsxNjYzNzI3MTUxLjYzMTUwNzIsIDEyNDI5LCAyLjczODY2ODIwMzM1Mzg4Ml0sIFsxNjYzNzI3MTUxLjc1Nzc1MjcsIDEyNDM4LCAyLjYwMTA5NTkxNDg0MDY5ODJdLCBbMTY2MzcyNzE1Mi4yMDk0OTU1LCAxMjQ3NCwgMS44NTU2MzM2MTY0NDc0NDg3XSwgWzE2NjM3MjcxNTIuMzA3OTM2NCwgMTI0ODMsIDIuMDE3OTQ4MTUwNjM0NzY1Nl0sIFsxNjYzNzI3MTUyLjY5NDA3NzcsIDEyNTE5LCAxLjkwODA3MzMwNjA4MzY3OTJdLCBbMTY2MzcyNzE1Mi45NzUzNTIsIDEyNTQ2LCAxLjg0NzMxNzMzNzk4OTgwNzFdLCBbMTY2MzcyNzE1My4yNTYyNjE2LCAxMjU3MywgMS44ODg4NjIwMTM4MTY4MzM1XSwgWzE2NjM3MjcxNTMuMzgyMTk1NywgMTI1ODIsIDEuODMxNjA2NzQ1NzE5OTA5N10sIFsxNjYzNzI3MTUzLjYxMjQ3MiwgMTI2MDAsIDEuOTkxMzg2MDU1OTQ2MzVdLCBbMTY2MzcyNzE1My42OTgwNzc0LCAxMjYwOSwgMS45ODI5NTcyNDM5MTkzNzI2XSwgWzE2NjM3MjcxNTMuOTgwNzU5MSwgMTI2MzYsIDEuODk4Nzk1NzIzOTE1MV0sIFsxNjYzNzI3MTU0LjE1Nzc3MTgsIDEyNjU0LCAyLjQ3Nzg2ODU1Njk3NjMxODRdLCBbMTY2MzcyNzE1NS4xOTYwNjM1LCAxMjcyNiwgMi4wOTAyNTAyNTM2NzczNjhdLCBbMTY2MzcyNzE1NS40OTA4NjI4LCAxMjc1MywgMi4yMDM0MTkyMDg1MjY2MTEzXSwgWzE2NjM3MjcxNTUuNjAxMDk1LCAxMjc2MiwgMS45MzQwMTk0NDYzNzI5ODU4XSwgWzE2NjM3MjcxNTUuODQzNTU3MSwgMTI3ODAsIDIuMTczNDkyOTA4NDc3NzgzXSwgWzE2NjM3MjcxNTYuMDMxOTczMSwgMTI3OTgsIDEuOTAwMjcyMDExNzU2ODk3XSwgWzE2NjM3MjcxNTYuMTIwMTc4NywgMTI4MDcsIDIuMTU5NjY0MTU0MDUyNzM0NF0sIFsxNjYzNzI3MTU2Ljk1MjMzNzMsIDEyODg4LCAxLjc2MjA3MjU2MzE3MTM4NjddLCBbMTY2MzcyNzE1Ny4wNDUwODIzLCAxMjg5NywgMS44OTI3OTM4OTM4MTQwODddLCBbMTY2MzcyNzE1Ny4xNDE4MTUsIDEyOTA2LCAxLjg1Mzc5NjAwNTI0OTAyMzRdLCBbMTY2MzcyNzE1Ny4yMzY0MTczLCAxMjkxNSwgMi4xOTA3NDQxNjE2MDU4MzVdLCBbMTY2MzcyNzE1Ny40MTgzNzg2LCAxMjkzMywgMi4xMzg3NjE5OTcyMjI5MDA0XSwgWzE2NjM3MjcxNTcuNjAzMDkwOCwgMTI5NTEsIDIuMTM4MjExMDExODg2NTk2N10sIFsxNjYzNzI3MTU3LjY5MjQzNzYsIDEyOTYwLCAxLjgxOTg1MDIwNjM3NTEyMl0sIFsxNjYzNzI3MTU3Ljc4NDQwMTIsIDEyOTY5LCAyLjE3MzUzNjA2MjI0MDYwMDZdLCBbMTY2MzcyNzE1Ny45MjM2OTQ2LCAxMjk3OCwgMS44ODczNzc4NTgxNjE5MjYzXSwgWzE2NjM3MjcxNTguMzA0OTc4MSwgMTMwMDUsIDEuOTcwNjU0MjQ5MTkxMjg0Ml0sIFsxNjYzNzI3MTU4LjU2NjA0NTMsIDEzMDIzLCAyLjAwMzM1MTIxMTU0Nzg1MTZdLCBbMTY2MzcyNzE1OC42ODcwNTUsIDEzMDMyLCAxLjg3NjM3MTE0NTI0ODQxM10sIFsxNjYzNzI3MTU4LjgwMDc0MSwgMTMwNDEsIDIuMDE1OTU1Njg2NTY5MjE0XSwgWzE2NjM3MjcxNTguOTIzNDQ2MiwgMTMwNTAsIDEuODU4NjA1OTgwODczMTA4XSwgWzE2NjM3MjcxNTkuMDM1MzczNCwgMTMwNTksIDEuNzgyMjY2NzM2MDMwNTc4Nl0sIFsxNjYzNzI3MTU5LjE0Mjg4MjMsIDEzMDY4LCAxLjk5NjE4NDU4NzQ3ODYzNzddLCBbMTY2MzcyNzE1OS4yNTUxOTMsIDEzMDc3LCAyLjE1MDM3OTE4MDkwODIwM10sIFsxNjYzNzI3MTU5LjUxMDIxODEsIDEzMDk1LCAxLjc4ODk3NDY0Mjc1MzYwMV0sIFsxNjYzNzI3MTU5LjYxMTQwMTgsIDEzMTA0LCAxLjc5NjQ1NzQwOTg1ODcwMzZdLCBbMTY2MzcyNzE1OS43MDQ2NzczLCAxMzExMywgMS45MjM3MDYxNzM4OTY3ODk2XSwgWzE2NjM3MjcxNTkuNzk2Njc2NCwgMTMxMjIsIDIuNDQwMjY1ODkzOTM2MTU3Ml0sIFsxNjYzNzI3MTU5Ljg5MTk1NTksIDEzMTMxLCAyLjEyNDM3NjA1ODU3ODQ5MV0sIFsxNjYzNzI3MTU5Ljk4MjMyODcsIDEzMTQwLCAxLjk3MzY5NTg3NDIxNDE3MjRdLCBbMTY2MzcyNzE2MC4wOTM0Nzk0LCAxMzE0OSwgMS44NTcwNzM1NDU0NTU5MzI2XSwgWzE2NjM3MjcxNjAuMjI2MTI1MiwgMTMxNTgsIDEuOTIzMjA3MjgzMDIwMDE5NV0sIFsxNjYzNzI3MTYwLjMwOTY4MywgMTMxNjcsIDEuOTAxMTk3MzE0MjYyMzkwMV0sIFsxNjYzNzI3MTYwLjM5NzgzNzksIDEzMTc2LCAxLjgwODc0MzIzODQ0OTA5NjddLCBbMTY2MzcyNzE2MC40OTYwMDM5LCAxMzE4NSwgMi4xMTMwMTk3MDQ4MTg3MjU2XSwgWzE2NjM3MjcxNjEuMDcwODUzNSwgMTMyMzksIDIuMjg5MzgzNjQ5ODI2MDVdLCBbMTY2MzcyNzE2MS4zNTczODM3LCAxMzI2NiwgMS44NDcwMjkzMjgzNDYyNTI0XSwgWzE2NjM3MjcxNjEuNDY1ODk1MiwgMTMyNzUsIDIuMTM5MzY2NjI2NzM5NTAyXSwgWzE2NjM3MjcxNjEuNjY1MjM1LCAxMzI5MywgMi4wMTcwMTQwMjY2NDE4NDU3XSwgWzE2NjM3MjcxNjEuNzYzOTQ1NiwgMTMzMDIsIDEuODAzOTcwMzM2OTE0MDYyNV0sIFsxNjYzNzI3MTYyLjE1NDUzNTgsIDEzMzM4LCAxLjc2NDAyNzExODY4Mjg2MTNdLCBbMTY2MzcyNzE2Mi4yNTA2NDY4LCAxMzM0NywgMS43ODU2ODM2MzE4OTY5NzI3XSwgWzE2NjM3MjcxNjIuMzQ5Mjc3MywgMTMzNTYsIDEuNzQ4Njc3NzMwNTYwMzAyN10sIFsxNjYzNzI3MTYyLjQzODgzNSwgMTMzNjUsIDEuOTIxOTk1NDAxMzgyNDQ2M10sIFsxNjYzNzI3MTYyLjcxNDgzMjgsIDEzMzkyLCAxLjg3MzQ4NzU5MTc0MzQ2OTJdLCBbMTY2MzcyNzE2Mi44MDYxMTIsIDEzNDAxLCAyLjA4MzcyMTYzNzcyNTgzXSwgWzE2NjM3MjcxNjIuOTAxMDczLCAxMzQxMCwgMS44Mjk4MDQzMDEyNjE5MDE5XSwgWzE2NjM3MjcxNjIuOTkwNzAyLCAxMzQxOSwgMS44MzAwODI0MTY1MzQ0MjM4XSwgWzE2NjM3MjcxNjMuMDgyMDQ3NywgMTM0MjgsIDEuODM4MzEzODE3OTc3OTA1M10sIFsxNjYzNzI3MTYzLjI3NzIyMTQsIDEzNDQ2LCAyLjAwODE1MjI0NjQ3NTIxOTddLCBbMTY2MzcyNzE2My41NjQ5NjI2LCAxMzQ1NSwgMS45MzAxNzE5NjY1NTI3MzQ0XSwgWzE2NjM3MjcxNjMuOTIxNzE4OCwgMTM0OTEsIDIuNDU5ODMzNjIxOTc4NzU5OF0sIFsxNjYzNzI3MTY0LjAxNTQyNDUsIDEzNTAwLCAyLjIwNDg0NDQ3NDc5MjQ4MDVdLCBbMTY2MzcyNzE2NC4xMDY3MDE2LCAxMzUwOSwgMS45NjY0NDA2Nzc2NDI4MjIzXSwgWzE2NjM3MjcxNjQuMjk0OTA5MiwgMTM1MjcsIDEuOTI0NDQ0MDc5Mzk5MTA4OV0sIFsxNjYzNzI3MTY0LjU2MjY2OTgsIDEzNTU0LCAyLjEwOTg4MTQwMTA2MjAxMTddLCBbMTY2MzcyNzE2NC45MjE2ODM4LCAxMzU5MCwgMi4yMjIxMTcxODU1OTI2NTE0XSwgWzE2NjM3MjcxNjUuMDE3NTQwNywgMTM1OTksIDIuNDA0NjcyNjIyNjgwNjY0XSwgWzE2NjM3MjcxNjUuMTM3OTYyLCAxMzYwOCwgMS43ODk0NDc2NjUyMTQ1Mzg2XSwgWzE2NjM3MjcxNjUuMzMwNTA5LCAxMzYyNiwgMi4xMjI4MTMyMjQ3OTI0ODA1XSwgWzE2NjM3MjcxNjUuNTA5NTUyNywgMTM2NDQsIDEuNzk5NTk5ODg1OTQwNTUxOF0sIFsxNjYzNzI3MTY1LjYxNjg1MzUsIDEzNjUzLCAxLjg1Mjg1ODkwMTAyMzg2NDddLCBbMTY2MzcyNzE2Ni41NDc0MzEyLCAxMzcxNiwgMi4xOTI3NzQ3NzI2NDQwNDNdLCBbMTY2MzcyNzE2Ni44OTkyMDM1LCAxMzc0MywgMS43ODI0MTM0ODI2NjYwMTU2XSwgWzE2NjM3MjcxNjcuMTM4NDc1NCwgMTM3NjEsIDEuNzc4MDEwNzI1OTc1MDM2Nl0sIFsxNjYzNzI3MTY3LjM1NDAxNzUsIDEzNzc5LCAxLjkxODcwMDkzMzQ1NjQyMV0sIFsxNjYzNzI3MTY3LjY1ODkyODQsIDEzODA2LCAxLjgyODkwNjI5NzY4MzcxNThdLCBbMTY2MzcyNzE2Ny43NTE1MzI4LCAxMzgxNSwgMS45NDk1Nzg1MjM2MzU4NjQzXSwgWzE2NjM3MjcxNjguMDMwMjExNywgMTM4NDIsIDIuMDQwMTQ1NjM1NjA0ODU4NF0sIFsxNjYzNzI3MTY4LjE0ODk3MjcsIDEzODUxLCAyLjI4NzQ3OTE2MjIxNjE4NjVdLCBbMTY2MzcyNzE2OC4zMzU0MjMsIDEzODY5LCAyLjM5NzE2NjcyODk3MzM4ODddLCBbMTY2MzcyNzE2OC40MzM4MDQsIDEzODc4LCAyLjA0MTg3MTc4NjExNzU1MzddLCBbMTY2MzcyNzE2OC43OTAyNjksIDEzOTE0LCAxLjk0MjA4NTYyMzc0MTE1XSwgWzE2NjM3MjcxNjguOTg3OTY1LCAxMzkzMiwgMS45NjA2NTA1NjMyNDAwNTEzXSwgWzE2NjM3MjcxNjkuMDg5NDEyNSwgMTM5NDEsIDEuODg4ODAyMDUxNTQ0MTg5NV0sIFsxNjYzNzI3MTY5LjM4OTM5MzMsIDEzOTY4LCAxLjk2NDI5OTkxNzIyMTA2OTNdLCBbMTY2MzcyNzE2OS40OTE2NzU5LCAxMzk3NywgMi41MTQ3MDgwNDIxNDQ3NzU0XSwgWzE2NjM3MjcxNjkuNTkyNDYxMywgMTM5ODYsIDIuNTM2NDE2MDUzNzcxOTcyN10sIFsxNjYzNzI3MTY5Ljc3MzAxNjIsIDE0MDA0LCAxLjk0ODkwNzI1NjEyNjQwMzhdLCBbMTY2MzcyNzE2OS45NzIyMTQsIDE0MDIyLCAxLjk2ODEzMjg1MzUwNzk5NTZdLCBbMTY2MzcyNzE3MC4yNzQ3NzM0LCAxNDA0OSwgMS45MTU2NDEzMDc4MzA4MTA1XSwgWzE2NjM3MjcxNzAuNDU1MDk1MywgMTQwNjcsIDEuODYwOTYxNDM3MjI1MzQxOF0sIFsxNjYzNzI3MTcwLjYzOTI3NzIsIDE0MDg1LCAxLjg2Mzk4OTgzMDAxNzA4OThdLCBbMTY2MzcyNzE3MC43MzEzMzEsIDE0MDk0LCAxLjkxNzQ4NjE5MDc5NTg5ODRdLCBbMTY2MzcyNzE3MC44MzI3MDQ4LCAxNDEwMywgMS45NDU4NjE5MzU2MTU1Mzk2XSwgWzE2NjM3MjcxNzEuMDMwMzI3LCAxNDEyMSwgMS44MjMyNjM3NjQzODE0MDg3XSwgWzE2NjM3MjcxNzEuMjE1NDMwNywgMTQxMzksIDEuNzUzNTc4NzgyMDgxNjA0XSwgWzE2NjM3MjcxNzEuMzA5ODAzNSwgMTQxNDgsIDEuODk5NjE4ODY0MDU5NDQ4Ml0sIFsxNjYzNzI3MTcxLjQwNjAyOCwgMTQxNTcsIDEuODY4ODAzMTQzNTAxMjgxN10sIFsxNjYzNzI3MTcxLjQ5ODMwMTUsIDE0MTY2LCAxLjgwNDg2MjQ5OTIzNzA2MDVdLCBbMTY2MzcyNzE3MS43NzY5MDksIDE0MTkzLCAxLjc0MzQwMTE2OTc3NjkxNjVdLCBbMTY2MzcyNzE3Mi4xNTkzMzM1LCAxNDIxMSwgMS44NzEzMTk4OTAwMjIyNzc4XSwgWzE2NjM3MjcxNzIuMjUwODMyMywgMTQyMjAsIDEuOTQ1MDUzMTAwNTg1OTM3NV0sIFsxNjYzNzI3MTcyLjM0NDMxNSwgMTQyMjksIDIuMDI2MzE1NDUwNjY4MzM1XSwgWzE2NjM3MjcxNzIuNDM2MDAxMywgMTQyMzgsIDEuOTAwMzEwNTE2MzU3NDIxOV0sIFsxNjYzNzI3MTcyLjUyOTEyOTUsIDE0MjQ3LCAyLjA2NjkwMzM1MjczNzQyNjhdLCBbMTY2MzcyNzE3Mi43OTgxMzM2LCAxNDI3NCwgMi42NzQ3MjAyODczMjI5OThdLCBbMTY2MzcyNzE3My4yNzIwOSwgMTQzMTksIDIuMTIyMzM4Mjk0OTgyOTFdLCBbMTY2MzcyNzE3My45MDQwNzY4LCAxNDM2NCwgMS44NDQwMDg1NjQ5NDkwMzU2XSwgWzE2NjM3MjcxNzMuOTk4NzQ4OCwgMTQzNzMsIDIuMjg4OTExODE5NDU4MDA4XSwgWzE2NjM3MjcxNzQuMTA0ODMyMiwgMTQzODIsIDIuMTIzMDEzNDk2Mzk4OTI2XSwgWzE2NjM3MjcxNzQuNDk4NjU5NCwgMTQ0MTgsIDEuNzg1MzA3NzY1MDA3MDE5XSwgWzE2NjM3MjcxNzQuNTkzNjU4NCwgMTQ0MjcsIDEuOTQ4MDc1NTMyOTEzMjA4XSwgWzE2NjM3MjcxNzQuNjgxNTg4MiwgMTQ0MzYsIDIuMDg4MjkxNjQ1MDUwMDQ5XSwgWzE2NjM3MjcxNzUuMzgzNjU3MiwgMTQ0OTksIDEuNzk2ODMzMTU3NTM5MzY3N10sIFsxNjYzNzI3MTc1LjQ3NDYyNywgMTQ1MDgsIDEuNzc4NDYwMjY0MjA1OTMyNl0sIFsxNjYzNzI3MTc1LjY2ODU2OSwgMTQ1MjYsIDEuNzg3MTc2MDEyOTkyODU4OV0sIFsxNjYzNzI3MTc1Ljc2ODA0MjMsIDE0NTM1LCAxLjgyMjI5MjIwODY3MTU2OThdLCBbMTY2MzcyNzE3NS44NjA4ODIzLCAxNDU0NCwgMS45NzE4MDA2ODQ5Mjg4OTRdLCBbMTY2MzcyNzE3NS45NjQ4MzE2LCAxNDU1MywgMi40ODYyNjA4OTA5NjA2OTM0XSwgWzE2NjM3MjcxNzYuMzYyMDkyMywgMTQ1ODksIDIuMjI1MTUyNDkyNTIzMTkzNF0sIFsxNjYzNzI3MTc2LjU1MzYxNDksIDE0NjA3LCAyLjYzMDI2NjkwNDgzMDkzMjZdLCBbMTY2MzcyNzE3Ni43MzA2Njc0LCAxNDYyNSwgNC40Njc2NzI4MjQ4NTk2MTldLCBbMTY2MzcyNzE3Ni45Njk4MDcxLCAxNDY0MywgMi40ODAyMjk4NTQ1ODM3NDAyXSwgWzE2NjM3MjcxNzcuMTAzNjMzMiwgMTQ2NTIsIDEuODY5OTAyNjEwNzc4ODA4Nl0sIFsxNjYzNzI3MTc3LjQ3Mjk5OCwgMTQ2NzksIDEuODc5NjU4NTc5ODI2MzU1XSwgWzE2NjM3MjcxNzcuNTgxODUwNSwgMTQ2ODgsIDEuOTEwNzAwOTE3MjQzOTU3NV0sIFsxNjYzNzI3MTc3Ljk5MTU0NDcsIDE0NzI0LCAxLjc1MjIzNTg4OTQzNDgxNDVdLCBbMTY2MzcyNzE3OC4wOTg3MzI1LCAxNDczMywgMS44MTQ3MjMwMTQ4MzE1NDNdLCBbMTY2MzcyNzE3OC4yMTc3MDIyLCAxNDc0MiwgMS44NDQ5OTQxODczNTUwNDE1XSwgWzE2NjM3MjcxNzguMzQ2NDgxMywgMTQ3NTEsIDEuOTcwNDIzNDYwMDA2NzEzOV0sIFsxNjYzNzI3MTc4LjU2NTk2NjgsIDE0NzY5LCAxLjc0ODIyNDk3MzY3ODU4ODldLCBbMTY2MzcyNzE3OC42NTM4MzcsIDE0Nzc4LCAxLjg3Nzk2NzcxNTI2MzM2NjddLCBbMTY2MzcyNzE3OS4xMTU4OTM4LCAxNDgyMywgMS45ODA4ODAyNjA0Njc1MjkzXSwgWzE2NjM3MjcxNzkuMTk1NDgyLCAxNDgzMiwgMi4xMjM2MzgzOTE0OTQ3NTFdLCBbMTY2MzcyNzE3OS4zNjkxMjc4LCAxNDg1MCwgMi4xMTQ3NDA2MTAxMjI2ODA3XSwgWzE2NjM3MjcxNzkuNTcxODI3NywgMTQ4NjgsIDIuNTA1OTk1MDM1MTcxNTA5XSwgWzE2NjM3MjcxNzkuNjYwMzM3NywgMTQ4NzcsIDIuMDgzNTYyMzc0MTE0OTkwMl0sIFsxNjYzNzI3MTc5Ljc2NjM4MTUsIDE0ODg2LCAxLjcwOTc2MjU3MzI0MjE4NzVdLCBbMTY2MzcyNzE3OS44NTU0MzEzLCAxNDg5NSwgMi4wMDAzMTExMzYyNDU3Mjc1XSwgWzE2NjM3MjcxODAuMDYxNTg2MSwgMTQ5MTMsIDIuMjI3Njg2NjQzNjAwNDY0XSwgWzE2NjM3MjcxODAuMzA5NTAxMiwgMTQ5MzEsIDIuMzkwOTMxODQ0NzExMzAzN10sIFsxNjYzNzI3MTgwLjQ0NzMxNzYsIDE0OTQwLCAyLjM5NjU4NDAzMzk2NjA2NDVdLCBbMTY2MzcyNzE4MC45NDc1MDMzLCAxNDk2NywgMS43ODk3NzczOTgxMDk0MzZdLCBbMTY2MzcyNzE4MS4xMzMxNjMsIDE0OTg1LCAxLjgzNDk2Mjg0NDg0ODYzMjhdLCBbMTY2MzcyNzE4MS4zMDk1ODY4LCAxNTAwMywgMi4xNDg3MzkwOTk1MDI1NjM1XSwgWzE2NjM3MjcxODEuNTgyOTM1MywgMTUwMzAsIDEuOTQ4MzA1MjQ5MjE0MTcyNF0sIFsxNjYzNzI3MTgxLjY3NzQxMTgsIDE1MDM5LCAxLjk3MDg0OTI3NTU4ODk4OTNdLCBbMTY2MzcyNzE4Mi4wNjY4OTY3LCAxNTA3NSwgMS43NTQ4NjUxNjk1MjUxNDY1XSwgWzE2NjM3MjcxODIuNDM0MTMwNywgMTUxMDIsIDEuODc2MDM0NzM2NjMzMzAwOF0sIFsxNjYzNzI3MTgyLjY2MTMyMjgsIDE1MTIwLCAyLjEwNTg0NDI1OTI2MjA4NV0sIFsxNjYzNzI3MTgyLjc1Njg1OSwgMTUxMjksIDEuODMwMTE3MTA2NDM3NjgzXSwgWzE2NjM3MjcxODIuODQ2MjE0OCwgMTUxMzgsIDEuNjg4OTIyMTY2ODI0MzQwOF0sIFsxNjYzNzI3MTgyLjkzNjM4MjMsIDE1MTQ3LCAxLjcyMDkwODQwMzM5NjYwNjRdLCBbMTY2MzcyNzE4My4yMDM4NzIyLCAxNTE3NCwgMS45MjE5NzAzNjc0MzE2NDA2XSwgWzE2NjM3MjcxODMuMjkyNDMwNCwgMTUxODMsIDEuODQ1NzQ4NjYyOTQ4NjA4NF0sIFsxNjYzNzI3MTgzLjM4Mzk5ODksIDE1MTkyLCAyLjIxMDAyMjY4NzkxMTk4NzNdLCBbMTY2MzcyNzE4My40ODQ2MDYzLCAxNTIwMSwgMS43ODQwODU5ODg5OTg0MTNdLCBbMTY2MzcyNzE4My41ODA5ODI0LCAxNTIxMCwgMS43Mzg2MTA4NjM2ODU2MDhdLCBbMTY2MzcyNzE4My42NjM2MTIxLCAxNTIxOSwgMi4xNTQ1NTI0NTk3MTY3OTddLCBbMTY2MzcyNzE4My45MjQ5MzE1LCAxNTI0NiwgMS44MDM3ODQyNTEyMTMwNzM3XSwgWzE2NjM3MjcxODQuMDE5OTAwNiwgMTUyNTUsIDEuOTU3NjA0NTI3NDczNDQ5N10sIFsxNjYzNzI3MTg0LjExNTIzMDMsIDE1MjY0LCAxLjgzMjE3NTczMTY1ODkzNTVdLCBbMTY2MzcyNzE4NC4yOTcwOTgsIDE1MjgyLCAxLjg5Nzg2NjcyNTkyMTYzMDldLCBbMTY2MzcyNzE4NC4zODc1NzE2LCAxNTI5MSwgMS44MTExNjcwMDE3MjQyNDMyXSwgWzE2NjM3MjcxODQuNDgyMzMzLCAxNTMwMCwgMi4wMjAwNjEwMTYwODI3NjM3XSwgWzE2NjM3MjcxODQuNTcyOTA0NiwgMTUzMDksIDIuMDgzNTQ0NDkyNzIxNTU3Nl0sIFsxNjYzNzI3MTg0Ljc1MTU2NDMsIDE1MzI3LCAxLjg4ODQxNTkzMjY1NTMzNDVdLCBbMTY2MzcyNzE4NC45MzAyNTU0LCAxNTM0NSwgMS44MTE3MjcyODUzODUxMzE4XSwgWzE2NjM3MjcxODUuMjY5Mzc4MiwgMTUzNzIsIDEuOTAwMzc3MzkyNzY4ODU5OV0sIFsxNjYzNzI3MTg1LjQ5NzgyNTYsIDE1MzkwLCAyLjAyMTkwMzUxNDg2MjA2MDVdLCBbMTY2MzcyNzE4NS41OTA5NTM4LCAxNTM5OSwgMS43NDY5MDM4OTYzMzE3ODddLCBbMTY2MzcyNzE4NS42NzkzMTQ0LCAxNTQwOCwgMS44ODE1MjcwNjYyMzA3NzRdLCBbMTY2MzcyNzE4NS43NzM3OTksIDE1NDE3LCAxLjc3MzQ5MjQ1NTQ4MjQ4M10sIFsxNjYzNzI3MTg2LjE2MDQ3NjIsIDE1NDUzLCAyLjI0Mjk4MzM0MTIxNzA0MV0sIFsxNjYzNzI3MTg2LjM0ODM2NDYsIDE1NDcxLCAyLjA1MDgwNzIzNzYyNTEyMl0sIFsxNjYzNzI3MTg2LjQzOTUxNjMsIDE1NDgwLCAxLjc0MDg5ODcyODM3MDY2NjVdLCBbMTY2MzcyNzE4Ni44NDA1MjAxLCAxNTUwNywgMS45MjA3NDk1NDUwOTczNTFdLCBbMTY2MzcyNzE4Ni45NjE0MjgyLCAxNTUxNiwgMS43ODA1NzcxODI3Njk3NzU0XSwgWzE2NjM3MjcxODcuMDc4NzYyLCAxNTUyNSwgMi4xMzE1NDE3Mjg5NzMzODg3XSwgWzE2NjM3MjcxODcuMTg1NjA0OCwgMTU1MzQsIDEuNzU5ODkxNjI5MjE5MDU1Ml0sIFsxNjYzNzI3MTg3LjcwNDM2MjIsIDE1NTc5LCAxLjk2NDU3MTExODM1NDc5NzRdLCBbMTY2MzcyNzE4OC41NTY5NTI3LCAxNTY1MSwgMi41MDQ0NDkzNjc1MjMxOTM0XSwgWzE2NjM3MjcxODguNjQ3MTgzMiwgMTU2NjAsIDIuMjA3Nzk3MDUwNDc2MDc0XSwgWzE2NjM3MjcxODguNzM4MjM4NiwgMTU2NjksIDIuNDMzMTA1NzA3MTY4NTc5XSwgWzE2NjM3MjcxODkuMDA5Nzk3OCwgMTU2OTYsIDIuNTEyMDQ3NTI5MjIwNTgxXSwgWzE2NjM3MjcxODkuMzk5ODY0NywgMTU3MTQsIDIuOTU3NDAzMTgyOTgzMzk4NF0sIFsxNjYzNzI3MTg5LjQ5NTQ0NCwgMTU3MjMsIDMuMDQyMDQxMzAxNzI3Mjk1XSwgWzE2NjM3MjcxODkuNTkwNjA4NiwgMTU3MzIsIDIuNzM1NjMxNDY1OTExODY1Ml0sIFsxNjYzNzI3MTg5LjY4NDEzNjQsIDE1NzQxLCAyLjUwMTY0NDEzNDUyMTQ4NDRdLCBbMTY2MzcyNzE4OS43ODA2MTEzLCAxNTc1MCwgMS43NDQxNzUwNzY0ODQ2ODAyXSwgWzE2NjM3MjcxODkuODg2ODU2OCwgMTU3NTksIDEuNjg2NDcwOTg1NDEyNTk3N10sIFsxNjYzNzI3MTg5Ljk3ODk4MzIsIDE1NzY4LCAxLjc0NjA4ODUwNDc5MTI1OThdLCBbMTY2MzcyNzE5MC4xNjk2MTA1LCAxNTc4NiwgMi4xMjQ1NTA4MTkzOTY5NzI3XSwgWzE2NjM3MjcxOTAuMjY4NjU0MywgMTU3OTUsIDIuMTI1OTY2Nzg3MzM4MjU3XSwgWzE2NjM3MjcxOTAuNTcxNzgxNiwgMTU4MjIsIDEuOTU0NTQzNTkwNTQ1NjU0M10sIFsxNjYzNzI3MTkxLjA0NjI2MjUsIDE1ODY3LCAxLjc4MTkzMDIwODIwNjE3NjhdLCBbMTY2MzcyNzE5MS4xMzM4NDQxLCAxNTg3NiwgMS43NDgzNDQ0MjEzODY3MTg4XSwgWzE2NjM3MjcxOTEuMzkzNzkwNSwgMTU4OTQsIDEuODQwNTE1NzMyNzY1MTk3OF0sIFsxNjYzNzI3MTkxLjQ4Nzg4NjIsIDE1OTAzLCAxLjc2MDAxMDM2MTY3MTQ0NzhdLCBbMTY2MzcyNzE5MS42ODI3MTQyLCAxNTkyMSwgMS42NzU0Mzk1OTYxNzYxNDc1XSwgWzE2NjM3MjcxOTIuMzc1OTE4OSwgMTU5ODQsIDEuNzAxNTE1MDc4NTQ0NjE2N10sIFsxNjYzNzI3MTkyLjQ4MDc4NzUsIDE1OTkzLCAxLjc1MDg1OTE0MTM0OTc5MjVdLCBbMTY2MzcyNzE5Mi41NzYwNTQ2LCAxNjAwMiwgMS43ODQ0NDkxMDA0OTQzODQ4XSwgWzE2NjM3MjcxOTIuODYwOTkwOCwgMTYwMjksIDEuOTE4OTE1MzkwOTY4MzIyOF0sIFsxNjYzNzI3MTkyLjk1NDI4OTQsIDE2MDM4LCAxLjczNjU2MjM3MTI1Mzk2NzNdLCBbMTY2MzcyNzE5My4yNzQ2OTAyLCAxNjA2NSwgMi4xMTA5NzQ3ODg2NjU3NzE1XSwgWzE2NjM3MjcxOTMuNDAwNzgsIDE2MDc0LCAyLjMwOTMwNTQyOTQ1ODYxOF0sIFsxNjYzNzI3MTkzLjU0MDc5MywgMTYwODMsIDEuOTc4NzA4Mzg2NDIxMjAzNl0sIFsxNjYzNzI3MTkzLjY3NTg3NTcsIDE2MDkyLCAyLjEwODEyODMwOTI0OTg3OF0sIFsxNjYzNzI3MTkzLjg2MTA5MjYsIDE2MTEwLCAxLjg4ODA1MTI3MTQzODU5ODZdLCBbMTY2MzcyNzE5My45NTUxMDUzLCAxNjExOSwgMS45Mjg4OTk3NjUwMTQ2NDg0XSwgWzE2NjM3MjcxOTQuMTM2NDc0NCwgMTYxMzcsIDEuNzk1MjcxOTkyNjgzNDEwNl0sIFsxNjYzNzI3MTk0LjMyOTE0MjYsIDE2MTU1LCAxLjgwNzY3NDg4NDc5NjE0MjZdLCBbMTY2MzcyNzE5NC41MjMwNDMsIDE2MTczLCAyLjA1MjQ0NTY1MDEwMDcwOF0sIFsxNjYzNzI3MTk0LjY1NDkxNzcsIDE2MTgyLCAxLjk1MjQ4NTU2MTM3MDg0OTZdLCBbMTY2MzcyNzE5NC45OTM3MzcyLCAxNjIwOSwgMS44MTIwMzc0Njc5NTY1NDNdLCBbMTY2MzcyNzE5NS4wODQzOTgzLCAxNjIxOCwgMS43MTIwNzU1OTEwODczNDEzXSwgWzE2NjM3MjcxOTUuMTg0MjQ2MywgMTYyMjcsIDEuODI4OTM4MjQ1NzczMzE1NF0sIFsxNjYzNzI3MTk1LjI4MDIxNiwgMTYyMzYsIDEuNzUzNzA1NTAxNTU2Mzk2NV0sIFsxNjYzNzI3MTk1LjM3MDcsIDE2MjQ1LCAxLjgxOTQ1MzIzOTQ0MDkxOF0sIFsxNjYzNzI3MTk1Ljc2MjA0NDcsIDE2MjgxLCAxLjgxMjAxNjEyOTQ5MzcxMzRdLCBbMTY2MzcyNzE5NS45NTI2MTM0LCAxNjI5OSwgMS42OTkxMjg5ODU0MDQ5NjgzXSwgWzE2NjM3MjcxOTYuMzQwOTg2LCAxNjMzNSwgMS44MTc4Njk0MjQ4MTk5NDYzXSwgWzE2NjM3MjcxOTYuNTMzNTYyLCAxNjM1MywgMi4zNjExNjc0MzA4Nzc2ODU1XSwgWzE2NjM3MjcxOTYuNzM0MTAxOCwgMTYzNzEsIDEuNjcyMjM3MTU3ODIxNjU1M10sIFsxNjYzNzI3MTk2LjgyNzMyNiwgMTYzODAsIDEuODk3Mzg4Njk2NjcwNTMyMl0sIFsxNjYzNzI3MTk3LjIwMjA0OTMsIDE2NDE2LCAxLjY5OTc3MjAwMDMxMjgwNTJdLCBbMTY2MzcyNzE5Ny42OTQ3ODgsIDE2NDQzLCAyLjQ3MjYwNzg1MTAyODQ0MjRdLCBbMTY2MzcyNzE5Ny44MjE2MjQ1LCAxNjQ1MiwgMi4yOTIzNjc5MzUxODA2NjRdLCBbMTY2MzcyNzE5OC4wMTc2MzcsIDE2NDcwLCAxLjk3OTA5MzkwOTI2MzYxMDhdLCBbMTY2MzcyNzE5OC4xMDg1OTQ0LCAxNjQ3OSwgMS44NzE2OTQwODc5ODIxNzc3XSwgWzE2NjM3MjcxOTguMzA4MTk2MywgMTY0OTcsIDEuNzg5NTcxNTIzNjY2MzgxOF0sIFsxNjYzNzI3MTk4LjQwMDg0MzYsIDE2NTA2LCAxLjk2OTA4MjgzMjMzNjQyNThdLCBbMTY2MzcyNzE5OC40OTc4MTE4LCAxNjUxNSwgMS44OTEzOTg3ODc0OTg0NzQxXSwgWzE2NjM3MjcxOTguNjgwMTg5NiwgMTY1MzMsIDEuNzk2NTMxNDM4ODI3NTE0Nl0sIFsxNjYzNzI3MTk4Ljc4MTQ0MTcsIDE2NTQyLCAxLjc2MDU4OTM2MTE5MDc5Nl0sIFsxNjYzNzI3MTk4Ljg3NDA5NzYsIDE2NTUxLCAyLjEyNTc3MDA5MjAxMDQ5OF0sIFsxNjYzNzI3MTk5LjQ2NTk0MzMsIDE2NjA1LCAyLjA0MDc3NTc3NTkwOTQyNF0sIFsxNjYzNzI3MTk5LjU2MTU0MTYsIDE2NjE0LCAxLjc2MDM1NjMwNzAyOTcyNDFdLCBbMTY2MzcyNzE5OS42NDc0NjMzLCAxNjYyMywgMi4zNDIzNzI4OTQyODcxMDk0XSwgWzE2NjM3MjcxOTkuNzM2MzAzNiwgMTY2MzIsIDIuNTU1OTg4Nzg4NjA0NzM2M10sIFsxNjYzNzI3MTk5LjgzNTIxNDYsIDE2NjQxLCAxLjk1MTA3OTQ4NzgwMDU5ODFdLCBbMTY2MzcyNzE5OS45MzE2OTAyLCAxNjY1MCwgMS44OTI1Njk4OTk1NTkwMjFdLCBbMTY2MzcyNzIwMC4wMzM5MDIyLCAxNjY1OSwgMi4wMzA4OTMzMjU4MDU2NjRdLCBbMTY2MzcyNzIwMC4xMjI4MzY4LCAxNjY2OCwgMi4wMzc1ODQ1NDMyMjgxNDk0XSwgWzE2NjM3MjcyMDAuMzI0OTQwMiwgMTY2ODYsIDEuNzA2Mzg4NDczNTEwNzQyMl0sIFsxNjYzNzI3MjAwLjYwMDk0MzYsIDE2NzEzLCAxLjc2Mzc1NzIyODg1MTMxODRdLCBbMTY2MzcyNzIwMS4wOTgzMDE0LCAxNjc0OSwgMS44MjEzNjIwMTg1ODUyMDVdLCBbMTY2MzcyNzIwMS41MDEyNTIyLCAxNjc4NSwgMS44MTc0Mjk0MjMzMzIyMTQ0XSwgWzE2NjM3MjcyMDEuNTk4NTY4LCAxNjc5NCwgMS44NDgxNzMwMjIyNzAyMDI2XSwgWzE2NjM3MjcyMDEuNzAyMTc4LCAxNjgwMywgMi4yMDM0NTczNTU0OTkyNjc2XSwgWzE2NjM3MjcyMDEuNzk5OTgwNiwgMTY4MTIsIDEuOTk1MDg1MzU4NjE5NjldLCBbMTY2MzcyNzIwMi4yMTUzOTQ1LCAxNjg0OCwgMS42ODY5OTc4OTA0NzI0MTJdLCBbMTY2MzcyNzIwMi4zMDgzMTI3LCAxNjg1NywgMi4yNTAyMjM2MzY2MjcxOTczXSwgWzE2NjM3MjcyMDIuMzk0NTM4NCwgMTY4NjYsIDEuOTc2NDQwNDI5Njg3NV0sIFsxNjYzNzI3MjAyLjUzMTY4MzQsIDE2ODc1LCAyLjA0NDk2ODg0MzQ2MDA4M10sIFsxNjYzNzI3MjAyLjY0MDk4MTIsIDE2ODg0LCAxLjk1ODU4Nzg4NDkwMjk1NF0sIFsxNjYzNzI3MjAyLjczNjU3ODIsIDE2ODkzLCAyLjQxNDUzMTIzMDkyNjUxMzddLCBbMTY2MzcyNzIwMi44NTAyNywgMTY5MDIsIDEuNzk5NjA5MDY1MDU1ODQ3Ml0sIFsxNjYzNzI3MjAzLjEwMjU1NTMsIDE2OTIwLCAxLjcwNzc0NDAwMjM0MjIyNDFdLCBbMTY2MzcyNzIwMy4yMjQxNzA3LCAxNjkyOSwgMS44NjQwMjQxNjIyOTI0ODA1XSwgWzE2NjM3MjcyMDMuNTAwNjk3NiwgMTY5NDcsIDEuNzYwNzMzMjQ2ODAzMjgzN11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_03-17-04_63b6388f5f34&tag=Loss%2Fvalid":{"data":"W1sxNjYzNzMwMjI0LjE4MDA4NTIsIDksIDUyLjk4OTY4NTA1ODU5Mzc1XSwgWzE2NjM3MzAyMjQuMzg0NTI3NCwgMjcsIDM0LjU4MzE1NjU4NTY5MzM2XSwgWzE2NjM3MzAyMjQuNDk1OTg0MywgMzYsIDMyLjc5MjI5NzM2MzI4MTI1XSwgWzE2NjM3MzAyMjQuNjAyNDE3NSwgNDUsIDI3LjEzODkzMTI3NDQxNDA2Ml0sIFsxNjYzNzMwMjI1LjI3MDMxOCwgOTksIDguMjUyNDkwMDQzNjQwMTM3XSwgWzE2NjM3MzAyMjUuNTQwODU3MywgMTA4LCA4LjE1MDYxNjY0NTgxMjk4OF0sIFsxNjYzNzMwMjI1Ljg3MjIsIDEzNSwgNy40OTYzMzU5ODMyNzYzNjddLCBbMTY2MzczMDIyNS45NzY5NTczLCAxNDQsIDYuMDk1MjY1Mzg4NDg4NzY5NV0sIFsxNjYzNzMwMjI2LjMyMjIyOTQsIDE3MSwgNi42OTM5NDc3OTIwNTMyMjNdLCBbMTY2MzczMDIyNi40MjkyMjk1LCAxODAsIDYuNzkzMzUwNjk2NTYzNzIxXSwgWzE2NjM3MzAyMjYuNTM0ODg1NCwgMTg5LCA1LjQzMTY1Nzc5MTEzNzY5NV0sIFsxNjYzNzMwMjI2Ljc0Mjg0MTIsIDIwNywgNS42MTYxMjg0NDQ2NzE2MzFdLCBbMTY2MzczMDIyNi44NTA5ODc3LCAyMTYsIDcuMDM0MjEzNTQyOTM4MjMyXSwgWzE2NjM3MzAyMjcuMjEyMzY3NSwgMjQzLCA1LjQ0NzQ2NzMyNzExNzkyXSwgWzE2NjM3MzAyMjcuMzE5NzE4OCwgMjUyLCA1LjI0NTc0ODk5NjczNDYxOV0sIFsxNjYzNzMwMjI3LjUzMzE4MzYsIDI3MCwgNS4xOTkwNzY2NTI1MjY4NTU1XSwgWzE2NjM3MzAyMjcuOTk0OTg3MiwgMzA2LCA1LjY2MzU2NDIwNTE2OTY3OF0sIFsxNjYzNzMwMjI4LjExOTg2MTQsIDMxNSwgNS44NjQzODg5NDI3MTg1MDZdLCBbMTY2MzczMDIyOC4zMzI1ODAzLCAzMzMsIDUuNDQyOTMzMDgyNTgwNTY2XSwgWzE2NjM3MzAyMjguNDQ4OTI5OCwgMzQyLCA1LjAyOTcxMDc2OTY1MzMyXSwgWzE2NjM3MzAyMjguNTY4Njk0NiwgMzUxLCA0Ljg1MjU5MjQ2ODI2MTcxOV0sIFsxNjYzNzMwMjI4LjY5NjU5MzUsIDM2MCwgNS42OTA3MDU3NzYyMTQ2XSwgWzE2NjM3MzAyMjguODA2NjM1NCwgMzY5LCA0LjQzNzgyMzI5NTU5MzI2Ml0sIFsxNjYzNzMwMjI5LjUzNjcwMjQsIDQzMiwgMy45NTk2MjI2MjE1MzYyNTVdLCBbMTY2MzczMDIyOS42NDExNywgNDQxLCA0LjQ3OTIwMzcwMTAxOTI4N10sIFsxNjYzNzMwMjI5Ljc2MDM5NDMsIDQ1MCwgMy45Mzc2NzM1Njg3MjU1ODZdLCBbMTY2MzczMDIyOS45OTE3NjE3LCA0NjgsIDMuODg0NjI1OTExNzEyNjQ2NV0sIFsxNjYzNzMwMjMwLjExODQ5MDcsIDQ3NywgNC4xOTM0MzM3NjE1OTY2OF0sIFsxNjYzNzMwMjMwLjMwOTA3NSwgNDk1LCA0LjI5MzY2OTIyMzc4NTRdLCBbMTY2MzczMDIzMC40MDM5NDQ3LCA1MDQsIDQuMTY3NDA2MDgyMTUzMzJdLCBbMTY2MzczMDIzMC42MzA5MjM1LCA1MjIsIDQuODEyMzg5MzczNzc5Mjk3XSwgWzE2NjM3MzAyMzAuOTk1OTgxLCA1NDksIDQuMjAxMzkwMjY2NDE4NDU3XSwgWzE2NjM3MzAyMzEuMTI0MTQwMywgNTU4LCAzLjcxMTcxOTk4OTc3NjYxMTNdLCBbMTY2MzczMDIzMS4yMjU5NTAyLCA1NjcsIDQuMzM0Mjg3MTY2NTk1NDU5XSwgWzE2NjM3MzAyMzEuMzI5ODIyMywgNTc2LCA0LjEzMjkxNjQ1MDUwMDQ4OF0sIFsxNjYzNzMwMjMxLjU1ODI5OCwgNTk0LCAzLjQ4NjUwMjE3MDU2Mjc0NF0sIFsxNjYzNzMwMjMxLjY2NjUyMSwgNjAzLCAzLjQ1OTY1MjE4NTQ0MDA2MzVdLCBbMTY2MzczMDIzMS43OTEyNzc2LCA2MTIsIDMuMzk0NDM0MjEzNjM4MzA1N10sIFsxNjYzNzMwMjMxLjkwNjQyMSwgNjIxLCA0LjM3NjUwMjUxMzg4NTQ5OF0sIFsxNjYzNzMwMjMyLjEyNDQ0NSwgNjM5LCAzLjUzMDcwMzA2Nzc3OTU0MV0sIFsxNjYzNzMwMjMyLjIyMzczMDMsIDY0OCwgMy42MDM2ODY1NzExMjEyMTZdLCBbMTY2MzczMDIzMi44Nzk4NDk0LCA3MDIsIDMuODM0NzI5NDMzMDU5NjkyNF0sIFsxNjYzNzMwMjMzLjA5NTksIDcyMCwgMi44MzI0OTI1ODk5NTA1NjE1XSwgWzE2NjM3MzAyMzMuMjExNzY5MywgNzI5LCAzLjQwNDIyMTI5NjMxMDQyNV0sIFsxNjYzNzMwMjMzLjQwMDE4NTMsIDc0NywgMy4yODQzNTM0OTQ2NDQxNjVdLCBbMTY2MzczMDIzMy40OTAzODQ4LCA3NTYsIDMuNjM3NjczODU0ODI3ODgxXSwgWzE2NjM3MzAyMzMuNjY1MDIwMiwgNzc0LCAzLjMzMzYwMjkwNTI3MzQzNzVdLCBbMTY2MzczMDIzMy43NjE3MzI2LCA3ODMsIDMuMjM2MDM1MTA4NTY2Mjg0XSwgWzE2NjM3MzAyMzQuMDIzMzA4LCA4MTAsIDMuNDE4MTk5Nzc3NjAzMTQ5NF0sIFsxNjYzNzMwMjM0LjEyNTc0MzksIDgxOSwgMy4xODU0NzQxNTczMzMzNzRdLCBbMTY2MzczMDIzNC41ODc1ODU3LCA4NjQsIDMuMTk1MTcwNDAyNTI2ODU1NV0sIFsxNjYzNzMwMjM0LjkyNTY3NzUsIDkwMCwgMy4yMTQ0MTc5MzQ0MTc3MjQ2XSwgWzE2NjM3MzAyMzUuMDA4MTYzNywgOTA5LCAzLjQ1OTkxOTY5MTA4NTgxNTRdLCBbMTY2MzczMDIzNS42NDY3NTQsIDkzNiwgMi43MTExNjg3NjYwMjE3Mjg1XSwgWzE2NjM3MzAyMzUuOTQ5ODA1NSwgOTYzLCAzLjA0MjE1MDI1OTAxNzk0NDNdLCBbMTY2MzczMDIzNi4wNTU4Njg2LCA5NzIsIDMuMDI1ODc3MjM3MzE5OTQ2M10sIFsxNjYzNzMwMjM2LjIzNDkzOTYsIDk5MCwgMi42MTE5MDE3NjAxMDEzMTg0XSwgWzE2NjM3MzAyMzYuMzMxNDY0LCA5OTksIDIuODk5ODQ4MjIyNzMyNTQ0XSwgWzE2NjM3MzAyMzYuNzA1MTQ0MiwgMTAzNSwgMi42Mzg0NDA4NDczOTY4NTA2XSwgWzE2NjM3MzAyMzYuOTE0MjcyLCAxMDUzLCAyLjUyNjQzMDYwNjg0MjA0MV0sIFsxNjYzNzMwMjM3LjM2MDYxNTcsIDEwOTgsIDIuMzQwNjc2MDY5MjU5NjQzNl0sIFsxNjYzNzMwMjM3Ljc2NDc4ODQsIDExMzQsIDIuMTIyODYyNTc3NDM4MzU0NV0sIFsxNjYzNzMwMjM3Ljg2ODE5NDgsIDExNDMsIDIuNDY0NjYyNzkwMjk4NDYyXSwgWzE2NjM3MzAyMzguMDY2NTA3NiwgMTE2MSwgMi41MTY5NDg0NjE1MzI1OTI4XSwgWzE2NjM3MzAyMzguMTUzNjg0MSwgMTE3MCwgMy4xNzI3NDY4OTY3NDM3NzQ0XSwgWzE2NjM3MzAyMzguMjQwMTg1MywgMTE3OSwgMi4zNjcxOTMyMjIwNDU4OTg0XSwgWzE2NjM3MzAyMzguMzI3NjU4MiwgMTE4OCwgMi4yNTk4NTMxMjQ2MTg1MzAzXSwgWzE2NjM3MzAyMzguNDI5Njc1OCwgMTE5NywgMi4zNTMyNDk1NDk4NjU3MjI3XSwgWzE2NjM3MzAyMzguNjcwOTY3NiwgMTIxNSwgMi4yMzIzMDc5MTA5MTkxODk1XSwgWzE2NjM3MzAyMzguODYxMTkyLCAxMjMzLCAyLjU3MDU3MjYxNDY2OThdLCBbMTY2MzczMDIzOC45NDcxNjkzLCAxMjQyLCAyLjQxOTI4NzQ0MzE2MTAxMDddLCBbMTY2MzczMDIzOS41Mjc1MjMsIDEyOTYsIDIuNDI3ODI4NTUwMzM4NzQ1XSwgWzE2NjM3MzAyMzkuNjEzMTg4MywgMTMwNSwgMi4yOTg2NDMzNTA2MDExOTYzXSwgWzE2NjM3MzAyMzkuNzg5OTU0LCAxMzIzLCAyLjQyMjIyNzYyMTA3ODQ5MV0sIFsxNjYzNzMwMjM5Ljg5ODkzMSwgMTMzMiwgMi42MDk4NTEzNjAzMjEwNDVdLCBbMTY2MzczMDI0MC4xOTc3Mjc3LCAxMzU5LCAyLjIyOTI2MDQ0NDY0MTExMzNdLCBbMTY2MzczMDI0MC44NDA0NDQsIDE0MjIsIDIuMTg1NDAxNDM5NjY2NzQ4XSwgWzE2NjM3MzAyNDEuMDE3Nzg0OCwgMTQ0MCwgMi4xOTc2NjQ0OTkyODI4MzddLCBbMTY2MzczMDI0MS4xMTI4NDQyLCAxNDQ5LCAyLjE3NDk1NTM2ODA0MTk5Ml0sIFsxNjYzNzMwMjQxLjI5OTI4ODcsIDE0NjcsIDIuMjk2MzM0OTgxOTE4MzM1XSwgWzE2NjM3MzAyNDEuNDk2ODk2MywgMTQ4NSwgMi4yNzEyMjQ3MzcxNjczNTg0XSwgWzE2NjM3MzAyNDEuNjc0NjcxLCAxNTAzLCAyLjUyMTM2OTIxODgyNjI5NF0sIFsxNjYzNzMwMjQyLjA0MTM4NDIsIDE1MzksIDIuMzI3MzEyMjMxMDYzODQyOF0sIFsxNjYzNzMwMjQyLjEyOTE0NTEsIDE1NDgsIDIuMjA4ODcxMzY0NTkzNTA2XSwgWzE2NjM3MzAyNDIuMjIwMzI2NCwgMTU1NywgMi4yNzE4Mzc3MTEzMzQyMjg1XSwgWzE2NjM3MzAyNDIuNDkwMTUwNSwgMTU4NCwgMi40MzUxNzg5OTUxMzI0NDYzXSwgWzE2NjM3MzAyNDIuNTc3MjI1NywgMTU5MywgMi42NzgyNjA4MDMyMjI2NTYyXSwgWzE2NjM3MzAyNDIuNjY0NjMxNCwgMTYwMiwgMi4xNzI3NDE0MTMxMTY0NTVdLCBbMTY2MzczMDI0Mi43NDkyOTI2LCAxNjExLCAyLjM5MDE0NjczMjMzMDMyMjNdLCBbMTY2MzczMDI0Mi45MTU5MzYyLCAxNjI5LCAyLjYxMDIwMzc0Mjk4MDk1N10sIFsxNjYzNzMwMjQzLjAxMTAxNTcsIDE2MzgsIDIuMDQ1Mzg0ODgzODgwNjE1Ml0sIFsxNjYzNzMwMjQzLjU2NDg1OTIsIDE2NjUsIDIuMjMwNzYxMjg5NTk2NTU3Nl0sIFsxNjYzNzMwMjQzLjY2MjA1NSwgMTY3NCwgMS45ODc2MDA1NjQ5NTY2NjVdLCBbMTY2MzczMDI0My43NDM5Njg1LCAxNjgzLCAyLjU2NjM3MTIwMjQ2ODg3Ml0sIFsxNjYzNzMwMjQ0LjAwMTE3MzMsIDE3MTAsIDIuOTYzMTk4MTg0OTY3MDQxXSwgWzE2NjM3MzAyNDQuMDgwODMyNSwgMTcxOSwgMi44MTc4Mjg0MTY4MjQzNDFdLCBbMTY2MzczMDI0NC4xODQ4NjE3LCAxNzI4LCAyLjIxODk2NDU3NjcyMTE5MTRdLCBbMTY2MzczMDI0NC4yNzY3NjQsIDE3MzcsIDIuNzAxMjgwNTkzODcyMDcwM10sIFsxNjYzNzMwMjQ0LjU1Nzk3ODYsIDE3NjQsIDIuMzAzNDkzMDIyOTE4NzAxXSwgWzE2NjM3MzAyNDQuODIxNjY1MywgMTc5MSwgMi4wNDI2ODA5Nzg3NzUwMjQ0XSwgWzE2NjM3MzAyNDQuOTE0ODQzNiwgMTgwMCwgMi4yNTk0NDI1Njc4MjUzMTc0XSwgWzE2NjM3MzAyNDUuMDExNDY4MiwgMTgwOSwgMi40MDExNzQzMDY4Njk1MDddLCBbMTY2MzczMDI0NS4xOTUzMzc4LCAxODI3LCAxLjk5Mjk2OTAzNjEwMjI5NV0sIFsxNjYzNzMwMjQ1LjI3ODQzOTgsIDE4MzYsIDIuODIwMTQ3NTE0MzQzMjYxN10sIFsxNjYzNzMwMjQ1LjM2MzY4MzcsIDE4NDUsIDIuMjI5MDgwNjc3MDMyNDcwN10sIFsxNjYzNzMwMjQ1LjQ0ODIzODgsIDE4NTQsIDIuMjUwMTA1NjE5NDMwNTQyXSwgWzE2NjM3MzAyNDUuNjIwMTM2MywgMTg3MiwgMi4xNDU2MzMyMjA2NzI2MDc0XSwgWzE2NjM3MzAyNDUuNzkzMDIsIDE4OTAsIDIuMjY1NDg0MDk0NjE5NzUxXSwgWzE2NjM3MzAyNDUuOTcyMDU3OCwgMTkwOCwgMi42MDcwMDcwMjY2NzIzNjMzXSwgWzE2NjM3MzAyNDYuMTYyNDIwNSwgMTkyNiwgMi41NzQ0NjA1MDY0MzkyMDldLCBbMTY2MzczMDI0Ni4zNTAxOTgzLCAxOTQ0LCAxLjk3ODAwMDI4MzI0MTI3Ml0sIFsxNjYzNzMwMjQ2LjQzMjM0OCwgMTk1MywgMi4zMjc5Mzc2MDI5OTY4MjZdLCBbMTY2MzczMDI0Ni42MDU0NzI2LCAxOTcxLCAyLjM1ODcyNzkzMTk3NjMxODRdLCBbMTY2MzczMDI0Ni42OTcxMTgsIDE5ODAsIDEuOTkzNjczODAxNDIyMTE5MV0sIFsxNjYzNzMwMjQ2Ljc4MDExNzgsIDE5ODksIDIuMTQ3NjM1Njk4MzE4NDgxNF0sIFsxNjYzNzMwMjQ2Ljg2NDI4MiwgMTk5OCwgMi40MDYwODIxNTMzMjAzMTI1XSwgWzE2NjM3MzAyNDcuMDIxMjIxLCAyMDA3LCAyLjAwMDYxMjI1ODkxMTEzM10sIFsxNjYzNzMwMjQ3LjI4MjU0MSwgMjAyNSwgMS45MTY2Mzk1NjY0MjE1MDg4XSwgWzE2NjM3MzAyNDcuNDM2NTkxNCwgMjAzNCwgMi41Mjc0MjYwMDQ0MDk3OV0sIFsxNjYzNzMwMjQ3Ljg2ODE2MDIsIDIwNzAsIDIuMjU1NzE3NzU0MzY0MDEzN10sIFsxNjYzNzMwMjQ4LjE4NDU3MjUsIDIwOTcsIDIuMTc2Nzg4MDkxNjU5NTQ2XSwgWzE2NjM3MzAyNDguNDc4NzU4MywgMjEyNCwgMi4xMjg5NzcyOTg3MzY1NzIzXSwgWzE2NjM3MzAyNDguNjUxMTE5LCAyMTQyLCAxLjk3OTE1MjU2MDIzNDA2OThdLCBbMTY2MzczMDI0OC43MzYyMTY1LCAyMTUxLCAyLjQ2OTA0MTgyNDM0MDgyMDNdLCBbMTY2MzczMDI0OC44MjE1NDE1LCAyMTYwLCAxLjk2NTU2MjkzOTY0Mzg1OTldLCBbMTY2MzczMDI0OC45OTM0MTc3LCAyMTc4LCAyLjE3Mjc1MDIzNDYwMzg4Ml0sIFsxNjYzNzMwMjQ5LjA4OTQzNywgMjE4NywgMS45MzU0OTY4MDcwOTgzODg3XSwgWzE2NjM3MzAyNDkuMjc2NTI4OCwgMjIwNSwgMS44MTA3MjkxNDYwMDM3MjMxXSwgWzE2NjM3MzAyNDkuMzYxNDAwOCwgMjIxNCwgMi4xMDYxNDg3MTk3ODc1OTc3XSwgWzE2NjM3MzAyNDkuNDQ1MzMyNSwgMjIyMywgMi40MTIwOTAzMDE1MTM2NzJdLCBbMTY2MzczMDI0OS41MzIzMjcyLCAyMjMyLCAyLjEzNDUyNTUzNzQ5MDg0NDddLCBbMTY2MzczMDI0OS45NzM1MTMsIDIyNzcsIDEuOTY3NzQ5ODM0MDYwNjY5XSwgWzE2NjM3MzAyNTAuMDY3NTM3LCAyMjg2LCAyLjMxODExNTcxMTIxMjE1OF0sIFsxNjYzNzMwMjUwLjE2MDg1NzIsIDIyOTUsIDIuMzAyNDc3MzU5NzcxNzI4NV0sIFsxNjYzNzMwMjUwLjQ0MDA0OTYsIDIzMjIsIDIuNDM0NzU3MjMyNjY2MDE1Nl0sIFsxNjYzNzMwMjUwLjUyODk0ODMsIDIzMzEsIDIuNDc0NjE5MTUwMTYxNzQzXSwgWzE2NjM3MzAyNTAuNjUzNTAyMiwgMjM0MCwgMi4wOTU1NzM2NjM3MTE1NDhdLCBbMTY2MzczMDI1MC43NjMxOTA3LCAyMzQ5LCAyLjI0MDA4ODQ2MjgyOTU5XSwgWzE2NjM3MzAyNTAuOTg2NDk0MywgMjM2NywgMi4wNTM2NTUxNDc1NTI0OTAyXSwgWzE2NjM3MzAyNTIuMTk1ODE5NiwgMjQzOSwgMi4wNTEzNTAzNTUxNDgzMTU0XSwgWzE2NjM3MzAyNTIuMjkzNjQwNCwgMjQ0OCwgMi4xMDEwNjkyMTE5NTk4MzldLCBbMTY2MzczMDI1Mi41NjgxNTcsIDI0NzUsIDIuMTM0MTA5NzM1NDg4ODkxNl0sIFsxNjYzNzMwMjUyLjY2Njc2NjYsIDI0ODQsIDEuODYzMjY0Njc5OTA4NzUyNF0sIFsxNjYzNzMwMjUyLjc4MDM4MDUsIDI0OTMsIDIuNTI1NDIzNTI2NzYzOTE2XSwgWzE2NjM3MzAyNTIuOTU5Nzg3NCwgMjUxMSwgMS45NTQwMDIwMjI3NDMyMjVdLCBbMTY2MzczMDI1My4xNzQyODgzLCAyNTI5LCAyLjEwMjA3NDYyMzEwNzkxXSwgWzE2NjM3MzAyNTMuMzU4NDA2NSwgMjU0NywgMS44MDY2MDUzMzkwNTAyOTNdLCBbMTY2MzczMDI1My40NDk1NzM1LCAyNTU2LCAxLjk2OTc3NTkxNTE0NTg3NF0sIFsxNjYzNzMwMjUzLjYzMzExODksIDI1NzQsIDIuMDAyODI5MDc0ODU5NjE5XSwgWzE2NjM3MzAyNTMuODEyMzUsIDI1OTIsIDIuMjAwNjEwNjM3NjY0Nzk1XSwgWzE2NjM3MzAyNTMuOTAwMzUwNiwgMjYwMSwgMi4wMDExODg5OTM0NTM5Nzk1XSwgWzE2NjM3MzAyNTQuMDc3NTA3MywgMjYxOSwgMi40NzM1NDQzNTkyMDcxNTMzXSwgWzE2NjM3MzAyNTQuNTI1NzIzLCAyNjY0LCAxLjk4NTY5Nzc0NjI3Njg1NTVdLCBbMTY2MzczMDI1NC42MTI3MDEsIDI2NzMsIDIuMTE3NDY4NTk1NTA0NzYwN10sIFsxNjYzNzMwMjU0LjcxMjA5NzIsIDI2ODIsIDEuODU4ODE0MjM5NTAxOTUzMV0sIFsxNjYzNzMwMjU0Ljc5ODkyOTUsIDI2OTEsIDEuOTI1MTA0NzM3MjgxNzk5M10sIFsxNjYzNzMwMjU0Ljg4MTk5NTQsIDI3MDAsIDIuMjQ3MzI4OTk2NjU4MzI1XSwgWzE2NjM3MzAyNTUuMzI4MjM5LCAyNzQ1LCAxLjg1OTA1NTA0MjI2Njg0NTddLCBbMTY2MzczMDI1NS41NTcxMTc1LCAyNzYzLCAxLjk1NDU4MTg1NjcyNzZdLCBbMTY2MzczMDI1NS42NzAzODQ2LCAyNzcyLCAxLjc0MDAwOTE4ODY1MjAzODZdLCBbMTY2MzczMDI1NS43OTY3MDIsIDI3ODEsIDEuODYwMDYyNTk5MTgyMTI5XSwgWzE2NjM3MzAyNTUuODg4MjIyLCAyNzkwLCAxLjk2MDA1OTc2MjAwMTAzNzZdLCBbMTY2MzczMDI1Ni4xNjI3NzYyLCAyODE3LCAxLjc5NDExNTE4NTczNzYwOTldLCBbMTY2MzczMDI1Ni4yNzAwMTk1LCAyODI2LCAyLjE3MDgxNjg5ODM0NTk0NzNdLCBbMTY2MzczMDI1Ni41ODc5OTMxLCAyODUzLCAxLjczNDM2MzkxMzUzNjA3MThdLCBbMTY2MzczMDI1Ni43NjM1NTE1LCAyODcxLCAyLjA1NzA2MzgxNzk3NzkwNTNdLCBbMTY2MzczMDI1Ni44NTE0MzU3LCAyODgwLCAxLjYyMTc5NTg5MjcxNTQ1NF0sIFsxNjYzNzMwMjU3LjE5OTYxMzMsIDI5MDcsIDIuNDAzNTQzNDcyMjkwMDM5XSwgWzE2NjM3MzAyNTcuNDE4ODg5LCAyOTI1LCAxLjk3NTU1NDM0NzAzODI2OV0sIFsxNjYzNzMwMjU3Ljg4MTc0NzIsIDI5NzAsIDIuMTQxODUwNzA5OTE1MTYxXSwgWzE2NjM3MzAyNTcuOTczNTE1MywgMjk3OSwgMi4wMjc0Nzg2OTQ5MTU3NzE1XSwgWzE2NjM3MzAyNTguMDY1NDM3OCwgMjk4OCwgMS41Nzk2NTk0NjE5NzUwOTc3XSwgWzE2NjM3MzAyNTguMTYwMjI5LCAyOTk3LCAxLjg1MjMwNTg4OTEyOTYzODddLCBbMTY2MzczMDI1OC4yNTE0Nzc1LCAzMDA2LCAxLjg1NzIwNzUzNjY5NzM4NzddLCBbMTY2MzczMDI1OC42MTg5Nzg3LCAzMDQyLCAyLjU1MDgwMDgwMDMyMzQ4NjNdLCBbMTY2MzczMDI1OC42OTg5MTQzLCAzMDUxLCAyLjAwNDgzMDM2MDQxMjU5NzddLCBbMTY2MzczMDI1OC45MTIwOTYzLCAzMDY5LCAxLjY1OTc4ODYwODU1MTAyNTRdLCBbMTY2MzczMDI1OS4xNzI1MDY4LCAzMDk2LCAxLjcxNDkxMDUwNzIwMjE0ODRdLCBbMTY2MzczMDI1OS4yNjEyNTQsIDMxMDUsIDIuMDA4MjU1NzIwMTM4NTVdLCBbMTY2MzczMDI1OS4zNDUzNywgMzExNCwgMS43Mjc1NjM3Mzg4MjI5MzddLCBbMTY2MzczMDI1OS40Mzk5NjI0LCAzMTIzLCAxLjc5NzM5MDgxODU5NTg4NjJdLCBbMTY2MzczMDI1OS42NzQyODU3LCAzMTQxLCAxLjU0Nzg4MDUzMDM1NzM2MDhdLCBbMTY2MzczMDI1OS44NTgxODM2LCAzMTU5LCAyLjA2ODkyMjc1ODEwMjQxN10sIFsxNjYzNzMwMjYwLjIyNzkwNzcsIDMxNzcsIDIuMjA3MzQ0MjkzNTk0MzYwNF0sIFsxNjYzNzMwMjYwLjMxMzYxNDgsIDMxODYsIDEuOTEwOTEzMjI4OTg4NjQ3NV0sIFsxNjYzNzMwMjYwLjQwOTIwMjYsIDMxOTUsIDEuOTY4ODI4OTE2NTQ5NjgyNl0sIFsxNjYzNzMwMjYwLjQ5NTE4NTEsIDMyMDQsIDEuODQ3ODMyOTE4MTY3MTE0M10sIFsxNjYzNzMwMjYwLjY4MDM1MTMsIDMyMjIsIDEuOTkyNzUwNDA2MjY1MjU4OF0sIFsxNjYzNzMwMjYwLjc3MjA5NDcsIDMyMzEsIDIuMDA3MDAzMDY4OTIzOTVdLCBbMTY2MzczMDI2MC45Nzk4MDgsIDMyNDksIDEuNjIyMTQwMDQ5OTM0Mzg3Ml0sIFsxNjYzNzMwMjYxLjE1MDYxOTUsIDMyNjcsIDIuMjIyNTEzMTk4ODUyNTM5XSwgWzE2NjM3MzAyNjEuMjQzOTU1NiwgMzI3NiwgMS44MjIzMjgzMjkwODYzMDM3XSwgWzE2NjM3MzAyNjEuMzM0NzksIDMyODUsIDIuMDM3MTg4NzY4Mzg2ODQxXSwgWzE2NjM3MzAyNjEuNDIxNjA2LCAzMjk0LCAxLjg0NjQ0MTYyNjU0ODc2N10sIFsxNjYzNzMwMjYxLjUxMjMxMzEsIDMzMDMsIDEuOTgzNDU1Nzc3MTY4Mjc0XSwgWzE2NjM3MzAyNjEuNjEzOTcxMiwgMzMxMiwgMi4wNzA1OTY0NTY1Mjc3MV0sIFsxNjYzNzMwMjYxLjcxODEyMjcsIDMzMjEsIDEuOTMxMzkyOTA4MDk2MzEzNV0sIFsxNjYzNzMwMjYyLjIzMTI0ODYsIDMzNzUsIDIuMDAyNDA3NTUwODExNzY3Nl0sIFsxNjYzNzMwMjYyLjMxNzcwODUsIDMzODQsIDEuNjUzMTQwNDI1NjgyMDY3OV0sIFsxNjYzNzMwMjYyLjQ4ODU2OTMsIDM0MDIsIDIuMzA4MDI1NTk4NTI2MDAxXSwgWzE2NjM3MzAyNjIuNTczMTYzNSwgMzQxMSwgMS45NTg1NzM4MTgyMDY3ODddLCBbMTY2MzczMDI2Mi45Mjc3NTE4LCAzNDQ3LCAxLjk5NzM2MjQ5NDQ2ODY4OV0sIFsxNjYzNzMwMjYzLjE5OTkzLCAzNDc0LCAxLjk5NTkxMTEyMTM2ODQwODJdLCBbMTY2MzczMDI2My4yOTIwOTYsIDM0ODMsIDIuMDYxNzA1MzUwODc1ODU0NV0sIFsxNjYzNzMwMjYzLjYzMTM5MTgsIDM1MTAsIDEuNTI4OTQ3ODMwMjAwMTk1M10sIFsxNjYzNzMwMjYzLjc2ODMxOTEsIDM1MTksIDEuNTk3MzAyNzk0NDU2NDgyXSwgWzE2NjM3MzAyNjMuODc4Nzg3LCAzNTI4LCAxLjk3NjI5ODY4OTg0MjIyNDFdLCBbMTY2MzczMDI2My45OTcxNzk1LCAzNTM3LCAyLjAyNDAyOTAxNjQ5NDc1MV0sIFsxNjYzNzMwMjY0LjE1MTU0MywgMzU0NiwgMS42MDU0NTAxNTMzNTA4M10sIFsxNjYzNzMwMjY0LjI2OTk4ODgsIDM1NTUsIDEuNjg0ODk0NjgwOTc2ODY3N10sIFsxNjYzNzMwMjY0LjM5ODM2OSwgMzU2NCwgMS45NTAzMjM3MDA5MDQ4NDYyXSwgWzE2NjM3MzAyNjQuNTMzNzA2MiwgMzU3MywgMi43MTcwOTk5MDUwMTQwMzhdLCBbMTY2MzczMDI2NC42NDI5MDQsIDM1ODIsIDEuNTk1OTQ2Nzg4Nzg3ODQxOF0sIFsxNjYzNzMwMjY0LjczNzI5OSwgMzU5MSwgMS45NDAyODY3NTU1NjE4Mjg2XSwgWzE2NjM3MzAyNjQuODI0ODAzLCAzNjAwLCAyLjAxNDk4NjUxNTA0NTE2Nl0sIFsxNjYzNzMwMjY1LjA0MDk2MDMsIDM2MTgsIDIuMTQyNDc5ODk2NTQ1NDFdLCBbMTY2MzczMDI2NS4xNTE0MjgsIDM2MjcsIDEuODcxOTQ1NzM4NzkyNDE5NF0sIFsxNjYzNzMwMjY1LjM2NDU1NjMsIDM2NDUsIDIuMzEyNTgyOTY5NjY1NTI3M10sIFsxNjYzNzMwMjY1LjU3NDIzMDcsIDM2NjMsIDEuNTkwMjA3ODE1MTcwMjg4XSwgWzE2NjM3MzAyNjUuNzk0MTk3MywgMzY4MSwgMS42NzE2MDQwMzcyODQ4NTFdLCBbMTY2MzczMDI2NS45MTExMTg3LCAzNjkwLCAxLjkxMTc3MDU4MjE5OTA5NjddLCBbMTY2MzczMDI2Ni4yMzk0MTk1LCAzNzE3LCAxLjc5Njk0NTU3MTg5OTQxNF0sIFsxNjYzNzMwMjY2LjM0MzAxMTYsIDM3MjYsIDIuMDgxOTM1NDA1NzMxMjAxXSwgWzE2NjM3MzAyNjYuNDMyMjYzOSwgMzczNSwgMS43NjY3OTk1NjkxMjk5NDM4XSwgWzE2NjM3MzAyNjYuNTMwMDUyLCAzNzQ0LCAxLjc4MDE0ODE0ODUzNjY4MjFdLCBbMTY2MzczMDI2Ni43OTc0NjM3LCAzNzcxLCAxLjc3MzgzOTU5MjkzMzY1NDhdLCBbMTY2MzczMDI2Ni44ODMxNDIsIDM3ODAsIDEuOTA2MTc5Nzg1NzI4NDU0Nl0sIFsxNjYzNzMwMjY3LjA3Njg1NzMsIDM3OTgsIDEuNzIxNzM5NzY4OTgxOTMzNl0sIFsxNjYzNzMwMjY3LjE2MjQ1MSwgMzgwNywgMS43MDk3OTQ2NDA1NDEwNzY3XSwgWzE2NjM3MzAyNjcuNDM1MDk2MywgMzgzNCwgMS43MDMxNzczMzI4NzgxMTI4XSwgWzE2NjM3MzAyNjcuNTIxMzUwNiwgMzg0MywgMi4wOTU1NDQwOTk4MDc3MzkzXSwgWzE2NjM3MzAyNjguMTUxNjM5NSwgMzg3OSwgMS44NzY1NzA3MDE1OTkxMjFdLCBbMTY2MzczMDI2OC4yMzg2MTcsIDM4ODgsIDEuOTc3NTA2OTk1MjAxMTEwOF0sIFsxNjYzNzMwMjY4LjUwOTMwMTIsIDM5MTUsIDEuNjY3MTExNjM1MjA4MTI5OV0sIFsxNjYzNzMwMjY4LjU5MzMxNjgsIDM5MjQsIDEuNjkwMDgyNzg4NDY3NDA3Ml0sIFsxNjYzNzMwMjY4LjY4MTg3MzMsIDM5MzMsIDEuOTI0NzY0ODcxNTk3MjldLCBbMTY2MzczMDI2OC43NzMzNTgsIDM5NDIsIDEuNzU5NjI2ODY1Mzg2OTYzXSwgWzE2NjM3MzAyNjguODY1NzMzOSwgMzk1MSwgMS44NjMxNzU5ODgxOTczMjY3XSwgWzE2NjM3MzAyNjguOTU1OTc5MywgMzk2MCwgMS43MTUxNTAyMzcwODM0MzVdLCBbMTY2MzczMDI2OS4wNTU4MjA3LCAzOTY5LCAxLjY0Nzk4NTIxOTk1NTQ0NDNdLCBbMTY2MzczMDI2OS4xNjU0MjUsIDM5NzgsIDEuNzIzODI0MTQzNDA5NzI5XSwgWzE2NjM3MzAyNjkuMzQwODY4LCAzOTk2LCAxLjcwMjM5MTM4NjAzMjEwNDVdLCBbMTY2MzczMDI2OS40MjkzNzMsIDQwMDUsIDEuOTMyNTc1NDY0MjQ4NjU3Ml0sIFsxNjYzNzMwMjY5LjU2OTUwNSwgNDAxNCwgMS42NTAyOTM4MjcwNTY4ODQ4XSwgWzE2NjM3MzAyNjkuNjY4OTE5OCwgNDAyMywgMS43NTMzODk3MTYxNDgzNzY1XSwgWzE2NjM3MzAyNzAuMjE0MDU0LCA0MDU5LCAxLjU2OTYwMDEwNTI4NTY0NDVdLCBbMTY2MzczMDI3MC4zMzM2OTUyLCA0MDY4LCAyLjAwMjAwNjI5MjM0MzEzOTZdLCBbMTY2MzczMDI3MC40NDQ4MTQsIDQwNzcsIDEuNjkzNDgyMDQxMzU4OTQ3OF0sIFsxNjYzNzMwMjcwLjU0MDA4NDQsIDQwODYsIDEuNzc4MzM1OTI4OTE2OTMxMl0sIFsxNjYzNzMwMjcwLjYzNTk3MywgNDA5NSwgMS42NDk1NDE0OTcyMzA1Mjk4XSwgWzE2NjM3MzAyNzAuODI5MTU4NSwgNDExMywgMS44MzI4NjkyOTEzMDU1NDJdLCBbMTY2MzczMDI3MS4wMDQ3NzksIDQxMzEsIDIuMjc2Nzg0NDIwMDEzNDI3N10sIFsxNjYzNzMwMjcxLjE5NjMwNjIsIDQxNDksIDEuNTI3NDg4NDcwMDc3NTE0Nl0sIFsxNjYzNzMwMjcxLjI3OTM3MSwgNDE1OCwgMS43NTAwODY2NjUxNTM1MDM0XSwgWzE2NjM3MzAyNzEuMzY3MjExOCwgNDE2NywgMS43NDk3OTg2NTU1MDk5NDg3XSwgWzE2NjM3MzAyNzEuNTUyNzM0NCwgNDE4NSwgMS44MjQ4MjA3NTY5MTIyMzE0XSwgWzE2NjM3MzAyNzEuNjM5NjY1NCwgNDE5NCwgMS43Mzc5NTQwMjA1MDAxODNdLCBbMTY2MzczMDI3MS43MjgxMjk2LCA0MjAzLCAxLjU0MjUxNjk0Njc5MjYwMjVdLCBbMTY2MzczMDI3MS45MDA2NTk4LCA0MjIxLCAxLjYzOTMxMjUwNTcyMjA0Nl0sIFsxNjYzNzMwMjcyLjA4ODQ3LCA0MjM5LCAxLjU4Mzk4MTYzMzE4NjM0MDNdLCBbMTY2MzczMDI3Mi4xNjk5ODU1LCA0MjQ4LCAxLjc5NjA4OTY0OTIwMDQzOTVdLCBbMTY2MzczMDI3Mi40MzM3Mjc1LCA0Mjc1LCAxLjYyMTA2MjI3ODc0NzU1ODZdLCBbMTY2MzczMDI3Mi41MjU4NTU1LCA0Mjg0LCAyLjU0NTQ4NDU0Mjg0NjY3OTddLCBbMTY2MzczMDI3Mi43OTE4MTU1LCA0MzExLCAxLjU1MjU4MDgzMzQzNTA1ODZdLCBbMTY2MzczMDI3Mi44NzA4Nzc3LCA0MzIwLCAyLjA2MTY1MjE4MzUzMjcxNV0sIFsxNjYzNzMwMjcyLjk2MTc2NywgNDMyOSwgMS42NDcyNDY0Nzk5ODgwOTgxXSwgWzE2NjM3MzAyNzMuMTEwMDczLCA0MzM4LCAxLjgyMzI1MzYzMTU5MTc5NjldLCBbMTY2MzczMDI3My4yMzgxMTY1LCA0MzQ3LCAxLjYwMTU1NDE1NTM0OTczMTRdLCBbMTY2MzczMDI3My4zMjczMzU0LCA0MzU2LCAxLjUyMDYzMzkzNTkyODM0NDddLCBbMTY2MzczMDI3My40MTU2NDEsIDQzNjUsIDEuNDU1MTkwMzAwOTQxNDY3M10sIFsxNjYzNzMwMjczLjYyODgxMDIsIDQzODMsIDEuODIyMjg5OTQzNjk1MDY4NF0sIFsxNjYzNzMwMjczLjcxNTgyMTUsIDQzOTIsIDEuNTc4NTIzNjM1ODY0MjU3OF0sIFsxNjYzNzMwMjczLjgwNjM3MDUsIDQ0MDEsIDEuNzYwNzIyMzk4NzU3OTM0Nl0sIFsxNjYzNzMwMjczLjg5NDUwMjksIDQ0MTAsIDEuNjM4NDY2MDAwNTU2OTQ1OF0sIFsxNjYzNzMwMjc0LjE3NzUyNywgNDQyOCwgMS45NzI2NTY2MDc2Mjc4Njg3XSwgWzE2NjM3MzAyNzQuNTQ2MDgyLCA0NDU1LCAyLjA1NDkyODc3OTYwMjA1MV0sIFsxNjYzNzMwMjc0LjYzNDgxMywgNDQ2NCwgMS41MjYwMjE1OTk3Njk1OTIzXSwgWzE2NjM3MzAyNzQuOTYyODc4MiwgNDQ5MSwgMS41Njc1MDEzMDY1MzM4MTM1XSwgWzE2NjM3MzAyNzUuMjcyODcyMiwgNDUxOCwgMS41MDc5MDEzMTA5MjA3MTUzXSwgWzE2NjM3MzAyNzUuMzU4NTE3MiwgNDUyNywgMi4wNjk0MTQxMzg3OTM5NDUzXSwgWzE2NjM3MzAyNzUuNDQ4MDExNiwgNDUzNiwgMS41ODg1NjYwNjQ4MzQ1OTQ3XSwgWzE2NjM3MzAyNzUuNzI4ODI1MywgNDU2MywgMS42Nzc0MTk1NDMyNjYyOTY0XSwgWzE2NjM3MzAyNzUuOTI4ODY3MywgNDU4MSwgMS44MzkxOTQ2NTU0MTgzOTZdLCBbMTY2MzczMDI3Ni4wNjA1Nzc2LCA0NTkwLCAxLjk4MDMzMTA2MzI3MDU2ODhdLCBbMTY2MzczMDI3Ni4xNTA4ODMsIDQ1OTksIDEuNzYyMjQyMDc4NzgxMTI4XSwgWzE2NjM3MzAyNzYuMjM4ODkyMywgNDYwOCwgMS41NjIzMDEyNzgxMTQzMTg4XSwgWzE2NjM3MzAyNzYuNTMyNzE4LCA0NjE3LCAxLjY3NDI1OTQyNDIwOTU5NDddLCBbMTY2MzczMDI3Ni42MjYxMzk0LCA0NjI2LCAxLjgwNjU1NjQ2MzI0MTU3NzFdLCBbMTY2MzczMDI3Ni43MDcwOTQ0LCA0NjM1LCAxLjkxMzkzMzM5NjMzOTQxNjVdLCBbMTY2MzczMDI3Ni44ODgzMTM4LCA0NjUzLCAxLjUxMDAyNzQwODU5OTg1MzVdLCBbMTY2MzczMDI3Ni45Nzk3ODEyLCA0NjYyLCAxLjg4NjA2NzYyODg2MDQ3MzZdLCBbMTY2MzczMDI3Ny4wNjMyMzc0LCA0NjcxLCAxLjczMzI0MjE1NDEyMTM5OV0sIFsxNjYzNzMwMjc3LjE0ODg1NzYsIDQ2ODAsIDEuNTEyMjUyODA3NjE3MTg3NV0sIFsxNjYzNzMwMjc3LjI0MjQ3MzEsIDQ2ODksIDEuNDc1NjMyMzA5OTEzNjM1M10sIFsxNjYzNzMwMjc3LjMyMTYzNTIsIDQ2OTgsIDEuNTk4MTE3MjMyMzIyNjkyOV0sIFsxNjYzNzMwMjc3LjUwNzk0OTgsIDQ3MTYsIDEuNTkyMDk2MzI4NzM1MzUxNl0sIFsxNjYzNzMwMjc4LjEzMzc3NTUsIDQ3NzksIDIuMDEzMDkyOTk0Njg5OTQxNF0sIFsxNjYzNzMwMjc4LjM4OTAwNTcsIDQ4MDYsIDEuODY1OTcyNjM4MTMwMTg4XSwgWzE2NjM3MzAyNzguNDc2OTEzNywgNDgxNSwgMS40ODA5MTE4NTA5MjkyNjAzXSwgWzE2NjM3MzAyNzguNjU2NDg1LCA0ODMzLCAxLjU3MzYwNTUzNzQxNDU1MDhdLCBbMTY2MzczMDI3OC43NDUyMTUyLCA0ODQyLCAxLjYyNjk5OTk3NDI1MDc5MzVdLCBbMTY2MzczMDI3OC44MjkwNzEzLCA0ODUxLCAxLjc1MDg5ODU5OTYyNDYzMzhdLCBbMTY2MzczMDI3OC45MTM0ODEyLCA0ODYwLCAxLjk2NjY3MDc1MTU3MTY1NTNdLCBbMTY2MzczMDI3OS4wMDgyMjgsIDQ4NjksIDEuNjE5NzYxNzA1Mzk4NTU5Nl0sIFsxNjYzNzMwMjc5LjE4Njg5ODUsIDQ4ODcsIDEuNjEyMTY4Nzg4OTA5OTEyXSwgWzE2NjM3MzAyNzkuMjc1NzkyNCwgNDg5NiwgMS44NDAzNzI2ODE2MTc3MzY4XSwgWzE2NjM3MzAyNzkuMzYwNTkzMywgNDkwNSwgMS43MzI2MDIxMTk0NDU4MDA4XSwgWzE2NjM3MzAyNzkuNTM5NjYzMywgNDkyMywgMS40ODUxNTAyMTgwMDk5NDg3XSwgWzE2NjM3MzAyNzkuNjI2NjQ5OSwgNDkzMiwgMS45MjA0MTA4NzE1MDU3MzczXSwgWzE2NjM3MzAyNzkuODg1NjMyMywgNDk1OSwgMS43MDYxMzg4NDkyNTg0MjI5XSwgWzE2NjM3MzAyODAuMDU5MDM0LCA0OTc3LCAxLjkzMzUyNzQ2OTYzNTAwOThdLCBbMTY2MzczMDI4MC4yNDA5MDg0LCA0OTk1LCAxLjQ0MjE3NDU1Mzg3MTE1NDhdLCBbMTY2MzczMDI4MC4zMjg5MDg0LCA1MDA0LCAxLjcyMDg0MDMzNDg5MjI3M10sIFsxNjYzNzMwMjgwLjQxMDkzODMsIDUwMTMsIDIuMDMyMTk2NTIxNzU5MDMzXSwgWzE2NjM3MzAyODAuOTMxNjg0LCA1MDY3LCAxLjYzNjM0MDM3OTcxNDk2NThdLCBbMTY2MzczMDI4MS4wMjA2MTA4LCA1MDc2LCAxLjQwMjkyMzgyMjQwMjk1NF0sIFsxNjYzNzMwMjgxLjEyMTk1NiwgNTA4NSwgMS40NDc4MTk5NDgxOTY0MTExXSwgWzE2NjM3MzAyODEuNDcyNzgyLCA1MTIxLCAxLjcyMDg5NjYwMTY3Njk0MV0sIFsxNjYzNzMwMjgxLjU2NTEzMTcsIDUxMzAsIDEuNTI3NDA4NTk5ODUzNTE1Nl0sIFsxNjYzNzMwMjgxLjc1Mzk5MTgsIDUxNDgsIDEuNjA0MDk4OTE2MDUzNzcyXSwgWzE2NjM3MzAyODEuOTI0Njk2NywgNTE2NiwgMS43NTYxMDE3Mjc0ODU2NTY3XSwgWzE2NjM3MzAyODIuMTg2MDAwMywgNTE5MywgMS40NTU0MjA2MTMyODg4Nzk0XSwgWzE2NjM3MzAyODIuNTI4MjQ2LCA1MjI5LCAxLjYxMzQ3OTYxNDI1NzgxMjVdLCBbMTY2MzczMDI4Mi44Nzg0NjA2LCA1MjY1LCAxLjg4ODYyNjA5ODYzMjgxMjVdLCBbMTY2MzczMDI4Mi45NjU4OTQ3LCA1Mjc0LCAxLjUwNTY0NjIyODc5MDI4MzJdLCBbMTY2MzczMDI4My4wNjA1MzM1LCA1MjgzLCAxLjYzOTQyMzYwODc3OTkwNzJdLCBbMTY2MzczMDI4My4yMzU3MzE2LCA1MzAxLCAxLjc1MTEzOTQwMjM4OTUyNjRdLCBbMTY2MzczMDI4My4zMjA2Mjk0LCA1MzEwLCAxLjc3ODc1NTU0NTYxNjE1XSwgWzE2NjM3MzAyODMuNDA2MTgsIDUzMTksIDEuNTU5NTI0MTc4NTA0OTQzOF0sIFsxNjYzNzMwMjgzLjQ5MTAyMTYsIDUzMjgsIDEuNzg5ODc4MDEwNzQ5ODE3XSwgWzE2NjM3MzAyODMuNTc2MzM1MiwgNTMzNywgMS41MDc2NDc1MTQzNDMyNjE3XSwgWzE2NjM3MzAyODMuOTY0MzkwOCwgNTM1NSwgMS40Mzc2NTczNTYyNjIyMDddLCBbMTY2MzczMDI4NC4xNDIxMTEzLCA1MzczLCAxLjUwOTUxMDI3ODcwMTc4MjJdLCBbMTY2MzczMDI4NC4yMjkzODk0LCA1MzgyLCAxLjY2NzQyMjY1MjI0NDU2NzldLCBbMTY2MzczMDI4NC4zMTc1OTA3LCA1MzkxLCAxLjM4ODQ5MjQ2NTAxOTIyNl0sIFsxNjYzNzMwMjg0LjQwMjcyOTMsIDU0MDAsIDEuNDk3NTE2MTU1MjQyOTJdLCBbMTY2MzczMDI4NC42Mjg2NzcxLCA1NDE4LCAxLjM5Mjk2MjY5NDE2ODA5MDhdLCBbMTY2MzczMDI4NC43Mzk5NjE0LCA1NDI3LCAxLjU1NTUwODQ5NDM3NzEzNjJdLCBbMTY2MzczMDI4NC44NzE0NjYyLCA1NDM2LCAxLjc5NTU5MTk1MDQxNjU2NV0sIFsxNjYzNzMwMjg1LjExNTE3MzgsIDU0NTQsIDEuNjc2MTcwNzA2NzQ4OTYyNF0sIFsxNjYzNzMwMjg1LjQ2NTE5NjYsIDU0ODEsIDIuMDc0Njg2NzY1NjcwNzc2NF0sIFsxNjYzNzMwMjg1LjcwMTI5MjgsIDU0OTksIDEuNTU4MTM2MjI0NzQ2NzA0XSwgWzE2NjM3MzAyODYuMDIwMTAzMiwgNTUyNiwgMS4zNTQ1NTQ2NTMxNjc3MjQ2XSwgWzE2NjM3MzAyODYuMTI5MDYxNSwgNTUzNSwgMS42NjQ5NTY4MDgwOTAyMV0sIFsxNjYzNzMwMjg2LjM1MzE1ODcsIDU1NTMsIDEuNjEyMDIyNzU3NTMwMjEyNF0sIFsxNjYzNzMwMjg2LjU1MzA4NDQsIDU1NzEsIDEuMzgxNDcwMzIyNjA4OTQ3OF0sIFsxNjYzNzMwMjg2Ljc2NDIwMzUsIDU1ODksIDEuMzcyMjI1MTY1MzY3MTI2NV0sIFsxNjYzNzMwMjg2Ljk0MTQ4NywgNTYwNywgMS41NzMwNjE1ODU0MjYzMzA2XSwgWzE2NjM3MzAyODcuMDMzNjk3NiwgNTYxNiwgMS4zOTk4OTEwMTg4Njc0OTI3XSwgWzE2NjM3MzAyODcuMzIyMzc5OCwgNTY0MywgMS4zMjg1NTI5NjEzNDk0ODczXSwgWzE2NjM3MzAyODcuNDA1OTEyOSwgNTY1MiwgMS41Mjg1ODYzODc2MzQyNzczXSwgWzE2NjM3MzAyODcuNTA2MzY0MywgNTY2MSwgMS40MjEwNjQ2MTUyNDk2MzM4XSwgWzE2NjM3MzAyODcuNTk3MTc3NywgNTY3MCwgMS40NDM2NDk2NDk2MjAwNTYyXSwgWzE2NjM3MzAyODcuOTQ3ODc0NSwgNTcwNiwgMS42MDUxMDU3NTc3MTMzMTc5XSwgWzE2NjM3MzAyODguMDQ0NywgNTcxNSwgMS40NDMwNzIwODA2MTIxODI2XSwgWzE2NjM3MzAyODguMTM1OTY4MiwgNTcyNCwgMS41NDA0MDYzNDYzMjExMDZdLCBbMTY2MzczMDI4OC4zMTQ4MjA4LCA1NzQyLCAxLjc2NDE1MDk3NzEzNDcwNDZdLCBbMTY2MzczMDI4OC41OTEzMDksIDU3NjksIDEuNjY5NjIzMjU1NzI5Njc1M10sIFsxNjYzNzMwMjg4LjY4MzA3MjYsIDU3NzgsIDEuNTQyOTc1OTAyNTU3MzczXSwgWzE2NjM3MzAyODguODE4MTc0NCwgNTc4NywgMS43NzE0MDY3Njk3NTI1MDI0XSwgWzE2NjM3MzAyODguOTExNjk0NSwgNTc5NiwgMS43NTE5NjUwNDU5Mjg5NTVdLCBbMTY2MzczMDI4OC45OTc0OTY4LCA1ODA1LCAxLjQyNTE4NTU2MTE4MDExNDddLCBbMTY2MzczMDI4OS4wOTEyMzg1LCA1ODE0LCAxLjY2MTAyMTQ3MTAyMzU1OTZdLCBbMTY2MzczMDI4OS40OTI5NzUsIDU4NTAsIDEuNjgwMzE3NzU5NTEzODU1XSwgWzE2NjM3MzAyODkuNjY3MDIyMiwgNTg2OCwgMS40Njg2ODkyMDMyNjIzMjldLCBbMTY2MzczMDI4OS43NTk1MzEzLCA1ODc3LCAxLjM2NzAyMjc1Mjc2MTg0MDhdLCBbMTY2MzczMDI4OS44NTI5NDEzLCA1ODg2LCAxLjY1MTM2NjM1MzAzNDk3MzFdLCBbMTY2MzczMDI4OS45MzgwNTEsIDU4OTUsIDEuNDIyOTY0MDk2MDY5MzM2XSwgWzE2NjM3MzAyOTAuMDI3MTgxOSwgNTkwNCwgMS40NzA1MjI4ODA1NTQxOTkyXSwgWzE2NjM3MzAyOTAuMzE1MzUzLCA1OTMxLCAxLjM1MDI0Nzk3OTE2NDEyMzVdLCBbMTY2MzczMDI5MC40MTAzMTgxLCA1OTQwLCAxLjgzNjE5NDAzODM5MTExMzNdLCBbMTY2MzczMDI5MC41MTEyNDE0LCA1OTQ5LCAxLjY2NDI5MzQwODM5Mzg1OTldLCBbMTY2MzczMDI5MS4xMzI4OTIxLCA2MDEyLCAxLjQwMDY1OTY4MDM2NjUxNjFdLCBbMTY2MzczMDI5MS40MTQ3NzI1LCA2MDM5LCAxLjM0OTMyMTI0NjE0NzE1NThdLCBbMTY2MzczMDI5MS44NTAyMjIzLCA2MDg0LCAxLjcyODE4MDA1MDg0OTkxNDZdLCBbMTY2MzczMDI5Mi4xNDIxOTAyLCA2MDkzLCAxLjU0ODA0OTgwNzU0ODUyM10sIFsxNjYzNzMwMjkyLjIzNDEyMzcsIDYxMDIsIDEuODQxNDM4MjkzNDU3MDMxMl0sIFsxNjYzNzMwMjkyLjQ4Mjk0NTQsIDYxMjksIDEuNDEyNzQyMzc2MzI3NTE0Nl0sIFsxNjYzNzMwMjkyLjY1NTE2MywgNjE0NywgMS4zNjI5NTkwMjcyOTAzNDQyXSwgWzE2NjM3MzAyOTIuNzQyNTIzLCA2MTU2LCAxLjI5OTc1NzgzODI0OTIwNjVdLCBbMTY2MzczMDI5Mi44NDE5NjYsIDYxNjUsIDEuODQwMjAwMTg1Nzc1NzU2OF0sIFsxNjYzNzMwMjkyLjkyODExMTYsIDYxNzQsIDEuNTEwNzE2MDgwNjY1NTg4NF0sIFsxNjYzNzMwMjkzLjEwNTIxMTcsIDYxOTIsIDEuNjA1ODMzODg4MDUzODk0XSwgWzE2NjM3MzAyOTMuNTQ2NzEyNCwgNjIzNywgMS40MDk2OTUzODY4ODY1OTY3XSwgWzE2NjM3MzAyOTMuNjMzNzE0LCA2MjQ2LCAxLjM4NTIzMDQyMjAxOTk1ODVdLCBbMTY2MzczMDI5My43MjMxOTQxLCA2MjU1LCAxLjQ5MDM5MzUxOTQwMTU1MDNdLCBbMTY2MzczMDI5My44MDgwMjMsIDYyNjQsIDEuNTI5ODQ5MDUyNDI5MTk5Ml0sIFsxNjYzNzMwMjkzLjg5OTc4OTMsIDYyNzMsIDEuODY2NjQwODA2MTk4MTIwMV0sIFsxNjYzNzMwMjkzLjk4NTQ3MiwgNjI4MiwgMS4zMzU5NDkwNjMzMDEwODY0XSwgWzE2NjM3MzAyOTQuMTYzMTY2MywgNjMwMCwgMS4yNzExMjE1MDE5MjI2MDc0XSwgWzE2NjM3MzAyOTQuNDM4MDM1NywgNjMyNywgMS4zNTM3MzI3MDUxMTYyNzJdLCBbMTY2MzczMDI5NC41MzY0NjM1LCA2MzM2LCAxLjU2NTM3NzQ3MzgzMTE3NjhdLCBbMTY2MzczMDI5NC43MDg5MTU3LCA2MzU0LCAxLjQyMDc4MDMwMTA5NDA1NTJdLCBbMTY2MzczMDI5NS4wNTE5NjE3LCA2MzkwLCAxLjQxNTQxMzg1NjUwNjM0NzddLCBbMTY2MzczMDI5NS4xMzk3MDE0LCA2Mzk5LCAxLjQxMTU2NzgwNzE5NzU3MDhdLCBbMTY2MzczMDI5NS4zMTE1MDcsIDY0MTcsIDEuNjM5NTUwOTI0MzAxMTQ3NV0sIFsxNjYzNzMwMjk1LjU4MDEwOTQsIDY0NDQsIDEuNDE5MDQzMDY0MTE3NDMxNl0sIFsxNjYzNzMwMjk1Ljc1MjU5NywgNjQ2MiwgMS43NzU3MTMwODYxMjgyMzQ5XSwgWzE2NjM3MzAyOTUuOTMxODA4NSwgNjQ4MCwgMS41MTM5MjA5MDMyMDU4NzE2XSwgWzE2NjM3MzAyOTYuMDIwMjk0NywgNjQ4OSwgMS4zMjk2Mzg0ODExNDAxMzY3XSwgWzE2NjM3MzAyOTYuMTA4MTMxLCA2NDk4LCAxLjUxNjc5MzAxMjYxOTAxODZdLCBbMTY2MzczMDI5Ni4yNzc1MzE0LCA2NTE2LCAxLjU0MjA2MDk3MTI2MDA3MDhdLCBbMTY2MzczMDI5Ni40NzIwNTExLCA2NTM0LCAxLjQ5MDQ3MDE3MDk3NDczMTRdLCBbMTY2MzczMDI5Ni41Njk0MDA4LCA2NTQzLCAxLjM2MzY1MjgyNTM1NTUyOThdLCBbMTY2MzczMDI5Ni42NjA3ODkzLCA2NTUyLCAxLjI3OTM0ODg1MDI1MDI0NDFdLCBbMTY2MzczMDI5Ni43NjU5MTA2LCA2NTYxLCAxLjUxNTQxMzc2MTEzODkxNl0sIFsxNjYzNzMwMjk2Ljg5NzI3OTMsIDY1NzAsIDEuMzg3OTI4MzY2NjYxMDcxOF0sIFsxNjYzNzMwMjk3LjExNTAwMjksIDY1ODgsIDEuNTIyNzM4NTc1OTM1MzYzOF0sIFsxNjYzNzMwMjk3LjI0MTExNywgNjU5NywgMS40NjkwMTQ3NjM4MzIwOTIzXSwgWzE2NjM3MzAyOTcuMzUwMzczNywgNjYwNiwgMS43NTc0MTgxNTU2NzAxNjZdLCBbMTY2MzczMDI5Ny45MzA2NDEsIDY2NTEsIDEuNDE5Njc5ODgwMTQyMjEyXSwgWzE2NjM3MzAyOTguMDI0NjgwNiwgNjY2MCwgMS4xNTEwOTIyOTA4NzgyOTZdLCBbMTY2MzczMDI5OC4xMjE4Nzc3LCA2NjY5LCAxLjU1NDUwMzc5ODQ4NDgwMjJdLCBbMTY2MzczMDI5OC4zMDY1MzI0LCA2Njg3LCAxLjU0NzAyOTM3NjAyOTk2ODNdLCBbMTY2MzczMDI5OC4zOTY0NSwgNjY5NiwgMS41NzM5Mjc4NzkzMzM0OTZdLCBbMTY2MzczMDI5OC41MjE0MDAyLCA2NzA1LCAxLjUyNTgzOTgwNTYwMzAyNzNdLCBbMTY2MzczMDI5OC42MjIzNjYyLCA2NzE0LCAxLjQ2MTA1NzkwMTM4MjQ0NjNdLCBbMTY2MzczMDI5OS40ODg5MDcsIDY3NzcsIDEuNDEzNTgzMjc4NjU2MDA1OV0sIFsxNjYzNzMwMjk5Ljc2NzcyNzQsIDY4MDQsIDEuNDU2MjM4OTg1MDYxNjQ1NV0sIFsxNjYzNzMwMjk5Ljg1NzI5MzYsIDY4MTMsIDEuNDY4NzY1OTc0MDQ0Nzk5OF0sIFsxNjYzNzMwMzAwLjAzODQ2MTQsIDY4MzEsIDEuNDY5NjkwOTE4OTIyNDI0M10sIFsxNjYzNzMwMzAwLjQ2ODM4NDMsIDY4NzYsIDEuNTEwMzAxODI4Mzg0Mzk5NF0sIFsxNjYzNzMwMzAwLjU1MzI5NjgsIDY4ODUsIDEuNTI5NTU1MzIwNzM5NzQ2XSwgWzE2NjM3MzAzMDAuNjM4NDksIDY4OTQsIDEuMzUxNTk1OTk3ODEwMzYzOF0sIFsxNjYzNzMwMzAwLjgxNTE2MzEsIDY5MTIsIDEuNDc4MDUyOTczNzQ3MjUzNF0sIFsxNjYzNzMwMzAwLjkxMDgxNjQsIDY5MjEsIDEuNjE1Nzc5NTE5MDgxMTE1N10sIFsxNjYzNzMwMzAwLjk5NDk5NSwgNjkzMCwgMS41MDIwMjI2MjQwMTU4MDhdLCBbMTY2MzczMDMwMS4xODQzMDg1LCA2OTQ4LCAxLjc0NTEyMTI0MDYxNTg0NDddLCBbMTY2MzczMDMwMS4yOTIwNzQyLCA2OTU3LCAxLjQyNzAxOTgzNDUxODQzMjZdLCBbMTY2MzczMDMwMS4zODM2OTEzLCA2OTY2LCAxLjMzNjgwNzcyNzgxMzcyMDddLCBbMTY2MzczMDMwMS41NTg0NTU1LCA2OTg0LCAxLjQ2MzM0ODE1MDI1MzI5Nl0sIFsxNjYzNzMwMzAxLjY0OTgyMywgNjk5MywgMS4yOTUxNzAzMDcxNTk0MjM4XSwgWzE2NjM3MzAzMDEuODI2MjI3LCA3MDExLCAxLjM1NTA3MjczNjc0MDExMjNdLCBbMTY2MzczMDMwMS45MTMxNjQ0LCA3MDIwLCAxLjU4NTQwODY4NzU5MTU1MjddLCBbMTY2MzczMDMwMS45OTc4MjgyLCA3MDI5LCAxLjI1MjQ4MTIyMjE1MjcxXSwgWzE2NjM3MzAzMDIuMDc5ODI0LCA3MDM4LCAxLjQwNTg3MjEwNjU1MjEyNF0sIFsxNjYzNzMwMzAyLjIwMDMzNzIsIDcwNDcsIDEuMjgwMDI3Mzg5NTI2MzY3Ml0sIFsxNjYzNzMwMzAyLjMxMjk3NywgNzA1NiwgMS4yNTEzNDEyMjM3MTY3MzU4XSwgWzE2NjM3MzAzMDIuNzI0MDU1MywgNzA4MywgMS4zNTc2MjgyMjYyODAyMTI0XSwgWzE2NjM3MzAzMDIuOTQ2MjQ2NCwgNzEwMSwgMS40OTQ0MTU3NjAwNDAyODMyXSwgWzE2NjM3MzAzMDMuMDY2MjUwMywgNzExMCwgMS4zMTU1OTE2OTI5MjQ0OTk1XSwgWzE2NjM3MzAzMDMuMzQxMTYzLCA3MTI4LCAxLjIwNDA1NDcxMzI0OTIwNjVdLCBbMTY2MzczMDMwMy41NDIwNTMyLCA3MTQ2LCAxLjM1MDg1NDUxNjAyOTM1OF0sIFsxNjYzNzMwMzAzLjcxNjAxMDMsIDcxNjQsIDEuNDYwMzc5NjAwNTI0OTAyM10sIFsxNjYzNzMwMzAzLjc5Nzc4MSwgNzE3MywgMS4yMDI4NTk2NDAxMjE0Nl0sIFsxNjYzNzMwMzAzLjg4MDk1ODYsIDcxODIsIDEuNzYxNTk2MjAyODUwMzQxOF0sIFsxNjYzNzMwMzA0LjA3ODMzMDMsIDcyMDAsIDEuMjM2OTgwOTE1MDY5NThdLCBbMTY2MzczMDMwNC4xNjMwNzIsIDcyMDksIDEuNTAxNjE2MjM5NTQ3NzI5NV0sIFsxNjYzNzMwMzA0LjU1NjgyMDYsIDcyNDUsIDEuODA5NzgyNjI0MjQ0NjldLCBbMTY2MzczMDMwNC42NzEzNTI0LCA3MjU0LCAxLjMwNTA2NDkxNjYxMDcxNzhdLCBbMTY2MzczMDMwNC43NjA3MTcsIDcyNjMsIDEuNDk0OTk3MzgyMTY0MDAxNV0sIFsxNjYzNzMwMzA0Ljg0NjUzMTYsIDcyNzIsIDEuMzQ2OTg3NjA1MDk0OTA5N10sIFsxNjYzNzMwMzA1LjExMjkwNzIsIDcyOTksIDEuMjYxOTY3MDYyOTUwMTM0M10sIFsxNjYzNzMwMzA1LjM2MDEzLCA3MzI2LCAxLjM2NjcwMzE1MjY1NjU1NTJdLCBbMTY2MzczMDMwNS44MzM1MzgsIDczNzEsIDEuMzg0ODk0MzcxMDMyNzE0OF0sIFsxNjYzNzMwMzA1LjkxNzgyMiwgNzM4MCwgMS40MDAyNDYyNjI1NTAzNTRdLCBbMTY2MzczMDMwNi4xODIwNTI0LCA3Mzk4LCAxLjUzMDE3NTU2NjY3MzI3ODhdLCBbMTY2MzczMDMwNi4yOTc4MDMyLCA3NDA3LCAxLjQ1MjUxODgyMDc2MjYzNDNdLCBbMTY2MzczMDMwNi40MDk0MTA3LCA3NDE2LCAxLjI4MjgyNTQ2OTk3MDcwMzFdLCBbMTY2MzczMDMwNi41ODY4MTc3LCA3NDM0LCAxLjU1ODA5MDIwOTk2MDkzNzVdLCBbMTY2MzczMDMwNi42ODMwMzIsIDc0NDMsIDEuMjk1NzYyNzc3MzI4NDkxMl0sIFsxNjYzNzMwMzA2Ljc4NTU3NzUsIDc0NTIsIDEuMzMwODE1MTk2MDM3MjkyNV0sIFsxNjYzNzMwMzA2Ljg2Nzk3MjQsIDc0NjEsIDEuMTM2Mzk3NDgwOTY0NjYwNl0sIFsxNjYzNzMwMzA3LjI2NTU3OCwgNzQ5NywgMS4yMTQ3NjI4MDY4OTIzOTVdLCBbMTY2MzczMDMwNy4zNTA0Nzg0LCA3NTA2LCAxLjQxNDk5MTQ5Nzk5MzQ2OTJdLCBbMTY2MzczMDMwNy41MjYxMTQ1LCA3NTI0LCAxLjMzNzUzMzExNjM0MDYzNzJdLCBbMTY2MzczMDMwNy42MTYwMjk3LCA3NTMzLCAxLjI4ODQ3NDkxNzQxMTgwNDJdLCBbMTY2MzczMDMwNy45MDE3NjE4LCA3NTQyLCAxLjM2MzYwMTkyMjk4ODg5MTZdLCBbMTY2MzczMDMwOC4wNjIwNTEzLCA3NTYwLCAxLjMzNjc3MDc3MjkzMzk2XSwgWzE2NjM3MzAzMDguMTQ4MDY2OCwgNzU2OSwgMS4zMTU0MTc2NDczNjE3NTU0XSwgWzE2NjM3MzAzMDguMzEyMTI4LCA3NTg3LCAxLjMwMDA5NTA4MTMyOTM0NTddLCBbMTY2MzczMDMwOC4zOTU0MjQ2LCA3NTk2LCAxLjI2MjI0OTk0NjU5NDIzODNdLCBbMTY2MzczMDMwOC41NjIxNTYsIDc2MTQsIDEuNDg4MDI3NTcyNjMxODM2XSwgWzE2NjM3MzAzMDguOTcwOTQ5NiwgNzY1OSwgMS4zNjYwNDA3MDY2MzQ1MjE1XSwgWzE2NjM3MzAzMDkuMDY2MjgyLCA3NjY4LCAxLjMyMzM1MjQ1NjA5MjgzNDVdLCBbMTY2MzczMDMwOS4zMjc3OTcsIDc2OTUsIDEuMzc2Mzg0OTczNTI2MDAxXSwgWzE2NjM3MzAzMDkuNDk1NDExNCwgNzcxMywgMS41ODQ0MTkxMzEyNzg5OTE3XSwgWzE2NjM3MzAzMDkuNTgwODk0LCA3NzIyLCAxLjE1NDgzMjgzOTk2NTgyMDNdLCBbMTY2MzczMDMwOS44NDU3NjMsIDc3NDksIDEuMDk2Nzc1ODg5Mzk2NjY3NV0sIFsxNjYzNzMwMzA5Ljk0MTUwMSwgNzc1OCwgMS41MzkxMzA1Njg1MDQzMzM1XSwgWzE2NjM3MzAzMTAuMDMzODQ3MywgNzc2NywgMS42MjQ2OTk3MTE3OTk2MjE2XSwgWzE2NjM3MzAzMTAuMzY3MDgzOCwgNzc5NCwgMS4zMTAxODM4ODI3MTMzMTc5XSwgWzE2NjM3MzAzMTAuNTA3NTMzMywgNzgwMywgMS40MTc0MTAzNzM2ODc3NDQxXSwgWzE2NjM3MzAzMTAuOTYyMzI2LCA3ODM5LCAxLjU2MjMyNjA3MzY0NjU0NTRdLCBbMTY2MzczMDMxMS4wNjg4NjA1LCA3ODQ4LCAxLjE4MjY5NzY1Mzc3MDQ0NjhdLCBbMTY2MzczMDMxMi4xNDE5NzYsIDc5MzgsIDEuMzc4NTY1NTQ5ODUwNDYzOV0sIFsxNjYzNzMwMzEyLjMxMjM4NSwgNzk1NiwgMS4yMTIzNDkxNzY0MDY4NjA0XSwgWzE2NjM3MzAzMTIuNDAwNTIzMiwgNzk2NSwgMS4yOTY0NTI0MDMwNjg1NDI1XSwgWzE2NjM3MzAzMTIuNDg5Njk5NCwgNzk3NCwgMS4yODM5MDQ5MTAwODc1ODU0XSwgWzE2NjM3MzAzMTIuNTc2NTEyLCA3OTgzLCAxLjQ3NDIxNTUwNzUwNzMyNDJdLCBbMTY2MzczMDMxMi43NDUwMjc4LCA4MDAxLCAxLjI3NjQwNTIxNTI2MzM2NjddLCBbMTY2MzczMDMxMi45Njc5NzU5LCA4MDE5LCAxLjU1MjUxMTQ1MzYyODU0XSwgWzE2NjM3MzAzMTMuMjA3MDM4NCwgODAzNywgMS42MjA5MzkwMTYzNDIxNjNdLCBbMTY2MzczMDMxMy40OTUwMzQyLCA4MDY0LCAxLjM3MDk4OTkxODcwODgwMTNdLCBbMTY2MzczMDMxMy42ODkzMTc1LCA4MDgyLCAxLjI4NDIwNjAzMjc1Mjk5MDddLCBbMTY2MzczMDMxMy43Nzk4OTUsIDgwOTEsIDEuNTM0MzI2OTEwOTcyNTk1Ml0sIFsxNjYzNzMwMzE0LjA3MDA3MDcsIDgxMTgsIDEuOTA1ODYwNDI0MDQxNzQ4XSwgWzE2NjM3MzAzMTQuMjAwNzI5OCwgODEyNywgMS4zODczMjc1NTE4NDE3MzU4XSwgWzE2NjM3MzAzMTQuMzkzNTQ1OSwgODE0NSwgMS4zMDIwNTg5MzUxNjU0MDUzXSwgWzE2NjM3MzAzMTQuNjExMzc5NiwgODE2MywgMS4zMTEyMjE5NTcyMDY3MjZdLCBbMTY2MzczMDMxNC42OTU4NDI3LCA4MTcyLCAxLjQ5MDUzMTU2Mzc1ODg1XSwgWzE2NjM3MzAzMTQuNzgzNTE3NCwgODE4MSwgMS4yODU0ODI1MjU4MjU1MDA1XSwgWzE2NjM3MzAzMTQuOTU2Mzg1MSwgODE5OSwgMS4xNDkwODc2Njc0NjUyMV0sIFsxNjYzNzMwMzE1LjA0OTg2MSwgODIwOCwgMS4yMDkzOTgwMzEyMzQ3NDEyXSwgWzE2NjM3MzAzMTUuMjMzMDY1LCA4MjI2LCAxLjM1NDYwMjA5ODQ2NDk2NThdLCBbMTY2MzczMDMxNS4zMjc2NTcyLCA4MjM1LCAxLjI3NzE2OTM0NjgwOTM4NzJdLCBbMTY2MzczMDMxNS41MzUyNTg4LCA4MjUzLCAxLjQ2NTI0NzUxMTg2MzcwODVdLCBbMTY2MzczMDMxNS43MTkzNjc1LCA4MjcxLCAxLjE2Mjk4ODU0MzUxMDQzN10sIFsxNjYzNzMwMzE1Ljg3MjcxNTcsIDgyODAsIDEuNTM2NTQzOTY1MzM5NjYwNl0sIFsxNjYzNzMwMzE1Ljk2MjUyOTIsIDgyODksIDEuNDg2MzEzMzQzMDQ4MDk1N10sIFsxNjYzNzMwMzE2LjA1Mjk4NTcsIDgyOTgsIDEuMzQzNDA4OTQyMjIyNTk1Ml0sIFsxNjYzNzMwMzE2LjQxNTI4OCwgODMxNiwgMS40MDE1NTY3MzAyNzAzODU3XSwgWzE2NjM3MzAzMTYuNzY5MDAxMiwgODM1MiwgMS41MjU4MzUyNzU2NTAwMjQ0XSwgWzE2NjM3MzAzMTYuODQ1OTQsIDgzNjEsIDEuNTc0NjM1OTgyNTEzNDI3N10sIFsxNjYzNzMwMzE2LjkyODYwNTgsIDgzNzAsIDEuMzY2MjI2NjczMTI2MjIwN10sIFsxNjYzNzMwMzE3LjAxMzgxNzMsIDgzNzksIDEuNDIyOTM2NTU4NzIzNDQ5N10sIFsxNjYzNzMwMzE3LjA5MTEwNTIsIDgzODgsIDEuMTg4NjIwNjg2NTMxMDY3XSwgWzE2NjM3MzAzMTcuMTc1NDI4NCwgODM5NywgMS4xNjU5MTczOTY1NDU0MTAyXSwgWzE2NjM3MzAzMTcuMjU3MDQ1LCA4NDA2LCAxLjY1NDk3MTk1NzIwNjcyNl0sIFsxNjYzNzMwMzE3LjQxOTIyMTksIDg0MjQsIDEuMDk1MDEzMzgwMDUwNjU5Ml0sIFsxNjYzNzMwMzE3LjkzNDcwOTgsIDg0NjAsIDEuMTUyMTk2ODg0MTU1MjczNF0sIFsxNjYzNzMwMzE4LjEyMjQ3MDQsIDg0NzgsIDEuMzQ1MDMyNTcyNzQ2Mjc2OV0sIFsxNjYzNzMwMzE4LjIyNDYwMzcsIDg0ODcsIDEuNDI5MDAzMDAwMjU5Mzk5NF0sIFsxNjYzNzMwMzE4LjQ4MDQ4NSwgODUxNCwgMS41MDQ5NTY4NDE0Njg4MTFdLCBbMTY2MzczMDMxOC44NjI4NTY0LCA4NTUwLCAxLjIzMjU1MzEyNDQyNzc5NTRdLCBbMTY2MzczMDMxOC45NDQ2ODUsIDg1NTksIDEuMjU2Mjk4NTQyMDIyNzA1XSwgWzE2NjM3MzAzMTkuMTE0OTk2LCA4NTc3LCAxLjQ4OTk2MTM4NTcyNjkyODddLCBbMTY2MzczMDMxOS4yOTcwNDc2LCA4NTk1LCAxLjEzMzY3ODkxMzExNjQ1NV0sIFsxNjYzNzMwMzE5LjM4MzMwMDUsIDg2MDQsIDEuNDI2ODMxMDA3MDAzNzg0Ml0sIFsxNjYzNzMwMzE5LjQ3Mzk3MzgsIDg2MTMsIDEuMzYwNDE5NzUwMjEzNjIzXSwgWzE2NjM3MzAzMTkuNzQ0MjE3MiwgODY0MCwgMS4xOTQ2MTE3ODc3OTYwMjA1XSwgWzE2NjM3MzAzMTkuODMzNzIxLCA4NjQ5LCAxLjQwNTc3MjQ0NzU4NjA1OTZdLCBbMTY2MzczMDMxOS45MjM0ODE3LCA4NjU4LCAxLjM1OTcxODMyMjc1MzkwNjJdLCBbMTY2MzczMDMyMC4wMTI5MDI1LCA4NjY3LCAxLjIyNjAxNzcxMzU0Njc1M10sIFsxNjYzNzMwMzIwLjEwNjIzNDYsIDg2NzYsIDEuMzEzNTIzODg4NTg3OTUxN10sIFsxNjYzNzMwMzIwLjE5MDk0MzUsIDg2ODUsIDEuMzAxNzQ2ODQ1MjQ1MzYxM10sIFsxNjYzNzMwMzIwLjI4MzM1NzQsIDg2OTQsIDEuMTcyNDg0MTU5NDY5NjA0NV0sIFsxNjYzNzMwMzIwLjQ1MzQ1ODUsIDg3MTIsIDEuMDcwMzQyNTQwNzQwOTY2OF0sIFsxNjYzNzMwMzIwLjU1NjUyMzgsIDg3MjEsIDEuMjk0NzAwNzQxNzY3ODgzM10sIFsxNjYzNzMwMzIwLjgxMTYwMzUsIDg3NDgsIDEuMTYwMTYxMjU2NzkwMTYxMV0sIFsxNjYzNzMwMzIxLjI2ODM3MzMsIDg3OTMsIDEuMzc5NTAxOTM4ODE5ODg1M10sIFsxNjYzNzMwMzIxLjQ1MjU2OTUsIDg4MTEsIDEuNDQ2NTQ0ODg1NjM1Mzc2XSwgWzE2NjM3MzAzMjEuNTMzNDg3MywgODgyMCwgMS40NjIyMDk3MDE1MzgwODZdLCBbMTY2MzczMDMyMS43MDQ5MTAzLCA4ODM4LCAxLjQ4NDM2MTE3MTcyMjQxMl0sIFsxNjYzNzMwMzIxLjc5MDU3NTMsIDg4NDcsIDEuNDU3NDExODg1MjYxNTM1Nl0sIFsxNjYzNzMwMzIxLjg3OTMxMjMsIDg4NTYsIDEuMjY0NDc3OTY4MjE1OTQyNF0sIFsxNjYzNzMwMzIyLjE0MjY5NjksIDg4ODMsIDEuMTg1NDQ5NDgxMDEwNDM3XSwgWzE2NjM3MzAzMjIuMzEyMjI3NSwgODkwMSwgMS40ODg1Mzg2MjI4NTYxNDAxXSwgWzE2NjM3MzAzMjIuNDAzMDA1MSwgODkxMCwgMS4yMjMzODI4MzA2MTk4MTJdLCBbMTY2MzczMDMyMi40OTU1MTkyLCA4OTE5LCAxLjM0NjEwNDg2MDMwNTc4NjFdLCBbMTY2MzczMDMyMi42NjE1NDUsIDg5MzcsIDEuMjk0MjIwMjA5MTIxNzA0XSwgWzE2NjM3MzAzMjIuODMwMzE3MywgODk1NSwgMS4xNzkxNzQ3ODA4NDU2NDJdLCBbMTY2MzczMDMyMi45MjU2ODQyLCA4OTY0LCAxLjI2ODQ4NjQ5OTc4NjM3N10sIFsxNjYzNzMwMzIzLjAwNDQzNDMsIDg5NzMsIDEuMjk3NzQ0NzUwOTc2NTYyNV0sIFsxNjYzNzMwMzIzLjE3MjQyNTMsIDg5OTEsIDEuNTMzMTMzNjI1OTg0MTkyXSwgWzE2NjM3MzAzMjMuMjU4NjksIDkwMDAsIDEuMjUyODg4Njc5NTA0Mzk0NV0sIFsxNjYzNzMwMzIzLjQyODA1MzksIDkwMTgsIDEuMTY1MjI0OTA5NzgyNDA5N10sIFsxNjYzNzMwMzIzLjUxODI4NTMsIDkwMjcsIDEuNDI0MTk4NjI3NDcxOTIzOF0sIFsxNjYzNzMwMzIzLjYwMTI5MjQsIDkwMzYsIDEuMjcwNjM2MDgxNjk1NTU2Nl0sIFsxNjYzNzMwMzIzLjY4NzA2NDQsIDkwNDUsIDEuMjI4NDA5NzY3MTUwODc5XSwgWzE2NjM3MzAzMjMuNzczMTM5NywgOTA1NCwgMS40NTY1NzY1ODU3Njk2NTMzXSwgWzE2NjM3MzAzMjMuODU5NDYyNSwgOTA2MywgMS4yMjcwMjgwMTIyNzU2OTU4XSwgWzE2NjM3MzAzMjQuNTA0OTUzOSwgOTEwOCwgMS40NTgyOTYxNzk3NzE0MjMzXSwgWzE2NjM3MzAzMjQuNjc0NjczNiwgOTEyNiwgMS4yODc3NTc5OTI3NDQ0NDU4XSwgWzE2NjM3MzAzMjQuOTA5MjE3OCwgOTE0NCwgMS4zMzc0Mjk1MjM0NjgwMTc2XSwgWzE2NjM3MzAzMjUuMDA0OTg3MiwgOTE1MywgMS40ODAzNzMyNjMzNTkwNjk4XSwgWzE2NjM3MzAzMjUuMTM1NzUzNCwgOTE2MiwgMS4zNDc1ODkyNTQzNzkyNzI1XSwgWzE2NjM3MzAzMjUuNTc2NzU4OSwgOTIwNywgMS4yMTMxMTcyNDE4NTk0MzZdLCBbMTY2MzczMDMyNS45OTUwNzMzLCA5MjQzLCAxLjE2NjQxMTYzODI1OTg4NzddLCBbMTY2MzczMDMyNi4yMzE4MDA2LCA5MjYxLCAxLjM3Njg3MDk4OTc5OTQ5OTVdLCBbMTY2MzczMDMyNi4zMzE4ODcyLCA5MjcwLCAxLjEwNDY0NDg5NDU5OTkxNDZdLCBbMTY2MzczMDMyNi45MTE2OTEsIDkzMjQsIDEuMjg0NjU4MTkzNTg4MjU2OF0sIFsxNjYzNzMwMzI2Ljk5Nzk1MiwgOTMzMywgMS41MTIzMjYxMjEzMzAyNjEyXSwgWzE2NjM3MzAzMjcuMDg1MDkwMiwgOTM0MiwgMS42NzU5NjMxNjMzNzU4NTQ1XSwgWzE2NjM3MzAzMjcuMTg3NjA3MywgOTM1MSwgMS40Mjc5MDQyNDgyMzc2MDk5XSwgWzE2NjM3MzAzMjcuMjc0MTQ1NiwgOTM2MCwgMS41ODQ0NDc5Nzk5MjcwNjNdLCBbMTY2MzczMDMyNy42MzE0MjMsIDkzOTYsIDEuMjEwMjg0OTQ4MzQ4OTk5XSwgWzE2NjM3MzAzMjcuNzk1MTY0OCwgOTQxNCwgMS4zMjUyMzEwNzUyODY4NjUyXSwgWzE2NjM3MzAzMjcuODg5NzA3NiwgOTQyMywgMS4zODU4Nzc3Mjg0NjIyMTkyXSwgWzE2NjM3MzAzMjguMTQ5NDI2NywgOTQ1MCwgMS4wOTY2MTA2NjUzMjEzNV0sIFsxNjYzNzMwMzI4LjQ1NTM4NzgsIDk0NzcsIDEuMjY2NzY0ODc5MjI2Njg0Nl0sIFsxNjYzNzMwMzI4LjU4ODgsIDk0ODYsIDEuMjMwOTI0NzI1NTMyNTMxN10sIFsxNjYzNzMwMzI4Ljg1NDI2NzQsIDk1MTMsIDEuMTM5MjU4Mzg0NzA0NTg5OF0sIFsxNjYzNzMwMzI5LjA1NjkwNSwgOTUzMSwgMS4zNDM0OTk2NjA0OTE5NDM0XSwgWzE2NjM3MzAzMjkuMTUwNTE1MywgOTU0MCwgMS4zNjcxNjU4MDM5MDkzMDE4XSwgWzE2NjM3MzAzMjkuMjM5MDgxMSwgOTU0OSwgMS4yNjE4ODQ4MDg1NDAzNDQyXSwgWzE2NjM3MzAzMjkuNDI5MzIzMiwgOTU2NywgMS4zNDMzOTYzMDYwMzc5MDI4XSwgWzE2NjM3MzAzMjkuNjk0MTc0LCA5NTk0LCAxLjMwMjc0MTQwODM0ODA4MzVdLCBbMTY2MzczMDMyOS43NzE4MjQxLCA5NjAzLCAxLjA4MDUwNzA0MDAyMzgwMzddLCBbMTY2MzczMDMyOS44NjAzNCwgOTYxMiwgMS4zMjI5NjQwNzIyMjc0NzhdLCBbMTY2MzczMDMzMC4wMzkwMzg3LCA5NjMwLCAxLjQzMjc3ODAwMDgzMTYwNF0sIFsxNjYzNzMwMzMwLjEyNzA2MTgsIDk2MzksIDEuMTQ4NDUzOTUwODgxOTU4XSwgWzE2NjM3MzAzMzAuMjIwMzUwNSwgOTY0OCwgMS41MzM2NjkyMzMzMjIxNDM2XSwgWzE2NjM3MzAzMzAuMzEzNjA3MiwgOTY1NywgMS4zMjE5MTkzMjIwMTM4NTVdLCBbMTY2MzczMDMzMC4zOTgxNTY2LCA5NjY2LCAxLjQwMzA3MzMxMDg1MjA1MDhdLCBbMTY2MzczMDMzMC40ODc1NDI0LCA5Njc1LCAxLjU0ODcwNDg2MjU5NDYwNDVdLCBbMTY2MzczMDMzMC44MTM3ODEzLCA5NzAyLCAxLjMyMDQyMDUwMzYxNjMzM10sIFsxNjYzNzMwMzMwLjg5NjExOSwgOTcxMSwgMS40OTMwNDY3NjA1NTkwODJdLCBbMTY2MzczMDMzMS4wNjgyOTcsIDk3MjksIDEuNDM3NjQzMTcwMzU2NzUwNV0sIFsxNjYzNzMwMzMxLjE3MDM4OTcsIDk3MzgsIDEuMjg5MjU0MDY5MzI4MzA4XSwgWzE2NjM3MzAzMzEuMjUwNzczNywgOTc0NywgMS4zODIzMTM0ODk5MTM5NDA0XSwgWzE2NjM3MzAzMzEuNTk0Mjc5NSwgOTc3NCwgMS40MDM5Nzc5OTAxNTA0NTE3XSwgWzE2NjM3MzAzMzEuNzQwNjA3NSwgOTc4MywgMS4xMzI1MTM0MDM4OTI1MTddLCBbMTY2MzczMDMzMi4wODY5MDA3LCA5NzkyLCAxLjI4NTMxOTQ0NzUxNzM5NV0sIFsxNjYzNzMwMzMyLjQ1MDE0MDcsIDk4MjgsIDEuMzMyMzYxMjIxMzEzNDc2Nl0sIFsxNjYzNzMwMzMyLjUzOTAzNzIsIDk4MzcsIDEuMzQ5OTg2MzE0NzczNTU5Nl0sIFsxNjYzNzMwMzMyLjY0MjY0NSwgOTg0NiwgMS4yNTk4NTQ1NTUxMzAwMDQ5XSwgWzE2NjM3MzAzMzMuMTAzOTAzOCwgOTg5MSwgMS4xOTcwNDE5ODgzNzI4MDI3XSwgWzE2NjM3MzAzMzMuMzU0OTM0NywgOTkwOSwgMS42MTkwMTI5NTE4NTA4OTExXSwgWzE2NjM3MzAzMzMuNTUwODE4LCA5OTI3LCAxLjUxMzE4NjMzNTU2MzY1OTddLCBbMTY2MzczMDMzMy42NDE3NzgyLCA5OTM2LCAxLjEwNDc5MzMxMDE2NTQwNTNdLCBbMTY2MzczMDMzMy43MzUxMjksIDk5NDUsIDEuMTk5NzQ4OTkyOTE5OTIxOV0sIFsxNjYzNzMwMzM0LjAxNTc1NiwgOTk3MiwgMS4wOTk5MjI2NTcwMTI5Mzk1XSwgWzE2NjM3MzAzMzQuMTE0NzE3LCA5OTgxLCAxLjQwOTgxMTM3NzUyNTMyOTZdLCBbMTY2MzczMDMzNC4yMTg5NTgsIDk5OTAsIDEuMjk2MzUyOTgyNTIxMDU3MV0sIFsxNjYzNzMwMzM0LjMwOTM4ODQsIDk5OTksIDEuMDkwNjEwMDI3MzEzMjMyNF0sIFsxNjYzNzMwMzM0LjQwNjczNywgMTAwMDgsIDEuNTI5NjQ2MTU4MjE4MzgzOF0sIFsxNjYzNzMwMzM0LjQ5ODM3MTYsIDEwMDE3LCAxLjQ1NjI5OTQyNDE3MTQ0NzhdLCBbMTY2MzczMDMzNC41OTU5MzM3LCAxMDAyNiwgMS4xNjc4Nzc5MTI1MjEzNjIzXSwgWzE2NjM3MzAzMzQuNjkyOTEzLCAxMDAzNSwgMS4zNDczNzYyMjczNzg4NDUyXSwgWzE2NjM3MzAzMzQuODcyNjY5LCAxMDA1MywgMS40NDc2OTA0ODY5MDc5NTldLCBbMTY2MzczMDMzNS4xNDU1MzMzLCAxMDA4MCwgMS4zNzA5OTMwMTgxNTAzMjk2XSwgWzE2NjM3MzAzMzUuMzIxNjkyLCAxMDA5OCwgMS4zODM5NTMzMzI5MDEwMDFdLCBbMTY2MzczMDMzNS40MDk2OTEsIDEwMTA3LCAxLjI5MjEwNTA3ODY5NzIwNDZdLCBbMTY2MzczMDMzNS42NzY2ODYsIDEwMTM0LCAxLjI2Mzc5MzgyNjEwMzIxMDRdLCBbMTY2MzczMDMzNS43NjYzMTMsIDEwMTQzLCAxLjUzMTQ4MDE5MzEzODEyMjZdLCBbMTY2MzczMDMzNS45NDE0MjUsIDEwMTYxLCAxLjI5MTQ0NTczMjExNjY5OTJdLCBbMTY2MzczMDMzNi4wMjk4NjI0LCAxMDE3MCwgMS4xNDA4MTIwMzkzNzUzMDUyXSwgWzE2NjM3MzAzMzYuMTIwMDcwMiwgMTAxNzksIDEuNDEwMjA4NDYzNjY4ODIzMl0sIFsxNjYzNzMwMzM2LjIwNjk0MjgsIDEwMTg4LCAxLjI1OTg5MjIyNTI2NTUwM10sIFsxNjYzNzMwMzM2LjMwMjkyNzMsIDEwMTk3LCAxLjIzOTY5ODI5MDgyNDg5MDFdLCBbMTY2MzczMDMzNi40NzkxNzk5LCAxMDIxNSwgMS4xMzM4MjAyOTUzMzM4NjIzXSwgWzE2NjM3MzAzMzYuNTY3MTY3MywgMTAyMjQsIDEuNTg2MDEzMDc4Njg5NTc1Ml0sIFsxNjYzNzMwMzM2LjY2NjIyOTcsIDEwMjMzLCAxLjQ1MjcyOTk0MDQxNDQyODddLCBbMTY2MzczMDMzNi43OTUzMTI2LCAxMDI0MiwgMS4yMzE4OTkyNjE0NzQ2MDk0XSwgWzE2NjM3MzAzMzcuMDU4NDI3NiwgMTAyNjAsIDEuMjc1NjUyMDUwOTcxOTg0OV0sIFsxNjYzNzMwMzM3LjM1NzMwMjQsIDEwMjg3LCAxLjE3Njg2NzcyMzQ2NDk2NThdLCBbMTY2MzczMDMzNy42MzA4NDM2LCAxMDMxNCwgMS4zNTUxNjg3MDAyMTgyMDA3XSwgWzE2NjM3MzAzMzcuNzEzMTc1MywgMTAzMjMsIDEuMDk4NTA0MTg1Njc2NTc0N10sIFsxNjYzNzMwMzM3Ljg5MDEzNjUsIDEwMzQxLCAxLjIzMDM1NDMwOTA4MjAzMTJdLCBbMTY2MzczMDMzNy45NzkwMzgyLCAxMDM1MCwgMS4zNTAwNTQxNDQ4NTkzMTRdLCBbMTY2MzczMDMzOC4wNjU4MDY5LCAxMDM1OSwgMS4zOTY0Njc4MDQ5MDg3NTI0XSwgWzE2NjM3MzAzMzguMTgxNjIzNSwgMTAzNjgsIDEuNDE1MTgyNDcxMjc1MzI5Nl0sIFsxNjYzNzMwMzM4LjI3NDA5NywgMTAzNzcsIDEuNDI1OTYyNTY3MzI5NDA2N10sIFsxNjYzNzMwMzM4LjM3MTY3MSwgMTAzODYsIDEuNDg1OTI0MjQzOTI3MDAyXSwgWzE2NjM3MzAzMzguNTU2NTMwMiwgMTA0MDQsIDEuMjg2OTcxNDQ5ODUxOTg5N10sIFsxNjYzNzMwMzM4LjkxNDcwODksIDEwNDQwLCAxLjE3NTgzNzYzNTk5Mzk1NzVdLCBbMTY2MzczMDMzOS4wMjAxNzM1LCAxMDQ0OSwgMS4zOTcwNjgxNDI4OTA5MzAyXSwgWzE2NjM3MzAzMzkuMTk0NzMzOSwgMTA0NjcsIDEuNDcyOTQ3MDAxNDU3MjE0NF0sIFsxNjYzNzMwMzM5LjM2NzY3NjMsIDEwNDg1LCAxLjMzMTExNzYzMDAwNDg4MjhdLCBbMTY2MzczMDMzOS41NTQwNTE5LCAxMDUwMywgMS4yMjgzMjUzNjY5NzM4NzddLCBbMTY2MzczMDMzOS44NTEyMzMyLCAxMDUxMiwgMS4zMTgxMDc0ODU3NzExNzkyXSwgWzE2NjM3MzAzNDAuNDgzNDIwNCwgMTA1NjYsIDEuMjgxMDEwODY2MTY1MTYxMV0sIFsxNjYzNzMwMzQwLjU2ODM0MSwgMTA1NzUsIDEuNzY1NTQ0MTc2MTAxNjg0Nl0sIFsxNjYzNzMwMzQwLjc1MzgyNTIsIDEwNTkzLCAxLjI5MzgyNzI5NTMwMzM0NDddLCBbMTY2MzczMDM0MC44NDAwMTUsIDEwNjAyLCAxLjE2MjI3OTcyNTA3NDc2OF0sIFsxNjYzNzMwMzQwLjkzMzE5MjUsIDEwNjExLCAxLjIwNTI1OTkxOTE2NjU2NV0sIFsxNjYzNzMwMzQxLjM0MTIxOTQsIDEwNjQ3LCAxLjI1NTE1NTY4MjU2Mzc4MTddLCBbMTY2MzczMDM0MS41MzY5MTUzLCAxMDY2NSwgMS4yMDE3NjI3OTU0NDgzMDMyXSwgWzE2NjM3MzAzNDEuNzA4NjEzNiwgMTA2ODMsIDEuMzQ1NTQ0NDU3NDM1NjA4XSwgWzE2NjM3MzAzNDEuODcxMDU1OCwgMTA3MDEsIDEuMjExMDY4MTUzMzgxMzQ3N10sIFsxNjYzNzMwMzQxLjk1OTc5NDUsIDEwNzEwLCAxLjIzOTQ5ODI1NzYzNzAyNF0sIFsxNjYzNzMwMzQyLjA1MTE0NjUsIDEwNzE5LCAxLjMzOTgxOTU1MDUxNDIyMTJdLCBbMTY2MzczMDM0Mi4zMDY2ODgzLCAxMDc0NiwgMS4yNjI3NjQ2OTIzMDY1MTg2XSwgWzE2NjM3MzAzNDIuMzkwNzQ3LCAxMDc1NSwgMS4yOTI0ODgyMTczNTM4MjA4XSwgWzE2NjM3MzAzNDIuNTA4NDc3NywgMTA3NjQsIDEuMTA5NDQ4MTk0NTAzNzg0Ml0sIFsxNjYzNzMwMzQyLjYzNDkwODIsIDEwNzczLCAxLjMzOTI5NTYyNTY4NjY0NTVdLCBbMTY2MzczMDM0Mi43NTYxMTQyLCAxMDc4MiwgMS4wNzM4MzMzNDYzNjY4ODIzXSwgWzE2NjM3MzAzNDIuODYxNjI5LCAxMDc5MSwgMS4xNzQ2OTczOTkxMzk0MDQzXSwgWzE2NjM3MzAzNDMuMTM3MDQwNCwgMTA4MTgsIDEuMzAwNzcxMTE3MjEwMzg4Ml0sIFsxNjYzNzMwMzQzLjI0ODg4OCwgMTA4MjcsIDEuMzUzMzAzMDc0ODM2NzMxXSwgWzE2NjM3MzAzNDMuNTM1MDg1MiwgMTA4NTQsIDEuMzUyNjA1MzQyODY0OTkwMl0sIFsxNjYzNzMwMzQzLjYyNTA3MjUsIDEwODYzLCAxLjQyNDIyOTk3OTUxNTA3NTddLCBbMTY2MzczMDM0My43MDQ1MjU1LCAxMDg3MiwgMS4xOTQwMjA3NDgxMzg0Mjc3XSwgWzE2NjM3MzAzNDMuODc5ODgzMywgMTA4OTAsIDEuMzQ0MDMwOTc2Mjk1NDcxMl0sIFsxNjYzNzMwMzQzLjk2MDgzMTYsIDEwODk5LCAxLjAyMTQxNDE2MDcyODQ1NDZdLCBbMTY2MzczMDM0NC4yNDc5Njc3LCAxMDkyNiwgMS4zMDk1MjQwNTkyOTU2NTQzXSwgWzE2NjM3MzAzNDQuMzMyMTY3LCAxMDkzNSwgMS4xMzMxMDk5MjcxNzc0MjkyXSwgWzE2NjM3MzAzNDQuNDEzNzQ4LCAxMDk0NCwgMS4yNDM3MzI0NTIzOTI1NzgxXSwgWzE2NjM3MzAzNDQuNTg2Mjg3LCAxMDk2MiwgMS4zNzg5MzEyODM5NTA4MDU3XSwgWzE2NjM3MzAzNDQuNjcxOTAyLCAxMDk3MSwgMS4xMzE1MjQ2ODIwNDQ5ODNdLCBbMTY2MzczMDM0NS4wMDQyNTQ2LCAxMTAwNywgMS4zNzg5MzAwOTE4NTc5MTAyXSwgWzE2NjM3MzAzNDUuMDk1NTg1MywgMTEwMTYsIDEuMjI1NDg1NDQ0MDY4OTA4N10sIFsxNjYzNzMwMzQ1LjMwNjIzMTMsIDExMDM0LCAxLjE3MjgzNDYzNDc4MDg4MzhdLCBbMTY2MzczMDM0NS42NDIwNDYsIDExMDYxLCAxLjI1NDE4NjE1MzQxMTg2NTJdLCBbMTY2MzczMDM0NS43MzU5OTcsIDExMDcwLCAxLjMxNzg3NDkwODQ0NzI2NTZdLCBbMTY2MzczMDM0NS45OTY1MDgsIDExMDk3LCAxLjMxMDg5NzExMTg5MjcwMDJdLCBbMTY2MzczMDM0Ni4wOTEzMzMsIDExMTA2LCAxLjI3OTEyNzgzNjIyNzQxN10sIFsxNjYzNzMwMzQ2LjU3NjE0MywgMTExNTEsIDEuNTgxNDIwNDIxNjAwMzQxOF0sIFsxNjYzNzMwMzQ2Ljc2MjkwMTUsIDExMTY5LCAxLjM4OTM0MTQ3MzU3OTQwNjddLCBbMTY2MzczMDM0Ni44NjEwNzY2LCAxMTE3OCwgMS4xNjcxNTc2NDk5OTM4OTY1XSwgWzE2NjM3MzAzNDYuOTQ5MjE0LCAxMTE4NywgMS4zNDcwMzQ0NTQzNDU3MDMxXSwgWzE2NjM3MzAzNDcuMDM5MTAxOCwgMTExOTYsIDEuMDkxOTI5NDM1NzI5OTgwNV0sIFsxNjYzNzMwMzQ3LjEyOTkwNzEsIDExMjA1LCAxLjQ5ODY3MTE3NDA0OTM3NzRdLCBbMTY2MzczMDM0Ny4yMzIwODc2LCAxMTIxNCwgMS4xODYyOTUzOTAxMjkwODk0XSwgWzE2NjM3MzAzNDcuMzIwMTYzNywgMTEyMjMsIDEuNTM2NDEyMzU4MjgzOTk2Nl0sIFsxNjYzNzMwMzQ3LjgxODIwODcsIDExMjUwLCAxLjQxNDY4MTY3MzA0OTkyNjhdLCBbMTY2MzczMDM0Ny45MDYxMTE3LCAxMTI1OSwgMS4zMzM1Mjg5OTU1MTM5MTZdLCBbMTY2MzczMDM0Ny45OTEzMzczLCAxMTI2OCwgMS4zODc1MDkzNDYwMDgzMDA4XSwgWzE2NjM3MzAzNDguMDgyMzUxNCwgMTEyNzcsIDEuNDY1MjAyODA4MzgwMTI3XSwgWzE2NjM3MzAzNDguMjU2MTQ1NSwgMTEyOTUsIDEuMzYyMjMwNTM5MzIxODk5NF0sIFsxNjYzNzMwMzQ4LjQ3NDczNjIsIDExMzEzLCAxLjI3ODMzNTQ1MjA3OTc3M10sIFsxNjYzNzMwMzQ4LjU2MTc1NjEsIDExMzIyLCAxLjQzMjc0MDMzMDY5NjEwNl0sIFsxNjYzNzMwMzQ4Ljg5NzA1MywgMTEzNDksIDEuMzgwMjg1ODU5MTA3OTcxMl0sIFsxNjYzNzMwMzQ4Ljk4NTMwNTgsIDExMzU4LCAxLjI0ODMyNTEwOTQ4MTgxMTVdLCBbMTY2MzczMDM0OS4yNjIxOTE4LCAxMTM4NSwgMS4yMTQ5MjU3NjU5OTEyMTFdLCBbMTY2MzczMDM0OS41NDczNzYyLCAxMTQxMiwgMS4yNDcyNzA1ODQxMDY0NDUzXSwgWzE2NjM3MzAzNDkuOTA3NDc4MywgMTE0NDgsIDEuNDI3Mzk2MDU5MDM2MjU0OV0sIFsxNjYzNzMwMzUwLjM3MTc5MDIsIDExNDkzLCAxLjMxNjk0NDcxODM2MDkwMDldLCBbMTY2MzczMDM1MC40NjY1NzIzLCAxMTUwMiwgMS4xNzEzNTgyMjc3Mjk3OTc0XSwgWzE2NjM3MzAzNTAuNTYyMjQwNiwgMTE1MTEsIDEuNTE2NTM4NjE5OTk1MTE3Ml0sIFsxNjYzNzMwMzUwLjc0MDg0NzYsIDExNTI5LCAxLjE0NjE3NjMzODE5NTgwMDhdLCBbMTY2MzczMDM1MC45MTY1NTcsIDExNTQ3LCAxLjE2MDcxNjUzMzY2MDg4ODddLCBbMTY2MzczMDM1MS4xODMyMTYzLCAxMTU3NCwgMS4zMTUzNzcyMzU0MTI1OTc3XSwgWzE2NjM3MzAzNTEuNDY4MjQyMiwgMTE2MDEsIDEuNDI1MzQzOTkwMzI1OTI3N10sIFsxNjYzNzMwMzUxLjcyODEyMTMsIDExNjE5LCAxLjE1NjAzNDIzMTE4NTkxM10sIFsxNjYzNzMwMzUyLjA5MzM2MzUsIDExNjQ2LCAxLjM0NjEzODgzNDk1MzMwOF0sIFsxNjYzNzMwMzUyLjM2NTAzMSwgMTE2NzMsIDEuMjUyNjIxMTczODU4NjQyNl0sIFsxNjYzNzMwMzUyLjU1Mzg4LCAxMTY5MSwgMS4yNTg5OTI5MTAzODUxMzE4XSwgWzE2NjM3MzAzNTIuNjYwNTgyLCAxMTcwMCwgMS4yMjY5MjcwNDIwMDc0NDYzXSwgWzE2NjM3MzAzNTIuODQwMTI2NSwgMTE3MTgsIDEuMDk2NjI4NDI3NTA1NDkzMl0sIFsxNjYzNzMwMzUyLjkyODU2MzYsIDExNzI3LCAxLjE2ODgxMjg3MDk3OTMwOV0sIFsxNjYzNzMwMzUzLjEwNTU0NDYsIDExNzQ1LCAxLjIyMDU1NDcwOTQzNDUwOTNdLCBbMTY2MzczMDM1My4yODM1ODI0LCAxMTc2MywgMS4yMDc1Nzk4NTExNTA1MTI3XSwgWzE2NjM3MzAzNTMuNjQwNzM5LCAxMTc5OSwgMS4xNDcyODExNjk4OTEzNTc0XSwgWzE2NjM3MzAzNTMuOTAzNjU2LCAxMTgyNiwgMS4zNTIwMDQ2NDcyNTQ5NDM4XSwgWzE2NjM3MzAzNTMuOTkxMjM3NCwgMTE4MzUsIDEuMjYzNTQ2ODI0NDU1MjYxMl0sIFsxNjYzNzMwMzU0LjA4NTU2OSwgMTE4NDQsIDEuMDc3MTE5NzA4MDYxMjE4M10sIFsxNjYzNzMwMzU0LjUzMjQ4NzQsIDExODg5LCAxLjU3MDI0MDAyMDc1MTk1MzFdLCBbMTY2MzczMDM1NC45MzgxNzksIDExOTA3LCAxLjcwNDUyMjQ5MDUwMTQwMzhdLCBbMTY2MzczMDM1NS4wMjU5MzY2LCAxMTkxNiwgMS41MTQ4NTQ1NTAzNjE2MzMzXSwgWzE2NjM3MzAzNTUuMjQ5NjUyLCAxMTkzNCwgMS41MzgwNTQ0NjYyNDc1NTg2XSwgWzE2NjM3MzAzNTUuMzQwODU4NywgMTE5NDMsIDEuMTk0NjI4MjM4Njc3OTc4NV0sIFsxNjYzNzMwMzU1LjUyNjg3NiwgMTE5NjEsIDEuNjQwODk4MjI3NjkxNjUwNF0sIFsxNjYzNzMwMzU2LjE2MjY4NCwgMTIwMjQsIDEuMTYwMjI1MTUyOTY5MzYwNF0sIFsxNjYzNzMwMzU2LjcwNjgwNDUsIDEyMDc4LCAxLjY1MDc1MzYxNzI4NjY4MjFdLCBbMTY2MzczMDM1Ni45NzYzNzU2LCAxMjEwNSwgMS4yOTUxNjMyNzM4MTEzNDAzXSwgWzE2NjM3MzAzNTcuMDYwMTUsIDEyMTE0LCAxLjU2NTY4MDM4NDYzNTkyNTNdLCBbMTY2MzczMDM1Ny4yNDA1NDA3LCAxMjEzMiwgMS4zNjM2NzExODM1ODYxMjA2XSwgWzE2NjM3MzAzNTcuMzIxMTI5NiwgMTIxNDEsIDEuODM5MzE5NDY3NTQ0NTU1N10sIFsxNjYzNzMwMzU3LjU5MzAzNzEsIDEyMTY4LCAxLjU3MjU5MDQ3MDMxNDAyNTldLCBbMTY2MzczMDM1Ny42NzkxNDA2LCAxMjE3NywgMS40MjU5NTYxMzAwMjc3NzFdLCBbMTY2MzczMDM1Ny44NTMwMDIsIDEyMTk1LCAxLjQ1MDQ1NTY2NTU4ODM3OV0sIFsxNjYzNzMwMzU4LjEyMTY4ODYsIDEyMjIyLCAxLjA4MDczNjc1NjMyNDc2OF0sIFsxNjYzNzMwMzU4LjIxNzQzODIsIDEyMjMxLCAxLjE3MTA4NzUwMzQzMzIyNzVdLCBbMTY2MzczMDM1OC4zODYyODk0LCAxMjI0OSwgMS4yNjY5Njk2ODA3ODYxMzI4XSwgWzE2NjM3MzAzNTguNzMxNjg4NSwgMTIyODUsIDEuNDkwMjI5NDg3NDE5MTI4NF0sIFsxNjYzNzMwMzU4LjgyMTA2MTEsIDEyMjk0LCAxLjE5ODE4NTU2MzA4NzQ2MzRdLCBbMTY2MzczMDM1OC45MjgxNDE2LCAxMjMwMywgMS40ODMwMzE2MzA1MTYwNTIyXSwgWzE2NjM3MzAzNTkuMDE1Mjc4NiwgMTIzMTIsIDEuMjA5NjA0OTc4NTYxNDAxNF0sIFsxNjYzNzMwMzU5LjEwMjU2MzYsIDEyMzIxLCAxLjA5OTc0OTQ0NTkxNTIyMjJdLCBbMTY2MzczMDM1OS40NTI0NTQ4LCAxMjM1NywgMS4zNzQzMjE1Nzk5MzMxNjY1XSwgWzE2NjM3MzAzNTkuNTM5OTk0NywgMTIzNjYsIDEuMzMxNTIzNDE4NDI2NTEzN10sIFsxNjYzNzMwMzU5LjcxMzI5NzQsIDEyMzg0LCAxLjE4ODI3NDI2NDMzNTYzMjNdLCBbMTY2MzczMDM1OS44MDM2MjA2LCAxMjM5MywgMS40NDc5NDc1MDIxMzYyMzA1XSwgWzE2NjM3MzAzNjAuMTY0NzY4NywgMTI0MjksIDEuMzg1NjY0OTM5ODgwMzcxXSwgWzE2NjM3MzAzNjAuMjU4MDIwNiwgMTI0MzgsIDEuNDQ5NjM4MDA5MDcxMzVdLCBbMTY2MzczMDM2MC45MDA5NDE0LCAxMjQ3NCwgMS4yNTA5NTY4OTI5NjcyMjQxXSwgWzE2NjM3MzAzNjEuMDExMjgxLCAxMjQ4MywgMS40MDc0NjI1OTY4OTMzMTA1XSwgWzE2NjM3MzAzNjEuMTI3MjQ3NiwgMTI0OTIsIDEuMzA2NTQzMjMxMDEwNDM3XSwgWzE2NjM3MzAzNjEuNDY1OTkxNSwgMTI1MTksIDEuMjkwNTczNzE2MTYzNjM1M10sIFsxNjYzNzMwMzYxLjc3MzQ4MSwgMTI1NDYsIDEuNzQ0MzY3MjQxODU5NDM2XSwgWzE2NjM3MzAzNjIuMDU4MTkyNSwgMTI1NzMsIDEuMjI2MzQ3Njg0ODYwMjI5NV0sIFsxNjYzNzMwMzYyLjE0NTA3NSwgMTI1ODIsIDEuNDE1MTU1NjQ5MTg1MTgwN10sIFsxNjYzNzMwMzYyLjM1MzI4OTQsIDEyNjAwLCAxLjE1NTkxODcxNzM4NDMzODRdLCBbMTY2MzczMDM2Mi40NDAwNTc4LCAxMjYwOSwgMS40MDI4NzYxMzg2ODcxMzM4XSwgWzE2NjM3MzAzNjIuNzA2MTk0MiwgMTI2MzYsIDEuMTg4MTgyNDczMTgyNjc4Ml0sIFsxNjYzNzMwMzYyLjkyNTQ2OCwgMTI2NTQsIDEuMjQwOTI5MDA3NTMwMjEyNF0sIFsxNjYzNzMwMzYzLjY3NDk4NjgsIDEyNzI2LCAxLjI4NDU4NDQwMzAzODAyNV0sIFsxNjYzNzMwMzYzLjkzNzcwODksIDEyNzUzLCAxLjU1NDkwNDEwMzI3OTExMzhdLCBbMTY2MzczMDM2NC4wMjk4ODEsIDEyNzYyLCAxLjI0OTE5NzYwMjI3MjAzMzddLCBbMTY2MzczMDM2NC4yMTU4OSwgMTI3ODAsIDEuNDA0Mjk4NDI0NzIwNzY0Ml0sIFsxNjYzNzMwMzY0LjM4NTg4MzgsIDEyNzk4LCAxLjMwOTc0MjgwODM0MTk4XSwgWzE2NjM3MzAzNjQuNDc5MzgzMiwgMTI4MDcsIDEuMDk2NjQ1MzU1MjI0NjA5NF0sIFsxNjYzNzMwMzY1LjI3MjY0NjQsIDEyODg4LCAxLjE4NTU2MjcyOTgzNTUxMDNdLCBbMTY2MzczMDM2NS4zNjUxNzMzLCAxMjg5NywgMS4xOTE3ODg0MzQ5ODIyOTk4XSwgWzE2NjM3MzAzNjUuNDQ4MTAxNSwgMTI5MDYsIDEuMTczOTY4OTExMTcwOTU5NV0sIFsxNjYzNzMwMzY1LjUzNDEwNywgMTI5MTUsIDEuNDA5ODczMDA4NzI4MDI3M10sIFsxNjYzNzMwMzY1LjcwODc2NzIsIDEyOTMzLCAxLjIwMzI0MDg3MTQyOTQ0MzRdLCBbMTY2MzczMDM2NS44ODYyODg2LCAxMjk1MSwgMS4xMjMzNjgzODI0NTM5MTg1XSwgWzE2NjM3MzAzNjUuOTczMTk0NiwgMTI5NjAsIDEuMTE0Mjg5OTk5MDA4MTc4N10sIFsxNjYzNzMwMzY2LjA1OTYyOCwgMTI5NjksIDEuMDU5NzcyODQ5MDgyOTQ2OF0sIFsxNjYzNzMwMzY2LjE4MTY0NywgMTI5NzgsIDEuMTU4MjQyOTQwOTAyNzFdLCBbMTY2MzczMDM2Ni41MzkyMTA4LCAxMzAwNSwgMS4xNjYxNzY3OTU5NTk0NzI3XSwgWzE2NjM3MzAzNjYuNzE1NDc1OCwgMTMwMjMsIDEuMTUxMzcyMzEzNDk5NDUwN10sIFsxNjYzNzMwMzY2LjgwNDA0NDUsIDEzMDMyLCAxLjQwODYxMDcwMTU2MDk3NDFdLCBbMTY2MzczMDM2Ni44OTMwMTc4LCAxMzA0MSwgMS4zMzcyMjcxMDYwOTQzNjA0XSwgWzE2NjM3MzAzNjYuOTc4ODk3NiwgMTMwNTAsIDEuMjk2NTI5NDEyMjY5NTkyM10sIFsxNjYzNzMwMzY3LjA3Mzg5MywgMTMwNTksIDEuMjI5ODQyNTQzNjAxOTg5N10sIFsxNjYzNzMwMzY3LjE2MzgyOTMsIDEzMDY4LCAxLjI4MjI4ODE5MzcwMjY5NzhdLCBbMTY2MzczMDM2Ny4yNTMxMTY2LCAxMzA3NywgMS40NzEyMDg2OTE1OTY5ODQ5XSwgWzE2NjM3MzAzNjcuNDQ2NjcwNSwgMTMwOTUsIDEuMzIzNzcxMTE5MTE3NzM2OF0sIFsxNjYzNzMwMzY3LjUzNDEzOTksIDEzMTA0LCAxLjE2NTg2NzkyNDY5MDI0NjZdLCBbMTY2MzczMDM2Ny42MTkwNzEsIDEzMTEzLCAxLjA0MTU4NzExNDMzNDEwNjRdLCBbMTY2MzczMDM2Ny43MDI5OTA4LCAxMzEyMiwgMS4zODYwMzM2NTQyMTI5NTE3XSwgWzE2NjM3MzAzNjcuNzg2MTkwNSwgMTMxMzEsIDEuMjE4MDI4NDI2MTcwMzQ5MV0sIFsxNjYzNzMwMzY3Ljg4MTA4NCwgMTMxNDAsIDEuMjc2MzM0MDQ3MzE3NTA0OV0sIFsxNjYzNzMwMzY3Ljk4MTMxODIsIDEzMTQ5LCAxLjIzMDcwNzQwNjk5NzY4MDddLCBbMTY2MzczMDM2OC4xMTIzNzAzLCAxMzE1OCwgMS4yMDU0NzI3MDc3NDg0MTNdLCBbMTY2MzczMDM2OC4yNDczNDg1LCAxMzE2NywgMS4xMDU5MjMyOTUwMjEwNTcxXSwgWzE2NjM3MzAzNjguMzc5MDk2NywgMTMxNzYsIDEuMjIzMTczOTc1OTQ0NTE5XSwgWzE2NjM3MzAzNjguNDk2NjIzNSwgMTMxODUsIDEuMTk1NzU2NzkzMDIyMTU1OF0sIFsxNjYzNzMwMzY5LjIxNjI5ODgsIDEzMjM5LCAxLjMzOTU4NTQyMzQ2OTU0MzVdLCBbMTY2MzczMDM2OS41MDYwMjQsIDEzMjY2LCAxLjIyMjc5NTQ4NjQ1MDE5NTNdLCBbMTY2MzczMDM2OS41OTI3NDM5LCAxMzI3NSwgMS4yMDkxNzg4MDUzNTEyNTczXSwgWzE2NjM3MzAzNjkuODEyODkxNSwgMTMyOTMsIDEuNDc2NTQ0MTQxNzY5NDA5Ml0sIFsxNjYzNzMwMzY5Ljg5NTc2MTcsIDEzMzAyLCAxLjMzNTQ3MzQxODIzNTc3ODhdLCBbMTY2MzczMDM3MC4yNTEwNTU3LCAxMzMzOCwgMS4xMzMzMjg5MTQ2NDIzMzRdLCBbMTY2MzczMDM3MC4zNDM3NTc5LCAxMzM0NywgMS4xNDgzOTc4MDMzMDY1Nzk2XSwgWzE2NjM3MzAzNzAuNDI0OTY4NSwgMTMzNTYsIDEuNDE4MDc0MzY5NDMwNTQyXSwgWzE2NjM3MzAzNzAuNTM4MDE4NSwgMTMzNjUsIDEuMTc2NjkyMTI4MTgxNDU3NV0sIFsxNjYzNzMwMzcwLjg2NzM4MDYsIDEzMzkyLCAxLjM4ODQxOTUwODkzNDAyMV0sIFsxNjYzNzMwMzcwLjk1NzIxMjcsIDEzNDAxLCAxLjMwNTMyODcyNjc2ODQ5MzddLCBbMTY2MzczMDM3MS4wNzExODMyLCAxMzQxMCwgMS4yNzg2ODM3ODE2MjM4NDAzXSwgWzE2NjM3MzAzNzEuMTkzMDcyLCAxMzQxOSwgMS4zNjYwOTMyNzc5MzEyMTM0XSwgWzE2NjM3MzAzNzEuMzEwNTU0LCAxMzQyOCwgMS4zMzIxOTgzODE0MjM5NTAyXSwgWzE2NjM3MzAzNzEuNTMwMjE3NiwgMTM0NDYsIDEuNDcxMDc1NzczMjM5MTM1N10sIFsxNjYzNzMwMzcxLjYxODk4OCwgMTM0NTUsIDEuMzIwMjYyNjcwNTE2OTY3OF0sIFsxNjYzNzMwMzcxLjk3OTAwODIsIDEzNDkxLCAxLjI2MjcxNTU3ODA3OTIyMzZdLCBbMTY2MzczMDM3Mi4wNjUxNTA1LCAxMzUwMCwgMS4wOTcxNzQ4ODI4ODg3OTRdLCBbMTY2MzczMDM3Mi4xNTEzODAzLCAxMzUwOSwgMS4yNTAzODIwNjU3NzMwMTAzXSwgWzE2NjM3MzAzNzIuMzY0MjU2MSwgMTM1MjcsIDEuMzI3NTk5NjQ0NjYwOTQ5N10sIFsxNjYzNzMwMzcyLjY0NDYyNzgsIDEzNTU0LCAxLjUyNDk2NjAwMTUxMDYyMDFdLCBbMTY2MzczMDM3Mi45Nzg1NTksIDEzNTkwLCAxLjIzNzQ1NTYwNjQ2MDU3MTNdLCBbMTY2MzczMDM3My4wNjAzNjExLCAxMzU5OSwgMS4xOTExMDk0MTg4NjkwMTg2XSwgWzE2NjM3MzAzNzMuMTY5NDM0OCwgMTM2MDgsIDEuMTY0Mzk5Mzg1NDUyMjcwNV0sIFsxNjYzNzMwMzczLjM1MzcwNDUsIDEzNjI2LCAxLjIyMzQxOTE4OTQ1MzEyNV0sIFsxNjYzNzMwMzczLjU0MDU0MywgMTM2NDQsIDEuNTk2MDUwMzgxNjYwNDYxNF0sIFsxNjYzNzMwMzczLjYzNDY1OCwgMTM2NTMsIDEuMjIzNDQwNTI3OTE1OTU0Nl0sIFsxNjYzNzMwMzc0LjI4MDU0NDMsIDEzNzE2LCAxLjQ1MDA2ODU5MzAyNTIwNzVdLCBbMTY2MzczMDM3NC41NzAzNTQ3LCAxMzc0MywgMS4yMjcyMTQ0NTU2MDQ1NTMyXSwgWzE2NjM3MzAzNzQuNzYzMTM3LCAxMzc2MSwgMS4zNDE3NTc1MzU5MzQ0NDgyXSwgWzE2NjM3MzAzNzQuOTM2MDc4LCAxMzc3OSwgMS4xNTUxOTU0NzQ2MjQ2MzM4XSwgWzE2NjM3MzAzNzUuMjMwNzUxOCwgMTM4MDYsIDEuNjg2ODU3OTM4NzY2NDc5NV0sIFsxNjYzNzMwMzc1LjMyNzE3NzgsIDEzODE1LCAxLjEwMjg5Mzk0ODU1NDk5MjddLCBbMTY2MzczMDM3NS41ODgwMDM2LCAxMzg0MiwgMS4yODkwOTU4Nzg2MDEwNzQyXSwgWzE2NjM3MzAzNzUuNjcwMjk3OSwgMTM4NTEsIDEuMzgzODY5MTcxMTQyNTc4MV0sIFsxNjYzNzMwMzc1Ljg2NjQxNTUsIDEzODY5LCAxLjM1NDE5OTc2NzExMjczMl0sIFsxNjYzNzMwMzc1Ljk4MjY0MjcsIDEzODc4LCAxLjM1ODE4ODAzMzEwMzk0MjldLCBbMTY2MzczMDM3Ni40MjA1NTQ2LCAxMzkxNCwgMS4yOTkzOTQ5NjUxNzE4MTRdLCBbMTY2MzczMDM3Ni42MTEzODE4LCAxMzkzMiwgMS40MjEyMzI3MDAzNDc5MDA0XSwgWzE2NjM3MzAzNzYuOTQ1MDA0NywgMTM5NDEsIDEuMjY2MzQ3ODg1MTMxODM2XSwgWzE2NjM3MzAzNzcuMjE2NzI0NCwgMTM5NjgsIDEuMjIyODcxNjYxMTg2MjE4M10sIFsxNjYzNzMwMzc3LjMwOTI1MSwgMTM5NzcsIDEuMDk0MzYyODU0OTU3NTgwNl0sIFsxNjYzNzMwMzc3LjM5MDAyOCwgMTM5ODYsIDEuMTYwMTQ0MzI5MDcxMDQ1XSwgWzE2NjM3MzAzNzcuNTkyMzUyMiwgMTQwMDQsIDEuNDI2MzYyODcyMTIzNzE4M10sIFsxNjYzNzMwMzc3Ljc4Mzg0NzMsIDE0MDIyLCAxLjQ3NDM0MDA4MTIxNDkwNDhdLCBbMTY2MzczMDM3OC4xMDQyMjkyLCAxNDA0OSwgMS4yNzY4MTM3NDU0OTg2NTcyXSwgWzE2NjM3MzAzNzguMjg4MTE3NCwgMTQwNjcsIDEuMTY4NjcxNDg4NzYxOTAxOV0sIFsxNjYzNzMwMzc4LjQ1OTg2NSwgMTQwODUsIDEuNjY2MzUyMjcyMDMzNjkxNF0sIFsxNjYzNzMwMzc4LjU0ODA1OCwgMTQwOTQsIDEuMjA5NDY1MDI2ODU1NDY4OF0sIFsxNjYzNzMwMzc4LjYzMzQ5MjcsIDE0MTAzLCAxLjI2NjQ1OTU4NDIzNjE0NV0sIFsxNjYzNzMwMzc4LjgwODY1MTQsIDE0MTIxLCAxLjIyODk4MDY2MDQzODUzNzZdLCBbMTY2MzczMDM3OS4wMDY3MDI3LCAxNDEzOSwgMS4zMDgzNjkyNzg5MDc3NzU5XSwgWzE2NjM3MzAzNzkuMDk2MzU3LCAxNDE0OCwgMS4wNTQwNzgzNDA1MzAzOTU1XSwgWzE2NjM3MzAzNzkuMTg1MTk3LCAxNDE1NywgMS40MDg1MzIzODEwNTc3MzkzXSwgWzE2NjM3MzAzNzkuMjc3NDg3MywgMTQxNjYsIDEuMTI3ODEwMTIwNTgyNTgwNl0sIFsxNjYzNzMwMzc5LjM2MjE3MTYsIDE0MTc1LCAxLjI3OTUyMTM0NjA5MjIyNDFdLCBbMTY2MzczMDM3OS41Mzk4NDEyLCAxNDE5MywgMS4xOTkyOTcwNzA1MDMyMzQ5XSwgWzE2NjM3MzAzNzkuNzAyMzc3OCwgMTQyMTEsIDEuMTkxOTI1Mjg3MjQ2NzA0XSwgWzE2NjM3MzAzNzkuNzkxODMzMiwgMTQyMjAsIDEuNjA2NjQ1MTA3MjY5Mjg3XSwgWzE2NjM3MzAzNzkuODcyOTg0NiwgMTQyMjksIDEuMTMyMTQ5Njk2MzUwMDk3N10sIFsxNjYzNzMwMzc5Ljk3ODYzOCwgMTQyMzgsIDEuMDYyMTA5NDcwMzY3NDMxNl0sIFsxNjYzNzMwMzgwLjA4OTU4NjMsIDE0MjQ3LCAxLjIxODQzNzQzMzI0Mjc5NzldLCBbMTY2MzczMDM4MC40MjQ5MzM3LCAxNDI3NCwgMS4zNDI4NTI5NTAwOTYxMzA0XSwgWzE2NjM3MzAzODEuMDE1ODcyNywgMTQzMTksIDEuMTA4NjA3NTMwNTkzODcyXSwgWzE2NjM3MzAzODEuNTQ5NjM4NSwgMTQzNjQsIDEuMDY3OTY0NDM0NjIzNzE4M10sIFsxNjYzNzMwMzgxLjY1OTU0MDQsIDE0MzczLCAxLjEzNzgwNzcyNjg2MDA0NjRdLCBbMTY2MzczMDM4MS43NTcwMTM4LCAxNDM4MiwgMS4yMjQxNDA0MDU2NTQ5MDcyXSwgWzE2NjM3MzAzODIuMTQ3MDA1LCAxNDQxOCwgMS4yOTY2MDIyNDkxNDU1MDc4XSwgWzE2NjM3MzAzODIuMjQ3NzE3MSwgMTQ0MjcsIDEuMTQ0MzE3MDMwOTA2Njc3Ml0sIFsxNjYzNzMwMzgyLjM3MDYwNywgMTQ0MzYsIDEuMjAyMTEwMjkwNTI3MzQzOF0sIFsxNjYzNzMwMzgzLjA1MDI0MDMsIDE0NDk5LCAxLjE2MDE2MDc3OTk1MzAwM10sIFsxNjYzNzMwMzgzLjE1MDA1NzYsIDE0NTA4LCAxLjA3MDMzMjY0NjM2OTkzNF0sIFsxNjYzNzMwMzgzLjM0MjIyNDgsIDE0NTI2LCAxLjM2NzY1MzYwODMyMjE0MzZdLCBbMTY2MzczMDM4My40MjkyMTksIDE0NTM1LCAxLjE2NDg5OTM0OTIxMjY0NjVdLCBbMTY2MzczMDM4My41MjE2MDcsIDE0NTQ0LCAxLjA5NjM0NTE4NjIzMzUyMDVdLCBbMTY2MzczMDM4My42MDQ1MDYsIDE0NTUzLCAxLjQzMzIzNjQ3OTc1OTIxNjNdLCBbMTY2MzczMDM4My45NjA1ODIzLCAxNDU4OSwgMS4yMDY4NDI1NDE2OTQ2NDExXSwgWzE2NjM3MzAzODQuMTUwOTA4NSwgMTQ2MDcsIDEuMTEyOTI1MDUyNjQyODIyM10sIFsxNjYzNzMwMzg0LjMyNjA3ODcsIDE0NjI1LCAxLjU0NzIxMzMxNTk2Mzc0NTFdLCBbMTY2MzczMDM4NC41MDIwOTgsIDE0NjQzLCAxLjYyODgxNDMzOTYzNzc1NjNdLCBbMTY2MzczMDM4NC43OTA4MzQ3LCAxNDY1MiwgMS4yMTM3MDEwMDk3NTAzNjYyXSwgWzE2NjM3MzAzODUuMDU4Njk1LCAxNDY3OSwgMS4yNTczMzYwMjA0Njk2NjU1XSwgWzE2NjM3MzAzODUuMTQ1MDA2NCwgMTQ2ODgsIDEuMzAyNTg1MDA1NzYwMTkyOV0sIFsxNjYzNzMwMzg1LjQ5ODU5NDUsIDE0NzI0LCAxLjI1MjY2MjMwMTA2MzUzNzZdLCBbMTY2MzczMDM4NS41ODc1MjIsIDE0NzMzLCAxLjE0OTE0MDExOTU1MjYxMjNdLCBbMTY2MzczMDM4NS42NzgzNDU3LCAxNDc0MiwgMS40MDAzMDM3MjE0Mjc5MTc1XSwgWzE2NjM3MzAzODUuNzY0Mjg5NiwgMTQ3NTEsIDEuMzU3NjQyNjUwNjA0MjQ4XSwgWzE2NjM3MzAzODUuOTM5NTEyMywgMTQ3NjksIDEuNDAwNDQ1ODE4OTAxMDYyXSwgWzE2NjM3MzAzODYuMDI5NDgzLCAxNDc3OCwgMS41MDA1MjU4MzIxNzYyMDg1XSwgWzE2NjM3MzAzODYuNDg1NDg5NCwgMTQ4MjMsIDEuMjU1MTk0NDI1NTgyODg1N10sIFsxNjYzNzMwMzg2LjU2MjkxMjUsIDE0ODMyLCAxLjE1MzMzODQzMjMxMjAxMTddLCBbMTY2MzczMDM4Ni43MzMzMjgzLCAxNDg1MCwgMS4yMDc4NDgwNzIwNTIwMDJdLCBbMTY2MzczMDM4Ni45MDg5OTcsIDE0ODY4LCAxLjY5MzYwNDgyNjkyNzE4NV0sIFsxNjYzNzMwMzg2Ljk5ODg0MDYsIDE0ODc3LCAxLjA3NTA3ODYwNjYwNTUyOThdLCBbMTY2MzczMDM4Ny4wNzczOTkzLCAxNDg4NiwgMS44NDQ4MzY3MTE4ODM1NDVdLCBbMTY2MzczMDM4Ny4xNjg3ODM3LCAxNDg5NSwgMS4xMzM4NjExODQxMjAxNzgyXSwgWzE2NjM3MzAzODcuMzQ1NDEyLCAxNDkxMywgMS4zODcwOTQ4NTUzMDg1MzI3XSwgWzE2NjM3MzAzODcuNTMyODI4LCAxNDkzMSwgMS4yMDE5NDQ4MjgwMzM0NDczXSwgWzE2NjM3MzAzODcuNjQxOTUzLCAxNDk0MCwgMS4zMDA5NDg3MzkwNTE4MTg4XSwgWzE2NjM3MzAzODcuOTAwODM4OSwgMTQ5NjcsIDEuMTUzNDQ0NzY2OTk4MjkxXSwgWzE2NjM3MzAzODguMDcxNjk0OSwgMTQ5ODUsIDEuMzEyNTE4MDAwNjAyNzIyMl0sIFsxNjYzNzMwMzg4LjI0OTM1NTMsIDE1MDAzLCAxLjQwMjkwMDU3NjU5MTQ5MTddLCBbMTY2MzczMDM4OC41MTU1Mjk5LCAxNTAzMCwgMS4zOTU2Mzg0NjU4ODEzNDc3XSwgWzE2NjM3MzAzODguNjI2ODk4NSwgMTUwMzksIDEuMTkxNDI0MTMxMzkzNDMyNl0sIFsxNjYzNzMwMzg4Ljk2NDIxNjUsIDE1MDc1LCAxLjU3ODg1MDI2OTMxNzYyN10sIFsxNjYzNzMwMzg5LjIzNDc1MTcsIDE1MTAyLCAxLjc2MzI0NzI1MTUxMDYyMDFdLCBbMTY2MzczMDM4OS40MTc0MDQ3LCAxNTEyMCwgMS4yMjkzMTA2MzE3NTIwMTQyXSwgWzE2NjM3MzAzODkuNDk5MTc5MSwgMTUxMjksIDEuNDE0NzUzOTEzODc5Mzk0NV0sIFsxNjYzNzMwMzg5LjYxMzYxOTgsIDE1MTM4LCAxLjIxNjI3NDE0MjI2NTMxOThdLCBbMTY2MzczMDM4OS43MDIxODgsIDE1MTQ3LCAxLjM5NjUzNzA2NTUwNTk4MTRdLCBbMTY2MzczMDM4OS45NTU5MDQyLCAxNTE3NCwgMS4yNDc3MzA5NzAzODI2OTA0XSwgWzE2NjM3MzAzOTAuMDQ1NjI2NiwgMTUxODMsIDEuMjA4OTE5NjQ0MzU1Nzc0XSwgWzE2NjM3MzAzOTAuMTMyMTM1NCwgMTUxOTIsIDEuMjA5NzE0MDU1MDYxMzQwM10sIFsxNjYzNzMwMzkwLjIyMzUwNjcsIDE1MjAxLCAxLjE5Mjg1NDc2MjA3NzMzMTVdLCBbMTY2MzczMDM5MC4zMTE5MzQyLCAxNTIxMCwgMS4zOTk0ODY2NjA5NTczMzY0XSwgWzE2NjM3MzAzOTAuMzk5NTUzOCwgMTUyMTksIDEuMjEzMzg2NTM1NjQ0NTMxMl0sIFsxNjYzNzMwMzkwLjY4MjgzMDMsIDE1MjQ2LCAxLjE4OTQ4MzI4NDk1MDI1NjNdLCBbMTY2MzczMDM5MC43NjkzNjksIDE1MjU1LCAxLjEyMzU1MjIwMzE3ODQwNThdLCBbMTY2MzczMDM5MC44NTUyMjg3LCAxNTI2NCwgMS41MjE4NjYyMDIzNTQ0MzEyXSwgWzE2NjM3MzAzOTEuMDMwMzg0NSwgMTUyODIsIDEuMjE1MDQ5NzQzNjUyMzQzOF0sIFsxNjYzNzMwMzkxLjExODE2MDcsIDE1MjkxLCAxLjUwNTAwOTUzMTk3NDc5MjVdLCBbMTY2MzczMDM5MS4yMDc4MjUsIDE1MzAwLCAxLjE5MzY4NDEwMTEwNDczNjNdLCBbMTY2MzczMDM5MS4yOTA1NzA1LCAxNTMwOSwgMS4xMzI2NzkyMjQwMTQyODIyXSwgWzE2NjM3MzAzOTEuMzcwMjgsIDE1MzE4LCAxLjIzNDM5NjIxOTI1MzU0XSwgWzE2NjM3MzAzOTEuNDY4NDc0OSwgMTUzMjcsIDEuMTk4MTgxMzkwNzYyMzI5XSwgWzE2NjM3MzAzOTEuNjY0NTUyNSwgMTUzNDUsIDEuMTUxMjQ5Mjg5NTEyNjM0M10sIFsxNjYzNzMwMzkxLjkyOTgyMTUsIDE1MzcyLCAxLjI5MjAyMTM5Mzc3NTk0XSwgWzE2NjM3MzAzOTIuMTIxOCwgMTUzOTAsIDEuMzIzMDE0NjE2OTY2MjQ3Nl0sIFsxNjYzNzMwMzkyLjIxMDY3MSwgMTUzOTksIDEuMjk0MjgwNDA5ODEyOTI3Ml0sIFsxNjYzNzMwMzkyLjI5NjgxNjMsIDE1NDA4LCAxLjI1NDYxMDE4MDg1NDc5NzRdLCBbMTY2MzczMDM5Mi4zODM1NjY0LCAxNTQxNywgMS4xOTQ1NDkzMjIxMjgyOTZdLCBbMTY2MzczMDM5My4wNjAwNDQzLCAxNTQ1MywgMS4xNjQ1NjAwNzk1NzQ1ODVdLCBbMTY2MzczMDM5My4zMTk1MjcxLCAxNTQ3MSwgMS40NjkzMjAxNzgwMzE5MjE0XSwgWzE2NjM3MzAzOTMuNDcwMzI0LCAxNTQ4MCwgMS4zNzgxNDY2NDg0MDY5ODI0XSwgWzE2NjM3MzAzOTMuNzU2ODg0MywgMTU1MDcsIDEuMjcxMDM3NDU5MzczNDc0MV0sIFsxNjYzNzMwMzkzLjg4MTU4MDQsIDE1NTE2LCAxLjI4NDY2ODY4NDAwNTczNzNdLCBbMTY2MzczMDM5NC4wMTkwMTQsIDE1NTI1LCAxLjIzMjExNTAzMDI4ODY5NjNdLCBbMTY2MzczMDM5NC4xMjk0MDM2LCAxNTUzNCwgMS4zNDQzMzQ2MDIzNTU5NTddLCBbMTY2MzczMDM5NC42OTkxNDI3LCAxNTU3OSwgMS4yOTEwMjQ2ODQ5MDYwMDU5XSwgWzE2NjM3MzAzOTUuNDgyNzE2MywgMTU2NTEsIDEuMjc3MDkxNzQxNTYxODg5Nl0sIFsxNjYzNzMwMzk1LjU2ODMzMzYsIDE1NjYwLCAxLjIxNjE4NTIxMjEzNTMxNV0sIFsxNjYzNzMwMzk1LjY1NjgzNTYsIDE1NjY5LCAxLjIwNDYyMTY3MjYzMDMxXSwgWzE2NjM3MzAzOTUuOTIzOTk2NCwgMTU2OTYsIDEuMTYxMjcyMDQ4OTUwMTk1M10sIFsxNjYzNzMwMzk2LjE5NTYwODEsIDE1NzE0LCAxLjM0NzAwODcwNTEzOTE2MDJdLCBbMTY2MzczMDM5Ni4zMTM4MTM0LCAxNTcyMywgMS4zMDI3MjE2MTk2MDYwMThdLCBbMTY2MzczMDM5Ni40MTMzOTU0LCAxNTczMiwgMS4wNzMwODE0OTMzNzc2ODU1XSwgWzE2NjM3MzAzOTYuNTI4MzgxLCAxNTc0MSwgMS42NzQxNDU5MzY5NjU5NDI0XSwgWzE2NjM3MzAzOTYuNjUyNTk4NiwgMTU3NTAsIDEuNDMyNDQ1ODgzNzUwOTE1NV0sIFsxNjYzNzMwMzk2Ljc1NTcwNzUsIDE1NzU5LCAxLjEyNjA1MzMzMzI4MjQ3MDddLCBbMTY2MzczMDM5Ni44NDk5MDIsIDE1NzY4LCAxLjIwMzUzNTU1Njc5MzIxM10sIFsxNjYzNzMwMzk3LjAzNTM5MjgsIDE1Nzg2LCAxLjQxMTc4MjUwMzEyODA1MThdLCBbMTY2MzczMDM5Ny4xMjUxODU1LCAxNTc5NSwgMS4zMDc0NDMwMjI3Mjc5NjYzXSwgWzE2NjM3MzAzOTcuNTE5MjQyLCAxNTgyMiwgMS4xOTE0MjU1NjE5MDQ5MDcyXSwgWzE2NjM3MzAzOTguMDM4MTQ2LCAxNTg2NywgMS4zNjczMjM1MTc3OTkzNzc0XSwgWzE2NjM3MzAzOTguMTQyMDYzNiwgMTU4NzYsIDEuMjU4NjE2Njg1ODY3MzA5Nl0sIFsxNjYzNzMwMzk4LjMyNTg4NywgMTU4OTQsIDEuMTcxMjQ0MjYzNjQ4OTg2OF0sIFsxNjYzNzMwMzk4LjQxNTMzOCwgMTU5MDMsIDEuMTY1Mjg0ODcyMDU1MDUzN10sIFsxNjYzNzMwMzk4LjU5Mzk1NDYsIDE1OTIxLCAxLjEyMDg1NTgwODI1ODA1NjZdLCBbMTY2MzczMDM5OC43MjE5NjEzLCAxNTkzMCwgMS4zOTY2MTYzMzk2ODM1MzI3XSwgWzE2NjM3MzAzOTguOTA1MDg1LCAxNTk0OCwgMS43MDM3NTM1OTA1ODM4MDEzXSwgWzE2NjM3MzAzOTkuMjgxNDc1MywgMTU5ODQsIDEuMjY1MzQ2NjQ2MzA4ODk5XSwgWzE2NjM3MzAzOTkuMzcyNjY2NiwgMTU5OTMsIDEuMzMwNDMxMzQyMTI0OTM5XSwgWzE2NjM3MzAzOTkuNDk5NzE1OCwgMTYwMDIsIDEuMjMxMDY4MTM0MzA3ODYxM10sIFsxNjYzNzMwMzk5Ljg3NDczNjMsIDE2MDI5LCAxLjUwOTc5NjczODYyNDU3MjhdLCBbMTY2MzczMDM5OS45NjE2MDc1LCAxNjAzOCwgMS41NjE3NjMxNjczODEyODY2XSwgWzE2NjM3MzA0MDAuMjUxMjk1MywgMTYwNjUsIDEuMTkxNTA0NDc4NDU0NTg5OF0sIFsxNjYzNzMwNDAwLjM0MTM0NDQsIDE2MDc0LCAxLjE1NTQyMzI4MzU3Njk2NTNdLCBbMTY2MzczMDQwMC40MjkxMjgyLCAxNjA4MywgMS4zMDAwMTQ2MTUwNTg4OTldLCBbMTY2MzczMDQwMC41MjAyODM1LCAxNjA5MiwgMS4yMDI1MTU5NTk3Mzk2ODVdLCBbMTY2MzczMDQwMC42ODM1MTIyLCAxNjExMCwgMS4zMzY4NjI2ODMyOTYyMDM2XSwgWzE2NjM3MzA0MDAuNzY5NDM0NywgMTYxMTksIDEuMTEzNTg4ODA5OTY3MDQxXSwgWzE2NjM3MzA0MDAuOTUyMjAyOCwgMTYxMzcsIDEuMTQ0ODUyMDQyMTk4MTgxMl0sIFsxNjYzNzMwNDAxLjEyMTQwOTIsIDE2MTU1LCAxLjc1Mjc1ODAyNjEyMzA0NjldLCBbMTY2MzczMDQwMS4zMDk2MTY2LCAxNjE3MywgMS4yNTg0ODAwNzIwMjE0ODQ0XSwgWzE2NjM3MzA0MDEuMzkyMTc5NSwgMTYxODIsIDEuMjQ5OTA4Njg1Njg0MjA0XSwgWzE2NjM3MzA0MDEuODY5NDI0NiwgMTYyMDksIDEuMjc0Nzk3NDM5NTc1MTk1M10sIFsxNjYzNzMwNDAxLjk1MTEyNzUsIDE2MjE4LCAxLjM5ODUwNjA0NTM0MTQ5MTddLCBbMTY2MzczMDQwMi4wNDU2MDYsIDE2MjI3LCAxLjMwNTAxMjgyMjE1MTE4NF0sIFsxNjYzNzMwNDAyLjEzNDEyNTcsIDE2MjM2LCAxLjQ4NjQ0MTAxNjE5NzIwNDZdLCBbMTY2MzczMDQwMi4yMjAzMTgzLCAxNjI0NSwgMS41ODY4ODcxMjEyMDA1NjE1XSwgWzE2NjM3MzA0MDIuNTc5NDUyOCwgMTYyODEsIDEuMjQ5MDg3NTcyMDk3Nzc4M10sIFsxNjYzNzMwNDAyLjc1NzI1NDYsIDE2Mjk5LCAxLjIyODc3ODAwNDY0NjMwMTNdLCBbMTY2MzczMDQwMy4xMDAxNzg1LCAxNjMzNSwgMS4xOTcxOTAwNDYzMTA0MjQ4XSwgWzE2NjM3MzA0MDMuMjkyOTY0NSwgMTYzNTMsIDEuMjM3OTI5MjI0OTY3OTU2NV0sIFsxNjYzNzMwNDAzLjQ2NzkyNiwgMTYzNzEsIDEuMjcyOTIxMzIzNzc2MjQ1MV0sIFsxNjYzNzMwNDAzLjU1NDMwNzcsIDE2MzgwLCAxLjE5NjMxOTkzNzcwNTk5MzddLCBbMTY2MzczMDQwMy44OTU2MDU2LCAxNjQxNiwgMS4zNTM0NDQ4MTQ2ODIwMDY4XSwgWzE2NjM3MzA0MDQuMTUwOTgsIDE2NDQzLCAxLjY2MDc5NTIxMTc5MTk5MjJdLCBbMTY2MzczMDQwNC4yNDI4MDM4LCAxNjQ1MiwgMS41MjI3NDgzNTEwOTcxMDddLCBbMTY2MzczMDQwNC40MTM3ODI2LCAxNjQ3MCwgMS41ODkyOTE2OTE3ODAwOTAzXSwgWzE2NjM3MzA0MDQuNTA1NDQyMSwgMTY0NzksIDEuMjE2Mzg1MDA2OTA0NjAyXSwgWzE2NjM3MzA0MDQuNjcxNTA2LCAxNjQ5NywgMS4xOTA0NTgyOTc3Mjk0OTIyXSwgWzE2NjM3MzA0MDQuNzU2NjkxMiwgMTY1MDYsIDEuMjc0MDgzOTcxOTc3MjMzOV0sIFsxNjYzNzMwNDA0LjgzNzI1NDgsIDE2NTE1LCAxLjI0NzcyNDUzMzA4MTA1NDddLCBbMTY2MzczMDQwNS4wMDcyMDg2LCAxNjUzMywgMS4yNDYxMzc0OTk4MDkyNjUxXSwgWzE2NjM3MzA0MDUuMDk2MTA5NiwgMTY1NDIsIDEuMzk5MjY5NDYxNjMxNzc1XSwgWzE2NjM3MzA0MDUuMTc3MjE2LCAxNjU1MSwgMS4yNzI1NzM1OTAyNzg2MjU1XSwgWzE2NjM3MzA0MDUuNTM0MzU4MywgMTY1ODcsIDEuMTI0NzE1MDg5Nzk3OTczNl1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_05-47-37_8f860c94f07e&tag=Loss%2Ftrain":{"data":"W1sxNjYzNzM5MjU5LjkyMjAwMzUsIDksIDYzLjI4NjgzNDcxNjc5Njg3NV0sIFsxNjYzNzM5MjYwLjA5MjY0NjYsIDI3LCAyOS43NDQ4MTAxMDQzNzAxMTddLCBbMTY2MzczOTI2MC4xNzk5MTAyLCAzNiwgMjMuNjY4MjMxOTY0MTExMzI4XSwgWzE2NjM3MzkyNjAuMjczMTk1NywgNDUsIDE4LjgyMDk1MTQ2MTc5MTk5Ml0sIFsxNjYzNzM5MjYwLjgwNDMzMjcsIDk5LCA1Ljc4MzUzOTI5NTE5NjUzM10sIFsxNjYzNzM5MjYwLjg5MjM4NzIsIDEwOCwgNS42NzY2MDI4NDA0MjM1ODRdLCBbMTY2MzczOTI2MS4yOTUxMjA1LCAxMzUsIDUuNDI0ODkwOTk1MDI1NjM1XSwgWzE2NjM3MzkyNjEuMzg1ODA0NywgMTQ0LCA1LjM2MzA2OTA1NzQ2NDZdLCBbMTY2MzczOTI2MS42NjQxNzA1LCAxNzEsIDUuMTg2NDU2MjAzNDYwNjkzXSwgWzE2NjM3MzkyNjEuNzQ2NDcxNiwgMTgwLCA1LjExMTA2NDQzNDA1MTUxNF0sIFsxNjYzNzM5MjYxLjgyODk2MTgsIDE4OSwgNC45ODI1ODYzODM4MTk1OF0sIFsxNjYzNzM5MjYxLjk4MzA5MzcsIDIwNywgNC45MjY3ODU5NDU4OTIzMzRdLCBbMTY2MzczOTI2Mi4wODMzMTgsIDIxNiwgNC45MzYxNDYyNTkzMDc4NjFdLCBbMTY2MzczOTI2Mi4zODE3NCwgMjQzLCA0LjY2MTcwNjkyNDQzODQ3N10sIFsxNjYzNzM5MjYyLjQ4ODE0MzcsIDI1MiwgNC40Nzg4Njc1MzA4MjI3NTRdLCBbMTY2MzczOTI2Mi42NjUxNDQ3LCAyNzAsIDQuNDMzMzQ1Nzk0Njc3NzM0XSwgWzE2NjM3MzkyNjMuMDE3Njc1NiwgMzA2LCA0LjIzMjA3NDI2MDcxMTY3XSwgWzE2NjM3MzkyNjMuMDg3NTQxNiwgMzE1LCA0LjIzNzUxNTkyNjM2MTA4NF0sIFsxNjYzNzM5MjYzLjI3OTczNiwgMzMzLCA0LjE1MDMwMDk3OTYxNDI1OF0sIFsxNjYzNzM5MjYzLjM2ODE0MzMsIDM0MiwgNC4xODIxMzQ2MjgyOTU4OThdLCBbMTY2MzczOTI2My40NjQ2MTE1LCAzNTEsIDQuMDMzMzk4NjI4MjM0ODYzXSwgWzE2NjM3MzkyNjMuNTUyOTU3OCwgMzYwLCAzLjk4NDg2ODUyNjQ1ODc0MDJdLCBbMTY2MzczOTI2My42NTQzNDI0LCAzNjksIDQuMDU1NDU1MjA3ODI0NzA3XSwgWzE2NjM3MzkyNjQuMzE0MzQzNSwgNDMyLCAzLjYwOTIwNTcyMjgwODgzOF0sIFsxNjYzNzM5MjY0LjQwOTg3NCwgNDQxLCAzLjY3MTE3OTUzMzAwNDc2MDddLCBbMTY2MzczOTI2NC41MDg5ODQsIDQ1MCwgMy41NTIzOTYyOTc0NTQ4MzRdLCBbMTY2MzczOTI2NC42MDYwNzc3LCA0NTksIDMuNTIyNTY3MjcyMTg2Mjc5M10sIFsxNjYzNzM5MjY0LjcxMTUyNTQsIDQ2OCwgMy40ODA4OTQzMjcxNjM2OTYzXSwgWzE2NjM3MzkyNjQuODExMTIyLCA0NzcsIDMuNDgyODkwODQ0MzQ1MDkyOF0sIFsxNjYzNzM5MjY1LjAwMzA5OTQsIDQ5NSwgMy40Mjg5NDgxNjM5ODYyMDZdLCBbMTY2MzczOTI2NS4xMDQ0MjU0LCA1MDQsIDMuMzkwODgyMjUzNjQ2ODUwNl0sIFsxNjYzNzM5MjY1LjI3ODAwNSwgNTIyLCAzLjMwMzY2MTEwODAxNjk2NzhdLCBbMTY2MzczOTI2NS41NzczOTU3LCA1NDksIDMuMTU3NDkxNjgzOTU5OTYxXSwgWzE2NjM3MzkyNjUuNjcxODE1NiwgNTU4LCAzLjA5NzIwMTM0NzM1MTA3NF0sIFsxNjYzNzM5MjY1Ljc0NDY1ODIsIDU2NywgMy4xMjMwODE2ODQxMTI1NDldLCBbMTY2MzczOTI2NS44MjA1OTMsIDU3NiwgMy4wODEwMTk2Mzk5Njg4NzJdLCBbMTY2MzczOTI2NS45ODYzNjc3LCA1OTQsIDMuMDg0NDM2NjU1MDQ0NTU1N10sIFsxNjYzNzM5MjY2LjA3ODU2MDgsIDYwMywgMy4wMzg2MzkwNjg2MDM1MTU2XSwgWzE2NjM3MzkyNjYuMTYzMjIzNSwgNjEyLCAzLjAxMDQ2MjUyMjUwNjcxNF0sIFsxNjYzNzM5MjY2LjI0MzUwMjEsIDYyMSwgMi45NTQ0NjMwMDUwNjU5MThdLCBbMTY2MzczOTI2Ni4zOTgxNzgsIDYzOSwgMi44NzcxOTYzMTE5NTA2ODM2XSwgWzE2NjM3MzkyNjYuNDY5ODMzNCwgNjQ4LCAyLjg0ODEyMDIxMjU1NDkzMTZdLCBbMTY2MzczOTI2Ni42MzY2ODM3LCA2NjYsIDIuODExMzQzNDMxNDcyNzc4M10sIFsxNjYzNzM5MjY2Ljc4Mzc1MjcsIDY4NCwgMi43MjU4NTQzOTY4MjAwNjg0XSwgWzE2NjM3MzkyNjYuOTUzOTc1MiwgNzAyLCAyLjY1MTEzODMwNTY2NDA2MjVdLCBbMTY2MzczOTI2Ny4xMTQ4MTg2LCA3MjAsIDIuNjA0NzExNTMyNTkyNzczNF0sIFsxNjYzNzM5MjY3LjE5ODg5NzgsIDcyOSwgMi41OTIyMTU1MzgwMjQ5MDIzXSwgWzE2NjM3MzkyNjcuNTA1NzE5MiwgNzQ3LCAyLjUzOTYwMjI3OTY2MzA4Nl0sIFsxNjYzNzM5MjY3LjU4NDkzMTEsIDc1NiwgMi41NDMyOTI1MjI0MzA0Ml0sIFsxNjYzNzM5MjY3Ljc1MTI3NjcsIDc3NCwgMi41NTM5MjE5Mzc5NDI1MDVdLCBbMTY2MzczOTI2Ny44MjE2MzY3LCA3ODMsIDIuNDgyMzU4Njk0MDc2NTM4XSwgWzE2NjM3MzkyNjguMDM4NDEsIDgxMCwgMi4zODUwNTMzOTYyMjQ5NzU2XSwgWzE2NjM3MzkyNjguMTMyNywgODE5LCAyLjQxMjYxNDU4Mzk2OTExNl0sIFsxNjYzNzM5MjY4LjQ3ODkyMDUsIDg2NCwgMi4yODA2MDI5MzE5NzYzMTg0XSwgWzE2NjM3MzkyNjguOTM0NjM5MiwgOTAwLCAyLjI4MDY2MDg2NzY5MTA0XSwgWzE2NjM3MzkyNjkuMDA3NzM1LCA5MDksIDIuMzAyNzg5OTI2NTI4OTMwN10sIFsxNjYzNzM5MjY5LjIzNTcwODcsIDkzNiwgMi4xNjI0NzIyNDgwNzczOTI2XSwgWzE2NjM3MzkyNjkuNDQ0NzcwOCwgOTYzLCAyLjEyNTgzMTM2NTU4NTMyN10sIFsxNjYzNzM5MjY5LjUwOTIyMjcsIDk3MiwgMi4xNjE2NjA5MDk2NTI3MV0sIFsxNjYzNzM5MjY5LjY2ODcwNDUsIDk5MCwgMi4wODY2MzcyNTg1Mjk2NjNdLCBbMTY2MzczOTI2OS43NDY2OTUzLCA5OTksIDIuMDkxNzI1MTExMDA3NjkwNF0sIFsxNjYzNzM5MjY5LjgyNDUyMiwgMTAwOCwgMi4wODA5ODI2ODUwODkxMTEzXSwgWzE2NjM3MzkyNzAuMDYxODQ5OCwgMTAzNSwgMi4wNDkwMzQ4MzM5MDgwODFdLCBbMTY2MzczOTI3MC4yMTE1NDAyLCAxMDUzLCAyLjAxMjc1MjA1NjEyMTgyNl0sIFsxNjYzNzM5MjcwLjU5MDUzNDQsIDEwOTgsIDIuMDU4NDA2MTE0NTc4MjQ3XSwgWzE2NjM3MzkyNzAuODg2MzQ5NywgMTEzNCwgMS45Mjk3MzYzNzU4MDg3MTU4XSwgWzE2NjM3MzkyNzAuOTU2NDQ2LCAxMTQzLCAxLjk0ODE5Nzk2MDg1MzU3NjddLCBbMTY2MzczOTI3MS4xMDQ5OTIsIDExNjEsIDEuOTQzOTE5NjU4NjYwODg4N10sIFsxNjYzNzM5MjcxLjE4MTU4NiwgMTE3MCwgMS45MTkwMzMwNTA1MzcxMDk0XSwgWzE2NjM3MzkyNzEuMjUxMTQ1NCwgMTE3OSwgMS44OTUyNDc5MzYyNDg3NzkzXSwgWzE2NjM3MzkyNzEuMzMzNTMwNywgMTE4OCwgMS45MjM0MzI5NDYyMDUxMzkyXSwgWzE2NjM3MzkyNzEuNDAyODEyLCAxMTk3LCAxLjkyMjc4NDQ0NzY2OTk4M10sIFsxNjYzNzM5MjcxLjU0MzAzMzEsIDEyMTUsIDEuOTI0Nzc4Njk5ODc0ODc4XSwgWzE2NjM3MzkyNzEuNjkwMDc5NSwgMTIzMywgMS45NTM0NDg2NTMyMjExMzA0XSwgWzE2NjM3MzkyNzEuNzU2Njg1MywgMTI0MiwgMS44NTc1NzEyNDQyMzk4MDcxXSwgWzE2NjM3MzkyNzIuMTczNzcwNywgMTI5NiwgMS44OTA3MDcxMzUyMDA1MDA1XSwgWzE2NjM3MzkyNzIuMjQ5MDEzNCwgMTMwNSwgMS44ODkxMTAyMDc1NTc2NzgyXSwgWzE2NjM3MzkyNzIuNDAwMTEwNSwgMTMyMywgMS44NDkxODE2NTIwNjkwOTE4XSwgWzE2NjM3MzkyNzIuNDc0MTQzLCAxMzMyLCAxLjgyMzM2OTg2MDY0OTEwODldLCBbMTY2MzczOTI3Mi43MDEzMDEsIDEzNTksIDEuODAxOTAzNDg2MjUxODMxXSwgWzE2NjM3MzkyNzMuMjE3NSwgMTQyMiwgMS44MTE0NDM2ODY0ODUyOTA1XSwgWzE2NjM3MzkyNzMuMzU5NzA3NCwgMTQ0MCwgMS43NTM3MjcwNzg0Mzc4MDUyXSwgWzE2NjM3MzkyNzMuNDQ5NTg0MiwgMTQ0OSwgMS43MzIxNTM4OTI1MTcwODk4XSwgWzE2NjM3MzkyNzMuNjkyMzc0MiwgMTQ2NywgMS43NTE3OTM3NDIxNzk4NzA2XSwgWzE2NjM3MzkyNzMuODI4MzMsIDE0NzYsIDEuNzQwMjUzMzI5Mjc3MDM4Nl0sIFsxNjYzNzM5MjczLjk4MzAxMDgsIDE0ODUsIDEuNzg1NTUyMjYzMjU5ODg3N10sIFsxNjYzNzM5Mjc0LjI4MzAxNDgsIDE1MDMsIDEuNzY4MjMxOTg3OTUzMTg2XSwgWzE2NjM3MzkyNzQuNjQ1Njk4NSwgMTUzOSwgMS43MjI4MDc1MjY1ODg0NF0sIFsxNjYzNzM5Mjc0Ljc1OTIzMjUsIDE1NDgsIDEuNzIyNzc5ODcwMDMzMjY0Ml0sIFsxNjYzNzM5Mjc0Ljg1MTMzOCwgMTU1NywgMS43MzIzMjEwMjM5NDEwNF0sIFsxNjYzNzM5Mjc1LjA4MjA3MSwgMTU4NCwgMS43ODUwMzc1MTc1NDc2MDc0XSwgWzE2NjM3MzkyNzUuMTU1Mjc0LCAxNTkzLCAxLjc0NDA5NjE1OTkzNDk5NzZdLCBbMTY2MzczOTI3NS4yODIwODQ1LCAxNjAyLCAxLjY5MjAzMDU0OTA0OTM3NzRdLCBbMTY2MzczOTI3NS4zODA5MjU3LCAxNjExLCAxLjcwOTE2MTg3NzYzMjE0MTFdLCBbMTY2MzczOTI3NS41NTcwMDgzLCAxNjI5LCAxLjcyMTAyMjI0ODI2ODEyNzRdLCBbMTY2MzczOTI3NS42NTA4NzgyLCAxNjM4LCAxLjc3MzE3MDk0ODAyODU2NDVdLCBbMTY2MzczOTI3NS44NDY3Nzc3LCAxNjU2LCAxLjcyNDg2MTAyNTgxMDI0MTddLCBbMTY2MzczOTI3Ni4xODA4ODM2LCAxNjY1LCAxLjczNTE3OTMwNTA3NjU5OTFdLCBbMTY2MzczOTI3Ni4yNzExNzUsIDE2NzQsIDEuNzIwNTk1NDc5MDExNTM1Nl0sIFsxNjYzNzM5Mjc2LjM2OTM4NjcsIDE2ODMsIDEuNzM5NTIxNjIyNjU3Nzc1OV0sIFsxNjYzNzM5Mjc2LjY1NTcyMjEsIDE3MTAsIDEuNjkxNzIyMTU0NjE3MzA5Nl0sIFsxNjYzNzM5Mjc2Ljc0OTM1NDgsIDE3MTksIDEuNzA2MjgzODA3NzU0NTE2Nl0sIFsxNjYzNzM5Mjc2Ljg0NDA0MSwgMTcyOCwgMS42OTQyNjEzMTI0ODQ3NDEyXSwgWzE2NjM3MzkyNzYuOTM3NzA2NywgMTczNywgMS43MjU1NzAwODI2NjQ0ODk3XSwgWzE2NjM3MzkyNzcuMjE5MTUyNSwgMTc2NCwgMS43MDIyMDUzMDAzMzExMTU3XSwgWzE2NjM3MzkyNzcuNDU1NzA5MiwgMTc5MSwgMS42Nzc0NTU5MDIwOTk2MDk0XSwgWzE2NjM3MzkyNzcuNTI4NDE3OCwgMTgwMCwgMS43MDY0MDcxODkzNjkyMDE3XSwgWzE2NjM3MzkyNzcuNjA2MDEzNSwgMTgwOSwgMS42MzIyNDIyMDI3NTg3ODldLCBbMTY2MzczOTI3Ny43NjIwMTk2LCAxODI3LCAxLjY3MDgxOTE2MzMyMjQ0ODddLCBbMTY2MzczOTI3Ny44MjY3NDQsIDE4MzYsIDEuNzQ1MjM0ODQ3MDY4Nzg2Nl0sIFsxNjYzNzM5Mjc3Ljg5NDEwMjMsIDE4NDUsIDEuODUwMjI1MjEwMTg5ODE5M10sIFsxNjYzNzM5Mjc3Ljk1OTQyNDUsIDE4NTQsIDEuODAzMjA5MDY2MzkwOTkxMl0sIFsxNjYzNzM5Mjc4LjEwNTQyNzUsIDE4NzIsIDEuNjYwNDc1OTY5MzE0NTc1Ml0sIFsxNjYzNzM5Mjc4LjI3NDIwMTYsIDE4OTAsIDEuNjQ0NjU2Nzc3MzgxODk3XSwgWzE2NjM3MzkyNzguNTU0NzkxNywgMTkwOCwgMS42MjEyNjE1OTY2Nzk2ODc1XSwgWzE2NjM3MzkyNzguNzEzMTY3LCAxOTI2LCAxLjYyMDA4Nzc0MjgwNTQ4MV0sIFsxNjYzNzM5Mjc4Ljg2NTUzODQsIDE5NDQsIDEuNjMwODEzNDc5NDIzNTIzXSwgWzE2NjM3MzkyNzguOTM5OTI2LCAxOTUzLCAxLjYzMDczODczNTE5ODk3NDZdLCBbMTY2MzczOTI3OS4wODgzNTQsIDE5NzEsIDEuNjUwNzAwMDkyMzE1NjczOF0sIFsxNjYzNzM5Mjc5LjE1NDU5MjgsIDE5ODAsIDEuNjg4MTM2OTM1MjM0MDY5OF0sIFsxNjYzNzM5Mjc5LjIyMDQzNTQsIDE5ODksIDEuNjMwMjAwMjY2ODM4MDczN10sIFsxNjYzNzM5Mjc5LjI4NzQyMjQsIDE5OTgsIDEuNjUwMTEzNTgyNjExMDg0XSwgWzE2NjM3MzkyNzkuMzU0NzI2MywgMjAwNywgMS42MTQzNjgyMDAzMDIxMjRdLCBbMTY2MzczOTI3OS40OTQ1OTI3LCAyMDI1LCAxLjYxNjg5ODg5NDMwOTk5NzZdLCBbMTY2MzczOTI3OS41NjI3NTUzLCAyMDM0LCAxLjYxOTgwODQzNTQ0MDA2MzVdLCBbMTY2MzczOTI3OS44NzIyMjQzLCAyMDcwLCAxLjY1OTMwOTc0NDgzNDldLCBbMTY2MzczOTI4MC4wNjgzMTQsIDIwOTcsIDEuNjM5MDUxNjc1Nzk2NTA4OF0sIFsxNjYzNzM5MjgwLjI4ODA4MiwgMjEyNCwgMS42ODM0NjQ1MjcxMzAxMjddLCBbMTY2MzczOTI4MC4zNTU2NDc2LCAyMTMzLCAxLjYxMzgyNjM5NDA4MTExNTddLCBbMTY2MzczOTI4MC40MjE1MjM2LCAyMTQyLCAxLjY1MTI0ODY5MzQ2NjE4NjVdLCBbMTY2MzczOTI4MC41MTY4OTYsIDIxNTEsIDEuNTgyNjMxNTg3OTgyMTc3N10sIFsxNjYzNzM5MjgwLjYwOTkwMjEsIDIxNjAsIDEuNjEwNzE4NzI3MTExODE2NF0sIFsxNjYzNzM5MjgwLjgwNjQ4NDUsIDIxNzgsIDEuNjA3MzM0MTM2OTYyODkwNl0sIFsxNjYzNzM5MjgwLjg4MTkwMSwgMjE4NywgMS41NTAxNDM5NTcxMzgwNjE1XSwgWzE2NjM3MzkyODEuMTA3NzEwOCwgMjIwNSwgMS42MTI5MDI2NDEyOTYzODY3XSwgWzE2NjM3MzkyODEuMTg0NjcyNiwgMjIxNCwgMS42Mzc4MjM5MzkzMjM0MjUzXSwgWzE2NjM3MzkyODEuMjkxNzIxNiwgMjIyMywgMS41OTc2NTg4NzI2MDQzNzAxXSwgWzE2NjM3MzkyODEuMzU5ODQyMywgMjIzMiwgMS41OTk2ODk5NjA0Nzk3MzYzXSwgWzE2NjM3MzkyODEuOTE2MjYyNiwgMjI3NywgMS41NTA0OTM1OTc5ODQzMTRdLCBbMTY2MzczOTI4MS45OTcwNTgyLCAyMjg2LCAxLjU2MDE4ODc3MDI5NDE4OTVdLCBbMTY2MzczOTI4Mi4wODI1NTU1LCAyMjk1LCAxLjU2MDk4OTg1NjcxOTk3MDddLCBbMTY2MzczOTI4Mi4zODAwNzUyLCAyMzIyLCAxLjU3NDIzMzE3NDMyNDAzNTZdLCBbMTY2MzczOTI4Mi40NTMzMzQsIDIzMzEsIDEuNjMwMjkxNTgxMTUzODY5Nl0sIFsxNjYzNzM5MjgyLjUyNDQ0MDMsIDIzNDAsIDEuNTMxNzA1MjYwMjc2Nzk0NF0sIFsxNjYzNzM5MjgyLjYwNDc3NSwgMjM0OSwgMS41ODA1Mzk1ODQxNTk4NTFdLCBbMTY2MzczOTI4Mi43ODQ0MjcyLCAyMzY3LCAxLjU2NDc0MDQxOTM4NzgxNzRdLCBbMTY2MzczOTI4My4zMzA1NjE5LCAyNDIxLCAxLjU0MzA3MTg2NjAzNTQ2MTRdLCBbMTY2MzczOTI4My42NzY4MDM2LCAyNDM5LCAxLjU3NDQ3MDc1ODQzODExMDRdLCBbMTY2MzczOTI4My43NjM1OTI1LCAyNDQ4LCAxLjU0NzE1MzgzMDUyODI1OTNdLCBbMTY2MzczOTI4NC4wOTA1MDE1LCAyNDc1LCAxLjUwMjQzNDQ5MjExMTIwNl0sIFsxNjYzNzM5Mjg0LjE5MzgwNjQsIDI0ODQsIDEuNTUzNDU4OTI5MDYxODg5Nl0sIFsxNjYzNzM5Mjg0LjI5NDc1ODMsIDI0OTMsIDEuNTMwMzkyMTY5OTUyMzkyNl0sIFsxNjYzNzM5Mjg0LjQ4MDc3NTYsIDI1MTEsIDEuNTU2OTUyOTUzMzM4NjIzXSwgWzE2NjM3MzkyODQuNjk0NTgxMywgMjUyOSwgMS41NzkzOTQ4MTczNTIyOTVdLCBbMTY2MzczOTI4NC44Mzk3NTQ4LCAyNTQ3LCAxLjUxNTgzNTY0MjgxNDYzNjJdLCBbMTY2MzczOTI4NC45MTIzMTQ3LCAyNTU2LCAxLjUwMjUyNDEzNzQ5Njk0ODJdLCBbMTY2MzczOTI4NS4wNjQ2Mjg0LCAyNTc0LCAxLjU3NDA3OTM5NDM0MDUxNTFdLCBbMTY2MzczOTI4NS4yMjI2MzM0LCAyNTkyLCAxLjU0MjgxOTk3NjgwNjY0MDZdLCBbMTY2MzczOTI4NS4yOTM2OTgzLCAyNjAxLCAxLjUxNjE3NDY3NDAzNDExODddLCBbMTY2MzczOTI4NS40MzIzMzc1LCAyNjE5LCAxLjUwMTA5OTIyODg1ODk0NzhdLCBbMTY2MzczOTI4NS41MDE1MzczLCAyNjI4LCAxLjUxMzIyMTAyNTQ2NjkxOV0sIFsxNjYzNzM5Mjg1Ljc4MDMyMzMsIDI2NjQsIDEuNTgyMTgwMjYxNjExOTM4NV0sIFsxNjYzNzM5Mjg1Ljg1MTU3NDQsIDI2NzMsIDEuNjQ0Nzc1MDMyOTk3MTMxM10sIFsxNjYzNzM5Mjg1LjkxNzE5MzQsIDI2ODIsIDEuNDc5NDYyMTQ2NzU5MDMzMl0sIFsxNjYzNzM5Mjg1Ljk4NTUyMzUsIDI2OTEsIDEuNTYzOTk3ODY0NzIzMjA1Nl0sIFsxNjYzNzM5Mjg2LjA2MDUwNCwgMjcwMCwgMS41NjU2NjU4NDExMDI2XSwgWzE2NjM3MzkyODYuNTM2NzgwNiwgMjc0NSwgMS40Njc3NTM0MTAzMzkzNTU1XSwgWzE2NjM3MzkyODYuNjc4NjU1NCwgMjc2MywgMS40NzMwMzEwNDQwMDYzNDc3XSwgWzE2NjM3MzkyODYuNzQ3MzEzNSwgMjc3MiwgMS41MDM1MzUzODk5MDAyMDc1XSwgWzE2NjM3MzkyODYuODE2OTQ3LCAyNzgxLCAxLjQ3MjI3MDg0NjM2Njg4MjNdLCBbMTY2MzczOTI4Ni44OTAzODgzLCAyNzkwLCAxLjUwODEwNTk5MzI3MDg3NF0sIFsxNjYzNzM5Mjg3LjA5ODEyOCwgMjgxNywgMS40ODkwMDQ5Njk1OTY4NjI4XSwgWzE2NjM3MzkyODcuMTcwNjYyMiwgMjgyNiwgMS41NjU2MDAzOTUyMDI2MzY3XSwgWzE2NjM3MzkyODcuMzIwMzA4NCwgMjg0NCwgMS41Mzc3NDA1ODgxODgxNzE0XSwgWzE2NjM3MzkyODcuMzk2MzQwOCwgMjg1MywgMS41MDQyOTcxMzcyNjA0MzddLCBbMTY2MzczOTI4Ny41NDcwMDc2LCAyODcxLCAxLjQ2NDYxNDE1MjkwODMyNTJdLCBbMTY2MzczOTI4Ny42MTYwMDg1LCAyODgwLCAxLjUyODA1NzMzNjgwNzI1MV0sIFsxNjYzNzM5Mjg4LjA3MjA5OCwgMjkwNywgMS41MDc4NDg5NzgwNDI2MDI1XSwgWzE2NjM3MzkyODguMjI5Mjk1NywgMjkyNSwgMS40Njg1NDkwMTMxMzc4MTc0XSwgWzE2NjM3MzkyODguNjc2MTU4MiwgMjk3MCwgMS40NDAwODQyMTg5Nzg4ODE4XSwgWzE2NjM3MzkyODguNzY2NzM0OCwgMjk3OSwgMS40NzkzMzc0NTM4NDIxNjNdLCBbMTY2MzczOTI4OC44NTU2MDU2LCAyOTg4LCAxLjQ4MjM1MjQ5NTE5MzQ4MTRdLCBbMTY2MzczOTI4OC45NTMyMDQ2LCAyOTk3LCAxLjQ3MDg5NTI5MDM3NDc1NTldLCBbMTY2MzczOTI4OS4wNDI4NTYyLCAzMDA2LCAxLjQ1NTcxNjEzMzExNzY3NThdLCBbMTY2MzczOTI4OS4zNDk4ODIxLCAzMDQyLCAxLjQ2OTc1MDg4MTE5NTA2ODRdLCBbMTY2MzczOTI4OS40MjQ2NTUsIDMwNTEsIDEuNDkxOTM5MzA2MjU5MTU1M10sIFsxNjYzNzM5Mjg5LjU3Mjc4NDIsIDMwNjksIDEuNDMxNDUyNTEyNzQxMDg4OV0sIFsxNjYzNzM5Mjg5LjkyMjgwNDYsIDMwOTYsIDEuNDgxMTE1MjIxOTc3MjMzOV0sIFsxNjYzNzM5Mjg5Ljk5MTc1LCAzMTA1LCAxLjQ0NjMwNDc5ODEyNjIyMDddLCBbMTY2MzczOTI5MC4wNjI0NTMsIDMxMTQsIDEuNDc3MjM3NTgyMjA2NzI2XSwgWzE2NjM3MzkyOTAuMTM3NzUyLCAzMTIzLCAxLjQ3NTY4MzU2OTkwODE0Ml0sIFsxNjYzNzM5MjkwLjMwNjUxODgsIDMxNDEsIDEuNDY1NDUxNTk4MTY3NDE5NF0sIFsxNjYzNzM5MjkwLjM3NjkwMzgsIDMxNTAsIDEuNDQxNTE5OTc1NjYyMjMxNF0sIFsxNjYzNzM5MjkwLjQ1MjIxOCwgMzE1OSwgMS40MTI1NDg1NDIwMjI3MDVdLCBbMTY2MzczOTI5MC41OTUzNjMxLCAzMTc3LCAxLjQzOTYyNTg1OTI2MDU1OV0sIFsxNjYzNzM5MjkwLjY2NDAzMzIsIDMxODYsIDEuNDQzOTk4NTc1MjEwNTcxM10sIFsxNjYzNzM5MjkwLjczMjkyNSwgMzE5NSwgMS40MTM0NTMzNDA1MzAzOTU1XSwgWzE2NjM3MzkyOTAuODA3NDkzMiwgMzIwNCwgMS40MjMxNTE5Njk5MDk2NjhdLCBbMTY2MzczOTI5MS4xNDA1MTAzLCAzMjIyLCAxLjQ2MDc0NjUyNjcxODEzOTZdLCBbMTY2MzczOTI5MS4yMjM4MjgsIDMyMzEsIDEuNDMyOTEyNTg4MTE5NTA2OF0sIFsxNjYzNzM5MjkxLjQwMDU0NywgMzI0OSwgMS40MTM4NzkyNzUzMjE5NjA0XSwgWzE2NjM3MzkyOTEuNTUzMjk2LCAzMjY3LCAxLjQwNjQ2MDY0MjgxNDYzNjJdLCBbMTY2MzczOTI5MS42Mjk0NDM2LCAzMjc2LCAxLjQxMTMzMTE3Njc1NzgxMjVdLCBbMTY2MzczOTI5MS43MDQ1MDM1LCAzMjg1LCAxLjQxNjk0NzEyNjM4ODU0OThdLCBbMTY2MzczOTI5MS43ODA3ODI3LCAzMjk0LCAxLjQzMDU5MTQ2NDA0MjY2MzZdLCBbMTY2MzczOTI5MS44NTIxMTQyLCAzMzAzLCAxLjQ0ODk1ODI3NzcwMjMzMTVdLCBbMTY2MzczOTI5MS45Mjg1NDI2LCAzMzEyLCAxLjQyNjQxMDY3NTA0ODgyODFdLCBbMTY2MzczOTI5Mi4wMDc0NjEsIDMzMjEsIDEuNDAyNTYzOTI5NTU3ODAwM10sIFsxNjYzNzM5MjkyLjU1MzI5NjgsIDMzNzUsIDEuNDEyNjQ1MjIwNzU2NTMwOF0sIFsxNjYzNzM5MjkyLjcyNjkyOTIsIDMzODQsIDEuNDA2NjgyMDE0NDY1MzMyXSwgWzE2NjM3MzkyOTIuOTIzNjM5NSwgMzQwMiwgMS40MDQyMjE3NzMxNDc1ODNdLCBbMTY2MzczOTI5My4wMTI1ODg1LCAzNDExLCAxLjQwMDc0MDk4MTEwMTk4OTddLCBbMTY2MzczOTI5My4zMzIzOTU4LCAzNDQ3LCAxLjM3MzY3MTA1NDg0MDA4OF0sIFsxNjYzNzM5MjkzLjU0MzIxMSwgMzQ2NSwgMS40NTUxNjg4NDMyNjkzNDgxXSwgWzE2NjM3MzkyOTMuNjI1Njg3NiwgMzQ3NCwgMS40MzQwNzM0NDgxODExNTIzXSwgWzE2NjM3MzkyOTMuNzA1Njg4MiwgMzQ4MywgMS40MDYwMDU4NTkzNzVdLCBbMTY2MzczOTI5My45NjM4NDkzLCAzNTEwLCAxLjM3NTA1NTE5MzkwMTA2Ml0sIFsxNjYzNzM5Mjk0LjAzNjUxNTIsIDM1MTksIDEuNDM3NDI5MTg5NjgyMDA2OF0sIFsxNjYzNzM5Mjk0LjEyMTAwMDUsIDM1MjgsIDEuNDUxODgxNTI3OTAwNjk1OF0sIFsxNjYzNzM5Mjk0LjIwMzA0ODcsIDM1MzcsIDEuMzYzMTUzODE1MjY5NDcwMl0sIFsxNjYzNzM5Mjk0LjI4NTkyNzgsIDM1NDYsIDEuMzc5NTYxNzgxODgzMjM5N10sIFsxNjYzNzM5Mjk0LjM3NTA3MDgsIDM1NTUsIDEuMzM4NjYxMDc0NjM4MzY2N10sIFsxNjYzNzM5Mjk0LjQ1MjQ5MjUsIDM1NjQsIDEuMzk1MjkxMjA5MjIwODg2Ml0sIFsxNjYzNzM5Mjk0LjUzMzcsIDM1NzMsIDEuNDAzODMyNTU0ODE3MTk5N10sIFsxNjYzNzM5Mjk0LjYxMDE3OCwgMzU4MiwgMS4zNzYzODE5OTMyOTM3NjIyXSwgWzE2NjM3MzkyOTQuNjkxMDgwMywgMzU5MSwgMS4zNTk1MjQ5NjUyODYyNTQ5XSwgWzE2NjM3MzkyOTQuNzY2NzUyNywgMzYwMCwgMS4zOTkzNDAwMzM1MzExODldLCBbMTY2MzczOTI5NC45Mjg3MDkzLCAzNjE4LCAxLjM2NDUyNTQzNzM1NTA0MTVdLCBbMTY2MzczOTI5NS4wMTIwNzUyLCAzNjI3LCAxLjQxMzc3OTg1NDc3NDQ3NV0sIFsxNjYzNzM5Mjk1LjE1ODY2ODgsIDM2NDUsIDEuMzYzOTAxMDE5MDk2Mzc0NV0sIFsxNjYzNzM5Mjk1LjMwMjA0NDQsIDM2NjMsIDEuMzQ3MDY2NjQwODUzODgxOF0sIFsxNjYzNzM5Mjk1LjQ0NjUwNjcsIDM2ODEsIDEuMzc4MTYwNzE1MTAzMTQ5NF0sIFsxNjYzNzM5Mjk1LjUyMzAxODgsIDM2OTAsIDEuMzgzMDAzMTE1NjUzOTkxN10sIFsxNjYzNzM5Mjk1LjczOTUwNSwgMzcxNywgMS4zODYyMzA4MjYzNzc4Njg3XSwgWzE2NjM3MzkyOTUuODA3NzE5NywgMzcyNiwgMS4zNjMzMjUzNTc0MzcxMzM4XSwgWzE2NjM3MzkyOTUuODc3MjA0MiwgMzczNSwgMS4zNTQxMDc3Mzc1NDExOTg3XSwgWzE2NjM3MzkyOTUuOTUxOTM2LCAzNzQ0LCAxLjM0NjY2NjIxNjg1MDI4MDhdLCBbMTY2MzczOTI5Ni4yMDg0MTUzLCAzNzcxLCAxLjQwNjQzNTYwODg2MzgzMDZdLCBbMTY2MzczOTI5Ni40NTc5NDk0LCAzNzgwLCAxLjQwODYwMTk5OTI4MjgzN10sIFsxNjYzNzM5Mjk2LjcyOTM3NDQsIDM3OTgsIDEuNDgxMjkyNDg2MTkwNzk2XSwgWzE2NjM3MzkyOTYuODI0NjQ2MiwgMzgwNywgMS40NTgwOTczMzg2NzY0NTI2XSwgWzE2NjM3MzkyOTcuMDY5NjkzLCAzODM0LCAxLjM3MjcwODIwMTQwODM4NjJdLCBbMTY2MzczOTI5Ny4xNTA1Mjg3LCAzODQzLCAxLjM1MjIyNDcwNzYwMzQ1NDZdLCBbMTY2MzczOTI5Ny41MTQwOTYsIDM4NzksIDEuNDI2OTE2NDgwMDY0MzkyXSwgWzE2NjM3MzkyOTcuNjAwOTI0NSwgMzg4OCwgMS40ODQ1MDU0MTQ5NjI3Njg2XSwgWzE2NjM3MzkyOTcuODM4OTc4OCwgMzkxNSwgMS4zMzIwNTU1Njg2OTUwNjg0XSwgWzE2NjM3MzkyOTcuOTIxNzAxMiwgMzkyNCwgMS4zMjQ5NDE4NzM1NTA0MTVdLCBbMTY2MzczOTI5OC4wMDAzMDAyLCAzOTMzLCAxLjQyMDA5NDAxMzIxNDExMTNdLCBbMTY2MzczOTI5OC4wOTQ2MzIsIDM5NDIsIDEuNDA3MTAyNTg0ODM4ODY3Ml0sIFsxNjYzNzM5Mjk4LjE2ODgwNTgsIDM5NTEsIDEuMzY2MzgwNDUzMTA5NzQxMl0sIFsxNjYzNzM5Mjk4LjI0NDE1MDksIDM5NjAsIDEuNDQyMTMwNTY1NjQzMzEwNV0sIFsxNjYzNzM5Mjk4LjMyMTQ5MzksIDM5NjksIDEuMzk3NTMwMzE3MzA2NTE4Nl0sIFsxNjYzNzM5Mjk4LjM5MjA4OTEsIDM5NzgsIDEuNDE1NTA4MTUxMDU0MzgyM10sIFsxNjYzNzM5Mjk4LjczMTY0MTgsIDM5OTYsIDEuMzQwOTMxMDU3OTI5OTkyN10sIFsxNjYzNzM5Mjk4LjgwMDM4NzksIDQwMDUsIDEuMzQ5MzY5MTY4MjgxNTU1Ml0sIFsxNjYzNzM5Mjk4Ljg3Mzg0ODQsIDQwMTQsIDEuMzU1NTU3MjAzMjkyODQ2N10sIFsxNjYzNzM5Mjk4Ljk0NjIwNzMsIDQwMjMsIDEuMzI5MDg5NzYwNzgwMzM0NV0sIFsxNjYzNzM5Mjk5LjIzMTk2OTYsIDQwNTksIDEuMzYxMjcyNDU0MjYxNzc5OF0sIFsxNjYzNzM5Mjk5LjMwODc2MTYsIDQwNjgsIDEuMzcyNzY2Mzc1NTQxNjg3XSwgWzE2NjM3MzkyOTkuMzc2NjgwOSwgNDA3NywgMS4zMjI5ODc0MzcyNDgyM10sIFsxNjYzNzM5Mjk5LjQ0NDEyMTYsIDQwODYsIDEuMzM1ODIwNTU1Njg2OTUwN10sIFsxNjYzNzM5Mjk5LjUxNDk2ODIsIDQwOTUsIDEuMzExMTIyNjU1ODY4NTMwM10sIFsxNjYzNzM5Mjk5LjY4NTM0NzMsIDQxMTMsIDEuMzUxMzE4NTk3NzkzNTc5XSwgWzE2NjM3MzkyOTkuODI2MDY4NiwgNDEzMSwgMS4zMjk1NDg0NzgxMjY1MjU5XSwgWzE2NjM3MzkyOTkuOTg1NDA0LCA0MTQ5LCAxLjMzMjM4NjYxMjg5MjE1MDldLCBbMTY2MzczOTMwMC4wNTY2ODA3LCA0MTU4LCAxLjMyMDc3NDc5MzYyNDg3OF0sIFsxNjYzNzM5MzAwLjEyMzk2NzQsIDQxNjcsIDEuNDMxODkxNzk4OTczMDgzNV0sIFsxNjYzNzM5MzAwLjI2NTM1MjcsIDQxODUsIDEuMzQ4MDUwMjM2NzAxOTY1M10sIFsxNjYzNzM5MzAwLjQ3MDM4OTgsIDQxOTQsIDEuMjk4NDc4MTI2NTI1ODc5XSwgWzE2NjM3MzkzMDAuNzEwNTQ0LCA0MjAzLCAxLjM5NTg2Mzg5MDY0Nzg4ODJdLCBbMTY2MzczOTMwMC44Nzg1MDI4LCA0MjIxLCAxLjI5Mjc3ODczMDM5MjQ1Nl0sIFsxNjYzNzM5MzAxLjA1Nzc4NSwgNDIzOSwgMS4zMTk3OTcwMzkwMzE5ODI0XSwgWzE2NjM3MzkzMDEuMTQwMjIyMywgNDI0OCwgMS4zNDM5NDkwNzk1MTM1NDk4XSwgWzE2NjM3MzkzMDEuMzkwNzY3LCA0Mjc1LCAxLjMxOTI5ODk4MjYyMDIzOTNdLCBbMTY2MzczOTMwMS40NjIyOTk4LCA0Mjg0LCAxLjI5Mzg3OTg2NjYwMDAzNjZdLCBbMTY2MzczOTMwMS43MDQ5MjU1LCA0MzExLCAxLjMxNTY4MjI5MTk4NDU1OF0sIFsxNjYzNzM5MzAxLjc5NDMzLCA0MzIwLCAxLjMwODcwNDQ5NTQyOTk5MjddLCBbMTY2MzczOTMwMS44NjczNzI1LCA0MzI5LCAxLjMxMTk1NDE0MDY2MzE0N10sIFsxNjYzNzM5MzAxLjk0OTAwODUsIDQzMzgsIDEuMzIyNjIwODY4NjgyODYxM10sIFsxNjYzNzM5MzAyLjAyNjM1ODYsIDQzNDcsIDEuMzAyMDA2MzYzODY4NzEzNF0sIFsxNjYzNzM5MzAyLjEwMjA5MDYsIDQzNTYsIDEuMzQ0NjIwOTQzMDY5NDU4XSwgWzE2NjM3MzkzMDIuMTcwNzMxOCwgNDM2NSwgMS4yOTMzMzgwNjAzNzkwMjgzXSwgWzE2NjM3MzkzMDIuMzE0MDcxLCA0MzgzLCAxLjM2MDcxNDkxMjQxNDU1MDhdLCBbMTY2MzczOTMwMi4zODIwNTEsIDQzOTIsIDEuMzAzNTUwNDgxNzk2MjY0Nl0sIFsxNjYzNzM5MzAyLjQ1NDI3MTYsIDQ0MDEsIDEuMjg1NDkzMjU0NjYxNTZdLCBbMTY2MzczOTMwMi41MzQwMTMzLCA0NDEwLCAxLjMyODQxNDU1OTM2NDMxODhdLCBbMTY2MzczOTMwMi42ODEzMzQ1LCA0NDI4LCAxLjMyODUwNjM1MDUxNzI3M10sIFsxNjYzNzM5MzAyLjg5MTAyMDUsIDQ0NTUsIDEuMjgyNDk5MTk0MTQ1MjAyNl0sIFsxNjYzNzM5MzAzLjA0OTc4MywgNDQ2NCwgMS4yNzkzODE1MTM1OTU1ODFdLCBbMTY2MzczOTMwMy40NzA1Mjg0LCA0NDkxLCAxLjMwNDkwMzc0NTY1MTI0NTFdLCBbMTY2MzczOTMwMy42OTQzMzEsIDQ1MTgsIDEuMjg3ODAyNjk2MjI4MDI3M10sIFsxNjYzNzM5MzAzLjc3MjM5MzcsIDQ1MjcsIDEuMjgxMjg3Nzg5MzQ0Nzg3Nl0sIFsxNjYzNzM5MzAzLjg1NTAxOTYsIDQ1MzYsIDEuMzYzNTg4MzMzMTI5ODgyOF0sIFsxNjYzNzM5MzA0LjA3Nzk4MzksIDQ1NjMsIDEuMzQ0MjE4MTM0ODgwMDY2XSwgWzE2NjM3MzkzMDQuMzUwNjY0MSwgNDU4MSwgMS4yNzU2MjM3OTgzNzAzNjEzXSwgWzE2NjM3MzkzMDQuNDYxNzA0LCA0NTkwLCAxLjM0NjQ2NzQ5NDk2NDU5OTZdLCBbMTY2MzczOTMwNC41NDg2NjUsIDQ1OTksIDEuMjg3MDU5MzA3MDk4Mzg4N10sIFsxNjYzNzM5MzA0LjY0MTE2MjYsIDQ2MDgsIDEuMjg1MTMzMjQyNjA3MTE2N10sIFsxNjYzNzM5MzA0Ljc0NDgyNDIsIDQ2MTcsIDEuMzEzMDg4NjU1NDcxODAxOF0sIFsxNjYzNzM5MzA0LjgzNTUxODQsIDQ2MjYsIDEuMzE0NDc2OTY2ODU3OTEwMl0sIFsxNjYzNzM5MzA0LjkxNjYyLCA0NjM1LCAxLjM1Mjg1ODc4MTgxNDU3NTJdLCBbMTY2MzczOTMwNS4wNTg1NTYsIDQ2NTMsIDEuMzc5OTQwMzkwNTg2ODUzXSwgWzE2NjM3MzkzMDUuMTI3ODc1MywgNDY2MiwgMS40NDUzODU4MTM3MTMwNzM3XSwgWzE2NjM3MzkzMDUuMjExNDQ1NiwgNDY3MSwgMS4zNjgxMDU2NDk5NDgxMjAxXSwgWzE2NjM3MzkzMDUuMjgxMzkyMywgNDY4MCwgMS4zOTQ0MzI3ODMxMjY4MzFdLCBbMTY2MzczOTMwNS40MDIwNTUzLCA0Njg5LCAxLjMxNDI3NzUyOTcxNjQ5MTddLCBbMTY2MzczOTMwNS40ODM2MzYsIDQ2OTgsIDEuMzA3NjgxMDgzNjc5MTk5Ml0sIFsxNjYzNzM5MzA1LjYxOTM5MTcsIDQ3MTYsIDEuMjcxMzczOTg3MTk3ODc2XSwgWzE2NjM3MzkzMDYuNDQ2NzM5LCA0Nzc5LCAxLjI1Mzc3MjQ5NzE3NzEyNF0sIFsxNjYzNzM5MzA2LjcxNDQxNiwgNDgwNiwgMS4yMzQzODUwMTM1ODAzMjIzXSwgWzE2NjM3MzkzMDYuNzg4MTE5OCwgNDgxNSwgMS4yOTI4ODM3NTM3NzY1NTAzXSwgWzE2NjM3MzkzMDYuODU4NjczLCA0ODI0LCAxLjI2Njg2NzYzNzYzNDI3NzNdLCBbMTY2MzczOTMwNi45NTI5MTIzLCA0ODMzLCAxLjI1MDc3NDI2NDMzNTYzMjNdLCBbMTY2MzczOTMwNy4wNDQwNTM4LCA0ODQyLCAxLjI2ODk3ODgzNDE1MjIyMTddLCBbMTY2MzczOTMwNy4xMjQ4ODEzLCA0ODUxLCAxLjI4MzkwOTA4MjQxMjcxOTddLCBbMTY2MzczOTMwNy4xOTI4MDk2LCA0ODYwLCAxLjI3MTY5NTczMzA3MDM3MzVdLCBbMTY2MzczOTMwNy4yNTgzMDk4LCA0ODY5LCAxLjI1NDE0MzIzODA2NzYyN10sIFsxNjYzNzM5MzA3LjMyOTQ0NzcsIDQ4NzgsIDEuMzE0NTgyMTA5NDUxMjk0XSwgWzE2NjM3MzkzMDcuMzkyOTM2MiwgNDg4NywgMS4yNjMyNjExOTg5OTc0OTc2XSwgWzE2NjM3MzkzMDcuNDYxODAyLCA0ODk2LCAxLjIzOTkzMDYyOTczMDIyNDZdLCBbMTY2MzczOTMwNy41MzgxOTMyLCA0OTA1LCAxLjI1MTQ3OTUwNjQ5MjYxNDddLCBbMTY2MzczOTMwNy43MDE2NDMyLCA0OTIzLCAxLjI2Mzg1MzE5MjMyOTQwNjddLCBbMTY2MzczOTMwNy43ODEwNjI0LCA0OTMyLCAxLjI1OTkyMzkzNDkzNjUyMzRdLCBbMTY2MzczOTMwOC4wMDM2NDk3LCA0OTU5LCAxLjI3MzA0MjkxNzI1MTU4N10sIFsxNjYzNzM5MzA4LjE4MDA3MzMsIDQ5NzcsIDEuMjc0MDY0NjYwMDcyMzI2N10sIFsxNjYzNzM5MzA4LjMyNzk0NzQsIDQ5OTUsIDEuMjk4ODg5NzU2MjAyNjk3OF0sIFsxNjYzNzM5MzA4LjQwNjgzMTMsIDUwMDQsIDEuMzEzNDQ3NTk0NjQyNjM5Ml0sIFsxNjYzNzM5MzA4LjQ4Mjg3LCA1MDEzLCAxLjI2OTEzOTc2NjY5MzExNTJdLCBbMTY2MzczOTMwOC45MzkzNjMsIDUwNjcsIDEuMjUzOTA2OTY1MjU1NzM3M10sIFsxNjYzNzM5MzA5LjAxODc1MiwgNTA3NiwgMS4yMzI0NTMxMDc4MzM4NjIzXSwgWzE2NjM3MzkzMDkuMTA5MjEyNiwgNTA4NSwgMS4yNjExNzcwNjI5ODgyODEyXSwgWzE2NjM3MzkzMDkuNDAyNjQxLCA1MTIxLCAxLjMxNTAxMTUwMTMxMjI1NTldLCBbMTY2MzczOTMwOS40Nzc1NzQzLCA1MTMwLCAxLjMwNDM4NDIzMTU2NzM4MjhdLCBbMTY2MzczOTMwOS42MjY0ODg3LCA1MTQ4LCAxLjMyNTc5OTgyMjgwNzMxMl0sIFsxNjYzNzM5MzA5Ljc4MDU3OTYsIDUxNjYsIDEuMzcyNTg2ODQ2MzUxNjIzNV0sIFsxNjYzNzM5MzEwLjAwNTA1MywgNTE5MywgMS4yNjg4MTY1OTAzMDkxNDNdLCBbMTY2MzczOTMxMC4zMDQ5MDAyLCA1MjI5LCAxLjI2NzE5ODkyMDI0OTkzOV0sIFsxNjYzNzM5MzEwLjU4Mzc0NCwgNTI2NSwgMS4yNDIzMzA1NTExNDc0NjFdLCBbMTY2MzczOTMxMC42NTIxNTEsIDUyNzQsIDEuMjQ0MTg5NTAwODA4NzE1OF0sIFsxNjYzNzM5MzEwLjcyMTk1OTQsIDUyODMsIDEuMjQ1NjY4NTMwNDY0MTcyNF0sIFsxNjYzNzM5MzEwLjg5NTkwODYsIDUzMDEsIDEuMjcwMzg0NTUwMDk0NjA0NV0sIFsxNjYzNzM5MzEwLjk4OTIwOCwgNTMxMCwgMS4yMzcwMTg4MjM2MjM2NTcyXSwgWzE2NjM3MzkzMTEuMDY3ODMxLCA1MzE5LCAxLjI1MDkxNDMzNTI1MDg1NDVdLCBbMTY2MzczOTMxMS4xNDQ1OTA2LCA1MzI4LCAxLjIyOTQwNTc2MDc2NTA3NTddLCBbMTY2MzczOTMxMS4yMjc5MTMxLCA1MzM3LCAxLjIzOTkxMzgyMTIyMDM5OF0sIFsxNjYzNzM5MzExLjM3MjIxOTgsIDUzNTUsIDEuMjM5MDc2Mzc1OTYxMzAzN10sIFsxNjYzNzM5MzExLjU0MzkyODEsIDUzNzMsIDEuMjA4NzgzMjY4OTI4NTI3OF0sIFsxNjYzNzM5MzExLjYyMDU0NywgNTM4MiwgMS4yNjAyMDA3Mzg5MDY4NjA0XSwgWzE2NjM3MzkzMTEuNjkzMTM3NiwgNTM5MSwgMS4yMTM5NzM3NjA2MDQ4NTg0XSwgWzE2NjM3MzkzMTEuNzY2NDY4NSwgNTQwMCwgMS4yNTQ2Nzc2NTMzMTI2ODNdLCBbMTY2MzczOTMxMS45MTg1MTE0LCA1NDE4LCAxLjIwOTA0NjYwMjI0OTE0NTVdLCBbMTY2MzczOTMxMS45OTcwMDcsIDU0MjcsIDEuMjUyOTE0NjY3MTI5NTE2Nl0sIFsxNjYzNzM5MzEyLjEwMjA5NiwgNTQzNiwgMS4yMzk3Mzg3MDI3NzQwNDc5XSwgWzE2NjM3MzkzMTIuMjU5OTM0LCA1NDU0LCAxLjI3NTM5NDc5NzMyNTEzNDNdLCBbMTY2MzczOTMxMi40ODM4OTcsIDU0ODEsIDEuMjIzOTAwNDM3MzU1MDQxNV0sIFsxNjYzNzM5MzEyLjYyOTc4MjcsIDU0OTksIDEuMjI3OTk3Nzc5ODQ2MTkxNF0sIFsxNjYzNzM5MzEzLjA1NDk5MjQsIDU1MjYsIDEuMjI0OTMzMDI4MjIxMTMwNF0sIFsxNjYzNzM5MzEzLjEyNzM1NDQsIDU1MzUsIDEuMjI4NDc2NjQzNTYyMzE3XSwgWzE2NjM3MzkzMTMuMjkxNzYxMiwgNTU1MywgMS4yNTg4MDcxODIzMTIwMTE3XSwgWzE2NjM3MzkzMTMuMzY5OTk2NSwgNTU2MiwgMS4yOTU0NDg2NjA4NTA1MjVdLCBbMTY2MzczOTMxMy40NjUxODA5LCA1NTcxLCAxLjIyNzU1MzQ4NjgyNDAzNTZdLCBbMTY2MzczOTMxMy42NDM2MDYsIDU1ODksIDEuMjE3NDEzNjYzODY0MTM1N10sIFsxNjYzNzM5MzEzLjc4MTA0MTksIDU2MDcsIDEuMjE4MTYzMDEzNDU4MjUyXSwgWzE2NjM3MzkzMTMuODUxNjk0NiwgNTYxNiwgMS4yMDc5MzUwOTQ4MzMzNzRdLCBbMTY2MzczOTMxNC4wNjQ2NDQ4LCA1NjQzLCAxLjI2ODcyNzMwMjU1MTI2OTVdLCBbMTY2MzczOTMxNC4xNTI1NDUyLCA1NjUyLCAxLjIwMjkxMTczNDU4MDk5MzddLCBbMTY2MzczOTMxNC4yMjM2ODYsIDU2NjEsIDEuMjE2OTY5NDkwMDUxMjY5NV0sIFsxNjYzNzM5MzE0LjMwNjU3NDYsIDU2NzAsIDEuMjM3NzkzODAzMjE1MDI2OV0sIFsxNjYzNzM5MzE0LjYxNTM2MiwgNTcwNiwgMS4yNDcyOTc3NjM4MjQ0NjNdLCBbMTY2MzczOTMxNC42OTQ4NDk3LCA1NzE1LCAxLjIwMzI2NDQ3NDg2ODc3NDRdLCBbMTY2MzczOTMxNC43Njg3MzQ1LCA1NzI0LCAxLjIxMTA2MzYyMzQyODM0NDddLCBbMTY2MzczOTMxNC45NDg3NDk1LCA1NzQyLCAxLjMwMTMzMDA4OTU2OTA5MThdLCBbMTY2MzczOTMxNS4yMjU5NDMsIDU3NjksIDEuMjUyNjUxMzMzODA4ODk5XSwgWzE2NjM3MzkzMTUuMzI1OTM2OCwgNTc3OCwgMS4yNDg0NjU3NzY0NDM0ODE0XSwgWzE2NjM3MzkzMTUuNDA3Mjc5MywgNTc4NywgMS4yMDEyNTI1Nzk2ODkwMjU5XSwgWzE2NjM3MzkzMTUuNDk2MDk4NSwgNTc5NiwgMS4yMTkzNjQ2NDMwOTY5MjM4XSwgWzE2NjM3MzkzMTUuNTc5NDE5NiwgNTgwNSwgMS4yMTI4MDM4NDA2MzcyMDddLCBbMTY2MzczOTMxNS42OTAxNzIsIDU4MTQsIDEuMjU3ODAxODkwMzczMjNdLCBbMTY2MzczOTMxNS45OTg3MDI1LCA1ODUwLCAxLjIxMzE5MjU4MjEzMDQzMjFdLCBbMTY2MzczOTMxNi4xNTAxNjA2LCA1ODY4LCAxLjI2NTI3MzU3MTAxNDQwNDNdLCBbMTY2MzczOTMxNi4yMzEzOTIxLCA1ODc3LCAxLjIwOTIwNzI5NjM3MTQ2XSwgWzE2NjM3MzkzMTYuMzI3NjU2MywgNTg4NiwgMS4yMzgxMjc0NzAwMTY0Nzk1XSwgWzE2NjM3MzkzMTYuNDA2NTEsIDU4OTUsIDEuMjE1Njk5NjcyNjk4OTc0Nl0sIFsxNjYzNzM5MzE2LjQ3OTc5OSwgNTkwNCwgMS4yMDM0OTk0MzYzNzg0NzldLCBbMTY2MzczOTMxNi42OTMwNTg1LCA1OTMxLCAxLjI0NzE5NzE1MTE4NDA4Ml0sIFsxNjYzNzM5MzE2Ljc2NDI5LCA1OTQwLCAxLjIyNzc4NDI3NjAwODYwNl0sIFsxNjYzNzM5MzE2LjgzMDE5NjEsIDU5NDksIDEuMjIwNTEwMzYzNTc4Nzk2NF0sIFsxNjYzNzM5MzE3LjM2NDUyNjUsIDYwMTIsIDEuMjg0NjYyOTYxOTU5ODM4OV0sIFsxNjYzNzM5MzE3LjU5NTI3MTMsIDYwMzksIDEuMTk1NDAyOTc5ODUwNzY5XSwgWzE2NjM3MzkzMTcuOTYxMzA1NiwgNjA4NCwgMS4yMDg4NTEwOTkwMTQyODIyXSwgWzE2NjM3MzkzMTguMDM1MzI3NCwgNjA5MywgMS4yODA1Mjk0OTkwNTM5NTVdLCBbMTY2MzczOTMxOC4xMDU1Mjk1LCA2MTAyLCAxLjI3MTIwNTkwMjA5OTYwOTRdLCBbMTY2MzczOTMxOC4zNDk3NTE3LCA2MTI5LCAxLjIwMDEyNDc0MDYwMDU4Nl0sIFsxNjYzNzM5MzE4Ljc4NjA0ODIsIDYxNDcsIDEuMjUxNjAwMTQ2MjkzNjQwMV0sIFsxNjYzNzM5MzE4LjkxNjExLCA2MTU2LCAxLjI1MDQ5Njk4MzUyODEzNzJdLCBbMTY2MzczOTMxOC45OTAyMjc1LCA2MTY1LCAxLjE4NjM0NjY1MDEyMzU5NjJdLCBbMTY2MzczOTMxOS4wNzAwNzEsIDYxNzQsIDEuMjI1MzQ3MDQyMDgzNzQwMl0sIFsxNjYzNzM5MzE5LjI1NjUyMTcsIDYxOTIsIDEuMTg4OTQ3NDM5MTkzNzI1Nl0sIFsxNjYzNzM5MzE5LjM4NDEwMzgsIDYyMDEsIDEuMTkyNjYzNzg4Nzk1NDcxMl0sIFsxNjYzNzM5MzE5LjY5OTQxNDMsIDYyMzcsIDEuMjA5OTUxNDAwNzU2ODM2XSwgWzE2NjM3MzkzMTkuNzgwMTYxNiwgNjI0NiwgMS4yMTgwNDAzNDcwOTkzMDQyXSwgWzE2NjM3MzkzMTkuODU1NDQ1MSwgNjI1NSwgMS4xNzQ2MzA0MDM1MTg2NzY4XSwgWzE2NjM3MzkzMTkuOTM0MjI2LCA2MjY0LCAxLjI2MDM4NDc5ODA0OTkyNjhdLCBbMTY2MzczOTMyMC4xODYxNjg3LCA2MjczLCAxLjIxMzY1Nzk3NTE5NjgzODRdLCBbMTY2MzczOTMyMC4yNjY1OTU2LCA2MjgyLCAxLjIwNjY5MjIxODc4MDUxNzZdLCBbMTY2MzczOTMyMC40NjQwNDg5LCA2MzAwLCAxLjIyNzY1OTEwNjI1NDU3NzZdLCBbMTY2MzczOTMyMC43MjA2MjI1LCA2MzI3LCAxLjI0MDEzMTI1ODk2NDUzODZdLCBbMTY2MzczOTMyMC44MDA5MzA3LCA2MzM2LCAxLjE5Mjk1NDA2MzQxNTUyNzNdLCBbMTY2MzczOTMyMC45NTk3Mjg3LCA2MzU0LCAxLjE4MjA1MzkyMzYwNjg3MjZdLCBbMTY2MzczOTMyMS4yNjkxMzk4LCA2MzkwLCAxLjIxMDA3NzE2NjU1NzMxMl0sIFsxNjYzNzM5MzIxLjMzNjk0ODYsIDYzOTksIDEuMjIyNDIyMDAzNzQ2MDMyN10sIFsxNjYzNzM5MzIxLjU0ODM5MTMsIDY0MTcsIDEuMjAyNjA5ODk2NjU5ODUxXSwgWzE2NjM3MzkzMjEuNzY1NDA2LCA2NDQ0LCAxLjE5NTQ2NTIwNzA5OTkxNDZdLCBbMTY2MzczOTMyMS45MTQxMzQsIDY0NjIsIDEuMTk1NzE2MzgxMDcyOTk4XSwgWzE2NjM3MzkzMjIuMDYxOTEyLCA2NDgwLCAxLjIxNzk1NDk5MzI0Nzk4NThdLCBbMTY2MzczOTMyMi4xNDA1OTQyLCA2NDg5LCAxLjI0NDM2MTE2MjE4NTY2OV0sIFsxNjYzNzM5MzIyLjIxMTgwMzIsIDY0OTgsIDEuMjExMDU4MDIwNTkxNzM1OF0sIFsxNjYzNzM5MzIyLjM0ODE4NywgNjUxNiwgMS4yNjk5MzExOTcxNjY0NDI5XSwgWzE2NjM3MzkzMjIuNDIxOTE3LCA2NTI1LCAxLjI1MzQ0NDE5NDc5MzcwMTJdLCBbMTY2MzczOTMyMi40OTI1NzU0LCA2NTM0LCAxLjIxNzk4NDkxNDc3OTY2M10sIFsxNjYzNzM5MzIyLjU2MDc3NzIsIDY1NDMsIDEuMjEwMzE2MTgxMTgyODYxM10sIFsxNjYzNzM5MzIyLjYyNzY1MSwgNjU1MiwgMS4yMzM3OTgwMjcwMzg1NzQyXSwgWzE2NjM3MzkzMjIuNzAzODA1NCwgNjU2MSwgMS4yNDAwMzM3NDU3NjU2ODZdLCBbMTY2MzczOTMyMi43Njg5NTg2LCA2NTcwLCAxLjI0Mzg4MzEzMjkzNDU3MDNdLCBbMTY2MzczOTMyMi45MTIxNzI2LCA2NTg4LCAxLjIwNzAxNjk0NDg4NTI1NF0sIFsxNjYzNzM5MzIyLjk4MDM0ODYsIDY1OTcsIDEuMjAwMjM2MjAxMjg2MzE2XSwgWzE2NjM3MzkzMjMuMDUwNDQ3LCA2NjA2LCAxLjI1MDg4MTE5NTA2ODM1OTRdLCBbMTY2MzczOTMyMy40Njg4MzU2LCA2NjUxLCAxLjE5ODk5Nzg1NTE4NjQ2MjRdLCBbMTY2MzczOTMyMy41NDU5NzksIDY2NjAsIDEuMjA5ODA3NzUzNTYyOTI3Ml0sIFsxNjYzNzM5MzIzLjYyMzc0NSwgNjY2OSwgMS4yMTI2NTU1NDQyODEwMDU5XSwgWzE2NjM3MzkzMjMuNzYxMDc2LCA2Njg3LCAxLjIyMjc3NzM2NjYzODE4MzZdLCBbMTY2MzczOTMyMy44MzQ4MzM0LCA2Njk2LCAxLjI0NjM2OTI0MjY2ODE1MTldLCBbMTY2MzczOTMyMy45MTQ3Mjc0LCA2NzA1LCAxLjI2NDY0MzY2OTEyODQxOF0sIFsxNjYzNzM5MzIzLjk5MDk0NiwgNjcxNCwgMS4xNzY5ODk5MTI5ODY3NTU0XSwgWzE2NjM3MzkzMjQuNTE1MDc1NCwgNjc3NywgMS4yMTMyMTk3NjE4NDg0NDk3XSwgWzE2NjM3MzkzMjQuNzQ5MTI3OSwgNjgwNCwgMS4xNzY3OTQxNzEzMzMzMTNdLCBbMTY2MzczOTMyNC44MzkxOTUzLCA2ODEzLCAxLjE1NzEyNzQ5OTU4MDM4MzNdLCBbMTY2MzczOTMyNS4xNjA1NDczLCA2ODMxLCAxLjE4OTE5Mzk2NDAwNDUxNjZdLCBbMTY2MzczOTMyNS41MjM3NDM2LCA2ODc2LCAxLjE4MTYzOTA3NTI3OTIzNThdLCBbMTY2MzczOTMyNS41OTIzNjc0LCA2ODg1LCAxLjE5MTAwNjQyMjA0Mjg0NjddLCBbMTY2MzczOTMyNS42NjQ4NzAzLCA2ODk0LCAxLjE4NTQ4MTE5MDY4MTQ1NzVdLCBbMTY2MzczOTMyNS44MDA5NzQ4LCA2OTEyLCAxLjE3NDU2ODUzMzg5NzRdLCBbMTY2MzczOTMyNS44ODEyOTM4LCA2OTIxLCAxLjE4NjA2OTcyNjk0Mzk2OTddLCBbMTY2MzczOTMyNi4wNzgwMzY4LCA2OTMwLCAxLjE5MzgxNTQ2OTc0MTgyMTNdLCBbMTY2MzczOTMyNi4xNzU4ODcsIDY5MzksIDEuMTgwNjQ4Njg0NTAxNjQ4XSwgWzE2NjM3MzkzMjYuMjU1NTQ1NiwgNjk0OCwgMS4yMzAzMTcyMzQ5OTI5ODFdLCBbMTY2MzczOTMyNi4zMjgwMTQ0LCA2OTU3LCAxLjI1MTc5OTM0NTAxNjQ3OTVdLCBbMTY2MzczOTMyNi4zOTY2NzE1LCA2OTY2LCAxLjE2MzU5MjIxOTM1MjcyMjJdLCBbMTY2MzczOTMyNi41NTU5MjMyLCA2OTg0LCAxLjE4NTEyNjQyMzgzNTc1NDRdLCBbMTY2MzczOTMyNi42NDAyNzIxLCA2OTkzLCAxLjIxNTU4MTc3NDcxMTYwODldLCBbMTY2MzczOTMyNi44NTUzMTY2LCA3MDExLCAxLjIxNTgzNDczNjgyNDAzNTZdLCBbMTY2MzczOTMyNi45NTAwMjM0LCA3MDIwLCAxLjE2NDIwNjUwNDgyMTc3NzNdLCBbMTY2MzczOTMyNy4wNDI5NjQyLCA3MDI5LCAxLjE0NjMzMjYyMTU3NDQwMTldLCBbMTY2MzczOTMyNy4zMTQxODA5LCA3MDM4LCAxLjE3NTI5MzIwNzE2ODU3OV0sIFsxNjYzNzM5MzI3LjM4ODM2MzgsIDcwNDcsIDEuMTcyOTgxMDIzNzg4NDUyMV0sIFsxNjYzNzM5MzI3LjQ2NDExNzUsIDcwNTYsIDEuMjExODI3ODc0MTgzNjU0OF0sIFsxNjYzNzM5MzI3LjY4MDc2MTMsIDcwODMsIDEuMTkxODM4MTQ1MjU2MDQyNV0sIFsxNjYzNzM5MzI3LjgyMzE5MjEsIDcxMDEsIDEuMjE3NjQzNDk5Mzc0Mzg5Nl0sIFsxNjYzNzM5MzI3LjkwOTMxNywgNzExMCwgMS4yMzQ4ODEyODE4NTI3MjIyXSwgWzE2NjM3MzkzMjguMDYzNjg0NSwgNzEyOCwgMS4yMTQ2NDIyODYzMDA2NTkyXSwgWzE2NjM3MzkzMjguMjA1NjQyNywgNzE0NiwgMS4yNjM2MzA4NjcwMDQzOTQ1XSwgWzE2NjM3MzkzMjguMzY5NTM3NCwgNzE2NCwgMS4yMjYyMjA4NDYxNzYxNDc1XSwgWzE2NjM3MzkzMjguNDQ2NzcxLCA3MTczLCAxLjIwODE4NjAzMDM4Nzg3ODRdLCBbMTY2MzczOTMyOC41MjkxMjY2LCA3MTgyLCAxLjIyMTI2MDE5MDAxMDA3MDhdLCBbMTY2MzczOTMyOC42NzE3NzU2LCA3MjAwLCAxLjIwMTY2MTQ2NzU1MjE4NV0sIFsxNjYzNzM5MzI4Ljc0MzI5NjksIDcyMDksIDEuMjI3OTA5ODAzMzkwNTAzXSwgWzE2NjM3MzkzMjkuMDMzMjc0NCwgNzI0NSwgMS4yMzIyMjEwMDczNDcxMDddLCBbMTY2MzczOTMyOS4xMDM1NjI4LCA3MjU0LCAxLjIwMDQ4NDk5MTA3MzYwODRdLCBbMTY2MzczOTMyOS4xNzg1MTEsIDcyNjMsIDEuMTcxNzgzODA0ODkzNDkzN10sIFsxNjYzNzM5MzI5LjI0MjE5MTgsIDcyNzIsIDEuMTg5MzQxNTQ1MTA0OTgwNV0sIFsxNjYzNzM5MzI5LjQ1MzcyMSwgNzI5OSwgMS4xOTg3MTI1ODczNTY1Njc0XSwgWzE2NjM3MzkzMjkuNTI1NjU1MywgNzMwOCwgMS4yMzE3NDY2NzM1ODM5ODQ0XSwgWzE2NjM3MzkzMjkuNjczMDI3OCwgNzMyNiwgMS4xNjU4NTI5MDQzMTk3NjMyXSwgWzE2NjM3MzkzMzAuMDcyOTgzNywgNzM3MSwgMS4xNTk4MDcwODU5OTA5MDU4XSwgWzE2NjM3MzkzMzAuMTQ0ODk1LCA3MzgwLCAxLjE4OTk1NzAyMjY2NjkzMTJdLCBbMTY2MzczOTMzMC4yODgzMTgyLCA3Mzk4LCAxLjE1OTE1NTcyNjQzMjgwMDNdLCBbMTY2MzczOTMzMC4zNjI3OTc3LCA3NDA3LCAxLjE5NzAwNTM5MTEyMDkxMDZdLCBbMTY2MzczOTMzMC40MzM4ODM3LCA3NDE2LCAxLjE4NzU5Njc5Nzk0MzExNTJdLCBbMTY2MzczOTMzMC41ODY3ODc3LCA3NDM0LCAxLjI3MTI4MDE2OTQ4Njk5OTVdLCBbMTY2MzczOTMzMC42NTk5MDgzLCA3NDQzLCAxLjI0NjU2OTI3NTg1NjAxOF0sIFsxNjYzNzM5MzMwLjczNTE2NywgNzQ1MiwgMS4xOTU5MjcwMjM4ODc2MzQzXSwgWzE2NjM3MzkzMzAuODE1NjYyLCA3NDYxLCAxLjI2ODcwNTYwNjQ2MDU3MTNdLCBbMTY2MzczOTMzMC45NzI1MDMsIDc0NzksIDEuMTcxOTc2Njg1NTIzOTg2OF0sIFsxNjYzNzM5MzMxLjEzNTgxNDIsIDc0OTcsIDEuMjIyNTExODg3NTUwMzU0XSwgWzE2NjM3MzkzMzEuMjA4MDc3NCwgNzUwNiwgMS4xNzk0ODYxNTU1MDk5NDg3XSwgWzE2NjM3MzkzMzEuNDg2MTYwOCwgNzUyNCwgMS4xNzkyMTQ5NTQzNzYyMjA3XSwgWzE2NjM3MzkzMzEuNTc2NTY3LCA3NTMzLCAxLjE1NDk5MDA3NzAxODczNzhdLCBbMTY2MzczOTMzMS44MDQwNzcxLCA3NTQyLCAxLjE2MzUyMjEyNDI5MDQ2NjNdLCBbMTY2MzczOTMzMi4wMTM1NzIsIDc1NjAsIDEuMTcyMDQ3MjU3NDIzNDAwOV0sIFsxNjYzNzM5MzMyLjE2Njc2NzgsIDc1NjksIDEuMTcyNzQ0NjMxNzY3MjczXSwgWzE2NjM3MzkzMzIuMzgxOTUzLCA3NTg3LCAxLjE3MjkwMjEwNzIzODc2OTVdLCBbMTY2MzczOTMzMi40OTY5ODM1LCA3NTk2LCAxLjE5MjY3MTQxODE5MDAwMjRdLCBbMTY2MzczOTMzMi42NjMxNTUzLCA3NjE0LCAxLjE3ODUxMDY2NTg5MzU1NDddLCBbMTY2MzczOTMzMy4wMDA1NTU4LCA3NjU5LCAxLjE4Mzc3Njg1NTQ2ODc1XSwgWzE2NjM3MzkzMzMuMDY5NTI4MywgNzY2OCwgMS4xNDcxNzc0NTc4MDk0NDgyXSwgWzE2NjM3MzkzMzMuMzQ1NjMyOCwgNzY5NSwgMS4yMDUwMjYxNDk3NDk3NTU5XSwgWzE2NjM3MzkzMzMuNTQ5MjMyNSwgNzcxMywgMS4xODY5MjQ4MTUxNzc5MTc1XSwgWzE2NjM3MzkzMzMuNjMyMTExMywgNzcyMiwgMS4xNzUyMTgyMjQ1MjU0NTE3XSwgWzE2NjM3MzkzMzMuODQxMjIyOCwgNzc0OSwgMS4xODkzNjE0NTMwNTYzMzU0XSwgWzE2NjM3MzkzMzMuOTExMjIzLCA3NzU4LCAxLjE4Njk2Nzg0OTczMTQ0NTNdLCBbMTY2MzczOTMzMy45OTI4NzQ5LCA3NzY3LCAxLjE3MjQ4Mjk2NzM3NjcwOV0sIFsxNjYzNzM5MzM0LjIzNjYxNzgsIDc3OTQsIDEuMTcxMTgzOTQzNzQ4NDc0MV0sIFsxNjYzNzM5MzM0LjMyNTY4NjcsIDc4MDMsIDEuMjAxMzk3Mjk5NzY2NTQwNV0sIFsxNjYzNzM5MzM0LjgyNTkyMSwgNzgzOSwgMS4xNDY0Njk1OTMwNDgwOTU3XSwgWzE2NjM3MzkzMzQuOTA4MzgwNywgNzg0OCwgMS4yMTI1MjQ3NzE2OTAzNjg3XSwgWzE2NjM3MzkzMzUuNjQyODAzMiwgNzkzOCwgMS4xOTMxNDQ3OTgyNzg4MDg2XSwgWzE2NjM3MzkzMzUuNzc2NTQ2MiwgNzk1NiwgMS4xNTIzNDgwNDE1MzQ0MjM4XSwgWzE2NjM3MzkzMzUuODQ4MzI1LCA3OTY1LCAxLjE0MDMzOTM3NDU0MjIzNjNdLCBbMTY2MzczOTMzNS45MjA3MDIyLCA3OTc0LCAxLjE1MDQ2MjUwODIwMTU5OTFdLCBbMTY2MzczOTMzNS45ODUwODgsIDc5ODMsIDEuMTc2MDA2MDc4NzIwMDkyOF0sIFsxNjYzNzM5MzM2LjA1MzAzOSwgNzk5MiwgMS4xNDYyMDgyODYyODU0MDA0XSwgWzE2NjM3MzkzMzYuMTE5Mjc2OCwgODAwMSwgMS4xNjA4MjM5NDEyMzA3NzRdLCBbMTY2MzczOTMzNi4yODAwNDc0LCA4MDE5LCAxLjE2MDUwOTIyODcwNjM1OTldLCBbMTY2MzczOTMzNi40Mjc2NTc4LCA4MDM3LCAxLjE3MDg5NDUwMzU5MzQ0NDhdLCBbMTY2MzczOTMzNi42NTIxMjQ2LCA4MDY0LCAxLjE1Mjk4MTE2MjA3MTIyOF0sIFsxNjYzNzM5MzM2Ljc5NzM3OSwgODA4MiwgMS4xNjk4NjU3Mjc0MjQ2MjE2XSwgWzE2NjM3MzkzMzYuODY4NDA3NSwgODA5MSwgMS4xMzk1ODUzNzU3ODU4Mjc2XSwgWzE2NjM3MzkzMzcuMTA4MTMwNSwgODExOCwgMS4yMDMzOTczOTMyMjY2MjM1XSwgWzE2NjM3MzkzMzcuMTg1MTk4MywgODEyNywgMS4xODMwMDA1NjQ1NzUxOTUzXSwgWzE2NjM3MzkzMzcuMzM3MDA1MSwgODE0NSwgMS4xMzg0Njk5MzQ0NjM1MDFdLCBbMTY2MzczOTMzNy42NDAxMTQsIDgxNjMsIDEuMTUzMjIwMDU3NDg3NDg3OF0sIFsxNjYzNzM5MzM3Ljc0MDUyMSwgODE3MiwgMS4xNjQxNTE2Njg1NDg1ODRdLCBbMTY2MzczOTMzNy44MzI5NjQ0LCA4MTgxLCAxLjIwMzAyNjE3NTQ5ODk2MjRdLCBbMTY2MzczOTMzOC4wMjY1MzcsIDgxOTksIDEuMTg0ODA5Njg0NzUzNDE4XSwgWzE2NjM3MzkzMzguMTE0MTAwMiwgODIwOCwgMS4xNTc4MjEyOTc2NDU1Njg4XSwgWzE2NjM3MzkzMzguMzAxMDk1NSwgODIyNiwgMS4xODUwNDI5NzczMzMwNjg4XSwgWzE2NjM3MzkzMzguNDAzNTY4MywgODIzNSwgMS4xODQ1ODM0MjU1MjE4NTA2XSwgWzE2NjM3MzkzMzguNTg5NjMzNywgODI1MywgMS4yMDUzNTYxMjEwNjMyMzI0XSwgWzE2NjM3MzkzMzguNjczODU5MSwgODI2MiwgMS4xNjU2MTE3NDM5MjcwMDJdLCBbMTY2MzczOTMzOC43NTQ4MTIsIDgyNzEsIDEuMjA2NTUyODYzMTIxMDMyN10sIFsxNjYzNzM5MzM4Ljg2MzQzMywgODI4MCwgMS4xNjg4MTE1NTk2NzcxMjRdLCBbMTY2MzczOTMzOC45NTYxOTIzLCA4Mjg5LCAxLjE4NDA4ODQ2ODU1MTYzNTddLCBbMTY2MzczOTMzOS4wNDE3MTUsIDgyOTgsIDEuMTg4Mzk3Mjg4MzIyNDQ4N10sIFsxNjYzNzM5MzM5LjIwOTgyODYsIDgzMTYsIDEuMTU1MzYwNTc5NDkwNjYxNl0sIFsxNjYzNzM5MzM5LjUyMzA2MzcsIDgzNTIsIDEuMTQ0ODExMjcyNjIxMTU0OF0sIFsxNjYzNzM5MzM5LjYwMDM2MjgsIDgzNjEsIDEuMTg1NjkwOTk5MDMxMDY3XSwgWzE2NjM3MzkzMzkuNzA1ODYzMiwgODM3MCwgMS4xNjU0MzA3ODQyMjU0NjM5XSwgWzE2NjM3MzkzMzkuNzk1NDk4LCA4Mzc5LCAxLjE0NDM5MzA4NjQzMzQxMDZdLCBbMTY2MzczOTMzOS45MDcxMDAyLCA4Mzg4LCAxLjE3MTE4MzIyODQ5MjczNjhdLCBbMTY2MzczOTM0MC4wMDI2MTEyLCA4Mzk3LCAxLjE4MDQ5ODgzODQyNDY4MjZdLCBbMTY2MzczOTM0MC4wODk4NzcsIDg0MDYsIDEuMTg1MjE5NjQ1NTAwMTgzXSwgWzE2NjM3MzkzNDAuMTY0MTM3OCwgODQxNSwgMS4xOTM2MDEzNjk4NTc3ODhdLCBbMTY2MzczOTM0MC4yNDk5ODAyLCA4NDI0LCAxLjE5OTM5NzQ0NDcyNTAzNjZdLCBbMTY2MzczOTM0MC41OTg4NzQ2LCA4NDYwLCAxLjIxNzQxNTQ1MjAwMzQ3OV0sIFsxNjYzNzM5MzQwLjgxOTI4MjgsIDg0NzgsIDEuMjY5ODUwNjExNjg2NzA2NV0sIFsxNjYzNzM5MzQwLjg4NjY4NDIsIDg0ODcsIDEuMjg4NDcwNTA2NjY4MDkwOF0sIFsxNjYzNzM5MzQxLjEwODMwNDcsIDg1MTQsIDEuMTU4NjQ5MzI1MzcwNzg4Nl0sIFsxNjYzNzM5MzQxLjM4NDA1NTYsIDg1NTAsIDEuMTgwODMyOTgyMDYzMjkzNV0sIFsxNjYzNzM5MzQxLjQ1MjQ4MzQsIDg1NTksIDEuMTc0MjUyMzkwODYxNTExMl0sIFsxNjYzNzM5MzQxLjgzNjc1OCwgODU3NywgMS4xNzEwMzAyODI5NzQyNDMyXSwgWzE2NjM3MzkzNDIuMDExMjE5NywgODU5NSwgMS4xNTMzMjA5MDg1NDY0NDc4XSwgWzE2NjM3MzkzNDIuMDkxNTY5NCwgODYwNCwgMS4yMDI4MzQwMTAxMjQyMDY1XSwgWzE2NjM3MzkzNDIuMTY2MjM4NSwgODYxMywgMS4xNTcxMTY2NTE1MzUwMzQyXSwgWzE2NjM3MzkzNDIuMzkyNDEwNSwgODY0MCwgMS4yNDczNDI0NjczMDgwNDQ0XSwgWzE2NjM3MzkzNDIuNDYyMzY5MiwgODY0OSwgMS4yMDQ0MTk3MzIwOTM4MTFdLCBbMTY2MzczOTM0Mi41MzQzOTEsIDg2NTgsIDEuMTQ0Mjg5Mzc0MzUxNTAxNV0sIFsxNjYzNzM5MzQyLjYwMjUyOTUsIDg2NjcsIDEuMTg0MDYxMTY5NjI0MzI4Nl0sIFsxNjYzNzM5MzQyLjY5NjU4NjYsIDg2NzYsIDEuMjQ1NzMzODU3MTU0ODQ2Ml0sIFsxNjYzNzM5MzQyLjc3MDM2MzgsIDg2ODUsIDEuMTQyNDk1ODcwNTkwMjFdLCBbMTY2MzczOTM0Mi44NDUxMTkyLCA4Njk0LCAxLjEzNjI1MjE2NDg0MDY5ODJdLCBbMTY2MzczOTM0Mi45OTExMDg3LCA4NzEyLCAxLjIxMDc2MDgzMTgzMjg4NTddLCBbMTY2MzczOTM0My4wNjg4NzUzLCA4NzIxLCAxLjE3MzM4NTczOTMyNjQ3N10sIFsxNjYzNzM5MzQzLjMwNDI1OCwgODc0OCwgMS4xMjE2NjM1NzA0MDQwNTI3XSwgWzE2NjM3MzkzNDMuNjg0NTM0OCwgODc5MywgMS4xNzM1NzY3MTI2MDgzMzc0XSwgWzE2NjM3MzkzNDMuODMyMDYzNCwgODgxMSwgMS4xNTU2MDE5NzgzMDIwMDJdLCBbMTY2MzczOTM0My45MDI4MjE4LCA4ODIwLCAxLjE1ODI3MDcxNjY2NzE3NTNdLCBbMTY2MzczOTM0NC4xMjI3OTc1LCA4ODM4LCAxLjIxOTYwNTQ0NTg2MTgxNjRdLCBbMTY2MzczOTM0NC4yMjE5ODcsIDg4NDcsIDEuMTg5NTcxMzgwNjE1MjM0NF0sIFsxNjYzNzM5MzQ0LjI5NjIxNjIsIDg4NTYsIDEuMTg0NjI3NDEzNzQ5Njk0OF0sIFsxNjYzNzM5MzQ0LjUzMTEwOTMsIDg4ODMsIDEuMjA2MDkzNTQ5NzI4MzkzNl0sIFsxNjYzNzM5MzQ0LjYwOTQxMzQsIDg4OTIsIDEuMTc5NDEzNDM3ODQzMzIyOF0sIFsxNjYzNzM5MzQ0Ljc2OTk3MzgsIDg5MDEsIDEuMTc0MzQ0NjU4ODUxNjIzNV0sIFsxNjYzNzM5MzQ0Ljg4MTcxMywgODkxMCwgMS4xNDkwNDAxMDI5NTg2NzkyXSwgWzE2NjM3MzkzNDQuOTU5NjcxMywgODkxOSwgMS4xMjk1Nzk3ODI0ODU5NjJdLCBbMTY2MzczOTM0NS4xMTQ0OTkzLCA4OTM3LCAxLjEzMzY5MDM1NzIwODI1Ml0sIFsxNjYzNzM5MzQ1LjI1OTQwNzUsIDg5NTUsIDEuMTY2MzgxMjM5ODkxMDUyMl0sIFsxNjYzNzM5MzQ1LjMzMDIxMTYsIDg5NjQsIDEuMTkwMjA2NjQ2OTE5MjUwNV0sIFsxNjYzNzM5MzQ1LjQwMTU5LCA4OTczLCAxLjE3ODU2NDE5MDg2NDU2M10sIFsxNjYzNzM5MzQ1LjU1MTk0MjYsIDg5OTEsIDEuMTQzNjAxODk0Mzc4NjYyXSwgWzE2NjM3MzkzNDUuNjI1NTg2LCA5MDAwLCAxLjExOTY0MzQ0OTc4MzMyNTJdLCBbMTY2MzczOTM0NS43NzQ2OTczLCA5MDE4LCAxLjE3ODI3MDkzNjAxMjI2OF0sIFsxNjYzNzM5MzQ1Ljg2MzU4NDMsIDkwMjcsIDEuMTI2ODU0MDYyMDgwMzgzM10sIFsxNjYzNzM5MzQ1Ljk0NDM2MywgOTAzNiwgMS4xODAyNzE4NjM5MzczNzhdLCBbMTY2MzczOTM0Ni4wOTMwMTkyLCA5MDQ1LCAxLjIxNTYwODM1ODM4MzE3ODddLCBbMTY2MzczOTM0Ni4yMjU1NTExLCA5MDU0LCAxLjE4MTU0OTY2ODMxMjA3MjhdLCBbMTY2MzczOTM0Ni4zMDE3MjA5LCA5MDYzLCAxLjIzMTg5NzExNTcwNzM5NzVdLCBbMTY2MzczOTM0Ni43NjUxMTQ1LCA5MTA4LCAxLjE1MjIyMDI0OTE3NjAyNTRdLCBbMTY2MzczOTM0Ni45NTIxMTgsIDkxMjYsIDEuMjAyMjIyMjI4MDUwMjMyXSwgWzE2NjM3MzkzNDcuMTM0NTgxMywgOTE0NCwgMS4xMjY3NDgzMjM0NDA1NTE4XSwgWzE2NjM3MzkzNDcuMjE4MzU2LCA5MTUzLCAxLjE3Nzg3NTE2MTE3MDk1OTVdLCBbMTY2MzczOTM0Ny4yOTc5Mjc5LCA5MTYyLCAxLjE2MzI3NTM2MTA2MTA5NjJdLCBbMTY2MzczOTM0Ny41MjQ4NTMyLCA5MTg5LCAxLjEzNDQ5NjgwODA1MjA2M10sIFsxNjYzNzM5MzQ3LjY2ODk0MzQsIDkyMDcsIDEuMTQxODUwMTEzODY4NzEzNF0sIFsxNjYzNzM5MzQ3LjkzNDgwODcsIDkyNDMsIDEuMTM0MTUxOTM1NTc3MzkyNl0sIFsxNjYzNzM5MzQ4LjA3Mjg5OTMsIDkyNjEsIDEuMTM4Mjk2ODQyNTc1MDczMl0sIFsxNjYzNzM5MzQ4LjE0MDg1NDEsIDkyNzAsIDEuMTc1OTA5Mzk5OTg2MjY3XSwgWzE2NjM3MzkzNDguMjkwOTE0MywgOTI4OCwgMS4yMjAxMjMwNTI1OTcwNDZdLCBbMTY2MzczOTM0OC42MDYxMDAzLCA5MzI0LCAxLjE0NTcxMzQ0ODUyNDQ3NV0sIFsxNjYzNzM5MzQ4LjY4MTIzMjUsIDkzMzMsIDEuMTIxMzQ3MTg4OTQ5NTg1XSwgWzE2NjM3MzkzNDguOTM3MzYyNCwgOTM0MiwgMS4xNjc2MTI2NzE4NTIxMTE4XSwgWzE2NjM3MzkzNDkuMDIwNDQyLCA5MzUxLCAxLjIzNzkzNzIxMTk5MDM1NjRdLCBbMTY2MzczOTM0OS4wOTYxMTgyLCA5MzYwLCAxLjEzNDY2OTU0MjMxMjYyMl0sIFsxNjYzNzM5MzQ5LjM5MjIzMTIsIDkzOTYsIDEuMTg2OTY4MDg4MTUwMDI0NF0sIFsxNjYzNzM5MzQ5LjUzNzQwNjcsIDk0MTQsIDEuMTc2NjUxMjM5Mzk1MTQxNl0sIFsxNjYzNzM5MzQ5LjYxMjM3OTYsIDk0MjMsIDEuMTgzNjkzODg1ODAzMjIyN10sIFsxNjYzNzM5MzUwLjAwOTM4MjUsIDk0NTAsIDEuMTM4NjAwNzA3MDU0MTM4Ml0sIFsxNjYzNzM5MzUwLjM2NTY5OSwgOTQ3NywgMS4xNDA1MzI0OTM1OTEzMDg2XSwgWzE2NjM3MzkzNTAuNDQyMzMxOCwgOTQ4NiwgMS4yMTA1MTU4NTY3NDI4NTg5XSwgWzE2NjM3MzkzNTAuNjY5NTg2NywgOTUxMywgMS4xODA4MzIyNjY4MDc1NTYyXSwgWzE2NjM3MzkzNTAuODA0MDc1LCA5NTMxLCAxLjE2Nzk4NTMyMDA5MTI0NzZdLCBbMTY2MzczOTM1MC44Njk2OTExLCA5NTQwLCAxLjE1NTQyMjMyOTkwMjY0OV0sIFsxNjYzNzM5MzUwLjkzNDQwNjUsIDk1NDksIDEuMTYwNjcyNjY0NjQyMzM0XSwgWzE2NjM3MzkzNTEuMDcxMzU0MiwgOTU2NywgMS4xNzE3NjQwMTYxNTE0MjgyXSwgWzE2NjM3MzkzNTEuMzIxMjksIDk1OTQsIDEuMTY1MTUwNTIzMTg1NzNdLCBbMTY2MzczOTM1MS4zODIwMjgzLCA5NjAzLCAxLjE5ODYzNjc3MDI0ODQxM10sIFsxNjYzNzM5MzUxLjQ0NTQ5MjMsIDk2MTIsIDEuMTYzMDI4MzU5NDEzMTQ3XSwgWzE2NjM3MzkzNTEuNTg4NTg3LCA5NjMwLCAxLjEzNDc4NDQ2MDA2Nzc0OV0sIFsxNjYzNzM5MzUxLjY2MzYxOCwgOTYzOSwgMS4xNTA4NjQ5NTg3NjMxMjI2XSwgWzE2NjM3MzkzNTEuNzI1OTM2NywgOTY0OCwgMS4xMzQxNjQwOTQ5MjQ5MjY4XSwgWzE2NjM3MzkzNTEuNzk4NTM4MiwgOTY1NywgMS4xNDI2MzkxNjAxNTYyNV0sIFsxNjYzNzM5MzUxLjg2ODcxNCwgOTY2NiwgMS4yMjE0NTIxMTY5NjYyNDc2XSwgWzE2NjM3MzkzNTEuOTQ4OTgyMiwgOTY3NSwgMS4yNjIyNjE5ODY3MzI0ODNdLCBbMTY2MzczOTM1Mi4xNjc1MDM0LCA5NzAyLCAxLjE2NDgxOTU5ODE5NzkzN10sIFsxNjYzNzM5MzUyLjI0OTA2NDQsIDk3MTEsIDEuMTU3OTk3NjA4MTg0ODE0NV0sIFsxNjYzNzM5MzUyLjM4OTA0NzEsIDk3MjksIDEuMTI5NTc3MTU5ODgxNTkxOF0sIFsxNjYzNzM5MzUyLjQ1NDI4MDYsIDk3MzgsIDEuMTI3NTcwODY3NTM4NDUyMV0sIFsxNjYzNzM5MzUyLjUxOTc4MTgsIDk3NDcsIDEuMTE3NTMyMDE0ODQ2ODAxOF0sIFsxNjYzNzM5MzUyLjcyNjE2MzksIDk3NzQsIDEuMTYwMTYyMjEwNDY0NDc3NV0sIFsxNjYzNzM5MzUyLjc5NDMxOTIsIDk3ODMsIDEuMTM1MTE3ODg4NDUwNjIyNl0sIFsxNjYzNzM5MzUyLjg2NDQyNCwgOTc5MiwgMS4xNjg4NDAwNTA2OTczMjY3XSwgWzE2NjM3MzkzNTMuMTM4NTMxNCwgOTgyOCwgMS4xODEyNzk1NDAwNjE5NTA3XSwgWzE2NjM3MzkzNTMuMjE0MjEwNSwgOTgzNywgMS4yMDMxMDcxMTg2MDY1Njc0XSwgWzE2NjM3MzkzNTMuMjk3NDE0NSwgOTg0NiwgMS4yMjUyNjk0MzY4MzYyNDI3XSwgWzE2NjM3MzkzNTMuNjYzMTI0NiwgOTg5MSwgMS4xNDM4OTI4ODQyNTQ0NTU2XSwgWzE2NjM3MzkzNTMuNzk3MDgzNCwgOTkwOSwgMS4xNjU4MzE5MjM0ODQ4MDIyXSwgWzE2NjM3MzkzNTMuOTQ2Mzc1NiwgOTkyNywgMS4xNDk5MDk2MTU1MTY2NjI2XSwgWzE2NjM3MzkzNTQuMDUxNDU3MiwgOTkzNiwgMS4xMzk5ODQwMTE2NTAwODU0XSwgWzE2NjM3MzkzNTQuMTI1NDg5MiwgOTk0NSwgMS4xNjE1OTQ4Njc3MDYyOTg4XSwgWzE2NjM3MzkzNTQuMzcxNDI5NywgOTk3MiwgMS4xNDI1OTc0MzY5MDQ5MDcyXSwgWzE2NjM3MzkzNTQuNDQ4Mzc2MiwgOTk4MSwgMS4xNTI5OTUyMjg3NjczOTVdLCBbMTY2MzczOTM1NC41Mjk0Nzc0LCA5OTkwLCAxLjE3MDkwMzY4MjcwODc0MDJdLCBbMTY2MzczOTM1NC42MDY1NDU0LCA5OTk5LCAxLjIyMjY4MzMxMDUwODcyOF0sIFsxNjYzNzM5MzU0LjY4NTkyMzYsIDEwMDA4LCAxLjE2ODc1NDQ1ODQyNzQyOTJdLCBbMTY2MzczOTM1NC43OTQ0MzM2LCAxMDAxNywgMS4xMTI0NzkwOTA2OTA2MTI4XSwgWzE2NjM3MzkzNTQuOTcyMSwgMTAwMjYsIDEuMTA2NDg0NzcwNzc0ODQxM10sIFsxNjYzNzM5MzU1LjEzMjQyOTQsIDEwMDM1LCAxLjE3NDUyNjIxNDU5OTYwOTRdLCBbMTY2MzczOTM1NS4zNDA2NDk4LCAxMDA1MywgMS4xNjY1NTQ4MDg2MTY2MzgyXSwgWzE2NjM3MzkzNTUuNTY0MTk2OCwgMTAwODAsIDEuMTM5NTUwMzI4MjU0Njk5N10sIFsxNjYzNzM5MzU1LjY0NDA1NTEsIDEwMDg5LCAxLjEzMDYzMDEzNTUzNjE5MzhdLCBbMTY2MzczOTM1NS45MDY4NjM3LCAxMDA5OCwgMS4xNzU4Mzg1ODk2NjgyNzRdLCBbMTY2MzczOTM1NS45OTI1NzM3LCAxMDEwNywgMS4yMTI5MTU4OTczNjkzODQ4XSwgWzE2NjM3MzkzNTYuMjE3NzU5OCwgMTAxMzQsIDEuMTM4MjU4MzM3OTc0NTQ4M10sIFsxNjYzNzM5MzU2LjI4ODM0NTgsIDEwMTQzLCAxLjEzMzE3NDg5NjI0MDIzNDRdLCBbMTY2MzczOTM1Ni40MzQ5MTg0LCAxMDE2MSwgMS4xNTkxNzQzMjMwODE5NzAyXSwgWzE2NjM3MzkzNTYuNTA3MDU0MywgMTAxNzAsIDEuMTUzMDk2NTU2NjYzNTEzMl0sIFsxNjYzNzM5MzU2LjU5Mjg2MTIsIDEwMTc5LCAxLjE2NDI2MzM2NzY1Mjg5M10sIFsxNjYzNzM5MzU2LjY2ODQzMDMsIDEwMTg4LCAxLjEzMzg3MTA3ODQ5MTIxMV0sIFsxNjYzNzM5MzU2LjczODM4NDcsIDEwMTk3LCAxLjExMzAyOTcxODM5OTA0NzldLCBbMTY2MzczOTM1Ni44NzQyNzc2LCAxMDIxNSwgMS4yNTEyNjM3Mzc2Nzg1Mjc4XSwgWzE2NjM3MzkzNTYuOTM3MDAzNiwgMTAyMjQsIDEuMTgwMzQxMjQzNzQzODk2NV0sIFsxNjYzNzM5MzU3LjAxNDM2NDIsIDEwMjMzLCAxLjEzMDkzOTk2MDQ3OTczNjNdLCBbMTY2MzczOTM1Ny4wOTQ5NDY5LCAxMDI0MiwgMS4xMDQxMTcxNTUwNzUwNzMyXSwgWzE2NjM3MzkzNTcuMjcwMzA4LCAxMDI2MCwgMS4yMjY1Njg2OTg4ODMwNTY2XSwgWzE2NjM3MzkzNTcuNTEzOTU3MywgMTAyODcsIDEuMTA5OTUyOTI2NjM1NzQyMl0sIFsxNjYzNzM5MzU3Ljc1MDc1MzYsIDEwMzE0LCAxLjE1MDMxMjU0MjkxNTM0NDJdLCBbMTY2MzczOTM1Ny44MjQyNzI2LCAxMDMyMywgMS4xNjMwMjM1OTEwNDE1NjVdLCBbMTY2MzczOTM1Ny45NjkzNTksIDEwMzQxLCAxLjE0NTU2OTMyNDQ5MzQwODJdLCBbMTY2MzczOTM1OC4wMzc4NzQyLCAxMDM1MCwgMS4xNjY5NjI3NDI4MDU0ODFdLCBbMTY2MzczOTM1OC4xMDczMDU1LCAxMDM1OSwgMS4xNzMwMjIwMzE3ODQwNTc2XSwgWzE2NjM3MzkzNTguMTgwMDE2MywgMTAzNjgsIDEuMTQzMTQ3MTEwOTM5MDI1OV0sIFsxNjYzNzM5MzU4LjI2MDk3NTYsIDEwMzc3LCAxLjE1MjY0OTUyMTgyNzY5NzhdLCBbMTY2MzczOTM1OC4zNDg1MDg0LCAxMDM4NiwgMS4xNTkyMjA5MzM5MTQxODQ2XSwgWzE2NjM3MzkzNTguNTcwODYzLCAxMDQwNCwgMS4xNTAxNDY2MDM1ODQyODk2XSwgWzE2NjM3MzkzNTguODcwNDQsIDEwNDQwLCAxLjEyMTgzNDUxNjUyNTI2ODZdLCBbMTY2MzczOTM1OC45NDE2MDUzLCAxMDQ0OSwgMS4xNDUwNTcwODIxNzYyMDg1XSwgWzE2NjM3MzkzNTkuMDg2OTEyNCwgMTA0NjcsIDEuMjUwNDI5MDM0MjMzMDkzM10sIFsxNjYzNzM5MzU5LjIzODkyLCAxMDQ4NSwgMS4xNjc0NDY0OTQxMDI0NzhdLCBbMTY2MzczOTM1OS4zOTY1NzY0LCAxMDUwMywgMS4xODg1NDM0Mzg5MTE0MzhdLCBbMTY2MzczOTM1OS40NzE2Mjc3LCAxMDUxMiwgMS4xMTYxMTc0Nzc0MTY5OTIyXSwgWzE2NjM3MzkzNTkuODk0ODkyMiwgMTA1NTcsIDEuMTcyMTgyNDQwNzU3NzUxNV0sIFsxNjYzNzM5MzU5Ljk3MDgzOTcsIDEwNTY2LCAxLjEzMDgzODE1NTc0NjQ2XSwgWzE2NjM3MzkzNjAuMDUyMTE4MywgMTA1NzUsIDEuMTQ0ODA3ODE1NTUxNzU3OF0sIFsxNjYzNzM5MzYwLjIxNjU0ODIsIDEwNTkzLCAxLjI3NDQ2NzIyOTg0MzEzOTZdLCBbMTY2MzczOTM2MC4yOTU1NDI3LCAxMDYwMiwgMS4yMDk3MTMyMjA1OTYzMTM1XSwgWzE2NjM3MzkzNjAuMzczMzcsIDEwNjExLCAxLjE3OTY0MjMxOTY3OTI2MDNdLCBbMTY2MzczOTM2MC42OTc0MDE4LCAxMDY0NywgMS4xODY1MzI4NTUwMzM4NzQ1XSwgWzE2NjM3MzkzNjAuODQ1MjA3NywgMTA2NjUsIDEuMjUxMzA5Mjc1NjI3MTM2Ml0sIFsxNjYzNzM5MzYxLjAwNDgyOTQsIDEwNjgzLCAxLjE1NzI4NDg1NTg0MjU5MDNdLCBbMTY2MzczOTM2MS4xNjA5MTU0LCAxMDcwMSwgMS4xNDI2OTc4MTExMjY3MDldLCBbMTY2MzczOTM2MS4yMzgzMzg1LCAxMDcxMCwgMS4xNzU5NTU0MTQ3NzIwMzM3XSwgWzE2NjM3MzkzNjEuMzI3MjEzLCAxMDcxOSwgMS4xMjM1MjYzMzQ3NjI1NzMyXSwgWzE2NjM3MzkzNjEuNzQ5NDgwNSwgMTA3NDYsIDEuMTcyMTc2MTIyNjY1NDA1M10sIFsxNjYzNzM5MzYxLjgyOTQyMTgsIDEwNzU1LCAxLjE2NDAyMzM5OTM1MzAyNzNdLCBbMTY2MzczOTM2MS45MTU2NTE4LCAxMDc2NCwgMS4xMzc4MjA4Mzk4ODE4OTddLCBbMTY2MzczOTM2MS45ODIzNjg3LCAxMDc3MywgMS4xNTI1NTgyMDc1MTE5MDE5XSwgWzE2NjM3MzkzNjIuMDU0NTY1MiwgMTA3ODIsIDEuMTE1NDQxMDgzOTA4MDgxXSwgWzE2NjM3MzkzNjIuMTE3MzM4NywgMTA3OTEsIDEuMjA2MjcxMTcxNTY5ODI0Ml0sIFsxNjYzNzM5MzYyLjM1MjAwMzgsIDEwODE4LCAxLjEyMTQ1OTAwNzI2MzE4MzZdLCBbMTY2MzczOTM2Mi40Mjc3NTg3LCAxMDgyNywgMS4xNTU2Nzk0NjQzNDAyMV0sIFsxNjYzNzM5MzYyLjc4NTUyNDgsIDEwODU0LCAxLjE1MDc5MjcxNzkzMzY1NDhdLCBbMTY2MzczOTM2Mi44Nzc2Nzg2LCAxMDg2MywgMS4xMjMzMDM4OTAyMjgyNzE1XSwgWzE2NjM3MzkzNjIuOTU0MTMsIDEwODcyLCAxLjEyODk4NTE2NjU0OTY4MjZdLCBbMTY2MzczOTM2My4xMjQ2OTgyLCAxMDg5MCwgMS4xNDk0Nzk5ODUyMzcxMjE2XSwgWzE2NjM3MzkzNjMuMjA4NDI3NywgMTA4OTksIDEuMTE5NjY4NDgzNzM0MTMwOV0sIFsxNjYzNzM5MzYzLjUxNTUxNTYsIDEwOTI2LCAxLjE2MDAxODA4NjQzMzQxMDZdLCBbMTY2MzczOTM2My41OTkwNDUzLCAxMDkzNSwgMS4xNjkzNjY3MTczMzg1NjJdLCBbMTY2MzczOTM2My42NzUxNTUyLCAxMDk0NCwgMS4xNDQ3NDIxMzEyMzMyMTUzXSwgWzE2NjM3MzkzNjMuODMxMTg0NiwgMTA5NjIsIDEuMDk5NjQ1MjU2OTk2MTU0OF0sIFsxNjYzNzM5MzYzLjkxMDIwNSwgMTA5NzEsIDEuMTE4MTk3NDQxMTAxMDc0Ml0sIFsxNjYzNzM5MzY0LjEzMTQ2NCwgMTA5OTgsIDEuMTg1NDk2MjExMDUxOTQxXSwgWzE2NjM3MzkzNjQuMjEwODQ2NCwgMTEwMDcsIDEuMTgxMDgwOTM3Mzg1NTU5XSwgWzE2NjM3MzkzNjQuMzc5MzE1NCwgMTEwMTYsIDEuMTMyMTYxODU1Njk3NjMxOF0sIFsxNjYzNzM5MzY0LjU4NTMzMTcsIDExMDM0LCAxLjE2MzMxNTA1Nzc1NDUxNjZdLCBbMTY2MzczOTM2NC44MDYwNDgyLCAxMTA2MSwgMS4xMzMyNzc1MzU0Mzg1Mzc2XSwgWzE2NjM3MzkzNjQuODc1NjIwNiwgMTEwNzAsIDEuMTUwMTg0OTg4OTc1NTI1XSwgWzE2NjM3MzkzNjUuMDc5MTEwMSwgMTEwOTcsIDEuMTQ2OTMyOTU5NTU2NTc5Nl0sIFsxNjYzNzM5MzY1LjE0NjM5MjYsIDExMTA2LCAxLjE3MjQwODIyMzE1MjE2MDZdLCBbMTY2MzczOTM2NS4yMjU3MTQ3LCAxMTExNSwgMS4xNjUyNjY1MTM4MjQ0NjNdLCBbMTY2MzczOTM2NS41Mzc2MzIyLCAxMTE1MSwgMS4xNjM2NzAzMDE0MzczNzhdLCBbMTY2MzczOTM2NS42NzczOTc1LCAxMTE2OSwgMS4xOTc5NzgyNTgxMzI5MzQ2XSwgWzE2NjM3MzkzNjUuNzQyNTQxLCAxMTE3OCwgMS4xOTA5MDY0MDU0NDg5MTM2XSwgWzE2NjM3MzkzNjUuODEwMTE5NCwgMTExODcsIDEuMTYwOTA5NjUyNzA5OTYxXSwgWzE2NjM3MzkzNjUuODkxNDI2MywgMTExOTYsIDEuMTYxNjc1ODEwODEzOTAzOF0sIFsxNjYzNzM5MzY1Ljk2MzU2ODIsIDExMjA1LCAxLjE5NDY0NTA0NzE4NzgwNTJdLCBbMTY2MzczOTM2Ni4wMjkwNDAzLCAxMTIxNCwgMS4xNTk1NjYwNDQ4MDc0MzRdLCBbMTY2MzczOTM2Ni4wOTYxMzIsIDExMjIzLCAxLjIwOTkxNjQ3MjQzNDk5NzZdLCBbMTY2MzczOTM2Ni4zNTE5NjY0LCAxMTI1MCwgMS4zMzg5MjI4NTgyMzgyMjAyXSwgWzE2NjM3MzkzNjYuNDE5MzkzOCwgMTEyNTksIDEuMjUwNTY4NjI4MzExMTU3Ml0sIFsxNjYzNzM5MzY2LjQ4NzQzOSwgMTEyNjgsIDEuMjIzNjIzMDM3MzM4MjU2OF0sIFsxNjYzNzM5MzY2LjU1NDM0MzcsIDExMjc3LCAxLjIwMDY0MTE1NTI0MjkyXSwgWzE2NjM3MzkzNjYuNjk5NDE4NSwgMTEyOTUsIDEuMTk2NjA4NzgxODE0NTc1Ml0sIFsxNjYzNzM5MzY2LjgzNzM3MiwgMTEzMTMsIDEuMTEyMzczNTkwNDY5MzYwNF0sIFsxNjYzNzM5MzY2LjkxNDUzOTYsIDExMzIyLCAxLjA5ODIyMTE4MjgyMzE4MTJdLCBbMTY2MzczOTM2Ny4zMjA2NTI1LCAxMTM0OSwgMS4xNzM5NDc1NzI3MDgxMjk5XSwgWzE2NjM3MzkzNjcuMzkxNjQ0NSwgMTEzNTgsIDEuMTE1NDQ0NDIxNzY4MTg4NV0sIFsxNjYzNzM5MzY3LjYxNTM4NzcsIDExMzg1LCAxLjE4Mzg0NjcxMjExMjQyNjhdLCBbMTY2MzczOTM2Ny44NTc4MDc0LCAxMTQxMiwgMS4xMzExNDU3MTU3MTM1MDFdLCBbMTY2MzczOTM2Ny45MzAzODQ0LCAxMTQyMSwgMS4xMTkwMzk2NTQ3MzE3NTA1XSwgWzE2NjM3MzkzNjguMzY5OTA2LCAxMTQ0OCwgMS4xMjU5OTM5NjcwNTYyNzQ0XSwgWzE2NjM3MzkzNjguOTYxNTMyLCAxMTQ5MywgMS4xNzgyMzQxMDAzNDE3OTY5XSwgWzE2NjM3MzkzNjkuMDU5ODg1MywgMTE1MDIsIDEuMTQ5OTk1NTY1NDE0NDI4N10sIFsxNjYzNzM5MzY5LjE0OTQyMDcsIDExNTExLCAxLjEwNDU0MjYxMzAyOTQ4XSwgWzE2NjM3MzkzNjkuMzIzNTM5NywgMTE1MjksIDEuMDk3MTU2MDQ3ODIxMDQ1XSwgWzE2NjM3MzkzNjkuNTEyNjUzNiwgMTE1NDcsIDEuMTIxOTAxNzUwNTY0NTc1Ml0sIFsxNjYzNzM5MzY5LjgxNjM4NjcsIDExNTc0LCAxLjExNjkwMTA0MDA3NzIwOTVdLCBbMTY2MzczOTM2OS45MDA1NTQyLCAxMTU4MywgMS4xNTMwNjkxMzg1MjY5MTY1XSwgWzE2NjM3MzkzNzAuMDU0ODcwNiwgMTE2MDEsIDEuMTcwMDM4ODE5MzEzMDQ5M10sIFsxNjYzNzM5MzcwLjMxMjY1NjksIDExNjE5LCAxLjEyNjY5MTQ2MDYwOTQzNl0sIFsxNjYzNzM5MzcwLjQ2NjY1NSwgMTE2MzcsIDEuMDk3ODQxOTc4MDczMTIwMV0sIFsxNjYzNzM5MzcwLjUzODQzMzMsIDExNjQ2LCAxLjEzMzgyODE2MzE0Njk3MjddLCBbMTY2MzczOTM3MC43ODExODEzLCAxMTY3MywgMS4xOTY0ODY5NDk5MjA2NTQzXSwgWzE2NjM3MzkzNzAuOTI3MzU4NCwgMTE2OTEsIDEuMTQ1OTQzOTk5MjkwNDY2M10sIFsxNjYzNzM5MzcwLjk5MjM2NjYsIDExNzAwLCAxLjEyOTY4MjMwMjQ3NDk3NTZdLCBbMTY2MzczOTM3MS4xMzcyOTk4LCAxMTcxOCwgMS4xMjEzOTIxMzA4NTE3NDU2XSwgWzE2NjM3MzkzNzEuMjA1Mzk2LCAxMTcyNywgMS4xMjQwMzU1OTY4NDc1MzQyXSwgWzE2NjM3MzkzNzEuMzQ3NTcxOCwgMTE3NDUsIDEuMTIxNTU3MTE2NTA4NDgzOV0sIFsxNjYzNzM5MzcxLjQ4MTA2NjUsIDExNzYzLCAxLjExODUzNzc4MzYyMjc0MTddLCBbMTY2MzczOTM3MS43NzQzMDYzLCAxMTc5OSwgMS4xNjY5MTQyMjQ2MjQ2MzM4XSwgWzE2NjM3MzkzNzEuOTc2MjI3NSwgMTE4MjYsIDEuMTA4NjM3ODA5NzUzNDE4XSwgWzE2NjM3MzkzNzIuMDQzNjQwOSwgMTE4MzUsIDEuMDkxODg5MTQyOTkwMTEyM10sIFsxNjYzNzM5MzcyLjExNDY2MzEsIDExODQ0LCAxLjEwNDc3MTYxNDA3NDcwN10sIFsxNjYzNzM5MzcyLjQ3MjQ1LCAxMTg4OSwgMS4xMzMzMDgwNTMwMTY2NjI2XSwgWzE2NjM3MzkzNzIuNjIxMzMwMywgMTE5MDcsIDEuMTE2NjQzMzA5NTkzMjAwN10sIFsxNjYzNzM5MzcyLjY5MTE3NTUsIDExOTE2LCAxLjE0MDAyMDcyODExMTI2N10sIFsxNjYzNzM5MzcyLjc1OTUwOTgsIDExOTI1LCAxLjE3NDkxOTQ4NjA0NTgzNzRdLCBbMTY2MzczOTM3Mi44MjQzNzk3LCAxMTkzNCwgMS4xMzI3MzUwMTM5NjE3OTJdLCBbMTY2MzczOTM3Mi44OTQxMTUsIDExOTQzLCAxLjEwNzQ0NTI0MDAyMDc1Ml0sIFsxNjYzNzM5MzczLjAyODM1MDgsIDExOTYxLCAxLjEwNTIyODU0MzI4MTU1NTJdLCBbMTY2MzczOTM3My41NzE5OTIyLCAxMjAyNCwgMS4xNTU2MTMxODM5NzUyMTk3XSwgWzE2NjM3MzkzNzQuMDE1MTQ4NiwgMTIwNzgsIDEuMTM5NTQ1MzIxNDY0NTM4Nl0sIFsxNjYzNzM5Mzc0LjI0NzQxODQsIDEyMTA1LCAxLjE4MjYzODQwNjc1MzU0XSwgWzE2NjM3MzkzNzQuMzI0NDQsIDEyMTE0LCAxLjExNzcwMzU1NzAxNDQ2NTNdLCBbMTY2MzczOTM3NC40ODU1MSwgMTIxMzIsIDEuMDk4NjUwOTMyMzEyMDExN10sIFsxNjYzNzM5Mzc0LjYxNTQzNTQsIDEyMTQxLCAxLjExOTU4Mjc3MjI1NDk0MzhdLCBbMTY2MzczOTM3NC44NDE1MDksIDEyMTY4LCAxLjE1NDA5NTA1MzY3Mjc5MDVdLCBbMTY2MzczOTM3NC45MTMzODEsIDEyMTc3LCAxLjEyODQ2NjM2NzcyMTU1NzZdLCBbMTY2MzczOTM3NS4wNjM2MDM0LCAxMjE5NSwgMS4yMTIyNzcxNzM5OTU5NzE3XSwgWzE2NjM3MzkzNzUuMTQwMDEwOCwgMTIyMDQsIDEuMjI4NTQxODUxMDQzNzAxMl0sIFsxNjYzNzM5Mzc1LjIxMjMwODIsIDEyMjEzLCAxLjI0OTc4MTAxMjUzNTA5NTJdLCBbMTY2MzczOTM3NS4yODMwNDM0LCAxMjIyMiwgMS4yMjIyMzkyNTU5MDUxNTE0XSwgWzE2NjM3MzkzNzUuNTU4MzY0OSwgMTIyMzEsIDEuMjEyMjM5ODYxNDg4MzQyM10sIFsxNjYzNzM5Mzc1LjcxOTY2MzQsIDEyMjQ5LCAxLjE4OTY5NjA3MzUzMjEwNDVdLCBbMTY2MzczOTM3NS45OTM0NDUyLCAxMjI4NSwgMS4xMTAxMDk1Njc2NDIyMTJdLCBbMTY2MzczOTM3Ni4wNzAzOTc2LCAxMjI5NCwgMS4xMTE1MzI1Njg5MzE1Nzk2XSwgWzE2NjM3MzkzNzYuMTQzMDU2NiwgMTIzMDMsIDEuMTY1Njk1Nzg2NDc2MTM1M10sIFsxNjYzNzM5Mzc2LjIxMDIwMDUsIDEyMzEyLCAxLjExOTcxNTU3MTQwMzUwMzRdLCBbMTY2MzczOTM3Ni4yODIxNzg2LCAxMjMyMSwgMS4wODU2Mjc5MTM0NzUwMzY2XSwgWzE2NjM3MzkzNzYuNjUwNTk4OCwgMTIzNTcsIDEuMTExNzM5ODczODg2MTA4NF0sIFsxNjYzNzM5Mzc2LjcyMTc5NTgsIDEyMzY2LCAxLjE2NDk4OTk0ODI3MjcwNV0sIFsxNjYzNzM5Mzc2Ljg2MTYzMjgsIDEyMzg0LCAxLjE4OTY1MTAxMjQyMDY1NDNdLCBbMTY2MzczOTM3Ni45MzM1Mjg3LCAxMjM5MywgMS4xNDgyMzc3MDUyMzA3MTNdLCBbMTY2MzczOTM3Ny4yMjE1NzY1LCAxMjQyOSwgMS4yMTE1NDU3MDU3OTUyODhdLCBbMTY2MzczOTM3Ny4zNDgzNzYsIDEyNDM4LCAxLjE1NDA2ODk0NjgzODM3OV0sIFsxNjYzNzM5Mzc3LjY0Nzk2ODgsIDEyNDc0LCAxLjE1MjkxNzAyNzQ3MzQ0OTddLCBbMTY2MzczOTM3Ny43MTk3Nzk3LCAxMjQ4MywgMS4xOTg2ODgyNjg2NjE0OTldLCBbMTY2MzczOTM3Ny43OTMzNjksIDEyNDkyLCAxLjE2Njk2MTkwODM0MDQ1NF0sIFsxNjYzNzM5Mzc4LjAxNDc4MTIsIDEyNTE5LCAxLjEzODg0MjM0NDI4NDA1NzZdLCBbMTY2MzczOTM3OC4wOTE4MjIxLCAxMjUyOCwgMS4xMjc1NDQyODM4NjY4ODIzXSwgWzE2NjM3MzkzNzguMjYxOTM0LCAxMjU0NiwgMS4yMTgwNTkzMDEzNzYzNDI4XSwgWzE2NjM3MzkzNzguNDgwMjg5NSwgMTI1NzMsIDEuMTU4MTY1NTc0MDczNzkxNV0sIFsxNjYzNzM5Mzc4LjU1Mjc1MywgMTI1ODIsIDEuMTM4MTU1NTc5NTY2OTU1Nl0sIFsxNjYzNzM5Mzc4LjcwNDA2NTYsIDEyNjAwLCAxLjExODA4MzAwMDE4MzEwNTVdLCBbMTY2MzczOTM3OC43NzczMzQ3LCAxMjYwOSwgMS4xNDcxNzc0NTc4MDk0NDgyXSwgWzE2NjM3MzkzNzkuMDI2MjU3OCwgMTI2MzYsIDEuMDk5Mjg1MTI1NzMyNDIxOV0sIFsxNjYzNzM5Mzc5LjE3MTc2NzIsIDEyNjU0LCAxLjEyNDE3NDIzNzI1MTI4MTddLCBbMTY2MzczOTM3OS43NjQzMzUsIDEyNzI2LCAxLjIwMzAzMjQ5MzU5MTMwODZdLCBbMTY2MzczOTM4MC4zODQ3NDY4LCAxMjc1MywgMS4xMTM5NTA3MjkzNzAxMTcyXSwgWzE2NjM3MzkzODAuNDg2OTg0MywgMTI3NjIsIDEuMTEzNzY3NjIzOTAxMzY3Ml0sIFsxNjYzNzM5MzgwLjYzMDQ1OCwgMTI3ODAsIDEuMTc5MzI3OTY0NzgyNzE0OF0sIFsxNjYzNzM5MzgwLjc5MDA1LCAxMjc5OCwgMS4xNzQwMDE0NTUzMDcwMDY4XSwgWzE2NjM3MzkzODAuODYyNTA2LCAxMjgwNywgMS4yMDc3ODg3MDU4MjU4MDU3XSwgWzE2NjM3MzkzODEuNTgwNTE4NSwgMTI4ODgsIDEuMTM3NTkxMjQyNzkwMjIyMl0sIFsxNjYzNzM5MzgxLjY1MDMwMDcsIDEyODk3LCAxLjE2NTMxNDMxNjc0OTU3MjhdLCBbMTY2MzczOTM4MS43MTUxNDgsIDEyOTA2LCAxLjE1NzYyMzE3MTgwNjMzNTRdLCBbMTY2MzczOTM4MS43OTM0MTcyLCAxMjkxNSwgMS4xNDc1OTk2OTcxMTMwMzddLCBbMTY2MzczOTM4MS45Mjc1OTU0LCAxMjkzMywgMS4wOTkzMzI5Mjg2NTc1MzE3XSwgWzE2NjM3MzkzODIuMDU5MTM5MywgMTI5NTEsIDEuMTUzOTAzOTYxMTgxNjQwNl0sIFsxNjYzNzM5MzgyLjEyNDc2MSwgMTI5NjAsIDEuMTU3Mjg0ODU1ODQyNTkwM10sIFsxNjYzNzM5MzgyLjIwMjI4NDYsIDEyOTY5LCAxLjEwNjc3MTcwNzUzNDc5XSwgWzE2NjM3MzkzODIuMjcxMjk5NiwgMTI5NzgsIDEuMTgwNjkxMzYxNDI3MzA3MV0sIFsxNjYzNzM5MzgyLjY2MDM3NjMsIDEzMDA1LCAxLjEwNDQzNjg3NDM4OTY0ODRdLCBbMTY2MzczOTM4Mi44MDY4MjI1LCAxMzAyMywgMS4xMDA2Nzk4NzQ0MjAxNjZdLCBbMTY2MzczOTM4Mi44ODUyMTMsIDEzMDMyLCAxLjA5ODAxNDQ3MzkxNTFdLCBbMTY2MzczOTM4Mi45NTgxNDcsIDEzMDQxLCAxLjEzNjI1MTIxMTE2NjM4MThdLCBbMTY2MzczOTM4My4wMzA1NDIxLCAxMzA1MCwgMS4xMjg1NjI4MDgwMzY4MDQyXSwgWzE2NjM3MzkzODMuMTA3NDg4OSwgMTMwNTksIDEuMTE3NTg5OTUwNTYxNTIzNF0sIFsxNjYzNzM5MzgzLjE5MTUxMjMsIDEzMDY4LCAxLjExMzk3OTQ1ODgwODg5OV0sIFsxNjYzNzM5MzgzLjI2ODc2ODUsIDEzMDc3LCAxLjE3MzA3NjM5MTIyMDA5MjhdLCBbMTY2MzczOTM4My40MDczNTc3LCAxMzA5NSwgMS4xNTYyODMyNTkzOTE3ODQ3XSwgWzE2NjM3MzkzODMuNDczLCAxMzEwNCwgMS4yMTU2MzYyNTMzNTY5MzM2XSwgWzE2NjM3MzkzODMuNTU1NDM1NCwgMTMxMTMsIDEuMjQyMDY1MzEwNDc4MjEwNF0sIFsxNjYzNzM5MzgzLjYzMjk2NTgsIDEzMTIyLCAxLjIwNDUxMzQzMDU5NTM5OF0sIFsxNjYzNzM5MzgzLjcwMjE0MDMsIDEzMTMxLCAxLjIxNDQzNzAwNzkwNDA1MjddLCBbMTY2MzczOTM4My43NzAxOTIxLCAxMzE0MCwgMS4yNTM0NjA3NjQ4ODQ5NDg3XSwgWzE2NjM3MzkzODMuODM5Nzk3NywgMTMxNDksIDEuMTEzOTEyOTQwMDI1MzI5Nl0sIFsxNjYzNzM5MzgzLjkwOTMyMjMsIDEzMTU4LCAxLjExODM5NTU2Njk0MDMwNzZdLCBbMTY2MzczOTM4My45ODI2NTMsIDEzMTY3LCAxLjA5MzcyOTczNDQyMDc3NjRdLCBbMTY2MzczOTM4NC4wNTI4MTQsIDEzMTc2LCAxLjEwNDEwNjU0NTQ0ODMwMzJdLCBbMTY2MzczOTM4NC4xMjcwMjEzLCAxMzE4NSwgMS4yMDc4Nzc4NzQzNzQzODk2XSwgWzE2NjM3MzkzODQuNTUxNDMxNywgMTMyMzksIDEuMTk1OTM5Nzc5MjgxNjE2Ml0sIFsxNjYzNzM5Mzg0Ljc4OTQxNzcsIDEzMjY2LCAxLjE5NTk0NzA1MTA0ODI3ODhdLCBbMTY2MzczOTM4NC44NjkzODQ1LCAxMzI3NSwgMS4xNTY2Mjc1MzU4MjAwMDczXSwgWzE2NjM3MzkzODUuMDI4Mjg2NSwgMTMyOTMsIDEuMTE4ODE3OTI1NDUzMTg2XSwgWzE2NjM3MzkzODUuMTAyOTUzMiwgMTMzMDIsIDEuMTQyMjMxNDY0Mzg1OTg2M10sIFsxNjYzNzM5Mzg1LjQwOTk3MjcsIDEzMzM4LCAxLjEzMjg5ODQ0OTg5Nzc2NjFdLCBbMTY2MzczOTM4NS41MDE1NTQsIDEzMzQ3LCAxLjEzMzYxNTM3NDU2NTEyNDVdLCBbMTY2MzczOTM4NS41ODIxNTQzLCAxMzM1NiwgMS4xNzU1NzI4NzIxNjE4NjUyXSwgWzE2NjM3MzkzODUuNjYzOTc5LCAxMzM2NSwgMS4xMDIyMzkzNzAzNDYwNjkzXSwgWzE2NjM3MzkzODUuODc3MDQ2NiwgMTMzOTIsIDEuMTEzMTYzNTkwNDMxMjEzNF0sIFsxNjYzNzM5Mzg1Ljk0NTg1MjUsIDEzNDAxLCAxLjEzMzY4NTQ2OTYyNzM4MDRdLCBbMTY2MzczOTM4Ni4wMTIzNjI1LCAxMzQxMCwgMS4xNTcwODU0MTg3MDExNzE5XSwgWzE2NjM3MzkzODYuMDk0MjMzLCAxMzQxOSwgMS4xODE2ODc4MzE4Nzg2NjJdLCBbMTY2MzczOTM4Ni4xNjIyNzgyLCAxMzQyOCwgMS4xNTQxOTY4NTg0MDYwNjddLCBbMTY2MzczOTM4Ni4zMTMzNDQ1LCAxMzQ0NiwgMS4xMTM1NzIzNTkwODUwODNdLCBbMTY2MzczOTM4Ni4zODIxOTMsIDEzNDU1LCAxLjEzNjQwOTUyMTEwMjkwNTNdLCBbMTY2MzczOTM4Ni42NjY0NzA4LCAxMzQ5MSwgMS4yMDQ1MDExNTIwMzg1NzQyXSwgWzE2NjM3MzkzODYuNzM2NTc3MywgMTM1MDAsIDEuMTk2ODY1MzIwMjA1Njg4NV0sIFsxNjYzNzM5Mzg2LjgwNTIyODIsIDEzNTA5LCAxLjE5ODQzMDI5OTc1ODkxMTFdLCBbMTY2MzczOTM4Ni45NTkyMjU0LCAxMzUyNywgMS4xMzkwNDExODUzNzkwMjgzXSwgWzE2NjM3MzkzODcuMTc4MjYzNywgMTM1NTQsIDEuMTIwNDU2NTc2MzQ3MzUxXSwgWzE2NjM3MzkzODcuNDUzMTY0NiwgMTM1OTAsIDEuMTI0MDQyNjMwMTk1NjE3N10sIFsxNjYzNzM5Mzg3LjUyODQ2NDYsIDEzNTk5LCAxLjExMTgxMTg3NjI5Njk5N10sIFsxNjYzNzM5Mzg3LjU5OTM5ODEsIDEzNjA4LCAxLjEwOTg2MTEzNTQ4Mjc4OF0sIFsxNjYzNzM5Mzg3LjY3MDA5MjgsIDEzNjE3LCAxLjExMTYyOTcyNDUwMjU2MzVdLCBbMTY2MzczOTM4Ny43NDU3MjU5LCAxMzYyNiwgMS4xMDI2NTg4Njc4MzU5OTg1XSwgWzE2NjM3MzkzODcuODg1ODM3MywgMTM2NDQsIDEuMDk5MzAxNjk1ODIzNjY5NF0sIFsxNjYzNzM5Mzg3Ljk2NjgyMSwgMTM2NTMsIDEuMTIxMTEwMzIwMDkxMjQ3Nl0sIFsxNjYzNzM5Mzg4LjY3NTE4NTIsIDEzNzE2LCAxLjExODU4MTI5NTAxMzQyNzddLCBbMTY2MzczOTM4OC45MDc0NTUsIDEzNzQzLCAxLjEyNTEwNDU0NjU0NjkzNl0sIFsxNjYzNzM5Mzg5LjA2NTQ4MDUsIDEzNzYxLCAxLjE0OTM4OTYyNDU5NTY0Ml0sIFsxNjYzNzM5Mzg5LjIyMDM0LCAxMzc3OSwgMS4wOTMzNjk5NjA3ODQ5MTJdLCBbMTY2MzczOTM4OS40MzIyOTksIDEzODA2LCAxLjEwODg1Nzc1MDg5MjYzOTJdLCBbMTY2MzczOTM4OS41MDI1Mzg0LCAxMzgxNSwgMS4yMTEyMzg2MjI2NjU0MDUzXSwgWzE2NjM3MzkzODkuNzA2OTkyNiwgMTM4NDIsIDEuMDg4NzMxMDUwNDkxMzMzXSwgWzE2NjM3MzkzODkuNzgxMzEzMiwgMTM4NTEsIDEuMTE4NTI3NjUwODMzMTI5OV0sIFsxNjYzNzM5Mzg5LjkxMTk2NjMsIDEzODY5LCAxLjEwODkwODI5NTYzMTQwODddLCBbMTY2MzczOTM4OS45NzU2Mzg5LCAxMzg3OCwgMS4xMDQxNTE0ODczNTA0NjM5XSwgWzE2NjM3MzkzOTAuMjU5MDYzNSwgMTM5MTQsIDEuMTM1MDcwMDg1NTI1NTEyN10sIFsxNjYzNzM5MzkwLjQxNTU3MywgMTM5MzIsIDEuMTA4NzUyMTMxNDYyMDk3Ml0sIFsxNjYzNzM5MzkwLjQ4NTM2MTYsIDEzOTQxLCAxLjE0ODA3MDIxNjE3ODg5NF0sIFsxNjYzNzM5MzkwLjcwMzMzNDgsIDEzOTY4LCAxLjExMTU0OTczNTA2OTI3NV0sIFsxNjYzNzM5MzkwLjc2NjgwNCwgMTM5NzcsIDEuMTQxNzgzNzE0Mjk0NDMzNl0sIFsxNjYzNzM5MzkwLjgzNDY5MzcsIDEzOTg2LCAxLjEzODkzOTQ5OTg1NTA0MTVdLCBbMTY2MzczOTM5MC45Njg0NDcyLCAxNDAwNCwgMS4xNDQ4NzY5NTY5Mzk2OTczXSwgWzE2NjM3MzkzOTEuMDk3NDQ3NiwgMTQwMjIsIDEuMTUzNzcxNjM4ODcwMjM5M10sIFsxNjYzNzM5MzkxLjI4MjEyOSwgMTQwNDAsIDEuMTM3NTUxOTAzNzI0NjcwNF0sIFsxNjYzNzM5MzkxLjUwMjgwMzgsIDE0MDQ5LCAxLjEyMjg4Nzg0OTgwNzczOTNdLCBbMTY2MzczOTM5MS42NTU0MDQzLCAxNDA2NywgMS4xMDYwMzMyMDU5ODYwMjNdLCBbMTY2MzczOTM5MS44MTQ0NDA3LCAxNDA4NSwgMS4xMTU5NDU5MzUyNDkzMjg2XSwgWzE2NjM3MzkzOTEuODk0ODQ5LCAxNDA5NCwgMS4xMTQ4Nzk5NjU3ODIxNjU1XSwgWzE2NjM3MzkzOTEuOTcwOTksIDE0MTAzLCAxLjE0MDcyNzUxOTk4OTAxMzddLCBbMTY2MzczOTM5Mi4xMjk2NzQsIDE0MTIxLCAxLjA4NzUwMzA3NTU5OTY3MDRdLCBbMTY2MzczOTM5Mi4yOTMwMjkzLCAxNDEzOSwgMS4xMjM5MjkzODEzNzA1NDQ0XSwgWzE2NjM3MzkzOTIuMzY2MDUyOSwgMTQxNDgsIDEuMTE4NTE5NzgzMDIwMDE5NV0sIFsxNjYzNzM5MzkyLjQzNDM1MiwgMTQxNTcsIDEuMTM1NTYxMjI3Nzk4NDYyXSwgWzE2NjM3MzkzOTIuNTE0MDkxNSwgMTQxNjYsIDEuMDgyNjUwNTQyMjU5MjE2M10sIFsxNjYzNzM5MzkyLjU5MjY5OCwgMTQxNzUsIDEuMTA3MjMzNTI0MzIyNTA5OF0sIFsxNjYzNzM5MzkyLjc0MDY4NSwgMTQxOTMsIDEuMTA1MjQ2MDY3MDQ3MTE5MV0sIFsxNjYzNzM5MzkyLjkwNDM3NywgMTQyMTEsIDEuMDk3OTcxMzIwMTUyMjgyN10sIFsxNjYzNzM5MzkzLjAwNjg0MSwgMTQyMjAsIDEuMTA1NjkxNzkwNTgwNzQ5NV0sIFsxNjYzNzM5MzkzLjA5ODcyNTYsIDE0MjI5LCAxLjA5NzE1MzkwMjA1MzgzM10sIFsxNjYzNzM5MzkzLjE2NTIwNjcsIDE0MjM4LCAxLjA5MjU0ODEzMTk0Mjc0OV0sIFsxNjYzNzM5MzkzLjIzODcwOCwgMTQyNDcsIDEuMTA4Nzk5OTM0Mzg3MjA3XSwgWzE2NjM3MzkzOTMuNjA4ODE0LCAxNDI3NCwgMS4xNTE3MTU3NTU0NjI2NDY1XSwgWzE2NjM3MzkzOTQuMTY3NzU1MSwgMTQzMTksIDEuMDk5NzE1NTkwNDc2OTg5N10sIFsxNjYzNzM5Mzk0LjQ5Nzk4NzMsIDE0MzY0LCAxLjExNzkxNzg5NTMxNzA3NzZdLCBbMTY2MzczOTM5NC41ODc2NDc3LCAxNDM3MywgMS4xNzMxOTc3NDYyNzY4NTU1XSwgWzE2NjM3MzkzOTQuNjY2MjU4NiwgMTQzODIsIDEuMTYyMzYyMDk4NjkzODQ3N10sIFsxNjYzNzM5Mzk0Ljk0MjIzMDIsIDE0NDE4LCAxLjEwMTI2NzIxODU4OTc4MjddLCBbMTY2MzczOTM5NS4wMTA0MzkyLCAxNDQyNywgMS4xMDExNjI0MzM2MjQyNjc2XSwgWzE2NjM3MzkzOTUuMDgwODgwNiwgMTQ0MzYsIDEuMTIyOTIzNzMxODAzODk0XSwgWzE2NjM3MzkzOTUuNzQyNDExOSwgMTQ0OTksIDEuMTM2MjI4MDg0NTY0MjA5XSwgWzE2NjM3MzkzOTUuODExNDE5NSwgMTQ1MDgsIDEuMTYxNTE3MjYyNDU4ODAxM10sIFsxNjYzNzM5Mzk1Ljk0NDkwNSwgMTQ1MjYsIDEuMTEzMzQ3NTMwMzY0OTkwMl0sIFsxNjYzNzM5Mzk2LjAxNDcxOSwgMTQ1MzUsIDEuMTQ1MzE4MTUwNTIwMzI0N10sIFsxNjYzNzM5Mzk2LjA4Mzg2ODMsIDE0NTQ0LCAxLjEyNTk1ODA4NTA2MDExOTZdLCBbMTY2MzczOTM5Ni4xNDY0OTYsIDE0NTUzLCAxLjExNzQ0NjMwMzM2NzYxNDddLCBbMTY2MzczOTM5Ni4yMjE3MzM2LCAxNDU2MiwgMS4wOTQwODA5MjQ5ODc3OTNdLCBbMTY2MzczOTM5Ni40NDE4MTIsIDE0NTg5LCAxLjA5OTUyNzAwMTM4MDkyMDRdLCBbMTY2MzczOTM5Ni41ODYwMDksIDE0NjA3LCAxLjExMDk5NzkxNTI2Nzk0NDNdLCBbMTY2MzczOTM5Ni43NTU2MjksIDE0NjI1LCAxLjE1Njc3NTcxMjk2NjkxOV0sIFsxNjYzNzM5Mzk2Ljg5Mjk0MDUsIDE0NjQzLCAxLjEwMzA3ODQ4NDUzNTIxNzNdLCBbMTY2MzczOTM5Ni45NjUyNzMxLCAxNDY1MiwgMS4xMTE4MjkwNDI0MzQ2OTI0XSwgWzE2NjM3MzkzOTcuMTYxNTc1OCwgMTQ2NzksIDEuMTQ2NDM5MDc1NDY5OTcwN10sIFsxNjYzNzM5Mzk3LjIyODk4OTQsIDE0Njg4LCAxLjE3OTMxNDAxNzI5NTgzNzRdLCBbMTY2MzczOTM5Ny41MTMzNjEsIDE0NzI0LCAxLjEwNzAwOTA1MzIzMDI4NTZdLCBbMTY2MzczOTM5Ny42MDI5MDc0LCAxNDczMywgMS4xMzExMjQwMTk2MjI4MDI3XSwgWzE2NjM3MzkzOTcuNjc0NTc4NywgMTQ3NDIsIDEuMDg5MTQyNTYwOTU4ODYyM10sIFsxNjYzNzM5Mzk3Ljc0NjQ4OTgsIDE0NzUxLCAxLjEzNjA3NDc4MTQxNzg0NjddLCBbMTY2MzczOTM5Ny45NjkwMzgsIDE0NzY5LCAxLjA4MDA1MTQyMjExOTE0MDZdLCBbMTY2MzczOTM5OC4xNDc0NjcsIDE0Nzc4LCAxLjExMDk0MDgxNDAxODI0OTVdLCBbMTY2MzczOTM5OC41MjI3MzU2LCAxNDgyMywgMS4xMDQzNTI5NTEwNDk4MDQ3XSwgWzE2NjM3MzkzOTguNTk0MzU0NCwgMTQ4MzIsIDEuMTA2MzM3Nzg1NzIwODI1Ml0sIFsxNjYzNzM5Mzk4Ljc0Njg5MjUsIDE0ODUwLCAxLjEyNTQyMTc2MjQ2NjQzMDddLCBbMTY2MzczOTM5OC44OTAyMzMzLCAxNDg2OCwgMS4wOTI4MTE3MDM2ODE5NDU4XSwgWzE2NjM3MzkzOTguOTU4NDgzLCAxNDg3NywgMS4xMDQ5NDY2MTMzMTE3Njc2XSwgWzE2NjM3MzkzOTkuMDI4ODczNywgMTQ4ODYsIDEuMTE4OTU5MTg4NDYxMzAzN10sIFsxNjYzNzM5Mzk5LjEyNTM2OTgsIDE0ODk1LCAxLjE4NDQ3MzM5NTM0NzU5NTJdLCBbMTY2MzczOTM5OS4yNzczMDI3LCAxNDkxMywgMS4xMDA2MjM3MjY4NDQ3ODc2XSwgWzE2NjM3MzkzOTkuNDEzMTIwMywgMTQ5MzEsIDEuMTI1NTMyNTA3ODk2NDIzM10sIFsxNjYzNzM5Mzk5LjQ3NDkzNTUsIDE0OTQwLCAxLjA5NjcwNDAwNjE5NTA2ODRdLCBbMTY2MzczOTM5OS43MjQ0NjQsIDE0OTY3LCAxLjExOTE1MzczODAyMTg1MDZdLCBbMTY2MzczOTM5OS44Nzk0NzQyLCAxNDk4NSwgMS4wOTMzMTM1NzQ3OTA5NTQ2XSwgWzE2NjM3Mzk0MDAuMDI2NDM4MiwgMTUwMDMsIDEuMTczNzg2NjQwMTY3MjM2M10sIFsxNjYzNzM5NDAwLjI0MjA4MjgsIDE1MDMwLCAxLjEwMDYwMzgxODg5MzQzMjZdLCBbMTY2MzczOTQwMC4zMjEwNDUyLCAxNTAzOSwgMS4xMTgyMDg1Mjc1NjUwMDI0XSwgWzE2NjM3Mzk0MDAuODA3MTM3LCAxNTA3NSwgMS4wOTg3NTU0Nzg4NTg5NDc4XSwgWzE2NjM3Mzk0MDEuMDE1NTc3OCwgMTUxMDIsIDEuMTA5NTUxOTA2NTg1NjkzNF0sIFsxNjYzNzM5NDAxLjE0NTIyMzYsIDE1MTIwLCAxLjExMzM2MDI4NTc1ODk3MjJdLCBbMTY2MzczOTQwMS4yMTk0MjMsIDE1MTI5LCAxLjExODU1MTM3MzQ4MTc1MDVdLCBbMTY2MzczOTQwMS4yODg0NTIxLCAxNTEzOCwgMS4xNTg2NDQ3OTU0MTc3ODU2XSwgWzE2NjM3Mzk0MDEuMzUyOTUzNCwgMTUxNDcsIDEuMTMzMTE3OTE0MTk5ODI5XSwgWzE2NjM3Mzk0MDEuNTYxODM4LCAxNTE3NCwgMS4yMTI1NjkyMzY3NTUzNzFdLCBbMTY2MzczOTQwMS42Mzk3NTA3LCAxNTE4MywgMS4xMzA0MTA3OTA0NDM0MjA0XSwgWzE2NjM3Mzk0MDEuNzE0MDA5NSwgMTUxOTIsIDEuMTA0Njk3MzQ2Njg3MzE3XSwgWzE2NjM3Mzk0MDEuNzg4Njc5LCAxNTIwMSwgMS4xMTA3OTY5Mjg0MDU3NjE3XSwgWzE2NjM3Mzk0MDEuODU4MTU0OCwgMTUyMTAsIDEuMTA0NDQ0MjY1MzY1NjAwNl0sIFsxNjYzNzM5NDAxLjkyNjIxMSwgMTUyMTksIDEuMTA3ODI0NjgzMTg5MzkyXSwgWzE2NjM3Mzk0MDIuMTMyNDgzLCAxNTI0NiwgMS4wNjk2MjI5OTM0NjkyMzgzXSwgWzE2NjM3Mzk0MDIuMjAxNjM5LCAxNTI1NSwgMS4wODI3NTQ5Njk1OTY4NjI4XSwgWzE2NjM3Mzk0MDIuMjY4MTQxLCAxNTI2NCwgMS4xMjAzNTEzMTQ1NDQ2Nzc3XSwgWzE2NjM3Mzk0MDIuNDA0MTE2NCwgMTUyODIsIDEuMjk3NTQxMzc5OTI4NTg4OV0sIFsxNjYzNzM5NDAyLjQ3MDA1NjMsIDE1MjkxLCAxLjEyNTkwNjU4NjY0NzAzMzddLCBbMTY2MzczOTQwMi41MzcyNzgyLCAxNTMwMCwgMS4wOTkwMjI4NjUyOTU0MTAyXSwgWzE2NjM3Mzk0MDIuNjA2MTUsIDE1MzA5LCAxLjE0NTI3NTgzMTIyMjUzNDJdLCBbMTY2MzczOTQwMi42ODMzOTcsIDE1MzE4LCAxLjEyNTMwMzUwNjg1MTE5NjNdLCBbMTY2MzczOTQwMi43NTQ5NDAzLCAxNTMyNywgMS4xNzY4NDAxODYxMTkwNzk2XSwgWzE2NjM3Mzk0MDIuOTA2MTQ3MiwgMTUzNDUsIDEuMTU0NjM1MDcxNzU0NDU1Nl0sIFsxNjYzNzM5NDAzLjEzNDU2ODcsIDE1MzcyLCAxLjEwMzY1MTI4NTE3MTUwODhdLCBbMTY2MzczOTQwMy4yODc3MTksIDE1MzkwLCAxLjExNDQ1MDA5NzA4NDA0NTRdLCBbMTY2MzczOTQwMy4zNTQwODAyLCAxNTM5OSwgMS4wOTc3MDkxNzg5MjQ1NjA1XSwgWzE2NjM3Mzk0MDMuNDIwOTUyNiwgMTU0MDgsIDEuMTI0MzI0Nzk4NTgzOTg0NF0sIFsxNjYzNzM5NDAzLjUxMzMyMjQsIDE1NDE3LCAxLjA5MDY5ODQ4MDYwNjA3OV0sIFsxNjYzNzM5NDAzLjc5MTU4MTQsIDE1NDUzLCAxLjEwNzU4Mzk5OTYzMzc4OV0sIFsxNjYzNzM5NDAzLjk2MDA3NDIsIDE1NDcxLCAxLjEyMDgyNTUyOTA5ODUxMDddLCBbMTY2MzczOTQwNC4wMzM0MjA2LCAxNTQ4MCwgMS4xNjM3MTkyOTY0NTUzODMzXSwgWzE2NjM3Mzk0MDQuMjYzMjg2OCwgMTU1MDcsIDEuMTczNDQ2ODkzNjkyMDE2Nl0sIFsxNjYzNzM5NDA0LjMzNjY3MSwgMTU1MTYsIDEuMTIwMDc1NzAyNjY3MjM2M10sIFsxNjYzNzM5NDA0LjQwMDc1NzgsIDE1NTI1LCAxLjE0OTEyODc5NDY3MDEwNV0sIFsxNjYzNzM5NDA0LjQ4NTQzMzYsIDE1NTM0LCAxLjEyMzQ4ODc4MzgzNjM2NDddLCBbMTY2MzczOTQwNS4xNTcwOTUsIDE1NTc5LCAxLjMxNjQzOTM5MDE4MjQ5NTFdLCBbMTY2MzczOTQwNS45Mzc4NzMsIDE1NjUxLCAxLjA5Mjg5MzEyMzYyNjcwOV0sIFsxNjYzNzM5NDA2LjAxMzU1MTcsIDE1NjYwLCAxLjE1MzQwNTc4NTU2MDYwOF0sIFsxNjYzNzM5NDA2LjA4ODIwODIsIDE1NjY5LCAxLjEzMjkwMTY2ODU0ODU4NF0sIFsxNjYzNzM5NDA2LjMyNzM3MjMsIDE1Njk2LCAxLjE1MjM1OTQ4NTYyNjIyMDddLCBbMTY2MzczOTQwNi40OTY4NDM2LCAxNTcxNCwgMS4wODk2MDkyNjUzMjc0NTM2XSwgWzE2NjM3Mzk0MDYuNTc0OTQ2OSwgMTU3MjMsIDEuMTE4MTg5OTMwOTE1ODMyNV0sIFsxNjYzNzM5NDA2Ljg1MTQ0NzgsIDE1NzMyLCAxLjE2OTI1NTczMzQ4OTk5MDJdLCBbMTY2MzczOTQwNi45NTA5MjQsIDE1NzQxLCAxLjE1OTQwNDUxNjIyMDA5MjhdLCBbMTY2MzczOTQwNy4wNDM1OTMsIDE1NzUwLCAxLjEyMTQxODU5NTMxNDAyNTldLCBbMTY2MzczOTQwNy4xMjQ1NiwgMTU3NTksIDEuMTYwODcyOTM2MjQ4Nzc5M10sIFsxNjYzNzM5NDA3LjIxNTczNjQsIDE1NzY4LCAxLjE4NTE4NDgzNjM4NzYzNDNdLCBbMTY2MzczOTQwNy40NDgwOTQ0LCAxNTc4NiwgMS4wODYxMDkxNjEzNzY5NTMxXSwgWzE2NjM3Mzk0MDcuNTE5NDYwMiwgMTU3OTUsIDEuMTAzODQzOTI3MzgzNDIyOV0sIFsxNjYzNzM5NDA3Ljc1NzgwMjcsIDE1ODIyLCAxLjEyMTY4NTE0NzI4NTQ2MTRdLCBbMTY2MzczOTQwOC4xNTIzNDA3LCAxNTg2NywgMS4xNTc0MjA3NTQ0MzI2NzgyXSwgWzE2NjM3Mzk0MDguMjI1MzA3MiwgMTU4NzYsIDEuMTI2MjE3MjQ2MDU1NjAzXSwgWzE2NjM3Mzk0MDguMzY4NjYzMywgMTU4OTQsIDEuMTMwMDg0ODcyMjQ1Nzg4Nl0sIFsxNjYzNzM5NDA4LjQ1MTE0NywgMTU5MDMsIDEuMTI2NjcyNzQ0NzUwOTc2Nl0sIFsxNjYzNzM5NDA4LjU5NDg0MSwgMTU5MjEsIDEuMTc1NzYzMDEwOTc4Njk4N11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_09-04-50_8f860c94f07e&tag=Loss%2Ftrain":{"data":"W1sxNjYzNzUxMDkwLjQ1OTg3NjgsIDQ1LCAxMjcuMjMzNzE4ODcyMDcwMzFdLCBbMTY2Mzc1MTA5MS4zNTY5OTQ2LCAxMzUsIDExNS45MDEzNzQ4MTY4OTQ1M10sIFsxNjYzNzUxMDkxLjQ0ODQyMSwgMTQ0LCAxMTMuNDIxMzc5MDg5MzU1NDddLCBbMTY2Mzc1MTA5MS45MjYzMjA2LCAxNzEsIDExMC4zODI0MzEwMzAyNzM0NF0sIFsxNjYzNzUxMDkyLjAyMzk2OTcsIDE4MCwgMTA5LjY3MDAzNjMxNTkxNzk3XSwgWzE2NjM3NTEwOTIuNjU1Mjg1NiwgMjQzLCAxMDQuMzQ0Mjc2NDI4MjIyNjZdLCBbMTY2Mzc1MTA5Mi43NDg4NjksIDI1MiwgMTA0LjM1MTg2NzY3NTc4MTI1XSwgWzE2NjM3NTEwOTMuOTkxODYzNSwgMzY5LCA5MS4xMDk5NDcyMDQ1ODk4NF0sIFsxNjYzNzUxMDk0LjY5MDM3NzcsIDQzMiwgODYuMjY0NjAyNjYxMTMyODFdLCBbMTY2Mzc1MTA5NC43OTM1MDE0LCA0NDEsIDg1LjQyMzE3OTYyNjQ2NDg0XSwgWzE2NjM3NTEwOTQuODc3ODAyMSwgNDUwLCA4My4zNDE1MDY5NTgwMDc4MV0sIFsxNjYzNzUxMDk2LjE3MDY1MiwgNTY3LCA3NC41MDI1OTM5OTQxNDA2Ml0sIFsxNjYzNzUxMDk2LjI2ODA2LCA1NzYsIDcxLjYzNTI1MzkwNjI1XSwgWzE2NjM3NTEwOTYuNjM1Njg1NCwgNjEyLCA2OC40OTk0MzU0MjQ4MDQ2OV0sIFsxNjYzNzUxMDk2Ljk3MzI1NzMsIDYzOSwgNjcuOTkyMzAxOTQwOTE3OTddLCBbMTY2Mzc1MTA5Ny4wNjk1NDksIDY0OCwgNjYuNzk3MDQyODQ2Njc5NjldLCBbMTY2Mzc1MTA5Ny42ODAxNDQ1LCA3MDIsIDYzLjczNzkwNzQwOTY2Nzk3XSwgWzE2NjM3NTEwOTguMTY1MDczOSwgNzQ3LCA2MS4zMjQwNjYxNjIxMDkzNzVdLCBbMTY2Mzc1MTA5OC44MDY2MDksIDgxMCwgNTcuMjIxMjI5NTUzMjIyNjU2XSwgWzE2NjM3NTEwOTkuNjY3NDU3LCA5MDAsIDU0LjAxMzMxNzEwODE1NDNdLCBbMTY2Mzc1MTA5OS45NzkzMTIsIDkzNiwgNTIuMTU5MzM5OTA0Nzg1MTU2XSwgWzE2NjM3NTExMDAuNTcwMTA0LCA5NzIsIDUyLjIwNzczMzE1NDI5Njg3NV0sIFsxNjYzNzUxMTAxLjc5NjUwNjQsIDEwOTgsIDQ3LjQ2NTg4MTM0NzY1NjI1XSwgWzE2NjM3NTExMDIuMjA1MDA2OCwgMTEzNCwgNDguMjA0MzgwMDM1NDAwMzldLCBbMTY2Mzc1MTEwMi4yNzQ0MTM2LCAxMTQzLCA0Ny4zODExNDkyOTE5OTIxOV0sIFsxNjYzNzUxMTAyLjQyNDU4MjUsIDExNjEsIDQ2LjY4ODIyNDc5MjQ4MDQ3XSwgWzE2NjM3NTExMDIuNTgxOTIzLCAxMTc5LCA0Ni4yNTI1Nzg3MzUzNTE1Nl0sIFsxNjYzNzUxMTAzLjAyMjU2NTgsIDEyMzMsIDQ1Ljc4OTQ4MjExNjY5OTIyXSwgWzE2NjM3NTExMDMuNzI2MTQ4NiwgMTMwNSwgNDMuNzM2MTk0NjEwNTk1N10sIFsxNjYzNzUxMTAzLjkxOTMzNywgMTMyMywgNDMuMjQ1NTkwMjA5OTYwOTRdLCBbMTY2Mzc1MTEwMy45ODg3ODY3LCAxMzMyLCA0NC4zMTA5NTg4NjIzMDQ2OV0sIFsxNjYzNzUxMTA0LjI1MzgxOCwgMTM1OSwgNDMuMzkyMjg4MjA4MDA3ODFdLCBbMTY2Mzc1MTEwNS4wMzE0NDE1LCAxNDIyLCA0Mi4xMzEzNDAwMjY4NTU0N10sIFsxNjYzNzUxMTA1LjI1OTAwMzYsIDE0NDksIDQyLjc3MDA5OTYzOTg5MjU4XSwgWzE2NjM3NTExMDUuNDEwODY3MiwgMTQ2NywgNDEuMDQ5MzAxMTQ3NDYwOTRdLCBbMTY2Mzc1MTEwNS41NTY3MDI0LCAxNDg1LCA0Mi4wMjAzODU3NDIxODc1XSwgWzE2NjM3NTExMDYuMTM1MzAxOCwgMTU1NywgNDEuMTAwODg3Mjk4NTgzOTg0XSwgWzE2NjM3NTExMDYuNTAwNDc3NiwgMTYwMiwgNDAuNTI0MjA4MDY4ODQ3NjU2XSwgWzE2NjM3NTExMDcuMDA2MzM1MywgMTY2NSwgNDAuNDg5MTg5MTQ3OTQ5MjJdLCBbMTY2Mzc1MTEwNy4wODgwMTQsIDE2NzQsIDQwLjEyNTI3ODQ3MjkwMDM5XSwgWzE2NjM3NTExMDcuNTU3NzUxLCAxNzI4LCAzOS41NjA0MzI0MzQwODIwM10sIFsxNjYzNzUxMTA3LjgyOTgzNjgsIDE3MzcsIDQwLjIxNTQ2MTczMDk1NzAzXSwgWzE2NjM3NTExMDguNjM4NDc5NywgMTgzNiwgMzkuMTk0MTQxMzg3OTM5NDVdLCBbMTY2Mzc1MTEwOC43ODM5MDA3LCAxODU0LCAzOS43MzA1NDg4NTg2NDI1OF0sIFsxNjYzNzUxMTA5LjM5ODg0NTIsIDE5MjYsIDM4LjU4NzU0NzMwMjI0NjA5NF0sIFsxNjYzNzUxMTEwLjY4MjcxMDQsIDIwNzAsIDM5LjE4OTY4MjAwNjgzNTk0XSwgWzE2NjM3NTExMTEuOTUyMjM1LCAyMjA1LCAzOC41Nzg3MTI0NjMzNzg5MDZdLCBbMTY2Mzc1MTExMi4wNDgwODg4LCAyMjE0LCAzOC42MDc4Mzc2NzcwMDE5NV0sIFsxNjYzNzUxMTEzLjA1OTUzNjUsIDIzMzEsIDM4LjYxNTgyOTQ2Nzc3MzQ0XSwgWzE2NjM3NTExMTMuMTM4NzQ0LCAyMzQwLCAzOC4xOTA5Mjk0MTI4NDE4XSwgWzE2NjM3NTExMTQuMTQ0NDI1NCwgMjQ0OCwgMzcuOTE3Njg2NDYyNDAyMzQ0XSwgWzE2NjM3NTExMTQuNTExODM3NSwgMjQ3NSwgMzcuODMyMTM0MjQ2ODI2MTddLCBbMTY2Mzc1MTExNS41NTY2Nzc4LCAyNTQ3LCAzNy42NTMzNjYwODg4NjcxOV0sIFsxNjYzNzUxMTE1Ljc5MTU2NjQsIDI1NzQsIDM3LjY5ODI5NTU5MzI2MTcyXSwgWzE2NjM3NTExMTYuMDA3Mzc5LCAyNjAxLCAzNy4yOTQ4NjQ2NTQ1NDEwMTZdLCBbMTY2Mzc1MTExNi4xNjY0NjYsIDI2MTksIDM3LjU5MjQ3NTg5MTExMzI4XSwgWzE2NjM3NTExMTYuNTU5ODYzNiwgMjY2NCwgMzcuMzA4MjA4NDY1NTc2MTddLCBbMTY2Mzc1MTExNi43MDUzOTYsIDI2ODIsIDM3LjYyMjQyNTA3OTM0NTddLCBbMTY2Mzc1MTExNy42ODY0NjEsIDI3ODEsIDM2LjY0MzUxMjcyNTgzMDA4XSwgWzE2NjM3NTExMTguMDM2Mzc2LCAyODE3LCAzNi4xMjYyMzIxNDcyMTY4XSwgWzE2NjM3NTExMTguMzUxOTg5NywgMjg1MywgMzYuNDEyMTIwODE5MDkxOF0sIFsxNjYzNzUxMTE4LjUwNzg4MTQsIDI4NzEsIDM2LjE3NTQzMDI5Nzg1MTU2XSwgWzE2NjM3NTExMTguNTg3NzMzNSwgMjg4MCwgMzYuNDkyMDk5NzYxOTYyODldLCBbMTY2Mzc1MTExOC44MDQyMDI4LCAyOTA3LCAzNi44MTE4NDAwNTczNzMwNV0sIFsxNjYzNzUxMTIwLjgxNjIzODksIDMxMTQsIDM1Ljg3NzI1NDQ4NjA4Mzk4NF0sIFsxNjYzNzUxMTIwLjg5NDQyNTQsIDMxMjMsIDM1LjUxNDkwNDAyMjIxNjhdLCBbMTY2Mzc1MTEyMS45ODU1NDEzLCAzMjMxLCAzNS4xMTUyMDAwNDI3MjQ2MV0sIFsxNjYzNzUxMTIyLjY2MDQyMzgsIDMyODUsIDM0LjczMjU1MTU3NDcwNzAzXSwgWzE2NjM3NTExMjIuNzI4MzYzLCAzMjk0LCAzNS4yMDQ1OTc0NzMxNDQ1M10sIFsxNjYzNzUxMTIyLjgwODA0NjMsIDMzMDMsIDM0LjYzOTcxMzI4NzM1MzUxNl0sIFsxNjYzNzUxMTIzLjkyMzQwNDUsIDM0MTEsIDM0LjM1Njc5NjI2NDY0ODQ0XSwgWzE2NjM3NTExMjQuNTI0NzYxNywgMzQ4MywgMzQuMTczNzc4NTMzOTM1NTVdLCBbMTY2Mzc1MTEyNC44MTQwMDUxLCAzNTE5LCAzMy41OTAyMjE0MDUwMjkzXSwgWzE2NjM3NTExMjQuOTYwMjE2NSwgMzUzNywgMzQuNjkyNTY5NzMyNjY2MDE2XSwgWzE2NjM3NTExMjUuMzUyMzc1NSwgMzU4MiwgMzMuNjA5MTk1NzA5MjI4NTE2XSwgWzE2NjM3NTExMjUuNzQ1NTI2NiwgMzYyNywgMzMuNzI4MzQzOTYzNjIzMDVdLCBbMTY2Mzc1MTEyNS45MTkyNzQzLCAzNjQ1LCAzMy41MzA1NTk1Mzk3OTQ5Ml0sIFsxNjYzNzUxMTI2Ljk0ODczOTUsIDM3NDQsIDMzLjUyNTU3MzczMDQ2ODc1XSwgWzE2NjM3NTExMjcuMzk1NDUxMywgMzc5OCwgMzMuMzU3MjA0NDM3MjU1ODZdLCBbMTY2Mzc1MTEyNy40Nzc0MDkxLCAzODA3LCAzMy40NDI5NjY0NjExODE2NF0sIFsxNjYzNzUxMTI4LjczNDgxNSwgMzkzMywgMzIuNjAwMzU3MDU1NjY0MDZdLCBbMTY2Mzc1MTEyOC44MDQ0MzE3LCAzOTQyLCAzMi4zNjYwNjU5NzkwMDM5MDZdLCBbMTY2Mzc1MTEyOC45NTE5ODczLCAzOTYwLCAzMi43NTQ1NTg1NjMyMzI0Ml0sIFsxNjYzNzUxMTI5LjQ3MTE4MTQsIDQwMjMsIDMyLjE4MTU1NjcwMTY2MDE1Nl0sIFsxNjYzNzUxMTMwLjIwMzEyOCwgNDA3NywgMzEuODc5OTQ5NTY5NzAyMTVdLCBbMTY2Mzc1MTEzMC40OTQ1ODgxLCA0MTEzLCAzMS45MjUzMTAxMzQ4ODc2OTVdLCBbMTY2Mzc1MTEzMC44NjQyMjM1LCA0MTU4LCAzMS4wMTEwNDkyNzA2Mjk4ODNdLCBbMTY2Mzc1MTEzMS4zNTA4NTU4LCA0MTk0LCAzMS4zMDkxMzkyNTE3MDg5ODRdLCBbMTY2Mzc1MTEzMS42Mjc3ODk3LCA0MjIxLCAzMC43MTcxMjQ5Mzg5NjQ4NDRdLCBbMTY2Mzc1MTEzMS43NzAwMTI0LCA0MjM5LCAzMS41NzE5NTA5MTI0NzU1ODZdLCBbMTY2Mzc1MTEzMi4wNjczODksIDQyNzUsIDMxLjM2NDIxNzc1ODE3ODcxXSwgWzE2NjM3NTExMzIuMTQxNjg1NywgNDI4NCwgMzEuNDY5NDQ4MDg5NTk5NjFdLCBbMTY2Mzc1MTEzMi41MTcwNTUzLCA0MzI5LCAzMC4xOTI1NjIxMDMyNzE0ODRdLCBbMTY2Mzc1MTEzMi41ODgzMTc0LCA0MzM4LCAzMC42MTIzMTk5NDYyODkwNjJdLCBbMTY2Mzc1MTEzMy4wMDk1Mjk2LCA0MzkyLCAyOS44MTMxOTIzNjc1NTM3MV0sIFsxNjYzNzUxMTM1LjAxNTkxMywgNDU5OSwgMjguMzE5MzExMTQxOTY3NzczXSwgWzE2NjM3NTExMzUuMTY5ODI4MiwgNDYxNywgMjguMDMxNjE0MzAzNTg4ODY3XSwgWzE2NjM3NTExMzUuMjQyNzUxNiwgNDYyNiwgMjguMjY0NDYxNTE3MzMzOTg0XSwgWzE2NjM3NTExMzUuMzE4MzcxNSwgNDYzNSwgMjcuNTM0MzU3MDcwOTIyODVdLCBbMTY2Mzc1MTEzNS41NTEzNzQyLCA0NjYyLCAyOC41MDExNzg3NDE0NTUwNzhdLCBbMTY2Mzc1MTEzNS42OTg3Nzg2LCA0NjgwLCAyNy41OTI0MjA1NzgwMDI5M10sIFsxNjYzNzUxMTM2LjgxNDMyNzUsIDQ4MDYsIDI3LjU2MjkxMTk4NzMwNDY4OF0sIFsxNjYzNzUxMTM2Ljg4ODY2OTMsIDQ4MTUsIDI3LjUzNDAyOTAwNjk1ODAwOF0sIFsxNjYzNzUxMTM3LjIyNTQxLCA0ODMzLCAyNy4wNzQ5ODc0MTE0OTkwMjNdLCBbMTY2Mzc1MTEzNy4zNzI0ODMzLCA0ODUxLCAyNi44MzkzODQwNzg5Nzk0OTJdLCBbMTY2Mzc1MTEzNy41MjcwMTcsIDQ4NjksIDI2Ljg0MzY2NDE2OTMxMTUyM10sIFsxNjYzNzUxMTM3LjgxNzM2MDksIDQ5MDUsIDI2LjMwMTQxMDY3NTA0ODgyOF0sIFsxNjYzNzUxMTM3Ljk2MDM3MzksIDQ5MjMsIDI2LjM4ODIwNjQ4MTkzMzU5NF0sIFsxNjYzNzUxMTM4LjQxNDM3MzQsIDQ5NTksIDI2LjIyMTA0MDcyNTcwODAwOF0sIFsxNjYzNzUxMTM4LjU4MzM4MjEsIDQ5NzcsIDI2LjE1ODQzNzcyODg4MTgzNl0sIFsxNjYzNzUxMTM4Ljg5MTQ0NDcsIDUwMTMsIDI1LjgwOTE1ODMyNTE5NTMxMl0sIFsxNjYzNzUxMTM5LjUzNjM1NCwgNTA2NywgMjUuODg3MTExNjYzODE4MzZdLCBbMTY2Mzc1MTEzOS43MjM5MzA4LCA1MDg1LCAyNS41NDQ3NzUwMDkxNTUyNzNdLCBbMTY2Mzc1MTE0MC4wMDk0ODE3LCA1MTIxLCAyNS4zNDI0MTI5NDg2MDg0XSwgWzE2NjM3NTExNDEuMzU5MTI4NSwgNTI2NSwgMjQuMTg1OTQxNjk2MTY2OTkyXSwgWzE2NjM3NTExNDEuNDI5MTQ4NywgNTI3NCwgMjQuNTAwMDMyNDI0OTI2NzU4XSwgWzE2NjM3NTExNDEuODE3NjY1OCwgNTMxOSwgMjQuMjA2NDE1MTc2MzkxNl0sIFsxNjYzNzUxMTQyLjI5ODY1LCA1MzU1LCAyMy45MTY0OTgxODQyMDQxXSwgWzE2NjM3NTExNDIuNDgyNjg3LCA1MzczLCAyNC4wNzMzNTg1MzU3NjY2XSwgWzE2NjM3NTExNDQuMDUzOTc4NywgNTUyNiwgMjMuMTMwMDMxNTg1NjkzMzZdLCBbMTY2Mzc1MTE0NC4xMzIwMzE0LCA1NTM1LCAyMy41Mzg3MTE1NDc4NTE1NjJdLCBbMTY2Mzc1MTE0NS4xMTgwNDQ5LCA1NjA3LCAyMi45MTM2NzE0OTM1MzAyNzNdLCBbMTY2Mzc1MTE0NS4yMTE5NDEsIDU2MTYsIDIyLjY5NTQ5NzUxMjgxNzM4M10sIFsxNjYzNzUxMTQ1LjcyODA4NDMsIDU2NjEsIDIyLjQ4MDA3MjAyMTQ4NDM3NV0sIFsxNjYzNzUxMTQ1LjgwOTEzMjMsIDU2NzAsIDIyLjQ1MTMwMzQ4MjA1NTY2NF0sIFsxNjYzNzUxMTQ2LjUwMzg5MiwgNTc0MiwgMjIuMDk0MDE1MTIxNDU5OTZdLCBbMTY2Mzc1MTE0Ni45NzYzNDE1LCA1Nzk2LCAyMS44NDAzNzAxNzgyMjI2NTZdLCBbMTY2Mzc1MTE0Ny4wNDQ0MzQ4LCA1ODA1LCAyMS41NTk4NTY0MTQ3OTQ5MjJdLCBbMTY2Mzc1MTE0Ny40NDIzNTEzLCA1ODUwLCAyMS4yNjc0NTIyMzk5OTAyMzRdLCBbMTY2Mzc1MTE0OC4xMjMzMzgsIDU5MzEsIDIwLjg3MDkwNDkyMjQ4NTM1XSwgWzE2NjM3NTExNDguMjY2NTIwNSwgNTk0OSwgMjAuOTgzMDU4OTI5NDQzMzZdLCBbMTY2Mzc1MTE0OC44NTY1NzI5LCA2MDEyLCAyMC43NTcwMDE4NzY4MzEwNTVdLCBbMTY2Mzc1MTE0OS41MzYxMjUyLCA2MDg0LCAyMC40NjQ2MTEwNTM0NjY3OTddLCBbMTY2Mzc1MTE0OS42MTE1MjY3LCA2MDkzLCAyMC4zNDU4NzY2OTM3MjU1ODZdLCBbMTY2Mzc1MTE1MC4xOTQ0NjcsIDYxNjUsIDE5LjY5NTkzODExMDM1MTU2Ml0sIFsxNjYzNzUxMTUwLjc2MjUzNiwgNjIzNywgMTkuNTk2ODIwODMxMjk4ODI4XSwgWzE2NjM3NTExNTAuOTAzNzc1MiwgNjI1NSwgMTkuNjM0Mjk4MzI0NTg0OTZdLCBbMTY2Mzc1MTE1Mi4zMTg1Mjg0LCA2Mzk5LCAxOC42NjY2NDg4NjQ3NDYwOTRdLCBbMTY2Mzc1MTE1My4xODIyMDQ3LCA2NDk4LCAxOC4zNjUwODU2MDE4MDY2NF0sIFsxNjYzNzUxMTUzLjQyNjg5MTMsIDY1MTYsIDE4LjMzNzM4NTE3NzYxMjMwNV0sIFsxNjYzNzUxMTUzLjU5NzE5NCwgNjUzNCwgMTguNzY0NTQxNjI1OTc2NTYyXSwgWzE2NjM3NTExNTMuODE2NDc0MiwgNjU2MSwgMTguMDk5MzkwMDI5OTA3MjI3XSwgWzE2NjM3NTExNTMuODg0NDI0NCwgNjU3MCwgMTguMTM0MTI0NzU1ODU5Mzc1XSwgWzE2NjM3NTExNTQuMDQwNDk5LCA2NTg4LCAxNy43MzQ3OTI3MDkzNTA1ODZdLCBbMTY2Mzc1MTE1NC4xMTM3OTUzLCA2NTk3LCAxNy45NTA1MTU3NDcwNzAzMTJdLCBbMTY2Mzc1MTE1NC4yMjMxNzgsIDY2MDYsIDE4LjAwMjU0ODIxNzc3MzQzOF0sIFsxNjYzNzUxMTU0LjkzNzUxNDUsIDY2NTEsIDE4LjAxNjk5MDY2MTYyMTA5NF0sIFsxNjYzNzUxMTU1LjUwMzg2NTIsIDY3MDUsIDE3LjUwMzg3MTkxNzcyNDYxXSwgWzE2NjM3NTExNTcuMjI1NDkwMywgNjg4NSwgMTcuMTE0NDQ0NzMyNjY2MDE2XSwgWzE2NjM3NTExNTguMDg3NTY1NCwgNjk4NCwgMTYuNjkxNjk0MjU5NjQzNTU1XSwgWzE2NjM3NTExNTguMTcyMDM4OCwgNjk5MywgMTYuNTQ5MzI5NzU3NjkwNDNdLCBbMTY2Mzc1MTE1OC40OTY3MTQ4LCA3MDI5LCAxNi43NzE3NTkwMzMyMDMxMjVdLCBbMTY2Mzc1MTE1OC42NDg5NjIsIDcwNDcsIDE2LjA0NzUxMDE0NzA5NDcyN10sIFsxNjYzNzUxMTU5LjA1MDE3NTQsIDcxMDEsIDE2LjEzNDQxMjc2NTUwMjkzXSwgWzE2NjM3NTExNjAuMzkzMzg0LCA3MjQ1LCAxNS40NDc4OTAyODE2NzcyNDZdLCBbMTY2Mzc1MTE2MC40NzMyMSwgNzI1NCwgMTUuODI0NjM0NTUyMDAxOTUzXSwgWzE2NjM3NTExNjAuNjY2NDcsIDcyNzIsIDE1LjYwOTc1OTMzMDc0OTUxMl0sIFsxNjYzNzUxMTYwLjg4NjI4OTYsIDcyOTksIDE1LjUyMjkxODcwMTE3MTg3NV0sIFsxNjYzNzUxMTYxLjU5ODA3NjMsIDczODAsIDE1LjI0NzY1OTY4MzIyNzUzOV0sIFsxNjYzNzUxMTYyLjUyNjI4MTgsIDc0OTcsIDE0Ljc5ODIyMzQ5NTQ4MzM5OF0sIFsxNjYzNzUxMTYzLjEzNzQ4NywgNzU2OSwgMTQuNjA1ODIxNjA5NDk3MDddLCBbMTY2Mzc1MTE2My4zNzc2MDAyLCA3NTk2LCAxNC41MzY2ODY4OTcyNzc4MzJdLCBbMTY2Mzc1MTE2NC40MzUxMTUzLCA3NzIyLCAxNC41OTQwNzUyMDI5NDE4OTVdLCBbMTY2Mzc1MTE2NC43OTIzNzAzLCA3NzY3LCAxNC4wMzQzNDM3MTk0ODI0MjJdLCBbMTY2Mzc1MTE2NS4xNDIwMzY3LCA3ODAzLCAxNC40MTE0MzQxNzM1ODM5ODRdLCBbMTY2Mzc1MTE2NS42OTIzODksIDc4NDgsIDE0LjE2NDU5MDgzNTU3MTI4OV0sIFsxNjYzNzUxMTY2Ljc3MDM2NTIsIDc5NjUsIDEzLjg3NTI1OTM5OTQxNDA2Ml0sIFsxNjYzNzUxMTY2LjkyNzU4MjUsIDc5ODMsIDEzLjQ2NzE3NDUzMDAyOTI5N10sIFsxNjYzNzUxMTY3LjY1MTkxOTQsIDgwNjQsIDEzLjQyMzEzNzY2NDc5NDkyMl0sIFsxNjYzNzUxMTY3Ljc4OTM2MjcsIDgwODIsIDEzLjU1NzY4MTA4MzY3OTJdLCBbMTY2Mzc1MTE2OC4xMTI2NzksIDgxMTgsIDEzLjExNDIyMzQ4MDIyNDYxXSwgWzE2NjM3NTExNjguODQ1NTk4LCA4MTgxLCAxMy4xODA5NTc3OTQxODk0NTNdLCBbMTY2Mzc1MTE3MC44MTk3Mjg5LCA4Mzc5LCAxMi40MTIyOTUzNDE0OTE3XSwgWzE2NjM3NTExNzAuOTc0NTQ1LCA4Mzk3LCAxMi40MjM3ODA0NDEyODQxOF0sIFsxNjYzNzUxMTcxLjc1NjA5NDcsIDg0ODcsIDEyLjQ3MDYwMTA4MTg0ODE0NV0sIFsxNjYzNzUxMTcyLjMxMjE5MzQsIDg1NTAsIDEyLjI3MzEwNjU3NTAxMjIwN10sIFsxNjYzNzUxMTczLjU4ODE0MTIsIDg2NzYsIDExLjU3OTc5MDExNTM1NjQ0NV0sIFsxNjYzNzUxMTc0Ljc5MzYwODIsIDg4MjAsIDExLjUzMjQ0Njg2MTI2NzA5XSwgWzE2NjM3NTExNzUuMDA2NDcxNiwgODg0NywgMTEuMzExMTIwOTg2OTM4NDc3XSwgWzE2NjM3NTExNzUuNzk4ODkyNSwgODkzNywgMTEuMzI2MTQ5OTQwNDkwNzIzXSwgWzE2NjM3NTExNzUuOTQ1MDk4NiwgODk1NSwgMTEuMjAwMTgxOTYxMDU5NTddLCBbMTY2Mzc1MTE3Ni4zMTU2MDc4LCA5MDAwLCAxMS4xMzUxMTc1MzA4MjI3NTRdLCBbMTY2Mzc1MTE3Ni41MzUxODU2LCA5MDI3LCAxMC43OTA1MTc4MDcwMDY4MzZdLCBbMTY2Mzc1MTE3Ni42ODY2OTEzLCA5MDQ1LCAxMC45MTc5OTU0NTI4ODA4Nl0sIFsxNjYzNzUxMTc3LjQ5NDAzMTQsIDkxNDQsIDEwLjcxMzk0OTIwMzQ5MTIxMV0sIFsxNjYzNzUxMTc3Ljk4NjgzMjYsIDkyMDcsIDEwLjYwNjc1MTQ0MTk1NTU2Nl0sIFsxNjYzNzUxMTc4LjI5MTcwOTQsIDkyNDMsIDEwLjU3OTQ3MjU0MTgwOTA4Ml0sIFsxNjYzNzUxMTc4LjQ0NTQ5ODcsIDkyNjEsIDEwLjUxNzY4OTcwNDg5NTAyXSwgWzE2NjM3NTExNzkuNjIzMDMzNSwgOTM0MiwgMTAuMzk0MzY5MTI1MzY2MjExXSwgWzE2NjM3NTExODEuMTAwOTE1NCwgOTUxMywgOS45MDkyMTIxMTI0MjY3NThdLCBbMTY2Mzc1MTE4Mi4xNTU1NzQsIDk2MzksIDkuNjUzMDY3NTg4ODA2MTUyXSwgWzE2NjM3NTExODIuMjM0MDUxMiwgOTY0OCwgOS43MTQ1NDA0ODE1NjczODNdLCBbMTY2Mzc1MTE4Mi4zODExNTM4LCA5NjY2LCA5LjU0OTMyMzA4MTk3MDIxNV0sIFsxNjYzNzUxMTgyLjY4Nzc2NywgOTcwMiwgOS40ODgzNjcwODA2ODg0NzddLCBbMTY2Mzc1MTE4My4zNDI0MzE1LCA5NzgzLCA5LjQwMzA5MTQzMDY2NDA2Ml0sIFsxNjYzNzUxMTg0LjIzMDQ4NjksIDk4OTEsIDkuMTM2MDc4ODM0NTMzNjkxXSwgWzE2NjM3NTExODQuNjc0ODkyNCwgOTkyNywgOS4zMzc4NjI5Njg0NDQ4MjRdLCBbMTY2Mzc1MTE4NC44MDk3MDcyLCA5OTQ1LCA5LjA4OTgzMzI1OTU4MjUyXSwgWzE2NjM3NTExODUuMDI2ODE1NCwgOTk3MiwgOS4zNTgyOTgzMDE2OTY3NzddLCBbMTY2Mzc1MTE4NS4xNzM2MDMzLCA5OTkwLCA5LjI2MzIyMTc0MDcyMjY1Nl0sIFsxNjYzNzUxMTg1LjM3MjkwNiwgMTAwMDgsIDguOTc5NjE4MDcyNTA5NzY2XSwgWzE2NjM3NTExODYuNDcyOTA5NSwgMTAwOTgsIDguODY4MDkxNTgzMjUxOTUzXSwgWzE2NjM3NTExODYuODA4NDYzNiwgMTAxMzQsIDguODc2ODE3NzAzMjQ3MDddLCBbMTY2Mzc1MTE4Ni44OTg2Mjc4LCAxMDE0MywgOC43Mjk3Njc3OTkzNzc0NDFdLCBbMTY2Mzc1MTE4Ny4xMzcwMzcsIDEwMTcwLCA4LjY1Mzc1ODA0OTAxMTIzXSwgWzE2NjM3NTExODcuMzU3MjE0NywgMTAxOTcsIDguODQxNzY4MjY0NzcwNTA4XSwgWzE2NjM3NTExODcuNDk5MDM1LCAxMDIxNSwgOC42Njc2NTIxMzAxMjY5NTNdLCBbMTY2Mzc1MTE4Ny44NjM0NDA4LCAxMDI2MCwgOC40Nzc0NTMyMzE4MTE1MjNdLCBbMTY2Mzc1MTE4OC4zODY5MzEyLCAxMDMyMywgOC4zOTE0MTg0NTcwMzEyNV0sIFsxNjYzNzUxMTg4LjgyNzA3NzIsIDEwMzY4LCA4LjI5Njg4ODM1MTQ0MDQzXSwgWzE2NjM3NTExODguOTU0OTIyLCAxMDM3NywgOC4yMTAxODk4MTkzMzU5MzhdLCBbMTY2Mzc1MTE4OS44OTAxNzIyLCAxMDQ4NSwgOC4yNzExNTUzNTczNjA4NF0sIFsxNjYzNzUxMTkwLjgxNzE1OTQsIDEwNTc1LCA3Ljk1MzAyMDA5NTgyNTE5NV0sIFsxNjYzNzUxMTkxLjA0MTg3MzIsIDEwNTkzLCA3Ljc3NTEwNzM4MzcyODAyN10sIFsxNjYzNzUxMTkxLjEzOTY2MSwgMTA2MDIsIDguMDQ0MzIzOTIxMjAzNjEzXSwgWzE2NjM3NTExOTEuNzAyNzAxOCwgMTA2NjUsIDcuNzA2MTQ4MTQ3NTgzMDA4XSwgWzE2NjM3NTExOTIuMzEwNjUyNSwgMTA3MTAsIDcuOTg2MTU0MDc5NDM3MjU2XSwgWzE2NjM3NTExOTIuNjI4OTA1MywgMTA3NDYsIDcuNTM2NzI2NDc0NzYxOTYzXSwgWzE2NjM3NTExOTIuNzA3MjA2NSwgMTA3NTUsIDcuNjQ4OTI5NTk1OTQ3MjY2XSwgWzE2NjM3NTExOTMuNjE1NDM0LCAxMDg2MywgNy41NTUxMDY2Mzk4NjIwNjA1XSwgWzE2NjM3NTExOTQuMjMwMTA1NiwgMTA5MzUsIDcuMzQzODk4NzczMTkzMzU5XSwgWzE2NjM3NTExOTQuNTUyMzQxMiwgMTA5NzEsIDcuMzk1OTk3NTI0MjYxNDc1XSwgWzE2NjM3NTExOTQuOTE1NTA1LCAxMTAxNiwgNy42OTMwOTQ3MzAzNzcxOTddLCBbMTY2Mzc1MTE5NS4wNjk4ODE0LCAxMTAzNCwgNy4yOTcxNjMwMDk2NDM1NTVdLCBbMTY2Mzc1MTE5NS40MTkxNDMsIDExMDcwLCA3LjE1NTYxMjk0NTU1NjY0MV0sIFsxNjYzNzUxMTk2LjY0NDg2NDgsIDExMjA1LCA3LjAzNDM5OTk4NjI2NzA5XSwgWzE2NjM3NTExOTYuNzk1NDQ3MywgMTEyMjMsIDcuMTY0Njk2MjE2NTgzMjUyXSwgWzE2NjM3NTExOTcuMTcyMjY4OSwgMTEyNjgsIDcuMTEwMjQxNDEzMTE2NDU1XSwgWzE2NjM3NTExOTcuMjc3NTQ3MSwgMTEyNzcsIDcuMTUwMTA4MzM3NDAyMzQ0XSwgWzE2NjM3NTExOTcuNDIxNjIzLCAxMTI5NSwgNy4wMDcyNzMxOTcxNzQwNzJdLCBbMTY2Mzc1MTE5Ny42NTI3ODUsIDExMzIyLCA3LjA5NzcyODcyOTI0ODA0N10sIFsxNjYzNzUxMTk3Ljk0MDcyOTEsIDExMzU4LCA2Ljk4NjAwNzY5MDQyOTY4NzVdLCBbMTY2Mzc1MTE5OC40MzcwMzAzLCAxMTQxMiwgNi44NDczMTc2OTU2MTc2NzZdLCBbMTY2Mzc1MTE5OC43NjA1OTMyLCAxMTQ0OCwgNi45MjY2NTg2MzAzNzEwOTRdLCBbMTY2Mzc1MTE5OS4zODEzODYzLCAxMTQ5MywgNi43NTc0MjE0OTM1MzAyNzNdLCBbMTY2Mzc1MTE5OS44MjQ2NTYsIDExNTQ3LCA2LjY3MzE1MzQwMDQyMTE0M10sIFsxNjYzNzUxMjAwLjA2MTQwNTcsIDExNTc0LCA2Ljc1ODIzMDY4NjE4Nzc0NF0sIFsxNjYzNzUxMjAwLjQwMzA2MiwgMTE2MTksIDYuNjUxNTYwNzgzMzg2MjMwNV0sIFsxNjYzNzUxMjAwLjYxNDg2NDMsIDExNjQ2LCA2LjQ0MTg3NjQxMTQzNzk4OF0sIFsxNjYzNzUxMjAxLjAwMDM5NDYsIDExNjkxLCA2LjQ1NDA1OTEyMzk5MjkyXSwgWzE2NjM3NTEyMDEuMjg4MDY5LCAxMTcyNywgNi42MzI2MzcwMjM5MjU3ODFdLCBbMTY2Mzc1MTIwMS41NzM1NzYsIDExNzYzLCA2LjU4MjAxNzg5ODU1OTU3XSwgWzE2NjM3NTEyMDIuMjc5MTIxNCwgMTE4NDQsIDYuNDUyNjQwNTMzNDQ3MjY2XSwgWzE2NjM3NTEyMDIuOTEwNjUyLCAxMTkwNywgNi4zNTQ2OTEwMjg1OTQ5NzFdLCBbMTY2Mzc1MTIwMy4xNTE1MDY0LCAxMTkzNCwgNi4yNjAwNzU1NjkxNTI4MzJdLCBbMTY2Mzc1MTIwMy4yMzU4NTA4LCAxMTk0MywgNi4yOTYwOTg3MDkxMDY0NDVdLCBbMTY2Mzc1MTIwMy45MDU1NjIyLCAxMjAyNCwgNi4xMzkzOTQ3NjAxMzE4MzZdLCBbMTY2Mzc1MTIwNC42ODE1MDk3LCAxMjExNCwgNi4wNzQzMDc0NDE3MTE0MjZdLCBbMTY2Mzc1MTIwNS4zNDgzNjI0LCAxMjE5NSwgNi4xNDE1NjQzNjkyMDE2Nl0sIFsxNjYzNzUxMjA2LjAwOTY5OTYsIDEyMjQ5LCA2LjA4MTQ5NzY2OTIxOTk3MV0sIFsxNjYzNzUxMjA2LjMxOTYwNDQsIDEyMjg1LCA1Ljk3MjE1MzE4Njc5ODA5Nl0sIFsxNjYzNzUxMjA3LjI1NTY3MSwgMTIzODQsIDUuODM2MDcxOTY4MDc4NjEzXSwgWzE2NjM3NTEyMDcuMzQ0Mjg4NiwgMTIzOTMsIDUuOTEyMTgzMjg0NzU5NTIxNV0sIFsxNjYzNzUxMjA3LjY2OTgyNjMsIDEyNDI5LCA1Ljg2NDAzNjU2MDA1ODU5NF0sIFsxNjYzNzUxMjA4Ljc1ODEzODcsIDEyNTQ2LCA1LjgxNzI3MjY2MzExNjQ1NV0sIFsxNjYzNzUxMjEwLjcyOTAwODcsIDEyNzYyLCA1LjcxNDQyNjk5NDMyMzczMDVdLCBbMTY2Mzc1MTIxMi4zMDk3MDUsIDEyOTMzLCA1LjQ2ODU2ODgwMTg3OTg4M10sIFsxNjYzNzUxMjEyLjQ0ODM5NjQsIDEyOTUxLCA1LjM3MDI3NzQwNDc4NTE1Nl0sIFsxNjYzNzUxMjEyLjcxMDEzOSwgMTI5NjAsIDUuNTEyNjg5MTEzNjE2OTQzXSwgWzE2NjM3NTEyMTIuNzg2NTM2LCAxMjk2OSwgNS40MjM3MzM3MTEyNDI2NzZdLCBbMTY2Mzc1MTIxMy43Mzk2NjAzLCAxMzA1MCwgNS41MDAxMTczMDE5NDA5MThdLCBbMTY2Mzc1MTIxNC40ODQ3MDg1LCAxMzEyMiwgNS4zMTk2MTY3OTQ1ODYxODJdLCBbMTY2Mzc1MTIxNC41NjMyOTUsIDEzMTMxLCA1LjMzMTMzNjAyMTQyMzM0XSwgWzE2NjM3NTEyMTQuODAzNTQyLCAxMzE1OCwgNS4zMDA0MTA3NDc1MjgwNzZdLCBbMTY2Mzc1MTIxNi4wMTk1MzE3LCAxMzI3NSwgNS4xOTIxMTAwNjE2NDU1MDhdLCBbMTY2Mzc1MTIxNi4yNDg3ODksIDEzMjkzLCA1LjE5OTIwNjM1MjIzMzg4N10sIFsxNjYzNzUxMjE3LjI2MDc1ODksIDEzMzkyLCA1LjE3MTQ2MTU4MjE4MzgzOF0sIFsxNjYzNzUxMjE3LjU1NzE0NjgsIDEzNDE5LCA1LjE0Mjc2OTgxMzUzNzU5OF0sIFsxNjYzNzUxMjE3LjkzNTgwNywgMTM0NTUsIDUuMjA1NTExNTY5OTc2ODA3XSwgWzE2NjM3NTEyMTguMjI5ODE0OCwgMTM0OTEsIDUuMjAwNzA4ODY2MTE5Mzg1XSwgWzE2NjM3NTEyMTguNTU5NzM5OCwgMTM1MjcsIDUuMDc3ODk1MTY0NDg5NzQ2XSwgWzE2NjM3NTEyMTkuMTEzNjAyNCwgMTM1OTAsIDUuMTA1MTM0OTYzOTg5MjU4XSwgWzE2NjM3NTEyMTkuMTkwNTY4NCwgMTM1OTksIDUuMDU5NTA0OTg1ODA5MzI2XSwgWzE2NjM3NTEyMTkuNDE1MzE3MywgMTM2MjYsIDUuMDQyMzE2OTEzNjA0NzM2XSwgWzE2NjM3NTEyMTkuNjQyNzI2MiwgMTM2NTMsIDUuMTM0NzMyNzIzMjM2MDg0XSwgWzE2NjM3NTEyMjAuODY1MzAzLCAxMzc2MSwgNC44MzcyNTQ1MjQyMzA5NTddLCBbMTY2Mzc1MTIyMS4zMzg0MTU5LCAxMzgxNSwgNC45NjI2MTU0ODk5NTk3MTddLCBbMTY2Mzc1MTIyMS43MTM1NTQ5LCAxMzg1MSwgNC44ODg3MDM4MjMwODk2XSwgWzE2NjM3NTEyMjIuNjIzOTk1LCAxMzk0MSwgNC44MDc2ODQ0MjE1MzkzMDddLCBbMTY2Mzc1MTIyMi45MjMxMjgsIDEzOTY4LCA0LjgwNjg0ODA0OTE2MzgxOF0sIFsxNjYzNzUxMjI0LjEyMzU0NjYsIDE0MDk0LCA0LjcwMTY3MDE2OTgzMDMyMl0sIFsxNjYzNzUxMjI0LjM2NzkwNDQsIDE0MTIxLCA0Ljc5NTk2NjYyNTIxMzYyM10sIFsxNjYzNzUxMjI0Ljc4NTIyMSwgMTQxNjYsIDQuNjQ3MDI0MTU0NjYzMDg2XSwgWzE2NjM3NTEyMjUuMTAwMDY0MywgMTQxOTMsIDQuNzI1NzQzMjkzNzYyMjA3XSwgWzE2NjM3NTEyMjYuMDM4Mjg0MywgMTQyNzQsIDQuNjA0MDc1OTA4NjYwODg5XSwgWzE2NjM3NTEyMjcuMTY4NjcyNiwgMTQzNzMsIDQuNjY5NDM0MDcwNTg3MTU4XSwgWzE2NjM3NTEyMjcuNTcxNzE3LCAxNDQxOCwgNC40ODY0ODM1NzM5MTM1NzRdLCBbMTY2Mzc1MTIyNy43NDE1ODI2LCAxNDQzNiwgNC41Njc5MDU0MjYwMjUzOTFdLCBbMTY2Mzc1MTIzMC4wMDE4Njg3LCAxNDY1MiwgNC40OTA0Njc1NDgzNzAzNjFdLCBbMTY2Mzc1MTIzMC42MDE4MTc2LCAxNDcyNCwgNC40MTg3NTEyMzk3NzY2MTFdLCBbMTY2Mzc1MTIzMC43NDg5OTYzLCAxNDc0MiwgNC4zNTI3Mzg4NTcyNjkyODddLCBbMTY2Mzc1MTIzMS4wMzA5ODk0LCAxNDc2OSwgNC4zOTE1NzkxNTExNTM1NjQ1XSwgWzE2NjM3NTEyMzEuNTE2OTMyMiwgMTQ4MjMsIDQuMjc5Mzg3OTUwODk3MjE3XSwgWzE2NjM3NTEyMzEuNTkyOTI5LCAxNDgzMiwgNC4zMDkwNjAwOTY3NDA3MjNdLCBbMTY2Mzc1MTIzMi4xNzIzNzYsIDE0ODk1LCA0LjM3OTc0Nzg2NzU4NDIyODVdLCBbMTY2Mzc1MTIzMi44ODYwOTg0LCAxNDk2NywgNC4yMTI4NTI5NTQ4NjQ1MDJdLCBbMTY2Mzc1MTIzMy4yNTE1MTYzLCAxNTAwMywgNC4zMjYyNzU4MjU1MDA0ODhdLCBbMTY2Mzc1MTIzMy44MTE4MDk4LCAxNTAzOSwgNC4yMjEyMzE5Mzc0MDg0NDddLCBbMTY2Mzc1MTIzNC4xNDQwODc2LCAxNTA3NSwgNC4yODY0OTk1MDAyNzQ2NThdLCBbMTY2Mzc1MTIzNC40MjM5NTg4LCAxNTEwMiwgNC4xODMxOTAzNDU3NjQxNl0sIFsxNjYzNzUxMjM0LjYzNDg4MTcsIDE1MTIwLCA0LjI0MTQwNjQ0MDczNDg2M10sIFsxNjYzNzUxMjM1LjE1NDQyNTEsIDE1MTc0LCA0LjIxODgxODE4NzcxMzYyM10sIFsxNjYzNzUxMjM1LjkxNDI3MDYsIDE1MjU1LCA0LjA5MzQyMzM2NjU0NjYzMV0sIFsxNjYzNzUxMjM2Ljc5OTQ3NjEsIDE1MzI3LCA0LjExMzMwMzE4NDUwOTI3N10sIFsxNjYzNzUxMjM2LjkzNDUxODMsIDE1MzQ1LCA0LjExNTc3NjUzODg0ODg3N10sIFsxNjYzNzUxMjM3LjIyODMxNTYsIDE1MzcyLCA0LjI3NDE5NDI0MDU3MDA2OF0sIFsxNjYzNzUxMjM3LjQwMTc1NCwgMTUzOTAsIDQuMDY2NTcwNzU4ODE5NThdLCBbMTY2Mzc1MTIzNy40NzMwODIsIDE1Mzk5LCA0LjE3OTg4OTIwMjExNzkyXSwgWzE2NjM3NTEyMzcuNTQ4NDAzNywgMTU0MDgsIDQuMDQ4NjAwMTk2ODM4Mzc5XSwgWzE2NjM3NTEyMzguMDgwODgwNCwgMTU0NzEsIDQuMDAwOTA2OTQ0Mjc0OTAyXSwgWzE2NjM3NTEyMzguMzg5MzU0MiwgMTU1MDcsIDQuMDI2NDA3MjQxODIxMjg5XSwgWzE2NjM3NTEyMzguNDU4NTg1NSwgMTU1MTYsIDQuMDgxNDIzNzU5NDYwNDQ5XSwgWzE2NjM3NTEyMzkuMDI0MDY5MywgMTU1NzksIDMuOTY0MTgwOTQ2MzUwMDk3N10sIFsxNjYzNzUxMjM5LjczODkzNzksIDE1NjYwLCAzLjk0NDc3NDYyNzY4NTU0N10sIFsxNjYzNzUxMjQwLjA1MzYyNzMsIDE1Njk2LCAzLjk2OTkwMTU2MTczNzA2MDVdLCBbMTY2Mzc1MTI0MC4yODcyMjc2LCAxNTcxNCwgMy45MzQ1MzkwNzk2NjYxMzc3XSwgWzE2NjM3NTEyNDEuMzE3MTc1NiwgMTU3OTUsIDMuODgyOTA2MTk4NTAxNTg3XSwgWzE2NjM3NTEyNDIuNDIxODM4LCAxNTg5NCwgMy45MTY0NzI0MzQ5OTc1NTg2XSwgWzE2NjM3NTEyNDMuMjA4MjgxOCwgMTU5ODQsIDMuODg1MjA5Nzk4ODEyODY2XSwgWzE2NjM3NTEyNDMuMzUzODQzMiwgMTYwMDIsIDMuODg1Mjk4MDEzNjg3MTM0XSwgWzE2NjM3NTEyNDMuODY1NDEwOCwgMTYwNjUsIDMuODM2ODU5MjI2MjI2ODA2Nl0sIFsxNjYzNzUxMjQ0LjEyOTM5NjIsIDE2MDc0LCAzLjc1Mjg4MDU3MzI3MjcwNV0sIFsxNjYzNzUxMjQ0LjQyNTcxNzgsIDE2MTEwLCAzLjgwNzc5MzM3ODgyOTk1Nl0sIFsxNjYzNzUxMjQ0LjY2ODgwMTgsIDE2MTM3LCAzLjc4MjA2OTY4MzA3NDk1MV0sIFsxNjYzNzUxMjQ1LjIzMDIyNSwgMTYyMDksIDMuODA2MDM2OTQ5MTU3NzE1XSwgWzE2NjM3NTEyNDYuNjgwNDgyMSwgMTYzODAsIDMuNjY4ODg2ODk5OTQ4MTJdLCBbMTY2Mzc1MTI0Ni45NzMyMTI3LCAxNjQxNiwgMy43MTgzNzQwMTM5MDA3NTddLCBbMTY2Mzc1MTI0Ny40OTM1MTY0LCAxNjQ3OSwgMy41OTIyNjk4OTc0NjA5Mzc1XSwgWzE2NjM3NTEyNDcuOTM1NTA0MiwgMTY1MzMsIDMuNjI2NjYxNTM5MDc3NzU5XSwgWzE2NjM3NTEyNDguMTI1MDE1LCAxNjU1MSwgMy42MjAyMTg3NTM4MTQ2OTczXSwgWzE2NjM3NTEyNDguOTI2MzM5MSwgMTY2MzIsIDMuNTgzOTI0MDU1MDk5NDg3M10sIFsxNjYzNzUxMjQ5LjIzODg0NDYsIDE2NjY4LCAzLjUzMTUxMTA2ODM0NDExNl0sIFsxNjYzNzUxMjQ5LjkxNDU3MSwgMTY3NDksIDMuNDY1NTkwOTUzODI2OTA0M10sIFsxNjYzNzUxMjUwLjI5NDQ5MTMsIDE2Nzk0LCAzLjU1MjEyNzgzODEzNDc2NTZdLCBbMTY2Mzc1MTI1MC4zNzYzODY0LCAxNjgwMywgMy40ODI5MTY1OTM1NTE2MzU3XSwgWzE2NjM3NTEyNTAuNDU4MjY1OCwgMTY4MTIsIDMuNTQ0NTY4MDYxODI4NjEzM10sIFsxNjYzNzUxMjUyLjA3OTgwNTksIDE2OTU2LCAzLjQ0OTgwMTY4MzQyNTkwMzNdLCBbMTY2Mzc1MTI1Mi40Nzc2ODc4LCAxNzAwMSwgMy40MjUwOTAwNzQ1MzkxODQ2XSwgWzE2NjM3NTEyNTIuOTk2MTUyOSwgMTcwNjQsIDMuNDI0NDAzNjY3NDQ5OTUxXSwgWzE2NjM3NTEyNTMuMzYzODUwOCwgMTcxMDAsIDMuNDA3NzM3OTcwMzUyMTczXSwgWzE2NjM3NTEyNTMuNTk0MjEwNiwgMTcxMjcsIDMuNDUyMDk3MTc3NTA1NDkzXSwgWzE2NjM3NTEyNTQuMDkwMDU5MywgMTcxODEsIDMuMzk3NzI5NjM1MjM4NjQ3NV0sIFsxNjYzNzUxMjU0LjE2Njc5NTMsIDE3MTkwLCAzLjM4NTM4NDU1OTYzMTM0NzddLCBbMTY2Mzc1MTI1NC42NTA0OTI0LCAxNzIyNiwgMy4zNzI3MDUyMjExNzYxNDc1XSwgWzE2NjM3NTEyNTUuMTIyNDY0MiwgMTcyNzEsIDMuNTIxODQ3MDA5NjU4ODEzNV0sIFsxNjYzNzUxMjU1LjY1MDAxMTUsIDE3MzI1LCAzLjMxMTI1NDczOTc2MTM1MjVdLCBbMTY2Mzc1MTI1NS43MzQ2MjQ2LCAxNzMzNCwgMy4zOTg0MzAxMDkwMjQwNDhdLCBbMTY2Mzc1MTI1Ni41OTY0OTEzLCAxNzQzMywgMy40MDMzMzAwODc2NjE3NDNdLCBbMTY2Mzc1MTI1Ni45MDYyNzQzLCAxNzQ2OSwgMy4yNTk3OTU2NjU3NDA5NjddLCBbMTY2Mzc1MTI1Ni45ODQxMjQ3LCAxNzQ3OCwgMy4yODM4MDIyNzA4ODkyODIyXSwgWzE2NjM3NTEyNTcuNDY5Nzc2NCwgMTc1MTQsIDMuMzAzMjc3MjU0MTA0NjE0M10sIFsxNjYzNzUxMjU3LjYzOTA0OTgsIDE3NTMyLCAzLjI0Mzc2NDYzODkwMDc1N10sIFsxNjYzNzUxMjU4LjA4ODMyMjYsIDE3NTg2LCAzLjI5NjMxNTkwODQzMjAwN10sIFsxNjYzNzUxMjU4LjMyOTg3LCAxNzYxMywgMy4zMjI1MjQ3ODU5OTU0ODM0XSwgWzE2NjM3NTEyNTguODI0ODA5NiwgMTc2NDksIDMuMjEzNTgxMDg1MjA1MDc4XSwgWzE2NjM3NTEyNTguODkyMjI2NSwgMTc2NTgsIDMuMjc3MDk2NzQ4MzUyMDUxXSwgWzE2NjM3NTEyNTkuMDQ3MTIwMywgMTc2NzYsIDMuMjkwMjU3MjE1NDk5ODc4XSwgWzE2NjM3NTEyNTkuMTI3MjEzNSwgMTc2ODUsIDMuMjQ1MDQ5NDc2NjIzNTM1XSwgWzE2NjM3NTEyNTkuMjgzNzE0MywgMTc3MDMsIDMuMjU1ODczNjgwMTE0NzQ2XSwgWzE2NjM3NTEyNjAuMzI5MTEzNSwgMTc4MDIsIDMuMjQwMjIyNDU0MDcxMDQ1XSwgWzE2NjM3NTEyNjAuNDkyNTE2OCwgMTc4MjAsIDMuMjMzNzM5MTM3NjQ5NTM2XSwgWzE2NjM3NTEyNjEuMTcxMTA1NCwgMTc4OTIsIDMuMTg4ODQ3NzgwMjI3NjYxXSwgWzE2NjM3NTEyNjEuMjQ0MzkxLCAxNzkwMSwgMy4xNTI0Mjk4MTkxMDcwNTU3XSwgWzE2NjM3NTEyNjEuNDcxNTIwMiwgMTc5MjgsIDMuMjEzNjYwNDc4NTkxOTE5XSwgWzE2NjM3NTEyNjQuMjc3NjQ2MywgMTgyNDMsIDMuMDg0MTI2NzEwODkxNzIzNl0sIFsxNjYzNzUxMjY1LjAxMjM1MDgsIDE4MzMzLCAzLjAyMzM4MTcxMDA1MjQ5MDJdLCBbMTY2Mzc1MTI2Ni4xMTI0ODk3LCAxODQzMiwgMy4wMzAzNDczNDcyNTk1MjE1XSwgWzE2NjM3NTEyNjYuNzUxMzA5NCwgMTg1MDQsIDMuMDQ2NzUwMDY4NjY0NTUxXSwgWzE2NjM3NTEyNjcuNjA3NzQ2OCwgMTg2MTIsIDMuMDE3OTQ4ODY1ODkwNTAzXSwgWzE2NjM3NTEyNjcuOTQxNjYzLCAxODYzOSwgMy4xMDI1OTQzNzU2MTAzNTE2XSwgWzE2NjM3NTEyNjguODI1Nzc2LCAxODcyMCwgMi45MjA3MDU3OTUyODgwODZdLCBbMTY2Mzc1MTI2OS43NzI5OTkzLCAxODgxMCwgMi45NjU5MTQwMTEwMDE1ODddLCBbMTY2Mzc1MTI3MC41MzIzNTM5LCAxODg4MiwgMi45OTIzNTg0NDYxMjEyMTZdLCBbMTY2Mzc1MTI3MC44MjE2Mjg2LCAxODkwOSwgMi45MTA0MjYzNzgyNTAxMjJdLCBbMTY2Mzc1MTI3MS4wNTcxNTAxLCAxODkzNiwgMi45Mjk1MTc1MDc1NTMxMDA2XSwgWzE2NjM3NTEyNzEuNTI4ODc2OCwgMTg5OTAsIDIuOTc0MjI0ODA1ODMxOTA5XSwgWzE2NjM3NTEyNzEuOTIwMTg0OSwgMTkwMzUsIDIuODkyMjAxMTg1MjI2NDQwNF0sIFsxNjYzNzUxMjcyLjA3MDExMDYsIDE5MDQ0LCAzLjAxNDcxNTkwOTk1Nzg4NTddLCBbMTY2Mzc1MTI3Mi40OTkxMDgzLCAxOTA4MCwgMy4wMTkzNzI5NDAwNjM0NzY2XSwgWzE2NjM3NTEyNzIuNTc1NzE3NCwgMTkwODksIDIuOTQ3NjY1OTI5Nzk0MzExNV0sIFsxNjYzNzUxMjczLjM0MDAwMDIsIDE5MTUyLCAyLjkwNzg4NDM1OTM1OTc0MV0sIFsxNjYzNzUxMjc0LjA0NzI5MjUsIDE5MjMzLCAyLjgzMDk0MjM5MjM0OTI0M10sIFsxNjYzNzUxMjc0LjI2MjUzNjUsIDE5MjYwLCAyLjc5OTI5NTQyNTQxNTAzOV0sIFsxNjYzNzUxMjc2LjE3MjM1NzYsIDE5NDQwLCAyLjgzMTgxNDc2NTkzMDE3Nl0sIFsxNjYzNzUxMjc3LjA5MzYyMjIsIDE5NTMwLCAyLjgwNjY4MDQ0MDkwMjcxXSwgWzE2NjM3NTEyNzguNTU4OTg2MiwgMTk2OTIsIDIuNzU0Mjk4OTI1Mzk5NzgwM10sIFsxNjYzNzUxMjc5LjA1NTE5MTMsIDE5NzU1LCAyLjY5OTg4NDY1MzA5MTQzMDddLCBbMTY2Mzc1MTI3OS41NTUwMjg0LCAxOTgxOCwgMi43Njg4Njg0NDYzNTAwOTc3XSwgWzE2NjM3NTEyODAuMTA0MjM2NiwgMTk4OTAsIDIuNzEyODI1Nzc1MTQ2NDg0NF0sIFsxNjYzNzUxMjgwLjI1ODYzODEsIDE5OTA4LCAyLjY5NDk0ODY3MzI0ODI5MV0sIFsxNjYzNzUxMjgwLjc1MTIwNjQsIDE5OTQ0LCAyLjY2NzUxOTA5MjU1OTgxNDVdLCBbMTY2Mzc1MTI4MS4yMTM2ODIyLCAxOTk5OCwgMi43MDIzMjUzNDQwODU2OTM0XSwgWzE2NjM3NTEyODEuNTMxMDA5MiwgMjAwMzQsIDIuNjY0NjExNTc3OTg3NjcxXSwgWzE2NjM3NTEyODIuMzYxNTYxOCwgMjAxMzMsIDIuNzYxNTY0MjU0NzYwNzQyXSwgWzE2NjM3NTEyODIuNjM1MzUzNiwgMjAxNjAsIDIuNjg2OTIzMjY1NDU3MTUzM10sIFsxNjYzNzUxMjgyLjk4NDIwNDgsIDIwMjA1LCAyLjYyMDIyOTcyMTA2OTMzNl0sIFsxNjYzNzUxMjgzLjk1NTQ5LCAyMDMyMiwgMi42MDkzOTQ3ODg3NDIwNjU0XSwgWzE2NjM3NTEyODUuODM2MDYzLCAyMDUzOCwgMi42Mzk2Njc1MTA5ODYzMjhdLCBbMTY2Mzc1MTI4Ny40MTYwMDIzLCAyMDcwOSwgMi41NjgwODQ5NTUyMTU0NTRdLCBbMTY2Mzc1MTI4Ny44NzI5MzI0LCAyMDc1NCwgMi41NDQ5OTQ1OTI2NjY2MjZdLCBbMTY2Mzc1MTI4Ny45NDI3MjUyLCAyMDc2MywgMi41Nzk5NTE1MjQ3MzQ0OTddLCBbMTY2Mzc1MTI4OC45ODQxNTg1LCAyMDg1MywgMi42MjQwNTE4MDkzMTA5MTNdLCBbMTY2Mzc1MTI4OS4yMjc4OTc0LCAyMDg4MCwgMi41NjQ1NTg1MDYwMTE5NjNdLCBbMTY2Mzc1MTI4OS42MzAxMjYsIDIwOTI1LCAyLjQ5NTI4NTk4Nzg1NDAwNF0sIFsxNjYzNzUxMjkwLjI0NjE4OTYsIDIwOTk3LCAyLjUzMTYyNjIyNDUxNzgyMjNdLCBbMTY2Mzc1MTI5MS4wNzc1MzgsIDIxMDg3LCAyLjQ5ODc1NzgzOTIwMjg4MV0sIFsxNjYzNzUxMjkxLjk0Mjk2MywgMjExNzcsIDIuNTIxNjU2OTkwMDUxMjY5NV0sIFsxNjYzNzUxMjkyLjY2MjUwMDYsIDIxMjQwLCAyLjU2ODk2NjM4ODcwMjM5MjZdLCBbMTY2Mzc1MTI5My43MzIwMjQsIDIxMzY2LCAyLjUxNTAzODAxMzQ1ODI1Ml0sIFsxNjYzNzUxMjk1LjE0Mzc5MjIsIDIxNTEwLCAyLjQzNTIyNjkxNzI2Njg0NTddLCBbMTY2Mzc1MTI5NS40NjA4MDY4LCAyMTU0NiwgMi40MTM5NTg1NDk0OTk1MTE3XSwgWzE2NjM3NTEyOTUuNjM2NDU5NiwgMjE1NTUsIDIuNDEwMTQzMTM2OTc4MTQ5NF0sIFsxNjYzNzUxMjk1Ljg2ODc3MjMsIDIxNTgyLCAyLjQxNDI1ODcxODQ5MDYwMDZdLCBbMTY2Mzc1MTI5NS45NjA1NzA2LCAyMTU5MSwgMi40Nzc3MTY2ODQzNDE0MzA3XSwgWzE2NjM3NTEyOTguMjY0NjQ4NCwgMjE4NjEsIDIuMzk5NjQ5MTQzMjE4OTk0XSwgWzE2NjM3NTEyOTguNDkxMTU1LCAyMTg4OCwgMi41MDI0NjMxMDIzNDA2OTgyXSwgWzE2NjM3NTEyOTguNzkxNjQwMywgMjE5MjQsIDIuMzkwNzY1MTkwMTI0NTExN10sIFsxNjYzNzUxMjk4Ljg2NjQxMDUsIDIxOTMzLCAyLjQ0OTE1NjA0NTkxMzY5NjNdLCBbMTY2Mzc1MTI5OS4yNTQ2MzMsIDIxOTc4LCAyLjM4NDIzNzA1MTAxMDEzMl0sIFsxNjYzNzUxMjk5LjM0MDI1ODgsIDIxOTg3LCAyLjM2MzEzOTg2Nzc4MjU5MjhdLCBbMTY2Mzc1MTMwMC40MDkwNjIxLCAyMjA5NSwgMi4zODI5OTg5NDMzMjg4NTc0XSwgWzE2NjM3NTEzMDAuOTg3NTY5MywgMjIxNjcsIDIuMzcyMDg2NzYzMzgxOTU4XSwgWzE2NjM3NTEzMDEuMTQ0NTMsIDIyMTg1LCAyLjQxNzkwMDgwMDcwNDk1Nl0sIFsxNjYzNzUxMzAxLjIyNjg1MDcsIDIyMTk0LCAyLjM0NzcwMzQ1Njg3ODY2Ml0sIFsxNjYzNzUxMzAyLjk2MTE3NzMsIDIyMzc0LCAyLjMyMTQ3NTAyODk5MTY5OV0sIFsxNjYzNzUxMzAzLjg5NjAzOSwgMjI0NDYsIDIuMzY4ODMzNTQxODcwMTE3XSwgWzE2NjM3NTEzMDQuMjg5MTYzOCwgMjI0OTEsIDIuMjk4OTM2MTI4NjE2MzMzXSwgWzE2NjM3NTEzMDQuNDM3ODE3LCAyMjUwOSwgMi4zMjM4OTQyNjIzMTM4NDI4XSwgWzE2NjM3NTEzMDQuNzAzNjY5NSwgMjI1MzYsIDIuMzA0NDE0MDMzODg5NzcwNV0sIFsxNjYzNzUxMzA0LjgzMzQ0LCAyMjU1NCwgMi4yOTg1NTEwODI2MTEwODRdLCBbMTY2Mzc1MTMwNC44OTk3Mjg1LCAyMjU2MywgMi4zMzc3MDEzMjA2NDgxOTM0XSwgWzE2NjM3NTEzMDUuNzM2NDM2NCwgMjI2NjIsIDIuMzM1NDQzOTczNTQxMjU5OF0sIFsxNjYzNzUxMzA1LjgwNzQyNzQsIDIyNjcxLCAyLjM5NTY5MzU0MDU3MzEyXSwgWzE2NjM3NTEzMDUuODc0NjA2NCwgMjI2ODAsIDIuMzY5MDEzNzg2MzE1OTE4XSwgWzE2NjM3NTEzMDYuMDE5NTY1OCwgMjI2OTgsIDIuMjg4MDMzMDA4NTc1NDM5NV0sIFsxNjYzNzUxMzA2LjE2NjQ2NzQsIDIyNzE2LCAyLjMyMDQ4MTMwMDM1NDAwNF0sIFsxNjYzNzUxMzA2LjUyMDU1NjIsIDIyNzYxLCAyLjI5MjAyNDEzNTU4OTU5OTZdLCBbMTY2Mzc1MTMwNi42Njk0MTg4LCAyMjc3OSwgMi4yOTAxMjYzMjM2OTk5NTFdLCBbMTY2Mzc1MTMwNy40ODY5NDgsIDIyODUxLCAyLjI2MDY1ODc0MDk5NzMxNDVdLCBbMTY2Mzc1MTMxMC4xMzkzNzcsIDIzMDk0LCAyLjIzNzkyOTEwNTc1ODY2N10sIFsxNjYzNzUxMzEwLjI0MTM0ODUsIDIzMTAzLCAyLjI3NTYwOTk3MDA5Mjc3MzRdLCBbMTY2Mzc1MTMxMS4yNTkxNDQzLCAyMzIwMiwgMi4yNTk2MTc4MDU0ODA5NTddLCBbMTY2Mzc1MTMxMS4zNDE3NDU2LCAyMzIxMSwgMi4yNTExNTk0Mjk1NTAxNzFdLCBbMTY2Mzc1MTMxMi4xMjgxNTIsIDIzMzAxLCAyLjE5NzA2NDE2MTMwMDY1OV0sIFsxNjYzNzUxMzEyLjIwMDk3MTQsIDIzMzEwLCAyLjIyMTEyMzY5NTM3MzUzNV0sIFsxNjYzNzUxMzEyLjQ0MjAzOSwgMjMzMzcsIDIuMjc0OTk2NzU3NTA3MzI0XSwgWzE2NjM3NTEzMTMuMDI5NTAwMiwgMjM0MDAsIDIuMjIzMTU3MTY3NDM0NjkyNF0sIFsxNjYzNzUxMzEzLjc3ODExMSwgMjM0NjMsIDIuMTkwNjgzMTI2NDQ5NTg1XSwgWzE2NjM3NTEzMTQuODUzNDI3LCAyMzU4MCwgMi4xODA3Mjc5NTg2NzkxOTldLCBbMTY2Mzc1MTMxNS40NDcwODUxLCAyMzY1MiwgMi4xNDAxNzc3MjY3NDU2MDU1XSwgWzE2NjM3NTEzMTUuNTE2ODUyLCAyMzY2MSwgMi4xODIxODA4ODE1MDAyNDRdLCBbMTY2Mzc1MTMxNi4wNzMwNDIsIDIzNzI0LCAyLjIyNjQ0NDI0NDM4NDc2NTZdLCBbMTY2Mzc1MTMxNi4zNzAzNTAxLCAyMzc1MSwgMi4xNjMyNDg3NzczODk1MjY0XSwgWzE2NjM3NTEzMTYuNDM4NDA0OCwgMjM3NjAsIDIuMjM3NDY5MTk2MzE5NThdLCBbMTY2Mzc1MTMxNi41MjgwNTczLCAyMzc2OSwgMi4xNTcwNzc3ODkzMDY2NDA2XSwgWzE2NjM3NTEzMTYuOTYwNTM3NCwgMjM3OTYsIDIuMTcxNTU1OTk1OTQxMTYyXSwgWzE2NjM3NTEzMTguNTMzODc3LCAyMzk2NywgMi4yMDA3MjU3OTM4Mzg1MDFdLCBbMTY2Mzc1MTMxOS4xNTIxNTg3LCAyNDAzOSwgMi4xNDQ3MjYyNzYzOTc3MDVdLCBbMTY2Mzc1MTMxOS4yMjc1MzYyLCAyNDA0OCwgMi4xNDQwODMwMjMwNzEyODldLCBbMTY2Mzc1MTMxOS40MzE5NDQxLCAyNDA3NSwgMi4wNTc5MDA2NjcxOTA1NTE4XSwgWzE2NjM3NTEzMTkuOTkwMzkzNCwgMjQxMzgsIDIuMTY3OTI4Njk1Njc4NzExXSwgWzE2NjM3NTEzMjAuMjEzNDI1NiwgMjQxNjUsIDIuMDkyMjUwMTA4NzE4ODcyXSwgWzE2NjM3NTEzMjAuMzYzNTMxNCwgMjQxODMsIDIuMDY0Njg5Mzk3ODExODg5Nl0sIFsxNjYzNzUxMzIwLjYwNjE3MjYsIDI0MjEwLCAyLjE1NjcxMTgxNjc4NzcxOTddLCBbMTY2Mzc1MTMyMS4wMTEzMTQ2LCAyNDI0NiwgMi4xNzYwMDcwMzIzOTQ0MDldLCBbMTY2Mzc1MTMyMS45MjAyMjI1LCAyNDMyNywgMi4xMTI0OTE4NDYwODQ1OTQ3XSwgWzE2NjM3NTEzMjIuNDQ0OTYyNywgMjQzODEsIDIuMDkxMjQzNTA1NDc3OTA1M10sIFsxNjYzNzUxMzIyLjg1NzQ3NjIsIDI0NDI2LCAyLjA4NjQzMDMxMTIwMzAwM10sIFsxNjYzNzUxMzIzLjIxNTAyMTQsIDI0NDYyLCAyLjAzNDcxNjEyOTMwMjk3ODVdLCBbMTY2Mzc1MTMyMy40MjEwODc1LCAyNDQ4MCwgMi4wOTcxMTUyNzgyNDQwMTg2XSwgWzE2NjM3NTEzMjQuNDE4NTM5NSwgMjQ1NzAsIDIuMDg0MzA2MjQwMDgxNzg3XSwgWzE2NjM3NTEzMjQuNzUyMjY3OCwgMjQ1NzksIDIuMTQzNDMwMjMzMDAxNzA5XSwgWzE2NjM3NTEzMjUuMDgyMjY1NiwgMjQ2MTUsIDIuMDczOTgxNzYxOTMyMzczXSwgWzE2NjM3NTEzMjUuNDM0Mzk0NiwgMjQ2NjAsIDIuMDc1ODczMTM2NTIwMzg1N10sIFsxNjYzNzUxMzI1LjUwNDE2MjMsIDI0NjY5LCAyLjEzMDE0Njc0MTg2NzA2NTRdLCBbMTY2Mzc1MTMyNS41NzU3NjIsIDI0Njc4LCAyLjE1NDgzMzMxNjgwMjk3ODVdLCBbMTY2Mzc1MTMyNS44MDE0MzY0LCAyNDcwNSwgMi4wNjg3NzY4NDU5MzIwMDddLCBbMTY2Mzc1MTMyNi40NTUxNzA5LCAyNDc4NiwgMi4xMjkyNjk4MzgzMzMxM10sIFsxNjYzNzUxMzI2LjUzMTU5MjYsIDI0Nzk1LCAyLjA2OTc5Mjk4NTkxNjEzNzddLCBbMTY2Mzc1MTMyNi42MTU2OTY0LCAyNDgwNCwgMi4wOTQ0OTU1MzQ4OTY4NTA2XSwgWzE2NjM3NTEzMjcuMDA5NTI4NiwgMjQ4NDksIDIuMDI2OTc2NTg1Mzg4MTgzNl0sIFsxNjYzNzUxMzI3LjQwNDE4MDMsIDI0ODk0LCAyLjAzNzIzMTY4MzczMTA3OV0sIFsxNjYzNzUxMzI3LjYzODM2MzYsIDI0OTIxLCAyLjA3MTAyODQ3MDk5MzA0Ml0sIFsxNjYzNzUxMzI3Ljg4NDYyNjksIDI0OTQ4LCAyLjA2ODc4OTk1ODk1Mzg1NzRdLCBbMTY2Mzc1MTMyOC4wNDI1MjgsIDI0OTY2LCAyLjA2NTA0MjAxODg5MDM4MV0sIFsxNjYzNzUxMzI4LjE5MjQ1MDgsIDI0OTg0LCAyLjAwNTIwNDIwMDc0NDYyOV0sIFsxNjYzNzUxMzI4LjQzNzEwNSwgMjUwMTEsIDIuMDgyNDk5MDI3MjUyMTk3M10sIFsxNjYzNzUxMzI4Ljk1NjkyNDQsIDI1MDc0LCAyLjA4MzQyMjY2MDgyNzYzNjddLCBbMTY2Mzc1MTMyOS45MTE4Mjc2LCAyNTE4MiwgMi4wMzA2MTcyMzcwOTEwNjQ1XSwgWzE2NjM3NTEzMzAuMDY0NjY5NiwgMjUyMDAsIDIuMDM4ODMxNzEwODE1NDI5N10sIFsxNjYzNzUxMzMxLjA1MDgwMSwgMjUzMTcsIDIuMDE1NjM5MzA1MTE0NzQ2XSwgWzE2NjM3NTEzMzEuMTM2OTE1NywgMjUzMjYsIDIuMDQ0MDg4NjAyMDY2MDRdLCBbMTY2Mzc1MTMzMi4xMjk5ODg0LCAyNTQyNSwgMi4wNjQyNDcxMzEzNDc2NTYyXSwgWzE2NjM3NTEzMzIuODkwNjE4MywgMjU1MTUsIDIuMDM5MzExMTcwNTc4MDAzXSwgWzE2NjM3NTEzMzMuMjAwNjMwMiwgMjU1NTEsIDEuOTk1NzQ5MjM1MTUzMTk4Ml0sIFsxNjYzNzUxMzMzLjY0MDk3NDUsIDI1NjA1LCAyLjA3ODA5MTE0NDU2MTc2NzZdLCBbMTY2Mzc1MTMzNC4xNjQ0NTExLCAyNTY2OCwgMi4wMTAxNjI1OTE5MzQyMDRdLCBbMTY2Mzc1MTMzNC4yMzk1NTE4LCAyNTY3NywgMS45OTYwNTUwMDY5ODA4OTZdLCBbMTY2Mzc1MTMzNC42NTY2OTIsIDI1NzIyLCAyLjAwNjQ2ODI5NjA1MTAyNTRdLCBbMTY2Mzc1MTMzNC45NjEwMTQ3LCAyNTc1OCwgMS45Mzk5MzgzMDY4MDg0NzE3XSwgWzE2NjM3NTEzMzUuMDM1NDg2NSwgMjU3NjcsIDEuOTYzODY4NjE4MDExNDc0Nl0sIFsxNjYzNzUxMzM2LjQ4MTMyNCwgMjU5MzgsIDEuOTMwNzU3MDQ1NzQ1ODQ5Nl0sIFsxNjYzNzUxMzM2LjU1MjcwMDgsIDI1OTQ3LCAxLjk1NDY5MzA3ODk5NDc1MV0sIFsxNjYzNzUxMzM3LjIwNDY1ODcsIDI2MDI4LCAxLjkzNzU5MjI2Nzk5MDExMjNdLCBbMTY2Mzc1MTMzNy4zNTk2NDM1LCAyNjA0NiwgMS45NTkxODg5MzgxNDA4NjkxXSwgWzE2NjM3NTEzMzcuNTE2NjY5OCwgMjYwNjQsIDEuOTk0NjM3MDEyNDgxNjg5NV0sIFsxNjYzNzUxMzM4LjMzMDk1NiwgMjYxMzYsIDEuOTA0ODQ5NzY3Njg0OTM2NV0sIFsxNjYzNzUxMzM4LjkyMDM0MiwgMjYyMDgsIDEuOTgzMzcwOTAwMTU0MTEzOF0sIFsxNjYzNzUxMzM5LjI0ODc5ODEsIDI2MjQ0LCAxLjk1NjIxNjQ1NDUwNTkyMDRdLCBbMTY2Mzc1MTMzOS40OTA3NTgyLCAyNjI3MSwgMS45Njg4NTA5NzAyNjgyNDk1XSwgWzE2NjM3NTEzMzkuNjUyNzc4LCAyNjI4OSwgMS45MzMyNDM3NTE1MjU4NzldLCBbMTY2Mzc1MTMzOS43MzMyNjE2LCAyNjI5OCwgMS45NDAzNTI3OTc1MDgyMzk3XSwgWzE2NjM3NTEzMzkuOTQ4NDQ3NywgMjYzMjUsIDEuODk3ODE3NjExNjk0MzM2XSwgWzE2NjM3NTEzNDAuNDMwMzYxNywgMjYzNzksIDEuOTA5NTIzMjQ4NjcyNDg1NF0sIFsxNjYzNzUxMzQwLjc3ODIwNCwgMjY0MTUsIDEuOTI1MTY1NjUzMjI4NzU5OF0sIFsxNjYzNzUxMzQwLjg1NzY1NzQsIDI2NDI0LCAxLjg4NTk4ODQ3Mzg5MjIxMl0sIFsxNjYzNzUxMzQyLjUwNjY0MywgMjY1NTAsIDEuOTE0MjAyMDk0MDc4MDY0XSwgWzE2NjM3NTEzNDIuNzgyNzQ4NywgMjY1NzcsIDEuOTY5NjI0NzU3NzY2NzIzNl0sIFsxNjYzNzUxMzQzLjAxMzg0NjIsIDI2NjA0LCAxLjkwNTMwMDM3ODc5OTQzODVdLCBbMTY2Mzc1MTM0My41OTAzMDU2LCAyNjY2NywgMS45MTcxMzU5NTM5MDMxOTgyXSwgWzE2NjM3NTEzNDMuODk4NjkwNSwgMjY2OTQsIDEuODk1ODM2OTQ5MzQ4NDQ5N10sIFsxNjYzNzUxMzQ0LjA5NzU3NSwgMjY3MTIsIDEuODYwMjIxOTgyMDAyMjU4M10sIFsxNjYzNzUxMzQ0LjcwNTI2MjIsIDI2NzY2LCAxLjg5Nzg5MjIzNjcwOTU5NDddLCBbMTY2Mzc1MTM0NS4xNDIxMTQ2LCAyNjgxMSwgMS45NTA2MTAzOTkyNDYyMTU4XSwgWzE2NjM3NTEzNDUuNzA5MDEzMiwgMjY4NjUsIDEuODYxOTMyNzU0NTE2NjAxNl0sIFsxNjYzNzUxMzQ1Ljk0MDg0OSwgMjY4ODMsIDEuODg4NDMyNjIxOTU1ODcxNl0sIFsxNjYzNzUxMzQ2Ljc1MTE1MywgMjY5NDYsIDEuODc2NzMxMzk1NzIxNDM1NV0sIFsxNjYzNzUxMzQ3LjAzNTg2MjcsIDI2OTczLCAxLjg1NTI2NTAyMTMyNDE1NzddLCBbMTY2Mzc1MTM0Ny4zMzM4NjYsIDI3MDAwLCAxLjkwNDQzNTI3Njk4NTE2ODVdLCBbMTY2Mzc1MTM0Ny42MjIwNDc0LCAyNzAyNywgMS45MTkzNjk2OTc1NzA4MDA4XSwgWzE2NjM3NTEzNDguMzUzODA1LCAyNzA5OSwgMS44NjAwOTE1NjcwMzk0ODk3XSwgWzE2NjM3NTEzNDkuMjQ4OTYsIDI3MTgwLCAxLjg1MjU1MDYyNTgwMTA4NjRdLCBbMTY2Mzc1MTM1MC4xMzE5MjYzLCAyNzI3MCwgMS44MTEyNDM1MzQwODgxMzQ4XSwgWzE2NjM3NTEzNTAuNTEwMjA5NiwgMjczMTUsIDEuOTE0ODc4NDg3NTg2OTc1XSwgWzE2NjM3NTEzNTEuNjE2MDc4MSwgMjc0MzIsIDEuODcyNTIyODMwOTYzMTM0OF0sIFsxNjYzNzUxMzUxLjc2MzEwOTQsIDI3NDUwLCAxLjg2MzI4NTMwMzExNTg0NDddLCBbMTY2Mzc1MTM1My4wOTQ5NzgsIDI3NjAzLCAxLjg1MDU1MDY1MTU1MDI5M10sIFsxNjYzNzUxMzUzLjMzNjc0NSwgMjc2MzAsIDEuODUzNzgyMjk2MTgwNzI1XSwgWzE2NjM3NTEzNTMuNzE3Nzk4MiwgMjc2NzUsIDEuODAzODk4NTcyOTIxNzUzXSwgWzE2NjM3NTEzNTQuNTU3NDA3MSwgMjc3NTYsIDEuODM0MjUyODM0MzIwMDY4NF0sIFsxNjYzNzUxMzU0LjYyMjIwMDUsIDI3NzY1LCAxLjgzOTI3NzAyOTAzNzQ3NTZdLCBbMTY2Mzc1MTM1NS4yNjIyNzc0LCAyNzgxOSwgMS44MTA4OTM2NTQ4MjMzMDMyXSwgWzE2NjM3NTEzNTUuODQ4Njg5LCAyNzg3MywgMS44MzE3NDQxOTQwMzA3NjE3XSwgWzE2NjM3NTEzNTYuNDk4NDU1LCAyNzkzNiwgMS44MjQxMzg2NDEzNTc0MjE5XSwgWzE2NjM3NTEzNTYuNTkzMzg0NywgMjc5NDUsIDEuNzg2MzA0NTkzMDg2MjQyN10sIFsxNjYzNzUxMzU2LjY3ODQ0MzcsIDI3OTU0LCAxLjg0MDkyMjQ3NDg2MTE0NV0sIFsxNjYzNzUxMzU2Ljg5NDU0ODIsIDI3OTcyLCAxLjg1MjAzNjIzNzcxNjY3NDhdLCBbMTY2Mzc1MTM1Ny4yNTg0Nzg2LCAyODAwOCwgMS43ODU2OTE5NzY1NDcyNDEyXSwgWzE2NjM3NTEzNTcuNTY1MTI3LCAyODA0NCwgMS43OTAyMTU0OTIyNDg1MzUyXSwgWzE2NjM3NTEzNTcuODU3ODksIDI4MDgwLCAxLjgzOTA1NjQ5MTg1MTgwNjZdLCBbMTY2Mzc1MTM1Ny45MzI0NDk2LCAyODA4OSwgMS44NDA3MDM4NDUwMjQxMDg5XSwgWzE2NjM3NTEzNTguMDAzNTQxMiwgMjgwOTgsIDEuODYwNjU0NTkyNTE0MDM4XSwgWzE2NjM3NTEzNTguMzY2NDY2NSwgMjgxNDMsIDEuODY2NTA4OTYwNzIzODc3XSwgWzE2NjM3NTEzNTguNTE5OTk5LCAyODE2MSwgMS43NzE2MzAxNjc5NjExMjA2XSwgWzE2NjM3NTEzNTkuMjgyMjMzNywgMjgyNTEsIDEuNzU1Mjk0Nzk5ODA0Njg3NV0sIFsxNjYzNzUxMzU5Ljk4Njg0NzQsIDI4MzE0LCAxLjgzNjc1NzA2Mzg2NTY2MTZdLCBbMTY2Mzc1MTM2Mi42ODM4NDc0LCAyODU2NiwgMS43MzcyMDAwMjE3NDM3NzQ0XSwgWzE2NjM3NTEzNjMuMDgxODY2NSwgMjg2MTEsIDEuNzc5NzUyMzczNjk1MzczNV0sIFsxNjYzNzUxMzYzLjc5MTU3MywgMjg2OTIsIDEuNzU2NTQzMzk3OTAzNDQyNF0sIFsxNjYzNzUxMzY0LjAxNTgyMDMsIDI4NzE5LCAxLjcyMDYyNjExNTc5ODk1MDJdLCBbMTY2Mzc1MTM2NC4yNTA0MzczLCAyODczNywgMS43NDk1NTY1NDE0NDI4NzFdLCBbMTY2Mzc1MTM2NC44MzQzOTYsIDI4ODAwLCAxLjc2MTU1NDEyMTk3MTEzMDRdLCBbMTY2Mzc1MTM2NS4xNDk2NjE1LCAyODgzNiwgMS43MjQwNDQyMDM3NTgyMzk3XSwgWzE2NjM3NTEzNjUuMjcxMzA5LCAyODg0NSwgMS43NDA0NzIzMTY3NDE5NDM0XSwgWzE2NjM3NTEzNjUuOTc4OTg0NiwgMjg5MTcsIDEuNzY4NTg5NDk2NjEyNTQ4OF0sIFsxNjYzNzUxMzY2LjQxMzMyNjUsIDI4OTUzLCAxLjc5Nzc1MzQ1MzI1NDY5OTddLCBbMTY2Mzc1MTM2Ni40ODc4NzQ1LCAyODk2MiwgMS43NDg5MTE2MTkxODY0MDE0XSwgWzE2NjM3NTEzNjYuNzgwNDI4LCAyODk4OSwgMS44MTQ3NjI0NzMxMDYzODQzXSwgWzE2NjM3NTEzNjYuOTU5NzcwNywgMjkwMDcsIDEuNzQyNDYxMDg1MzE5NTE5XSwgWzE2NjM3NTEzNjcuNjAyODAyNSwgMjkwNzAsIDEuODAxMjk0NDQ1OTkxNTE2MV0sIFsxNjYzNzUxMzY4LjI0NjAyNDYsIDI5MTQyLCAxLjc2MjEwMjg0MjMzMDkzMjZdLCBbMTY2Mzc1MTM2OC42MDU3ODgsIDI5MTc4LCAxLjc0NTY4NDE0Njg4MTEwMzVdLCBbMTY2Mzc1MTM2OC43OTA1Nzk2LCAyOTE5NiwgMS43MjY4MDg3ODYzOTIyMTJdLCBbMTY2Mzc1MTM3MC45Mzc4MDU3LCAyOTM5NCwgMS43MjU3NTgwNzU3MTQxMTEzXSwgWzE2NjM3NTEzNzEuMTY0Mjg0NSwgMjk0MjEsIDEuNzQwODgwMTMxNzIxNDk2Nl0sIFsxNjYzNzUxMzcyLjA1MzMwNSwgMjk1MjksIDEuNzM0MTUwNDA5Njk4NDg2M10sIFsxNjYzNzUxMzczLjA2NDU3MDQsIDI5NjU1LCAxLjc0MDY1NDgyNjE2NDI0NTZdLCBbMTY2Mzc1MTM3My4zNjA1MTk2LCAyOTY5MSwgMS43NTY3Njc5ODgyMDQ5NTZdLCBbMTY2Mzc1MTM3My45NzE0MzIyLCAyOTc2MywgMS42NzgzOTI4ODcxMTU0Nzg1XSwgWzE2NjM3NTEzNzYuOTc2NjY0LCAzMDA2OSwgMS43MDU4OTgyODQ5MTIxMDk0XSwgWzE2NjM3NTEzNzcuNDgzNjY2MiwgMzAxMTQsIDEuNzUwODc3NjE4Nzg5NjcyOV0sIFsxNjYzNzUxMzc4LjUzODU2NTIsIDMwMjEzLCAxLjY5Mjc1NzI0ODg3ODQ3OV0sIFsxNjYzNzUxMzc5LjI1NDM4MjEsIDMwMjk0LCAxLjY4NTU1OTk4ODAyMTg1MDZdLCBbMTY2Mzc1MTM3OS42MjkxMDkxLCAzMDMzOSwgMS42NjgxNDg2MzY4MTc5MzIxXSwgWzE2NjM3NTEzNzkuNzc0NzI4OCwgMzAzNTcsIDEuNjUzMDA1ODM4Mzk0MTY1XSwgWzE2NjM3NTEzNzkuOTE3NzU1LCAzMDM3NSwgMS42NTY4MTM1MDIzMTE3MDY1XSwgWzE2NjM3NTEzODAuMjc1OTE3MywgMzA0MDIsIDEuNjc4NjE2NzYyMTYxMjU0OV0sIFsxNjYzNzUxMzgwLjQ0NjI4NzQsIDMwNDIwLCAxLjY2Mzc3MDU1NjQ0OTg5MDFdLCBbMTY2Mzc1MTM4MC44NTE5Mzc4LCAzMDQ2NSwgMS43MDI3MTM2MDg3NDE3NjAzXSwgWzE2NjM3NTEzODAuOTQwNDkxMiwgMzA0NzQsIDEuNjYxNzU5Mzc2NTI1ODc5XSwgWzE2NjM3NTEzODEuNTg2OTgzNCwgMzA1NDYsIDEuNjk4NjYyNDAwMjQ1NjY2NV0sIFsxNjYzNzUxMzgxLjY2ODU5NTgsIDMwNTU1LCAxLjY3Nzg4MDg4MzIxNjg1OF0sIFsxNjYzNzUxMzgxLjkwMTk4ODMsIDMwNTgyLCAxLjcyMTUzODY2MjkxMDQ2MTRdLCBbMTY2Mzc1MTM4Mi42MTA0MDY0LCAzMDY0NSwgMS42Njg3MDY1MzYyOTMwMjk4XSwgWzE2NjM3NTEzODIuOTY4MjE1NywgMzA2ODEsIDEuNjYxMjQ1NTg0NDg3OTE1XSwgWzE2NjM3NTEzODMuMDc2MDUyNCwgMzA2OTAsIDEuNjY0MzIwMzQ5NjkzMjk4M10sIFsxNjYzNzUxMzg0LjExODkzNDYsIDMwNzcxLCAxLjY1NjQ4ODI5OTM2OTgxMl0sIFsxNjYzNzUxMzg0LjUwMzIyNTYsIDMwODA3LCAxLjY2Mjg2MzQ5Mjk2NTY5ODJdLCBbMTY2Mzc1MTM4NC44NTI5NjAzLCAzMDg0MywgMS42MzIzMTU5OTMzMDkwMjFdLCBbMTY2Mzc1MTM4NS42NTE5NDk2LCAzMDkxNSwgMS42NDQ3NTQ1Mjg5OTkzMjg2XSwgWzE2NjM3NTEzODYuMDIxMjAwNywgMzA5NjAsIDEuNjUyNTEwODgxNDIzOTUwMl0sIFsxNjYzNzUxMzg3LjI4MjAyNDEsIDMxMDk1LCAxLjc1NjE5MjgwMzM4Mjg3MzVdLCBbMTY2Mzc1MTM4Ny4zNTIzNjI0LCAzMTEwNCwgMS43MDY1MDgyNzg4NDY3NDA3XSwgWzE2NjM3NTEzODcuNjY5NTg3OSwgMzExNDAsIDEuNjQ4MDQ5NDczNzYyNTEyMl0sIFsxNjYzNzUxMzg3LjgyNjA2ODIsIDMxMTU4LCAxLjY3NTM1ODQxNDY0OTk2MzRdLCBbMTY2Mzc1MTM4OC4zNjUxNzg4LCAzMTIyMSwgMS42MjQ1NTYzMDMwMjQyOTJdLCBbMTY2Mzc1MTM4OC42ODk4MzAzLCAzMTI1NywgMS42NDkwMDE5NTU5ODYwMjNdLCBbMTY2Mzc1MTM4OS4zODcwOTUsIDMxMzM4LCAxLjY0NzQzMDg5Njc1OTAzMzJdLCBbMTY2Mzc1MTM4OS40NjYwNjMsIDMxMzQ3LCAxLjYwNDI5Nzk5NTU2NzMyMThdLCBbMTY2Mzc1MTM4OS41NDU1MDk2LCAzMTM1NiwgMS42MjkxMzgzNTA0ODY3NTU0XSwgWzE2NjM3NTEzODkuNjIwNTk1NSwgMzEzNjUsIDEuNjIwOTY3NTA3MzYyMzY1N10sIFsxNjYzNzUxMzg5LjY5ODAxMywgMzEzNzQsIDEuNjA3OTUxMjgzNDU0ODk1XSwgWzE2NjM3NTEzOTAuMTAyOTEyNCwgMzE0MjgsIDEuNjUwOTYxNzU2NzA2MjM3OF0sIFsxNjYzNzUxMzkwLjI0NDg0ODUsIDMxNDQ2LCAxLjYxNTM1NDg5NTU5MTczNThdLCBbMTY2Mzc1MTM5MC40NjQyNzM3LCAzMTQ3MywgMS42NjIwMjg3ODk1MjAyNjM3XSwgWzE2NjM3NTEzOTAuNzAxOTM0OCwgMzE1MDAsIDEuNjM4ODcyMzg1MDI1MDI0NF0sIFsxNjYzNzUxMzkwLjc3MzI5MjgsIDMxNTA5LCAxLjYyNTk4NTM4Mzk4NzQyNjhdLCBbMTY2Mzc1MTM5MS4xODc2NzY0LCAzMTUzNiwgMS42MjE0MjgyNTEyNjY0Nzk1XSwgWzE2NjM3NTEzOTEuOTkwMzM3NiwgMzE2MzUsIDEuNjI4MTIzNjQxMDE0MDk5MV0sIFsxNjYzNzUxMzkyLjQ0NTAzMzYsIDMxNjg5LCAxLjYzNDYwMDc1ODU1MjU1MTNdLCBbMTY2Mzc1MTM5Mi44ODc5NiwgMzE3NDMsIDEuNjQzMTA0NjcyNDMxOTQ1OF0sIFsxNjYzNzUxMzkzLjU2OTE1NzgsIDMxODI0LCAxLjU1OTk4NTk5NTI5MjY2MzZdLCBbMTY2Mzc1MTM5My42NTUyOCwgMzE4MzMsIDEuNjQ4MzIwNzk0MTA1NTI5OF0sIFsxNjYzNzUxMzk0LjA3NTA4MywgMzE4NzgsIDEuNTk2NjIxNjMyNTc1OTg4OF0sIFsxNjYzNzUxMzk0LjMwMjgyMDIsIDMxOTA1LCAxLjYwMjMzMTk5NTk2NDA1MDNdLCBbMTY2Mzc1MTM5NC43NDQ0MDU1LCAzMTk1OSwgMS42MDEwOTYwMzQwNDk5ODc4XSwgWzE2NjM3NTEzOTUuMDI0MDI2MiwgMzE5OTUsIDEuNTc5MTc2NjY0MzUyNDE3XSwgWzE2NjM3NTEzOTUuMzI2MzkyNywgMzIwMzEsIDEuNjE4NTI2MjIwMzIxNjU1M10sIFsxNjYzNzUxMzk1Ljg5OTc2MjYsIDMyMTAzLCAxLjU5MDUzNDU2NzgzMjk0NjhdLCBbMTY2Mzc1MTM5Ni4xMzYwMDY2LCAzMjEzMCwgMS42MjM4NTQwNDEwOTk1NDgzXSwgWzE2NjM3NTEzOTYuNTc4MDUwNiwgMzIxODQsIDEuNTk2NDY3MTM3MzM2NzMxXSwgWzE2NjM3NTEzOTYuNjU1Mjg1NiwgMzIxOTMsIDEuNTYwODU3MDU3NTcxNDExMV0sIFsxNjYzNzUxMzk3LjI3MDQ0OTQsIDMyMjY1LCAxLjY1NjkyNDI0Nzc0MTY5OTJdLCBbMTY2Mzc1MTM5Ny43MDQzMDc4LCAzMjI5MiwgMS42MTYyMzg3MTMyNjQ0NjUzXSwgWzE2NjM3NTEzOTcuNzg1MDg5MywgMzIzMDEsIDEuNTg0MzUyMDE2NDQ4OTc0Nl0sIFsxNjYzNzUxMzk4Ljk1ODY0MTgsIDMyNDA5LCAxLjY4MTIzMDc4MzQ2MjUyNDRdLCBbMTY2Mzc1MTQwMC4xMDAwMDQ3LCAzMjUyNiwgMS42MzY4MTQxMTc0MzE2NDA2XSwgWzE2NjM3NTE0MDAuMjA2OTI5NywgMzI1MzUsIDEuNjQxNTgyMDEyMTc2NTEzN10sIFsxNjYzNzUxNDAwLjMxNzI2ODEsIDMyNTQ0LCAxLjU2OTg1NzAwMTMwNDYyNjVdLCBbMTY2Mzc1MTQwMC40MDgzMzcsIDMyNTUzLCAxLjYwMzk1MzEyMzA5MjY1MTRdLCBbMTY2Mzc1MTQwMS42MDA2OTIzLCAzMjY3OSwgMS41ODI2NzMzMTEyMzM1MjA1XSwgWzE2NjM3NTE0MDMuNTI3NDQxNywgMzI4OTUsIDEuNTU3MDc0NDI3NjA0Njc1M10sIFsxNjYzNzUxNDAzLjc5Mzc5NDYsIDMyOTIyLCAxLjU3NTk0OTE5MjA0NzExOTFdLCBbMTY2Mzc1MTQwNC4wMjU4NzM0LCAzMjk0MCwgMS41NTQzOTExNDU3MDYxNzY4XSwgWzE2NjM3NTE0MDQuMjM2NjExOCwgMzI5NTgsIDEuNTYzMzU0NDkyMTg3NV0sIFsxNjYzNzUxNDA0LjU1MDQ5NTQsIDMyOTg1LCAxLjU3NzczNjYxNjEzNDY0MzZdLCBbMTY2Mzc1MTQwNC44NjM3MjEsIDMzMDIxLCAxLjU3MDgxOTYxNjMxNzc0OV0sIFsxNjYzNzUxNDA1LjI5ODYyNDMsIDMzMDQ4LCAxLjU1NDMwNjg2NDczODQ2NDRdLCBbMTY2Mzc1MTQwNS40MzYwNzg4LCAzMzA1NywgMS41NTM0MjEzNzgxMzU2ODEyXSwgWzE2NjM3NTE0MDYuOTE1NjY0LCAzMzIxOSwgMS41NjUxMTI4MjkyMDgzNzRdLCBbMTY2Mzc1MTQwNy42NDcxOTQ5LCAzMzMwOSwgMS41NTM3MDE5OTY4MDMyODM3XSwgWzE2NjM3NTE0MDguMTYzNDE0NywgMzMzNzIsIDEuNTkxMDg5MTI5NDQ3OTM3XSwgWzE2NjM3NTE0MDguNDY5NTIxLCAzMzQwOCwgMS41NDM3MzgwMDc1NDU0NzEyXSwgWzE2NjM3NTE0MDguNTQzODU3OCwgMzM0MTcsIDEuNTg3Mjk5MjI3NzE0NTM4Nl0sIFsxNjYzNzUxNDA4LjkyNDI3MDYsIDMzNDYyLCAxLjUzNTAyNjY2OTUwMjI1ODNdLCBbMTY2Mzc1MTQwOS4wMDEyOTIyLCAzMzQ3MSwgMS41ODc1MzgxMjMxMzA3OTgzXSwgWzE2NjM3NTE0MDkuMjMzNjY0LCAzMzQ5OCwgMS41MjI0MzIwODg4NTE5Mjg3XSwgWzE2NjM3NTE0MTAuMDMzNDc5MiwgMzM1OTcsIDEuNTE2Mjk3NDU5NjAyMzU2XSwgWzE2NjM3NTE0MTAuMTA3MTQ3NSwgMzM2MDYsIDEuNTQ0MTY5NjY0MzgyOTM0Nl0sIFsxNjYzNzUxNDExLjYwMzc3NDUsIDMzNzE0LCAxLjU4NzY3MzA2ODA0NjU2OThdLCBbMTY2Mzc1MTQxMS43MDU0MzMxLCAzMzcyMywgMS41MjkzMzc0MDYxNTg0NDczXSwgWzE2NjM3NTE0MTEuODkyNzUsIDMzNzQxLCAxLjUxMjQ4MDI1ODk0MTY1MDRdLCBbMTY2Mzc1MTQxMi4wMDc2NDc4LCAzMzc1MCwgMS40OTgyNjMzNTkwNjk4MjQyXSwgWzE2NjM3NTE0MTIuMjU0NTA2OCwgMzM3NzcsIDEuNTQzMzg3NTMyMjM0MTkyXSwgWzE2NjM3NTE0MTIuMzI4NzY2LCAzMzc4NiwgMS41Mzk5NjQ0Mzc0ODQ3NDEyXSwgWzE2NjM3NTE0MTIuNDAzMDQ3LCAzMzc5NSwgMS41NDA2MDM3NTY5MDQ2MDJdLCBbMTY2Mzc1MTQxMy4yNjA0MDIsIDMzODU4LCAxLjU0NDYyNjExNjc1MjYyNDVdLCBbMTY2Mzc1MTQxMy40MDEwMDU1LCAzMzg3NiwgMS42MDIzMDI2NzA0Nzg4MjA4XSwgWzE2NjM3NTE0MTMuNTUxNDAzNSwgMzM4OTQsIDEuNjQyNDk2OTQzNDczODE2XSwgWzE2NjM3NTE0MTQuODI2NzE5NSwgMzQwMjksIDEuNTUwOTIwNzI0ODY4Nzc0NF0sIFsxNjYzNzUxNDE0Ljg5ODY0MTYsIDM0MDM4LCAxLjUwNjI2OTIxNjUzNzQ3NTZdLCBbMTY2Mzc1MTQxNC45NzMxNSwgMzQwNDcsIDEuNTQwNjgxMzYyMTUyMDk5Nl0sIFsxNjYzNzUxNDE1LjA1MzM3MTIsIDM0MDU2LCAxLjUyOTUyNTI3OTk5ODc3OTNdLCBbMTY2Mzc1MTQxNS40NTIzNDQ3LCAzNDA5MiwgMS41MTA1ODg4ODQzNTM2Mzc3XSwgWzE2NjM3NTE0MTUuNjc4NDIxMywgMzQxMTksIDEuNTI4OTgxMDg5NTkxOThdLCBbMTY2Mzc1MTQxNi44MTE1MTUzLCAzNDI1NCwgMS41NjkxMjc3OTgwODA0NDQzXSwgWzE2NjM3NTE0MTcuMDk2NzA3LCAzNDI3MiwgMS40NzM2OTA2MjkwMDU0MzIxXSwgWzE2NjM3NTE0MTcuNjQ0NjIxNCwgMzQzMjYsIDEuNTAzNDIwNDcyMTQ1MDgwNl0sIFsxNjYzNzUxNDE3Ljc4ODMyMjQsIDM0MzQ0LCAxLjQ5OTI3NTkyMjc3NTI2ODZdLCBbMTY2Mzc1MTQxOC4wODU1Mzg2LCAzNDM4MCwgMS41MTM3Njk3NDU4MjY3MjEyXSwgWzE2NjM3NTE0MTguMzk3ODMxNywgMzQ0MTYsIDEuNTM1MTA2MDYyODg5MDk5MV0sIFsxNjYzNzUxNDE4LjQ4MjY0MTUsIDM0NDI1LCAxLjU3MTUxNzM0ODI4OTQ4OTddLCBbMTY2Mzc1MTQxOS45NDA5Njg1LCAzNDU2MCwgMS41NzEzOTY3MDg0ODg0NjQ0XSwgWzE2NjM3NTE0MjAuODczNTc3NCwgMzQ2NDEsIDEuNTEwOTU5MDI5MTk3NjkyOV0sIFsxNjYzNzUxNDIxLjAzMzcwMywgMzQ2NTksIDEuNTA5NDI4NjIwMzM4NDRdLCBbMTY2Mzc1MTQyMS4yMTY5NjU3LCAzNDY3NywgMS41MDc0NTg4MDYwMzc5MDI4XSwgWzE2NjM3NTE0MjEuNDI5MzYwNiwgMzQ3MDQsIDEuNDY1OTQ5NjU0NTc5MTYyNl0sIFsxNjYzNzUxNDIxLjU2NDM2MDYsIDM0NzIyLCAxLjQ5MDQyMzkxNzc3MDM4NTddLCBbMTY2Mzc1MTQyMS43ODE0NjAzLCAzNDc0OSwgMS40Nzc0NTgyMzg2MDE2ODQ2XSwgWzE2NjM3NTE0MjIuNTMwMjc1NiwgMzQ4MzAsIDEuNDUxOTA3Mjc3MTA3MjM4OF0sIFsxNjYzNzUxNDIyLjc0OTA3MzMsIDM0ODU3LCAxLjQ5ODU3ODMxMDAxMjgxNzRdLCBbMTY2Mzc1MTQyMi45ODM1NTI1LCAzNDg4NCwgMS41MDgyMzUzMzUzNTAwMzY2XSwgWzE2NjM3NTE0MjUuMDE4NTA5NiwgMzUxMjcsIDEuNDY0NDczMzY2NzM3MzY1N10sIFsxNjYzNzUxNDI1LjQ1NjYyOCwgMzUxODEsIDEuNTU2MDMzODQ5NzE2MTg2NV0sIFsxNjYzNzUxNDI1LjY4MTczNDgsIDM1MjA4LCAxLjQ1NDgyMTM0ODE5MDMwNzZdLCBbMTY2Mzc1MTQyNS45OTMwMjQ4LCAzNTI0NCwgMS40NzExMjk0MTc0MTk0MzM2XSwgWzE2NjM3NTE0MjYuNDQ4NjU0LCAzNTI5OCwgMS40OTA5MzE1MTA5MjUyOTNdLCBbMTY2Mzc1MTQyNi42ODE4NTgsIDM1MzI1LCAxLjUzMjA0MTE5MjA1NDc0ODVdLCBbMTY2Mzc1MTQyNi44MzIzOTMyLCAzNTM0MywgMS41MDgxNDE2MzY4NDg0NDk3XSwgWzE2NjM3NTE0MjcuNDA2ODA5NiwgMzUzODgsIDEuNDY5MTQ4OTkzNDkyMTI2NV0sIFsxNjYzNzUxNDI3LjU3MTE5NjMsIDM1NDA2LCAxLjQ0NTI5Njc2NDM3Mzc3OTNdLCBbMTY2Mzc1MTQyOC4wMTc4NDE4LCAzNTQzMywgMS40NjgzMzg0ODk1MzI0NzA3XSwgWzE2NjM3NTE0MjkuNDYxMzkyNCwgMzU1ODYsIDEuNDc2MTQwMDIyMjc3ODMyXSwgWzE2NjM3NTE0MjkuNzU3NTAwNCwgMzU2MjIsIDEuNDUwMDAyNTUxMDc4Nzk2NF0sIFsxNjYzNzUxNDMwLjM0NzY0ODksIDM1Njk0LCAxLjQ4NzM2NTM2NTAyODM4MTNdLCBbMTY2Mzc1MTQzMC40MjI1NzM4LCAzNTcwMywgMS40OTU0ODg3NjI4NTU1Mjk4XSwgWzE2NjM3NTE0MzEuMDg3NjYzNCwgMzU3ODQsIDEuNDYzMDU1NjEwNjU2NzM4M10sIFsxNjYzNzUxNDMxLjcwMzE4NjMsIDM1ODM4LCAxLjQ2ODM0Nzc4Nzg1NzA1NTddLCBbMTY2Mzc1MTQzMS43NzMzNTM2LCAzNTg0NywgMS40NjE1NzUyNjk2OTkwOTY3XSwgWzE2NjM3NTE0MzEuODQwMTY3NSwgMzU4NTYsIDEuNTIwNjA5MTQwMzk2MTE4Ml0sIFsxNjYzNzUxNDMyLjA1NDI5NCwgMzU4ODMsIDEuNDc0MTkxOTA0MDY3OTkzMl0sIFsxNjYzNzUxNDMyLjczNTU1OCwgMzU5MzcsIDEuNDcxOTQ0NTcwNTQxMzgxOF0sIFsxNjYzNzUxNDMzLjE4OTIyNDcsIDM1OTgyLCAxLjQ1Nzg2MjI1Nzk1NzQ1ODVdLCBbMTY2Mzc1MTQzMy40NTc1MzI2LCAzNjAwOSwgMS40NDEzOTU3NTk1ODI1MTk1XSwgWzE2NjM3NTE0MzQuMDg3NjE4OCwgMzYwODEsIDEuNTIyMDExMjgwMDU5ODE0NV0sIFsxNjYzNzUxNDM0LjM3NzM3NzcsIDM2MTE3LCAxLjQ4ODI3NzkxMjEzOTg5MjZdLCBbMTY2Mzc1MTQzNC41MTkxMjg2LCAzNjEzNSwgMS40ODkxMTg4MTQ0NjgzODM4XSwgWzE2NjM3NTE0MzUuMzY5MzMyNiwgMzYyMTYsIDEuNDU4NTE1Mjg2NDQ1NjE3N10sIFsxNjYzNzUxNDM1LjcyNjI3OCwgMzYyNjEsIDEuNDYyOTYxNjczNzM2NTcyM10sIFsxNjYzNzUxNDM2LjE4OTI1NywgMzYzMTUsIDEuNDQ3Njg5MTc1NjA1Nzc0XSwgWzE2NjM3NTE0MzYuNjQxODQzNiwgMzYzNjksIDEuNDg5Nzc2MzcyOTA5NTQ2XSwgWzE2NjM3NTE0MzcuMzU5MTEzNSwgMzY0MzIsIDEuNDc2NzczMzgxMjMzMjE1M10sIFsxNjYzNzUxNDM4LjY2Nzg3NywgMzY1OTQsIDEuNDUxMzMxMjU3ODIwMTI5NF0sIFsxNjYzNzUxNDM4Ljc0MDA4MywgMzY2MDMsIDEuNDczMDQwODE5MTY4MDkwOF0sIFsxNjYzNzUxNDM5LjI0NjIzNzUsIDM2NjY2LCAxLjQ1NDc2ODQxOTI2NTc0N10sIFsxNjYzNzUxNDQwLjAzNzg3OTUsIDM2NzM4LCAxLjQ1ODk5OTI3NjE2MTE5MzhdLCBbMTY2Mzc1MTQ0MC4xMDgwNjk3LCAzNjc0NywgMS40MzM5MzA2MzU0NTIyNzA1XSwgWzE2NjM3NTE0NDAuMjYyNzMwNiwgMzY3NjUsIDEuNDE1ODE0NzU3MzQ3MTA3XSwgWzE2NjM3NTE0NDAuNTQyNTkzMiwgMzY4MDEsIDEuNDIyMDYwODQ3MjgyNDA5N10sIFsxNjYzNzUxNDQwLjg1Mzc3OTgsIDM2ODM3LCAxLjQyMjgyMjExNzgwNTQ4MV0sIFsxNjYzNzUxNDQyLjI2NDExOTksIDM2OTkwLCAxLjQ0MjUwNzYyNDYyNjE1OTddLCBbMTY2Mzc1MTQ0Mi42Nzc1MjU1LCAzNzA0NCwgMS41MjQ0NTQ5NTEyODYzMTZdLCBbMTY2Mzc1MTQ0My4wOTE5MzgsIDM3MDk4LCAxLjQzMDkxNDg3ODg0NTIxNDhdLCBbMTY2Mzc1MTQ0My4zNDQ2MzEyLCAzNzEyNSwgMS40OTU3MzQ5MzAwMzg0NTIxXSwgWzE2NjM3NTE0NDMuODAzNTM3OCwgMzcxNzksIDEuNDI1MTI2MDc1NzQ0NjI5XSwgWzE2NjM3NTE0NDQuNzQ4Njg4LCAzNzI4NywgMS40MjUyNzE2MzAyODcxNzA0XSwgWzE2NjM3NTE0NDUuMDI1NjUyNCwgMzczMjMsIDEuNDQ3NDgwNDQwMTM5NzcwNV0sIFsxNjYzNzUxNDQ1LjUyMzU3MiwgMzczODYsIDEuNDMyMjExODc1OTE1NTI3M10sIFsxNjYzNzUxNDQ1Ljc0NjEzOSwgMzc0MTMsIDEuNDEzNzE4ODE5NjE4MjI1XSwgWzE2NjM3NTE0NDYuNTc2ODU1MiwgMzc1MTIsIDEuNDIxODEwNzQ2MTkyOTMyMV0sIFsxNjYzNzUxNDQ3LjM2NDkzOCwgMzc2MDIsIDEuNDA4MzY0NzcyNzk2NjMwOV0sIFsxNjYzNzUxNDQ3LjQ1MjU0MDksIDM3NjExLCAxLjM4NTAwMzA4OTkwNDc4NTJdLCBbMTY2Mzc1MTQ0Ny42ODc3ODAxLCAzNzYzOCwgMS4zODg5MTQ1ODUxMTM1MjU0XSwgWzE2NjM3NTE0NDguOTQ5MDUxNCwgMzc3MzcsIDEuNDU1NDIwMTM2NDUxNzIxMl0sIFsxNjYzNzUxNDUwLjE2NzgxNjIsIDM3ODcyLCAxLjQzODQ0NTQ0ODg3NTQyNzJdLCBbMTY2Mzc1MTQ1MC4yNTQ3NDMsIDM3ODgxLCAxLjQwNDI0NjU2ODY3OTgwOTZdLCBbMTY2Mzc1MTQ1MC44NjQxODQ0LCAzNzk1MywgMS4zOTkzNDU3NTU1NzcwODc0XSwgWzE2NjM3NTE0NTEuMjIzMTIsIDM3OTk4LCAxLjQyOTU5MDcwMjA1Njg4NDhdLCBbMTY2Mzc1MTQ1MS42Njg1MDAyLCAzODA1MiwgMS40MTkzNTUzOTI0NTYwNTQ3XSwgWzE2NjM3NTE0NTEuODE1NzUwNCwgMzgwNzAsIDEuMzk5MDczNjAwNzY5MDQzXSwgWzE2NjM3NTE0NTEuODg4MjA4OSwgMzgwNzksIDEuMzk0NjAxOTQxMTA4NzAzNl0sIFsxNjYzNzUxNDUyLjMzODk0OTQsIDM4MTMzLCAxLjQ4NTAzMTk2MjM5NDcxNDRdLCBbMTY2Mzc1MTQ1My4wOTUxMDA2LCAzODIyMywgMS40MDk0MDQ2MzU0MjkzODIzXSwgWzE2NjM3NTE0NTMuMzI3NDI2MiwgMzgyNTAsIDEuNDA2MTE3MjAwODUxNDQwNF0sIFsxNjYzNzUxNDUzLjQ3MTYwOTgsIDM4MjY4LCAxLjQwNTY3NzA4MDE1NDQxOV0sIFsxNjYzNzUxNDUzLjU1Nzg1NjYsIDM4Mjc3LCAxLjQxNTU1MjM3NzcwMDgwNTddLCBbMTY2Mzc1MTQ1My42MzY1NjY2LCAzODI4NiwgMS4zOTIyNTI2ODM2Mzk1MjY0XSwgWzE2NjM3NTE0NTMuOTM4MjIyNiwgMzgzMjIsIDEuNDQxODUxMzc3NDg3MTgyNl0sIFsxNjYzNzUxNDU0LjY3NTQ5MTYsIDM4NDEyLCAxLjQxMDQyODc2MjQzNTkxM10sIFsxNjYzNzUxNDU0Ljc2MTA1MTQsIDM4NDIxLCAxLjQwMDUwNzY4ODUyMjMzODldLCBbMTY2Mzc1MTQ1NC45MTU1NzEsIDM4NDM5LCAxLjQzNzgyMjgxODc1NjEwMzVdLCBbMTY2Mzc1MTQ1NS44NTI2MzU0LCAzODUyOSwgMS4zOTM5NTQ1MTU0NTcxNTMzXSwgWzE2NjM3NTE0NTUuOTI2OTgzOCwgMzg1MzgsIDEuMzg3NTcxMzM0ODM4ODY3Ml0sIFsxNjYzNzUxNDU3LjI5MDg2MzMsIDM4NjkxLCAxLjM5NTE2NDk2NjU4MzI1Ml0sIFsxNjYzNzUxNDU3Ljc4NzgxMDYsIDM4NzU0LCAxLjQwNDQyNjQ1NTQ5Nzc0MTddLCBbMTY2Mzc1MTQ1OC4xMTA4NzcsIDM4NzkwLCAxLjQyNzIzNjMxODU4ODI1NjhdLCBbMTY2Mzc1MTQ1OS4wOTg1NTQxLCAzODg3MSwgMS4zNzU2OTgwODk1OTk2MDk0XSwgWzE2NjM3NTE0NTkuNTEwOTM5NiwgMzg5MTYsIDEuNDIzODYzMjkxNzQwNDE3NV0sIFsxNjYzNzUxNDU5Ljk4MTIzMjIsIDM4OTYxLCAxLjQzNDk1Nzk4MTEwOTYxOTFdLCBbMTY2Mzc1MTQ2MC41MTk4OTUsIDM5MDE1LCAxLjQwNDQ2NDQ4MzI2MTEwODRdLCBbMTY2Mzc1MTQ2MS40MzA1NzE4LCAzOTA5NiwgMS40Mjc0MTAyNDQ5NDE3MTE0XSwgWzE2NjM3NTE0NjEuNzM0MTYzNSwgMzkxMzIsIDEuMzU4NjQ0NzIzODkyMjEyXSwgWzE2NjM3NTE0NjIuMDczOTUxNywgMzkxNjgsIDEuNDc1MTQ5OTg5MTI4MTEyOF0sIFsxNjYzNzUxNDYzLjE0NjE1NjMsIDM5MjQ5LCAxLjQwODAzNTc1NTE1NzQ3MDddLCBbMTY2Mzc1MTQ2My42NTk0NTYzLCAzOTI5NCwgMS4zODMzMTIzNDQ1NTEwODY0XSwgWzE2NjM3NTE0NjQuMjU0OTM4OCwgMzkzNDgsIDEuMzgzNjQ2MzY4OTgwNDA3N10sIFsxNjYzNzUxNDY0LjY4ODE1NjgsIDM5MzkzLCAxLjQwNzgxMjcxNDU3NjcyMTJdLCBbMTY2Mzc1MTQ2NC45MzUwNDQ1LCAzOTQyMCwgMS4zODY1NTgxNzUwODY5NzVdLCBbMTY2Mzc1MTQ2NS4wMTExNDEzLCAzOTQyOSwgMS40MjA3MDI0NTc0Mjc5Nzg1XSwgWzE2NjM3NTE0NjUuNTc5MTkxNCwgMzk0OTIsIDEuNDA4Mjc5ODk1NzgyNDcwN10sIFsxNjYzNzUxNDY2LjE2MTY2MywgMzk1NjQsIDEuMzcwNjQ5NDU2OTc3ODQ0Ml0sIFsxNjYzNzUxNDY2Ljc1ODM3MTgsIDM5NjM2LCAxLjM5OTAwODUxMjQ5Njk0ODJdLCBbMTY2Mzc1MTQ2Ny4wODA1OTg2LCAzOTY3MiwgMS4zOTYwOTExMDM1NTM3NzJdLCBbMTY2Mzc1MTQ2Ny4zMTI5MjM0LCAzOTY5OSwgMS4zNzY1MzY2MDc3NDIzMDk2XSwgWzE2NjM3NTE0NjcuNTQ2MTc1NywgMzk3MjYsIDEuNDA4MjI3NTYyOTA0MzU4XSwgWzE2NjM3NTE0NjcuNjI2NjA0LCAzOTczNSwgMS4zNzEyMDc5NTI0OTkzODk2XSwgWzE2NjM3NTE0NjguNjIxNzQyNSwgMzk4MDcsIDEuMzYzNTg4ODA5OTY3MDQxXSwgWzE2NjM3NTE0NjguODEyMDIwOCwgMzk4MjUsIDEuMzg4ODcyMDI3Mzk3MTU1OF0sIFsxNjYzNzUxNDY5LjY3NTkwNjQsIDM5OTI0LCAxLjM2MDUwMTA1MDk0OTA5NjddLCBbMTY2Mzc1MTQ3MC4yOTAyMDIxLCAzOTk5NiwgMS4zNjYxNjE1ODQ4NTQxMjZdLCBbMTY2Mzc1MTQ3MS43MTMzMDE3LCA0MDA5NSwgMS4zMzI0OTY0MDQ2NDc4MjcxXSwgWzE2NjM3NTE0NzIuMDgyODA4LCA0MDEzMSwgMS4zODQwNzA5OTI0Njk3ODc2XSwgWzE2NjM3NTE0NzIuODI4MjMwNCwgNDAyMDMsIDEuNDA5MzkzMDcyMTI4Mjk2XSwgWzE2NjM3NTE0NzQuOTY2MzEzLCA0MDQxMCwgMS40MDQ1MjI2NTczOTQ0MDkyXSwgWzE2NjM3NTE0NzUuNTQ2NDExLCA0MDQ2NCwgMS4zNDE3ODMyODUxNDA5OTEyXSwgWzE2NjM3NTE0NzUuODQ4NTYyNSwgNDA1MDAsIDEuMzMzNDk0NzgyNDQ3ODE1XSwgWzE2NjM3NTE0NzcuMDAxNDc4LCA0MDYzNSwgMS4zNTE4NDE5MjY1NzQ3MDddLCBbMTY2Mzc1MTQ3Ny41MTA1MzA1LCA0MDY4OSwgMS4zNjY5NTE0NjU2MDY2ODk1XSwgWzE2NjM3NTE0NzcuNzQ0ODI1MSwgNDA3MTYsIDEuMzUwOTMyMDAyMDY3NTY2XSwgWzE2NjM3NTE0NzcuOTEyODkwNywgNDA3MzQsIDEuMzYwMTA1ODcyMTU0MjM1OF0sIFsxNjYzNzUxNDc4LjY0MjM0NDIsIDQwNzk3LCAxLjQ0NTk1MjI5NjI1NzAxOV0sIFsxNjYzNzUxNDc4Ljg3NDYzNTcsIDQwODI0LCAxLjM2ODM0NzI4NzE3ODAzOTZdLCBbMTY2Mzc1MTQ3OS4xODA4NzMyLCA0MDg2MCwgMS4zMzA0NjM0MDk0MjM4MjgxXSwgWzE2NjM3NTE0NzkuNTk5NjQ5MiwgNDA4OTYsIDEuMzIzNzEwOTE4NDI2NTEzN10sIFsxNjYzNzUxNDc5LjcwNjc3MSwgNDA5MDUsIDEuMzU4NzUwNTgxNzQxMzMzXSwgWzE2NjM3NTE0NzkuNzk4NjAwMiwgNDA5MTQsIDEuMzUxNTQ5MTQ4NTU5NTcwM10sIFsxNjYzNzUxNDc5Ljk2ODcxMiwgNDA5MzIsIDEuMzM0MTU0NjA1ODY1NDc4NV0sIFsxNjYzNzUxNDgwLjQ4NzIyMDUsIDQwOTg2LCAxLjM0NDI3NTk1MTM4NTQ5OF0sIFsxNjYzNzUxNDgxLjEzODMzMiwgNDEwNDksIDEuNDAwODI5NjcyODEzNDE1NV0sIFsxNjYzNzUxNDgxLjMxODAzNzcsIDQxMDY3LCAxLjM4MjYwMDkwMzUxMTA0NzRdLCBbMTY2Mzc1MTQ4MS41MDA3NTc3LCA0MTA4NSwgMS4zNDE1NzMzNTc1ODIwOTIzXSwgWzE2NjM3NTE0ODEuODMzODAzLCA0MTEyMSwgMS4zMzQ2MTMzMjMyMTE2N10sIFsxNjYzNzUxNDgyLjA2NjYyMzQsIDQxMTQ4LCAxLjM2MDAwOTA3NDIxMTEyMDZdLCBbMTY2Mzc1MTQ4Mi4yMjMxMDYsIDQxMTU3LCAxLjMwNzM4NDEzMzMzODkyODJdLCBbMTY2Mzc1MTQ4Mi40MzA1NDk5LCA0MTE3NSwgMS4zNTU3NzcwMjUyMjI3NzgzXSwgWzE2NjM3NTE0ODMuMTkwOTg5MywgNDEyNDcsIDEuMzgyOTE0MTg1NTIzOTg2OF0sIFsxNjYzNzUxNDgzLjk0MTQ5MzUsIDQxMzE5LCAxLjMxODY0MjQ5NzA2MjY4M10sIFsxNjYzNzUxNDg0LjEzMDk1NTUsIDQxMzM3LCAxLjM3MTY3NDI5OTI0MDExMjNdLCBbMTY2Mzc1MTQ4NS40ODcwNTg2LCA0MTQ2MywgMS4zNjY5NjcyMDEyMzI5MTAyXSwgWzE2NjM3NTE0ODUuNzE4MjMwNywgNDE0OTAsIDEuMzkxMDYyNzM2NTExMjMwNV0sIFsxNjYzNzUxNDg1LjkzNDExNDUsIDQxNTE3LCAxLjMzNTI0NzI3ODIxMzUwMV0sIFsxNjYzNzUxNDg3LjM3NDYzMTQsIDQxNjQzLCAxLjMzNTMyNTk1NjM0NDYwNDVdLCBbMTY2Mzc1MTQ4Ny42NzQ2MzY2LCA0MTY3MCwgMS4zNTE4MjE1NDE3ODYxOTM4XSwgWzE2NjM3NTE0ODguODM0NDIxMiwgNDE4MDUsIDEuMzkxMzEyMTIyMzQ0OTcwN10sIFsxNjYzNzUxNDg5LjE4NjI5NDMsIDQxODUwLCAxLjMxOTc2NjY0MDY2MzE0N10sIFsxNjYzNzUxNDg5LjI1NDMxMDgsIDQxODU5LCAxLjMyNjU4OTgyMjc2OTE2NV0sIFsxNjYzNzUxNDg5LjU0NjEyNzgsIDQxODk1LCAxLjMwNDU5ODA5MzAzMjgzN10sIFsxNjYzNzUxNDg5Ljg2Mzc2OTUsIDQxOTMxLCAxLjI5NjY0Mzg1MzE4NzU2MV0sIFsxNjYzNzUxNDg5LjkzNDM3MiwgNDE5NDAsIDEuMzUzNDczMTg2NDkyOTJdLCBbMTY2Mzc1MTQ5MC4wMDk4NzY1LCA0MTk0OSwgMS4zNjY4MjcxMzAzMTc2ODhdLCBbMTY2Mzc1MTQ5MC4xNzIwMzE0LCA0MTk2NywgMS4zMzI3OTg4Mzg2MTU0MTc1XSwgWzE2NjM3NTE0OTAuNTU2NDA3MiwgNDIwMTIsIDEuMzEyNTU1NDMyMzE5NjQxMV0sIFsxNjYzNzUxNDkwLjYyMTUwNTMsIDQyMDIxLCAxLjMwMjA3NDU1MTU4MjMzNjRdLCBbMTY2Mzc1MTQ5MC42OTUzNTMsIDQyMDMwLCAxLjMzNzExNjcxODI5MjIzNjNdLCBbMTY2Mzc1MTQ5MS4zODc5OTkzLCA0MjExMSwgMS4zNDMxMDg4OTI0NDA3OTZdLCBbMTY2Mzc1MTQ5Mi4wODk2Njc2LCA0MjE4MywgMS4zMzc3OTY0NDk2NjEyNTQ5XSwgWzE2NjM3NTE0OTIuNDAwMzMzNCwgNDIyMTksIDEuMzQxOTk1MjM5MjU3ODEyNV0sIFsxNjYzNzUxNDkyLjU2MzcyODYsIDQyMjM3LCAxLjI5MDQ0OTE0MjQ1NjA1NDddLCBbMTY2Mzc1MTQ5My4wMjkzNTUzLCA0MjI5MSwgMS4zNDI4NjcxMzYwMDE1ODddLCBbMTY2Mzc1MTQ5My44MDgzMzg5LCA0MjM2MywgMS4yODAxNDI1NDU3MDAwNzMyXSwgWzE2NjM3NTE0OTMuODg0NTM5NCwgNDIzNzIsIDEuMzM0MzMyOTQyOTYyNjQ2NV0sIFsxNjYzNzUxNDk0LjM3NDY3OSwgNDI0MjYsIDEuMjk3MDkxMjQ1NjUxMjQ1MV0sIFsxNjYzNzUxNDk0LjYwMjAyODEsIDQyNDUzLCAxLjI5NjcyMTkzNTI3MjIxNjhdLCBbMTY2Mzc1MTQ5NS4xNTIzMTA2LCA0MjUyNSwgMS4zMTEwNjY3NDY3MTE3MzFdLCBbMTY2Mzc1MTQ5NS42MTkxMDA4LCA0MjU3OSwgMS4zMzAyNzEzNjMyNTgzNjE4XSwgWzE2NjM3NTE0OTUuODM5MTEzLCA0MjYwNiwgMS4zMzE1Njk3OTA4NDAxNDldLCBbMTY2Mzc1MTQ5NS45MTAyMDksIDQyNjE1LCAxLjMxMDcwNjAxOTQwMTU1MDNdLCBbMTY2Mzc1MTQ5Ni4xMjk5Nzg3LCA0MjY0MiwgMS4zMDE1MjA5NDM2NDE2NjI2XSwgWzE2NjM3NTE0OTYuMzUxNDg1NywgNDI2NjksIDEuMzA3NzQ3MDA2NDE2MzIwOF0sIFsxNjYzNzUxNDk2LjU1NzM3NzgsIDQyNjk2LCAxLjI5NjgwMDk3MTAzMTE4OV0sIFsxNjYzNzUxNDk3LjQ3MTQ1OTYsIDQyODA0LCAxLjI4NTU4ODI2NDQ2NTMzMl0sIFsxNjYzNzUxNDk3Ljc2NjA2NDIsIDQyODQwLCAxLjMxODE5ODkxOTI5NjI2NDZdLCBbMTY2Mzc1MTQ5OC42NTU0MzMsIDQyOTAzLCAxLjM5NzIyMDYxMTU3MjI2NTZdLCBbMTY2Mzc1MTQ5OS4xNjc2MzU0LCA0Mjk1NywgMS4zMjM0MzkyNDA0NTU2Mjc0XSwgWzE2NjM3NTE0OTkuNTAyMDkzOCwgNDI5OTMsIDEuMjkxOTAxNzA3NjQ5MjMxXSwgWzE2NjM3NTE0OTkuNTc5ODAyLCA0MzAwMiwgMS4zMzgxMjM3OTgzNzAzNjEzXSwgWzE2NjM3NTE0OTkuODE3MjIzMywgNDMwMjksIDEuMjk0OTc1Mzk5OTcxMDA4M10sIFsxNjYzNzUxNDk5Ljg5Njk1NywgNDMwMzgsIDEuMzMyMjA5ODI1NTE1NzQ3XSwgWzE2NjM3NTE1MDAuNTg0NjM5LCA0MzEwMSwgMS4zMTMxNjQyMzQxNjEzNzddLCBbMTY2Mzc1MTUwMC45ODQ4NzgzLCA0MzExOSwgMS4zODkzNDA0MDA2OTU4MDA4XSwgWzE2NjM3NTE1MDEuMTE5MzMxMSwgNDMxMzcsIDEuMzc3MTc3NDc2ODgyOTM0Nl0sIFsxNjYzNzUxNTAxLjYyMzExMTUsIDQzMTkxLCAxLjM0MjMzMjgzOTk2NTgyMDNdLCBbMTY2Mzc1MTUwMi4xMDk4ODk1LCA0MzI0NSwgMS4zMjU5NjQzMzE2MjY4OTJdLCBbMTY2Mzc1MTUwMi40MDM0ODYzLCA0MzI3MiwgMS4yNzUyMzMzODc5NDcwODI1XSwgWzE2NjM3NTE1MDIuNjM1MTUzMywgNDMyOTksIDEuMzI1NDU3MDk2MDk5ODUzNV0sIFsxNjYzNzUxNTAyLjc3NjY5NjIsIDQzMzE3LCAxLjMwNDQ3OTEyMjE2MTg2NTJdLCBbMTY2Mzc1MTUwMy4wNTI2MjQ1LCA0MzMzNSwgMS4zMjU3NzQzMTIwMTkzNDgxXSwgWzE2NjM3NTE1MDQuNTA3NTY4NCwgNDM0NzksIDEuMjg5NzI1NTQyMDY4NDgxNF0sIFsxNjYzNzUxNTA0LjY1NzIxMiwgNDM0OTcsIDEuMzAwMDUwODU0NjgyOTIyNF0sIFsxNjYzNzUxNTA0LjgwNDM1NTksIDQzNTE1LCAxLjI4MTA3MzU3MDI1MTQ2NDhdLCBbMTY2Mzc1MTUwNC44ODMzOTY2LCA0MzUyNCwgMS4zMTUwNDE1NDIwNTMyMjI3XSwgWzE2NjM3NTE1MDQuOTU1MTM3MywgNDM1MzMsIDEuMzQzNDI5MDg4NTkyNTI5M10sIFsxNjYzNzUxNTA1LjYxNjc1MzMsIDQzNTk2LCAxLjI4ODcwMTI5NTg1MjY2MTFdLCBbMTY2Mzc1MTUwNS42OTQ1MDQ3LCA0MzYwNSwgMS4yNjA3NjMyODc1NDQyNTA1XSwgWzE2NjM3NTE1MDcuMzg0NjkxNSwgNDM3NjcsIDEuMzk2MzcyNTU2Njg2NDAxNF0sIFsxNjYzNzUxNTA3LjYwMDQ2MDUsIDQzNzk0LCAxLjI4MTM3NjI0MjYzNzYzNDNdLCBbMTY2Mzc1MTUwOS4zMTUyNzkyLCA0Mzk0NywgMS4yODA5NjQ0OTM3NTE1MjU5XSwgWzE2NjM3NTE1MTAuMjE3MjEzOSwgNDQwNjQsIDEuMjk2MTg5NTQ2NTg1MDgzXSwgWzE2NjM3NTE1MTEuMTg0MDI0NiwgNDQxODEsIDEuMjk1MjUzNzUzNjYyMTA5NF0sIFsxNjYzNzUxNTExLjM1NTQyNzUsIDQ0MTk5LCAxLjI4Mjc3Mjc3OTQ2NDcyMTddLCBbMTY2Mzc1MTUxMS44OTkwODQsIDQ0MjM1LCAxLjI3OTIzMDQ3NTQyNTcyMDJdLCBbMTY2Mzc1MTUxMy4wMjM5NjgsIDQ0MzM0LCAxLjI2MjY1NDE4NTI5NTEwNV0sIFsxNjYzNzUxNTEzLjQwNjIxOTUsIDQ0MzcwLCAxLjMxMDAxMDQzMzE5NzAyMTVdLCBbMTY2Mzc1MTUxMy43NzY0NTE4LCA0NDQwNiwgMS4yODQ4NTU0ODQ5NjI0NjM0XSwgWzE2NjM3NTE1MTQuNDc2MTM0LCA0NDQ2OSwgMS4zMzk2MzAyNDYxNjI0MTQ2XSwgWzE2NjM3NTE1MTQuODcxNDExOCwgNDQ1MDUsIDEuMzA5MTQ1NDUwNTkyMDQxXSwgWzE2NjM3NTE1MTUuMzc0NTkzMywgNDQ1NTAsIDEuMzA5MjUwNTkzMTg1NDI0OF0sIFsxNjYzNzUxNTE4LjA3MjgyOTUsIDQ0ODExLCAxLjI2ODc3MzU1NTc1NTYxNTJdLCBbMTY2Mzc1MTUxOC4yMzM2MzU3LCA0NDgyOSwgMS4yODg3NDI4OTk4OTQ3MTQ0XSwgWzE2NjM3NTE1MTkuMDk5OTMyNywgNDQ5MTksIDEuMjg3NjM4NDI1ODI3MDI2NF0sIFsxNjYzNzUxNTE5LjE3OTAzNDUsIDQ0OTI4LCAxLjMzMTM4Mjk4OTg4MzQyMjldLCBbMTY2Mzc1MTUyMS4xODcxMDg1LCA0NTEzNSwgMS4yNzQ0NjQyNDk2MTA5MDA5XSwgWzE2NjM3NTE1MjEuNjY0MjgxLCA0NTE5OCwgMS4yNzE0MDQwMjc5Mzg4NDI4XSwgWzE2NjM3NTE1MjEuNzk1MjIzMiwgNDUyMTYsIDEuMzAxMTg0NDE1ODE3MjYwN10sIFsxNjYzNzUxNTIxLjk2MTQxNSwgNDUyMzQsIDEuMjk0ODQ1MjIzNDI2ODE4OF0sIFsxNjYzNzUxNTIzLjU2NjM5MSwgNDU0MzIsIDEuMjczNDU5MDc2ODgxNDA4N10sIFsxNjYzNzUxNTI0LjYzNDM2OTEsIDQ1NTQwLCAxLjI3NjI0MTMwMjQ5MDIzNDRdLCBbMTY2Mzc1MTUyNC43ODYwNTk5LCA0NTU1OCwgMS4yNjI4NjgwNDY3NjA1NTldLCBbMTY2Mzc1MTUyNC45NDU5ODA4LCA0NTU3NiwgMS4yNDQ2MDAxNzY4MTEyMTgzXSwgWzE2NjM3NTE1MjUuMTY4NjU1NCwgNDU2MDMsIDEuMjM2NzQ1MzU3NTEzNDI3N10sIFsxNjYzNzUxNTI1Ljk1MjUzNTQsIDQ1NjkzLCAxLjI4MzYxNzM3NzI4MTE4OV0sIFsxNjYzNzUxNTI2LjE3MDQzMDQsIDQ1NzIwLCAxLjI3NTY4MzA0NTM4NzI2OF0sIFsxNjYzNzUxNTI2LjIzOTQ4NiwgNDU3MjksIDEuMjc3MTg0NjA1NTk4NDQ5N10sIFsxNjYzNzUxNTI2LjczNTc4NjIsIDQ1NzgzLCAxLjI2OTA1ODQ2NTk1NzY0MTZdLCBbMTY2Mzc1MTUyNi44Nzk0MjUzLCA0NTgwMSwgMS4yNzI5Njc4MTUzOTkxN10sIFsxNjYzNzUxNTI3LjAzNjM1OCwgNDU4MTksIDEuMjM1MTIxMDExNzM0MDA4OF0sIFsxNjYzNzUxNTI3LjQzMTM0OTUsIDQ1ODY0LCAxLjI5NzA5NTUzNzE4NTY2OV0sIFsxNjYzNzUxNTI3LjkwMjMwOTQsIDQ1OTE4LCAxLjI2MDU2MDc1MDk2MTMwMzddLCBbMTY2Mzc1MTUyOC4yMDM4Njg2LCA0NTkzNiwgMS4zMDg0NzkxODk4NzI3NDE3XSwgWzE2NjM3NTE1MjkuNzEzMDE1OCwgNDYxMDcsIDEuMzUyMjIxMzY5NzQzMzQ3Ml0sIFsxNjYzNzUxNTMwLjcxOTk1MzgsIDQ2MTk3LCAxLjI0NjI2NTE3Mjk1ODM3NF0sIFsxNjYzNzUxNTMxLjA0NDk0MywgNDYyMzMsIDEuMzE5NjI1NjE2MDczNjA4NF0sIFsxNjYzNzUxNTMxLjM3MDEzMjQsIDQ2MjY5LCAxLjMyMTMzMTYyMDIxNjM2OTZdLCBbMTY2Mzc1MTUzMS45MjA1NjU4LCA0NjMzMiwgMS4yNDU0Mjg1NjIxNjQzMDY2XSwgWzE2NjM3NTE1MzIuMjMyNjc3NywgNDYzNjgsIDEuMjY5NTM5MTE3ODEzMTEwNF0sIFsxNjYzNzUxNTMyLjMxMDY0MjUsIDQ2Mzc3LCAxLjI3MzEyODk4NjM1ODY0MjZdLCBbMTY2Mzc1MTUzMi40NzQ0MTY3LCA0NjM5NSwgMS4yNTQ2MTg3NjM5MjM2NDVdLCBbMTY2Mzc1MTUzMi41NTIyNzk1LCA0NjQwNCwgMS4yMjAwNTYxNzYxODU2MDhdLCBbMTY2Mzc1MTUzMy40NjQyMTYyLCA0NjUxMiwgMS4yNjkzNDMxMzc3NDEwODg5XSwgWzE2NjM3NTE1MzQuMTU5NzIwNywgNDY1OTMsIDEuMjg0MzYyMTk2OTIyMzAyMl0sIFsxNjYzNzUxNTM1LjAwNjgxOTcsIDQ2NjkyLCAxLjQyODg4NjQxMzU3NDIxODhdLCBbMTY2Mzc1MTUzNS45NTkwMDg3LCA0Njc4MiwgMS4yNjcwNTYxMDc1MjEwNTcxXSwgWzE2NjM3NTE1MzYuMDQzNDQ5NiwgNDY3OTEsIDEuMzAzMDcyMjE0MTI2NTg3XSwgWzE2NjM3NTE1MzYuMTk5OTE5NSwgNDY4MDksIDEuMjY3NDU3MDA4MzYxODE2NF0sIFsxNjYzNzUxNTM2Ljc3MjkzMiwgNDY4NTQsIDEuMjMxOTcyMjE3NTU5ODE0NV0sIFsxNjYzNzUxNTM2LjkyMTIxMDgsIDQ2ODcyLCAxLjI0ODgwMDc1NDU0NzExOTFdLCBbMTY2Mzc1MTUzNy4yNzE4MjE3LCA0NjkxNywgMS4yNjU0NDAxMDYzOTE5MDY3XSwgWzE2NjM3NTE1MzcuNzI4NTYwNywgNDY5NzEsIDEuMjI4ODY4NzIyOTE1NjQ5NF0sIFsxNjYzNzUxNTM4LjI3MTYwNiwgNDcwMzQsIDEuMjMzNDAxNDE3NzMyMjM4OF0sIFsxNjYzNzUxNTM4LjU3OTk3MzIsIDQ3MDcwLCAxLjIyMjIzMzA1NzAyMjA5NDddLCBbMTY2Mzc1MTUzOS4yNzEwNTAyLCA0NzE1MSwgMS4yMTM2NTY2NjM4OTQ2NTMzXSwgWzE2NjM3NTE1NDAuNDQyMTcyNSwgNDcyODYsIDEuMjIxODAzMDY5MTE0Njg1XSwgWzE2NjM3NTE1NDAuNTIzNzE1NSwgNDcyOTUsIDEuMjUxNDQ2ODQzMTQ3Mjc3OF0sIFsxNjYzNzUxNTQwLjg0MTAzOTQsIDQ3MzMxLCAxLjIzODQ3MTM4ODgxNjgzMzVdLCBbMTY2Mzc1MTU0MS4xNTg0OTQsIDQ3MzY3LCAxLjIzMTI3NzM0NjYxMTAyM10sIFsxNjYzNzUxNTQxLjM4NzYyNDcsIDQ3Mzk0LCAxLjIwNTA5MTgzNDA2ODI5ODNdLCBbMTY2Mzc1MTU0Mi40MDU3MTg2LCA0NzUwMiwgMS4yNTk0ODg5NDAyMzg5NTI2XSwgWzE2NjM3NTE1NDMuMTI0MTI2LCA0NzU4MywgMS4yMTUwOTMzNzQyNTIzMTkzXSwgWzE2NjM3NTE1NDMuODUxNjk0LCA0NzYyOCwgMS4yNzMxMTI4OTMxMDQ1NTMyXSwgWzE2NjM3NTE1NDQuMDM1NzE4NywgNDc2NDYsIDEuMjQwNzIwNTEwNDgyNzg4XSwgWzE2NjM3NTE1NDQuMjE2NzM0LCA0NzY2NCwgMS4yMzUxNDc4MzM4MjQxNTc3XSwgWzE2NjM3NTE1NDQuNDM0ODI4OCwgNDc2ODIsIDEuMjk0ODU1MTE3Nzk3ODUxNl0sIFsxNjYzNzUxNTQ1LjExMTA5ODgsIDQ3NzQ1LCAxLjIyMDAwNTc1MDY1NjEyOF0sIFsxNjYzNzUxNTQ2LjE0OTMzLCA0Nzg3MSwgMS4yNTYxNjQzMTIzNjI2NzFdLCBbMTY2Mzc1MTU0Ni4yMjMxODQzLCA0Nzg4MCwgMS4yNDMzNDYzMzM1MDM3MjMxXSwgWzE2NjM3NTE1NDYuNDU2MjE2MywgNDc5MDcsIDEuMjUwNTA5OTc3MzQwNjk4Ml0sIFsxNjYzNzUxNTQ2LjYxMjc0MjIsIDQ3OTI1LCAxLjI3MDk0NzA5ODczMTk5NDZdLCBbMTY2Mzc1MTU0Ni44ODc1NSwgNDc5NjEsIDEuMjY4MzA0ODI0ODI5MTAxNl0sIFsxNjYzNzUxNTQ2Ljk1NzE4MDMsIDQ3OTcwLCAxLjIyNzQ4MTk2MTI1MDMwNTJdLCBbMTY2Mzc1MTU0Ny42NDA5MzMzLCA0ODAxNSwgMS4yNTk3OTU2NjU3NDA5NjY4XSwgWzE2NjM3NTE1NDcuODMyNTY1OCwgNDgwMzMsIDEuMjI5NDc1OTc1MDM2NjIxXSwgWzE2NjM3NTE1NDguMDMwNTg4LCA0ODA1MSwgMS4yNTQxMjQ1MjIyMDkxNjc1XSwgWzE2NjM3NTE1NDguNDg3MDMxMiwgNDgwOTYsIDEuMjIwNDU1NDA4MDk2MzEzNV0sIFsxNjYzNzUxNTUwLjA4MzM4MSwgNDgyNjcsIDEuMjMyNDU1MzcyODEwMzYzOF0sIFsxNjYzNzUxNTUwLjU5MTMwMSwgNDgzMjEsIDEuMjQ0MzY3NTk5NDg3MzA0N10sIFsxNjYzNzUxNTUwLjcyODU3OSwgNDgzMzksIDEuMjY2NDMyMjg1MzA4ODM4XSwgWzE2NjM3NTE1NTAuOTQ0MTIxOCwgNDgzNjYsIDEuMjMxMzQxMTIzNTgwOTMyNl0sIFsxNjYzNzUxNTUxLjc4ODM4MDQsIDQ4NDQ3LCAxLjI0MTc3NDMyMDYwMjQxN10sIFsxNjYzNzUxNTUyLjc2NTA5NTcsIDQ4NTQ2LCAxLjI1MTczMjgyNjIzMjkxMDJdLCBbMTY2Mzc1MTU1Mi45NjA0Njg4LCA0ODU2NCwgMS4yNTM2MjU3NTA1NDE2ODddLCBbMTY2Mzc1MTU1My41OTk1MjcsIDQ4NjI3LCAxLjI2OTcwNDIyMjY3OTEzODJdLCBbMTY2Mzc1MTU1My42ODkzMjE4LCA0ODYzNiwgMS4yNDY1MDQ0MjYwMDI1MDI0XSwgWzE2NjM3NTE1NTMuOTc4MjcxNSwgNDg2NzIsIDEuMjAwMTU2MDkyNjQzNzM3OF0sIFsxNjYzNzUxNTU0LjczNjU4NywgNDg3NjIsIDEuMjk4MTczMDY5OTUzOTE4NV0sIFsxNjYzNzUxNTU0LjkyMDY3OCwgNDg3ODAsIDEuMjM0OTM3OTA2MjY1MjU4OF0sIFsxNjYzNzUxNTU1LjI5MzY2MTgsIDQ4ODI1LCAxLjIxMTc1MzM2ODM3NzY4NTVdLCBbMTY2Mzc1MTU1NS41ODU2OTg2LCA0ODg2MSwgMS4yMjUyMTA3ODU4NjU3ODM3XSwgWzE2NjM3NTE1NTYuMjUxMjk4NywgNDg5MjQsIDEuMjAwOTIyODQ2Nzk0MTI4NF0sIFsxNjYzNzUxNTU3LjIyMjM3NDcsIDQ5MDE0LCAxLjI0NTcxODgzNjc4NDM2MjhdLCBbMTY2Mzc1MTU1Ny40MTk1MTI1LCA0OTAzMiwgMS4yMTQzMjYzODE2ODMzNDk2XSwgWzE2NjM3NTE1NTcuNTE3NjU1MSwgNDkwNDEsIDEuMjI5ODYxNzM2Mjk3NjA3NF0sIFsxNjYzNzUxNTU3Ljg3MjM2NCwgNDkwNzcsIDEuMjY3NjQ1NzE2NjY3MTc1M10sIFsxNjYzNzUxNTU4LjA0MjQxNTQsIDQ5MDk1LCAxLjIzODg5MjY3NDQ0NjEwNl0sIFsxNjYzNzUxNTU4LjE5NzI3OCwgNDkxMTMsIDEuMjE0NjUyODk1OTI3NDI5Ml0sIFsxNjYzNzUxNTU4LjI5NTI4NjIsIDQ5MTIyLCAxLjIzMTUwMzg0NDI2MTE2OTRdLCBbMTY2Mzc1MTU1OC42NTgxMjM3LCA0OTE0MCwgMS4yMTIxNTAyMTYxMDI2XSwgWzE2NjM3NTE1NTkuMTY2NzY1LCA0OTIwMywgMS4yNTA1NjI0Mjk0MjgxMDA2XSwgWzE2NjM3NTE1NTkuNDYyNDAzNSwgNDkyMzksIDEuMjMyNjI5Mjk5MTYzODE4NF0sIFsxNjYzNzUxNTYxLjY2MzAxMjMsIDQ5NDczLCAxLjI5NTM5NDE4MjIwNTIwMDJdLCBbMTY2Mzc1MTU2MS44MTIzMjMsIDQ5NDkxLCAxLjE5NTc5NDkzOTk5NDgxMl0sIFsxNjYzNzUxNTYyLjIyNTQ5MTMsIDQ5NTQ1LCAxLjIyNjQ3OTQxMTEyNTE4M10sIFsxNjYzNzUxNTYyLjQyNjU4MzMsIDQ5NTcyLCAxLjIzNTk0MzY3NTA0MTE5ODddLCBbMTY2Mzc1MTU2Mi41MDEyOTEsIDQ5NTgxLCAxLjI2MjE0MDI3NDA0Nzg1MTZdLCBbMTY2Mzc1MTU2Mi41ODAzNTUsIDQ5NTkwLCAxLjIyMDcyMTQ4MzIzMDU5MDhdLCBbMTY2Mzc1MTU2Mi42NTczMTM4LCA0OTU5OSwgMS4yMDg3NTkzMDc4NjEzMjgxXSwgWzE2NjM3NTE1NjMuMTY1NzczOSwgNDk2NjIsIDEuMjA0NzM0NDQ0NjE4MjI1XSwgWzE2NjM3NTE1NjMuNDUxNDI2LCA0OTY5OCwgMS4yMTY4NzAxODg3MTMwNzM3XSwgWzE2NjM3NTE1NjMuNjAyMDI4LCA0OTcxNiwgMS4yOTM2MDQxMzU1MTMzMDU3XSwgWzE2NjM3NTE1NjMuODM0MDk1NSwgNDk3NDMsIDEuMjMzMTQwNDY4NTk3NDEyXSwgWzE2NjM3NTE1NjUuODA1Njk0NiwgNDk5MTQsIDEuMTkxMTY0NDkzNTYwNzkxXSwgWzE2NjM3NTE1NjYuMzQzNDk0NywgNDk5NzcsIDEuMTg4MjU5MTI0NzU1ODU5NF0sIFsxNjYzNzUxNTY2LjQ4NDQ1MDgsIDQ5OTk1LCAxLjE4NzE1MzU3NzgwNDU2NTRdLCBbMTY2Mzc1MTU2Ni43MDA1MDQsIDUwMDIyLCAxLjIyODA5NjM2NTkyODY1XSwgWzE2NjM3NTE1NjcuNDI4MzEyOCwgNTAxMTIsIDEuMTk0NTkwMjEwOTE0NjExOF0sIFsxNjYzNzUxNTY3LjYyNzY3LCA1MDEzOSwgMS4yMDE1MTYyNzA2Mzc1MTIyXSwgWzE2NjM3NTE1NjguMTg2OTM3MywgNTAxODQsIDEuMjI1ODQwNTY4NTQyNDgwNV0sIFsxNjYzNzUxNTY4LjYwMjY2NywgNTAyMjAsIDEuMjM3NjU1NjM5NjQ4NDM3NV0sIFsxNjYzNzUxNTcwLjY3NzY2LCA1MDQ0NSwgMS4xOTg3OTI4MTUyMDg0MzVdLCBbMTY2Mzc1MTU3MS4wMTM4NTYsIDUwNDgxLCAxLjIzNjIyMDAwMjE3NDM3NzRdLCBbMTY2Mzc1MTU3MS45MjMyMDk0LCA1MDU4OSwgMS4yNTIyNzA1NzkzMzgwNzM3XV0=","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_09-04-50_8f860c94f07e&tag=Loss%2Fvalid":{"data":"W1sxNjYzNzUxMDkwLjQ3Mjk4MzEsIDQ1LCAxMTkuNzU1MjAzMjQ3MDcwMzFdLCBbMTY2Mzc1MTA5MS4zNjM1NzksIDEzNSwgMTQzLjQ4OTczMDgzNDk2MDk0XSwgWzE2NjM3NTEwOTEuNDU4OTQ4MSwgMTQ0LCAxMzUuMTgyMDgzMTI5ODgyOF0sIFsxNjYzNzUxMDkxLjkzMzA4MTQsIDE3MSwgMTE3LjUxNjI4ODc1NzMyNDIyXSwgWzE2NjM3NTEwOTIuMDMwNzQ3LCAxODAsIDEyNS4wMDg2NjY5OTIxODc1XSwgWzE2NjM3NTEwOTIuNjY0NjUyNiwgMjQzLCAxMTcuMDQzNTI1Njk1ODAwNzhdLCBbMTY2Mzc1MTA5Mi43NjA2ODUyLCAyNTIsIDEwMy4zODUxNzc2MTIzMDQ2OV0sIFsxNjYzNzUxMDk0LjAwMjQ1OCwgMzY5LCAxMDAuMTcwMDM2MzE1OTE3OTddLCBbMTY2Mzc1MTA5NC42OTQ3MjcsIDQzMiwgODQuNTYxMDM1MTU2MjVdLCBbMTY2Mzc1MTA5NC44MDQzMjIyLCA0NDEsIDk4LjAzNjY4MjEyODkwNjI1XSwgWzE2NjM3NTEwOTQuODg1Njk4LCA0NTAsIDkzLjkwNTgyMjc1MzkwNjI1XSwgWzE2NjM3NTEwOTYuMTc4MDg0OSwgNTY3LCA3NS4xMzIwNTcxODk5NDE0XSwgWzE2NjM3NTEwOTYuMjc0NjAyMiwgNTc2LCA3Mi45NzQzMDQxOTkyMTg3NV0sIFsxNjYzNzUxMDk2LjY0NzczNiwgNjEyLCA4MC4yMTEyODg0NTIxNDg0NF0sIFsxNjYzNzUxMDk2Ljk4MDA4MzUsIDYzOSwgODkuNDgzODMzMzEyOTg4MjhdLCBbMTY2Mzc1MTA5Ny4wNzg3MTY4LCA2NDgsIDY5LjMyODc5NjM4NjcxODc1XSwgWzE2NjM3NTEwOTcuNjkzODUxLCA3MDIsIDg2LjYyMjg3MTM5ODkyNTc4XSwgWzE2NjM3NTEwOTguMTcwODMyOSwgNzQ3LCA3NS40Njg3NDIzNzA2MDU0N10sIFsxNjYzNzUxMDk4LjgxMjQzNzMsIDgxMCwgNjguMDk5NTk0MTE2MjEwOTRdLCBbMTY2Mzc1MTA5OS42NzQ5NjY2LCA5MDAsIDU0LjkwODQyNDM3NzQ0MTQwNl0sIFsxNjYzNzUxMDk5Ljk4NTg2MzQsIDkzNiwgNTEuNjUxODkzNjE1NzIyNjU2XSwgWzE2NjM3NTExMDAuNTc2ODg0NSwgOTcyLCA2MC42ODgwMzAyNDI5MTk5Ml0sIFsxNjYzNzUxMTAxLjgwNjkzOTQsIDEwOTgsIDQ5LjYwNjIzMTY4OTQ1MzEyNV0sIFsxNjYzNzUxMTAyLjIxMDM5MTMsIDExMzQsIDU4LjA3NDU1NDQ0MzM1OTM3NV0sIFsxNjYzNzUxMTAyLjI4NTk1MzMsIDExNDMsIDQ3LjkwNzc4MzUwODMwMDc4XSwgWzE2NjM3NTExMDIuNDI5OTAwNiwgMTE2MSwgNDIuMDY4MDMxMzExMDM1MTU2XSwgWzE2NjM3NTExMDIuNTg2OTc1MywgMTE3OSwgNTAuODcxNTkzNDc1MzQxOF0sIFsxNjYzNzUxMTAzLjAyNzU1OCwgMTIzMywgNDkuMzA5MzE0NzI3NzgzMl0sIFsxNjYzNzUxMTAzLjczMzM4MjIsIDEzMDUsIDQ3LjM1Njc3NzE5MTE2MjExXSwgWzE2NjM3NTExMDMuOTI0NTI1MywgMTMyMywgNTIuNzUyODkxNTQwNTI3MzQ0XSwgWzE2NjM3NTExMDQuMDAwMDA2MiwgMTMzMiwgNTMuNjQ1NzYzMzk3MjE2OF0sIFsxNjYzNzUxMTA0LjI1OTIsIDEzNTksIDQ4Ljk4NTA2MTY0NTUwNzgxXSwgWzE2NjM3NTExMDUuMDM2OTE3LCAxNDIyLCA0OC41Mzc5MTA0NjE0MjU3OF0sIFsxNjYzNzUxMTA1LjI2NDMxODIsIDE0NDksIDUxLjY2NTU3MzEyMDExNzE5XSwgWzE2NjM3NTExMDUuNDE2MjU2LCAxNDY3LCA0NS41NjE3MjU2MTY0NTUwOF0sIFsxNjYzNzUxMTA1LjU2MTc4NTcsIDE0ODUsIDQ2LjUwODU4Njg4MzU0NDkyXSwgWzE2NjM3NTExMDYuMTQxNTA2MiwgMTU1NywgNDUuMTEyNjU5NDU0MzQ1N10sIFsxNjYzNzUxMTA2LjUwNTcwMDYsIDE2MDIsIDQ2LjQ4Nzc3NzcwOTk2MDk0XSwgWzE2NjM3NTExMDcuMDExMiwgMTY2NSwgNTguOTI5ODA5NTcwMzEyNV0sIFsxNjYzNzUxMTA3LjA5Mzg1MTMsIDE2NzQsIDM4Ljg5OTQwNjQzMzEwNTQ3XSwgWzE2NjM3NTExMDcuNTYzMzYwNSwgMTcyOCwgNDQuNzU4MTg2MzQwMzMyMDNdLCBbMTY2Mzc1MTEwNy44MzU4MDM3LCAxNzM3LCA0NC44NDY3MTAyMDUwNzgxMjVdLCBbMTY2Mzc1MTEwOC42NDUwOTEzLCAxODM2LCA0NS4zMjQxMjcxOTcyNjU2MjVdLCBbMTY2Mzc1MTEwOC43ODkyODk1LCAxODU0LCA0NS4yNjQ2OTQyMTM4NjcxOV0sIFsxNjYzNzUxMTA5LjQwMzk5NzcsIDE5MjYsIDQwLjY1NzM2NzcwNjI5ODgzXSwgWzE2NjM3NTExMTAuNjg4MDkzLCAyMDcwLCA0Mi4xMDQ2ODY3MzcwNjA1NV0sIFsxNjYzNzUxMTExLjk1Nzk2NDIsIDIyMDUsIDQ0LjI4NTk1MzUyMTcyODUxNl0sIFsxNjYzNzUxMTEyLjA2NDE1NzcsIDIyMTQsIDQxLjMyMzMyNjExMDgzOTg0NF0sIFsxNjYzNzUxMTEzLjA2NTIyODUsIDIzMzEsIDQxLjcyMDYxOTIwMTY2MDE1Nl0sIFsxNjYzNzUxMTEzLjE0NTUwMTEsIDIzNDAsIDQyLjU3MzkzNjQ2MjQwMjM0NF0sIFsxNjYzNzUxMTE0LjE0OTY3NDIsIDI0NDgsIDQxLjQxMzY4ODY1OTY2Nzk3XSwgWzE2NjM3NTExMTQuNTI2ODgwNywgMjQ3NSwgNDQuMDc3NTMzNzIxOTIzODNdLCBbMTY2Mzc1MTExNS41NjI0NTE2LCAyNTQ3LCA0My4xODU3NTI4Njg2NTIzNDRdLCBbMTY2Mzc1MTExNS43OTY4ODM4LCAyNTc0LCAzNy4wNTUxNDkwNzgzNjkxNF0sIFsxNjYzNzUxMTE2LjAxMjY5NDgsIDI2MDEsIDM3Ljg4NzI0NTE3ODIyMjY1Nl0sIFsxNjYzNzUxMTE2LjE3MTkwMTcsIDI2MTksIDQ2LjIxMjM0ODkzNzk4ODI4XSwgWzE2NjM3NTExMTYuNTY0OTg4MSwgMjY2NCwgNDUuNzcyMTkzOTA4NjkxNDA2XSwgWzE2NjM3NTExMTYuNzEwNzEyNywgMjY4MiwgMzcuODY1MjAwMDQyNzI0NjFdLCBbMTY2Mzc1MTExNy42OTc5NDQ2LCAyNzgxLCA0MC43OTc1MDQ0MjUwNDg4M10sIFsxNjYzNzUxMTE4LjA0NTUyOTgsIDI4MTcsIDQyLjkwODg0Mzk5NDE0MDYyNV0sIFsxNjYzNzUxMTE4LjM1NzUwMiwgMjg1MywgMzkuOTA2ODk0NjgzODM3ODldLCBbMTY2Mzc1MTExOC41MTMzMDYxLCAyODcxLCA0MS42MjMwMzE2MTYyMTA5NF0sIFsxNjYzNzUxMTE4LjU5MzIzNSwgMjg4MCwgMzcuMTc2NDkwNzgzNjkxNDA2XSwgWzE2NjM3NTExMTguODA5NjY3NiwgMjkwNywgMzMuMjY5Mzk3NzM1NTk1N10sIFsxNjYzNzUxMTIwLjgyMjA2MzIsIDMxMTQsIDQ1LjcxNjcxNjc2NjM1NzQyXSwgWzE2NjM3NTExMjAuOTAwMTI0OCwgMzEyMywgNDMuOTUyMzY1ODc1MjQ0MTRdLCBbMTY2Mzc1MTEyMS45OTA4MTA2LCAzMjMxLCA0Ni42OTM3NTk5MTgyMTI4OV0sIFsxNjYzNzUxMTIyLjY2NjQzMzYsIDMyODUsIDM4LjM2Njg2NzA2NTQyOTY5XSwgWzE2NjM3NTExMjIuNzMzNDk0MywgMzI5NCwgMzcuMTEyNzcwMDgwNTY2NDA2XSwgWzE2NjM3NTExMjIuODEzNDA2NSwgMzMwMywgNDAuNjA4OTY2ODI3MzkyNThdLCBbMTY2Mzc1MTEyMy45Mjg0ODMyLCAzNDExLCA0MC42NTIzODE4OTY5NzI2NTZdLCBbMTY2Mzc1MTEyNC41Mjk5NDY4LCAzNDgzLCAzNy4wNjMxMDY1MzY4NjUyMzRdLCBbMTY2Mzc1MTEyNC44MTg5NDAyLCAzNTE5LCAzNy4wNzM0NDgxODExNTIzNDRdLCBbMTY2Mzc1MTEyNC45NjUyMDUyLCAzNTM3LCA0Mi45Mjg3MTg1NjY4OTQ1M10sIFsxNjYzNzUxMTI1LjM2NTQwNzIsIDM1ODIsIDQwLjE2ODU3OTEwMTU2MjVdLCBbMTY2Mzc1MTEyNS43NTA3NTU1LCAzNjI3LCA0Mi41Njk3NjMxODM1OTM3NV0sIFsxNjYzNzUxMTI1Ljk0OTgzNjcsIDM2NDUsIDM0LjI2MjYxMTM4OTE2MDE1Nl0sIFsxNjYzNzUxMTI2Ljk1OTI2MzYsIDM3NDQsIDM4LjQ5MTk0MzM1OTM3NV0sIFsxNjYzNzUxMTI3LjQwMDc1MDQsIDM3OTgsIDM2LjQxMTk2ODIzMTIwMTE3XSwgWzE2NjM3NTExMjcuNDgyNDkyMiwgMzgwNywgMzMuNzU5MTEzMzExNzY3NThdLCBbMTY2Mzc1MTEyOC43Mzk4MjIsIDM5MzMsIDM1Ljg4OTIyODgyMDgwMDc4XSwgWzE2NjM3NTExMjguODA5NDQ5NywgMzk0MiwgMzUuMTYxMzI3MzYyMDYwNTVdLCBbMTY2Mzc1MTEyOC45NTcyMDY1LCAzOTYwLCA0Mi43OTc4ODU4OTQ3NzUzOV0sIFsxNjYzNzUxMTI5LjQ3NjUzLCA0MDIzLCA0MC4xNzgyNTY5ODg1MjUzOV0sIFsxNjYzNzUxMTMwLjIyMDgzMDcsIDQwNzcsIDM5LjE1MTIwNjk3MDIxNDg0NF0sIFsxNjYzNzUxMTMwLjUwMDAyNjUsIDQxMTMsIDMyLjM0OTk0NTA2ODM1OTM3NV0sIFsxNjYzNzUxMTMwLjg3MzM1ODIsIDQxNTgsIDMzLjg3MDg2MTA1MzQ2NjhdLCBbMTY2Mzc1MTEzMS4zNjAxMzQsIDQxOTQsIDMyLjg5MjY4ODc1MTIyMDddLCBbMTY2Mzc1MTEzMS42MzI4OTg4LCA0MjIxLCAzMS42OTI5OTMxNjQwNjI1XSwgWzE2NjM3NTExMzEuNzc1NzcyMywgNDIzOSwgMzguMzQ5MzAwMzg0NTIxNDg0XSwgWzE2NjM3NTExMzIuMDcyNTQ4OSwgNDI3NSwgMzUuMzUzMjg2NzQzMTY0MDZdLCBbMTY2Mzc1MTEzMi4xNDY3NjI2LCA0Mjg0LCAzMy44NDg4MTIxMDMyNzE0ODRdLCBbMTY2Mzc1MTEzMi41MjE4MjAzLCA0MzI5LCA0MS4yODQ1ODc4NjAxMDc0Ml0sIFsxNjYzNzUxMTMyLjU5MzgwOTQsIDQzMzgsIDMzLjc4NjkyNjI2OTUzMTI1XSwgWzE2NjM3NTExMzMuMDE0Njk0NSwgNDM5MiwgMjguNzg4MDQ3NzkwNTI3MzQ0XSwgWzE2NjM3NTExMzUuMDIxMzExNSwgNDU5OSwgMjcuNzQ5NzUyMDQ0Njc3NzM0XSwgWzE2NjM3NTExMzUuMTc3MDU1NiwgNDYxNywgMjguMTc3MDUzNDUxNTM4MDg2XSwgWzE2NjM3NTExMzUuMjQ3OTk1OSwgNDYyNiwgMzcuODYzOTA2ODYwMzUxNTZdLCBbMTY2Mzc1MTEzNS4zMjM2MzQ0LCA0NjM1LCAzMS4wMTA1MTEzOTgzMTU0M10sIFsxNjYzNzUxMTM1LjU1Njg4NTUsIDQ2NjIsIDMzLjc0OTU4ODAxMjY5NTMxXSwgWzE2NjM3NTExMzUuNzA0NTk0MSwgNDY4MCwgMzEuMDEwNjY1ODkzNTU0Njg4XSwgWzE2NjM3NTExMzYuODE5NDY3MywgNDgwNiwgMjUuODU3MTMxOTU4MDA3ODEyXSwgWzE2NjM3NTExMzYuODk5NDYzMiwgNDgxNSwgMzIuMjc3NTAwMTUyNTg3ODldLCBbMTY2Mzc1MTEzNy4yMzA1NTQzLCA0ODMzLCAzNC40NTk2MTM4MDAwNDg4M10sIFsxNjYzNzUxMTM3LjM3ODYyNiwgNDg1MSwgMzAuNzcxNDA0MjY2MzU3NDIyXSwgWzE2NjM3NTExMzcuNTMyNTQwMywgNDg2OSwgMzEuMDAzODMzNzcwNzUxOTUzXSwgWzE2NjM3NTExMzcuODIyNDU3OCwgNDkwNSwgMzEuMTk3MDQyNDY1MjA5OTZdLCBbMTY2Mzc1MTEzNy45NjU1ODIsIDQ5MjMsIDMyLjg5ODc4ODQ1MjE0ODQ0XSwgWzE2NjM3NTExMzguNDE5NzU1NSwgNDk1OSwgMjUuMTA5Njc0NDUzNzM1MzVdLCBbMTY2Mzc1MTEzOC41OTIzNzcsIDQ5NzcsIDI2LjUyNjExMzUxMDEzMTgzNl0sIFsxNjYzNzUxMTM4LjkwMDg0NywgNTAxMywgMjcuNDk2Nzc4NDg4MTU5MThdLCBbMTY2Mzc1MTEzOS41NDczODI2LCA1MDY3LCAzMC45MzA4ODcyMjIyOTAwNF0sIFsxNjYzNzUxMTM5LjcyOTM3NywgNTA4NSwgMzEuMDY5Njk0NTE5MDQyOTddLCBbMTY2Mzc1MTE0MC4wMjE4NDk0LCA1MTIxLCAzMC4yNjI5Nzk1MDc0NDYyOV0sIFsxNjYzNzUxMTQxLjM2NDY3MjcsIDUyNjUsIDI2LjY2Mjc4NjQ4Mzc2NDY1XSwgWzE2NjM3NTExNDEuNDM0NTc1NiwgNTI3NCwgMjUuMzkzOTc4MTE4ODk2NDg0XSwgWzE2NjM3NTExNDEuODIzNDg1NiwgNTMxOSwgMzEuMjU5MzI2OTM0ODE0NDUzXSwgWzE2NjM3NTExNDIuMzA3OTI5OCwgNTM1NSwgMjcuMDk1MTM4NTQ5ODA0Njg4XSwgWzE2NjM3NTExNDIuNDg5NDAwMSwgNTM3MywgMjQuMjA1OTc2NDg2MjA2MDU1XSwgWzE2NjM3NTExNDQuMDU5NDQzLCA1NTI2LCAyMy4xNTI1MTM1MDQwMjgzMl0sIFsxNjYzNzUxMTQ0LjEzNzUxNjcsIDU1MzUsIDI0LjU4NTI2MDM5MTIzNTM1XSwgWzE2NjM3NTExNDUuMTI5MjczMiwgNTYwNywgMjUuNzAwMTAzNzU5NzY1NjI1XSwgWzE2NjM3NTExNDUuMjIzODIxMiwgNTYxNiwgMjUuNTA0ODEwMzMzMjUxOTUzXSwgWzE2NjM3NTExNDUuNzM1MTQzNywgNTY2MSwgMjguNjc2MDgyNjExMDgzOTg0XSwgWzE2NjM3NTExNDUuODE0MTM1NiwgNTY3MCwgMjEuNjcyMTE3MjMzMjc2MzY3XSwgWzE2NjM3NTExNDYuNTA5MzI3NywgNTc0MiwgMzAuMjIxOTAwOTM5OTQxNDA2XSwgWzE2NjM3NTExNDYuOTgxMzg0OCwgNTc5NiwgMjIuNzM5ODYwNTM0NjY3OTddLCBbMTY2Mzc1MTE0Ny4wNTAwNjg2LCA1ODA1LCAyOC40NjMzNzMxODQyMDQxXSwgWzE2NjM3NTExNDcuNDQ4MDAxLCA1ODUwLCAyMS4xMzczMDA0OTEzMzMwMDhdLCBbMTY2Mzc1MTE0OC4xMzI0NzA0LCA1OTMxLCAyMS41NDE1NDAxNDU4NzQwMjNdLCBbMTY2Mzc1MTE0OC4yNzE1MzU0LCA1OTQ5LCAyNC45MjU1OTgxNDQ1MzEyNV0sIFsxNjYzNzUxMTQ4Ljg2MjA2NDEsIDYwMTIsIDIzLjU0OTk0MjAxNjYwMTU2Ml0sIFsxNjYzNzUxMTQ5LjU0MTI4ODQsIDYwODQsIDI2LjE2MTQ5MTM5NDA0Mjk3XSwgWzE2NjM3NTExNDkuNjE2NzMyOCwgNjA5MywgMjIuNDM5MzEwMDczODUyNTRdLCBbMTY2Mzc1MTE1MC4xOTk3MTE2LCA2MTY1LCAyMS43MzQzMDI1MjA3NTE5NTNdLCBbMTY2Mzc1MTE1MC43NzQ2NTIyLCA2MjM3LCAyNC41Mzc1ODA0OTAxMTIzMDVdLCBbMTY2Mzc1MTE1MC45MDg1Nzk4LCA2MjU1LCAyMS44MjA5Njg2Mjc5Mjk2ODhdLCBbMTY2Mzc1MTE1Mi4zMjU4NzU4LCA2Mzk5LCAyMC4zNjczNzA2MDU0Njg3NV0sIFsxNjYzNzUxMTUzLjE5MjMwNzcsIDY0OTgsIDIzLjQ4OTk2MzUzMTQ5NDE0XSwgWzE2NjM3NTExNTMuNDMyODYzNywgNjUxNiwgMjIuMDcwOTkxNTE2MTEzMjhdLCBbMTY2Mzc1MTE1My42MDIyMzU2LCA2NTM0LCAyMS40OTc4MTQxNzg0NjY3OTddLCBbMTY2Mzc1MTE1My44MjE2ODUzLCA2NTYxLCAxOC41NDQ2Nzc3MzQzNzVdLCBbMTY2Mzc1MTE1My44OTI1NDgzLCA2NTcwLCAyMC45MTk4NjI3NDcxOTIzODNdLCBbMTY2Mzc1MTE1NC4wNDU0OTEsIDY1ODgsIDI0LjY2ODU0NjY3NjYzNTc0Ml0sIFsxNjYzNzUxMTU0LjExOTMxNDIsIDY1OTcsIDE5LjI0MDU3NzY5Nzc1MzkwNl0sIFsxNjYzNzUxMTU0LjI0MjQ0MSwgNjYwNiwgMTguNjQyNzY4ODU5ODYzMjhdLCBbMTY2Mzc1MTE1NC45NTA3NjA0LCA2NjUxLCAyMC40NTE3NTU1MjM2ODE2NF0sIFsxNjYzNzUxMTU1LjUxNjYwODIsIDY3MDUsIDE5LjA1OTgxMDYzODQyNzczNF0sIFsxNjYzNzUxMTU3LjI0MTM2MzUsIDY4ODUsIDIxLjM4NjkzNDI4MDM5NTUwOF0sIFsxNjYzNzUxMTU4LjEwMDg2MTUsIDY5ODQsIDE5LjE1MTU0ODM4NTYyMDExN10sIFsxNjYzNzUxMTU4LjE3OTUwNzUsIDY5OTMsIDE4LjEwMDkwNjM3MjA3MDMxMl0sIFsxNjYzNzUxMTU4LjUwNjI2MTMsIDcwMjksIDE2Ljg3OTQwNzg4MjY5MDQzXSwgWzE2NjM3NTExNTguNjU0ODQ2NCwgNzA0NywgMjAuNzU4MzgwODg5ODkyNTc4XSwgWzE2NjM3NTExNTkuMDYwNjEzOSwgNzEwMSwgMTUuNTUyMTU1NDk0Njg5OTQxXSwgWzE2NjM3NTExNjAuMzk4Njg3OCwgNzI0NSwgMTguNjgyNTY5NTAzNzg0MThdLCBbMTY2Mzc1MTE2MC40Nzg3MzE5LCA3MjU0LCAxNy42Nzc4MTI1NzYyOTM5NDVdLCBbMTY2Mzc1MTE2MC42NzE5Mjc3LCA3MjcyLCAxNy40NDA0NTA2NjgzMzQ5Nl0sIFsxNjYzNzUxMTYwLjg5MTQ0NDIsIDcyOTksIDE1LjY0NzU5MzQ5ODIyOTk4XSwgWzE2NjM3NTExNjEuNjA1OTU2LCA3MzgwLCAxNS40NTYxNDI0MjU1MzcxMV0sIFsxNjYzNzUxMTYyLjUzNzQzOTMsIDc0OTcsIDE2LjcxMzgyOTA0MDUyNzM0NF0sIFsxNjYzNzUxMTYzLjE0NjE3NzUsIDc1NjksIDE0Ljk3MDA0NjA0MzM5NTk5Nl0sIFsxNjYzNzUxMTYzLjM4OTgyMjIsIDc1OTYsIDE3LjY2MzI4MjM5NDQwOTE4XSwgWzE2NjM3NTExNjQuNDQwMTk0NiwgNzcyMiwgMTMuNzk2NzAyMzg0OTQ4NzNdLCBbMTY2Mzc1MTE2NC43OTk1Njc1LCA3NzY3LCAxNS4zMzIwNjU1ODIyNzUzOV0sIFsxNjYzNzUxMTY1LjE0NzI2NjYsIDc4MDMsIDEzLjY1NzY5MTk1NTU2NjQwNl0sIFsxNjYzNzUxMTY1LjY5NzU0MywgNzg0OCwgMTQuODAyOTUzNzIwMDkyNzczXSwgWzE2NjM3NTExNjYuNzc2MDAzLCA3OTY1LCAxMy42NDc1NDAwOTI0NjgyNjJdLCBbMTY2Mzc1MTE2Ni45MzQ2MTYzLCA3OTgzLCAxNi42MzkxNjM5NzA5NDcyNjZdLCBbMTY2Mzc1MTE2Ny42NjE0NTI1LCA4MDY0LCAxNy4xMTk4Mzg3MTQ1OTk2MV0sIFsxNjYzNzUxMTY3Ljc5NDQ4NjgsIDgwODIsIDE0LjAyOTYxNTQwMjIyMTY4XSwgWzE2NjM3NTExNjguMTE4MTQyNCwgODExOCwgMTYuMjI5Njc5MTA3NjY2MDE2XSwgWzE2NjM3NTExNjguODYwODIyNywgODE4MSwgMTUuNzkwMTEzNDQ5MDk2NjhdLCBbMTY2Mzc1MTE3MC44MzE0MzU3LCA4Mzc5LCAxNC44MDkyMTA3NzcyODI3MTVdLCBbMTY2Mzc1MTE3MC45Nzk3OTUsIDgzOTcsIDE0LjkyNjg1ODkwMTk3NzUzOV0sIFsxNjYzNzUxMTcxLjc2MTQwNzQsIDg0ODcsIDE1LjUwNzU0ODMzMjIxNDM1NV0sIFsxNjYzNzUxMTcyLjMxODc2NDcsIDg1NTAsIDEyLjQ3NzIyNzIxMDk5ODUzNV0sIFsxNjYzNzUxMTczLjU5MzY2NCwgODY3NiwgMTUuMDkzNDg1ODMyMjE0MzU1XSwgWzE2NjM3NTExNzQuODA0OTAzNywgODgyMCwgMTQuMTE0ODYzMzk1NjkwOTE4XSwgWzE2NjM3NTExNzUuMDIwODYyOCwgODg0NywgMTEuNTI0ODE4NDIwNDEwMTU2XSwgWzE2NjM3NTExNzUuODAzOTQyMiwgODkzNywgMTIuNDU4ODEyNzEzNjIzMDQ3XSwgWzE2NjM3NTExNzUuOTUwMjI0NCwgODk1NSwgMTAuNjE5NDcxNTQ5OTg3NzkzXSwgWzE2NjM3NTExNzYuMzIwOTg1NiwgOTAwMCwgMTIuOTgwNDUzNDkxMjEwOTM4XSwgWzE2NjM3NTExNzYuNTQ1MDU3LCA5MDI3LCAxMS41NTM4NzQwMTU4MDgxMDVdLCBbMTY2Mzc1MTE3Ni42OTE4OTcyLCA5MDQ1LCAxMS40NDgwNDAwMDg1NDQ5MjJdLCBbMTY2Mzc1MTE3Ny40OTg4OTY2LCA5MTQ0LCAxMi42NTAxMTg4Mjc4MTk4MjRdLCBbMTY2Mzc1MTE3Ny45OTE3OTgsIDkyMDcsIDEyLjgwODAzNzc1Nzg3MzUzNV0sIFsxNjYzNzUxMTc4LjI5NzUwNTksIDkyNDMsIDEyLjk0NTE3ODk4NTU5NTcwM10sIFsxNjYzNzUxMTc4LjQ1MTE1OTUsIDkyNjEsIDExLjkzNDM0MjM4NDMzODM3OV0sIFsxNjYzNzUxMTc5LjYyODUyMywgOTM0MiwgMTQuNTkyNDk3ODI1NjIyNTU5XSwgWzE2NjM3NTExODEuMTA1ODcyLCA5NTEzLCAxMC44NzU0MDcyMTg5MzMxMDVdLCBbMTY2Mzc1MTE4Mi4xNjA5MjA0LCA5NjM5LCA5LjUyNzE1NDkyMjQ4NTM1Ml0sIFsxNjYzNzUxMTgyLjIzOTU5MDIsIDk2NDgsIDEzLjg4NTU1ODEyODM1NjkzNF0sIFsxNjYzNzUxMTgyLjM5NDk0NzgsIDk2NjYsIDEwLjE1Nzc4MDY0NzI3NzgzMl0sIFsxNjYzNzUxMTgyLjY5Mjk1NSwgOTcwMiwgMTEuMDUwNTUwNDYwODE1NDNdLCBbMTY2Mzc1MTE4My4zNDc2MDU3LCA5NzgzLCAxMS42NzM2NDc4ODA1NTQyXSwgWzE2NjM3NTExODQuMjM1ODIzNiwgOTg5MSwgOC45NjEzMzcwODk1Mzg1NzRdLCBbMTY2Mzc1MTE4NC42Nzk5MjU3LCA5OTI3LCAxMS41NTU4NzAwNTYxNTIzNDRdLCBbMTY2Mzc1MTE4NC44MTUwMDMsIDk5NDUsIDkuNjIzMzUwMTQzNDMyNjE3XSwgWzE2NjM3NTExODUuMDMxOTIzMywgOTk3MiwgMTIuNjc2NzI1Mzg3NTczMjQyXSwgWzE2NjM3NTExODUuMTgxODA1MSwgOTk5MCwgOC43MzM5Njg3MzQ3NDEyMTFdLCBbMTY2Mzc1MTE4NS4zODMxMTQzLCAxMDAwOCwgOS4xMjgwNzE3ODQ5NzMxNDVdLCBbMTY2Mzc1MTE4Ni40ODI4NDMsIDEwMDk4LCA5LjYyNTU0NzQwOTA1NzYxN10sIFsxNjYzNzUxMTg2LjgyMzAxNDcsIDEwMTM0LCAxMS4zOTc2Mjc4MzA1MDUzNzFdLCBbMTY2Mzc1MTE4Ni45MDQzODMyLCAxMDE0MywgOS45NjA5ODYxMzczOTAxMzddLCBbMTY2Mzc1MTE4Ny4xNDIzODM4LCAxMDE3MCwgMTAuMjI0OTM5MzQ2MzEzNDc3XSwgWzE2NjM3NTExODcuMzYyMTQ5MiwgMTAxOTcsIDkuMjc5MjM4NzAwODY2N10sIFsxNjYzNzUxMTg3LjUwODQ1MzgsIDEwMjE1LCA5LjMwNjMwMzAyNDI5MTk5Ml0sIFsxNjYzNzUxMTg3Ljg2ODUzMTUsIDEwMjYwLCA5LjQ5NjY3MTY3NjYzNTc0Ml0sIFsxNjYzNzUxMTg4LjM5NjcxOCwgMTAzMjMsIDguNDgzMjkzNTMzMzI1MTk1XSwgWzE2NjM3NTExODguODQ3NjIwMiwgMTAzNjgsIDkuMTQ1MDY4MTY4NjQwMTM3XSwgWzE2NjM3NTExODguOTY0Mjg1NCwgMTAzNzcsIDguMTQ5OTk0ODUwMTU4NjkxXSwgWzE2NjM3NTExODkuODk2MTA5LCAxMDQ4NSwgOC42Mjc0Mzc1OTE1NTI3MzRdLCBbMTY2Mzc1MTE5MC44MjI4MDE0LCAxMDU3NSwgMTAuMDU1ODAxMzkxNjAxNTYyXSwgWzE2NjM3NTExOTEuMDUzMDU3MiwgMTA1OTMsIDguMTE3MzEyNDMxMzM1NDVdLCBbMTY2Mzc1MTE5MS4xNTA5MjYsIDEwNjAyLCA4LjkxNzM3MDc5NjIwMzYxM10sIFsxNjYzNzUxMTkxLjcxMDQzNjYsIDEwNjY1LCA4LjU2MTYwNTQ1MzQ5MTIxMV0sIFsxNjYzNzUxMTkyLjMxNjM5OCwgMTA3MTAsIDkuNjk1NjA5MDkyNzEyNDAyXSwgWzE2NjM3NTExOTIuNjM3OTUxLCAxMDc0NiwgOS40NzIxMTgzNzc2ODU1NDddLCBbMTY2Mzc1MTE5Mi43MTI2MzQsIDEwNzU1LCAxMC41OTE2MDEzNzE3NjUxMzddLCBbMTY2Mzc1MTE5My42MjA1ODA3LCAxMDg2MywgNy43MDg0ODA4MzQ5NjA5Mzc1XSwgWzE2NjM3NTExOTQuMjM1ODE5LCAxMDkzNSwgOC4xNTQyMDcyMjk2MTQyNThdLCBbMTY2Mzc1MTE5NC41NTc4MTMyLCAxMDk3MSwgOS4wNjM1NDIzNjYwMjc4MzJdLCBbMTY2Mzc1MTE5NC45MjQzNTgxLCAxMTAxNiwgOC4yOTAxMTUzNTY0NDUzMTJdLCBbMTY2Mzc1MTE5NS4wNzUyOTAyLCAxMTAzNCwgMTAuMjI4MTY1NjI2NTI1ODc5XSwgWzE2NjM3NTExOTUuNDI1ODQ5MiwgMTEwNzAsIDcuNTc4Mzc5MTU0MjA1MzIyXSwgWzE2NjM3NTExOTYuNjUxNzgwNCwgMTEyMDUsIDguNDQwNjkxOTQ3OTM3MDEyXSwgWzE2NjM3NTExOTYuODAwOTYxLCAxMTIyMywgOC45NzEzNjMwNjc2MjY5NTNdLCBbMTY2Mzc1MTE5Ny4yMTc3NzA2LCAxMTI2OCwgNy4yOTY0NjczMDQyMjk3MzZdLCBbMTY2Mzc1MTE5Ny4yODI2MDE0LCAxMTI3NywgNy4yNzk2Mjg3NTM2NjIxMDldLCBbMTY2Mzc1MTE5Ny40MjcxNzM5LCAxMTI5NSwgOC42MjY0MTIzOTE2NjI1OThdLCBbMTY2Mzc1MTE5Ny42NTgxNzIxLCAxMTMyMiwgMTAuNTY1NTQ5ODUwNDYzODY3XSwgWzE2NjM3NTExOTcuOTQ1Nzk3NCwgMTEzNTgsIDguMzUwODU4Njg4MzU0NDkyXSwgWzE2NjM3NTExOTguNDQ0MzMzNiwgMTE0MTIsIDkuMDI1MzMyNDUwODY2N10sIFsxNjYzNzUxMTk4Ljc2NjE5MzYsIDExNDQ4LCA3LjE3NDQ5MjgzNTk5ODUzNV0sIFsxNjYzNzUxMTk5LjM5MzYxLCAxMTQ5MywgOC44NjI5MTg4NTM3NTk3NjZdLCBbMTY2Mzc1MTE5OS44Mjk3MjM4LCAxMTU0NywgNy4wMjQ2MDU3NTEwMzc1OThdLCBbMTY2Mzc1MTIwMC4wNjYzMTg1LCAxMTU3NCwgNy4zMTkwMTY0NTY2MDQwMDRdLCBbMTY2Mzc1MTIwMC40MDgyODYsIDExNjE5LCA3LjYzNDY2NjQ0Mjg3MTA5NF0sIFsxNjYzNzUxMjAwLjYyMTU3NDksIDExNjQ2LCA3LjI1NjUxODg0MDc4OTc5NV0sIFsxNjYzNzUxMjAxLjAwNTcxNCwgMTE2OTEsIDcuMjk4NzQyNzcxMTQ4NjgyXSwgWzE2NjM3NTEyMDEuMjkzMjMyMiwgMTE3MjcsIDYuNTE3NTkzODYwNjI2MjIxXSwgWzE2NjM3NTEyMDEuNTc4ODczMiwgMTE3NjMsIDYuNjg1ODE2Mjg3OTk0Mzg1XSwgWzE2NjM3NTEyMDIuMzAwMjY1OCwgMTE4NDQsIDYuNTExNTYzMzAxMDg2NDI2XSwgWzE2NjM3NTEyMDIuOTE2NjQ0OCwgMTE5MDcsIDcuMTE2MjM2Njg2NzA2NTQzXSwgWzE2NjM3NTEyMDMuMTU3MjAwMywgMTE5MzQsIDYuNTIxNDI4NTg1MDUyNDldLCBbMTY2Mzc1MTIwMy4yNDE1MDIsIDExOTQzLCA5LjA5MTY4NzIwMjQ1MzYxM10sIFsxNjYzNzUxMjAzLjkxMDU3NTYsIDEyMDI0LCA3LjE3NTU1OTA0Mzg4NDI3N10sIFsxNjYzNzUxMjA0LjY5MDYwMzcsIDEyMTE0LCA4LjAxMDY3OTI0NDk5NTExN10sIFsxNjYzNzUxMjA1LjM1ODQ3OCwgMTIxOTUsIDYuNDUwNDExNzk2NTY5ODI0XSwgWzE2NjM3NTEyMDYuMDE1NjA2NiwgMTIyNDksIDYuMDQ0Mjk2MjY0NjQ4NDM3NV0sIFsxNjYzNzUxMjA2LjMyNTAyMTcsIDEyMjg1LCA4LjY1NDEwOTAwMTE1OTY2OF0sIFsxNjYzNzUxMjA3LjI2MjIzNTYsIDEyMzg0LCA1LjY4Nzk0ODcwMzc2NTg2OV0sIFsxNjYzNzUxMjA3LjM1MDAxMiwgMTIzOTMsIDYuNzkxNjk4OTMyNjQ3NzA1XSwgWzE2NjM3NTEyMDcuNjc1MDU0NiwgMTI0MjksIDUuODMyODkyODk0NzQ0ODczXSwgWzE2NjM3NTEyMDguNzYzNDMxMywgMTI1NDYsIDYuMTA1MTkzMTM4MTIyNTU5XSwgWzE2NjM3NTEyMTAuNzQwMDEsIDEyNzYyLCA1LjM1MzgxNjAzMjQwOTY2OF0sIFsxNjYzNzUxMjEyLjMxNDYyMiwgMTI5MzMsIDYuMDc0NjQ3NDI2NjA1MjI1XSwgWzE2NjM3NTEyMTIuNDUzNTA2NSwgMTI5NTEsIDUuNzkwODQwMTQ4OTI1NzgxXSwgWzE2NjM3NTEyMTIuNzE1NDEyLCAxMjk2MCwgNS44OTk1MTgwMTMwMDA0ODhdLCBbMTY2Mzc1MTIxMi43OTE1NTM3LCAxMjk2OSwgNi4yNjY2NzMwODgwNzM3MzA1XSwgWzE2NjM3NTEyMTMuNzQ0OTc2OCwgMTMwNTAsIDYuMzI5Njk0NzQ3OTI0ODA1XSwgWzE2NjM3NTEyMTQuNDkzMTA5NSwgMTMxMjIsIDcuNjA0NjU5MDgwNTA1MzcxXSwgWzE2NjM3NTEyMTQuNTY5NTE1NSwgMTMxMzEsIDUuODk5MDk2NDg4OTUyNjM3XSwgWzE2NjM3NTEyMTQuODE1ODIsIDEzMTU4LCA1LjE4ODExNzAyNzI4MjcxNV0sIFsxNjYzNzUxMjE2LjAyNDgwMDgsIDEzMjc1LCA1LjcyMjI5NTc2MTEwODM5OF0sIFsxNjYzNzUxMjE2LjI2MDE0MDIsIDEzMjkzLCA2LjA5NDAzNzUzMjgwNjM5NjVdLCBbMTY2Mzc1MTIxNy4yNjY2ODk1LCAxMzM5MiwgNi4xMzIyNDc0NDc5Njc1MjldLCBbMTY2Mzc1MTIxNy41NjI5NjUsIDEzNDE5LCA1LjA0MTg3MDExNzE4NzVdLCBbMTY2Mzc1MTIxNy45NDA4NjY3LCAxMzQ1NSwgNi4wODI0MTU1ODA3NDk1MTJdLCBbMTY2Mzc1MTIxOC4yMzQ3NjA1LCAxMzQ5MSwgNS4yMDI4MTg4NzA1NDQ0MzRdLCBbMTY2Mzc1MTIxOC41NjU0Njc2LCAxMzUyNywgNi4zNjcxMjc0MTg1MTgwNjZdLCBbMTY2Mzc1MTIxOS4xMTkxMTQsIDEzNTkwLCA2LjE3MDIxNDY1MzAxNTEzN10sIFsxNjYzNzUxMjE5LjE5NTg4NjYsIDEzNTk5LCA2LjE0MzQwNzM0NDgxODExNV0sIFsxNjYzNzUxMjE5LjQyMDYyOCwgMTM2MjYsIDUuNjcyODg4Mjc4OTYxMTgyXSwgWzE2NjM3NTEyMTkuNjU2MDQxLCAxMzY1MywgNS40OTgxMjEyNjE1OTY2OF0sIFsxNjYzNzUxMjIwLjg3NDgyODYsIDEzNzYxLCA1LjA0ODY3MjY3NjA4NjQyNl0sIFsxNjYzNzUxMjIxLjM0NDIzMDIsIDEzODE1LCA2LjQ1NzQ0OTQzNjE4Nzc0NF0sIFsxNjYzNzUxMjIxLjcxOTI2NzEsIDEzODUxLCA1LjUwMTk1NDA3ODY3NDMxNl0sIFsxNjYzNzUxMjIyLjYyOTYwODksIDEzOTQxLCA1Ljg0MTUwMjE4OTYzNjIzMDVdLCBbMTY2Mzc1MTIyMi45Mjg2MzI3LCAxMzk2OCwgNC44NzEyMjg2OTQ5MTU3NzE1XSwgWzE2NjM3NTEyMjQuMTI4NDk5LCAxNDA5NCwgNS4yNTgxMzk2MTAyOTA1MjddLCBbMTY2Mzc1MTIyNC4zNzU5MjM0LCAxNDEyMSwgNS4yNDkxNzEyNTcwMTkwNDNdLCBbMTY2Mzc1MTIyNC43OTA4MDE1LCAxNDE2NiwgNC41OTI4MjgyNzM3NzMxOTNdLCBbMTY2Mzc1MTIyNS4xMDU4MDY0LCAxNDE5MywgNC44NzgyMzQzODY0NDQwOTJdLCBbMTY2Mzc1MTIyNi4wNDY0MDk4LCAxNDI3NCwgNC45MDU5MTM4Mjk4MDM0NjddLCBbMTY2Mzc1MTIyNy4xNzQ1NjQ4LCAxNDM3MywgNS4xNzQ5OTYzNzYwMzc1OThdLCBbMTY2Mzc1MTIyNy41OTA1NzQsIDE0NDE4LCA0LjkyOTkxODI4OTE4NDU3XSwgWzE2NjM3NTEyMjcuNzQ4ODE5NCwgMTQ0MzYsIDUuMTgzNjMyMzczODA5ODE0NV0sIFsxNjYzNzUxMjMwLjAwNzUwMTEsIDE0NjUyLCA0LjU3MDM2MzA0NDczODc2OTVdLCBbMTY2Mzc1MTIzMC42MDcwOTUyLCAxNDcyNCwgNS4wOTk3MzM4Mjk0OTgyOTFdLCBbMTY2Mzc1MTIzMC43NTUyMzY5LCAxNDc0MiwgNC40OTYyODE2MjM4NDAzMzJdLCBbMTY2Mzc1MTIzMS4wNDA5NTksIDE0NzY5LCA1LjM5MjMzMzAzMDcwMDY4NF0sIFsxNjYzNzUxMjMxLjUyMjU2MTMsIDE0ODIzLCA2LjY5NjkwNjA4OTc4MjcxNV0sIFsxNjYzNzUxMjMxLjU5Nzk0LCAxNDgzMiwgNS4yMTM0MDg5NDY5OTA5NjddLCBbMTY2Mzc1MTIzMi4xNzc3NDg3LCAxNDg5NSwgNC43MDc1MTc2MjM5MDEzNjddLCBbMTY2Mzc1MTIzMi44OTI5NDk2LCAxNDk2NywgNC40MTcxNjUyNzkzODg0MjhdLCBbMTY2Mzc1MTIzMy4yNTY3ODIsIDE1MDAzLCA1Ljc1OTMwNDA0NjYzMDg1OV0sIFsxNjYzNzUxMjMzLjgyMjMzNTUsIDE1MDM5LCA1LjQyNjE0NzkzNzc3NDY1OF0sIFsxNjYzNzUxMjM0LjE1NTIxMSwgMTUwNzUsIDUuNjA2MjMyNjQzMTI3NDQxXSwgWzE2NjM3NTEyMzQuNDMzNzM0MiwgMTUxMDIsIDQuNzUxOTY1OTk5NjAzMjcxNV0sIFsxNjYzNzUxMjM0LjY0NDM3NDEsIDE1MTIwLCA0LjU5MzM5ODA5NDE3NzI0Nl0sIFsxNjYzNzUxMjM1LjE2MzU3MSwgMTUxNzQsIDQuNjY1NTgyMTgwMDIzMTkzXSwgWzE2NjM3NTEyMzUuOTI3MDIyNywgMTUyNTUsIDQuMjA5Mjc2Njc2MTc3OTc4NV0sIFsxNjYzNzUxMjM2LjgwNDgxNTMsIDE1MzI3LCA0LjA5NjkxNTI0NTA1NjE1Ml0sIFsxNjYzNzUxMjM2LjkzOTg4NTEsIDE1MzQ1LCA1LjIzMzQxMTMxMjEwMzI3MTVdLCBbMTY2Mzc1MTIzNy4yMzQyMDI2LCAxNTM3MiwgNC42NjU2NTcwNDM0NTcwMzFdLCBbMTY2Mzc1MTIzNy40MDcwODY2LCAxNTM5MCwgNC4xOTQyMjgxNzIzMDIyNDZdLCBbMTY2Mzc1MTIzNy40NzkxMzUsIDE1Mzk5LCA0LjExMTI5NzYwNzQyMTg3NV0sIFsxNjYzNzUxMjM3LjU1MzQwNSwgMTU0MDgsIDQuNDQ4MTMyNTE0OTUzNjEzXSwgWzE2NjM3NTEyMzguMDg2MTIyMywgMTU0NzEsIDYuMDg0Mjg5NTUwNzgxMjVdLCBbMTY2Mzc1MTIzOC4zOTQyMTQsIDE1NTA3LCA0LjU4ODg2MzM3MjgwMjczNF0sIFsxNjYzNzUxMjM4LjQ2MzQxMzUsIDE1NTE2LCA0LjQyMzM4NzUyNzQ2NTgyXSwgWzE2NjM3NTEyMzkuMDMzOTQ5OSwgMTU1NzksIDQuMjQwNTM3MTY2NTk1NDU5XSwgWzE2NjM3NTEyMzkuNzQ0MzkzOCwgMTU2NjAsIDQuMDA4NTAxMDUyODU2NDQ1XSwgWzE2NjM3NTEyNDAuMDU4OTk1LCAxNTY5NiwgNS4yNjQ2Mjg0MTAzMzkzNTU1XSwgWzE2NjM3NTEyNDAuMjkzMzg3LCAxNTcxNCwgNC45MzAwMjM2NzAxOTY1MzNdLCBbMTY2Mzc1MTI0MS4zMjM4MTM0LCAxNTc5NSwgNC4wNzA0NzIyNDA0NDc5OThdLCBbMTY2Mzc1MTI0Mi40Mjc3MjgyLCAxNTg5NCwgNC42NDUwMzc2NTEwNjIwMTJdLCBbMTY2Mzc1MTI0My4yMTMxMTM4LCAxNTk4NCwgMy45NzIxODk5MDMyNTkyNzczXSwgWzE2NjM3NTEyNDMuMzU5MTM2MywgMTYwMDIsIDQuNzA1NjI1MDU3MjIwNDU5XSwgWzE2NjM3NTEyNDMuODcwMzQzNywgMTYwNjUsIDQuMjQ1MTg0NDIxNTM5MzA3XSwgWzE2NjM3NTEyNDQuMTM2NDM5NiwgMTYwNzQsIDMuODg5NDQ1MzA0ODcwNjA1NV0sIFsxNjYzNzUxMjQ0LjQzMDgxOTMsIDE2MTEwLCA0LjUwMjg5MTU0MDUyNzM0NF0sIFsxNjYzNzUxMjQ0LjY3NDAzMjIsIDE2MTM3LCAzLjk0NTE0NjA4MzgzMTc4N10sIFsxNjYzNzUxMjQ1LjIzNTE3NDcsIDE2MjA5LCA1LjI4Mjk2MTg0NTM5Nzk0OV0sIFsxNjYzNzUxMjQ2LjY4ODk0MjIsIDE2MzgwLCAzLjgzMzE3MTYwNjA2Mzg0MjhdLCBbMTY2Mzc1MTI0Ni45ODA0MTEzLCAxNjQxNiwgNC4yNzI4NTAwMzY2MjEwOTRdLCBbMTY2Mzc1MTI0Ny40OTkwMDM0LCAxNjQ3OSwgNC4wMjE5NjY5MzQyMDQxMDJdLCBbMTY2Mzc1MTI0Ny45NDA5OTcsIDE2NTMzLCAzLjkwMjAzOTc2NjMxMTY0NTVdLCBbMTY2Mzc1MTI0OC4xMzAyNjMsIDE2NTUxLCAzLjU5MjU2MTQ4MzM4MzE3ODddLCBbMTY2Mzc1MTI0OC45MzI0NTE3LCAxNjYzMiwgMy45MjQ5NDk0MDc1Nzc1MTQ2XSwgWzE2NjM3NTEyNDkuMjQ0MTg5NywgMTY2NjgsIDMuMzYxNjY5Nzc4ODIzODUyNV0sIFsxNjYzNzUxMjQ5LjkyMDMxNCwgMTY3NDksIDQuNjYxNjEzNDY0MzU1NDY5XSwgWzE2NjM3NTEyNTAuMzAwNDY4LCAxNjc5NCwgNC4wOTU4MjQyNDE2MzgxODRdLCBbMTY2Mzc1MTI1MC4zODE2MzIsIDE2ODAzLCAzLjU1MjI1MTMzODk1ODc0MDJdLCBbMTY2Mzc1MTI1MC40NjM0MTMsIDE2ODEyLCAzLjg3MDYwOTUyMTg2NTg0NDddLCBbMTY2Mzc1MTI1Mi4wOTQwNzg4LCAxNjk1NiwgMy40MzI2NDI2OTgyODc5NjRdLCBbMTY2Mzc1MTI1Mi40ODI3NzE5LCAxNzAwMSwgMy42NTExNTc2MTc1Njg5Njk3XSwgWzE2NjM3NTEyNTMuMDEwODk3MiwgMTcwNjQsIDMuNzI0MDAyNTk5NzE2MTg2NV0sIFsxNjYzNzUxMjUzLjM2OTE1NjYsIDE3MTAwLCAzLjgyMDAzNTIxOTE5MjUwNV0sIFsxNjYzNzUxMjUzLjYwNDA4NDUsIDE3MTI3LCA0LjI3NTA1Mzk3Nzk2NjMwOV0sIFsxNjYzNzUxMjU0LjA5NTE2MTQsIDE3MTgxLCA0LjMwNzY5ODI0OTgxNjg5NDVdLCBbMTY2Mzc1MTI1NC4xNzIyNzM0LCAxNzE5MCwgMy42NjkxMzUzMzIxMDc1NDRdLCBbMTY2Mzc1MTI1NC42NTk2NzUsIDE3MjI2LCAzLjc2MDYyNjU1NDQ4OTEzNTddLCBbMTY2Mzc1MTI1NS4xMzg0MDE3LCAxNzI3MSwgMy4yODcyMjM1Nzc0OTkzODk2XSwgWzE2NjM3NTEyNTUuNjYyNjI5NiwgMTczMjUsIDMuNjc3NTQ4NjQ2OTI2ODhdLCBbMTY2Mzc1MTI1NS43NDIxMjQ2LCAxNzMzNCwgMy42NTQ0NDY4NDAyODYyNTVdLCBbMTY2Mzc1MTI1Ni42MDE4MDUyLCAxNzQzMywgMy42NzIwMDEzNjE4NDY5MjRdLCBbMTY2Mzc1MTI1Ni45MTE2MzQyLCAxNzQ2OSwgMy4zNjgxMTE4NDg4MzExNzY4XSwgWzE2NjM3NTEyNTYuOTg5NDk4NCwgMTc0NzgsIDMuMTI2ODYxNTcyMjY1NjI1XSwgWzE2NjM3NTEyNTcuNDc1NTEyLCAxNzUxNCwgMy42NTMwNDkyMzA1NzU1NjE1XSwgWzE2NjM3NTEyNTcuNjQ1MTUwNCwgMTc1MzIsIDMuNTg0NjAyMTE3NTM4NDUyXSwgWzE2NjM3NTEyNTguMDk2OTQ4LCAxNzU4NiwgNC4wMjY4MjExMzY0NzQ2MDldLCBbMTY2Mzc1MTI1OC4zMzUwMzY1LCAxNzYxMywgMy40Mjc0ODU5NDI4NDA1NzZdLCBbMTY2Mzc1MTI1OC44MzE5NjUyLCAxNzY0OSwgNC4xOTc5NDg5MzI2NDc3MDVdLCBbMTY2Mzc1MTI1OC44OTk0Nzk2LCAxNzY1OCwgMy4zODk5NzM2NDA0NDE4OTQ1XSwgWzE2NjM3NTEyNTkuMDUyOTQ5NCwgMTc2NzYsIDMuNDgwMTk1MjgzODg5NzcwNV0sIFsxNjYzNzUxMjU5LjE0MTMxNDUsIDE3Njg1LCA0LjA2NDcxNDkwODU5OTg1MzVdLCBbMTY2Mzc1MTI1OS4yODkyMzU4LCAxNzcwMywgMy41NDg2MTc2MDEzOTQ2NTMzXSwgWzE2NjM3NTEyNjAuMzM4MTc3LCAxNzgwMiwgMy4yMzA0MjY1NDk5MTE0OTldLCBbMTY2Mzc1MTI2MC40OTgyODEyLCAxNzgyMCwgMy42MzM3MzU4OTUxNTY4NjA0XSwgWzE2NjM3NTEyNjEuMTc3MTI4OCwgMTc4OTIsIDMuODcxMDYzOTQ3Njc3NjEyM10sIFsxNjYzNzUxMjYxLjI1NDA1NjIsIDE3OTAxLCAzLjg2MzI2NTk5MTIxMDkzNzVdLCBbMTY2Mzc1MTI2MS40NzcwMDIxLCAxNzkyOCwgMi45NzQ4OTU3MTU3MTM1MDFdLCBbMTY2Mzc1MTI2NC4yODcxMzc1LCAxODI0MywgMy4yMDY3NzEzNzM3NDg3NzkzXSwgWzE2NjM3NTEyNjUuMDE3NjMzLCAxODMzMywgMy40MTE1NDQzMjI5Njc1MjkzXSwgWzE2NjM3NTEyNjYuMTE3NTYzMiwgMTg0MzIsIDMuMDg3MzQ5MTc2NDA2ODYwNF0sIFsxNjYzNzUxMjY2Ljc1NjQ2NDcsIDE4NTA0LCAzLjMwMTI0MTg3NDY5NDgyNF0sIFsxNjYzNzUxMjY3LjYxNDI2ODgsIDE4NjEyLCAyLjkxOTAzNTQzNDcyMjkwMDRdLCBbMTY2Mzc1MTI2Ny45NDY5NTU3LCAxODYzOSwgMy4wODYzNjU0NjEzNDk0ODczXSwgWzE2NjM3NTEyNjguODMwODczLCAxODcyMCwgMy41MjQwODQ4MDY0NDIyNjA3XSwgWzE2NjM3NTEyNjkuNzc5OTY2OCwgMTg4MTAsIDMuNDk4MDU0MDI3NTU3MzczXSwgWzE2NjM3NTEyNzAuNTQ1NjY2MiwgMTg4ODIsIDMuMzcyNjU4NzI5NTUzMjIyN10sIFsxNjYzNzUxMjcwLjgzNDc3MiwgMTg5MDksIDQuMjA4NDQ0NTk1MzM2OTE0XSwgWzE2NjM3NTEyNzEuMDY3ODQ2OCwgMTg5MzYsIDMuMDA3NDA2NzExNTc4MzY5XSwgWzE2NjM3NTEyNzEuNTM0NTgwNywgMTg5OTAsIDIuOTUxODgwNjkzNDM1NjY5XSwgWzE2NjM3NTEyNzEuOTI1Njc1LCAxOTAzNSwgMy4zMzgwNTAzNjU0NDc5OThdLCBbMTY2Mzc1MTI3Mi4wOTYwNjYyLCAxOTA0NCwgMy42NzkwODAwMDk0NjA0NDldLCBbMTY2Mzc1MTI3Mi41MTA0NTM3LCAxOTA4MCwgMy4xMzE1NzA4MTYwNDAwMzldLCBbMTY2Mzc1MTI3Mi41ODE1ODQyLCAxOTA4OSwgMi45MDAwOTA0NTYwMDg5MTFdLCBbMTY2Mzc1MTI3My4zNDU1NzMsIDE5MTUyLCAzLjIzNjg5ODY2MDY1OTc5XSwgWzE2NjM3NTEyNzQuMDU4NzI3NywgMTkyMzMsIDMuMDYxMjE0MjA4NjAyOTA1M10sIFsxNjYzNzUxMjc0LjI2NzY3MjMsIDE5MjYwLCAzLjUzNjM3NzE5MTU0MzU3OV0sIFsxNjYzNzUxMjc2LjE3NzY2NDgsIDE5NDQwLCAzLjAyNzE2MDY0NDUzMTI1XSwgWzE2NjM3NTEyNzcuMDk5MTg2NywgMTk1MzAsIDMuNzM4MzgxMTQ3Mzg0NjQzNl0sIFsxNjYzNzUxMjc4LjU2NDY0MywgMTk2OTIsIDIuNzI0OTU4ODk2NjM2OTYzXSwgWzE2NjM3NTEyNzkuMDYwODc5LCAxOTc1NSwgMi44MDk0MTYwNTU2NzkzMjEzXSwgWzE2NjM3NTEyNzkuNTYwNzA3LCAxOTgxOCwgMy40OTUxNzU2MDAwNTE4OF0sIFsxNjYzNzUxMjgwLjEwODkyMDYsIDE5ODkwLCAzLjA4ODU3ODIyNDE4MjEyOV0sIFsxNjYzNzUxMjgwLjI2Mzk1OTQsIDE5OTA4LCAzLjI5ODcyNzUxMjM1OTYxOV0sIFsxNjYzNzUxMjgwLjc1NjIzMTgsIDE5OTQ0LCAzLjYzNDM2NTc5NzA0Mjg0NjddLCBbMTY2Mzc1MTI4MS4yMjg1ODMsIDE5OTk4LCAyLjU3MjY5OTU0NjgxMzk2NV0sIFsxNjYzNzUxMjgxLjUzNjAxODEsIDIwMDM0LCAzLjMyODk5MjEyODM3MjE5MjRdLCBbMTY2Mzc1MTI4Mi4zNjY2MzY1LCAyMDEzMywgMy4zNjQwNzUxODM4Njg0MDhdLCBbMTY2Mzc1MTI4Mi42NDQ3MDg5LCAyMDE2MCwgMy4wNDQ0MDYxNzU2MTM0MDMzXSwgWzE2NjM3NTEyODIuOTg5MDcxLCAyMDIwNSwgMy4xNTUyNzEwNTMzMTQyMDldLCBbMTY2Mzc1MTI4My45NjA4OTYzLCAyMDMyMiwgMy4wNDQ0Mzg2MDA1NDAxNjFdLCBbMTY2Mzc1MTI4NS44NDA5OTksIDIwNTM4LCAzLjIyNDQ0MTA1MTQ4MzE1NDNdLCBbMTY2Mzc1MTI4Ny40MjEwNDM0LCAyMDcwOSwgMi43ODMwNzQxNDA1NDg3MDZdLCBbMTY2Mzc1MTI4Ny44Nzc5NzM2LCAyMDc1NCwgMi41ODg1NzQ0MDk0ODQ4NjMzXSwgWzE2NjM3NTEyODcuOTQ4NDg0LCAyMDc2MywgMy4wODUwNDQzODQwMDI2ODU1XSwgWzE2NjM3NTEyODguOTg5MTE1NywgMjA4NTMsIDIuODQwMzgyNTc1OTg4NzY5NV0sIFsxNjYzNzUxMjg5LjIzMzUwNjIsIDIwODgwLCAyLjYwMjE4MTQzNDYzMTM0NzddLCBbMTY2Mzc1MTI4OS42MzYxNjU0LCAyMDkyNSwgMi42NDM5MDI3Nzg2MjU0ODgzXSwgWzE2NjM3NTEyOTAuMjUxNDI3LCAyMDk5NywgMi44NDg2MjY2MTM2MTY5NDM0XSwgWzE2NjM3NTEyOTEuMDg4OTE1LCAyMTA4NywgMi43OTEwNTMwNTY3MTY5MTldLCBbMTY2Mzc1MTI5MS45NDgwMDM4LCAyMTE3NywgMi41MDg0MDkyNjE3MDM0OTFdLCBbMTY2Mzc1MTI5Mi42Njc1MDIsIDIxMjQwLCAyLjYwMzUyMjA2MjMwMTYzNTddLCBbMTY2Mzc1MTI5My43Mzk5NzMsIDIxMzY2LCAyLjQxMzc4MjM1ODE2OTU1NTddLCBbMTY2Mzc1MTI5NS4xNTEyODAyLCAyMTUxMCwgMi42NzY2OTYwNjIwODgwMTI3XSwgWzE2NjM3NTEyOTUuNDc0ODE3NSwgMjE1NDYsIDIuNjIyODIzMjM4MzcyODAyN10sIFsxNjYzNzUxMjk1LjY1MDg4NDksIDIxNTU1LCAyLjU3NjA1NzQzNDA4MjAzMTJdLCBbMTY2Mzc1MTI5NS44NzM3MzgsIDIxNTgyLCAyLjM5MjQ4NTg1NzAwOTg4NzddLCBbMTY2Mzc1MTI5NS45NjU3NzYsIDIxNTkxLCAyLjU2NzY0ODQxMDc5NzExOV0sIFsxNjYzNzUxMjk4LjI2OTg0NTIsIDIxODYxLCAyLjQwNzM3MTA0NDE1ODkzNTVdLCBbMTY2Mzc1MTI5OC40OTYzMDY0LCAyMTg4OCwgMi42OTYyNTM1MzgxMzE3MTRdLCBbMTY2Mzc1MTI5OC43OTY4Mzc4LCAyMTkyNCwgMi44MDM2NDY4MDI5MDIyMjE3XSwgWzE2NjM3NTEyOTguODcxNTAyLCAyMTkzMywgMy4xNjgzNzg4Mjk5NTYwNTQ3XSwgWzE2NjM3NTEyOTkuMjU5ODMyOSwgMjE5NzgsIDIuNzIwNDQ4MDE3MTIwMzYxM10sIFsxNjYzNzUxMjk5LjM0NjE3MzgsIDIxOTg3LCAyLjMxMjA3MjI3NzA2OTA5Ml0sIFsxNjYzNzUxMzAwLjQxNDM0NzQsIDIyMDk1LCAyLjg3OTk2NTc4MjE2NTUyNzNdLCBbMTY2Mzc1MTMwMC45OTcwODQ0LCAyMjE2NywgMy4xNTYxNjM0NTQwNTU3ODZdLCBbMTY2Mzc1MTMwMS4xNTA1OTk3LCAyMjE4NSwgMy4wMTI4MDY0MTU1NTc4NjEzXSwgWzE2NjM3NTEzMDEuMjMyODkzNywgMjIxOTQsIDIuNjE0MzI0NTY5NzAyMTQ4NF0sIFsxNjYzNzUxMzAyLjk2NjM4NzcsIDIyMzc0LCA0LjExODEwNzMxODg3ODE3NF0sIFsxNjYzNzUxMzAzLjkwMDk0LCAyMjQ0NiwgMi43Njg2ODM2NzE5NTEyOTRdLCBbMTY2Mzc1MTMwNC4yOTQ2MzQ4LCAyMjQ5MSwgMi41MTA0MDg2Mzk5MDc4MzddLCBbMTY2Mzc1MTMwNC40NDM0MDYzLCAyMjUwOSwgMy4wMzA0NjI5ODAyNzAzODU3XSwgWzE2NjM3NTEzMDQuNzExNjkxNiwgMjI1MzYsIDMuMzI5MjczOTM5MTMyNjkwNF0sIFsxNjYzNzUxMzA0LjgzODI3NjQsIDIyNTU0LCAyLjM0OTYzODcwMDQ4NTIyOTVdLCBbMTY2Mzc1MTMwNC45MDQ3MzYsIDIyNTYzLCAyLjc1Mzg5MjQyMTcyMjQxMl0sIFsxNjYzNzUxMzA1Ljc0MTU1MTQsIDIyNjYyLCAyLjUwNTM4MDYzMDQ5MzE2NF0sIFsxNjYzNzUxMzA1LjgxMjUyMjIsIDIyNjcxLCAyLjg2NjA4NjcyMTQyMDI4OF0sIFsxNjYzNzUxMzA1Ljg3OTY2NCwgMjI2ODAsIDIuMzkwMTcwODEyNjA2ODExNV0sIFsxNjYzNzUxMzA2LjAyNTYzMjEsIDIyNjk4LCAyLjQ5Nzk5ODIzNzYwOTg2MzNdLCBbMTY2Mzc1MTMwNi4xNzE2ODEsIDIyNzE2LCAyLjY2MTM2NTAzMjE5NjA0NV0sIFsxNjYzNzUxMzA2LjUyNTc1MzMsIDIyNzYxLCAyLjYwMTI0NTY0MTcwODM3NF0sIFsxNjYzNzUxMzA2LjY3NDg1MTcsIDIyNzc5LCAyLjM1MjQwMTk3MTgxNzAxNjZdLCBbMTY2Mzc1MTMwNy41MDE5OTAzLCAyMjg1MSwgMi4zNDMxNDcwMzk0MTM0NTJdLCBbMTY2Mzc1MTMxMC4xNDc0MDIsIDIzMDk0LCAyLjE0MDA2ODA1NDE5OTIxODhdLCBbMTY2Mzc1MTMxMC4yNTM0NTQsIDIzMTAzLCAyLjQ2NDIwMzgzNDUzMzY5MTRdLCBbMTY2Mzc1MTMxMS4yNjQyMTUyLCAyMzIwMiwgMi41MjYyNDI3MzMwMDE3MDldLCBbMTY2Mzc1MTMxMS4zNTExMzg2LCAyMzIxMSwgMi40MDgzODYyMzA0Njg3NV0sIFsxNjYzNzUxMzEyLjEzNDE5MDMsIDIzMzAxLCAyLjQ3NzgxNzA1ODU2MzIzMjRdLCBbMTY2Mzc1MTMxMi4yMDYyMzgzLCAyMzMxMCwgMi41ODU0ODE4ODIwOTUzMzddLCBbMTY2Mzc1MTMxMi40NDcyNzQsIDIzMzM3LCAzLjAzNjM2MDc0MDY2MTYyMV0sIFsxNjYzNzUxMzEzLjAzODU1MDYsIDIzNDAwLCAyLjI2NjkyODY3Mjc5MDUyNzNdLCBbMTY2Mzc1MTMxMy43ODM3NzAzLCAyMzQ2MywgNC4xODQ3MzMzOTA4MDgxMDU1XSwgWzE2NjM3NTEzMTQuODU4MzE5LCAyMzU4MCwgMi43NzExMjM2NDc2ODk4MTkzXSwgWzE2NjM3NTEzMTUuNDUyMjY5MywgMjM2NTIsIDIuODczNjAyMzkwMjg5MzA2Nl0sIFsxNjYzNzUxMzE1LjUyNjM4MjQsIDIzNjYxLCAyLjk5NjE3Mzg1ODY0MjU3OF0sIFsxNjYzNzUxMzE2LjA3ODc4MjYsIDIzNzI0LCAyLjIzMDY1MDQyNDk1NzI3NTRdLCBbMTY2Mzc1MTMxNi4zNzU0OTQyLCAyMzc1MSwgMi4yNDgyMzA2OTU3MjQ0ODczXSwgWzE2NjM3NTEzMTYuNDQzODQ0MywgMjM3NjAsIDIuMjE1MTg0OTI2OTg2Njk0M10sIFsxNjYzNzUxMzE2LjUzMzU5NTMsIDIzNzY5LCAyLjU3NTM2ODg4MTIyNTU4Nl0sIFsxNjYzNzUxMzE2Ljk2NTY1OSwgMjM3OTYsIDIuNDA3ODE1OTMzMjI3NTM5XSwgWzE2NjM3NTEzMTguNTQxMzQyMywgMjM5NjcsIDIuNDg0NTMyODMzMDk5MzY1Ml0sIFsxNjYzNzUxMzE5LjE1NzA2MDEsIDI0MDM5LCAyLjYyMDM5NTg5ODgxODk2OTddLCBbMTY2Mzc1MTMxOS4yMzI1NywgMjQwNDgsIDIuNDk3NjY2ODM1Nzg0OTEyXSwgWzE2NjM3NTEzMTkuNDM2NTgzOCwgMjQwNzUsIDIuMDgyMzI3MzY1ODc1MjQ0XSwgWzE2NjM3NTEzMTkuOTk3NzI4MywgMjQxMzgsIDIuNzkzODE2MDg5NjMwMTI3XSwgWzE2NjM3NTEzMjAuMjE4NTQxNiwgMjQxNjUsIDIuNDU0OTczOTM2MDgwOTMyNl0sIFsxNjYzNzUxMzIwLjM2ODcxOCwgMjQxODMsIDIuNDcwODI2Mzg3NDA1Mzk1NV0sIFsxNjYzNzUxMzIwLjYxODc4NjMsIDI0MjEwLCAyLjI0ODk1MTY3MzUwNzY5MDRdLCBbMTY2Mzc1MTMyMS4wNDczMTM3LCAyNDI0NiwgMi4zMTIyMjkxNTY0OTQxNDA2XSwgWzE2NjM3NTEzMjEuOTI1MTcyOCwgMjQzMjcsIDIuNDYwOTIxMjg3NTM2NjIxXSwgWzE2NjM3NTEzMjIuNDUxNTcwNywgMjQzODEsIDIuMTU4MzE4MDQyNzU1MTI3XSwgWzE2NjM3NTEzMjIuODY4MzUwMywgMjQ0MjYsIDIuMjE4MzE0MTcwODM3NDAyM10sIFsxNjYzNzUxMzIzLjIyMDYyMTMsIDI0NDYyLCAzLjEyODU3MDA3OTgwMzQ2N10sIFsxNjYzNzUxMzIzLjQyNzI4NjksIDI0NDgwLCAyLjYwMTYzNjY0ODE3ODEwMDZdLCBbMTY2Mzc1MTMyNC42NTMwNzY2LCAyNDU3MCwgMi42NjY0NzI0MzQ5OTc1NTg2XSwgWzE2NjM3NTEzMjQuNzU3MjAyMSwgMjQ1NzksIDIuNjM5NTgyMTU3MTM1MDA5OF0sIFsxNjYzNzUxMzI1LjA4NzQwMywgMjQ2MTUsIDIuMTg2MjM5NDgwOTcyMjldLCBbMTY2Mzc1MTMyNS40MzkxNTcyLCAyNDY2MCwgMi42MjU3MTg4MzIwMTU5OTFdLCBbMTY2Mzc1MTMyNS41MDkzMjgsIDI0NjY5LCAzLjA0ODcyMzIyMDgyNTE5NTNdLCBbMTY2Mzc1MTMyNS41ODExMjgsIDI0Njc4LCAzLjA5MjI4NjEwOTkyNDMxNjRdLCBbMTY2Mzc1MTMyNS44MDY1ODUzLCAyNDcwNSwgMi43NDI5MTU2MzAzNDA1NzZdLCBbMTY2Mzc1MTMyNi40NjA0OTc0LCAyNDc4NiwgMy4wNjAxNzgwNDE0NTgxM10sIFsxNjYzNzUxMzI2LjUzNzAwMTEsIDI0Nzk1LCAyLjE0NzAzNjU1MjQyOTE5OV0sIFsxNjYzNzUxMzI2LjYyMjE1MjgsIDI0ODA0LCAzLjEwNzMyNjc0NTk4NjkzODVdLCBbMTY2Mzc1MTMyNy4wMTQ5NDQzLCAyNDg0OSwgMy4xNjEwNzIwMTU3NjIzMjldLCBbMTY2Mzc1MTMyNy40MTI4ODM1LCAyNDg5NCwgMi41MzUzNjU1ODE1MTI0NTFdLCBbMTY2Mzc1MTMyNy42NDM3NzUsIDI0OTIxLCAyLjQ3MzgwMDQyMDc2MTEwODRdLCBbMTY2Mzc1MTMyNy44ODk4MTQ0LCAyNDk0OCwgMi43NzUyNjIxMTczODU4NjQzXSwgWzE2NjM3NTEzMjguMDQ3OTgyLCAyNDk2NiwgMi4yOTQxNDcwMTQ2MTc5Ml0sIFsxNjYzNzUxMzI4LjIwNDgzLCAyNDk4NCwgMi4xODQxMDc3ODA0NTY1NDNdLCBbMTY2Mzc1MTMyOC40NDI4NDczLCAyNTAxMSwgMi42NzQ0OTA0NTE4MTI3NDRdLCBbMTY2Mzc1MTMyOC45NjIxNDYzLCAyNTA3NCwgMi4xMjMzOTc1ODg3Mjk4NTg0XSwgWzE2NjM3NTEzMjkuOTE3NTA3NCwgMjUxODIsIDIuNTQ5MDAyMTcwNTYyNzQ0XSwgWzE2NjM3NTEzMzAuMDczNjY3OCwgMjUyMDAsIDIuNTM0NDQ3MTkzMTQ1NzUyXSwgWzE2NjM3NTEzMzEuMDU2MzcxMiwgMjUzMTcsIDIuNDgzNjkxNDUzOTMzNzE2XSwgWzE2NjM3NTEzMzEuMTQyNzAzNSwgMjUzMjYsIDIuNDY5MzE5ODIwNDA0MDUyN10sIFsxNjYzNzUxMzMyLjEzNTkyOTMsIDI1NDI1LCAyLjA1ODc2MDE2NjE2ODIxM10sIFsxNjYzNzUxMzMyLjg5NTY2NSwgMjU1MTUsIDIuNzAwMjc1NjU5NTYxMTU3Ml0sIFsxNjYzNzUxMzMzLjIwNjEyMzgsIDI1NTUxLCAyLjExOTE4MTg3MTQxNDE4NDZdLCBbMTY2Mzc1MTMzMy42NDYxMDQzLCAyNTYwNSwgMi4yMDE0NTk0MDc4MDYzOTY1XSwgWzE2NjM3NTEzMzQuMTY5MjcwOCwgMjU2NjgsIDIuMjU2NzQ0Mzg0NzY1NjI1XSwgWzE2NjM3NTEzMzQuMjQ0NzU4NCwgMjU2NzcsIDIuMjI3NDE1MzIzMjU3NDQ2M10sIFsxNjYzNzUxMzM0LjY2MzA3NCwgMjU3MjIsIDIuMTAxMzgwMTA5Nzg2OTg3M10sIFsxNjYzNzUxMzM0Ljk2NjI4MzMsIDI1NzU4LCAyLjE0NTcxMzU2NzczMzc2NDZdLCBbMTY2Mzc1MTMzNS4wNDA2Nzg3LCAyNTc2NywgMi4xNTI0MTQ1NjAzMTc5OTNdLCBbMTY2Mzc1MTMzNi40ODYzOTc3LCAyNTkzOCwgMi4yNjA1MjM3OTYwODE1NDNdLCBbMTY2Mzc1MTMzNi41NTc4MzAzLCAyNTk0NywgMi4zODcwNzM1MTY4NDU3MDNdLCBbMTY2Mzc1MTMzNy4yMDk5NDM1LCAyNjAyOCwgMy4wMTI3MDQ4NDkyNDMxNjRdLCBbMTY2Mzc1MTMzNy4zNjUxMjczLCAyNjA0NiwgMi4zNzUyOTIzMDExNzc5Nzg1XSwgWzE2NjM3NTEzMzcuNTIxOTc4NCwgMjYwNjQsIDIuNDYwMDIzNDAzMTY3NzI0Nl0sIFsxNjYzNzUxMzM4LjMzNTk5NTQsIDI2MTM2LCAyLjE1MzM3NzUzMjk1ODk4NDRdLCBbMTY2Mzc1MTMzOC45MjU1NzM4LCAyNjIwOCwgMi4yNDc0NDIyNDU0ODMzOTg0XSwgWzE2NjM3NTEzMzkuMjU5NDUxNiwgMjYyNDQsIDIuMzU4Mjg2NjE5MTg2NDAxNF0sIFsxNjYzNzUxMzM5LjQ5NjYyMzgsIDI2MjcxLCAxLjgyNzg4MTgxMzA0OTMxNjRdLCBbMTY2Mzc1MTMzOS42NTg0NjI1LCAyNjI4OSwgMi4zMDcxODg1MTA4OTQ3NzU0XSwgWzE2NjM3NTEzMzkuNzM4MzAzLCAyNjI5OCwgMi4xNzI0MDU5NTgxNzU2NTldLCBbMTY2Mzc1MTMzOS45NTM5MzAxLCAyNjMyNSwgMi44NzgyNzg5NzA3MTgzODRdLCBbMTY2Mzc1MTM0MC40MzUyMTg2LCAyNjM3OSwgMi4xNDE1ODQ4NzMxOTk0NjNdLCBbMTY2Mzc1MTM0MC43ODY1MTYyLCAyNjQxNSwgMi42NTk2NzEwNjgxOTE1MjgzXSwgWzE2NjM3NTEzNDAuODY0MTAxLCAyNjQyNCwgMS45ODA3MzI3OTg1NzYzNTVdLCBbMTY2Mzc1MTM0Mi41MTk4NDk1LCAyNjU1MCwgMi44MDU4MTczNjU2NDYzNjIzXSwgWzE2NjM3NTEzNDIuNzkyMDQ0OSwgMjY1NzcsIDIuMTc1MTU5OTMxMTgyODYxM10sIFsxNjYzNzUxMzQzLjAxOTEwNzYsIDI2NjA0LCAxLjkyMzI3NTQ3MDczMzY0MjZdLCBbMTY2Mzc1MTM0My41OTU4NDY3LCAyNjY2NywgMi42MzQ3Nzg5NzY0NDA0Mjk3XSwgWzE2NjM3NTEzNDMuOTA0NDAwNiwgMjY2OTQsIDIuNjQwOTQzNTI3MjIxNjc5N10sIFsxNjYzNzUxMzQ0LjEwMzA1OSwgMjY3MTIsIDIuNTkzMTczMDI3MDM4NTc0XSwgWzE2NjM3NTEzNDQuNzIyMTM5NCwgMjY3NjYsIDMuMDM3NjY0NjUxODcwNzI3NV0sIFsxNjYzNzUxMzQ1LjE1NDE3NDYsIDI2ODExLCAyLjczMTA3MTQ3MjE2Nzk2ODhdLCBbMTY2Mzc1MTM0NS43MTQxMjEsIDI2ODY1LCAyLjQ5NjU5MDM3NTkwMDI2ODZdLCBbMTY2Mzc1MTM0NS45NDYwOTksIDI2ODgzLCAyLjE3OTk0NTcwNzMyMTE2N10sIFsxNjYzNzUxMzQ2Ljc1NzAzMDUsIDI2OTQ2LCAyLjMwMDk2ODY0NzAwMzE3NF0sIFsxNjYzNzUxMzQ3LjA1NTM1NDYsIDI2OTczLCAyLjI3MDc5MjcyMjcwMjAyNjRdLCBbMTY2Mzc1MTM0Ny4zNDI5NjMsIDI3MDAwLCAyLjI4MjAyMjcxNDYxNDg2OF0sIFsxNjYzNzUxMzQ3LjYzMjM5NiwgMjcwMjcsIDIuODI5NjI5MTgyODE1NTUxOF0sIFsxNjYzNzUxMzQ4LjM2MDQyNjQsIDI3MDk5LCAyLjA1NjE0ODI5MDYzNDE1NTNdLCBbMTY2Mzc1MTM0OS4yNTgyMzI2LCAyNzE4MCwgMi4yNDg4OTc1NTI0OTAyMzQ0XSwgWzE2NjM3NTEzNTAuMTM3MjA1LCAyNzI3MCwgMi4wMjk3NTM5MjM0MTYxMzc3XSwgWzE2NjM3NTEzNTAuNTE1ODc4NCwgMjczMTUsIDIuMDI1NDM0NDk0MDE4NTU0N10sIFsxNjYzNzUxMzUxLjYyMTMwNSwgMjc0MzIsIDIuMTIyMjkwMTM0NDI5OTMxNl0sIFsxNjYzNzUxMzUxLjc2ODQyMTQsIDI3NDUwLCAxLjkyMTg2ODMyNDI3OTc4NTJdLCBbMTY2Mzc1MTM1My4xMDA3MjMsIDI3NjAzLCAxLjg1MzM0NTE1NTcxNTk0MjRdLCBbMTY2Mzc1MTM1My4zNDcyODQsIDI3NjMwLCAyLjAwMDg0ODc3MDE0MTYwMTZdLCBbMTY2Mzc1MTM1My43MjMwODk1LCAyNzY3NSwgMi4wNzc1OTcxNDEyNjU4NjldLCBbMTY2Mzc1MTM1NC41NjI0NTQ1LCAyNzc1NiwgMS45OTg5MjYwNDM1MTA0MzddLCBbMTY2Mzc1MTM1NC42MjcxOTE1LCAyNzc2NSwgMi4zNDE5MTQ2NTM3NzgwNzZdLCBbMTY2Mzc1MTM1NS4yNjkxNDg4LCAyNzgxOSwgMi4yNTcwMzEyMDIzMTYyODRdLCBbMTY2Mzc1MTM1NS44NjM3MjczLCAyNzg3MywgMS45MzY5NDI5MzQ5ODk5MjkyXSwgWzE2NjM3NTEzNTYuNTAzNjk3NCwgMjc5MzYsIDIuMDIyMjMyMjk0MDgyNjQxNl0sIFsxNjYzNzUxMzU2LjU5OTMyMjYsIDI3OTQ1LCAxLjg5MjAyNTIzMjMxNTA2MzVdLCBbMTY2Mzc1MTM1Ni42ODQ5MTEzLCAyNzk1NCwgMi40NDY2MzExOTMxNjEwMTA3XSwgWzE2NjM3NTEzNTYuOTAwNjk5OSwgMjc5NzIsIDIuMDY0NDA4MzAyMzA3MTI5XSwgWzE2NjM3NTEzNTcuMjY4NzUyNiwgMjgwMDgsIDIuMzExNzc0NzMwNjgyMzczXSwgWzE2NjM3NTEzNTcuNTcwMzkzOCwgMjgwNDQsIDEuOTE3ODQ2MjAyODUwMzQxOF0sIFsxNjYzNzUxMzU3Ljg2Mjg3MzYsIDI4MDgwLCAyLjEyNjc4NzY2MjUwNjEwMzVdLCBbMTY2Mzc1MTM1Ny45Mzc2MTkyLCAyODA4OSwgMi4yMzcxODUwMDEzNzMyOTFdLCBbMTY2Mzc1MTM1OC4wMDg1OSwgMjgwOTgsIDIuMjI2NjQ0OTkyODI4MzY5XSwgWzE2NjM3NTEzNTguMzc0MzgwOCwgMjgxNDMsIDIuNTM2NTU2MjQzODk2NDg0NF0sIFsxNjYzNzUxMzU4LjUyNTUzLCAyODE2MSwgMS45OTQyODUyMjU4NjgyMjVdLCBbMTY2Mzc1MTM1OS4yODkxNTA1LCAyODI1MSwgMS45MDk0MjU4NTQ2ODI5MjI0XSwgWzE2NjM3NTEzNTkuOTk0OTk3MywgMjgzMTQsIDIuMDE3ODc3NTc4NzM1MzUxNl0sIFsxNjYzNzUxMzYyLjY4OTM3NSwgMjg1NjYsIDEuOTA1NTk3OTI1MTg2MTU3Ml0sIFsxNjYzNzUxMzYzLjEwMzYwNDYsIDI4NjExLCAyLjA1OTQyMjAxNjE0Mzc5OV0sIFsxNjYzNzUxMzYzLjc5OTc3MjUsIDI4NjkyLCAyLjIzMDQ4MzA1NTExNDc0Nl0sIFsxNjYzNzUxMzY0LjAyMTcxNDIsIDI4NzE5LCAyLjE3MDExMzMyNTExOTAxODZdLCBbMTY2Mzc1MTM2NC4yNTg3MzU0LCAyODczNywgMS45MTk4NjMxMDQ4MjAyNTE1XSwgWzE2NjM3NTEzNjQuODM5NjIyNSwgMjg4MDAsIDEuOTY4Mjk2MDUxMDI1MzkwNl0sIFsxNjYzNzUxMzY1LjE2ODE4MjQsIDI4ODM2LCAyLjE0Njk2NTk4MDUyOTc4NV0sIFsxNjYzNzUxMzY1LjI3NjY4MDIsIDI4ODQ1LCAyLjAxNTAzNjEwNjEwOTYxOV0sIFsxNjYzNzUxMzY2LjAwMTU5NzIsIDI4OTE3LCAyLjAwMzM2MDc0ODI5MTAxNTZdLCBbMTY2Mzc1MTM2Ni40MTk2NjcyLCAyODk1MywgMS45OTg2MDcxNTg2NjA4ODg3XSwgWzE2NjM3NTEzNjYuNDk0NTEzOCwgMjg5NjIsIDIuMjI4OTIzNzk3NjA3NDIyXSwgWzE2NjM3NTEzNjYuNzg1ODcxNSwgMjg5ODksIDIuMDU2MjQ1MDg4NTc3MjcwNV0sIFsxNjYzNzUxMzY2Ljk2NTQ1OCwgMjkwMDcsIDEuOTc3ODIwNjM0ODQxOTE5XSwgWzE2NjM3NTEzNjcuNjA4OTE5MSwgMjkwNzAsIDEuODY0NDk4MjU3NjM3MDI0XSwgWzE2NjM3NTEzNjguMjUxODA3MiwgMjkxNDIsIDIuMDMyMDY4NzI5NDAwNjM0OF0sIFsxNjYzNzUxMzY4LjYxMTc3NTYsIDI5MTc4LCAyLjQ0ODcyMjM2MjUxODMxMDVdLCBbMTY2Mzc1MTM2OC44MDQ0NzYzLCAyOTE5NiwgMi4wOTI4Mzk5NTYyODM1NjkzXSwgWzE2NjM3NTEzNzAuOTQzNDY5NSwgMjkzOTQsIDIuMjY1MDYzNzYyNjY0Nzk1XSwgWzE2NjM3NTEzNzEuMTY5OTAyOCwgMjk0MjEsIDEuOTIxNzM2NTk4MDE0ODMxNV0sIFsxNjYzNzUxMzcyLjA1ODUzNTMsIDI5NTI5LCAxLjg2NDQwMTEwMjA2NjA0XSwgWzE2NjM3NTEzNzMuMDY5NzgyMywgMjk2NTUsIDEuOTIyMjEyNzE5OTE3Mjk3NF0sIFsxNjYzNzUxMzczLjM2NTM0ODYsIDI5NjkxLCAyLjY4MzA3NDIzNTkxNjEzNzddLCBbMTY2Mzc1MTM3My45NzY4MjgzLCAyOTc2MywgMi4wMjc0NjAwOTgyNjY2MDE2XSwgWzE2NjM3NTEzNzYuOTg3NjY3LCAzMDA2OSwgMS44NjMxMTEwMTkxMzQ1MjE1XSwgWzE2NjM3NTEzNzcuNDk1NDExLCAzMDExNCwgMi4xNDgyMDc0MjYwNzExNjddLCBbMTY2Mzc1MTM3OC41NDkwMDcsIDMwMjEzLCAyLjI2MTc5Njk1MTI5Mzk0NTNdLCBbMTY2Mzc1MTM3OS4yNTk1Nzk0LCAzMDI5NCwgMS45NTYxMDQ5OTM4MjAxOTA0XSwgWzE2NjM3NTEzNzkuNjQyNzg1OCwgMzAzMzksIDIuMDQ5NTY3NDYxMDEzNzk0XSwgWzE2NjM3NTEzNzkuNzc5OTkwMiwgMzAzNTcsIDEuODYyMzMxMjcxMTcxNTY5OF0sIFsxNjYzNzUxMzc5LjkyMzEwMDcsIDMwMzc1LCAxLjg3NjgxOTAxNDU0OTI1NTRdLCBbMTY2Mzc1MTM4MC4yODIwOTEsIDMwNDAyLCAxLjc4OTQxNTM1OTQ5NzA3MDNdLCBbMTY2Mzc1MTM4MC40NTE3NDksIDMwNDIwLCAyLjI4MTg2Njc4ODg2NDEzNTddLCBbMTY2Mzc1MTM4MC44NjM3MjYxLCAzMDQ2NSwgMS45NTIwMzMxNjIxMTcwMDQ0XSwgWzE2NjM3NTEzODAuOTQ2MDU1MiwgMzA0NzQsIDEuODk0NDA4NTgzNjQxMDUyMl0sIFsxNjYzNzUxMzgxLjU5MjMxMDIsIDMwNTQ2LCAxLjkwNzU0ODMwODM3MjQ5NzZdLCBbMTY2Mzc1MTM4MS42NzM5NTE2LCAzMDU1NSwgMS45NzY3ODQxMTAwNjkyNzVdLCBbMTY2Mzc1MTM4MS45MDc3NzM3LCAzMDU4MiwgMi4wMDAxMjgyNjkxOTU1NTY2XSwgWzE2NjM3NTEzODIuNjE2NTI3NiwgMzA2NDUsIDEuODIwMDY1ODU1OTc5OTE5NF0sIFsxNjYzNzUxMzgyLjk3MzU3NzMsIDMwNjgxLCAyLjAyNzY1NzI3MDQzMTUxODZdLCBbMTY2Mzc1MTM4My4wODI5NjEsIDMwNjkwLCAyLjU1ODMzNTMwNDI2MDI1NF0sIFsxNjYzNzUxMzg0LjEyODYzOSwgMzA3NzEsIDEuODExNjc2NzQwNjQ2MzYyM10sIFsxNjYzNzUxMzg0LjUxODMzNTMsIDMwODA3LCAxLjkwNzg4Mzg4MjUyMjU4M10sIFsxNjYzNzUxMzg0Ljg1Nzg2OSwgMzA4NDMsIDIuMjg0Mjk3NzA0Njk2NjU1M10sIFsxNjYzNzUxMzg1LjY2OTYwNDgsIDMwOTE1LCAxLjk5Mjc3OTg1MDk1OTc3NzhdLCBbMTY2Mzc1MTM4Ni4wMjYzOTg0LCAzMDk2MCwgMS45OTY0MTU2MTUwODE3ODddLCBbMTY2Mzc1MTM4Ny4yODc4NjEsIDMxMDk1LCAyLjA0NTIyNTM4MTg1MTE5NjNdLCBbMTY2Mzc1MTM4Ny4zNTc1NTM1LCAzMTEwNCwgMi4xOTY0NTIxNDA4MDgxMDU1XSwgWzE2NjM3NTEzODcuNjc0Njg3MSwgMzExNDAsIDIuMTUyMzAyNTAzNTg1ODE1NF0sIFsxNjYzNzUxMzg3LjgzMTUxNDYsIDMxMTU4LCAyLjU3OTU2MTk0ODc3NjI0NV0sIFsxNjYzNzUxMzg4LjM3MDIzODMsIDMxMjIxLCAyLjI5MDgyMjk4Mjc4ODA4Nl0sIFsxNjYzNzUxMzg4LjY5NTU2NzEsIDMxMjU3LCAxLjg3Njg1MTc5NzEwMzg4MThdLCBbMTY2Mzc1MTM4OS4zOTIxMywgMzEzMzgsIDIuMDAwMzQ3NjE0Mjg4MzNdLCBbMTY2Mzc1MTM4OS40NzE1MDI4LCAzMTM0NywgMi41MjQ0NzM5MDU1NjMzNTQ1XSwgWzE2NjM3NTEzODkuNTUxMTU1LCAzMTM1NiwgMS45OTE3MzE2NDM2NzY3NTc4XSwgWzE2NjM3NTEzODkuNjMyMjA1NywgMzEzNjUsIDEuODIxNjQ5NTUxMzkxNjAxNl0sIFsxNjYzNzUxMzg5LjcwMzE4MTMsIDMxMzc0LCAxLjcxMTY2MDAyNzUwMzk2NzNdLCBbMTY2Mzc1MTM5MC4xMDc2Njk0LCAzMTQyOCwgMS43NDEzNjY5ODI0NjAwMjJdLCBbMTY2Mzc1MTM5MC4yNTAxMzA3LCAzMTQ0NiwgMi4wNDU5OTExODIzMjcyNzA1XSwgWzE2NjM3NTEzOTAuNDY5NjI5NSwgMzE0NzMsIDEuODQyODg4ODMyMDkyMjg1Ml0sIFsxNjYzNzUxMzkwLjcwNzM2MSwgMzE1MDAsIDEuODM1Nzk0MDkxMjI0NjcwNF0sIFsxNjYzNzUxMzkwLjc3ODg4NTYsIDMxNTA5LCAxLjg2MTExMTg3OTM0ODc1NDldLCBbMTY2Mzc1MTM5MS4xOTI2MjM2LCAzMTUzNiwgMi4wNTUxOTA4MDE2MjA0ODM0XSwgWzE2NjM3NTEzOTEuOTk1NTA4NywgMzE2MzUsIDEuOTY4NDE0MzA2NjQwNjI1XSwgWzE2NjM3NTEzOTIuNDQ5OTk3LCAzMTY4OSwgMi4yODA4MjU4NTMzNDc3NzgzXSwgWzE2NjM3NTEzOTIuODkzMTU5MiwgMzE3NDMsIDIuMTA1ODEzOTgwMTAyNTM5XSwgWzE2NjM3NTEzOTMuNTc5NTczOSwgMzE4MjQsIDEuOTk4NTk4NDU2MzgyNzUxNV0sIFsxNjYzNzUxMzkzLjY2MDUwOCwgMzE4MzMsIDEuODI5MjU3MTMwNjIyODYzOF0sIFsxNjYzNzUxMzk0LjA4MTYyNzQsIDMxODc4LCAyLjM2NTY5Mjg1MzkyNzYxMjNdLCBbMTY2Mzc1MTM5NC4zMDgwNzEsIDMxOTA1LCAyLjE3MzY3MTk2MDgzMDY4ODVdLCBbMTY2Mzc1MTM5NC43NDk3LCAzMTk1OSwgMS45MTUyNDk3MDUzMTQ2MzYyXSwgWzE2NjM3NTEzOTUuMDI5MDMxMywgMzE5OTUsIDIuNDkxNTAwMzc3NjU1MDI5M10sIFsxNjYzNzUxMzk1LjMzMTYwNSwgMzIwMzEsIDIuMDU0NzU5OTc5MjQ4MDQ3XSwgWzE2NjM3NTEzOTUuOTA0OTc2MSwgMzIxMDMsIDIuMDQwODMzMjM0Nzg2OTg3M10sIFsxNjYzNzUxMzk2LjE0MTczMDgsIDMyMTMwLCAxLjg5NjEzMzY2MTI3MDE0MTZdLCBbMTY2Mzc1MTM5Ni41ODM4Nzg1LCAzMjE4NCwgMS45MTgyMDY2OTE3NDE5NDM0XSwgWzE2NjM3NTEzOTYuNjYwODY0OCwgMzIxOTMsIDEuODIzMDIwMzM5MDEyMTQ2XSwgWzE2NjM3NTEzOTcuMjc1ODk4MiwgMzIyNjUsIDIuNDUyNDI0NTI2MjE0NTk5Nl0sIFsxNjYzNzUxMzk3LjcwOTk2ODYsIDMyMjkyLCAxLjg2MDAxMzQ4NDk1NDgzNF0sIFsxNjYzNzUxMzk3Ljc5MTI1NzQsIDMyMzAxLCAxLjk2Njk1OTU5NTY4MDIzNjhdLCBbMTY2Mzc1MTM5OC45NzExMTAzLCAzMjQwOSwgMi4yOTQ1Mjg5NjExODE2NDA2XSwgWzE2NjM3NTE0MDAuMTA2MTQ2LCAzMjUyNiwgMS45NDQyMjA1NDI5MDc3MTQ4XSwgWzE2NjM3NTE0MDAuMjIzNTg5MiwgMzI1MzUsIDIuMDg1NTc4NjgwMDM4NDUyXSwgWzE2NjM3NTE0MDAuMzI3NDQ2LCAzMjU0NCwgMi4yODUzODE3OTM5NzU4M10sIFsxNjYzNzUxNDAwLjQxNTQyNTMsIDMyNTUzLCAxLjg1MzYzNzkzMzczMTA3OV0sIFsxNjYzNzUxNDAxLjYwNTg0MDcsIDMyNjc5LCAxLjc4MzIxODk3OTgzNTUxMDNdLCBbMTY2Mzc1MTQwMy41MzcyOTEzLCAzMjg5NSwgMS44OTUwMjM0NjUxNTY1NTUyXSwgWzE2NjM3NTE0MDMuODA1MjMwNCwgMzI5MjIsIDIuMjExNDcxNTU3NjE3MTg3NV0sIFsxNjYzNzUxNDA0LjAzNDcxNTQsIDMyOTQwLCAxLjY2ODAzNzc3MjE3ODY1XSwgWzE2NjM3NTE0MDQuMjQzNjAxMywgMzI5NTgsIDIuMTAwODI2OTc4NjgzNDcxN10sIFsxNjYzNzUxNDA0LjU1NTU1NzUsIDMyOTg1LCAxLjc4NjQxMzkwODAwNDc2MDddLCBbMTY2Mzc1MTQwNC44NjkyMzMsIDMzMDIxLCAxLjkzOTY3OTk4MDI3ODAxNTFdLCBbMTY2Mzc1MTQwNS4zMTcwNjIsIDMzMDQ4LCAyLjA3ODcyNzQ4Mzc0OTM4OTZdLCBbMTY2Mzc1MTQwNS40NDcxOTAzLCAzMzA1NywgMS45MjY0NDIyNjU1MTA1NTldLCBbMTY2Mzc1MTQwNi45MjA5MjE2LCAzMzIxOSwgMS43NDk4MDIxMTI1NzkzNDU3XSwgWzE2NjM3NTE0MDcuNjUyNDY5MiwgMzMzMDksIDEuNzY4NzcwNDU2MzE0MDg3XSwgWzE2NjM3NTE0MDguMTY4NTQyLCAzMzM3MiwgMS43NjY1OTgzNDM4NDkxODIxXSwgWzE2NjM3NTE0MDguNDc3Njg2NiwgMzM0MDgsIDIuMzQyMTM4MDUxOTg2Njk0M10sIFsxNjYzNzUxNDA4LjU0ODk5MTIsIDMzNDE3LCAxLjc0MTkwODkwNzg5MDMxOThdLCBbMTY2Mzc1MTQwOC45Mzc1NDQzLCAzMzQ2MiwgMS45MDI1MTY5NjEwOTc3MTczXSwgWzE2NjM3NTE0MDkuMDA2NTU1MywgMzM0NzEsIDEuOTgzOTQxNjc0MjMyNDgzXSwgWzE2NjM3NTE0MDkuMjM5MzYxNSwgMzM0OTgsIDEuOTYyOTMxMTU2MTU4NDQ3M10sIFsxNjYzNzUxNDEwLjAzODc3MjYsIDMzNTk3LCAxLjg2OTk2MTg1Nzc5NTcxNTNdLCBbMTY2Mzc1MTQxMC4xMTI2NTY0LCAzMzYwNiwgMS42MDk1OTMyNzIyMDkxNjc1XSwgWzE2NjM3NTE0MTEuNjE4OTQzNSwgMzM3MTQsIDIuMDAwNjE2MDczNjA4Mzk4NF0sIFsxNjYzNzUxNDExLjcxMTAzMDcsIDMzNzIzLCAxLjkwNDIyNzk3MjAzMDYzOTZdLCBbMTY2Mzc1MTQxMS45MDEwNjc1LCAzMzc0MSwgMi40NTMwMjk4NzA5ODY5Mzg1XSwgWzE2NjM3NTE0MTIuMDE2NjI2LCAzMzc1MCwgMi4wNjAwODI0MzU2MDc5MV0sIFsxNjYzNzUxNDEyLjI2MDg1MTQsIDMzNzc3LCAxLjc4OTM4Nzk0MTM2MDQ3MzZdLCBbMTY2Mzc1MTQxMi4zMzM4NTQsIDMzNzg2LCAxLjg0MzA2NjMzNDcyNDQyNjNdLCBbMTY2Mzc1MTQxMi40MTMzMjMsIDMzNzk1LCAxLjg2NjAxMDU0NjY4NDI2NTFdLCBbMTY2Mzc1MTQxMy4yNjYyMzE1LCAzMzg1OCwgMS45MTc2Njg0NjE3OTk2MjE2XSwgWzE2NjM3NTE0MTMuNDA2MzgwMiwgMzM4NzYsIDIuMDM2NDkyNTg2MTM1ODY0M10sIFsxNjYzNzUxNDEzLjU1Nzc5NywgMzM4OTQsIDEuODMyODE4Mzg4OTM4OTAzOF0sIFsxNjYzNzUxNDE0LjgzMTkyOTQsIDM0MDI5LCAxLjY5NTg0MDk1NDc4MDU3ODZdLCBbMTY2Mzc1MTQxNC45MDQyMDg0LCAzNDAzOCwgMS42Mzc1MDQxMDA3OTk1NjA1XSwgWzE2NjM3NTE0MTQuOTc4NDcyNSwgMzQwNDcsIDEuODg1MjM5NzIwMzQ0NTQzNV0sIFsxNjYzNzUxNDE1LjA2MTkyOTUsIDM0MDU2LCAxLjg3ODU2ODA1MzI0NTU0NDRdLCBbMTY2Mzc1MTQxNS40NjU1MzYsIDM0MDkyLCAxLjgyNDMwNjAxMTE5OTk1MTJdLCBbMTY2Mzc1MTQxNS42ODM1MDQzLCAzNDExOSwgMS42MjAwMDU4NDYwMjM1NTk2XSwgWzE2NjM3NTE0MTYuODE2NDkzMywgMzQyNTQsIDIuMDk1MTgyNjU3MjQxODIxM10sIFsxNjYzNzUxNDE3LjEyMjA5NTgsIDM0MjcyLCAxLjU5Mjg4NDg5ODE4NTczXSwgWzE2NjM3NTE0MTcuNjUwMDA1OCwgMzQzMjYsIDEuODUxNzA1OTA4Nzc1MzI5Nl0sIFsxNjYzNzUxNDE3Ljc5MzEyMywgMzQzNDQsIDEuNzA4MDE2ODcyNDA2MDA1OV0sIFsxNjYzNzUxNDE4LjA5NDgzMTcsIDM0MzgwLCAxLjU1MTA4NzM3OTQ1NTU2NjRdLCBbMTY2Mzc1MTQxOC40MDM4MzM2LCAzNDQxNiwgMi4wNTYyNzU2MDYxNTUzOTU1XSwgWzE2NjM3NTE0MTguNDg4NDM3NCwgMzQ0MjUsIDEuODQ5NTU5MDY4Njc5ODA5Nl0sIFsxNjYzNzUxNDE5Ljk1MjQ0MSwgMzQ1NjAsIDIuMzc5NTE0MjE3Mzc2NzA5XSwgWzE2NjM3NTE0MjAuODc5MDk4MiwgMzQ2NDEsIDEuODg3NzU5MzI3ODg4NDg4OF0sIFsxNjYzNzUxNDIxLjAzOTI3MTQsIDM0NjU5LCAxLjkwNTUzMDIxNDMwOTY5MjRdLCBbMTY2Mzc1MTQyMS4yMjYyNjIsIDM0Njc3LCAxLjY5NjIyNjcxNjA0MTU2NV0sIFsxNjYzNzUxNDIxLjQzNDI2NTYsIDM0NzA0LCAyLjQ5NzMxMDQwMDAwOTE1NTNdLCBbMTY2Mzc1MTQyMS41NjkxODQ4LCAzNDcyMiwgMS42Njc0NjkwMjQ2NTgyMDMxXSwgWzE2NjM3NTE0MjEuNzg2NTYyNCwgMzQ3NDksIDEuOTgyMDQ2NjA0MTU2NDk0MV0sIFsxNjYzNzUxNDIyLjUzNzAxNDUsIDM0ODMwLCAxLjgyMjA3OTc3NzcxNzU5MDNdLCBbMTY2Mzc1MTQyMi43NTQ2MDI3LCAzNDg1NywgMi4xNTYwODY5MjE2OTE4OTQ1XSwgWzE2NjM3NTE0MjIuOTg5MTIwNywgMzQ4ODQsIDIuMTA4MTAzNzUyMTM2MjMwNV0sIFsxNjYzNzUxNDI1LjAyNTU5NTcsIDM1MTI3LCAxLjgyMDIwMTk5Mjk4ODU4NjRdLCBbMTY2Mzc1MTQyNS40NjE3MTI0LCAzNTE4MSwgMS43NzgyMzIyMTY4MzUwMjJdLCBbMTY2Mzc1MTQyNS42ODY5MjYxLCAzNTIwOCwgMS42Njg0MzgzMTUzOTE1NDA1XSwgWzE2NjM3NTE0MjYuMDAwMzE1NCwgMzUyNDQsIDIuMTgzNDE4OTg5MTgxNTE4Nl0sIFsxNjYzNzUxNDI2LjQ1NDMxMywgMzUyOTgsIDEuNzYxODk5NzA5NzAxNTM4XSwgWzE2NjM3NTE0MjYuNjkwMjAyNSwgMzUzMjUsIDIuMDgyNTQ1OTk1NzEyMjgwM10sIFsxNjYzNzUxNDI2LjgzNzkxMzUsIDM1MzQzLCAxLjU1ODkyMDUwMjY2MjY1ODddLCBbMTY2Mzc1MTQyNy40MjEzNDEsIDM1Mzg4LCAyLjAzMDE1MzAzNjExNzU1MzddLCBbMTY2Mzc1MTQyNy41NzcwMzc2LCAzNTQwNiwgMi4wMDY4MTY4NjQwMTM2NzJdLCBbMTY2Mzc1MTQyOC4wMzAxNzYsIDM1NDMzLCAxLjgwMzUxNDcxOTAwOTM5OTRdLCBbMTY2Mzc1MTQyOS40NjYxMDY3LCAzNTU4NiwgMi4wNzAxNTg5NTg0MzUwNTg2XSwgWzE2NjM3NTE0MjkuNzYyNTcxOCwgMzU2MjIsIDEuOTgxNjE0MzUxMjcyNTgzXSwgWzE2NjM3NTE0MzAuMzU0NDksIDM1Njk0LCAxLjk1NTg1MDI0MzU2ODQyMDRdLCBbMTY2Mzc1MTQzMC40MjgwNTM2LCAzNTcwMywgMS41NzU3NDI3MjE1NTc2MTcyXSwgWzE2NjM3NTE0MzEuMDk5Njg5LCAzNTc4NCwgMS44Njk2NDE3ODA4NTMyNzE1XSwgWzE2NjM3NTE0MzEuNzA4NTAxMywgMzU4MzgsIDIuMTAzODMxNTI5NjE3MzA5Nl0sIFsxNjYzNzUxNDMxLjc3ODcyOCwgMzU4NDcsIDEuNzEzOTg5MjU3ODEyNV0sIFsxNjYzNzUxNDMxLjg0NTA1NTMsIDM1ODU2LCAxLjg3MjQ4NzkwMjY0MTI5NjRdLCBbMTY2Mzc1MTQzMi4wNTkzNywgMzU4ODMsIDEuODc4NzE2MzQ5NjAxNzQ1Nl0sIFsxNjYzNzUxNDMyLjc0Mjk5MjQsIDM1OTM3LCAyLjA1MzU5NDM1MDgxNDgxOTNdLCBbMTY2Mzc1MTQzMy4xOTc0MTMsIDM1OTgyLCAyLjE0ODUxNTIyNDQ1Njc4N10sIFsxNjYzNzUxNDMzLjQ2NzM1NzIsIDM2MDA5LCAxLjc1MTg5MjMyODI2MjMyOV0sIFsxNjYzNzUxNDM0LjA5MzU5LCAzNjA4MSwgMi4wNzg2ODQwOTE1Njc5OTNdLCBbMTY2Mzc1MTQzNC4zODI1NDUsIDM2MTE3LCAxLjczNzgyNDA4MjM3NDU3MjhdLCBbMTY2Mzc1MTQzNC41MjUxMDQ1LCAzNjEzNSwgMi4wOTgzNzc0NjYyMDE3ODIyXSwgWzE2NjM3NTE0MzUuMzczOTU0OCwgMzYyMTYsIDEuNjk0MzM5ODcxNDA2NTU1Ml0sIFsxNjYzNzUxNDM1LjczNDU3NywgMzYyNjEsIDEuOTUxNjE5MjY3NDYzNjg0XSwgWzE2NjM3NTE0MzYuMTk0NDIyLCAzNjMxNSwgMi4xNzUxNTQyMDkxMzY5NjNdLCBbMTY2Mzc1MTQzNi42NTIyMzQzLCAzNjM2OSwgMS43Nzg0NzA2MzU0MTQxMjM1XSwgWzE2NjM3NTE0MzcuMzY0MTQwNSwgMzY0MzIsIDEuODA3OTg5NTk3MzIwNTU2Nl0sIFsxNjYzNzUxNDM4LjY3MzA3ODgsIDM2NTk0LCAxLjk0MjExMDY1NzY5MTk1NTZdLCBbMTY2Mzc1MTQzOC43NDUyMSwgMzY2MDMsIDEuODMzMzQxMTIxNjczNTg0XSwgWzE2NjM3NTE0MzkuMjUxNDEsIDM2NjY2LCAxLjY5MzYyNDEzODgzMjA5MjNdLCBbMTY2Mzc1MTQ0MC4wNDMzNDE2LCAzNjczOCwgMS42MzEyMjk2MzkwNTMzNDQ3XSwgWzE2NjM3NTE0NDAuMTEzMzY4NywgMzY3NDcsIDEuNjkzMTc2NjI3MTU5MTE4N10sIFsxNjYzNzUxNDQwLjI2NzcwNjYsIDM2NzY1LCAxLjc4MDAwNjE3MDI3MjgyNzFdLCBbMTY2Mzc1MTQ0MC41NDg2NjUsIDM2ODAxLCAyLjA0NTY3MTkzOTg0OTg1MzVdLCBbMTY2Mzc1MTQ0MC44NTk5OTgsIDM2ODM3LCAxLjk1MTQ5ODUwODQ1MzM2OTFdLCBbMTY2Mzc1MTQ0Mi4yNjk3Mjg0LCAzNjk5MCwgMS43NTM1MTc4NjYxMzQ2NDM2XSwgWzE2NjM3NTE0NDIuNjgyMjk4NCwgMzcwNDQsIDIuMjM5NTYxNzk2MTg4MzU0NV0sIFsxNjYzNzUxNDQzLjA5Njk2OTEsIDM3MDk4LCAxLjk2NzQ3NzY3OTI1MjYyNDVdLCBbMTY2Mzc1MTQ0My4zNTAyMDgsIDM3MTI1LCAxLjc3MjY0NDA0Mjk2ODc1XSwgWzE2NjM3NTE0NDMuODA4OTEyOCwgMzcxNzksIDEuNzMwNTM2NTgwMDg1NzU0NF0sIFsxNjYzNzUxNDQ0Ljc1Mzg3MywgMzcyODcsIDEuOTkzNDY5MTE5MDcxOTYwNF0sIFsxNjYzNzUxNDQ1LjAzMDcyMjQsIDM3MzIzLCAxLjk1MTg5ODU3NDgyOTEwMTZdLCBbMTY2Mzc1MTQ0NS41Mjg4MzEyLCAzNzM4NiwgMS43NTc4NDMyNTU5OTY3MDRdLCBbMTY2Mzc1MTQ0NS43NTE2NDU4LCAzNzQxMywgMS45MDQ4MTQyNDMzMTY2NTA0XSwgWzE2NjM3NTE0NDYuNTgyMDA0NSwgMzc1MTIsIDEuNzM4NjU5OTc3OTEyOTAyOF0sIFsxNjYzNzUxNDQ3LjM3NDQzOTUsIDM3NjAyLCAxLjYzNDY5MDQwMzkzODI5MzVdLCBbMTY2Mzc1MTQ0Ny40NTg5NTc3LCAzNzYxMSwgMS44NTE3OTEzODE4MzU5Mzc1XSwgWzE2NjM3NTE0NDcuNjkzNDE4LCAzNzYzOCwgMS41MDE0MzE3MDM1Njc1MDQ5XSwgWzE2NjM3NTE0NDguOTU5NjE4MywgMzc3MzcsIDEuODIxMDIyOTg3MzY1NzIyN10sIFsxNjYzNzUxNDUwLjE3MzEwODgsIDM3ODcyLCAxLjU4OTIzOTk1NDk0ODQyNTNdLCBbMTY2Mzc1MTQ1MC4yNTk3MTcyLCAzNzg4MSwgMi4wNDEzNTk0MjQ1OTEwNjQ1XSwgWzE2NjM3NTE0NTAuODY5MTk0NywgMzc5NTMsIDEuNzA0NzMxNTgzNTk1Mjc1OV0sIFsxNjYzNzUxNDUxLjIyODQyNzIsIDM3OTk4LCAxLjk3MzY1NzQ4ODgyMjkzN10sIFsxNjYzNzUxNDUxLjY3MzgxMDIsIDM4MDUyLCAxLjkyMjUzNzkyMjg1OTE5Ml0sIFsxNjYzNzUxNDUxLjgyMTM0OTksIDM4MDcwLCAyLjE1NzUwMDUwNTQ0NzM4NzddLCBbMTY2Mzc1MTQ1MS44OTM2NTI0LCAzODA3OSwgMS43MDE3OTUxMDExNjU3NzE1XSwgWzE2NjM3NTE0NTIuMzQzOTU5MywgMzgxMzMsIDEuNzQ5NjM1OTM0ODI5NzEyXSwgWzE2NjM3NTE0NTMuMTAwMjg3LCAzODIyMywgMS41NzU2MDI0MTIyMjM4MTZdLCBbMTY2Mzc1MTQ1My4zMzI4NDQzLCAzODI1MCwgMS43OTkwODU0OTc4NTYxNDAxXSwgWzE2NjM3NTE0NTMuNDc5NDQ3MSwgMzgyNjgsIDEuODUyNTg4MDU3NTE4MDA1NF0sIFsxNjYzNzUxNDUzLjU2MzQwMDcsIDM4Mjc3LCAxLjc1NzE1MDc2OTIzMzcwMzZdLCBbMTY2Mzc1MTQ1My42NDE3Mjk4LCAzODI4NiwgMS44NjMwMjEzNzM3NDg3NzkzXSwgWzE2NjM3NTE0NTMuOTQyOTk3MiwgMzgzMjIsIDEuNzMzNjIzNzQzMDU3MjUxXSwgWzE2NjM3NTE0NTQuNjgxNDc1LCAzODQxMiwgMS42NjIwNzExMDg4MTgwNTQyXSwgWzE2NjM3NTE0NTQuNzY2NzE0MywgMzg0MjEsIDEuNTg4MTUwNTAxMjUxMjIwN10sIFsxNjYzNzUxNDU0LjkyMDk2NzMsIDM4NDM5LCAxLjgyNTAzOTI2NzUzOTk3OF0sIFsxNjYzNzUxNDU1Ljg1Nzc2ODgsIDM4NTI5LCAxLjc4NjMxNTMyMTkyMjMwMjJdLCBbMTY2Mzc1MTQ1NS45MzIwODMxLCAzODUzOCwgMi4zMDAxOTExNjQwMTY3MjM2XSwgWzE2NjM3NTE0NTcuMjk2MTIzNywgMzg2OTEsIDEuNzEzNzA3MDg5NDI0MTMzM10sIFsxNjYzNzUxNDU3Ljc5MjU1NjgsIDM4NzU0LCAxLjgyMTczMjc1OTQ3NTcwOF0sIFsxNjYzNzUxNDU4LjExNjIwODgsIDM4NzkwLCAyLjA3NDQxOTAyMTYwNjQ0NTNdLCBbMTY2Mzc1MTQ1OS4xMzEzMjUyLCAzODg3MSwgMS41MjIzMDk2NjA5MTE1Nl0sIFsxNjYzNzUxNDU5LjUyMTg0NSwgMzg5MTYsIDEuODExOTg4OTQ5Nzc1Njk1OF0sIFsxNjYzNzUxNDU5Ljk5MDE2OTMsIDM4OTYxLCAxLjg3ODc0MzI5MDkwMTE4NF0sIFsxNjYzNzUxNDYwLjUyNTI4NzQsIDM5MDE1LCAxLjgwNTA3NzA3NTk1ODI1Ml0sIFsxNjYzNzUxNDYxLjQzNTkzMTQsIDM5MDk2LCAxLjU0OTA4OTc4OTM5MDU2NF0sIFsxNjYzNzUxNDYxLjczOTI4OTgsIDM5MTMyLCAxLjQ4NzM3ODU5NzI1OTUyMTVdLCBbMTY2Mzc1MTQ2Mi4wODQwMzEzLCAzOTE2OCwgMS42ODI0MTU0ODUzODIwOF0sIFsxNjYzNzUxNDYzLjE1NDk1MzUsIDM5MjQ5LCAyLjA5OTIyNDgwNTgzMTkwOV0sIFsxNjYzNzUxNDYzLjY2NDc0NywgMzkyOTQsIDEuNTY5MTEwNjMxOTQyNzQ5XSwgWzE2NjM3NTE0NjQuMjY5MTc1NSwgMzkzNDgsIDEuNzIwNjgwNzEzNjUzNTY0NV0sIFsxNjYzNzUxNDY0LjcwMjgxOTgsIDM5MzkzLCAxLjc4MTk5MTAwNDk0Mzg0NzddLCBbMTY2Mzc1MTQ2NC45NDA2Mjk1LCAzOTQyMCwgMi4xMzE1Mjc5MDA2OTU4MDFdLCBbMTY2Mzc1MTQ2NS4wMTYxODA4LCAzOTQyOSwgMi4wMjc4MDMxODI2MDE5Mjg3XSwgWzE2NjM3NTE0NjUuNTg5NzEyMSwgMzk0OTIsIDEuNzM2NTIxMDA1NjMwNDkzMl0sIFsxNjYzNzUxNDY2LjE2NzE1ODgsIDM5NTY0LCAxLjkwNDAyNTA3NzgxOTgyNDJdLCBbMTY2Mzc1MTQ2Ni43NjM3NTQ2LCAzOTYzNiwgMS4zOTQwODUwNDk2MjkyMTE0XSwgWzE2NjM3NTE0NjcuMDg1OTA1MywgMzk2NzIsIDEuNTg2MzQ3MzQxNTM3NDc1Nl0sIFsxNjYzNzUxNDY3LjMyNjgxODIsIDM5Njk5LCAxLjUxNzkxMzY5OTE1MDA4NTRdLCBbMTY2Mzc1MTQ2Ny41NjI2MiwgMzk3MjYsIDEuODE0MjAzOTc3NTg0ODM4OV0sIFsxNjYzNzUxNDY3LjYzMjk0NjcsIDM5NzM1LCAxLjU1NTc0MDIzNzIzNjAyM10sIFsxNjYzNzUxNDY4LjYzNDMzMzYsIDM5ODA3LCAxLjU5OTExMDEyNjQ5NTM2MTNdLCBbMTY2Mzc1MTQ2OC44MjE0MTYsIDM5ODI1LCAyLjEwODExOTk2NDU5OTYwOTRdLCBbMTY2Mzc1MTQ2OS42ODE1ODYzLCAzOTkyNCwgMS44NjM1NDYyNTIyNTA2NzE0XSwgWzE2NjM3NTE0NzAuMzAwNTY3NiwgMzk5OTYsIDEuNzk3MzkwMjIyNTQ5NDM4NV0sIFsxNjYzNzUxNDcxLjcyMTUwMywgNDAwOTUsIDEuNjcwMDQ0MzAyOTQwMzY4N10sIFsxNjYzNzUxNDcyLjA4ODQyODUsIDQwMTMxLCAxLjU3MzAwOTEzMzMzODkyODJdLCBbMTY2Mzc1MTQ3Mi44MzMzOTgzLCA0MDIwMywgMS44OTM2NDc1NTE1MzY1Nl0sIFsxNjYzNzUxNDc0Ljk4NDIxMjIsIDQwNDEwLCAxLjU0Nzg5OTQ4NDYzNDM5OTRdLCBbMTY2Mzc1MTQ3NS41NTUxMDgzLCA0MDQ2NCwgMS42MjY4MjU1NzEwNjAxODA3XSwgWzE2NjM3NTE0NzUuODUzNjk0NCwgNDA1MDAsIDEuNzU1NjY3MjA5NjI1MjQ0MV0sIFsxNjYzNzUxNDc3LjAxMjMzNzQsIDQwNjM1LCAxLjkxNTYxOTQ5MjUzMDgyMjhdLCBbMTY2Mzc1MTQ3Ny41MjE2MDQ1LCA0MDY4OSwgMS41NDY5Njk2NTIxNzU5MDMzXSwgWzE2NjM3NTE0NzcuNzUwMjc4NywgNDA3MTYsIDEuNzU2NjgxNTYxNDcwMDMxN10sIFsxNjYzNzUxNDc3LjkyMzg5NDIsIDQwNzM0LCAxLjUyMTM3NDk0MDg3MjE5MjRdLCBbMTY2Mzc1MTQ3OC42NTI2Mzg0LCA0MDc5NywgMS44NTUzNjc1NDEzMTMxNzE0XSwgWzE2NjM3NTE0NzguODgyMzg0NSwgNDA4MjQsIDEuODEzNDUyOTU5MDYwNjY5XSwgWzE2NjM3NTE0NzkuMTk0NjU2OCwgNDA4NjAsIDEuODMzNzE2NzUwMTQ0OTU4NV0sIFsxNjYzNzUxNDc5LjYxMTE5MDMsIDQwODk2LCAxLjcxOTUyNDYyMTk2MzUwMV0sIFsxNjYzNzUxNDc5LjcxNjE0OTYsIDQwOTA1LCAxLjgwMTQwMTczNDM1MjExMThdLCBbMTY2Mzc1MTQ3OS44MDg4NDQ2LCA0MDkxNCwgMS42OTY1NTMxMTEwNzYzNTVdLCBbMTY2Mzc1MTQ3OS45NzM1NzQyLCA0MDkzMiwgMS43NjI2MzA5Mzk0ODM2NDI2XSwgWzE2NjM3NTE0ODAuNTAzODAxOCwgNDA5ODYsIDEuOTQ0NzgwNDY4OTQwNzM0OV0sIFsxNjYzNzUxNDgxLjE1MDM0NTMsIDQxMDQ5LCAxLjgzMDg5MzI3ODEyMTk0ODJdLCBbMTY2Mzc1MTQ4MS4zMjM3MzQ1LCA0MTA2NywgMS44NjgwODEzMzEyNTMwNTE4XSwgWzE2NjM3NTE0ODEuNTE1Nzg3OCwgNDEwODUsIDEuOTEwNDA1NzU1MDQzMDI5OF0sIFsxNjYzNzUxNDgxLjg0MDU0NjQsIDQxMTIxLCAxLjU0NTM3OTc1Nzg4MTE2NDZdLCBbMTY2Mzc1MTQ4Mi4wNzE4NzY1LCA0MTE0OCwgMS43ODc1MTAzOTUwNTAwNDg4XSwgWzE2NjM3NTE0ODIuMjM0NTk3MiwgNDExNTcsIDEuNjk4MzA2Nzk4OTM0OTM2NV0sIFsxNjYzNzUxNDgyLjQ0NTYwNDMsIDQxMTc1LCAxLjUxOTgzMzgwMzE3Njg3OTldLCBbMTY2Mzc1MTQ4My4yMDAzMDIxLCA0MTI0NywgMS44NzU1NzMxNTgyNjQxNjAyXSwgWzE2NjM3NTE0ODMuOTQ5NDIyNiwgNDEzMTksIDEuNTA1Mjg5NzkzMDE0NTI2NF0sIFsxNjYzNzUxNDg0LjE0MjY0OTcsIDQxMzM3LCAxLjYwMTkzODI0NzY4MDY2NF0sIFsxNjYzNzUxNDg1LjQ5Njc2MywgNDE0NjMsIDEuNjAwNTcxNTEzMTc1OTY0NF0sIFsxNjYzNzUxNDg1LjcyMzY1MywgNDE0OTAsIDEuNTk0MTU3MzM4MTQyMzk1XSwgWzE2NjM3NTE0ODUuOTM5MjkzOSwgNDE1MTcsIDEuODA4NzU3NjYyNzczMTMyM10sIFsxNjYzNzUxNDg3LjM4NTA1NzQsIDQxNjQzLCAyLjAwMzk4NjgzNTQ3OTczNjNdLCBbMTY2Mzc1MTQ4Ny42ODU0MDU1LCA0MTY3MCwgMS41Mzc4NTg3MjQ1OTQxMTYyXSwgWzE2NjM3NTE0ODguODM5ODI1NCwgNDE4MDUsIDEuNzAyODg5MDg0ODE1OTc5XSwgWzE2NjM3NTE0ODkuMTkxMzI2NiwgNDE4NTAsIDEuOTY3MTMyNDQ5MTUwMDg1NF0sIFsxNjYzNzUxNDg5LjI1OTUyMywgNDE4NTksIDEuMzIzNjc4OTcwMzM2OTE0XSwgWzE2NjM3NTE0ODkuNTU0MTgzNywgNDE4OTUsIDEuNjE1Njk2MDcyNTc4NDMwMl0sIFsxNjYzNzUxNDg5Ljg2ODgzMTIsIDQxOTMxLCAxLjg4OTEwNTA4MTU1ODIyNzVdLCBbMTY2Mzc1MTQ4OS45MzkzNzI4LCA0MTk0MCwgMS45NjM2NTQ2MzczMzY3MzFdLCBbMTY2Mzc1MTQ5MC4wMTUzOTA2LCA0MTk0OSwgMS41NTIyMjYxODU3OTg2NDVdLCBbMTY2Mzc1MTQ5MC4xNzc1MTM0LCA0MTk2NywgMS41NjA0OTU2MTUwMDU0OTMyXSwgWzE2NjM3NTE0OTAuNTYxNzM1NiwgNDIwMTIsIDEuNTU1NDIwODc1NTQ5MzE2NF0sIFsxNjYzNzUxNDkwLjYyNjU3OTMsIDQyMDIxLCAxLjc3NTI4MzA5ODIyMDgyNTJdLCBbMTY2Mzc1MTQ5MC43MDkzMjEzLCA0MjAzMCwgMS43NTUyNDU5MjM5OTU5NzE3XSwgWzE2NjM3NTE0OTEuMzkzMDk0MywgNDIxMTEsIDIuMDU1MzIwMDI0NDkwMzU2NF0sIFsxNjYzNzUxNDkyLjA5NDk4NzYsIDQyMTgzLCAxLjc3NDE2MDI2NTkyMjU0NjRdLCBbMTY2Mzc1MTQ5Mi40MDU4NTczLCA0MjIxOSwgMS42NDgwNTc2OTkyMDM0OTEyXSwgWzE2NjM3NTE0OTIuNTY5MDY0LCA0MjIzNywgMS40NzYyMDc3MzMxNTQyOTY5XSwgWzE2NjM3NTE0OTMuMDM1NzE2MywgNDIyOTEsIDEuNjg0NjI0MzE0MzA4MTY2NV0sIFsxNjYzNzUxNDkzLjgxMzYwNSwgNDIzNjMsIDEuNzMxNDE4MzcxMjAwNTYxNV0sIFsxNjYzNzUxNDkzLjg5MDEwOTMsIDQyMzcyLCAyLjAwMDYwNDg2NzkzNTE4MDddLCBbMTY2Mzc1MTQ5NC4zODQ0Njk3LCA0MjQyNiwgMS40OTg5MDE2MDU2MDYwNzldLCBbMTY2Mzc1MTQ5NC42MDg1NDQ4LCA0MjQ1MywgMS43MTI1NTk4MTkyMjE0OTY2XSwgWzE2NjM3NTE0OTUuMTU3Mjk4LCA0MjUyNSwgMS43MzI5NTEyODM0NTQ4OTVdLCBbMTY2Mzc1MTQ5NS42MjY1NTg1LCA0MjU3OSwgMS43MTkyOTE0NDg1OTMxMzk2XSwgWzE2NjM3NTE0OTUuODQ0MTEwNSwgNDI2MDYsIDEuODQxNjQzMzMzNDM1MDU4Nl0sIFsxNjYzNzUxNDk1LjkxNTM2NDUsIDQyNjE1LCAxLjY4MzQwMDE1NDExMzc2OTVdLCBbMTY2Mzc1MTQ5Ni4xMzUyMjYyLCA0MjY0MiwgMS41MjU5MTAwMTk4NzQ1NzI4XSwgWzE2NjM3NTE0OTYuMzU2NDY4LCA0MjY2OSwgMS40ODY0NDM1MTk1OTIyODUyXSwgWzE2NjM3NTE0OTYuNTYyMTY1NywgNDI2OTYsIDEuMzcyMTg5NzYwMjA4MTI5OV0sIFsxNjYzNzUxNDk3LjQ3NjU4OTcsIDQyODA0LCAxLjQzMzQ4MjUyNzczMjg0OTFdLCBbMTY2Mzc1MTQ5Ny43NzEwNDAyLCA0Mjg0MCwgMS43NTU4NTQ5NjQyNTYyODY2XSwgWzE2NjM3NTE0OTguNjYyOTM2MiwgNDI5MDMsIDEuODUzMjcyNDM4MDQ5MzE2NF0sIFsxNjYzNzUxNDk5LjE3MzA0NzMsIDQyOTU3LCAxLjUxMzU1MTExNTk4OTY4NV0sIFsxNjYzNzUxNDk5LjUwODA1NjYsIDQyOTkzLCAxLjcyOTUwMjY3NzkxNzQ4MDVdLCBbMTY2Mzc1MTQ5OS41ODUxMjc2LCA0MzAwMiwgMS43ODIwNzI3ODI1MTY0Nzk1XSwgWzE2NjM3NTE0OTkuODIyODMzLCA0MzAyOSwgMS42NzIzMjc2Mzc2NzI0MjQzXSwgWzE2NjM3NTE0OTkuOTA5NDU0OCwgNDMwMzgsIDEuODcyNzQ1MDM3MDc4ODU3NF0sIFsxNjYzNzUxNTAwLjU5NDM4NCwgNDMxMDEsIDEuNTg2OTA3NTA1OTg5MDc0N10sIFsxNjYzNzUxNTAwLjk5MDA2NCwgNDMxMTksIDEuNDc3MTIxMjMzOTQwMTI0NV0sIFsxNjYzNzUxNTAxLjEyNDMxODgsIDQzMTM3LCAxLjQ5OTg0NTc0MzE3OTMyMTNdLCBbMTY2Mzc1MTUwMS42Mjg4MjMsIDQzMTkxLCAxLjg0Mjk0NDk3OTY2NzY2MzZdLCBbMTY2Mzc1MTUwMi4xMjM0MDEyLCA0MzI0NSwgMS44MTQ2NDQ5MzI3NDY4ODcyXSwgWzE2NjM3NTE1MDIuNDE0NzY4MiwgNDMyNzIsIDEuNTE0MDQzNjg4Nzc0MTA4OV0sIFsxNjYzNzUxNTAyLjY0MDMxMzQsIDQzMjk5LCAxLjkxODkwNzE2NTUyNzM0MzhdLCBbMTY2Mzc1MTUwMi43OTAzNjU1LCA0MzMxNywgMS42NTg4MTI2NDIwOTc0NzMxXSwgWzE2NjM3NTE1MDMuMDYzMTA3NSwgNDMzMzUsIDEuNzQyOTU5MzgwMTQ5ODQxM10sIFsxNjYzNzUxNTA0LjUyMjg4MzQsIDQzNDc5LCAxLjg4MzE3MDcyMzkxNTFdLCBbMTY2Mzc1MTUwNC42NjI1NjQ4LCA0MzQ5NywgMS43MDExOTE2NjM3NDIwNjU0XSwgWzE2NjM3NTE1MDQuODA5ODk2MiwgNDM1MTUsIDEuNjkwOTMyMjczODY0NzQ2XSwgWzE2NjM3NTE1MDQuODg4OTU0MiwgNDM1MjQsIDEuOTM2Njc0OTUyNTA3MDE5XSwgWzE2NjM3NTE1MDQuOTYwNTk3LCA0MzUzMywgMS40Nzc3NDExMjIyNDU3ODg2XSwgWzE2NjM3NTE1MDUuNjIyMjI4MSwgNDM1OTYsIDEuNzU2NjMyNTY2NDUyMDI2NF0sIFsxNjYzNzUxNTA1LjcwNjc0MTMsIDQzNjA1LCAxLjgxMDkzMjI3ODYzMzExNzddLCBbMTY2Mzc1MTUwNy4zODk4MjAzLCA0Mzc2NywgMS43ODcxODI2ODg3MTMwNzM3XSwgWzE2NjM3NTE1MDcuNjA1NTYzNCwgNDM3OTQsIDEuNDkzOTQxMTg3ODU4NTgxNV0sIFsxNjYzNzUxNTA5LjMyMDg4NjQsIDQzOTQ3LCAxLjgzNTkxNTIwNzg2Mjg1NF0sIFsxNjYzNzUxNTEwLjIyMjI5MjIsIDQ0MDY0LCAxLjY0ODQ1NDE4OTMwMDUzN10sIFsxNjYzNzUxNTExLjE4ODg0MDIsIDQ0MTgxLCAxLjY4OTAyNzE5MDIwODQzNV0sIFsxNjYzNzUxNTExLjM2MjcwMjYsIDQ0MTk5LCAxLjY1ODIyNTc3NDc2NTAxNDZdLCBbMTY2Mzc1MTUxMS45NTU4NzE2LCA0NDIzNSwgMS41OTU3NDc3MDkyNzQyOTJdLCBbMTY2Mzc1MTUxMy4wMjk0NjUyLCA0NDMzNCwgMS41NzMyMjQxODY4OTcyNzc4XSwgWzE2NjM3NTE1MTMuNDM5OTEzLCA0NDM3MCwgMS41MTI2NzA3NTUzODYzNTI1XSwgWzE2NjM3NTE1MTMuNzgxOTYzMywgNDQ0MDYsIDEuNjAzMTk5MjQzNTQ1NTMyMl0sIFsxNjYzNzUxNTE0LjQ4ODgzOCwgNDQ0NjksIDEuNDYzODc0MjIwODQ4MDgzNV0sIFsxNjYzNzUxNTE0Ljg3Njk4OTQsIDQ0NTA1LCAyLjAwNTI2OTUyNzQzNTMwMjddLCBbMTY2Mzc1MTUxNS4zODAxODgyLCA0NDU1MCwgMS44MDU5MzY4MTMzNTQ0OTIyXSwgWzE2NjM3NTE1MTguMDg0MjIwMiwgNDQ4MTEsIDEuNjM2NzM3NzA0Mjc3MDM4Nl0sIFsxNjYzNzUxNTE4LjIzODYyMiwgNDQ4MjksIDEuNTMxMTQzNDI2ODk1MTQxNl0sIFsxNjYzNzUxNTE5LjEwNzIyLCA0NDkxOSwgMS43OTU4NzExMzg1NzI2OTI5XSwgWzE2NjM3NTE1MTkuMTg2Njg0NCwgNDQ5MjgsIDEuNzA0MzM1MDkzNDk4MjNdLCBbMTY2Mzc1MTUyMS4xOTIyNzk2LCA0NTEzNSwgMS41ODE5NTIwOTUwMzE3MzgzXSwgWzE2NjM3NTE1MjEuNjY5MzMxOCwgNDUxOTgsIDEuNTQ0MTcxOTI5MzU5NDM2XSwgWzE2NjM3NTE1MjEuODA0NDQ0LCA0NTIxNiwgMS45MTQxOTE3MjI4Njk4NzNdLCBbMTY2Mzc1MTUyMS45NjcwNTQ0LCA0NTIzNCwgMS44MjY2NTgwMTA0ODI3ODhdLCBbMTY2Mzc1MTUyMy41NzEzNzEzLCA0NTQzMiwgMi4wNzgxOTUwOTUwNjIyNTZdLCBbMTY2Mzc1MTUyNC42NDA5Njg2LCA0NTU0MCwgMS42MDAyNTMxMDUxNjM1NzQyXSwgWzE2NjM3NTE1MjQuNzkxMjM4NSwgNDU1NTgsIDEuNDIxNTQxMDk0Nzc5OTY4M10sIFsxNjYzNzUxNTI0Ljk1MTI3NTgsIDQ1NTc2LCAxLjUxNTE4NjU0ODIzMzAzMjJdLCBbMTY2Mzc1MTUyNS4xNzQyNzQ0LCA0NTYwMywgMS42NzIzOTI0ODc1MjU5NF0sIFsxNjYzNzUxNTI1Ljk1NzU5NywgNDU2OTMsIDEuNjQ4NTUwNjI5NjE1NzgzN10sIFsxNjYzNzUxNTI2LjE3NzIxNCwgNDU3MjAsIDEuODUwMjU3MTU4Mjc5NDE5XSwgWzE2NjM3NTE1MjYuMjQ0NDgxLCA0NTcyOSwgMS40MTg4OTcxNTE5NDcwMjE1XSwgWzE2NjM3NTE1MjYuNzQxMTA1NiwgNDU3ODMsIDEuNDk2MTg0NDY4MjY5MzQ4MV0sIFsxNjYzNzUxNTI2Ljg4NDgxMiwgNDU4MDEsIDEuNzQ1NTg3NzA2NTY1ODU3XSwgWzE2NjM3NTE1MjcuMDQxNTkzMywgNDU4MTksIDEuMzg3NjIyMzU2NDE0Nzk1XSwgWzE2NjM3NTE1MjcuNDM3MTMzMywgNDU4NjQsIDEuNTc0MDgxNDIwODk4NDM3NV0sIFsxNjYzNzUxNTI3Ljk0OTgwMywgNDU5MTgsIDEuNjE0NTc1Mzg2MDQ3MzYzM10sIFsxNjYzNzUxNTI4LjIxODY0MzcsIDQ1OTM2LCAxLjcyNzk4NTczOTcwNzk0NjhdLCBbMTY2Mzc1MTUyOS43MTg3NjgxLCA0NjEwNywgMS40OTc2MDQzNzAxMTcxODc1XSwgWzE2NjM3NTE1MzAuNzM0NjMxLCA0NjE5NywgMS41Mjc0NjI0ODI0NTIzOTI2XSwgWzE2NjM3NTE1MzEuMDUwNDI1MywgNDYyMzMsIDEuNTYwMTQ2MDkzMzY4NTMwM10sIFsxNjYzNzUxNTMxLjM3NjM3NSwgNDYyNjksIDEuOTI2MTk3NDA5NjI5ODIxOF0sIFsxNjYzNzUxNTMxLjkyNjMzMzQsIDQ2MzMyLCAxLjY2Mjc3NjExMjU1NjQ1NzVdLCBbMTY2Mzc1MTUzMi4yMzgwMjM4LCA0NjM2OCwgMS41OTE5MjUwMjQ5ODYyNjddLCBbMTY2Mzc1MTUzMi4zMTU5NjYsIDQ2Mzc3LCAxLjU4MjEzMjU3Nzg5NjExODJdLCBbMTY2Mzc1MTUzMi40ODQ2MTU2LCA0NjM5NSwgMS42NDg3NDIwNzk3MzQ4MDIyXSwgWzE2NjM3NTE1MzIuNTU3MzU0NSwgNDY0MDQsIDEuNTUyODEwMDcyODk4ODY0N10sIFsxNjYzNzUxNTMzLjQ2OTQxODMsIDQ2NTEyLCAxLjY5OTA4ODkzMTA4MzY3OTJdLCBbMTY2Mzc1MTUzNC4xNjYwMTEsIDQ2NTkzLCAxLjc0NDIxODQ2ODY2NjA3NjddLCBbMTY2Mzc1MTUzNS4wMTQyODY1LCA0NjY5MiwgMS42OTQwMDQ4OTMzMDI5MTc1XSwgWzE2NjM3NTE1MzUuOTY0NDAxLCA0Njc4MiwgMS41NTk3MjE3MDgyOTc3Mjk1XSwgWzE2NjM3NTE1MzYuMDQ5MTE3LCA0Njc5MSwgMS45MDkwNjk1MzgxMTY0NTVdLCBbMTY2Mzc1MTUzNi4yMDY4NjQ2LCA0NjgwOSwgMS42NjQwNDkyNjc3Njg4NTk5XSwgWzE2NjM3NTE1MzYuNzc4NDgzNCwgNDY4NTQsIDEuNTY0NTc0OTU2ODkzOTIxXSwgWzE2NjM3NTE1MzYuOTI2NTI4MiwgNDY4NzIsIDEuNzAzNDU1Njg2NTY5MjEzOV0sIFsxNjYzNzUxNTM3LjI3NjgwMSwgNDY5MTcsIDEuNDk2NzI5NjEyMzUwNDYzOV0sIFsxNjYzNzUxNTM3LjczMzg1MTIsIDQ2OTcxLCAxLjczNzA1OTk1MDgyODU1MjJdLCBbMTY2Mzc1MTUzOC4yNzcwMjIsIDQ3MDM0LCAxLjU5MDg4MTQ2Njg2NTUzOTZdLCBbMTY2Mzc1MTUzOC41ODU0NTA0LCA0NzA3MCwgMS40NTQ0NzYyMzcyOTcwNThdLCBbMTY2Mzc1MTUzOS4yNzYzMDU0LCA0NzE1MSwgMS41OTU4MTExMjg2MTYzMzNdLCBbMTY2Mzc1MTU0MC40NDcxODYyLCA0NzI4NiwgMS41MDYyMDE2MjQ4NzAzMDAzXSwgWzE2NjM3NTE1NDAuNTI5MzUzMSwgNDcyOTUsIDEuNTQzMzE2OTYwMzM0Nzc3OF0sIFsxNjYzNzUxNTQwLjg0NjM1OTcsIDQ3MzMxLCAxLjY2NzI4OTg1MzA5NjAwODNdLCBbMTY2Mzc1MTU0MS4xNjQxMDk1LCA0NzM2NywgMS41NjI1NDMyNzI5NzIxMDddLCBbMTY2Mzc1MTU0MS4zOTQ0NTE0LCA0NzM5NCwgMS4zMzYyMzk5MzM5Njc1OTAzXSwgWzE2NjM3NTE1NDIuNDE2NTUsIDQ3NTAyLCAxLjgzNzQzMDQ3NzE0MjMzNF0sIFsxNjYzNzUxNTQzLjEyOTU2OCwgNDc1ODMsIDEuODk2MTU3OTc5OTY1MjFdLCBbMTY2Mzc1MTU0My44NjIzNDIsIDQ3NjI4LCAxLjQ5NTcyODk2OTU3Mzk3NDZdLCBbMTY2Mzc1MTU0NC4wNDkzMzcxLCA0NzY0NiwgMS41NjE0OTgwNDU5MjEzMjU3XSwgWzE2NjM3NTE1NDQuMjQ0NDAwNywgNDc2NjQsIDEuNTk0NDc1Mzg4NTI2OTE2NV0sIFsxNjYzNzUxNTQ0LjQ0MTk3NywgNDc2ODIsIDEuNjIwOTQxODc3MzY1MTEyM10sIFsxNjYzNzUxNTQ1LjExNjMyMjUsIDQ3NzQ1LCAxLjY3Nzk0OTA3MDkzMDQ4MV0sIFsxNjYzNzUxNTQ2LjE1NDc1MjMsIDQ3ODcxLCAxLjU1ODQzMTk4Mjk5NDA3OTZdLCBbMTY2Mzc1MTU0Ni4yMjkzMzksIDQ3ODgwLCAxLjU2MTQ3NTYzNDU3NDg5MDFdLCBbMTY2Mzc1MTU0Ni40NjE4MjA2LCA0NzkwNywgMS41NTE3NzYwNTE1MjEzMDEzXSwgWzE2NjM3NTE1NDYuNjE3ODgxLCA0NzkyNSwgMS41NzAyNjM1MDQ5ODE5OTQ2XSwgWzE2NjM3NTE1NDYuODkyODY0LCA0Nzk2MSwgMS40NTk1MTc1OTgxNTIxNjA2XSwgWzE2NjM3NTE1NDYuOTYyNzUyMywgNDc5NzAsIDEuNTMxNDM5NDIzNTYxMDk2Ml0sIFsxNjYzNzUxNTQ3LjY1MzUyMSwgNDgwMTUsIDEuNDg1MzMyNzI3NDMyMjUxXSwgWzE2NjM3NTE1NDcuODQyNjQ4LCA0ODAzMywgMS41MDEwNTYwNzUwOTYxMzA0XSwgWzE2NjM3NTE1NDguMDQwNzMxLCA0ODA1MSwgMS41NTMwMTQzOTc2MjExNTQ4XSwgWzE2NjM3NTE1NDguNDkyOTIxLCA0ODA5NiwgMS41Njk4NTQ3MzYzMjgxMjVdLCBbMTY2Mzc1MTU1MC4wOTExNDU4LCA0ODI2NywgMS42MDg4MzMzMTI5ODgyODEyXSwgWzE2NjM3NTE1NTAuNTk2OTk0OSwgNDgzMjEsIDEuNjU5ODMxMTY2MjY3Mzk1XSwgWzE2NjM3NTE1NTAuNzM1NTg1NSwgNDgzMzksIDEuNDkwNjg4NTYyMzkzMTg4NV0sIFsxNjYzNzUxNTUwLjk0OTkyMTQsIDQ4MzY2LCAxLjk5MDc4MzgxMDYxNTUzOTZdLCBbMTY2Mzc1MTU1MS43OTg3OTc0LCA0ODQ0NywgMS41NDg4NDAxNjUxMzgyNDQ2XSwgWzE2NjM3NTE1NTIuNzcwNTA1NCwgNDg1NDYsIDEuODk1ODI4MDA4NjUxNzMzNF0sIFsxNjYzNzUxNTUyLjk2NjYwMTQsIDQ4NTY0LCAxLjUwMDk0ODMwOTg5ODM3NjVdLCBbMTY2Mzc1MTU1My42MDUzOTEsIDQ4NjI3LCAxLjU1NTc4Mjc5NDk1MjM5MjZdLCBbMTY2Mzc1MTU1My42OTQzMTU3LCA0ODYzNiwgMS43Mzg5NzU0MDU2OTMwNTQyXSwgWzE2NjM3NTE1NTMuOTgzMTgwOCwgNDg2NzIsIDEuODU0OTgzMzI5NzcyOTQ5Ml0sIFsxNjYzNzUxNTU0Ljc0MjY3NTMsIDQ4NzYyLCAxLjU4NDg4NTAwMTE4MjU1NjJdLCBbMTY2Mzc1MTU1NC45MjYxMzksIDQ4NzgwLCAyLjAwNDkzMjE2NTE0NTg3NF0sIFsxNjYzNzUxNTU1LjMwMzA4NiwgNDg4MjUsIDEuNjMwNjQ1NTEzNTM0NTQ2XSwgWzE2NjM3NTE1NTUuNjA3MDUxLCA0ODg2MSwgMS44NDU5NTk3ODI2MDA0MDI4XSwgWzE2NjM3NTE1NTYuMjcwNDUxNSwgNDg5MjQsIDEuNjk2MjkxNjg1MTA0MzcwMV0sIFsxNjYzNzUxNTU3LjIzMDEyNzgsIDQ5MDE0LCAxLjQ5ODUwODkzMDIwNjI5ODhdLCBbMTY2Mzc1MTU1Ny40MzAwODU0LCA0OTAzMiwgMS4zNTgwMzI5NDE4MTgyMzczXSwgWzE2NjM3NTE1NTcuNTMwODk3NCwgNDkwNDEsIDEuNTEzMzI3MzYwMTUzMTk4Ml0sIFsxNjYzNzUxNTU3Ljg3ODUzMDcsIDQ5MDc3LCAxLjUxMjA5MTM5ODIzOTEzNTddLCBbMTY2Mzc1MTU1OC4wNTA5OTQ0LCA0OTA5NSwgMS42NDUzMjUzMDMwNzc2OTc4XSwgWzE2NjM3NTE1NTguMjA3MjExMywgNDkxMTMsIDEuMzQxNjU1MzczNTczMzAzMl0sIFsxNjYzNzUxNTU4LjMwNTMyNTMsIDQ5MTIyLCAxLjgyMTY1NzY1NzYyMzI5MV0sIFsxNjYzNzUxNTU4LjY2NjkyNSwgNDkxNDAsIDEuNDQzNTMzMTgyMTQ0MTY1XSwgWzE2NjM3NTE1NTkuMTcxODc5OCwgNDkyMDMsIDEuNDM5MjkyMDczMjQ5ODE3XSwgWzE2NjM3NTE1NTkuNDY3ODAwNiwgNDkyMzksIDEuNTg5NzAxMTc1Njg5Njk3M10sIFsxNjYzNzUxNTYxLjY2OTI4NzcsIDQ5NDczLCAxLjQ5OTg4NjM5MzU0NzA1OF0sIFsxNjYzNzUxNTYxLjgxNzA1OTgsIDQ5NDkxLCAxLjUwMTM3OTAxMzA2MTUyMzRdLCBbMTY2Mzc1MTU2Mi4yMzA1MTQzLCA0OTU0NSwgMS41OTkzODkwNzYyMzI5MTAyXSwgWzE2NjM3NTE1NjIuNDMxOTEzNCwgNDk1NzIsIDEuNjU2MzI4OTE2NTQ5NjgyNl0sIFsxNjYzNzUxNTYyLjUwOTUzNTgsIDQ5NTgxLCAxLjU1NTcwMTM3NTAwNzYyOTRdLCBbMTY2Mzc1MTU2Mi41ODU2NDQ1LCA0OTU5MCwgMS42NDQyNTkwOTUxOTE5NTU2XSwgWzE2NjM3NTE1NjIuNjY1NjM1MywgNDk1OTksIDEuNDkxOTE2Nzc1NzAzNDMwMl0sIFsxNjYzNzUxNTYzLjE3MTkzOSwgNDk2NjIsIDEuNTAwNDQyNTA0ODgyODEyNV0sIFsxNjYzNzUxNTYzLjQ1NjQ5NTUsIDQ5Njk4LCAxLjY4NDc0OTEyNjQzNDMyNjJdLCBbMTY2Mzc1MTU2My42MTQ3Nzc2LCA0OTcxNiwgMS41MzY0MDM2NTYwMDU4NTk0XSwgWzE2NjM3NTE1NjMuODQyMzk2MywgNDk3NDMsIDEuNTIxNjk2NDQ4MzI2MTEwOF0sIFsxNjYzNzUxNTY1LjgxMTIyMjMsIDQ5OTE0LCAxLjM4NzgwMzU1NDUzNDkxMl0sIFsxNjYzNzUxNTY2LjM0ODc3NCwgNDk5NzcsIDEuNDAzMjMzNjQ3MzQ2NDk2Nl0sIFsxNjYzNzUxNTY2LjQ4OTMzODYsIDQ5OTk1LCAxLjUxNDI4NDM3MjMyOTcxMl0sIFsxNjYzNzUxNTY2LjcwNTYyNTgsIDUwMDIyLCAxLjQwNTY0NzI3NzgzMjAzMTJdLCBbMTY2Mzc1MTU2Ny40MzY1MzMsIDUwMTEyLCAxLjUwMDMzNTgxMjU2ODY2NDZdLCBbMTY2Mzc1MTU2Ny42MzI5Nzg0LCA1MDEzOSwgMS41MzkzNTY3MDg1MjY2MTEzXSwgWzE2NjM3NTE1NjguMTk3MzM1NywgNTAxODQsIDEuNTQ4OTY1NDU0MTAxNTYyNV0sIFsxNjYzNzUxNTY4LjYxNDY2MjYsIDUwMjIwLCAxLjcxNjU2OTU0Mjg4NDgyNjddLCBbMTY2Mzc1MTU3MC42ODMyMTI1LCA1MDQ0NSwgMS41NjEzNTc4NTU3OTY4MTRdLCBbMTY2Mzc1MTU3MS4wMjAwMTEyLCA1MDQ4MSwgMS41MDQ4Njg4NjUwMTMxMjI2XSwgWzE2NjM3NTE1NzEuOTI4NjAzLCA1MDU4OSwgMS41NzU1OTUzNzg4NzU3MzI0XV0=","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_03-17-04_63b6388f5f34&tag=Loss%2Ftrain":{"data":"W1sxNjYzNzMwMjI0LjE3MDkxNjMsIDksIDY2LjYyNDQyMDE2NjAxNTYyXSwgWzE2NjM3MzAyMjQuMzc0Mjk0NSwgMjcsIDM0LjY2NTI1MjY4NTU0Njg3NV0sIFsxNjYzNzMwMjI0LjQ4NTMzOTIsIDM2LCAyOS45ODU0OTA3OTg5NTAxOTVdLCBbMTY2MzczMDIyNC41OTIxMTQsIDQ1LCAyNS45NDExNDY4NTA1ODU5MzhdLCBbMTY2MzczMDIyNS4yNTk0NzE0LCA5OSwgOS40NzU5MjA2NzcxODUwNTldLCBbMTY2MzczMDIyNS4zNzQ3NTksIDEwOCwgNy45NjAwMDI4OTkxNjk5MjJdLCBbMTY2MzczMDIyNS44NjIwMjI0LCAxMzUsIDYuNDY5MzIyNjgxNDI3MDAyXSwgWzE2NjM3MzAyMjUuOTY1MTI0LCAxNDQsIDYuNDcyODg4NDY5Njk2MDQ1XSwgWzE2NjM3MzAyMjYuMzEwMDQzOCwgMTcxLCA2LjE3MzI4MTY2OTYxNjY5OV0sIFsxNjYzNzMwMjI2LjQxNjU2MDIsIDE4MCwgNS45OTcwOTQxNTQzNTc5MV0sIFsxNjYzNzMwMjI2LjUyNDQyMywgMTg5LCA2LjAyMDMxNTE3MDI4ODA4Nl0sIFsxNjYzNzMwMjI2LjczNDUzNzEsIDIwNywgNS45MDExMzM1MzcyOTI0ODA1XSwgWzE2NjM3MzAyMjYuODQ0MjIwNiwgMjE2LCA1Ljc3NTI0MTM3NDk2OTQ4Ml0sIFsxNjYzNzMwMjI3LjIwMzAwNjMsIDI0MywgNS42MTgwMDE0NjEwMjkwNTNdLCBbMTY2MzczMDIyNy4zMTA3Nzg5LCAyNTIsIDUuNDkxODkxODYwOTYxOTE0XSwgWzE2NjM3MzAyMjcuNTIzNjk0OCwgMjcwLCA1LjQwMzkyMzUxMTUwNTEyN10sIFsxNjYzNzMwMjI3Ljk4NDU3NSwgMzA2LCA1LjIzMDQyMzkyNzMwNzEyOV0sIFsxNjYzNzMwMjI4LjEwNzAyMDYsIDMxNSwgNS4yMTQyMzI0NDQ3NjMxODRdLCBbMTY2MzczMDIyOC4zMjM0Mjk4LCAzMzMsIDUuMTQ1ODA0ODgyMDQ5NTYwNV0sIFsxNjYzNzMwMjI4LjQzNzg3MzQsIDM0MiwgNC45OTMyMTM2NTM1NjQ0NTNdLCBbMTY2MzczMDIyOC41NTQxOTYxLCAzNTEsIDUuMDI2OTM0MTQ2ODgxMTAzNV0sIFsxNjYzNzMwMjI4LjY4NzUyMzYsIDM2MCwgNS4wMTE1NDE4NDM0MTQzMDddLCBbMTY2MzczMDIyOC43OTUwODY5LCAzNjksIDQuODM4ODgxNDkyNjE0NzQ2XSwgWzE2NjM3MzAyMjkuNTI4ODU2OCwgNDMyLCA0LjU1OTU1NTA1MzcxMDkzNzVdLCBbMTY2MzczMDIyOS42MzIzMjMzLCA0NDEsIDQuNTA1MzgzMDE0Njc4OTU1XSwgWzE2NjM3MzAyMjkuNzQ2ODM1NSwgNDUwLCA0LjQ2NzQ4NjM4MTUzMDc2Ml0sIFsxNjYzNzMwMjI5Ljk4MTM0MDYsIDQ2OCwgNC4zNjYwNjA3MzM3OTUxNjZdLCBbMTY2MzczMDIzMC4xMDM2NTM0LCA0NzcsIDQuMzIxMDE0NDA0Mjk2ODc1XSwgWzE2NjM3MzAyMzAuMjk3NzAwNCwgNDk1LCA0LjI0MDY3OTI2NDA2ODYwMzVdLCBbMTY2MzczMDIzMC4zOTU5MjksIDUwNCwgNC4yNDgyOTcyMTQ1MDgwNTddLCBbMTY2MzczMDIzMC42MjM2MjM4LCA1MjIsIDQuMTM1MTYwOTIzMDA0MTVdLCBbMTY2MzczMDIzMC45ODI0NjQsIDU0OSwgMy45ODgwOTkwOTgyMDU1NjY0XSwgWzE2NjM3MzAyMzEuMTA3NjYzNCwgNTU4LCAzLjk4MzAyMzg4MTkxMjIzMTRdLCBbMTY2MzczMDIzMS4yMTU1NjI4LCA1NjcsIDMuOTA2OTI2MTU1MDkwMzMyXSwgWzE2NjM3MzAyMzEuMzIwMzM0NCwgNTc2LCAzLjg3OTYwNjk2MjIwMzk3OTVdLCBbMTY2MzczMDIzMS41NTA1MjE0LCA1OTQsIDMuNzYwMDg0NjI5MDU4ODM4XSwgWzE2NjM3MzAyMzEuNjU1MzgzOCwgNjAzLCAzLjc3NDA3MjQwODY3NjE0NzVdLCBbMTY2MzczMDIzMS43ODA5MjQ2LCA2MTIsIDMuNzQyNzgwMjA4NTg3NjQ2NV0sIFsxNjYzNzMwMjMxLjg5NTc5MTUsIDYyMSwgMy43MjA3NTEwNDcxMzQzOTk0XSwgWzE2NjM3MzAyMzIuMTA3ODgyNywgNjM5LCAzLjY1NjkzNzM2MDc2MzU1XSwgWzE2NjM3MzAyMzIuMjEyNTQzNywgNjQ4LCAzLjYxMzIxMzUzOTEyMzUzNV0sIFsxNjYzNzMwMjMyLjg2NzIxMSwgNzAyLCAzLjQwMjY2ODcxNDUyMzMxNTRdLCBbMTY2MzczMDIzMy4wODM5OTMyLCA3MjAsIDMuMzg5MjI2OTEzNDUyMTQ4NF0sIFsxNjYzNzMwMjMzLjE5ODUyMSwgNzI5LCAzLjM2OTQ5ODQ5MTI4NzIzMTRdLCBbMTY2MzczMDIzMy4zOTA0NzM0LCA3NDcsIDMuMjY2NTA4MzQwODM1NTcxM10sIFsxNjYzNzMwMjMzLjQ4MzQ2OTUsIDc1NiwgMy4zMjYwNzUwNzcwNTY4ODQ4XSwgWzE2NjM3MzAyMzMuNjU0MzI0OCwgNzc0LCAzLjE2OTg3MzQ3NjAyODQ0MjRdLCBbMTY2MzczMDIzMy43NDU3MzAyLCA3ODMsIDMuMTU2MzUwMzc0MjIxODAxOF0sIFsxNjYzNzMwMjM0LjAxNjQxLCA4MTAsIDMuMDYxNjYyNjczOTUwMTk1M10sIFsxNjYzNzMwMjM0LjExMjI4MDYsIDgxOSwgMy4wNzMyNjY3NDQ2MTM2NDc1XSwgWzE2NjM3MzAyMzQuNTgxMjk1NywgODY0LCAyLjg4NjY0OTg0NzAzMDYzOTZdLCBbMTY2MzczMDIzNC45MTkwNDU3LCA5MDAsIDIuODQ1NzMzODgwOTk2NzA0XSwgWzE2NjM3MzAyMzUuMDAxNDU3MiwgOTA5LCAyLjgyMTk0NzU3NDYxNTQ3ODVdLCBbMTY2MzczMDIzNS42Mzg4MTYsIDkzNiwgMi43Mzk0MTcwNzYxMTA4NF0sIFsxNjYzNzMwMjM1Ljk0MzA1MDEsIDk2MywgMi42NzcyNTgwMTQ2Nzg5NTVdLCBbMTY2MzczMDIzNi4wNDE2MjI5LCA5NzIsIDIuNjUxNjE1MTQyODIyMjY1Nl0sIFsxNjYzNzMwMjM2LjIyODU3NzQsIDk5MCwgMi42NTk1OTUyNTEwODMzNzRdLCBbMTY2MzczMDIzNi4zMjM2NzA2LCA5OTksIDIuNjQ3NTc4NzE2Mjc4MDc2XSwgWzE2NjM3MzAyMzYuNjkxNzAyOCwgMTAzNSwgMi42Mjc1MjI3MDY5ODU0NzM2XSwgWzE2NjM3MzAyMzYuOTA3NTk4NywgMTA1MywgMi41MDE1MTg5NjQ3Njc0NTZdLCBbMTY2MzczMDIzNy4zNTA5MDk1LCAxMDk4LCAyLjQ2MjQ4NjI2NzA4OTg0MzhdLCBbMTY2MzczMDIzNy43NTcyNzY4LCAxMTM0LCAyLjM5NDQ3NDI2Nzk1OTU5NDddLCBbMTY2MzczMDIzNy44NTgyNTQyLCAxMTQzLCAyLjQyMDg3NDM1NzIyMzUxMDddLCBbMTY2MzczMDIzOC4wNTk3NzMsIDExNjEsIDIuMzc0MDU1Mzg1NTg5NTk5Nl0sIFsxNjYzNzMwMjM4LjE0NjQxNzQsIDExNzAsIDIuMzg5NzU3Mzk0NzkwNjQ5NF0sIFsxNjYzNzMwMjM4LjIzMzIyOTIsIDExNzksIDIuNDIxMTYwMjIxMDk5ODUzNV0sIFsxNjYzNzMwMjM4LjMyMTA5MjEsIDExODgsIDIuMzUzNjY0ODc1MDMwNTE3Nl0sIFsxNjYzNzMwMjM4LjQwNzQzNjEsIDExOTcsIDIuMzM4NDcyODQzMTcwMTY2XSwgWzE2NjM3MzAyMzguNjY0MDc4LCAxMjE1LCAyLjI5OTU4MTc2NjEyODU0XSwgWzE2NjM3MzAyMzguODUzNDg5NiwgMTIzMywgMi4zMTg3OTI1ODE1NTgyMjc1XSwgWzE2NjM3MzAyMzguOTM5NDM0LCAxMjQyLCAyLjI5NjAzMTIzNjY0ODU1OTZdLCBbMTY2MzczMDIzOS41MTE0MDc5LCAxMjk2LCAyLjI0Njk1OTkyNDY5Nzg3Nl0sIFsxNjYzNzMwMjM5LjYwNjYyOTEsIDEzMDUsIDIuMjI1MTI5NjA0MzM5NTk5Nl0sIFsxNjYzNzMwMjM5Ljc4MzEwNTYsIDEzMjMsIDIuMjg2NTM2NDU1MTU0NDE5XSwgWzE2NjM3MzAyMzkuODkxODcwMywgMTMzMiwgMi4yNjEzMTcwMTQ2OTQyMTRdLCBbMTY2MzczMDI0MC4xODU4ODc4LCAxMzU5LCAyLjIwNjYwNTE5NTk5OTE0NTVdLCBbMTY2MzczMDI0MC44MzM0NTA2LCAxNDIyLCAyLjE2ODk0NTU1MDkxODU3OV0sIFsxNjYzNzMwMjQxLjAxMTIzOTgsIDE0NDAsIDIuMjE4MDgyOTA0ODE1Njc0XSwgWzE2NjM3MzAyNDEuMTA2MTk3NiwgMTQ0OSwgMi4xNzE5NDk2MjUwMTUyNTldLCBbMTY2MzczMDI0MS4yOTI4NDgzLCAxNDY3LCAyLjI1NzE5NDUxOTA0Mjk2ODhdLCBbMTY2MzczMDI0MS40ODQ3NjA4LCAxNDg1LCAyLjIyNzc4NzI1NjI0MDg0NDddLCBbMTY2MzczMDI0MS42NjgwODcyLCAxNTAzLCAyLjEzMzYzMDc1MjU2MzQ3NjZdLCBbMTY2MzczMDI0Mi4wMjk1ODc3LCAxNTM5LCAyLjA4ODY1OTUyNDkxNzYwMjVdLCBbMTY2MzczMDI0Mi4xMjI0MDY1LCAxNTQ4LCAyLjA3ODkwMzY3NTA3OTM0NTddLCBbMTY2MzczMDI0Mi4yMTM1NDc3LCAxNTU3LCAyLjEyMzg4MDYyNDc3MTExOF0sIFsxNjYzNzMwMjQyLjQ4MzQ5NTcsIDE1ODQsIDIuMTI3NDIyODA5NjAwODNdLCBbMTY2MzczMDI0Mi41NzAzODQ1LCAxNTkzLCAyLjA5ODE0NzYzMDY5MTUyODNdLCBbMTY2MzczMDI0Mi42NTgxMzYsIDE2MDIsIDIuMDYxMjc0MjkwMDg0ODM5XSwgWzE2NjM3MzAyNDIuNzQyNzQ0NywgMTYxMSwgMi4wNDA5NDAyODQ3MjkwMDRdLCBbMTY2MzczMDI0Mi45MDkwNzAzLCAxNjI5LCAyLjA3NjYyNzI1NDQ4NjA4NF0sIFsxNjYzNzMwMjQzLjAwNDUxMDIsIDE2MzgsIDIuMDk0Nzg1MjEzNDcwNDU5XSwgWzE2NjM3MzAyNDMuMzI1ODIsIDE2NjUsIDIuMDc2NDEzNjMxNDM5MjA5XSwgWzE2NjM3MzAyNDMuNjQ3ODM1MywgMTY3NCwgMi4wNjA0MzMxNDkzMzc3Njg2XSwgWzE2NjM3MzAyNDMuNzM3MTE0NCwgMTY4MywgMi4wODg0MjQ2ODI2MTcxODc1XSwgWzE2NjM3MzAyNDMuOTg4NzUwNywgMTcxMCwgMi4wNjMzNDM1MjQ5MzI4NjEzXSwgWzE2NjM3MzAyNDQuMDc0NDA1NywgMTcxOSwgMi4wMjMzNTU5NjA4NDU5NDczXSwgWzE2NjM3MzAyNDQuMTc0MjgxNCwgMTcyOCwgMi4wNDU0NTkyNzA0NzcyOTVdLCBbMTY2MzczMDI0NC4yNjYzODEzLCAxNzM3LCAyLjAyNjQxOTQwMTE2ODgyMzJdLCBbMTY2MzczMDI0NC41NTExODc1LCAxNzY0LCAyLjEwMDMzMjczNjk2ODk5NF0sIFsxNjYzNzMwMjQ0LjgxNDg1MDgsIDE3OTEsIDEuOTg3ODMzNjE5MTE3NzM2OF0sIFsxNjYzNzMwMjQ0LjkwODMxNiwgMTgwMCwgMS45ODQ5MDgzNDIzNjE0NTAyXSwgWzE2NjM3MzAyNDQuOTk1NjgwNiwgMTgwOSwgMi4wMDg2NTE3MzMzOTg0Mzc1XSwgWzE2NjM3MzAyNDUuMTgxNTA3NiwgMTgyNywgMi4wMTY4NTE5MDIwMDgwNTY2XSwgWzE2NjM3MzAyNDUuMjY3NDQ5NCwgMTgzNiwgMS45OTMxMjgwNjEyOTQ1NTU3XSwgWzE2NjM3MzAyNDUuMzU3MjY3NiwgMTg0NSwgMS45NzYzOTA3MTk0MTM3NTczXSwgWzE2NjM3MzAyNDUuNDQxNjEwNiwgMTg1NCwgMi4wMDc0MjI5MjQwNDE3NDhdLCBbMTY2MzczMDI0NS42MTM0MTMzLCAxODcyLCAxLjk3ODc3Mjg3ODY0Njg1MDZdLCBbMTY2MzczMDI0NS43ODY2NzYsIDE4OTAsIDIuMDQzMjE3ODk3NDE1MTYxXSwgWzE2NjM3MzAyNDUuOTY1NjI3MiwgMTkwOCwgMS45NjUyNjYzNDY5MzE0NTc1XSwgWzE2NjM3MzAyNDYuMTU1NjY4LCAxOTI2LCAxLjk4NzIxODM3OTk3NDM2NTJdLCBbMTY2MzczMDI0Ni4zMzc3MDgyLCAxOTQ0LCAxLjk1MDAxMzg3NTk2MTMwMzddLCBbMTY2MzczMDI0Ni40MjU3NTg0LCAxOTUzLCAxLjk1OTQ0MzA5MjM0NjE5MTRdLCBbMTY2MzczMDI0Ni41OTg3NzA5LCAxOTcxLCAyLjAyNDk5MTk4OTEzNTc0Ml0sIFsxNjYzNzMwMjQ2LjY4NjczOTIsIDE5ODAsIDEuOTQ4Nzg0ODI4MTg2MDM1Ml0sIFsxNjYzNzMwMjQ2Ljc3MDgxMjMsIDE5ODksIDIuMDI3ODQwODUyNzM3NDI2OF0sIFsxNjYzNzMwMjQ2Ljg1Nzk4MzYsIDE5OTgsIDEuOTgxMjk2Nzc3NzI1MjE5N10sIFsxNjYzNzMwMjQ3LjAwNTYyNzYsIDIwMDcsIDIuMDI4MzU0MTY3OTM4MjMyNF0sIFsxNjYzNzMwMjQ3LjI2MDk2LCAyMDI1LCAxLjkzMDUwMjg5MTU0MDUyNzNdLCBbMTY2MzczMDI0Ny40MjM4NDM2LCAyMDM0LCAxLjk1ODUxNjk1NTM3NTY3MTRdLCBbMTY2MzczMDI0Ny44NTUzODM0LCAyMDcwLCAxLjkwOTg3ODYxMTU2NDYzNjJdLCBbMTY2MzczMDI0OC4xNzM1MjMsIDIwOTcsIDEuOTE3MDQzMzI4Mjg1MjE3M10sIFsxNjYzNzMwMjQ4LjQ3MjM0NDksIDIxMjQsIDEuODg2MjA0NDgxMTI0ODc4XSwgWzE2NjM3MzAyNDguNjQ0NjY3NCwgMjE0MiwgMS44Nzc2MjU0NjUzOTMwNjY0XSwgWzE2NjM3MzAyNDguNzI5ODI1NywgMjE1MSwgMS45Mjk2MTA4NDg0MjY4MTg4XSwgWzE2NjM3MzAyNDguODE1MDUxLCAyMTYwLCAxLjg4NDcyMzU0NDEyMDc4ODZdLCBbMTY2MzczMDI0OC45ODcwOTAzLCAyMTc4LCAxLjkyNDgzNzcwODQ3MzIwNTZdLCBbMTY2MzczMDI0OS4wODI5MTg2LCAyMTg3LCAxLjg2ODEzOTg2MzAxNDIyMTJdLCBbMTY2MzczMDI0OS4yNjMyMzk0LCAyMjA1LCAxLjg2NjgwMjQ1Mzk5NDc1MV0sIFsxNjYzNzMwMjQ5LjM1NDg5MDMsIDIyMTQsIDEuODczOTU1MTMwNTc3MDg3NF0sIFsxNjYzNzMwMjQ5LjQzOTA2ODMsIDIyMjMsIDEuODk2MTI1NDM1ODI5MTYyNl0sIFsxNjYzNzMwMjQ5LjUyNTg2OTgsIDIyMzIsIDEuODgwMDI4NDg2MjUxODMxXSwgWzE2NjM3MzAyNDkuOTY2NjA0MiwgMjI3NywgMS44NTcwMjA2MTY1MzEzNzJdLCBbMTY2MzczMDI1MC4wNTk1MDE0LCAyMjg2LCAxLjg2NjQ0NDExMDg3MDM2MTNdLCBbMTY2MzczMDI1MC4xNTQzOTA2LCAyMjk1LCAxLjg1OTk0NjM3MDEyNDgxN10sIFsxNjYzNzMwMjUwLjQzMzE3MzIsIDIzMjIsIDEuODQzOTIyODUzNDY5ODQ4Nl0sIFsxNjYzNzMwMjUwLjUyMjE1MSwgMjMzMSwgMS44Njg1NDczMjAzNjU5MDU4XSwgWzE2NjM3MzAyNTAuNjQyMzc3NCwgMjM0MCwgMS44NzkxNTE5NDAzNDU3NjQyXSwgWzE2NjM3MzAyNTAuNzQ3MTkwNSwgMjM0OSwgMS45MDQwMzIzNDk1ODY0ODY4XSwgWzE2NjM3MzAyNTAuOTc4Njg1LCAyMzY3LCAxLjg5MDg1OTg0MjMwMDQxNV0sIFsxNjYzNzMwMjUyLjE4NjcxMDEsIDI0MzksIDEuODM2OTMzNzMyMDMyNzc1OV0sIFsxNjYzNzMwMjUyLjI4NjMxOCwgMjQ0OCwgMS44NDI1MDM1NDc2Njg0NTddLCBbMTY2MzczMDI1Mi41NjE0NDk1LCAyNDc1LCAxLjc4OTIzMDk0MjcyNjEzNTNdLCBbMTY2MzczMDI1Mi42NTIwNjM0LCAyNDg0LCAxLjgzOTA5NDUxOTYxNTE3MzNdLCBbMTY2MzczMDI1Mi43NzM1NTIsIDI0OTMsIDEuODQ2MDYwMDM3NjEyOTE1XSwgWzE2NjM3MzAyNTIuOTUzMTY3LCAyNTExLCAyLjA4OTY5NzM2MDk5MjQzMTZdLCBbMTY2MzczMDI1My4xNjc4ODg0LCAyNTI5LCAxLjkxNTI4NjMwMjU2NjUyODNdLCBbMTY2MzczMDI1My4zNTE0MTU2LCAyNTQ3LCAxLjc4MDY3NTg4ODA2MTUyMzRdLCBbMTY2MzczMDI1My40NDIxNDQ5LCAyNTU2LCAxLjgzODEzNzUwNzQzODY1OTddLCBbMTY2MzczMDI1My42MjY1MTc4LCAyNTc0LCAxLjc2NDE0Nzc1ODQ4Mzg4NjddLCBbMTY2MzczMDI1My44MDU5MTU0LCAyNTkyLCAxLjc2ODg5MTgxMTM3MDg0OTZdLCBbMTY2MzczMDI1My44OTQxMzY0LCAyNjAxLCAxLjgxNTI2MTk2MDAyOTYwMl0sIFsxNjYzNzMwMjU0LjA2NjMzOTMsIDI2MTksIDEuNzg0OTAxMzgwNTM4OTQwNF0sIFsxNjYzNzMwMjU0LjUxOTI1MjMsIDI2NjQsIDEuODQ4MDA3NDQwNTY3MDE2Nl0sIFsxNjYzNzMwMjU0LjYwNTk0NDQsIDI2NzMsIDEuNzY5ODQ4NTg1MTI4Nzg0Ml0sIFsxNjYzNzMwMjU0LjY5NjQyNzMsIDI2ODIsIDEuNzQ1NTQzMjQxNTAwODU0NV0sIFsxNjYzNzMwMjU0Ljc4NzU2NjIsIDI2OTEsIDEuNzI5MTE3MzkzNDkzNjUyM10sIFsxNjYzNzMwMjU0Ljg3NTQ4MDIsIDI3MDAsIDEuNzM4MzI0MTY1MzQ0MjM4M10sIFsxNjYzNzMwMjU1LjMyMTA3OCwgMjc0NSwgMS43ODIxMTc2MDUyMDkzNTA2XSwgWzE2NjM3MzAyNTUuNTQyNTAyNCwgMjc2MywgMS43ODM2OTE1MjU0NTkyODk2XSwgWzE2NjM3MzAyNTUuNjU3Mzg1LCAyNzcyLCAxLjc2OTM1MTYwMTYwMDY0N10sIFsxNjYzNzMwMjU1Ljc4MjQ3NDgsIDI3ODEsIDEuNzQ0NDY1NDcwMzE0MDI1OV0sIFsxNjYzNzMwMjU1Ljg3NjQ5MjMsIDI3OTAsIDEuNzg4ODc0ODY0NTc4MjQ3XSwgWzE2NjM3MzAyNTYuMTUxOTc2NiwgMjgxNywgMS43MjI1OTA5MjMzMDkzMjYyXSwgWzE2NjM3MzAyNTYuMjU3MzQ1NCwgMjgyNiwgMS43OTA2MTg3NzcyNzUwODU0XSwgWzE2NjM3MzAyNTYuNTgxMTU3MiwgMjg1MywgMS43MDMzMjM5NjAzMDQyNjAzXSwgWzE2NjM3MzAyNTYuNzU3MjA2MiwgMjg3MSwgMS43NjIxMzY2OTc3NjkxNjVdLCBbMTY2MzczMDI1Ni44NDUwNjcsIDI4ODAsIDEuNzYzNzkxNjgwMzM1OTk4NV0sIFsxNjYzNzMwMjU3LjE4MzA3OSwgMjkwNywgMS42OTY0NTg0NTg5MDA0NTE3XSwgWzE2NjM3MzAyNTcuNDEyNDg5NCwgMjkyNSwgMS43MTgzMDc4NTI3NDUwNTYyXSwgWzE2NjM3MzAyNTcuODY1NjA4LCAyOTcwLCAxLjcyODc3MTkyNDk3MjUzNDJdLCBbMTY2MzczMDI1Ny45NjMzNTA4LCAyOTc5LCAxLjcyNjY0MzA4NTQ3OTczNjNdLCBbMTY2MzczMDI1OC4wNTI0ODYyLCAyOTg4LCAxLjc2NTM4NzUzNTA5NTIxNDhdLCBbMTY2MzczMDI1OC4xNDk2MDA1LCAyOTk3LCAxLjc1NTY4OTYyMDk3MTY3OTddLCBbMTY2MzczMDI1OC4yMzg4NzM1LCAzMDA2LCAxLjcxNTE4MjE4NTE3MzAzNDddLCBbMTY2MzczMDI1OC42MDMzNjk1LCAzMDQyLCAxLjY3MTY5NDI3ODcxNzA0MV0sIFsxNjYzNzMwMjU4LjY5MjUyNzMsIDMwNTEsIDEuNjYzMTQ3MzMwMjg0MTE4N10sIFsxNjYzNzMwMjU4Ljg5MTc2ODcsIDMwNjksIDEuNjk3MDI1NTM3NDkwODQ0N10sIFsxNjYzNzMwMjU5LjE1ODE3NDgsIDMwOTYsIDEuNzQ3MjcxMjk5MzYyMTgyNl0sIFsxNjYzNzMwMjU5LjI1NDg0NTYsIDMxMDUsIDEuNzQ5NjU2NTU4MDM2ODA0Ml0sIFsxNjYzNzMwMjU5LjMzODg0ODYsIDMxMTQsIDEuNjkzMjcwNTY0MDc5Mjg0N10sIFsxNjYzNzMwMjU5LjQzMzg4NDksIDMxMjMsIDEuNjg3MzQzNzE2NjIxMzk5XSwgWzE2NjM3MzAyNTkuNjY0MzYzLCAzMTQxLCAxLjY2NDg0NTU4NTgyMzA1OV0sIFsxNjYzNzMwMjU5Ljg1MTg5OTQsIDMxNTksIDEuNjg3NzAwMDMzMTg3ODY2Ml0sIFsxNjYzNzMwMjYwLjIyMTU0ODYsIDMxNzcsIDEuNzA0MjMwNzg1MzY5ODczXSwgWzE2NjM3MzAyNjAuMzA3MTM5OSwgMzE4NiwgMS43MzM4OTM1MTM2Nzk1MDQ0XSwgWzE2NjM3MzAyNjAuMzk3MDAyNSwgMzE5NSwgMS43Mzc5NzUzNTg5NjMwMTI3XSwgWzE2NjM3MzAyNjAuNDg4NzU3NiwgMzIwNCwgMS42ODE5NjQ4NzQyNjc1NzgxXSwgWzE2NjM3MzAyNjAuNjczOTgxNywgMzIyMiwgMS42NjMwMTM5MzUwODkxMTEzXSwgWzE2NjM3MzAyNjAuNzU4NDk4NywgMzIzMSwgMS42Njc0NTIzMzUzNTc2NjZdLCBbMTY2MzczMDI2MC45NzM2OTU4LCAzMjQ5LCAxLjczNTk1NzYyMjUyODA3NjJdLCBbMTY2MzczMDI2MS4xNDQxOTk4LCAzMjY3LCAxLjY3NTIwMDQ2MjM0MTMwODZdLCBbMTY2MzczMDI2MS4yMzcwMDIsIDMyNzYsIDEuNzA2MzA2NDU3NTE5NTMxMl0sIFsxNjYzNzMwMjYxLjMyNzY2OTksIDMyODUsIDEuNjYyMDA2MDIwNTQ1OTU5NV0sIFsxNjYzNzMwMjYxLjQxNTc2MiwgMzI5NCwgMS42NjY5MDAwMzg3MTkxNzcyXSwgWzE2NjM3MzAyNjEuNTA0NDYxNSwgMzMwMywgMS42Mzg2NjM3Njg3NjgzMTA1XSwgWzE2NjM3MzAyNjEuNjA0MzU0LCAzMzEyLCAxLjYyODY2MjIyODU4NDI4OTZdLCBbMTY2MzczMDI2MS43MDQ3NDk2LCAzMzIxLCAxLjY3OTI3ODk2OTc2NDcwOTVdLCBbMTY2MzczMDI2Mi4yMjQyOTMyLCAzMzc1LCAxLjYxODY0Mzg3OTg5MDQ0Ml0sIFsxNjYzNzMwMjYyLjMxMTAxNTQsIDMzODQsIDEuNjI2Nzg1ODc0MzY2NzYwM10sIFsxNjYzNzMwMjYyLjQ4MTUyODMsIDM0MDIsIDEuNjE2NjMzMjk2MDEyODc4NF0sIFsxNjYzNzMwMjYyLjU2NzAyNywgMzQxMSwgMS41OTkwNzU2NzUwMTA2ODEyXSwgWzE2NjM3MzAyNjIuOTE3Mzg3NSwgMzQ0NywgMS41OTM4MjExNjc5NDU4NjE4XSwgWzE2NjM3MzAyNjMuMTkzMTU4OSwgMzQ3NCwgMS42NDMzNDc4NTkzODI2Mjk0XSwgWzE2NjM3MzAyNjMuMjc5NjM3NiwgMzQ4MywgMS42OTczNTI1Mjg1NzIwODI1XSwgWzE2NjM3MzAyNjMuNjE5MDM0MywgMzUxMCwgMS42MTM4MzkzODc4OTM2NzY4XSwgWzE2NjM3MzAyNjMuNzUzNzc1LCAzNTE5LCAxLjYwODA1MTY1NzY3NjY5NjhdLCBbMTY2MzczMDI2My44NjUzMDMzLCAzNTI4LCAxLjY0NDE1ODcyMDk3MDE1MzhdLCBbMTY2MzczMDI2My45ODQyMTg0LCAzNTM3LCAxLjYyMjE4NzQ5NTIzMTYyODRdLCBbMTY2MzczMDI2NC4xMzMzNiwgMzU0NiwgMS42NDE0OTg0NDY0NjQ1Mzg2XSwgWzE2NjM3MzAyNjQuMjU2NDEsIDM1NTUsIDEuNjc2MDUxMjU5MDQwODMyNV0sIFsxNjYzNzMwMjY0LjM4NzM3MTMsIDM1NjQsIDEuNjgyMjMyMDIyMjg1NDYxNF0sIFsxNjYzNzMwMjY0LjUxNTQ3LCAzNTczLCAxLjcwNjkxOTQzMTY4NjQwMTRdLCBbMTY2MzczMDI2NC42MzY0NDY1LCAzNTgyLCAxLjYyNDE1MDc1MzAyMTI0MDJdLCBbMTY2MzczMDI2NC43MjY4MTU1LCAzNTkxLCAxLjU5MDMyODMzNTc2MjAyNF0sIFsxNjYzNzMwMjY0LjgxODQ3OSwgMzYwMCwgMS42MjQ4NDAyNTk1NTIwMDJdLCBbMTY2MzczMDI2NS4wMzE0MzksIDM2MTgsIDEuNjY3MjQ3NDE0NTg4OTI4Ml0sIFsxNjYzNzMwMjY1LjE0NDM0LCAzNjI3LCAxLjYxOTQ0NTMyMzk0NDA5MThdLCBbMTY2MzczMDI2NS4zNTA3MjIsIDM2NDUsIDEuNTc3MzU2ODE1MzM4MTM0OF0sIFsxNjYzNzMwMjY1LjU2MDU1NDMsIDM2NjMsIDEuNTkzMDIyNTg0OTE1MTYxMV0sIFsxNjYzNzMwMjY1Ljc4NzM4MjgsIDM2ODEsIDEuNTkzMzIzNTg4MzcxMjc2OV0sIFsxNjYzNzMwMjY1Ljg5ODI0MjcsIDM2OTAsIDEuNTYxMjIzMzg3NzE4MjAwN10sIFsxNjYzNzMwMjY2LjIyNzgzLCAzNzE3LCAxLjU5MTkxMjk4NDg0ODAyMjVdLCBbMTY2MzczMDI2Ni4zMzEwNDE2LCAzNzI2LCAxLjYxNzkwNTI1OTEzMjM4NTNdLCBbMTY2MzczMDI2Ni40MjA2MTgzLCAzNzM1LCAxLjU2OTY0NzA3Mzc0NTcyNzVdLCBbMTY2MzczMDI2Ni41MTQ5NDI2LCAzNzQ0LCAxLjU1ODk4MDEwNzMwNzQzNF0sIFsxNjYzNzMwMjY2Ljc5MDI0MiwgMzc3MSwgMS41NTQzMTE5OTA3Mzc5MTVdLCBbMTY2MzczMDI2Ni44NzY0OTg1LCAzNzgwLCAxLjYxMzA1MjQ4NzM3MzM1Ml0sIFsxNjYzNzMwMjY3LjA2MDUxMzMsIDM3OTgsIDEuNTg4NzYwMzc1OTc2NTYyNV0sIFsxNjYzNzMwMjY3LjE1MjQ0MTMsIDM4MDcsIDEuNTk4NTk4MTIyNTk2NzQwN10sIFsxNjYzNzMwMjY3LjQyMDU4MzUsIDM4MzQsIDEuNTcyOTgxODM0NDExNjIxXSwgWzE2NjM3MzAyNjcuNTE0Nzg4LCAzODQzLCAxLjU5Mjg0NzU4NTY3ODEwMDZdLCBbMTY2MzczMDI2OC4xNDQ0Mjg1LCAzODc5LCAxLjYxNjQzNTI4OTM4MjkzNDZdLCBbMTY2MzczMDI2OC4yMzA5MjU2LCAzODg4LCAxLjU4NTYzMTM3MDU0NDQzMzZdLCBbMTY2MzczMDI2OC41MDAxNTg4LCAzOTE1LCAxLjUyNzA2MzM2OTc1MDk3NjZdLCBbMTY2MzczMDI2OC41ODY3NTksIDM5MjQsIDEuNTUzNTYwNjE0NTg1ODc2NV0sIFsxNjYzNzMwMjY4LjY3NDIxOTgsIDM5MzMsIDEuNTI2MTk3OTEwMzA4ODM4XSwgWzE2NjM3MzAyNjguNzY2MDg1NiwgMzk0MiwgMS41MzY1NDkyMTA1NDg0MDA5XSwgWzE2NjM3MzAyNjguODU3MjY3MSwgMzk1MSwgMS41NTY2ODc0NzQyNTA3OTM1XSwgWzE2NjM3MzAyNjguOTQ3MjU1NiwgMzk2MCwgMS41NTU4MjExODAzNDM2MjhdLCBbMTY2MzczMDI2OS4wNDcwODA1LCAzOTY5LCAxLjU0OTQ3MzA0NzI1NjQ2OTddLCBbMTY2MzczMDI2OS4xNTE2OTI2LCAzOTc4LCAxLjUyMzgzNjg1MTExOTk5NTFdLCBbMTY2MzczMDI2OS4zMzIxOTU1LCAzOTk2LCAxLjU3NjkwMjk4NTU3MjgxNV0sIFsxNjYzNzMwMjY5LjQyMDQyMzUsIDQwMDUsIDEuNTY2MTAwNzE2NTkwODgxM10sIFsxNjYzNzMwMjY5LjU1NzAyNTIsIDQwMTQsIDEuNTc2MTE3ODczMTkxODMzNV0sIFsxNjYzNzMwMjY5LjY1OTk1NiwgNDAyMywgMS41MjgzMTk4MzU2NjI4NDE4XSwgWzE2NjM3MzAyNzAuMjAwMTQ2NywgNDA1OSwgMS41Njk5NTQzOTUyOTQxODk1XSwgWzE2NjM3MzAyNzAuMzIwODUxOCwgNDA2OCwgMS41MzcwODYyNDgzOTc4MjcxXSwgWzE2NjM3MzAyNzAuNDMwMDgzNSwgNDA3NywgMS41MTAzMjA2NjM0NTIxNDg0XSwgWzE2NjM3MzAyNzAuNTI3NzA1NywgNDA4NiwgMS41NjYwMTAzNTU5NDk0MDE5XSwgWzE2NjM3MzAyNzAuNjIyOTE4OCwgNDA5NSwgMS41MDEzODczNTc3MTE3OTJdLCBbMTY2MzczMDI3MC44MTQwODMsIDQxMTMsIDEuNTAyMzU5ODY3MDk1OTQ3M10sIFsxNjYzNzMwMjcwLjk5MTg5NDUsIDQxMzEsIDEuNTQ3OTk2ODc4NjIzOTYyNF0sIFsxNjYzNzMwMjcxLjE4NDQ4NTcsIDQxNDksIDEuNDc4MzIzMjIxMjA2NjY1XSwgWzE2NjM3MzAyNzEuMjcyOTQ1NiwgNDE1OCwgMS40OTEwMTQ3MTkwMDkzOTk0XSwgWzE2NjM3MzAyNzEuMzU4MzU3MiwgNDE2NywgMS41MzA5NzE1MjcwOTk2MDk0XSwgWzE2NjM3MzAyNzEuNTQxMzk2LCA0MTg1LCAxLjU1NDgyMTQ5MTI0MTQ1NV0sIFsxNjYzNzMwMjcxLjYzMDI5NCwgNDE5NCwgMS41NTA5ODA0NDg3MjI4Mzk0XSwgWzE2NjM3MzAyNzEuNzE2NjMzNiwgNDIwMywgMS41MTQ0ODkxNzM4ODkxNjAyXSwgWzE2NjM3MzAyNzEuODkxODA1NiwgNDIyMSwgMS40NjgyODc4MjU1ODQ0MTE2XSwgWzE2NjM3MzAyNzIuMDc1OTA2NSwgNDIzOSwgMS41MjcwMDc1Nzk4MDM0NjY4XSwgWzE2NjM3MzAyNzIuMTYwNDExNiwgNDI0OCwgMS41MDY2MjcwODI4MjQ3MDddLCBbMTY2MzczMDI3Mi40Mjc0NTE0LCA0Mjc1LCAxLjUwMDI2ODgxNjk0NzkzN10sIFsxNjYzNzMwMjcyLjUxMzYxNjgsIDQyODQsIDEuNTE1MDk5ODgzMDc5NTI4OF0sIFsxNjYzNzMwMjcyLjc3NzgzNTQsIDQzMTEsIDEuNDkyNzk4OTI0NDQ2MTA2XSwgWzE2NjM3MzAyNzIuODY0NTkxMSwgNDMyMCwgMS41MDM5MjM4OTI5NzQ4NTM1XSwgWzE2NjM3MzAyNzIuOTUwMzUwOCwgNDMyOSwgMS40NTQ4MDIyNzQ3MDM5Nzk1XSwgWzE2NjM3MzAyNzMuMDk0NzUwNiwgNDMzOCwgMS40NzY0ODExOTkyNjQ1MjY0XSwgWzE2NjM3MzAyNzMuMjI5MjA1NiwgNDM0NywgMS40ODc0ODgxNTA1OTY2MTg3XSwgWzE2NjM3MzAyNzMuMzIwMTU3NSwgNDM1NiwgMS40OTg2NzQyNzM0OTA5MDU4XSwgWzE2NjM3MzAyNzMuNDA4OTc1MSwgNDM2NSwgMS40NjI3ODY2NzQ0OTk1MTE3XSwgWzE2NjM3MzAyNzMuNjIxNDMyMywgNDM4MywgMS40OTQ4MTg2ODc0Mzg5NjQ4XSwgWzE2NjM3MzAyNzMuNzA5MTAwNSwgNDM5MiwgMS40ODc2MTY3Nzc0MjAwNDRdLCBbMTY2MzczMDI3My43OTQxMDg2LCA0NDAxLCAxLjQ3NDIzNDkzODYyMTUyMV0sIFsxNjYzNzMwMjczLjg3NjA5MDMsIDQ0MTAsIDEuNDczODQ2NDM1NTQ2ODc1XSwgWzE2NjM3MzAyNzQuMTYzNjcyLCA0NDI4LCAxLjUwMjMwNTM4ODQ1MDYyMjZdLCBbMTY2MzczMDI3NC41MzMxMzg4LCA0NDU1LCAxLjQ2MjQ4MDA2ODIwNjc4N10sIFsxNjYzNzMwMjc0LjYyODAxMzYsIDQ0NjQsIDEuNTM0MTkzNTE1Nzc3NTg4XSwgWzE2NjM3MzAyNzQuOTU2MDczOCwgNDQ5MSwgMS40NjQ3NDM2MTQxOTY3NzczXSwgWzE2NjM3MzAyNzUuMjYwNjExNSwgNDUxOCwgMS41MDE1ODIwMjY0ODE2Mjg0XSwgWzE2NjM3MzAyNzUuMzUyMTMxLCA0NTI3LCAxLjU1ODYyMjM2MDIyOTQ5MjJdLCBbMTY2MzczMDI3NS40NDEwMSwgNDUzNiwgMS41ODMwNTM1ODg4NjcxODc1XSwgWzE2NjM3MzAyNzUuNzIwMDQxLCA0NTYzLCAxLjQ2MjMyMzY2NTYxODg5NjVdLCBbMTY2MzczMDI3NS45MTM2MiwgNDU4MSwgMS40NDcyMzEwNTQzMDYwMzAzXSwgWzE2NjM3MzAyNzYuMDQwNDY4NSwgNDU5MCwgMS40MjE1NTU2MzgzMTMyOTM1XSwgWzE2NjM3MzAyNzYuMTQ0NjI5NywgNDU5OSwgMS41Mzg0ODQ0NTQxNTQ5NjgzXSwgWzE2NjM3MzAyNzYuMjMyMjExLCA0NjA4LCAxLjUyOTgyNDI1Njg5Njk3MjddLCBbMTY2MzczMDI3Ni4zMTcxODYsIDQ2MTcsIDEuNDcwNjA2MjA3ODQ3NTk1Ml0sIFsxNjYzNzMwMjc2LjYxMzE4ODUsIDQ2MjYsIDEuNTE2OTczMjU3MDY0ODE5M10sIFsxNjYzNzMwMjc2LjcwMDY2NjcsIDQ2MzUsIDEuNDc5MTc4MTkwMjMxMzIzMl0sIFsxNjYzNzMwMjc2Ljg4MTk4OCwgNDY1MywgMS40NTIyNzY4MjU5MDQ4NDYyXSwgWzE2NjM3MzAyNzYuOTczNjQ2NCwgNDY2MiwgMS40NTY5MTg5NTQ4NDkyNDMyXSwgWzE2NjM3MzAyNzcuMDU2OTA0LCA0NjcxLCAxLjQ2ODYwNjcxMDQzMzk2XSwgWzE2NjM3MzAyNzcuMTQyNDIzMiwgNDY4MCwgMS40NTExNjIzMzgyNTY4MzZdLCBbMTY2MzczMDI3Ny4yMjkxNTEsIDQ2ODksIDEuNDE5MzMwODM1MzQyNDA3Ml0sIFsxNjYzNzMwMjc3LjMxNTQ5NTUsIDQ2OTgsIDEuNDM0NDg3MjIzNjI1MTgzXSwgWzE2NjM3MzAyNzcuNTAxOTMxLCA0NzE2LCAxLjQ0MDU3ODgxODMyMTIyOF0sIFsxNjYzNzMwMjc4LjEyNzI0NCwgNDc3OSwgMS40NDc5OTMzOTc3MTI3MDc1XSwgWzE2NjM3MzAyNzguMzgyNDQ5LCA0ODA2LCAxLjQ0MjU4MjYwNzI2OTI4N10sIFsxNjYzNzMwMjc4LjQ3MDAzNzcsIDQ4MTUsIDEuNDA5NDUyNDM4MzU0NDkyMl0sIFsxNjYzNzMwMjc4LjY1MDAzMDEsIDQ4MzMsIDEuNDY5NDExOTY5MTg0ODc1NV0sIFsxNjYzNzMwMjc4LjczNjM0OCwgNDg0MiwgMS40Mzk2MzUzOTYwMDM3MjMxXSwgWzE2NjM3MzAyNzguODIyODc1NywgNDg1MSwgMS40MzIyMDExNDcwNzk0Njc4XSwgWzE2NjM3MzAyNzguOTA3MzUxNywgNDg2MCwgMS4zOTQwOTU1NDAwNDY2OTJdLCBbMTY2MzczMDI3OS4wMDE1NDI4LCA0ODY5LCAxLjUwNTI5MDg2NTg5ODEzMjNdLCBbMTY2MzczMDI3OS4xNzgwOTYsIDQ4ODcsIDEuMzkxOTU5Nzg2NDE1MV0sIFsxNjYzNzMwMjc5LjI2MzQxMTgsIDQ4OTYsIDEuNDA0NTc3MDE2ODMwNDQ0M10sIFsxNjYzNzMwMjc5LjM0ODQ0OCwgNDkwNSwgMS40MjQzMjU3MDQ1NzQ1ODVdLCBbMTY2MzczMDI3OS41MjkxODUzLCA0OTIzLCAxLjQxMTczODE1NzI3MjMzODldLCBbMTY2MzczMDI3OS42MjAwNzQ3LCA0OTMyLCAxLjQwMTYyMzI0OTA1Mzk1NV0sIFsxNjYzNzMwMjc5Ljg3OTQ0NzIsIDQ5NTksIDEuNDM0MTIzNTE2MDgyNzYzN10sIFsxNjYzNzMwMjgwLjA1MjU3NDksIDQ5NzcsIDEuNDE4Nzc5NzMwNzk2ODE0XSwgWzE2NjM3MzAyODAuMjI4Mjk1NiwgNDk5NSwgMS40MDUyOTM3MDMwNzkyMjM2XSwgWzE2NjM3MzAyODAuMzE0NjQ5NiwgNTAwNCwgMS40MTUxMTI2MTQ2MzE2NTI4XSwgWzE2NjM3MzAyODAuNDAxNTI4MSwgNTAxMywgMS4zODc4MzUwMjU3ODczNTM1XSwgWzE2NjM3MzAyODAuOTI1MjQ3LCA1MDY3LCAxLjM5NDYyMzUxNzk5MDExMjNdLCBbMTY2MzczMDI4MS4wMTQwNDMsIDUwNzYsIDEuNDUyMTc5OTA4NzUyNDQxNF0sIFsxNjYzNzMwMjgxLjEwNzI5NjcsIDUwODUsIDEuNDAzNTQyMDQxNzc4NTY0NV0sIFsxNjYzNzMwMjgxLjQ2NjYwMjMsIDUxMjEsIDEuMzgzMDkyODgwMjQ5MDIzNF0sIFsxNjYzNzMwMjgxLjU1ODcyNTYsIDUxMzAsIDEuMzcwOTU0OTkwMzg2OTYzXSwgWzE2NjM3MzAyODEuNzQyNzI1OCwgNTE0OCwgMS4zODE0NzE3NTMxMjA0MjI0XSwgWzE2NjM3MzAyODEuOTE4MDM0OCwgNTE2NiwgMS4zNTY1ODM4MzM2OTQ0NThdLCBbMTY2MzczMDI4Mi4xODAxMjIxLCA1MTkzLCAxLjQwMzY0MjQxNjAwMDM2NjJdLCBbMTY2MzczMDI4Mi41MjE5NzY1LCA1MjI5LCAxLjM4MDc2MDA3MzY2MTgwNDJdLCBbMTY2MzczMDI4Mi44NzE5NjUyLCA1MjY1LCAxLjM5ODU0MTU2OTcwOTc3NzhdLCBbMTY2MzczMDI4Mi45NTkwNjk1LCA1Mjc0LCAxLjM3MzIzODIwNTkwOTcyOV0sIFsxNjYzNzMwMjgzLjA1NDA2MjYsIDUyODMsIDEuNDAwNDM3NDc0MjUwNzkzNV0sIFsxNjYzNzMwMjgzLjIyNDExMzIsIDUzMDEsIDEuNDMwMDY1MzkzNDQ3ODc2XSwgWzE2NjM3MzAyODMuMzExMjk5NiwgNTMxMCwgMS4zNDYwNDE0NDA5NjM3NDUxXSwgWzE2NjM3MzAyODMuMzk2MDAyLCA1MzE5LCAxLjQyMDE2NDgyMzUzMjEwNDVdLCBbMTY2MzczMDI4My40ODQ2ODk3LCA1MzI4LCAxLjQ3Mzc5NzkxNzM2NjAyNzhdLCBbMTY2MzczMDI4My41Njk5NjA2LCA1MzM3LCAxLjQ0Njg5Nzg2NDM0MTczNThdLCBbMTY2MzczMDI4My45NTA4NzM5LCA1MzU1LCAxLjM1MDE4NzA2MzIxNzE2M10sIFsxNjYzNzMwMjg0LjEzNTM2MjksIDUzNzMsIDEuMzYwODAzMjQ2NDk4MTA4XSwgWzE2NjM3MzAyODQuMjE4NTgyOSwgNTM4MiwgMS4zNTM2Njg1NzA1MTg0OTM3XSwgWzE2NjM3MzAyODQuMzAzNTQ1NywgNTM5MSwgMS4zNjg3MTQ4MDk0MTc3MjQ2XSwgWzE2NjM3MzAyODQuMzg5MjExLCA1NDAwLCAxLjM0MzE3NDIxOTEzMTQ2OTddLCBbMTY2MzczMDI4NC42MTY2MDY1LCA1NDE4LCAxLjMzMjA1Njk5OTIwNjU0M10sIFsxNjYzNzMwMjg0LjcyNjE5NTYsIDU0MjcsIDEuNDE3ODk4Nzc0MTQ3MDMzN10sIFsxNjYzNzMwMjg0Ljg1NjgyMTUsIDU0MzYsIDEuMzg3MzA4MTIwNzI3NTM5XSwgWzE2NjM3MzAyODUuMDk5MjI5MywgNTQ1NCwgMS4zNTYwNzc2NzEwNTEwMjU0XSwgWzE2NjM3MzAyODUuNDUyNjY3NywgNTQ4MSwgMS4zOTM1NzA2NjE1NDQ3OTk4XSwgWzE2NjM3MzAyODUuNjg5MDEyLCA1NDk5LCAxLjMzMjAxOTIwOTg2MTc1NTRdLCBbMTY2MzczMDI4Ni4wMDczMjI1LCA1NTI2LCAxLjM0NzAxNTczODQ4NzI0MzddLCBbMTY2MzczMDI4Ni4xMTcyMTA5LCA1NTM1LCAxLjMyNTgxNDEyNzkyMjA1OF0sIFsxNjYzNzMwMjg2LjMzNzk4MSwgNTU1MywgMS4zNDIxMDUxNTAyMjI3NzgzXSwgWzE2NjM3MzAyODYuNTQ2MTI3LCA1NTcxLCAxLjM1MzM1NjM2MTM4OTE2MDJdLCBbMTY2MzczMDI4Ni43NTc5NzcsIDU1ODksIDEuMzUzMTg1NTM0NDc3MjMzOV0sIFsxNjYzNzMwMjg2LjkyNjA2NTIsIDU2MDcsIDEuMzMzMTU5NTY1OTI1NTk4MV0sIFsxNjYzNzMwMjg3LjAyMjE5OCwgNTYxNiwgMS4zMzk2NzgxNjgyOTY4MTRdLCBbMTY2MzczMDI4Ny4zMTYxNzMzLCA1NjQzLCAxLjMwMTgwNTk3MzA1Mjk3ODVdLCBbMTY2MzczMDI4Ny4zOTk5MzY3LCA1NjUyLCAxLjMxNzQ2MTYwOTg0MDM5M10sIFsxNjYzNzMwMjg3LjQ5OTc1NDQsIDU2NjEsIDEuMzU2MTgzNDA5NjkwODU3XSwgWzE2NjM3MzAyODcuNTkwNDA0MywgNTY3MCwgMS4zODEyNTA2MTk4ODgzMDU3XSwgWzE2NjM3MzAyODcuOTQxNTU5OCwgNTcwNiwgMS4zMTc4MjI2OTQ3Nzg0NDI0XSwgWzE2NjM3MzAyODguMDM3OTIzOCwgNTcxNSwgMS4zMzgwMDgwNDYxNTAyMDc1XSwgWzE2NjM3MzAyODguMTI3ODA1LCA1NzI0LCAxLjMyMTczNjY5MzM4MjI2MzJdLCBbMTY2MzczMDI4OC4zMDg0MzYsIDU3NDIsIDEuMzEyNzc0NDE5Nzg0NTQ2XSwgWzE2NjM3MzAyODguNTg0OTMwNywgNTc2OSwgMS4yOTcyMjY5MDU4MjI3NTRdLCBbMTY2MzczMDI4OC42NzI2NTU2LCA1Nzc4LCAxLjM2NzM0NTMzMzA5OTM2NTJdLCBbMTY2MzczMDI4OC44MDcxOTM4LCA1Nzg3LCAxLjM2OTUwNzU1MTE5MzIzNzNdLCBbMTY2MzczMDI4OC45MDUyMjk2LCA1Nzk2LCAxLjQwNDgxNDgzOTM2MzA5ODFdLCBbMTY2MzczMDI4OC45OTExMDYzLCA1ODA1LCAxLjM2ODAwODYxMzU4NjQyNThdLCBbMTY2MzczMDI4OS4wODQ1MTIyLCA1ODE0LCAxLjM0MTE2NzQ0OTk1MTE3MTldLCBbMTY2MzczMDI4OS40Nzk4MTcyLCA1ODUwLCAxLjI4NDgwMTI0NDczNTcxNzhdLCBbMTY2MzczMDI4OS42NjA3MjMsIDU4NjgsIDEuMzcyNzM3MDUwMDU2NDU3NV0sIFsxNjYzNzMwMjg5Ljc0OTkzNywgNTg3NywgMS4zMzA1NDc2OTAzOTE1NDA1XSwgWzE2NjM3MzAyODkuODQzNDcxNSwgNTg4NiwgMS4zMjEzMzQyNDI4MjA3Mzk3XSwgWzE2NjM3MzAyODkuOTMxNDE3LCA1ODk1LCAxLjI5MTA0ODI4ODM0NTMzN10sIFsxNjYzNzMwMjkwLjAyMDY1NTksIDU5MDQsIDEuMzQ2MzE4MjQ0OTM0MDgyXSwgWzE2NjM3MzAyOTAuMzAzNDA1OCwgNTkzMSwgMS4zMTgzMjk1NzI2Nzc2MTIzXSwgWzE2NjM3MzAyOTAuMzk5MjU0LCA1OTQwLCAxLjMxNjY1NjgyNzkyNjYzNTddLCBbMTY2MzczMDI5MC41MDA1ODY1LCA1OTQ5LCAxLjMyMjcwODM2ODMwMTM5MTZdLCBbMTY2MzczMDI5MS4xMjY1MjczLCA2MDEyLCAxLjMxMzgzNjA5NzcxNzI4NTJdLCBbMTY2MzczMDI5MS40MDU0OTY0LCA2MDM5LCAxLjI3ODc5ODkzNzc5NzU0NjRdLCBbMTY2MzczMDI5MS44NDMwMjQsIDYwODQsIDEuMzY5NjkwODk1MDgwNTY2NF0sIFsxNjYzNzMwMjkyLjEyOTI3MzIsIDYwOTMsIDEuMzM2NDk5ODEwMjE4ODExXSwgWzE2NjM3MzAyOTIuMjE3NDk1NCwgNjEwMiwgMS4zMDk5MDc5MTMyMDgwMDc4XSwgWzE2NjM3MzAyOTIuNDc2NzMyMywgNjEyOSwgMS4zMTcwNDYwNDYyNTcwMTldLCBbMTY2MzczMDI5Mi42NDg5MDEyLCA2MTQ3LCAxLjI5NjU2NDM0MDU5MTQzMDddLCBbMTY2MzczMDI5Mi43MzIyMzM4LCA2MTU2LCAxLjMyMDcyMDE5NTc3MDI2MzddLCBbMTY2MzczMDI5Mi44MzEzMTU4LCA2MTY1LCAxLjI4OTM2Njg0MTMxNjIyMzFdLCBbMTY2MzczMDI5Mi45MTY2NzkxLCA2MTc0LCAxLjMwMDI2NzMzODc1Mjc0NjZdLCBbMTY2MzczMDI5My4wOTkwNDQzLCA2MTkyLCAxLjI3MTQyNjIwMDg2NjY5OTJdLCBbMTY2MzczMDI5My41NDAyODMyLCA2MjM3LCAxLjI3OTgzOTI3NzI2NzQ1Nl0sIFsxNjYzNzMwMjkzLjYyNzMzNDQsIDYyNDYsIDEuMjc3Nzg2MTM1NjczNTIzXSwgWzE2NjM3MzAyOTMuNzE2NzYwMiwgNjI1NSwgMS4yNzQxODAwNTQ2NjQ2MTE4XSwgWzE2NjM3MzAyOTMuODAxMjI3MywgNjI2NCwgMS4yNzc5MzA3MzY1NDE3NDhdLCBbMTY2MzczMDI5My44OTMyNzEsIDYyNzMsIDEuMjg2MDExMjE5MDI0NjU4Ml0sIFsxNjYzNzMwMjkzLjk3OTEwNzksIDYyODIsIDEuMjc3OTQwNzUwMTIyMDcwM10sIFsxNjYzNzMwMjk0LjE1MzgzNDgsIDYzMDAsIDEuMjc5MjkxNjI5NzkxMjU5OF0sIFsxNjYzNzMwMjk0LjQzMTY0MDksIDYzMjcsIDEuMjcwMDY1MTg4NDA3ODk4XSwgWzE2NjM3MzAyOTQuNTI5MjgsIDYzMzYsIDEuMjk2OTI3MDk0NDU5NTMzN10sIFsxNjYzNzMwMjk0LjcwMjIxNCwgNjM1NCwgMS4yOTc4MTI4MTk0ODA4OTZdLCBbMTY2MzczMDI5NS4wNDUzNDQ0LCA2MzkwLCAxLjI2NjgwMjMxMDk0MzYwMzVdLCBbMTY2MzczMDI5NS4xMzMzODcsIDYzOTksIDEuMjYwMDY0NDgyNjg4OTAzOF0sIFsxNjYzNzMwMjk1LjMwNTE2OCwgNjQxNywgMS4yODU5NjYyNzcxMjI0OTc2XSwgWzE2NjM3MzAyOTUuNTczNTc0NSwgNjQ0NCwgMS4yOTI1MTE4MjA3OTMxNTE5XSwgWzE2NjM3MzAyOTUuNzQ2MTg1NSwgNjQ2MiwgMS4yNjI4MjAyNDM4MzU0NDkyXSwgWzE2NjM3MzAyOTUuOTE4NTQ2MiwgNjQ4MCwgMS4zMDIwODU4NzY0NjQ4NDM4XSwgWzE2NjM3MzAyOTYuMDEzNzYxLCA2NDg5LCAxLjM0MTIwNTEyMDA4NjY3XSwgWzE2NjM3MzAyOTYuMTAxNjcxNywgNjQ5OCwgMS4yODMwMTAzNjM1Nzg3OTY0XSwgWzE2NjM3MzAyOTYuMjcxNDI3LCA2NTE2LCAxLjI1MDU1MzM2OTUyMjA5NDddLCBbMTY2MzczMDI5Ni40NTUzNiwgNjUzNCwgMS4yOTQ5OTE0OTMyMjUwOTc3XSwgWzE2NjM3MzAyOTYuNTU4MTk0MiwgNjU0MywgMS4yNDEwNTc2MzQzNTM2Mzc3XSwgWzE2NjM3MzAyOTYuNjUwOTY2NiwgNjU1MiwgMS4yNzY5NDgwOTQzNjc5ODFdLCBbMTY2MzczMDI5Ni43NTY3MTY1LCA2NTYxLCAxLjI1MjE0MDQwMjc5Mzg4NDNdLCBbMTY2MzczMDI5Ni44ODQwNzY0LCA2NTcwLCAxLjI0OTcxNzU5MzE5MzA1NDJdLCBbMTY2MzczMDI5Ny4xMDY0ODk3LCA2NTg4LCAxLjI2MTA5ODAyNzIyOTMwOV0sIFsxNjYzNzMwMjk3LjIxOTQzMjYsIDY1OTcsIDEuMjkyNzU4NDY0ODEzMjMyNF0sIFsxNjYzNzMwMjk3LjMzNDYzNSwgNjYwNiwgMS4yNTc2MzA4MjUwNDI3MjQ2XSwgWzE2NjM3MzAyOTcuOTI0NTQwOCwgNjY1MSwgMS4yNDg3Mjk4MjUwMTk4MzY0XSwgWzE2NjM3MzAyOTguMDEzMjI4LCA2NjYwLCAxLjI4MzcwNDg3Njg5OTcxOTJdLCBbMTY2MzczMDI5OC4xMTUzMjU1LCA2NjY5LCAxLjM0ODI0Nzg4NTcwNDA0MDVdLCBbMTY2MzczMDI5OC4yOTM4MDU0LCA2Njg3LCAxLjMwNDE2NjY3NDYxMzk1MjZdLCBbMTY2MzczMDI5OC4zODM5NTI0LCA2Njk2LCAxLjMyNDU4Nzk0MTE2OTczODhdLCBbMTY2MzczMDI5OC41MDg3MDI4LCA2NzA1LCAxLjI0MTk1NTA0MTg4NTM3Nl0sIFsxNjYzNzMwMjk4LjYxMTc1MTMsIDY3MTQsIDEuMjU5NDY4NzkzODY5MDE4Nl0sIFsxNjYzNzMwMjk5LjQ4MDQyMjMsIDY3NzcsIDEuMjcxMjAyMzI1ODIwOTIyOV0sIFsxNjYzNzMwMjk5Ljc2MDc4NTgsIDY4MDQsIDEuMjU3MTU5MzUyMzAyNTUxM10sIFsxNjYzNzMwMjk5Ljg0OTg5NDMsIDY4MTMsIDEuMjc5MDY4MjMxNTgyNjQxNl0sIFsxNjYzNzMwMzAwLjAyNTcyMDEsIDY4MzEsIDEuMjYxODE5MzYyNjQwMzgwOV0sIFsxNjYzNzMwMzAwLjQ2MTg4ODYsIDY4NzYsIDEuMjcyMzMxMzU3MDAyMjU4M10sIFsxNjYzNzMwMzAwLjU0Njg1NjQsIDY4ODUsIDEuMjQwOTY0NjUxMTA3Nzg4XSwgWzE2NjM3MzAzMDAuNjMyMDM5OCwgNjg5NCwgMS4yNjYwMjI0NDM3NzEzNjIzXSwgWzE2NjM3MzAzMDAuODA4MjIyMywgNjkxMiwgMS4yNTk3OTE3MzE4MzQ0MTE2XSwgWzE2NjM3MzAzMDAuODk1ODAyMywgNjkyMSwgMS4yMjk0NTk4ODE3ODI1MzE3XSwgWzE2NjM3MzAzMDAuOTg4NzA0LCA2OTMwLCAxLjMxMTU5NTIwMTQ5MjMwOTZdLCBbMTY2MzczMDMwMS4xNzc3NzA2LCA2OTQ4LCAxLjI3MTE1NzYyMjMzNzM0MTNdLCBbMTY2MzczMDMwMS4yODU3NDgyLCA2OTU3LCAxLjI0Nzc2MjY4MDA1MzcxMV0sIFsxNjYzNzMwMzAxLjM3Mjc0NjIsIDY5NjYsIDEuMjU0NDA5MDc0NzgzMzI1Ml0sIFsxNjYzNzMwMzAxLjU1MTgxODEsIDY5ODQsIDEuMzI0MjU5NTE5NTc3MDI2NF0sIFsxNjYzNzMwMzAxLjYzNzQ1MTQsIDY5OTMsIDEuMjc3NjcwOTc5NDk5ODE3XSwgWzE2NjM3MzAzMDEuODE3MDY0OCwgNzAxMSwgMS4yMDEzODI3NTYyMzMyMTUzXSwgWzE2NjM3MzAzMDEuOTAxNjQ2NiwgNzAyMCwgMS4yMzA4NTMxOTk5NTg4MDEzXSwgWzE2NjM3MzAzMDEuOTg3MjExNywgNzAyOSwgMS4yMzkyOTk1MzU3NTEzNDI4XSwgWzE2NjM3MzAzMDIuMDczMjQxNywgNzAzOCwgMS4yMzYxODQ3MTYyMjQ2NzA0XSwgWzE2NjM3MzAzMDIuMTg3OTA5NCwgNzA0NywgMS4yMzIyMjYwMTQxMzcyNjhdLCBbMTY2MzczMDMwMi4zMDAxNjA0LCA3MDU2LCAxLjI1ODk2NTM3MzAzOTI0NTZdLCBbMTY2MzczMDMwMi43MTc0MTk5LCA3MDgzLCAxLjI1NDE5NTMzMjUyNzE2MDZdLCBbMTY2MzczMDMwMi45MzE1MTI0LCA3MTAxLCAxLjIyNTQwNjA1MDY4MjA2NzldLCBbMTY2MzczMDMwMy4wNDc3NTcxLCA3MTEwLCAxLjI0NjIwNTMyOTg5NTAxOTVdLCBbMTY2MzczMDMwMy4zMjczMjk2LCA3MTI4LCAxLjIzMzcyNzgxMjc2NzAyODhdLCBbMTY2MzczMDMwMy41MzUyNDA0LCA3MTQ2LCAxLjI0MTI4MDQzNjUxNTgwOF0sIFsxNjYzNzMwMzAzLjcwMDA4MSwgNzE2NCwgMS4yMzIwNzI3MTA5OTA5MDU4XSwgWzE2NjM3MzAzMDMuNzg2NTcsIDcxNzMsIDEuMjUwOTM4NDE1NTI3MzQzOF0sIFsxNjYzNzMwMzAzLjg3MzU2NzgsIDcxODIsIDEuMjQyODgzMjA1NDEzODE4NF0sIFsxNjYzNzMwMzA0LjA2NzQyOTMsIDcyMDAsIDEuMjI4Mjg1OTA4Njk5MDM1Nl0sIFsxNjYzNzMwMzA0LjE0OTY2MTgsIDcyMDksIDEuMjMyNTEwNjg1OTIwNzE1M10sIFsxNjYzNzMwMzA0LjU0NTM2NjUsIDcyNDUsIDEuMjg5OTg2NzI5NjIxODg3Ml0sIFsxNjYzNzMwMzA0LjY1NzIyODUsIDcyNTQsIDEuMjE3NDY2OTUwNDE2NTY1XSwgWzE2NjM3MzAzMDQuNzU0Mjk5NiwgNzI2MywgMS4yNjE4MjU0NDIzMTQxNDhdLCBbMTY2MzczMDMwNC44Mzk3OTczLCA3MjcyLCAxLjI4MDQzMTM4OTgwODY1NDhdLCBbMTY2MzczMDMwNS4xMDY3MTIzLCA3Mjk5LCAxLjIwMTA5NDUwODE3MTA4MTVdLCBbMTY2MzczMDMwNS4zNTM3MzUyLCA3MzI2LCAxLjIyODg0NDE2NTgwMjAwMl0sIFsxNjYzNzMwMzA1LjgyNzQ1MTIsIDczNzEsIDEuMjQ1NDUwNzM1MDkyMTYzXSwgWzE2NjM3MzAzMDUuOTA3MTk0NCwgNzM4MCwgMS4yMDI5NDU3MDkyMjg1MTU2XSwgWzE2NjM3MzAzMDYuMTcwMjQ0NSwgNzM5OCwgMS4yMTc4MTg0OTg2MTE0NTAyXSwgWzE2NjM3MzAzMDYuMjg1NTIsIDc0MDcsIDEuMjI4MTAyODAzMjMwMjg1Nl0sIFsxNjYzNzMwMzA2LjM5NjUxNDQsIDc0MTYsIDEuMjE2MTkyMTI2Mjc0MTA4OV0sIFsxNjYzNzMwMzA2LjU4MDEwNzUsIDc0MzQsIDEuMjAxNTg2ODQyNTM2OTI2M10sIFsxNjYzNzMwMzA2LjY2OTMzNzUsIDc0NDMsIDEuMjk1MjIxNjg2MzYzMjIwMl0sIFsxNjYzNzMwMzA2Ljc3MDcyMywgNzQ1MiwgMS4yODY2MjM1OTcxNDUwODA2XSwgWzE2NjM3MzAzMDYuODYxNTgyOCwgNzQ2MSwgMS4yMzIyMzI4MDkwNjY3NzI1XSwgWzE2NjM3MzAzMDcuMjU5NDg2MiwgNzQ5NywgMS4yMzA4MDc1NDI4MDA5MDMzXSwgWzE2NjM3MzAzMDcuMzQzOTU2NSwgNzUwNiwgMS4yMDQyOTQ2ODE1NDkwNzIzXSwgWzE2NjM3MzAzMDcuNTEyMDQwNiwgNzUyNCwgMS4yNDk0ODQ3Nzc0NTA1NjE1XSwgWzE2NjM3MzAzMDcuNjA2ODk1MiwgNzUzMywgMS4yMDU0MzUzOTUyNDA3ODM3XSwgWzE2NjM3MzAzMDcuODkwNTMzNCwgNzU0MiwgMS4yMjM2OTkyMTIwNzQyNzk4XSwgWzE2NjM3MzAzMDguMDU1NTU1NiwgNzU2MCwgMS4yMjExNTMwMjA4NTg3NjQ2XSwgWzE2NjM3MzAzMDguMTM5ODU2MywgNzU2OSwgMS4yNTc1NDcxNDAxMjE0Nl0sIFsxNjYzNzMwMzA4LjMwNTk0NjQsIDc1ODcsIDEuMjMxNTk2NDY5ODc5MTUwNF0sIFsxNjYzNzMwMzA4LjM4ODI1NCwgNzU5NiwgMS4yMzM1NTc0NjI2OTIyNjA3XSwgWzE2NjM3MzAzMDguNTU1NzMyLCA3NjE0LCAxLjIxODIxNDk4ODcwODQ5Nl0sIFsxNjYzNzMwMzA4Ljk2Mzk3ODgsIDc2NTksIDEuMjM1MzIyOTUyMjcwNTA3OF0sIFsxNjYzNzMwMzA5LjA1OTQ2MiwgNzY2OCwgMS4xOTk1MzE0MzU5NjY0OTE3XSwgWzE2NjM3MzAzMDkuMzIxMzY4LCA3Njk1LCAxLjE3NzUzOTU4NzAyMDg3NF0sIFsxNjYzNzMwMzA5LjQ4Nzc5MzIsIDc3MTMsIDEuMTk2NzkyMzY0MTIwNDgzNF0sIFsxNjYzNzMwMzA5LjU3MTI3MiwgNzcyMiwgMS4yMjY4NjEzNTc2ODg5MDM4XSwgWzE2NjM3MzAzMDkuODM2NzI1MiwgNzc0OSwgMS4yMzU0MTI4MzYwNzQ4MjldLCBbMTY2MzczMDMwOS45MzUwMjE0LCA3NzU4LCAxLjIzOTk2MTI2NjUxNzYzOTJdLCBbMTY2MzczMDMxMC4wMjU2NTgxLCA3NzY3LCAxLjMxNTM3MzY1OTEzMzkxMTFdLCBbMTY2MzczMDMxMC4zNTMzMTQ2LCA3Nzk0LCAxLjIzNjUyODk5MjY1Mjg5M10sIFsxNjYzNzMwMzEwLjQ5MjYwMTksIDc4MDMsIDEuMjM5ODEzNDQ2OTk4NTk2Ml0sIFsxNjYzNzMwMzEwLjk1MTUxNCwgNzgzOSwgMS4yMzA0NzcwOTQ2NTAyNjg2XSwgWzE2NjM3MzAzMTEuMDU3NDE1NywgNzg0OCwgMS4yMTc2NTk4MzEwNDcwNThdLCBbMTY2MzczMDMxMi4xMzM4MTksIDc5MzgsIDEuMjE3NDY4MjYxNzE4NzVdLCBbMTY2MzczMDMxMi4zMDU4NDksIDc5NTYsIDEuMjM3NTA4MDU4NTQ3OTczNl0sIFsxNjYzNzMwMzEyLjM5MzMzNTYsIDc5NjUsIDEuMjQzMTE2NzM2NDEyMDQ4M10sIFsxNjYzNzMwMzEyLjQ4MzIzNjYsIDc5NzQsIDEuMjkyNTQ2MTUzMDY4NTQyNV0sIFsxNjYzNzMwMzEyLjU3MDA0NywgNzk4MywgMS4yNjUyOTU4NjMxNTE1NTAzXSwgWzE2NjM3MzAzMTIuNzM4MzAyLCA4MDAxLCAxLjIwMTIxMzgzNjY2OTkyMTldLCBbMTY2MzczMDMxMi45NDk5OTI0LCA4MDE5LCAxLjIzMTI0NTM5ODUyMTQyMzNdLCBbMTY2MzczMDMxMy4xOTY0MjYyLCA4MDM3LCAxLjE5Nzg3NzI4Nzg2NDY4NV0sIFsxNjYzNzMwMzEzLjQ4MTU2NywgODA2NCwgMS4xNzQ2MzcwNzkyMzg4OTE2XSwgWzE2NjM3MzAzMTMuNjgyMTE3NSwgODA4MiwgMS4yNTEwODA3NTE0MTkwNjc0XSwgWzE2NjM3MzAzMTMuNzczMDEwMywgODA5MSwgMS4yODY3MTg2MDY5NDg4NTI1XSwgWzE2NjM3MzAzMTQuMDU1MjQyLCA4MTE4LCAxLjE4MzU5MTQ4NTAyMzQ5ODVdLCBbMTY2MzczMDMxNC4xODM5OTI5LCA4MTI3LCAxLjI0NTQ5MTE0NzA0MTMyMDhdLCBbMTY2MzczMDMxNC4zODc0MjYxLCA4MTQ1LCAxLjE4NTY0Njg5MTU5MzkzM10sIFsxNjYzNzMwMzE0LjYwMDU4OTMsIDgxNjMsIDEuMjM4MjM1NDczNjMyODEyNV0sIFsxNjYzNzMwMzE0LjY4NDc5NTEsIDgxNzIsIDEuMjA0NTIyODQ4MTI5MjcyNV0sIFsxNjYzNzMwMzE0Ljc3MTUwMDYsIDgxODEsIDEuMjE2NTQwNDU1ODE4MTc2M10sIFsxNjYzNzMwMzE0Ljk0MjA1MzYsIDgxOTksIDEuMTkyODg5NjkwMzk5MTddLCBbMTY2MzczMDMxNS4wNDA0MTEyLCA4MjA4LCAxLjE4NDg4NDY2NzM5NjU0NTRdLCBbMTY2MzczMDMxNS4yMjM4OTU4LCA4MjI2LCAxLjIwNTA5NTUyOTU1NjI3NDRdLCBbMTY2MzczMDMxNS4zMTQ5NTU3LCA4MjM1LCAxLjE4OTM1MzIyNzYxNTM1NjRdLCBbMTY2MzczMDMxNS41MjcwNzg5LCA4MjUzLCAxLjE4NDU2MzI3OTE1MTkxNjVdLCBbMTY2MzczMDMxNS43MDc5NDYsIDgyNzEsIDEuMTY1NDgzOTUxNTY4NjAzNV0sIFsxNjYzNzMwMzE1Ljg1NDA3MjMsIDgyODAsIDEuMjE3NjU0ODI0MjU2ODk3XSwgWzE2NjM3MzAzMTUuOTU1ODA2MywgODI4OSwgMS4xODg1MDI5MDc3NTI5OTA3XSwgWzE2NjM3MzAzMTYuMDQzMjA0MywgODI5OCwgMS4xNjk1MTE0Mzc0MTYwNzY3XSwgWzE2NjM3MzAzMTYuNDA4ODQ5LCA4MzE2LCAxLjIzODU2NjUxNzgyOTg5NV0sIFsxNjYzNzMwMzE2Ljc1NjQ1MTEsIDgzNTIsIDEuMjM4NjQzMTY5NDAzMDc2Ml0sIFsxNjYzNzMwMzE2LjgzOTIzMzQsIDgzNjEsIDEuMjIxODUyNDIxNzYwNTU5XSwgWzE2NjM3MzAzMTYuOTIxOTEzOSwgODM3MCwgMS4xNzQ1MDIzNzI3NDE2OTkyXSwgWzE2NjM3MzAzMTcuMDAyMjE3OCwgODM3OSwgMS4xODcwNjg5MzkyMDg5ODQ0XSwgWzE2NjM3MzAzMTcuMDg0NzAxMywgODM4OCwgMS4xNzI3ODY4MzE4NTU3NzRdLCBbMTY2MzczMDMxNy4xNjQwMzksIDgzOTcsIDEuMTc3OTYwMTU3Mzk0NDA5Ml0sIFsxNjYzNzMwMzE3LjI1MDY5ODgsIDg0MDYsIDEuMTg4NDM4MDU3ODk5NDc1XSwgWzE2NjM3MzAzMTcuNDEyNjc4MiwgODQyNCwgMS4xOTk4MzQyMjc1NjE5NTA3XSwgWzE2NjM3MzAzMTcuOTE4NDUyLCA4NDYwLCAxLjE4MTY3NDU5OTY0NzUyMl0sIFsxNjYzNzMwMzE4LjExMjM5MTIsIDg0NzgsIDEuMjIyNDk4ODkzNzM3NzkzXSwgWzE2NjM3MzAzMTguMjE4MTYwNCwgODQ4NywgMS4xNDk2OTY4MjY5MzQ4MTQ1XSwgWzE2NjM3MzAzMTguNDczODIzOCwgODUxNCwgMS4yNjU0MTIwOTIyMDg4NjIzXSwgWzE2NjM3MzAzMTguODUwNDczOSwgODU1MCwgMS4xODE1OTY3NTU5ODE0NDUzXSwgWzE2NjM3MzAzMTguOTM4MDk5NCwgODU1OSwgMS4xODA5NTQwOTg3MDE0NzddLCBbMTY2MzczMDMxOS4xMDg4NDQsIDg1NzcsIDEuMTk2ODI3MjkyNDQyMzIxOF0sIFsxNjYzNzMwMzE5LjI5MDkwOCwgODU5NSwgMS4xODAxNTYzNTAxMzU4MDMyXSwgWzE2NjM3MzAzMTkuMzc2OTg5LCA4NjA0LCAxLjE5NDk0NTQ1NDU5NzQ3MzFdLCBbMTY2MzczMDMxOS40Njc2MTQsIDg2MTMsIDEuMTk4NTY4MzQ0MTE2MjExXSwgWzE2NjM3MzAzMTkuNzM2MDAyNCwgODY0MCwgMS4xNjQ0OTM2ODAwMDAzMDUyXSwgWzE2NjM3MzAzMTkuODI3NDg0OCwgODY0OSwgMS4xODIwMzE1MTIyNjA0MzddLCBbMTY2MzczMDMxOS45MTY5MjkyLCA4NjU4LCAxLjE1NjkwNDEwMTM3MTc2NTFdLCBbMTY2MzczMDMyMC4wMDYyMDY1LCA4NjY3LCAxLjE3OTU4NDYyMjM4MzExNzddLCBbMTY2MzczMDMyMC4wOTk2NzksIDg2NzYsIDEuMjA3MjY4MjM4MDY3NjI3XSwgWzE2NjM3MzAzMjAuMTg0NTY4NCwgODY4NSwgMS4xNzcyODYwMjg4NjE5OTk1XSwgWzE2NjM3MzAzMjAuMjc2OTAwMywgODY5NCwgMS4xNjEzNDc3NDY4NDkwNl0sIFsxNjYzNzMwMzIwLjQ0NzIwOTEsIDg3MTIsIDEuMTczODkwMzUyMjQ5MTQ1NV0sIFsxNjYzNzMwMzIwLjU0MzAzMSwgODcyMSwgMS4xOTQ5MTIwNzU5OTYzOTldLCBbMTY2MzczMDMyMC44MDM5OTMsIDg3NDgsIDEuMTg5OTg1Mzk0NDc3ODQ0Ml0sIFsxNjYzNzMwMzIxLjI2MjA4MSwgODc5MywgMS4xOTUyOTQ4NTcwMjUxNDY1XSwgWzE2NjM3MzAzMjEuNDM2OTM2LCA4ODExLCAxLjE2Njg3NzAzMTMyNjI5NF0sIFsxNjYzNzMwMzIxLjUyNjk4NTYsIDg4MjAsIDEuMTU2NTY5NjAwMTA1Mjg1Nl0sIFsxNjYzNzMwMzIxLjY5NDYwODQsIDg4MzgsIDEuMTg5NzAxNDM3OTUwMTM0M10sIFsxNjYzNzMwMzIxLjc3NjgzMjgsIDg4NDcsIDEuMjM5OTY2NTExNzI2Mzc5NF0sIFsxNjYzNzMwMzIxLjg2OTY0MDYsIDg4NTYsIDEuMTk4MTI3MDMxMzI2Mjk0XSwgWzE2NjM3MzAzMjIuMTM2MTc5MiwgODg4MywgMS4yMDMzMTY0NTAxMTkwMTg2XSwgWzE2NjM3MzAzMjIuMzA1NjE4MywgODkwMSwgMS4xOTM2ODg1MTE4NDg0NDk3XSwgWzE2NjM3MzAzMjIuMzk2MzI1MywgODkxMCwgMS4xOTM0NTI0Nzc0NTUxMzkyXSwgWzE2NjM3MzAzMjIuNDg0OTE5MywgODkxOSwgMS4xNzYzMzMwNjk4MDEzMzA2XSwgWzE2NjM3MzAzMjIuNjU0NjE3NSwgODkzNywgMS4yMDE1MTgxNzc5ODYxNDVdLCBbMTY2MzczMDMyMi44MjA3NDQ4LCA4OTU1LCAxLjE1MjYzNDE0MzgyOTM0NTddLCBbMTY2MzczMDMyMi45MTQ5Njc1LCA4OTY0LCAxLjE2Njg0MjEwMzAwNDQ1NTZdLCBbMTY2MzczMDMyMi45OTc5NDIyLCA4OTczLCAxLjE1NDY0MTUwOTA1NjA5MTNdLCBbMTY2MzczMDMyMy4xNjE2OTUsIDg5OTEsIDEuMjk4MzI2NzMwNzI4MTQ5NF0sIFsxNjYzNzMwMzIzLjI1MjE3MzQsIDkwMDAsIDEuMTg0NTg3OTU1NDc0ODUzNV0sIFsxNjYzNzMwMzIzLjQyMTg3ODYsIDkwMTgsIDEuMTc4MzIwMDUwMjM5NTYzXSwgWzE2NjM3MzAzMjMuNTExODUxLCA5MDI3LCAxLjIyNDYyNzI1NjM5MzQzMjZdLCBbMTY2MzczMDMyMy41OTQ4OCwgOTAzNiwgMS4xOTAyOTg5MTQ5MDkzNjI4XSwgWzE2NjM3MzAzMjMuNjgwNjczNCwgOTA0NSwgMS4xODA5MzI3NjAyMzg2NDc1XSwgWzE2NjM3MzAzMjMuNzY2OTU0NywgOTA1NCwgMS4xNzY5MTU4ODQwMTc5NDQzXSwgWzE2NjM3MzAzMjMuODUzMDA0NywgOTA2MywgMS4yMDE4MjY1NzI0MTgyMTNdLCBbMTY2MzczMDMyNC40OTg3NDIzLCA5MTA4LCAxLjE3MDUzOTM3OTExOTg3M10sIFsxNjYzNzMwMzI0LjY2ODA3OTEsIDkxMjYsIDEuMjI1MjU4OTQ2NDE4NzYyMl0sIFsxNjYzNzMwMzI0Ljg5NDM3MSwgOTE0NCwgMS4yMjE5ODY0MTMwMDIwMTQyXSwgWzE2NjM3MzAzMjQuOTk4NzQyLCA5MTUzLCAxLjIzNTg4NDQyODAyNDI5Ml0sIFsxNjYzNzMwMzI1LjExMDI3MDMsIDkxNjIsIDEuMjEyOTQ4MzIyMjk2MTQyNl0sIFsxNjYzNzMwMzI1LjU2OTQyOTksIDkyMDcsIDEuMTcxNDE3NzEzMTY1MjgzMl0sIFsxNjYzNzMwMzI1Ljk4MTU0OTMsIDkyNDMsIDEuMTg2MjQyNTgwNDEzODE4NF0sIFsxNjYzNzMwMzI2LjIyNDk2NTgsIDkyNjEsIDEuMTczMTE3MTYwNzk3MTE5MV0sIFsxNjYzNzMwMzI2LjMyMTA5LCA5MjcwLCAxLjIxMzE0ODcxMzExMTg3NzRdLCBbMTY2MzczMDMyNi45MDE0NDc4LCA5MzI0LCAxLjE1NjkyNDI0Nzc0MTY5OTJdLCBbMTY2MzczMDMyNi45ODg2NywgOTMzMywgMS4xOTkwODUxMTYzODY0MTM2XSwgWzE2NjM3MzAzMjcuMDc4NjA4MywgOTM0MiwgMS4yNzE3MTg4NTk2NzI1NDY0XSwgWzE2NjM3MzAzMjcuMTgwMDQ1NiwgOTM1MSwgMS4xNjc2OTMyNTczMzE4NDgxXSwgWzE2NjM3MzAzMjcuMjY0NTA5LCA5MzYwLCAxLjIxMjQ4Njk4MjM0NTU4MV0sIFsxNjYzNzMwMzI3LjYxNTY2ODMsIDkzOTYsIDEuMTQyOTg3NzI4MTE4ODk2NV0sIFsxNjYzNzMwMzI3Ljc4ODU2OCwgOTQxNCwgMS4xNDIzNjc0ODIxODUzNjM4XSwgWzE2NjM3MzAzMjcuODc1NjU5MiwgOTQyMywgMS4xOTAwNTY0NDMyMTQ0MTY1XSwgWzE2NjM3MzAzMjguMTQyOTM5OCwgOTQ1MCwgMS4yMTY2MTU0Mzg0NjEzMDM3XSwgWzE2NjM3MzAzMjguNDM5ODg4NSwgOTQ3NywgMS4xODUzNjkwMTQ3Mzk5OTAyXSwgWzE2NjM3MzAzMjguNTc0MTE4NiwgOTQ4NiwgMS4xODQ1MDUxMDUwMTg2MTU3XSwgWzE2NjM3MzAzMjguODQ3Njg0OSwgOTUxMywgMS4xOTU0Mjk1NjM1MjIzMzg5XSwgWzE2NjM3MzAzMjkuMDUwNjI0NCwgOTUzMSwgMS4xNzg3MTk5OTc0MDYwMDU5XSwgWzE2NjM3MzAzMjkuMTM4ODMyMywgOTU0MCwgMS4xNzY1NDgwMDQxNTAzOTA2XSwgWzE2NjM3MzAzMjkuMjI4MjUzOCwgOTU0OSwgMS4xNzQ4ODk4MDI5MzI3MzkzXSwgWzE2NjM3MzAzMjkuNDE4MTc4OCwgOTU2NywgMS4xNjUzNDkwMDY2NTI4MzJdLCBbMTY2MzczMDMyOS42Nzc0MjE2LCA5NTk0LCAxLjE2MDMyMzczOTA1MTgxODhdLCBbMTY2MzczMDMyOS43NjU0MzksIDk2MDMsIDEuMTUwNDMzMDYzNTA3MDhdLCBbMTY2MzczMDMyOS44NTMyNDI2LCA5NjEyLCAxLjE2MTE1NDYyNzc5OTk4NzhdLCBbMTY2MzczMDMzMC4wMzIzNjk5LCA5NjMwLCAxLjE4NjcyNDkwMTE5OTM0MDhdLCBbMTY2MzczMDMzMC4xMjA3NTAyLCA5NjM5LCAxLjE2MDUxODc2NTQ0OTUyNF0sIFsxNjYzNzMwMzMwLjIxMzkwMiwgOTY0OCwgMS4xNjM2MjM0NTIxODY1ODQ1XSwgWzE2NjM3MzAzMzAuMzAyMjU5NCwgOTY1NywgMS4xNjEwNDEzNzg5NzQ5MTQ2XSwgWzE2NjM3MzAzMzAuMzkxNzk5LCA5NjY2LCAxLjEzNTY5MjM1ODAxNjk2NzhdLCBbMTY2MzczMDMzMC40ODA4NzI2LCA5Njc1LCAxLjE2ODI3MTc4MDAxNDAzOF0sIFsxNjYzNzMwMzMwLjgwMzg1NjEsIDk3MDIsIDEuMjI1OTIxODY5Mjc3OTU0XSwgWzE2NjM3MzAzMzAuODg5NTAwNiwgOTcxMSwgMS4yMzg4Njg4MzI1ODgxOTU4XSwgWzE2NjM3MzAzMzEuMDYxOTcwNywgOTcyOSwgMS4yMjkxNzYwNDQ0NjQxMTEzXSwgWzE2NjM3MzAzMzEuMTU2NzU1NywgOTczOCwgMS4xODA1Nzk0MjM5MDQ0MTldLCBbMTY2MzczMDMzMS4yNDQxMzcsIDk3NDcsIDEuMTc0NTI1ODU2OTcxNzQwN10sIFsxNjYzNzMwMzMxLjU3ODYzLCA5Nzc0LCAxLjE1MjA5NzU4MjgxNzA3NzZdLCBbMTY2MzczMDMzMS43MjI4NzEsIDk3ODMsIDEuMTUzNDM2MDY0NzIwMTUzOF0sIFsxNjYzNzMwMzMyLjA3NTkzMywgOTc5MiwgMS4xOTQwMjI2NTU0ODcwNjA1XSwgWzE2NjM3MzAzMzIuNDQyMTIzNCwgOTgyOCwgMS4yMDk3MDc2MTc3NTk3MDQ2XSwgWzE2NjM3MzAzMzIuNTMyMzMwMywgOTgzNywgMS4xODQ1MDQ2MjgxODE0NTc1XSwgWzE2NjM3MzAzMzIuNjM2MTA2MywgOTg0NiwgMS4xNjMwOTM5MjQ1MjI0XSwgWzE2NjM3MzAzMzMuMDk3MDMzNSwgOTg5MSwgMS4yMDUxNTYyMDcwODQ2NTU4XSwgWzE2NjM3MzAzMzMuMzQ3ODI4NiwgOTkwOSwgMS4xNDYzMDU3OTk0ODQyNTNdLCBbMTY2MzczMDMzMy41NDQ1NDg3LCA5OTI3LCAxLjEyNzY4ODg4NDczNTEwNzRdLCBbMTY2MzczMDMzMy42MzUxNDc4LCA5OTM2LCAxLjE2NzIwOTM4NjgyNTU2MTVdLCBbMTY2MzczMDMzMy43Mjg5NDgsIDk5NDUsIDEuMTg2OTY3NDkyMTAzNTc2N10sIFsxNjYzNzMwMzM0LjAwODc0MjgsIDk5NzIsIDEuMTk3MzU1MTUxMTc2NDUyNl0sIFsxNjYzNzMwMzM0LjEwMjgwNDQsIDk5ODEsIDEuMTQwNDU4MjI2MjAzOTE4NV0sIFsxNjYzNzMwMzM0LjIxMTk3NjMsIDk5OTAsIDEuMTUzODg5MTc5MjI5NzM2M10sIFsxNjYzNzMwMzM0LjMwMzQ1NTgsIDk5OTksIDEuMTM5OTk1NDU1NzQxODgyM10sIFsxNjYzNzMwMzM0LjM5MjMzODgsIDEwMDA4LCAxLjE4Njk4ODQ3MjkzODUzNzZdLCBbMTY2MzczMDMzNC40OTE3MDI2LCAxMDAxNywgMS4yMjkzNDkxMzYzNTI1MzldLCBbMTY2MzczMDMzNC41ODkwMzcsIDEwMDI2LCAxLjE1MTAzOTQ4MTE2MzAyNV0sIFsxNjYzNzMwMzM0LjY3ODgwNiwgMTAwMzUsIDEuMTUyMjIyMDM3MzE1MzY4N10sIFsxNjYzNzMwMzM0Ljg2NjE5NDcsIDEwMDUzLCAxLjE5NDM0ODkzMTMxMjU2MV0sIFsxNjYzNzMwMzM1LjEzOTM5ODYsIDEwMDgwLCAxLjIzMDg2ODEwMTExOTk5NTFdLCBbMTY2MzczMDMzNS4zMTUxMTI0LCAxMDA5OCwgMS4xOTg5MzI3NjY5MTQzNjc3XSwgWzE2NjM3MzAzMzUuNDAzMzc1OSwgMTAxMDcsIDEuMTc1NzY0Njc5OTA4NzUyNF0sIFsxNjYzNzMwMzM1LjY3MDI5NTcsIDEwMTM0LCAxLjE3NDU5NDI4MzEwMzk0MjldLCBbMTY2MzczMDMzNS43NTk4NDEyLCAxMDE0MywgMS4xNjI4MDI2OTYyMjgwMjczXSwgWzE2NjM3MzAzMzUuOTM0OTEyLCAxMDE2MSwgMS4yMDAyNDI5OTYyMTU4MjAzXSwgWzE2NjM3MzAzMzYuMDIzMjIxNSwgMTAxNzAsIDEuMTkzOTU2OTcxMTY4NTE4XSwgWzE2NjM3MzAzMzYuMTEzNDA2MiwgMTAxNzksIDEuMjAzNzA3MjE4MTcwMTY2XSwgWzE2NjM3MzAzMzYuMjAwNDk0LCAxMDE4OCwgMS4yMTUyNDE2NzA2MDg1MjA1XSwgWzE2NjM3MzAzMzYuMjkyNTYwNiwgMTAxOTcsIDEuMTUyMDkyMjE4Mzk5MDQ3OV0sIFsxNjYzNzMwMzM2LjQ2NzMwOCwgMTAyMTUsIDEuMTc4Nzc4NDA5OTU3ODg1N10sIFsxNjYzNzMwMzM2LjU1NjUzODMsIDEwMjI0LCAxLjE2MzEzMDQwMjU2NTAwMjRdLCBbMTY2MzczMDMzNi42NTM5NjUsIDEwMjMzLCAxLjE2NTI4MjAxMTAzMjEwNDVdLCBbMTY2MzczMDMzNi43ODU0MzMsIDEwMjQyLCAxLjE2MzcyNzA0NTA1OTIwNF0sIFsxNjYzNzMwMzM3LjA1MDMwMTYsIDEwMjYwLCAxLjE3NTIyNzg4MDQ3NzkwNTNdLCBbMTY2MzczMDMzNy4zNTA3NTM1LCAxMDI4NywgMS4xNjMxNDYyNTc0MDA1MTI3XSwgWzE2NjM3MzAzMzcuNjE4NTM5NiwgMTAzMTQsIDEuMTQ2MTUzMzMwODAyOTE3NV0sIFsxNjYzNzMwMzM3LjcwNjkwMzIsIDEwMzIzLCAxLjE2MDM1Njg3OTIzNDMxNF0sIFsxNjYzNzMwMzM3Ljg4MzYwMDcsIDEwMzQxLCAxLjI0Mzc0NTQ0NjIwNTEzOTJdLCBbMTY2MzczMDMzNy45Njk0MDg4LCAxMDM1MCwgMS4zODg5MzQ3MzE0ODM0NTk1XSwgWzE2NjM3MzAzMzguMDUzMTgwNSwgMTAzNTksIDEuMjU2MDgxNDYxOTA2NDMzXSwgWzE2NjM3MzAzMzguMTcxMDI4OSwgMTAzNjgsIDEuMTU4NTYwMDM3NjEyOTE1XSwgWzE2NjM3MzAzMzguMjY3MjIxLCAxMDM3NywgMS4xNjMyNTE4NzY4MzEwNTQ3XSwgWzE2NjM3MzAzMzguMzU4OTQ5MiwgMTAzODYsIDEuMTc4NDkxMjM0Nzc5MzU4XSwgWzE2NjM3MzAzMzguNTQzMDIwMiwgMTA0MDQsIDEuMTU3MzIyMDQ5MTQwOTMwMl0sIFsxNjYzNzMwMzM4LjkwODUwMjYsIDEwNDQwLCAxLjE4MzYyNjE3NDkyNjc1NzhdLCBbMTY2MzczMDMzOS4wMDgxMDg2LCAxMDQ0OSwgMS4xNDMzNDYxOTA0NTI1NzU3XSwgWzE2NjM3MzAzMzkuMTgzODkzLCAxMDQ2NywgMS4xMjc1MDEzNjg1MjI2NDRdLCBbMTY2MzczMDMzOS4zNjEwNjg1LCAxMDQ4NSwgMS4xODk5NzcxNjkwMzY4NjUyXSwgWzE2NjM3MzAzMzkuNTQzMTYyMywgMTA1MDMsIDEuMTk3MzAzMjk1MTM1NDk4XSwgWzE2NjM3MzAzMzkuODM5Mzc0NSwgMTA1MTIsIDEuMjA3MTQzNzgzNTY5MzM2XSwgWzE2NjM3MzAzNDAuNDc2NzE1NiwgMTA1NjYsIDEuMTc1Nzg1MTgzOTA2NTU1Ml0sIFsxNjYzNzMwMzQwLjU2MTgwODgsIDEwNTc1LCAxLjE4MTQ0NDUyNTcxODY4OV0sIFsxNjYzNzMwMzQwLjc0MzU2NTgsIDEwNTkzLCAxLjE1MDk3NTEwODE0NjY2NzVdLCBbMTY2MzczMDM0MC44MzM3OTQ4LCAxMDYwMiwgMS4xNTI3OTM2NDU4NTg3NjQ2XSwgWzE2NjM3MzAzNDAuOTI2NDA1MiwgMTA2MTEsIDEuMTU2ODgwMDIxMDk1Mjc1OV0sIFsxNjYzNzMwMzQxLjMyOTY1NDIsIDEwNjQ3LCAxLjE3MzM4MTY4NjIxMDYzMjNdLCBbMTY2MzczMDM0MS41MzAzMjI4LCAxMDY2NSwgMS4yMDkyNjIxMzI2NDQ2NTMzXSwgWzE2NjM3MzAzNDEuNjk0NzQ5NCwgMTA2ODMsIDEuMTI5Mzg3NDk3OTAxOTE2NV0sIFsxNjYzNzMwMzQxLjg2NDY5NDYsIDEwNzAxLCAxLjE4MTc3ODU1MDE0ODAxMDNdLCBbMTY2MzczMDM0MS45NTI5NTc0LCAxMDcxMCwgMS4xNjIxNTEzMzY2Njk5MjE5XSwgWzE2NjM3MzAzNDIuMDQzNDk4LCAxMDcxOSwgMS4xODQ5MjM4ODcyNTI4MDc2XSwgWzE2NjM3MzAzNDIuMjk5OTg1MiwgMTA3NDYsIDEuMTU4OTUyNzEzMDEyNjk1M10sIFsxNjYzNzMwMzQyLjM4NDIwNDEsIDEwNzU1LCAxLjE0ODIwNDgwMzQ2Njc5NjldLCBbMTY2MzczMDM0Mi40OTQ5ODU2LCAxMDc2NCwgMS4yMDQxNDU2Njk5MzcxMzM4XSwgWzE2NjM3MzAzNDIuNjIyMDQ5NiwgMTA3NzMsIDEuMjA5ODEwNjE0NTg1ODc2NV0sIFsxNjYzNzMwMzQyLjc0MzEzLCAxMDc4MiwgMS4yMjU5MTQ1OTc1MTEyOTE1XSwgWzE2NjM3MzAzNDIuODQ4ODgxNSwgMTA3OTEsIDEuMTc3NzM0ODUxODM3MTU4Ml0sIFsxNjYzNzMwMzQzLjEzMDgwNzYsIDEwODE4LCAxLjE2NTI1NzgxMTU0NjMyNTddLCBbMTY2MzczMDM0My4yMzQ3MjcsIDEwODI3LCAxLjE3MjIxODkxODgwMDM1NF0sIFsxNjYzNzMwMzQzLjUyODYzODYsIDEwODU0LCAxLjE1MTIwOTM1NDQwMDYzNDhdLCBbMTY2MzczMDM0My42MTM1ODc0LCAxMDg2MywgMS4xMzA5MzE5NzM0NTczMzY0XSwgWzE2NjM3MzAzNDMuNjk4MTg5LCAxMDg3MiwgMS4xNzk2NDA4ODkxNjc3ODU2XSwgWzE2NjM3MzAzNDMuODY4MDk1NCwgMTA4OTAsIDEuMTUwMjIxNTg2MjI3NDE3XSwgWzE2NjM3MzAzNDMuOTU0NDgxOCwgMTA4OTksIDEuMTI4OTY1ODU0NjQ0Nzc1NF0sIFsxNjYzNzMwMzQ0LjI0MTU5MSwgMTA5MjYsIDEuMjA0ODMxMzYxNzcwNjI5OV0sIFsxNjYzNzMwMzQ0LjMyNjA1NiwgMTA5MzUsIDEuMTc2MzM3NzE4OTYzNjIzXSwgWzE2NjM3MzAzNDQuNDA3MzQ4MiwgMTA5NDQsIDEuMTc0NzQ2NjMyNTc1OTg4OF0sIFsxNjYzNzMwMzQ0LjU4MDEyLCAxMDk2MiwgMS4xNDEzOTQ5NzI4MDEyMDg1XSwgWzE2NjM3MzAzNDQuNjU5NzM1NCwgMTA5NzEsIDEuMTQ1MzA2MzQ4ODAwNjU5Ml0sIFsxNjYzNzMwMzQ0Ljk5Nzk4NDQsIDExMDA3LCAxLjIwMDkwNjk5MTk1ODYxODJdLCBbMTY2MzczMDM0NS4wODkwNTg0LCAxMTAxNiwgMS4xOTc0Mjc2MzA0MjQ0OTk1XSwgWzE2NjM3MzAzNDUuMjkyMzgsIDExMDM0LCAxLjE4MTM0NDUwOTEyNDc1NTldLCBbMTY2MzczMDM0NS42MzIwODI1LCAxMTA2MSwgMS4xNDE5MDE4NTA3MDAzNzg0XSwgWzE2NjM3MzAzNDUuNzIzODY0MywgMTEwNzAsIDEuMTQ5MDY3MTYzNDY3NDA3Ml0sIFsxNjYzNzMwMzQ1Ljk4NjY5NzcsIDExMDk3LCAxLjE4MDI0OTIxNDE3MjM2MzNdLCBbMTY2MzczMDM0Ni4wNzY3NTYyLCAxMTEwNiwgMS4xMzgxNDkyNjE0NzQ2MDk0XSwgWzE2NjM3MzAzNDYuNTY3OTU2LCAxMTE1MSwgMS4yMzcwNzg1NDc0Nzc3MjIyXSwgWzE2NjM3MzAzNDYuNzU2NDI2MywgMTExNjksIDEuMTkzMDcxNDg0NTY1NzM0OV0sIFsxNjYzNzMwMzQ2Ljg1NDc2NDIsIDExMTc4LCAxLjE3MjQ0OTQ2OTU2NjM0NTJdLCBbMTY2MzczMDM0Ni45NDExNDM4LCAxMTE4NywgMS4xNTA5NjE4NzU5MTU1MjczXSwgWzE2NjM3MzAzNDcuMDMyNDczOCwgMTExOTYsIDEuMTQ0MjY2MTI4NTQwMDM5XSwgWzE2NjM3MzAzNDcuMTE5ODkwNSwgMTEyMDUsIDEuMTQwMjI5NDYzNTc3MjcwNV0sIFsxNjYzNzMwMzQ3LjIyMTgxNCwgMTEyMTQsIDEuMTkzOTQ3MTk2MDA2Nzc1XSwgWzE2NjM3MzAzNDcuMzEzMzQyOCwgMTEyMjMsIDEuMTgxOTEwNzUzMjUwMTIyXSwgWzE2NjM3MzAzNDcuODExMTM5MywgMTEyNTAsIDEuMjAxNTIzNzgwODIyNzU0XSwgWzE2NjM3MzAzNDcuODk5MTEzNCwgMTEyNTksIDEuMjgzMTQ5NjAwMDI4OTkxN10sIFsxNjYzNzMwMzQ3Ljk4NDc5NDksIDExMjY4LCAxLjIyMzIyMTY1OTY2MDMzOTRdLCBbMTY2MzczMDM0OC4wNzU1NTA4LCAxMTI3NywgMS4xODE0NTAxMjg1NTUyOTc5XSwgWzE2NjM3MzAzNDguMjUwMTU0NywgMTEyOTUsIDEuMTI2NDY0NDg2MTIyMTMxM10sIFsxNjYzNzMwMzQ4LjQ2NDA2ODQsIDExMzEzLCAxLjE5MzcwNDk2MjczMDQwNzddLCBbMTY2MzczMDM0OC41NTA5NDU1LCAxMTMyMiwgMS4yMjQ0MTAyOTU0ODY0NTAyXSwgWzE2NjM3MzAzNDguODkwNTM0NiwgMTEzNDksIDEuMjA3NTA3ODQ4NzM5NjI0XSwgWzE2NjM3MzAzNDguOTc4NTQ4MywgMTEzNTgsIDEuMTc4MDUxOTQ4NTQ3MzYzM10sIFsxNjYzNzMwMzQ5LjI1NTIzNzgsIDExMzg1LCAxLjE1OTcxODg3MTExNjYzODJdLCBbMTY2MzczMDM0OS41Mzk3MjIsIDExNDEyLCAxLjIyOTAyNjA3OTE3Nzg1NjRdLCBbMTY2MzczMDM0OS44OTY5NDc0LCAxMTQ0OCwgMS4xNDk2MjE4NDQyOTE2ODddLCBbMTY2MzczMDM1MC4zNjQ1NDU4LCAxMTQ5MywgMS4xNjEzNjMwMDU2MzgxMjI2XSwgWzE2NjM3MzAzNTAuNDU4Nzk3NSwgMTE1MDIsIDEuMTQ3ODg0ODQ1NzMzNjQyNl0sIFsxNjYzNzMwMzUwLjU1NTU1MTgsIDExNTExLCAxLjE2MjU2NTIzMTMyMzI0MjJdLCBbMTY2MzczMDM1MC43MzA5NzMsIDExNTI5LCAxLjE0MDU4NTMwMzMwNjU3OTZdLCBbMTY2MzczMDM1MC45MDk5NTkzLCAxMTU0NywgMS4xMzEyMTU1NzIzNTcxNzc3XSwgWzE2NjM3MzAzNTEuMTc2ODEzNiwgMTE1NzQsIDEuMTI2OTk3OTQ3NjkyODcxXSwgWzE2NjM3MzAzNTEuNDUxMDY3MiwgMTE2MDEsIDEuMTY3OTA4NDMwMDk5NDg3M10sIFsxNjYzNzMwMzUxLjcxNDY0OTIsIDExNjE5LCAxLjE2ODI1NTMyOTEzMjA4XSwgWzE2NjM3MzAzNTIuMDc5NDcwMiwgMTE2NDYsIDEuMTM2MjI3OTY1MzU0OTE5NF0sIFsxNjYzNzMwMzUyLjM1ODc1MDYsIDExNjczLCAxLjE1OTgzNTY5NjIyMDM5OF0sIFsxNjYzNzMwMzUyLjU0NTI0OCwgMTE2OTEsIDEuMTkwMzUzOTg5NjAxMTM1M10sIFsxNjYzNzMwMzUyLjY0OTA3NzQsIDExNzAwLCAxLjE3MDM4MjQ5OTY5NDgyNDJdLCBbMTY2MzczMDM1Mi44Mjc5NjAzLCAxMTcxOCwgMS4xMzUzOTQ1NzMyMTE2N10sIFsxNjYzNzMwMzUyLjkxNzkyMDgsIDExNzI3LCAxLjE0ODIzNTIwMTgzNTYzMjNdLCBbMTY2MzczMDM1My4wOTQ3NTQyLCAxMTc0NSwgMS4yMDgxMzE3OTAxNjExMzI4XSwgWzE2NjM3MzAzNTMuMjcwODU0NywgMTE3NjMsIDEuMTU2Mzg5MzU1NjU5NDg0OV0sIFsxNjYzNzMwMzUzLjYyODE4NywgMTE3OTksIDEuMTM3MzY4OTE3NDY1MjFdLCBbMTY2MzczMDM1My44OTcyNDMsIDExODI2LCAxLjIyMjA2NDI1NjY2ODA5MDhdLCBbMTY2MzczMDM1My45ODQ0NzYzLCAxMTgzNSwgMS4yMjgwNDc3Mjg1Mzg1MTMyXSwgWzE2NjM3MzAzNTQuMDc2ODMyMywgMTE4NDQsIDEuMjIwNzQwNzk1MTM1NDk4XSwgWzE2NjM3MzAzNTQuNTIyMzcxOCwgMTE4ODksIDEuMjExNjM3NzM1MzY2ODIxM10sIFsxNjYzNzMwMzU0LjkyNTk2NiwgMTE5MDcsIDEuMzI3Nzg5MzA2NjQwNjI1XSwgWzE2NjM3MzAzNTUuMDE5MzMyLCAxMTkxNiwgMS4zMjUxNzg4NjE2MTgwNDJdLCBbMTY2MzczMDM1NS4yMzc5OTgyLCAxMTkzNCwgMS4zMzU4ODE5NDg0NzEwNjkzXSwgWzE2NjM3MzAzNTUuMzMzNzUzLCAxMTk0MywgMS4yMzkwNjAxNjM0OTc5MjQ4XSwgWzE2NjM3MzAzNTUuNTIwMTIxMywgMTE5NjEsIDEuMTc0NzAyMjg2NzIwMjc1OV0sIFsxNjYzNzMwMzU2LjE1NjE2MzcsIDEyMDI0LCAxLjE1NDU1Mzg5MDIyODI3MTVdLCBbMTY2MzczMDM1Ni42OTkyMDU0LCAxMjA3OCwgMS4xMzczNzg5MzEwNDU1MzIyXSwgWzE2NjM3MzAzNTYuOTcwMTM3NCwgMTIxMDUsIDEuMTMxNzY3NTExMzY3Nzk3OV0sIFsxNjYzNzMwMzU3LjA1MzU3MTcsIDEyMTE0LCAxLjEzNjQ2NDU5NTc5NDY3NzddLCBbMTY2MzczMDM1Ny4yMzQxMzcsIDEyMTMyLCAxLjE2ODA5MTQxNjM1ODk0NzhdLCBbMTY2MzczMDM1Ny4zMTQ4NTQ0LCAxMjE0MSwgMS4yMDc2NDU0MTYyNTk3NjU2XSwgWzE2NjM3MzAzNTcuNTgxNTg5NywgMTIxNjgsIDEuMTcyOTM3OTg5MjM0OTI0M10sIFsxNjYzNzMwMzU3LjY2Nzc3LCAxMjE3NywgMS4xMjA1NzA4OTgwNTYwMzAzXSwgWzE2NjM3MzAzNTcuODQ2NTg3LCAxMjE5NSwgMS4xMzU5ODAyNDg0NTEyMzNdLCBbMTY2MzczMDM1OC4xMTM4NDIyLCAxMjIyMiwgMS4xNzU4NzgxNjcxNTI0MDQ4XSwgWzE2NjM3MzAzNTguMjAxODMxNiwgMTIyMzEsIDEuMTU4NTI4NDQ3MTUxMTg0XSwgWzE2NjM3MzAzNTguMzc5MzYwNywgMTIyNDksIDEuMTg3MDc1MDE4ODgyNzUxNV0sIFsxNjYzNzMwMzU4LjcyNTQ5MiwgMTIyODUsIDEuMTU5MDU1MjMzMDAxNzA5XSwgWzE2NjM3MzAzNTguODExNzIwMSwgMTIyOTQsIDEuMTQ3MzIzMzY5OTc5ODU4NF0sIFsxNjYzNzMwMzU4LjkxMzY3NSwgMTIzMDMsIDEuMTA3NzIwNzMyNjg4OTAzOF0sIFsxNjYzNzMwMzU5LjAwMzIxNjcsIDEyMzEyLCAxLjE1MzE2NTU3ODg0MjE2M10sIFsxNjYzNzMwMzU5LjA4OTAxMzMsIDEyMzIxLCAxLjEyNzg0MTk0OTQ2Mjg5MDZdLCBbMTY2MzczMDM1OS40MzczMTc2LCAxMjM1NywgMS4xNTIyNjkwMDU3NzU0NTE3XSwgWzE2NjM3MzAzNTkuNTI5NjM3NiwgMTIzNjYsIDEuMTUzNDgzMjcxNTk4ODE2XSwgWzE2NjM3MzAzNTkuNzA2NDg0LCAxMjM4NCwgMS4xMzE1MjMzNzA3NDI3OTc5XSwgWzE2NjM3MzAzNTkuNzk2OTk1NiwgMTIzOTMsIDEuMTMxNDA4NTcyMTk2OTYwNF0sIFsxNjYzNzMwMzYwLjE1ODI5MzcsIDEyNDI5LCAxLjEzMDMzNzk1MzU2NzUwNDldLCBbMTY2MzczMDM2MC4yNTE4MTk2LCAxMjQzOCwgMS4xMzQ2MzkxNDM5NDM3ODY2XSwgWzE2NjM3MzAzNjAuODk0MzI2NCwgMTI0NzQsIDEuMTUxMTg0MzIwNDQ5ODI5XSwgWzE2NjM3MzAzNjAuOTk5NzI0NiwgMTI0ODMsIDEuMTIwODc4MTAwMzk1MjAyNl0sIFsxNjYzNzMwMzYxLjExMzk3NzIsIDEyNDkyLCAxLjEzNjcwMzEzMzU4MzA2ODhdLCBbMTY2MzczMDM2MS40NTg4OTcsIDEyNTE5LCAxLjEzODQ0OTQzMDQ2NTY5ODJdLCBbMTY2MzczMDM2MS43NjY0NjU0LCAxMjU0NiwgMS4xMjE5NDQ1NDY2OTk1MjRdLCBbMTY2MzczMDM2Mi4wNTA2MDcyLCAxMjU3MywgMS4xMzU4ODQ3NjE4MTAzMDI3XSwgWzE2NjM3MzAzNjIuMTM4MTI2NiwgMTI1ODIsIDEuMTYwMzUwNTYxMTQxOTY3OF0sIFsxNjYzNzMwMzYyLjM0NDI4NCwgMTI2MDAsIDEuMTMwNDQ3NjI2MTEzODkxNl0sIFsxNjYzNzMwMzYyLjQzMzE0ODksIDEyNjA5LCAxLjEzNDM3NzgzNzE4MTA5MTNdLCBbMTY2MzczMDM2Mi42OTk4ODM1LCAxMjYzNiwgMS4yMzEwMzI3MjkxNDg4NjQ3XSwgWzE2NjM3MzAzNjIuOTE2MDE2LCAxMjY1NCwgMS4xMzAwNzM1NDczNjMyODEyXSwgWzE2NjM3MzAzNjMuNjY4NDc4LCAxMjcyNiwgMS4xMzM0ODA5MDY0ODY1MTEyXSwgWzE2NjM3MzAzNjMuOTMxNDM5NiwgMTI3NTMsIDEuMTYyODQxNTU4NDU2NDIxXSwgWzE2NjM3MzAzNjQuMDIwNjEzMiwgMTI3NjIsIDEuMTkxNjI2MDcxOTI5OTMxNl0sIFsxNjYzNzMwMzY0LjIwMTM2MjgsIDEyNzgwLCAxLjEzOTMzNzc3ODA5MTQzMDddLCBbMTY2MzczMDM2NC4zNzc4MzkzLCAxMjc5OCwgMS4xMjQ3ODk4MzQwMjI1MjJdLCBbMTY2MzczMDM2NC40NzI1MDc1LCAxMjgwNywgMS4xMjQxNDE2OTMxMTUyMzQ0XSwgWzE2NjM3MzAzNjUuMjY2MjExNywgMTI4ODgsIDEuMTg2ODI1NjMzMDQ5MDExMl0sIFsxNjYzNzMwMzY1LjM1MzUzMTYsIDEyODk3LCAxLjIzMjIxOTIxOTIwNzc2MzddLCBbMTY2MzczMDM2NS40Mzc1MzcyLCAxMjkwNiwgMS4xNTQzODQ5NzA2NjQ5NzhdLCBbMTY2MzczMDM2NS41Mjc3Njk2LCAxMjkxNSwgMS4xNDcwNTA0OTk5MTYwNzY3XSwgWzE2NjM3MzAzNjUuNzAyNTIwMSwgMTI5MzMsIDEuMTI5NjMxNjM4NTI2OTE2NV0sIFsxNjYzNzMwMzY1Ljg3OTk3MTcsIDEyOTUxLCAxLjE0MTgwNjYwMjQ3ODAyNzNdLCBbMTY2MzczMDM2NS45NjcxNDc4LCAxMjk2MCwgMS4xMjQ2MjI1ODMzODkyODIyXSwgWzE2NjM3MzAzNjYuMDUyOTUzNSwgMTI5NjksIDEuMTY5ODg0NjgxNzAxNjYwMl0sIFsxNjYzNzMwMzY2LjE2Njc4OTgsIDEyOTc4LCAxLjEzNDgwOTEzNjM5MDY4Nl0sIFsxNjYzNzMwMzY2LjUyMjc0NDIsIDEzMDA1LCAxLjExNjExOTE0NjM0NzA0Nl0sIFsxNjYzNzMwMzY2LjcwNjIwMjUsIDEzMDIzLCAxLjEyNjY5MzEyOTUzOTQ4OTddLCBbMTY2MzczMDM2Ni43OTI1Mjc3LCAxMzAzMiwgMS4xODE3ODg1NjM3MjgzMzI1XSwgWzE2NjM3MzAzNjYuODg2MTEzLCAxMzA0MSwgMS4yMjMyNDkzMTYyMTU1MTUxXSwgWzE2NjM3MzAzNjYuOTcyNjEyMSwgMTMwNTAsIDEuMjAxMDYwMTc1ODk1NjkxXSwgWzE2NjM3MzAzNjcuMDY3NDksIDEzMDU5LCAxLjIxMjMxNjUxMzA2MTUyMzRdLCBbMTY2MzczMDM2Ny4xNTczODAzLCAxMzA2OCwgMS4yNDMxMDcxOTk2Njg4ODQzXSwgWzE2NjM3MzAzNjcuMjQ2NTMxMiwgMTMwNzcsIDEuMTg1NjI0MzYxMDM4MjA4XSwgWzE2NjM3MzAzNjcuNDMzNTU0LCAxMzA5NSwgMS4yMTk3MzY0NTY4NzEwMzI3XSwgWzE2NjM3MzAzNjcuNTIyNDY3NCwgMTMxMDQsIDEuMTQ1ODMxNzA0MTM5NzA5NV0sIFsxNjYzNzMwMzY3LjYwNzAwMTUsIDEzMTEzLCAxLjEzODU1ODE0OTMzNzc2ODZdLCBbMTY2MzczMDM2Ny42OTIzNDk0LCAxMzEyMiwgMS4xODk1MDE0MDQ3NjIyNjhdLCBbMTY2MzczMDM2Ny43NzczOTEsIDEzMTMxLCAxLjE5NTMyODM1NDgzNTUxMDNdLCBbMTY2MzczMDM2Ny44NjU2OTksIDEzMTQwLCAxLjE0Nzc3MjMxMjE2NDMwNjZdLCBbMTY2MzczMDM2Ny45NzE1Mjc2LCAxMzE0OSwgMS4xODcyMzU5NTE0MjM2NDVdLCBbMTY2MzczMDM2OC4wOTM2NzA0LCAxMzE1OCwgMS4xNzk3MTI2NTMxNjAwOTUyXSwgWzE2NjM3MzAzNjguMjM1NDcwMywgMTMxNjcsIDEuMTk5NTU2MTEyMjg5NDI4N10sIFsxNjYzNzMwMzY4LjM2NTY0NiwgMTMxNzYsIDEuMTM4OTc1MzgxODUxMTk2M10sIFsxNjYzNzMwMzY4LjQ4MjA3OTMsIDEzMTg1LCAxLjE0NjE2MzEwNTk2NDY2MDZdLCBbMTY2MzczMDM2OS4yMDY1Njc1LCAxMzIzOSwgMS4xNzY4ODg3MDQyOTk5MjY4XSwgWzE2NjM3MzAzNjkuNDk5Njk0NiwgMTMyNjYsIDEuMTM3NzE2ODg5MzgxNDA4N10sIFsxNjYzNzMwMzY5LjU4NjU2OSwgMTMyNzUsIDEuMTQ2NjQ1MDY5MTIyMzE0NV0sIFsxNjYzNzMwMzY5Ljc5NjkxNDYsIDEzMjkzLCAxLjEzNjI1NjQ1NjM3NTEyMl0sIFsxNjYzNzMwMzY5Ljg4OTIyMjEsIDEzMzAyLCAxLjEyMzE4NjcwNzQ5NjY0M10sIFsxNjYzNzMwMzcwLjI0MzYyMDYsIDEzMzM4LCAxLjEyMzkyNjQwMTEzODMwNTddLCBbMTY2MzczMDM3MC4zMzI0MjYsIDEzMzQ3LCAxLjE3MTg2MDA5ODgzODgwNjJdLCBbMTY2MzczMDM3MC40MTg4NDExLCAxMzM1NiwgMS4xMjIwOTE3NzAxNzIxMTkxXSwgWzE2NjM3MzAzNzAuNTI5NzcxMywgMTMzNjUsIDEuMTQ1Njg3MzQxNjkwMDYzNV0sIFsxNjYzNzMwMzcwLjg1MTQ5NSwgMTMzOTIsIDEuMTc0MDUyODM0NTEwODAzMl0sIFsxNjYzNzMwMzcwLjk0MDgxMDcsIDEzNDAxLCAxLjE1MDExMTY3NTI2MjQ1MTJdLCBbMTY2MzczMDM3MS4wNjQwMzMzLCAxMzQxMCwgMS4xMjY1MTUwMzA4NjA5MDA5XSwgWzE2NjM3MzAzNzEuMTgwNzk4OCwgMTM0MTksIDEuMTQyNDg5MTk0ODY5OTk1MV0sIFsxNjYzNzMwMzcxLjI5OTA5MTgsIDEzNDI4LCAxLjEzNTY0MDYyMTE4NTMwMjddLCBbMTY2MzczMDM3MS41MTYyMTQxLCAxMzQ0NiwgMS4xNzc4MjI5NDc1MDIxMzYyXSwgWzE2NjM3MzAzNzEuNjAzODQwNCwgMTM0NTUsIDEuMTYwNjI0MTQ2NDYxNDg2OF0sIFsxNjYzNzMwMzcxLjk3MjY5ODIsIDEzNDkxLCAxLjE4ODk0Nzc5NjgyMTU5NDJdLCBbMTY2MzczMDM3Mi4wNTg5MTUxLCAxMzUwMCwgMS4xNjc1MzY4NTQ3NDM5NTc1XSwgWzE2NjM3MzAzNzIuMTQ1MTk4MywgMTM1MDksIDEuMTQzNTQ2MjIzNjQwNDQyXSwgWzE2NjM3MzAzNzIuMzU4MDUyLCAxMzUyNywgMS4xNjE0NzExMjg0NjM3NDUxXSwgWzE2NjM3MzAzNzIuNjM4MDg0NCwgMTM1NTQsIDEuMTQwNzk3NzM0MjYwNTU5XSwgWzE2NjM3MzAzNzIuOTcyMjgzMSwgMTM1OTAsIDEuMTY1NzAyMTA0NTY4NDgxNF0sIFsxNjYzNzMwMzczLjA1NDAxODMsIDEzNTk5LCAxLjE0NjkzNDk4NjExNDUwMl0sIFsxNjYzNzMwMzczLjE1NzQ4LCAxMzYwOCwgMS4xNjE5MTU3NzkxMTM3Njk1XSwgWzE2NjM3MzAzNzMuMzQxMjAxMywgMTM2MjYsIDEuMTQxNTkyMDI1NzU2ODM2XSwgWzE2NjM3MzAzNzMuNTI3ODQzLCAxMzY0NCwgMS4yMDczNzQ1NzI3NTM5MDYyXSwgWzE2NjM3MzAzNzMuNjE5NjI5MSwgMTM2NTMsIDEuMTY1NjA4ODgyOTA0MDUyN10sIFsxNjYzNzMwMzc0LjI2MzMxOTMsIDEzNzE2LCAxLjEzNTM3OTkxMDQ2OTA1NTJdLCBbMTY2MzczMDM3NC41NTg3MjksIDEzNzQzLCAxLjIxNTMzNzE1NzI0OTQ1MDddLCBbMTY2MzczMDM3NC43NTY5Mjk2LCAxMzc2MSwgMS4xMzMzMDkwMDY2OTA5NzldLCBbMTY2MzczMDM3NC45Mjk3NDE5LCAxMzc3OSwgMS4yMzU2MDM4MDkzNTY2ODk1XSwgWzE2NjM3MzAzNzUuMjI0NTQ2NywgMTM4MDYsIDEuMjQxMTQ1MTMzOTcyMTY4XSwgWzE2NjM3MzAzNzUuMzExMTYyNywgMTM4MTUsIDEuMTY1MzUyOTQwNTU5Mzg3Ml0sIFsxNjYzNzMwMzc1LjU3NTU4OTQsIDEzODQyLCAxLjEwNjc2NzI5Njc5MTA3NjddLCBbMTY2MzczMDM3NS42NjMxNjcsIDEzODUxLCAxLjIzMDQ4MTUwNTM5Mzk4Ml0sIFsxNjYzNzMwMzc1Ljg1MDAwMDksIDEzODY5LCAxLjE2NjIzMDQ0MDEzOTc3MDVdLCBbMTY2MzczMDM3NS45NzA2MDc4LCAxMzg3OCwgMS4xNzIzMDA5MzQ3OTE1NjVdLCBbMTY2MzczMDM3Ni40MTEyODM3LCAxMzkxNCwgMS4yMzk4NTQ2OTM0MTI3ODA4XSwgWzE2NjM3MzAzNzYuNTk3Njk0LCAxMzkzMiwgMS4xNDY2MTk0MzkxMjUwNjFdLCBbMTY2MzczMDM3Ni45MzMyNTQsIDEzOTQxLCAxLjEzMjI1MTM4MTg3NDA4NDVdLCBbMTY2MzczMDM3Ny4yMDk4NjI1LCAxMzk2OCwgMS4xNDIzNDMwNDQyODEwMDU5XSwgWzE2NjM3MzAzNzcuMjk2MjU1NiwgMTM5NzcsIDEuMTU2MTc4NzEyODQ0ODQ4Nl0sIFsxNjYzNzMwMzc3LjM4MzUxNjgsIDEzOTg2LCAxLjEzODEwODI1MzQ3OTAwNF0sIFsxNjYzNzMwMzc3LjU2OTcwMDIsIDE0MDA0LCAxLjE2MDIzOTkzNDkyMTI2NDZdLCBbMTY2MzczMDM3Ny43NzEwNzE0LCAxNDAyMiwgMS4xNTcwNDExOTIwNTQ3NDg1XSwgWzE2NjM3MzAzNzguMDk3ODAxNCwgMTQwNDksIDEuMTQ3MjQ5NDYwMjIwMzM3XSwgWzE2NjM3MzAzNzguMjgxNTgxOSwgMTQwNjcsIDEuMTQ2NzUzMzExMTU3MjI2Nl0sIFsxNjYzNzMwMzc4LjQ1MzY2ODQsIDE0MDg1LCAxLjE0MzgyOTU4NDEyMTcwNF0sIFsxNjYzNzMwMzc4LjU0MTcwNTQsIDE0MDk0LCAxLjE4MTQ2MDczODE4MjA2NzldLCBbMTY2MzczMDM3OC42MjcxMzMsIDE0MTAzLCAxLjE0MDEwOTY1ODI0MTI3Ml0sIFsxNjYzNzMwMzc4LjgwMjAzOTEsIDE0MTIxLCAxLjE0Njc1OTc0ODQ1ODg2MjNdLCBbMTY2MzczMDM3OC45OTk4MjE0LCAxNDEzOSwgMS4xNTkyOTQwMDkyMDg2NzkyXSwgWzE2NjM3MzAzNzkuMDg5ODk1LCAxNDE0OCwgMS4xMTE3MjgzMTA1ODUwMjJdLCBbMTY2MzczMDM3OS4xNzg4MTU2LCAxNDE1NywgMS4xNzY2MDA4MTM4NjU2NjE2XSwgWzE2NjM3MzAzNzkuMjcwNjg2NiwgMTQxNjYsIDEuMTg3ODE3NDU0MzM4MDczN10sIFsxNjYzNzMwMzc5LjM1NTc2MDgsIDE0MTc1LCAxLjE4Nzg3MDUwMjQ3MTkyMzhdLCBbMTY2MzczMDM3OS41MzA0NjU2LCAxNDE5MywgMS4xMjU5NjQ1MjIzNjE3NTU0XSwgWzE2NjM3MzAzNzkuNjk2MDE2MywgMTQyMTEsIDEuMTE1NTM2ODA4OTY3NTkwM10sIFsxNjYzNzMwMzc5Ljc4MTExODYsIDE0MjIwLCAxLjEyOTUxNTA1MTg0MTczNThdLCBbMTY2MzczMDM3OS44NjY1MTE2LCAxNDIyOSwgMS4xMjEyNDYyMTg2ODEzMzU0XSwgWzE2NjM3MzAzNzkuOTY5OTQ3OCwgMTQyMzgsIDEuMTcxOTc3NDAwNzc5NzI0MV0sIFsxNjYzNzMwMzgwLjA3ODUwOTgsIDE0MjQ3LCAxLjE4OTY5NTAwMDY0ODQ5ODVdLCBbMTY2MzczMDM4MC40MTc1MDI2LCAxNDI3NCwgMS4xMzAwNzMxODk3MzU0MTI2XSwgWzE2NjM3MzAzODEuMDAxMDk1OCwgMTQzMTksIDEuMTQwMTEyMjgwODQ1NjQyXSwgWzE2NjM3MzAzODEuNTM3ODY4LCAxNDM2NCwgMS4xMzAzNjk0MjQ4MTk5NDYzXSwgWzE2NjM3MzAzODEuNjQ2OTYwNywgMTQzNzMsIDEuMTE4NzczNjk4ODA2NzYyN10sIFsxNjYzNzMwMzgxLjc0NTExMTIsIDE0MzgyLCAxLjE0Mjk4MjM2MzcwMDg2NjddLCBbMTY2MzczMDM4Mi4xNDA0ODU1LCAxNDQxOCwgMS4xMTgxMzU0NTIyNzA1MDc4XSwgWzE2NjM3MzAzODIuMjMzNjEsIDE0NDI3LCAxLjE0MDYwNTY4ODA5NTA5MjhdLCBbMTY2MzczMDM4Mi4zNTMzNjIzLCAxNDQzNiwgMS4xMjE4NDg1ODMyMjE0MzU1XSwgWzE2NjM3MzAzODMuMDQzNjY3MywgMTQ0OTksIDEuMTEzNDA3OTY5NDc0NzkyNV0sIFsxNjYzNzMwMzgzLjE0Mzc0NCwgMTQ1MDgsIDEuMTI0NTgxOTMzMDIxNTQ1NF0sIFsxNjYzNzMwMzgzLjMzNjA2MjQsIDE0NTI2LCAxLjEzMjE5NjA2ODc2MzczM10sIFsxNjYzNzMwMzgzLjQyMzA0MDYsIDE0NTM1LCAxLjEwNTQ3NDQ3MjA0NTg5ODRdLCBbMTY2MzczMDM4My41MDg4ODczLCAxNDU0NCwgMS4xNDExMDY4NDM5NDgzNjQzXSwgWzE2NjM3MzAzODMuNTk2MjIsIDE0NTUzLCAxLjEzNTA3NDk3MzEwNjM4NDNdLCBbMTY2MzczMDM4My45NTM4MjA3LCAxNDU4OSwgMS4xMzAzMjQ2MDIxMjcwNzUyXSwgWzE2NjM3MzAzODQuMTQ0MjMyLCAxNDYwNywgMS4xNTY5NjkxODk2NDM4NTk5XSwgWzE2NjM3MzAzODQuMzE5MjA4NCwgMTQ2MjUsIDEuMTU0NTI2NDcyMDkxNjc0OF0sIFsxNjYzNzMwMzg0LjQ5NTc0MjgsIDE0NjQzLCAxLjE4OTY2MDQyOTk1NDUyODhdLCBbMTY2MzczMDM4NC41ODM0NDE1LCAxNDY1MiwgMS4xNDc0NjIzNjgwMTE0NzQ2XSwgWzE2NjM3MzAzODUuMDQ0NTY0MiwgMTQ2NzksIDEuMTI2MDQwODE2MzA3MDY3OV0sIFsxNjYzNzMwMzg1LjEzODM0MjYsIDE0Njg4LCAxLjE2MTA0MDQyNTMwMDU5ODFdLCBbMTY2MzczMDM4NS40OTIxMDg2LCAxNDcyNCwgMS4xMzAyMzEwMjI4MzQ3Nzc4XSwgWzE2NjM3MzAzODUuNTgxMDU2OCwgMTQ3MzMsIDEuMTMyODg1MzM2ODc1OTE1NV0sIFsxNjYzNzMwMzg1LjY3MTc3OTQsIDE0NzQyLCAxLjExMzkzNzM3NzkyOTY4NzVdLCBbMTY2MzczMDM4NS43NTc3ODksIDE0NzUxLCAxLjExNzQ5MTM2NDQ3OTA2NV0sIFsxNjYzNzMwMzg1LjkzMzEzNzcsIDE0NzY5LCAxLjE0MTI2OTgwMzA0NzE4MDJdLCBbMTY2MzczMDM4Ni4wMjI4NTEsIDE0Nzc4LCAxLjExNzg1NzkzMzA0NDQzMzZdLCBbMTY2MzczMDM4Ni40Njg5ODksIDE0ODIzLCAxLjE3MzYxOTAzMTkwNjEyOF0sIFsxNjYzNzMwMzg2LjU1NjY2NDUsIDE0ODMyLCAxLjEwNTUxMDExNTYyMzQ3NDFdLCBbMTY2MzczMDM4Ni43MjcxODM4LCAxNDg1MCwgMS4xMzQ1MzQ1OTczOTY4NTA2XSwgWzE2NjM3MzAzODYuOTAyNzI3LCAxNDg2OCwgMS4xMTU4NjU3MDczOTc0NjFdLCBbMTY2MzczMDM4Ni45ODQ1NzA3LCAxNDg3NywgMS4xMTY5MTcxMzMzMzEyOTg4XSwgWzE2NjM3MzAzODcuMDcxMjg5LCAxNDg4NiwgMS4xMTg1MTI4Njg4ODEyMjU2XSwgWzE2NjM3MzAzODcuMTU2MTEzOSwgMTQ4OTUsIDEuMTA0MTEwMjQwOTM2Mjc5M10sIFsxNjYzNzMwMzg3LjMzODc3NzMsIDE0OTEzLCAxLjEyMDcxODU5ODM2NTc4MzddLCBbMTY2MzczMDM4Ny41MTg3NDEsIDE0OTMxLCAxLjE1NDEzNzEzNDU1MjAwMl0sIFsxNjYzNzMwMzg3LjYzNTA5ODUsIDE0OTQwLCAxLjE5NTMxNDg4NDE4NTc5MV0sIFsxNjYzNzMwMzg3Ljg5NDQ1NzMsIDE0OTY3LCAxLjE2Nzg3Mjc4NjUyMTkxMTZdLCBbMTY2MzczMDM4OC4wNjU0MjI4LCAxNDk4NSwgMS4xMTEzNjI2OTU2OTM5Njk3XSwgWzE2NjM3MzAzODguMjQzMDgzNywgMTUwMDMsIDEuMDkzMDQ5NjQ1NDIzODg5Ml0sIFsxNjYzNzMwMzg4LjUwOTA5OTIsIDE1MDMwLCAxLjE0NzQyMzUwNTc4MzA4MV0sIFsxNjYzNzMwMzg4LjYyMDQyOCwgMTUwMzksIDEuMTc3MjQyOTk0MzA4NDcxN10sIFsxNjYzNzMwMzg4Ljk1NzYxNjgsIDE1MDc1LCAxLjExMTU1NjQxMDc4OTQ4OTddLCBbMTY2MzczMDM4OS4yMjM1NzAzLCAxNTEwMiwgMS4xNTYwNTA4MDEyNzcxNjA2XSwgWzE2NjM3MzAzODkuNDAxMzI2LCAxNTEyMCwgMS4xMDMxMzEyOTQyNTA0ODgzXSwgWzE2NjM3MzAzODkuNDkyNzk5LCAxNTEyOSwgMS4xNDkzNTExMTk5OTUxMTcyXSwgWzE2NjM3MzAzODkuNjA3MTU0NCwgMTUxMzgsIDEuMjIzNDc3MTI1MTY3ODQ2N10sIFsxNjYzNzMwMzg5LjY5NTc3MzYsIDE1MTQ3LCAxLjExOTAwNDM2ODc4MjA0MzVdLCBbMTY2MzczMDM4OS45NDk3MzI1LCAxNTE3NCwgMS4xNTQ2OTkyMDYzNTIyMzM5XSwgWzE2NjM3MzAzOTAuMDM2Nzc5LCAxNTE4MywgMS4xMjc3MDA1NjcyNDU0ODM0XSwgWzE2NjM3MzAzOTAuMTI1NjQ1OSwgMTUxOTIsIDEuMTQyMjk5NjUyMDk5NjA5NF0sIFsxNjYzNzMwMzkwLjIxNjczNDQsIDE1MjAxLCAxLjE0NjMzOTA1ODg3NjAzNzZdLCBbMTY2MzczMDM5MC4zMDUyNDIsIDE1MjEwLCAxLjEyOTk5NjE4MDUzNDM2MjhdLCBbMTY2MzczMDM5MC4zOTI5NDE3LCAxNTIxOSwgMS4xNDkzOTA0NTkwNjA2NjldLCBbMTY2MzczMDM5MC42NzY0NzUsIDE1MjQ2LCAxLjE1MzAyNDQzNTA0MzMzNV0sIFsxNjYzNzMwMzkwLjc2MzE2MjEsIDE1MjU1LCAxLjEzMzIxNzU3MzE2NTg5MzZdLCBbMTY2MzczMDM5MC44NDg3NDIyLCAxNTI2NCwgMS4xMTI2MjM0NTMxNDAyNTg4XSwgWzE2NjM3MzAzOTEuMDI0MzE0OSwgMTUyODIsIDEuMTg4NjczNzM0NjY0OTE3XSwgWzE2NjM3MzAzOTEuMTEwNTIxOCwgMTUyOTEsIDEuMTk0OTcwMTMwOTIwNDEwMl0sIFsxNjYzNzMwMzkxLjE5NTE5MTEsIDE1MzAwLCAxLjIwNjEyODIzOTYzMTY1MjhdLCBbMTY2MzczMDM5MS4yODQxNDAzLCAxNTMwOSwgMS4xMjUwNDc1NjQ1MDY1MzA4XSwgWzE2NjM3MzAzOTEuMzY0MTcxNywgMTUzMTgsIDEuMTQxNzYxNTQxMzY2NTc3MV0sIFsxNjYzNzMwMzkxLjQ1NDQ1MDYsIDE1MzI3LCAxLjExNTUyMjk4MDY5MDAwMjRdLCBbMTY2MzczMDM5MS42NTgwNjcsIDE1MzQ1LCAxLjE4Nzg4Nzc4NzgxODkwODddLCBbMTY2MzczMDM5MS45MjMyNTg1LCAxNTM3MiwgMS4xMjI1NjEwOTcxNDUwODA2XSwgWzE2NjM3MzAzOTIuMTA1NTUzLCAxNTM5MCwgMS4xMTYzNDQzMzI2OTUwMDczXSwgWzE2NjM3MzAzOTIuMTk5OTUyOCwgMTUzOTksIDEuMTI5ODIwMjI3NjIyOTg1OF0sIFsxNjYzNzMwMzkyLjI5MDQzNTMsIDE1NDA4LCAxLjEwNjA5MTI2MDkxMDAzNDJdLCBbMTY2MzczMDM5Mi4zNzcxMDUyLCAxNTQxNywgMS4xNDY0MzI5OTU3OTYyMDM2XSwgWzE2NjM3MzAzOTMuMDQ0MTczNSwgMTU0NTMsIDEuMTA1MTkxNzA3NjExMDg0XSwgWzE2NjM3MzAzOTMuMzA2NTk0NiwgMTU0NzEsIDEuMTM2MzY4NzUxNTI1ODc5XSwgWzE2NjM3MzAzOTMuNDU1MTg1NCwgMTU0ODAsIDEuMTA5NDYzODEwOTIwNzE1M10sIFsxNjYzNzMwMzkzLjc1MDM5NTUsIDE1NTA3LCAxLjEyMTUwNjgxMDE4ODI5MzVdLCBbMTY2MzczMDM5My44NzA3MTMyLCAxNTUxNiwgMS4xNTg4NTUzMTkwMjMxMzIzXSwgWzE2NjM3MzAzOTQuMDExMzcyNiwgMTU1MjUsIDEuMTMxMjIwNjk4MzU2NjI4NF0sIFsxNjYzNzMwMzk0LjExMDk2ODQsIDE1NTM0LCAxLjEyNjQxMDQ4NDMxMzk2NDhdLCBbMTY2MzczMDM5NC42ODkxNzksIDE1NTc5LCAxLjEwOTA0MDk3NTU3MDY3ODddLCBbMTY2MzczMDM5NS40NjQ4NTI4LCAxNTY1MSwgMS4xMDkyODM2ODU2ODQyMDRdLCBbMTY2MzczMDM5NS41NjE3MTM3LCAxNTY2MCwgMS4xNDQ1NzYzMTExMTE0NTAyXSwgWzE2NjM3MzAzOTUuNjUwNTU4NywgMTU2NjksIDEuMTg0Nzg3NzUwMjQ0MTQwNl0sIFsxNjYzNzMwMzk1LjkxNzcxNzIsIDE1Njk2LCAxLjExNzYxMDU3Mzc2ODYxNTddLCBbMTY2MzczMDM5Ni4xNzg3MTEsIDE1NzE0LCAxLjEyNjI2OTIyMTMwNTg0NzJdLCBbMTY2MzczMDM5Ni4yOTgwMjg1LCAxNTcyMywgMS4xNTI4OTc4MzQ3Nzc4MzJdLCBbMTY2MzczMDM5Ni4zOTk2NzEzLCAxNTczMiwgMS4xMTEwMjg2NzEyNjQ2NDg0XSwgWzE2NjM3MzAzOTYuNTIxODI1LCAxNTc0MSwgMS4xMTY0Nzk2MzUyMzg2NDc1XSwgWzE2NjM3MzAzOTYuNjM4MzcyLCAxNTc1MCwgMS4xMDQ5NzE1MjgwNTMyODM3XSwgWzE2NjM3MzAzOTYuNzQ5NDc3LCAxNTc1OSwgMS4wOTY3NDM4MjIwOTc3NzgzXSwgWzE2NjM3MzAzOTYuODQzMzQ2NCwgMTU3NjgsIDEuMTE4MjEwMDc3Mjg1NzY2Nl0sIFsxNjYzNzMwMzk3LjAyODk0NjQsIDE1Nzg2LCAxLjEzMTgwNTUzOTEzMTE2NDZdLCBbMTY2MzczMDM5Ny4xMTkwMDE2LCAxNTc5NSwgMS4xMzAwMjA0OTkyMjk0MzEyXSwgWzE2NjM3MzAzOTcuNTAwODMxOCwgMTU4MjIsIDEuMTQyMjQ5MzQ1Nzc5NDE5XSwgWzE2NjM3MzAzOTguMDIxNTkzMywgMTU4NjcsIDEuMTE0NjY4MjUwMDgzOTIzM10sIFsxNjYzNzMwMzk4LjEzNTUyMzMsIDE1ODc2LCAxLjEyMzk2MjA0NDcxNTg4MTNdLCBbMTY2MzczMDM5OC4zMTg5ODUsIDE1ODk0LCAxLjEyNjIzOTE4MDU2NDg4MDRdLCBbMTY2MzczMDM5OC40MDg5MTk2LCAxNTkwMywgMS4xMjIzNjE3NzkyMTI5NTE3XSwgWzE2NjM3MzAzOTguNTg3MzQ4LCAxNTkyMSwgMS4xMDcyNjQ5OTU1NzQ5NTEyXSwgWzE2NjM3MzAzOTguNzEyNDM1NSwgMTU5MzAsIDEuMTI5NjQ5NDAwNzExMDU5Nl0sIFsxNjYzNzMwMzk4Ljg5ODYzNywgMTU5NDgsIDEuMjM2MzY0NjAzMDQyNjAyNV0sIFsxNjYzNzMwMzk5LjI3NTI0MywgMTU5ODQsIDEuMTUyODQ0NDI5MDE2MTEzM10sIFsxNjYzNzMwMzk5LjM2MTA3ODcsIDE1OTkzLCAxLjE0NjEwOTkzODYyMTUyMV0sIFsxNjYzNzMwMzk5LjQ4Njc1OTQsIDE2MDAyLCAxLjE2MzE3MTUyOTc2OTg5NzVdLCBbMTY2MzczMDM5OS44NjE5MTE1LCAxNjAyOSwgMS4xNDE1MzY1OTM0MzcxOTQ4XSwgWzE2NjM3MzAzOTkuOTU0MDkyLCAxNjAzOCwgMS4xMTYzOTYxODg3MzU5NjJdLCBbMTY2MzczMDQwMC4yNDQ3MDA3LCAxNjA2NSwgMS4xMjE2NzAzNjUzMzM1NTcxXSwgWzE2NjM3MzA0MDAuMzM0NTk4MywgMTYwNzQsIDEuMTQ2MjI1OTI5MjYwMjU0XSwgWzE2NjM3MzA0MDAuNDE5Nzk3MiwgMTYwODMsIDEuMTA4MTM5OTkxNzYwMjU0XSwgWzE2NjM3MzA0MDAuNTA3MDQ5MywgMTYwOTIsIDEuMDk5Nzg4MTg4OTM0MzI2Ml0sIFsxNjYzNzMwNDAwLjY3NzMxMDcsIDE2MTEwLCAxLjExNjgwMDQyNzQzNjgyODZdLCBbMTY2MzczMDQwMC43NjMyNDQ2LCAxNjExOSwgMS4xMTY4NTUzODI5MTkzMTE1XSwgWzE2NjM3MzA0MDAuOTQ2MDQxNiwgMTYxMzcsIDEuMTEwNzc4Njg5Mzg0NDYwNF0sIFsxNjYzNzMwNDAxLjExNTE5NDYsIDE2MTU1LCAxLjIyNTk4Mzk3NzMxNzgxXSwgWzE2NjM3MzA0MDEuMjk5OTM1NiwgMTYxNzMsIDEuMTg3MjMwMjI5Mzc3NzQ2Nl0sIFsxNjYzNzMwNDAxLjM4NTY2NywgMTYxODIsIDEuMTM4MDkxMjA2NTUwNTk4MV0sIFsxNjYzNzMwNDAxLjY0OTgyMTUsIDE2MjA5LCAxLjEzMTM5MDgxMDAxMjgxNzRdLCBbMTY2MzczMDQwMS45NDQ4MjQsIDE2MjE4LCAxLjE3MDA1NjQ2MjI4NzkwMjhdLCBbMTY2MzczMDQwMi4wMjk4NjQ1LCAxNjIyNywgMS4xNTc2ODgxNDA4NjkxNDA2XSwgWzE2NjM3MzA0MDIuMTI1MjQ0MSwgMTYyMzYsIDEuMTM4MzIzMzA3MDM3MzUzNV0sIFsxNjYzNzMwNDAyLjIxMzYyMTksIDE2MjQ1LCAxLjI4MTY2OTYxNjY5OTIxODhdLCBbMTY2MzczMDQwMi41NzMwOTA2LCAxNjI4MSwgMS4xNDAzNDkzODgxMjI1NTg2XSwgWzE2NjM3MzA0MDIuNzUwODI4NywgMTYyOTksIDEuMTQ2NTY0OTYwNDc5NzM2M10sIFsxNjYzNzMwNDAzLjA5NDA5MDIsIDE2MzM1LCAxLjEzMjQ2MjE0Mzg5ODAxMDNdLCBbMTY2MzczMDQwMy4yNzc1NDU3LCAxNjM1MywgMS4xMTg4Nzg4NDE0MDAxNDY1XSwgWzE2NjM3MzA0MDMuNDU0NTc2NSwgMTYzNzEsIDEuMDk1OTQ3MDI3MjA2NDIxXSwgWzE2NjM3MzA0MDMuNTQxODIsIDE2MzgwLCAxLjEwMDg2MDcxNDkxMjQxNDZdLCBbMTY2MzczMDQwMy44ODMxNjA2LCAxNjQxNiwgMS4xMjIwMjAwMDYxNzk4MDk2XSwgWzE2NjM3MzA0MDQuMTM4MTAwMSwgMTY0NDMsIDEuMTI4ODQ1MzM0MDUzMDM5Nl0sIFsxNjYzNzMwNDA0LjIyODIwNzYsIDE2NDUyLCAxLjEyOTkyOTQyMzMzMjIxNDRdLCBbMTY2MzczMDQwNC40MDcxNDg0LCAxNjQ3MCwgMS4xODM4OTU3MDcxMzA0MzIxXSwgWzE2NjM3MzA0MDQuNDk4ODg2NiwgMTY0NzksIDEuMTE3NDI4MTgzNTU1NjAzXSwgWzE2NjM3MzA0MDQuNjY1MDAxLCAxNjQ5NywgMS4xMTM4Njk5MDU0NzE4MDE4XSwgWzE2NjM3MzA0MDQuNzUwMTg1LCAxNjUwNiwgMS4xMjE0OTcxNTQyMzU4Mzk4XSwgWzE2NjM3MzA0MDQuODMwOTkzNywgMTY1MTUsIDEuMTIzMDgxNDQ1NjkzOTY5N10sIFsxNjYzNzMwNDA1LjAwMDI1MywgMTY1MzMsIDEuMTQ2NDIyMDI4NTQxNTY1XSwgWzE2NjM3MzA0MDUuMDg5NjA0OSwgMTY1NDIsIDEuMTMxMjc2OTY1MTQxMjk2NF0sIFsxNjYzNzMwNDA1LjE3MDc0MDgsIDE2NTUxLCAxLjEzMDE0MTI1ODIzOTc0Nl0sIFsxNjYzNzMwNDA1LjUyNzc0MTcsIDE2NTg3LCAxLjE4NTE0MzExMzEzNjI5MTVdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_05-47-37_8f860c94f07e&tag=Loss%2Fvalid":{"data":"W1sxNjYzNzM5MjU5LjkyNzI3NywgOSwgNTAuNzczODA3NTI1NjM0NzY2XSwgWzE2NjM3MzkyNjAuMTAzODM3LCAyNywgMjUuNDE0MDU2Nzc3OTU0MV0sIFsxNjYzNzM5MjYwLjE4OTU3OCwgMzYsIDI1LjY0MjcyMzA4MzQ5NjA5NF0sIFsxNjYzNzM5MjYwLjI4MjI4MzMsIDQ1LCAxNy4yNjgzOTQ0NzAyMTQ4NDRdLCBbMTY2MzczOTI2MC44MDkzMTAyLCA5OSwgNS42NDM1MTg0NDc4NzU5NzddLCBbMTY2MzczOTI2MC44OTk1MjUyLCAxMDgsIDYuMDgyNzA2OTI4MjUzMTc0XSwgWzE2NjM3MzkyNjEuMzAxMDEwNiwgMTM1LCA2LjA5NjMwMjUwOTMwNzg2MV0sIFsxNjYzNzM5MjYxLjM5MzkyMjMsIDE0NCwgNS43NTg5MTk3MTU4ODEzNDhdLCBbMTY2MzczOTI2MS42NzQzMDc2LCAxNzEsIDQuMzA3NTQ5NDc2NjIzNTM1XSwgWzE2NjM3MzkyNjEuNzUyMDAwOCwgMTgwLCA0LjQ0NjQ2NTQ5MjI0ODUzNV0sIFsxNjYzNzM5MjYxLjgzNjc3NjcsIDE4OSwgNC43MTU3NjczODM1NzU0Mzk1XSwgWzE2NjM3MzkyNjEuOTkwMTg5OCwgMjA3LCA1LjExNTg3MjM4MzExNzY3Nl0sIFsxNjYzNzM5MjYyLjA5MTQ5NTgsIDIxNiwgNC4zNjMxMzE1MjMxMzIzMjRdLCBbMTY2MzczOTI2Mi4zOTI5MDk1LCAyNDMsIDUuMjc0NTMyMzE4MTE1MjM0XSwgWzE2NjM3MzkyNjIuNDkyNDQ0OCwgMjUyLCA1LjM1Mzg4ODUxMTY1NzcxNV0sIFsxNjYzNzM5MjYyLjY3NzAwNDgsIDI3MCwgNC4yMDY4NDA5OTE5NzM4NzddLCBbMTY2MzczOTI2My4wMjMxNTQ3LCAzMDYsIDQuMDc1MTQzMzM3MjQ5NzU2XSwgWzE2NjM3MzkyNjMuMDkyOTYyLCAzMTUsIDQuNjUzNTAyNDY0Mjk0NDM0XSwgWzE2NjM3MzkyNjMuMjkyMzY2LCAzMzMsIDQuMjMxMjMyMTY2MjkwMjgzXSwgWzE2NjM3MzkyNjMuMzc3NzQ3NSwgMzQyLCAzLjk1NzkxNzkyODY5NTY3ODddLCBbMTY2MzczOTI2My40NzQ4NDQ1LCAzNTEsIDQuNDg0NzQzMTE4Mjg2MTMzXSwgWzE2NjM3MzkyNjMuNTYyMTE3OCwgMzYwLCA0LjQ0MTUwOTI0NjgyNjE3Ml0sIFsxNjYzNzM5MjYzLjY2NDMzNzIsIDM2OSwgMy42NTYzNjgwMTcxOTY2NTUzXSwgWzE2NjM3MzkyNjQuMzE5NzA0OCwgNDMyLCAzLjIyNzU4ODg5MTk4MzAzMjJdLCBbMTY2MzczOTI2NC40MTg5MTI0LCA0NDEsIDMuNDIxNzc3NzI1MjE5NzI2Nl0sIFsxNjYzNzM5MjY0LjUxNzU2ODMsIDQ1MCwgMy45NzEwOTk2MTUwOTcwNDZdLCBbMTY2MzczOTI2NC42MTQ0MDYsIDQ1OSwgMy4xMDQxODE1MjgwOTE0MzA3XSwgWzE2NjM3MzkyNjQuNzE3NzM3NywgNDY4LCAzLjA4ODk0MTMzNTY3ODEwMDZdLCBbMTY2MzczOTI2NC44MjA4NjEzLCA0NzcsIDMuNDY0NzI0NTQwNzEwNDQ5XSwgWzE2NjM3MzkyNjUuMDE3MTk5LCA0OTUsIDMuNDM0OTA0ODEzNzY2NDc5NV0sIFsxNjYzNzM5MjY1LjExMTgxNiwgNTA0LCA0LjI1ODIzNDk3NzcyMjE2OF0sIFsxNjYzNzM5MjY1LjI4NzU5MywgNTIyLCAyLjg5OTk5NDYxMTc0MDExMjNdLCBbMTY2MzczOTI2NS41ODYzMzE4LCA1NDksIDIuODEwNzQwNDcwODg2MjMwNV0sIFsxNjYzNzM5MjY1LjY3NzE4MywgNTU4LCAzLjA4MTg1MDc2NzEzNTYyXSwgWzE2NjM3MzkyNjUuNzQ5NzksIDU2NywgMi45NjQ1MjI4Mzg1OTI1MjkzXSwgWzE2NjM3MzkyNjUuODI1OTQyOCwgNTc2LCAyLjg5ODc4MDM0NTkxNjc0OF0sIFsxNjYzNzM5MjY1Ljk5NzY0MzUsIDU5NCwgMi44MTQ2ODI5NjA1MTAyNTRdLCBbMTY2MzczOTI2Ni4wODczODk3LCA2MDMsIDIuOTUwNzk3MDgwOTkzNjUyM10sIFsxNjYzNzM5MjY2LjE2OTE5NzYsIDYxMiwgMi44NjcwMjAxMzAxNTc0NzA3XSwgWzE2NjM3MzkyNjYuMjUzOTYwOCwgNjIxLCAyLjQ1NDQ0NTM2MjA5MTA2NDVdLCBbMTY2MzczOTI2Ni40MDUyODksIDYzOSwgMi44MTYxNzY0MTQ0ODk3NDZdLCBbMTY2MzczOTI2Ni40ODAxMDg1LCA2NDgsIDIuMzM2MDU2NzA5Mjg5NTUxXSwgWzE2NjM3MzkyNjYuNjQyMjgzMiwgNjY2LCAyLjk5NDczMzMzMzU4NzY0NjVdLCBbMTY2MzczOTI2Ni43OTU4NzgyLCA2ODQsIDIuNDQxMzA0MjA2ODQ4MTQ0NV0sIFsxNjYzNzM5MjY2Ljk1OTgzNTMsIDcwMiwgMi42NjYxOTM0ODUyNjAwMDk4XSwgWzE2NjM3MzkyNjcuMTIwNTM2MywgNzIwLCAyLjQzMzIyNTM5MzI5NTI4OF0sIFsxNjYzNzM5MjY3LjIwNTcwOSwgNzI5LCAyLjU1MTY5NDYzMTU3NjUzOF0sIFsxNjYzNzM5MjY3LjUxMzI4OTcsIDc0NywgMy4xMjYxODYzNzA4NDk2MDk0XSwgWzE2NjM3MzkyNjcuNTk2MDc0NiwgNzU2LCAyLjIzOTc4NjM4NjQ4OTg2OF0sIFsxNjYzNzM5MjY3Ljc2MDA5MTMsIDc3NCwgMi42MTAwMzQyMjczNzEyMTZdLCBbMTY2MzczOTI2Ny44MjY2ODk3LCA3ODMsIDIuMzAzOTQ3MjEwMzExODg5Nl0sIFsxNjYzNzM5MjY4LjA0NjcwNDMsIDgxMCwgMi41NTE0OTE3MzczNjU3MjI3XSwgWzE2NjM3MzkyNjguMTM3OTA1NiwgODE5LCAyLjQwNTE0OTIyMTQyMDI4OF0sIFsxNjYzNzM5MjY4LjQ4NDM1NDMsIDg2NCwgMi4zODkzMzU2MzIzMjQyMTg4XSwgWzE2NjM3MzkyNjguOTM5NjkyLCA5MDAsIDIuMjM2MjU0NDUzNjU5MDU3Nl0sIFsxNjYzNzM5MjY5LjAxMjY4ODQsIDkwOSwgMi40Mzc2NzU3MTQ0OTI3OThdLCBbMTY2MzczOTI2OS4yNDA4NTIsIDkzNiwgMi4zMTYxNTA2NjUyODMyMDNdLCBbMTY2MzczOTI2OS40NDk2NzQsIDk2MywgMi41NDE3MDM0NjI2MDA3MDhdLCBbMTY2MzczOTI2OS41MTM4Mzc2LCA5NzIsIDIuMDE2MzQ2NDU0NjIwMzYxM10sIFsxNjYzNzM5MjY5LjY3NDA4MjUsIDk5MCwgMi4wNTY3OTAzNTE4Njc2NzZdLCBbMTY2MzczOTI2OS43NTUyODEsIDk5OSwgMi4yNzE3ODgzNTg2ODgzNTQ1XSwgWzE2NjM3MzkyNjkuODI5ODU4MywgMTAwOCwgMS45MzMyNzk2MzM1MjIwMzM3XSwgWzE2NjM3MzkyNzAuMDY3MTA1MywgMTAzNSwgMi4xNjY0Njg4NTg3MTg4NzJdLCBbMTY2MzczOTI3MC4yMTcwOTE2LCAxMDUzLCAyLjYwMTgwMzA2NDM0NjMxMzVdLCBbMTY2MzczOTI3MC41OTU5ODc2LCAxMDk4LCAyLjIzNTc3MDk0MDc4MDYzOTZdLCBbMTY2MzczOTI3MC44OTE1MzE3LCAxMTM0LCAyLjE3OTY3NDg2MzgxNTMwNzZdLCBbMTY2MzczOTI3MC45NjE1ODc3LCAxMTQzLCAyLjI3NzAxMjM0ODE3NTA0OV0sIFsxNjYzNzM5MjcxLjEwOTkxNjQsIDExNjEsIDEuODg4OTUxNTM5OTkzMjg2MV0sIFsxNjYzNzM5MjcxLjE4Njc2NzMsIDExNzAsIDIuNjQ2ODE0MzQ2MzEzNDc2Nl0sIFsxNjYzNzM5MjcxLjI1NjAzMSwgMTE3OSwgMi4wNzgxNTg2MTcwMTk2NTMzXSwgWzE2NjM3MzkyNzEuMzM4NzQyNSwgMTE4OCwgMi4wOTM1NjI4NDE0MTU0MDUzXSwgWzE2NjM3MzkyNzEuNDA3ODIyLCAxMTk3LCAyLjAzMDUwNTg5NTYxNDYyNF0sIFsxNjYzNzM5MjcxLjU0ODA3MDcsIDEyMTUsIDEuOTY1MzY4NjI4NTAxODkyXSwgWzE2NjM3MzkyNzEuNjk0OTEyLCAxMjMzLCAyLjIzMDY4NDA0MTk3NjkyODddLCBbMTY2MzczOTI3MS43NjE1MjUyLCAxMjQyLCAyLjQxMzIwODk2MTQ4NjgxNjRdLCBbMTY2MzczOTI3Mi4xNzg4MzU5LCAxMjk2LCAyLjM4NTY2NjEzMTk3MzI2NjZdLCBbMTY2MzczOTI3Mi4yNTQxNTEzLCAxMzA1LCAyLjE1NTMzNzMzMzY3OTE5OV0sIFsxNjYzNzM5MjcyLjQwNTI2MiwgMTMyMywgMi4wMDMxODA3NDIyNjM3OTRdLCBbMTY2MzczOTI3Mi40ODExNzI4LCAxMzMyLCAyLjI1Njk4NDk0OTExMTkzODVdLCBbMTY2MzczOTI3Mi43MDYyNjc4LCAxMzU5LCAxLjgxMTE3NjUzODQ2NzQwNzJdLCBbMTY2MzczOTI3My4yMjI5Mjc2LCAxNDIyLCAxLjg4ODA2ODE5OTE1NzcxNDhdLCBbMTY2MzczOTI3My4zNjQ4ODI1LCAxNDQwLCAxLjc5NzYyNjk3MjE5ODQ4NjNdLCBbMTY2MzczOTI3My40NTUzMTMyLCAxNDQ5LCAxLjg1NDUyNDczMTYzNjA0NzRdLCBbMTY2MzczOTI3My43MDgyMjcsIDE0NjcsIDIuMTQ0OTUwNjI4MjgwNjM5Nl0sIFsxNjYzNzM5MjczLjg0NzQ3ODksIDE0NzYsIDEuNzk1MzIxMzQ1MzI5Mjg0N10sIFsxNjYzNzM5MjczLjk5Nzc1MDgsIDE0ODUsIDIuMTkxNjY2NjAzMDg4Mzc5XSwgWzE2NjM3MzkyNzQuMjg5NjU0NywgMTUwMywgMS45NTExOTk2NTA3NjQ0NjUzXSwgWzE2NjM3MzkyNzQuNjU3MzUyMiwgMTUzOSwgMS42ODg5MzE0NjUxNDg5MjU4XSwgWzE2NjM3MzkyNzQuNzc2MDk3NSwgMTU0OCwgMS45NDI2MTI3NjcyMTk1NDM1XSwgWzE2NjM3MzkyNzQuODY0NjAxNCwgMTU1NywgMi4yMjQ5OTQ0MjEwMDUyNDldLCBbMTY2MzczOTI3NS4wODcxMTQ4LCAxNTg0LCAyLjA3NDUwNzIzNjQ4MDcxM10sIFsxNjYzNzM5Mjc1LjE2MTY1NzgsIDE1OTMsIDEuNTczNzQ3OTkyNTE1NTY0XSwgWzE2NjM3MzkyNzUuMjk0NTMwNCwgMTYwMiwgMi4yODc5ODE5ODY5OTk1MTE3XSwgWzE2NjM3MzkyNzUuMzk1NDE5NCwgMTYxMSwgMS44Mzg3NDQ5OTc5NzgyMTA0XSwgWzE2NjM3MzkyNzUuNTY0NDExNiwgMTYyOSwgMi4xMzAzNDc5NjcxNDc4MjddLCBbMTY2MzczOTI3NS42NTc3NzksIDE2MzgsIDIuMjE4ODc1NjQ2NTkxMTg2NV0sIFsxNjYzNzM5Mjc1Ljg2MzE3NzgsIDE2NTYsIDIuMjA5ODQ3NDUwMjU2MzQ3N10sIFsxNjYzNzM5Mjc2LjE4NjE5LCAxNjY1LCAyLjI1Nzc4ODY1ODE0MjA5XSwgWzE2NjM3MzkyNzYuMjc1OTI4MywgMTY3NCwgMS44ODkwOTc2OTA1ODIyNzU0XSwgWzE2NjM3MzkyNzYuMzc3ODUyMiwgMTY4MywgMi4xNTE1NDAwNDA5Njk4NDg2XSwgWzE2NjM3MzkyNzYuNjYxNjQ3MywgMTcxMCwgMS44NTU2NDM1MTA4MTg0ODE0XSwgWzE2NjM3MzkyNzYuNzU1MTM3LCAxNzE5LCAxLjc4NDc5MTExMTk0NjEwNl0sIFsxNjYzNzM5Mjc2Ljg0OTQyNjUsIDE3MjgsIDEuOTUzNjEzNjM4ODc3ODY4N10sIFsxNjYzNzM5Mjc2Ljk0OTk0ODMsIDE3MzcsIDEuODM1Mzg2ODcyMjkxNTY1XSwgWzE2NjM3MzkyNzcuMjI0NzE1NywgMTc2NCwgMi4wMDkxMzg1ODQxMzY5NjNdLCBbMTY2MzczOTI3Ny40NjA4NTIxLCAxNzkxLCAxLjY4NTQ1MTAzMDczMTIwMTJdLCBbMTY2MzczOTI3Ny41MzM0MzU4LCAxODAwLCAyLjA5MDY3MjAxNjE0Mzc5OV0sIFsxNjYzNzM5Mjc3LjYxMzE4OTUsIDE4MDksIDEuOTcwNTQ2ODQxNjIxMzk5XSwgWzE2NjM3MzkyNzcuNzY3MTQwNCwgMTgyNywgMi4zNjk5NjgxNzU4ODgwNjE1XSwgWzE2NjM3MzkyNzcuODMxNTk4NSwgMTgzNiwgMi4yNjY1NzYyOTAxMzA2MTUyXSwgWzE2NjM3MzkyNzcuODk4NjU1MiwgMTg0NSwgMS44ODE1MjQ2ODIwNDQ5ODNdLCBbMTY2MzczOTI3Ny45NjQ2MTY4LCAxODU0LCAxLjk0ODU3MDk2NjcyMDU4MV0sIFsxNjYzNzM5Mjc4LjExNzkxOTQsIDE4NzIsIDEuODAyMzMwMzc0NzE3NzEyNF0sIFsxNjYzNzM5Mjc4LjI4NTQ5OTgsIDE4OTAsIDEuODU2NjIxNjIzMDM5MjQ1Nl0sIFsxNjYzNzM5Mjc4LjU2MDEyMDMsIDE5MDgsIDEuOTE5MjczNzM0MDkyNzEyNF0sIFsxNjYzNzM5Mjc4LjcxODk3OTYsIDE5MjYsIDIuMDE2NjQ3MzM4ODY3MTg3NV0sIFsxNjYzNzM5Mjc4Ljg3MDkzNjIsIDE5NDQsIDIuMTczNTk0MjM2MzczOTAxNF0sIFsxNjYzNzM5Mjc4Ljk0NTg5NzYsIDE5NTMsIDIuMjM0NjY1MTU1NDEwNzY2Nl0sIFsxNjYzNzM5Mjc5LjA5MzcyMzUsIDE5NzEsIDIuMjEyNjQ5MzQ1Mzk3OTQ5XSwgWzE2NjM3MzkyNzkuMTU5Nzc4NCwgMTk4MCwgMS42OTMzNDY5NzcyMzM4ODY3XSwgWzE2NjM3MzkyNzkuMjI1NTk3NCwgMTk4OSwgMS42NDg1NTExMDY0NTI5NDJdLCBbMTY2MzczOTI3OS4yOTIwNDIzLCAxOTk4LCAxLjg0MzUyODYyODM0OTMwNDJdLCBbMTY2MzczOTI3OS4zNTk3MjcsIDIwMDcsIDIuMDAxMDIzNzY5Mzc4NjYyXSwgWzE2NjM3MzkyNzkuNDk5ODIyNiwgMjAyNSwgMS43MTU1NDE2MDExODEwMzAzXSwgWzE2NjM3MzkyNzkuNTY4MTk3NywgMjAzNCwgMi4xODk2NTYwMTkyMTA4MTU0XSwgWzE2NjM3MzkyNzkuODc3MDU3OCwgMjA3MCwgMS45NjA5NDA1OTk0NDE1MjgzXSwgWzE2NjM3MzkyODAuMDczMzMxNiwgMjA5NywgMS45MjA3NDk3ODM1MTU5MzAyXSwgWzE2NjM3MzkyODAuMjkzMjkwNiwgMjEyNCwgMS43NDIwNDU2NDA5NDU0MzQ2XSwgWzE2NjM3MzkyODAuMzYwNjU3LCAyMTMzLCAxLjk2NjcyOTA0NDkxNDI0NTZdLCBbMTY2MzczOTI4MC40MjY3NDAyLCAyMTQyLCAxLjU0MDEyNjkxOTc0NjM5OV0sIFsxNjYzNzM5MjgwLjUyNTk2MTQsIDIxNTEsIDEuNjI2MTAzNTIwMzkzMzcxNl0sIFsxNjYzNzM5MjgwLjYyMTk4OCwgMjE2MCwgMS45OTM4NTE0MjMyNjM1NDk4XSwgWzE2NjM3MzkyODAuODExOTE4NSwgMjE3OCwgMS45MDM4NzIzNzA3MTk5MDk3XSwgWzE2NjM3MzkyODAuODkzMDcyLCAyMTg3LCAxLjU4NzU3NTc5MzI2NjI5NjRdLCBbMTY2MzczOTI4MS4xMTY0OTYzLCAyMjA1LCAxLjgyMzM0NjYxNDgzNzY0NjVdLCBbMTY2MzczOTI4MS4xOTA1NzU4LCAyMjE0LCAxLjYxMDQwNDAxNDU4NzQwMjNdLCBbMTY2MzczOTI4MS4yOTc0NjY1LCAyMjIzLCAxLjg1MTgwMzE4MzU1NTYwM10sIFsxNjYzNzM5MjgxLjM2NDkxOTIsIDIyMzIsIDEuODA2ODY2MTY4OTc1ODNdLCBbMTY2MzczOTI4MS45Mjc5NDU2LCAyMjc3LCAyLjAwOTk2MzI3NDAwMjA3NV0sIFsxNjYzNzM5MjgyLjAwMjU4MTYsIDIyODYsIDEuNzk2MDgyMjU4MjI0NDg3M10sIFsxNjYzNzM5MjgyLjA4NzkxMTYsIDIyOTUsIDEuNjY2NDk5OTcyMzQzNDQ0OF0sIFsxNjYzNzM5MjgyLjM4NzU2MDEsIDIzMjIsIDEuNjY2NTU1MTY2MjQ0NTA2OF0sIFsxNjYzNzM5MjgyLjQ1ODc0NDMsIDIzMzEsIDEuNzgwNDIyNTY4MzIxMjI4XSwgWzE2NjM3MzkyODIuNTI5MTk5LCAyMzQwLCAxLjY0ODQ3NjEyMzgwOTgxNDVdLCBbMTY2MzczOTI4Mi42MTQ4NzM2LCAyMzQ5LCAxLjU4NDI0NTIwNDkyNTUzN10sIFsxNjYzNzM5MjgyLjc5MTIzNzYsIDIzNjcsIDIuMDU4MzA1MDI1MTAwNzA4XSwgWzE2NjM3MzkyODMuMzM1OTU5NCwgMjQyMSwgMS44MzI2OTc4NjgzNDcxNjhdLCBbMTY2MzczOTI4My42ODgxMTY4LCAyNDM5LCAxLjg0OTkzMTgzNjEyODIzNDldLCBbMTY2MzczOTI4My43NzAwNTA4LCAyNDQ4LCAxLjY4OTQ3NDIyNTA0NDI1MDVdLCBbMTY2MzczOTI4NC4wOTkzOSwgMjQ3NSwgMS40MjUyNjM0MDQ4NDYxOTE0XSwgWzE2NjM3MzkyODQuMjA1NDA5OCwgMjQ4NCwgMS43MjQ4ODAzMzc3MTUxNDldLCBbMTY2MzczOTI4NC4zMDQxMTM5LCAyNDkzLCAxLjk0NjgyNTE0NjY3NTEwOTldLCBbMTY2MzczOTI4NC40OTU5Mzk1LCAyNTExLCAxLjg2Mjg5NDY1NDI3Mzk4NjhdLCBbMTY2MzczOTI4NC42OTk4MDI0LCAyNTI5LCAxLjc0MjI1MzQyMjczNzEyMTZdLCBbMTY2MzczOTI4NC44NDQ1NTQ3LCAyNTQ3LCAxLjc4MzYzNTM3Nzg4MzkxMTFdLCBbMTY2MzczOTI4NC45MTc3NTQsIDI1NTYsIDEuODIzNjA0NzAyOTQ5NTI0XSwgWzE2NjM3MzkyODUuMDY5ODI4MywgMjU3NCwgMS42ODMxMTkyOTcwMjc1ODhdLCBbMTY2MzczOTI4NS4yMjc5NzIsIDI1OTIsIDEuOTY3NjE3NTExNzQ5MjY3Nl0sIFsxNjYzNzM5Mjg1LjI5ODY1MSwgMjYwMSwgMi4wNjg2MjA2ODE3NjI2OTUzXSwgWzE2NjM3MzkyODUuNDM3NDQxNiwgMjYxOSwgMS44NDAxMzE4Nzg4NTI4NDQyXSwgWzE2NjM3MzkyODUuNTA2NjUyNCwgMjYyOCwgMS43NDIyOTcwNTMzMzcwOTcyXSwgWzE2NjM3MzkyODUuNzkwNTQyMSwgMjY2NCwgMi4wMTMyNzM0Nzc1NTQzMjEzXSwgWzE2NjM3MzkyODUuODU2NTI3LCAyNjczLCAxLjY1MjY3NjkzOTk2NDI5NDRdLCBbMTY2MzczOTI4NS45MjIxNDM3LCAyNjgyLCAxLjc1NTg0MDMwMTUxMzY3MTldLCBbMTY2MzczOTI4NS45OTQ3Njg2LCAyNjkxLCAxLjU1MzY5Mzc3MTM2MjMwNDddLCBbMTY2MzczOTI4Ni4wNjUyMDQ2LCAyNzAwLCAyLjA0NTc3MTM2MDM5NzMzOV0sIFsxNjYzNzM5Mjg2LjU0MTc4OCwgMjc0NSwgMS44OTM3MzkyMjM0ODAyMjQ2XSwgWzE2NjM3MzkyODYuNjgzODU1OCwgMjc2MywgMS42NjUzNTI0NjM3MjIyMjldLCBbMTY2MzczOTI4Ni43NTU5MTY2LCAyNzcyLCAxLjYxNTU1NTQwNTYxNjc2MDNdLCBbMTY2MzczOTI4Ni44MjE4NDg0LCAyNzgxLCAxLjg0NDcyNjIwNDg3MjEzMTNdLCBbMTY2MzczOTI4Ni44OTU0NzE2LCAyNzkwLCAyLjA0ODc1OTY5ODg2Nzc5OF0sIFsxNjYzNzM5Mjg3LjEwNzU4MjYsIDI4MTcsIDEuOTc5ODA3MDE5MjMzNzAzNl0sIFsxNjYzNzM5Mjg3LjE3OTg2MTMsIDI4MjYsIDEuNjY5MDY1MjM3MDQ1Mjg4XSwgWzE2NjM3MzkyODcuMzI1Mzc4NCwgMjg0NCwgMS40MTAxNjM5OTg2MDM4MjA4XSwgWzE2NjM3MzkyODcuNDAxNDM3LCAyODUzLCAxLjQ5MjExOTU1MDcwNDk1Nl0sIFsxNjYzNzM5Mjg3LjU1MTk0NDUsIDI4NzEsIDEuOTEwNjU0MDY3OTkzMTY0XSwgWzE2NjM3MzkyODcuNjI2MTUzNSwgMjg4MCwgMS40OTQ5MzUxNTQ5MTQ4NTZdLCBbMTY2MzczOTI4OC4wNzk3NTE1LCAyOTA3LCAyLjMwMzQzMzQxODI3MzkyNl0sIFsxNjYzNzM5Mjg4LjIzNDQ5MDQsIDI5MjUsIDEuNzMxNTc4MzUwMDY3MTM4N10sIFsxNjYzNzM5Mjg4LjY4NDgsIDI5NzAsIDEuODAzNjY5MzMzNDU3OTQ2OF0sIFsxNjYzNzM5Mjg4Ljc3ODkyMzUsIDI5NzksIDIuMjIzODgzNjI4ODQ1MjE1XSwgWzE2NjM3MzkyODguODY2MDE1MiwgMjk4OCwgMS44MDkxNDk2MjI5MTcxNzUzXSwgWzE2NjM3MzkyODguOTU5MTAyNCwgMjk5NywgMS40ODg2MjA3NTgwNTY2NDA2XSwgWzE2NjM3MzkyODkuMDU0ODg5NywgMzAwNiwgMS43NDk2MzM1NTA2NDM5MjFdLCBbMTY2MzczOTI4OS4zNTcwNjEsIDMwNDIsIDEuNzczNjk4MjEwNzE2MjQ3Nl0sIFsxNjYzNzM5Mjg5LjQyOTYzMzEsIDMwNTEsIDEuNzI3NDk1NjcwMzE4NjAzNV0sIFsxNjYzNzM5Mjg5LjU4ODg5MiwgMzA2OSwgMS42NTY2NTcwOTk3MjM4MTZdLCBbMTY2MzczOTI4OS45MjgwNjUzLCAzMDk2LCAxLjk2NTA1MTE3NDE2MzgxODRdLCBbMTY2MzczOTI4OS45OTY2MDk3LCAzMTA1LCAxLjYxNzg2ODA2NTgzNDA0NTRdLCBbMTY2MzczOTI5MC4wNjc2Mzk2LCAzMTE0LCAxLjY1MTk1MTQzMjIyODA4ODRdLCBbMTY2MzczOTI5MC4xNDMxMzA1LCAzMTIzLCAxLjgwMDcwOTM2Njc5ODQwMDldLCBbMTY2MzczOTI5MC4zMTE1OTE0LCAzMTQxLCAxLjYyNjY1NDg2MzM1NzU0NF0sIFsxNjYzNzM5MjkwLjM4MjA3OTEsIDMxNTAsIDEuNzA1NjM2MDI0NDc1MDk3N10sIFsxNjYzNzM5MjkwLjQ1NzIxNzIsIDMxNTksIDEuODgwNjk2Mjk2NjkxODk0NV0sIFsxNjYzNzM5MjkwLjYwMDQ5NTYsIDMxNzcsIDEuOTUxNTk2OTc1MzI2NTM4XSwgWzE2NjM3MzkyOTAuNjc0ODYzLCAzMTg2LCAxLjg1NjE2ODI3MDExMTA4NF0sIFsxNjYzNzM5MjkwLjczODEyOTQsIDMxOTUsIDEuOTc4MTc0NDQ4MDEzMzA1N10sIFsxNjYzNzM5MjkwLjk5MjIxOTIsIDMyMDQsIDEuNDAwNjgxNDk1NjY2NTA0XSwgWzE2NjM3MzkyOTEuMTQ1ODAyNywgMzIyMiwgMS42NjMxNjU1NjkzMDU0Ml0sIFsxNjYzNzM5MjkxLjIzMTgwMDYsIDMyMzEsIDEuNDQ2NzAxMTY5MDEzOTc3XSwgWzE2NjM3MzkyOTEuNDA2MzYxNiwgMzI0OSwgMS41ODcyMzk2MjMwNjk3NjMyXSwgWzE2NjM3MzkyOTEuNTU4NjI1NSwgMzI2NywgMS43ODE0NTkzMzE1MTI0NTEyXSwgWzE2NjM3MzkyOTEuNjM0NTMxMywgMzI3NiwgMS42MjQwNzcyMDA4ODk1ODc0XSwgWzE2NjM3MzkyOTEuNzA5NzA0NCwgMzI4NSwgMS43NzkyODcyMTkwNDc1NDY0XSwgWzE2NjM3MzkyOTEuNzg2NDgyNiwgMzI5NCwgMS40OTcxNjAzMTU1MTM2MTA4XSwgWzE2NjM3MzkyOTEuODU3NzA1NCwgMzMwMywgMS42MTMxMzkxNTI1MjY4NTU1XSwgWzE2NjM3MzkyOTEuOTM0MjI2LCAzMzEyLCAxLjYwODA4ODI1NDkyODU4ODldLCBbMTY2MzczOTI5Mi4wMTI0OTE3LCAzMzIxLCAxLjQ0NzU3NzgzNDEyOTMzMzVdLCBbMTY2MzczOTI5Mi42MjgzNSwgMzM3NSwgMS4zMjQ2MTU1OTc3MjQ5MTQ2XSwgWzE2NjM3MzkyOTIuNzM2MzgyMiwgMzM4NCwgMS41ODMzNjA2NzE5OTcwNzAzXSwgWzE2NjM3MzkyOTIuOTMzMTYxLCAzNDAyLCAxLjkyNTU3MzExMDU4MDQ0NDNdLCBbMTY2MzczOTI5My4wMjI5NDIsIDM0MTEsIDEuNTQ5NTY4NjUzMTA2Njg5NV0sIFsxNjYzNzM5MjkzLjMzODU3MjcsIDM0NDcsIDEuNzg0MzcyODA2NTQ5MDcyM10sIFsxNjYzNzM5MjkzLjU0OTA1OTYsIDM0NjUsIDIuMDc3ODE4MzkzNzA3Mjc1NF0sIFsxNjYzNzM5MjkzLjYzMDQ4NSwgMzQ3NCwgMS44MTQxNTM1NTIwNTUzNTg5XSwgWzE2NjM3MzkyOTMuNzExNDg4NSwgMzQ4MywgMS40Mzg2NzI3ODA5OTA2MDA2XSwgWzE2NjM3MzkyOTMuOTY5MzcwNCwgMzUxMCwgMS40MzU0Mzk1ODY2Mzk0MDQzXSwgWzE2NjM3MzkyOTQuMDQ3MjE2MiwgMzUxOSwgMS42MDY1NzE1NTUxMzc2MzQzXSwgWzE2NjM3MzkyOTQuMTI2NDEwMiwgMzUyOCwgMS42MjIxMzg4NTc4NDE0OTE3XSwgWzE2NjM3MzkyOTQuMjA4NjUwNCwgMzUzNywgMS40NzU3ODYwODk4OTcxNTU4XSwgWzE2NjM3MzkyOTQuMjk5MDg2MywgMzU0NiwgMS41MjE2NTQ0ODY2NTYxODldLCBbMTY2MzczOTI5NC4zODQ0NjQ1LCAzNTU1LCAxLjQ4MTE5MTUxNTkyMjU0NjRdLCBbMTY2MzczOTI5NC40NTg2Mjk4LCAzNTY0LCAxLjU3NDEwOTA3NzQ1MzYxMzNdLCBbMTY2MzczOTI5NC41MzkxMjU0LCAzNTczLCAxLjU1MTAzMDc1NTA0MzAyOThdLCBbMTY2MzczOTI5NC42MjIzMjY5LCAzNTgyLCAxLjY4NDQwNTU2NTI2MTg0MDhdLCBbMTY2MzczOTI5NC43MDI3NTcsIDM1OTEsIDEuNzYxNDU2MzcwMzUzNjk4N10sIFsxNjYzNzM5Mjk0Ljc3NTg1MTIsIDM2MDAsIDEuNjY1NTY0Mjk4NjI5NzYwN10sIFsxNjYzNzM5Mjk0LjkzNDQ1MzIsIDM2MTgsIDIuMjM2NjQwNDUzMzM4NjIzXSwgWzE2NjM3MzkyOTUuMDE3NDM2MywgMzYyNywgMS41Njg1NTIwMTcyMTE5MTRdLCBbMTY2MzczOTI5NS4xNjQwNzYzLCAzNjQ1LCAxLjUyOTQzMzcyNzI2NDQwNDNdLCBbMTY2MzczOTI5NS4zMDcwNTksIDM2NjMsIDEuNDg5MzExMDk5MDUyNDI5Ml0sIFsxNjYzNzM5Mjk1LjQ1MzM1OTYsIDM2ODEsIDEuNTMwODQwMzk2ODgxMTAzNV0sIFsxNjYzNzM5Mjk1LjUyODksIDM2OTAsIDEuNDQxNTEzMjk5OTQyMDE2Nl0sIFsxNjYzNzM5Mjk1Ljc0NDIxODMsIDM3MTcsIDEuNjY0MDI1NDI1OTEwOTQ5N10sIFsxNjYzNzM5Mjk1LjgxMjYwMiwgMzcyNiwgMS40ODA1OTY3ODA3NzY5Nzc1XSwgWzE2NjM3MzkyOTUuODg3MTQ2MiwgMzczNSwgMS42MjQxNDM2MDA0NjM4NjcyXSwgWzE2NjM3MzkyOTUuOTYyMzkzNSwgMzc0NCwgMS41OTE4NDA4NjMyMjc4NDQyXSwgWzE2NjM3MzkyOTYuMjE5MTU5OCwgMzc3MSwgMS42NDQzODU4MTQ2NjY3NDhdLCBbMTY2MzczOTI5Ni41NDk4MDYsIDM3ODAsIDEuNDM1MTkxNzUwNTI2NDI4Ml0sIFsxNjYzNzM5Mjk2Ljc0MDQzMywgMzc5OCwgMS42MzQyMzE5MjUwMTA2ODEyXSwgWzE2NjM3MzkyOTYuODM2NDE1LCAzODA3LCAxLjYxMjc0NDU2OTc3ODQ0MjRdLCBbMTY2MzczOTI5Ny4wNzU0MDIsIDM4MzQsIDEuMzQ5NDc5MDc5MjQ2NTIxXSwgWzE2NjM3MzkyOTcuMTU2MjAzNywgMzg0MywgMS43NzUxNzU5MjkwNjk1MTldLCBbMTY2MzczOTI5Ny41MjEzMTcsIDM4NzksIDEuNTI2OTE5OTYwOTc1NjQ3XSwgWzE2NjM3MzkyOTcuNjA2ODc3MywgMzg4OCwgMS4zNjUwNDMxNjMyOTk1NjA1XSwgWzE2NjM3MzkyOTcuODQ0NjcwNSwgMzkxNSwgMS43NDAzMzQzOTE1OTM5MzNdLCBbMTY2MzczOTI5Ny45MzI0ODMsIDM5MjQsIDEuODU0NjE0MTM4NjAzMjEwNF0sIFsxNjYzNzM5Mjk4LjAxNTYwNywgMzkzMywgMS41OTE2MzQ5ODg3ODQ3OV0sIFsxNjYzNzM5Mjk4LjA5OTgyOSwgMzk0MiwgMS40NzE0NTYwNTA4NzI4MDI3XSwgWzE2NjM3MzkyOTguMTc0MTUyNiwgMzk1MSwgMS42Mjk4MjIyNTQxODA5MDgyXSwgWzE2NjM3MzkyOTguMjUwNzc0NCwgMzk2MCwgMS43MjU0MDUzMzU0MjYzMzA2XSwgWzE2NjM3MzkyOTguMzI3ODEzNCwgMzk2OSwgMS45ODAwMTUwMzk0NDM5Njk3XSwgWzE2NjM3MzkyOTguMzk3MzA2MiwgMzk3OCwgMS40MzMwMTc2MTE1MDM2MDFdLCBbMTY2MzczOTI5OC43MzY2MjI2LCAzOTk2LCAxLjcxMjQwMTg2NjkxMjg0MThdLCBbMTY2MzczOTI5OC44MDU4MzgsIDQwMDUsIDEuNzA1NzA3NjY5MjU4MTE3N10sIFsxNjYzNzM5Mjk4Ljg3OTAzNywgNDAxNCwgMS40MjI0NTEyNTc3MDU2ODg1XSwgWzE2NjM3MzkyOTguOTUxMjk1MSwgNDAyMywgMS4zOTAwMzI4ODc0NTg4MDEzXSwgWzE2NjM3MzkyOTkuMjQ2Nzc0NywgNDA1OSwgMS43NDIxNDI5MTU3MjU3MDhdLCBbMTY2MzczOTI5OS4zMTM5NzIsIDQwNjgsIDEuNTUxNDMxMjk4MjU1OTIwNF0sIFsxNjYzNzM5Mjk5LjM4NjU2MTYsIDQwNzcsIDEuNDA5OTQxMDc3MjMyMzYwOF0sIFsxNjYzNzM5Mjk5LjQ0OTA5NCwgNDA4NiwgMS40MTQ4NTA3MTE4MjI1MDk4XSwgWzE2NjM3MzkyOTkuNTIwMTE0NCwgNDA5NSwgMS40NzE3MDkwMTI5ODUyMjk1XSwgWzE2NjM3MzkyOTkuNjkwNzA2NSwgNDExMywgMS45NTk1MTkwMjg2NjM2MzUzXSwgWzE2NjM3MzkyOTkuODMxMTMzNCwgNDEzMSwgMS41MTg1MTcxMzY1NzM3OTE1XSwgWzE2NjM3MzkyOTkuOTkwNDc2OCwgNDE0OSwgMS4zNzYxODAxNzE5NjY1NTI3XSwgWzE2NjM3MzkzMDAuMDYyMDIxNywgNDE1OCwgMS44MTMzODMzNDA4MzU1NzEzXSwgWzE2NjM3MzkzMDAuMTI5MDI4NiwgNDE2NywgMS40MTE4MjI1NTc0NDkzNDA4XSwgWzE2NjM3MzkzMDAuMzI1ODY1NywgNDE4NSwgMS42MjQ1MTAxNjkwMjkyMzU4XSwgWzE2NjM3MzkzMDAuNDkwODE4LCA0MTk0LCAxLjc4ODc0NjgzMzgwMTI2OTVdLCBbMTY2MzczOTMwMC43MzA0ODI2LCA0MjAzLCAxLjU3ODEwODkwNjc0NTkxMDZdLCBbMTY2MzczOTMwMC44ODQ3NzA2LCA0MjIxLCAxLjQ5NzYxMDQ0OTc5MDk1NDZdLCBbMTY2MzczOTMwMS4wNjM1Njk1LCA0MjM5LCAxLjUwMTk3NjYwOTIzMDA0MTVdLCBbMTY2MzczOTMwMS4xNDgwMDc0LCA0MjQ4LCAxLjI0MzI1MDg0Njg2Mjc5M10sIFsxNjYzNzM5MzAxLjM5NTgxMzcsIDQyNzUsIDEuNzU3MzMzNzU1NDkzMTY0XSwgWzE2NjM3MzkzMDEuNDY3NzQ4LCA0Mjg0LCAxLjUyMDM2MzQ1MDA1MDM1NF0sIFsxNjYzNzM5MzAxLjcxMDg3OCwgNDMxMSwgMS42OTIzMDExNTQxMzY2NTc3XSwgWzE2NjM3MzkzMDEuNzk5NTM5OCwgNDMyMCwgMS42NTUyNzk2MzYzODMwNTY2XSwgWzE2NjM3MzkzMDEuODc3MjIzMywgNDMyOSwgMS4zODg4NzIwMjczOTcxNTU4XSwgWzE2NjM3MzkzMDEuOTU2NjY4NiwgNDMzOCwgMS41MTgxMjk1ODcxNzM0NjJdLCBbMTY2MzczOTMwMi4wMzE5ODE3LCA0MzQ3LCAxLjc5NTQ0NDI1MDEwNjgxMTVdLCBbMTY2MzczOTMwMi4xMDcwODMzLCA0MzU2LCAxLjQwMzA3NTA5ODk5MTM5NF0sIFsxNjYzNzM5MzAyLjE3NjA1NzYsIDQzNjUsIDEuNjc2MjQ1NDUwOTczNTEwN10sIFsxNjYzNzM5MzAyLjMxOTAwNzIsIDQzODMsIDEuMjkzMTIxMzM3ODkwNjI1XSwgWzE2NjM3MzkzMDIuMzg2OTk4LCA0MzkyLCAxLjY1OTM2ODE1NzM4Njc3OThdLCBbMTY2MzczOTMwMi40NTk0MTIzLCA0NDAxLCAxLjQ0NTEzOTE2OTY5Mjk5MzJdLCBbMTY2MzczOTMwMi41Mzk0NTE4LCA0NDEwLCAxLjMyMzEzNDY2MDcyMDgyNTJdLCBbMTY2MzczOTMwMi42ODYzMzMyLCA0NDI4LCAxLjI1ODQyNzE0MzA5NjkyMzhdLCBbMTY2MzczOTMwMi45MTgwNTM2LCA0NDU1LCAxLjY0MzE4NDE4NTAyODA3NjJdLCBbMTY2MzczOTMwMy4wNjY0NDkyLCA0NDY0LCAxLjQxNTU2OTMwNTQxOTkyMTldLCBbMTY2MzczOTMwMy40NzYzNjQ5LCA0NDkxLCAxLjUwMDAzMjQyNDkyNjc1NzhdLCBbMTY2MzczOTMwMy43MDAwNjI4LCA0NTE4LCAxLjQxMzM1MTg5MzQyNDk4NzhdLCBbMTY2MzczOTMwMy43Nzc4NzczLCA0NTI3LCAxLjQ5NzI4NDI5MzE3NDc0MzddLCBbMTY2MzczOTMwMy44NjA1MzEsIDQ1MzYsIDEuNTM1NTE4MTY5NDAzMDc2Ml0sIFsxNjYzNzM5MzA0LjA5Mjk0NTgsIDQ1NjMsIDEuNTI5NDEzNDYxNjg1MTgwN10sIFsxNjYzNzM5MzA0LjM1OTg2MiwgNDU4MSwgMS42MDM3MzI0NjY2OTc2OTI5XSwgWzE2NjM3MzkzMDQuNDY3NDk3NiwgNDU5MCwgMS4zNzc1NjU2MjIzMjk3MTJdLCBbMTY2MzczOTMwNC41NTQxMzYzLCA0NTk5LCAxLjgwMTQ1NDc4MjQ4NTk2Ml0sIFsxNjYzNzM5MzA0LjY1MzMyODcsIDQ2MDgsIDEuMzU5OTE1MjU2NTAwMjQ0MV0sIFsxNjYzNzM5MzA0Ljc2MjIzNjYsIDQ2MTcsIDEuNDU4Mjc2NTEwMjM4NjQ3NV0sIFsxNjYzNzM5MzA0Ljg0ODMxMjQsIDQ2MjYsIDEuMzc0Nzg4NTIyNzIwMzM3XSwgWzE2NjM3MzkzMDQuOTI1NTY5OCwgNDYzNSwgMS43MTYzODE1NDk4MzUyMDVdLCBbMTY2MzczOTMwNS4wNjQwMjY4LCA0NjUzLCAxLjYwMTI1OTExMjM1ODA5MzNdLCBbMTY2MzczOTMwNS4xMzQzNjUsIDQ2NjIsIDEuNDI5OTY4NzE0NzE0MDUwM10sIFsxNjYzNzM5MzA1LjIxNjcyMDMsIDQ2NzEsIDEuNTA5MDk2MTQ1NjI5ODgyOF0sIFsxNjYzNzM5MzA1LjI4OTg2MjYsIDQ2ODAsIDEuNDI5MDU5MjY3MDQ0MDY3NF0sIFsxNjYzNzM5MzA1LjQxMjAxNjIsIDQ2ODksIDEuNDk4NjE5NTU2NDI3MDAyXSwgWzE2NjM3MzkzMDUuNDkzMjYyLCA0Njk4LCAxLjQzMTI3MjYyNTkyMzE1NjddLCBbMTY2MzczOTMwNS42MjQyNzE0LCA0NzE2LCAxLjU0OTc4NjkyNTMxNTg1N10sIFsxNjYzNzM5MzA2LjQ1MTc2NjUsIDQ3NzksIDEuNTc1MDQ3NjEyMTkwMjQ2Nl0sIFsxNjYzNzM5MzA2LjcyMDczMiwgNDgwNiwgMS4zODkxOTE1MDgyOTMxNTE5XSwgWzE2NjM3MzkzMDYuNzk4MzMxNywgNDgxNSwgMS44OTg0MTI0NjYwNDkxOTQzXSwgWzE2NjM3MzkzMDYuODY1NDU5NCwgNDgyNCwgMS41NTE3ODEwNTgzMTE0NjI0XSwgWzE2NjM3MzkzMDYuOTU3ODM5NywgNDgzMywgMS40NDE0MjYwMzg3NDIwNjU0XSwgWzE2NjM3MzkzMDcuMDUxMTU4LCA0ODQyLCAxLjM2MzI5OTk2NTg1ODQ1OTVdLCBbMTY2MzczOTMwNy4xMzAxMjU1LCA0ODUxLCAxLjI1MTU3NjkwMDQ4MjE3NzddLCBbMTY2MzczOTMwNy4xOTc4OTcyLCA0ODYwLCAxLjI1Mzc1Njk5OTk2OTQ4MjRdLCBbMTY2MzczOTMwNy4yNjM1NzEsIDQ4NjksIDEuNTY1MTc3MjAyMjI0NzMxNF0sIFsxNjYzNzM5MzA3LjMzNDQzMDUsIDQ4NzgsIDEuNTEzNTY0MTA5ODAyMjQ2XSwgWzE2NjM3MzkzMDcuNDAyNzI5NywgNDg4NywgMS40NzA1ODQ5ODg1OTQwNTUyXSwgWzE2NjM3MzkzMDcuNDY2ODI0MywgNDg5NiwgMS41MjczODQ0MDAzNjc3MzY4XSwgWzE2NjM3MzkzMDcuNTQ1MTg5NCwgNDkwNSwgMS4yMDM4ODQyNDM5NjUxNDldLCBbMTY2MzczOTMwNy43MDY5ODA3LCA0OTIzLCAxLjI3MTg4MDYyNjY3ODQ2NjhdLCBbMTY2MzczOTMwNy43ODY2NTE2LCA0OTMyLCAxLjUyMjMxNDE5MDg2NDU2M10sIFsxNjYzNzM5MzA4LjAwOTAxMDgsIDQ5NTksIDEuNDYwOTAwMzA2NzAxNjYwMl0sIFsxNjYzNzM5MzA4LjE5NDkxODksIDQ5NzcsIDEuMjU4OTI1Nzk1NTU1MTE0N10sIFsxNjYzNzM5MzA4LjMzMjc1NjMsIDQ5OTUsIDEuMzUxODc3OTI3NzgwMTUxNF0sIFsxNjYzNzM5MzA4LjQxMjEzMDgsIDUwMDQsIDEuNDA0OTczNTA2OTI3NDkwMl0sIFsxNjYzNzM5MzA4LjQ4NzkxNTMsIDUwMTMsIDEuNDgwMTgwOTc4Nzc1MDI0NF0sIFsxNjYzNzM5MzA4Ljk0NDc2NSwgNTA2NywgMS40NTA2NTA2OTE5ODYwODRdLCBbMTY2MzczOTMwOS4wMzU0MTU2LCA1MDc2LCAxLjY0NTg2NDYwNTkwMzYyNTVdLCBbMTY2MzczOTMwOS4xMTQyOTU1LCA1MDg1LCAxLjM0MDcwNjM0ODQxOTE4OTVdLCBbMTY2MzczOTMwOS40MDgyMTk2LCA1MTIxLCAxLjU2ODUxMTAwOTIxNjMwODZdLCBbMTY2MzczOTMwOS40ODkwMDQ0LCA1MTMwLCAxLjc4NzUxNjcxMzE0MjM5NV0sIFsxNjYzNzM5MzA5LjY0MDEzMTUsIDUxNDgsIDEuNzUyNDM2MjgwMjUwNTQ5M10sIFsxNjYzNzM5MzA5Ljc4NTcxOCwgNTE2NiwgMS42NTQ2MzE0OTU0NzU3NjldLCBbMTY2MzczOTMxMC4wMTc2NjQ0LCA1MTkzLCAxLjUzNjQzOTQxODc5MjcyNDZdLCBbMTY2MzczOTMxMC4zMTAxMTg0LCA1MjI5LCAxLjMyMTY3NDcwNDU1MTY5NjhdLCBbMTY2MzczOTMxMC41ODg3OTg4LCA1MjY1LCAxLjMxNDIwODE0OTkwOTk3MzFdLCBbMTY2MzczOTMxMC42NTcyNzg1LCA1Mjc0LCAxLjYyNTc5NjkxNDEwMDY0N10sIFsxNjYzNzM5MzEwLjcyNzMzMjgsIDUyODMsIDEuNTU0MTM2NzUzMDgyMjc1NF0sIFsxNjYzNzM5MzEwLjkxMjg1NzUsIDUzMDEsIDEuNzE3Mzg3MTk5NDAxODU1NV0sIFsxNjYzNzM5MzExLjAwNjgyNzYsIDUzMTAsIDEuNDYyNjU2Mzc4NzQ2MDMyN10sIFsxNjYzNzM5MzExLjA3MjkyMjcsIDUzMTksIDEuNDQwNTA3MTczNTM4MjA4XSwgWzE2NjM3MzkzMTEuMTUwNDgxMiwgNTMyOCwgMS4zMDI1MDQ2NTg2OTkwMzU2XSwgWzE2NjM3MzkzMTEuMjMzMTc3NCwgNTMzNywgMS44NjE2MDAzOTkwMTczMzRdLCBbMTY2MzczOTMxMS4zNzc2NzYsIDUzNTUsIDEuMjAyOTM2MTcyNDg1MzUxNl0sIFsxNjYzNzM5MzExLjU0OTA3MTMsIDUzNzMsIDEuMzA4MzM1MDY1ODQxNjc0OF0sIFsxNjYzNzM5MzExLjYyNTkyNzQsIDUzODIsIDEuNDA2OTk3OTE5MDgyNjQxNl0sIFsxNjYzNzM5MzExLjY5ODE3NTcsIDUzOTEsIDEuNTUxMjI5MDAwMDkxNTUyN10sIFsxNjYzNzM5MzExLjc3MTY1NzIsIDU0MDAsIDEuNDIzMDA5MTU3MTgwNzg2MV0sIFsxNjYzNzM5MzExLjkyNDA5NDcsIDU0MTgsIDEuNTYyMDQ1MjE2NTYwMzYzOF0sIFsxNjYzNzM5MzEyLjAxMTQxMDIsIDU0MjcsIDEuNDE5MDMzMjg4OTU1Njg4NV0sIFsxNjYzNzM5MzEyLjExNjU2LCA1NDM2LCAxLjc1MzUxNTEyNDMyMDk4MzldLCBbMTY2MzczOTMxMi4yNjUzOTc1LCA1NDU0LCAxLjU4NDc3NTgwNTQ3MzMyNzZdLCBbMTY2MzczOTMxMi40ODk0MzgzLCA1NDgxLCAxLjI3MDE1NjI2NDMwNTExNDddLCBbMTY2MzczOTMxMi42MzU1NTcsIDU0OTksIDEuNjc3NjE5MzM4MDM1NTgzNV0sIFsxNjYzNzM5MzEzLjA1OTk2MjUsIDU1MjYsIDEuNTQ4NTg3Nzk5MDcyMjY1Nl0sIFsxNjYzNzM5MzEzLjEzMjcyODMsIDU1MzUsIDEuMzg0OTU3MzEzNTM3NTk3N10sIFsxNjYzNzM5MzEzLjI5NzU0MDcsIDU1NTMsIDEuNDY2NTgyMDU5ODYwMjI5NV0sIFsxNjYzNzM5MzEzLjM5NTQ1MywgNTU2MiwgMS40NDk1NDk0MzY1NjkyMTM5XSwgWzE2NjM3MzkzMTMuNDcwODQ5OCwgNTU3MSwgMS4zMzA4MjkzODE5NDI3NDldLCBbMTY2MzczOTMxMy42NDk0MSwgNTU4OSwgMS40MzE0MjY4ODI3NDM4MzU0XSwgWzE2NjM3MzkzMTMuNzg2NDE0NCwgNTYwNywgMS43MTk0OTY5NjU0MDgzMjUyXSwgWzE2NjM3MzkzMTMuODU2OTA3LCA1NjE2LCAxLjI2OTU2Nzg0NzI1MTg5Ml0sIFsxNjYzNzM5MzE0LjA2OTgzNSwgNTY0MywgMS42NTYyOTQzNDU4NTU3MTNdLCBbMTY2MzczOTMxNC4xNTc2NzU3LCA1NjUyLCAxLjgyMzAzMzIxMzYxNTQxNzVdLCBbMTY2MzczOTMxNC4yMjg5ODA4LCA1NjYxLCAxLjI1NjYwMjg4MzMzODkyODJdLCBbMTY2MzczOTMxNC4zMTYwMDcsIDU2NzAsIDEuNTEwNTQ0ODk2MTI1NzkzNV0sIFsxNjYzNzM5MzE0LjYyMDgxNzcsIDU3MDYsIDEuNDAwMDQyNDE0NjY1MjIyMl0sIFsxNjYzNzM5MzE0LjcwMTYxNjUsIDU3MTUsIDEuMzcxNzczODM4OTk2ODg3Ml0sIFsxNjYzNzM5MzE0Ljc3Mzk0MzIsIDU3MjQsIDEuMzIwNTUwNDQxNzQxOTQzNF0sIFsxNjYzNzM5MzE0Ljk1NDYyNDQsIDU3NDIsIDEuNDI2MjExNzE0NzQ0NTY3OV0sIFsxNjYzNzM5MzE1LjI0MjQzOTMsIDU3NjksIDEuMzQ1MDE0NjkxMzUyODQ0Ml0sIFsxNjYzNzM5MzE1LjMzMTU0OTYsIDU3NzgsIDEuMzM0NjEyODQ2Mzc0NTExN10sIFsxNjYzNzM5MzE1LjQxNjQ4MzYsIDU3ODcsIDEuNDU0NzUxMDE0NzA5NDcyN10sIFsxNjYzNzM5MzE1LjUwNDgzMTYsIDU3OTYsIDEuNjk0MTA0MzEzODUwNDAyOF0sIFsxNjYzNzM5MzE1LjU5MjAzMDMsIDU4MDUsIDEuMzkyNTk5MTA1ODM0OTYxXSwgWzE2NjM3MzkzMTUuNjk1NzI5NSwgNTgxNCwgMS41MTU5MzAyOTQ5OTA1Mzk2XSwgWzE2NjM3MzkzMTYuMDA0NjMyMiwgNTg1MCwgMS40NDI5NTEzMjE2MDE4Njc3XSwgWzE2NjM3MzkzMTYuMTU5MTk0NSwgNTg2OCwgMS40MDE0NTcxOTA1MTM2MTA4XSwgWzE2NjM3MzkzMTYuMjM2ODc1OCwgNTg3NywgMS4zNDQ5NzEyOTkxNzE0NDc4XSwgWzE2NjM3MzkzMTYuMzMyODYyMSwgNTg4NiwgMS4yNTcwMzE0NDA3MzQ4NjMzXSwgWzE2NjM3MzkzMTYuNDEyMzQ1NiwgNTg5NSwgMS40MDkzMDg5MTAzNjk4NzNdLCBbMTY2MzczOTMxNi40ODQ4Njc4LCA1OTA0LCAxLjM0NjQzNzIxNTgwNTA1MzddLCBbMTY2MzczOTMxNi43MDMyNjQyLCA1OTMxLCAxLjQzMTg3ODU2Njc0MTk0MzRdLCBbMTY2MzczOTMxNi43NjkxMzI2LCA1OTQwLCAxLjcwNjIxOTY3MzE1NjczODNdLCBbMTY2MzczOTMxNi44NDk1Mjc2LCA1OTQ5LCAxLjMwNzYwNDY3MDUyNDU5NzJdLCBbMTY2MzczOTMxNy4zNjk4ODEsIDYwMTIsIDEuNjEyNzUwMDUzNDA1NzYxN10sIFsxNjYzNzM5MzE3LjYwMDgwMTcsIDYwMzksIDEuNDQxODIyMjkwNDIwNTMyMl0sIFsxNjYzNzM5MzE3Ljk2ODE4MywgNjA4NCwgMS4zMTk1NzQxMTc2NjA1MjI1XSwgWzE2NjM3MzkzMTguMDQwNzAzNSwgNjA5MywgMS4zODg4NTE2NDI2MDg2NDI2XSwgWzE2NjM3MzkzMTguMTEwNjQ3LCA2MTAyLCAxLjM0NzM5NDQ2NjQwMDE0NjVdLCBbMTY2MzczOTMxOC4zNjAzNTM3LCA2MTI5LCAxLjU2ODU5MDE2NDE4NDU3MDNdLCBbMTY2MzczOTMxOC43OTI1NDIyLCA2MTQ3LCAxLjM4OTEzNTU5OTEzNjM1MjVdLCBbMTY2MzczOTMxOC45MjUxMDAzLCA2MTU2LCAxLjQzNzUyNTk4NzYyNTEyMl0sIFsxNjYzNzM5MzE4Ljk5NTE1OTEsIDYxNjUsIDEuNDMxODQ3MDk1NDg5NTAyXSwgWzE2NjM3MzkzMTkuMDgxOTQ5NSwgNjE3NCwgMS45MDA1NDIwMjA3OTc3Mjk1XSwgWzE2NjM3MzkzMTkuMjYyMjg4OCwgNjE5MiwgMS4zMzU1MDEzMTMyMDk1MzM3XSwgWzE2NjM3MzkzMTkuMzkxMzgxLCA2MjAxLCAxLjI0Nzg5NDc2Mzk0NjUzMzJdLCBbMTY2MzczOTMxOS43MDQ4NDQ3LCA2MjM3LCAxLjI5MTg3ODIyMzQxOTE4OTVdLCBbMTY2MzczOTMxOS43ODU3MjMyLCA2MjQ2LCAxLjM5Njk2NzI5MTgzMTk3MDJdLCBbMTY2MzczOTMxOS44Njk5MDAyLCA2MjU1LCAxLjYwMjkxNDQ1MjU1Mjc5NTRdLCBbMTY2MzczOTMyMC4xMjMzNDYzLCA2MjY0LCAxLjQzNDQ3MjkxODUxMDQzN10sIFsxNjYzNzM5MzIwLjE5MTY3ODgsIDYyNzMsIDEuMzE0OTk2NjAwMTUxMDYyXSwgWzE2NjM3MzkzMjAuMjcxMzY3OCwgNjI4MiwgMS41ODk1Mjk1MTQzMTI3NDQxXSwgWzE2NjM3MzkzMjAuNDc4MzQ4NywgNjMwMCwgMS4zNDk2ODU0MzA1MjY3MzM0XSwgWzE2NjM3MzkzMjAuNzI2NDM1NywgNjMyNywgMS4xOTg0MjI3ODk1NzM2Njk0XSwgWzE2NjM3MzkzMjAuODA2Mzg3LCA2MzM2LCAxLjQ2ODc1NzE1MjU1NzM3M10sIFsxNjYzNzM5MzIwLjk2NDU1MjQsIDYzNTQsIDEuNDMyMTE1MTk3MTgxNzAxN10sIFsxNjYzNzM5MzIxLjI3NDQ2MDMsIDYzOTAsIDEuMjMwNTE1NzE4NDYwMDgzXSwgWzE2NjM3MzkzMjEuMzQyMDQ3NSwgNjM5OSwgMS4yNDM0NjMzOTcwMjYwNjJdLCBbMTY2MzczOTMyMS41NTM0NjkyLCA2NDE3LCAxLjMzMTM1MDY4NDE2NTk1NDZdLCBbMTY2MzczOTMyMS43NzA0NzE2LCA2NDQ0LCAxLjI5MjkwNjY0MTk2MDE0NF0sIFsxNjYzNzM5MzIxLjkxOTQ1NCwgNjQ2MiwgMS4xNzEzNTM0NTkzNTgyMTUzXSwgWzE2NjM3MzkzMjIuMDY3MTQ5MiwgNjQ4MCwgMS4yOTY1MjExODY4Mjg2MTMzXSwgWzE2NjM3MzkzMjIuMTQ2MDU0NywgNjQ4OSwgMS4zNDgwMTIwODk3MjkzMDldLCBbMTY2MzczOTMyMi4yMTgyMjI2LCA2NDk4LCAxLjUwMzI4MjQyNzc4Nzc4MDhdLCBbMTY2MzczOTMyMi4zNTMxNTgyLCA2NTE2LCAxLjg4MDQ3NjgzMjM4OTgzMTVdLCBbMTY2MzczOTMyMi40MjY5MDczLCA2NTI1LCAxLjMyOTIxMDI4MTM3MjA3MDNdLCBbMTY2MzczOTMyMi40OTc2NDY4LCA2NTM0LCAxLjE5MzM2NDM4MTc5MDE2MTFdLCBbMTY2MzczOTMyMi41NjU5Mzg1LCA2NTQzLCAxLjQ5MjI3NDA0NTk0NDIxMzldLCBbMTY2MzczOTMyMi42MzI0OTU0LCA2NTUyLCAxLjYxNzI3Nzc0MTQzMjE5XSwgWzE2NjM3MzkzMjIuNzA5MjczMywgNjU2MSwgMS4zMTUyMjc4NjYxNzI3OTA1XSwgWzE2NjM3MzkzMjIuNzc0MTcyLCA2NTcwLCAxLjI1OTE1ODQ5MjA4ODMxNzldLCBbMTY2MzczOTMyMi45MTc0OTg2LCA2NTg4LCAxLjE2OTY5OTQzMDQ2NTY5ODJdLCBbMTY2MzczOTMyMi45ODUxNDQsIDY1OTcsIDEuNDIwMjcyMzUwMzExMjc5M10sIFsxNjYzNzM5MzIzLjA1NTY0MiwgNjYwNiwgMS4zMDg4NjUwNzAzNDMwMTc2XSwgWzE2NjM3MzkzMjMuNDczODI3MSwgNjY1MSwgMS4yNzYxNDExNjY2ODcwMTE3XSwgWzE2NjM3MzkzMjMuNTUxMTA5NiwgNjY2MCwgMS40MTQ2NDU3OTEwNTM3NzJdLCBbMTY2MzczOTMyMy42Mjg4NDI2LCA2NjY5LCAxLjgxMjM1MTM0NjAxNTkzMDJdLCBbMTY2MzczOTMyMy43Njc3MDQyLCA2Njg3LCAxLjM0MTI3NzU5OTMzNDcxNjhdLCBbMTY2MzczOTMyMy44NDIzMDUyLCA2Njk2LCAxLjU2ODIxNTcyNzgwNjA5MTNdLCBbMTY2MzczOTMyMy45MjE2ODU1LCA2NzA1LCAxLjM1MzI2NzQzMTI1OTE1NTNdLCBbMTY2MzczOTMyNC4wMDM5MDEyLCA2NzE0LCAxLjI1MzM1MTgwNzU5NDI5OTNdLCBbMTY2MzczOTMyNC41MjAyNjYsIDY3NzcsIDEuMzA1NDIwNzU2MzQwMDI2OV0sIFsxNjYzNzM5MzI0Ljc1NDUyMjMsIDY4MDQsIDEuMzc4OTQyNzI4MDQyNjAyNV0sIFsxNjYzNzM5MzI0Ljg0NDY3NDgsIDY4MTMsIDEuMzAzMTA1MTE1ODkwNTAzXSwgWzE2NjM3MzkzMjUuMTY1ODY4NSwgNjgzMSwgMS4yMDQzMjY2Mjk2Mzg2NzE5XSwgWzE2NjM3MzkzMjUuNTI5MzU0MywgNjg3NiwgMS40MDY4NDc3MTUzNzc4MDc2XSwgWzE2NjM3MzkzMjUuNTk4ODA3NiwgNjg4NSwgMS4zNTc4Njc1OTg1MzM2MzA0XSwgWzE2NjM3MzkzMjUuNjY5ODA4LCA2ODk0LCAxLjE1NjE5NjQ3NTAyODk5MTddLCBbMTY2MzczOTMyNS44MDc4ODQyLCA2OTEyLCAxLjIyMTgzNzUyMDU5OTM2NTJdLCBbMTY2MzczOTMyNS44ODY0MzI0LCA2OTIxLCAxLjI1MDAzNDY4OTkwMzI1OTNdLCBbMTY2MzczOTMyNi4wODM2ODAyLCA2OTMwLCAxLjE1NDAyMjQ1NTIxNTQ1NF0sIFsxNjYzNzM5MzI2LjE5MDA2NjYsIDY5MzksIDEuNTA2MTEzODg2ODMzMTkxXSwgWzE2NjM3MzkzMjYuMjYxMTQyLCA2OTQ4LCAxLjU2MTgyNDU2MDE2NTQwNTNdLCBbMTY2MzczOTMyNi4zMzI4NjgzLCA2OTU3LCAxLjE5MTE5MjE1MDExNTk2NjhdLCBbMTY2MzczOTMyNi40MDE2ODY0LCA2OTY2LCAxLjE2NTg4OTk3ODQwODgxMzVdLCBbMTY2MzczOTMyNi41NjEzNjU2LCA2OTg0LCAyLjA2NTkwODQzMjAwNjgzNl0sIFsxNjYzNzM5MzI2LjY0NTc0NDYsIDY5OTMsIDEuMzI4MTk1NTcxODk5NDE0XSwgWzE2NjM3MzkzMjYuODY3MDI2LCA3MDExLCAxLjE0MTM3OTExNzk2NTY5ODJdLCBbMTY2MzczOTMyNi45NjM5MzgyLCA3MDIwLCAxLjM4MTEzMzc5NDc4NDU0Nl0sIFsxNjYzNzM5MzI3LjA1MzY3NDIsIDcwMjksIDEuMzU1NTk3MTM4NDA0ODQ2Ml0sIFsxNjYzNzM5MzI3LjMyMjA3MTYsIDcwMzgsIDEuMjI4NTcyNjA3MDQwNDA1M10sIFsxNjYzNzM5MzI3LjM5OTA0OTgsIDcwNDcsIDEuNTAxNzY1NzI3OTk2ODI2Ml0sIFsxNjYzNzM5MzI3LjQ2OTUxMTMsIDcwNTYsIDEuMTY1ODc0NzE5NjE5NzUxXSwgWzE2NjM3MzkzMjcuNjg5NDcyNywgNzA4MywgMS4wNzIyNzExMDg2MjczMTkzXSwgWzE2NjM3MzkzMjcuODMxNDU1NSwgNzEwMSwgMS41OTQ0MzMxODg0Mzg0MTU1XSwgWzE2NjM3MzkzMjcuOTE0MjE2OCwgNzExMCwgMS41MDc5OTcwMzU5ODAyMjQ2XSwgWzE2NjM3MzkzMjguMDY5MDQzNCwgNzEyOCwgMS4yODUyODEwNjIxMjYxNTk3XSwgWzE2NjM3MzkzMjguMjExMTMwNCwgNzE0NiwgMS4yODk0OTI0ODc5MDc0MDk3XSwgWzE2NjM3MzkzMjguMzgyMDg0MSwgNzE2NCwgMS43MTE1MzQ4NTc3NDk5MzldLCBbMTY2MzczOTMyOC40NTIyOTc3LCA3MTczLCAxLjU0NjkyNjI1OTk5NDUwNjhdLCBbMTY2MzczOTMyOC41MzQzMzU0LCA3MTgyLCAxLjEyOTI0MDg3MDQ3NTc2OV0sIFsxNjYzNzM5MzI4LjY3ODI4NTEsIDcyMDAsIDEuNDA2NzEwOTgyMzIyNjkyOV0sIFsxNjYzNzM5MzI4Ljc0ODQ2MjQsIDcyMDksIDEuMjY2NTI4MTI5NTc3NjM2N10sIFsxNjYzNzM5MzI5LjAzOTc2MTMsIDcyNDUsIDEuMjgwNzM0MDYyMTk0ODI0Ml0sIFsxNjYzNzM5MzI5LjEwODY0MzMsIDcyNTQsIDEuMzk1ODE3MTYwNjA2Mzg0M10sIFsxNjYzNzM5MzI5LjE4MzMxMzgsIDcyNjMsIDEuMjcyNTQxMDQ2MTQyNTc4MV0sIFsxNjYzNzM5MzI5LjI1MzgwNDQsIDcyNzIsIDEuMjc0MDAxODM2Nzc2NzMzNF0sIFsxNjYzNzM5MzI5LjQ1ODgxMTgsIDcyOTksIDEuMTU5NDM4MTMzMjM5NzQ2XSwgWzE2NjM3MzkzMjkuNTMwOTU1NiwgNzMwOCwgMS4xODA3NTIyNzczNzQyNjc2XSwgWzE2NjM3MzkzMjkuNjgzNDkzNCwgNzMyNiwgMS4xOTk0MDI4MDkxNDMwNjY0XSwgWzE2NjM3MzkzMzAuMDc4NDg2LCA3MzcxLCAxLjYyMDg4NTM3MjE2MTg2NTJdLCBbMTY2MzczOTMzMC4xNTAwODM4LCA3MzgwLCAxLjQxNTQyNDgyMzc2MDk4NjNdLCBbMTY2MzczOTMzMC4zMDI2MzE5LCA3Mzk4LCAxLjI0MzQ1NzMxNzM1MjI5NV0sIFsxNjYzNzM5MzMwLjM2OTA5NSwgNzQwNywgMS4zMjU0Njk2MTMwNzUyNTYzXSwgWzE2NjM3MzkzMzAuNDM4OTg0MiwgNzQxNiwgMS4zMTAyNzg1MzQ4ODkyMjEyXSwgWzE2NjM3MzkzMzAuNTkzMzg5NywgNzQzNCwgMS40MjQ0MDE5OTg1MTk4OTc1XSwgWzE2NjM3MzkzMzAuNjY2MjMwNCwgNzQ0MywgMS4yMzg1NDYwMTM4MzIwOTIzXSwgWzE2NjM3MzkzMzAuNzQwNDgzMywgNzQ1MiwgMS44MzYyMTI1MTU4MzA5OTM3XSwgWzE2NjM3MzkzMzAuODIwOTI2MiwgNzQ2MSwgMS4zMDI3MDQyMTUwNDk3NDM3XSwgWzE2NjM3MzkzMzAuOTgwMjE1NSwgNzQ3OSwgMS4zMTE0ODcwNzg2NjY2ODddLCBbMTY2MzczOTMzMS4xNDE2NDgzLCA3NDk3LCAxLjM3ODUzNTI3MDY5MDkxOF0sIFsxNjYzNzM5MzMxLjIxMzY1MDcsIDc1MDYsIDEuMzM2NDk4OTc1NzUzNzg0Ml0sIFsxNjYzNzM5MzMxLjQ5MzIwNjUsIDc1MjQsIDEuMjExMjI0MTk4MzQxMzY5Nl0sIFsxNjYzNzM5MzMxLjU4OTc5NjMsIDc1MzMsIDEuMTIyMjc5NDA1NTkzODcyXSwgWzE2NjM3MzkzMzEuODA5ODU3NiwgNzU0MiwgMS4xMzM4MDE1Nzk0NzU0MDI4XSwgWzE2NjM3MzkzMzIuMDgyNTU5OCwgNzU2MCwgMS4zNzMzNzYyNTAyNjcwMjg4XSwgWzE2NjM3MzkzMzIuMTcyMDg2NSwgNzU2OSwgMS4yNTE0NTcyMTQzNTU0Njg4XSwgWzE2NjM3MzkzMzIuNDAxNzc0MiwgNzU4NywgMS40NzgxNzI3NzkwODMyNTJdLCBbMTY2MzczOTMzMi41MTA0NzMzLCA3NTk2LCAxLjMxMDc5NzkyOTc2Mzc5NF0sIFsxNjYzNzM5MzMyLjY2ODI4NjgsIDc2MTQsIDEuNDg5MTY1MDY3NjcyNzI5NV0sIFsxNjYzNzM5MzMzLjAwNTczMjgsIDc2NTksIDEuMjcwNTg0NDY0MDczMTgxMl0sIFsxNjYzNzM5MzMzLjA4MjUwODgsIDc2NjgsIDEuNTMxMzEyNDY1NjY3NzI0Nl0sIFsxNjYzNzM5MzMzLjM4NDUwMTUsIDc2OTUsIDEuNTkxNDY4NTcyNjE2NTc3MV0sIFsxNjYzNzM5MzMzLjU2MTM4ODcsIDc3MTMsIDEuNDY5MTA3NjI3ODY4NjUyM10sIFsxNjYzNzM5MzMzLjYzNzYwMywgNzcyMiwgMS4yMzMwNDM2NzA2NTQyOTY5XSwgWzE2NjM3MzkzMzMuODQ2MTYsIDc3NDksIDEuMDk2MzI4Mzc3NzIzNjkzOF0sIFsxNjYzNzM5MzMzLjkxNjI3MjQsIDc3NTgsIDEuMDUwMzQ2MjU1MzAyNDI5Ml0sIFsxNjYzNzM5MzMzLjk5ODA5MDUsIDc3NjcsIDEuNjA2NzA2MDIzMjE2MjQ3Nl0sIFsxNjYzNzM5MzM0LjI0MjM0NTMsIDc3OTQsIDEuMTA4ODQ2NjY0NDI4NzExXSwgWzE2NjM3MzkzMzQuMzM0OTE0LCA3ODAzLCAxLjQ2OTY3Njk3MTQzNTU0NjldLCBbMTY2MzczOTMzNC44MzExOTQ5LCA3ODM5LCAxLjE5ODY5ODYzOTg2OTY5XSwgWzE2NjM3MzkzMzQuOTEzNDU5MywgNzg0OCwgMS4zMjU2OTA3NDYzMDczNzNdLCBbMTY2MzczOTMzNS42NDc5MTg3LCA3OTM4LCAxLjM4MjI4NjE5MDk4NjYzMzNdLCBbMTY2MzczOTMzNS43ODE3MTM1LCA3OTU2LCAxLjE3OTE0NzgzOTU0NjIwMzZdLCBbMTY2MzczOTMzNS44NjE1MzE3LCA3OTY1LCAxLjI5MTQzNTI0MTY5OTIxODhdLCBbMTY2MzczOTMzNS45MjU3NTEyLCA3OTc0LCAxLjEzNTI3NDc2Nzg3NTY3MTRdLCBbMTY2MzczOTMzNS45ODk4NDQ4LCA3OTgzLCAxLjQxNDE3NTI3MTk4NzkxNV0sIFsxNjYzNzM5MzM2LjA1NzgyOSwgNzk5MiwgMS4zNzkzNzkzOTE2NzAyMjddLCBbMTY2MzczOTMzNi4xMjQxMTg4LCA4MDAxLCAxLjIyNTEzNTgwMzIyMjY1NjJdLCBbMTY2MzczOTMzNi4yODc2MDE3LCA4MDE5LCAxLjIzNDU2NTg1NDA3MjU3MDhdLCBbMTY2MzczOTMzNi40MzM3NTc4LCA4MDM3LCAxLjYwMzk2MjA2Mzc4OTM2NzddLCBbMTY2MzczOTMzNi42NTcxMzE3LCA4MDY0LCAxLjQ1MjI0MzA4OTY3NTkwMzNdLCBbMTY2MzczOTMzNi44MTE4OTksIDgwODIsIDEuMTQzODkwMDIzMjMxNTA2M10sIFsxNjYzNzM5MzM2Ljg3MzYwNywgODA5MSwgMS4yOTEyOTA0MDI0MTI0MTQ2XSwgWzE2NjM3MzkzMzcuMTEzNDg4NywgODExOCwgMS40MTYwMDMyMjcyMzM4ODY3XSwgWzE2NjM3MzkzMzcuMTkwNjYsIDgxMjcsIDEuMzcyNDc3MTczODA1MjM2OF0sIFsxNjYzNzM5MzM3LjM0MjU3MTMsIDgxNDUsIDEuMzg3MjY0MzcwOTE4Mjc0XSwgWzE2NjM3MzkzMzcuNjQ4NzQwOCwgODE2MywgMS40NjE4NTU3NjkxNTc0MDk3XSwgWzE2NjM3MzkzMzcuNzQ3NzQyMiwgODE3MiwgMS40MzY0NjQ3ODY1Mjk1NDFdLCBbMTY2MzczOTMzNy44NDE2MjkzLCA4MTgxLCAxLjQxMjcwMzAzNzI2MTk2M10sIFsxNjYzNzM5MzM4LjAzNjM2ODQsIDgxOTksIDEuNDY2Mjc5ODY0MzExMjE4M10sIFsxNjYzNzM5MzM4LjEyNDE5NjUsIDgyMDgsIDEuMTI0NDc4Njk3Nzc2Nzk0NF0sIFsxNjYzNzM5MzM4LjMxMjI3NiwgODIyNiwgMS4yMzU4OTk5MjUyMzE5MzM2XSwgWzE2NjM3MzkzMzguNDEzNDA5NSwgODIzNSwgMS40NDc1MzgzNzU4NTQ0OTIyXSwgWzE2NjM3MzkzMzguNTk3MTg1NiwgODI1MywgMS4zMjkwNTk2MDA4MzAwNzgxXSwgWzE2NjM3MzkzMzguNjgxODc3MSwgODI2MiwgMS40OTE1Mjc0MzgxNjM3NTczXSwgWzE2NjM3MzkzMzguNzYwNTI5LCA4MjcxLCAxLjMzMTY1OTE5NzgwNzMxMl0sIFsxNjYzNzM5MzM4Ljg3MjA0OTYsIDgyODAsIDEuMzE0MDQ4MjkwMjUyNjg1NV0sIFsxNjYzNzM5MzM4Ljk2NzY3MjgsIDgyODksIDEuMTk0MzcyODkyMzc5NzYwN10sIFsxNjYzNzM5MzM5LjA1NTk0NywgODI5OCwgMS4yODk2NjY1MzM0NzAxNTM4XSwgWzE2NjM3MzkzMzkuMjE1MTAyNCwgODMxNiwgMS4zMTc0NjE0OTA2MzExMDM1XSwgWzE2NjM3MzkzMzkuNTI4MzI1LCA4MzUyLCAxLjExMTA4NzMyMjIzNTEwNzRdLCBbMTY2MzczOTMzOS42MDU3MTA1LCA4MzYxLCAxLjM2MzcyMjIwNTE2MjA0ODNdLCBbMTY2MzczOTMzOS43MjA1NTEsIDgzNzAsIDEuMTgwNDczNDQ2ODQ2MDA4M10sIFsxNjYzNzM5MzM5LjgwMTA5NjIsIDgzNzksIDEuMjQyMzI0NTkwNjgyOTgzNF0sIFsxNjYzNzM5MzM5LjkxODUyNzYsIDgzODgsIDEuNDA5Mjk1MjAxMzAxNTc0N10sIFsxNjYzNzM5MzQwLjAwODQyNjQsIDgzOTcsIDEuMTg5NzEyNTI0NDE0MDYyNV0sIFsxNjYzNzM5MzQwLjA5NTQ5MiwgODQwNiwgMS43MTQ5ODYzMjQzMTAzMDI3XSwgWzE2NjM3MzkzNDAuMTc4NzUwMywgODQxNSwgMS4xNTIyMzk3OTk0OTk1MTE3XSwgWzE2NjM3MzkzNDAuMjY2NDU5MiwgODQyNCwgMS40MjU1MTMxNDgzMDc4MDAzXSwgWzE2NjM3MzkzNDAuNjA0Mzg0NCwgODQ2MCwgMS4yNTA3NzM3ODc0OTg0NzQxXSwgWzE2NjM3MzkzNDAuODI0MzE1MywgODQ3OCwgMS4yOTg3MDQxNDczMzg4NjcyXSwgWzE2NjM3MzkzNDAuODkyMjgwMywgODQ4NywgMS40MzUzOTY3OTA1MDQ0NTU2XSwgWzE2NjM3MzkzNDEuMTEzMDk4NCwgODUxNCwgMS41ODgxNzgxNTc4MDYzOTY1XSwgWzE2NjM3MzkzNDEuMzg5MTAyMiwgODU1MCwgMS4zMjgxNDAzNzc5OTgzNTJdLCBbMTY2MzczOTM0MS40NTc3MjEsIDg1NTksIDEuMTc2Mjg0MDc0NzgzMzI1Ml0sIFsxNjYzNzM5MzQxLjg1MzczODUsIDg1NzcsIDEuMTUwOTk2MjA4MTkwOTE4XSwgWzE2NjM3MzkzNDIuMDE2NDY3NiwgODU5NSwgMS4zMzYwNDc1MzAxNzQyNTU0XSwgWzE2NjM3MzkzNDIuMDk5MDEyNiwgODYwNCwgMS4xMjk1NTQyNzE2OTc5OThdLCBbMTY2MzczOTM0Mi4xNzE2MzEsIDg2MTMsIDEuMzI2NzI2NDM2NjE0OTkwMl0sIFsxNjYzNzM5MzQyLjM5OTA5NzIsIDg2NDAsIDEuNDA1OTMyNzg0MDgwNTA1NF0sIFsxNjYzNzM5MzQyLjQ3ODAzNzYsIDg2NDksIDEuMTM3Mjg1NDcwOTYyNTI0NF0sIFsxNjYzNzM5MzQyLjUzOTM5NzUsIDg2NTgsIDEuMTk5NDUwNjEyMDY4MTc2M10sIFsxNjYzNzM5MzQyLjYwNzUwNywgODY2NywgMS40NDgwNzQzNDA4MjAzMTI1XSwgWzE2NjM3MzkzNDIuNzA5ODg4NywgODY3NiwgMS42MDc2Mjg5NDE1MzU5NDk3XSwgWzE2NjM3MzkzNDIuNzc1NjQ1NSwgODY4NSwgMS4zNjExODY1MDQzNjQwMTM3XSwgWzE2NjM3MzkzNDIuODUwNDQwMywgODY5NCwgMS41NDgyNzg1NzAxNzUxNzFdLCBbMTY2MzczOTM0Mi45OTYzMjg2LCA4NzEyLCAxLjE4NzkxNDM3MTQ5MDQ3ODVdLCBbMTY2MzczOTM0My4wNzQwNzE0LCA4NzIxLCAxLjI5MTk1NzQ5NzU5Njc0MDddLCBbMTY2MzczOTM0My4zMTc4NTk0LCA4NzQ4LCAxLjMyODI0NTk5NzQyODg5NF0sIFsxNjYzNzM5MzQzLjY5MTcwNTIsIDg3OTMsIDEuMTMwMzAwOTk4Njg3NzQ0MV0sIFsxNjYzNzM5MzQzLjgzNzEyNDMsIDg4MTEsIDEuMjEzNjUxNTM3ODk1MjAyNl0sIFsxNjYzNzM5MzQzLjkwNzg1MywgODgyMCwgMS4xOTM1MDY4MzY4OTExNzQzXSwgWzE2NjM3MzkzNDQuMTQ3Mzc0NiwgODgzOCwgMS40MTU1MzUzMzA3NzI0XSwgWzE2NjM3MzkzNDQuMjI3NTEzOCwgODg0NywgMS4xNDEzNzg4Nzk1NDcxMTkxXSwgWzE2NjM3MzkzNDQuMzAzMDMyNCwgODg1NiwgMS4xNDgzNTgzNDUwMzE3MzgzXSwgWzE2NjM3MzkzNDQuNTM2NDAyNywgODg4MywgMS4yNTQ0OTc0MDg4NjY4ODIzXSwgWzE2NjM3MzkzNDQuNjE1NTkyLCA4ODkyLCAxLjM2ODM1MTQ1OTUwMzE3MzhdLCBbMTY2MzczOTM0NC43NzUwODY2LCA4OTAxLCAxLjI5NDg0NzAxMTU2NjE2Ml0sIFsxNjYzNzM5MzQ0Ljg4ODY3LCA4OTEwLCAxLjIyNTI3MTQ2MzM5NDE2NV0sIFsxNjYzNzM5MzQ0Ljk2NDk4MjcsIDg5MTksIDEuMTkxNjkxMzk4NjIwNjA1NV0sIFsxNjYzNzM5MzQ1LjEyMDAzNjQsIDg5MzcsIDEuMDYzMzAzNDcwNjExNTcyM10sIFsxNjYzNzM5MzQ1LjI2NDcxMTYsIDg5NTUsIDEuMjUxMTk0NDc3MDgxMjk4OF0sIFsxNjYzNzM5MzQ1LjMzODcwNTMsIDg5NjQsIDEuNDg1MTE3NjczODczOTAxNF0sIFsxNjYzNzM5MzQ1LjQwNjUxNDIsIDg5NzMsIDEuMTMzODY1ODMzMjgyNDcwN10sIFsxNjYzNzM5MzQ1LjU1NzM3OTcsIDg5OTEsIDEuMzQyNTgwNzk1Mjg4MDg2XSwgWzE2NjM3MzkzNDUuNjMyNjE1NiwgOTAwMCwgMS4zOTc1MTYwMTIxOTE3NzI1XSwgWzE2NjM3MzkzNDUuNzc5ODczNCwgOTAxOCwgMS4xNDIzNTUzMjI4Mzc4Mjk2XSwgWzE2NjM3MzkzNDUuODY4OTM5NiwgOTAyNywgMS41NTMxMDgyMTUzMzIwMzEyXSwgWzE2NjM3MzkzNDUuOTUwNTE1NSwgOTAzNiwgMS4zNzE4NjE2OTYyNDMyODYxXSwgWzE2NjM3MzkzNDYuMTIxMDU0LCA5MDQ1LCAxLjUyNDIzNzM5NDMzMjg4NTddLCBbMTY2MzczOTM0Ni4yMzI3ODksIDkwNTQsIDEuMTU2OTk1NjU0MTA2MTQwMV0sIFsxNjYzNzM5MzQ2LjMwNzAyMzMsIDkwNjMsIDEuNDAxNDE2ODk3NzczNzQyN10sIFsxNjYzNzM5MzQ2Ljc3MzMyNCwgOTEwOCwgMS40MTA3OTAyMDUwMDE4MzFdLCBbMTY2MzczOTM0Ni45NjQxODE0LCA5MTI2LCAxLjIzOTk0NDEwMDM3OTk0MzhdLCBbMTY2MzczOTM0Ny4xMzk3OCwgOTE0NCwgMS4wODU0NzAwODAzNzU2NzE0XSwgWzE2NjM3MzkzNDcuMjIzNTIzOSwgOTE1MywgMS41MTE2NzExODU0OTM0NjkyXSwgWzE2NjM3MzkzNDcuMzAzMDY4MiwgOTE2MiwgMS4zNTkzNjQwMzI3NDUzNjEzXSwgWzE2NjM3MzkzNDcuNTMwMDEwMiwgOTE4OSwgMS4zMDQ5OTI5MTQxOTk4MjldLCBbMTY2MzczOTM0Ny42NzM3ODI4LCA5MjA3LCAxLjEzNTM5MTk1MDYwNzI5OThdLCBbMTY2MzczOTM0Ny45NDI1NTUyLCA5MjQzLCAxLjU3MjM0NjQ0ODg5ODMxNTRdLCBbMTY2MzczOTM0OC4wODEwMDg3LCA5MjYxLCAxLjUwMDc4MDk0MDA1NTg0NzJdLCBbMTY2MzczOTM0OC4xNDU3NTM5LCA5MjcwLCAxLjA4MjAyOTM0MjY1MTM2NzJdLCBbMTY2MzczOTM0OC4yOTY2MTU0LCA5Mjg4LCAxLjIyNDU5NDM1NDYyOTUxNjZdLCBbMTY2MzczOTM0OC42MTE4NTIsIDkzMjQsIDEuMjczOTA4MDE5MDY1ODU3XSwgWzE2NjM3MzkzNDguNjg5NDcwNSwgOTMzMywgMS4wNzU2NjY2NjYwMzA4ODM4XSwgWzE2NjM3MzkzNDguOTQyMzk5NywgOTM0MiwgMS41OTkzOTYyMjg3OTAyODMyXSwgWzE2NjM3MzkzNDkuMDI2ODgxNSwgOTM1MSwgMS40NTU1MTE4MDgzOTUzODU3XSwgWzE2NjM3MzkzNDkuMTAxMTQ1NywgOTM2MCwgMS4wODYwNzk3MTY2ODI0MzRdLCBbMTY2MzczOTM0OS4zOTc0MjA0LCA5Mzk2LCAxLjUwMjYxMDA4NzM5NDcxNDRdLCBbMTY2MzczOTM0OS41NTAzMTksIDk0MTQsIDEuMzYxODU4MjQ4NzEwNjMyM10sIFsxNjYzNzM5MzQ5LjYxNzcxOTcsIDk0MjMsIDEuMjEzODUzNzE2ODUwMjgwOF0sIFsxNjYzNzM5MzUwLjAyMDMyMDQsIDk0NTAsIDEuMTMzMjY1ODUyOTI4MTYxNl0sIFsxNjYzNzM5MzUwLjM3MTMxOTUsIDk0NzcsIDEuNDU5MjEyNTQxNTgwMjAwMl0sIFsxNjYzNzM5MzUwLjQ0NzUzNTgsIDk0ODYsIDEuMTUwMTI1MDI2NzAyODgwOV0sIFsxNjYzNzM5MzUwLjY3NDg5MDgsIDk1MTMsIDEuNDAwNDk2ODQwNDc2OTg5N10sIFsxNjYzNzM5MzUwLjgwODk2MDQsIDk1MzEsIDEuMjQ4ODA1OTk5NzU1ODU5NF0sIFsxNjYzNzM5MzUwLjg3NDQ5NTcsIDk1NDAsIDEuMTU4NTU1Mzg4NDUwNjIyNl0sIFsxNjYzNzM5MzUwLjkzOTM4NTQsIDk1NDksIDEuMDkwMTgwMTU4NjE1MTEyM10sIFsxNjYzNzM5MzUxLjA3NjMzMzMsIDk1NjcsIDEuNTQ5NDI1MjQ0MzMxMzU5OV0sIFsxNjYzNzM5MzUxLjMyNjM1NzYsIDk1OTQsIDEuMzI5Njc4NzczODgwMDA0OV0sIFsxNjYzNzM5MzUxLjM4NjY3NjMsIDk2MDMsIDEuMTA2MzI4NDg3Mzk2MjQwMl0sIFsxNjYzNzM5MzUxLjQ1MDA0NzMsIDk2MTIsIDEuMzQwMjEzMjk4Nzk3NjA3NF0sIFsxNjYzNzM5MzUxLjU5NDE4NTgsIDk2MzAsIDEuMTkwNDY5ODYxMDMwNTc4Nl0sIFsxNjYzNzM5MzUxLjY2ODUzNTIsIDk2MzksIDEuMjIyMTE5NTY5Nzc4NDQyNF0sIFsxNjYzNzM5MzUxLjczMTAyNzEsIDk2NDgsIDEuMzU4MjQ4NTkxNDIzMDM0N10sIFsxNjYzNzM5MzUxLjgwMzg3NzgsIDk2NTcsIDEuMTA2OTA5Mzk0MjY0MjIxMl0sIFsxNjYzNzM5MzUxLjg3MzY2NTgsIDk2NjYsIDEuMjc1MjUwMDc3MjQ3NjE5Nl0sIFsxNjYzNzM5MzUxLjk1NDU2ODksIDk2NzUsIDEuMjczMjI2ODU3MTg1MzYzOF0sIFsxNjYzNzM5MzUyLjE3NDU0MDUsIDk3MDIsIDEuMzg1MDA4ODExOTUwNjgzNl0sIFsxNjYzNzM5MzUyLjI1NzY4NTcsIDk3MTEsIDEuNDE1NTc1MTQ2Njc1MTA5OV0sIFsxNjYzNzM5MzUyLjM5NDAxOTEsIDk3MjksIDEuMjYwNzE1MTI2OTkxMjcyXSwgWzE2NjM3MzkzNTIuNDU5MTAzNiwgOTczOCwgMS4zMDQ3MTc4OTgzNjg4MzU0XSwgWzE2NjM3MzkzNTIuNTI0NzgwMywgOTc0NywgMS4xNDM4OTAwMjMyMzE1MDYzXSwgWzE2NjM3MzkzNTIuNzMxMTk5MywgOTc3NCwgMS4xMjU3NzU4MTQwNTYzOTY1XSwgWzE2NjM3MzkzNTIuNzk5Mzk0NCwgOTc4MywgMS4zODQxNjYxMjE0ODI4NDkxXSwgWzE2NjM3MzkzNTIuODY5NDY0NiwgOTc5MiwgMS4xOTQ5OTI1NDIyNjY4NDU3XSwgWzE2NjM3MzkzNTMuMTQ3NjI2MiwgOTgyOCwgMS4xNTI3Nzg5ODMxMTYxNV0sIFsxNjYzNzM5MzUzLjIxOTUwMTMsIDk4MzcsIDEuMTMzNzI0NDUxMDY1MDYzNV0sIFsxNjYzNzM5MzUzLjMwODY2ODEsIDk4NDYsIDEuMzgyNDA2MTE1NTMxOTIxNF0sIFsxNjYzNzM5MzUzLjY2ODAzNzIsIDk4OTEsIDEuMTUzNzk4ODE4NTg4MjU2OF0sIFsxNjYzNzM5MzUzLjgwMzA5MzcsIDk5MDksIDEuNzA5Njc4NjQ5OTAyMzQzOF0sIFsxNjYzNzM5MzUzLjk1MTgxODIsIDk5MjcsIDEuMjgwNDQzNzg3NTc0NzY4XSwgWzE2NjM3MzkzNTQuMDU2NjY2MSwgOTkzNiwgMS4xNzgzNjM5MTkyNTgxMTc3XSwgWzE2NjM3MzkzNTQuMTMwODIxNywgOTk0NSwgMS4xOTQ4Mzc5Mjc4MTgyOTgzXSwgWzE2NjM3MzkzNTQuMzc2ODYwMSwgOTk3MiwgMS4yOTQ5NzM0OTI2MjIzNzU1XSwgWzE2NjM3MzkzNTQuNDUzNzM4NSwgOTk4MSwgMS4yOTA0ODU3Mzk3MDc5NDY4XSwgWzE2NjM3MzkzNTQuNTM4OTIxNCwgOTk5MCwgMS40NDc1ODM0MzY5NjU5NDI0XSwgWzE2NjM3MzkzNTQuNjEyMDI5NiwgOTk5OSwgMS4xNzQ1ODE0MDg1MDA2NzE0XSwgWzE2NjM3MzkzNTQuNzA0MTQ5LCAxMDAwOCwgMS4zOTMxNDUwODQzODExMDM1XSwgWzE2NjM3MzkzNTQuODA4OTg2NCwgMTAwMTcsIDEuMzM1NjIyNzg3NDc1NTg2XSwgWzE2NjM3MzkzNTQuOTgzOTc1NCwgMTAwMjYsIDEuMTg3NjU2NDAyNTg3ODkwNl0sIFsxNjYzNzM5MzU1LjE0NjU3MTYsIDEwMDM1LCAxLjIxNTMyMjM3NTI5NzU0NjRdLCBbMTY2MzczOTM1NS4zNTIxODU1LCAxMDA1MywgMS4zODgxNDg0MjcwMDk1ODI1XSwgWzE2NjM3MzkzNTUuNTcwODg2NCwgMTAwODAsIDEuMjM5OTg0ODY5OTU2OTcwMl0sIFsxNjYzNzM5MzU1LjY1MTY4OCwgMTAwODksIDEuMjY3NDEwMTU5MTExMDIzXSwgWzE2NjM3MzkzNTUuOTE0MzY0LCAxMDA5OCwgMS4xMzcyODEwNjAyMTg4MTFdLCBbMTY2MzczOTM1NS45OTc4NDc4LCAxMDEwNywgMS40ODMwMTA3Njg4OTAzODA5XSwgWzE2NjM3MzkzNTYuMjI2MjczOCwgMTAxMzQsIDEuMTg5MzAzNjM2NTUwOTAzM10sIFsxNjYzNzM5MzU2LjI5ODgyOCwgMTAxNDMsIDEuMTYxNDYyNTQ1Mzk0ODk3NV0sIFsxNjYzNzM5MzU2LjQ0OTQzNzEsIDEwMTYxLCAxLjM1MDU4MjgzODA1ODQ3MTddLCBbMTY2MzczOTM1Ni41MTQwNDEsIDEwMTcwLCAxLjMyNDcwMzU3NDE4MDYwM10sIFsxNjYzNzM5MzU2LjU5ODQwMDQsIDEwMTc5LCAxLjYyNTExMzEyOTYxNTc4MzddLCBbMTY2MzczOTM1Ni42NzM2MjksIDEwMTg4LCAxLjMyNjgyNDkwMzQ4ODE1OTJdLCBbMTY2MzczOTM1Ni43NDg3NDMsIDEwMTk3LCAxLjQxNjMwMDE3NzU3NDE1NzddLCBbMTY2MzczOTM1Ni44Nzg4NDY2LCAxMDIxNSwgMi4wNjcyMTIzNDMyMTU5NDI0XSwgWzE2NjM3MzkzNTYuOTQyMDE2OCwgMTAyMjQsIDEuMjYzNjgwOTM0OTA2MDA1OV0sIFsxNjYzNzM5MzU3LjAxOTE1MTcsIDEwMjMzLCAxLjAwNDA1MzgzMTEwMDQ2MzldLCBbMTY2MzczOTM1Ny4xMDczOTY2LCAxMDI0MiwgMS40ODQwMDY2NDMyOTUyODhdLCBbMTY2MzczOTM1Ny4yODA0Mjc1LCAxMDI2MCwgMS4yNzk0MjM5NTIxMDI2NjExXSwgWzE2NjM3MzkzNTcuNTI4MzM4NywgMTAyODcsIDEuMTk3MTU2NDI5MjkwNzcxNV0sIFsxNjYzNzM5MzU3Ljc1NTg3NiwgMTAzMTQsIDEuMTg4Mzk1ODU3ODEwOTc0MV0sIFsxNjYzNzM5MzU3LjgzMjY5ODYsIDEwMzIzLCAxLjI1NTc5MzQ1MjI2Mjg3ODRdLCBbMTY2MzczOTM1Ny45NzUxMTksIDEwMzQxLCAxLjMxMDcwNjQ5NjIzODcwODVdLCBbMTY2MzczOTM1OC4wNDMyMjg2LCAxMDM1MCwgMS4yNDI5NzQwNDI4OTI0NTZdLCBbMTY2MzczOTM1OC4xMTIxOTM2LCAxMDM1OSwgMS4yMjA5Mzc0OTA0NjMyNTY4XSwgWzE2NjM3MzkzNTguMTk2MTI4NiwgMTAzNjgsIDEuMTY1NzU1MjcxOTExNjIxXSwgWzE2NjM3MzkzNTguMjczMzU3NiwgMTAzNzcsIDEuMTYyNDkzOTQ0MTY4MDkwOF0sIFsxNjYzNzM5MzU4LjM1MzYxNzIsIDEwMzg2LCAxLjE0NjMwMTM4ODc0MDUzOTZdLCBbMTY2MzczOTM1OC41NzYzMDE2LCAxMDQwNCwgMS4yNzgwMzg2MjA5NDg3OTE1XSwgWzE2NjM3MzkzNTguODc3MzQ0NiwgMTA0NDAsIDEuMjE1MzQyNzYwMDg2MDU5Nl0sIFsxNjYzNzM5MzU4Ljk0NzE4NTUsIDEwNDQ5LCAxLjE2NjYzMjQxMzg2NDEzNTddLCBbMTY2MzczOTM1OS4wOTIxOTIyLCAxMDQ2NywgMS40MzQyMjc5NDM0MjA0MTAyXSwgWzE2NjM3MzkzNTkuMjQ4MzIxNSwgMTA0ODUsIDEuNDU3NjcwOTI3MDQ3NzI5NV0sIFsxNjYzNzM5MzU5LjQwMTkzMTgsIDEwNTAzLCAxLjMyODA4Njk3MjIzNjYzMzNdLCBbMTY2MzczOTM1OS40ODAxMzgzLCAxMDUxMiwgMS4wOTgyMTkzOTQ2ODM4MzhdLCBbMTY2MzczOTM1OS45MDI1OTg2LCAxMDU1NywgMS40ODUyMzEzOTk1MzYxMzI4XSwgWzE2NjM3MzkzNTkuOTc1ODk3MywgMTA1NjYsIDEuMzMwNzg2NDY2NTk4NTEwN10sIFsxNjYzNzM5MzYwLjA1NzE5NzYsIDEwNTc1LCAxLjI3NzY3MzAwNjA1NzczOTNdLCBbMTY2MzczOTM2MC4yMjMxNTYyLCAxMDU5MywgMS4xNjk4MDA3NTgzNjE4MTY0XSwgWzE2NjM3MzkzNjAuMzA2NzM3MiwgMTA2MDIsIDEuMzE4OTY0MDA0NTE2NjAxNl0sIFsxNjYzNzM5MzYwLjM3ODk3OSwgMTA2MTEsIDEuNDA1ODQwMzk2ODgxMTAzNV0sIFsxNjYzNzM5MzYwLjcwMjExNTgsIDEwNjQ3LCAxLjE4OTAzOTIzMDM0NjY3OTddLCBbMTY2MzczOTM2MC44NTEwNzU2LCAxMDY2NSwgMS4yNjAxODI3MzgzMDQxMzgyXSwgWzE2NjM3MzkzNjEuMDE2NzQ2NSwgMTA2ODMsIDEuMzQwOTU4NDc2MDY2NTg5NF0sIFsxNjYzNzM5MzYxLjE2NjQ4NDgsIDEwNzAxLCAxLjIwMzg3NjM3NjE1MjAzODZdLCBbMTY2MzczOTM2MS4yNDkxMjg4LCAxMDcxMCwgMS4yNjM2MzMwMTI3NzE2MDY0XSwgWzE2NjM3MzkzNjEuNTI0NDA1MiwgMTA3MTksIDEuMTg4MTAyNzIyMTY3OTY4OF0sIFsxNjYzNzM5MzYxLjc1NDY3NTQsIDEwNzQ2LCAxLjMwMzY3NTUzMjM0MTAwMzRdLCBbMTY2MzczOTM2MS44MzU1MjYyLCAxMDc1NSwgMS4xOTM1Mjc2OTg1MTY4NDU3XSwgWzE2NjM3MzkzNjEuOTI0OTA1MywgMTA3NjQsIDEuMzAxMzQ1MTA5OTM5NTc1Ml0sIFsxNjYzNzM5MzYxLjk4NzQyNDYsIDEwNzczLCAxLjM0MjUyNjc5MzQ3OTkxOTRdLCBbMTY2MzczOTM2Mi4wNTk2ODA1LCAxMDc4MiwgMS40MjQzNjUxNjI4NDk0MjYzXSwgWzE2NjM3MzkzNjIuMTIyNTEwNCwgMTA3OTEsIDEuMzc2MzUyNDI5Mzg5OTUzNl0sIFsxNjYzNzM5MzYyLjM1Nzc1ODgsIDEwODE4LCAxLjExMzE1ODk0MTI2ODkyMV0sIFsxNjYzNzM5MzYyLjQzMzc2MTQsIDEwODI3LCAxLjI5NTAyNzI1NjAxMTk2M10sIFsxNjYzNzM5MzYyLjc5Njc0OTgsIDEwODU0LCAxLjIzOTA0MzM1NDk4ODA5ODFdLCBbMTY2MzczOTM2Mi44ODU5MDMxLCAxMDg2MywgMS4wOTY2NzUyNzY3NTYyODY2XSwgWzE2NjM3MzkzNjIuOTYzMTU4NiwgMTA4NzIsIDEuMjQ5OTY3OTMyNzAxMTEwOF0sIFsxNjYzNzM5MzYzLjEyOTY0LCAxMDg5MCwgMS4wMDM3NTIxMTIzODg2MTA4XSwgWzE2NjM3MzkzNjMuMjEzODI0NywgMTA4OTksIDEuMDQ4NDEwMjk2NDQwMTI0NV0sIFsxNjYzNzM5MzYzLjUyMjM3MTgsIDEwOTI2LCAxLjQ2NjcxNjg4NTU2NjcxMTRdLCBbMTY2MzczOTM2My42MDQ4MzU3LCAxMDkzNSwgMS4zNDg2MjM4NzE4MDMyODM3XSwgWzE2NjM3MzkzNjMuNjgwNTE1MywgMTA5NDQsIDEuNTcyOTUyMDMyMDg5MjMzNF0sIFsxNjYzNzM5MzYzLjgzNzQ0MTQsIDEwOTYyLCAxLjIyNjgyNzYyMTQ1OTk2MV0sIFsxNjYzNzM5MzYzLjkxODcyMDcsIDEwOTcxLCAxLjI3Nzg5NTIxMjE3MzQ2Ml0sIFsxNjYzNzM5MzY0LjEzNjYyOTMsIDEwOTk4LCAxLjM2MDkzMTUxNTY5MzY2NDZdLCBbMTY2MzczOTM2NC4yMTY0Mzc4LCAxMTAwNywgMS4xODc0NDMzNzU1ODc0NjM0XSwgWzE2NjM3MzkzNjQuMzg4MzQ1NywgMTEwMTYsIDEuMzE5NDA2MDMyNTYyMjU1OV0sIFsxNjYzNzM5MzY0LjU5NDUzNSwgMTEwMzQsIDEuMjc4NDU5Nzg3MzY4Nzc0NF0sIFsxNjYzNzM5MzY0LjgxMTc2MzgsIDExMDYxLCAxLjEyMzY2MDU2NDQyMjYwNzRdLCBbMTY2MzczOTM2NC44ODEyMzg1LCAxMTA3MCwgMS44MDI2MDI4ODcxNTM2MjU1XSwgWzE2NjM3MzkzNjUuMDgzOTUzLCAxMTA5NywgMS4xODI0MDU0NzE4MDE3NTc4XSwgWzE2NjM3MzkzNjUuMTUyNjQ5OSwgMTExMDYsIDEuMjc1ODkzNTY4OTkyNjE0N10sIFsxNjYzNzM5MzY1LjIzMDc5MDEsIDExMTE1LCAxLjE3ODYwODY1NTkyOTU2NTRdLCBbMTY2MzczOTM2NS41NDI2OTYsIDExMTUxLCAxLjI5MTY2Njc0NjEzOTUyNjRdLCBbMTY2MzczOTM2NS42ODU4NDM3LCAxMTE2OSwgMS4yOTUzMTM3MTU5MzQ3NTM0XSwgWzE2NjM3MzkzNjUuNzQ3NTA2MSwgMTExNzgsIDEuMDY1MDc4MjU4NTE0NDA0M10sIFsxNjYzNzM5MzY1LjgxNTE1MTcsIDExMTg3LCAxLjIzMjg0NzY5MDU4MjI3NTRdLCBbMTY2MzczOTM2NS44OTY0NTQsIDExMTk2LCAxLjE0NTc5OTg3NTI1OTM5OTRdLCBbMTY2MzczOTM2NS45Njg4MDIyLCAxMTIwNSwgMS40MzExNjY1Mjk2NTU0NTY1XSwgWzE2NjM3MzkzNjYuMDM0MDMzMywgMTEyMTQsIDEuMjMwNzU5NTAxNDU3MjE0NF0sIFsxNjYzNzM5MzY2LjEwMTE3MzksIDExMjIzLCAxLjY5MzcwMzUzMjIxODkzM10sIFsxNjYzNzM5MzY2LjM1NzI3OTgsIDExMjUwLCAxLjQzMjc4OTIwNjUwNDgyMThdLCBbMTY2MzczOTM2Ni40Mjk0NDc0LCAxMTI1OSwgMS42MDQwMjM5MzM0MTA2NDQ1XSwgWzE2NjM3MzkzNjYuNDkyMjA5NCwgMTEyNjgsIDEuMzkwNTQxOTExMTI1MTgzXSwgWzE2NjM3MzkzNjYuNTU5NTE1MiwgMTEyNzcsIDEuMDkxNDgyMDQzMjY2Mjk2NF0sIFsxNjYzNzM5MzY2LjcwNDU4MjUsIDExMjk1LCAxLjU3MDM4NTU3NTI5NDQ5NDZdLCBbMTY2MzczOTM2Ni44NDI2NDE0LCAxMTMxMywgMS4wNzg0NDgxNzYzODM5NzIyXSwgWzE2NjM3MzkzNjYuOTIxODE2NiwgMTEzMjIsIDEuMjAxNzUzNzM1NTQyMjk3NF0sIFsxNjYzNzM5MzY3LjMyNTcwMjcsIDExMzQ5LCAxLjE5Mzg5MDA5NDc1NzA4XSwgWzE2NjM3MzkzNjcuMzk2ODYwMSwgMTEzNTgsIDEuMTE3Nzk5OTk3MzI5NzEyXSwgWzE2NjM3MzkzNjcuNjIwNTIzNSwgMTEzODUsIDEuMjA3NjMzNDk1MzMwODEwNV0sIFsxNjYzNzM5MzY3Ljg2MjkyODksIDExNDEyLCAxLjY4NzAwNTg3NzQ5NDgxMl0sIFsxNjYzNzM5MzY3LjkzNTg3NjgsIDExNDIxLCAxLjI2OTU1NjY0MTU3ODY3NDNdLCBbMTY2MzczOTM2OC4zOTk3MzUyLCAxMTQ0OCwgMS41MzI5MDk4NzAxNDc3MDVdLCBbMTY2MzczOTM2OC45NzI0NDI2LCAxMTQ5MywgMS4yNTAzMTIyMDkxMjkzMzM1XSwgWzE2NjM3MzkzNjkuMDY4OTcxOSwgMTE1MDIsIDEuNDg2MjQ1ODcwNTkwMjFdLCBbMTY2MzczOTM2OS4xNjAzNDg0LCAxMTUxMSwgMS4zMzA0MTg0Njc1MjE2Njc1XSwgWzE2NjM3MzkzNjkuMzMxMjgzNiwgMTE1MjksIDEuMzY3NzQxMTA3OTQwNjczOF0sIFsxNjYzNzM5MzY5LjUxNzcwNjIsIDExNTQ3LCAxLjQ2NDEyMjY1MzAwNzUwNzNdLCBbMTY2MzczOTM2OS44MjE5OTMsIDExNTc0LCAxLjMyNDE2NjY1NTU0MDQ2NjNdLCBbMTY2MzczOTM2OS45MDU4NDIsIDExNTgzLCAxLjI1OTMyOTU1NzQxODgyMzJdLCBbMTY2MzczOTM3MC4wNjI3ODEzLCAxMTYwMSwgMS40NjM4NjUwNDE3MzI3ODhdLCBbMTY2MzczOTM3MC4zMjEyMTYzLCAxMTYxOSwgMS40ODE4NDQxODY3ODI4MzddLCBbMTY2MzczOTM3MC40NzE5OTIzLCAxMTYzNywgMS40MTYyNjc2MzM0MzgxMTA0XSwgWzE2NjM3MzkzNzAuNTQzNzQyNywgMTE2NDYsIDEuMTcyNDk3NTEwOTEwMDM0Ml0sIFsxNjYzNzM5MzcwLjc4NjMzMTQsIDExNjczLCAxLjIxOTIwMDQ5MTkwNTIxMjRdLCBbMTY2MzczOTM3MC45MzIwOTI0LCAxMTY5MSwgMS4zMjIwODc4ODM5NDkyNzk4XSwgWzE2NjM3MzkzNzAuOTk3MTg0NSwgMTE3MDAsIDEuMzEwMzM2MTEyOTc2MDc0Ml0sIFsxNjYzNzM5MzcxLjE0MzYyOTgsIDExNzE4LCAxLjE2MTM5ODQxMDc5NzExOTFdLCBbMTY2MzczOTM3MS4yMTA1NTMyLCAxMTcyNywgMS40MzMxODMzMTI0MTYwNzY3XSwgWzE2NjM3MzkzNzEuMzUyNTY5LCAxMTc0NSwgMS4xNjAzOTQ5MDY5OTc2ODA3XSwgWzE2NjM3MzkzNzEuNDg3MzUyLCAxMTc2MywgMS4zMzY5NDkzNDg0NDk3MDddLCBbMTY2MzczOTM3MS43NzkyMjYzLCAxMTc5OSwgMS4xMDg5NTM3MTQzNzA3Mjc1XSwgWzE2NjM3MzkzNzEuOTgwOTk0MiwgMTE4MjYsIDEuMjc5OTIyNjA0NTYwODUyXSwgWzE2NjM3MzkzNzIuMDQ4NzQsIDExODM1LCAxLjM3MDYwMDIyMzU0MTI1OThdLCBbMTY2MzczOTM3Mi4xMjAxMDgsIDExODQ0LCAxLjI0NjAxODY0ODE0NzU4M10sIFsxNjYzNzM5MzcyLjQ3ODAzNjQsIDExODg5LCAxLjM2MTc5NzQ1MTk3Mjk2MTRdLCBbMTY2MzczOTM3Mi42MjY3MzY2LCAxMTkwNywgMS4yMDEwOTMwNzc2NTk2MDddLCBbMTY2MzczOTM3Mi42OTYxMTQsIDExOTE2LCAxLjQ1NTU3MDkzNjIwMzAwM10sIFsxNjYzNzM5MzcyLjc2NDY5MiwgMTE5MjUsIDEuNDAxODQwODA2MDA3Mzg1M10sIFsxNjYzNzM5MzcyLjgyOTU3NSwgMTE5MzQsIDEuMTUxNTkxODk3MDEwODAzMl0sIFsxNjYzNzM5MzcyLjg5OTA1MTQsIDExOTQzLCAxLjM0NTY3MTI5NjExOTY5XSwgWzE2NjM3MzkzNzMuMDMzMzY2NCwgMTE5NjEsIDEuMjUyODQzNjE4MzkyOTQ0M10sIFsxNjYzNzM5MzczLjU4MTY1NjcsIDEyMDI0LCAxLjE0OTM2NTkwMTk0NzAyMTVdLCBbMTY2MzczOTM3NC4wMjEzODg1LCAxMjA3OCwgMS4yMDY5NTAzMDY4OTIzOTVdLCBbMTY2MzczOTM3NC4yNTIwNjk3LCAxMjEwNSwgMS4zOTgwODI0OTQ3MzU3MTc4XSwgWzE2NjM3MzkzNzQuMzMwOTIxLCAxMjExNCwgMS4zMzQyNzQ2NDk2MjAwNTYyXSwgWzE2NjM3MzkzNzQuNDk5NDkyLCAxMjEzMiwgMS4zMDA3NjUyNzU5NTUyMDAyXSwgWzE2NjM3MzkzNzQuNjIyNjE4MiwgMTIxNDEsIDEuMTAzOTQ3OTk3MDkzMjAwN10sIFsxNjYzNzM5Mzc0Ljg0NjM0MTgsIDEyMTY4LCAxLjM4Njg0Nzg1MzY2MDU4MzVdLCBbMTY2MzczOTM3NC45MTg1MzUyLCAxMjE3NywgMS4xMzg2OTgyMjAyNTI5OTA3XSwgWzE2NjM3MzkzNzUuMDY4NTMyLCAxMjE5NSwgMS41NzI2NTA5MDk0MjM4MjgxXSwgWzE2NjM3MzkzNzUuMTQ1MzczLCAxMjIwNCwgMS45MDA0NTUxMTcyMjU2NDddLCBbMTY2MzczOTM3NS4yMTc1NjU4LCAxMjIxMywgMS4zMDU2NDY4OTYzNjIzMDQ3XSwgWzE2NjM3MzkzNzUuNDg3MTc4OCwgMTIyMjIsIDEuMTEyNzYxNjE2NzA2ODQ4MV0sIFsxNjYzNzM5Mzc1LjU2MzUyNzgsIDEyMjMxLCAxLjEyODMzODA5ODUyNjAwMV0sIFsxNjYzNzM5Mzc1LjcyNzU1NjcsIDEyMjQ5LCAxLjM3NDk5NTk0Njg4NDE1NTNdLCBbMTY2MzczOTM3Ni4wMDY2Mjk3LCAxMjI4NSwgMS4wNzQwODUyMzU1OTU3MDMxXSwgWzE2NjM3MzkzNzYuMDc1Mzk1OCwgMTIyOTQsIDEuMTMxOTk3OTQyOTI0NDk5NV0sIFsxNjYzNzM5Mzc2LjE0ODE5OCwgMTIzMDMsIDEuMDQzMTk0NjUxNjAzNjk4N10sIFsxNjYzNzM5Mzc2LjIxNTE0MTUsIDEyMzEyLCAxLjE3MTc2NzgzMDg0ODY5MzhdLCBbMTY2MzczOTM3Ni4yODg4NzU2LCAxMjMyMSwgMC45ODE5NTgyNzAwNzI5MzddLCBbMTY2MzczOTM3Ni42NTU5ODk2LCAxMjM1NywgMS4xMjkxMTU1ODE1MTI0NTEyXSwgWzE2NjM3MzkzNzYuNzI3Mzc5OCwgMTIzNjYsIDEuNDM3NjM3MzI5MTAxNTYyNV0sIFsxNjYzNzM5Mzc2Ljg2Njk3ODYsIDEyMzg0LCAxLjI4NTQ2NzYyNDY2NDMwNjZdLCBbMTY2MzczOTM3Ni45Mzg3MTIsIDEyMzkzLCAxLjI1Nzg5NDAzOTE1NDA1MjddLCBbMTY2MzczOTM3Ny4yMjY5OTQ1LCAxMjQyOSwgMS4zODQxMDgxODU3NjgxMjc0XSwgWzE2NjM3MzkzNzcuMzUzNzM1MiwgMTI0MzgsIDEuMTEwODY2NjY1ODQwMTQ5XSwgWzE2NjM3MzkzNzcuNjUzMjU0NSwgMTI0NzQsIDEuMjU1MzcwNjE2OTEyODQxOF0sIFsxNjYzNzM5Mzc3LjcyNTEzNzcsIDEyNDgzLCAxLjEwMzUwNDE4MDkwODIwMzFdLCBbMTY2MzczOTM3Ny43OTg3ODc4LCAxMjQ5MiwgMS4xMzAxOTE1NjQ1NTk5MzY1XSwgWzE2NjM3MzkzNzguMDE5NzI3NywgMTI1MTksIDEuMjMwMjg3NDMyNjcwNTkzM10sIFsxNjYzNzM5Mzc4LjA5NzA2NzQsIDEyNTI4LCAxLjQxNTI5MDcxMzMxMDI0MTddLCBbMTY2MzczOTM3OC4yNjczNTg4LCAxMjU0NiwgMS4zNzYwODA2MzIyMDk3Nzc4XSwgWzE2NjM3MzkzNzguNDg1MTE0LCAxMjU3MywgMS4yODc3MDYzNzUxMjIwNzAzXSwgWzE2NjM3MzkzNzguNTU3NzA4NSwgMTI1ODIsIDEuMjk2MjAyODk4MDI1NTEyN10sIFsxNjYzNzM5Mzc4LjcwODk3ODQsIDEyNjAwLCAxLjE4NTgxNTgxMTE1NzIyNjZdLCBbMTY2MzczOTM3OC43ODI4NTc0LCAxMjYwOSwgMS4xNDE1MzIzMDE5MDI3NzFdLCBbMTY2MzczOTM3OS4wMzEzMzY1LCAxMjYzNiwgMS4yNTc4NTk1ODc2NjkzNzI2XSwgWzE2NjM3MzkzNzkuMTc3MDIyNywgMTI2NTQsIDEuMjcwNzUxMjM3ODY5MjYyN10sIFsxNjYzNzM5Mzc5Ljc3ODY4NywgMTI3MjYsIDEuMzg3MjYwNjc1NDMwMjk3OV0sIFsxNjYzNzM5MzgwLjM5MzMxLCAxMjc1MywgMS4zMDMwNDYzNDU3MTA3NTQ0XSwgWzE2NjM3MzkzODAuNDk0Njk4NSwgMTI3NjIsIDEuMjg0OTk0MDA2MTU2OTIxNF0sIFsxNjYzNzM5MzgwLjYzNTc3MjIsIDEyNzgwLCAxLjUwMzQ0ODM2NzExODgzNTRdLCBbMTY2MzczOTM4MC43OTgzMDA3LCAxMjc5OCwgMS4yMzk4MzA4NTE1NTQ4NzA2XSwgWzE2NjM3MzkzODAuODY3NTA1NiwgMTI4MDcsIDEuNDYzODUyNjQzOTY2Njc0OF0sIFsxNjYzNzM5MzgxLjU4NTUwMjksIDEyODg4LCAxLjQ3NTc2ODMyNzcxMzAxMjddLCBbMTY2MzczOTM4MS42NTU0MTQ2LCAxMjg5NywgMS42ODg5ODYwNjMwMDM1NF0sIFsxNjYzNzM5MzgxLjcyMDA0ODcsIDEyOTA2LCAxLjQwODUyMDY5ODU0NzM2MzNdLCBbMTY2MzczOTM4MS44MDI0MjMsIDEyOTE1LCAxLjI1NDgzMDgzNzI0OTc1NTldLCBbMTY2MzczOTM4MS45MzI1NzUyLCAxMjkzMywgMS4yMjAxNzE4MDkxOTY0NzIyXSwgWzE2NjM3MzkzODIuMDY0MTUxOCwgMTI5NTEsIDEuMTYzOTczNDUwNjYwNzA1Nl0sIFsxNjYzNzM5MzgyLjEyOTc0OSwgMTI5NjAsIDEuMTg0OTU1MzU4NTA1MjQ5XSwgWzE2NjM3MzkzODIuMjA3Nzg3MywgMTI5NjksIDEuMjUxMDg4OTc2ODYwMDQ2NF0sIFsxNjYzNzM5MzgyLjI3NjA1MTMsIDEyOTc4LCAxLjUxNzg5MDQ1MzMzODYyM10sIFsxNjYzNzM5MzgyLjY2NTUzMzUsIDEzMDA1LCAxLjExMTczMzMxNzM3NTE4M10sIFsxNjYzNzM5MzgyLjgxNjUwNTQsIDEzMDIzLCAxLjA3NjQzOTk3NjY5MjE5OTddLCBbMTY2MzczOTM4Mi44OTA5NDA0LCAxMzAzMiwgMS4yMzExMjkwNTAyNTQ4MjE4XSwgWzE2NjM3MzkzODIuOTYyOTc5NiwgMTMwNDEsIDEuNjc0OTA5MTE0ODM3NjQ2NV0sIFsxNjYzNzM5MzgzLjAzNTc4NjksIDEzMDUwLCAxLjM5MzE3NzYyODUxNzE1MDldLCBbMTY2MzczOTM4My4xMTI4MTc1LCAxMzA1OSwgMS4xMzE2MDMxMjE3NTc1MDczXSwgWzE2NjM3MzkzODMuMjA0MjY3NSwgMTMwNjgsIDEuMzkzNTQ5OTE5MTI4NDE4XSwgWzE2NjM3MzkzODMuMjc0ODIyMiwgMTMwNzcsIDEuMTk1OTkwMDg1NjAxODA2Nl0sIFsxNjYzNzM5MzgzLjQxMjUwNjMsIDEzMDk1LCAxLjMwMDA4MTg0OTA5ODIwNTZdLCBbMTY2MzczOTM4My40ODIyODgxLCAxMzEwNCwgMi4wMTk2ODkwODMwOTkzNjUyXSwgWzE2NjM3MzkzODMuNTYyNTgyLCAxMzExMywgMS4yOTg0NzU5ODA3NTg2NjddLCBbMTY2MzczOTM4My42Mzg0NjYxLCAxMzEyMiwgMS4yNTQzNzA2ODkzOTIwODk4XSwgWzE2NjM3MzkzODMuNzA3OTgxNiwgMTMxMzEsIDEuNjkwNTg5NDI3OTQ3OTk4XSwgWzE2NjM3MzkzODMuNzc1MTI5MywgMTMxNDAsIDEuNzE2MDEyNzE2MjkzMzM1XSwgWzE2NjM3MzkzODMuODQ5NzMzNiwgMTMxNDksIDEuMDc0ODU0MzczOTMxODg0OF0sIFsxNjYzNzM5MzgzLjkxNDEyNjQsIDEzMTU4LCAxLjQxMTY4NzEzNTY5NjQxMTFdLCBbMTY2MzczOTM4My45ODgxOTY2LCAxMzE2NywgMS4yNzEzNTI3Njc5NDQzMzZdLCBbMTY2MzczOTM4NC4wNTc4MjksIDEzMTc2LCAxLjI1NDIxMTc4MzQwOTExODddLCBbMTY2MzczOTM4NC4xMzc3NzMzLCAxMzE4NSwgMS4yOTk5MTMwNDg3NDQyMDE3XSwgWzE2NjM3MzkzODQuNTYxNzkyOSwgMTMyMzksIDEuMzU4Mzk1ODE0ODk1NjI5OV0sIFsxNjYzNzM5Mzg0Ljc5NjU1OCwgMTMyNjYsIDEuMzc5MjY3NTczMzU2NjI4NF0sIFsxNjYzNzM5Mzg0Ljg3NTMzMzUsIDEzMjc1LCAxLjM0NDIxNzY1ODA0MjkwNzddLCBbMTY2MzczOTM4NS4wNDIzOTkyLCAxMzI5MywgMS4wNDczOTA2OTkzODY1OTY3XSwgWzE2NjM3MzkzODUuMTA3OTk5OCwgMTMzMDIsIDEuMzAwMzQ0ODI0NzkwOTU0Nl0sIFsxNjYzNzM5Mzg1LjQyMjYyMzIsIDEzMzM4LCAxLjQ5NTk3NjY4NjQ3NzY2MTFdLCBbMTY2MzczOTM4NS41MTExNDg3LCAxMzM0NywgMS4zMjY1OTgxNjc0MTk0MzM2XSwgWzE2NjM3MzkzODUuNTk2NzQ3MiwgMTMzNTYsIDEuNDAxNDU0MDkxMDcyMDgyNV0sIFsxNjYzNzM5Mzg1LjY3ODM2NDUsIDEzMzY1LCAxLjE0NjA5ODI1NjExMTE0NV0sIFsxNjYzNzM5Mzg1Ljg4MTcxNywgMTMzOTIsIDEuMjQ2ODQwNzE1NDA4MzI1Ml0sIFsxNjYzNzM5Mzg1Ljk1MTAwNzEsIDEzNDAxLCAxLjIwNjAxNjc3ODk0NTkyMjldLCBbMTY2MzczOTM4Ni4wMTc0NTA2LCAxMzQxMCwgMS40NjYxMDY4OTE2MzIwOF0sIFsxNjYzNzM5Mzg2LjA5OTIwMjQsIDEzNDE5LCAxLjQ5MDQ5NDI1MTI1MTIyMDddLCBbMTY2MzczOTM4Ni4xNzMxNzY4LCAxMzQyOCwgMS4yMjA3ODg1OTgwNjA2MDhdLCBbMTY2MzczOTM4Ni4zMjI2NTg4LCAxMzQ0NiwgMS40MTM1OTE1MDQwOTY5ODQ5XSwgWzE2NjM3MzkzODYuMzg3NTQ5OSwgMTM0NTUsIDEuMjM5ODM3ODg0OTAyOTU0XSwgWzE2NjM3MzkzODYuNjcxNTgzNywgMTM0OTEsIDEuNDAyOTc5MDE2MzA0MDE2MV0sIFsxNjYzNzM5Mzg2Ljc0MTg3MTYsIDEzNTAwLCAxLjEzMDAzNTE2MTk3MjA0Nl0sIFsxNjYzNzM5Mzg2LjgxMDY1NzMsIDEzNTA5LCAxLjM0MTMwNzY0MDA3NTY4MzZdLCBbMTY2MzczOTM4Ni45NjQ4MDc1LCAxMzUyNywgMS4xNDA3OTc3MzQyNjA1NTldLCBbMTY2MzczOTM4Ny4xODM0NTg4LCAxMzU1NCwgMS41MzU5MjI1MjczMTMyMzI0XSwgWzE2NjM3MzkzODcuNDU4MTI0NCwgMTM1OTAsIDEuMTI2NDg1OTQzNzk0MjUwNV0sIFsxNjYzNzM5Mzg3LjUzNDE2NCwgMTM1OTksIDEuMjY0Njg5OTIyMzMyNzYzN10sIFsxNjYzNzM5Mzg3LjYwODY4NjcsIDEzNjA4LCAxLjMxODM1OTM3NV0sIFsxNjYzNzM5Mzg3LjY4MTA1NDQsIDEzNjE3LCAxLjE3MjQ3MTI4NDg2NjMzM10sIFsxNjYzNzM5Mzg3Ljc1MTMwNDQsIDEzNjI2LCAxLjI0MzY2NDYyMjMwNjgyMzddLCBbMTY2MzczOTM4Ny44OTA3MjMyLCAxMzY0NCwgMS4zMDM4NzgxODgxMzMyMzk3XSwgWzE2NjM3MzkzODcuOTcyNTA0MSwgMTM2NTMsIDEuMDg3MTkwMTUxMjE0NTk5Nl0sIFsxNjYzNzM5Mzg4LjY4MDIxMywgMTM3MTYsIDEuMjAyNjA1MzY2NzA2ODQ4MV0sIFsxNjYzNzM5Mzg4LjkxMjY5NDUsIDEzNzQzLCAxLjA2NTQ2NTQ1MDI4Njg2NTJdLCBbMTY2MzczOTM4OS4wNzE2ODY3LCAxMzc2MSwgMS4xMTc0NjY2ODgxNTYxMjhdLCBbMTY2MzczOTM4OS4yMjU2MjE1LCAxMzc3OSwgMS4wODc5ODg3MzQyNDUzMDAzXSwgWzE2NjM3MzkzODkuNDM3NzkxMywgMTM4MDYsIDEuMjM4MTE3MDk4ODA4Mjg4Nl0sIFsxNjYzNzM5Mzg5LjUwNzQzNDEsIDEzODE1LCAxLjI3NTg3MzU0MTgzMTk3MDJdLCBbMTY2MzczOTM4OS43MTU4MTY3LCAxMzg0MiwgMS4wMzQyMTQyNTgxOTM5Njk3XSwgWzE2NjM3MzkzODkuNzg2MTIzLCAxMzg1MSwgMS4yNjY4Mzk1MDQyNDE5NDM0XSwgWzE2NjM3MzkzODkuOTE2OTYzOCwgMTM4NjksIDEuMTM4NTk3MjQ5OTg0NzQxMl0sIFsxNjYzNzM5Mzg5Ljk4MDQ5MjgsIDEzODc4LCAxLjA1NDQ0NjQ1ODgxNjUyODNdLCBbMTY2MzczOTM5MC4yNjQxMjM3LCAxMzkxNCwgMS4wODUzMDc1OTgxMTQwMTM3XSwgWzE2NjM3MzkzOTAuNDIwNjY2MiwgMTM5MzIsIDEuMjA1OTA2MDMzNTE1OTMwMl0sIFsxNjYzNzM5MzkwLjQ5NDc5NjgsIDEzOTQxLCAxLjEwMjg2NjY0OTYyNzY4NTVdLCBbMTY2MzczOTM5MC43MDgyODc1LCAxMzk2OCwgMS4xNjQ1MTU3MzM3MTg4NzJdLCBbMTY2MzczOTM5MC43NzE4MzY1LCAxMzk3NywgMS41MTMwNDM4ODA0NjI2NDY1XSwgWzE2NjM3MzkzOTAuODM5Njk2NiwgMTM5ODYsIDEuMjE5NzM2MDk5MjQzMTY0XSwgWzE2NjM3MzkzOTAuOTc4Njc4MiwgMTQwMDQsIDEuNzA0MDczNjY3NTI2MjQ1MV0sIFsxNjYzNzM5MzkxLjEwMjU2MSwgMTQwMjIsIDEuMjUyODc2MTYyNTI4OTkxN10sIFsxNjYzNzM5MzkxLjI4NzczNzEsIDE0MDQwLCAxLjI5NTkzMDAyNzk2MTczMV0sIFsxNjYzNzM5MzkxLjUxNDQ3NzUsIDE0MDQ5LCAxLjA4NDU3Mzk4NDE0NjExODJdLCBbMTY2MzczOTM5MS42NjYzMjE4LCAxNDA2NywgMS4wNzAzMDcyNTQ3OTEyNTk4XSwgWzE2NjM3MzkzOTEuODI1NzQxLCAxNDA4NSwgMS4zNTcyNTYxNzQwODc1MjQ0XSwgWzE2NjM3MzkzOTEuOTAwMjIwNiwgMTQwOTQsIDEuMTIwMjUwMzQ0Mjc2NDI4Ml0sIFsxNjYzNzM5MzkxLjk3OTg5OTQsIDE0MTAzLCAxLjQxMDUxMjgwNDk4NTA0NjRdLCBbMTY2MzczOTM5Mi4xNDE3NzYsIDE0MTIxLCAxLjA4ODEyODIwOTExNDA3NDddLCBbMTY2MzczOTM5Mi4yOTgxNjk5LCAxNDEzOSwgMS40OTQ3OTQ2MDcxNjI0NzU2XSwgWzE2NjM3MzkzOTIuMzcxMTc5MywgMTQxNDgsIDEuMjE5NzY1MzA1NTE5MTA0XSwgWzE2NjM3MzkzOTIuNDQ0MzI2NiwgMTQxNTcsIDEuMjQxMzMzODQyMjc3NTI2OV0sIFsxNjYzNzM5MzkyLjUyMjM3NjMsIDE0MTY2LCAxLjEwNDIwNDA1ODY0NzE1NThdLCBbMTY2MzczOTM5Mi41OTgwOTMsIDE0MTc1LCAxLjMzMTI5MjI3MTYxNDA3NDddLCBbMTY2MzczOTM5Mi43NTI3NDA0LCAxNDE5MywgMS4zODMzMjMxOTI1OTY0MzU1XSwgWzE2NjM3MzkzOTIuOTA5NTk5OCwgMTQyMTEsIDEuMDQ4MTM5NTcyMTQzNTU0N10sIFsxNjYzNzM5MzkzLjAxODM4NzgsIDE0MjIwLCAxLjc1MjQ1Njc4NDI0ODM1Ml0sIFsxNjYzNzM5MzkzLjEwMzg1OTcsIDE0MjI5LCAxLjEyMTQ1NzA5OTkxNDU1MDhdLCBbMTY2MzczOTM5My4xNzA0MzMsIDE0MjM4LCAxLjE5NTIzNjMyNTI2Mzk3N10sIFsxNjYzNzM5MzkzLjI0Mzc5NDcsIDE0MjQ3LCAxLjMzODc5NzIxMTY0NzAzMzddLCBbMTY2MzczOTM5My42MjU4NDksIDE0Mjc0LCAxLjIzMjg4MjYxODkwNDExMzhdLCBbMTY2MzczOTM5NC4xNzU4MTQ5LCAxNDMxOSwgMS4yOTQ0Njg5OTg5MDg5OTY2XSwgWzE2NjM3MzkzOTQuNTA3MTk4LCAxNDM2NCwgMS4zNjU4NjgzMzAwMDE4MzFdLCBbMTY2MzczOTM5NC41OTM4MzA2LCAxNDM3MywgMS4xNzUwNDczOTc2MTM1MjU0XSwgWzE2NjM3MzkzOTQuNjcxMTA1NCwgMTQzODIsIDEuMTkwNDQ2NDk2MDA5ODI2N10sIFsxNjYzNzM5Mzk0Ljk0NzA1MDgsIDE0NDE4LCAxLjE3NDM0MDEyODg5ODYyMDZdLCBbMTY2MzczOTM5NS4wMTg1NjIzLCAxNDQyNywgMS4xNjcyOTY0MDk2MDY5MzM2XSwgWzE2NjM3MzkzOTUuMDg1ODg5OCwgMTQ0MzYsIDEuNzQ1OTUyMDEwMTU0NzI0MV0sIFsxNjYzNzM5Mzk1Ljc0NzMyMTgsIDE0NDk5LCAxLjM5MzQyNTcwMzA0ODcwNl0sIFsxNjYzNzM5Mzk1LjgxNjg1ODMsIDE0NTA4LCAxLjE4NDg5ODM3NjQ2NDg0MzhdLCBbMTY2MzczOTM5NS45NTAwMjgsIDE0NTI2LCAxLjIxNDYxMjcyMjM5Njg1MDZdLCBbMTY2MzczOTM5Ni4wMTk3NDI1LCAxNDUzNSwgMS4xNjA1OTQyMjQ5Mjk4MDk2XSwgWzE2NjM3MzkzOTYuMDg4NzY5LCAxNDU0NCwgMS4zNTc3ODQxNTIwMzA5NDQ4XSwgWzE2NjM3MzkzOTYuMTUxNjE2MywgMTQ1NTMsIDEuMTk0OTUzMjAzMjAxMjk0XSwgWzE2NjM3MzkzOTYuMjI2ODIyNCwgMTQ1NjIsIDEuMzA3MTAxOTY0OTUwNTYxNV0sIFsxNjYzNzM5Mzk2LjQ0NjgxNCwgMTQ1ODksIDEuMTA5NjQ4NDY2MTEwMjI5NV0sIFsxNjYzNzM5Mzk2LjU5NDE3MDMsIDE0NjA3LCAxLjIwMzc5NDcxNzc4ODY5NjNdLCBbMTY2MzczOTM5Ni43NjA3NDM0LCAxNDYyNSwgMS42MzI4ODk2Mjg0MTAzMzk0XSwgWzE2NjM3MzkzOTYuODk3ODcwMywgMTQ2NDMsIDEuMTA1NzExMTAyNDg1NjU2N10sIFsxNjYzNzM5Mzk2Ljk2OTk3OTgsIDE0NjUyLCAxLjE5NDMzMDIxNTQ1NDEwMTZdLCBbMTY2MzczOTM5Ny4xNzA5OTI0LCAxNDY3OSwgMS4yNDgxNzA3MzM0NTE4NDMzXSwgWzE2NjM3MzkzOTcuMjM4MDM5MywgMTQ2ODgsIDEuMDExMTMxNTI1MDM5NjcyOV0sIFsxNjYzNzM5Mzk3LjUxOTM4OCwgMTQ3MjQsIDEuMzQzMzMwNTAyNTEwMDcwOF0sIFsxNjYzNzM5Mzk3LjYwODA5MTYsIDE0NzMzLCAxLjI1NzIwMzQ1OTczOTY4NV0sIFsxNjYzNzM5Mzk3LjY4MDAyNjUsIDE0NzQyLCAxLjIyODc1OTg4NDgzNDI4OTZdLCBbMTY2MzczOTM5Ny43NTE3OTg5LCAxNDc1MSwgMS4xMzk5MDk3NDQyNjI2OTUzXSwgWzE2NjM3MzkzOTguMDAyODMyNywgMTQ3NjksIDEuMDIzNDU4MDAzOTk3ODAyN10sIFsxNjYzNzM5Mzk4LjE1MjU4OTYsIDE0Nzc4LCAxLjI0MzY5ODIzOTMyNjQ3N10sIFsxNjYzNzM5Mzk4LjUyNzc1NzQsIDE0ODIzLCAxLjE3NjYzMDI1ODU2MDE4MDddLCBbMTY2MzczOTM5OC41OTk1NjcyLCAxNDgzMiwgMS4wMzQ3MTk1ODYzNzIzNzU1XSwgWzE2NjM3MzkzOTguNzUxODA0NiwgMTQ4NTAsIDEuMjk1Njc3MDY1ODQ5MzA0Ml0sIFsxNjYzNzM5Mzk4Ljg5NTA4NDQsIDE0ODY4LCAxLjI5NzE5NTc5MjE5ODE4MTJdLCBbMTY2MzczOTM5OC45NjQyMjI0LCAxNDg3NywgMS4xNjcyNTQ5MjQ3NzQxN10sIFsxNjYzNzM5Mzk5LjAzMzg5MjYsIDE0ODg2LCAxLjY3NjUwODQyNjY2NjI1OThdLCBbMTY2MzczOTM5OS4xMzAzNTM1LCAxNDg5NSwgMS4yODI2MDQ0NTU5NDc4NzZdLCBbMTY2MzczOTM5OS4yODUwODM1LCAxNDkxMywgMS4yOTI1MzI4MDE2MjgxMTI4XSwgWzE2NjM3MzkzOTkuNDE3ODA2MSwgMTQ5MzEsIDEuMTY1MTEzNTY4MzA1OTY5Ml0sIFsxNjYzNzM5Mzk5LjQ4MzM1NDgsIDE0OTQwLCAxLjI5NjI4NTAzMzIyNjAxMzJdLCBbMTY2MzczOTM5OS43MzAzNzQ2LCAxNDk2NywgMS4zMDI1MTk3OTgyNzg4MDg2XSwgWzE2NjM3MzkzOTkuODg0NTUxNSwgMTQ5ODUsIDEuMjE5NzkwMTAxMDUxMzMwNl0sIFsxNjYzNzM5NDAwLjAzMTc3MDUsIDE1MDAzLCAxLjE1MzIyMTg0NTYyNjgzMV0sIFsxNjYzNzM5NDAwLjI0Njk4MDcsIDE1MDMwLCAxLjE2NzgxMTUxMjk0NzA4MjVdLCBbMTY2MzczOTQwMC4zMjY1MzEyLCAxNTAzOSwgMS4wODQzMDc1NTEzODM5NzIyXSwgWzE2NjM3Mzk0MDAuODEyMjY4MywgMTUwNzUsIDEuNTg1NjczOTI4MjYwODAzMl0sIFsxNjYzNzM5NDAxLjAyMDMxOSwgMTUxMDIsIDEuMTgzOTIxNTc1NTQ2MjY0Nl0sIFsxNjYzNzM5NDAxLjE1MzcwMSwgMTUxMjAsIDEuMzcyMjQ4NDExMTc4NTg4OV0sIFsxNjYzNzM5NDAxLjIyNDY5NSwgMTUxMjksIDEuMzIyOTY1MzgzNTI5NjYzXSwgWzE2NjM3Mzk0MDEuMjkzMzc3MiwgMTUxMzgsIDEuMTQ0MTM3NjIwOTI1OTAzM10sIFsxNjYzNzM5NDAxLjM1Nzc1NSwgMTUxNDcsIDEuMDUyMjM2OTE0NjM0NzA0Nl0sIFsxNjYzNzM5NDAxLjU2ODYxNTcsIDE1MTc0LCAxLjU0NTE4ODA2OTM0MzU2N10sIFsxNjYzNzM5NDAxLjY1MTA0ODIsIDE1MTgzLCAxLjQ4NjM3NDQ5NzQxMzYzNTNdLCBbMTY2MzczOTQwMS43MTkyNzk1LCAxNTE5MiwgMS4zNjU4OTUwMzI4ODI2OTA0XSwgWzE2NjM3Mzk0MDEuNzkzNzUwNSwgMTUyMDEsIDEuMzEwOTkyMzYwMTE1MDUxM10sIFsxNjYzNzM5NDAxLjg2MzQyMjIsIDE1MjEwLCAxLjI3MzI2NTgzODYyMzA0NjldLCBbMTY2MzczOTQwMS45MzE1NzM5LCAxNTIxOSwgMS4xNDg4MTk4MDQxOTE1ODk0XSwgWzE2NjM3Mzk0MDIuMTM3MTcxNSwgMTUyNDYsIDEuMjA4MDY0Nzk0NTQwNDA1M10sIFsxNjYzNzM5NDAyLjIwNjU4NCwgMTUyNTUsIDEuMDgzNDk0NjYzMjM4NTI1NF0sIFsxNjYzNzM5NDAyLjI3MzA3NDksIDE1MjY0LCAxLjQwOTIyNzEzMjc5NzI0MTJdLCBbMTY2MzczOTQwMi40MDkyOTQ4LCAxNTI4MiwgMS42NTYwMzAxNzgwNzAwNjg0XSwgWzE2NjM3Mzk0MDIuNDc1MjY3NCwgMTUyOTEsIDEuMjA2MTg2NjUyMTgzNTMyN10sIFsxNjYzNzM5NDAyLjU0MjMzOTMsIDE1MzAwLCAxLjE2NzM5MDcwNDE1NDk2ODNdLCBbMTY2MzczOTQwMi42MTU1ODksIDE1MzA5LCAxLjQ2OTM5ODg1NjE2MzAyNV0sIFsxNjYzNzM5NDAyLjY4OTIxMTEsIDE1MzE4LCAxLjMzMjQwOTAyNDIzODU4NjRdLCBbMTY2MzczOTQwMi43NjAzNTI4LCAxNTMyNywgMS4zODk1NzQxNzAxMTI2MDk5XSwgWzE2NjM3Mzk0MDIuOTE2MTAyMiwgMTUzNDUsIDEuMjA1NTEyODgxMjc4OTkxN10sIFsxNjYzNzM5NDAzLjEzOTg5MTQsIDE1MzcyLCAxLjQ5NzUxNjAzNjAzMzYzMDRdLCBbMTY2MzczOTQwMy4yOTYxMTMsIDE1MzkwLCAxLjE1MzE5NTUwMDM3Mzg0MDNdLCBbMTY2MzczOTQwMy4zNTg4NDcxLCAxNTM5OSwgMS4xNDQ4NzU4ODQwNTYwOTEzXSwgWzE2NjM3Mzk0MDMuNDM0OTk5NywgMTU0MDgsIDEuMTM3NzY5MjIyMjU5NTIxNV0sIFsxNjYzNzM5NDAzLjUxODEyMzYsIDE1NDE3LCAxLjI1MjUzNDUwODcwNTEzOTJdLCBbMTY2MzczOTQwMy43OTY4MzE0LCAxNTQ1MywgMS4wOTQ0NzMxMjM1NTA0MTVdLCBbMTY2MzczOTQwMy45NjUyODUsIDE1NDcxLCAxLjEyNDczNDY0MDEyMTQ2XSwgWzE2NjM3Mzk0MDQuMDM4NjIxNywgMTU0ODAsIDEuMzI0ODQyMDk1Mzc1MDYxXSwgWzE2NjM3Mzk0MDQuMjY4NjkzLCAxNTUwNywgMS4zODcyMzYxMTgzMTY2NTA0XSwgWzE2NjM3Mzk0MDQuMzQxNzc2LCAxNTUxNiwgMS4yMjY2NDY5MDAxNzcwMDJdLCBbMTY2MzczOTQwNC40MDU2NzQ3LCAxNTUyNSwgMS4zNjAyNTQxNjg1MTA0MzddLCBbMTY2MzczOTQwNC40OTA0MzQ2LCAxNTUzNCwgMS4xMTk1NDM2NzE2MDc5NzEyXSwgWzE2NjM3Mzk0MDUuMTY1MjkyLCAxNTU3OSwgMS40MzM5NTk2MDMzMDk2MzEzXSwgWzE2NjM3Mzk0MDUuOTQ4MjM1MywgMTU2NTEsIDEuNDI1MDg0NTkwOTExODY1Ml0sIFsxNjYzNzM5NDA2LjAyMjY4OCwgMTU2NjAsIDEuMzQ2NTkxMjM0MjA3MTUzM10sIFsxNjYzNzM5NDA2LjEwMDg4OTcsIDE1NjY5LCAxLjE3NDg2NDI5MjE0NDc3NTRdLCBbMTY2MzczOTQwNi4zMzY4Mjc4LCAxNTY5NiwgMS41NzQ1MjIxMzc2NDE5MDY3XSwgWzE2NjM3Mzk0MDYuNTE0ODk3MywgMTU3MTQsIDEuMTYwMDk5NTA2Mzc4MTczOF0sIFsxNjYzNzM5NDA2LjU4NjY4NjEsIDE1NzIzLCAxLjIwMDE3ODg2MTYxODA0Ml0sIFsxNjYzNzM5NDA2Ljg2ODQzMDYsIDE1NzMyLCAxLjM0OTg4MjYwMjY5MTY1MDRdLCBbMTY2MzczOTQwNi45NTcxMjIzLCAxNTc0MSwgMS4xNDUwODc3MTg5NjM2MjNdLCBbMTY2MzczOTQwNy4wNDg2NzcsIDE1NzUwLCAxLjQ0MTY2NTE3MjU3NjkwNDNdLCBbMTY2MzczOTQwNy4xMzEzNjU4LCAxNTc1OSwgMS4xNDc0NTA5MjM5MTk2Nzc3XSwgWzE2NjM3Mzk0MDcuMjI1NjQ4LCAxNTc2OCwgMS41OTE3ODE5NzM4Mzg4MDYyXSwgWzE2NjM3Mzk0MDcuNDUzMTYyNCwgMTU3ODYsIDEuMzQ1NTAxNzgwNTA5OTQ4N10sIFsxNjYzNzM5NDA3LjUyNzQ4ODUsIDE1Nzk1LCAxLjcxNTI4Njg1MDkyOTI2MDNdLCBbMTY2MzczOTQwNy43NjMzMDUyLCAxNTgyMiwgMS4wNjY5MzU0MjAwMzYzMTZdLCBbMTY2MzczOTQwOC4xNTgwMzIsIDE1ODY3LCAxLjE5Mzc4MjY4NzE4NzE5NDhdLCBbMTY2MzczOTQwOC4yMzI1NDY4LCAxNTg3NiwgMS4zMzkwNjEzNzk0MzI2NzgyXSwgWzE2NjM3Mzk0MDguMzczODQ4NywgMTU4OTQsIDEuMzU5NDk3NjY2MzU4OTQ3OF0sIFsxNjYzNzM5NDA4LjQ1NjcxNzcsIDE1OTAzLCAxLjEyMzQ4MDkxNjAyMzI1NDRdLCBbMTY2MzczOTQwOC41OTk5Nzk5LCAxNTkyMSwgMS4xMzcwMzMxMDQ4OTY1NDU0XV0=","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_02-23-21_63b6388f5f34&tag=Loss%2Fvalid":{"data":"W1sxNjYzNzI3MDA4LjI3MDE3NDUsIDksIDEwNy4yMTU0NTQxMDE1NjI1XSwgWzE2NjM3MjcwMDguNjMzMTMyNywgMzYsIDM5Ljk3NTgxNDgxOTMzNTk0XSwgWzE2NjM3MjcwMDguNzM4NjIzMSwgNDUsIDM0LjU4NTQ5NDk5NTExNzE5XSwgWzE2NjM3MjcwMDkuNDE5MDgsIDk5LCAzNC40MjM5NDYzODA2MTUyMzRdLCBbMTY2MzcyNzAwOS42ODQ4MzA3LCAxMDgsIDMwLjU0NDkwODUyMzU1OTU3XSwgWzE2NjM3MjcwMTAuMDMyNDMxMSwgMTM1LCAyMS42NjMzMTY3MjY2ODQ1N10sIFsxNjYzNzI3MDEwLjE1MjI0MiwgMTQ0LCAyMS40MTk0NzM2NDgwNzEyOV0sIFsxNjYzNzI3MDEwLjQ5NjI5MjYsIDE3MSwgMTIuNDIwNjk3MjEyMjE5MjM4XSwgWzE2NjM3MjcwMTAuNjMwMzYwOCwgMTgwLCAxMi40MTUwNzkxMTY4MjEyODldLCBbMTY2MzcyNzAxMC43NDQzNjE5LCAxODksIDEwLjIwNzI1MTU0ODc2NzA5XSwgWzE2NjM3MjcwMTAuOTc1NTk4OCwgMjA3LCA4LjE5NjMxOTU4MDA3ODEyNV0sIFsxNjYzNzI3MDExLjEwMzQwMDIsIDIxNiwgMTEuODMyMTk5MDk2Njc5Njg4XSwgWzE2NjM3MjcwMTEuNDUzMTkyMiwgMjQzLCAzMy44MzEwNjYxMzE1OTE4XSwgWzE2NjM3MjcwMTEuNTYxMDY3OCwgMjUyLCAxNi42Njk2Mzk1ODc0MDIzNDRdLCBbMTY2MzcyNzAxMS43NjU0MTE0LCAyNzAsIDEyLjQzODQ1NDYyNzk5MDcyM10sIFsxNjYzNzI3MDEyLjIyMjc1OTcsIDMwNiwgNi40MDEyNjY1NzQ4NTk2MTldLCBbMTY2MzcyNzAxMi41OTY2NTU4LCAzMzMsIDEwLjg5ODc4MzY4Mzc3Njg1NV0sIFsxNjYzNzI3MDEyLjcwODIyODMsIDM0MiwgMTIuOTYzMzEwMjQxNjk5MjE5XSwgWzE2NjM3MjcwMTIuODExMjk4MSwgMzUxLCA2LjkyMTI5MTgyODE1NTUxOF0sIFsxNjYzNzI3MDEyLjkyMDY1ODMsIDM2MCwgOC45NTg0OTcwNDc0MjQzMTZdLCBbMTY2MzcyNzAxMy4wMzY3MTc3LCAzNjksIDE0LjUzNjExODUwNzM4NTI1NF0sIFsxNjYzNzI3MDEzLjgxOTMzNzgsIDQzMiwgNi42MDQ1MTYwMjkzNTc5MV0sIFsxNjYzNzI3MDEzLjkyNzg4MjQsIDQ0MSwgNS44Mjk3NzQzNzk3MzAyMjVdLCBbMTY2MzcyNzAxNC4wNDk1MTI5LCA0NTAsIDE2LjEyNjgxNTc5NTg5ODQzOF0sIFsxNjYzNzI3MDE0LjI3Njk4ODMsIDQ2OCwgNi42ODU2NTI3MzI4NDkxMjFdLCBbMTY2MzcyNzAxNC40MDE5ODMsIDQ3NywgNi4wNTM2NDEzMTkyNzQ5MDJdLCBbMTY2MzcyNzAxNC42NDQxMDE0LCA0OTUsIDguMjcxNTAwNTg3NDYzMzc5XSwgWzE2NjM3MjcwMTQuNzUxMDEyLCA1MDQsIDcuMjMwMzU0Nzg1OTE5MTg5NV0sIFsxNjYzNzI3MDE0Ljk3Mzg2ODEsIDUyMiwgNi4zNTA2OTYwODY4ODM1NDVdLCBbMTY2MzcyNzAxNS4zNDQxNDcyLCA1NDksIDQuODQ5MTkyMTQyNDg2NTcyXSwgWzE2NjM3MjcwMTUuNDQ2MDc2OSwgNTU4LCA4LjYxNDgwMTQwNjg2MDM1Ml0sIFsxNjYzNzI3MDE1LjUzNzA3OTgsIDU2NywgNi40MDI3ODQzNDc1MzQxOF0sIFsxNjYzNzI3MDE1LjYzMDIwNzUsIDU3NiwgNS4yNDQ1NjI2MjU4ODUwMV0sIFsxNjYzNzI3MDE1LjgyNTU5MjUsIDU5NCwgNS43MDAyNTc3NzgxNjc3MjVdLCBbMTY2MzcyNzAxNS45MzI5Mjk1LCA2MDMsIDUuMDY1Nzc0OTE3NjAyNTM5XSwgWzE2NjM3MjcwMTYuMDI5NjQxOSwgNjEyLCA4LjQzOTA3NTQ2OTk3MDcwM10sIFsxNjYzNzI3MDE2LjE5NzYyMTYsIDYyMSwgNS4wNjg2MjMwNjU5NDg0ODZdLCBbMTY2MzcyNzAxNi40MjMxMTksIDYzOSwgNC41NTE4NTA3OTU3NDU4NV0sIFsxNjYzNzI3MDE2LjUyNzQ3NTYsIDY0OCwgNS44MDQ2NTU1NTE5MTA0XSwgWzE2NjM3MjcwMTcuNDk1MTQ0NCwgNzAyLCA0LjczOTE3NzcwMzg1NzQyMl0sIFsxNjYzNzI3MDE3LjcyOTk0MTYsIDcyMCwgNS45Mjc4MDIwODU4NzY0NjVdLCBbMTY2MzcyNzAxNy44NDY3NjU4LCA3MjksIDUuODEwNTM2ODYxNDE5Njc4XSwgWzE2NjM3MjcwMTguMDUwMDI0MywgNzQ3LCA1Ljg4OTg1NzI5MjE3NTI5M10sIFsxNjYzNzI3MDE4LjE3OTA2OTUsIDc1NiwgNS4yNzY4MDU0MDA4NDgzODldLCBbMTY2MzcyNzAxOC4zNjc3MTU2LCA3NzQsIDUuMjAxNzk2MDU0ODQwMDg4XSwgWzE2NjM3MjcwMTguNDU2NjgxLCA3ODMsIDYuNzE5Mjc4MzM1NTcxMjg5XSwgWzE2NjM3MjcwMTguNzQwMDY2OCwgODEwLCA0LjkzODYzMTUzNDU3NjQxNl0sIFsxNjYzNzI3MDE4Ljg0MDk1NDgsIDgxOSwgNS43MTIxOTk2ODc5NTc3NjRdLCBbMTY2MzcyNzAxOS4zMjE4NDM0LCA4NjQsIDUuMTYwNDE5NDY0MTExMzI4XSwgWzE2NjM3MjcwMjAuMDA4Mzg0NywgOTAwLCA0LjI0Nzk5Mzk0NjA3NTQzOTVdLCBbMTY2MzcyNzAyMC4xMjA3OTM2LCA5MDksIDUuNjkxNjU4MDIwMDE5NTMxXSwgWzE2NjM3MjcwMjAuNDAxMjU2LCA5MzYsIDQuOTM1ODg4NzY3MjQyNDMyXSwgWzE2NjM3MjcwMjAuNzUyMTU0LCA5NjMsIDUuMDU0NDc5MTIyMTYxODY1XSwgWzE2NjM3MjcwMjAuODM3NzkzNCwgOTcyLCA1Ljg1NzY5NDE0OTAxNzMzNF0sIFsxNjYzNzI3MDIxLjA1MzUzNzQsIDk5MCwgOC40ODU1NTM3NDE0NTUwNzhdLCBbMTY2MzcyNzAyMS4xMzk1NDg4LCA5OTksIDQuMjYzMTExMTE0NTAxOTUzXSwgWzE2NjM3MjcwMjEuNTE2MDA5OCwgMTAzNSwgNC4zMjY1MDU2NjEwMTA3NDJdLCBbMTY2MzcyNzAyMS43MzI4NTAzLCAxMDUzLCA1Ljc2NzgxMzY4MjU1NjE1Ml0sIFsxNjYzNzI3MDIyLjIxNTcyMywgMTA5OCwgNS43NjM2Mzk0NTAwNzMyNDJdLCBbMTY2MzcyNzAyMi42Mjg4Nzg2LCAxMTM0LCAzLjkzNjk2ODA4ODE1MDAyNDRdLCBbMTY2MzcyNzAyMi43NTI3MDQsIDExNDMsIDQuMzU1MjE3NDU2ODE3NjI3XSwgWzE2NjM3MjcwMjIuOTcxMTUxLCAxMTYxLCA0LjEzNzIyNzA1ODQxMDY0NDVdLCBbMTY2MzcyNzAyMy4xOTYyOTA1LCAxMTc5LCA0LjExNTc0MjY4MzQxMDY0NDVdLCBbMTY2MzcyNzAyMy4zMTMxMDAzLCAxMTg4LCA0LjE0NDUzMDc3MzE2Mjg0Ml0sIFsxNjYzNzI3MDIzLjQyMDgzNDMsIDExOTcsIDUuMjAwODI5OTgyNzU3NTY4XSwgWzE2NjM3MjcwMjMuNjMzODQ3LCAxMjE1LCA0LjUxODI4MDUwNjEzNDAzM10sIFsxNjYzNzI3MDIzLjgzMzMyMDksIDEyMzMsIDQuMTA4Njk0MDc2NTM4MDg2XSwgWzE2NjM3MjcwMjMuOTQxMDAxLCAxMjQyLCA0LjE2NDcxMjkwNTg4Mzc4OV0sIFsxNjYzNzI3MDI0LjY0MzQ5MzcsIDEyOTYsIDQuMzEwNjgwODY2MjQxNDU1XSwgWzE2NjM3MjcwMjQuNzM4ODk0NywgMTMwNSwgNS4zMTYxMTQ5MDI0OTYzMzhdLCBbMTY2MzcyNzAyNC45NTUxMDQ4LCAxMzIzLCAzLjYxMzE2MzcwOTY0MDUwM10sIFsxNjYzNzI3MDI1LjA1NTMwOTUsIDEzMzIsIDUuMDM0MTU2MzIyNDc5MjQ4XSwgWzE2NjM3MjcwMjUuNDIzMDYyOCwgMTM1OSwgNC4yMTE1NjIxNTY2NzcyNDZdLCBbMTY2MzcyNzAyNi4xMzgzNzAzLCAxNDIyLCA0LjgxMjUzMzg1NTQzODIzMl0sIFsxNjYzNzI3MDI2LjMzMDk2NDgsIDE0NDAsIDQuNDkwODQ1NjgwMjM2ODE2XSwgWzE2NjM3MjcwMjYuNDIzODgzNCwgMTQ0OSwgNS4wMDU0NDgzNDEzNjk2MjldLCBbMTY2MzcyNzAyNi42MjEwOTQ1LCAxNDY3LCA0LjY3ODQ2Mjk4MjE3NzczNF0sIFsxNjYzNzI3MDI2LjgxMjk3NDUsIDE0ODUsIDQuMzI1NjI5MjM0MzEzOTY1XSwgWzE2NjM3MjcwMjYuOTkwMTg1LCAxNTAzLCA1Ljg0NzA1Njg2NTY5MjEzOV0sIFsxNjYzNzI3MDI3LjM5NDE5OTYsIDE1MzksIDQuODQ4MTg4NDAwMjY4NTU1XSwgWzE2NjM3MjcwMjcuNDg5NjYyNiwgMTU0OCwgNC44NjY3NjM1OTE3NjYzNTddLCBbMTY2MzcyNzAyNy41NzI2MywgMTU1NywgNC4wMTM3MTY2OTc2OTI4NzFdLCBbMTY2MzcyNzAyNy44NjY2MzYzLCAxNTg0LCAzLjg2MTg4ODE3MDI0MjMwOTZdLCBbMTY2MzcyNzAyNy45NDg1MDk1LCAxNTkzLCAzLjc3MDYzOTE4MTEzNzA4NV0sIFsxNjYzNzI3MDI4LjAzNTgwMjgsIDE2MDIsIDQuMjE4NTYzNTU2NjcxMTQzXSwgWzE2NjM3MjcwMjguMTQwNDM5MywgMTYxMSwgNC40Nzc5ODY4MTI1OTE1NTNdLCBbMTY2MzcyNzAyOC4zMjA3Mjg1LCAxNjI5LCAzLjkzNjEwMTQzNjYxNDk5MDJdLCBbMTY2MzcyNzAyOC40MzA4ODc1LCAxNjM4LCAzLjgxOTQxNTMzMDg4Njg0MV0sIFsxNjYzNzI3MDI4Ljk2MTE5NTIsIDE2NjUsIDQuMDk0MjY1NDYwOTY4MDE4XSwgWzE2NjM3MjcwMjkuMDY5MTg4NCwgMTY3NCwgNC4zNzQzMTU3Mzg2Nzc5Nzg1XSwgWzE2NjM3MjcwMjkuMTU0ODA1NywgMTY4MywgMy42NTM2Mjc2MzQwNDg0NjJdLCBbMTY2MzcyNzAyOS40MjY0NTcyLCAxNzEwLCA0LjA1Mzc3Njc0MTAyNzgzMl0sIFsxNjYzNzI3MDI5LjUyMDc1OTYsIDE3MTksIDMuNDU2MTQ3NDMyMzI3MjcwNV0sIFsxNjYzNzI3MDI5LjYwNTA5NzMsIDE3MjgsIDQuNzc5MDkwNDA0NTEwNDk4XSwgWzE2NjM3MjcwMjkuNjg2OTcwNywgMTczNywgNi4wNzg0NzU5NTIxNDg0Mzc1XSwgWzE2NjM3MjcwMzAuMDE3NzM1NywgMTc2NCwgNC4zMTU0MjczMDMzMTQyMDldLCBbMTY2MzcyNzAzMC4zNDYxNzE2LCAxNzkxLCAzLjIyMDc5MjI5MzU0ODU4NF0sIFsxNjYzNzI3MDMwLjQ4MTg4LCAxODAwLCAzLjE3Mzg0NjcyMTY0OTE3XSwgWzE2NjM3MjcwMzAuNTgxMDgsIDE4MDksIDMuODM0MTI3OTAyOTg0NjE5XSwgWzE2NjM3MjcwMzAuNzg3MDkyNywgMTgyNywgNC44MTEwMzI3NzIwNjQyMDldLCBbMTY2MzcyNzAzMC44ODM2NTA1LCAxODM2LCA3LjEzMDQ3ODM4MjExMDU5Nl0sIFsxNjYzNzI3MDMwLjk4MDQ3NzgsIDE4NDUsIDQuNTYzNDM0NjAwODMwMDc4XSwgWzE2NjM3MjcwMzEuMDY0Mjc0NSwgMTg1NCwgNS43MzQ4Mjk5MDI2NDg5MjZdLCBbMTY2MzcyNzAzMS4yNDgwNTk1LCAxODcyLCAzLjYxMjIzOTgzNzY0NjQ4NDRdLCBbMTY2MzcyNzAzMS40MzcxOTI3LCAxODkwLCAzLjE2MTE4NDA3MjQ5NDUwN10sIFsxNjYzNzI3MDMxLjYxODE0NDUsIDE5MDgsIDQuMDY3MzkzNzc5NzU0NjM5XSwgWzE2NjM3MjcwMzEuNzk1MzE3MiwgMTkyNiwgNC4xMjIxMjUxNDg3NzMxOTNdLCBbMTY2MzcyNzAzMS45ODk5MzU2LCAxOTQ0LCA0LjQyNTc2MjY1MzM1MDgzXSwgWzE2NjM3MjcwMzIuMDkwNTUwMiwgMTk1MywgNC4xODU3MTM3NjgwMDUzNzFdLCBbMTY2MzcyNzAzMi4yNzI0MTQsIDE5NzEsIDQuMTA5NzY5ODIxMTY2OTkyXSwgWzE2NjM3MjcwMzIuMzUwMTc1NCwgMTk4MCwgNi44MTAyMDU5MzY0MzE4ODVdLCBbMTY2MzcyNzAzMi40NTA2NzUyLCAxOTg5LCAzLjMxODEwMDY5MDg0MTY3NV0sIFsxNjYzNzI3MDMyLjUzNTUxNjUsIDE5OTgsIDMuMTM0MzU5MTIxMzIyNjMyXSwgWzE2NjM3MjcwMzIuNjMwMjk5MywgMjAwNywgNC4zNzk0NjcwMTA0OTgwNDddLCBbMTY2MzcyNzAzMi44NDM1NjgsIDIwMjUsIDMuMjUzMjk4MjgyNjIzMjkxXSwgWzE2NjM3MjcwMzIuOTgzMTI0NywgMjAzNCwgNC4wMTU0OTcyMDc2NDE2MDJdLCBbMTY2MzcyNzAzMy40NzM0NTg1LCAyMDcwLCAzLjc2OTg1MjE2MTQwNzQ3MDddLCBbMTY2MzcyNzAzMy43OTMyODY4LCAyMDk3LCAzLjExOTc1NzE3NTQ0NTU1NjZdLCBbMTY2MzcyNzAzNC41NDg2MjcxLCAyMTI0LCA0LjgzMTUzOTE1NDA1MjczNF0sIFsxNjYzNzI3MDM0Ljc0MjM2NzUsIDIxNDIsIDUuMzM2NTk4ODczMTM4NDI4XSwgWzE2NjM3MjcwMzQuODM2NDQ4NCwgMjE1MSwgNC45OTI4NTIyMTA5OTg1MzVdLCBbMTY2MzcyNzAzNC45Mjg2NywgMjE2MCwgNi4wNjAyODk4NTk3NzE3Mjg1XSwgWzE2NjM3MjcwMzUuMTIwMTAzNiwgMjE3OCwgMy43NzM4MjM0OTk2Nzk1NjU0XSwgWzE2NjM3MjcwMzUuMjA4ODM0NiwgMjE4NywgNC4zNjc1NDk4OTYyNDAyMzRdLCBbMTY2MzcyNzAzNS4zOTYxMTksIDIyMDUsIDMuNDYyNjEyMzkwNTE4MTg4NV0sIFsxNjYzNzI3MDM1LjQ4ODk3NTMsIDIyMTQsIDMuNTYzNTA1ODg3OTg1MjI5NV0sIFsxNjYzNzI3MDM1LjU4MzM4MDIsIDIyMjMsIDQuNzU0NzQ0MDUyODg2OTYzXSwgWzE2NjM3MjcwMzUuNjgxNzkzNSwgMjIzMiwgMy4xMzI1NDY5MDE3MDI4ODFdLCBbMTY2MzcyNzAzNi4yNzgyMzUyLCAyMjc3LCA0LjAzMTAzNTQyMzI3ODgwOV0sIFsxNjYzNzI3MDM2LjM4MDcyNjYsIDIyODYsIDMuMzM3NDU0MDgwNTgxNjY1XSwgWzE2NjM3MjcwMzYuNDg0Nzk5OSwgMjI5NSwgNC4zMjUyOTczNTU2NTE4NTU1XSwgWzE2NjM3MjcwMzYuNzkyNDkxNCwgMjMyMiwgMy40NDczNzg4NzM4MjUwNzMyXSwgWzE2NjM3MjcwMzYuODgzMTcyOCwgMjMzMSwgMy45MDkxODcwNzg0NzU5NTJdLCBbMTY2MzcyNzAzNi45NzQ1MTMzLCAyMzQwLCA4LjYyNjgwNTMwNTQ4MDk1N10sIFsxNjYzNzI3MDM3LjA3OTQxMDgsIDIzNDksIDQuODQ0NTI1ODE0MDU2Mzk2NV0sIFsxNjYzNzI3MDM3LjI3MTUxNCwgMjM2NywgMy40MDA4MjQzMDgzOTUzODU3XSwgWzE2NjM3MjcwMzguMjY4Njg5LCAyNDM5LCA1LjEwMzE2NTYyNjUyNTg3OV0sIFsxNjYzNzI3MDM4LjQwNDkxMDMsIDI0NDgsIDMuNjkzNjMyNjAyNjkxNjUwNF0sIFsxNjYzNzI3MDM4Ljc0MjkxMzIsIDI0NzUsIDMuNzExODAyMjQ0MTg2NDAxNF0sIFsxNjYzNzI3MDM4Ljg4MDIxOTUsIDI0ODQsIDYuMzc0Mzc3MjUwNjcxMzg3XSwgWzE2NjM3MjcwMzkuMDI2MTgwNSwgMjQ5MywgNC4zODg1OTU1ODEwNTQ2ODc1XSwgWzE2NjM3MjcwMzkuMjQ2MDc2LCAyNTExLCAzLjE5MzI4MjYwNDIxNzUyOTNdLCBbMTY2MzcyNzAzOS40NDgwMjUsIDI1MjksIDMuMDA3MzU3ODM1NzY5NjUzM10sIFsxNjYzNzI3MDM5LjY0OTAxNjEsIDI1NDcsIDIuODY3NTA4NjQ5ODI2MDVdLCBbMTY2MzcyNzAzOS43OTE2MDQsIDI1NTYsIDIuODY0OTk2NjcxNjc2NjM1N10sIFsxNjYzNzI3MDM5Ljk4MDUzODYsIDI1NzQsIDQuMTcxNDE0ODUyMTQyMzM0XSwgWzE2NjM3MjcwNDAuMTY4NzU5OCwgMjU5MiwgMy4wNTMzNTYxNzA2NTQyOTddLCBbMTY2MzcyNzA0MC4yNjM0NDI4LCAyNjAxLCA0LjcxMjA3ODU3MTMxOTU4XSwgWzE2NjM3MjcwNDAuNDQyMzIyNSwgMjYxOSwgNC4wMTQ0Mjk1NjkyNDQzODVdLCBbMTY2MzcyNzA0MC45MTYxNDQ2LCAyNjY0LCAyLjkxMTUzNDc4NjIyNDM2NTJdLCBbMTY2MzcyNzA0MS4wNDM3MTE0LCAyNjczLCAzLjgzMDU0Mzk5NDkwMzU2NDVdLCBbMTY2MzcyNzA0MS4xNzQ0NDIzLCAyNjgyLCAyLjkzMzY4Mzg3MjIyMjkwMDRdLCBbMTY2MzcyNzA0MS4zMDM4NTg4LCAyNjkxLCAzLjEwNDIwMjAzMjA4OTIzMzRdLCBbMTY2MzcyNzA0MS40MjgzNTUyLCAyNzAwLCAyLjQzNjA4NzEzMTUwMDI0NF0sIFsxNjYzNzI3MDQxLjk4ODEyMTcsIDI3NDUsIDMuODk0Nzc4MjUxNjQ3OTQ5XSwgWzE2NjM3MjcwNDIuMjEyNjU5NCwgMjc2MywgMy4yNDM1NzkzODc2NjQ3OTVdLCBbMTY2MzcyNzA0Mi4zMTAxNjgsIDI3NzIsIDMuMTI4NTk5ODgyMTI1ODU0NV0sIFsxNjYzNzI3MDQyLjQwMjgyNDQsIDI3ODEsIDIuNjgzMDA3MDAxODc2ODMxXSwgWzE2NjM3MjcwNDIuNDk3ODA5NiwgMjc5MCwgMy41MjcxMzI5ODc5NzYwNzRdLCBbMTY2MzcyNzA0Mi43NzcyOTQ2LCAyODE3LCAyLjkxNjA2ODMxNTUwNTk4MTRdLCBbMTY2MzcyNzA0Mi44NzM4OTAyLCAyODI2LCAzLjE3MDY0NTQ3NTM4NzU3MzJdLCBbMTY2MzcyNzA0My4xOTQ1OTgsIDI4NTMsIDUuNjA4ODUzODE2OTg2MDg0XSwgWzE2NjM3MjcwNDMuNDAzMTQyNywgMjg3MSwgMi43NjAzNTY5MDMwNzYxNzJdLCBbMTY2MzcyNzA0My41MTU1MSwgMjg4MCwgMi42MDc4NzQ4NzAzMDAyOTNdLCBbMTY2MzcyNzA0My44MTg2MjY5LCAyOTA3LCAzLjI1NDU1NzM3MTEzOTUyNjRdLCBbMTY2MzcyNzA0NC4wMTMzMzcxLCAyOTI1LCA4LjM1OTMxMDE1MDE0NjQ4NF0sIFsxNjYzNzI3MDQ0LjQ5OTQ5OTMsIDI5NzAsIDMuMTE3NTgzMDM2NDIyNzI5NV0sIFsxNjYzNzI3MDQ0LjU5NDY5ODIsIDI5NzksIDMuMTc3Nzc5MTk3NjkyODcxXSwgWzE2NjM3MjcwNDQuNjgxNTQ3MiwgMjk4OCwgMy4wMTc5MTAwMDM2NjIxMDk0XSwgWzE2NjM3MjcwNDQuNzY2NTQ0NiwgMjk5NywgMy44ODA3MDcyNjM5NDY1MzNdLCBbMTY2MzcyNzA0NC44NTUxMDMsIDMwMDYsIDMuNjQzNTIyNTAwOTkxODIxM10sIFsxNjYzNzI3MDQ1LjIyNTk4OTgsIDMwNDIsIDMuMTk3NDQzNDg1MjYwMDA5OF0sIFsxNjYzNzI3MDQ1LjMxNzE4MDYsIDMwNTEsIDIuODAwNDA5NTU1NDM1MTgwN10sIFsxNjYzNzI3MDQ1LjQ4NzUwMzUsIDMwNjksIDMuMjg4MzUwMTA1Mjg1NjQ0NV0sIFsxNjYzNzI3MDQ1Ljc1OTc3NSwgMzA5NiwgMi43MDMxNDA3MzU2MjYyMjA3XSwgWzE2NjM3MjcwNDUuODUzMDQyNiwgMzEwNSwgMy4yNjEzNTA4NzAxMzI0NDYzXSwgWzE2NjM3MjcwNDUuOTQxNjgzOCwgMzExNCwgMi43MDIwNDQ5NjM4MzY2N10sIFsxNjYzNzI3MDQ2LjAzMzEyNjQsIDMxMjMsIDMuNDU2NTg5NDYwMzcyOTI1XSwgWzE2NjM3MjcwNDYuMjMyMDY4OCwgMzE0MSwgMy4zNjczMTI5MDgxNzI2MDc0XSwgWzE2NjM3MjcwNDYuNDI3MDQxOCwgMzE1OSwgMy4xNDEwMzgxNzkzOTc1ODNdLCBbMTY2MzcyNzA0Ni42MDk4NzQsIDMxNzcsIDUuNjY4NDc3NTM1MjQ3ODAzXSwgWzE2NjM3MjcwNDYuOTE0MTkyLCAzMTg2LCA0LjcxMDUwNjQzOTIwODk4NF0sIFsxNjYzNzI3MDQ3LjAwNDIxNDMsIDMxOTUsIDIuOTEzODk4NDY4MDE3NTc4XSwgWzE2NjM3MjcwNDcuMDk0MTExNywgMzIwNCwgNC41NTA1MjA0MjAwNzQ0NjNdLCBbMTY2MzcyNzA0Ny40ODM3MDA4LCAzMjMxLCA0LjUwNjg4MzYyMTIxNTgyXSwgWzE2NjM3MjcwNDcuNzE2OTcxMiwgMzI0OSwgMy42MDk0ODcwNTY3MzIxNzc3XSwgWzE2NjM3MjcwNDcuOTUyMTU3NywgMzI2NywgMi45NTQ3MTczOTc2ODk4MTkzXSwgWzE2NjM3MjcwNDguMDU2NjA3MiwgMzI3NiwgMi42OTg2OTg1MjA2NjA0MDA0XSwgWzE2NjM3MjcwNDguMTQyNTY2LCAzMjg1LCA0LjU0NDExODg4MTIyNTU4Nl0sIFsxNjYzNzI3MDQ4LjIzMTEzNjYsIDMyOTQsIDIuODIyNjM4OTg4NDk0ODczXSwgWzE2NjM3MjcwNDguMzMwMjUzOCwgMzMwMywgMi41MjcxNDcwNTQ2NzIyNDFdLCBbMTY2MzcyNzA0OC40MjY3MTMyLCAzMzEyLCAzLjIxNTY2ODY3ODI4MzY5MTRdLCBbMTY2MzcyNzA0OC41MjM4NjYsIDMzMjEsIDYuNTE4NzA2MzIxNzE2MzA5XSwgWzE2NjM3MjcwNDkuMTYzMTk1OCwgMzM3NSwgMi41NjA5MTQ5OTMyODYxMzNdLCBbMTY2MzcyNzA0OS41MDA2MzQ3LCAzNDAyLCAyLjY5MzI3ODA3NDI2NDUyNjRdLCBbMTY2MzcyNzA0OS41ODc3NTEyLCAzNDExLCAyLjQ1NTI2MzEzNzgxNzM4M10sIFsxNjYzNzI3MDQ5Ljk4MjA1NzMsIDM0NDcsIDMuMTE1MjQ1MTAzODM2MDU5Nl0sIFsxNjYzNzI3MDUwLjI4Mzk4MywgMzQ3NCwgMy4yNjM3OTg5NTIxMDI2NjFdLCBbMTY2MzcyNzA1MC4zODAzODgzLCAzNDgzLCAzLjM3MTI0NTg2MTA1MzQ2N10sIFsxNjYzNzI3MDUwLjY3NjI1MDUsIDM1MTAsIDQuOTIxMjY3NTA5NDYwNDQ5XSwgWzE2NjM3MjcwNTAuNzcyNDE0LCAzNTE5LCA1LjAxNzgzMDg0ODY5Mzg0OF0sIFsxNjYzNzI3MDUwLjg2MDIzOCwgMzUyOCwgMy40Mzc4NjU3MzQxMDAzNDJdLCBbMTY2MzcyNzA1MC45NDY5MzEsIDM1MzcsIDIuNjY4MTgwOTQyNTM1NDAwNF0sIFsxNjYzNzI3MDUxLjAzODY2NDgsIDM1NDYsIDMuMTAzNDUzMzk3NzUwODU0NV0sIFsxNjYzNzI3MDUxLjEzMTQwNjUsIDM1NTUsIDIuNDExODQ4MDY4MjM3MzA0N10sIFsxNjYzNzI3MDUxLjIyODI0NjcsIDM1NjQsIDIuOTcwNDQ1Mzk0NTE1OTkxXSwgWzE2NjM3MjcwNTEuMzMwMDg2LCAzNTczLCAzLjI3MzcxNjQ0OTczNzU0OV0sIFsxNjYzNzI3MDUxLjQyMTkzMjIsIDM1ODIsIDMuNDQxNzE0Mjg2ODA0MTk5XSwgWzE2NjM3MjcwNTEuNTIyODUyLCAzNTkxLCAyLjg3NTUyMjEzNjY4ODIzMjRdLCBbMTY2MzcyNzA1MS42MDg5NTk0LCAzNjAwLCA2LjI2NjQwNTEwNTU5MDgyXSwgWzE2NjM3MjcwNTEuODAxNDcyMiwgMzYxOCwgMy44MTQ1NzkwMTAwMDk3NjU2XSwgWzE2NjM3MjcwNTEuODk4MjQyNSwgMzYyNywgMy45NTQ4NDA2NjAwOTUyMTVdLCBbMTY2MzcyNzA1Mi4wODQ1NDUxLCAzNjQ1LCAyLjU4MTc0NDQzMjQ0OTM0MV0sIFsxNjYzNzI3MDUyLjI3MTIwNiwgMzY2MywgNC4wMzg4NzE3NjUxMzY3MTldLCBbMTY2MzcyNzA1Mi40NjQzODU1LCAzNjgxLCAyLjYxMDM3MTExMjgyMzQ4NjNdLCBbMTY2MzcyNzA1Mi41NjAzMDIsIDM2OTAsIDIuNTE3MzQ4NzY2MzI2OTA0M10sIFsxNjYzNzI3MDUyLjgzNTAwMTIsIDM3MTcsIDMuMDI0MjQwMjU1MzU1ODM1XSwgWzE2NjM3MjcwNTIuOTI2MTI3MiwgMzcyNiwgMi42MzIxODIzNTk2OTU0MzQ2XSwgWzE2NjM3MjcwNTMuMDI0MjMxMiwgMzczNSwgMy40MzkzMzcwMTUxNTE5Nzc1XSwgWzE2NjM3MjcwNTMuMTE1OTc3LCAzNzQ0LCA4Ljk3OTU3MjI5NjE0MjU3OF0sIFsxNjYzNzI3MDUzLjQwMjg0NzMsIDM3NzEsIDYuNTA2NjMxODUxMTk2Mjg5XSwgWzE2NjM3MjcwNTMuNjczOTc4MywgMzc5OCwgMi44MTYzNDcxMjIxOTIzODNdLCBbMTY2MzcyNzA1My43NjAzMDY0LCAzODA3LCAyLjQ3MTc5NzIyNzg1OTQ5N10sIFsxNjYzNzI3MDU0LjAzNzExMiwgMzgzNCwgMy44NTg5MDgxNzY0MjIxMTldLCBbMTY2MzcyNzA1NC4xNDQ4MTE5LCAzODQzLCAzLjA4OTE1MDY2NzE5MDU1MThdLCBbMTY2MzcyNzA1NC41MTMxMzc4LCAzODc5LCA1LjE5NjkwMjc1MTkyMjYwN10sIFsxNjYzNzI3MDU0LjYxMDE1MjUsIDM4ODgsIDMuMjk0Njg5MTc4NDY2Nzk3XSwgWzE2NjM3MjcwNTUuMTM3MzI3NywgMzkxNSwgMy4xODU4Njk0NTUzMzc1MjQ0XSwgWzE2NjM3MjcwNTUuMjMyNTkxNiwgMzkyNCwgNC4yNDQzNDE4NTAyODA3NjJdLCBbMTY2MzcyNzA1NS4zMzA3NDE2LCAzOTMzLCAzLjI0MzE3MzEyMjQwNjAwNl0sIFsxNjYzNzI3MDU1LjQzMjg0MSwgMzk0MiwgOC4wNTE0ODc5MjI2Njg0NTddLCBbMTY2MzcyNzA1NS41MzQxNTY2LCAzOTUxLCAzLjk3MDM0Nzg4MTMxNzEzODddLCBbMTY2MzcyNzA1NS42MjU1NTA1LCAzOTYwLCAyLjc2NjMwOTI2MTMyMjAyMTVdLCBbMTY2MzcyNzA1NS43MjMxMjE0LCAzOTY5LCAzLjkzNzM5NDYxODk4ODAzN10sIFsxNjYzNzI3MDU1LjgxNzI4NjUsIDM5NzgsIDQuNjI0MTg4ODk5OTkzODk2NV0sIFsxNjYzNzI3MDU2LjAxMzk2MDEsIDM5OTYsIDMuODk0NjQzMzA2NzMyMTc3N10sIFsxNjYzNzI3MDU2LjEwNDk4OCwgNDAwNSwgMy41MzY3MzMxNTA0ODIxNzc3XSwgWzE2NjM3MjcwNTYuMTk3NDQ1MiwgNDAxNCwgMy4wMTg4NDA3ODk3OTQ5MjJdLCBbMTY2MzcyNzA1Ni4yOTQ5MTU3LCA0MDIzLCAyLjc0NjA5NzA4Nzg2MDEwNzRdLCBbMTY2MzcyNzA1Ni42NzcwMSwgNDA1OSwgMy40OTQwMjA5Mzg4NzMyOTFdLCBbMTY2MzcyNzA1Ni43NzA4NzMsIDQwNjgsIDMuNDczNjYzODA2OTE1MjgzXSwgWzE2NjM3MjcwNTYuODc3ODEzLCA0MDc3LCA1LjI3NTY2MTk0NTM0MzAxOF0sIFsxNjYzNzI3MDU2Ljk3NjE1MzYsIDQwODYsIDIuNjE0MTc5MTM0MzY4ODk2NV0sIFsxNjYzNzI3MDU3LjA2MDQ0MDUsIDQwOTUsIDMuMzg1MjYyMDEyNDgxNjg5NV0sIFsxNjYzNzI3MDU3LjIzNjQ5NDUsIDQxMTMsIDIuMzY2NTYyODQzMzIyNzU0XSwgWzE2NjM3MjcwNTcuNDE0NDkxLCA0MTMxLCAyLjQxMDczODcwNjU4ODc0NV0sIFsxNjYzNzI3MDU3LjU5NTg3MTQsIDQxNDksIDMuODIwMDc4NjExMzczOTAxNF0sIFsxNjYzNzI3MDU3LjY5NDk2NTYsIDQxNTgsIDIuNTEwNjYzNTA5MzY4ODk2NV0sIFsxNjYzNzI3MDU3Ljc4OTQzNDQsIDQxNjcsIDIuNDEzMjYwMjIxNDgxMzIzMl0sIFsxNjYzNzI3MDU4LjAxOTAxNDYsIDQxODUsIDQuMjczNDk3NTgxNDgxOTM0XSwgWzE2NjM3MjcwNTguMTAyNjY5NSwgNDE5NCwgNC4wNDE0ODc2OTM3ODY2MjFdLCBbMTY2MzcyNzA1OC4xOTEyMjQzLCA0MjAzLCA1LjA2Mzg2ODUyMjY0NDA0M10sIFsxNjYzNzI3MDU4LjM5NDMwMTQsIDQyMjEsIDIuMzA3MDQwMjE0NTM4NTc0XSwgWzE2NjM3MjcwNTguNzEwMjkwMiwgNDIzOSwgMi43NDUwNjkwMjY5NDcwMjE1XSwgWzE2NjM3MjcwNTkuMTU5OTU5NiwgNDI3NSwgMy4wMjIyODAyMTYyMTcwNDFdLCBbMTY2MzcyNzA1OS4yNzcxMjU4LCA0Mjg0LCAyLjgyMTY2MTQ3MjMyMDU1NjZdLCBbMTY2MzcyNzA1OS42MTc5NTMsIDQzMTEsIDIuNDY5Njk2MDQ0OTIxODc1XSwgWzE2NjM3MjcwNTkuNzE3NTY0OCwgNDMyMCwgMTAuMTY3NTQ1MzE4NjAzNTE2XSwgWzE2NjM3MjcwNTkuODExOTkyMiwgNDMyOSwgNi43ODA4NDIzMDQyMjk3MzZdLCBbMTY2MzcyNzA1OS45MDc5MjE2LCA0MzM4LCA1LjE1MDk0OTAwMTMxMjI1Nl0sIFsxNjYzNzI3MDYwLjAzNDc3MTIsIDQzNDcsIDMuNTU4NzAzNjYwOTY0OTY2XSwgWzE2NjM3MjcwNjAuMTM5NjI2NSwgNDM1NiwgMi40MDU2MDYwMzE0MTc4NDY3XSwgWzE2NjM3MjcwNjAuMjM4MzE3MywgNDM2NSwgMy4wNDgwNDY1ODg4OTc3MDVdLCBbMTY2MzcyNzA2MC40MTgwMTIsIDQzODMsIDcuNzA1NTM1ODg4NjcxODc1XSwgWzE2NjM3MjcwNjAuNTM3Mzc2NCwgNDM5MiwgNC4wNDA2MzYwNjI2MjIwN10sIFsxNjYzNzI3MDYwLjYyNDIzMjUsIDQ0MDEsIDIuNzg2MzM5OTk4MjQ1MjM5M10sIFsxNjYzNzI3MDYwLjcyNTE4MDksIDQ0MTAsIDUuNDkxMTQ0NjU3MTM1MDFdLCBbMTY2MzcyNzA2MS4wMDAzNzIsIDQ0MjgsIDIuNzk1NjgwNzYxMzM3MjgwM10sIFsxNjYzNzI3MDYxLjMxNzcxMDksIDQ0NTUsIDUuMDQ1NTA5ODE1MjE2MDY0NV0sIFsxNjYzNzI3MDYxLjQwNDM2NzIsIDQ0NjQsIDMuMDYwNzk0NTkxOTAzNjg2NV0sIFsxNjYzNzI3MDYxLjY4NTg2NzMsIDQ0OTEsIDIuODYxNzI3MjM3NzAxNDE2XSwgWzE2NjM3MjcwNjEuOTg4MzA2OCwgNDUxOCwgNC4wNzY5NDQ4MjgwMzM0NDddLCBbMTY2MzcyNzA2Mi4wNzg0MjYsIDQ1MjcsIDIuNjkxNTU0MDY5NTE5MDQzXSwgWzE2NjM3MjcwNjIuMTYyMTg5NSwgNDUzNiwgMi41MDAzMzI1OTM5MTc4NDY3XSwgWzE2NjM3MjcwNjIuNDUwNjgyNiwgNDU2MywgMi44NzQ3MzYzMDkwNTE1MTM3XSwgWzE2NjM3MjcwNjIuNjM0MjMwOSwgNDU4MSwgNC45ODU0OTY1MjA5OTYwOTRdLCBbMTY2MzcyNzA2Mi43MjM4MDIzLCA0NTkwLCAzLjY5MDMxOTA2MTI3OTI5N10sIFsxNjYzNzI3MDYyLjgxNjUyOSwgNDU5OSwgMy40NTc4NTY0MTY3MDIyNzA1XSwgWzE2NjM3MjcwNjIuOTExMDUwMywgNDYwOCwgMi40MjYzOTMyNzA0OTI1NTM3XSwgWzE2NjM3MjcwNjIuOTk5MDM2LCA0NjE3LCAzLjUzMDI4Njc4ODk0MDQyOTddLCBbMTY2MzcyNzA2My4wOTA0MjY3LCA0NjI2LCAyLjY2ODcwMjg0MDgwNTA1MzddLCBbMTY2MzcyNzA2My4xODY3Mzg3LCA0NjM1LCAyLjQ1MjczNDIzMTk0ODg1MjVdLCBbMTY2MzcyNzA2My40NzkzNzk0LCA0NjYyLCAyLjIxNjI2OTAxNjI2NTg2OV0sIFsxNjYzNzI3MDYzLjc3ODk3NCwgNDY3MSwgMy44MDk2NjA5MTE1NjAwNTg2XSwgWzE2NjM3MjcwNjMuODY5NDc1NCwgNDY4MCwgMi41NzM5NzQ4NDc3OTM1NzldLCBbMTY2MzcyNzA2My45NjE0OTEzLCA0Njg5LCAyLjYxNDI3NDI2MzM4MTk1OF0sIFsxNjYzNzI3MDY0LjI0NDI2NiwgNDcxNiwgMy4xMDg4MTE2MTY4OTc1ODNdLCBbMTY2MzcyNzA2NC45MDA5NDU3LCA0Nzc5LCA4LjMyMDY4NzI5NDAwNjM0OF0sIFsxNjYzNzI3MDY1LjE2OTg3NTYsIDQ4MDYsIDMuNTc2NjQxMzIxMTgyMjUxXSwgWzE2NjM3MjcwNjUuMjY2NjQ1NCwgNDgxNSwgMi44OTEwODc1MzIwNDM0NTddLCBbMTY2MzcyNzA2NS40Njg5MDk1LCA0ODMzLCAyLjU3MjAwNTI3MTkxMTYyMV0sIFsxNjYzNzI3MDY1LjU2MDMzOTIsIDQ4NDIsIDIuMzA4NzQ4MDA2ODIwNjc4N10sIFsxNjYzNzI3MDY1LjY0NzMxNjUsIDQ4NTEsIDIuNDgzODgxNDczNTQxMjU5OF0sIFsxNjYzNzI3MDY1Ljc0MDQ1OTcsIDQ4NjAsIDIuMzczMzc0NzAwNTQ2MjY0Nl0sIFsxNjYzNzI3MDY1LjgzMjUwNiwgNDg2OSwgMi40MDE4NTczNzYwOTg2MzNdLCBbMTY2MzcyNzA2Ni4wOTk5ODMyLCA0ODg3LCAyLjI1ODAwODQ4MDA3MjAyMTVdLCBbMTY2MzcyNzA2Ni4yNDE3NywgNDg5NiwgMi4zOTc4NjkxMTAxMDc0MjJdLCBbMTY2MzcyNzA2Ni4zMzE1MjUzLCA0OTA1LCAzLjUzNjkwODg2NDk3NDk3NTZdLCBbMTY2MzcyNzA2Ni41MzY5MTQ4LCA0OTIzLCAyLjY1MDE0MTcxNjAwMzQxOF0sIFsxNjYzNzI3MDY2LjYzNzM3OTIsIDQ5MzIsIDIuMzQxMzEzNjAwNTQwMTYxXSwgWzE2NjM3MjcwNjYuOTQ1NDQxNSwgNDk1OSwgMi41ODk0MjY5OTQzMjM3MzA1XSwgWzE2NjM3MjcwNjcuMTI5NzgzNCwgNDk3NywgMi4xNjQ5ODA2NDk5NDgxMl0sIFsxNjYzNzI3MDY3LjMxMjUzMTUsIDQ5OTUsIDIuOTY0NTc4MzkwMTIxNDZdLCBbMTY2MzcyNzA2Ny40MTg5NTg0LCA1MDA0LCAyLjI2MDc1ODg3NjgwMDUzN10sIFsxNjYzNzI3MDY3LjUxMzkyNzUsIDUwMTMsIDIuNzQzNTA5NzY5NDM5Njk3M10sIFsxNjYzNzI3MDY4LjA3ODY2ODQsIDUwNjcsIDMuMDIwMDQ5NTcxOTkwOTY3XSwgWzE2NjM3MjcwNjguMTcyMjE0MywgNTA3NiwgMi41OTUyMjk2MjU3MDE5MDQzXSwgWzE2NjM3MjcwNjguMjU4MDk0NSwgNTA4NSwgMi40MjQzOTk4NTI3NTI2ODU1XSwgWzE2NjM3MjcwNjguNjU2NzA4LCA1MTIxLCAyLjYzODMxNjYzMTMxNzEzODddLCBbMTY2MzcyNzA2OC43NTEwMDM1LCA1MTMwLCA0LjU3MjczNDgzMjc2MzY3Ml0sIFsxNjYzNzI3MDY4LjkzMzY0LCA1MTQ4LCAyLjYwNjMzNzc4NTcyMDgyNV0sIFsxNjYzNzI3MDY5LjExNzE1MjIsIDUxNjYsIDIuNzAzMzk4NDY2MTEwMjI5NV0sIFsxNjYzNzI3MDY5LjM4NTQ5NCwgNTE5MywgMi4wNTMxOTExODQ5OTc1NTg2XSwgWzE2NjM3MjcwNjkuNzk5MzU3NCwgNTIyOSwgMi44MTc2NDA3ODE0MDI1ODhdLCBbMTY2MzcyNzA3MC4xNjAzMywgNTI2NSwgMy4xNDcxNDgzNzA3NDI3OThdLCBbMTY2MzcyNzA3MC4yNjI1NTg1LCA1Mjc0LCAyLjcxMjU3MzI4OTg3MTIxNl0sIFsxNjYzNzI3MDcwLjM2MDk4NTgsIDUyODMsIDMuMDI1Njg2MjY0MDM4MDg2XSwgWzE2NjM3MjcwNzAuNTUyNjcxLCA1MzAxLCAyLjYwMjgzOTQ2OTkwOTY2OF0sIFsxNjYzNzI3MDcwLjY0OTM5OTgsIDUzMTAsIDIuMjM3MzAzNDk1NDA3MTA0NV0sIFsxNjYzNzI3MDcwLjc1MTgzOSwgNTMxOSwgMy4xMTc3ODIxMTU5MzYyNzkzXSwgWzE2NjM3MjcwNzAuODQzNDIxMiwgNTMyOCwgMi42OTQ5ODg3Mjc1Njk1OF0sIFsxNjYzNzI3MDcwLjk0NjQzNzgsIDUzMzcsIDIuNjM1ODc0NzQ4MjI5OTgwNV0sIFsxNjYzNzI3MDcxLjE5NzMyNzEsIDUzNTUsIDIuMjM2OTMzOTQ2NjA5NDk3XSwgWzE2NjM3MjcwNzEuNDA2MDg1LCA1MzczLCA0LjQyNDEwODUwNTI0OTAyM10sIFsxNjYzNzI3MDcxLjUwMjgyMjQsIDUzODIsIDMuODQ3NjgxNTIyMzY5Mzg0OF0sIFsxNjYzNzI3MDcxLjU4NTM0NTUsIDUzOTEsIDIuNTQ2MjIxOTcxNTExODQxXSwgWzE2NjM3MjcwNzEuNjc2OTc4LCA1NDAwLCAzLjY5NDMxNzEwMjQzMjI1MV0sIFsxNjYzNzI3MDcxLjg2NzY1MjIsIDU0MTgsIDMuMzkwOTg5NzgwNDI2MDI1NF0sIFsxNjYzNzI3MDcxLjk1NTc3ODQsIDU0MjcsIDQuNTczNTE2ODQ1NzAzMTI1XSwgWzE2NjM3MjcwNzIuMjUwNjI3LCA1NDM2LCAzLjQ3NDM3MTY3MTY3NjYzNTddLCBbMTY2MzcyNzA3Mi40OTk1NjUxLCA1NDU0LCAyLjg3MTYyNTE4NTAxMjgxNzRdLCBbMTY2MzcyNzA3Mi43NjgwMTAxLCA1NDgxLCAyLjk0NjE4MDgyMDQ2NTA4OF0sIFsxNjYzNzI3MDcyLjk2NDc2MywgNTQ5OSwgMi40MjE5NjkxNzUzMzg3NDVdLCBbMTY2MzcyNzA3My4zMzE1MjA2LCA1NTI2LCAyLjgxMzE3MDE5NDYyNTg1NDVdLCBbMTY2MzcyNzA3My40MjYyMDU5LCA1NTM1LCA0LjUwMzAwNjkzNTExOTYyOV0sIFsxNjYzNzI3MDczLjYyMTU3MDgsIDU1NTMsIDIuMjQ2MDg4MjY2MzcyNjgwN10sIFsxNjYzNzI3MDczLjgwMDc1NTcsIDU1NzEsIDMuNTE2MjQ3MjcyNDkxNDU1XSwgWzE2NjM3MjcwNzMuOTkwNzkwNiwgNTU4OSwgMi44NDk5NjE5OTYwNzg0OTFdLCBbMTY2MzcyNzA3NC4xNjczMDg4LCA1NjA3LCAyLjQ2MTE3OTQ5NDg1Nzc4OF0sIFsxNjYzNzI3MDc0LjI1MTk3MjIsIDU2MTYsIDIuNzcwNzE5MDUxMzYxMDg0XSwgWzE2NjM3MjcwNzQuNTM4MDEwNiwgNTY0MywgMy4xMDQ2ODQ1OTEyOTMzMzVdLCBbMTY2MzcyNzA3NC42MjUyMDgsIDU2NTIsIDQuMDI4ODIwOTkxNTE2MTEzXSwgWzE2NjM3MjcwNzQuNzI5MDIxOCwgNTY2MSwgNS4xODczNzEyNTM5NjcyODVdLCBbMTY2MzcyNzA3NC44MDk2ODI0LCA1NjcwLCAzLjUyNTk0MTYxMDMzNjMwMzddLCBbMTY2MzcyNzA3NS4xODY4MiwgNTcwNiwgMi41MzkyNTk2NzIxNjQ5MTddLCBbMTY2MzcyNzA3NS4zNzk0NDYzLCA1NzI0LCAyLjY5MDU1ODkxMDM2OTg3M10sIFsxNjYzNzI3MDc1LjU2ODY4OTMsIDU3NDIsIDIuNDM3MjQ2NTYxMDUwNDE1XSwgWzE2NjM3MjcwNzUuODQwMjY4NiwgNTc2OSwgMi43NDY5NTQ0NDEwNzA1NTY2XSwgWzE2NjM3MjcwNzUuOTM1ODU1MiwgNTc3OCwgMy41NjM2MTAwNzY5MDQyOTddLCBbMTY2MzcyNzA3Ni4wMjQwMDksIDU3ODcsIDIuNDM2ODE4MzYxMjgyMzQ4Nl0sIFsxNjYzNzI3MDc2LjEyNjg0NDQsIDU3OTYsIDIuMjIxODI5MTc1OTQ5MDk2N10sIFsxNjYzNzI3MDc2LjIxNTA3MzMsIDU4MDUsIDIuMzM5NTIyODM4NTkyNTI5M10sIFsxNjYzNzI3MDc2LjI5OTc1NCwgNTgxNCwgMy41OTkwNzUzMTczODI4MTI1XSwgWzE2NjM3MjcwNzYuNjYxMzc1MywgNTg1MCwgNC41ODI3MTU5ODgxNTkxOF0sIFsxNjYzNzI3MDc2LjgzNDA1NTIsIDU4NjgsIDQuNDk5NDA3NzY4MjQ5NTEyXSwgWzE2NjM3MjcwNzYuOTIyMjkxLCA1ODc3LCA1LjcxNzU3NDU5NjQwNTAyOV0sIFsxNjYzNzI3MDc3LjAwOTMzMjIsIDU4ODYsIDIuMjAwODg2NzI2Mzc5Mzk0NV0sIFsxNjYzNzI3MDc3LjEyMjU5MjcsIDU4OTUsIDQuMzc1ODM5NzEwMjM1NTk2XSwgWzE2NjM3MjcwNzcuMjAyNzI3OCwgNTkwNCwgMi41ODkyMjEyMzkwODk5NjZdLCBbMTY2MzcyNzA3Ny41MDkyNzI2LCA1OTMxLCAzLjI4ODE3NjUzNjU2MDA1ODZdLCBbMTY2MzcyNzA3Ny42NDQ0MDE2LCA1OTQwLCAyLjgzMjUzMTIxMzc2MDM3Nl0sIFsxNjYzNzI3MDc3Ljc3NzU1MywgNTk0OSwgNC41OTIxMDQ5MTE4MDQxOTldLCBbMTY2MzcyNzA3OC41OTg3MjUsIDYwMTIsIDIuNzgzNDI4NDMwNTU3MjUxXSwgWzE2NjM3MjcwNzguODU4ODc2LCA2MDM5LCAyLjM3MDc4MzMyOTAxMDAwOThdLCBbMTY2MzcyNzA3OS40MDA0NzU1LCA2MDg0LCAyLjExMzM1MDYyOTgwNjUxODZdLCBbMTY2MzcyNzA3OS41NDAzMjE0LCA2MDkzLCAyLjA2MDE2MjU0NDI1MDQ4ODNdLCBbMTY2MzcyNzA3OS42NDU3NzQ4LCA2MTAyLCAyLjI4Mzg0NTkwMTQ4OTI1OF0sIFsxNjYzNzI3MDc5Ljk3MTQyNTgsIDYxMjksIDIuNzgyNDgzMzM5MzA5NjkyNF0sIFsxNjYzNzI3MDgwLjM4ODg5NjUsIDYxNDcsIDIuNTA2Njk2NDYyNjMxMjI1Nl0sIFsxNjYzNzI3MDgwLjUxNjkyODIsIDYxNTYsIDMuMDczNjgyNzg1MDM0MTc5N10sIFsxNjYzNzI3MDgwLjYwOTMyNTYsIDYxNjUsIDMuMjA5MzM4OTAzNDI3MTI0XSwgWzE2NjM3MjcwODAuODgyNjcyLCA2MTkyLCAzLjM1MTE2OTgyNDYwMDIxOTddLCBbMTY2MzcyNzA4MS40Mzk2NDA4LCA2MjM3LCAyLjU4NTYwMjc2MDMxNDk0MTRdLCBbMTY2MzcyNzA4MS41NTA5OTU4LCA2MjQ2LCAyLjczNDUzODMxNjcyNjY4NDZdLCBbMTY2MzcyNzA4MS42NDIyNzg3LCA2MjU1LCAyLjQ4OTY4Njk2NTk0MjM4M10sIFsxNjYzNzI3MDgxLjc1MzIxOTEsIDYyNjQsIDIuNzM2NzkzNTE4MDY2NDA2Ml0sIFsxNjYzNzI3MDgxLjg1MTA1NzMsIDYyNzMsIDIuOTY0Nzg0MzgzNzczODAzN10sIFsxNjYzNzI3MDgxLjk0NDI3OTcsIDYyODIsIDIuNTc1NDU4NTI2NjExMzI4XSwgWzE2NjM3MjcwODIuMjA2ODYzNCwgNjMwMCwgNC4xNzYyNDg1NTA0MTUwMzldLCBbMTY2MzcyNzA4Mi40ODYxNDM2LCA2MzI3LCAzLjA3MzYxMjIxMzEzNDc2NTZdLCBbMTY2MzcyNzA4Mi41NzQ2MzksIDYzMzYsIDIuNzA3MDc4OTMzNzE1ODIwM10sIFsxNjYzNzI3MDgyLjc1ODYxNSwgNjM1NCwgMi44NTM2MDk4MDAzMzg3NDVdLCBbMTY2MzcyNzA4My4xMDk2MTQxLCA2MzkwLCAyLjc2MjI2MjEwNTk0MTc3MjVdLCBbMTY2MzcyNzA4My4xOTM5NTk3LCA2Mzk5LCAyLjgzNDYxMzA4NDc5MzA5MV0sIFsxNjYzNzI3MDgzLjM5MjE4MjQsIDY0MTcsIDIuOTY4NzgyNDI0OTI2NzU4XSwgWzE2NjM3MjcwODMuNjczODI3NiwgNjQ0NCwgMy40NTI5ODkzMzk4Mjg0OTFdLCBbMTY2MzcyNzA4My44NDY5MDgsIDY0NjIsIDIuMjM4NDMxNDUzNzA0ODM0XSwgWzE2NjM3MjcwODQuMDMyOTQyOCwgNjQ4MCwgMi4xNjI1MDg0ODc3MDE0MTZdLCBbMTY2MzcyNzA4NC4xMTk5OTgsIDY0ODksIDIuMzAwMDIzMDc4OTE4NDU3XSwgWzE2NjM3MjcwODQuMjczMzY1MywgNjQ5OCwgMi40NDExMjk2ODQ0NDgyNDJdLCBbMTY2MzcyNzA4NC41Mzk3MTQ2LCA2NTE2LCA0LjA3ODczOTY0MzA5NjkyNF0sIFsxNjYzNzI3MDg0Ljc5Nzg1NiwgNjUzNCwgMy41Njk3OTkxODQ3OTkxOTQzXSwgWzE2NjM3MjcwODQuOTIxNDU1OSwgNjU0MywgMi4yNDE2MjE0OTQyOTMyMTNdLCBbMTY2MzcyNzA4NS4wMTc5MDIsIDY1NTIsIDQuNDk4Mjk1MzA3MTU5NDI0XSwgWzE2NjM3MjcwODUuMTM4NzA2NywgNjU2MSwgNC41MTE2MjE0NzUyMTk3MjddLCBbMTY2MzcyNzA4NS4yMjg0NTM5LCA2NTcwLCAzLjQ5MzQzMDM3NjA1Mjg1NjRdLCBbMTY2MzcyNzA4NS40MDEzNTIyLCA2NTg4LCAyLjU0NDE0MzQzODMzOTIzMzRdLCBbMTY2MzcyNzA4NS40OTQ1ODEyLCA2NTk3LCAzLjMxMzEwNzI1MjEyMDk3MTddLCBbMTY2MzcyNzA4NS41OTQ3MTk0LCA2NjA2LCAzLjEyOTYzMzE4ODI0NzY4MDddLCBbMTY2MzcyNzA4Ni4wNjc5NTg4LCA2NjUxLCAyLjk5NjA3MjA1MzkwOTMwMThdLCBbMTY2MzcyNzA4Ni4xNjM2MzgsIDY2NjAsIDIuNjU2NzgxNDM1MDEyODE3NF0sIFsxNjYzNzI3MDg2LjI0NjMwNDUsIDY2NjksIDMuMTgyMDU4NTcyNzY5MTY1XSwgWzE2NjM3MjcwODYuNDMyNjUzLCA2Njg3LCAyLjMzOTkzNDU4NzQ3ODYzNzddLCBbMTY2MzcyNzA4Ni41MjM2MjU0LCA2Njk2LCAyLjUyODM5MDY0NTk4MDgzNV0sIFsxNjYzNzI3MDg2LjYxNDc5ODUsIDY3MDUsIDIuOTgwMDYyMDA3OTA0MDUyN10sIFsxNjYzNzI3MDg2LjczMDcwODgsIDY3MTQsIDIuMzY1NzA4MzUxMTM1MjU0XSwgWzE2NjM3MjcwODcuNDQ2OTQyNiwgNjc3NywgMi4xODAyMDY3NzU2NjUyODNdLCBbMTY2MzcyNzA4Ny43OTc2Mjg2LCA2ODA0LCAyLjI3NzM5MzEwMjY0NTg3NF0sIFsxNjYzNzI3MDg3Ljg4MjM4MjQsIDY4MTMsIDUuNTc5ODQ5MjQzMTY0MDYyNV0sIFsxNjYzNzI3MDg4LjA1ODE0NDMsIDY4MzEsIDUuOTk5NTY1NjAxMzQ4ODc3XSwgWzE2NjM3MjcwODguNTQ5MDQ2MywgNjg3NiwgMy4xMTYwNzM2MDgzOTg0Mzc1XSwgWzE2NjM3MjcwODguNjQxOTA0LCA2ODg1LCAyLjcwOTQ5MjkyMTgyOTIyMzZdLCBbMTY2MzcyNzA4OC43MzY5MDYsIDY4OTQsIDIuNzg5Mzc4NDA0NjE3MzA5Nl0sIFsxNjYzNzI3MDg5LjEyODM5MiwgNjkxMiwgNC45NDg3NzU3NjgyODAwMjldLCBbMTY2MzcyNzA4OS4yMjkwNjM3LCA2OTIxLCAyLjQ4NTg3NjMyMTc5MjYwMjVdLCBbMTY2MzcyNzA4OS4zMjAxMzI1LCA2OTMwLCAyLjMxMTM0NzAwNzc1MTQ2NV0sIFsxNjYzNzI3MDg5LjUyMjQxNTIsIDY5NDgsIDIuMDk3NDU4MzYyNTc5MzQ1N10sIFsxNjYzNzI3MDg5LjYyODY4ODMsIDY5NTcsIDIuNDk2ODM3NjE1OTY2Nzk3XSwgWzE2NjM3MjcwODkuNzYwNjc1NywgNjk2NiwgMi45MzU1NzQyOTMxMzY1OTY3XSwgWzE2NjM3MjcwOTAuMDAwOTIzNCwgNjk4NCwgMi4xMjE3MDY3MjQxNjY4N10sIFsxNjYzNzI3MDkwLjEwMDc4MzMsIDY5OTMsIDIuMTU4NDg0OTM1NzYwNDk4XSwgWzE2NjM3MjcwOTAuMzI2ODEzLCA3MDExLCAyLjYyNjY0MTk4ODc1NDI3MjVdLCBbMTY2MzcyNzA5MC40MjExMzg1LCA3MDIwLCAyLjIyMDMwNTIwNDM5MTQ3OTVdLCBbMTY2MzcyNzA5MC41MTg0MTEsIDcwMjksIDMuNjcyNDEyMTU3MDU4NzE2XSwgWzE2NjM3MjcwOTAuNjE1ODE5NywgNzAzOCwgNC43MDUyMzAyMzYwNTM0NjddLCBbMTY2MzcyNzA5MC43MDUwNTQ1LCA3MDQ3LCAzLjM1NDc5ODc5Mzc5MjcyNDZdLCBbMTY2MzcyNzA5MC44MDYwNTI0LCA3MDU2LCAyLjQzMjM3MjMzMTYxOTI2MjddLCBbMTY2MzcyNzA5MS4yMTIzMTIyLCA3MDgzLCAzLjQxODAwNDk4OTYyNDAyMzRdLCBbMTY2MzcyNzA5MS40MTg1NjIsIDcxMDEsIDIuOTQyNDY0ODI4NDkxMjExXSwgWzE2NjM3MjcwOTEuNTEwOTE2LCA3MTEwLCAxLjk2ODc4NzMxMjUwNzYyOTRdLCBbMTY2MzcyNzA5MS43MTkyNjM4LCA3MTI4LCA2Ljc5OTg4NjIyNjY1NDA1M10sIFsxNjYzNzI3MDkxLjkxMDgzNzQsIDcxNDYsIDkuMzUwNjEzNTk0MDU1MTc2XSwgWzE2NjM3MjcwOTIuMTA4OTg1MiwgNzE2NCwgMy45MDAwMjQxNzU2NDM5MjFdLCBbMTY2MzcyNzA5Mi4yMDQwNTUzLCA3MTczLCAyLjE5MjQxNDA0NTMzMzg2MjNdLCBbMTY2MzcyNzA5Mi40NzgyNDMsIDcyMDAsIDMuMzEzNjY5NDQzMTMwNDkzXSwgWzE2NjM3MjcwOTIuNTc3NTYwNywgNzIwOSwgMi41NzUwMDE5NTUwMzIzNDg2XSwgWzE2NjM3MjcwOTIuOTM5NDEwNCwgNzI0NSwgMi4xNjkwODY0NTYyOTg4MjhdLCBbMTY2MzcyNzA5My4wNDQ2MDcsIDcyNTQsIDIuOTA2NTI1MzczNDU4ODYyM10sIFsxNjYzNzI3MDkzLjEyODk2OSwgNzI2MywgMi43NTcwNTQ4MDU3NTU2MTUyXSwgWzE2NjM3MjcwOTMuMjE1NzgwMywgNzI3MiwgMi4wMjY3NTE5OTUwODY2N10sIFsxNjYzNzI3MDkzLjQ4ODAyMSwgNzI5OSwgMi40Mjk0NjkzNDcwMDAxMjJdLCBbMTY2MzcyNzA5My43NjM0ODk1LCA3MzI2LCAzLjQ3NTEzOTg1NjMzODUwMV0sIFsxNjYzNzI3MDk0LjMwNjc1MywgNzM3MSwgMy4zMDk4NTk1MTQyMzY0NV0sIFsxNjYzNzI3MDk0LjQwMTM0ODYsIDczODAsIDIuNTUzODMzNDg0NjQ5NjU4XSwgWzE2NjM3MjcwOTQuNTc1MjI5MiwgNzM5OCwgMi4yNjY0MzM3MTU4MjAzMTI1XSwgWzE2NjM3MjcwOTQuNjY2ODAyNCwgNzQwNywgMy4yOTMzMDA4NjcwODA2ODg1XSwgWzE2NjM3MjcwOTQuNzk5NDI1MSwgNzQxNiwgMi4xNjc1MDA5NzI3NDc4MDI3XSwgWzE2NjM3MjcwOTUuMDU2MDQsIDc0MzQsIDIuOTA2OTcxNjkzMDM4OTQwNF0sIFsxNjYzNzI3MDk1LjE3NDUyNDgsIDc0NDMsIDIuMjAxNzg5Mzc5MTE5ODczXSwgWzE2NjM3MjcwOTUuMzA2NDEwMywgNzQ1MiwgMy43NjA4NTE4NjAwNDYzODY3XSwgWzE2NjM3MjcwOTUuNDE3NTk2MywgNzQ2MSwgNy41NzQzNjUxMzkwMDc1NjhdLCBbMTY2MzcyNzA5NS44Mzc5Njc5LCA3NDk3LCAyLjY3MzM2NDg3NzcwMDgwNTddLCBbMTY2MzcyNzA5NS45NDczNjQsIDc1MDYsIDIuNzM5MjE5MTg4NjkwMTg1NV0sIFsxNjYzNzI3MDk2LjE1MTcxNTgsIDc1MjQsIDIuNTM5OTAwMDY0NDY4Mzg0XSwgWzE2NjM3MjcwOTYuMjQ0MDMzOCwgNzUzMywgMi40MTc3MzE1MjM1MTM3OTRdLCBbMTY2MzcyNzA5Ni4zMzg0NDgsIDc1NDIsIDIuNDQ1ODA4NDEwNjQ0NTMxMl0sIFsxNjYzNzI3MDk2LjU0MjMwNTcsIDc1NjAsIDMuOTIzMzc1MTI5Njk5NzA3XSwgWzE2NjM3MjcwOTYuNjMyMzkxNSwgNzU2OSwgNC4xMDM2NjE1MzcxNzA0MV0sIFsxNjYzNzI3MDk2LjkxMTU2MjIsIDc1ODcsIDIuMTM5MTUzNDgwNTI5Nzg1XSwgWzE2NjM3MjcwOTcuMDA4NDM1NywgNzU5NiwgMi40OTY3MTY3Mzc3NDcxOTI0XSwgWzE2NjM3MjcwOTcuMjA2MDUxLCA3NjE0LCAyLjMwMDMxNDY2NDg0MDY5ODJdLCBbMTY2MzcyNzA5Ny42OTg1NzA3LCA3NjU5LCA0LjMwMTcyMjA0OTcxMzEzNV0sIFsxNjYzNzI3MDk4LjAyMzQ4NywgNzY2OCwgNS40NjQyMDE5MjcxODUwNTldLCBbMTY2MzcyNzA5OC4zMTQ3NTE2LCA3Njk1LCAzLjExMzQzNzY1MjU4Nzg5MDZdLCBbMTY2MzcyNzA5OC42MDM3NTI0LCA3NzIyLCAyLjYwMjE3NDI4MjA3Mzk3NDZdLCBbMTY2MzcyNzA5OC45ODM0NzMzLCA3NzQ5LCAzLjAzMzgyODk3Mzc3MDE0MTZdLCBbMTY2MzcyNzA5OS4wNzY1MTksIDc3NTgsIDIuNzUzNjczMzE1MDQ4MjE3OF0sIFsxNjYzNzI3MDk5LjE3NDU0OSwgNzc2NywgMi4zODU4MzMyNjMzOTcyMTddLCBbMTY2MzcyNzA5OS40OTExMTkxLCA3Nzk0LCAyLjIwMDIxNDYyNDQwNDkwNzJdLCBbMTY2MzcyNzA5OS41NzYwNDQ2LCA3ODAzLCAzLjA1MDI4MDA5NDE0NjcyODVdLCBbMTY2MzcyNzEwMC4wMTE2ODA2LCA3ODM5LCAyLjQyNjAxNTEzODYyNjA5ODZdLCBbMTY2MzcyNzEwMC4xMTAyMDQyLCA3ODQ4LCAyLjEyNTgyMzk3NDYwOTM3NV0sIFsxNjYzNzI3MTAxLjE2MzIwNjYsIDc5MzgsIDEuOTY5NzA4MzIzNDc4Njk4N10sIFsxNjYzNzI3MTAxLjM2Mzc4ODgsIDc5NTYsIDIuMjI4MzA1MzM5ODEzMjMyNF0sIFsxNjYzNzI3MTAxLjQ4MTgxNDksIDc5NjUsIDIuNDc3MjM1MDc4ODExNjQ1NV0sIFsxNjYzNzI3MTAxLjU3NDIzNDcsIDc5NzQsIDMuNTM5NjI4NTA1NzA2Nzg3XSwgWzE2NjM3MjcxMDEuNjYyNjk5LCA3OTgzLCAyLjQ2Mzc1MzQ2MTgzNzc2ODZdLCBbMTY2MzcyNzEwMS44NTk4MTM3LCA4MDAxLCAyLjc5Njk1NTgyMzg5ODMxNTRdLCBbMTY2MzcyNzEwMi4wNTI3OTc4LCA4MDE5LCAyLjYzNjIxNjg3ODg5MDk5MV0sIFsxNjYzNzI3MTAyLjI0OTU1NiwgODAzNywgMi40MTE4MTE1OTAxOTQ3MDJdLCBbMTY2MzcyNzEwMi41Mzg3OTgzLCA4MDY0LCAyLjA5OTk3MDM0MDcyODc1OThdLCBbMTY2MzcyNzEwMi43Mzc1NTk2LCA4MDgyLCAxLjk4NzM2MzEwMDA1MTg3OTldLCBbMTY2MzcyNzEwMi44MjIwNjEsIDgwOTEsIDIuNDI2ODY4NDM4NzIwNzAzXSwgWzE2NjM3MjcxMDMuMTE0NjI3OCwgODExOCwgMi4zMjU5NzU0MTgwOTA4MjAzXSwgWzE2NjM3MjcxMDMuMjE5MzE0MywgODEyNywgMi4wOTc1NjYxMjc3NzcwOTk2XSwgWzE2NjM3MjcxMDMuNDExODM0NSwgODE0NSwgMy4xNzI1NjUyMjE3ODY0OTldLCBbMTY2MzcyNzEwMy42MTk5NDAzLCA4MTYzLCAyLjgyMzM4MTkwMDc4NzM1MzVdLCBbMTY2MzcyNzEwMy43MjI4MDIsIDgxNzIsIDIuMzIzMDUzMzU5OTg1MzUxNl0sIFsxNjYzNzI3MTAzLjgxMDEzNzUsIDgxODEsIDIuNzExODAzMTk3ODYwNzE3OF0sIFsxNjYzNzI3MTA0LjAzNTY1MjYsIDgxOTksIDIuMTc3MDY3NzU2NjUyODMyXSwgWzE2NjM3MjcxMDQuMTQ4MTMwNCwgODIwOCwgMy41NzczMTI3MDc5MDEwMDFdLCBbMTY2MzcyNzEwNC4zNTg3NTQ5LCA4MjI2LCAzLjQzMjEyNzcxNDE1NzEwNDVdLCBbMTY2MzcyNzEwNC40ODI4OTkyLCA4MjM1LCAzLjM1NDU0MzkyNDMzMTY2NV0sIFsxNjYzNzI3MTA0LjcyMTY1NSwgODI1MywgNC4xODA0MDQ2NjMwODU5Mzc1XSwgWzE2NjM3MjcxMDQuODk5NzQ3NiwgODI3MSwgMy43MTk4NDg4NzEyMzEwNzldLCBbMTY2MzcyNzEwNS4wMTEwMDE2LCA4MjgwLCAxLjk1NDE3NjMwNjcyNDU0ODNdLCBbMTY2MzcyNzEwNS4yMDQ2MTg3LCA4Mjk4LCAyLjEwNTgxOTk0MDU2NzAxNjZdLCBbMTY2MzcyNzEwNS4zODI5MjQsIDgzMTYsIDIuMjM4MTcxODE1ODcyMTkyNF0sIFsxNjYzNzI3MTA1LjgwODM4MDQsIDgzNTIsIDQuOTM2NzMzMjQ1ODQ5NjA5XSwgWzE2NjM3MjcxMDUuOTA0OTkzOCwgODM2MSwgNi4zMjEwNjk3MTc0MDcyMjddLCBbMTY2MzcyNzEwNi4wNDI4NzIsIDgzNzAsIDUuMDYyMzIwNzA5MjI4NTE2XSwgWzE2NjM3MjcxMDYuMTgyNzI2LCA4Mzc5LCAyLjExODg0NzEzMTcyOTEyNl0sIFsxNjYzNzI3MTA2LjI2OTc3LCA4Mzg4LCAyLjk5MTY2NzI3MDY2MDQwMDRdLCBbMTY2MzcyNzEwNi4zNzE5ODg4LCA4Mzk3LCAyLjUxNDUzNzgxMTI3OTI5N10sIFsxNjYzNzI3MTA2LjQ2NjUwODksIDg0MDYsIDIuMTcwOTM1MTUzOTYxMTgxNl0sIFsxNjYzNzI3MTA2Ljg1ODM5NjUsIDg0MjQsIDUuNDEzMzE5MTEwODcwMzYxXSwgWzE2NjM3MjcxMDcuMjI0MTU5NSwgODQ2MCwgNC4xMzcyOTg1ODM5ODQzNzVdLCBbMTY2MzcyNzEwNy4zOTExOTYsIDg0NzgsIDIuNDUzOTE4MjE4NjEyNjcxXSwgWzE2NjM3MjcxMDcuNDg3NzkyNSwgODQ4NywgMy4wNjQ2MDc2MjAyMzkyNThdLCBbMTY2MzcyNzEwNy44MTU1MjE3LCA4NTE0LCAyLjgxNTc1Nzc1MTQ2NDg0MzhdLCBbMTY2MzcyNzEwOC4yNzYwNDQ0LCA4NTUwLCAzLjgxNzY4MzIxOTkwOTY2OF0sIFsxNjYzNzI3MTA4LjM3NDk5MiwgODU1OSwgMi4wNjkyMDE3MDc4Mzk5NjZdLCBbMTY2MzcyNzEwOC41NzM5NzkxLCA4NTc3LCAyLjMyMzg1MzQ5MjczNjgxNjRdLCBbMTY2MzcyNzEwOC44MDEwNzQsIDg1OTUsIDIuNTUzMzU4NTU0ODQwMDg4XSwgWzE2NjM3MjcxMDguODg0OTM1NiwgODYwNCwgMi40MDYyMzQ5Nzk2Mjk1MTY2XSwgWzE2NjM3MjcxMDguOTk2MTg2MywgODYxMywgMi40NzE3OTI2OTc5MDY0OTRdLCBbMTY2MzcyNzEwOS40MTE2NzYyLCA4NjQ5LCAyLjEzODEwNjgyMjk2NzUyOTNdLCBbMTY2MzcyNzEwOS41MDkzOSwgODY1OCwgMi40NDU3NzMxMjQ2OTQ4MjRdLCBbMTY2MzcyNzEwOS42MTMzNDksIDg2NjcsIDMuMjI3OTQ3NzExOTQ0NThdLCBbMTY2MzcyNzEwOS43NDE5MzQsIDg2NzYsIDMuMDgwNjg3MDQ2MDUxMDI1NF0sIFsxNjYzNzI3MTA5Ljg0NjI3MywgODY4NSwgMi40NjYwOTc4MzE3MjYwNzRdLCBbMTY2MzcyNzEwOS45NDI4NDUzLCA4Njk0LCAyLjAzNzE1NTg2NjYyMjkyNV0sIFsxNjYzNzI3MTEwLjExOTU5NSwgODcxMiwgMy4wNDg5OTc4NzkwMjgzMjAzXSwgWzE2NjM3MjcxMTAuMjEwMTI3LCA4NzIxLCA0LjIxNjEzMjY0MDgzODYyM10sIFsxNjYzNzI3MTEwLjQ3MjQ1NTMsIDg3NDgsIDIuMjI0OTI1MDQxMTk4NzMwNV0sIFsxNjYzNzI3MTEwLjkyNTAwMSwgODc5MywgMi4yODE5NTU5NTc0MTI3MTk3XSwgWzE2NjM3MjcxMTEuMTE0ODE2LCA4ODExLCAyLjE5OTU5NzM1ODcwMzYxMzNdLCBbMTY2MzcyNzExMS4yMDY3ODA0LCA4ODIwLCAyLjYzMDQzMDIyMTU1NzYxN10sIFsxNjYzNzI3MTExLjM4MzE3OCwgODgzOCwgMi4wNDI0MzI1NDY2MTU2MDA2XSwgWzE2NjM3MjcxMTEuNDg2ODA0MiwgODg0NywgMi4yNTM1NzQxMzI5MTkzMTE1XSwgWzE2NjM3MjcxMTEuODUyOTYyNSwgODg4MywgMi41MjMxNTY4ODEzMzIzOTc1XSwgWzE2NjM3MjcxMTIuMDQ5NzAzOCwgODkwMSwgMi43MzkwNTM0ODc3Nzc3MV0sIFsxNjYzNzI3MTEyLjEzNzY5NzIsIDg5MTAsIDIuMjgzMDIxOTI2ODc5ODgzXSwgWzE2NjM3MjcxMTIuMjMyNjM0OCwgODkxOSwgMS45Mjk0MzAxMjcxNDM4NTk5XSwgWzE2NjM3MjcxMTIuNDIwMDc5NSwgODkzNywgMi43MTk3NzQ0ODQ2MzQzOTk0XSwgWzE2NjM3MjcxMTIuNjExNzUzNywgODk1NSwgMi40NTk4NjY3NjIxNjEyNTVdLCBbMTY2MzcyNzExMi43MDE3NzUzLCA4OTY0LCAzLjYyMDY4NzQ4NDc0MTIxMV0sIFsxNjYzNzI3MTEyLjc5MzE0NDUsIDg5NzMsIDIuMzQ4NTEwMjY1MzUwMzQyXSwgWzE2NjM3MjcxMTIuOTc3NjA4MiwgODk5MSwgMy4xNjA0NjY5MDk0MDg1NjkzXSwgWzE2NjM3MjcxMTMuMDcyMDMwNSwgOTAwMCwgNi4zMTMxNDU2Mzc1MTIyMDddLCBbMTY2MzcyNzExMy4yNTg4MjksIDkwMTgsIDQuNDYzNDU1Njc3MDMyNDcxXSwgWzE2NjM3MjcxMTMuMzU1MTA5NSwgOTAyNywgMi4yOTEzNDc3NDIwODA2ODg1XSwgWzE2NjM3MjcxMTMuNDYxODkyNCwgOTAzNiwgMS44ODU3OTIwMTY5ODMwMzIyXSwgWzE2NjM3MjcxMTMuNjA2MTQ0NywgOTA0NSwgMi41MDM3NTI3MDg0MzUwNTg2XSwgWzE2NjM3MjcxMTMuNzIyMjE5MiwgOTA1NCwgMi40MTgzNDE2MzY2NTc3MTVdLCBbMTY2MzcyNzExMy44MTg0OTAzLCA5MDYzLCAyLjc1NDk4MTA0MDk1NDU5XSwgWzE2NjM3MjcxMTQuMzU1NDIzNSwgOTEwOCwgMi40MjQwNzQ0MTEzOTIyMTJdLCBbMTY2MzcyNzExNC41NTg1MjUzLCA5MTI2LCAxLjk0NzQ2OTk0OTcyMjI5XSwgWzE2NjM3MjcxMTQuNzMyMzAzNiwgOTE0NCwgMi4wNDY1NjYyNDc5NDAwNjM1XSwgWzE2NjM3MjcxMTQuODIwOTk1NiwgOTE1MywgMi4xMTkyMTgzNDk0NTY3ODddLCBbMTY2MzcyNzExNC45MTgwODcsIDkxNjIsIDIuMTI2ODUwNjA1MDEwOTg2M10sIFsxNjYzNzI3MTE1LjY2MDE5NDksIDkyMDcsIDIuMzk4OTc3Mjc5NjYzMDg2XSwgWzE2NjM3MjcxMTYuMDMxODQzNCwgOTI0MywgMi42MzcyMTM5NDUzODg3OTRdLCBbMTY2MzcyNzExNi4yMjAyMDgsIDkyNjEsIDIuODMxMjM3MDc3NzEzMDEyN10sIFsxNjYzNzI3MTE2LjMxOTQxMTUsIDkyNzAsIDEuODM3OTA1MDQ5MzI0MDM1Nl0sIFsxNjYzNzI3MTE2Ljg4MTkzMDYsIDkzMjQsIDIuMzk2OTg2NDg0NTI3NTg4XSwgWzE2NjM3MjcxMTYuOTcxNjQxOCwgOTMzMywgMi45ODk1NTYzMTI1NjEwMzVdLCBbMTY2MzcyNzExNy4wNTQ5NTY0LCA5MzQyLCAyLjE1ODkyNzIwMjIyNDczMTRdLCBbMTY2MzcyNzExNy4xNTA1MTc1LCA5MzUxLCAyLjU3MzE3NDIzODIwNDk1Nl0sIFsxNjYzNzI3MTE3LjI3NjUxNDUsIDkzNjAsIDIuMDM3NjU0ODc2NzA4OTg0NF0sIFsxNjYzNzI3MTE3LjY0MDMzNCwgOTM5NiwgMi41MTk4Mjk3NTAwNjEwMzVdLCBbMTY2MzcyNzExNy44MjkwNTU4LCA5NDE0LCAzLjk3NzQwNjAyNDkzMjg2MTNdLCBbMTY2MzcyNzExNy45MzEzNTM2LCA5NDIzLCAyLjYyNzI3MTQxMzgwMzEwMDZdLCBbMTY2MzcyNzExOC40OTIzMjcsIDk0NzcsIDIuMTcwMDU3NzczNTkwMDg4XSwgWzE2NjM3MjcxMTguNTgxNjU5OCwgOTQ4NiwgMy40MDI0MzgxNjM3NTczMjRdLCBbMTY2MzcyNzExOC44Njk3MTIsIDk1MTMsIDIuMDkwMDk3NDI3MzY4MTY0XSwgWzE2NjM3MjcxMTkuMTE2ODMzMiwgOTUzMSwgMy42NjI5ODU1NjMyNzgxOTgyXSwgWzE2NjM3MjcxMTkuMjI4NzM1LCA5NTQwLCA1Ljg1MTQ4MzM0NTAzMTczOF0sIFsxNjYzNzI3MTE5LjM1MjI1MzQsIDk1NDksIDMuOTYzNjI5NDg0MTc2NjM1N10sIFsxNjYzNzI3MTE5LjU2NTIzLCA5NTY3LCAyLjI4NjQxNDE0NjQyMzM0XSwgWzE2NjM3MjcxMTkuODU4ODkyNCwgOTU5NCwgMy4wOTIzMDc1Njc1OTY0MzU1XSwgWzE2NjM3MjcxMTkuOTU1MTg3LCA5NjAzLCAzLjExODM1NjQ2NjI5MzMzNV0sIFsxNjYzNzI3MTIwLjA0Njk1NDQsIDk2MTIsIDIuMDYxNjE5OTk3MDI0NTM2XSwgWzE2NjM3MjcxMjAuMjQxNDEyNiwgOTYzMCwgMi45OTk2MDk3MDg3ODYwMTA3XSwgWzE2NjM3MjcxMjAuMzU1NjczOCwgOTYzOSwgMi42MDQ2OTQxMjgwMzY0OTldLCBbMTY2MzcyNzEyMC40NTkyODc0LCA5NjQ4LCAzLjEyODY0NTE4MTY1NTg4NF0sIFsxNjYzNzI3MTIwLjU1OTk5MzUsIDk2NTcsIDIuMTU5ODE1MzExNDMxODg0OF0sIFsxNjYzNzI3MTIwLjY1MTEwMzMsIDk2NjYsIDIuODExOTQxMTQ2ODUwNTg2XSwgWzE2NjM3MjcxMjAuNzQ4NjA1MywgOTY3NSwgMi41OTQ0MzE2Mzg3MTc2NTE0XSwgWzE2NjM3MjcxMjEuMDk3MjI3OCwgOTcwMiwgNC4zMTU3NTg3MDUxMzkxNl0sIFsxNjYzNzI3MTIxLjIxNzk2MTMsIDk3MTEsIDIuNDM4NzAxMTUyODAxNTEzN10sIFsxNjYzNzI3MTIxLjQwNzg3NywgOTcyOSwgMi4zMDI3MjYyNjg3NjgzMTA1XSwgWzE2NjM3MjcxMjEuNTAxMDc3NywgOTczOCwgMi4yNDA4MTQ2ODU4MjE1MzNdLCBbMTY2MzcyNzEyMS42MDA2NDM5LCA5NzQ3LCAyLjgwOTk4Mjc3NjY0MTg0NTddLCBbMTY2MzcyNzEyMS44ODUzNDQsIDk3NzQsIDIuNTI4NTA2NzU1ODI4ODU3NF0sIFsxNjYzNzI3MTIxLjk4Njg2MjQsIDk3ODMsIDIuMzgzMTA2NDcwMTA4MDMyMl0sIFsxNjYzNzI3MTIyLjEzMjE2MTYsIDk3OTIsIDIuNjI0NzY2NTg4MjExMDU5Nl0sIFsxNjYzNzI3MTIyLjU5NDcyNDIsIDk4MjgsIDIuMzA4NDYwNDc0MDE0MjgyMl0sIFsxNjYzNzI3MTIyLjY4ODM1MDQsIDk4MzcsIDIuMDYzODI1NjA3Mjk5ODA0N10sIFsxNjYzNzI3MTIyLjc3NjQzNDIsIDk4NDYsIDIuMjk1Mzg4MjIxNzQwNzIyN10sIFsxNjYzNzI3MTIzLjQ4NjUyOCwgOTg5MSwgMy4wMDMyNTUxMjg4NjA0NzM2XSwgWzE2NjM3MjcxMjMuNjk0MDEzNiwgOTkwOSwgMi4zNjAxNzMyMjU0MDI4MzJdLCBbMTY2MzcyNzEyMy44ODExNTIsIDk5MjcsIDIuNTI2NzQ2NTExNDU5MzUwNl0sIFsxNjYzNzI3MTIzLjk3MjI1MjEsIDk5MzYsIDIuMTg0ODkzMzY5Njc0NjgyNl0sIFsxNjYzNzI3MTI0LjA2NDA2NzEsIDk5NDUsIDQuMDIxNDkyMDA0Mzk0NTMxXSwgWzE2NjM3MjcxMjQuMzY0NTI4NCwgOTk3MiwgMi41ODAwNjk1NDE5MzExNTIzXSwgWzE2NjM3MjcxMjQuNDY3ODY0MywgOTk4MSwgMi4wNDg3MjgyMjc2MTUzNTY0XSwgWzE2NjM3MjcxMjQuNTYwODQ1LCA5OTkwLCAyLjY2OTg4MTgyMDY3ODcxMV0sIFsxNjYzNzI3MTI0LjY0OTIwNjksIDk5OTksIDIuNTI5MDA3OTExNjgyMTI5XSwgWzE2NjM3MjcxMjQuNzYwNzM0MywgMTAwMDgsIDIuMTM3NDUzNTU2MDYwNzkxXSwgWzE2NjM3MjcxMjQuODU4NzU5MiwgMTAwMTcsIDIuMTgwNDMzOTg4NTcxMTY3XSwgWzE2NjM3MjcxMjQuOTU2NzUzNSwgMTAwMjYsIDIuMTk5MDg2OTA0NTI1NzU3XSwgWzE2NjM3MjcxMjUuMDUzMjk3NSwgMTAwMzUsIDIuMzY3Mjc5NzY3OTkwMTEyM10sIFsxNjYzNzI3MTI1LjI0MzM2NzQsIDEwMDUzLCAzLjMzNTMyNTk1NjM0NDYwNDVdLCBbMTY2MzcyNzEyNS41NDQ1MTc1LCAxMDA4MCwgMi4wNDY2MTEwNzA2MzI5MzQ2XSwgWzE2NjM3MjcxMjUuNzMwODQ4OCwgMTAwOTgsIDIuMzc0ODM5MDY3NDU5MTA2NF0sIFsxNjYzNzI3MTI1Ljg2MTk5MDIsIDEwMTA3LCAyLjA1NDM2ODAxOTEwNDAwNF0sIFsxNjYzNzI3MTI2LjE1NTkzLCAxMDEzNCwgMi4wMTIxMzQ1NTIwMDE5NTNdLCBbMTY2MzcyNzEyNi4yNTI3NjkyLCAxMDE0MywgMi4zODcyMjk2ODEwMTUwMTQ2XSwgWzE2NjM3MjcxMjYuNDQzMTA1NywgMTAxNjEsIDIuOTkxNTkxOTMwMzg5NDA0M10sIFsxNjYzNzI3MTI2LjU0OTU2MjcsIDEwMTcwLCA0LjY5NTY3NDQxOTQwMzA3Nl0sIFsxNjYzNzI3MTI2LjYzODUwOTUsIDEwMTc5LCA0LjEzNTY2NjM3MDM5MTg0Nl0sIFsxNjYzNzI3MTI2LjczNjY5MDUsIDEwMTg4LCAyLjgyODI1MzUwNzYxNDEzNTddLCBbMTY2MzcyNzEyNi44NjE4Nzc0LCAxMDE5NywgMi43NjY2MzU0MTc5MzgyMzI0XSwgWzE2NjM3MjcxMjcuMDc2MzYzMywgMTAyMTUsIDIuMTQ2NzA3MDU3OTUyODgxXSwgWzE2NjM3MjcxMjcuMTYzMTUyNSwgMTAyMjQsIDMuOTc0NTg0ODE3ODg2MzUyNV0sIFsxNjYzNzI3MTI3LjI2MDE3MiwgMTAyMzMsIDMuODQ3MDIyNzcxODM1MzI3XSwgWzE2NjM3MjcxMjcuMzQwMzMwOCwgMTAyNDIsIDQuMTM4Mjc4MDA3NTA3MzI0XSwgWzE2NjM3MjcxMjcuNTY1NTU3NywgMTAyNjAsIDIuMTYwNDQyODI5MTMyMDhdLCBbMTY2MzcyNzEyNy44NDI3OTczLCAxMDI4NywgMi44NDAyMzIzNzIyODM5MzU1XSwgWzE2NjM3MjcxMjguMTQ0MTcxNywgMTAzMTQsIDIuNTYyNTgwNTg1NDc5NzM2M10sIFsxNjYzNzI3MTI4LjI3MTQ4NjgsIDEwMzIzLCAyLjE5MjMwNTU2NDg4MDM3MV0sIFsxNjYzNzI3MTI4LjUxNDU2MjQsIDEwMzQxLCAyLjc2Njc3MjI3MDIwMjYzNjddLCBbMTY2MzcyNzEyOC42MDMwMzE5LCAxMDM1MCwgMi4yODY1MDAyMTU1MzAzOTU1XSwgWzE2NjM3MjcxMjguNzAzODQ3NCwgMTAzNTksIDIuMTcwMzE5MzE4NzcxMzYyM10sIFsxNjYzNzI3MTI4LjgxNDg3MTMsIDEwMzY4LCAyLjM5ODIwMzEzNDUzNjc0M10sIFsxNjYzNzI3MTI4LjkzODI0MjcsIDEwMzc3LCAyLjI0MjU1MDYxMTQ5NTk3MTddLCBbMTY2MzcyNzEyOS4wNDA4NzksIDEwMzg2LCAyLjE5MDk3ODI4ODY1MDUxMjddLCBbMTY2MzcyNzEyOS4yNDU0NTI2LCAxMDQwNCwgMi4xOTM5MTcyNzQ0NzUwOTc3XSwgWzE2NjM3MjcxMjkuNjMzMDAxNiwgMTA0NDAsIDIuODg4ODc3ODY4NjUyMzQzOF0sIFsxNjYzNzI3MTI5LjcyNTAzNjksIDEwNDQ5LCAyLjI2MjI1ODI5MTI0NDUwN10sIFsxNjYzNzI3MTI5LjkxNzgzMTQsIDEwNDY3LCAyLjExMDQ3NjAxNjk5ODI5MV0sIFsxNjYzNzI3MTMwLjE1NTk0NTUsIDEwNDg1LCAyLjI5MzkzMTcyMjY0MDk5MV0sIFsxNjYzNzI3MTMwLjMyOTg3NzEsIDEwNTAzLCAyLjQxMzMzMzY1NDQwMzY4NjVdLCBbMTY2MzcyNzEzMC40NTU1MTQsIDEwNTEyLCAyLjEzNzM5ODk1ODIwNjE3NjhdLCBbMTY2MzcyNzEzMS4wOTg3MTA1LCAxMDU2NiwgMi4xMDg4MzA0NTE5NjUzMzJdLCBbMTY2MzcyNzEzMS4xODg1NjMzLCAxMDU3NSwgMi4xNjc4MTEzOTM3Mzc3OTNdLCBbMTY2MzcyNzEzMS41NjkxNDY5LCAxMDU5MywgMi43NDE4ODA0MTY4NzAxMTddLCBbMTY2MzcyNzEzMS42NzQyNDIzLCAxMDYwMiwgMi4yOTM3NjMzOTkxMjQxNDU1XSwgWzE2NjM3MjcxMzEuNzU4OTc2NSwgMTA2MTEsIDMuNDMxODc4MDg5OTA0Nzg1XSwgWzE2NjM3MjcxMzIuMTI4MDI3LCAxMDY0NywgMi4xNDE1MzYyMzU4MDkzMjZdLCBbMTY2MzcyNzEzMi4zMDcyNTY1LCAxMDY2NSwgMi42OTYwNDY1OTA4MDUwNTM3XSwgWzE2NjM3MjcxMzIuNDc5NjE1NywgMTA2ODMsIDIuNDExODYwMjI3NTg0ODM5XSwgWzE2NjM3MjcxMzIuNjUzNTUwMSwgMTA3MDEsIDIuMzE3ODMzNjYyMDMzMDgxXSwgWzE2NjM3MjcxMzIuNzQzNTc2MywgMTA3MTAsIDIuMzA2NzgyMDA3MjE3NDA3Ml0sIFsxNjYzNzI3MTMyLjgyNDg2NiwgMTA3MTksIDIuMTg1NjczMjM2ODQ2OTI0XSwgWzE2NjM3MjcxMzMuMTE5OTk5LCAxMDc0NiwgMi42MDIyODg0ODQ1NzMzNjQzXSwgWzE2NjM3MjcxMzMuMjIyMDU5MiwgMTA3NTUsIDIuNDY0NDc1NjMxNzEzODY3XSwgWzE2NjM3MjcxMzMuMzA4ODkzNCwgMTA3NjQsIDMuMTkxNjU4MDIwMDE5NTMxMl0sIFsxNjYzNzI3MTMzLjQyMjIyODgsIDEwNzczLCAyLjMzOTM4MTIxNzk1NjU0M10sIFsxNjYzNzI3MTMzLjUyMTA5NjIsIDEwNzgyLCAyLjM5OTQ4NjU0MTc0ODA0N10sIFsxNjYzNzI3MTMzLjYxMDk1NSwgMTA3OTEsIDIuMjAxODUyMDgzMjA2MTc2OF0sIFsxNjYzNzI3MTMzLjg4MjUzNjIsIDEwODE4LCAxLjk2NzUyMTE5MDY0MzMxMDVdLCBbMTY2MzcyNzEzMy45NjcyMTEyLCAxMDgyNywgMi40OTE0NjM2NjExOTM4NDc3XSwgWzE2NjM3MjcxMzQuMjY5MTMxLCAxMDg1NCwgMi4zMDYyNjY3ODQ2Njc5Njg4XSwgWzE2NjM3MjcxMzQuMzQ4OTE3MiwgMTA4NjMsIDIuODcxMzA4MDg4MzAyNjEyM10sIFsxNjYzNzI3MTM0LjQzNzE5NiwgMTA4NzIsIDEuODc1ODUyMTA4MDAxNzA5XSwgWzE2NjM3MjcxMzQuNjI1Nzk0NCwgMTA4OTAsIDIuNDI5NDUwMDM1MDk1MjE1XSwgWzE2NjM3MjcxMzQuNzM5NzY3LCAxMDg5OSwgMi4yNzI4ODIyMjMxMjkyNzI1XSwgWzE2NjM3MjcxMzUuMDA0MzgzMywgMTA5MjYsIDIuMjEyODYzNDQ1MjgxOTgyNF0sIFsxNjYzNzI3MTM1LjA5NTQ4ODgsIDEwOTM1LCAyLjI2ODYxMDIzOTAyODkzMDddLCBbMTY2MzcyNzEzNS4xODIwODI3LCAxMDk0NCwgMi4yMzg4MTI5MjM0MzEzOTY1XSwgWzE2NjM3MjcxMzUuMzY4NDU3OCwgMTA5NjIsIDIuNTIzNTk4NDMyNTQwODkzNl0sIFsxNjYzNzI3MTM1LjQ2ODE0MDQsIDEwOTcxLCAyLjU4MjAxNDA4Mzg2MjMwNDddLCBbMTY2MzcyNzEzNS44MjY5NTk4LCAxMTAwNywgMi4yMDI5NDA5NDA4NTY5MzM2XSwgWzE2NjM3MjcxMzUuOTA4MzcxMiwgMTEwMTYsIDIuNTQzMzk3NjY1MDIzODAzN10sIFsxNjYzNzI3MTM2LjEwMDI4OTgsIDExMDM0LCAyLjI2ODU0NDY3MzkxOTY3NzddLCBbMTY2MzcyNzEzNi4zODA2MDMsIDExMDYxLCAyLjE2MDMzMjQ0MTMyOTk1Nl0sIFsxNjYzNzI3MTM2LjUzNDI3NTgsIDExMDcwLCAyLjM0MDE5NDk0MDU2NzAxNjZdLCBbMTY2MzcyNzEzNi44OTQxMjQ1LCAxMTA5NywgMy41OTc5MTE4MzQ3MTY3OTddLCBbMTY2MzcyNzEzNy4wMTc4Mjk0LCAxMTEwNiwgMi45NzUxNzMyMzQ5Mzk1NzVdLCBbMTY2MzcyNzEzNy42MDE3OTQ3LCAxMTE1MSwgMi4xMTIxNDIwODYwMjkwNTI3XSwgWzE2NjM3MjcxMzcuODEwOTQxNywgMTExNjksIDMuODQ0OTI5NDU2NzEwODE1NF0sIFsxNjYzNzI3MTM3LjkwNzI5MSwgMTExNzgsIDIuMTEyOTY2Nzc1ODk0MTY1XSwgWzE2NjM3MjcxMzcuOTk3MzAxMywgMTExODcsIDIuMzU5MDc0NTkyNTkwMzMyXSwgWzE2NjM3MjcxMzguMDkxMDk1MiwgMTExOTYsIDMuODgzNDg3NDYyOTk3NDM2NV0sIFsxNjYzNzI3MTM4LjE4MTg0NywgMTEyMDUsIDIuOTM4NzU1NzUwNjU2MTI4XSwgWzE2NjM3MjcxMzguMjc0MTc3OCwgMTEyMTQsIDIuNzQ1NDUwMjU4MjU1MDA1XSwgWzE2NjM3MjcxMzguMzY1Njk0MywgMTEyMjMsIDIuMTU3NTEzMTQxNjMyMDhdLCBbMTY2MzcyNzEzOC42Njk4ODAyLCAxMTI1MCwgMi4xNDI5NzcyMzc3MDE0MTZdLCBbMTY2MzcyNzEzOC43NjUwMTc3LCAxMTI1OSwgMi45MTY4NDYyNzUzMjk1OV0sIFsxNjYzNzI3MTM4Ljg1NDkzMiwgMTEyNjgsIDIuMTU2Nzc5NTI3NjY0MTg0Nl0sIFsxNjYzNzI3MTM4Ljk1MzE2ODksIDExMjc3LCAyLjM1NjA4MzYzMTUxNTUwM10sIFsxNjYzNzI3MTM5LjE0MDQyODMsIDExMjk1LCAyLjQzMjIxMTg3NTkxNTUyNzNdLCBbMTY2MzcyNzEzOS4zMjE4ODk5LCAxMTMxMywgNC4xMTQ1NTkxNzM1ODM5ODRdLCBbMTY2MzcyNzEzOS40MzIyMzI0LCAxMTMyMiwgMi43NjgxMjg2MzM0OTkxNDU1XSwgWzE2NjM3MjcxMzkuOTg1MTAwMywgMTEzNDksIDIuMzE3MDQ5NzQxNzQ0OTk1XSwgWzE2NjM3MjcxNDAuMDg0MjExMywgMTEzNTgsIDUuMjQyMDY5NzIxMjIxOTI0XSwgWzE2NjM3MjcxNDAuMzUzMjMzOCwgMTEzODUsIDIuOTI1NDAxOTI2MDQwNjQ5NF0sIFsxNjYzNzI3MTQwLjY2Mzk4MzMsIDExNDEyLCAyLjQ3NjQ0MDY2ODEwNjA3OV0sIFsxNjYzNzI3MTQxLjAyOTY0NjYsIDExNDQ4LCAyLjAzMjA2MTMzODQyNDY4MjZdLCBbMTY2MzcyNzE0MS40OTIwMzczLCAxMTQ5MywgMi4zMzQ4ODIwMjA5NTAzMTc0XSwgWzE2NjM3MjcxNDEuNTk1ODk5OCwgMTE1MDIsIDIuMDQwMTE4Njk0MzA1NDJdLCBbMTY2MzcyNzE0MS42ODMwNzk1LCAxMTUxMSwgMi41MTk5MTIwMDQ0NzA4MjVdLCBbMTY2MzcyNzE0MS44NjEwNzY2LCAxMTUyOSwgMy4wNjIwMTkxMDk3MjU5NTJdLCBbMTY2MzcyNzE0Mi4wNTEwMDU2LCAxMTU0NywgMS44NTA1OTEwNjM0OTk0NTA3XSwgWzE2NjM3MjcxNDIuMzQxNjI0NywgMTE1NzQsIDIuMTEyODIyNTMyNjUzODA4Nl0sIFsxNjYzNzI3MTQyLjYxNzE2MjcsIDExNjAxLCAyLjA3MTI2NDc0MzgwNDkzMTZdLCBbMTY2MzcyNzE0Mi44MTE2MjE3LCAxMTYxOSwgMy40NjQwMzAyNjU4MDgxMDU1XSwgWzE2NjM3MjcxNDMuMTEzNTgxLCAxMTY0NiwgMy41OTQ5ODQyOTI5ODQwMDldLCBbMTY2MzcyNzE0My4zODg1MTE3LCAxMTY3MywgMi40MDg3MDk3NjQ0ODA1OTFdLCBbMTY2MzcyNzE0My41NjI5NSwgMTE2OTEsIDIuMzgyMDYxNDgxNDc1ODNdLCBbMTY2MzcyNzE0My42NDE5MDMyLCAxMTcwMCwgMi4zMzcwNjA2ODk5MjYxNDc1XSwgWzE2NjM3MjcxNDMuODM1MzM3NCwgMTE3MTgsIDIuMDU4MTE0MDUxODE4ODQ3N10sIFsxNjYzNzI3MTQzLjkyOTY4MTMsIDExNzI3LCAxLjc4OTQ4MDA5MDE0MTI5NjRdLCBbMTY2MzcyNzE0NC4xMTgxMTY2LCAxMTc0NSwgMi4yMTI2MjQ3ODgyODQzMDE4XSwgWzE2NjM3MjcxNDQuMzA1MDM4LCAxMTc2MywgMS45MDcwOTY3NDM1ODM2NzkyXSwgWzE2NjM3MjcxNDQuNjcwMzM3NywgMTE3OTksIDIuNTE3OTk5ODg3NDY2NDMwN10sIFsxNjYzNzI3MTQ1LjA1NzYzNTMsIDExODM1LCAyLjExNzY1NzQyMzAxOTQwOV0sIFsxNjYzNzI3MTQ1LjE1MjM0MzgsIDExODQ0LCAyLjk3ODEyNjI4NzQ2MDMyN10sIFsxNjYzNzI3MTQ1LjYxNjM0NTQsIDExODg5LCAyLjMxMDcxOTQ5MDA1MTI2OTVdLCBbMTY2MzcyNzE0NS44MDg4MDYyLCAxMTkwNywgMi4xMTQ4MzY0NTQzOTE0Nzk1XSwgWzE2NjM3MjcxNDUuOTEyNTQxMiwgMTE5MTYsIDIuNjgzOTQxNjAyNzA2OTA5XSwgWzE2NjM3MjcxNDYuMDk1OTA5LCAxMTkzNCwgMi4zOTI4NDQyMDAxMzQyNzczXSwgWzE2NjM3MjcxNDYuMTkzNjQxMiwgMTE5NDMsIDIuOTM0MTIzOTkyOTE5OTIyXSwgWzE2NjM3MjcxNDYuNTgxOTA1OCwgMTE5NjEsIDIuOTQxNjI2Nzg3MTg1NjY5XSwgWzE2NjM3MjcxNDcuMjY2NjU4OCwgMTIwMjQsIDIuMTEwNzI3MzEwMTgwNjY0XSwgWzE2NjM3MjcxNDguMTAzOTI5LCAxMjEwNSwgNC44OTkyOTEwMzg1MTMxODRdLCBbMTY2MzcyNzE0OC4xODkzMDU4LCAxMjExNCwgNC40OTMwNzIwMzI5Mjg0NjddLCBbMTY2MzcyNzE0OC4zNzcxNTU1LCAxMjEzMiwgMy4yNTcyNzEwNTE0MDY4NjA0XSwgWzE2NjM3MjcxNDguNDc1NjEyLCAxMjE0MSwgMi4wNTk5Mzc5NTM5NDg5NzQ2XSwgWzE2NjM3MjcxNDguNzU1OTM4MywgMTIxNjgsIDIuNDkzODAzMDI0MjkxOTkyXSwgWzE2NjM3MjcxNDguODYyNzU1OCwgMTIxNzcsIDEuOTQzOTAzODAzODI1Mzc4NF0sIFsxNjYzNzI3MTQ5LjA1Njg2MzMsIDEyMTk1LCAyLjYwODA5NjU5OTU3ODg1NzRdLCBbMTY2MzcyNzE0OS4zNDg0Njc0LCAxMjIyMiwgMi4xNTE3NDI5MzUxODA2NjRdLCBbMTY2MzcyNzE0OS40Mzk0NjksIDEyMjMxLCAyLjA1OTQ4NTQzNTQ4NTg0XSwgWzE2NjM3MjcxNDkuNjIxOTMxNiwgMTIyNDksIDIuMzU3MTgzNjk0ODM5NDc3NV0sIFsxNjYzNzI3MTUwLjAwNDAzMjksIDEyMjg1LCAxLjg2MzM2NDMzODg3NDgxN10sIFsxNjYzNzI3MTUwLjA4OTg3NjIsIDEyMjk0LCAyLjAzNjc1MjIyMzk2ODUwNl0sIFsxNjYzNzI3MTUwLjE4MTgzNjQsIDEyMzAzLCAzLjE1NzUwMzYwNDg4ODkxNl0sIFsxNjYzNzI3MTUwLjI3Mjg2NjIsIDEyMzEyLCAyLjI1NTQ4Mzg2NTczNzkxNV0sIFsxNjYzNzI3MTUwLjM2NDA1MywgMTIzMjEsIDEuODI4MzgwMTA3ODc5NjM4N10sIFsxNjYzNzI3MTUwLjc0MTc3MiwgMTIzNTcsIDEuODg5NDM4NzQ4MzU5NjgwMl0sIFsxNjYzNzI3MTUwLjgzNzc0ODgsIDEyMzY2LCAyLjEzMDA4NDI3NjE5OTM0MV0sIFsxNjYzNzI3MTUxLjA3MDQ2ODIsIDEyMzg0LCAyLjQzNTIzNjQ1NDAxMDAwOThdLCBbMTY2MzcyNzE1MS4xODIxMjk0LCAxMjM5MywgMi43NjczMjgwMjM5MTA1MjI1XSwgWzE2NjM3MjcxNTEuNjQ0NDI4NywgMTI0MjksIDIuNzU4MTEzODYxMDgzOTg0NF0sIFsxNjYzNzI3MTUxLjc3MjExNDgsIDEyNDM4LCAyLjExNjIzODM1NTYzNjU5NjddLCBbMTY2MzcyNzE1Mi4yMjI1ODAyLCAxMjQ3NCwgMi42MTI4MDY1NTg2MDkwMDldLCBbMTY2MzcyNzE1Mi4zMTQ3NDI4LCAxMjQ4MywgMi40NTg0MTE5MzE5OTE1NzddLCBbMTY2MzcyNzE1Mi43MDE3ODU2LCAxMjUxOSwgMS45NzI2MjE5MTc3MjQ2MDk0XSwgWzE2NjM3MjcxNTIuOTgyMDE4NywgMTI1NDYsIDIuNjQ0MDY2NTcyMTg5MzMxXSwgWzE2NjM3MjcxNTMuMjYzMjM2MywgMTI1NzMsIDIuMTU0OTc3MzIxNjI0NzU2XSwgWzE2NjM3MjcxNTMuMzk3MTg1NiwgMTI1ODIsIDEuNzQzNzUyMzYwMzQzOTMzXSwgWzE2NjM3MjcxNTMuNjE5MDE1LCAxMjYwMCwgMi40MzE2OTgwODM4Nzc1NjM1XSwgWzE2NjM3MjcxNTMuNzA5NjYyLCAxMjYwOSwgMy42NDE0NzQwMDg1NjAxODA3XSwgWzE2NjM3MjcxNTMuOTk1NjU0LCAxMjYzNiwgMi40NTk2NDY5NDAyMzEzMjMyXSwgWzE2NjM3MjcxNTQuMTY0MzQ5NiwgMTI2NTQsIDIuMjkwMDIyMzczMTk5NDYzXSwgWzE2NjM3MjcxNTUuMjAzMTYwMywgMTI3MjYsIDIuOTA4NjUzNDk3Njk1OTIzXSwgWzE2NjM3MjcxNTUuNTA0MjIsIDEyNzUzLCAyLjQwMDgxNTcyNTMyNjUzOF0sIFsxNjYzNzI3MTU1LjYxNDI1MDQsIDEyNzYyLCAyLjM4NTU3MzM4NzE0NTk5Nl0sIFsxNjYzNzI3MTU1Ljg2MDkyOSwgMTI3ODAsIDIuNDkwMzgyMTk0NTE5MDQzXSwgWzE2NjM3MjcxNTYuMDM5MTk4NCwgMTI3OTgsIDIuNTUzNzQ0NzkyOTM4MjMyNF0sIFsxNjYzNzI3MTU2LjEzMDk0LCAxMjgwNywgMS44OTU2OTA5MTc5Njg3NV0sIFsxNjYzNzI3MTU2Ljk1ODk0NCwgMTI4ODgsIDEuOTk4MjE0MjQ0ODQyNTI5M10sIFsxNjYzNzI3MTU3LjA1MjM2NDMsIDEyODk3LCAyLjA4OTIwMzgzNDUzMzY5MTRdLCBbMTY2MzcyNzE1Ny4xNTA4NzM3LCAxMjkwNiwgMi4zMDQzMTg2NjY0NTgxM10sIFsxNjYzNzI3MTU3LjI0MjgxMSwgMTI5MTUsIDIuMTUxNTcxNTEyMjIyMjldLCBbMTY2MzcyNzE1Ny40MjQ5MDM2LCAxMjkzMywgMy4yMTM1ODc5OTkzNDM4NzJdLCBbMTY2MzcyNzE1Ny42MTAzMzk5LCAxMjk1MSwgMS45OTE1MDc4ODc4NDAyNzFdLCBbMTY2MzcyNzE1Ny43MDU4NTk3LCAxMjk2MCwgMy4yMDI0MTE0MTMxOTI3NDldLCBbMTY2MzcyNzE1Ny43OTE1MzMyLCAxMjk2OSwgMi4zNTMxNTk5MDQ0Nzk5ODA1XSwgWzE2NjM3MjcxNTcuOTQxODE1OSwgMTI5NzgsIDIuMTQ3ODY5MTEwMTA3NDIyXSwgWzE2NjM3MjcxNTguMzE4NzQyLCAxMzAwNSwgMi4xNzg5Mjg4NTIwODEyOTldLCBbMTY2MzcyNzE1OC41ODM0Mzc3LCAxMzAyMywgMi40MTc2ODc0MTYwNzY2Nl0sIFsxNjYzNzI3MTU4LjY5NjU4NzMsIDEzMDMyLCAyLjcxNjIzOTIxMzk0MzQ4MTRdLCBbMTY2MzcyNzE1OC44MTg2NjcyLCAxMzA0MSwgMi4yMTczNjgzNjQzMzQxMDY0XSwgWzE2NjM3MjcxNTguOTM0Nzg1NiwgMTMwNTAsIDEuOTMzMzA5NzkzNDcyMjldLCBbMTY2MzcyNzE1OS4wNDI4NjYsIDEzMDU5LCAyLjA4NjI4MjI1MzI2NTM4MV0sIFsxNjYzNzI3MTU5LjE0OTc0NTcsIDEzMDY4LCAyLjA0MTUwNjA1MjAxNzIxMl0sIFsxNjYzNzI3MTU5LjI3NDQwMjksIDEzMDc3LCAyLjIzNTUxOTE3MDc2MTEwODRdLCBbMTY2MzcyNzE1OS41MjM0OTg4LCAxMzA5NSwgMi4xMTYzNzYzOTk5OTM4OTY1XSwgWzE2NjM3MjcxNTkuNjIyMDcxNywgMTMxMDQsIDIuNTE0NjE4NjM1MTc3NjEyM10sIFsxNjYzNzI3MTU5LjcyMjg3MjUsIDEzMTEzLCAyLjk2ODM0NTQwMzY3MTI2NDZdLCBbMTY2MzcyNzE1OS44MDQwODA3LCAxMzEyMiwgMi4xNzc0Njg3NzY3MDI4ODFdLCBbMTY2MzcyNzE1OS44OTg3NjEzLCAxMzEzMSwgMS44NzI5MzY0ODcxOTc4NzZdLCBbMTY2MzcyNzE1OS45ODkyOTI2LCAxMzE0MCwgMi41MTUwODk5ODg3MDg0OTZdLCBbMTY2MzcyNzE2MC4xMDM3NDksIDEzMTQ5LCAyLjUzNTQ4ODEyODY2MjEwOTRdLCBbMTY2MzcyNzE2MC4yMzI4NDYzLCAxMzE1OCwgMS45Nzg3NTQ4NzgwNDQxMjg0XSwgWzE2NjM3MjcxNjAuMzI1NDM0NywgMTMxNjcsIDIuMDgyMzI0NTA0ODUyMjk1XSwgWzE2NjM3MjcxNjAuNDA4MTIsIDEzMTc2LCAyLjE2OTk4NjI0ODAxNjM1NzRdLCBbMTY2MzcyNzE2MC41MDM0OTQ3LCAxMzE4NSwgMS44MjE5NjkzODk5MTU0NjYzXSwgWzE2NjM3MjcxNjEuMDc4NzI0MSwgMTMyMzksIDIuMDQxNDY4NjIwMzAwMjkzXSwgWzE2NjM3MjcxNjEuMzcyMDIyOSwgMTMyNjYsIDIuODAzNjM3NTA0NTc3NjM2N10sIFsxNjYzNzI3MTYxLjQ3MzQ0MTQsIDEzMjc1LCAxLjc5Njg1MDkxOTcyMzUxMDddLCBbMTY2MzcyNzE2MS42NzI3NjksIDEzMjkzLCAxLjkyOTQ1NTg3NjM1MDQwMjhdLCBbMTY2MzcyNzE2MS43NzA4MTg1LCAxMzMwMiwgMi4yMjYyNTA0MTAwNzk5NTZdLCBbMTY2MzcyNzE2Mi4xNjQwNTY4LCAxMzMzOCwgMi40ODE1NjkwNTE3NDI1NTM3XSwgWzE2NjM3MjcxNjIuMjYwOTk2NiwgMTMzNDcsIDEuNjUwODc4NjY3ODMxNDIxXSwgWzE2NjM3MjcxNjIuMzYxMTUxLCAxMzM1NiwgMi4wNjA1MzA5MDA5NTUyXSwgWzE2NjM3MjcxNjIuNDUxNjQyMywgMTMzNjUsIDQuMzEzNzk1MDg5NzIxNjhdLCBbMTY2MzcyNzE2Mi43Mjg5MjA1LCAxMzM5MiwgMi40MTU0NzYzMjIxNzQwNzIzXSwgWzE2NjM3MjcxNjIuODE2MDUyNCwgMTM0MDEsIDIuMTk5NDI0OTgyMDcwOTIzXSwgWzE2NjM3MjcxNjIuOTA3ODk5LCAxMzQxMCwgMi4yMTY2NTQzMDA2ODk2OTczXSwgWzE2NjM3MjcxNjIuOTk3NTE4MywgMTM0MTksIDEuOTY3OTQ3NDgzMDYyNzQ0MV0sIFsxNjYzNzI3MTYzLjA4OTU0MzgsIDEzNDI4LCAyLjA3NDIwODczNjQxOTY3NzddLCBbMTY2MzcyNzE2My4yODQyOTg0LCAxMzQ0NiwgMi4zMjc0MDM1NDUzNzk2Mzg3XSwgWzE2NjM3MjcxNjMuNTcxMjI5MiwgMTM0NTUsIDIuODY4NTg2MDYzMzg1MDA5OF0sIFsxNjYzNzI3MTYzLjkzNzA2ODcsIDEzNDkxLCAzLjA5MDkzNDk5MTgzNjU0OF0sIFsxNjYzNzI3MTY0LjAyODQ0NiwgMTM1MDAsIDEuOTk3NTY0NzkyNjMzMDU2Nl0sIFsxNjYzNzI3MTY0LjExNzMyOCwgMTM1MDksIDEuNzY5OTQwODUzMTE4ODk2NV0sIFsxNjYzNzI3MTY0LjMwNTc0NSwgMTM1MjcsIDIuNTYwMTYzNDk3OTI0ODA0N10sIFsxNjYzNzI3MTY0LjU2ODk5MzgsIDEzNTU0LCAyLjI4MTg5MzI1MzMyNjQxNl0sIFsxNjYzNzI3MTY0LjkyODUxOTcsIDEzNTkwLCAzLjEwMzMzMDM3Mzc2NDAzOF0sIFsxNjYzNzI3MTY1LjAzNTI0MDcsIDEzNTk5LCAxLjkzMzQ2MTMwODQ3OTMwOV0sIFsxNjYzNzI3MTY1LjE1Nzc0ODIsIDEzNjA4LCAyLjAxNDYwNDU2ODQ4MTQ0NTNdLCBbMTY2MzcyNzE2NS4zMzcxMDA3LCAxMzYyNiwgMi4xMjM3NTQwMjQ1MDU2MTUyXSwgWzE2NjM3MjcxNjUuNTIxNzEwNCwgMTM2NDQsIDIuODEwMzM1ODc0NTU3NDk1XSwgWzE2NjM3MjcxNjUuNjM1MTgzNiwgMTM2NTMsIDIuNDU2MzYxNzcwNjI5ODgzXSwgWzE2NjM3MjcxNjYuNTYwMjgxOCwgMTM3MTYsIDMuNDUyMDEwMTU0NzI0MTIxXSwgWzE2NjM3MjcxNjYuOTE4MzI3LCAxMzc0MywgMS45NDgwMjU4MjI2Mzk0NjUzXSwgWzE2NjM3MjcxNjcuMTUxMDE2MiwgMTM3NjEsIDEuODU5NzA3MzU1NDk5MjY3Nl0sIFsxNjYzNzI3MTY3LjM2MDkxNzYsIDEzNzc5LCAyLjY2MzQ4MDA0MzQxMTI1NV0sIFsxNjYzNzI3MTY3LjY2NjU0MzIsIDEzODA2LCAyLjY1MjI0OTgxMzA3OTgzNF0sIFsxNjYzNzI3MTY3Ljc1ODI4NTgsIDEzODE1LCAxLjg5NDE0NTEzMTExMTE0NV0sIFsxNjYzNzI3MTY4LjA0Mjg4NDgsIDEzODQyLCAyLjA1NTIwODQ0NDU5NTMzN10sIFsxNjYzNzI3MTY4LjE1NjMyNDYsIDEzODUxLCAyLjQ3NDgxNzI3NjAwMDk3NjZdLCBbMTY2MzcyNzE2OC4zNTA3NTgsIDEzODY5LCAyLjgzOTg5NzE1NTc2MTcxODhdLCBbMTY2MzcyNzE2OC40NDA4NDg0LCAxMzg3OCwgMi4xMTU5MzUzMjU2MjI1NTg2XSwgWzE2NjM3MjcxNjguODAxNDAxLCAxMzkxNCwgMi40NzYzNzUzNDE0MTU0MDUzXSwgWzE2NjM3MjcxNjkuMDAwNjIwNCwgMTM5MzIsIDIuMjUzMTEzMDMxMzg3MzI5XSwgWzE2NjM3MjcxNjkuMDk2MzU5LCAxMzk0MSwgMi4xODYzMzY5OTQxNzExNDI2XSwgWzE2NjM3MjcxNjkuNDA3MTYsIDEzOTY4LCAxLjk5Mzc3ODQ2NzE3ODM0NDddLCBbMTY2MzcyNzE2OS41MDU0MzYsIDEzOTc3LCAyLjI5NzIzMDAwNTI2NDI4MjJdLCBbMTY2MzcyNzE2OS41OTk1NDM4LCAxMzk4NiwgMy45MDI3ODQ4MjQzNzEzMzhdLCBbMTY2MzcyNzE2OS43ODI4MjUyLCAxNDAwNCwgMi4yNTIxNDYwMDU2MzA0OTNdLCBbMTY2MzcyNzE2OS45ODM1NzA2LCAxNDAyMiwgMi4xNjAyNzUyMjA4NzA5NzE3XSwgWzE2NjM3MjcxNzAuMjgxNjkzMiwgMTQwNDksIDIuMjIwODQ2NDE0NTY2MDRdLCBbMTY2MzcyNzE3MC40NjE5NjgyLCAxNDA2NywgMi40MTk1MDE1NDMwNDUwNDRdLCBbMTY2MzcyNzE3MC42NDY1MDIzLCAxNDA4NSwgMi4wNDgwNjAxNzg3NTY3MTRdLCBbMTY2MzcyNzE3MC43MzgzNjYxLCAxNDA5NCwgMi4zMzkzNDU2OTM1ODgyNTddLCBbMTY2MzcyNzE3MC44NDAyMTY2LCAxNDEwMywgMi4wMjQyMzg1ODY0MjU3ODEyXSwgWzE2NjM3MjcxNzEuMDQwMTUzLCAxNDEyMSwgMi4wNjAzOTIzNzk3NjA3NDJdLCBbMTY2MzcyNzE3MS4yMzI5OTA1LCAxNDEzOSwgMS45OTUxNjIwMTAxOTI4NzFdLCBbMTY2MzcyNzE3MS4zMTY3MDksIDE0MTQ4LCAxLjg1ODA1NzAyMjA5NDcyNjZdLCBbMTY2MzcyNzE3MS40MTMwMzU5LCAxNDE1NywgMi41NzQyNTQyNzQzNjgyODZdLCBbMTY2MzcyNzE3MS41MDUzMzcsIDE0MTY2LCAxLjk2MTg2NjQ5Nzk5MzQ2OTJdLCBbMTY2MzcyNzE3MS43OTI3OTgsIDE0MTkzLCAyLjIzMzI1MjI4NjkxMTAxMDddLCBbMTY2MzcyNzE3Mi4xNjYwODYsIDE0MjExLCAyLjI2NTc1NDIyMjg2OTg3M10sIFsxNjYzNzI3MTcyLjI2ODg0NjgsIDE0MjIwLCAyLjY4MTUxOTk4NTE5ODk3NDZdLCBbMTY2MzcyNzE3Mi4zNTE1ODM1LCAxNDIyOSwgMi40NDgzMzM1MDE4MTU3OTZdLCBbMTY2MzcyNzE3Mi40NDgzMTQ3LCAxNDIzOCwgMi4xNDM1NzQ5NTMwNzkyMjM2XSwgWzE2NjM3MjcxNzIuNTM1NzM0MiwgMTQyNDcsIDIuMTE5NTg0MDgzNTU3MTI5XSwgWzE2NjM3MjcxNzIuODA0ODY0NCwgMTQyNzQsIDIuMTkyMDMwOTA2Njc3MjQ2XSwgWzE2NjM3MjcxNzMuMjc4OTk3LCAxNDMxOSwgMy4yMDIzNDY1NjMzMzkyMzM0XSwgWzE2NjM3MjcxNzMuOTEzMDYwNCwgMTQzNjQsIDEuOTMxOTM3NDU2MTMwOTgxNF0sIFsxNjYzNzI3MTc0LjAxMzA4MTMsIDE0MzczLCAyLjc2MjcyMjk2OTA1NTE3Nl0sIFsxNjYzNzI3MTc0LjExMjM0NiwgMTQzODIsIDIuMzUyNTkyNDY4MjYxNzE4OF0sIFsxNjYzNzI3MTc0LjUxNDg2MTgsIDE0NDE4LCAyLjQxNDMwOTUwMTY0Nzk0OV0sIFsxNjYzNzI3MTc0LjYwNTM3MDMsIDE0NDI3LCAzLjAyMDQ1MzY5MTQ4MjU0NF0sIFsxNjYzNzI3MTc0LjY5NzcwNiwgMTQ0MzYsIDIuODIwOTk5MzgzOTI2MzkxNl0sIFsxNjYzNzI3MTc1LjM5NzQyNTcsIDE0NDk5LCAxLjk2MzQyNDIwNTc4MDAyOTNdLCBbMTY2MzcyNzE3NS40ODk2NDkzLCAxNDUwOCwgMi4wNjM5MDI4NTQ5MTk0MzM2XSwgWzE2NjM3MjcxNzUuNjc1MzczOCwgMTQ1MjYsIDIuMDM2NzE4MzY4NTMwMjczNF0sIFsxNjYzNzI3MTc1Ljc3NTk0MTQsIDE0NTM1LCAxLjk5ODM0NTg1MTg5ODE5MzRdLCBbMTY2MzcyNzE3NS44NjgwNTM3LCAxNDU0NCwgMy42MTQ4MjAyNDE5MjgxMDA2XSwgWzE2NjM3MjcxNzUuOTczMjU4LCAxNDU1MywgMi4xNzY5OTY3MDc5MTYyNTk4XSwgWzE2NjM3MjcxNzYuMzcwODE1LCAxNDU4OSwgMi43MTM4ODQ1OTIwNTYyNzQ0XSwgWzE2NjM3MjcxNzYuNTY5MiwgMTQ2MDcsIDMuODEzMjI0MDc3MjI0NzMxNF0sIFsxNjYzNzI3MTc2LjczODAxMTgsIDE0NjI1LCAxLjg1MDQ3NDQ3NjgxNDI3XSwgWzE2NjM3MjcxNzYuOTg2MTQ3OSwgMTQ2NDMsIDIuMTM3ODY2MDIwMjAyNjM2N10sIFsxNjYzNzI3MTc3LjExODA2ODUsIDE0NjUyLCAxLjk0NzY3MTQxMzQyMTYzMDldLCBbMTY2MzcyNzE3Ny40ODU1MDIyLCAxNDY3OSwgMi45NzE5OTg5Mjk5Nzc0MTddLCBbMTY2MzcyNzE3Ny41OTQ4Mjg0LCAxNDY4OCwgMi44ODM2MTU5NzA2MTE1NzIzXSwgWzE2NjM3MjcxNzguMDA0OTM0MywgMTQ3MjQsIDIuMjExMDk2NzYzNjEwODRdLCBbMTY2MzcyNzE3OC4xMDkxNzEyLCAxNDczMywgMi4wNjkwODAxMTQzNjQ2MjRdLCBbMTY2MzcyNzE3OC4yMjgzMTU2LCAxNDc0MiwgMi4yNjc2MTQ4NDE0NjExODE2XSwgWzE2NjM3MjcxNzguMzYzNDY4NiwgMTQ3NTEsIDEuODUzODU2MDg2NzMwOTU3XSwgWzE2NjM3MjcxNzguNTcyNDM4LCAxNDc2OSwgMS43ODczODgwODYzMTg5Njk3XSwgWzE2NjM3MjcxNzguNjYwNjMwMiwgMTQ3NzgsIDIuMjk0ODExMjQ4Nzc5Mjk3XSwgWzE2NjM3MjcxNzkuMTIyNTExMSwgMTQ4MjMsIDMuMDI2NTM1NTExMDE2ODQ1N10sIFsxNjYzNzI3MTc5LjIwMjQ3MSwgMTQ4MzIsIDIuMDc1OTUyMjkxNDg4NjQ3NV0sIFsxNjYzNzI3MTc5LjM3OTAyLCAxNDg1MCwgMi4zMzUwOTYzNTkyNTI5Mjk3XSwgWzE2NjM3MjcxNzkuNTc4ODA4OCwgMTQ4NjgsIDMuMzkwMTgyMDE4MjgwMDI5M10sIFsxNjYzNzI3MTc5LjY2NzU0NDgsIDE0ODc3LCAyLjQzMjE5NjYxNzEyNjQ2NV0sIFsxNjYzNzI3MTc5Ljc3MzUyNTUsIDE0ODg2LCAyLjEzNjEyOTg1NjEwOTYxOV0sIFsxNjYzNzI3MTc5Ljg2OTk0OTYsIDE0ODk1LCAyLjM0OTkyMjQxODU5NDM2MDRdLCBbMTY2MzcyNzE4MC4wNzU3NTU0LCAxNDkxMywgMS44NTE2MjU5MTkzNDIwNDFdLCBbMTY2MzcyNzE4MC4zMjQwOSwgMTQ5MzEsIDMuMDE5MTI0NTA3OTA0MDUyN10sIFsxNjYzNzI3MTgwLjQ2MzA4MSwgMTQ5NDAsIDIuMzAwMTY4NTE0MjUxNzA5XSwgWzE2NjM3MjcxODAuOTYwNzcwNCwgMTQ5NjcsIDEuOTU1NTg1OTU2NTczNDg2M10sIFsxNjYzNzI3MTgxLjE0MDAxNjYsIDE0OTg1LCAyLjAzNzQ4NTM2MTA5OTI0M10sIFsxNjYzNzI3MTgxLjMxNjQ1MiwgMTUwMDMsIDEuOTU3NTY3NjkxODAyOTc4NV0sIFsxNjYzNzI3MTgxLjU5MDAxNTQsIDE1MDMwLCAyLjU5MzkyMTg5OTc5NTUzMjJdLCBbMTY2MzcyNzE4MS42ODkzMjg0LCAxNTAzOSwgMy4yMzQyODQ0MDA5Mzk5NDE0XSwgWzE2NjM3MjcxODIuMDc1MDc2NiwgMTUwNzUsIDEuNzMxODA4NzgxNjIzODQwM10sIFsxNjYzNzI3MTgyLjQ1MTk2MTMsIDE1MTAyLCAyLjUwODExMjE5MjE1MzkzMDddLCBbMTY2MzcyNzE4Mi42NzMzNTI3LCAxNTEyMCwgMi41MTIxNTc0NDAxODU1NDddLCBbMTY2MzcyNzE4Mi43NjM4NTM4LCAxNTEyOSwgMi4wMDE0ODA4MTc3OTQ4XSwgWzE2NjM3MjcxODIuODUzNjk2LCAxNTEzOCwgMS45ODk5NjYzOTI1MTcwODk4XSwgWzE2NjM3MjcxODIuOTQzMjIwMSwgMTUxNDcsIDEuOTMxMzgyNjU2MDk3NDEyXSwgWzE2NjM3MjcxODMuMjEwMjg2MSwgMTUxNzQsIDIuMjk5MTU4MzM0NzMyMDU1N10sIFsxNjYzNzI3MTgzLjI5OTE5ODksIDE1MTgzLCAyLjE5MzMwNDA2MTg4OTY0ODRdLCBbMTY2MzcyNzE4My4zOTExMTc4LCAxNTE5MiwgMi4zMjEzNjM5MjU5MzM4MzhdLCBbMTY2MzcyNzE4My40OTY5NDA0LCAxNTIwMSwgMS44NzgxMDMyNTYyMjU1ODZdLCBbMTY2MzcyNzE4My41ODc1NzMsIDE1MjEwLCAyLjAxMjg5NzAxNDYxNzkyXSwgWzE2NjM3MjcxODMuNjcwMTcwNSwgMTUyMTksIDIuNjkwOTUzMjU0Njk5NzA3XSwgWzE2NjM3MjcxODMuOTMxNTUzOCwgMTUyNDYsIDIuOTAyMzUzNzYzNTgwMzIyM10sIFsxNjYzNzI3MTg0LjAzMzAxMTQsIDE1MjU1LCAyLjQwOTM1OTQ1NTEwODY0MjZdLCBbMTY2MzcyNzE4NC4xMjIwODk0LCAxNTI2NCwgMi4yNzUwNDYzNDg1NzE3NzczXSwgWzE2NjM3MjcxODQuMzAzODc0NSwgMTUyODIsIDEuODcwMDYxOTkzNTk4OTM4XSwgWzE2NjM3MjcxODQuMzk0MzU0MywgMTUyOTEsIDIuNDExNDI1MzUyMDk2NTU3Nl0sIFsxNjYzNzI3MTg0LjQ4OTcwOTEsIDE1MzAwLCAyLjQ0MTk1MzE4MjIyMDQ1OV0sIFsxNjYzNzI3MTg0LjU4Njc3NDYsIDE1MzA5LCAyLjE5NTIzNDc3NTU0MzIxM10sIFsxNjYzNzI3MTg0Ljc1ODMxMzcsIDE1MzI3LCAyLjMwNTI1NjYwNTE0ODMxNTRdLCBbMTY2MzcyNzE4NC45MzcyOTM1LCAxNTM0NSwgMi4xMTE1NzkxNzk3NjM3OTRdLCBbMTY2MzcyNzE4NS4yODQxODksIDE1MzcyLCAzLjcwNTQyMTY4NjE3MjQ4NTRdLCBbMTY2MzcyNzE4NS41MTA4ODEsIDE1MzkwLCAyLjE3MTc3Mjk1Njg0ODE0NDVdLCBbMTY2MzcyNzE4NS42MDM0NzcyLCAxNTM5OSwgMS45MTUxMjIwMzIxNjU1MjczXSwgWzE2NjM3MjcxODUuNjg1OTYwMywgMTU0MDgsIDEuOTc5ODQ0Njg5MzY5MjAxN10sIFsxNjYzNzI3MTg1Ljc5MDIyMSwgMTU0MTcsIDEuOTE2MzQ3Mzg0NDUyODE5OF0sIFsxNjYzNzI3MTg2LjE3NDUzOTgsIDE1NDUzLCAyLjA3ODk0MDYyOTk1OTEwNjRdLCBbMTY2MzcyNzE4Ni4zNTQ5ODIsIDE1NDcxLCAyLjU4MTgzMTY5MzY0OTI5Ml0sIFsxNjYzNzI3MTg2LjQ1MzAzOSwgMTU0ODAsIDEuODM2NTEzMjgwODY4NTMwM10sIFsxNjYzNzI3MTg2Ljg1MzQzNywgMTU1MDcsIDIuMzQ3Mzg5Njk4MDI4NTY0NV0sIFsxNjYzNzI3MTg2Ljk3ODI5OCwgMTU1MTYsIDEuNzQ1ODgxMDgwNjI3NDQxNF0sIFsxNjYzNzI3MTg3LjA5MTE5MzcsIDE1NTI1LCAyLjA5NTE0NDAzMzQzMjAwN10sIFsxNjYzNzI3MTg3LjE5MjU3MTIsIDE1NTM0LCAyLjI1NjY2Nzg1MjQwMTczMzRdLCBbMTY2MzcyNzE4Ny43MTUyODk0LCAxNTU3OSwgMi42MTMzOTkwMjg3NzgwNzZdLCBbMTY2MzcyNzE4OC41NjQxODIzLCAxNTY1MSwgMS44MTAyMjk3NzgyODk3OTVdLCBbMTY2MzcyNzE4OC42NTQ3MTEsIDE1NjYwLCAzLjI5MDc0MTIwNTIxNTQ1NF0sIFsxNjYzNzI3MTg4Ljc1MzA4MTYsIDE1NjY5LCAyLjA5NzUxOTg3NDU3Mjc1NF0sIFsxNjYzNzI3MTg5LjAxNjcwNDgsIDE1Njk2LCA0LjI1NDM4OTI4NjA0MTI2XSwgWzE2NjM3MjcxODkuNDA2OTQ1NywgMTU3MTQsIDIuMzI1MDIyOTM1ODY3MzA5Nl0sIFsxNjYzNzI3MTg5LjUwMjQ0OSwgMTU3MjMsIDIuMTIwMDc2NjU2MzQxNTUyN10sIFsxNjYzNzI3MTg5LjU5ODIwNzIsIDE1NzMyLCAzLjYzNDYxMTYwNjU5NzkwMDRdLCBbMTY2MzcyNzE4OS42OTExMDkyLCAxNTc0MSwgMi4xNTYwNTUyMTIwMjA4NzRdLCBbMTY2MzcyNzE4OS44MDIwMjIyLCAxNTc1MCwgMi40NDM3Njg3Mzk3MDAzMTc0XSwgWzE2NjM3MjcxODkuODkzOTksIDE1NzU5LCAyLjI2MzA3NzI1OTA2MzcyMDddLCBbMTY2MzcyNzE4OS45ODU3MTg1LCAxNTc2OCwgMS45OTk5MDU0NjcwMzMzODYyXSwgWzE2NjM3MjcxOTAuMTc2OTg4NCwgMTU3ODYsIDIuMjQ5MjA2MzA0NTUwMTcxXSwgWzE2NjM3MjcxOTAuMjg3MTExNSwgMTU3OTUsIDEuOTk3MjgxNDMyMTUxNzk0NF0sIFsxNjYzNzI3MTkwLjU4NTE1NzYsIDE1ODIyLCAxLjkwNTQ4MjA1Mzc1NjcxMzldLCBbMTY2MzcyNzE5MS4wNTY2MzM3LCAxNTg2NywgMi4zMTM4NTYzNjMyOTY1MDldLCBbMTY2MzcyNzE5MS4xNDMwNDk3LCAxNTg3NiwgMi4wMTkyMTg5MjE2NjEzNzddLCBbMTY2MzcyNzE5MS40MDE2Nzg2LCAxNTg5NCwgMi4wMDE0MDQyODU0MzA5MDhdLCBbMTY2MzcyNzE5MS40OTQ4MjUsIDE1OTAzLCAyLjI1Mzk3NjU4MzQ4MDgzNV0sIFsxNjYzNzI3MTkxLjY5Nzg3NjcsIDE1OTIxLCAxLjg2MjY3NTc4NjAxODM3MTZdLCBbMTY2MzcyNzE5Mi4zODM4OTAyLCAxNTk4NCwgMi4zMjg5MDM0MzY2NjA3NjY2XSwgWzE2NjM3MjcxOTIuNDg4MTUxMywgMTU5OTMsIDIuMTcyODc2NTk2NDUwODA1N10sIFsxNjYzNzI3MTkyLjU4NjExNjYsIDE2MDAyLCAyLjQ2OTEyMjQwOTgyMDU1NjZdLCBbMTY2MzcyNzE5Mi44NzY2MDEsIDE2MDI5LCAxLjk5MTcwNjcyODkzNTI0MTddLCBbMTY2MzcyNzE5Mi45NjUwMjcsIDE2MDM4LCAyLjAxMDcyNzE2NzEyOTUxNjZdLCBbMTY2MzcyNzE5My4yODg4MTUsIDE2MDY1LCAzLjIxOTcxODQ1NjI2ODMxMDVdLCBbMTY2MzcyNzE5My40MTMwNjA3LCAxNjA3NCwgMS44ODc2MDEzNzU1Nzk4MzRdLCBbMTY2MzcyNzE5My41NTgxMzA3LCAxNjA4MywgMS45ODk3NjAxNjA0NDYxNjddLCBbMTY2MzcyNzE5My42ODMxMDUsIDE2MDkyLCAyLjc0NjA3NDY3NjUxMzY3Ml0sIFsxNjYzNzI3MTkzLjg2ODg4OSwgMTYxMTAsIDEuNzYzOTMyNTg1NzE2MjQ3Nl0sIFsxNjYzNzI3MTkzLjk2MTkzNDYsIDE2MTE5LCAyLjYxOTU5OTM0MjM0NjE5MTRdLCBbMTY2MzcyNzE5NC4xNDY2MTg0LCAxNjEzNywgMS44ODk0OTAzNjU5ODIwNTU3XSwgWzE2NjM3MjcxOTQuMzM2MDg2NSwgMTYxNTUsIDIuMDQzNTI3ODQxNTY3OTkzXSwgWzE2NjM3MjcxOTQuNTM3MzMxMywgMTYxNzMsIDIuNDQ2ODk5ODkwODk5NjU4XSwgWzE2NjM3MjcxOTQuNjcwMzI2MiwgMTYxODIsIDIuNTAzNjIxNTc4MjE2NTUyN10sIFsxNjYzNzI3MTk1LjAwMDk2NDksIDE2MjA5LCAyLjMwNTczNjU0MTc0ODA0N10sIFsxNjYzNzI3MTk1LjA5NTEzMjQsIDE2MjE4LCAyLjI1MzMyNTkzOTE3ODQ2N10sIFsxNjYzNzI3MTk1LjE5MTc0MiwgMTYyMjcsIDEuODY4ODkwMDQ3MDczMzY0M10sIFsxNjYzNzI3MTk1LjI5MDI4MSwgMTYyMzYsIDEuNjY5MDcyMTUxMTg0MDgyXSwgWzE2NjM3MjcxOTUuMzgwMTMzOSwgMTYyNDUsIDIuMjI0NzkwMzM0NzAxNTM4XSwgWzE2NjM3MjcxOTUuNzY5NTE2MiwgMTYyODEsIDIuMTYzMTI1NzUzNDAyNzFdLCBbMTY2MzcyNzE5NS45NTk4NTc3LCAxNjI5OSwgMS45MDE2NzI3MjA5MDkxMTg3XSwgWzE2NjM3MjcxOTYuMzQ3ODI5OCwgMTYzMzUsIDMuNTI2MzU0NTUxMzE1MzA3Nl0sIFsxNjYzNzI3MTk2LjU1MDE5NDcsIDE2MzUzLCAxLjk1MDA4NjcxMjgzNzIxOTJdLCBbMTY2MzcyNzE5Ni43NDE1ODk1LCAxNjM3MSwgMS45NjI2MzAzOTExMjA5MTA2XSwgWzE2NjM3MjcxOTYuODM0Mjc1NywgMTYzODAsIDIuMjU5MDI5Mzg4NDI3NzM0NF0sIFsxNjYzNzI3MTk3LjIxODY4NjYsIDE2NDE2LCAxLjkwMDM1NzQ4NDgxNzUwNDldLCBbMTY2MzcyNzE5Ny43MDE5MTcsIDE2NDQzLCAyLjExMzU5MDI0MDQ3ODUxNTZdLCBbMTY2MzcyNzE5Ny44NDA2ODY4LCAxNjQ1MiwgNC4xOTAwNjY4MTQ0MjI2MDddLCBbMTY2MzcyNzE5OC4wMjQ2NDE1LCAxNjQ3MCwgMS45NDI5NzExMTAzNDM5MzNdLCBbMTY2MzcyNzE5OC4xMjA4MDI2LCAxNjQ3OSwgMi44MDUzNDI2NzQyNTUzNzFdLCBbMTY2MzcyNzE5OC4zMTUyOTQzLCAxNjQ5NywgMi42MzA4NjI3MTI4NjAxMDc0XSwgWzE2NjM3MjcxOTguNDA4MTAzLCAxNjUwNiwgMS45NjkyOTQwNzExOTc1MDk4XSwgWzE2NjM3MjcxOTguNTA1MjU0NSwgMTY1MTUsIDIuNDA2MjM2NDEwMTQwOTkxXSwgWzE2NjM3MjcxOTguNjg3OTU4NSwgMTY1MzMsIDEuOTI1NjgwOTk0OTg3NDg3OF0sIFsxNjYzNzI3MTk4Ljc5Nzg1NCwgMTY1NDIsIDIuMjczMDY1MzI4NTk4MDIyNV0sIFsxNjYzNzI3MTk4Ljg4NzM0NDEsIDE2NTUxLCAzLjE3NDI2MDEzOTQ2NTMzMl0sIFsxNjYzNzI3MTk5LjQ3NTEwODEsIDE2NjA1LCAyLjI1ODUzNzc2OTMxNzYyN10sIFsxNjYzNzI3MTk5LjU2ODIzNjYsIDE2NjE0LCAyLjY3MTQyMzQzNTIxMTE4MTZdLCBbMTY2MzcyNzE5OS42NTQxMzQ4LCAxNjYyMywgMi43NDkzNjcyMzcwOTEwNjQ1XSwgWzE2NjM3MjcxOTkuNzQzMDkzNywgMTY2MzIsIDEuODMwNzEwNzY4Njk5NjQ2XSwgWzE2NjM3MjcxOTkuODQyMzYyNiwgMTY2NDEsIDEuOTI5NzM1MTgzNzE1ODIwM10sIFsxNjYzNzI3MTk5LjkzOTQ1MzgsIDE2NjUwLCAxLjk0MTQ2NTEzOTM4OTAzOF0sIFsxNjYzNzI3MjAwLjA0Nzk2MjIsIDE2NjU5LCAyLjA4ODA5ODI4NzU4MjM5NzVdLCBbMTY2MzcyNzIwMC4xMzAwODkzLCAxNjY2OCwgMi4zMjA3OTQ4MjA3ODU1MjI1XSwgWzE2NjM3MjcyMDAuMzM3NDE4OCwgMTY2ODYsIDIuMDE1MTAwNDc5MTI1OTc2Nl0sIFsxNjYzNzI3MjAwLjYxMjgyODMsIDE2NzEzLCAxLjg3NDAyNTIyNTYzOTM0MzNdLCBbMTY2MzcyNzIwMS4xMTIwMzMxLCAxNjc0OSwgMS45MTk0NzYzODk4ODQ5NDg3XSwgWzE2NjM3MjcyMDEuNTA4MTc1LCAxNjc4NSwgMi4wODQ5MzQ0NzMwMzc3MTk3XSwgWzE2NjM3MjcyMDEuNjA1MTQ0MywgMTY3OTQsIDMuNzQ2NTYyNzE5MzQ1MDkyOF0sIFsxNjYzNzI3MjAxLjcwODk3MSwgMTY4MDMsIDIuMjY4MDkxOTE3MDM3OTY0XSwgWzE2NjM3MjcyMDEuODA2NTMwMiwgMTY4MTIsIDIuMTQzMTM0MTE3MTI2NDY1XSwgWzE2NjM3MjcyMDIuMjI2NTQ4LCAxNjg0OCwgMi45NjExMjM0NjY0OTE2OTldLCBbMTY2MzcyNzIwMi4zMTU2OTA4LCAxNjg1NywgMS45ODIxNjUyMTczOTk1OTcyXSwgWzE2NjM3MjcyMDIuNDAxNDQ5MiwgMTY4NjYsIDIuNTc2OTkyNTExNzQ5MjY3Nl0sIFsxNjYzNzI3MjAyLjU1MTMyMTMsIDE2ODc1LCAyLjQzMjQyNTk3NTc5OTU2MDVdLCBbMTY2MzcyNzIwMi42NDg2MDM0LCAxNjg4NCwgMi4yMzU1MDM2NzM1NTM0NjddLCBbMTY2MzcyNzIwMi43NDQ5NjQxLCAxNjg5MywgMi4yMzcwNTg2Mzk1MjYzNjddLCBbMTY2MzcyNzIwMi44NjQyODI4LCAxNjkwMiwgMi40MjIwMTI1Njc1MjAxNDE2XSwgWzE2NjM3MjcyMDMuMTE4NjkwNywgMTY5MjAsIDIuMDI5MDM0ODUyOTgxNTY3NF0sIFsxNjYzNzI3MjAzLjIzMDk4MywgMTY5MjksIDIuMzUwMjEyMzM1NTg2NTQ4XSwgWzE2NjM3MjcyMDMuNTE0NjI0NCwgMTY5NDcsIDIuMzg4OTI1NTUyMzY4MTY0XV0=","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_03-40-06_b5cca277837b&tag=Loss%2Ftrain":{"data":"W1sxNjYzODE4MDA3LjI2NzMxNjgsIDM2LCAyMy40ODY5NzY2MjM1MzUxNTZdLCBbMTY2MzgxODAwNy4zNzM2ODMyLCA0NSwgMTguNDE0NTMzNjE1MTEyMzA1XSwgWzE2NjM4MTgwMDcuOTgxMjY3LCA5OSwgNS43MjcyNTkxNTkwODgxMzVdLCBbMTY2MzgxODAwOC4zMjQzODA0LCAxMzUsIDUuNDc1MDkyNDExMDQxMjZdLCBbMTY2MzgxODAwOC40MjU2NjEsIDE0NCwgNS40MTE3ODM2OTUyMjA5NDddLCBbMTY2MzgxODAwOC43MTkxMiwgMTcxLCA1LjE3MDgzMzExMDgwOTMyNl0sIFsxNjYzODE4MDA4LjgyMDc1NywgMTgwLCA1LjE4NTgzNDg4NDY0MzU1NV0sIFsxNjYzODE4MDA4LjkzMjk1NzYsIDE4OSwgNS4xNzQyNjkxOTkzNzEzMzhdLCBbMTY2MzgxODAwOS4xNTE4Mjk1LCAyMDcsIDUuMDA4NjQwMjg5MzA2NjQxXSwgWzE2NjM4MTgwMDkuMjQ3NDI3LCAyMTYsIDQuOTc3NTIyODUwMDM2NjIxXSwgWzE2NjM4MTgwMDkuNTIxNTkwNywgMjQzLCA0Ljg3ODI4NTg4NDg1NzE3OF0sIFsxNjYzODE4MDA5LjYxMDc5MzgsIDI1MiwgNC44NTg1ODM0NTAzMTczODNdLCBbMTY2MzgxODAxMC42NDU2Mjk2LCAzNTEsIDQuMjM2NjM2MTYxODA0MTk5XSwgWzE2NjM4MTgwMTAuODI5Njc4LCAzNjksIDQuMjMyNTc3MzIzOTEzNTc0XSwgWzE2NjM4MTgwMTEuNjM1MTYxNCwgNDMyLCAzLjk0OTgzODM5OTg4NzA4NV0sIFsxNjYzODE4MDExLjcyMzY1MzMsIDQ0MSwgMy44OTQwNzk2ODUyMTExODE2XSwgWzE2NjM4MTgwMTEuODIzMTgzLCA0NTAsIDMuODE5NzcyMjQzNDk5NzU2XSwgWzE2NjM4MTgwMTIuMDAxNzkxNywgNDY4LCAzLjcxNjM2MTI4NDI1NTk4MTRdLCBbMTY2MzgxODAxMi4yNTI1NTQsIDQ5NSwgMy42NTA0NDE2NDY1NzU5Mjc3XSwgWzE2NjM4MTgwMTIuNTM2OTk2OCwgNTIyLCAzLjU3OTUwNDcyODMxNzI2MDddLCBbMTY2MzgxODAxMi44NDA2MjMxLCA1NDksIDMuNDkxMjI2MTk2Mjg5MDYyNV0sIFsxNjYzODE4MDEyLjk2NzcwMywgNTU4LCAzLjQ0NzM1ODEzMTQwODY5MTRdLCBbMTY2MzgxODAxMy4wNTU0NTA0LCA1NjcsIDMuMzQ3MDAzMjIxNTExODQxXSwgWzE2NjM4MTgwMTMuMTQ0MTY3NCwgNTc2LCAzLjM3MjQwNTA1MjE4NTA1ODZdLCBbMTY2MzgxODAxMy4zMzQ4Mjc0LCA1OTQsIDMuMjM5NDM4Mjk1MzY0MzhdLCBbMTY2MzgxODAxMy40MzA1MTg5LCA2MDMsIDMuMjk5MTc0MzA4Nzc2ODU1NV0sIFsxNjYzODE4MDEzLjUyMzcwOCwgNjEyLCAzLjIyMjMxNTA3MzAxMzMwNTddLCBbMTY2MzgxODAxMy42MzMxMTc3LCA2MjEsIDMuMTkwMjE2MzAyODcxNzA0XSwgWzE2NjM4MTgwMTMuODM5ODI1LCA2MzksIDMuMTI3MDE5NDA1MzY0OTkwMl0sIFsxNjYzODE4MDEzLjk0NDcxNzIsIDY0OCwgMy4xNDEwNTYyOTkyMDk1OTQ3XSwgWzE2NjM4MTgwMTQuNTMzNjgzLCA3MDIsIDIuOTM0NDUzOTY0MjMzMzk4NF0sIFsxNjYzODE4MDE0LjcyMzQ1NTcsIDcyMCwgMi45MDIzMzk5MzUzMDI3MzQ0XSwgWzE2NjM4MTgwMTQuOTk1ODQ3LCA3NDcsIDIuODE4OTQ1ODg0NzA0NTldLCBbMTY2MzgxODAxNS4yNjYzMjYyLCA3NzQsIDIuNzY4ODIxMjM5NDcxNDM1NV0sIFsxNjYzODE4MDE1LjYyNTAwOSwgODEwLCAyLjc3NDY3Nzk5MTg2NzA2NTRdLCBbMTY2MzgxODAxNi40ODE1NzcyLCA5MDAsIDIuNTUwNjgwNjM3MzU5NjE5XSwgWzE2NjM4MTgwMTYuNTY3NDYzOSwgOTA5LCAyLjUxODMwMjkxNzQ4MDQ2ODhdLCBbMTY2MzgxODAxNi44NDQ2MTg4LCA5MzYsIDIuNDU2MTAwMjI1NDQ4NjA4NF0sIFsxNjYzODE4MDE3LjEzOTY3NjYsIDk2MywgMi40NTA2NzU5NjQzNTU0Njg4XSwgWzE2NjM4MTgwMTcuMjE5OTEzNSwgOTcyLCAyLjQ3NzgzMDE3MTU4NTA4M10sIFsxNjYzODE4MDE3LjM4NDE0MDMsIDk5MCwgMi40MDMzMDI2Njk1MjUxNDY1XSwgWzE2NjM4MTgwMTcuOTc4NTIxOCwgMTA1MywgMi4yODQ5MjcxMjk3NDU0ODM0XSwgWzE2NjM4MTgwMTguNDI4NTQyNiwgMTA5OCwgMi4yNDY5OTMwNjQ4ODAzNzFdLCBbMTY2MzgxODAxOC43Njg4Mzc3LCAxMTM0LCAyLjM5MzYyNTI1OTM5OTQxNF0sIFsxNjYzODE4MDE4Ljg1NDE1MzksIDExNDMsIDIuNDI2NTUxMzQyMDEwNDk4XSwgWzE2NjM4MTgwMTkuMDI5ODgwNSwgMTE2MSwgMi4xNzEzMjkyNTk4NzI0MzY1XSwgWzE2NjM4MTgwMTkuMzIwMzU1NCwgMTE3OSwgMi4xNTc5MTIwMTU5MTQ5MTddLCBbMTY2MzgxODAxOS42MTM0NjQ0LCAxMTg4LCAyLjE0NTg1MzUxOTQzOTY5NzNdLCBbMTY2MzgxODAyMC4wNTU4NjYsIDEyMzMsIDIuMTc0NjIzMjUwOTYxMzAzN10sIFsxNjYzODE4MDIwLjEzNzQwMjMsIDEyNDIsIDIuMTYzMTg1NTk2NDY2MDY0NV0sIFsxNjYzODE4MDIwLjg0NDQ2NzQsIDEzMDUsIDIuMTA2NDUzMTgwMzEzMTEwNF0sIFsxNjYzODE4MDIxLjA0ODc4NjksIDEzMjMsIDIuMTE5OTU3OTIzODg5MTZdLCBbMTY2MzgxODAyMS4xNTQ1OTI4LCAxMzMyLCAyLjEwNDE4MDU3NDQxNzExNDNdLCBbMTY2MzgxODAyMS40OTM3ODUxLCAxMzU5LCAyLjA5ODUxODM3MTU4MjAzMTJdLCBbMTY2MzgxODAyMi4xMDEwNzIzLCAxNDIyLCAyLjE1MjIwMzA4MzAzODMzXSwgWzE2NjM4MTgwMjIuMzY1NjkzMywgMTQ0OSwgMi4wMzA0ODg0OTEwNTgzNDk2XSwgWzE2NjM4MTgwMjIuNTU3NDg5MiwgMTQ2NywgMi4wMjExMjc0NjIzODcwODVdLCBbMTY2MzgxODAyMi43Mzc4MDQyLCAxNDg1LCAxLjk5NzAwOTM5NjU1MzAzOTZdLCBbMTY2MzgxODAyMy4yNzU2NDgsIDE1MzksIDEuOTgwNzQ0NDgxMDg2NzMxXSwgWzE2NjM4MTgwMjMuMzUxMDI0NiwgMTU0OCwgMS45NzY2Mzc0ODI2NDMxMjc0XSwgWzE2NjM4MTgwMjMuNDQzMjMzNywgMTU1NywgMS45ODk4NDY4MjU1OTk2NzA0XSwgWzE2NjM4MTgwMjMuODY2NzcxNSwgMTU4NCwgMi4wMjE5NDI2MTU1MDkwMzNdLCBbMTY2MzgxODAyNC4wODc0NjEyLCAxNjAyLCAyLjAwNzA2NDgxOTMzNTkzNzVdLCBbMTY2MzgxODAyNC40Mzc5NTE2LCAxNjM4LCAxLjkyOTc2NDg2NjgyODkxODVdLCBbMTY2MzgxODAyNC43MTc4MDI4LCAxNjY1LCAxLjk1MjQyNDY0NTQyMzg4OTJdLCBbMTY2MzgxODAyNC44MDAzMDk0LCAxNjc0LCAxLjkzMDEyMjYxMzkwNjg2MDRdLCBbMTY2MzgxODAyNC44ODUxODkzLCAxNjgzLCAxLjk2MjAxMzYwMjI1Njc3NV0sIFsxNjYzODE4MDI1LjIzNjgzMDIsIDE3MTksIDEuOTk5MTM4NDc0NDY0NDE2NV0sIFsxNjYzODE4MDI1LjMyODk1MSwgMTcyOCwgMi4wODA4NjUxNDQ3Mjk2MTQzXSwgWzE2NjM4MTgwMjUuNDE1MjEyNiwgMTczNywgMS45OTcwNzQxMjcxOTcyNjU2XSwgWzE2NjM4MTgwMjYuMDUyNzU4NSwgMTgwMCwgMS44NzIyMjUwNDYxNTc4MzddLCBbMTY2MzgxODAyNi4zMDQ0MDc4LCAxODI3LCAxLjkyNzA4MTcwNDEzOTcwOTVdLCBbMTY2MzgxODAyNi4zOTIzMDgsIDE4MzYsIDEuODk2NTQyNjY4MzQyNTkwM10sIFsxNjYzODE4MDI2LjQ4MDMzOTMsIDE4NDUsIDEuODc4MDQ3MTA4NjUwMjA3NV0sIFsxNjYzODE4MDI2LjU4MTU5MzMsIDE4NTQsIDEuODk4NjEwNDcyNjc5MTM4Ml0sIFsxNjYzODE4MDI2Ljc1NjQxNDIsIDE4NzIsIDEuODc0OTY4NDA5NTM4MjY5XSwgWzE2NjM4MTgwMjYuOTI5NjIxMiwgMTg5MCwgMS44OTkxMTUwODU2MDE4MDY2XSwgWzE2NjM4MTgwMjcuMTAwNTk2LCAxOTA4LCAxLjkyNTczODgxMTQ5MjkyXSwgWzE2NjM4MTgwMjcuMjc5ODM4OCwgMTkyNiwgMS44NzQ2MTIzMzEzOTAzODA5XSwgWzE2NjM4MTgwMjcuNDQ1MjMxLCAxOTQ0LCAxLjg2MTg3NDkzODAxMTE2OTRdLCBbMTY2MzgxODAyNy41MzU4NDQ2LCAxOTUzLCAxLjg4NDE3MDE3NDU5ODY5MzhdLCBbMTY2MzgxODAyNy45OTQ2NTkyLCAxOTgwLCAxLjg3NDA0MDEyNjgwMDUzN10sIFsxNjYzODE4MDI4LjEzMjYxLCAxOTg5LCAxLjg1NTg3Nzg3NjI4MTczODNdLCBbMTY2MzgxODAyOC4yNDI1MDM0LCAxOTk4LCAxLjgxMTQ4MjkwNjM0MTU1MjddLCBbMTY2MzgxODAyOC41NTkyMDU1LCAyMDI1LCAxLjkzNTQ1OTEzNjk2Mjg5MDZdLCBbMTY2MzgxODAyOS4wMzUyMDc1LCAyMDcwLCAxLjg1MTI1Mzc0Nzk0MDA2MzVdLCBbMTY2MzgxODAyOS45MzgyMjE1LCAyMTYwLCAxLjg1Mjg1ODY2MjYwNTI4NTZdLCBbMTY2MzgxODAzMC4xMDI5MTM0LCAyMTc4LCAxLjgxNzc1MTA0OTk5NTQyMjRdLCBbMTY2MzgxODAzMC4zNTE5MzcsIDIyMDUsIDEuNzgyNjUyNzM1NzEwMTQ0XSwgWzE2NjM4MTgwMzAuNDM0NDc2NiwgMjIxNCwgMS43NzUxNzQyNjAxMzk0NjUzXSwgWzE2NjM4MTgwMzAuNTE4ODY0MiwgMjIyMywgMS43ODgzMjQ0NzUyODgzOTExXSwgWzE2NjM4MTgwMzEuMzI3MzM0LCAyMjk1LCAxLjc5MzQ5NDEwNTMzOTA1MDNdLCBbMTY2MzgxODAzMS43NDEyMDEyLCAyMzMxLCAxLjc0Nzg5MDU5MTYyMTM5OV0sIFsxNjYzODE4MDMxLjgzNDE3NCwgMjM0MCwgMS43NjIwMTY0MTU1OTYwMDgzXSwgWzE2NjM4MTgwMzEuOTIzNzI2NiwgMjM0OSwgMS43NDE4OTgyOTgyNjM1NDk4XSwgWzE2NjM4MTgwMzIuMTM5NDE0LCAyMzY3LCAxLjc4ODE1NDAwNjAwNDMzMzVdLCBbMTY2MzgxODAzMi45NTMwMjQsIDI0MzksIDEuNzU0Mjg4NjczNDAwODc5XSwgWzE2NjM4MTgwMzMuMDQ1MzUzLCAyNDQ4LCAxLjcyNTk4NTg4NDY2NjQ0MjldLCBbMTY2MzgxODAzMy4zMTQ0MzA3LCAyNDc1LCAxLjY5MzIxMTY3NDY5MDI0NjZdLCBbMTY2MzgxODAzMy41MDExNzYsIDI0OTMsIDEuNzE4MzUwMjkxMjUyMTM2Ml0sIFsxNjYzODE4MDMzLjY5MDI0NDIsIDI1MTEsIDEuNzc5OTg0MjM1NzYzNTQ5OF0sIFsxNjYzODE4MDMzLjg3MDM2NywgMjUyOSwgMS43MDA0MTU3MzA0NzYzNzk0XSwgWzE2NjM4MTgwMzQuMDYyNDY4NSwgMjU0NywgMS43MTcxNTUyMTgxMjQzODk2XSwgWzE2NjM4MTgwMzQuMTY3NTAwMywgMjU1NiwgMS43NDAwOTUxMzg1NDk4MDQ3XSwgWzE2NjM4MTgwMzQuNDc1NTU2MSwgMjU3NCwgMS43NDAyNTQxNjM3NDIwNjU0XSwgWzE2NjM4MTgwMzUuMDE0NzMzLCAyNTkyLCAxLjcyNzkzODg5MDQ1NzE1MzNdLCBbMTY2MzgxODAzNS4xMDYwMDc2LCAyNjAxLCAxLjk0MTU0MjAyOTM4MDc5ODNdLCBbMTY2MzgxODAzNS4yOTI4MjQ3LCAyNjE5LCAxLjc1MTE3ODM4MzgyNzIwOTVdLCBbMTY2MzgxODAzNi4xODk0Njg2LCAyNjY0LCAxLjc4NzY4OTA4OTc3NTA4NTRdLCBbMTY2MzgxODAzNi4zMTExNDQsIDI2NzMsIDEuNzAzMzY5MDIxNDE1NzEwNF0sIFsxNjYzODE4MDM2LjQxODczNDMsIDI2ODIsIDEuNjkzNTQ3MTI5NjMxMDQyNV0sIFsxNjYzODE4MDM2LjUwNTAzNCwgMjY5MSwgMS42ODU1NDQxMzMxODYzNDAzXSwgWzE2NjM4MTgwMzcuMzU2NzgwOCwgMjc2MywgMS43MDQ5MTU2NDI3MzgzNDIzXSwgWzE2NjM4MTgwMzcuNTI1OCwgMjc4MSwgMS42NjM1MjEyODk4MjU0Mzk1XSwgWzE2NjM4MTgwMzcuODc0NjM5MywgMjgxNywgMS42NDEyMTYxNTg4NjY4ODIzXSwgWzE2NjM4MTgwMzguMjIzMjY5NSwgMjg1MywgMS42Njg5MzEyNDU4MDM4MzNdLCBbMTY2MzgxODAzOC40MDc0MTUyLCAyODcxLCAxLjY1MjQ1NzQ3NTY2MjIzMTRdLCBbMTY2MzgxODAzOC40OTgxMzgsIDI4ODAsIDEuNjQ5NzYxMzE5MTYwNDYxNF0sIFsxNjYzODE4MDM4Ljc3MTExNTUsIDI5MDcsIDEuNjQxNTg4ODA3MTA2MDE4XSwgWzE2NjM4MTgwMzkuNDE0OTI2MywgMjk3MCwgMS42NDYzMjc2MTQ3ODQyNDA3XSwgWzE2NjM4MTgwMzkuNTkxODUyMiwgMjk4OCwgMS42Mjg2NTUwNzYwMjY5MTY1XSwgWzE2NjM4MTgwMzkuNjg5ODY4LCAyOTk3LCAxLjYzNTkxNzY2MzU3NDIxODhdLCBbMTY2MzgxODA0MC4xMzE4OTQ4LCAzMDQyLCAxLjYzMTI4ODA1MTYwNTIyNDZdLCBbMTY2MzgxODA0MC4yMjkzNDk0LCAzMDUxLCAxLjYyODk5NzIwNjY4NzkyNzJdLCBbMTY2MzgxODA0MC40MDc1MTg2LCAzMDY5LCAxLjYwODUwNjY3OTUzNDkxMl0sIFsxNjYzODE4MDQwLjY3MzY4ODQsIDMwOTYsIDEuNjE4Njg1NzIyMzUxMDc0Ml0sIFsxNjYzODE4MDQwLjg0NjY4NiwgMzExNCwgMS41NzYzMDgxMzEyMTc5NTY1XSwgWzE2NjM4MTgwNDAuOTMyNzI4LCAzMTIzLCAxLjYwOTA3NjYxOTE0ODI1NDRdLCBbMTY2MzgxODA0MS4yODk3MTA4LCAzMTU5LCAxLjU4MDMwMzMxMTM0Nzk2MTRdLCBbMTY2MzgxODA0MS40NTQ3MzA1LCAzMTc3LCAxLjYxNjQ4NDE2NTE5MTY1MDRdLCBbMTY2MzgxODA0MS42MzQyMjk0LCAzMTk1LCAxLjU5ODM2NjE0MTMxOTI3NV0sIFsxNjYzODE4MDQyLjAwMjU4OTIsIDMyMzEsIDEuNTUyMzYzMTU3MjcyMzM4OV0sIFsxNjYzODE4MDQyLjM1MzA3MiwgMzI2NywgMS41NzI5MjUzMjkyMDgzNzRdLCBbMTY2MzgxODA0Mi40NDA2OTE1LCAzMjc2LCAxLjYxOTU3NTg1ODExNjE1XSwgWzE2NjM4MTgwNDIuNTI5MDYxNiwgMzI4NSwgMS41NzUyNTA2MjU2MTAzNTE2XSwgWzE2NjM4MTgwNDIuNjE4NjA4MiwgMzI5NCwgMS42MDc0MDI4MDE1MTM2NzE5XSwgWzE2NjM4MTgwNDIuNzA3ODA5NywgMzMwMywgMS41NzIxMzc4MzI2NDE2MDE2XSwgWzE2NjM4MTgwNDIuNzk3ODYxMywgMzMxMiwgMS41NjgxOTgzMjMyNDk4MTddLCBbMTY2MzgxODA0My4zODUyMTUzLCAzMzc1LCAxLjU1MTk2NDg3OTAzNTk0OTddLCBbMTY2MzgxODA0My42MzM2MTY0LCAzNDAyLCAxLjU1NTMwOTg5MTcwMDc0NDZdLCBbMTY2MzgxODA0My43MTUzNzE4LCAzNDExLCAxLjU0MjM1MTI0NTg4MDEyN10sIFsxNjYzODE4MDQ0LjQxMTAyNDMsIDM0ODMsIDEuNTQxNTMwNzI4MzQwMTQ5XSwgWzE2NjM4MTgwNDQuOTEwMDcsIDM1MTksIDEuNTUzMDM4ODM1NTI1NTEyN10sIFsxNjYzODE4MDQ0Ljk5NTExMjcsIDM1MjgsIDEuNTY0MDU1NDQyODEwMDU4Nl0sIFsxNjYzODE4MDQ1LjA4MTQ4MjQsIDM1MzcsIDEuNTM2MzM0MTU2OTkwMDUxM10sIFsxNjYzODE4MDQ1LjI1MTEzMiwgMzU1NSwgMS41OTg5MzA3MTY1MTQ1ODc0XSwgWzE2NjM4MTgwNDUuNTE5NzQyMywgMzU4MiwgMS41NDQzMTE4ODEwNjUzNjg3XSwgWzE2NjM4MTgwNDUuOTUyMjU0OCwgMzYyNywgMS41NzE2MTQ5ODA2OTc2MzE4XSwgWzE2NjM4MTgwNDYuMTI1NzQzMiwgMzY0NSwgMS40ODkyNTM5OTc4MDI3MzQ0XSwgWzE2NjM4MTgwNDYuNTUzODUsIDM2OTAsIDEuNDkwNTcwMTg3NTY4NjY0Nl0sIFsxNjYzODE4MDQ2Ljg5NzY1MTcsIDM3MjYsIDEuNDkxODg3OTI3MDU1MzU4OV0sIFsxNjYzODE4MDQ2Ljk4ODc2NTcsIDM3MzUsIDEuNTAyMjMzMTQ3NjIxMTU0OF0sIFsxNjYzODE4MDQ3LjA3MzcwNiwgMzc0NCwgMS40ODQyMzk2OTc0NTYzNTk5XSwgWzE2NjM4MTgwNDcuMzM0MzkzNSwgMzc3MSwgMS41Mzk2NzIxMzYzMDY3NjI3XSwgWzE2NjM4MTgwNDcuNjE1NDIyMiwgMzc5OCwgMS41NjQ0MjU1ODc2NTQxMTM4XSwgWzE2NjM4MTgwNDcuNzAzNTA0OCwgMzgwNywgMS42NjI5MTczNzU1NjQ1NzUyXSwgWzE2NjM4MTgwNDcuOTU5NzI5NywgMzgzNCwgMS41MDMwMDEzMzIyODMwMl0sIFsxNjYzODE4MDQ4LjA0NDMxMTMsIDM4NDMsIDEuNTE4MzIyOTQ0NjQxMTEzM10sIFsxNjYzODE4MDQ4LjM5NzY5MzksIDM4NzksIDEuNDg4MzY5OTQxNzExNDI1OF0sIFsxNjYzODE4MDQ4LjgzOTE5NjcsIDM5MjQsIDEuNTIzMjQwMDg5NDE2NTA0XSwgWzE2NjM4MTgwNDguOTI2MTc0OSwgMzkzMywgMS41MTkwNjE5MjMwMjcwMzg2XSwgWzE2NjM4MTgwNDkuMDA3MzA0MiwgMzk0MiwgMS40OTYxOTY4NjYwMzU0NjE0XSwgWzE2NjM4MTgwNDkuMTc1NzI2NCwgMzk2MCwgMS41MDE5NTU3NDc2MDQzNzAxXSwgWzE2NjM4MTgwNDkuMjYyNDM5NSwgMzk2OSwgMS41Mjc0MDk5MTExNTU3MDA3XSwgWzE2NjM4MTgwNDkuMzQ1MzE5NSwgMzk3OCwgMS40NDA1NzUwMDM2MjM5NjI0XSwgWzE2NjM4MTgwNDkuNTEzNzA1NSwgMzk5NiwgMS40NjUwNDA2ODM3NDYzMzhdLCBbMTY2MzgxODA0OS42MDU3NzU0LCA0MDA1LCAxLjUwNjkwMzc2NzU4NTc1NDRdLCBbMTY2MzgxODA0OS44NDIyMTAzLCA0MDIzLCAxLjQ2MDY5MzQ3ODU4NDI4OTZdLCBbMTY2MzgxODA1MC4yNzQyMzU1LCA0MDU5LCAxLjQ5ODM0MTc5ODc4MjM0ODZdLCBbMTY2MzgxODA1MC40OTI5MjIsIDQwNzcsIDEuNDUxOTM4OTg2Nzc4MjU5M10sIFsxNjYzODE4MDUwLjU4NDYzOCwgNDA4NiwgMS40NDY5MTQ5MTEyNzAxNDE2XSwgWzE2NjM4MTgwNTAuNzAzMjY1NCwgNDA5NSwgMS40ODEyODE4NzY1NjQwMjU5XSwgWzE2NjM4MTgwNTAuODk5NDMwNSwgNDExMywgMS40NTk4NzAyMTkyMzA2NTE5XSwgWzE2NjM4MTgwNTEuMjgwODE3MywgNDE0OSwgMS40MzQ5ODM4NDk1MjU0NTE3XSwgWzE2NjM4MTgwNTEuMzcxOTA3LCA0MTU4LCAxLjQ0ODYwMzUxMDg1NjYyODRdLCBbMTY2MzgxODA1MS44MTg1MjY1LCA0MTk0LCAxLjQ2NTQ1NTUzMjA3Mzk3NDZdLCBbMTY2MzgxODA1MS45MTg4NDUyLCA0MjAzLCAxLjQyMzM4Mjg3ODMwMzUyNzhdLCBbMTY2MzgxODA1Mi4xMTU0Mjk5LCA0MjIxLCAxLjQ1Mjc1OTYyMzUyNzUyNjldLCBbMTY2MzgxODA1Mi4yOTY1Mzk1LCA0MjM5LCAxLjQ0MzU1NjY2NjM3NDIwNjVdLCBbMTY2MzgxODA1Mi44NzUyNDk0LCA0Mjc1LCAxLjQ0MjYyMDM5NjYxNDA3NDddLCBbMTY2MzgxODA1Mi45NzQzMjI4LCA0Mjg0LCAxLjQwMzUzNjU1ODE1MTI0NTFdLCBbMTY2MzgxODA1My4yNjAyNTgyLCA0MzExLCAxLjQxNjMyMzE4NDk2NzA0MV0sIFsxNjYzODE4MDUzLjQzNDA4OCwgNDMyOSwgMS40MzU2Mzc4MzE2ODc5MjcyXSwgWzE2NjM4MTgwNTMuNTIzNjI2MywgNDMzOCwgMS40OTk5MTcyNjg3NTMwNTE4XSwgWzE2NjM4MTgwNTMuNjk5MDQ2NCwgNDM1NiwgMS40NjQyODg3MTE1NDc4NTE2XSwgWzE2NjM4MTgwNTMuNzgzODIzLCA0MzY1LCAxLjQyODk2MDgwMDE3MDg5ODRdLCBbMTY2MzgxODA1NC4wNDc4MjksIDQzOTIsIDEuNDExNTgzMDY1OTg2NjMzM10sIFsxNjYzODE4MDU0LjEzMzgyMzIsIDQ0MDEsIDEuNDc1NjY3NDc2NjU0MDUyN10sIFsxNjYzODE4MDU0LjIyODk5NjgsIDQ0MTAsIDEuNTIwOTgyNzQyMzA5NTcwM10sIFsxNjYzODE4MDU0LjM5OTczNzgsIDQ0MjgsIDEuNDA2MjU0MDUzMTE1ODQ0N10sIFsxNjYzODE4MDU0LjY1NjUyMDgsIDQ0NTUsIDEuNDEzMDkzNjg2MTAzODIwOF0sIFsxNjYzODE4MDU1LjA0MjY3MDUsIDQ0OTEsIDEuNDUwMzMzODMzNjk0NDU4XSwgWzE2NjM4MTgwNTUuNDU2NjQzNiwgNDUyNywgMS4zOTg5Mzk5NjcxNTU0NTY1XSwgWzE2NjM4MTgwNTUuNTQ2NjI2MywgNDUzNiwgMS40NjcxNjk3NjE2NTc3MTQ4XSwgWzE2NjM4MTgwNTUuODE4NTY0NywgNDU2MywgMS4zNjI3NzY3NTYyODY2MjFdLCBbMTY2MzgxODA1Ni4wOTI2MTU0LCA0NTkwLCAxLjM4OTQ0NTMwNDg3MDYwNTVdLCBbMTY2MzgxODA1Ni4xNzc2ODA3LCA0NTk5LCAxLjM5NTUyOTE1MDk2MjgyOTZdLCBbMTY2MzgxODA1Ni4yNzY2NTE0LCA0NjA4LCAxLjM5NDk4NzcwMjM2OTY5XSwgWzE2NjM4MTgwNTYuMzYzNzk3NywgNDYxNywgMS40NjI4ODM1OTE2NTE5MTY1XSwgWzE2NjM4MTgwNTYuNDQ5NjEzLCA0NjI2LCAxLjQwOTM0NzY1MzM4ODk3N10sIFsxNjYzODE4MDU2LjUzODc2NCwgNDYzNSwgMS4zOTk3MDc2NzQ5ODAxNjM2XSwgWzE2NjM4MTgwNTYuODA5NjE1MSwgNDY2MiwgMS4zNjgwNDg3ODcxMTcwMDQ0XSwgWzE2NjM4MTgwNTYuOTAyNzkzLCA0NjcxLCAxLjM4MzM3NTUyNTQ3NDU0ODNdLCBbMTY2MzgxODA1Ny4wMDAxNTMzLCA0NjgwLCAxLjQwMzQ2NjU4MjI5ODI3ODhdLCBbMTY2MzgxODA1Ny4xMTQ5MjgyLCA0Njg5LCAxLjQxNzgyNDAyOTkyMjQ4NTRdLCBbMTY2MzgxODA1Ny40MDA2NiwgNDcxNiwgMS4zNTc1ODI5MjY3NTAxODNdLCBbMTY2MzgxODA1OC4wMjYyNTUxLCA0Nzc5LCAxLjM2MTkxNzQ5NTcyNzUzOV0sIFsxNjYzODE4MDU4LjM1MzA5OSwgNDgwNiwgMS4zNzk5ODI0NzE0NjYwNjQ1XSwgWzE2NjM4MTgwNTguNDcyNDI5OCwgNDgxNSwgMS40NDQ4MTA4NjczMDk1NzAzXSwgWzE2NjM4MTgwNTguNjc5Nzk5OCwgNDgzMywgMS4zODIzMTI2NTU0NDg5MTM2XSwgWzE2NjM4MTgwNTguNzY3NTA4NSwgNDg0MiwgMS40Mjg3MTY0MjExMjczMTkzXSwgWzE2NjM4MTgwNTguODU2MTk0NywgNDg1MSwgMS4zODgwNjIyMzg2OTMyMzczXSwgWzE2NjM4MTgwNTkuMDkxMTc2NywgNDg2OSwgMS40NDg1NzU2MTU4ODI4NzM1XSwgWzE2NjM4MTgwNTkuMzE0MTQwMywgNDg4NywgMS4zOTE5MDY2MTkwNzE5NjA0XSwgWzE2NjM4MTgwNTkuNTAxOTAyNiwgNDkwNSwgMS4zNDc1MjY1NTAyOTI5Njg4XSwgWzE2NjM4MTgwNTkuNzAzMTQ3LCA0OTIzLCAxLjMzMjM0NDY1MTIyMjIyOV0sIFsxNjYzODE4MDU5LjgxMjUxNDgsIDQ5MzIsIDEuMzQyMTYzNDQzNTY1MzY4N10sIFsxNjYzODE4MDYwLjEwMTUzMTcsIDQ5NTksIDEuNDI0NTM3NTM5NDgyMTE2N10sIFsxNjYzODE4MDYwLjI4NjY2OTUsIDQ5NzcsIDEuNDA3OTA4NTU4ODQ1NTJdLCBbMTY2MzgxODA2MC41OTU0MjUxLCA1MDA0LCAxLjM1MjE3MTU0MDI2MDMxNV0sIFsxNjYzODE4MDYwLjcwNjA1NTYsIDUwMTMsIDEuMzI4MzU3MTAwNDg2NzU1NF0sIFsxNjYzODE4MDYxLjQ0ODQzMDMsIDUwNjcsIDEuMzQ2NzQxNjc2MzMwNTY2NF0sIFsxNjYzODE4MDYxLjU0MjMwMTIsIDUwNzYsIDEuMzI5Nzc3MDAyMzM0NTk0N10sIFsxNjYzODE4MDYxLjY0MTAyNDgsIDUwODUsIDEuMzY5NTg2MzQ4NTMzNjMwNF0sIFsxNjYzODE4MDYyLjAzMjYxNDIsIDUxMjEsIDEuMzI0NDE3ODI5NTEzNTQ5OF0sIFsxNjYzODE4MDYyLjMzNjc5MzIsIDUxNDgsIDEuMzMzNDgwMTE5NzA1MjAwMl0sIFsxNjYzODE4MDYyLjUyOTkzOTcsIDUxNjYsIDEuMzQwNzA1Mzk0NzQ0ODczXSwgWzE2NjM4MTgwNjIuODI5NTM2NCwgNTE5MywgMS4zNDEyMjcyOTMwMTQ1MjY0XSwgWzE2NjM4MTgwNjMuMjM0NzQyOSwgNTIyOSwgMS4zMjUwNTk0MTM5MDk5MTJdLCBbMTY2MzgxODA2My41OTc4NjM0LCA1MjY1LCAxLjMzNTExODUzMjE4MDc4NjFdLCBbMTY2MzgxODA2My42ODM1MzkyLCA1Mjc0LCAxLjM2ODY1NTkyMDAyODY4NjVdLCBbMTY2MzgxODA2My43NzE1NTMsIDUyODMsIDEuNDEwMzI2ODM4NDkzMzQ3Ml0sIFsxNjYzODE4MDYzLjk0Njg4MTUsIDUzMDEsIDEuMzg1MDY5NjA4Njg4MzU0NV0sIFsxNjYzODE4MDY0LjEyNjM2MSwgNTMxOSwgMS4zMzE5MDgzNDUyMjI0NzMxXSwgWzE2NjM4MTgwNjQuMjUzMTgxMiwgNTMyOCwgMS4zNjAwMTg4NDkzNzI4NjM4XSwgWzE2NjM4MTgwNjQuMzU0ODAzLCA1MzM3LCAxLjMzNjQ4MDAyMTQ3Njc0NTZdLCBbMTY2MzgxODA2NC41MzA1ODM0LCA1MzU1LCAxLjMyODc2ODczMDE2MzU3NDJdLCBbMTY2MzgxODA2NC43MjAzOTksIDUzNzMsIDEuMzAzODg3MjQ4MDM5MjQ1Nl0sIFsxNjYzODE4MDY0Ljg4Njk2MSwgNTM5MSwgMS4zMjY1NzA3NDkyODI4MzddLCBbMTY2MzgxODA2NC45NzIyNzYsIDU0MDAsIDEuMjk1NTQ5MjczNDkwOTA1OF0sIFsxNjYzODE4MDY1LjIzNTQ3MDMsIDU0MjcsIDEuMzAzODkxODk3MjAxNTM4XSwgWzE2NjM4MTgwNjUuMzUzODIzMiwgNTQzNiwgMS4zMDQyMDE2MDI5MzU3OTFdLCBbMTY2MzgxODA2NS44NzAxMzcsIDU0ODEsIDEuMzE3MTQ4ODA0NjY0NjExOF0sIFsxNjYzODE4MDY2LjA1MDI0NzcsIDU0OTksIDEuMzMxMjg5ODg3NDI4MjgzN10sIFsxNjYzODE4MDY2LjMzNzY5LCA1NTI2LCAxLjI4OTIwMzI4NjE3MDk1OTVdLCBbMTY2MzgxODA2Ni40Mjg4NjE2LCA1NTM1LCAxLjMxNzYyMDg3MzQ1MTIzM10sIFsxNjYzODE4MDY2LjYzMTM5ODcsIDU1NTMsIDEuMjYzMjAzODU5MzI5MjIzNl0sIFsxNjYzODE4MDY2LjgxMDIxNTcsIDU1NzEsIDEuMzU4MzAxOTk3MTg0NzUzNF0sIFsxNjYzODE4MDY2Ljk3NjUyNjcsIDU1ODksIDEuMzE5ODU1ODA5MjExNzMxXSwgWzE2NjM4MTgwNjcuMTU0NDI5NywgNTYwNywgMS4zMDEzOTE4Mzk5ODEwNzldLCBbMTY2MzgxODA2Ny4yNDAwMDA3LCA1NjE2LCAxLjMwMTU5MjIzMDc5NjgxNF0sIFsxNjYzODE4MDY3LjQ5OTI0ODMsIDU2NDMsIDEuMzE2NDY3ODgxMjAyNjk3OF0sIFsxNjYzODE4MDY3LjY3NTE2MiwgNTY2MSwgMS4yNTk2MzMzMDI2ODg1OTg2XSwgWzE2NjM4MTgwNjcuNzcxNzI2NCwgNTY3MCwgMS4yOTUwMTA1NjY3MTE0MjU4XSwgWzE2NjM4MTgwNjguMTE4NjQ0LCA1NzA2LCAxLjI5NzQyMDUwMTcwODk4NDRdLCBbMTY2MzgxODA2OC40NjkyNzQzLCA1NzQyLCAxLjMxMTM0MDQ1MTI0MDUzOTZdLCBbMTY2MzgxODA2OC43NDg2ODUsIDU3NjksIDEuMzM4NTc4MTA0OTcyODM5NF0sIFsxNjYzODE4MDY4LjgzMzA4OCwgNTc3OCwgMS4yNTgwOTQxOTE1NTEyMDg1XSwgWzE2NjM4MTgwNjguOTE3MDI3MiwgNTc4NywgMS4yNzI4NTg2MTk2ODk5NDE0XSwgWzE2NjM4MTgwNjguOTk5MzEwNSwgNTc5NiwgMS4zNDcwNzExNzA4MDY4ODQ4XSwgWzE2NjM4MTgwNjkuMDkwMTk2MSwgNTgwNSwgMS4zNjIwNTgwNDM0Nzk5MTk0XSwgWzE2NjM4MTgwNjkuNjc4ODI1MSwgNTg1MCwgMS4yNTczNzg1NzgxODYwMzUyXSwgWzE2NjM4MTgwNjkuODczMTUxMywgNTg2OCwgMS4zNTg2Njg5MjMzNzc5OTA3XSwgWzE2NjM4MTgwNjkuOTU2NDM0LCA1ODc3LCAxLjMwNjg4MDQ3NDA5MDU3NjJdLCBbMTY2MzgxODA3MC4xMjE4OTM0LCA1ODk1LCAxLjI3MjAwNDM2NTkyMTAyMDVdLCBbMTY2MzgxODA3MC4yMTE3ODMyLCA1OTA0LCAxLjI4MTgwODQ5NTUyMTU0NTRdLCBbMTY2MzgxODA3MC40NzAzMzksIDU5MzEsIDEuMjUxNTkxMzI0ODA2MjEzNF0sIFsxNjYzODE4MDcwLjY0MTU1MjcsIDU5NDksIDEuMjgyNjAzODU5OTAxNDI4Ml0sIFsxNjYzODE4MDcxLjI3Mzc5NzgsIDYwMTIsIDEuMzI1OTQ0NjYyMDk0MTE2Ml0sIFsxNjYzODE4MDcxLjUzMzI1OTYsIDYwMzksIDEuMzU2MDM5Mjg1NjU5NzldLCBbMTY2MzgxODA3MS45NzQ5Mzg0LCA2MDg0LCAxLjMwNjM3NTYyMjc0OTMyODZdLCBbMTY2MzgxODA3Mi4wNjI5MjM0LCA2MDkzLCAxLjI1MDAzNDA5Mzg1NjgxMTVdLCBbMTY2MzgxODA3Mi4xNTAyMzczLCA2MTAyLCAxLjI4NDY3MTc4MzQ0NzI2NTZdLCBbMTY2MzgxODA3Mi40MTA0ODE3LCA2MTI5LCAxLjI5NjAzMDA0NDU1NTY2NF0sIFsxNjYzODE4MDcyLjU4MzUyNzMsIDYxNDcsIDEuMjQ5MzE1NTAwMjU5Mzk5NF0sIFsxNjYzODE4MDcyLjY2NzQ4NDgsIDYxNTYsIDEuMjc3MTkxOTk2NTc0NDAxOV0sIFsxNjYzODE4MDcyLjc1MjA2OTcsIDYxNjUsIDEuMjc0NTEwMDI1OTc4MDg4NF0sIFsxNjYzODE4MDczLjAwNjE1NzQsIDYxOTIsIDEuMjQ3ODcxOTk0OTcyMjI5XSwgWzE2NjM4MTgwNzMuNDQzNjYyNiwgNjIzNywgMS4zMDAzMzgwMjk4NjE0NTAyXSwgWzE2NjM4MTgwNzMuNjA3ODYxLCA2MjU1LCAxLjI0Njg0MDQ3Njk4OTc0Nl0sIFsxNjYzODE4MDczLjc4NzM5LCA2MjczLCAxLjI2NTk4Mjg2NjI4NzIzMTRdLCBbMTY2MzgxODA3My44NzkyNDE1LCA2MjgyLCAxLjI2NTEwNzg3MDEwMTkyODddLCBbMTY2MzgxODA3NC4xMjAzNDQ2LCA2MzAwLCAxLjI1OTQwNDY1OTI3MTI0MDJdLCBbMTY2MzgxODA3NC40MDA2MzQ4LCA2MzI3LCAxLjI4Njk1ODY5NDQ1ODAwNzhdLCBbMTY2MzgxODA3NC40OTE5OTM3LCA2MzM2LCAxLjI3ODM0NjY1Nzc1Mjk5MDddLCBbMTY2MzgxODA3NC42NjAzODMyLCA2MzU0LCAxLjIzOTYxOTEzNTg1NjYyODRdLCBbMTY2MzgxODA3NC45OTY0NjcsIDYzOTAsIDEuMjgyMjE2MzEwNTAxMDk4Nl0sIFsxNjYzODE4MDc1LjA4MjMwOTcsIDYzOTksIDEuMjIyOTgxNjkxMzYwNDczNl0sIFsxNjYzODE4MDc1LjI0MzY4NjIsIDY0MTcsIDEuMjY3OTE1NDg3Mjg5NDI4N10sIFsxNjYzODE4MDc1LjQ4NjY1NjQsIDY0NDQsIDEuMjk3NjMzNjQ3OTE4NzAxMl0sIFsxNjYzODE4MDc1LjY1MTczNSwgNjQ2MiwgMS4yMjQ3MTI2MTAyNDQ3NTFdLCBbMTY2MzgxODA3NS45MTkxMjA4LCA2NDg5LCAxLjI2NTkyNjgzNzkyMTE0MjZdLCBbMTY2MzgxODA3Ni4wMTAwMTc5LCA2NDk4LCAxLjIyOTE3MTYzMzcyMDM5OF0sIFsxNjYzODE4MDc2LjE4Nzk2NjMsIDY1MTYsIDEuMjU4ODYxNTQxNzQ4MDQ2OV0sIFsxNjYzODE4MDc2LjM2MTE2MiwgNjUzNCwgMS4yNTAwNjQzNzMwMTYzNTc0XSwgWzE2NjM4MTgwNzYuNDQwMTIzLCA2NTQzLCAxLjI3NzEzMDcyMjk5OTU3MjhdLCBbMTY2MzgxODA3Ni42MTIzNTEsIDY1NjEsIDEuMjczMTQ0NjAyNzc1NTczN10sIFsxNjYzODE4MDc2LjY5NzM0NjIsIDY1NzAsIDEuMjYzMTU4Njc5MDA4NDgzOV0sIFsxNjYzODE4MDc2Ljg3NTk4NTEsIDY1ODgsIDEuMjkwOTk5MjkzMzI3MzMxNV0sIFsxNjYzODE4MDc2Ljk2NDU4MjcsIDY1OTcsIDEuMjgzNzg4MjA0MTkzMTE1Ml0sIFsxNjYzODE4MDc3LjA2ODQ2MjYsIDY2MDYsIDEuMjQwMjUwOTQ1MDkxMjQ3Nl0sIFsxNjYzODE4MDc3LjczNDQ5MzMsIDY2NTEsIDEuMjk0Mjk4MjkxMjA2MzU5OV0sIFsxNjYzODE4MDc4LjIyOTgwNjIsIDY2ODcsIDEuMjE4NzYzOTQ3NDg2ODc3NF0sIFsxNjYzODE4MDc4LjMyMjk5OTUsIDY2OTYsIDEuMjMyNjYxMjQ3MjUzNDE4XSwgWzE2NjM4MTgwNzguNDA2NDMxMiwgNjcwNSwgMS4yNjc0MjQ1ODM0MzUwNTg2XSwgWzE2NjM4MTgwNzkuNTEyMTM4MSwgNjgxMywgMS4yODI4NTI3Njg4OTgwMTAzXSwgWzE2NjM4MTgwNzkuNjg5MDczMywgNjgzMSwgMS4yOTA4NTY0ODA1OTg0NDk3XSwgWzE2NjM4MTgwODAuMjEyNjkzNSwgNjg4NSwgMS4yNzEwOTI2NTMyNzQ1MzYxXSwgWzE2NjM4MTgwODAuMjk2ODI5NSwgNjg5NCwgMS4yMzk4MzA3MzIzNDU1ODFdLCBbMTY2MzgxODA4MC42MzAwODQzLCA2OTIxLCAxLjI2MjgzNTI2NDIwNTkzMjZdLCBbMTY2MzgxODA4MC43MzExMzUxLCA2OTMwLCAxLjI1NTc0MjMxMTQ3NzY2MTFdLCBbMTY2MzgxODA4MS4wMjQ5Mzc0LCA2OTU3LCAxLjE5Mjc4MzM1NTcxMjg5MDZdLCBbMTY2MzgxODA4MS4zMjAwMjI4LCA2OTg0LCAxLjIwNjc0ODI0NzE0NjYwNjRdLCBbMTY2MzgxODA4MS40MDUzMzU3LCA2OTkzLCAxLjIzMTA2MTQ1ODU4NzY0NjVdLCBbMTY2MzgxODA4MS41ODg0MjE4LCA3MDExLCAxLjIzOTkxMzU4MjgwMTgxODhdLCBbMTY2MzgxODA4MS42NzMzMTg5LCA3MDIwLCAxLjI1NzQ1MzkxODQ1NzAzMTJdLCBbMTY2MzgxODA4MS43NjI3NTUyLCA3MDI5LCAxLjI3NDA3NjkzODYyOTE1MDRdLCBbMTY2MzgxODA4MS44NDU5ODA0LCA3MDM4LCAxLjIzMzU5NTk2NzI5Mjc4NTZdLCBbMTY2MzgxODA4MS45Mzg3MjgsIDcwNDcsIDEuMjA5NTQxMzIwODAwNzgxMl0sIFsxNjYzODE4MDgyLjQ5MzM5MSwgNzEwMSwgMS4yMTQyNjAxMDEzMTgzNTk0XSwgWzE2NjM4MTgwODIuODAyMTA5NywgNzEyOCwgMS4yMDU1NDA3NzYyNTI3NDY2XSwgWzE2NjM4MTgwODQuMDE0MzA5NiwgNzI0NSwgMS4yMDYyNjczNTY4NzI1NTg2XSwgWzE2NjM4MTgwODQuMTA0MTI0MywgNzI1NCwgMS4yNDc4NDM3NDIzNzA2MDU1XSwgWzE2NjM4MTgwODQuMTkyMjU1NSwgNzI2MywgMS4yMTA0MzM4NDA3NTE2NDhdLCBbMTY2MzgxODA4NC4yNzU0MTgsIDcyNzIsIDEuMjYxMDI2MDI0ODE4NDIwNF0sIFsxNjYzODE4MDg0LjU4MDk3NTgsIDcyOTksIDEuMjQzNTk0NDA4MDM1Mjc4M10sIFsxNjYzODE4MDg1LjI4NDM4NywgNzM3MSwgMS4yMzc0NjY2OTI5MjQ0OTk1XSwgWzE2NjM4MTgwODUuNTMxNTQ1OSwgNzM4MCwgMS4yMjI3NzY0MTI5NjM4NjcyXSwgWzE2NjM4MTgwODYuMjQ4OTksIDc0NTIsIDEuMjQxNzkyNTU5NjIzNzE4M10sIFsxNjYzODE4MDg2LjM1MjIxNTgsIDc0NjEsIDEuMjE3MjA5Njk2NzY5NzE0NF0sIFsxNjYzODE4MDg2Ljc3Njc5NTQsIDc0OTcsIDEuMjE5ODQ5NTg2NDg2ODE2NF0sIFsxNjYzODE4MDg2Ljg3ODMyNSwgNzUwNiwgMS4yNTk3NTE0MzkwOTQ1NDM1XSwgWzE2NjM4MTgwODcuMDk0NzM3LCA3NTI0LCAxLjI0NjQ4MTY1NzAyODE5ODJdLCBbMTY2MzgxODA4Ny4xODQ2NDM1LCA3NTMzLCAxLjI0MDM0NzYyMzgyNTA3MzJdLCBbMTY2MzgxODA4Ny4yNzgwOTEyLCA3NTQyLCAxLjIyMjkxNTI5MTc4NjE5MzhdLCBbMTY2MzgxODA4Ny40NDgyMiwgNzU2MCwgMS4yMTEyNjI5NDEzNjA0NzM2XSwgWzE2NjM4MTgwODcuNTM2NTU5OCwgNzU2OSwgMS4yMjU3NzU1OTk0Nzk2NzUzXSwgWzE2NjM4MTgwODcuNzk1MTI1LCA3NTk2LCAxLjI3NzMzMDI3OTM1MDI4MDhdLCBbMTY2MzgxODA4Ny45ODc3MDgzLCA3NjE0LCAxLjIzODUxOTU0OTM2OTgxMl0sIFsxNjYzODE4MDg4LjQ0NzgxNjgsIDc2NTksIDEuMzA2NzQ4OTg2MjQ0MjAxN10sIFsxNjYzODE4MDg4LjUzNjM5NjUsIDc2NjgsIDEuMzY0MDA2NzU3NzM2MjA2XSwgWzE2NjM4MTgwODguODMwMDQsIDc2OTUsIDEuMjM1NjM4MDIyNDIyNzkwNV0sIFsxNjYzODE4MDg5LjExMTgxNDMsIDc3MjIsIDEuMjM3MjQyODE3ODc4NzIzMV0sIFsxNjYzODE4MDg5LjM5NTA3MzIsIDc3NDksIDEuMjMzMDI3ODE1ODE4Nzg2Nl0sIFsxNjYzODE4MDg5LjU3MDMyNDIsIDc3NjcsIDEuMTk3Mjc3NjY1MTM4MjQ0Nl0sIFsxNjYzODE4MDg5Ljg5MDA3MzUsIDc3OTQsIDEuMjQ2Njg2MTAwOTU5Nzc3OF0sIFsxNjYzODE4MDg5Ljk5MDIzNTgsIDc4MDMsIDEuMjAwMjgyMjE2MDcyMDgyNV0sIFsxNjYzODE4MDkwLjM5MjQ2NDYsIDc4MzksIDEuMjc3ODg4MDU5NjE2MDg4OV0sIFsxNjYzODE4MDkwLjQ5MDAwODgsIDc4NDgsIDEuMjg0NzAxODI0MTg4MjMyNF0sIFsxNjYzODE4MDkxLjgyNDM5MywgNzk2NSwgMS4yMDQ0NjI0MDkwMTk0NzAyXSwgWzE2NjM4MTgwOTEuOTE0NDc1MiwgNzk3NCwgMS4yNDE1MTIyOTg1ODM5ODQ0XSwgWzE2NjM4MTgwOTIuMDA3NDE1NSwgNzk4MywgMS4yMzI3MTQ1MzM4MDU4NDcyXSwgWzE2NjM4MTgwOTIuMzcyNTg3LCA4MDE5LCAxLjI0ODI2NjgxNjEzOTIyMTJdLCBbMTY2MzgxODA5Mi41NDY1OTI1LCA4MDM3LCAxLjIzMjI4OTQzMzQ3OTMwOV0sIFsxNjYzODE4MDkyLjg3ODIxLCA4MDY0LCAxLjIxMzQ5NzYzODcwMjM5MjZdLCBbMTY2MzgxODA5My4wOTg0OTE3LCA4MDgyLCAxLjIyMTIyMjI4MTQ1NTk5MzddLCBbMTY2MzgxODA5My4xODU0NTA4LCA4MDkxLCAxLjI0MzYxOTMyMjc3Njc5NDRdLCBbMTY2MzgxODA5My41MDg0NTkzLCA4MTE4LCAxLjE5MTg4NTM1MjEzNDcwNDZdLCBbMTY2MzgxODA5My42MjM5NjU1LCA4MTI3LCAxLjE5NzM1ODM2OTgyNzI3MDVdLCBbMTY2MzgxODA5NC4zMTEyNzc5LCA4MTcyLCAxLjIxOTQ5NDU4MTIyMjUzNDJdLCBbMTY2MzgxODA5NC40MzEwNDYyLCA4MTgxLCAxLjI3MDExODgzMjU4ODE5NThdLCBbMTY2MzgxODA5NC42MzkzNCwgODE5OSwgMS4yNDQxODQ2MTMyMjc4NDQyXSwgWzE2NjM4MTgwOTQuNzQ1MDAwNCwgODIwOCwgMS4yNDA2MjEwODk5MzUzMDI3XSwgWzE2NjM4MTgwOTUuMDY4ODk0OSwgODIzNSwgMS4xODU2MDI3ODQxNTY3OTkzXSwgWzE2NjM4MTgwOTUuNDg1MjI4OCwgODI3MSwgMS4xNzc0MDM2ODg0MzA3ODYxXSwgWzE2NjM4MTgwOTUuNTY5NDY5LCA4MjgwLCAxLjIxMTQyMzUxNjI3MzQ5ODVdLCBbMTY2MzgxODA5NS43NTA1MDQ3LCA4Mjk4LCAxLjIxNDY1Mzk2ODgxMTAzNTJdLCBbMTY2MzgxODA5NS45NjkyMTEsIDgzMTYsIDEuMjA1NDE0NDE0NDA1ODIyOF0sIFsxNjYzODE4MDk2LjUxMDEzNDcsIDgzNjEsIDEuMjEzNzA2MjU0OTU5MTA2NF0sIFsxNjYzODE4MDk2LjcwNTcyNzMsIDgzNzksIDEuMjEzMDU3MDQxMTY4MjEzXSwgWzE2NjM4MTgwOTYuNzkyNjM2NiwgODM4OCwgMS4xOTgyODQ4NjQ0MjU2NTkyXSwgWzE2NjM4MTgwOTYuODc4NDg0NSwgODM5NywgMS4xOTgxNzY3NDE2MDAwMzY2XSwgWzE2NjM4MTgwOTcuMTQxMzc0OCwgODQyNCwgMS4zMTYxNzc0ODczNzMzNTJdLCBbMTY2MzgxODA5Ny40ODI0NTA3LCA4NDYwLCAxLjE4NzA5Mjc4MTA2Njg5NDVdLCBbMTY2MzgxODA5Ny42NjIyMTMzLCA4NDc4LCAxLjE4MDAyODY3Njk4NjY5NDNdLCBbMTY2MzgxODA5Ny43NjU1MjUzLCA4NDg3LCAxLjE4NDUxNTk1MzA2Mzk2NDhdLCBbMTY2MzgxODA5OC4wNjM0MzcsIDg1MTQsIDEuMTkxMDMyMDUyMDQwMV0sIFsxNjYzODE4MDk4LjQ0MDI3NzgsIDg1NTAsIDEuMzE2NzY3NDU0MTQ3MzM4OV0sIFsxNjYzODE4MDk4LjcxNjg0NzQsIDg1NzcsIDEuMTc3MTUyMDM3NjIwNTQ0NF0sIFsxNjYzODE4MDk5LjAxMzc2NzIsIDg2MDQsIDEuMjE5Mjg0NjUzNjYzNjM1M10sIFsxNjYzODE4MDk5LjExNTIzNzcsIDg2MTMsIDEuMTk5ODM3OTIzMDQ5OTI2OF0sIFsxNjYzODE4MDk5LjQ5NTA4NTcsIDg2NDksIDEuMTczMDEwMjMwMDY0MzkyXSwgWzE2NjM4MTgwOTkuNjkzMDU3LCA4NjY3LCAxLjE3NDg5NjcxNzA3MTUzMzJdLCBbMTY2MzgxODA5OS44MDk0MjI3LCA4Njc2LCAxLjE3NjE4MDM2MjcwMTQxNl0sIFsxNjYzODE4MTAwLjAwNDU1NTUsIDg2OTQsIDEuMjcxOTcyODk0NjY4NTc5XSwgWzE2NjM4MTgxMDAuMjE3NTI5OCwgODcxMiwgMS4yNjIxNzI5MzczOTMxODg1XSwgWzE2NjM4MTgxMDAuMzE3NDkyMiwgODcyMSwgMS4yNzE3NDQ4NDcyOTc2Njg1XSwgWzE2NjM4MTgxMDAuNjI2MTA4NCwgODc0OCwgMS4yMzE4MDQ4NDc3MTcyODUyXSwgWzE2NjM4MTgxMDEuMTY4Njc5NywgODc5MywgMS4xODg5MjE0NTE1Njg2MDM1XSwgWzE2NjM4MTgxMDEuMzM2OTM1MywgODgxMSwgMS4yMDQxODA3MTc0NjgyNjE3XSwgWzE2NjM4MTgxMDEuNDIyNTY5OCwgODgyMCwgMS4xODE4OTA2MDY4ODAxODhdLCBbMTY2MzgxODEwMS42NzY1ODM4LCA4ODQ3LCAxLjI1MzAyNjI0NzAyNDUzNjFdLCBbMTY2MzgxODEwMi4xMzU5MjkzLCA4ODgzLCAxLjIyMzIxMjU5OTc1NDMzMzVdLCBbMTY2MzgxODEwMi41NTU1NDI3LCA4OTE5LCAxLjIwODM5MzA5NjkyMzgyODFdLCBbMTY2MzgxODEwMi45NDU0OTksIDg5MzcsIDEuMjMzNzY4OTM5OTcxOTIzOF0sIFsxNjYzODE4MTAzLjE0OTQzNzQsIDg5NTUsIDEuMjM2OTA5NzQ3MTIzNzE4M10sIFsxNjYzODE4MTAzLjM3OTE4MjYsIDg5NzMsIDEuMjQ1MTY5MDQzNTQwOTU0Nl0sIFsxNjYzODE4MTAzLjU2OTI1MiwgODk5MSwgMS4xOTc5ODE3MTUyMDIzMzE1XSwgWzE2NjM4MTgxMDMuNjU0MzQ4NiwgOTAwMCwgMS4yMzY5NzMxNjY0NjU3NTkzXSwgWzE2NjM4MTgxMDMuOTU3ODA1MiwgOTAyNywgMS4xNzY2NTQ4MTU2NzM4MjgxXSwgWzE2NjM4MTgxMDQuMDQ3MDc0MywgOTAzNiwgMS4xNzQ4NTk4ODE0MDEwNjJdLCBbMTY2MzgxODEwNC4xNDI0OTE2LCA5MDQ1LCAxLjI0NzQzNTA5MjkyNjAyNTRdLCBbMTY2MzgxODEwNC4zMjk2NTg1LCA5MDYzLCAxLjE5NjE4NTIzMTIwODgwMTNdLCBbMTY2MzgxODEwNC44NDI5MzM3LCA5MTA4LCAxLjE4NDA4OTc3OTg1MzgyMDhdLCBbMTY2MzgxODEwNS4wMzE1ODA0LCA5MTI2LCAxLjI1MzU5ODMzMjQwNTA5MDNdLCBbMTY2MzgxODEwNS4yMzU3NDEsIDkxNDQsIDEuMjYyOTUzODc3NDQ5MDM1Nl0sIFsxNjYzODE4MTA1Ljg4NTU3LCA5MjA3LCAxLjE3NTEzMzIyODMwMjAwMl0sIFsxNjYzODE4MTA2LjIyNjUwMzQsIDkyNDMsIDEuMjYzMjcyODgxNTA3ODczNV0sIFsxNjYzODE4MTA2LjQxNzgwMjgsIDkyNjEsIDEuMzAwNDkxMDk0NTg5MjMzNF0sIFsxNjYzODE4MTA2LjUxMDEyNzgsIDkyNzAsIDEuMTk5MTk3MjkyMzI3ODgwOV0sIFsxNjYzODE4MTA3LjA1NTYwODMsIDkzMjQsIDEuMTc2MTQ0MjQyMjg2NjgyMV0sIFsxNjYzODE4MTA3LjEzODkwNCwgOTMzMywgMS4xNDk5NzM5ODg1MzMwMl0sIFsxNjYzODE4MTA3LjIyMTA5MDgsIDkzNDIsIDEuMjE3MzI1OTI1ODI3MDI2NF0sIFsxNjYzODE4MTA3LjMwMDY5NjQsIDkzNTEsIDEuMjY5Njk4NzM5MDUxODE4OF0sIFsxNjYzODE4MTA3LjM4MTEwMywgOTM2MCwgMS4yODMxODQwNTE1MTM2NzE5XSwgWzE2NjM4MTgxMDcuNzU2NTE0LCA5Mzk2LCAxLjE5ODY1MjYyNTA4MzkyMzNdLCBbMTY2MzgxODEwOC4wMTI4NjU4LCA5NDIzLCAxLjE4NTQ4MTkwNTkzNzE5NDhdLCBbMTY2MzgxODEwOC44OTIzMTIzLCA5NTEzLCAxLjI0NjIwMjgyNjQ5OTkzOV0sIFsxNjYzODE4MTA5LjA3MTQ3NzcsIDk1MzEsIDEuMTc4NjYxNTg0ODU0MTI2XSwgWzE2NjM4MTgxMDkuMTU3NjY1NywgOTU0MCwgMS4xODAwMjA0NTE1NDU3MTUzXSwgWzE2NjM4MTgxMDkuMjQ0MDIxNywgOTU0OSwgMS4xNzQxNjgyMjkxMDMwODg0XSwgWzE2NjM4MTgxMDkuNDMzNzI2OCwgOTU2NywgMS4yMjA0MDE3NjM5MTYwMTU2XSwgWzE2NjM4MTgxMDkuNzA3MTA4MywgOTU5NCwgMS4yNjM4ODA0OTEyNTY3MTM5XSwgWzE2NjM4MTgxMDkuOTQ0NzkzLCA5NjEyLCAxLjE5MTc4ODA3NzM1NDQzMTJdLCBbMTY2MzgxODExMC4xNzk4ODY2LCA5NjMwLCAxLjI2ODUyNTAwNDM4NjkwMTldLCBbMTY2MzgxODExMC4yOTAxMjAxLCA5NjM5LCAxLjI4MjE4MTI2Mjk2OTk3MDddLCBbMTY2MzgxODExMC40MTg3LCA5NjQ4LCAxLjE4NjMzMzc3NTUyMDMyNDddLCBbMTY2MzgxODExMC41NDExODEsIDk2NTcsIDEuMTgxNzYyOTMzNzMxMDc5XSwgWzE2NjM4MTgxMTAuNjQxNTYzNywgOTY2NiwgMS4xNzM2NzY0OTA3ODM2OTE0XSwgWzE2NjM4MTgxMTAuNzQ3MjI2LCA5Njc1LCAxLjE3NTgyOTc2ODE4MDg0NzJdLCBbMTY2MzgxODExMS4wNzE3ODYyLCA5NzAyLCAxLjE4NjExNTc0MTcyOTczNjNdLCBbMTY2MzgxODExMS4zMjYwNzg3LCA5NzExLCAxLjE4ODM2MzkwOTcyMTM3NDVdLCBbMTY2MzgxODExMS41MTk0NTc2LCA5NzI5LCAxLjE5OTIxODE1Mzk1MzU1MjJdLCBbMTY2MzgxODExMS42MTcxODQ5LCA5NzM4LCAxLjI0Mjc0NTc1NzEwMjk2NjNdLCBbMTY2MzgxODExMS43MjE2NTU0LCA5NzQ3LCAxLjI1MDAwNTg0MTI1NTE4OF0sIFsxNjYzODE4MTEyLjAwNTU3NjEsIDk3NzQsIDEuMjI4ODQ3OTgwNDk5MjY3Nl0sIFsxNjYzODE4MTEyLjA5OTE1NDIsIDk3ODMsIDEuMTYzMDczMzAxMzE1MzA3Nl0sIFsxNjYzODE4MTEyLjE4OTgyNTgsIDk3OTIsIDEuMTY2Nzg4MTAxMTk2Mjg5XSwgWzE2NjM4MTgxMTIuNTU3NTkxNCwgOTgyOCwgMS4xOTg3NDYyMDQzNzYyMjA3XSwgWzE2NjM4MTgxMTMuMzEzMTA4LCA5ODkxLCAxLjE3ODg0MTU5MDg4MTM0NzddLCBbMTY2MzgxODExMy41MzYzNDc2LCA5OTA5LCAxLjI5NzAxMDc3OTM4MDc5ODNdLCBbMTY2MzgxODExMy43MzYzOTYsIDk5MjcsIDEuMjg5MjMxMzAwMzU0MDA0XSwgWzE2NjM4MTgxMTMuODY2NjEzNCwgOTkzNiwgMS4xODQyMDE0Nzg5NTgxMjk5XSwgWzE2NjM4MTgxMTMuOTc5MjYwNywgOTk0NSwgMS4yMjkyMjE0NjMyMDM0MzAyXSwgWzE2NjM4MTgxMTQuMjcxMzMwNCwgOTk3MiwgMS4zNzgzOTgxODAwMDc5MzQ2XSwgWzE2NjM4MTgxMTQuNDU0MzE3NiwgOTk5MCwgMS4xOTE4MzQ2ODgxODY2NDU1XSwgWzE2NjM4MTgxMTQuNjUxNzM3NywgMTAwMDgsIDEuMjY3OTU2NjE0NDk0MzIzN10sIFsxNjYzODE4MTE0Ljc0OTI1NzgsIDEwMDE3LCAxLjE3MzY5MTAzNDMxNzAxNjZdLCBbMTY2MzgxODExNC45MjUxMDI3LCAxMDAzNSwgMS4yMTEyMzY0NzY4OTgxOTM0XSwgWzE2NjM4MTgxMTUuMzcyNjc1NCwgMTAwODAsIDEuMjE1NTc5NzQ4MTUzNjg2NV0sIFsxNjYzODE4MTE1LjU0MDQwNjUsIDEwMDk4LCAxLjIzMTg4ODE3NTAxMDY4MTJdLCBbMTY2MzgxODExNS42Mjc1MjIsIDEwMTA3LCAxLjIxNDI1MDkyMjIwMzA2NF0sIFsxNjYzODE4MTE1LjkxMDA5MTIsIDEwMTM0LCAxLjE5Mzg3NTU1MTIyMzc1NDldLCBbMTY2MzgxODExNS45OTc1ODY3LCAxMDE0MywgMS4yMDEwNzgyOTU3MDc3MDI2XSwgWzE2NjM4MTgxMTYuMjAzMzA4MywgMTAxNjEsIDEuMTQzMTQwNTU0NDI4MTAwNl0sIFsxNjYzODE4MTE2LjMwODEzNzIsIDEwMTcwLCAxLjIxNDIwMDczNTA5MjE2M10sIFsxNjYzODE4MTE2LjYwNjIzMDUsIDEwMTk3LCAxLjE3ODQ0MjQ3ODE3OTkzMTZdLCBbMTY2MzgxODExNi43ODY5NzM1LCAxMDIxNSwgMS4xNzk4MjE2MTA0NTA3NDQ2XSwgWzE2NjM4MTgxMTYuODgyMDgwNiwgMTAyMjQsIDEuMTg1NDcwNTgxMDU0Njg3NV0sIFsxNjYzODE4MTE2Ljk3OTkzMjgsIDEwMjMzLCAxLjE2Njk2MjAyNzU0OTc0MzddLCBbMTY2MzgxODExNy4zMjUyNjk3LCAxMDI2MCwgMS4xNDk1NjE3NjI4MDk3NTM0XSwgWzE2NjM4MTgxMTcuOTc2NzcwOSwgMTAzMjMsIDEuMjUyMjUyMjIxMTA3NDgzXSwgWzE2NjM4MTgxMTguMTU0NjM3LCAxMDM0MSwgMS4xODUwMzkwNDM0MjY1MTM3XSwgWzE2NjM4MTgxMTguMzIxNDQ4LCAxMDM1OSwgMS4xODM1MzA4MDc0OTUxMTcyXSwgWzE2NjM4MTgxMTguNDEyNTkyNCwgMTAzNjgsIDEuMTY1Mzk1MjU5ODU3MTc3N10sIFsxNjYzODE4MTE4LjUyMDQxODYsIDEwMzc3LCAxLjE2OTA4ODcyMTI3NTMyOTZdLCBbMTY2MzgxODExOC42Mjg3MDYyLCAxMDM4NiwgMS4xOTA3Njk2NzIzOTM3OTg4XSwgWzE2NjM4MTgxMTkuMzkxNzQyMiwgMTA0NDksIDEuMjA2NTUzOTM2MDA0NjM4N10sIFsxNjYzODE4MTE5LjU4NjY1NTQsIDEwNDY3LCAxLjI0NjE4OTQ3NTA1OTUwOTNdLCBbMTY2MzgxODExOS44MDY5NTUsIDEwNDg1LCAxLjE4NTkxMTc3NDYzNTMxNV0sIFsxNjYzODE4MTIwLjMwNjc0OSwgMTA1MTIsIDEuMjA4MjA1MzQyMjkyNzg1Nl0sIFsxNjYzODE4MTIwLjkyMzg4MjIsIDEwNTY2LCAxLjE2MzQzMjAwMjA2NzU2Nl0sIFsxNjYzODE4MTIxLjAyNDY3MiwgMTA1NzUsIDEuMTk2NTk3MjE4NTEzNDg4OF0sIFsxNjYzODE4MTIxLjI0NTA2NDMsIDEwNTkzLCAxLjE2MDkxNzc1ODk0MTY1MDRdLCBbMTY2MzgxODEyMS4zODA3MDQ5LCAxMDYwMiwgMS4xNzY1MDUyMDgwMTU0NDJdLCBbMTY2MzgxODEyMS40NzYwNzIsIDEwNjExLCAxLjE5NjI5OTA3NjA4MDMyMjNdLCBbMTY2MzgxODEyMS44NjMxNDU2LCAxMDY0NywgMS4xNjgwMjYwODk2NjgyNzRdLCBbMTY2MzgxODEyMi4wNjQ3MDc1LCAxMDY2NSwgMS4xNzA3MDQ5NjA4MjMwNTldLCBbMTY2MzgxODEyMi4yMzUwNzc5LCAxMDY4MywgMS4xODU3NjY2OTY5Mjk5MzE2XSwgWzE2NjM4MTgxMjIuNDk3NTc3NywgMTA3MTAsIDEuMTY3NjY5NzczMTAxODA2Nl0sIFsxNjYzODE4MTIyLjU4NTg2MTIsIDEwNzE5LCAxLjE5OTM4MTk0NzUxNzM5NV0sIFsxNjYzODE4MTIyLjg5MjM5MTQsIDEwNzQ2LCAxLjMwNTM2ODY2MTg4MDQ5MzJdLCBbMTY2MzgxODEyMi45ODU0MzQ4LCAxMDc1NSwgMS4zMzE3OTc0ODA1ODMxOTFdLCBbMTY2MzgxODEyMy4yNTg3ODU1LCAxMDc4MiwgMS4yMTcxNDI1ODE5Mzk2OTczXSwgWzE2NjM4MTgxMjMuMzQ0NTQyNywgMTA3OTEsIDEuMTk3MTExMDEwNTUxNDUyNl0sIFsxNjYzODE4MTIzLjYwMTkzMzUsIDEwODE4LCAxLjIyMDc5NTI3Mzc4MDgyMjhdLCBbMTY2MzgxODEyMy45NzA4NTM4LCAxMDg1NCwgMS4yMjE1NzU4NTYyMDg4MDEzXSwgWzE2NjM4MTgxMjQuMDYyMTg4NCwgMTA4NjMsIDEuMjU3NjI1MzQxNDE1NDA1M10sIFsxNjYzODE4MTI0LjE1NzU4NCwgMTA4NzIsIDEuMjYwMDQzNjIxMDYzMjMyNF0sIFsxNjYzODE4MTI0LjMyNzAxNzUsIDEwODkwLCAxLjIyMDA4OTY3Mzk5NTk3MTddLCBbMTY2MzgxODEyNC43MjUzNDM1LCAxMDkyNiwgMS4xOTM4MDk2Mjg0ODY2MzMzXSwgWzE2NjM4MTgxMjQuODAzNjg1NywgMTA5MzUsIDEuMTY1NTk2ODQyNzY1ODA4XSwgWzE2NjM4MTgxMjUuMTEwMzY1OSwgMTA5NzEsIDEuMjAwMDMxODc2NTY0MDI1OV0sIFsxNjYzODE4MTI1LjUwMDM3MDMsIDExMDE2LCAxLjE4NTIwNDI2NzUwMTgzMV0sIFsxNjYzODE4MTI1LjY1MzI0NjksIDExMDM0LCAxLjE5MTMyMTg0OTgyMjk5OF0sIFsxNjYzODE4MTI1Ljk3MzQwOSwgMTEwNzAsIDEuMTY2ODcwMzU1NjA2MDc5XSwgWzE2NjM4MTgxMjYuMjI1MTU1NCwgMTEwOTcsIDEuMjMwMzY4MTM3MzU5NjE5MV0sIFsxNjYzODE4MTI2LjMyMjU4NzMsIDExMTA2LCAxLjIxNTAyNjk3NDY3ODAzOTZdLCBbMTY2MzgxODEyNi43NDkyMDcsIDExMTUxLCAxLjE2ODMzOTI1MjQ3MTkyMzhdLCBbMTY2MzgxODEyNi45MjE5MzQsIDExMTY5LCAxLjE2MDAzNzM5ODMzODMxNzldLCBbMTY2MzgxODEyNy4xODg4OTgzLCAxMTE5NiwgMS4xNTY5NTYwNzY2MjIwMDkzXSwgWzE2NjM4MTgxMjcuMjc5NDc5MywgMTEyMDUsIDEuMTc4NDE4ODc0NzQwNjAwNl0sIFsxNjYzODE4MTI3LjQ2MzE5MDgsIDExMjIzLCAxLjE3MTg3NjQzMDUxMTQ3NDZdLCBbMTY2MzgxODEyNy43MzQ1Nzg4LCAxMTI1MCwgMS4xNjU2NjA4NTgxNTQyOTY5XSwgWzE2NjM4MTgxMjcuODIwNzgzNiwgMTEyNTksIDEuMTUwNjA5OTcwMDkyNzczNF0sIFsxNjYzODE4MTI4LjA3MzY3NSwgMTEyNjgsIDEuMTU2NDM4NTg5MDk2MDY5M10sIFsxNjYzODE4MTI4LjE2MTI3NTQsIDExMjc3LCAxLjE3MjU1NTY4NTA0MzMzNV0sIFsxNjYzODE4MTI4LjMyNzg3NzMsIDExMjk1LCAxLjIyODU5ODgzMzA4NDEwNjRdLCBbMTY2MzgxODEyOC41MDAwNzg0LCAxMTMxMywgMS4yOTczMTYzMTI3ODk5MTddLCBbMTY2MzgxODEyOC41ODk5MDQ1LCAxMTMyMiwgMS4yNzgyODAzNzczODgwMDA1XSwgWzE2NjM4MTgxMjguODc1MjE2NSwgMTEzNDksIDEuMjE5MTQxMTI1Njc5MDE2MV0sIFsxNjYzODE4MTI4Ljk2Nzc2MTgsIDExMzU4LCAxLjE5MDQ5ODExMzYzMjIwMjFdLCBbMTY2MzgxODEyOS41MDQwOTY3LCAxMTQxMiwgMS4xODU4NDU3MzI2ODg5MDM4XSwgWzE2NjM4MTgxMjkuODYyNDI0OSwgMTE0NDgsIDEuMTUzNTY3NzkwOTg1MTA3NF0sIFsxNjYzODE4MTMwLjI4OTczMywgMTE0OTMsIDEuMTYxMTgxMDkyMjYyMjY4XSwgWzE2NjM4MTgxMzAuMzgxMTQ0OCwgMTE1MDIsIDEuMjAzNDU2NTIxMDM0MjQwN10sIFsxNjYzODE4MTMwLjQ4Nzc5ODcsIDExNTExLCAxLjMzMjk5NTE3NjMxNTMwNzZdLCBbMTY2MzgxODEzMC45MDMxNjM3LCAxMTU0NywgMS4yNDkwOTU1NTkxMjAxNzgyXSwgWzE2NjM4MTgxMzEuMTk3MjM5OSwgMTE1NzQsIDEuMjQwMzE0NzIyMDYxMTU3Ml0sIFsxNjYzODE4MTMxLjczMjU0MTMsIDExNjE5LCAxLjE3MzgwMjYxNDIxMjAzNjFdLCBbMTY2MzgxODEzMi4wNTE2MDYsIDExNjQ2LCAxLjE1NTIzNzc5MzkyMjQyNDNdLCBbMTY2MzgxODEzMi42MjE3Nzg3LCAxMTY5MSwgMS4xNjAyOTMxMDIyNjQ0MDQzXSwgWzE2NjM4MTgxMzIuNzIxMjExNCwgMTE3MDAsIDEuMTgzMDc5MjQyNzA2Mjk4OF0sIFsxNjYzODE4MTMzLjA0NTUyMjIsIDExNzI3LCAxLjE4OTQ2NDMzMDY3MzIxNzhdLCBbMTY2MzgxODEzMy40NjIyMzI0LCAxMTc2MywgMS4xNjEyMjc5NDE1MTMwNjE1XSwgWzE2NjM4MTgxMzMuOTI2OTQ5MywgMTE3OTksIDEuMTQ2NzkxODE1NzU3NzUxNV0sIFsxNjYzODE4MTM0LjM5NzIyODUsIDExODQ0LCAxLjIxMzc5OTU5NTgzMjgyNDddLCBbMTY2MzgxODEzNC44OTI0MTE3LCAxMTg4OSwgMS4xNjcxNzc1NTc5NDUyNTE1XSwgWzE2NjM4MTgxMzUuMDczODQ4NSwgMTE5MDcsIDEuMTYwMDUxNzAzNDUzMDY0XSwgWzE2NjM4MTgxMzUuMzUyMDU1NSwgMTE5MzQsIDEuMjAxMTE5MDY1Mjg0NzI5XSwgWzE2NjM4MTgxMzUuNDQxNzMxLCAxMTk0MywgMS4xNTgzODkyMTA3MDA5ODg4XSwgWzE2NjM4MTgxMzUuNjMwODg1LCAxMTk2MSwgMS4xNTU5MTc3NjM3MTAwMjJdLCBbMTY2MzgxODEzNi4yNzkxODE3LCAxMjAyNCwgMS4xNzUxNjA4ODQ4NTcxNzc3XSwgWzE2NjM4MTgxMzcuNDA3Njk1MywgMTIxMDUsIDEuMTY2OTMwNjc1NTA2NTkxOF0sIFsxNjYzODE4MTM3LjUyNTUxNDgsIDEyMTE0LCAxLjE2ODE2NDg0OTI4MTMxMV0sIFsxNjYzODE4MTM3Ljg0MDE3MjMsIDEyMTQxLCAxLjE3OTQwMzQyNDI2MzAwMDVdLCBbMTY2MzgxODEzOC4xNDQ1OTE2LCAxMjE2OCwgMS4xNzAyNTM1MTUyNDM1MzAzXSwgWzE2NjM4MTgxMzguMjU5NzY0MiwgMTIxNzcsIDEuMTk4MjM2NTg0NjYzMzkxMV0sIFsxNjYzODE4MTM4LjQ5MTA5NiwgMTIxOTUsIDEuMTg3MTQzNTY0MjI0MjQzMl0sIFsxNjYzODE4MTM4Ljg2MDAyODUsIDEyMjMxLCAxLjE4NzYwMzcxMjA4MTkwOTJdLCBbMTY2MzgxODEzOS4wMzE5MjE2LCAxMjI0OSwgMS4xNjYyOTQ4MTMxNTYxMjhdLCBbMTY2MzgxODEzOS4zODAyMTYsIDEyMjg1LCAxLjIyNTE1MTA2MjAxMTcxODhdLCBbMTY2MzgxODEzOS40Njg3MTg4LCAxMjI5NCwgMS4yMjgyMTc5NTk0MDM5OTE3XSwgWzE2NjM4MTgxMzkuNTYyODYyNCwgMTIzMDMsIDEuMjY0NDgxNzgyOTEzMjA4XSwgWzE2NjM4MTgxMzkuNjU0Nzk4NSwgMTIzMTIsIDEuMTk1MTI4MjAyNDM4MzU0NV0sIFsxNjYzODE4MTM5Ljc0NzQ4NjQsIDEyMzIxLCAxLjIyMDk1ODgyODkyNjA4NjRdLCBbMTY2MzgxODE0MC4zOTMyNzk2LCAxMjM4NCwgMS4yMzg2OTMyMzczMDQ2ODc1XSwgWzE2NjM4MTgxNDAuNDg2NTIxMiwgMTIzOTMsIDEuMTg3NTM2MDAxMjA1NDQ0M10sIFsxNjYzODE4MTQwLjg0NjkwNzksIDEyNDI5LCAxLjIxMDUzNTQwNzA2NjM0NTJdLCBbMTY2MzgxODE0MS4zMDI4MDc4LCAxMjQ3NCwgMS4xNTgxMTM1OTg4MjM1NDc0XSwgWzE2NjM4MTgxNDEuMzg5NTgzNiwgMTI0ODMsIDEuMTY5MTcwMTQxMjIwMDkyOF0sIFsxNjYzODE4MTQxLjc0OTY1MiwgMTI1MTksIDEuMTUyNzA0MTE5NjgyMzEyXSwgWzE2NjM4MTgxNDIuMDIwMzgxNSwgMTI1NDYsIDEuMjExNDM3ODIxMzg4MjQ0Nl0sIFsxNjYzODE4MTQyLjM3MTUxODEsIDEyNTgyLCAxLjEzNTQ4MTgzNDQxMTYyMV0sIFsxNjYzODE4MTQ0LjI4MzYyOTcsIDEyNzYyLCAxLjE5MzUwNTA0ODc1MTgzMV0sIFsxNjYzODE4MTQ0LjY3NTE1MzcsIDEyNzk4LCAxLjE1MzUyMzMyNTkyMDEwNV0sIFsxNjYzODE4MTQ1Ljg1NDM3OTQsIDEyODg4LCAxLjE5NDkzNTU2MDIyNjQ0MDRdLCBbMTY2MzgxODE0NS45OTA4NjI2LCAxMjg5NywgMS4xNTQ3MDgyNjYyNTgyMzk3XSwgWzE2NjM4MTgxNDYuMzg2MDEsIDEyOTMzLCAxLjIxMjkyODUzMzU1NDA3NzFdLCBbMTY2MzgxODE0Ni41NjU1NjUsIDEyOTUxLCAxLjE2NjYxNjIwMTQwMDc1NjhdLCBbMTY2MzgxODE0Ni42NTM1OTM1LCAxMjk2MCwgMS4xNDczODcwMjc3NDA0Nzg1XSwgWzE2NjM4MTgxNDYuNzQyNDA0NSwgMTI5NjksIDEuMTcwMDQwODQ1ODcwOTcxN10sIFsxNjYzODE4MTQ2Ljg0NDIyNzMsIDEyOTc4LCAxLjE3MTIzMjgxOTU1NzE5XSwgWzE2NjM4MTgxNDcuMTk0NjEzNSwgMTMwMDUsIDEuMTk2OTQ0MzU1OTY0NjYwNl0sIFsxNjYzODE4MTQ3LjUwNjM5MSwgMTMwMzIsIDEuMTc2MDIwMTQ1NDE2MjU5OF0sIFsxNjYzODE4MTQ3Ljc0OTA1NzMsIDEzMDUwLCAxLjIwNTM0NzA2MTE1NzIyNjZdLCBbMTY2MzgxODE0Ny45NDU2ODE4LCAxMzA2OCwgMS4xNDgwMTAzNzMxMTU1Mzk2XSwgWzE2NjM4MTgxNDguMDQ0NjgzMiwgMTMwNzcsIDEuMTU2NzYxMjg4NjQyODgzM10sIFsxNjYzODE4MTQ4LjIzMTYzNzcsIDEzMDk1LCAxLjIxOTY0NjkzMDY5NDU4XSwgWzE2NjM4MTgxNDguMzMyNDQ0MiwgMTMxMDQsIDEuMTM4NzEwNDk4ODA5ODE0NV0sIFsxNjYzODE4MTQ4LjUyMjM4OTQsIDEzMTIyLCAxLjE0ODU5NDQ5ODYzNDMzODRdLCBbMTY2MzgxODE0OC42MTc5MTUyLCAxMzEzMSwgMS4xMzc1MTc0NTIyMzk5OTAyXSwgWzE2NjM4MTgxNDguODM4NTA2MiwgMTMxNDksIDEuMTM4MTQ5NDk5ODkzMTg4NV0sIFsxNjYzODE4MTQ4LjkzNDIyMTcsIDEzMTU4LCAxLjE2MjM2ODc3NDQxNDA2MjVdLCBbMTY2MzgxODE0OS4xMzE5NjQ0LCAxMzE3NiwgMS4xOTcxMzI3MDY2NDIxNTA5XSwgWzE2NjM4MTgxNDkuOTA5NjUyLCAxMzIzOSwgMS4xOTgzMDg1ODcwNzQyNzk4XSwgWzE2NjM4MTgxNTAuMTY2NjE2MiwgMTMyNjYsIDEuMTg4NjA0ODMxNjk1NTU2Nl0sIFsxNjYzODE4MTUwLjI0Nzk1MDgsIDEzMjc1LCAxLjE2ODkxMTY5NTQ4MDM0NjddLCBbMTY2MzgxODE1MC40MzMwMDA2LCAxMzI5MywgMS4yMTA2MjY0ODI5NjM1NjJdLCBbMTY2MzgxODE1MS4wNzY0NzY2LCAxMzM1NiwgMS4xNzQ3Mzc0NTM0NjA2OTM0XSwgWzE2NjM4MTgxNTEuNDkwNDkxLCAxMzM5MiwgMS4xOTE0MjY5OTI0MTYzODE4XSwgWzE2NjM4MTgxNTEuODA1MzI4NiwgMTM0MTksIDEuMTYwMjYzMjk5OTQyMDE2Nl0sIFsxNjYzODE4MTUyLjA4NjE4NTUsIDEzNDQ2LCAxLjE2NjI5NDA5NzkwMDM5MDZdLCBbMTY2MzgxODE1Mi4xODk1NDAxLCAxMzQ1NSwgMS4xNTI5MzQ5MDg4NjY4ODIzXSwgWzE2NjM4MTgxNTIuNTQ2MTgwMiwgMTM0OTEsIDEuMTc5ODEyMDczNzA3NTgwNl0sIFsxNjYzODE4MTUyLjYzMTIxMTUsIDEzNTAwLCAxLjE0NTc1MDQwMzQwNDIzNThdLCBbMTY2MzgxODE1Mi45MDA1MjA2LCAxMzUyNywgMS4yMDQwNDk1ODcyNDk3NTU5XSwgWzE2NjM4MTgxNTMuNjM0MTU4OCwgMTM1OTAsIDEuMTc4Mzk2NzAxODEyNzQ0MV0sIFsxNjYzODE4MTUzLjkzMTA2MzQsIDEzNTk5LCAxLjIyNzEyMjkwMjg3MDE3ODJdLCBbMTY2MzgxODE1NC4wMzU1NjQyLCAxMzYwOCwgMS4zMzA4MTgxNzYyNjk1MzEyXSwgWzE2NjM4MTgxNTQuMjI4MDY1NywgMTM2MjYsIDEuMTg1NjE0MTA5MDM5MzA2Nl0sIFsxNjYzODE4MTU0LjQwMjIyNDMsIDEzNjQ0LCAxLjE1NTk2MjU4NjQwMjg5M10sIFsxNjYzODE4MTU0LjQ4NzA5NzMsIDEzNjUzLCAxLjE2NzI3MzA0NDU4NjE4MTZdLCBbMTY2MzgxODE1NS4xNjQ1NjY4LCAxMzcxNiwgMS4xNTkwOTUxNjgxMTM3MDg1XSwgWzE2NjM4MTgxNTUuNjA1MTMzNSwgMTM3NjEsIDEuMTU1MjY0MTM5MTc1NDE1XSwgWzE2NjM4MTgxNTYuMTAzNzU3LCAxMzgxNSwgMS4xNDUxMDE1NDcyNDEyMTFdLCBbMTY2MzgxODE1Ni40MTUxNDQ0LCAxMzg0MiwgMS4xODU2MzkxNDI5OTAxMTIzXSwgWzE2NjM4MTgxNTYuNTI5MTM4OCwgMTM4NTEsIDEuMTgwMjE3Mzg1MjkyMDUzMl0sIFsxNjYzODE4MTU2LjgzNDA3LCAxMzg3OCwgMS4xOTY4NDAyODYyNTQ4ODI4XSwgWzE2NjM4MTgxNTcuNDY3NDMzNywgMTM5NDEsIDEuMTg1NTM5MjQ1NjA1NDY4OF0sIFsxNjYzODE4MTU3Ljc4MTU2NDIsIDEzOTY4LCAxLjE2NjkxNDM0MzgzMzkyMzNdLCBbMTY2MzgxODE1Ny45MDAyMzc2LCAxMzk3NywgMS4xNTYwNzUxMTk5NzIyMjldLCBbMTY2MzgxODE1OC4wMDE2NTU2LCAxMzk4NiwgMS4xNjk2MDg0NzM3Nzc3NzFdLCBbMTY2MzgxODE1OC45OTA4Mjk3LCAxNDA2NywgMS4xNTgyOTg5NjkyNjg3OTg4XSwgWzE2NjM4MTgxNTkuMjk2MzUwMiwgMTQwOTQsIDEuMTU0NTk4MTE2ODc0Njk0OF0sIFsxNjYzODE4MTU5LjQwMTE5NiwgMTQxMDMsIDEuMTgyMzI2MzE2ODMzNDk2XSwgWzE2NjM4MTgxNTkuNjM2LCAxNDEyMSwgMS4xNDc1MTA1Mjg1NjQ0NTMxXSwgWzE2NjM4MTgxNTkuODc0NjI3LCAxNDEzOSwgMS4xMzA0NDA0NzM1NTY1MTg2XSwgWzE2NjM4MTgxNTkuOTgwMzUzLCAxNDE0OCwgMS4xNzA3ODEzNzM5Nzc2NjExXSwgWzE2NjM4MTgxNjAuMTA4MTg3NywgMTQxNTcsIDEuMTQ3OTc2OTk0NTE0NDY1M10sIFsxNjYzODE4MTYwLjIxNzQ4NjEsIDE0MTY2LCAxLjIzMTI5NDI3NDMzMDEzOTJdLCBbMTY2MzgxODE2MC40OTQ3OTc1LCAxNDE5MywgMS4xODYyMDUxNDg2OTY4OTk0XSwgWzE2NjM4MTgxNjAuOTQ4MjM5OCwgMTQyMjksIDEuMTQwODcxMjg2MzkyMjEyXSwgWzE2NjM4MTgxNjEuMDM1ODU3MiwgMTQyMzgsIDEuMjE3MzUzNTgyMzgyMjAyMV0sIFsxNjYzODE4MTYxLjExNjA1MDIsIDE0MjQ3LCAxLjE2MDU5OTQ3MDEzODU0OThdLCBbMTY2MzgxODE2MS4zNjIxNjg4LCAxNDI3NCwgMS4xNzU4NzI0NDUxMDY1MDYzXSwgWzE2NjM4MTgxNjEuNzk4NjExNiwgMTQzMTksIDEuMTU4NTM1OTU3MzM2NDI1OF0sIFsxNjYzODE4MTYyLjI3MzEzNDIsIDE0MzY0LCAxLjE3MzI4OTY1NjYzOTA5OTFdLCBbMTY2MzgxODE2Mi41MTkzNzgyLCAxNDM3MywgMS4xODQyODAxNTcwODkyMzM0XSwgWzE2NjM4MTgxNjIuNjEzMzgxMSwgMTQzODIsIDEuMTQ1MDM1NTA1Mjk0Nzk5OF0sIFsxNjYzODE4MTYyLjk1ODMyOTcsIDE0NDE4LCAxLjIzNzM1MzU2MzMwODcxNThdLCBbMTY2MzgxODE2My4wNDc1Njg4LCAxNDQyNywgMS4yODUyNDUyOTkzMzkyOTQ0XSwgWzE2NjM4MTgxNjMuMTUxMjgzNywgMTQ0MzYsIDEuMzQxNDUzMTk0NjE4MjI1XSwgWzE2NjM4MTgxNjMuODQyMzM2NywgMTQ1MDgsIDEuMTQ0Mjg4Nzc4MzA1MDUzN10sIFsxNjYzODE4MTY0LjA3OTE0NDUsIDE0NTM1LCAxLjI3MzQ1MDQ5MzgxMjU2MV0sIFsxNjYzODE4MTY0LjMzNjQ3NzUsIDE0NTUzLCAxLjI0OTg4OTI1NDU3MDAwNzNdLCBbMTY2MzgxODE2NC45MDc1NzMyLCAxNDYwNywgMS4yMjM3MDkyMjU2NTQ2MDJdLCBbMTY2MzgxODE2NS4wNzI3OTA2LCAxNDYyNSwgMS4yMDIzMDg0MTYzNjY1NzcxXSwgWzE2NjM4MTgxNjUuMzMzMjA2LCAxNDY1MiwgMS4yNTkzMzc2NjM2NTA1MTI3XSwgWzE2NjM4MTgxNjUuNjkxMTgsIDE0Njg4LCAxLjE4MDU4MTQ1MDQ2MjM0MTNdLCBbMTY2MzgxODE2Ni4wMjQ2MDU4LCAxNDcyNCwgMS4yNTkxNDI5OTQ4ODA2NzYzXSwgWzE2NjM4MTgxNjYuMjAxNTQ1NSwgMTQ3NDIsIDEuMTI2NDQ1MTc0MjE3MjI0MV0sIFsxNjYzODE4MTY2LjQ0NTgxOTQsIDE0NzY5LCAxLjE1ODI1MzE5MjkwMTYxMTNdLCBbMTY2MzgxODE2Ni41MzM0Njk3LCAxNDc3OCwgMS4yMDAzMjY2ODExMzcwODVdLCBbMTY2MzgxODE2Ni45NzQxMzYsIDE0ODIzLCAxLjE1NjUzNTI2NzgyOTg5NV0sIFsxNjYzODE4MTY3LjA2Mjg0MjgsIDE0ODMyLCAxLjE2MzcxNTk1ODU5NTI3NTldLCBbMTY2MzgxODE2Ny40MjIwODA4LCAxNDg2OCwgMS4xNjc5MjEzMDQ3MDI3NTg4XSwgWzE2NjM4MTgxNjcuNTA5NTEsIDE0ODc3LCAxLjE2MTY1MTEzNDQ5MDk2NjhdLCBbMTY2MzgxODE2Ny41OTk1MzE0LCAxNDg4NiwgMS4yNjk3MTQ5NTE1MTUxOTc4XSwgWzE2NjM4MTgxNjcuNjg1NTU1MiwgMTQ4OTUsIDEuMjA0NTYzMDIxNjU5ODUxXSwgWzE2NjM4MTgxNjcuODYyNDU5NCwgMTQ5MTMsIDEuMTY1MTAzOTEyMzUzNTE1Nl0sIFsxNjYzODE4MTY4LjAzMDIyLCAxNDkzMSwgMS4xODk3MzMxNDc2MjExNTQ4XSwgWzE2NjM4MTgxNjguMzc1NTU0NiwgMTQ5NjcsIDEuMTQyNDQ2Mzk4NzM1MDQ2NF0sIFsxNjYzODE4MTY4LjU0NzQ1NzUsIDE0OTg1LCAxLjE0NTU3ODAyNjc3MTU0NTRdLCBbMTY2MzgxODE2OC43MTY5NzE5LCAxNTAwMywgMS4xNDcxNjY4NDgxODI2NzgyXSwgWzE2NjM4MTgxNjguOTcxNjc2NiwgMTUwMzAsIDEuMjQyMzE5NzAzMTAyMTExOF0sIFsxNjYzODE4MTY5LjA2MTQ5NjcsIDE1MDM5LCAxLjMxNDMwNzIxMjgyOTU4OThdLCBbMTY2MzgxODE2OS40MjMwNzksIDE1MDc1LCAxLjIyNDExMDEyNjQ5NTM2MTNdLCBbMTY2MzgxODE2OS42NzMzNTksIDE1MTAyLCAxLjE1Njc0NDI0MTcxNDQ3NzVdLCBbMTY2MzgxODE2OS44NDgzNjYsIDE1MTIwLCAxLjE3NzcyNjM4Nzk3NzZdLCBbMTY2MzgxODE2OS45Mjc4MTksIDE1MTI5LCAxLjE4NTQ2NDM4MjE3MTYzMDldLCBbMTY2MzgxODE3MC4yNDU3NDk1LCAxNTE0NywgMS4xNjYyOTY4Mzk3MTQwNTAzXSwgWzE2NjM4MTgxNzAuNTA1NjkyMiwgMTUxNzQsIDEuMTQ2OTAxMDExNDY2OThdLCBbMTY2MzgxODE3MC41OTA3MDQ3LCAxNTE4MywgMS4xODQ1MjkzMDQ1MDQzOTQ1XSwgWzE2NjM4MTgxNzAuNjc5OTg2LCAxNTE5MiwgMS4xMzkzODgzMjI4MzAyMDAyXSwgWzE2NjM4MTgxNzAuNzk5MTM3LCAxNTIwMSwgMS4xMzY0MTk0MTU0NzM5MzhdLCBbMTY2MzgxODE3MS4yMzAxOTk2LCAxNTI0NiwgMS4xMzMzMzgyMTI5NjY5MTldLCBbMTY2MzgxODE3MS4zMjQ2NjUsIDE1MjU1LCAxLjEzMjAxMzMyMDkyMjg1MTZdLCBbMTY2MzgxODE3MS40MTQ2NTY0LCAxNTI2NCwgMS4xMzAyMjA2NTE2MjY1ODddLCBbMTY2MzgxODE3MS44MDQ4MTUsIDE1MzAwLCAxLjE5NTAwMTQ4Mjk2MzU2Ml0sIFsxNjYzODE4MTcyLjEwODQyODUsIDE1MzI3LCAxLjE1MjU4NzQxMzc4Nzg0MThdLCBbMTY2MzgxODE3Mi4zNDM1MDYzLCAxNTM0NSwgMS4xNzM0Mjg4OTMwODkyOTQ0XSwgWzE2NjM4MTgxNzIuNjI2MDM2MiwgMTUzNzIsIDEuMTQ4NTA5NjIxNjIwMTc4Ml0sIFsxNjYzODE4MTcyLjgzNTMzMDIsIDE1MzkwLCAxLjE2NzQ3MzE5Njk4MzMzNzRdLCBbMTY2MzgxODE3Mi45MzMwNTM1LCAxNTM5OSwgMS4xNDQ3NzY3MDE5MjcxODVdLCBbMTY2MzgxODE3My4wMzY3NjUzLCAxNTQwOCwgMS4xNTA4ODg1NjIyMDI0NTM2XSwgWzE2NjM4MTgxNzMuMTIyMDgxOCwgMTU0MTcsIDEuMTM0ODc3NDQzMzEzNTk4Nl0sIFsxNjYzODE4MTczLjY2NTU2MjYsIDE1NDcxLCAxLjIyOTcyMjE0MjIxOTU0MzVdLCBbMTY2MzgxODE3NC4wNjI5OTIsIDE1NTA3LCAxLjE2MzQwODE2MDIwOTY1NThdLCBbMTY2MzgxODE3NC4xNjc4NDgsIDE1NTE2LCAxLjE3NTUyMTczMTM3NjY0OF0sIFsxNjYzODE4MTc0LjI1ODYyNzIsIDE1NTI1LCAxLjE3MjcwODc0OTc3MTExODJdLCBbMTY2MzgxODE3NC4zNDgzNzEsIDE1NTM0LCAxLjEzNDEyNjE4NjM3MDg0OTZdLCBbMTY2MzgxODE3NC45MTE5MTEyLCAxNTU3OSwgMS4yNTk0OTcyODQ4ODkyMjEyXSwgWzE2NjM4MTgxNzUuNzU4Njg0MiwgMTU2NTEsIDEuMzMwMzU4ODYyODc2ODkyXSwgWzE2NjM4MTgxNzUuODUyMjI5OCwgMTU2NjAsIDEuMTYwNzY2NDgyMzUzMjEwNF0sIFsxNjYzODE4MTc2LjMwNTg4MTcsIDE1Njk2LCAxLjE0MDY3Njk3NTI1MDI0NDFdLCBbMTY2MzgxODE3Ni40OTE2MTU1LCAxNTcxNCwgMS4xODUxOTQ0OTIzNDAwODhdLCBbMTY2MzgxODE3Ni44MzI0NTU2LCAxNTc0MSwgMS4xNTM1MjUzNTI0NzgwMjczXSwgWzE2NjM4MTgxNzcuMDA4ODQ4NCwgMTU3NTksIDEuMjY4MDAxNzk0ODE1MDYzNV0sIFsxNjYzODE4MTc3LjA5NzgxNTUsIDE1NzY4LCAxLjE1NTM1OTk4MzQ0NDIxMzldLCBbMTY2MzgxODE3Ny4yNzI4NjUsIDE1Nzg2LCAxLjIxNjE2MzE1ODQxNjc0OF0sIFsxNjYzODE4MTc3LjM2MDc1NSwgMTU3OTUsIDEuMTk1ODcwMjgwMjY1ODA4XSwgWzE2NjM4MTgxNzcuNjMzNTM2MywgMTU4MjIsIDEuMTUxMDYwMzQyNzg4Njk2M10sIFsxNjYzODE4MTc4LjA3NjM4ODgsIDE1ODY3LCAxLjE3MDEzNTM3ODgzNzU4NTRdLCBbMTY2MzgxODE3OC4xNTY0MzA1LCAxNTg3NiwgMS4xMTIyMjUyOTQxMTMxNTkyXSwgWzE2NjM4MTgxNzguMzE5NjMwMSwgMTU4OTQsIDEuMTM2ODgyNjYyNzczMTMyM10sIFsxNjYzODE4MTc4LjczNDI1NCwgMTU5MjEsIDEuMjQ1MDY4NTUwMTA5ODYzM10sIFsxNjYzODE4MTc5LjMyNjY0MiwgMTU5ODQsIDEuMjA4MzAwOTQ4MTQzMDA1NF0sIFsxNjYzODE4MTc5LjQxMDMzOSwgMTU5OTMsIDEuMTU4NjA4MDc4OTU2NjA0XSwgWzE2NjM4MTgxNzkuNDkyODI2NywgMTYwMDIsIDEuMTczNjUxODE0NDYwNzU0NF0sIFsxNjYzODE4MTc5Ljc0OTA0NzgsIDE2MDI5LCAxLjE0MTY4ODU4NTI4MTM3Ml0sIFsxNjYzODE4MTgwLjA5MjU0NjcsIDE2MDY1LCAxLjEzODM5NzkzMjA1MjYxMjNdLCBbMTY2MzgxODE4MC4xODIwMDMsIDE2MDc0LCAxLjE1MDQyNzM0MTQ2MTE4MTZdLCBbMTY2MzgxODE4MC4yNjMzNTQzLCAxNjA4MywgMS4xNTY1MDgyMDczMjExNjddLCBbMTY2MzgxODE4MC41NjA0NjIyLCAxNjExMCwgMS4yMjIwMjc2NTk0MTYxOTg3XSwgWzE2NjM4MTgxODAuNjUyNjMyNSwgMTYxMTksIDEuMjMyOTU0NTAyMTA1NzEzXSwgWzE2NjM4MTgxODAuODM5MTE2MywgMTYxMzcsIDEuMTQwNDI4MDY2MjUzNjYyXSwgWzE2NjM4MTgxODEuMDA4NzU3NiwgMTYxNTUsIDEuMTUxNTQ1MDQ3NzYwMDA5OF0sIFsxNjYzODE4MTgxLjE3NDU3NjMsIDE2MTczLCAxLjE2MjMzNDQ0MjEzODY3MTldLCBbMTY2MzgxODE4MS41MDU5MzQsIDE2MjA5LCAxLjE5OTMyMzA1ODEyODM1N10sIFsxNjYzODE4MTgxLjY4MTY5NCwgMTYyMjcsIDEuMTQyODA2NjQ5MjA4MDY4OF0sIFsxNjYzODE4MTgyLjIxMzczNywgMTYyODEsIDEuMTc1MTA5ODYzMjgxMjVdLCBbMTY2MzgxODE4Mi4zODI2MDQxLCAxNjI5OSwgMS4xMjM0Mzk5MDgwMjc2NDldLCBbMTY2MzgxODE4Mi43Mjc2NDI4LCAxNjMzNSwgMS4xMzMzMTg5MDEwNjIwMTE3XSwgWzE2NjM4MTgxODMuMTc4MTcxOSwgMTYzODAsIDEuMTE1MjgzNzI3NjQ1ODc0XSwgWzE2NjM4MTgxODMuNTIyNTY1LCAxNjQxNiwgMS4xMTkwMjY3ODAxMjg0NzldLCBbMTY2MzgxODE4My43NzM0NjczLCAxNjQ0MywgMS4yMTU4ODI3NzgxNjc3MjQ2XSwgWzE2NjM4MTgxODMuODU4MTczLCAxNjQ1MiwgMS4yMDIzMjM2NzUxNTU2Mzk2XSwgWzE2NjM4MTgxODQuMDQwMTQxNiwgMTY0NzAsIDEuMTEzNTU0NzE2MTEwMjI5NV0sIFsxNjYzODE4MTg0LjE5NTU0NzMsIDE2NDc5LCAxLjE0ODE1OTM4NDcyNzQ3OF0sIFsxNjYzODE4MTg0LjQxNzA2NCwgMTY0OTcsIDEuMTI4NDk3NDgxMzQ2MTMwNF0sIFsxNjYzODE4MTg0LjUxMDUwMTYsIDE2NTA2LCAxLjEyNDc4NjAxOTMyNTI1NjNdLCBbMTY2MzgxODE4NC42MDgzMTI0LCAxNjUxNSwgMS4xNTAxNTMxNjAwOTUyMTQ4XSwgWzE2NjM4MTgxODQuNzk4NDk1LCAxNjUzMywgMS4xMzI3NDQzMTIyODYzNzddLCBbMTY2MzgxODE4NC44OTE1NzUsIDE2NTQyLCAxLjE0Njk0NTgzNDE1OTg1MV0sIFsxNjYzODE4MTg0Ljk5MTkxMDcsIDE2NTUxLCAxLjE3Mjg2NDY3NTUyMTg1MDZdLCBbMTY2MzgxODE4NS43NzY5NTgyLCAxNjYxNCwgMS4xNTU3NDk3OTc4MjEwNDVdLCBbMTY2MzgxODE4NS44NjExNDMsIDE2NjIzLCAxLjE2MTI5Mzg2NDI1MDE4M10sIFsxNjYzODE4MTg1Ljk0MzU0MDgsIDE2NjMyLCAxLjEyMjIzMzUxMDAxNzM5NV0sIFsxNjYzODE4MTg2LjAzOTg4ODYsIDE2NjQxLCAxLjEzNTUzNjY3MDY4NDgxNDVdLCBbMTY2MzgxODE4Ni4yODUyMTM1LCAxNjY2OCwgMS4xODU0NzQ4NzI1ODkxMTEzXSwgWzE2NjM4MTgxODcuMjkxNzY4MywgMTY3NDksIDEuMTY1NDU5NTEzNjY0MjQ1Nl0sIFsxNjYzODE4MTg3LjcxMjgwNDYsIDE2Nzk0LCAxLjEzMTczNjg3NDU4MDM4MzNdLCBbMTY2MzgxODE4Ny44MTE3MTY4LCAxNjgwMywgMS4xMzU3MTE1NTA3MTI1ODU0XSwgWzE2NjM4MTgxODcuODk4Njg2NCwgMTY4MTIsIDEuMTM4MzQ2NzkxMjY3Mzk1XSwgWzE2NjM4MTgxODguMjUzODY5LCAxNjg0OCwgMS4xNzE1NjI1NTI0NTIwODc0XSwgWzE2NjM4MTgxODguMzMzMzM1NCwgMTY4NTcsIDEuMTg2MTI0NTYzMjE3MTYzXSwgWzE2NjM4MTgxODguNTA5MDMxNSwgMTY4NzUsIDEuMTIyNTQ5MTc2MjE2MTI1NV0sIFsxNjYzODE4MTg4Ljc4NjkxMTIsIDE2OTAyLCAxLjE0MTkzNDYzMzI1NTAwNDldLCBbMTY2MzgxODE4OS4wODA0MjYyLCAxNjkyOSwgMS4xNDc5NjQ1OTY3NDgzNTJdLCBbMTY2MzgxODE4OS4zNDEzMTYsIDE2OTU2LCAxLjE5NzY3MTQxMzQyMTYzMDldLCBbMTY2MzgxODE4OS40Mzg2MjA2LCAxNjk2NSwgMS4yMjIwNDA1MzQwMTk0NzAyXSwgWzE2NjM4MTgxODkuNjU5NTM4MywgMTY5ODMsIDEuMTY4MzIyNjgyMzgwNjc2M10sIFsxNjYzODE4MTg5Ljg3MzY0ODIsIDE3MDAxLCAxLjE1ODQyNDYxNTg1OTk4NTRdLCBbMTY2MzgxODE5MC4wNjU0MzU2LCAxNzAxOSwgMS4xMzMwMjI2NjU5Nzc0NzhdLCBbMTY2MzgxODE5MC41MzU0NzUzLCAxNzA2NCwgMS4yMDA4MjM3ODM4NzQ1MTE3XSwgWzE2NjM4MTgxOTAuODk5Mjc3MiwgMTcxMDAsIDEuMTYyMzI2OTMxOTUzNDMwMl0sIFsxNjYzODE4MTkxLjE2ODIwMTQsIDE3MTI3LCAxLjEyNTE1ODMwOTkzNjUyMzRdLCBbMTY2MzgxODE5MS41MjkzOTc1LCAxNzE2MywgMS4xNTc4MDIyMjQxNTkyNDA3XSwgWzE2NjM4MTgxOTEuNzAwMjI3NSwgMTcxODEsIDEuMTQwNjk3NDc5MjQ4MDQ2OV0sIFsxNjYzODE4MTkxLjc4NzIyNzQsIDE3MTkwLCAxLjE2ODY3NTg5OTUwNTYxNTJdLCBbMTY2MzgxODE5MS44NzIyMTksIDE3MTk5LCAxLjE0MDgzMjE4NTc0NTIzOTNdLCBbMTY2MzgxODE5Mi4xMjgwMTIyLCAxNzIyNiwgMS4xNDg0NTIyODE5NTE5MDQzXSwgWzE2NjM4MTgxOTIuNTY4MTcyMiwgMTcyNzEsIDEuMTEwNzcxNDE3NjE3Nzk3OV0sIFsxNjYzODE4MTkzLjA4NTcwMjcsIDE3MzI1LCAxLjE2ODExMjAzOTU2NjA0XSwgWzE2NjM4MTgxOTMuMTY3ODkyMiwgMTczMzQsIDEuMTgxMzYyMzkwNTE4MTg4NV0sIFsxNjYzODE4MTkzLjI1MjM2NjgsIDE3MzQzLCAxLjE1ODI2NTIzMzAzOTg1Nl0sIFsxNjYzODE4MTkzLjUxNzgyOTIsIDE3MzcwLCAxLjE5NjQxMzM5Nzc4OTAwMTVdLCBbMTY2MzgxODE5My43NzY3NzU4LCAxNzM5NywgMS4xOTI2OTk2NzA3OTE2MjZdLCBbMTY2MzgxODE5NC4wMzY3Mjg5LCAxNzQyNCwgMS4xNDU1MjMzMDk3MDc2NDE2XSwgWzE2NjM4MTgxOTQuMTk1Njg5NywgMTc0MzMsIDEuMTQ5MDMwNjg1NDI0ODA0N10sIFsxNjYzODE4MTk0Ljc5NTExMDUsIDE3NDY5LCAxLjE3NjQxNjc1NDcyMjU5NTJdLCBbMTY2MzgxODE5NC44ODQ2MzgzLCAxNzQ3OCwgMS4xMTc2MDA1NjAxODgyOTM1XSwgWzE2NjM4MTgxOTQuOTc4OTI3MSwgMTc0ODcsIDEuMTE0NDQwNzk4NzU5NDYwNF0sIFsxNjYzODE4MTk1LjI0OTU3OTIsIDE3NTE0LCAxLjIwMTcyNDc2NzY4NDkzNjVdLCBbMTY2MzgxODE5NS40MjU0NDY1LCAxNzUzMiwgMS4xNTkzOTkwMzI1OTI3NzM0XSwgWzE2NjM4MTgxOTUuNjkxOTIwMywgMTc1NTksIDEuMTE5NjU1MDEzMDg0NDExNl0sIFsxNjYzODE4MTk1Ljk5ODYwOSwgMTc1ODYsIDEuMTc4MzA4NjA2MTQ3NzY2MV0sIFsxNjYzODE4MTk2LjI2NDk2MjcsIDE3NjEzLCAxLjE0MDM1MTI5NTQ3MTE5MTRdLCBbMTY2MzgxODE5Ni42ODA5NjExLCAxNzY0OSwgMS4xMTY2Mjc5MzE1OTQ4NDg2XSwgWzE2NjM4MTgxOTYuODAyNTQ5NiwgMTc2NTgsIDEuMTIwNDU2ODE0NzY1OTMwMl0sIFsxNjYzODE4MTk2LjkwOTIzMzgsIDE3NjY3LCAxLjE0MjIxODU4OTc4MjcxNDhdLCBbMTY2MzgxODE5Ny4wMDA3Nzg3LCAxNzY3NiwgMS4xNDg5NDEyNzg0NTc2NDE2XSwgWzE2NjM4MTgxOTcuMDk4MDA0OCwgMTc2ODUsIDEuMjExNDU2Mjk4ODI4MTI1XSwgWzE2NjM4MTgxOTcuMjg4NTMsIDE3NzAzLCAxLjI5NjY3MTI3MTMyNDE1NzddLCBbMTY2MzgxODE5Ny4zODAxNjIsIDE3NzEyLCAxLjE2MDYwNzU3NjM3MDIzOTNdLCBbMTY2MzgxODE5Ny40Nzg1NzU3LCAxNzcyMSwgMS4xNDM5MDU2Mzk2NDg0Mzc1XSwgWzE2NjM4MTgxOTcuNTc1NTQzOSwgMTc3MzAsIDEuMTQ0MTkzMjkxNjY0MTIzNV0sIFsxNjYzODE4MTk4LjMxNTY3NDUsIDE3ODAyLCAxLjExNTYzOTMyODk1NjYwNF0sIFsxNjYzODE4MTk4LjQ4OTQ0NzYsIDE3ODIwLCAxLjEzOTM4NDE1MDUwNTA2Nl0sIFsxNjYzODE4MTk4LjU3NTQxOTQsIDE3ODI5LCAxLjEzNjQ1NTc3NDMwNzI1MV0sIFsxNjYzODE4MTk4LjY5NjkwNywgMTc4MzgsIDEuMTM5NDAyMzg5NTI2MzY3Ml0sIFsxNjYzODE4MTk4LjgwMzgxOTQsIDE3ODQ3LCAxLjEzNTkwMzIzOTI1MDE4M10sIFsxNjYzODE4MTk5LjExMDc0MDIsIDE3ODc0LCAxLjE5MDI0NjIyNDQwMzM4MTNdLCBbMTY2MzgxODE5OS4zMDc1Njk3LCAxNzg5MiwgMS4xMzAwOTI3NDAwNTg4OTldLCBbMTY2MzgxODE5OS4zOTY3NDA3LCAxNzkwMSwgMS4xMzQ5NzQ4MzczMDMxNjE2XSwgWzE2NjM4MTgxOTkuNzIyODYzLCAxNzkyOCwgMS4xNjMxNzQzOTA3OTI4NDY3XSwgWzE2NjM4MTgxOTkuODQ0NzQ0NywgMTc5MzcsIDEuMTQxNTg5NTIyMzYxNzU1NF0sIFsxNjYzODE4MjAyLjM0OTQ2NTQsIDE4MTUzLCAxLjE0NDAzNzQ4NTEyMjY4MDddLCBbMTY2MzgxODIwMi40NjkxMDI2LCAxODE2MiwgMS4xMzY2NTkzODM3NzM4MDM3XSwgWzE2NjM4MTgyMDIuODczMzkyLCAxODE5OCwgMS4yMjUxMzk0OTg3MTA2MzIzXSwgWzE2NjM4MTgyMDIuOTk0MTUzNSwgMTgyMDcsIDEuMTM4NDk4MzA2Mjc0NDE0XSwgWzE2NjM4MTgyMDMuMDk3MDksIDE4MjE2LCAxLjE0ODU5MDU2NDcyNzc4MzJdLCBbMTY2MzgxODIwMy41NzQxMjU4LCAxODI0MywgMS4xMDY5MDM5MTA2MzY5MDE5XSwgWzE2NjM4MTgyMDMuNzkyNDA2OCwgMTgyNjEsIDEuMjI4MTg1MDU3NjQwMDc1N10sIFsxNjYzODE4MjA0LjA3OTU5OTksIDE4Mjg4LCAxLjE4MjY4OTc4NTk1NzMzNjRdLCBbMTY2MzgxODIwNC4xNzM0MzIsIDE4Mjk3LCAxLjE5Njc4Mjk0NjU4NjYwODldLCBbMTY2MzgxODIwNC4zNzc4MDUsIDE4MzE1LCAxLjE4NTk5MDU3MTk3NTcwOF0sIFsxNjYzODE4MjA0LjQ4Mjk2MjEsIDE4MzI0LCAxLjIwMjkwNTg5MzMyNTgwNTddLCBbMTY2MzgxODIwNC41OTI2Njg4LCAxODMzMywgMS4xNjI0OTc5OTcyODM5MzU1XSwgWzE2NjM4MTgyMDUuMDAzNjQ3OCwgMTgzNjksIDEuMTc5MzQ5NDIyNDU0ODM0XSwgWzE2NjM4MTgyMDUuMjcyMzMxNSwgMTgzOTYsIDEuMTY5NzAwNzQxNzY3ODgzM10sIFsxNjYzODE4MjA1LjYxMDUyNjgsIDE4NDMyLCAxLjEzNzIzNTg3OTg5ODA3MTNdLCBbMTY2MzgxODIwNS43ODQyMzA1LCAxODQ1MCwgMS4xNTcyNzk0OTE0MjQ1NjA1XSwgWzE2NjM4MTgyMDYuMjMzNTg4MiwgMTg0OTUsIDEuMTU4NjQwNzQyMzAxOTQxXSwgWzE2NjM4MTgyMDYuMzIxNzExNSwgMTg1MDQsIDEuMTIzMzkzNDE2NDA0NzI0MV0sIFsxNjYzODE4MjA2LjQwODQwOTgsIDE4NTEzLCAxLjE2MTU3Njc0Nzg5NDI4N10sIFsxNjYzODE4MjA2LjQ5OTYzMSwgMTg1MjIsIDEuMTMxNTIyNDE3MDY4NDgxNF0sIFsxNjYzODE4MjA3LjM4NDM5OTQsIDE4NjEyLCAxLjEyNjU5MDcyODc1OTc2NTZdLCBbMTY2MzgxODIwNy40NzA5MTQ4LCAxODYyMSwgMS4xMjc4ODMwNzY2Njc3ODU2XSwgWzE2NjM4MTgyMDcuNjQwMzYyLCAxODYzOSwgMS4xNTIxMDA0NDM4NDAwMjY5XSwgWzE2NjM4MTgyMDcuOTc2NDgwNywgMTg2NzUsIDEuMTUzMjEwNDAxNTM1MDM0Ml0sIFsxNjYzODE4MjA4LjUxOTkwMjUsIDE4NzIwLCAxLjEzOTgzOTQxMDc4MTg2MDRdLCBbMTY2MzgxODIwOC45OTQ2MDIyLCAxODc2NSwgMS4xMzM3MjI3ODIxMzUwMDk4XSwgWzE2NjM4MTgyMDkuMTcyNTksIDE4NzgzLCAxLjE3NjExNjk0MzM1OTM3NV0sIFsxNjYzODE4MjA5LjI2MDk4NTQsIDE4NzkyLCAxLjIwNjg5NTU4OTgyODQ5MTJdLCBbMTY2MzgxODIwOS40MzUyMTQ1LCAxODgxMCwgMS4xOTk1NTc0MjM1OTE2MTM4XSwgWzE2NjM4MTgyMDkuNTE4OTk4OSwgMTg4MTksIDEuMzUxODMxMDc4NTI5MzU4XSwgWzE2NjM4MTgyMDkuNjAzNjY0OSwgMTg4MjgsIDEuMjA4NTMwOTAyODYyNTQ4OF0sIFsxNjYzODE4MjA5Ljk0NDUwOCwgMTg4NjQsIDEuMTI0NjMwMjEyNzgzODEzNV0sIFsxNjYzODE4MjEwLjEwMzY4ODUsIDE4ODgyLCAxLjE1NjExOTQ2NTgyNzk0Ml0sIFsxNjYzODE4MjEwLjE4OTQxMDQsIDE4ODkxLCAxLjE0Njk1NjMyNDU3NzMzMTVdLCBbMTY2MzgxODIxMC4zNTE5MTM3LCAxODkwOSwgMS4xOTI0ODM5MDE5Nzc1MzldLCBbMTY2MzgxODIxMC41OTczNzY2LCAxODkzNiwgMS4xNTgyMzIwOTI4NTczNjA4XSwgWzE2NjM4MTgyMTAuNjgzNDY0LCAxODk0NSwgMS4xMzM1OTc3MzE1OTAyNzFdLCBbMTY2MzgxODIxMC43NzM1NDQsIDE4OTU0LCAxLjExNzM0NjQwNTk4Mjk3MTJdLCBbMTY2MzgxODIxMS4xMTEyNzA0LCAxODk5MCwgMS4xNDUzODEzMzE0NDM3ODY2XSwgWzE2NjM4MTgyMTEuMjA1ODIxLCAxODk5OSwgMS4xMjU1MjQ2NDAwODMzMTNdLCBbMTY2MzgxODIxMS43NDk4OTIyLCAxOTAzNSwgMS4xNzQzMDk0OTIxMTEyMDZdLCBbMTY2MzgxODIxMS44NDAyNDIsIDE5MDQ0LCAxLjExOTQ1NjUyOTYxNzMwOTZdLCBbMTY2MzgxODIxMi4xODc4MzA0LCAxOTA4MCwgMS4xMTIwNjY3NDU3NTgwNTY2XSwgWzE2NjM4MTgyMTIuMjc5MDYxLCAxOTA4OSwgMS4xMjI3NTEyMzU5NjE5MTRdLCBbMTY2MzgxODIxMi40NzExNzk3LCAxOTEwNywgMS4xNzI2MDA4NjUzNjQwNzQ3XSwgWzE2NjM4MTgyMTIuNTU3Njk3MywgMTkxMTYsIDEuMTMwOTUyMTE5ODI3MjcwNV0sIFsxNjYzODE4MjEyLjY0Mjg2NjYsIDE5MTI1LCAxLjExNjU0OTAxNTA0NTE2Nl0sIFsxNjYzODE4MjEyLjkyMzAwMTMsIDE5MTUyLCAxLjEzNDUwMjY0OTMwNzI1MV0sIFsxNjYzODE4MjEzLjU0MDcyMywgMTkyMTUsIDEuMTYzMTM2MDA1NDAxNjExM10sIFsxNjYzODE4MjEzLjYyOTk1NTgsIDE5MjI0LCAxLjE0MjU4OTIxMTQ2MzkyODJdLCBbMTY2MzgxODIxMy43NzgwMDksIDE5MjMzLCAxLjE2MTU1MzYyMTI5MjExNDNdLCBbMTY2MzgxODIxNC4xMTA4MTY1LCAxOTI2MCwgMS4xNDU5NDk0ODI5MTc3ODU2XSwgWzE2NjM4MTgyMTQuNDkxMzI3MywgMTkyOTYsIDEuMTQ0NjAzMjUyNDEwODg4N10sIFsxNjYzODE4MjE1LjEzODg5MiwgMTkzNTAsIDEuMTgxMzQ1MjI0MzgwNDkzMl0sIFsxNjYzODE4MjE1LjIzODU2NDUsIDE5MzU5LCAxLjEyMTQ3OTk4ODA5ODE0NDVdLCBbMTY2MzgxODIxNS42MzA0MzQsIDE5Mzk1LCAxLjExMTk2NDcwMjYwNjIwMTJdLCBbMTY2MzgxODIxNS43MjQxODgsIDE5NDA0LCAxLjEwODE4MTQ3NjU5MzAxNzZdLCBbMTY2MzgxODIxNi4wODAyNzEsIDE5NDQwLCAxLjE3MDI4MTI5MTAwNzk5NTZdLCBbMTY2MzgxODIxNi4xNjc0MDU2LCAxOTQ0OSwgMS4xNDA4ODkwNDg1NzYzNTVdLCBbMTY2MzgxODIxNi4yNTE2OTczLCAxOTQ1OCwgMS4xNTM3Nzk2MjU4OTI2MzkyXSwgWzE2NjM4MTgyMTYuMzM4MjA1MywgMTk0NjcsIDEuMTUzODkwMTMyOTA0MDUyN10sIFsxNjYzODE4MjE2Ljk4Mzg2NSwgMTk1MzAsIDEuMTI2NzMyODI2MjMyOTEwMl0sIFsxNjYzODE4MjE3LjMzNjYzNDQsIDE5NTY2LCAxLjIyMDY0ODA1MDMwODIyNzVdLCBbMTY2MzgxODIxNy41MDcxNDUyLCAxOTU4NCwgMS4xMzE4MTQ3MTgyNDY0Nl0sIFsxNjYzODE4MjE3LjU5ODUzOTgsIDE5NTkzLCAxLjEwODQwMTc3NTM2MDEwNzRdLCBbMTY2MzgxODIxOC4yNjU4ODkyLCAxOTY1NiwgMS4xMzU1NzM5ODMxOTI0NDM4XSwgWzE2NjM4MTgyMTguNDQwNzM5NiwgMTk2NzQsIDEuMjA4NTg3NTI3Mjc1MDg1NF0sIFsxNjYzODE4MjE4LjYyMDMyMDgsIDE5NjkyLCAxLjE0ODI1ODMyODQzNzgwNTJdLCBbMTY2MzgxODIxOC44MDc5NTU3LCAxOTcxMCwgMS4xNzg3Mjg5MzgxMDI3MjIyXSwgWzE2NjM4MTgyMTkuMjU3NjEzNywgMTk3NTUsIDEuMTM3NzI0MTYxMTQ4MDcxM10sIFsxNjYzODE4MjE5Ljg3NDUyNjcsIDE5ODAwLCAxLjE0NjcwMzAwNDgzNzAzNjFdLCBbMTY2MzgxODIyMC4wNDA4MDA2LCAxOTgxOCwgMS4xMjM0NDM3MjI3MjQ5MTQ2XSwgWzE2NjM4MTgyMjAuMTI2MTQ5LCAxOTgyNywgMS4xNDU5NDUzMTA1OTI2NTE0XSwgWzE2NjM4MTgyMjAuMjIxNDY5NiwgMTk4MzYsIDEuMTExNDQ0ODMwODk0NDcwMl0sIFsxNjYzODE4MjIwLjQ3MTU4MDcsIDE5ODYzLCAxLjE2MTc5MzM1MTE3MzQwMDldLCBbMTY2MzgxODIyMC43NDMxNDc0LCAxOTg5MCwgMS4xNzg1MjY5OTc1NjYyMjMxXSwgWzE2NjM4MTgyMjAuOTIzODY1LCAxOTkwOCwgMS4yMTIxNDU2ODYxNDk1OTcyXSwgWzE2NjM4MTgyMjEuMDA3NzgzNCwgMTk5MTcsIDEuMTYzNjQxMjE0MzcwNzI3NV0sIFsxNjYzODE4MjIxLjE4NjY4OTksIDE5OTM1LCAxLjE1OTI4OTcxNzY3NDI1NTRdLCBbMTY2MzgxODIyMS4yNzA2MTcsIDE5OTQ0LCAxLjEwNzcyOTQzNDk2NzA0MV0sIFsxNjYzODE4MjIxLjgwMTEzMzYsIDE5OTk4LCAxLjE1NjUyMzM0NjkwMDk0XSwgWzE2NjM4MTgyMjIuMjgxMjIxNCwgMjAwMzQsIDEuMTIxMDQ4NDUwNDY5OTcwN10sIFsxNjYzODE4MjIyLjQ1OTUzNCwgMjAwNTIsIDEuMTY2NjQ3MTk1ODE2MDRdLCBbMTY2MzgxODIyMy4yODA4NDA5LCAyMDEzMywgMS4xMjAyNjQ4ODc4MDk3NTM0XSwgWzE2NjM4MTgyMjMuNTQxOTgwMywgMjAxNjAsIDEuMTEyNjczMDQ0MjA0NzEyXSwgWzE2NjM4MTgyMjMuODA0NDk5NiwgMjAxODcsIDEuMTU1MjkyNTEwOTg2MzI4MV0sIFsxNjYzODE4MjIzLjk5MDA1MzcsIDIwMjA1LCAxLjE3MDY5NzMzMTQyODUyNzhdLCBbMTY2MzgxODIyNC44NjU0NzUyLCAyMDI5NSwgMS4xMzA4MTE5Mjk3MDI3NTg4XSwgWzE2NjM4MTgyMjUuMTQ0MTY3NCwgMjAzMjIsIDEuMTA3OTk1MTUyNDczNDQ5N10sIFsxNjYzODE4MjI1LjIzMTgxMywgMjAzMzEsIDEuMTQ0MDcyNDEzNDQ0NTE5XSwgWzE2NjM4MTgyMjUuNzYxNjM3LCAyMDM4NSwgMS4xMzQwODg1MTYyMzUzNTE2XSwgWzE2NjM4MTgyMjYuMDE0MzkwNywgMjA0MTIsIDEuMTQ3ODk1MjE2OTQxODMzNV0sIFsxNjYzODE4MjI2Ljk0OTEwNzIsIDIwNDkzLCAxLjEzNDUzNjUwNDc0NTQ4MzRdLCBbMTY2MzgxODIyNy4yOTM4NzI4LCAyMDUyOSwgMS4xMTkyODkyNzg5ODQwNjk4XSwgWzE2NjM4MTgyMjcuMzgxNDM4LCAyMDUzOCwgMS4xMDUwMzQ5NDczOTUzMjQ3XSwgWzE2NjM4MTgyMjcuODc1Njg0LCAyMDU3NCwgMS4yMDM4NjQzMzYwMTM3OTRdLCBbMTY2MzgxODIyOC4zOTMyNjQsIDIwNjI4LCAxLjI4MDU5MTM2ODY3NTIzMl0sIFsxNjYzODE4MjI4LjQ3NjU4MywgMjA2MzcsIDEuMTczODE4MzQ5ODM4MjU2OF0sIFsxNjYzODE4MjI4LjU2MDk1MjcsIDIwNjQ2LCAxLjE4MzQzODY1ODcxNDI5NDRdLCBbMTY2MzgxODIyOS4xNTI3MDgzLCAyMDcwOSwgMS4xMjUxMjk2OTk3MDcwMzEyXSwgWzE2NjM4MTgyMjkuNTkxODA1LCAyMDc1NCwgMS4wOTk3MTcxNDAxOTc3NTRdLCBbMTY2MzgxODIyOS42ODQyMTcsIDIwNzYzLCAxLjEyNTc3MTE2NDg5NDEwNF0sIFsxNjYzODE4MjI5Ljc2Njk3NywgMjA3NzIsIDEuMTM3OTU5MDAzNDQ4NDg2M10sIFsxNjYzODE4MjI5LjkzOTg5NDQsIDIwNzkwLCAxLjEzMTA1NTExNjY1MzQ0MjRdLCBbMTY2MzgxODIzMC4xMDg0MDY4LCAyMDgwOCwgMS4yNjU4NzU5MzU1NTQ1MDQ0XSwgWzE2NjM4MTgyMzAuNDU0NzEyMiwgMjA4NDQsIDEuMTIxNDQ3ODAxNTg5OTY1OF0sIFsxNjYzODE4MjMwLjU0Mjc1MDEsIDIwODUzLCAxLjEyOTUyMzYzNDkxMDU4MzVdLCBbMTY2MzgxODIzMC43OTY4NTQzLCAyMDg4MCwgMS4xMjQ2ODE3MTExOTY4OTk0XSwgWzE2NjM4MTgyMzEuMjMzMzc5NCwgMjA5MjUsIDEuMTM5NDExMDkxODA0NTA0NF0sIFsxNjYzODE4MjMxLjc2Mzc2MSwgMjA5NzksIDEuMTUzOTQzNDE5NDU2NDgyXSwgWzE2NjM4MTgyMzEuOTI2OTM3LCAyMDk5NywgMS4xODM2MjAwOTUyNTI5OTA3XSwgWzE2NjM4MTgyMzIuMTgyODYwOSwgMjEwMjQsIDEuMTQ3Njg1ODg1NDI5MzgyM10sIFsxNjYzODE4MjMyLjYwODk3NCwgMjEwNjksIDEuMTY2OTg3NTM4MzM3NzA3NV0sIFsxNjYzODE4MjMyLjc4NDgwODksIDIxMDg3LCAxLjE0NzU2NzE1Mjk3Njk4OTddLCBbMTY2MzgxODIzMi44Njg2ODI5LCAyMTA5NiwgMS4xMjcwNzgwNTYzMzU0NDkyXSwgWzE2NjM4MTgyMzIuOTUzMzU0NiwgMjExMDUsIDEuMTI2MzIxMzE1NzY1MzgwOV0sIFsxNjYzODE4MjMzLjIzMDUyODQsIDIxMTIzLCAxLjE0OTg5MTk3MjU0MTgwOV0sIFsxNjYzODE4MjMzLjMzMjYzODMsIDIxMTMyLCAxLjEwNTY3ODQzOTE0MDMxOThdLCBbMTY2MzgxODIzMy40NDUzMDQyLCAyMTE0MSwgMS4xMzE2ODgzNTYzOTk1MzYxXSwgWzE2NjM4MTgyMzMuNzQ3MDg0MSwgMjExNjgsIDEuMTQ5MDY5NjY2ODYyNDg3OF0sIFsxNjYzODE4MjMzLjgzNjc2OTMsIDIxMTc3LCAxLjEwNjYxMDc3NDk5Mzg5NjVdLCBbMTY2MzgxODIzMy45MjcyMDQxLCAyMTE4NiwgMS4wOTQ4OTkxNzc1NTEyNjk1XSwgWzE2NjM4MTgyMzQuMjY1NTc3OCwgMjEyMjIsIDEuMTU5NTEwMzc0MDY5MjEzOV0sIFsxNjYzODE4MjM0LjQ0MTE3MTQsIDIxMjQwLCAxLjE1MjQ3NjU0OTE0ODU1OTZdLCBbMTY2MzgxODIzNC43MDk1MjIsIDIxMjY3LCAxLjEyMDU3ODY0NjY1OTg1MV0sIFsxNjYzODE4MjM0Ljk2ODMxMTMsIDIxMjk0LCAxLjE2NjM4NTc2OTg0NDA1NTJdLCBbMTY2MzgxODIzNS4yMjc1NTEyLCAyMTMyMSwgMS4xNzYxMDQ2NjQ4MDI1NTEzXSwgWzE2NjM4MTgyMzUuNjQ2MDY3OSwgMjEzNDgsIDEuMTE2ODY4NzM0MzU5NzQxMl0sIFsxNjYzODE4MjM1LjgxMzU3NjcsIDIxMzY2LCAxLjEyMzMxNjA0OTU3NTgwNTddLCBbMTY2MzgxODIzNi4yNTE1MTUsIDIxNDExLCAxLjE5MjEyMzA1NTQ1ODA2ODhdLCBbMTY2MzgxODIzNi43NDYwNjI1LCAyMTQ2NSwgMS4xMzMyNjkzMDk5OTc1NTg2XSwgWzE2NjM4MTgyMzcuMTkzMjIyLCAyMTUxMCwgMS4xMzc3NDU2MTg4MjAxOTA0XSwgWzE2NjM4MTgyMzcuMzUzNjA0NiwgMjE1MjgsIDEuMTI4Mjc0NTU5OTc0NjcwNF0sIFsxNjYzODE4MjM3LjUxNDYxMjcsIDIxNTQ2LCAxLjA5ODQ4Nzg1NDAwMzkwNjJdLCBbMTY2MzgxODIzNy41OTg0MDcsIDIxNTU1LCAxLjExNTM1Mzk0MTkxNzQxOTRdLCBbMTY2MzgxODIzNy42OTQwMjA3LCAyMTU2NCwgMS4xMTMxODE0NzE4MjQ2NDZdLCBbMTY2MzgxODIzNy43OTE0NjcsIDIxNTczLCAxLjEyODg5NDA5MDY1MjQ2NThdLCBbMTY2MzgxODIzNy44Nzc4MTQsIDIxNTgyLCAxLjE1MjQ0MDkwNTU3MDk4MzldLCBbMTY2MzgxODIzNy45NjEwNjUsIDIxNTkxLCAxLjEyOTkwMDY5Mzg5MzQzMjZdLCBbMTY2MzgxODIzOC44NzA1Mzk0LCAyMTY4MSwgMS4yMTI0MzI2MjI5MDk1NDZdLCBbMTY2MzgxODIzOS4xOTI3ODgxLCAyMTcxNywgMS4xMjEyNzA2NTY1ODU2OTM0XSwgWzE2NjM4MTgyMzkuNDQ1OTE3NCwgMjE3NDQsIDEuMTA2NTIzOTkwNjMxMTAzNV0sIFsxNjYzODE4MjM5Ljc4OTk4ODgsIDIxNzgwLCAxLjE1ODQ4OTU4NDkyMjc5MDVdLCBbMTY2MzgxODI0MC41Nzk2Mzc1LCAyMTg2MSwgMS4xNDI3MTkxNDk1ODk1Mzg2XSwgWzE2NjM4MTgyNDAuODUwMzUyLCAyMTg4OCwgMS4xMjQ0NzExODc1OTE1NTI3XSwgWzE2NjM4MTgyNDEuMTc5NDE4NiwgMjE5MjQsIDEuMTQ4NTczOTk0NjM2NTM1Nl0sIFsxNjYzODE4MjQxLjI2ODczODcsIDIxOTMzLCAxLjE2MzQ4NjU5OTkyMjE4MDJdLCBbMTY2MzgxODI0MS40MzkxNjA4LCAyMTk1MSwgMS4xNzc3MTk3MTIyNTczODUzXSwgWzE2NjM4MTgyNDEuNTI1NzI1NiwgMjE5NjAsIDEuMTUwNzQ4NjEwNDk2NTIxXSwgWzE2NjM4MTgyNDEuNjk2NjEzMywgMjE5NzgsIDEuMTg5ODAwODU4NDk3NjE5Nl0sIFsxNjYzODE4MjQxLjc4NjI3NDIsIDIxOTg3LCAxLjE1NDQxMjYyNzIyMDE1MzhdLCBbMTY2MzgxODI0Mi4zMDYwNjcyLCAyMjA0MSwgMS4xNTgxMzEyNDE3OTg0MDA5XSwgWzE2NjM4MTgyNDIuOTM4NDMyNywgMjIwOTUsIDEuMTM1ODM4NTA4NjA1OTU3XSwgWzE2NjM4MTgyNDMuNDM2NTExOCwgMjIxMzEsIDEuMTA4ODU5Nzc3NDUwNTYxNV0sIFsxNjYzODE4MjQzLjc4MjQ0NjEsIDIyMTY3LCAxLjExMDE4NDQzMTA3NjA0OThdLCBbMTY2MzgxODI0My45ODg0NTQ4LCAyMjE4NSwgMS4xMjYwMzU4MDk1MTY5MDY3XSwgWzE2NjM4MTgyNDQuMDg3MTMwMywgMjIxOTQsIDEuMTE1MTQ3MTEzODAwMDQ4OF0sIFsxNjYzODE4MjQ0LjI1NDMyODMsIDIyMjEyLCAxLjEzNzY5NDIzOTYxNjM5NF0sIFsxNjYzODE4MjQ0LjQyMjkwMSwgMjIyMzAsIDEuMTEyNTkwNTUxMzc2MzQyOF0sIFsxNjYzODE4MjQ0Ljc3ODcxNTgsIDIyMjY2LCAxLjE0NDE2MDc0NzUyODA3NjJdLCBbMTY2MzgxODI0NC45NzI3Mzk3LCAyMjI4NCwgMS4xMDYyNjg0MDU5MTQzMDY2XSwgWzE2NjM4MTgyNDUuMTQyMTQyNSwgMjIzMDIsIDEuMTE5MTQ1MDM1NzQzNzEzNF0sIFsxNjYzODE4MjQ1Ljg0MTQzMzgsIDIyMzY1LCAxLjExMTY1ODkzMDc3ODUwMzRdLCBbMTY2MzgxODI0NS45Mzc4MTYsIDIyMzc0LCAxLjEwMTEzOTQyNjIzMTM4NDNdLCBbMTY2MzgxODI0Ni4zNTgxNDAyLCAyMjQxMCwgMS4xODEyMTAxNjAyNTU0MzIxXSwgWzE2NjM4MTgyNDYuNzI5MjQ1MiwgMjI0NDYsIDEuMTIzMzg3MzM2NzMwOTU3XSwgWzE2NjM4MTgyNDcuMDUyNTQyLCAyMjQ3MywgMS4xNjI0NDMyODAyMjAwMzE3XSwgWzE2NjM4MTgyNDcuMjUwNzQ1MywgMjI0OTEsIDEuMTQ0MzYwNDIzMDg4MDczN10sIFsxNjYzODE4MjQ3LjMzMzMyMzUsIDIyNTAwLCAxLjExODg2NzUxNjUxNzYzOTJdLCBbMTY2MzgxODI0Ny40MjMxMjc0LCAyMjUwOSwgMS4xNjQ0ODEyODIyMzQxOTJdLCBbMTY2MzgxODI0Ny41MDk4NzgyLCAyMjUxOCwgMS4xNjk4NzEwOTE4NDI2NTE0XSwgWzE2NjM4MTgyNDcuNjc3NDY4LCAyMjUzNiwgMS4xNDE4MTc1Njk3MzI2NjZdLCBbMTY2MzgxODI0Ny44NDcwODA3LCAyMjU1NCwgMS4xODM2MDg4ODk1Nzk3NzNdLCBbMTY2MzgxODI0Ny45MjY4NzgyLCAyMjU2MywgMS4xNDg4ODQ2NTQwNDUxMDVdLCBbMTY2MzgxODI0OC4wOTQ3NzY2LCAyMjU4MSwgMS4xMDU3MDI3NTc4MzUzODgyXSwgWzE2NjM4MTgyNDguMzIyODUwNSwgMjI1OTksIDEuMTQzNDkxODY0MjA0NDA2N10sIFsxNjYzODE4MjQ4LjY0Mjk0OTMsIDIyNjI2LCAxLjEwNDAzMzk0Njk5MDk2NjhdLCBbMTY2MzgxODI0OC44Nzk1MzQ1LCAyMjY0NCwgMS4yNTEyMzQ3Njk4MjExNjddLCBbMTY2MzgxODI0OS4wNjk4ODIyLCAyMjY2MiwgMS4xNjI5NjAxNzE2OTk1MjRdLCBbMTY2MzgxODI0OS4xNjQ3NTk0LCAyMjY3MSwgMS4xMjI0NTM2ODk1NzUxOTUzXSwgWzE2NjM4MTgyNDkuMjQ5NTMxNSwgMjI2ODAsIDEuMTgyMzc5MjQ1NzU4MDU2Nl0sIFsxNjYzODE4MjQ5LjQxMjk0NTUsIDIyNjk4LCAxLjE2NzIwODY3MTU2OTgyNDJdLCBbMTY2MzgxODI0OS41OTE3MDQsIDIyNzE2LCAxLjEyNzU3ODQ5NjkzMjk4MzRdLCBbMTY2MzgxODI1MC4wMjY2MDc1LCAyMjc2MSwgMS4xMTQwMjIzNzQxNTMxMzcyXSwgWzE2NjM4MTgyNTAuMjUzMzQ1MywgMjI3NzksIDEuMTI0Mjg5Mjc0MjE1Njk4Ml0sIFsxNjYzODE4MjUwLjM1MDUzOSwgMjI3ODgsIDEuMTMyNjM5NDA4MTExNTcyM10sIFsxNjYzODE4MjUwLjU1NjU2OSwgMjI4MDYsIDEuMTE4NjQ1MDcxOTgzMzM3NF0sIFsxNjYzODE4MjUxLjAxMDk2NjMsIDIyODUxLCAxLjIwNjE3NTQ0NjUxMDMxNV0sIFsxNjYzODE4MjUxLjE4NzA4NywgMjI4NjksIDEuMTU1ODA2Nzc5ODYxNDUwMl0sIFsxNjYzODE4MjUxLjUzNDEzMTUsIDIyODg3LCAxLjE1NDIzNDA1MTcwNDQwNjddLCBbMTY2MzgxODI1MS42NDE1MzQsIDIyODk2LCAxLjE4MzI2NjYzOTcwOTQ3MjddLCBbMTY2MzgxODI1MS45MjMwNDQ0LCAyMjkyMywgMS4xMjA2ODE2NDM0ODYwMjNdLCBbMTY2MzgxODI1Mi42NzU4MDMsIDIyOTk1LCAxLjE1MjM0MDc2OTc2Nzc2MTJdLCBbMTY2MzgxODI1Mi43NTU3NDIzLCAyMzAwNCwgMS4xMjYwODk5MzA1MzQzNjI4XSwgWzE2NjM4MTgyNTMuMTY3NzQ4NSwgMjMwNDksIDEuMTAxMTg1MjAyNTk4NTcxOF0sIFsxNjYzODE4MjUzLjYzMTk2MjgsIDIzMDk0LCAxLjEwMTkyNzYzODA1Mzg5NF0sIFsxNjYzODE4MjUzLjcyMTk5OTQsIDIzMTAzLCAxLjEyMzYzMDg4MTMwOTUwOTNdLCBbMTY2MzgxODI1My44ODgwNzcsIDIzMTIxLCAxLjEyNzU1ODIzMTM1Mzc1OThdLCBbMTY2MzgxODI1NC4xNDI5Njg3LCAyMzE0OCwgMS4xMTY5MDgwNzM0MjUyOTNdLCBbMTY2MzgxODI1NC4zMTg3MzI3LCAyMzE2NiwgMS4xMTc4NzEwNDYwNjYyODQyXSwgWzE2NjM4MTgyNTQuNTAyMzkzMiwgMjMxODQsIDEuMTA3NTMwOTUxNDk5OTM5XSwgWzE2NjM4MTgyNTQuNjc2NzY3MywgMjMyMDIsIDEuMTEyNjExMjkzNzkyNzI0Nl0sIFsxNjYzODE4MjU0Ljc3MjYwMSwgMjMyMTEsIDEuMTIzMjA3NDQ5OTEzMDI1XSwgWzE2NjM4MTgyNTUuMjg1MDQ5NCwgMjMyNTYsIDEuMTcyMDE5MjQzMjQwMzU2NF0sIFsxNjYzODE4MjU1LjM3MTAwNDYsIDIzMjY1LCAxLjI1NzY1MjUyMTEzMzQyMjldLCBbMTY2MzgxODI1NS40NjI4NjI1LCAyMzI3NCwgMS4yNjY0MjcxNTkzMDkzODcyXSwgWzE2NjM4MTgyNTUuNzIwNzEyNCwgMjMzMDEsIDEuMTcxOTU3OTY5NjY1NTI3M10sIFsxNjYzODE4MjU1LjgwNjg0MTksIDIzMzEwLCAxLjExNTAzNTc3MjMyMzYwODRdLCBbMTY2MzgxODI1Ni4wNTk3NjYsIDIzMzM3LCAxLjExNzIwNzE2OTUzMjc3NTldLCBbMTY2MzgxODI1Ni41ODMyNzMyLCAyMzM5MSwgMS4xMTQ3NTUzOTIwNzQ1ODVdLCBbMTY2MzgxODI1Ni42Njg2MzYzLCAyMzQwMCwgMS4xMDMxNzIxODMwMzY4MDQyXSwgWzE2NjM4MTgyNTYuODU2MDU5MywgMjM0MTgsIDEuMTA0NTg4MDMxNzY4Nzk4OF0sIFsxNjYzODE4MjU3LjA0NzYxMzEsIDIzNDM2LCAxLjEzMzg0MTYzMzc5NjY5Ml0sIFsxNjYzODE4MjU3LjIzMTQxNTUsIDIzNDU0LCAxLjIxMjI1MDk0Nzk1MjI3MDVdLCBbMTY2MzgxODI1Ny4zMTk3MjYyLCAyMzQ2MywgMS4xNzQyMzEwNTIzOTg2ODE2XSwgWzE2NjM4MTgyNTguMjY1MzU4NywgMjM1NjIsIDEuMjA1NzgwMjY3NzE1NDU0XSwgWzE2NjM4MTgyNTguMzU0MDQwMSwgMjM1NzEsIDEuMTQzNjI1NzM2MjM2NTcyM10sIFsxNjYzODE4MjU4LjQ1MjYwNTcsIDIzNTgwLCAxLjEyODI0MTg5NjYyOTMzMzVdLCBbMTY2MzgxODI1OC43MjQ3MDYsIDIzNjA3LCAxLjE1MTM1Mzk1NTI2ODg1OTldLCBbMTY2MzgxODI1OS4zMzU2ODMzLCAyMzY1MiwgMS4xNjYzNDQxNjU4MDIwMDJdLCBbMTY2MzgxODI1OS40MjU0MTQ4LCAyMzY2MSwgMS4xMDk3MzQ4OTI4NDUxNTM4XSwgWzE2NjM4MTgyNTkuNzk4NTkyNiwgMjM2OTcsIDEuMTgwNTA0OTE4MDk4NDQ5N11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_10-18-18_d10e5d58bf4e&tag=Loss%2Ftrain":{"data":"W1sxNjYzNzU1NTA2Ljc4ODA5MywgODgsIDcuMjc2NTEzMDk5NjcwNDFdLCBbMTY2Mzc1NTUwNi45NDYxMDQsIDExMCwgNS45NzYzNDg0MDAxMTU5NjddLCBbMTY2Mzc1NTUwOC4yNjU2NzY3LCAyNDIsIDQuNzkyOTg1NDM5MzAwNTM3XSwgWzE2NjM3NTU1MDkuMDU3ODI5OSwgMzMwLCA0LjMxNjQyODY2MTM0NjQzNTVdLCBbMTY2Mzc1NTUwOS4yNTk2MDAyLCAzNTIsIDQuMjE1MTQ5ODc5NDU1NTY2XSwgWzE2NjM3NTU1MDkuNzU1ODM1NSwgNDE4LCAzLjg3NjUyNDkyNTIzMTkzMzZdLCBbMTY2Mzc1NTUwOS45MTUyNTI3LCA0NDAsIDMuNzQ1MDU0MjQ0OTk1MTE3XSwgWzE2NjM3NTU1MTAuMDc5NTI5LCA0NjIsIDMuNjQ3MDE0ODU2MzM4NTAxXSwgWzE2NjM3NTU1MTAuNzEwNDg5NSwgNTA2LCAzLjQ0NDQ5MTM4NjQxMzU3NF0sIFsxNjYzNzU1NTEwLjkzOTcyNywgNTI4LCAzLjM2NDU3MjA0ODE4NzI1Nl0sIFsxNjYzNzU1NTExLjQ2MDMxNDUsIDU5NCwgMy4xOTEyNDY1MDk1NTIwMDJdLCBbMTY2Mzc1NTUxMS42MjE4NjMxLCA2MTYsIDMuMDQ2MDQyMjAzOTAzMTk4Ml0sIFsxNjYzNzU1NTEyLjYyNDE4NiwgNzQ4LCAyLjYzMjM4NDMwMDIzMTkzMzZdLCBbMTY2Mzc1NTUxMy4wODk2OTg2LCA4MTQsIDIuNDcyNzQwMTczMzM5ODQzOF0sIFsxNjYzNzU1NTEzLjYwMzczNywgODU4LCAyLjM3ODg0MDIwODA1MzU4OV0sIFsxNjYzNzU1NTE0LjI3NjY1MzMsIDkwMiwgMi4zMzAwMzgzMDkwOTcyOV0sIFsxNjYzNzU1NTE1LjgzODE2NTUsIDEwNTYsIDIuMTIzODYzOTM1NDcwNTgxXSwgWzE2NjM3NTU1MTYuMDM1NDQ4LCAxMDc4LCAyLjA4Njg0MTU4MzI1MTk1M10sIFsxNjYzNzU1NTE2LjIwMjc2NywgMTEwMCwgMi4wODk2NjQ5MzYwNjU2NzRdLCBbMTY2Mzc1NTUxNi41Mzg3NTQsIDExNDQsIDEuOTkzNjIyMDY0NTkwNDU0XSwgWzE2NjM3NTU1MTcuMDM5NzA4NCwgMTIxMCwgMS45NjcyMzM3NzcwNDYyMDM2XSwgWzE2NjM3NTU1MTcuNjI2NDg0NiwgMTI3NiwgMS44Nzg2NjYwNDMyODE1NTUyXSwgWzE2NjM3NTU1MTguMTY2NzcyNCwgMTM0MiwgMS44NDM4MDM4ODI1OTg4NzddLCBbMTY2Mzc1NTUxOC4zMjQxNTAzLCAxMzY0LCAxLjg2MTczMTA1MjM5ODY4MTZdLCBbMTY2Mzc1NTUxOC40NzU0NTQsIDEzODYsIDEuODc1Mjg1OTgzMDg1NjMyM10sIFsxNjYzNzU1NTE4Ljc3ODYzNzIsIDE0MDgsIDEuODMxODMzMDA0OTUxNDc3XSwgWzE2NjM3NTU1MTkuMDgyMTgsIDE0NTIsIDEuNzk2Mjk3MzExNzgyODM3XSwgWzE2NjM3NTU1MTkuMjc4OTgxLCAxNDc0LCAxLjg4NTYxMDEwMzYwNzE3NzddLCBbMTY2Mzc1NTUxOS40NTA2MDQsIDE0OTYsIDEuNzkxMTI4NzU0NjE1NzgzN10sIFsxNjYzNzU1NTE5LjkwOTY1NDQsIDE1MTgsIDEuNzg2NzE0NDM0NjIzNzE4M10sIFsxNjYzNzU1NTIwLjQ0MTc2MDUsIDE1NjIsIDEuNzkzNjE2ODkwOTA3Mjg3Nl0sIFsxNjYzNzU1NTIwLjY2OTY3OCwgMTU4NCwgMS43NjAyNDU1NjE1OTk3MzE0XSwgWzE2NjM3NTU1MjEuNjcwNjIzNSwgMTcxNiwgMS43MDk5MzY2MTg4MDQ5MzE2XSwgWzE2NjM3NTU1MjIuMDA0MjA5OCwgMTc2MCwgMS43ODU1NTI5Nzg1MTU2MjVdLCBbMTY2Mzc1NTUyMi4xNzY4NzEsIDE3ODIsIDEuNzY5NDM2MjQwMTk2MjI4XSwgWzE2NjM3NTU1MjIuNDk0MTUwOSwgMTgyNiwgMS43MDIwMTE4MjM2NTQxNzQ4XSwgWzE2NjM3NTU1MjMuMDM4MjEwMiwgMTg5MiwgMS45MDU2NDgxMTIyOTcwNThdLCBbMTY2Mzc1NTUyMy44NzQ2NDEsIDE5ODAsIDEuNjU0NjgwMTMyODY1OTA1OF0sIFsxNjYzNzU1NTI0LjAzNDg4LCAyMDAyLCAxLjcwMTQ1Nzk3NzI5NDkyMTldLCBbMTY2Mzc1NTUyNS45MDUwNjgsIDIyMDAsIDEuNzMxNDgwOTU2MDc3NTc1N10sIFsxNjYzNzU1NTI2LjE2MzQ5OSwgMjIyMiwgMS43MzQ2MjI5NTUzMjIyNjU2XSwgWzE2NjM3NTU1MjYuNzYxMzU4LCAyMjg4LCAxLjY3NjcyMDI2MTU3Mzc5MTVdLCBbMTY2Mzc1NTUyNy40OTg2OTc1LCAyMzU0LCAxLjU4NTU1MzQwNzY2OTA2NzRdLCBbMTY2Mzc1NTUyNy43NTEzNjAyLCAyMzc2LCAxLjYwMjQwODc2Njc0NjUyMV0sIFsxNjYzNzU1NTI4LjI0MjIwOSwgMjQyMCwgMS41ODY0NDQyNTg2ODk4ODA0XSwgWzE2NjM3NTU1MjkuMjYxMjkwMywgMjU3NCwgMS42MDI5NTE2NDU4NTExMzUzXSwgWzE2NjM3NTU1MzAuMDI0MzUzLCAyNjg0LCAxLjYxNDUxMDc3NDYxMjQyNjhdLCBbMTY2Mzc1NTUzMC44MTk2NTEsIDI3NzIsIDEuNTgwODM1NDYxNjE2NTE2MV0sIFsxNjYzNzU1NTMwLjk1NzA2NTgsIDI3OTQsIDEuNTQ2MTEyODk1MDExOTAxOV0sIFsxNjYzNzU1NTMxLjI0MDQ2NTYsIDI4MzgsIDEuNTM1MjYxOTg4NjM5ODMxNV0sIFsxNjYzNzU1NTMxLjY4ODc0NzIsIDI4ODIsIDEuNTI2NjYwOTE5MTg5NDUzMV0sIFsxNjYzNzU1NTMxLjgzOTk0MjcsIDI5MDQsIDEuNTE3NjMwNTc3MDg3NDAyM10sIFsxNjYzNzU1NTMyLjcyMzE0OCwgMzAxNCwgMS40NzU0NjY4NDc0MTk3Mzg4XSwgWzE2NjM3NTU1MzIuODY2MjQ3MiwgMzAzNiwgMS41MzU3MzA2MDAzNTcwNTU3XSwgWzE2NjM3NTU1MzQuNTg4NzMwMywgMzE5MCwgMS41MDYwMzEwMzYzNzY5NTMxXSwgWzE2NjM3NTU1MzUuMDc1MzMzNiwgMzIzNCwgMS41Mjg2MDIzNjE2NzkwNzcxXSwgWzE2NjM3NTU1MzUuMjkyODU4NiwgMzI1NiwgMS41MTg5MjI4MDU3ODYxMzI4XSwgWzE2NjM3NTU1MzUuODEwODc1NywgMzMyMiwgMS40NzQyMDg0NzQxNTkyNDA3XSwgWzE2NjM3NTU1MzcuNDAwMzA3LCAzNDc2LCAxLjQxODI0NzgxODk0NjgzODRdLCBbMTY2Mzc1NTUzNy44NTg5NDYsIDM1MjAsIDEuNTY0ODA3MTc2NTg5OTY1OF0sIFsxNjYzNzU1NTM4LjA0MjQ0NzYsIDM1NDIsIDEuNDQyNDQ1NzU1MDA0ODgyOF0sIFsxNjYzNzU1NTM4LjM1NDM5NDcsIDM1ODYsIDEuNTMyMTkxNzUzMzg3NDUxMl0sIFsxNjYzNzU1NTM4LjY0ODI4NjYsIDM2MzAsIDEuNDQ3MTY4ODI3MDU2ODg0OF0sIFsxNjYzNzU1NTM5LjU4MDgwNzIsIDM3NjIsIDEuNDA3MjU3MTk5Mjg3NDE0Nl0sIFsxNjYzNzU1NTM5LjcyNzgyNiwgMzc4NCwgMS40MDM2MzY2OTM5NTQ0Njc4XSwgWzE2NjM3NTU1MzkuODc1MTExOCwgMzgwNiwgMS4zODE4NTE5MTE1NDQ3OTk4XSwgWzE2NjM3NTU1NDAuNDcwNDUwNiwgMzg3MiwgMS4zNzA4NDE4NjA3NzExNzkyXSwgWzE2NjM3NTU1NDAuNjI3MDgyOCwgMzg5NCwgMS4zNzAyMjg1Mjg5NzY0NDA0XSwgWzE2NjM3NTU1NDAuNzYyMTM1NSwgMzkxNiwgMS4zOTI0NjI4NDk2MTcwMDQ0XSwgWzE2NjM3NTU1NDAuODk4ODg3NiwgMzkzOCwgMS4zNjE5MjI3NDA5MzYyNzkzXSwgWzE2NjM3NTU1NDEuMzY5MjY5NiwgMzk4MiwgMS4zNTI3MjMxMjE2NDMwNjY0XSwgWzE2NjM3NTU1NDEuNTIzNjMxOCwgNDAwNCwgMS4zNTY1MzE3MzkyMzQ5MjQzXSwgWzE2NjM3NTU1NDIuMDkzNzAyNiwgNDA3MCwgMS4zNjgxNTYxOTQ2ODY4ODk2XSwgWzE2NjM3NTU1NDIuMzI3MjAxOCwgNDA5MiwgMS4zNjUwODc4NjY3ODMxNDJdLCBbMTY2Mzc1NTU0Mi41NDI1Mjk2LCA0MTE0LCAxLjM4NzI1ODc2ODA4MTY2NV0sIFsxNjYzNzU1NTQzLjQ4NTM3MiwgNDIwMiwgMS40MTk5MTY5ODc0MTkxMjg0XSwgWzE2NjM3NTU1NDMuNzEwODQxNywgNDIyNCwgMS41ODE4MjYzMjkyMzEyNjIyXSwgWzE2NjM3NTU1NDMuOTIxMjg0NywgNDI0NiwgMS4zNzMxODY0NjkwNzgwNjRdLCBbMTY2Mzc1NTU0NC42MzUzMjMsIDQzMTIsIDEuMzY5Nzg2NzM5MzQ5MzY1Ml0sIFsxNjYzNzU1NTQ1LjQ4MTA4MDMsIDQ0MDAsIDEuMzY0MjU0NDc0NjM5ODkyNl0sIFsxNjYzNzU1NTQ1LjY4MjgxOCwgNDQyMiwgMS4zNTI3NzA2ODYxNDk1OTcyXSwgWzE2NjM3NTU1NDYuMTI1NDYxMywgNDQ2NiwgMS4zNDc0OTM1MjkzMTk3NjMyXSwgWzE2NjM3NTU1NDYuMzEwMzg3OCwgNDQ4OCwgMS4zODc2MzI2MDg0MTM2OTYzXSwgWzE2NjM3NTU1NDYuNDU1MTU4MiwgNDUxMCwgMS4zNzUwODIzNzM2MTkwNzk2XSwgWzE2NjM3NTU1NDYuNjIxMDUxOCwgNDUzMiwgMS4zMzY2NDgxMDY1NzUwMTIyXSwgWzE2NjM3NTU1NDYuOTMwMTI4LCA0NTc2LCAxLjM0OTM2OTUyNTkwOTQyMzhdLCBbMTY2Mzc1NTU0Ny4xOTk5NTYsIDQ2MjAsIDEuMzg5MDMzNjc1MTkzNzg2Nl0sIFsxNjYzNzU1NTQ3LjU4NDQ1LCA0NjY0LCAxLjM0MDAxNzc5NTU2Mjc0NDFdLCBbMTY2Mzc1NTU0OC4wNDI4MzgzLCA0NzA4LCAxLjMwMzgwNjc4MTc2ODc5ODhdLCBbMTY2Mzc1NTU0OC41MzM1NjQsIDQ3NTIsIDEuMzQyMjM1Njg0Mzk0ODM2NF0sIFsxNjYzNzU1NTQ4Ljc3MTUwNzUsIDQ3NzQsIDEuNDQ1Njc5MDY4NTY1MzY4N10sIFsxNjYzNzU1NTQ5LjQwNDE1MTIsIDQ4NDAsIDEuNDEwNDA1Mzk3NDE1MTYxMV0sIFsxNjYzNzU1NTQ5LjU4NjY4NDIsIDQ4NjIsIDEuMzI1MTEzNjU0MTM2NjU3N10sIFsxNjYzNzU1NTQ5LjgzMDA4NTMsIDQ4ODQsIDEuMzk3MDUwNzM4MzM0NjU1OF0sIFsxNjYzNzU1NTUwLjA0MzgwODcsIDQ5MDYsIDEuMjg4MjI2MTI3NjI0NTExN10sIFsxNjYzNzU1NTUwLjUyMjc3MDYsIDQ5NTAsIDEuMzI2NDY2OTE3OTkxNjM4Ml0sIFsxNjYzNzU1NTUxLjU1NjMwNjYsIDUwNjAsIDEuMjk2NTY5NDY2NTkwODgxM10sIFsxNjYzNzU1NTUyLjcxODY2OTQsIDUyMzYsIDEuMjg0MTQzNDQ3ODc1OTc2Nl0sIFsxNjYzNzU1NTUyLjg1ODMwMzUsIDUyNTgsIDEuMzA4MzIyOTA2NDk0MTQwNl0sIFsxNjYzNzU1NTUzLjExOTIzODYsIDUyODAsIDEuMzQ0MDMzOTU2NTI3NzFdLCBbMTY2Mzc1NTU1My40Mzg2NzA2LCA1MzI0LCAxLjM1NTIyNDQ5MDE2NTcxMDRdLCBbMTY2Mzc1NTU1My41ODI5MzIyLCA1MzQ2LCAxLjI4NDA4NTk4ODk5ODQxM10sIFsxNjYzNzU1NTU0LjA3ODI5MTQsIDUzOTAsIDEuMjU1ODE1NTA1OTgxNDQ1M10sIFsxNjYzNzU1NTU0LjIzMjMxNywgNTQxMiwgMS4yNzIyODAyMTYyMTcwNDFdLCBbMTY2Mzc1NTU1NC40MTM0MjE2LCA1NDM0LCAxLjI5MDMyOTQ1NjMyOTM0NTddLCBbMTY2Mzc1NTU1NC42MzMwMTI1LCA1NDU2LCAxLjI2ODkzNTY4MDM4OTQwNDNdLCBbMTY2Mzc1NTU1NS45MDI4MjI1LCA1NTY2LCAxLjM3MzYyNTYzNjEwMDc2OV0sIFsxNjYzNzU1NTU2LjA2NTYyOTcsIDU1ODgsIDEuMjk0NzQxNjMwNTU0MTk5Ml0sIFsxNjYzNzU1NTU2LjIzNjkwNTgsIDU2MTAsIDEuMzM2NzI3ODU3NTg5NzIxN10sIFsxNjYzNzU1NTU2Ljg5MjEwMjcsIDU2OTgsIDEuMjYxMTUyOTgyNzExNzkyXSwgWzE2NjM3NTU1NTcuMTExMTI0NSwgNTcyMCwgMS4yMjYwNDU2MDg1MjA1MDc4XSwgWzE2NjM3NTU1NTcuMjgxMzI5NiwgNTc0MiwgMS4zMDcxMDE5NjQ5NTA1NjE1XSwgWzE2NjM3NTU1NTcuNjEwOTYzMywgNTc4NiwgMS41NDk4MTM2MjgxOTY3MTYzXSwgWzE2NjM3NTU1NTkuNDQyMTAzMSwgNTk2MiwgMS4zMTU4MzExODQzODcyMDddLCBbMTY2Mzc1NTU1OS42OTQ5MDM2LCA1OTg0LCAxLjI1NzA4NTQ0MjU0MzAyOThdLCBbMTY2Mzc1NTU2MC4zNTU0MDg0LCA2MDUwLCAxLjIzMDg2MjYxNzQ5MjY3NThdLCBbMTY2Mzc1NTU2MC43MTA2MzcsIDYwOTQsIDEuMjQ5OTA3NDkzNTkxMzA4Nl0sIFsxNjYzNzU1NTYwLjk4OTM5OTQsIDYxMzgsIDEuMjUxODMyNzIzNjE3NTUzN10sIFsxNjYzNzU1NTYxLjM5NDkxODIsIDYxODIsIDEuMzQ0MDExNDI1OTcxOTg0OV0sIFsxNjYzNzU1NTYxLjkxNTYxNTgsIDYyMjYsIDEuMjg3MDIwMzI1NjYwNzA1Nl0sIFsxNjYzNzU1NTYyLjE0NDcxMzYsIDYyNDgsIDEuMjYwODEyOTk3ODE3OTkzMl0sIFsxNjYzNzU1NTYyLjUwODk5NzcsIDYyOTIsIDEuMjc3NDMxMDExMTk5OTUxMl0sIFsxNjYzNzU1NTYyLjg3NjU3MzgsIDYzMzYsIDEuMjM1MTA2ODI1ODI4NTUyMl0sIFsxNjYzNzU1NTYzLjA5NzgwMDUsIDYzNTgsIDEuMzE1MDYwNDk2MzMwMjYxMl0sIFsxNjYzNzU1NTYzLjQwNDc4MzcsIDY0MDIsIDEuMjU1NjUwMDQzNDg3NTQ4OF0sIFsxNjYzNzU1NTY0LjU0NTkzNDQsIDY1MTIsIDEuMjMzOTU0OTA2NDYzNjIzXSwgWzE2NjM3NTU1NjQuNjkwOTg3MywgNjUzNCwgMS4yNjQyMTUxMTE3MzI0ODNdLCBbMTY2Mzc1NTU2NC44MzU3NTQsIDY1NTYsIDEuMjk1OTU4NzU3NDAwNTEyN10sIFsxNjYzNzU1NTY0Ljk4NjAwNSwgNjU3OCwgMS4yOTQ4MDg4NjQ1OTM1MDU5XSwgWzE2NjM3NTU1NjYuMTkxMzUwNSwgNjc1NCwgMS4yNjk2OTc0Mjc3NDk2MzM4XSwgWzE2NjM3NTU1NjYuNDgxMjE5MywgNjc5OCwgMS4yMTE2Mzg2ODkwNDExMzc3XSwgWzE2NjM3NTU1NjYuNzU4OTk5MywgNjgyMCwgMS4yNzkwNzQ1NDk2NzQ5ODc4XSwgWzE2NjM3NTU1NjcuMTkxODYwNywgNjg4NiwgMS4yNDU0NTkwNzk3NDI0MzE2XSwgWzE2NjM3NTU1NjcuOTY1ODIyNywgNjk3NCwgMS4yNTI4NjYwMjk3MzkzNzk5XSwgWzE2NjM3NTU1NjguMjYwMzgzOCwgNzAxOCwgMS4zMTYyNTkyNjQ5NDU5ODM5XSwgWzE2NjM3NTU1NjguNDExODUzNiwgNzA0MCwgMS4yODU2ODgyODEwNTkyNjUxXSwgWzE2NjM3NTU1NjkuMDUxOTY1NSwgNzEwNiwgMS4yNTA5NjU4MzM2NjM5NDA0XSwgWzE2NjM3NTU1NjkuMzgxNDgzOCwgNzE1MCwgMS4yMDAwOTk1ODc0NDA0OTA3XSwgWzE2NjM3NTU1NzAuMjUyMjk4NCwgNzI2MCwgMS4zMzAwODUxNTgzNDgwODM1XSwgWzE2NjM3NTU1NzAuNjc3NDEwNCwgNzMwNCwgMS4yMDg4OTg1NDQzMTE1MjM0XSwgWzE2NjM3NTU1NzAuODIzNjc3MywgNzMyNiwgMS4yODI1NTIwMDM4NjA0NzM2XSwgWzE2NjM3NTU1NzEuODk1MjIwNSwgNzQzNiwgMS4yNDI4NTE0OTU3NDI3OTc5XSwgWzE2NjM3NTU1NzIuMTA5ODkzOCwgNzQ1OCwgMS4yMDg0MjQ5MjU4MDQxMzgyXSwgWzE2NjM3NTU1NzIuNjU0OTE5MSwgNzUwMiwgMS4xODc4Njg1OTUxMjMyOTFdLCBbMTY2Mzc1NTU3My40MDAyMDczLCA3NTY4LCAxLjI4NzEyODkyNTMyMzQ4NjNdLCBbMTY2Mzc1NTU3My42OTc2NjE2LCA3NjEyLCAxLjM0MTgxMjg0OTA0NDc5OThdLCBbMTY2Mzc1NTU3My44MzE4OTUsIDc2MzQsIDEuMjAzNzMyODQ4MTY3NDE5NF0sIFsxNjYzNzU1NTc0LjUxNTMzMzQsIDc3MjIsIDEuMjEzNzYxNTY4MDY5NDU4XSwgWzE2NjM3NTU1NzQuOTQ5Nzg4OCwgNzc2NiwgMS4yMjc0NDc4NjczOTM0OTM3XSwgWzE2NjM3NTU1NzUuMTg5OTQ2LCA3Nzg4LCAxLjI2Nzg4MDMyMDU0OTAxMTJdLCBbMTY2Mzc1NTU3NS40NTk3MTIsIDc4MTAsIDEuMzY2OTY3OTE2NDg4NjQ3NV0sIFsxNjYzNzU1NTc2LjM5MTM1MTUsIDc4OTgsIDEuMzk0NTM3NTY4MDkyMzQ2Ml0sIFsxNjYzNzU1NTc3LjI1MjMzNDYsIDc5ODYsIDEuMTg2NjM3MjgyMzcxNTIxXSwgWzE2NjM3NTU1NzcuNDc1MjIyMywgODAwOCwgMS4yMTUzNDA5NzE5NDY3MTYzXSwgWzE2NjM3NTU1NzcuNjI1NDkzOCwgODAzMCwgMS4yMjIzMTAzMDQ2NDE3MjM2XSwgWzE2NjM3NTU1NzcuNzYyODQ0NiwgODA1MiwgMS4zMjE2NDIwNDEyMDYzNTk5XSwgWzE2NjM3NTU1NzcuOTAxMjY1NCwgODA3NCwgMS4xNzg3NzgxNzE1MzkzMDY2XSwgWzE2NjM3NTU1NzguMDQwNzQxNywgODA5NiwgMS4yMDcxNDg0MzI3MzE2Mjg0XSwgWzE2NjM3NTU1NzkuMzQ5MDI1NywgODI1MCwgMS4yNTQ0NzM0NDc3OTk2ODI2XSwgWzE2NjM3NTU1ODAuMDY5Nzk4MiwgODMxNiwgMS4yNDYwNzA1MDQxODg1Mzc2XSwgWzE2NjM3NTU1ODAuMzExNDQzNiwgODMzOCwgMS4yOTc1NDM4ODMzMjM2Njk0XSwgWzE2NjM3NTU1ODEuODQ5NzE1LCA4NTE0LCAxLjI2NjAxNzMxNzc3MTkxMTZdLCBbMTY2Mzc1NTU4Mi40MTk3NjksIDg2MDIsIDEuMTg1NjYxNTU0MzM2NTQ3OV0sIFsxNjYzNzU1NTgyLjU1ODIyMjMsIDg2MjQsIDEuMjc3NTc4NTkyMzAwNDE1XSwgWzE2NjM3NTU1ODIuNzE1ODIzMiwgODY0NiwgMS4yMTE2MDk4NDAzOTMwNjY0XSwgWzE2NjM3NTU1ODIuODU1MDc3LCA4NjY4LCAxLjE3NTIzNTAzMzAzNTI3ODNdLCBbMTY2Mzc1NTU4Mi45OTAxNTEyLCA4NjkwLCAxLjE3NjI5MDc1MDUwMzU0XSwgWzE2NjM3NTU1ODMuNjU4NzE4MywgODc1NiwgMS4xOTQ0NTc2NTAxODQ2MzEzXSwgWzE2NjM3NTU1ODQuODg3MTQ3MiwgODg2NiwgMS4zNzg1NTMyNzEyOTM2NDAxXSwgWzE2NjM3NTU1ODUuMjczNzcyNSwgODkxMCwgMS4xODYzOTM2MTg1ODM2NzkyXSwgWzE2NjM3NTU1ODUuODczODY0NywgODk5OCwgMS4xNjkwMTI2NjU3NDg1OTYyXSwgWzE2NjM3NTU1ODYuMDIyOTAxLCA5MDIwLCAxLjE5NTEzNjE4OTQ2MDc1NDRdLCBbMTY2Mzc1NTU4Ni42NTU0NzU0LCA5MTA4LCAxLjE2NTQ4MjY0MDI2NjQxODVdLCBbMTY2Mzc1NTU4Ni44MTE0MzY3LCA5MTMwLCAxLjIwMDQ0OTU4NTkxNDYxMThdLCBbMTY2Mzc1NTU4Ny4wMzE4NzgyLCA5MTUyLCAxLjIwMjI3MzQ4ODA0NDczODhdLCBbMTY2Mzc1NTU4Ny40Nzg4NzIsIDkyMTgsIDEuMjY4MjYxMDc1MDE5ODM2NF0sIFsxNjYzNzU1NTg4LjA1NjgwNDIsIDkyODQsIDEuMTU5NTEwMjU0ODU5OTI0M10sIFsxNjYzNzU1NTg4LjIxNDM4NzIsIDkzMDYsIDEuMTkxNzAwMjIwMTA4MDMyMl0sIFsxNjYzNzU1NTg4LjgwNjQ5NSwgOTM3MiwgMS4xNjQyMzE4OTY0MDA0NTE3XSwgWzE2NjM3NTU1ODguOTQ1MDUzLCA5Mzk0LCAxLjE4MjY3NjA3Njg4OTAzOF0sIFsxNjYzNzU1NTg5LjczNjk1NiwgOTQ4MiwgMS4yNDU3NTIyMTUzODU0MzddLCBbMTY2Mzc1NTU4OS45OTA2NTQ1LCA5NTA0LCAxLjE4MTQ1MjUxMjc0MTA4ODldLCBbMTY2Mzc1NTU5MC42MjY2MDM0LCA5NTkyLCAxLjE5NDUxNjUzOTU3MzY2OTRdLCBbMTY2Mzc1NTU5MC43NzY0MTgsIDk2MTQsIDEuMTkwMTg1MzA4NDU2NDIxXSwgWzE2NjM3NTU1OTAuOTE0OTk3OCwgOTYzNiwgMS4xOTM1MzQyNTUwMjc3NzFdLCBbMTY2Mzc1NTU5MS4yMTUwNDcxLCA5NjgwLCAxLjE2NDAyMTQ5MjAwNDM5NDVdLCBbMTY2Mzc1NTU5MS41MDc2ODczLCA5NzAyLCAxLjE4NzEyOTM3ODMxODc4NjZdLCBbMTY2Mzc1NTU5MS43NjE4NzcsIDk3MjQsIDEuMTgzMDcwMTgyODAwMjkzXSwgWzE2NjM3NTU1OTIuMTAzMzc2NiwgOTc2OCwgMS4yNDE1MzA2NTY4MTQ1NzUyXSwgWzE2NjM3NTU1OTIuMjM5NTI2LCA5NzkwLCAxLjE3MDk3ODU0NjE0MjU3ODFdLCBbMTY2Mzc1NTU5Mi40NDA3MjUsIDk4MTIsIDEuMjU1Mjc1OTY0NzM2OTM4NV0sIFsxNjYzNzU1NTkyLjY4NTQ4MiwgOTgzNCwgMS4yMDMxODkwMTUzODg0ODg4XSwgWzE2NjM3NTU1OTMuMzI2NTAyNiwgOTkyMiwgMS4xNjcxMjY2NTU1Nzg2MTMzXSwgWzE2NjM3NTU1OTMuNDY0Mjc5LCA5OTQ0LCAxLjE3NTQwNzI5MDQ1ODY3OTJdLCBbMTY2Mzc1NTU5My42MDg5OTQyLCA5OTY2LCAxLjE3ODAxMjAxMzQzNTM2MzhdLCBbMTY2Mzc1NTU5My43NDkwMTcsIDk5ODgsIDEuMjQ2MzAzNjc3NTU4ODk5XSwgWzE2NjM3NTU1OTMuODkzNTQzNSwgMTAwMTAsIDEuMjc5ODYwOTczMzU4MTU0M10sIFsxNjYzNzU1NTk0LjI5MzE1MjMsIDEwMDU0LCAxLjIyOTUzODkxNzU0MTUwNF0sIFsxNjYzNzU1NTk0LjU4OTM4MDMsIDEwMDk4LCAxLjE1MzY5NzcyOTExMDcxNzhdLCBbMTY2Mzc1NTU5NC45OTQ0MTYyLCAxMDE0MiwgMS4yMjIzNTEwNzQyMTg3NV0sIFsxNjYzNzU1NTk1LjE0MDA0MzMsIDEwMTY0LCAxLjE1NjIwMTQ4MTgxOTE1MjhdLCBbMTY2Mzc1NTU5NS43Mjk0NTI2LCAxMDI1MiwgMS40NDMzMjk2OTE4ODY5MDE5XSwgWzE2NjM3NTU1OTUuOTczOTEzNCwgMTAyNzQsIDEuMjM5NDA5MDg5MDg4NDRdLCBbMTY2Mzc1NTU5Ni4yNjA0MTUzLCAxMDMxOCwgMS4yMDQ5ODgyNDExOTU2Nzg3XSwgWzE2NjM3NTU1OTYuNTQxOTYyLCAxMDM2MiwgMS4xNDY1OTgxMDA2NjIyMzE0XSwgWzE2NjM3NTU1OTcuMjQ1NjI5LCAxMDQ1MCwgMS4yNTIwMDcyNDYwMTc0NTZdLCBbMTY2Mzc1NTU5Ny4zODAwMjEzLCAxMDQ3MiwgMS4xODU4MDI0NTk3MTY3OTY5XSwgWzE2NjM3NTU1OTcuOTE2NDc4NCwgMTA1MzgsIDEuMjI1NzYyMDA5NjIwNjY2NV0sIFsxNjYzNzU1NTk4LjA0ODUzMDMsIDEwNTYwLCAxLjEzNjYwNTAyNDMzNzc2ODZdLCBbMTY2Mzc1NTU5OC4xOTUxNzA0LCAxMDU4MiwgMS4xNjIwMTMyOTIzMTI2MjJdLCBbMTY2Mzc1NTU5OC40NjQ3NTIyLCAxMDYwNCwgMS4xNTg3NzkxNDQyODcxMDk0XSwgWzE2NjM3NTU1OTguNzQ1MTk2OCwgMTA2NDgsIDEuMTk1MTQzMTAzNTk5NTQ4M10sIFsxNjYzNzU1NTk4Ljg3OTE1NjgsIDEwNjcwLCAxLjIwNjg0MzI1Njk1MDM3ODRdLCBbMTY2Mzc1NTU5OS42NTM1NTY4LCAxMDczNiwgMS4yNzU4MzE2OTkzNzEzMzhdLCBbMTY2Mzc1NTU5OS45MjA0ODQ4LCAxMDc1OCwgMS4xOTMzNjc4Mzg4NTk1NThdLCBbMTY2Mzc1NTYwMC4wNzY4OTEyLCAxMDc4MCwgMS4yOTkyODc5MTUyMjk3OTc0XSwgWzE2NjM3NTU2MDAuMzY2OTAxMiwgMTA4MjQsIDEuMjk2MDU1NTU1MzQzNjI4XSwgWzE2NjM3NTU2MDAuNzg4NDExOSwgMTA4OTAsIDEuMTczMzUzNDMzNjA5MDA4OF0sIFsxNjYzNzU1NjAxLjQzMDA4NzYsIDEwOTc4LCAxLjIwMzIyOTA2OTcwOTc3NzhdLCBbMTY2Mzc1NTYwMi4xMjE3NjA2LCAxMTA2NiwgMS4xODU5NjU3NzY0NDM0ODE0XSwgWzE2NjM3NTU2MDIuMjYwNzEyOSwgMTEwODgsIDEuMjUzMDg5NjY2MzY2NTc3MV0sIFsxNjYzNzU1NjAyLjkwMzk3NSwgMTExNTQsIDEuMjAxMjk2MDkxMDc5NzEyXSwgWzE2NjM3NTU2MDMuMzMxNTE0OCwgMTEyMjAsIDEuMTk4MjA3NDk3NTk2NzQwN10sIFsxNjYzNzU1NjAzLjUxNDI1MDMsIDExMjQyLCAxLjM0Nzk1NzczMDI5MzI3NF0sIFsxNjYzNzU1NjAzLjgxNjQzODIsIDExMjY0LCAxLjM0OTc1OTEwMTg2NzY3NThdLCBbMTY2Mzc1NTYwNC4wNDYwMjY3LCAxMTI4NiwgMS4xNzkzODczMzEwMDg5MTExXSwgWzE2NjM3NTU2MDQuMzA1OTkwNSwgMTEzMDgsIDEuMTg5OTUyMjU0Mjk1MzQ5MV0sIFsxNjYzNzU1NjA0LjUzMjkzMzIsIDExMzMwLCAxLjEzNzc4MzY0NjU4MzU1NzFdLCBbMTY2Mzc1NTYwNS4xMDM4NDY1LCAxMTM5NiwgMS4yMTc1NjU1MzY0OTkwMjM0XSwgWzE2NjM3NTU2MDUuMjQxMjE1MiwgMTE0MTgsIDEuMTY5ODIxMzgxNTY4OTA4N10sIFsxNjYzNzU1NjA1LjQwMDEyMjIsIDExNDQwLCAxLjE2MjUyMjMxNTk3OTAwNF0sIFsxNjYzNzU1NjA1LjU0Mzg4NTcsIDExNDYyLCAxLjI1OTc1MTc5NjcyMjQxMl0sIFsxNjYzNzU1NjA1Ljk2OTgwNTUsIDExNTI4LCAxLjE0Njc4MjE1OTgwNTI5NzldLCBbMTY2Mzc1NTYwNy4yODczNzk1LCAxMTY4MiwgMS4yMTgyOTE2NDAyODE2NzcyXSwgWzE2NjM3NTU2MDcuNzQyMTQ4NCwgMTE3NDgsIDEuMzIwMjU0MjA2NjU3NDA5N10sIFsxNjYzNzU1NjA3Ljg4NzE3NTMsIDExNzcwLCAxLjE2MjYyNDM1OTEzMDg1OTRdLCBbMTY2Mzc1NTYwOC4yOTgyNTU0LCAxMTgxNCwgMS4xNjg5MjM5NzQwMzcxNzA0XSwgWzE2NjM3NTU2MDguNTE4MTk2OCwgMTE4MzYsIDEuMjQzNjg0NTMwMjU4MTc4N10sIFsxNjYzNzU1NjA4Ljc0NjM1NzIsIDExODU4LCAxLjE4OTIxNzgwNTg2MjQyNjhdLCBbMTY2Mzc1NTYwOC45NjcyMDQzLCAxMTg4MCwgMS4xNzE2MTk0MTUyODMyMDMxXSwgWzE2NjM3NTU2MDkuMTI0MTEyOCwgMTE5MDIsIDEuMTgzMTY0MjM4OTI5NzQ4NV0sIFsxNjYzNzU1NjA5LjQwMTYxODIsIDExOTQ2LCAxLjE2MDA2NTc3MDE0OTIzMV0sIFsxNjYzNzU1NjA5Ljg5MDU4MjYsIDExOTkwLCAxLjE5MTM2NDUyNjc0ODY1NzJdLCBbMTY2Mzc1NTYxMC4yMjE0NjYsIDEyMDM0LCAxLjE0NTM0NDYxNDk4MjYwNV0sIFsxNjYzNzU1NjEwLjM4NzczMTMsIDEyMDU2LCAxLjE2Nzk4NTMyMDA5MTI0NzZdLCBbMTY2Mzc1NTYxMC44MzAxMTk4LCAxMjEyMiwgMS4xOTY1OTY3NDE2NzYzMzA2XSwgWzE2NjM3NTU2MTEuMjQ5MTc3LCAxMjE2NiwgMS4yMDAyODIwOTY4NjI3OTNdLCBbMTY2Mzc1NTYxMS42NjkxODA0LCAxMjIzMiwgMS4yMjk5NzEwNTEyMTYxMjU1XSwgWzE2NjM3NTU2MTEuOTM1NTMsIDEyMjU0LCAxLjE0ODExOTY4ODAzNDA1NzZdLCBbMTY2Mzc1NTYxMi45MTM1ODc2LCAxMjM4NiwgMS4xMzU1MTY0MDUxMDU1OTA4XSwgWzE2NjM3NTU2MTMuMDU1MDM1LCAxMjQwOCwgMS4xNDQ2OTUyODE5ODI0MjE5XSwgWzE2NjM3NTU2MTMuMTk2MDUyLCAxMjQzMCwgMS4xMzAyNzY1NjA3ODMzODYyXSwgWzE2NjM3NTU2MTMuODc0ODQ2NSwgMTI1MTgsIDEuMjE4ODg1MDY0MTI1MDYxXSwgWzE2NjM3NTU2MTQuNDM0MjQ0NiwgMTI1ODQsIDEuMTMyMjE2ODExMTgwMTE0N10sIFsxNjYzNzU1NjE0LjcxNTgzOTksIDEyNjI4LCAxLjE2Njc4MTc4MzEwMzk0MjldLCBbMTY2Mzc1NTYxNS4zOTY0MTA1LCAxMjY5NCwgMS4xNDcyNDcxOTUyNDM4MzU0XSwgWzE2NjM3NTU2MTYuMTY1MTMsIDEyNzgyLCAxLjE1NTc5NDE0MzY3Njc1NzhdLCBbMTY2Mzc1NTYxNi43NTMxNTgzLCAxMjg3MCwgMS4xNDQ0NjM2NTgzMzI4MjQ3XSwgWzE2NjM3NTU2MTYuODk4MTA1LCAxMjg5MiwgMS4xMzA2NjcwOTA0MTU5NTQ2XSwgWzE2NjM3NTU2MTcuMTc5MzQyLCAxMjkxNCwgMS4xMzEwMjc4MTc3MjYxMzUzXSwgWzE2NjM3NTU2MTcuNDgxNjgwNCwgMTI5NTgsIDEuMjA0MDYzNzczMTU1MjEyNF0sIFsxNjYzNzU1NjE3LjgyOTc2NTgsIDEzMDAyLCAxLjE2Mzc4MjU5NjU4ODEzNDhdLCBbMTY2Mzc1NTYxOC4xMzY4NDI1LCAxMzAyNCwgMS4xNTAzMzYxNDYzNTQ2NzUzXSwgWzE2NjM3NTU2MTguMjcwMTk3NCwgMTMwNDYsIDEuMTMxNDYxMTQzNDkzNjUyM10sIFsxNjYzNzU1NjE4LjU3ODg1OTgsIDEzMDkwLCAxLjE0MzYyMDAxNDE5MDY3MzhdLCBbMTY2Mzc1NTYxOC44ODk4MiwgMTMxMzQsIDEuMTIwMjQ5OTg2NjQ4NTU5Nl0sIFsxNjYzNzU1NjE5LjEwNTA1OCwgMTMxNTYsIDEuMTkwOTg4NDIxNDQwMTI0NV0sIFsxNjYzNzU1NjE5LjI0Nzg2MDIsIDEzMTc4LCAxLjE3NzAzNDI1ODg0MjQ2ODNdLCBbMTY2Mzc1NTYxOS4zOTM4OTA2LCAxMzIwMCwgMS4xNDE0NTczMTkyNTk2NDM2XSwgWzE2NjM3NTU2MTkuNjkxMTA3MywgMTMyNDQsIDEuMTE3MDc2Mzk2OTQyMTM4N10sIFsxNjYzNzU1NjE5Ljk1NzcyNjcsIDEzMjY2LCAxLjIzMDQxMTI5MTEyMjQzNjVdLCBbMTY2Mzc1NTYyMC4xMDI5MDYyLCAxMzI4OCwgMS4xNzc2NDY3NTYxNzIxODAyXSwgWzE2NjM3NTU2MjAuMzgyNjE1MywgMTMzMzIsIDEuMzY5NTUwOTQzMzc0NjMzOF0sIFsxNjYzNzU1NjIwLjk1ODY5MTQsIDEzMzk4LCAxLjE0OTMyNTcyODQxNjQ0MjldLCBbMTY2Mzc1NTYyMS4yNDMxMzgsIDEzNDQyLCAxLjEzOTU3MjYyMDM5MTg0NTddLCBbMTY2Mzc1NTYyMS44MTMwNjg2LCAxMzUwOCwgMS4xOTA4NzU3Njg2NjE0OTldLCBbMTY2Mzc1NTYyMS45NTE2MzIsIDEzNTMwLCAxLjEyNzIwOTQyNDk3MjUzNDJdLCBbMTY2Mzc1NTYyMi4yMjUwNjYsIDEzNTc0LCAxLjE0OTQxNDA2MjVdLCBbMTY2Mzc1NTYyMi42NDQ2NzQzLCAxMzYxOCwgMS4xMzExNzY5NDg1NDczNjMzXSwgWzE2NjM3NTU2MjIuOTM2NTA1NiwgMTM2NjIsIDEuMTMwMDU0NzEyMjk1NTMyMl0sIFsxNjYzNzU1NjIzLjM3MDA2NiwgMTM3MDYsIDEuMTQxMjA1NjY4NDQ5NDAxOV0sIFsxNjYzNzU1NjIzLjU5ODE4NTgsIDEzNzI4LCAxLjE0NTQ2NDc3Nzk0NjQ3MjJdLCBbMTY2Mzc1NTYyNC4xNTUyMzIyLCAxMzc5NCwgMS4yMTMwMjk1MDM4MjIzMjY3XSwgWzE2NjM3NTU2MjQuNDQwNzcxMywgMTM4MzgsIDEuMTIxNDYxNjI5ODY3NTUzN10sIFsxNjYzNzU1NjI0LjU4MDI2NDMsIDEzODYwLCAxLjE4MzM4OTc4MjkwNTU3ODZdLCBbMTY2Mzc1NTYyNS4zNzEyMzg1LCAxMzk0OCwgMS4xNDI0MTUwNDY2OTE4OTQ1XSwgWzE2NjM3NTU2MjYuMjg4ODU3NSwgMTQwMzYsIDEuMTk4MzE3NTI3NzcwOTk2XSwgWzE2NjM3NTU2MjcuMDA5NzIwMywgMTQxMDIsIDEuMTgwOTY2NDk2NDY3NTkwM10sIFsxNjYzNzU1NjI3LjE0NjUyOTcsIDE0MTI0LCAxLjIyNDk0NTA2ODM1OTM3NV0sIFsxNjYzNzU1NjI3LjI3OTcxNDMsIDE0MTQ2LCAxLjExNjc1Nzg2OTcyMDQ1OV0sIFsxNjYzNzU1NjI3LjQxOTM4NjksIDE0MTY4LCAxLjMyMDQ0NDk0MTUyMDY5MV0sIFsxNjYzNzU1NjI3LjU1MzU5OTYsIDE0MTkwLCAxLjM1OTEzNjIyMzc5MzAyOThdLCBbMTY2Mzc1NTYyOC4yNjYzMTg4LCAxNDMwMCwgMS4xNjY4NzM0NTUwNDc2MDc0XSwgWzE2NjM3NTU2MjguNTU1ODg5MSwgMTQzNDQsIDEuMTQzMTU0NjIxMTI0MjY3Nl0sIFsxNjYzNzU1NjI4Ljc5NTc3NDcsIDE0MzY2LCAxLjE3NzEyOTAzMDIyNzY2MTFdLCBbMTY2Mzc1NTYyOC45NTU1OTk1LCAxNDM4OCwgMS4xMzAxMzQ1ODI1MTk1MzEyXSwgWzE2NjM3NTU2MjkuMDkxMjEwNiwgMTQ0MTAsIDEuMTI1MTUxMDM4MTY5ODYwOF0sIFsxNjYzNzU1NjI5LjIzMDIzNjUsIDE0NDMyLCAxLjE2MDE4OTM5MDE4MjQ5NTFdLCBbMTY2Mzc1NTYyOS45MjI4NzgsIDE0NDk4LCAxLjE1NTQ0MjExODY0NDcxNDRdLCBbMTY2Mzc1NTYzMC4zNDQ5OTY1LCAxNDU0MiwgMS4xMTYzMDgwOTMwNzA5ODM5XSwgWzE2NjM3NTU2MzEuNjM4ODYxLCAxNDY5NiwgMS4yMjQxNTI1NjUwMDI0NDE0XSwgWzE2NjM3NTU2MzIuMzU0ODMsIDE0NzYyLCAxLjE5NDA5NTEzNDczNTEwNzRdLCBbMTY2Mzc1NTYzMy40MTkwOTY1LCAxNDg3MiwgMS4xMjgzNzg1MTA0NzUxNTg3XSwgWzE2NjM3NTU2MzMuNTU5MDY1OCwgMTQ4OTQsIDEuMTM4MzIyMTE0OTQ0NDU4XSwgWzE2NjM3NTU2MzMuNzA1NzkzNCwgMTQ5MTYsIDEuMTMxMDI0MTIyMjM4MTU5Ml0sIFsxNjYzNzU1NjM0LjExNTU4ODQsIDE0OTgyLCAxLjExODA2ODQ1NjY0OTc4MDNdLCBbMTY2Mzc1NTYzNC40Mzg2NTI4LCAxNTAyNiwgMS4yMjg5MzIxNDIyNTc2OTA0XSwgWzE2NjM3NTU2MzQuNTgyMDI1OCwgMTUwNDgsIDEuMjA3MTM0NzIzNjYzMzNdLCBbMTY2Mzc1NTYzNC44MTA0MDE3LCAxNTA3MCwgMS4xNjQ2NjMwNzY0MDA3NTY4XSwgWzE2NjM3NTU2MzUuNTc4ODQ5NiwgMTUxMzYsIDEuMTM1NTA1OTE0Njg4MTEwNF0sIFsxNjYzNzU1NjM2Ljc3MjcxMywgMTUyNDYsIDEuMTc1MTcwNTQwODA5NjMxM10sIFsxNjYzNzU1NjM3LjEwNDk5OTgsIDE1MjkwLCAxLjEzMzY4MzMyMzg2MDE2ODVdLCBbMTY2Mzc1NTYzNy41Mzc3NTgsIDE1MzM0LCAxLjMyODM2NzQ3MTY5NDk0NjNdLCBbMTY2Mzc1NTYzNy43NTQ0NTI1LCAxNTM1NiwgMS4xNTk4NjUyNjAxMjQyMDY1XSwgWzE2NjM3NTU2MzguMTA3ODI5MywgMTU0MDAsIDEuMTI0MTEyMjQ4NDIwNzE1M10sIFsxNjYzNzU1NjM4LjU0NjY0NzUsIDE1NDY2LCAxLjI1NDM5NTcyMzM0Mjg5NTVdLCBbMTY2Mzc1NTYzOC43MDExMjY2LCAxNTQ4OCwgMS4xMTQ1NzI1MjUwMjQ0MTRdLCBbMTY2Mzc1NTYzOC45ODY5MzM1LCAxNTUzMiwgMS4zMTI4NDE2NTM4MjM4NTI1XSwgWzE2NjM3NTU2MzkuNTY3ODIxNywgMTU2MjAsIDEuMjA1ODM1MzQyNDA3MjI2Nl0sIFsxNjYzNzU1NjM5LjcxMzk2MSwgMTU2NDIsIDEuMTM0MDMwODE4OTM5MjA5XSwgWzE2NjM3NTU2NDAuMTA2OTY4MiwgMTU2ODYsIDEuMTMyMzM1MzA1MjEzOTI4Ml0sIFsxNjYzNzU1NjQwLjUyMTQ0NjUsIDE1NzUyLCAxLjEyMzA0MzE3OTUxMjAyNF0sIFsxNjYzNzU1NjQwLjk1MjkyMjMsIDE1Nzk2LCAxLjE2OTQ0MTM0MjM1MzgyMDhdLCBbMTY2Mzc1NTY0MS4zNzQyMDQ2LCAxNTg2MiwgMS4xMzA4NTE4NjQ4MTQ3NTgzXSwgWzE2NjM3NTU2NDEuNTEzNjIzNywgMTU4ODQsIDEuMjMyMDMzMzcxOTI1MzU0XSwgWzE2NjM3NTU2NDEuOTU5NTMyNSwgMTU5MjgsIDEuMTIzNzg4NDc1OTkwMjk1NF0sIFsxNjYzNzU1NjQyLjI0MTMwNDQsIDE1OTcyLCAxLjIxMDc0NTU3MzA0MzgyMzJdLCBbMTY2Mzc1NTY0Mi4zODA3MDYzLCAxNTk5NCwgMS4xOTUzNjA4OTg5NzE1NTc2XSwgWzE2NjM3NTU2NDIuODAxMzQxOCwgMTYwMzgsIDEuMjI2MjYyODA3ODQ2MDY5M10sIFsxNjYzNzU1NjQyLjkzOTQ1NzIsIDE2MDYwLCAxLjIyNjI4OTAzMzg4OTc3MDVdLCBbMTY2Mzc1NTY0My4yMDYwNTc4LCAxNjEwNCwgMS4xNDQ5ODU3OTUwMjEwNTcxXSwgWzE2NjM3NTU2NDMuNDk0OTg1LCAxNjEyNiwgMS4xMDAwMDg3MjYxMTk5OTUxXSwgWzE2NjM3NTU2NDMuNjQwMDkzLCAxNjE0OCwgMS4xNjc2MjgyODgyNjkwNDNdLCBbMTY2Mzc1NTY0NC43Mjg4NjI4LCAxNjI1OCwgMS4xODU3NjYxMDA4ODM0ODM5XSwgWzE2NjM3NTU2NDUuNzA3OTE1MywgMTYzNDYsIDEuMTIxMzA4OTIyNzY3NjM5Ml0sIFsxNjYzNzU1NjQ1LjkyNjc5NCwgMTYzNjgsIDEuMTM0OTMyNjM3MjE0NjYwNl0sIFsxNjYzNzU1NjQ2LjE0NDQ0ODgsIDE2MzkwLCAxLjEzNjY2MTE3MTkxMzE0N10sIFsxNjYzNzU1NjQ3Ljg0MTkxMSwgMTY2MzIsIDEuMjI3NTA4MDY4MDg0NzE2OF0sIFsxNjYzNzU1NjQ3Ljk4MjA0ODMsIDE2NjU0LCAxLjE4OTg3NDE3MjIxMDY5MzRdLCBbMTY2Mzc1NTY0OC41MTkwNzYzLCAxNjY5OCwgMS4xMzE4MjE1MTMxNzU5NjQ0XSwgWzE2NjM3NTU2NDkuNzA5NjQ1LCAxNjgwOCwgMS4xMjg4MTAwNDgxMDMzMzI1XSwgWzE2NjM3NTU2NDkuOTU4ODUzNywgMTY4MzAsIDEuMTM3MTY2NzM4NTEwMTMxOF0sIFsxNjYzNzU1NjUwLjE3MTA3MzcsIDE2ODUyLCAxLjE1MDkzMDc2MjI5MDk1NDZdLCBbMTY2Mzc1NTY1MC43MTM3NjMyLCAxNjkxOCwgMS4xMTkyNTM3NTQ2MTU3ODM3XSwgWzE2NjM3NTU2NTAuODY0MzY3LCAxNjk0MCwgMS4xNDc0NTQzODA5ODkwNzQ3XSwgWzE2NjM3NTU2NTEuMzA3NjE4OSwgMTcwMDYsIDEuMTU0ODg4NzQ5MTIyNjE5Nl0sIFsxNjYzNzU1NjUxLjczMzA2NSwgMTcwNzIsIDEuMTI3ODI1MDIxNzQzNzc0NF0sIFsxNjYzNzU1NjUxLjkwMDU3NTIsIDE3MDk0LCAxLjEyMTk1NDA4MzQ0MjY4OF0sIFsxNjYzNzU1NjUyLjI3MDk5MjgsIDE3MTM4LCAxLjE5NTYxOTEwNjI5MjcyNDZdLCBbMTY2Mzc1NTY1Mi40NjQ2MjczLCAxNzE2MCwgMS4yMTQxOTIyNzEyMzI2MDVdLCBbMTY2Mzc1NTY1Mi42NzE2MDU2LCAxNzE4MiwgMS4xMDY0NjM1NTE1MjEzMDEzXSwgWzE2NjM3NTU2NTIuODA3OTEzLCAxNzIwNCwgMS4xMzgzMTY2MzEzMTcxMzg3XSwgWzE2NjM3NTU2NTIuOTU0NTMwMiwgMTcyMjYsIDEuMTk1NzkyMDc4OTcxODYyOF0sIFsxNjYzNzU1NjU0LjE5ODUyOCwgMTczNTgsIDEuMTI4MzUyOTk5Njg3MTk0OF0sIFsxNjYzNzU1NjU0LjkyMTk0MTMsIDE3NDI0LCAxLjMwMDM1MzA1MDIzMTkzMzZdLCBbMTY2Mzc1NTY1NS4yMjYzOTUxLCAxNzQ2OCwgMS4xMjk4MjE1Mzg5MjUxNzFdLCBbMTY2Mzc1NTY1NS41MjkzOTgyLCAxNzUxMiwgMS4xMzAxNDQzNTc2ODEyNzQ0XSwgWzE2NjM3NTU2NTYuMTI4NTk2MywgMTc2MDAsIDEuMTA1NDY2MjQ2NjA0OTE5NF0sIFsxNjYzNzU1NjU2Ljg3NjMwNDksIDE3NzEwLCAxLjEzMDg0NTA2OTg4NTI1NF0sIFsxNjYzNzU1NjU3LjAxNzIxNTMsIDE3NzMyLCAxLjEzNTY2OTQ2OTgzMzM3NF0sIFsxNjYzNzU1NjU3LjE1OTUxODIsIDE3NzU0LCAxLjE1MDc5MTI4NzQyMjE4MDJdLCBbMTY2Mzc1NTY1Ny4zOTM5NjMzLCAxNzc3NiwgMS4xOTM2Njk0MzgzNjIxMjE2XSwgWzE2NjM3NTU2NTguMTc1ODE3NSwgMTc4NDIsIDEuMTQwMDIwNzI4MTExMjY3XSwgWzE2NjM3NTU2NTkuNDIyNjMyLCAxODAxOCwgMS4xMDMxODY3MjY1NzAxMjk0XSwgWzE2NjM3NTU2NTkuNTY5NTgwMywgMTgwNDAsIDEuMTEyODY4NjY2NjQ4ODY0N10sIFsxNjYzNzU1NjU5Ljg3NzAyMDQsIDE4MDg0LCAxLjA5OTQ4Nzc4MTUyNDY1ODJdLCBbMTY2Mzc1NTY2MC4zMDk3MDc5LCAxODEyOCwgMS4xMDk2MzMwODgxMTE4Nzc0XSwgWzE2NjM3NTU2NjAuNzUyNTk0NywgMTgxOTQsIDEuMTg0ODU2NzcyNDIyNzkwNV0sIFsxNjYzNzU1NjYwLjkwOTQzNiwgMTgyMTYsIDEuMjM2MDE2MjczNDk4NTM1Ml0sIFsxNjYzNzU1NjYxLjIwMTc2OCwgMTgyMzgsIDEuMTYxOTYzNDYyODI5NTg5OF0sIFsxNjYzNzU1NjYyLjAzMzA5MjUsIDE4MzI2LCAxLjExOTQwMTA5NzI5NzY2ODVdLCBbMTY2Mzc1NTY2Mi4xODI5OTg0LCAxODM0OCwgMS4xMDI3MDY5MDkxNzk2ODc1XSwgWzE2NjM3NTU2NjIuNDkwNzczLCAxODM5MiwgMS4xMjM0MDQ1MDI4Njg2NTIzXSwgWzE2NjM3NTU2NjIuNjM4NTQxMiwgMTg0MTQsIDEuMTE3MDg3MDA2NTY4OTA4N10sIFsxNjYzNzU1NjYyLjc4NDQxMjYsIDE4NDM2LCAxLjEzMTk2MDYzMDQxNjg3MDFdLCBbMTY2Mzc1NTY2My4xNzIyNDk4LCAxODQ4MCwgMS4xMDIyMDM2MDc1NTkyMDRdLCBbMTY2Mzc1NTY2My4zNDcxOTIzLCAxODUwMiwgMS4xNTcyNDY3MDg4Njk5MzRdLCBbMTY2Mzc1NTY2My45MjA1MzQ0LCAxODU2OCwgMS4wOTIxNTQ1MDI4Njg2NTIzXSwgWzE2NjM3NTU2NjQuMjAzNzM5MiwgMTg2MTIsIDEuMTIwMTA0MzEyODk2NzI4NV0sIFsxNjYzNzU1NjY1LjA1NTUxODksIDE4NzIyLCAxLjA5ODA0Nzk3MTcyNTQ2MzldLCBbMTY2Mzc1NTY2NS4yMDc2NDE0LCAxODc0NCwgMS4xMjg0MzAwMDg4ODgyNDQ2XSwgWzE2NjM3NTU2NjUuNzgyOTIzNywgMTg4MTAsIDEuMTExMjYzODcxMTkyOTMyMV0sIFsxNjYzNzU1NjY2LjIxMjI3ODYsIDE4ODc2LCAxLjEyMDg5MDM3ODk1MjAyNjRdLCBbMTY2Mzc1NTY2Ni44MTYxODcxLCAxODk0MiwgMS4xMzg0NjgwMjcxMTQ4NjgyXSwgWzE2NjM3NTU2NjcuMTAwMzM4NSwgMTg5ODYsIDEuMTE2NTQyNTc3NzQzNTMwM10sIFsxNjYzNzU1NjY3Ljg3NTE4OTMsIDE5MDUyLCAxLjE1ODY1ODUwNDQ4NjA4NF0sIFsxNjYzNzU1NjY4LjAyMDIzMDMsIDE5MDc0LCAxLjExMDE5OTIxMzAyNzk1NF0sIFsxNjYzNzU1NjY4LjczMDk5NywgMTkxNjIsIDEuMDk4NDgxMDU5MDc0NDAxOV0sIFsxNjYzNzU1NjY4Ljg3MjE4NCwgMTkxODQsIDEuMTM1NDg4MTUyNTAzOTY3M10sIFsxNjYzNzU1NjcxLjEwODk0MTgsIDE5NDcwLCAxLjE3NTY4MTIzMzQwNjA2N10sIFsxNjYzNzU1NjcxLjI1Mjg5NDYsIDE5NDkyLCAxLjEzNjEzMzU1MTU5NzU5NTJdLCBbMTY2Mzc1NTY3MS4zOTIyODgsIDE5NTE0LCAxLjE1MzQ1OTE5MTMyMjMyNjddLCBbMTY2Mzc1NTY3MS42Nzg0NTYsIDE5NTU4LCAxLjEzNjQ4MzY2OTI4MTAwNTldLCBbMTY2Mzc1NTY3Mi4wODA3NzY3LCAxOTYwMiwgMS4xMDc0ODM1MDYyMDI2OTc4XSwgWzE2NjM3NTU2NzIuNTQxNjM5LCAxOTY0NiwgMS4xNDEyMTk2MTU5MzYyNzkzXSwgWzE2NjM3NTU2NzMuMTM3MTk1LCAxOTcxMiwgMS4xMTk5ODA4MTIwNzI3NTRdLCBbMTY2Mzc1NTY3My40MTY2NzYsIDE5NzU2LCAxLjE4MjE4NjAwNzQ5OTY5NDhdLCBbMTY2Mzc1NTY3My41NTQ2MzA1LCAxOTc3OCwgMS4yMjExOTk1MTI0ODE2ODk1XSwgWzE2NjM3NTU2NzQuMTkxNTg4MiwgMTk4NDQsIDEuMTQ4MzQzNTYzMDc5ODM0XSwgWzE2NjM3NTU2NzQuNDAwNTQ1OCwgMTk4NjYsIDEuMTI4MzM3NjIxNjg4ODQyOF0sIFsxNjYzNzU1Njc0Ljg3NjExMzcsIDE5OTEwLCAxLjA5NjUwOTkzMzQ3MTY3OTddLCBbMTY2Mzc1NTY3NS40OTIxNDg0LCAxOTk3NiwgMS4xMzg1OTM1NTQ0OTY3NjUxXSwgWzE2NjM3NTU2NzUuNjM0NTk2LCAxOTk5OCwgMS4xODA0MTY0NjQ4MDU2MDNdLCBbMTY2Mzc1NTY3NS45MzA3NDE4LCAyMDA0MiwgMS4yNjMwNzIwMTM4NTQ5ODA1XSwgWzE2NjM3NTU2NzYuMDc5MzA4NywgMjAwNjQsIDEuMTQwMDE5MTc4MzkwNTAzXSwgWzE2NjM3NTU2NzYuNjYzMDAyMywgMjAxMzAsIDEuMDk4OTUwOTgyMDkzODExXSwgWzE2NjM3NTU2NzcuMzg4NDIzLCAyMDIxOCwgMS4xMzM4NTk1MTUxOTAxMjQ1XSwgWzE2NjM3NTU2NzcuNTQyMjIxLCAyMDI0MCwgMS4xMjc3ODQzNzEzNzYwMzc2XSwgWzE2NjM3NTU2NzcuOTQzNTAyNCwgMjAyODQsIDEuMTA4MzExNDE0NzE4NjI4XSwgWzE2NjM3NTU2NzguMzI1MTAxLCAyMDMyOCwgMS4wOTU3ODAyNTM0MTAzMzk0XSwgWzE2NjM3NTU2NzguOTc0MTE0LCAyMDQxNiwgMS4xMjUyNTMyMDA1MzEwMDU5XSwgWzE2NjM3NTU2NzkuMTMxNjI2LCAyMDQzOCwgMS4xMjIzNTczNjg0NjkyMzgzXSwgWzE2NjM3NTU2NzkuNzUwMTM2LCAyMDQ4MiwgMS4xNDEzMzI1MDcxMzM0ODM5XSwgWzE2NjM3NTU2NzkuOTg3OTA0NSwgMjA1MDQsIDEuMTI0MzE5NDM0MTY1OTU0Nl0sIFsxNjYzNzU1NjgwLjIzNDM5NDYsIDIwNTI2LCAxLjEyMTQ2OTk3NDUxNzgyMjNdLCBbMTY2Mzc1NTY4MC40OTc2Njc2LCAyMDU0OCwgMS4xNTQ0NDgyNzA3OTc3Mjk1XSwgWzE2NjM3NTU2ODAuOTYzNzQzNCwgMjA1OTIsIDEuMTM4MTcxNzkyMDMwMzM0NV0sIFsxNjYzNzU1NjgxLjU2NTk0NiwgMjA2ODAsIDEuMTc1MTc5MTIzODc4NDc5XSwgWzE2NjM3NTU2ODEuODUwNzczLCAyMDcyNCwgMS4yNzE1ODU4MjIxMDU0MDc3XSwgWzE2NjM3NTU2ODEuOTg1MDEyNSwgMjA3NDYsIDEuMTIzNDU4MjY2MjU4MjM5N10sIFsxNjYzNzU1NjgyLjQyOTE4MywgMjA4MTIsIDEuMjM0OTQwNDA5NjYwMzM5NF0sIFsxNjYzNzU1NjgzLjE4MDYwOTUsIDIwOTAwLCAxLjEzMDk0ODMwNTEzMDAwNDldLCBbMTY2Mzc1NTY4My42MTc0NTk1LCAyMDk2NiwgMS4yMzQ3MTg1NjExNzI0ODU0XSwgWzE2NjM3NTU2ODQuNDQ0MTc0NSwgMjEwMzIsIDEuMTM5NTczNTc0MDY2MTYyXSwgWzE2NjM3NTU2ODQuNjUzNDksIDIxMDU0LCAxLjE1MzYzMDM3NTg2MjEyMTZdLCBbMTY2Mzc1NTY4NS4zODE0NTEsIDIxMTQyLCAxLjE3NzE5MTEzODI2NzUxN10sIFsxNjYzNzU1Njg1LjY3NjY5OSwgMjExODYsIDEuMTMwNTIyOTY2Mzg0ODg3N10sIFsxNjYzNzU1Njg1LjgwOTY0MSwgMjEyMDgsIDEuMTUxNjczMDc4NTM2OTg3M10sIFsxNjYzNzU1Njg2LjEwNjk0MjQsIDIxMjUyLCAxLjEwMjU3ODg3ODQwMjcxXSwgWzE2NjM3NTU2ODYuNDUxMzQ5NSwgMjEyOTYsIDEuMTEzNzk0NTY1MjAwODA1N10sIFsxNjYzNzU1Njg2LjY5NjcyNDcsIDIxMzE4LCAxLjE0NjMyNDk5MjE3OTg3MDZdLCBbMTY2Mzc1NTY4Ny40Mjk0ODUzLCAyMTM4NCwgMS4xMTYzMTIwMjY5Nzc1MzldLCBbMTY2Mzc1NTY4OC4xNzAxMzEsIDIxNDk0LCAxLjA5MzUyMTgzMzQxOTc5OThdLCBbMTY2Mzc1NTY4OC40ODEyMDgzLCAyMTUzOCwgMS4xNTk0ODQwMjg4MTYyMjMxXSwgWzE2NjM3NTU2ODguNzY5MjQ5NywgMjE1NjAsIDEuMDk4MTEwNTU2NjAyNDc4XSwgWzE2NjM3NTU2ODkuMDYzODYyOCwgMjE2MDQsIDEuMjI5NzM3NTIwMjE3ODk1NV0sIFsxNjYzNzU1Njg5LjI4MjE4ODIsIDIxNjI2LCAxLjI0ODI4ODUxMjIyOTkxOTRdLCBbMTY2Mzc1NTY5MC4xODY2NTM5LCAyMTcxNCwgMS4xNzEyNDIzNTYzMDAzNTRdLCBbMTY2Mzc1NTY5MC44NjI1NzYyLCAyMTgwMiwgMS4xMDc1MDU3OTgzMzk4NDM4XSwgWzE2NjM3NTU2OTEuMTUxNDEzNywgMjE4NDYsIDEuMDkwNDQyMjk5ODQyODM0NV0sIFsxNjYzNzU1NjkxLjUyNTY1MDMsIDIxODkwLCAxLjEwNzQ3OTIxNDY2ODI3NF0sIFsxNjYzNzU1NjkxLjgxODMxMywgMjE5MzQsIDEuMTcyODE0ODQ2MDM4ODE4NF0sIFsxNjYzNzU1NjkyLjEwMzk4MzYsIDIxOTc4LCAxLjA5MDA5NDMyNzkyNjYzNTddLCBbMTY2Mzc1NTY5Mi40NTE5MjkzLCAyMjAwMCwgMS4wODkyNDAzMTI1NzYyOTRdLCBbMTY2Mzc1NTY5Mi44ODg4Nzc0LCAyMjA2NiwgMS4xMzE0MzM2MDYxNDc3NjYxXSwgWzE2NjM3NTU2OTMuMDI0OTY4MSwgMjIwODgsIDEuMTMzOTc0OTA5NzgyNDA5N10sIFsxNjYzNzU1NjkzLjMxNjE2OSwgMjIxMTAsIDEuMjM0NzU3MTg0OTgyMjk5OF0sIFsxNjYzNzU1NjkzLjU5NDIzMSwgMjIxNTQsIDEuMTY5NTg5MjgxMDgyMTUzM10sIFsxNjYzNzU1Njk0LjQ0NDM1ODYsIDIyMjY0LCAxLjA5ODY1MzY3NDEyNTY3MTRdLCBbMTY2Mzc1NTY5NC43MzU5MjQ3LCAyMjMwOCwgMS4xMjY1MjQ5MjUyMzE5MzM2XSwgWzE2NjM3NTU2OTUuMjA0NTY3MiwgMjIzNTIsIDEuMjM3MTIyNDE2NDk2Mjc2OV0sIFsxNjYzNzU1Njk1LjQxMzIzMjgsIDIyMzc0LCAxLjEzNjk5ODUzNDIwMjU3NTddLCBbMTY2Mzc1NTY5NS42MDg0MDQyLCAyMjM5NiwgMS4xMjQ1NzcwNDU0NDA2NzM4XSwgWzE2NjM3NTU2OTYuNjE1NDQ3OCwgMjI1MDYsIDEuMTMxMzE3NDk2Mjk5NzQzN10sIFsxNjYzNzU1Njk3LjIyOTc0OTIsIDIyNTk0LCAxLjEwMTU0NDAyMjU2MDExOTZdLCBbMTY2Mzc1NTY5Ny41MDg1MTEsIDIyNjM4LCAxLjA5NTk5NzY5MTE1NDQ4XSwgWzE2NjM3NTU2OTcuNjYyNjk2MSwgMjI2NjAsIDEuMTA3NDc5NTcyMjk2MTQyNl0sIFsxNjYzNzU1Njk4Ljc5MDI2MjIsIDIyNzkyLCAxLjE1OTkwMjY5MTg0MTEyNTVdLCBbMTY2Mzc1NTY5OC45MjQ4OTU4LCAyMjgxNCwgMS4zMzk0ODA3NTc3MTMzMTc5XSwgWzE2NjM3NTU2OTkuMDY2MTMxOCwgMjI4MzYsIDEuMjE4ODAxMzc5MjAzNzk2NF0sIFsxNjYzNzU1Njk5LjIxMjYwODYsIDIyODU4LCAxLjA4NDY0NDY3NTI1NDgyMThdLCBbMTY2Mzc1NTY5OS4zNTMzNDQyLCAyMjg4MCwgMS4wOTU0OTczNjk3NjYyMzU0XSwgWzE2NjM3NTU3MDAuMjUzMTAwOSwgMjI5NjgsIDEuMTY2NDk0NzI3MTM0NzA0Nl0sIFsxNjYzNzU1NzAwLjU1ODkwNDQsIDIzMDEyLCAxLjEwODcwMzczMjQ5MDUzOTZdLCBbMTY2Mzc1NTcwMC43MDYwNDM1LCAyMzAzNCwgMS4xNDYzNzA3Njg1NDcwNThdLCBbMTY2Mzc1NTcwMS42NjUyMzg2LCAyMzE2NiwgMS4xMjM0NjA2NTA0NDQwMzA4XSwgWzE2NjM3NTU3MDEuODEwMTU4NywgMjMxODgsIDEuMTIwNzkyMTUwNDk3NDM2NV0sIFsxNjYzNzU1NzAyLjQwODA2NzUsIDIzMjU0LCAxLjE1MTY2NDczMzg4NjcxODhdLCBbMTY2Mzc1NTcwMi43NjU2NjU4LCAyMzI5OCwgMS4xNDY5ODE5NTQ1NzQ1ODVdLCBbMTY2Mzc1NTcwMi45NzYzNzU4LCAyMzMyMCwgMS4xMzc1NzI1MjY5MzE3NjI3XSwgWzE2NjM3NTU3MDMuMTgzMzcxNSwgMjMzNDIsIDEuMTE0MTY3MDk0MjMwNjUxOV0sIFsxNjYzNzU1NzAzLjQ4NjM3NDQsIDIzMzg2LCAxLjExNTI0MjM2MjAyMjRdLCBbMTY2Mzc1NTcwNC4wMzcwNTgsIDIzNDUyLCAxLjE1MDY1NDA3NzUyOTkwNzJdLCBbMTY2Mzc1NTcwNC4zMjI1MDQ4LCAyMzQ5NiwgMS4xMTU5NjcxNTQ1MDI4Njg3XSwgWzE2NjM3NTU3MDQuNjI4NjkxNywgMjM1NDAsIDEuMTExNzMwOTMzMTg5MzkyXSwgWzE2NjM3NTU3MDQuOTE5ODksIDIzNTYyLCAxLjEyNDYzNzg0MjE3ODM0NDddLCBbMTY2Mzc1NTcwNS4wNjUxNDcyLCAyMzU4NCwgMS4xNDQ1MTkyMDk4NjE3NTU0XSwgWzE2NjM3NTU3MDUuMjA3MjYyNSwgMjM2MDYsIDEuMjgyNTg0OTA1NjI0Mzg5Nl0sIFsxNjYzNzU1NzA1LjM4ODcwOTgsIDIzNjI4LCAxLjE1MDg1NTY2MDQzODUzNzZdLCBbMTY2Mzc1NTcwNS41MzI4Nzk2LCAyMzY1MCwgMS4xMTI2MTU4MjM3NDU3Mjc1XSwgWzE2NjM3NTU3MDYuMDk5MDM3NiwgMjM3MTYsIDEuMTQwOTU2NTIxMDM0MjQwN10sIFsxNjYzNzU1NzA2LjI0NTQ1MzQsIDIzNzM4LCAxLjExMzc3NjMyNjE3OTUwNDRdLCBbMTY2Mzc1NTcwNi42MzMzNjYzLCAyMzc4MiwgMS4yMTczNDA3MDc3Nzg5MzA3XSwgWzE2NjM3NTU3MDYuODI0NzcyNiwgMjM4MDQsIDEuMTYwMDQ2MTAwNjE2NDU1XSwgWzE2NjM3NTU3MDcuMDU1OTA3MiwgMjM4MjYsIDEuMTU4NDkwMTgwOTY5MjM4M10sIFsxNjYzNzU1NzA3LjU5OTA2MDUsIDIzODkyLCAxLjEwODM5NzEyNjE5NzgxNV0sIFsxNjYzNzU1NzA3Ljc0ODA3LCAyMzkxNCwgMS4xNDYzOTgxODY2ODM2NTQ4XSwgWzE2NjM3NTU3MDcuOTE1MTkyLCAyMzkzNiwgMS4xMzQwMTA3OTE3Nzg1NjQ1XSwgWzE2NjM3NTU3MDguNjQ4Nzk2NiwgMjQwMjQsIDEuMTc0MzAwMzEyOTk1OTEwNl0sIFsxNjYzNzU1NzA5Ljk1MDA3NDIsIDI0MTc4LCAxLjI5OTM5MDA3NzU5MDk0MjRdLCBbMTY2Mzc1NTcxMC4zNDExMjgzLCAyNDIyMiwgMS4xODk3MDE5MTQ3ODcyOTI1XSwgWzE2NjM3NTU3MTAuNjY2MzU5NywgMjQyNjYsIDEuMTAxMjM5MDg1MTk3NDQ4N10sIFsxNjYzNzU1NzEwLjgxOTcyMDcsIDI0Mjg4LCAxLjEyMjQ0NTIyNTcxNTYzNzJdLCBbMTY2Mzc1NTcxMC45ODQyNzMsIDI0MzEwLCAxLjIyMDc1OTg2ODYyMTgyNjJdLCBbMTY2Mzc1NTcxMS42MzY5MjgzLCAyNDM3NiwgMS4wODUwMTg3NTQwMDU0MzIxXSwgWzE2NjM3NTU3MTIuMTEwOTQ4NiwgMjQ0MjAsIDEuMTI5NTg4MjQ2MzQ1NTJdLCBbMTY2Mzc1NTcxMi41MjIyODQ3LCAyNDQ2NCwgMS4xMzY5MzM4MDM1NTgzNDk2XSwgWzE2NjM3NTU3MTIuNzU1OTQ3OCwgMjQ0ODYsIDEuMTQzODkwODU3Njk2NTMzMl0sIFsxNjYzNzU1NzEzLjIzNzUyNzYsIDI0NTMwLCAxLjIwMjI1MTY3Mjc0NDc1MV0sIFsxNjYzNzU1NzE0LjEyMjEwMSwgMjQ2NDAsIDEuMTIzMzc5NTg4MTI3MTM2Ml0sIFsxNjYzNzU1NzE0LjUxNzgyNCwgMjQ2ODQsIDEuMTI0NjQwMzQ1NTczNDI1M10sIFsxNjYzNzU1NzE0LjczNjAyNjgsIDI0NzA2LCAxLjE4MTA0MTU5ODMyMDAwNzNdLCBbMTY2Mzc1NTcxNS4zNzkzNzI2LCAyNDc3MiwgMS4xMDAwNTU0NTYxNjE0OTldLCBbMTY2Mzc1NTcxNS42MjAwNzc0LCAyNDc5NCwgMS4xNTM0NDYxOTc1MDk3NjU2XSwgWzE2NjM3NTU3MTYuMDg1MjYyNSwgMjQ4MzgsIDEuMTQ0MzU3NjgxMjc0NDE0XSwgWzE2NjM3NTU3MTYuMzE1MjU2NCwgMjQ4NjAsIDEuMDgwOTEwOTIxMDk2ODAxOF0sIFsxNjYzNzU1NzE2LjQ2NzMzMzYsIDI0ODgyLCAxLjEwMDU4MTY0NTk2NTU3NjJdLCBbMTY2Mzc1NTcxNi42MTk3NTg4LCAyNDkwNCwgMS4xMDI1MzI3NDQ0MDc2NTM4XSwgWzE2NjM3NTU3MTYuNzcwNjUsIDI0OTI2LCAxLjE3MTg1ODA3MjI4MDg4MzhdLCBbMTY2Mzc1NTcxNy4wNTUyMjEsIDI0OTcwLCAxLjEwMTkxODU3ODE0Nzg4ODJdLCBbMTY2Mzc1NTcxNy4xOTE5OTczLCAyNDk5MiwgMS4wODA0OTcyNjQ4NjIwNjA1XSwgWzE2NjM3NTU3MTcuMzY3MjU4MywgMjUwMTQsIDEuMTAyODAyNjM0MjM5MTk2OF0sIFsxNjYzNzU1NzE4LjA1MjI2NTQsIDI1MDgwLCAxLjIwODExNjc2OTc5MDY0OTRdLCBbMTY2Mzc1NTcxOC41MTUyMDUxLCAyNTE0NiwgMS4xMzM4ODQ0Mjk5MzE2NDA2XSwgWzE2NjM3NTU3MTguOTU4MDQ4NiwgMjUyMTIsIDEuMTQ1ODE5MzA2MzczNTk2Ml0sIFsxNjYzNzU1NzE5LjIxNDAyNywgMjUyMzQsIDEuMTA2OTQ5NTY3Nzk0Nzk5OF0sIFsxNjYzNzU1NzE5LjQ5NzE1MDQsIDI1Mjc4LCAxLjA3ODAyNjg5MDc1NDY5OTddLCBbMTY2Mzc1NTcxOS43ODYxMDE2LCAyNTMyMiwgMS4xNzI4MTg3Nzk5NDUzNzM1XSwgWzE2NjM3NTU3MjAuMDQ0ODE4NCwgMjUzNDQsIDEuMTk5NzY4OTAwODcxMjc2OV0sIFsxNjYzNzU1NzIwLjE4MDkyMzIsIDI1MzY2LCAxLjEzMDc1Njg1NTAxMDk4NjNdLCBbMTY2Mzc1NTcyMC4zMTk5OTkyLCAyNTM4OCwgMS4xNjA5MjI0MDgxMDM5NDI5XSwgWzE2NjM3NTU3MjEuNTEzNTcsIDI1NTQyLCAxLjExNDk4NjY1ODA5NjMxMzVdLCBbMTY2Mzc1NTcyMS44ODU3MTMzLCAyNTU4NiwgMS4xNDg1ODQ2MDQyNjMzMDU3XSwgWzE2NjM3NTU3MjIuMTczMzIsIDI1NjMwLCAxLjEwMjExODk2ODk2MzYyM10sIFsxNjYzNzU1NzIyLjcxMzQwODcsIDI1Njc0LCAxLjE1NDMzODQ3OTA0MjA1MzJdLCBbMTY2Mzc1NTcyMi45NjgxMjAzLCAyNTY5NiwgMS4yNTMyNzUyNzUyMzA0MDc3XSwgWzE2NjM3NTU3MjQuMzUzNDc0NCwgMjU4MjgsIDEuMTIxOTAzMzAwMjg1MzM5NF0sIFsxNjYzNzU1NzI0LjU1NDU0NTksIDI1ODUwLCAxLjA5NzQ1MzU5NDIwNzc2MzddLCBbMTY2Mzc1NTcyNS4wMzc2NzIzLCAyNTg5NCwgMS4xMDUyOTgwNDIyOTczNjMzXSwgWzE2NjM3NTU3MjUuMjQ0MDYzMSwgMjU5MTYsIDEuMTk5Njk0NjMzNDgzODg2N10sIFsxNjYzNzU1NzI1LjQ1NzM4ODQsIDI1OTM4LCAxLjEyMTE5NjM4OTE5ODMwMzJdLCBbMTY2Mzc1NTcyNi4zMzUwMDM5LCAyNjAyNiwgMS4yNTg5NzkwODIxMDc1NDRdLCBbMTY2Mzc1NTcyNi43Mjk5NjM4LCAyNjA3MCwgMS4xMjIwNzg3NzYzNTk1NThdLCBbMTY2Mzc1NTcyNy4wMjM2NTU0LCAyNjExNCwgMS4xMDA2MTgzNjI0MjY3NTc4XSwgWzE2NjM3NTU3MjcuMzE4NTE5NCwgMjYxNTgsIDEuMTE5ODI1NDgyMzY4NDY5Ml0sIFsxNjYzNzU1NzI3LjU1NDYyNDYsIDI2MTgwLCAxLjEyNTg2MjU5ODQxOTE4OTVdLCBbMTY2Mzc1NTcyNy43ODg4MDQzLCAyNjIwMiwgMS4xMjkyOTA1ODA3NDk1MTE3XSwgWzE2NjM3NTU3MjguNDg0MDQxMiwgMjYyNjgsIDEuMTUxNjQzMDM3Nzk2MDIwNV0sIFsxNjYzNzU1NzI4LjcwOTMxMjcsIDI2MjkwLCAxLjI4NjExNzMxNTI5MjM1ODRdLCBbMTY2Mzc1NTcyOC45MTQxMjg4LCAyNjMxMiwgMS4xMDA5NTQ2NTE4MzI1ODA2XSwgWzE2NjM3NTU3MjkuMzI1NTEzMSwgMjYzNTYsIDEuMTA2NTM2ODY1MjM0Mzc1XSwgWzE2NjM3NTU3MjkuNTMzNzgwOCwgMjYzNzgsIDEuMTIxMTE3NDcyNjQ4NjIwNl0sIFsxNjYzNzU1NzMwLjE1OTI3OCwgMjY0NDQsIDEuMTM4MDk0NzgyODI5Mjg0N10sIFsxNjYzNzU1NzMwLjk5ODUxODcsIDI2NTMyLCAxLjE1NDYxODM4MjQ1MzkxODVdLCBbMTY2Mzc1NTczMS4xOTQ4NzI5LCAyNjU1NCwgMS4xMTYwNTcwMzgzMDcxOV0sIFsxNjYzNzU1NzMxLjQxMzU5NSwgMjY1NzYsIDEuMjU4NDg1NTU1NjQ4ODAzN10sIFsxNjYzNzU1NzMxLjczMTYwMTcsIDI2NjIwLCAxLjE0NTcxMDQ2ODI5MjIzNjNdLCBbMTY2Mzc1NTczMi4zMTIzOTU2LCAyNjcwOCwgMS4xODA5NjA1MzYwMDMxMTI4XSwgWzE2NjM3NTU3MzIuNDU0OTAzNiwgMjY3MzAsIDEuMTE3NzYwMzAwNjM2MjkxNV0sIFsxNjYzNzU1NzMyLjYwMjM4MzksIDI2NzUyLCAxLjE1MTQ2NTE3NzUzNjAxMDddLCBbMTY2Mzc1NTczMy4wNjcxMjY1LCAyNjgxOCwgMS4wODI3NDUwNzUyMjU4M10sIFsxNjYzNzU1NzM0LjA2NTExNzQsIDI2OTI4LCAxLjIxMjU2NDU4NzU5MzA3ODZdLCBbMTY2Mzc1NTczNC4zNjg4NDgzLCAyNjk3MiwgMS4xMzY0NjA3ODEwOTc0MTJdLCBbMTY2Mzc1NTczNS4wNjYxNDYsIDI3MDYwLCAxLjEyOTA1OTkxMDc3NDIzMV0sIFsxNjYzNzU1NzM1Ljc2ODA4MDcsIDI3MTI2LCAxLjE3MDM2OTg2MzUxMDEzMThdLCBbMTY2Mzc1NTczNi4wNTQ2Mjc3LCAyNzE0OCwgMS4xMzA2MzI0MDA1MTI2OTUzXSwgWzE2NjM3NTU3MzYuOTEyMzM4NywgMjcyNTgsIDEuMTEwOTI5MjUwNzE3MTYzXSwgWzE2NjM3NTU3MzcuMjMwNzY1LCAyNzMwMiwgMS4xMjIzNDg5MDQ2MDk2ODAyXSwgWzE2NjM3NTU3MzcuNDcxNzI3LCAyNzMyNCwgMS4xMTI0NTYzMjE3MTYzMDg2XSwgWzE2NjM3NTU3MzcuNjI1ODk1NywgMjczNDYsIDEuMDg0MTMxNDc5MjYzMzA1N10sIFsxNjYzNzU1NzM3LjgzNDU4NzYsIDI3MzY4LCAxLjA3OTk0NzcxMDAzNzIzMTRdLCBbMTY2Mzc1NTczNy45NzIyODcyLCAyNzM5MCwgMS4xMDA5ODgwMzA0MzM2NTQ4XSwgWzE2NjM3NTU3MzguMzcwNDI3LCAyNzQzNCwgMS4xNjYxMzUzMTExMjY3MDldLCBbMTY2Mzc1NTczOC44MjY2NzIsIDI3NTAwLCAxLjA4MDU0OTgzNjE1ODc1MjRdLCBbMTY2Mzc1NTczOC45OTA4Njk4LCAyNzUyMiwgMS4xNDY4MzQyNTQyNjQ4MzE1XSwgWzE2NjM3NTU3MzkuMjc0OTk0NiwgMjc1NDQsIDEuMTMyODg3ODQwMjcwOTk2XSwgWzE2NjM3NTU3MzkuNDE5MTI2NSwgMjc1NjYsIDEuMTk2NzU5NTgxNTY1ODU3XSwgWzE2NjM3NTU3MzkuNzA5MTAzNiwgMjc2MTAsIDEuMTM4ODA3NTM1MTcxNTA4OF0sIFsxNjYzNzU1NzQwLjIzODIwNCwgMjc2NTQsIDEuMDk3NzE5MDczMjk1NTkzM10sIFsxNjYzNzU1NzQwLjM5MjA2NiwgMjc2NzYsIDEuMDkxNjEwMDc0MDQzMjc0XSwgWzE2NjM3NTU3NDAuODUyMzQ5NSwgMjc3NDIsIDEuMjE1MDg1NzQ0ODU3Nzg4XSwgWzE2NjM3NTU3NDEuMTAyMTAxOCwgMjc3NjQsIDEuMDkzOTk2NTI0ODEwNzkxXSwgWzE2NjM3NTU3NDIuMDY5NzQzNCwgMjc4OTYsIDEuMTAyMjIzNjM0NzE5ODQ4Nl0sIFsxNjYzNzU1NzQyLjgwNTI0LCAyNzk4NCwgMS4wOTMzNjU5MDc2NjkwNjc0XSwgWzE2NjM3NTU3NDQuMDg2OTUzNiwgMjgwOTQsIDEuMTM2OTI1NTc4MTE3MzcwNl0sIFsxNjYzNzU1NzQ0LjI3NDA4NTUsIDI4MTE2LCAxLjEyODE0ODU1NTc1NTYxNTJdLCBbMTY2Mzc1NTc0NC40MjIyMDQ1LCAyODEzOCwgMS4xMzYyODU0MjQyMzI0ODNdLCBbMTY2Mzc1NTc0NS4wMDA2Mjc4LCAyODIyNiwgMS4xMTU1NTY5NTUzMzc1MjQ0XSwgWzE2NjM3NTU3NDUuNDIwMjEzMiwgMjgyOTIsIDEuMTAyNjA0OTg1MjM3MTIxNl0sIFsxNjYzNzU1NzQ2LjIwMTc3NDgsIDI4NDAyLCAxLjE0NjMwMzI5NjA4OTE3MjRdLCBbMTY2Mzc1NTc0Ni43NTYyMjg3LCAyODQ2OCwgMS4xMTg3MTkzMzkzNzA3Mjc1XSwgWzE2NjM3NTU3NDcuODY5NTQ4MywgMjg1NzgsIDEuMTExNzk2OTc1MTM1ODAzMl0sIFsxNjYzNzU1NzQ4LjA5MTE5MSwgMjg2MDAsIDEuMTMzOTc2NTc4NzEyNDYzNF0sIFsxNjYzNzU1NzQ4Ljc4OTQ4OCwgMjg2NjYsIDEuMDg1NjM5NzE1MTk0NzAyMV0sIFsxNjYzNzU1NzQ5LjU2ODAwMjIsIDI4NzU0LCAxLjEzMTY0NTMyMTg0NjAwODNdLCBbMTY2Mzc1NTc1MC40MjAxMDQsIDI4ODQyLCAxLjE1ODc3OTUwMTkxNDk3OF0sIFsxNjYzNzU1NzUxLjEyOTA4OSwgMjg5NTIsIDEuMTY0NDI4MjM0MTAwMzQxOF0sIFsxNjYzNzU1NzUxLjg2NzE4MjcsIDI5MDYyLCAxLjIyMjgxNzA2MzMzMTYwNF0sIFsxNjYzNzU1NzUyLjM0OTUwOCwgMjkxMDYsIDEuMTExODE2NjQ0NjY4NTc5XSwgWzE2NjM3NTU3NTIuNzYzMDgyNSwgMjkxNzIsIDEuMDkwNzA4MjU1NzY3ODIyM10sIFsxNjYzNzU1NzUyLjkwMDQ0MjQsIDI5MTk0LCAxLjA4MjAzNjEzNzU4MDg3MTZdLCBbMTY2Mzc1NTc1My40MDUwMjE3LCAyOTIzOCwgMS4wODA1NjM1NDUyMjcwNTA4XSwgWzE2NjM3NTU3NTQuNzA3NDUzNywgMjkzOTIsIDEuMDg5MTQ5NTk0MzA2OTQ1OF0sIFsxNjYzNzU1NzU2LjM3NTE1MTQsIDI5NTkwLCAxLjE4MDYwNzQzODA4NzQ2MzRdLCBbMTY2Mzc1NTc1Ni41MTQ0MDk4LCAyOTYxMiwgMS4xMDYyNTgzOTIzMzM5ODQ0XSwgWzE2NjM3NTU3NTcuMDA4ODE4LCAyOTY1NiwgMS4xMDExMDY4ODIwOTUzMzddLCBbMTY2Mzc1NTc1Ny4xNDc4MTQ1LCAyOTY3OCwgMS4wODUxODY0ODE0NzU4M10sIFsxNjYzNzU1NzU3LjU2NDA0NzYsIDI5NzQ0LCAxLjA4ODI0OTU2NDE3MDgzNzRdLCBbMTY2Mzc1NTc1Ny45MDgyNjg1LCAyOTc2NiwgMS4xMTczMzY4NjkyMzk4MDcxXSwgWzE2NjM3NTU3NTguMTgzODYzOSwgMjk4MTAsIDEuMTI1NTU1NTE1Mjg5MzA2Nl0sIFsxNjYzNzU1NzU4Ljk1ODE1ODcsIDI5ODk4LCAxLjEyNDU4OTY4MTYyNTM2NjJdLCBbMTY2Mzc1NTc1OS4yMzUzODE2LCAyOTk0MiwgMS4xMDI2MTE0MjI1Mzg3NTczXSwgWzE2NjM3NTU3NTkuOTk2NDU3NiwgMzAwMzAsIDEuMDczNDIxMDAxNDM0MzI2Ml0sIFsxNjYzNzU1NzYwLjEzNzcxMTMsIDMwMDUyLCAxLjA3NTY2MDIyODcyOTI0OF0sIFsxNjYzNzU1NzYwLjI4MjEwNjYsIDMwMDc0LCAxLjA4MjU2NzgxMTAxMjI2OF0sIFsxNjYzNzU1NzYwLjYxNzcxOSwgMzAwOTYsIDEuMDkyNTg1NTYzNjU5NjY4XSwgWzE2NjM3NTU3NjAuNzU0MDY5NiwgMzAxMTgsIDEuMTM5NzE4NjUxNzcxNTQ1NF0sIFsxNjYzNzU1NzYxLjU0MjA0NywgMzAyMDYsIDEuMDYwNDAwMjQ3NTczODUyNV0sIFsxNjYzNzU1NzYxLjY4NDg3MTQsIDMwMjI4LCAxLjA4MjMzOTA0ODM4NTYyMDFdLCBbMTY2Mzc1NTc2MS45ODA4ODQzLCAzMDI3MiwgMS4xMDUwNzQ1MjQ4Nzk0NTU2XSwgWzE2NjM3NTU3NjIuMTIwNTg4OCwgMzAyOTQsIDEuMTE2MDEyMjE1NjE0MzE4OF0sIFsxNjYzNzU1NzYyLjg4NzA2MDYsIDMwMzgyLCAxLjA5ODQwMDU5MjgwMzk1NV0sIFsxNjYzNzU1NzYzLjgwMTczNCwgMzA0OTIsIDEuMjM1OTkwNTI0MjkxOTkyMl0sIFsxNjYzNzU1NzYzLjkzODE4NTcsIDMwNTE0LCAxLjIxMzU5NDMxNzQzNjIxODNdLCBbMTY2Mzc1NTc2NC45NzM2OTUzLCAzMDYwMiwgMS4xMTA0NzY0OTM4MzU0NDkyXSwgWzE2NjM3NTU3NjUuNTAzNDU0LCAzMDY2OCwgMS4wOTY1ODc2NTc5Mjg0NjY4XSwgWzE2NjM3NTU3NjYuMTM3OTI2OCwgMzA3NTYsIDEuMDkyMDI4ODU2Mjc3NDY1OF0sIFsxNjYzNzU1NzY3LjQxNzEzMjEsIDMwODg4LCAxLjEwMzU2MDgwNTMyMDczOTddLCBbMTY2Mzc1NTc2OS45MjIxOTYxLCAzMTE3NCwgMS4wNzY4MTc1MTI1MTIyMDddLCBbMTY2Mzc1NTc3MC4wNjQwOTc2LCAzMTE5NiwgMS4wOTEzMjIzMDI4MTgyOTgzXSwgWzE2NjM3NTU3NzAuNjYwNzExOCwgMzEyODQsIDEuMTcwNjk0NzA4ODI0MTU3N10sIFsxNjYzNzU1NzcyLjgwMjc5NTIsIDMxNTA0LCAxLjE0NTM0NzgzMzYzMzQyMjldLCBbMTY2Mzc1NTc3My4wNTM5MzEyLCAzMTUyNiwgMS4wNzUwNDE3NzA5MzUwNTg2XSwgWzE2NjM3NTU3NzMuOTkzNjEyOCwgMzE2MTQsIDEuMTA3NTc2MjUxMDI5OTY4M10sIFsxNjYzNzU1Nzc0LjQwOTk0NTIsIDMxNjU4LCAxLjExMTcyOTk3OTUxNTA3NTddLCBbMTY2Mzc1NTc3NC42MTc3MjY2LCAzMTY4MCwgMS4wODMzNTI2ODQ5NzQ2NzA0XSwgWzE2NjM3NTU3NzQuNzg0OTgyNCwgMzE3MDIsIDEuMDc1NzUzNDUwMzkzNjc2OF0sIFsxNjYzNzU1Nzc0LjkyNzAzMDMsIDMxNzI0LCAxLjA5OTYwMzQxNDUzNTUyMjVdLCBbMTY2Mzc1NTc3NS4zNTg2MjUsIDMxNzkwLCAxLjExMTYwNDA5NDUwNTMxXSwgWzE2NjM3NTU3NzUuNjM5OTcxNSwgMzE4MzQsIDEuMDg0NzE4NTg1MDE0MzQzM10sIFsxNjYzNzU1Nzc1Ljc4MzYyMSwgMzE4NTYsIDEuMTM3NjQ3MjcxMTU2MzExXSwgWzE2NjM3NTU3NzYuMDkxMTU4LCAzMTkwMCwgMS4wODg2MzA5MTQ2ODgxMTA0XSwgWzE2NjM3NTU3NzYuMzkyMDk3LCAzMTk0NCwgMS4xMTM1NzM3ODk1OTY1NTc2XSwgWzE2NjM3NTU3NzYuNTI4MjI2MSwgMzE5NjYsIDEuMDg3MDEwMzgzNjA1OTU3XSwgWzE2NjM3NTU3NzcuMDU1NjE1MiwgMzIwMTAsIDEuMTc2NjU2MTI2OTc2MDEzMl0sIFsxNjYzNzU1Nzc3LjIwMDM1NywgMzIwMzIsIDEuMTUwNjIyODQ0Njk2MDQ1XSwgWzE2NjM3NTU3NzcuMzM4Njc2LCAzMjA1NCwgMS4wOTc3NzU2OTc3MDgxMjk5XSwgWzE2NjM3NTU3NzcuNDkzMjc2LCAzMjA3NiwgMS4xMDI0ODgxNjAxMzMzNjE4XSwgWzE2NjM3NTU3NzcuODQ5MjQzNiwgMzIwOTgsIDEuMDkxNzAwOTExNTIxOTExNl0sIFsxNjYzNzU1Nzc3Ljk5MDI5OTIsIDMyMTIwLCAxLjA3OTE4NTI0NzQyMTI2NDZdLCBbMTY2Mzc1NTc3OC4xNDQyNjg4LCAzMjE0MiwgMS4xMjc2MDQyNDYxMzk1MjY0XSwgWzE2NjM3NTU3NzguMjg5MzQ3LCAzMjE2NCwgMS4xMDU4MzE4NjE0OTU5NzE3XSwgWzE2NjM3NTU3NzguNzc1ODE2NCwgMzIyMDgsIDEuMDkyMDA5MDY3NTM1NDAwNF0sIFsxNjYzNzU1Nzc5Ljk3ODcsIDMyMzYyLCAxLjExNzAzNjgxOTQ1ODAwNzhdLCBbMTY2Mzc1NTc4MC41OTMwNSwgMzI0MjgsIDEuMTY1NTk3OTE1NjQ5NDE0XSwgWzE2NjM3NTU3ODAuNzMyMzkwNiwgMzI0NTAsIDEuMDc1NTM4NzU0NDYzMTk1OF0sIFsxNjYzNzU1NzgxLjAyMjgzLCAzMjQ5NCwgMS4wOTM2OTQ1Njc2ODAzNTg5XSwgWzE2NjM3NTU3ODIuNDUxMTIwMSwgMzI2NDgsIDEuMDg3NDAzODkzNDcwNzY0Ml0sIFsxNjYzNzU1NzgzLjAwMTk1OSwgMzI3MzYsIDEuMTA4MTU5MzAzNjY1MTYxMV0sIFsxNjYzNzU1NzgzLjQ5NDk4MjUsIDMyNzgwLCAxLjEwOTY0NjIwMTEzMzcyOF0sIFsxNjYzNzU1NzgzLjYzNTk4OTcsIDMyODAyLCAxLjA4NTYzNjczNDk2MjQ2MzRdLCBbMTY2Mzc1NTc4NC4yNDYyNjksIDMyODY4LCAxLjE0Nzc3MjA3Mzc0NTcyNzVdLCBbMTY2Mzc1NTc4NC41MjQ5MDAyLCAzMjg5MCwgMS4xMDkwMjE3ODI4NzUwNjFdLCBbMTY2Mzc1NTc4NS40NjQ2ODQ3LCAzMjk3OCwgMS4wODk1MjMxOTYyMjAzOThdLCBbMTY2Mzc1NTc4NS42MTEyOTMsIDMzMDAwLCAxLjEyNTQ1MDM3MjY5NTkyMjldLCBbMTY2Mzc1NTc4NS43NTExMzgsIDMzMDIyLCAxLjEyMjA4MzkwMjM1OTAwODhdLCBbMTY2Mzc1NTc4Ni4wMzQwNDQzLCAzMzA2NiwgMS4wODc3ODkwNTg2ODUzMDI3XSwgWzE2NjM3NTU3ODcuMTg1NTE4MywgMzMyMjAsIDEuMDk0MzMyMjE4MTcwMTY2XSwgWzE2NjM3NTU3ODcuMzI3OTQ4MywgMzMyNDIsIDEuMTIwNDUxMDkyNzIwMDMxN10sIFsxNjYzNzU1Nzg3LjQ3NTk5OCwgMzMyNjQsIDEuMTM4NzAwNjA0NDM4NzgxN10sIFsxNjYzNzU1Nzg3Ljg5NTU3MSwgMzMzMDgsIDEuMzA1MjE1ODM1NTcxMjg5XSwgWzE2NjM3NTU3ODguMTcwOTY2NCwgMzMzNTIsIDEuMDYyNzYwMjMzODc5MDg5NF0sIFsxNjYzNzU1Nzg4LjMwODgzMzYsIDMzMzc0LCAxLjA4MzIyMDYwMTA4MTg0ODFdLCBbMTY2Mzc1NTc4OS40NDQxMTkyLCAzMzUyOCwgMS4xNDEwOTI4OTY0NjE0ODY4XSwgWzE2NjM3NTU3OTAuMjgzNjU4NSwgMzM2MzgsIDEuMDkxNjA2MDIwOTI3NDI5Ml0sIFsxNjYzNzU1NzkxLjQxNTY1MzUsIDMzNzcwLCAxLjExNTg0NDI0OTcyNTM0MThdLCBbMTY2Mzc1NTc5MS44NDE4ODcyLCAzMzgzNiwgMS4wNzE4ODc4NTA3NjE0MTM2XSwgWzE2NjM3NTU3OTEuOTgwOTg1LCAzMzg1OCwgMS4xMTA5MzU5MjY0MzczNzhdLCBbMTY2Mzc1NTc5Mi41Mjk5ODk1LCAzMzkyNCwgMS4wNjc5NzgxNDM2OTIwMTY2XSwgWzE2NjM3NTU3OTMuNjQ1OTIzNCwgMzQwNzgsIDEuMTAyNTAxNjMwNzgzMDgxXSwgWzE2NjM3NTU3OTQuMjE0NDE2MywgMzQxNDQsIDEuMTkwNTAyMTY2NzQ4MDQ2OV0sIFsxNjYzNzU1Nzk0LjM2NDExMSwgMzQxNjYsIDEuMTYwNzYwOTk4NzI1ODkxMV0sIFsxNjYzNzU1Nzk0LjUwMTgyOTQsIDM0MTg4LCAxLjExMjQ1MDcxODg3OTY5OTddLCBbMTY2Mzc1NTc5Ni4wMjY5NjM1LCAzNDM4NiwgMS4wOTY3NjY1OTEwNzIwODI1XSwgWzE2NjM3NTU3OTYuNzcxNjQ0OCwgMzQ0NTIsIDEuMTA3MjI3NjgzMDY3MzIxOF0sIFsxNjYzNzU1Nzk2Ljk5MDQwMzQsIDM0NDc0LCAxLjExNDQ2MTQyMTk2NjU1MjddLCBbMTY2Mzc1NTc5Ny40NzQ1MDkyLCAzNDUxOCwgMS4wNjI1ODA5NDMxMDc2MDVdLCBbMTY2Mzc1NTc5Ny45MzQ2NjkzLCAzNDU2MiwgMS4xMjY0NDExMjExMDEzNzk0XSwgWzE2NjM3NTU3OTguMjA1NjY4MiwgMzQ1ODQsIDEuMDcyNjUxMDI4NjMzMTE3N10sIFsxNjYzNzU1Nzk4LjQyMDA0ODcsIDM0NjA2LCAxLjA5MzE5NjM5MjA1OTMyNjJdLCBbMTY2Mzc1NTc5OC41NzQ3Mjk0LCAzNDYyOCwgMS4xMDA3NjY2NTg3ODI5NTldLCBbMTY2Mzc1NTc5OS4wMzg0OTM2LCAzNDY5NCwgMS4xMjMyOTExMzQ4MzQyODk2XSwgWzE2NjM3NTU3OTkuMzQzNzIyMywgMzQ3MzgsIDEuMTMzOTk5ODI0NTIzOTI1OF0sIFsxNjYzNzU1Nzk5LjY0NzM4NjYsIDM0NzgyLCAxLjA3MTc4NzcxNDk1ODE5MV0sIFsxNjYzNzU1Nzk5Ljc5NjkwMTIsIDM0ODA0LCAxLjA4ODM2NDgzOTU1MzgzM10sIFsxNjYzNzU1Nzk5LjkzNDkyNjUsIDM0ODI2LCAxLjA4ODgxOTUwMzc4NDE3OTddLCBbMTY2Mzc1NTgwMC4zODkxOTY2LCAzNDg5MiwgMS4xMTExNzA2NDk1Mjg1MDM0XSwgWzE2NjM3NTU4MDEuMjMxMzQ2OCwgMzUwMDIsIDEuMDc5MDU0ODMyNDU4NDk2XSwgWzE2NjM3NTU4MDIuMDc0MDk3MiwgMzUxMTIsIDEuMTQwMzU5OTk3NzQ5MzI4Nl0sIFsxNjYzNzU1ODAyLjIwODc0OSwgMzUxMzQsIDEuMTA1OTIyODE4MTgzODk5XSwgWzE2NjM3NTU4MDIuMzUzMjgzNiwgMzUxNTYsIDEuMTAzMDY3MTU5NjUyNzFdLCBbMTY2Mzc1NTgwMy4wNTU5NjgzLCAzNTI0NCwgMS4xMTYwMDE3MjUxOTY4Mzg0XSwgWzE2NjM3NTU4MDMuMTk1NTIwNCwgMzUyNjYsIDEuMTE5ODI4NzAxMDE5Mjg3XSwgWzE2NjM3NTU4MDMuMzM5Njc5NywgMzUyODgsIDEuMDg0NDUzMzQ0MzQ1MDkyOF0sIFsxNjYzNzU1ODA0LjczNTE4MywgMzU0NjQsIDEuMTI1MDUxNDk4NDEzMDg2XSwgWzE2NjM3NTU4MDUuMDE5MDI0MSwgMzU1MDgsIDEuMjczOTM3NTgyOTY5NjY1NV0sIFsxNjYzNzU1ODA1LjI4NTc1NzgsIDM1NTMwLCAxLjA4NzU2MTQ4ODE1MTU1MDNdLCBbMTY2Mzc1NTgwNS41ODgxMzUyLCAzNTU3NCwgMS4wODMxNTE2OTgxMTI0ODc4XSwgWzE2NjM3NTU4MDYuNTU0ODkzLCAzNTcwNiwgMS4wOTI2MzY0NjYwMjYzMDYyXSwgWzE2NjM3NTU4MDYuOTc0MTg3LCAzNTc1MCwgMS4xMjc3NTE4MjcyMzk5OTAyXSwgWzE2NjM3NTU4MDcuMjc2NzQ2NSwgMzU3OTQsIDEuMTIyNTEwMDc1NTY5MTUyOF0sIFsxNjYzNzU1ODA3LjQxNDQ2NjEsIDM1ODE2LCAxLjA4MjM3ODAyOTgyMzMwMzJdLCBbMTY2Mzc1NTgwOC40MjQ1OTI3LCAzNTkwNCwgMS4xODY5NDQ3MjMxMjkyNzI1XSwgWzE2NjM3NTU4MDguOTkxMDk4OSwgMzU5OTIsIDEuMTI0NzgyMDg1NDE4NzAxMl0sIFsxNjYzNzU1ODA5LjEyNjIwNSwgMzYwMTQsIDEuMTIyODM4MTM5NTMzOTk2Nl0sIFsxNjYzNzU1ODA5LjI2OTM0NzcsIDM2MDM2LCAxLjA5MDM4ODc3NDg3MTgyNjJdLCBbMTY2Mzc1NTgwOS44OTM1NDUsIDM2MTAyLCAxLjExNTI5MTExODYyMTgyNjJdLCBbMTY2Mzc1NTgxMC4wMzQxMTQ4LCAzNjEyNCwgMS4xMjE4ODEyNDY1NjY3NzI1XSwgWzE2NjM3NTU4MTAuOTg2MDM4MiwgMzYyMzQsIDEuMDk3MzExODU0MzYyNDg3OF0sIFsxNjYzNzU1ODExLjE2MDI0NDIsIDM2MjU2LCAxLjA4MDQ3Mzc4MDYzMjAxOV0sIFsxNjYzNzU1ODExLjQ2MjcyNzgsIDM2MzAwLCAxLjEwMzUzNTY1MjE2MDY0NDVdLCBbMTY2Mzc1NTgxMS44NTQ3MTQ2LCAzNjM0NCwgMS4wODc3NjE4Nzg5NjcyODUyXSwgWzE2NjM3NTU4MTIuMDA4MTQ5LCAzNjM2NiwgMS4xMTc0NjIzOTY2MjE3MDRdLCBbMTY2Mzc1NTgxMi4xNDkwNjg4LCAzNjM4OCwgMS4xMTIzMzczNTA4NDUzMzddLCBbMTY2Mzc1NTgxMi4yOTQ1MzE4LCAzNjQxMCwgMS4wNjc0NzIxMDAyNTc4NzM1XSwgWzE2NjM3NTU4MTIuNzE0MTQ4MywgMzY0NTQsIDEuMTQzODI0ODE1NzUwMTIyXSwgWzE2NjM3NTU4MTMuMDEyMzU5OSwgMzY0OTgsIDEuMTEwMjk2MTMwMTgwMzU4OV0sIFsxNjYzNzU1ODE0LjA3NTkyMDgsIDM2NTg2LCAxLjA5NjI3MjIzMDE0ODMxNTRdLCBbMTY2Mzc1NTgxNC40ODExNjI4LCAzNjYzMCwgMS4xNjYxNjU5NDc5MTQxMjM1XSwgWzE2NjM3NTU4MTQuODk5MzUwNiwgMzY2NzQsIDEuMTY4NDE5ODM3OTUxNjYwMl0sIFsxNjYzNzU1ODE1LjUyNjQ4NiwgMzY3NDAsIDEuMjI1MTgzMzY3NzI5MTg3XSwgWzE2NjM3NTU4MTUuNjY2MTA4OCwgMzY3NjIsIDEuMjA3ODM4ODkyOTM2NzA2NV0sIFsxNjYzNzU1ODE2LjIzNzAzNzcsIDM2ODUwLCAxLjA3MzUzNjE1NzYwODAzMjJdLCBbMTY2Mzc1NTgxNi43MDIzNDksIDM2OTE2LCAxLjEwMTY4NjQ3NzY2MTEzMjhdLCBbMTY2Mzc1NTgxNi45NzgwNTk4LCAzNjk2MCwgMS4xNTExODQyMDEyNDA1Mzk2XSwgWzE2NjM3NTU4MTcuMzIzMTc5NSwgMzY5ODIsIDEuMTM1ODc3MTMyNDE1NzcxNV0sIFsxNjYzNzU1ODE3LjYxMDgzNiwgMzcwMjYsIDEuMDgyODY4Njk1MjU5MDk0Ml0sIFsxNjYzNzU1ODE4LjIzNjk1MjMsIDM3MDkyLCAxLjE1MDQzNzQ3NDI1MDc5MzVdLCBbMTY2Mzc1NTgxOC4zOTYzODYxLCAzNzExNCwgMS4xMjMyNDg1NzcxMTc5Ml0sIFsxNjYzNzU1ODE4LjUzMTg3NTYsIDM3MTM2LCAxLjExMjAwNDA0MTY3MTc1M10sIFsxNjYzNzU1ODE4LjY4Njg0NiwgMzcxNTgsIDEuMTAxMjYxNzM0OTYyNDYzNF0sIFsxNjYzNzU1ODE5LjYzMDg5MTMsIDM3MjY4LCAxLjA3NTU4ODM0NTUyNzY0OV0sIFsxNjYzNzU1ODE5Ljc2NjIyOCwgMzcyOTAsIDEuMDc2MDg5NTAxMzgwOTIwNF0sIFsxNjYzNzU1ODIwLjA5OTUzMDIsIDM3MzEyLCAxLjA4MzQyOTIxNzMzODU2Ml0sIFsxNjYzNzU1ODIwLjQzNjUyNywgMzczNTYsIDEuMjUwNTgyMDk4OTYwODc2NV0sIFsxNjYzNzU1ODIwLjkwNDQwNjMsIDM3NDAwLCAxLjI1MzM4NDcwOTM1ODIxNTNdLCBbMTY2Mzc1NTgyMS4xNDM0MDIzLCAzNzQyMiwgMS4xMDI5MjM1MTI0NTg4MDEzXSwgWzE2NjM3NTU4MjEuNTk4ODgyLCAzNzQ2NiwgMS4xOTc3MDc1MzM4MzYzNjQ3XSwgWzE2NjM3NTU4MjEuODY4NjY4LCAzNzUxMCwgMS4xMTQ1OTgzOTM0NDAyNDY2XSwgWzE2NjM3NTU4MjIuMzU0ODU4MiwgMzc1NzYsIDEuMTMyNDQ2NzY1ODk5NjU4Ml0sIFsxNjYzNzU1ODIyLjY0ODYwOCwgMzc2MjAsIDEuMDcyMjAyNTYzMjg1ODI3Nl0sIFsxNjYzNzU1ODIyLjk0MzYxMjMsIDM3NjQyLCAxLjEzMzgyNzIwOTQ3MjY1NjJdLCBbMTY2Mzc1NTgyMy4xOTY0NDUsIDM3NjY0LCAxLjA3ODM4Nzg1NjQ4MzQ1OTVdLCBbMTY2Mzc1NTgyMy4zNjc1MDM2LCAzNzY4NiwgMS4wNzI2NjM2NjQ4MTc4MV0sIFsxNjYzNzU1ODI0LjQ1MjUzOTQsIDM3ODE4LCAxLjEyODY2Njc1ODUzNzI5MjVdLCBbMTY2Mzc1NTgyNC42NzU3OTEsIDM3ODQwLCAxLjA5OTAxMjk3MDkyNDM3NzRdLCBbMTY2Mzc1NTgyNS4zNzQwOTYsIDM3OTA2LCAxLjA5NDg2MTg2NTA0MzY0MDFdLCBbMTY2Mzc1NTgyNS42MzQwNzU5LCAzNzkyOCwgMS4xMTkwNDYwOTIwMzMzODYyXSwgWzE2NjM3NTU4MjUuODIyNDY3NiwgMzc5NTAsIDEuMTc4MzM2NzM5NTQwMV0sIFsxNjYzNzU1ODI1Ljk2Mjc3MiwgMzc5NzIsIDEuMDc4NTk5MDk1MzQ0NTQzNV0sIFsxNjYzNzU1ODI2LjY3MTE1ODgsIDM4MDgyLCAxLjEwNTQ1Njk0ODI4MDMzNDVdLCBbMTY2Mzc1NTgyNy45NTIwMjIsIDM4MjU4LCAxLjA2NzE1NjU1MzI2ODQzMjZdLCBbMTY2Mzc1NTgyOC4xOTkzNDc3LCAzODI4MCwgMS4wODQ0ODQ1NzcxNzg5NTVdLCBbMTY2Mzc1NTgyOC44OTM3NDYsIDM4MzY4LCAxLjA5MTg2MDI5NDM0MjA0MV0sIFsxNjYzNzU1ODI5LjMyMjI4MzMsIDM4NDEyLCAxLjA4MDkxMTk5Mzk4MDQwNzddLCBbMTY2Mzc1NTgyOS43MjQ1NDgsIDM4NDc4LCAxLjEzOTgwODA1ODczODcwODVdLCBbMTY2Mzc1NTgyOS44NTgwODIsIDM4NTAwLCAxLjA4NzA2NzAwODAxODQ5MzddLCBbMTY2Mzc1NTgzMC4xNTIzOSwgMzg1MjIsIDEuMDc5NTgzNTI1NjU3NjUzOF0sIFsxNjYzNzU1ODMwLjI4MzgwNCwgMzg1NDQsIDEuMTE1ODAyODg0MTAxODY3N10sIFsxNjYzNzU1ODMwLjU1NTc1NjMsIDM4NTg4LCAxLjE2MDY2OTkyMjgyODY3NDNdLCBbMTY2Mzc1NTgzMC42OTc5NDg1LCAzODYxMCwgMS4wOTY4NDk0NDE1MjgzMjAzXSwgWzE2NjM3NTU4MzEuNTAwODAxMywgMzg2NzYsIDEuMDg0NTQzNTg1Nzc3MjgyN10sIFsxNjYzNzU1ODMyLjY2Mjg4NjksIDM4Nzg2LCAxLjA2MTg4MTg5OTgzMzY3OTJdLCBbMTY2Mzc1NTgzMi44ODQwMzEsIDM4ODA4LCAxLjEyMDg1MjM1MTE4ODY1OTddLCBbMTY2Mzc1NTgzMy4zMTIwMDE1LCAzODg1MiwgMS4xMDUwOTQ5MDk2Njc5Njg4XSwgWzE2NjM3NTU4MzMuOTk0MzQwNywgMzg5MTgsIDEuMTIwNDA0MzYyNjc4NTI3OF0sIFsxNjYzNzU1ODM1LjE5ODcyMjgsIDM5MDcyLCAxLjE0NjY0MzQwMDE5MjI2MDddLCBbMTY2Mzc1NTgzNS4zNjUzNjY3LCAzOTA5NCwgMS4xNjQzODY3NDkyNjc1NzgxXSwgWzE2NjM3NTU4MzUuNTIyODk4MiwgMzkxMTYsIDEuMDc5MDQzODY1MjAzODU3NF0sIFsxNjYzNzU1ODM1Ljk4NzM3NjcsIDM5MTgyLCAxLjEwNjE4ODUzNTY5MDMwNzZdLCBbMTY2Mzc1NTgzNi41NzQyOTkzLCAzOTI3MCwgMS4wODAwMTczMjgyNjIzMjldLCBbMTY2Mzc1NTgzNi43MjE5OTc3LCAzOTI5MiwgMS4wODY5ODMwODQ2Nzg2NV0sIFsxNjYzNzU1ODM3LjAwNzA1NTMsIDM5MzE0LCAxLjA4ODY4MDAyODkxNTQwNTNdLCBbMTY2Mzc1NTgzNy42ODY5MDYsIDM5MzgwLCAxLjExMjQ5NTU0MTU3MjU3MDhdLCBbMTY2Mzc1NTgzNy45Mzk0Nzc0LCAzOTQwMiwgMS4wODQ5MjQ2OTc4NzU5NzY2XSwgWzE2NjM3NTU4MzguMzg1NTQxNywgMzk0NDYsIDEuMDY5MDk3MjgwNTAyMzE5M10sIFsxNjYzNzU1ODM4LjY3NDIwMzIsIDM5NDkwLCAxLjA3NTk4NDAwMTE1OTY2OF0sIFsxNjYzNzU1ODM4Ljk1NDc0OSwgMzk1MzQsIDEuMTExMDA2MDIxNDk5NjMzOF0sIFsxNjYzNzU1ODM5LjczMDIzMjUsIDM5NjIyLCAxLjA2OTkwNjM1Mzk1MDUwMDVdLCBbMTY2Mzc1NTg0MC4xOTE5MzY3LCAzOTY2NiwgMS4xMTI0MDgyODAzNzI2MTk2XSwgWzE2NjM3NTU4NDAuNDIzOTEwNiwgMzk2ODgsIDEuMDk2MzY5MjY2NTEwMDA5OF0sIFsxNjYzNzU1ODQxLjIyNDU4LCAzOTc5OCwgMS4xMzE3Mjk4NDEyMzIyOTk4XSwgWzE2NjM3NTU4NDEuNTQwODEyNSwgMzk4NDIsIDEuMDk5NTQ2OTA5MzMyMjc1NF0sIFsxNjYzNzU1ODQyLjExNTUzLCAzOTkzMCwgMS4xNzkwNDQwMDgyNTUwMDQ5XSwgWzE2NjM3NTU4NDIuODQyNDgwMiwgNDAwMTgsIDEuMTA1NjQzODY4NDQ2MzVdLCBbMTY2Mzc1NTg0Mi45ODM5OTQ1LCA0MDA0MCwgMS4wOTQxMTc0MDMwMzAzOTU1XSwgWzE2NjM3NTU4NDQuMDE2NTc0MSwgNDAxMjgsIDEuMTI1MDU1MDc0NjkxNzcyNV0sIFsxNjYzNzU1ODQ0Ljc4ODY0NSwgNDAxOTQsIDEuMDgwMDc1NjIxNjA0OTE5NF0sIFsxNjYzNzU1ODQ1LjAwNDgzMzIsIDQwMjE2LCAxLjA1NTU0NDg1MzIxMDQ0OTJdLCBbMTY2Mzc1NTg0NS40MTY5MDE2LCA0MDI2MCwgMS4wODQ2MDQ4NTkzNTIxMTE4XSwgWzE2NjM3NTU4NDUuNTYwNDUxNywgNDAyODIsIDEuMDkxNTg2NzA5MDIyNTIyXSwgWzE2NjM3NTU4NDUuODM5NzUxNSwgNDAzMjYsIDEuMDczOTcyOTQwNDQ0OTQ2M10sIFsxNjYzNzU1ODQ1Ljk4MDI0NzUsIDQwMzQ4LCAxLjA2NDE3MzIyMTU4ODEzNDhdLCBbMTY2Mzc1NTg0Ni4xMzM3NDMzLCA0MDM3MCwgMS4wODA1MDk5MDEwNDY3NTNdLCBbMTY2Mzc1NTg0Ni40NDU3ODQ2LCA0MDQxNCwgMS4xMTk1MjgyOTM2MDk2MTkxXSwgWzE2NjM3NTU4NDYuNTg3Mzg2LCA0MDQzNiwgMS4xMDgxMjM0MjE2NjkwMDYzXSwgWzE2NjM3NTU4NDYuNzI0OTM0MywgNDA0NTgsIDEuMDc5MTc4NjkwOTEwMzM5NF0sIFsxNjYzNzU1ODQ3LjcwMzM1NTMsIDQwNTkwLCAxLjA3MTQ4NzE4ODMzOTIzMzRdLCBbMTY2Mzc1NTg0Ny44Mzg3MzUsIDQwNjEyLCAxLjEzNTUyMzc5NjA4MTU0M10sIFsxNjYzNzU1ODQ4LjEyMjc0NzIsIDQwNjM0LCAxLjE0ODcyMDE0NTIyNTUyNV0sIFsxNjYzNzU1ODQ4LjM3MTI0LCA0MDY1NiwgMS4wNjk1NjM2MjcyNDMwNDJdLCBbMTY2Mzc1NTg0OC41NDE4MTUzLCA0MDY3OCwgMS4xMzg3NzI4NDUyNjgyNDk1XSwgWzE2NjM3NTU4NDkuMjEzMTgzNCwgNDA3NDQsIDEuMTAxNTM3NDY2MDQ5MTk0M10sIFsxNjYzNzU1ODQ5LjY4MDUzNDQsIDQwNzg4LCAxLjA3MzEzMjYzNDE2MjkwMjhdLCBbMTY2Mzc1NTg1MS4wMDcyNjgsIDQwOTQyLCAxLjA4NjQzOTQ5MDMxODI5ODNdLCBbMTY2Mzc1NTg1MS44OTUzNjYyLCA0MTAzMCwgMS4xMTY1Nzk0MTM0MTQwMDE1XSwgWzE2NjM3NTU4NTIuMTAxMDQwMSwgNDEwNTIsIDEuMDgwMzA1MDk5NDg3MzA0N10sIFsxNjYzNzU1ODUyLjM0MjAyOSwgNDEwNzQsIDEuMTcyNjY2OTA3MzEwNDg1OF0sIFsxNjYzNzU1ODUyLjU0NzAxNjksIDQxMDk2LCAxLjA3MDg5MDY2NTA1NDMyMTNdLCBbMTY2Mzc1NTg1My4xNjkwMjQ1LCA0MTE4NCwgMS4wNTkzNTU3MzU3Nzg4MDg2XSwgWzE2NjM3NTU4NTMuMzA5NTAyMSwgNDEyMDYsIDEuMDkwMzk3NTk2MzU5MjUzXSwgWzE2NjM3NTU4NTMuNjIwOTE0MiwgNDEyNTAsIDEuMTMwOTc1ODQyNDc1ODkxMV0sIFsxNjYzNzU1ODUzLjc2MzkwNiwgNDEyNzIsIDEuMDczNjIzMjk5NTk4NjkzOF0sIFsxNjYzNzU1ODU0LjAzNjczNjcsIDQxMzE2LCAxLjA2NTM2NDEyMjM5MDc0N10sIFsxNjYzNzU1ODU0LjQ1OTQwOTUsIDQxMzgyLCAxLjEwODIxMDgwMjA3ODI0N10sIFsxNjYzNzU1ODU1LjAxNzQ4NjMsIDQxNDQ4LCAxLjA5ODkzMjYyMzg2MzIyMDJdLCBbMTY2Mzc1NTg1NS4xODE2ODk3LCA0MTQ3MCwgMS4wODkwOTM2ODUxNTAxNDY1XSwgWzE2NjM3NTU4NTUuNjk5MjkxNSwgNDE1MTQsIDEuMDY4NzI4Njg1Mzc5MDI4M10sIFsxNjYzNzU1ODU1Ljk4MjgyNTgsIDQxNTU4LCAxLjEwNTk3MTgxMzIwMTkwNDNdLCBbMTY2Mzc1NTg1Ni4yNjQwNzYsIDQxNjAyLCAxLjA3MTUxMzE3NTk2NDM1NTVdLCBbMTY2Mzc1NTg1Ny4xNjAxODU4LCA0MTcxMiwgMS4wNTc0NzEyNzUzMjk1ODk4XSwgWzE2NjM3NTU4NTcuOTI3MTE0MiwgNDE4MDAsIDEuMTI1NDExMDMzNjMwMzcxXSwgWzE2NjM3NTU4NTguNTg0NDU2MiwgNDE4NjYsIDEuMTYxMjI3NTgzODg1MTkyOV0sIFsxNjYzNzU1ODU5LjM5Nzc1MjgsIDQxOTU0LCAxLjExNTU3NzU3ODU0NDYxNjddLCBbMTY2Mzc1NTg1OS43MTA3NjksIDQxOTk4LCAxLjA3NTA2ODgzMTQ0Mzc4NjZdLCBbMTY2Mzc1NTg1OS44NTQ4OCwgNDIwMjAsIDEuMDc0NDkwNDI3OTcwODg2Ml0sIFsxNjYzNzU1ODYwLjAwMjM2NjgsIDQyMDQyLCAxLjA4OTI5Nzc3MTQ1Mzg1NzRdLCBbMTY2Mzc1NTg2MC41MzI0MjEsIDQyMTA4LCAxLjA3ODcwMzE2NTA1NDMyMTNdLCBbMTY2Mzc1NTg2MS40MzQ4ODcsIDQyMjE4LCAxLjEyOTg0MjE2MjEzMjI2MzJdLCBbMTY2Mzc1NTg2Mi43MTgzMjc4LCA0MjM1MCwgMS4wNjgzMTI2NDQ5NTg0OTZdLCBbMTY2Mzc1NTg2Mi45NTkwNywgNDIzNzIsIDEuMTEzNzAyNDE2NDE5OTgzXSwgWzE2NjM3NTU4NjMuMTkyNjg4NywgNDIzOTQsIDEuMTQyMTA4Njc4ODE3NzQ5XSwgWzE2NjM3NTU4NjMuODUxNDQzMywgNDI0NjAsIDEuMTAzMTAzMjgwMDY3NDQzOF0sIFsxNjYzNzU1ODY0LjI5Njg0MTEsIDQyNTI2LCAxLjA3OTA5OTc3NDM2MDY1NjddLCBbMTY2Mzc1NTg2NC43NTU0NDAyLCA0MjU5MiwgMS4zMDE5ODM5NTI1MjIyNzc4XSwgWzE2NjM3NTU4NjQuODk2MTc0NCwgNDI2MTQsIDEuMzE3MDM3NTgyMzk3NDYxXSwgWzE2NjM3NTU4NjUuNDYxNDY0MiwgNDI3MDIsIDEuMDY1MjM1MDE4NzMwMTYzNl0sIFsxNjYzNzU1ODY1LjYwNDA0NjMsIDQyNzI0LCAxLjA4NTY0MDU0OTY1OTcyOV0sIFsxNjYzNzU1ODY1LjkxOTA4NjcsIDQyNzQ2LCAxLjA5ODU2NjY1MTM0NDI5OTNdLCBbMTY2Mzc1NTg2Ni4zNjM3OTcsIDQyODEyLCAxLjA3Mzg1OTMzMzk5MjAwNDRdLCBbMTY2Mzc1NTg2Ni44MDI2OTU1LCA0Mjg1NiwgMS4wODAwNjk1NDE5MzExNTIzXSwgWzE2NjM3NTU4NjcuMjE0NTE1NywgNDI5MjIsIDEuMDkxODA4MDgwNjczMjE3OF0sIFsxNjYzNzU1ODY3LjM2NzExOSwgNDI5NDQsIDEuMTA4OTMyNjE0MzI2NDc3XSwgWzE2NjM3NTU4NjcuODEwMzY4NSwgNDI5ODgsIDEuMDk4NjE0OTMxMTA2NTY3NF0sIFsxNjYzNzU1ODY4LjIyMDE5NDYsIDQzMDU0LCAxLjE3NzA2NzE2MDYwNjM4NDNdLCBbMTY2Mzc1NTg2OC45MzEyMTM0LCA0MzE0MiwgMS4wOTgxODczMjczODQ5NDg3XSwgWzE2NjM3NTU4NjkuMDcxNzcxNCwgNDMxNjQsIDEuMTAzMjI4OTI2NjU4NjMwNF0sIFsxNjYzNzU1ODY5LjM1NjY3MzcsIDQzMTg2LCAxLjE4MzYzMjg1MDY0Njk3MjddLCBbMTY2Mzc1NTg2OS41MTIwNzY0LCA0MzIwOCwgMS4wODg0ODI4NTY3NTA0ODgzXSwgWzE2NjM3NTU4NjkuNjU2MTE5NiwgNDMyMzAsIDEuMDg5MDg0OTgyODcyMDA5M10sIFsxNjYzNzU1ODY5LjkzNTQ1OTksIDQzMjc0LCAxLjA5NzAyMzQ4NzA5MTA2NDVdLCBbMTY2Mzc1NTg3MC4yMjE4NzUyLCA0MzI5NiwgMS4xMDAwMDMzNjE3MDE5NjUzXSwgWzE2NjM3NTU4NzAuMzYyMjU2LCA0MzMxOCwgMS4wODE2NTA3MzM5NDc3NTRdLCBbMTY2Mzc1NTg3MC41MDM5NDc3LCA0MzM0MCwgMS4wNzgzNTAzMDU1NTcyNTFdLCBbMTY2Mzc1NTg3MS42ODk3MTMyLCA0MzQ3MiwgMS4wODk2OTQyNjE1NTA5MDMzXSwgWzE2NjM3NTU4NzIuMDUyNDI1LCA0MzUxNiwgMS4wODY2MzEyOTgwNjUxODU1XSwgWzE2NjM3NTU4NzIuMzQ2Mjc3NywgNDM1NjAsIDEuMDkxNDE1NjQzNjkyMDE2Nl0sIFsxNjYzNzU1ODcyLjQ5NzEzMjUsIDQzNTgyLCAxLjA4MjIwNDM0MTg4ODQyNzddLCBbMTY2Mzc1NTg3Mi42NTk4MDM5LCA0MzYwNCwgMS4wODEwNDAzODIzODUyNTRdLCBbMTY2Mzc1NTg3My4wNTUzMjUsIDQzNjI2LCAxLjA3NjkwNzg3MzE1MzY4NjVdLCBbMTY2Mzc1NTg3My4zMTQwMTk3LCA0MzY0OCwgMS4xMDQ3MTQxNTUxOTcxNDM2XSwgWzE2NjM3NTU4NzMuNjcxMzAyMywgNDM2OTIsIDEuMDcxMjkxMjA4MjY3MjEyXSwgWzE2NjM3NTU4NzMuOTYwMzg3LCA0MzczNiwgMS4wNzc4ODU3NDY5NTU4NzE2XSwgWzE2NjM3NTU4NzQuMDk5ODMzNSwgNDM3NTgsIDEuMDczNjE3MTAwNzE1NjM3Ml0sIFsxNjYzNzU1ODc0LjY4NzU3NSwgNDM4MjQsIDEuMTIwMzIwNzk2OTY2NTUyN10sIFsxNjYzNzU1ODc0Ljk3NTM3MzUsIDQzODQ2LCAxLjA2NDY5NDg4MTQzOTIwOV0sIFsxNjYzNzU1ODc1LjQ0NTgwNzcsIDQzOTEyLCAxLjE0MDUzNzYxOTU5MDc1OTNdLCBbMTY2Mzc1NTg3Ni45NzkxNjQ2LCA0NDA2NiwgMS4xNzU2NDI5NjcyMjQxMjFdLCBbMTY2Mzc1NTg3OS4xNTUzMjc2LCA0NDM3NCwgMS4wNTQ1ODYxNzIxMDM4ODE4XSwgWzE2NjM3NTU4NzkuNDIxNjI3OCwgNDQzOTYsIDEuMDc1NTM1MTc4MTg0NTA5M10sIFsxNjYzNzU1ODc5Ljk5MDM4NzIsIDQ0NDg0LCAxLjA5NTA4MDk3MTcxNzgzNDVdLCBbMTY2Mzc1NTg4MC4yNjEyNDc0LCA0NDUwNiwgMS4wNzM2MjUyMDY5NDczMjY3XSwgWzE2NjM3NTU4ODAuNDA1NDE0LCA0NDUyOCwgMS4wNzI0NDE0NTg3MDIwODc0XSwgWzE2NjM3NTU4ODAuNjg2MDQyMywgNDQ1NzIsIDEuMDY5MzA5ODMwNjY1NTg4NF0sIFsxNjYzNzU1ODgwLjgyNjE2NzgsIDQ0NTk0LCAxLjA3NjIyNTc1NzU5ODg3N10sIFsxNjYzNzU1ODgxLjM0MjA1ODQsIDQ0NjM4LCAxLjE3MjE1NDU0NTc4Mzk5NjZdLCBbMTY2Mzc1NTg4MS43ODM4MjU5LCA0NDcwNCwgMS4xMDIyNjY3ODg0ODI2NjZdLCBbMTY2Mzc1NTg4Mi4wNzQ1MDk0LCA0NDcyNiwgMS4wODcwMzA4ODc2MDM3NTk4XSwgWzE2NjM3NTU4ODIuNTQ4OTEyLCA0NDc3MCwgMS4yNjgyOTg1MDY3MzY3NTU0XSwgWzE2NjM3NTU4ODIuNzkyNzUwOCwgNDQ3OTIsIDEuMTA5NjQwMjQwNjY5MjUwNV0sIFsxNjYzNzU1ODgzLjAwODIwMiwgNDQ4MTQsIDEuMTE5OTY2ODY0NTg1ODc2NV0sIFsxNjYzNzU1ODgzLjk1MjIwNywgNDQ5MDIsIDEuMDc5MjMwNzg1MzY5ODczXSwgWzE2NjM3NTU4ODQuMTc3MzYyNywgNDQ5MjQsIDEuMTg3OTEzNDE3ODE2MTYyXSwgWzE2NjM3NTU4ODQuNjEzMjE0LCA0NDk2OCwgMS4wODAyNzUxNzc5NTU2Mjc0XSwgWzE2NjM3NTU4ODQuODExMjkyMiwgNDQ5OTAsIDEuMDkzNDQ5ODMxMDA4OTExMV0sIFsxNjYzNzU1ODg1LjI2ODY4OCwgNDUwNTYsIDEuMDY2MTM0MDk1MTkxOTU1Nl0sIFsxNjYzNzU1ODg1LjQyOTM5MDQsIDQ1MDc4LCAxLjA3ODM2OTE0MDYyNV0sIFsxNjYzNzU1ODg1LjU3MTY4NzcsIDQ1MTAwLCAxLjExMDM1Mjk5MzAxMTQ3NDZdLCBbMTY2Mzc1NTg4Ni41OTYwODU1LCA0NTIxMCwgMS4wNzE2ODQxMjIwODU1NzEzXSwgWzE2NjM3NTU4ODYuNzUzMzgwOCwgNDUyMzIsIDEuMTMyNjAxNzM3OTc2MDc0Ml0sIFsxNjYzNzU1ODg2Ljk5ODM4NDUsIDQ1MjU0LCAxLjEyMDk4NjcwMDA1Nzk4MzRdLCBbMTY2Mzc1NTg4Ny4yNjYzMzQ4LCA0NTI3NiwgMS4xMDE5NDUyODEwMjg3NDc2XSwgWzE2NjM3NTU4ODkuMTkwNDAxOCwgNDU0OTYsIDEuMDk4OTYxODMwMTM5MTYwMl0sIFsxNjYzNzU1ODg5LjM2MzE2MjMsIDQ1NTE4LCAxLjA3MTI0ODQxMjEzMjI2MzJdLCBbMTY2Mzc1NTg4OS44MDMzMzQyLCA0NTU2MiwgMS4wODg5OTI0NzY0NjMzMTc5XSwgWzE2NjM3NTU4OTAuNzE0MTg1MiwgNDU2NTAsIDEuMDYzMDMyNTA3ODk2NDIzM10sIFsxNjYzNzU1ODkxLjUzNjk4MjMsIDQ1NzM4LCAxLjA3MDcwNjk2MzUzOTEyMzVdLCBbMTY2Mzc1NTg5MS43NTAyMDIyLCA0NTc2MCwgMS4wOTI1MzI3NTM5NDQzOTddLCBbMTY2Mzc1NTg5Mi43MDE4OTgsIDQ1ODcwLCAxLjA1NzMxNDAzODI3NjY3MjRdLCBbMTY2Mzc1NTg5My4wNTkxODU1LCA0NTkxNCwgMS4wOTAyNDQ3NzAwNTAwNDg4XSwgWzE2NjM3NTU4OTMuMjczMDI4NiwgNDU5MzYsIDEuMTAwMjU3NTE1OTA3Mjg3Nl0sIFsxNjYzNzU1ODkzLjYyNzk4NjIsIDQ1OTgwLCAxLjA2MDg0ODU5MzcxMTg1M10sIFsxNjYzNzU1ODkzLjg4MjA5MzQsIDQ2MDAyLCAxLjA1NzQwMDU4NDIyMDg4NjJdLCBbMTY2Mzc1NTg5NC4xMDc1OTA3LCA0NjAyNCwgMS4wNzcxNTA4MjE2ODU3OTFdLCBbMTY2Mzc1NTg5NC44OTYzMTQ2LCA0NjExMiwgMS4wNjA1MDY4MjA2Nzg3MTFdLCBbMTY2Mzc1NTg5NS4xMDQ3MSwgNDYxMzQsIDEuMTA2MDM2MTg2MjE4MjYxN10sIFsxNjYzNzU1ODk1LjMwODcxNywgNDYxNTYsIDEuMDcyODA3Nzg4ODQ4ODc3XSwgWzE2NjM3NTU4OTUuNTMxMDI1NCwgNDYxNzgsIDEuMDgwMDI5MTI5OTgxOTk0Nl0sIFsxNjYzNzU1ODk1Ljk5NTA3NTcsIDQ2MjIyLCAxLjE0ODI5NTg3OTM2NDAxMzddLCBbMTY2Mzc1NTg5Ni42MTc1OTMsIDQ2Mjg4LCAxLjA4OTU2MjUzNTI4NTk0OTddLCBbMTY2Mzc1NTg5Ni44MzEwOTk3LCA0NjMxMCwgMS4wNzIzNDAwMTE1OTY2Nzk3XSwgWzE2NjM3NTU4OTcuMDIyMTE2LCA0NjMzMiwgMS4wOTQ3NjA1MzcxNDc1MjJdLCBbMTY2Mzc1NTg5Ny4yMDM5MDMsIDQ2MzU0LCAxLjA4NjUwMTcxNzU2NzQ0MzhdLCBbMTY2Mzc1NTg5Ny44NjU0OSwgNDY0MjAsIDEuMTM3NTMxMTYxMzA4Mjg4Nl0sIFsxNjYzNzU1ODk4LjA5MTczLCA0NjQ0MiwgMS4xMjYwNjQ1Mzg5NTU2ODg1XSwgWzE2NjM3NTU4OTguOTM2MTUsIDQ2NTMwLCAxLjA2MDg2ODYyMDg3MjQ5NzZdLCBbMTY2Mzc1NTg5OS4xNDA4NzIyLCA0NjU1MiwgMS4xMjE2NDEwMzk4NDgzMjc2XSwgWzE2NjM3NTU4OTkuODQwNDg5LCA0NjY0MCwgMS4wOTA0MDI2MDMxNDk0MTRdLCBbMTY2Mzc1NTg5OS45ODQxMDQyLCA0NjY2MiwgMS4wNzI2OTI1MTM0NjU4ODEzXSwgWzE2NjM3NTU5MDAuMjg2ODUzMywgNDY3MDYsIDEuMDk5MzY5ODgzNTM3MjkyNV0sIFsxNjYzNzU1OTAwLjQzMTM0NzQsIDQ2NzI4LCAxLjA5NTY4NzYyNzc5MjM1ODRdLCBbMTY2Mzc1NTkwMC41Njc5MDczLCA0Njc1MCwgMS4wODgxNTQ0MzUxNTc3NzU5XSwgWzE2NjM3NTU5MDAuODU2ODIxNSwgNDY3OTQsIDEuMDc2MTQ4MTUyMzUxMzc5NF0sIFsxNjYzNzU1OTAwLjk5NzYzMzUsIDQ2ODE2LCAxLjA3MDcyMzg5MTI1ODIzOTddLCBbMTY2Mzc1NTkwMi4zMzA4Nzg1LCA0Njk3MCwgMS4wODQwNTIzMjQyOTUwNDRdLCBbMTY2Mzc1NTkwMi40ODM5MDY1LCA0Njk5MiwgMS4wODU2OTI2NDQxMTkyNjI3XSwgWzE2NjM3NTU5MDIuNjIxMjY0MiwgNDcwMTQsIDEuMTYyNzU1MzcwMTQwMDc1N10sIFsxNjYzNzU1OTAzLjIyOTMyODksIDQ3MDgwLCAxLjA2ODc2MzAxNzY1NDQxOV0sIFsxNjYzNzU1OTA0LjEwMDUwNTgsIDQ3MTY4LCAxLjA3OTAxMDM2NzM5MzQ5MzddLCBbMTY2Mzc1NTkwNS4xMDU5ODQsIDQ3MzAwLCAxLjA4NTU5MDk1ODU5NTI3NTldLCBbMTY2Mzc1NTkwNS4yNDYyMjcsIDQ3MzIyLCAxLjEwMDgzODE4NDM1NjY4OTVdLCBbMTY2Mzc1NTkwNS45OTI1ODIzLCA0NzQxMCwgMS4wNjE2NjQ4MTk3MTc0MDcyXSwgWzE2NjM3NTU5MDYuMTMxMjkxNiwgNDc0MzIsIDEuMDY3NTM3MTg4NTI5OTY4M10sIFsxNjYzNzU1OTA2Ljg0MzY1MSwgNDc1MjAsIDEuMTYxMTM4NDE1MzM2NjA4OV0sIFsxNjYzNzU1OTA2Ljk4MzA0NiwgNDc1NDIsIDEuMTM4NDU3NTM2Njk3Mzg3N10sIFsxNjYzNzU1OTA3LjEyMTcwNCwgNDc1NjQsIDEuMDY2ODkxMTkzMzg5ODkyNl0sIFsxNjYzNzU1OTA3LjI2NDEyODQsIDQ3NTg2LCAxLjA3ODc4MjY3NzY1MDQ1MTddLCBbMTY2Mzc1NTkwOC41MTc2OSwgNDc3NDAsIDEuMDc3NDg1MzIyOTUyMjcwNV0sIFsxNjYzNzU1OTA5LjI1NjE0MjQsIDQ3ODI4LCAxLjA4MTQyODg4NTQ1OTldLCBbMTY2Mzc1NTkwOS43NjE5NjQ2LCA0Nzg3MiwgMS4wNjg1Mzk3Mzg2NTUwOTAzXSwgWzE2NjM3NTU5MDkuOTg0NTEwNCwgNDc4OTQsIDEuMTM5NTg4ODMyODU1MjI0Nl0sIFsxNjYzNzU1OTExLjU5NzA4NTUsIDQ4MDQ4LCAxLjE0NDEyMDY5MzIwNjc4N10sIFsxNjYzNzU1OTExLjk4MjM4OTcsIDQ4MDkyLCAxLjA5MDQ1NDgxNjgxODIzNzNdLCBbMTY2Mzc1NTkxMi4yNTY0MTA2LCA0ODEzNiwgMS4wODkyMjY0ODQyOTg3MDZdLCBbMTY2Mzc1NTkxMi42MDQxMzMsIDQ4MTgwLCAxLjEyODQzOTA2ODc5NDI1MDVdLCBbMTY2Mzc1NTkxMy4zNDQ1ODMzLCA0ODI5MCwgMS4wODI0MzQ0MTU4MTcyNjA3XSwgWzE2NjM3NTU5MTQuNDM1NzQ1NywgNDg0MDAsIDEuMDgxMjY2MjgzOTg4OTUyNl0sIFsxNjYzNzU1OTE0LjkzMDM4MDYsIDQ4NDQ0LCAxLjA2NDE2ODQ1MzIxNjU1MjddLCBbMTY2Mzc1NTkxNS4xNzEzNTc0LCA0ODQ2NiwgMS4xMDA3MjYzNjYwNDMwOTA4XSwgWzE2NjM3NTU5MTUuMzgwMDUyMywgNDg0ODgsIDEuMTAzNjI5NTg5MDgwODEwNV0sIFsxNjYzNzU1OTE2LjAxODAzMjMsIDQ4NTU0LCAxLjA4MjIwMDQwNzk4MTg3MjZdLCBbMTY2Mzc1NTkxNi42ODg3NTE1LCA0ODYyMCwgMS4xMDAyNjM1OTU1ODEwNTQ3XSwgWzE2NjM3NTU5MTcuMDIxNzcxLCA0ODY2NCwgMS4wNjYyODQyOTg4OTY3ODk2XSwgWzE2NjM3NTU5MTcuMTg2NDM4OCwgNDg2ODYsIDEuMDkwNjg2NDQwNDY3ODM0NV0sIFsxNjYzNzU1OTE3LjUxODEzMywgNDg3MzAsIDEuMDkwNTcyNzE0ODA1NjAzXSwgWzE2NjM3NTU5MTcuNjUxNzkzNywgNDg3NTIsIDEuMTA3NjUwNzU2ODM1OTM3NV0sIFsxNjYzNzU1OTE3Ljc3NzU4NCwgNDg3NzQsIDEuMDg2ODYxODQ4ODMxMTc2OF0sIFsxNjYzNzU1OTE4LjQ5NjA4MzcsIDQ4ODg0LCAxLjEwNjg4MDc4NDAzNDcyOV0sIFsxNjYzNzU1OTE4LjYzNTUyLCA0ODkwNiwgMS4wNzkyMTQ5MzA1MzQzNjI4XSwgWzE2NjM3NTU5MTguNzY4NDAxNiwgNDg5MjgsIDEuMDc2MDkzMDc3NjU5NjA3XSwgWzE2NjM3NTU5MTkuMzAzNTQ4NiwgNDg5NzIsIDEuMDg0NzE3NzUwNTQ5MzE2NF0sIFsxNjYzNzU1OTE5Ljc5NzA1OTgsIDQ5MDE2LCAxLjA1OTQyNzI2MTM1MjUzOV0sIFsxNjYzNzU1OTIxLjEzOTc5NTgsIDQ5MTQ4LCAxLjA4MDIwNTIwMjEwMjY2MTFdLCBbMTY2Mzc1NTkyMS42NTA4MzIsIDQ5MjE0LCAxLjA1NTMyNTYyNzMyNjk2NTNdLCBbMTY2Mzc1NTkyMi4wNzkwNzMyLCA0OTI4MCwgMS4wOTQ3MDIzNjMwMTQyMjEyXSwgWzE2NjM3NTU5MjIuNTg0OTg4OCwgNDkzNDYsIDEuMDg0MDY4NjU1OTY3NzEyNF0sIFsxNjYzNzU1OTIyLjkzMTE5MDcsIDQ5MzkwLCAxLjEwMTM0NjI1NDM0ODc1NDldLCBbMTY2Mzc1NTkyMy4zNjAxMjY1LCA0OTQ1NiwgMS4wNzgwNjA2MjY5ODM2NDI2XSwgWzE2NjM3NTU5MjQuNzUzOTg3NiwgNDk2MTAsIDEuMDkyODI2MTI4MDA1OTgxNF0sIFsxNjYzNzU1OTI1LjIzOTc3NzYsIDQ5Njc2LCAxLjA2NDA3ODU2OTQxMjIzMTRdLCBbMTY2Mzc1NTkyNS4zOTQxNjQsIDQ5Njk4LCAxLjA4NzE1NTIyMjg5Mjc2MTJdLCBbMTY2Mzc1NTkyNi41OTU4MjI4LCA0OTgzMCwgMS4wOTUzMzIwMjY0ODE2Mjg0XSwgWzE2NjM3NTU5MjYuODk4NjA1NiwgNDk4NzQsIDEuMDcwMzQ2NzEzMDY2MTAxXSwgWzE2NjM3NTU5MjcuMDQwNzQ0MywgNDk4OTYsIDEuMDg5MzY1MzYzMTIxMDMyN10sIFsxNjYzNzU1OTI4LjM0MTgyMTQsIDUwMDUwLCAxLjIwMjcwNTUwMjUxMDA3MDhdLCBbMTY2Mzc1NTkyOC42MzAxMjg0LCA1MDA5NCwgMS4xMjg5OTMwMzQzNjI3OTNdLCBbMTY2Mzc1NTkyOS40NjgxMzA0LCA1MDE4MiwgMS4wNzQzMTQyMzY2NDA5MzAyXSwgWzE2NjM3NTU5MjkuNjI3NzE3NSwgNTAyMDQsIDEuMTA0NjcyOTA4NzgyOTU5XSwgWzE2NjM3NTU5MzAuMTcyMTA4LCA1MDI3MCwgMS4wNzczNjE3MDI5MTkwMDYzXSwgWzE2NjM3NTU5MzAuMzA4OTY4OCwgNTAyOTIsIDEuMDUxNzA3NjI1Mzg5MDk5MV0sIFsxNjYzNzU1OTMxLjU5NjYyNCwgNTA0MjQsIDEuMDY1MjM3NzYwNTQzODIzMl0sIFsxNjYzNzU1OTMxLjgyNjU5OSwgNTA0NDYsIDEuMDg1OTQ1MjQ4NjAzODIwOF0sIFsxNjYzNzU1OTMyLjA1MTU5OTUsIDUwNDY4LCAxLjEyODA1MDMyNzMwMTAyNTRdLCBbMTY2Mzc1NTkzMy4xNzI1NjgzLCA1MDYyMiwgMS4xMDQxNjc0NjEzOTUyNjM3XSwgWzE2NjM3NTU5MzQuMDg3ODYwNiwgNTA3MzIsIDEuMjMxNTQ4MDcwOTA3NTkyOF0sIFsxNjYzNzU1OTM0LjI1MDMwMjgsIDUwNzU0LCAxLjA2OTI2NjQzODQ4NDE5Ml0sIFsxNjYzNzU1OTM0LjQ4NDEwODQsIDUwNzc2LCAxLjA2NDAyODUwMTUxMDYyMDFdLCBbMTY2Mzc1NTkzNC43NzM0NjQ3LCA1MDgyMCwgMS4wNzY2MzY5MTA0Mzg1Mzc2XSwgWzE2NjM3NTU5MzUuMTQ0MTczOSwgNTA4NjQsIDEuMDY5Mzc3NTQxNTQyMDUzMl0sIFsxNjYzNzU1OTM1Ljg2NTc4NTEsIDUwOTUyLCAxLjA2NjkzNTA2MjQwODQ0NzNdLCBbMTY2Mzc1NTkzNi4wMjAyOTM1LCA1MDk3NCwgMS4wNjMyMTQ1NDA0ODE1Njc0XSwgWzE2NjM3NTU5MzYuNzkyODc0LCA1MTA0MCwgMS4wNzkwOTc3NDc4MDI3MzQ0XSwgWzE2NjM3NTU5MzcuODI3MjYwNywgNTExNTAsIDEuMDc2OTMzMzgzOTQxNjUwNF0sIFsxNjYzNzU1OTM4LjcwNDM4OTMsIDUxMjgyLCAxLjA3NTk5NDYxMDc4NjQzOF0sIFsxNjYzNzU1OTM4Ljk4Mjg5NSwgNTEzMjYsIDEuMTY5MTgzMjU0MjQxOTQzNF0sIFsxNjYzNzU1OTM5LjYxOTMxNTQsIDUxMzkyLCAxLjEzMzczOTU5MDY0NDgzNjRdLCBbMTY2Mzc1NTk0MC41NTc0ODI3LCA1MTUwMiwgMS4wNjkwMTI0MDM0ODgxNTkyXSwgWzE2NjM3NTU5NDAuODYzOTE5NywgNTE1NDYsIDEuMDYzNTMwMjA2NjgwMjk3OV0sIFsxNjYzNzU1OTQxLjAwMzQ4NTIsIDUxNTY4LCAxLjA3MDU5NDY2ODM4ODM2NjddLCBbMTY2Mzc1NTk0MS4xMzcyNzA3LCA1MTU5MCwgMS4wNjk0MDEyNjQxOTA2NzM4XV0=","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_02-12-17_b5cca277837b&tag=Loss%2Ftrain":{"data":"W1sxNjYzODEyNzM5LjQ5NDgyMDgsIDksIDEwNi41MjcyODI3MTQ4NDM3NV0sIFsxNjYzODEyNzQwLjE2NDA3NSwgMjcsIDM5LjExODIyNTA5NzY1NjI1XSwgWzE2NjM4MTI3NDAuMjU1NDIwNCwgMzYsIDMzLjg5NDcxNDM1NTQ2ODc1XSwgWzE2NjM4MTI3NDAuMzQ2OTI2LCA0NSwgMzEuNjI5OTY0ODI4NDkxMjFdLCBbMTY2MzgxMjc0MC44MjkzODIyLCA5MCwgMjAuMDY2OTc0NjM5ODkyNTc4XSwgWzE2NjM4MTI3NDAuOTQzMzIwMywgOTksIDE3LjM5NTAwMDQ1Nzc2MzY3Ml0sIFsxNjYzODEyNzQxLjAzNDA5NCwgMTA4LCAxNC43NTQxNjY2MDMwODgzNzldLCBbMTY2MzgxMjc0MS40ODc3MTA1LCAxMzUsIDguNTYyMjk2ODY3MzcwNjA1XSwgWzE2NjM4MTI3NDEuNTkxMjAzMiwgMTQ0LCA3LjMxNTI0ODQ4OTM3OTg4M10sIFsxNjYzODEyNzQxLjY5NzAwNSwgMTUzLCA2LjYxMjY5ODA3ODE1NTUxOF0sIFsxNjYzODEyNzQxLjkwODQxNSwgMTcxLCA1LjkzMjM2Mzk4Njk2ODk5NF0sIFsxNjYzODEyNzQyLjAxMjE0MSwgMTgwLCA1LjkyMTkwNDA4NzA2NjY1XSwgWzE2NjM4MTI3NDIuMTE3NDM0MywgMTg5LCA1LjgzMjQ4OTAxMzY3MTg3NV0sIFsxNjYzODEyNzQyLjMyMjQ3NjksIDIwNywgNS42MjA0ODE5Njc5MjYwMjVdLCBbMTY2MzgxMjc0Mi40MzE0ODI2LCAyMTYsIDUuNTc4OTcyMzM5NjMwMTI3XSwgWzE2NjM4MTI3NDIuNzkzNjA2MywgMjQzLCA1LjM3ODgzOTk2OTYzNTAxXSwgWzE2NjM4MTI3NDIuODkxNTEzLCAyNTIsIDUuMzY0MjIyNTI2NTUwMjkzXSwgWzE2NjM4MTI3NDIuOTk4OTc1NSwgMjYxLCA1LjMzOTYyMDExMzM3MjgwM10sIFsxNjYzODEyNzQzLjA4NzA0NzMsIDI3MCwgNS4zNDg3MDg2Mjk2MDgxNTRdLCBbMTY2MzgxMjc0My4xOTY1NTI4LCAyNzksIDUuMjA4MjI1MjUwMjQ0MTQxXSwgWzE2NjM4MTI3NDMuNTEyMTE3OSwgMzA2LCA1LjE1NzgwNDAxMjI5ODU4NF0sIFsxNjYzODEyNzQzLjYwMDYxNiwgMzE1LCA1LjAzMjc3MzQ5NDcyMDQ1OV0sIFsxNjYzODEyNzQzLjc4Mjg1NzcsIDMzMywgNC45NDkyNjAyMzQ4MzI3NjRdLCBbMTY2MzgxMjc0My44NzU3OTEsIDM0MiwgNC45MzY4MzYyNDI2NzU3ODFdLCBbMTY2MzgxMjc0My45NjI4Njg1LCAzNTEsIDQuODk0OTQ3NTI4ODM5MTExXSwgWzE2NjM4MTI3NDQuMDUyMTQzOCwgMzYwLCA0LjkwMzE0NzIyMDYxMTU3Ml0sIFsxNjYzODEyNzQ0LjEzOTQxOTMsIDM2OSwgNC43NzQyNjE5NTE0NDY1MzNdLCBbMTY2MzgxMjc0NC44MTMwNDgxLCA0MzIsIDQuNTQ0MDAyMDU2MTIxODI2XSwgWzE2NjM4MTI3NDQuOTA5NjA3NiwgNDQxLCA0LjQ4OTA4Mzc2NjkzNzI1Nl0sIFsxNjYzODEyNzQ1LjAxMjIxODcsIDQ1MCwgNC40NDY3MTcyNjIyNjgwNjZdLCBbMTY2MzgxMjc0NS4xMDIyMDk4LCA0NTksIDQuNDQ1NzAyNTUyNzk1NDFdLCBbMTY2MzgxMjc0NS4yMjE0MSwgNDY4LCA0LjM5NTMwMzcyNjE5NjI4OV0sIFsxNjYzODEyNzQ1LjMzNDYwODMsIDQ3NywgNC4zNjM2MDgzNjAyOTA1MjddLCBbMTY2MzgxMjc0NS40Mzk4NjM0LCA0ODYsIDQuMzc1OTg5NDM3MTAzMjcxNV0sIFsxNjYzODEyNzQ1LjUzNTIxMiwgNDk1LCA0LjI2MDMyNjM4NTQ5ODA0N10sIFsxNjYzODEyNzQ1LjYzNzU1MSwgNTA0LCA0LjI2NjQxODkzMzg2ODQwOF0sIFsxNjYzODEyNzQ1LjgyNzE5NjEsIDUyMiwgNC4xOTY2OTI5NDM1NzI5OThdLCBbMTY2MzgxMjc0Ni4xMTgzNjksIDU0OSwgNC4xMDU3ODg3MDc3MzMxNTRdLCBbMTY2MzgxMjc0Ni4yMjg0Mzc3LCA1NTgsIDQuMTUzNzEyMjcyNjQ0MDQzXSwgWzE2NjM4MTI3NDYuMzI4MzA5NSwgNTY3LCAzLjk3MjAzODUwNzQ2MTU0OF0sIFsxNjYzODEyNzQ2LjQ1MDUyMzksIDU3NiwgMy45OTM3ODAzNzQ1MjY5Nzc1XSwgWzE2NjM4MTI3NDYuNjU0NzA0MywgNTk0LCAzLjk0NzM2MDI3NzE3NTkwMzNdLCBbMTY2MzgxMjc0Ni43NDc1MDExLCA2MDMsIDMuOTE4NjU4NzMzMzY3OTJdLCBbMTY2MzgxMjc0Ni44NDM2NzEsIDYxMiwgMy44MjEzMzI0NTQ2ODEzOTY1XSwgWzE2NjM4MTI3NDYuOTM5MTI1MywgNjIxLCAzLjc4OTE1NTI0NDgyNzI3MDVdLCBbMTY2MzgxMjc0Ny4xMzQ3MDk4LCA2MzksIDMuNzQ5MTczNjQxMjA0ODM0XSwgWzE2NjM4MTI3NDcuMjI2MTAzOCwgNjQ4LCAzLjc0ODY1Njk4ODE0MzkyMV0sIFsxNjYzODEyNzQ3LjQxMDExNywgNjY2LCAzLjY0Mjk2MTAyNTIzODAzN10sIFsxNjYzODEyNzQ3LjYxMTA1MTYsIDY4NCwgMy42MTg1ODI5NjM5NDM0ODE0XSwgWzE2NjM4MTI3NDcuODE2MTMxNiwgNzAyLCAzLjUyOTQ0NDQ1NjEwMDQ2NF0sIFsxNjYzODEyNzQ3LjkwODExNTEsIDcxMSwgMy41MzQwNjUwMDgxNjM0NTJdLCBbMTY2MzgxMjc0OC4wMDAwNzQsIDcyMCwgMy41NjA2MDgzODY5OTM0MDhdLCBbMTY2MzgxMjc0OC4wOTQ3MTQ0LCA3MjksIDMuNDEwODA0MDMzMjc5NDE5XSwgWzE2NjM4MTI3NDguMjczNjk5LCA3NDcsIDMuMzg1MTkyNjMyNjc1MTcxXSwgWzE2NjM4MTI3NDguMzY4MDYzNywgNzU2LCAzLjMyMTAzNDE5MzAzODk0MDRdLCBbMTY2MzgxMjc0OC41NjAwNDU1LCA3NzQsIDMuMjcxODU4NDUzNzUwNjEwNF0sIFsxNjYzODEyNzQ4LjY1NDMxNTcsIDc4MywgMy4yODI0NzMwODczMTA3OTFdLCBbMTY2MzgxMjc0OC43NDA4NjM2LCA3OTIsIDMuMjE4MDgxMjM1ODg1NjJdLCBbMTY2MzgxMjc0OC45MTE4NzY3LCA4MTAsIDMuMTU3OTU1NDA4MDk2MzEzNV0sIFsxNjYzODEyNzQ5LjAxOTM2NTgsIDgxOSwgMy4xODI1MzgyNzA5NTAzMTc0XSwgWzE2NjM4MTI3NDkuNTY4Mzc5OSwgODY0LCAyLjk5NTk3NTAxNzU0NzYwNzRdLCBbMTY2MzgxMjc0OS42NjAzODksIDg3MywgMy4wODg3Njk0MzU4ODI1Njg0XSwgWzE2NjM4MTI3NDkuOTYwMzE5MywgOTAwLCAzLjAwNTI4NTczOTg5ODY4MTZdLCBbMTY2MzgxMjc1MC4wNjE4OTY2LCA5MDksIDIuOTE3NjM4MDYzNDMwNzg2XSwgWzE2NjM4MTI3NTAuNDk5MzM2NSwgOTM2LCAyLjg1MTEzNzYzODA5MjA0MV0sIFsxNjYzODEyNzUwLjYxNjU3NzQsIDk0NSwgMi44MDAxMzcyODE0MTc4NDY3XSwgWzE2NjM4MTI3NTAuODIyNTI2NSwgOTYzLCAyLjczNTUxMjk3MTg3ODA1MThdLCBbMTY2MzgxMjc1MC45MjUxODUyLCA5NzIsIDIuNzU4NDg4ODkzNTA4OTExXSwgWzE2NjM4MTI3NTEuMDE5NTI0NiwgOTgxLCAyLjc0NDExOTQwNTc0NjQ2XSwgWzE2NjM4MTI3NTEuMTA4NDIxMywgOTkwLCAyLjczMTMzMzQ5NDE4NjQwMTRdLCBbMTY2MzgxMjc1MS4yMjI0Nzc3LCA5OTksIDIuNjcxMDI5NTY3NzE4NTA2XSwgWzE2NjM4MTI3NTEuMzEyMzA4LCAxMDA4LCAyLjYyMjkyNTk5Njc4MDM5NTVdLCBbMTY2MzgxMjc1MS40MDA5NywgMTAxNywgMi42NjI3ODIxOTIyMzAyMjQ2XSwgWzE2NjM4MTI3NTEuNTg1ODc4NiwgMTAzNSwgMi42MDUzOTk4NDcwMzA2Mzk2XSwgWzE2NjM4MTI3NTEuNjc5ODA3NywgMTA0NCwgMi41NTI5Njg5Nzg4ODE4MzZdLCBbMTY2MzgxMjc1MS43OTAxMzMyLCAxMDUzLCAyLjYyNDc4OTIzNzk3NjA3NF0sIFsxNjYzODEyNzUxLjg5MzQ3MDMsIDEwNjIsIDIuNTczMTQxNTc0ODU5NjE5XSwgWzE2NjM4MTI3NTIuMTk0NzYwOCwgMTA4OSwgMi41MTM1NzI2OTI4NzEwOTM4XSwgWzE2NjM4MTI3NTIuMjg0MjU0NiwgMTA5OCwgMi41NTYyMzg0MTI4NTcwNTU3XSwgWzE2NjM4MTI3NTIuNjc3MDUyNSwgMTEzNCwgMi40NDM4NzAwNjc1OTY0MzU1XSwgWzE2NjM4MTI3NTIuNzY2MTA1MiwgMTE0MywgMi40MDAzMzQzNTgyMTUzMzJdLCBbMTY2MzgxMjc1Mi45NzAwODIsIDExNjEsIDIuMzk3NTk3MzEyOTI3MjQ2XSwgWzE2NjM4MTI3NTMuMDYwMTIwNiwgMTE3MCwgMi4zOTc1NTU1ODk2NzU5MDMzXSwgWzE2NjM4MTI3NTMuMTUwODUwMywgMTE3OSwgMi40Mzk1NzExNDIxOTY2NTUzXSwgWzE2NjM4MTI3NTMuMjQxODg4OCwgMTE4OCwgMi4zODkzNTk0NzQxODIxMjldLCBbMTY2MzgxMjc1My4zNDg5MzMyLCAxMTk3LCAyLjI4ODgxODM1OTM3NV0sIFsxNjYzODEyNzUzLjU3Mjk1NywgMTIxNSwgMi4yNzg0NDk3NzM3ODg0NTJdLCBbMTY2MzgxMjc1My43NzkyMzA4LCAxMjMzLCAyLjM1MDk1MjM4Njg1NjA3OV0sIFsxNjYzODEyNzUzLjg3ODQ3NjYsIDEyNDIsIDIuMzQyMDg5ODkxNDMzNzE2XSwgWzE2NjM4MTI3NTMuOTg2NjgxLCAxMjUxLCAyLjI4OTE0NzYxNTQzMjczOTNdLCBbMTY2MzgxMjc1NC4wODI0NDk3LCAxMjYwLCAyLjMyODUwNjIzMTMwNzk4MzRdLCBbMTY2MzgxMjc1NC4xNzE5MTAzLCAxMjY5LCAyLjIxOTQxNzU3MjAyMTQ4NDRdLCBbMTY2MzgxMjc1NC4yNjIxNDgxLCAxMjc4LCAyLjIzODAxMzI2NzUxNzA5XSwgWzE2NjM4MTI3NTQuNDUxNzM5MywgMTI5NiwgMi4xOTUyNTA3NDk1ODgwMTI3XSwgWzE2NjM4MTI3NTQuNTQyMjI1NiwgMTMwNSwgMi4yMjU3MTY4MjkyOTk5MjY4XSwgWzE2NjM4MTI3NTQuNjM1ODMwNiwgMTMxNCwgMi4xMDkwNjE3MTc5ODcwNjA1XSwgWzE2NjM4MTI3NTQuNzI0NTkyLCAxMzIzLCAyLjE1MjE5ODc5MTUwMzkwNjJdLCBbMTY2MzgxMjc1NC44MjE2OTQ2LCAxMzMyLCAyLjEzNjExNjc0MzA4Nzc2ODZdLCBbMTY2MzgxMjc1NS4xMDMyODIsIDEzNTksIDIuMTU4NjcxNjE3NTA3OTM0Nl0sIFsxNjYzODEyNzU1LjQ3NzA5ODUsIDEzOTUsIDIuMDgwODYyNTIyMTI1MjQ0XSwgWzE2NjM4MTI3NTUuNjcwMDEzMiwgMTQxMywgMi4wOTA2NzM0NDY2NTUyNzM0XSwgWzE2NjM4MTI3NTUuNzgxMzQ4NywgMTQyMiwgMi4wODMyMjQyOTY1Njk4MjRdLCBbMTY2MzgxMjc1NS45NzQ0NzkyLCAxNDQwLCAyLjA5MDkyNTkzMTkzMDU0Ml0sIFsxNjYzODEyNzU2LjA2ODY2ODYsIDE0NDksIDIuMDM4ODUxOTc2Mzk0NjUzM10sIFsxNjYzODEyNzU2LjI2NDI3MjUsIDE0NjcsIDIuMDE3NTA2NTk5NDI2MjY5NV0sIFsxNjYzODEyNzU2LjM1Mzk2NzQsIDE0NzYsIDEuOTkzODM0ODUzMTcyMzAyMl0sIFsxNjYzODEyNzU2LjQ0NDUxOTMsIDE0ODUsIDIuMDI1Mjk3NjQxNzU0MTUwNF0sIFsxNjYzODEyNzU2LjY0ODMwMzUsIDE1MDMsIDIuMTE5MDgyMjEyNDQ4MTJdLCBbMTY2MzgxMjc1Ni44NTI5MTcsIDE1MjEsIDEuOTgzMTUxNTU1MDYxMzQwM10sIFsxNjYzODEyNzU3LjAzNzgzNCwgMTUzOSwgMi4wMTI2MjQ1MDIxODIwMDddLCBbMTY2MzgxMjc1Ny4xMzM4NDI1LCAxNTQ4LCAxLjk5NTM0MzU2NTk0MDg1N10sIFsxNjYzODEyNzU3LjIzMjM1MDMsIDE1NTcsIDIuMDA2OTQ1NjEwMDQ2Mzg2N10sIFsxNjYzODEyNzU3LjQxMzU5ODMsIDE1NzUsIDEuOTgzOTEyOTQ0NzkzNzAxMl0sIFsxNjYzODEyNzU3LjUwMjg5NSwgMTU4NCwgMS45NTE1Mzc5NjY3MjgyMTA0XSwgWzE2NjM4MTI3NTcuNTkyMzg3NCwgMTU5MywgMS45NTcxNzY5MjM3NTE4MzFdLCBbMTY2MzgxMjc1Ny42ODg5NTgyLCAxNjAyLCAxLjk1NzM1NjU3MjE1MTE4NF0sIFsxNjYzODEyNzU3Ljc3OTE2OTgsIDE2MTEsIDIuMDIwNDgwMTU1OTQ0ODI0XSwgWzE2NjM4MTI3NTcuOTYyNDgwNSwgMTYyOSwgMS45NTIzOTk0OTIyNjM3OTRdLCBbMTY2MzgxMjc1OC4wNTYwMDQ4LCAxNjM4LCAxLjk1ODYyNzgyMDAxNDk1MzZdLCBbMTY2MzgxMjc1OC4xNzQwMDk2LCAxNjQ3LCAxLjkxOTU5ODEwMjU2OTU4XSwgWzE2NjM4MTI3NTguMjc3MzAyNSwgMTY1NiwgMS45Mzc0NjAwNjQ4ODgwMDA1XSwgWzE2NjM4MTI3NTguMzY4NTM4NCwgMTY2NSwgMS45MDU4NzA5MTQ0NTkyMjg1XSwgWzE2NjM4MTI3NTguNDU4NTA1OSwgMTY3NCwgMS45NTMzOTk2NTgyMDMxMjVdLCBbMTY2MzgxMjc1OC41NTM4NDY4LCAxNjgzLCAxLjk5NDY4MjQzMTIyMTAwODNdLCBbMTY2MzgxMjc1OC44MzYyMjI0LCAxNzEwLCAxLjk1Nzg0NTY4Nzg2NjIxMV0sIFsxNjYzODEyNzU5LjA5MTE5OTYsIDE3MTksIDEuODg2MDg5NDQ0MTYwNDYxNF0sIFsxNjYzODEyNzU5LjE5NjQ3OTYsIDE3MjgsIDEuOTE2ODk1MDMxOTI5MDE2MV0sIFsxNjYzODEyNzU5LjI5NzIzNjQsIDE3MzcsIDEuOTE1MjE4NzEwODk5MzUzXSwgWzE2NjM4MTI3NTkuNjA5MjM3LCAxNzY0LCAxLjg3NzExODU4NzQ5Mzg5NjVdLCBbMTY2MzgxMjc1OS45MTM3NjMzLCAxNzkxLCAxLjkwOTY5NjQ1OTc3MDIwMjZdLCBbMTY2MzgxMjc2MC4wMDE5NzQzLCAxODAwLCAxLjg3MDI3NjY4OTUyOTQxOV0sIFsxNjYzODEyNzYwLjA5MjI2MTgsIDE4MDksIDEuODM4OTQzOTU4MjgyNDcwN10sIFsxNjYzODEyNzYwLjI3OTU4MzUsIDE4MjcsIDEuODU2OTEwNzA1NTY2NDA2Ml0sIFsxNjYzODEyNzYwLjM2ODcxNTMsIDE4MzYsIDEuODc0ODMyNTEwOTQ4MTgxMl0sIFsxNjYzODEyNzYwLjQ1NjEwNzksIDE4NDUsIDEuODg5MTQyODcwOTAzMDE1MV0sIFsxNjYzODEyNzYwLjU0NTU3MTMsIDE4NTQsIDEuOTUyNDcwMTgzMzcyNDk3Nl0sIFsxNjYzODEyNzYwLjc0OTUzMTUsIDE4NzIsIDEuODcwNzE3MTY3ODU0MzA5XSwgWzE2NjM4MTI3NjAuODM5NTkzLCAxODgxLCAxLjg0MTM3MDIyNDk1MjY5NzhdLCBbMTY2MzgxMjc2MC45MzM5Mjg3LCAxODkwLCAxLjg2Mjg1ODc3MjI3NzgzMl0sIFsxNjYzODEyNzYxLjEyMjY2NiwgMTkwOCwgMS44OTA4OTM5MzYxNTcyMjY2XSwgWzE2NjM4MTI3NjEuMzIxMTU3NywgMTkyNiwgMS44NDc0ODMzOTY1MzAxNTE0XSwgWzE2NjM4MTI3NjEuNTA1MzY0NCwgMTk0NCwgMS43OTc4MzQ3NTM5OTAxNzMzXSwgWzE2NjM4MTI3NjEuNjAxMjUxOCwgMTk1MywgMS44NDE0MDA5ODA5NDk0MDE5XSwgWzE2NjM4MTI3NjEuNzgwOTkxOCwgMTk3MSwgMS44MDU5MDkyNzYwMDg2MDZdLCBbMTY2MzgxMjc2MS44NzUxNDYsIDE5ODAsIDEuODA2ODA1OTY4Mjg0NjA3XSwgWzE2NjM4MTI3NjEuOTgzMTU5NSwgMTk4OSwgMS44MTE0OTk4MzQwNjA2NjldLCBbMTY2MzgxMjc2Mi4xMDEzNzM3LCAxOTk4LCAxLjg2NDI4NTIzMDYzNjU5NjddLCBbMTY2MzgxMjc2Mi4xOTQ3MzEsIDIwMDcsIDEuODMxOTE4NDc4MDEyMDg1XSwgWzE2NjM4MTI3NjIuNDA3OTY1NywgMjAyNSwgMS44MzI3MzIzMTk4MzE4NDgxXSwgWzE2NjM4MTI3NjIuNTEwMjU1MywgMjAzNCwgMS43OTI2ODE0NTU2MTIxODI2XSwgWzE2NjM4MTI3NjIuNjE5NzcwMywgMjA0MywgMS43OTYxNjM1NTg5NTk5NjFdLCBbMTY2MzgxMjc2Mi45MjkwNDYyLCAyMDcwLCAxLjgzODE3ODE1NzgwNjM5NjVdLCBbMTY2MzgxMjc2My4xNDMwNTYyLCAyMDg4LCAxLjg3NDE3MTczMzg1NjIwMTJdLCBbMTY2MzgxMjc2My4yMzkxOTYzLCAyMDk3LCAxLjg5NTc1ODUwOTYzNTkyNTNdLCBbMTY2MzgxMjc2My40MzMyNjU3LCAyMTE1LCAxLjgyNzc1NDEzOTkwMDIwNzVdLCBbMTY2MzgxMjc2My41MjIzNzkyLCAyMTI0LCAxLjc5NTY0Nzg1OTU3MzM2NDNdLCBbMTY2MzgxMjc2My42MTI1Mjc0LCAyMTMzLCAxLjc2NzE3OTQ4OTEzNTc0MjJdLCBbMTY2MzgxMjc2My43MDg5OTQ5LCAyMTQyLCAxLjc5MjY0MDgwNTI0NDQ0NThdLCBbMTY2MzgxMjc2My44MTg4NzgsIDIxNTEsIDEuODAwODAwNDQyNjk1NjE3N10sIFsxNjYzODEyNzYzLjkwODcwNzksIDIxNjAsIDEuNzk0NTU2OTc1MzY0Njg1XSwgWzE2NjM4MTI3NjQuMDg5NjA1LCAyMTc4LCAxLjgwNjA3OTc0NTI5MjY2MzZdLCBbMTY2MzgxMjc2NC4xODExNjE5LCAyMTg3LCAxLjc2NzI0Mzk4MTM2MTM4OTJdLCBbMTY2MzgxMjc2NC4zNjcwOTU3LCAyMjA1LCAxLjc5MjMzNTUxMDI1MzkwNjJdLCBbMTY2MzgxMjc2NC40NzM5MjI1LCAyMjE0LCAxLjgxNjE4ODQ1NDYyNzk5MDddLCBbMTY2MzgxMjc2NC41NjYxOTMsIDIyMjMsIDEuNzQwNjI4NzE5MzI5ODM0XSwgWzE2NjM4MTI3NjQuNjU3MzUzNiwgMjIzMiwgMS43NjU0MTg1Mjk1MTA0OThdLCBbMTY2MzgxMjc2NC43NDk3NDkyLCAyMjQxLCAxLjc0MjM3NTQ5MzA0OTYyMTZdLCBbMTY2MzgxMjc2NC44NDA1MzI4LCAyMjUwLCAxLjc0MzMzMzMzOTY5MTE2Ml0sIFsxNjYzODEyNzY1LjE2NDY1NiwgMjI3NywgMS43MTU2OTkzMTUwNzExMDZdLCBbMTY2MzgxMjc2NS4yNzkwMjU2LCAyMjg2LCAxLjcyODU4ODgxOTUwMzc4NDJdLCBbMTY2MzgxMjc2NS4zNjc4Nzk5LCAyMjk1LCAxLjc4MDMyMTI0MDQyNTEwOTldLCBbMTY2MzgxMjc2NS40NzA1MiwgMjMwNCwgMS43NzcyMDY0MjA4OTg0Mzc1XSwgWzE2NjM4MTI3NjUuNjYzMDM4MywgMjMyMiwgMS43NDAwMDE2Nzg0NjY3OTY5XSwgWzE2NjM4MTI3NjUuNzUzNDkwMiwgMjMzMSwgMS43NDM4MTYyNTY1MjMxMzIzXSwgWzE2NjM4MTI3NjUuODQ5OTU0NiwgMjM0MCwgMS43MjA3MDA1MDIzOTU2Mjk5XSwgWzE2NjM4MTI3NjUuOTQxOTY2LCAyMzQ5LCAxLjcyOTczMzgyNDcyOTkxOTRdLCBbMTY2MzgxMjc2Ni4xMjQ5ODk3LCAyMzY3LCAxLjcyODk5OTI1NzA4NzcwNzVdLCBbMTY2MzgxMjc2Ni4yMTg5NjMsIDIzNzYsIDEuNzAwNDMyMDYyMTQ5MDQ3OV0sIFsxNjYzODEyNzY2LjY3NDg0MTYsIDI0MjEsIDEuNzYzMzA2NzM2OTQ2MTA2XSwgWzE2NjM4MTI3NjYuODcyNjEzNCwgMjQzOSwgMS43MDE3ODMxODAyMzY4MTY0XSwgWzE2NjM4MTI3NjYuOTYyNTczOCwgMjQ0OCwgMS43NTQ2MDg3NTAzNDMzMjI4XSwgWzE2NjM4MTI3NjcuMjM2NTE3NCwgMjQ3NSwgMS43MDcwMzA0MTU1MzQ5NzMxXSwgWzE2NjM4MTI3NjcuMzE3NjU0NiwgMjQ4NCwgMS42NzQzMTk4NjMzMTkzOTddLCBbMTY2MzgxMjc2Ny4zOTk5MDM1LCAyNDkzLCAxLjcyMzY4MjUyMjc3Mzc0MjddLCBbMTY2MzgxMjc2Ny43NTQyNDk2LCAyNTExLCAxLjY4NDQxMzc5MDcwMjgxOThdLCBbMTY2MzgxMjc2Ny44NDIzNzAzLCAyNTIwLCAxLjY4OTQ3MDY0ODc2NTU2NF0sIFsxNjYzODEyNzY3LjkzMjcwOTcsIDI1MjksIDEuNjkwNjMyODIwMTI5Mzk0NV0sIFsxNjYzODEyNzY4LjAyMjU2NzcsIDI1MzgsIDEuNzU3OTA0NjQ4NzgwODIyOF0sIFsxNjYzODEyNzY4LjExMzEwODYsIDI1NDcsIDEuNzMwMzgxMTMxMTcyMTgwMl0sIFsxNjYzODEyNzY4LjIwMjE3OTcsIDI1NTYsIDEuNjYwNDI5MzU4NDgyMzYwOF0sIFsxNjYzODEyNzY4LjI4NjIwMzQsIDI1NjUsIDEuNjczNDk5OTQxODI1ODY2N10sIFsxNjYzODEyNzY4LjM3NTcwNDgsIDI1NzQsIDEuNjkyNjU2NzU1NDQ3Mzg3N10sIFsxNjYzODEyNzY4LjU1NTgwNTcsIDI1OTIsIDEuNjU4MzQ0MTQ5NTg5NTM4Nl0sIFsxNjYzODEyNzY4LjY1OTExNDEsIDI2MDEsIDEuNjk3NjkxMzIxMzcyOTg1OF0sIFsxNjYzODEyNzY4LjgzNTE0NzQsIDI2MTksIDEuNjU2NDkwNjgzNTU1NjAzXSwgWzE2NjM4MTI3NjguOTI2ODgxLCAyNjI4LCAxLjY4NDE4NzE3Mzg0MzM4MzhdLCBbMTY2MzgxMjc2OS4yOTkxMzIsIDI2NjQsIDEuNjYyOTQwOTc5MDAzOTA2Ml0sIFsxNjYzODEyNzY5LjQwMDczOSwgMjY3MywgMS42MzA4OTkwNzE2OTM0MjA0XSwgWzE2NjM4MTI3NjkuNTI1NjE4LCAyNjgyLCAxLjY3MTQzNjA3MTM5NTg3NF0sIFsxNjYzODEyNzY5LjYyMjIxMywgMjY5MSwgMS42NzgzMTMwMTY4OTE0Nzk1XSwgWzE2NjM4MTI3NjkuNzM1MzE4NCwgMjcwMCwgMS42ODk3MzQ2OTczNDE5MTldLCBbMTY2MzgxMjc2OS44MzcwMTIsIDI3MDksIDEuNjU1NTM5OTg5NDcxNDM1NV0sIFsxNjYzODEyNzcwLjIyNjM2NjMsIDI3NDUsIDEuNjc5NzAxMzI4Mjc3NTg4XSwgWzE2NjM4MTI3NzAuMzE2MDE1NywgMjc1NCwgMS42OTMzNjA0NDc4ODM2MDZdLCBbMTY2MzgxMjc3MC40MTE1NTI3LCAyNzYzLCAxLjc1MjA5Njc3MjE5MzkwODddLCBbMTY2MzgxMjc3MC41MDY1NzU2LCAyNzcyLCAxLjY0NTMwMDk4NDM4MjYyOTRdLCBbMTY2MzgxMjc3MC41OTYzNDIzLCAyNzgxLCAxLjY2ODkxOTkyMDkyMTMyNTddLCBbMTY2MzgxMjc3MC43MTExMTA4LCAyNzkwLCAxLjY1MTE2Mjc0MzU2ODQyMDRdLCBbMTY2MzgxMjc3MC45MDE4MTMzLCAyODA4LCAxLjYzNzQwMjY1MzY5NDE1MjhdLCBbMTY2MzgxMjc3MC45OTYwODE0LCAyODE3LCAxLjYxODY0OTI0NDMwODQ3MTddLCBbMTY2MzgxMjc3MS4wODc0MTMsIDI4MjYsIDEuNjMxNTg2NTUxNjY2MjU5OF0sIFsxNjYzODEyNzcxLjE4MDE5OTQsIDI4MzUsIDEuNjE0MDA2MDQyNDgwNDY4OF0sIFsxNjYzODEyNzcxLjI3MDA2MTcsIDI4NDQsIDEuNjI3MjU3OTQzMTUzMzgxM10sIFsxNjYzODEyNzcxLjM3NzgxODMsIDI4NTMsIDEuNjYyOTk3MDA3MzY5OTk1MV0sIFsxNjYzODEyNzcxLjU2ODA0NjYsIDI4NzEsIDEuNjI0ODMxNTU3MjczODY0N10sIFsxNjYzODEyNzcxLjY3NzI4MTYsIDI4ODAsIDEuNjMyNDU2MzAyNjQyODIyM10sIFsxNjYzODEyNzcxLjc3MzAyMSwgMjg4OSwgMS42NDMzMzU0NjE2MTY1MTYxXSwgWzE2NjM4MTI3NzEuODYzNTA3NywgMjg5OCwgMS42MzUwNzU5MjY3ODA3MDA3XSwgWzE2NjM4MTI3NzEuOTYzOTI5NCwgMjkwNywgMS42NDY1NzIxMTMwMzcxMDk0XSwgWzE2NjM4MTI3NzIuMTY4MDIzOCwgMjkyNSwgMS42MjgxODY4MjE5Mzc1NjFdLCBbMTY2MzgxMjc3Mi40NDEzMTk3LCAyOTUyLCAxLjYyMDM5Njk3MTcwMjU3NTddLCBbMTY2MzgxMjc3Mi42MjMwNjEsIDI5NzAsIDEuNjAxOTA1OTQxOTYzMTk1OF0sIFsxNjYzODEyNzcyLjcxNjg3MjcsIDI5NzksIDEuNjY0MjUwMTM1NDIxNzUzXSwgWzE2NjM4MTI3NzIuODA4MjQzLCAyOTg4LCAxLjYwMTI3MDc5NDg2ODQ2OTJdLCBbMTY2MzgxMjc3Mi45MDQyNzM1LCAyOTk3LCAxLjU3MzMzMDc2MDAwMjEzNjJdLCBbMTY2MzgxMjc3Mi45OTA5MTEsIDMwMDYsIDEuNjE3MzMzMjkyOTYxMTIwNl0sIFsxNjYzODEyNzczLjM0Njg4NDMsIDMwNDIsIDEuNjUxNjAwNzE4NDk4MjNdLCBbMTY2MzgxMjc3My40MzUyMTk1LCAzMDUxLCAxLjYxMDM4NDQ2NDI2MzkxNl0sIFsxNjYzODEyNzczLjYxODUxODQsIDMwNjksIDEuNjE5NjYyMjg0ODUxMDc0Ml0sIFsxNjYzODEyNzczLjgyODM2MDYsIDMwODcsIDEuNTU3NDk5NTI3OTMxMjEzNF0sIFsxNjYzODEyNzczLjkzMzY1NjIsIDMwOTYsIDEuNTg2MjA5ODkzMjI2NjIzNV0sIFsxNjYzODEyNzc0LjAyNzEwODIsIDMxMDUsIDEuNTc2MDQzOTYzNDMyMzEyXSwgWzE2NjM4MTI3NzQuMTE4NDc4NSwgMzExNCwgMS41NzcyNzIxNzY3NDI1NTM3XSwgWzE2NjM4MTI3NzQuMjA5NTU1NiwgMzEyMywgMS42MzUyNTQzODMwODcxNTgyXSwgWzE2NjM4MTI3NzQuMzAxMzcyLCAzMTMyLCAxLjU4MzM3NTY5MjM2NzU1MzddLCBbMTY2MzgxMjc3NC4zOTE0NTgzLCAzMTQxLCAxLjYxMjk2OTUxNzcwNzgyNDddLCBbMTY2MzgxMjc3NC40ODg2NTgsIDMxNTAsIDEuNTg2NjE4NTQyNjcxMjAzNl0sIFsxNjYzODEyNzc0LjU3OTI3MDQsIDMxNTksIDEuNTQ3MTcxOTUwMzQwMjcxXSwgWzE2NjM4MTI3NzQuNzY3NTg1MywgMzE3NywgMS41NjMyMjQwNzcyMjQ3MzE0XSwgWzE2NjM4MTI3NzQuODU2NDUyLCAzMTg2LCAxLjYwMzgyMDY4MTU3MTk2MDRdLCBbMTY2MzgxMjc3NC45NTYzMDIyLCAzMTk1LCAxLjU2Mzk2NDg0Mzc1XSwgWzE2NjM4MTI3NzUuMDUyMzQzNCwgMzIwNCwgMS41NTAzNzQ3NDYzMjI2MzE4XSwgWzE2NjM4MTI3NzUuMjM2NzQ3NywgMzIyMiwgMS41NjM2NDcwMzE3ODQwNTc2XSwgWzE2NjM4MTI3NzUuMzMzNTkzMSwgMzIzMSwgMS41NDAzNTIzNDQ1MTI5Mzk1XSwgWzE2NjM4MTI3NzUuNTEzMzcxLCAzMjQ5LCAxLjU4MTMzMDc3NjIxNDU5OTZdLCBbMTY2MzgxMjc3NS42MDUzMjQzLCAzMjU4LCAxLjYyNDY4MzczNzc1NDgyMThdLCBbMTY2MzgxMjc3NS42OTU0NDk0LCAzMjY3LCAxLjU1NjE3MjcyODUzODUxMzJdLCBbMTY2MzgxMjc3NS43ODc0MjQ2LCAzMjc2LCAxLjYwNTMxMzY1ODcxNDI5NDRdLCBbMTY2MzgxMjc3NS44OTE2OTEsIDMyODUsIDEuNjExMzgwMTAwMjUwMjQ0MV0sIFsxNjYzODEyNzc1Ljk5NjA4NjgsIDMyOTQsIDEuNjI4NDc4MTY5NDQxMjIzMV0sIFsxNjYzODEyNzc2LjI2MDUzMjYsIDMzMDMsIDEuNTYxNTA2ODY3NDA4NzUyNF0sIFsxNjYzODEyNzc2LjM0NzgxMDMsIDMzMTIsIDEuNjMzODI5MzU1MjM5ODY4Ml0sIFsxNjYzODEyNzc2LjQzNjczOCwgMzMyMSwgMS41Mjc0MDEwODk2NjgyNzRdLCBbMTY2MzgxMjc3Ni41MjU5MzIsIDMzMzAsIDEuNTQzNzIwNjAyOTg5MTk2OF0sIFsxNjYzODEyNzc2Ljg4ODkyODQsIDMzNjYsIDEuNTcxNzMxNTY3MzgyODEyNV0sIFsxNjYzODEyNzc2Ljk3OTg3NiwgMzM3NSwgMS41NDU1Njg0NjYxODY1MjM0XSwgWzE2NjM4MTI3NzcuMDg3MTk0MiwgMzM4NCwgMS41MTE4OTI2NzYzNTM0NTQ2XSwgWzE2NjM4MTI3NzcuMjcwMDAxNiwgMzQwMiwgMS41MTE0OTI5Njc2MDU1OTA4XSwgWzE2NjM4MTI3NzcuMzYwMDc4NiwgMzQxMSwgMS41MzM0NTYwODcxMTI0MjY4XSwgWzE2NjM4MTI3NzcuNzIyNTI4MiwgMzQ0NywgMS41OTMzODgxOTk4MDYyMTM0XSwgWzE2NjM4MTI3NzcuOTA1MTM4NywgMzQ2NSwgMS41MTgxNDgwNjQ2MTMzNDIzXSwgWzE2NjM4MTI3NzcuOTkyOTQ2OSwgMzQ3NCwgMS41MDQ4MDg1NDUxMTI2MDk5XSwgWzE2NjM4MTI3NzguMDkzMDY3MiwgMzQ4MywgMS41MTM0OTg2NjM5MDIyODI3XSwgWzE2NjM4MTI3NzguMzU5NTE0NSwgMzUxMCwgMS41Mjg2MTEzMDIzNzU3OTM1XSwgWzE2NjM4MTI3NzguNDQ0ODQ1NywgMzUxOSwgMS41MDk3MzIzNjU2MDgyMTUzXSwgWzE2NjM4MTI3NzguNTM1NzM3OCwgMzUyOCwgMS41MjIyNzgxODk2NTkxMTg3XSwgWzE2NjM4MTI3NzguNjIzOTYwMywgMzUzNywgMS41MTg0NjQ2ODQ0ODYzODkyXSwgWzE2NjM4MTI3NzguNzE4Mjc0LCAzNTQ2LCAxLjUyNjM1NTUwNDk4OTYyNF0sIFsxNjYzODEyNzc4LjgwNjc3LCAzNTU1LCAxLjUwNjM5NjY1MTI2ODAwNTRdLCBbMTY2MzgxMjc3OC44OTgwNTcyLCAzNTY0LCAxLjU0NTMxODcyMjcyNDkxNDZdLCBbMTY2MzgxMjc3OC45ODk1NzYzLCAzNTczLCAxLjUwMTA2NjQ0NjMwNDMyMTNdLCBbMTY2MzgxMjc3OS4wOTY4MjM1LCAzNTgyLCAxLjUwNDAyMjk1NTg5NDQ3MDJdLCBbMTY2MzgxMjc3OS4yMDY3OTg2LCAzNTkxLCAxLjUwMjUyOTE0NDI4NzEwOTRdLCBbMTY2MzgxMjc3OS4zMTk1ODcyLCAzNjAwLCAxLjUyMjc1MzgzNDcyNDQyNjNdLCBbMTY2MzgxMjc3OS40Mzk0NTQzLCAzNjA5LCAxLjU2NjgyOTIwNDU1OTMyNjJdLCBbMTY2MzgxMjc3OS41NDE2NTQzLCAzNjE4LCAxLjYzMTExMzQwOTk5NjAzMjddLCBbMTY2MzgxMjc3OS42NDczODUsIDM2MjcsIDEuNDg5MDk1MzMwMjM4MzQyM10sIFsxNjYzODEyNzc5LjgyODU2NTYsIDM2NDUsIDEuNDUyMTM0OTY2ODUwMjgwOF0sIFsxNjYzODEyNzgwLjAxNDM4MiwgMzY2MywgMS40Njc1MTUzNDkzODgxMjI2XSwgWzE2NjM4MTI3ODAuMTEyNzE2LCAzNjcyLCAxLjQ5OTcwNDEyMjU0MzMzNV0sIFsxNjYzODEyNzgwLjIwNTM5NCwgMzY4MSwgMS40ODcwMTIwMjg2OTQxNTI4XSwgWzE2NjM4MTI3ODAuMzA3MDA2MSwgMzY5MCwgMS41MDUxMjc3ODc1OTAwMjY5XSwgWzE2NjM4MTI3ODAuNTgxMzIwNSwgMzcxNywgMS40ODI3Nzc5NTMxNDc4ODgyXSwgWzE2NjM4MTI3ODAuNjc2MTQ3NSwgMzcyNiwgMS42MjY2MzE0OTgzMzY3OTJdLCBbMTY2MzgxMjc4MC43NzE5ODI3LCAzNzM1LCAxLjQ5ODczMzYzOTcxNzEwMl0sIFsxNjYzODEyNzgwLjg2MDYzNywgMzc0NCwgMS41MjUwMTI2MTIzNDI4MzQ1XSwgWzE2NjM4MTI3ODEuMTY5Nzc2LCAzNzcxLCAxLjQ5NTY5OTQwNTY3MDE2Nl0sIFsxNjYzODEyNzgxLjI5MTcxMSwgMzc4MCwgMS41MDg0MDYwNDMwNTI2NzMzXSwgWzE2NjM4MTI3ODEuNDc1NDQzMSwgMzc5OCwgMS40NTY3NjQ0NTk2MDk5ODU0XSwgWzE2NjM4MTI3ODEuNTY4NDcwNSwgMzgwNywgMS40NTYwMzI2MzM3ODE0MzNdLCBbMTY2MzgxMjc4MS44NDUxMjIzLCAzODM0LCAxLjQ1ODY0MTA1MjI0NjA5MzhdLCBbMTY2MzgxMjc4MS45Mzg2NDE1LCAzODQzLCAxLjQ2MzI4NTMyNjk1NzcwMjZdLCBbMTY2MzgxMjc4Mi4wMjkwMzIsIDM4NTIsIDEuNDg0NzI5NTI4NDI3MTI0XSwgWzE2NjM4MTI3ODIuMjMxMTM3OCwgMzg3MCwgMS40NjE5Mjk2Nzg5MTY5MzEyXSwgWzE2NjM4MTI3ODIuMzQ3NDk1MywgMzg3OSwgMS40NzY0MTY1ODc4Mjk1ODk4XSwgWzE2NjM4MTI3ODIuNDQ0MjQwOCwgMzg4OCwgMS40NDkwMjM5NjIwMjA4NzRdLCBbMTY2MzgxMjc4Mi43Mjk0ODA1LCAzOTE1LCAxLjQ1NjIwNTg0NDg3OTE1MDRdLCBbMTY2MzgxMjc4Mi44MjI4Njc2LCAzOTI0LCAxLjQyMTI4MTQ1Njk0NzMyNjddLCBbMTY2MzgxMjc4Mi45MTg1OTk2LCAzOTMzLCAxLjQzNDIzNTMzNDM5NjM2MjNdLCBbMTY2MzgxMjc4My4wMTI2MDUyLCAzOTQyLCAxLjQ1OTM5NTUyNzgzOTY2MDZdLCBbMTY2MzgxMjc4My4xMTU5ODA0LCAzOTUxLCAxLjQzOTAwMTY3OTQyMDQ3MTJdLCBbMTY2MzgxMjc4My4yMTA2ODU1LCAzOTYwLCAxLjQzMDMzNTQwMjQ4ODcwODVdLCBbMTY2MzgxMjc4My4zMDg5NDc4LCAzOTY5LCAxLjQ0NzM3MTM2MzYzOTgzMTVdLCBbMTY2MzgxMjc4My40MDE4NTU1LCAzOTc4LCAxLjQwODkzMjIwOTAxNDg5MjZdLCBbMTY2MzgxMjc4My41ODUxOTUzLCAzOTk2LCAxLjQ1NDU3MjQzOTE5MzcyNTZdLCBbMTY2MzgxMjc4My42Nzg4OTUsIDQwMDUsIDEuNDUwOTk0NjEwNzg2NDM4XSwgWzE2NjM4MTI3ODMuNzczNTA4MywgNDAxNCwgMS40MTc1MDA2MTUxMTk5MzRdLCBbMTY2MzgxMjc4My45MTQxNTcsIDQwMjMsIDEuNDE2Mjg4Mzc1ODU0NDkyMl0sIFsxNjYzODEyNzg0LjI5NDY4MzUsIDQwNTksIDEuNDE0NjIyNTQ1MjQyMzA5Nl0sIFsxNjYzODEyNzg0LjM4NjkxNzYsIDQwNjgsIDEuNDIzMTIwMjYwMjM4NjQ3NV0sIFsxNjYzODEyNzg0LjQ4NTg4OSwgNDA3NywgMS41MDg4MzEzODE3OTc3OTA1XSwgWzE2NjM4MTI3ODQuNTc3MTQ1LCA0MDg2LCAxLjQ0NDA2MzY2MzQ4MjY2Nl0sIFsxNjYzODEyNzg0LjgzNDEwODgsIDQwOTUsIDEuNDY5MjIxMzUzNTMwODgzOF0sIFsxNjYzODEyNzg1LjA2NzAxNjQsIDQxMTMsIDEuMzkzMTg2ODA3NjMyNDQ2M10sIFsxNjYzODEyNzg1LjI3NzQxOTYsIDQxMzEsIDEuNDA4ODA5NzgxMDc0NTI0XSwgWzE2NjM4MTI3ODUuNDk1MTY4NCwgNDE0OSwgMS40MjQ2MjQyMDQ2MzU2MjAxXSwgWzE2NjM4MTI3ODUuNjI3ODE0MywgNDE1OCwgMS40Mzc0NjUzMTAwOTY3NDA3XSwgWzE2NjM4MTI3ODUuNzY1MDg1NSwgNDE2NywgMS4zOTkwNTg2OTk2MDc4NDkxXSwgWzE2NjM4MTI3ODUuOTg0NDU2NSwgNDE4NSwgMS40MjQyMDYzNzYwNzU3NDQ2XSwgWzE2NjM4MTI3ODYuMDc3MjQyLCA0MTk0LCAxLjQwNjQwNzk1MjMwODY1NDhdLCBbMTY2MzgxMjc4Ni4xNzAxNjUsIDQyMDMsIDEuNDM2MDIyMDQzMjI4MTQ5NF0sIFsxNjYzODEyNzg2LjM1NTg2MzYsIDQyMjEsIDEuNDM1NDUxNjI2Nzc3NjQ5XSwgWzE2NjM4MTI3ODYuNTUyOTkyLCA0MjM5LCAxLjQyMjYzNzM0MzQwNjY3NzJdLCBbMTY2MzgxMjc4Ni42NDgzNDUyLCA0MjQ4LCAxLjQ1MTY4MDg5ODY2NjM4MThdLCBbMTY2MzgxMjc4Ni44MzU3NDAzLCA0MjY2LCAxLjQzMjUwNzk5MTc5MDc3MTVdLCBbMTY2MzgxMjc4Ni45MjcxMDMzLCA0Mjc1LCAxLjQwNjIzMzE5MTQ5MDE3MzNdLCBbMTY2MzgxMjc4Ny4wMTU2NDM2LCA0Mjg0LCAxLjQzMDMxNjQ0ODIxMTY3XSwgWzE2NjM4MTI3ODcuMjkwNDgwNiwgNDMxMSwgMS40MjU5MDA1Nzg0OTg4NDAzXSwgWzE2NjM4MTI3ODcuNDA3MTc4LCA0MzIwLCAxLjM4MDE4NjkxNTM5NzY0NF0sIFsxNjYzODEyNzg3LjQ5NjI2MzMsIDQzMjksIDEuMzY4Nzk2NzA2MTk5NjQ2XSwgWzE2NjM4MTI3ODcuNjAwNzU4MywgNDMzOCwgMS4zNzk0ODcyNzYwNzcyNzA1XSwgWzE2NjM4MTI3ODcuNjkxNDI4NCwgNDM0NywgMS4zNzkxMDIyMzAwNzIwMjE1XSwgWzE2NjM4MTI3ODcuNzc5NzI1LCA0MzU2LCAxLjQwMTE4MTQ1OTQyNjg3OTldLCBbMTY2MzgxMjc4Ny44Nzk0NjU4LCA0MzY1LCAxLjQ2NzcxOTMxNjQ4MjU0NF0sIFsxNjYzODEyNzg4LjA2MDMxODUsIDQzODMsIDEuMzk0Nzk1Mjk4NTc2MzU1XSwgWzE2NjM4MTI3ODguMTU0MzQyLCA0MzkyLCAxLjQyMDI4ODY4MTk4Mzk0NzhdLCBbMTY2MzgxMjc4OC4yNDYzMzYyLCA0NDAxLCAxLjQ5ODE1MDIyOTQ1NDA0MDVdLCBbMTY2MzgxMjc4OC4zMzc0ODU4LCA0NDEwLCAxLjQ0NjYxMzY2OTM5NTQ0NjhdLCBbMTY2MzgxMjc4OC40Mjg1OTksIDQ0MTksIDEuNDU2MjA5NTQwMzY3MTI2NV0sIFsxNjYzODEyNzg4LjUxOTc4NjgsIDQ0MjgsIDEuNDk1MzUzMzQxMTAyNl0sIFsxNjYzODEyNzg4LjgxNjc2NjUsIDQ0NTUsIDEuMzk3NTE2MTMxNDAxMDYyXSwgWzE2NjM4MTI3ODguOTAzMjAzNywgNDQ2NCwgMS40MDI3NTk3OTA0MjA1MzIyXSwgWzE2NjM4MTI3ODkuMDg4Mjc5LCA0NDgyLCAxLjQzMDUwMjI5NTQ5NDA3OTZdLCBbMTY2MzgxMjc4OS4xNzY1MTcsIDQ0OTEsIDEuMzc5MTg0MzY1MjcyNTIyXSwgWzE2NjM4MTI3ODkuMjY3MDk5OSwgNDUwMCwgMS4zNjA5ODYxMTM1NDgyNzg4XSwgWzE2NjM4MTI3ODkuNTAzOTI5NiwgNDUxOCwgMS4zOTMyMTM2Mjk3MjI1OTUyXSwgWzE2NjM4MTI3ODkuNTk2MDMwMiwgNDUyNywgMS40MTg5Njk1MTE5ODU3Nzg4XSwgWzE2NjM4MTI3ODkuNzEzNjk5MywgNDUzNiwgMS4zNzMyOTk5NTYzMjE3MTYzXSwgWzE2NjM4MTI3ODkuOTgzMjcyNiwgNDU2MywgMS4zNjAxNjg4MTQ2NTkxMTg3XSwgWzE2NjM4MTI3OTAuMDczNDc2LCA0NTcyLCAxLjQwMDEyMDYxNTk1OTE2NzVdLCBbMTY2MzgxMjc5MC4xNjA2NTIsIDQ1ODEsIDEuNDA5OTc5ODIwMjUxNDY0OF0sIFsxNjYzODEyNzkwLjI1NDIyNTMsIDQ1OTAsIDEuNDE2MzI4MzEwOTY2NDkxN10sIFsxNjYzODEyNzkwLjM0NDczOTcsIDQ1OTksIDEuNDIzMDQ1ODczNjQxOTY3OF0sIFsxNjYzODEyNzkwLjQzMzE2MDMsIDQ2MDgsIDEuNDQyNTk0ODg1ODI2MTEwOF0sIFsxNjYzODEyNzkwLjUyMTYzNjIsIDQ2MTcsIDEuMzc3NjAzODg4NTExNjU3N10sIFsxNjYzODEyNzkwLjYxOTU0NywgNDYyNiwgMS4zNzMwMzExMzkzNzM3NzkzXSwgWzE2NjM4MTI3OTAuNzE1MTI0MSwgNDYzNSwgMS4zNzgwNzcwMzAxODE4ODQ4XSwgWzE2NjM4MTI3OTAuOTE4NzU1LCA0NjUzLCAxLjM2NzUwNDgzNTEyODc4NDJdLCBbMTY2MzgxMjc5MS4wMDg5MSwgNDY2MiwgMS4zNDM3NzQ3OTU1MzIyMjY2XSwgWzE2NjM4MTI3OTEuMTA0MzMzNCwgNDY3MSwgMS4zMjE3NDMwMTE0NzQ2MDk0XSwgWzE2NjM4MTI3OTEuMTkzNjQyOSwgNDY4MCwgMS4zNjgyMjIzNTU4NDI1OTAzXSwgWzE2NjM4MTI3OTEuMjk0MjQ5LCA0Njg5LCAxLjM4MDAzOTQ1MzUwNjQ2OTddLCBbMTY2MzgxMjc5MS4zODQ5MDU4LCA0Njk4LCAxLjM0NTQyNDg5MDUxODE4ODVdLCBbMTY2MzgxMjc5MS41Njc1NTA0LCA0NzE2LCAxLjM4NDEyOTc2MjY0OTUzNjFdLCBbMTY2MzgxMjc5MS44NTYyODA2LCA0NzQzLCAxLjMzNDUyODgwMzgyNTM3ODRdLCBbMTY2MzgxMjc5Mi4yMTMyNzI4LCA0Nzc5LCAxLjM3ODEyNjM4MjgyNzc1ODhdLCBbMTY2MzgxMjc5Mi40MTkyMTk1LCA0Nzk3LCAxLjQwMzYxMjM3NTI1OTM5OTRdLCBbMTY2MzgxMjc5Mi41MTAxMjY4LCA0ODA2LCAxLjM0NjE5NDM4NjQ4MjIzODhdLCBbMTY2MzgxMjc5Mi41OTYyNTY3LCA0ODE1LCAxLjM4Mjk2NjM5OTE5MjgxXSwgWzE2NjM4MTI3OTIuNjg5MTE5OCwgNDgyNCwgMS4zOTQ2NDA4MDMzMzcwOTcyXSwgWzE2NjM4MTI3OTIuNzg1NTA4MiwgNDgzMywgMS4zODI5Mzk2OTYzMTE5NTA3XSwgWzE2NjM4MTI3OTIuODkxOTEyMiwgNDg0MiwgMS4zMjYwNjE0ODcxOTc4NzZdLCBbMTY2MzgxMjc5Mi45Nzc1MDUyLCA0ODUxLCAxLjM1MDUxOTc3NjM0NDI5OTNdLCBbMTY2MzgxMjc5My4wNjM4NDc1LCA0ODYwLCAxLjM1NTk2OTQyOTAxNjExMzNdLCBbMTY2MzgxMjc5My4xNjQ3OTE2LCA0ODY5LCAxLjM2MDQ0MzM1MzY1Mjk1NF0sIFsxNjYzODEyNzkzLjI5MjEwMSwgNDg3OCwgMS4zMzAzNzQ5NTYxMzA5ODE0XSwgWzE2NjM4MTI3OTMuNTUyMTkzOSwgNDg4NywgMS4zMTMyMTM1ODY4MDcyNTFdLCBbMTY2MzgxMjc5My42NDE3NTE1LCA0ODk2LCAxLjM1MTI1MTQ4Mjk2MzU2Ml0sIFsxNjYzODEyNzkzLjczMjM3NiwgNDkwNSwgMS4zMTY1MzM4MDM5Mzk4MTkzXSwgWzE2NjM4MTI3OTMuOTQ2NzM4NSwgNDkyMywgMS4zMjUxMTQxMzA5NzM4MTZdLCBbMTY2MzgxMjc5NC4wNTUwOCwgNDkzMiwgMS4zMjAxMDg4OTA1MzM0NDczXSwgWzE2NjM4MTI3OTQuMzU3NzIzNywgNDk1OSwgMS4zMDY5ODMzNTE3MDc0NTg1XSwgWzE2NjM4MTI3OTQuNTM5MzcsIDQ5NzcsIDEuMzM3NjM3MzA1MjU5NzA0Nl0sIFsxNjYzODEyNzk0LjYyODg1OCwgNDk4NiwgMS4zMjQwMzIxODc0NjE4NTNdLCBbMTY2MzgxMjc5NC43MjI3MzA2LCA0OTk1LCAxLjMwODA3NDM1NTEyNTQyNzJdLCBbMTY2MzgxMjc5NC44MTY4OTc2LCA1MDA0LCAxLjMxOTYyMzQ3MDMwNjM5NjVdLCBbMTY2MzgxMjc5NC45MDc4MjksIDUwMTMsIDEuMzMxNTUxOTA5NDQ2NzE2M10sIFsxNjYzODEyNzk1LjA5NzcyNjgsIDUwMzEsIDEuMjk0OTAzNzU1MTg3OTg4M10sIFsxNjYzODEyNzk1LjQ4MTA4MzksIDUwNjcsIDEuMjkxMDU4ODk3OTcyMTA3XSwgWzE2NjM4MTI3OTUuNTcwMjM4LCA1MDc2LCAxLjM3NjQ3NDczODEyMTAzMjddLCBbMTY2MzgxMjc5NS42NjM3MjI4LCA1MDg1LCAxLjMyMDE3NTg4NjE1NDE3NDhdLCBbMTY2MzgxMjc5NS44NDQyNDA3LCA1MTAzLCAxLjI5ODM4MDYxMzMyNzAyNjRdLCBbMTY2MzgxMjc5NS45MzMyNjc0LCA1MTEyLCAxLjMzODgxODU1MDEwOTg2MzNdLCBbMTY2MzgxMjc5Ni4wNDU5MiwgNTEyMSwgMS4yNTYwNTQ5OTc0NDQxNTI4XSwgWzE2NjM4MTI3OTYuMTM2ODgwOSwgNTEzMCwgMS4zMzA3MDExMTI3NDcxOTI0XSwgWzE2NjM4MTI3OTYuMzMzNzM0NSwgNTE0OCwgMS4zNTI3Mjk0Mzk3MzU0MTI2XSwgWzE2NjM4MTI3OTYuNTIyOTA4LCA1MTY2LCAxLjM1MTkzNTM4NjY1NzcxNDhdLCBbMTY2MzgxMjc5Ni44MDY0NzA0LCA1MTkzLCAxLjI5MDUwNjAwNTI4NzE3MDRdLCBbMTY2MzgxMjc5Ny4xODM1NzEsIDUyMjksIDEuMjk0ODM3MTE3MTk1MTI5NF0sIFsxNjYzODEyNzk3LjU1NTg0OTMsIDUyNjUsIDEuMzAzNjQyNzQ5Nzg2Mzc3XSwgWzE2NjM4MTI3OTcuNjQ4OTAzLCA1Mjc0LCAxLjI3MDMzMDQyOTA3NzE0ODRdLCBbMTY2MzgxMjc5Ny43NDU5NDE0LCA1MjgzLCAxLjMwNTEzNzUxNTA2ODA1NDJdLCBbMTY2MzgxMjc5Ny45MzA5ODQzLCA1MzAxLCAxLjI4ODg4NDg3ODE1ODU2OTNdLCBbMTY2MzgxMjc5OC4wMjM3Nzk0LCA1MzEwLCAxLjMxMTQ5MjY4MTUwMzI5Nl0sIFsxNjYzODEyNzk4LjEyOTc0MjYsIDUzMTksIDEuMjkwNjc5MDk3MTc1NTk4MV0sIFsxNjYzODEyNzk4LjIyMDU0MSwgNTMyOCwgMS4yODA1MjU1NjUxNDc0XSwgWzE2NjM4MTI3OTguMzExMjM3OCwgNTMzNywgMS4yOTg2MjU1ODg0MTcwNTMyXSwgWzE2NjM4MTI3OTguNTA1MzQ1NiwgNTM1NSwgMS4zMDUwODE2MDU5MTEyNTQ5XSwgWzE2NjM4MTI3OTguNTk3Njc2NSwgNTM2NCwgMS4zMDQxNTExNzc0MDYzMTFdLCBbMTY2MzgxMjc5OC42OTE4NjM4LCA1MzczLCAxLjI5Nzk0NjkyOTkzMTY0MDZdLCBbMTY2MzgxMjc5OC43ODA0ODY2LCA1MzgyLCAxLjI5MDk1MTI1MTk4MzY0MjZdLCBbMTY2MzgxMjc5OC44Njg2OTQ4LCA1MzkxLCAxLjI1NzQyOTgzODE4MDU0Ml0sIFsxNjYzODEyNzk4Ljk2MTc2MywgNTQwMCwgMS4zMDc2MjQ4MTY4OTQ1MzEyXSwgWzE2NjM4MTI3OTkuMTU1MDUyNywgNTQxOCwgMS4zMDkxNDc4MzQ3Nzc4MzJdLCBbMTY2MzgxMjc5OS4yNTE5MDQ3LCA1NDI3LCAxLjI4MjkzNDc4NDg4OTIyMTJdLCBbMTY2MzgxMjc5OS4zNDc2MzksIDU0MzYsIDEuMjgwNDg0MzE4NzMzMjE1M10sIFsxNjYzODEyNzk5LjU2MTg1MzYsIDU0NTQsIDEuMjUxMzgwMjA1MTU0NDE5XSwgWzE2NjM4MTI3OTkuNzQ5MTQ1MywgNTQ3MiwgMS4yOTU3NjUwNDIzMDQ5OTI3XSwgWzE2NjM4MTI3OTkuODM4OTU4NywgNTQ4MSwgMS4zMzM3ODQ5Mzc4NTg1ODE1XSwgWzE2NjM4MTI3OTkuOTI5MjY3NiwgNTQ5MCwgMS4yOTc5OTk4NTg4NTYyMDEyXSwgWzE2NjM4MTI4MDAuMDE4NDU0OCwgNTQ5OSwgMS4zMjU2ODIxNjMyMzg1MjU0XSwgWzE2NjM4MTI4MDAuMzAzMjUyNSwgNTUyNiwgMS4yODU4NzA0MzI4NTM2OTg3XSwgWzE2NjM4MTI4MDAuMzkwODU1MywgNTUzNSwgMS4yODc5MzkzMTAwNzM4NTI1XSwgWzE2NjM4MTI4MDAuNTY3ODg5NywgNTU1MywgMS4yOTUyNTAwNTgxNzQxMzMzXSwgWzE2NjM4MTI4MDAuNjU2NjQ0NiwgNTU2MiwgMS4zMzg0NDg3NjI4OTM2NzY4XSwgWzE2NjM4MTI4MDAuNzQ1NDYxNywgNTU3MSwgMS4yNjA0NzE5NDAwNDA1ODg0XSwgWzE2NjM4MTI4MDAuOTMwOTEsIDU1ODksIDEuMjQ1NzI5Njg0ODI5NzEyXSwgWzE2NjM4MTI4MDEuMTMxMzI3MiwgNTYwNywgMS4yNDM2NTE1MDkyODQ5NzMxXSwgWzE2NjM4MTI4MDEuMjIxOTA4OCwgNTYxNiwgMS4yNjk4MzExODA1NzI1MDk4XSwgWzE2NjM4MTI4MDEuNDIwMjI1OSwgNTYzNCwgMS4zMDYzOTgxNTMzMDUwNTM3XSwgWzE2NjM4MTI4MDEuNTEwMDgxOCwgNTY0MywgMS4yNjY1NTY5NzgyMjU3MDhdLCBbMTY2MzgxMjgwMS42MDE1MzMsIDU2NTIsIDEuMjg4OTQ4NDE2NzA5OV0sIFsxNjYzODEyODAxLjY5OTcsIDU2NjEsIDEuMzUyODY1ODE1MTYyNjU4N10sIFsxNjYzODEyODAxLjc5MDMyMiwgNTY3MCwgMS4yOTEyMTMwMzU1ODM0OTZdLCBbMTY2MzgxMjgwMi4yMTYzMTU1LCA1Njk3LCAxLjI3NzkyMjk4NzkzNzkyNzJdLCBbMTY2MzgxMjgwMi4zMDQ4ODQsIDU3MDYsIDEuMjk2MzkzMTU2MDUxNjM1N10sIFsxNjYzODEyODAyLjQwODgwNSwgNTcxNSwgMS4yODI2NzAxNDAyNjY0MTg1XSwgWzE2NjM4MTI4MDIuNDk3NTMyMSwgNTcyNCwgMS4zNDE0MzE3MzY5NDYxMDZdLCBbMTY2MzgxMjgwMi42ODAxNTA3LCA1NzQyLCAxLjI0Mzk4NzMyMTg1MzYzNzddLCBbMTY2MzgxMjgwMi45NDQzMTQsIDU3NjksIDEuMjM3NjI2MzE0MTYzMjA4XSwgWzE2NjM4MTI4MDMuMDM1NzU3LCA1Nzc4LCAxLjI4MDMwMzgzNTg2ODgzNTRdLCBbMTY2MzgxMjgwMy4xMjIyMzY1LCA1Nzg3LCAxLjMxOTU1MTk0NDczMjY2Nl0sIFsxNjYzODEyODAzLjIyMzMyNTUsIDU3OTYsIDEuMjk4NDIyNjk0MjA2MjM3OF0sIFsxNjYzODEyODAzLjMxNDY3MTgsIDU4MDUsIDEuMjU3NTIyOTQwNjM1NjgxMl0sIFsxNjYzODEyODAzLjQwNDI2MDYsIDU4MTQsIDEuMjQ1NzgzODA1ODQ3MTY4XSwgWzE2NjM4MTI4MDMuNjg5MjI3LCA1ODQxLCAxLjI1MzU1MDI5MTA2MTQwMTRdLCBbMTY2MzgxMjgwMy43ODE4MzM0LCA1ODUwLCAxLjI3MTg3MTMyODM1Mzg4MThdLCBbMTY2MzgxMjgwMy45NjU1MTEsIDU4NjgsIDEuMjI4MjY2ODM1MjEyNzA3NV0sIFsxNjYzODEyODA0LjA1NzE3MywgNTg3NywgMS4yNTkyNzUzMTcxOTIwNzc2XSwgWzE2NjM4MTI4MDQuMTUxNDc5LCA1ODg2LCAxLjIyNzk4ODgzOTE0OTQ3NV0sIFsxNjYzODEyODA0LjI0NDc2MzEsIDU4OTUsIDEuMjY1NjQ0MzExOTA0OTA3Ml0sIFsxNjYzODEyODA0LjMzNTE3ODksIDU5MDQsIDEuMjg4MjY0NjMyMjI1MDM2Nl0sIFsxNjYzODEyODA0LjYzODgzMTksIDU5MzEsIDEuMjY3MjAzMjExNzg0MzYyOF0sIFsxNjYzODEyODA0LjczNjAxMjIsIDU5NDAsIDEuMjgwMzg2MjA5NDg3OTE1XSwgWzE2NjM4MTI4MDQuODM4NDYwNywgNTk0OSwgMS4zMDQzOTYxNTI0OTYzMzhdLCBbMTY2MzgxMjgwNC45MjkyMTYxLCA1OTU4LCAxLjI0MDgxMzczMjE0NzIxNjhdLCBbMTY2MzgxMjgwNS40NjA3MDUzLCA2MDEyLCAxLjIzNjQzNTE3NDk0MjAxNjZdLCBbMTY2MzgxMjgwNS42NDkyMjc0LCA2MDMwLCAxLjIwODEwNDcyOTY1MjQwNDhdLCBbMTY2MzgxMjgwNS43NDY4MTIsIDYwMzksIDEuMjI1ODY3NzQ4MjYwNDk4XSwgWzE2NjM4MTI4MDYuMDExNDk2NSwgNjA2NiwgMS4yNTU2NTgyNjg5Mjg1Mjc4XSwgWzE2NjM4MTI4MDYuMTk2MzQzNywgNjA4NCwgMS4yODE3MDY2OTA3ODgyNjldLCBbMTY2MzgxMjgwNi4zMjg4MDY5LCA2MDkzLCAxLjIxMTc3OTk1MjA0OTI1NTRdLCBbMTY2MzgxMjgwNi40MjI4NDA2LCA2MTAyLCAxLjI4Mjk4MTUxNDkzMDcyNV0sIFsxNjYzODEyODA2LjUxODU2MDQsIDYxMTEsIDEuMjU2NjA1ODYzNTcxMTY3XSwgWzE2NjM4MTI4MDYuNjEzNDEyMSwgNjEyMCwgMS4yNjEwMDc5MDUwMDY0MDg3XSwgWzE2NjM4MTI4MDYuNzE5NTcsIDYxMjksIDEuMjE3NDc1NDE0Mjc2MTIzXSwgWzE2NjM4MTI4MDYuOTA0MTEzMywgNjE0NywgMS4yNjM4NjM5MjExNjU0NjYzXSwgWzE2NjM4MTI4MDYuOTk4MjQ5OCwgNjE1NiwgMS4yMTQ2MTA2OTU4Mzg5MjgyXSwgWzE2NjM4MTI4MDcuMDkxMTcxLCA2MTY1LCAxLjIzNTE1MDgxNDA1NjM5NjVdLCBbMTY2MzgxMjgwNy4xODI5Njg2LCA2MTc0LCAxLjIyOTk4ODQ1NTc3MjRdLCBbMTY2MzgxMjgwNy4zNjE5NjM1LCA2MTkyLCAxLjI1MDQ3NTA0OTAxODg1OTldLCBbMTY2MzgxMjgwNy40NDk4MTIyLCA2MjAxLCAxLjIzOTA2MTIzNjM4MTUzMDhdLCBbMTY2MzgxMjgwNy41Mzg1MTUsIDYyMTAsIDEuMjMzMTg0MDk5MTk3Mzg3N10sIFsxNjYzODEyODA3LjYzMTYzOSwgNjIxOSwgMS4yNDc0MDI3ODcyMDg1NTcxXSwgWzE2NjM4MTI4MDcuODIxNjc4NCwgNjIzNywgMS4yMDM0NDMwNTAzODQ1MjE1XSwgWzE2NjM4MTI4MDcuOTEwMDU4MywgNjI0NiwgMS4yMTExOTg5MjU5NzE5ODQ5XSwgWzE2NjM4MTI4MDcuOTk1MTY2MywgNjI1NSwgMS4yMTM4ODY3Mzc4MjM0ODYzXSwgWzE2NjM4MTI4MDguMDg1NTUzNiwgNjI2NCwgMS4yMzI2NDMxMjc0NDE0MDYyXSwgWzE2NjM4MTI4MDguMTc3NjU0MywgNjI3MywgMS4yMDc4OTc5MDE1MzUwMzQyXSwgWzE2NjM4MTI4MDguMjczNDY5LCA2MjgyLCAxLjIyNjQzNTA2NTI2OTQ3MDJdLCBbMTY2MzgxMjgwOC40NTg4NTQyLCA2MzAwLCAxLjE4ODM5OTU1MzI5ODk1MDJdLCBbMTY2MzgxMjgwOC43NDM1OTkyLCA2MzI3LCAxLjIwNjQ4OTMyNDU2OTcwMjFdLCBbMTY2MzgxMjgwOC44NDE4NzA4LCA2MzM2LCAxLjMwMzY4MTg1MDQzMzM0OTZdLCBbMTY2MzgxMjgwOS4wMjUwNDY2LCA2MzU0LCAxLjI3MjA2NTE2MjY1ODY5MTRdLCBbMTY2MzgxMjgwOS40MTc2MjM4LCA2MzkwLCAxLjIzMDg4MTU3MTc2OTcxNDRdLCBbMTY2MzgxMjgwOS41MDU5NDgsIDYzOTksIDEuMjI3NjI2NTYyMTE4NTMwM10sIFsxNjYzODEyODA5LjY5MjcxMzUsIDY0MTcsIDEuMTk5ODUxMjc0NDkwMzU2NF0sIFsxNjYzODEyODA5Ljc4NjAwMywgNjQyNiwgMS4yNDY1MjEyMzQ1MTIzMjldLCBbMTY2MzgxMjgwOS45ODY5NzE2LCA2NDQ0LCAxLjE5NzIxMTAyNzE0NTM4NTddLCBbMTY2MzgxMjgxMC4xNzIxOTksIDY0NjIsIDEuMjg3MTA1MzIxODg0MTU1M10sIFsxNjYzODEyODEwLjM2MDMwMzksIDY0ODAsIDEuMjExMjEzNTg4NzE0NTk5Nl0sIFsxNjYzODEyODEwLjYxOTQzNSwgNjQ4OSwgMS4yMDg4MTE0MDIzMjA4NjE4XSwgWzE2NjM4MTI4MTAuNzA0OTI0LCA2NDk4LCAxLjE5NDk5NTQwMzI4OTc5NV0sIFsxNjYzODEyODEwLjg4NjMyMiwgNjUxNiwgMS4yMDY4MjQzMDI2NzMzMzk4XSwgWzE2NjM4MTI4MTAuOTgzNDI5NCwgNjUyNSwgMS4yNDUyMjYyNjM5OTk5MzldLCBbMTY2MzgxMjgxMS4wNzY0MTAzLCA2NTM0LCAxLjE5ODI3Mjk0MzQ5NjcwNF0sIFsxNjYzODEyODExLjE2NjA2MDQsIDY1NDMsIDEuMTk2MDQ5MzMyNjE4NzEzNF0sIFsxNjYzODEyODExLjI1NzYwNzcsIDY1NTIsIDEuMjIwMjg1NDE1NjQ5NDE0XSwgWzE2NjM4MTI4MTEuMzQ4MTkxLCA2NTYxLCAxLjE3Mzk5NDE4MzU0MDM0NDJdLCBbMTY2MzgxMjgxMS40Mzg5NTMsIDY1NzAsIDEuMjAzMzUwMTg2MzQ3OTYxNF0sIFsxNjYzODEyODExLjUyOTg4NCwgNjU3OSwgMS4yMTQxMDUxMjkyNDE5NDM0XSwgWzE2NjM4MTI4MTEuNjIxODYwMywgNjU4OCwgMS4yMDgzODk3NTkwNjM3MjA3XSwgWzE2NjM4MTI4MTEuNzIyOTA5MiwgNjU5NywgMS4yNDE3OTc1NjY0MTM4Nzk0XSwgWzE2NjM4MTI4MTEuODE3MDA0LCA2NjA2LCAxLjIyNDgzNTAzODE4NTExOTZdLCBbMTY2MzgxMjgxMi4wMDM4NywgNjYyNCwgMS4xODc3OTY1OTI3MTI0MDIzXSwgWzE2NjM4MTI4MTIuMjc2NTAyMSwgNjY1MSwgMS4yODc5MDE2Mzk5MzgzNTQ1XSwgWzE2NjM4MTI4MTIuMzY0Nzg2MSwgNjY2MCwgMS4yMTUwMjg0MDUxODk1MTQyXSwgWzE2NjM4MTI4MTIuNDUyNDAzNSwgNjY2OSwgMS4xOTIxMzk3NDQ3NTg2MDZdLCBbMTY2MzgxMjgxMi42NDAwNzU3LCA2Njg3LCAxLjIyMTU0NDc0MjU4NDIyODVdLCBbMTY2MzgxMjgxMi43MzE4MzA0LCA2Njk2LCAxLjIxNjY3NTg3NzU3MTEwNl0sIFsxNjYzODEyODEyLjgyNTAwODIsIDY3MDUsIDEuMjI2OTE4NTc4MTQ3ODg4Ml0sIFsxNjYzODEyODEyLjkxNTAzMzgsIDY3MTQsIDEuMjc1NDQwOTMxMzIwMTkwNF0sIFsxNjYzODEyODEzLjAwNzU3NDYsIDY3MjMsIDEuMjYwNzc0Mzc0MDA4MTc4N10sIFsxNjYzODEyODEzLjQ0NTU0NzYsIDY3NjgsIDEuMjA4NjkyNTUwNjU5MTc5N10sIFsxNjYzODEyODEzLjUzOTA0NTgsIDY3NzcsIDEuMjA1MDY2OTE5MzI2NzgyMl0sIFsxNjYzODEyODEzLjgxODMyOCwgNjgwNCwgMS4yMzAzNzY4Mzk2Mzc3NTYzXSwgWzE2NjM4MTI4MTMuOTA4MzAyMywgNjgxMywgMS4yNDE4NDg3MDcxOTkwOTY3XSwgWzE2NjM4MTI4MTQuMTI0MjAyLCA2ODMxLCAxLjE4ODQ4MzM1NzQyOTUwNDRdLCBbMTY2MzgxMjgxNC4yMTYwNCwgNjg0MCwgMS4xOTg3MDEzODE2ODMzNDk2XSwgWzE2NjM4MTI4MTQuNTgzNjgwOSwgNjg3NiwgMS4yMDU2NzY0MzY0MjQyNTU0XSwgWzE2NjM4MTI4MTQuNjc1MTI5NywgNjg4NSwgMS4xNzA1Mzk2MTc1Mzg0NTIxXSwgWzE2NjM4MTI4MTQuNzY5MjE4NCwgNjg5NCwgMS4yMDY1MzI1OTc1NDE4MDldLCBbMTY2MzgxMjgxNC45NDY2NjA1LCA2OTEyLCAxLjIyMTQ0MTE0OTcxMTYwODldLCBbMTY2MzgxMjgxNS4wNDg0OTEyLCA2OTIxLCAxLjIwMjYxOTQzMzQwMzAxNTFdLCBbMTY2MzgxMjgxNS4xNTI3NDUyLCA2OTMwLCAxLjE3Njk2NTIzNjY2MzgxODRdLCBbMTY2MzgxMjgxNS4yNDYwNTE4LCA2OTM5LCAxLjE5Nzk4NDMzNzgwNjcwMTddLCBbMTY2MzgxMjgxNS4zMzYyNTIyLCA2OTQ4LCAxLjE3OTU2NTA3MjA1OTYzMTNdLCBbMTY2MzgxMjgxNS40MzEyMTE3LCA2OTU3LCAxLjE3OTYwNzUxMDU2NjcxMTRdLCBbMTY2MzgxMjgxNS41MTk3ODk1LCA2OTY2LCAxLjI1MDEwMTMyNzg5NjExODJdLCBbMTY2MzgxMjgxNS43MDgxNDM1LCA2OTg0LCAxLjM5ODA3NTgxOTAxNTUwM10sIFsxNjYzODEyODE1Ljc5Nzk5MjIsIDY5OTMsIDEuMjU5NTcwMjQwOTc0NDI2M10sIFsxNjYzODEyODE1Ljg4Njg1NSwgNzAwMiwgMS4xODI0MzAyNjczMzM5ODQ0XSwgWzE2NjM4MTI4MTUuOTc4MTg5NywgNzAxMSwgMS4xODk2MzExMDQ0NjkyOTkzXSwgWzE2NjM4MTI4MTYuMDY4MzEzNCwgNzAyMCwgMS4yMTQ0OTIyMDE4MDUxMTQ3XSwgWzE2NjM4MTI4MTYuMTY4MDQ2MiwgNzAyOSwgMS4xNjQ4OTY0ODgxODk2OTczXSwgWzE2NjM4MTI4MTYuMjY2OTczMywgNzAzOCwgMS4xNzE3MzI3ODMzMTc1NjZdLCBbMTY2MzgxMjgxNi4zNTY3NTcyLCA3MDQ3LCAxLjE2NzEyNjg5Mzk5NzE5MjRdLCBbMTY2MzgxMjgxNi40NDU0NTksIDcwNTYsIDEuMjA1MzA5MTUyNjAzMTQ5NF0sIFsxNjYzODEyODE2LjcyNDc2MzIsIDcwODMsIDEuMTc0ODQzNDMwNTE5MTA0XSwgWzE2NjM4MTI4MTYuOTA3MTA3LCA3MTAxLCAxLjE2MDk3NzI0NDM3NzEzNjJdLCBbMTY2MzgxMjgxNi45OTkyMjgyLCA3MTEwLCAxLjIxMDkyMjk1NjQ2NjY3NDhdLCBbMTY2MzgxMjgxNy4xODYxMzc0LCA3MTI4LCAxLjIzNTAyMTk0ODgxNDM5Ml0sIFsxNjYzODEyODE3LjM4NDU5MTYsIDcxNDYsIDEuMjUzOTU5NDE3MzQzMTM5Nl0sIFsxNjYzODEyODE3LjQ4MjUzNTQsIDcxNTUsIDEuMTU4MzIxNzM4MjQzMTAzXSwgWzE2NjM4MTI4MTcuNTc2NTA2NCwgNzE2NCwgMS4xNzA5OTY0Mjc1MzYwMTA3XSwgWzE2NjM4MTI4MTcuNjY5MDIsIDcxNzMsIDEuMTYxMDM3NjgzNDg2OTM4NV0sIFsxNjYzODEyODE3Ljc5MDU0MjgsIDcxODIsIDEuMTgyOTA1NzkzMTkwMDAyNF0sIFsxNjYzODEyODE3Ljk3NDU1NTcsIDcyMDAsIDEuMjIxMjg1OTM5MjE2NjEzOF0sIFsxNjYzODEyODE4LjA2OTY3NTcsIDcyMDksIDEuMjEzMjI5MDYwMTczMDM0N10sIFsxNjYzODEyODE4LjQ0MDYyMTEsIDcyNDUsIDEuMTgxNTEwNTY3NjY1MV0sIFsxNjYzODEyODE4LjUzMjE3MywgNzI1NCwgMS4xNzM3NTc3OTE1MTkxNjVdLCBbMTY2MzgxMjgxOC42MjQ4MjYsIDcyNjMsIDEuMjAwODc0MjA5NDAzOTkxN10sIFsxNjYzODEyODE4LjcxODU0NTIsIDcyNzIsIDEuMTYzMjQ2NzUwODMxNjA0XSwgWzE2NjM4MTI4MTguODIwMDQ4MywgNzI4MSwgMS4xODI2MzYzODAxOTU2MTc3XSwgWzE2NjM4MTI4MTkuMjc3NjUsIDcyOTksIDEuMjI3OTQ1Njg1Mzg2NjU3N10sIFsxNjYzODEyODE5LjM4Mzk4MywgNzMwOCwgMS4xODUzNjE2MjM3NjQwMzhdLCBbMTY2MzgxMjgxOS41NjY0Mzk0LCA3MzI2LCAxLjEzODYyMzk1Mjg2NTYwMDZdLCBbMTY2MzgxMjgxOS42NjA2MjM2LCA3MzM1LCAxLjIxMTgxMDU4ODgzNjY3XSwgWzE2NjM4MTI4MTkuOTM3NDI3OCwgNzM2MiwgMS4xOTM2NzY3MTAxMjg3ODQyXSwgWzE2NjM4MTI4MjAuMDI3ODg3OCwgNzM3MSwgMS4yMjU5MjM3NzY2MjY1ODddLCBbMTY2MzgxMjgyMC4xMTU4MzA0LCA3MzgwLCAxLjE4MDU1MTg4NjU1ODUzMjddLCBbMTY2MzgxMjgyMC4yMDIyNzUzLCA3Mzg5LCAxLjE3MTU5NDM4MTMzMjM5NzVdLCBbMTY2MzgxMjgyMC4yOTExOTI4LCA3Mzk4LCAxLjIzMDU0MzYxMzQzMzgzOF0sIFsxNjYzODEyODIwLjM4NjExNDYsIDc0MDcsIDEuMjMzMzQyNDA5MTMzOTExMV0sIFsxNjYzODEyODIwLjQ5MTExNzUsIDc0MTYsIDEuMjI4MjIyMDEyNTE5ODM2NF0sIFsxNjYzODEyODIwLjU5ODc4NDIsIDc0MjUsIDEuMTg1NjU5NjQ2OTg3OTE1XSwgWzE2NjM4MTI4MjAuNjk1OTkwNiwgNzQzNCwgMS4xNjQ2NzMwODk5ODEwNzldLCBbMTY2MzgxMjgyMC43ODc3NTc2LCA3NDQzLCAxLjE1NzcwMjMyNjc3NDU5NzJdLCBbMTY2MzgxMjgyMC44Nzk4NjY0LCA3NDUyLCAxLjE4MDk2ODUyMzAyNTUxMjddLCBbMTY2MzgxMjgyMC45NjkxNjc1LCA3NDYxLCAxLjE4NjU3NTA1NTEyMjM3NTVdLCBbMTY2MzgxMjgyMS4xNDg5NCwgNzQ3OSwgMS4xNjM5MTk4MDY0ODA0MDc3XSwgWzE2NjM4MTI4MjEuMzM5MDIyOSwgNzQ5NywgMS4xNDI4ODI1ODU1MjU1MTI3XSwgWzE2NjM4MTI4MjEuNDMwNTA4NiwgNzUwNiwgMS4xOTc1NzY1MjI4MjcxNDg0XSwgWzE2NjM4MTI4MjEuNjE5MDMsIDc1MjQsIDEuMTc5NTM1NjI3MzY1MTEyM10sIFsxNjYzODEyODIxLjcxMjUyLCA3NTMzLCAxLjE0OTA5MTcyMDU4MTA1NDddLCBbMTY2MzgxMjgyMS44Mzk5NDEzLCA3NTQyLCAxLjEzNzI5MjUwNDMxMDYwOF0sIFsxNjYzODEyODIyLjA1MDk5MTgsIDc1NjAsIDEuMjI1ODE1NzczMDEwMjU0XSwgWzE2NjM4MTI4MjIuMTYzNTcxNiwgNzU2OSwgMS4xOTcyMTg2NTY1Mzk5MTddLCBbMTY2MzgxMjgyMi4zNTA2MTIyLCA3NTg3LCAxLjEzOTkxNjc3NzYxMDc3ODhdLCBbMTY2MzgxMjgyMi40NDQ1NjMsIDc1OTYsIDEuMTY0Mzc3NDUwOTQyOTkzMl0sIFsxNjYzODEyODIyLjYzNTAxMDIsIDc2MTQsIDEuMTY5NTEwMjQ1MzIzMTgxMl0sIFsxNjYzODEyODIyLjg4NjM1NzgsIDc2MzIsIDEuMTk3MDAyODg3NzI1ODNdLCBbMTY2MzgxMjgyMy4xOTA0MzcsIDc2NTksIDEuMTkxMTIzOTYyNDAyMzQzOF0sIFsxNjYzODEyODIzLjI4NTA1OCwgNzY2OCwgMS4xOTA5MTI0ODUxMjI2ODA3XSwgWzE2NjM4MTI4MjMuNTgzMDE4OCwgNzY5NSwgMS4xNjcyOTg5MTMwMDIwMTQyXSwgWzE2NjM4MTI4MjMuNzg5ODUyNCwgNzcxMywgMS4xODYzMTA3NjgxMjc0NDE0XSwgWzE2NjM4MTI4MjMuODkzMzQwOCwgNzcyMiwgMS4yMDE4MzAyNjc5MDYxODldLCBbMTY2MzgxMjgyNC4wMjI2NzUzLCA3NzMxLCAxLjE5NjY4NTU1MjU5NzA0Nl0sIFsxNjYzODEyODI0LjIxMDg4MywgNzc0OSwgMS4xNzY1OTE3NTM5NTk2NTU4XSwgWzE2NjM4MTI4MjQuMzAyMjgwMiwgNzc1OCwgMS4yMjg1MTg2MDUyMzIyMzg4XSwgWzE2NjM4MTI4MjQuMzkxODM4MywgNzc2NywgMS4yODgxMjMxMzA3OTgzMzk4XSwgWzE2NjM4MTI4MjQuNjkyNzI4LCA3Nzk0LCAxLjI3MDk3NTExMjkxNTAzOV0sIFsxNjYzODEyODI0Ljc5MTk3MDcsIDc4MDMsIDEuMjI4ODY5MTk5NzUyODA3Nl0sIFsxNjYzODEyODI0Ljk3MzkwNjgsIDc4MjEsIDEuMTQxMTE0MTE1NzE1MDI2OV0sIFsxNjYzODEyODI1LjE1OTA2NTIsIDc4MzksIDEuMTQ4NzI5MDg1OTIyMjQxMl0sIFsxNjYzODEyODI1LjI1Njg3MjQsIDc4NDgsIDEuMjAzMTk2NzYzOTkyMzA5Nl0sIFsxNjYzODEyODI1LjUyOTYwNywgNzg3NSwgMS4xNjgzODQzMTM1ODMzNzRdLCBbMTY2MzgxMjgyNS43MjI2OTc1LCA3ODkzLCAxLjMwNjY5OTM5NTE3OTc0ODVdLCBbMTY2MzgxMjgyNS44MjQ3OTEsIDc5MDIsIDEuMjQ4NDMyNjM2MjYwOTg2M10sIFsxNjYzODEyODI1LjkxODc4NSwgNzkxMSwgMS4xOTg3OTYyNzIyNzc4MzJdLCBbMTY2MzgxMjgyNi4xNDM3MjU2LCA3OTI5LCAxLjE0NTYzNzk4OTA0NDE4OTVdLCBbMTY2MzgxMjgyNi4yMzY5NjgzLCA3OTM4LCAxLjEzMDUyNzg1Mzk2NTc1OTNdLCBbMTY2MzgxMjgyNi4zMjg3NDcsIDc5NDcsIDEuMjEwMzA0MTQxMDQ0NjE2N10sIFsxNjYzODEyODI2LjQxOTQzODgsIDc5NTYsIDEuMjQ2OTYyNzg1NzIwODI1Ml0sIFsxNjYzODEyODI2LjUxMTk2OSwgNzk2NSwgMS4yNjEzNjAwNDkyNDc3NDE3XSwgWzE2NjM4MTI4MjYuNjA4MTQ1NywgNzk3NCwgMS4xOTg3NDM1ODE3NzE4NTA2XSwgWzE2NjM4MTI4MjYuNjk5NjM1NywgNzk4MywgMS4yMDI4Mjg4ODQxMjQ3NTU5XSwgWzE2NjM4MTI4MjYuNzk3NTc1NSwgNzk5MiwgMS4xODExMzE3MjA1NDI5MDc3XSwgWzE2NjM4MTI4MjYuODk3NzIyNywgODAwMSwgMS4xNzY4NTIxMDcwNDgwMzQ3XSwgWzE2NjM4MTI4MjYuOTg4NTM1NiwgODAxMCwgMS4yMTI2NjE3NDMxNjQwNjI1XSwgWzE2NjM4MTI4MjcuMDc5NTMxNywgODAxOSwgMS4xNTI0NzAxMTE4NDY5MjM4XSwgWzE2NjM4MTI4MjcuMjU5MzU0LCA4MDM3LCAxLjIyMjE1NjA0NzgyMTA0NV0sIFsxNjYzODEyODI3LjM0ODYzMDIsIDgwNDYsIDEuMjA1OTQwMDA4MTYzNDUyMV0sIFsxNjYzODEyODI3LjUyNjg3NzIsIDgwNjQsIDEuMTU0NTU5MTM1NDM3MDExN10sIFsxNjYzODEyODI3Ljg3NTUyNiwgODA4MiwgMS4xNDQ0NzQ4NjQwMDYwNDI1XSwgWzE2NjM4MTI4MjcuOTYzNDEzNywgODA5MSwgMS4yMzgxMDM4NjY1NzcxNDg0XSwgWzE2NjM4MTI4MjguMjMwNjM1MiwgODExOCwgMS4xNTIzNDM4NjkyMDkyODk2XSwgWzE2NjM4MTI4MjguMzE5NzEyNCwgODEyNywgMS4xNzkzOTM4ODc1MTk4MzY0XSwgWzE2NjM4MTI4MjguNTAwMDc1NiwgODE0NSwgMS4xNjUwMjk4ODMzODQ3MDQ2XSwgWzE2NjM4MTI4MjguNTkwMzg3MywgODE1NCwgMS4xODI4NTA5NTY5MTY4MDldLCBbMTY2MzgxMjgyOC42OTI0NTM5LCA4MTYzLCAxLjE0NzY4NjYwMDY4NTExOTZdLCBbMTY2MzgxMjgyOC43ODk3Mjk4LCA4MTcyLCAxLjE1NTQ5MzI1OTQyOTkzMTZdLCBbMTY2MzgxMjgyOC44Nzg5NTMsIDgxODEsIDEuMTI5NzU5NDMwODg1MzE1XSwgWzE2NjM4MTI4MjkuMDk5MjgzLCA4MTk5LCAxLjEzODUwOTg2OTU3NTUwMDVdLCBbMTY2MzgxMjgyOS4xOTQzMDcsIDgyMDgsIDEuMTMxMTY0NjY5OTkwNTM5Nl0sIFsxNjYzODEyODI5LjM3OTk4LCA4MjI2LCAxLjE4MzQ4NDMxNTg3MjE5MjRdLCBbMTY2MzgxMjgyOS40Njg4OCwgODIzNSwgMS4xNzYwMTk5MDY5OTc2ODA3XSwgWzE2NjM4MTI4MjkuNjg2NDY0OCwgODI1MywgMS4xNzAzNTk3MzA3MjA1Ml0sIFsxNjYzODEyODI5Ljc4MDkxOTYsIDgyNjIsIDEuMTI0MzEwMzc0MjU5OTQ4N10sIFsxNjYzODEyODI5Ljg4MDcwNjMsIDgyNzEsIDEuMTM3MDIzNDQ4OTQ0MDkxOF0sIFsxNjYzODEyODI5Ljk4MjY1NzIsIDgyODAsIDEuMTQ3NjQ3MTQyNDEwMjc4M10sIFsxNjYzODEyODMwLjA5MTM2NTMsIDgyODksIDEuMTgzNjg0NTg3NDc4NjM3N10sIFsxNjYzODEyODMwLjE5NTAxNTIsIDgyOTgsIDEuMTg5Mzc5NjkyMDc3NjM2N10sIFsxNjYzODEyODMwLjMwMTY3MDMsIDgzMDcsIDEuMTgxNTEzOTA1NTI1MjA3NV0sIFsxNjYzODEyODMwLjQxMDgzNSwgODMxNiwgMS4xNDQ0NDMwMzUxMjU3MzI0XSwgWzE2NjM4MTI4MzAuODE4NzczLCA4MzUyLCAxLjE1MjQxODczMjY0MzEyNzRdLCBbMTY2MzgxMjgzMC45MTU3MzM2LCA4MzYxLCAxLjE0Mzc0Mjc5OTc1ODkxMTFdLCBbMTY2MzgxMjgzMS4wMjE0NjcsIDgzNzAsIDEuMTYxMDg2MjAxNjY3Nzg1Nl0sIFsxNjYzODEyODMxLjExODgzNiwgODM3OSwgMS4yMTgyODEwMzA2NTQ5MDcyXSwgWzE2NjM4MTI4MzEuMjEzNDk4NiwgODM4OCwgMS4xODQ4MDY4MjM3MzA0Njg4XSwgWzE2NjM4MTI4MzEuMzA4MTI5NSwgODM5NywgMS4xNjgwNzMwNTgxMjgzNTddLCBbMTY2MzgxMjgzMS40MDI0ODAxLCA4NDA2LCAxLjIxMDQ1Njg0ODE0NDUzMTJdLCBbMTY2MzgxMjgzMS40OTc1MjQsIDg0MTUsIDEuMjAxMzE5Njk0NTE5MDQzXSwgWzE2NjM4MTI4MzEuNTk5OTE5OCwgODQyNCwgMS4xODQ0Nzk1OTQyMzA2NTE5XSwgWzE2NjM4MTI4MzIuMDIwOTI2LCA4NDYwLCAxLjIyMTYzNjUzMzczNzE4MjZdLCBbMTY2MzgxMjgzMi4xMjQ4MDE5LCA4NDY5LCAxLjIyMTExMjYwODkwOTYwN10sIFsxNjYzODEyODMyLjIyNzQyMTgsIDg0NzgsIDEuMjA3MTU3NjExODQ2OTIzOF0sIFsxNjYzODEyODMyLjMxODcxNzcsIDg0ODcsIDEuMTY2NjA5Mjg3MjYxOTYzXSwgWzE2NjM4MTI4MzIuNTk5NzA4MywgODUxNCwgMS4xNjY1MjQ1Mjk0NTcwOTIzXSwgWzE2NjM4MTI4MzIuNzAxMTM1NiwgODUyMywgMS4yMTEyMTM4MjcxMzMxNzg3XSwgWzE2NjM4MTI4MzIuNzk3MTU5MiwgODUzMiwgMS4zMTI4ODM4NTM5MTIzNTM1XSwgWzE2NjM4MTI4MzIuOTc5ODgyMiwgODU1MCwgMS4zNDAwNzUzNzM2NDk1OTcyXSwgWzE2NjM4MTI4MzMuMDcxODM2NSwgODU1OSwgMS4yOTM0Njc3NjAwODYwNTk2XSwgWzE2NjM4MTI4MzMuMjYzMTQ4MywgODU3NywgMS4yMzMwODc2NTg4ODIxNDExXSwgWzE2NjM4MTI4MzMuNDQ4NDg2NiwgODU5NSwgMS4xODk0NjY0NzY0NDA0Mjk3XSwgWzE2NjM4MTI4MzMuNTQ0NjQwNSwgODYwNCwgMS4xNTk0OTMyMDc5MzE1MTg2XSwgWzE2NjM4MTI4MzMuNjQwNzI0NCwgODYxMywgMS4xMTk4NzM1MjM3MTIxNTgyXSwgWzE2NjM4MTI4MzMuODkzMDc5MywgODY0MCwgMS4xOTg4MzEyMDA1OTk2NzA0XSwgWzE2NjM4MTI4MzMuOTc4OTYxLCA4NjQ5LCAxLjE5NjM3Mjc0NzQyMTI2NDZdLCBbMTY2MzgxMjgzNC4wNzEwNTUyLCA4NjU4LCAxLjEzOTAwMjkxOTE5NzA4MjVdLCBbMTY2MzgxMjgzNC4xNjU1MDAyLCA4NjY3LCAxLjEzMjU4ODM4NjUzNTY0NDVdLCBbMTY2MzgxMjgzNC4yNzM1OTAzLCA4Njc2LCAxLjE3NjIyMzYzNTY3MzUyM10sIFsxNjYzODEyODM0LjM2MjY0ODIsIDg2ODUsIDEuMjAwNTIxNTg4MzI1NTAwNV0sIFsxNjYzODEyODM0LjQ1Mzk2MzUsIDg2OTQsIDEuMTU4OTk3Mjk3Mjg2OTg3M10sIFsxNjYzODEyODM0LjY0NTYzNiwgODcxMiwgMS4xNDYzMDAxOTY2NDc2NDRdLCBbMTY2MzgxMjgzNC43MzM3NDIsIDg3MjEsIDEuMTMxNjk0OTEyOTEwNDYxNF0sIFsxNjYzODEyODM1LjAxMTQ0LCA4NzQ4LCAxLjEzOTY3NjA5NDA1NTE3NThdLCBbMTY2MzgxMjgzNS4xMDI5MTM0LCA4NzU3LCAxLjE1NzYxNjYxNTI5NTQxMDJdLCBbMTY2MzgxMjgzNS40NzI1MzYsIDg3OTMsIDEuMjIwNzMzODgwOTk2NzA0XSwgWzE2NjM4MTI4MzUuNjU0NzkyOCwgODgxMSwgMS4xMjg2Mjg5NjkxOTI1MDQ5XSwgWzE2NjM4MTI4MzUuNzQ5MjgyNiwgODgyMCwgMS4xNTI4MjkyODk0MzYzNDAzXSwgWzE2NjM4MTI4MzUuODM4MTE3NCwgODgyOSwgMS4xMTgyNTQzMDM5MzIxOV0sIFsxNjYzODEyODM1LjkyODQxMDUsIDg4MzgsIDEuMTU4NjAwNjg3OTgwNjUxOV0sIFsxNjYzODEyODM2LjAyMjUxOTYsIDg4NDcsIDEuMTM4NTUzNjE5Mzg0NzY1Nl0sIFsxNjYzODEyODM2LjExMjE1MiwgODg1NiwgMS4xNjI1MDA1MDA2NzkwMTYxXSwgWzE2NjM4MTI4MzYuNTQ4MDI4NSwgODg4MywgMS4xNzAxODI3MDQ5MjU1MzddLCBbMTY2MzgxMjgzNi42MzkyNjg2LCA4ODkyLCAxLjE3Mjk5MjgyNTUwODExNzddLCBbMTY2MzgxMjgzNi43NDE5MjI5LCA4OTAxLCAxLjE3ODczOTMwOTMxMDkxM10sIFsxNjYzODEyODM2LjgzMDE1MjgsIDg5MTAsIDEuMjE3NTk1ODE1NjU4NTY5M10sIFsxNjYzODEyODM2LjkyMDQ5NjUsIDg5MTksIDEuMTQ4OTgxMDk0MzYwMzUxNl0sIFsxNjYzODEyODM3LjEwNTY3OCwgODkzNywgMS4xMTQyNjQ5NjUwNTczNzNdLCBbMTY2MzgxMjgzNy4yODkyNSwgODk1NSwgMS4xMjA1MjM1NzE5NjgwNzg2XSwgWzE2NjM4MTI4MzcuMzkxNTM2NywgODk2NCwgMS4xNzYwMTQzMDQxNjEwNzE4XSwgWzE2NjM4MTI4MzcuNDg3NTkxNSwgODk3MywgMS4yMDMyMjcwNDMxNTE4NTU1XSwgWzE2NjM4MTI4MzcuNjc0NjU5NywgODk5MSwgMS4xNTQ0MDg1NzQxMDQzMDldLCBbMTY2MzgxMjgzNy43Njk1MTc0LCA5MDAwLCAxLjEzODM1MDcyNTE3Mzk1MDJdLCBbMTY2MzgxMjgzNy44NTk1MzE0LCA5MDA5LCAxLjE1MTI4MjU0ODkwNDQxOV0sIFsxNjYzODEyODM3Ljk0NzY2NzQsIDkwMTgsIDEuMTM1MjQyNDYyMTU4MjAzMV0sIFsxNjYzODEyODM4LjA0MTM2NTEsIDkwMjcsIDEuMTQzMTk5NjgyMjM1NzE3OF0sIFsxNjYzODEyODM4LjEzMDU2NywgOTAzNiwgMS4xMzA1Mzc4Njc1NDYwODE1XSwgWzE2NjM4MTI4MzguMjIzNTAyOSwgOTA0NSwgMS4xMzQ5MjE3ODkxNjkzMTE1XSwgWzE2NjM4MTI4MzguMzE0MDY2MiwgOTA1NCwgMS4xMjU4MjE1OTA0MjM1ODRdLCBbMTY2MzgxMjgzOC40MDMyNjc2LCA5MDYzLCAxLjEzOTUyMTM2MDM5NzMzODldLCBbMTY2MzgxMjgzOC41MDUyMjE4LCA5MDcyLCAxLjEzMjIxMDg1MDcxNTYzNzJdLCBbMTY2MzgxMjgzOC44NzA1NTgsIDkxMDgsIDEuMTQ0NDY1OTIzMzA5MzI2Ml0sIFsxNjYzODEyODM5LjA1NzU4MTQsIDkxMjYsIDEuMTIwMDAxNDM1Mjc5ODQ2Ml0sIFsxNjYzODEyODM5LjE0ODc2NzUsIDkxMzUsIDEuMTA0Mzk1MjcwMzQ3NTk1Ml0sIFsxNjYzODEyODM5LjIzNjEzMSwgOTE0NCwgMS4xMTM2MzE4NDQ1MjA1Njg4XSwgWzE2NjM4MTI4MzkuMzI5OTMzNCwgOTE1MywgMS4xMzAwMTgzNTM0NjIyMTkyXSwgWzE2NjM4MTI4MzkuNDE4MDIxNCwgOTE2MiwgMS4xNDUyNDM4ODMxMzI5MzQ2XSwgWzE2NjM4MTI4MzkuNzExNTg2NywgOTE4OSwgMS4xNDMwODk4OTA0ODAwNDE1XSwgWzE2NjM4MTI4MzkuODk2ODEzNCwgOTIwNywgMS4xMzEyMTYxNjg0MDM2MjU1XSwgWzE2NjM4MTI4NDAuMjU3Mzk1NywgOTI0MywgMS4xMTgwMDc4OTgzMzA2ODg1XSwgWzE2NjM4MTI4NDAuNDQ3NjI3OCwgOTI2MSwgMS4xMjEzODg3OTI5OTE2MzgyXSwgWzE2NjM4MTI4NDAuNTUzNTY2NSwgOTI3MCwgMS4yMTM4ODAwNjIxMDMyNzE1XSwgWzE2NjM4MTI4NDAuNzQ0MzM0LCA5Mjg4LCAxLjEyNzY4ODI4ODY4ODY1OTddLCBbMTY2MzgxMjg0MS4xNjY3ODQ1LCA5MzI0LCAxLjE3MDM4NzI2ODA2NjQwNjJdLCBbMTY2MzgxMjg0MS4yNjU5NTk1LCA5MzMzLCAxLjIyMjUyMjQ5NzE3NzEyNF0sIFsxNjYzODEyODQxLjM2OTQxMSwgOTM0MiwgMS4yOTYwNjgwNzIzMTkwMzA4XSwgWzE2NjM4MTI4NDEuNDY4ODI0MSwgOTM1MSwgMS4xNjI1OTM3MjIzNDM0NDQ4XSwgWzE2NjM4MTI4NDEuNTcxNDkzNCwgOTM2MCwgMS4xNDk2MzcyMjIyOTAwMzldLCBbMTY2MzgxMjg0MS45NTY0NzY3LCA5Mzk2LCAxLjE3NjcxNTg1MDgzMDA3ODFdLCBbMTY2MzgxMjg0Mi4xNDYzODUsIDk0MTQsIDEuMTMzNjQwNDA4NTE1OTMwMl0sIFsxNjYzODEyODQyLjIzODE5MTgsIDk0MjMsIDEuMTM3MTg3MjQyNTA3OTM0Nl0sIFsxNjYzODEyODQyLjQyMTUwNTIsIDk0NDEsIDEuMTMzNDQ0OTA1MjgxMDY3XSwgWzE2NjM4MTI4NDIuNTEwNjQ1LCA5NDUwLCAxLjExODA3MTkxMzcxOTE3NzJdLCBbMTY2MzgxMjg0Mi44MDc0ODQ5LCA5NDc3LCAxLjEzNTg5Mjk4NzI1MTI4MTddLCBbMTY2MzgxMjg0Mi44OTY1OTE0LCA5NDg2LCAxLjE0MjQ2OTA0ODUwMDA2MV0sIFsxNjYzODEyODQyLjk4ODUxMSwgOTQ5NSwgMS4xOTgyNzQ2MTI0MjY3NTc4XSwgWzE2NjM4MTI4NDMuMTg3MTUyOSwgOTUxMywgMS4yNTM2MTQ5MDI0OTYzMzhdLCBbMTY2MzgxMjg0My4zNzk3Mzg2LCA5NTMxLCAxLjIyNDAxNzI2MjQ1ODgwMTNdLCBbMTY2MzgxMjg0My40Njg4ODIsIDk1NDAsIDEuMjA2MDQ3ODkyNTcwNDk1Nl0sIFsxNjYzODEyODQzLjU1ODQ1MTcsIDk1NDksIDEuMjA5MTE4NzIzODY5MzIzN10sIFsxNjYzODEyODQzLjc1MTMzOTQsIDk1NjcsIDEuMTI4NDgxNzQ1NzE5OTA5N10sIFsxNjYzODEyODQzLjg0MDYxODgsIDk1NzYsIDEuMTYyNjI4NzY5ODc0NTcyOF0sIFsxNjYzODEyODQ0LjAyNjY3NDMsIDk1OTQsIDEuMTIwNTc2MTQzMjY0NzcwNV0sIFsxNjYzODEyODQ0LjEyMTM2MzQsIDk2MDMsIDEuMTcyNTIxOTQ4ODE0MzkyXSwgWzE2NjM4MTI4NDQuMjE0NzkyNSwgOTYxMiwgMS4xMjc1MjA3OTk2MzY4NDA4XSwgWzE2NjM4MTI4NDQuNDM4ODYxMSwgOTYzMCwgMS4xMTQ5MTYwODYxOTY4OTk0XSwgWzE2NjM4MTI4NDQuNTMwMjQxNSwgOTYzOSwgMS4xMDg4MDE3MjI1MjY1NTAzXSwgWzE2NjM4MTI4NDQuNjMwODE5LCA5NjQ4LCAxLjA4Njk1ODY0Njc3NDI5Ml0sIFsxNjYzODEyODQ0LjcyNDYxMzIsIDk2NTcsIDEuMTIyNTMwNjk4Nzc2MjQ1MV0sIFsxNjYzODEyODQ0LjgyMjA0MSwgOTY2NiwgMS4xODM0MjM4NzY3NjIzOTAxXSwgWzE2NjM4MTI4NDUuMDc2NDA4OSwgOTY3NSwgMS4yMTc2NTU4OTcxNDA1MDNdLCBbMTY2MzgxMjg0NS4zMzk2MTY1LCA5NzAyLCAxLjE4NzM5MjM1NDAxMTUzNTZdLCBbMTY2MzgxMjg0NS40MjY3MDEzLCA5NzExLCAxLjE1OTg1MjI2NjMxMTY0NTVdLCBbMTY2MzgxMjg0NS42MDQ0NTIxLCA5NzI5LCAxLjIxODk4NDAwNzgzNTM4ODJdLCBbMTY2MzgxMjg0NS43MDQwMTAyLCA5NzM4LCAxLjE2MDAzNTQ5MDk4OTY4NV0sIFsxNjYzODEyODQ1Ljc5ODkxMjgsIDk3NDcsIDEuMTYwMTQxMjI5NjI5NTE2Nl0sIFsxNjYzODEyODQ1LjkwMjk0OTgsIDk3NTYsIDEuMjQzMjU4ODMzODg1MTkyOV0sIFsxNjYzODEyODQ2LjA4NzcxNzUsIDk3NzQsIDEuMTY5MTk4MDM2MTkzODQ3N10sIFsxNjYzODEyODQ2LjE3OTcwMTMsIDk3ODMsIDEuMjE5NTI4OTEzNDk3OTI0OF0sIFsxNjYzODEyODQ2LjI3MzI0OSwgOTc5MiwgMS4xOTEwMTI4NTkzNDQ0ODI0XSwgWzE2NjM4MTI4NDYuMzY0Mzg1OCwgOTgwMSwgMS4yMjY4MTg1NjE1NTM5NTVdLCBbMTY2MzgxMjg0Ni42MzU1ODQ4LCA5ODI4LCAxLjEzNDM5OTA1NjQzNDYzMTNdLCBbMTY2MzgxMjg0Ni43Mjk4MjI0LCA5ODM3LCAxLjE1NzcwNDExNDkxMzk0MDRdLCBbMTY2MzgxMjg0Ni44MTc2OTE2LCA5ODQ2LCAxLjIwOTEzMjU1MjE0NjkxMTZdLCBbMTY2MzgxMjg0Ny4yNjk2ODY1LCA5ODkxLCAxLjEyODQ4MzE3NjIzMTM4NDNdLCBbMTY2MzgxMjg0Ny40NDY4NTYzLCA5OTA5LCAxLjE2OTAxNTc2NTE5MDEyNDVdLCBbMTY2MzgxMjg0Ny42MzE1MDM4LCA5OTI3LCAxLjEyMjY1NTI3MjQ4MzgyNTddLCBbMTY2MzgxMjg0Ny43MjA5ODQ1LCA5OTM2LCAxLjExODg0NDM4OTkxNTQ2NjNdLCBbMTY2MzgxMjg0Ny44MTEzOTA0LCA5OTQ1LCAxLjEyNzUzMTUyODQ3MjkwMDRdLCBbMTY2MzgxMjg0OC4wOTYyNjksIDk5NzIsIDEuMTMyOTE0MDY2MzE0Njk3M10sIFsxNjYzODEyODQ4LjE4ODc4MTMsIDk5ODEsIDEuMTU4MjkwNjI0NjE4NTMwM10sIFsxNjYzODEyODQ4LjI4MDI2NDYsIDk5OTAsIDEuMTM3MzQwMDY4ODE3MTM4N10sIFsxNjYzODEyODQ4LjM3Mzg3NDcsIDk5OTksIDEuMTg1OTE2NDIzNzk3NjA3NF0sIFsxNjYzODEyODQ4LjQ2NDE2OTUsIDEwMDA4LCAxLjE0ODA3MTUyNzQ4MTA3OV0sIFsxNjYzODEyODQ4LjU1MzYyMDYsIDEwMDE3LCAxLjE2OTc4MDAxNTk0NTQzNDZdLCBbMTY2MzgxMjg0OC42NDMwMTU2LCAxMDAyNiwgMS4xOTAwNDAzNDk5NjAzMjcxXSwgWzE2NjM4MTI4NDguNzMxNDUyMiwgMTAwMzUsIDEuMTc0ODU5NzYyMTkxNzcyNV0sIFsxNjYzODEyODQ4LjkxMDE4MjcsIDEwMDUzLCAxLjEyMjgzNzA2NjY1MDM5MDZdLCBbMTY2MzgxMjg0OS4wMDQ3ODQzLCAxMDA2MiwgMS4xMjQ1NDg1NTQ0MjA0NzEyXSwgWzE2NjM4MTI4NDkuMTkwMTM0OCwgMTAwODAsIDEuMTkwMzMxODE2NjczMjc4OF0sIFsxNjYzODEyODQ5LjI4MDcwMzMsIDEwMDg5LCAxLjIwMDI1NzE4MjEyMTI3NjldLCBbMTY2MzgxMjg0OS4zODM3MTksIDEwMDk4LCAxLjE4NTA1OTE4OTc5NjQ0NzhdLCBbMTY2MzgxMjg0OS40Nzk1NDEzLCAxMDEwNywgMS4yMjg3MjEwMjI2MDU4OTZdLCBbMTY2MzgxMjg0OS43NTk1MjcyLCAxMDEzNCwgMS4xNDczNDMzOTcxNDA1MDNdLCBbMTY2MzgxMjg0OS44NDkyNTcyLCAxMDE0MywgMS4xMjQzMTkzMTQ5NTY2NjVdLCBbMTY2MzgxMjg1MC4wNDA2MTI1LCAxMDE2MSwgMS4xNTI4ODk4NDc3NTU0MzIxXSwgWzE2NjM4MTI4NTAuMTM5ODQ0MiwgMTAxNzAsIDEuMTQ0OTc3NTY5NTgwMDc4MV0sIFsxNjYzODEyODUwLjIyODU4MjYsIDEwMTc5LCAxLjEzODYwMzQ0ODg2Nzc5NzldLCBbMTY2MzgxMjg1MC4zMTg0Njg2LCAxMDE4OCwgMS4xNDA3MTExODgzMTYzNDUyXSwgWzE2NjM4MTI4NTAuNDA3Njc3NCwgMTAxOTcsIDEuMTgwNjA5OTQxNDgyNTQ0XSwgWzE2NjM4MTI4NTAuNTAwNDEsIDEwMjA2LCAxLjE2MzQ0MzY4NDU3Nzk0Ml0sIFsxNjYzODEyODUwLjU5NzMxNDYsIDEwMjE1LCAxLjE2OTAxOTEwMzA1MDIzMl0sIFsxNjYzODEyODUwLjY4Nzg5NTgsIDEwMjI0LCAxLjE0NzcwOTI1MDQ1MDEzNDNdLCBbMTY2MzgxMjg1MC43NzQ4NjM3LCAxMDIzMywgMS4xMDAzNTUyNjc1MjQ3MTkyXSwgWzE2NjM4MTI4NTAuODYxNDkxLCAxMDI0MiwgMS4xMjkxNjQ5MzQxNTgzMjUyXSwgWzE2NjM4MTI4NTEuMDQ3NjU3NywgMTAyNjAsIDEuMTc1NTM2OTkwMTY1NzEwNF0sIFsxNjYzODEyODUxLjE1MTM5OTEsIDEwMjY5LCAxLjExMDI3NDU1MzI5ODk1MDJdLCBbMTY2MzgxMjg1MS4zNDQ0NDQ1LCAxMDI4NywgMS4xNjYyNjM0NjExMTI5NzZdLCBbMTY2MzgxMjg1MS40MzY3ODcsIDEwMjk2LCAxLjEzMDk5MDk4MjA1NTY2NF0sIFsxNjYzODEyODUxLjYxNDE3NTMsIDEwMzE0LCAxLjEyNDMwNDg5MDYzMjYyOTRdLCBbMTY2MzgxMjg1MS43MDMxNDg2LCAxMDMyMywgMS4xMDU1ODM5MDYxNzM3MDZdLCBbMTY2MzgxMjg1MS44ODIzNjU1LCAxMDM0MSwgMS4xNDM5MjUwNzA3NjI2MzQzXSwgWzE2NjM4MTI4NTEuOTcwMTI4LCAxMDM1MCwgMS4xMzQ5NzQyNDEyNTY3MTM5XSwgWzE2NjM4MTI4NTIuMDU5OTI0OCwgMTAzNTksIDEuMTI0MDg1NTQ1NTM5ODU2XSwgWzE2NjM4MTI4NTIuMTUxMzYxNywgMTAzNjgsIDEuMTI2NjcxOTEwMjg1OTQ5N10sIFsxNjYzODEyODUyLjI1MDg5MDcsIDEwMzc3LCAxLjE4NzAyNzMzNTE2NjkzMTJdLCBbMTY2MzgxMjg1Mi4zMzk0NTQ3LCAxMDM4NiwgMS4xOTY0NzM4MzY4OTg4MDM3XSwgWzE2NjM4MTI4NTIuNTIyMjcyMywgMTA0MDQsIDEuMjI4MzUzNjE5NTc1NTAwNV0sIFsxNjYzODEyODUyLjYxNDQxMTYsIDEwNDEzLCAxLjI0OTExNjY1OTE2NDQyODddLCBbMTY2MzgxMjg1Mi43MTA1MDksIDEwNDIyLCAxLjIwMDkzMDM1Njk3OTM3MDFdLCBbMTY2MzgxMjg1Mi44ODc1Mzk2LCAxMDQ0MCwgMS4yNjc1NTMwOTEwNDkxOTQzXSwgWzE2NjM4MTI4NTIuOTc1NDA0MywgMTA0NDksIDEuMTI2NDk2OTExMDQ4ODg5Ml0sIFsxNjYzODEyODUzLjE4MTg0ODUsIDEwNDY3LCAxLjEwMDczMTk2ODg3OTY5OTddLCBbMTY2MzgxMjg1My40NDM3MjMyLCAxMDQ3NiwgMS4xMTE4NDUyNTQ4OTgwNzEzXSwgWzE2NjM4MTI4NTMuNTM3OTc5OCwgMTA0ODUsIDEuMjE2NTM3OTUyNDIzMDk1N10sIFsxNjYzODEyODUzLjYzNTE0MTYsIDEwNDk0LCAxLjE0NzIxNzk4ODk2Nzg5NTVdLCBbMTY2MzgxMjg1My43NDcxOTI2LCAxMDUwMywgMS4xMjU3MDExODkwNDExMzc3XSwgWzE2NjM4MTI4NTMuODU2MTYzNSwgMTA1MTIsIDEuMTMxOTEwOTIwMTQzMTI3NF0sIFsxNjYzODEyODUzLjk1NjQ2MSwgMTA1MjEsIDEuMTQ2OTg2NzIyOTQ2MTY3XSwgWzE2NjM4MTI4NTQuMzg5OTUyNCwgMTA1NTcsIDEuMTk5MDg1NzEyNDMyODYxM10sIFsxNjYzODEyODU0LjQ5Mzk1NiwgMTA1NjYsIDEuMTg5ODU4Njc1MDAzMDUxOF0sIFsxNjYzODEyODU0LjU5Njc5MzcsIDEwNTc1LCAxLjE2MTYxNTk2Nzc1MDU0OTNdLCBbMTY2MzgxMjg1NC43OTQxNTgsIDEwNTkzLCAxLjEyNDQ4OTc4NDI0MDcyMjddLCBbMTY2MzgxMjg1NC44OTUyMDYsIDEwNjAyLCAxLjE0MDAyMjAzOTQxMzQ1MjFdLCBbMTY2MzgxMjg1NC45OTQ0ODg3LCAxMDYxMSwgMS4xMzQ3OTAzMDEzMjI5MzddLCBbMTY2MzgxMjg1NS4yMTMzNzMyLCAxMDYyOSwgMS4wOTc0MjM5MTEwOTQ2NjU1XSwgWzE2NjM4MTI4NTUuNDA1NjgwNCwgMTA2NDcsIDEuMTMyNzA1MjExNjM5NDA0M10sIFsxNjYzODEyODU1LjYyNDMzOTMsIDEwNjY1LCAxLjEwOTQ4OTA4MzI5MDFdLCBbMTY2MzgxMjg1NS44NDkxODQ1LCAxMDY4MywgMS4xMzAwMjQxOTQ3MTc0MDcyXSwgWzE2NjM4MTI4NTYuMDgwODYzMiwgMTA3MDEsIDEuMTU0NzYxMzE0MzkyMDg5OF0sIFsxNjYzODEyODU2LjE5MDk2OTIsIDEwNzEwLCAxLjE4MDY2MTMyMDY4NjM0MDNdLCBbMTY2MzgxMjg1Ni4yOTE5ODYyLCAxMDcxOSwgMS4xOTAwNTEwNzg3OTYzODY3XSwgWzE2NjM4MTI4NTYuMzg1Njg4MywgMTA3MjgsIDEuMTUxMjI2NzU4OTU2OTA5Ml0sIFsxNjYzODEyODU2LjU3MzM1NzYsIDEwNzQ2LCAxLjExNjY1OTUyMjA1NjU3OTZdLCBbMTY2MzgxMjg1Ni42NzE0MzE4LCAxMDc1NSwgMS4xNTA4NDY5NTgxNjA0MDA0XSwgWzE2NjM4MTI4NTYuNzY5MjQ1MSwgMTA3NjQsIDEuMTY4NTU2MjEzMzc4OTA2Ml0sIFsxNjYzODEyODU2Ljg1OTY2NTksIDEwNzczLCAxLjEzNTM4NTYzMjUxNDk1MzZdLCBbMTY2MzgxMjg1Ni45NDk0ODM5LCAxMDc4MiwgMS4xMTQxMzUzODQ1NTk2MzEzXSwgWzE2NjM4MTI4NTcuMDU1MDg1NywgMTA3OTEsIDEuMjIzNjk4NDk2ODE4NTQyNV0sIFsxNjYzODEyODU3LjMyMTg1OTYsIDEwODE4LCAxLjI0MjI4MjUwOTgwMzc3Ml0sIFsxNjYzODEyODU3LjQxNTg4MSwgMTA4MjcsIDEuMTU0MTg1NzcxOTQyMTM4N10sIFsxNjYzODEyODU3LjY5NTI3NiwgMTA4NTQsIDEuMTI2MDMzNjYzNzQ5Njk0OF0sIFsxNjYzODEyODU3Ljc4MzQ2NDcsIDEwODYzLCAxLjExOTY4MDg4MTUwMDI0NDFdLCBbMTY2MzgxMjg1Ny44NzEyNDUxLCAxMDg3MiwgMS4xNTkxMjk3Mzg4MDc2NzgyXSwgWzE2NjM4MTI4NTguMDY1MDQ3NywgMTA4OTAsIDEuMTM4NzE3NDEyOTQ4NjA4NF0sIFsxNjYzODEyODU4LjE2OTExMTcsIDEwODk5LCAxLjEyNzU0NzI2NDA5OTEyMV0sIFsxNjYzODEyODU4LjQ2OTc1NjYsIDEwOTI2LCAxLjEwODI2MTk0Mjg2MzQ2NDRdLCBbMTY2MzgxMjg1OC41NTk0MjE1LCAxMDkzNSwgMS4xMzU5NDQzNjY0NTUwNzgxXSwgWzE2NjM4MTI4NTguNjQ2NTExMywgMTA5NDQsIDEuMDk5NzA5MzkxNTkzOTMzXSwgWzE2NjM4MTI4NTguODQ5NDc5NywgMTA5NjIsIDEuMTE3MjY4MzIzODk4MzE1NF0sIFsxNjYzODEyODU4Ljk2MjE5NSwgMTA5NzEsIDEuMTI0NzkzNjQ4NzE5Nzg3Nl0sIFsxNjYzODEyODU5LjMxMTU3MSwgMTA5OTgsIDEuMTMxMDczMTE3MjU2MTY0Nl0sIFsxNjYzODEyODU5LjQyOTQ4MTcsIDExMDA3LCAxLjExNDQ5NTI3NzQwNDc4NTJdLCBbMTY2MzgxMjg1OS41Njc2NDEsIDExMDE2LCAxLjEyMTMxNTQ3OTI3ODU2NDVdLCBbMTY2MzgxMjg1OS43ODM0NTYzLCAxMTAzNCwgMS4xMTYzNzA2Nzc5NDc5OThdLCBbMTY2MzgxMjg2MC4wNjg4NzMyLCAxMTA2MSwgMS4xNTA2MTE1MTk4MTM1Mzc2XSwgWzE2NjM4MTI4NjAuMTYyMzMxMywgMTEwNzAsIDEuMTAzOTMwNDczMzI3NjM2N10sIFsxNjYzODEyODYwLjUzOTQxNTgsIDExMDk3LCAxLjExMjM0MjgzNDQ3MjY1NjJdLCBbMTY2MzgxMjg2MC42NTU3NTYyLCAxMTEwNiwgMS4xMTMxNTU5NjEwMzY2ODIxXSwgWzE2NjM4MTI4NjAuNzU5NzMyNSwgMTExMTUsIDEuMjI3MjE3MTk3NDE4MjEzXSwgWzE2NjM4MTI4NjEuMTMzNzg1LCAxMTE1MSwgMS4xMjc0MTAyOTI2MjU0MjcyXSwgWzE2NjM4MTI4NjEuMzI5MTIxLCAxMTE2OSwgMS4xMjE3OTYyNTAzNDMzMjI4XSwgWzE2NjM4MTI4NjEuNDE5ODMxLCAxMTE3OCwgMS4xMTA3NDU3ODc2MjA1NDQ0XSwgWzE2NjM4MTI4NjEuNTA5MjIzNSwgMTExODcsIDEuMTEzODE1NjY1MjQ1MDU2Ml0sIFsxNjYzODEyODYxLjYxMTYxMSwgMTExOTYsIDEuMTc0MTczMTE2NjgzOTZdLCBbMTY2MzgxMjg2MS43MDQ0OTk3LCAxMTIwNSwgMS4xMzY2MzQzNDk4MjI5OThdLCBbMTY2MzgxMjg2MS43OTkyNjE4LCAxMTIxNCwgMS4xNDA1NDIxNDk1NDM3NjIyXSwgWzE2NjM4MTI4NjEuODk2MDg2NSwgMTEyMjMsIDEuMTAzNjg4ODM2MDk3NzE3M10sIFsxNjYzODEyODYyLjE4NDY5OTMsIDExMjUwLCAxLjEyMTQwODQ2MjUyNDQxNF0sIFsxNjYzODEyODYyLjI3NDgxMzIsIDExMjU5LCAxLjExMzYyOTU3OTU0NDA2NzRdLCBbMTY2MzgxMjg2Mi41MDg2MSwgMTEyNjgsIDEuMTEwOTExODQ2MTYwODg4N10sIFsxNjYzODEyODYyLjU5NjQzOSwgMTEyNzcsIDEuMTM4MzI0Mzc5OTIwOTU5NV0sIFsxNjYzODEyODYyLjgwODIyMjgsIDExMjk1LCAxLjE2NjAyMjE4MTUxMDkyNTNdLCBbMTY2MzgxMjg2Mi45OTIyNTY0LCAxMTMxMywgMS4xMTM1ODQ2Mzc2NDE5MDY3XSwgWzE2NjM4MTI4NjMuMDg3NTQwMSwgMTEzMjIsIDEuMTUxNTQ5Njk2OTIyMzAyMl0sIFsxNjYzODEyODYzLjM2OTAyODgsIDExMzQ5LCAxLjExOTk4ODkxODMwNDQ0MzRdLCBbMTY2MzgxMjg2My40NjMyNzA0LCAxMTM1OCwgMS4xNDQyMTM2NzY0NTI2MzY3XSwgWzE2NjM4MTI4NjMuNjUwNzU1LCAxMTM3NiwgMS4wOTQ4NjA1NTM3NDE0NTVdLCBbMTY2MzgxMjg2My43NTE2NjEzLCAxMTM4NSwgMS4xMTAwMDEwODcxODg3MjA3XSwgWzE2NjM4MTI4NjMuODQxMTkyNywgMTEzOTQsIDEuMTE1NTk0MDI5NDI2NTc0N10sIFsxNjYzODEyODYzLjkzOTMxODIsIDExNDAzLCAxLjEzNzE0NTQwMDA0NzMwMjJdLCBbMTY2MzgxMjg2NC4wMzA4MjQyLCAxMTQxMiwgMS4xMjU0NTU5NzU1MzI1MzE3XSwgWzE2NjM4MTI4NjQuMTE5MzE1OSwgMTE0MjEsIDEuMDkxNTI4NjU0MDk4NTEwN10sIFsxNjYzODEyODY0LjM5NzE0NjcsIDExNDQ4LCAxLjExODA1ODIwNDY1MDg3OV0sIFsxNjYzODEyODY0LjQ4NzYzNTQsIDExNDU3LCAxLjEzNjg5OTcwOTcwMTUzOF0sIFsxNjYzODEyODY0Ljc4NTk5NywgMTE0ODQsIDEuMTI1NzUwMzAzMjY4NDMyNl0sIFsxNjYzODEyODY0Ljg3NzIzNiwgMTE0OTMsIDEuMTEyMjIxODM3MDQzNzYyMl0sIFsxNjYzODEyODY0Ljk2ODUwNDcsIDExNTAyLCAxLjEwOTk1MjU2OTAwNzg3MzVdLCBbMTY2MzgxMjg2NS4wNjE2MDkzLCAxMTUxMSwgMS4xMDQwMzQ3ODE0NTU5OTM3XSwgWzE2NjM4MTI4NjUuMTU0NDM5LCAxMTUyMCwgMS4xMTQyNzg2NzQxMjU2NzE0XSwgWzE2NjM4MTI4NjUuMjQ2NzEsIDExNTI5LCAxLjEwNTQwMTE1ODMzMjgyNDddLCBbMTY2MzgxMjg2NS40MjU5OTU2LCAxMTU0NywgMS4xMTUyMjE4NTgwMjQ1OTcyXSwgWzE2NjM4MTI4NjUuNTE1NTcyOCwgMTE1NTYsIDEuMTU1MjAzOTM4NDg0MTkyXSwgWzE2NjM4MTI4NjUuNjk2MTc0NiwgMTE1NzQsIDEuMTUyOTczMTc1MDQ4ODI4MV0sIFsxNjYzODEyODY1LjgwMDA2NjcsIDExNTgzLCAxLjE1MDY0ODU5MzkwMjU4OF0sIFsxNjYzODEyODY1Ljk4NTkzNjksIDExNjAxLCAxLjE3NzM2NjQ5NTEzMjQ0NjNdLCBbMTY2MzgxMjg2Ni4xNzc0MDU4LCAxMTYxOSwgMS4xMDg0ODQwMjk3Njk4OTc1XSwgWzE2NjM4MTI4NjYuMjcyMjU2LCAxMTYyOCwgMS4xMDkzNTYwNDU3MjI5NjE0XSwgWzE2NjM4MTI4NjYuMzYwNjQyNywgMTE2MzcsIDEuMDc4OTAzNTU1ODcwMDU2Ml0sIFsxNjYzODEyODY2LjQ0OTc2MDcsIDExNjQ2LCAxLjEwNDU5NzIxMDg4NDA5NDJdLCBbMTY2MzgxMjg2Ni42MzI2ODQsIDExNjY0LCAxLjEyNjYwNzI5ODg1MTAxMzJdLCBbMTY2MzgxMjg2Ni43Mjc1NzE1LCAxMTY3MywgMS4xNzY0MzU5NDc0MTgyMTNdLCBbMTY2MzgxMjg2Ni45MDY3MTEzLCAxMTY5MSwgMS4xOTEzNjcxNDkzNTMwMjczXSwgWzE2NjM4MTI4NjYuOTk1ODY4MiwgMTE3MDAsIDEuMDg3MzkyNDQ5Mzc4OTY3M10sIFsxNjYzODEyODY3LjE4MTc3NjMsIDExNzE4LCAxLjEwNDQxNDgyMDY3MTA4MTVdLCBbMTY2MzgxMjg2Ny4yNzQ1MTk0LCAxMTcyNywgMS4xMDIyNDM5MDAyOTkwNzIzXSwgWzE2NjM4MTI4NjcuNDU3Njk0LCAxMTc0NSwgMS4xODg0NjE3ODA1NDgwOTU3XSwgWzE2NjM4MTI4NjcuNTQ4NjY4NiwgMTE3NTQsIDEuMTA2NDU1NDQ1Mjg5NjExOF0sIFsxNjYzODEyODY3LjY0OTM2OCwgMTE3NjMsIDEuMTUzNTA5MjU5MjIzOTM4XSwgWzE2NjM4MTI4NjcuNzM5ODM1NSwgMTE3NzIsIDEuMTc4MjY3MjQwNTI0MjkyXSwgWzE2NjM4MTI4NjguMDE1OTI4NSwgMTE3OTksIDEuMTM3NDc5OTAxMzEzNzgxN10sIFsxNjYzODEyODY4LjEwODAxMDMsIDExODA4LCAxLjE3NDAxOTIxNzQ5MTE1XSwgWzE2NjM4MTI4NjguMTk2MTIyLCAxMTgxNywgMS4wOTczMjE2Mjk1MjQyMzFdLCBbMTY2MzgxMjg2OC4yODM3NzQ0LCAxMTgyNiwgMS4xMTUzMjcwMDA2MTc5ODFdLCBbMTY2MzgxMjg2OC4zNzE2ODcsIDExODM1LCAxLjEzMzA5ODM2Mzg3NjM0MjhdLCBbMTY2MzgxMjg2OC40NjE3MSwgMTE4NDQsIDEuMTI3MTgyNzIyMDkxNjc0OF0sIFsxNjYzODEyODY4LjczNTU4ODYsIDExODcxLCAxLjA5NzMzMDU3MDIyMDk0NzNdLCBbMTY2MzgxMjg2OC44NDIwOTYzLCAxMTg4MCwgMS4xNDA5NTg1NDc1OTIxNjNdLCBbMTY2MzgxMjg2OC45NTA3ODY2LCAxMTg4OSwgMS4wOTI2MDQ4NzU1NjQ1NzUyXSwgWzE2NjM4MTI4NjkuMDY4NDA4NSwgMTE4OTgsIDEuMDc1NDgwNjk5NTM5MTg0Nl0sIFsxNjYzODEyODY5LjE2NjIzODUsIDExOTA3LCAxLjExNTM4MDE2Nzk2MTEyMDZdLCBbMTY2MzgxMjg2OS4yNjAyMTgsIDExOTE2LCAxLjEzMDU1Mzk2MDgwMDE3MV0sIFsxNjYzODEyODY5LjM1MzY1MjIsIDExOTI1LCAxLjE1MTM0NTEzMzc4MTQzM10sIFsxNjYzODEyODY5LjQ0NzM2MywgMTE5MzQsIDEuMTg2ODEwMTM1ODQxMzY5Nl0sIFsxNjYzODEyODY5LjU0MDQwOTgsIDExOTQzLCAxLjEwNzczMDM4ODY0MTM1NzRdLCBbMTY2MzgxMjg2OS43MzEwMDkyLCAxMTk2MSwgMS4xMjMwMzE5NzM4Mzg4MDYyXSwgWzE2NjM4MTI4NzAuMTkyNjk3OCwgMTIwMDYsIDEuMTEzNjgwMzYyNzAxNDE2XSwgWzE2NjM4MTI4NzAuMzgwNzg1NywgMTIwMjQsIDEuMTE0MzY2MjkyOTUzNDkxMl0sIFsxNjYzODEyODcxLjEwMDAxMzcsIDEyMDc4LCAxLjExMDE0MzQyMzA4MDQ0NDNdLCBbMTY2MzgxMjg3MS4xOTY3LCAxMjA4NywgMS4wODUwNzE4MDIxMzkyODIyXSwgWzE2NjM4MTI4NzEuMzc0ODYzNCwgMTIxMDUsIDEuMTE4NTcxMDQzMDE0NTI2NF0sIFsxNjYzODEyODcxLjQ2MzEwNzgsIDEyMTE0LCAxLjA5NDU1MTA4NjQyNTc4MTJdLCBbMTY2MzgxMjg3MS42Mzg4MTIsIDEyMTMyLCAxLjEwNjY2MTIwMDUyMzM3NjVdLCBbMTY2MzgxMjg3MS43MzEzMDI3LCAxMjE0MSwgMS4wOTEwODc0NjA1MTc4ODMzXSwgWzE2NjM4MTI4NzIuMDEyODQ3LCAxMjE2OCwgMS4wODg0OTMxMDg3NDkzODk2XSwgWzE2NjM4MTI4NzIuMTE2NzA2OCwgMTIxNzcsIDEuMTA3OTg3NDAzODY5NjI5XSwgWzE2NjM4MTI4NzIuMzExNTMxMywgMTIxOTUsIDEuMTg5NDc2NjA5MjMwMDQxNV0sIFsxNjYzODEyODcyLjM5OTYyNSwgMTIyMDQsIDEuMTg0MjAwNjQ0NDkzMTAzXSwgWzE2NjM4MTI4NzIuNDg5OTY2LCAxMjIxMywgMS4xMDI3ODAxMDM2ODM0NzE3XSwgWzE2NjM4MTI4NzIuNTc4MjgxOSwgMTIyMjIsIDEuMTMyMzEyMDU5NDAyNDY1OF0sIFsxNjYzODEyODcyLjY3NjgyMzksIDEyMjMxLCAxLjExODk4ODM5NDczNzI0MzddLCBbMTY2MzgxMjg3Mi44NjEwODQsIDEyMjQ5LCAxLjExMTM1MjgwMTMyMjkzN10sIFsxNjYzODEyODczLjA0MzM5NjIsIDEyMjY3LCAxLjExOTI4MTc2ODc5ODgyODFdLCBbMTY2MzgxMjg3My4xMzMwOTQ1LCAxMjI3NiwgMS4xNTExMDYzNTc1NzQ0NjNdLCBbMTY2MzgxMjg3My4yMzY2MTM4LCAxMjI4NSwgMS4xMDIxNjE1MjY2Nzk5OTI3XSwgWzE2NjM4MTI4NzMuMzI4NjA5LCAxMjI5NCwgMS4xMDI5MzQ3MTgxMzIwMTldLCBbMTY2MzgxMjg3My40MzYyNTc2LCAxMjMwMywgMS4xNzIyMjI3MzM0OTc2MTk2XSwgWzE2NjM4MTI4NzMuNTI0OTkxNSwgMTIzMTIsIDEuMTE4OTc5MzM0ODMxMjM3OF0sIFsxNjYzODEyODczLjYxMTM3MDYsIDEyMzIxLCAxLjA5MTcxODkxMjEyNDYzMzhdLCBbMTY2MzgxMjg3My45ODIwMTA2LCAxMjM1NywgMS4xMzkzMzI3NzEzMDEyNjk1XSwgWzE2NjM4MTI4NzQuMDc1MjgxNiwgMTIzNjYsIDEuMTAyNjgxMjc5MTgyNDM0XSwgWzE2NjM4MTI4NzQuMTY2NzU2MiwgMTIzNzUsIDEuMDk5OTk0NTQwMjE0NTM4Nl0sIFsxNjYzODEyODc0LjI2ODg4NjYsIDEyMzg0LCAxLjA4NzkwNTUyNjE2MTE5MzhdLCBbMTY2MzgxMjg3NC4zNTkxMTQ2LCAxMjM5MywgMS4wODk1NjQ2ODEwNTMxNjE2XSwgWzE2NjM4MTI4NzQuNjI4MzY5LCAxMjQyMCwgMS4xMTY2NTI4NDYzMzYzNjQ3XSwgWzE2NjM4MTI4NzQuNzE4MzEzNywgMTI0MjksIDEuMTE5Nzg2MTQzMzAyOTE3NV0sIFsxNjYzODEyODc0LjgwNzA0NiwgMTI0MzgsIDEuMTY2NzQ0MjMyMTc3NzM0NF0sIFsxNjYzODEyODc1LjE4NDUzMzYsIDEyNDc0LCAxLjIwMjk1MjI2NTczOTQ0MV0sIFsxNjYzODEyODc1LjI3OTA4NywgMTI0ODMsIDEuMTM4MzM5NTE5NTAwNzMyNF0sIFsxNjYzODEyODc1LjM4MTYzNywgMTI0OTIsIDEuMTA2MjkyNzI0NjA5Mzc1XSwgWzE2NjM4MTI4NzUuNDczNDUzOCwgMTI1MDEsIDEuMTA2NjM4MzEyMzM5NzgyN10sIFsxNjYzODEyODc1LjY1NjMwNTYsIDEyNTE5LCAxLjEwMjI1MTA1Mjg1NjQ0NTNdLCBbMTY2MzgxMjg3NS43NTE2OTA5LCAxMjUyOCwgMS4xMTI0MDU4OTYxODY4Mjg2XSwgWzE2NjM4MTI4NzUuOTUxODI4MiwgMTI1NDYsIDEuMDc2MDI4MzQ3MDE1MzgwOV0sIFsxNjYzODEyODc2LjAzNzcxMiwgMTI1NTUsIDEuMDg0MzM5MzgwMjY0MjgyMl0sIFsxNjYzODEyODc2LjI3NTU4MzMsIDEyNTczLCAxLjE4NDYzMDYzMjQwMDUxMjddLCBbMTY2MzgxMjg3Ni4zNjY4NzYsIDEyNTgyLCAxLjI4NjYxMzk0MTE5MjYyN10sIFsxNjYzODEyODc2LjU0NzY5MjgsIDEyNjAwLCAxLjEwMTk0ODI2MTI2MDk4NjNdLCBbMTY2MzgxMjg3Ni42NDEzNjMsIDEyNjA5LCAxLjE0OTU3ODgwOTczODE1OTJdLCBbMTY2MzgxMjg3Ni44NDUzNjU1LCAxMjYyNywgMS4xNzgwNjEyNDY4NzE5NDgyXSwgWzE2NjM4MTI4NzYuOTM4MDA0MywgMTI2MzYsIDEuMTMyNDYxMDcxMDE0NDA0M10sIFsxNjYzODEyODc3LjAzOTQ5OSwgMTI2NDUsIDEuMTQ0NzExNjEzNjU1MDkwM10sIFsxNjYzODEyODc3LjEzMzk2NjQsIDEyNjU0LCAxLjE1NTkyMjI5MzY2MzAyNV0sIFsxNjYzODEyODc3LjIyNjMyMSwgMTI2NjMsIDEuMTQ4NDE4MzA3MzA0MzgyM10sIFsxNjYzODEyODc3LjMyMjYyMzcsIDEyNjcyLCAxLjExNDM5MjE2MTM2OTMyMzddLCBbMTY2MzgxMjg3Ny40MTcyNzY0LCAxMjY4MSwgMS4wOTM3NjIyNzg1NTY4MjM3XSwgWzE2NjM4MTI4NzcuODkxMTQwNywgMTI3MjYsIDEuMDgyOTk1MTc2MzE1MzA3Nl0sIFsxNjYzODEyODc4LjE2OTAwMTYsIDEyNzUzLCAxLjEwOTQ0OTM4NjU5NjY3OTddLCBbMTY2MzgxMjg3OC4yNjE0NTg5LCAxMjc2MiwgMS4xMDYwNzcxOTQyMTM4NjcyXSwgWzE2NjM4MTI4NzguNDQzNDI1NCwgMTI3ODAsIDEuMTYwODA4ODAxNjUxMDAxXSwgWzE2NjM4MTI4NzguNjM2NDQ5MywgMTI3OTgsIDEuMjAwMDUxNTQ2MDk2ODAxOF0sIFsxNjYzODEyODc4LjcyOTA4NjksIDEyODA3LCAxLjE3NjYzODI0NTU4MjU4MDZdLCBbMTY2MzgxMjg3OS4wMTMyMjU2LCAxMjgzNCwgMS4xMTY5Mzk2NjM4ODcwMjRdLCBbMTY2MzgxMjg3OS4xMzY1NDE4LCAxMjg0MywgMS4xNDIxMzE1NjcwMDEzNDI4XSwgWzE2NjM4MTI4NzkuNDIzNjk5NiwgMTI4NTIsIDEuMTY5ODI4NjUzMzM1NTcxM10sIFsxNjYzODEyODc5LjUzNDEyNDksIDEyODYxLCAxLjE0MTQzMTgwODQ3MTY3OTddLCBbMTY2MzgxMjg3OS44NDE3NDI4LCAxMjg4OCwgMS4yMjYxODg2NTk2Njc5Njg4XSwgWzE2NjM4MTI4NzkuOTM2NzY2MSwgMTI4OTcsIDEuMTIxNDk2MDgxMzUyMjMzOV0sIFsxNjYzODEyODgwLjAzOTY2NTcsIDEyOTA2LCAxLjEyOTIxOTY1MTIyMjIyOV0sIFsxNjYzODEyODgwLjE0MjgyLCAxMjkxNSwgMS4xMDg4MDU4OTQ4NTE2ODQ2XSwgWzE2NjM4MTI4ODAuMzYxNjE5NSwgMTI5MzMsIDEuMTI5OTA0Mzg5MzgxNDA4N10sIFsxNjYzODEyODgwLjYwMDc4NjIsIDEyOTUxLCAxLjA5MTM3NDYzNTY5NjQxMTFdLCBbMTY2MzgxMjg4MC42OTY1MzczLCAxMjk2MCwgMS4xNDQ2OTc2NjYxNjgyMTNdLCBbMTY2MzgxMjg4MC43ODU1NzksIDEyOTY5LCAxLjEzMzUxNDUyMzUwNjE2NDZdLCBbMTY2MzgxMjg4MC44NzUxMTk0LCAxMjk3OCwgMS4xMjg1NTI3OTQ0NTY0ODJdLCBbMTY2MzgxMjg4MS4xNzU4MDg0LCAxMzAwNSwgMS4xMTMwMDA1MTIxMjMxMDhdLCBbMTY2MzgxMjg4MS4zNzQxMjk4LCAxMzAyMywgMS4xMDgzMTkxNjMzMjI0NDg3XSwgWzE2NjM4MTI4ODEuNDYxMjE3OSwgMTMwMzIsIDEuMTU2NTIzMTA4NDgyMzYwOF0sIFsxNjYzODEyODgxLjU2MDEyMywgMTMwNDEsIDEuMTU5OTIwODExNjUzMTM3Ml0sIFsxNjYzODEyODgxLjY2MDUyMTcsIDEzMDUwLCAxLjEyNTUzNzc1MzEwNTE2MzZdLCBbMTY2MzgxMjg4MS43NTA4OTcyLCAxMzA1OSwgMS4xODAyMjQxODAyMjE1NTc2XSwgWzE2NjM4MTI4ODEuODQxNzg3MywgMTMwNjgsIDEuMjAxMzkwMzg1NjI3NzQ2Nl0sIFsxNjYzODEyODgxLjkzNDQ1OTQsIDEzMDc3LCAxLjE0NjQ5NzAxMTE4NDY5MjRdLCBbMTY2MzgxMjg4Mi4wMzAyMzg5LCAxMzA4NiwgMS4wODY4NDcwNjY4NzkyNzI1XSwgWzE2NjM4MTI4ODIuMTUyOTMxLCAxMzA5NSwgMS4xMDQ2MDQ5NTk0ODc5MTVdLCBbMTY2MzgxMjg4Mi4yNTA5Mjk2LCAxMzEwNCwgMS4xNDUxMjM3MjAxNjkwNjc0XSwgWzE2NjM4MTI4ODIuMzY2NDM1NSwgMTMxMTMsIDEuMDk1MDk0NTYxNTc2ODQzM10sIFsxNjYzODEyODgyLjQ4MTgyMTUsIDEzMTIyLCAxLjEyNjcwMzUwMDc0NzY4MDddLCBbMTY2MzgxMjg4Mi42MDgwNzQyLCAxMzEzMSwgMS4wOTU5Nzc1NDQ3ODQ1NDZdLCBbMTY2MzgxMjg4Mi43Mjg4NDksIDEzMTQwLCAxLjEwMDk3MTY5ODc2MDk4NjNdLCBbMTY2MzgxMjg4Mi44MjkzNDEsIDEzMTQ5LCAxLjEwMjY4ODA3NDExMTkzODVdLCBbMTY2MzgxMjg4Mi45NDk3NDI2LCAxMzE1OCwgMS4xMjQwNzczMjAwOTg4NzddLCBbMTY2MzgxMjg4My4wNTUyNjQ3LCAxMzE2NywgMS4xNjQ2OTE5MjUwNDg4MjgxXSwgWzE2NjM4MTI4ODMuMTYzNDk0LCAxMzE3NiwgMS4xMzc3NDM3MTE0NzE1NTc2XSwgWzE2NjM4MTI4ODMuMjU5NTEzOSwgMTMxODUsIDEuMTIxOTQzMzU0NjA2NjI4NF0sIFsxNjYzODEyODgzLjU2ODA3MjgsIDEzMjEyLCAxLjEyMDk5NTUyMTU0NTQxMDJdLCBbMTY2MzgxMjg4My42NzgwNjg0LCAxMzIyMSwgMS4xNzAyMzQyMDMzMzg2MjNdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=v9&tag=Loss%2Ftrain":{"data":"W1sxNjYzOTE5OTc3LjQ0NDk1OCwgOSwgMTEyLjEwOTQ1MTI5Mzk0NTMxXSwgWzE2NjM5MTk5NzguMTE5ODM1NCwgMjcsIDQwLjUxNzk0ODE1MDYzNDc2Nl0sIFsxNjYzOTE5OTc4LjIzMzY0MjMsIDM2LCAzOS4wODQ0OTE3Mjk3MzYzM10sIFsxNjYzOTE5OTc4LjM1MTIwMDYsIDQ1LCAzNi44MzI1MTk1MzEyNV0sIFsxNjYzOTE5OTc4LjkyNzg3MzEsIDkwLCAyOS4zOTM2NDQzMzI4ODU3NDJdLCBbMTY2MzkxOTk3OS4wNDU2MjU3LCA5OSwgMjguMzc1ODIyMDY3MjYwNzQyXSwgWzE2NjM5MTk5NzkuMTY1NjU4NywgMTA4LCAyNy4xNDI0Nzg5NDI4NzEwOTRdLCBbMTY2MzkxOTk3OS42NzQ0NjIzLCAxMzUsIDIxLjEyNjExOTYxMzY0NzQ2XSwgWzE2NjM5MTk5NzkuNzk3MjQwMywgMTQ0LCAxOC42NzI4MDc2OTM0ODE0NDVdLCBbMTY2MzkxOTk3OS45MjQxMTcsIDE1MywgMTYuNDQxNTYyNjUyNTg3ODldLCBbMTY2MzkxOTk4MC4xNjc2MTA2LCAxNzEsIDExLjk2OTc5MzMxOTcwMjE0OF0sIFsxNjYzOTE5OTgwLjI4MTM1NiwgMTgwLCA5LjkzNDkxNTU0MjYwMjUzOV0sIFsxNjYzOTE5OTgwLjM4NDc3OSwgMTg5LCA4LjMzMzQwMTY3OTk5MjY3Nl0sIFsxNjYzOTE5OTgwLjYzMTkxOTQsIDIwNywgNi42OTIyNTEyMDU0NDQzMzZdLCBbMTY2MzkxOTk4MC43NDc2ODksIDIxNiwgNi4zNTk5NTEwMTkyODcxMDldLCBbMTY2MzkxOTk4MS4wODIwMDE0LCAyNDMsIDYuMDUzODAzOTIwNzQ1ODVdLCBbMTY2MzkxOTk4MS4xOTAxNDI0LCAyNTIsIDYuMDQ5MTA5OTM1NzYwNDk4XSwgWzE2NjM5MTk5ODEuMjk4NTk0NywgMjYxLCA2LjA3NDkxODI3MDExMTA4NF0sIFsxNjYzOTE5OTgxLjQwODY0MzIsIDI3MCwgNS45MTE2ODczNzQxMTQ5OV0sIFsxNjYzOTE5OTgxLjUxMzkzOTQsIDI3OSwgNS44MzUzMjk1MzI2MjMyOTFdLCBbMTY2MzkxOTk4MS44NDM5ODUzLCAzMDYsIDUuNzA0MTk2OTI5OTMxNjQxXSwgWzE2NjM5MTk5ODEuOTY0ODcwMiwgMzE1LCA1LjQ4Mjk5NDU1NjQyNzAwMl0sIFsxNjYzOTE5OTgyLjE5NzM0MDMsIDMzMywgNS40MzczOTIyMzQ4MDIyNDZdLCBbMTY2MzkxOTk4Mi4zMDczODk3LCAzNDIsIDUuNTcyNTA5Mjg4Nzg3ODQyXSwgWzE2NjM5MTk5ODIuNDEyOTk5NCwgMzUxLCA1LjU1MDUxMjc5MDY3OTkzMl0sIFsxNjYzOTE5OTgyLjUyMjM4NTgsIDM2MCwgNS40Mjk3MDQxODkzMDA1MzddLCBbMTY2MzkxOTk4Mi42MzE5NDMsIDM2OSwgNS40OTI0Nzc0MTY5OTIxODc1XSwgWzE2NjM5MTk5ODMuNDUwMjA3NywgNDMyLCA1LjA3ODk5MzMyMDQ2NTA4OF0sIFsxNjYzOTE5OTgzLjU1NzA3MjYsIDQ0MSwgNS4wOTcyMDA4NzA1MTM5MTZdLCBbMTY2MzkxOTk4My42NjUwMTk4LCA0NTAsIDUuMDQ4MjIxNTg4MTM0NzY2XSwgWzE2NjM5MTk5ODMuNzc4OTUxMiwgNDU5LCA0Ljk4MTg1NDkxNTYxODg5NjVdLCBbMTY2MzkxOTk4My44OTAzMjcyLCA0NjgsIDQuOTE4OTE3MTc5MTA3NjY2XSwgWzE2NjM5MTk5ODQuMDE0OTk2MywgNDc3LCA0Ljk1MjM0NTg0ODA4MzQ5Nl0sIFsxNjYzOTE5OTg0LjI0NzY0MDgsIDQ5NSwgNC44MjkyNTY1MzQ1NzY0MTZdLCBbMTY2MzkxOTk4NC4zNTQ3OCwgNTA0LCA0Ljc4NjAwMzExMjc5Mjk2OV0sIFsxNjYzOTE5OTg0LjU4NzE3NDIsIDUyMiwgNC43MDAxNzc2Njk1MjUxNDY1XSwgWzE2NjM5MTk5ODQuOTA2Mzk5NSwgNTQ5LCA0LjY3OTMzMTc3OTQ3OTk4MDVdLCBbMTY2MzkxOTk4NS4wMjgxMDEsIDU1OCwgNC41NjYxMjYzNDY1ODgxMzVdLCBbMTY2MzkxOTk4NS4xNTA1ODk1LCA1NjcsIDQuNDcyMjE5OTQ0MDAwMjQ0XSwgWzE2NjM5MTk5ODUuMjU1Mzk5NywgNTc2LCA0LjUwMzY2NjQwMDkwOTQyNF0sIFsxNjYzOTE5OTg1LjQ5NTkwOTIsIDU5NCwgNC40OTIzMTk1ODM4OTI4MjJdLCBbMTY2MzkxOTk4NS41OTM3Mzg2LCA2MDMsIDQuMzUwMDA2NTgwMzUyNzgzXSwgWzE2NjM5MTk5ODUuNjg2MjA0LCA2MTIsIDQuMzU0MDg5MjYwMTAxMzE4XSwgWzE2NjM5MTk5ODUuNzc0Nzk3MiwgNjIxLCA0LjM1NjMwNTU5OTIxMjY0NjVdLCBbMTY2MzkxOTk4NS45NjkyMTM1LCA2MzksIDQuMzE3OTE1NDM5NjA1NzEzXSwgWzE2NjM5MTk5ODYuMDcxNDgsIDY0OCwgNC4yNjkyNDg0ODU1NjUxODU1XSwgWzE2NjM5MTk5ODYuMjYxMjE5LCA2NjYsIDQuMTk5MDI2NTg0NjI1MjQ0XSwgWzE2NjM5MTk5ODYuNDYxNDMwNSwgNjg0LCA0LjA4NDE0NzkzMDE0NTI2NF0sIFsxNjYzOTE5OTg2LjY2MTU3MDgsIDcwMiwgNC4wMjUxNjY1MTE1MzU2NDQ1XSwgWzE2NjM5MTk5ODYuODY4OTg4MywgNzIwLCA0LjA0MDM5MDk2ODMyMjc1NF0sIFsxNjYzOTE5OTg2Ljk2NTA4MjIsIDcyOSwgMy45NjMwNDk2NTAxOTIyNjA3XSwgWzE2NjM5MTk5ODcuMTY3NjM4LCA3NDcsIDMuODY0ODI4NTg2NTc4MzY5XSwgWzE2NjM5MTk5ODcuMzE5Njg3NCwgNzU2LCAzLjgzNzE0NDYxMzI2NTk5MV0sIFsxNjYzOTE5OTg3LjUzNzY2MzcsIDc3NCwgMy44NDMyNDQ3OTEwMzA4ODRdLCBbMTY2MzkxOTk4Ny42NTUyMDEyLCA3ODMsIDMuNzE1ODkzNTA3MDAzNzg0XSwgWzE2NjM5MTk5ODcuOTkwNTI3NiwgODEwLCAzLjcwMDU0ODg4NzI1MjgwNzZdLCBbMTY2MzkxOTk4OC4xMDk3NTEyLCA4MTksIDMuNjk4NDE3NjYzNTc0MjE4OF0sIFsxNjYzOTE5OTg4LjY3MzM4NSwgODY0LCAzLjQ1MjQ5MTUyMTgzNTMyN10sIFsxNjYzOTE5OTg5LjI5NDkzMiwgOTAwLCAzLjU0MDMxODQ4OTA3NDcwN10sIFsxNjYzOTE5OTg5LjQwOTQ4MSwgOTA5LCAzLjQ3MTQ2MTUzNDUwMDEyMl0sIFsxNjYzOTE5OTg5LjczNDU3NTMsIDkzNiwgMy4zNDM2NzQ0MjEzMTA0MjVdLCBbMTY2MzkxOTk4OS44NTU1MTIxLCA5NDUsIDMuMzAyNjk1OTg5NjA4NzY0Nl0sIFsxNjYzOTE5OTkwLjA4OTAwNzksIDk2MywgMy4yNjMwMjcxOTExNjIxMDk0XSwgWzE2NjM5MTk5OTAuMjA0MjEwNSwgOTcyLCAzLjI4MjIwNDYyNzk5MDcyMjddLCBbMTY2MzkxOTk5MC40MjU5NDY3LCA5OTAsIDMuMTY2ODE1MDQyNDk1NzI3NV0sIFsxNjYzOTE5OTkwLjUzNzM3NjksIDk5OSwgMy4yMDE3MTgwOTE5NjQ3MjE3XSwgWzE2NjM5MTk5OTAuNjQ4MjkzNSwgMTAwOCwgMy4xODI1MjExMDQ4MTI2MjJdLCBbMTY2MzkxOTk5MC43NTM1NDI3LCAxMDE3LCAzLjE5OTU2MjA3Mjc1MzkwNjJdLCBbMTY2MzkxOTk5MC45NjU0OTksIDEwMzUsIDMuMDc5MjU1NTgwOTAyMDk5Nl0sIFsxNjYzOTE5OTkxLjA5Mzg2NjMsIDEwNDQsIDMuMDg5NTQ1NzI2Nzc2MTIzXSwgWzE2NjM5MTk5OTEuMjEyMTA4NiwgMTA1MywgMy4wODQ3MDI3MzAxNzg4MzNdLCBbMTY2MzkxOTk5MS43NDExNDM3LCAxMDk4LCAyLjk0OTQ2ODYxMjY3MDg5ODRdLCBbMTY2MzkxOTk5Mi4xMzI5MTE3LCAxMTM0LCAyLjkwNjE5ODc0MDAwNTQ5M10sIFsxNjYzOTE5OTkyLjIzNjM5NywgMTE0MywgMi44NjY1NDYzOTI0NDA3OTZdLCBbMTY2MzkxOTk5Mi40NDExMTM3LCAxMTYxLCAyLjc5MjA2ODcxOTg2Mzg5MTZdLCBbMTY2MzkxOTk5Mi41Mzc4NywgMTE3MCwgMi44Mjk4NTYxNTczMDI4NTY0XSwgWzE2NjM5MTk5OTIuNjM0ODY2NSwgMTE3OSwgMi44Mjk3MDY5MDcyNzIzMzldLCBbMTY2MzkxOTk5Mi43MjY0MTEsIDExODgsIDIuODE1ODU0MDcyNTcwODAxXSwgWzE2NjM5MTk5OTIuODI0MDA2OCwgMTE5NywgMi43NzIwNzU4OTE0OTQ3NTFdLCBbMTY2MzkxOTk5My4wMjQxNDU4LCAxMjE1LCAyLjY5OTQyOTk4ODg2MTA4NF0sIFsxNjYzOTE5OTkzLjIzMzI3MzUsIDEyMzMsIDIuNjkyMzA2MjgwMTM2MTA4NF0sIFsxNjYzOTE5OTkzLjMyNzMxODIsIDEyNDIsIDIuNjcyMzgxNjM5NDgwNTkxXSwgWzE2NjM5MTk5OTMuNDQwMDQ0LCAxMjUxLCAyLjc2MDg4MzU2OTcxNzQwNzJdLCBbMTY2MzkxOTk5My45NzkxNjgsIDEyOTYsIDIuNTQxMzAwMjk2NzgzNDQ3M10sIFsxNjYzOTE5OTk0LjA3NTg2NCwgMTMwNSwgMi42MTI0NTE3OTE3NjMzMDU3XSwgWzE2NjM5MTk5OTQuMjc5OTY1NiwgMTMyMywgMi41NDc2NTAwOTg4MDA2NTldLCBbMTY2MzkxOTk5NC4zODU4MTk0LCAxMzMyLCAyLjU0ODExMjYzMDg0NDExNl0sIFsxNjYzOTE5OTk0LjcyMzAxODYsIDEzNTksIDIuNDgyMjQ5OTc1MjA0NDY3OF0sIFsxNjYzOTE5OTk1LjE2OTIzOTMsIDEzOTUsIDIuNDM1MDE1Njc4NDA1NzYxN10sIFsxNjYzOTE5OTk1LjQwMjc0MSwgMTQxMywgMi40MzA4MzAyNDAyNDk2MzRdLCBbMTY2MzkxOTk5NS41MjAyMjg5LCAxNDIyLCAyLjQyNDg5OTU3ODA5NDQ4MjRdLCBbMTY2MzkxOTk5NS43MzEwNjM4LCAxNDQwLCAyLjM5MjcyOTUyMDc5NzcyOTVdLCBbMTY2MzkxOTk5NS44NDAxNTgyLCAxNDQ5LCAyLjM3NzkxNjA5NzY0MDk5MV0sIFsxNjYzOTE5OTk2LjA0MDQwNSwgMTQ2NywgMi4zNTQzMDMzNTk5ODUzNTE2XSwgWzE2NjM5MTk5OTYuMTQ3MjgxMiwgMTQ3NiwgMi4zNTY4NzE4NDMzMzgwMTI3XSwgWzE2NjM5MTk5OTYuMjUwOTY4LCAxNDg1LCAyLjM1MjQ0MDgzNDA0NTQxXSwgWzE2NjM5MTk5OTYuNDQ2NzEwOCwgMTUwMywgMi4yNjIwMDAzMjIzNDE5MTldLCBbMTY2MzkxOTk5Ni43MDYxMDgzLCAxNTIxLCAyLjMwMTA5NzYzMTQ1NDQ2NzhdLCBbMTY2MzkxOTk5Ni45NTY1OTQsIDE1MzksIDIuMzE0MjUwOTQ2MDQ0OTIyXSwgWzE2NjM5MTk5OTcuMDg1NDgyOCwgMTU0OCwgMi4yNTU2MDE4ODI5MzQ1NzAzXSwgWzE2NjM5MTk5OTcuMTk0OTY2LCAxNTU3LCAyLjI5NTg0NDA3ODA2Mzk2NV0sIFsxNjYzOTE5OTk3LjQwNDE2NjcsIDE1NzUsIDIuMzQyNTg4MTg2MjY0MDM4XSwgWzE2NjM5MTk5OTcuNTE5NTA1NywgMTU4NCwgMi4yMzc3OTQ4NzYwOTg2MzNdLCBbMTY2MzkxOTk5Ny42MTQyMzU0LCAxNTkzLCAyLjIzNjc1NDQxNzQxOTQzMzZdLCBbMTY2MzkxOTk5Ny43MDk5NDQ1LCAxNjAyLCAyLjI1NjM3ODY1MDY2NTI4M10sIFsxNjYzOTE5OTk3LjgxNDc0NjksIDE2MTEsIDIuMjE1Mzg0NzIxNzU1OTgxNF0sIFsxNjYzOTE5OTk4LjAwOTcyLCAxNjI5LCAyLjIwMDMxMzU2ODExNTIzNDRdLCBbMTY2MzkxOTk5OC4xMDM4NjU0LCAxNjM4LCAyLjE0NzA3NjYwNjc1MDQ4ODNdLCBbMTY2MzkxOTk5OC4xOTc2OTg4LCAxNjQ3LCAyLjE0NTg0Mjc5MDYwMzYzNzddLCBbMTY2MzkxOTk5OC4zMTg3NzY2LCAxNjU2LCAyLjE4OTY5NDg4MTQzOTIwOV0sIFsxNjYzOTE5OTk4LjY1MzUzMjcsIDE2NjUsIDIuMTU0Mzk0Mzg4MTk4ODUyNV0sIFsxNjYzOTE5OTk4Ljc2NzIxLCAxNjc0LCAyLjIwMzMwMDQ3NjA3NDIxODhdLCBbMTY2MzkxOTk5OC44NjExMTIsIDE2ODMsIDIuMTY5MjkyMjExNTMyNTkyOF0sIFsxNjYzOTE5OTk5LjE1MTYsIDE3MTAsIDIuMTg5OTEzMDM0NDM5MDg3XSwgWzE2NjM5MTk5OTkuMjUzOTA2LCAxNzE5LCAyLjIyMjY4OTYyODYwMTA3NF0sIFsxNjYzOTE5OTk5LjM2NDEyMDcsIDE3MjgsIDIuMTk3Mzc3NDQzMzEzNTk4Nl0sIFsxNjYzOTE5OTk5LjQ3Mjc4MDUsIDE3MzcsIDIuMTU5Njk2NTc4OTc5NDkyXSwgWzE2NjM5MTk5OTkuNzg3NTQ0NywgMTc2NCwgMi4xMDkyNDI0MzkyNzAwMTk1XSwgWzE2NjM5MjAwMDAuMTEzMDU5LCAxNzkxLCAyLjA5ODU3NDE2MTUyOTU0MV0sIFsxNjYzOTIwMDAwLjIyNDY4MTEsIDE4MDAsIDIuMDk5MjEwNTAwNzE3MTYzXSwgWzE2NjM5MjAwMDAuMzE1ODM0MywgMTgwOSwgMi4wNDkyNjQ0MzA5OTk3NTZdLCBbMTY2MzkyMDAwMC41MDYzOTcsIDE4MjcsIDIuMTA2NTk4ODU0MDY0OTQxNF0sIFsxNjYzOTIwMDAwLjYwNDgyODEsIDE4MzYsIDIuMTc1MDE2MTY0Nzc5NjYzXSwgWzE2NjM5MjAwMDAuNzE0OTY1NiwgMTg0NSwgMi4xNDcxMzA5NjYxODY1MjM0XSwgWzE2NjM5MjAwMDAuODE3MjEzNSwgMTg1NCwgMi4xNDA2MzAyNDUyMDg3NDAyXSwgWzE2NjM5MjAwMDEuMDU0NjYzLCAxODcyLCAyLjA2NTExNzgzNTk5ODUzNV0sIFsxNjYzOTIwMDAxLjI1MDgyMTgsIDE4OTAsIDIuMDUwNDIwOTk5NTI2OTc3NV0sIFsxNjYzOTIwMDAxLjQ0NDgyMzUsIDE5MDgsIDIuMDM3NDcyOTYzMzMzMTNdLCBbMTY2MzkyMDAwMS42NDA2NDEsIDE5MjYsIDIuMDI2MzkyMjIxNDUwODA1N10sIFsxNjYzOTIwMDAxLjgzNzQwOTcsIDE5NDQsIDIuMDA2MzQ2MjI1NzM4NTI1NF0sIFsxNjYzOTIwMDAxLjkyOTQ4NjMsIDE5NTMsIDIuMDI1NjUyNjQ3MDE4NDMyNl0sIFsxNjYzOTIwMDAyLjEyNTMwNjgsIDE5NzEsIDIuMDc2OTc1MTA3MTkyOTkzXSwgWzE2NjM5MjAwMDIuMjM5Mjk3LCAxOTgwLCAyLjAwMDA1NTU1MTUyODkzMDddLCBbMTY2MzkyMDAwMi4zNjAyNjkzLCAxOTg5LCAxLjk1NjM4OTE4ODc2NjQ3OTVdLCBbMTY2MzkyMDAwMi40NjI5MjgsIDE5OTgsIDEuOTc2NjQzNTYyMzE2ODk0NV0sIFsxNjYzOTIwMDAyLjU1NDUzNzgsIDIwMDcsIDIuMDI2ODUwNDYxOTU5ODM5XSwgWzE2NjM5MjAwMDIuNzQ1NDE4LCAyMDI1LCAxLjk4OTM5ODI0MTA0MzA5MDhdLCBbMTY2MzkyMDAwMi44NDM0MjMsIDIwMzQsIDIuMDU3MjQ4MTE1NTM5NTUxXSwgWzE2NjM5MjAwMDIuOTM0ODg0OCwgMjA0MywgMi4wOTg1NTY3NTY5NzMyNjY2XSwgWzE2NjM5MjAwMDMuMjY1NTAzNCwgMjA3MCwgMS45NjI5OTA3NjA4MDMyMjI3XSwgWzE2NjM5MjAwMDMuNTgxMDk1LCAyMDk3LCAyLjAxNzMyOTQ1NDQyMTk5N10sIFsxNjYzOTIwMDAzLjc4Mzk3NywgMjExNSwgMS45NzQ0NzEzMzA2NDI3MDAyXSwgWzE2NjM5MjAwMDMuODk1NjE2LCAyMTI0LCAxLjk2OTIyNTA0OTAxODg1OTldLCBbMTY2MzkyMDAwMy45OTM2NzQzLCAyMTMzLCAxLjk0ODA1MDM3OTc1MzExMjhdLCBbMTY2MzkyMDAwNC4wODgwNTIzLCAyMTQyLCAxLjk4NzgxOTA3NTU4NDQxMTZdLCBbMTY2MzkyMDAwNC4xODY1MTgsIDIxNTEsIDEuOTM0ODEzNzM3ODY5MjYyN10sIFsxNjYzOTIwMDA0LjI5MTkxMzMsIDIxNjAsIDEuODk2NzkxNjk2NTQ4NDYyXSwgWzE2NjM5MjAwMDQuNDgyMjE5LCAyMTc4LCAxLjkyNDEwMTgyOTUyODgwODZdLCBbMTY2MzkyMDAwNC41NzY3MDU1LCAyMTg3LCAxLjkzOTY2OTYwOTA2OTgyNDJdLCBbMTY2MzkyMDAwNC43NjcyODYsIDIyMDUsIDEuOTYxNjcyMTg2ODUxNTAxNV0sIFsxNjYzOTIwMDA0Ljg1OTIzNjcsIDIyMTQsIDEuOTQ3NzI5ODI1OTczNTEwN10sIFsxNjYzOTIwMDA0Ljk3NDYyODcsIDIyMjMsIDEuOTcyNjMyMjg4OTMyODAwM10sIFsxNjYzOTIwMDA1LjA3ODU4NjYsIDIyMzIsIDEuOTIyNjA5Njg2ODUxNTAxNV0sIFsxNjYzOTIwMDA1LjMwNzM5NjQsIDIyNTAsIDEuOTg0Mzk3NjQ5NzY1MDE0Nl0sIFsxNjYzOTIwMDA1LjYzMTQxNjMsIDIyNzcsIDEuOTEyMTc2NzI4MjQ4NTk2Ml0sIFsxNjYzOTIwMDA1Ljc0MDkzMDYsIDIyODYsIDEuOTMxNzgwOTM0MzMzODAxM10sIFsxNjYzOTIwMDA1Ljg0MTExOTgsIDIyOTUsIDEuOTA5MTk2NDk2MDA5ODI2N10sIFsxNjYzOTIwMDA2LjE4MTE5MDcsIDIzMjIsIDEuODY4NjE3ODkyMjY1MzE5OF0sIFsxNjYzOTIwMDA2LjI3MDYzNDQsIDIzMzEsIDEuODY0NTk5MjI3OTA1MjczNF0sIFsxNjYzOTIwMDA2LjM2NTI1MTUsIDIzNDAsIDEuOTA4MDA5NjQ4MzIzMDU5XSwgWzE2NjM5MjAwMDYuNTA2MjMyNSwgMjM0OSwgMS44NzY5MDQ2MDY4MTkxNTI4XSwgWzE2NjM5MjAwMDYuNzE5NDkzNiwgMjM2NywgMS44OTkzMzE4MDgwOTAyMV0sIFsxNjYzOTIwMDA2LjgxNjQwMzksIDIzNzYsIDEuODY3Mzc1NjEyMjU4OTExMV0sIFsxNjYzOTIwMDA3LjMxMzE4NzEsIDI0MjEsIDEuODI3OTQzNjgyNjcwNTkzM10sIFsxNjYzOTIwMDA3LjgwMTY0MzgsIDI0MzksIDEuODQ1MjcyNTQxMDQ2MTQyNl0sIFsxNjYzOTIwMDA3LjkwMjgwMzIsIDI0NDgsIDEuODM5Njg4MTgxODc3MTM2Ml0sIFsxNjYzOTIwMDA4LjE4NTk3MjcsIDI0NzUsIDEuOTU0Mjc2NjgwOTQ2MzVdLCBbMTY2MzkyMDAwOC4yODE3ODE3LCAyNDg0LCAxLjg5MTAyOTU5NjMyODczNTRdLCBbMTY2MzkyMDAwOC4zNzQwMTUsIDI0OTMsIDEuODc2MjQ5MzEzMzU0NDkyMl0sIFsxNjYzOTIwMDA4LjU2Mjg3NSwgMjUxMSwgMS44NDg3NDQ4NjkyMzIxNzc3XSwgWzE2NjM5MjAwMDguNzUwMjI2NSwgMjUyOSwgMS44NTEwMTY4NzkwODE3MjZdLCBbMTY2MzkyMDAwOC45ODQ0NzgyLCAyNTQ3LCAxLjg2NzAwMjYwNjM5MTkwNjddLCBbMTY2MzkyMDAwOS4wODExNjg0LCAyNTU2LCAxLjgzODc0NzAyNDUzNjEzMjhdLCBbMTY2MzkyMDAwOS4xOTA2MzM1LCAyNTY1LCAxLjg4MTI3MDQwODYzMDM3MV0sIFsxNjYzOTIwMDA5LjI4NzIxNzYsIDI1NzQsIDEuODA2MDQ4NTEyNDU4ODAxM10sIFsxNjYzOTIwMDA5LjU1NDQyNDUsIDI1OTIsIDEuODMxMjYzMzAzNzU2NzEzOV0sIFsxNjYzOTIwMDA5LjY0OTMyNSwgMjYwMSwgMS43OTg2NzM2Mjk3NjA3NDIyXSwgWzE2NjM5MjAwMDkuODM0NDI4OCwgMjYxOSwgMS44NzU1ODM3Njc4OTA5MzAyXSwgWzE2NjM5MjAwMDkuOTI4NTk2NywgMjYyOCwgMS44MTIyODQ4MjcyMzIzNjA4XSwgWzE2NjM5MjAwMTAuMzEzMzAyMywgMjY2NCwgMS44MTM1NzY2OTgzMDMyMjI3XSwgWzE2NjM5MjAwMTAuNDEyMTA2MywgMjY3MywgMS43ODAyNjIyMzE4MjY3ODIyXSwgWzE2NjM5MjAwMTAuNTA2ODM0NSwgMjY4MiwgMS43NzgyMjk5NTE4NTg1MjA1XSwgWzE2NjM5MjAwMTAuNTk2NzAxLCAyNjkxLCAxLjc3MTYxMjA0ODE0OTEwODldLCBbMTY2MzkyMDAxMC42ODgzNjMsIDI3MDAsIDEuNzcyNDg0NTQwOTM5MzMxXSwgWzE2NjM5MjAwMTEuMTc1MDU3LCAyNzQ1LCAxLjg0MDI2NzY1ODIzMzY0MjZdLCBbMTY2MzkyMDAxMS4zMTc0MTc2LCAyNzU0LCAxLjgzMDU3ODIwNzk2OTY2NTVdLCBbMTY2MzkyMDAxMS40Mjg4MjMyLCAyNzYzLCAxLjgwNDc5NjIxODg3MjA3MDNdLCBbMTY2MzkyMDAxMS41MzE4MjM5LCAyNzcyLCAxLjg1OTgxNTgzNTk1Mjc1ODhdLCBbMTY2MzkyMDAxMS42MzEzNDMsIDI3ODEsIDEuODU3NjkwODExMTU3MjI2Nl0sIFsxNjYzOTIwMDExLjc1NTczMjMsIDI3OTAsIDEuNzc3MzU1OTA5MzQ3NTM0Ml0sIFsxNjYzOTIwMDEyLjA0NjcyNSwgMjgxNywgMS43NjE5MDc4MTU5MzMyMjc1XSwgWzE2NjM5MjAwMTIuMTQ0NjQxMiwgMjgyNiwgMS43OTI2ODYyMjM5ODM3NjQ2XSwgWzE2NjM5MjAwMTIuMjUwOTcwNiwgMjgzNSwgMS43ODEyNDI4NDc0NDI2MjddLCBbMTY2MzkyMDAxMi4zNDQxMjMxLCAyODQ0LCAxLjc3NTI3OTg3OTU3MDAwNzNdLCBbMTY2MzkyMDAxMi40NDExOTQ1LCAyODUzLCAxLjc5MjI0ODAxMDYzNTM3Nl0sIFsxNjYzOTIwMDEyLjY0NzkwNTMsIDI4NzEsIDEuODE2MDE2MTk3MjA0NTg5OF0sIFsxNjYzOTIwMDEyLjczOTM5NzMsIDI4ODAsIDEuNzc4NTE4MzE5MTI5OTQzOF0sIFsxNjYzOTIwMDEzLjA0MDM5NTMsIDI5MDcsIDEuNzQ1MTkzNDgxNDQ1MzEyNV0sIFsxNjYzOTIwMDEzLjIzNDEzMTYsIDI5MjUsIDEuNzIyOTE0NDU3MzIxMTY3XSwgWzE2NjM5MjAwMTMuNzMxOTk4NywgMjk3MCwgMS43ODg4MTc2NDQxMTkyNjI3XSwgWzE2NjM5MjAwMTMuODIyMzgxLCAyOTc5LCAxLjcwNjQ5NDY4ODk4NzczMl0sIFsxNjYzOTIwMDEzLjkxMTMwNTQsIDI5ODgsIDEuNzAwOTU1MTUyNTExNTk2N10sIFsxNjYzOTIwMDE0LjAxOTUwNDUsIDI5OTcsIDEuNzA4MTU0NTU5MTM1NDM3XSwgWzE2NjM5MjAwMTQuMTE4MzE5NSwgMzAwNiwgMS43NjAxNjEyODA2MzIwMTldLCBbMTY2MzkyMDAxNC41MDY0NzM4LCAzMDQyLCAxLjcyNzQyNTkzMjg4NDIxNjNdLCBbMTY2MzkyMDAxNC41OTg2Mzg4LCAzMDUxLCAxLjcyNTE1Mjk2OTM2MDM1MTZdLCBbMTY2MzkyMDAxNC44MDgzMjcyLCAzMDY5LCAxLjczNDQxNzY3NjkyNTY1OTJdLCBbMTY2MzkyMDAxNS4wODcyMTU0LCAzMDk2LCAxLjcyNjc4NTc3ODk5OTMyODZdLCBbMTY2MzkyMDAxNS4xOTg2NCwgMzEwNSwgMS42ODIwODkwOTAzNDcyOV0sIFsxNjYzOTIwMDE1LjI5MTIyNCwgMzExNCwgMS43MTA1NTA2NjU4NTU0MDc3XSwgWzE2NjM5MjAwMTUuMzkyMjAwNSwgMzEyMywgMS43MDU0NjIzMzY1NDAyMjIyXSwgWzE2NjM5MjAwMTUuNjE4ODIxNiwgMzE0MSwgMS42NjY1OTM2NzA4NDUwMzE3XSwgWzE2NjM5MjAwMTUuNzE5NzI1MSwgMzE1MCwgMS43MTMyNTQ5Mjg1ODg4NjcyXSwgWzE2NjM5MjAwMTUuODE3MDAwNiwgMzE1OSwgMS43MzUxNDAwODUyMjAzMzddLCBbMTY2MzkyMDAxNi4wMTQ5NjQzLCAzMTc3LCAxLjcyNDM0NTY4NDA1MTUxMzddLCBbMTY2MzkyMDAxNi4xMTM2NDgsIDMxODYsIDEuNzAxNDk0MzM2MTI4MjM0OV0sIFsxNjYzOTIwMDE2LjQxNTU2OTgsIDMxOTUsIDEuNjc4ODY5MjQ3NDM2NTIzNF0sIFsxNjYzOTIwMDE2LjUxMDY5NTIsIDMyMDQsIDEuNzAzNDQzMTY5NTkzODExXSwgWzE2NjM5MjAwMTYuNzI1ODMxMywgMzIyMiwgMS43MDIwODk0Mjg5MDE2NzI0XSwgWzE2NjM5MjAwMTYuODUxNjk0OCwgMzIzMSwgMS43MDA1NjMxOTIzNjc1NTM3XSwgWzE2NjM5MjAwMTcuMTIxOTM3NSwgMzI0OSwgMS42NjIwNTY1NjUyODQ3MjldLCBbMTY2MzkyMDAxNy4yNDAwNzI1LCAzMjU4LCAxLjcwMDIzMTc5MDU0MjYwMjVdLCBbMTY2MzkyMDAxNy4zNDQzODU2LCAzMjY3LCAxLjc1MjE0Mjc4Njk3OTY3NTNdLCBbMTY2MzkyMDAxNy40NzkyMjY2LCAzMjc2LCAxLjc5NTUzMjk0MTgxODIzNzNdLCBbMTY2MzkyMDAxNy42MjgwNjk5LCAzMjg1LCAxLjY3NjM2NjkyNTIzOTU2M10sIFsxNjYzOTIwMDE3Ljc3NzAxNSwgMzI5NCwgMS42NzM4OTU1OTc0NTc4ODU3XSwgWzE2NjM5MjAwMTcuOTM4MDc2LCAzMzAzLCAxLjY4MTIwNzg5NTI3ODkzMDddLCBbMTY2MzkyMDAxOC4xMDExMDcxLCAzMzEyLCAxLjcwNDMwMjQzMDE1Mjg5M10sIFsxNjYzOTIwMDE4LjI0MDc0NzcsIDMzMjEsIDEuNjQ4MDY1Njg2MjI1ODkxMV0sIFsxNjYzOTIwMDE4LjMzNTYwNjYsIDMzMzAsIDEuNjkwMDExOTc4MTQ5NDE0XSwgWzE2NjM5MjAwMTguOTUxNzE2LCAzMzc1LCAxLjcyOTIwMzQ2MjYwMDcwOF0sIFsxNjYzOTIwMDE5LjExMzc1MDIsIDMzODQsIDEuNjk3NjUzODg5NjU2MDY3XSwgWzE2NjM5MjAwMTkuMzQ1Mjc0NCwgMzQwMiwgMS42NDE5NTA2MDcyOTk4MDQ3XSwgWzE2NjM5MjAwMTkuNDg1NTE5NiwgMzQxMSwgMS42MTk4NzA1NDM0Nzk5MTk0XSwgWzE2NjM5MjAwMTkuOTc4MDUwMiwgMzQ0NywgMS42MzQ5MDg1NTY5MzgxNzE0XSwgWzE2NjM5MjAwMjAuMjMyODAzMywgMzQ2NSwgMS43MDczMDkyNDYwNjMyMzI0XSwgWzE2NjM5MjAwMjAuMzY5NjcxNiwgMzQ3NCwgMS43MzU1MzcyOTA1NzMxMjAxXSwgWzE2NjM5MjAwMjAuNDY5ODQ5NiwgMzQ4MywgMS43MzY1NDAwNzkxMTY4MjEzXSwgWzE2NjM5MjAwMjAuNzU1MTA3OSwgMzUxMCwgMS42MzIwNTAwMzczODQwMzMyXSwgWzE2NjM5MjAwMjAuODUyNDc2MSwgMzUxOSwgMS42MjUxMzkzNTU2NTk0ODQ5XSwgWzE2NjM5MjAwMjAuOTY1MTQ4NywgMzUyOCwgMS42MTg0NjE4NDczMDUyOTc5XSwgWzE2NjM5MjAwMjEuMDcxNjgzNiwgMzUzNywgMS42NTI5MTQwNDcyNDEyMTFdLCBbMTY2MzkyMDAyMS4xODg3MzY0LCAzNTQ2LCAxLjYyMTY3NjMyNTc5ODAzNDddLCBbMTY2MzkyMDAyMS4yODg0MDIsIDM1NTUsIDEuNjAwMDMzMjgzMjMzNjQyNl0sIFsxNjYzOTIwMDIxLjQwNjcwMTYsIDM1NjQsIDEuNjYyOTc0NDc2ODE0MjddLCBbMTY2MzkyMDAyMS41MjI4ODM0LCAzNTczLCAxLjYzOTg3MTAwMTI0MzU5MTNdLCBbMTY2MzkyMDAyMS42MzE3MDg5LCAzNTgyLCAxLjYxMTM2OTYwOTgzMjc2MzddLCBbMTY2MzkyMDAyMS43NDM3NTE1LCAzNTkxLCAxLjY0NTk3MDcwMjE3MTMyNTddLCBbMTY2MzkyMDAyMS44NTg3NTQ2LCAzNjAwLCAxLjYyMDk1OTE2MjcxMjA5NzJdLCBbMTY2MzkyMDAyMS45NzE2MDE3LCAzNjA5LCAxLjYzMDE1MTc0ODY1NzIyNjZdLCBbMTY2MzkyMDAyMi4wNzk4NDU3LCAzNjE4LCAxLjYyODc4NzM5ODMzODMxNzldLCBbMTY2MzkyMDAyMi4xOTQ1MzA1LCAzNjI3LCAxLjU5MzA2NTUwMDI1OTM5OTRdLCBbMTY2MzkyMDAyMi40MTU3NDkzLCAzNjQ1LCAxLjYyNjk3NTUzNjM0NjQzNTVdLCBbMTY2MzkyMDAyMi42NDE3ODk0LCAzNjYzLCAxLjYwNTgwNTI3NzgyNDQwMTldLCBbMTY2MzkyMDAyMi43NTM1NTc0LCAzNjcyLCAxLjY0NTg4NjQyMTIwMzYxMzNdLCBbMTY2MzkyMDAyMi44NTM5NjU4LCAzNjgxLCAxLjYxNTMxNzQ2Mzg3NDgxN10sIFsxNjYzOTIwMDIyLjk1MzE1MDcsIDM2OTAsIDEuNjE0NDUwMzM1NTAyNjI0NV0sIFsxNjYzOTIwMDIzLjI5MTA2OTcsIDM3MTcsIDEuNTc5MzkwNjQ1MDI3MTYwNl0sIFsxNjYzOTIwMDIzLjM5NTgyMTYsIDM3MjYsIDEuNjI4OTc1MDMzNzYwMDcwOF0sIFsxNjYzOTIwMDIzLjUwNDQ2NzIsIDM3MzUsIDEuNjAzMjU4MTMyOTM0NTcwM10sIFsxNjYzOTIwMDIzLjYxMjMwMDQsIDM3NDQsIDEuNjQxNzIyNjc5MTM4MTgzNl0sIFsxNjYzOTIwMDIzLjkzNTg4MzgsIDM3NzEsIDEuNTc5Mjg0NTQ4NzU5NDYwNF0sIFsxNjYzOTIwMDI0LjA0OTY3NSwgMzc4MCwgMS42MTEzMjQ2Njc5MzA2MDNdLCBbMTY2MzkyMDAyNC4yNjkzMjY0LCAzNzk4LCAxLjYzOTY2NjE5OTY4NDE0M10sIFsxNjYzOTIwMDI0LjM3NDAzNzcsIDM4MDcsIDEuNjM5OTIxNjY1MTkxNjUwNF0sIFsxNjYzOTIwMDI0LjcyOTY1MzYsIDM4MzQsIDEuNjg4OTE0ODk1MDU3Njc4Ml0sIFsxNjYzOTIwMDI0Ljg2MjE5MTcsIDM4NDMsIDEuNTk4MTQzNjk2Nzg0OTczMV0sIFsxNjYzOTIwMDI1LjIwMDYzOCwgMzg3MCwgMS41NjgxMDUyMjA3OTQ2Nzc3XSwgWzE2NjM5MjAwMjUuMzA2NjYzNSwgMzg3OSwgMS41NzQ3NTExMzg2ODcxMzM4XSwgWzE2NjM5MjAwMjUuNDEyNDE0MywgMzg4OCwgMS41NzE3MzU5NzgxMjY1MjU5XSwgWzE2NjM5MjAwMjUuNzI2MTIzLCAzOTE1LCAxLjU4NDEyMDg2OTYzNjUzNTZdLCBbMTY2MzkyMDAyNS44NDEwNzYsIDM5MjQsIDEuNTcwOTg2NzQ3NzQxNjk5Ml0sIFsxNjYzOTIwMDI1Ljk1NDY1MDksIDM5MzMsIDEuNjI5NDM0NDY2MzYxOTk5NV0sIFsxNjYzOTIwMDI2LjA2NjMwMjgsIDM5NDIsIDEuNTc0ODEwMzg1NzA0MDQwNV0sIFsxNjYzOTIwMDI2LjE4NzEzMTQsIDM5NTEsIDEuNTQ1OTA0Mjc4NzU1MTg4XSwgWzE2NjM5MjAwMjYuMjgxNjYyMiwgMzk2MCwgMS41NDIzNzU2ODM3ODQ0ODQ5XSwgWzE2NjM5MjAwMjYuMzg2MTEyNSwgMzk2OSwgMS41MzQ0Mzk4MDIxNjk3OTk4XSwgWzE2NjM5MjAwMjYuNjkwMTcyMiwgMzk3OCwgMS41NDIxNzI1NTExNTUwOTAzXSwgWzE2NjM5MjAwMjYuOTEzMjQwNCwgMzk5NiwgMS41ODMwNDg1ODIwNzcwMjY0XSwgWzE2NjM5MjAwMjcuMDE5MDUyMywgNDAwNSwgMS41NzM5MjA3MjY3NzYxMjNdLCBbMTY2MzkyMDAyNy4xMTIzNzE3LCA0MDE0LCAxLjUzMTU4NDUwMTI2NjQ3OTVdLCBbMTY2MzkyMDAyNy4yMTE1OTIsIDQwMjMsIDEuNTQyMTA2NzQ3NjI3MjU4M10sIFsxNjYzOTIwMDI3LjYxMTE5MjUsIDQwNTksIDEuNTQxNjA5NzY0MDk5MTIxXSwgWzE2NjM5MjAwMjcuNzEwMjcsIDQwNjgsIDEuNTM0MjYwMjcyOTc5NzM2M10sIFsxNjYzOTIwMDI3LjgwMTgwNDMsIDQwNzcsIDEuNTU5OTI5MTMyNDYxNTQ3OV0sIFsxNjYzOTIwMDI3Ljg5NjM2NzMsIDQwODYsIDEuNTQzNDUzNTc0MTgwNjAzXSwgWzE2NjM5MjAwMjcuOTk0MzgyNiwgNDA5NSwgMS41MTczNjU5MzI0NjQ1OTk2XSwgWzE2NjM5MjAwMjguMTkxOTA2MiwgNDExMywgMS41NTY2MjA4MzYyNTc5MzQ2XSwgWzE2NjM5MjAwMjguMzgzMTMyNywgNDEzMSwgMS41MjY4ODI3Njc2NzczMDcxXSwgWzE2NjM5MjAwMjguNTc3Mjk0OCwgNDE0OSwgMS41NDkwNTc0ODM2NzMwOTU3XSwgWzE2NjM5MjAwMjguNjcxMzYzNiwgNDE1OCwgMS41MzY4ODYzMzQ0MTkyNTA1XSwgWzE2NjM5MjAwMjguNzY2NzUxLCA0MTY3LCAxLjU1MzkzNDU3NDEyNzE5NzNdLCBbMTY2MzkyMDAyOC45NTIzMTIyLCA0MTg1LCAxLjUzMzY5NzI0NzUwNTE4OF0sIFsxNjYzOTIwMDI5LjA1MjE1NzIsIDQxOTQsIDEuNDkyMTQ3OTIyNTE1ODY5MV0sIFsxNjYzOTIwMDI5LjE1MDk2NTIsIDQyMDMsIDEuNTA0MDk0ODM5MDk2MDY5M10sIFsxNjYzOTIwMDI5LjMzNTg5MTcsIDQyMjEsIDEuNDgzMzQxNjkzODc4MTczOF0sIFsxNjYzOTIwMDI5LjUzNDc2OSwgNDIzOSwgMS41MjY1NjkzNjY0NTUwNzgxXSwgWzE2NjM5MjAwMjkuNjIxODYsIDQyNDgsIDEuNTI1NzMzOTQ3NzUzOTA2Ml0sIFsxNjYzOTIwMDI5LjgwNjU3MSwgNDI2NiwgMS41MzQ2OTkwODIzNzQ1NzI4XSwgWzE2NjM5MjAwMjkuOTAyNDQ1LCA0Mjc1LCAxLjUyNjgwODg1NzkxNzc4NTZdLCBbMTY2MzkyMDAzMC4wMzkwNjU4LCA0Mjg0LCAxLjUwODYyNTYyNjU2NDAyNTldLCBbMTY2MzkyMDAzMC4zMzI3OTk3LCA0MzExLCAxLjUwMzcxNTUxNTEzNjcxODhdLCBbMTY2MzkyMDAzMC40MzEzOTQzLCA0MzIwLCAxLjUyMDY4MDA2OTkyMzQwMDldLCBbMTY2MzkyMDAzMC41Mjc4Mjk2LCA0MzI5LCAxLjUwMjM1MTg4MDA3MzU0NzRdLCBbMTY2MzkyMDAzMC42MjQ4MzEyLCA0MzM4LCAxLjQ3NjU4MTIxNTg1ODQ1OTVdLCBbMTY2MzkyMDAzMC43Mjc0ODk1LCA0MzQ3LCAxLjUzMTgxNDgxMzYxMzg5MTZdLCBbMTY2MzkyMDAzMC44MjM2OTk1LCA0MzU2LCAxLjQ3Nzg1MTM5MDgzODYyM10sIFsxNjYzOTIwMDMwLjkyNTg4NDcsIDQzNjUsIDEuNTExNjQ3NDYyODQ0ODQ4Nl0sIFsxNjYzOTIwMDMxLjExNjcxMTksIDQzODMsIDEuNDg5NDAzMDA5NDE0NjcyOV0sIFsxNjYzOTIwMDMxLjIyMzM3ODcsIDQzOTIsIDEuNDgwMDg5NzgzNjY4NTE4XSwgWzE2NjM5MjAwMzEuMzE4MTIxNCwgNDQwMSwgMS40OTQ5OTIwMTc3NDU5NzE3XSwgWzE2NjM5MjAwMzEuNDE3MTExMiwgNDQxMCwgMS40NzkzMzE2MTI1ODY5NzVdLCBbMTY2MzkyMDAzMS42MTQzMDcyLCA0NDI4LCAxLjQ3MTA0NDY1OTYxNDU2M10sIFsxNjYzOTIwMDMxLjkxNTM1ODMsIDQ0NTUsIDEuNDgyOTY0MDM4ODQ4ODc3XSwgWzE2NjM5MjAwMzIuMDE1OTI1LCA0NDY0LCAxLjQ1MjQ5MzQyOTE4Mzk2XSwgWzE2NjM5MjAwMzIuMjEyNjQ3LCA0NDgyLCAxLjQ3ODAzNjA0NjAyODEzNzJdLCBbMTY2MzkyMDAzMi4zMDY0NTcsIDQ0OTEsIDEuNDcwODY0NjUzNTg3MzQxM10sIFsxNjYzOTIwMDMyLjYwMTEzMjYsIDQ1MTgsIDEuNDY0MTMzOTc3ODkwMDE0Nl0sIFsxNjYzOTIwMDMyLjcwNjg3MDgsIDQ1MjcsIDEuNDgzOTM5MjkwMDQ2NjkyXSwgWzE2NjM5MjAwMzIuNzk3MjA5NSwgNDUzNiwgMS40NDMyMzk0NTA0NTQ3MTJdLCBbMTY2MzkyMDAzMy4wODkwODg3LCA0NTYzLCAxLjQ5MzExMTM3MTk5NDAxODZdLCBbMTY2MzkyMDAzMy4yNzMwNDM5LCA0NTgxLCAxLjQ2NDQzNjQxMTg1NzYwNV0sIFsxNjYzOTIwMDMzLjM2NTEwNDQsIDQ1OTAsIDEuNDQ4Mzg2Nzg4MzY4MjI1XSwgWzE2NjM5MjAwMzMuNDU4ODk0NywgNDU5OSwgMS40OTk1NDYxNzAyMzQ2ODAyXSwgWzE2NjM5MjAwMzMuNTUwNDg1OCwgNDYwOCwgMS40OTU4MzQzNTA1ODU5Mzc1XSwgWzE2NjM5MjAwMzMuNjQ5NDQ5NiwgNDYxNywgMS40NDY3Njg4Nzk4OTA0NDJdLCBbMTY2MzkyMDAzMy43NDEwNDk1LCA0NjI2LCAxLjQ5ODU0MDk5NzUwNTE4OF0sIFsxNjYzOTIwMDMzLjgzODg3MSwgNDYzNSwgMS40NjM4NDIyNzI3NTg0ODM5XSwgWzE2NjM5MjAwMzQuMDI4OTU2NCwgNDY1MywgMS40ODM2NTg2NzEzNzkwODk0XSwgWzE2NjM5MjAwMzQuMTE4OTQ4LCA0NjYyLCAxLjQ1NjcwMzU0MzY2MzAyNV0sIFsxNjYzOTIwMDM0LjIxNDU5NiwgNDY3MSwgMS40NTM2Mjc3MDU1NzQwMzU2XSwgWzE2NjM5MjAwMzQuMzA2NzA1LCA0NjgwLCAxLjQ2MDM3NzMzNTU0ODQwMDldLCBbMTY2MzkyMDAzNC40MTAwODUyLCA0Njg5LCAxLjQxODUxMTI3MTQ3Njc0NTZdLCBbMTY2MzkyMDAzNC41NTUwMjc1LCA0Njk4LCAxLjQyMDI5MjYxNTg5MDUwM10sIFsxNjYzOTIwMDM0Ljc2MDg4NzYsIDQ3MTYsIDEuNDU2MzA2NTc2NzI4ODIwOF0sIFsxNjYzOTIwMDM1LjI5ODYwMTIsIDQ3NDMsIDEuNDYzNDEwMTM5MDgzODYyM10sIFsxNjYzOTIwMDM1Ljc1NDIzNjUsIDQ3NzksIDEuNDM4NDAwNTA2OTczMjY2Nl0sIFsxNjYzOTIwMDM2LjA3OTM1NzksIDQ4MDYsIDEuNDUzMzIzMDA2NjI5OTQzOF0sIFsxNjYzOTIwMDM2LjE2OTc0MjYsIDQ4MTUsIDEuNDQ3Mjk3OTMwNzE3NDY4M10sIFsxNjYzOTIwMDM2LjI3NDMzODcsIDQ4MjQsIDEuNDYzOTU2NDc1MjU3ODczNV0sIFsxNjYzOTIwMDM2LjM3NTU0NywgNDgzMywgMS40MzI5NDQ4OTM4MzY5NzVdLCBbMTY2MzkyMDAzNi40NjgwMDgsIDQ4NDIsIDEuNDM0NTI0MTc4NTA0OTQzOF0sIFsxNjYzOTIwMDM2LjU3NjU0MjEsIDQ4NTEsIDEuNDM4MjI4MTMwMzQwNTc2Ml0sIFsxNjYzOTIwMDM2LjY3MzE0ODYsIDQ4NjAsIDEuNDAwMTk4MTAxOTk3Mzc1NV0sIFsxNjYzOTIwMDM2Ljc3NjMxNywgNDg2OSwgMS40MTQxNDYwNjU3MTE5NzVdLCBbMTY2MzkyMDAzNi44NzQ1MzA4LCA0ODc4LCAxLjQ0NjA3NjUxMjMzNjczMV0sIFsxNjYzOTIwMDM2Ljk3NTcwMiwgNDg4NywgMS40NTQ1MzEwNzM1NzAyNTE1XSwgWzE2NjM5MjAwMzcuMDY4NzA1NiwgNDg5NiwgMS40OTgyODk4MjM1MzIxMDQ1XSwgWzE2NjM5MjAwMzcuMTc2NTQ1OSwgNDkwNSwgMS40NzYzNDYzNzM1NTgwNDQ0XSwgWzE2NjM5MjAwMzcuMzY5Nzk0MSwgNDkyMywgMS40MzI4MTgwNTUxNTI4OTNdLCBbMTY2MzkyMDAzNy40NzI4NDIsIDQ5MzIsIDEuNDAzNTc0NzA1MTIzOTAxNF0sIFsxNjYzOTIwMDM3Ljc1Mjk4MjQsIDQ5NTksIDEuNDY4Mjk4MzE2MDAxODkyXSwgWzE2NjM5MjAwMzcuOTY0MzgyNCwgNDk3NywgMS40MTg4OTcwMzI3Mzc3MzJdLCBbMTY2MzkyMDAzOC4yMTM3MzMyLCA0OTk1LCAxLjQzNDAwMTU2NDk3OTU1MzJdLCBbMTY2MzkyMDAzOC4zMTAzNTE0LCA1MDA0LCAxLjQ5MTQyNDY3OTc1NjE2NDZdLCBbMTY2MzkyMDAzOC40MDQ3NTY1LCA1MDEzLCAxLjQyMjIwOTYyMDQ3NTc2OV0sIFsxNjYzOTIwMDM5LjEyNzg4OTksIDUwNjcsIDEuMzczNjM4ODY4MzMxOTA5Ml0sIFsxNjYzOTIwMDM5LjIyNDgyMTMsIDUwNzYsIDEuMzkwMDAzMDg1MTM2NDEzNl0sIFsxNjYzOTIwMDM5LjMyMDQxNjUsIDUwODUsIDEuMzk5NTQ2Mzg0ODExNDAxNF0sIFsxNjYzOTIwMDM5LjUxMTI2NzIsIDUxMDMsIDEuMzc2ODAxMTMzMTU1ODIyOF0sIFsxNjYzOTIwMDM5LjYxMDY4ODIsIDUxMTIsIDEuMzg3MzU0MjU0NzIyNTk1Ml0sIFsxNjYzOTIwMDM5Ljc0MDk5ODcsIDUxMjEsIDEuNDA1ODY1NjY5MjUwNDg4M10sIFsxNjYzOTIwMDM5Ljg1Mzc2MzYsIDUxMzAsIDEuNDIyNjE4Mzg5MTI5NjM4N10sIFsxNjYzOTIwMDQwLjA2MzQxNjUsIDUxNDgsIDEuNDA0NzQzNTUyMjA3OTQ2OF0sIFsxNjYzOTIwMDQwLjI4NzUxMSwgNTE2NiwgMS4zOTUwOTU0Njc1Njc0NDM4XSwgWzE2NjM5MjAwNDAuNjIyNTM4NiwgNTE5MywgMS40MTQzMjEzMDMzNjc2MTQ3XSwgWzE2NjM5MjAwNDEuMDE4ODk3OCwgNTIyOSwgMS4zOTI2OTM5OTY0Mjk0NDM0XSwgWzE2NjM5MjAwNDEuNDM1MTE3NSwgNTI2NSwgMS40MDA5NDMwNDA4NDc3NzgzXSwgWzE2NjM5MjAwNDEuNTI2ODExNCwgNTI3NCwgMS4zNjUyODg4NTM2NDUzMjQ3XSwgWzE2NjM5MjAwNDEuNjIzMjA0NywgNTI4MywgMS40MDc1OTcxODQxODEyMTM0XSwgWzE2NjM5MjAwNDEuODE0Njg5NCwgNTMwMSwgMS40MjkxMjQ1OTM3MzQ3NDEyXSwgWzE2NjM5MjAwNDEuOTExODk2LCA1MzEwLCAxLjM5OTMxNjQzMDA5MTg1OF0sIFsxNjYzOTIwMDQyLjAzMjI1MTYsIDUzMTksIDEuMzY1NjA3OTc2OTEzNDUyMV0sIFsxNjYzOTIwMDQyLjEzMjg3MywgNTMyOCwgMS4zOTI0NTY0MTIzMTUzNjg3XSwgWzE2NjM5MjAwNDIuMjM0OTQ4NCwgNTMzNywgMS40Mjc0ODAzNDAwMDM5NjczXSwgWzE2NjM5MjAwNDIuNDIzNTAwOCwgNTM1NSwgMS40MTE3NzkwNDYwNTg2NTQ4XSwgWzE2NjM5MjAwNDIuNTE5ODc2MiwgNTM2NCwgMS4zNzQwODc4MTA1MTYzNTc0XSwgWzE2NjM5MjAwNDIuNjA5OTM4NCwgNTM3MywgMS4zODc0MjE3MjcxODA0ODFdLCBbMTY2MzkyMDA0Mi43MDM0MTksIDUzODIsIDEuMzU0NDgwOTgxODI2NzgyMl0sIFsxNjYzOTIwMDQyLjc5NTE1MDMsIDUzOTEsIDEuMzQ3MTYxMTczODIwNDk1Nl0sIFsxNjYzOTIwMDQyLjkwMDEyNDgsIDU0MDAsIDEuMzcwODQ2NzQ4MzUyMDUwOF0sIFsxNjYzOTIwMDQzLjExMTkwMzQsIDU0MTgsIDEuMzU5Njc4OTgzNjg4MzU0NV0sIFsxNjYzOTIwMDQzLjIwODE1MiwgNTQyNywgMS4zOTExODEyMzA1NDUwNDRdLCBbMTY2MzkyMDA0My4zMTUzMDYsIDU0MzYsIDEuMzY4MTIzNTMxMzQxNTUyN10sIFsxNjYzOTIwMDQzLjUwOTc1NzUsIDU0NTQsIDEuMzY3NDgzMDE5ODI4Nzk2NF0sIFsxNjYzOTIwMDQzLjc4NzA5OTYsIDU0ODEsIDEuMzQ0NzM2NTc2MDgwMzIyM10sIFsxNjYzOTIwMDQ0LjI1MjI1MjgsIDU0OTksIDEuMzYzNzgxMDk0NTUxMDg2NF0sIFsxNjYzOTIwMDQ0LjU4NDgxMSwgNTUyNiwgMS4zNDU0MzAxMzU3MjY5Mjg3XSwgWzE2NjM5MjAwNDQuNzEwMjY1NCwgNTUzNSwgMS4zNTUxNjY5MTIwNzg4NTc0XSwgWzE2NjM5MjAwNDQuOTQ3NDA0MSwgNTU1MywgMS4zMzkyMzQ0NzEzMjExMDZdLCBbMTY2MzkyMDA0NS4wNTA5MTM4LCA1NTYyLCAxLjMzMTc0NzI5MzQ3MjI5XSwgWzE2NjM5MjAwNDUuMTQzNjI1MywgNTU3MSwgMS4zNjMwMzIzNDEwMDM0MThdLCBbMTY2MzkyMDA0NS4zMjQyMDE4LCA1NTg5LCAxLjMzOTk4MDAwNjIxNzk1NjVdLCBbMTY2MzkyMDA0NS41MTkwNzAxLCA1NjA3LCAxLjM3Mzg3NTg1NjM5OTUzNjFdLCBbMTY2MzkyMDA0NS42MjUyNzgyLCA1NjE2LCAxLjM4MjUyNjc1NTMzMjk0NjhdLCBbMTY2MzkyMDA0NS44OTQzNTksIDU2NDMsIDEuMzYzNjMyNDQwNTY3MDE2Nl0sIFsxNjYzOTIwMDQ1Ljk4NDg5NCwgNTY1MiwgMS4zODgxMjk5NDk1Njk3MDIxXSwgWzE2NjM5MjAwNDYuMDc1MTgzMiwgNTY2MSwgMS4zMTc4NjM4MjE5ODMzMzc0XSwgWzE2NjM5MjAwNDYuMjA2MDgyLCA1NjcwLCAxLjMzMDQzMDk4NDQ5NzA3MDNdLCBbMTY2MzkyMDA0Ni42MDQ1NzEsIDU3MDYsIDEuMzc2NzA3MDc3MDI2MzY3Ml0sIFsxNjYzOTIwMDQ2LjcwMTcxNDgsIDU3MTUsIDEuMzQ1Mjg4Mzk1ODgxNjUyOF0sIFsxNjYzOTIwMDQ2Ljc5MzYwNSwgNTcyNCwgMS4zNTQwODAwODA5ODYwMjNdLCBbMTY2MzkyMDA0Ni45NzAxMzgzLCA1NzQyLCAxLjMyNTEwNDk1MTg1ODUyMDVdLCBbMTY2MzkyMDA0Ny4yNDkyMjk0LCA1NzY5LCAxLjMyMjQzOTkwODk4MTMyMzJdLCBbMTY2MzkyMDA0Ny40MzM0NTc2LCA1Nzc4LCAxLjMwNzQzNjEwODU4OTE3MjRdLCBbMTY2MzkyMDA0Ny41NzkzMjIzLCA1Nzg3LCAxLjM0ODgyODQzNDk0NDE1MjhdLCBbMTY2MzkyMDA0Ny42ODM3MDIsIDU3OTYsIDEuMzMyODExMTE3MTcyMjQxMl0sIFsxNjYzOTIwMDQ3Ljc3Nzg4NDIsIDU4MDUsIDEuMzAzNjIyODQxODM1MDIyXSwgWzE2NjM5MjAwNDcuODcyOTQzNiwgNTgxNCwgMS4yOTk2NTQ2MDMwMDQ0NTU2XSwgWzE2NjM5MjAwNDguMTY5ODkwNiwgNTg0MSwgMS4zMzYyMDc3NDc0NTk0MTE2XSwgWzE2NjM5MjAwNDguMjYxMzI5MiwgNTg1MCwgMS4zMjYxMTgxMTE2MTA0MTI2XSwgWzE2NjM5MjAwNDguNDUzNDU0NywgNTg2OCwgMS4zMjYxNTEwMTMzNzQzMjg2XSwgWzE2NjM5MjAwNDguNTU3NzkxMiwgNTg3NywgMS4zODIyNjg0Mjg4MDI0OTAyXSwgWzE2NjM5MjAwNDguNjU0MTM3OCwgNTg4NiwgMS4zMjUzNTYxMjU4MzE2MDRdLCBbMTY2MzkyMDA0OC43NDkwNjcsIDU4OTUsIDEuMzQ4MTI0NTA0MDg5MzU1NV0sIFsxNjYzOTIwMDQ4Ljg1MTMyLCA1OTA0LCAxLjMxMDA1ODgzMjE2ODU3OV0sIFsxNjYzOTIwMDQ5LjE2Mjg5NjIsIDU5MzEsIDEuMjc2NTYwMTg3MzM5NzgyN10sIFsxNjYzOTIwMDQ5LjI1OTU5NDQsIDU5NDAsIDEuMzA0ODQ0ODU2MjYyMjA3XSwgWzE2NjM5MjAwNDkuMzUzNTEsIDU5NDksIDEuMzEzNjUwMzY5NjQ0MTY1XSwgWzE2NjM5MjAwNTAuMDQ4NDkyLCA2MDEyLCAxLjMwMTU5MTM5NjMzMTc4N10sIFsxNjYzOTIwMDUwLjI5MDcyMjEsIDYwMzAsIDEuMzIxMjM2NzI5NjIxODg3Ml0sIFsxNjYzOTIwMDUwLjQxNTc0LCA2MDM5LCAxLjI5NTI2ODQxNjQwNDcyNDFdLCBbMTY2MzkyMDA1MC43MDY5NjMsIDYwNjYsIDEuMzIwMDQ2MTg2NDQ3MTQzNl0sIFsxNjYzOTIwMDUwLjkxNTM5NywgNjA4NCwgMS4zNTM0NzU0NTE0Njk0MjE0XSwgWzE2NjM5MjAwNTEuMDI5Njc5MywgNjA5MywgMS4zMDUyMTMyMTI5NjY5MTldLCBbMTY2MzkyMDA1MS4xMjgzMTg4LCA2MTAyLCAxLjMxMDYyMjMzNDQ4MDI4NTZdLCBbMTY2MzkyMDA1MS4yMjMzODcyLCA2MTExLCAxLjMyNDQ1NTg1NzI3NjkxNjVdLCBbMTY2MzkyMDA1MS4zMzE4MzI2LCA2MTIwLCAxLjI1ODA3NTIzNzI3NDE3XSwgWzE2NjM5MjAwNTEuNDQwMDg2OCwgNjEyOSwgMS4zMDYwMTcwNDEyMDYzNTk5XSwgWzE2NjM5MjAwNTEuNjM0NjA1NCwgNjE0NywgMS4yODc1MjQ0NjE3NDYyMTU4XSwgWzE2NjM5MjAwNTEuNzM0OTQ1OCwgNjE1NiwgMS4zMzcwMzY0OTA0NDAzNjg3XSwgWzE2NjM5MjAwNTEuODM3MDg4MywgNjE2NSwgMS4zMjM3MjA1NzQzNzg5NjczXSwgWzE2NjM5MjAwNTEuOTMwNzkxOSwgNjE3NCwgMS4yODA4MDIwMTE0ODk4NjgyXSwgWzE2NjM5MjAwNTIuMTIwMTc1MSwgNjE5MiwgMS4yNzA1OTQ0Nzc2NTM1MDM0XSwgWzE2NjM5MjAwNTIuMjE5NjYwNSwgNjIwMSwgMS4zMTM0NDc4MzMwNjEyMTgzXSwgWzE2NjM5MjAwNTIuMzEyMDQzNywgNjIxMCwgMS4zMzY4Njg4ODIxNzkyNjAzXSwgWzE2NjM5MjAwNTIuNjEwODI3MiwgNjIzNywgMS4yODUyMDE2Njg3MzkzMTg4XSwgWzE2NjM5MjAwNTIuNzA3NDkzMywgNjI0NiwgMS4yOTQzMjAxMDY1MDYzNDc3XSwgWzE2NjM5MjAwNTMuMDA4MzMxLCA2MjU1LCAxLjI1OTg5Mzc3NDk4NjI2N10sIFsxNjYzOTIwMDUzLjA5OTMwNywgNjI2NCwgMS4yNzE2NzMzMjE3MjM5MzhdLCBbMTY2MzkyMDA1My4xOTYwNzUsIDYyNzMsIDEuMjc2NDc4MDUyMTM5MjgyMl0sIFsxNjYzOTIwMDUzLjI5MzcxNSwgNjI4MiwgMS4yNTk1NjE1Mzg2OTYyODldLCBbMTY2MzkyMDA1My40OTU5ODUzLCA2MzAwLCAxLjI0NjI4MTk4MTQ2ODIwMDddLCBbMTY2MzkyMDA1My43OTA4MSwgNjMyNywgMS4yODQxNDU1OTM2NDMxODg1XSwgWzE2NjM5MjAwNTMuOTA3NDQzMywgNjMzNiwgMS4yNjA1NjU4NzY5NjA3NTQ0XSwgWzE2NjM5MjAwNTQuMTE4NzQxOCwgNjM1NCwgMS4yNjc0MTA1MTY3Mzg4OTE2XSwgWzE2NjM5MjAwNTQuNTc5NDc5NywgNjM5MCwgMS4yODAxNDE5NDk2NTM2MjU1XSwgWzE2NjM5MjAwNTQuNjc4MTYzNSwgNjM5OSwgMS4yNjQxNzQ4MTg5OTI2MTQ3XSwgWzE2NjM5MjAwNTQuODc5OTI3OSwgNjQxNywgMS4yNzk1Mzc2Nzc3NjQ4OTI2XSwgWzE2NjM5MjAwNTQuOTgyMTg4NywgNjQyNiwgMS4yNjM5NTM5MjQxNzkwNzcxXSwgWzE2NjM5MjAwNTUuMTgxMDgxOCwgNjQ0NCwgMS4yNDg5NTU0ODgyMDQ5NTZdLCBbMTY2MzkyMDA1NS4zNjMxMjkxLCA2NDYyLCAxLjI4ODU4MzI3ODY1NjAwNTldLCBbMTY2MzkyMDA1NS41NTYwODEsIDY0ODAsIDEuMjYxNzE1NzY5NzY3NzYxMl0sIFsxNjYzOTIwMDU1LjY0NzA3MDYsIDY0ODksIDEuMjQ0NzA4Mjk5NjM2ODQwOF0sIFsxNjYzOTIwMDU1Ljc0NTMwNjMsIDY0OTgsIDEuMjg4ODc0Mzg3NzQxMDg4OV0sIFsxNjYzOTIwMDU1LjkzOTI0MTIsIDY1MTYsIDEuMjU3OTM2NTk2ODcwNDIyNF0sIFsxNjYzOTIwMDU2LjA1MzA4MjcsIDY1MjUsIDEuMjQyNzMyNDA1NjYyNTM2Nl0sIFsxNjYzOTIwMDU2LjE0NjkxNjIsIDY1MzQsIDEuMjgyNTgxMDkwOTI3MTI0XSwgWzE2NjM5MjAwNTYuMjQ1NzE0NCwgNjU0MywgMS4zMDM2NDk3ODMxMzQ0NjA0XSwgWzE2NjM5MjAwNTYuMzM5MjYzMiwgNjU1MiwgMS4zNjE5ODY4NzU1MzQwNTc2XSwgWzE2NjM5MjAwNTYuNDQwOTk4LCA2NTYxLCAxLjI5MTQ0MjYzMjY3NTE3MV0sIFsxNjYzOTIwMDU2LjUzNjQwNywgNjU3MCwgMS4yOTc3MTI1NjQ0NjgzODM4XSwgWzE2NjM5MjAwNTYuNjI3NjExOSwgNjU3OSwgMS4zMDA4OTk4NjMyNDMxMDNdLCBbMTY2MzkyMDA1Ni43MjI5NjI2LCA2NTg4LCAxLjI4OTk0OTA1OTQ4NjM4OTJdLCBbMTY2MzkyMDA1Ni44MjE5ODIxLCA2NTk3LCAxLjI0NzU0MDM1NDcyODY5ODddLCBbMTY2MzkyMDA1Ni45MTc4MDk3LCA2NjA2LCAxLjI2MDk1MDMyNjkxOTU1NTddLCBbMTY2MzkyMDA1Ny4zOTcyMzE2LCA2NjUxLCAxLjI0NTIzNjc1NDQxNzQxOTRdLCBbMTY2MzkyMDA1Ny40ODc4OTE0LCA2NjYwLCAxLjIzMjI3Mjc0NDE3ODc3Ml0sIFsxNjYzOTIwMDU3LjU4NDk3ODYsIDY2NjksIDEuMjU4MjA5MzQ3NzI0OTE0Nl0sIFsxNjYzOTIwMDU3Ljc2NTk4NjIsIDY2ODcsIDEuMjQ2ODc2MzU4OTg1OTAwOV0sIFsxNjYzOTIwMDU3Ljg2NDYwOTcsIDY2OTYsIDEuMjM2NzY0NDMwOTk5NzU1OV0sIFsxNjYzOTIwMDU3Ljk1OTgxMDUsIDY3MDUsIDEuMjE4NjEwMjg2NzEyNjQ2NV0sIFsxNjYzOTIwMDU4LjA1OTg0MTYsIDY3MTQsIDEuMjM1MjIwNjcwNzAwMDczMl0sIFsxNjYzOTIwMDU4LjY0OTI5NTMsIDY3NjgsIDEuMjU4MTY4MTAxMzEwNzNdLCBbMTY2MzkyMDA1OC43NTIwMTgsIDY3NzcsIDEuMjU3MjYyNTg3NTQ3MzAyMl0sIFsxNjYzOTIwMDU5LjA0NjE1MjYsIDY4MDQsIDEuMjcxNDg2ODc4Mzk1MDgwNl0sIFsxNjYzOTIwMDU5LjE0MDE5NTQsIDY4MTMsIDEuMjk3NjEwNDAyMTA3MjM4OF0sIFsxNjYzOTIwMDU5LjMzMzAwNTQsIDY4MzEsIDEuMjUzMDEzODQ5MjU4NDIyOV0sIFsxNjYzOTIwMDU5LjQzNDI1MDYsIDY4NDAsIDEuMjgzNDY0MDc0MTM0ODI2N10sIFsxNjYzOTIwMDU5LjgwNTA1MiwgNjg3NiwgMS4yMjM1MTc4OTQ3NDQ4NzNdLCBbMTY2MzkyMDA1OS44OTcyNzM1LCA2ODg1LCAxLjI0NTc2Mzc3ODY4NjUyMzRdLCBbMTY2MzkyMDA1OS45OTI3ODAyLCA2ODk0LCAxLjIzODUyNDkxMzc4Nzg0MThdLCBbMTY2MzkyMDA2MC4xNzcxODEyLCA2OTEyLCAxLjI2OTUzMTcyNjgzNzE1ODJdLCBbMTY2MzkyMDA2MC4yODEzMDc1LCA2OTIxLCAxLjI1MTQ4NzM3NDMwNTcyNV0sIFsxNjYzOTIwMDYwLjM4MDU2MzUsIDY5MzAsIDEuMjQwMTcxNzkwMTIyOTg1OF0sIFsxNjYzOTIwMDYwLjQ3ODY3MjMsIDY5MzksIDEuMjY5NDc5NzUxNTg2OTE0XSwgWzE2NjM5MjAwNjAuNTcyNzg1NiwgNjk0OCwgMS4yNjQzNjU0MzQ2NDY2MDY0XSwgWzE2NjM5MjAwNjAuNjcyMjc5MSwgNjk1NywgMS4yMDk0NDY3ODc4MzQxNjc1XSwgWzE2NjM5MjAwNjAuNzY3NzM4OCwgNjk2NiwgMS4yNTE1OTU5NzM5Njg1MDU5XSwgWzE2NjM5MjAwNjAuOTUxMDQxLCA2OTg0LCAxLjI4MzA5MjM3OTU3MDAwNzNdLCBbMTY2MzkyMDA2MS4wNDgzOTI4LCA2OTkzLCAxLjMyODUyNDU4OTUzODU3NDJdLCBbMTY2MzkyMDA2MS4xNTQ2MjU3LCA3MDAyLCAxLjI4Nzc5MTg0ODE4MjY3ODJdLCBbMTY2MzkyMDA2MS40Mzc0Nzc0LCA3MDExLCAxLjI0OTYwODM5NzQ4MzgyNTddLCBbMTY2MzkyMDA2MS41MjgyNDE2LCA3MDIwLCAxLjIxNDA3NDczMDg3MzEwOF0sIFsxNjYzOTIwMDYxLjYxOTE0NjMsIDcwMjksIDEuMjQyMzY4NTc4OTEwODI3Nl0sIFsxNjYzOTIwMDYxLjcxNDU0NjcsIDcwMzgsIDEuMjYzNTExODk2MTMzNDIyOV0sIFsxNjYzOTIwMDYxLjgwMzQwNDMsIDcwNDcsIDEuMjI0OTA2NjgyOTY4MTM5Nl0sIFsxNjYzOTIwMDYxLjg5OTU1NTQsIDcwNTYsIDEuMjE1NDI2NjgzNDI1OTAzM10sIFsxNjYzOTIwMDYyLjE4NzQxMywgNzA4MywgMS4yMzI5OTY5NDA2MTI3OTNdLCBbMTY2MzkyMDA2Mi4zNjk5NDc3LCA3MTAxLCAxLjIwOTYzMjAzOTA3MDEyOTRdLCBbMTY2MzkyMDA2Mi40NzQ3NTEsIDcxMTAsIDEuMjM2ODM0NjQ1MjcxMzAxM10sIFsxNjYzOTIwMDYyLjY2NjY0ODEsIDcxMjgsIDEuMjIzOTQ1Mzc5MjU3MjAyMV0sIFsxNjYzOTIwMDYyLjg1MzQzNDgsIDcxNDYsIDEuMjM4MDcxMDg0MDIyNTIyXSwgWzE2NjM5MjAwNjMuMDQ5OTE1NiwgNzE2NCwgMS4yNTk0MTQ0MzQ0MzI5ODM0XSwgWzE2NjM5MjAwNjMuMTQ2Nzg4MSwgNzE3MywgMS4yNzc5NTU1MzIwNzM5NzQ2XSwgWzE2NjM5MjAwNjMuMjM0MTcwNywgNzE4MiwgMS4zMTI2MjI0Mjc5NDAzNjg3XSwgWzE2NjM5MjAwNjMuNDIzNTI3NywgNzIwMCwgMS4yMTg3MzgwNzkwNzEwNDVdLCBbMTY2MzkyMDA2My41MjY1Njk4LCA3MjA5LCAxLjIxMjYxNTEzMjMzMTg0ODFdLCBbMTY2MzkyMDA2My44OTA4NzcsIDcyNDUsIDEuMzAzMjg3ODYzNzMxMzg0M10sIFsxNjYzOTIwMDYzLjk4MDUyODQsIDcyNTQsIDEuMjU4MTI3OTI3NzgwMTUxNF0sIFsxNjYzOTIwMDY0LjA3MjkzNjUsIDcyNjMsIDEuMjcyMjE5MTgxMDYwNzkxXSwgWzE2NjM5MjAwNjQuMTY3NTA0MywgNzI3MiwgMS4yOTc5MDEzOTE5ODMwMzIyXSwgWzE2NjM5MjAwNjQuNDQ1ODk0LCA3Mjk5LCAxLjIzMjkxNDU2Njk5MzcxMzRdLCBbMTY2MzkyMDA2NC41Mzk1MDU3LCA3MzA4LCAxLjIyMzM5Njg5NzMxNTk3OV0sIFsxNjYzOTIwMDY0LjcyMjc0MjgsIDczMjYsIDEuMjQxNTY1MTA4Mjk5MjU1NF0sIFsxNjYzOTIwMDY1LjE3Mzk5NTMsIDczNjIsIDEuMjc3MzMxOTQ4MjgwMzM0NV0sIFsxNjYzOTIwMDY1LjI3MjU1NTYsIDczNzEsIDEuMTk2OTExMDk2NTcyODc2XSwgWzE2NjM5MjAwNjUuMzY2MDI5NywgNzM4MCwgMS4yMTg3ODMzNzg2MDEwNzQyXSwgWzE2NjM5MjAwNjUuNTc0ODU5NCwgNzM5OCwgMS4yMzc4NTYyNjg4ODI3NTE1XSwgWzE2NjM5MjAwNjUuNzA5MjI0LCA3NDA3LCAxLjI0NjA1ODgyMTY3ODE2MTZdLCBbMTY2MzkyMDA2NS44MzY0MTEyLCA3NDE2LCAxLjIyODY4NjU3MTEyMTIxNThdLCBbMTY2MzkyMDA2NS45MzU3MzU1LCA3NDI1LCAxLjIxNjcwNjk5MTE5NTY3ODddLCBbMTY2MzkyMDA2Ni4wMjk4NzMxLCA3NDM0LCAxLjIzMzcwODE0MzIzNDI1M10sIFsxNjYzOTIwMDY2LjEyNDI5NTUsIDc0NDMsIDEuMjI5ODY2MTQ3MDQxMzIwOF0sIFsxNjYzOTIwMDY2LjIyNTUxOTIsIDc0NTIsIDEuMjA0ODQxMjU2MTQxNjYyNl0sIFsxNjYzOTIwMDY2LjMxODY1NDMsIDc0NjEsIDEuMjM1MTQ3NDc2MTk2Mjg5XSwgWzE2NjM5MjAwNjYuNTEwNzQ4MSwgNzQ3OSwgMS4yMTgyNTQyMDg1NjQ3NTgzXSwgWzE2NjM5MjAwNjYuNzEwODA0NSwgNzQ5NywgMS4yMTUwNzM1ODU1MTAyNTRdLCBbMTY2MzkyMDA2Ni44MDk0MDEzLCA3NTA2LCAxLjIyMzMwODY4MjQ0MTcxMTRdLCBbMTY2MzkyMDA2Ni45OTg5NDc5LCA3NTI0LCAxLjIxMTc5ODA3MTg2MTI2N10sIFsxNjYzOTIwMDY3LjA5MzI0MTUsIDc1MzMsIDEuMjAxODg1NDYxODA3MjUxXSwgWzE2NjM5MjAwNjcuMTk1MTkzMywgNzU0MiwgMS4xOTg4NzgyODgyNjkwNDNdLCBbMTY2MzkyMDA2Ny4zOTUwNjIyLCA3NTYwLCAxLjE5NjI2MjI0MDQwOTg1MV0sIFsxNjYzOTIwMDY3LjUwMzczMjcsIDc1NjksIDEuMTkyNTkxNjY3MTc1MjkzXSwgWzE2NjM5MjAwNjcuNzExNzcyNywgNzU4NywgMS4yMjA3NzQ2NTA1NzM3MzA1XSwgWzE2NjM5MjAwNjcuODExNTA0NiwgNzU5NiwgMS4yNzM4ODQ1MzQ4MzU4MTU0XSwgWzE2NjM5MjAwNjguMDI3NzI2NCwgNzYxNCwgMS4yMTMyNzYyNjcwNTE2OTY4XSwgWzE2NjM5MjAwNjguNTc0NTE1OCwgNzY1OSwgMS4yMjk0MzY4NzQzODk2NDg0XSwgWzE2NjM5MjAwNjguNjc3MTQ0OCwgNzY2OCwgMS4yMzg3NjU5NTQ5NzEzMTM1XSwgWzE2NjM5MjAwNjkuMDIzMzQyNiwgNzY5NSwgMS4yMjEzMDI2Mjg1MTcxNTA5XSwgWzE2NjM5MjAwNjkuMjQwMjc1NiwgNzcxMywgMS4zMzA2NjQzOTYyODYwMTA3XSwgWzE2NjM5MjAwNjkuMzQxOTE2MywgNzcyMiwgMS4zNTg4OTc1NjY3OTUzNDkxXSwgWzE2NjM5MjAwNjkuNDQxMzEwNiwgNzczMSwgMS4yNDQyMjk5MTI3NTc4NzM1XSwgWzE2NjM5MjAwNjkuNjQwMDAwMywgNzc0OSwgMS4yMDQzODQ0NDYxNDQxMDRdLCBbMTY2MzkyMDA2OS43NDY4NjUsIDc3NTgsIDEuMjAxNzIwMTE4NTIyNjQ0XSwgWzE2NjM5MjAwNjkuODU5ODYyLCA3NzY3LCAxLjE3MzgzNjgyNzI3ODEzNzJdLCBbMTY2MzkyMDA3MC4zNTYxNTc1LCA3Nzk0LCAxLjIzMzE1MDAwNTM0MDU3NjJdLCBbMTY2MzkyMDA3MC40NTU3MDQ3LCA3ODAzLCAxLjIwMDg3MDg3MTU0Mzg4NDNdLCBbMTY2MzkyMDA3MC42NDY1NjcsIDc4MjEsIDEuMTk5MzA5ODI1ODk3MjE2OF0sIFsxNjYzOTIwMDcwLjg0NTE4NCwgNzgzOSwgMS4yMzE1MjU3Nzg3NzA0NDY4XSwgWzE2NjM5MjAwNzAuOTQ2NTUzMiwgNzg0OCwgMS4yMDk1MDA3ODk2NDIzMzRdLCBbMTY2MzkyMDA3MS41NzExNzM3LCA3OTAyLCAxLjIxNzA4MTA2OTk0NjI4OV0sIFsxNjYzOTIwMDcxLjg1OTk3NDQsIDc5MjksIDEuMTg3MjkyNjk1MDQ1NDcxMl0sIFsxNjYzOTIwMDcxLjk2NDc1OCwgNzkzOCwgMS4xOTY2NjkxMDE3MTUwODhdLCBbMTY2MzkyMDA3Mi4wNjcxNDI1LCA3OTQ3LCAxLjIzNjU1MjM1NzY3MzY0NV0sIFsxNjYzOTIwMDcyLjE2Mzg0MzQsIDc5NTYsIDEuMTc5MTM4MDY0Mzg0NDYwNF0sIFsxNjYzOTIwMDcyLjI2MTgxLCA3OTY1LCAxLjE3MzExMTY3NzE2OTc5OThdLCBbMTY2MzkyMDA3Mi4zNTg1OTA2LCA3OTc0LCAxLjE4MjUyMTIyNDAyMTkxMTZdLCBbMTY2MzkyMDA3Mi40NTY5ODA3LCA3OTgzLCAxLjIwNTEyMjM1MTY0NjQyMzNdLCBbMTY2MzkyMDA3Mi41NTg5ODI0LCA3OTkyLCAxLjIwMTIzNzQ0MDEwOTI1M10sIFsxNjYzOTIwMDcyLjY1MTc2MTMsIDgwMDEsIDEuMjA1MDQ1NDYxNjU0NjYzXSwgWzE2NjM5MjAwNzIuODQxNjEzOCwgODAxOSwgMS4yMDYxMDg1NzAwOTg4NzddLCBbMTY2MzkyMDA3My4wMzUxOTMyLCA4MDM3LCAxLjIyODYzMjgwNzczMTYyODRdLCBbMTY2MzkyMDA3My4zMzIxMTg1LCA4MDY0LCAxLjE5OTMxNTkwNTU3MDk4MzldLCBbMTY2MzkyMDA3My41MjMyOTQ3LCA4MDgyLCAxLjE5ODU3MTkyMDM5NDg5NzVdLCBbMTY2MzkyMDA3My42MjA1MDc3LCA4MDkxLCAxLjE4NTc2NjY5NjkyOTkzMTZdLCBbMTY2MzkyMDA3My45MDYyNTMzLCA4MTE4LCAxLjIxMzU0MDMxNTYyODA1MThdLCBbMTY2MzkyMDA3NC4wMDE5NTk2LCA4MTI3LCAxLjIxNTk1MDI1MDYyNTYxMDRdLCBbMTY2MzkyMDA3NC4yMDczODQ2LCA4MTQ1LCAxLjIxNjQwMzk2MTE4MTY0MDZdLCBbMTY2MzkyMDA3NC4zMDE1ODc4LCA4MTU0LCAxLjIyNjcyMjQ3ODg2NjU3NzFdLCBbMTY2MzkyMDA3NC40MDQwMDE3LCA4MTYzLCAxLjE4ODE4NzcxODM5MTQxODVdLCBbMTY2MzkyMDA3NC40OTU4MzA4LCA4MTcyLCAxLjE4NDY3MDA5MDY3NTM1NF0sIFsxNjYzOTIwMDc0LjU5MDY1NTYsIDgxODEsIDEuMTc4Mjk2ODA0NDI4MTAwNl0sIFsxNjYzOTIwMDc0Ljc4NTc2NzMsIDgxOTksIDEuMjM0NTIyOTM4NzI4MzMyNV0sIFsxNjYzOTIwMDc0Ljg5NTU3OTYsIDgyMDgsIDEuMTg0NjUwODk3OTc5NzM2M10sIFsxNjYzOTIwMDc1LjA5NjA2NiwgODIyNiwgMS4yMDk0MjQxMzgwNjkxNTI4XSwgWzE2NjM5MjAwNzUuMTkxMzQ5NywgODIzNSwgMS4yMzEzNDQxMDM4MTMxNzE0XSwgWzE2NjM5MjAwNzUuMzg5MzQ5MiwgODI1MywgMS4xNjg5OTk3OTExNDUzMjQ3XSwgWzE2NjM5MjAwNzUuNDgwODA5NywgODI2MiwgMS4xNzgwMTY3ODE4MDY5NDU4XSwgWzE2NjM5MjAwNzUuNTc1MDE5NiwgODI3MSwgMS4xNTM0NjU4NjcwNDI1NDE1XSwgWzE2NjM5MjAwNzUuNjc0ODkzLCA4MjgwLCAxLjIyODY1MTA0Njc1MjkyOTddLCBbMTY2MzkyMDA3NS43NzIxNTg5LCA4Mjg5LCAxLjIyOTQyNzgxNDQ4MzY0MjZdLCBbMTY2MzkyMDA3NS45MTMxNjk2LCA4Mjk4LCAxLjI5MDQ2NzI2MjI2ODA2NjRdLCBbMTY2MzkyMDA3Ni4xMzY2MDMsIDgzMTYsIDEuMzI2NDc0MDcwNTQ5MDExMl0sIFsxNjYzOTIwMDc2LjU0NjcxOCwgODM1MiwgMS4yMTk3MjE2NzQ5MTkxMjg0XSwgWzE2NjM5MjAwNzYuNjQxNDE5MiwgODM2MSwgMS4xOTQ5ODQ5MTI4NzIzMTQ1XSwgWzE2NjM5MjAwNzYuNzM2NTk4LCA4MzcwLCAxLjI1MTI3NDM0NzMwNTI5NzldLCBbMTY2MzkyMDA3Ni44MzA0ODIyLCA4Mzc5LCAxLjE4NjYyMzMzNDg4NDY0MzZdLCBbMTY2MzkyMDA3Ni45MjAwNTY4LCA4Mzg4LCAxLjE5NDQwOTEzMjAwMzc4NDJdLCBbMTY2MzkyMDA3Ny4wMDY3ODczLCA4Mzk3LCAxLjE3MDIyMDk3MTEwNzQ4M10sIFsxNjYzOTIwMDc3LjEwNzAwMjMsIDg0MDYsIDEuMjEzMTI4ODA1MTYwNTIyNV0sIFsxNjYzOTIwMDc3LjIwOTI0NjYsIDg0MTUsIDEuMTgxMjA5NDQ0OTk5Njk0OF0sIFsxNjYzOTIwMDc3LjMwMTI5MjcsIDg0MjQsIDEuMTgwMTU5NTY4Nzg2NjIxXSwgWzE2NjM5MjAwNzcuNzcwOTEzMSwgODQ2MCwgMS4yNzQ0NjkxMzcxOTE3NzI1XSwgWzE2NjM5MjAwNzcuOTcwODk0NiwgODQ3OCwgMS4xOTk5OTU2MzY5NDAwMDI0XSwgWzE2NjM5MjAwNzguMDkzMzg4LCA4NDg3LCAxLjE0MjA2NzMxMzE5NDI3NV0sIFsxNjYzOTIwMDc4LjQzNjYzNywgODUxNCwgMS4xNjUyMDIzNzkyMjY2ODQ2XSwgWzE2NjM5MjAwNzguNTQzNjY1NCwgODUyMywgMS4xODUzNzY4ODI1NTMxMDA2XSwgWzE2NjM5MjAwNzkuMDYzNDcxNiwgODU1MCwgMS4xNzYzODM5NzIxNjc5Njg4XSwgWzE2NjM5MjAwNzkuMTY0MzM3LCA4NTU5LCAxLjE5MjM4NDEyMzgwMjE4NV0sIFsxNjYzOTIwMDc5LjM2MjIyMzQsIDg1NzcsIDEuMTY3ODgxMDExOTYyODkwNl0sIFsxNjYzOTIwMDc5LjU3MTkwNDIsIDg1OTUsIDEuMjQ2NDY1NjgyOTgzMzk4NF0sIFsxNjYzOTIwMDc5LjY2NjI3MDMsIDg2MDQsIDEuMTgzMTUzODY3NzIxNTU3Nl0sIFsxNjYzOTIwMDc5Ljc5ODQ1MSwgODYxMywgMS4xOTk3MzgxNDQ4NzQ1NzI4XSwgWzE2NjM5MjAwODAuMTY1MjEzNiwgODY0MCwgMS4yMTE5NjkxMzcxOTE3NzI1XSwgWzE2NjM5MjAwODAuMjY2Njc0NSwgODY0OSwgMS4yMDYxNzY1MTkzOTM5MjFdLCBbMTY2MzkyMDA4MC40MDc3NTAxLCA4NjU4LCAxLjE4ODcxNzI0NjA1NTYwM10sIFsxNjYzOTIwMDgwLjUyMjc1MTYsIDg2NjcsIDEuMTg0NDQwNjEyNzkyOTY4OF0sIFsxNjYzOTIwMDgwLjYzMTQxMjUsIDg2NzYsIDEuMjIzNjEwNTIwMzYyODU0XSwgWzE2NjM5MjAwODAuNzI5NjIsIDg2ODUsIDEuMTQ1NTI0MjYzMzgxOTU4XSwgWzE2NjM5MjAwODAuODIzNTQxMiwgODY5NCwgMS4yMDQyNTg0NDE5MjUwNDg4XSwgWzE2NjM5MjAwODEuMDIyNjE0LCA4NzEyLCAxLjIwOTk1MDY4NTUwMTA5ODZdLCBbMTY2MzkyMDA4MS4xMjMzMzgsIDg3MjEsIDEuMTc1ODE1NDYzMDY2MTAxXSwgWzE2NjM5MjAwODEuNDEwNzM5MiwgODc0OCwgMS4xNjU2Nzg4NTg3NTcwMTldLCBbMTY2MzkyMDA4MS45MzA4MzYsIDg3OTMsIDEuMTY5MTY4NTkxNDk5MzI4Nl0sIFsxNjYzOTIwMDgyLjEyMjM1NzEsIDg4MTEsIDEuMTg1MDQ4MTAzMzMyNTE5NV0sIFsxNjYzOTIwMDgyLjIxODE1NjMsIDg4MjAsIDEuMTY0NzUzNzk0NjcwMTA1XSwgWzE2NjM5MjAwODIuNDg4MDkzOSwgODgzOCwgMS4yNzM5OTQwODgxNzI5MTI2XSwgWzE2NjM5MjAwODIuNTkzMjUxLCA4ODQ3LCAxLjIyOTQ4OTQ0NTY4NjM0MDNdLCBbMTY2MzkyMDA4Mi42OTA1MTg2LCA4ODU2LCAxLjIxNTAxMTk1NDMwNzU1NjJdLCBbMTY2MzkyMDA4Mi45NjU2NDUsIDg4ODMsIDEuMTg5MTE5OTM1MDM1NzA1Nl0sIFsxNjYzOTIwMDgzLjA2ODAwMjIsIDg4OTIsIDEuMTU1Njk5OTY4MzM4MDEyN10sIFsxNjYzOTIwMDgzLjE2Nzc0MjcsIDg5MDEsIDEuMTU4NDcxNzAzNTI5MzU4XSwgWzE2NjM5MjAwODMuMjYyNTc5NCwgODkxMCwgMS4xNDU0NTAyMzQ0MTMxNDddLCBbMTY2MzkyMDA4My4zNTMzNTUsIDg5MTksIDEuMTQ3MjU0MjI4NTkxOTE5XSwgWzE2NjM5MjAwODMuNTU0MjY0LCA4OTM3LCAxLjE5OTQ4Mzk5MDY2OTI1MDVdLCBbMTY2MzkyMDA4My43Nzk3NDYsIDg5NTUsIDEuMTUxOTQyNjEwNzQwNjYxNl0sIFsxNjYzOTIwMDgzLjg3NjIxOSwgODk2NCwgMS4xODIzMDk2Mjc1MzI5NTldLCBbMTY2MzkyMDA4NC4wMTAwMjE3LCA4OTczLCAxLjE3ODM5NTk4NjU1NzAwNjhdLCBbMTY2MzkyMDA4NC4yMjMzMTYsIDg5OTEsIDEuMTY5ODc0MTkxMjg0MTc5N10sIFsxNjYzOTIwMDg0LjMxNDQwNTIsIDkwMDAsIDEuMjA0MjA2MTA5MDQ2OTM2XSwgWzE2NjM5MjAwODQuNTAxOTM3NiwgOTAxOCwgMS4xNzU1Njc4NjUzNzE3MDRdLCBbMTY2MzkyMDA4NC41OTk3NTksIDkwMjcsIDEuMTcxNTQxMzMzMTk4NTQ3NF0sIFsxNjYzOTIwMDg0LjY5NjgxODYsIDkwMzYsIDEuMTc3OTk1MzI0MTM0ODI2N10sIFsxNjYzOTIwMDg0Ljc5MTk1OTgsIDkwNDUsIDEuMTc1NzUzMjM1ODE2OTU1Nl0sIFsxNjYzOTIwMDg0Ljg4MzI0NTIsIDkwNTQsIDEuMTk0MTgzMTExMTkwNzk2XSwgWzE2NjM5MjAwODQuOTc2OTk4NiwgOTA2MywgMS4xOTM3Mzg5MzczNzc5Mjk3XSwgWzE2NjM5MjAwODUuNTE1MjIwNiwgOTEwOCwgMS4xNDI2MzM2NzY1Mjg5MzA3XSwgWzE2NjM5MjAwODUuNzEyMjQ2LCA5MTI2LCAxLjE4NDI3NTUwNzkyNjk0MV0sIFsxNjYzOTIwMDg1LjkxMzIzNzYsIDkxNDQsIDEuMTgxMDM3NjY0NDEzNDUyMV0sIFsxNjYzOTIwMDg2LjAwNzc1OCwgOTE1MywgMS4xNjQyNDI3NDQ0NDU4MDA4XSwgWzE2NjM5MjAwODYuMDk0OTgwNywgOTE2MiwgMS4xNTgwNDIwNzMyNDk4MTddLCBbMTY2MzkyMDA4Ni4zODczMjcyLCA5MTg5LCAxLjE2MDQxNTE3MjU3NjkwNDNdLCBbMTY2MzkyMDA4Ni41NzMxODAyLCA5MjA3LCAxLjE3Mzk4MDIzNjA1MzQ2NjhdLCBbMTY2MzkyMDA4Ni45NTc3MzQ4LCA5MjQzLCAxLjE2MjkxMDkzODI2MjkzOTVdLCBbMTY2MzkyMDA4Ny4xNjI2Nzk0LCA5MjYxLCAxLjE4NTM0MjE5MjY0OTg0MTNdLCBbMTY2MzkyMDA4Ny4yODAwOTIsIDkyNzAsIDEuMTk4MTE4MDkwNjI5NTc3Nl0sIFsxNjYzOTIwMDg3LjQ5MDE2ODMsIDkyODgsIDEuMTgwNzE2Mjc2MTY4ODIzMl0sIFsxNjYzOTIwMDg4LjA2NjAzMTcsIDkzMjQsIDEuMTg5MTQwNDM5MDMzNTA4M10sIFsxNjYzOTIwMDg4LjE2MjkwNjIsIDkzMzMsIDEuMjI5NTc5OTI1NTM3MTA5NF0sIFsxNjYzOTIwMDg4LjI5MTY5OSwgOTM0MiwgMS4yMDY5MjA2MjM3NzkyOTY5XSwgWzE2NjM5MjAwODguNDA2NDE5OCwgOTM1MSwgMS4xODMxNDY1OTU5NTQ4OTVdLCBbMTY2MzkyMDA4OC41MDE0NTk2LCA5MzYwLCAxLjE2MjQzOTEwNzg5NDg5NzVdLCBbMTY2MzkyMDA4OC44ODExMDc4LCA5Mzk2LCAxLjE2NDc4NzI5MjQ4MDQ2ODhdLCBbMTY2MzkyMDA4OS4wODA1NjA3LCA5NDE0LCAxLjE4MDI4MzMwODAyOTE3NDhdLCBbMTY2MzkyMDA4OS4xNzk4MTYyLCA5NDIzLCAxLjIyNjA3OTQ2Mzk1ODc0MDJdLCBbMTY2MzkyMDA4OS40ODk0MTMsIDk0NTAsIDEuMTUzMjU4MjA0NDYwMTQ0XSwgWzE2NjM5MjAwODkuNzg2MDc5MiwgOTQ3NywgMS4xOTE3NjExMzYwNTQ5OTI3XSwgWzE2NjM5MjAwODkuODk5OTUyLCA5NDg2LCAxLjE1NTM4MzM0ODQ2NDk2NThdLCBbMTY2MzkyMDA5MC4wMTk0MTc1LCA5NDk1LCAxLjE5NjEzNTQwMTcyNTc2OV0sIFsxNjYzOTIwMDkwLjI1NzU3NjcsIDk1MTMsIDEuMTU5MDQ5MDM0MTE4NjUyM10sIFsxNjYzOTIwMDkwLjQ4Njg2NCwgOTUzMSwgMS4yMjQwNzg1MzYwMzM2MzA0XSwgWzE2NjM5MjAwOTAuNTkxMTQzOCwgOTU0MCwgMS4xNTgyOTgxMzQ4MDM3NzJdLCBbMTY2MzkyMDA5MC43MDIwMDgyLCA5NTQ5LCAxLjE3NTY2NDc4MjUyNDEwODldLCBbMTY2MzkyMDA5MC45NDE5ODQ3LCA5NTY3LCAxLjE1NjA4OTkwMTkyNDEzMzNdLCBbMTY2MzkyMDA5MS4yNjU0OTgyLCA5NTk0LCAxLjE2NTAwNjk5NTIwMTExMDhdLCBbMTY2MzkyMDA5MS4zNjE5MTcsIDk2MDMsIDEuMTg1NjI1MDc2MjkzOTQ1M10sIFsxNjYzOTIwMDkxLjQ2NzMxMywgOTYxMiwgMS4xNjA1ODM3MzQ1MTIzMjldLCBbMTY2MzkyMDA5MS42ODUyODgyLCA5NjMwLCAxLjE5MDcwNjk2ODMwNzQ5NTFdLCBbMTY2MzkyMDA5MS44MTk0ODIzLCA5NjM5LCAxLjE2OTgwNDA5NjIyMTkyMzhdLCBbMTY2MzkyMDA5MS45MzMzMTEsIDk2NDgsIDEuMTU1MjE5NzkzMzE5NzAyMV0sIFsxNjYzOTIwMDkyLjAzNzc0MiwgOTY1NywgMS4xNTA0MTE2MDU4MzQ5NjFdLCBbMTY2MzkyMDA5Mi4xNDU1MjQsIDk2NjYsIDEuMjIzMDczNjAxNzIyNzE3M10sIFsxNjYzOTIwMDkyLjI0MDI4NCwgOTY3NSwgMS4yODUyNjY3NTcwMTE0MTM2XSwgWzE2NjM5MjAwOTIuNTIxMjY2MiwgOTcwMiwgMS4xNjQ1MzIxODQ2MDA4M10sIFsxNjYzOTIwMDkyLjYyMDc4MzgsIDk3MTEsIDEuMTU1ODI2MjEwOTc1NjQ3XSwgWzE2NjM5MjAwOTIuODExMDc4NSwgOTcyOSwgMS4xNjc2ODc0MTYwNzY2NjAyXSwgWzE2NjM5MjAwOTIuOTAzMzM2MywgOTczOCwgMS4xNzI4MzI5NjU4NTA4M10sIFsxNjYzOTIwMDkzLjAxNTcxMTgsIDk3NDcsIDEuMjMxNjg2NTkyMTAyMDUwOF0sIFsxNjYzOTIwMDkzLjExMTgzNjcsIDk3NTYsIDEuMTYxMDcwNTg1MjUwODU0NV0sIFsxNjYzOTIwMDkzLjMwNTMxMiwgOTc3NCwgMS4xODY3ODczNjY4NjcwNjU0XSwgWzE2NjM5MjAwOTMuNDAxMDEyNywgOTc4MywgMS4xNjcwODkzNDMwNzA5ODM5XSwgWzE2NjM5MjAwOTMuNDkzMTEyOCwgOTc5MiwgMS4xNDgzODI5MDIxNDUzODU3XSwgWzE2NjM5MjAwOTMuODU1MDUyMiwgOTgyOCwgMS4xNjYzODUwNTQ1ODgzMTc5XSwgWzE2NjM5MjAwOTMuOTUxMjQ4NCwgOTgzNywgMS4xNjM0Nzc3Nzg0MzQ3NTM0XSwgWzE2NjM5MjAwOTQuMDQ2Mjk4MywgOTg0NiwgMS4xOTE5NDM0MDcwNTg3MTU4XSwgWzE2NjM5MjAwOTQuNTI4NTE0OSwgOTg5MSwgMS4xNTYzNDIzODcxOTk0MDE5XSwgWzE2NjM5MjAwOTQuNzExNzk2LCA5OTA5LCAxLjEzMzI3ODk2NTk1MDAxMjJdLCBbMTY2MzkyMDA5NC44OTM3NDc4LCA5OTI3LCAxLjE3NDMxOTUwNTY5MTUyODNdLCBbMTY2MzkyMDA5NC45ODIzMzg3LCA5OTM2LCAxLjE0MzY0MjA2NzkwOTI0MDddLCBbMTY2MzkyMDA5NS4wNzkwMzUzLCA5OTQ1LCAxLjE2Mzc3MDc5NDg2ODQ2OTJdLCBbMTY2MzkyMDA5NS4zNjg0MTgsIDk5NzIsIDEuMTMyNjk5MDEyNzU2MzQ3N10sIFsxNjYzOTIwMDk1LjQ2NDA5NjUsIDk5ODEsIDEuMTU0MTIyNTkxMDE4Njc2OF0sIFsxNjYzOTIwMDk1LjU2MDkzOTYsIDk5OTAsIDEuMTY1MTI2ODAwNTM3MTA5NF0sIFsxNjYzOTIwMDk1LjY1NjIzMTksIDk5OTksIDEuMTc2NDE5NDk2NTM2MjU0OV0sIFsxNjYzOTIwMDk1Ljc5MzQwNzcsIDEwMDA4LCAxLjIxMDczMDMxNDI1NDc2MDddLCBbMTY2MzkyMDA5NS45MTI4MzA0LCAxMDAxNywgMS4xNzM0NzQ2Njk0NTY0ODJdLCBbMTY2MzkyMDA5Ni4wMTc2MjYzLCAxMDAyNiwgMS4xNjY2OTcxNDQ1MDgzNjE4XSwgWzE2NjM5MjAwOTYuMTIxMjU4MywgMTAwMzUsIDEuMTY5NjI2OTUxMjE3NjUxNF0sIFsxNjYzOTIwMDk2LjMyMTM5MTMsIDEwMDUzLCAxLjE0NTQ5MjkxMTMzODgwNjJdLCBbMTY2MzkyMDA5Ni42MzQ1NDU2LCAxMDA2MiwgMS4xNjk5OTIzMjc2OTAxMjQ1XSwgWzE2NjM5MjAwOTYuODU0MDQwNiwgMTAwODAsIDEuMTg1MjkzNTU1MjU5NzA0Nl0sIFsxNjYzOTIwMDk2Ljk1MjMzMSwgMTAwODksIDEuMTMxMjAyMzQwMTI2MDM3Nl0sIFsxNjYzOTIwMDk3LjA0NjA3MTMsIDEwMDk4LCAxLjE0OTIzMTY3MjI4Njk4NzNdLCBbMTY2MzkyMDA5Ny4xNDE4ODYsIDEwMTA3LCAxLjE2NzIxMjI0Nzg0ODUxMDddLCBbMTY2MzkyMDA5Ny41MTI3MzQ3LCAxMDEzNCwgMS4xNjIxMTM1NDczMjUxMzQzXSwgWzE2NjM5MjAwOTcuNjIwODMxLCAxMDE0MywgMS4xNzgyMzk4MjIzODc2OTUzXSwgWzE2NjM5MjAwOTcuODU5MTY3NiwgMTAxNjEsIDEuMjEwNDg4NTU3ODE1NTUxOF0sIFsxNjYzOTIwMDk3Ljk0ODU3NjIsIDEwMTcwLCAxLjIwNjk4NzE0MjU2Mjg2NjJdLCBbMTY2MzkyMDA5OC4wNDg1NjI4LCAxMDE3OSwgMS4xODYyMjg1MTM3MTc2NTE0XSwgWzE2NjM5MjAwOTguMTU4NTgyNCwgMTAxODgsIDEuMTM5ODMxOTAwNTk2NjE4N10sIFsxNjYzOTIwMDk4LjI1MjA5NzQsIDEwMTk3LCAxLjEyOTA2NDkxNzU2NDM5Ml0sIFsxNjYzOTIwMDk4LjQ0NDM4MDUsIDEwMjE1LCAxLjE3MDExNjMwNTM1MTI1NzNdLCBbMTY2MzkyMDA5OC41MzU1MTg0LCAxMDIyNCwgMS4xMzc5Nzg0MzQ1NjI2ODNdLCBbMTY2MzkyMDA5OC42MzAzMDE3LCAxMDIzMywgMS4xNzAxMTc5NzQyODEzMTFdLCBbMTY2MzkyMDA5OC43MjkxMzYyLCAxMDI0MiwgMS4xNjAxMTU3MTg4NDE1NTI3XSwgWzE2NjM5MjAwOTguOTUzMjk3LCAxMDI2MCwgMS4xMjQyNjMwNDgxNzE5OTddLCBbMTY2MzkyMDA5OS4wNTc1OTM2LCAxMDI2OSwgMS4xNTQyNzQ3MDIwNzIxNDM2XSwgWzE2NjM5MjAwOTkuMjQ0MjA3NiwgMTAyODcsIDEuMTQ5NjA0MDgyMTA3NTQ0XSwgWzE2NjM5MjAwOTkuNjM0MTgsIDEwMzE0LCAxLjEzMzU5Mzc5NzY4MzcxNThdLCBbMTY2MzkyMDA5OS43Mzg2MDYsIDEwMzIzLCAxLjE1NzA2Mjc2ODkzNjE1NzJdLCBbMTY2MzkyMDA5OS45NzA2NjE0LCAxMDM0MSwgMS4xOTE1MDc5MzU1MjM5ODY4XSwgWzE2NjM5MjAxMDAuMDg1MDU4MiwgMTAzNTAsIDEuMTM5NTg4NTk0NDM2NjQ1NV0sIFsxNjYzOTIwMTAwLjE5ODE1NTQsIDEwMzU5LCAxLjE1MDI3Njc4MDEyODQ3OV0sIFsxNjYzOTIwMTAwLjMwOTc3MTMsIDEwMzY4LCAxLjE2NTkzMDg2NzE5NTEyOTRdLCBbMTY2MzkyMDEwMC40MTgxNzg4LCAxMDM3NywgMS4xNjE1ODM3ODEyNDIzNzA2XSwgWzE2NjM5MjAxMDAuNTU1NTY5LCAxMDM4NiwgMS4xNTE0MDgwNzYyODYzMTZdLCBbMTY2MzkyMDEwMC43NjAzMDU2LCAxMDQwNCwgMS4xNjQ0MjY1NjUxNzAyODhdLCBbMTY2MzkyMDEwMS4xNTMzMywgMTA0NDAsIDEuMTcwNzUzNTk4MjEzMTk1OF0sIFsxNjYzOTIwMTAxLjI0NjQwMjUsIDEwNDQ5LCAxLjE1MjkyOTc4Mjg2NzQzMTZdLCBbMTY2MzkyMDEwMS40NzE2ODczLCAxMDQ2NywgMS4xMjY0NjgzMDA4MTkzOTddLCBbMTY2MzkyMDEwMS42OTQ2MjAxLCAxMDQ4NSwgMS4xNjU1ODgwMjEyNzgzODEzXSwgWzE2NjM5MjAxMDEuOTA2MjI5NSwgMTA1MDMsIDEuMjE0Mjg4MzUzOTE5OTgzXSwgWzE2NjM5MjAxMDIuMDMxNDAxMiwgMTA1MTIsIDEuMjEyMDY2MTczNTUzNDY2OF0sIFsxNjYzOTIwMTAyLjU0NjUwMTYsIDEwNTU3LCAxLjIyOTM2MjcyNjIxMTU0NzldLCBbMTY2MzkyMDEwMi42NDIzNjk1LCAxMDU2NiwgMS4xNzU1NzE2ODAwNjg5Njk3XSwgWzE2NjM5MjAxMDIuNzM5ODM2MiwgMTA1NzUsIDEuMTkxMzQ3MzYwNjEwOTYyXSwgWzE2NjM5MjAxMDIuOTMwNjU0NSwgMTA1OTMsIDEuMTQ0MjkwMDg5NjA3MjM4OF0sIFsxNjYzOTIwMTAzLjAyNzI1MDgsIDEwNjAyLCAxLjIxMDU0ODQwMDg3ODkwNjJdLCBbMTY2MzkyMDEwMy4xMjIyNjk5LCAxMDYxMSwgMS4yMTI5NzM4MzMwODQxMDY0XSwgWzE2NjM5MjAxMDMuMzEzODY0LCAxMDYyOSwgMS4zMzIwODE2NzU1Mjk0OF0sIFsxNjYzOTIwMTAzLjUwNjU0NSwgMTA2NDcsIDEuMTc1MjM2NzAxOTY1MzMyXSwgWzE2NjM5MjAxMDMuNzA1NzQ5NSwgMTA2NjUsIDEuMTg3MjkyNTc1ODM2MTgxNl0sIFsxNjYzOTIwMTAzLjkwMTY0NjQsIDEwNjgzLCAxLjIwOTM4OTY4NjU4NDQ3MjddLCBbMTY2MzkyMDEwNC4wOTg2MTY4LCAxMDcwMSwgMS4yOTAwNDk5MTA1NDUzNDkxXSwgWzE2NjM5MjAxMDQuMTkzOTIwNiwgMTA3MTAsIDEuMjMzNTY2MTY0OTcwMzk4XSwgWzE2NjM5MjAxMDQuMjkxNTk5LCAxMDcxOSwgMS4xODk0OTAxOTkwODkwNTAzXSwgWzE2NjM5MjAxMDQuNTc4NTU1LCAxMDc0NiwgMS4yNzU1NTUwMTQ2MTAyOTA1XSwgWzE2NjM5MjAxMDQuNjc2NjExNCwgMTA3NTUsIDEuMTk4ODA0MDIwODgxNjUyOF0sIFsxNjYzOTIwMTA0Ljc3MTcyNTcsIDEwNzY0LCAxLjE4NzMxMDIxODgxMTAzNTJdLCBbMTY2MzkyMDEwNC44NzkzMDQyLCAxMDc3MywgMS4xOTQzOTc5MjYzMzA1NjY0XSwgWzE2NjM5MjAxMDQuOTgyMDgxLCAxMDc4MiwgMS4xNTk5MjM3OTE4ODUzNzZdLCBbMTY2MzkyMDEwNS4wODkzNDk3LCAxMDc5MSwgMS4xODI5MjIxMjQ4NjI2NzFdLCBbMTY2MzkyMDEwNS41ODQ1NjEsIDEwODE4LCAxLjE4NTAwMDY1ODAzNTI3ODNdLCBbMTY2MzkyMDEwNS42ODY3MjQsIDEwODI3LCAxLjIwNzg3ODIzMjAwMjI1ODNdLCBbMTY2MzkyMDEwNS45Nzc0NjgsIDEwODU0LCAxLjIxMzA0NjE5MzEyMjg2MzhdLCBbMTY2MzkyMDEwNi4wOTM4ODA0LCAxMDg2MywgMS4xOTQ4MzY5NzQxNDM5ODJdLCBbMTY2MzkyMDEwNi4yMTE5NTgsIDEwODcyLCAxLjE4NzM3MzM5OTczNDQ5N10sIFsxNjYzOTIwMTA2LjQ1MDE5NjcsIDEwODkwLCAxLjIyMzgyNzcxOTY4ODQxNTVdLCBbMTY2MzkyMDEwNi41NjE4Njk5LCAxMDg5OSwgMS4xNzMyNTA1NTU5OTIxMjY1XSwgWzE2NjM5MjAxMDYuODQ1MDMxLCAxMDkyNiwgMS4xOTA4NDQ0MTY2MTgzNDcyXSwgWzE2NjM5MjAxMDYuOTM5NDQxMiwgMTA5MzUsIDEuMTUzNjk0OTg3Mjk3MDU4XSwgWzE2NjM5MjAxMDcuMDM0OTA5NSwgMTA5NDQsIDEuMTQ5MTAyMjEwOTk4NTM1Ml0sIFsxNjYzOTIwMTA3LjI3MTgwMjcsIDEwOTYyLCAxLjE0ODg4ODIzMDMyMzc5MTVdLCBbMTY2MzkyMDEwNy4zNzEwMzIsIDEwOTcxLCAxLjE1NzU5NTUxNTI1MTE1OTddLCBbMTY2MzkyMDEwNy42ODM0Nzg2LCAxMDk5OCwgMS4xNzMzNDI4MjM5ODIyMzg4XSwgWzE2NjM5MjAxMDcuNzgyMjUyMywgMTEwMDcsIDEuMTY4MDU5NzA2Njg3OTI3Ml0sIFsxNjYzOTIwMTA3LjkxNzgxODgsIDExMDE2LCAxLjE5MTY1Nzc4MTYwMDk1MjFdLCBbMTY2MzkyMDEwOC4xNjc5NTU2LCAxMTAzNCwgMS4xNTM4MDAyNDkwOTk3MzE0XSwgWzE2NjM5MjAxMDguNTQyMTczNiwgMTEwNjEsIDEuMTc1MTE4MzI3MTQwODA4XSwgWzE2NjM5MjAxMDguNjQ2NzU2LCAxMTA3MCwgMS4xNzE1ODE3NDUxNDc3MDVdLCBbMTY2MzkyMDEwOS4wMTgxMjQsIDExMDk3LCAxLjE3ODQyODg4ODMyMDkyMjldLCBbMTY2MzkyMDEwOS4xMjU5MjE3LCAxMTEwNiwgMS4xNTI1MjExMzM0MjI4NTE2XSwgWzE2NjM5MjAxMDkuMjIyMzkyOCwgMTExMTUsIDEuMTU0MTQ3MTQ4MTMyMzI0Ml0sIFsxNjYzOTIwMTA5LjY1NDY3MjEsIDExMTUxLCAxLjEzNTU2ODE0MTkzNzI1NTldLCBbMTY2MzkyMDEwOS44OTY2MTIsIDExMTY5LCAxLjEzMjQ2MDgzMjU5NTgyNTJdLCBbMTY2MzkyMDEwOS45OTYyNzE2LCAxMTE3OCwgMS4xNTc4ODU3ODk4NzEyMTU4XSwgWzE2NjM5MjAxMTAuMTA2Nzg3NywgMTExODcsIDEuMTg1MjczMTcwNDcxMTkxNF0sIFsxNjYzOTIwMTEwLjIwNjAwODQsIDExMTk2LCAxLjEzNDY4MjA1OTI4ODAyNV0sIFsxNjYzOTIwMTEwLjI5NTcxOTYsIDExMjA1LCAxLjEyMzM2MTgyNTk0Mjk5MzJdLCBbMTY2MzkyMDExMC4zOTcyMjc1LCAxMTIxNCwgMS4xNDAxOTA5NTg5NzY3NDU2XSwgWzE2NjM5MjAxMTAuNTA3NzIyOSwgMTEyMjMsIDEuMTU4NzQ4NTA3NDk5Njk0OF0sIFsxNjYzOTIwMTEwLjgxMTQ4OTYsIDExMjUwLCAxLjE1NDQ2NzcwMTkxMTkyNjNdLCBbMTY2MzkyMDExMC45MjAxNjg2LCAxMTI1OSwgMS4xODAxMTE2NDY2NTIyMjE3XSwgWzE2NjM5MjAxMTEuMDEzMTQ0MywgMTEyNjgsIDEuMTIxMzY5NzE5NTA1MzFdLCBbMTY2MzkyMDExMS4xNDgwMSwgMTEyNzcsIDEuMTMxMDEwNjUxNTg4NDRdLCBbMTY2MzkyMDExMS4zNTU1MzQ4LCAxMTI5NSwgMS4xNzQ0MDUyMTcxNzA3MTUzXSwgWzE2NjM5MjAxMTEuNTQwNTg5NiwgMTEzMTMsIDEuMTkwMjYzNTA5NzUwMzY2Ml0sIFsxNjYzOTIwMTExLjYzMzk3ODYsIDExMzIyLCAxLjIxNTA1ODA4ODMwMjYxMjNdLCBbMTY2MzkyMDExMS45MTQ4NDkzLCAxMTM0OSwgMS4xNzkyMDAxNzI0MjQzMTY0XSwgWzE2NjM5MjAxMTIuMDE1NjI0LCAxMTM1OCwgMS4xNDc1MTA3NjY5ODMwMzIyXSwgWzE2NjM5MjAxMTIuMjA1MjE2LCAxMTM3NiwgMS4xMzE3MjUzMTEyNzkyOTY5XSwgWzE2NjM5MjAxMTIuMjk3MDI3OCwgMTEzODUsIDEuMTg0NTEyNDk1OTk0NTY3OV0sIFsxNjYzOTIwMTEyLjQwNjIzNzgsIDExMzk0LCAxLjE2NzQwOTg5Njg1MDU4Nl0sIFsxNjYzOTIwMTEyLjYxMzE3NzMsIDExNDEyLCAxLjE2NzQ2ODE5MDE5MzE3NjNdLCBbMTY2MzkyMDExMi43MDQyOTEsIDExNDIxLCAxLjEzOTEzMTQyNjgxMTIxODNdLCBbMTY2MzkyMDExMi45NzgzNzk3LCAxMTQ0OCwgMS4xMzY2OTU5ODEwMjU2OTU4XSwgWzE2NjM5MjAxMTMuMDY5NDkxOSwgMTE0NTcsIDEuMTM0OTE3Mzc4NDI1NTk4MV0sIFsxNjYzOTIwMTEzLjQ1Nzg1NjIsIDExNDkzLCAxLjEzMjU5NzU2NTY1MDk0XSwgWzE2NjM5MjAxMTMuNTUzNzgwOCwgMTE1MDIsIDEuMTMyMzg1MDE1NDg3NjcxXSwgWzE2NjM5MjAxMTMuNjQ1OTM2LCAxMTUxMSwgMS4xMzQwMTE2MjYyNDM1OTEzXSwgWzE2NjM5MjAxMTMuNzM3NzgzLCAxMTUyMCwgMS4xNzM0ODg0OTc3MzQwNjk4XSwgWzE2NjM5MjAxMTMuODM5NzAzOCwgMTE1MjksIDEuMTcwMzM4NTExNDY2OThdLCBbMTY2MzkyMDExNC4wMjM3NjUsIDExNTQ3LCAxLjE1MDk4MTkwMzA3NjE3MTldLCBbMTY2MzkyMDExNC4xMjA4NiwgMTE1NTYsIDEuMTI3MTg4OTIwOTc0NzMxNF0sIFsxNjYzOTIwMTE0LjMxOTI4NDcsIDExNTc0LCAxLjEyNzk1MDc4NzU0NDI1MDVdLCBbMTY2MzkyMDExNC41OTg5ODQsIDExNTgzLCAxLjEyODYzMjU0NTQ3MTE5MTRdLCBbMTY2MzkyMDExNC43ODk4NTI2LCAxMTYwMSwgMS4xMzQwMTY4NzE0NTIzMzE1XSwgWzE2NjM5MjAxMTQuOTcxMDc1MywgMTE2MTksIDEuMjE2MTc3ODIxMTU5MzYyOF0sIFsxNjYzOTIwMTE1LjA2MTk1NzgsIDExNjI4LCAxLjE4MTMwNTI4OTI2ODQ5MzddLCBbMTY2MzkyMDExNS4xNTEwMjUsIDExNjM3LCAxLjEzMTMyNjQzNjk5NjQ2XSwgWzE2NjM5MjAxMTUuMjQ1OTU3MSwgMTE2NDYsIDEuMTQxNzkwODY2ODUxODA2Nl0sIFsxNjYzOTIwMTE1LjQzOTI0ODMsIDExNjY0LCAxLjEzNTczMDc0MzQwODIwMzFdLCBbMTY2MzkyMDExNS41NDE1MjA4LCAxMTY3MywgMS4xNTE5OTkxMTU5NDM5MDg3XSwgWzE2NjM5MjAxMTUuNzI2MjU1MiwgMTE2OTEsIDEuMTYzNzk2NDI0ODY1NzIyN10sIFsxNjYzOTIwMTE1LjgxODgyNywgMTE3MDAsIDEuMTQ3MzU5NzI4ODEzMTcxNF0sIFsxNjYzOTIwMTE2LjAyNTY0MDUsIDExNzE4LCAxLjEzNDk4NTIwODUxMTM1MjVdLCBbMTY2MzkyMDExNi4xMjg2NSwgMTE3MjcsIDEuMTY3NjYwNTkzOTg2NTExMl0sIFsxNjYzOTIwMTE2LjMyMjkwMiwgMTE3NDUsIDEuMTc1NjQ1ODI4MjQ3MDcwM10sIFsxNjYzOTIwMTE2LjQyNjc2NzgsIDExNzU0LCAxLjE3NzUzNjk2NDQxNjUwNF0sIFsxNjYzOTIwMTE2LjUzMzU5NzcsIDExNzYzLCAxLjE4MDEyOTE3MDQxNzc4NTZdLCBbMTY2MzkyMDExNi45Njc4NTQ1LCAxMTc5OSwgMS4xNzMyMTEyMTY5MjY1NzQ3XSwgWzE2NjM5MjAxMTcuMjY1MDUxNiwgMTE4MjYsIDEuMTMxNTUxODYxNzYzMDAwNV0sIFsxNjYzOTIwMTE3LjM1Nzc5LCAxMTgzNSwgMS4xNTAzMjQxMDYyMTY0MzA3XSwgWzE2NjM5MjAxMTcuNDYxMDA5NSwgMTE4NDQsIDEuMTM3Njg3MDg3MDU5MDIxXSwgWzE2NjM5MjAxMTcuOTUwMjgwNywgMTE4ODksIDEuMTI4ODgzMDA0MTg4NTM3Nl0sIFsxNjYzOTIwMTE4LjE0Njg5OSwgMTE5MDcsIDEuMTMwNTY0MzMyMDA4MzYxOF0sIFsxNjYzOTIwMTE4LjI1MTE1NDcsIDExOTE2LCAxLjE2MzQzNzM2NjQ4NTU5NTddLCBbMTY2MzkyMDExOC4zNTMyNzE3LCAxMTkyNSwgMS4xMjk0MTc1Mzg2NDI4ODMzXSwgWzE2NjM5MjAxMTguNDg1Njg3MywgMTE5MzQsIDEuMTE0OTU0NDcxNTg4MTM0OF0sIFsxNjYzOTIwMTE4LjU5NTczNTMsIDExOTQzLCAxLjEyMjM4MjI4MzIxMDc1NDRdLCBbMTY2MzkyMDExOC44MTEyNCwgMTE5NjEsIDEuMTAwMTYyMTQ4NDc1NjQ3XSwgWzE2NjM5MjAxMTkuNjA3NDYyMiwgMTIwMjQsIDEuMTgxMzkzMzg0OTMzNDcxN10sIFsxNjYzOTIwMTIwLjIxMzIyMywgMTIwNzgsIDEuMTQ2ODEyNDM4OTY0ODQzOF0sIFsxNjYzOTIwMTIwLjMwNTcyODIsIDEyMDg3LCAxLjE0MDQwNjk2NjIwOTQxMTZdLCBbMTY2MzkyMDEyMC41MTIwOTM1LCAxMjEwNSwgMS4xNjc5MjkxNzI1MTU4NjkxXSwgWzE2NjM5MjAxMjAuNjIxNjM2MiwgMTIxMTQsIDEuMTcxMTM0ODI5NTIxMTc5Ml0sIFsxNjYzOTIwMTIwLjgyODcxMDYsIDEyMTMyLCAxLjE1NDkyODY4NDIzNDYxOTFdLCBbMTY2MzkyMDEyMC45Mjc1NjIsIDEyMTQxLCAxLjE0NDczNDM4MjYyOTM5NDVdLCBbMTY2MzkyMDEyMS4yODUzMjIsIDEyMTY4LCAxLjEzMDk3NzI3Mjk4NzM2NTddLCBbMTY2MzkyMDEyMS4zOTQwMTQsIDEyMTc3LCAxLjEyNTkxNDQ1NDQ2MDE0NF0sIFsxNjYzOTIwMTIxLjYyNjM1NDIsIDEyMTk1LCAxLjEzODI4ODk3NDc2MTk2M10sIFsxNjYzOTIwMTIxLjc0MTEwMTUsIDEyMjA0LCAxLjE2MjI2MDA1NTU0MTk5MjJdLCBbMTY2MzkyMDEyMS44NDY4OTk1LCAxMjIxMywgMS4xMjQwNjg3MzcwMzAwMjkzXSwgWzE2NjM5MjAxMjEuOTUzMDUzNywgMTIyMjIsIDEuMTU0NzQ2NjUxNjQ5NDc1XSwgWzE2NjM5MjAxMjIuMDk1ODQzLCAxMjIzMSwgMS4xMzA4NjE2Mzk5NzY1MDE1XSwgWzE2NjM5MjAxMjIuMzI2MDg5LCAxMjI0OSwgMS4xMTkyNTI2ODE3MzIxNzc3XSwgWzE2NjM5MjAxMjIuNzc1NDEyLCAxMjI4NSwgMS4xMTMwNDYwNTAwNzE3MTYzXSwgWzE2NjM5MjAxMjIuODkyMTU1MiwgMTIyOTQsIDEuMTMxODcxOTM4NzA1NDQ0M10sIFsxNjYzOTIwMTIzLjAyNjkzMzcsIDEyMzAzLCAxLjExODYyNDY4NzE5NDgyNDJdLCBbMTY2MzkyMDEyMy4xMzczNiwgMTIzMTIsIDEuMTU5NjI4NTEwNDc1MTU4N10sIFsxNjYzOTIwMTIzLjIzNDEzNiwgMTIzMjEsIDEuMTY1Mjk2MDc3NzI4MjcxNV0sIFsxNjYzOTIwMTIzLjgxNDE4MjgsIDEyMzU3LCAxLjE3MTM4OTQ2MDU2MzY1OTddLCBbMTY2MzkyMDEyMy45MTc4NzIyLCAxMjM2NiwgMS4xMjQ3NjM3MjcxODgxMTA0XSwgWzE2NjM5MjAxMjQuMDExNjU4NCwgMTIzNzUsIDEuMTEyODk2NTYxNjIyNjE5Nl0sIFsxNjYzOTIwMTI0LjEzOTIzMTQsIDEyMzg0LCAxLjEyNjEzNjc3OTc4NTE1NjJdLCBbMTY2MzkyMDEyNC4yMzg1NjIsIDEyMzkzLCAxLjExNTYxOTA2MzM3NzM4MDRdLCBbMTY2MzkyMDEyNC42ODU0MDQzLCAxMjQyOSwgMS4xMzY4ODIwNjY3MjY2ODQ2XSwgWzE2NjM5MjAxMjQuNzk5NDI3MywgMTI0MzgsIDEuMTIwMjIzMTY0NTU4NDEwNl0sIFsxNjYzOTIwMTI1LjIxMDMyNzYsIDEyNDc0LCAxLjE1MjE3MzYzODM0MzgxMV0sIFsxNjYzOTIwMTI1LjMyNjUxNzMsIDEyNDgzLCAxLjEyMDYwODkyNTgxOTM5N10sIFsxNjYzOTIwMTI1LjQyMzc1MDIsIDEyNDkyLCAxLjE1OTM4OTg1MzQ3NzQ3OF0sIFsxNjYzOTIwMTI1Ljc2NzYyNDEsIDEyNTE5LCAxLjE0NjkzNTgyMDU3OTUyODhdLCBbMTY2MzkyMDEyNS44NzgzNTU3LCAxMjUyOCwgMS4yMDQ4OTQ2NjE5MDMzODEzXSwgWzE2NjM5MjAxMjYuMDc5NzgzLCAxMjU0NiwgMS4xNTUyMjk2ODc2OTA3MzQ5XSwgWzE2NjM5MjAxMjYuMTkwODUzNiwgMTI1NTUsIDEuMTY1MTM3MjkwOTU0NTg5OF0sIFsxNjYzOTIwMTI2LjM4OTUyNzYsIDEyNTczLCAxLjE4NDY5NTEyNDYyNjE1OTddLCBbMTY2MzkyMDEyNi40Nzk5OTk4LCAxMjU4MiwgMS4yMzgxODQ1NzEyNjYxNzQzXSwgWzE2NjM5MjAxMjYuNzI3NzQ4NCwgMTI2MDAsIDEuMTMwMjcxMTk2MzY1MzU2NF0sIFsxNjYzOTIwMTI2Ljg0NjQ5MTgsIDEyNjA5LCAxLjEyOTQ0Njg2NDEyODExMjhdLCBbMTY2MzkyMDEyNy4xNDY4NDY4LCAxMjYzNiwgMS4xMzA4NzEwNTc1MTAzNzZdLCBbMTY2MzkyMDEyNy4yNDA4Mzc2LCAxMjY0NSwgMS4xMjYwNjE0Mzk1MTQxNjAyXSwgWzE2NjM5MjAxMjcuMzMyMjE5MSwgMTI2NTQsIDEuMTQxMjAzMDQ1ODQ1MDMxN10sIFsxNjYzOTIwMTI3LjQzOTA3NzEsIDEyNjYzLCAxLjE0NzA3NzA4MzU4NzY0NjVdLCBbMTY2MzkyMDEyOC4xMjIwNDEsIDEyNzI2LCAxLjE4NDg2OTc2NjIzNTM1MTZdLCBbMTY2MzkyMDEyOC40MTM0NjM0LCAxMjc1MywgMS4xMjI0OTY3MjQxMjg3MjMxXSwgWzE2NjM5MjAxMjguNTA4NTM3OCwgMTI3NjIsIDEuMTUyMjE2NzkyMTA2NjI4NF0sIFsxNjYzOTIwMTI4LjcwMTc2NDYsIDEyNzgwLCAxLjEzNTU3NzY3ODY4MDQyXSwgWzE2NjM5MjAxMjguODk4NDc2OCwgMTI3OTgsIDEuMTQyNzc1MDU4NzQ2MzM4XSwgWzE2NjM5MjAxMjkuMDAwMjUzNCwgMTI4MDcsIDEuMTQ2MTg3NTQzODY5MDE4Nl0sIFsxNjYzOTIwMTI5LjMwODI5OTMsIDEyODM0LCAxLjE1NTkwMDU5NzU3MjMyNjddLCBbMTY2MzkyMDEyOS40MTI5MTk4LCAxMjg0MywgMS4xNzc2OTM0ODYyMTM2ODRdLCBbMTY2MzkyMDEyOS42MDI3NTcsIDEyODYxLCAxLjExOTk5NTIzNjM5Njc4OTZdLCBbMTY2MzkyMDEyOS44ODI4OTIsIDEyODg4LCAxLjEzMTExNTY3NDk3MjUzNDJdLCBbMTY2MzkyMDEyOS45NzczODQzLCAxMjg5NywgMS4xMDY4MjQ4NzQ4Nzc5Mjk3XSwgWzE2NjM5MjAxMzAuMDcxOTcyOCwgMTI5MDYsIDEuMTQ0MjEzMDgwNDA2MTg5XSwgWzE2NjM5MjAxMzAuMTcyNjQ2OCwgMTI5MTUsIDEuMjAwODA0MjMzNTUxMDI1NF0sIFsxNjYzOTIwMTMwLjM2NTAwMDUsIDEyOTMzLCAxLjEyNzQ0MzMxMzU5ODYzMjhdLCBbMTY2MzkyMDEzMC41NjIzNzIyLCAxMjk1MSwgMS4xMjQyNTE5NjE3MDgwNjg4XSwgWzE2NjM5MjAxMzAuNjU1NjA1NiwgMTI5NjAsIDEuMTE0NzUyNTMxMDUxNjM1N10sIFsxNjYzOTIwMTMwLjc0Mzg1NCwgMTI5NjksIDEuMTEzNjg1MjUwMjgyMjg3Nl0sIFsxNjYzOTIwMTMwLjg0MDI2ODYsIDEyOTc4LCAxLjE0MDkzNTU0MDE5OTI3OThdLCBbMTY2MzkyMDEzMS4xNTI2MzYsIDEzMDA1LCAxLjE3MDk5MTA2MzExNzk4MV0sIFsxNjYzOTIwMTMxLjM5OTkyNjQsIDEzMDIzLCAxLjEyMDkyMjkyMzA4ODA3MzddLCBbMTY2MzkyMDEzMS41MTk3OTIzLCAxMzAzMiwgMS4xMzQwODI0MzY1NjE1ODQ1XSwgWzE2NjM5MjAxMzEuNjIyODA5NiwgMTMwNDEsIDEuMTQ4MTcyNjE2OTU4NjE4Ml0sIFsxNjYzOTIwMTMxLjczMjM1NTYsIDEzMDUwLCAxLjEwMzA0ODkyMDYzMTQwODddLCBbMTY2MzkyMDEzMS44MzE1OTY0LCAxMzA1OSwgMS4xNDkwMjgxODIwMjk3MjQxXSwgWzE2NjM5MjAxMzEuOTM3MjIyNywgMTMwNjgsIDEuMTE5MTUwODc2OTk4OTAxNF0sIFsxNjYzOTIwMTMyLjAzOTE3NjIsIDEzMDc3LCAxLjEzNDA4MTEyNTI1OTM5OTRdLCBbMTY2MzkyMDEzMi4yNDE3NjQsIDEzMDk1LCAxLjEzOTk3NDIzNjQ4ODM0MjNdLCBbMTY2MzkyMDEzMi4zNDIxNzkzLCAxMzEwNCwgMS4xMTE5MzM1ODg5ODE2Mjg0XSwgWzE2NjM5MjAxMzIuNDM5OTA3LCAxMzExMywgMS4yMTQyMTgyNTg4NTc3MjddLCBbMTY2MzkyMDEzMi43Mzc0OCwgMTMxMjIsIDEuMjEyNzQ4NDA4MzE3NTY2XSwgWzE2NjM5MjAxMzIuODMyNjQzNSwgMTMxMzEsIDEuMjAzNzQxNjY5NjU0ODQ2Ml0sIFsxNjYzOTIwMTMyLjkyOTU2ODgsIDEzMTQwLCAxLjEzNjg0MjYwODQ1MTg0MzNdLCBbMTY2MzkyMDEzMy4wNTM2NzI2LCAxMzE0OSwgMS4xNzA4NjkzNTA0MzMzNDk2XSwgWzE2NjM5MjAxMzMuMTYxODQ1MiwgMTMxNTgsIDEuMTQwMzA2NzExMTk2ODk5NF0sIFsxNjYzOTIwMTMzLjI2MDA3NjUsIDEzMTY3LCAxLjEzMDg0MDE4MjMwNDM4MjNdLCBbMTY2MzkyMDEzMy4zNjk1MTczLCAxMzE3NiwgMS4xMzAyMzgyOTQ2MDE0NDA0XSwgWzE2NjM5MjAxMzMuNDc4MTA4NiwgMTMxODUsIDEuMTE5MzQwMzAwNTU5OTk3Nl0sIFsxNjYzOTIwMTM0LjE1MDY0NTMsIDEzMjM5LCAxLjI0MDY2NTc5MzQxODg4NDNdLCBbMTY2MzkyMDEzNC40Nzc1NTkzLCAxMzI2NiwgMS4xNDY0ODQzNzVdLCBbMTY2MzkyMDEzNC41NzIwMDc0LCAxMzI3NSwgMS4xMzIwNzQ5NTIxMjU1NDkzXSwgWzE2NjM5MjAxMzQuNzY1ODIxNSwgMTMyOTMsIDEuMTU4NjM0OTAxMDQ2NzUzXSwgWzE2NjM5MjAxMzQuODYwNDQxLCAxMzMwMiwgMS4xODQ0MDQwMTU1NDEwNzY3XSwgWzE2NjM5MjAxMzUuMjk3NTcwNSwgMTMzMzgsIDEuMTU0NjUxNzYxMDU0OTkyN10sIFsxNjYzOTIwMTM1LjQwNzY1MzgsIDEzMzQ3LCAxLjE1NjA1MjgyNzgzNTA4M10sIFsxNjYzOTIwMTM1LjUxNDI5OTQsIDEzMzU2LCAxLjEyOTY3NDY3MzA4MDQ0NDNdLCBbMTY2MzkyMDEzNS42MjE0MSwgMTMzNjUsIDEuMTE0MjcwMzI5NDc1NDAyOF0sIFsxNjYzOTIwMTM1Ljk3NTc1ODgsIDEzMzkyLCAxLjE0NTgwMjE0MDIzNTkwMDldLCBbMTY2MzkyMDEzNi4wODA0NjE3LCAxMzQwMSwgMS4xNzgyMDIxNTIyNTIxOTczXSwgWzE2NjM5MjAxMzYuMTc5MzgxMSwgMTM0MTAsIDEuMTI4OTgzMDIwNzgyNDcwN10sIFsxNjYzOTIwMTM2LjI4MDE5NDgsIDEzNDE5LCAxLjEzNzQ4OTU1NzI2NjIzNTRdLCBbMTY2MzkyMDEzNi4zNzcwMTYzLCAxMzQyOCwgMS4xMzQzNDgwMzQ4NTg3MDM2XSwgWzE2NjM5MjAxMzYuNTg1ODk5LCAxMzQ0NiwgMS4xMjI5NzU5NDU0NzI3MTczXSwgWzE2NjM5MjAxMzYuNjc5Mzg1NywgMTM0NTUsIDEuMTI3MjM3MjAwNzM2OTk5NV0sIFsxNjYzOTIwMTM3LjA5NDc0NjgsIDEzNDkxLCAxLjE1Mjg3NzY4ODQwNzg5OF0sIFsxNjYzOTIwMTM3LjE4ODI2OSwgMTM1MDAsIDEuMTUwNzQzNDg0NDk3MDcwM10sIFsxNjYzOTIwMTM3LjI4NTQ3MjksIDEzNTA5LCAxLjEyODczNzY4ODA2NDU3NTJdLCBbMTY2MzkyMDEzNy40NzYwNDMsIDEzNTI3LCAxLjExMzk1NzQwNTA5MDMzMl0sIFsxNjYzOTIwMTM3Ljc4MDM3MTQsIDEzNTU0LCAxLjE1NDk1NDQzMzQ0MTE2Ml0sIFsxNjYzOTIwMTM4LjE5MDk1MDIsIDEzNTkwLCAxLjE1MjM5NDUzMzE1NzM0ODZdLCBbMTY2MzkyMDEzOC4zMDM5MiwgMTM1OTksIDEuMjAyODIwNTM5NDc0NDg3M10sIFsxNjYzOTIwMTM4LjQwMzcwNTYsIDEzNjA4LCAxLjIwNDM2MDYwNDI4NjE5MzhdLCBbMTY2MzkyMDEzOC41MDU2NDI3LCAxMzYxNywgMS4xNzc4MzEyOTIxNTI0MDQ4XSwgWzE2NjM5MjAxMzguNjAyMzQwNywgMTM2MjYsIDEuMTE4MzIyNDkxNjQ1ODEzXSwgWzE2NjM5MjAxMzguODA4MzgzLCAxMzY0NCwgMS4xMDQ3OTExNjQzOTgxOTM0XSwgWzE2NjM5MjAxMzguOTAzMDExNiwgMTM2NTMsIDEuMTA1MzYyNzcyOTQxNTg5NF0sIFsxNjYzOTIwMTM5LjU4NDA4NTUsIDEzNzE2LCAxLjEwODkyMTY0NzA3MTgzODRdLCBbMTY2MzkyMDEzOS44NzYxNjA5LCAxMzc0MywgMS4xMjU4MjY5NTQ4NDE2MTM4XSwgWzE2NjM5MjAxNDAuMTAxNDE3MywgMTM3NjEsIDEuMTU2NDg1MzE5MTM3NTczMl0sIFsxNjYzOTIwMTQwLjI5ODUxMzcsIDEzNzc5LCAxLjE4MTEwMTkxODIyMDUyXSwgWzE2NjM5MjAxNDAuNjAzOTE1NywgMTM4MDYsIDEuMTgyMzQ5NDQzNDM1NjY5XSwgWzE2NjM5MjAxNDAuNjk4ODEsIDEzODE1LCAxLjIyMjA4Njc4NzIyMzgxNl0sIFsxNjYzOTIwMTQxLjAxMjUwNzQsIDEzODQyLCAxLjEyMjU2MzcxOTc0OTQ1MDddLCBbMTY2MzkyMDE0MS4xMDQ1MjE4LCAxMzg1MSwgMS4xMTA4MjYyNTM4OTA5OTEyXSwgWzE2NjM5MjAxNDEuMjA3NTUzNCwgMTM4NjAsIDEuMTE4NTY5MDE2NDU2NjA0XSwgWzE2NjM5MjAxNDEuMzA2MzkwNSwgMTM4NjksIDEuMTI2MjQwMTM0MjM5MTk2OF0sIFsxNjYzOTIwMTQxLjQxNDE0MSwgMTM4NzgsIDEuMTExMDY3ODkxMTIwOTEwNl0sIFsxNjYzOTIwMTQxLjk4ODYzNiwgMTM5MTQsIDEuMTI5MDk4ODkyMjExOTE0XSwgWzE2NjM5MjAxNDIuMTgyMTYwNiwgMTM5MzIsIDEuMTIzMzk4NzgwODIyNzU0XSwgWzE2NjM5MjAxNDIuMjc1ODU4MiwgMTM5NDEsIDEuMTUxNjg3MjY0NDQyNDQzOF0sIFsxNjYzOTIwMTQyLjM2ODY4MDIsIDEzOTUwLCAxLjEwNTE2MDcxMzE5NTgwMDhdLCBbMTY2MzkyMDE0Mi42MjU5MzQsIDEzOTY4LCAxLjE1MTA0MTc0NjEzOTUyNjRdLCBbMTY2MzkyMDE0Mi43NDA2OSwgMTM5NzcsIDEuMTY5MjA4NDA3NDAyMDM4Nl0sIFsxNjYzOTIwMTQyLjgzODIwOSwgMTM5ODYsIDEuMTMwMTU0MTMyODQzMDE3Nl0sIFsxNjYzOTIwMTQzLjAzODUwOTQsIDE0MDA0LCAxLjEyNDc1MDg1MjU4NDgzODldLCBbMTY2MzkyMDE0My4yMzMyNjg1LCAxNDAyMiwgMS4xNTM1OTMzMDE3NzMwNzEzXSwgWzE2NjM5MjAxNDMuNDIxODA5MiwgMTQwNDAsIDEuMTQ1OTU3NzA4MzU4NzY0Nl0sIFsxNjYzOTIwMTQzLjUxODQ4OTQsIDE0MDQ5LCAxLjEzNjI3NDA5OTM0OTk3NTZdLCBbMTY2MzkyMDE0My43MDkwMjc1LCAxNDA2NywgMS4xMzg1OTQyNjk3NTI1MDI0XSwgWzE2NjM5MjAxNDMuODA5NTQ5LCAxNDA3NiwgMS4xMzkwOTY4NTYxMTcyNDg1XSwgWzE2NjM5MjAxNDMuOTA2OTMzLCAxNDA4NSwgMS4xNTc0MDM0NjkwODU2OTM0XSwgWzE2NjM5MjAxNDQuMDA5NTM3NSwgMTQwOTQsIDEuMTAxMTk3MzYxOTQ2MTA2XSwgWzE2NjM5MjAxNDQuMTAyMzA2NCwgMTQxMDMsIDEuMTA3NDkzMTYyMTU1MTUxNF0sIFsxNjYzOTIwMTQ0LjM0OTI5MzUsIDE0MTIxLCAxLjEyNTkwNTE1NjEzNTU1OV0sIFsxNjYzOTIwMTQ0LjU2NDcxODIsIDE0MTM5LCAxLjEyMDA4MDQ3MTAzODgxODRdLCBbMTY2MzkyMDE0NC42NjAxMzAzLCAxNDE0OCwgMS4xMjM4MjUzMTE2NjA3NjY2XSwgWzE2NjM5MjAxNDQuNzU3MDcyLCAxNDE1NywgMS4xMjg5MDgzOTU3NjcyMTJdLCBbMTY2MzkyMDE0NC44NDc1NjU0LCAxNDE2NiwgMS4xMTc3MjcxNjA0NTM3OTY0XSwgWzE2NjM5MjAxNDQuOTM4NjAwNSwgMTQxNzUsIDEuMTAxMDA5ODQ1NzMzNjQyNl0sIFsxNjYzOTIwMTQ1LjEyNzExOSwgMTQxOTMsIDEuMTI1ODAyNjM2MTQ2NTQ1NF0sIFsxNjYzOTIwMTQ1LjMyNzc5OTMsIDE0MjExLCAxLjEyNTc0Nzc5OTg3MzM1Ml0sIFsxNjYzOTIwMTQ1LjQ0OTE5MDQsIDE0MjIwLCAxLjEzNzgyNDc3Mzc4ODQ1MjFdLCBbMTY2MzkyMDE0NS41NzMxMjA2LCAxNDIyOSwgMS4xMzAyMzE3MzgwOTA1MTUxXSwgWzE2NjM5MjAxNDUuNjc5NDcyMiwgMTQyMzgsIDEuMTEzMDYzMjE2MjA5NDExNl0sIFsxNjYzOTIwMTQ1Ljc3NzU2OSwgMTQyNDcsIDEuMTk3OTkyNDQ0MDM4MzkxMV0sIFsxNjYzOTIwMTQ2LjA4NzQyMTcsIDE0Mjc0LCAxLjE3Nzg5MjU2NTcyNzIzMzldLCBbMTY2MzkyMDE0Ni41NTYwOTQ0LCAxNDMxMCwgMS4xMTg0ODY0MDQ0MTg5NDUzXSwgWzE2NjM5MjAxNDYuNjc1NzU3MiwgMTQzMTksIDEuMTE5NjA0NDY4MzQ1NjQyXSwgWzE2NjM5MjAxNDcuMDk4NzMzLCAxNDM1NSwgMS4xMjU3Nzg5MTM0OTc5MjQ4XSwgWzE2NjM5MjAxNDcuMjAyMDc1MiwgMTQzNjQsIDEuMTM5Mzc0NzMyOTcxMTkxNF0sIFsxNjYzOTIwMTQ3LjI5ODk0NDIsIDE0MzczLCAxLjExMTY1NTQ3MzcwOTEwNjRdLCBbMTY2MzkyMDE0Ny4zOTEyMywgMTQzODIsIDEuMTM5MTUwODU3OTI1NDE1XSwgWzE2NjM5MjAxNDcuNjE0NDk4OSwgMTQ0MDAsIDEuMTAyNDM3NDk2MTg1MzAyN10sIFsxNjYzOTIwMTQ3LjcwNDU1MTUsIDE0NDA5LCAxLjEzMzIxNzQ1Mzk1NjYwNF0sIFsxNjYzOTIwMTQ3LjgwMDgyMiwgMTQ0MTgsIDEuMTI2MzU3OTEzMDE3MjczXSwgWzE2NjM5MjAxNDcuODk2OTU1MywgMTQ0MjcsIDEuMTE1MDMxMjQyMzcwNjA1NV0sIFsxNjYzOTIwMTQ3Ljk5MjMxMSwgMTQ0MzYsIDEuMTI2MjI5MDQ3Nzc1MjY4Nl0sIFsxNjYzOTIwMTQ4LjU0NTIyNDcsIDE0NDgxLCAxLjE2NjkyOTQ4MzQxMzY5NjNdLCBbMTY2MzkyMDE0OC43NDUxMDE1LCAxNDQ5OSwgMS4xMzYyNDM1ODE3NzE4NTA2XSwgWzE2NjM5MjAxNDguODQwNzYzNiwgMTQ1MDgsIDEuMTkxNjg1MTk5NzM3NTQ4OF0sIFsxNjYzOTIwMTQ5LjAzNjM2MzEsIDE0NTI2LCAxLjE0NjAzMzg4MzA5NDc4NzZdLCBbMTY2MzkyMDE0OS4xNDEzNTc0LCAxNDUzNSwgMS4xMTU2ODE0MDk4MzU4MTU0XSwgWzE2NjM5MjAxNDkuMjQyODkwNiwgMTQ1NDQsIDEuMTAwMzQwNjA0NzgyMTA0NV0sIFsxNjYzOTIwMTQ5LjMzNDE5NywgMTQ1NTMsIDEuMTI5MDA5NjA0NDU0MDQwNV0sIFsxNjYzOTIwMTQ5LjQyODY5ODgsIDE0NTYyLCAxLjE2NjU1NzU1MDQzMDI5NzldLCBbMTY2MzkyMDE0OS43MTYzOTEsIDE0NTg5LCAxLjExNjQwNjY3OTE1MzQ0MjRdLCBbMTY2MzkyMDE0OS44MTE4Njk0LCAxNDU5OCwgMS4xNTc4NDE5MjA4NTI2NjExXV0=","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_08-24-14_17ae77f8abe2&tag=Loss%2Ftrain":{"data":"W1sxNjYzODM1MDU3LjYxNzkyMDQsIDM2LCAyMy4xNjY3NDQyMzIxNzc3MzRdLCBbMTY2MzgzNTA1Ny43NTkyNTk1LCA0NSwgMTguMDU2NDg2MTI5NzYwNzQyXSwgWzE2NjM4MzUwNTguNjIyNzAyNCwgOTksIDUuNzA3NzYxMjg3Njg5MjA5XSwgWzE2NjM4MzUwNTkuMTcwMDY3OCwgMTM1LCA1LjQ2MjQ3OTU5MTM2OTYyOV0sIFsxNjYzODM1MDU5LjMwMjMsIDE0NCwgNS4zOTgwOTI3NDY3MzQ2MTldLCBbMTY2MzgzNTA1OS42ODIzMjgsIDE3MSwgNS4xNTQ0Njg1MzYzNzY5NTNdLCBbMTY2MzgzNTA1OS43OTM0NDc3LCAxODAsIDUuMTY1OTYzMTcyOTEyNTk4XSwgWzE2NjM4MzUwNTkuOTEyODEzNCwgMTg5LCA1LjE1MjAwNDI0MTk0MzM1OV0sIFsxNjYzODM1MDYwLjE2Njc5NTcsIDIwNywgNC45OTA3ODk4OTAyODkzMDddLCBbMTY2MzgzNTA2MC4yODY3MjY1LCAyMTYsIDQuOTU2OTQzOTg4ODAwMDQ5XSwgWzE2NjM4MzUwNjAuNjY1MDc0OCwgMjQzLCA0Ljg1NjExMDA5NTk3Nzc4M10sIFsxNjYzODM1MDYwLjc4OTI4LCAyNTIsIDQuODM2MTI4MjM0ODYzMjgxXSwgWzE2NjM4MzUwNjIuMTA3MjcyNiwgMzUxLCA0LjIxMDA4ODcyOTg1ODM5OF0sIFsxNjYzODM1MDYyLjMyMzEyMzIsIDM2OSwgNC4yMDEzOTUwMzQ3OTAwMzldLCBbMTY2MzgzNTA2My4xNjAzMDc2LCA0MzIsIDMuOTIwMjA4MjE1NzEzNTAxXSwgWzE2NjM4MzUwNjMuMjY2NDEwNCwgNDQxLCAzLjg2Njc2NDA2ODYwMzUxNTZdLCBbMTY2MzgzNTA2My4zODAxOSwgNDUwLCAzLjc4OTAzNjc1MDc5MzQ1N10sIFsxNjYzODM1MDYzLjYwODM3MDgsIDQ2OCwgMy42ODgwNzk4MzM5ODQzNzVdLCBbMTY2MzgzNTA2My45MjY1ODcsIDQ5NSwgMy42MTcwMjYzMjkwNDA1MjczXSwgWzE2NjM4MzUwNjQuMjI5MzQ4NywgNTIyLCAzLjU1Mzk0NjQ5NTA1NjE1MjNdLCBbMTY2MzgzNTA2NC41MzE1OTU3LCA1NDksIDMuNDY1NjEwOTgwOTg3NTQ5XSwgWzE2NjM4MzUwNjQuNjI5MTIyNSwgNTU4LCAzLjQxNTI1NjczODY2MjcxOTddLCBbMTY2MzgzNTA2NC43Mjk4NDY1LCA1NjcsIDMuMzE2MzU1OTQzNjc5ODA5Nl0sIFsxNjYzODM1MDY0LjgyOTU2NDgsIDU3NiwgMy4zNDM5NDQwNzI3MjMzODg3XSwgWzE2NjM4MzUwNjUuMDIwMjU0LCA1OTQsIDMuMjA3NzQ2NTA1NzM3MzA0N10sIFsxNjYzODM1MDY1LjExNjExNTYsIDYwMywgMy4yNjUyNDI4MTUwMTc3XSwgWzE2NjM4MzUwNjUuMjE4Nzk0MywgNjEyLCAzLjE4OTY0NjQ4MjQ2NzY1MTRdLCBbMTY2MzgzNTA2NS4zMjI2Mjk1LCA2MjEsIDMuMTU2MTU3MDE2NzU0MTUwNF0sIFsxNjYzODM1MDY1LjUwNDg4NzMsIDYzOSwgMy4wOTcyNDk3NDYzMjI2MzJdLCBbMTY2MzgzNTA2NS42MDE4NjgsIDY0OCwgMy4xMTUxMDUxNTIxMzAxMjddLCBbMTY2MzgzNTA2Ni4zNDY3OTkxLCA3MDIsIDIuOTA4NjU3MzEyMzkzMTg4NV0sIFsxNjYzODM1MDY2LjYyNDAyNzcsIDcyMCwgMi44NzU5MTAwNDM3MTY0MzA3XSwgWzE2NjM4MzUwNjYuOTk3MDUwMywgNzQ3LCAyLjc5NTA1ODcyNzI2NDQwNDNdLCBbMTY2MzgzNTA2Ny4zMDkwMDEsIDc3NCwgMi43NDMwODM5NTM4NTc0MjJdLCBbMTY2MzgzNTA2Ny43ODg1NzQ1LCA4MTAsIDIuNzQ5MzkxNTU1Nzg2MTMzXSwgWzE2NjM4MzUwNjkuMTUzNzA2LCA5MDAsIDIuNTI5Njk4NjEwMzA1Nzg2XSwgWzE2NjM4MzUwNjkuMjQ0OTAyMSwgOTA5LCAyLjUxMDE0MjgwMzE5MjEzODddLCBbMTY2MzgzNTA2OS41NjEwNTMzLCA5MzYsIDIuNDMyNTc2NDE3OTIyOTczNl0sIFsxNjYzODM1MDY5Ljg4NjIxMTQsIDk2MywgMi40MzIxMDMzOTU0NjIwMzZdLCBbMTY2MzgzNTA2OS45OTE1NzU1LCA5NzIsIDIuNDU1OTY3MTg3ODgxNDY5N10sIFsxNjYzODM1MDcwLjIyMDE4OCwgOTkwLCAyLjM4Mjk1MzQwNTM4MDI0OV0sIFsxNjYzODM1MDcwLjk2NzMyNiwgMTA1MywgMi4yNzE1ODc4NDg2NjMzM10sIFsxNjYzODM1MDcxLjUxMzg3OCwgMTA5OCwgMi4yMzMyMjE3NjkzMzI4ODU3XSwgWzE2NjM4MzUwNzEuODk2OTkyNywgMTEzNCwgMi4zNjg5NzkyMTU2MjE5NDgyXSwgWzE2NjM4MzUwNzEuOTk1MjI0NSwgMTE0MywgMi40MDUwODkzNzgzNTY5MzM2XSwgWzE2NjM4MzUwNzIuMTkxNDE3NywgMTE2MSwgMi4xNTU1MzIzNjAwNzY5MDQzXSwgWzE2NjM4MzUwNzIuNDAyNzU2NSwgMTE3OSwgMi4xNDgyODgyNDk5Njk0ODI0XSwgWzE2NjM4MzUwNzIuNDk2ODkwOCwgMTE4OCwgMi4xMzQzMTIxNTI4NjI1NDldLCBbMTY2MzgzNTA3Mi45NzQ1MzgsIDEyMzMsIDIuMTY5MDY5MjkwMTYxMTMzXSwgWzE2NjM4MzUwNzMuMDcxNTkxOSwgMTI0MiwgMi4xNDkzNDAzOTExNTkwNTc2XSwgWzE2NjM4MzUwNzMuODg2OTA5MiwgMTMwNSwgMi4wOTIzNzA5ODY5Mzg0NzY2XSwgWzE2NjM4MzUwNzQuMTQwODU3NSwgMTMyMywgMi4xMTAwMzE4NDMxODU0MjVdLCBbMTY2MzgzNTA3NC4yNjY2NzcxLCAxMzMyLCAyLjA5NjI3NDM3NTkxNTUyNzNdLCBbMTY2MzgzNTA3NC42MTY3NTU3LCAxMzU5LCAyLjA4ODAzNjA2MDMzMzI1Ml0sIFsxNjYzODM1MDc1LjQyNzE2NzQsIDE0MjIsIDIuMTQxMjE2Mjc4MDc2MTcyXSwgWzE2NjM4MzUwNzUuNzYyNTkzNywgMTQ0OSwgMi4wMTkwMDY3MjkxMjU5NzY2XSwgWzE2NjM4MzUwNzUuOTYyMjUzNiwgMTQ2NywgMi4wMTMxMDg5Njg3MzQ3NDFdLCBbMTY2MzgzNTA3Ni4xNzE0NzY0LCAxNDg1LCAxLjk5MTk2NTc3MDcyMTQzNTVdLCBbMTY2MzgzNTA3Ni44MjYzNzc5LCAxNTM5LCAxLjk3MzQ4ODU2OTI1OTY0MzZdLCBbMTY2MzgzNTA3Ni45NTQyMjI3LCAxNTQ4LCAxLjk2NzY2MDY2NTUxMjA4NV0sIFsxNjYzODM1MDc3LjExMzA1NSwgMTU1NywgMS45ODE1ODk1NTU3NDAzNTY0XSwgWzE2NjM4MzUwNzcuNTAwMDMyNCwgMTU4NCwgMi4wMTIxNTM2MjU0ODgyODEyXSwgWzE2NjM4MzUwNzcuOTkyNzM4NywgMTYwMiwgMi4wMDIwMTI5NjgwNjMzNTQ1XSwgWzE2NjM4MzUwNzguNTAwMTYxNiwgMTYzOCwgMS45MjIzNTA0MDY2NDY3Mjg1XSwgWzE2NjM4MzUwNzguODY3MjU1MiwgMTY2NSwgMS45NDgyOTM0NDc0OTQ1MDY4XSwgWzE2NjM4MzUwNzkuMDAxMTc1LCAxNjc0LCAxLjkyMzQyNDgzOTk3MzQ0OTddLCBbMTY2MzgzNTA3OS4xMTg0NDU0LCAxNjgzLCAxLjk1NDE3MTUzODM1Mjk2NjNdLCBbMTY2MzgzNTA3OS41NTQ0OTIyLCAxNzE5LCAxLjk5ODA3MzkzNTUwODcyOF0sIFsxNjYzODM1MDc5LjY3MDA4NjYsIDE3MjgsIDIuMDkxMDYwODc2ODQ2MzEzNV0sIFsxNjYzODM1MDc5Ljc3MzkwMiwgMTczNywgMS45OTc1NzI0MjIwMjc1ODhdLCBbMTY2MzgzNTA4MC40MzM3NDA5LCAxODAwLCAxLjg2MTAzNDE1NDg5MTk2NzhdLCBbMTY2MzgzNTA4MC43MzQxNDEsIDE4MjcsIDEuOTE1MTY2OTc0MDY3Njg4XSwgWzE2NjM4MzUwODAuODQwODY4NywgMTgzNiwgMS44OTE5NzkyMTc1MjkyOTY5XSwgWzE2NjM4MzUwODAuOTc1ODg2OCwgMTg0NSwgMS44NjczMTkxMDcwNTU2NjRdLCBbMTY2MzgzNTA4MS4xMjg4ODQ4LCAxODU0LCAxLjg4ODM3ODI2MjUxOTgzNjRdLCBbMTY2MzgzNTA4MS4zODI5ODkyLCAxODcyLCAxLjg3MDMxMjkyOTE1MzQ0MjRdLCBbMTY2MzgzNTA4MS41NjQ5MzY0LCAxODkwLCAxLjg4ODE3MTU1MzYxMTc1NTRdLCBbMTY2MzgzNTA4MS43NTQ3MTIzLCAxOTA4LCAxLjkxNjg2OTQwMTkzMTc2MjddLCBbMTY2MzgzNTA4MS45ODcxODc0LCAxOTI2LCAxLjg2MzgxMDA2MjQwODQ0NzNdLCBbMTY2MzgzNTA4Mi4yNjMyMTU4LCAxOTQ0LCAxLjg0ODMzNzg4ODcxNzY1MTRdLCBbMTY2MzgzNTA4Mi4zODE3MTk4LCAxOTUzLCAxLjg4MTE2MzIzOTQ3OTA2NV0sIFsxNjYzODM1MDgyLjczNTI4MiwgMTk4MCwgMS44NjQxMjQ4OTQxNDIxNTA5XSwgWzE2NjM4MzUwODIuODU3MTM1OCwgMTk4OSwgMS44NDI2NDkyMjE0MjAyODhdLCBbMTY2MzgzNTA4Mi45NzYyODAyLCAxOTk4LCAxLjc5ODQ5NzU1NzY0MDA3NTddLCBbMTY2MzgzNTA4My4zMjQ0ODcsIDIwMjUsIDEuOTI3MzIzNTc5Nzg4MjA4XSwgWzE2NjM4MzUwODMuOTMxNTY2NSwgMjA3MCwgMS44MzkwNzUzMjY5MTk1NTU3XSwgWzE2NjM4MzUwODUuMDc3MTI3NywgMjE2MCwgMS44NjA3NjY3Njg0NTU1MDU0XSwgWzE2NjM4MzUwODUuMjc5MjIyLCAyMTc4LCAxLjgwOTMyODE5ODQzMjkyMjRdLCBbMTY2MzgzNTA4NS41NzczNjYsIDIyMDUsIDEuNzc0Mjc5MjM2NzkzNTE4XSwgWzE2NjM4MzUwODUuNjcyNDMzOSwgMjIxNCwgMS43NjU2NTAwMzM5NTA4MDU3XSwgWzE2NjM4MzUwODUuNzgxNzUxNCwgMjIyMywgMS43Nzk2MzE2MTQ2ODUwNTg2XSwgWzE2NjM4MzUwODYuNjIxODc5NiwgMjI5NSwgMS43OTczMzQ1NTE4MTEyMTgzXSwgWzE2NjM4MzUwODcuMDE0NDk4MiwgMjMzMSwgMS43MzYzNTUxODU1MDg3MjhdLCBbMTY2MzgzNTA4Ny4xNjc3NTIsIDIzNDAsIDEuNzUwOTAxMTAzMDE5NzE0NF0sIFsxNjYzODM1MDg3LjMwMzQ2OTQsIDIzNDksIDEuNzMyNTc3OTE5OTYwMDIyXSwgWzE2NjM4MzUwODcuNzUxMDE5NSwgMjM2NywgMS43NzUyNTU5MTg1MDI4MDc2XSwgWzE2NjM4MzUwODguNTQ1MjI2OCwgMjQzOSwgMS43NDU5MzQ2MDU1OTg0NDk3XSwgWzE2NjM4MzUwODguNjQwMTA2LCAyNDQ4LCAxLjcxOTY4Njk4NTAxNTg2OTFdLCBbMTY2MzgzNTA4OC45NDQyMDI0LCAyNDc1LCAxLjY4NjMxMTk2MDIyMDMzN10sIFsxNjYzODM1MDg5LjE1NTM0NjQsIDI0OTMsIDEuNzA2OTQzOTg4ODAwMDQ4OF0sIFsxNjYzODM1MDg5LjM1MTc0NzgsIDI1MTEsIDEuNzczNjA0NTEyMjE0NjYwNl0sIFsxNjYzODM1MDg5LjU1MTI1LCAyNTI5LCAxLjY5MzYzMzc5NDc4NDU0Nl0sIFsxNjYzODM1MDg5Ljc0NTU0MDQsIDI1NDcsIDEuNzA3Njg1MjMyMTYyNDc1Nl0sIFsxNjYzODM1MDg5Ljg1OTg0MTgsIDI1NTYsIDEuNzMyMjA1OTg2OTc2NjIzNV0sIFsxNjYzODM1MDkwLjA2NTQ5NSwgMjU3NCwgMS43Mjg2ODg5NTUzMDcwMDY4XSwgWzE2NjM4MzUwOTAuMjcyNjAyNiwgMjU5MiwgMS43MTgzODExNjY0NTgxMjk5XSwgWzE2NjM4MzUwOTAuMzY5OTM3NCwgMjYwMSwgMS45Mjk5Mzc0ODE4ODAxODhdLCBbMTY2MzgzNTA5MC41ODAxMzAzLCAyNjE5LCAxLjc1ODUwNDYyOTEzNTEzMThdLCBbMTY2MzgzNTA5MS4xNDE4Nzc3LCAyNjY0LCAxLjc5MjI4NzcwNzMyODc5NjRdLCBbMTY2MzgzNTA5MS4yNTA4OTQ4LCAyNjczLCAxLjY4NjM3MzQ3MjIxMzc0NTFdLCBbMTY2MzgzNTA5MS4zNjUzNjk4LCAyNjgyLCAxLjY5MDI1MjU0MjQ5NTcyNzVdLCBbMTY2MzgzNTA5MS40Njk5MTIsIDI2OTEsIDEuNjc3Mjc4ODc2MzA0NjI2NV0sIFsxNjYzODM1MDkyLjQzMjU2MjQsIDI3NjMsIDEuNjk2NTc0MjExMTIwNjA1NV0sIFsxNjYzODM1MDkyLjY3ODM1MjQsIDI3ODEsIDEuNjUzOTY4NjkxODI1ODY2N10sIFsxNjYzODM1MDkzLjE3NjU1MSwgMjgxNywgMS42MzI4NTY3MjY2NDY0MjMzXSwgWzE2NjM4MzUwOTMuNjAzNDUxNywgMjg1MywgMS42NTc5NTAwNDM2NzgyODM3XSwgWzE2NjM4MzUwOTMuODUwNjc0LCAyODcxLCAxLjYzNTc0ODM4NjM4MzA1NjZdLCBbMTY2MzgzNTA5My45NzU2NzMyLCAyODgwLCAxLjY0MjIxNjMyNDgwNjIxMzRdLCBbMTY2MzgzNTA5NC4zNTA3MzYsIDI5MDcsIDEuNjMyOTQ5MzUyMjY0NDA0M10sIFsxNjYzODM1MDk1LjA2MjYzMDIsIDI5NzAsIDEuNjM0ODE0NzM5MjI3Mjk1XSwgWzE2NjM4MzUwOTUuMjYwOTczLCAyOTg4LCAxLjYxODE1NDE2ODEyODk2NzNdLCBbMTY2MzgzNTA5NS4zNTc4NzA2LCAyOTk3LCAxLjYyNTkwNzU0MDMyMTM1XSwgWzE2NjM4MzUwOTYuMTA3MjQ1NywgMzA0MiwgMS42MjA2NzY5OTQzMjM3MzA1XSwgWzE2NjM4MzUwOTYuMjExMjUzLCAzMDUxLCAxLjYyMDEzMjIwNzg3MDQ4MzRdLCBbMTY2MzgzNTA5Ni40NTc2OTc2LCAzMDY5LCAxLjYwMDk2NDU0NjIwMzYxMzNdLCBbMTY2MzgzNTA5Ni43ODYyODMsIDMwOTYsIDEuNjA5NDAwMjcyMzY5Mzg0OF0sIFsxNjYzODM1MDk2Ljk4MjA3MSwgMzExNCwgMS41Njk1NTc3ODU5ODc4NTRdLCBbMTY2MzgzNTA5Ny4wODEwNzk3LCAzMTIzLCAxLjYwMDU5NDA0MzczMTY4OTVdLCBbMTY2MzgzNTA5Ny40NjU3NDU0LCAzMTU5LCAxLjU3Mjc3OTc3NDY2NTgzMjVdLCBbMTY2MzgzNTA5Ny42NTEzNTI2LCAzMTc3LCAxLjYxMDAzMTg0MzE4NTQyNDhdLCBbMTY2MzgzNTA5Ny44NDUyODczLCAzMTk1LCAxLjU5MTU0Mzc5MzY3ODI4MzddLCBbMTY2MzgzNTA5OC4yMzI2MTEyLCAzMjMxLCAxLjU0NDAzNDM2MTgzOTI5NDRdLCBbMTY2MzgzNTA5OC42MjQwOTQsIDMyNjcsIDEuNTYyNTA0MTcyMzI1MTM0M10sIFsxNjYzODM1MDk4LjcyNTM1MTMsIDMyNzYsIDEuNjExNDAyNzUwMDE1MjU4OF0sIFsxNjYzODM1MDk4LjgyMTQ0MjQsIDMyODUsIDEuNTY2ODQ2MzcwNjk3MDIxNV0sIFsxNjYzODM1MDk4LjkxNjk1ODYsIDMyOTQsIDEuNjA2MzczNzg2OTI2MjY5NV0sIFsxNjYzODM1MDk5LjA1MDQ2ODIsIDMzMDMsIDEuNTY3MzA1Njg0MDg5NjYwNl0sIFsxNjYzODM1MDk5LjE3OTg2OTIsIDMzMTIsIDEuNTYxMjI5NzA1ODEwNTQ2OV0sIFsxNjYzODM1MTAwLjA0MTQyMTQsIDMzNzUsIDEuNTQxNjU5MTE2NzQ0OTk1MV0sIFsxNjYzODM1MTAwLjM5MDMwNTgsIDM0MDIsIDEuNTQ2OTg1NzQ1NDI5OTkyN10sIFsxNjYzODM1MTAwLjUwNTQ5NywgMzQxMSwgMS41MzQzMjA3MTIwODk1Mzg2XSwgWzE2NjM4MzUxMDEuNDE4MDUsIDM0ODMsIDEuNTQ1NDIxMjQyNzEzOTI4Ml0sIFsxNjYzODM1MTAxLjc5MTUzMjgsIDM1MTksIDEuNTQ5MDYyNDkwNDYzMjU2OF0sIFsxNjYzODM1MTAxLjg5MTg0MjgsIDM1MjgsIDEuNTU4NjQ4OTQzOTAxMDYyXSwgWzE2NjM4MzUxMDEuOTg3NTg4NCwgMzUzNywgMS41MzE1MzE4MTA3NjA0OThdLCBbMTY2MzgzNTEwMi4xODUyODc1LCAzNTU1LCAxLjU5MDg4ODUwMDIxMzYyM10sIFsxNjYzODM1MTAyLjQ3OTIwOTcsIDM1ODIsIDEuNTQzNDEyOTIzODEyODY2Ml0sIFsxNjYzODM1MTAyLjk3MDYyMDksIDM2MjcsIDEuNTY5NzQ0MzQ4NTI2MDAxXSwgWzE2NjM4MzUxMDMuMTkxMzcxNywgMzY0NSwgMS40NzkzMTQ0NDY0NDkyNzk4XSwgWzE2NjM4MzUxMDMuODUxNDAwNiwgMzY5MCwgMS40Nzg5NjgxNDM0NjMxMzQ4XSwgWzE2NjM4MzUxMDQuMzMxOTMzLCAzNzI2LCAxLjQ4MzQ0NTY0NDM3ODY2Ml0sIFsxNjYzODM1MTA0LjQ0OTUyMiwgMzczNSwgMS40OTQ5NTk1OTI4MTkyMTM5XSwgWzE2NjM4MzUxMDQuNTYyMjYxMywgMzc0NCwgMS40ODAzMjExNjg4OTk1MzYxXSwgWzE2NjM4MzUxMDUuMTQ2NzEyNSwgMzc3MSwgMS41MzgwNzM2NTg5NDMxNzYzXSwgWzE2NjM4MzUxMDUuNDU3MTY5OCwgMzc5OCwgMS41NjIwMjQxMTY1MTYxMTMzXSwgWzE2NjM4MzUxMDUuNTUzNTUyOSwgMzgwNywgMS42NTIyNDA3NTMxNzM4MjgxXSwgWzE2NjM4MzUxMDUuODc5NjQ5LCAzODM0LCAxLjQ5NjU3NzM4MjA4NzcwNzVdLCBbMTY2MzgzNTEwNS45ODI5NTAyLCAzODQzLCAxLjUxNDQwNzg3MzE1MzY4NjVdLCBbMTY2MzgzNTEwNi4zNzE4NjUsIDM4NzksIDEuNDg0NjkxOTc3NTAwOTE1NV0sIFsxNjYzODM1MTA2LjkwMDI4MzYsIDM5MjQsIDEuNTExMjc5OTQwNjA1MTYzNl0sIFsxNjYzODM1MTA3LjAwODU3MzMsIDM5MzMsIDEuNTA1MzI2MzkwMjY2NDE4NV0sIFsxNjYzODM1MTA3LjE1MzYsIDM5NDIsIDEuNDg0MzQ5MDEyMzc0ODc4XSwgWzE2NjM4MzUxMDcuNDIwOTk0OCwgMzk2MCwgMS41MDY4NDExODI3MDg3NDAyXSwgWzE2NjM4MzUxMDcuNTcyODE3MywgMzk2OSwgMS41Mzc2Njg1ODU3NzcyODI3XSwgWzE2NjM4MzUxMDcuNzA2NTk4OCwgMzk3OCwgMS40MzY4MjA5ODM4ODY3MTg4XSwgWzE2NjM4MzUxMDcuOTMyMjIwNSwgMzk5NiwgMS40NTM1NDU5MjgwMDE0MDM4XSwgWzE2NjM4MzUxMDguMDY0OTMxNiwgNDAwNSwgMS41MDQ2OTU3NzMxMjQ2OTQ4XSwgWzE2NjM4MzUxMDguMjYzMjM2LCA0MDIzLCAxLjQ1NDU4NTE5NDU4NzcwNzVdLCBbMTY2MzgzNTEwOC43MzgyOTEsIDQwNTksIDEuNDk1ODE0MzIzNDI1MjkzXSwgWzE2NjM4MzUxMDguOTg4MjMyMSwgNDA3NywgMS40NDExNDYwMTYxMjA5MTA2XSwgWzE2NjM4MzUxMDkuMTAwMzE1OCwgNDA4NiwgMS40Mzg1ODE0NjY2NzQ4MDQ3XSwgWzE2NjM4MzUxMDkuMjE4MDkyNCwgNDA5NSwgMS40Njg1NDQ0ODMxODQ4MTQ1XSwgWzE2NjM4MzUxMDkuNDQ4MzY3OCwgNDExMywgMS40NDc0OTU0NjA1MTAyNTRdLCBbMTY2MzgzNTEwOS45MzgyNjA4LCA0MTQ5LCAxLjQyNzMzMTA4OTk3MzQ0OTddLCBbMTY2MzgzNTExMC4wNTMyMDI0LCA0MTU4LCAxLjQ0NDEyODUxMzMzNjE4MTZdLCBbMTY2MzgzNTExMC40ODIzNjcsIDQxOTQsIDEuNDY0OTY2ODkzMTk2MTA2XSwgWzE2NjM4MzUxMTAuNjIzNTc3NiwgNDIwMywgMS40MjI3Mjc5NDI0NjY3MzU4XSwgWzE2NjM4MzUxMTAuODUyNjcyOCwgNDIyMSwgMS40NDI2MDY1NjgzMzY0ODY4XSwgWzE2NjM4MzUxMTEuMDk5ODA2LCA0MjM5LCAxLjQzOTAzNjcyNjk1MTU5OTFdLCBbMTY2MzgzNTExMS40ODMwMDM0LCA0Mjc1LCAxLjQzMTc4ODY4MjkzNzYyMl0sIFsxNjYzODM1MTExLjU3Nzk0ODMsIDQyODQsIDEuMzk3MDYzMDE2ODkxNDc5NV0sIFsxNjYzODM1MTExLjk0MzU4MzcsIDQzMTEsIDEuNDExNTg3ODM0MzU4MjE1M10sIFsxNjYzODM1MTEyLjIyNTQwNTIsIDQzMjksIDEuNDI2MTU1NTY3MTY5MTg5NV0sIFsxNjYzODM1MTEyLjMzMDA1NDgsIDQzMzgsIDEuNDkyNjU1MDM4ODMzNjE4Ml0sIFsxNjYzODM1MTEyLjU0NDkyMzMsIDQzNTYsIDEuNDcwNjk3OTk5MDAwNTQ5M10sIFsxNjYzODM1MTEyLjY0NzMyNjIsIDQzNjUsIDEuNDM0MDc4NDU0OTcxMzEzNV0sIFsxNjYzODM1MTEyLjk0OTYyMDIsIDQzOTIsIDEuNDExODMyNDUxODIwMzczNV0sIFsxNjYzODM1MTEzLjA1NjI3NDQsIDQ0MDEsIDEuNDc0MzgxMjA4NDE5Nzk5OF0sIFsxNjYzODM1MTEzLjE1NDExMywgNDQxMCwgMS41MjcxMjU5NTQ2Mjc5OTA3XSwgWzE2NjM4MzUxMTMuMzM3OTA2NCwgNDQyOCwgMS40MDA3Mzc3NjI0NTExNzE5XSwgWzE2NjM4MzUxMTMuNjI3NDcyLCA0NDU1LCAxLjQwNjQwMDA4NDQ5NTU0NDRdLCBbMTY2MzgzNTExNC4wMzI5NjE2LCA0NDkxLCAxLjQ0MTc4ODQzNDk4MjI5OThdLCBbMTY2MzgzNTExNC41MzE5NjI2LCA0NTI3LCAxLjM4Nzg2MDc3NDk5Mzg5NjVdLCBbMTY2MzgzNTExNC44MjE2MDg4LCA0NTM2LCAxLjQ2MDYzMzM5NzEwMjM1Nl0sIFsxNjYzODM1MTE1LjExMTY1MywgNDU2MywgMS4zNTYzMjMyNDIxODc1XSwgWzE2NjM4MzUxMTUuMzg0NjYzOCwgNDU5MCwgMS4zODM0NjI0MjkwNDY2MzA5XSwgWzE2NjM4MzUxMTUuNDc5MzU0MSwgNDU5OSwgMS4zODU0NTI1MDg5MjYzOTE2XSwgWzE2NjM4MzUxMTUuNTY5OTEyLCA0NjA4LCAxLjM4NDI0OTY4NzE5NDgyNDJdLCBbMTY2MzgzNTExNS42Njg1OTkxLCA0NjE3LCAxLjQ1NTQwMjAxNjYzOTcwOTVdLCBbMTY2MzgzNTExNS43NTY1NzEsIDQ2MjYsIDEuNDAwNDcxOTI1NzM1NDczNl0sIFsxNjYzODM1MTE1Ljg0NTMzMDcsIDQ2MzUsIDEuMzkzNDY4MjYwNzY1MDc1N10sIFsxNjYzODM1MTE2LjEzNzIxNCwgNDY2MiwgMS4zNjE1MTE0Njg4ODczMjldLCBbMTY2MzgzNTExNi4yNDE1NTgzLCA0NjcxLCAxLjM3NzgzMzQ4NTYwMzMzMjVdLCBbMTY2MzgzNTExNi4zMzgxNTE3LCA0NjgwLCAxLjQwMzkwMjc2OTA4ODc0NTFdLCBbMTY2MzgzNTExNi40Mjk1OTI2LCA0Njg5LCAxLjQxNjgwNzc3MDcyOTA2NV0sIFsxNjYzODM1MTE2LjcwOTU0MTMsIDQ3MTYsIDEuMzU0NDI4NzY4MTU3OTU5XSwgWzE2NjM4MzUxMTcuMzgwODg5LCA0Nzc5LCAxLjM1OTQ2NDE2ODU0ODU4NF0sIFsxNjYzODM1MTE3LjY3OTE5OTUsIDQ4MDYsIDEuMzcxNTAyNzU3MDcyNDQ4N10sIFsxNjYzODM1MTE3Ljc4MTEyMywgNDgxNSwgMS40Mzg4MzU3NDAwODk0MTY1XSwgWzE2NjM4MzUxMTguMDU2MTE5MiwgNDgzMywgMS4zNzk3Mjc3MjEyMTQyOTQ0XSwgWzE2NjM4MzUxMTguMTQ4NjExLCA0ODQyLCAxLjQyOTI4Nzc5MTI1MjEzNjJdLCBbMTY2MzgzNTExOC4yNDUzMzMsIDQ4NTEsIDEuMzgyMzM2MjU4ODg4MjQ0Nl0sIFsxNjYzODM1MTE4LjQzNjgzMDMsIDQ4NjksIDEuNDQ1ODgxNjA1MTQ4MzE1NF0sIFsxNjYzODM1MTE4LjYxOTk3LCA0ODg3LCAxLjM5OTE2Mzg0MjIwMTIzM10sIFsxNjYzODM1MTE4LjgwNTY0OTUsIDQ5MDUsIDEuMzM5MTAyODY0MjY1NDQyXSwgWzE2NjM4MzUxMTguOTk5NjUyNiwgNDkyMywgMS4zMjg3MDk5NTk5ODM4MjU3XSwgWzE2NjM4MzUxMTkuMDkxOTIxOCwgNDkzMiwgMS4zMzczNTQ1NDA4MjQ4OTAxXSwgWzE2NjM4MzUxMTkuMzk0OTU0MiwgNDk1OSwgMS40MjQwMzUxOTE1MzU5NDk3XSwgWzE2NjM4MzUxMTkuNTg1MTY2LCA0OTc3LCAxLjQxMDE3MjEwNDgzNTUxMDNdLCBbMTY2MzgzNTExOS44NTU3NTc1LCA1MDA0LCAxLjM1MDE1ODA5NTM1OTgwMjJdLCBbMTY2MzgzNTExOS45NTU3MjcsIDUwMTMsIDEuMzI1MTE2Mzk1OTUwMzE3NF0sIFsxNjYzODM1MTIwLjc1OTYzNzQsIDUwNjcsIDEuMzQyMTA3MTc2NzgwNzAwN10sIFsxNjYzODM1MTIwLjg3NjA3NDgsIDUwNzYsIDEuMzI2ODY3NTgwNDEzODE4NF0sIFsxNjYzODM1MTIxLjAwMTI5LCA1MDg1LCAxLjM2NDc4NTkwOTY1MjcxXSwgWzE2NjM4MzUxMjEuNDg0MzMzOCwgNTEyMSwgMS4zMTc5MDM3NTcwOTUzMzddLCBbMTY2MzgzNTEyMS44MjYyMjkzLCA1MTQ4LCAxLjMzMjg0ODkwNjUxNzAyODhdLCBbMTY2MzgzNTEyMi4wNTU0OTE3LCA1MTY2LCAxLjMyOTgzODI3NTkwOTQyMzhdLCBbMTY2MzgzNTEyMi40MDU5ODcsIDUxOTMsIDEuMzM2MzU0ODUxNzIyNzE3M10sIFsxNjYzODM1MTIyLjgyNTAyMSwgNTIyOSwgMS4zMjA3OTk3MDgzNjYzOTRdLCBbMTY2MzgzNTEyMy40MTY1NDE4LCA1MjY1LCAxLjMzMjAzMDE3NzExNjM5NF0sIFsxNjYzODM1MTIzLjUwNTk1ODYsIDUyNzQsIDEuMzY3MzI2NjE3MjQwOTA1OF0sIFsxNjYzODM1MTIzLjYxMzQ4MywgNTI4MywgMS40MTE1NDk2ODczODU1NTldLCBbMTY2MzgzNTEyMy44MDA1OTg0LCA1MzAxLCAxLjM4MDMxNzY4Nzk4ODI4MTJdLCBbMTY2MzgzNTEyMy45OTIyNzgzLCA1MzE5LCAxLjMyOTMyMjMzODEwNDI0OF0sIFsxNjYzODM1MTI0LjA4NDc1MDcsIDUzMjgsIDEuMzUwNzA4NDg0NjQ5NjU4Ml0sIFsxNjYzODM1MTI0LjIwNTM1NDcsIDUzMzcsIDEuMzMwOTU2OTM1ODgyNTY4NF0sIFsxNjYzODM1MTI0LjM5NjQ2MDgsIDUzNTUsIDEuMzIyNTU0MzQ5ODk5MjkyXSwgWzE2NjM4MzUxMjQuNjU2OTYyNCwgNTM3MywgMS4zMDAzMTMyMzQzMjkyMjM2XSwgWzE2NjM4MzUxMjQuOTAzMjA0MiwgNTM5MSwgMS4zMjcwODc1MjE1NTMwMzk2XSwgWzE2NjM4MzUxMjUuMDA3OTI5NiwgNTQwMCwgMS4yOTMyNjUzNDI3MTI0MDIzXSwgWzE2NjM4MzUxMjUuMzA3NDQ1NSwgNTQyNywgMS4zMDI2OTEyMjEyMzcxODI2XSwgWzE2NjM4MzUxMjUuNDA1MjYxMywgNTQzNiwgMS4zMDIxMjYxNjkyMDQ3MTJdLCBbMTY2MzgzNTEyNS45Mjk3OTU1LCA1NDgxLCAxLjMxNDg2OTQwMzgzOTExMTNdLCBbMTY2MzgzNTEyNi4xMjQ1MTksIDU0OTksIDEuMzIzMzMyNDI4OTMyMTldLCBbMTY2MzgzNTEyNi40MzQ2NTYxLCA1NTI2LCAxLjI4ODIyNjg0Mjg4MDI0OV0sIFsxNjYzODM1MTI2LjUyNjgxOTUsIDU1MzUsIDEuMzEzODgxMzk3MjQ3MzE0NV0sIFsxNjYzODM1MTI2Ljc0NzAwNzQsIDU1NTMsIDEuMjU3Nzc0MzUzMDI3MzQzOF0sIFsxNjYzODM1MTI2LjkzOTE1NzIsIDU1NzEsIDEuMzU2MjA3MTMyMzM5NDc3NV0sIFsxNjYzODM1MTI3LjEyOTc1NDgsIDU1ODksIDEuMzE2MzkzOTcxNDQzMTc2M10sIFsxNjYzODM1MTI3LjMzMTM5NTQsIDU2MDcsIDEuMzAyODE5MDEzNTk1NTgxXSwgWzE2NjM4MzUxMjcuNDI0ODI2MSwgNTYxNiwgMS4zMDE4NzE2NTczNzE1MjFdLCBbMTY2MzgzNTEyNy43MTI5MDE2LCA1NjQzLCAxLjMxNzIwMzg3OTM1NjM4NDNdLCBbMTY2MzgzNTEyNy45MTY3MzU2LCA1NjYxLCAxLjI1ODI2MjM5NTg1ODc2NDZdLCBbMTY2MzgzNTEyOC4wMjM1NTcyLCA1NjcwLCAxLjI5MzEyMjY0OTE5MjgxXSwgWzE2NjM4MzUxMjguMzkwNjY4NCwgNTcwNiwgMS4yOTU4MzY5MjU1MDY1OTE4XSwgWzE2NjM4MzUxMjguNzY2MDI2MywgNTc0MiwgMS4zMTIyODEwMTI1MzUwOTUyXSwgWzE2NjM4MzUxMjkuMDc0NjU2LCA1NzY5LCAxLjMzMzEwNTU2NDExNzQzMTZdLCBbMTY2MzgzNTEyOS4xNjYzNTMsIDU3NzgsIDEuMjU3NDE3NTU5NjIzNzE4M10sIFsxNjYzODM1MTI5LjI1NzU3MzgsIDU3ODcsIDEuMjcxMjU0Nzc3OTA4MzI1Ml0sIFsxNjYzODM1MTI5LjM1MTA4NTQsIDU3OTYsIDEuMzM5Njc0ODMwNDM2NzA2NV0sIFsxNjYzODM1MTI5LjQ0MjcyMTQsIDU4MDUsIDEuMzU4NTQ3MjEwNjkzMzU5NF0sIFsxNjYzODM1MTI5LjkzMTcyOTMsIDU4NTAsIDEuMjU0Mzc0ODYxNzE3MjI0MV0sIFsxNjYzODM1MTMwLjEyODUzODQsIDU4NjgsIDEuMzU3OTI1Mjk1ODI5NzczXSwgWzE2NjM4MzUxMzAuMjI4OTg5MSwgNTg3NywgMS4zMDY1NjU1MjMxNDc1ODNdLCBbMTY2MzgzNTEzMC40MDk1MTkyLCA1ODk1LCAxLjI2OTYwMTM0NTA2MjI1NTldLCBbMTY2MzgzNTEzMC40OTkwNTcsIDU5MDQsIDEuMjc5NTU0MjQ3ODU2MTQwMV0sIFsxNjYzODM1MTMxLjAwOTA3NzMsIDU5MzEsIDEuMjQ5NzIyODM4NDAxNzk0NF0sIFsxNjYzODM1MTMxLjIwNTA0NTcsIDU5NDksIDEuMjc5NDU1MzA0MTQ1ODEzXSwgWzE2NjM4MzUxMzIuMDA5MzE3OSwgNjAxMiwgMS4zMjM2MjY2Mzc0NTg4MDEzXSwgWzE2NjM4MzUxMzIuNDI5MDc2NywgNjAzOSwgMS4zNTY4NDMzNTIzMTc4MV0sIFsxNjYzODM1MTMzLjAzNDAxNCwgNjA4NCwgMS4zMDgxNDQwOTI1NTk4MTQ1XSwgWzE2NjM4MzUxMzMuMTMzODYwNiwgNjA5MywgMS4yNDY5OTYyODM1MzExODldLCBbMTY2MzgzNTEzMy4yMjU0LCA2MTAyLCAxLjI3NTkzMTk1NDM4Mzg1XSwgWzE2NjM4MzUxMzMuNTE4MTU2MywgNjEyOSwgMS4yOTQwOTMzNzA0Mzc2MjJdLCBbMTY2MzgzNTEzMy43MTAzMzcyLCA2MTQ3LCAxLjI0NjQ1MzY0Mjg0NTE1MzhdLCBbMTY2MzgzNTEzMy43OTk2OTY0LCA2MTU2LCAxLjI3MjY0MjczMTY2NjU2NV0sIFsxNjYzODM1MTMzLjg5MDY2NjIsIDYxNjUsIDEuMjY3NzU0NDM1NTM5MjQ1Nl0sIFsxNjYzODM1MTM0LjE3NzQ2LCA2MTkyLCAxLjI0NjgzOTA0NjQ3ODI3MTVdLCBbMTY2MzgzNTEzNC42ODE1NjM0LCA2MjM3LCAxLjI5NjM1Mjc0NDEwMjQ3OF0sIFsxNjYzODM1MTM0Ljg3NDE1OCwgNjI1NSwgMS4yNDc4NTE3MjkzOTMwMDU0XSwgWzE2NjM4MzUxMzUuMDcyMjUzNSwgNjI3MywgMS4yNjI0NDM0MjMyNzExNzkyXSwgWzE2NjM4MzUxMzUuMTYxNTExNCwgNjI4MiwgMS4yNjQ5MDM2NjQ1ODg5MjgyXSwgWzE2NjM4MzUxMzUuMzYzMjg0LCA2MzAwLCAxLjI1NTQxMDA3NTE4NzY4M10sIFsxNjYzODM1MTM1LjY1NDkwMDYsIDYzMjcsIDEuMjgyOTI0NzcxMzA4ODk5XSwgWzE2NjM4MzUxMzUuNzUwNzE5MywgNjMzNiwgMS4yNzU2NTg0ODgyNzM2MjA2XSwgWzE2NjM4MzUxMzUuOTM3NDA2OCwgNjM1NCwgMS4yMzg4Mjc0NjY5NjQ3MjE3XSwgWzE2NjM4MzUxMzYuNTAzMjMyNSwgNjM5MCwgMS4yODU1NTU2MDExMTk5OTUxXSwgWzE2NjM4MzUxMzYuNjQ4NzY0NCwgNjM5OSwgMS4yMjEwMzU0ODA0OTkyNjc2XSwgWzE2NjM4MzUxMzYuOTE1MzAxMywgNjQxNywgMS4yNjQ2NjIwMjczNTkwMDg4XSwgWzE2NjM4MzUxMzcuMjcxNzA3NSwgNjQ0NCwgMS4yOTY2ODE0MDQxMTM3Njk1XSwgWzE2NjM4MzUxMzcuNTE2MDk0NCwgNjQ2MiwgMS4yMjQxNDcwODEzNzUxMjJdLCBbMTY2MzgzNTEzNy44NjQ5OTQ4LCA2NDg5LCAxLjI2NTcyNzg3NzYxNjg4MjNdLCBbMTY2MzgzNTEzNy45OTU5NjY0LCA2NDk4LCAxLjIyODU3NTU4NzI3MjY0NF0sIFsxNjYzODM1MTM4LjIzMTIwOSwgNjUxNiwgMS4yNTY2MTczMDc2NjI5NjM5XSwgWzE2NjM4MzUxMzguNDM1Njg1NCwgNjUzNCwgMS4yNTAyMjc1NzA1MzM3NTI0XSwgWzE2NjM4MzUxMzguNTU0NDU5MywgNjU0MywgMS4yNzc1MTIxOTI3MjYxMzUzXSwgWzE2NjM4MzUxMzguNzkzMDUxNywgNjU2MSwgMS4yNzE4NTM4MDQ1ODgzMTc5XSwgWzE2NjM4MzUxMzguODg5NjczNywgNjU3MCwgMS4yNjI0ODA5NzQxOTczODc3XSwgWzE2NjM4MzUxMzkuMTE1OTAwOCwgNjU4OCwgMS4yOTU4MDg2NzI5MDQ5NjgzXSwgWzE2NjM4MzUxMzkuMjA4OTU1OCwgNjU5NywgMS4yODU5NTYzODI3NTE0NjQ4XSwgWzE2NjM4MzUxMzkuMzAyODIxOSwgNjYwNiwgMS4yNDIzODQ0MzM3NDYzMzhdLCBbMTY2MzgzNTEzOS45OTY0OTMsIDY2NTEsIDEuMjk2NDE3NzEzMTY1MjgzMl0sIFsxNjYzODM1MTQwLjQ3OTk0ODgsIDY2ODcsIDEuMjE5OTU5NDk3NDUxNzgyMl0sIFsxNjYzODM1MTQwLjYwODYxNzMsIDY2OTYsIDEuMjM0Mzk4NjAzNDM5MzMxXSwgWzE2NjM4MzUxNDAuNzI5MjY0NywgNjcwNSwgMS4yNjk3MDM2MjY2MzI2OTA0XSwgWzE2NjM4MzUxNDEuOTY2NDQxLCA2ODEzLCAxLjI4MDI0OTExODgwNDkzMTZdLCBbMTY2MzgzNTE0Mi4yMzU3NTk3LCA2ODMxLCAxLjI4Mjg1MzEyNjUyNTg3OV0sIFsxNjYzODM1MTQyLjgzOTQ0MiwgNjg4NSwgMS4yNzUwNDAxNDk2ODg3MjA3XSwgWzE2NjM4MzUxNDIuOTQxMzUwNywgNjg5NCwgMS4yMzkwMzM1Nzk4MjYzNTVdLCBbMTY2MzgzNTE0My4zMjA2MzQsIDY5MjEsIDEuMjYwMjkzNjAyOTQzNDIwNF0sIFsxNjYzODM1MTQzLjQ1MTkyMTcsIDY5MzAsIDEuMjU0OTQwMTUyMTY4Mjc0XSwgWzE2NjM4MzUxNDMuODM2MTAxNSwgNjk1NywgMS4xOTExNjU4MDQ4NjI5NzZdLCBbMTY2MzgzNTE0NC4xODg4MjU4LCA2OTg0LCAxLjIwNTI1Mjg4NTgxODQ4MTRdLCBbMTY2MzgzNTE0NC4yODQ3MzUsIDY5OTMsIDEuMjMzMDg1MTU1NDg3MDYwNV0sIFsxNjYzODM1MTQ0LjQ2Njk5LCA3MDExLCAxLjI0MDI0MzMxNTY5NjcxNjNdLCBbMTY2MzgzNTE0NC41NjgzNzE1LCA3MDIwLCAxLjI1NTQzMDY5ODM5NDc3NTRdLCBbMTY2MzgzNTE0NC42NjQ5NzksIDcwMjksIDEuMjcyODQ3MDU2Mzg4ODU1XSwgWzE2NjM4MzUxNDQuNzU2NDgyMSwgNzAzOCwgMS4yMzE3MTc1ODY1MTczMzRdLCBbMTY2MzgzNTE0NC44NDg3NTczLCA3MDQ3LCAxLjIwNzkzNDg1NjQxNDc5NV0sIFsxNjYzODM1MTQ1LjQxNzcwMiwgNzEwMSwgMS4yMTM5NTc2NjczNTA3NjldLCBbMTY2MzgzNTE0NS42OTI5NDg4LCA3MTI4LCAxLjIwNDE5MzU5MjA3MTUzMzJdLCBbMTY2MzgzNTE0Ny4xODkyOTQsIDcyNDUsIDEuMjA1NjI4Mjc1ODcxMjc2OV0sIFsxNjYzODM1MTQ3LjMzMDkzNywgNzI1NCwgMS4yNDg4MjEzNzc3NTQyMTE0XSwgWzE2NjM4MzUxNDcuNDQwMTUzMSwgNzI2MywgMS4yMDk3MTI2MjQ1NDk4NjU3XSwgWzE2NjM4MzUxNDcuNTMzOTMzNCwgNzI3MiwgMS4yNjA3ODY2NTI1NjUwMDI0XSwgWzE2NjM4MzUxNDcuODM2MDEzLCA3Mjk5LCAxLjI0MjYzOTE4Mzk5ODEwOF0sIFsxNjYzODM1MTQ4Ljc3NDIyMjksIDczNzEsIDEuMjM1NjIwNDk4NjU3MjI2Nl0sIFsxNjYzODM1MTQ4LjkxODY3MDIsIDczODAsIDEuMjI0OTUxOTgyNDk4MTY5XSwgWzE2NjM4MzUxNTAuMDc3NjU3NywgNzQ1MiwgMS4yMzgyMjcxMjg5ODI1NDRdLCBbMTY2MzgzNTE1MC4xODY0NTg4LCA3NDYxLCAxLjIxMjA4MzU3ODEwOTc0MTJdLCBbMTY2MzgzNTE1MC42MTI1MjYyLCA3NDk3LCAxLjIxNzM1NjkyMDI0MjMwOTZdLCBbMTY2MzgzNTE1MC43MzI1OTc0LCA3NTA2LCAxLjI1ODU5MjEyODc1MzY2Ml0sIFsxNjYzODM1MTUxLjAxNTEwMDIsIDc1MjQsIDEuMjUxOTY4MzgzNzg5MDYyNV0sIFsxNjYzODM1MTUxLjEzMjczNywgNzUzMywgMS4yNDAyMDMyNjEzNzU0MjcyXSwgWzE2NjM4MzUxNTEuMjYyNjAwMiwgNzU0MiwgMS4yMjIxNTMwNjc1ODg4MDYyXSwgWzE2NjM4MzUxNTEuNTAwNzYwOCwgNzU2MCwgMS4yMTA0Nzg2NjM0NDQ1MTldLCBbMTY2MzgzNTE1MS42MDE0MTcsIDc1NjksIDEuMjI1MjM3NzI3MTY1MjIyMl0sIFsxNjYzODM1MTUxLjg5MjczNjQsIDc1OTYsIDEuMjgxODMwMDcyNDAyOTU0XSwgWzE2NjM4MzUxNTIuMDg5OTE5LCA3NjE0LCAxLjIzNzQ4ODUwODIyNDQ4NzNdLCBbMTY2MzgzNTE1Mi41ODkyMDU3LCA3NjU5LCAxLjMwNDU2MjA5MTgyNzM5MjZdLCBbMTY2MzgzNTE1Mi42ODQ5MDk4LCA3NjY4LCAxLjM2Mjk0Njk4NzE1MjA5OTZdLCBbMTY2MzgzNTE1Mi45NzA1ODM0LCA3Njk1LCAxLjIzMjcxNDg5MTQzMzcxNThdLCBbMTY2MzgzNTE1My4yNjA0OTkyLCA3NzIyLCAxLjIzNzI5NjgxOTY4Njg4OTZdLCBbMTY2MzgzNTE1My41NTYxOTkzLCA3NzQ5LCAxLjIzMjQxNzcwMjY3NDg2NTddLCBbMTY2MzgzNTE1My44MTg2MTYsIDc3NjcsIDEuMTk3NzIyNjczNDE2MTM3N10sIFsxNjYzODM1MTU0LjIyOTYwNTQsIDc3OTQsIDEuMjQ2MzExOTAyOTk5ODc4XSwgWzE2NjM4MzUxNTQuMzI3MjQ1NSwgNzgwMywgMS4xOTkyMzQ3MjQwNDQ3OTk4XSwgWzE2NjM4MzUxNTQuNzE5NzE5NiwgNzgzOSwgMS4yNzU4MjgwMDM4ODMzNjE4XSwgWzE2NjM4MzUxNTQuODA3NDEwMiwgNzg0OCwgMS4yODU5ODU1ODkwMjc0MDQ4XSwgWzE2NjM4MzUxNTYuMDQ3NTc2LCA3OTY1LCAxLjIwMzA4NzkyNTkxMDk0OTddLCBbMTY2MzgzNTE1Ni4xNDIyMTg0LCA3OTc0LCAxLjIzNzYzNjA4OTMyNDk1MTJdLCBbMTY2MzgzNTE1Ni4yMzQ1NzgsIDc5ODMsIDEuMjI3NDQzMzM3NDQwNDkwN10sIFsxNjYzODM1MTU2LjYwNDk0LCA4MDE5LCAxLjI0NzIyNTY0MjIwNDI4NDddLCBbMTY2MzgzNTE1Ni44MDE0MDE2LCA4MDM3LCAxLjIzMTg3MjQzOTM4NDQ2MDRdLCBbMTY2MzgzNTE1Ny4wOTE3NjUsIDgwNjQsIDEuMjExMTc3MTEwNjcxOTk3XSwgWzE2NjM4MzUxNTcuMjgwMDAzMywgODA4MiwgMS4yMjA2MzA0MDczMzMzNzRdLCBbMTY2MzgzNTE1Ny4zNzI5MjYyLCA4MDkxLCAxLjI0MTc2MzM1MzM0Nzc3ODNdLCBbMTY2MzgzNTE1Ny44NjE1MDk2LCA4MTE4LCAxLjE5MTQ3NDY3NjEzMjIwMjFdLCBbMTY2MzgzNTE1Ny45NTYxMjU3LCA4MTI3LCAxLjE5NzY4NTcxODUzNjM3N10sIFsxNjYzODM1MTU4LjQzOTg2OSwgODE3MiwgMS4yMjM3MTgyODU1NjA2MDhdLCBbMTY2MzgzNTE1OC41MzEwOTYyLCA4MTgxLCAxLjI3NDEwOTk1OTYwMjM1Nl0sIFsxNjYzODM1MTU4LjczMjIwNTIsIDgxOTksIDEuMjQyMzk2OTUwNzIxNzQwN10sIFsxNjYzODM1MTU4LjgzNTgyODMsIDgyMDgsIDEuMjQ0MzkyMTU2NjAwOTUyMV0sIFsxNjYzODM1MTU5LjEyMjIzMzIsIDgyMzUsIDEuMTg3MjA1MTk1NDI2OTQxXSwgWzE2NjM4MzUxNTkuNTAzNjUyOCwgODI3MSwgMS4xNzcyNDg1OTcxNDUwODA2XSwgWzE2NjM4MzUxNTkuNTk3NjMsIDgyODAsIDEuMjEwMjU2OTM0MTY1OTU0Nl0sIFsxNjYzODM1MTU5LjgxMTMyOTQsIDgyOTgsIDEuMjEyODg1NDk5MDAwNTQ5M10sIFsxNjYzODM1MTYwLjAwNzEzNTIsIDgzMTYsIDEuMjA1OTM3Mzg1NTU5MDgyXSwgWzE2NjM4MzUxNjAuNDk3NTExNCwgODM2MSwgMS4yMTYxMDI5NTc3MjU1MjVdLCBbMTY2MzgzNTE2MC43MDk1MTU4LCA4Mzc5LCAxLjIxMzc2ODEyNDU4MDM4MzNdLCBbMTY2MzgzNTE2MC44NDAxMzksIDgzODgsIDEuMTk4MDM1NDc4NTkxOTE5XSwgWzE2NjM4MzUxNjAuOTc1ODAzNiwgODM5NywgMS4xOTY4NTI0NDU2MDI0MTddLCBbMTY2MzgzNTE2MS4zNjEzODQ2LCA4NDI0LCAxLjMyNjc3NDU5NzE2Nzk2ODhdLCBbMTY2MzgzNTE2MS44NjI0OTIzLCA4NDYwLCAxLjE4ODIxNzA0Mzg3NjY0OF0sIFsxNjYzODM1MTYyLjA5ODE1ODEsIDg0NzgsIDEuMTgwOTYzNTE2MjM1MzUxNl0sIFsxNjYzODM1MTYyLjIyMjMwNCwgODQ4NywgMS4xODUxNDUxMzk2OTQyMTM5XSwgWzE2NjM4MzUxNjIuNTcyMzcwNSwgODUxNCwgMS4xODgyNTIwOTE0MDc3NzU5XSwgWzE2NjM4MzUxNjMuMDM4OTYyNCwgODU1MCwgMS4zMTQyNjY0NDMyNTI1NjM1XSwgWzE2NjM4MzUxNjMuMzg3NjY2NywgODU3NywgMS4xNzgxMTQ1MzM0MjQzNzc0XSwgWzE2NjM4MzUxNjMuNjg5MjUyMSwgODYwNCwgMS4yMjI5Mjk4MzUzMTk1MTldLCBbMTY2MzgzNTE2My44MDMzNDg4LCA4NjEzLCAxLjIwMzQwMDg1MDI5NjAyMDVdLCBbMTY2MzgzNTE2NC4yMDQ4NzM2LCA4NjQ5LCAxLjE3MzgxNzUxNTM3MzIzXSwgWzE2NjM4MzUxNjQuMzk0ODAxLCA4NjY3LCAxLjE3NTA3NTA1NDE2ODcwMTJdLCBbMTY2MzgzNTE2NC40OTE0MjAzLCA4Njc2LCAxLjE3NDUyNDA2ODgzMjM5NzVdLCBbMTY2MzgzNTE2NC42OTY3NTc4LCA4Njk0LCAxLjI2Njc5ODM3NzAzNzA0ODNdLCBbMTY2MzgzNTE2NC44OTQ1NjM0LCA4NzEyLCAxLjI2Njg5MTcxNzkxMDc2NjZdLCBbMTY2MzgzNTE2NC45OTA3Mjg5LCA4NzIxLCAxLjI3OTI1NTM5MDE2NzIzNjNdLCBbMTY2MzgzNTE2NS4zMTI1MzkzLCA4NzQ4LCAxLjIzNzMyNDM1NzAzMjc3NTldLCBbMTY2MzgzNTE2Ni4xMDI2MTM0LCA4NzkzLCAxLjE4NjU3NjI0NzIxNTI3MV0sIFsxNjYzODM1MTY2LjMzMDU4NjcsIDg4MTEsIDEuMjAzNDIwMDQyOTkxNjM4Ml0sIFsxNjYzODM1MTY2LjQ2MTE2NywgODgyMCwgMS4xODEyODg1OTk5Njc5NTY1XSwgWzE2NjM4MzUxNjYuNzgyMzQwNSwgODg0NywgMS4yNTE4MjU4MDk0Nzg3NTk4XSwgWzE2NjM4MzUxNjcuMjcwNDUxOCwgODg4MywgMS4yMjM3ODY0NzMyNzQyMzFdLCBbMTY2MzgzNTE2Ny43MDM1MjMsIDg5MTksIDEuMjA1ODUxMDc4MDMzNDQ3M10sIFsxNjYzODM1MTY3Ljk3MTk0MDUsIDg5MzcsIDEuMjMzMjgzOTk2NTgyMDMxMl0sIFsxNjYzODM1MTY4LjE3MjAxMSwgODk1NSwgMS4yMzgwODk1NjE0NjI0MDIzXSwgWzE2NjM4MzUxNjguNDM5NzM1LCA4OTczLCAxLjI0NDI5NTEyMDIzOTI1NzhdLCBbMTY2MzgzNTE2OC42Njk0NDQzLCA4OTkxLCAxLjIwMDM2MTEzMjYyMTc2NTFdLCBbMTY2MzgzNTE2OC44MDAyNzMyLCA5MDAwLCAxLjIzNjcyNDI1NzQ2OTE3NzJdLCBbMTY2MzgzNTE2OS4xNjgyMjE3LCA5MDI3LCAxLjE4MDA1MDczMDcwNTI2MTJdLCBbMTY2MzgzNTE2OS4yNzM1NjQ2LCA5MDM2LCAxLjE3NTg3MzYzNzE5OTQwMTldLCBbMTY2MzgzNTE2OS4zOTMxNTIyLCA5MDQ1LCAxLjI0NjY4NDkwODg2Njg4MjNdLCBbMTY2MzgzNTE2OS41ODg0ODI0LCA5MDYzLCAxLjE5NjU3Nzc4NzM5OTI5Ml0sIFsxNjYzODM1MTcwLjExNTczMDMsIDkxMDgsIDEuMTgzNTg3OTA4NzQ0ODEyXSwgWzE2NjM4MzUxNzAuMzEwODE3MiwgOTEyNiwgMS4yNTAyNzAwMDkwNDA4MzI1XSwgWzE2NjM4MzUxNzAuNTA2NzU5LCA5MTQ0LCAxLjI2MTI1Mjk5OTMwNTcyNV0sIFsxNjYzODM1MTcxLjE5ODY2MzcsIDkyMDcsIDEuMTc1ODI5MDUyOTI1MTA5OV0sIFsxNjYzODM1MTcxLjYwMjgwMDEsIDkyNDMsIDEuMjYxMTM0OTgyMTA5MDY5OF0sIFsxNjYzODM1MTcxLjc5NTU3MDYsIDkyNjEsIDEuMjk4Njg4MjkyNTAzMzU3XSwgWzE2NjM4MzUxNzEuODg5Mzk4OCwgOTI3MCwgMS4yMDExNzMwNjcwOTI4OTU1XSwgWzE2NjM4MzUxNzIuNDY4OTE4MywgOTMyNCwgMS4xNzY1NDU1MDA3NTUzMV0sIFsxNjYzODM1MTcyLjU3NTU0MTcsIDkzMzMsIDEuMTUwMjQyODA1NDgwOTU3XSwgWzE2NjM4MzUxNzIuNjg1NjA3NywgOTM0MiwgMS4yMTU1MDg0NjA5OTg1MzUyXSwgWzE2NjM4MzUxNzIuNzc3NTcxNCwgOTM1MSwgMS4yNjc1MjY2MjY1ODY5MTRdLCBbMTY2MzgzNTE3Mi44NzI3MzE3LCA5MzYwLCAxLjI3OTYyNDcwMDU0NjI2NDZdLCBbMTY2MzgzNTE3My4yNzIyNzk1LCA5Mzk2LCAxLjE5OTIwNjU5MDY1MjQ2NThdLCBbMTY2MzgzNTE3My41NjA4NTgsIDk0MjMsIDEuMTg0MjU3Mzg4MTE0OTI5Ml0sIFsxNjYzODM1MTc0LjgyNDYxNjcsIDk1MTMsIDEuMjUwMzYzNTg4MzMzMTI5OV0sIFsxNjYzODM1MTc1LjA2NzgyNjMsIDk1MzEsIDEuMTc3NzQyNjAwNDQwOTc5XSwgWzE2NjM4MzUxNzUuMTY4MjU2LCA5NTQwLCAxLjE4MDU0NjQwMjkzMTIxMzRdLCBbMTY2MzgzNTE3NS4yODM2MTM0LCA5NTQ5LCAxLjE3MzUyMjk0OTIxODc1XSwgWzE2NjM4MzUxNzUuNDc1NTkyNCwgOTU2NywgMS4yMjM4NDAzNTU4NzMxMDhdLCBbMTY2MzgzNTE3NS43NzE4NzI1LCA5NTk0LCAxLjI1NzEwNjMwNDE2ODcwMTJdLCBbMTY2MzgzNTE3NS45OTQ0MTM0LCA5NjEyLCAxLjE4NzY2MDMzNjQ5NDQ0NThdLCBbMTY2MzgzNTE3Ni4xOTYwOTE0LCA5NjMwLCAxLjI2MDQxNTU1NDA0NjYzMDldLCBbMTY2MzgzNTE3Ni4yOTQxMTg0LCA5NjM5LCAxLjI3MjY5MTI0OTg0NzQxMl0sIFsxNjYzODM1MTc2LjM5MDM5NywgOTY0OCwgMS4xODUzMDA1ODg2MDc3ODhdLCBbMTY2MzgzNTE3Ni41MDk4NDE0LCA5NjU3LCAxLjE4MzA0NDU1MjgwMzAzOTZdLCBbMTY2MzgzNTE3Ni42Mzg4ODkzLCA5NjY2LCAxLjE3MjQxMDQ4ODEyODY2Ml0sIFsxNjYzODM1MTc2Ljc3NjQ2MjYsIDk2NzUsIDEuMTczNDIxMzgyOTA0MDUyN10sIFsxNjYzODM1MTc3LjEzODI3MzcsIDk3MDIsIDEuMTg1NjA5ODE3NTA0ODgyOF0sIFsxNjYzODM1MTc3LjI1NzE1NzgsIDk3MTEsIDEuMTg5MDA5OTA0ODYxNDUwMl0sIFsxNjYzODM1MTc3LjQ5MTE5NzYsIDk3MjksIDEuMTk5MTUyNTg4ODQ0Mjk5M10sIFsxNjYzODM1MTc3LjYwMTYzMywgOTczOCwgMS4yNDI0NzY4MjA5NDU3Mzk3XSwgWzE2NjM4MzUxNzcuNzE4MjMxNCwgOTc0NywgMS4yNTA5MTI1NDcxMTE1MTEyXSwgWzE2NjM4MzUxNzguMDExODYzNywgOTc3NCwgMS4yMjQ2NjM3MzQ0MzYwMzUyXSwgWzE2NjM4MzUxNzguMTA1NzE4OSwgOTc4MywgMS4xNjQ0NTg1MTMyNTk4ODc3XSwgWzE2NjM4MzUxNzguMjA1OTk3NSwgOTc5MiwgMS4xNjU0ODc3NjYyNjU4NjkxXSwgWzE2NjM4MzUxNzguNjI5NDcyMywgOTgyOCwgMS4yMDEzNjU4Mjg1MTQwOTkxXSwgWzE2NjM4MzUxNzkuNDYyOTY0NSwgOTg5MSwgMS4xNzc1MTAwMjMxMTcwNjU0XSwgWzE2NjM4MzUxNzkuNjk0NjQyOCwgOTkwOSwgMS4yOTEwNTk2MTMyMjc4NDQyXSwgWzE2NjM4MzUxNzkuOTM3MzQwMywgOTkyNywgMS4yODUxNTE5NTg0NjU1NzYyXSwgWzE2NjM4MzUxODAuMDczNzYsIDk5MzYsIDEuMTc3NTQzMTYzMjk5NTYwNV0sIFsxNjYzODM1MTgwLjE3MjYwMjIsIDk5NDUsIDEuMjI1ODk4Mzg1MDQ3OTEyNl0sIFsxNjYzODM1MTgwLjQ2MTM5MDcsIDk5NzIsIDEuMzg5MDUwODQxMzMxNDgyXSwgWzE2NjM4MzUxODAuNjU1NTUwMiwgOTk5MCwgMS4xOTIzNjc5MTEzMzg4MDYyXSwgWzE2NjM4MzUxODAuODQ1NzU4MiwgMTAwMDgsIDEuMjY5NzU0NDA5NzkwMDM5XSwgWzE2NjM4MzUxODAuOTQzMTU2LCAxMDAxNywgMS4xNzUwMDMwNTE3NTc4MTI1XSwgWzE2NjM4MzUxODEuMTYyNjMyMiwgMTAwMzUsIDEuMjE2MjMyNjU3NDMyNTU2Ml0sIFsxNjYzODM1MTgxLjY0NTg2MSwgMTAwODAsIDEuMjE2MTEyNjEzNjc3OTc4NV0sIFsxNjYzODM1MTgxLjgzMjQ2MywgMTAwOTgsIDEuMjI1NTAxMjk4OTA0NDE5XSwgWzE2NjM4MzUxODEuOTMxNjI0NywgMTAxMDcsIDEuMjA5OTA3ODg5MzY2MTVdLCBbMTY2MzgzNTE4Mi4yMzE0NDIyLCAxMDEzNCwgMS4xODY4MDE1NTI3NzI1MjJdLCBbMTY2MzgzNTE4Mi4zMjUwNDQyLCAxMDE0MywgMS4xOTY0OTA1MjYxOTkzNDA4XSwgWzE2NjM4MzUxODIuNTE0Mzg2LCAxMDE2MSwgMS4xNDMzODI0MzAwNzY1OTkxXSwgWzE2NjM4MzUxODIuNjA0NjExMiwgMTAxNzAsIDEuMjExNzk3MTE4MTg2OTUwN10sIFsxNjYzODM1MTgyLjg5NTEwMiwgMTAxOTcsIDEuMTgwMTAxMTU2MjM0NzQxMl0sIFsxNjYzODM1MTgzLjMwNjY0MTYsIDEwMjE1LCAxLjE4MTY5ODQ0MTUwNTQzMjFdLCBbMTY2MzgzNTE4My4zOTc4MDQ1LCAxMDIyNCwgMS4xODYzODYxMDgzOTg0Mzc1XSwgWzE2NjM4MzUxODMuNDk0NzA3MywgMTAyMzMsIDEuMTY2NzEzNDc2MTgxMDMwM10sIFsxNjYzODM1MTgzLjg1ODU2NSwgMTAyNjAsIDEuMTQ4OTE0NDU2MzY3NDkyN10sIFsxNjYzODM1MTg0Ljc0MjA5MywgMTAzMjMsIDEuMjUzMzg4MTY2NDI3NjEyM10sIFsxNjYzODM1MTg0LjkzOTI3ODYsIDEwMzQxLCAxLjE4MzIzMTU5MjE3ODM0NDddLCBbMTY2MzgzNTE4NS4xMjI5MDUzLCAxMDM1OSwgMS4xODMwOTk3NDY3MDQxMDE2XSwgWzE2NjM4MzUxODUuMjE3MTg1NSwgMTAzNjgsIDEuMTY3MDIyMjI4MjQwOTY2OF0sIFsxNjYzODM1MTg1LjMwODM3MDYsIDEwMzc3LCAxLjE3MDUxMjE5OTQwMTg1NTVdLCBbMTY2MzgzNTE4NS40MTkwODksIDEwMzg2LCAxLjE5Mzg2MTAwNzY5MDQyOTddLCBbMTY2MzgzNTE4Ni4xMTU5OTQyLCAxMDQ0OSwgMS4yMDM4NjE4MzI2MTg3MTM0XSwgWzE2NjM4MzUxODYuMzE1NzYsIDEwNDY3LCAxLjI0MzY1ODc4MTA1MTYzNTddLCBbMTY2MzgzNTE4Ni41MTI5Mzg3LCAxMDQ4NSwgMS4xODYzMzYwNDA0OTY4MjYyXSwgWzE2NjM4MzUxODYuODA5ODI0NSwgMTA1MTIsIDEuMjA5OTk1NTA4MTkzOTY5N10sIFsxNjYzODM1MTg3LjM5Njg0OTksIDEwNTY2LCAxLjE2MzU2NjExMjUxODMxMDVdLCBbMTY2MzgzNTE4Ny40OTE3MzEsIDEwNTc1LCAxLjE5Mjc0ODU0NjYwMDM0MThdLCBbMTY2MzgzNTE4Ny42ODI4MDM5LCAxMDU5MywgMS4xNTkzODkyNTc0MzEwMzAzXSwgWzE2NjM4MzUxODcuNzc5Nzk0NywgMTA2MDIsIDEuMTc2NDk4NzcwNzEzODA2Ml0sIFsxNjYzODM1MTg3Ljg3MzQwMTQsIDEwNjExLCAxLjE5NjcyMzU4MDM2MDQxMjZdLCBbMTY2MzgzNTE4OC4yNzYyMjE4LCAxMDY0NywgMS4xNzIyMTI3MTk5MTcyOTc0XSwgWzE2NjM4MzUxODguNTAzNjAyLCAxMDY2NSwgMS4xNzA3Mzg2OTcwNTIwMDJdLCBbMTY2MzgzNTE4OC43OTEyNzY1LCAxMDY4MywgMS4xODU3MzU0NjQwOTYwNjkzXSwgWzE2NjM4MzUxODkuMTIzNzc0OCwgMTA3MTAsIDEuMTY2NTIyOTc5NzM2MzI4MV0sIFsxNjYzODM1MTg5LjI0NTA2NTUsIDEwNzE5LCAxLjE5OTgxMTU3Nzc5NjkzNl0sIFsxNjYzODM1MTg5LjU5NTYzNiwgMTA3NDYsIDEuMzAyNTg5MTc4MDg1MzI3MV0sIFsxNjYzODM1MTg5LjczMzg0NzQsIDEwNzU1LCAxLjMyMzM2NDg1Mzg1ODk0NzhdLCBbMTY2MzgzNTE5MC4wNTcwNTUsIDEwNzgyLCAxLjIxNTM4Njk4NjczMjQ4M10sIFsxNjYzODM1MTkwLjE1MjU0NzgsIDEwNzkxLCAxLjIwNDk4ODgzNzI0MjEyNjVdLCBbMTY2MzgzNTE5MC41ODM5MzEyLCAxMDgxOCwgMS4yMjYwNDA3MjA5Mzk2MzYyXSwgWzE2NjM4MzUxOTEuMDcxMjkyOSwgMTA4NTQsIDEuMjE3Nzc4OTIxMTI3MzE5M10sIFsxNjYzODM1MTkxLjE4MjI0OTgsIDEwODYzLCAxLjI1NjQxOTMwMTAzMzAyXSwgWzE2NjM4MzUxOTEuMjk1ODE2NCwgMTA4NzIsIDEuMjUzMzIwODEzMTc5MDE2MV0sIFsxNjYzODM1MTkxLjUyNDI0OTYsIDEwODkwLCAxLjIxODk4NzcwMzMyMzM2NDNdLCBbMTY2MzgzNTE5MS45MjA0MzA0LCAxMDkyNiwgMS4xOTExMzA4NzY1NDExMzc3XSwgWzE2NjM4MzUxOTIuMjE5OTYyMSwgMTA5MzUsIDEuMTYzNTIwMjE2OTQxODMzNV0sIFsxNjYzODM1MTkyLjY4OTI4MjcsIDEwOTcxLCAxLjE5OTQ5OTEzMDI0OTAyMzRdLCBbMTY2MzgzNTE5My4yNTYxODQsIDExMDE2LCAxLjE4NTk2MzYzMDY3NjI2OTVdLCBbMTY2MzgzNTE5My40NTY0NCwgMTEwMzQsIDEuMTg4ODk2NjU2MDM2Mzc3XSwgWzE2NjM4MzUxOTMuOTAwMzA2NSwgMTEwNzAsIDEuMTY3OTc3NTcxNDg3NDI2OF0sIFsxNjYzODM1MTk0LjI2ODQxMTQsIDExMDk3LCAxLjIyNDk1MzQxMzAwOTY0MzZdLCBbMTY2MzgzNTE5NC4zNjkxMDk0LCAxMTEwNiwgMS4yMTcyMDY3MTY1Mzc0NzU2XSwgWzE2NjM4MzUxOTQuODQxNjcxNywgMTExNTEsIDEuMTY5NjQ3ODEyODQzMzIyOF0sIFsxNjYzODM1MTk1LjAzOTM3OSwgMTExNjksIDEuMTYxNTIxNjczMjAyNTE0Nl0sIFsxNjYzODM1MTk1LjMyNjk3NywgMTExOTYsIDEuMTYxOTE4OTk3NzY0NTg3NF0sIFsxNjYzODM1MTk1LjQyMTI2MzcsIDExMjA1LCAxLjE4NTYxNDM0NzQ1Nzg4NTddLCBbMTY2MzgzNTE5NS42NDQ1NTE4LCAxMTIyMywgMS4xNzA5MjgyMzk4MjIzODc3XSwgWzE2NjM4MzUxOTYuMDQxODE4NiwgMTEyNTAsIDEuMTY1ODE0Mzk5NzE5MjM4M10sIFsxNjYzODM1MTk2LjE2NTE4OSwgMTEyNTksIDEuMTUxNDMwMzY4NDIzNDYyXSwgWzE2NjM4MzUxOTYuMjc2NjMzNSwgMTEyNjgsIDEuMTU4NjI1MTI1ODg1MDA5OF0sIFsxNjYzODM1MTk2LjM4NjMyNDQsIDExMjc3LCAxLjE3NDExNzA4ODMxNzg3MV0sIFsxNjYzODM1MTk2LjYxODA0MzIsIDExMjk1LCAxLjIyNTg1NDI3NzYxMDc3ODhdLCBbMTY2MzgzNTE5Ni44NTMyNDE3LCAxMTMxMywgMS4yOTUxNzkzNjcwNjU0Mjk3XSwgWzE2NjM4MzUxOTYuOTY2OTMzMywgMTEzMjIsIDEuMjc5NzIxMjYwMDcwODAwOF0sIFsxNjYzODM1MTk3LjM0MzQ1LCAxMTM0OSwgMS4yMTU5NjMzNjM2NDc0NjFdLCBbMTY2MzgzNTE5Ny40NDM5NzQzLCAxMTM1OCwgMS4xOTEzNDU0NTMyNjIzMjldLCBbMTY2MzgzNTE5OC4wNjU4NTg4LCAxMTQxMiwgMS4xODcxMTQ3MTU1NzYxNzE5XSwgWzE2NjM4MzUxOTguNDY1ODc1OSwgMTE0NDgsIDEuMTUzNTA5MTQwMDE0NjQ4NF0sIFsxNjYzODM1MTk4Ljk3NjgxMzYsIDExNDkzLCAxLjE2NDMwMjcwNjcxODQ0NDhdLCBbMTY2MzgzNTE5OS4wODEwMDQ0LCAxMTUwMiwgMS4yMDYwMDcwMDM3ODQxNzk3XSwgWzE2NjM4MzUxOTkuMTg5NTMyNSwgMTE1MTEsIDEuMzM3ODA3Mjk3NzA2NjA0XSwgWzE2NjM4MzUxOTkuNTg3NjUzLCAxMTU0NywgMS4yNDc5ODY0MzU4OTAxOTc4XSwgWzE2NjM4MzUxOTkuOTAyNTkyLCAxMTU3NCwgMS4yNDU3NTY4NjQ1NDc3Mjk1XSwgWzE2NjM4MzUyMDAuNTAwNDgxMSwgMTE2MTksIDEuMTc2Nzk0ODg2NTg5MDUwM10sIFsxNjYzODM1MjAwLjg0Njg3NCwgMTE2NDYsIDEuMTUwODI4MDAzODgzMzYxOF0sIFsxNjYzODM1MjAxLjY0NzMxMzQsIDExNjkxLCAxLjE1OTE2OTkxMjMzODI1NjhdLCBbMTY2MzgzNTIwMS43NjEyOTQ4LCAxMTcwMCwgMS4xODMyMTc3NjM5MDA3NTY4XSwgWzE2NjM4MzUyMDIuMTQxMzY0NiwgMTE3MjcsIDEuMTkzMDI2MTg1MDM1NzA1Nl0sIFsxNjYzODM1MjAyLjU0ODA5NTcsIDExNzYzLCAxLjE1OTQyMjM5NzYxMzUyNTRdLCBbMTY2MzgzNTIwMy4wNDg1NywgMTE3OTksIDEuMTQ0NTc2MTkxOTAyMTYwNl0sIFsxNjYzODM1MjAzLjU1MDYwODQsIDExODQ0LCAxLjIxNjkyNDU0ODE0OTEwODldLCBbMTY2MzgzNTIwNC4wMzE0MTE0LCAxMTg4OSwgMS4xNjg1MzQwNDA0NTEwNDk4XSwgWzE2NjM4MzUyMDQuMjI4NTQ4MywgMTE5MDcsIDEuMTYxOTMwNTYxMDY1NjczOF0sIFsxNjYzODM1MjA0LjUxNDEyNSwgMTE5MzQsIDEuMTk1MTAyOTMwMDY4OTY5N10sIFsxNjYzODM1MjA0LjYwODcyMjIsIDExOTQzLCAxLjE1NjI2NjgwODUwOTgyNjddLCBbMTY2MzgzNTIwNC44MDg1MTU4LCAxMTk2MSwgMS4xNTUxNzEyNzUxMzg4NTVdLCBbMTY2MzgzNTIwNS41NTYzOTA4LCAxMjAyNCwgMS4xNzE3MzA3NTY3NTk2NDM2XSwgWzE2NjM4MzUyMDYuNzAyMDk5OCwgMTIxMDUsIDEuMTY5NzY0MjgwMzE5MjEzOV0sIFsxNjYzODM1MjA2LjgxMzkxNTcsIDEyMTE0LCAxLjE3MTI3OTkwNzIyNjU2MjVdLCBbMTY2MzgzNTIwNy4xODk1ODU0LCAxMjE0MSwgMS4xODM5ODE2NTcwMjgxOTgyXSwgWzE2NjM4MzUyMDcuNTUxMjEzNSwgMTIxNjgsIDEuMTY5ODIwMDcwMjY2NzIzNl0sIFsxNjYzODM1MjA3LjY2NTM0ODgsIDEyMTc3LCAxLjE5OTUxMjQ4MTY4OTQ1MzFdLCBbMTY2MzgzNTIwNy45MDkxNDk0LCAxMjE5NSwgMS4xODk5NTIwMTU4NzY3N10sIFsxNjYzODM1MjA4LjMzMTA4MjYsIDEyMjMxLCAxLjE5MDEyMzkxNTY3MjMwMjJdLCBbMTY2MzgzNTIwOC41MjE5NTUzLCAxMjI0OSwgMS4xNjgxNjgxODcxNDE0MTg1XSwgWzE2NjM4MzUyMDguOTE5OTA2NCwgMTIyODUsIDEuMjI0MzczNDU5ODE1OTc5XSwgWzE2NjM4MzUyMDkuMDMxNzUwNywgMTIyOTQsIDEuMjI4MjcwNTMwNzAwNjgzNl0sIFsxNjYzODM1MjA5LjEyMTk1MzUsIDEyMzAzLCAxLjI1NzA2NzA4NDMxMjQzOV0sIFsxNjYzODM1MjA5LjIxNjczNzUsIDEyMzEyLCAxLjE4ODg1OTkzOTU3NTE5NTNdLCBbMTY2MzgzNTIwOS4zMDc1MzQsIDEyMzIxLCAxLjIyMjc0ODE2MDM2MjI0MzddLCBbMTY2MzgzNTIwOS45ODQ3MjEyLCAxMjM4NCwgMS4yMzY5MTg2ODc4MjA0MzQ2XSwgWzE2NjM4MzUyMTAuMDgwNzIxOSwgMTIzOTMsIDEuMTg3MTk0MTA4OTYzMDEyN10sIFsxNjYzODM1MjEwLjc4Njk5ODUsIDEyNDI5LCAxLjIxMTUyNDcyNDk2MDMyNzFdLCBbMTY2MzgzNTIxMS4zNjU1MjE0LCAxMjQ3NCwgMS4xNTQ5Njk5MzA2NDg4MDM3XSwgWzE2NjM4MzUyMTEuNTMyNjg2NywgMTI0ODMsIDEuMTY4OTQ2MjY2MTc0MzE2NF0sIFsxNjYzODM1MjExLjk5NjY1MzMsIDEyNTE5LCAxLjE1MzExMjA1Mzg3MTE1NDhdLCBbMTY2MzgzNTIxMi4yOTM2MzYsIDEyNTQ2LCAxLjIxMzkwNzEyMjYxMTk5OTVdLCBbMTY2MzgzNTIxMi43MDU0MDE0LCAxMjU4MiwgMS4xMzQ3NDgzMzk2NTMwMTUxXSwgWzE2NjM4MzUyMTQuODExMDc1MiwgMTI3NjIsIDEuMjAyNjAwMjQwNzA3Mzk3NV0sIFsxNjYzODM1MjE1LjI0Njg2MiwgMTI3OTgsIDEuMTUyOTUxMzU5NzQ4ODQwM10sIFsxNjYzODM1MjE2LjIxNjczNzUsIDEyODg4LCAxLjE5MzczMjg1NzcwNDE2MjZdLCBbMTY2MzgzNTIxNi4zMDg4NTc3LCAxMjg5NywgMS4xNTYwNzYzMTIwNjUxMjQ1XSwgWzE2NjM4MzUyMTYuNzU1MjMzLCAxMjkzMywgMS4yMTc3NzI0ODM4MjU2ODM2XSwgWzE2NjM4MzUyMTcuMDE1MzQ0NiwgMTI5NTEsIDEuMTY3OTI4MjE4ODQxNTUyN10sIFsxNjYzODM1MjE3LjEyNDA2OSwgMTI5NjAsIDEuMTQ3MTg1MzI1NjIyNTU4Nl0sIFsxNjYzODM1MjE3LjIzOTAyNzUsIDEyOTY5LCAxLjE2NTc2NTA0NzA3MzM2NDNdLCBbMTY2MzgzNTIxNy4zNDExMjU1LCAxMjk3OCwgMS4xNjkyOTU1NDkzOTI3MDAyXSwgWzE2NjM4MzUyMTcuNjQwMDUyNiwgMTMwMDUsIDEuMTk2NDIyMzM4NDg1NzE3OF0sIFsxNjYzODM1MjE3Ljk0NDAxOTMsIDEzMDMyLCAxLjE3MzgzMTIyNDQ0MTUyODNdLCBbMTY2MzgzNTIxOC4xNDAzODkyLCAxMzA1MCwgMS4yMDI0NzU3ODYyMDkxMDY0XSwgWzE2NjM4MzUyMTguMzgxMDY4MiwgMTMwNjgsIDEuMTQ4OTM4MDU5ODA2ODIzN10sIFsxNjYzODM1MjE4LjUxNjYxNjMsIDEzMDc3LCAxLjE1NjgwMDYyNzcwODQzNV0sIFsxNjYzODM1MjE4Ljc1OTM2ODcsIDEzMDk1LCAxLjIxODIzMTIwMTE3MTg3NV0sIFsxNjYzODM1MjE4Ljg3OTIwODgsIDEzMTA0LCAxLjEzODM3MDE1NjI4ODE0N10sIFsxNjYzODM1MjE5LjA4MDM2MywgMTMxMjIsIDEuMTQ3NDQyODE3Njg3OTg4M10sIFsxNjYzODM1MjE5LjE4MDc2ODMsIDEzMTMxLCAxLjEzNzI1OTcyMTc1NTk4MTRdLCBbMTY2MzgzNTIxOS40MDkxNzgsIDEzMTQ5LCAxLjEzNjQ0MDI3NzA5OTYwOTRdLCBbMTY2MzgzNTIxOS43MDI3NTcsIDEzMTU4LCAxLjE1OTI0ODk0ODA5NzIyOV0sIFsxNjYzODM1MjE5Ljg4ODExNywgMTMxNzYsIDEuMTkyMDQzMzA0NDQzMzU5NF0sIFsxNjYzODM1MjIwLjcyNzk5MjMsIDEzMjM5LCAxLjE5ODk5MTA2MDI1Njk1OF0sIFsxNjYzODM1MjIxLjExNDM4NzMsIDEzMjY2LCAxLjE5MDk3NDcxMjM3MTgyNjJdLCBbMTY2MzgzNTIyMS4yNDg0MjI5LCAxMzI3NSwgMS4xNjg4ODExNzc5MDIyMjE3XSwgWzE2NjM4MzUyMjEuNTEwMTQ4NSwgMTMyOTMsIDEuMjEwNzI4Mjg3Njk2ODM4NF0sIFsxNjYzODM1MjIyLjQwMTM4MzIsIDEzMzU2LCAxLjE4MDIzMTU3MTE5NzUwOThdLCBbMTY2MzgzNTIyMi44NTM2OTksIDEzMzkyLCAxLjE5NDA2NjQwNTI5NjMyNTddLCBbMTY2MzgzNTIyMy4xNjk5MzUsIDEzNDE5LCAxLjE1Nzk0ODQ5Mzk1NzUxOTVdLCBbMTY2MzgzNTIyMy40OTMxMjYyLCAxMzQ0NiwgMS4xNjM2MDI0NzEzNTE2MjM1XSwgWzE2NjM4MzUyMjMuNjExNTUyNywgMTM0NTUsIDEuMTU0Nzg5NDQ3Nzg0NDIzOF0sIFsxNjYzODM1MjI0LjAzNjg2MjEsIDEzNDkxLCAxLjE4MzIwOTQxOTI1MDQ4ODNdLCBbMTY2MzgzNTIyNC4xMzkyNTg2LCAxMzUwMCwgMS4xNDQzOTc5NzQwMTQyODIyXSwgWzE2NjM4MzUyMjQuNTEyNTg3LCAxMzUyNywgMS4yMTE2Mjg2NzU0NjA4MTU0XSwgWzE2NjM4MzUyMjUuMzY5OTQzNiwgMTM1OTAsIDEuMTc3MDE5MDAwMDUzNDA1OF0sIFsxNjYzODM1MjI1LjQ3NTcxNjgsIDEzNTk5LCAxLjIyNDQzODE5MDQ2MDIwNV0sIFsxNjYzODM1MjI1LjU3ODA0MDEsIDEzNjA4LCAxLjMyNjQwNzMxMzM0Njg2MjhdLCBbMTY2MzgzNTIyNS44MDM2NzMsIDEzNjI2LCAxLjE4NTg2OTIxNjkxODk0NTNdLCBbMTY2MzgzNTIyNi4wMjMwMjIyLCAxMzY0NCwgMS4xNTYwNzQyODU1MDcyMDIxXSwgWzE2NjM4MzUyMjYuMTI0MjM4NSwgMTM2NTMsIDEuMTY4MTI0Njc1NzUwNzMyNF0sIFsxNjYzODM1MjI2Ljg2MzYzMzIsIDEzNzE2LCAxLjE2MTYzODg1NTkzNDE0M10sIFsxNjYzODM1MjI3LjM4NjcwODMsIDEzNzYxLCAxLjE1OTYyMTIzODcwODQ5Nl0sIFsxNjYzODM1MjI4LjAyMjYwNzMsIDEzODE1LCAxLjE0NDQ2NTkyMzMwOTMyNjJdLCBbMTY2MzgzNTIyOC4zMzU0MTI1LCAxMzg0MiwgMS4xODg0MjU2NjAxMzMzNjE4XSwgWzE2NjM4MzUyMjguNDMzNzc0MiwgMTM4NTEsIDEuMTg0NTU4MzkxNTcxMDQ1XSwgWzE2NjM4MzUyMjguNzQxODM4LCAxMzg3OCwgMS4xOTc5NjI2NDE3MTYwMDM0XSwgWzE2NjM4MzUyMjkuNjc5ODczMiwgMTM5NDEsIDEuMTgyMzg5MjU5MzM4Mzc5XSwgWzE2NjM4MzUyMzAuMTAxMTQ3MiwgMTM5NjgsIDEuMTY2MTQ4MDY2NTIwNjkxXSwgWzE2NjM4MzUyMzAuMjU0Njg1NCwgMTM5NzcsIDEuMTU3NDc1MTEzODY4NzEzNF0sIFsxNjYzODM1MjMwLjM3OTA0MTIsIDEzOTg2LCAxLjE3MDI3MDMyMzc1MzM1N10sIFsxNjYzODM1MjMxLjQ1MTQwMDMsIDE0MDY3LCAxLjE1OTE1NzAzNzczNDk4NTRdLCBbMTY2MzgzNTIzMS43NTc2MzUsIDE0MDk0LCAxLjE1NDE5MTEzNjM2MDE2ODVdLCBbMTY2MzgzNTIzMS44NjM3NTM4LCAxNDEwMywgMS4xODI2MzY5NzYyNDIwNjU0XSwgWzE2NjM4MzUyMzIuMDc3NzY0LCAxNDEyMSwgMS4xNDcwNDUzNzM5MTY2MjZdLCBbMTY2MzgzNTIzMi4zMTA0MTM2LCAxNDEzOSwgMS4xMzEwNzUyNjMwMjMzNzY1XSwgWzE2NjM4MzUyMzIuNDE2NTgzNSwgMTQxNDgsIDEuMTcyODU2OTI2OTE4MDI5OF0sIFsxNjYzODM1MjMyLjUyMDYxMzcsIDE0MTU3LCAxLjE1MDQ3NTM4MjgwNDg3MDZdLCBbMTY2MzgzNTIzMi42MjA0NDY0LCAxNDE2NiwgMS4yMzA5MTA0MjA0MTc3ODU2XSwgWzE2NjM4MzUyMzIuOTQ4OTU3NywgMTQxOTMsIDEuMTkwOTg1MjAyNzg5MzA2Nl0sIFsxNjYzODM1MjMzLjQxMDU4MjgsIDE0MjI5LCAxLjE0MDc0OTMzNTI4OTAwMTVdLCBbMTY2MzgzNTIzMy41MTA0MjYzLCAxNDIzOCwgMS4yMTg1NTQyNTgzNDY1NTc2XSwgWzE2NjM4MzUyMzMuNjE2Njk4LCAxNDI0NywgMS4xNjM3Mjc5OTg3MzM1MjA1XSwgWzE2NjM4MzUyMzMuOTMxNDQ0NiwgMTQyNzQsIDEuMTc0NzA3MTc0MzAxMTQ3NV0sIFsxNjYzODM1MjM0LjQ3Mzc3MSwgMTQzMTksIDEuMTYwNDEyNzg4MzkxMTEzM10sIFsxNjYzODM1MjM0Ljk5NTczNzgsIDE0MzY0LCAxLjE3NzA2NjgwMjk3ODUxNTZdLCBbMTY2MzgzNTIzNS4wOTcyNzUsIDE0MzczLCAxLjE4MjAyNTE5NDE2ODA5MDhdLCBbMTY2MzgzNTIzNS4xOTgzNzg4LCAxNDM4MiwgMS4xNDM0MTU4MDg2Nzc2NzMzXSwgWzE2NjM4MzUyMzUuNjM0OTI5MiwgMTQ0MTgsIDEuMjQ4ODE5NDcwNDA1NTc4Nl0sIFsxNjYzODM1MjM1Ljc0MzIwMSwgMTQ0MjcsIDEuMzAzOTYzMTg0MzU2Njg5NV0sIFsxNjYzODM1MjM1Ljg1MzYxMiwgMTQ0MzYsIDEuMzQ2Njk2MTM4MzgxOTU4XSwgWzE2NjM4MzUyMzYuNzIzNzUxOCwgMTQ1MDgsIDEuMTQzMzMxNTI3NzA5OTYxXSwgWzE2NjM4MzUyMzcuMDMyODQ0OCwgMTQ1MzUsIDEuMjcyMzczNDM3ODgxNDY5N10sIFsxNjYzODM1MjM3LjI0NTQyMTYsIDE0NTUzLCAxLjI2MDgwMjg2NTAyODM4MTNdLCBbMTY2MzgzNTIzNy45MjkxNTE4LCAxNDYwNywgMS4yMzAwNDE5ODA3NDM0MDgyXSwgWzE2NjM4MzUyMzguMjMwNjcyLCAxNDYyNSwgMS4yMTMxMDU2Nzg1NTgzNDk2XSwgWzE2NjM4MzUyMzguNjYzNzIzNywgMTQ2NTIsIDEuMjUwMjg2OTM2NzU5OTQ4N10sIFsxNjYzODM1MjM5LjQ1MzY2ODQsIDE0Njg4LCAxLjE3ODE5MzkyNjgxMTIxODNdLCBbMTY2MzgzNTIzOS45NDQ4NzEyLCAxNDcyNCwgMS4yNTUwMDQyODY3NjYwNTIyXSwgWzE2NjM4MzUyNDAuMTk0ODM2MSwgMTQ3NDIsIDEuMTI3MzMxNDk1Mjg1MDM0Ml0sIFsxNjYzODM1MjQwLjU3ODU0MiwgMTQ3NjksIDEuMTU5MzczMDQ0OTY3NjUxNF0sIFsxNjYzODM1MjQwLjY5MzA2NTQsIDE0Nzc4LCAxLjIxMTA5OTg2MzA1MjM2ODJdLCBbMTY2MzgzNTI0MS4zNTA3MiwgMTQ4MjMsIDEuMTU1NDU2NTQyOTY4NzVdLCBbMTY2MzgzNTI0MS40ODE5OTQsIDE0ODMyLCAxLjE2MjAyMTUxNzc1MzYwMV0sIFsxNjYzODM1MjQyLjAxMzA5NDQsIDE0ODY4LCAxLjE2MzMwMjQyMTU2OTgyNDJdLCBbMTY2MzgzNTI0Mi4xNDk2NDQ2LCAxNDg3NywgMS4xNjI0ODgxMDI5MTI5MDI4XSwgWzE2NjM4MzUyNDIuMzAzNjExOCwgMTQ4ODYsIDEuMjY5ODM0Mzk5MjIzMzI3Nl0sIFsxNjYzODM1MjQyLjQyMTIzMzQsIDE0ODk1LCAxLjIxMDU3NzEzMDMxNzY4OF0sIFsxNjYzODM1MjQyLjY4MzExMDcsIDE0OTEzLCAxLjE2NzQzNzA3NjU2ODYwMzVdLCBbMTY2MzgzNTI0Mi45MzM0MTMsIDE0OTMxLCAxLjE4Nzg4MDk5Mjg4OTQwNDNdLCBbMTY2MzgzNTI0My40Mjk5NTgsIDE0OTY3LCAxLjE0MzcxNzc2NTgwODEwNTVdLCBbMTY2MzgzNTI0My42ODEwMzIsIDE0OTg1LCAxLjE0NzY3NjIyOTQ3NjkyODddLCBbMTY2MzgzNTI0My45MjIyNDA1LCAxNTAwMywgMS4xNTA4Mjg0ODA3MjA1Ml0sIFsxNjYzODM1MjQ0LjI3NjQ3MzMsIDE1MDMwLCAxLjIzOTM3MDgyMjkwNjQ5NDFdLCBbMTY2MzgzNTI0NC4zODQxNjIyLCAxNTAzOSwgMS4zMTczNDQ1NDYzMTgwNTQyXSwgWzE2NjM4MzUyNDQuODAzMjIzOCwgMTUwNzUsIDEuMjI2OTYzMDQzMjEyODkwNl0sIFsxNjYzODM1MjQ1LjE5ODA4OTQsIDE1MTAyLCAxLjE1NTIyMjE3NzUwNTQ5MzJdLCBbMTY2MzgzNTI0NS40NDg0OTI4LCAxNTEyMCwgMS4xNzE3NTgyOTQxMDU1Mjk4XSwgWzE2NjM4MzUyNDUuNTY0MjE1LCAxNTEyOSwgMS4xODEyNjczODA3MTQ0MTY1XSwgWzE2NjM4MzUyNDUuODA4MjA1NCwgMTUxNDcsIDEuMTY0NzQyMTEyMTU5NzI5XSwgWzE2NjM4MzUyNDYuMTkyNjM0NiwgMTUxNzQsIDEuMTQ2NDAzMzEyNjgzMTA1NV0sIFsxNjYzODM1MjQ2LjM0MTcyNDIsIDE1MTgzLCAxLjE3OTQ3Njg1NzE4NTM2MzhdLCBbMTY2MzgzNTI0Ni40NjgzOTYyLCAxNTE5MiwgMS4xNDAzODA4NTkzNzVdLCBbMTY2MzgzNTI0Ni42MDI5MzQ2LCAxNTIwMSwgMS4xMzg0MTEyODM0OTMwNDJdLCBbMTY2MzgzNTI0Ny4yNTIzNDUsIDE1MjQ2LCAxLjEzMzY0NzY4MDI4MjU5MjhdLCBbMTY2MzgzNTI0Ny4zNzIyODksIDE1MjU1LCAxLjEzMTQ1MDY1MzA3NjE3MTldLCBbMTY2MzgzNTI0Ny41MDc2OTY2LCAxNTI2NCwgMS4xMzA5OTM0ODU0NTA3NDQ2XSwgWzE2NjM4MzUyNDguMDIwMDkyNSwgMTUzMDAsIDEuMjAxNTI3NDc2MzEwNzNdLCBbMTY2MzgzNTI0OC40MDQ0MjA5LCAxNTMyNywgMS4xNTU4MTcwMzE4NjAzNTE2XSwgWzE2NjM4MzUyNDguNjU3Njc4OCwgMTUzNDUsIDEuMTc3NTIyMDYzMjU1MzFdLCBbMTY2MzgzNTI0OS4wMjk3MDUsIDE1MzcyLCAxLjE0OTE3MDg3NTU0OTMxNjRdLCBbMTY2MzgzNTI0OS4yNzEzMzE1LCAxNTM5MCwgMS4xNjY3NDY5NzM5OTEzOTRdLCBbMTY2MzgzNTI0OS4zOTMwMzk1LCAxNTM5OSwgMS4xNDYzODA5MDEzMzY2N10sIFsxNjYzODM1MjQ5LjUxNDk3MjQsIDE1NDA4LCAxLjE1MjYxNjUwMDg1NDQ5MjJdLCBbMTY2MzgzNTI0OS42MzgyNjg1LCAxNTQxNywgMS4xMzUxNjYwNDkwMDM2MDFdLCBbMTY2MzgzNTI1MC42MjI4NjI4LCAxNTQ3MSwgMS4yMzE2MTI0NDM5MjM5NTAyXSwgWzE2NjM4MzUyNTEuMTM1MTg2LCAxNTUwNywgMS4xNjg4NTM5OTgxODQyMDRdLCBbMTY2MzgzNTI1MS4yNjY5NiwgMTU1MTYsIDEuMTgwOTU2ODQwNTE1MTM2N10sIFsxNjYzODM1MjUxLjM3NTE3ODMsIDE1NTI1LCAxLjE3NDQ2NzIwNjAwMTI4MTddLCBbMTY2MzgzNTI1MS40Nzg5NCwgMTU1MzQsIDEuMTMzOTM5NTA0NjIzNDEzXSwgWzE2NjM4MzUyNTIuMDIxMTAzNCwgMTU1NzksIDEuMjU4NDkzMzA0MjUyNjI0NV0sIFsxNjYzODM1MjUyLjg5OTYwMiwgMTU2NTEsIDEuMzE4Mzg4MjIzNjQ4MDcxM10sIFsxNjYzODM1MjUzLjAwMTUyNzgsIDE1NjYwLCAxLjE2MDA1MTcwMzQ1MzA2NF0sIFsxNjYzODM1MjUzLjQyMzcwOTIsIDE1Njk2LCAxLjE0MDM5MTIzMDU4MzE5MV0sIFsxNjYzODM1MjUzLjYzNDgyNzYsIDE1NzE0LCAxLjE4NzM4MjQ1OTY0MDUwM10sIFsxNjYzODM1MjUzLjk2NzgwODcsIDE1NzQxLCAxLjE1MDI1OTg1MjQwOTM2MjhdLCBbMTY2MzgzNTI1NC4xNzMwNTgsIDE1NzU5LCAxLjI2NjUzOTkzMTI5NzMwMjJdLCBbMTY2MzgzNTI1NC4yNzgwOTAyLCAxNTc2OCwgMS4xNTIxMzE3OTU4ODMxNzg3XSwgWzE2NjM4MzUyNTQuNDgzMjA4LCAxNTc4NiwgMS4yMjExOTIzNTk5MjQzMTY0XSwgWzE2NjM4MzUyNTQuNTg0MDcwNywgMTU3OTUsIDEuMTk1NjMxMjY1NjQwMjU4OF0sIFsxNjYzODM1MjU0Ljg5NTU3MSwgMTU4MjIsIDEuMTU1MDc1Nzg4NDk3OTI0OF0sIFsxNjYzODM1MjU1LjQ4ODEyMzIsIDE1ODY3LCAxLjE2OTkxMjU3NjY3NTQxNV0sIFsxNjYzODM1MjU1LjY2ODIzODQsIDE1ODc2LCAxLjExMjc2MzA0NzIxODMyMjhdLCBbMTY2MzgzNTI1NS45MzAzMDg4LCAxNTg5NCwgMS4xMzY3NjUyNDE2MjI5MjQ4XSwgWzE2NjM4MzUyNTYuMzE0MjIyMywgMTU5MjEsIDEuMjQ2ODk3MzM5ODIwODYxOF0sIFsxNjYzODM1MjU3LjEzMjE5NjQsIDE1OTg0LCAxLjIxMDUxNzUyNTY3MjkxMjZdLCBbMTY2MzgzNTI1Ny4yNjIxMTY3LCAxNTk5MywgMS4xNTk1NTUzMTU5NzEzNzQ1XSwgWzE2NjM4MzUyNTcuMzkxNzY5MiwgMTYwMDIsIDEuMTczMjc0OTkzODk2NDg0NF0sIFsxNjYzODM1MjU3LjcxOTU2NSwgMTYwMjksIDEuMTQzMTA3MTc1ODI3MDI2NF0sIFsxNjYzODM1MjU4LjE3OTkyNDUsIDE2MDY1LCAxLjEzOTk2MzUwNzY1MjI4MjddLCBbMTY2MzgzNTI1OC4yOTczNDY2LCAxNjA3NCwgMS4xNTE1MDIxMzI0MTU3NzE1XSwgWzE2NjM4MzUyNTguNDE4MzAzNSwgMTYwODMsIDEuMTU2NDgxMjY2MDIxNzI4NV0sIFsxNjYzODM1MjU4Ljc3OTA5NzgsIDE2MTEwLCAxLjIyMzE1NjA5NDU1MTA4NjRdLCBbMTY2MzgzNTI1OC44OTk2NDEsIDE2MTE5LCAxLjIzMzUzMTU5NDI3NjQyODJdLCBbMTY2MzgzNTI1OS4xNzQyMDM5LCAxNjEzNywgMS4xNDEzNDE5MjQ2NjczNTg0XSwgWzE2NjM4MzUyNTkuNDE2MjgyMiwgMTYxNTUsIDEuMTUxNTc3MjM0MjY4MTg4NV0sIFsxNjYzODM1MjU5LjY2MDY1LCAxNjE3MywgMS4xNjQ4OTAyODkzMDY2NDA2XSwgWzE2NjM4MzUyNjAuMTQ2ODMxLCAxNjIwOSwgMS4yMDY1NTI2MjQ3MDI0NTM2XSwgWzE2NjM4MzUyNjAuNTYwNTQ0MywgMTYyMjcsIDEuMTQ1MTU1OTA2Njc3MjQ2XSwgWzE2NjM4MzUyNjEuMTMzMjA3LCAxNjI4MSwgMS4xNzkzNzA1MjI0OTkwODQ1XSwgWzE2NjM4MzUyNjEuMzIxMTE2NCwgMTYyOTksIDEuMTI0NTQ1NjkzMzk3NTIyXSwgWzE2NjM4MzUyNjEuNzk2Njg5LCAxNjMzNSwgMS4xMzI0NjU3MjAxNzY2OTY4XSwgWzE2NjM4MzUyNjIuMzA2Nzk2OCwgMTYzODAsIDEuMTE0MjAxNTQ1NzE1MzMyXSwgWzE2NjM4MzUyNjIuNzExMTkyOCwgMTY0MTYsIDEuMTE5MzIwMzkyNjA4NjQyNl0sIFsxNjYzODM1MjYzLjAwMDY3LCAxNjQ0MywgMS4yMjE2NzMwMTE3Nzk3ODUyXSwgWzE2NjM4MzUyNjMuMDk1NzMxMywgMTY0NTIsIDEuMjA4MTE5MjczMTg1NzNdLCBbMTY2MzgzNTI2My4yODc5MDE0LCAxNjQ3MCwgMS4xMTQwOTQ5NzI2MTA0NzM2XSwgWzE2NjM4MzUyNjMuMzg3MTMxMiwgMTY0NzksIDEuMTQ3NzUyMTY1Nzk0MzcyNl0sIFsxNjYzODM1MjYzLjU4MjM4NzIsIDE2NDk3LCAxLjEyNjgzNzg0OTYxNzAwNDRdLCBbMTY2MzgzNTI2My42NzkyMjAyLCAxNjUwNiwgMS4xMjQzMjQ1NjAxNjU0MDUzXSwgWzE2NjM4MzUyNjMuNzgyOTU5NywgMTY1MTUsIDEuMTUyODU1MDM4NjQyODgzM10sIFsxNjYzODM1MjYzLjk2OTU5MjYsIDE2NTMzLCAxLjEyODkyNjAzODc0MjA2NTRdLCBbMTY2MzgzNTI2NC4wNjgwODAyLCAxNjU0MiwgMS4xNDcwODQ0NzQ1NjM1OTg2XSwgWzE2NjM4MzUyNjQuMTY1MzgxLCAxNjU1MSwgMS4xNzA5ODgwODI4ODU3NDIyXSwgWzE2NjM4MzUyNjQuODY4NjgxNywgMTY2MTQsIDEuMTU0NzE0NDY1MTQxMjk2NF0sIFsxNjYzODM1MjY0Ljk2OTE5MDQsIDE2NjIzLCAxLjE2Mjg1MjE2ODA4MzE5MV0sIFsxNjYzODM1MjY1LjEzOTI4LCAxNjYzMiwgMS4xMjIxNTI5MjQ1Mzc2NTg3XSwgWzE2NjM4MzUyNjUuMjg4MzIwOCwgMTY2NDEsIDEuMTM1NTE3MTIwMzYxMzI4MV0sIFsxNjYzODM1MjY1LjY3NzYxMjMsIDE2NjY4LCAxLjE4NjY1ODAyNDc4NzkwMjhdLCBbMTY2MzgzNTI2Ni43NDA4MTk1LCAxNjc0OSwgMS4xNjY2ODEyODk2NzI4NTE2XSwgWzE2NjM4MzUyNjcuMzMzODY2NCwgMTY3OTQsIDEuMTMzMDQyNTczOTI4ODMzXSwgWzE2NjM4MzUyNjcuNDMxMjc4NywgMTY4MDMsIDEuMTM3NDQ4OTA2ODk4NDk4NV0sIFsxNjYzODM1MjY3LjUyNzU0NDUsIDE2ODEyLCAxLjEzNzQ4ODI0NTk2NDA1MDNdLCBbMTY2MzgzNTI2Ny45MjkyMTA3LCAxNjg0OCwgMS4xNjk0NzIwOTgzNTA1MjVdLCBbMTY2MzgzNTI2OC4wMzM1NTg2LCAxNjg1NywgMS4xODY1NDA3MjI4NDY5ODQ5XSwgWzE2NjM4MzUyNjguMjM2MTM0OCwgMTY4NzUsIDEuMTIzMTgzMzY5NjM2NTM1Nl0sIFsxNjYzODM1MjY4LjUzNjgzNzMsIDE2OTAyLCAxLjE0MTg2MDk2MTkxNDA2MjVdLCBbMTY2MzgzNTI2OC44NjAyMDE4LCAxNjkyOSwgMS4xNDgzMjg2NjE5MTg2NDAxXSwgWzE2NjM4MzUyNjkuMTY1MzEzLCAxNjk1NiwgMS4xOTE5NTM2NTkwNTc2MTcyXSwgWzE2NjM4MzUyNjkuMjczMTUwMiwgMTY5NjUsIDEuMjIwMDU3MTI5ODU5OTI0M10sIFsxNjYzODM1MjY5LjY5Nzc3NiwgMTY5ODMsIDEuMTY0OTIyNDc1ODE0ODE5M10sIFsxNjYzODM1MjY5Ljg5MDY5ODcsIDE3MDAxLCAxLjE2MDg3MTAyODkwMDE0NjVdLCBbMTY2MzgzNTI3MC4wOTAzOTc0LCAxNzAxOSwgMS4xMzE2MTA4NzAzNjEzMjgxXSwgWzE2NjM4MzUyNzAuNTc5MTM0NywgMTcwNjQsIDEuMjAzNjg1NjQxMjg4NzU3M10sIFsxNjYzODM1MjcxLjAyMDcxNzEsIDE3MTAwLCAxLjE2NDAzMDA3NTA3MzI0MjJdLCBbMTY2MzgzNTI3MS4zMTA4MDEzLCAxNzEyNywgMS4xMjY1Mjg2MjA3MTk5MDk3XSwgWzE2NjM4MzUyNzEuNzA2OTUzMywgMTcxNjMsIDEuMTU4NDI3NzE1MzAxNTEzN10sIFsxNjYzODM1MjcxLjkxMDg5MzcsIDE3MTgxLCAxLjEzOTQxODI0NDM2MTg3NzRdLCBbMTY2MzgzNTI3Mi4wMjUwODQ3LCAxNzE5MCwgMS4xNjgxNjE4NjkwNDkwNzIzXSwgWzE2NjM4MzUyNzIuMTU5NTMxNCwgMTcxOTksIDEuMTQxODc4NjA0ODg4OTE2XSwgWzE2NjM4MzUyNzIuNTY0MTIzLCAxNzIyNiwgMS4xNDc1NjMzMzgyNzk3MjQxXSwgWzE2NjM4MzUyNzMuMjI0MDY4LCAxNzI3MSwgMS4xMTA0Nzg3NTg4MTE5NTA3XSwgWzE2NjM4MzUyNzMuODk5ODM0MiwgMTczMjUsIDEuMTY1MjQyNDMzNTQ3OTczNl0sIFsxNjYzODM1Mjc0LjAxOTg1NiwgMTczMzQsIDEuMTgwNzg4Mjc4NTc5NzEyXSwgWzE2NjM4MzUyNzQuMTM3MjU1LCAxNzM0MywgMS4xNjIyNjk1OTIyODUxNTYyXSwgWzE2NjM4MzUyNzQuNDM5NTU1MiwgMTczNzAsIDEuMTk1ODIxMTY2MDM4NTEzMl0sIFsxNjYzODM1Mjc0LjgyMzAzODYsIDE3Mzk3LCAxLjE5NDk5MTQ2OTM4MzIzOTddLCBbMTY2MzgzNTI3NS4xODMyMDk0LCAxNzQyNCwgMS4xNDMyNDM3ODk2NzI4NTE2XSwgWzE2NjM4MzUyNzUuMzA3NDQyNywgMTc0MzMsIDEuMTQ5ODE2NjMyMjcwODEzXSwgWzE2NjM4MzUyNzUuNzgyOTgwNywgMTc0NjksIDEuMTgwOTI5NDIyMzc4NTRdLCBbMTY2MzgzNTI3NS45NDE1MDEsIDE3NDc4LCAxLjExNzY5MDIwNTU3NDAzNTZdLCBbMTY2MzgzNTI3Ni4wNjE4MTYyLCAxNzQ4NywgMS4xMTIzOTE3MTAyODEzNzJdLCBbMTY2MzgzNTI3Ni40MjI2MTUzLCAxNzUxNCwgMS4yMDQ2NDI0MTUwNDY2OTJdLCBbMTY2MzgzNTI3Ni42NTEyNjgsIDE3NTMyLCAxLjE2NTU5MTcxNjc2NjM1NzRdLCBbMTY2MzgzNTI3Ni45ODg5MDY5LCAxNzU1OSwgMS4xMTg5NTI3NTExNTk2NjhdLCBbMTY2MzgzNTI3Ny4zNTMxNDE1LCAxNzU4NiwgMS4xNzM4ODUxMDcwNDA0MDUzXSwgWzE2NjM4MzUyNzcuNzAwOTUzMiwgMTc2MTMsIDEuMTM3MDUxOTM5OTY0Mjk0NF0sIFsxNjYzODM1Mjc4LjE4NTIwOSwgMTc2NDksIDEuMTE2MTI0MTUzMTM3MjA3XSwgWzE2NjM4MzUyNzguMzAzNDgyOCwgMTc2NTgsIDEuMTIyNTMyOTYzNzUyNzQ2Nl0sIFsxNjYzODM1Mjc4LjQzMjIxNTUsIDE3NjY3LCAxLjE0Nzc1MTY4ODk1NzIxNDRdLCBbMTY2MzgzNTI3OC41NTEzOTg1LCAxNzY3NiwgMS4xNTE1MTQwNTMzNDQ3MjY2XSwgWzE2NjM4MzUyNzguNjcwNzA3NywgMTc2ODUsIDEuMjE1NzI1MTgzNDg2OTM4NV0sIFsxNjYzODM1Mjc5LjE1NjI4MzksIDE3NzAzLCAxLjMwMzQzMDA4MDQxMzgxODRdLCBbMTY2MzgzNTI3OS4zMDEyMjQyLCAxNzcxMiwgMS4xNjUxOTE1MzExODEzMzU0XSwgWzE2NjM4MzUyNzkuNDE2MTA1LCAxNzcyMSwgMS4xNDYyMzk5OTU5NTY0MjFdLCBbMTY2MzgzNTI3OS41MzQ5Mjg4LCAxNzczMCwgMS4xNDIxNDQ0NDE2MDQ2MTQzXSwgWzE2NjM4MzUyODAuNDk2NjE1NCwgMTc4MDIsIDEuMTE1NjM4MjU2MDcyOTk4XSwgWzE2NjM4MzUyODAuNzIyNjA4LCAxNzgyMCwgMS4xNDE0MzMxMTk3NzM4NjQ3XSwgWzE2NjM4MzUyODAuODM4NTkwNiwgMTc4MjksIDEuMTM1MzY3NzUxMTIxNTIxXSwgWzE2NjM4MzUyODAuOTQ5OTQzMywgMTc4MzgsIDEuMTM4NjYxNjIzMDAxMDk4Nl0sIFsxNjYzODM1MjgxLjA2MjA2NDYsIDE3ODQ3LCAxLjEzNTgxNjIxNjQ2ODgxMV0sIFsxNjYzODM1MjgxLjM1OTM5OCwgMTc4NzQsIDEuMTk0MzcxNTgxMDc3NTc1N10sIFsxNjYzODM1MjgxLjU1OTIwNTMsIDE3ODkyLCAxLjEzMjMzODUyMzg2NDc0Nl0sIFsxNjYzODM1MjgxLjY1NDUzOCwgMTc5MDEsIDEuMTM1NTQ3NTE4NzMwMTYzNl0sIFsxNjYzODM1MjgxLjk0NzU5ODIsIDE3OTI4LCAxLjE2NTg2NjczMjU5NzM1MV0sIFsxNjYzODM1MjgyLjA0OTk4NjQsIDE3OTM3LCAxLjE0MjU5MjQzMDExNDc0Nl0sIFsxNjYzODM1Mjg0Ljg4MTQyMzcsIDE4MTUzLCAxLjE0MjQxNjcxNTYyMTk0ODJdLCBbMTY2MzgzNTI4NS4wMDMyNTgyLCAxODE2MiwgMS4xMzY5MTQ2MTA4NjI3MzJdLCBbMTY2MzgzNTI4NS40ODAyOTIzLCAxODE5OCwgMS4yMjMzMDQ3NDg1MzUxNTYyXSwgWzE2NjM4MzUyODUuNTk2MjUyMiwgMTgyMDcsIDEuMTM5MzY1NzkyMjc0NDc1XSwgWzE2NjM4MzUyODUuNzExNjEzNywgMTgyMTYsIDEuMTQ3MzA0MTc3Mjg0MjQwN10sIFsxNjYzODM1Mjg2LjA2Nzg0MTgsIDE4MjQzLCAxLjEwNjM2MDc5MzExMzcwODVdLCBbMTY2MzgzNTI4Ni4yOTgyNjU1LCAxODI2MSwgMS4yMzI2Mzc0MDUzOTU1MDc4XSwgWzE2NjM4MzUyODYuNjM4OTE4NCwgMTgyODgsIDEuMTg1MzcyNDcxODA5Mzg3Ml0sIFsxNjYzODM1Mjg2Ljc1MTE4OTUsIDE4Mjk3LCAxLjE5NTIxNDE1MjMzNjEyMDZdLCBbMTY2MzgzNTI4Ni45ODMzMzkzLCAxODMxNSwgMS4xNzk3MTQ5MTgxMzY1OTY3XSwgWzE2NjM4MzUyODcuMDk2MzA4MiwgMTgzMjQsIDEuMTk2MDA1MTA1OTcyMjldLCBbMTY2MzgzNTI4Ny4xOTYyNTksIDE4MzMzLCAxLjE1NDI1MDg2MDIxNDIzMzRdLCBbMTY2MzgzNTI4Ny42MTI4ODk1LCAxODM2OSwgMS4xODQ5OTE1OTgxMjkyNzI1XSwgWzE2NjM4MzUyODcuOTE4MjAyMiwgMTgzOTYsIDEuMTcyMTg3MzI4MzM4NjIzXSwgWzE2NjM4MzUyODguMzE1MjY1NCwgMTg0MzIsIDEuMTM2MTgyNDI3NDA2MzExXSwgWzE2NjM4MzUyODguNTEzMjgsIDE4NDUwLCAxLjE1NTQ5MDUxNzYxNjI3Ml0sIFsxNjYzODM1Mjg5LjI1MDU3MTcsIDE4NDk1LCAxLjE1Njg5MjI5OTY1MjA5OTZdLCBbMTY2MzgzNTI4OS4zNjA3NTc0LCAxODUwNCwgMS4xMjM1OTg2OTQ4MDEzMzA2XSwgWzE2NjM4MzUyODkuNDU1ODU5LCAxODUxMywgMS4xNjE3MDMxMDk3NDEyMTFdLCBbMTY2MzgzNTI4OS41NzE1MDQ4LCAxODUyMiwgMS4xMjk0NTE2MzI0OTk2OTQ4XSwgWzE2NjM4MzUyOTAuNzAzMjIxOCwgMTg2MTIsIDEuMTI3NjEzNzgyODgyNjkwNF0sIFsxNjYzODM1MjkwLjgyMjYxMTgsIDE4NjIxLCAxLjEyNzg4ODA4MzQ1Nzk0NjhdLCBbMTY2MzgzNTI5MS4wNzk5NTk5LCAxODYzOSwgMS4xNTI3MjIwMDEwNzU3NDQ2XSwgWzE2NjM4MzUyOTEuNTM2ODYxNCwgMTg2NzUsIDEuMTUxNjYwNTYxNTYxNTg0NV0sIFsxNjYzODM1MjkyLjExODA4ODcsIDE4NzIwLCAxLjE0MDA1NDIyNTkyMTYzMDldLCBbMTY2MzgzNTI5Mi43MjI0MDczLCAxODc2NSwgMS4xMzExNDUzNTgwODU2MzIzXSwgWzE2NjM4MzUyOTMuMDQwMTk4MywgMTg3ODMsIDEuMTcwMTk3NzI1Mjk2MDIwNV0sIFsxNjYzODM1MjkzLjE0NzIzODcsIDE4NzkyLCAxLjIwNDA0NjI0OTM4OTY0ODRdLCBbMTY2MzgzNTI5My4zNTE1MDM4LCAxODgxMCwgMS4yMDg4NTE5MzM0NzkzMDldLCBbMTY2MzgzNTI5My40Njc2NDI4LCAxODgxOSwgMS4zNjk3ODI2ODYyMzM1MjA1XSwgWzE2NjM4MzUyOTMuNTk0NDk1OCwgMTg4MjgsIDEuMjEzODU0MzEyODk2NzI4NV0sIFsxNjYzODM1Mjk0LjA0NjQzNTQsIDE4ODY0LCAxLjEyMzgxMTEyNTc1NTMxXSwgWzE2NjM4MzUyOTQuMzIwMjY5NiwgMTg4ODIsIDEuMTU0MjQwMTMxMzc4MTczOF0sIFsxNjYzODM1Mjk0LjQzODg4OSwgMTg4OTEsIDEuMTUxMjgwMDQ1NTA5MzM4NF0sIFsxNjYzODM1Mjk0LjY3NTA5MjUsIDE4OTA5LCAxLjE5NDIyMzI4NDcyMTM3NDVdLCBbMTY2MzgzNTI5NS4wMjUwNzE5LCAxODkzNiwgMS4xNTgwOTQ2NDQ1NDY1MDg4XSwgWzE2NjM4MzUyOTUuMTQxMDkwNiwgMTg5NDUsIDEuMTMyNjAwNzg0MzAxNzU3OF0sIFsxNjYzODM1Mjk1LjI1ODQzODYsIDE4OTU0LCAxLjExNzQ4MTU4OTMxNzMyMThdLCBbMTY2MzgzNTI5NS43MzgzMTY4LCAxODk5MCwgMS4xNDgxMjU3Njc3MDc4MjQ3XSwgWzE2NjM4MzUyOTUuODUzODg2MSwgMTg5OTksIDEuMTI1Mjc4MzUzNjkxMTAxXSwgWzE2NjM4MzUyOTYuMzM3ODM5LCAxOTAzNSwgMS4xNzQyMDc1NjgxNjg2NDAxXSwgWzE2NjM4MzUyOTYuNDUzMzE3LCAxOTA0NCwgMS4xMTYzMjQ5MDE1ODA4MTA1XSwgWzE2NjM4MzUyOTYuOTM2MzA1OCwgMTkwODAsIDEuMTExMDI0MjYwNTIwOTM1XSwgWzE2NjM4MzUyOTcuMDUzNDQ0NiwgMTkwODksIDEuMTIyMTg3NzMzNjUwMjA3NV0sIFsxNjYzODM1Mjk3LjMxMzY3ODUsIDE5MTA3LCAxLjE2OTc2NTExNDc4NDI0MDddLCBbMTY2MzgzNTI5Ny40MTY1OTIsIDE5MTE2LCAxLjEzMDU1ODQ5MDc1MzE3MzhdLCBbMTY2MzgzNTI5Ny41MTY4MjM4LCAxOTEyNSwgMS4xMTU5NDE3NjI5MjQxOTQzXSwgWzE2NjM4MzUyOTcuODM2MjgyNywgMTkxNTIsIDEuMTMzODQ2MDQ0NTQwNDA1M10sIFsxNjYzODM1Mjk4LjU5MjAwMDUsIDE5MjE1LCAxLjE2MTU2MDY1NDY0MDE5NzhdLCBbMTY2MzgzNTI5OC43MDA2MjE4LCAxOTIyNCwgMS4xNDM3MTk0MzQ3MzgxNTkyXSwgWzE2NjM4MzUyOTkuMDI4NDE4NSwgMTkyMzMsIDEuMTYwNDUyMDA4MjQ3Mzc1NV0sIFsxNjYzODM1Mjk5LjM0ODUxNywgMTkyNjAsIDEuMTQ0NDg0MTYyMzMwNjI3NF0sIFsxNjYzODM1Mjk5Ljc2MzM4MjQsIDE5Mjk2LCAxLjE0NzAzOTQxMzQ1MjE0ODRdLCBbMTY2MzgzNTMwMC40MTI0MTksIDE5MzUwLCAxLjE4MDIwMTc2ODg3NTEyMl0sIFsxNjYzODM1MzAwLjU3MzA1ODEsIDE5MzU5LCAxLjEyMjAxMTE4NDY5MjM4MjhdLCBbMTY2MzgzNTMwMS4wMTk0NzIsIDE5Mzk1LCAxLjExMDEyNDgyNjQzMTI3NDRdLCBbMTY2MzgzNTMwMS4xMjA3NjYyLCAxOTQwNCwgMS4xMDc4OTAwMDk4ODAwNjZdLCBbMTY2MzgzNTMwMS42MjYyMTIsIDE5NDQwLCAxLjE3MTI0MTc2MDI1MzkwNjJdLCBbMTY2MzgzNTMwMS43NDE2NDk5LCAxOTQ0OSwgMS4xMzc5ODg5MjQ5ODAxNjM2XSwgWzE2NjM4MzUzMDEuODYxMTgxNywgMTk0NTgsIDEuMTQ4Njg5NTA4NDM4MTEwNF0sIFsxNjYzODM1MzAxLjk4OTg0ODYsIDE5NDY3LCAxLjE1MjMwNTM2NDYwODc2NDZdLCBbMTY2MzgzNTMwMi43NzEwMDIzLCAxOTUzMCwgMS4xMjY0MDUwMDA2ODY2NDU1XSwgWzE2NjM4MzUzMDMuMjAxMTc5NywgMTk1NjYsIDEuMjIzNzc5MzIwNzE2ODU4XSwgWzE2NjM4MzUzMDMuNDA3Mzg5NCwgMTk1ODQsIDEuMTMzMDQ0MzYyMDY4MTc2M10sIFsxNjYzODM1MzAzLjUwNjU5NjMsIDE5NTkzLCAxLjEwODk3Njg0MDk3MjkwMDRdLCBbMTY2MzgzNTMwNC4yNTMxNjM2LCAxOTY1NiwgMS4xMzc1NjAxMjkxNjU2NDk0XSwgWzE2NjM4MzUzMDQuNDUzNDQ4NSwgMTk2NzQsIDEuMjEzNTc1NzIwNzg3MDQ4M10sIFsxNjYzODM1MzA0LjY3NDUzMiwgMTk2OTIsIDEuMTUwNzU2MTIwNjgxNzYyN10sIFsxNjYzODM1MzA0Ljg4MTMzNywgMTk3MTAsIDEuMTcyNTI1NDA1ODgzNzg5XSwgWzE2NjM4MzUzMDUuNDQzODI3OSwgMTk3NTUsIDEuMTM4MzQ3MTQ4ODk1MjYzN10sIFsxNjYzODM1MzA2LjA1NzgzNTgsIDE5ODAwLCAxLjE0MTExNDcxMTc2MTQ3NDZdLCBbMTY2MzgzNTMwNi4yODI0MjU5LCAxOTgxOCwgMS4xMjI0ODEzNDYxMzAzNzFdLCBbMTY2MzgzNTMwNi40MDQ1NjMsIDE5ODI3LCAxLjE0ODM1MTE5MjQ3NDM2NTJdLCBbMTY2MzgzNTMwNi41MTAwODE4LCAxOTgzNiwgMS4xMTA3MTAxNDQwNDI5Njg4XSwgWzE2NjM4MzUzMDYuODE4MjYzOCwgMTk4NjMsIDEuMTYyMTI5MDQ0NTMyNzc1OV0sIFsxNjYzODM1MzA3LjEyNDA5NTQsIDE5ODkwLCAxLjE4NTE5MDkxNjA2MTQwMTRdLCBbMTY2MzgzNTMwNy4zMzM5MjEsIDE5OTA4LCAxLjIxNDM5MTk0Njc5MjYwMjVdLCBbMTY2MzgzNTMwNy40MzIxMDYzLCAxOTkxNywgMS4xNjE4NjM1NjU0NDQ5NDYzXSwgWzE2NjM4MzUzMDcuNjQ3NzYwNCwgMTk5MzUsIDEuMTU4MTc3NDk1MDAyNzQ2Nl0sIFsxNjYzODM1MzA3Ljc1MTYwMiwgMTk5NDQsIDEuMTA4NDE1OTYxMjY1NTY0XSwgWzE2NjM4MzUzMDguNTg0MTcyLCAxOTk5OCwgMS4xNTg4Mzg1MTA1MTMzMDU3XSwgWzE2NjM4MzUzMDkuMDAzNjgsIDIwMDM0LCAxLjEyMDk0Mjk1MDI0ODcxODNdLCBbMTY2MzgzNTMwOS4yMjY3Mzk0LCAyMDA1MiwgMS4xNjc1NTgzMTI0MTYwNzY3XSwgWzE2NjM4MzUzMTAuMTk0NjY2LCAyMDEzMywgMS4xMTc3NjU1NDU4NDUwMzE3XSwgWzE2NjM4MzUzMTAuNTA4NTk4OCwgMjAxNjAsIDEuMTEzMjMwNDY2ODQyNjUxNF0sIFsxNjYzODM1MzEwLjgxOTc3NjgsIDIwMTg3LCAxLjE1NTEwNTgyOTIzODg5MTZdLCBbMTY2MzgzNTMxMS4wNDUxMzg4LCAyMDIwNSwgMS4xNzAxMzAxMzM2Mjg4NDUyXSwgWzE2NjM4MzUzMTIuMTI5MDk3NywgMjAyOTUsIDEuMTI5MjI4MTE1MDgxNzg3XSwgWzE2NjM4MzUzMTIuNDQwNTUwOCwgMjAzMjIsIDEuMTA1NjkxMTk0NTM0MzAxOF0sIFsxNjYzODM1MzEyLjU0ODc3MTEsIDIwMzMxLCAxLjE0MDIxMDI3MDg4MTY1MjhdLCBbMTY2MzgzNTMxMy4yNzA1NTYsIDIwMzg1LCAxLjEzMzczNDk0MTQ4MjU0NF0sIFsxNjYzODM1MzEzLjY0MTMxNDUsIDIwNDEyLCAxLjE1MjM2MDA4MTY3MjY2ODVdLCBbMTY2MzgzNTMxNC43MDIzOTU3LCAyMDQ5MywgMS4xMzU3MjEwODc0NTU3NDk1XSwgWzE2NjM4MzUzMTUuMTI5NTgxLCAyMDUyOSwgMS4xMjAwMTcyOTAxMTUzNTY0XSwgWzE2NjM4MzUzMTUuMjQ0MjM5MywgMjA1MzgsIDEuMTA0OTg2NDI5MjE0NDc3NV0sIFsxNjYzODM1MzE1LjY4MzI5OSwgMjA1NzQsIDEuMjA2MDU1NDAyNzU1NzM3M10sIFsxNjYzODM1MzE2LjI2OTYwMjUsIDIwNjI4LCAxLjI4MDg5NDM5ODY4OTI3XSwgWzE2NjM4MzUzMTYuMzY0NDQ0MywgMjA2MzcsIDEuMTY4MjEyODkwNjI1XSwgWzE2NjM4MzUzMTYuNDc0ODYyLCAyMDY0NiwgMS4xODA4NjY1OTkwODI5NDY4XSwgWzE2NjM4MzUzMTcuMzgxNzAzLCAyMDcwOSwgMS4xMjQ5NDgyNjMxNjgzMzVdLCBbMTY2MzgzNTMxOC4yNDg4NTM3LCAyMDc1NCwgMS4wOTg1OTgxMjI1OTY3NDA3XSwgWzE2NjM4MzUzMTguMzYzNzYxMiwgMjA3NjMsIDEuMTI0MDE4NjY5MTI4NDE4XSwgWzE2NjM4MzUzMTguNTA0NTU4MywgMjA3NzIsIDEuMTQwNzA1NDY2MjcwNDQ2OF0sIFsxNjYzODM1MzE4Ljc2NDU2MzYsIDIwNzkwLCAxLjEyODA1MjQ3MzA2ODIzNzNdLCBbMTY2MzgzNTMxOS4wMzkzNzY3LCAyMDgwOCwgMS4yNjYwNjE5MDIwNDYyMDM2XSwgWzE2NjM4MzUzMTkuNTgzMzY1NCwgMjA4NDQsIDEuMTIyNjk5NzM3NTQ4ODI4MV0sIFsxNjYzODM1MzE5LjcyMDcwMTcsIDIwODUzLCAxLjEzNDIwNDM4NzY2NDc5NV0sIFsxNjYzODM1MzIwLjEyNDMxMSwgMjA4ODAsIDEuMTIyMzQ5MTQzMDI4MjU5M10sIFsxNjYzODM1MzIwLjc5MDA3MjcsIDIwOTI1LCAxLjEzODQ1MTMzNzgxNDMzMV0sIFsxNjYzODM1MzIxLjU2MjE0OCwgMjA5NzksIDEuMTUxNTg5NjMyMDM0MzAxOF0sIFsxNjYzODM1MzIxLjgyMjEwMjgsIDIwOTk3LCAxLjE4MjAwMTU5MDcyODc1OThdLCBbMTY2MzgzNTMyMi4xODg4NTI1LCAyMTAyNCwgMS4xNDU3NDU3NTQyNDE5NDM0XSwgWzE2NjM4MzUzMjIuNzA5OTUyOCwgMjEwNjksIDEuMTY3NTM0NTg5NzY3NDU2XSwgWzE2NjM4MzUzMjIuOTEyNTgzOCwgMjEwODcsIDEuMTQ1MDQ5NDUyNzgxNjc3Ml0sIFsxNjYzODM1MzIzLjAyMjU5MiwgMjEwOTYsIDEuMTIzMzcxMDA1MDU4Mjg4Nl0sIFsxNjYzODM1MzIzLjEzNjQ4MzcsIDIxMTA1LCAxLjEyNTc1NTc4Njg5NTc1Ml0sIFsxNjYzODM1MzIzLjQwNTM0NTQsIDIxMTIzLCAxLjE0NzAwNDg0Mjc1ODE3ODddLCBbMTY2MzgzNTMyMy41NDg0NzE1LCAyMTEzMiwgMS4xMDQ2NzgyNzMyMDA5ODg4XSwgWzE2NjM4MzUzMjMuNjc4Mjg2MywgMjExNDEsIDEuMTMxMTM0MzkwODMwOTkzN10sIFsxNjYzODM1MzI0LjA4NjI5NTQsIDIxMTY4LCAxLjE1NTIwOTc3OTczOTM3OTldLCBbMTY2MzgzNTMyNC4yMjg3MTE0LCAyMTE3NywgMS4xMDk1MTg1Mjc5ODQ2MTkxXSwgWzE2NjM4MzUzMjQuMzcxMzk0NiwgMjExODYsIDEuMDk1NDU1Mjg4ODg3MDI0XSwgWzE2NjM4MzUzMjQuNzkyMzk1LCAyMTIyMiwgMS4xNTgwMjE5MjY4Nzk4ODI4XSwgWzE2NjM4MzUzMjQuOTk2ODkyLCAyMTI0MCwgMS4xNDg2MTMzMzM3MDIwODc0XSwgWzE2NjM4MzUzMjUuMzA4OTg2MiwgMjEyNjcsIDEuMTIxNDcxNDA1MDI5Mjk2OV0sIFsxNjYzODM1MzI1LjYxOTA1ODEsIDIxMjk0LCAxLjE2MzA4NjUzMzU0NjQ0NzhdLCBbMTY2MzgzNTMyNS45MTg3MjYsIDIxMzIxLCAxLjE4Mjc0NDUwMzAyMTI0MDJdLCBbMTY2MzgzNTMyNi4yMzQyMTI0LCAyMTM0OCwgMS4xMTcwMDkyODIxMTIxMjE2XSwgWzE2NjM4MzUzMjYuNDMxNDAxNywgMjEzNjYsIDEuMTIyNTM1NzA1NTY2NDA2Ml0sIFsxNjYzODM1MzI2LjkzMTk5NjYsIDIxNDExLCAxLjE5NzM3MzI3MDk4ODQ2NDRdLCBbMTY2MzgzNTMyNy41NjA4NjEsIDIxNDY1LCAxLjEzMjk2OTg1NjI2MjIwN10sIFsxNjYzODM1MzI4LjA2Nzk5NzIsIDIxNTEwLCAxLjEzOTE5MTI2OTg3NDU3MjhdLCBbMTY2MzgzNTMyOC40OTIzNjEzLCAyMTUyOCwgMS4xMjc0NDc3MjQzNDIzNDYyXSwgWzE2NjM4MzUzMjguNjk1NDM0LCAyMTU0NiwgMS4wOTYyNjgyOTYyNDE3NjAzXSwgWzE2NjM4MzUzMjguNzkxNjQ3MiwgMjE1NTUsIDEuMTE0OTMwMDMzNjgzNzc2OV0sIFsxNjYzODM1MzI4Ljg4ODQwOTksIDIxNTY0LCAxLjExMzc1NTU4Mzc2MzEyMjZdLCBbMTY2MzgzNTMyOC45OTA5ODEsIDIxNTczLCAxLjEyNzc4MzI5ODQ5MjQzMTZdLCBbMTY2MzgzNTMyOS4wOTQ4NDY1LCAyMTU4MiwgMS4xNTE4NTE2NTQwNTI3MzQ0XSwgWzE2NjM4MzUzMjkuMTk5NjI1MywgMjE1OTEsIDEuMTMwMTE4MzcwMDU2MTUyM10sIFsxNjYzODM1MzMwLjI2MDg3NSwgMjE2ODEsIDEuMjE5MTk0NzY5ODU5MzE0XSwgWzE2NjM4MzUzMzAuNzAwMzg3LCAyMTcxNywgMS4xMjUyMjc4MDg5NTIzMzE1XSwgWzE2NjM4MzUzMzEuMDAzMDM5NiwgMjE3NDQsIDEuMTA2NTQ0MjU2MjEwMzI3MV0sIFsxNjYzODM1MzMxLjQxNDUxMjIsIDIxNzgwLCAxLjE1NTExMjM4NTc0OTgxN10sIFsxNjYzODM1MzMyLjM1MTk1ODgsIDIxODYxLCAxLjE0MDk4NzUxNTQ0OTUyNF0sIFsxNjYzODM1MzMyLjY1NzI3NjksIDIxODg4LCAxLjEyMzAwODAxMjc3MTYwNjRdLCBbMTY2MzgzNTMzMy4wNjU3MjE1LCAyMTkyNCwgMS4xNDkwMTk5NTY1ODg3NDUxXSwgWzE2NjM4MzUzMzMuMTY1MDYzNiwgMjE5MzMsIDEuMTU2MDcwNDcwODA5OTM2NV0sIFsxNjYzODM1MzMzLjM5NjgyNzIsIDIxOTUxLCAxLjE3ODA4NjE2MTYxMzQ2NDRdLCBbMTY2MzgzNTMzMy41MDExMjMyLCAyMTk2MCwgMS4xNDU5OTcxNjY2MzM2MDZdLCBbMTY2MzgzNTMzMy43MTYxMjU1LCAyMTk3OCwgMS4xODUxNTA4NjE3NDAxMTIzXSwgWzE2NjM4MzUzMzMuODE5MDgzNSwgMjE5ODcsIDEuMTUwMTU0NDcxMzk3NF0sIFsxNjYzODM1MzM0LjQzMjQyNDUsIDIyMDQxLCAxLjE1NjkzNTgxMTA0Mjc4NTZdLCBbMTY2MzgzNTMzNS4xMDQyODUsIDIyMDk1LCAxLjEzNDk1NzQzMjc0Njg4NzJdLCBbMTY2MzgzNTMzNS42MTA2OTg3LCAyMjEzMSwgMS4xMDUxODQwNzgyMTY1NTI3XSwgWzE2NjM4MzUzMzYuMDYwNjc1OSwgMjIxNjcsIDEuMTA5NDAwMjcyMzY5Mzg0OF0sIFsxNjYzODM1MzM2LjQ3NTEyMjUsIDIyMTg1LCAxLjEyMzAzNDAwMDM5NjcyODVdLCBbMTY2MzgzNTMzNi41Nzk0NTc1LCAyMjE5NCwgMS4xMTUwMzU0MTQ2OTU3Mzk3XSwgWzE2NjM4MzUzMzYuNzg2NzI4NCwgMjIyMTIsIDEuMTM2OTg0MzQ4Mjk3MTE5MV0sIFsxNjYzODM1MzM2Ljk5NjA1NzMsIDIyMjMwLCAxLjExMzAxNzkxNjY3OTM4MjNdLCBbMTY2MzgzNTMzNy40NDQyODU5LCAyMjI2NiwgMS4xNDE2NjYxNzM5MzQ5MzY1XSwgWzE2NjM4MzUzMzcuNzY3MzkzLCAyMjI4NCwgMS4xMDUyMzk4NjgxNjQwNjI1XSwgWzE2NjM4MzUzMzguMDEwMzMxLCAyMjMwMiwgMS4xMTk0MDkwODQzMjAwNjg0XSwgWzE2NjM4MzUzMzguODM0MjYzLCAyMjM2NSwgMS4xMTAzMTExNTA1NTA4NDIzXSwgWzE2NjM4MzUzMzguOTU5MjUyLCAyMjM3NCwgMS4xMDA5NTI4NjM2OTMyMzczXSwgWzE2NjM4MzUzMzkuNDE1NTEyOCwgMjI0MTAsIDEuMTc2NjA3MjUxMTY3Mjk3NF0sIFsxNjYzODM1MzM5Ljg3NTIwMDMsIDIyNDQ2LCAxLjEyMTAzOTc0ODE5MTgzMzVdLCBbMTY2MzgzNTM0MC4yMzc2Njk3LCAyMjQ3MywgMS4xNjE1MDQxNDk0MzY5NTA3XSwgWzE2NjM4MzUzNDAuNDg0Mzg0MywgMjI0OTEsIDEuMTQ0MzY2MDI1OTI0NjgyNl0sIFsxNjYzODM1MzQwLjU5NDAxLCAyMjUwMCwgMS4xMTk2ODAxNjYyNDQ1MDY4XSwgWzE2NjM4MzUzNDAuNzAzMjQ3MywgMjI1MDksIDEuMTY2OTk2MDAyMTk3MjY1Nl0sIFsxNjYzODM1MzQwLjgwODUxNDYsIDIyNTE4LCAxLjE3NjY3OTI1MzU3ODE4Nl0sIFsxNjYzODM1MzQxLjAyMTYxMjQsIDIyNTM2LCAxLjE0NDE3Mzg2MDU0OTkyNjhdLCBbMTY2MzgzNTM0MS4yMzM4NzUsIDIyNTU0LCAxLjE4MzY5NzQ2MjA4MTkwOTJdLCBbMTY2MzgzNTM0MS4zMzc4MiwgMjI1NjMsIDEuMTQ5NzI5MDEzNDQyOTkzMl0sIFsxNjYzODM1MzQxLjU0NzAyNDUsIDIyNTgxLCAxLjEwNTExMjkxMDI3MDY5MV0sIFsxNjYzODM1MzQxLjc0MjQ1OTMsIDIyNTk5LCAxLjE0MjgwNzg0MTMwMDk2NDRdLCBbMTY2MzgzNTM0Mi4wMzM5OCwgMjI2MjYsIDEuMTA0NzUzMTM2NjM0ODI2N10sIFsxNjYzODM1MzQyLjIyODg5MjYsIDIyNjQ0LCAxLjI1MDAwMjg2MTAyMjk0OTJdLCBbMTY2MzgzNTM0Mi40MzAwNDQ3LCAyMjY2MiwgMS4xNjg5MTk0NDQwODQxNjc1XSwgWzE2NjM4MzUzNDIuNTI2ODk1LCAyMjY3MSwgMS4xMjI2OTY3NTczMTY1ODk0XSwgWzE2NjM4MzUzNDIuNjI4NjczOCwgMjI2ODAsIDEuMTgxODQ2ODU3MDcwOTIyOV0sIFsxNjYzODM1MzQyLjgzMzY0MTUsIDIyNjk4LCAxLjE2Nzc4MjQyNTg4MDQzMjFdLCBbMTY2MzgzNTM0My4wMzE2MzU1LCAyMjcxNiwgMS4xMzA3NTgxNjYzMTMxNzE0XSwgWzE2NjM4MzUzNDMuNTM4MTAzMywgMjI3NjEsIDEuMTE0OTIwMzc3NzMxMzIzMl0sIFsxNjYzODM1MzQzLjc0MTQ2OCwgMjI3NzksIDEuMTI2MDExOTY3NjU4OTk2Nl0sIFsxNjYzODM1MzQzLjgzNjA5NzIsIDIyNzg4LCAxLjEzNTg1OTI1MTAyMjMzODldLCBbMTY2MzgzNTM0NC4wMzY4OTcyLCAyMjgwNiwgMS4xMjA2NDIwNjYwMDE4OTJdLCBbMTY2MzgzNTM0NC41NTQ2MzQsIDIyODUxLCAxLjIwMzg4NTkxMjg5NTIwMjZdLCBbMTY2MzgzNTM0NC43NTM0ODM4LCAyMjg2OSwgMS4xNjI0ODk2NTI2MzM2NjddLCBbMTY2MzgzNTM0NC45NDkxLCAyMjg4NywgMS4xNDk3OTI3OTA0MTI5MDI4XSwgWzE2NjM4MzUzNDUuMDQ0NTY0NSwgMjI4OTYsIDEuMTg2OTI3Nzk1NDEwMTU2Ml0sIFsxNjYzODM1MzQ1LjMzNDk5MzQsIDIyOTIzLCAxLjExNjQ3MzY3NDc3NDE3XSwgWzE2NjM4MzUzNDYuMzQ4NTk1NiwgMjI5OTUsIDEuMTQ5OTgzNDA2MDY2ODk0NV0sIFsxNjYzODM1MzQ2LjQ0MzgyNywgMjMwMDQsIDEuMTI0NTM0MjQ5MzA1NzI1XSwgWzE2NjM4MzUzNDcuMDQ5MTAxOCwgMjMwNDksIDEuMTAxMzM2ODM2ODE0ODgwNF0sIFsxNjYzODM1MzQ3LjcwNDU3MjcsIDIzMDk0LCAxLjEwMTQ2NDAzMzEyNjgzMV0sIFsxNjYzODM1MzQ3LjgyMDM2MDQsIDIzMTAzLCAxLjEyMzAxNzc4NzkzMzM0OTZdLCBbMTY2MzgzNTM0OC4wNzE0MzM4LCAyMzEyMSwgMS4xMzA1MTQ4NjAxNTMxOTgyXSwgWzE2NjM4MzUzNDguNDIwNTMzLCAyMzE0OCwgMS4xMTgwMTM2MjAzNzY1ODddLCBbMTY2MzgzNTM0OC42NTcyNTc4LCAyMzE2NiwgMS4xMTYxNzg2MzE3ODI1MzE3XSwgWzE2NjM4MzUzNDguODg4MTc1LCAyMzE4NCwgMS4xMDc1MjA4MTg3MTAzMjcxXSwgWzE2NjM4MzUzNDkuMTIyMDcxMywgMjMyMDIsIDEuMTEyNjMxNDQwMTYyNjU4N10sIFsxNjYzODM1MzQ5LjIzOTkxNCwgMjMyMTEsIDEuMTIyOTI2NzEyMDM2MTMyOF0sIFsxNjYzODM1MzQ5LjgzMDQzNTgsIDIzMjU2LCAxLjE3MDk3NjUxOTU4NDY1NThdLCBbMTY2MzgzNTM0OS45NDczMjA1LCAyMzI2NSwgMS4yNTgzNjMxMjc3MDg0MzVdLCBbMTY2MzgzNTM1MC4wNjc5MjI4LCAyMzI3NCwgMS4yNjI5MjAxNDEyMjAwOTI4XSwgWzE2NjM4MzUzNTAuNDMzODM0OCwgMjMzMDEsIDEuMTYxMjA4MTUyNzcwOTk2XSwgWzE2NjM4MzUzNTAuNTUyNjMzMywgMjMzMTAsIDEuMTEzMzM0MTc4OTI0NTYwNV0sIFsxNjYzODM1MzUwLjkyMjQ0MywgMjMzMzcsIDEuMTIyODcyMTE0MTgxNTE4Nl0sIFsxNjYzODM1MzUxLjY1NjI1MTIsIDIzMzkxLCAxLjExNDE5MDIyMDgzMjgyNDddLCBbMTY2MzgzNTM1MS43ODI1Nzg1LCAyMzQwMCwgMS4xMDYxMjI0OTM3NDM4OTY1XSwgWzE2NjM4MzUzNTIuMDMxNjQwNSwgMjM0MTgsIDEuMTA0ODYzMTY2ODA5MDgyXSwgWzE2NjM4MzUzNTIuMjcwNDQ4MiwgMjM0MzYsIDEuMTM0NTA0Njc1ODY1MTczM10sIFsxNjYzODM1MzUyLjUzMTA5MzQsIDIzNDU0LCAxLjIyMTU4NDA4MTY0OTc4MDNdLCBbMTY2MzgzNTM1Mi42NDkzNzUyLCAyMzQ2MywgMS4xNzYyMDI1MzU2MjkyNzI1XSwgWzE2NjM4MzUzNTMuOTUxNzM0LCAyMzU2MiwgMS4yMDc0MDI0Njc3Mjc2NjExXSwgWzE2NjM4MzUzNTQuMDc5NjY4OCwgMjM1NzEsIDEuMTQzNTY3NTYyMTAzMjcxNV0sIFsxNjYzODM1MzU0LjIxMjE1MTgsIDIzNTgwLCAxLjEyOTExOTYzNDYyODI5Nl0sIFsxNjYzODM1MzU0LjU5OTE4NywgMjM2MDcsIDEuMTQ2OTA3Njg3MTg3MTk0OF0sIFsxNjYzODM1MzU1LjIzNzIyNjcsIDIzNjUyLCAxLjE2NjkzMDQzNzA4ODAxMjddLCBbMTY2MzgzNTM1NS4zNTgyNDQ0LCAyMzY2MSwgMS4xMTIzODMxMjcyMTI1MjQ0XSwgWzE2NjM4MzUzNTYuMTE3ODI1MywgMjM2OTcsIDEuMTc5ODIzNzU2MjE3OTU2NV1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_09-03-21_54c5144e9b50&tag=Loss%2Ftrain":{"data":"W1sxNjYzOTIzODAxLjU0MzI0NDYsIDM2LCAxNzUuMjI3Mzg2NDc0NjA5MzhdLCBbMTY2MzkyMzgwMS42NTE2MjY4LCA0NSwgMTczLjk3ODc0NDUwNjgzNTk0XSwgWzE2NjM5MjM4MDIuMzAyODg2NywgOTksIDE3Mi4yMDQ5MjU1MzcxMDkzOF0sIFsxNjYzOTIzODAyLjc2NjY0OTUsIDEzNSwgMTY2Ljk2NjE1NjAwNTg1OTM4XSwgWzE2NjM5MjM4MDIuODg2MDQwNywgMTQ0LCAxNjYuMTQ5MjMwOTU3MDMxMjVdLCBbMTY2MzkyMzgwMy4yMzAyNDIzLCAxNzEsIDE2NC4xMzI5NDk4MjkxMDE1Nl0sIFsxNjYzOTIzODAzLjM0Mjg0NSwgMTgwLCAxNjUuMjkzNDU3MDMxMjVdLCBbMTY2MzkyMzgwMy40NjAzNzg0LCAxODksIDE2My4yOTk5NTcyNzUzOTA2Ml0sIFsxNjYzOTIzODAzLjY4NDE5MzQsIDIwNywgMTYyLjA0NDAzNjg2NTIzNDM4XSwgWzE2NjM5MjM4MDMuNzk0NzYwMiwgMjE2LCAxNjIuNzY4OTA1NjM5NjQ4NDRdLCBbMTY2MzkyMzgwNC4xMTgzNDM2LCAyNDMsIDE2My41NTE4MTg4NDc2NTYyNV0sIFsxNjYzOTIzODA0LjIyNjg5OCwgMjUyLCAxNTkuOTQ5NzgzMzI1MTk1M10sIFsxNjYzOTIzODA1LjQ5MDMwMDcsIDM1MSwgMTU1LjYxMjM1MDQ2Mzg2NzJdLCBbMTY2MzkyMzgwNS43MTcwODczLCAzNjksIDE1Mi44NDUwMTY0Nzk0OTIyXSwgWzE2NjM5MjM4MDYuNjc0NTk0OSwgNDMyLCAxNTIuMzM3NTI0NDE0MDYyNV0sIFsxNjYzOTIzODA2Ljc5MzU4NTgsIDQ0MSwgMTQ5LjU4NTEyODc4NDE3OTddLCBbMTY2MzkyMzgwNi45MDUwNTk4LCA0NTAsIDE1MC4wMTU4NTM4ODE4MzU5NF0sIFsxNjYzOTIzODA3LjEzNjE4MjMsIDQ2OCwgMTQ5LjQ0MTgzMzQ5NjA5Mzc1XSwgWzE2NjM5MjM4MDcuNDcyNjI0OCwgNDk1LCAxNDguNjI0ODYyNjcwODk4NDRdLCBbMTY2MzkyMzgwNy44Mjc2NzQ5LCA1MjIsIDE0Ni44NzUwOTE1NTI3MzQzOF0sIFsxNjYzOTIzODA4LjE3MzU5MjYsIDU0OSwgMTQ1LjE3ODgzMzAwNzgxMjVdLCBbMTY2MzkyMzgwOC4yNzkwMjk4LCA1NTgsIDE0Ni4zMDY1MTg1NTQ2ODc1XSwgWzE2NjM5MjM4MDguNDAxMjE4NywgNTY3LCAxNDYuNDE3NjAyNTM5MDYyNV0sIFsxNjYzOTIzODA4LjUxODM3MjMsIDU3NiwgMTQ1Ljc2OTE0OTc4MDI3MzQ0XSwgWzE2NjM5MjM4MDguNzQ5MzIyLCA1OTQsIDE0NS41ODAyNDU5NzE2Nzk3XSwgWzE2NjM5MjM4MDguODcxOTUwNCwgNjAzLCAxNDMuODkwMTgyNDk1MTE3Ml0sIFsxNjYzOTIzODA4Ljk5NDkyMjIsIDYxMiwgMTQyLjk5NzAzOTc5NDkyMTg4XSwgWzE2NjM5MjM4MDkuMTEyNDMyNSwgNjIxLCAxNDIuNzk4MTU2NzM4MjgxMjVdLCBbMTY2MzkyMzgwOS4zNTIxNzMsIDYzOSwgMTQwLjM5Njk1NzM5NzQ2MDk0XSwgWzE2NjM5MjM4MDkuNDc0NTk3MiwgNjQ4LCAxNDIuMjgzMjk0Njc3NzM0MzhdLCBbMTY2MzkyMzgxMC4xNDc5MDk0LCA3MDIsIDE0MC4wODI5NDY3NzczNDM3NV0sIFsxNjYzOTIzODEwLjM2NDQ5ODEsIDcyMCwgMTM5LjY2MTM2MTY5NDMzNTk0XSwgWzE2NjM5MjM4MTAuNzA0MzQ3OCwgNzQ3LCAxMzguMDU4MzM0MzUwNTg1OTRdLCBbMTY2MzkyMzgxMS4wMjY4OTk4LCA3NzQsIDEzNi4yNTg0OTkxNDU1MDc4XSwgWzE2NjM5MjM4MTEuNDcwOTkyOCwgODEwLCAxMzUuMDI4NTc5NzExOTE0MDZdLCBbMTY2MzkyMzgxMi41MTg5ODk4LCA5MDAsIDEyOS42NTcwNTg3MTU4MjAzXSwgWzE2NjM5MjM4MTIuOTc5MjMwOSwgOTM2LCAxMzAuMDQ3OTQzMTE1MjM0MzhdLCBbMTY2MzkyMzgxMy4zMTQyMjg4LCA5NjMsIDEyOC40ODUwNDYzODY3MTg3NV0sIFsxNjYzOTIzODEzLjQxNjI0NywgOTcyLCAxMjguMjA0MjIzNjMyODEyNV0sIFsxNjYzOTIzODEzLjYzNDMxNzksIDk5MCwgMTI2LjA5MTI1NTE4Nzk4ODI4XSwgWzE2NjM5MjM4MTQuNDEyNzM5NSwgMTA1MywgMTI1Ljk5NjI1Mzk2NzI4NTE2XSwgWzE2NjM5MjM4MTQuOTg5ODkzNywgMTA5OCwgMTIzLjA3MDU1NjY0MDYyNV0sIFsxNjYzOTIzODE1LjQyMzkxNjMsIDExMzQsIDEyMi42MTY5NzM4NzY5NTMxMl0sIFsxNjYzOTIzODE1LjU0MDI5MDYsIDExNDMsIDEyMi4wMTE3ODc0MTQ1NTA3OF0sIFsxNjYzOTIzODE1Ljc1Mjk0NywgMTE2MSwgMTE5Ljk0NTI3NDM1MzAyNzM0XSwgWzE2NjM5MjM4MTUuOTU1NDAxMiwgMTE3OSwgMTIwLjg3MTc1NzUwNzMyNDIyXSwgWzE2NjM5MjM4MTYuNzcxNzM2MSwgMTIzMywgMTE3LjcxMjc0NTY2NjUwMzldLCBbMTY2MzkyMzgxNi44NzEyNzM4LCAxMjQyLCAxMTUuOTUwMTE5MDE4NTU0NjldLCBbMTY2MzkyMzgxNy42NTA1MDUsIDEzMDUsIDExNS4yMDc5MzE1MTg1NTQ2OV0sIFsxNjYzOTIzODE3Ljg2MDYyNywgMTMyMywgMTE2LjQyNDYxMzk1MjYzNjcyXSwgWzE2NjM5MjM4MTcuOTgzNjEyOCwgMTMzMiwgMTE0Ljk2NzA2MzkwMzgwODZdLCBbMTY2MzkyMzgxOC4zMDI4ODA4LCAxMzU5LCAxMTMuMDExOTA5NDg0ODYzMjhdLCBbMTY2MzkyMzgxOS4wNjMwMDY2LCAxNDIyLCAxMTAuMjQ1MjMxNjI4NDE3OTddLCBbMTY2MzkyMzgxOS4zODE3OTIsIDE0NDksIDEwOS4xODg1Mjk5NjgyNjE3Ml0sIFsxNjYzOTIzODE5LjU3NjAxNDgsIDE0NjcsIDEwNS45NTUzODMzMDA3ODEyNV0sIFsxNjYzOTIzODE5Ljc4MzIwOTMsIDE0ODUsIDEwOC4wMDA3MTcxNjMwODU5NF0sIFsxNjYzOTIzODIwLjM4MzA2MjYsIDE1MzksIDEwNS4zODkxNjAxNTYyNV0sIFsxNjYzOTIzODIwLjQ4MDMwODMsIDE1NDgsIDEwNS4wNzA2NDgxOTMzNTkzOF0sIFsxNjYzOTIzODIwLjU3MTk0NywgMTU1NywgMTAzLjc4OTE1NDA1MjczNDM4XSwgWzE2NjM5MjM4MjEuMDY4NzQ0NCwgMTYwMiwgMTAyLjcxNDQ2OTkwOTY2Nzk3XSwgWzE2NjM5MjM4MjEuNDY5NzcxMSwgMTYzOCwgOTkuODg4NzkzOTQ1MzEyNV0sIFsxNjYzOTIzODIxLjc2MzAyNywgMTY2NSwgOTkuNzI1MDk3NjU2MjVdLCBbMTY2MzkyMzgyMS44NjI4NTE5LCAxNjc0LCA5OS43MTI5ODk4MDcxMjg5XSwgWzE2NjM5MjM4MjEuOTgwMTc0MywgMTY4MywgOTkuNjM5OTAwMjA3NTE5NTNdLCBbMTY2MzkyMzgyMi4zNzQ2NjUzLCAxNzE5LCA5Ni44NTEzODcwMjM5MjU3OF0sIFsxNjYzOTIzODIyLjQ3Njk0NDQsIDE3MjgsIDk2LjExMzUwMjUwMjQ0MTRdLCBbMTY2MzkyMzgyMi42MDA5Mjg4LCAxNzM3LCA5Ni44NDYwMTU5MzAxNzU3OF0sIFsxNjYzOTIzODIzLjM2NjE5MzMsIDE4MDAsIDkzLjkwNDk4MzUyMDUwNzgxXSwgWzE2NjM5MjM4MjMuNjk0NzU3NSwgMTgyNywgOTIuNzc2ODQwMjA5OTYwOTRdLCBbMTY2MzkyMzgyMy43ODcwOTMsIDE4MzYsIDkxLjg4ODU4MDMyMjI2NTYyXSwgWzE2NjM5MjM4MjMuODc2OTM2LCAxODQ1LCA5MS4xNjAxNjM4NzkzOTQ1M10sIFsxNjYzOTIzODIzLjk4MjgwNywgMTg1NCwgOTEuNTQyOTg0MDA4Nzg5MDZdLCBbMTY2MzkyMzgyNC4xOTUxNTgsIDE4NzIsIDkyLjE3NzA3ODI0NzA3MDMxXSwgWzE2NjM5MjM4MjQuNjAwNjMzOSwgMTkwOCwgODguNDU5Mzg4NzMyOTEwMTZdLCBbMTY2MzkyMzgyNC43OTQyNDcyLCAxOTI2LCA4OC4wMTExOTIzMjE3NzczNF0sIFsxNjYzOTIzODI0Ljk4OTU5NDUsIDE5NDQsIDg5LjU1OTI4MDM5NTUwNzgxXSwgWzE2NjM5MjM4MjUuNDgzMzg3LCAxOTgwLCA4Ny40NDYzNjUzNTY0NDUzMV0sIFsxNjYzOTIzODI1LjgwNTgwNiwgMTk4OSwgODcuNzIzMTgyNjc4MjIyNjZdLCBbMTY2MzkyMzgyNS45MjMwNTc2LCAxOTk4LCA4NS43OTUzNzk2Mzg2NzE4OF0sIFsxNjYzOTIzODI2LjI5NzE0OSwgMjAyNSwgODUuODkzOTUxNDE2MDE1NjJdLCBbMTY2MzkyMzgyNi44Mjg0MzAyLCAyMDcwLCA4NS40MTI5MjU3MjAyMTQ4NF0sIFsxNjYzOTIzODI3Ljg0MjMyNDUsIDIxNjAsIDgxLjEzNjIzMDQ2ODc1XSwgWzE2NjM5MjM4MjguMDQwMzE0NCwgMjE3OCwgODAuOTE0MjkxMzgxODM1OTRdLCBbMTY2MzkyMzgyOC40MTY5NzEyLCAyMjA1LCA4MC4xNDYzMzk0MTY1MDM5XSwgWzE2NjM5MjM4MjguNTU2MjcwMSwgMjIxNCwgNzguOTgxMzQ2MTMwMzcxMV0sIFsxNjYzOTIzODI4LjY2ODEzMzcsIDIyMjMsIDc5LjAxODk0Mzc4NjYyMTFdLCBbMTY2MzkyMzgyOS42NTkzMzA4LCAyMjk1LCA3Ny4xNjcxOTgxODExNTIzNF0sIFsxNjYzOTIzODMwLjE1MDgwNDMsIDIzMzEsIDc2LjU2ODg3MDU0NDQzMzZdLCBbMTY2MzkyMzgzMC4yNTE0MjMsIDIzNDAsIDc1LjQwMDgzMzEyOTg4MjgxXSwgWzE2NjM5MjM4MzAuMzQ5MDkzLCAyMzQ5LCA3NS4wNzE2MTcxMjY0NjQ4NF0sIFsxNjYzOTIzODMxLjQ3MjIyMDQsIDI0NDgsIDcyLjgxMzgxOTg4NTI1MzldLCBbMTY2MzkyMzgzMS43Nzc1NzQ1LCAyNDc1LCA3MC44MTkzNTExOTYyODkwNl0sIFsxNjYzOTIzODMyLjAwNDIyMTIsIDI0OTMsIDcwLjE4NTI1Njk1ODAwNzgxXSwgWzE2NjM5MjM4MzIuMjQwNDcyLCAyNTExLCA3MC4xMDc4Nzk2Mzg2NzE4OF0sIFsxNjYzOTIzODMyLjQ1Mjk5NDMsIDI1MjksIDcwLjQwOTc5NzY2ODQ1NzAzXSwgWzE2NjM5MjM4MzIuNjYyNTM3OCwgMjU0NywgNjguOTY1MDQyMTE0MjU3ODFdLCBbMTY2MzkyMzgzMi45NTc1MDAyLCAyNTc0LCA2Ny44MzM0NzMyMDU1NjY0XSwgWzE2NjM5MjM4MzMuMjg5MTA1LCAyNjAxLCA2Ny4zNTgzOTA4MDgxMDU0N10sIFsxNjYzOTIzODMzLjQ5Nzg2MDcsIDI2MTksIDY2Ljg0OTI3MzY4MTY0MDYyXSwgWzE2NjM5MjM4MzQuMDMwNDg1OSwgMjY2NCwgNjYuMTg2NzgyODM2OTE0MDZdLCBbMTY2MzkyMzgzNC4yMzAyNTQ0LCAyNjgyLCA2NC45MTU3NzE0ODQzNzVdLCBbMTY2MzkyMzgzNC4zMjgzOTI3LCAyNjkxLCA2NC4yMjY2MDgyNzYzNjcxOV0sIFsxNjYzOTIzODM1LjM0OTg2OSwgMjc2MywgNjIuNTQ2MDcwMDk4ODc2OTVdLCBbMTY2MzkyMzgzNS41MzgyNzc0LCAyNzgxLCA2MS4yNTg0OTkxNDU1MDc4MV0sIFsxNjYzOTIzODM1LjkzMzcwOTEsIDI4MTcsIDYxLjE0OTg4MzI3MDI2MzY3XSwgWzE2NjM5MjM4MzYuMzY0MzU0NiwgMjg1MywgNTguMDc3MTk0MjEzODY3MTldLCBbMTY2MzkyMzgzNi41Njg2OTk0LCAyODcxLCA1OC42NDM5MzYxNTcyMjY1Nl0sIFsxNjYzOTIzODM2LjY3NDQ3LCAyODgwLCA1Ny45NjEyOTIyNjY4NDU3XSwgWzE2NjM5MjM4MzYuOTc0NzM4OCwgMjkwNywgNTguMDI4OTY4ODExMDM1MTU2XSwgWzE2NjM5MjM4MzguNDUxNTQyOSwgMzA0MiwgNTEuOTgxMDA2NjIyMzE0NDVdLCBbMTY2MzkyMzgzOC41Nzg0MjY2LCAzMDUxLCA1Mi4wMjE2NDA3Nzc1ODc4OV0sIFsxNjYzOTIzODM5LjEwMTA1NDcsIDMwOTYsIDUxLjQwMzMxMjY4MzEwNTQ3XSwgWzE2NjM5MjM4MzkuMzAyMDcsIDMxMTQsIDUxLjEzOTgwODY1NDc4NTE1Nl0sIFsxNjYzOTIzODM5LjQwNDI4NCwgMzEyMywgNDkuNzQxNDU4ODkyODIyMjY2XSwgWzE2NjM5MjM4NDAuMDMxOTg1NSwgMzE3NywgNDguOTY2MzgxMDcyOTk4MDVdLCBbMTY2MzkyMzg0MC4yNTE3OTYyLCAzMTk1LCA0Ny41NDA4Mjg3MDQ4MzM5ODRdLCBbMTY2MzkyMzg0MC42NjgwMTE3LCAzMjMxLCA0Ni4yODk1MDg4MTk1ODAwOF0sIFsxNjYzOTIzODQxLjA3NjMwOTcsIDMyNjcsIDQ1Ljg1NzcyNzA1MDc4MTI1XSwgWzE2NjM5MjM4NDEuMTg5NjcxMywgMzI3NiwgNDUuNTE5NDA1MzY0OTkwMjM0XSwgWzE2NjM5MjM4NDEuMjg4OTc2NywgMzI4NSwgNDUuMjE3MTIxMTI0MjY3NThdLCBbMTY2MzkyMzg0MS4zODUzNjkzLCAzMjk0LCA0NC45MDEwMjc2Nzk0NDMzNl0sIFsxNjYzOTIzODQxLjQ4ODM0NSwgMzMwMywgNDQuOTYzMjYwNjUwNjM0NzY2XSwgWzE2NjM5MjM4NDEuNTg4NzI0LCAzMzEyLCA0NC4zMzM1NTcxMjg5MDYyNV0sIFsxNjYzOTIzODQyLjc4NzkwMDcsIDM0MTEsIDQxLjA0NzMwOTg3NTQ4ODI4XSwgWzE2NjM5MjM4NDMuNjQ1MTI2OCwgMzQ4MywgMzkuNTc3MTA2NDc1ODMwMDhdLCBbMTY2MzkyMzg0NC4wNjM1MDQ1LCAzNTE5LCAzOC45NTM0OTg4NDAzMzIwM10sIFsxNjYzOTIzODQ0LjMyOTQ0NTYsIDM1MzcsIDM4LjIwNzg4MTkyNzQ5MDIzNF0sIFsxNjYzOTIzODQ0Ljc2ODkxMTYsIDM1NTUsIDM3LjcyMzI1NTE1NzQ3MDddLCBbMTY2MzkyMzg0NS4wOTcwNTA3LCAzNTgyLCAzNi4yODkyMjI3MTcyODUxNTZdLCBbMTY2MzkyMzg0NS43MTE5ODQ2LCAzNjI3LCAzNS44MDk0Nzg3NTk3NjU2MjVdLCBbMTY2MzkyMzg0NS45NDYxNDksIDM2NDUsIDM0LjgzMjk2NTg1MDgzMDA4XSwgWzE2NjM5MjM4NDYuNTc1OTM0NCwgMzY5MCwgMzQuMTY0OTUxMzI0NDYyODldLCBbMTY2MzkyMzg0Ni45OTIyMDUsIDM3MjYsIDMyLjgwOTY1MDQyMTE0MjU4XSwgWzE2NjM5MjM4NDcuMDk2MTc1MiwgMzczNSwgMzIuNTU2MzU0NTIyNzA1MDhdLCBbMTY2MzkyMzg0Ny4xOTY5NzcsIDM3NDQsIDMyLjg0MDE5MDg4NzQ1MTE3XSwgWzE2NjM5MjM4NDcuODgyMzc0OCwgMzc5OCwgMzEuNTM4NjAyODI4OTc5NDkyXSwgWzE2NjM5MjM4NDcuOTk4Nzk1MywgMzgwNywgMzAuNjk0NzA0MDU1Nzg2MTMzXSwgWzE2NjM5MjM4NDguMzQzNTQ2NCwgMzgzNCwgMzAuOTkwNTgzNDE5Nzk5ODA1XSwgWzE2NjM5MjM4NDguNDQxODQ3OCwgMzg0MywgMzAuMDc4NjYyODcyMzE0NDUzXSwgWzE2NjM5MjM4NDguODM5ODY1NCwgMzg3OSwgMjkuMzU3NDkyNDQ2ODk5NDE0XSwgWzE2NjM5MjM4NDkuNTM4NjM5MywgMzkyNCwgMjguNzY5MDUyNTA1NDkzMTY0XSwgWzE2NjM5MjM4NDkuODkxNTY3LCAzOTMzLCAyOC4wMjk5Nzk3MDU4MTA1NDddLCBbMTY2MzkyMzg1MC4xMDIzMjExLCAzOTQyLCAyNy45ODg4MzI0NzM3NTQ4ODNdLCBbMTY2MzkyMzg1MC4zMTg1MTUzLCAzOTYwLCAyNy43ODY3MTgzNjg1MzAyNzNdLCBbMTY2MzkyMzg1MC41NzA3NzU3LCAzOTc4LCAyNy4yNDIyNTgwNzE4OTk0MTRdLCBbMTY2MzkyMzg1MC43NjI4NDIyLCAzOTk2LCAyNy4xNjAxODQ4NjAyMjk0OTJdLCBbMTY2MzkyMzg1MC44NjM4NTQ2LCA0MDA1LCAyNi45OTY5ODA2NjcxMTQyNThdLCBbMTY2MzkyMzg1MS4xMDk5NTI0LCA0MDIzLCAyNi4wNjQ0NzQxMDU4MzQ5Nl0sIFsxNjYzOTIzODUxLjU4MDQyMSwgNDA1OSwgMjUuODAwNTU0Mjc1NTEyNjk1XSwgWzE2NjM5MjM4NTEuNzgxNjE4LCA0MDc3LCAyNC44OTQzNjE0OTU5NzE2OF0sIFsxNjYzOTIzODUyLjE2Mjk4NCwgNDExMywgMjQuNjIyODA2NTQ5MDcyMjY2XSwgWzE2NjM5MjM4NTIuNTU0NDEyLCA0MTQ5LCAyMy45MTAyMDIwMjYzNjcxODhdLCBbMTY2MzkyMzg1Mi42NTI2MzMyLCA0MTU4LCAyMy44NDEwNzc4MDQ1NjU0M10sIFsxNjYzOTIzODUzLjAzMTczMjMsIDQxOTQsIDIzLjE3MjkyMDIyNzA1MDc4XSwgWzE2NjM5MjM4NTMuMTMxMjQyLCA0MjAzLCAyMi45OTA4MzEzNzUxMjIwN10sIFsxNjYzOTIzODUzLjMzMDA2NzIsIDQyMjEsIDIyLjY1NTY2MDYyOTI3MjQ2XSwgWzE2NjM5MjM4NTMuNTYyNzg1NiwgNDIzOSwgMjIuNDk4MjkyOTIyOTczNjMzXSwgWzE2NjM5MjM4NTQuMDUwOTUxNywgNDI3NSwgMjIuMDE1MDQ4OTgwNzEyODldLCBbMTY2MzkyMzg1NC4xNTc2NzMxLCA0Mjg0LCAyMi4wNTkxNzE2NzY2MzU3NDJdLCBbMTY2MzkyMzg1NC45NjcyMTU4LCA0MzI5LCAyMC41NzA5MTkwMzY4NjUyMzRdLCBbMTY2MzkyMzg1NS4wODY5NTMsIDQzMzgsIDIwLjYyMDAzODk4NjIwNjA1NV0sIFsxNjYzOTIzODU1LjQzMTc5ODIsIDQzNjUsIDE5Ljk4OTY1MjYzMzY2Njk5Ml0sIFsxNjYzOTIzODU1LjczODk5NDQsIDQzOTIsIDE5Ljg0NDczOTkxMzk0MDQzXSwgWzE2NjM5MjM4NTUuODQwMDY5OCwgNDQwMSwgMTkuODg2ODg2NTk2Njc5Njg4XSwgWzE2NjM5MjM4NTUuOTQzMjg4NiwgNDQxMCwgMTkuNDc1MDk3NjU2MjVdLCBbMTY2MzkyMzg1Ni4xNTM2NzY3LCA0NDI4LCAxOS4zOTA1NTYzMzU0NDkyMl0sIFsxNjYzOTIzODU2LjQ2ODQwNTcsIDQ0NTUsIDE5LjEzMjU2MDcyOTk4MDQ3XSwgWzE2NjM5MjM4NTYuODc4NjExLCA0NDkxLCAxOC4yMzAyOTMyNzM5MjU3OF0sIFsxNjYzOTIzODU3LjMxMTc3NCwgNDUyNywgMTguMzIyNTY1MDc4NzM1MzVdLCBbMTY2MzkyMzg1Ny40MTM3NDE0LCA0NTM2LCAxNy45MTQ2NDQyNDEzMzMwMDhdLCBbMTY2MzkyMzg1OC4wNzU3MjQ2LCA0NTkwLCAxNy4zODg4NzAyMzkyNTc4MTJdLCBbMTY2MzkyMzg1OC4xOTE0Mjk2LCA0NTk5LCAxNy40NTcyMjc3MDY5MDkxOF0sIFsxNjYzOTIzODU4LjMwOTQxMSwgNDYwOCwgMTcuMzQ4MDYwNjA3OTEwMTU2XSwgWzE2NjM5MjM4NTguNDI4NDI5MSwgNDYxNywgMTYuODI4NzQ4NzAzMDAyOTNdLCBbMTY2MzkyMzg1OC41MjkyMjAzLCA0NjI2LCAxNi42MzQyMDY3NzE4NTA1ODZdLCBbMTY2MzkyMzg1OC42NTQzMzg2LCA0NjM1LCAxNi43MzgxMDAwNTE4Nzk4ODNdLCBbMTY2MzkyMzg1OS41MzMxMjY0LCA0NjYyLCAxNi4zMTM5MjY2OTY3NzczNDRdLCBbMTY2MzkyMzg1OS42MzQwOTQ1LCA0NjcxLCAxNi4yMjYzMTA3Mjk5ODA0N10sIFsxNjYzOTIzODU5Ljc3MjQyMzUsIDQ2ODAsIDE1Ljk1NTc3NDMwNzI1MDk3N10sIFsxNjYzOTIzODYxLjkyMjM2NzMsIDQ4MDYsIDE0Ljk5NDkxMjE0NzUyMTk3M10sIFsxNjYzOTIzODYyLjAyNzY5NjYsIDQ4MTUsIDE1LjA2MDU1NTQ1ODA2ODg0OF0sIFsxNjYzOTIzODYyLjI2NzA0LCA0ODMzLCAxNS4yNjcwMTI1OTYxMzAzNzFdLCBbMTY2MzkyMzg2Mi40MTQ3OTA0LCA0ODQyLCAxNC45NjY4NTYwMDI4MDc2MTddLCBbMTY2MzkyMzg2Mi41MjkyMzMyLCA0ODUxLCAxNC42NjY5NTIxMzMxNzg3MTFdLCBbMTY2MzkyMzg2Mi43NTg0ODksIDQ4NjksIDE0LjQyNTkxODU3OTEwMTU2Ml0sIFsxNjYzOTIzODYyLjk1OTQ5NzIsIDQ4ODcsIDE0LjM1MTE0MDAyMjI3NzgzMl0sIFsxNjYzOTIzODYzLjE2OTYyMiwgNDkwNSwgMTQuNTYzMzE2MzQ1MjE0ODQ0XSwgWzE2NjM5MjM4NjMuMzgyNzE5LCA0OTIzLCAxNC4wNTMwMjQyOTE5OTIxODhdLCBbMTY2MzkyMzg2My41MDg3NywgNDkzMiwgMTMuOTcwNDczMjg5NDg5NzQ2XSwgWzE2NjM5MjM4NjMuODg5MTA3MiwgNDk1OSwgMTMuOTgzMDM0MTMzOTExMTMzXSwgWzE2NjM5MjM4NjQuMDc3OTQwMiwgNDk3NywgMTMuNTk0OTA0ODk5NTk3MTY4XSwgWzE2NjM5MjM4NjQuMzY5NzI5LCA1MDA0LCAxMy41OTMxMTE5OTE4ODIzMjRdLCBbMTY2MzkyMzg2NC40Njc0MjI3LCA1MDEzLCAxMy42NzA2MDc1NjY4MzM0OTZdLCBbMTY2MzkyMzg2NS4xNjUzMzE0LCA1MDY3LCAxMy4zNjA3NTc4Mjc3NTg3ODldLCBbMTY2MzkyMzg2NS4yNzc4MTQ2LCA1MDc2LCAxMy4wNjAwOTEwMTg2NzY3NThdLCBbMTY2MzkyMzg2NS40MDQ4NTg4LCA1MDg1LCAxMy4wMzA5OTI1MDc5MzQ1N10sIFsxNjYzOTIzODY2LjA1NzUyMjgsIDUxMjEsIDEyLjk5ODYwMzgyMDgwMDc4MV0sIFsxNjYzOTIzODY2LjM4MzMxNTgsIDUxNDgsIDEyLjgwNTIzNjgxNjQwNjI1XSwgWzE2NjM5MjM4NjYuNjM3ODYxNywgNTE2NiwgMTIuOTM4NDI4ODc4Nzg0MThdLCBbMTY2MzkyMzg2Ni45Mzg0MjQsIDUxOTMsIDEyLjU5OTI2MTI4Mzg3NDUxMl0sIFsxNjYzOTIzODY3LjM4NTg1MTQsIDUyMjksIDEyLjIyMDIxNjc1MTA5ODYzM10sIFsxNjYzOTIzODY3Ljc3ODU4MDIsIDUyNjUsIDEyLjMxOTUzODExNjQ1NTA3OF0sIFsxNjYzOTIzODY3Ljg5MDY1MjQsIDUyNzQsIDEyLjI3ODk2NjkwMzY4NjUyM10sIFsxNjYzOTIzODY4LjI0NjU4NDIsIDUzMDEsIDEyLjA1MzY4ODA0OTMxNjQwNl0sIFsxNjYzOTIzODY4LjQ4ODIwNjEsIDUzMTksIDEyLjI0MzI2MzI0NDYyODkwNl0sIFsxNjYzOTIzODY4LjYwNjE1ODMsIDUzMjgsIDEyLjE3MjgwNTc4NjEzMjgxMl0sIFsxNjYzOTIzODY4LjkzMTM3MzYsIDUzNTUsIDExLjg5MjM5NTAxOTUzMTI1XSwgWzE2NjM5MjM4NjkuMTIwMTU4NCwgNTM3MywgMTEuODM4OTcyMDkxNjc0ODA1XSwgWzE2NjM5MjM4NjkuMzIwMDYyLCA1MzkxLCAxMS45MTM5MzI4MDAyOTI5NjldLCBbMTY2MzkyMzg2OS40NDY5MzI4LCA1NDAwLCAxMS44ODk3MTEzODAwMDQ4ODNdLCBbMTY2MzkyMzg2OS43MzM3OTgsIDU0MjcsIDExLjY0OTQ3MzE5MDMwNzYxN10sIFsxNjYzOTIzODY5LjgzMDEwNzIsIDU0MzYsIDExLjUzMjk0MTgxODIzNzMwNV0sIFsxNjYzOTIzODcwLjM0MTAwODQsIDU0ODEsIDExLjQyMjk2MTIzNTA0NjM4N10sIFsxNjYzOTIzODcwLjg1MTk5NiwgNTUyNiwgMTEuMjk4NTg4NzUyNzQ2NTgyXSwgWzE2NjM5MjM4NzAuOTU3MzE3NiwgNTUzNSwgMTEuMzg4NTcwNzg1NTIyNDYxXSwgWzE2NjM5MjM4NzEuMTc5MTYxNSwgNTU1MywgMTEuMzY5NjAyMjAzMzY5MTRdLCBbMTY2MzkyMzg3MS41OTA1MjQ3LCA1NTg5LCAxMS4yNDc4NDE4MzUwMjE5NzNdLCBbMTY2MzkyMzg3MS43ODgxNDA1LCA1NjA3LCAxMC45NDI5NTMxMDk3NDEyMTFdLCBbMTY2MzkyMzg3MS45MTIyMDk3LCA1NjE2LCAxMS4yMTU0NjE3MzA5NTcwMzFdLCBbMTY2MzkyMzg3Mi4yMTcyMzYzLCA1NjQzLCAxMS4wMzEyOTI5MTUzNDQyMzhdLCBbMTY2MzkyMzg3Mi40MzAxOTQxLCA1NjYxLCAxMS4xMjk1Mzg1MzYwNzE3NzddLCBbMTY2MzkyMzg3Mi41MjAyODg3LCA1NjcwLCAxMS4yMzI1MjQ4NzE4MjYxNzJdLCBbMTY2MzkyMzg3Mi45MDkxNTE4LCA1NzA2LCAxMC45MzExODI4NjEzMjgxMjVdLCBbMTY2MzkyMzg3My4zNDM1NDEsIDU3NDIsIDExLjAwODcwNTEzOTE2MDE1Nl0sIFsxNjYzOTIzODczLjcwOTgwMjksIDU3NjksIDExLjE0MDQ4MjkwMjUyNjg1NV0sIFsxNjYzOTIzODczLjgxMDI1MSwgNTc3OCwgMTAuODAxNzk3ODY2ODIxMjg5XSwgWzE2NjM5MjM4NzMuOTE0MDI3NywgNTc4NywgMTAuODU5NTc5MDg2MzAzNzExXSwgWzE2NjM5MjM4NzQuMDI1MzMxNywgNTc5NiwgMTAuNzM0NDY2NTUyNzM0Mzc1XSwgWzE2NjM5MjM4NzQuMTIwMTc4NywgNTgwNSwgMTAuNzgwNzMzMTA4NTIwNTA4XSwgWzE2NjM5MjM4NzQuNjMwMjcyMiwgNTg1MCwgMTAuODYyMDA0MjgwMDkwMzMyXSwgWzE2NjM5MjM4NzQuODMzMTMxNiwgNTg2OCwgMTAuNjUwMTUzMTYwMDk1MjE1XSwgWzE2NjM5MjM4NzUuMTE3ODU0OCwgNTg3NywgMTAuNzQyMzcyNTEyODE3MzgzXSwgWzE2NjM5MjM4NzUuMzIxMzc2OCwgNTg5NSwgMTAuNTk5NjcyMzE3NTA0ODgzXSwgWzE2NjM5MjM4NzUuNDIzOTczLCA1OTA0LCAxMC42MzM2MzA3NTI1NjM0NzddLCBbMTY2MzkyMzg3NS43MDg4NzE0LCA1OTMxLCAxMC40MzU2MzQ2MTMwMzcxMV0sIFsxNjYzOTIzODc1LjkwNzg3OTgsIDU5NDksIDEwLjYwNTE1OTc1OTUyMTQ4NF0sIFsxNjYzOTIzODc2LjU5MDExOTYsIDYwMTIsIDEwLjUzNjIyNTMxODkwODY5MV0sIFsxNjYzOTIzODc2Ljg5MDA3MiwgNjAzOSwgMTAuMzU4MTQ5NTI4NTAzNDE4XSwgWzE2NjM5MjM4NzcuMzgzNTM5LCA2MDg0LCAxMC40MDA4NjU1NTQ4MDk1N10sIFsxNjYzOTIzODc3LjQ3OTE4MiwgNjA5MywgMTAuMzYxMjM2NTcyMjY1NjI1XSwgWzE2NjM5MjM4NzcuODUzODc5MiwgNjEyOSwgMTAuNDA0Njk4MzcxODg3MjA3XSwgWzE2NjM5MjM4NzguMjUyNjQzOCwgNjE2NSwgMTAuMzUxMTI1NzE3MTYzMDg2XSwgWzE2NjM5MjM4NzguNTQzNjM2MywgNjE5MiwgMTAuMzI4MTI2OTA3MzQ4NjMzXSwgWzE2NjM5MjM4NzkuMDI3ODMzNSwgNjIzNywgMTAuMzA3MzUwMTU4NjkxNDA2XSwgWzE2NjM5MjM4NzkuMjM5NzIxMywgNjI1NSwgMTAuMjcwNDU4MjIxNDM1NTQ3XSwgWzE2NjM5MjM4NzkuNDMzMTQ4NiwgNjI3MywgMTAuMTc4MDEwOTQwNTUxNzU4XSwgWzE2NjM5MjM4NzkuNTI1MDMyLCA2MjgyLCAxMC4yMjcyNTM5MTM4NzkzOTVdLCBbMTY2MzkyMzg3OS43MTMwODA0LCA2MzAwLCAxMC4wOTQzNDc5NTM3OTYzODddLCBbMTY2MzkyMzg4MC4wMDgyNzYyLCA2MzI3LCAxMC4wMzEyNTI4NjEwMjI5NV0sIFsxNjYzOTIzODgwLjMwMjYyNSwgNjM1NCwgMTAuMTYyMjM0MzA2MzM1NDVdLCBbMTY2MzkyMzg4MC44NzQ5MzQsIDYzOTksIDEwLjEwNTkyNTU1OTk5NzU1OV0sIFsxNjYzOTIzODgxLjQzNDA1NzcsIDY0NDQsIDEwLjE0MTM1OTMyOTIyMzYzM10sIFsxNjYzOTIzODgxLjcwODgxNDksIDY0NjIsIDEwLjE2ODgyNDE5NTg2MTgxNl0sIFsxNjYzOTIzODgyLjA2MzU4MzEsIDY0ODksIDkuOTgyNzE3NTE0MDM4MDg2XSwgWzE2NjM5MjM4ODIuMTg0MzUyOSwgNjQ5OCwgMTAuMDM3OTM5MDcxNjU1MjczXSwgWzE2NjM5MjM4ODIuNDA5ODA1NSwgNjUxNiwgOS44NzI3MDA2OTEyMjMxNDVdLCBbMTY2MzkyMzg4Mi42MDU0OTk1LCA2NTM0LCAxMC4wMjAyNzc5NzY5ODk3NDZdLCBbMTY2MzkyMzg4Mi42OTg1MjkyLCA2NTQzLCA5Ljk1NjIxMzk1MTExMDg0XSwgWzE2NjM5MjM4ODIuODgzNzczOCwgNjU2MSwgOS45NzU2MTM1OTQwNTUxNzZdLCBbMTY2MzkyMzg4Mi45OTE1NzIsIDY1NzAsIDkuODI3NDE5MjgxMDA1ODZdLCBbMTY2MzkyMzg4My4yMDI2NDI0LCA2NTg4LCA5Ljk4NTU3NTY3NTk2NDM1NV0sIFsxNjYzOTIzODgzLjMwNjM4MSwgNjU5NywgOS44NzAwNjM3ODE3MzgyODFdLCBbMTY2MzkyMzg4My40MDU2NjkyLCA2NjA2LCA5Ljg4MzgyMjQ0MTEwMTA3NF0sIFsxNjYzOTIzODg0LjE0MTg1NTcsIDY2NTEsIDkuODU1NTQ1OTk3NjE5NjI5XSwgWzE2NjM5MjM4ODQuNTQ2NzEzLCA2Njg3LCA5LjkxNTQ2ODIxNTk0MjM4M10sIFsxNjYzOTIzODg0Ljc0MjM1OTYsIDY3MDUsIDkuODM0MDUwMTc4NTI3ODMyXSwgWzE2NjM5MjM4ODUuOTQ0ODU3MSwgNjgxMywgOS43ODk5Njg0OTA2MDA1ODZdLCBbMTY2MzkyMzg4Ni4xNTExODg5LCA2ODMxLCA5LjY4Mjc2NTAwNzAxOTA0M10sIFsxNjYzOTIzODg2Ljg3Mzc4NDgsIDY4ODUsIDkuNzUyMDczMjg3OTYzODY3XSwgWzE2NjM5MjM4ODYuOTY2MDQ3LCA2ODk0LCA5LjU4NjIyMzYwMjI5NDkyMl0sIFsxNjYzOTIzODg3LjMyNjA5OTYsIDY5MjEsIDkuNDk0MzI2NTkxNDkxN10sIFsxNjYzOTIzODg3LjQ0Mjg1NzcsIDY5MzAsIDkuNTU1MTUxOTM5MzkyMDldLCBbMTY2MzkyMzg4Ny43ODQzODU0LCA2OTU3LCA5LjY2MzA3NTQ0NzA4MjUyXSwgWzE2NjM5MjM4ODguMTIwMDkyMiwgNjk4NCwgOS43NDc5MDc2Mzg1NDk4MDVdLCBbMTY2MzkyMzg4OC4yMjIxNjMsIDY5OTMsIDkuNzA5MjU2MTcyMTgwMTc2XSwgWzE2NjM5MjM4ODguNDQ3NTM0MywgNzAxMSwgOS42NDI5ODgyMDQ5NTYwNTVdLCBbMTY2MzkyMzg4OC41NjE3ODE0LCA3MDIwLCA5LjQ2OTUzMDEwNTU5MDgyXSwgWzE2NjM5MjM4ODguNjczMjAxLCA3MDI5LCA5LjQ2ODE2MjUzNjYyMTA5NF0sIFsxNjYzOTIzODg4Ljc5OTU0LCA3MDM4LCA5LjQxOTE5MDQwNjc5OTMxNl0sIFsxNjYzOTIzODg4LjkyNDg2NDgsIDcwNDcsIDkuNDY0NDQ0MTYwNDYxNDI2XSwgWzE2NjM5MjM4ODkuNjQ2NDg4NywgNzEwMSwgOS40ODQ1MzUyMTcyODUxNTZdLCBbMTY2MzkyMzg4OS45Nzg5MDczLCA3MTI4LCA5LjU0Njg3ODgxNDY5NzI2Nl0sIFsxNjYzOTIzODkxLjM5MjU3MiwgNzI0NSwgOS40MTEzMzIxMzA0MzIxMjldLCBbMTY2MzkyMzg5MS41MDM1NDI0LCA3MjU0LCA5LjQyMzM5OTkyNTIzMTkzNF0sIFsxNjYzOTIzODkxLjYwNDYxLCA3MjYzLCA5LjM1MDUxMjUwNDU3NzYzN10sIFsxNjYzOTIzODkxLjcwNDg3NjcsIDcyNzIsIDkuMzY4MTcwNzM4MjIwMjE1XSwgWzE2NjM5MjM4OTIuMDIzMTk2LCA3Mjk5LCA5LjI4OTgyOTI1NDE1MDM5XSwgWzE2NjM5MjM4OTIuODc0MTM5MywgNzM3MSwgOS4yODQxNzExMDQ0MzExNTJdLCBbMTY2MzkyMzg5Mi45NjU5Nzk4LCA3MzgwLCA5LjI4NTk0ODc1MzM1NjkzNF0sIFsxNjYzOTIzODk0LjA0NzY3MTgsIDc0NTIsIDkuMjE1ODA4ODY4NDA4MjAzXSwgWzE2NjM5MjM4OTQuMTU3MTg2MywgNzQ2MSwgOS4wNzIxMDYzNjEzODkxNl0sIFsxNjYzOTIzODk0LjYzMTg4NSwgNzQ5NywgOS4yMjQzNjQyODA3MDA2ODRdLCBbMTY2MzkyMzg5NC43NDM1MiwgNzUwNiwgOS4wMzAwNzIyMTIyMTkyMzhdLCBbMTY2MzkyMzg5NC45NjUyODg5LCA3NTI0LCA5LjE0ODY1MDE2OTM3MjU1OV0sIFsxNjYzOTIzODk1LjA4MTA1MywgNzUzMywgOS4yNDAwNTUwODQyMjg1MTZdLCBbMTY2MzkyMzg5NS40MTU1OTQ2LCA3NTYwLCA5LjAzOTAwNzE4Njg4OTY0OF0sIFsxNjYzOTIzODk1LjUyODgwNzQsIDc1NjksIDkuMDE0NTQ4MzAxNjk2Nzc3XSwgWzE2NjM5MjM4OTUuODYxOTQ4MywgNzU5NiwgOS4wNzc3MDgyNDQzMjM3M10sIFsxNjYzOTIzODk2LjA5MTQ4NCwgNzYxNCwgOS4wODczMjc5NTcxNTMzMl0sIFsxNjYzOTIzODk2LjcxMTU2MzMsIDc2NTksIDkuMTI1MTYxMTcwOTU5NDczXSwgWzE2NjM5MjM4OTYuODI5MjM0LCA3NjY4LCA4Ljk1MDk0MTA4NTgxNTQzXSwgWzE2NjM5MjM4OTcuMTQxMDk1NiwgNzY5NSwgOC44OTczODI3MzYyMDYwNTVdLCBbMTY2MzkyMzg5Ny40NzI4MzQsIDc3MjIsIDguOTc4MjYyOTAxMzA2MTUyXSwgWzE2NjM5MjM4OTcuODAzNjU2MywgNzc0OSwgOC44OTc4NTg2MTk2ODk5NDFdLCBbMTY2MzkyMzg5OC4wMTU3OTQ1LCA3NzY3LCA4Ljg3NTg4OTc3ODEzNzIwN10sIFsxNjYzOTIzODk4LjM2MjA3OSwgNzc5NCwgOC44NzgzMTMwNjQ1NzUxOTVdLCBbMTY2MzkyMzg5OC40NzE2MSwgNzgwMywgOC44MjI4OTUwNTAwNDg4MjhdLCBbMTY2MzkyMzg5OC44NzU4NDksIDc4MzksIDguNzg4OTc1NzE1NjM3MjA3XSwgWzE2NjM5MjM4OTguOTc5OTM1NiwgNzg0OCwgOC44NDc2NjI5MjU3MjAyMTVdLCBbMTY2MzkyMzkwMC4zNTQ2NTUsIDc5NjUsIDguNTQzMDczNjU0MTc0ODA1XSwgWzE2NjM5MjM5MDAuNTY0OTg2MiwgNzk4MywgOC43MzY1ODQ2NjMzOTExMTNdLCBbMTY2MzkyMzkwMC45NTg5NTMsIDgwMTksIDguNTkyMDUxNTA2MDQyNDhdLCBbMTY2MzkyMzkwMS4yMDk3NTk3LCA4MDM3LCA4LjUwODg5Mzk2NjY3NDgwNV0sIFsxNjYzOTIzOTAxLjU1OTYyMSwgODA2NCwgOC41NDk4NDQ3NDE4MjEyODldLCBbMTY2MzkyMzkwMS43NzM5MTcyLCA4MDgyLCA4LjU0MDE0ODczNTA0NjM4N10sIFsxNjYzOTIzOTAxLjg3NTc1NTgsIDgwOTEsIDguNDcxNDY3MDE4MTI3NDQxXSwgWzE2NjM5MjM5MDIuMTc4MjczNCwgODExOCwgOC4zNzE4MzY2NjIyOTI0OF0sIFsxNjYzOTIzOTAyLjI4NjcwOCwgODEyNywgOC40MjI5MzczOTMxODg0NzddLCBbMTY2MzkyMzkwMi43OTYzOTUsIDgxNzIsIDguNDM5NTUxMzUzNDU0NTldLCBbMTY2MzkyMzkwMi44OTY4MjcsIDgxODEsIDguMzUxMTY2NzI1MTU4NjkxXSwgWzE2NjM5MjM5MDMuMDk1ODg5MywgODE5OSwgOC4zNTgzNjY5NjYyNDc1NTldLCBbMTY2MzkyMzkwMy4yMDE3MDAyLCA4MjA4LCA4LjMyMjI4NTY1MjE2MDY0NV0sIFsxNjYzOTIzOTAzLjcxMzk2NzYsIDgyMzUsIDguMjk4MTY3MjI4Njk4NzNdLCBbMTY2MzkyMzkwNC4xMjQ3OTU0LCA4MjcxLCA4LjE2ODY3MzUxNTMxOTgyNF0sIFsxNjYzOTIzOTA0LjIzMDg3LCA4MjgwLCA4LjE4NDIyNTA4MjM5NzQ2MV0sIFsxNjYzOTIzOTA0LjQ1MDc4NzMsIDgyOTgsIDguMjE4NjQyMjM0ODAyMjQ2XSwgWzE2NjM5MjM5MDUuMTQwNTg5NywgODM2MSwgOC4xMjM5NDQyODI1MzE3MzhdLCBbMTY2MzkyMzkwNS40MDI1OTkzLCA4Mzc5LCA4LjEzMzk5MzE0ODgwMzcxMV0sIFsxNjYzOTIzOTA1LjUxNjA3NDcsIDgzODgsIDcuOTk2MTMxODk2OTcyNjU2XSwgWzE2NjM5MjM5MDUuNjIwNTA4NCwgODM5NywgOC4wMjI5MjA2MDg1MjA1MDhdLCBbMTY2MzkyMzkwNi4zNTkyOTIzLCA4NDYwLCA4LjAxOTAzMzQzMjAwNjgzNl0sIFsxNjYzOTIzOTA2LjY3NDM1NCwgODQ4NywgNy44OTQ2MjQyMzMyNDU4NV0sIFsxNjYzOTIzOTA3LjAwNTk2MDcsIDg1MTQsIDcuOTg1OTgwNTEwNzExNjddLCBbMTY2MzkyMzkwNy40MTUyMzE3LCA4NTUwLCA3Ljg5NTExNjMyOTE5MzExNV0sIFsxNjYzOTIzOTA3LjczMTI5ODQsIDg1NzcsIDcuODU5NDgxODExNTIzNDM3NV0sIFsxNjYzOTIzOTA4LjAyNzQ4NjMsIDg2MDQsIDcuODQ3MTMwMjk4NjE0NTAyXSwgWzE2NjM5MjM5MDguNTUzMTU1NywgODY0OSwgNy43MDI2Mjc2NTg4NDM5OTRdLCBbMTY2MzkyMzkwOC44NzcwNzgsIDg2NzYsIDcuNzY4Mjg5MDg5MjAyODgxXSwgWzE2NjM5MjM5MDkuMTEwNzE3MywgODY5NCwgNy43MjMxMzMwODcxNTgyMDNdLCBbMTY2MzkyMzkwOS4zMjQ3NTY2LCA4NzEyLCA3LjcxOTM3ODk0ODIxMTY3XSwgWzE2NjM5MjM5MDkuNDI3ODEwNywgODcyMSwgNy43ODA2MzcyNjQyNTE3MDldLCBbMTY2MzkyMzkxMC42NTQ4MzU3LCA4ODExLCA3LjU3NDA0NDIyNzYwMDA5OF0sIFsxNjYzOTIzOTEwLjc1ODU3MzMsIDg4MjAsIDcuNTY2NjYxMzU3ODc5NjM5XSwgWzE2NjM5MjM5MTEuMDcyNTA5MywgODg0NywgNy42NTM3NDc1NTg1OTM3NV0sIFsxNjYzOTIzOTExLjQ5ODcwMTMsIDg4ODMsIDcuNDkzNzU5NjMyMTEwNTk2XSwgWzE2NjM5MjM5MTEuOTE2NjE3NCwgODkxOSwgNy40NjM0NzQ3NTA1MTg3OTldLCBbMTY2MzkyMzkxMi4xMTIwNTgsIDg5MzcsIDcuNTE4NzgzMDkyNDk4Nzc5XSwgWzE2NjM5MjM5MTIuMzA2MDE2NywgODk1NSwgNy40NTcxMTU2NTAxNzcwMDJdLCBbMTY2MzkyMzkxMi40OTQ2OTksIDg5NzMsIDcuNDc4MzMyNTE5NTMxMjVdLCBbMTY2MzkyMzkxMi44NzAwMDk3LCA4OTkxLCA3LjM3OTk5MDEwMDg2MDU5Nl0sIFsxNjYzOTIzOTEyLjk3NDQ2NCwgOTAwMCwgNy40MDQ4Nzk1NzAwMDczMjRdLCBbMTY2MzkyMzkxMy4yNTg3MDgyLCA5MDI3LCA3LjM0OTQxODY0MDEzNjcxOV0sIFsxNjYzOTIzOTEzLjM1MDI4NywgOTAzNiwgNy40MDI1NzQwNjIzNDc0MTJdLCBbMTY2MzkyMzkxMy40NDcyMjkxLCA5MDQ1LCA3LjQwNDY1NTQ1NjU0Mjk2OV0sIFsxNjYzOTIzOTEzLjYzNTIzODQsIDkwNjMsIDcuMzgwODgyMjYzMTgzNTk0XSwgWzE2NjM5MjM5MTQuMTQzMTg2LCA5MTA4LCA3LjI4ODI4NDc3ODU5NDk3MV0sIFsxNjYzOTIzOTE0LjMzNDg2ODIsIDkxMjYsIDcuMjM2MzI1MjYzOTc3MDUxXSwgWzE2NjM5MjM5MTQuNTI3NjkxNCwgOTE0NCwgNy4yMTkwNDg1MDAwNjEwMzVdLCBbMTY2MzkyMzkxNS4yMDc5MzEsIDkyMDcsIDcuMTUwNDExMTI4OTk3ODAzXSwgWzE2NjM5MjM5MTUuNTk3MTAzNCwgOTI0MywgNy4yMTUwOTM2MTI2NzA4OThdLCBbMTY2MzkyMzkxNS43ODE5Nzg0LCA5MjYxLCA3LjIwMjA1Njg4NDc2NTYyNV0sIFsxNjYzOTIzOTE2LjU4NjIyNiwgOTMyNCwgNy4wMjc3NTcxNjc4MTYxNjJdLCBbMTY2MzkyMzkxNi42ODg0NzE4LCA5MzMzLCA3LjE3OTU1MjA3ODI0NzA3XSwgWzE2NjM5MjM5MTYuNzg1MzUzNywgOTM0MiwgNy4xMjIzMjAxNzUxNzA4OThdLCBbMTY2MzkyMzkxNi44ODUwNjEzLCA5MzUxLCA3LjAzNTUzMTA0NDAwNjM0OF0sIFsxNjYzOTIzOTE2Ljk4NTAyOCwgOTM2MCwgNy4wOTY3NjUwNDEzNTEzMThdLCBbMTY2MzkyMzkxNy40MDM1MTA2LCA5Mzk2LCA3LjA0MjMzMzYwMjkwNTI3M10sIFsxNjYzOTIzOTE3LjcwNTA3NywgOTQyMywgNi45ODQzNDExNDQ1NjE3NjhdLCBbMTY2MzkyMzkxOC43MTQ4MjgzLCA5NTEzLCA2Ljk0NTc5ODg3MzkwMTM2N10sIFsxNjYzOTIzOTE4Ljk0MDIwNjMsIDk1MzEsIDYuNzMxNDUwMDgwODcxNTgyXSwgWzE2NjM5MjM5MTkuMTUxODgzOCwgOTU0OSwgNi43NzIwNjUxNjI2NTg2OTFdLCBbMTY2MzkyMzkxOS4zODc3NTg1LCA5NTY3LCA2LjczODY4ODQ2ODkzMzEwNTVdLCBbMTY2MzkyMzkxOS42OTc3MTE3LCA5NTk0LCA2LjgxMzE1OTQ2NTc4OTc5NV0sIFsxNjYzOTIzOTE5LjkzNjYxNjIsIDk2MTIsIDYuNTkxMDk1NDQ3NTQwMjgzXSwgWzE2NjM5MjM5MjAuMTY5NTMzNSwgOTYzMCwgNi43MjE1ODkwODg0Mzk5NDFdLCBbMTY2MzkyMzkyMC4yODE1OTEsIDk2MzksIDYuNzE5NjYyNjY2MzIwODAxXSwgWzE2NjM5MjM5MjAuNDAwMjkxLCA5NjQ4LCA2LjYyNDM0OTExNzI3OTA1M10sIFsxNjYzOTIzOTIwLjUxODI1MzMsIDk2NTcsIDYuNjMxNTk0MTgxMDYwNzkxXSwgWzE2NjM5MjM5MjAuNjIwNDk5NCwgOTY2NiwgNi42MzI2MjEyODgyOTk1NjA1XSwgWzE2NjM5MjM5MjAuNzIyNTI3NSwgOTY3NSwgNi42ODE0ODA0MDc3MTQ4NDRdLCBbMTY2MzkyMzkyMS4wMjgwODc0LCA5NzAyLCA2LjY0NDE3NDU3NTgwNTY2NF0sIFsxNjYzOTIzOTIxLjM1OTQ4NDQsIDk3MjksIDYuNjEwMTE2NDgxNzgxMDA2XSwgWzE2NjM5MjM5MjIuMTM0MDYxOCwgOTc3NCwgNi41MDI2NTY5MzY2NDU1MDhdLCBbMTY2MzkyMzkyMi4yNjkyMDk2LCA5NzgzLCA2LjU5NTAyNjAxNjIzNTM1Ml0sIFsxNjYzOTIzOTIyLjM5NTQwMSwgOTc5MiwgNi42Nzk0NTA1MTE5MzIzNzNdLCBbMTY2MzkyMzkyMi44ODA3OTcsIDk4MjgsIDYuNTE4OTIyMzI4OTQ4OTc1XSwgWzE2NjM5MjM5MjMuNjExOTAxMywgOTg5MSwgNi40NTY2NjgzNzY5MjI2MDddLCBbMTY2MzkyMzkyMy44MDk4MTMsIDk5MDksIDYuMzQwMzA2NzU4ODgwNjE1XSwgWzE2NjM5MjM5MjQuMDExMTg2MSwgOTkyNywgNi4zNDYyMTA5NTY1NzM0ODZdLCBbMTY2MzkyMzkyNC4xMDkwNDgxLCA5OTM2LCA2LjM1NzI0OTI1OTk0ODczMDVdLCBbMTY2MzkyMzkyNC4yMTE3Mzc0LCA5OTQ1LCA2LjQxNTgzMjA0MjY5NDA5Ml0sIFsxNjYzOTIzOTI0LjUwNDg0ODcsIDk5NzIsIDYuMzk0NTE1MDM3NTM2NjIxXSwgWzE2NjM5MjM5MjQuNzEwMDAxNSwgOTk5MCwgNi4zNzI1NzgxNDQwNzM0ODZdLCBbMTY2MzkyMzkyNC45MDU2NDMsIDEwMDA4LCA2LjM0Nzg2Nzk2NTY5ODI0Ml0sIFsxNjYzOTIzOTI1LjAwMTEwMTcsIDEwMDE3LCA2LjQwOTA2ODEwNzYwNDk4MDVdLCBbMTY2MzkyMzkyNS4yMDc1NzI3LCAxMDAzNSwgNi4zMDQwNjIzNjY0ODU1OTZdLCBbMTY2MzkyMzkyNS44MDk0ODQyLCAxMDA4MCwgNi4yODI0MDgyMzc0NTcyNzVdLCBbMTY2MzkyMzkyNi4wNTYxMzk3LCAxMDA5OCwgNi4zMjMwOTI0NjA2MzIzMjRdLCBbMTY2MzkyMzkyNi4xNzY2MDc4LCAxMDEwNywgNi4zMDc5MDg1MzUwMDM2NjJdLCBbMTY2MzkyMzkyNi40OTYxODM2LCAxMDEzNCwgNi4zMDkxNzczOTg2ODE2NDFdLCBbMTY2MzkyMzkyNi42MTMzNDcsIDEwMTQzLCA2LjMxNzUwMjk3NTQ2Mzg2N10sIFsxNjYzOTIzOTI2Ljg0MTMzOSwgMTAxNjEsIDYuMTMzMjk2NDg5NzE1NTc2XSwgWzE2NjM5MjM5MjYuOTQwNzkxLCAxMDE3MCwgNi4xNjQ3NzkxODYyNDg3NzldLCBbMTY2MzkyMzkyNy4yMzk2ODI3LCAxMDE5NywgNi4yODA5ODk2NDY5MTE2MjFdLCBbMTY2MzkyMzkyNy40NDEzMzg1LCAxMDIxNSwgNi4zODcyMTU2MTQzMTg4NDhdLCBbMTY2MzkyMzkyNy42Mzc1ODI4LCAxMDIzMywgNi4yMjkzNDgxODI2NzgyMjNdLCBbMTY2MzkyMzkyNy45NDE4NTY2LCAxMDI2MCwgNi4yMjAyNzYzNTU3NDM0MDhdLCBbMTY2MzkyMzkyOC42MDk5NDEsIDEwMzIzLCA2LjE3MTYxMDM1NTM3NzE5N10sIFsxNjYzOTIzOTI5LjExNDg0MzQsIDEwMzU5LCA2LjEwNzk3NzM5MDI4OTMwN10sIFsxNjYzOTIzOTI5LjIxODIyMzYsIDEwMzY4LCA2LjA4MDczODA2NzYyNjk1M10sIFsxNjYzOTIzOTI5LjMyMDA2NTcsIDEwMzc3LCA2LjA0NDg2MTMxNjY4MDkwOF0sIFsxNjYzOTIzOTMwLjE2NjE4MTMsIDEwNDQ5LCA2LjE3NjE5NzA1MjAwMTk1M10sIFsxNjYzOTIzOTMwLjQwMjM5NTIsIDEwNDY3LCA2LjE0Mzk3MTkyMDAxMzQyOF0sIFsxNjYzOTIzOTMwLjYyNDg1OTgsIDEwNDg1LCA2LjA1MjkzMDM1NTA3MjAyMTVdLCBbMTY2MzkyMzkzMC45NjIzNTMyLCAxMDUxMiwgNi4wMzgwMTQ0MTE5MjYyNjk1XSwgWzE2NjM5MjM5MzEuNzU3MDUzMSwgMTA1NjYsIDUuOTcwODU5NTI3NTg3ODkxXSwgWzE2NjM5MjM5MzEuODYxNDA1LCAxMDU3NSwgNS45NzIyNDE0MDE2NzIzNjNdLCBbMTY2MzkyMzkzMi4wNjYwODkyLCAxMDU5MywgNS45MjY1MTU1NzkyMjM2MzNdLCBbMTY2MzkyMzkzMi4xNzAwNjEzLCAxMDYwMiwgNS45OTkxMzIxNTYzNzIwN10sIFsxNjYzOTIzOTMyLjI2OTE2NTMsIDEwNjExLCA1LjkwNDQ4OTA0MDM3NDc1Nl0sIFsxNjYzOTIzOTMyLjY3NzM3MjUsIDEwNjQ3LCA1LjkwNDQ3MzMwNDc0ODUzNV0sIFsxNjYzOTIzOTMyLjg4MDkyNjEsIDEwNjY1LCA1LjgyNjgxMDgzNjc5MTk5Ml0sIFsxNjYzOTIzOTMzLjA5MjQ3OTIsIDEwNjgzLCA1Ljg4NjUyNTE1NDExMzc2OTVdLCBbMTY2MzkyMzkzMy4zODQ5Mjg3LCAxMDcxMCwgNS44ODE0OTM1Njg0MjA0MV0sIFsxNjYzOTIzOTMzLjQ4MTkzNzQsIDEwNzE5LCA1Ljg3NjU2MTY0MTY5MzExNV0sIFsxNjYzOTIzOTMzLjc3NzczMjgsIDEwNzQ2LCA1Ljc5MjQ5NzYzNDg4NzY5NV0sIFsxNjYzOTIzOTMzLjg3Njk4NSwgMTA3NTUsIDUuODkzNjY2NzQ0MjMyMTc4XSwgWzE2NjM5MjM5MzQuMTg3ODY2LCAxMDc4MiwgNS43NTA5MjEyNDkzODk2NDhdLCBbMTY2MzkyMzkzNC45ODAzNDM4LCAxMDg1NCwgNS44NDAxOTY2MDk0OTcwN10sIFsxNjYzOTIzOTM1LjEwMjY1NDUsIDEwODYzLCA1LjgwNzMwNTgxMjgzNTY5M10sIFsxNjYzOTIzOTM1LjIzMDg5MzEsIDEwODcyLCA1Ljc2MTQyMTIwMzYxMzI4MV0sIFsxNjYzOTIzOTM1Ljk0MTM3NjQsIDEwOTM1LCA1Ljc0MDcyNjk0Nzc4NDQyNF0sIFsxNjYzOTIzOTM2LjM1ODI1MDEsIDEwOTcxLCA1LjcyMjY4NDM4MzM5MjMzNF0sIFsxNjYzOTIzOTM2Ljg2MDg3OCwgMTEwMTYsIDUuNTgyODIyMzIyODQ1NDU5XSwgWzE2NjM5MjM5MzcuMDY3NjMxMiwgMTEwMzQsIDUuNjIzNDAxMTY1MDA4NTQ1XSwgWzE2NjM5MjM5MzcuNDc5MDU2MSwgMTEwNzAsIDUuNjQ0Mzk2NzgxOTIxMzg3XSwgWzE2NjM5MjM5MzcuNzcxMzM5NCwgMTEwOTcsIDUuNjE4NjE4OTY1MTQ4OTI2XSwgWzE2NjM5MjM5MzguMzczMzgzOCwgMTExNTEsIDUuNTc1MjA1MzI2MDgwMzIyXSwgWzE2NjM5MjM5MzguOTc2MDk1NywgMTEyMDUsIDUuNjAyNDgyMzE4ODc4MTc0XSwgWzE2NjM5MjM5MzkuMTgxMzAwNCwgMTEyMjMsIDUuNTAyMjk4MzU1MTAyNTM5XSwgWzE2NjM5MjM5MzkuNDg2Mzg0OSwgMTEyNTAsIDUuNTQ1MjMyMjk1OTg5OTldLCBbMTY2MzkyMzkzOS41ODE3NzQyLCAxMTI1OSwgNS41NjY4MTA2MDc5MTAxNTZdLCBbMTY2MzkyMzkzOS42NzQwOTQ0LCAxMTI2OCwgNS41NjI0NjA4OTkzNTMwMjddLCBbMTY2MzkyMzkzOS43NzY0OTIsIDExMjc3LCA1LjQzNjYwMjExNTYzMTEwMzVdLCBbMTY2MzkyMzkzOS45ODEwMjc2LCAxMTI5NSwgNS42MzM2NjA3OTMzMDQ0NDNdLCBbMTY2MzkyMzk0MC4xODEwNjIyLCAxMTMxMywgNS40MjYzMDQzNDAzNjI1NDldLCBbMTY2MzkyMzk0MC4yNzQ5NjIyLCAxMTMyMiwgNS40Mjc4NDY5MDg1NjkzMzZdLCBbMTY2MzkyMzk0MC43NjI4MDgsIDExMzQ5LCA1LjQ1MjA2ODMyODg1NzQyMl0sIFsxNjYzOTIzOTQwLjg1OTU4MjcsIDExMzU4LCA1LjQ3NzQyMjcxNDIzMzM5OF0sIFsxNjYzOTIzOTQxLjQ3NzUzMSwgMTE0MTIsIDUuNDE0MDQwMDg4NjUzNTY0NV0sIFsxNjYzOTIzOTQxLjg3NzA5LCAxMTQ0OCwgNS40OTgxMDM2MTg2MjE4MjZdLCBbMTY2MzkyMzk0Mi40NTEzNTcxLCAxMTQ5MywgNS4zNjc4MzA3NTMzMjY0MTZdLCBbMTY2MzkyMzk0Mi41NTMxOTIxLCAxMTUwMiwgNS4zMDc5MTcxMTgwNzI1MV0sIFsxNjYzOTIzOTQyLjY1Nzk3ODUsIDExNTExLCA1LjMwMDE2NzU2MDU3NzM5M10sIFsxNjYzOTIzOTQzLjEzNDY0ODgsIDExNTQ3LCA1LjMzOTI5NjgxNzc3OTU0MV0sIFsxNjYzOTIzOTQzLjQ4NDk0NiwgMTE1NzQsIDUuMzE3NTgwMjIzMDgzNDk2XSwgWzE2NjM5MjM5NDQuMDIxODIzLCAxMTYxOSwgNS4yODY5ODQ0NDM2NjQ1NTFdLCBbMTY2MzkyMzk0NC4zNzMzMTg3LCAxMTY0NiwgNS4zMTcwODk1NTc2NDc3MDVdLCBbMTY2MzkyMzk0NC45NTA2MDM3LCAxMTY5MSwgNS4yNDU1NTk2OTIzODI4MTI1XSwgWzE2NjM5MjM5NDUuMDQyNzA1MywgMTE3MDAsIDUuMzM1ODAzNTA4NzU4NTQ1XSwgWzE2NjM5MjM5NDUuMzQ2MDk3MiwgMTE3MjcsIDUuMTgxNDgyMzE1MDYzNDc3XSwgWzE2NjM5MjM5NDUuNzg5MDQ3NywgMTE3NjMsIDUuMjI0NjEyNzEyODYwMTA3XSwgWzE2NjM5MjM5NDYuMjE0ODYzNSwgMTE3OTksIDUuMTk3MzAwNDM0MTEyNTQ5XSwgWzE2NjM5MjM5NDYuODI5NDcwNCwgMTE4NDQsIDUuMTY4MTM5NDU3NzAyNjM3XSwgWzE2NjM5MjM5NDcuNDY5ODA2NywgMTE4ODksIDUuMTU2NDg4NDE4NTc5MTAyXSwgWzE2NjM5MjM5NDcuNjg3OTAzLCAxMTkwNywgNS4xMTE4NzMxNDk4NzE4MjZdLCBbMTY2MzkyMzk0OC4wMjU2NDc5LCAxMTkzNCwgNS4xNzYyNzAwMDgwODcxNThdLCBbMTY2MzkyMzk0OC4xMjY4NTQ0LCAxMTk0MywgNS4wNjcwNTM3OTQ4NjA4NF0sIFsxNjYzOTIzOTQ4LjM3MDAzNCwgMTE5NjEsIDUuMDM1NzExNzY1Mjg5MzA3XSwgWzE2NjM5MjM5NDkuMjIyODQ1LCAxMjAyNCwgNS4xNjYyNTkyODg3ODc4NDJdLCBbMTY2MzkyMzk1MC40Mjg4NTUyLCAxMjExNCwgNS4wOTY4ODk5NzI2ODY3NjhdLCBbMTY2MzkyMzk1MC43MjA4NDA3LCAxMjE0MSwgNS4wMjk3MzE3NTA0ODgyODFdLCBbMTY2MzkyMzk1MS4xNDQwNDEsIDEyMTc3LCA0LjkyNTkwNjY1ODE3MjYwN10sIFsxNjYzOTIzOTUxLjM2OTUzMjMsIDEyMTk1LCA0Ljk3NTAyOTQ2ODUzNjM3N10sIFsxNjYzOTIzOTUxLjk0Mjk5NjcsIDEyMjQ5LCA0Ljk3MDk5NTQyNjE3Nzk3ODVdLCBbMTY2MzkyMzk1Mi4zMzkzMjIsIDEyMjg1LCA0Ljk5MjIzODUyMTU3NTkyOF0sIFsxNjYzOTIzOTUyLjQzNjc2MDQsIDEyMjk0LCA0Ljk0MDY3MTQ0MzkzOTIwOV0sIFsxNjYzOTIzOTUyLjUzMzY5NzEsIDEyMzAzLCA1LjEyMDY2MTczNTUzNDY2OF0sIFsxNjYzOTIzOTUyLjYzMjA5ODcsIDEyMzEyLCA0Ljk4NTA5OTMxNTY0MzMxMDVdLCBbMTY2MzkyMzk1Mi43MzI4NzA2LCAxMjMyMSwgNC45NDIzNTE4MTgwODQ3MTddLCBbMTY2MzkyMzk1My40MjMyMjgzLCAxMjM4NCwgNC45MjA0NzY5MTM0NTIxNDhdLCBbMTY2MzkyMzk1My41MjEzNTk3LCAxMjM5MywgNC44MjYyMDM4MjMwODk2XSwgWzE2NjM5MjM5NTMuOTczNjMzMywgMTI0MjksIDQuOTA0MjgyMDkzMDQ4MDk2XSwgWzE2NjM5MjM5NTQuNTEwOTU1MywgMTI0NzQsIDQuODg1NTQ5MDY4NDUwOTI4XSwgWzE2NjM5MjM5NTQuNjM0OTc4LCAxMjQ4MywgNC44NTQ3MzU4NTEyODc4NDJdLCBbMTY2MzkyMzk1NS4wMzMwMzEsIDEyNTE5LCA0LjgyOTgyMDYzMjkzNDU3XSwgWzE2NjM5MjM5NTUuMzU2Mzc2MiwgMTI1NDYsIDQuOTYyMzY3NTM0NjM3NDUxXSwgWzE2NjM5MjM5NTUuODEzNDg0LCAxMjU4MiwgNC44MzUwMjA1NDIxNDQ3NzVdLCBbMTY2MzkyMzk1OC4wODc4NzQsIDEyNzYyLCA0LjcwNDE4NTk2MjY3NzAwMl0sIFsxNjYzOTIzOTU4LjU3NDUwMjIsIDEyNzk4LCA0LjgwOTg2ODMzNTcyMzg3N10sIFsxNjYzOTIzOTYwLjA0ODkyMjMsIDEyODg4LCA0LjYwODgzNzEyNzY4NTU0N10sIFsxNjYzOTIzOTYwLjE1MzEyMDMsIDEyODk3LCA0LjY4NzA0MDMyODk3OTQ5Ml0sIFsxNjYzOTIzOTYwLjU5MTkyMDksIDEyOTMzLCA0LjY3OTgzMDA3NDMxMDMwM10sIFsxNjYzOTIzOTYwLjc5MjE3MjIsIDEyOTUxLCA0LjYzNjExOTg0MjUyOTI5N10sIFsxNjYzOTIzOTYwLjkxODYzNzgsIDEyOTYwLCA0LjYyMjIyODE0NTU5OTM2NV0sIFsxNjYzOTIzOTYxLjA0NzkwNjQsIDEyOTY5LCA0Ljc0MjE2NjUxOTE2NTAzOV0sIFsxNjYzOTIzOTYxLjE2NDcxNiwgMTI5NzgsIDQuNTczODE5MTYwNDYxNDI2XSwgWzE2NjM5MjM5NjEuNTI5NDEwNCwgMTMwMDUsIDQuNjAyMDI3NDE2MjI5MjQ4XSwgWzE2NjM5MjM5NjIuMDE5OTc2NCwgMTMwNTAsIDQuNjc1OTUxOTU3NzAyNjM3XSwgWzE2NjM5MjM5NjIuMjM0MTY3LCAxMzA2OCwgNC42NDg2NjczMzU1MTAyNTRdLCBbMTY2MzkyMzk2Mi4zMjkzNjI5LCAxMzA3NywgNC42MjAxMTQzMjY0NzcwNTFdLCBbMTY2MzkyMzk2Mi42Mzk2Njk3LCAxMzEwNCwgNC41NzY5MTE5MjYyNjk1MzFdLCBbMTY2MzkyMzk2Mi44MzMxNTIzLCAxMzEyMiwgNC43MTcyMTAyOTI4MTYxNjJdLCBbMTY2MzkyMzk2Mi45Mjk0MjA3LCAxMzEzMSwgNC41MzUzMDY0NTM3MDQ4MzRdLCBbMTY2MzkyMzk2My4xMzgyNDQ5LCAxMzE0OSwgNC42NDY0NTM4NTc0MjE4NzVdLCBbMTY2MzkyMzk2My4yMzc2Mzg3LCAxMzE1OCwgNC41MjAyOTU2MTk5NjQ2XSwgWzE2NjM5MjM5NjQuMTYwMTg0LCAxMzIzOSwgNC41MzAxNTg1MTk3NDQ4NzNdLCBbMTY2MzkyMzk2NC40ODczNjEsIDEzMjY2LCA0LjY0NjAwMTMzODk1ODc0XSwgWzE2NjM5MjM5NjQuNTkxNTI3MiwgMTMyNzUsIDQuNTI4NjI5MzAyOTc4NTE2XSwgWzE2NjM5MjM5NjQuNzkxNTg2NiwgMTMyOTMsIDQuNjE4MTE1NDI1MTA5ODYzXSwgWzE2NjM5MjM5NjUuNTY0MzQ2NiwgMTMzNTYsIDQuNDgzMzc1NTQ5MzE2NDA2XSwgWzE2NjM5MjM5NjUuOTQ3OTcwOSwgMTMzOTIsIDQuNDc1NjY3OTUzNDkxMjExXSwgWzE2NjM5MjM5NjYuMjYyMDQ4LCAxMzQxOSwgNC40NDEyODk5MDE3MzMzOThdLCBbMTY2MzkyMzk2Ni41OTY4OTI0LCAxMzQ0NiwgNC40NzQ5MTQ1NTA3ODEyNV0sIFsxNjYzOTIzOTY2LjcwNTU5MDcsIDEzNDU1LCA0LjQ5NDgxNjc4MDA5MDMzMl0sIFsxNjYzOTIzOTY3LjE3NDMzNDMsIDEzNDkxLCA0LjQzNzgwNjEyOTQ1NTU2Nl0sIFsxNjYzOTIzOTY3LjMwMTczMSwgMTM1MDAsIDQuNTgxNTkxNjA2MTQwMTM3XSwgWzE2NjM5MjM5NjcuNjcwMDcxOCwgMTM1MjcsIDQuNDYzNjU0OTk0OTY0Nl0sIFsxNjYzOTIzOTY4LjM5NDY3MiwgMTM1OTAsIDQuNDg0NTMxODc5NDI1MDQ5XSwgWzE2NjM5MjM5NjguNTAwOTc1LCAxMzU5OSwgNC4zNjA1NjYxMzkyMjExOTFdLCBbMTY2MzkyMzk2OC41OTM5NjMxLCAxMzYwOCwgNC40NTI4Nzk0Mjg4NjM1MjVdLCBbMTY2MzkyMzk2OC43OTAwMDcsIDEzNjI2LCA0LjM1ODM4MTc0ODE5OTQ2M10sIFsxNjYzOTIzOTY4Ljk4ODczOSwgMTM2NDQsIDQuMzE3MzA0MTM0MzY4ODk2NV0sIFsxNjYzOTIzOTY5LjA5OTI3NTgsIDEzNjUzLCA0LjQxMTM1OTMxMDE1MDE0NjVdLCBbMTY2MzkyMzk2OS45OTIyNDczLCAxMzcxNiwgNC4zMTYwOTU4MjkwMTAwMV0sIFsxNjYzOTIzOTcwLjQ4MDU2MiwgMTM3NjEsIDQuMzAxMDM4NzQyMDY1NDNdLCBbMTY2MzkyMzk3MS4wNjQwNzkzLCAxMzgxNSwgNC4yNTQ5ODcyMzk4Mzc2NDY1XSwgWzE2NjM5MjM5NzEuMzU5ODQ3MywgMTM4NDIsIDQuMjI2OTc1NDQwOTc5MDA0XSwgWzE2NjM5MjM5NzEuNDYyMjc5LCAxMzg1MSwgNC4zMDAwODU1NDQ1ODYxODJdLCBbMTY2MzkyMzk3MS44MTk4NzgsIDEzODc4LCA0LjMyOTI3MzIyMzg3Njk1M10sIFsxNjYzOTIzOTcyLjQ4NzIyODYsIDEzOTQxLCA0LjMxMjg3NDc5NDAwNjM0OF0sIFsxNjYzOTIzOTcyLjc2NzU3ODgsIDEzOTY4LCA0LjMzOTU4MjQ0MzIzNzMwNV0sIFsxNjYzOTIzOTcyLjg1OTU5MjcsIDEzOTc3LCA0LjI4NTc3NTE4NDYzMTM0OF0sIFsxNjYzOTIzOTcyLjk1NTQ5MzcsIDEzOTg2LCA0LjI1NzQ4MjUyODY4NjUyM10sIFsxNjYzOTIzOTczLjkwMDA2NzYsIDE0MDY3LCA0LjI1OTk5NDAyOTk5ODc3OV0sIFsxNjYzOTIzOTc0LjIwNzI1OSwgMTQwOTQsIDQuMjQ4MzQyNTE0MDM4MDg2XSwgWzE2NjM5MjM5NzQuMzA5NjIzNywgMTQxMDMsIDQuMjEwNzkwNjM0MTU1MjczXSwgWzE2NjM5MjM5NzQuNTAwMDY1OCwgMTQxMjEsIDQuMTczMTYyOTM3MTY0MzA3XSwgWzE2NjM5MjM5NzQuNzkzMjc1OCwgMTQxNDgsIDQuMjc3NzY2NzA0NTU5MzI2XSwgWzE2NjM5MjM5NzQuOTA1MDIwNywgMTQxNTcsIDQuMTY4ODUxMzc1NTc5ODM0XSwgWzE2NjM5MjM5NzUuMDAzMjI0NiwgMTQxNjYsIDQuMjQzMjk5NDg0MjUyOTNdLCBbMTY2MzkyMzk3NS4zMTY4NTUyLCAxNDE5MywgNC4xODc0MzUxNTAxNDY0ODRdLCBbMTY2MzkyMzk3NS43MzY1NjgsIDE0MjI5LCA0LjEzOTQzMDUyMjkxODcwMV0sIFsxNjYzOTIzOTc2LjIyMjc4MzMsIDE0Mjc0LCA0LjEyNzcxODkyNTQ3NjA3NF0sIFsxNjYzOTIzOTc3LjE4MjE1NTQsIDE0MzY0LCA0LjExNzM5NDQ0NzMyNjY2XSwgWzE2NjM5MjM5NzcuMjc4MTc2LCAxNDM3MywgNC4wODcxNzAxMjQwNTM5NTVdLCBbMTY2MzkyMzk3Ny4zNjg5MzQyLCAxNDM4MiwgNC4xMjA2NzQxMzMzMDA3ODFdLCBbMTY2MzkyMzk3Ny43NzQ0MzUsIDE0NDE4LCAzLjk1Mzk4NjY0NDc0NDg3M10sIFsxNjYzOTIzOTc3Ljg3MDUzOTIsIDE0NDI3LCA0LjA2MDM0MDQwNDUxMDQ5OF0sIFsxNjYzOTIzOTc4LjE2NTE0MiwgMTQ0MzYsIDQuMDkyNDk4MzAyNDU5NzE3XSwgWzE2NjM5MjM5NzguOTcxMDI4MywgMTQ1MDgsIDQuMDU0NTMxNTc0MjQ5MjY4XSwgWzE2NjM5MjM5NzkuMjkzMjQxMywgMTQ1MzUsIDMuOTkxMTY5NjkxMDg1ODE1NF0sIFsxNjYzOTIzOTgwLjQxNjMyMDgsIDE0NjI1LCA0LjA0NzUxMTEwMDc2OTA0M10sIFsxNjYzOTIzOTgwLjcyODY2NzcsIDE0NjUyLCAzLjkzMjM4OTczNjE3NTUzN10sIFsxNjYzOTIzOTgxLjEyOTM2NTQsIDE0Njg4LCAzLjg1NTc2MDMzNTkyMjI0MV0sIFsxNjYzOTIzOTgxLjU0OTI1MTMsIDE0NzI0LCAzLjkyMDkwNTgyODQ3NTk1Ml0sIFsxNjYzOTIzOTgxLjc3NDYzOTYsIDE0NzQyLCAzLjg2MjA2Njc0NTc1ODA1NjZdLCBbMTY2MzkyMzk4Mi4wNzQ4MjI0LCAxNDc2OSwgMy44NTI4MzE2MDIwOTY1NTc2XSwgWzE2NjM5MjM5ODIuMTc0NTI3MiwgMTQ3NzgsIDMuODk0OTQ3NzY3MjU3NjkwNF0sIFsxNjYzOTIzOTgyLjY4MjQ3OTYsIDE0ODIzLCAzLjg5MzkxNDIyMjcxNzI4NV0sIFsxNjYzOTIzOTgyLjc5NDk1MTcsIDE0ODMyLCAzLjkwNzAyMjIzNzc3NzcxXSwgWzE2NjM5MjM5ODMuMjU5MDI1OCwgMTQ4NjgsIDMuODUzMDE0MjMwNzI4MTQ5NF0sIFsxNjYzOTIzOTgzLjM2MjcxMzgsIDE0ODc3LCAzLjc5NjgzOTk1MjQ2ODg3Ml0sIFsxNjYzOTIzOTgzLjQ2NDc1OSwgMTQ4ODYsIDMuODkzMTI2NDg3NzMxOTMzNl0sIFsxNjYzOTIzOTgzLjU2NTEzNzQsIDE0ODk1LCAzLjg1NjM1MzUyMTM0NzA0Nl0sIFsxNjYzOTIzOTgzLjc1OTI2NTQsIDE0OTEzLCAzLjc5NDQxNzE0Mjg2ODA0Ml0sIFsxNjYzOTIzOTg0LjM3NjIzNjQsIDE0OTY3LCAzLjczMjA4NzM3MzczMzUyMDVdLCBbMTY2MzkyMzk4NC44MzQ2NTQ4LCAxNTAwMywgMy43MDY5MzI3ODMxMjY4MzFdLCBbMTY2MzkyMzk4NS4zMDU2NDAyLCAxNTAzOSwgMy43MDY0ODc4OTQwNTgyMjc1XSwgWzE2NjM5MjM5ODUuNzc2OTU2NiwgMTUwNzUsIDMuNzAzNTIxMjUxNjc4NDY3XSwgWzE2NjM5MjM5ODYuMTQwODUsIDE1MTAyLCAzLjcwMzMzMzM3NzgzODEzNDhdLCBbMTY2MzkyMzk4Ni4zNDIwNDI0LCAxNTEyMCwgMy43NzA0MDUwNTQwOTI0MDcyXSwgWzE2NjM5MjM5ODYuOTI4ODA3NywgMTUxNzQsIDMuNjgxMjE0MDk0MTYxOTg3M10sIFsxNjYzOTIzOTg3LjAzMTU1NjYsIDE1MTgzLCAzLjY3MTUyNTk1NTIwMDE5NTNdLCBbMTY2MzkyMzk4Ny4xMjU2NjM1LCAxNTE5MiwgMy42NzU3NzQ4MTI2OTgzNjQzXSwgWzE2NjM5MjM5ODcuMjMwNzY2OCwgMTUyMDEsIDMuNzU0NTM5NDg5NzQ2MDkzOF0sIFsxNjYzOTIzOTg3Ljk2MjY0NSwgMTUyNDYsIDMuNjI4NjY0MDE2NzIzNjMzXSwgWzE2NjM5MjM5ODguMDY3Mjg2NSwgMTUyNTUsIDMuNjYxMDg1ODQ0MDM5OTE3XSwgWzE2NjM5MjM5ODguMTY5MDA1MiwgMTUyNjQsIDMuNzE1MDM1Njc2OTU2MTc2OF0sIFsxNjYzOTIzOTg4LjY0OTY1NiwgMTUzMDAsIDMuNjQyMTUzNzM5OTI5MTk5XSwgWzE2NjM5MjM5ODkuMDAwMTg5NSwgMTUzMjcsIDMuNjU3OTYxNjA2OTc5MzddLCBbMTY2MzkyMzk4OS4yMzQ2NzQyLCAxNTM0NSwgMy41NTYxODgxMDY1MzY4NjUyXSwgWzE2NjM5MjM5ODkuNTYxNDMxNiwgMTUzNzIsIDMuNTM0NzYwNzEzNTc3MjcwNV0sIFsxNjYzOTIzOTg5LjgwNjE1NywgMTUzOTAsIDMuNTgwMDc1OTc5MjMyNzg4XSwgWzE2NjM5MjM5ODkuOTQyNzksIDE1Mzk5LCAzLjYxMTQ1NTY3ODkzOTgxOTNdLCBbMTY2MzkyMzk5MC4wNDI2NTg2LCAxNTQwOCwgMy41NjQ2MDM4MDU1NDE5OTJdLCBbMTY2MzkyMzk5MC4xNTg4MTcsIDE1NDE3LCAzLjU1MjgwMzUxNjM4NzkzOTVdLCBbMTY2MzkyMzk5MC44NDQxMzc0LCAxNTQ3MSwgMy41MTI0NTgzMjQ0MzIzNzNdLCBbMTY2MzkyMzk5MS4zMjA1NzY0LCAxNTUwNywgMy41Nzk4NzUyMzA3ODkxODQ2XSwgWzE2NjM5MjM5OTEuNDM5NDIyNiwgMTU1MTYsIDMuNDgzOTAyMjE1OTU3NjQxNl0sIFsxNjYzOTIzOTkxLjU0NDI0NDgsIDE1NTI1LCAzLjQ1MzAwMTQ5OTE3NjAyNTRdLCBbMTY2MzkyMzk5MS42NTE5NzA0LCAxNTUzNCwgMy40OTA3ODc5ODI5NDA2NzRdLCBbMTY2MzkyMzk5Mi4xNjgxOTU1LCAxNTU3OSwgMy40OTcyMDUwMTg5OTcxOTI0XSwgWzE2NjM5MjM5OTMuMDUyNjQ1MiwgMTU2NTEsIDMuMzYyMDY2OTg0MTc2NjM1N10sIFsxNjYzOTIzOTkzLjE1Nzg0OTYsIDE1NjYwLCAzLjM4NTE0ODUyNTIzODAzN10sIFsxNjYzOTIzOTkzLjYxODQ5NTUsIDE1Njk2LCAzLjI2OTgxNTQ0NDk0NjI4OV0sIFsxNjYzOTIzOTkzLjgzNDAyMzUsIDE1NzE0LCAzLjM1OTk4MzkyMTA1MTAyNTRdLCBbMTY2MzkyMzk5NC4yMDI1MjI1LCAxNTc0MSwgMy4yNjkwMTY1MDQyODc3MTk3XSwgWzE2NjM5MjM5OTQuNDMzMDY1NCwgMTU3NTksIDMuMjQyNTQ3NTEyMDU0NDQzNF0sIFsxNjYzOTIzOTk0Ljc0NjgxODUsIDE1Nzg2LCAzLjI5MDExMTU0MTc0ODA0N10sIFsxNjYzOTIzOTk0Ljg0Njg1MTgsIDE1Nzk1LCAzLjIyMzE4NDM0NzE1MjcxXSwgWzE2NjM5MjM5OTUuNjM1MDY0OCwgMTU4NjcsIDMuMTc2MTA4MTIxODcxOTQ4Ml0sIFsxNjYzOTIzOTk1LjkyMzI4NTIsIDE1ODk0LCAzLjEyNDE2MjQzNTUzMTYxNl0sIFsxNjYzOTIzOTk3LjAxNjY5MDUsIDE1OTg0LCAzLjE1MzAwNTM2MTU1NzAwN10sIFsxNjYzOTIzOTk3LjQyNzAwNzIsIDE2MDAyLCAzLjEzMDExNDc5Mzc3NzQ2Nl0sIFsxNjYzOTIzOTk3Ljc1MTE5NSwgMTYwMjksIDMuMDg0NjgxOTg3NzYyNDUxXSwgWzE2NjM5MjM5OTguMTQ4MDY5NCwgMTYwNjUsIDMuMDM4MzYyOTc5ODg4OTE2XSwgWzE2NjM5MjM5OTguMjUwMjc5MiwgMTYwNzQsIDMuMTAwMTA2MDAwOTAwMjY4Nl0sIFsxNjYzOTIzOTk4LjM0NDgxMywgMTYwODMsIDMuMDMwNzIyNjE4MTAzMDI3M10sIFsxNjYzOTIzOTk4LjY0OTg5NzYsIDE2MTEwLCAzLjA5NzQxNDAxNjcyMzYzM10sIFsxNjYzOTIzOTk4LjkyNDcxOTYsIDE2MTM3LCAzLjA5Nzc2MzUzODM2MDU5NTddLCBbMTY2MzkyMzk5OS4zMjk4NTQ3LCAxNjE3MywgMy4wMjUyMzI3OTE5MDA2MzQ4XSwgWzE2NjM5MjM5OTkuNzM0NjQ2NiwgMTYyMDksIDIuOTYzMDQ1MTIwMjM5MjU4XSwgWzE2NjM5MjM5OTkuOTMxODAyNSwgMTYyMjcsIDMuMDExMTAyMTk5NTU0NDQzNF0sIFsxNjYzOTI0MDAwLjUzOTYxNjgsIDE2MjgxLCAyLjk4NTg5ODQ5NDcyMDQ1OV0sIFsxNjYzOTI0MDAwLjc0ODU4MSwgMTYyOTksIDIuOTczOTE5MTUzMjEzNTAxXSwgWzE2NjM5MjQwMDEuNzg1NTUwOCwgMTYzODAsIDIuOTE1NDAyNDEyNDE0NTUxXSwgWzE2NjM5MjQwMDIuMTkyMDk0MywgMTY0MTYsIDIuOTM1MDcxMjI5OTM0NjkyNF0sIFsxNjYzOTI0MDAyLjU0MTE1ODIsIDE2NDQzLCAyLjkzMTU3OTExMzAwNjU5Ml0sIFsxNjYzOTI0MDAyLjY2NzkwNjgsIDE2NDUyLCAyLjg0NTc0Nzk0NzY5Mjg3MV0sIFsxNjYzOTI0MDAyLjg3ODU0NywgMTY0NzAsIDIuOTIzMjA1MTM3MjUyODA3Nl0sIFsxNjYzOTI0MDAyLjk4MDIxOCwgMTY0NzksIDIuODY1NTU5ODE2MzYwNDczNl0sIFsxNjYzOTI0MDAzLjE2ODM3NDgsIDE2NDk3LCAyLjg4MDI5NDMyMjk2NzUyOTNdLCBbMTY2MzkyNDAwMy42NjAzMzUzLCAxNjUzMywgMi44NjEwNjAzODA5MzU2NjldLCBbMTY2MzkyNDAwMy44NzA5ODM0LCAxNjU1MSwgMi44MTUxOTA3OTIwODM3NDAyXSwgWzE2NjM5MjQwMDQuNTc4MjIxLCAxNjYxNCwgMi44MDA2Mzc3MjIwMTUzODFdLCBbMTY2MzkyNDAwNC42Nzg1NjUsIDE2NjIzLCAyLjgwNDM2MzAxMjMxMzg0MjhdLCBbMTY2MzkyNDAwNC43ODIyODQ3LCAxNjYzMiwgMi44MzQ3Nzc1OTM2MTI2NzFdLCBbMTY2MzkyNDAwNC44ODM5MDQ1LCAxNjY0MSwgMi44NTA2OTM3MDI2OTc3NTRdLCBbMTY2MzkyNDAwNS4xODUxMjU4LCAxNjY2OCwgMi43NTU5MTc3ODc1NTE4OF0sIFsxNjYzOTI0MDA2LjE1Njc3ODMsIDE2NzQ5LCAyLjcyMDcyODM5NzM2OTM4NDhdLCBbMTY2MzkyNDAwNi44NzAxMzgyLCAxNjc5NCwgMi43MzU1NDU4NzM2NDE5Njc4XSwgWzE2NjM5MjQwMDYuOTcwMjYxMywgMTY4MDMsIDIuNjk2NTk0NDc2Njk5ODI5XSwgWzE2NjM5MjQwMDcuMDc0OTk1LCAxNjgxMiwgMi43MDA4NDk1MzMwODEwNTQ3XSwgWzE2NjM5MjQwMDcuNDgxMjA1MiwgMTY4NDgsIDIuNjcyODMyMjUwNTk1MDkyOF0sIFsxNjYzOTI0MDA3LjYwMTIzMiwgMTY4NTcsIDIuNjk0MTYzNzk5Mjg1ODg4N10sIFsxNjYzOTI0MDA3LjgyNzAyMjYsIDE2ODc1LCAyLjcwNDA3Mjk1MjI3MDUwOF0sIFsxNjYzOTI0MDA4LjEzNzMyNzcsIDE2OTAyLCAyLjY3MDM2NjUyNTY1MDAyNDRdLCBbMTY2MzkyNDAwOC40NDQ4MDMsIDE2OTI5LCAyLjY0ODAwOTc3NzA2OTA5Ml0sIFsxNjYzOTI0MDA4Ljc0Nzc1NzIsIDE2OTU2LCAyLjY4NzA1MjcyNjc0NTYwNTVdLCBbMTY2MzkyNDAwOC44NTU1Mjk1LCAxNjk2NSwgMi42MzU1MjkwNDEyOTAyODNdLCBbMTY2MzkyNDAwOS4wNjM2NjY2LCAxNjk4MywgMi42MDIwMDQ3NjY0NjQyMzM0XSwgWzE2NjM5MjQwMDkuMjgwODk2NywgMTcwMDEsIDIuNjE3MzcyMjc0Mzk4ODAzN10sIFsxNjYzOTI0MDA5LjUwMDIxOSwgMTcwMTksIDIuNjI3MTI1MjYzMjE0MTExM10sIFsxNjYzOTI0MDEwLjAzODExLCAxNzA2NCwgMi42MDQyNzE0MTE4OTU3NTJdLCBbMTY2MzkyNDAxMC40NjExNjU0LCAxNzEwMCwgMi41MzU0NjQ1MjUyMjI3NzgzXSwgWzE2NjM5MjQwMTAuNzU5NTUzNCwgMTcxMjcsIDIuNjU1MDA0OTc4MTc5OTMxNl0sIFsxNjYzOTI0MDExLjM0OTEwMzIsIDE3MTgxLCAyLjU0OTk5MzAzODE3NzQ5MDJdLCBbMTY2MzkyNDAxMS40NDg3NTg2LCAxNzE5MCwgMi41MjM1MjczODM4MDQzMjEzXSwgWzE2NjM5MjQwMTEuNTQyNjIzMywgMTcxOTksIDIuNTI4ODQ2MjYzODg1NDk4XSwgWzE2NjM5MjQwMTEuODM3ODU5OSwgMTcyMjYsIDIuNTQ2NjI5OTA1NzAwNjgzNl0sIFsxNjYzOTI0MDEyLjM5NjQxMjQsIDE3MjcxLCAyLjU0Mjc4MDYzNzc0MTA4OV0sIFsxNjYzOTI0MDEzLjAzODUzMTgsIDE3MzI1LCAyLjQ2NjQ0OTk3NTk2NzQwNzJdLCBbMTY2MzkyNDAxMy4xMzM4MzMyLCAxNzMzNCwgMi40ODMzODc5NDcwODI1MTk1XSwgWzE2NjM5MjQwMTMuNTQ4OTE4MiwgMTczNzAsIDIuNDY5MjEzNDg1NzE3NzczNF0sIFsxNjYzOTI0MDE0LjMwNjAzNSwgMTc0MjQsIDIuNDM3OTc5NDU5NzYyNTczMl0sIFsxNjYzOTI0MDE0LjQzNTUzNjEsIDE3NDMzLCAyLjQ1NzgwNDkxODI4OTE4NDZdLCBbMTY2MzkyNDAxNC45MTMzMzA4LCAxNzQ2OSwgMi40MjE0MjYwNTc4MTU1NTE4XSwgWzE2NjM5MjQwMTUuMDI5MDQ2LCAxNzQ3OCwgMi40NjQ1OTU1NTYyNTkxNTUzXSwgWzE2NjM5MjQwMTUuMTQ5NjkwNiwgMTc0ODcsIDIuNDI0Mzc5MTEwMzM2MzAzN10sIFsxNjYzOTI0MDE1LjU0NjMzNCwgMTc1MTQsIDIuNDQ0ODAwMTM4NDczNTEwN10sIFsxNjYzOTI0MDE1Ljc3NzQ3NiwgMTc1MzIsIDIuNDUyNjc5MTU3MjU3MDhdLCBbMTY2MzkyNDAxNi4zMjEyNzI5LCAxNzU1OSwgMi4zOTc2NDU5NTAzMTczODNdLCBbMTY2MzkyNDAxNi42ODQxNDkzLCAxNzU4NiwgMi40MTY2MjUwMjI4ODgxODM2XSwgWzE2NjM5MjQwMTcuMDE0NTYyOCwgMTc2MTMsIDIuMzk0NDM4MDI4MzM1NTcxM10sIFsxNjYzOTI0MDE3LjQzMDE3OTgsIDE3NjQ5LCAyLjM3NDUxNTI5NTAyODY4NjVdLCBbMTY2MzkyNDAxNy41Mjk2MTYsIDE3NjU4LCAyLjM0NTUwNzYyMTc2NTEzNjddLCBbMTY2MzkyNDAxNy42Mjk2NjIzLCAxNzY2NywgMi4zNzY3ODAyNzE1MzAxNTE0XSwgWzE2NjM5MjQwMTcuNzI3OTk0LCAxNzY3NiwgMi4zOTc0NzMwOTY4NDc1MzRdLCBbMTY2MzkyNDAxNy44MjU1MTk2LCAxNzY4NSwgMi4zNzY4NTM3MDQ0NTI1MTQ2XSwgWzE2NjM5MjQwMTguMDg5MDI3MiwgMTc3MDMsIDIuMzQzNzYwMDEzNTgwMzIyM10sIFsxNjYzOTI0MDE4LjIwMjY2OTQsIDE3NzEyLCAyLjM1NDc2MjMxNTc1MDEyMl0sIFsxNjYzOTI0MDE4LjMzMjMyODgsIDE3NzIxLCAyLjM0NzEwOTA3OTM2MDk2Ml0sIFsxNjYzOTI0MDE5LjMxNTI3NSwgMTc4MDIsIDIuMzY2NDI1NzUyNjM5NzcwNV0sIFsxNjYzOTI0MDE5LjU4ODgxMzMsIDE3ODIwLCAyLjM1NzE5ODIzODM3MjgwMjddLCBbMTY2MzkyNDAxOS44MzQzNjczLCAxNzgzOCwgMi4zNDEyNzMzMDc4MDAyOTNdLCBbMTY2MzkyNDAyMC4zMTI3OTIzLCAxNzg3NCwgMi4zMTYxMjMyNDcxNDY2MDY0XSwgWzE2NjM5MjQwMjAuNTcxMTk0LCAxNzg5MiwgMi4zMzU0MzA4NjA1MTk0MDldLCBbMTY2MzkyNDAyMC42NzQxODQ4LCAxNzkwMSwgMi4yOTg4MjI4Nzk3OTEyNTk4XSwgWzE2NjM5MjQwMjAuOTg4MzA3NywgMTc5MjgsIDIuMzMyOTc0MTk1NDgwMzQ2N10sIFsxNjYzOTI0MDIzLjU3MDQ0MTUsIDE4MTYyLCAyLjI3OTQ2NDAwNjQyMzk1XSwgWzE2NjM5MjQwMjMuOTg0NzYzLCAxODE5OCwgMi4yNTUwNjQwMTA2MjAxMTddLCBbMTY2MzkyNDAyNC4wODQ4OTYsIDE4MjA3LCAyLjIxMjE5NjgyNjkzNDgxNDVdLCBbMTY2MzkyNDAyNC40ODE4NzQyLCAxODI0MywgMi4yMDE4OTQ3NjAxMzE4MzZdLCBbMTY2MzkyNDAyNC43MDE2OTkzLCAxODI2MSwgMi4yMTQ5OTk5MTQxNjkzMTE1XSwgWzE2NjM5MjQwMjUuMDEwMzE0NSwgMTgyODgsIDIuMjA5NTI1MzQ2NzU1OTgxNF0sIFsxNjYzOTI0MDI1LjYxMTY1NzYsIDE4MzI0LCAyLjIxODA4OTEwMzY5ODczMDVdLCBbMTY2MzkyNDAyNS43Mjk0ODc0LCAxODMzMywgMi4yMjU0MDQwMjQxMjQxNDU1XSwgWzE2NjM5MjQwMjYuMTI2MjA4MywgMTgzNjksIDIuMTg5MzQwNTkxNDMwNjY0XSwgWzE2NjM5MjQwMjYuNDU5MzE4MiwgMTgzOTYsIDIuMTkxNTg3MjA5NzAxNTM4XSwgWzE2NjM5MjQwMjYuOTMzNzAwNiwgMTg0MzIsIDIuMjE3MzQyODUzNTQ2MTQyNl0sIFsxNjYzOTI0MDI3Ljc3NjE1NzYsIDE4NDk1LCAyLjIwMzc1MzcwOTc5MzA5MV0sIFsxNjYzOTI0MDI3Ljg4NTQyNzcsIDE4NTA0LCAyLjE4ODI1MjQ0OTAzNTY0NDVdLCBbMTY2MzkyNDAyOC4wMDU5NDg4LCAxODUxMywgMi4yMDYzNDM4ODkyMzY0NV0sIFsxNjYzOTI0MDI5LjE3MzY1ODEsIDE4NjEyLCAyLjE1MzM1MTMwNjkxNTI4M10sIFsxNjYzOTI0MDI5LjI5MDEyNywgMTg2MjEsIDIuMTkxNjk4MzEyNzU5Mzk5NF0sIFsxNjYzOTI0MDI5LjQ3NjcxODIsIDE4NjM5LCAyLjE2NjM5Mzk5NTI4NTAzNF0sIFsxNjYzOTI0MDI5Ljg1NDQ2MzgsIDE4Njc1LCAyLjE5MTkyMzM3OTg5ODA3MTNdLCBbMTY2MzkyNDAzMC4zNTA5MzU1LCAxODcyMCwgMi4xMjk4MTQxNDc5NDkyMTg4XSwgWzE2NjM5MjQwMzAuOTUxMDM1LCAxODc2NSwgMi4xNDg0ODkyMzY4MzE2NjVdLCBbMTY2MzkyNDAzMS4xNjM5MDIzLCAxODc4MywgMi4wOTQ1OTM1MjQ5MzI4NjEzXSwgWzE2NjM5MjQwMzEuMjcwMTc1NSwgMTg3OTIsIDIuMTA3NDM3MzcyMjA3NjQxNl0sIFsxNjYzOTI0MDMxLjUwMDM1MjksIDE4ODEwLCAyLjEyMDQyODU2MjE2NDMwNjZdLCBbMTY2MzkyNDAzMS42MDYwNjksIDE4ODE5LCAyLjExMTYzNDAxNjAzNjk4NzNdLCBbMTY2MzkyNDAzMS43MDk2NDM0LCAxODgyOCwgMi4xMzkyMzgxMTkxMjUzNjZdLCBbMTY2MzkyNDAzMi4xMjcwNzE0LCAxODg2NCwgMi4xMjA4MDU5Nzg3NzUwMjQ0XSwgWzE2NjM5MjQwMzIuMzM5OTA0MywgMTg4ODIsIDIuMTE1MjE2NzMyMDI1MTQ2NV0sIFsxNjYzOTI0MDMyLjQ1MTU1NTUsIDE4ODkxLCAyLjA4Mjg1MjEyNTE2Nzg0NjddLCBbMTY2MzkyNDAzMi42NTYyMjIsIDE4OTA5LCAyLjE0NTE5Mjg2MTU1NzAwN10sIFsxNjYzOTI0MDMyLjk2NjE5MDgsIDE4OTM2LCAyLjEyNTk4NTE0NTU2ODg0NzddLCBbMTY2MzkyNDAzMy4xNzc1NjQsIDE4OTU0LCAyLjA3MTc4OTI2NDY3ODk1NV0sIFsxNjYzOTI0MDMzLjU4NzQ4NzUsIDE4OTkwLCAyLjA5MTE5MDgxNDk3MTkyNF0sIFsxNjYzOTI0MDMzLjY4Mzc0NzUsIDE4OTk5LCAyLjEwMzM2NTg5ODEzMjMyNF0sIFsxNjYzOTI0MDM0LjA4NzE4NzgsIDE5MDM1LCAyLjA0NzM4MDY4NTgwNjI3NDRdLCBbMTY2MzkyNDAzNC4xODgwODE1LCAxOTA0NCwgMi4wNDM5MTM2MDI4Mjg5Nzk1XSwgWzE2NjM5MjQwMzQuNjA0ODcyLCAxOTA4MCwgMi4xMDAyNDA0Njg5Nzg4ODJdLCBbMTY2MzkyNDAzNC43MDI2OTc4LCAxOTA4OSwgMi4wODczODExMjQ0OTY0Nl0sIFsxNjYzOTI0MDM1LjE5MDYxODMsIDE5MTE2LCAyLjA4MzU1OTk4OTkyOTE5OV0sIFsxNjYzOTI0MDM1LjI5MTk2MjQsIDE5MTI1LCAyLjAzMTgwNDMyMzE5NjQxMV0sIFsxNjYzOTI0MDM1LjYxNTcwMTQsIDE5MTUyLCAyLjA4MzAyNDc0MDIxOTExNl0sIFsxNjYzOTI0MDM2LjQ3MDkwNjcsIDE5MjI0LCAyLjA0MjI0MDM4MTI0MDg0NDddLCBbMTY2MzkyNDAzNi41NzEzOTE4LCAxOTIzMywgMi4wNjU2MzU2ODExNTIzNDM4XSwgWzE2NjM5MjQwMzYuOTEwMzY0OSwgMTkyNjAsIDIuMDAxNTQxMzc2MTEzODkxNl0sIFsxNjYzOTI0MDM3LjMwMzY2OTUsIDE5Mjk2LCAyLjA2NTAwODE2MzQ1MjE0ODRdLCBbMTY2MzkyNDAzNy45NTc5ODE2LCAxOTM1MCwgMi4wNjgxNDk4MDUwNjg5Njk3XSwgWzE2NjM5MjQwMzguNDYyOTMzNSwgMTkzOTUsIDIuMDI5Mjc4NTE2NzY5NDA5XSwgWzE2NjM5MjQwMzguOTk1MjA1NiwgMTk0NDAsIDIuMDAzNjU5NzI1MTg5MjA5XSwgWzE2NjM5MjQwMzkuMTE4OTM2LCAxOTQ0OSwgMi4wMDQ4NjExMTY0MDkzMDE4XSwgWzE2NjM5MjQwMzkuMzIxNzc0LCAxOTQ2NywgMi4wMjIwOTM1MzQ0Njk2MDQ1XSwgWzE2NjM5MjQwMzkuOTg0NjQwNiwgMTk1MzAsIDIuMDA1MjgyMTYzNjE5OTk1XSwgWzE2NjM5MjQwNDAuNjY1ODc4OCwgMTk1OTMsIDIuMDMwOTk3NTE0NzI0NzMxNF0sIFsxNjYzOTI0MDQxLjcyNzk0OSwgMTk2OTIsIDEuOTkwMzg0NDU5NDk1NTQ0NF0sIFsxNjYzOTI0MDQxLjkzMDU3MzIsIDE5NzEwLCAxLjk2NDQ0NTcxMDE4MjE5XSwgWzE2NjM5MjQwNDIuNDA2ODE0OCwgMTk3NTUsIDEuOTkyMDg4MTk4NjYxODA0Ml0sIFsxNjYzOTI0MDQyLjg5MjA5MzcsIDE5ODAwLCAxLjk4OTU4ODI2MDY1MDYzNDhdLCBbMTY2MzkyNDA0My4wOTgwOTQ3LCAxOTgxOCwgMS45NjM3NTk3Nzk5MzAxMTQ3XSwgWzE2NjM5MjQwNDMuMTk2MDg1NywgMTk4MjcsIDEuOTkyNjA3MjM1OTA4NTA4M10sIFsxNjYzOTI0MDQzLjI5MDgwNTMsIDE5ODM2LCAxLjk1NTA5MzE0NTM3MDQ4MzRdLCBbMTY2MzkyNDA0NC4yMTU3NjI2LCAxOTg5MCwgMS45OTMzNTYxMDg2NjU0NjYzXSwgWzE2NjM5MjQwNDQuNDIxNDIzNCwgMTk5MDgsIDEuOTcyMDIyODkxMDQ0NjE2N10sIFsxNjYzOTI0MDQ0LjUyMzM5MzksIDE5OTE3LCAxLjk1NTkxNzcxNjAyNjMwNjJdLCBbMTY2MzkyNDA0NC43MzQ3MywgMTk5MzUsIDEuOTM0NzUzNzc1NTk2NjE4N10sIFsxNjYzOTI0MDQ0LjgzMzY3MDYsIDE5OTQ0LCAxLjk2OTQwMDQwNTg4Mzc4OV0sIFsxNjYzOTI0MDQ1LjQ1ODA1ODgsIDE5OTk4LCAxLjk0MTEzMjE4Nzg0MzMyMjhdLCBbMTY2MzkyNDA0NS44NTYzMTcsIDIwMDM0LCAxLjk3NTY4MDExMjgzODc0NTFdLCBbMTY2MzkyNDA0Ni4wNTE1NzExLCAyMDA1MiwgMi4wMzA2ODExMzMyNzAyNjM3XSwgWzE2NjM5MjQwNDcuMDY1NTA4MSwgMjAxMzMsIDEuOTI1ODgxOTgxODQ5NjcwNF0sIFsxNjYzOTI0MDQ3LjQ0MTYzMDQsIDIwMTYwLCAxLjk0NDk4NjM0MzM4Mzc4OV0sIFsxNjYzOTI0MDQ3Ljc3MDk5ODIsIDIwMTg3LCAxLjk1OTU4NjI2MjcwMjk0Ml0sIFsxNjYzOTI0MDQ3Ljk3NjIzMDQsIDIwMjA1LCAxLjkwMjQ0NjAzMTU3MDQzNDZdLCBbMTY2MzkyNDA0OS4xNzk4NDYzLCAyMDI5NSwgMS45MTExMTU3NjU1NzE1OTQyXSwgWzE2NjM5MjQwNDkuNTE1MDM5LCAyMDMyMiwgMS45MjI1NzE3NzgyOTc0MjQzXSwgWzE2NjM5MjQwNDkuNjE1NjM3MywgMjAzMzEsIDEuOTMyODU3Mzk0MjE4NDQ0OF0sIFsxNjYzOTI0MDUwLjIwNjI1NjYsIDIwMzg1LCAxLjkzNDU5Nzk2OTA1NTE3NThdLCBbMTY2MzkyNDA1MC41MDg4ODAxLCAyMDQxMiwgMS45MzU4ODI2ODc1Njg2NjQ2XSwgWzE2NjM5MjQwNTEuNTYwMDk2MywgMjA0OTMsIDEuOTAyOTUzNzQzOTM0NjMxM10sIFsxNjYzOTI0MDUyLjAxMTk1MTIsIDIwNTI5LCAxLjkyMTY4MjAwMDE2MDIxNzNdLCBbMTY2MzkyNDA1Mi4xMTc5MDQ0LCAyMDUzOCwgMS44ODg1MDYyOTMyOTY4MTRdLCBbMTY2MzkyNDA1Mi41NTg3ODExLCAyMDU3NCwgMS45MDU0ODY4MjIxMjgyOTZdLCBbMTY2MzkyNDA1My4zMjc2MTcsIDIwNjM3LCAxLjg2NjgyMjEyMzUyNzUyNjldLCBbMTY2MzkyNDA1NC40MDQ3NDI1LCAyMDcwOSwgMS44OTYxMjA1NDgyNDgyOTFdLCBbMTY2MzkyNDA1NC45MzUxMjEzLCAyMDc1NCwgMS44ODA4MTU1MDU5ODE0NDUzXSwgWzE2NjM5MjQwNTUuMDYzNjUxMywgMjA3NjMsIDEuODk4ODI0MDk1NzI2MDEzMl0sIFsxNjYzOTI0MDU1LjM3MDg3NDIsIDIwNzkwLCAxLjg3NTE3MTg5OTc5NTUzMjJdLCBbMTY2MzkyNDA1NS41NzQyMzE0LCAyMDgwOCwgMS44OTQ2NzU3MzE2NTg5MzU1XSwgWzE2NjM5MjQwNTYuMTc0OTEzLCAyMDg1MywgMS45MDI4NjUxNzE0MzI0OTUxXSwgWzE2NjM5MjQwNTYuNTE0MTA0OCwgMjA4ODAsIDEuODU4MDIxODU1MzU0MzA5XSwgWzE2NjM5MjQwNTcuMDY1MjAwOCwgMjA5MjUsIDEuODUwNzE2ODI5Mjk5OTI2OF0sIFsxNjYzOTI0MDU3Ljc1MTQzNjIsIDIwOTc5LCAxLjg4NDU0Mzg5NTcyMTQzNTVdLCBbMTY2MzkyNDA1Ny45Njk2NzA4LCAyMDk5NywgMS44NTM1NDkwMDM2MDEwNzQyXSwgWzE2NjM5MjQwNTguMzA3NzE4NSwgMjEwMjQsIDEuODYyODQ4NDAxMDY5NjQxMV0sIFsxNjYzOTI0MDU4Ljg3NDkzMywgMjEwNjksIDEuODgzODE2MjQyMjE4MDE3Nl0sIFsxNjYzOTI0MDU5LjEwMTE4NzUsIDIxMDg3LCAxLjg4MzU0ODM3ODk0NDM5N10sIFsxNjYzOTI0MDU5LjIxMjcyNzUsIDIxMDk2LCAxLjg1MzI3ODc1NjE0MTY2MjZdLCBbMTY2MzkyNDA1OS4zMzM5MDgzLCAyMTEwNSwgMS44NTMxMTMyOTM2NDc3NjYxXSwgWzE2NjM5MjQwNTkuNTU2ODg0MywgMjExMjMsIDEuODU4NTIyNDE1MTYxMTMyOF0sIFsxNjYzOTI0MDU5LjY2NTE1ODcsIDIxMTMyLCAxLjgyNzc4NTQ5MTk0MzM1OTRdLCBbMTY2MzkyNDA2MC4xMjY0NjgyLCAyMTE2OCwgMS44NDA1MTI4NzE3NDIyNDg1XSwgWzE2NjM5MjQwNjAuMjQ4NjAyNiwgMjExNzcsIDEuODgxMjgwMTgzNzkyMTE0M10sIFsxNjYzOTI0MDYwLjM1OTMxLCAyMTE4NiwgMS44NjYxODcyMTQ4NTEzNzk0XSwgWzE2NjM5MjQwNjAuODA5MjczMiwgMjEyMjIsIDEuODUyNTgyNjkzMDk5OTc1Nl0sIFsxNjYzOTI0MDYxLjAyODMzOTksIDIxMjQwLCAxLjg1OTA4NTkxNzQ3MjgzOTRdLCBbMTY2MzkyNDA2MS43MDczNTQsIDIxMjk0LCAxLjg1MTEwNjI4NjA0ODg4OTJdLCBbMTY2MzkyNDA2Mi4wMTAxMjg3LCAyMTMyMSwgMS44MjQ3ODA0NjQxNzIzNjMzXSwgWzE2NjM5MjQwNjIuMzI0Nzk3MiwgMjEzNDgsIDEuODQ4NzU3MDI4NTc5NzEyXSwgWzE2NjM5MjQwNjIuNTM4NDc5NiwgMjEzNjYsIDEuODUwMjQ3NTAyMzI2OTY1M10sIFsxNjYzOTI0MDYzLjE1NDc0NjgsIDIxNDExLCAxLjgzMzk1ODg2NDIxMjAzNjFdLCBbMTY2MzkyNDA2NC4wNzYyMzgsIDIxNDY1LCAxLjg1MTIyMDEzMDkyMDQxMDJdLCBbMTY2MzkyNDA2NC41OTEzMDQ4LCAyMTUxMCwgMS44Mjk5MzMyODU3MTMxOTU4XSwgWzE2NjM5MjQwNjQuNzkxNjI0NSwgMjE1MjgsIDEuODQ4MTQ1NDg0OTI0MzE2NF0sIFsxNjYzOTI0MDY0Ljk4ODA2OCwgMjE1NDYsIDEuODMzNjM1MzMwMjAwMTk1M10sIFsxNjYzOTI0MDY1LjA4NTAxMzksIDIxNTU1LCAxLjgxNzAxMjU0ODQ0NjY1NTNdLCBbMTY2MzkyNDA2NS4xODM3NjY2LCAyMTU2NCwgMS44NDE2NTMzNDcwMTUzODA5XSwgWzE2NjM5MjQwNjUuMzk0NDY1NywgMjE1ODIsIDEuNzk5ODY0NjQ5NzcyNjQ0XSwgWzE2NjM5MjQwNjUuNDkxNzE2LCAyMTU5MSwgMS44MzUxODUyODkzODI5MzQ2XSwgWzE2NjM5MjQwNjYuNTYwMTk2OSwgMjE2ODEsIDEuODI2ODMwNjI1NTM0MDU3Nl0sIFsxNjYzOTI0MDY2Ljk1NzI5LCAyMTcxNywgMS44Mjc0MDQyNjA2MzUzNzZdLCBbMTY2MzkyNDA2Ny4yNTM5NiwgMjE3NDQsIDEuODUxODM1MjUwODU0NDkyMl0sIFsxNjYzOTI0MDY3LjcwNjUxMjUsIDIxNzgwLCAxLjgwMjc5MzE0NTE3OTc0ODVdLCBbMTY2MzkyNDA2OC42MDMxODYsIDIxODYxLCAxLjgwOTEwMDE1MTA2MjAxMTddLCBbMTY2MzkyNDA2OC44ODY5NjIyLCAyMTg4OCwgMS44NjQyNTQzNTU0MzA2MDNdLCBbMTY2MzkyNDA2OS4yNjQzMzUyLCAyMTkyNCwgMS44MjQ5ODQ0MzEyNjY3ODQ3XSwgWzE2NjM5MjQwNjkuMzU1NTc2MywgMjE5MzMsIDEuODE5OTUzNzk5MjQ3NzQxN10sIFsxNjYzOTI0MDY5LjcxOTgzMTUsIDIxOTYwLCAxLjgyNzAzNzMzNDQ0MjEzODddLCBbMTY2MzkyNDA2OS45Mjg1MTUsIDIxOTc4LCAxLjgyNTU3ODIxMjczODAzN10sIFsxNjYzOTI0MDcwLjAyNTk1NDIsIDIxOTg3LCAxLjgzMTgzMjUyODExNDMxODhdLCBbMTY2MzkyNDA3MC42ODIxOTQyLCAyMjA0MSwgMS44MDExODAwMDUwNzM1NDc0XSwgWzE2NjM5MjQwNzEuMzUyOTI2NywgMjIwOTUsIDEuNzcwNzc2NjI5NDQ3OTM3XSwgWzE2NjM5MjQwNzEuNzk3ODU2MywgMjIxMzEsIDEuNzc0ODQ2OTExNDMwMzU4OV0sIFsxNjYzOTI0MDcyLjI2NDMxNTQsIDIyMTY3LCAxLjgyMDEwOTQ4NjU3OTg5NV0sIFsxNjYzOTI0MDcyLjUwNDk0NzIsIDIyMTg1LCAxLjc3MzE2MDgxNTIzODk1MjZdLCBbMTY2MzkyNDA3Mi42MDc5NjcsIDIyMTk0LCAxLjc4NDA1OTUyNDUzNjEzMjhdLCBbMTY2MzkyNDA3My4xODIwNSwgMjIyMzAsIDEuODIwMzA5MDQyOTMwNjAzXSwgWzE2NjM5MjQwNzMuNjAwMTU0MiwgMjIyNjYsIDEuODA1MzE4NzEzMTg4MTcxNF0sIFsxNjYzOTI0MDczLjc5ODAxNjMsIDIyMjg0LCAxLjc3MDE3MTA0NjI1NzAxOV0sIFsxNjYzOTI0MDc0LjAwMTQ5NjgsIDIyMzAyLCAxLjc5MTY0OTY5OTIxMTEyMDZdLCBbMTY2MzkyNDA3NC43MDYwMDk0LCAyMjM2NSwgMS43NjMwMDE2ODAzNzQxNDU1XSwgWzE2NjM5MjQwNzQuODA4MjQzOCwgMjIzNzQsIDEuNzY1MDQ5MzM4MzQwNzU5M10sIFsxNjYzOTI0MDc1LjE4NDc4MjUsIDIyNDEwLCAxLjc5MjgxNDg1MDgwNzE5XSwgWzE2NjM5MjQwNzUuNTY2ODEyMywgMjI0NDYsIDEuNzc5NjE5NjkzNzU2MTAzNV0sIFsxNjYzOTI0MDc1Ljg3MzkzOTUsIDIyNDczLCAxLjc4NTgwMTE3MjI1NjQ2OTddLCBbMTY2MzkyNDA3Ni4wNjg2ODc0LCAyMjQ5MSwgMS43OTkwMzI0NDk3MjIyOV0sIFsxNjYzOTI0MDc2LjE2ODkyNzIsIDIyNTAwLCAxLjgxNzQ4NDczNjQ0MjU2Nl0sIFsxNjYzOTI0MDc2LjI2NTg2NDQsIDIyNTA5LCAxLjgxODM1NDAxMDU4MTk3MDJdLCBbMTY2MzkyNDA3Ni41NjMwMDEsIDIyNTM2LCAxLjc2MDk2OTUxOTYxNTE3MzNdLCBbMTY2MzkyNDA3Ni43NDQ4NTkyLCAyMjU1NCwgMS43Njg3OTM3MDIxMjU1NDkzXSwgWzE2NjM5MjQwNzYuODM5MTY2OSwgMjI1NjMsIDEuNzYwODAwODM4NDcwNDU5XSwgWzE2NjM5MjQwNzcuMDQzMzgxNywgMjI1ODEsIDEuNzM5NTgwNjMxMjU2MTAzNV0sIFsxNjYzOTI0MDc3LjI1NzUwMSwgMjI1OTksIDEuNzY2ODc3MTc0Mzc3NDQxNF0sIFsxNjYzOTI0MDc3LjU2MjE1NTIsIDIyNjI2LCAxLjc1NDUxNDgxMzQyMzE1NjddLCBbMTY2MzkyNDA3Ny43NjYwNTksIDIyNjQ0LCAxLjc1NTg3NDg3MjIwNzY0MTZdLCBbMTY2MzkyNDA3Ny45NjIyMjM1LCAyMjY2MiwgMS43ODAxMjk0MzI2NzgyMjI3XSwgWzE2NjM5MjQwNzguMDYwOTQ4LCAyMjY3MSwgMS43NDU5NzAyNDkxNzYwMjU0XSwgWzE2NjM5MjQwNzguMTU0OTE2NSwgMjI2ODAsIDEuNzUxMDc5Njc4NTM1NDYxNF0sIFsxNjYzOTI0MDc4LjM0OTE5OTUsIDIyNjk4LCAxLjc2NjcwNTE1NTM3MjYxOTZdLCBbMTY2MzkyNDA3OC41NTQ0MjM2LCAyMjcxNiwgMS43NDY5NjQ1NzM4NjAxNjg1XSwgWzE2NjM5MjQwNzkuMDg0ODE4MSwgMjI3NjEsIDEuNzc4OTgzOTUwNjE0OTI5Ml0sIFsxNjYzOTI0MDc5LjI3ODAzNTksIDIyNzc5LCAxLjc0MTA3OTgwNzI4MTQ5NDFdLCBbMTY2MzkyNDA3OS4zNzI1Mjc2LCAyMjc4OCwgMS43NjQzMjM5NDk4MTM4NDI4XSwgWzE2NjM5MjQwODAuMDkwNjUzNCwgMjI4NTEsIDEuNzg3MDcwNjMxOTgwODk2XSwgWzE2NjM5MjQwODAuMjk0MDQ2NCwgMjI4NjksIDEuNzI1MTQ1MzM5OTY1ODIwM10sIFsxNjYzOTI0MDgwLjQ4ODcyNSwgMjI4ODcsIDEuNzM4ODIzNTMzMDU4MTY2NV0sIFsxNjYzOTI0MDgwLjU5MjYxMTgsIDIyODk2LCAxLjc2NjQwODkyMDI4ODA4Nl0sIFsxNjYzOTI0MDgxLjgwNDU0NTIsIDIyOTk1LCAxLjc2ODgwMjE2NTk4NTEwNzRdLCBbMTY2MzkyNDA4My4yMTQ5MTQzLCAyMzA5NCwgMS43NTgzNTU4NTU5NDE3NzI1XSwgWzE2NjM5MjQwODMuMzUzODU1OCwgMjMxMDMsIDEuNzI1NjUxMDI1NzcyMDk0N10sIFsxNjYzOTI0MDgzLjU4NDAwODcsIDIzMTIxLCAxLjc4ODc4OTI3MjMwODM0OTZdLCBbMTY2MzkyNDA4My44NjEwNzk3LCAyMzE0OCwgMS43NDc4NzE1MTgxMzUwNzA4XSwgWzE2NjM5MjQwODQuMzI2MTU1MiwgMjMxODQsIDEuNzc0MDc5NTYxMjMzNTIwNV0sIFsxNjYzOTI0MDg0LjU2NDAyNTIsIDIzMjAyLCAxLjcyODg3ODYxNzI4NjY4MjFdLCBbMTY2MzkyNDA4NC42NjEyMjY3LCAyMzIxMSwgMS43NDUyODg5NjgwODYyNDI3XSwgWzE2NjM5MjQwODUuMjI3MTY2NywgMjMyNTYsIDEuNzE3OTI3NTc1MTExMzg5Ml0sIFsxNjYzOTI0MDg1LjMzNzY2NjcsIDIzMjY1LCAxLjc2OTgwNzMzODcxNDU5OTZdLCBbMTY2MzkyNDA4NS40NDQ2OTI5LCAyMzI3NCwgMS43Mzg1NTg1MzA4MDc0OTUxXSwgWzE2NjM5MjQwODUuNzU4MDE0LCAyMzMwMSwgMS43NDA2NDA3NTk0NjgwNzg2XSwgWzE2NjM5MjQwODUuODYxNjk0OCwgMjMzMTAsIDEuNzc2NDQyMDUwOTMzODM4XSwgWzE2NjM5MjQwODYuMTc0MzQ3LCAyMzMzNywgMS43NTE3ODg2MTYxODA0Ml0sIFsxNjYzOTI0MDg2Ljc2OTA4NywgMjMzOTEsIDEuNzQwMzQ0MTY2NzU1Njc2M10sIFsxNjYzOTI0MDg2Ljg3MTE2MywgMjM0MDAsIDEuNzQ1NTU1NDAwODQ4Mzg4N10sIFsxNjYzOTI0MDg3LjExNDcxMSwgMjM0MTgsIDEuNzQ5MDY2NzEwNDcyMTA3XSwgWzE2NjM5MjQwODcuMzQ1MjU4MiwgMjM0MzYsIDEuNzM1NjczNDI3NTgxNzg3XSwgWzE2NjM5MjQwODcuNTczNDEzNiwgMjM0NTQsIDEuNzMyODg3MjY4MDY2NDA2Ml0sIFsxNjYzOTI0MDg3LjY3NDg5OCwgMjM0NjMsIDEuNzMzMTAwODkxMTEzMjgxMl0sIFsxNjYzOTI0MDg4Ljg0NjI0ODYsIDIzNTYyLCAxLjc3OTM3NzIyMjA2MTE1NzJdLCBbMTY2MzkyNDA4OC45NDY4MDY3LCAyMzU3MSwgMS43MTczMjUzMjk3ODA1Nzg2XSwgWzE2NjM5MjQwODkuMDYxMzczLCAyMzU4MCwgMS43MzgwMjkyNDE1NjE4ODk2XSwgWzE2NjM5MjQwODkuNDUwOTIxNSwgMjM2MDcsIDEuNzM4MjgwNDE1NTM0OTczMV0sIFsxNjYzOTI0MDg5Ljk5MjA3NDcsIDIzNjUyLCAxLjc0NjEwMjgwOTkwNjAwNTldLCBbMTY2MzkyNDA5MC4wOTUwMjM2LCAyMzY2MSwgMS43MTkyMDcxNjc2MjU0MjcyXSwgWzE2NjM5MjQwOTAuNjUxMTM4MywgMjM3MDYsIDEuNzQ3NTc4MzgyNDkyMDY1NF0sIFsxNjYzOTI0MDkwLjc2MjI2NjQsIDIzNzE1LCAxLjcyMDM3MTcyMzE3NTA0ODhdLCBbMTY2MzkyNDA5MC44NzM2MDY3LCAyMzcyNCwgMS42OTI5NjA5Nzc1NTQzMjEzXSwgWzE2NjM5MjQwOTAuOTc3OTQyLCAyMzczMywgMS43MTc2NDY0Nzk2MDY2Mjg0XSwgWzE2NjM5MjQwOTEuMTg1NzAyNiwgMjM3NTEsIDEuNzQyNzAwNjk1OTkxNTE2MV0sIFsxNjYzOTI0MDkxLjI5MDg5MiwgMjM3NjAsIDEuNjk0NzM1NTI3MDM4NTc0Ml0sIFsxNjYzOTI0MDkxLjM5MzQ5NjMsIDIzNzY5LCAxLjczNzA1MzI3NTEwODMzNzRdLCBbMTY2MzkyNDA5MS45MDY2ODMyLCAyMzc5NiwgMS43NDE0NzA2OTQ1NDE5MzEyXSwgWzE2NjM5MjQwOTMuMTYwNzk5LCAyMzg5NSwgMS43Mjc4MDUxMzc2MzQyNzczXSwgWzE2NjM5MjQwOTMuODk3MTU4MSwgMjM5NDksIDEuNzA0NjYyMzIyOTk4MDQ2OV0sIFsxNjYzOTI0MDk0LjEyMDEyLCAyMzk2NywgMS43MDYwNjQ3MDEwODAzMjIzXSwgWzE2NjM5MjQwOTUuMDEwNjE1LCAyNDAzOSwgMS43MDk5OTM0ODE2MzYwNDc0XSwgWzE2NjM5MjQwOTUuMTI0MDk5NSwgMjQwNDgsIDEuNzA1MDM1MDkwNDQ2NDcyMl0sIFsxNjYzOTI0MDk1LjIzMzQ5NywgMjQwNTcsIDEuNjkwNjg3Nzc1NjExODc3NF0sIFsxNjYzOTI0MDk1LjQ2MTA3OTQsIDI0MDc1LCAxLjcyMTI2NTY3MzYzNzM5MDFdLCBbMTY2MzkyNDA5Ni4yNjk2MzQyLCAyNDEzOCwgMS43MDI2ODAxMTA5MzEzOTY1XSwgWzE2NjM5MjQwOTYuNjYyMzcyNCwgMjQxNjUsIDEuNzA4OTg5MjYyNTgwODcxNl0sIFsxNjYzOTI0MDk2LjkzNTM3MzMsIDI0MTgzLCAxLjcwNTgyNzk1MTQzMTI3NDRdLCBbMTY2MzkyNDA5Ny4yOTQ1NzI4LCAyNDIxMCwgMS43MDAyNjIzMDgxMjA3Mjc1XSwgWzE2NjM5MjQwOTcuNTE1NDE3LCAyNDIyOCwgMS43MDE1OTEwMTQ4NjIwNjA1XSwgWzE2NjM5MjQwOTcuNzQ4NTEzNywgMjQyNDYsIDEuNjk2OTUwMDc4MDEwNTU5XSwgWzE2NjM5MjQwOTguNzgzODY4LCAyNDMyNywgMS42Njk3MTQzMzE2MjY4OTJdLCBbMTY2MzkyNDA5OC44ODY1NTMsIDI0MzM2LCAxLjY5ODQzNzgwOTk0NDE1MjhdLCBbMTY2MzkyNDA5OS4wMDIzNDY1LCAyNDM0NSwgMS42OTMyMTM5Mzk2NjY3NDhdLCBbMTY2MzkyNDA5OS4yMjUxNTc3LCAyNDM2MywgMS42ODI1MjA1MDg3NjYxNzQzXSwgWzE2NjM5MjQwOTkuNDM3MDE2MiwgMjQzODEsIDEuNzE1OTczMTM4ODA5MjA0XSwgWzE2NjM5MjQwOTkuNjY1ODE0OSwgMjQzOTksIDEuNzA0NjM0NjY2NDQyODcxXSwgWzE2NjM5MjQwOTkuOTA3OTkyNCwgMjQ0MTcsIDEuNzA4NzA0NTkwNzk3NDI0M10sIFsxNjYzOTI0MTAwLjAxMjY1OTUsIDI0NDI2LCAxLjY5NTQyMjg4NzgwMjEyNF0sIFsxNjYzOTI0MTAwLjQ5Mjc3NDIsIDI0NDYyLCAxLjcxNzc4NDA0NzEyNjc3XSwgWzE2NjM5MjQxMDAuNTk1MTAyOCwgMjQ0NzEsIDEuNjkzNTk1NzY3MDIxMTc5Ml0sIFsxNjYzOTI0MTAwLjY5MDA4OTUsIDI0NDgwLCAxLjc1MjI4OTc3MjAzMzY5MTRdLCBbMTY2MzkyNDEwMS4xNzc3MTY3LCAyNDUyNSwgMS42ODUwMTY4NzA0OTg2NTcyXSwgWzE2NjM5MjQxMDEuMjc3MDc2NSwgMjQ1MzQsIDEuNjY3MDAzMTU0NzU0NjM4N10sIFsxNjYzOTI0MTAxLjUwMTYwOTYsIDI0NTUyLCAxLjY4NjI2MDU4MTAxNjU0MDVdLCBbMTY2MzkyNDEwMS45Mzk1NDU0LCAyNDU3MCwgMS42ODE4ODE3ODUzOTI3NjEyXSwgWzE2NjM5MjQxMDIuMDM3MDMsIDI0NTc5LCAxLjY3NzMwMjcxODE2MjUzNjZdLCBbMTY2MzkyNDEwMi40NDgzNjEyLCAyNDYxNSwgMS42OTIyOTM4ODIzNjk5OTUxXSwgWzE2NjM5MjQxMDIuNTQ0NTQ0NSwgMjQ2MjQsIDEuNzA2MDk3MDA2Nzk3NzkwNV0sIFsxNjYzOTI0MTAyLjkzNTUxNzgsIDI0NjYwLCAxLjY1MTM5ODA2MjcwNTk5MzddLCBbMTY2MzkyNDEwMy4wMzc4Nzg1LCAyNDY2OSwgMS42ODA1NjY2Njg1MTA0MzddLCBbMTY2MzkyNDEwMy4xMzk4NDQ3LCAyNDY3OCwgMS42Nzg0NTU5NDg4Mjk2NTA5XSwgWzE2NjM5MjQxMDMuMjU5MDIyNSwgMjQ2ODcsIDEuNjU2MzUxMDg5NDc3NTM5XSwgWzE2NjM5MjQxMDMuNDUzODMzNiwgMjQ3MDUsIDEuNjk3MzQyODcyNjE5NjI5XSwgWzE2NjM5MjQxMDMuNTQ5OTY1OSwgMjQ3MTQsIDEuNjU4NjEwNTgyMzUxNjg0Nl0sIFsxNjYzOTI0MTAzLjY0NDExODUsIDI0NzIzLCAxLjY3MTkxODYzMDU5OTk3NTZdLCBbMTY2MzkyNDEwNC4zNDU5NjksIDI0Nzg2LCAxLjY3NDk2OTMxNTUyODg2OTZdLCBbMTY2MzkyNDEwNC40NDc2MjI1LCAyNDc5NSwgMS42NjAzNzQ5OTkwNDYzMjU3XSwgWzE2NjM5MjQxMDQuNTQ1MDMwNiwgMjQ4MDQsIDEuNzA1NTgyOTc2MzQxMjQ3Nl0sIFsxNjYzOTI0MTA1LjEyMzUyNCwgMjQ4NDksIDEuNjkxOTM0MzQ3MTUyNzFdLCBbMTY2MzkyNDEwNS4yMzk5NjIzLCAyNDg1OCwgMS42NjY0ODMxNjM4MzM2MTgyXSwgWzE2NjM5MjQxMDUuNzEyNjU4NiwgMjQ4OTQsIDEuNjY0NjcyNzMyMzUzMjEwNF0sIFsxNjYzOTI0MTA2LjEwMzg3MTMsIDI0OTIxLCAxLjY2MjQ1MTk4MjQ5ODE2OV0sIFsxNjYzOTI0MTA2LjQ4MDQzMjcsIDI0OTQ4LCAxLjY3ODYyNTIyNjAyMDgxM10sIFsxNjYzOTI0MTA2LjcwODkyMTcsIDI0OTY2LCAxLjY3NDA4OTMxMjU1MzQwNThdLCBbMTY2MzkyNDEwNi45MTgxODcsIDI0OTg0LCAxLjY1NDUzNjEyODA0NDEyODRdLCBbMTY2MzkyNDEwNy4xODIzMzQ3LCAyNTAwMiwgMS43MTI4MTQ1Njk0NzMyNjY2XSwgWzE2NjM5MjQxMDcuMzA5NTc5NCwgMjUwMTEsIDEuNjgyMTcxMjI1NTQ3NzkwNV0sIFsxNjYzOTI0MTA3LjQzODcwMSwgMjUwMjAsIDEuNjUxNzU1MzMyOTQ2Nzc3M10sIFsxNjYzOTI0MTA4LjAxMjIwNjMsIDI1MDY1LCAxLjY4MjEwNzkyNTQxNTAzOV0sIFsxNjYzOTI0MTA4LjE0NTQwNzcsIDI1MDc0LCAxLjY1MTY1NjUwODQ0NTczOTddLCBbMTY2MzkyNDEwOS42MTk5MTEyLCAyNTE4MiwgMS42NTcyNDQ4MDE1MjEzMDEzXSwgWzE2NjM5MjQxMDkuODQ2ODMxOCwgMjUyMDAsIDEuNjU2MTk5MjE2ODQyNjUxNF0sIFsxNjYzOTI0MTEwLjY0ODcyNSwgMjUyNjMsIDEuNjE3NzMyNDA1NjYyNTM2Nl0sIFsxNjYzOTI0MTExLjMxMDY1MDMsIDI1MzE3LCAxLjY1OTUzNjEyMzI3NTc1NjhdLCBbMTY2MzkyNDExMS40NDQzNTQsIDI1MzI2LCAxLjY3OTY1MDA2ODI4MzA4MV0sIFsxNjYzOTI0MTEyLjkzODQxMSwgMjU0MjUsIDEuNjU0MjYzMzc3MTg5NjM2Ml0sIFsxNjYzOTI0MTEzLjA1MTg4NjYsIDI1NDM0LCAxLjY1MTgyOTYwMDMzNDE2NzVdLCBbMTY2MzkyNDExNC4wNzE4ODY4LCAyNTUxNSwgMS42OTM5ODg4MDAwNDg4MjgxXSwgWzE2NjM5MjQxMTQuMjk4NjcyNywgMjU1MzMsIDEuNjQ2MDY5ODg0MzAwMjMyXSwgWzE2NjM5MjQxMTQuNTM2MjQ0LCAyNTU1MSwgMS42NTg4MjU4NzQzMjg2MTMzXSwgWzE2NjM5MjQxMTQuNjY2ODM0LCAyNTU2MCwgMS42NDM1MTI4NDUwMzkzNjc3XSwgWzE2NjM5MjQxMTQuOTI5NzQ2OSwgMjU1NzgsIDEuNjQ2MDUyOTU2NTgxMTE1N10sIFsxNjYzOTI0MTE1LjEzNDg4NTMsIDI1NTk2LCAxLjYyNzEzNjIzMDQ2ODc1XSwgWzE2NjM5MjQxMTUuMjM2NTI1LCAyNTYwNSwgMS42MzMyMjYyNzU0NDQwMzA4XSwgWzE2NjM5MjQxMTUuNTMxNzA1LCAyNTYzMiwgMS42NTQ0ODEyOTE3NzA5MzVdLCBbMTY2MzkyNDExNS45NTA2MDMyLCAyNTY2OCwgMS42MzMzNjM0ODUzMzYzMDM3XSwgWzE2NjM5MjQxMTYuMDUyNzE1NSwgMjU2NzcsIDEuNjkwMzg3MTI5NzgzNjMwNF0sIFsxNjYzOTI0MTE2LjYxNzM3NzUsIDI1NzIyLCAxLjY0MDI3NTU5NzU3MjMyNjddLCBbMTY2MzkyNDExNi44MTYyNzk0LCAyNTc0MCwgMS42NTMzOTgyNzUzNzUzNjYyXSwgWzE2NjM5MjQxMTcuMDI3MjQyMiwgMjU3NTgsIDEuNjY5NDM1NjIwMzA3OTIyNF0sIFsxNjYzOTI0MTE3LjE0NzMyNzQsIDI1NzY3LCAxLjYyNjk0OTY2NzkzMDYwM10sIFsxNjYzOTI0MTE3LjU4Njc0MDUsIDI1ODAzLCAxLjYzNjIyNjc3MzI2MjAyNF0sIFsxNjYzOTI0MTE3Ljc4NDEzNDQsIDI1ODIxLCAxLjY0NzYwNjk2ODg3OTY5OTddLCBbMTY2MzkyNDExOC4wODE3MDE1LCAyNTg0OCwgMS42NDk4NDQxNjk2MTY2OTkyXSwgWzE2NjM5MjQxMTkuNTQxOTIzLCAyNTkyMCwgMS42MjgwOTQxOTYzMTk1OF0sIFsxNjYzOTI0MTE5LjgwMTY0MzYsIDI1OTI5LCAxLjYxNjI5MjcxNTA3MjYzMThdLCBbMTY2MzkyNDExOS45NDk3NzIxLCAyNTkzOCwgMS42Mjg0ODEyNjg4ODI3NTE1XSwgWzE2NjM5MjQxMjAuMjA3NDM0NCwgMjU5NDcsIDEuNjMzODI2NzMyNjM1NDk4XSwgWzE2NjM5MjQxMjAuNTk0NTUwMSwgMjU5NjUsIDEuNjYzODg4MDk2ODA5Mzg3Ml0sIFsxNjYzOTI0MTIxLjU5NTY1NjIsIDI2MDEwLCAxLjY1MDQ1MjM3NTQxMTk4NzNdLCBbMTY2MzkyNDEyMS44NDgxMzIsIDI2MDI4LCAxLjYzNjA5NTE2NjIwNjM1OTldLCBbMTY2MzkyNDEyMi4wNjE2MTY3LCAyNjA0NiwgMS42Nzc1NTIyMjMyMDU1NjY0XSwgWzE2NjM5MjQxMjIuMjcwNTY1NywgMjYwNjQsIDEuNjI2NDY4MTgxNjEwMTA3NF0sIFsxNjYzOTI0MTIyLjY3MDE5NTgsIDI2MTAwLCAxLjYyMjkwNjQ0NjQ1NjkwOTJdLCBbMTY2MzkyNDEyMy4yNjQ3Njg2LCAyNjEzNiwgMS42NDMzNjUxNDQ3Mjk2MTQzXSwgWzE2NjM5MjQxMjMuMzYwMDAxOCwgMjYxNDUsIDEuNjM3NzIzMDg4MjY0NDY1M10sIFsxNjYzOTI0MTI0LjA1MzUxNCwgMjYyMDgsIDEuNjY4ODkxMDcyMjczMjU0NF0sIFsxNjYzOTI0MTI0LjE3ODM4OTgsIDI2MjE3LCAxLjY2ODYxNjA1NjQ0MjI2MDddLCBbMTY2MzkyNDEyNC40MDcwNjYzLCAyNjIzNSwgMS42MzgyMjE3NDA3MjI2NTYyXSwgWzE2NjM5MjQxMjQuNTAxOTk2NSwgMjYyNDQsIDEuNjI2NDA2Nzg4ODI1OTg4OF0sIFsxNjYzOTI0MTI0Ljg2NDEzNzQsIDI2MjcxLCAxLjYzOTI0Nzg5NDI4NzEwOTRdLCBbMTY2MzkyNDEyNS4xMTcxNDA1LCAyNjI4OSwgMS41Nzk2NTEyMzY1MzQxMTg3XSwgWzE2NjM5MjQxMjUuMjIxNTU4MywgMjYyOTgsIDEuNjQxOTYxMDk3NzE3Mjg1Ml0sIFsxNjYzOTI0MTI1LjMzNDkxODcsIDI2MzA3LCAxLjYxOTEyMzMzOTY1MzAxNTFdLCBbMTY2MzkyNDEyNS42MDU0NzE4LCAyNjMyNSwgMS42MzIwMjM5MzA1NDk2MjE2XSwgWzE2NjM5MjQxMjUuNzEzNzg0LCAyNjMzNCwgMS42MjI2ODI5MjkwMzkwMDE1XSwgWzE2NjM5MjQxMjYuMzA1NDA0NywgMjYzNzksIDEuNjEwMDkyODc4MzQxNjc0OF0sIFsxNjYzOTI0MTI2Ljc5MzM5ODQsIDI2NDE1LCAxLjYwNzQ5MDY1ODc2MDA3MDhdLCBbMTY2MzkyNDEyNi45MDYwMzk3LCAyNjQyNCwgMS42MDAxNzQzMDc4MjMxODEyXSwgWzE2NjM5MjQxMjguNDk1NTUyLCAyNjU1MCwgMS41OTA0NTM4NjMxNDM5MjFdLCBbMTY2MzkyNDEyOC44MTUwNjg1LCAyNjU3NywgMS42MTc5MTAyNjU5MjI1NDY0XSwgWzE2NjM5MjQxMjkuMTk0MTA3NSwgMjY2MDQsIDEuNTg3MDg4NDY1NjkwNjEyOF0sIFsxNjYzOTI0MTI5LjUzNjA2MTMsIDI2NjMxLCAxLjYyMDIyNjM4MzIwOTIyODVdLCBbMTY2MzkyNDEzMC4wMDcyNDMsIDI2NjY3LCAxLjYyMTI3MzYzNjgxNzkzMjFdLCBbMTY2MzkyNDEzMC4xMTM4NzIsIDI2Njc2LCAxLjYwNTU0NDY4NjMxNzQ0MzhdLCBbMTY2MzkyNDEzMC4zNDc2MDEsIDI2Njk0LCAxLjYwOTUzNDAyNTE5MjI2MDddLCBbMTY2MzkyNDEzMC40NTE3OTM0LCAyNjcwMywgMS41NzM4MDM0MjQ4MzUyMDVdLCBbMTY2MzkyNDEzMC41NjExNzk0LCAyNjcxMiwgMS42MDc1NTM0ODIwNTU2NjRdLCBbMTY2MzkyNDEzMS4xMzg1NDIsIDI2NzY2LCAxLjY0MTEzODA3Njc4MjIyNjZdLCBbMTY2MzkyNDEzMS42ODk4MDA3LCAyNjgxMSwgMS42MDI3NjkyNTU2MzgxMjI2XSwgWzE2NjM5MjQxMzEuODAyNDc2NCwgMjY4MjAsIDEuNjI4MjA4ODc1NjU2MTI4XSwgWzE2NjM5MjQxMzEuOTEyMzczLCAyNjgyOSwgMS42MDQzNDc3MDU4NDEwNjQ1XSwgWzE2NjM5MjQxMzIuMDE0OTA1NSwgMjY4MzgsIDEuNjA4Mzk3NjAzMDM0OTczMV0sIFsxNjYzOTI0MTMyLjM2NDM3MzcsIDI2ODY1LCAxLjYxNjgxODE4OTYyMDk3MTddLCBbMTY2MzkyNDEzMi42MjkzNDQ3LCAyNjg4MywgMS42MTE4MjYxODE0MTE3NDMyXSwgWzE2NjM5MjQxMzIuNzU4MzUwNiwgMjY4OTIsIDEuNTk5ODYzNDA5OTk2MDMyN10sIFsxNjYzOTI0MTMzLjYyMjc5OSwgMjY5NDYsIDEuNjAyMzI1Njc3ODcxNzA0XSwgWzE2NjM5MjQxMzMuOTQwOTk0LCAyNjk3MywgMS42MjUzOTg5OTM0OTIxMjY1XSwgWzE2NjM5MjQxMzQuMTQ5OTQwNywgMjY5OTEsIDEuNTg3MDgyMDI4Mzg4OTc3XSwgWzE2NjM5MjQxMzQuMjQ5NzM2MywgMjcwMDAsIDEuNjIzMTQ2Mjk1NTQ3NDg1NF1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_09-23-28_54c5144e9b50&tag=Loss%2Ftrain":{"data":"W1sxNjYzOTI1MDA4LjI4NDM3NTIsIDksIDEwMi4zMzAwMzIzNDg2MzI4MV0sIFsxNjYzOTI1MDA4LjUwMTE4NzMsIDI3LCA4Ni43Mjk3NDM5NTc1MTk1M10sIFsxNjYzOTI1MDA4LjYxODgwNzgsIDM2LCA3OS41NzExNDQxMDQwMDM5XSwgWzE2NjM5MjUwMDguNzI2MTU1NSwgNDUsIDcwLjMwOTE1ODMyNTE5NTMxXSwgWzE2NjM5MjUwMDkuMDY2MjAxNywgNzIsIDUwLjQ2OTk4MjE0NzIxNjhdLCBbMTY2MzkyNTAwOS4yODk2MDE2LCA5MCwgNDAuMTc2NDQ4ODIyMDIxNDg0XSwgWzE2NjM5MjUwMDkuNDEzNDE2OSwgOTksIDM1LjcxNjgxNTk0ODQ4NjMzXSwgWzE2NjM5MjUwMDkuNTI2NzMzNCwgMTA4LCAzMS43OTc4MDE5NzE0MzU1NDddLCBbMTY2MzkyNTAwOS44NzY0NzgsIDEzNSwgMjMuMzc4MzIwNjkzOTY5NzI3XSwgWzE2NjM5MjUwMDkuOTg2MjEwNiwgMTQ0LCAyMS44MTMzOTI2MzkxNjAxNTZdLCBbMTY2MzkyNTAxMC4wOTg1OTY4LCAxNTMsIDE5LjcyNjg4Njc0OTI2NzU3OF0sIFsxNjYzOTI1MDEwLjI5OTE3OSwgMTcxLCAxNy45Njk3Mzk5MTM5NDA0M10sIFsxNjYzOTI1MDEwLjQxMzU1ODIsIDE4MCwgMTcuMzE5MzEzMDQ5MzE2NDA2XSwgWzE2NjM5MjUwMTAuNTI1NzA0MSwgMTg5LCAxNi43Nzg5NDIxMDgxNTQyOTddLCBbMTY2MzkyNTAxMC43Nzc1OTA1LCAyMDcsIDE1LjkwNjY2Mjk0MDk3OTAwNF0sIFsxNjYzOTI1MDEwLjkwNDk2NzgsIDIxNiwgMTUuNjI2MTU5NjY3OTY4NzVdLCBbMTY2MzkyNTAxMS4yNDQyMzIyLCAyNDMsIDE1LjA1MzU5ODQwMzkzMDY2NF0sIFsxNjYzOTI1MDExLjM0OTM4NjIsIDI1MiwgMTQuNTkzNjM1NTU5MDgyMDMxXSwgWzE2NjM5MjUwMTEuNDY5ODUzLCAyNjEsIDE0LjA1MTA5ODgyMzU0NzM2M10sIFsxNjYzOTI1MDExLjU4NjE0OTcsIDI3MCwgMTQuMjY5NTQ5MzY5ODEyMDEyXSwgWzE2NjM5MjUwMTEuNzA1NTQ5MiwgMjc5LCAxMy42Njg3MjExOTkwMzU2NDVdLCBbMTY2MzkyNTAxMS44MjU2MDYzLCAyODgsIDEzLjQ1NTkzMDcwOTgzODg2N10sIFsxNjYzOTI1MDExLjkzMjg1NTEsIDI5NywgMTMuMjQ4MzAzNDEzMzkxMTEzXSwgWzE2NjM5MjUwMTIuMDQwOTIwNywgMzA2LCAxMi44NjYzNTExMjc2MjQ1MTJdLCBbMTY2MzkyNTAxMi4xNTM2LCAzMTUsIDEyLjcyNDc2Mzg3MDIzOTI1OF0sIFsxNjYzOTI1MDEyLjM4MzIyNzYsIDMzMywgMTIuMzU5NzQ1MDI1NjM0NzY2XSwgWzE2NjM5MjUwMTIuNTA0ODg4LCAzNDIsIDEyLjEwNzc2OTAxMjQ1MTE3Ml0sIFsxNjYzOTI1MDEyLjYwNTcxMjIsIDM1MSwgMTEuODg0NTkzMDA5OTQ4NzNdLCBbMTY2MzkyNTAxMi43MjEyNTEyLCAzNjAsIDExLjY4NzU4Mjk2OTY2NTUyN10sIFsxNjYzOTI1MDEyLjgyMzE5NCwgMzY5LCAxMS40NDQzMDU0MTk5MjE4NzVdLCBbMTY2MzkyNTAxMy4wNDI4MjIsIDM4NywgMTAuODU4Njg0NTM5Nzk0OTIyXSwgWzE2NjM5MjUwMTMuMTUxNzQyNywgMzk2LCAxMC42NjAzNjIyNDM2NTIzNDRdLCBbMTY2MzkyNTAxMy42MDExNjI0LCA0MzIsIDkuODc2NjAzMTI2NTI1ODc5XSwgWzE2NjM5MjUwMTMuNzAwMDEyNCwgNDQxLCA5LjY5MDAwODE2MzQ1MjE0OF0sIFsxNjYzOTI1MDEzLjgxMjUxMDcsIDQ1MCwgOS4zMDkyNzk0NDE4MzM0OTZdLCBbMTY2MzkyNTAxMy45MzAzNjEsIDQ1OSwgOS4xMjQxODU1NjIxMzM3ODldLCBbMTY2MzkyNTAxNC4wMzcxODI4LCA0NjgsIDkuMDg4NjAzMDE5NzE0MzU1XSwgWzE2NjM5MjUwMTQuMTQ2OTA4NSwgNDc3LCA4LjkwMzI5NTUxNjk2Nzc3M10sIFsxNjYzOTI1MDE0LjI2MTYxOTYsIDQ4NiwgOC43Nzk3OTM3MzkzMTg4NDhdLCBbMTY2MzkyNTAxNC4zNjc1MjksIDQ5NSwgOC40NzA4MzM3NzgzODEzNDhdLCBbMTY2MzkyNTAxNC40OTA1NTAzLCA1MDQsIDguMjUyMzY2MDY1OTc5MDA0XSwgWzE2NjM5MjUwMTQuNzEzMjM0MiwgNTIyLCA4LjA5ODAzMTA0NDAwNjM0OF0sIFsxNjYzOTI1MDE1LjA3NjM4NiwgNTQ5LCA3LjU2MDY3OTQzNTcyOTk4MDVdLCBbMTY2MzkyNTAxNS4xOTY1ODUsIDU1OCwgNy4zMDgxNjM2NDI4ODMzMDFdLCBbMTY2MzkyNTAxNS4yOTkxNDY3LCA1NjcsIDcuMjQ5Nzc4NzQ3NTU4NTk0XSwgWzE2NjM5MjUwMTUuNTA2NTM4MiwgNTc2LCA3LjI0NTE3NDg4NDc5NjE0M10sIFsxNjYzOTI1MDE1Ljg1OTU1NywgNTk0LCA2Ljk0MjI5MzE2NzExNDI1OF0sIFsxNjYzOTI1MDE1Ljk3NjQxMjgsIDYwMywgNi44MjgwOTYzODk3NzA1MDhdLCBbMTY2MzkyNTAxNi4wNzUwOTczLCA2MTIsIDYuNjQ0ODcxNzExNzMwOTU3XSwgWzE2NjM5MjUwMTYuMTg3NzY0NCwgNjIxLCA2LjU4ODc2MzcxMzgzNjY3XSwgWzE2NjM5MjUwMTYuNDMyNDIyLCA2MzksIDYuNDAxOTQwMzQ1NzY0MTZdLCBbMTY2MzkyNTAxNi41MzAzMjQsIDY0OCwgNi4zMTU3NjM5NTAzNDc5XSwgWzE2NjM5MjUwMTYuNzI3MzI0NywgNjY2LCA2LjAwNDgzNDY1MTk0NzAyMTVdLCBbMTY2MzkyNTAxNy4wNzM5OTMyLCA2ODQsIDUuOTE4NDg4NTAyNTAyNDQxXSwgWzE2NjM5MjUwMTcuMzAzMDg5MSwgNzAyLCA1LjY0MjgxMDM0NDY5NjA0NV0sIFsxNjYzOTI1MDE3LjQxNTg1NywgNzExLCA1LjU3Nzc0Njg2ODEzMzU0NV0sIFsxNjYzOTI1MDE3LjUxNzQ5MDEsIDcyMCwgNS41ODQ0NTU5NjY5NDk0NjNdLCBbMTY2MzkyNTAxNy42MzgxNzE3LCA3MjksIDUuNTE1OTE2MzQ3NTAzNjYyXSwgWzE2NjM5MjUwMTcuNzYwOTk1MSwgNzM4LCA1LjUyMTA4MzgzMTc4NzEwOV0sIFsxNjYzOTI1MDE3Ljg4MDE1NCwgNzQ3LCA1LjM2OTQ5NDkxNTAwODU0NV0sIFsxNjYzOTI1MDE4LjAwMDQxNSwgNzU2LCA1LjM4NzkwNDE2NzE3NTI5M10sIFsxNjYzOTI1MDE4LjI1ODE5MSwgNzc0LCA1LjIxOTgxNjIwNzg4NTc0Ml0sIFsxNjYzOTI1MDE4LjM3MDQyLCA3ODMsIDUuMjMwNTk1NTg4Njg0MDgyXSwgWzE2NjM5MjUwMTguNDg2MTUxNywgNzkyLCA1LjIxNjE2MzE1ODQxNjc0OF0sIFsxNjYzOTI1MDE4LjcyNDMwOTQsIDgxMCwgNS4wOTc4OTUxNDU0MTYyNl0sIFsxNjYzOTI1MDE4LjgzNzYzODYsIDgxOSwgNS4wNTg4MjEyMDEzMjQ0NjNdLCBbMTY2MzkyNTAxOS4wNzQyODg4LCA4MzcsIDUuMDUzMTA0ODc3NDcxOTI0XSwgWzE2NjM5MjUwMTkuMzAxNDk3LCA4NTUsIDQuOTk5MDY5MjEzODY3MTg3NV0sIFsxNjYzOTI1MDE5LjQxNzYwMDQsIDg2NCwgNS4wMTQ2MTY5NjYyNDc1NTldLCBbMTY2MzkyNTAxOS41MzY2MjQ3LCA4NzMsIDQuOTg3MzE5OTQ2Mjg5MDYyNV0sIFsxNjYzOTI1MDE5Ljg3OTQ4MTYsIDkwMCwgNC44NTMzNTM1MDAzNjYyMTFdLCBbMTY2MzkyNTAxOS45ODcyNDgyLCA5MDksIDQuNzk0NjQxMDE3OTEzODE4XSwgWzE2NjM5MjUwMjAuMzM0ODYxOCwgOTM2LCA0LjgwNTA5NzEwMzExODg5NjVdLCBbMTY2MzkyNTAyMC40MzMyMTUsIDk0NSwgNC42NzYwNjMwNjA3NjA0OThdLCBbMTY2MzkyNTAyMC42NDI1Mzk3LCA5NjMsIDQuNzExNzMzODE4MDU0MTk5XSwgWzE2NjM5MjUwMjAuNzQ1NzU2NCwgOTcyLCA0LjY4NzQ2MDg5OTM1MzAyN10sIFsxNjYzOTI1MDIwLjg2MjU3OTgsIDk4MSwgNC42ODcwODg0ODk1MzI0NzFdLCBbMTY2MzkyNTAyMC45NzgzNjg4LCA5OTAsIDQuNjM1OTkzMDAzODQ1MjE1XSwgWzE2NjM5MjUwMjEuMDkxNzQ3MywgOTk5LCA0LjU5MDc2MjEzODM2NjY5OV0sIFsxNjYzOTI1MDIxLjE5OTI2NywgMTAwOCwgNC41NDE1NzM1MjQ0NzUwOThdLCBbMTY2MzkyNTAyMS4zMDU5ODE2LCAxMDE3LCA0LjU0MTkzNTkyMDcxNTMzMl0sIFsxNjYzOTI1MDIxLjUwMDg1NDMsIDEwMzUsIDQuNTI5MTk2MjYyMzU5NjE5XSwgWzE2NjM5MjUwMjEuNTk2MjAzLCAxMDQ0LCA0LjU3MjQzMjk5NDg0MjUyOV0sIFsxNjYzOTI1MDIxLjY5NDM3ODEsIDEwNTMsIDQuNTQ5MjgzOTgxMzIzMjQyXSwgWzE2NjM5MjUwMjEuNzk4MDQ4MywgMTA2MiwgNC40NDgwNDU3MzA1OTA4Ml0sIFsxNjYzOTI1MDIyLjEyMTk4MDQsIDEwODksIDQuNDI2NjE1NzE1MDI2ODU1NV0sIFsxNjYzOTI1MDIyLjIyMjMwNCwgMTA5OCwgNC4zNzc0NDA5Mjk0MTI4NDJdLCBbMTY2MzkyNTAyMi42NDg3OTczLCAxMTM0LCA0LjI3NTc1NTg4MjI2MzE4NF0sIFsxNjYzOTI1MDIyLjc4NDA0MjYsIDExNDMsIDQuMjgzNTc3OTE5MDA2MzQ4XSwgWzE2NjM5MjUwMjIuOTE3MjQsIDExNTIsIDQuMjU2ODM1NDYwNjYyODQyXSwgWzE2NjM5MjUwMjMuMDQwMjM0NiwgMTE2MSwgNC4yMTk3NTg5ODc0MjY3NThdLCBbMTY2MzkyNTAyMy4xNTY4MjEzLCAxMTcwLCA0LjIxNTQ4MjIzNDk1NDgzNF0sIFsxNjYzOTI1MDIzLjI4MDkyMzYsIDExNzksIDQuMTY0NDM4MjQ3NjgwNjY0XSwgWzE2NjM5MjUwMjMuMzk3MTk1NiwgMTE4OCwgNC4xNTk3MTM3NDUxMTcxODc1XSwgWzE2NjM5MjUwMjMuNTEzMzgwOCwgMTE5NywgNC4xNTkzODI4MjAxMjkzOTQ1XSwgWzE2NjM5MjUwMjMuNzIyMDU2NiwgMTIxNSwgNC4wNTg4NTAyODgzOTExMTNdLCBbMTY2MzkyNTAyMy45MTg2ODk3LCAxMjMzLCA0LjA1Nzc3MTY4MjczOTI1OF0sIFsxNjYzOTI1MDI0LjAyNDE1MjUsIDEyNDIsIDQuMDg1MzkxOTk4MjkxMDE2XSwgWzE2NjM5MjUwMjQuMTE3MTIsIDEyNTEsIDMuOTI0Nzk2MTA0NDMxMTUyM10sIFsxNjYzOTI1MDI0LjIxNTI5NSwgMTI2MCwgMy45NDI0ODgxOTM1MTE5NjNdLCBbMTY2MzkyNTAyNC4zMTI4OTEyLCAxMjY5LCAzLjgzNDAwNTExNzQxNjM4Ml0sIFsxNjYzOTI1MDI0LjQxMjg4ODUsIDEyNzgsIDMuOTU1MDE0NzA1NjU3OTU5XSwgWzE2NjM5MjUwMjQuOTA2MTM3MiwgMTI5NiwgMy44NzUyMjQ1OTAzMDE1MTM3XSwgWzE2NjM5MjUwMjUuMDM3ODM0LCAxMzA1LCAzLjgyMDcyODc3ODgzOTExMTNdLCBbMTY2MzkyNTAyNS4xMzYyMDY2LCAxMzE0LCAzLjc3MzY0MjUzOTk3ODAyNzNdLCBbMTY2MzkyNTAyNS4yMzM2NjQsIDEzMjMsIDMuNzg4OTczNTY5ODY5OTk1XSwgWzE2NjM5MjUwMjUuMzMxMzA5LCAxMzMyLCAzLjgxNTY3MTIwNTUyMDYzXSwgWzE2NjM5MjUwMjUuNDQ2NjI1NywgMTM0MSwgMy43NzE2MDAyNDY0Mjk0NDM0XSwgWzE2NjM5MjUwMjUuNjUwNzE5NiwgMTM1OSwgMy43NTk2NDQ1MDgzNjE4MTY0XSwgWzE2NjM5MjUwMjYuMDc5ODQ4MywgMTM5NSwgMy41Nzk3ODIyNDc1NDMzMzVdLCBbMTY2MzkyNTAyNi4zMDA0MDI2LCAxNDEzLCAzLjU2Nzg0MjQ4MzUyMDUwOF0sIFsxNjYzOTI1MDI2LjQxMDUzODIsIDE0MjIsIDMuNTkwMDQ0NDk4NDQzNjAzNV0sIFsxNjYzOTI1MDI2LjU0Mjc2MzcsIDE0MzEsIDMuNTcyNTYwMzEwMzYzNzY5NV0sIFsxNjYzOTI1MDI2LjY1MTI3NywgMTQ0MCwgMy41NjU3Njc3NjUwNDUxNjZdLCBbMTY2MzkyNTAyNi43NjcxMTkyLCAxNDQ5LCAzLjQzNDI2OTkwNTA5MDMzMl0sIFsxNjYzOTI1MDI2Ljg3OTEwOTksIDE0NTgsIDMuNDc4MDU3Mzg0NDkwOTY3XSwgWzE2NjM5MjUwMjYuOTkzMzIzLCAxNDY3LCAzLjUxNDA1NTAxMzY1NjYxNl0sIFsxNjYzOTI1MDI3LjI1MjU3MzMsIDE0NzYsIDMuNDY3ODUyNTkyNDY4MjYxN10sIFsxNjYzOTI1MDI3LjM1NTgzMTksIDE0ODUsIDMuMzc1OTY0NjQxNTcxMDQ1XSwgWzE2NjM5MjUwMjcuNTUzMDM1MywgMTUwMywgMy4zNzI5NjQ2MjA1OTAyMV0sIFsxNjYzOTI1MDI3Ljc1ODY5NDQsIDE1MjEsIDMuMzE1MTAxODYxOTUzNzM1NF0sIFsxNjYzOTI1MDI3Ljg2MjY5MzgsIDE1MzAsIDMuMjk0Njc5ODgwMTQyMjEyXSwgWzE2NjM5MjUwMjcuOTYzNzEwMywgMTUzOSwgMy4zNjcwNDY4MzMwMzgzM10sIFsxNjYzOTI1MDI4LjA2NjE2MDQsIDE1NDgsIDMuMjk2NDM4MjE3MTYzMDg2XSwgWzE2NjM5MjUwMjguMTc5MTc5NCwgMTU1NywgMy4yNzcxMDU1Njk4Mzk0Nzc1XSwgWzE2NjM5MjUwMjguNDAwNjQ0MywgMTU3NSwgMy4yNzk3MzAwODE1NTgyMjc1XSwgWzE2NjM5MjUwMjguNTE0ODQwMSwgMTU4NCwgMy4xNzk3NzgwOTkwNjAwNTg2XSwgWzE2NjM5MjUwMjguNjE1NDc5MiwgMTU5MywgMy4xNjQ0MjUxMzQ2NTg4MTM1XSwgWzE2NjM5MjUwMjguNzQwOTQyNSwgMTYwMiwgMy4xODA2OTQxMDMyNDA5NjddLCBbMTY2MzkyNTAyOC44NDE5NzI4LCAxNjExLCAzLjE1MjQ0MjQ1NTI5MTc0OF0sIFsxNjYzOTI1MDI5LjA1MjExMTQsIDE2MjksIDMuMTY4MTI3NTM2NzczNjgxNl0sIFsxNjYzOTI1MDI5LjE2NjIxNiwgMTYzOCwgMy4wNjc5MTg1MzkwNDcyNDFdLCBbMTY2MzkyNTAyOS4yNzg5MTc2LCAxNjQ3LCAzLjEwMjkwNzY1NzYyMzI5MV0sIFsxNjYzOTI1MDI5LjQwMTMzMDIsIDE2NTYsIDIuOTk5MzMxNzEyNzIyNzc4M10sIFsxNjYzOTI1MDI5LjU0NTYwMDQsIDE2NjUsIDMuMDI2ODczMTExNzI0ODUzNV0sIFsxNjYzOTI1MDI5LjY0MzM2ODUsIDE2NzQsIDMuMDE2MDMwMDczMTY1ODkzNl0sIFsxNjYzOTI1MDI5Ljc0NDE0NSwgMTY4MywgMi45OTM2MTE4MTI1OTE1NTI3XSwgWzE2NjM5MjUwMzAuMTA5NjEyLCAxNzEwLCAyLjgzODI3NDk1NTc0OTUxMTddLCBbMTY2MzkyNTAzMC4yMTQ5MjQ4LCAxNzE5LCAyLjkwMDY4Njk3OTI5MzgyMzJdLCBbMTY2MzkyNTAzMC4zMzI2NTg4LCAxNzI4LCAyLjc2MTMzODcxMDc4NDkxMl0sIFsxNjYzOTI1MDMwLjQzOTYzMywgMTczNywgMi43NDYwNjQxODYwOTYxOTE0XSwgWzE2NjM5MjUwMzAuNTY1Njg1MywgMTc0NiwgMi43NTk5NTczMTM1Mzc1OTc3XSwgWzE2NjM5MjUwMzAuNzg5NzM0OCwgMTc2NCwgMi43NjQ0MDY0NDI2NDIyMTJdLCBbMTY2MzkyNTAzMS4wMzI2Njc5LCAxNzgyLCAyLjcxMzg3NTc3MDU2ODg0NzddLCBbMTY2MzkyNTAzMS4xNTAxNTE1LCAxNzkxLCAyLjY4ODgzNzUyODIyODc1OThdLCBbMTY2MzkyNTAzMS4yNjEwMzkzLCAxODAwLCAyLjYzMTE4NjI0Njg3MTk0ODJdLCBbMTY2MzkyNTAzMS4zODc2NzAzLCAxODA5LCAyLjYwMDc3MjE0MjQxMDI3ODNdLCBbMTY2MzkyNTAzMS42MTA3MDYzLCAxODI3LCAyLjU3NDU1MzcyODEwMzYzNzddLCBbMTY2MzkyNTAzMS43MTU0MDIsIDE4MzYsIDIuNTcyMzkzNjU1Nzc2OTc3NV0sIFsxNjYzOTI1MDMxLjgyNjI5MjMsIDE4NDUsIDIuNTMwNzIwNDcyMzM1ODE1NF0sIFsxNjYzOTI1MDMxLjk0NjE4NDYsIDE4NTQsIDIuNDkxMzQ5Njk3MTEzMDM3XSwgWzE2NjM5MjUwMzIuMDY3Mjg5OCwgMTg2MywgMi40OTM3MzI5MjkyMjk3MzYzXSwgWzE2NjM5MjUwMzIuMTcxNjQ5LCAxODcyLCAyLjQ5NjU3MjI1NjA4ODI1N10sIFsxNjYzOTI1MDMyLjI3NzcxNzYsIDE4ODEsIDIuNDY3MTc2OTE0MjE1MDg4XSwgWzE2NjM5MjUwMzIuNDM1OTM3LCAxODkwLCAyLjQ3MjA3Mzc5MzQxMTI1NV0sIFsxNjYzOTI1MDMyLjUzNDA0NSwgMTg5OSwgMi40NDQ1NzA1NDEzODE4MzZdLCBbMTY2MzkyNTAzMi42NDEzODMsIDE5MDgsIDIuNDQ3NDI0NjUwMTkyMjYwN10sIFsxNjYzOTI1MDMyLjg2OTg3MTksIDE5MjYsIDIuMzYzNjY3NDg4MDk4MTQ0NV0sIFsxNjYzOTI1MDMzLjA3NzYwMjEsIDE5NDQsIDIuMzgxNjU5MjY5MzMyODg1N10sIFsxNjYzOTI1MDMzLjE4MjM5OTMsIDE5NTMsIDIuMzMwMTg0MjIxMjY3N10sIFsxNjYzOTI1MDMzLjQwMDA4ODUsIDE5NzEsIDIuMjg2OTczOTUzMjQ3MDcwM10sIFsxNjYzOTI1MDMzLjUxMDE4OCwgMTk4MCwgMi4zNjIzMzA5MTM1NDM3MDFdLCBbMTY2MzkyNTAzMy41OTk3OSwgMTk4OSwgMi4yNzQ5NzEyNDY3MTkzNjA0XSwgWzE2NjM5MjUwMzMuNjk0NDk3LCAxOTk4LCAyLjMyMDA5NTc3NzUxMTU5NjddLCBbMTY2MzkyNTAzMy43ODk4NTE0LCAyMDA3LCAyLjI4NjEwNDQ0MDY4OTA4N10sIFsxNjYzOTI1MDM0LjAwNzY4MywgMjAyNSwgMi4yNDMxNzY2OTg2ODQ2OTI0XSwgWzE2NjM5MjUwMzQuMTE1NTM3NCwgMjAzNCwgMi4yMjQ5NzQxNTU0MjYwMjU0XSwgWzE2NjM5MjUwMzQuMjQyMDI2LCAyMDQzLCAyLjIwODg1MzQ4MzIwMDA3MzJdLCBbMTY2MzkyNTAzNC41NjgxMDg2LCAyMDcwLCAyLjIwNzA5MTA5MzA2MzM1NDVdLCBbMTY2MzkyNTAzNC43NjM4MDM3LCAyMDg4LCAyLjE2ODUwMjA5MjM2MTQ1XSwgWzE2NjM5MjUwMzQuODU5MDExNywgMjA5NywgMi4xNzA1MzkzNzkxMTk4NzNdLCBbMTY2MzkyNTAzNC45NzU4OTcsIDIxMDYsIDIuMTgyNzIwNDIyNzQ0NzUxXSwgWzE2NjM5MjUwMzUuMTExNTcyNywgMjExNSwgMi4xNDg4MTM3MjQ1MTc4MjIzXSwgWzE2NjM5MjUwMzUuMjA3OTk0MiwgMjEyNCwgMi4xMzYwMDYzNTUyODU2NDQ1XSwgWzE2NjM5MjUwMzUuMzAzMzAwOSwgMjEzMywgMi4xMzQwNjIwNTE3NzMwNzEzXSwgWzE2NjM5MjUwMzUuMzk4OTg3OCwgMjE0MiwgMi4xNzIwNjMzNTA2Nzc0OTAyXSwgWzE2NjM5MjUwMzUuNTMxMTMyMiwgMjE1MSwgMi4xMjA5NDM1NDYyOTUxNjZdLCBbMTY2MzkyNTAzNS42Mzg5NDcsIDIxNjAsIDIuMTA3NjkxNzY0ODMxNTQzXSwgWzE2NjM5MjUwMzUuODQxMDc2OSwgMjE3OCwgMi4wOTg3Njg5NDk1MDg2NjddLCBbMTY2MzkyNTAzNS45NjgzMDQ2LCAyMTg3LCAyLjExMDI0NzYxMTk5OTUxMTddLCBbMTY2MzkyNTAzNi4yMDk2NDcyLCAyMjA1LCAyLjA1NjQ3NzU0NjY5MTg5NDVdLCBbMTY2MzkyNTAzNi4zMjQ3NTUsIDIyMTQsIDIuMDY1Nzg5Njk5NTU0NDQzNF0sIFsxNjYzOTI1MDM2LjQzMTI1NjgsIDIyMjMsIDIuMDU0NzIwNDAxNzYzOTE2XSwgWzE2NjM5MjUwMzYuNTM3MDQ2LCAyMjMyLCAyLjA1OTk1NjMxMjE3OTU2NTRdLCBbMTY2MzkyNTAzNi42MzE5NjcsIDIyNDEsIDIuMDMyMzU1NTQ2OTUxMjk0XSwgWzE2NjM5MjUwMzYuNzM4MDk4OSwgMjI1MCwgMi4wNTc3MjU0Mjk1MzQ5MTJdLCBbMTY2MzkyNTAzNy4yNjUwOTIsIDIyNzcsIDIuMDU5NjA5MTc0NzI4MzkzNl0sIFsxNjYzOTI1MDM3LjM2MTY4NDgsIDIyODYsIDIuMDA1NjIwOTU2NDIwODk4NF0sIFsxNjYzOTI1MDM3LjQ1ODg5MzUsIDIyOTUsIDIuMDM5OTU2MDkyODM0NDcyN10sIFsxNjYzOTI1MDM3LjU1NDIxMjgsIDIzMDQsIDIuMDE3NzUyNDA4OTgxMzIzMl0sIFsxNjYzOTI1MDM3Ljc0Njk3NDcsIDIzMjIsIDIuMDIyNDk2NDYxODY4Mjg2XSwgWzE2NjM5MjUwMzcuODQ3NzIyLCAyMzMxLCAyLjAwOTE3NDU4NTM0MjQwNzJdLCBbMTY2MzkyNTAzNy45Mzc3NzU0LCAyMzQwLCAxLjk3Nzg3ODkyODE4NDUwOTNdLCBbMTY2MzkyNTAzOC4wMzU0MTg1LCAyMzQ5LCAyLjAyNzk5MjQ4Njk1MzczNTRdLCBbMTY2MzkyNTAzOC4zMDA4MjQsIDIzNjcsIDIuMDA1NDMzNTU5NDE3NzI0Nl0sIFsxNjYzOTI1MDM4LjQxNjA1NiwgMjM3NiwgMS45NTEzNDQ2MDkyNjA1NTldLCBbMTY2MzkyNTAzOC42MjA3OTI5LCAyMzk0LCAxLjk1OTU1MzU5OTM1NzYwNV0sIFsxNjYzOTI1MDM4LjkzMzA4MTQsIDI0MjEsIDEuOTU5NDkyMDg3MzY0MTk2OF0sIFsxNjYzOTI1MDM5LjE3ODgwNCwgMjQzOSwgMS45MzI4NzAzODgwMzEwMDU5XSwgWzE2NjM5MjUwMzkuMjk2Mzg4MSwgMjQ0OCwgMS45NTExNDgxNTIzNTEzNzk0XSwgWzE2NjM5MjUwMzkuNTI0NjIzNiwgMjQ2NiwgMS45NTU2NDkzNzU5MTU1MjczXSwgWzE2NjM5MjUwMzkuNjM4NTUwMywgMjQ3NSwgMS45NTQ1NjM0OTg0OTcwMDkzXSwgWzE2NjM5MjUwMzkuNzUxMTM4NCwgMjQ4NCwgMS45MzU1ODk3OTAzNDQyMzgzXSwgWzE2NjM5MjUwMzkuODYzNjc2LCAyNDkzLCAxLjkyODQ2NjIwMDgyODU1MjJdLCBbMTY2MzkyNTA0MC4wODcxMjk0LCAyNTExLCAxLjk2MzM4ODIwNDU3NDU4NV0sIFsxNjYzOTI1MDQwLjIwMDI0ODUsIDI1MjAsIDEuOTA1NDkzODU1NDc2Mzc5NF0sIFsxNjYzOTI1MDQwLjMxMTEzNiwgMjUyOSwgMS45MDU3MTk3NTcwODAwNzgxXSwgWzE2NjM5MjUwNDAuNDE3Nzg3NiwgMjUzOCwgMS44ODkyNDIwNTMwMzE5MjE0XSwgWzE2NjM5MjUwNDAuNTI1NTk4OCwgMjU0NywgMS44NzI2MDM2NTQ4NjE0NTAyXSwgWzE2NjM5MjUwNDAuNjM1NTgyLCAyNTU2LCAxLjkwMjAxNDQ5Mzk0MjI2MDddLCBbMTY2MzkyNTA0MC43NDc2ODk3LCAyNTY1LCAxLjkwODkwMjI4NzQ4MzIxNTNdLCBbMTY2MzkyNTA0MC44NTcxMTA3LCAyNTc0LCAxLjg5NjkxODA1ODM5NTM4NTddLCBbMTY2MzkyNTA0MC45NzU3MDMsIDI1ODMsIDEuODUxMzYzNDIwNDg2NDUwMl0sIFsxNjYzOTI1MDQxLjA5OTQxLCAyNTkyLCAxLjkxNTQyNDIyNzcxNDUzODZdLCBbMTY2MzkyNTA0MS4yMDYxMjU3LCAyNjAxLCAxLjg5MjQ3MDI0MDU5Mjk1NjVdLCBbMTY2MzkyNTA0MS40MjE1NzkxLCAyNjE5LCAxLjg0Njk0MDUxNzQyNTUzN10sIFsxNjYzOTI1MDQxLjUyNTcxODIsIDI2MjgsIDEuODUzNDczNjYzMzMwMDc4MV0sIFsxNjYzOTI1MDQyLjAwOTU2NzUsIDI2NjQsIDEuODk5NjMwNDI3MzYwNTM0N10sIFsxNjYzOTI1MDQyLjEyMTcyMzQsIDI2NzMsIDEuODcwMDIxNzAwODU5MDY5OF0sIFsxNjYzOTI1MDQyLjIzMTcxNCwgMjY4MiwgMS44NjkxOTM1NTM5MjQ1NjA1XSwgWzE2NjM5MjUwNDIuMzQ1MjE5LCAyNjkxLCAxLjg1MTk4OTM4ODQ2NTg4MTNdLCBbMTY2MzkyNTA0Mi40ODM0MTksIDI3MDAsIDEuODM4Nzg0NDU2MjUzMDUxOF0sIFsxNjYzOTI1MDQyLjU5MDIyNTcsIDI3MDksIDEuOTAyMTc2ODU2OTk0NjI5XSwgWzE2NjM5MjUwNDIuOTI1MjgxMywgMjczNiwgMS44MjE1MTI0NjA3MDg2MTgyXSwgWzE2NjM5MjUwNDMuMDMzNjQ4NSwgMjc0NSwgMS44NzQ1OTc1NDk0Mzg0NzY2XSwgWzE2NjM5MjUwNDMuMTQ3NjcwNywgMjc1NCwgMS44MTI2MTkzMjg0OTg4NDAzXSwgWzE2NjM5MjUwNDMuMjczNDk3OCwgMjc2MywgMS44NjAzODE0ODQwMzE2NzcyXSwgWzE2NjM5MjUwNDMuMzkwNzI3OCwgMjc3MiwgMS44NDA4OTgyNzUzNzUzNjYyXSwgWzE2NjM5MjUwNDMuNDg0NzUwMywgMjc4MSwgMS44Mzk1OTA1NDk0Njg5OTQxXSwgWzE2NjM5MjUwNDMuNTgzMjExNCwgMjc5MCwgMS44MTg3MzU5NTcxNDU2OTFdLCBbMTY2MzkyNTA0My43ODg4NzksIDI4MDgsIDEuODA5NzY4NTU3NTQ4NTIzXSwgWzE2NjM5MjUwNDMuODgyMDQ3MiwgMjgxNywgMS44MTkzNDMzMjg0NzU5NTIxXSwgWzE2NjM5MjUwNDMuOTc2OTk4LCAyODI2LCAxLjc5MjU5MjQwNjI3Mjg4ODJdLCBbMTY2MzkyNTA0NC4wNzAwNDY3LCAyODM1LCAxLjgzMTQxMjkxMTQxNTFdLCBbMTY2MzkyNTA0NC4xODg5NTc1LCAyODQ0LCAxLjgwNDA5MTY5MTk3MDgyNTJdLCBbMTY2MzkyNTA0NC4zMDM0OTUyLCAyODUzLCAxLjgzNjY1ODU5Njk5MjQ5MjddLCBbMTY2MzkyNTA0NC41MDYxOTc1LCAyODcxLCAxLjgwNTU2MjQ5NjE4NTMwMjddLCBbMTY2MzkyNTA0NC42NDg5MDY1LCAyODgwLCAxLjc2NzA4MzQwNjQ0ODM2NDNdLCBbMTY2MzkyNTA0NC43NTgyODgsIDI4ODksIDEuODA0MDcxMTg3OTczMDIyNV0sIFsxNjYzOTI1MDQ0Ljg2NjY5MDksIDI4OTgsIDEuNzk1MDg3NDU2NzAzMTg2XSwgWzE2NjM5MjUwNDQuOTg2MzExNywgMjkwNywgMS43ODI0MTI0MDk3ODI0MDk3XSwgWzE2NjM5MjUwNDUuMjA2MzIxNSwgMjkyNSwgMS43OTk2NTE3NDE5ODE1MDYzXSwgWzE2NjM5MjUwNDUuNTQyNTg4NywgMjk1MiwgMS43Nzc5NDY1OTEzNzcyNTgzXSwgWzE2NjM5MjUwNDUuNzU4NzI5MiwgMjk3MCwgMS43NjI3MjcwMjIxNzEwMjA1XSwgWzE2NjM5MjUwNDUuODg5NzI2NiwgMjk3OSwgMS43NjkxNzE4MzM5OTIwMDQ0XSwgWzE2NjM5MjUwNDYuMDExODcyNSwgMjk4OCwgMS43ODAwMjI3NDAzNjQwNzQ3XSwgWzE2NjM5MjUwNDYuMTA5MDk4LCAyOTk3LCAxLjc2MzE0NDI1NDY4NDQ0ODJdLCBbMTY2MzkyNTA0Ni4yMTE5MzI3LCAzMDA2LCAxLjc2NzcxNzEyMzAzMTYxNjJdLCBbMTY2MzkyNTA0Ni41NDEyMjY5LCAzMDMzLCAxLjc2NjgyMzQxMDk4Nzg1NF0sIFsxNjYzOTI1MDQ2Ljg1NTczNzQsIDMwNDIsIDEuNzgyNDkxODAzMTY5MjUwNV0sIFsxNjYzOTI1MDQ2Ljk2Mzc2NSwgMzA1MSwgMS43NTQ5NDUxNTg5NTg0MzVdLCBbMTY2MzkyNTA0Ny4xNzk2OTk0LCAzMDY5LCAxLjc1NzE5NzI2MDg1NjYyODRdLCBbMTY2MzkyNTA0Ny40MTYwNDk3LCAzMDg3LCAxLjc3MzEwNzQwOTQ3NzIzMzldLCBbMTY2MzkyNTA0Ny41Mzg4OTA2LCAzMDk2LCAxLjcyNzUwMzUzODEzMTcxMzldLCBbMTY2MzkyNTA0Ny42NzAyMTczLCAzMTA1LCAxLjcxNzA4MjM4MTI0ODQ3NDFdLCBbMTY2MzkyNTA0Ny44MDAyOTQ5LCAzMTE0LCAxLjczOTgwOTAzNjI1NDg4MjhdLCBbMTY2MzkyNTA0Ny45MjE2NzE5LCAzMTIzLCAxLjc0OTk3MTUwODk3OTc5NzRdLCBbMTY2MzkyNTA0OC4wMjQ1ODM2LCAzMTMyLCAxLjcyNzMzNTgxMDY2MTMxNl0sIFsxNjYzOTI1MDQ4LjEyMDkwMjMsIDMxNDEsIDEuNzE0MjkwNDk5Njg3MTk0OF0sIFsxNjYzOTI1MDQ4LjIxNjEzNjcsIDMxNTAsIDEuNzM3NTE0OTcyNjg2NzY3Nl0sIFsxNjYzOTI1MDQ4LjMxNTI0NzUsIDMxNTksIDEuNzIzNTg0ODkwMzY1NjAwNl0sIFsxNjYzOTI1MDQ4LjUxODkzNzYsIDMxNzcsIDEuNjk5OTM2OTg1OTY5NTQzNV0sIFsxNjYzOTI1MDQ4LjYyNjE0ODUsIDMxODYsIDEuNzIxNjk2ODUzNjM3Njk1M10sIFsxNjYzOTI1MDQ4Ljc2ODQwMzUsIDMxOTUsIDEuNzMxNDYwNjkwNDk4MzUyXSwgWzE2NjM5MjUwNDguODg5NTkzNCwgMzIwNCwgMS43MzA2NDIwODAzMDcwMDY4XSwgWzE2NjM5MjUwNDkuMTM0NDUxMiwgMzIyMiwgMS43Mjk0Mjk3MjE4MzIyNzU0XSwgWzE2NjM5MjUwNDkuMjQ5MDAwNSwgMzIzMSwgMS43NDIzOTIxODIzNTAxNTg3XSwgWzE2NjM5MjUwNDkuNDQ5OTk3NywgMzI0OSwgMS42ODU2NzYwOTc4Njk4NzNdLCBbMTY2MzkyNTA0OS41NjYzNjY0LCAzMjU4LCAxLjcxOTcwMTg4NjE3NzA2M10sIFsxNjYzOTI1MDQ5LjY2ODk0MywgMzI2NywgMS43MjIyMTQ5MzcyMTAwODNdLCBbMTY2MzkyNTA0OS43NjQzNDY2LCAzMjc2LCAxLjcxMjYwMjYxNTM1NjQ0NTNdLCBbMTY2MzkyNTA0OS44NjE3OTMzLCAzMjg1LCAxLjcwMjE2OTUzNzU0NDI1MDVdLCBbMTY2MzkyNTA0OS45NTkzMjYzLCAzMjk0LCAxLjY3OTkyNDcyNjQ4NjIwNl0sIFsxNjYzOTI1MDUwLjA1NjI0NjgsIDMzMDMsIDEuNzMxNjE4Mjg1MTc5MTM4Ml0sIFsxNjYzOTI1MDUwLjE2Mzg5ODIsIDMzMTIsIDEuNjgyNDA4ODA5NjYxODY1Ml0sIFsxNjYzOTI1MDUwLjI1NzkzMzEsIDMzMjEsIDEuNjYxNTg2Mjg0NjM3NDUxMl0sIFsxNjYzOTI1MDUwLjM1Mzg0MzcsIDMzMzAsIDEuNzM1ODU2NTMzMDUwNTM3XSwgWzE2NjM5MjUwNTAuODE0Njg0NiwgMzM2NiwgMS42ODQ5NzI3NjMwNjE1MjM0XSwgWzE2NjM5MjUwNTAuOTI4MzU2NiwgMzM3NSwgMS42NzAxMjk4OTUyMTAyNjYxXSwgWzE2NjM5MjUwNTEuMDI4MTMwNSwgMzM4NCwgMS42ODU0OTQ0MjI5MTI1OTc3XSwgWzE2NjM5MjUwNTEuNjUxNTEzNiwgMzQwMiwgMS42NTIyMzEwOTcyMjEzNzQ1XSwgWzE2NjM5MjUwNTEuOTA1MzkwNywgMzQxMSwgMS42NTI1ODI4ODM4MzQ4Mzg5XSwgWzE2NjM5MjUwNTIuNDc1NjQ4NCwgMzQ0NywgMS42Mzc4MTMzMjk2OTY2NTUzXSwgWzE2NjM5MjUwNTMuMTg0ODk2NywgMzQ2NSwgMS42NTczOTAyMzY4NTQ1NTMyXSwgWzE2NjM5MjUwNTMuMjk5NjU2LCAzNDc0LCAxLjYzOTUxMDg2OTk3OTg1ODRdLCBbMTY2MzkyNTA1My40MTY0ODM0LCAzNDgzLCAxLjY1NzcxNjUxMjY4MDA1MzddLCBbMTY2MzkyNTA1NC4wMzQ2NTc3LCAzNTEwLCAxLjYzMDA2Mzc3MjIwMTUzOF0sIFsxNjYzOTI1MDU0LjM4MjIzMDUsIDM1MTksIDEuNjM1MTQ2MjYwMjYxNTM1Nl0sIFsxNjYzOTI1MDU0LjUxNTkwMzIsIDM1MjgsIDEuNjE1NTE1NTg5NzE0MDUwM10sIFsxNjYzOTI1MDU0LjYyODAyMzQsIDM1MzcsIDEuNjg4ODMxODA2MTgyODYxM10sIFsxNjYzOTI1MDU0LjczMTg4LCAzNTQ2LCAxLjYxMzc4NjU3ODE3ODQwNThdLCBbMTY2MzkyNTA1NC44MzUwMDU1LCAzNTU1LCAxLjYzMjQwMjQyMDA0Mzk0NTNdLCBbMTY2MzkyNTA1NC45MzQ2NjQsIDM1NjQsIDEuNjQ4MTgwNjAzOTgxMDE4XSwgWzE2NjM5MjUwNTUuMDUwNjUwMSwgMzU3MywgMS42MDMyMjUzNTAzNzk5NDM4XSwgWzE2NjM5MjUwNTUuMTg3OTM2OCwgMzU4MiwgMS42Mjg3NTM3ODEzMTg2NjQ2XSwgWzE2NjM5MjUwNTUuMjg5MzQyOSwgMzU5MSwgMS42Mzk0MjMxMzE5NDI3NDldLCBbMTY2MzkyNTA1NS4zOTA4MzMsIDM2MDAsIDEuNjM3Njg5NTkwNDU0MTAxNl0sIFsxNjYzOTI1MDU1LjQ5OTQ3NzEsIDM2MDksIDEuNjE5MjQ4ODY3MDM0OTEyXSwgWzE2NjM5MjUwNTUuNTk5MTc4LCAzNjE4LCAxLjYyODgxNzc5NjcwNzE1MzNdLCBbMTY2MzkyNTA1NS42OTkyMTg4LCAzNjI3LCAxLjYwMTM5Mjg2NTE4MDk2OTJdLCBbMTY2MzkyNTA1NS44OTY3MjgsIDM2NDUsIDEuNTkyNzMzNzQwODA2NTc5Nl0sIFsxNjYzOTI1MDU2LjAxOTU5NDcsIDM2NTQsIDEuNjI4NTkxMTc5ODQ3NzE3M10sIFsxNjYzOTI1MDU2LjEyMzg0NywgMzY2MywgMS41ODI2ODQ2MzYxMTYwMjc4XSwgWzE2NjM5MjUwNTYuMjI2MTAzOCwgMzY3MiwgMS41OTk3MjY5MTUzNTk0OTddLCBbMTY2MzkyNTA1Ni4zMjcxODMyLCAzNjgxLCAxLjY0MDc1ODM5NTE5NTAwNzNdLCBbMTY2MzkyNTA1Ni40MzYxMDMsIDM2OTAsIDEuNjI3MTM0OTE5MTY2NTY1XSwgWzE2NjM5MjUwNTYuNzQxOTk3MiwgMzcxNywgMS41NzYxMTQ1MzUzMzE3MjZdLCBbMTY2MzkyNTA1Ni44NDY3OTUzLCAzNzI2LCAxLjU4MjgzNDQ4MjE5Mjk5MzJdLCBbMTY2MzkyNTA1Ni45NTc3NzY4LCAzNzM1LCAxLjY0MzIxMjkxNDQ2Njg1OF0sIFsxNjYzOTI1MDU3LjA2ODM1NDEsIDM3NDQsIDEuNjA1MTY5NjUzODkyNTE3XSwgWzE2NjM5MjUwNTcuNDEwNTkxOCwgMzc3MSwgMS41NjI5MDE5NzM3MjQzNjUyXSwgWzE2NjM5MjUwNTcuNTA5MTEwNSwgMzc4MCwgMS41NjE2NTkwOTc2NzE1MDg4XSwgWzE2NjM5MjUwNTcuNzE5NDY2NywgMzc5OCwgMS41NjAzMDc5Nzk1ODM3NDAyXSwgWzE2NjM5MjUwNTcuODIyNjE2MywgMzgwNywgMS41NjY4NDExMjU0ODgyODEyXSwgWzE2NjM5MjUwNTguMDU0MDYyNCwgMzgyNSwgMS41NzIyMzQ2MzA1ODQ3MTY4XSwgWzE2NjM5MjUwNTguMzYzMjE0NSwgMzgzNCwgMS41OTMyMTExNzQwMTEyMzA1XSwgWzE2NjM5MjUwNTguNDY3MTM5NywgMzg0MywgMS41NDY0NTI1MjIyNzc4MzJdLCBbMTY2MzkyNTA1OC41NjYxNDgzLCAzODUyLCAxLjU1MTAxMjI3NzYwMzE0OTRdLCBbMTY2MzkyNTA1OC43NzQyNzc0LCAzODcwLCAxLjU0OTc2NDUxMzk2OTQyMTRdLCBbMTY2MzkyNTA1OC44NzU0MTYsIDM4NzksIDEuNTU5MDY4NTYwNjAwMjgwOF0sIFsxNjYzOTI1MDU4Ljk4MzQ4MSwgMzg4OCwgMS41OTM4MjQ4NjM0MzM4MzhdLCBbMTY2MzkyNTA1OS4zMDUxOTQ0LCAzOTE1LCAxLjU0NjkyOTM1OTQzNjAzNTJdLCBbMTY2MzkyNTA1OS40MTEzMjI4LCAzOTI0LCAxLjUzMTczNDEwODkyNDg2NTddLCBbMTY2MzkyNTA1OS41MTU1ODUsIDM5MzMsIDEuNTM3NDQ1MzA2Nzc3OTU0XSwgWzE2NjM5MjUwNTkuNjE1MDYyNywgMzk0MiwgMS41MzM1MTMzMDc1NzE0MTExXSwgWzE2NjM5MjUwNTkuNzI0MDIzMywgMzk1MSwgMS41NTQxNjg0NjI3NTMyOTZdLCBbMTY2MzkyNTA1OS44MzA2NjgsIDM5NjAsIDEuNDkzODcxNTY5NjMzNDgzOV0sIFsxNjYzOTI1MDU5Ljk1NjcxNjUsIDM5NjksIDEuNTI0NjE0NTcyNTI1MDI0NF0sIFsxNjYzOTI1MDYwLjA2MDE0NywgMzk3OCwgMS41MTg2NzQ2MTIwNDUyODhdLCBbMTY2MzkyNTA2MC4zMTQzNzksIDM5OTYsIDEuNTM5NzM2OTg2MTYwMjc4M10sIFsxNjYzOTI1MDYwLjQxMjMxMTYsIDQwMDUsIDEuNTQ5MTYzOTM3NTY4NjY0Nl0sIFsxNjYzOTI1MDYwLjUwOTcwMSwgNDAxNCwgMS41MzU2MDIwOTI3NDI5Ml0sIFsxNjYzOTI1MDYwLjYwMDgzOTQsIDQwMjMsIDEuNTI2Mjg3NTU1Njk0NThdLCBbMTY2MzkyNTA2MC45OTExODgsIDQwNTksIDEuNTMxNzI4Mzg2ODc4OTY3M10sIFsxNjYzOTI1MDYxLjExNTkyNTgsIDQwNjgsIDEuNTQwOTYyOTM0NDk0MDE4Nl0sIFsxNjYzOTI1MDYxLjI1NDIzMzQsIDQwNzcsIDEuNTI0ODcyNTQxNDI3NjEyM10sIFsxNjYzOTI1MDYxLjM2NjUyNzgsIDQwODYsIDEuNDk3MzEzNzM3ODY5MjYyN10sIFsxNjYzOTI1MDYxLjQ2OTgxNiwgNDA5NSwgMS40OTY3NTY2NzI4NTkxOTJdLCBbMTY2MzkyNTA2MS42ODI4NCwgNDExMywgMS41MTM4MzA0MjMzNTUxMDI1XSwgWzE2NjM5MjUwNjEuOTAxMTMzMywgNDEzMSwgMS41MDYzNjg4NzU1MDM1NF0sIFsxNjYzOTI1MDYyLjEwMjU3OTQsIDQxNDksIDEuNTEwNDIzNTQxMDY5MDMwOF0sIFsxNjYzOTI1MDYyLjIxMTM4NDUsIDQxNTgsIDEuNTAzNzcwOTQ3NDU2MzU5OV0sIFsxNjYzOTI1MDYyLjMwNjc0NTMsIDQxNjcsIDEuNTAzMjA1MTgwMTY4MTUxOV0sIFsxNjYzOTI1MDYyLjUxNDc0MDIsIDQxODUsIDEuNDk0MDA2NTE0NTQ5MjU1NF0sIFsxNjYzOTI1MDYyLjY1NDYyMTgsIDQxOTQsIDEuNDc4OTI5NDAwNDQ0MDMwOF0sIFsxNjYzOTI1MDYyLjc0OTg5NDYsIDQyMDMsIDEuNTAwNzI4OTY0ODA1NjAzXSwgWzE2NjM5MjUwNjIuOTU2MjQzMywgNDIyMSwgMS40NzQ1MjA5MjE3MDcxNTMzXSwgWzE2NjM5MjUwNjMuMDc3OTIxLCA0MjMwLCAxLjQ5NTkxMTcxNzQxNDg1Nl0sIFsxNjYzOTI1MDYzLjIwMjA5NzcsIDQyMzksIDEuNDc2NzU4NzE4NDkwNjAwNl0sIFsxNjYzOTI1MDYzLjMyOTMyMTYsIDQyNDgsIDEuNDg0NjY3ODk3MjI0NDI2M10sIFsxNjYzOTI1MDYzLjUzOTM5MTMsIDQyNjYsIDEuNDc0OTM3NDM4OTY0ODQzOF0sIFsxNjYzOTI1MDYzLjY0ODM1NywgNDI3NSwgMS41MDMxNjgyMjUyODgzOTExXSwgWzE2NjM5MjUwNjMuNzQ2ODI2LCA0Mjg0LCAxLjUwMjI3Njc3ODIyMTEzMDRdLCBbMTY2MzkyNTA2NC4wNDc2NDQ5LCA0MzExLCAxLjQ0NTM1MDg4NTM5MTIzNTRdLCBbMTY2MzkyNTA2NC4xNzQ5MTUzLCA0MzIwLCAxLjQ4MTQ3Nzk3NTg0NTMzN10sIFsxNjYzOTI1MDY0LjMwNDQ2NjUsIDQzMjksIDEuNDUyODY5ODkyMTIwMzYxM10sIFsxNjYzOTI1MDY0LjQyMDExNTIsIDQzMzgsIDEuNDY3OTE5ODI2NTA3NTY4NF0sIFsxNjYzOTI1MDY0LjUyMzM4MDgsIDQzNDcsIDEuNDcwMzY2MTIwMzM4NDRdLCBbMTY2MzkyNTA2NC42MjE5OTQsIDQzNTYsIDEuNDc4MjA0NDg4NzU0MjcyNV0sIFsxNjYzOTI1MDY0LjcyMzk2ODUsIDQzNjUsIDEuNDU0NTgyMjE0MzU1NDY4OF0sIFsxNjYzOTI1MDY0LjkxOTkzMSwgNDM4MywgMS41MjM3NjI0NjQ1MjMzMTU0XSwgWzE2NjM5MjUwNjUuMDIyNjkzLCA0MzkyLCAxLjQxMjMzNjQ2ODY5NjU5NDJdLCBbMTY2MzkyNTA2NS4xMTk4MDA4LCA0NDAxLCAxLjQ3NDc5NzEyOTYzMTA0MjVdLCBbMTY2MzkyNTA2NS4yMTk2MjA3LCA0NDEwLCAxLjQzNDgwMDUwNTYzODEyMjZdLCBbMTY2MzkyNTA2NS4zMTk5ODA2LCA0NDE5LCAxLjQyNTE5MTY0MDg1Mzg4MThdLCBbMTY2MzkyNTA2NS40MzI4MjU4LCA0NDI4LCAxLjQ0MDE2NzQyNzA2Mjk4ODNdLCBbMTY2MzkyNTA2NS43Mjg2MjYzLCA0NDU1LCAxLjQzOTI3NzI5MTI5NzkxMjZdLCBbMTY2MzkyNTA2NS44MjQ4Njg0LCA0NDY0LCAxLjQyMjg3MzEzOTM4MTQwODddLCBbMTY2MzkyNTA2Ni4wMzE4NjgyLCA0NDgyLCAxLjQzMTUzOTg5MzE1MDMyOTZdLCBbMTY2MzkyNTA2Ni4xMjM2ODgyLCA0NDkxLCAxLjQyNTY5Njg0OTgyMjk5OF0sIFsxNjYzOTI1MDY2LjIyNDY0MDQsIDQ1MDAsIDEuNDQ5MzM3MTI0ODI0NTI0XSwgWzE2NjM5MjUwNjYuNDMyNjk3MywgNDUxOCwgMS40Mjc5OTg0MjM1NzYzNTVdLCBbMTY2MzkyNTA2Ni41MzIwNjg1LCA0NTI3LCAxLjQ0NTMxMjczODQxODU3OV0sIFsxNjYzOTI1MDY2LjYyODg4MSwgNDUzNiwgMS40MjA3Mzk3Njk5MzU2MDhdLCBbMTY2MzkyNTA2Ny4wMTczOTEyLCA0NTYzLCAxLjQxNzM0NTE2NjIwNjM1OTldLCBbMTY2MzkyNTA2Ny4xMjIyMzY3LCA0NTcyLCAxLjQyMjY0OTYyMTk2MzUwMV0sIFsxNjYzOTI1MDY3LjI0NDY2OTQsIDQ1ODEsIDEuNDI0Mzc5NTg3MTczNDYyXSwgWzE2NjM5MjUwNjcuMzQ3ODI1NSwgNDU5MCwgMS4zOTcyMTM2OTc0MzM0NzE3XSwgWzE2NjM5MjUwNjcuNDc3NjcyOCwgNDU5OSwgMS4zOTM5MTk0Njc5MjYwMjU0XSwgWzE2NjM5MjUwNjcuNzk5Njc3NCwgNDYwOCwgMS40MjEwMjU2MzM4MTE5NTA3XSwgWzE2NjM5MjUwNjcuOTI2NjkyNywgNDYxNywgMS40MjQ5NTI1MDcwMTkwNDNdLCBbMTY2MzkyNTA2OC4wMzA3ODk5LCA0NjI2LCAxLjQxNTk1ODc2MjE2ODg4NDNdLCBbMTY2MzkyNTA2OC4xMzM3NTcsIDQ2MzUsIDEuNDUzNzgxNjA0NzY2ODQ1N10sIFsxNjYzOTI1MDY4LjM0MjUwOTMsIDQ2NTMsIDEuNDAxNzI2MjQ1ODgwMTI3XSwgWzE2NjM5MjUwNjguNDYxMzg4NiwgNDY2MiwgMS40MTYyOTg5ODU0ODEyNjIyXSwgWzE2NjM5MjUwNjguNTcxODA5OCwgNDY3MSwgMS40MTg2MTQ3NDUxNDAwNzU3XSwgWzE2NjM5MjUwNjguNjY4OTgsIDQ2ODAsIDEuMzg5MzkzNDQ4ODI5NjUwOV0sIFsxNjYzOTI1MDY4Ljc2NzEwOTksIDQ2ODksIDEuMzczMDY3NzM2NjI1NjcxNF0sIFsxNjYzOTI1MDY4Ljg2MDk5NTMsIDQ2OTgsIDEuMzk2MTY3MTU5MDgwNTA1NF0sIFsxNjYzOTI1MDY5LjA1NzE4ODUsIDQ3MTYsIDEuNDEwNzQ3MDUxMjM5MDEzN10sIFsxNjYzOTI1MDY5LjM2MjM1NDgsIDQ3NDMsIDEuMzY4OTU0NjU4NTA4MzAwOF0sIFsxNjYzOTI1MDY5LjQ2MjIyMTEsIDQ3NTIsIDEuMzg5Mjc1Nzg5MjYwODY0M10sIFsxNjYzOTI1MDY5Ljc3NTAzNDcsIDQ3NzksIDEuMzkyNjkwNDIwMTUwNzU2OF0sIFsxNjYzOTI1MDY5Ljk2NjEzMjksIDQ3OTcsIDEuMzkwMTM0OTMwNjEwNjU2N10sIFsxNjYzOTI1MDcwLjA2MDg4NDIsIDQ4MDYsIDEuNDA1NjkwNTUwODA0MTM4Ml0sIFsxNjYzOTI1MDcwLjE5Njk2NzQsIDQ4MTUsIDEuNDE4MDM0MTk1ODk5OTYzNF0sIFsxNjYzOTI1MDcwLjI5MjgxODgsIDQ4MjQsIDEuNDA4ODExMDkyMzc2NzA5XSwgWzE2NjM5MjUwNzAuMzg5NTE3OCwgNDgzMywgMS4zOTA5ODcwMzg2MTIzNjU3XSwgWzE2NjM5MjUwNzAuNDg1NjQ4NiwgNDg0MiwgMS4zNzA4NzMwOTM2MDUwNDE1XSwgWzE2NjM5MjUwNzAuNjE1NTYzMiwgNDg1MSwgMS4zNjY1MTUxNTk2MDY5MzM2XSwgWzE2NjM5MjUwNzAuNzE3OTU5NCwgNDg2MCwgMS4zOTk4MDg3NjQ0NTc3MDI2XSwgWzE2NjM5MjUwNzAuODEyMzEyMSwgNDg2OSwgMS40MDMwODI4NDc1OTUyMTQ4XSwgWzE2NjM5MjUwNzAuOTA4NTE0NywgNDg3OCwgMS40MDI1MTA4ODE0MjM5NTAyXSwgWzE2NjM5MjUwNzEuMDIyNjYsIDQ4ODcsIDEuMzg5MDQ3ODYxMDk5MjQzMl0sIFsxNjYzOTI1MDcxLjEzMTE5NDQsIDQ4OTYsIDEuMzg3NDQ5MjY0NTI2MzY3Ml0sIFsxNjYzOTI1MDcxLjIzMTI4MzQsIDQ5MDUsIDEuMzU4MjQ3NTE4NTM5NDI4N10sIFsxNjYzOTI1MDcxLjQzMTIyMjcsIDQ5MjMsIDEuMzc0MzI4OTcwOTA5MTE4N10sIFsxNjYzOTI1MDcxLjUzMzc3OCwgNDkzMiwgMS40MTcwMjY1MTk3NzUzOTA2XSwgWzE2NjM5MjUwNzEuNjQxNzQzNywgNDk0MSwgMS4zNzUzMjA3OTIxOTgxODEyXSwgWzE2NjM5MjUwNzEuODQ2MzAxLCA0OTU5LCAxLjM0MjQ1ODg0NDE4NDg3NTVdLCBbMTY2MzkyNTA3Mi4wNTEwNDE4LCA0OTc3LCAxLjMyNzc0NTQzNzYyMjA3MDNdLCBbMTY2MzkyNTA3Mi4xNDk3NTEyLCA0OTg2LCAxLjM2NDU1NTU5NzMwNTI5NzldLCBbMTY2MzkyNTA3Mi4yNjI2ODY1LCA0OTk1LCAxLjM0NDAzOTQ0MDE1NTAyOTNdLCBbMTY2MzkyNTA3Mi4zOTY4NDI3LCA1MDA0LCAxLjM2MTc3Mjg5NDg1OTMxNF0sIFsxNjYzOTI1MDcyLjUxMTMyNzcsIDUwMTMsIDEuMzQxMjU3MDk1MzM2OTE0XSwgWzE2NjM5MjUwNzIuNzc4Mzg4NywgNTAzMSwgMS4zNDQ0MzE2Mzg3MTc2NTE0XSwgWzE2NjM5MjUwNzIuODgxMzMxMiwgNTA0MCwgMS4zNDIwNTYxNTUyMDQ3NzNdLCBbMTY2MzkyNTA3My4wODcyMjEsIDUwNTgsIDEuMzYxMTY5MDk5ODA3NzM5M10sIFsxNjYzOTI1MDczLjE5MTc3NCwgNTA2NywgMS4zNjcwMjE2Nzk4NzgyMzQ5XSwgWzE2NjM5MjUwNzMuMjkyMDQ1NiwgNTA3NiwgMS4zNTUwMzkyMzg5Mjk3NDg1XSwgWzE2NjM5MjUwNzMuMzk5NTQxNiwgNTA4NSwgMS4zMjY3MTc3MzQzMzY4NTNdLCBbMTY2MzkyNTA3My42MTUzNzU4LCA1MTAzLCAxLjM2NTU4MjQ2NjEyNTQ4ODNdLCBbMTY2MzkyNTA3My43MTcwNzE4LCA1MTEyLCAxLjM1MzIyNDk5Mjc1MjA3NTJdLCBbMTY2MzkyNTA3My44MjEzNjY1LCA1MTIxLCAxLjM2MDM4NTg5NDc3NTM5MDZdLCBbMTY2MzkyNTA3My45NDc1NjgsIDUxMzAsIDEuMzE5ODU0MjU5NDkwOTY2OF0sIFsxNjYzOTI1MDc0LjIwNDY4NywgNTE0OCwgMS4zMTk1ODM2NTQ0MDM2ODY1XSwgWzE2NjM5MjUwNzQuNDE1NjE2MywgNTE2NiwgMS4zMTM1NjE5MTYzNTEzMTg0XSwgWzE2NjM5MjUwNzQuNjEzODE1OCwgNTE4NCwgMS4zNDY2NjY5MzIxMDYwMThdLCBbMTY2MzkyNTA3NC43MTE3MjIxLCA1MTkzLCAxLjM2ODQ3ODUzNjYwNTgzNV0sIFsxNjYzOTI1MDc0LjgyODgxODgsIDUyMDIsIDEuMzMyNjUzNjQxNzAwNzQ0Nl0sIFsxNjYzOTI1MDc1LjE3NDU1MDUsIDUyMjksIDEuMzI4MzM2MjM4ODYxMDg0XSwgWzE2NjM5MjUwNzUuNjQyNjQ3NSwgNTI2NSwgMS4zMDMxMjQwNzAxNjc1NDE1XSwgWzE2NjM5MjUwNzUuNzY5NjYzMywgNTI3NCwgMS4zMDY3MjY1NzQ4OTc3NjYxXSwgWzE2NjM5MjUwNzUuODg4NjksIDUyODMsIDEuMzEzMjM0ODA2MDYwNzkxXSwgWzE2NjM5MjUwNzYuMTMwOTYxNywgNTMwMSwgMS4zMTY2ODM3NjkyMjYwNzQyXSwgWzE2NjM5MjUwNzYuMjYyODkyMiwgNTMxMCwgMS4zMTg2NTc4NzUwNjEwMzUyXSwgWzE2NjM5MjUwNzYuMzkzMDEyOCwgNTMxOSwgMS4zMzg1MTE0NjY5Nzk5ODA1XSwgWzE2NjM5MjUwNzYuNTAwNjMzLCA1MzI4LCAxLjMyNzM4Mzg3NTg0Njg2MjhdLCBbMTY2MzkyNTA3Ni42MDAwMTU2LCA1MzM3LCAxLjMxNDg0MTg2NjQ5MzIyNV0sIFsxNjYzOTI1MDc2LjcwMDY1NiwgNTM0NiwgMS4yOTM4ODMyMDQ0NjAxNDRdLCBbMTY2MzkyNTA3Ni43OTczNDc1LCA1MzU1LCAxLjMxNjU2ODg1MTQ3MDk0NzNdLCBbMTY2MzkyNTA3Ni44OTk5NDA1LCA1MzY0LCAxLjMyMDQxMDg0NzY2Mzg3OTRdLCBbMTY2MzkyNTA3Ni45OTIwNzYsIDUzNzMsIDEuMzE3Nzg3NzY2NDU2NjA0XSwgWzE2NjM5MjUwNzcuMDkyMjEyNywgNTM4MiwgMS4zMDg0NjEzMDg0NzkzMDldLCBbMTY2MzkyNTA3Ny4zODY1MjUsIDUzOTEsIDEuMzIzMDQwNjA0NTkxMzY5Nl0sIFsxNjYzOTI1MDc3LjQ5OTIyNzMsIDU0MDAsIDEuMzAwNDEyODkzMjk1Mjg4XSwgWzE2NjM5MjUwNzcuNzA5ODU5LCA1NDE4LCAxLjI4NjU5ODIwNTU2NjQwNjJdLCBbMTY2MzkyNTA3Ny44MzI1NzQxLCA1NDI3LCAxLjI5MTgwOTkxNjQ5NjI3NjldLCBbMTY2MzkyNTA3Ny45NDYzNTYzLCA1NDM2LCAxLjMwOTE5MDc1MDEyMjA3MDNdLCBbMTY2MzkyNTA3OC4wNTgzMzE3LCA1NDQ1LCAxLjI5MTUzNzY0MjQ3ODk0MjldLCBbMTY2MzkyNTA3OC4xNzk4MDYyLCA1NDU0LCAxLjI5MTM3Njk0ODM1NjYyODRdLCBbMTY2MzkyNTA3OC40MDEzNDYyLCA1NDcyLCAxLjI4MzI1MzU1MDUyOTQ4XSwgWzE2NjM5MjUwNzguNTAxNzg1OCwgNTQ4MSwgMS4zMzE5ODc3Mzg2MDkzMTRdLCBbMTY2MzkyNTA3OC42MDg2MzY0LCA1NDkwLCAxLjI4MDE0MjU0NTcwMDA3MzJdLCBbMTY2MzkyNTA3OC43MTA5MjEzLCA1NDk5LCAxLjMwNjE0MjgwNzAwNjgzNl0sIFsxNjYzOTI1MDc5LjAzMjMwOTUsIDU1MjYsIDEuMzA5NTM5Njc1NzEyNTg1NF0sIFsxNjYzOTI1MDc5LjE0NjgwNDMsIDU1MzUsIDEuMjkwNjg2OTY0OTg4NzA4NV0sIFsxNjYzOTI1MDc5LjM2MzQxODYsIDU1NTMsIDEuMjkzNzU1NTMxMzExMDM1Ml0sIFsxNjYzOTI1MDc5LjQ3MDc0MTMsIDU1NjIsIDEuMzIxMjQ5MzY1ODA2NTc5Nl0sIFsxNjYzOTI1MDc5LjU2OTc1NDEsIDU1NzEsIDEuMzEzMTEyOTc0MTY2ODcwMV0sIFsxNjYzOTI1MDc5LjY2NDIwMiwgNTU4MCwgMS4yOTUzNzQwMzU4MzUyNjYxXSwgWzE2NjM5MjUwNzkuNzk5NDkwMiwgNTU4OSwgMS4yODE0MTI2MDE0NzA5NDczXSwgWzE2NjM5MjUwNzkuOTM0MTgyNiwgNTU5OCwgMS4yOTI4MzcyNjIxNTM2MjU1XSwgWzE2NjM5MjUwODAuMDYxMDk4MywgNTYwNywgMS4yODYzNDU5NTg3MDk3MTY4XSwgWzE2NjM5MjUwODAuMTcyMjQxNCwgNTYxNiwgMS4yODAzNjIyNDg0MjA3MTUzXSwgWzE2NjM5MjUwODAuMzgxNzA0OCwgNTYzNCwgMS4zMDkxMzAzMTEwMTIyNjhdLCBbMTY2MzkyNTA4MC40ODUwODM2LCA1NjQzLCAxLjMxNTc2MzcxMTkyOTMyMTNdLCBbMTY2MzkyNTA4MC41ODcwNjY0LCA1NjUyLCAxLjI3MzQ1NzI4ODc0MjA2NTRdLCBbMTY2MzkyNTA4MC42OTI3MTYxLCA1NjYxLCAxLjMxMzUwMjY2OTMzNDQxMTZdLCBbMTY2MzkyNTA4MC43OTQ0NzU2LCA1NjcwLCAxLjMwNDU4MTk5OTc3ODc0NzZdLCBbMTY2MzkyNTA4MS4xMDc1MDcsIDU2OTcsIDEuMjcyOTc4NzgyNjUzODA4Nl0sIFsxNjYzOTI1MDgxLjIxMDAzNzIsIDU3MDYsIDEuMjYzMDIwOTkyMjc5MDUyN10sIFsxNjYzOTI1MDgxLjMwMjgxNDcsIDU3MTUsIDEuMzA0NDQ3NjUwOTA5NDIzOF0sIFsxNjYzOTI1MDgxLjQwMzEzNjMsIDU3MjQsIDEuMjUwMTQ1NzkyOTYxMTIwNl0sIFsxNjYzOTI1MDgxLjQ5OTEzMjIsIDU3MzMsIDEuMjUwMzcxMzM2OTM2OTUwN10sIFsxNjYzOTI1MDgxLjU5MjY2MiwgNTc0MiwgMS4yNjg3OTYzMjQ3Mjk5MTk0XSwgWzE2NjM5MjUwODEuODgxMDM4NCwgNTc2OSwgMS4yNjM4NTEyODQ5ODA3NzRdLCBbMTY2MzkyNTA4MS45NzE1ODg5LCA1Nzc4LCAxLjI2NjM1ODQ5NDc1ODYwNl0sIFsxNjYzOTI1MDgyLjA3MDkwNDUsIDU3ODcsIDEuMjUwMzE1MzA4NTcwODYxOF0sIFsxNjYzOTI1MDgyLjE3MTk5NTYsIDU3OTYsIDEuMjYxNDExNTQ3NjYwODI3Nl0sIFsxNjYzOTI1MDgyLjI3MjcxMTUsIDU4MDUsIDEuMjc1MTU2MjU5NTM2NzQzMl0sIFsxNjYzOTI1MDgyLjM4NzE1ODIsIDU4MTQsIDEuMjc4NzMwMDM0ODI4MTg2XSwgWzE2NjM5MjUwODIuNzE4NDAyLCA1ODQxLCAxLjI3NzM5MjM4NzM5MDEzNjddLCBbMTY2MzkyNTA4Mi44MjcwOTA3LCA1ODUwLCAxLjI2OTU3ODA5OTI1MDc5MzVdLCBbMTY2MzkyNTA4My4wMjU0MzE0LCA1ODY4LCAxLjI4MDczNTI1NDI4NzcxOTddLCBbMTY2MzkyNTA4My4xMjcyNjM4LCA1ODc3LCAxLjMyNjA5NjUzNDcyOTAwNF0sIFsxNjYzOTI1MDgzLjIzMzA2OTcsIDU4ODYsIDEuMjU3MjI2NDY3MTMyNTY4NF0sIFsxNjYzOTI1MDgzLjMzNTQyMDQsIDU4OTUsIDEuMjY2NDQ3MDY3MjYwNzQyMl0sIFsxNjYzOTI1MDgzLjQ0NDg2NDcsIDU5MDQsIDEuMjY3NjYxNTcxNTAyNjg1NV0sIFsxNjYzOTI1MDgzLjc1OTg5MTUsIDU5MzEsIDEuMjU4NzU2NzU2NzgyNTMxN10sIFsxNjYzOTI1MDgzLjg1NDk3NjcsIDU5NDAsIDEuMjY0OTc5ODM5MzI0OTUxMl0sIFsxNjYzOTI1MDgzLjk1NzM4MywgNTk0OSwgMS4yMzExNTg0OTQ5NDkzNDA4XSwgWzE2NjM5MjUwODQuMDg4NjI5MiwgNTk1OCwgMS4yNTA5NzA2MDIwMzU1MjI1XSwgWzE2NjM5MjUwODQuMjg4NDk3LCA1OTc2LCAxLjI4OTYyMjY2NDQ1MTU5OTFdLCBbMTY2MzkyNTA4NC41MTYxMDM1LCA1OTk0LCAxLjI2MDE1MTc0Mzg4ODg1NV0sIFsxNjYzOTI1MDg0LjczODU0ODMsIDYwMTIsIDEuMjU0NzUzNTg5NjMwMTI3XSwgWzE2NjM5MjUwODQuOTc5NTY4NywgNjAzMCwgMS4yNzI0NjYwNjM0OTk0NTA3XSwgWzE2NjM5MjUwODUuMDg0NDc2MiwgNjAzOSwgMS4yMzMzMzUxMzczNjcyNDg1XSwgWzE2NjM5MjUwODUuMjE0NzQ2NSwgNjA0OCwgMS4yNjk3MjcyMzAwNzIwMjE1XSwgWzE2NjM5MjUwODUuMzEzMTQ3NSwgNjA1NywgMS4yNDAyNDEyODkxMzg3OTRdLCBbMTY2MzkyNTA4NS40Mjg3MzQsIDYwNjYsIDEuMjk1NzYyMzAwNDkxMzMzXSwgWzE2NjM5MjUwODUuNjY2MTQzLCA2MDg0LCAxLjIyMjQ1MjI4MjkwNTU3ODZdLCBbMTY2MzkyNTA4NS43NzE5NDg4LCA2MDkzLCAxLjIyOTQyMTQ5NjM5MTI5NjRdLCBbMTY2MzkyNTA4NS44ODA0MDI4LCA2MTAyLCAxLjI0NzUzMzU1OTc5OTE5NDNdLCBbMTY2MzkyNTA4Ni4wMDIxMDUyLCA2MTExLCAxLjIyNjE2ODM5NDA4ODc0NTFdLCBbMTY2MzkyNTA4Ni4xMTY4NTc4LCA2MTIwLCAxLjIyOTQ2MTc4OTEzMTE2NDZdLCBbMTY2MzkyNTA4Ni4yMDg5Njc0LCA2MTI5LCAxLjI1MDc3NDE0NTEyNjM0MjhdLCBbMTY2MzkyNTA4Ni40MTE4NDcsIDYxNDcsIDEuMjY4MTk4MTMyNTE0OTUzNl0sIFsxNjYzOTI1MDg2LjUxMjU5NjQsIDYxNTYsIDEuMjU4OTI2MDMzOTczNjkzOF0sIFsxNjYzOTI1MDg2Ljc5NTc5MDQsIDYxNjUsIDEuMjM5NzcxNzIzNzQ3MjUzNF0sIFsxNjYzOTI1MDg2Ljg5MjgwNTgsIDYxNzQsIDEuMjQwMjIyMjE1NjUyNDY1OF0sIFsxNjYzOTI1MDg3LjA5Mjc5ODcsIDYxOTIsIDEuMjU4NjM0MDkwNDIzNTg0XSwgWzE2NjM5MjUwODcuMTk0NDY3OCwgNjIwMSwgMS4yMzAzNTk1NTQyOTA3NzE1XSwgWzE2NjM5MjUwODcuMjk1NTEzNCwgNjIxMCwgMS4yMTk5MzYzNzA4NDk2MDk0XSwgWzE2NjM5MjUwODcuNDA3Nzc5LCA2MjE5LCAxLjIzMTg4NTc5MDgyNDg5MDFdLCBbMTY2MzkyNTA4Ny42MjA1MzkyLCA2MjM3LCAxLjIxOTU3NjIzOTU4NTg3NjVdLCBbMTY2MzkyNTA4Ny43MTU4MDI0LCA2MjQ2LCAxLjI0NjExMDU1ODUwOTgyNjddLCBbMTY2MzkyNTA4Ny44MTU2NDkzLCA2MjU1LCAxLjI1Mjk3NTcwMjI4NTc2NjZdLCBbMTY2MzkyNTA4Ny45MTg5NTk2LCA2MjY0LCAxLjIzMDY2NDQ5MTY1MzQ0MjRdLCBbMTY2MzkyNTA4OC4wMjExNTEzLCA2MjczLCAxLjI3NDkxMDIxMTU2MzExMDRdLCBbMTY2MzkyNTA4OC4xMjI5MDE3LCA2MjgyLCAxLjIyOTUwMTM2NjYxNTI5NTRdLCBbMTY2MzkyNTA4OC4zMjIzNTA3LCA2MzAwLCAxLjI1Nzk4ODkyOTc0ODUzNTJdLCBbMTY2MzkyNTA4OC40MzY3MzAxLCA2MzA5LCAxLjIzODY3OTA1MTM5OTIzMV0sIFsxNjYzOTI1MDg4LjY0MjAwNzgsIDYzMjcsIDEuMjY0MTA0NjA0NzIxMDY5M10sIFsxNjYzOTI1MDg4Ljc0MDU5NzIsIDYzMzYsIDEuMjU1NTg1Nzg5NjgwNDgxXSwgWzE2NjM5MjUwODguOTM4MzgwNSwgNjM1NCwgMS4yNTI2NzEyNDE3NjAyNTRdLCBbMTY2MzkyNTA4OS4yNjkwMjc1LCA2MzgxLCAxLjIyODQwNzc0MDU5Mjk1NjVdLCBbMTY2MzkyNTA4OS4zNzIyMzg2LCA2MzkwLCAxLjIzNDM0NzkzOTQ5MTI3Ml0sIFsxNjYzOTI1MDg5LjQ4NTI2MjIsIDYzOTksIDEuMjQzNzc4NDY3MTc4MzQ0N10sIFsxNjYzOTI1MDg5LjcxODcyNDMsIDY0MTcsIDEuMjE2ODAzNDMxNTEwOTI1M10sIFsxNjYzOTI1MDg5LjgyMDIzNjQsIDY0MjYsIDEuMjYxMjIyMjQzMzA5MDIxXSwgWzE2NjM5MjUwOTAuMDMzODI0MiwgNjQ0NCwgMS4yMTU2NzA0NjY0MjMwMzQ3XSwgWzE2NjM5MjUwOTAuMTM4NDMzLCA2NDUzLCAxLjIxNDk3NTIzNzg0NjM3NDVdLCBbMTY2MzkyNTA5MC4yNDA1NTksIDY0NjIsIDEuMjUyNTI4NTQ4MjQwNjYxNl0sIFsxNjYzOTI1MDkwLjQ0MDc0NzcsIDY0ODAsIDEuMjE2ODA5ODY4ODEyNTYxXSwgWzE2NjM5MjUwOTAuNTM1ODIwNSwgNjQ4OSwgMS4yMzI5MTY3MTI3NjA5MjUzXSwgWzE2NjM5MjUwOTAuNjM5MTU1NiwgNjQ5OCwgMS4yMDc5MjY5ODg2MDE2ODQ2XSwgWzE2NjM5MjUwOTAuNzQyNzY5NywgNjUwNywgMS4yMTM0MDkxODU0MDk1NDZdLCBbMTY2MzkyNTA5MC44NTE5NjEsIDY1MTYsIDEuMjIwNzg1OTc1NDU2MjM3OF0sIFsxNjYzOTI1MDkwLjk1MTMwNDIsIDY1MjUsIDEuMjI5MzQ2MTU2MTIwMzAwM10sIFsxNjYzOTI1MDkxLjA2MDgwNDYsIDY1MzQsIDEuMTk2MTc3MTI0OTc3MTExOF0sIFsxNjYzOTI1MDkxLjE1NDY2NjIsIDY1NDMsIDEuMjE2ODk2NjUzMTc1MzU0XSwgWzE2NjM5MjUwOTEuMjUyNjU3NCwgNjU1MiwgMS4yMjg3MjU0MzMzNDk2MDk0XSwgWzE2NjM5MjUwOTEuMzQ4NDI5NywgNjU2MSwgMS4yNDMzMDcxMTM2NDc0NjFdLCBbMTY2MzkyNTA5MS40NjMxMzYyLCA2NTcwLCAxLjI2MDExMTU3MDM1ODI3NjRdLCBbMTY2MzkyNTA5MS41NjQ1NTcsIDY1NzksIDEuMjcyNzIyMDA1ODQ0MTE2Ml0sIFsxNjYzOTI1MDkxLjY2OTUyMzIsIDY1ODgsIDEuMjI1NzA1MjY1OTk4ODQwM10sIFsxNjYzOTI1MDkxLjc2OTA4NjgsIDY1OTcsIDEuMjI3NjI4NDY5NDY3MTYzXSwgWzE2NjM5MjUwOTEuODY2ODc2MSwgNjYwNiwgMS4yMjQ5OTg0NzQxMjEwOTM4XSwgWzE2NjM5MjUwOTIuMDU0NjY2LCA2NjI0LCAxLjIxNTQ1ODE1NDY3ODM0NDddLCBbMTY2MzkyNTA5Mi4zNDgxNzY3LCA2NjUxLCAxLjIwNzIxMTI1NjAyNzIyMTddLCBbMTY2MzkyNTA5Mi40NTYzNDYsIDY2NjAsIDEuMjI3MzM4NTUyNDc0OTc1Nl0sIFsxNjYzOTI1MDkyLjU2OTY4NjQsIDY2NjksIDEuMjM2NjY3NTEzODQ3MzUxXSwgWzE2NjM5MjUwOTIuNzkyNjQ3NiwgNjY4NywgMS4yNDE5OTQ2MTkzNjk1MDY4XSwgWzE2NjM5MjUwOTIuOTE1Nzc3LCA2Njk2LCAxLjIzOTg0MDk4NDM0NDQ4MjRdLCBbMTY2MzkyNTA5My4wNDc2ODMsIDY3MDUsIDEuMjMwODYzMzMyNzQ4NDEzXSwgWzE2NjM5MjUwOTMuMTU1NzQ5MywgNjcxNCwgMS4yMjY2NzMwMDcwMTE0MTM2XSwgWzE2NjM5MjUwOTMuMjU0NTMwNywgNjcyMywgMS4yMDY5MDUwMDczNjIzNjU3XSwgWzE2NjM5MjUwOTMuODExMjY3NCwgNjc2OCwgMS4yMzY1NTE2NDI0MTc5MDc3XSwgWzE2NjM5MjUwOTMuOTA4MjEyLCA2Nzc3LCAxLjIyMjk2Njc5MDE5OTI3OThdLCBbMTY2MzkyNTA5NC4yNDk3NDk0LCA2ODA0LCAxLjIxNjk5Nzc0MjY1Mjg5M10sIFsxNjYzOTI1MDk0LjM1OTA1MDMsIDY4MTMsIDEuMjAxNDg1OTkxNDc3OTY2M10sIFsxNjYzOTI1MDk0LjQ1Nzk4MzcsIDY4MjIsIDEuMjU5NjIzNzY1OTQ1NDM0Nl0sIFsxNjYzOTI1MDk0LjU1MzAzNjUsIDY4MzEsIDEuMjQyMDMwODU4OTkzNTMwM10sIFsxNjYzOTI1MDk0LjY1MjE2MzMsIDY4NDAsIDEuMjE4NjYzMDk2NDI3OTE3NV0sIFsxNjYzOTI1MDk0Ljk4NjAwNSwgNjg2NywgMS4yMDQwNDEzNjE4MDg3NzY5XSwgWzE2NjM5MjUwOTUuMDgwNTI2LCA2ODc2LCAxLjIxMzU1Mzc4NjI3Nzc3MV0sIFsxNjYzOTI1MDk1LjE4MTMxMjYsIDY4ODUsIDEuMjE3NjI2MjE0MDI3NDA0OF0sIFsxNjYzOTI1MDk1LjI3NTY4NDgsIDY4OTQsIDEuMTkyMTA2MjQ2OTQ4MjQyMl0sIFsxNjYzOTI1MDk1LjM3MzUwNTYsIDY5MDMsIDEuMTk5MTkxOTI3OTA5ODUxXSwgWzE2NjM5MjUwOTUuNDc5MzE0MywgNjkxMiwgMS4yMDI5NDI4NDgyMDU1NjY0XSwgWzE2NjM5MjUwOTUuNTc1NzU4LCA2OTIxLCAxLjIyMDMxNTU3NTU5OTY3MDRdLCBbMTY2MzkyNTA5NS42Nzc1NzU4LCA2OTMwLCAxLjIzNzk2NzQ5MTE0OTkwMjNdLCBbMTY2MzkyNTA5NS43NzUxMDUyLCA2OTM5LCAxLjE4MjM1ODUwMzM0MTY3NDhdLCBbMTY2MzkyNTA5Ni4xMzA0OTIsIDY5NDgsIDEuMjEyMzU4ODMyMzU5MzE0XSwgWzE2NjM5MjUwOTYuMjQzOTg2MSwgNjk1NywgMS4yMDM3NDk0MTgyNTg2NjddLCBbMTY2MzkyNTA5Ni4zMzcwMDE2LCA2OTY2LCAxLjIwMTI0MDMwMTEzMjIwMjFdLCBbMTY2MzkyNTA5Ni41MzM5ODY4LCA2OTg0LCAxLjIwNzUzODQ4NTUyNzAzODZdLCBbMTY2MzkyNTA5Ni42NDk3Nzk2LCA2OTkzLCAxLjE4NzMxODMyNTA0MjcyNDZdLCBbMTY2MzkyNTA5Ni43NTUyNDMsIDcwMDIsIDEuMjAyNzQxMTQ2MDg3NjQ2NV0sIFsxNjYzOTI1MDk2Ljg1MzIxOTUsIDcwMTEsIDEuMTk1NjM2MjcyNDMwNDJdLCBbMTY2MzkyNTA5Ni45ODU3ODEsIDcwMjAsIDEuMTkzOTUxMzY4MzMxOTA5Ml0sIFsxNjYzOTI1MDk3LjA5MzkzMzMsIDcwMjksIDEuMjA5NjUwMTU4ODgyMTQxMV0sIFsxNjYzOTI1MDk3LjIwNDM2MDUsIDcwMzgsIDEuMTk2Mzg1ODYwNDQzMTE1Ml0sIFsxNjYzOTI1MDk3LjMwODkzNzgsIDcwNDcsIDEuMTk2NTU0NTQxNTg3ODI5Nl0sIFsxNjYzOTI1MDk3LjQzMDg5MDMsIDcwNTYsIDEuMjEzODA5NDkwMjAzODU3NF0sIFsxNjYzOTI1MDk3Ljc3MDcyOSwgNzA4MywgMS4xOTA3NTg0NjY3MjA1ODFdLCBbMTY2MzkyNTA5Ny44NzU2MjA4LCA3MDkyLCAxLjIxNTU0MzUwODUyOTY2M10sIFsxNjYzOTI1MDk3Ljk4MzEyMDIsIDcxMDEsIDEuMTk1MTMwOTQ0MjUyMDE0Ml0sIFsxNjYzOTI1MDk4LjA4MzM5NjIsIDcxMTAsIDEuMTk1NzQwMzQyMTQwMTk3OF0sIFsxNjYzOTI1MDk4LjIwNDU2OTYsIDcxMTksIDEuMjA3NTExNzgyNjQ2MTc5Ml0sIFsxNjYzOTI1MDk4LjM0Njg3NDcsIDcxMjgsIDEuMTg1MzgwNDU4ODMxNzg3XSwgWzE2NjM5MjUwOTguNTgzNzg5MywgNzE0NiwgMS4yMTI4OTgzNzM2MDM4MjA4XSwgWzE2NjM5MjUwOTguNjg5NTUwOSwgNzE1NSwgMS4yMTQxOTAyNDQ2NzQ2ODI2XSwgWzE2NjM5MjUwOTguNzgxMzAyMiwgNzE2NCwgMS4xOTczMTc0ODEwNDA5NTQ2XSwgWzE2NjM5MjUwOTguODczMzUzLCA3MTczLCAxLjIzNDczNjU2MTc3NTIwNzVdLCBbMTY2MzkyNTA5OC45NjU1Nzc4LCA3MTgyLCAxLjIwMTMyNTQxNjU2NDk0MTRdLCBbMTY2MzkyNTA5OS4xNzg0OTA2LCA3MjAwLCAxLjIwMTY0OTMwODIwNDY1MDldLCBbMTY2MzkyNTA5OS4yNzUxODY1LCA3MjA5LCAxLjIxNDQ0NTQ3MTc2MzYxMDhdLCBbMTY2MzkyNTA5OS43MDEyMzEsIDcyNDUsIDEuMjI2OTA4MzI2MTQ4OTg2OF0sIFsxNjYzOTI1MDk5LjgwMDA1MTUsIDcyNTQsIDEuMjA2NTU3ODY5OTExMTkzOF0sIFsxNjYzOTI1MDk5LjkxNTg1NzYsIDcyNjMsIDEuMjQwMDU5NzMzMzkwODA4XSwgWzE2NjM5MjUxMDAuMDE0MDE5MywgNzI3MiwgMS4xOTc5ODUxNzIyNzE3Mjg1XSwgWzE2NjM5MjUxMDAuMTE5MDE1LCA3MjgxLCAxLjIwNDMxMjIwNTMxNDYzNjJdLCBbMTY2MzkyNTEwMC4zMTIxMzc4LCA3Mjk5LCAxLjE4NjY5MDMzMDUwNTM3MV0sIFsxNjYzOTI1MTAwLjQzMTM0NywgNzMwOCwgMS4yMjAxMjc3MDE3NTkzMzg0XSwgWzE2NjM5MjUxMDAuNjIzMjMxMiwgNzMyNiwgMS4xOTc3NzIwMjYwNjIwMTE3XSwgWzE2NjM5MjUxMDAuNzU2NjEyNSwgNzMzNSwgMS4yMTM3MzU1ODA0NDQzMzZdLCBbMTY2MzkyNTEwMC44NjU5NTU4LCA3MzQ0LCAxLjE5NjY0ODI0MDA4OTQxNjVdLCBbMTY2MzkyNTEwMS4xMTQwMjg1LCA3MzYyLCAxLjIxMTczOTg5NzcyNzk2NjNdLCBbMTY2MzkyNTEwMS4yMjExMTIzLCA3MzcxLCAxLjIwOTg4MjAyMDk1MDMxNzRdLCBbMTY2MzkyNTEwMS4zNDc1MSwgNzM4MCwgMS4xOTY5NDkxMjQzMzYyNDI3XSwgWzE2NjM5MjUxMDEuNDYzMDI2MywgNzM4OSwgMS4yMTAxNzQ5MTgxNzQ3NDM3XSwgWzE2NjM5MjUxMDEuNTU3MzI0LCA3Mzk4LCAxLjE4NTEzNjkxNDI1MzIzNDldLCBbMTY2MzkyNTEwMS42NTU2MzQ0LCA3NDA3LCAxLjE4ODk0NTUzMTg0NTA5MjhdLCBbMTY2MzkyNTEwMS43NDk1MzksIDc0MTYsIDEuMjAzNDkwNjE0ODkxMDUyMl0sIFsxNjYzOTI1MTAxLjg0NjE4NDcsIDc0MjUsIDEuMTg5NzU5NjEyMDgzNDM1XSwgWzE2NjM5MjUxMDEuOTU3OTEyMiwgNzQzNCwgMS4xODE4NTc0NjY2OTc2OTI5XSwgWzE2NjM5MjUxMDIuMDkwNjg4NSwgNzQ0MywgMS4yMDkwMTY0NDIyOTg4ODkyXSwgWzE2NjM5MjUxMDIuMTkyNzgyLCA3NDUyLCAxLjE3NTkwMzc5NzE0OTY1ODJdLCBbMTY2MzkyNTEwMi4yOTU4NjUsIDc0NjEsIDEuMjAwNDI3MTc0NTY4MTc2M10sIFsxNjYzOTI1MTAyLjM5ODUyNDgsIDc0NzAsIDEuMTg3MTkwMDU1ODQ3MTY4XSwgWzE2NjM5MjUxMDIuNDk2OTMxNiwgNzQ3OSwgMS4xOTA1ODAyNDg4MzI3MDI2XSwgWzE2NjM5MjUxMDIuNjk4MDI2LCA3NDk3LCAxLjE5NjA4NzgzNzIxOTIzODNdLCBbMTY2MzkyNTEwMi44MDIzNjEyLCA3NTA2LCAxLjE5NDE1NTQ1NDYzNTYyMDFdLCBbMTY2MzkyNTEwMi45MTc5NDcsIDc1MTUsIDEuMTk5OTI2NjE0NzYxMzUyNV0sIFsxNjYzOTI1MTAzLjAzMzE1MzMsIDc1MjQsIDEuMTg5OTQwNTcxNzg0OTczMV0sIFsxNjYzOTI1MTAzLjEzODM0MTQsIDc1MzMsIDEuMTY3Mjg4ODk5NDIxNjkyXSwgWzE2NjM5MjUxMDMuMjYxODcyNSwgNzU0MiwgMS4xODMwNDU2MjU2ODY2NDU1XSwgWzE2NjM5MjUxMDMuNTI1Mjc5MywgNzU2MCwgMS4xNjk5ODUxNzUxMzI3NTE1XSwgWzE2NjM5MjUxMDMuNjU3ODUzMSwgNzU2OSwgMS4xODg2OTAwNjYzMzc1ODU0XSwgWzE2NjM5MjUxMDMuODg0NzcwNiwgNzU4NywgMS4xOTczMzc1MDgyMDE1OTkxXSwgWzE2NjM5MjUxMDMuOTg5NjU3NCwgNzU5NiwgMS4xNzYzNDI3MjU3NTM3ODQyXSwgWzE2NjM5MjUxMDQuMjAxNzA3OCwgNzYxNCwgMS4yMDI0MzE2Nzg3NzE5NzI3XSwgWzE2NjM5MjUxMDQuNDI4NTk4OSwgNzYzMiwgMS4xODQwOTgxMjQ1MDQwODk0XSwgWzE2NjM5MjUxMDQuNzg5NDIzNywgNzY1OSwgMS4yMDIzMDAwNzE3MTYzMDg2XSwgWzE2NjM5MjUxMDQuODkwMTIxNywgNzY2OCwgMS4xODU1MDgyNTExOTAxODU1XSwgWzE2NjM5MjUxMDUuMjA3MzQsIDc2OTUsIDEuMTg3NzExMDAwNDQyNTA0OV0sIFsxNjYzOTI1MTA1LjQyMjUzMiwgNzcxMywgMS4yMDE0OTE1OTQzMTQ1NzUyXSwgWzE2NjM5MjUxMDUuNzE2MTUzNCwgNzcyMiwgMS4yMDg5MzQ2NjQ3MjYyNTczXSwgWzE2NjM5MjUxMDUuODMwNDU5LCA3NzMxLCAxLjE5MDIxNTcwNjgyNTI1NjNdLCBbMTY2MzkyNTEwNi4wNzgwMzMsIDc3NDksIDEuMjA3MTQ0ODU2NDUyOTQyXSwgWzE2NjM5MjUxMDYuMjIxMDg5LCA3NzU4LCAxLjE5ODg3MTg1MDk2NzQwNzJdLCBbMTY2MzkyNTEwNi4zMzA1MjY0LCA3NzY3LCAxLjE5NzQwOTYyOTgyMTc3NzNdLCBbMTY2MzkyNTEwNi42ODk2Njg0LCA3Nzk0LCAxLjE4NjE5ODgzMDYwNDU1MzJdLCBbMTY2MzkyNTEwNi44MTI1MzQ2LCA3ODAzLCAxLjIwMzM1NjUwNDQ0MDMwNzZdLCBbMTY2MzkyNTEwNy4wNTAzOTQ1LCA3ODIxLCAxLjE2NTQ4MDYxMzcwODQ5Nl0sIFsxNjYzOTI1MTA3LjE1MDExNTUsIDc4MzAsIDEuMTc2NTU3NDIxNjg0MjY1MV0sIFsxNjYzOTI1MTA3LjI0NzEzOTcsIDc4MzksIDEuMjAzNTUxMDU0MDAwODU0NV0sIFsxNjYzOTI1MTA3LjM0MzQxMTIsIDc4NDgsIDEuMTcwOTE4MjI2MjQyMDY1NF0sIFsxNjYzOTI1MTA3LjY1OTE5OCwgNzg3NSwgMS4xODM5NzIzNTg3MDM2MTMzXSwgWzE2NjM5MjUxMDcuOTE1MjYxNSwgNzg5MywgMS4yMDQ1ODIwOTUxNDYxNzkyXSwgWzE2NjM5MjUxMDguMDIyNTY4NywgNzkwMiwgMS4xNzc0Mjk1NTY4NDY2MTg3XSwgWzE2NjM5MjUxMDguMTU5NjczNSwgNzkxMSwgMS4xOTU2MDUyNzgwMTUxMzY3XSwgWzE2NjM5MjUxMDguNDI5NjgwOCwgNzkyOSwgMS4xODQ1MDc5NjYwNDE1NjVdLCBbMTY2MzkyNTEwOC41NjIyNTY4LCA3OTM4LCAxLjE3NTI2NDk1NDU2Njk1NTZdLCBbMTY2MzkyNTEwOC42Nzc1NTQxLCA3OTQ3LCAxLjE3NzY0Njg3NTM4MTQ2OTddLCBbMTY2MzkyNTEwOC43NzQ5NDIyLCA3OTU2LCAxLjE2NjY0Mjc4NTA3MjMyNjddLCBbMTY2MzkyNTEwOC44NzIzMzMsIDc5NjUsIDEuMTg2MDA4NTcyNTc4NDMwMl0sIFsxNjYzOTI1MTA4Ljk2ODc5MjcsIDc5NzQsIDEuMjA2MzgxMzIwOTUzMzY5MV0sIFsxNjYzOTI1MTA5LjA2OTAxMzYsIDc5ODMsIDEuMTc3MTU5NjY3MDE1MDc1N10sIFsxNjYzOTI1MTA5LjE2ODg0NTcsIDc5OTIsIDEuMTk2NTIyMTE2NjYxMDcxOF0sIFsxNjYzOTI1MTA5LjI2NTc5MzMsIDgwMDEsIDEuMTkzOTY2OTg0NzQ4ODQwM10sIFsxNjYzOTI1MTA5LjM2NDE3LCA4MDEwLCAxLjE3NzExMDkxMDQxNTY0OTRdLCBbMTY2MzkyNTEwOS40NjMyNTc2LCA4MDE5LCAxLjE5NDkzMDQzNDIyNjk4OTddLCBbMTY2MzkyNTEwOS42NjczMDY0LCA4MDM3LCAxLjE3ODgyNTM3ODQxNzk2ODhdLCBbMTY2MzkyNTEwOS43NjM2MzczLCA4MDQ2LCAxLjIwMDYxMzAyMTg1MDU4Nl0sIFsxNjYzOTI1MTA5Ljk2MTg2OSwgODA2NCwgMS4xODk3MzI3ODk5OTMyODYxXSwgWzE2NjM5MjUxMTAuMTYyNDE1LCA4MDgyLCAxLjE5MjkyNDQ5OTUxMTcxODhdLCBbMTY2MzkyNTExMC4yNjMyMTQ2LCA4MDkxLCAxLjE5NTM4MzE5MTEwODcwMzZdLCBbMTY2MzkyNTExMC41NjYxMzIzLCA4MTE4LCAxLjE3MzcwODkxNTcxMDQ0OTJdLCBbMTY2MzkyNTExMC42NjQ3NDYsIDgxMjcsIDEuMTcxMzUzODE2OTg2MDg0XSwgWzE2NjM5MjUxMTAuODc2MzMyNSwgODE0NSwgMS4xNTkwNzM3MTA0NDE1ODk0XSwgWzE2NjM5MjUxMTAuOTg4MjI0NywgODE1NCwgMS4xNzkyNzc1MzkyNTMyMzQ5XSwgWzE2NjM5MjUxMTEuMTA3MzU1NiwgODE2MywgMS4xNTczNzYyODkzNjc2NzU4XSwgWzE2NjM5MjUxMTEuMjMxODcwMiwgODE3MiwgMS4xNzMwNzg2NTYxOTY1OTQyXSwgWzE2NjM5MjUxMTEuMzQ3NjExMiwgODE4MSwgMS4xOTkxMzEyNTAzODE0Njk3XSwgWzE2NjM5MjUxMTEuNTY5NzIxNSwgODE5OSwgMS4xNjkyNjIyOTAwMDA5MTU1XSwgWzE2NjM5MjUxMTEuNjYzODE4LCA4MjA4LCAxLjE2NzgyODkxNzUwMzM1N10sIFsxNjYzOTI1MTExLjg3MzIxNTIsIDgyMjYsIDEuMTg2NzI0MTg1OTQzNjAzNV0sIFsxNjYzOTI1MTExLjk3MjA2OTcsIDgyMzUsIDEuMTc1ODUzNDkwODI5NDY3OF0sIFsxNjYzOTI1MTEyLjE4NzI3NjYsIDgyNTMsIDEuMTc0OTY4NzE5NDgyNDIxOV0sIFsxNjYzOTI1MTEyLjI4ODE0OTQsIDgyNjIsIDEuMTc1MTY0OTM3OTczMDIyNV0sIFsxNjYzOTI1MTEyLjM5Mjk2ODIsIDgyNzEsIDEuMjA1MTI3NDc3NjQ1ODc0XSwgWzE2NjM5MjUxMTIuNDkxMTMzNSwgODI4MCwgMS4xNjQ4NjcxNjI3MDQ0Njc4XSwgWzE2NjM5MjUxMTIuNjEzNzkzNCwgODI4OSwgMS4xNjIwNDM2OTA2ODE0NTc1XSwgWzE2NjM5MjUxMTIuNzIwMTQ0LCA4Mjk4LCAxLjE3MjQzNTUyMjA3OTQ2NzhdLCBbMTY2MzkyNTExMi44NDU1NTM5LCA4MzA3LCAxLjE3ODg3NTQ0NjMxOTU4XSwgWzE2NjM5MjUxMTIuOTc2NjI5MywgODMxNiwgMS4xOTQ2OTUyMzQyOTg3MDZdLCBbMTY2MzkyNTExMy4wODIxMDU2LCA4MzI1LCAxLjE3NDc3OTc3Mjc1ODQ4MzldLCBbMTY2MzkyNTExMy40NzQ4MTUxLCA4MzUyLCAxLjE2MzM2OTE3ODc3MTk3MjddLCBbMTY2MzkyNTExMy42MDc5OTM2LCA4MzYxLCAxLjE3NDUxMjM4NjMyMjAyMTVdLCBbMTY2MzkyNTExMy43MjIzMjkxLCA4MzcwLCAxLjE4MDQ5NDMwODQ3MTY3OTddLCBbMTY2MzkyNTExMy44MjY5NzM3LCA4Mzc5LCAxLjIwOTM3NDQyNzc5NTQxMDJdLCBbMTY2MzkyNTExMy45MjgzMTgzLCA4Mzg4LCAxLjE3NzE2NzI5NjQwOTYwN10sIFsxNjYzOTI1MTE0LjAzMzMyNywgODM5NywgMS4xNjg3OTE2NTE3MjU3NjldLCBbMTY2MzkyNTExNC4xMzQ3Njk3LCA4NDA2LCAxLjE3NjUxNzcyNDk5MDg0NDddLCBbMTY2MzkyNTExNC4yMzcyMjQ4LCA4NDE1LCAxLjE4NDE3ODk0ODQwMjQwNDhdLCBbMTY2MzkyNTExNC4zMzQzODIsIDg0MjQsIDEuMTY5MTk0OTM2NzUyMzE5M10sIFsxNjYzOTI1MTE0Ljc2Njc0NjUsIDg0NjAsIDEuMTY5NjE4NjA2NTY3MzgyOF0sIFsxNjYzOTI1MTE0LjkwNzI2NTIsIDg0NjksIDEuMTgyODExMjYwMjIzMzg4N10sIFsxNjYzOTI1MTE1LjAzNzc1MDcsIDg0NzgsIDEuMTcyNjQ4NjY4Mjg5MTg0Nl0sIFsxNjYzOTI1MTE1LjE1NDk4NSwgODQ4NywgMS4xNjQxNTQyOTExNTI5NTRdLCBbMTY2MzkyNTExNS4yNTQ3MDc2LCA4NDk2LCAxLjE4ODAxNzQ4NzUyNTk0XSwgWzE2NjM5MjUxMTUuNjQ1Mjg2NiwgODUxNCwgMS4xNzQ4Nzk3ODkzNTI0MTddLCBbMTY2MzkyNTExNS43NDEzMTksIDg1MjMsIDEuMjA0NjA3MjQ4MzA2Mjc0NF0sIFsxNjYzOTI1MTE1Ljg0OTUyLCA4NTMyLCAxLjE3OTkyODA2NDM0NjMxMzVdLCBbMTY2MzkyNTExNi4wOTY4NTAyLCA4NTUwLCAxLjE3OTE2OTUzNTYzNjkwMTldLCBbMTY2MzkyNTExNi4yMjY0NjQzLCA4NTU5LCAxLjE3NzQ5Mjg1Njk3OTM3MDFdLCBbMTY2MzkyNTExNi40NTEyNzk0LCA4NTc3LCAxLjE4MDU0NTIxMDgzODMxNzldLCBbMTY2MzkyNTExNi42NzQ5MTc1LCA4NTk1LCAxLjE3NTI0ODk4MDUyMjE1NThdLCBbMTY2MzkyNTExNi43NzcwMzI5LCA4NjA0LCAxLjE3MzQxNDQ2ODc2NTI1ODhdLCBbMTY2MzkyNTExNi44NzU5MzI3LCA4NjEzLCAxLjE3MTQ4MTk2Njk3MjM1MV0sIFsxNjYzOTI1MTE2Ljk5MTE2OCwgODYyMiwgMS4xNzM5MTcyOTM1NDg1ODRdLCBbMTY2MzkyNTExNy4yMTk2MjgsIDg2NDAsIDEuMjE1MzY3Njc0ODI3NTc1N10sIFsxNjYzOTI1MTE3LjMzNTgyNTIsIDg2NDksIDEuMTY2NjEwMjQwOTM2Mjc5M10sIFsxNjYzOTI1MTE3LjQ2MjcyNSwgODY1OCwgMS4xNTg0NTUxMzM0MzgxMTA0XSwgWzE2NjM5MjUxMTcuNTc0MDY0NSwgODY2NywgMS4xODIyMjcxMzQ3MDQ1ODk4XSwgWzE2NjM5MjUxMTcuNjg3MjExNSwgODY3NiwgMS4xNTU1MTc1NzgxMjVdLCBbMTY2MzkyNTExNy44MTA1Mjc4LCA4Njg1LCAxLjE1NjIyOTg1MzYzMDA2Nl0sIFsxNjYzOTI1MTE3Ljk0OTgxNTUsIDg2OTQsIDEuMTYzOTUzMDY1ODcyMTkyNF0sIFsxNjYzOTI1MTE4LjE3MDcyMjUsIDg3MTIsIDEuMTk0NTM3NjM5NjE3OTJdLCBbMTY2MzkyNTExOC4yOTE5OTI0LCA4NzIxLCAxLjE1ODA4NTcwMzg0OTc5MjVdLCBbMTY2MzkyNTExOC42NTMzNjU5LCA4NzQ4LCAxLjE3MTQyNjY1Mzg2MTk5OTVdLCBbMTY2MzkyNTExOC43NjI5MjkyLCA4NzU3LCAxLjE4NTMxNDI5NzY3NjA4NjRdLCBbMTY2MzkyNTExOS4yMTkxMDUsIDg3OTMsIDEuMTY4NjIyOTcwNTgxMDU0N10sIFsxNjYzOTI1MTE5LjMzMjE2NjQsIDg4MDIsIDEuMTk3NDg0NjEyNDY0OTA0OF0sIFsxNjYzOTI1MTE5LjQ0NzY5NTMsIDg4MTEsIDEuMTkwNzk4MDQ0MjA0NzEyXSwgWzE2NjM5MjUxMTkuNTY0MDU0LCA4ODIwLCAxLjE1OTA2ODgyMjg2MDcxNzhdLCBbMTY2MzkyNTExOS42NjM5NzcxLCA4ODI5LCAxLjE3ODYxNjc2MjE2MTI1NDldLCBbMTY2MzkyNTExOS43Nzc2MTkxLCA4ODM4LCAxLjIwMDEyMzc4NjkyNjI2OTVdLCBbMTY2MzkyNTExOS44OTMzMjA2LCA4ODQ3LCAxLjE1MDgwNzk3NjcyMjcxNzNdLCBbMTY2MzkyNTEyMC4wMTE1Mzk1LCA4ODU2LCAxLjE3NDUzMDE0ODUwNjE2NDZdLCBbMTY2MzkyNTEyMC4zMzAyNTEsIDg4ODMsIDEuMTc1MzUxMjYyMDkyNTkwM10sIFsxNjYzOTI1MTIwLjQzODE2NTcsIDg4OTIsIDEuMTc5MjgzNzM4MTM2MjkxNV0sIFsxNjYzOTI1MTIwLjU0NDEyODQsIDg5MDEsIDEuMTYyODIwMjE5OTkzNTkxM10sIFsxNjYzOTI1MTIwLjY2ODgzNzMsIDg5MTAsIDEuMTU0NTI0NjgzOTUyMzMxNV0sIFsxNjYzOTI1MTIwLjc3MDg2NCwgODkxOSwgMS4xNjczMzY5NDA3NjUzODA5XSwgWzE2NjM5MjUxMjEuMDA0ODIyMywgODkzNywgMS4xNzAyOTA1ODkzMzI1ODA2XSwgWzE2NjM5MjUxMjEuMjc0MDMyNCwgODk1NSwgMS4xNDk4ODYyNTA0OTU5MTA2XSwgWzE2NjM5MjUxMjEuMzkwNDI1MiwgODk2NCwgMS4xNzA4NDc0MTU5MjQwNzIzXSwgWzE2NjM5MjUxMjEuNDk2MzU1MywgODk3MywgMS4xNjUwMjA1ODUwNjAxMTk2XSwgWzE2NjM5MjUxMjEuNzMzMjg4MywgODk5MSwgMS4xODIyMTIzNTI3NTI2ODU1XSwgWzE2NjM5MjUxMjEuODMxNDg5LCA5MDAwLCAxLjE0OTUzMDQxMDc2NjYwMTZdLCBbMTY2MzkyNTEyMS45MzIxNjkyLCA5MDA5LCAxLjE2NzE5MzQxMjc4MDc2MTddLCBbMTY2MzkyNTEyMi4wMzk3NDI3LCA5MDE4LCAxLjE3MzkyNjIzNDI0NTMwMDNdLCBbMTY2MzkyNTEyMi4xNTc1NTgsIDkwMjcsIDEuMTUxMTg2ODIzODQ0OTA5N10sIFsxNjYzOTI1MTIyLjI3MjU2MywgOTAzNiwgMS4xNzc3ODE3MDEwODc5NTE3XSwgWzE2NjM5MjUxMjIuMzcyNDI4NywgOTA0NSwgMS4xODk2Njc1ODI1MTE5MDE5XSwgWzE2NjM5MjUxMjIuNDg4MzAzMiwgOTA1NCwgMS4xNzY4OTA4NTAwNjcxMzg3XSwgWzE2NjM5MjUxMjIuNTkwNzIxNCwgOTA2MywgMS4xNDc2NTc1MTM2MTg0NjkyXSwgWzE2NjM5MjUxMjIuNjg3NjMxMSwgOTA3MiwgMS4xNzM1NTE0NDAyMzg5NTI2XSwgWzE2NjM5MjUxMjMuMTU5MzQzMiwgOTEwOCwgMS4xNzA1MzQ4NDkxNjY4NzAxXSwgWzE2NjM5MjUxMjMuNDA1MTg3MSwgOTEyNiwgMS4xNzA3ODE5NzAwMjQxMDg5XSwgWzE2NjM5MjUxMjMuNTIxMDc2LCA5MTM1LCAxLjE2NjU2MTEyNjcwODk4NDRdLCBbMTY2MzkyNTEyMy42NDAwMzE4LCA5MTQ0LCAxLjE2NDU1Mzk5OTkwMDgxNzldLCBbMTY2MzkyNTEyMy43NzA4OTQ1LCA5MTUzLCAxLjE1OTA0Mzc4ODkwOTkxMl0sIFsxNjYzOTI1MTIzLjg3NTQwOSwgOTE2MiwgMS4yMDI1MjA4NDczMjA1NTY2XSwgWzE2NjM5MjUxMjQuMjEzNTM2LCA5MTg5LCAxLjE3MTUxMDY5NjQxMTEzMjhdLCBbMTY2MzkyNTEyNC40MzU1OTUsIDkyMDcsIDEuMTYyNzM0NzQ2OTMyOTgzNF0sIFsxNjYzOTI1MTI0LjU1NzM2NTcsIDkyMTYsIDEuMTQzNTY0OTM5NDk4OTAxNF0sIFsxNjYzOTI1MTI0Ljc3MzAxMDMsIDkyMzQsIDEuMTY0NDM1ODYzNDk0ODczXSwgWzE2NjM5MjUxMjQuODgwNDMyMSwgOTI0MywgMS4xNTM3NTIyMDc3NTYwNDI1XSwgWzE2NjM5MjUxMjUuMDgxOTc0LCA5MjYxLCAxLjE5ODcwNTQzNDc5OTE5NDNdLCBbMTY2MzkyNTEyNS4xODg0MTUzLCA5MjcwLCAxLjE2MzYzMTc5NjgzNjg1M10sIFsxNjYzOTI1MTI1LjYxNzM1OSwgOTI4OCwgMS4xNTk3Mjg2NDYyNzgzODEzXSwgWzE2NjM5MjUxMjYuMDkyNjAzNCwgOTMyNCwgMS4xNDkyNDQxODkyNjIzOTAxXSwgWzE2NjM5MjUxMjYuMjA1OTM0MywgOTMzMywgMS4xNjQzOTU4MDkxNzM1ODRdLCBbMTY2MzkyNTEyNi4zMTExNTc1LCA5MzQyLCAxLjE3NTk5MTE3NzU1ODg5OV0sIFsxNjYzOTI1MTI2LjQxMzk5MiwgOTM1MSwgMS4xNDQ4OTQ0ODA3MDUyNjEyXSwgWzE2NjM5MjUxMjYuNTIzNzkzMiwgOTM2MCwgMS4xNTA1MzQwMzM3NzUzMjk2XSwgWzE2NjM5MjUxMjYuOTczMjQ4LCA5Mzk2LCAxLjE0Njc1NDYyMjQ1OTQxMTZdLCBbMTY2MzkyNTEyNy4xNzkzOCwgOTQxNCwgMS4xODAwNjMyNDc2ODA2NjRdLCBbMTY2MzkyNTEyNy4yNzgwMDgyLCA5NDIzLCAxLjE2OTg1MjQ5NTE5MzQ4MTRdLCBbMTY2MzkyNTEyNy40ODQyMjI3LCA5NDQxLCAxLjE3MDg1MTIzMDYyMTMzOF0sIFsxNjYzOTI1MTI3LjU4MDkxNDMsIDk0NTAsIDEuMTU2OTczMzYxOTY4OTk0MV0sIFsxNjYzOTI1MTI3LjY3MTU0NCwgOTQ1OSwgMS4xNzQ0NjczMjUyMTA1NzEzXSwgWzE2NjM5MjUxMjcuODc1ODQ1NCwgOTQ3NywgMS4xODMyMTUyNjA1MDU2NzYzXSwgWzE2NjM5MjUxMjcuOTg1NDM2MiwgOTQ4NiwgMS4xODE1MzE2Njc3MDkzNTA2XSwgWzE2NjM5MjUxMjguMDg1MTc1NSwgOTQ5NSwgMS4xNTYxNDgwNzYwNTc0MzRdLCBbMTY2MzkyNTEyOC4yNzY4MDM1LCA5NTEzLCAxLjE2MzAzNDc5NjcxNDc4MjddLCBbMTY2MzkyNTEyOC40NzU1MDQ0LCA5NTMxLCAxLjE2MjQxMTY4OTc1ODMwMDhdLCBbMTY2MzkyNTEyOC41NzczNjQsIDk1NDAsIDEuMTY1NjQyOTc2NzYwODY0M10sIFsxNjYzOTI1MTI4LjY4MjE2MjUsIDk1NDksIDEuMTg0MjExNzMwOTU3MDMxMl0sIFsxNjYzOTI1MTI4Ljg4ODE3MjYsIDk1NjcsIDEuMTUwMzU2MTczNTE1MzE5OF0sIFsxNjYzOTI1MTI4Ljk4MjA0MjMsIDk1NzYsIDEuMTcwOTQ2NDc4ODQzNjg5XSwgWzE2NjM5MjUxMjkuMTc1NjkyOCwgOTU5NCwgMS4xODIzMTY4OTkyOTk2MjE2XSwgWzE2NjM5MjUxMjkuMjc4NDg3NCwgOTYwMywgMS4xNzU2Njk2NzAxMDQ5ODA1XSwgWzE2NjM5MjUxMjkuMzc1MDIxLCA5NjEyLCAxLjE2Mzk3ODA5OTgyMjk5OF0sIFsxNjYzOTI1MTI5LjQ3NTM4NDIsIDk2MjEsIDEuMTMwNTc5NzEwMDA2NzEzOV0sIFsxNjYzOTI1MTI5LjU3Mjg0NjQsIDk2MzAsIDEuMTU1ODk5NzYzMTA3Mjk5OF0sIFsxNjYzOTI1MTI5LjY4MTg5NSwgOTYzOSwgMS4xNTQzMDg0MzgzMDEwODY0XSwgWzE2NjM5MjUxMjkuNzc3ODk4LCA5NjQ4LCAxLjE2Njc5MzgyMzI0MjE4NzVdLCBbMTY2MzkyNTEyOS44NzE4MDEsIDk2NTcsIDEuMTgxMjA5NjgzNDE4Mjc0XSwgWzE2NjM5MjUxMjkuOTY3MTk4LCA5NjY2LCAxLjE3NzEyMDgwNDc4NjY4MjFdLCBbMTY2MzkyNTEzMC4wNzU2NjI0LCA5Njc1LCAxLjE1MzQyNDE0Mzc5MTE5ODddLCBbMTY2MzkyNTEzMC4zNzQ2NCwgOTcwMiwgMS4xNjAxODc3MjEyNTI0NDE0XSwgWzE2NjM5MjUxMzAuNDc1MDUsIDk3MTEsIDEuMTU3NDE4NzI3ODc0NzU1OV0sIFsxNjYzOTI1MTMwLjY4MDA0NywgOTcyOSwgMS4xNjYzMDMwMzg1OTcxMDddLCBbMTY2MzkyNTEzMC43ODU4MjIsIDk3MzgsIDEuMTgxODU0MjQ4MDQ2ODc1XSwgWzE2NjM5MjUxMzAuODg4ODU5NywgOTc0NywgMS4xNDc4NDg4NDQ1MjgxOTgyXSwgWzE2NjM5MjUxMzEuMDExMTExNywgOTc1NiwgMS4xNDAwMTc2Mjg2Njk3Mzg4XSwgWzE2NjM5MjUxMzEuMjI3OTksIDk3NzQsIDEuMTM3NzI4MzMzNDczMjA1Nl0sIFsxNjYzOTI1MTMxLjMyNzE1NDQsIDk3ODMsIDEuMTQ5NTU3NTkwNDg0NjE5MV0sIFsxNjYzOTI1MTMxLjQyNTEwNjMsIDk3OTIsIDEuMTU2MDY4MzI1MDQyNzI0Nl0sIFsxNjYzOTI1MTMxLjUxODA4NDgsIDk4MDEsIDEuMTQwMjE3NzgxMDY2ODk0NV0sIFsxNjYzOTI1MTMxLjgwNTY4NywgOTgyOCwgMS4xMzg5OTYwMDUwNTgyODg2XSwgWzE2NjM5MjUxMzEuOTAzOTM1MiwgOTgzNywgMS4xNjk3ODQ3ODQzMTcwMTY2XSwgWzE2NjM5MjUxMzEuOTk3MzIzOCwgOTg0NiwgMS4xNjIzMTI5ODQ0NjY1NTI3XSwgWzE2NjM5MjUxMzIuNTA1Njg2OCwgOTg5MSwgMS4xNzAzMDA5NjA1NDA3NzE1XSwgWzE2NjM5MjUxMzIuNjkzODQ0OCwgOTkwOSwgMS4xNjc3NDU1OTAyMDk5NjFdLCBbMTY2MzkyNTEzMi44OTQ3ODkyLCA5OTI3LCAxLjE0NTMxNjI0MzE3MTY5Ml0sIFsxNjYzOTI1MTMyLjk5MDI3MDEsIDk5MzYsIDEuMTU3ODM3NTEwMTA4OTQ3OF0sIFsxNjYzOTI1MTMzLjA5Mjk0NDksIDk5NDUsIDEuMTI5OTYzNjM2Mzk4MzE1NF0sIFsxNjYzOTI1MTMzLjI4NzE3MDYsIDk5NjMsIDEuMTY5MjM0ODcxODY0MzE4OF0sIFsxNjYzOTI1MTMzLjQwMzM0NywgOTk3MiwgMS4xNDk5MDYyNzc2NTY1NTUyXSwgWzE2NjM5MjUxMzMuNTAxODE5NCwgOTk4MSwgMS4xNTM0NTIzOTYzOTI4MjIzXSwgWzE2NjM5MjUxMzMuNjAwMTg1LCA5OTkwLCAxLjE1MTM4NjczNzgyMzQ4NjNdLCBbMTY2MzkyNTEzMy42OTgyMDA1LCA5OTk5LCAxLjE0OTk5NzM1MzU1Mzc3Ml0sIFsxNjYzOTI1MTMzLjc5MTU4NjYsIDEwMDA4LCAxLjE1Mzk2NDYzODcxMDAyMl0sIFsxNjYzOTI1MTMzLjg4NzU3MzUsIDEwMDE3LCAxLjE2NzcwMTg0MDQwMDY5NThdLCBbMTY2MzkyNTEzMy45OTIwMjUsIDEwMDI2LCAxLjEzOTY5NTc2MzU4Nzk1MTddLCBbMTY2MzkyNTEzNC4wOTAxMDA1LCAxMDAzNSwgMS4xNDU1NzM0OTY4MTg1NDI1XSwgWzE2NjM5MjUxMzQuMjc2MTA3NSwgMTAwNTMsIDEuMTM2MjI0NzQ2NzA0MTAxNl0sIFsxNjYzOTI1MTM0LjU3MzU1OTUsIDEwMDYyLCAxLjE1NDQxMDEyMzgyNTA3MzJdLCBbMTY2MzkyNTEzNC43ODU3OTksIDEwMDgwLCAxLjE0NjgzMDc5NzE5NTQzNDZdLCBbMTY2MzkyNTEzNC45MDYyNTUyLCAxMDA4OSwgMS4xNDc2OTE5NjUxMDMxNDk0XSwgWzE2NjM5MjUxMzUuMDA2NjQ0LCAxMDA5OCwgMS4xNTQwMzU0NDkwMjgwMTUxXSwgWzE2NjM5MjUxMzUuMTAyNjkzMywgMTAxMDcsIDEuMTY3NTMxMTMyNjk4MDU5XSwgWzE2NjM5MjUxMzUuNDA1OTcxLCAxMDEzNCwgMS4xNjQyMDkyNDY2MzU0MzddLCBbMTY2MzkyNTEzNS41MDcxMDg3LCAxMDE0MywgMS4xNTUzMjk3MDQyODQ2NjhdLCBbMTY2MzkyNTEzNS43MTMwNTg3LCAxMDE2MSwgMS4xMzc4MjY2ODExMzcwODVdLCBbMTY2MzkyNTEzNS44MDYxMiwgMTAxNzAsIDEuMTYxMTQ1MDkxMDU2ODIzN10sIFsxNjYzOTI1MTM1LjkwNTk3MywgMTAxNzksIDEuMTU5NTc0NzQ3MDg1NTcxM10sIFsxNjYzOTI1MTM2LjAwNDc0NDMsIDEwMTg4LCAxLjE0NjI0MjYxODU2MDc5MV0sIFsxNjYzOTI1MTM2LjExNDcyNDIsIDEwMTk3LCAxLjEzNjcyNjYxNzgxMzExMDRdLCBbMTY2MzkyNTEzNi4yMjY1MTc3LCAxMDIwNiwgMS4xNDUzOTgwMjA3NDQzMjM3XSwgWzE2NjM5MjUxMzYuMzI2NTQ2NCwgMTAyMTUsIDEuMTQwODIyMDUyOTU1NjI3NF0sIFsxNjYzOTI1MTM2LjQyNzI1LCAxMDIyNCwgMS4xNTcxNDA3MzE4MTE1MjM0XSwgWzE2NjM5MjUxMzYuNTI3MDA1LCAxMDIzMywgMS4xMzg0OTI1ODQyMjg1MTU2XSwgWzE2NjM5MjUxMzYuNjI0OTcyLCAxMDI0MiwgMS4xNDM2MzgyNTMyMTE5NzVdLCBbMTY2MzkyNTEzNi44MTMyMDg4LCAxMDI2MCwgMS4xNDI2MDE2MDkyMzAwNDE1XSwgWzE2NjM5MjUxMzYuOTEwNjA2LCAxMDI2OSwgMS4xMTk3MTkxNDc2ODIxOV0sIFsxNjYzOTI1MTM3LjExOTY3NjgsIDEwMjg3LCAxLjE3OTcxNDY3OTcxODAxNzZdLCBbMTY2MzkyNTEzNy4yMTcyNDk0LCAxMDI5NiwgMS4xMzIyNTI0NTQ3NTc2OTA0XSwgWzE2NjM5MjUxMzcuNDE5NzAxNiwgMTAzMTQsIDEuMTQ4Nzk1NDg1NDk2NTIxXSwgWzE2NjM5MjUxMzcuNTE0NjUzNCwgMTAzMjMsIDEuMTQ4MjQ0ODU3Nzg4MDg2XSwgWzE2NjM5MjUxMzcuNzA3NTE2NywgMTAzNDEsIDEuMTU2MDk1MDI3OTIzNTg0XSwgWzE2NjM5MjUxMzcuODAyMjcwNywgMTAzNTAsIDEuMTYwNjk1NzkxMjQ0NTA2OF0sIFsxNjYzOTI1MTM3LjkwNDc2NzUsIDEwMzU5LCAxLjE1MDM1NzEyNzE4OTYzNjJdLCBbMTY2MzkyNTEzOC4wMDQzMjIzLCAxMDM2OCwgMS4xNzkwNTc1OTgxMTQwMTM3XSwgWzE2NjM5MjUxMzguMDk4MDYsIDEwMzc3LCAxLjE0NTMzNzEwNDc5NzM2MzNdLCBbMTY2MzkyNTEzOC4yMDU2OTk3LCAxMDM4NiwgMS4xMjg4NTIyNDgxOTE4MzM1XSwgWzE2NjM5MjUxMzguNDE0MDQ2OCwgMTA0MDQsIDEuMTU5MTQ4NDU0NjY2MTM3N10sIFsxNjYzOTI1MTM4LjUxMjY3ODksIDEwNDEzLCAxLjE3MDIzNTE1NzAxMjkzOTVdLCBbMTY2MzkyNTEzOC42MTIxMDk3LCAxMDQyMiwgMS4xMzQyOTI4NDA5NTc2NDE2XSwgWzE2NjM5MjUxMzguODU0ODM1LCAxMDQ0MCwgMS4xNDE5MjI0NzM5MDc0NzA3XSwgWzE2NjM5MjUxMzguOTY1MTUyLCAxMDQ0OSwgMS4xNDcxMjkxNzgwNDcxODAyXSwgWzE2NjM5MjUxMzkuMjE0MDgzNCwgMTA0NjcsIDEuMTMzNDYzMDI1MDkzMDc4Nl0sIFsxNjYzOTI1MTM5LjMyMTA4NzEsIDEwNDc2LCAxLjE0MTI0MTY2OTY1NDg0NjJdLCBbMTY2MzkyNTEzOS40NDE2MTE1LCAxMDQ4NSwgMS4xNDk0MTk5MDM3NTUxODhdLCBbMTY2MzkyNTEzOS41NTQ0Nzg2LCAxMDQ5NCwgMS4xNTg3NzQ3MzM1NDMzOTZdLCBbMTY2MzkyNTEzOS42NTgxODYsIDEwNTAzLCAxLjE1NDIxNTA5NzQyNzM2ODJdLCBbMTY2MzkyNTEzOS43NzQ5ODMyLCAxMDUxMiwgMS4xNDg4NzYxOTAxODU1NDY5XSwgWzE2NjM5MjUxMzkuODgwNTczNywgMTA1MjEsIDEuMTYwMDE3MDEzNTQ5ODA0N10sIFsxNjYzOTI1MTQwLjI4MTg5NSwgMTA1NTcsIDEuMTUwMjQ5NjAwNDEwNDYxNF0sIFsxNjYzOTI1MTQwLjM5MjIzNCwgMTA1NjYsIDEuMTIzMjc1NjM3NjI2NjQ4XSwgWzE2NjM5MjUxNDAuNDkyMTc0NCwgMTA1NzUsIDEuMTI5MTgzNjUwMDE2Nzg0N10sIFsxNjYzOTI1MTQwLjY5MjI0OTgsIDEwNTkzLCAxLjE0NDI1MTEwODE2OTU1NTddLCBbMTY2MzkyNTE0MC43ODc0OTQyLCAxMDYwMiwgMS4xNjQwNDE3NTc1ODM2MTgyXSwgWzE2NjM5MjUxNDAuODkwNDAyMywgMTA2MTEsIDEuMTMwMTcxMjk4OTgwNzEzXSwgWzE2NjM5MjUxNDEuMDk1NDMwNiwgMTA2MjksIDEuMTU3MTU1ODcxMzkxMjk2NF0sIFsxNjYzOTI1MTQxLjIxNTI1MjIsIDEwNjM4LCAxLjEzMDYyMDk1NjQyMDg5ODRdLCBbMTY2MzkyNTE0MS4zMTQzOTQ1LCAxMDY0NywgMS4xMzE0MTA5NTYzODI3NTE1XSwgWzE2NjM5MjUxNDEuNTIxMDQxLCAxMDY2NSwgMS4xMzkyOTY0MTI0Njc5NTY1XSwgWzE2NjM5MjUxNDEuNzE5ODcxOCwgMTA2ODMsIDEuMTQ3OTY5OTYxMTY2MzgxOF0sIFsxNjYzOTI1MTQxLjkzMTY2MSwgMTA3MDEsIDEuMTMxNDg4NDQyNDIwOTU5NV0sIFsxNjYzOTI1MTQyLjA2NTIzNCwgMTA3MTAsIDEuMTMyNjI2ODkxMTM2MTY5NF0sIFsxNjYzOTI1MTQyLjE4Njg0NywgMTA3MTksIDEuMTc1Njk1ODk2MTQ4NjgxNl0sIFsxNjYzOTI1MTQyLjI4NDcyNzgsIDEwNzI4LCAxLjE0NzM0MTEzMjE2NDAwMTVdLCBbMTY2MzkyNTE0Mi40ODg2MDg2LCAxMDc0NiwgMS4xNDk3MDk4MjA3NDczNzU1XSwgWzE2NjM5MjUxNDIuNTg4NDE4NSwgMTA3NTUsIDEuMTU5ODQ0ODc1MzM1NjkzNF0sIFsxNjYzOTI1MTQyLjY4NzU1MTMsIDEwNzY0LCAxLjE0ODU1NTE1OTU2ODc4NjZdLCBbMTY2MzkyNTE0Mi43OTI1MTg5LCAxMDc3MywgMS4xNDk3MjE2MjI0NjcwNDFdLCBbMTY2MzkyNTE0Mi44OTM0OTk0LCAxMDc4MiwgMS4xNDkxMzk4ODExMzQwMzMyXSwgWzE2NjM5MjUxNDIuOTg5ODk5MiwgMTA3OTEsIDEuMTYzODMwMzk5NTEzMjQ0Nl0sIFsxNjYzOTI1MTQzLjM0NjUxNDUsIDEwODE4LCAxLjE0ODgwODU5ODUxODM3MTZdLCBbMTY2MzkyNTE0My40NTU5OTc1LCAxMDgyNywgMS4xNjA2NzQyMTQzNjMwOTgxXSwgWzE2NjM5MjUxNDMuOTcwNTQyMiwgMTA4NTQsIDEuMTMwNzM1MDM5NzEwOTk4NV0sIFsxNjYzOTI1MTQ0LjA3NzMxOTksIDEwODYzLCAxLjEyMjEzMDE1NTU2MzM1NDVdLCBbMTY2MzkyNTE0NC4xNzYyMDM3LCAxMDg3MiwgMS4xNTM3OTIzODEyODY2MjFdLCBbMTY2MzkyNTE0NC4zNzU0MTgyLCAxMDg5MCwgMS4xNzE1NDAzNzk1MjQyMzFdLCBbMTY2MzkyNTE0NC40ODAxOTkzLCAxMDg5OSwgMS4xMzA0MDYzNzk2OTk3MDddLCBbMTY2MzkyNTE0NC43NzUxMDM2LCAxMDkyNiwgMS4xMzU4MjQ2ODAzMjgzNjkxXSwgWzE2NjM5MjUxNDQuODY3MzA3NCwgMTA5MzUsIDEuMTM2NDQ1ODc5OTM2MjE4M10sIFsxNjYzOTI1MTQ0Ljk2NDIzMywgMTA5NDQsIDEuMTI5MzIxMDk4MzI3NjM2N10sIFsxNjYzOTI1MTQ1LjE2NDc2LCAxMDk2MiwgMS4xMzQ4NTM5NTkwODM1NTcxXSwgWzE2NjM5MjUxNDUuMjc3MzMzMywgMTA5NzEsIDEuMTMwOTI2MDEyOTkyODU4OV0sIFsxNjYzOTI1MTQ1LjM3NTE1NjQsIDEwOTgwLCAxLjE3MzMyMjQzOTE5MzcyNTZdLCBbMTY2MzkyNTE0NS40NzQyNzQ0LCAxMDk4OSwgMS4xNjQyNjIxNzU1NTk5OTc2XSwgWzE2NjM5MjUxNDUuNTc1OTc0NSwgMTA5OTgsIDEuMTQxNDYwNTM3OTEwNDYxNF0sIFsxNjYzOTI1MTQ1LjY3NzUyNywgMTEwMDcsIDEuMTUxMDY1MjMwMzY5NTY3OV0sIFsxNjYzOTI1MTQ1Ljc5MDY1NSwgMTEwMTYsIDEuMTIwMTY2MzAxNzI3Mjk1XSwgWzE2NjM5MjUxNDYuMDA4ODQ2NSwgMTEwMzQsIDEuMTM1NTcyNDMzNDcxNjc5N10sIFsxNjYzOTI1MTQ2LjMzMDc5MDMsIDExMDYxLCAxLjEzODE0MTc1MTI4OTM2NzddLCBbMTY2MzkyNTE0Ni40MzY0MzQsIDExMDcwLCAxLjEyOTc2MTIxOTAyNDY1ODJdLCBbMTY2MzkyNTE0Ni43NDUyMTIsIDExMDk3LCAxLjE1MzAwNDE2OTQ2NDExMTNdLCBbMTY2MzkyNTE0Ni44NTA2OTU4LCAxMTEwNiwgMS4xMzI1OTU1MzkwOTMwMTc2XSwgWzE2NjM5MjUxNDYuOTU0ODc5LCAxMTExNSwgMS4xNDExNTIyNjI2ODc2ODNdLCBbMTY2MzkyNTE0Ny4wNjIzOTY1LCAxMTEyNCwgMS4xMTU2MTAwMDM0NzEzNzQ1XSwgWzE2NjM5MjUxNDcuMzkzNTUyLCAxMTE1MSwgMS4xNDU3NDgzNzY4NDYzMTM1XSwgWzE2NjM5MjUxNDcuNjA3NzcyLCAxMTE2OSwgMS4xMzk3NjM3MTI4ODI5OTU2XSwgWzE2NjM5MjUxNDcuNzE3MTU2LCAxMTE3OCwgMS4xNDQyOTQ1MDAzNTA5NTIxXSwgWzE2NjM5MjUxNDcuODI0MDIsIDExMTg3LCAxLjE1MDg0NTE3MDAyMTA1NzFdLCBbMTY2MzkyNTE0Ny45NDgxNDcsIDExMTk2LCAxLjE2Mzk3MTQyNDEwMjc4MzJdLCBbMTY2MzkyNTE0OC4wNTM4NDY4LCAxMTIwNSwgMS4xNTUxNDY5NTY0NDM3ODY2XSwgWzE2NjM5MjUxNDguMTUyNDI3NCwgMTEyMTQsIDEuMTQ3MzIzMDEyMzUxOTg5N10sIFsxNjYzOTI1MTQ4LjI0ODA3NDMsIDExMjIzLCAxLjE1MDQ3NDkwNTk2NzcxMjRdLCBbMTY2MzkyNTE0OC4zODY5NDYsIDExMjMyLCAxLjE0NjEzMDgwMDI0NzE5MjRdLCBbMTY2MzkyNTE0OC41MDEzMDksIDExMjQxLCAxLjEyMDUzMTA4MjE1MzMyMDNdLCBbMTY2MzkyNTE0OC42MTM2NTksIDExMjUwLCAxLjE1MTU5ODIxNTEwMzE0OTRdLCBbMTY2MzkyNTE0OC43MjM3MzI1LCAxMTI1OSwgMS4xNDk4NzE5NDUzODExNjQ2XSwgWzE2NjM5MjUxNDguODM0NTY0NCwgMTEyNjgsIDEuMTQwNzg3NDgyMjYxNjU3N10sIFsxNjYzOTI1MTQ4LjkzODM5ODEsIDExMjc3LCAxLjE0NTU3MTQ3MDI2MDYyMDFdLCBbMTY2MzkyNTE0OS4wNDEwMjgsIDExMjg2LCAxLjExOTg2NzMyNDgyOTEwMTZdLCBbMTY2MzkyNTE0OS4xNDE2MTU0LCAxMTI5NSwgMS4xMzMzMDAxODUyMDM1NTIyXSwgWzE2NjM5MjUxNDkuMzUxNzYxOCwgMTEzMTMsIDEuMTMxMDI4NjUyMTkxMTYyXSwgWzE2NjM5MjUxNDkuNDUxNTcwNywgMTEzMjIsIDEuMTQ2NjEyNzYzNDA0ODQ2Ml0sIFsxNjYzOTI1MTQ5Ljc4Nzk2MjcsIDExMzQ5LCAxLjEyNjEzNDg3MjQzNjUyMzRdLCBbMTY2MzkyNTE0OS44OTM2MDUyLCAxMTM1OCwgMS4xMzg5MDkzMzk5MDQ3ODUyXSwgWzE2NjM5MjUxNTAuMTAxNzQ1MSwgMTEzNzYsIDEuMTU3MDUzNDcwNjExNTcyM10sIFsxNjYzOTI1MTUwLjIzNDU5MTcsIDExMzg1LCAxLjEzOTA1Nzg3NDY3OTU2NTRdLCBbMTY2MzkyNTE1MC4zNDM3NTM2LCAxMTM5NCwgMS4xODQzMTA2NzQ2NjczNTg0XSwgWzE2NjM5MjUxNTAuNDYyMzQ5LCAxMTQwMywgMS4xNTY1MDk4NzYyNTEyMjA3XSwgWzE2NjM5MjUxNTAuNTU4OTc3OCwgMTE0MTIsIDEuMTg2OTk3MTc1MjE2Njc0OF0sIFsxNjYzOTI1MTUwLjY2NzM1MiwgMTE0MjEsIDEuMTQ3MTk1MjE5OTkzNTkxM10sIFsxNjYzOTI1MTUxLjAzMzUzNDgsIDExNDQ4LCAxLjE0MDQwOTIzMTE4NTkxM10sIFsxNjYzOTI1MTUxLjEzNjc2NTUsIDExNDU3LCAxLjEyODYwNDY1MDQ5NzQzNjVdLCBbMTY2MzkyNTE1MS40Njg2OTAyLCAxMTQ4NCwgMS4xNjEyMjAxOTI5MDkyNDA3XSwgWzE2NjM5MjUxNTEuNTcwMTU1LCAxMTQ5MywgMS4xNzU5Mzg4NDQ2ODA3ODYxXSwgWzE2NjM5MjUxNTEuNjc4MzQzLCAxMTUwMiwgMS4xNTUzNDkxMzUzOTg4NjQ3XSwgWzE2NjM5MjUxNTEuNzc3OTAyLCAxMTUxMSwgMS4xNDA5MzcyMDkxMjkzMzM1XSwgWzE2NjM5MjUxNTEuODgzMjM1NywgMTE1MjAsIDEuMTQ0ODE5NDk4MDYyMTMzOF0sIFsxNjYzOTI1MTUxLjk3OTYxMDIsIDExNTI5LCAxLjEzNjQ0Njk1MjgxOTgyNDJdLCBbMTY2MzkyNTE1Mi4xODE5LCAxMTU0NywgMS4xNTcxMTI1OTg0MTkxODk1XSwgWzE2NjM5MjUxNTIuMjgzODIwOSwgMTE1NTYsIDEuMTQ2NTU5NTk2MDYxNzA2NV0sIFsxNjYzOTI1MTUyLjQ4MDQzMTMsIDExNTc0LCAxLjE2NDc1MjM2NDE1ODYzMDRdLCBbMTY2MzkyNTE1Mi41NzcwMDYzLCAxMTU4MywgMS4xMjM3MDY0NTk5OTkwODQ1XSwgWzE2NjM5MjUxNTIuNzc4MjA5NCwgMTE2MDEsIDEuMTM3MTcwMTk1NTc5NTI4OF0sIFsxNjYzOTI1MTUzLjE2OTEzMTgsIDExNjE5LCAxLjEzNjcyMTQ5MTgxMzY1OTddLCBbMTY2MzkyNTE1My4yNjkyODkzLCAxMTYyOCwgMS4xMzkwMjA2ODEzODEyMjU2XSwgWzE2NjM5MjUxNTMuMzcyNDM1OCwgMTE2MzcsIDEuMTM4NTc3MzQyMDMzMzg2Ml0sIFsxNjYzOTI1MTUzLjQ3ODAzMywgMTE2NDYsIDEuMTQ0MDk0NDY3MTYzMDg2XSwgWzE2NjM5MjUxNTMuNjY5MzY2OCwgMTE2NjQsIDEuMTYyOTI2NjczODg5MTYwMl0sIFsxNjYzOTI1MTUzLjc2MTk2OTYsIDExNjczLCAxLjEyNjE5NTkwNzU5Mjc3MzRdLCBbMTY2MzkyNTE1My45NTk2MDIsIDExNjkxLCAxLjEyNzAzNTg1NjI0Njk0ODJdLCBbMTY2MzkyNTE1NC4wNjk4NSwgMTE3MDAsIDEuMTE4NDExNjYwMTk0Mzk3XSwgWzE2NjM5MjUxNTQuMTc4MDgyNSwgMTE3MDksIDEuMTUyMzg4MDk1ODU1NzEzXSwgWzE2NjM5MjUxNTQuMjc1Mjc5LCAxMTcxOCwgMS4xMTUyMjUzMTUwOTM5OTQxXSwgWzE2NjM5MjUxNTQuMzc2NDEzMywgMTE3MjcsIDEuMTI5NDI4MTQ4MjY5NjUzM10sIFsxNjYzOTI1MTU0LjU3NTgzOTMsIDExNzQ1LCAxLjEyOTgwMTUxMTc2NDUyNjRdLCBbMTY2MzkyNTE1NC42NzI2MDcyLCAxMTc1NCwgMS4xMzA4NDc1NzMyODAzMzQ1XSwgWzE2NjM5MjUxNTQuNzY2NzM2LCAxMTc2MywgMS4xMjEwNDA1ODI2NTY4NjA0XSwgWzE2NjM5MjUxNTQuODYwOTg1LCAxMTc3MiwgMS4xNzQyMTE3NDA0OTM3NzQ0XSwgWzE2NjM5MjUxNTUuMDY2ODkxLCAxMTc5MCwgMS4xMzcyOTQ2NTAwNzc4MTk4XSwgWzE2NjM5MjUxNTUuMTYyNzcyMiwgMTE3OTksIDEuMTIxNjM2MjcxNDc2NzQ1Nl0sIFsxNjYzOTI1MTU1LjI1OTQxMDksIDExODA4LCAxLjE0NjcxMzEzNzYyNjY0OF0sIFsxNjYzOTI1MTU1LjM1Mzk3MTcsIDExODE3LCAxLjEyNTAwMDU5NjA0NjQ0NzhdLCBbMTY2MzkyNTE1NS40NDkwODM4LCAxMTgyNiwgMS4xMzYxOTQyMjkxMjU5NzY2XSwgWzE2NjM5MjUxNTUuNTQ1OTEwMSwgMTE4MzUsIDEuMTIzMzk1ODAwNTkwNTE1MV0sIFsxNjYzOTI1MTU1LjY0NTY5OTcsIDExODQ0LCAxLjEwMjI0NDk3MzE4MjY3ODJdLCBbMTY2MzkyNTE1NS45MTk1MzE2LCAxMTg3MSwgMS4xMjkxNzExMzMwNDEzODE4XSwgWzE2NjM5MjUxNTYuMDE3MTI5MiwgMTE4ODAsIDEuMTM0MzYwNDMyNjI0ODE3XSwgWzE2NjM5MjUxNTYuMTIzODczNSwgMTE4ODksIDEuMTI5OTc5OTY4MDcwOTgzOV0sIFsxNjYzOTI1MTU2LjIyNzU0ODQsIDExODk4LCAxLjE4NTk2MDUzMTIzNDc0MTJdLCBbMTY2MzkyNTE1Ni4zMjMyNDQzLCAxMTkwNywgMS4xNjE1OTExNzIyMTgzMjI4XSwgWzE2NjM5MjUxNTYuNDIwMDg3MywgMTE5MTYsIDEuMTM5OTc1Nzg2MjA5MTA2NF0sIFsxNjYzOTI1MTU2LjUxNTQ3OSwgMTE5MjUsIDEuMTQ3NjY3MDUwMzYxNjMzM10sIFsxNjYzOTI1MTU2LjYwNDUxNCwgMTE5MzQsIDEuMTM4MTk4NDk0OTExMTkzOF0sIFsxNjYzOTI1MTU2LjcyNDcyNjIsIDExOTQzLCAxLjE1NDI4ODE3MjcyMTg2MjhdLCBbMTY2MzkyNTE1Ni44Mzg3MjQ5LCAxMTk1MiwgMS4xNDg5NDg0MzEwMTUwMTQ2XSwgWzE2NjM5MjUxNTYuOTQzODUzOSwgMTE5NjEsIDEuMTM1NTQ2NTY1MDU1ODQ3Ml0sIFsxNjYzOTI1MTU3LjA1MjY4NzQsIDExOTcwLCAxLjE2Nzk4MTg2MzAyMTg1MDZdLCBbMTY2MzkyNTE1Ny4xNjg1MDMzLCAxMTk3OSwgMS4xMzY2MzM4NzI5ODU4Mzk4XSwgWzE2NjM5MjUxNTcuNTE1NjY1LCAxMjAwNiwgMS4xMjMwOTY0NjYwNjQ0NTMxXSwgWzE2NjM5MjUxNTcuNjE2MTk2OSwgMTIwMTUsIDEuMTI0NTAxNDY2NzUxMDk4Nl0sIFsxNjYzOTI1MTU3LjcxNDAzMTIsIDEyMDI0LCAxLjEzMjcxNjE3ODg5NDA0M10sIFsxNjYzOTI1MTU4LjAxMDg5NzYsIDEyMDUxLCAxLjEyMzc4MTY4MTA2MDc5MV0sIFsxNjYzOTI1MTU4LjMwNDA0NiwgMTIwNzgsIDEuMTUxODcwNjA4MzI5NzczXSwgWzE2NjM5MjUxNTguMzk5ODI5MSwgMTIwODcsIDEuMTUyMzAyOTgwNDIyOTczNl0sIFsxNjYzOTI1MTU4LjU4NDk1MjYsIDEyMTA1LCAxLjE0MTI2MjA1NDQ0MzM1OTRdLCBbMTY2MzkyNTE1OC42ODU2NDQ5LCAxMjExNCwgMS4xMjM2ODMzMzMzOTY5MTE2XSwgWzE2NjM5MjUxNTguOTIwMjI0NCwgMTIxMzIsIDEuMTQwOTgwOTU4OTM4NTk4Nl0sIFsxNjYzOTI1MTU5LjAyNDg1NjgsIDEyMTQxLCAxLjEzODc1MjIyMjA2MTE1NzJdLCBbMTY2MzkyNTE1OS4xMzI2MywgMTIxNTAsIDEuMTQ1Nzc0MjQ1MjYyMTQ2XSwgWzE2NjM5MjUxNTkuMzQ2OTMxNywgMTIxNjgsIDEuMTM4ODAzMzYyODQ2Mzc0NV0sIFsxNjYzOTI1MTU5LjQ1MDUwOTgsIDEyMTc3LCAxLjE0OTg3NDIxMDM1NzY2Nl0sIFsxNjYzOTI1MTU5LjU1MTMxMDUsIDEyMTg2LCAxLjEzNDQ2MzU0ODY2MDI3ODNdLCBbMTY2MzkyNTE1OS42NTg5NTc3LCAxMjE5NSwgMS4xNTU0MDQ5MjUzNDYzNzQ1XSwgWzE2NjM5MjUxNTkuNzY0NjA5NiwgMTIyMDQsIDEuMTEzODgwNjM0MzA3ODYxM11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=v8&tag=Loss%2Ftrain":{"data":"W1sxNjYzODQwMTUxLjQzOTg2NDksIDM2LCAyMy40ODc5NjA4MTU0Mjk2ODhdLCBbMTY2Mzg0MDE1MS41NTk0MDIsIDQ1LCAxOC40MTY2MDY5MDMwNzYxNzJdLCBbMTY2Mzg0MDE1Mi4zMDI2ODkzLCA5OSwgNS43Mjc2OTE2NTAzOTA2MjVdLCBbMTY2Mzg0MDE1Mi43NDg4MDksIDEzNSwgNS40NzU0NDE5MzI2NzgyMjNdLCBbMTY2Mzg0MDE1Mi44NTc4MTI0LCAxNDQsIDUuNDExNzc5NDAzNjg2NTIzXSwgWzE2NjM4NDAxNTMuMjM3MTA2OCwgMTcxLCA1LjE3MTE0OTI1Mzg0NTIxNV0sIFsxNjYzODQwMTUzLjM1NTIwNjMsIDE4MCwgNS4xODUzMzYxMTI5NzYwNzRdLCBbMTY2Mzg0MDE1My40OTU5NTQ1LCAxODksIDUuMTczNzIzMjIwODI1MTk1XSwgWzE2NjM4NDAxNTMuNzc0OTU3NywgMjA3LCA1LjAwODcxMjI5MTcxNzUyOV0sIFsxNjYzODQwMTUzLjg5ODY3MjMsIDIxNiwgNC45Nzc3MDI2MTc2NDUyNjRdLCBbMTY2Mzg0MDE1NC4zMTg4OTk5LCAyNDMsIDQuODc4OTM1ODEzOTAzODA5XSwgWzE2NjM4NDAxNTQuNDM1OTc1OCwgMjUyLCA0Ljg1OTAxMTY1MDA4NTQ0OV0sIFsxNjYzODQwMTU2LjE2MTAzNjUsIDM1MSwgNC4yMzcyNDY5OTAyMDM4NTddLCBbMTY2Mzg0MDE1Ni40MjI0MDMsIDM2OSwgNC4yMzQwNzE3MzE1NjczODNdLCBbMTY2Mzg0MDE1Ny4zMTc1NTY0LCA0MzIsIDMuOTUwNzA4Mzg5MjgyMjI2Nl0sIFsxNjYzODQwMTU3LjQzNTEwNDgsIDQ0MSwgMy44OTUyNzEwNjI4NTA5NTJdLCBbMTY2Mzg0MDE1Ny42MDEwMiwgNDUwLCAzLjgyMDY5OTQ1MzM1Mzg4Ml0sIFsxNjYzODQwMTU3Ljg0OTAyNDMsIDQ2OCwgMy43MTczMTgyOTY0MzI0OTVdLCBbMTY2Mzg0MDE1OC4yODEyOTA1LCA0OTUsIDMuNjUxMjQxNTQwOTA4ODEzNV0sIFsxNjYzODQwMTU4LjY2OTU4MzgsIDUyMiwgMy41ODAxNzQ0NDYxMDU5NTddLCBbMTY2Mzg0MDE1OS4xMDExNjgyLCA1NDksIDMuNDkyNjY1NzY3NjY5Njc3N10sIFsxNjYzODQwMTU5LjIzMDk1MjMsIDU1OCwgMy40NDg2MzQxNDc2NDQwNDNdLCBbMTY2Mzg0MDE1OS4zNjY5MjYyLCA1NjcsIDMuMzQ4MjE2NTMzNjYwODg4N10sIFsxNjYzODQwMTU5LjQ5Mjc3MTYsIDU3NiwgMy4zNzM2MjI4OTQyODcxMDk0XSwgWzE2NjM4NDAxNTkuNzI0OTczLCA1OTQsIDMuMjQwNjY5NDg4OTA2ODYwNF0sIFsxNjYzODQwMTU5Ljg0OTEzNSwgNjAzLCAzLjMwMDQ3OTY1MDQ5NzQzNjVdLCBbMTY2Mzg0MDE1OS45Njc5NTYsIDYxMiwgMy4yMjM1Njc5NjI2NDY0ODQ0XSwgWzE2NjM4NDAxNjAuMDg1MTcxNSwgNjIxLCAzLjE5MTM2NzE0OTM1MzAyNzNdLCBbMTY2Mzg0MDE2MC4zMjkyNTY4LCA2MzksIDMuMTI4MDY2Nzc4MTgyOTgzNF0sIFsxNjYzODQwMTYwLjQ2NTIyMywgNjQ4LCAzLjE0MjMzODAzNzQ5MDg0NDddLCBbMTY2Mzg0MDE2MS4zMzgxODEsIDcwMiwgMi45MzU3MjMzMDQ3NDg1MzVdLCBbMTY2Mzg0MDE2MS42MDU1MjI2LCA3MjAsIDIuOTAzNjM2OTMyMzczMDQ3XSwgWzE2NjM4NDAxNjIuMDU1MTAxMiwgNzQ3LCAyLjgyMDIxOTUxNjc1NDE1MDRdLCBbMTY2Mzg0MDE2Mi40NzE0NTQ5LCA3NzQsIDIuNzcwMTQ5NzA3Nzk0MTg5NV0sIFsxNjYzODQwMTYyLjk2ODA1NTcsIDgxMCwgMi43NzU5NzQyNzM2ODE2NDA2XSwgWzE2NjM4NDAxNjQuMjc3ODcyLCA5MDAsIDIuNTUxNTEyOTU2NjE5MjYyN10sIFsxNjYzODQwMTY0LjQwOTcwMDksIDkwOSwgMi41MTkwODAxNjIwNDgzNF0sIFsxNjYzODQwMTY0LjgxNTg1OTMsIDkzNiwgMi40NTc0NjIwNzIzNzI0MzY1XSwgWzE2NjM4NDAxNjUuMjE5NTcxOCwgOTYzLCAyLjQ1MTgyOTY3MTg1OTc0MV0sIFsxNjYzODQwMTY1LjM0OTc0NjIsIDk3MiwgMi40NzkwMjMyMTgxNTQ5MDcyXSwgWzE2NjM4NDAxNjUuNjEwMDQ5LCA5OTAsIDIuNDA0NjE5NjkzNzU2MTAzNV0sIFsxNjYzODQwMTY2LjU3OTk0NjgsIDEwNTMsIDIuMjg2MDAzMTEyNzkyOTY4OF0sIFsxNjYzODQwMTY3LjI3MTE4NTQsIDEwOTgsIDIuMjQ4MTY3OTkxNjM4MTgzNl0sIFsxNjYzODQwMTY4LjA3NTI3NDUsIDExMzQsIDIuMzk1MDk4NDQ3Nzk5NjgyNl0sIFsxNjYzODQwMTY4LjIwMzg1LCAxMTQzLCAyLjQyNzgyODA3MzUwMTU4N10sIFsxNjYzODQwMTY4LjQ1NTYyMjIsIDExNjEsIDIuMTcyNDMwNzUzNzA3ODg1N10sIFsxNjYzODQwMTY4LjcxMTY1NywgMTE3OSwgMi4xNTg4MjQ0NDM4MTcxMzg3XSwgWzE2NjM4NDAxNjguODM0MDEsIDExODgsIDIuMTQ2NzgyMTU5ODA1Mjk4XSwgWzE2NjM4NDAxNjkuNDYyMTgyMywgMTIzMywgMi4xNzUyNjEwMjA2NjA0MDA0XSwgWzE2NjM4NDAxNjkuNTc5OTY3MywgMTI0MiwgMi4xNjQzMjgzMzY3MTU2OTgyXSwgWzE2NjM4NDAxNzAuNTk0MzU1OCwgMTMwNSwgMi4xMDc1OTY2MzU4MTg0ODE0XSwgWzE2NjM4NDAxNzAuODY5NTczLCAxMzIzLCAyLjEyMTIxMzE5NzcwODEzXSwgWzE2NjM4NDAxNzEuMDI3MjI3NiwgMTMzMiwgMi4xMDQyNjU2ODk4NDk4NTM1XSwgWzE2NjM4NDAxNzEuNDU2ODUzLCAxMzU5LCAyLjA5OTMxODk4MTE3MDY1NDNdLCBbMTY2Mzg0MDE3Mi40NzkwNTEsIDE0MjIsIDIuMTUzMDEwMzY4MzQ3MTY4XSwgWzE2NjM4NDAxNzIuODgzNDY5OCwgMTQ0OSwgMi4wMzExMDg2MTc3ODI1OTI4XSwgWzE2NjM4NDAxNzMuMTU0Njg5NiwgMTQ2NywgMi4wMjE2MjU1MTg3OTg4MjhdLCBbMTY2Mzg0MDE3My4zOTY2ODg1LCAxNDg1LCAxLjk5NzY5NTgwMzY0MjI3M10sIFsxNjYzODQwMTc0LjE0MDk0OTcsIDE1MzksIDEuOTgxMzE1MjU1MTY1MV0sIFsxNjYzODQwMTc0LjI5NDE0MDMsIDE1NDgsIDEuOTc3Mzk1NDE1MzA2MDkxM10sIFsxNjYzODQwMTc0LjQyMjY0NTMsIDE1NTcsIDEuOTkwNDc4MDM4Nzg3ODQxOF0sIFsxNjYzODQwMTc0Ljc5MDYxMjIsIDE1ODQsIDIuMDIyMzUzNjQ5MTM5NDA0M10sIFsxNjYzODQwMTc1LjA0MDMzOTUsIDE2MDIsIDIuMDA3NDMyNDYwNzg0OTEyXSwgWzE2NjM4NDAxNzUuNTU3MzczOCwgMTYzOCwgMS45MzAzNjczNTA1NzgzMDhdLCBbMTY2Mzg0MDE3NS45MTYwNDEsIDE2NjUsIDEuOTUyNjY5NjIwNTEzOTE2XSwgWzE2NjM4NDAxNzYuMDQ2NjA2MywgMTY3NCwgMS45MzA2MDU3NjkxNTc0MDk3XSwgWzE2NjM4NDAxNzYuMTYwMjg4LCAxNjgzLCAxLjk2MjYwNjkwNjg5MDg2OTFdLCBbMTY2Mzg0MDE3Ni42NjkwNDUsIDE3MTksIDEuOTk5MTcwNzgwMTgxODg0OF0sIFsxNjYzODQwMTc2Ljc5NTA5NywgMTcyOCwgMi4wNzk4NDIwOTA2MDY2ODk1XSwgWzE2NjM4NDAxNzYuOTEyNTc4NiwgMTczNywgMS45OTY4NDQ4ODc3MzM0NTk1XSwgWzE2NjM4NDAxNzcuODE4NTE4OSwgMTgwMCwgMS44NzI2NzI2NzcwNDAxXSwgWzE2NjM4NDAxNzguMjYyODQ3NCwgMTgyNywgMS45Mjc1OTIwMzkxMDgyNzY0XSwgWzE2NjM4NDAxNzguMzg4OTQ4MiwgMTgzNiwgMS44OTY4ODE1ODAzNTI3ODMyXSwgWzE2NjM4NDAxNzguNTQ1ODgyNywgMTg0NSwgMS44Nzg2ODQ2Mzk5MzA3MjVdLCBbMTY2Mzg0MDE3OC42ODQzNzc3LCAxODU0LCAxLjg5OTIyNzM4MDc1MjU2MzVdLCBbMTY2Mzg0MDE3OC45NjAwODA2LCAxODcyLCAxLjg3NTU1MjA1ODIxOTkwOTddLCBbMTY2Mzg0MDE3OS4yNjg5OTE3LCAxODkwLCAxLjg5OTYxNDQ1MzMxNTczNDldLCBbMTY2Mzg0MDE3OS44NDIyOTUsIDE5MDgsIDEuOTI2MjU5ODc1Mjk3NTQ2NF0sIFsxNjYzODQwMTgwLjA4MTU2MzcsIDE5MjYsIDEuODc1MjY3MjY3MjI3MTcyOV0sIFsxNjYzODQwMTgwLjMyODQ3MjQsIDE5NDQsIDEuODYyMzU3NDk3MjE1MjcxXSwgWzE2NjM4NDAxODAuNDgwNDQ3LCAxOTUzLCAxLjg4NDc1MzIyNzIzMzg4NjddLCBbMTY2Mzg0MDE4MC44ODgyMTQ2LCAxOTgwLCAxLjg3NDUyMjY4NjAwNDYzODddLCBbMTY2Mzg0MDE4MS4wMzc0NjgsIDE5ODksIDEuODU2NTYxODk5MTg1MTgwN10sIFsxNjYzODQwMTgxLjE3NDYxNjYsIDE5OTgsIDEuODEyMjE5MDIzNzA0NTI4OF0sIFsxNjYzODQwMTgxLjU4MTI1MzMsIDIwMjUsIDEuOTM2MDU1NjYwMjQ3ODAyN10sIFsxNjYzODQwMTgyLjMwOTUyMDUsIDIwNzAsIDEuODUyMDg1OTQ3OTkwNDE3NV0sIFsxNjYzODQwMTgzLjYzMDA2ODgsIDIxNjAsIDEuODUyNjczMTcyOTUwNzQ0Nl0sIFsxNjYzODQwMTgzLjkxOTMwNDEsIDIxNzgsIDEuODE4Mzc5MjgyOTUxMzU1XSwgWzE2NjM4NDAxODQuMzQ4NDk2MiwgMjIwNSwgMS43ODM3NDg3NDU5MTgyNzRdLCBbMTY2Mzg0MDE4NC41MDA2NjYsIDIyMTQsIDEuNzc1ODY3MjIzNzM5NjI0XSwgWzE2NjM4NDAxODQuNjQzMzE4MiwgMjIyMywgMS43ODkxMDQ0NjE2Njk5MjE5XSwgWzE2NjM4NDAxODUuODA2Mjk2MywgMjI5NSwgMS43OTM1NDgxMDcxNDcyMTY4XSwgWzE2NjM4NDAxODYuMzcwMjM1MiwgMjMzMSwgMS43NDg4NTA4MjI0NDg3MzA1XSwgWzE2NjM4NDAxODYuNTA5NDA3NSwgMjM0MCwgMS43NjI4MjU0ODkwNDQxODk1XSwgWzE2NjM4NDAxODYuNjUzMjcxMiwgMjM0OSwgMS43NDI3MzQ5MDkwNTc2MTcyXSwgWzE2NjM4NDAxODYuOTI4NjE0MSwgMjM2NywgMS43ODkyNTcwNDk1NjA1NDY5XSwgWzE2NjM4NDAxODguMDU1MzMxLCAyNDM5LCAxLjc1NTIyMDc3MDgzNTg3NjVdLCBbMTY2Mzg0MDE4OC4xOTE2OTUyLCAyNDQ4LCAxLjcyNjY0MjAxMjU5NjEzMDRdLCBbMTY2Mzg0MDE4OC42MDA1MTIzLCAyNDc1LCAxLjY5NDAyNjcwODYwMjkwNTNdLCBbMTY2Mzg0MDE4OC44ODU0MDAzLCAyNDkzLCAxLjcxOTEzMDE1ODQyNDM3NzRdLCBbMTY2Mzg0MDE4OS4xNTY5NjU3LCAyNTExLCAxLjc4MDU5ODg3ODg2MDQ3MzZdLCBbMTY2Mzg0MDE4OS40MjQ1MSwgMjUyOSwgMS43MDExNDAxNjUzMjg5Nzk1XSwgWzE2NjM4NDAxODkuNjcwMDQyNSwgMjU0NywgMS43MTc5NzYwOTMyOTIyMzYzXSwgWzE2NjM4NDAxODkuNzg0MDkxNSwgMjU1NiwgMS43NDA4MjYzNjgzMzE5MDkyXSwgWzE2NjM4NDAxOTAuMDY4MzA2MiwgMjU3NCwgMS43NDExNTUyNjY3NjE3Nzk4XSwgWzE2NjM4NDAxOTAuMzU5MTAyNSwgMjU5MiwgMS43Mjg5NjExMTAxMTUwNTEzXSwgWzE2NjM4NDAxOTAuNTAxMTA1LCAyNjAxLCAxLjk0MjI2OTQ0NDQ2NTYzNzJdLCBbMTY2Mzg0MDE5MC43OTM4OTI2LCAyNjE5LCAxLjc1MDg2MzA3NTI1NjM0NzddLCBbMTY2Mzg0MDE5MS40ODk2MzAyLCAyNjY0LCAxLjc4NzQ4OTY1MjYzMzY2N10sIFsxNjYzODQwMTkxLjY0MTg1OSwgMjY3MywgMS43MDQ2MzE2ODYyMTA2MzIzXSwgWzE2NjM4NDAxOTEuNzg0MjkxMywgMjY4MiwgMS42OTQwNzAzMzkyMDI4ODA5XSwgWzE2NjM4NDAxOTEuODk5MjIzOCwgMjY5MSwgMS42ODY2NjUyOTY1NTQ1NjU0XSwgWzE2NjM4NDAxOTMuMTIwMTQyNywgMjc2MywgMS43MDU5MDAzMTE0NzAwMzE3XSwgWzE2NjM4NDAxOTMuMzQ3NDEzNSwgMjc4MSwgMS42NjQ0NDcxODgzNzczODA0XSwgWzE2NjM4NDAxOTMuODg2NzY4LCAyODE3LCAxLjY0MjAzNjU1NzE5NzU3MDhdLCBbMTY2Mzg0MDE5NC40NjUyMjA1LCAyODUzLCAxLjY2OTk4NTA1NTkyMzQ2Ml0sIFsxNjYzODQwMTk0Ljc0Mjk1NCwgMjg3MSwgMS42NTM5NjA0NjYzODQ4ODc3XSwgWzE2NjM4NDAxOTQuODc4ODc0LCAyODgwLCAxLjY1MDc1MDYzNzA1NDQ0MzRdLCBbMTY2Mzg0MDE5NS4yODk3MTU4LCAyOTA3LCAxLjY0MjY1NDQxODk0NTMxMjVdLCBbMTY2Mzg0MDE5Ni4yNTUxOTIsIDI5NzAsIDEuNjQ3NDk1NjI3NDAzMjU5M10sIFsxNjYzODQwMTk2LjUzNTU5NDcsIDI5ODgsIDEuNjI5NDM3OTIzNDMxMzk2NV0sIFsxNjYzODQwMTk2LjY3OTA4NiwgMjk5NywgMS42MzY4ODIzMDUxNDUyNjM3XSwgWzE2NjM4NDAxOTcuNDI2NDcwNSwgMzA0MiwgMS42MzI1NTEwNzQwMjgwMTUxXSwgWzE2NjM4NDAxOTcuNTY2NTc0MywgMzA1MSwgMS42MzAwODk2NDA2MTczNzA2XSwgWzE2NjM4NDAxOTcuODQ2MDYwMywgMzA2OSwgMS42MDk2MDk5NjE1MDk3MDQ2XSwgWzE2NjM4NDAxOTguMjQ4Njc3NywgMzA5NiwgMS42MTk4MDQzODIzMjQyMTg4XSwgWzE2NjM4NDAxOTguNTE5NDYxMiwgMzExNCwgMS41NzczNjY1OTA0OTk4NzhdLCBbMTY2Mzg0MDE5OC42NDAyOTE3LCAzMTIzLCAxLjYxMDIxMjY4MzY3NzY3MzNdLCBbMTY2Mzg0MDE5OS4yMDEyMTI0LCAzMTU5LCAxLjU4MTA0NzY1NDE1MTkxNjVdLCBbMTY2Mzg0MDE5OS40NTkyOTUsIDMxNzcsIDEuNjE3NTUzODMwMTQ2Nzg5Nl0sIFsxNjYzODQwMTk5LjcyNjc0NTQsIDMxOTUsIDEuNTk5MjYwODA3MDM3MzUzNV0sIFsxNjYzODQwMjAwLjI1ODcyNjQsIDMyMzEsIDEuNTUzNDM3MzUyMTgwNDgxXSwgWzE2NjM4NDAyMDAuNzc0Nzg5OCwgMzI2NywgMS41NzQzMDc2ODAxMzAwMDQ5XSwgWzE2NjM4NDAyMDAuOTI2NDc2NSwgMzI3NiwgMS42MjAzMDcwODc4OTgyNTQ0XSwgWzE2NjM4NDAyMDEuMDc0MzY2LCAzMjg1LCAxLjU3NTkwMTI2OTkxMjcxOTddLCBbMTY2Mzg0MDIwMS4yMDkzMTcyLCAzMjk0LCAxLjYwODA3NDE4ODIzMjQyMTldLCBbMTY2Mzg0MDIwMS4zNDgwOTAyLCAzMzAzLCAxLjU3MzMzODI3MDE4NzM3OF0sIFsxNjYzODQwMjAxLjQ4MjIzNCwgMzMxMiwgMS41Njk0MDU2NzQ5MzQzODcyXSwgWzE2NjM4NDAyMDIuNDIwNjg3NywgMzM3NSwgMS41NTMxNDIxODk5Nzk1NTMyXSwgWzE2NjM4NDAyMDIuODM0MzQ4NCwgMzQwMiwgMS41NTY0MzY1Mzg2OTYyODldLCBbMTY2Mzg0MDIwMy4wMTU5NjI0LCAzNDExLCAxLjU0MzQ4MDYzNDY4OTMzMV0sIFsxNjYzODQwMjA0LjAyODAwMDgsIDM0ODMsIDEuNTQyMDk0NTg4Mjc5NzI0MV0sIFsxNjYzODQwMjA0Ljg1NTI3MzcsIDM1MTksIDEuNTU0MDY3MzczMjc1NzU2OF0sIFsxNjYzODQwMjA0Ljk5MjEyNzQsIDM1MjgsIDEuNTY1NjY1MTI1ODQ2ODYyOF0sIFsxNjYzODQwMjA1LjEyNzg0NSwgMzUzNywgMS41Mzc5MDEwNDM4OTE5MDY3XSwgWzE2NjM4NDAyMDUuMzg3MzI5LCAzNTU1LCAxLjYwMDkzNDAyODYyNTQ4ODNdLCBbMTY2Mzg0MDIwNS44MzY3MzQ4LCAzNTgyLCAxLjU0NTM0NzU3MTM3Mjk4NThdLCBbMTY2Mzg0MDIwNi41ODQyMDc1LCAzNjI3LCAxLjU3MjIyNDAyMDk1Nzk0NjhdLCBbMTY2Mzg0MDIwNi44MzYwMjEyLCAzNjQ1LCAxLjQ5MDY2MzA1MTYwNTIyNDZdLCBbMTY2Mzg0MDIwNy40MjM0NjI2LCAzNjkwLCAxLjQ5MjIwNDQyNzcxOTExNjJdLCBbMTY2Mzg0MDIwNy44OTkzMTY4LCAzNzI2LCAxLjQ5MzM3ODg3NzYzOTc3MDVdLCBbMTY2Mzg0MDIwOC4wMjU4NDU1LCAzNzM1LCAxLjUwNDAyMzE5NDMxMzA0OTNdLCBbMTY2Mzg0MDIwOC4xMzc0NzA1LCAzNzQ0LCAxLjQ4NTI0Nzk2OTYyNzM4MDRdLCBbMTY2Mzg0MDIwOC41MTg2MzU3LCAzNzcxLCAxLjU0MDAzODU4NTY2Mjg0MThdLCBbMTY2Mzg0MDIwOC45NDUyNDksIDM3OTgsIDEuNTY0NDgzMDQ2NTMxNjc3Ml0sIFsxNjYzODQwMjA5LjA3NjAxMywgMzgwNywgMS42NjEzMzM5MTg1NzE0NzIyXSwgWzE2NjM4NDAyMDkuNDc3MTcyMSwgMzgzNCwgMS41MDUyNzU2MDcxMDkwNjk4XSwgWzE2NjM4NDAyMDkuNjEwODMyLCAzODQzLCAxLjUxOTk4MTg2MTExNDUwMl0sIFsxNjYzODQwMjEwLjEzODQyMjcsIDM4NzksIDEuNDg5MzUyNDY0Njc1OTAzM10sIFsxNjYzODQwMjEwLjc4ODIxMDksIDM5MjQsIDEuNTI1NTI5ODYxNDUwMTk1M10sIFsxNjYzODQwMjEwLjkyMzUxNjgsIDM5MzMsIDEuNTIwNzI1MjUwMjQ0MTQwNl0sIFsxNjYzODQwMjExLjA2ODkxNDIsIDM5NDIsIDEuNDk3NzU3OTExNjgyMTI5XSwgWzE2NjM4NDAyMTEuMzM2MTAzMiwgMzk2MCwgMS41MDIwNjQ0NjY0NzY0NDA0XSwgWzE2NjM4NDAyMTEuNDU0MTE3NSwgMzk2OSwgMS41MjY1NTcwODc4OTgyNTQ0XSwgWzE2NjM4NDAyMTEuNTc4NTg5NCwgMzk3OCwgMS40NDE2NjY4NDE1MDY5NThdLCBbMTY2Mzg0MDIxMS44NjQ3MjAzLCAzOTk2LCAxLjQ2NjI0NzA4MTc1NjU5MThdLCBbMTY2Mzg0MDIxMi4wMjAwNTY3LCA0MDA1LCAxLjUwODE3MjM5Mjg0NTE1MzhdLCBbMTY2Mzg0MDIxMi4yODk0NjQyLCA0MDIzLCAxLjQ2MjA0NTA3MzUwOTIxNjNdLCBbMTY2Mzg0MDIxMi44MzIxMDU0LCA0MDU5LCAxLjQ5OTExNDI3NDk3ODYzNzddLCBbMTY2Mzg0MDIxMy4xMTc4NjM3LCA0MDc3LCAxLjQ1MzY3Nzc3MzQ3NTY0N10sIFsxNjYzODQwMjEzLjI1NDQ2OTYsIDQwODYsIDEuNDQ4NjkwNTMzNjM4MDAwNV0sIFsxNjYzODQwMjEzLjM5MTQ3NiwgNDA5NSwgMS40ODM5NjQ1NjI0MTYwNzY3XSwgWzE2NjM4NDAyMTMuNjM2Mzg0NywgNDExMywgMS40NjI1MzIwNDM0NTcwMzEyXSwgWzE2NjM4NDAyMTQuMTQ0NTI4NCwgNDE0OSwgMS40MzYzNDExNjY0OTYyNzY5XSwgWzE2NjM4NDAyMTQuMjY2NjU2OSwgNDE1OCwgMS40NDk3ODg2ODk2MTMzNDIzXSwgWzE2NjM4NDAyMTQuODQxMTEzLCA0MTk0LCAxLjQ2NjQ1ODkxNjY2NDEyMzVdLCBbMTY2Mzg0MDIxNC45ODcyODk3LCA0MjAzLCAxLjQyNDIzNTIyNDcyMzgxNl0sIFsxNjYzODQwMjE1LjI2MTM2NzYsIDQyMjEsIDEuNDU0Mjc3Mjc2OTkyNzk3OV0sIFsxNjYzODQwMjE1LjU0NDE4MjMsIDQyMzksIDEuNDQ1MzI0Nzc4NTU2ODIzN10sIFsxNjYzODQwMjE2LjA4MTQ4ODgsIDQyNzUsIDEuNDQ0NzgyODUzMTI2NTI1OV0sIFsxNjYzODQwMjE2LjIxNjg2MDUsIDQyODQsIDEuNDA1MjAxMzE1ODc5ODIxOF0sIFsxNjYzODQwMjE2Ljg2MzE1OSwgNDMxMSwgMS40MTcwODUxNzA3NDU4NDk2XSwgWzE2NjM4NDAyMTcuMTU5MTY1NiwgNDMyOSwgMS40MzYzMzIxMDY1OTAyNzFdLCBbMTY2Mzg0MDIxNy4yNzE5Mjg1LCA0MzM4LCAxLjUwMDQxOTg1NTExNzc5NzldLCBbMTY2Mzg0MDIxNy41NDQzMjksIDQzNTYsIDEuNDY0OTgxMTk4MzEwODUyXSwgWzE2NjM4NDAyMTcuNjczNDcxNywgNDM2NSwgMS40Mjk1MTk2NTMzMjAzMTI1XSwgWzE2NjM4NDAyMTguMDk1MzU5MywgNDM5MiwgMS40MTEzOTM2NDI0MjU1MzddLCBbMTY2Mzg0MDIxOC4yMzc2MjMsIDQ0MDEsIDEuNDc1MTg3NTQwMDU0MzIxM10sIFsxNjYzODQwMjE4LjM3MzU1NzMsIDQ0MTAsIDEuNTIxOTA3MDkxMTQwNzQ3XSwgWzE2NjM4NDAyMTguNjUwMDQ0NCwgNDQyOCwgMS40MDc1OTUyNzY4MzI1ODA2XSwgWzE2NjM4NDAyMTkuMTAyMDgyNywgNDQ1NSwgMS40MTQ1MzM5NzI3NDAxNzMzXSwgWzE2NjM4NDAyMTkuNjgwNTkwNCwgNDQ5MSwgMS40NTE5NjU1NzA0NDk4MjldLCBbMTY2Mzg0MDIyMC4yMDYzMDA1LCA0NTI3LCAxLjQwMTIzODQ0MTQ2NzI4NTJdLCBbMTY2Mzg0MDIyMC4zMjU0NTU3LCA0NTM2LCAxLjQ2ODY1NjQyMDcwNzcwMjZdLCBbMTY2Mzg0MDIyMC42OTQ3MTc0LCA0NTYzLCAxLjM2NDQ1MTQwODM4NjIzMDVdLCBbMTY2Mzg0MDIyMS4wNTY1MjM4LCA0NTkwLCAxLjM5MDc3MDQzNTMzMzI1Ml0sIFsxNjYzODQwMjIxLjE3NTk4NjUsIDQ1OTksIDEuMzk3NTUyNDkwMjM0Mzc1XSwgWzE2NjM4NDAyMjEuMjg3MzM5LCA0NjA4LCAxLjM5NzQzMTI1NDM4NjkwMTldLCBbMTY2Mzg0MDIyMS40MDM4Mzg0LCA0NjE3LCAxLjQ2NTIwMTQ5NzA3Nzk0Ml0sIFsxNjYzODQwMjIxLjUyMTI1MjIsIDQ2MjYsIDEuNDExNzIzMDE3NjkyNTY2XSwgWzE2NjM4NDAyMjEuNjQ4Njg4MywgNDYzNSwgMS40MDE2MTU1MDA0NTAxMzQzXSwgWzE2NjM4NDAyMjIuMDE0OTI0OCwgNDY2MiwgMS4zNjk3MTE5OTUxMjQ4MTddLCBbMTY2Mzg0MDIyMi4xMzQxNTIyLCA0NjcxLCAxLjM4NTA4NDE1MjIyMTY3OTddLCBbMTY2Mzg0MDIyMi4yNTE2NTAzLCA0NjgwLCAxLjQwNDM0MzYwNTA0MTUwNF0sIFsxNjYzODQwMjIyLjM3MjE1MjYsIDQ2ODksIDEuNDE4NDI5MjU1NDg1NTM0N10sIFsxNjYzODQwMjIyLjc1NTM2MjUsIDQ3MTYsIDEuMzU4NzUyNzI3NTA4NTQ1XSwgWzE2NjM4NDAyMjMuNjU4NjY5NSwgNDc3OSwgMS4zNjI3Nzc5NDgzNzk1MTY2XSwgWzE2NjM4NDAyMjQuMDY4ODU5MywgNDgwNiwgMS4zODE1NTk4NDg3ODU0MDA0XSwgWzE2NjM4NDAyMjQuMjAxNzIyOSwgNDgxNSwgMS40NDYyNzcwMjIzNjE3NTU0XSwgWzE2NjM4NDAyMjQuNDYzMDE0NiwgNDgzMywgMS4zODMxMDgzNzc0NTY2NjVdLCBbMTY2Mzg0MDIyNC41OTA2OTczLCA0ODQyLCAxLjQyOTA4NjU2NTk3MTM3NDVdLCBbMTY2Mzg0MDIyNC43MzgyNTI0LCA0ODUxLCAxLjM4OTMyMzk0OTgxMzg0MjhdLCBbMTY2Mzg0MDIyNS4wMzM1MjI0LCA0ODY5LCAxLjQ0NjgxNjU2MzYwNjI2MjJdLCBbMTY2Mzg0MDIyNS4zMDQyNzksIDQ4ODcsIDEuMzkyMDAxMTUyMDM4NTc0Ml0sIFsxNjYzODQwMjI1LjU5NjI1MzIsIDQ5MDUsIDEuMzQ5Mjc0OTkyOTQyODFdLCBbMTY2Mzg0MDIyNS44NjcwMTE4LCA0OTIzLCAxLjMzMzc4ODAzNzMwMDEwOTldLCBbMTY2Mzg0MDIyNi4wMDI0NzI0LCA0OTMyLCAxLjM0MzQ4OTc2NjEyMDkxMDZdLCBbMTY2Mzg0MDIyNi40MjY0NTcsIDQ5NTksIDEuNDI0Nzg2Njg2ODk3Mjc3OF0sIFsxNjYzODQwMjI2LjcwNTk3MDgsIDQ5NzcsIDEuNDA4MjkzOTYyNDc4NjM3N10sIFsxNjYzODQwMjI3LjEyMDEwNDYsIDUwMDQsIDEuMzUyMzQwNjk4MjQyMTg3NV0sIFsxNjYzODQwMjI3LjI0NzQyNTgsIDUwMTMsIDEuMzI5MzA1MDUyNzU3MjYzMl0sIFsxNjYzODQwMjI4LjAxMTMyMzcsIDUwNjcsIDEuMzQ4NjAzNjA2MjI0MDZdLCBbMTY2Mzg0MDIyOC4xNTgzNTc5LCA1MDc2LCAxLjMzMTM5MTgxMTM3MDg0OTZdLCBbMTY2Mzg0MDIyOC4yOTEwMjEzLCA1MDg1LCAxLjM3MTUxNTc1MDg4NTAwOThdLCBbMTY2Mzg0MDIyOS4wNjczNzQyLCA1MTIxLCAxLjMyNTk5OTAyMTUzMDE1MTRdLCBbMTY2Mzg0MDIyOS41MDIyMTksIDUxNDgsIDEuMzMzMzkwMTE2NjkxNTg5NF0sIFsxNjYzODQwMjI5LjgwMjg4ODYsIDUxNjYsIDEuMzQyNDQwOTYyNzkxNDQyOV0sIFsxNjYzODQwMjMwLjIzMzgwMzcsIDUxOTMsIDEuMzQyNzMzNjIxNTk3MjldLCBbMTY2Mzg0MDIzMC43NjI4MzkzLCA1MjI5LCAxLjMyNjY0MDcyNTEzNTgwMzJdLCBbMTY2Mzg0MDIzMS4zNDI5NDEzLCA1MjY1LCAxLjMzNjUzODkxMDg2NTc4MzddLCBbMTY2Mzg0MDIzMS40NjkxNDcyLCA1Mjc0LCAxLjM2OTk4NzAxMDk1NTgxMDVdLCBbMTY2Mzg0MDIzMS42MDY5OTQyLCA1MjgzLCAxLjQxMTU1OTM0MzMzODAxMjddLCBbMTY2Mzg0MDIzMS45MDA2MTE0LCA1MzAxLCAxLjM4NjYyMTExNzU5MTg1OF0sIFsxNjYzODQwMjMyLjE1OTA5NzIsIDUzMTksIDEuMzMyODIxODQ2MDA4MzAwOF0sIFsxNjYzODQwMjMyLjMwNDUwMywgNTMyOCwgMS4zNjE5MjM0NTYxOTIwMTY2XSwgWzE2NjM4NDAyMzIuNDYyMTcyNSwgNTMzNywgMS4zMzgwNjY1Nzc5MTEzNzddLCBbMTY2Mzg0MDIzMi43NDQyODUzLCA1MzU1LCAxLjMzMDUxMjc2MjA2OTcwMjFdLCBbMTY2Mzg0MDIzMy4wNDQ1MDcsIDUzNzMsIDEuMzA1NDcwOTQzNDUwOTI3N10sIFsxNjYzODQwMjMzLjMxNDA2ODgsIDUzOTEsIDEuMzI3NjcxMTcwMjM0NjgwMl0sIFsxNjYzODQwMjMzLjQ2NzgwMjgsIDU0MDAsIDEuMjk2ODgwMjQ1MjA4NzQwMl0sIFsxNjYzODQwMjMzLjk0MTE1MDcsIDU0MjcsIDEuMzA0NTk3MTM5MzU4NTIwNV0sIFsxNjYzODQwMjM0LjA5NjY4MzMsIDU0MzYsIDEuMzA1MjM1NTA1MTA0MDY1XSwgWzE2NjM4NDAyMzQuODE2MTY5NSwgNTQ4MSwgMS4zMTgyMzUyNzgxMjk1Nzc2XSwgWzE2NjM4NDAyMzUuMTAzNjkzNywgNTQ5OSwgMS4zMzI3OTY2OTI4NDgyMDU2XSwgWzE2NjM4NDAyMzUuNTM5MDQyLCA1NTI2LCAxLjI5MDUyOTQ4OTUxNzIxMl0sIFsxNjYzODQwMjM1LjY4Mzg4NiwgNTUzNSwgMS4zMTg5ODkzOTYwOTUyNzU5XSwgWzE2NjM4NDAyMzUuOTUzNzAyMiwgNTU1MywgMS4yNjQ5NjE2MDAzMDM2NV0sIFsxNjYzODQwMjM2LjIzOTI1MTYsIDU1NzEsIDEuMzU5MjIxMTAwODA3MTldLCBbMTY2Mzg0MDIzNi41MDIyNjk3LCA1NTg5LCAxLjMyMTY3MDg4OTg1NDQzMTJdLCBbMTY2Mzg0MDIzNi43ODAxNzc4LCA1NjA3LCAxLjMwMDc1OTkxMTUzNzE3MDRdLCBbMTY2Mzg0MDIzNi45MjA3OTcsIDU2MTYsIDEuMzAxODk1OTc2MDY2NTg5NF0sIFsxNjYzODQwMjM3LjM1MTQyMjUsIDU2NDMsIDEuMzE2NjkwNDQ0OTQ2Mjg5XSwgWzE2NjM4NDAyMzcuNTg0ODM1MywgNTY2MSwgMS4yNjEyMzE1NDE2MzM2MDZdLCBbMTY2Mzg0MDIzNy43MDM0MTA0LCA1NjcwLCAxLjI5NjM5NDIyODkzNTI0MTddLCBbMTY2Mzg0MDIzOC4xODIyNTg4LCA1NzA2LCAxLjI5Nzc1MTY2NTExNTM1NjRdLCBbMTY2Mzg0MDIzOC42OTgwODY3LCA1NzQyLCAxLjMxMzQ3MzQ2MzA1ODQ3MTddLCBbMTY2Mzg0MDIzOS4wOTg2MTM1LCA1NzY5LCAxLjM0MDM4Njk4NjczMjQ4M10sIFsxNjYzODQwMjM5LjI0MDY3MSwgNTc3OCwgMS4yNTkxMDE3NDg0NjY0OTE3XSwgWzE2NjM4NDAyMzkuMzY0NDE0LCA1Nzg3LCAxLjI3MzgzNDU4NjE0MzQ5MzddLCBbMTY2Mzg0MDIzOS41MDU4MDIyLCA1Nzk2LCAxLjM0ODc5Njk2MzY5MTcxMTRdLCBbMTY2Mzg0MDIzOS42NDQwOTIsIDU4MDUsIDEuMzYyMDE1MTI4MTM1NjgxMl0sIFsxNjYzODQwMjQwLjMzOTY2NCwgNTg1MCwgMS4yNTk3MDg0MDQ1NDEwMTU2XSwgWzE2NjM4NDAyNDAuNjE2MDMxNCwgNTg2OCwgMS4zNTk2NzI5MDQwMTQ1ODc0XSwgWzE2NjM4NDAyNDAuNzUyMDcxMSwgNTg3NywgMS4zMDY2MTAyMjY2MzExNjQ2XSwgWzE2NjM4NDAyNDEuMDEyNDY2LCA1ODk1LCAxLjI3MzIzOTQ5MzM3MDA1NjJdLCBbMTY2Mzg0MDI0MS4xNTk4MDk4LCA1OTA0LCAxLjI4MzA0OTQ2NDIyNTc2OV0sIFsxNjYzODQwMjQxLjc4MTM2MSwgNTkzMSwgMS4yNTMxMjM2NDEwMTQwOTkxXSwgWzE2NjM4NDAyNDIuMDUwOTc3LCA1OTQ5LCAxLjI4MzU5NTU2MTk4MTIwMTJdLCBbMTY2Mzg0MDI0My4wNDAxNTYsIDYwMTIsIDEuMzI1NDkzNjkzMzUxNzQ1Nl0sIFsxNjYzODQwMjQzLjQ1NjI5MzMsIDYwMzksIDEuMzU4NTIxMjIzMDY4MjM3M10sIFsxNjYzODQwMjQ0LjE4NTg1OTQsIDYwODQsIDEuMzA5NTEyMTM4MzY2Njk5Ml0sIFsxNjYzODQwMjQ0LjMzNjk1MzksIDYwOTMsIDEuMjUyNDY3MTU1NDU2NTQzXSwgWzE2NjM4NDAyNDQuNDc5MTcyLCA2MTAyLCAxLjI4NzQzNDU3Nzk0MTg5NDVdLCBbMTY2Mzg0MDI0NC44NTU1MTA3LCA2MTI5LCAxLjI5NjE4MDcyNTA5NzY1NjJdLCBbMTY2Mzg0MDI0NS4xMjA4NTcsIDYxNDcsIDEuMjUwMzQzNTYxMTcyNDg1NF0sIFsxNjYzODQwMjQ1LjI0OTA2NzUsIDYxNTYsIDEuMjc3NjUzNjk0MTUyODMyXSwgWzE2NjM4NDAyNDUuMzgyMDk4NCwgNjE2NSwgMS4yNzU2MDgzMDExNjI3MTk3XSwgWzE2NjM4NDAyNDUuNzcxMzY3MywgNjE5MiwgMS4yNDk0MjQ2OTU5Njg2MjhdLCBbMTY2Mzg0MDI0Ni40ODg0MDE3LCA2MjM3LCAxLjMwMDkzNjgxODEyMjg2MzhdLCBbMTY2Mzg0MDI0Ni43NTk2MDQyLCA2MjU1LCAxLjI0Njc5NzU2MTY0NTUwNzhdLCBbMTY2Mzg0MDI0Ny4wMzM1MDcsIDYyNzMsIDEuMjY3NjMyODQyMDYzOTAzOF0sIFsxNjYzODQwMjQ3LjE3MTM0MTQsIDYyODIsIDEuMjY2Nzc1MDEyMDE2Mjk2NF0sIFsxNjYzODQwMjQ3LjQ0MzQyMjYsIDYzMDAsIDEuMjYwOTQxNzQzODUwNzA4XSwgWzE2NjM4NDAyNDcuODkwMTk3MywgNjMyNywgMS4yODc4OTMxNzYwNzg3OTY0XSwgWzE2NjM4NDAyNDguMDI2MjU3OCwgNjMzNiwgMS4yNzk4NTU4NDczNTg3MDM2XSwgWzE2NjM4NDAyNDguMjg2MTYxMiwgNjM1NCwgMS4yNDAzNjY0NTg4OTI4MjIzXSwgWzE2NjM4NDAyNDguNzg3NTc4LCA2MzkwLCAxLjI4MTE3MTY3OTQ5Njc2NTFdLCBbMTY2Mzg0MDI0OC45MDUwODg3LCA2Mzk5LCAxLjIyNDI4NDI5MTI2NzM5NV0sIFsxNjYzODQwMjQ5LjEzNTA4NDQsIDY0MTcsIDEuMjY5NjQwODAzMzM3MDk3Ml0sIFsxNjYzODQwMjQ5LjQ3Njk5NSwgNjQ0NCwgMS4yOTg3ODEzOTQ5NTg0OTZdLCBbMTY2Mzg0MDI0OS43MTYwMDIsIDY0NjIsIDEuMjI2MDEyOTQ1MTc1MTcxXSwgWzE2NjM4NDAyNTAuMDYxNDQ2MiwgNjQ4OSwgMS4yNjY0NDU2MzY3NDkyNjc2XSwgWzE2NjM4NDAyNTAuMTc3MzM4NCwgNjQ5OCwgMS4yMzAxOTE0NjkxOTI1MDQ5XSwgWzE2NjM4NDAyNTAuNDA1Nzc1NSwgNjUxNiwgMS4yNjAwMjc2NDcwMTg0MzI2XSwgWzE2NjM4NDAyNTAuNjU1ODYzMywgNjUzNCwgMS4yNTExOTY1MDM2MzkyMjEyXSwgWzE2NjM4NDAyNTAuNzcxMjUwNSwgNjU0MywgMS4yNzgxNjMwNzU0NDcwODI1XSwgWzE2NjM4NDAyNTEuMDQ3NTEsIDY1NjEsIDEuMjczNzg4MDk0NTIwNTY4OF0sIFsxNjYzODQwMjUxLjE4MTYzMTMsIDY1NzAsIDEuMjYzMDQxNzM0Njk1NDM0Nl0sIFsxNjYzODQwMjUxLjQ1NjA0NjMsIDY1ODgsIDEuMjkxMDA4NTkxNjUxOTE2NV0sIFsxNjYzODQwMjUxLjU5MTc5NDcsIDY1OTcsIDEuMjg1NjQyODYyMzE5OTQ2M10sIFsxNjYzODQwMjUxLjc0MDEwMywgNjYwNiwgMS4yNDE1MzMzOTg2MjgyMzQ5XSwgWzE2NjM4NDAyNTIuNDEyNzY4OCwgNjY1MSwgMS4yOTQxMTc0NTA3MTQxMTEzXSwgWzE2NjM4NDAyNTIuOTM2NzI2LCA2Njg3LCAxLjIxOTQ2NTM3NDk0NjU5NDJdLCBbMTY2Mzg0MDI1My4wNjM2OTI2LCA2Njk2LCAxLjIzMzY5ODEyOTY1MzkzMDddLCBbMTY2Mzg0MDI1My4yMDQ0NTUsIDY3MDUsIDEuMjY4MDIwMTUzMDQ1NjU0M10sIFsxNjYzODQwMjU0LjkzOTUyNTEsIDY4MTMsIDEuMjg0NDQxMjMyNjgxMjc0NF0sIFsxNjYzODQwMjU1LjE2NjM2NDcsIDY4MzEsIDEuMjk0NTY5NDkyMzQwMDg4XSwgWzE2NjM4NDAyNTUuODU2MzYyOCwgNjg4NSwgMS4yNzA3OTU4MjIxNDM1NTQ3XSwgWzE2NjM4NDAyNTUuOTg5MjUzLCA2ODk0LCAxLjI0MDg5MDg2MDU1NzU1NjJdLCBbMTY2Mzg0MDI1Ni40MTAyNzM2LCA2OTIxLCAxLjI2MjM0MDE4ODAyNjQyODJdLCBbMTY2Mzg0MDI1Ni41NTI2NTg4LCA2OTMwLCAxLjI1NTMxOTQ3NjEyNzYyNDVdLCBbMTY2Mzg0MDI1Ni45NzIyNjcyLCA2OTU3LCAxLjE5MzY4NDEwMTEwNDczNjNdLCBbMTY2Mzg0MDI1Ny4zODM4NTYzLCA2OTg0LCAxLjIwNzY5MjUwMzkyOTEzODJdLCBbMTY2Mzg0MDI1Ny41MTQ0NDU1LCA2OTkzLCAxLjIzMTg3MTg0MzMzODAxMjddLCBbMTY2Mzg0MDI1Ny43ODg0MDQ1LCA3MDExLCAxLjI0MTA1MDk1ODYzMzQyMjldLCBbMTY2Mzg0MDI1Ny45MjA4MTE0LCA3MDIwLCAxLjI1OTQ3OTQwMzQ5NTc4ODZdLCBbMTY2Mzg0MDI1OC4wNTM4NDcsIDcwMjksIDEuMjc2NjkxOTEzNjA0NzM2M10sIFsxNjYzODQwMjU4LjE4MjQ3NzIsIDcwMzgsIDEuMjM0NjIxNjQ0MDIwMDgwNl0sIFsxNjYzODQwMjU4LjI5Njg2MjEsIDcwNDcsIDEuMjEwOTQzODE4MDkyMzQ2Ml0sIFsxNjYzODQwMjU4Ljk4MTg5OSwgNzEwMSwgMS4yMTUwNDA0NDUzMjc3NTg4XSwgWzE2NjM4NDAyNTkuMzg4MzQ2LCA3MTI4LCAxLjIwNzE0NzU5ODI2NjYwMTZdLCBbMTY2Mzg0MDI2MS4xODM3MjE4LCA3MjQ1LCAxLjIwNzA0NzkzOTMwMDUzN10sIFsxNjYzODQwMjYxLjMwOTUzNTUsIDcyNTQsIDEuMjQ3MjAzNDY5Mjc2NDI4Ml0sIFsxNjYzODQwMjYxLjQ0MjIwOTIsIDcyNjMsIDEuMjExMTQ4MDIzNjA1MzQ2N10sIFsxNjYzODQwMjYxLjYyNjYwNDMsIDcyNzIsIDEuMjY1Mjc5MjkzMDYwMzAyN10sIFsxNjYzODQwMjYyLjA5NTgwNiwgNzI5OSwgMS4yNDQzMzE4MzY3MDA0Mzk1XSwgWzE2NjM4NDAyNjMuMjc0MjEyNiwgNzM3MSwgMS4yMzkwNzI3OTk2ODI2MTcyXSwgWzE2NjM4NDAyNjMuMzkyOTEsIDczODAsIDEuMjIzMDgxOTQ2MzcyOTg1OF0sIFsxNjYzODQwMjY0LjQ4Mjg0ODIsIDc0NTIsIDEuMjQzNjgwMzU3OTMzMDQ0NF0sIFsxNjYzODQwMjY0LjYxNzkxNTYsIDc0NjEsIDEuMjE4NzE1NjY3NzI0NjA5NF0sIFsxNjYzODQwMjY1LjE3NzMwNDcsIDc0OTcsIDEuMjIwMjExMzg2NjgwNjAzXSwgWzE2NjM4NDAyNjUuMzE3MzA5OSwgNzUwNiwgMS4yNTkzMjgwMDc2OTgwNTldLCBbMTY2Mzg0MDI2NS44ODc0MzQyLCA3NTI0LCAxLjI0NjE0MzQ2MDI3Mzc0MjddLCBbMTY2Mzg0MDI2Ni4wMjUzOTcsIDc1MzMsIDEuMjQxMTkxMzg3MTc2NTEzN10sIFsxNjYzODQwMjY2LjE2NTMwNzgsIDc1NDIsIDEuMjI0ODIyNTIxMjA5NzE2OF0sIFsxNjYzODQwMjY2LjQyMDA0MTgsIDc1NjAsIDEuMjEyMDY3MjQ2NDM3MDcyOF0sIFsxNjYzODQwMjY2LjU0NzU3NzksIDc1NjksIDEuMjI2NTcxNzk4MzI0NTg1XSwgWzE2NjM4NDAyNjYuOTI2OTkyNywgNzU5NiwgMS4yNzYyNjkwNzgyNTQ2OTk3XSwgWzE2NjM4NDAyNjcuMTczOTI1LCA3NjE0LCAxLjIzOTE1NTA1NDA5MjQwNzJdLCBbMTY2Mzg0MDI2Ny43ODM0MDYzLCA3NjU5LCAxLjMwOTc1MjEwNjY2NjU2NV0sIFsxNjYzODQwMjY3LjkxNTYxNzUsIDc2NjgsIDEuMzY2Njc4NTk1NTQyOTA3N10sIFsxNjYzODQwMjY4LjI4NDA2OTUsIDc2OTUsIDEuMjM4MTU2MzE4NjY0NTUwOF0sIFsxNjYzODQwMjY4LjY0ODYxOTIsIDc3MjIsIDEuMjM5MzA2Njg4MzA4NzE1OF0sIFsxNjYzODQwMjY5LjAyODkyMSwgNzc0OSwgMS4yMzM5NzA1MjI4ODA1NTQyXSwgWzE2NjM4NDAyNjkuMjkyNjgwNywgNzc2NywgMS4xOTc0NDQzMTk3MjUwMzY2XSwgWzE2NjM4NDAyNjkuNzE3Mjc0NCwgNzc5NCwgMS4yNDU5MzE2MjUzNjYyMTFdLCBbMTY2Mzg0MDI2OS44NTgyMDIyLCA3ODAzLCAxLjIwMTQ5NTI4OTgwMjU1MTNdLCBbMTY2Mzg0MDI3MC40MDQzNDkzLCA3ODM5LCAxLjI4MDY3OTIyNTkyMTYzMDldLCBbMTY2Mzg0MDI3MC41NDI2MzYsIDc4NDgsIDEuMjg0ODkyNzk3NDcwMDkyOF0sIFsxNjYzODQwMjcyLjI1Mzg0MTYsIDc5NjUsIDEuMjA2MTc4OTAzNTc5NzEyXSwgWzE2NjM4NDAyNzIuMzkwMjU3LCA3OTc0LCAxLjI0MzM2MDc1NzgyNzc1ODhdLCBbMTY2Mzg0MDI3Mi41MjMwMTc2LCA3OTgzLCAxLjIzNTg4NDc4NTY1MjE2MDZdLCBbMTY2Mzg0MDI3My4wOTE2NDgsIDgwMTksIDEuMjQ5NzM1NzEzMDA1MDY2XSwgWzE2NjM4NDAyNzMuMzcyMTUzOCwgODAzNywgMS4yMzIwNTY0OTg1Mjc1MjY5XSwgWzE2NjM4NDAyNzMuNzgyMjMyMywgODA2NCwgMS4yMTY5Mzc0MjI3NTIzODA0XSwgWzE2NjM4NDAyNzQuMDU0NjE1LCA4MDgyLCAxLjIyMTY1Nzc1Mjk5MDcyMjddLCBbMTY2Mzg0MDI3NC4xNzUzNjkzLCA4MDkxLCAxLjI0MTcyOTAyMTA3MjM4NzddLCBbMTY2Mzg0MDI3NC41NDQxMTM2LCA4MTE4LCAxLjE5MzQwODI1MDgwODcxNThdLCBbMTY2Mzg0MDI3NC42NjI0Nzk5LCA4MTI3LCAxLjE5NzcyMTAwNDQ4NjA4NF0sIFsxNjYzODQwMjc1LjM4ODI5MTgsIDgxNzIsIDEuMjIwMDkyNzczNDM3NV0sIFsxNjYzODQwMjc1LjUzMjAwMywgODE4MSwgMS4yNjg5OTkwOTk3MzE0NDUzXSwgWzE2NjM4NDAyNzUuNzgxNDM1NywgODE5OSwgMS4yNDM2OTIxNTk2NTI3MV0sIFsxNjYzODQwMjc1LjkwMTAzNDgsIDgyMDgsIDEuMjM4NTExNDQzMTM4MTIyNl0sIFsxNjYzODQwMjc2LjI1NDAzODYsIDgyMzUsIDEuMTg2MjU2MTcwMjcyODI3MV0sIFsxNjYzODQwMjc2Ljc1ODA2NjcsIDgyNzEsIDEuMTc3OTQ5MzA5MzQ5MDZdLCBbMTY2Mzg0MDI3Ni44ODczMDQzLCA4MjgwLCAxLjIxMjMyNTU3Mjk2NzUyOTNdLCBbMTY2Mzg0MDI3Ny40MDQ5NywgODI5OCwgMS4yMTUwMjAyOTg5NTc4MjQ3XSwgWzE2NjM4NDAyNzcuNzAyNDc1NSwgODMxNiwgMS4yMDYwMjExODk2ODk2MzYyXSwgWzE2NjM4NDAyNzguMzYwMDA3NSwgODM2MSwgMS4yMTU2ODgyMjg2MDcxNzc3XSwgWzE2NjM4NDAyNzguNTg1NzM5NCwgODM3OSwgMS4yMTM5MDg2NzIzMzI3NjM3XSwgWzE2NjM4NDAyNzguNzMyMDg1NSwgODM4OCwgMS4xOTkyOTA5OTA4Mjk0Njc4XSwgWzE2NjM4NDAyNzguODQ3MDg5LCA4Mzk3LCAxLjE5OTIyODI4Njc0MzE2NF0sIFsxNjYzODQwMjc5LjE5NjIyMjUsIDg0MjQsIDEuMzE1NTMxMzczMDIzOTg2OF0sIFsxNjYzODQwMjc5LjY3NTgwNDksIDg0NjAsIDEuMTg3MzE1NDY0MDE5Nzc1NF0sIFsxNjYzODQwMjc5LjkwMjUxNDUsIDg0NzgsIDEuMTgwMDA3ODE1MzYxMDIzXSwgWzE2NjM4NDAyODAuMDE5NDY3NCwgODQ4NywgMS4xODUwNTY4MDU2MTA2NTY3XSwgWzE2NjM4NDAyODAuMzYzNjA2MiwgODUxNCwgMS4xOTE5MTc2NTc4NTIxNzI5XSwgWzE2NjM4NDAyODAuODQzNjA1LCA4NTUwLCAxLjMxNjE1NTkxMDQ5MTk0MzRdLCBbMTY2Mzg0MDI4MS4zMDQ2MDYyLCA4NTc3LCAxLjE3ODMyOTgyNTQwMTMwNjJdLCBbMTY2Mzg0MDI4MS42OTQ0NzE4LCA4NjA0LCAxLjIxOTk1NTQ0NDMzNTkzNzVdLCBbMTY2Mzg0MDI4MS44MzczOTIsIDg2MTMsIDEuMjAwMjEwNjkwNDk4MzUyXSwgWzE2NjM4NDAyODIuMzM5OTQ0LCA4NjQ5LCAxLjE3MzA5NDM5MTgyMjgxNV0sIFsxNjYzODQwMjgyLjYwNjExMTMsIDg2NjcsIDEuMTc1NDgwODQyNTkwMzMyXSwgWzE2NjM4NDAyODIuNzM1NDI1NSwgODY3NiwgMS4xNzcyMjY3ODE4NDUwOTI4XSwgWzE2NjM4NDAyODMuMDEwODkzOCwgODY5NCwgMS4yNzEwMjE2MDQ1Mzc5NjM5XSwgWzE2NjM4NDAyODMuMjQ5NTUsIDg3MTIsIDEuMjYzMTk0NDQxNzk1MzQ5MV0sIFsxNjYzODQwMjgzLjM3MTg3NiwgODcyMSwgMS4yNzQwNTQ2NDY0OTIwMDQ0XSwgWzE2NjM4NDAyODMuNzQyMzgxLCA4NzQ4LCAxLjIzMzAxNDQ2NDM3ODM1N10sIFsxNjYzODQwMjg0LjM3MzEzNTgsIDg3OTMsIDEuMTg3ODQxNzczMDMzMTQyXSwgWzE2NjM4NDAyODQuNjQ2MTI1OCwgODgxMSwgMS4yMDM1MTk0NjM1MzkxMjM1XSwgWzE2NjM4NDAyODQuNzY3NDkzNSwgODgyMCwgMS4xODMxMDY3ODAwNTIxODVdLCBbMTY2Mzg0MDI4NS4yMDkyMDI1LCA4ODQ3LCAxLjI1NTgwMzk0MjY4MDM1ODldLCBbMTY2Mzg0MDI4NS43NDA5MjYzLCA4ODgzLCAxLjIxOTMyNjg1Mzc1MjEzNjJdLCBbMTY2Mzg0MDI4Ni4yODE0OTgyLCA4OTE5LCAxLjIwODE2ODYyNTgzMTYwNF0sIFsxNjYzODQwMjg2LjU1MjI1NTIsIDg5MzcsIDEuMjMzOTMyNzMzNTM1NzY2Nl0sIFsxNjYzODQwMjg2LjgxODA2NCwgODk1NSwgMS4yMzk4OTQ4NjY5NDMzNTk0XSwgWzE2NjM4NDAyODcuMDg5MTg1NSwgODk3MywgMS4yNDg5NDkyODkzMjE4OTk0XSwgWzE2NjM4NDAyODcuMzc0NjMzLCA4OTkxLCAxLjIwMTg2NzM0MTk5NTIzOTNdLCBbMTY2Mzg0MDI4Ny41MTM1NTM0LCA5MDAwLCAxLjIzOTUzNjI4NTQwMDM5MDZdLCBbMTY2Mzg0MDI4Ny45Mzk1NTQ1LCA5MDI3LCAxLjE3NzQ3NTIxNDAwNDUxNjZdLCBbMTY2Mzg0MDI4OC4wODE4MzA3LCA5MDM2LCAxLjE3NTI2MjMzMTk2MjU4NTRdLCBbMTY2Mzg0MDI4OC4yMTczODQzLCA5MDQ1LCAxLjI0ODUxMTQzMzYwMTM3OTRdLCBbMTY2Mzg0MDI4OC41MDg0ODM2LCA5MDYzLCAxLjE5NDcwNDA1NTc4NjEzMjhdLCBbMTY2Mzg0MDI4OS40MzcxNzIyLCA5MTA4LCAxLjE4NTcxMDkwNjk4MjQyMTldLCBbMTY2Mzg0MDI4OS43MjAzNzU4LCA5MTI2LCAxLjI1NTA2OTAxNzQxMDI3ODNdLCBbMTY2Mzg0MDI4OS45OTg0MzMsIDkxNDQsIDEuMjYyMjg2NjYzMDU1NDJdLCBbMTY2Mzg0MDI5MC45MTUyNzM0LCA5MjA3LCAxLjE3NDczODI4NzkyNTcyMDJdLCBbMTY2Mzg0MDI5MS40OTI3MDA2LCA5MjQzLCAxLjI2NTM0NzEyMzE0NjA1NzFdLCBbMTY2Mzg0MDI5MS43ODAyNDYsIDkyNjEsIDEuMzAyMzEyNzMxNzQyODU4OV0sIFsxNjYzODQwMjkxLjkxOTc1MTIsIDkyNzAsIDEuMTk5MjkwMjc1NTczNzMwNV0sIFsxNjYzODQwMjkyLjYzNDgzNzksIDkzMjQsIDEuMTc2NTAwMzIwNDM0NTcwM10sIFsxNjYzODQwMjkyLjc1MTEwMDgsIDkzMzMsIDEuMTUwNjk5NDk2MjY5MjI2XSwgWzE2NjM4NDAyOTIuODY4ODc1LCA5MzQyLCAxLjIxODk2MTcxNTY5ODI0MjJdLCBbMTY2Mzg0MDI5Mi45OTYwMDg0LCA5MzUxLCAxLjI3MTM1MDM4Mzc1ODU0NV0sIFsxNjYzODQwMjkzLjExMjgzNjQsIDkzNjAsIDEuMjg0NDA5MTY1MzgyMzg1M10sIFsxNjYzODQwMjkzLjU5NzY0NDMsIDkzOTYsIDEuMTk4NzY2NTg5MTY0NzMzOV0sIFsxNjYzODQwMjkzLjk3OTEwNzEsIDk0MjMsIDEuMTg2MDc1NTY4MTk5MTU3N10sIFsxNjYzODQwMjk1LjIzNDA2OSwgOTUxMywgMS4yNDU0MTIzNDk3MDA5Mjc3XSwgWzE2NjM4NDAyOTUuNDk2MDE5MSwgOTUzMSwgMS4xNzk3MDYyMTU4NTg0NTk1XSwgWzE2NjM4NDAyOTUuNjQzMTUwOCwgOTU0MCwgMS4xODE1Mjc0OTUzODQyMTYzXSwgWzE2NjM4NDAyOTUuNzgwNTIyMywgOTU0OSwgMS4xNzQ1ODkwMzc4OTUyMDI2XSwgWzE2NjM4NDAyOTYuMDUxMzQ1NiwgOTU2NywgMS4yMjE0NDgxODMwNTk2OTI0XSwgWzE2NjM4NDAyOTYuNDczNDM3NSwgOTU5NCwgMS4yNjc2NjEyMTM4NzQ4MTddLCBbMTY2Mzg0MDI5Ni43NTM2NDYsIDk2MTIsIDEuMTk1NzQxNTM0MjMzMDkzM10sIFsxNjYzODQwMjk3LjA0MjU0MjIsIDk2MzAsIDEuMjcxMTk0ODE1NjM1NjgxMl0sIFsxNjYzODQwMjk3LjE3NTQ4NzgsIDk2MzksIDEuMjgyOTU5MjIyNzkzNTc5XSwgWzE2NjM4NDAyOTcuMzEyMDE4OSwgOTY0OCwgMS4xODU5NjExMjcyODExODldLCBbMTY2Mzg0MDI5Ny40NDQ1MTEsIDk2NTcsIDEuMTgyMTUzNDYzMzYzNjQ3NV0sIFsxNjYzODQwMjk3LjU4NTY4NDUsIDk2NjYsIDEuMTc0NzAyNzYzNTU3NDM0XSwgWzE2NjM4NDAyOTcuNzI0NzAyMSwgOTY3NSwgMS4xNzcwODQ0NDU5NTMzNjkxXSwgWzE2NjM4NDAyOTguMTI5ODQyMywgOTcwMiwgMS4xODQ3ODcyNzM0MDY5ODI0XSwgWzE2NjM4NDAyOTguMjYwMjUxOCwgOTcxMSwgMS4xODkzNTEzMjAyNjY3MjM2XSwgWzE2NjM4NDAyOTguNTIxMzAwMywgOTcyOSwgMS4xOTgxNzA3ODExMzU1NTldLCBbMTY2Mzg0MDI5OC42NjY2MTYsIDk3MzgsIDEuMjQxNTgyMTU1MjI3NjYxMV0sIFsxNjYzODQwMjk4Ljc5MTk5MSwgOTc0NywgMS4yNDc3NTMzODE3MjkxMjZdLCBbMTY2Mzg0MDI5OS4xODg0MjYzLCA5Nzc0LCAxLjIyNjI2MTYxNTc1MzE3MzhdLCBbMTY2Mzg0MDI5OS4zMjg0NDg1LCA5NzgzLCAxLjE2Mjk3MjY4ODY3NDkyNjhdLCBbMTY2Mzg0MDI5OS40NjYxNzY3LCA5NzkyLCAxLjE2NzA0NzM4MTQwMTA2Ml0sIFsxNjYzODQwMzAwLjAxNTAwMDMsIDk4MjgsIDEuMTk3NzIxNDgxMzIzMjQyMl0sIFsxNjYzODQwMzAwLjk1MjE5NiwgOTg5MSwgMS4xNzg5Nzc0ODk0NzE0MzU1XSwgWzE2NjM4NDAzMDEuNDk1NTE0OSwgOTkwOSwgMS4yOTgxOTI2MjAyNzc0MDQ4XSwgWzE2NjM4NDAzMDEuNzY5MjQ1OSwgOTkyNywgMS4yODU2MzQzOTg0NjAzODgyXSwgWzE2NjM4NDAzMDEuODk1NjYyNSwgOTkzNiwgMS4xODUxNTYzNDUzNjc0MzE2XSwgWzE2NjM4NDAzMDIuMDQzNDA5NiwgOTk0NSwgMS4yMjcyNzEzMTg0MzU2NjldLCBbMTY2Mzg0MDMwMi40Mzc2MDQ0LCA5OTcyLCAxLjM3NzgwNzYxNzE4NzVdLCBbMTY2Mzg0MDMwMi43MTc3OSwgOTk5MCwgMS4xOTE5MTg4NDk5NDUwNjg0XSwgWzE2NjM4NDAzMDMuMDEwNTg3NSwgMTAwMDgsIDEuMjY4Mjc1MDIyNTA2NzEzOV0sIFsxNjYzODQwMzAzLjE1MzQ3LCAxMDAxNywgMS4xNzQzMTU1NzE3ODQ5NzMxXSwgWzE2NjM4NDAzMDMuNDM1NTU1LCAxMDAzNSwgMS4yMTM1NjE1MzQ4ODE1OTE4XSwgWzE2NjM4NDAzMDQuMTQwMTYxNSwgMTAwODAsIDEuMjEzNjU3MjU5OTQxMTAxXSwgWzE2NjM4NDAzMDQuNDMxNzI2LCAxMDA5OCwgMS4yMzI1MjQyNzU3Nzk3MjQxXSwgWzE2NjM4NDAzMDQuNTY3NTQ2LCAxMDEwNywgMS4yMTQwMTg1ODMyOTc3Mjk1XSwgWzE2NjM4NDAzMDQuOTkzNDU5NywgMTAxMzQsIDEuMTkxNjgyNTc3MTMzMTc4N10sIFsxNjYzODQwMzA1LjEzMzk2MjksIDEwMTQzLCAxLjE5OTA3Njg5MDk0NTQzNDZdLCBbMTY2Mzg0MDMwNS40MDU4NDQ0LCAxMDE2MSwgMS4xNDM2ODQzODcyMDcwMzEyXSwgWzE2NjM4NDAzMDUuNTQ2NzkxLCAxMDE3MCwgMS4yMTM3NjE4MDY0ODgwMzddLCBbMTY2Mzg0MDMwNS45NjI0MzcyLCAxMDE5NywgMS4xNzg4MjQ2NjMxNjIyMzE0XSwgWzE2NjM4NDAzMDYuMjQ5MzcyLCAxMDIxNSwgMS4xODA0ODA5NTcwMzEyNV0sIFsxNjYzODQwMzA2LjM5MTExOTIsIDEwMjI0LCAxLjE4NTM3MjgyOTQzNzI1NTldLCBbMTY2Mzg0MDMwNi41MjIyNzY0LCAxMDIzMywgMS4xNjc0Mjg2MTI3MDkwNDU0XSwgWzE2NjM4NDAzMDYuOTMzMzcwNCwgMTAyNjAsIDEuMTUwMTk5NTMyNTA4ODVdLCBbMTY2Mzg0MDMwNy44NzQ3NTE4LCAxMDMyMywgMS4yNTI3NjM3NDgxNjg5NDUzXSwgWzE2NjM4NDAzMDguMTMzMzcwNCwgMTAzNDEsIDEuMTg1NTk2NTg1MjczNzQyN10sIFsxNjYzODQwMzA4LjQxODcxMjEsIDEwMzU5LCAxLjE4MzAyNzg2MzUwMjUwMjRdLCBbMTY2Mzg0MDMwOC41NTkwODU4LCAxMDM2OCwgMS4xNjU3MjI5NjYxOTQxNTI4XSwgWzE2NjM4NDAzMDguNzAxNDU1OCwgMTAzNzcsIDEuMTY5ODYxNzkzNTE4MDY2NF0sIFsxNjYzODQwMzA4Ljg0NjkxODgsIDEwMzg2LCAxLjE5MTQ0NDg3MzgwOTgxNDVdLCBbMTY2Mzg0MDMwOS43ODY0NjUsIDEwNDQ5LCAxLjIwNzI3NTk4NjY3MTQ0NzhdLCBbMTY2Mzg0MDMxMC4wNDU1NDk0LCAxMDQ2NywgMS4yNDc5NTQ3MjYyMTkxNzcyXSwgWzE2NjM4NDAzMTAuMjczMzkwMywgMTA0ODUsIDEuMTg2ODAzNjk4NTM5NzMzOV0sIFsxNjYzODQwMzEwLjYxMjk0OTYsIDEwNTEyLCAxLjIwODEyNzQ5ODYyNjcwOV0sIFsxNjYzODQwMzExLjMxODA5NjYsIDEwNTY2LCAxLjE2NDY1ODU0NjQ0Nzc1NF0sIFsxNjYzODQwMzExLjQzMjIxODYsIDEwNTc1LCAxLjE5NTEyNDE0OTMyMjUwOThdLCBbMTY2Mzg0MDMxMS42NjMxNDksIDEwNTkzLCAxLjE2MTYxMzM0NTE0NjE3OTJdLCBbMTY2Mzg0MDMxMS43NzY2NjI2LCAxMDYwMiwgMS4xNzY3ODY4OTk1NjY2NTA0XSwgWzE2NjM4NDAzMTEuODkwODk3NSwgMTA2MTEsIDEuMTk3MDI3NDQ0ODM5NDc3NV0sIFsxNjYzODQwMzEyLjM3MDA1MSwgMTA2NDcsIDEuMTY4MjE4OTcwMjk4NzY3XSwgWzE2NjM4NDAzMTIuNjIwMjUzMywgMTA2NjUsIDEuMTcxNzQ1NDE5NTAyMjU4M10sIFsxNjYzODQwMzEyLjg3NjcxOTUsIDEwNjgzLCAxLjE4NjE3NjA2MTYzMDI0OV0sIFsxNjYzODQwMzEzLjQ2NDczMTIsIDEwNzEwLCAxLjE2NzgzMTg5NzczNTU5NTddLCBbMTY2Mzg0MDMxMy41NjIwMDkzLCAxMDcxOSwgMS4yMDAzMTI3MzM2NTAyMDc1XSwgWzE2NjM4NDAzMTMuODY3MzQ5MSwgMTA3NDYsIDEuMzA0ODIyODAyNTQzNjQwMV0sIFsxNjYzODQwMzEzLjk2OTM2LCAxMDc1NSwgMS4zMzAwMjY5ODQyMTQ3ODI3XSwgWzE2NjM4NDAzMTQuMjU3ODIwNCwgMTA3ODIsIDEuMjE4NzM5NjI4NzkxODA5XSwgWzE2NjM4NDAzMTQuMzY2MTQ3OCwgMTA3OTEsIDEuMTk2NjAxODY3Njc1NzgxMl0sIFsxNjYzODQwMzE0LjY3MzU4MTEsIDEwODE4LCAxLjIyMTY3MDUwODM4NDcwNDZdLCBbMTY2Mzg0MDMxNS4wODg5NiwgMTA4NTQsIDEuMjIyMTY3OTY4NzVdLCBbMTY2Mzg0MDMxNS4xODA3MTMyLCAxMDg2MywgMS4yNTkzNzkwMjkyNzM5ODY4XSwgWzE2NjM4NDAzMTUuMjc3NzcxNSwgMTA4NzIsIDEuMjYxMjYyNjU1MjU4MTc4N10sIFsxNjYzODQwMzE1LjQ4Njk4NDUsIDEwODkwLCAxLjIyMzY0Mjk0NTI4OTYxMThdLCBbMTY2Mzg0MDMxNS45ODYzNDA4LCAxMDkyNiwgMS4xOTYxNjM4OTI3NDU5NzE3XSwgWzE2NjM4NDAzMTYuMTM1NDY1NiwgMTA5MzUsIDEuMTY3NTUyOTQ3OTk4MDQ2OV0sIFsxNjYzODQwMzE2LjYxMDEyMywgMTA5NzEsIDEuMjAyNjM0MDk2MTQ1NjI5OV0sIFsxNjYzODQwMzE3LjI0Mzk0OCwgMTEwMTYsIDEuMTg1MDgyNTU0ODE3MTk5N10sIFsxNjYzODQwMzE3LjQ4NzM0OTcsIDExMDM0LCAxLjE5MTQ1NDg4NzM5MDEzNjddLCBbMTY2Mzg0MDMxNy45OTEzMzA5LCAxMTA3MCwgMS4xNjc2NDgxOTYyMjAzOThdLCBbMTY2Mzg0MDMxOC4zNTYyNDU1LCAxMTA5NywgMS4yMjkwOTg2Nzc2MzUxOTI5XSwgWzE2NjM4NDAzMTguNDc5NDgxNSwgMTExMDYsIDEuMjEyNzA2MzI3NDM4MzU0NV0sIFsxNjYzODQwMzE5LjA5Njc1NiwgMTExNTEsIDEuMTY4MzY3MTQ3NDQ1Njc4N10sIFsxNjYzODQwMzE5LjMxNjQxNDgsIDExMTY5LCAxLjE2MDQ0Njg4MjI0NzkyNDhdLCBbMTY2Mzg0MDMxOS42NzA4NDMsIDExMTk2LCAxLjE1Njk1MTY2NTg3ODI5Nl0sIFsxNjYzODQwMzE5Ljc5OTg3OTMsIDExMjA1LCAxLjE3ODEyMzIzNTcwMjUxNDZdLCBbMTY2Mzg0MDMyMC4wMzUyMTA4LCAxMTIyMywgMS4xNzExNTg5MDk3OTc2Njg1XSwgWzE2NjM4NDAzMjAuMzcwOTQxLCAxMTI1MCwgMS4xNjU3Njc1NTA0Njg0NDQ4XSwgWzE2NjM4NDAzMjAuNDg3MDg3NywgMTEyNTksIDEuMTUxMzQ3MDQxMTMwMDY2XSwgWzE2NjM4NDAzMjAuNjA0OTIxLCAxMTI2OCwgMS4xNTc0MjAxNTgzODYyMzA1XSwgWzE2NjM4NDAzMjAuNzIwNjEwMSwgMTEyNzcsIDEuMTcyMzAxNTMwODM4MDEyN10sIFsxNjYzODQwMzIwLjk2MDk5ODgsIDExMjk1LCAxLjIyODI2MDk5Mzk1NzUxOTVdLCBbMTY2Mzg0MDMyMS4yNDQzMDQyLCAxMTMxMywgMS4yOTgxMDcxNDcyMTY3OTY5XSwgWzE2NjM4NDAzMjEuMzczMjMyMSwgMTEzMjIsIDEuMjc1OTU0MjQ2NTIwOTk2XSwgWzE2NjM4NDAzMjEuNzI1NjU3NywgMTEzNDksIDEuMjE2OTIyNjQwODAwNDc2XSwgWzE2NjM4NDAzMjEuODM3MzQzNywgMTEzNTgsIDEuMTkyNTI4MDA5NDE0NjcyOV0sIFsxNjYzODQwMzIyLjQ4MzIzNTEsIDExNDEyLCAxLjE4MzQwODE0MTEzNjE2OTRdLCBbMTY2Mzg0MDMyMi45MDEzNTkzLCAxMTQ0OCwgMS4xNTM4ODYwNzk3ODgyMDhdLCBbMTY2Mzg0MDMyMy40MTg5MTgxLCAxMTQ5MywgMS4xNjIzMTg4MjU3MjE3NDA3XSwgWzE2NjM4NDAzMjMuNzYwNDc5MiwgMTE1MDIsIDEuMjAzNDg0NjU0NDI2NTc0N10sIFsxNjYzODQwMzIzLjkwMTMxNzQsIDExNTExLCAxLjMzMTUwMjMxODM4MjI2MzJdLCBbMTY2Mzg0MDMyNC40MjkyOTA4LCAxMTU0NywgMS4yNDcwNzQ4NDI0NTMwMDNdLCBbMTY2Mzg0MDMyNC44MTY0ODY2LCAxMTU3NCwgMS4yMzY3ODUwNTQyMDY4NDgxXSwgWzE2NjM4NDAzMjUuNDUxMTcxNCwgMTE2MTksIDEuMTcxNTQ2MzM5OTg4NzA4NV0sIFsxNjYzODQwMzI1LjgzNjUwMjMsIDExNjQ2LCAxLjE1NjI1MDcxNTI1NTczNzNdLCBbMTY2Mzg0MDMyNi40NzM3Njk3LCAxMTY5MSwgMS4xNjEwNjYxNzQ1MDcxNDExXSwgWzE2NjM4NDAzMjYuNTgzMzUzLCAxMTcwMCwgMS4xODQ5NTEwNjY5NzA4MjUyXSwgWzE2NjM4NDAzMjYuOTI4MzYyOCwgMTE3MjcsIDEuMTkwMTE1MzMyNjAzNDU0Nl0sIFsxNjYzODQwMzI3LjM4NjUyNDQsIDExNzYzLCAxLjE2MjEyOTA0NDUzMjc3NTldLCBbMTY2Mzg0MDMyNy44NDE2ODYsIDExNzk5LCAxLjE0ODA4ODMzNTk5MDkwNThdLCBbMTY2Mzg0MDMyOC40MDcyNTUsIDExODQ0LCAxLjIxMzEwMTc0NDY1MTc5NDRdLCBbMTY2Mzg0MDMyOS4wMDgzOTMsIDExODg5LCAxLjE2NjM3Mjc3NjAzMTQ5NDFdLCBbMTY2Mzg0MDMyOS4yNDU3MzczLCAxMTkwNywgMS4xNTk4MDY2MDkxNTM3NDc2XSwgWzE2NjM4NDAzMjkuNTk2MTI4MiwgMTE5MzQsIDEuMjAzMDA4NTMyNTI0MTA4OV0sIFsxNjYzODQwMzI5LjcwOTIwMjMsIDExOTQzLCAxLjE1ODcwOTY0NTI3MTMwMTNdLCBbMTY2Mzg0MDMyOS45Mzc3NzM1LCAxMTk2MSwgMS4xNTYyMDc1NjE0OTI5Ml0sIFsxNjYzODQwMzMwLjYwOTQzNzUsIDEyMDI0LCAxLjE3NTA4NTMwNjE2NzYwMjVdLCBbMTY2Mzg0MDMzMS40NzUzNzk3LCAxMjEwNSwgMS4xNjczNTM3NDkyNzUyMDc1XSwgWzE2NjM4NDAzMzEuNTc2Mzg1NSwgMTIxMTQsIDEuMTY4NjU1OTkxNTU0MjYwM10sIFsxNjYzODQwMzMxLjg2MjQ2MjMsIDEyMTQxLCAxLjE4MDg3MzUxMzIyMTc0MDddLCBbMTY2Mzg0MDMzMi4xNTEzNjA1LCAxMjE2OCwgMS4xNjk3Njg4MTAyNzIyMTY4XSwgWzE2NjM4NDAzMzIuMjQ3MjA1LCAxMjE3NywgMS4xOTc3MzY2MjA5MDMwMTUxXSwgWzE2NjM4NDAzMzIuNDMxMDIyNiwgMTIxOTUsIDEuMTg4MjQxNjAwOTkwMjk1NF0sIFsxNjYzODQwMzMyLjgyMjU1MTcsIDEyMjMxLCAxLjE4OTQ3MDc2Nzk3NDg1MzVdLCBbMTY2Mzg0MDMzMy4wMTY5MDksIDEyMjQ5LCAxLjE2NzI2MzAzMTAwNTg1OTRdLCBbMTY2Mzg0MDMzMy4zODQ0ODcsIDEyMjg1LCAxLjIyNzI2MzU2OTgzMTg0ODFdLCBbMTY2Mzg0MDMzMy43MDIxNzg3LCAxMjI5NCwgMS4yMzA2MTA5NjY2ODI0MzRdLCBbMTY2Mzg0MDMzMy44MTA1NTE0LCAxMjMwMywgMS4yNjE2OTQ2Njk3MjM1MTA3XSwgWzE2NjM4NDAzMzMuOTA0NjYyMSwgMTIzMTIsIDEuMTk1NTAzODMwOTA5NzI5XSwgWzE2NjM4NDAzMzQuMDAxNjkzNywgMTIzMjEsIDEuMjI2MzQwNTMyMzAyODU2NF0sIFsxNjYzODQwMzM0LjY4Mjg0NSwgMTIzODQsIDEuMjM2MDU4NDczNTg3MDM2MV0sIFsxNjYzODQwMzM0Ljc4MDkzNzQsIDEyMzkzLCAxLjE4Njk3ODU3ODU2NzUwNDldLCBbMTY2Mzg0MDMzNS4yMTE3OTUsIDEyNDI5LCAxLjIxNjAxNDAyNzU5NTUyXSwgWzE2NjM4NDAzMzUuNzE0MzMxNiwgMTI0NzQsIDEuMTU4MDA1MjM3NTc5MzQ1N10sIFsxNjYzODQwMzM1LjgxOTkzMzcsIDEyNDgzLCAxLjE2ODk0MzQwNTE1MTM2NzJdLCBbMTY2Mzg0MDMzNi4yNTk4NDQzLCAxMjUxOSwgMS4xNTM5NjgwOTU3Nzk0MTldLCBbMTY2Mzg0MDMzNi41NjMzMjYxLCAxMjU0NiwgMS4yMTMwNjU4NjI2NTU2Mzk2XSwgWzE2NjM4NDAzMzYuOTgwNjQ4OCwgMTI1ODIsIDEuMTM1NzQ1NzYzNzc4Njg2NV0sIFsxNjYzODQwMzM5LjAyMjg1NzcsIDEyNzYyLCAxLjE5MjE0MTI5NDQ3OTM3MDFdLCBbMTY2Mzg0MDMzOS40OTA5NTk0LCAxMjc5OCwgMS4xNTQzODk1MDA2MTc5ODFdLCBbMTY2Mzg0MDM0MC43MTUxODQsIDEyODg4LCAxLjE5MzUwNjEyMTYzNTQzN10sIFsxNjYzODQwMzQwLjgyNzkwNjgsIDEyODk3LCAxLjE1NTk4Njc4NTg4ODY3MTldLCBbMTY2Mzg0MDM0MS4yODcyNjgyLCAxMjkzMywgMS4yMTU4MjgyOTk1MjI0XSwgWzE2NjM4NDAzNDEuNTExOTEzNSwgMTI5NTEsIDEuMTY0NjQ0NTk4OTYwODc2NV0sIFsxNjYzODQwMzQxLjYyNTA0MjQsIDEyOTYwLCAxLjE0NzQyMTEyMTU5NzI5XSwgWzE2NjM4NDAzNDEuNzM5MTI4NiwgMTI5NjksIDEuMTcwOTM4MDE0OTg0MTMwOV0sIFsxNjYzODQwMzQxLjg1MjM4MDgsIDEyOTc4LCAxLjE3MTM1MDEyMTQ5ODEwOF0sIFsxNjYzODQwMzQyLjQyMjgxMywgMTMwMDUsIDEuMTk3NDg0NjEyNDY0OTA0OF0sIFsxNjYzODQwMzQyLjcwMzAyNSwgMTMwMzIsIDEuMTc1Njk5MjM0MDA4Nzg5XSwgWzE2NjM4NDAzNDIuODgxMTI0NSwgMTMwNTAsIDEuMjA0NjE5NTI2ODYzMDk4MV0sIFsxNjYzODQwMzQzLjA3MTI4MjksIDEzMDY4LCAxLjE0ODEyMzM4MzUyMjAzMzddLCBbMTY2Mzg0MDM0My4xNTkzMzczLCAxMzA3NywgMS4xNTcyMjkzMDQzMTM2NTk3XSwgWzE2NjM4NDAzNDMuMzUxMiwgMTMwOTUsIDEuMjE5MzQ0NDk2NzI2OTg5N10sIFsxNjYzODQwMzQzLjQ0MTE1NSwgMTMxMDQsIDEuMTM4NzQyOTIzNzM2NTcyM10sIFsxNjYzODQwMzQzLjYyMDYxOSwgMTMxMjIsIDEuMTQ3OTM0OTEzNjM1MjU0XSwgWzE2NjM4NDAzNDMuNzQ1MzE1MywgMTMxMzEsIDEuMTM3Njg1MDYwNTAxMDk4Nl0sIFsxNjYzODQwMzQzLjk2NzM3NTMsIDEzMTQ5LCAxLjEzODIwMTIzNjcyNDg1MzVdLCBbMTY2Mzg0MDM0NC4wODUxNTAyLCAxMzE1OCwgMS4xNjE2MzI2NTcwNTEwODY0XSwgWzE2NjM4NDAzNDQuMzE4MzEzNCwgMTMxNzYsIDEuMTk5MDI0MDgxMjMwMTYzNl0sIFsxNjYzODQwMzQ1LjI1NTg0OCwgMTMyMzksIDEuMTk1Mzg1ODEzNzEzMDczN10sIFsxNjYzODQwMzQ1LjYwMjYyODUsIDEzMjY2LCAxLjE4Nzc0MjM1MjQ4NTY1NjddLCBbMTY2Mzg0MDM0NS43MjAzNjg5LCAxMzI3NSwgMS4xNjc5NzY5NzU0NDA5NzldLCBbMTY2Mzg0MDM0NS45NDYwNCwgMTMyOTMsIDEuMjExNjIyMjM4MTU5MTc5N10sIFsxNjYzODQwMzQ2Ljc4Njg3NTIsIDEzMzU2LCAxLjE3NjU0NTk3NzU5MjQ2ODNdLCBbMTY2Mzg0MDM0Ny4yNzIxMzU3LCAxMzM5MiwgMS4xOTA0MjMyNTAxOTgzNjQzXSwgWzE2NjM4NDAzNDcuNjI4OTc2OCwgMTM0MTksIDEuMTYwOTg4MzMwODQxMDY0NV0sIFsxNjYzODQwMzQ3Ljk4MzU1NTgsIDEzNDQ2LCAxLjE2NjA3MTY1MzM2NjA4ODldLCBbMTY2Mzg0MDM0OC4wOTY5MjQ4LCAxMzQ1NSwgMS4xNTM5NzYwODI4MDE4MTg4XSwgWzE2NjM4NDAzNDguNTQ5MjM5OSwgMTM0OTEsIDEuMTc2OTYxMTgzNTQ3OTczNl0sIFsxNjYzODQwMzQ4LjY3MTEzOTIsIDEzNTAwLCAxLjE0NjM0Nzk5OTU3Mjc1NF0sIFsxNjYzODQwMzQ5LjAxODk4NTcsIDEzNTI3LCAxLjIwNTc1MTE4MDY0ODgwMzddLCBbMTY2Mzg0MDM0OS43MTQ3NjU1LCAxMzU5MCwgMS4xNzg0Mjg2NDk5MDIzNDM4XSwgWzE2NjM4NDAzNDkuODE4NjE0NywgMTM1OTksIDEuMjI5MDc0ODM1Nzc3MjgyN10sIFsxNjYzODQwMzQ5LjkzNTQ0MjcsIDEzNjA4LCAxLjMyODkyNDY1NTkxNDMwNjZdLCBbMTY2Mzg0MDM1MC4xNTg2NzIsIDEzNjI2LCAxLjE4NDcxMjUyOTE4MjQzNF0sIFsxNjYzODQwMzUwLjM2NTYxMDYsIDEzNjQ0LCAxLjE1NjUwNDE1NDIwNTMyMjNdLCBbMTY2Mzg0MDM1MC40Njg0MDgsIDEzNjUzLCAxLjE2NzI5Nzk1OTMyNzY5NzhdLCBbMTY2Mzg0MDM1MS4zMDM2MjQyLCAxMzcxNiwgMS4xNTg5NDAzMTUyNDY1ODJdLCBbMTY2Mzg0MDM1Mi4wMDU1MTU2LCAxMzc2MSwgMS4xNTU1Mzc5NjI5MTM1MTMyXSwgWzE2NjM4NDAzNTIuODY0MDMwOCwgMTM4MTUsIDEuMTQ1MDM1ODYyOTIyNjY4NV0sIFsxNjYzODQwMzUzLjE3MTYxMzUsIDEzODQyLCAxLjE4NTUzMDc4MTc0NTkxMDZdLCBbMTY2Mzg0MDM1My4yNjUxNzM0LCAxMzg1MSwgMS4xNzkyOTIzMjEyMDUxMzkyXSwgWzE2NjM4NDAzNTMuNTU5MDY3NSwgMTM4NzgsIDEuMTk2MDk0NjMyMTQ4NzQyN10sIFsxNjYzODQwMzU0LjIzMjg5NCwgMTM5NDEsIDEuMTg2NzcxMzkyODIyMjY1Nl0sIFsxNjYzODQwMzU0LjUwMjU1OTQsIDEzOTY4LCAxLjE2NTUwODk4NTUxOTQwOTJdLCBbMTY2Mzg0MDM1NC41OTM0ODksIDEzOTc3LCAxLjE1Nzk3Njc0NjU1OTE0M10sIFsxNjYzODQwMzU0LjY5MjI5NTMsIDEzOTg2LCAxLjE2ODQ1OTc3MzA2MzY1OTddLCBbMTY2Mzg0MDM1NS41NTg4MDksIDE0MDY3LCAxLjE1NzcyMzY2NTIzNzQyNjhdLCBbMTY2Mzg0MDM1NS44MzI2ODk1LCAxNDA5NCwgMS4xNTUwNTY1OTU4MDIzMDcxXSwgWzE2NjM4NDAzNTUuOTI2NTQ5MiwgMTQxMDMsIDEuMTgyNTc3NjEwMDE1ODY5MV0sIFsxNjYzODQwMzU2LjE1ODUzNSwgMTQxMjEsIDEuMTQ3NjA1NTM4MzY4MjI1XSwgWzE2NjM4NDAzNTYuNDI4NDk4LCAxNDEzOSwgMS4xMzA3OTMwOTQ2MzUwMDk4XSwgWzE2NjM4NDAzNTYuNTUyNDc0NywgMTQxNDgsIDEuMTcwOTk1ODMxNDg5NTYzXSwgWzE2NjM4NDAzNTYuNjk2NzQ1LCAxNDE1NywgMS4xNDc5MzM0ODMxMjM3NzkzXSwgWzE2NjM4NDAzNTYuODI2MTIwNCwgMTQxNjYsIDEuMjMxNjY5MTg3NTQ1Nzc2NF0sIFsxNjYzODQwMzU3LjIxNjkxNzUsIDE0MTkzLCAxLjE4NjA1MjQ0MTU5Njk4NDldLCBbMTY2Mzg0MDM1Ny43NDAwNTQxLCAxNDIyOSwgMS4xNDEwMjEyNTE2Nzg0NjY4XSwgWzE2NjM4NDAzNTcuODc2MTM4NCwgMTQyMzgsIDEuMjE2NzM3MjcwMzU1MjI0Nl0sIFsxNjYzODQwMzU3Ljk5NTQ2NTUsIDE0MjQ3LCAxLjE2MDM0ODI5NjE2NTQ2NjNdLCBbMTY2Mzg0MDM1OC4zOTE1NjMsIDE0Mjc0LCAxLjE3NTgxMzMxNzI5ODg4OTJdLCBbMTY2Mzg0MDM1OC45Njg5NywgMTQzMTksIDEuMTU5MjU2MjE5ODYzODkxNl0sIFsxNjYzODQwMzU5LjQ5MTM2NjEsIDE0MzY0LCAxLjE3NTAyMTY0ODQwNjk4MjRdLCBbMTY2Mzg0MDM1OS42MDg0MTY2LCAxNDM3MywgMS4xODUzNjI5MzUwNjYyMjMxXSwgWzE2NjM4NDAzNTkuNzE3NjEsIDE0MzgyLCAxLjE0NzQ3NjE5NjI4OTA2MjVdLCBbMTY2Mzg0MDM2MC4yMjY4MDksIDE0NDE4LCAxLjIzNjg0NDE4MjAxNDQ2NTNdLCBbMTY2Mzg0MDM2MC4zNjM5MzA3LCAxNDQyNywgMS4yODUzMTIxNzU3NTA3MzI0XSwgWzE2NjM4NDAzNjAuNDkzMzk5OSwgMTQ0MzYsIDEuMzQ0OTkzODI5NzI3MTcyOV0sIFsxNjYzODQwMzYxLjQ2ODcxMTYsIDE0NTA4LCAxLjE0NTE4NDUxNjkwNjczODNdLCBbMTY2Mzg0MDM2MS44MzQwNjc4LCAxNDUzNSwgMS4yNzA4MTg4Mjk1MzY0MzhdLCBbMTY2Mzg0MDM2Mi4wNzIyMjQ5LCAxNDU1MywgMS4yNDgyNzQyMDcxMTUxNzMzXSwgWzE2NjM4NDAzNjMuMDI2MzA3NiwgMTQ2MDcsIDEuMjIxNTA4ODYwNTg4MDczN10sIFsxNjYzODQwMzYzLjI0MDM2NSwgMTQ2MjUsIDEuMjAwMDExNjEwOTg0ODAyMl0sIFsxNjYzODQwMzYzLjYyNTMyNDUsIDE0NjUyLCAxLjI2MTYxMzEzMDU2OTQ1OF0sIFsxNjYzODQwMzY0LjEwMDAxODMsIDE0Njg4LCAxLjE4MTA4MTc3MTg1MDU4Nl0sIFsxNjYzODQwMzY0LjQ5MTg5OTUsIDE0NzI0LCAxLjI1Nzk4NTM1MzQ2OTg0ODZdLCBbMTY2Mzg0MDM2NC42ODU3NjM2LCAxNDc0MiwgMS4xMjU5MjA1MzQxMzM5MTExXSwgWzE2NjM4NDAzNjQuOTk1MTUxMywgMTQ3NjksIDEuMTU5NTAyMjY3ODM3NTI0NF0sIFsxNjYzODQwMzY1LjA5MzUzODgsIDE0Nzc4LCAxLjE5OTQ4NzIwOTMyMDA2ODRdLCBbMTY2Mzg0MDM2NS41NTIwMjYzLCAxNDgyMywgMS4xNTY4NDExNTg4NjY4ODIzXSwgWzE2NjM4NDAzNjUuNjYwOTI2NiwgMTQ4MzIsIDEuMTYzODM2MzU5OTc3NzIyMl0sIFsxNjYzODQwMzY2LjA0NzgxNjgsIDE0ODY4LCAxLjE2NzM4MTE2NzQxMTgwNDJdLCBbMTY2Mzg0MDM2Ni4xNDUxMTQ0LCAxNDg3NywgMS4xNjI1Njc0OTYyOTk3NDM3XSwgWzE2NjM4NDAzNjYuMjM4NTQxMSwgMTQ4ODYsIDEuMjcxNzA5NjgwNTU3MjUxXSwgWzE2NjM4NDAzNjYuMzM0NzMxOCwgMTQ4OTUsIDEuMjA1NDA1OTUwNTQ2MjY0Nl0sIFsxNjYzODQwMzY2LjUxMTA1MSwgMTQ5MTMsIDEuMTY1NTM4NDMwMjEzOTI4Ml0sIFsxNjYzODQwMzY2LjY5NzAyMTUsIDE0OTMxLCAxLjE5MDE1OTMyMDgzMTI5ODhdLCBbMTY2Mzg0MDM2Ny4wODE1MzI1LCAxNDk2NywgMS4xNDE1NTU3ODYxMzI4MTI1XSwgWzE2NjM4NDAzNjcuMjg4NTQ2NiwgMTQ5ODUsIDEuMTQ1NDM5Mzg2MzY3Nzk3OV0sIFsxNjYzODQwMzY3LjQ3NTgyNDgsIDE1MDAzLCAxLjE0NzE5NDI2NjMxOTI3NV0sIFsxNjYzODQwMzY3Ljc1NTY1NSwgMTUwMzAsIDEuMjQxMzgyNTk4ODc2OTUzMV0sIFsxNjYzODQwMzY3Ljg1NjkxNzEsIDE1MDM5LCAxLjMxNjk5MTkyNTIzOTU2M10sIFsxNjYzODQwMzY4LjM2MzM2MzcsIDE1MDc1LCAxLjIyNDIxMzQ4MDk0OTQwMTldLCBbMTY2Mzg0MDM2OC43MzQ0NDk5LCAxNTEwMiwgMS4xNTY2NDgyNzgyMzYzODkyXSwgWzE2NjM4NDAzNjguOTYyODI0OCwgMTUxMjAsIDEuMTgwMDY3NDIwMDA1Nzk4M10sIFsxNjYzODQwMzY5LjA5MDM1NzgsIDE1MTI5LCAxLjE4NzgzNDE0MzYzODYxMDhdLCBbMTY2Mzg0MDM2OS4zMTQ0OTMsIDE1MTQ3LCAxLjE2Njg2MTI5NTcwMDA3MzJdLCBbMTY2Mzg0MDM2OS42MzkzNjY5LCAxNTE3NCwgMS4xNDgxNjYyOTg4NjYyNzJdLCBbMTY2Mzg0MDM2OS43NDEyMjksIDE1MTgzLCAxLjE4NTIyNjMyMTIyMDM5OF0sIFsxNjYzODQwMzY5Ljg1MTQyMzMsIDE1MTkyLCAxLjE0MDYzODgyODI3NzU4OF0sIFsxNjYzODQwMzY5Ljk3MTM0NTIsIDE1MjAxLCAxLjEzNzI3NTIxODk2MzYyM10sIFsxNjYzODQwMzcwLjU3ODM2NjUsIDE1MjQ2LCAxLjEzMzE1NTgyMjc1MzkwNjJdLCBbMTY2Mzg0MDM3MC43MDgwNDc0LCAxNTI1NSwgMS4xMzE3MDgxNDUxNDE2MDE2XSwgWzE2NjM4NDAzNzAuODI4MjkxNywgMTUyNjQsIDEuMTI5NjY2NTY2ODQ4NzU0OV0sIFsxNjYzODQwMzcxLjI2NjY2MjgsIDE1MzAwLCAxLjE5NTk0NTYyMDUzNjgwNDJdLCBbMTY2Mzg0MDM3MS44NTA0MDcxLCAxNTMyNywgMS4xNTE2MjE4MTg1NDI0ODA1XSwgWzE2NjM4NDAzNzIuMDkwMzgyLCAxNTM0NSwgMS4xNzM2NDkzMTEwNjU2NzM4XSwgWzE2NjM4NDAzNzIuNDA1NDM0OCwgMTUzNzIsIDEuMTQ4OTcyMjcyODcyOTI0OF0sIFsxNjYzODQwMzcyLjYyNzMxMiwgMTUzOTAsIDEuMTY3NTI4NTEwMDkzNjg5XSwgWzE2NjM4NDAzNzIuNzUwNzk1NiwgMTUzOTksIDEuMTQ2Mzg4MTczMTAzMzMyNV0sIFsxNjYzODQwMzcyLjg4NjQwNDMsIDE1NDA4LCAxLjE1MTk0NDI3OTY3MDcxNTNdLCBbMTY2Mzg0MDM3My4wMDcwMTEyLCAxNTQxNywgMS4xMzUxNjIzNTM1MTU2MjVdLCBbMTY2Mzg0MDM3My43MTUxMDI0LCAxNTQ3MSwgMS4yMzA4ODk0Mzk1ODI4MjQ3XSwgWzE2NjM4NDAzNzQuMTcwNjYxNCwgMTU1MDcsIDEuMTYxMjYyMDM1MzY5ODczXSwgWzE2NjM4NDAzNzQuMjgzNDIwNiwgMTU1MTYsIDEuMTczNTcyNzc4NzAxNzgyMl0sIFsxNjYzODQwMzc0LjM5NjMwNjUsIDE1NTI1LCAxLjE3MTczMDI3OTkyMjQ4NTRdLCBbMTY2Mzg0MDM3NC40OTYwNzQsIDE1NTM0LCAxLjEzNTQ5NzQ1MDgyODU1MjJdLCBbMTY2Mzg0MDM3NC45OTM0NzQyLCAxNTU3OSwgMS4yNTg4MzExNDMzNzkyMTE0XSwgWzE2NjM4NDAzNzUuODEzMTQ1OSwgMTU2NTEsIDEuMzI5ODY5NzQ3MTYxODY1Ml0sIFsxNjYzODQwMzc1LjkxMDE2MDgsIDE1NjYwLCAxLjE1OTE2NTYyMDgwMzgzM10sIFsxNjYzODQwMzc2LjMzMDcyMTksIDE1Njk2LCAxLjE0MTA2OTUzMTQ0MDczNDldLCBbMTY2Mzg0MDM3Ni41NTAyNzEzLCAxNTcxNCwgMS4xODMxODAwOTM3NjUyNTg4XSwgWzE2NjM4NDAzNzYuODU1MjUwNiwgMTU3NDEsIDEuMTUxOTI1NjgzMDIxNTQ1NF0sIFsxNjYzODQwMzc3LjA0NzA4MDgsIDE1NzU5LCAxLjI2ODAzNjYwMzkyNzYxMjNdLCBbMTY2Mzg0MDM3Ny4xNjI2NDk2LCAxNTc2OCwgMS4xNTcwODAyOTI3MDE3MjEyXSwgWzE2NjM4NDAzNzcuMzY0MjEwOCwgMTU3ODYsIDEuMjE1Nzk5Njg5MjkyOTA3N10sIFsxNjYzODQwMzc3LjQ1NzAzMjQsIDE1Nzk1LCAxLjE5NjEyMDAyMzcyNzQxN10sIFsxNjYzODQwMzc3Ljc4NTM3MDgsIDE1ODIyLCAxLjE1MDIyNDgwNDg3ODIzNDldLCBbMTY2Mzg0MDM3OC4yNjAzMDg3LCAxNTg2NywgMS4xNjgwNTIzMTU3MTE5NzVdLCBbMTY2Mzg0MDM3OC4zNTgzMjM4LCAxNTg3NiwgMS4xMTI0MDU4OTYxODY4Mjg2XSwgWzE2NjM4NDAzNzguNTQ2ODgyMiwgMTU4OTQsIDEuMTM3MjU5MzY0MTI4MTEyOF0sIFsxNjYzODQwMzc4Ljg0Mjk1MDgsIDE1OTIxLCAxLjI0ODAzODUzMDM0OTczMTRdLCBbMTY2Mzg0MDM3OS41MTc4NzczLCAxNTk4NCwgMS4yMDYwNzkzNjM4MjI5MzddLCBbMTY2Mzg0MDM3OS42MTM3NTI2LCAxNTk5MywgMS4xNTgwMjU1MDMxNTg1NjkzXSwgWzE2NjM4NDAzNzkuNzEwMDg4MywgMTYwMDIsIDEuMTczNjcxMTI2MzY1NjYxNl0sIFsxNjYzODQwMzgwLjIwMDM1NCwgMTYwMjksIDEuMTQxOTc5NDU1OTQ3ODc2XSwgWzE2NjM4NDAzODAuNTkwODg5NSwgMTYwNjUsIDEuMTM4ODgzMzUyMjc5NjYzXSwgWzE2NjM4NDAzODAuNjg5MTk5NywgMTYwNzQsIDEuMTUxMDE5NDU0MDAyMzgwNF0sIFsxNjYzODQwMzgwLjc5OTAxNywgMTYwODMsIDEuMTU3MzcyNzEzMDg4OTg5M10sIFsxNjYzODQwMzgxLjE1MzYxNiwgMTYxMTAsIDEuMjIzNTY1MjIwODMyODI0N10sIFsxNjYzODQwMzgxLjI0NzY0MSwgMTYxMTksIDEuMjM1NTIyOTg1NDU4Mzc0XSwgWzE2NjM4NDAzODEuNDQ1NDg4MiwgMTYxMzcsIDEuMTM5ODU2OTM0NTQ3NDI0M10sIFsxNjYzODQwMzgxLjY0OTIwNDcsIDE2MTU1LCAxLjE1MDg5NDc2MTA4NTUxMDNdLCBbMTY2Mzg0MDM4MS44NTI5NjIsIDE2MTczLCAxLjE2Mjc2NTg2MDU1NzU1NjJdLCBbMTY2Mzg0MDM4Mi4yOTc1NDc4LCAxNjIwOSwgMS4xOTkyMjgxNjc1MzM4NzQ1XSwgWzE2NjM4NDAzODIuNTE3MjUwNSwgMTYyMjcsIDEuMTQxNzQwMzIyMTEzMDM3XSwgWzE2NjM4NDAzODMuMjE4OTczOSwgMTYyODEsIDEuMTczMjkzNzA5NzU0OTQzOF0sIFsxNjYzODQwMzgzLjQ3NzkxOTMsIDE2Mjk5LCAxLjEyMzE4OTIxMDg5MTcyMzZdLCBbMTY2Mzg0MDM4My45MzM1ODg1LCAxNjMzNSwgMS4xMzM4MjQ1ODY4NjgyODYxXSwgWzE2NjM4NDAzODQuNDUyNjY4LCAxNjM4MCwgMS4xMTU3OTUyNTQ3MDczMzY0XSwgWzE2NjM4NDAzODQuODU4MTEwNCwgMTY0MTYsIDEuMTE5NTE3ODAzMTkyMTM4N10sIFsxNjYzODQwMzg1LjI2MjkwOTIsIDE2NDQzLCAxLjIxNTAxODE1MzE5MDYxMjhdLCBbMTY2Mzg0MDM4NS40MjcyNzI2LCAxNjQ1MiwgMS4yMDI4ODgxMzExNDE2NjI2XSwgWzE2NjM4NDAzODUuNjc5NDU4NiwgMTY0NzAsIDEuMTEzNTc1MjIwMTA4MDMyMl0sIFsxNjYzODQwMzg1Ljc5NjE1MzMsIDE2NDc5LCAxLjE0ODc0NDM0NDcxMTMwMzddLCBbMTY2Mzg0MDM4Ni4wMjIwMTk2LCAxNjQ5NywgMS4xMjg2OTk2NjAzMDEyMDg1XSwgWzE2NjM4NDAzODYuMTUzNTY4NSwgMTY1MDYsIDEuMTI0OTY1MTkwODg3NDUxMl0sIFsxNjYzODQwMzg2LjI2ODExNywgMTY1MTUsIDEuMTUxMDI1MDU2ODM4OTg5M10sIFsxNjYzODQwMzg2LjQ5NDU0OTgsIDE2NTMzLCAxLjEzMjY3MjA3MTQ1NjkwOTJdLCBbMTY2Mzg0MDM4Ni42MDU4NTI2LCAxNjU0MiwgMS4xNDc3MTg2Njc5ODQwMDg4XSwgWzE2NjM4NDAzODYuNzEzMTM5NSwgMTY1NTEsIDEuMTczMjk5MzEyNTkxNTUyN10sIFsxNjYzODQwMzg3LjUwMzAxMDcsIDE2NjE0LCAxLjE1NTkxMDczMDM2MTkzODVdLCBbMTY2Mzg0MDM4Ny42MDQ4NzE1LCAxNjYyMywgMS4xNjE5MTk0NzQ2MDE3NDU2XSwgWzE2NjM4NDAzODcuNzEwMjc2OCwgMTY2MzIsIDEuMTIyNTA5NzE3OTQxMjg0Ml0sIFsxNjYzODQwMzg3LjgxMjg4OCwgMTY2NDEsIDEuMTM1ODQ4NTIyMTg2Mjc5M10sIFsxNjYzODQwMzg4LjQwMDAyNDIsIDE2NjY4LCAxLjE4MzkyMzEyNTI2NzAyODhdLCBbMTY2Mzg0MDM4OS41NDI5NTg3LCAxNjc0OSwgMS4xNjQ1NTg0MTA2NDQ1MzEyXSwgWzE2NjM4NDAzOTAuMTAxMzEyLCAxNjc5NCwgMS4xMzIwNzU5MDU3OTk4NjU3XSwgWzE2NjM4NDAzOTAuMjE0NDYxLCAxNjgwMywgMS4xMzUzNjE2NzE0NDc3NTRdLCBbMTY2Mzg0MDM5MC4zMjc5Mzc0LCAxNjgxMiwgMS4xMzg1NDY0NjY4MjczOTI2XSwgWzE2NjM4NDAzOTAuNzQ2NTk0NywgMTY4NDgsIDEuMTcxNDIzNzkyODM5MDUwM10sIFsxNjYzODQwMzkwLjg1MTkxMTgsIDE2ODU3LCAxLjE4NjIyNjI0ODc0MTE1XSwgWzE2NjM4NDAzOTEuMDU4MjIwOSwgMTY4NzUsIDEuMTIzMTUxNjU5OTY1NTE1MV0sIFsxNjYzODQwMzkxLjM2NjI0ODgsIDE2OTAyLCAxLjE0MTgyMDE5MjMzNzAzNjFdLCBbMTY2Mzg0MDM5MS42NDg2MDIsIDE2OTI5LCAxLjE0ODQ3ODAzMTE1ODQ0NzNdLCBbMTY2Mzg0MDM5MS45Mjk5NjgsIDE2OTU2LCAxLjE5ODc2MTU4MjM3NDU3MjhdLCBbMTY2Mzg0MDM5Mi4wMjk4MTg1LCAxNjk2NSwgMS4yMjMzODg2NzE4NzVdLCBbMTY2Mzg0MDM5Mi4yMTI1OTA3LCAxNjk4MywgMS4xNjk4OTI1NDk1MTQ3NzA1XSwgWzE2NjM4NDAzOTIuMzk0Nzc0NCwgMTcwMDEsIDEuMTU4NjQ3Mjk4ODEyODY2Ml0sIFsxNjYzODQwMzkyLjU5OTA5MSwgMTcwMTksIDEuMTMzNjE5NTQ2ODkwMjU4OF0sIFsxNjYzODQwMzkzLjEzNTUxMjgsIDE3MDY0LCAxLjIwMjc1MDgwMjA0MDFdLCBbMTY2Mzg0MDM5My42OTc0NDg3LCAxNzEwMCwgMS4xNjM1MTcyMzY3MDk1OTQ3XSwgWzE2NjM4NDAzOTQuMDQwMzQsIDE3MTI3LCAxLjEyNTYyNjA4NzE4ODcyMDddLCBbMTY2Mzg0MDM5NC40NDc0MTgsIDE3MTYzLCAxLjE1ODgwNTQ4OTU0MDFdLCBbMTY2Mzg0MDM5NC42NDQ2MzcsIDE3MTgxLCAxLjE0MTI1NzY0MzY5OTY0Nl0sIFsxNjYzODQwMzk0Ljc0MzQxNSwgMTcxOTAsIDEuMTY4NTczMzc5NTE2NjAxNl0sIFsxNjYzODQwMzk0LjgzODg0OTgsIDE3MTk5LCAxLjE0MTE1MTY2NjY0MTIzNTRdLCBbMTY2Mzg0MDM5NS4xMTkyMTcsIDE3MjI2LCAxLjE0ODIwODQ5ODk1NDc3M10sIFsxNjYzODQwMzk1LjU5NzU3MywgMTcyNzEsIDEuMTExMzc4NDMxMzIwMTkwNF0sIFsxNjYzODQwMzk2LjE2NzU3NTgsIDE3MzI1LCAxLjE2ODY3MzUxNTMxOTgyNDJdLCBbMTY2Mzg0MDM5Ni4yNjUwNDQ3LCAxNzMzNCwgMS4xODE2MDkwMzQ1MzgyNjldLCBbMTY2Mzg0MDM5Ni4zNTU4NjgsIDE3MzQzLCAxLjE1OTIxNTQ1MDI4Njg2NTJdLCBbMTY2Mzg0MDM5Ni42Mzg1NDIyLCAxNzM3MCwgMS4xOTc0MTQ2MzY2MTE5Mzg1XSwgWzE2NjM4NDAzOTYuOTIyMTU2MywgMTczOTcsIDEuMTkyMDMyODE0MDI1ODc5XSwgWzE2NjM4NDAzOTcuNDE0MDQ0LCAxNzQyNCwgMS4xNDQ5OTAwODY1NTU0ODFdLCBbMTY2Mzg0MDM5Ny41MDcyOTA2LCAxNzQzMywgMS4xNDg4MDMxMTQ4OTEwNTIyXSwgWzE2NjM4NDAzOTcuODg5NzE5LCAxNzQ2OSwgMS4xNzM2MzExOTEyNTM2NjJdLCBbMTY2Mzg0MDM5Ny45ODIzODMzLCAxNzQ3OCwgMS4xMTc3MDcyNTI1MDI0NDE0XSwgWzE2NjM4NDAzOTguMDczODgzMywgMTc0ODcsIDEuMTE0OTYwNzg5NjgwNDgxXSwgWzE2NjM4NDAzOTguNDEzNjQyLCAxNzUxNCwgMS4yMDExNTg3NjE5NzgxNDk0XSwgWzE2NjM4NDAzOTguNjcxNTkzNywgMTc1MzIsIDEuMTU5NjgzNzA0Mzc2MjIwN10sIFsxNjYzODQwMzk4Ljk5OTUxMzEsIDE3NTU5LCAxLjExOTg5MzA3NDAzNTY0NDVdLCBbMTY2Mzg0MDM5OS4yOTM0ODQ0LCAxNzU4NiwgMS4xNzk4OTU1MjAyMTAyNjYxXSwgWzE2NjM4NDAzOTkuNTg4OTE1LCAxNzYxMywgMS4xNDEyMzg5Mjc4NDExODY1XSwgWzE2NjM4NDAzOTkuOTgzMjkxNiwgMTc2NDksIDEuMTE1NDE3NTk5Njc4MDM5Nl0sIFsxNjYzODQwNDAwLjA4MjU5NDIsIDE3NjU4LCAxLjEyMTk4OTcyNzAyMDI2MzddLCBbMTY2Mzg0MDQwMC4xODQ4NjE0LCAxNzY2NywgMS4xNDMyNTgwOTQ3ODc1OTc3XSwgWzE2NjM4NDA0MDAuMjgwMjUzNCwgMTc2NzYsIDEuMTQ5MDg3OTA1ODgzNzg5XSwgWzE2NjM4NDA0MDAuMzg0ODM3NCwgMTc2ODUsIDEuMjEyMzMwMjIyMTI5ODIxOF0sIFsxNjYzODQwNDAwLjU5MzA0NCwgMTc3MDMsIDEuMjkxNDA5MzczMjgzMzg2Ml0sIFsxNjYzODQwNDAwLjY4Mzg0NDYsIDE3NzEyLCAxLjE1ODIyNzY4MjExMzY0NzVdLCBbMTY2Mzg0MDQwMC43ODA3NTA1LCAxNzcyMSwgMS4xNDMwMjE0NjQzNDc4Mzk0XSwgWzE2NjM4NDA0MDAuODcwODM3NywgMTc3MzAsIDEuMTQ0MjkwMzI4MDI1ODE3OV0sIFsxNjYzODQwNDAxLjY0MzU0MiwgMTc4MDIsIDEuMTE2MjA1MDk2MjQ0ODEyXSwgWzE2NjM4NDA0MDEuODU0NDE4OCwgMTc4MjAsIDEuMTQwMDI5MTkxOTcwODI1Ml0sIFsxNjYzODQwNDAxLjk1MzQ0NDcsIDE3ODI5LCAxLjEzNjk1MDYxMjA2ODE3NjNdLCBbMTY2Mzg0MDQwMi4wNTg2NDUsIDE3ODM4LCAxLjEzOTc0MzMyODA5NDQ4MjRdLCBbMTY2Mzg0MDQwMi4xNTIyNywgMTc4NDcsIDEuMTM2MzI4OTM1NjIzMTY5XSwgWzE2NjM4NDA0MDIuNDM2NjczLCAxNzg3NCwgMS4xOTEwNjk2MDI5NjYzMDg2XSwgWzE2NjM4NDA0MDIuNjM4MzI4MywgMTc4OTIsIDEuMTMwMTY5NjMwMDUwNjU5Ml0sIFsxNjYzODQwNDAyLjczMDU2ODYsIDE3OTAxLCAxLjEzNDU5NjgyNDY0NTk5Nl0sIFsxNjYzODQwNDAzLjAxMjAwNzcsIDE3OTI4LCAxLjE2MzM0MjM1NjY4MTgyMzddLCBbMTY2Mzg0MDQwMy4xMTMyNTIsIDE3OTM3LCAxLjE0MjE0NTYzMzY5NzUwOThdLCBbMTY2Mzg0MDQwNS42NTk3Mzg4LCAxODE1MywgMS4xNDM0ODExMzUzNjgzNDcyXSwgWzE2NjM4NDA0MDUuNzUwODQ2MSwgMTgxNjIsIDEuMTM2ODE2MTQzOTg5NTYzXSwgWzE2NjM4NDA0MDYuMTMwNjI5NSwgMTgxOTgsIDEuMjI0Nzc2MTQ4Nzk2MDgxNV0sIFsxNjYzODQwNDA2LjIyODY1NTgsIDE4MjA3LCAxLjEzOTA2NTYyMzI4MzM4NjJdLCBbMTY2Mzg0MDQwNi4zMTk2Njc4LCAxODIxNiwgMS4xNDk1NjAzMzIyOTgyNzg4XSwgWzE2NjM4NDA0MDYuNjAzMzk3LCAxODI0MywgMS4xMDcwMTI2Mjk1MDg5NzIyXSwgWzE2NjM4NDA0MDYuNzg4Mjc1NSwgMTgyNjEsIDEuMjI4Mzc1MTk2NDU2OTA5Ml0sIFsxNjYzODQwNDA3LjA2NjU4OSwgMTgyODgsIDEuMTgzNDgxOTMxNjg2NDAxNF0sIFsxNjYzODQwNDA3LjE1ODI2ODUsIDE4Mjk3LCAxLjIwMDQzNTA0MjM4MTI4NjZdLCBbMTY2Mzg0MDQwNy4zNzk3NTc2LCAxODMxNSwgMS4xODY3OTU5NDk5MzU5MTNdLCBbMTY2Mzg0MDQwNy40OTA4MzQyLCAxODMyNCwgMS4yMDQ1NDIyNzkyNDM0NjkyXSwgWzE2NjM4NDA0MDcuNjA5NTUyNCwgMTgzMzMsIDEuMTY0ODA1NTMxNTAxNzddLCBbMTY2Mzg0MDQwOC4xMTY0NTc1LCAxODM2OSwgMS4xNzkyOTI5MTcyNTE1ODddLCBbMTY2Mzg0MDQwOC41MTA3OTIsIDE4Mzk2LCAxLjE2OTMwNjc1NTA2NTkxOF0sIFsxNjYzODQwNDA5LjAzODQ5NywgMTg0MzIsIDEuMTM3NzkxNjMzNjA1OTU3XSwgWzE2NjM4NDA0MDkuMjQ4ODk3NiwgMTg0NTAsIDEuMTU3MDAxODUyOTg5MTk2OF0sIFsxNjYzODQwNDA5Ljc3MjUyNTUsIDE4NDk1LCAxLjE1ODc3MzY2MDY1OTc5XSwgWzE2NjM4NDA0MDkuODY2Mzc5NSwgMTg1MDQsIDEuMTIzNTc5NzQwNTI0MjkyXSwgWzE2NjM4NDA0MDkuOTYxNDM3NSwgMTg1MTMsIDEuMTYxMjIyMTAwMjU3ODczNV0sIFsxNjYzODQwNDEwLjA1NjczOTMsIDE4NTIyLCAxLjEzMTkwMjY5NDcwMjE0ODRdLCBbMTY2Mzg0MDQxMS4yMjE5MDE3LCAxODYxMiwgMS4xMjc0MzEzOTI2Njk2Nzc3XSwgWzE2NjM4NDA0MTEuMzMwOTUyLCAxODYyMSwgMS4xMjgxMDQ0NDgzMTg0ODE0XSwgWzE2NjM4NDA0MTEuNTExNTkxLCAxODYzOSwgMS4xNTAzNDIyMjYwMjg0NDI0XSwgWzE2NjM4NDA0MTEuODgzOTMzLCAxODY3NSwgMS4xNTMzOTc0NDA5MTAzMzk0XSwgWzE2NjM4NDA0MTIuNDc3Njc3MywgMTg3MjAsIDEuMTQwMzIwMDYyNjM3MzI5XSwgWzE2NjM4NDA0MTIuOTk5MzA3LCAxODc2NSwgMS4xMzMxNjg0NTg5Mzg1OTg2XSwgWzE2NjM4NDA0MTMuMjM5NzI1LCAxODc4MywgMS4xNzY1NTAzODgzMzYxODE2XSwgWzE2NjM4NDA0MTMuMzYyMjI5OCwgMTg3OTIsIDEuMjA2NTczOTYzMTY1MjgzMl0sIFsxNjYzODQwNDEzLjYzMTgyMzgsIDE4ODEwLCAxLjIwMDk0NTQ5NjU1OTE0M10sIFsxNjYzODQwNDEzLjc2OTg0OSwgMTg4MTksIDEuMzUyMjc5NjYzMDg1OTM3NV0sIFsxNjYzODQwNDEzLjg4MTk4OCwgMTg4MjgsIDEuMjA4OTI2Nzk2OTEzMTQ3XSwgWzE2NjM4NDA0MTQuMjg5NTA3NCwgMTg4NjQsIDEuMTI0NzkzNzY3OTI5MDc3MV0sIFsxNjYzODQwNDE0LjQ4NzQwOTQsIDE4ODgyLCAxLjE1NjU4NDM4MjA1NzE5XSwgWzE2NjM4NDA0MTQuNjA1MjcyLCAxODg5MSwgMS4xNDcwMTMzMDY2MTc3MzY4XSwgWzE2NjM4NDA0MTQuNzkzMjAwNywgMTg5MDksIDEuMTkyMTM1NTcyNDMzNDcxN10sIFsxNjYzODQwNDE1LjA4ODM5MTUsIDE4OTM2LCAxLjE1ODQ4MjkwOTIwMjU3NTddLCBbMTY2Mzg0MDQxNS4xOTI2MjE1LCAxODk0NSwgMS4xMzQ2MDUwNTAwODY5NzVdLCBbMTY2Mzg0MDQxNS4yODk4MjcsIDE4OTU0LCAxLjExODQ0ODczNDI4MzQ0NzNdLCBbMTY2Mzg0MDQxNS42NTg0MzI3LCAxODk5MCwgMS4xNDU0ODYxMTY0MDkzMDE4XSwgWzE2NjM4NDA0MTUuNzg1NzI1LCAxODk5OSwgMS4xMjU4NzA0NjYyMzIyOTk4XSwgWzE2NjM4NDA0MTYuMjQ4MTg1MiwgMTkwMzUsIDEuMTc1MTAzNjY0Mzk4MTkzNF0sIFsxNjYzODQwNDE2LjM1MTQzNSwgMTkwNDQsIDEuMTE5NzU0OTEwNDY5MDU1Ml0sIFsxNjYzODQwNDE2Ljg3NDI1NTQsIDE5MDgwLCAxLjExMjUwMzc2NzAxMzU0OThdLCBbMTY2Mzg0MDQxNi45OTUyNjEyLCAxOTA4OSwgMS4xMjMyMzEyOTE3NzA5MzVdLCBbMTY2Mzg0MDQxNy4yMzY4NzUzLCAxOTEwNywgMS4xNzI3MzQ4NTY2MDU1Mjk4XSwgWzE2NjM4NDA0MTcuMzU2MjQxNywgMTkxMTYsIDEuMTMwOTc1MjQ2NDI5NDQzNF0sIFsxNjYzODQwNDE3LjQ1OTA0MDksIDE5MTI1LCAxLjExNjY2NDE3MTIxODg3Ml0sIFsxNjYzODQwNDE3LjgzNTIxMTUsIDE5MTUyLCAxLjEzNTMwODYyMzMxMzkwMzhdLCBbMTY2Mzg0MDQxOC41ODUwOTgsIDE5MjE1LCAxLjE2NDYxOTY4NDIxOTM2MDRdLCBbMTY2Mzg0MDQxOC42ODE2MTc1LCAxOTIyNCwgMS4xNDM5OTI1NDMyMjA1Ml0sIFsxNjYzODQwNDE4LjgyNzQxMzMsIDE5MjMzLCAxLjE2MjgzNTU5Nzk5MTk0MzRdLCBbMTY2Mzg0MDQxOS4xNDY5Mzg2LCAxOTI2MCwgMS4xNDYxNjIxNTIyOTAzNDQyXSwgWzE2NjM4NDA0MTkuNTM0OTQ1LCAxOTI5NiwgMS4xNDU1OTU0MzEzMjc4MTk4XSwgWzE2NjM4NDA0MjAuNDU4NDg1NiwgMTkzNTAsIDEuMTgwOTE0NTIxMjE3MzQ2Ml0sIFsxNjYzODQwNDIwLjU4MDMwNjUsIDE5MzU5LCAxLjEyMTEzMzQ0NjY5MzQyMDRdLCBbMTY2Mzg0MDQyMS4wMDQ5MTg4LCAxOTM5NSwgMS4xMTE0NzE0MTQ1NjYwNF0sIFsxNjYzODQwNDIxLjEwMjEwMDgsIDE5NDA0LCAxLjEwODQxMjM4NDk4Njg3NzRdLCBbMTY2Mzg0MDQyMS41OTY2MzM3LCAxOTQ0MCwgMS4xNzAzOTIzOTQwNjU4NTddLCBbMTY2Mzg0MDQyMS42ODY5OTI2LCAxOTQ0OSwgMS4xNDEyODE5NjIzOTQ3MTQ0XSwgWzE2NjM4NDA0MjEuNzk5OTMxLCAxOTQ1OCwgMS4xNTQzNDMyNDc0MTM2MzUzXSwgWzE2NjM4NDA0MjEuOTA5ODIyNywgMTk0NjcsIDEuMTU0MjMyNTAxOTgzNjQyNl0sIFsxNjYzODQwNDIyLjczOTUyOTEsIDE5NTMwLCAxLjEyNjYxNDQ1MTQwODM4NjJdLCBbMTY2Mzg0MDQyMy4yNDU5NTI4LCAxOTU2NiwgMS4yMjE5MTQ3NjgyMTg5OTQxXSwgWzE2NjM4NDA0MjMuNDg1NzYzOCwgMTk1ODQsIDEuMTMxOTMwMjMyMDQ4MDM0N10sIFsxNjYzODQwNDIzLjYwNjcyNjYsIDE5NTkzLCAxLjEwOTEzNTM4OTMyODAwM10sIFsxNjYzODQwNDI0LjMxNTU2OCwgMTk2NTYsIDEuMTM2MTA5OTQ4MTU4MjY0Ml0sIFsxNjYzODQwNDI0LjUwODE1MzQsIDE5Njc0LCAxLjIxMDIyMjEyNTA1MzQwNThdLCBbMTY2Mzg0MDQyNC42ODY0NjEyLCAxOTY5MiwgMS4xNDkxMTQxMzE5Mjc0OTAyXSwgWzE2NjM4NDA0MjQuOTE0NTkxMywgMTk3MTAsIDEuMTc5MTM0OTY0OTQyOTMyMV0sIFsxNjYzODQwNDI1LjQ5NjY0NSwgMTk3NTUsIDEuMTM4OTg2NTg3NTI0NDE0XSwgWzE2NjM4NDA0MjYuMDc5NzQxNywgMTk4MDAsIDEuMTQ2ODA3Nzg5ODAyNTUxM10sIFsxNjYzODQwNDI2LjMyNTcwOSwgMTk4MTgsIDEuMTIzNTE1NjA1OTI2NTEzN10sIFsxNjYzODQwNDI2LjQ0MjIzMzMsIDE5ODI3LCAxLjE0NjIzOTg3Njc0NzEzMTNdLCBbMTY2Mzg0MDQyNi41NTY0MDgyLCAxOTgzNiwgMS4xMTE3ODQxMDA1MzI1MzE3XSwgWzE2NjM4NDA0MjYuODk3NDc3MSwgMTk4NjMsIDEuMTYyMDkzNzU4NTgzMDY4OF0sIFsxNjYzODQwNDI3LjI0MjU2MTMsIDE5ODkwLCAxLjE4MDA5MDA2OTc3MDgxM10sIFsxNjYzODQwNDI3LjQzODg0MiwgMTk5MDgsIDEuMjEzNDEzMDAwMTA2ODExNV0sIFsxNjYzODQwNDI3LjUzMzAxOTUsIDE5OTE3LCAxLjE2MjA4NjEyOTE4ODUzNzZdLCBbMTY2Mzg0MDQyNy43MzEyMjcsIDE5OTM1LCAxLjE1ODc4MTI5MDA1NDMyMTNdLCBbMTY2Mzg0MDQyNy44Mjk0NzAyLCAxOTk0NCwgMS4xMDc2MDE0MDQxOTAwNjM1XSwgWzE2NjM4NDA0MjguNTE0ODgyLCAxOTk5OCwgMS4xNTU4MDYzMDMwMjQyOTJdLCBbMTY2Mzg0MDQyOC45ODIxNjYzLCAyMDAzNCwgMS4xMjEwMDczMjMyNjUwNzU3XSwgWzE2NjM4NDA0MjkuMTYwNzUxOCwgMjAwNTIsIDEuMTY3MDAxMjQ3NDA2MDA1OV0sIFsxNjYzODQwNDMwLjQyNTAxMzgsIDIwMTMzLCAxLjEyMDAwMzkzODY3NDkyNjhdLCBbMTY2Mzg0MDQzMC43MDY3MDEzLCAyMDE2MCwgMS4xMTMxMzY3NjgzNDEwNjQ1XSwgWzE2NjM4NDA0MzEuMDYxNDgyMiwgMjAxODcsIDEuMTU0MzQwNjI0ODA5MjY1MV0sIFsxNjYzODQwNDMxLjMyNTgxMjgsIDIwMjA1LCAxLjE3MDA2ODk3OTI2MzMwNTddLCBbMTY2Mzg0MDQzMi40MjMyMTYsIDIwMjk1LCAxLjEzMDk2MjYxMDI0NDc1MV0sIFsxNjYzODQwNDMyLjgwMzMyNiwgMjAzMjIsIDEuMTA3NTE0MDIzNzgwODIyOF0sIFsxNjYzODQwNDMyLjkyMjIwNzYsIDIwMzMxLCAxLjE0NDM1MzM4OTczOTk5MDJdLCBbMTY2Mzg0MDQzMy42NTEzMDIsIDIwMzg1LCAxLjEzNDQ4MjAyNjEwMDE1ODddLCBbMTY2Mzg0MDQzMy45MzA5NjM1LCAyMDQxMiwgMS4xNDg1NDMyMzg2Mzk4MzE1XSwgWzE2NjM4NDA0MzQuODc5NDE0NiwgMjA0OTMsIDEuMTMzODAwNTA2NTkxNzk2OV0sIFsxNjYzODQwNDM1LjMwODAyODcsIDIwNTI5LCAxLjExOTE5OTUxNDM4OTAzOF0sIFsxNjYzODQwNDM1LjQzNTk4OCwgMjA1MzgsIDEuMTA1NTg1ODEzNTIyMzM4OV0sIFsxNjYzODQwNDM1Ljg1Njg5MDIsIDIwNTc0LCAxLjIwMjE4NDQzODcwNTQ0NDNdLCBbMTY2Mzg0MDQzNi40MzkzNjk0LCAyMDYyOCwgMS4yODYyMTYzNzgyMTE5NzVdLCBbMTY2Mzg0MDQzNi41MzM1MzgzLCAyMDYzNywgMS4xNzg5OTgxMTI2Nzg1Mjc4XSwgWzE2NjM4NDA0MzYuNjQ4ODI3LCAyMDY0NiwgMS4xODczMzc1MTc3MzgzNDIzXSwgWzE2NjM4NDA0MzcuMzI4ODY1MywgMjA3MDksIDEuMTI1MTIzNzM5MjQyNTUzN10sIFsxNjYzODQwNDM3LjkxNzQ3MjgsIDIwNzU0LCAxLjEwMDA5NjM0NDk0NzgxNV0sIFsxNjYzODQwNDM4LjA1ODAyMzUsIDIwNzYzLCAxLjEyNjA0MTg4OTE5MDY3MzhdLCBbMTY2Mzg0MDQzOC4xOTczODQ0LCAyMDc3MiwgMS4xMzk1NDI2OTg4NjAxNjg1XSwgWzE2NjM4NDA0MzguNDI3NjU4OCwgMjA3OTAsIDEuMTMwNjA2ODg5NzI0NzMxNF0sIFsxNjYzODQwNDM4LjY1NzQ0MiwgMjA4MDgsIDEuMjYxODc0NDM3MzMyMTUzM10sIFsxNjYzODQwNDM5LjA4NTc1MzcsIDIwODQ0LCAxLjEyMTgwODUyODkwMDE0NjVdLCBbMTY2Mzg0MDQzOS4xODE5OTAxLCAyMDg1MywgMS4xMzAwNjY3NTI0MzM3NzY5XSwgWzE2NjM4NDA0MzkuNDYyMDM4NSwgMjA4ODAsIDEuMTI1MDcyNDc5MjQ4MDQ2OV0sIFsxNjYzODQwNDQwLjEzMjI2ODQsIDIwOTI1LCAxLjEzOTg2MTM0NTI5MTEzNzddLCBbMTY2Mzg0MDQ0MC42OTk1NDIzLCAyMDk3OSwgMS4xNTU0MDc2NjcxNjAwMzQyXSwgWzE2NjM4NDA0NDAuOTI0ODM3LCAyMDk5NywgMS4xODM0NjIzODEzNjI5MTVdLCBbMTY2Mzg0MDQ0MS4yNDIzNjQsIDIxMDI0LCAxLjE0NjY3Njg5ODAwMjYyNDVdLCBbMTY2Mzg0MDQ0MS43NTY5NjMzLCAyMTA2OSwgMS4xNjY2MzU3NTE3MjQyNDMyXSwgWzE2NjM4NDA0NDEuOTM4NzA0LCAyMTA4NywgMS4xNDY1Mjg0ODI0MzcxMzM4XSwgWzE2NjM4NDA0NDIuMDU0MTEwNSwgMjEwOTYsIDEuMTI3OTk3Mzk4Mzc2NDY0OF0sIFsxNjYzODQwNDQyLjE0MzYyMSwgMjExMDUsIDEuMTI3NDgyODkxMDgyNzYzN10sIFsxNjYzODQwNDQyLjMzMDQ3ODcsIDIxMTIzLCAxLjE1MTA4NjMzMDQxMzgxODRdLCBbMTY2Mzg0MDQ0Mi40MjA5NzMzLCAyMTEzMiwgMS4xMDU5NzQxOTczODc2OTUzXSwgWzE2NjM4NDA0NDIuNTA5MzE0OCwgMjExNDEsIDEuMTMyMDAwNjg0NzM4MTU5Ml0sIFsxNjYzODQwNDQyLjc5NTI4NDcsIDIxMTY4LCAxLjE0OTE0MTY2OTI3MzM3NjVdLCBbMTY2Mzg0MDQ0Mi45MDU2MDQ0LCAyMTE3NywgMS4xMDY0Njk4Njk2MTM2NDc1XSwgWzE2NjM4NDA0NDMuMDE5MDcyMywgMjExODYsIDEuMDk1MDY3NjIwMjc3NDA0OF0sIFsxNjYzODQwNDQzLjU3NzQyNjIsIDIxMjIyLCAxLjE1OTY5ODEyODcwMDI1NjNdLCBbMTY2Mzg0MDQ0My43OTM3OTgsIDIxMjQwLCAxLjE1MjIxMjk3NzQwOTM2MjhdLCBbMTY2Mzg0MDQ0NC4xNDQxMzU3LCAyMTI2NywgMS4xMjE3MTEyNTQxMTk4NzNdLCBbMTY2Mzg0MDQ0NC41MDYxNzEsIDIxMjk0LCAxLjE2NTI1MTAxNjYxNjgyMTNdLCBbMTY2Mzg0MDQ0NC44NzY4ODcsIDIxMzIxLCAxLjE3NjA4MjQ5MTg3NDY5NDhdLCBbMTY2Mzg0MDQ0NS4yNDAwNywgMjEzNDgsIDEuMTE3MTM0MjEzNDQ3NTcwOF0sIFsxNjYzODQwNDQ1LjQ1ODY3NSwgMjEzNjYsIDEuMTIzMzMzMDk2NTA0MjExNF0sIFsxNjYzODQwNDQ2LjExMDU3MTksIDIxNDExLCAxLjE4OTM3NTk5NjU4OTY2MDZdLCBbMTY2Mzg0MDQ0Ni43ODg1MjU4LCAyMTQ2NSwgMS4xMzM0NjgwMzE4ODMyMzk3XSwgWzE2NjM4NDA0NDcuNDE4MDE0LCAyMTUxMCwgMS4xMzk1OTgxMzExNzk4MDk2XSwgWzE2NjM4NDA0NDcuNjc0MDg4NywgMjE1MjgsIDEuMTI4OTkxODQyMjY5ODk3NV0sIFsxNjYzODQwNDQ3LjkxMDIxMDYsIDIxNTQ2LCAxLjA5OTM4OTA3NjIzMjkxMDJdLCBbMTY2Mzg0MDQ0OC4wMzMzMzgzLCAyMTU1NSwgMS4xMTU2NjczNDMxMzk2NDg0XSwgWzE2NjM4NDA0NDguMTQ3NTI4MiwgMjE1NjQsIDEuMTEzNTk0MjkzNTk0MzYwNF0sIFsxNjYzODQwNDQ4LjI1MTc1NzEsIDIxNTczLCAxLjEyOTM3OTg2ODUwNzM4NTNdLCBbMTY2Mzg0MDQ0OC4zODIyMzI0LCAyMTU4MiwgMS4xNTMwNDYzNjk1NTI2MTIzXSwgWzE2NjM4NDA0NDguNTI1MDIyMywgMjE1OTEsIDEuMTMwMzk2NDg1MzI4Njc0M10sIFsxNjYzODQwNDQ5Ljk0NjY0NjIsIDIxNjgxLCAxLjIxMjY1ODQwNTMwMzk1NV0sIFsxNjYzODQwNDUwLjQwNTI1NzUsIDIxNzE3LCAxLjEyMTQyMTkzMzE3NDEzMzNdLCBbMTY2Mzg0MDQ1MC43OTkyOTYxLCAyMTc0NCwgMS4xMDcwMDA0NzAxNjE0MzhdLCBbMTY2Mzg0MDQ1MS4yODkwNzU2LCAyMTc4MCwgMS4xNTg1MDAxOTQ1NDk1NjA1XSwgWzE2NjM4NDA0NTIuMjMyMzM5MSwgMjE4NjEsIDEuMTQzNDQxNjc3MDkzNTA1OV0sIFsxNjYzODQwNDUyLjUxNzM1NzgsIDIxODg4LCAxLjEyNTExMzg0NDg3MTUyMV0sIFsxNjYzODQwNDUyLjk4NTU5MywgMjE5MjQsIDEuMTQ5MTMzOTIwNjY5NTU1N10sIFsxNjYzODQwNDUzLjEwMTU0NTYsIDIxOTMzLCAxLjE2Mzg3NTEwMjk5NjgyNjJdLCBbMTY2Mzg0MDQ1My4zNDUwMjA4LCAyMTk1MSwgMS4xNzcwNjY1NjQ1NTk5MzY1XSwgWzE2NjM4NDA0NTMuNDQzMjI0LCAyMTk2MCwgMS4xNTA4MDY2NjU0MjA1MzIyXSwgWzE2NjM4NDA0NTMuNjYyNzM3LCAyMTk3OCwgMS4xOTAyNDk4MDA2ODIwNjc5XSwgWzE2NjM4NDA0NTMuNzU3MDQ4MSwgMjE5ODcsIDEuMTU1MTU4NzU4MTYzNDUyMV0sIFsxNjYzODQwNDU0LjM5NzUxMTIsIDIyMDQxLCAxLjE1NzQyMDE1ODM4NjIzMDVdLCBbMTY2Mzg0MDQ1NS4xMDQ1ODc2LCAyMjA5NSwgMS4xMzY2MDk1NTQyOTA3NzE1XSwgWzE2NjM4NDA0NTUuNTU2MzY0MywgMjIxMzEsIDEuMTA5Mjk3Mzk0NzUyNTAyNF0sIFsxNjYzODQwNDU1Ljk5MDU1NjcsIDIyMTY3LCAxLjExMTA0Nzc0NDc1MDk3NjZdLCBbMTY2Mzg0MDQ1Ni4xNzYxOTYsIDIyMTg1LCAxLjEyNzA4NDczMjA1NTY2NF0sIFsxNjYzODQwNDU2LjI4NTkwOCwgMjIxOTQsIDEuMTE1MjA2OTU2ODYzNDAzM10sIFsxNjYzODQwNDU2LjUzMTI5MDUsIDIyMjEyLCAxLjEzODYwMTQyMjMwOTg3NTVdLCBbMTY2Mzg0MDQ1Ni43OTgzNzE2LCAyMjIzMCwgMS4xMTI0OTUxODM5NDQ3MDIxXSwgWzE2NjM4NDA0NTcuMjg5MjQ0NCwgMjIyNjYsIDEuMTQ1MjQyNTcxODMwNzQ5NV0sIFsxNjYzODQwNDU3LjUwNzQ4NzUsIDIyMjg0LCAxLjEwNjQ3MzMyNjY4MzA0NDRdLCBbMTY2Mzg0MDQ1Ny43MTcyNjY4LCAyMjMwMiwgMS4xMTg1Nzc0ODAzMTYxNjJdLCBbMTY2Mzg0MDQ1OC40Mzg0NzIzLCAyMjM2NSwgMS4xMTE2ODIwNTczODA2NzYzXSwgWzE2NjM4NDA0NTguNTMwMjA3MiwgMjIzNzQsIDEuMTAxNDk1NzQyNzk3ODUxNl0sIFsxNjYzODQwNDU4LjkzNzA3OTcsIDIyNDEwLCAxLjE4MTI5NTk5MDk0MzkwODddLCBbMTY2Mzg0MDQ1OS42MTU0NzM3LCAyMjQ0NiwgMS4xMjU1OTUzMzExOTIwMTY2XSwgWzE2NjM4NDA0NTkuOTUxMzQ5NSwgMjI0NzMsIDEuMTYyNzYyMDQ1ODYwMjkwNV0sIFsxNjYzODQwNDYwLjI2MTA4ODQsIDIyNDkxLCAxLjE0MzkzNjM5NTY0NTE0MTZdLCBbMTY2Mzg0MDQ2MC4zNzQ5OTg2LCAyMjUwMCwgMS4xMTkwODU1NTAzMDgyMjc1XSwgWzE2NjM4NDA0NjAuNDg2ODQ0LCAyMjUwOSwgMS4xNjQ3MzQzNjM1NTU5MDgyXSwgWzE2NjM4NDA0NjAuNjE5OTUyNCwgMjI1MTgsIDEuMTcwNDU1NDU1NzgwMDI5M10sIFsxNjYzODQwNDYwLjgyMDU0OTcsIDIyNTM2LCAxLjE0MjE1NTA1MTIzMTM4NDNdLCBbMTY2Mzg0MDQ2MS4wMjk2NjcxLCAyMjU1NCwgMS4xODUwNDczODgwNzY3ODIyXSwgWzE2NjM4NDA0NjEuMTU2OTk2LCAyMjU2MywgMS4xNTA1MzE1MzAzODAyNDldLCBbMTY2Mzg0MDQ2MS40MzAyNTYsIDIyNTgxLCAxLjEwNjAxMjIyNTE1MTA2Ml0sIFsxNjYzODQwNDYxLjY1MzUwMTMsIDIyNTk5LCAxLjE0NDI1NDgwMzY1NzUzMTddLCBbMTY2Mzg0MDQ2MS45OTk5MzA0LCAyMjYyNiwgMS4xMDQ5NjA3OTkyMTcyMjQxXSwgWzE2NjM4NDA0NjIuMjI4MTUxMywgMjI2NDQsIDEuMjQ5MTIwODMxNDg5NTYzXSwgWzE2NjM4NDA0NjIuNDQ5Njg3LCAyMjY2MiwgMS4xNTk5NTM4MzI2MjYzNDI4XSwgWzE2NjM4NDA0NjIuNTU1NDg2MiwgMjI2NzEsIDEuMTIxNzM1NDUzNjA1NjUxOV0sIFsxNjYzODQwNDYyLjY2NzQ4NSwgMjI2ODAsIDEuMTc4NjkxMDI5NTQ4NjQ1XSwgWzE2NjM4NDA0NjIuODkwMjk4MSwgMjI2OTgsIDEuMTY2NjI4NTk5MTY2ODcwMV0sIFsxNjYzODQwNDYzLjEzNzg4MDYsIDIyNzE2LCAxLjEyNzg3Mzc3ODM0MzIwMDddLCBbMTY2Mzg0MDQ2My42MTA4ODg1LCAyMjc2MSwgMS4xMTQ5NzAzMjY0MjM2NDVdLCBbMTY2Mzg0MDQ2My43OTM1ODk2LCAyMjc3OSwgMS4xMjQ5MzYzNDIyMzkzNzk5XSwgWzE2NjM4NDA0NjMuODgzMDkyNCwgMjI3ODgsIDEuMTMyMDA5MDI5Mzg4NDI3N10sIFsxNjYzODQwNDY0LjA4NjgxMiwgMjI4MDYsIDEuMTE5NjQxNzgwODUzMjcxNV0sIFsxNjYzODQwNDY0LjU0ODgyNjUsIDIyODUxLCAxLjIwNDYxMTY1OTA0OTk4NzhdLCBbMTY2Mzg0MDQ2NC43MjgyOTI1LCAyMjg2OSwgMS4xNTQyMTY4ODU1NjY3MTE0XSwgWzE2NjM4NDA0NjQuOTA4ODY0NSwgMjI4ODcsIDEuMTU4MDk3NzQzOTg4MDM3XSwgWzE2NjM4NDA0NjUuMDA3OTM1NSwgMjI4OTYsIDEuMTgyMTMzNzkzODMwODcxNl0sIFsxNjYzODQwNDY1LjMwNTU4MjMsIDIyOTIzLCAxLjEyMjY1NDMxODgwOTUwOTNdLCBbMTY2Mzg0MDQ2Ni4zODM5ODcyLCAyMjk5NSwgMS4xNTI2OTY2MDk0OTcwNzAzXSwgWzE2NjM4NDA0NjYuNDkxMTc4LCAyMzAwNCwgMS4xMjY5MDczNDg2MzI4MTI1XSwgWzE2NjM4NDA0NjcuMDM2NTk2LCAyMzA0OSwgMS4xMDE3MTc3MTA0OTQ5OTUxXSwgWzE2NjM4NDA0NjcuNTkxNDcxNCwgMjMwOTQsIDEuMTAyOTY0MTYyODI2NTM4XSwgWzE2NjM4NDA0NjcuNzE2OTYwMiwgMjMxMDMsIDEuMTI0MTY4MTU3NTc3NTE0Nl0sIFsxNjYzODQwNDY3Ljk2NTA2NjQsIDIzMTIxLCAxLjEyODk0MjAxMjc4Njg2NTJdLCBbMTY2Mzg0MDQ2OC4zMTQ4NzA2LCAyMzE0OCwgMS4xMTYxMDM0MTA3MjA4MjUyXSwgWzE2NjM4NDA0NjguNTQwMTA1LCAyMzE2NiwgMS4xMTc0NDU5NDU3Mzk3NDZdLCBbMTY2Mzg0MDQ2OC43NzE0NzI3LCAyMzE4NCwgMS4xMDc5MTE4MjUxODAwNTM3XSwgWzE2NjM4NDA0NjkuMDAxOTA0LCAyMzIwMiwgMS4xMTMxMzQwMjY1Mjc0MDQ4XSwgWzE2NjM4NDA0NjkuMTI4MzgyLCAyMzIxMSwgMS4xMjM4NTI4NDkwMDY2NTI4XSwgWzE2NjM4NDA0NjkuOTQ1OTYwOCwgMjMyNTYsIDEuMTc0Mzk3NTg3Nzc2MTg0XSwgWzE2NjM4NDA0NzAuMDY4Mjk3LCAyMzI2NSwgMS4yNjAwNjAxOTExNTQ0OF0sIFsxNjYzODQwNDcwLjIwNjQ4ODgsIDIzMjc0LCAxLjI2Nzg3NTkwOTgwNTI5NzldLCBbMTY2Mzg0MDQ3MC41OTQyNTI4LCAyMzMwMSwgMS4xNzU4MTM3OTQxMzYwNDc0XSwgWzE2NjM4NDA0NzAuNzA5MjA1MiwgMjMzMTAsIDEuMTE2ODEwNjc5NDM1NzNdLCBbMTY2Mzg0MDQ3MS4wMTYwOTA0LCAyMzMzNywgMS4xMTYxMTQyNTg3NjYxNzQzXSwgWzE2NjM4NDA0NzEuNjU5ODI1OCwgMjMzOTEsIDEuMTE0ODQyMjk1NjQ2NjY3NV0sIFsxNjYzODQwNDcxLjc1NzI1OTQsIDIzNDAwLCAxLjEwMzAyNTU1NTYxMDY1NjddLCBbMTY2Mzg0MDQ3Mi4wMDQ0ODgsIDIzNDE4LCAxLjEwNDQ5ODAyODc1NTE4OF0sIFsxNjYzODQwNDcyLjIwNTA1MSwgMjM0MzYsIDEuMTM0MTAzNTM2NjA1ODM1XSwgWzE2NjM4NDA0NzIuMzk3NzcxNiwgMjM0NTQsIDEuMjEzNTkwMzgzNTI5NjYzXSwgWzE2NjM4NDA0NzIuNTIxNzYwMiwgMjM0NjMsIDEuMTc1MTcyMzI4OTQ4OTc0Nl0sIFsxNjYzODQwNDczLjY1MjUzODgsIDIzNTYyLCAxLjIwNTgzNDE1MDMxNDMzMV0sIFsxNjYzODQwNDczLjc0OTE1MjQsIDIzNTcxLCAxLjE0MjQ1MDgwOTQ3ODc1OThdLCBbMTY2Mzg0MDQ3My44NDAwMjQyLCAyMzU4MCwgMS4xMjczNjE0MTY4MTY3MTE0XSwgWzE2NjM4NDA0NzQuMTU4OTMyNCwgMjM2MDcsIDEuMTUyMDc1ODg2NzI2Mzc5NF0sIFsxNjYzODQwNDc0LjY3NjQ2NSwgMjM2NTIsIDEuMTY3MTAwNDI5NTM0OTEyXSwgWzE2NjM4NDA0NzQuNzc4ODQ0OCwgMjM2NjEsIDEuMTA5NDAwMDMzOTUwODA1N10sIFsxNjYzODQwNDc1LjE4NTIxMTIsIDIzNjk3LCAxLjE4MTkzNDk1MjczNTkwMDldXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_10-14-52_17ae77f8abe2&tag=Loss%2Ftrain":{"data":"W1sxNjYzODQxNjkyLjYxOTMxMDEsIDksIDEwNC4yMjE1NjUyNDY1ODIwM10sIFsxNjYzODQxNjkyLjk4MTMxOCwgMzYsIDM1LjEyOTE4MDkwODIwMzEyNV0sIFsxNjYzODQxNjkzLjA5ODMwODMsIDQ1LCAzMC44MzY1MjY4NzA3Mjc1NF0sIFsxNjYzODQxNjkzLjgyMDgxODcsIDk5LCAxMy4yNzcxMjA1OTAyMDk5NjFdLCBbMTY2Mzg0MTY5My45MjgyNzM3LCAxMDgsIDEwLjQ3MDA4NTE0NDA0Mjk2OV0sIFsxNjYzODQxNjk0LjI4Njk4NzUsIDEzNSwgNi40NjQwMDgzMzEyOTg4MjhdLCBbMTY2Mzg0MTY5NC40MDcwMzQ0LCAxNDQsIDYuMjEzMDMxNzY4Nzk4ODI4XSwgWzE2NjM4NDE2OTQuNzQ3ODg1NSwgMTcxLCA2LjA0ODQ5NTI5MjY2MzU3NF0sIFsxNjYzODQxNjk0Ljg2NDE3MTMsIDE4MCwgNS44OTkzMDA1NzUyNTYzNDhdLCBbMTY2Mzg0MTY5NC45NzMyMjAzLCAxODksIDUuOTg1NDQ1NDk5NDIwMTY2XSwgWzE2NjM4NDE2OTUuMjExMDc3NywgMjA3LCA1Ljc3NDc0NjQxNzk5OTI2OF0sIFsxNjYzODQxNjk1LjMxNTY0MjYsIDIxNiwgNS42OTAzMDQyNzkzMjczOTNdLCBbMTY2Mzg0MTY5NS42MjE5MjU4LCAyNDMsIDUuNTk0MDg0NzM5Njg1MDU5XSwgWzE2NjM4NDE2OTUuNzE5MzQ3LCAyNTIsIDUuNjA1MTc4MzU2MTcwNjU0XSwgWzE2NjM4NDE2OTYuNDMzNTczLCAzMDYsIDUuMzMzNTQ2MTYxNjUxNjExXSwgWzE2NjM4NDE2OTYuOTc0MDY3LCAzMzMsIDUuMDU2MzI5NzI3MTcyODUyXSwgWzE2NjM4NDE2OTcuMTAyODYyNiwgMzQyLCA1LjA0Njk0NTU3MTg5OTQxNF0sIFsxNjYzODQxNjk3LjI0MDM1NDMsIDM1MSwgNS4wNjMyNzE5OTkzNTkxMzFdLCBbMTY2Mzg0MTY5Ny4zNjE1MTk4LCAzNjAsIDQuOTg4MDUxNDE0NDg5NzQ2XSwgWzE2NjM4NDE2OTcuNDgwNDg4NSwgMzY5LCA0LjkzODcyNzg1NTY4MjM3M10sIFsxNjYzODQxNjk4LjM5NjU2MTYsIDQzMiwgNC42MjY5MDIxMDM0MjQwNzJdLCBbMTY2Mzg0MTY5OC41MzUxNjMsIDQ0MSwgNC42MTUxOTMzNjcwMDQzOTQ1XSwgWzE2NjM4NDE2OTguNjcxOTM1MywgNDUwLCA0LjY2ODgzMTgyNTI1NjM0OF0sIFsxNjYzODQxNjk4LjkxNzAwMzIsIDQ2OCwgNC41MjE3NzUyNDU2NjY1MDRdLCBbMTY2Mzg0MTY5OS4wNTcyNjI0LCA0NzcsIDQuNjA3NTc0NDYyODkwNjI1XSwgWzE2NjM4NDE2OTkuMjk5MjMwNiwgNDk1LCA0LjQyNzk5NDI1MTI1MTIyMV0sIFsxNjYzODQxNjk5LjY1NDI0NTksIDUyMiwgNC40NjgyNTc0MjcyMTU1NzZdLCBbMTY2Mzg0MTY5OS45ODkxNTgsIDU0OSwgNC4yNzgyNTIxMjQ3ODYzNzddLCBbMTY2Mzg0MTcwMC4xMDEwNTc1LCA1NTgsIDQuMzEwOTIyMTQ1ODQzNTA2XSwgWzE2NjM4NDE3MDAuMjM0NDEzOSwgNTY3LCA0LjIzMjc3NTIxMTMzNDIyODVdLCBbMTY2Mzg0MTcwMC4zNTE1OTYsIDU3NiwgNC4wODIzMDU0MzEzNjU5NjddLCBbMTY2Mzg0MTcwMC41ODU1NzM0LCA1OTQsIDQuMDg3OTk0MDk4NjYzMzNdLCBbMTY2Mzg0MTcwMC43MTA4NTc2LCA2MDMsIDQuMDQwMTY1NDI0MzQ2OTI0XSwgWzE2NjM4NDE3MDAuODQyMjMxMywgNjEyLCA0LjAxNjQ2MjMyNjA0OTgwNV0sIFsxNjYzODQxNzAwLjk0OTAxMSwgNjIxLCAzLjk3Mjc2Njg3NjIyMDcwM10sIFsxNjYzODQxNzAxLjE4NjgwMzgsIDYzOSwgMy45MjQ0MjUxMjUxMjIwNzAzXSwgWzE2NjM4NDE3MDEuMzEwNDMzLCA2NDgsIDMuODY4OTI3NzE3MjA4ODYyM10sIFsxNjYzODQxNzAxLjk2Mjk2NjcsIDcwMiwgMy43MTQwMzI4ODg0MTI0NzU2XSwgWzE2NjM4NDE3MDIuMTYyMTg5NSwgNzIwLCAzLjYwNTkwMzYyNTQ4ODI4MTJdLCBbMTY2Mzg0MTcwMi4yNTc1ODMsIDcyOSwgMy41OTc1Njg3NTAzODE0Njk3XSwgWzE2NjM4NDE3MDIuNDQ2MjI4NSwgNzQ3LCAzLjUxMzM3NzY2NjQ3MzM4ODddLCBbMTY2Mzg0MTcwMi44NTIxODQzLCA3NzQsIDMuNDczMjA2OTk2OTE3NzI0Nl0sIFsxNjYzODQxNzAzLjMwNTgxMzYsIDgxMCwgMy4zMzMzODA0NjA3MzkxMzU3XSwgWzE2NjM4NDE3MDMuNDIzNTUwNiwgODE5LCAzLjQxMzg0NjI1NDM0ODc1NV0sIFsxNjYzODQxNzAzLjk4MDkzNzIsIDg2NCwgMy4zMDgzMzE3Mjc5ODE1Njc0XSwgWzE2NjM4NDE3MDQuMzc5MDEsIDkwMCwgMy4xMTMzNzEzNzIyMjI5MDA0XSwgWzE2NjM4NDE3MDQuNDg5OTIyMywgOTA5LCAzLjA3MjI5MDE4MjExMzY0NzVdLCBbMTY2Mzg0MTcwNC43OTE2NDgxLCA5MzYsIDMuMDk0MDE5MTc0NTc1ODA1N10sIFsxNjYzODQxNzA1LjE0NTgzNDcsIDk2MywgMy4wMDg2MzA5OTA5ODIwNTU3XSwgWzE2NjM4NDE3MDUuMjkxNjUxMiwgOTcyLCAzLjAxNDQ1MDU1MDA3OTM0NTddLCBbMTY2Mzg0MTcwNS41NTkxNTg4LCA5OTAsIDIuOTQwODk4MTgwMDA3OTM0Nl0sIFsxNjYzODQxNzA2LjExOTU2NzYsIDEwMzUsIDIuNzY5NTgwODQxMDY0NDUzXSwgWzE2NjM4NDE3MDYuMzA5MDAwNywgMTA1MywgMi43MTc0Mzg2OTc4MTQ5NDE0XSwgWzE2NjM4NDE3MDYuODAzNDU1NiwgMTA5OCwgMi43NTQxNTc3ODE2MDA5NTJdLCBbMTY2Mzg0MTcwNy40NTQxNTIzLCAxMTM0LCAyLjU5NjQ5ODcyNzc5ODQ2Ml0sIFsxNjYzODQxNzA3LjYwNjk0MjQsIDExNDMsIDIuNjEwOTMyODI2OTk1ODQ5Nl0sIFsxNjYzODQxNzA3Ljg2MzU2MzMsIDExNjEsIDIuNTk1MTYxNjc2NDA2ODYwNF0sIFsxNjYzODQxNzA4LjEwNzA3NiwgMTE3OSwgMi40OTg5NTA3MTk4MzMzNzRdLCBbMTY2Mzg0MTcwOC4zMjE5MTE2LCAxMTg4LCAyLjUxODg1MDU2NDk1NjY2NV0sIFsxNjYzODQxNzA4LjQ0MzY5MTUsIDExOTcsIDIuNDkwOTk1NjQ1NTIzMDcxM10sIFsxNjYzODQxNzA4LjkyNDg5ODQsIDEyMzMsIDIuNDM1OTkzNjcxNDE3MjM2M10sIFsxNjYzODQxNzA5LjAyNjQ3NzgsIDEyNDIsIDIuNDY5MjM2MTM1NDgyNzg4XSwgWzE2NjM4NDE3MDkuNjU0MzY5NCwgMTI5NiwgMi4zNDM5MTQ5ODU2NTY3MzgzXSwgWzE2NjM4NDE3MDkuNzY0MzIwNCwgMTMwNSwgMi40MDE0NDQ5MTE5NTY3ODddLCBbMTY2Mzg0MTcwOS45NTQ1MTUyLCAxMzIzLCAyLjM2MzUyNTg2NzQ2MjE1OF0sIFsxNjYzODQxNzEwLjA1MTY5NzcsIDEzMzIsIDIuMjgxMTcwODQ1MDMxNzM4M10sIFsxNjYzODQxNzEwLjM0MDgyOSwgMTM1OSwgMi4yODA0NDUzMzcyOTU1MzIyXSwgWzE2NjM4NDE3MTEuMDIxOTYsIDE0MjIsIDIuMTk4NjU2MDgyMTUzMzIwM10sIFsxNjYzODQxNzExLjIwOTk0MDIsIDE0NDAsIDIuMjM2OTYxNjAzMTY0NjczXSwgWzE2NjM4NDE3MTEuMzA1MDQ5NCwgMTQ0OSwgMi4yMjk4MjQwNjYxNjIxMDk0XSwgWzE2NjM4NDE3MTEuNDkyNzY1LCAxNDY3LCAyLjIzNDc3NTA2NjM3NTczMjRdLCBbMTY2Mzg0MTcxMS42ODc0NDIsIDE0ODUsIDIuMjMzNTcyNDgzMDYyNzQ0XSwgWzE2NjM4NDE3MTIuMjgwOTA1NywgMTUzOSwgMi4xODM5NDQ5NDA1NjcwMTY2XSwgWzE2NjM4NDE3MTIuMzc2MDU2LCAxNTQ4LCAyLjIwMzE3NjAyMTU3NTkyNzddLCBbMTY2Mzg0MTcxMi40ODI4MjkzLCAxNTU3LCAyLjE1NTk3MjQ4MDc3MzkyNl0sIFsxNjYzODQxNzEyLjc5NDY4OTIsIDE1ODQsIDIuMTI1OTgxODA3NzA4NzQwMl0sIFsxNjYzODQxNzEyLjk0NjA3NTcsIDE1OTMsIDIuMTU4NDYzOTU0OTI1NTM3XSwgWzE2NjM4NDE3MTMuMDY1MTAxNiwgMTYwMiwgMi4xNTc1MTcxOTQ3NDc5MjVdLCBbMTY2Mzg0MTcxMy4xNzQ3NTgsIDE2MTEsIDIuMDk1NzQzNjU2MTU4NDQ3M10sIFsxNjYzODQxNzEzLjM2Mjc1OTQsIDE2MjksIDIuMTI3NDczODMxMTc2NzU4XSwgWzE2NjM4NDE3MTMuNDU3NjUxNiwgMTYzOCwgMi4xMzk1MzU2NjU1MTIwODVdLCBbMTY2Mzg0MTcxMy43NjQ1MzIzLCAxNjY1LCAyLjA5NjkyMzExMjg2OTI2MjddLCBbMTY2Mzg0MTcxMy44NjQ3NzMsIDE2NzQsIDIuMDY1MTU3NjUxOTAxMjQ1XSwgWzE2NjM4NDE3MTMuOTU2MDMyMywgMTY4MywgMi4wODgxODkzNjM0Nzk2MTQzXSwgWzE2NjM4NDE3MTQuMjQ3NjEzNCwgMTcxMCwgMi4xMDIzNjY5MjQyODU4ODg3XSwgWzE2NjM4NDE3MTQuMzUzMTE0LCAxNzE5LCAyLjA2MDc4ODg2OTg1Nzc4OF0sIFsxNjYzODQxNzE0LjQ1MDkyMTMsIDE3MjgsIDIuMDY2MTcwNjkyNDQzODQ3N10sIFsxNjYzODQxNzE0LjU0Mzc1NywgMTczNywgMi4wMTQ2NDY3Njg1Njk5NDYzXSwgWzE2NjM4NDE3MTQuOTU5NjQ3LCAxNzY0LCAyLjA2MjEwMjU1NjIyODYzNzddLCBbMTY2Mzg0MTcxNS4zMzk5NjY4LCAxODAwLCAxLjk5NzUxMDU1MjQwNjMxMV0sIFsxNjYzODQxNzE1LjQ0Mjg5NiwgMTgwOSwgMS45ODU0MjIxMzQzOTk0MTRdLCBbMTY2Mzg0MTcxNS42NzYyMjI2LCAxODI3LCAyLjAxMjgwMjM2MjQ0MjAxNjZdLCBbMTY2Mzg0MTcxNi4wMzY4NzM4LCAxODM2LCAxLjk5MDk5ODc0NDk2NDU5OTZdLCBbMTY2Mzg0MTcxNi4xNDM3OTU1LCAxODQ1LCAyLjAwNzc1MDUxMTE2OTQzMzZdLCBbMTY2Mzg0MTcxNi4yNDA0NDA0LCAxODU0LCAxLjk1MzA3NDMzNjA1MTk0MV0sIFsxNjYzODQxNzE2LjQzMDUzNTMsIDE4NzIsIDEuOTc2MjA4MjA5OTkxNDU1XSwgWzE2NjM4NDE3MTYuNjY4MDMwMywgMTg5MCwgMS45Njc2MjAyNTM1NjI5MjcyXSwgWzE2NjM4NDE3MTYuODcxMjQ3LCAxOTA4LCAxLjk1MDU0MjkyNjc4ODMzXSwgWzE2NjM4NDE3MTcuMDc0NDQyMSwgMTkyNiwgMS45Njg5Mzk2NjE5Nzk2NzUzXSwgWzE2NjM4NDE3MTcuMjc2OTg0MiwgMTk0NCwgMS45NzgzNTk1ODAwMzk5NzhdLCBbMTY2Mzg0MTcxNy4zNzQwMDM0LCAxOTUzLCAxLjk3NDkzNDgxNjM2MDQ3MzZdLCBbMTY2Mzg0MTcxNy41OTE0NDE2LCAxOTcxLCAxLjk3NjIzMTkzMjY0MDA3NTddLCBbMTY2Mzg0MTcxNy43Mjk0OTg0LCAxOTgwLCAyLjAzNTMyNzY3Mjk1ODM3NF0sIFsxNjYzODQxNzE3Ljg0NTM1NjUsIDE5ODksIDEuOTY0MjIwMTY2MjA2MzU5OV0sIFsxNjYzODQxNzE3Ljk2ODMwMiwgMTk5OCwgMS45Njk2OTQ0OTUyMDExMTA4XSwgWzE2NjM4NDE3MTguMTE3MTM1NSwgMjAwNywgMS45NzgzMjkxODE2NzExNDI2XSwgWzE2NjM4NDE3MTguMzUyMjA0MywgMjAyNSwgMS45ODEyNjUwNjgwNTQxOTkyXSwgWzE2NjM4NDE3MTguNDY1NDE1NSwgMjAzNCwgMi4wMzg3NTQ5NDAwMzI5NTldLCBbMTY2Mzg0MTcxOC45MDgyNTMsIDIwNzAsIDEuODk0OTY0MDk4OTMwMzU4OV0sIFsxNjYzODQxNzE5LjU4NzcyMSwgMjEyNCwgMS44OTIzMTI3NjUxMjE0Nl0sIFsxNjYzODQxNzE5LjgzNTI2NzgsIDIxNDIsIDEuOTE3NjI1Nzg0ODczOTYyNF0sIFsxNjYzODQxNzE5Ljk1NDE4ODMsIDIxNTEsIDEuOTMwODAyODIyMTEzMDM3XSwgWzE2NjM4NDE3MjAuMDc1MzkxNSwgMjE2MCwgMS44OTQxODQ0NzAxNzY2OTY4XSwgWzE2NjM4NDE3MjAuMzAyODQ2LCAyMTc4LCAxLjkxOTg1OTQwOTMzMjI3NTRdLCBbMTY2Mzg0MTcyMC40MTE0MzY2LCAyMTg3LCAxLjkzMDA1MTU2NTE3MDI4OF0sIFsxNjYzODQxNzIwLjYzMzAxMjMsIDIyMDUsIDEuODg4OTgzNDg4MDgyODg1N10sIFsxNjYzODQxNzIwLjczNTczMSwgMjIxNCwgMS44NjY0MTA2MTMwNTk5OTc2XSwgWzE2NjM4NDE3MjAuODI5Njk4OCwgMjIyMywgMS45MDY3Mzc0NDY3ODQ5NzMxXSwgWzE2NjM4NDE3MjAuOTI1NzUsIDIyMzIsIDEuOTM3NzIzMjc4OTk5MzI4Nl0sIFsxNjYzODQxNzIxLjQwMzI2ODgsIDIyNzcsIDEuOTQxNTM0OTk2MDMyNzE0OF0sIFsxNjYzODQxNzIxLjUwNDA3NjIsIDIyODYsIDEuOTU0MzA1MTcxOTY2NTUyN10sIFsxNjYzODQxNzIxLjU5NjI0MzksIDIyOTUsIDEuODY3NDI0NzI2NDg2MjA2XSwgWzE2NjM4NDE3MjEuODg3MTcyNywgMjMyMiwgMS44NTg1NTcyMjQyNzM2ODE2XSwgWzE2NjM4NDE3MjEuOTg2MTk2MywgMjMzMSwgMS44NzA0MTc1OTQ5MDk2NjhdLCBbMTY2Mzg0MTcyMi4wODA4MTA4LCAyMzQwLCAxLjg1OTA4MjIyMTk4NDg2MzNdLCBbMTY2Mzg0MTcyMi4xNzUyMjIsIDIzNDksIDEuODcyODY5NDkxNTc3MTQ4NF0sIFsxNjYzODQxNzIyLjM2NTk4MSwgMjM2NywgMS44NzAyMTM3NDcwMjQ1MzYxXSwgWzE2NjM4NDE3MjMuMTYzOTQyMywgMjQzOSwgMS44MzUwMzAxOTgwOTcyMjldLCBbMTY2Mzg0MTcyMy4yNjAyOTI4LCAyNDQ4LCAxLjg1NDYxMTM5Njc4OTU1MDhdLCBbMTY2Mzg0MTcyMy41NDY4OTYsIDI0NzUsIDEuODM3MjQ5NjM2NjUwMDg1NF0sIFsxNjYzODQxNzIzLjc0MjIyNDcsIDI0OTMsIDEuOTEzMzQxMTY0NTg4OTI4Ml0sIFsxNjYzODQxNzIzLjkyODY3MSwgMjUxMSwgMS44ODIzMTE4MjA5ODM4ODY3XSwgWzE2NjM4NDE3MjQuMTE3NjU1MywgMjUyOSwgMS44NDQ1Mzc5NzM0MDM5MzA3XSwgWzE2NjM4NDE3MjQuMzM1NDc1MiwgMjU0NywgMS44MzMwOTcyMTk0NjcxNjNdLCBbMTY2Mzg0MTcyNC40NDM5Njc2LCAyNTU2LCAxLjgyMjIxMTYyMzE5MTgzMzVdLCBbMTY2Mzg0MTcyNC44NzA2MDQsIDI1NzQsIDEuODA3MDEwNDEyMjE2MTg2NV0sIFsxNjYzODQxNzI1LjA2MDIzMjksIDI1OTIsIDEuNzgzNDU4NzA5NzE2Nzk2OV0sIFsxNjYzODQxNzI1LjE1Njk5NSwgMjYwMSwgMS44NTM5ODQxMTc1MDc5MzQ2XSwgWzE2NjM4NDE3MjUuMzU1NjI2OCwgMjYxOSwgMS43ODI4NjQyMTI5ODk4MDcxXSwgWzE2NjM4NDE3MjUuODUxODEzOCwgMjY2NCwgMS43ODY2MjQxOTMxOTE1MjgzXSwgWzE2NjM4NDE3MjUuOTQ0NTg0NiwgMjY3MywgMS44MDczNTMxMzg5MjM2NDVdLCBbMTY2Mzg0MTcyNi4wNDQ0MDUyLCAyNjgyLCAxLjg3NjgwMDg5NDczNzI0MzddLCBbMTY2Mzg0MTcyNi4xNDMzNTU2LCAyNjkxLCAxLjg2MjAwMzkyMjQ2MjQ2MzRdLCBbMTY2Mzg0MTcyNi45NTAwOCwgMjc2MywgMS44MjUwNjA2MDYwMDI4MDc2XSwgWzE2NjM4NDE3MjcuMTQ0NDY5LCAyNzgxLCAxLjc0NzQ4NTk5NTI5MjY2MzZdLCBbMTY2Mzg0MTcyNy4yMzg0NDgxLCAyNzkwLCAxLjczOTIyNzg5MDk2ODMyMjhdLCBbMTY2Mzg0MTcyNy41OTMwMDM3LCAyODE3LCAxLjc1ODU5MTg5MDMzNTA4M10sIFsxNjYzODQxNzI3Ljc0Nzk4OTQsIDI4MjYsIDEuNzU4OTM4NDMxNzM5ODA3MV0sIFsxNjYzODQxNzI4LjE4NjkwNCwgMjg1MywgMS43NTA5NDI4MjYyNzEwNTcxXSwgWzE2NjM4NDE3MjguNDc3MzQyNiwgMjg3MSwgMS43MTU3NDU5MjU5MDMzMjAzXSwgWzE2NjM4NDE3MjguNTgwNzM3NiwgMjg4MCwgMS43NzMzNjY0NTEyNjM0Mjc3XSwgWzE2NjM4NDE3MjguOTQyODAyNCwgMjkwNywgMS43MjYwMDczNDIzMzg1NjJdLCBbMTY2Mzg0MTcyOS4xNDYxODU5LCAyOTI1LCAxLjc1NjY5NzY1NDcyNDEyMV0sIFsxNjYzODQxNzI5LjYyMTI5MDcsIDI5NzAsIDEuNzM3MTIyMDU4ODY4NDA4Ml0sIFsxNjYzODQxNzI5LjczMjA1NzYsIDI5NzksIDEuNjk2MzAyNDEzOTQwNDI5N10sIFsxNjYzODQxNzI5LjgyNzIyOTMsIDI5ODgsIDEuNzA2MjY1NDQ5NTIzOTI1OF0sIFsxNjYzODQxNzI5LjkxODg2LCAyOTk3LCAxLjcxMjY0OTk0MTQ0NDM5N10sIFsxNjYzODQxNzMwLjQwNjMzMzIsIDMwNDIsIDEuNzI5NjY1NzU2MjI1NTg2XSwgWzE2NjM4NDE3MzAuNTA0ODcxLCAzMDUxLCAxLjc4MTMwNjAyODM2NjA4ODldLCBbMTY2Mzg0MTczMC43MjI4MDgsIDMwNjksIDEuNzAyNjA5NTM5MDMxOTgyNF0sIFsxNjYzODQxNzMxLjA0NzcyNCwgMzA5NiwgMS43MjE1ODYxMDgyMDc3MDI2XSwgWzE2NjM4NDE3MzEuMTU4OTA4MSwgMzEwNSwgMS43MDUzNjQyMjcyOTQ5MjE5XSwgWzE2NjM4NDE3MzEuMjcwNjk0MywgMzExNCwgMS42OTA2Njc1MTAwMzI2NTM4XSwgWzE2NjM4NDE3MzEuMzY1MTE3OCwgMzEyMywgMS43MDIxNDk3NDg4MDIxODVdLCBbMTY2Mzg0MTczMS42MjQxOTI3LCAzMTQxLCAxLjY2NjU5MzY3MDg0NTAzMTddLCBbMTY2Mzg0MTczMS44NjIzODIsIDMxNTksIDEuNzE5NTY0Nzk1NDk0MDc5Nl0sIFsxNjYzODQxNzMyLjA2MzAyMTcsIDMxNzcsIDEuNjg2ODY2NDAyNjI2MDM3Nl0sIFsxNjYzODQxNzMyLjE3MDU5MTgsIDMxODYsIDEuNjg1NDc3NjE0NDAyNzcxXSwgWzE2NjM4NDE3MzIuMjcxMTAzMSwgMzE5NSwgMS43MTYzNjYxNzE4MzY4NTNdLCBbMTY2Mzg0MTczMi45NTc5ODIsIDMyMzEsIDEuNzE5MzgwMjU5NTEzODU1XSwgWzE2NjM4NDE3MzMuMjI0Mjk1OSwgMzI0OSwgMS42ODQxNjU1OTY5NjE5NzVdLCBbMTY2Mzg0MTczMy40NTkyOTgsIDMyNjcsIDEuNzMwNzQ2NjI2ODUzOTQyOV0sIFsxNjYzODQxNzMzLjU3NDE4NDIsIDMyNzYsIDEuNzQ0NjU0NTM2MjQ3MjUzNF0sIFsxNjYzODQxNzMzLjY5MjQ3MjIsIDMyODUsIDEuNjYzNzE2OTEyMjY5NTkyM10sIFsxNjYzODQxNzMzLjgwOTAyODksIDMyOTQsIDEuNjc1MTE5NzU3NjUyMjgyN10sIFsxNjYzODQxNzMzLjkyODU5NTgsIDMzMDMsIDEuNzIzNzEzNTE3MTg5MDI1OV0sIFsxNjYzODQxNzM0LjA1ODUyOCwgMzMxMiwgMS42NDcyNDY4Mzc2MTU5NjY4XSwgWzE2NjM4NDE3MzQuMTc4MjkxOCwgMzMyMSwgMS42NTg0ODY2MDQ2OTA1NTE4XSwgWzE2NjM4NDE3MzQuODgzODI4OSwgMzM3NSwgMS42NzE4Njc0ODk4MTQ3NTgzXSwgWzE2NjM4NDE3MzUuMjMyMTk5NCwgMzQwMiwgMS42NjM5NjMwNzk0NTI1MTQ2XSwgWzE2NjM4NDE3MzUuMzI2MzUwNSwgMzQxMSwgMS42ODkwODU4NDExNzg4OTRdLCBbMTY2Mzg0MTczNi4xODE0MjIsIDM0ODMsIDEuNjEyNDkxNjA3NjY2MDE1Nl0sIFsxNjYzODQxNzM2LjU5MDA5MTIsIDM1MTksIDEuNjI3NTU1NzI3OTU4Njc5Ml0sIFsxNjYzODQxNzM2LjcwMjU0NSwgMzUyOCwgMS42NjA5MjYyMjI4MDEyMDg1XSwgWzE2NjM4NDE3MzYuODAyMzY2MywgMzUzNywgMS42NTMxNTU5MjI4ODk3MDk1XSwgWzE2NjM4NDE3MzYuOTA3NDYzOCwgMzU0NiwgMS41OTY0MTk1NzI4MzAyMDAyXSwgWzE2NjM4NDE3MzcuMDIxMTY2OCwgMzU1NSwgMS42MDg4MjM3NzYyNDUxMTcyXSwgWzE2NjM4NDE3MzcuMTIyNzQ4NCwgMzU2NCwgMS42MjY3MzQ5NzIwMDAxMjJdLCBbMTY2Mzg0MTczNy4zNDc5OTk2LCAzNTgyLCAxLjYxODMyNzI2MDAxNzM5NV0sIFsxNjYzODQxNzM3LjQ4MDQxMjUsIDM1OTEsIDEuNjE4MDU5NzU0MzcxNjQzXSwgWzE2NjM4NDE3MzcuNjE3MzY2LCAzNjAwLCAxLjYzMzc1NjM5OTE1NDY2M10sIFsxNjYzODQxNzM3LjgyNjM3MDUsIDM2MTgsIDEuNjI2OTI3OTcxODM5OTA0OF0sIFsxNjYzODQxNzM3LjkyOTc1ODgsIDM2MjcsIDEuNjEzOTgxMDA4NTI5NjYzXSwgWzE2NjM4NDE3MzguMTM4ODM5LCAzNjQ1LCAxLjYwNDE2MzE2OTg2MDgzOThdLCBbMTY2Mzg0MTczOC42MDQyMjcsIDM2ODEsIDEuNjEyMjA1Mzg2MTYxODA0Ml0sIFsxNjYzODQxNzM4LjczNTI4OSwgMzY5MCwgMS42NzkxOTM3MzUxMjI2ODA3XSwgWzE2NjM4NDE3MzkuMDQ1OTUzOCwgMzcxNywgMS42NDMwMjM4NDg1MzM2MzA0XSwgWzE2NjM4NDE3MzkuMTM4MjIzLCAzNzI2LCAxLjYxMDE5OTgwOTA3NDQwMTldLCBbMTY2Mzg0MTczOS4yMzE0NjMyLCAzNzM1LCAxLjY0MzM2NDU0ODY4MzE2NjVdLCBbMTY2Mzg0MTczOS4zMjI2OTg2LCAzNzQ0LCAxLjU2OTM2NjQ1NTA3ODEyNV0sIFsxNjYzODQxNzM5LjY3ODA5MDMsIDM3NzEsIDEuNTUxNDExMTUxODg1OTg2M10sIFsxNjYzODQxNzQwLjA2NDMxMzQsIDM3OTgsIDEuNTQ2OTk0MjA5Mjg5NTUwOF0sIFsxNjYzODQxNzQwLjE2NzgxODMsIDM4MDcsIDEuNjEzMDk2NTk0ODEwNDg1OF0sIFsxNjYzODQxNzQwLjQ2NTY2NzUsIDM4MzQsIDEuNTgzMjE5NzY2NjE2ODIxM10sIFsxNjYzODQxNzQwLjU2NTA5NzYsIDM4NDMsIDEuNTk1NjI2MjM1MDA4MjM5N10sIFsxNjYzODQxNzQwLjk4OTkyMjgsIDM4NzksIDEuNTc1Njg5NTU0MjE0NDc3NV0sIFsxNjYzODQxNzQxLjA5NjIxMTQsIDM4ODgsIDEuNjA2MTQ1MDI0Mjk5NjIxNl0sIFsxNjYzODQxNzQxLjM5Nzk3MzMsIDM5MTUsIDEuNTkyMTI3MjAzOTQxMzQ1Ml0sIFsxNjYzODQxNzQxLjQ5NjU5ODUsIDM5MjQsIDEuNTU3NjYxODkwOTgzNTgxNV0sIFsxNjYzODQxNzQxLjU5NTgyNjYsIDM5MzMsIDEuNTQ1OTEyNTA0MTk2MTY3XSwgWzE2NjM4NDE3NDEuNzY1MTMxLCAzOTQyLCAxLjU1MjE0NTYwMDMxODkwODddLCBbMTY2Mzg0MTc0MS45Mzc5Mzg1LCAzOTUxLCAxLjU1OTY2NjM5NTE4NzM3OF0sIFsxNjYzODQxNzQyLjA2MTI2ODYsIDM5NjAsIDEuNTM5NDIzMzQ2NTE5NDcwMl0sIFsxNjYzODQxNzQyLjIzMDAzNTgsIDM5NjksIDEuNjAzNDAzODA2Njg2NDAxNF0sIFsxNjYzODQxNzQyLjU0Mzg0MjYsIDM5NzgsIDEuNTI4MDQyOTEyNDgzMjE1M10sIFsxNjYzODQxNzQyLjc1OTIwNzIsIDM5OTYsIDEuNTUwMjQ1NjQyNjYyMDQ4M10sIFsxNjYzODQxNzQyLjg2MjE5MjQsIDQwMDUsIDEuNTQ3Nzc5OTE3NzE2OThdLCBbMTY2Mzg0MTc0Mi45NjkzMDg5LCA0MDE0LCAxLjU0NTU3NTM4MDMyNTMxNzRdLCBbMTY2Mzg0MTc0My4xMTU0ODA0LCA0MDIzLCAxLjUzMDgwNzYxNDMyNjQ3N10sIFsxNjYzODQxNzQzLjUyNjMzMjQsIDQwNTksIDEuNTQwODIzNDU5NjI1MjQ0MV0sIFsxNjYzODQxNzQzLjY2NzU3NTEsIDQwNjgsIDEuNTA5MzcyNTkxOTcyMzUxXSwgWzE2NjM4NDE3NDMuNzg3MTIzLCA0MDc3LCAxLjU0NTAzMzIxNjQ3NjQ0MDRdLCBbMTY2Mzg0MTc0My44ODI2Mjc3LCA0MDg2LCAxLjU4NjQzNTU1NjQxMTc0MzJdLCBbMTY2Mzg0MTc0NC4wMTI0NTU1LCA0MDk1LCAxLjUxNDcwOTgzMDI4NDExODddLCBbMTY2Mzg0MTc0NC4yNzcwNTUsIDQxMTMsIDEuNTIxMTY3NzU1MTI2OTUzMV0sIFsxNjYzODQxNzQ0LjQ4Mzc1NDYsIDQxMzEsIDEuNTYzMDE4NDQxMjAwMjU2M10sIFsxNjYzODQxNzQ0LjcyOTE5NzUsIDQxNDksIDEuNTU0Mzg2Mzc3MzM0NTk0N10sIFsxNjYzODQxNzQ0Ljg0NTE2MjIsIDQxNTgsIDEuNTgxNDMzMjk2MjAzNjEzM10sIFsxNjYzODQxNzQ1LjE0OTEyOTIsIDQxODUsIDEuNTQwMTQzNDg5ODM3NjQ2NV0sIFsxNjYzODQxNzQ1LjI0NzYwMTMsIDQxOTQsIDEuNTYwOTc4MjkzNDE4ODg0M10sIFsxNjYzODQxNzQ1LjM0MTA5NzQsIDQyMDMsIDEuNTQzMjQ1NzkyMzg4OTE2XSwgWzE2NjM4NDE3NDUuNTM4NjM1MywgNDIyMSwgMS41Njg4NDQ1NTY4MDg0NzE3XSwgWzE2NjM4NDE3NDUuNzM1NjU5MSwgNDIzOSwgMS41MjU1OTk0Nzk2NzUyOTNdLCBbMTY2Mzg0MTc0Ni4xNDE4MTkyLCA0Mjc1LCAxLjUyMDY2NTg4NDAxNzk0NDNdLCBbMTY2Mzg0MTc0Ni4yMzM2Mzk3LCA0Mjg0LCAxLjQ4NTA2Mzc5MTI3NTAyNDRdLCBbMTY2Mzg0MTc0Ni41Mjc2ODUyLCA0MzExLCAxLjUxMDY1OTgxMzg4MDkyMDRdLCBbMTY2Mzg0MTc0Ni42MjQ0ODEsIDQzMjAsIDEuNTExNjY5NzU0OTgxOTk0Nl0sIFsxNjYzODQxNzQ2LjcxOTQsIDQzMjksIDEuNTE3NjU0NDE4OTQ1MzEyNV0sIFsxNjYzODQxNzQ2LjgzMDUxOTQsIDQzMzgsIDEuNTA2NDMxNTc5NTg5ODQzOF0sIFsxNjYzODQxNzQ2LjkzMTkwMjQsIDQzNDcsIDEuNTA5Mzc2MDQ5MDQxNzQ4XSwgWzE2NjM4NDE3NDcuMDU3MjI2NywgNDM1NiwgMS40OTk3Mjc3MjU5ODI2NjZdLCBbMTY2Mzg0MTc0Ny4xOTAyNCwgNDM2NSwgMS40OTgyODc2Nzc3NjQ4OTI2XSwgWzE2NjM4NDE3NDcuNDI5OTQwNSwgNDM4MywgMS40NzcxMjU0MDYyNjUyNTg4XSwgWzE2NjM4NDE3NDcuNTYyNzcwNCwgNDM5MiwgMS41NDM4NzUyMTc0Mzc3NDQxXSwgWzE2NjM4NDE3NDcuNjk4MDA0LCA0NDAxLCAxLjUzNDI4MTczMDY1MTg1NTVdLCBbMTY2Mzg0MTc0Ny44MDIxOSwgNDQxMCwgMS41MTI5NDcyMDE3Mjg4MjA4XSwgWzE2NjM4NDE3NDguMDE5OTc0MiwgNDQyOCwgMS40OTI1MTUwODcxMjc2ODU1XSwgWzE2NjM4NDE3NDguMzI4MjMxMywgNDQ1NSwgMS41MTA2NDk4MDAzMDA1OTgxXSwgWzE2NjM4NDE3NDguODA0NzMzMywgNDQ5MSwgMS40OTI3MjIwMzQ0NTQzNDU3XSwgWzE2NjM4NDE3NDkuMTcyNjY0OSwgNDUxOCwgMS40ODcwNTAyOTQ4NzYwOTg2XSwgWzE2NjM4NDE3NDkuMjc2NTYzMiwgNDUyNywgMS40OTI5NDY3NDM5NjUxNDldLCBbMTY2Mzg0MTc0OS4zNzI4NiwgNDUzNiwgMS40ODQ1Nzk2ODIzNTAxNTg3XSwgWzE2NjM4NDE3NDkuNjY2NTU3OCwgNDU2MywgMS40NjI3MDQ1MzkyOTkwMTEyXSwgWzE2NjM4NDE3NDkuODk3MjgyNiwgNDU4MSwgMS40ODc3MjY5MjY4MDM1ODg5XSwgWzE2NjM4NDE3NTAuMDIzNjIwOCwgNDU5MCwgMS40NjU2OTM4MzE0NDM3ODY2XSwgWzE2NjM4NDE3NTAuMTIyOTA1LCA0NTk5LCAxLjQ1OTI4MTIwNjEzMDk4MTRdLCBbMTY2Mzg0MTc1MC4yMTUxMDcsIDQ2MDgsIDEuNDM4MzQ3ODE2NDY3Mjg1Ml0sIFsxNjYzODQxNzUwLjMwODE0ODQsIDQ2MTcsIDEuNDYyNjg2Nzc3MTE0ODY4Ml0sIFsxNjYzODQxNzUwLjQwNTI5NDIsIDQ2MjYsIDEuNDkwNTkwMjE0NzI5MzA5XSwgWzE2NjM4NDE3NTAuNDk4Mzk0MywgNDYzNSwgMS40NjU2MzgzOTkxMjQxNDU1XSwgWzE2NjM4NDE3NTAuODQ2MTk3NiwgNDY2MiwgMS40MzY1MDA0MzAxMDcxMTY3XSwgWzE2NjM4NDE3NTAuOTcwMDY1OCwgNDY3MSwgMS40NjEyMjUxNTIwMTU2ODZdLCBbMTY2Mzg0MTc1MS4xMDQ0NDc4LCA0NjgwLCAxLjQzMzYyODY3ODMyMTgzODRdLCBbMTY2Mzg0MTc1MS4yMjQwMDU3LCA0Njg5LCAxLjQ2MzU4MTQ0MjgzMjk0NjhdLCBbMTY2Mzg0MTc1MS41MTcyMjgxLCA0NzE2LCAxLjQzODA5NzQ3Njk1OTIyODVdLCBbMTY2Mzg0MTc1Mi40MDU1NzQsIDQ3NzksIDEuNDI2MDYyMjI2Mjk1NDcxMl0sIFsxNjYzODQxNzUyLjcxODg0NTEsIDQ4MDYsIDEuNDIyMDgzNDk3MDQ3NDI0M10sIFsxNjYzODQxNzUyLjgxNTU5MywgNDgxNSwgMS40NjE3NzU1NDEzMDU1NDJdLCBbMTY2Mzg0MTc1My4wNTQ5MDUsIDQ4MzMsIDEuNDM2Njc2MjYzODA5MjA0XSwgWzE2NjM4NDE3NTMuMTk4Mzk3NCwgNDg0MiwgMS40MjIwNTMyMTc4ODc4Nzg0XSwgWzE2NjM4NDE3NTMuMzE4Njc0LCA0ODUxLCAxLjQ0ODAxNTA5MzgwMzQwNThdLCBbMTY2Mzg0MTc1My40MzA3MDU1LCA0ODYwLCAxLjQyMDU5MTU5Mjc4ODY5NjNdLCBbMTY2Mzg0MTc1My41NTQ5NjgsIDQ4NjksIDEuNDQ5Njc0MjQ4Njk1MzczNV0sIFsxNjYzODQxNzUzLjc5NTU1MTMsIDQ4ODcsIDEuNDI2MDUzNzYyNDM1OTEzXSwgWzE2NjM4NDE3NTMuOTA2NTMyNSwgNDg5NiwgMS40MzE3NTczMzA4OTQ0NzAyXSwgWzE2NjM4NDE3NTQuMDE2NzI2NywgNDkwNSwgMS40MTY5Nzg3MTY4NTAyODA4XSwgWzE2NjM4NDE3NTQuMjU1MjI1NywgNDkyMywgMS40MzA3OTQyMzkwNDQxODk1XSwgWzE2NjM4NDE3NTQuMzU1MDA4NiwgNDkzMiwgMS40NjA2MDMyMzcxNTIwOTk2XSwgWzE2NjM4NDE3NTQuNjkxMTIsIDQ5NTksIDEuNDA1MDM1NzM0MTc2NjM1N10sIFsxNjYzODQxNzU0LjkwNTI0NjMsIDQ5NzcsIDEuNDM5MzE3MTA3MjAwNjIyNl0sIFsxNjYzODQxNzU1LjE3NzEzMzYsIDQ5OTUsIDEuNDUwMjQxNjg0OTEzNjM1M10sIFsxNjYzODQxNzU1LjI3OTM5ODcsIDUwMDQsIDEuMzk0MjI0NjQzNzA3Mjc1NF0sIFsxNjYzODQxNzU1LjM4NDQxMDQsIDUwMTMsIDEuNDMzODE2MTk0NTM0MzAxOF0sIFsxNjYzODQxNzU2LjA0NjgxMDksIDUwNjcsIDEuNDgzODcwMzg3MDc3MzMxNV0sIFsxNjYzODQxNzU2LjE0NTQ0MDMsIDUwNzYsIDEuNTAxODc5NTcyODY4MzQ3Ml0sIFsxNjYzODQxNzU2LjI0MDM1NzIsIDUwODUsIDEuNDY1OTg0NzAyMTEwMjkwNV0sIFsxNjYzODQxNzU2LjY3NjMxNjcsIDUxMjEsIDEuNDA5NTM0OTMxMTgyODYxM10sIFsxNjYzODQxNzU3LjA1Mzc3MjcsIDUxNDgsIDEuNDA0NDc2ODgxMDI3MjIxN10sIFsxNjYzODQxNzU3LjI3OTk5NiwgNTE2NiwgMS40Nzk1NTY0NDEzMDcwNjc5XSwgWzE2NjM4NDE3NTcuNTc4NDc2LCA1MTkzLCAxLjQxMjQyNTE2MDQwODAyXSwgWzE2NjM4NDE3NTguMDE2MTk2MywgNTIyOSwgMS4zNjY1NDc5NDIxNjE1Nl0sIFsxNjYzODQxNzU4LjQwMzA0NTIsIDUyNjUsIDEuMzk0ODk3Njk5MzU2MDc5XSwgWzE2NjM4NDE3NTguNTI0NzU5LCA1Mjc0LCAxLjM4MTA1NDg3ODIzNDg2MzNdLCBbMTY2Mzg0MTc1OC42NDg3NDE1LCA1MjgzLCAxLjQxOTM4NTQzMzE5NzAyMTVdLCBbMTY2Mzg0MTc1OC44NzE2MTE2LCA1MzAxLCAxLjQ0MTc0MTM0NzMxMjkyNzJdLCBbMTY2Mzg0MTc1OS4wNzEwMjAxLCA1MzE5LCAxLjQxODkwMzExMjQxMTQ5OV0sIFsxNjYzODQxNzU5LjE2NjU0ODMsIDUzMjgsIDEuNDIyNjYzOTI3MDc4MjQ3XSwgWzE2NjM4NDE3NTkuMjYyNzY3NiwgNTMzNywgMS40MTQ0MDc5Njg1MjExMTgyXSwgWzE2NjM4NDE3NTkuNDcyNjAwNSwgNTM1NSwgMS40MzEzNTI3MzQ1NjU3MzQ5XSwgWzE2NjM4NDE3NTkuNjY0OTE3MiwgNTM3MywgMS4zNTQ4Mzg4NDgxMTQwMTM3XSwgWzE2NjM4NDE3NTkuNzU2NzkxNCwgNTM4MiwgMS4zNzA5NzI2MzMzNjE4MTY0XSwgWzE2NjM4NDE3NTkuODU4NjgyMiwgNTM5MSwgMS4zODMwOTE5MjY1NzQ3MDddLCBbMTY2Mzg0MTc1OS45NTEwMDg2LCA1NDAwLCAxLjM3NjI4ODE3NTU4Mjg4NTddLCBbMTY2Mzg0MTc2MC4xMzY5MjQ3LCA1NDE4LCAxLjM3OTYwNTI5MzI3MzkyNThdLCBbMTY2Mzg0MTc2MC4yMjc3MjYyLCA1NDI3LCAxLjM1MzMxMDgyMzQ0MDU1MThdLCBbMTY2Mzg0MTc2MC4zMjE1NDY2LCA1NDM2LCAxLjM1NjM3NDg1OTgwOTg3NTVdLCBbMTY2Mzg0MTc2MC41MTI3OTQsIDU0NTQsIDEuMzc3MDQzMTI4MDEzNjEwOF0sIFsxNjYzODQxNzYxLjA3MDI2NzcsIDU0ODEsIDEuMzU4MDI2MjY2MDk4MDIyNV0sIFsxNjYzODQxNzYxLjI2ODQ2NDMsIDU0OTksIDEuMzU2NDI4MjY1NTcxNTk0Ml0sIFsxNjYzODQxNzYxLjU0ODE2MSwgNTUyNiwgMS4zNDQzNDkyNjUwOTg1NzE4XSwgWzE2NjM4NDE3NjEuNjQ4ODI2LCA1NTM1LCAxLjM1OTM1MTc1NDE4ODUzNzZdLCBbMTY2Mzg0MTc2MS44NDExMTc0LCA1NTUzLCAxLjM3ODEwMTM0ODg3Njk1MzFdLCBbMTY2Mzg0MTc2Mi4wNDY3MTUsIDU1NzEsIDEuMzQ0NzQ3MTg1NzA3MDkyM10sIFsxNjYzODQxNzYyLjIzOTM4OTIsIDU1ODksIDEuMzk0MzEwMTE2NzY3ODgzM10sIFsxNjYzODQxNzYyLjQyNzg3NiwgNTYwNywgMS4zMTgxMzYyMTUyMDk5NjFdLCBbMTY2Mzg0MTc2Mi41Mjk5MjI3LCA1NjE2LCAxLjM1MzE4ODYzMzkxODc2MjJdLCBbMTY2Mzg0MTc2Mi44MTI3OTksIDU2NDMsIDEuMzc3MjcwMjIxNzEwMjA1XSwgWzE2NjM4NDE3NjMuMDAwNjgxMiwgNTY2MSwgMS4zNTM0MTU4NDY4MjQ2NDZdLCBbMTY2Mzg0MTc2My4wOTM4OTgzLCA1NjcwLCAxLjM0OTc4NTMyNzkxMTM3N10sIFsxNjYzODQxNzYzLjU2NjEzMjMsIDU3MDYsIDEuMzY1NzIzMTMzMDg3MTU4Ml0sIFsxNjYzODQxNzY0LjEwNzMwODksIDU3NDIsIDEuMzQ5NjY4MTQ1MTc5NzQ4NV0sIFsxNjYzODQxNzY0LjQ3MzYzMDcsIDU3NjksIDEuMzUyNjc2MTUzMTgyOTgzNF0sIFsxNjYzODQxNzY0LjU4OTcyNzYsIDU3NzgsIDEuMzI5MDYzMDU3ODk5NDc1XSwgWzE2NjM4NDE3NjQuNzAzMTI2MiwgNTc4NywgMS4zMDgxNDMxMzg4ODU0OThdLCBbMTY2Mzg0MTc2NC44MTYxNzI0LCA1Nzk2LCAxLjM2MjcwMDcwMDc1OTg4NzddLCBbMTY2Mzg0MTc2NC45MzAxODc3LCA1ODA1LCAxLjI5NjY3ODc4MTUwOTM5OTRdLCBbMTY2Mzg0MTc2NS4wNDY2MTY2LCA1ODE0LCAxLjM3OTk3NDg0MjA3MTUzMzJdLCBbMTY2Mzg0MTc2NS40NzU5OTAzLCA1ODUwLCAxLjM3MDAyODM3NjU3OTI4NDddLCBbMTY2Mzg0MTc2NS42ODIwOTE3LCA1ODY4LCAxLjMyODQ5NDA3MTk2MDQ0OTJdLCBbMTY2Mzg0MTc2NS43NzgyMzYyLCA1ODc3LCAxLjMxNzYzOTExMjQ3MjUzNDJdLCBbMTY2Mzg0MTc2NS44ODI2NzQyLCA1ODg2LCAxLjMzNjM1MTAzNzAyNTQ1MTddLCBbMTY2Mzg0MTc2NS45NzY3NDcsIDU4OTUsIDEuMzMyMTY2NzkwOTYyMjE5Ml0sIFsxNjYzODQxNzY2LjA3MzcwOSwgNTkwNCwgMS4zMzM5NDY4MjQwNzM3OTE1XSwgWzE2NjM4NDE3NjYuMzc0NjcsIDU5MzEsIDEuMzMzMjM3NjQ4MDEwMjU0XSwgWzE2NjM4NDE3NjYuNDY3MTM3NiwgNTk0MCwgMS4zNTY1NTc2MDc2NTA3NTY4XSwgWzE2NjM4NDE3NjYuNTY1Mjc5NywgNTk0OSwgMS4zMjQ0MTcxMTQyNTc4MTI1XSwgWzE2NjM4NDE3NjcuMzExOTM2LCA2MDEyLCAxLjMxNTQwNzk5MTQwOTMwMThdLCBbMTY2Mzg0MTc2Ny42MTAyNzA1LCA2MDM5LCAxLjI5MDE0OTA5MjY3NDI1NTRdLCBbMTY2Mzg0MTc2OC4yMDMyNTc2LCA2MDg0LCAxLjMxNDk3Nzg4NDI5MjYwMjVdLCBbMTY2Mzg0MTc2OC4zMDA4OTgsIDYwOTMsIDEuMzM1NjI5NzAxNjE0Mzc5OV0sIFsxNjYzODQxNzY4LjQzMzUxNzUsIDYxMDIsIDEuMjk1Mjc4MzEwNzc1NzU2OF0sIFsxNjYzODQxNzY4Ljc5MTI3MSwgNjEyOSwgMS4zMTEyMDMyNDEzNDgyNjY2XSwgWzE2NjM4NDE3NjkuMDE5MjU4LCA2MTQ3LCAxLjMzMDQ3MTI3NzIzNjkzODVdLCBbMTY2Mzg0MTc2OS4xMzYwNTM2LCA2MTU2LCAxLjMyMjkyNDYxMzk1MjYzNjddLCBbMTY2Mzg0MTc2OS4yNjQ0OTk3LCA2MTY1LCAxLjMwMjQ1ODQwNTQ5NDY5XSwgWzE2NjM4NDE3NjkuNjEyOTA4LCA2MTkyLCAxLjMzODY0NjY1MDMxNDMzMV0sIFsxNjYzODQxNzcwLjQ0NDEyNTQsIDYyMzcsIDEuMzYxMDYyODg0MzMwNzQ5NV0sIFsxNjYzODQxNzcwLjY0ODc3MjIsIDYyNTUsIDEuMzEyMTQxMTgwMDM4NDUyMV0sIFsxNjYzODQxNzcwLjg3OTg3MSwgNjI3MywgMS4yNzc0NTA1NjE1MjM0Mzc1XSwgWzE2NjM4NDE3NzEuMDE5MTcxMiwgNjI4MiwgMS4yNzg0MTgzMDI1MzYwMTA3XSwgWzE2NjM4NDE3NzEuMjU2MjY3OCwgNjMwMCwgMS4zMzI3NjA1NzI0MzM0NzE3XSwgWzE2NjM4NDE3NzEuNTYyMTkzNCwgNjMyNywgMS4zNTg1NzgzMjQzMTc5MzIxXSwgWzE2NjM4NDE3NzEuNjY2OTUwNSwgNjMzNiwgMS4yOTg3MDAwOTQyMjMwMjI1XSwgWzE2NjM4NDE3NzEuODY1MzIzOCwgNjM1NCwgMS4zMDU1NzI2Mjg5NzQ5MTQ2XSwgWzE2NjM4NDE3NzIuMjc2OTU5LCA2MzkwLCAxLjI3OTM0MjE3NDUzMDAyOTNdLCBbMTY2Mzg0MTc3Mi4zNzQyMzc1LCA2Mzk5LCAxLjMyODY1NzI2OTQ3Nzg0NDJdLCBbMTY2Mzg0MTc3Mi41NzE5NTUyLCA2NDE3LCAxLjMzNjE5MzA4NDcxNjc5NjldLCBbMTY2Mzg0MTc3Mi44NjkxNywgNjQ0NCwgMS4yODk2MjY0NzkxNDg4NjQ3XSwgWzE2NjM4NDE3NzMuMDUxNjUsIDY0NjIsIDEuMzA4Mjc1Njk5NjE1NDc4NV0sIFsxNjYzODQxNzczLjIzNDEyMDQsIDY0ODAsIDEuMjc2MTk3NzkxMDk5NTQ4M10sIFsxNjYzODQxNzczLjMyNDAzMTYsIDY0ODksIDEuMzI1Njk2NzA2NzcxODUwNl0sIFsxNjYzODQxNzczLjQxMzc0NjgsIDY0OTgsIDEuMjkwMDA4MDY4MDg0NzE2OF0sIFsxNjYzODQxNzczLjU5NDEzNjUsIDY1MTYsIDEuMjk1MzkzNDY2OTQ5NDYzXSwgWzE2NjM4NDE3NzMuODMwMTkxNCwgNjUzNCwgMS4zNTE3MTc5NDg5MTM1NzQyXSwgWzE2NjM4NDE3NzMuOTY5OTM3MywgNjU0MywgMS4yNTg5MjU0Mzc5MjcyNDZdLCBbMTY2Mzg0MTc3NC4xMDk4NTY2LCA2NTUyLCAxLjI5MzY4OTcyNzc4MzIwMzFdLCBbMTY2Mzg0MTc3NC4yNTE4Njg3LCA2NTYxLCAxLjI3OTIwMjkzODA3OTgzNF0sIFsxNjYzODQxNzc0LjM4NDUwODQsIDY1NzAsIDEuMzI3NTU1MTc5NTk1OTQ3M10sIFsxNjYzODQxNzc0LjY2MDU4NTQsIDY1ODgsIDEuMzA0ODYwOTQ5NTE2Mjk2NF0sIFsxNjYzODQxNzc0LjgwNDE3NzgsIDY1OTcsIDEuMjg5NDQxNTg1NTQwNzcxNV0sIFsxNjYzODQxNzc0LjkxMDEzMzgsIDY2MDYsIDEuMjgzMTMxMTIyNTg5MTExM10sIFsxNjYzODQxNzc1LjM4ODMwNjQsIDY2NTEsIDEuMjcwODg0Mzk0NjQ1NjkxXSwgWzE2NjM4NDE3NzUuNDgxNjg4MywgNjY2MCwgMS4zMDA5ODI4MzI5MDg2MzA0XSwgWzE2NjM4NDE3NzUuNzc0NDA1LCA2Njg3LCAxLjI3NzAwNDQ4MDM2MTkzODVdLCBbMTY2Mzg0MTc3NS44ODQyODgzLCA2Njk2LCAxLjIzMjIxNDA5MzIwODMxM10sIFsxNjYzODQxNzc1Ljk5NTMxNiwgNjcwNSwgMS4yNTY5OTUyMDExMTA4Mzk4XSwgWzE2NjM4NDE3NzYuMTEzMDY1MiwgNjcxNCwgMS4yNjEyODIzMjQ3OTA5NTQ2XSwgWzE2NjM4NDE3NzYuODYwNDAxOSwgNjc3NywgMS4zNTUzNDA3MTkyMjMwMjI1XSwgWzE2NjM4NDE3NzcuMTk1NTQwNCwgNjgwNCwgMS4yNTgxNzM5NDI1NjU5MThdLCBbMTY2Mzg0MTc3Ny4yOTc1OTIyLCA2ODEzLCAxLjMwMzU3NjU4ODYzMDY3NjNdLCBbMTY2Mzg0MTc3Ny41MjI1MjQ0LCA2ODMxLCAxLjI2NTE4MDU4Nzc2ODU1NDddLCBbMTY2Mzg0MTc3OC4wMzM3NTM2LCA2ODc2LCAxLjIyMDU4Njc3NjczMzM5ODRdLCBbMTY2Mzg0MTc3OC4xMzEyOTk1LCA2ODg1LCAxLjI0OTI2NTMxMzE0ODQ5ODVdLCBbMTY2Mzg0MTc3OC4yMzQ4NiwgNjg5NCwgMS4yMzQwNDQxOTQyMjE0OTY2XSwgWzE2NjM4NDE3NzguNTc4OTMzLCA2OTIxLCAxLjI1NzY1Nzg4NTU1MTQ1MjZdLCBbMTY2Mzg0MTc3OC42ODk5MDkyLCA2OTMwLCAxLjI0MjEwODQ2NDI0MTAyNzhdLCBbMTY2Mzg0MTc3OS4yMDgwMzMzLCA2OTU3LCAxLjI5MDc1NjcwMjQyMzA5NTddLCBbMTY2Mzg0MTc3OS41NTE0NjEyLCA2OTg0LCAxLjI0MzYyMzk3MTkzOTA4N10sIFsxNjYzODQxNzc5LjY1NDU5OTIsIDY5OTMsIDEuMjQ4MzU2OTM4MzYyMTIxNl0sIFsxNjYzODQxNzc5LjkyNjIzMDQsIDcwMTEsIDEuMjMyNTAwNDMzOTIxODE0XSwgWzE2NjM4NDE3ODAuMDQ0MDYxMiwgNzAyMCwgMS4zMDg0NjgyMjI2MTgxMDNdLCBbMTY2Mzg0MTc4MC4xNjI2MzAzLCA3MDI5LCAxLjI0MTk1MDE1NDMwNDUwNDRdLCBbMTY2Mzg0MTc4MC4yNzcyNTU4LCA3MDM4LCAxLjIzNzk5NDE5NDAzMDc2MTddLCBbMTY2Mzg0MTc4MC4zODgyNjQ0LCA3MDQ3LCAxLjI2MzA4MTU1MDU5ODE0NDVdLCBbMTY2Mzg0MTc4MS4wNzM2NzUsIDcxMDEsIDEuMjI1MzE5NTA0NzM3ODU0XSwgWzE2NjM4NDE3ODEuMzkyNTQ1NywgNzEyOCwgMS4yMzg2ODI4NjYwOTY0OTY2XSwgWzE2NjM4NDE3ODEuNjIxNzA3LCA3MTQ2LCAxLjIyNTI2MjY0MTkwNjczODNdLCBbMTY2Mzg0MTc4MS44NDMwMzYyLCA3MTY0LCAxLjIzMzA5NzU1MzI1MzE3MzhdLCBbMTY2Mzg0MTc4Mi4zMzQxNjYzLCA3MjAwLCAxLjIzMzg4NzE5NTU4NzE1ODJdLCBbMTY2Mzg0MTc4Mi40MzMzNjY4LCA3MjA5LCAxLjIyNjQxNDkxODg5OTUzNjFdLCBbMTY2Mzg0MTc4Mi45MDYwNDMzLCA3MjQ1LCAxLjI1MDg4MzEwMjQxNjk5MjJdLCBbMTY2Mzg0MTc4My4wMzE1NDIzLCA3MjU0LCAxLjI2MzYzMDAzMjUzOTM2NzddLCBbMTY2Mzg0MTc4My4xMzE4MDU3LCA3MjYzLCAxLjI0MjgwMTQyNzg0MTE4NjVdLCBbMTY2Mzg0MTc4My4yMjYyNzA3LCA3MjcyLCAxLjIzMTk5ODgwMTIzMTM4NDNdLCBbMTY2Mzg0MTc4My41Mjg5NjQzLCA3Mjk5LCAxLjIyNDQwODM4ODEzNzgxNzRdLCBbMTY2Mzg0MTc4NC4zMDI4MTE2LCA3MzcxLCAxLjI0NjA4ODk4MTYyODQxOF0sIFsxNjYzODQxNzg0LjQzODI2NDgsIDczODAsIDEuMjU4NDczODczMTM4NDI3N10sIFsxNjYzODQxNzg0LjcwMzgwMzUsIDczOTgsIDEuMjIyMDg1OTUyNzU4Nzg5XSwgWzE2NjM4NDE3ODQuOTM5MzgyOCwgNzQxNiwgMS4yMTY0MzExNDA4OTk2NTgyXSwgWzE2NjM4NDE3ODUuMTY5NDMwNSwgNzQzNCwgMS4yMTUzMzc4NzI1MDUxODhdLCBbMTY2Mzg0MTc4NS4yODYyNzUsIDc0NDMsIDEuMjIzNjU3ODQ2NDUwODA1N10sIFsxNjYzODQxNzg1LjQxMDI3MjQsIDc0NTIsIDEuMjIyMzQyMDE0MzEyNzQ0MV0sIFsxNjYzODQxNzg1LjUxOTA0MjUsIDc0NjEsIDEuMjQwOTExMTI2MTM2Nzc5OF0sIFsxNjYzODQxNzg1Ljk4ODQ1OTMsIDc0OTcsIDEuMjQ2Njk3MTg3NDIzNzA2XSwgWzE2NjM4NDE3ODYuMDk4ODc2NSwgNzUwNiwgMS4yMzA2MDEzMTA3Mjk5ODA1XSwgWzE2NjM4NDE3ODYuMjkxODQ1LCA3NTI0LCAxLjIzNDg4NjY0NjI3MDc1Ml0sIFsxNjYzODQxNzg2LjM4NTAwMDIsIDc1MzMsIDEuMTkxMzEwODgyNTY4MzU5NF0sIFsxNjYzODQxNzg2LjUyMzQ4NiwgNzU0MiwgMS4yMjA3MzcyMTg4NTY4MTE1XSwgWzE2NjM4NDE3ODYuNzU0ODA0LCA3NTYwLCAxLjI0MDc4MzA5NTM1OTgwMjJdLCBbMTY2Mzg0MTc4Ni44ODIyMjMxLCA3NTY5LCAxLjE4NDQ0ODcxOTAyNDY1ODJdLCBbMTY2Mzg0MTc4Ny4yMzYxNDA3LCA3NTk2LCAxLjI5OTA5OTMyNjEzMzcyOF0sIFsxNjYzODQxNzg3LjQ4MzA1NDQsIDc2MTQsIDEuMjUzNjY5ODU3OTc4ODIwOF0sIFsxNjYzODQxNzg4LjA5NzgxODYsIDc2NTksIDEuMjE0NDQ3MjU5OTAyOTU0XSwgWzE2NjM4NDE3ODguMjM5NTI4NywgNzY2OCwgMS4yMjg4MDg2NDE0MzM3MTU4XSwgWzE2NjM4NDE3ODguNTkxOTg3LCA3Njk1LCAxLjIxMDc4ODQ4ODM4ODA2MTVdLCBbMTY2Mzg0MTc4OS4xNjIxNjQ3LCA3NzIyLCAxLjIyMTg4MDU1NTE1Mjg5M10sIFsxNjYzODQxNzg5LjQ2NDEyMjgsIDc3NDksIDEuMTk1NjExNzE1MzE2NzcyNV0sIFsxNjYzODQxNzg5LjY3MTQxNCwgNzc2NywgMS4yMjUyMjY2NDA3MDEyOTRdLCBbMTY2Mzg0MTc4OS45ODg2MDUsIDc3OTQsIDEuMjU2Mzg4OTAyNjY0MTg0Nl0sIFsxNjYzODQxNzkwLjExNTg3MywgNzgwMywgMS4xODgzODM2OTg0NjM0NF0sIFsxNjYzODQxNzkwLjYyNjI1OSwgNzgzOSwgMS4yMzc5MzY2MTU5NDM5MDg3XSwgWzE2NjM4NDE3OTAuNzU3NDM4NywgNzg0OCwgMS4yNDI1OTU1NTMzOTgxMzIzXSwgWzE2NjM4NDE3OTEuOTM2MTM2MiwgNzkzOCwgMS4xOTUzOTk1MjI3ODEzNzJdLCBbMTY2Mzg0MTc5Mi4xNjQ3MDQ4LCA3OTU2LCAxLjIwMzQ2Njc3MzAzMzE0Ml0sIFsxNjYzODQxNzkyLjI3OTkwNTMsIDc5NjUsIDEuMTg5MTgxMjA4NjEwNTM0N10sIFsxNjYzODQxNzkyLjM4ODQxNjUsIDc5NzQsIDEuMTk3OTIwNzk5MjU1MzcxXSwgWzE2NjM4NDE3OTIuNTEyMjA2LCA3OTgzLCAxLjE5MjM2MDg3Nzk5MDcyMjddLCBbMTY2Mzg0MTc5Mi43NjAyNzUsIDgwMDEsIDEuMTkzNjY2ODE1NzU3NzUxNV0sIFsxNjYzODQxNzkzLjAxMDI2MDgsIDgwMTksIDEuMjAzMDA5NzI0NjE3MDA0NF0sIFsxNjYzODQxNzkzLjIzMjI3LCA4MDM3LCAxLjIyNjA1MTMzMDU2NjQwNjJdLCBbMTY2Mzg0MTc5My41NzYxNjM4LCA4MDY0LCAxLjIxMDI2MzYwOTg4NjE2OTRdLCBbMTY2Mzg0MTc5My44MjAwMzE0LCA4MDgyLCAxLjIxNjA2MDUxOTIxODQ0NDhdLCBbMTY2Mzg0MTc5My45MzgyOTksIDgwOTEsIDEuMjA5NjE3NDk1NTM2ODA0Ml0sIFsxNjYzODQxNzk0LjI5NDc1NzQsIDgxMTgsIDEuMjI0MzgwODUwNzkxOTMxMl0sIFsxNjYzODQxNzk0LjQzMTQzNDksIDgxMjcsIDEuMTg3ODcxOTMyOTgzMzk4NF0sIFsxNjYzODQxNzk0LjY2NzgwODMsIDgxNDUsIDEuMjAzNDUyNDY3OTE4Mzk2XSwgWzE2NjM4NDE3OTQuODc3ODE1NSwgODE2MywgMS4xNzYxMDA2MTE2ODY3MDY1XSwgWzE2NjM4NDE3OTQuOTc5NDAxOCwgODE3MiwgMS4xOTU2NTA0NTgzMzU4NzY1XSwgWzE2NjM4NDE3OTUuMDc5NTM4MywgODE4MSwgMS4yMDczMTU5MjE3ODM0NDczXSwgWzE2NjM4NDE3OTUuMjg2NzE5LCA4MTk5LCAxLjIyNTk4MTM1NDcxMzQ0XSwgWzE2NjM4NDE3OTUuMzk0MTkyLCA4MjA4LCAxLjIyOTQ5NzU1MTkxODAyOThdLCBbMTY2Mzg0MTc5NS43MTQ4MywgODIzNSwgMS4yMTgwMzc3MjQ0OTQ5MzRdLCBbMTY2Mzg0MTc5Ni4xMzE4NjYyLCA4MjcxLCAxLjI2MDcxMTkwODM0MDQ1NF0sIFsxNjYzODQxNzk2LjIzMzUwODMsIDgyODAsIDEuMjE2MTI4ODI2MTQxMzU3NF0sIFsxNjYzODQxNzk2LjQyNzk4NjEsIDgyOTgsIDEuMjM0OTc1MzM3OTgyMTc3N10sIFsxNjYzODQxNzk2LjYyNTAyNDgsIDgzMTYsIDEuMjM2MjE2MzA2Njg2NDAxNF0sIFsxNjYzODQxNzk3LjA4ODMxNjcsIDgzNTIsIDEuMTkwNjY1NDgzNDc0NzMxNF0sIFsxNjYzODQxNzk3LjE4MTYzODUsIDgzNjEsIDEuMjIxNjAxMzY2OTk2NzY1MV0sIFsxNjYzODQxNzk3LjI3MzYzNDcsIDgzNzAsIDEuMjQ5OTY3MjE3NDQ1MzczNV0sIFsxNjYzODQxNzk3LjM2NTU4MzcsIDgzNzksIDEuMjc0NTI1NzYxNjA0MzA5XSwgWzE2NjM4NDE3OTcuNDYyNjA0LCA4Mzg4LCAxLjIxNjE2NjAxOTQzOTY5NzNdLCBbMTY2Mzg0MTc5Ny41NTY0MDE3LCA4Mzk3LCAxLjI4NTAyNDUyMzczNTA0NjRdLCBbMTY2Mzg0MTc5Ny42NjI2NjQyLCA4NDA2LCAxLjIyMzIwNjg3NzcwODQzNV0sIFsxNjYzODQxNzk3Ljg2MDg4OTcsIDg0MjQsIDEuMjIwNDM5NDM0MDUxNTEzN10sIFsxNjYzODQxNzk4LjI3MDQ4NCwgODQ2MCwgMS4xODAwOTI4MTE1ODQ0NzI3XSwgWzE2NjM4NDE3OTguNDY5NjIxNywgODQ3OCwgMS4xODI1MjgwMTg5NTE0MTZdLCBbMTY2Mzg0MTc5OC41ODAxMDUsIDg0ODcsIDEuMTk1Mzk3MTM4NTk1NTgxXSwgWzE2NjM4NDE3OTguOTczNjk5NiwgODUxNCwgMS4yMDUxODk3MDQ4OTUwMTk1XSwgWzE2NjM4NDE3OTkuNzQ3MTE4MiwgODU1MCwgMS4yMDM0Nzg4MTMxNzEzODY3XSwgWzE2NjM4NDE4MDAuMTgxMTgyMSwgODU3NywgMS4yMzg1NTUwNzM3MzgwOTgxXSwgWzE2NjM4NDE4MDAuNDEyOTUwNSwgODU5NSwgMS4yMzc2OTE4NzkyNzI0NjFdLCBbMTY2Mzg0MTgwMC41MjU1MDUsIDg2MDQsIDEuMTgyOTk1MzE5MzY2NDU1XSwgWzE2NjM4NDE4MDAuNjQ0ODg3LCA4NjEzLCAxLjIyMTc5MzUzMjM3MTUyMV0sIFsxNjYzODQxODAxLjEyMTUxNjUsIDg2NDksIDEuMjIxMjExNDMzNDEwNjQ0NV0sIFsxNjYzODQxODAxLjM1MzY0NDQsIDg2NjcsIDEuMTk5NDk3ODE4OTQ2ODM4NF0sIFsxNjYzODQxODAxLjUwMzI3NiwgODY3NiwgMS4yMzQ3MTI0ODE0OTg3MTgzXSwgWzE2NjM4NDE4MDEuNjQwMTIxNSwgODY4NSwgMS4yMTUyMzY0MjUzOTk3ODAzXSwgWzE2NjM4NDE4MDEuNzU0MDM0MywgODY5NCwgMS4yMDAyNTE0NjAwNzUzNzg0XSwgWzE2NjM4NDE4MDEuOTQ4MTU2NiwgODcxMiwgMS4yMDc2NzA0NTAyMTA1NzEzXSwgWzE2NjM4NDE4MDIuMDQ0NDMxMiwgODcyMSwgMS4xNzAxNDUzOTI0MTc5MDc3XSwgWzE2NjM4NDE4MDIuMzY1MjEsIDg3NDgsIDEuMjMwMjgyNTQ1MDg5NzIxN10sIFsxNjYzODQxODAzLjAzMjQzODMsIDg3OTMsIDEuMTk3OTY0NTQ5MDY0NjM2Ml0sIFsxNjYzODQxODAzLjI2MjI5MzYsIDg4MTEsIDEuMTc5NTkwODIxMjY2MTc0M10sIFsxNjYzODQxODAzLjM4ODY5NjQsIDg4MjAsIDEuMjA0NTU3ODk1NjYwNDAwNF0sIFsxNjYzODQxODAzLjYwNjcxMTEsIDg4MzgsIDEuMTc0MzI3NzMxMTMyNTA3M10sIFsxNjYzODQxODAzLjcwODAyMzgsIDg4NDcsIDEuMTc1MDQxMzE3OTM5NzU4M10sIFsxNjYzODQxODA0LjA5NDk3MzgsIDg4ODMsIDEuMjAzMjkzNDQyNzI2MTM1M10sIFsxNjYzODQxODA0LjI4MDY1OTIsIDg5MDEsIDEuMTYzNjA2ODgyMDk1MzM3XSwgWzE2NjM4NDE4MDQuNDY3ODQyNiwgODkxOSwgMS4yNDA3MDUwMTMyNzUxNDY1XSwgWzE2NjM4NDE4MDQuNjU5NDcyNSwgODkzNywgMS4xNzQzMzYxOTQ5OTIwNjU0XSwgWzE2NjM4NDE4MDQuODQ3ODU3NywgODk1NSwgMS4xOTEyNTY2NDIzNDE2MTM4XSwgWzE2NjM4NDE4MDQuOTQ4MzkxMiwgODk2NCwgMS4xNjMwNjIwOTU2NDIwODk4XSwgWzE2NjM4NDE4MDUuMDQ3MTQzNSwgODk3MywgMS4xNjUxNzEzODQ4MTE0MDE0XSwgWzE2NjM4NDE4MDUuMjUwODQ1LCA4OTkxLCAxLjE5MTg4NjU0NDIyNzZdLCBbMTY2Mzg0MTgwNS4zNDY2NTI1LCA5MDAwLCAxLjE3NTI0MzYxNjEwNDEyNl0sIFsxNjYzODQxODA1LjYyNDAxMDMsIDkwMjcsIDEuMTg2NDc2MzQ5ODMwNjI3NF0sIFsxNjYzODQxODA1LjcxNzgzOCwgOTAzNiwgMS4xNzgxMjM1OTMzMzAzODMzXSwgWzE2NjM4NDE4MDUuODEzOTg3LCA5MDQ1LCAxLjE4MDkxMDk0NDkzODY1OTddLCBbMTY2Mzg0MTgwNS45MDY0NzYsIDkwNTQsIDEuMjAzODg1NzkzNjg1OTEzXSwgWzE2NjM4NDE4MDUuOTk3NTk1OCwgOTA2MywgMS4xODgwNzU5MDAwNzc4MTk4XSwgWzE2NjM4NDE4MDYuNjA4ODYzNiwgOTEwOCwgMS4yNDg1NzE3NTM1MDE4OTJdLCBbMTY2Mzg0MTgwNi44NTA2OTQsIDkxMjYsIDEuMTc0ODkwMTYwNTYwNjA4XSwgWzE2NjM4NDE4MDcuMTIxMjE0OSwgOTE0NCwgMS4xNjc2NDc3MTkzODMyMzk3XSwgWzE2NjM4NDE4MDcuMjQwNjIyOCwgOTE1MywgMS4xNjA3NjUyOTAyNjAzMTVdLCBbMTY2Mzg0MTgwNy4zNjI0NzI4LCA5MTYyLCAxLjE2MTY0NzA4MTM3NTEyMl0sIFsxNjYzODQxODA3Ljk1NTIzNjcsIDkyMDcsIDEuMjk1NzczMTQ4NTM2NjgyMV0sIFsxNjYzODQxODA4LjQwMjk0ODEsIDkyNDMsIDEuMTcxMTE0MzI1NTIzMzc2NV0sIFsxNjYzODQxODA4LjY0MzU1OSwgOTI2MSwgMS4xNjMyMzE3MzA0NjExMjA2XSwgWzE2NjM4NDE4MDguNzU2NTk2OCwgOTI3MCwgMS4xOTMxNjc2ODY0NjI0MDIzXSwgWzE2NjM4NDE4MDkuNzI5MTM3NCwgOTMyNCwgMS4yMjE2NzY3MDcyNjc3NjEyXSwgWzE2NjM4NDE4MDkuODI5NDI0LCA5MzMzLCAxLjIwNzA2NzQ4OTYyNDAyMzRdLCBbMTY2Mzg0MTgwOS45MjczOTIyLCA5MzQyLCAxLjIzMTkxNzAyMzY1ODc1MjRdLCBbMTY2Mzg0MTgxMC4wMjIxNTU1LCA5MzUxLCAxLjE5OTMxNjM4MjQwODE0Ml0sIFsxNjYzODQxODEwLjE2OTExNzUsIDkzNjAsIDEuMjExMzg1MDExNjcyOTczNl0sIFsxNjYzODQxODEwLjY3MTg0MywgOTM5NiwgMS4xODg1NDU4MjMwOTcyMjldLCBbMTY2Mzg0MTgxMC45NDAwNDI3LCA5NDE0LCAxLjE4ODgzOTMxNjM2ODEwM10sIFsxNjYzODQxODExLjA1NTI1NDcsIDk0MjMsIDEuMjAxMjQ2MTQyMzg3MzkwMV0sIFsxNjYzODQxODExLjc5MzIxODYsIDk0NzcsIDEuMTUyODk3MTE5NTIyMDk0N10sIFsxNjYzODQxODExLjkwOTY2MTgsIDk0ODYsIDEuMTU1OTQzNzUxMzM1MTQ0XSwgWzE2NjM4NDE4MTIuMjcwNjUwNCwgOTUxMywgMS4xOTY5NzY1NDI0NzI4Mzk0XSwgWzE2NjM4NDE4MTIuNTA1MjM4OCwgOTUzMSwgMS4xODM5NDYxMzI2NTk5MTJdLCBbMTY2Mzg0MTgxMi42MjQ0MTQyLCA5NTQwLCAxLjE2NDUwNTI0MzMwMTM5MTZdLCBbMTY2Mzg0MTgxMi43NTMzNDg0LCA5NTQ5LCAxLjE1OTkzNzM4MTc0NDM4NDhdLCBbMTY2Mzg0MTgxMi45NzYxNTA1LCA5NTY3LCAxLjE0MjIxMjYyOTMxODIzNzNdLCBbMTY2Mzg0MTgxMy4yNjA0NjI1LCA5NTk0LCAxLjE4NTA0OTg5MTQ3MTg2MjhdLCBbMTY2Mzg0MTgxMy4zNTI5MTM5LCA5NjAzLCAxLjE3MTYzMTMzNjIxMjE1ODJdLCBbMTY2Mzg0MTgxMy40NTA1MjgxLCA5NjEyLCAxLjE4Mzk3MTc2MjY1NzE2NTVdLCBbMTY2Mzg0MTgxMy42NjQwMjM2LCA5NjMwLCAxLjE2NDU0NTE3ODQxMzM5MTFdLCBbMTY2Mzg0MTgxMy43NzExNjEzLCA5NjM5LCAxLjE2MTY4MDQ1OTk3NjE5NjNdLCBbMTY2Mzg0MTgxMy44NTk5MjM2LCA5NjQ4LCAxLjIzNTI1NjE5NTA2ODM1OTRdLCBbMTY2Mzg0MTgxMy45NTQ4ODYyLCA5NjU3LCAxLjE3MDczMzU3MTA1MjU1MTNdLCBbMTY2Mzg0MTgxNC4wNDgzNzMsIDk2NjYsIDEuMTUxODIyMDkwMTQ4OTI1OF0sIFsxNjYzODQxODE0LjE0MDA2MzgsIDk2NzUsIDEuMTgwMjcxMDI5NDcyMzUxXSwgWzE2NjM4NDE4MTQuNDIyODQsIDk3MDIsIDEuMTY2Mzg3MzE5NTY0ODE5M10sIFsxNjYzODQxODE0LjUxMzY0OSwgOTcxMSwgMS4xODMzOTM0NzgzOTM1NTQ3XSwgWzE2NjM4NDE4MTQuNzE2NTMwMywgOTcyOSwgMS4xOTQ5NjAzNTU3NTg2NjddLCBbMTY2Mzg0MTgxNC44MjMxODUyLCA5NzM4LCAxLjE1NjczNTE4MTgwODQ3MTddLCBbMTY2Mzg0MTgxNC45MTc0MDg3LCA5NzQ3LCAxLjE2NTQ1ODY3OTE5OTIxODhdLCBbMTY2Mzg0MTgxNS4xOTA4NTcsIDk3NzQsIDEuMTQ2NDgyODI1Mjc5MjM1OF0sIFsxNjYzODQxODE1LjI4MzA3ODcsIDk3ODMsIDEuMTU2NDcyODAyMTYyMTcwNF0sIFsxNjYzODQxODE1LjM3NTgxMTMsIDk3OTIsIDEuMTY1Mzc3Mzc4NDYzNzQ1MV0sIFsxNjYzODQxODE1Ljc1MjgyOCwgOTgyOCwgMS4xNDM4MDA4NTQ2ODI5MjI0XSwgWzE2NjM4NDE4MTUuODQ4NzY5NCwgOTgzNywgMS4yMjU0Njk3MDg0NDI2ODhdLCBbMTY2Mzg0MTgxNi40NDU2Nzk3LCA5ODkxLCAxLjIwMzYyNTIwMjE3ODk1NV0sIFsxNjYzODQxODE2LjY0MDQ5ODksIDk5MDksIDEuMjA0MTk5NDMzMzI2NzIxMl0sIFsxNjYzODQxODE2Ljg2MjU1OCwgOTkyNywgMS4yNTQ1MzUzMTc0MjA5NTk1XSwgWzE2NjM4NDE4MTYuOTY0NjEsIDk5MzYsIDEuMTg1OTM3NzYyMjYwNDM3XSwgWzE2NjM4NDE4MTcuMTMyNTM4OCwgOTk0NSwgMS4xNzg5MTI5OTcyNDU3ODg2XSwgWzE2NjM4NDE4MTcuNDk5NTAwOCwgOTk3MiwgMS4yMzgxMTEwMTkxMzQ1MjE1XSwgWzE2NjM4NDE4MTcuNjM0Mzk4NywgOTk4MSwgMS4yMDIwNDA5MTA3MjA4MjUyXSwgWzE2NjM4NDE4MTcuNzgwMTEzNywgOTk5MCwgMS4xNTcwMjI0NzYxOTYyODldLCBbMTY2Mzg0MTgxNy45ODg0ODEzLCAxMDAwOCwgMS4yMTE0NzA3MjMxNTIxNjA2XSwgWzE2NjM4NDE4MTguMDgyNDM2OCwgMTAwMTcsIDEuMjAzOTE3MjY0OTM4MzU0NV0sIFsxNjYzODQxODE4LjI2ODMzOCwgMTAwMzUsIDEuMTcxNDMxMzAzMDI0MjkyXSwgWzE2NjM4NDE4MTguNDU4NjY4NywgMTAwNTMsIDEuMTkxMTIzMTI3OTM3MzE3XSwgWzE2NjM4NDE4MTguNzQ2NTgwOCwgMTAwODAsIDEuMTg2NDE3MjIyMDIzMDEwM10sIFsxNjYzODQxODE4Ljk1NDU1NSwgMTAwOTgsIDEuMTc5MjkyNDQwNDE0NDI4N10sIFsxNjYzODQxODE5LjI1NzEyMSwgMTAxMDcsIDEuMTc4NjU1Mzg1OTcxMDY5M10sIFsxNjYzODQxODE5LjU2ODg0NjIsIDEwMTM0LCAxLjE2MTIyODA2MDcyMjM1MV0sIFsxNjYzODQxODE5LjY2NTgzMjgsIDEwMTQzLCAxLjE3MzczMjE2MTUyMTkxMTZdLCBbMTY2Mzg0MTgxOS44NTczMDcsIDEwMTYxLCAxLjE1ODg1Mzg4ODUxMTY1NzddLCBbMTY2Mzg0MTgxOS45NjU1OTUyLCAxMDE3MCwgMS4xNjY3MjMyNTEzNDI3NzM0XSwgWzE2NjM4NDE4MjAuMDYxMzk3OCwgMTAxNzksIDEuMTU3NTcxMTk2NTU2MDkxM10sIFsxNjYzODQxODIwLjE2MTY3NzYsIDEwMTg4LCAxLjE2NTY0ODIyMTk2OTYwNDVdLCBbMTY2Mzg0MTgyMC4yNTUyNTE0LCAxMDE5NywgMS4xOTc1NjI0NTYxMzA5ODE0XSwgWzE2NjM4NDE4MjAuNDQ5NjYyNCwgMTAyMTUsIDEuMTM5MjMwNjA4OTQwMTI0NV0sIFsxNjYzODQxODIwLjU0Mzg2NTcsIDEwMjI0LCAxLjE2ODI2ODA4NDUyNjA2Ml0sIFsxNjYzODQxODIwLjYzOTU2MDUsIDEwMjMzLCAxLjE2NzgzNzczODk5MDc4MzddLCBbMTY2Mzg0MTgyMC45Mjk1NDMzLCAxMDI2MCwgMS4xNTgwMTUxMzE5NTAzNzg0XSwgWzE2NjM4NDE4MjEuMjI5NTY1MSwgMTAyODcsIDEuMTY0NDU2MzY3NDkyNjc1OF0sIFsxNjYzODQxODIxLjUzMzI3MTYsIDEwMzE0LCAxLjE5MDUzMzE2MTE2MzMzXSwgWzE2NjM4NDE4MjEuNjMxMzI2MiwgMTAzMjMsIDEuMTM3MzU3ODMxMDAxMjgxN10sIFsxNjYzODQxODIxLjgxMzY5MTEsIDEwMzQxLCAxLjE1MzA5Mjk4MDM4NDgyNjddLCBbMTY2Mzg0MTgyMS45MDQ3NjY2LCAxMDM1MCwgMS4xNjUzNzAxMDY2OTcwODI1XSwgWzE2NjM4NDE4MjEuOTk2NjQ2MiwgMTAzNTksIDEuMTUwMzU5MDM0NTM4MjY5XSwgWzE2NjM4NDE4MjIuMDk2NjA3NywgMTAzNjgsIDEuMTY2Mjk2MzYyODc2ODkyXSwgWzE2NjM4NDE4MjIuMTg3ODI5LCAxMDM3NywgMS4xNjY5MzA0MzcwODgwMTI3XSwgWzE2NjM4NDE4MjIuMjgyNTEwOCwgMTAzODYsIDEuMTk1MDQwNzAyODE5ODI0Ml0sIFsxNjYzODQxODIzLjIxNzQ0OTQsIDEwNDQ5LCAxLjIyMjI3NTYxNDczODQ2NDRdLCBbMTY2Mzg0MTgyMy40ODMzMTg4LCAxMDQ2NywgMS4xMzYwNDI4MzMzMjgyNDddLCBbMTY2Mzg0MTgyMy43MDQ0MjYzLCAxMDQ4NSwgMS4xNjY5MzgxODU2OTE4MzM1XSwgWzE2NjM4NDE4MjMuOTA5OTg4LCAxMDUwMywgMS4xODM1NDQ4NzQxOTEyODQyXSwgWzE2NjM4NDE4MjQuMDIxNjI5MywgMTA1MTIsIDEuMTkxMjE0NTYxNDYyNDAyM10sIFsxNjYzODQxODI0LjY5MjU0NSwgMTA1NjYsIDEuMTY3ODMyNjEyOTkxMzMzXSwgWzE2NjM4NDE4MjQuNzkwMzEzNSwgMTA1NzUsIDEuMTg1OTM4NTk2NzI1NDYzOV0sIFsxNjYzODQxODI0Ljk5NjI5NzEsIDEwNTkzLCAxLjIyOTIzNjM2NDM2NDYyNF0sIFsxNjYzODQxODI1LjEyNTE2MjYsIDEwNjAyLCAxLjE4MTg2MzMwNzk1Mjg4MDldLCBbMTY2Mzg0MTgyNS4yNjYyNCwgMTA2MTEsIDEuMTY2OTU1MzUxODI5NTI4OF0sIFsxNjYzODQxODI1Ljc3ODQ1MTQsIDEwNjQ3LCAxLjEzNjIwMDE4OTU5MDQ1NF0sIFsxNjYzODQxODI2LjA2MTAzMTMsIDEwNjY1LCAxLjEzNzU5NzMyMjQ2Mzk4OTNdLCBbMTY2Mzg0MTgyNi4zMjY0MTQ2LCAxMDY4MywgMS4xNTIwMjEyODg4NzE3NjUxXSwgWzE2NjM4NDE4MjYuNTcxNTgwNCwgMTA3MDEsIDEuMTQ3ODc2MjYyNjY0Nzk1XSwgWzE2NjM4NDE4MjYuNjg3ODYzMywgMTA3MTAsIDEuMTMzNDUxNzAwMjEwNTcxM10sIFsxNjYzODQxODI2LjgwMTI3NzQsIDEwNzE5LCAxLjE0NzM2NzExOTc4OTEyMzVdLCBbMTY2Mzg0MTgyNy40MTAzOTQyLCAxMDc0NiwgMS4xNjYzNjg2MDM3MDYzNTk5XSwgWzE2NjM4NDE4MjcuNTIzODk3NCwgMTA3NTUsIDEuMTQwNzA5NzU3ODA0ODcwNl0sIFsxNjYzODQxODI3LjYzODMzNjQsIDEwNzY0LCAxLjE1MDc0ODAxNDQ1MDA3MzJdLCBbMTY2Mzg0MTgyNy44NjkwMzQ1LCAxMDc4MiwgMS4xODIzMTA3MDA0MTY1NjVdLCBbMTY2Mzg0MTgyNy45NjkzMTg2LCAxMDc5MSwgMS4xNDU0Mjg1MzgzMjI0NDg3XSwgWzE2NjM4NDE4MjguMjU2NTE3MiwgMTA4MTgsIDEuMTU3ODI2NTQyODU0MzA5XSwgWzE2NjM4NDE4MjguMzQ3ODY2LCAxMDgyNywgMS4xNTIzMTUzNzgxODkwODddLCBbMTY2Mzg0MTgyOC42Nzk2MzQ2LCAxMDg1NCwgMS4xMjI3Njg0MDIwOTk2MDk0XSwgWzE2NjM4NDE4MjguODAxMzAwMywgMTA4NjMsIDEuMTYxOTQyNjAxMjAzOTE4NV0sIFsxNjYzODQxODI4Ljk0ODY2MiwgMTA4NzIsIDEuMjA1NTc1MzQ2OTQ2NzE2M10sIFsxNjYzODQxODI5LjIxMjcwODIsIDEwODkwLCAxLjEyODQwNDM3ODg5MDk5MTJdLCBbMTY2Mzg0MTgyOS43MDk3NDk3LCAxMDkyNiwgMS4xOTE2MDYxNjM5Nzg1NzY3XSwgWzE2NjM4NDE4MjkuODA3ODcwMSwgMTA5MzUsIDEuMjAyMDIzMDI5MzI3MzkyNl0sIFsxNjYzODQxODI5LjkwNzcwNDgsIDEwOTQ0LCAxLjE5MDE1MDczNzc2MjQ1MTJdLCBbMTY2Mzg0MTgzMC4xMDc1NzA2LCAxMDk2MiwgMS4xNzQ4NzAzNzE4MTg1NDI1XSwgWzE2NjM4NDE4MzAuMjAyMTU4NSwgMTA5NzEsIDEuMTUwNzcxNjE3ODg5NDA0M10sIFsxNjYzODQxODMwLjY4NzE2NDgsIDExMDE2LCAxLjE3MDc0NTI1MzU2MjkyNzJdLCBbMTY2Mzg0MTgzMC44ODYxNDU0LCAxMTAzNCwgMS4xMzgwMjE0NjkxMTYyMTFdLCBbMTY2Mzg0MTgzMS4xOTIyMzYsIDExMDYxLCAxLjE4NjU1ODYwNDI0MDQxNzVdLCBbMTY2Mzg0MTgzMS4yOTc4NDUsIDExMDcwLCAxLjE5NTgxODkwMTA2MjAxMTddLCBbMTY2Mzg0MTgzMS41ODkxOTc2LCAxMTA5NywgMS4yMTU0NzQ0ODYzNTEwMTMyXSwgWzE2NjM4NDE4MzEuNjk1MzI2NiwgMTExMDYsIDEuMTc5NDcxODUwMzk1MjAyNl0sIFsxNjYzODQxODMyLjE3MDY2MzYsIDExMTUxLCAxLjE0ODA1NzEwMzE1NzA0MzVdLCBbMTY2Mzg0MTgzMi40Mjc1NzA2LCAxMTE2OSwgMS4xNzEwMDk1NDA1NTc4NjEzXSwgWzE2NjM4NDE4MzIuNTM5Mzk5MSwgMTExNzgsIDEuMTYxNjAyOTczOTM3OTg4M10sIFsxNjYzODQxODMyLjY2NjMzMSwgMTExODcsIDEuMTg1MzI4MTI1OTUzNjc0M10sIFsxNjYzODQxODMyLjc5Mzg5NTUsIDExMTk2LCAxLjEzOTQ3NzYxMDU4ODA3MzddLCBbMTY2Mzg0MTgzMi45MTM0NTMzLCAxMTIwNSwgMS4xNTQxOTEzNzQ3Nzg3NDc2XSwgWzE2NjM4NDE4MzMuMDM1MTgxNSwgMTEyMTQsIDEuMTY4NjA1NTY2MDI0NzgwM10sIFsxNjYzODQxODMzLjE0OTYyNywgMTEyMjMsIDEuMTUwNDI0MzYxMjI4OTQyOV0sIFsxNjYzODQxODMzLjQ4NzQ5OSwgMTEyNTAsIDEuMTc0OTI2OTk2MjMxMDc5XSwgWzE2NjM4NDE4MzMuNTk5MDc0NiwgMTEyNTksIDEuMTYyNTE3OTA1MjM1MjkwNV0sIFsxNjYzODQxODMzLjcwOTYwMjQsIDExMjY4LCAxLjE1Nzk1MjMwODY1NDc4NTJdLCBbMTY2Mzg0MTgzMy44MjIzLCAxMTI3NywgMS4xNjQ0NDIzMDA3OTY1MDg4XSwgWzE2NjM4NDE4MzQuMDQ3NDY5OSwgMTEyOTUsIDEuMTU5OTI2NjUyOTA4MzI1Ml0sIFsxNjYzODQxODM0LjI4MTM2MjMsIDExMzEzLCAxLjE5ODc5Mzc2ODg4Mjc1MTVdLCBbMTY2Mzg0MTgzNC4zOTI0MzgsIDExMzIyLCAxLjE1MjE0OTIwMDQzOTQ1MzFdLCBbMTY2Mzg0MTgzNC43MjY2NjM0LCAxMTM0OSwgMS4xNDg4NDE2MTk0OTE1NzcxXSwgWzE2NjM4NDE4MzQuODQwMzE2OCwgMTEzNTgsIDEuMTM1OTY2MDYyNTQ1Nzc2NF0sIFsxNjYzODQxODM1LjE4Njc5NiwgMTEzODUsIDEuMTMxMjIzNDQwMTcwMjg4XSwgWzE2NjM4NDE4MzUuNTI5MjM0LCAxMTQxMiwgMS4xNjMwMzIyOTMzMTk3MDIxXSwgWzE2NjM4NDE4MzYuMDEzMDY3LCAxMTQ0OCwgMS4xMjk2ODAxNTY3MDc3NjM3XSwgWzE2NjM4NDE4MzYuNTkyMTQzNSwgMTE0OTMsIDEuMTU1MjQxNDg5NDEwNDAwNF0sIFsxNjYzODQxODM2LjcwOTM1NzcsIDExNTAyLCAxLjE0MzgyMzM4NTIzODY0NzVdLCBbMTY2Mzg0MTgzNy4wNTA1OTM5LCAxMTUxMSwgMS4xNTc1MDcwNjE5NTgzMTNdLCBbMTY2Mzg0MTgzNy40MTgwMzk2LCAxMTU0NywgMS4xNDc4MDUwOTQ3MTg5MzNdLCBbMTY2Mzg0MTgzNy44MTY4MzAyLCAxMTU3NCwgMS4yMTQ1MDQ3MTg3ODA1MTc2XSwgWzE2NjM4NDE4MzguNDQ3MDkwOSwgMTE2MTksIDEuMTYxODQ2MTYwODg4NjcxOV0sIFsxNjYzODQxODM4Ljc4MjIzMTgsIDExNjQ2LCAxLjE0OTQwNTk1NjI2ODMxMDVdLCBbMTY2Mzg0MTgzOS4xMzc1MTg2LCAxMTY3MywgMS4xNDA3MDQ2MzE4MDU0Ml0sIFsxNjYzODQxODM5LjM3MDkxOTUsIDExNjkxLCAxLjEzNjc2NjA3NjA4Nzk1MTddLCBbMTY2Mzg0MTgzOS40OTAzNjQsIDExNzAwLCAxLjEzMzYxMTMyMTQ0OTI3OThdLCBbMTY2Mzg0MTgzOS44MzAyMjI0LCAxMTcyNywgMS4xMzk5OTUzMzY1MzI1OTI4XSwgWzE2NjM4NDE4NDAuMzAxMjgyLCAxMTc2MywgMS4xMzQ5Mjc3NDk2MzM3ODldLCBbMTY2Mzg0MTg0MC43ODE1NjkyLCAxMTc5OSwgMS4xODEzMDU0MDg0Nzc3ODMyXSwgWzE2NjM4NDE4NDEuMjU4ODE2LCAxMTgzNSwgMS4xMzkwNjA5NzQxMjEwOTM4XSwgWzE2NjM4NDE4NDEuMzczOTk4LCAxMTg0NCwgMS4xMzg0MjMwODUyMTI3MDc1XSwgWzE2NjM4NDE4NDEuOTQxMzI1NywgMTE4ODksIDEuMTkyNjY5NjMwMDUwNjU5Ml0sIFsxNjYzODQxODQyLjEzNzQ1OTUsIDExOTA3LCAxLjE2NTcwMDE5NzIxOTg0ODZdLCBbMTY2Mzg0MTg0Mi4yMzc0MjQxLCAxMTkxNiwgMS4xNDIyMjcyOTIwNjA4NTJdLCBbMTY2Mzg0MTg0Mi40NDM4Njc0LCAxMTkzNCwgMS4xMzc5NzkwMzA2MDkxMzA5XSwgWzE2NjM4NDE4NDIuNTQyNTI3NCwgMTE5NDMsIDEuMTQ4NTY3MTk5NzA3MDMxMl0sIFsxNjYzODQxODQyLjczNDMxNDQsIDExOTYxLCAxLjE0NDMyNjA5MDgxMjY4M10sIFsxNjYzODQxODQzLjYwNzAxMTYsIDEyMDI0LCAxLjE4MjczNzU4ODg4MjQ0NjNdLCBbMTY2Mzg0MTg0NC42MjM0MjIsIDEyMTA1LCAxLjEyNzI1MDE5NDU0OTU2MDVdLCBbMTY2Mzg0MTg0NC43MzcyNzEsIDEyMTE0LCAxLjE3MTgyODE1MDc0OTIwNjVdLCBbMTY2Mzg0MTg0NC45NzAyOSwgMTIxMzIsIDEuMTc4MjEzNTk2MzQzOTk0MV0sIFsxNjYzODQxODQ1LjA4NTU1OTgsIDEyMTQxLCAxLjIwMzQyMjE4ODc1ODg1XSwgWzE2NjM4NDE4NDUuNDMwNjc3LCAxMjE2OCwgMS4xNTA0OTE0NzYwNTg5Nl0sIFsxNjYzODQxODQ1LjU0MjE0MSwgMTIxNzcsIDEuMTk1NzU4MzQyNzQyOTJdLCBbMTY2Mzg0MTg0NS43NjQwMjU3LCAxMjE5NSwgMS4xNTAxNzQyNjAxMzk0NjUzXSwgWzE2NjM4NDE4NDYuMTk3MjE1NiwgMTIyMzEsIDEuMTMwNjk3MTMxMTU2OTIxNF0sIFsxNjYzODQxODQ2LjQzMjI2MywgMTIyNDksIDEuMTM1OTIyNjcwMzY0Mzc5OV0sIFsxNjYzODQxODQ2LjkwMTE2NTcsIDEyMjg1LCAxLjEzNTkwMTIxMjY5MjI2MDddLCBbMTY2Mzg0MTg0Ny4wMDkxMzk1LCAxMjI5NCwgMS4xMzkyMTQ3NTQxMDQ2MTQzXSwgWzE2NjM4NDE4NDcuMTI2NjczNSwgMTIzMDMsIDEuMTI2MjM3OTg4NDcxOTg0OV0sIFsxNjYzODQxODQ3LjQ4OTIyOTcsIDEyMzEyLCAxLjEzMzI3MjE3MTAyMDUwNzhdLCBbMTY2Mzg0MTg0Ny41OTA3NzcsIDEyMzIxLCAxLjEzNjMxNzcyOTk0OTk1MTJdLCBbMTY2Mzg0MTg0Ny45OTgzODgsIDEyMzU3LCAxLjEzMzExOTEwNjI5MjcyNDZdLCBbMTY2Mzg0MTg0OC4wOTk0MzA4LCAxMjM2NiwgMS4xMTU5Nzk2NzE0NzgyNzE1XSwgWzE2NjM4NDE4NDguMzY1MTM1MiwgMTIzODQsIDEuMTc4NDg2MjI3OTg5MTk2OF0sIFsxNjYzODQxODQ4LjQ4MTM0MjMsIDEyMzkzLCAxLjEzNjA5OTQ1Nzc0MDc4MzddLCBbMTY2Mzg0MTg0OC45NDE1OTAzLCAxMjQyOSwgMS4xNjIwNTU0OTI0MDExMjNdLCBbMTY2Mzg0MTg0OS41MTQxODEsIDEyNDc0LCAxLjEyOTAzODgxMDcyOTk4MDVdLCBbMTY2Mzg0MTg0OS42MzY1Mjg1LCAxMjQ4MywgMS4xNDEzMTE2NDU1MDc4MTI1XSwgWzE2NjM4NDE4NTAuMTA3MzAyNywgMTI1MTksIDEuMTYyODIxNTMxMjk1Nzc2NF0sIFsxNjYzODQxODUwLjQ4NjM4NjgsIDEyNTQ2LCAxLjEzMjUwOTIzMTU2NzM4MjhdLCBbMTY2Mzg0MTg1MC45NTgyNDcyLCAxMjU4MiwgMS4xNDAxMTg3MTgxNDcyNzc4XSwgWzE2NjM4NDE4NTEuMzA2NzEyNiwgMTI2MDksIDEuMTY2ODY4Njg2Njc2MDI1NF0sIFsxNjYzODQxODUxLjY2MDkxMSwgMTI2MzYsIDEuMTc1MjkzMjA3MTY4NTc5XSwgWzE2NjM4NDE4NTEuODgzMjg0NiwgMTI2NTQsIDEuMTQ5NDUxNDk0MjE2OTE5XSwgWzE2NjM4NDE4NTIuNzg3MzU2MSwgMTI3MjYsIDEuMTYyODk3MjI5MTk0NjQxMV0sIFsxNjYzODQxODUzLjE1MTE4MjIsIDEyNzUzLCAxLjE2ODIxODYxMjY3MDg5ODRdLCBbMTY2Mzg0MTg1My4yNjM5NDYsIDEyNzYyLCAxLjE3ODE1MDI5NjIxMTI0MjddLCBbMTY2Mzg0MTg1My41MTAzMDMsIDEyNzgwLCAxLjE0NjUzMjA1ODcxNTgyMDNdLCBbMTY2Mzg0MTg1My43NDU2NTc3LCAxMjc5OCwgMS4xNzI4MTIyMjM0MzQ0NDgyXSwgWzE2NjM4NDE4NTMuODQyODE5MiwgMTI4MDcsIDEuMTUxODE0NTc5OTYzNjg0XSwgWzE2NjM4NDE4NTQuNjg2ODEyOSwgMTI4ODgsIDEuMTQxNDkxNjUxNTM1MDM0Ml0sIFsxNjYzODQxODU0Ljc3NzA3MTUsIDEyODk3LCAxLjEzODc1Njk5MDQzMjczOTNdLCBbMTY2Mzg0MTg1NS4xNTg0NTk3LCAxMjkzMywgMS4xNzIzNjY3MzgzMTkzOTddLCBbMTY2Mzg0MTg1NS4zNTQxOTY1LCAxMjk1MSwgMS4xNzU2MDMwMzIxMTIxMjE2XSwgWzE2NjM4NDE4NTUuNDU1NTY1MiwgMTI5NjAsIDEuMTUzNTI3NjE3NDU0NTI4OF0sIFsxNjYzODQxODU1LjU1MTI0NzEsIDEyOTY5LCAxLjE3NTk1Njk2NDQ5Mjc5NzldLCBbMTY2Mzg0MTg1NS42NDM5ODM0LCAxMjk3OCwgMS4xNDA1MTEzOTM1NDcwNThdLCBbMTY2Mzg0MTg1NS45MTg1OTU2LCAxMzAwNSwgMS4xMjg0NTcxODg2MDYyNjIyXSwgWzE2NjM4NDE4NTYuMTAwOTE3LCAxMzAyMywgMS4xNjc3MzQxNDYxMTgxNjRdLCBbMTY2Mzg0MTg1Ni4xODk4NDEzLCAxMzAzMiwgMS4xMjc1NTkwNjU4MTg3ODY2XSwgWzE2NjM4NDE4NTYuMjc4NTUxMywgMTMwNDEsIDEuMTE4NDc4Mjk4MTg3MjU1OV0sIFsxNjYzODQxODU2LjM3Mzc5ODgsIDEzMDUwLCAxLjE0MzY1MTM2NjIzMzgyNTddLCBbMTY2Mzg0MTg1Ni40NzMzMzUsIDEzMDU5LCAxLjE2NTE0NDY4MTkzMDU0Ml0sIFsxNjYzODQxODU2LjU3MTczNjYsIDEzMDY4LCAxLjE1NTkyMTMzOTk4ODcwODVdLCBbMTY2Mzg0MTg1Ni42Njg0ODczLCAxMzA3NywgMS4xNDA4OTI3NDQwNjQzMzFdLCBbMTY2Mzg0MTg1Ni44NTM0NTc3LCAxMzA5NSwgMS4xNDkxNzg2MjQxNTMxMzcyXSwgWzE2NjM4NDE4NTYuOTYxNTEwNywgMTMxMDQsIDEuMTM2NTE1MDIxMzI0MTU3N10sIFsxNjYzODQxODU3LjI3MjE0MzYsIDEzMTEzLCAxLjEzMzU0NDY4MzQ1NjQyMV0sIFsxNjYzODQxODU3LjM2MDQ2OCwgMTMxMjIsIDEuMTE0MDE5OTg5OTY3MzQ2Ml0sIFsxNjYzODQxODU3LjQ3NDM2MzYsIDEzMTMxLCAxLjEzOTk2Njk2NDcyMTY3OTddLCBbMTY2Mzg0MTg1Ny42MDg3MzcyLCAxMzE0MCwgMS4xMDk2MTI4MjI1MzI2NTM4XSwgWzE2NjM4NDE4NTcuNzE1ODQ1MywgMTMxNDksIDEuMTI3MTYxNzQxMjU2NzEzOV0sIFsxNjYzODQxODU3LjgwNTUxOTYsIDEzMTU4LCAxLjEyODM4ODE2NjQyNzYxMjNdLCBbMTY2Mzg0MTg1OC4wNTQ1OTY3LCAxMzE3NiwgMS4xNTk4NjgyNDAzNTY0NDUzXSwgWzE2NjM4NDE4NTguOTg2MDg5LCAxMzIzOSwgMS4xMzU0MjI1ODczOTQ3MTQ0XSwgWzE2NjM4NDE4NTkuMzM5NTIxNiwgMTMyNjYsIDEuMTMxMDY1MzY4NjUyMzQzOF0sIFsxNjYzODQxODU5LjQ0MjY1MDYsIDEzMjc1LCAxLjEzMzA4ODQ2OTUwNTMxXSwgWzE2NjM4NDE4NTkuNjQ1Njc5NSwgMTMyOTMsIDEuMTQ3ODc0OTUxMzYyNjA5OV0sIFsxNjYzODQxODYwLjE4ODg1NjEsIDEzMzM4LCAxLjE1NzA0NzI3MTcyODUxNTZdLCBbMTY2Mzg0MTg2MC4yODUwNzA0LCAxMzM0NywgMS4xMzA3MzQ0NDM2NjQ1NTA4XSwgWzE2NjM4NDE4NjAuMzgzNzM0NSwgMTMzNTYsIDEuMTE4MjgxOTYwNDg3MzY1N10sIFsxNjYzODQxODYwLjgxNTkxMjcsIDEzMzkyLCAxLjIxMjkwOTkzNjkwNDkwNzJdLCBbMTY2Mzg0MTg2MS4wNzI4MjEsIDEzNDEwLCAxLjIyNzYzNzc2Nzc5MTc0OF0sIFsxNjYzODQxODYxLjE3MDYxMzgsIDEzNDE5LCAxLjE1MjQwNjgxMTcxNDE3MjRdLCBbMTY2Mzg0MTg2MS4yNjg3MDM1LCAxMzQyOCwgMS4xNjU1NzMyMzkzMjY0NzddLCBbMTY2Mzg0MTg2MS40NTQ1Nzg5LCAxMzQ0NiwgMS4xNDc3MDE5Nzg2ODM0NzE3XSwgWzE2NjM4NDE4NjEuNTQ0MTEzMiwgMTM0NTUsIDEuMTEyODcwNTczOTk3NDk3Nl0sIFsxNjYzODQxODYxLjk3NDYwMjIsIDEzNDkxLCAxLjE1NDA2MTA3OTAyNTI2ODZdLCBbMTY2Mzg0MTg2Mi4xMTE3MTA4LCAxMzUwMCwgMS4xNDc3MzQ5OTk2NTY2NzcyXSwgWzE2NjM4NDE4NjIuMjUwNjQwNiwgMTM1MDksIDEuMTE2NjQ2NTI4MjQ0MDE4Nl0sIFsxNjYzODQxODYyLjQ5ODkyNjYsIDEzNTI3LCAxLjE0OTI0OTE5NjA1MjU1MTNdLCBbMTY2Mzg0MTg2Mi44MzYxMTEzLCAxMzU1NCwgMS4xNDA4ODI4NDk2OTMyOTgzXSwgWzE2NjM4NDE4NjMuMzMwODA1LCAxMzU5MCwgMS4xMTAzMTAzMTYwODU4MTU0XSwgWzE2NjM4NDE4NjMuNDQ4MjIyMiwgMTM1OTksIDEuMTQwNDI0OTY2ODEyMTMzOF0sIFsxNjYzODQxODYzLjU2MDY3NzMsIDEzNjA4LCAxLjE4OTAwOTc4NTY1MjE2MDZdLCBbMTY2Mzg0MTg2My44MDUyNDg1LCAxMzYyNiwgMS4xODA4OTg0Mjc5NjMyNTY4XSwgWzE2NjM4NDE4NjQuMDQwMzU5MywgMTM2NDQsIDEuMTgzNjg1Nzc5NTcxNTMzMl0sIFsxNjYzODQxODY0LjE1ODYxMDMsIDEzNjUzLCAxLjEzNjA1NDE1ODIxMDc1NDRdLCBbMTY2Mzg0MTg2NC44OTc5NjA3LCAxMzcxNiwgMS4xMzU2MzUxMzc1NTc5ODM0XSwgWzE2NjM4NDE4NjUuMTk4OTU3LCAxMzc0MywgMS4xMjkyMzMxMjE4NzE5NDgyXSwgWzE2NjM4NDE4NjUuNDA2NDU5MywgMTM3NjEsIDEuMTA2ODQwMDE0NDU3NzAyNl0sIFsxNjYzODQxODY2LjE4MDY1NzQsIDEzODE1LCAxLjEyMDgzOTk1MzQyMjU0NjRdLCBbMTY2Mzg0MTg2Ni41MjY1MTMzLCAxMzg0MiwgMS4xMzY3MzAwNzQ4ODI1MDczXSwgWzE2NjM4NDE4NjYuNjUyMjg4NywgMTM4NTEsIDEuMjUyODk4OTMxNTAzMjk2XSwgWzE2NjM4NDE4NjcuMjYwODQ2LCAxMzg3OCwgMS4yMTQwNjEwMjE4MDQ4MDk2XSwgWzE2NjM4NDE4NjcuOTcwMjUwMSwgMTM5MzIsIDEuMTI3MzkwODYxNTExMjMwNV0sIFsxNjYzODQxODY4LjA5ODI4MSwgMTM5NDEsIDEuMTYzNDU3MzkzNjQ2MjQwMl0sIFsxNjYzODQxODY4LjQ0MTYzMzIsIDEzOTY4LCAxLjEzODQ5OTQ5ODM2NzMwOTZdLCBbMTY2Mzg0MTg2OC41NTIyNTk3LCAxMzk3NywgMS4xMjIxNzA0NDgzMDMyMjI3XSwgWzE2NjM4NDE4NjguNjY0MTA0NSwgMTM5ODYsIDEuMTYzNzEyMDI0Njg4NzIwN10sIFsxNjYzODQxODY4Ljg4NDQ2MTksIDE0MDA0LCAxLjEzMjA1OTY5MzMzNjQ4NjhdLCBbMTY2Mzg0MTg2OS4xMDUyNzMyLCAxNDAyMiwgMS4xMzIxNDE1OTAxMTg0MDgyXSwgWzE2NjM4NDE4NjkuNTk5MzY1NywgMTQwNjcsIDEuMTc3MDE1NTQyOTg0MDA4OF0sIFsxNjYzODQxODY5Ljc4ODAzMzIsIDE0MDg1LCAxLjEzNDAxOTAxNzIxOTU0MzVdLCBbMTY2Mzg0MTg2OS44ODU1NzgsIDE0MDk0LCAxLjE1MTAyNjEyOTcyMjU5NTJdLCBbMTY2Mzg0MTg2OS45ODE4Mzk0LCAxNDEwMywgMS4xMTk3OTkwMTc5MDYxODldLCBbMTY2Mzg0MTg3MC4xNzcwNzE2LCAxNDEyMSwgMS4xMTMwNDA1NjY0NDQzOTddLCBbMTY2Mzg0MTg3MC4zNjU1MjQzLCAxNDEzOSwgMS4xODYwMDk1MjYyNTI3NDY2XSwgWzE2NjM4NDE4NzAuNDY2ODU2LCAxNDE0OCwgMS4xMzU4Mjc1NDEzNTEzMTg0XSwgWzE2NjM4NDE4NzAuNTU5MzIzNSwgMTQxNTcsIDEuMTc4MzMwNjU5ODY2MzMzXSwgWzE2NjM4NDE4NzAuNjkzMjE1MSwgMTQxNjYsIDEuMTk2MTMzMTM2NzQ5MjY3Nl0sIFsxNjYzODQxODcxLjA5NDE0NDMsIDE0MTkzLCAxLjE1MTE3MDM3Mjk2Mjk1MTddLCBbMTY2Mzg0MTg3MS4zNzE5OTc0LCAxNDIxMSwgMS4yNzcwNTY2OTQwMzA3NjE3XSwgWzE2NjM4NDE4NzEuNjA0NTI0NCwgMTQyMjksIDEuMTIzMzEyNzExNzE1Njk4Ml0sIFsxNjYzODQxODcxLjczOTIyOTcsIDE0MjM4LCAxLjEzMzI0NzczMzExNjE1XSwgWzE2NjM4NDE4NzEuODYwMzE5OSwgMTQyNDcsIDEuMTQ0OTE4NDQxNzcyNDYxXSwgWzE2NjM4NDE4NzIuMTk4NDY3NywgMTQyNzQsIDEuMTYzMDcwNjc4NzEwOTM3NV0sIFsxNjYzODQxODcyLjc3NDQwNjQsIDE0MzE5LCAxLjE0MzgxOTQ1MTMzMjA5MjNdLCBbMTY2Mzg0MTg3My4zODQyMjAxLCAxNDM2NCwgMS4xNTc3MzI2MDU5MzQxNDNdLCBbMTY2Mzg0MTg3My40OTYwNSwgMTQzNzMsIDEuMTU1NTMyMjQwODY3NjE0N10sIFsxNjYzODQxODczLjYxNTAyMSwgMTQzODIsIDEuMTUwNjk0MDEyNjQxOTA2N10sIFsxNjYzODQxODc0LjA3NDkwOTcsIDE0NDE4LCAxLjE2ODU5NTQzMzIzNTE2ODVdLCBbMTY2Mzg0MTg3NC4xOTE2NDUxLCAxNDQyNywgMS4xMTk3NjMwMTY3MDA3NDQ2XSwgWzE2NjM4NDE4NzQuMzA2NjUxNCwgMTQ0MzYsIDEuMTE2Mjk1Njk1MzA0ODcwNl0sIFsxNjYzODQxODc1LjExNTk5MDksIDE0NDk5LCAxLjEwOTQzOTM3MzAxNjM1NzRdLCBbMTY2Mzg0MTg3NS4yMzA2NzE2LCAxNDUwOCwgMS4xNTE5OTEyNDgxMzA3OTgzXSwgWzE2NjM4NDE4NzUuNDYyNzI2LCAxNDUyNiwgMS4xNjM3MDMzMjI0MTA1ODM1XSwgWzE2NjM4NDE4NzUuNTgwODczLCAxNDUzNSwgMS4xNTI0NDMyODk3NTY3NzVdLCBbMTY2Mzg0MTg3NS44MTI2MzY5LCAxNDU1MywgMS4xNjI5MjQxNzA0OTQwNzk2XSwgWzE2NjM4NDE4NzYuNDkzMDQzMiwgMTQ2MDcsIDEuMTc5Mjc3MDYyNDE2MDc2N10sIFsxNjYzODQxODc2Ljc0Mzg1ODMsIDE0NjI1LCAxLjE0OTk0MDcyOTE0MTIzNTRdLCBbMTY2Mzg0MTg3Ni45Nzk1NjU2LCAxNDY0MywgMS4yNDU5MzU0NDAwNjM0NzY2XSwgWzE2NjM4NDE4NzcuMDg5NzMzOCwgMTQ2NTIsIDEuMTM3NTU2NDMzNjc3NjczM10sIFsxNjYzODQxODc3Ljc0MjA1MjgsIDE0Njg4LCAxLjE3MTc5OTMwMjEwMTEzNTNdLCBbMTY2Mzg0MTg3OC4xMzY4NDYsIDE0NzI0LCAxLjEzMzYwNjU1MzA3NzY5NzhdLCBbMTY2Mzg0MTg3OC4yMzM1NDM0LCAxNDczMywgMS4xNTkxOTM5OTI2MTQ3NDZdLCBbMTY2Mzg0MTg3OC4zMjM4MDMsIDE0NzQyLCAxLjEzNDU2NzczNzU3OTM0NTddLCBbMTY2Mzg0MTg3OC42MzM5MDQsIDE0NzY5LCAxLjExNTM1ODM1MjY2MTEzMjhdLCBbMTY2Mzg0MTg3OC43MjczMjksIDE0Nzc4LCAxLjEyNTg4Mjc0NDc4OTEyMzVdLCBbMTY2Mzg0MTg3OS4yMzE5NTc0LCAxNDgyMywgMS4xNjA2ODM1MTI2ODc2ODNdLCBbMTY2Mzg0MTg3OS4zMjI2MTU2LCAxNDgzMiwgMS4xMTEyMDg0Mzg4NzMyOTFdLCBbMTY2Mzg0MTg3OS41MDc1MzA1LCAxNDg1MCwgMS4xNDEwMTg4Njc0OTI2NzU4XSwgWzE2NjM4NDE4NzkuNjk2MTM5NiwgMTQ4NjgsIDEuMTM0OTAwNTY5OTE1NzcxNV0sIFsxNjYzODQxODc5Ljc5MTczMTYsIDE0ODc3LCAxLjExNjkyNjc4OTI4Mzc1MjRdLCBbMTY2Mzg0MTg3OS44ODY2Nzg1LCAxNDg4NiwgMS4xNjI5MjQ0MDg5MTI2NTg3XSwgWzE2NjM4NDE4NzkuOTc3NTQ3LCAxNDg5NSwgMS4yNjg5MDIwNjMzNjk3NTFdLCBbMTY2Mzg0MTg4MC4xODE3MDQsIDE0OTEzLCAxLjE2ODk2OTg2OTYxMzY0NzVdLCBbMTY2Mzg0MTg4MC4zNjY5NjUsIDE0OTMxLCAxLjE4ODA5NTU2OTYxMDU5NTddLCBbMTY2Mzg0MTg4MC43Mjg5Mzg4LCAxNDk2NywgMS4xNTAyMzE0ODA1OTg0NDk3XSwgWzE2NjM4NDE4ODAuOTE2OTUyNiwgMTQ5ODUsIDEuMTIxNDUxNzM1NDk2NTIxXSwgWzE2NjM4NDE4ODEuMTAyNjEzNywgMTUwMDMsIDEuMTk1NjMwNDMxMTc1MjMyXSwgWzE2NjM4NDE4ODEuMzg4MzIxNiwgMTUwMzAsIDEuMjA0NzI3MDUzNjQyMjczXSwgWzE2NjM4NDE4ODEuNDgyNzY4NSwgMTUwMzksIDEuMTg5MTkyMDU2NjU1ODgzOF0sIFsxNjYzODQxODgxLjg3NjM3NTQsIDE1MDc1LCAxLjE3NTIxMzgxMzc4MTczODNdLCBbMTY2Mzg0MTg4Mi4xNjUyMjMxLCAxNTEwMiwgMS4xODI2ODcyODI1NjIyNTU5XSwgWzE2NjM4NDE4ODIuMzYyMTc0NywgMTUxMjAsIDEuMTE2MTY1Mzk5NTUxMzkxNl0sIFsxNjYzODQxODgyLjQ2MjY4NywgMTUxMjksIDEuMTIzMjEzNDEwMzc3NTAyNF0sIFsxNjYzODQxODgyLjU1ODA2NzYsIDE1MTM4LCAxLjA5MDI4NTA2Mjc4OTkxN10sIFsxNjYzODQxODgyLjY1Mzg1NzIsIDE1MTQ3LCAxLjExMDk0Mjk1OTc4NTQ2MTRdLCBbMTY2Mzg0MTg4Mi45ODY0NDYsIDE1MTc0LCAxLjE0Mjg5OTE1NTYxNjc2MDNdLCBbMTY2Mzg0MTg4My4xMjc4MjEsIDE1MTgzLCAxLjE1NjAwMDI1NjUzODM5MTFdLCBbMTY2Mzg0MTg4My4yMjU1NzgzLCAxNTE5MiwgMS4xMjY4Nzc5MDM5MzgyOTM1XSwgWzE2NjM4NDE4ODMuMzI0NTYwOSwgMTUyMDEsIDEuMDk5ODYyMDk4NjkzODQ3N10sIFsxNjYzODQxODgzLjgxMDk1NTMsIDE1MjQ2LCAxLjExNjg0ODgyNjQwODM4NjJdLCBbMTY2Mzg0MTg4My45MDk1NTQ1LCAxNTI1NSwgMS4xMTEyNjQzNDgwMzAwOTAzXSwgWzE2NjM4NDE4ODQuMDQ3ODU4NSwgMTUyNjQsIDEuMTE4MjY4MjUxNDE5MDY3NF0sIFsxNjYzODQxODg0LjMwMzA0MywgMTUyODIsIDEuMTcxNjU2NDg5MzcyMjUzNF0sIFsxNjYzODQxODg0LjQyNzEwODgsIDE1MjkxLCAxLjIxNTk3MjU0Mjc2Mjc1NjNdLCBbMTY2Mzg0MTg4NC41NTgwMzU2LCAxNTMwMCwgMS4yNDgzNDUzNzUwNjEwMzUyXSwgWzE2NjM4NDE4ODQuNjgxNzY2NywgMTUzMDksIDEuMTYwNTAxMTIyNDc0NjcwNF0sIFsxNjYzODQxODg0LjkyMDQ5ODQsIDE1MzI3LCAxLjEzMjE1NjYxMDQ4ODg5MTZdLCBbMTY2Mzg0MTg4NS4xNzM5MzE0LCAxNTM0NSwgMS4xMjgxNzY0NTA3MjkzNzAxXSwgWzE2NjM4NDE4ODUuNTU5Nzk5MiwgMTUzNzIsIDEuMTE3NDMxNzU5ODM0Mjg5Nl0sIFsxNjYzODQxODg1LjgwNDY2MjUsIDE1MzkwLCAxLjEwNTMyMTI4ODEwODgyNTddLCBbMTY2Mzg0MTg4NS45MjM1NTE2LCAxNTM5OSwgMS4xNDIyMjM3MTU3ODIxNjU1XSwgWzE2NjM4NDE4ODYuMzAzMDEwMiwgMTU0MDgsIDEuMTIxMzM3NDEzNzg3ODQxOF0sIFsxNjYzODQxODg2LjQxNTQzNiwgMTU0MTcsIDEuMTE4NDA1ODE4OTM5MjA5XSwgWzE2NjM4NDE4ODcuMTM3NzczOCwgMTU0NzEsIDEuMTAzNzU1MjM1NjcxOTk3XSwgWzE2NjM4NDE4ODcuMjM3ODM3LCAxNTQ4MCwgMS4xMDg5MzY0MjkwMjM3NDI3XSwgWzE2NjM4NDE4ODcuNTE5ODYxNywgMTU1MDcsIDEuMTM2NDE0MTcwMjY1MTk3OF0sIFsxNjYzODQxODg3LjYxNTk1MjcsIDE1NTE2LCAxLjEzNzUyODE4MTA3NjA0OThdLCBbMTY2Mzg0MTg4Ny43MTMyOTc2LCAxNTUyNSwgMS4xNzUyMDU1ODgzNDA3NTkzXSwgWzE2NjM4NDE4ODcuODEwMjQ1LCAxNTUzNCwgMS4xMzIxMTE0MzAxNjgxNTE5XSwgWzE2NjM4NDE4ODguNDExMjAxLCAxNTU3OSwgMS4xMDI3NjQyNDg4NDc5NjE0XSwgWzE2NjM4NDE4ODkuMzIzMjU5OCwgMTU2NTEsIDEuMTE3MDE5ODkxNzM4ODkxNl0sIFsxNjYzODQxODg5LjQyMjkyMzgsIDE1NjYwLCAxLjEzMjU0MTA2MDQ0NzY5MjldLCBbMTY2Mzg0MTg4OS41NDAxMjc1LCAxNTY2OSwgMS4xODAwOTE1MDAyODIyODc2XSwgWzE2NjM4NDE4ODkuODg4OTQ3NSwgMTU2OTYsIDEuMTI2NjgwMzc0MTQ1NTA3OF0sIFsxNjYzODQxODkwLjE1OTc5OTMsIDE1NzE0LCAxLjE0MjIwMjYxNTczNzkxNV0sIFsxNjYzODQxODkwLjQ5ODE5OTcsIDE1NzQxLCAxLjEzNDc0ODEwMTIzNDQzNl0sIFsxNjYzODQxODkwLjYwOTUwMTEsIDE1NzUwLCAxLjEyNzM0NTgwMDM5OTc4MDNdLCBbMTY2Mzg0MTg5MC43MTU5MTA3LCAxNTc1OSwgMS4xMDkyNDExMjc5Njc4MzQ1XSwgWzE2NjM4NDE4OTAuODI4MTI0OCwgMTU3NjgsIDEuMTM0MzA5MDUzNDIxMDIwNV0sIFsxNjYzODQxODkxLjA1NDM0MjUsIDE1Nzg2LCAxLjE5ODc0NTEzMTQ5MjYxNDddLCBbMTY2Mzg0MTg5MS4xNzU2NTYsIDE1Nzk1LCAxLjI2NTA1MjMxODU3Mjk5OF0sIFsxNjYzODQxODkxLjUyMjIwNCwgMTU4MjIsIDEuMTMwMDk0NzY2NjE2ODIxM10sIFsxNjYzODQxODkyLjEyODY4MTIsIDE1ODY3LCAxLjEyNDY1NTEyNzUyNTMyOTZdLCBbMTY2Mzg0MTg5Mi4yMzQ5NjcyLCAxNTg3NiwgMS4xNTgwNjMwNTQwODQ3Nzc4XSwgWzE2NjM4NDE4OTIuNDk4ODA4LCAxNTg5NCwgMS4xMTAzMTkwMTgzNjM5NTI2XSwgWzE2NjM4NDE4OTIuNjU5MjEsIDE1OTAzLCAxLjEwNzExMTU3MzIxOTI5OTNdLCBbMTY2Mzg0MTg5Mi44OTMyNzk4LCAxNTkyMSwgMS4xMzU3NDAwNDE3MzI3ODhdLCBbMTY2Mzg0MTg5My43MjMyODgsIDE1OTg0LCAxLjEyMjE0NDgxODMwNTk2OTJdLCBbMTY2Mzg0MTg5My44MjQ5NTY0LCAxNTk5MywgMS4xMjI0MzU4MDgxODE3NjI3XSwgWzE2NjM4NDE4OTMuOTQwNDQ0NSwgMTYwMDIsIDEuMTIyMjk4MDAyMjQzMDQyXSwgWzE2NjM4NDE4OTQuMzEwMzIzNSwgMTYwMjksIDEuMTQxMjk0NzE3Nzg4Njk2M10sIFsxNjYzODQxODk0LjgxMTYwMDIsIDE2MDY1LCAxLjExODQ2MjgwMDk3OTYxNDNdLCBbMTY2Mzg0MTg5NC45NDM1MywgMTYwNzQsIDEuMTAyODE2ODIwMTQ0NjUzM10sIFsxNjYzODQxODk1LjA2NTgxNSwgMTYwODMsIDEuMTMzNjA0NDA3MzEwNDg1OF0sIFsxNjYzODQxODk1LjE4NjE3MzcsIDE2MDkyLCAxLjA5NzI1MTc3Mjg4MDU1NDJdLCBbMTY2Mzg0MTg5NS40MjE0MjEsIDE2MTEwLCAxLjE4ODc0OTU1MTc3MzA3MTNdLCBbMTY2Mzg0MTg5NS41NDE3MjY0LCAxNjExOSwgMS4xNTA4MTc4NzEwOTM3NV0sIFsxNjYzODQxODk1Ljc3MDA3OTksIDE2MTM3LCAxLjE0MjI0NTI5MjY2MzU3NDJdLCBbMTY2Mzg0MTg5NS45NjAyNDgyLCAxNjE1NSwgMS4xMDU5Njc2NDA4NzY3N10sIFsxNjYzODQxODk2LjE0OTAzMzgsIDE2MTczLCAxLjE0NDc0NTQ2OTA5MzMyMjhdLCBbMTY2Mzg0MTg5Ni4yNDkxMjQzLCAxNjE4MiwgMS4xMjQzMzc0MzQ3Njg2NzY4XSwgWzE2NjM4NDE4OTYuNzUyODEyNiwgMTYyMDksIDEuMTA2ODg3MzQwNTQ1NjU0M10sIFsxNjYzODQxODk2Ljk4NjQ5NCwgMTYyMjcsIDEuMTQzNzk2MzI0NzI5OTE5NF0sIFsxNjYzODQxODk3LjA4NjA2OTMsIDE2MjM2LCAxLjE2NDM0NjIxODEwOTEzMDldLCBbMTY2Mzg0MTg5Ny4xNzk2MDMsIDE2MjQ1LCAxLjEzNTAwMDIyODg4MTgzNl0sIFsxNjYzODQxODk3LjY2OTY1NTYsIDE2MjgxLCAxLjExNzczOTc5NjYzODQ4ODhdLCBbMTY2Mzg0MTg5Ny45MzUyNjI3LCAxNjI5OSwgMS4xMjY1NzAzNDM5NzEyNTI0XSwgWzE2NjM4NDE4OTguNDU3NDMyMywgMTYzMzUsIDEuMTI5NTgwMjU5MzIzMTIwMV0sIFsxNjYzODQxODk4LjY4Njg2OTksIDE2MzUzLCAxLjEzNTgxNTczOTYzMTY1MjhdLCBbMTY2Mzg0MTg5OC45MjIyMjEsIDE2MzcxLCAxLjE0MDg1NjYyMzY0OTU5NzJdLCBbMTY2Mzg0MTg5OS4wNDIzMTQzLCAxNjM4MCwgMS4xNDM5MDk4MTE5NzM1NzE4XSwgWzE2NjM4NDE4OTkuNTA3NDQ5NiwgMTY0MTYsIDEuMTI0NTY3MjcwMjc4OTMwN10sIFsxNjYzODQxODk5Ljg2NTk0NTYsIDE2NDQzLCAxLjIyMTY0MTU0MDUyNzM0MzhdLCBbMTY2Mzg0MTg5OS45ODM2NjUyLCAxNjQ1MiwgMS4xOTUwOTAwNTU0NjU2OTgyXSwgWzE2NjM4NDE5MDAuMjE3NjU0MiwgMTY0NzAsIDEuMTM5NjQ5MDMzNTQ2NDQ3OF0sIFsxNjYzODQxOTAwLjMzNDMwNjIsIDE2NDc5LCAxLjExNDkyNTUwMzczMDc3NF0sIFsxNjYzODQxOTAwLjU2NTE2MzQsIDE2NDk3LCAxLjE1OTM4OTQ5NTg0OTYwOTRdLCBbMTY2Mzg0MTkwMC42NzY2NzQ0LCAxNjUwNiwgMS4xMTAwMjUyODY2NzQ0OTk1XSwgWzE2NjM4NDE5MDAuNzkwOTgxNSwgMTY1MTUsIDEuMTUwNjIxMTc1NzY1OTkxMl0sIFsxNjYzODQxOTAxLjAxMDMwODMsIDE2NTMzLCAxLjE1NzYwMDY0MTI1MDYxMDRdLCBbMTY2Mzg0MTkwMS4xNDAyNTcsIDE2NTQyLCAxLjA5OTA0MjQxNTYxODg5NjVdLCBbMTY2Mzg0MTkwMS4yNTY4MjgzLCAxNjU1MSwgMS4xMDg3MDMwMTcyMzQ4MDIyXSwgWzE2NjM4NDE5MDEuOTYzMzUyLCAxNjYwNSwgMS4xNzYwNjcyMzMwODU2MzIzXSwgWzE2NjM4NDE5MDIuMDc3Njg3NSwgMTY2MTQsIDEuMTE2NzI4OTAxODYzMDk4MV0sIFsxNjYzODQxOTAyLjE5MzE3NywgMTY2MjMsIDEuMTIxNzkwNTI4Mjk3NDI0M10sIFsxNjYzODQxOTAyLjMxMzMyNjYsIDE2NjMyLCAxLjEwMzU3MTc3MjU3NTM3ODRdLCBbMTY2Mzg0MTkwMi40MzIwOTE1LCAxNjY0MSwgMS4wOTUyNDY0MzQyMTE3MzFdLCBbMTY2Mzg0MTkwMi43ODkzMjg2LCAxNjY2OCwgMS4xMTc3NDM4NDk3NTQzMzM1XSwgWzE2NjM4NDE5MDMuMDMyMTk5MSwgMTY2ODYsIDEuMTA1NTQ0ODA1NTI2NzMzNF0sIFsxNjYzODQxOTAzLjgzOTI5LCAxNjc0OSwgMS4xMTk3MjkxNjEyNjI1MTIyXSwgWzE2NjM4NDE5MDQuMjg5OTk3NiwgMTY3ODUsIDEuMTU1MjE0Nzg2NTI5NTQxXSwgWzE2NjM4NDE5MDQuNDA4MTUsIDE2Nzk0LCAxLjEyODAxNDkyMjE0MjAyODhdLCBbMTY2Mzg0MTkwNC41MTkxMTE0LCAxNjgwMywgMS4xMTYwNTIzODkxNDQ4OTc1XSwgWzE2NjM4NDE5MDQuNjM5NDI1LCAxNjgxMiwgMS4xMTU5MTUxNzkyNTI2MjQ1XSwgWzE2NjM4NDE5MDUuMDg5ODM0LCAxNjg0OCwgMS4xMjc0NTQ1MTkyNzE4NTA2XSwgWzE2NjM4NDE5MDUuMTk4MDU5NiwgMTY4NTcsIDEuMTMzMjM5NjI2ODg0NDYwNF0sIFsxNjYzODQxOTA1LjMwODkyOTcsIDE2ODY2LCAxLjEwOTE0NTUyMjExNzYxNDddLCBbMTY2Mzg0MTkwNS40MTgzMjUsIDE2ODc1LCAxLjEzMTc3MjM5ODk0ODY2OTRdLCBbMTY2Mzg0MTkwNS41NDA2MTcsIDE2ODg0LCAxLjE1ODUwMTUwNTg1MTc0NTZdLCBbMTY2Mzg0MTkwNS43Nzg5MDI1LCAxNjkwMiwgMS4xMjc5MDUzNjg4MDQ5MzE2XSwgWzE2NjM4NDE5MDYuMDg2MTE0NCwgMTY5MjksIDEuMTA5MzEzMzY4Nzk3MzAyMl0sIFsxNjYzODQxOTA2LjM2NTI3NDQsIDE2OTU2LCAxLjEyNDI4OTM5MzQyNDk4NzhdLCBbMTY2Mzg0MTkwNi40NTgyMTEyLCAxNjk2NSwgMS4xMjQ2MDE0ODMzNDUwMzE3XSwgWzE2NjM4NDE5MDYuNjU1MTk1NSwgMTY5ODMsIDEuMTQ2NDE0NTE4MzU2MzIzMl0sIFsxNjYzODQxOTA2Ljg0MDkxMTEsIDE3MDAxLCAxLjA5OTA2NzU2ODc3ODk5MTddLCBbMTY2Mzg0MTkwNy4yNjA5NDI3LCAxNzAxOSwgMS4xMTI1MTk1MDI2Mzk3NzA1XSwgWzE2NjM4NDE5MDcuMzU4MTExLCAxNzAyOCwgMS4xMTI0MzAwOTU2NzI2MDc0XSwgWzE2NjM4NDE5MDcuNzQzNzEsIDE3MDY0LCAxLjEyNTE0MTczOTg0NTI3NTldLCBbMTY2Mzg0MTkwOC4xNDc5NDcsIDE3MTAwLCAxLjExOTQwNTAzMTIwNDIyMzZdLCBbMTY2Mzg0MTkwOC4zNjAzOTc4LCAxNzExOCwgMS4xMDUxODIxNzA4Njc5Ml0sIFsxNjYzODQxOTA4LjQ1MTY0NSwgMTcxMjcsIDEuMTMyMTY2Mzg1NjUwNjM0OF0sIFsxNjYzODQxOTA4LjkzOTA1NzYsIDE3MTYzLCAxLjEyMTEzMjI1NDYwMDUyNV0sIFsxNjYzODQxOTA5LjE3NTIzMDUsIDE3MTgxLCAxLjA5NzUxMzE5ODg1MjUzOV0sIFsxNjYzODQxOTA5LjMxMTgyMTIsIDE3MTkwLCAxLjEwMTg3NjYxNjQ3Nzk2NjNdLCBbMTY2Mzg0MTkwOS40NDM4MDE2LCAxNzE5OSwgMS4xMDE2OTgxNjAxNzE1MDg4XSwgWzE2NjM4NDE5MDkuODQ4MzMzNiwgMTcyMjYsIDEuMTc5NjEyMTU5NzI5MDA0XSwgWzE2NjM4NDE5MTAuMjExNjY0LCAxNzI1MywgMS4xMDA2NTUzMTczMDY1MTg2XSwgWzE2NjM4NDE5MTAuNDQwNDgzOCwgMTcyNzEsIDEuMTE1NzI1MTU5NjQ1MDgwNl0sIFsxNjYzODQxOTExLjEzNDIzODcsIDE3MzI1LCAxLjEyODY2MjgyNDYzMDczNzNdLCBbMTY2Mzg0MTkxMS4yNDMxODU1LCAxNzMzNCwgMS4xMjk2NDQyNzQ3MTE2MDg5XSwgWzE2NjM4NDE5MTEuMzYzMTE2NywgMTczNDMsIDEuMDk5ODQ0MjE3MzAwNDE1XSwgWzE2NjM4NDE5MTEuNTk4MjAxNSwgMTczNjEsIDEuMTQwMjY5MTYwMjcwNjkxXSwgWzE2NjM4NDE5MTEuNzE0NjM2LCAxNzM3MCwgMS4xMjM1NjgyOTY0MzI0OTUxXSwgWzE2NjM4NDE5MTIuMDYzNjgyLCAxNzM5NywgMS4xNTg4MTQxOTE4MTgyMzczXSwgWzE2NjM4NDE5MTIuNDEyNzE0MiwgMTc0MjQsIDEuMTAxMTE2NDE4ODM4NTAxXSwgWzE2NjM4NDE5MTIuNTI1NjUxMiwgMTc0MzMsIDEuMTE2NTExMzQ0OTA5NjY4XSwgWzE2NjM4NDE5MTIuODUxNjcxMiwgMTc0NjAsIDEuMTYzMjIxNTk3NjcxNTA4OF0sIFsxNjYzODQxOTEyLjk2MjAzNSwgMTc0NjksIDEuMTM5MDYyNDA0NjMyNTY4NF0sIFsxNjYzODQxOTEzLjA1NDkzMDIsIDE3NDc4LCAxLjEwNjY3NjEwMTY4NDU3MDNdLCBbMTY2Mzg0MTkxMy4xNTM4NjQ5LCAxNzQ4NywgMS4xMzI5MDc4Njc0MzE2NDA2XSwgWzE2NjM4NDE5MTMuNTE2MjE4NywgMTc1MTQsIDEuMDk5NzM5MTkzOTE2MzIwOF0sIFsxNjYzODQxOTEzLjc3ODY0NzcsIDE3NTMyLCAxLjEwNTQ3MDc3NjU1NzkyMjRdLCBbMTY2Mzg0MTkxNC4wNzEwMzk0LCAxNzU1OSwgMS4xMDY4MDA5MTM4MTA3M10sIFsxNjYzODQxOTE0LjE2NjU1MjUsIDE3NTY4LCAxLjA4NDE5OTQyODU1ODM0OTZdLCBbMTY2Mzg0MTkxNC4zNzA1NDU0LCAxNzU4NiwgMS4xMDAyMTAxODk4MTkzMzZdLCBbMTY2Mzg0MTkxNC42ODc2NDk1LCAxNzYxMywgMS4xNjI0MDMyMjU4OTg3NDI3XSwgWzE2NjM4NDE5MTUuMDkwNDQzNiwgMTc2NDksIDEuMTA2OTgxOTkyNzIxNTU3Nl0sIFsxNjYzODQxOTE1LjE5MzA2MjMsIDE3NjU4LCAxLjEzNDA5MDQyMzU4Mzk4NDRdLCBbMTY2Mzg0MTkxNS4yOTA0OTQ0LCAxNzY2NywgMS4xNjM1MzA5NDU3Nzc4OTNdLCBbMTY2Mzg0MTkxNS4zOTI2NzY2LCAxNzY3NiwgMS4xNDM4ODU2MTI0ODc3OTNdLCBbMTY2Mzg0MTkxNS40OTA3MzM0LCAxNzY4NSwgMS4xMzY4OTM3NDkyMzcwNjA1XSwgWzE2NjM4NDE5MTUuNjg4NjY2LCAxNzcwMywgMS4wOTg5OTI5NDM3NjM3MzNdLCBbMTY2Mzg0MTkxNS43ODU2NDIsIDE3NzEyLCAxLjEyNDgzNDY1NjcxNTM5M10sIFsxNjYzODQxOTE1Ljg4NTM5OTYsIDE3NzIxLCAxLjA5OTk1MjY5Nzc1MzkwNjJdLCBbMTY2Mzg0MTkxNS45ODMyNTA5LCAxNzczMCwgMS4xMDg3ODMyNDUwODY2N10sIFsxNjYzODQxOTE2LjY4NTQ0MzYsIDE3Nzg0LCAxLjExMDg4NTM4MTY5ODYwODRdLCBbMTY2Mzg0MTkxNy4xMjY2MTksIDE3ODAyLCAxLjEwNTY4OTA0ODc2NzA4OThdLCBbMTY2Mzg0MTkxNy4yMjA3MzU4LCAxNzgxMSwgMS4xMTE3OTkzNTkzMjE1OTQyXSwgWzE2NjM4NDE5MTcuMzEwNDY0NiwgMTc4MjAsIDEuMTA4MDQ5MjczNDkwOTA1OF0sIFsxNjYzODQxOTE3LjQwNTMxMjMsIDE3ODI5LCAxLjA5ODcwODc0ODgxNzQ0MzhdLCBbMTY2Mzg0MTkxNy40OTYzODM0LCAxNzgzOCwgMS4xMTgwMDQzMjIwNTIwMDJdLCBbMTY2Mzg0MTkxNy41ODkwMTI0LCAxNzg0NywgMS4xMjE1NzgwOTczNDM0NDQ4XSwgWzE2NjM4NDE5MTcuNjc4ODQwNiwgMTc4NTYsIDEuMTA5MDc4NTI2NDk2ODg3Ml0sIFsxNjYzODQxOTE3Ljg4MzY5NSwgMTc4NzQsIDEuMTI0Mjc3ODMwMTIzOTAxNF0sIFsxNjYzODQxOTE4LjA3NDk1NiwgMTc4OTIsIDEuMTIyMTcwMjA5ODg0NjQzNl0sIFsxNjYzODQxOTE4LjE3OTg1ODcsIDE3OTAxLCAxLjExNDEwMjk1OTYzMjg3MzVdLCBbMTY2Mzg0MTkxOC4yNzE4MDA4LCAxNzkxMCwgMS4xMTA3ODc3NDkyOTA0NjYzXSwgWzE2NjM4NDE5MTguNDY3ODM4OCwgMTc5MjgsIDEuMTA4NjAzMjM5MDU5NDQ4Ml0sIFsxNjYzODQxOTE4LjU2NjEzMjMsIDE3OTM3LCAxLjA4MzM1NzMzNDEzNjk2M10sIFsxNjYzODQxOTE4LjY2MTg4NTUsIDE3OTQ2LCAxLjExMTQ0OTU5OTI2NjA1MjJdLCBbMTY2Mzg0MTkxOC44NjczODQ3LCAxNzk2NCwgMS4xMDI3OTA3MTMzMTAyNDE3XSwgWzE2NjM4NDE5MTkuNTc5MDQ1NSwgMTgwMjcsIDEuMTUwNzQxNTc3MTQ4NDM3NV0sIFsxNjYzODQxOTIwLjE2NDQ2MTksIDE4MDgxLCAxLjEwOTEyOTE5MDQ0NDk0NjNdLCBbMTY2Mzg0MTkyMC45MTA5NDIzLCAxODE1MywgMS4xMzYyOTkzNzE3MTkzNjA0XSwgWzE2NjM4NDE5MjEuMDA3NTE2NCwgMTgxNjIsIDEuMTE5OTIyODc2MzU4MDMyMl0sIFsxNjYzODQxOTIxLjM5MjE5ODMsIDE4MTk4LCAxLjEyOTU0NjE2NTQ2NjMwODZdLCBbMTY2Mzg0MTkyMS40OTQ1MDA5LCAxODIwNywgMS4xMDkyNzE2NDU1NDU5NTk1XSwgWzE2NjM4NDE5MjEuNTgzNzcxLCAxODIxNiwgMS4xMDUzNDc3NTI1NzExMDZdLCBbMTY2Mzg0MTkyMS43NzQyNjM5LCAxODIzNCwgMS4wOTU3NzgzNDYwNjE3MDY1XSwgWzE2NjM4NDE5MjEuODY4ODQyOCwgMTgyNDMsIDEuMTEwNzc5MDQ3MDEyMzI5XSwgWzE2NjM4NDE5MjIuMDY2OTgyNywgMTgyNjEsIDEuMDkxMzk1NDk3MzIyMDgyNV0sIFsxNjYzODQxOTIyLjM0NDk1MzMsIDE4Mjg4LCAxLjEyNTA5MDI0MTQzMjE5XSwgWzE2NjM4NDE5MjIuNDM4MTg4MywgMTgyOTcsIDEuMTE1MzE3NTgzMDg0MTA2NF0sIFsxNjYzODQxOTIyLjYzMDkxMTQsIDE4MzE1LCAxLjEyNDM4NzYyMTg3OTU3NzZdLCBbMTY2Mzg0MTkyMi43MTg4NjI4LCAxODMyNCwgMS4xOTA0MTI1MjEzNjIzMDQ3XSwgWzE2NjM4NDE5MjIuODExNjE4NiwgMTgzMzMsIDEuMTI0MTkyMTE4NjQ0NzE0NF0sIFsxNjYzODQxOTIyLjk5MzY1NjQsIDE4MzUxLCAxLjA5NTI4NDcwMDM5MzY3NjhdLCBbMTY2Mzg0MTkyMy4yNDU0MDksIDE4MzY5LCAxLjEyNTgwNzQwNDUxODEyNzRdLCBbMTY2Mzg0MTkyMy4zNjMzODc2LCAxODM3OCwgMS4xMjQ5MjYwOTAyNDA0Nzg1XSwgWzE2NjM4NDE5MjMuNTY5NDIxOCwgMTgzOTYsIDEuMDkzMjk5NTA4MDk0Nzg3Nl0sIFsxNjYzODQxOTIzLjY4MTE1MSwgMTg0MDUsIDEuMTA2ODM2Nzk1ODA2ODg0OF0sIFsxNjYzODQxOTI0LjA0MTYxLCAxODQzMiwgMS4wNzU2MjcwODg1NDY3NTNdLCBbMTY2Mzg0MTkyNC4xNjQ0MjQ0LCAxODQ0MSwgMS4xMjkzODMwODcxNTgyMDMxXSwgWzE2NjM4NDE5MjQuMjk2ODc4OCwgMTg0NTAsIDEuMTQ2MTg3NDI0NjU5NzI5XSwgWzE2NjM4NDE5MjQuOTI5OTMyOCwgMTg0OTUsIDEuMTA2MTEzMTk1NDE5MzExNV0sIFsxNjYzODQxOTI1LjAyMjY3MzEsIDE4NTA0LCAxLjA5NjIyODM2MTEyOTc2MDddLCBbMTY2Mzg0MTkyNS4xMjE1OTY4LCAxODUxMywgMS4xMTc5Njg2Nzg0NzQ0MjYzXSwgWzE2NjM4NDE5MjUuMjI0OTQ2LCAxODUyMiwgMS4xMjM0Mjc3NDg2ODAxMTQ3XSwgWzE2NjM4NDE5MjYuNDEwODc1MywgMTg2MTIsIDEuMTQ2MjMzMDgxODE3NjI3XSwgWzE2NjM4NDE5MjYuNTAwMTMxOCwgMTg2MjEsIDEuMTM1ODE0Nzg1OTU3MzM2NF0sIFsxNjYzODQxOTI2LjY4NzgyMzMsIDE4NjM5LCAxLjA5NTMxMzMxMDYyMzE2OV0sIFsxNjYzODQxOTI2Ljg3Mjg3ODMsIDE4NjU3LCAxLjA5MTcwOTQ5NDU5MDc1OTNdLCBbMTY2Mzg0MTkyNy4wNTk3MjAzLCAxODY3NSwgMS4xMTkxNzc1Nzk4Nzk3NjA3XSwgWzE2NjM4NDE5MjcuNTE4NDU2LCAxODcxMSwgMS4xMjI3OTU4MjAyMzYyMDZdLCBbMTY2Mzg0MTkyNy42NDg0MTQsIDE4NzIwLCAxLjEzMTIwNTY3Nzk4NjE0NV1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_08-28-19_54c5144e9b50&tag=Loss%2Ftrain":{"data":"W1sxNjYzOTIxNjk5LjU0OTQ4LCA5LCAxMTMuODg4Njg3MTMzNzg5MDZdLCBbMTY2MzkyMTY5OS43Njc1OTIyLCAyNywgMzQuNjM5NTg3NDAyMzQzNzVdLCBbMTY2MzkyMTY5OS44ODc3NDMyLCAzNiwgMjEuNDc1NDIxOTA1NTE3NTc4XSwgWzE2NjM5MjE2OTkuOTk3ODU4NSwgNDUsIDE4LjI4MzAzMTQ2MzYyMzA0N10sIFsxNjYzOTIxNzAwLjQ5OTU2OTcsIDcyLCAxMS43NTMyMzQ4NjMyODEyNV0sIFsxNjYzOTIxNzAwLjcxODIsIDkwLCA5LjM3MDkwOTY5MDg1NjkzNF0sIFsxNjYzOTIxNzAwLjgzMjMzMjgsIDk5LCA4LjQyODU2MzExNzk4MDk1N10sIFsxNjYzOTIxNzAwLjk0OTU3MSwgMTA4LCA3LjU3NjY0Mzk0Mzc4NjYyMV0sIFsxNjYzOTIxNzAxLjMwMzM1NTcsIDEzNSwgNi4xMjgwMjY5NjIyODAyNzNdLCBbMTY2MzkyMTcwMS40MTU2MzI1LCAxNDQsIDUuODc0MDM2MzEyMTAzMjcxNV0sIFsxNjYzOTIxNzAxLjUyMTYzODYsIDE1MywgNS42MzI0MTMzODcyOTg1ODRdLCBbMTY2MzkyMTcwMS42MjM4OTM3LCAxNjIsIDUuNDIzMzg0MTg5NjA1NzEzXSwgWzE2NjM5MjE3MDEuNzQ1MzQ3MywgMTcxLCA1LjQzMjMwNDg1OTE2MTM3N10sIFsxNjYzOTIxNzAxLjg1MTYyNSwgMTgwLCA1LjMyNzU2MjgwODk5MDQ3ODVdLCBbMTY2MzkyMTcwMS45NzY5ODMzLCAxODksIDUuMTYzNTk3MTA2OTMzNTk0XSwgWzE2NjM5MjE3MDIuMjIxMjg1LCAyMDcsIDUuMDEzMTQ4Nzg0NjM3NDUxXSwgWzE2NjM5MjE3MDIuMzMzMDI5MywgMjE2LCA1LjAxOTIxNzQ5MTE0OTkwMl0sIFsxNjYzOTIxNzAyLjU0Mzk4OTIsIDIzNCwgNC45MjYwNjU0NDQ5NDYyODldLCBbMTY2MzkyMTcwMi42NjAzMDYyLCAyNDMsIDQuNzg3NTUxODc5ODgyODEyNV0sIFsxNjYzOTIxNzAyLjc1NjQxMzIsIDI1MiwgNC43Nzc2MDgzOTQ2MjI4MDNdLCBbMTY2MzkyMTcwMi44NzMwMDU0LCAyNjEsIDQuNzAwNTg0ODg4NDU4MjUyXSwgWzE2NjM5MjE3MDIuOTg1MTE2NSwgMjcwLCA0LjU5ODMxNjY2OTQ2NDExMV0sIFsxNjYzOTIxNzAzLjA5NjkyMjIsIDI3OSwgNC41NTAzNjgzMDkwMjA5OTZdLCBbMTY2MzkyMTcwMy4yMTYxNjcsIDI4OCwgNC41MzYzMjMwNzA1MjYxMjNdLCBbMTY2MzkyMTcwMy4zMTcyMTI4LCAyOTcsIDQuNDM5OTkwMDQzNjQwMTM3XSwgWzE2NjM5MjE3MDMuNDI2NDMxNCwgMzA2LCA0LjM2MzUyNjgyMTEzNjQ3NV0sIFsxNjYzOTIxNzAzLjUzNjk4NTksIDMxNSwgNC4zMTMwNjQ1NzUxOTUzMTI1XSwgWzE2NjM5MjE3MDMuNzcyNjkxLCAzMzMsIDQuMjU3Nzc5MTIxMzk4OTI2XSwgWzE2NjM5MjE3MDMuODg4ODM5MiwgMzQyLCA0LjE4NDk0Nzk2NzUyOTI5N10sIFsxNjYzOTIxNzAzLjk5OTE0MTIsIDM1MSwgNC4xMzQzNDgzOTI0ODY1NzJdLCBbMTY2MzkyMTcwNC4xMTI1ODcyLCAzNjAsIDQuMTE3NDc2OTQwMTU1MDI5XSwgWzE2NjM5MjE3MDQuMjIwMjg1MiwgMzY5LCA0LjA3OTc5MDU5MjE5MzYwMzVdLCBbMTY2MzkyMTcwNC40MzUzMDMsIDM4NywgMy45NTcwNDA3ODY3NDMxNjRdLCBbMTY2MzkyMTcwNC41NDc4NTIsIDM5NiwgMy44NDQyNDU5MTA2NDQ1MzEyXSwgWzE2NjM5MjE3MDQuOTYyMjEzMywgNDMyLCAzLjcxNjYwMDY1NjUwOTM5OTRdLCBbMTY2MzkyMTcwNS4wODU2MTU0LCA0NDEsIDMuNTk3MTQ5MTMzNjgyMjUxXSwgWzE2NjM5MjE3MDUuMjA1MDQ1NSwgNDUwLCAzLjU1NTI3OTQ5MzMzMTkwOV0sIFsxNjYzOTIxNzA1LjMyMjA4NTYsIDQ1OSwgMy41NTY0Nzc3ODUxMTA0NzM2XSwgWzE2NjM5MjE3MDUuNDM4MzIxNCwgNDY4LCAzLjUyMzU1MjQxNzc1NTEyN10sIFsxNjYzOTIxNzA1LjU1MDQ4OCwgNDc3LCAzLjUwOTI0OTQ0ODc3NjI0NV0sIFsxNjYzOTIxNzA1LjY1NjIwNTcsIDQ4NiwgMy40MzI2MTY0NzIyNDQyNjI3XSwgWzE2NjM5MjE3MDUuNzU4NzI0NSwgNDk1LCAzLjM3Nzc0NDQzNjI2NDAzOF0sIFsxNjYzOTIxNzA1Ljg3NDY4OSwgNTA0LCAzLjM0NTIxMzg5MDA3NTY4MzZdLCBbMTY2MzkyMTcwNi4xMDIzNTIxLCA1MjIsIDMuMjU1MTc2NTQ0MTg5NDUzXSwgWzE2NjM5MjE3MDYuMjI4MTc2NiwgNTMxLCAzLjIyNzc1ODQwNzU5Mjc3MzRdLCBbMTY2MzkyMTcwNi40NjYyOTA3LCA1NDksIDMuMTgzMjQ3ODA0NjQxNzIzNl0sIFsxNjYzOTIxNzA2LjU2ODY1MDIsIDU1OCwgMy4xMjAxNzk0MTQ3NDkxNDU1XSwgWzE2NjM5MjE3MDYuNjc1ODk4NiwgNTY3LCAzLjA5MjQzNTgzNjc5MTk5Ml0sIFsxNjYzOTIxNzA2Ljc5MTczNTQsIDU3NiwgMy4xMTYwMjMzMDIwNzgyNDddLCBbMTY2MzkyMTcwNy4wMDMxMDc4LCA1OTQsIDIuOTg3Mjg3MjgyOTQzNzI1Nl0sIFsxNjYzOTIxNzA3LjEyNTQ4NjQsIDYwMywgMi45NjcwNjI3MTE3MTU2OTgyXSwgWzE2NjM5MjE3MDcuMjQwNjE5LCA2MTIsIDIuOTE1MDE5MjczNzU3OTM0Nl0sIFsxNjYzOTIxNzA3LjM1MzgxMTMsIDYyMSwgMi45MTMxOTc5OTQyMzIxNzc3XSwgWzE2NjM5MjE3MDcuNTY1NTUwMywgNjM5LCAyLjg0NzA0OTk1MTU1MzM0NDddLCBbMTY2MzkyMTcwNy42NzIyNDQ4LCA2NDgsIDIuODAyOTIxNzcyMDAzMTc0XSwgWzE2NjM5MjE3MDcuNzk1NTY4NSwgNjU3LCAyLjc4Njc0MjkyNTY0MzkyMV0sIFsxNjYzOTIxNzA3Ljg5ODg4MDcsIDY2NiwgMi43Mzk4NTYwMDQ3MTQ5NjZdLCBbMTY2MzkyMTcwOC4xMjA0MDY2LCA2ODQsIDIuNzAzOTYyMDg3NjMxMjI1Nl0sIFsxNjYzOTIxNzA4LjMzNTQwOCwgNzAyLCAyLjY0MjQ4MDYxMTgwMTE0NzVdLCBbMTY2MzkyMTcwOC40NTg4MDgsIDcxMSwgMi42MjQyNzE4Njk2NTk0MjRdLCBbMTY2MzkyMTcwOC41NzQ2NTk4LCA3MjAsIDIuNjE0ODUxMjM2MzQzMzg0XSwgWzE2NjM5MjE3MDguNjg5MDAxOCwgNzI5LCAyLjYwNzMxNjQ5Mzk4ODAzN10sIFsxNjYzOTIxNzA4Ljc5MDA4MDMsIDczOCwgMi41ODc5ODQzMjM1MDE1ODddLCBbMTY2MzkyMTcwOC44ODYxNjg3LCA3NDcsIDIuNDkyNTExNTEwODQ4OTk5XSwgWzE2NjM5MjE3MDguOTg0NzgwMywgNzU2LCAyLjUxODg3OTg5MDQ0MTg5NDVdLCBbMTY2MzkyMTcwOS4xODMyODM4LCA3NzQsIDIuNTA5OTMxMzI1OTEyNDc1Nl0sIFsxNjYzOTIxNzA5LjI3MzQzMTUsIDc4MywgMi40NjA2OTQ3ODk4ODY0NzQ2XSwgWzE2NjM5MjE3MDkuMzY2Mjk4NywgNzkyLCAyLjQ3Njk1NTE3NTM5OTc4MDNdLCBbMTY2MzkyMTcwOS41NjA3MSwgODEwLCAyLjM2OTYxMzQwOTA0MjM1ODRdLCBbMTY2MzkyMTcwOS42NTUyMTUzLCA4MTksIDIuMzgwOTUwNDUwODk3MjE3XSwgWzE2NjM5MjE3MTAuMTM4ODYyNCwgODM3LCAyLjM4MTIwODE4MTM4MTIyNTZdLCBbMTY2MzkyMTcxMC41MzgzNzEsIDg1NSwgMi4zNDQ5ODM1Nzc3MjgyNzE1XSwgWzE2NjM5MjE3MTAuNjU3MTcwOCwgODY0LCAyLjMwNjgzNzMyMDMyNzc1OV0sIFsxNjYzOTIxNzEwLjkzNTc2OCwgODczLCAyLjMwNDUzNDQzNTI3MjIxN10sIFsxNjYzOTIxNzExLjMwMzExNzgsIDkwMCwgMi4yMzk3MTY3NjgyNjQ3NzA1XSwgWzE2NjM5MjE3MTEuMzk3NTEzMiwgOTA5LCAyLjI5NDg4NTE1ODUzODgxODRdLCBbMTY2MzkyMTcxMS40OTU4NDM2LCA5MTgsIDIuMjQ4MDI1MTc4OTA5MzAxOF0sIFsxNjYzOTIxNzExLjcyNzExNTIsIDkzNiwgMi4yMjk3NTQ0NDc5MzcwMTE3XSwgWzE2NjM5MjE3MTEuOTkxMzM5NywgOTQ1LCAyLjE4NTE0MzIzMjM0NTU4MV0sIFsxNjYzOTIxNzEyLjIzMDM4NTMsIDk2MywgMi4yMDM2MTkyNDE3MTQ0Nzc1XSwgWzE2NjM5MjE3MTIuMzMyMTUyOCwgOTcyLCAyLjIwODYxMzM5NTY5MDkxOF0sIFsxNjYzOTIxNzEyLjQ0MjUxNSwgOTgxLCAyLjE0MjE2MTM2OTMyMzczMDVdLCBbMTY2MzkyMTcxMi41MzQ3OTU1LCA5OTAsIDIuMTY1ODU1NDA3NzE0ODQzOF0sIFsxNjYzOTIxNzEyLjYyODE5MDUsIDk5OSwgMi4xNjA2MTYzOTc4NTc2NjZdLCBbMTY2MzkyMTcxMi43NjE1NDk3LCAxMDA4LCAyLjE0MDIxMzk2NjM2OTYyOV0sIFsxNjYzOTIxNzEyLjg2NTk4NzgsIDEwMTcsIDIuMTI4NjY0MjU1MTQyMjEyXSwgWzE2NjM5MjE3MTMuMDc2NTA1NCwgMTAzNSwgMi4xNDc5MDYzMDM0MDU3NjE3XSwgWzE2NjM5MjE3MTMuMTcwOTA4NywgMTA0NCwgMi4wOTM3OTY3MzAwNDE1MDRdLCBbMTY2MzkyMTcxMy4yNzM3NSwgMTA1MywgMi4xMDU4NTU5NDE3NzI0NjFdLCBbMTY2MzkyMTcxMy4zNzEwMTAzLCAxMDYyLCAyLjEzNjcxNTY1MDU1ODQ3MTddLCBbMTY2MzkyMTcxMy41NjIwNjE4LCAxMDgwLCAyLjA3OTMzMDY4Mjc1NDUxNjZdLCBbMTY2MzkyMTcxMy42NTQ3NDQ0LCAxMDg5LCAyLjA1OTc5MjI4MDE5NzE0MzZdLCBbMTY2MzkyMTcxMy43NTgzMzc1LCAxMDk4LCAyLjA4ODM0OTU4MDc2NDc3MDVdLCBbMTY2MzkyMTcxMy45NDUxMTU2LCAxMTE2LCAyLjA4MzQxMDczOTg5ODY4MTZdLCBbMTY2MzkyMTcxNC4xMzgzNjUsIDExMzQsIDIuMDU4NDY5Mjk1NTAxNzA5XSwgWzE2NjM5MjE3MTQuMjM4Mzk2MiwgMTE0MywgMi4wNzg0OTk3OTQwMDYzNDc3XSwgWzE2NjM5MjE3MTQuMzkxMzIwMiwgMTE1MiwgMi4wNTEzMjc5NDM4MDE4OF0sIFsxNjYzOTIxNzE0LjUwMTA1OTUsIDExNjEsIDIuMDUzMjMxOTU0NTc0NTg1XSwgWzE2NjM5MjE3MTQuNjI0MjYxMSwgMTE3MCwgMi4wNTkzODcyMDcwMzEyNV0sIFsxNjYzOTIxNzE0LjczMTI2MTMsIDExNzksIDIuMDM4ODQzMTU0OTA3MjI2Nl0sIFsxNjYzOTIxNzE0LjgzOTkwNzYsIDExODgsIDIuMDQzNjc5NDc1Nzg0MzAxOF0sIFsxNjYzOTIxNzE0Ljk1MDgyODMsIDExOTcsIDEuOTg1MTkxODIyMDUyMDAyXSwgWzE2NjM5MjE3MTUuMTY1NjI5OSwgMTIxNSwgMi4wNjA4NzY2MDc4OTQ4OTc1XSwgWzE2NjM5MjE3MTUuMzcxMDc3NSwgMTIzMywgMS45ODUwNDkwMDkzMjMxMjAxXSwgWzE2NjM5MjE3MTUuNDgyMTYwOCwgMTI0MiwgMi4wMTcwNDU0OTc4OTQyODddLCBbMTY2MzkyMTcxNS41ODU3NTM0LCAxMjUxLCAxLjk4NTg0MjU4NTU2MzY1OTddLCBbMTY2MzkyMTcxNS42ODc0MDc3LCAxMjYwLCAyLjAyMDg3ODA3NjU1MzM0NDddLCBbMTY2MzkyMTcxNS43ODUwMzc1LCAxMjY5LCAxLjk5MjMzOTAxNTAwNzAxOV0sIFsxNjYzOTIxNzE1LjkxNzAzMjUsIDEyNzgsIDIuMDA0MDAxNjE3NDMxNjQwNl0sIFsxNjYzOTIxNzE2LjEzNTkzNDQsIDEyOTYsIDEuOTk5OTUxMzYyNjA5ODYzM10sIFsxNjYzOTIxNzE2LjIzODA0NDcsIDEzMDUsIDEuOTc0NTQwNTkxMjM5OTI5Ml0sIFsxNjYzOTIxNzE2LjM0ODU4MjUsIDEzMTQsIDIuMDA2OTM5MTcyNzQ0NzUxXSwgWzE2NjM5MjE3MTYuNDYwMjczNywgMTMyMywgMS45NTczMjkwMzQ4MDUyOTc5XSwgWzE2NjM5MjE3MTYuNTUxMDMyLCAxMzMyLCAxLjk3MTEyMDk1MzU1OTg3NTVdLCBbMTY2MzkyMTcxNi42NTAxODY4LCAxMzQxLCAxLjk1NzQ4NDAwNjg4MTcxMzldLCBbMTY2MzkyMTcxNi44MzQyNTUyLCAxMzU5LCAxLjkyOTU2NTMxMDQ3ODIxMDRdLCBbMTY2MzkyMTcxNy4xMzY2Njk0LCAxMzg2LCAxLjk1OTQ5NTc4Mjg1MjE3MjldLCBbMTY2MzkyMTcxNy4yNDExNjYsIDEzOTUsIDEuOTQ3MjE0MzY1MDA1NDkzMl0sIFsxNjYzOTIxNzE3LjQ3MTk4OTIsIDE0MTMsIDEuOTIxMzkyMjAyMzc3MzE5M10sIFsxNjYzOTIxNzE3LjU3NTM4NTYsIDE0MjIsIDEuODg5NTk3Mjk2NzE0NzgyN10sIFsxNjYzOTIxNzE3LjY3MTU5MjIsIDE0MzEsIDEuOTAxODk5MjE4NTU5MjY1MV0sIFsxNjYzOTIxNzE3Ljc3MDgzOCwgMTQ0MCwgMS45NjE1MTQ1OTIxNzA3MTUzXSwgWzE2NjM5MjE3MTcuODY4NjM1NywgMTQ0OSwgMS45MTU4MzE1NjU4NTY5MzM2XSwgWzE2NjM5MjE3MTcuOTU4OTIyNCwgMTQ1OCwgMS44OTc5NTcwODY1NjMxMTA0XSwgWzE2NjM5MjE3MTguMDU3MTYwNiwgMTQ2NywgMS44ODM0MzIzODgzMDU2NjRdLCBbMTY2MzkyMTcxOC4xNzU1NTU1LCAxNDc2LCAxLjkzOTI1MDM0OTk5ODQ3NDFdLCBbMTY2MzkyMTcxOC4yODU2NTksIDE0ODUsIDEuODk3NzcyMzEyMTY0MzA2Nl0sIFsxNjYzOTIxNzE4LjUwMjI4NjIsIDE1MDMsIDEuOTAxNjMzOTc3ODkwMDE0Nl0sIFsxNjYzOTIxNzE4LjcwNjIxNjgsIDE1MjEsIDEuODgyODA0Mjc0NTU5MDIxXSwgWzE2NjM5MjE3MTguODAzMTI0NywgMTUzMCwgMS44NzMxNjk4OTg5ODY4MTY0XSwgWzE2NjM5MjE3MTguODk5ODQxNSwgMTUzOSwgMS44NTc3MTYyMDI3MzU5MDA5XSwgWzE2NjM5MjE3MTkuMDAxODAzLCAxNTQ4LCAxLjg4NjU3NTQ2MDQzMzk2XSwgWzE2NjM5MjE3MTkuMDk5NTU1NywgMTU1NywgMS45MDIwNTgzNjI5NjA4MTU0XSwgWzE2NjM5MjE3MTkuMjg2MDA0OCwgMTU3NSwgMS44NzU3NTY4NTk3NzkzNThdLCBbMTY2MzkyMTcxOS4zOTE2NDMzLCAxNTg0LCAxLjg3MDk3NTg1MjAxMjYzNDNdLCBbMTY2MzkyMTcxOS41NDU2OTc1LCAxNTkzLCAxLjg2NjEzNTU5NzIyOTAwNF0sIFsxNjYzOTIxNzE5LjYzNjgzNCwgMTYwMiwgMS44Nzc1OTIyMDYwMDEyODE3XSwgWzE2NjM5MjE3MTkuNzI3NTEsIDE2MTEsIDEuODY2OTE5MTU5ODg5MjIxMl0sIFsxNjYzOTIxNzE5LjkxODEwMTMsIDE2MjksIDEuODY0NzE4Njc1NjEzNDAzM10sIFsxNjYzOTIxNzIwLjIwOTA3NzYsIDE2MzgsIDEuODk0NTMzNjM0MTg1NzkxXSwgWzE2NjM5MjE3MjAuMjk2NzUzNiwgMTY0NywgMS44MzM0MzM2MjgwODIyNzU0XSwgWzE2NjM5MjE3MjAuNDAzNzEzLCAxNjU2LCAxLjgyNTQxNzg3NjI0MzU5MTNdLCBbMTY2MzkyMTcyMC41MDE2MzgsIDE2NjUsIDEuODQzMDE2NzQzNjU5OTczMV0sIFsxNjYzOTIxNzIwLjU5MjE1MywgMTY3NCwgMS44NDI5ODAxNDY0MDgwODFdLCBbMTY2MzkyMTcyMC43MDI1Njk1LCAxNjgzLCAxLjg1NDg5MzkyMjgwNTc4NjFdLCBbMTY2MzkyMTcyMC45ODYzMzM4LCAxNzEwLCAxLjgyMjI3NzE4ODMwMTA4NjRdLCBbMTY2MzkyMTcyMS4wNzc2ODYsIDE3MTksIDEuODEyNDY0MjM3MjEzMTM0OF0sIFsxNjYzOTIxNzIxLjIwMDM5NTMsIDE3MjgsIDEuODI2NDk3NjczOTg4MzQyM10sIFsxNjYzOTIxNzIxLjMwMzM3NzYsIDE3MzcsIDEuODEyMzkxOTk2MzgzNjY3XSwgWzE2NjM5MjE3MjEuNDEyMjM5OCwgMTc0NiwgMS44MjkwOTA4MzM2NjM5NDA0XSwgWzE2NjM5MjE3MjEuNjU4MTE2LCAxNzY0LCAxLjg0NzIwNTQwMDQ2NjkxOV0sIFsxNjYzOTIxNzIxLjg2ODkxOTYsIDE3ODIsIDEuNzgwNjY1Mzk3NjQ0MDQzXSwgWzE2NjM5MjE3MjEuOTYzMDcwOSwgMTc5MSwgMS44MjMzMjMxMzA2MDc2MDVdLCBbMTY2MzkyMTcyMi4wNjY5NTY4LCAxODAwLCAxLjgxOTgxMDUwOTY4MTcwMTddLCBbMTY2MzkyMTcyMi4xNTg5MTMxLCAxODA5LCAxLjgxMjcxOTEwNjY3NDE5NDNdLCBbMTY2MzkyMTcyMi4zNDQ0MSwgMTgyNywgMS44MDQ3ODAxMjU2MTc5ODFdLCBbMTY2MzkyMTcyMi40NDE4ODQ4LCAxODM2LCAxLjc3MDA4ODA3NjU5MTQ5MTddLCBbMTY2MzkyMTcyMi41NDAzMjc4LCAxODQ1LCAxLjgzNTI1NDQzMDc3MDg3NF0sIFsxNjYzOTIxNzIyLjY2MTA1NiwgMTg1NCwgMS44MjU5MDM3NzMzMDc4MDAzXSwgWzE2NjM5MjE3MjIuNzYwMDU4NCwgMTg2MywgMS44MTk2NTc4MDI1ODE3ODddLCBbMTY2MzkyMTcyMi44NTUxNjI0LCAxODcyLCAxLjc1NDQ1NzQ3Mzc1NDg4MjhdLCBbMTY2MzkyMTcyMi45NDg3Mzg4LCAxODgxLCAxLjc3MTQ3MTUwMDM5NjcyODVdLCBbMTY2MzkyMTcyMy4wNDM3NTMsIDE4OTAsIDEuNzc3NTMzMDU0MzUxODA2Nl0sIFsxNjYzOTIxNzIzLjEzNTMxOTIsIDE4OTksIDEuNzM3ODMwNDAwNDY2OTE5XSwgWzE2NjM5MjE3MjMuMjI3NjA2OCwgMTkwOCwgMS43NDg0OTczNjY5MDUyMTI0XSwgWzE2NjM5MjE3MjMuNDE4OTEwMywgMTkyNiwgMS43ODU3Mjc1MDA5MTU1MjczXSwgWzE2NjM5MjE3MjMuNTExNTQ1NywgMTkzNSwgMS43NTMzMDExNDM2NDYyNDAyXSwgWzE2NjM5MjE3MjMuNjE2MDQzOCwgMTk0NCwgMS43Njk2ODgxMjk0MjUwNDg4XSwgWzE2NjM5MjE3MjMuNzA5NzA1OCwgMTk1MywgMS43MzE5NTQ5MzIyMTI4Mjk2XSwgWzE2NjM5MjE3MjMuODk2OTU3LCAxOTcxLCAxLjc4MTk1MDM1NDU3NjExMDhdLCBbMTY2MzkyMTcyMy45ODczNzUzLCAxOTgwLCAxLjc1NTE2MDkyNzc3MjUyMl0sIFsxNjYzOTIxNzI0LjA4MTk2NCwgMTk4OSwgMS43NDgxMTcyMDg0ODA4MzVdLCBbMTY2MzkyMTcyNC4xNzYzNzYsIDE5OTgsIDEuNzc5NzM5MTQxNDY0MjMzNF0sIFsxNjYzOTIxNzI0LjI3MzM1NTcsIDIwMDcsIDEuNzgzMzY2MzIyNTE3Mzk1XSwgWzE2NjM5MjE3MjQuMzYzMzEzMiwgMjAxNiwgMS43MjgyNzQ5NDE0NDQzOTddLCBbMTY2MzkyMTcyNC40NzMwMjEzLCAyMDI1LCAxLjcyOTA5NDYyNDUxOTM0ODFdLCBbMTY2MzkyMTcyNC41NjkwNjc1LCAyMDM0LCAxLjcxMjU1MjE4OTgyNjk2NTNdLCBbMTY2MzkyMTcyNC42Njk3MjU3LCAyMDQzLCAxLjcwNzMxNTQ0NDk0NjI4OV0sIFsxNjYzOTIxNzI0Ljk1NDUyNzksIDIwNzAsIDEuNzMwODIwNTM2NjEzNDY0NF0sIFsxNjYzOTIxNzI1LjEzODIwMTcsIDIwODgsIDEuNzU0NzA3MjE3MjE2NDkxN10sIFsxNjYzOTIxNzI1LjI0Nzc1MzYsIDIwOTcsIDEuNzE4MDIwMjAwNzI5MzcwMV0sIFsxNjYzOTIxNzI1LjM0MTA5OTMsIDIxMDYsIDEuNzM5MDc0MzQ5NDAzMzgxM10sIFsxNjYzOTIxNzI1LjQ0ODc5OTEsIDIxMTUsIDEuNjczMDY3MjEyMTA0Nzk3NF0sIFsxNjYzOTIxNzI1LjU0Mzc4MjIsIDIxMjQsIDEuNjg2MTIxMTA2MTQ3NzY2MV0sIFsxNjYzOTIxNzI1LjYzNzcyODcsIDIxMzMsIDEuNzA0MTY2MTczOTM0OTM2NV0sIFsxNjYzOTIxNzI1LjczOTU5NiwgMjE0MiwgMS42OTc3MzI5MjU0MTUwMzldLCBbMTY2MzkyMTcyNS44MzQxNDY3LCAyMTUxLCAxLjY5MzQ0OTEzOTU5NTAzMTddLCBbMTY2MzkyMTcyNS45Mjg1MjI2LCAyMTYwLCAxLjcyOTI3NTgyMjYzOTQ2NTNdLCBbMTY2MzkyMTcyNi4xMjAzMzUzLCAyMTc4LCAxLjcwMTA5NzAxMTU2NjE2Ml0sIFsxNjYzOTIxNzI2LjIxNjg3MSwgMjE4NywgMS42ODc0OTU3MDg0NjU1NzYyXSwgWzE2NjM5MjE3MjYuNDA5MTUxLCAyMjA1LCAxLjczNDA3NzU3MjgyMjU3MDhdLCBbMTY2MzkyMTcyNi40OTkxNTk2LCAyMjE0LCAxLjY5ODgzMDcyMzc2MjUxMjJdLCBbMTY2MzkyMTcyNi41OTQyMjQyLCAyMjIzLCAxLjY3MDc1NDA3NTA1MDM1NF0sIFsxNjYzOTIxNzI2LjY4MDk4NSwgMjIzMiwgMS42NjE1NDM4NDYxMzAzNzFdLCBbMTY2MzkyMTcyNi43Nzc0NzU0LCAyMjQxLCAxLjcwMzYyNjYzMjY5MDQyOTddLCBbMTY2MzkyMTcyNi45MTYyOTQzLCAyMjUwLCAxLjY1MDI3NDAzODMxNDgxOTNdLCBbMTY2MzkyMTcyNy4yMDMxOTQxLCAyMjc3LCAxLjY3NTEyNzM4NzA0NjgxNF0sIFsxNjYzOTIxNzI3LjMwMDkwMzMsIDIyODYsIDEuNjYzMTc3OTY3MDcxNTMzMl0sIFsxNjYzOTIxNzI3LjM5Mjg2MjgsIDIyOTUsIDEuNjM4ODczMTAwMjgwNzYxN10sIFsxNjYzOTIxNzI3LjQ4MTg0MjgsIDIzMDQsIDEuNjQ3MjI5NTUyMjY4OTgyXSwgWzE2NjM5MjE3MjcuNjU5NDc2MywgMjMyMiwgMS42MzQwNzY0NzYwOTcxMDddLCBbMTY2MzkyMTcyNy43NDgxNjYsIDIzMzEsIDEuNjY3Mzk2NjY0NjE5NDQ1OF0sIFsxNjYzOTIxNzI3Ljg0OTY4NzYsIDIzNDAsIDEuNjM3NzMzMTAxODQ0Nzg3Nl0sIFsxNjYzOTIxNzI3Ljk0NDI3NzgsIDIzNDksIDEuNjc3NTg3NzQ3NTczODUyNV0sIFsxNjYzOTIxNzI4LjE0OTg0NjgsIDIzNjcsIDEuNjQzMzIxNTE0MTI5NjM4N10sIFsxNjYzOTIxNzI4LjI1MjM1MjIsIDIzNzYsIDEuNjEwMjU0MTY4NTEwNDM3XSwgWzE2NjM5MjE3MjguNzI4ODYzNSwgMjM5NCwgMS42NDE2MDIyNzc3NTU3MzczXSwgWzE2NjM5MjE3MjkuMDgwMjUzNCwgMjQyMSwgMS42NDM2OTY1NDY1NTQ1NjU0XSwgWzE2NjM5MjE3MjkuMjg1NTAxLCAyNDM5LCAxLjY3NTU1OTI4MjMwMjg1NjRdLCBbMTY2MzkyMTcyOS4zODgyNzgyLCAyNDQ4LCAxLjYxODc0NjA0MjI1MTU4N10sIFsxNjYzOTIxNzI5LjU5MjQ0MywgMjQ2NiwgMS42MTc1NDI5ODIxMDE0NDA0XSwgWzE2NjM5MjE3MjkuNzE1OTU5NSwgMjQ3NSwgMS42MTY1NDA5MDg4MTM0NzY2XSwgWzE2NjM5MjE3MjkuODU0OTQwMiwgMjQ4NCwgMS42MjM3Mzk5NTc4MDk0NDgyXSwgWzE2NjM5MjE3MjkuOTc2NDIxLCAyNDkzLCAxLjYwNDkwNjY3ODE5OTc2OF0sIFsxNjYzOTIxNzMwLjE5NTcxNiwgMjUxMSwgMS42MTAzOTY2MjM2MTE0NTAyXSwgWzE2NjM5MjE3MzAuMzA4NzU1NiwgMjUyMCwgMS42MDcwNTQ4Mjk1OTc0NzMxXSwgWzE2NjM5MjE3MzAuNDMyODc1MiwgMjUyOSwgMS42MTgwMjE3MjY2MDgyNzY0XSwgWzE2NjM5MjE3MzAuNTMzNTUyLCAyNTM4LCAxLjYzNDMwNDQwNDI1ODcyOF0sIFsxNjYzOTIxNzMwLjY0NTk0MDMsIDI1NDcsIDEuNjIxNTQ0MzYxMTE0NTAyXSwgWzE2NjM5MjE3MzAuNzQzNTQzNCwgMjU1NiwgMS41ODYyMDA3MTQxMTEzMjgxXSwgWzE2NjM5MjE3MzAuODUzMzcwNCwgMjU2NSwgMS42MTQ0NDY5OTc2NDI1MTddLCBbMTY2MzkyMTczMC45NTYxNzQsIDI1NzQsIDEuNjEzODQyMTI5NzA3MzM2NF0sIFsxNjYzOTIxNzMxLjA1NTAyMjIsIDI1ODMsIDEuNjE4MTQyMzY2NDA5MzAxOF0sIFsxNjYzOTIxNzMxLjE1ODc3OTEsIDI1OTIsIDEuNTcxMzc5MzAzOTMyMTldLCBbMTY2MzkyMTczMS4yNjgwNTA3LCAyNjAxLCAxLjU3MTQxNTMwNTEzNzYzNDNdLCBbMTY2MzkyMTczMS41MDQ4Mjc3LCAyNjE5LCAxLjYwNjMxMjYzMjU2MDczXSwgWzE2NjM5MjE3MzEuNTkzODM1OCwgMjYyOCwgMS41ODQzODEzNDE5MzQyMDRdLCBbMTY2MzkyMTczMS45NzUwNjEsIDI2NjQsIDEuNTk0Mjg3OTkxNTIzNzQyN10sIFsxNjYzOTIxNzMyLjA3ODMyMTIsIDI2NzMsIDEuNTY0NDUzNjAxODM3MTU4Ml0sIFsxNjYzOTIxNzMyLjE4NDQyLCAyNjgyLCAxLjU3MzE0NTUwODc2NjE3NDNdLCBbMTY2MzkyMTczMi4yNzEzMjA4LCAyNjkxLCAxLjU4NTk2ODM3NTIwNTk5MzddLCBbMTY2MzkyMTczMi4zNjg3MDU3LCAyNzAwLCAxLjU4NzAzNzU2MzMyMzk3NDZdLCBbMTY2MzkyMTczMi40NjM0MTksIDI3MDksIDEuNTUyNDUxODQ4OTgzNzY0Nl0sIFsxNjYzOTIxNzMyLjU2MzQxMzEsIDI3MTgsIDEuNTg3MjcwNjE3NDg1MDQ2NF0sIFsxNjYzOTIxNzMyLjc1NDA3MSwgMjczNiwgMS41MzU2ODk1OTIzNjE0NTAyXSwgWzE2NjM5MjE3MzIuODQ3NzU3MywgMjc0NSwgMS41NDg4NDQ4MTQzMDA1MzddLCBbMTY2MzkyMTczMi45MzgyMDA1LCAyNzU0LCAxLjU4MDQ4NjUzNjAyNjAwMV0sIFsxNjYzOTIxNzMzLjAzNjA4NCwgMjc2MywgMS41Nzc5NTg0NjQ2MjI0OTc2XSwgWzE2NjM5MjE3MzMuMTYzNjM3OSwgMjc3MiwgMS42MDMxMjIyMzQzNDQ0ODI0XSwgWzE2NjM5MjE3MzMuMjgzMTk4LCAyNzgxLCAxLjU2MTM2NDc2OTkzNTYwOF0sIFsxNjYzOTIxNzMzLjQwODIyNCwgMjc5MCwgMS41MzkwMzQyNDczOTgzNzY1XSwgWzE2NjM5MjE3MzMuNTg4ODQzLCAyODA4LCAxLjU2NjYzMTE5NzkyOTM4MjNdLCBbMTY2MzkyMTczMy42ODI3NTUyLCAyODE3LCAxLjUyODM1Mjg1NjYzNjA0NzRdLCBbMTY2MzkyMTczMy43NzY2NjMzLCAyODI2LCAxLjYwMjM1MzkzMDQ3MzMyNzZdLCBbMTY2MzkyMTczMy44NjQ5NzksIDI4MzUsIDEuNTU4MDg2NTE0NDcyOTYxNF0sIFsxNjYzOTIxNzMzLjk1NjI2OTMsIDI4NDQsIDEuNTY3NzIzNzUxMDY4MTE1Ml0sIFsxNjYzOTIxNzM0LjA0OTk3NDQsIDI4NTMsIDEuNTM0ODEzMjg0ODczOTYyNF0sIFsxNjYzOTIxNzM0LjI1MTQwMTcsIDI4NzEsIDEuNTM3ODA4MDYwNjQ2MDU3MV0sIFsxNjYzOTIxNzM0LjM0Mzc5NDMsIDI4ODAsIDEuNTUzNjAwNTQ5Njk3ODc2XSwgWzE2NjM5MjE3MzQuNDQzNDEzNSwgMjg4OSwgMS41MzA1OTk1OTQxMTYyMTFdLCBbMTY2MzkyMTczNC41Mzk2MTc4LCAyODk4LCAxLjUyMzk0NDYxNjMxNzc0OV0sIFsxNjYzOTIxNzM0LjY0MTQ1ODMsIDI5MDcsIDEuNTIyODc5NjAwNTI0OTAyM10sIFsxNjYzOTIxNzM0LjgzMDgxMzYsIDI5MjUsIDEuNTIzODg2NTYxMzkzNzM3OF0sIFsxNjYzOTIxNzM1LjExMzA0NzEsIDI5NTIsIDEuNTA2MDkwMjgzMzkzODU5OV0sIFsxNjYzOTIxNzM1LjMxMjMwODgsIDI5NzAsIDEuNTE2NzU3NDg4MjUwNzMyNF0sIFsxNjYzOTIxNzM1LjQyNzM4MjUsIDI5NzksIDEuNTMwNDIyMjEwNjkzMzU5NF0sIFsxNjYzOTIxNzM1LjUxODMzMzIsIDI5ODgsIDEuNTMxMzg3OTI1MTQ4MDEwM10sIFsxNjYzOTIxNzM1LjYxMDk2NCwgMjk5NywgMS41MDA5NzQyOTc1MjM0OTg1XSwgWzE2NjM5MjE3MzUuNzA3OTA3NywgMzAwNiwgMS41MDg1NTc1NTgwNTk2OTI0XSwgWzE2NjM5MjE3MzUuODA3MjkxNywgMzAxNSwgMS41MTA4MDE2NzI5MzU0ODU4XSwgWzE2NjM5MjE3MzUuOTk5NDIzNywgMzAzMywgMS41NTMyMTI4ODEwODgyNTY4XSwgWzE2NjM5MjE3MzYuMDkzMjE5MywgMzA0MiwgMS40OTM1ODY2NTk0MzE0NTc1XSwgWzE2NjM5MjE3MzYuMjA5MjQzLCAzMDUxLCAxLjUwNjY5OTgwMDQ5MTMzM10sIFsxNjYzOTIxNzM2LjQ3OTU2MywgMzA2OSwgMS40ODc4OTQ1MzUwNjQ2OTczXSwgWzE2NjM5MjE3MzYuNjAyOTM2NywgMzA3OCwgMS41MDY5NDIwMzM3Njc3MDAyXSwgWzE2NjM5MjE3MzYuNzE5MzIyMiwgMzA4NywgMS41MTEyMzMzMjk3NzI5NDkyXSwgWzE2NjM5MjE3MzYuODI3MzE0LCAzMDk2LCAxLjUwODYxNjQ0NzQ0ODczMDVdLCBbMTY2MzkyMTczNi45NDMyNzg4LCAzMTA1LCAxLjUwMjY3ODYzMjczNjIwNl0sIFsxNjYzOTIxNzM3LjA1MjgzMjYsIDMxMTQsIDEuNTE4OTM5MjU2NjY4MDkwOF0sIFsxNjYzOTIxNzM3LjE2MjQyOTMsIDMxMjMsIDEuNDg0OTUzODgwMzEwMDU4Nl0sIFsxNjYzOTIxNzM3LjI2MTIxNDMsIDMxMzIsIDEuNDk5MjI3NTIzODAzNzExXSwgWzE2NjM5MjE3MzcuMzg1NjU2OCwgMzE0MSwgMS40Nzc1NTI2NTIzNTkwMDg4XSwgWzE2NjM5MjE3MzcuNTEzODYsIDMxNTAsIDEuNTA1MzE3NTY4Nzc4OTkxN10sIFsxNjYzOTIxNzM3LjYwNzUyMjcsIDMxNTksIDEuNDcwMjM4OTI0MDI2NDg5M10sIFsxNjYzOTIxNzM4LjAyOTc4MjMsIDMxNzcsIDEuNTI2NDQzMjQzMDI2NzMzNF0sIFsxNjYzOTIxNzM4LjEzNzMxNjUsIDMxODYsIDEuNTEwMDk3NjIyODcxMzk5XSwgWzE2NjM5MjE3MzguMjMyNjA5LCAzMTk1LCAxLjQ2NDEzOTU4MDcyNjYyMzVdLCBbMTY2MzkyMTczOC4zNDczLCAzMjA0LCAxLjQ2NzIyNjE0NzY1MTY3MjRdLCBbMTY2MzkyMTczOC41NDI4ODUsIDMyMjIsIDEuNDcxMTYyNzk2MDIwNTA3OF0sIFsxNjYzOTIxNzM4LjY1NDExMiwgMzIzMSwgMS41MjUxOTg2OTgwNDM4MjMyXSwgWzE2NjM5MjE3MzguODU0OTkwMiwgMzI0OSwgMS40ODA0NzYyNjAxODUyNDE3XSwgWzE2NjM5MjE3MzguOTc1MzE2OCwgMzI1OCwgMS40Nzk5MjQyMDE5NjUzMzJdLCBbMTY2MzkyMTczOS4wODU4MzM1LCAzMjY3LCAxLjQ1MTU1NjY4MjU4NjY3XSwgWzE2NjM5MjE3MzkuMTg1MzUzLCAzMjc2LCAxLjQ1MTAzMTU2NTY2NjE5ODddLCBbMTY2MzkyMTczOS4zMDY2NTc4LCAzMjg1LCAxLjQ2NTEzMzY2Njk5MjE4NzVdLCBbMTY2MzkyMTczOS40MDUxMjY4LCAzMjk0LCAxLjQ1NDQzMjQ4NzQ4Nzc5M10sIFsxNjYzOTIxNzM5LjUwNzkyMzQsIDMzMDMsIDEuNDUzOTQyMTc5Njc5ODcwNl0sIFsxNjYzOTIxNzM5LjYwNzgyMzQsIDMzMTIsIDEuNTAwNTI3MjYyNjg3NjgzXSwgWzE2NjM5MjE3MzkuNzAyMDU2MiwgMzMyMSwgMS40NjUwMzc0NjUwOTU1Ml0sIFsxNjYzOTIxNzM5Ljc5MzM1NSwgMzMzMCwgMS40ODE1MTU0MDc1NjIyNTU5XSwgWzE2NjM5MjE3NDAuMTc0ODIsIDMzNjYsIDEuNDQ2Nzg2NzYxMjgzODc0NV0sIFsxNjYzOTIxNzQwLjI2NjE1OTgsIDMzNzUsIDEuNDUzODIyNjEyNzYyNDUxMl0sIFsxNjYzOTIxNzQwLjM1NTQ5ODYsIDMzODQsIDEuNDk5NzA0NzE4NTg5NzgyN10sIFsxNjYzOTIxNzQwLjU1NjY0NzUsIDM0MDIsIDEuNDU5MzYyMDMwMDI5Mjk2OV0sIFsxNjYzOTIxNzQwLjY1NTE0MzcsIDM0MTEsIDEuNDQ1MTA5MjQ4MTYxMzE2XSwgWzE2NjM5MjE3NDAuOTMyODQyMywgMzQzOCwgMS40NDczMzIwMjQ1NzQyNzk4XSwgWzE2NjM5MjE3NDEuMDIzNTE1NSwgMzQ0NywgMS40NjQ1MDMyODgyNjkwNDNdLCBbMTY2MzkyMTc0MS4yMDk5NzM4LCAzNDY1LCAxLjQzMTk0MTUwOTI0NjgyNjJdLCBbMTY2MzkyMTc0MS4zMDY5OSwgMzQ3NCwgMS40MTkxMDMxNDU1OTkzNjUyXSwgWzE2NjM5MjE3NDEuNDE3MTcxNSwgMzQ4MywgMS40MTk3ODA0OTI3ODI1OTI4XSwgWzE2NjM5MjE3NDEuNzQxMDA3NiwgMzUxMCwgMS40Mzc3NDU1NzExMzY0NzQ2XSwgWzE2NjM5MjE3NDEuODM3NzU3MywgMzUxOSwgMS40MjU4MTA2OTQ2OTQ1MTldLCBbMTY2MzkyMTc0MS45Mzg5ODg3LCAzNTI4LCAxLjQyODM5NTg2NzM0NzcxNzNdLCBbMTY2MzkyMTc0Mi4wNDIxMzU1LCAzNTM3LCAxLjQxNTgzMjYzODc0MDUzOTZdLCBbMTY2MzkyMTc0Mi4xNDI2ODUyLCAzNTQ2LCAxLjQyNzAwMzUwMjg0NTc2NDJdLCBbMTY2MzkyMTc0Mi4yMzgyNjIyLCAzNTU1LCAxLjQ0NTYxMzYyMjY2NTQwNTNdLCBbMTY2MzkyMTc0Mi4zNDM1NjI4LCAzNTY0LCAxLjQ1MzY1MzgxMjQwODQ0NzNdLCBbMTY2MzkyMTc0Mi40NTA1ODQ3LCAzNTczLCAxLjQzNTgyNDM5NDIyNjA3NDJdLCBbMTY2MzkyMTc0Mi41NDgxNzg3LCAzNTgyLCAxLjM5OTQwMjczNzYxNzQ5MjddLCBbMTY2MzkyMTc0Mi42NDc1NjI3LCAzNTkxLCAxLjQxMDMxOTkyNDM1NDU1MzJdLCBbMTY2MzkyMTc0Mi43NDQ0NjU4LCAzNjAwLCAxLjQzMzc3NzU3MDcyNDQ4NzNdLCBbMTY2MzkyMTc0Mi44NDQ5ODEsIDM2MDksIDEuNDMxMzIwNDI4ODQ4MjY2Nl0sIFsxNjYzOTIxNzQyLjkzNDE1LCAzNjE4LCAxLjQyOTMyMzQzNDgyOTcxMl0sIFsxNjYzOTIxNzQzLjA2MTE1MTMsIDM2MjcsIDEuNDEzNDkyNzk4ODA1MjM2OF0sIFsxNjYzOTIxNzQzLjE3MDk5MSwgMzYzNiwgMS4zODk5NTQzMjg1MzY5ODczXSwgWzE2NjM5MjE3NDMuMzE5MTczMywgMzY0NSwgMS40MTkwMzU2NzMxNDE0Nzk1XSwgWzE2NjM5MjE3NDMuNDMyMTg1NiwgMzY1NCwgMS40MTMzOTAxNTk2MDY5MzM2XSwgWzE2NjM5MjE3NDMuNTI2MTAxNiwgMzY2MywgMS40MDkzMzYyMDkyOTcxODAyXSwgWzE2NjM5MjE3NDMuNjIzNTk1LCAzNjcyLCAxLjM4OTEzMzgxMDk5NzAwOTNdLCBbMTY2MzkyMTc0My43MjgwODE3LCAzNjgxLCAxLjQwNzg5MTM5MjcwNzgyNDddLCBbMTY2MzkyMTc0My44MzQ5NTE0LCAzNjkwLCAxLjM4NTA4NDE1MjIyMTY3OTddLCBbMTY2MzkyMTc0NC4xMjUzMTM1LCAzNzE3LCAxLjM5MjAwNjk5MzI5Mzc2MjJdLCBbMTY2MzkyMTc0NC4yMjM2NjM2LCAzNzI2LCAxLjQxODkzODc1NTk4OTA3NDddLCBbMTY2MzkyMTc0NC4zMjM0MDUsIDM3MzUsIDEuMzg4Mzk2NjIwNzUwNDI3Ml0sIFsxNjYzOTIxNzQ0LjQxODEwMTgsIDM3NDQsIDEuMzk1Njg3MjIyNDgwNzc0XSwgWzE2NjM5MjE3NDQuNzEzNTUzNywgMzc3MSwgMS40MTMzNDE5OTkwNTM5NTVdLCBbMTY2MzkyMTc0NC44MTA5MDQzLCAzNzgwLCAxLjQxOTIzNTU4NzEyMDA1NjJdLCBbMTY2MzkyMTc0NS4wMTg5MDEzLCAzNzk4LCAxLjM3OTk5Mzc5NjM0ODU3MThdLCBbMTY2MzkyMTc0NS4xMTQ0NTcsIDM4MDcsIDEuMzYzNTY4NjYzNTk3MTA3XSwgWzE2NjM5MjE3NDUuMjI2MTcsIDM4MTYsIDEuNDAyMDMwOTQ0ODI0MjE4OF0sIFsxNjYzOTIxNzQ1LjM0NDE0OCwgMzgyNSwgMS4zNzc4ODU5Mzc2OTA3MzQ5XSwgWzE2NjM5MjE3NDUuNDYwODQzMywgMzgzNCwgMS4zODI4MDM5MTY5MzExNTIzXSwgWzE2NjM5MjE3NDUuNTQ3NjI0LCAzODQzLCAxLjM5MTcyOTM1NDg1ODM5ODRdLCBbMTY2MzkyMTc0NS42NDM4MzQ2LCAzODUyLCAxLjQwMDQxOTM1NDQzODc4MTddLCBbMTY2MzkyMTc0NS44MjQ1MjMyLCAzODcwLCAxLjM1NjUyMTg0NDg2Mzg5MTZdLCBbMTY2MzkyMTc0NS45MzM0NzgsIDM4NzksIDEuNDQ3NTM5MDkxMTEwMjI5NV0sIFsxNjYzOTIxNzQ2LjA1MDk0MDMsIDM4ODgsIDEuMzM3NzA4MTE1NTc3Njk3OF0sIFsxNjYzOTIxNzQ2LjM1Mjk3OSwgMzkxNSwgMS4zNTQ5NTY4NjUzMTA2NjldLCBbMTY2MzkyMTc0Ni40ODg3MzE2LCAzOTI0LCAxLjM2Nzg5MDQ3NzE4MDQ4MV0sIFsxNjYzOTIxNzQ2Ljc3NDA5NDMsIDM5MzMsIDEuMzc1NDU4NTk4MTM2OTAxOV0sIFsxNjYzOTIxNzQ2Ljg2NDkwNSwgMzk0MiwgMS4zNjMyMzUzNTQ0MjM1MjNdLCBbMTY2MzkyMTc0Ni45NjY2NjIsIDM5NTEsIDEuMzc0ODY5OTQyNjY1MV0sIFsxNjYzOTIxNzQ3LjA1OTgxNTQsIDM5NjAsIDEuMzQ1MTE4NjQxODUzMzMyNV0sIFsxNjYzOTIxNzQ3LjIxMjU5MywgMzk2OSwgMS4zNTE1MjExMzQzNzY1MjU5XSwgWzE2NjM5MjE3NDcuMzEzNzU2NywgMzk3OCwgMS4zNTk4NjUxODg1OTg2MzI4XSwgWzE2NjM5MjE3NDcuNTAzNzgxLCAzOTk2LCAxLjM3ODIzNDYyNDg2MjY3MV0sIFsxNjYzOTIxNzQ3LjYzNTkxODksIDQwMDUsIDEuMzU0OTYwNDQxNTg5MzU1NV0sIFsxNjYzOTIxNzQ3Ljc2NjMyNjIsIDQwMTQsIDEuMzYwMzY2NDYzNjYxMTkzOF0sIFsxNjYzOTIxNzQ3Ljg4ODI5NzMsIDQwMjMsIDEuMzY4NjQ3MjE3NzUwNTQ5M10sIFsxNjYzOTIxNzQ4LjI4MzMxMywgNDA1OSwgMS4zNTI4MTkwODUxMjExNTQ4XSwgWzE2NjM5MjE3NDguMzg4NTcxNSwgNDA2OCwgMS4zNTMyODUxOTM0NDMyOTgzXSwgWzE2NjM5MjE3NDguNTAyNTM3MywgNDA3NywgMS4zNTYyOTU0NjY0MjMwMzQ3XSwgWzE2NjM5MjE3NDguNjAyMjAzMSwgNDA4NiwgMS4zMzI1NjM1MTk0Nzc4NDQyXSwgWzE2NjM5MjE3NDguNzExODkwNywgNDA5NSwgMS4zMzY2NDk1MzcwODY0ODY4XSwgWzE2NjM5MjE3NDguODA0MjA1LCA0MTA0LCAxLjM2NDY2MzI0MzI5Mzc2MjJdLCBbMTY2MzkyMTc0OC44OTczNzQ0LCA0MTEzLCAxLjM2MDUwMzMxNTkyNTU5ODFdLCBbMTY2MzkyMTc0OS4xMjcwNjA0LCA0MTMxLCAxLjM5NzExMzgwMDA0ODgyODFdLCBbMTY2MzkyMTc0OS4zMTIyOTMsIDQxNDksIDEuMzM5ODY5NDk5MjA2NTQzXSwgWzE2NjM5MjE3NDkuNDExMTU2NywgNDE1OCwgMS4zNDk1NDg2OTc0NzE2MTg3XSwgWzE2NjM5MjE3NDkuNTA3NDM2NSwgNDE2NywgMS4zNzEzMzYxMDI0ODU2NTY3XSwgWzE2NjM5MjE3NDkuNTk5NTM5LCA0MTc2LCAxLjM1MDE1NTcxMTE3NDAxMTJdLCBbMTY2MzkyMTc0OS42OTgyNjk2LCA0MTg1LCAxLjMxNTE2NjIzNDk3MDA5MjhdLCBbMTY2MzkyMTc0OS43OTQ5MzEsIDQxOTQsIDEuMzQwMTIxMDMwODA3NDk1MV0sIFsxNjYzOTIxNzQ5Ljg5MzQ2NiwgNDIwMywgMS4zMzM5MDIyMzk3OTk0OTk1XSwgWzE2NjM5MjE3NTAuMDkyNTQ4NCwgNDIyMSwgMS4zNDc2NjYwMjUxNjE3NDMyXSwgWzE2NjM5MjE3NTAuMjE0MzU1LCA0MjMwLCAxLjMyODY4MjQyMjYzNzkzOTVdLCBbMTY2MzkyMTc1MC4zMTA5MjMzLCA0MjM5LCAxLjMxNjM4MzEyMzM5NzgyNzFdLCBbMTY2MzkyMTc1MC40MTA2NDQ1LCA0MjQ4LCAxLjMzNTQwNzQ5NTQ5ODY1NzJdLCBbMTY2MzkyMTc1MC42MTEyNDk0LCA0MjY2LCAxLjM0MTM0MDg5OTQ2NzQ2ODNdLCBbMTY2MzkyMTc1MC43MTEyMjUsIDQyNzUsIDEuMzQyNTcyODA4MjY1Njg2XSwgWzE2NjM5MjE3NTAuODExNzA0OSwgNDI4NCwgMS4zNDg5NjcwNzUzNDc5MDA0XSwgWzE2NjM5MjE3NTEuMTU1ODA2LCA0MzExLCAxLjM3MTY2OTY1MDA3NzgxOThdLCBbMTY2MzkyMTc1MS4yNjUyNzIxLCA0MzIwLCAxLjM1NDczMzEwOTQ3NDE4MjFdLCBbMTY2MzkyMTc1MS4zOTY5NjM4LCA0MzI5LCAxLjMzNjA0MDQ5NjgyNjE3MTldLCBbMTY2MzkyMTc1MS40OTczNjEyLCA0MzM4LCAxLjMyMjk1NjIwNDQxNDM2NzddLCBbMTY2MzkyMTc1MS41ODg2NTk4LCA0MzQ3LCAxLjMxOTEyODc1MTc1NDc2MDddLCBbMTY2MzkyMTc1MS42Nzc0MzQ0LCA0MzU2LCAxLjM0NDI1MjcwNTU3NDAzNTZdLCBbMTY2MzkyMTc1MS43Njk4MzY0LCA0MzY1LCAxLjM1NTU2NTc4NjM2MTY5NDNdLCBbMTY2MzkyMTc1MS45NzkyOTk4LCA0MzgzLCAxLjM0MzAwNTg5NTYxNDYyNF0sIFsxNjYzOTIxNzUyLjA5MzA3MzEsIDQzOTIsIDEuMzM1Njg0MTgwMjU5NzA0Nl0sIFsxNjYzOTIxNzUyLjE5MDY1MjEsIDQ0MDEsIDEuMzIxODA4Njk1NzkzMTUxOV0sIFsxNjYzOTIxNzUyLjI5MTE0NiwgNDQxMCwgMS4zNTUzNTU5NzgwMTIwODVdLCBbMTY2MzkyMTc1Mi4zODE1NTI1LCA0NDE5LCAxLjMyNDYzMjg4MzA3MTg5OTRdLCBbMTY2MzkyMTc1Mi40NzcxNCwgNDQyOCwgMS4zNzg1NjQ4MzQ1OTQ3MjY2XSwgWzE2NjM5MjE3NTIuNzY0MzEwNiwgNDQ1NSwgMS4yOTYxMzA3NzY0MDUzMzQ1XSwgWzE2NjM5MjE3NTIuODUzNDMwMywgNDQ2NCwgMS4zMjk0Njc2NTQyMjgyMTA0XSwgWzE2NjM5MjE3NTMuMDQ1MjQ5LCA0NDgyLCAxLjMzMzQwMDAxMTA2MjYyMl0sIFsxNjYzOTIxNzUzLjE1MTgyOCwgNDQ5MSwgMS4yOTY3NzA4MTEwODA5MzI2XSwgWzE2NjM5MjE3NTMuMzA5MjM5NiwgNDUwMCwgMS4zMjA3NzgyNTA2OTQyNzVdLCBbMTY2MzkyMTc1My41MTExMDE3LCA0NTE4LCAxLjMyNzYyMzg0NDE0NjcyODVdLCBbMTY2MzkyMTc1My42MDAzMTMsIDQ1MjcsIDEuMzA1OTMyNTIxODIwMDY4NF0sIFsxNjYzOTIxNzUzLjcxMDkxNDQsIDQ1MzYsIDEuMzA2MjA5NDQ0OTk5Njk0OF0sIFsxNjYzOTIxNzUzLjk5NDQyMjcsIDQ1NjMsIDEuMzI4NjA1MDU1ODA5MDIxXSwgWzE2NjM5MjE3NTQuMTE5NTg2NywgNDU3MiwgMS4zMTg1MzgxODg5MzQzMjYyXSwgWzE2NjM5MjE3NTQuMjE5MTgxNSwgNDU4MSwgMS4yODg1NjA3NDgxMDAyODA4XSwgWzE2NjM5MjE3NTQuMzUwNjkwNCwgNDU5MCwgMS4yOTQzMzQxNzMyMDI1MTQ2XSwgWzE2NjM5MjE3NTQuNDc1Mjc2NSwgNDU5OSwgMS4zMzA1Njk4NjMzMTkzOTddLCBbMTY2MzkyMTc1NC41ODIyMzc3LCA0NjA4LCAxLjMyNDA4MTA2MzI3MDU2ODhdLCBbMTY2MzkyMTc1NC42ODA0OTQ1LCA0NjE3LCAxLjMzMDQ5NTQ3NjcyMjcxNzNdLCBbMTY2MzkyMTc1NC43ODQ2MjM5LCA0NjI2LCAxLjI4OTE2Mzk0NzEwNTQwNzddLCBbMTY2MzkyMTc1NC44Nzk1ODg4LCA0NjM1LCAxLjMxMzY5MzQwNDE5NzY5MjldLCBbMTY2MzkyMTc1NS4wODI5MTUsIDQ2NTMsIDEuMzE2MDU2NjA5MTUzNzQ3Nl0sIFsxNjYzOTIxNzU1LjE3NjEwNTMsIDQ2NjIsIDEuMjg0NDA2NjYxOTg3MzA0N10sIFsxNjYzOTIxNzU1LjI3NTUwMzksIDQ2NzEsIDEuMzAzOTY2MTY0NTg4OTI4Ml0sIFsxNjYzOTIxNzU1LjM3MDc3NTIsIDQ2ODAsIDEuMzExMjYzMjAzNjIwOTEwNl0sIFsxNjYzOTIxNzU1LjQ4ODM5NjQsIDQ2ODksIDEuMzM2MTE5Mjk0MTY2NTY1XSwgWzE2NjM5MjE3NTUuNzgxNzcxNCwgNDY5OCwgMS4zMDgzODQ3NzYxMTU0MTc1XSwgWzE2NjM5MjE3NTYuMDIyMzI5NiwgNDcxNiwgMS4zMTM0MTg2MjY3ODUyNzgzXSwgWzE2NjM5MjE3NTYuMzMxMTA4LCA0NzQzLCAxLjI5Nzc1MDM1MzgxMzE3MTRdLCBbMTY2MzkyMTc1Ni40MzE2ODcsIDQ3NTIsIDEuMjcyNTM5NzM0ODQwMzkzXSwgWzE2NjM5MjE3NTYuNzQxNjI2LCA0Nzc5LCAxLjI4Njk3ODM2Mzk5MDc4MzddLCBbMTY2MzkyMTc1Ni44Mzc1NDIsIDQ3ODgsIDEuMzEwMDcyMTgzNjA5MDA4OF0sIFsxNjYzOTIxNzU2LjkyOTE0MTMsIDQ3OTcsIDEuMjkyOTA0MjU3Nzc0MzUzXSwgWzE2NjM5MjE3NTcuMDE5MjM4NSwgNDgwNiwgMS4yOTUxMjE0MzEzNTA3MDhdLCBbMTY2MzkyMTc1Ny4xMDk3NjMxLCA0ODE1LCAxLjMwODk1NDIzODg5MTYwMTZdLCBbMTY2MzkyMTc1Ny4xOTQzNDk1LCA0ODI0LCAxLjMwNDIwMDY0OTI2MTQ3NDZdLCBbMTY2MzkyMTc1Ny4yODg1NjM3LCA0ODMzLCAxLjI5NDkzODgwMjcxOTExNjJdLCBbMTY2MzkyMTc1Ny4zNzcyODMsIDQ4NDIsIDEuMjc1OTAzNDYzMzYzNjQ3NV0sIFsxNjYzOTIxNzU3LjQ4MzEwNjYsIDQ4NTEsIDEuMzA2NzUyODAwOTQxNDY3M10sIFsxNjYzOTIxNzU3LjU4MDY2MjcsIDQ4NjAsIDEuMzA3MjU1OTgzMzUyNjYxMV0sIFsxNjYzOTIxNzU3LjY3NDYwNSwgNDg2OSwgMS4zMDMzMDUxNDkwNzgzNjkxXSwgWzE2NjM5MjE3NTcuNzc4MDkzOCwgNDg3OCwgMS4yODIwNzg2MjM3NzE2Njc1XSwgWzE2NjM5MjE3NTcuODgyNTA5LCA0ODg3LCAxLjMwMTAwNDE3MTM3MTQ2XSwgWzE2NjM5MjE3NTcuOTk0ODgwNywgNDg5NiwgMS4yNzg1NjUxNjgzODA3MzczXSwgWzE2NjM5MjE3NTguMDkzODU0NCwgNDkwNSwgMS4yNzUzOTI0MTMxMzkzNDMzXSwgWzE2NjM5MjE3NTguMjg3MDU2NywgNDkyMywgMS4yNjk4OTczNDE3MjgyMTA0XSwgWzE2NjM5MjE3NTguMzk1ODcyNiwgNDkzMiwgMS4yOTc0NTMwNDU4NDUwMzE3XSwgWzE2NjM5MjE3NTguNTAwNzE2NCwgNDk0MSwgMS4yODI2NjkxODY1OTIxMDJdLCBbMTY2MzkyMTc1OC43MDA3OTE4LCA0OTU5LCAxLjI5MjA1MTU1MzcyNjE5NjNdLCBbMTY2MzkyMTc1OC44ODk1NTUyLCA0OTc3LCAxLjMxMTEyNzQyNDI0MDExMjNdLCBbMTY2MzkyMTc1OC45ODUzMzgyLCA0OTg2LCAxLjI3MjExMDIyMzc3MDE0MTZdLCBbMTY2MzkyMTc1OS4wODQ0MzU3LCA0OTk1LCAxLjI5NjY5MzIwNTgzMzQzNV0sIFsxNjYzOTIxNzU5LjE4MDQ0NTIsIDUwMDQsIDEuMjc5NzE0MzQ1OTMyMDA2OF0sIFsxNjYzOTIxNzU5LjI4MjkyOTIsIDUwMTMsIDEuMjU3OTA5ODkzOTg5NTYzXSwgWzE2NjM5MjE3NTkuNDc5MDUxNiwgNTAzMSwgMS4yNzYzOTgxODE5MTUyODMyXSwgWzE2NjM5MjE3NTkuNTg2NjIsIDUwNDAsIDEuMjcxODc5MzE1Mzc2MjgxN10sIFsxNjYzOTIxNzU5Ljc5NDkyMzMsIDUwNTgsIDEuMzE2NzkxNzcyODQyNDA3Ml0sIFsxNjYzOTIxNzU5Ljg4NTY0NTIsIDUwNjcsIDEuMzA2MTM3MjA0MTcwMjI3XSwgWzE2NjM5MjE3NTkuOTgxNTg2NywgNTA3NiwgMS4yODIyNzc5NDE3MDM3OTY0XSwgWzE2NjM5MjE3NjAuMDc1NTg2OCwgNTA4NSwgMS4yNzQ2ODA0OTUyNjIxNDZdLCBbMTY2MzkyMTc2MC4yNjE5ODY3LCA1MTAzLCAxLjI4MDA0NTI3MDkxOTc5OThdLCBbMTY2MzkyMTc2MC4zNTY3ODg2LCA1MTEyLCAxLjI3OTE0NTM1OTk5Mjk4MV0sIFsxNjYzOTIxNzYwLjQ4MzkyNzcsIDUxMjEsIDEuMzEyMzI4ODE1NDYwMjA1XSwgWzE2NjM5MjE3NjAuNTk1OTI2OCwgNTEzMCwgMS4zMDc5MDE3NDAwNzQxNTc3XSwgWzE2NjM5MjE3NjAuODA0MjE0LCA1MTQ4LCAxLjI2NjAwODI1Nzg2NTkwNThdLCBbMTY2MzkyMTc2MC45NDE1OTkxLCA1MTU3LCAxLjMwMTQzMjEzMjcyMDk0NzNdLCBbMTY2MzkyMTc2MS4wNTA1NzM4LCA1MTY2LCAxLjI5MjE5MDU1MTc1NzgxMjVdLCBbMTY2MzkyMTc2MS4zMTY2NzczLCA1MTg0LCAxLjI4NjQwMTUxMDIzODY0NzVdLCBbMTY2MzkyMTc2MS40MzA4NjQzLCA1MTkzLCAxLjI2ODg4MzcwNTEzOTE2MDJdLCBbMTY2MzkyMTc2MS41Mzc1OTE1LCA1MjAyLCAxLjI2Mjg1MDA0NjE1NzgzN10sIFsxNjYzOTIxNzYxLjgzNDE3NzMsIDUyMjksIDEuMjU3MjM1NTI3MDM4NTc0Ml0sIFsxNjYzOTIxNzYyLjI4MjQ2MzYsIDUyNjUsIDEuMjYwNjA0NzM5MTg5MTQ4XSwgWzE2NjM5MjE3NjIuMzkyNzYzMSwgNTI3NCwgMS4yNjg2Nzc5NDk5MDUzOTU1XSwgWzE2NjM5MjE3NjIuNDg3MTM1NCwgNTI4MywgMS4yNTE4NTMyMjc2MTUzNTY0XSwgWzE2NjM5MjE3NjIuNjczODIyNCwgNTMwMSwgMS4yNzQ4MTA0MzMzODc3NTYzXSwgWzE2NjM5MjE3NjIuNzY1NDIsIDUzMTAsIDEuMjc4NTk4Nzg1NDAwMzkwNl0sIFsxNjYzOTIxNzYyLjg2NjkzODYsIDUzMTksIDEuMjUyOTIwMDMxNTQ3NTQ2NF0sIFsxNjYzOTIxNzYyLjk1NzUxMTQsIDUzMjgsIDEuMjY1ODM5MjE5MDkzMzIyOF0sIFsxNjYzOTIxNzYzLjA5MzY0MzcsIDUzMzcsIDEuMjcwMDYyNTY1ODAzNTI3OF0sIFsxNjYzOTIxNzYzLjIwMzQzNSwgNTM0NiwgMS4yNzYzODI0NDYyODkwNjI1XSwgWzE2NjM5MjE3NjMuMjk5OTEyNSwgNTM1NSwgMS4yNjc2NjU4NjMwMzcxMDk0XSwgWzE2NjM5MjE3NjMuMzk5NDU3NSwgNTM2NCwgMS4yNzk3ODA3NDU1MDYyODY2XSwgWzE2NjM5MjE3NjMuNTAwMjE4OSwgNTM3MywgMS4zMjg1MzM0MTEwMjYwMDFdLCBbMTY2MzkyMTc2My41OTkxMTU4LCA1MzgyLCAxLjI2NjYyMzczNTQyNzg1NjRdLCBbMTY2MzkyMTc2My42OTYwMTA0LCA1MzkxLCAxLjI3NDI5ODY2NzkwNzcxNDhdLCBbMTY2MzkyMTc2My43OTg0ODE3LCA1NDAwLCAxLjI3Mzg2MzQzNDc5MTU2NV0sIFsxNjYzOTIxNzYzLjk5MzAxMjcsIDU0MTgsIDEuMjY0Mjg0NjEwNzQ4MjkxXSwgWzE2NjM5MjE3NjQuMDk0OTUwNywgNTQyNywgMS4yNTIyNjkyNjgwMzU4ODg3XSwgWzE2NjM5MjE3NjQuMTkzMjIxOCwgNTQzNiwgMS4yNTc3NjAwNDc5MTI1OTc3XSwgWzE2NjM5MjE3NjQuMjkyOTIzLCA1NDQ1LCAxLjIzNDAyOTc2OTg5NzQ2MV0sIFsxNjYzOTIxNzY0LjM5OTkwNjIsIDU0NTQsIDEuMjUzMTUzMjA0OTE3OTA3N10sIFsxNjYzOTIxNzY0Ljg0Mjg3MDcsIDU0NzIsIDEuMjkxMDY0MTQzMTgwODQ3Ml0sIFsxNjYzOTIxNzY0Ljk1MDk4LCA1NDgxLCAxLjI1OTM2MzE3NDQzODQ3NjZdLCBbMTY2MzkyMTc2NS4wNjM5MTYyLCA1NDkwLCAxLjI3MjY3ODk3MTI5MDU4ODRdLCBbMTY2MzkyMTc2NS4xNTkzNjUyLCA1NDk5LCAxLjI3NjgyMjkyNDYxMzk1MjZdLCBbMTY2MzkyMTc2NS4zNDA5NzIyLCA1NTE3LCAxLjI1MDUyNjA3MDU5NDc4NzZdLCBbMTY2MzkyMTc2NS40Mzg1NzAzLCA1NTI2LCAxLjI3OTU4NDUyNzAxNTY4Nl0sIFsxNjYzOTIxNzY1LjUzOTk4MTYsIDU1MzUsIDEuMjM1NzQ3OTMzMzg3NzU2M10sIFsxNjYzOTIxNzY1LjYzMDgzOTMsIDU1NDQsIDEuMjcyMjY5MDEwNTQzODIzMl0sIFsxNjYzOTIxNzY1LjczODc5OTgsIDU1NTMsIDEuMjUwMDQwNDExOTQ5MTU3N10sIFsxNjYzOTIxNzY1LjgzMjg5MzEsIDU1NjIsIDEuMzAwNjk2MDE1MzU3OTcxMl0sIFsxNjYzOTIxNzY1LjkzMDk0MjgsIDU1NzEsIDEuMjM2ODUyNTI2NjY0NzMzOV0sIFsxNjYzOTIxNzY2LjAzMzI5NDQsIDU1ODAsIDEuMjI1MzgzODc3NzU0MjExNF0sIFsxNjYzOTIxNzY2LjEyNjYyNTUsIDU1ODksIDEuMjI3OTI1MzAwNTk4MTQ0NV0sIFsxNjYzOTIxNzY2LjIxOTMyMDUsIDU1OTgsIDEuMjU0OTQxMjI1MDUxODc5OV0sIFsxNjYzOTIxNzY2LjMxMTgxMTQsIDU2MDcsIDEuMjMyODMwNjQzNjUzODY5Nl0sIFsxNjYzOTIxNzY2LjQwNTU4ODYsIDU2MTYsIDEuMjQyOTU5NjE4NTY4NDIwNF0sIFsxNjYzOTIxNzY2LjU4OTU4NDYsIDU2MzQsIDEuMjU2MTMzNzk0Nzg0NTQ2XSwgWzE2NjM5MjE3NjYuNjc4MzA5LCA1NjQzLCAxLjI4MTUxOTg4OTgzMTU0M10sIFsxNjYzOTIxNzY2Ljc3MDU1MzQsIDU2NTIsIDEuMjYzNTAwOTI4ODc4Nzg0Ml0sIFsxNjYzOTIxNzY2Ljg2NTU4MTUsIDU2NjEsIDEuMjU3MDc5MTI0NDUwNjgzNl0sIFsxNjYzOTIxNzY2Ljk2MjAyOTUsIDU2NzAsIDEuMjU1MjU4MzIxNzYyMDg1XSwgWzE2NjM5MjE3NjcuMjQ1NjE4LCA1Njk3LCAxLjIzNTY1OTcxODUxMzQ4ODhdLCBbMTY2MzkyMTc2Ny4zNDMzMTkyLCA1NzA2LCAxLjIzMjU0Mjk5MTYzODE4MzZdLCBbMTY2MzkyMTc2Ny40NDE0OTk1LCA1NzE1LCAxLjI0MTAxNDcxOTAwOTM5OTRdLCBbMTY2MzkyMTc2Ny41MzczMzgzLCA1NzI0LCAxLjI0MDg4NzE2NTA2OTU4XSwgWzE2NjM5MjE3NjcuNjI1NTI0OCwgNTczMywgMS4yMjU1NDc0MzI4OTk0NzVdLCBbMTY2MzkyMTc2Ny43MjQ2MjYsIDU3NDIsIDEuMjY2MjM5ODgxNTE1NTAzXSwgWzE2NjM5MjE3NjguMDA4OTI0NSwgNTc2OSwgMS4yOTE2NjM4ODUxMTY1NzcxXSwgWzE2NjM5MjE3NjguMTEwOTI4MywgNTc3OCwgMS4yNDAzMjY1MjM3ODA4MjI4XSwgWzE2NjM5MjE3NjguMjEwMTkwNSwgNTc4NywgMS4yMjU3NjE1MzI3ODM1MDgzXSwgWzE2NjM5MjE3NjguMzI4ODI2NCwgNTc5NiwgMS4yNjk0ODA5NDM2Nzk4MDk2XSwgWzE2NjM5MjE3NjguNDY3NTgyLCA1ODA1LCAxLjI1NDU1MzMxODAyMzY4MTZdLCBbMTY2MzkyMTc2OC41ODcyOTI3LCA1ODE0LCAxLjI0OTM4OTg4Njg1NjA3OV0sIFsxNjYzOTIxNzY4Ljg4MTQ2OTIsIDU4NDEsIDEuMjMyNzYzMDUxOTg2Njk0M10sIFsxNjYzOTIxNzY4Ljk4Njc0ODcsIDU4NTAsIDEuMjY4NjEyMDI3MTY4Mjc0XSwgWzE2NjM5MjE3NjkuMjA1MzY4LCA1ODY4LCAxLjI1NDQ2NTEwMzE0OTQxNF0sIFsxNjYzOTIxNzY5LjMwMTMzNSwgNTg3NywgMS4yMzMzNjQ4MjA0ODAzNDY3XSwgWzE2NjM5MjE3NjkuNDA5MjQ0LCA1ODg2LCAxLjI0OTQxMTM0NDUyODE5ODJdLCBbMTY2MzkyMTc2OS41MDU0Mjc2LCA1ODk1LCAxLjI1MTU4NTcyMTk2OTYwNDVdLCBbMTY2MzkyMTc2OS42MDE3NTY4LCA1OTA0LCAxLjI1ODQ0ODgzOTE4NzYyMl0sIFsxNjYzOTIxNzY5LjkwMTUwNzYsIDU5MzEsIDEuMjQzMzY5OTM2OTQzMDU0Ml0sIFsxNjYzOTIxNzY5Ljk5MjY2MjQsIDU5NDAsIDEuMjMxOTY0ODI2NTgzODYyM10sIFsxNjYzOTIxNzcwLjA4MzYxOTQsIDU5NDksIDEuMjI4NjkyNzcwMDA0MjcyNV0sIFsxNjYzOTIxNzcwLjIwOTkzMzMsIDU5NTgsIDEuMjY0NTA5Njc3ODg2OTYzXSwgWzE2NjM5MjE3NzAuNDU1MTczNywgNTk3NiwgMS4yMjk0OTc2NzExMjczMTkzXSwgWzE2NjM5MjE3NzAuNzE4OTUyLCA1OTk0LCAxLjIyNTM1ODM2Njk2NjI0NzZdLCBbMTY2MzkyMTc3MC45NTU0MjksIDYwMTIsIDEuMjMwNjk4MjI3ODgyMzg1M10sIFsxNjYzOTIxNzcxLjE0NDcwMjcsIDYwMzAsIDEuMjEyNTY5MjM2NzU1MzcxXSwgWzE2NjM5MjE3NzEuMjQyMTU4MiwgNjAzOSwgMS4yMzEwNjU1MTE3MDM0OTEyXSwgWzE2NjM5MjE3NzEuMzU4MjkwNywgNjA0OCwgMS4yNDg3NDc4MjU2MjI1NTg2XSwgWzE2NjM5MjE3NzEuNDYzMzY4MiwgNjA1NywgMS4yNjM2ODkwNDExMzc2OTUzXSwgWzE2NjM5MjE3NzEuNTU1NTM5NiwgNjA2NiwgMS4yNzUyNjAwOTA4Mjc5NDJdLCBbMTY2MzkyMTc3MS43NDQwMTEyLCA2MDg0LCAxLjIzODc2NzUwNDY5MjA3NzZdLCBbMTY2MzkyMTc3MS44Mzg4Nzc3LCA2MDkzLCAxLjI0NDk2NDgzODAyNzk1NF0sIFsxNjYzOTIxNzcxLjkzNTQ5NiwgNjEwMiwgMS4yMzk1MTIyMDUxMjM5MDE0XSwgWzE2NjM5MjE3NzIuMDI4ODg1OCwgNjExMSwgMS4yNTE0NDgxNTQ0NDk0NjNdLCBbMTY2MzkyMTc3Mi4xMjc3MzA2LCA2MTIwLCAxLjIzMDg5NzE4ODE4NjY0NTVdLCBbMTY2MzkyMTc3Mi4yMjcwNTQ2LCA2MTI5LCAxLjI0NDk5MTQyMTY5OTUyNF0sIFsxNjYzOTIxNzcyLjQxODk3NjMsIDYxNDcsIDEuMjI4Mjc4MTYwMDk1MjE0OF0sIFsxNjYzOTIxNzcyLjUxNDQyMjQsIDYxNTYsIDEuMjU1MzU3ODYxNTE4ODU5OV0sIFsxNjYzOTIxNzcyLjYxMjY1OCwgNjE2NSwgMS4yNTQ3NDQ2NDg5MzM0MTA2XSwgWzE2NjM5MjE3NzIuNzAyNzI2LCA2MTc0LCAxLjI1Mjk4Nzc0MjQyNDAxMTJdLCBbMTY2MzkyMTc3Mi45Nzg4NTQsIDYxOTIsIDEuMjQ5MzQ5NzEzMzI1NTAwNV0sIFsxNjYzOTIxNzczLjEwNTEyNjEsIDYyMDEsIDEuMjQ5NzcyMTkxMDQ3NjY4NV0sIFsxNjYzOTIxNzczLjQzMDE4MTMsIDYyMTAsIDEuMjM4ODA5NDY2MzYxOTk5NV0sIFsxNjYzOTIxNzczLjU0MDM5NTUsIDYyMTksIDEuMjIwMjUzNTg2NzY5MTA0XSwgWzE2NjM5MjE3NzMuNzUyMDY2MSwgNjIzNywgMS4yNDI3NDYxMTQ3MzA4MzVdLCBbMTY2MzkyMTc3My44NjY1OTE3LCA2MjQ2LCAxLjIyNjI2NzU3NjIxNzY1MTRdLCBbMTY2MzkyMTc3My45OTQ3OTQsIDYyNTUsIDEuMjQ2MzM0MzE0MzQ2MzEzNV0sIFsxNjYzOTIxNzc0LjA5OTY5MzgsIDYyNjQsIDEuMjQ4NTc2MDQ1MDM2MzE2XSwgWzE2NjM5MjE3NzQuMTg4MjMyLCA2MjczLCAxLjIzODE3NTYzMDU2OTQ1OF0sIFsxNjYzOTIxNzc0LjI5NjAyMzEsIDYyODIsIDEuMjMxNjU0NDA1NTkzODcyXSwgWzE2NjM5MjE3NzQuNDAzODU3NSwgNjI5MSwgMS4yNDY1NTk4NTgzMjIxNDM2XSwgWzE2NjM5MjE3NzQuNTE3MzA1NCwgNjMwMCwgMS4yMzIwNDM2MjM5MjQyNTU0XSwgWzE2NjM5MjE3NzQuNjE4MzU0LCA2MzA5LCAxLjIyNDg2MzQwOTk5NjAzMjddLCBbMTY2MzkyMTc3NC44MDYyOTEsIDYzMjcsIDEuMjU2Mjk1NjgwOTk5NzU1OV0sIFsxNjYzOTIxNzc0Ljg5ODIwNjIsIDYzMzYsIDEuMjM3NDU2OTE3NzYyNzU2M10sIFsxNjYzOTIxNzc1LjA4MjEyMzMsIDYzNTQsIDEuMjQ0NTk0NTczOTc0NjA5NF0sIFsxNjYzOTIxNzc1LjQwNDEwNCwgNjM4MSwgMS4yMjY0Mzk0NzYwMTMxODM2XSwgWzE2NjM5MjE3NzUuNTEwMzcyMiwgNjM5MCwgMS4yMDg5MTQyNzk5Mzc3NDQxXSwgWzE2NjM5MjE3NzUuNjE1MjU3MywgNjM5OSwgMS4yMTU5NzYzNTc0NjAwMjJdLCBbMTY2MzkyMTc3NS44MTI3NDYzLCA2NDE3LCAxLjIzMTYxMDQxNzM2NjAyNzhdLCBbMTY2MzkyMTc3NS45MDk3NDI0LCA2NDI2LCAxLjI2MTM5OTg2NTE1MDQ1MTddLCBbMTY2MzkyMTc3Ni4xMDM3NTQsIDY0NDQsIDEuMjI5MjY0MDIwOTE5Nzk5OF0sIFsxNjYzOTIxNzc2LjE4Nzk5NDcsIDY0NTMsIDEuMjIxNjQ1OTUxMjcxMDU3MV0sIFsxNjYzOTIxNzc2LjI4NjQxOTQsIDY0NjIsIDEuMjE4MDAzOTg4MjY1OTkxMl0sIFsxNjYzOTIxNzc2LjM5NDkyNjMsIDY0NzEsIDEuMjMzMDY1MjQ3NTM1NzA1Nl0sIFsxNjYzOTIxNzc2LjUxMjc5OTMsIDY0ODAsIDEuMjI0MDMzMjM2NTAzNjAxXSwgWzE2NjM5MjE3NzYuNjI0MTYzNCwgNjQ4OSwgMS4yMDMzNTI5MjgxNjE2MjFdLCBbMTY2MzkyMTc3Ni43NDExNzksIDY0OTgsIDEuMjI2MTMzODIzMzk0Nzc1NF0sIFsxNjYzOTIxNzc2Ljg0MzU4LCA2NTA3LCAxLjIxMzQ3ODMyNjc5NzQ4NTRdLCBbMTY2MzkyMTc3Ni45MzU4NSwgNjUxNiwgMS4yMTI0OTExNTQ2NzA3MTUzXSwgWzE2NjM5MjE3NzcuMDM0NDI2NSwgNjUyNSwgMS4yMzA1ODkxNTEzODI0NDYzXSwgWzE2NjM5MjE3NzcuMTM0NDAzMiwgNjUzNCwgMS4yMTMwMDExMzIwMTE0MTM2XSwgWzE2NjM5MjE3NzcuMjIzODIyNCwgNjU0MywgMS4yMTU5NzQ0NTAxMTEzODkyXSwgWzE2NjM5MjE3NzcuMzIwNDgyNywgNjU1MiwgMS4yNDAyOTExMTg2MjE4MjYyXSwgWzE2NjM5MjE3NzcuNDE3ODMxNywgNjU2MSwgMS4yMTQ5Nzc5Nzk2NjAwMzQyXSwgWzE2NjM5MjE3NzcuNTA3OTU4LCA2NTcwLCAxLjIxNDY0MzQ3ODM5MzU1NDddLCBbMTY2MzkyMTc3Ny42MDAxNzU2LCA2NTc5LCAxLjIxMTQ1MTQxMTI0NzI1MzRdLCBbMTY2MzkyMTc3Ny43MDA5MTM0LCA2NTg4LCAxLjIzODEyMzE3ODQ4MjA1NTddLCBbMTY2MzkyMTc3Ny44MDMwMDcsIDY1OTcsIDEuMjEzMzAyODUwNzIzMjY2Nl0sIFsxNjYzOTIxNzc3Ljk0NDQ5MDQsIDY2MDYsIDEuMjE2MDI0NzU2NDMxNTc5Nl0sIFsxNjYzOTIxNzc4LjA1MjcxMDgsIDY2MTUsIDEuMjIyODcxNjYxMTg2MjE4M10sIFsxNjYzOTIxNzc4LjE1OTkyMDcsIDY2MjQsIDEuMjAyMTUyMjUyMTk3MjY1Nl0sIFsxNjYzOTIxNzc4LjI3MDY3MjYsIDY2MzMsIDEuMjIzMjA1NDQ3MTk2OTYwNF0sIFsxNjYzOTIxNzc4LjQ4MjgwODQsIDY2NTEsIDEuMjMyNDY1ODYzMjI3ODQ0Ml0sIFsxNjYzOTIxNzc4LjU4ODI1MjgsIDY2NjAsIDEuMjEzNTA3NjUyMjgyNzE0OF0sIFsxNjYzOTIxNzc4LjY5MDYwNDcsIDY2NjksIDEuMjQ5MzQ1NTQxMDAwMzY2Ml0sIFsxNjYzOTIxNzc4LjkwOTg2NCwgNjY4NywgMS4yMTk0NjkxODk2NDM4NTk5XSwgWzE2NjM5MjE3NzkuMDE1NzE2NiwgNjY5NiwgMS4yMjYwMzU0NzU3MzA4OTZdLCBbMTY2MzkyMTc3OS4xMjkzOTc5LCA2NzA1LCAxLjIzNTUyNDc3MzU5NzcxNzNdLCBbMTY2MzkyMTc3OS4yMzg3MTI1LCA2NzE0LCAxLjIxNjI1NjI2MDg3MTg4NzJdLCBbMTY2MzkyMTc3OS4zNDU2NjkzLCA2NzIzLCAxLjIyMzM2MzA0MTg3Nzc0NjZdLCBbMTY2MzkyMTc3OS44NzM1MzA2LCA2NzY4LCAxLjIxNzg3NTcxOTA3MDQzNDZdLCBbMTY2MzkyMTc3OS45ODE3OTk4LCA2Nzc3LCAxLjIyNTgzNzExMTQ3MzA4MzVdLCBbMTY2MzkyMTc4MC4xMDIzODAzLCA2Nzg2LCAxLjIwNDA0MDI4ODkyNTE3MV0sIFsxNjYzOTIxNzgwLjI5MjI3NjEsIDY4MDQsIDEuMjM4NDU3MjAyOTExMzc3XSwgWzE2NjM5MjE3ODAuMzg0NDcyLCA2ODEzLCAxLjIwODM4Mjg0NDkyNDkyNjhdLCBbMTY2MzkyMTc4MC40NzYzNTU4LCA2ODIyLCAxLjIzMDExOTU4NTk5MDkwNThdLCBbMTY2MzkyMTc4MC41Nzg3MDIsIDY4MzEsIDEuMjMzNTE4NjAwNDYzODY3Ml0sIFsxNjYzOTIxNzgwLjY3ODAwNSwgNjg0MCwgMS4yMjMxMTQwMTM2NzE4NzVdLCBbMTY2MzkyMTc4MS4wNDI1ODY4LCA2ODY3LCAxLjIzMjkwODk2NDE1NzEwNDVdLCBbMTY2MzkyMTc4MS4xNTAwMjg3LCA2ODc2LCAxLjIxNjYyMDA4NzYyMzU5NjJdLCBbMTY2MzkyMTc4MS4yNTI1Mzk0LCA2ODg1LCAxLjIzMDk3MzAwNTI5NDc5OThdLCBbMTY2MzkyMTc4MS4zNjM3ODg4LCA2ODk0LCAxLjIwOTYxNjc4MDI4MTA2N10sIFsxNjYzOTIxNzgxLjQ2NTM2MDksIDY5MDMsIDEuMjE1Njk3ODg0NTU5NjMxM10sIFsxNjYzOTIxNzgxLjU3Mjk3NSwgNjkxMiwgMS4yMjMxNDgyMjY3Mzc5NzZdLCBbMTY2MzkyMTc4MS42NzkwOTM0LCA2OTIxLCAxLjIxMDkwMTYxODAwMzg0NTJdLCBbMTY2MzkyMTc4MS43ODIxMDI2LCA2OTMwLCAxLjIwNzQxMjYwMDUxNzI3M10sIFsxNjYzOTIxNzgxLjg4NzU5LCA2OTM5LCAxLjIzMjE5NTAxOTcyMTk4NDldLCBbMTY2MzkyMTc4MS45OTcyNzYsIDY5NDgsIDEuMjAwNTE0MTk3MzQ5NTQ4M10sIFsxNjYzOTIxNzgyLjEwNDI4MzYsIDY5NTcsIDEuMjI5NDgwOTgxODI2NzgyMl0sIFsxNjYzOTIxNzgyLjIxMzUxMTIsIDY5NjYsIDEuMjA1NjA2NTc5NzgwNTc4Nl0sIFsxNjYzOTIxNzgyLjQzODY2NjMsIDY5ODQsIDEuMjE3NDMyNzM3MzUwNDYzOV0sIFsxNjYzOTIxNzgyLjc2MzQ3NDIsIDY5OTMsIDEuMjE4NTI1NzY3MzI2MzU1XSwgWzE2NjM5MjE3ODIuODYxNzA0LCA3MDAyLCAxLjIxNTg3MDAyMjc3Mzc0MjddLCBbMTY2MzkyMTc4Mi45NjQ4OTg4LCA3MDExLCAxLjIyNjI3MzUzNjY4MjEyOV0sIFsxNjYzOTIxNzgzLjA4NjY5LCA3MDIwLCAxLjIxMDY3MTMwNTY1NjQzM10sIFsxNjYzOTIxNzgzLjE5ODYzNTMsIDcwMjksIDEuMTkyNTY0MTI5ODI5NDA2N10sIFsxNjYzOTIxNzgzLjMwOTk4NSwgNzAzOCwgMS4yMDM4NDU3MzkzNjQ2MjRdLCBbMTY2MzkyMTc4My40Mjk4MzYsIDcwNDcsIDEuMjE2NTQ1MjI0MTg5NzU4M10sIFsxNjYzOTIxNzgzLjUzMTY3OCwgNzA1NiwgMS4xOTE5OTg4MzkzNzgzNTddLCBbMTY2MzkyMTc4My44MzI4MTcsIDcwODMsIDEuMjIwMDAyMDU1MTY4MTUxOV0sIFsxNjYzOTIxNzgzLjk1MzAzODcsIDcwOTIsIDEuMjA0Njg3NzE0NTc2NzIxMl0sIFsxNjYzOTIxNzg0LjA0NDMyLCA3MTAxLCAxLjIwNzczNDEwNzk3MTE5MTRdLCBbMTY2MzkyMTc4NC4xMzk0OTAxLCA3MTEwLCAxLjIyNTA4Mzk0NzE4MTcwMTddLCBbMTY2MzkyMTc4NC4yNTE0OTY2LCA3MTE5LCAxLjIzMzQxNjQzODEwMjcyMjJdLCBbMTY2MzkyMTc4NC4zNTY4MjIsIDcxMjgsIDEuMjA3OTYwMDA5NTc0ODkwMV0sIFsxNjYzOTIxNzg0LjU3MDk2MjQsIDcxNDYsIDEuMTg4NjI5NzQ2NDM3MDcyOF0sIFsxNjYzOTIxNzg0LjY2MjMxNzgsIDcxNTUsIDEuMjMyNjUwNTE4NDE3MzU4NF0sIFsxNjYzOTIxNzg0Ljc1MDMyMiwgNzE2NCwgMS4yMDc3NDUxOTQ0MzUxMTk2XSwgWzE2NjM5MjE3ODQuODQwNzg1NSwgNzE3MywgMS4yMDU0NjcxMDQ5MTE4MDQyXSwgWzE2NjM5MjE3ODQuOTMzOTExOCwgNzE4MiwgMS4xODI2Mjc5MTYzMzYwNTk2XSwgWzE2NjM5MjE3ODUuMDI2OTIxNywgNzE5MSwgMS4yMTE3ODI2OTM4NjI5MTVdLCBbMTY2MzkyMTc4NS4xMTU2MjI4LCA3MjAwLCAxLjI1MDE2OTAzODc3MjU4M10sIFsxNjYzOTIxNzg1LjIxNzU0NjcsIDcyMDksIDEuMjI4MDIwMDcxOTgzMzM3NF0sIFsxNjYzOTIxNzg1LjQwOTcxMTEsIDcyMjcsIDEuMjA4OTk4NTYwOTA1NDU2NV0sIFsxNjYzOTIxNzg1LjYxMDgyNDMsIDcyNDUsIDEuMjI5NjUzODM1Mjk2NjMwOV0sIFsxNjYzOTIxNzg1LjcxNTIxOSwgNzI1NCwgMS4yMjkzMDYzNDAyMTc1OTAzXSwgWzE2NjM5MjE3ODUuODEwMTMyNSwgNzI2MywgMS4yMjA1ODU5NDIyNjgzNzE2XSwgWzE2NjM5MjE3ODUuOTAzNDk3NywgNzI3MiwgMS4yMDIyNjI1MjA3OTAxXSwgWzE2NjM5MjE3ODUuOTk5ODkyNywgNzI4MSwgMS4xODg2MzcxMzc0MTMwMjVdLCBbMTY2MzkyMTc4Ni4yMDU1NzI2LCA3Mjk5LCAxLjIyOTYyOTE1ODk3MzY5MzhdLCBbMTY2MzkyMTc4Ni4yOTg5MTU5LCA3MzA4LCAxLjIwMjgzNzEwOTU2NTczNDldLCBbMTY2MzkyMTc4Ni41MTU1NDMyLCA3MzI2LCAxLjIwNDcxMTMxODAxNjA1MjJdLCBbMTY2MzkyMTc4Ni42MjA1OTI2LCA3MzM1LCAxLjIzMDI0NDA0MDQ4OTE5NjhdLCBbMTY2MzkyMTc4Ni43Mjc3LCA3MzQ0LCAxLjIwNDkwMzYwMjYwMDA5NzddLCBbMTY2MzkyMTc4Ni45NTk3MDE4LCA3MzYyLCAxLjIwMzIxMTU0NTk0NDIxMzldLCBbMTY2MzkyMTc4Ny4wNjQ3MjU5LCA3MzcxLCAxLjIxNTE4MzAxOTYzODA2MTVdLCBbMTY2MzkyMTc4Ny4xNzA2ODI3LCA3MzgwLCAxLjIwNDg1OTI1Njc0NDM4NDhdLCBbMTY2MzkyMTc4Ny4yNzU4Njg3LCA3Mzg5LCAxLjIyNzkyMjY3Nzk5Mzc3NDRdLCBbMTY2MzkyMTc4Ny4zODc0MTc2LCA3Mzk4LCAxLjE5ODczOTc2NzA3NDU4NV0sIFsxNjYzOTIxNzg3LjQ5MjkwNTEsIDc0MDcsIDEuMjE1NzAxOTM3Njc1NDc2XSwgWzE2NjM5MjE3ODcuNTk2Mzk5OCwgNzQxNiwgMS4yMjY5MjU5NjkxMjM4NDAzXSwgWzE2NjM5MjE3ODcuNjk4NzMxMiwgNzQyNSwgMS4yMTQ4MzUyODYxNDA0NDJdLCBbMTY2MzkyMTc4Ny44MDY3NTI3LCA3NDM0LCAxLjIwNDIzMDU0Njk1MTI5NF0sIFsxNjYzOTIxNzg3LjkxNTUyMDIsIDc0NDMsIDEuMjAxNjcxMTIzNTA0NjM4N10sIFsxNjYzOTIxNzg4LjAzMzUzMTIsIDc0NTIsIDEuMTg3MDk2NTk1NzY0MTYwMl0sIFsxNjYzOTIxNzg4LjE0MzkxMTgsIDc0NjEsIDEuMjE1Mjg2MDE2NDY0MjMzNF0sIFsxNjYzOTIxNzg4LjI1NDc5LCA3NDcwLCAxLjIyNTE1NDE2MTQ1MzI0N10sIFsxNjYzOTIxNzg4LjM2Mzc2MywgNzQ3OSwgMS4xOTY5MDk2NjYwNjE0MDE0XSwgWzE2NjM5MjE3ODguNTc4NjgzNiwgNzQ5NywgMS4yMzAxOTM5NzI1ODc1ODU0XSwgWzE2NjM5MjE3ODguNjgzMDM4MiwgNzUwNiwgMS4xOTczMjgwOTA2Njc3MjQ2XSwgWzE2NjM5MjE3ODguNzkyNzE2MywgNzUxNSwgMS4yMjIzNjUzNzkzMzM0OTZdLCBbMTY2MzkyMTc4OC45MDQyODY2LCA3NTI0LCAxLjE5OTE5MDYxNjYwNzY2Nl0sIFsxNjYzOTIxNzg5LjAyNzM5NzYsIDc1MzMsIDEuMTk0NTM5NTQ2OTY2NTUyN10sIFsxNjYzOTIxNzg5LjE0ODEwNzgsIDc1NDIsIDEuMjE5ODgxMDU3NzM5MjU3OF0sIFsxNjYzOTIxNzg5LjM1OTEyNzgsIDc1NjAsIDEuMjEzNjIxOTczOTkxMzk0XSwgWzE2NjM5MjE3ODkuNDgxMjg5NiwgNzU2OSwgMS4yMTQ1NzkxMDUzNzcxOTczXSwgWzE2NjM5MjE3ODkuNjk5MjgyNiwgNzU4NywgMS4yMTc4Mjg1MTIxOTE3NzI1XSwgWzE2NjM5MjE3ODkuODA2MDA0NSwgNzU5NiwgMS4yMDgyNzMwNTMxNjkyNTA1XSwgWzE2NjM5MjE3OTAuMDIzODQ2MSwgNzYxNCwgMS4xOTc4MTU2NTY2NjE5ODczXSwgWzE2NjM5MjE3OTAuMjM5NjEsIDc2MzIsIDEuMTk5Njk0Mjc1ODU2MDE4XSwgWzE2NjM5MjE3OTAuNTg2MTQyOCwgNzY1OSwgMS4xNzkwNjY2NTgwMjAwMTk1XSwgWzE2NjM5MjE3OTAuNjkzMTQ2NSwgNzY2OCwgMS4xOTQ5ODMxMjQ3MzI5NzEyXSwgWzE2NjM5MjE3OTAuOTYzODk4MiwgNzY5NSwgMS4xOTU3MjMxNzYwMDI1MDI0XSwgWzE2NjM5MjE3OTEuMTQ1MzM3LCA3NzEzLCAxLjIxMTI4NzE0MDg0NjI1MjRdLCBbMTY2MzkyMTc5MS4yMzg3MzM1LCA3NzIyLCAxLjIxMzExNjg4NDIzMTU2NzRdLCBbMTY2MzkyMTc5MS4zMjg1MzMsIDc3MzEsIDEuMjA2Mzc5MDU1OTc2ODY3N10sIFsxNjYzOTIxNzkxLjUyMTU1OSwgNzc0OSwgMS4xOTk4MzQ3MDQzOTkxMDg5XSwgWzE2NjM5MjE3OTEuNjM3NzY3OCwgNzc1OCwgMS4yMDA0MzgzODAyNDEzOTRdLCBbMTY2MzkyMTc5MS45MzU1MTIsIDc3NjcsIDEuMjI4NzI5ODQ0MDkzMzIyOF0sIFsxNjYzOTIxNzkyLjIxMzI2OCwgNzc5NCwgMS4yMDI2MzY3MTg3NV0sIFsxNjYzOTIxNzkyLjMxMzM0NiwgNzgwMywgMS4yMDEyMTY4MTY5MDIxNjA2XSwgWzE2NjM5MjE3OTIuNTI1MDc1NCwgNzgyMSwgMS4yMDM3MjUzMzc5ODIxNzc3XSwgWzE2NjM5MjE3OTIuNjI0ODUxMiwgNzgzMCwgMS4xODI1MjI4OTI5NTE5NjUzXSwgWzE2NjM5MjE3OTIuNzMwMDMzOSwgNzgzOSwgMS4xODIyMzYzMTM4MTk4ODUzXSwgWzE2NjM5MjE3OTIuODQ4NjcyNiwgNzg0OCwgMS4xODkxNjEwNjIyNDA2MDA2XSwgWzE2NjM5MjE3OTIuOTU1NzQ5MywgNzg1NywgMS4xODg0ODI0MDM3NTUxODhdLCBbMTY2MzkyMTc5My4wNTk2NzY0LCA3ODY2LCAxLjIwNjU3NjEwODkzMjQ5NTFdLCBbMTY2MzkyMTc5My4xNjc1NjUzLCA3ODc1LCAxLjIzNjM1MjMyNDQ4NTc3ODhdLCBbMTY2MzkyMTc5My4zODA2MzEyLCA3ODkzLCAxLjE5MjE1NDQwNzUwMTIyMDddLCBbMTY2MzkyMTc5My40ODk2NTksIDc5MDIsIDEuMTk5OTg1MDI3MzEzMjMyNF0sIFsxNjYzOTIxNzkzLjU5NjU4MjcsIDc5MTEsIDEuMjIzMTMxNjU2NjQ2NzI4NV0sIFsxNjYzOTIxNzkzLjgwNTU2NjgsIDc5MjksIDEuMTkzMTU3NzkyMDkxMzY5Nl0sIFsxNjYzOTIxNzkzLjkwMzg5MTYsIDc5MzgsIDEuMjA1MTU3MTYwNzU4OTcyMl0sIFsxNjYzOTIxNzk0LjAwMjc3NSwgNzk0NywgMS4xOTY5MzExMjM3MzM1MjA1XSwgWzE2NjM5MjE3OTQuMDk1ODYzNiwgNzk1NiwgMS4xOTg2NDM5MjI4MDU3ODYxXSwgWzE2NjM5MjE3OTQuMjA4NjYzMiwgNzk2NSwgMS4yMTA3OTA2MzQxNTUyNzM0XSwgWzE2NjM5MjE3OTQuMzEyNDY0NSwgNzk3NCwgMS4yMDAxNTc0MDM5NDU5MjI5XSwgWzE2NjM5MjE3OTQuNDIyODI3LCA3OTgzLCAxLjE5MjQyNTQ4OTQyNTY1OTJdLCBbMTY2MzkyMTc5NC41MjQ1OTAzLCA3OTkyLCAxLjIxNTIyMDkyODE5MjEzODddLCBbMTY2MzkyMTc5NC42MzY2MjUzLCA4MDAxLCAxLjE5MzM1MTk4NDAyNDA0NzldLCBbMTY2MzkyMTc5NC43Mzk5MjE2LCA4MDEwLCAxLjE5OTI5MTM0ODQ1NzMzNjRdLCBbMTY2MzkyMTc5NC44NDE1NjgyLCA4MDE5LCAxLjIzNjU5Mzk2MTcxNTY5ODJdLCBbMTY2MzkyMTc5NS4wNTA0NTYzLCA4MDM3LCAxLjIwNzQ2MzAyNjA0Njc1M10sIFsxNjYzOTIxNzk1LjE0NDczNDQsIDgwNDYsIDEuMjExNDk4MjYwNDk4MDQ2OV0sIFsxNjYzOTIxNzk1LjM0ODU1NTgsIDgwNjQsIDEuMjA0OTAzOTYwMjI3OTY2M10sIFsxNjYzOTIxNzk1LjU0NDM4NSwgODA4MiwgMS4yMDgxNzUzMDE1NTE4MTg4XSwgWzE2NjM5MjE3OTUuNjM2NTI0LCA4MDkxLCAxLjE5ODc2MDk4NjMyODEyNV0sIFsxNjYzOTIxNzk1LjkxMzI2MzMsIDgxMTgsIDEuMjAxODMzOTYzMzk0MTY1XSwgWzE2NjM5MjE3OTYuMDM3NjQ4NCwgODEyNywgMS4xOTc4MzUzMjYxOTQ3NjMyXSwgWzE2NjM5MjE3OTYuMjc2MzY1NSwgODE0NSwgMS4xODcxNDA0NjQ3ODI3MTQ4XSwgWzE2NjM5MjE3OTYuMzkzNTI5NCwgODE1NCwgMS4xNzgwMTQ3NTUyNDkwMjM0XSwgWzE2NjM5MjE3OTYuNTAyMjY1NSwgODE2MywgMS4yMDQ1Nzk5NDkzNzg5NjczXSwgWzE2NjM5MjE3OTYuNjExMjk5OCwgODE3MiwgMS4xODU0NDk4Mzg2MzgzMDU3XSwgWzE2NjM5MjE3OTYuNzIwMjg2LCA4MTgxLCAxLjE4NDgwMzk2MjcwNzUxOTVdLCBbMTY2MzkyMTc5Ni45Mzc2MSwgODE5OSwgMS4xOTMzNDkzNjE0MTk2Nzc3XSwgWzE2NjM5MjE3OTcuMDQ3NTc2LCA4MjA4LCAxLjIxOTQ1NzUwNzEzMzQ4MzldLCBbMTY2MzkyMTc5Ny4yNzQ0MzA4LCA4MjI2LCAxLjE5NDIxNjEzMjE2NDAwMTVdLCBbMTY2MzkyMTc5Ny4zODE2OTIyLCA4MjM1LCAxLjIxNjQ2MTUzOTI2ODQ5MzddLCBbMTY2MzkyMTc5Ny41NzE2ODYsIDgyNTMsIDEuMjA4MDU5NjY4NTQwOTU0Nl0sIFsxNjYzOTIxNzk3LjY2Mzc3NywgODI2MiwgMS4yMDYxNTA2NTA5NzgwODg0XSwgWzE2NjM5MjE3OTcuNzUxODY3MywgODI3MSwgMS4yMTEzMzY4NTExMTk5OTUxXSwgWzE2NjM5MjE3OTcuODQwMDY1NSwgODI4MCwgMS4xODk5ODExMDI5NDM0MjA0XSwgWzE2NjM5MjE3OTcuOTM5MjA5LCA4Mjg5LCAxLjE5NjUyNzI0MjY2MDUyMjVdLCBbMTY2MzkyMTc5OC4wMjc2MzI1LCA4Mjk4LCAxLjIxNjczNDI5MDEyMjk4NThdLCBbMTY2MzkyMTc5OC4xMzE3MTY1LCA4MzA3LCAxLjIxODU2ODkyMTA4OTE3MjRdLCBbMTY2MzkyMTc5OC4yMjM2MjM1LCA4MzE2LCAxLjE3ODg4MTQwNjc4NDA1NzZdLCBbMTY2MzkyMTc5OC4zMTU0MDg1LCA4MzI1LCAxLjE5MTI2MzE5ODg1MjUzOV0sIFsxNjYzOTIxNzk4LjQ5OTE3MywgODM0MywgMS4xNjUwMzAyNDEwMTI1NzMyXSwgWzE2NjM5MjE3OTguNjAxMzkwOCwgODM1MiwgMS4yMDM1NzE3OTY0MTcyMzYzXSwgWzE2NjM5MjE3OTguNzAwOTg2NCwgODM2MSwgMS4yMDY4MzA4NTkxODQyNjUxXSwgWzE2NjM5MjE3OTguNzg4OTExOCwgODM3MCwgMS4xODE4OTkzMDkxNTgzMjUyXSwgWzE2NjM5MjE3OTguODgyNjE1OCwgODM3OSwgMS4yMDg2NTI4NTM5NjU3NTkzXSwgWzE2NjM5MjE3OTguOTcwNDU4NSwgODM4OCwgMS4yMDk2NTI3ODE0ODY1MTEyXSwgWzE2NjM5MjE3OTkuMDYxNzAyMywgODM5NywgMS4xOTE3MDMyMDAzNDAyNzFdLCBbMTY2MzkyMTc5OS4xNjA2ODEyLCA4NDA2LCAxLjE4MDk4NTQ1MDc0NDYyOV0sIFsxNjYzOTIxNzk5LjI1OTgwNDIsIDg0MTUsIDEuMTg1MTExOTk5NTExNzE4OF0sIFsxNjYzOTIxNzk5LjM1MzgyODIsIDg0MjQsIDEuMTkyODgwNTExMjgzODc0NV0sIFsxNjYzOTIxNzk5LjU0ODczNzMsIDg0NDIsIDEuMjAzODQxODA1NDU4MDY4OF0sIFsxNjYzOTIxNzk5LjczNTcxMTMsIDg0NjAsIDEuMTkxODIyMDUyMDAxOTUzMV0sIFsxNjYzOTIxNzk5LjgyODAxMDMsIDg0NjksIDEuMTg4NzYyMzA3MTY3MDUzMl0sIFsxNjYzOTIxNzk5Ljk0NzU1NTMsIDg0NzgsIDEuMTc3OTc4MDM4Nzg3ODQxOF0sIFsxNjYzOTIxODAwLjA0NzE2MDEsIDg0ODcsIDEuMjEwMDc0MzA1NTM0MzYyOF0sIFsxNjYzOTIxODAwLjE1MTIwMTcsIDg0OTYsIDEuMTcyMTQ5NTM4OTkzODM1NF0sIFsxNjYzOTIxODAwLjI1ODE0NjMsIDg1MDUsIDEuMTk1MjU0MzI1ODY2Njk5Ml0sIFsxNjYzOTIxODAwLjM0NzgzODQsIDg1MTQsIDEuMTk4NzMxNjYwODQyODk1NV0sIFsxNjYzOTIxODAwLjQ2OTMyNCwgODUyMywgMS4xNzk4MTA2NDMxOTYxMDZdLCBbMTY2MzkyMTgwMC43OTk5MzA2LCA4NTMyLCAxLjE5ODA5NjI3NTMyOTU4OThdLCBbMTY2MzkyMTgwMS4wMjI1OTkyLCA4NTUwLCAxLjE5NzEwMTM1NDU5ODk5OV0sIFsxNjYzOTIxODAxLjEyODU2NjMsIDg1NTksIDEuMTY5NTM4MjU5NTA2MjI1Nl0sIFsxNjYzOTIxODAxLjMxNjcyNTcsIDg1NzcsIDEuMjEwNzI5NzE4MjA4MzEzXSwgWzE2NjM5MjE4MDEuNTE0OTE5MywgODU5NSwgMS4xOTQzODExMTc4MjA3Mzk3XSwgWzE2NjM5MjE4MDEuNjA2NzMxNCwgODYwNCwgMS4xOTQ5MzYwMzcwNjM1OTg2XSwgWzE2NjM5MjE4MDEuNjk4ODY3LCA4NjEzLCAxLjE5MTQxMTI1Njc5MDE2MTFdLCBbMTY2MzkyMTgwMS43ODgzNDkyLCA4NjIyLCAxLjE5NDA4NTgzNjQxMDUyMjVdLCBbMTY2MzkyMTgwMS45NzQ0MTg0LCA4NjQwLCAxLjE4ODIxMzQ2NzU5Nzk2MTRdLCBbMTY2MzkyMTgwMi4xMDg1NTksIDg2NDksIDEuMTgxNzI5MzE2NzExNDI1OF0sIFsxNjYzOTIxODAyLjIwODE4NzgsIDg2NTgsIDEuMjI4MDU2NjY5MjM1MjI5NV0sIFsxNjYzOTIxODAyLjMxODYwNDIsIDg2NjcsIDEuMTkyODIwNzg3NDI5ODA5Nl0sIFsxNjYzOTIxODAyLjQxMjIyMDIsIDg2NzYsIDEuMTg2Njc2NTAyMjI3NzgzMl0sIFsxNjYzOTIxODAyLjUyNzU5NTgsIDg2ODUsIDEuMTk5ODIxNzEwNTg2NTQ3OV0sIFsxNjYzOTIxODAyLjYyMjE1MzUsIDg2OTQsIDEuMTgyMTUwMTI1NTAzNTRdLCBbMTY2MzkyMTgwMi44MTA3ODgyLCA4NzEyLCAxLjE2NTc2OTQ1NzgxNzA3NzZdLCBbMTY2MzkyMTgwMi45MDU4LCA4NzIxLCAxLjIwMjgyMTYxMjM1ODA5MzNdLCBbMTY2MzkyMTgwMy4xODUxMzA4LCA4NzQ4LCAxLjE4OTIwMTgzMTgxNzYyN10sIFsxNjYzOTIxODAzLjI5NjQ3NTYsIDg3NTcsIDEuMjI2NTAwMjcyNzUwODU0NV0sIFsxNjYzOTIxODAzLjY4NTc5NDQsIDg3OTMsIDEuMTc2MzI3MzQ3NzU1NDMyMV0sIFsxNjYzOTIxODAzLjc3NTc5NDcsIDg4MDIsIDEuMTk1MjQ2NTc3MjYyODc4NF0sIFsxNjYzOTIxODAzLjg2MTg2MiwgODgxMSwgMS4yMDEwNTc5MTA5MTkxODk1XSwgWzE2NjM5MjE4MDMuOTUzMzU2LCA4ODIwLCAxLjE3MzIwOTQyODc4NzIzMTRdLCBbMTY2MzkyMTgwNC4wNDQ3NDQ3LCA4ODI5LCAxLjIwMDE0ODcwMTY2Nzc4NTZdLCBbMTY2MzkyMTgwNC4xNDA1NDg1LCA4ODM4LCAxLjE5OTI4ODg0NTA2MjI1NTldLCBbMTY2MzkyMTgwNC4yMjg1MDUxLCA4ODQ3LCAxLjE3MTI3NzI4NDYyMjE5MjRdLCBbMTY2MzkyMTgwNC4zMjEyMjU0LCA4ODU2LCAxLjE3OTkzMjIzNjY3MTQ0NzhdLCBbMTY2MzkyMTgwNC42MDIwNDM2LCA4ODgzLCAxLjE4NDQzMDU5OTIxMjY0NjVdLCBbMTY2MzkyMTgwNC42ODg5ODczLCA4ODkyLCAxLjE2OTI2MTkzMjM3MzA0NjldLCBbMTY2MzkyMTgwNC43Nzk0MjUsIDg5MDEsIDEuMTg4NTI4ODk1Mzc4MTEyOF0sIFsxNjYzOTIxODA0Ljg2NzkxNjYsIDg5MTAsIDEuMjAyOTA4NjM1MTM5NDY1M10sIFsxNjYzOTIxODA0Ljk1NDc4NTMsIDg5MTksIDEuMTk1ODE4NzgxODUyNzIyMl0sIFsxNjYzOTIxODA1LjI3MTM2NjYsIDg5MzcsIDEuMTk5NDIyMzU5NDY2NTUyN10sIFsxNjYzOTIxODA1LjQwMjM0NSwgODk0NiwgMS4xODkwMjgyNjMwOTIwNDFdLCBbMTY2MzkyMTgwNS41MTEyMDc4LCA4OTU1LCAxLjIwMDUzNDU4MjEzODA2MTVdLCBbMTY2MzkyMTgwNS42NDE4Mjk1LCA4OTY0LCAxLjE4NzA1NjY2MDY1MjE2MDZdLCBbMTY2MzkyMTgwNS43NDY2MjI2LCA4OTczLCAxLjIwOTYxNzk3MjM3Mzk2MjRdLCBbMTY2MzkyMTgwNS45NDg5MjM2LCA4OTkxLCAxLjE4NDEyMDY1NTA1OTgxNDVdLCBbMTY2MzkyMTgwNi4wNDM0MTMyLCA5MDAwLCAxLjE1MzIzNjAzMTUzMjI4NzZdLCBbMTY2MzkyMTgwNi4xMzI2OTEsIDkwMDksIDEuMTgwNTY0OTk5NTgwMzgzM10sIFsxNjYzOTIxODA2LjIyNjQ5MDMsIDkwMTgsIDEuMTY2MzQ1NzE1NTIyNzY2MV0sIFsxNjYzOTIxODA2LjM2ODIxMTcsIDkwMjcsIDEuMTg4OTE3Mjc5MjQzNDY5Ml0sIFsxNjYzOTIxODA2LjQ3MTAyMDUsIDkwMzYsIDEuMTkzNzg3NjkzOTc3MzU2XSwgWzE2NjM5MjE4MDYuNTc5OTI4MiwgOTA0NSwgMS4yMTUyODA4OTA0NjQ3ODI3XSwgWzE2NjM5MjE4MDYuNjczOTkzNiwgOTA1NCwgMS4yMTY2MDY3MzYxODMxNjY1XSwgWzE2NjM5MjE4MDYuNzYzNTU2MiwgOTA2MywgMS4xNjk0MTk4ODQ2ODE3MDE3XSwgWzE2NjM5MjE4MDYuODUxMzkzLCA5MDcyLCAxLjE4OTc3NjA2Mjk2NTM5M10sIFsxNjYzOTIxODA3LjIzOTQ3OSwgOTEwOCwgMS4yMTA3MjY4NTcxODUzNjM4XSwgWzE2NjM5MjE4MDcuNDIzNTAyNywgOTEyNiwgMS4xNzc3OTA4ODAyMDMyNDddLCBbMTY2MzkyMTgwNy41MTI1MjMyLCA5MTM1LCAxLjE2OTI4MzI3MDgzNTg3NjVdLCBbMTY2MzkyMTgwNy42MTcwOSwgOTE0NCwgMS4xODcyMDg4OTA5MTQ5MTddLCBbMTY2MzkyMTgwNy43MDczNDUsIDkxNTMsIDEuMjA1OTczNjI1MTgzMTA1NV0sIFsxNjYzOTIxODA3LjgwMzA1MzksIDkxNjIsIDEuMjA1NTM0MzM4OTUxMTEwOF0sIFsxNjYzOTIxODA4LjE1NDcwODQsIDkxODksIDEuMTc4MDg4NDI2NTg5OTY1OF0sIFsxNjYzOTIxODA4LjM0ODEwNjQsIDkyMDcsIDEuMTgzNTQ5Mjg0OTM0OTk3Nl0sIFsxNjYzOTIxODA4LjQ1MTY0MDgsIDkyMTYsIDEuMTU5NTgxNzgwNDMzNjU0OF0sIFsxNjYzOTIxODA4LjY4Mzc5NzgsIDkyMzQsIDEuMjA3MTE4MjcyNzgxMzcyXSwgWzE2NjM5MjE4MDguODA4MDM4LCA5MjQzLCAxLjE3MTQ2NjgyNzM5MjU3ODFdLCBbMTY2MzkyMTgwOS4wNDg5MzkyLCA5MjYxLCAxLjE2NzYyMDY1ODg3NDUxMTddLCBbMTY2MzkyMTgwOS4xNDg4MTUyLCA5MjcwLCAxLjE2NDE1NDQxMDM2MjI0MzddLCBbMTY2MzkyMTgwOS4zNDI1NDkzLCA5Mjg4LCAxLjE4MjAyMDkwMjYzMzY2N10sIFsxNjYzOTIxODA5Ljk3NjU3MTMsIDkzMjQsIDEuMTYyNzE2NTA3OTExNjgyMV0sIFsxNjYzOTIxODEwLjA3NTY4LCA5MzMzLCAxLjIwMDUxMDk3ODY5ODczMDVdLCBbMTY2MzkyMTgxMC4xNzM1ODE2LCA5MzQyLCAxLjE4NjQ5MTEzMTc4MjUzMTddLCBbMTY2MzkyMTgxMC4yNjkwNjY4LCA5MzUxLCAxLjE1OTk2MzI1MDE2MDIxNzNdLCBbMTY2MzkyMTgxMC4zNjUwOTksIDkzNjAsIDEuMTkzMjI1NzQxMzg2NDEzNl0sIFsxNjYzOTIxODEwLjc4MDcxNjIsIDkzOTYsIDEuMjAzMjEyMDIyNzgxMzcyXSwgWzE2NjM5MjE4MTAuODc3ODczNCwgOTQwNSwgMS4yMDUwNDg3OTk1MTQ3NzA1XSwgWzE2NjM5MjE4MTAuOTY3MDIzNCwgOTQxNCwgMS4xNjQxMDYxMzA1OTk5NzU2XSwgWzE2NjM5MjE4MTEuMDY5MDYwOCwgOTQyMywgMS4xNzM2OTc4MjkyNDY1MjFdLCBbMTY2MzkyMTgxMS4yODg4NTkxLCA5NDQxLCAxLjE1NjMyMTI4NzE1NTE1MTRdLCBbMTY2MzkyMTgxMS40Mzk0NTQzLCA5NDUwLCAxLjE3MTIwOTU3Mzc0NTcyNzVdLCBbMTY2MzkyMTgxMS41NDIzNywgOTQ1OSwgMS4xOTQ1NzQ4MzI5MTYyNTk4XSwgWzE2NjM5MjE4MTEuNzY4Mzk4NSwgOTQ3NywgMS4xNzI5MDgxODY5MTI1MzY2XSwgWzE2NjM5MjE4MTEuODY1NTg1OCwgOTQ4NiwgMS4xNzY2NDMyNTIzNzI3NDE3XSwgWzE2NjM5MjE4MTEuOTc3MjYxOCwgOTQ5NSwgMS4xNzY1NzU3Nzk5MTQ4NTZdLCBbMTY2MzkyMTgxMi4xNzUxMzgsIDk1MTMsIDEuMTk4NjExMjU5NDYwNDQ5Ml0sIFsxNjYzOTIxODEyLjM2NTMyMTYsIDk1MzEsIDEuMTc1OTc3MTEwODYyNzMyXSwgWzE2NjM5MjE4MTIuNDY0NDI5NCwgOTU0MCwgMS4xODQ5MjQwMDY0NjIwOTcyXSwgWzE2NjM5MjE4MTIuNTUzMzA4NSwgOTU0OSwgMS4xNjE2ODU0NjY3NjYzNTc0XSwgWzE2NjM5MjE4MTIuNzQ0NjQ3MywgOTU2NywgMS4xNzU0MTY0Njk1NzM5NzQ2XSwgWzE2NjM5MjE4MTIuODQwNTE4NywgOTU3NiwgMS4xODI3NTA1ODI2OTUwMDczXSwgWzE2NjM5MjE4MTIuOTMzMTUwOCwgOTU4NSwgMS4xNzM1OTIwOTA2MDY2ODk1XSwgWzE2NjM5MjE4MTMuMDI1MzMwNSwgOTU5NCwgMS4xODYxNjk4NjI3NDcxOTI0XSwgWzE2NjM5MjE4MTMuMTUxODcxNywgOTYwMywgMS4xOTU0MDc1MDk4MDM3NzJdLCBbMTY2MzkyMTgxMy4yNDU4NjMyLCA5NjEyLCAxLjE2ODAzOTY3OTUyNzI4MjddLCBbMTY2MzkyMTgxMy4zMzkxODE0LCA5NjIxLCAxLjE3Nzc5MzAyNTk3MDQ1OV0sIFsxNjYzOTIxODEzLjQzNjc1NjgsIDk2MzAsIDEuMTg3OTQzNTc3NzY2NDE4NV0sIFsxNjYzOTIxODEzLjUyOTUxNCwgOTYzOSwgMS4xODI3NzAwMTM4MDkyMDRdLCBbMTY2MzkyMTgxMy42MjQ1ODY2LCA5NjQ4LCAxLjE1NjU5ODgwNjM4MTIyNTZdLCBbMTY2MzkyMTgxMy43MjE4NzU3LCA5NjU3LCAxLjE2MjYzMjgyMjk5MDQxNzVdLCBbMTY2MzkyMTgxMy44MTI2OTI5LCA5NjY2LCAxLjE4ODgxMzY4NjM3MDg0OTZdLCBbMTY2MzkyMTgxMy45MDU1OTcyLCA5Njc1LCAxLjE4MzE0NjgzNDM3MzQ3NDFdLCBbMTY2MzkyMTgxNC4xMDMzOTEsIDk2OTMsIDEuMTU2OTk0ODE5NjQxMTEzM10sIFsxNjYzOTIxODE0LjE5NzEzMTksIDk3MDIsIDEuMTcwODMxMjAzNDYwNjkzNF0sIFsxNjYzOTIxODE0LjI5MzgzMjMsIDk3MTEsIDEuMTY4NjM0ODkxNTEwMDA5OF0sIFsxNjYzOTIxODE0LjQ4NDg0NDcsIDk3MjksIDEuMTYyNTU1NDU2MTYxNDk5XSwgWzE2NjM5MjE4MTQuNTc2NzIzMywgOTczOCwgMS4xNzQwMDAxNDQwMDQ4MjE4XSwgWzE2NjM5MjE4MTQuNjgwODAxOSwgOTc0NywgMS4xODI0NDgyNjc5MzY3MDY1XSwgWzE2NjM5MjE4MTQuNzc3NDgxOCwgOTc1NiwgMS4xNjkzMzA3MTYxMzMxMTc3XSwgWzE2NjM5MjE4MTQuOTg3OTQxMywgOTc3NCwgMS4xNTkzMzI2MzMwMTg0OTM3XSwgWzE2NjM5MjE4MTUuMDgzNTU3MSwgOTc4MywgMS4yMTMyNjYwMTUwNTI3OTU0XSwgWzE2NjM5MjE4MTUuMTc0ODg3LCA5NzkyLCAxLjE2MDY1NjMzMjk2OTY2NTVdLCBbMTY2MzkyMTgxNS4yNzEyNzEsIDk4MDEsIDEuMjA5NzU0MTA5MzgyNjI5NF0sIFsxNjYzOTIxODE1LjU0ODAyLCA5ODI4LCAxLjE5NzY0NzY5MDc3MzAxMDNdLCBbMTY2MzkyMTgxNS42NDQ1OTMsIDk4MzcsIDEuMTg4ODcxNTAyODc2MjgxN10sIFsxNjYzOTIxODE1LjczODY3MzIsIDk4NDYsIDEuMTk3NzcyNzQxMzE3NzQ5XSwgWzE2NjM5MjE4MTYuMjMwMDU0NiwgOTg5MSwgMS4xOTM3OTg4OTk2NTA1NzM3XSwgWzE2NjM5MjE4MTYuNDE4MTM5NywgOTkwOSwgMS4xOTM3MTc1OTg5MTUxXSwgWzE2NjM5MjE4MTYuNTEwMDUyNCwgOTkxOCwgMS4xNjcwMjc4MzEwNzc1NzU3XSwgWzE2NjM5MjE4MTYuNjAwMTA4OSwgOTkyNywgMS4xNjk1NzM1NDU0NTU5MzI2XSwgWzE2NjM5MjE4MTYuNjk5MDE3LCA5OTM2LCAxLjE2OTI5NTkwNzAyMDU2ODhdLCBbMTY2MzkyMTgxNi43OTI5ODYyLCA5OTQ1LCAxLjE2OTI5ODY0ODgzNDIyODVdLCBbMTY2MzkyMTgxNi45Nzc1NjM2LCA5OTYzLCAxLjE1NDcxMjMxOTM3NDA4NDVdLCBbMTY2MzkyMTgxNy4wNzEzMTQsIDk5NzIsIDEuMTY4MTYyMzQ1ODg2MjMwNV0sIFsxNjYzOTIxODE3LjE3MzI0OTcsIDk5ODEsIDEuMTc0ODg0Nzk2MTQyNTc4MV0sIFsxNjYzOTIxODE3LjI2Nzk2NywgOTk5MCwgMS4yMDk3NjgwNTY4Njk1MDY4XSwgWzE2NjM5MjE4MTcuMzYxNzg3MywgOTk5OSwgMS4xOTI0NjMyNzg3NzA0NDY4XSwgWzE2NjM5MjE4MTcuNDU1MjM5LCAxMDAwOCwgMS4xODUzNzY4ODI1NTMxMDA2XSwgWzE2NjM5MjE4MTcuNTQ1MDExMywgMTAwMTcsIDEuMTc2NDIwNDUwMjEwNTcxM10sIFsxNjYzOTIxODE3LjYzNjU0MTYsIDEwMDI2LCAxLjE3NDg5Mzg1NjA0ODU4NF0sIFsxNjYzOTIxODE3LjczMjUyMDMsIDEwMDM1LCAxLjE2NjIyNjc0NDY1MTc5NDRdLCBbMTY2MzkyMTgxNy45MzMzNDAzLCAxMDA1MywgMS4xODA3NjIwNTI1MzYwMTA3XSwgWzE2NjM5MjE4MTguMDI5MDc1NiwgMTAwNjIsIDEuMTUwMjgxNjY3NzA5MzUwNl0sIFsxNjYzOTIxODE4LjMyMzI5MiwgMTAwNzEsIDEuMTU2ODg0Nzg5NDY2ODU4XSwgWzE2NjM5MjE4MTguNDIwMzQzNiwgMTAwODAsIDEuMTkwODQ0NjU1MDM2OTI2M10sIFsxNjYzOTIxODE4LjUxMzMwMTgsIDEwMDg5LCAxLjE2NDUwMjM4MjI3ODQ0MjRdLCBbMTY2MzkyMTgxOC42MDY2MjE3LCAxMDA5OCwgMS4xODg5NDU1MzE4NDUwOTI4XSwgWzE2NjM5MjE4MTguNjk5MTM5LCAxMDEwNywgMS4xNTU2OTM0MTE4MjcwODc0XSwgWzE2NjM5MjE4MTguOTk1MTgwNCwgMTAxMzQsIDEuMTYxNTUwMDQ1MDEzNDI3N10sIFsxNjYzOTIxODE5LjA5NDcwMTMsIDEwMTQzLCAxLjE1NDY5OTkyMTYwNzk3MTJdLCBbMTY2MzkyMTgxOS4zMjk4MDMyLCAxMDE2MSwgMS4xNjczNDIzMDUxODM0MTA2XSwgWzE2NjM5MjE4MTkuNDc1NzcyMSwgMTAxNzAsIDEuMTczNzUxNDczNDI2ODE4OF0sIFsxNjYzOTIxODE5LjU4NjM5LCAxMDE3OSwgMS4xODIwMzQ0OTI0OTI2NzU4XSwgWzE2NjM5MjE4MTkuNzIyNjg5NiwgMTAxODgsIDEuMTU3Mjg4NDMyMTIxMjc2OV0sIFsxNjYzOTIxODE5LjgzNDIzMzUsIDEwMTk3LCAxLjE1OTIxNjE2NTU0MjYwMjVdLCBbMTY2MzkyMTgxOS45NjA4MjkzLCAxMDIwNiwgMS4xNjI4Mzk3NzAzMTcwNzc2XSwgWzE2NjM5MjE4MjAuMDg5MDU4MiwgMTAyMTUsIDEuMjEwMTUyNjI2MDM3NTk3N10sIFsxNjYzOTIxODIwLjIwODcxMzUsIDEwMjI0LCAxLjE3MjE0MDI0MDY2OTI1MDVdLCBbMTY2MzkyMTgyMC4zMjE5ODYyLCAxMDIzMywgMS4xNzEwNTg3NzM5OTQ0NDU4XSwgWzE2NjM5MjE4MjAuNDM5NDgwOCwgMTAyNDIsIDEuMTczOTU4MTgyMzM0OV0sIFsxNjYzOTIxODIwLjY2NTc0MSwgMTAyNjAsIDEuMTcwMTAxMDQ2NTYyMTk0OF0sIFsxNjYzOTIxODIwLjc3NTk3NjcsIDEwMjY5LCAxLjE3OTQxNjY1NjQ5NDE0MDZdLCBbMTY2MzkyMTgyMS4wMDM4ODgxLCAxMDI4NywgMS4xODUyMzA0OTM1NDU1MzIyXSwgWzE2NjM5MjE4MjEuMTE0MjY0NSwgMTAyOTYsIDEuMTgxODAyNzQ5NjMzNzg5XSwgWzE2NjM5MjE4MjEuMzYyMzM4MywgMTAzMTQsIDEuMTY5NjU0NDg4NTYzNTM3Nl0sIFsxNjYzOTIxODIxLjQ4MjkxMjUsIDEwMzIzLCAxLjE4OTMxMjIxOTYxOTc1MV0sIFsxNjYzOTIxODIxLjU4NDk3MzMsIDEwMzMyLCAxLjE2NzIyMDM1NDA4MDIwMDJdLCBbMTY2MzkyMTgyMS42NzQ0NjY4LCAxMDM0MSwgMS4xNjg1MjEyODUwNTcwNjc5XSwgWzE2NjM5MjE4MjEuNzY3MjYwMywgMTAzNTAsIDEuMTU3Nzc2NDc0OTUyNjk3OF0sIFsxNjYzOTIxODIxLjg1Nzk5NzcsIDEwMzU5LCAxLjE1MDg1ODY0MDY3MDc3NjRdLCBbMTY2MzkyMTgyMS45NDkwNzg2LCAxMDM2OCwgMS4xODU5MjEwNzI5NTk5XSwgWzE2NjM5MjE4MjIuMDM1ODcxNSwgMTAzNzcsIDEuMTY2ODAyNDA2MzExMDM1Ml0sIFsxNjYzOTIxODIyLjEyNjA2MzMsIDEwMzg2LCAxLjE5NzI0NDUyNDk1NTc0OTVdLCBbMTY2MzkyMTgyMi4zMDY4NDMsIDEwNDA0LCAxLjE1NDQ3MTM5NzM5OTkwMjNdLCBbMTY2MzkyMTgyMi40MTcyODU3LCAxMDQxMywgMS4xNDkwMTQ3MTEzODAwMDQ5XSwgWzE2NjM5MjE4MjIuNTA2MTI1LCAxMDQyMiwgMS4xNTg5MTAwMzYwODcwMzYxXSwgWzE2NjM5MjE4MjIuNjk0OTE0LCAxMDQ0MCwgMS4xNTMyMTA4NzgzNzIxOTI0XSwgWzE2NjM5MjE4MjIuODE1NDk0LCAxMDQ0OSwgMS4xNzQzOTgzMDMwMzE5MjE0XSwgWzE2NjM5MjE4MjMuMDY4NTgyOCwgMTA0NjcsIDEuMTU4NjAwMjExMTQzNDkzN10sIFsxNjYzOTIxODIzLjE3OTM5MzUsIDEwNDc2LCAxLjE5NjAxMDU4OTU5OTYwOTRdLCBbMTY2MzkyMTgyMy4yNzQ1Mjg3LCAxMDQ4NSwgMS4yMDEyOTg1OTQ0NzQ3OTI1XSwgWzE2NjM5MjE4MjMuMzY3MTY5OSwgMTA0OTQsIDEuMTc0NDQ2NTgyNzk0MTg5NV0sIFsxNjYzOTIxODIzLjQ3ODE2MDEsIDEwNTAzLCAxLjE3NzA0MjQ4NDI4MzQ0NzNdLCBbMTY2MzkyMTgyMy41Njk3Mjc3LCAxMDUxMiwgMS4xNTA1ODQxMDE2NzY5NDFdLCBbMTY2MzkyMTgyMy42NTkxNTEzLCAxMDUyMSwgMS4xNjY3ODA3MTAyMjAzMzddLCBbMTY2MzkyMTgyNC4wMzUzMDEsIDEwNTU3LCAxLjE1ODM3MzgzMjcwMjYzNjddLCBbMTY2MzkyMTgyNC4xMzM2MTE3LCAxMDU2NiwgMS4xNTQyMDMyOTU3MDc3MDI2XSwgWzE2NjM5MjE4MjQuMjI0MzA1OSwgMTA1NzUsIDEuMTkzNzg4NjQ3NjUxNjcyNF0sIFsxNjYzOTIxODI0LjQyNjE1MDgsIDEwNTkzLCAxLjE3OTU4NDYyMjM4MzExNzddLCBbMTY2MzkyMTgyNC41MzI5OTE0LCAxMDYwMiwgMS4xNTg2OTI4MzY3NjE0NzQ2XSwgWzE2NjM5MjE4MjQuNjg0MzMxMiwgMTA2MTEsIDEuMTY1NzcwMDUzODYzNTI1NF0sIFsxNjYzOTIxODI0LjkyOTY0NjUsIDEwNjI5LCAxLjE0NTEwMjczOTMzNDEwNjRdLCBbMTY2MzkyMTgyNS4wNDM5OTMsIDEwNjM4LCAxLjE2NjE2Njc4MjM3OTE1MDRdLCBbMTY2MzkyMTgyNS4xNTE5NjAxLCAxMDY0NywgMS4xNjk5OTI2ODUzMTc5OTMyXSwgWzE2NjM5MjE4MjUuMzQ2NjgxNCwgMTA2NjUsIDEuMTU4NjI2MzE3OTc3OTA1M10sIFsxNjYzOTIxODI1LjU0MjI2LCAxMDY4MywgMS4xNzU3ODM1MTQ5NzY1MDE1XSwgWzE2NjM5MjE4MjUuNzM5ODUxMiwgMTA3MDEsIDEuMTg0NTcyOTM1MTA0MzcwMV0sIFsxNjYzOTIxODI1LjgzNTE2NjcsIDEwNzEwLCAxLjE3ODEyMjA0MzYwOTYxOTFdLCBbMTY2MzkyMTgyNS45NDU3OCwgMTA3MTksIDEuMTc3MzkxODg2NzExMTIwNl0sIFsxNjYzOTIxODI2LjA1ODE4NywgMTA3MjgsIDEuMTY4MzIwMjk4MTk0ODg1M10sIFsxNjYzOTIxODI2LjI2MTk5NDEsIDEwNzQ2LCAxLjE3MjU0ODI5NDA2NzM4MjhdLCBbMTY2MzkyMTgyNi4zODE1OTg1LCAxMDc1NSwgMS4xNzY3MDMyMTQ2NDUzODU3XSwgWzE2NjM5MjE4MjYuNDg5OTI0NywgMTA3NjQsIDEuMTY5OTExNjIzMDAxMDk4Nl0sIFsxNjYzOTIxODI2LjU5NjE0MzcsIDEwNzczLCAxLjE2NDIzNTU5MTg4ODQyNzddLCBbMTY2MzkyMTgyNi43MTE1ODg2LCAxMDc4MiwgMS4xNDY0NDIwNTU3MDIyMDk1XSwgWzE2NjM5MjE4MjYuODI1MTQ1MiwgMTA3OTEsIDEuMTU3NTM2Mzg3NDQzNTQyNV0sIFsxNjYzOTIxODI3LjE2NTc3NSwgMTA4MTgsIDEuMTY4NzMyNzYyMzM2NzMxXSwgWzE2NjM5MjE4MjcuMjc2ODc0NSwgMTA4MjcsIDEuMTc5NDI1MjM5NTYyOTg4M10sIFsxNjYzOTIxODI3Ljc4NjI0OTYsIDEwODU0LCAxLjE2NDY1Mjk0MzYxMTE0NV0sIFsxNjYzOTIxODI3Ljg4NDMxMjIsIDEwODYzLCAxLjEzOTE4ODE3MDQzMzA0NDRdLCBbMTY2MzkyMTgyNy45NzU1OTYsIDEwODcyLCAxLjE3OTc1MjM0OTg1MzUxNTZdLCBbMTY2MzkyMTgyOC4xNTM5MjY0LCAxMDg5MCwgMS4yMDYxNzk0OTk2MjYxNTk3XSwgWzE2NjM5MjE4MjguMjQ4NjM0NiwgMTA4OTksIDEuMTc4Njk2NjMyMzg1MjU0XSwgWzE2NjM5MjE4MjguNTg2MjQzNCwgMTA5MjYsIDEuMTcyMDcxMjE4NDkwNjAwNl0sIFsxNjYzOTIxODI4LjY4MDk4NywgMTA5MzUsIDEuMTU3MzMwMDM2MTYzMzNdLCBbMTY2MzkyMTgyOC43NzczOTE0LCAxMDk0NCwgMS4xNTgyMTk5MzM1MDk4MjY3XSwgWzE2NjM5MjE4MjguOTU4Nzg2NywgMTA5NjIsIDEuMjExNjU1MTM5OTIzMDk1N10sIFsxNjYzOTIxODI5LjA0OTk0NywgMTA5NzEsIDEuMjA4MTI4NDUyMzAxMDI1NF0sIFsxNjYzOTIxODI5LjE0MzgwNDMsIDEwOTgwLCAxLjE4ODUyNzgyMjQ5NDUwNjhdLCBbMTY2MzkyMTgyOS4yNDQ2MzEsIDEwOTg5LCAxLjIwNDM1OTc2OTgyMTE2N10sIFsxNjYzOTIxODI5LjMzNjc0MzYsIDEwOTk4LCAxLjE3Mjg3NjAwMDQwNDM1OF0sIFsxNjYzOTIxODI5LjQzNjE0MTcsIDExMDA3LCAxLjE3NTUxNjQ4NjE2NzkwNzddLCBbMTY2MzkyMTgyOS41MzI4MTksIDExMDE2LCAxLjE4MTQ0MjYxODM3MDA1NjJdLCBbMTY2MzkyMTgyOS43MjY3NzgzLCAxMTAzNCwgMS4xODQxODkwODExOTIwMTY2XSwgWzE2NjM5MjE4MzAuMDI5MzIwNywgMTEwNjEsIDEuMTcwMTcyNDUyOTI2NjM1N10sIFsxNjYzOTIxODMwLjEyOTcyNjQsIDExMDcwLCAxLjIwMTE2NDcyMjQ0MjYyN10sIFsxNjYzOTIxODMwLjQyMzkzNjYsIDExMDk3LCAxLjE2OTM0NzE2NzAxNTA3NTddLCBbMTY2MzkyMTgzMC41MTQ3NTE3LCAxMTEwNiwgMS4xNjM5ODY4MDIxMDExMzUzXSwgWzE2NjM5MjE4MzAuNjE2NDAyLCAxMTExNSwgMS4xNTUxNTQxMDkwMDExNTk3XSwgWzE2NjM5MjE4MzAuNzEzOTA4NCwgMTExMjQsIDEuMTU0OTkyNTgwNDEzODE4NF0sIFsxNjYzOTIxODMwLjgwODYxMjMsIDExMTMzLCAxLjE1OTYxNjIzMTkxODMzNV0sIFsxNjYzOTIxODMxLjAwNzgyMzUsIDExMTUxLCAxLjE2MzExNDQyODUyMDIwMjZdLCBbMTY2MzkyMTgzMS4xMDMyNjc0LCAxMTE2MCwgMS4xOTM2MTA2NjgxODIzNzNdLCBbMTY2MzkyMTgzMS4xOTM4NDQzLCAxMTE2OSwgMS4xNTcxMTkyNzQxMzk0MDQzXSwgWzE2NjM5MjE4MzEuMjg1OTU4OCwgMTExNzgsIDEuMTcwNDUyMTE3OTE5OTIxOV0sIFsxNjYzOTIxODMxLjM3NTkwMTUsIDExMTg3LCAxLjE2MDI2OTczNzI0MzY1MjNdLCBbMTY2MzkyMTgzMS40NzE3MDgzLCAxMTE5NiwgMS4xNDY5Njk2NzYwMTc3NjEyXSwgWzE2NjM5MjE4MzEuNTY1MjYzNSwgMTEyMDUsIDEuMTc0NzAwMDIxNzQzNzc0NF0sIFsxNjYzOTIxODMxLjY2MjEzODUsIDExMjE0LCAxLjEzODc2NDg1ODI0NTg0OTZdLCBbMTY2MzkyMTgzMS43NTM4NzE3LCAxMTIyMywgMS4xNTM2MTcwMjQ0MjE2OTJdLCBbMTY2MzkyMTgzMS44NDg2MDE2LCAxMTIzMiwgMS4xODA5NzQ0ODM0ODk5OTAyXSwgWzE2NjM5MjE4MzEuOTUyODI3LCAxMTI0MSwgMS4xNTY1MzA3Mzc4NzY4OTJdLCBbMTY2MzkyMTgzMi4wNDg2MzI5LCAxMTI1MCwgMS4xNTM4ODQ2NDkyNzY3MzM0XSwgWzE2NjM5MjE4MzIuMTQxNTc5MiwgMTEyNTksIDEuMTQ1MzA4MTM2OTQwMDAyNF0sIFsxNjYzOTIxODMyLjIzOTM1OTEsIDExMjY4LCAxLjE5NTAzNTIxOTE5MjUwNDldLCBbMTY2MzkyMTgzMi4zMzM2MTE1LCAxMTI3NywgMS4xNDg3NDEzNjQ0NzkwNjVdLCBbMTY2MzkyMTgzMi40MjcwNzk3LCAxMTI4NiwgMS4xNjE2Mjk2NzY4MTg4NDc3XSwgWzE2NjM5MjE4MzIuNTE1NjM2MiwgMTEyOTUsIDEuMTQ0NjI0MTE0MDM2NTZdLCBbMTY2MzkyMTgzMi43MDQ3Njc3LCAxMTMxMywgMS4xNTA3MDkyNzE0MzA5NjkyXSwgWzE2NjM5MjE4MzIuNzk2NTg3MiwgMTEzMjIsIDEuMTYxODQ5MjYwMzMwMjAwMl0sIFsxNjYzOTIxODMzLjA5MDIxNTcsIDExMzQ5LCAxLjE0OTcwNjM2MzY3Nzk3ODVdLCBbMTY2MzkyMTgzMy4xODQ2ODIxLCAxMTM1OCwgMS4xNzU0MTE4MjA0MTE2ODIxXSwgWzE2NjM5MjE4MzMuMzk1MjM1LCAxMTM3NiwgMS4xNjQyNzgzODgwMjMzNzY1XSwgWzE2NjM5MjE4MzMuNDg4MjE5NSwgMTEzODUsIDEuMTU0NTcyNDg2ODc3NDQxNF0sIFsxNjYzOTIxODMzLjU4MjUzNjcsIDExMzk0LCAxLjIwODYxODY0MDg5OTY1ODJdLCBbMTY2MzkyMTgzMy42NzQ4OTg5LCAxMTQwMywgMS4xODU0NTgzMDI0OTc4NjM4XSwgWzE2NjM5MjE4MzMuNzcyNzE2NSwgMTE0MTIsIDEuMTcxNzU2MDI5MTI5MDI4M10sIFsxNjYzOTIxODMzLjg2NzQxNDcsIDExNDIxLCAxLjE3ODkwNzAzNjc4MTMxMV0sIFsxNjYzOTIxODM0LjE1Mzc4OTUsIDExNDQ4LCAxLjE3NzczODU0NzMyNTEzNDNdLCBbMTY2MzkyMTgzNC4yNDcyNjkyLCAxMTQ1NywgMS4xNTM1MTQxNDY4MDQ4MDk2XSwgWzE2NjM5MjE4MzQuNTIyMTM5LCAxMTQ4NCwgMS4xNzE2MzEwOTc3OTM1NzldLCBbMTY2MzkyMTgzNC42MTczMDM4LCAxMTQ5MywgMS4xNTM1NjIzMDczNTc3ODhdLCBbMTY2MzkyMTgzNC43MTI5MjgsIDExNTAyLCAxLjEzNjQ0MjE4NDQ0ODI0MjJdLCBbMTY2MzkyMTgzNC44MDA5Nzk5LCAxMTUxMSwgMS4xNDM5MzY1MTQ4NTQ0MzEyXSwgWzE2NjM5MjE4MzQuODk4MjY1MSwgMTE1MjAsIDEuMTU0NDI2OTMyMzM0OV0sIFsxNjYzOTIxODM0Ljk5MjAyOTQsIDExNTI5LCAxLjE2MTA0OTM2NTk5NzMxNDVdLCBbMTY2MzkyMTgzNS4xOTM5MiwgMTE1NDcsIDEuMTQ4MjY1NjAwMjA0NDY3OF0sIFsxNjYzOTIxODM1LjI5MDkyODQsIDExNTU2LCAxLjEzODQ2MzAyMDMyNDcwN10sIFsxNjYzOTIxODM1LjQ3OTU2NTksIDExNTc0LCAxLjE2NjU5MDQ1MjE5NDIxMzldLCBbMTY2MzkyMTgzNS41NzU0NjkzLCAxMTU4MywgMS4xNzcwNDA0NTc3MjU1MjVdLCBbMTY2MzkyMTgzNS43NjUxMDk4LCAxMTYwMSwgMS4xNjY3MzIzMTEyNDg3NzkzXSwgWzE2NjM5MjE4MzYuMTUxNzM5MSwgMTE2MTksIDEuMTU3ODA1MDg1MTgyMTldLCBbMTY2MzkyMTgzNi4yNTQ4NDM1LCAxMTYyOCwgMS4xNjI3NzEyMjQ5NzU1ODZdLCBbMTY2MzkyMTgzNi4zNDEzMDc5LCAxMTYzNywgMS4xNTg2NjgzOTg4NTcxMTY3XSwgWzE2NjM5MjE4MzYuNDM1MDE2MiwgMTE2NDYsIDEuMTY4NDc5OTE5NDMzNTkzOF0sIFsxNjYzOTIxODM2LjYxMTEzNDgsIDExNjY0LCAxLjE2NDc5ODczNjU3MjI2NTZdLCBbMTY2MzkyMTgzNi43MDYxNzMsIDExNjczLCAxLjE3MTA0MjY4MDc0MDM1NjRdLCBbMTY2MzkyMTgzNi45Mjk4OCwgMTE2OTEsIDEuMTczMjAzNTg3NTMyMDQzNV0sIFsxNjYzOTIxODM3LjA2MjM4NjUsIDExNzAwLCAxLjEzMjc0NTk4MTIxNjQzMDddXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_02-12-17_b5cca277837b&tag=Loss%2Fvalid":{"data":"W1sxNjYzODEyNzM5LjUwMjc1NjgsIDksIDk3LjI2NTY3ODQwNTc2MTcyXSwgWzE2NjM4MTI3NDAuMTcyMzczLCAyNywgNDAuODQxNzUxMDk4NjMyODFdLCBbMTY2MzgxMjc0MC4yNjQyNjQzLCAzNiwgMzkuMDk1MTQyMzY0NTAxOTVdLCBbMTY2MzgxMjc0MC4zNTU2MjgzLCA0NSwgMzYuMzk4MTk3MTc0MDcyMjY2XSwgWzE2NjM4MTI3NDAuODM4MzIzNCwgOTAsIDIwLjA5MzQ2OTYxOTc1MDk3N10sIFsxNjYzODEyNzQwLjk1MTU0MjksIDk5LCAxNi4xNjQ3NTg2ODIyNTA5NzddLCBbMTY2MzgxMjc0MS4wNDIxNDU1LCAxMDgsIDE0LjUxNDQwOTA2NTI0NjU4Ml0sIFsxNjYzODEyNzQxLjQ5NTYzNSwgMTM1LCA3Ljk2NjEyMzEwNDA5NTQ1OV0sIFsxNjYzODEyNzQxLjYwMjk5ODMsIDE0NCwgNi45NjYxNTIxOTExNjIxMDldLCBbMTY2MzgxMjc0MS43MDM5NjcsIDE1MywgNi41MzAwODY5OTQxNzExNDNdLCBbMTY2MzgxMjc0MS45MTg4NDMsIDE3MSwgNi4xMjgyODczMTUzNjg2NTJdLCBbMTY2MzgxMjc0Mi4wMjEwMDA0LCAxODAsIDQuODI5NzMyNDE4MDYwMzAzXSwgWzE2NjM4MTI3NDIuMTI3ODg1LCAxODksIDUuMzQ1MTgzMzcyNDk3NTU5XSwgWzE2NjM4MTI3NDIuMzM2OTIwMywgMjA3LCA2Ljg2OTI2NDYwMjY2MTEzM10sIFsxNjYzODEyNzQyLjQ0MTkxNzQsIDIxNiwgNC44MjQzODIzMDUxNDUyNjRdLCBbMTY2MzgxMjc0Mi44MDg2ODk0LCAyNDMsIDYuMDUwMjI2MjExNTQ3ODUyXSwgWzE2NjM4MTI3NDIuOTAxODE5MiwgMjUyLCA1LjYzOTE5NzM0OTU0ODM0XSwgWzE2NjM4MTI3NDMuMDA4MjAzLCAyNjEsIDUuNjE4ODUyMTM4NTE5Mjg3XSwgWzE2NjM4MTI3NDMuMDk3MTExMiwgMjcwLCA1LjQwMjA2Mjg5MjkxMzgxOF0sIFsxNjYzODEyNzQzLjIwNTY0MDgsIDI3OSwgNS44MjUzNDQ1NjI1MzA1MThdLCBbMTY2MzgxMjc0My41MjAyMjQzLCAzMDYsIDQuNzk4ODE4NTg4MjU2ODM2XSwgWzE2NjM4MTI3NDMuNjEyODk3OSwgMzE1LCA1LjU3NDM5NDcwMjkxMTM3N10sIFsxNjYzODEyNzQzLjc5MjY5NjcsIDMzMywgNC4yNjE2OTY4MTU0OTA3MjNdLCBbMTY2MzgxMjc0My44ODIxNDMzLCAzNDIsIDUuMzc5MTE3OTY1Njk4MjQyXSwgWzE2NjM4MTI3NDMuOTczNTI3NywgMzUxLCA0LjU0ODA2MTM3MDg0OTYwOV0sIFsxNjYzODEyNzQ0LjA1OTAyNDYsIDM2MCwgNS41MjI3NDk0MjM5ODA3MTNdLCBbMTY2MzgxMjc0NC4xNDg3MzA1LCAzNjksIDQuOTM1Mzg1MjI3MjAzMzY5XSwgWzE2NjM4MTI3NDQuODIwNTc3OSwgNDMyLCAzLjk5Njk0ODI0MjE4NzVdLCBbMTY2MzgxMjc0NC45MjE2NTU3LCA0NDEsIDQuMTg4MjQ3MjAzODI2OTA0XSwgWzE2NjM4MTI3NDUuMDE3Nzc1MywgNDUwLCA0Ljc4NTQyODUyNDAxNzMzNF0sIFsxNjYzODEyNzQ1LjExMzU0NDcsIDQ1OSwgNC44MjIxNjU0ODkxOTY3NzddLCBbMTY2MzgxMjc0NS4yMjgxODQsIDQ2OCwgNC4wNjYxNDE2MDUzNzcxOTddLCBbMTY2MzgxMjc0NS4zNDM3NywgNDc3LCA0LjIxOTY0NTAyMzM0NTk0N10sIFsxNjYzODEyNzQ1LjQ0OTUzODcsIDQ4NiwgNC42MjIyMDMzNTAwNjcxMzldLCBbMTY2MzgxMjc0NS41NDM2NTUsIDQ5NSwgNC40NDY3MDAwOTYxMzAzNzFdLCBbMTY2MzgxMjc0NS42NDcwMDgsIDUwNCwgMy45OTkyMjM5NDc1MjUwMjQ0XSwgWzE2NjM4MTI3NDUuODM3MjcxMiwgNTIyLCA0LjQ4NDczMDcyMDUyMDAxOTVdLCBbMTY2MzgxMjc0Ni4xMjQ4NTQ2LCA1NDksIDQuMDUwODI1NTk1ODU1NzEzXSwgWzE2NjM4MTI3NDYuMjQyNjI4MywgNTU4LCAzLjc3Njk3ODQ5MjczNjgxNjRdLCBbMTY2MzgxMjc0Ni4zNDAzNTUyLCA1NjcsIDQuNzgxNDA3MzU2MjYyMjA3XSwgWzE2NjM4MTI3NDYuNDYxMTQyMywgNTc2LCA0Ljc3NTMzODE3MjkxMjU5OF0sIFsxNjYzODEyNzQ2LjY2MDgzMTUsIDU5NCwgMy42Nzg3NTUwNDQ5MzcxMzRdLCBbMTY2MzgxMjc0Ni43NTY5NjEsIDYwMywgMy42OTIwMDE4MTk2MTA1OTU3XSwgWzE2NjM4MTI3NDYuODUxOTQwMiwgNjEyLCAzLjk4ODM0Mjc2MTk5MzQwOF0sIFsxNjYzODEyNzQ2Ljk0NTM0NjgsIDYyMSwgMy42MjE5NDA4NTEyMTE1NDhdLCBbMTY2MzgxMjc0Ny4xNDEyMjc3LCA2MzksIDMuNzYyOTkxNjY2NzkzODIzMl0sIFsxNjYzODEyNzQ3LjIzODI4MywgNjQ4LCAzLjYwMjY4MDY4MzEzNTk4NjNdLCBbMTY2MzgxMjc0Ny40MjA4OTYzLCA2NjYsIDMuNjEzNDU2NzI2MDc0MjE4OF0sIFsxNjYzODEyNzQ3LjYxOTQ2MzcsIDY4NCwgMy43MzM5NjA2Mjg1MDk1MjE1XSwgWzE2NjM4MTI3NDcuODIyNTU3LCA3MDIsIDMuMzY3NjU3NjYxNDM3OTg4M10sIFsxNjYzODEyNzQ3LjkxNDQ5MzMsIDcxMSwgMy4wNzcwOTMxMjQzODk2NDg0XSwgWzE2NjM4MTI3NDguMDA5NDY2NiwgNzIwLCAzLjQ5ODUxOTE4MjIwNTJdLCBbMTY2MzgxMjc0OC4xMDQxNDA4LCA3MjksIDMuMzc4MjQ5NjQ1MjMzMTU0M10sIFsxNjYzODEyNzQ4LjI4NDg2MDYsIDc0NywgMy4xMjkyOTA1ODA3NDk1MTE3XSwgWzE2NjM4MTI3NDguMzc3MTM4MSwgNzU2LCAzLjQ5ODMwNzcwNDkyNTUzN10sIFsxNjYzODEyNzQ4LjU2NTYzMjYsIDc3NCwgMy4zOTg3MTE0NDI5NDczODc3XSwgWzE2NjM4MTI3NDguNjY0NzE2MiwgNzgzLCAzLjU1Mzg1NzU2NDkyNjE0NzVdLCBbMTY2MzgxMjc0OC43NTAwMDg4LCA3OTIsIDMuMjE2NjY4MzY3Mzg1ODY0M10sIFsxNjYzODEyNzQ4LjkyMDY1ODYsIDgxMCwgMi45NTkwOTA3MDk2ODYyNzkzXSwgWzE2NjM4MTI3NDkuMDI4NDIzMywgODE5LCAzLjAzNTE4NDYyMTgxMDkxM10sIFsxNjYzODEyNzQ5LjU3NjIwMTIsIDg2NCwgMy4zMDM2NTgwMDg1NzU0Mzk1XSwgWzE2NjM4MTI3NDkuNjY5NDYzOSwgODczLCAyLjg0MDY5NDQyNzQ5MDIzNDRdLCBbMTY2MzgxMjc0OS45Njk1MDYsIDkwMCwgMi44MTQzMjgxOTM2NjQ1NTFdLCBbMTY2MzgxMjc1MC4wNzA3MDI4LCA5MDksIDIuNzQ3NTI1NjkxOTg2MDg0XSwgWzE2NjM4MTI3NTAuNTA1NzUzNSwgOTM2LCAyLjQ4NjEzMjM4MzM0NjU1NzZdLCBbMTY2MzgxMjc1MC42MjkwOTU4LCA5NDUsIDIuNDkyNTIyNzE2NTIyMjE3XSwgWzE2NjM4MTI3NTAuODMxODIyOSwgOTYzLCAyLjQ2Mjk1NTQ3NDg1MzUxNTZdLCBbMTY2MzgxMjc1MC45MzQwMDY3LCA5NzIsIDIuNTYzODE1MTE2ODgyMzI0XSwgWzE2NjM4MTI3NTEuMDI5MzQ5MywgOTgxLCAyLjczMjAwNzk4MDM0NjY3OTddLCBbMTY2MzgxMjc1MS4xMTc1NTM3LCA5OTAsIDIuNDI4NjMzMjEzMDQzMjEzXSwgWzE2NjM4MTI3NTEuMjMxMzM3OCwgOTk5LCAyLjQ3MTg4MDY3NDM2MjE4MjZdLCBbMTY2MzgxMjc1MS4zMjA0NTgsIDEwMDgsIDIuNTI5MDgxMzQ0NjA0NDkyXSwgWzE2NjM4MTI3NTEuNDA5NzIxMSwgMTAxNywgMy4xMDQ5MzYzNjEzMTI4NjZdLCBbMTY2MzgxMjc1MS41OTQ5MTMsIDEwMzUsIDIuOTA1NTY2NjkyMzUyMjk1XSwgWzE2NjM4MTI3NTEuNjg5NTgxNiwgMTA0NCwgMi43ODQxNjYwOTc2NDA5OTFdLCBbMTY2MzgxMjc1MS44MDMxODEyLCAxMDUzLCAyLjg3NTQ5MzA0OTYyMTU4Ml0sIFsxNjYzODEyNzUxLjkwMjAzMywgMTA2MiwgMi42NjY5NDI4MzQ4NTQxMjZdLCBbMTY2MzgxMjc1Mi4yMDI1OTA1LCAxMDg5LCAzLjI3MDUyODA3ODA3OTIyMzZdLCBbMTY2MzgxMjc1Mi4yOTMwMjI2LCAxMDk4LCAyLjI2MjgwNzg0NjA2OTMzNl0sIFsxNjYzODEyNzUyLjY4NjIzLCAxMTM0LCAyLjU3MDk0MzM1NTU2MDMwMjddLCBbMTY2MzgxMjc1Mi43NzUxODU2LCAxMTQzLCAyLjkyNjM2NTYxMzkzNzM3OF0sIFsxNjYzODEyNzUyLjk3OTM0LCAxMTYxLCAyLjI5MzA4ODY3NDU0NTI4OF0sIFsxNjYzODEyNzUzLjA2OTA4MzcsIDExNzAsIDIuNTE4Nzk5MDY2NTQzNTc5XSwgWzE2NjM4MTI3NTMuMTU5NjYxNSwgMTE3OSwgMi4zMzYzNjA0NTQ1NTkzMjZdLCBbMTY2MzgxMjc1My4yNTExNDU4LCAxMTg4LCAyLjI0MTM2MjU3MTcxNjMwODZdLCBbMTY2MzgxMjc1My4zNjA1NzksIDExOTcsIDIuNjcxMjM1MzIyOTUyMjcwNV0sIFsxNjYzODEyNzUzLjU4MzI1MDUsIDEyMTUsIDIuNDY4ODg2Mzc1NDI3MjQ2XSwgWzE2NjM4MTI3NTMuNzg4NzIsIDEyMzMsIDIuOTMzMjkzMTA0MTcxNzUzXSwgWzE2NjM4MTI3NTMuODg5ODc5LCAxMjQyLCAyLjI3OTAwMzYyMDE0NzcwNV0sIFsxNjYzODEyNzUzLjk5NTg4NzMsIDEyNTEsIDIuNTc1MDMwODAzNjgwNDJdLCBbMTY2MzgxMjc1NC4wOTA2ODAxLCAxMjYwLCAyLjM0NTQ3NjYyNzM0OTg1MzVdLCBbMTY2MzgxMjc1NC4xODEwNzc1LCAxMjY5LCAyLjcyODc5MDI4MzIwMzEyNV0sIFsxNjYzODEyNzU0LjI3MDY2MTgsIDEyNzgsIDIuMjI4NzE4NzU3NjI5Mzk0NV0sIFsxNjYzODEyNzU0LjQ2MTM0ODUsIDEyOTYsIDIuMzI5NzczNDI2MDU1OTA4XSwgWzE2NjM4MTI3NTQuNTUxMTA4OCwgMTMwNSwgMi4yMjA2NDQ5NTA4NjY2OTldLCBbMTY2MzgxMjc1NC42NDQ4OTQxLCAxMzE0LCAyLjE4MTM3MjE2NTY3OTkzMTZdLCBbMTY2MzgxMjc1NC43MzgwMzMzLCAxMzIzLCAyLjE2MDMxNjk0NDEyMjMxNDVdLCBbMTY2MzgxMjc1NC44MjgwNjgzLCAxMzMyLCAyLjMwNDYxMTkyMTMxMDQyNV0sIFsxNjYzODEyNzU1LjExMjQ0OTIsIDEzNTksIDIuMDc5NDEyNDYwMzI3MTQ4NF0sIFsxNjYzODEyNzU1LjQ4NjA2OTcsIDEzOTUsIDIuMzE4MzMyMTk1MjgxOTgyNF0sIFsxNjYzODEyNzU1LjY4NzgyOTMsIDE0MTMsIDIuNjcyMzA5NjM3MDY5NzAyXSwgWzE2NjM4MTI3NTUuNzkwMjEwNSwgMTQyMiwgMi4xMTgzMzY2Nzc1NTEyNjk1XSwgWzE2NjM4MTI3NTUuOTg1MjEzOCwgMTQ0MCwgMi41OTY4MjQ4ODQ0MTQ2NzNdLCBbMTY2MzgxMjc1Ni4wNzkxNjEyLCAxNDQ5LCAyLjEwMzI0OTc4ODI4NDMwMThdLCBbMTY2MzgxMjc1Ni4yNzMyMzcsIDE0NjcsIDIuMDQ1OTQyMzA2NTE4NTU0N10sIFsxNjYzODEyNzU2LjM2MzIzOTUsIDE0NzYsIDIuMTA3MTQyNDQ4NDI1MjkzXSwgWzE2NjM4MTI3NTYuNDUzODYyLCAxNDg1LCAyLjEyODMxMDQ0MTk3MDgyNV0sIFsxNjYzODEyNzU2LjY1NjcwOCwgMTUwMywgMi4xOTkyMzkyNTM5OTc4MDI3XSwgWzE2NjM4MTI3NTYuODYwODcwNiwgMTUyMSwgMi4yMjExNDQxOTkzNzEzMzhdLCBbMTY2MzgxMjc1Ny4wNDcwMjMzLCAxNTM5LCAyLjA2ODEwMzc5MDI4MzIwM10sIFsxNjYzODEyNzU3LjE0Mzc2OCwgMTU0OCwgMS43NTk4OTQ5NjcwNzkxNjI2XSwgWzE2NjM4MTI3NTcuMjQxNzMzOCwgMTU1NywgMi4wNDQ5MTYxNTI5NTQxMDE2XSwgWzE2NjM4MTI3NTcuNDIyNjU2NSwgMTU3NSwgMi44OTU2MjcyNjAyMDgxM10sIFsxNjYzODEyNzU3LjUxMjM0NDQsIDE1ODQsIDIuMDE4NzI0OTE4MzY1NDc4NV0sIFsxNjYzODEyNzU3LjYwMTE3ODIsIDE1OTMsIDIuNDc3OTA3NDE5MjA0NzEyXSwgWzE2NjM4MTI3NTcuNjk3OTg0MiwgMTYwMiwgMi4zMzUyNzkyMjYzMDMxMDA2XSwgWzE2NjM4MTI3NTcuNzg4MjUyNCwgMTYxMSwgMi41MzU1NTY3OTMyMTI4OTA2XSwgWzE2NjM4MTI3NTcuOTcxODAyNSwgMTYyOSwgMS45OTI0MzY0MDg5OTY1ODJdLCBbMTY2MzgxMjc1OC4wNzAwODEsIDE2MzgsIDIuMjc4MTkzNzEyMjM0NDk3XSwgWzE2NjM4MTI3NTguMTg5MTAwNSwgMTY0NywgMi45NTY3MDE1MTcxMDUxMDI1XSwgWzE2NjM4MTI3NTguMjg3MTE1LCAxNjU2LCAyLjAxMzYwMzY4NzI4NjM3N10sIFsxNjYzODEyNzU4LjM3NzE3MjcsIDE2NjUsIDIuNjg2Njk5MzkwNDExMzc3XSwgWzE2NjM4MTI3NTguNDY3ODY1MiwgMTY3NCwgMi4yNDc1OTI5MjYwMjUzOTA2XSwgWzE2NjM4MTI3NTguNTYwMDgwMywgMTY4MywgMS45NzI1MjI2MTYzODY0MTM2XSwgWzE2NjM4MTI3NTguODQ1OTkyLCAxNzEwLCAxLjg4NzE3MTUwNjg4MTcxMzldLCBbMTY2MzgxMjc1OS4xMDAxMTk0LCAxNzE5LCAxLjk4Njg5NzgyNjE5NDc2MzJdLCBbMTY2MzgxMjc1OS4yMDMwMTM3LCAxNzI4LCAxLjgwMzMzNDk1MTQwMDc1NjhdLCBbMTY2MzgxMjc1OS4zMDk1NTU4LCAxNzM3LCAxLjgwNTM4NTExMjc2MjQ1MTJdLCBbMTY2MzgxMjc1OS42MjE0OTM2LCAxNzY0LCAyLjE1MjYyMzE3NjU3NDcwN10sIFsxNjYzODEyNzU5LjkyMjY2NTQsIDE3OTEsIDIuMTU3ODg3NDU4ODAxMjY5NV0sIFsxNjYzODEyNzYwLjAxMTAyNywgMTgwMCwgMi4zMTA1MzE2MTYyMTA5Mzc1XSwgWzE2NjM4MTI3NjAuMTAwNTI3LCAxODA5LCAxLjg3NDgwOTUwMzU1NTI5NzldLCBbMTY2MzgxMjc2MC4yODYwOTM3LCAxODI3LCAxLjg1OTMxNDMyMjQ3MTYxODddLCBbMTY2MzgxMjc2MC4zNzczNzU2LCAxODM2LCAyLjIyMTM5OTc4NDA4ODEzNDhdLCBbMTY2MzgxMjc2MC40NjU0NzIyLCAxODQ1LCAyLjM4NTQwMjY3OTQ0MzM1OTRdLCBbMTY2MzgxMjc2MC41NTQzNDYsIDE4NTQsIDIuMTg2NjgxMjcwNTk5MzY1Ml0sIFsxNjYzODEyNzYwLjc1ODQ5OCwgMTg3MiwgMi4xMzY4NzEwOTk0NzIwNDZdLCBbMTY2MzgxMjc2MC44NTA2MTY3LCAxODgxLCAyLjE4MDQ2NDk4Mjk4NjQ1XSwgWzE2NjM4MTI3NjAuOTQyOTg0MywgMTg5MCwgMi4xMDUyMDc0NDMyMzczMDQ3XSwgWzE2NjM4MTI3NjEuMTMyODUwNCwgMTkwOCwgMS44ODQzODA1Nzg5OTQ3NTFdLCBbMTY2MzgxMjc2MS4zMzAzNTU0LCAxOTI2LCAyLjAzNjY4MTg5MDQ4NzY3MV0sIFsxNjYzODEyNzYxLjUxNDU2MzMsIDE5NDQsIDIuMjY2MzU0NTYwODUyMDUxXSwgWzE2NjM4MTI3NjEuNjEwMjAxMSwgMTk1MywgMi4xMTE1NzU2MDM0ODUxMDc0XSwgWzE2NjM4MTI3NjEuNzkwMjc0NiwgMTk3MSwgMS45MzI1MTUzODI3NjY3MjM2XSwgWzE2NjM4MTI3NjEuODg4MzU3LCAxOTgwLCAxLjgyNDk0OTI2NDUyNjM2NzJdLCBbMTY2MzgxMjc2MS45OTY1MTA1LCAxOTg5LCAxLjgwNzU0OTM1NzQxNDI0NTZdLCBbMTY2MzgxMjc2Mi4xMTA4NjY1LCAxOTk4LCAyLjE3MzUxMDMxMzAzNDA1NzZdLCBbMTY2MzgxMjc2Mi4yMDM4NTg0LCAyMDA3LCAxLjk3MTIwNzczNzkyMjY2ODVdLCBbMTY2MzgxMjc2Mi40MTkzNjgzLCAyMDI1LCAxLjgzNzc2Nzk1ODY0MTA1MjJdLCBbMTY2MzgxMjc2Mi41MTk5NjA5LCAyMDM0LCAyLjEyMTczNDM4MDcyMjA0Nl0sIFsxNjYzODEyNzYyLjYyOTA2NDgsIDIwNDMsIDIuMzA2NDE5ODQ5Mzk1NzUyXSwgWzE2NjM4MTI3NjIuOTM4OTkzMiwgMjA3MCwgMi4xMDY1NzU0ODkwNDQxODk1XSwgWzE2NjM4MTI3NjMuMTU0MjgzLCAyMDg4LCAyLjQyMDc2OTkyOTg4NTg2NDNdLCBbMTY2MzgxMjc2My4yNDgxODg3LCAyMDk3LCAyLjIxMzc2MTgwNjQ4ODAzN10sIFsxNjYzODEyNzYzLjQ0MjY0NDYsIDIxMTUsIDIuODgwMTQxMjU4MjM5NzQ2XSwgWzE2NjM4MTI3NjMuNTMxNDk4MiwgMjEyNCwgMi40MjIyOTYwNDcyMTA2OTM0XSwgWzE2NjM4MTI3NjMuNjIxODAwNywgMjEzMywgMi4wNjY3MTIzNzk0NTU1NjY0XSwgWzE2NjM4MTI3NjMuNzI1MzU0NCwgMjE0MiwgMi4yMzY2OTQzMzU5Mzc1XSwgWzE2NjM4MTI3NjMuODI3NTQ4NywgMjE1MSwgMS44MjI2NTgzMDAzOTk3ODAzXSwgWzE2NjM4MTI3NjMuOTE2NjY2LCAyMTYwLCAxLjgyNjYxNDk3NTkyOTI2MDNdLCBbMTY2MzgxMjc2NC4wOTg4MzU3LCAyMTc4LCAyLjExNzQzMDY4Njk1MDY4MzZdLCBbMTY2MzgxMjc2NC4xOTAxNjQzLCAyMTg3LCAyLjAzOTQ1MTgzNzUzOTY3M10sIFsxNjYzODEyNzY0LjM3ODIzMTUsIDIyMDUsIDEuNzM3NzUyNjc2MDEwMTMxOF0sIFsxNjYzODEyNzY0LjQ4MzA1MDgsIDIyMTQsIDEuOTI2MzYzOTQ1MDA3MzI0Ml0sIFsxNjYzODEyNzY0LjU3Njc1MTUsIDIyMjMsIDIuMDA4MzIwNTY5OTkyMDY1NF0sIFsxNjYzODEyNzY0LjY2NjQ1MzYsIDIyMzIsIDIuMDUwMTMwMzY3Mjc5MDUyN10sIFsxNjYzODEyNzY0Ljc1ODc4MSwgMjI0MSwgMi4wNDcxOTQyNDI0Nzc0MTddLCBbMTY2MzgxMjc2NC44NDk2MDQ0LCAyMjUwLCAxLjk0NTIzNDY1NjMzMzkyMzNdLCBbMTY2MzgxMjc2NS4xNzc4MzcsIDIyNzcsIDEuNjk3MTMyMTEwNTk1NzAzMV0sIFsxNjYzODEyNzY1LjI4NzYxMzIsIDIyODYsIDIuMDIyNDgxOTE4MzM0OTYxXSwgWzE2NjM4MTI3NjUuMzc2ODQ2NiwgMjI5NSwgMS42OTg0MjY0ODUwNjE2NDU1XSwgWzE2NjM4MTI3NjUuNDgwOTg0MiwgMjMwNCwgMS45NTQ0NDI2MjAyNzc0MDQ4XSwgWzE2NjM4MTI3NjUuNjcxMDI3NCwgMjMyMiwgMS45Mjg1MDgxNjI0OTg0NzQxXSwgWzE2NjM4MTI3NjUuNzYyNTcxLCAyMzMxLCAyLjAzMzA1Njk3NDQxMTAxMDddLCBbMTY2MzgxMjc2NS44NTg5NjksIDIzNDAsIDIuMTUwNjkzNjU1MDE0MDM4XSwgWzE2NjM4MTI3NjUuOTUwOTkzOCwgMjM0OSwgMS44OTgxNDU2NzU2NTkxNzk3XSwgWzE2NjM4MTI3NjYuMTM0MTU3NywgMjM2NywgMi4wMjA3MTA5NDUxMjkzOTQ1XSwgWzE2NjM4MTI3NjYuMjI4MDc4NiwgMjM3NiwgMi4xNzQ5MDgxNjExNjMzM10sIFsxNjYzODEyNzY2LjY4NzE1MDIsIDI0MjEsIDEuOTA0OTgzNzU4OTI2MzkxNl0sIFsxNjYzODEyNzY2Ljg4MDcxMiwgMjQzOSwgMS45NTYwMTgzMjg2NjY2ODddLCBbMTY2MzgxMjc2Ni45NzE1ODQ2LCAyNDQ4LCAyLjIyNTI0NTk1MjYwNjIwMV0sIFsxNjYzODEyNzY3LjI0NDYyMTUsIDI0NzUsIDIuMTY5MjUyMTU3MjExMzAzN10sIFsxNjYzODEyNzY3LjMyNTg3MDMsIDI0ODQsIDIuMTk0MDQwMDYwMDQzMzM1XSwgWzE2NjM4MTI3NjcuNDA4MDUzOSwgMjQ5MywgMi4yNTU5ODM1OTEwNzk3MTJdLCBbMTY2MzgxMjc2Ny43NjE4MDI3LCAyNTExLCAxLjcxMjkwNzMxNDMwMDUzN10sIFsxNjYzODEyNzY3Ljg0OTk0MDgsIDI1MjAsIDIuMjgzMTAzNzA0NDUyNTE0Nl0sIFsxNjYzODEyNzY3Ljk0MTc4MTgsIDI1MjksIDEuODkxMzc2NjE0NTcwNjE3N10sIFsxNjYzODEyNzY4LjAzNDA4MiwgMjUzOCwgMS44NzIwNzI0NTgyNjcyMTJdLCBbMTY2MzgxMjc2OC4xMjIwNDY1LCAyNTQ3LCAyLjE1Nzg5Mjk0MjQyODU4OV0sIFsxNjYzODEyNzY4LjIxMDIyMzIsIDI1NTYsIDIuMDE2MzMyODY0NzYxMzUyNV0sIFsxNjYzODEyNzY4LjI5NDU1OSwgMjU2NSwgMS42ODIzOTU1Nzc0MzA3MjVdLCBbMTY2MzgxMjc2OC4zODQwMjUsIDI1NzQsIDIuNDI1NDMyNDQzNjE4Nzc0NF0sIFsxNjYzODEyNzY4LjU2NDI2OTMsIDI1OTIsIDEuNjk0Nzc4MDg0NzU0OTQzOF0sIFsxNjYzODEyNzY4LjY2NjA4MDcsIDI2MDEsIDIuMzc0MTc3OTMyNzM5MjU4XSwgWzE2NjM4MTI3NjguODQ0MTIsIDI2MTksIDIuMDAxODA4MTY2NTAzOTA2Ml0sIFsxNjYzODEyNzY4Ljk0MDk2MTYsIDI2MjgsIDEuNzE2NDg3MTY5MjY1NzQ3XSwgWzE2NjM4MTI3NjkuMzA4NDA1MiwgMjY2NCwgMi4wODE2MTExNTY0NjM2MjNdLCBbMTY2MzgxMjc2OS40MDk2OTE2LCAyNjczLCAxLjc4NjYwOTA1MzYxMTc1NTRdLCBbMTY2MzgxMjc2OS41MzY4NzgsIDI2ODIsIDEuODY0NTY2NjgzNzY5MjI2XSwgWzE2NjM4MTI3NjkuNjM0NTkxMywgMjY5MSwgMi4xOTgyNjA3ODQxNDkxN10sIFsxNjYzODEyNzY5Ljc0NzU5NywgMjcwMCwgMi4wNzY5Mjk1NjkyNDQzODQ4XSwgWzE2NjM4MTI3NjkuODQ2MjM4NCwgMjcwOSwgMi4wMjgzMzMxODcxMDMyNzE1XSwgWzE2NjM4MTI3NzAuMjM1NjgxLCAyNzQ1LCAxLjkxNTM3OTI4NTgxMjM3OF0sIFsxNjYzODEyNzcwLjMyNTMxODYsIDI3NTQsIDIuMTQ2NzA0NjczNzY3MDldLCBbMTY2MzgxMjc3MC40MjA1NTY1LCAyNzYzLCAxLjY5MjEwMTI0MDE1ODA4MV0sIFsxNjYzODEyNzcwLjUxNTY3ODYsIDI3NzIsIDIuMjc4Mzk3NTYwMTE5NjI5XSwgWzE2NjM4MTI3NzAuNjExMTgwOCwgMjc4MSwgMS44NDA3NDMxODQwODk2NjA2XSwgWzE2NjM4MTI3NzAuNzIyNzE0NywgMjc5MCwgMS43NDg5MDQ5NDM0NjYxODY1XSwgWzE2NjM4MTI3NzAuOTExOTQ4NywgMjgwOCwgMS45MzQ4OTQ5MTkzOTU0NDY4XSwgWzE2NjM4MTI3NzEuMDA0OTk5OSwgMjgxNywgMS43ODg3MzAzODI5MTkzMTE1XSwgWzE2NjM4MTI3NzEuMDk2MzkzOCwgMjgyNiwgMi4wODU1MzI0MjY4MzQxMDY0XSwgWzE2NjM4MTI3NzEuMTg5MjE5NSwgMjgzNSwgMS44MTc3MzczNDA5MjcxMjRdLCBbMTY2MzgxMjc3MS4yNzkwMDM5LCAyODQ0LCAyLjEzODY0OTQ2MzY1MzU2NDVdLCBbMTY2MzgxMjc3MS4zODcyMjIzLCAyODUzLCAyLjA1MDYyOTg1NDIwMjI3MDVdLCBbMTY2MzgxMjc3MS41NzY2MDQ2LCAyODcxLCAxLjc0MTA5NzgwNzg4NDIxNjNdLCBbMTY2MzgxMjc3MS42ODY0MjYyLCAyODgwLCAxLjg1NTIxMTAxOTUxNTk5MTJdLCBbMTY2MzgxMjc3MS43ODE2NDQsIDI4ODksIDEuOTg5MTE4MDk5MjEyNjQ2NV0sIFsxNjYzODEyNzcxLjg3NDQwNzUsIDI4OTgsIDIuMDQ2MjExMjQyNjc1NzgxMl0sIFsxNjYzODEyNzcxLjk3MzIwMSwgMjkwNywgMi40NDAwMzkzOTYyODYwMTA3XSwgWzE2NjM4MTI3NzIuMTc3MjQ5NCwgMjkyNSwgMi4wNDUwNzY4NDcwNzY0MTZdLCBbMTY2MzgxMjc3Mi40NDk5OTI0LCAyOTUyLCAyLjEyNjE0OTE3NzU1MTI2OTVdLCBbMTY2MzgxMjc3Mi42MzM5MjEsIDI5NzAsIDEuODcyODM2OTQ3NDQxMTAxXSwgWzE2NjM4MTI3NzIuNzI1NzE1MiwgMjk3OSwgMS43OTA1OTEyMzk5MjkxOTkyXSwgWzE2NjM4MTI3NzIuODIwODA1MywgMjk4OCwgMS43OTM5NzY1NDUzMzM4NjIzXSwgWzE2NjM4MTI3NzIuOTEwNzI0NCwgMjk5NywgMS44OTMwMjk5MjgyMDczOTc1XSwgWzE2NjM4MTI3NzIuOTk5NTc2NiwgMzAwNiwgMS44ODYxMDU3NzU4MzMxMjk5XSwgWzE2NjM4MTI3NzMuMzU1NzQxNywgMzA0MiwgMi4wNDE4Mzc5MzA2NzkzMjEzXSwgWzE2NjM4MTI3NzMuNDQzOTMzNSwgMzA1MSwgMS45Njk0NzA1MDA5NDYwNDVdLCBbMTY2MzgxMjc3My42MjkyNjM0LCAzMDY5LCAxLjc1MzAzMzc1NzIwOTc3NzhdLCBbMTY2MzgxMjc3My44Mzc3MTQ0LCAzMDg3LCAxLjkyNDEyNDU5ODUwMzExMjhdLCBbMTY2MzgxMjc3My45NDE4MDUsIDMwOTYsIDIuMTY2NzUyMDk5OTkwODQ0N10sIFsxNjYzODEyNzc0LjAzOTY2OTUsIDMxMDUsIDEuODQ2MDE1MDk1NzEwNzU0NF0sIFsxNjYzODEyNzc0LjEyNzQwNDIsIDMxMTQsIDEuNzgxODQzNzgxNDcxMjUyNF0sIFsxNjYzODEyNzc0LjIxODYwNzIsIDMxMjMsIDEuNzAxOTQ3NTY5ODQ3MTA3XSwgWzE2NjM4MTI3NzQuMzEwMDE1MiwgMzEzMiwgMS43MzgzNTM5Njc2NjY2MjZdLCBbMTY2MzgxMjc3NC40MDU4NjkyLCAzMTQxLCAxLjkwNDQzNjExMTQ1MDE5NTNdLCBbMTY2MzgxMjc3NC40OTc2MzgsIDMxNTAsIDEuOTQzODExNjU1MDQ0NTU1N10sIFsxNjYzODEyNzc0LjU5MDE0NTMsIDMxNTksIDEuOTMyMDIwNjY0MjE1MDg4XSwgWzE2NjM4MTI3NzQuNzc2NDAyNSwgMzE3NywgMi4wMDM5MDk4MjYyNzg2ODY1XSwgWzE2NjM4MTI3NzQuODY1NDI0OSwgMzE4NiwgMS42Nzk0NzY5NzYzOTQ2NTMzXSwgWzE2NjM4MTI3NzQuOTY1NjA1LCAzMTk1LCAxLjgxOTA5ODgzMDIyMzA4MzVdLCBbMTY2MzgxMjc3NS4wNTk1MjIyLCAzMjA0LCAxLjcxMDUzMDE2MTg1NzYwNV0sIFsxNjYzODEyNzc1LjI0NjA5MjgsIDMyMjIsIDEuNzkzNjA0MzczOTMxODg0OF0sIFsxNjYzODEyNzc1LjM0MjE5NzQsIDMyMzEsIDEuODAyNzM5MjYyNTgwODcxNl0sIFsxNjYzODEyNzc1LjUyMjUzNzcsIDMyNDksIDEuODU1NDY2NjA0MjMyNzg4XSwgWzE2NjM4MTI3NzUuNjE1OTA4NCwgMzI1OCwgMS42OTY0NzYzNDAyOTM4ODQzXSwgWzE2NjM4MTI3NzUuNzA0MTExLCAzMjY3LCAyLjEzNzAwMzQyMTc4MzQ0NzNdLCBbMTY2MzgxMjc3NS43OTY0MDI3LCAzMjc2LCAxLjgxMTgwOTA2Mjk1Nzc2MzddLCBbMTY2MzgxMjc3NS45MDI1NzI5LCAzMjg1LCAxLjY5NjQzNDk3NDY3MDQxMDJdLCBbMTY2MzgxMjc3Ni4wMDg0Mjk4LCAzMjk0LCAxLjUwMDcwNDUyNjkwMTI0NTFdLCBbMTY2MzgxMjc3Ni4yNjc1MTk1LCAzMzAzLCAxLjkwMDI4OTg5MzE1MDMyOTZdLCBbMTY2MzgxMjc3Ni4zNTU2MjM1LCAzMzEyLCAxLjk4NTQ1OTgwNDUzNDkxMl0sIFsxNjYzODEyNzc2LjQ0NDQ2MSwgMzMyMSwgMS45MjQ1MDk3NjM3MTc2NTE0XSwgWzE2NjM4MTI3NzYuNTMzMTQyNiwgMzMzMCwgMi4wMzM3NjY1MDgxMDI0MTddLCBbMTY2MzgxMjc3Ni44OTgxNTgsIDMzNjYsIDEuNjQ4ODI0ODEwOTgxNzUwNV0sIFsxNjYzODEyNzc2Ljk5MjE5NDcsIDMzNzUsIDIuMjQxNjcxMDg1MzU3NjY2XSwgWzE2NjM4MTI3NzcuMDk2MDMxNCwgMzM4NCwgMS45MDMyOTk2ODkyOTI5MDc3XSwgWzE2NjM4MTI3NzcuMjc5MDE0LCAzNDAyLCAxLjY0NjcxMDYzNDIzMTU2NzRdLCBbMTY2MzgxMjc3Ny4zNjg5MjQsIDM0MTEsIDEuNjQ3OTA2NjYxMDMzNjMwNF0sIFsxNjYzODEyNzc3LjczMTQ4NTYsIDM0NDcsIDEuODYzNjA1NDk5MjY3NTc4MV0sIFsxNjYzODEyNzc3LjkxNDA4ODUsIDM0NjUsIDEuODgxOTk5MjU0MjI2Njg0Nl0sIFsxNjYzODEyNzc4LjAwMTg0MTMsIDM0NzQsIDIuMTYxNjk0NTI2NjcyMzYzM10sIFsxNjYzODEyNzc4LjEwMzg0MTgsIDM0ODMsIDEuNzE0NzQ1NzU5OTYzOTg5M10sIFsxNjYzODEyNzc4LjM2NzQyODMsIDM1MTAsIDEuOTExNjIzNDc3OTM1NzkxXSwgWzE2NjM4MTI3NzguNDU1MTg5LCAzNTE5LCAxLjgwOTM1NTAyMDUyMzA3MTNdLCBbMTY2MzgxMjc3OC41NDQ2NTA4LCAzNTI4LCAxLjcyNDYzNTcyMDI1Mjk5MDddLCBbMTY2MzgxMjc3OC42MzI4MDU4LCAzNTM3LCAxLjgwMzgzMzg0MjI3NzUyNjldLCBbMTY2MzgxMjc3OC43MjcxOTI5LCAzNTQ2LCAxLjg1MTk5Mjk2NDc0NDU2NzldLCBbMTY2MzgxMjc3OC44MTU1ODA4LCAzNTU1LCAxLjgyNDgxNzQxOTA1MjEyNF0sIFsxNjYzODEyNzc4LjkwNDk1OCwgMzU2NCwgMS45NzkxMzI1MzMwNzM0MjUzXSwgWzE2NjM4MTI3NzguOTk4NjI0MywgMzU3MywgMS42NTY5NjY1NjcwMzk0ODk3XSwgWzE2NjM4MTI3NzkuMTA3MzcwNiwgMzU4MiwgMS45NjYxMjQwNTc3Njk3NzU0XSwgWzE2NjM4MTI3NzkuMjE3NDM0LCAzNTkxLCAxLjc1ODE3MTA4MTU0Mjk2ODhdLCBbMTY2MzgxMjc3OS4zMzIwMzY1LCAzNjAwLCAxLjQ4NjQzMzI2NzU5MzM4MzhdLCBbMTY2MzgxMjc3OS40NTI0NTM2LCAzNjA5LCAxLjczODY3MzMyOTM1MzMzMjVdLCBbMTY2MzgxMjc3OS41NTM3NjU1LCAzNjE4LCAxLjYxMDAyNzc5MDA2OTU4XSwgWzE2NjM4MTI3NzkuNjU1NTA3NiwgMzYyNywgMS43ODYyNjY0NDYxMTM1ODY0XSwgWzE2NjM4MTI3NzkuODM3Nzg1LCAzNjQ1LCAxLjc3MTk2MDYxNjExMTc1NTRdLCBbMTY2MzgxMjc4MC4wMjIxMzcyLCAzNjYzLCAxLjU5ODkyMDcwMjkzNDI2NTFdLCBbMTY2MzgxMjc4MC4xMjE2NjYsIDM2NzIsIDEuNjE4Mzk5OTc3Njg0MDIxXSwgWzE2NjM4MTI3ODAuMjE2MTI0LCAzNjgxLCAxLjU3NTYzNzY5ODE3MzUyM10sIFsxNjYzODEyNzgwLjMxNjU3LCAzNjkwLCAxLjU2ODU2NjkxODM3MzEwOF0sIFsxNjYzODEyNzgwLjU5MDQ4LCAzNzE3LCAxLjc3MDU3MDg3NDIxNDE3MjRdLCBbMTY2MzgxMjc4MC42ODI1MTYzLCAzNzI2LCAxLjg4NDQ3NTExMTk2MTM2NDddLCBbMTY2MzgxMjc4MC43NzgxMTcsIDM3MzUsIDEuOTY5MDI4NzExMzE4OTY5N10sIFsxNjYzODEyNzgwLjg3MDE4NTEsIDM3NDQsIDEuNzU1MDI4NDg2MjUxODMxXSwgWzE2NjM4MTI3ODEuMTg1OTE1NSwgMzc3MSwgMS42MDg1OTE2NzU3NTgzNjE4XSwgWzE2NjM4MTI3ODEuMjk5OTQwOCwgMzc4MCwgMS41ODMyNDQ1NjIxNDkwNDc5XSwgWzE2NjM4MTI3ODEuNDg1MTk5MiwgMzc5OCwgMS42NzA2NTcyNzcxMDcyMzg4XSwgWzE2NjM4MTI3ODEuNTc4NjY2NCwgMzgwNywgMS42MTkxMjk1Mzg1MzYwNzE4XSwgWzE2NjM4MTI3ODEuODU0MDAyNywgMzgzNCwgMS41NDQ2NzkwNDU2NzcxODVdLCBbMTY2MzgxMjc4MS45NDQ1MjU1LCAzODQzLCAxLjgxOTA1NTU1NzI1MDk3NjZdLCBbMTY2MzgxMjc4Mi4wMzgzMDg2LCAzODUyLCAxLjkxMDUwMzAyOTgyMzMwMzJdLCBbMTY2MzgxMjc4Mi4yNDE1NDEsIDM4NzAsIDEuNTY1OTM0ODk2NDY5MTE2Ml0sIFsxNjYzODEyNzgyLjM1MzgwMTcsIDM4NzksIDEuOTY3MjYxMTk1MTgyODAwM10sIFsxNjYzODEyNzgyLjQ1Mzk3OTcsIDM4ODgsIDEuNTY1NDU4MTc4NTIwMjAyNl0sIFsxNjYzODEyNzgyLjczODQ2MTcsIDM5MTUsIDIuMDYwMDI1NDUzNTY3NTA1XSwgWzE2NjM4MTI3ODIuODMyMDUsIDM5MjQsIDEuNjA4MDQ2MTc0MDQ5Mzc3NF0sIFsxNjYzODEyNzgyLjkyNzgyNDUsIDM5MzMsIDEuNTMyODMwMTE5MTMyOTk1Nl0sIFsxNjYzODEyNzgzLjAyMTQ5NSwgMzk0MiwgMS44MzA5NTYzMzk4MzYxMjA2XSwgWzE2NjM4MTI3ODMuMTI0ODk1NiwgMzk1MSwgMS41Mjc4MjI0OTQ1MDY4MzZdLCBbMTY2MzgxMjc4My4yMTk2NDcyLCAzOTYwLCAxLjYxODIxMzI5NTkzNjU4NDVdLCBbMTY2MzgxMjc4My4zMTg0NDcsIDM5NjksIDIuMjI2MDM3MDI1NDUxNjZdLCBbMTY2MzgxMjc4My40MTE0NDcsIDM5NzgsIDEuODcxOTYzODU4NjA0NDMxMl0sIFsxNjYzODEyNzgzLjU5MzUxNiwgMzk5NiwgMS45Mjg4ODQ5ODMwNjI3NDQxXSwgWzE2NjM4MTI3ODMuNjg2NzY5NywgNDAwNSwgMS42NTkxODQ0NTU4NzE1ODJdLCBbMTY2MzgxMjc4My43ODk0MDgsIDQwMTQsIDEuNjc5MzcwMTY0ODcxMjE1OF0sIFsxNjYzODEyNzgzLjkyODczMjIsIDQwMjMsIDEuODY2NjQ4MzE2MzgzMzYxOF0sIFsxNjYzODEyNzg0LjMwMTM4MTYsIDQwNTksIDEuNTgyODU5MTU4NTE1OTMwMl0sIFsxNjYzODEyNzg0LjM5Njk5MTcsIDQwNjgsIDEuNzAyNjYzMDY0MDAyOTkwN10sIFsxNjYzODEyNzg0LjQ5NTMxNTYsIDQwNzcsIDEuNDg1Nzk4ODM1NzU0Mzk0NV0sIFsxNjYzODEyNzg0LjU4NjAwOCwgNDA4NiwgMS43OTgxOTE2NjY2MDMwODg0XSwgWzE2NjM4MTI3ODQuODQ1MTk4NCwgNDA5NSwgMS40NTA5NTcwNTk4NjAyMjk1XSwgWzE2NjM4MTI3ODUuMDgyMTA0NywgNDExMywgMS41NTU0NTIyMjc1OTI0NjgzXSwgWzE2NjM4MTI3ODUuMjg5Nzg1MSwgNDEzMSwgMS40NTcyNjQwNjU3NDI0OTI3XSwgWzE2NjM4MTI3ODUuNTEwMTY3MSwgNDE0OSwgMS41Mjk2NDQxMzE2NjA0NjE0XSwgWzE2NjM4MTI3ODUuNjQyNDIwMywgNDE1OCwgMS41NTIxMjU5MzA3ODYxMzI4XSwgWzE2NjM4MTI3ODUuNzc1NTkxNiwgNDE2NywgMS42MDgwNjc3NTA5MzA3ODYxXSwgWzE2NjM4MTI3ODUuOTk0MTIzNywgNDE4NSwgMS42Mzc1NTUxMjIzNzU0ODgzXSwgWzE2NjM4MTI3ODYuMDg1ODg1MywgNDE5NCwgMS41NjE1NjU2Mzc1ODg1MDFdLCBbMTY2MzgxMjc4Ni4xNzk1OTcsIDQyMDMsIDEuNTE1Mzk5OTMyODYxMzI4MV0sIFsxNjYzODEyNzg2LjM2NTIzMSwgNDIyMSwgMS41NDQ3MTY3MTU4MTI2ODNdLCBbMTY2MzgxMjc4Ni41NjIwNDE1LCA0MjM5LCAxLjc3MzQ1Nzc2NTU3OTIyMzZdLCBbMTY2MzgxMjc4Ni42NTcyNDIsIDQyNDgsIDEuNzE4OTUxODIxMzI3MjA5NV0sIFsxNjYzODEyNzg2Ljg0MTc4NiwgNDI2NiwgMS40ODQ5MzMxMzc4OTM2NzY4XSwgWzE2NjM4MTI3ODYuOTM2NDgxLCA0Mjc1LCAxLjY1OTE3NTE1NzU0Njk5N10sIFsxNjYzODEyNzg3LjAyNDU0MTksIDQyODQsIDIuMjM0Mjg1MzU0NjE0MjU4XSwgWzE2NjM4MTI3ODcuMjk5NjIwOSwgNDMxMSwgMS40NDQ1MDY2NDUyMDI2MzY3XSwgWzE2NjM4MTI3ODcuNDE2Mzc0LCA0MzIwLCAxLjYyNTI4MzEyMjA2MjY4M10sIFsxNjYzODEyNzg3LjUwNDIxNTIsIDQzMjksIDEuNjMzODc5MDY1NTEzNjEwOF0sIFsxNjYzODEyNzg3LjYwNzA2LCA0MzM4LCAxLjUxNDU0MzQxNDExNTkwNThdLCBbMTY2MzgxMjc4Ny43MDAwOTExLCA0MzQ3LCAxLjg4MzU1NTA1NDY2NDYxMThdLCBbMTY2MzgxMjc4Ny43ODg1Njg3LCA0MzU2LCAxLjQwNzkzNzA0OTg2NTcyMjddLCBbMTY2MzgxMjc4Ny44ODg1Mjc2LCA0MzY1LCAxLjQ4NjY4MDc0NjA3ODQ5MTJdLCBbMTY2MzgxMjc4OC4wNjkwMDA3LCA0MzgzLCAxLjMzOTQzNDI2NjA5MDM5M10sIFsxNjYzODEyNzg4LjE2MzE0MzIsIDQzOTIsIDEuNjIzMDczNjk3MDkwMTQ5XSwgWzE2NjM4MTI3ODguMjU1NDQ3OSwgNDQwMSwgMS41NDc1NTQwMTYxMTMyODEyXSwgWzE2NjM4MTI3ODguMzQ2MjA1NSwgNDQxMCwgMS43MDM4OTIyMzA5ODc1NDg4XSwgWzE2NjM4MTI3ODguNDM4MDgxMywgNDQxOSwgMS42NDQwNzIyOTQyMzUyMjk1XSwgWzE2NjM4MTI3ODguNTI5MzkzNywgNDQyOCwgMS40MjgwMDg2NzU1NzUyNTYzXSwgWzE2NjM4MTI3ODguODI1OTk4LCA0NDU1LCAxLjQxNjQ0MjAzNjYyODcyMzFdLCBbMTY2MzgxMjc4OC45MTE3NDQsIDQ0NjQsIDEuODQ4NTEzMzY0NzkxODcwMV0sIFsxNjYzODEyNzg5LjA5NzM5NiwgNDQ4MiwgMS40MTAxNTYyNV0sIFsxNjYzODEyNzg5LjE4NjMwNjcsIDQ0OTEsIDEuNDM1OTY3MDg3NzQ1NjY2NV0sIFsxNjYzODEyNzg5LjI3NjMyOSwgNDUwMCwgMS43Mjk5MzQwOTYzMzYzNjQ3XSwgWzE2NjM4MTI3ODkuNTE0Njg3LCA0NTE4LCAxLjQ4MTU2MzA5MTI3ODA3NjJdLCBbMTY2MzgxMjc4OS42MTIwNTIyLCA0NTI3LCAxLjkwODI4MDI1MzQxMDMzOTRdLCBbMTY2MzgxMjc4OS43MjQ1NDYsIDQ1MzYsIDEuODg5OTcyMjA5OTMwNDJdLCBbMTY2MzgxMjc4OS45OTE4ODA3LCA0NTYzLCAxLjUwNDk3NDcyMjg2MjI0MzddLCBbMTY2MzgxMjc5MC4wODI1NTc0LCA0NTcyLCAxLjUyMzgxODM3MzY4MDExNDddLCBbMTY2MzgxMjc5MC4xNjk3Mjc4LCA0NTgxLCAxLjY2NTU1NjU1MDAyNTk0XSwgWzE2NjM4MTI3OTAuMjYzMzkxMywgNDU5MCwgMS40NDg2Njg5NTY3NTY1OTE4XSwgWzE2NjM4MTI3OTAuMzUzNzczOCwgNDU5OSwgMS40ODY5MjAyMzc1NDExOTg3XSwgWzE2NjM4MTI3OTAuNDQyMDEwNiwgNDYwOCwgMS40MDgzNTI5NzEwNzY5NjUzXSwgWzE2NjM4MTI3OTAuNTI4MDYzOCwgNDYxNywgMS41MjQ2Mjc2ODU1NDY4NzVdLCBbMTY2MzgxMjc5MC42Mjg5NDE4LCA0NjI2LCAxLjQ3Mjk3NjY4NDU3MDMxMjVdLCBbMTY2MzgxMjc5MC43MjcxNDg1LCA0NjM1LCAxLjQ0MjcwNTc1MDQ2NTM5M10sIFsxNjYzODEyNzkwLjkyNzUxLCA0NjUzLCAxLjc2NzM4NjE5ODA0MzgyMzJdLCBbMTY2MzgxMjc5MS4wMTc4MDcyLCA0NjYyLCAxLjUwMTY1NDI2NzMxMTA5NjJdLCBbMTY2MzgxMjc5MS4xMTMyMDQ3LCA0NjcxLCAxLjcxMjg5ODQ5MjgxMzExMDRdLCBbMTY2MzgxMjc5MS4yMDY4NTY3LCA0NjgwLCAxLjc2MjA4MjkzNDM3OTU3NzZdLCBbMTY2MzgxMjc5MS4zMDM1MjgzLCA0Njg5LCAxLjc4Njc2Njc2NzUwMTgzMV0sIFsxNjYzODEyNzkxLjM5MTM1MDUsIDQ2OTgsIDEuNDcxNjk5OTUzMDc5MjIzNl0sIFsxNjYzODEyNzkxLjU3NjkzNjcsIDQ3MTYsIDEuNDA2ODk5MDk0NTgxNjA0XSwgWzE2NjM4MTI3OTEuODY1NDU3LCA0NzQzLCAxLjU0MzQwNTQxMzYyNzYyNDVdLCBbMTY2MzgxMjc5Mi4yMjI4OTUxLCA0Nzc5LCAxLjU4NjIxNjkyNjU3NDcwN10sIFsxNjYzODEyNzkyLjQyNzQ0MTQsIDQ3OTcsIDEuNTIxMzA3NTg3NjIzNTk2Ml0sIFsxNjYzODEyNzkyLjUxODcyMDksIDQ4MDYsIDEuNjc4ODMyNjUwMTg0NjMxM10sIFsxNjYzODEyNzkyLjYwNDc4NywgNDgxNSwgMS40Mjc2NTI3MTY2MzY2NTc3XSwgWzE2NjM4MTI3OTIuNjk3ODM3LCA0ODI0LCAxLjU4NzU5MjQ4MjU2NjgzMzVdLCBbMTY2MzgxMjc5Mi43OTQ3NDksIDQ4MzMsIDEuNDEwNzY5ODIwMjEzMzE3OV0sIFsxNjYzODEyNzkyLjg5Nzk2NiwgNDg0MiwgMS4zMzAyNzM5ODU4NjI3MzJdLCBbMTY2MzgxMjc5Mi45ODYyMDg3LCA0ODUxLCAxLjQ1Njc3ODUyNjMwNjE1MjNdLCBbMTY2MzgxMjc5My4wNzIyNzM3LCA0ODYwLCAxLjU5NDQxNzQ1MjgxMjE5NDhdLCBbMTY2MzgxMjc5My4xNzY2Njg2LCA0ODY5LCAxLjU1NDQ3MjIwODAyMzA3MTNdLCBbMTY2MzgxMjc5My4zMDA5NzUzLCA0ODc4LCAxLjY3MTU2ODE1NTI4ODY5NjNdLCBbMTY2MzgxMjc5My41NTk3NzUsIDQ4ODcsIDEuNzAxNzQ3ODk0Mjg3MTA5NF0sIFsxNjYzODEyNzkzLjY0OTMzMSwgNDg5NiwgMS41NTM2ODA4OTY3NTkwMzMyXSwgWzE2NjM4MTI3OTMuNzQ3OTYzNywgNDkwNSwgMS4zNDIxMzUxOTA5NjM3NDUxXSwgWzE2NjM4MTI3OTMuOTYxNjY1OSwgNDkyMywgMS43MDA1Njg1NTY3ODU1ODM1XSwgWzE2NjM4MTI3OTQuMDYzNDM1MywgNDkzMiwgMS41ODExODE2NDUzOTMzNzE2XSwgWzE2NjM4MTI3OTQuMzY2NjU5NiwgNDk1OSwgMS41MDc5MDQ2NDg3ODA4MjI4XSwgWzE2NjM4MTI3OTQuNTQ4MjUyNiwgNDk3NywgMS40MDU5MDY5MTU2NjQ2NzI5XSwgWzE2NjM4MTI3OTQuNjM3Njk2NywgNDk4NiwgMS42OTM2Mzc2MDk0ODE4MTE1XSwgWzE2NjM4MTI3OTQuNzMyMDkzLCA0OTk1LCAxLjg3NDE1MTcwNjY5NTU1NjZdLCBbMTY2MzgxMjc5NC44MjU4NTcyLCA1MDA0LCAxLjUyMTIxMDE5MzYzNDAzMzJdLCBbMTY2MzgxMjc5NC45MTQ4MjM1LCA1MDEzLCAxLjU2Mjg4MTU4ODkzNTg1Ml0sIFsxNjYzODEyNzk1LjEwNjk2MjIsIDUwMzEsIDEuMzU2NjEwNTM2NTc1MzE3NF0sIFsxNjYzODEyNzk1LjQ5MDA1OSwgNTA2NywgMS43NDE2NzE4MDA2MTM0MDMzXSwgWzE2NjM4MTI3OTUuNTc4MzI0OCwgNTA3NiwgMS44NTU3MDA0OTI4NTg4ODY3XSwgWzE2NjM4MTI3OTUuNjcyOTI2NywgNTA4NSwgMS40NDA4MjA1NzQ3NjA0MzddLCBbMTY2MzgxMjc5NS44NTI5Mjg0LCA1MTAzLCAxLjU3NzczMDA1OTYyMzcxODNdLCBbMTY2MzgxMjc5NS45NDIyNzcyLCA1MTEyLCAxLjUwNDk4NTkyODUzNTQ2MTRdLCBbMTY2MzgxMjc5Ni4wNTIyMjc1LCA1MTIxLCAxLjYzNjkwMjgwOTE0MzA2NjRdLCBbMTY2MzgxMjc5Ni4xNDQ5Mzk0LCA1MTMwLCAxLjU2Njc3MjEwMzMwOTYzMTNdLCBbMTY2MzgxMjc5Ni4zNDQyNjg4LCA1MTQ4LCAxLjc4NDIxNDI1ODE5Mzk2OTddLCBbMTY2MzgxMjc5Ni41MzIzMTksIDUxNjYsIDEuMzM0NTM3NTA2MTAzNTE1Nl0sIFsxNjYzODEyNzk2LjgxNTM0MSwgNTE5MywgMS4zOTczODg5MzUwODkxMTEzXSwgWzE2NjM4MTI3OTcuMTkzNzYzNSwgNTIyOSwgMS4yNTc5MTI2MzU4MDMyMjI3XSwgWzE2NjM4MTI3OTcuNTY0ODU4MiwgNTI2NSwgMS40ODQ5MzIzMDM0Mjg2NV0sIFsxNjYzODEyNzk3LjY1ODU4MTUsIDUyNzQsIDEuMjczMDMwMTYxODU3NjA1XSwgWzE2NjM4MTI3OTcuNzU1ODE5MywgNTI4MywgMS41MzEyNjg3MTU4NTg0NTk1XSwgWzE2NjM4MTI3OTcuOTM5ODA5MywgNTMwMSwgMS40NDczOTMwNTk3MzA1Mjk4XSwgWzE2NjM4MTI3OTguMDMzNDI3NywgNTMxMCwgMS40ODQ2NTg0Nzk2OTA1NTE4XSwgWzE2NjM4MTI3OTguMTM2OTU3MiwgNTMxOSwgMS40NjEzOTA0OTUzMDAyOTNdLCBbMTY2MzgxMjc5OC4yMjkxODY4LCA1MzI4LCAxLjI4MzM3NDQyODc0OTA4NDVdLCBbMTY2MzgxMjc5OC4zMjAxMDIyLCA1MzM3LCAxLjgzMzkyMDAwMTk4MzY0MjZdLCBbMTY2MzgxMjc5OC41MTQyMDc4LCA1MzU1LCAxLjQ1OTAxNzYzNDM5MTc4NDddLCBbMTY2MzgxMjc5OC42MDY4LCA1MzY0LCAxLjYyOTA1NTYxOTIzOTgwNzFdLCBbMTY2MzgxMjc5OC43MDEwMTEsIDUzNzMsIDEuMzU1NTI5MzA4MzE5MDkxOF0sIFsxNjYzODEyNzk4Ljc4OTIyNjgsIDUzODIsIDEuMzE4NTUwNTg2NzAwNDM5NV0sIFsxNjYzODEyNzk4Ljg3NzIyMDQsIDUzOTEsIDEuNDQ5MTczNTY5Njc5MjYwM10sIFsxNjYzODEyNzk4Ljk3MDgwMzUsIDU0MDAsIDEuMzkwMTc4OTE4ODM4NTAxXSwgWzE2NjM4MTI3OTkuMTY1MjMzNiwgNTQxOCwgMS40MzI0NjUzMTQ4NjUxMTIzXSwgWzE2NjM4MTI3OTkuMjYwMzk5MywgNTQyNywgMS40NjYxNDMwMTIwNDY4MTRdLCBbMTY2MzgxMjc5OS4zNTk3NDkzLCA1NDM2LCAxLjUyNDY2Nzg1OTA3NzQ1MzZdLCBbMTY2MzgxMjc5OS41NzI2NDM1LCA1NDU0LCAxLjU4NjgwOTc1NDM3MTY0M10sIFsxNjYzODEyNzk5Ljc1NzkyODQsIDU0NzIsIDEuNjQ2NTg2Mjk4OTQyNTY2XSwgWzE2NjM4MTI3OTkuODQ3ODM2NSwgNTQ4MSwgMS42NTU5Nzg5MTgwNzU1NjE1XSwgWzE2NjM4MTI3OTkuOTM3OTA1MywgNTQ5MCwgMS40MDY2ODg1NzA5NzYyNTczXSwgWzE2NjM4MTI4MDAuMDI4MDk1LCA1NDk5LCAxLjY0OTEzNjc4MTY5MjUwNDldLCBbMTY2MzgxMjgwMC4zMDk0OTQzLCA1NTI2LCAxLjQ4NTQ0MDEzNTAwMjEzNjJdLCBbMTY2MzgxMjgwMC4zOTk2NzEzLCA1NTM1LCAxLjU4NTAxMTM2MzAyOTQ4XSwgWzE2NjM4MTI4MDAuNTc0MzY0NywgNTU1MywgMS41NTEwMzg4NjEyNzQ3MTkyXSwgWzE2NjM4MTI4MDAuNjY1MjQ4MiwgNTU2MiwgMS43ODIwMjU5MzMyNjU2ODZdLCBbMTY2MzgxMjgwMC43NTYxOTU1LCA1NTcxLCAxLjQyNzkwMTM4NzIxNDY2MDZdLCBbMTY2MzgxMjgwMC45Mzk4MzU4LCA1NTg5LCAxLjMxMzk4Mjg0NDM1MjcyMjJdLCBbMTY2MzgxMjgwMS4xNDA5NzUsIDU2MDcsIDEuNDY4MTE0MTM3NjQ5NTM2MV0sIFsxNjYzODEyODAxLjIzMDg0MzUsIDU2MTYsIDEuNDMxODA4OTQ4NTE2ODQ1N10sIFsxNjYzODEyODAxLjQyNzA2OCwgNTYzNCwgMS41MTU0OTA4ODk1NDkyNTU0XSwgWzE2NjM4MTI4MDEuNTE4ODI0MywgNTY0MywgMS40NjYzMDM4MjUzNzg0MThdLCBbMTY2MzgxMjgwMS42MTA3ODgsIDU2NTIsIDEuMzQyMjk5OTM4MjAxOTA0M10sIFsxNjYzODEyODAxLjcxMDA2NiwgNTY2MSwgMS41NjE5MjU0MTEyMjQzNjUyXSwgWzE2NjM4MTI4MDEuNzk5MjMxMywgNTY3MCwgMS4zOTU2MTE3NjMwMDA0ODgzXSwgWzE2NjM4MTI4MDIuMjIzODEwMiwgNTY5NywgMS4zMTIyNDg0NjgzOTkwNDc5XSwgWzE2NjM4MTI4MDIuMzEzOTQwMywgNTcwNiwgMS43NzQ5NzAyOTMwNDUwNDRdLCBbMTY2MzgxMjgwMi40MTk3Nzk4LCA1NzE1LCAxLjQ1NDAyMTkzMDY5NDU4XSwgWzE2NjM4MTI4MDIuNTA0NjksIDU3MjQsIDEuNDczNzYwNDg1NjQ5MTA4OV0sIFsxNjYzODEyODAyLjY4OTA2NDcsIDU3NDIsIDEuNTY3MTI1NTU4ODUzMTQ5NF0sIFsxNjYzODEyODAyLjk1MzAyNTYsIDU3NjksIDEuMzQ2MjM4NDkzOTE5MzcyNl0sIFsxNjYzODEyODAzLjA0NDQ2MjQsIDU3NzgsIDEuNDU3NTA3MjUyNjkzMTc2M10sIFsxNjYzODEyODAzLjEzMjIxODEsIDU3ODcsIDEuNjA0MTQxMTE2MTQyMjczXSwgWzE2NjM4MTI4MDMuMjMyMzM1OCwgNTc5NiwgMS41MDI1NDczODMzMDg0MTA2XSwgWzE2NjM4MTI4MDMuMzIxODA0MywgNTgwNSwgMS41MDYxMTIzMzcxMTI0MjY4XSwgWzE2NjM4MTI4MDMuNDEzMTc5MiwgNTgxNCwgMS43MjI2NzQzNjk4MTIwMTE3XSwgWzE2NjM4MTI4MDMuNjk3NzU1LCA1ODQxLCAxLjMyNzEyNTQzMDEwNzExNjddLCBbMTY2MzgxMjgwMy43OTExNTIyLCA1ODUwLCAxLjQ0Njc2ODA0NTQyNTQxNV0sIFsxNjYzODEyODAzLjk3NDQyODIsIDU4NjgsIDEuMzUzMzczNTI3NTI2ODU1NV0sIFsxNjYzODEyODA0LjA2NjYxMTgsIDU4NzcsIDEuMjc2NzMzODc1Mjc0NjU4Ml0sIFsxNjYzODEyODA0LjE2MTAxNjUsIDU4ODYsIDEuNTE1NzMxODExNTIzNDM3NV0sIFsxNjYzODEyODA0LjI1MzQ3NDUsIDU4OTUsIDEuNDIxOTY4MTAyNDU1MTM5Ml0sIFsxNjYzODEyODA0LjM0NDY2LCA1OTA0LCAxLjE2Nzk1ODg1NTYyODk2NzNdLCBbMTY2MzgxMjgwNC42NDY0NTU1LCA1OTMxLCAxLjQ2OTA3NjAzNzQwNjkyMTRdLCBbMTY2MzgxMjgwNC43NDk1MTgsIDU5NDAsIDEuNTAwMjMxMjY2MDIxNzI4NV0sIFsxNjYzODEyODA0Ljg0Njk5NCwgNTk0OSwgMS4zMzAyMzg0NjE0OTQ0NDU4XSwgWzE2NjM4MTI4MDQuOTM3ODc1LCA1OTU4LCAxLjM2NjMyNDc4MjM3MTUyMV0sIFsxNjYzODEyODA1LjQ2OTE5OTcsIDYwMTIsIDEuMjg3MDIxMzk4NTQ0MzExNV0sIFsxNjYzODEyODA1LjY1ODQyNzUsIDYwMzAsIDEuMzczMzQzMjI5MjkzODIzMl0sIFsxNjYzODEyODA1Ljc1MzI1MTMsIDYwMzksIDEuMzMxNDc0MDY1NzgwNjM5Nl0sIFsxNjYzODEyODA2LjAyMDU0MTQsIDYwNjYsIDEuMzE5MDQ0OTQ3NjI0MjA2NV0sIFsxNjYzODEyODA2LjIwNjk2NywgNjA4NCwgMS4xNjc1MjgxNTI0NjU4MjAzXSwgWzE2NjM4MTI4MDYuMzM1MDQ3NywgNjA5MywgMS4zMjQyMDc5MDE5NTQ2NTA5XSwgWzE2NjM4MTI4MDYuNDMzNTgyMywgNjEwMiwgMS40Nzg2ODYyMTM0OTMzNDcyXSwgWzE2NjM4MTI4MDYuNTI4MjEyMywgNjExMSwgMS4zODMyOTk5NDY3ODQ5NzMxXSwgWzE2NjM4MTI4MDYuNjE5NjQ5LCA2MTIwLCAxLjI4NjMxNjc1MjQzMzc3NjldLCBbMTY2MzgxMjgwNi43MjU3MTgsIDYxMjksIDEuNDk1MzE4MTc0MzYyMTgyNl0sIFsxNjYzODEyODA2LjkxMzM3ODUsIDYxNDcsIDEuMjM1OTI4NDE2MjUyMTM2Ml0sIFsxNjYzODEyODA3LjAwNzY1NzgsIDYxNTYsIDEuMjc3NTQ1OTI4OTU1MDc4MV0sIFsxNjYzODEyODA3LjA5OTA2MSwgNjE2NSwgMS40NTEzMTkwOTg0NzI1OTUyXSwgWzE2NjM4MTI4MDcuMTkxOTA0LCA2MTc0LCAxLjUzNTM1MjExMDg2MjczMl0sIFsxNjYzODEyODA3LjM3MDkyMjMsIDYxOTIsIDEuNDY4MTY4MjU4NjY2OTkyMl0sIFsxNjYzODEyODA3LjQ1ODk5NywgNjIwMSwgMS40NDkwMTY2OTAyNTQyMTE0XSwgWzE2NjM4MTI4MDcuNTQ4MjA5MiwgNjIxMCwgMS4zMDc4MDk5NDg5MjEyMDM2XSwgWzE2NjM4MTI4MDcuNjQwNjg5NiwgNjIxOSwgMS4zMDUzNzgzMTc4MzI5NDY4XSwgWzE2NjM4MTI4MDcuODMwMjY4OSwgNjIzNywgMS4xNDU3OTA4MTUzNTMzOTM2XSwgWzE2NjM4MTI4MDcuOTE4NjI1NiwgNjI0NiwgMS4zODE0MTU4NDM5NjM2MjNdLCBbMTY2MzgxMjgwOC4wMDM1OTAzLCA2MjU1LCAxLjM4NTUwMDQzMTA2MDc5MV0sIFsxNjYzODEyODA4LjA5NDc0NzUsIDYyNjQsIDEuNTM3NzQ0OTk4OTMxODg0OF0sIFsxNjYzODEyODA4LjE4NzQ1ODgsIDYyNzMsIDEuMjUzNjQ0NzA0ODE4NzI1Nl0sIFsxNjYzODEyODA4LjI4Mjc0NywgNjI4MiwgMS43NTI4ODIyNDIyMDI3NTg4XSwgWzE2NjM4MTI4MDguNDY4MjE4MywgNjMwMCwgMS41MTg1NzAwNjU0OTgzNTJdLCBbMTY2MzgxMjgwOC43NTU1MSwgNjMyNywgMS42NjcxMTQyNTc4MTI1XSwgWzE2NjM4MTI4MDguODUwNjAzNiwgNjMzNiwgMS4zNDUyODIzMTYyMDc4ODU3XSwgWzE2NjM4MTI4MDkuMDM2NjE4NywgNjM1NCwgMS4xNzMwMTg2OTM5MjM5NTAyXSwgWzE2NjM4MTI4MDkuNDI2MDg4MywgNjM5MCwgMS4yODcxNjgwMjU5NzA0NTldLCBbMTY2MzgxMjgwOS41MTQ4OTQyLCA2Mzk5LCAxLjM4Mjg4OTUwOTIwMTA0OThdLCBbMTY2MzgxMjgwOS43MDIwNjU3LCA2NDE3LCAxLjI0OTQyNjM2NDg5ODY4MTZdLCBbMTY2MzgxMjgwOS43OTc1OTA1LCA2NDI2LCAxLjM2MTIxOTc2Mzc1NTc5ODNdLCBbMTY2MzgxMjgwOS45OTQ2NDQyLCA2NDQ0LCAxLjIxODUzOTgzNDAyMjUyMl0sIFsxNjYzODEyODEwLjE4MTg4ODMsIDY0NjIsIDEuNDI4Njc5OTQzMDg0NzE2OF0sIFsxNjYzODEyODEwLjUzNjk1MjcsIDY0ODAsIDEuMzQzNTA1MjYzMzI4NTUyMl0sIFsxNjYzODEyODEwLjYyNjk3MzQsIDY0ODksIDEuNDE4MzY2Nzg5ODE3ODFdLCBbMTY2MzgxMjgxMC43MTI1MjEzLCA2NDk4LCAxLjIyNTIyNTY4NzAyNjk3NzVdLCBbMTY2MzgxMjgxMC44OTY3NzY3LCA2NTE2LCAxLjUyMDY0MzQ3MjY3MTUwODhdLCBbMTY2MzgxMjgxMC45OTI0OTA1LCA2NTI1LCAxLjI0MTQ2MDgwMDE3MDg5ODRdLCBbMTY2MzgxMjgxMS4wODUzNDIyLCA2NTM0LCAxLjY3MTA2NDczNDQ1ODkyMzNdLCBbMTY2MzgxMjgxMS4xNzUxNzU3LCA2NTQzLCAxLjU2OTQ0NTI1MjQxODUxOF0sIFsxNjYzODEyODExLjI2NzA0NjUsIDY1NTIsIDEuMzI2OTc5NTE3OTM2NzA2NV0sIFsxNjYzODEyODExLjM1NjkyNCwgNjU2MSwgMS41OTY0NTM1NDc0Nzc3MjIyXSwgWzE2NjM4MTI4MTEuNDQ3OTAzLCA2NTcwLCAxLjE2MjU2NDYzNTI3Njc5NDRdLCBbMTY2MzgxMjgxMS41MzkxNDQ1LCA2NTc5LCAxLjIyMjQxNjg3Nzc0NjU4Ml0sIFsxNjYzODEyODExLjYzNTM2MzMsIDY1ODgsIDEuMTkyMTQ3OTcwMTk5NTg1XSwgWzE2NjM4MTI4MTEuNzMyMDUsIDY1OTcsIDEuMjgxMTcwNDg3NDAzODY5Nl0sIFsxNjYzODEyODExLjgyNTk3NDcsIDY2MDYsIDEuMTM5OTkzMTkwNzY1MzgwOV0sIFsxNjYzODEyODEyLjAxMTUxNDcsIDY2MjQsIDEuMzY4MDgzNDc3MDIwMjYzN10sIFsxNjYzODEyODEyLjI4NTM5LCA2NjUxLCAxLjU5MDU1MzE2NDQ4MjExNjddLCBbMTY2MzgxMjgxMi4zNzM0MTgsIDY2NjAsIDEuMjI2NjAzNTA3OTk1NjA1NV0sIFsxNjYzODEyODEyLjQ1OTIxODUsIDY2NjksIDEuMzcxNzg3Nzg2NDgzNzY0Nl0sIFsxNjYzODEyODEyLjY1MDI1MjMsIDY2ODcsIDEuNDYyNjk0MDQ4ODgxNTMwOF0sIFsxNjYzODEyODEyLjc0MTYxMzYsIDY2OTYsIDEuNjQwNjY1MjkyNzM5ODY4Ml0sIFsxNjYzODEyODEyLjgzMjA1MzcsIDY3MDUsIDEuMjU2OTUwMzc4NDE3OTY4OF0sIFsxNjYzODEyODEyLjkyMzk2NywgNjcxNCwgMS40MDYyNDE4OTM3NjgzMTA1XSwgWzE2NjM4MTI4MTMuMDE3NTUyOSwgNjcyMywgMS4yMTU3OTYxMTMwMTQyMjEyXSwgWzE2NjM4MTI4MTMuNDU0ODQyLCA2NzY4LCAxLjM3MDAwNDA1Nzg4NDIxNjNdLCBbMTY2MzgxMjgxMy41NTI3Mjk4LCA2Nzc3LCAxLjUyNjI3OTIxMTA0NDMxMTVdLCBbMTY2MzgxMjgxMy44Mjc1Mzk0LCA2ODA0LCAxLjE5MjA5NTA0MTI3NTAyNDRdLCBbMTY2MzgxMjgxMy45MTcxNTg4LCA2ODEzLCAxLjQ0MzE5MzQzNTY2ODk0NTNdLCBbMTY2MzgxMjgxNC4xMzMzMTUzLCA2ODMxLCAxLjM1OTEwMTQxNDY4MDQ4MV0sIFsxNjYzODEyODE0LjIyNDk4NDYsIDY4NDAsIDEuMjAzNTMzODg3ODYzMTU5Ml0sIFsxNjYzODEyODE0LjU5MzE0MzUsIDY4NzYsIDEuMjQ3ODk3Mzg2NTUwOTAzM10sIFsxNjYzODEyODE0LjY4NDA4MjcsIDY4ODUsIDEuNTI5MjM0ODg2MTY5NDMzNl0sIFsxNjYzODEyODE0Ljc3ODE3NTgsIDY4OTQsIDEuMzQzODY3MTgyNzMxNjI4NF0sIFsxNjYzODEyODE0Ljk1NzgwMSwgNjkxMiwgMS41MDEyNTkzMjY5MzQ4MTQ1XSwgWzE2NjM4MTI4MTUuMDU0ODc1MSwgNjkyMSwgMS4yMjEwMTgzMTQzNjE1NzIzXSwgWzE2NjM4MTI4MTUuMTYwNzMwOCwgNjkzMCwgMS4yNzkwNDY4OTMxMTk4MTJdLCBbMTY2MzgxMjgxNS4yNTQ4NjUsIDY5MzksIDEuMzExNDEwNDI3MDkzNTA1OV0sIFsxNjYzODEyODE1LjM0NTY3NSwgNjk0OCwgMS4zODg5MTQxMDgyNzYzNjcyXSwgWzE2NjM4MTI4MTUuNDQwMTgyNywgNjk1NywgMS4xODgyODQwMzk0OTczNzU1XSwgWzE2NjM4MTI4MTUuNTI4NzExLCA2OTY2LCAxLjQxOTk4NzU1OTMxODU0MjVdLCBbMTY2MzgxMjgxNS43MTcwODEsIDY5ODQsIDEuMzU4NzM4NjYwODEyMzc4XSwgWzE2NjM4MTI4MTUuODA3MDYzLCA2OTkzLCAxLjQ4MjAyODYwMzU1Mzc3Ml0sIFsxNjYzODEyODE1Ljg5NTU0OTgsIDcwMDIsIDEuNTQxMDQ1NDI3MzIyMzg3N10sIFsxNjYzODEyODE1Ljk4NzIxMzYsIDcwMTEsIDEuNDg2MzA2MDcxMjgxNDMzXSwgWzE2NjM4MTI4MTYuMDc3MTQyMiwgNzAyMCwgMS41NTY2MTIzNzIzOTgzNzY1XSwgWzE2NjM4MTI4MTYuMTc3NDAxOCwgNzAyOSwgMS4zOTQxMjE2NDY4ODExMDM1XSwgWzE2NjM4MTI4MTYuMjczOTUsIDcwMzgsIDEuMzU5NDYwODMwNjg4NDc2Nl0sIFsxNjYzODEyODE2LjM2MzU2OTUsIDcwNDcsIDEuMjE1OTY3NDE2NzYzMzA1N10sIFsxNjYzODEyODE2LjQ1NDU0NywgNzA1NiwgMS4yNDYxOTEyNjMxOTg4NTI1XSwgWzE2NjM4MTI4MTYuNzMzOTIzNywgNzA4MywgMS40NTczMjg5MTU1OTYwMDgzXSwgWzE2NjM4MTI4MTYuOTE2MDc1MiwgNzEwMSwgMS40MzMwNDgzNjc1MDAzMDUyXSwgWzE2NjM4MTI4MTcuMDA4NzAwOCwgNzExMCwgMS4zOTMxODU4NTM5NTgxMjk5XSwgWzE2NjM4MTI4MTcuMTk2NDY3NiwgNzEyOCwgMS4yODE1Mjg0NzI5MDAzOTA2XSwgWzE2NjM4MTI4MTcuMzkxMjQwNiwgNzE0NiwgMS40MTA1MzUyMTYzMzE0ODJdLCBbMTY2MzgxMjgxNy40OTE0NDg2LCA3MTU1LCAxLjI4MzAxOTA2NTg1NjkzMzZdLCBbMTY2MzgxMjgxNy41ODU4NjcyLCA3MTY0LCAxLjE4ODMyMzQ5Nzc3MjIxNjhdLCBbMTY2MzgxMjgxNy42NzgwMzYsIDcxNzMsIDEuMDkyMjk4ODY1MzE4Mjk4M10sIFsxNjYzODEyODE3LjgwMDY5MywgNzE4MiwgMS41MzM0MzU5NDA3NDI0OTI3XSwgWzE2NjM4MTI4MTcuOTgzNTczNywgNzIwMCwgMS4zMjcwNDI2OTg4NjAxNjg1XSwgWzE2NjM4MTI4MTguMDc2NDk0NywgNzIwOSwgMS43OTM5NzY1NDUzMzM4NjIzXSwgWzE2NjM4MTI4MTguNDQ5MjEzNSwgNzI0NSwgMS4yMzgxNjY5MjgyOTEzMjA4XSwgWzE2NjM4MTI4MTguNTQxNDMsIDcyNTQsIDEuMzAzNjkxMzg3MTc2NTEzN10sIFsxNjYzODEyODE4LjYzMzcwODUsIDcyNjMsIDEuNjEwMjcyODg0MzY4ODk2NV0sIFsxNjYzODEyODE4LjcyNzQxODIsIDcyNzIsIDEuMzUzMTM1MzQ3MzY2MzMzXSwgWzE2NjM4MTI4MTkuMDE4ODc0LCA3MjgxLCAxLjMzNTExODA1NTM0MzYyOF0sIFsxNjYzODEyODE5LjI4OTg2NiwgNzI5OSwgMS4yMDMwMTUwODkwMzUwMzQyXSwgWzE2NjM4MTI4MTkuMzk0NDYzMywgNzMwOCwgMS41MTYwMjI2ODIxODk5NDE0XSwgWzE2NjM4MTI4MTkuNTc1ODc4NCwgNzMyNiwgMS4yNTAyMTg2Mjk4MzcwMzYxXSwgWzE2NjM4MTI4MTkuNjY3MjIwNiwgNzMzNSwgMS4yNjM0MzY1NTU4NjI0MjY4XSwgWzE2NjM4MTI4MTkuOTQ2MTIxLCA3MzYyLCAxLjI1NDI5MDgxOTE2ODA5MDhdLCBbMTY2MzgxMjgyMC4wMzc5NDQzLCA3MzcxLCAxLjU1MjMzMzIzNTc0MDY2MTZdLCBbMTY2MzgxMjgyMC4xMjQ2NzEyLCA3MzgwLCAxLjI4NjIyMzUzMDc2OTM0ODFdLCBbMTY2MzgxMjgyMC4yMTA2NzIsIDczODksIDEuMzM0NjUyNzgxNDg2NTExMl0sIFsxNjYzODEyODIwLjMwMDg2MDQsIDczOTgsIDEuMTYwNTM5NTA3ODY1OTA1OF0sIFsxNjYzODEyODIwLjM5NDk4MywgNzQwNywgMS4zNTI5NTE4ODQyNjk3MTQ0XSwgWzE2NjM4MTI4MjAuNDk3ODczMywgNzQxNiwgMS4wODQ1Njk5MzEwMzAyNzM0XSwgWzE2NjM4MTI4MjAuNjA5NjkyNiwgNzQyNSwgMS4yMjYzNTkwMDk3NDI3MzY4XSwgWzE2NjM4MTI4MjAuNzA1MzcyLCA3NDM0LCAxLjIyMDc3NDY1MDU3MzczMDVdLCBbMTY2MzgxMjgyMC43OTcxNDA4LCA3NDQzLCAxLjE5MzUwMTIzNDA1NDU2NTRdLCBbMTY2MzgxMjgyMC44ODY4MjQ2LCA3NDUyLCAxLjMzNzQ5NTkyMzA0MjI5NzRdLCBbMTY2MzgxMjgyMC45Nzc4OTkzLCA3NDYxLCAxLjQwNDc5MjQyODAxNjY2MjZdLCBbMTY2MzgxMjgyMS4xNTc4MjksIDc0NzksIDEuNjUzOTU3OTYyOTg5ODA3MV0sIFsxNjYzODEyODIxLjM0ODA3OCwgNzQ5NywgMS41MDQ0MTYzNDY1NDk5ODc4XSwgWzE2NjM4MTI4MjEuNDM3MzM3NCwgNzUwNiwgMS4yMzMxMjAyMDMwMTgxODg1XSwgWzE2NjM4MTI4MjEuNjI5MTgzLCA3NTI0LCAxLjM5MTM3NjAxODUyNDE3XSwgWzE2NjM4MTI4MjEuNzIyNTY0NywgNzUzMywgMS4wNzI4NzI5OTYzMzAyNjEyXSwgWzE2NjM4MTI4MjEuODQ2NjkyNiwgNzU0MiwgMS40NjczOTM4NzUxMjIwNzAzXSwgWzE2NjM4MTI4MjIuMDU5OTIzMiwgNzU2MCwgMS4zMTk3MDgzNDczMjA1NTY2XSwgWzE2NjM4MTI4MjIuMTczMjQyOCwgNzU2OSwgMS4xNjM4NTE0OTk1NTc0OTUxXSwgWzE2NjM4MTI4MjIuMzU5Mzc3LCA3NTg3LCAxLjI2NjkzOTY0MDA0NTE2Nl0sIFsxNjYzODEyODIyLjQ1MTQ3MDEsIDc1OTYsIDEuNDE5ODgwMDMyNTM5MzY3N10sIFsxNjYzODEyODIyLjY0NDA0ODUsIDc2MTQsIDEuMjIzMjkzNzgxMjgwNTE3Nl0sIFsxNjYzODEyODIyLjg5NTk5NzUsIDc2MzIsIDEuNTUxODA4ODM0MDc1OTI3N10sIFsxNjYzODEyODIzLjE5NzY2LCA3NjU5LCAxLjMxMDMyODQ4MzU4MTU0M10sIFsxNjYzODEyODIzLjI5MzYwNDEsIDc2NjgsIDEuMTY2ODA0NTUyMDc4MjQ3XSwgWzE2NjM4MTI4MjMuNTkxOTcxLCA3Njk1LCAxLjMwNjQzMjg0MzIwODMxM10sIFsxNjYzODEyODIzLjc5ODMzNiwgNzcxMywgMS41NzMyMjY2OTAyOTIzNTg0XSwgWzE2NjM4MTI4MjMuOTA0ODM1MiwgNzcyMiwgMS4yOTE3NjM3ODI1MDEyMjA3XSwgWzE2NjM4MTI4MjQuMDM0ODI5NCwgNzczMSwgMS4zMTQ2OTMyMTI1MDkxNTUzXSwgWzE2NjM4MTI4MjQuMjIwMDkwMiwgNzc0OSwgMS4yMTI5NjY3OTk3MzYwMjNdLCBbMTY2MzgxMjgyNC4zMTEwNzY5LCA3NzU4LCAxLjQ5MjY5ODY2OTQzMzU5MzhdLCBbMTY2MzgxMjgyNC40MDI0NjE4LCA3NzY3LCAxLjUyNjQ3ODUyODk3NjQ0MDRdLCBbMTY2MzgxMjgyNC42OTk1NzgsIDc3OTQsIDEuODc5ODg0NjAwNjM5MzQzM10sIFsxNjYzODEyODI0Ljc5ODk4OCwgNzgwMywgMS40MjkzNjE4MjAyMjA5NDczXSwgWzE2NjM4MTI4MjQuOTgyODM5OCwgNzgyMSwgMS40MDEzNjI3NzY3NTYyODY2XSwgWzE2NjM4MTI4MjUuMTY2MDAyMywgNzgzOSwgMS41NTA4MjEzMDQzMjEyODldLCBbMTY2MzgxMjgyNS4yNjM5MzY4LCA3ODQ4LCAxLjI0NTk1NjY1OTMxNzAxNjZdLCBbMTY2MzgxMjgyNS41NDAzMywgNzg3NSwgMS4zNjE4MTYwNDg2MjIxMzEzXSwgWzE2NjM4MTI4MjUuNzI5NzY2LCA3ODkzLCAxLjM3ODA3NDc2NTIwNTM4MzNdLCBbMTY2MzgxMjgyNS44MzM3OTA4LCA3OTAyLCAxLjQwMTgwNTg3NzY4NTU0NjldLCBbMTY2MzgxMjgyNS45MjgxNDY2LCA3OTExLCAxLjUwMDY3MTM4NjcxODc1XSwgWzE2NjM4MTI4MjYuMTUzNTE2NSwgNzkyOSwgMS40Mjk5MjQ5NjQ5MDQ3ODUyXSwgWzE2NjM4MTI4MjYuMjQ2MTgwNSwgNzkzOCwgMS4zMjQzNzUwMzMzNzg2MDFdLCBbMTY2MzgxMjgyNi4zMzc4NTUzLCA3OTQ3LCAxLjI4NTU1MzMzNjE0MzQ5MzddLCBbMTY2MzgxMjgyNi40MjgzNzM2LCA3OTU2LCAxLjQ1MTIzODUxMjk5Mjg1ODldLCBbMTY2MzgxMjgyNi41MjA1MzgsIDc5NjUsIDEuMjQxNDcwMjE3NzA0NzczXSwgWzE2NjM4MTI4MjYuNjE4MzMxMiwgNzk3NCwgMS4xOTgxNjk0Njk4MzMzNzRdLCBbMTY2MzgxMjgyNi43MDg0MDA1LCA3OTgzLCAxLjMzNDU5NDAxMTMwNjc2MjddLCBbMTY2MzgxMjgyNi44MDkwNDk2LCA3OTkyLCAxLjMxNjM1NDYzMjM3NzYyNDVdLCBbMTY2MzgxMjgyNi45MDY1MTIsIDgwMDEsIDEuMjMzMDI5MjQ2MzMwMjYxMl0sIFsxNjYzODEyODI2Ljk5NzIyMiwgODAxMCwgMS4yODU5Njc0NjkyMTUzOTNdLCBbMTY2MzgxMjgyNy4wODg0NDExLCA4MDE5LCAxLjIwMjA3MjI2Mjc2Mzk3N10sIFsxNjYzODEyODI3LjI2ODI0MTYsIDgwMzcsIDEuMjQ0MjMyODkyOTkwMTEyM10sIFsxNjYzODEyODI3LjM1Nzk1OTUsIDgwNDYsIDEuMzA2MjcxMzE0NjIwOTcxN10sIFsxNjYzODEyODI3LjUzNTg1NTUsIDgwNjQsIDEuMzY2NjkyNzgxNDQ4MzY0M10sIFsxNjYzODEyODI3Ljg4NTM0MTIsIDgwODIsIDEuMzg5MjgzMTgwMjM2ODE2NF0sIFsxNjYzODEyODI3Ljk3MTA1LCA4MDkxLCAxLjQzMjMwNjA1MTI1NDI3MjVdLCBbMTY2MzgxMjgyOC4yMzkzMzE1LCA4MTE4LCAxLjIzMjI0MjgyMjY0NzA5NDddLCBbMTY2MzgxMjgyOC4zMjY0MTg2LCA4MTI3LCAxLjMzMjk2MDEyODc4NDE3OTddLCBbMTY2MzgxMjgyOC41MDg4OTgzLCA4MTQ1LCAxLjUzMTIwNjcyNzAyNzg5M10sIFsxNjYzODEyODI4LjU5OTMwMTYsIDgxNTQsIDEuMjc1NzYwNjUwNjM0NzY1Nl0sIFsxNjYzODEyODI4LjcwMzczMjMsIDgxNjMsIDEuMTYxNDI1MjMyODg3MjY4XSwgWzE2NjM4MTI4MjguNzk4MzY0MiwgODE3MiwgMS4yNzQ1NDIwOTMyNzY5Nzc1XSwgWzE2NjM4MTI4MjguODkwOTk4NiwgODE4MSwgMS4xMzIzNTAyMDYzNzUxMjJdLCBbMTY2MzgxMjgyOS4xMDg0NDEsIDgxOTksIDEuMDg2MzQ4ODkxMjU4MjM5N10sIFsxNjYzODEyODI5LjIwMTQ4NTIsIDgyMDgsIDEuMzIyNzM4NTI4MjUxNjQ4XSwgWzE2NjM4MTI4MjkuMzg3NzcxOCwgODIyNiwgMS41MDUzMzIxMTIzMTIzMTddLCBbMTY2MzgxMjgyOS40Nzc1OTU4LCA4MjM1LCAxLjM4ODM3NzU0NzI2NDA5OTFdLCBbMTY2MzgxMjgyOS42OTU3NjEsIDgyNTMsIDEuMTQ2MzgyMDkzNDI5NTY1NF0sIFsxNjYzODEyODI5Ljc4OTc4OSwgODI2MiwgMS4yNDc0NjY0NDQ5NjkxNzcyXSwgWzE2NjM4MTI4MjkuODg3NTI1MywgODI3MSwgMS4yOTEyNzM0NzQ2OTMyOTgzXSwgWzE2NjM4MTI4MjkuOTkxNjE4NiwgODI4MCwgMS4zMzk2NTgzNzk1NTQ3NDg1XSwgWzE2NjM4MTI4MzAuMTAzMDUyNCwgODI4OSwgMS4zMTQ2MTQ1MzQzNzgwNTE4XSwgWzE2NjM4MTI4MzAuMjA3NDQwOSwgODI5OCwgMS40NTA0ODQyNzU4MTc4NzFdLCBbMTY2MzgxMjgzMC4zMTE3MTY2LCA4MzA3LCAxLjIzMzcyNTQyODU4MTIzNzhdLCBbMTY2MzgxMjgzMC40MjE5OTY4LCA4MzE2LCAxLjQwMTY0NTU0MTE5MTEwMV0sIFsxNjYzODEyODMwLjgyNzY4MTMsIDgzNTIsIDEuMTI4NTczNDE3NjYzNTc0Ml0sIFsxNjYzODEyODMwLjkyNDc3OTIsIDgzNjEsIDEuMjI2OTkyODQ1NTM1Mjc4M10sIFsxNjYzODEyODMxLjAzMTQxNDMsIDgzNzAsIDEuODQxNjU4ODMwNjQyNzAwMl0sIFsxNjYzODEyODMxLjEyNTM5NjMsIDgzNzksIDEuMjI2MDY4MjU4Mjg1NTIyNV0sIFsxNjYzODEyODMxLjIyMjk2MjQsIDgzODgsIDEuNDU2MTU2MTM0NjA1NDA3N10sIFsxNjYzODEyODMxLjMxNzAyODMsIDgzOTcsIDEuMTk1NzYyNjM0Mjc3MzQzOF0sIFsxNjYzODEyODMxLjQxMjIzMjQsIDg0MDYsIDEuMzA5NTY1OTAxNzU2Mjg2Nl0sIFsxNjYzODEyODMxLjUwNzExMjcsIDg0MTUsIDEuMTcxNjE4MzQyMzk5NTk3Ml0sIFsxNjYzODEyODMxLjYxMzExMzksIDg0MjQsIDEuMTU4Nzg2NDE2MDUzNzcyXSwgWzE2NjM4MTI4MzIuMDMwMzE2NiwgODQ2MCwgMS40ODc4MDg1ODUxNjY5MzEyXSwgWzE2NjM4MTI4MzIuMTM1NjA3LCA4NDY5LCAxLjI4MTU5MDU4MDk0MDI0NjZdLCBbMTY2MzgxMjgzMi4yMzM1NzksIDg0NzgsIDEuMDc2MDA4NTU4MjczMzE1NF0sIFsxNjYzODEyODMyLjMyNTAzMTUsIDg0ODcsIDEuMzA1OTMzMzU2Mjg1MDk1Ml0sIFsxNjYzODEyODMyLjYwODU2MjIsIDg1MTQsIDEuMjc0ODI5MjY4NDU1NTA1NF0sIFsxNjYzODEyODMyLjcxMDU0MywgODUyMywgMS43MTQ2NDYzMzk0MTY1MDRdLCBbMTY2MzgxMjgzMi44MDU5MjA4LCA4NTMyLCAxLjg0NTExOTcxNDczNjkzODVdLCBbMTY2MzgxMjgzMi45ODkwODI4LCA4NTUwLCAxLjU0NzYwMjQxNTA4NDgzODldLCBbMTY2MzgxMjgzMy4wODA5NzEyLCA4NTU5LCAxLjcyNzc4NDM5NTIxNzg5NTVdLCBbMTY2MzgxMjgzMy4yNzI2NDQzLCA4NTc3LCAxLjE2NjU5NDI2Njg5MTQ3OTVdLCBbMTY2MzgxMjgzMy40NTc1MTU3LCA4NTk1LCAxLjYwODIyODMyNTg0MzgxMV0sIFsxNjYzODEyODMzLjU1NDExMSwgODYwNCwgMS42MjYwNDg1NjQ5MTA4ODg3XSwgWzE2NjM4MTI4MzMuNjQ3MTYwNSwgODYxMywgMS4wOTQxMzI5MDAyMzgwMzddLCBbMTY2MzgxMjgzMy45MDE0NzA0LCA4NjQwLCAxLjYyNDI2NzgxNjU0MzU3OV0sIFsxNjYzODEyODMzLjk4NzYwOTksIDg2NDksIDEuMjM0MDgyNDYwNDAzNDQyNF0sIFsxNjYzODEyODM0LjA3Nzk1OTUsIDg2NTgsIDEuMTM0Nzg2ODQ0MjUzNTRdLCBbMTY2MzgxMjgzNC4xNzg2NTE4LCA4NjY3LCAxLjYxMzc0NDYxNjUwODQ4MzldLCBbMTY2MzgxMjgzNC4yODE1MjEsIDg2NzYsIDEuMzI0MTA0OTA1MTI4NDc5XSwgWzE2NjM4MTI4MzQuMzcxNjg1LCA4Njg1LCAxLjI0NzM2MTU0MDc5NDM3MjZdLCBbMTY2MzgxMjgzNC40NjMxNjg2LCA4Njk0LCAxLjE5ODY2NjA5NTczMzY0MjZdLCBbMTY2MzgxMjgzNC42NTU1Mjk3LCA4NzEyLCAxLjczODU2ODc4MjgwNjM5NjVdLCBbMTY2MzgxMjgzNC43NDI0ODQ4LCA4NzIxLCAxLjMwMzY0NzA0MTMyMDgwMDhdLCBbMTY2MzgxMjgzNS4wMTgzOTkyLCA4NzQ4LCAxLjU2NDYzMzYwNzg2NDM3OTldLCBbMTY2MzgxMjgzNS4xMTE2OTQ2LCA4NzU3LCAxLjM5NzcxODkwNjQwMjU4OF0sIFsxNjYzODEyODM1LjQ4MTE3NjEsIDg3OTMsIDEuMjc3MjUwMDUxNDk4NDEzXSwgWzE2NjM4MTI4MzUuNjYzNzI4NSwgODgxMSwgMS4zNjIxMjMwMTI1NDI3MjQ2XSwgWzE2NjM4MTI4MzUuNzU1OTEwOSwgODgyMCwgMS4xODYzOTAwNDIzMDQ5OTI3XSwgWzE2NjM4MTI4MzUuODQ1MTI5NywgODgyOSwgMS40MjQ3NTcyNDIyMDI3NTg4XSwgWzE2NjM4MTI4MzUuOTM3NjMzOCwgODgzOCwgMS4yODEwMDEwOTEwMDM0MThdLCBbMTY2MzgxMjgzNi4wMzI5NzA3LCA4ODQ3LCAxLjQ5NTc4MzA5MDU5MTQzMDddLCBbMTY2MzgxMjgzNi4xMjExMDksIDg4NTYsIDEuMTI0NDM2ODU1MzE2MTYyXSwgWzE2NjM4MTI4MzYuNTU1NDA1OSwgODg4MywgMS4yOTU2NzM2MDg3Nzk5MDcyXSwgWzE2NjM4MTI4MzYuNjQ4ODQ3LCA4ODkyLCAxLjE4OTM0NjA3NTA1Nzk4MzRdLCBbMTY2MzgxMjgzNi43NTA2Njg1LCA4OTAxLCAxLjU2NjcyOTMwNzE3NDY4MjZdLCBbMTY2MzgxMjgzNi44MzkwNTA1LCA4OTEwLCAxLjQwOTMwNzk1NjY5NTU1NjZdLCBbMTY2MzgxMjgzNi45Mjc0NDczLCA4OTE5LCAxLjQ3Nzk5OTkyNTYxMzQwMzNdLCBbMTY2MzgxMjgzNy4xMTU3NjI3LCA4OTM3LCAxLjUwNTQzMjM2NzMyNDgyOV0sIFsxNjYzODEyODM3LjI5ODU5MzgsIDg5NTUsIDEuMTM0NDg0NTI5NDk1MjM5M10sIFsxNjYzODEyODM3LjQwNDAwODYsIDg5NjQsIDEuOTE1MTIzMTA1MDQ5MTMzM10sIFsxNjYzODEyODM3LjQ5NjQxMjgsIDg5NzMsIDEuMjU5Njk3OTE0MTIzNTM1Ml0sIFsxNjYzODEyODM3LjY4MzY1LCA4OTkxLCAxLjM4NjcyMjQ0NTQ4Nzk3Nl0sIFsxNjYzODEyODM3Ljc3ODg0OTYsIDkwMDAsIDEuMzMzMDkzMjg1NTYwNjA4XSwgWzE2NjM4MTI4MzcuODY4MDIxMiwgOTAwOSwgMS4zMzQ3NjYxNDk1MjA4NzRdLCBbMTY2MzgxMjgzNy45NTQ4NTU3LCA5MDE4LCAxLjE3MzU0NzM4NzEyMzEwOF0sIFsxNjYzODEyODM4LjA0OTg4LCA5MDI3LCAxLjQ3ODA0NzYwOTMyOTIyMzZdLCBbMTY2MzgxMjgzOC4xNDA1NjA5LCA5MDM2LCAxLjE2MDgzNDQzMTY0ODI1NDRdLCBbMTY2MzgxMjgzOC4yMzI0ODYyLCA5MDQ1LCAxLjE4MzY4Njk3MTY2NDQyODddLCBbMTY2MzgxMjgzOC4zMjI5MDg0LCA5MDU0LCAxLjQxMjQxOTE5OTk0MzU0MjVdLCBbMTY2MzgxMjgzOC40MTAxMDksIDkwNjMsIDEuMzgxMjgzODc5MjgwMDkwM10sIFsxNjYzODEyODM4LjUxNTI0MzMsIDkwNzIsIDEuNDMyMjExOTk1MTI0ODE3XSwgWzE2NjM4MTI4MzguODc5NDU1MywgOTEwOCwgMS4yNTc4MTk3NzE3NjY2NjI2XSwgWzE2NjM4MTI4MzkuMDY0NDE2LCA5MTI2LCAxLjI4NTMwMzIzNTA1NDAxNjFdLCBbMTY2MzgxMjgzOS4xNTc1NTY1LCA5MTM1LCAxLjM3OTA1NDY2NTU2NTQ5MDddLCBbMTY2MzgxMjgzOS4yNDYzMTI5LCA5MTQ0LCAxLjI2MzU0NzUzOTcxMDk5ODVdLCBbMTY2MzgxMjgzOS4zMzg1MTcyLCA5MTUzLCAxLjMxMzczOTY1NzQwMjAzODZdLCBbMTY2MzgxMjgzOS40Mjc2NjM2LCA5MTYyLCAxLjI2OTMwNDI3NTUxMjY5NTNdLCBbMTY2MzgxMjgzOS43MjA3MDQzLCA5MTg5LCAxLjM1MzA1OTY0OTQ2NzQ2ODNdLCBbMTY2MzgxMjgzOS45MDU2MzI3LCA5MjA3LCAxLjIzNTM5MDMwNTUxOTEwNF0sIFsxNjYzODEyODQwLjI2NTczNDIsIDkyNDMsIDEuMzgzMzg1NjU4MjY0MTYwMl0sIFsxNjYzODEyODQwLjQ1NDM4NDgsIDkyNjEsIDEuMzAwNzM3NTAwMTkwNzM0OV0sIFsxNjYzODEyODQwLjU2MzIzNiwgOTI3MCwgMS4yMDM5MTAxMTIzODA5ODE0XSwgWzE2NjM4MTI4NDAuNzU4MzI5MiwgOTI4OCwgMS4yMjc1MTk4Njk4MDQzODIzXSwgWzE2NjM4MTI4NDEuMTc3MTg2LCA5MzI0LCAxLjE2MzQ3MDYyNTg3NzM4MDRdLCBbMTY2MzgxMjg0MS4yNzU5NDk3LCA5MzMzLCAxLjYwMDg5ODUwNDI1NzIwMjFdLCBbMTY2MzgxMjg0MS4zNzk2MjYsIDkzNDIsIDEuMzMyNzc2OTA0MTA2MTQwMV0sIFsxNjYzODEyODQxLjQ3ODY2NDQsIDkzNTEsIDEuNTk5NjUzMTI0ODA5MjY1MV0sIFsxNjYzODEyODQxLjU4MTMxNCwgOTM2MCwgMS40MDUzMDA5NzQ4NDU4ODYyXSwgWzE2NjM4MTI4NDEuOTY1OTE2OSwgOTM5NiwgMS4zMzMzNDk4MjM5NTE3MjEyXSwgWzE2NjM4MTI4NDIuMTU1NjY1NCwgOTQxNCwgMS4zNjA3MjU0MDI4MzIwMzEyXSwgWzE2NjM4MTI4NDIuMjQ3Nzc0MSwgOTQyMywgMS4wMzc4OTkzNzQ5NjE4NTNdLCBbMTY2MzgxMjg0Mi40MzA2NjgsIDk0NDEsIDEuMTM2MDQ2NTI4ODE2MjIzMV0sIFsxNjYzODEyODQyLjUxOTE2NTgsIDk0NTAsIDEuMTIyMzEzMTQxODIyODE1XSwgWzE2NjM4MTI4NDIuODE1MDY5NCwgOTQ3NywgMS4xNzc0NDA0MDQ4OTE5Njc4XSwgWzE2NjM4MTI4NDIuOTA2MDY2LCA5NDg2LCAxLjQ1NjgzODEzMDk1MDkyNzddLCBbMTY2MzgxMjg0Mi45OTc3MTk1LCA5NDk1LCAxLjU0MDIxNjIwNzUwNDI3MjVdLCBbMTY2MzgxMjg0My4xOTY2MzgzLCA5NTEzLCAxLjM1MjAxNTczMzcxODg3Ml0sIFsxNjYzODEyODQzLjM4ODA4ODUsIDk1MzEsIDEuMTY0OTQ1NjAyNDE2OTkyMl0sIFsxNjYzODEyODQzLjQ3NTA3NDMsIDk1NDAsIDEuMzAyMjA5Mzc3Mjg4ODE4NF0sIFsxNjYzODEyODQzLjU2NDUxOTIsIDk1NDksIDEuNDE2NTEyNjA4NTI4MTM3Ml0sIFsxNjYzODEyODQzLjc1Nzc4MTcsIDk1NjcsIDEuMTg3NDAyNzI1MjE5NzI2Nl0sIFsxNjYzODEyODQzLjg0OTM1MzgsIDk1NzYsIDEuNzIxMTMzODI4MTYzMTQ3XSwgWzE2NjM4MTI4NDQuMDM2MzI1LCA5NTk0LCAxLjE1MzkwMzQ4NDM0NDQ4MjRdLCBbMTY2MzgxMjg0NC4xMzA4NjE1LCA5NjAzLCAxLjA2MjE4NTY0NTEwMzQ1NDZdLCBbMTY2MzgxMjg0NC4yMjM2NzMzLCA5NjEyLCAxLjE2NjM4ODUxMTY1NzcxNDhdLCBbMTY2MzgxMjg0NC40NDc4MSwgOTYzMCwgMS4zMDEwNzYwNTQ1NzMwNTldLCBbMTY2MzgxMjg0NC41NDQ1Nzc2LCA5NjM5LCAxLjE1NDc4MTM0MTU1MjczNDRdLCBbMTY2MzgxMjg0NC42Mzk5OCwgOTY0OCwgMS40MDI4ODIzMzc1NzAxOTA0XSwgWzE2NjM4MTI4NDQuNzM3NDY4MiwgOTY1NywgMS4xMzkxMTY2NDQ4NTkzMTRdLCBbMTY2MzgxMjg0NC44MzE2OTk2LCA5NjY2LCAxLjQ3NTkxNzgxNjE2MjEwOTRdLCBbMTY2MzgxMjg0NS4wODQzNDg0LCA5Njc1LCAxLjM4NzU0NjA2MjQ2OTQ4MjRdLCBbMTY2MzgxMjg0NS4zNDgwNjEzLCA5NzAyLCAxLjI4NTAxMTUyOTkyMjQ4NTRdLCBbMTY2MzgxMjg0NS40MzUzMzY2LCA5NzExLCAxLjQ1ODM4ODIwOTM0Mjk1NjVdLCBbMTY2MzgxMjg0NS42MTM1OTY3LCA5NzI5LCAxLjM3OTQ2MTA1MDAzMzU2OTNdLCBbMTY2MzgxMjg0NS43MTQxOTMsIDk3MzgsIDEuMTU3NTg5NDM1NTc3MzkyNl0sIFsxNjYzODEyODQ1LjgxMjQ4NCwgOTc0NywgMS4wNzkzMjk5Njc0OTg3NzkzXSwgWzE2NjM4MTI4NDUuOTEyMDE3OCwgOTc1NiwgMS41NzYxNDc1NTYzMDQ5MzE2XSwgWzE2NjM4MTI4NDYuMDk2NjQ3NSwgOTc3NCwgMS4yNzQ2MjM1MTMyMjE3NDA3XSwgWzE2NjM4MTI4NDYuMTg4Nzk0MSwgOTc4MywgMS4xNTEyNTE1NTQ0ODkxMzU3XSwgWzE2NjM4MTI4NDYuMjgyNTE2NSwgOTc5MiwgMS4xNzE3NjQ3MzE0MDcxNjU1XSwgWzE2NjM4MTI4NDYuMzcyOTM1OCwgOTgwMSwgMS4xOTcwNjEwNjE4NTkxMzA5XSwgWzE2NjM4MTI4NDYuNjQ3MDA2MywgOTgyOCwgMS40NDAzOTA3MDYwNjIzMTddLCBbMTY2MzgxMjg0Ni43Mzg1MzE0LCA5ODM3LCAxLjQzMTUzNTI0Mzk4ODAzN10sIFsxNjYzODEyODQ2LjgyNjQxMDgsIDk4NDYsIDEuNDE0NTUzMDQ2MjI2NTAxNV0sIFsxNjYzODEyODQ3LjI3ODMwMywgOTg5MSwgMS4yMTg1OTQxOTM0NTg1NTcxXSwgWzE2NjM4MTI4NDcuNDUzNTUzLCA5OTA5LCAxLjE1OTg2OTQzMjQ0OTM0MDhdLCBbMTY2MzgxMjg0Ny42NDAyNTQzLCA5OTI3LCAxLjQwNTM1Mjk1MDA5NjEzMDRdLCBbMTY2MzgxMjg0Ny43Mjk3MDQsIDk5MzYsIDEuMjkzMDE0MDQ5NTMwMDI5M10sIFsxNjYzODEyODQ3LjgyMDg3OTcsIDk5NDUsIDEuNDY1ODUyNjE4MjE3NDY4M10sIFsxNjYzODEyODQ4LjEwNTM5MzYsIDk5NzIsIDEuMTM2NzA2ODI5MDcxMDQ1XSwgWzE2NjM4MTI4NDguMTk4MDc3NywgOTk4MSwgMS4xMjAyMzExNTE1ODA4MTA1XSwgWzE2NjM4MTI4NDguMjg5MDM3MiwgOTk5MCwgMS41NzI2NjE1MTkwNTA1OTgxXSwgWzE2NjM4MTI4NDguMzgyODUyOCwgOTk5OSwgMS4xODM0NTQzOTQzNDA1MTUxXSwgWzE2NjM4MTI4NDguNDczMTY1OCwgMTAwMDgsIDEuNzUyNzUyNTQyNDk1NzI3NV0sIFsxNjYzODEyODQ4LjU2MjI2NSwgMTAwMTcsIDEuMzE3NzQ3ODMxMzQ0NjA0NV0sIFsxNjYzODEyODQ4LjY1MjE0OCwgMTAwMjYsIDEuNDQ1NjEyNzg4MjAwMzc4NF0sIFsxNjYzODEyODQ4LjczODA4ODEsIDEwMDM1LCAxLjI2Mjc2NjgzODA3MzczMDVdLCBbMTY2MzgxMjg0OC45MTY3MDk0LCAxMDA1MywgMS4zNDUzMTgzMTc0MTMzM10sIFsxNjYzODEyODQ5LjAxNDM5NTIsIDEwMDYyLCAxLjM0ODU1MDU1ODA5MDIxXSwgWzE2NjM4MTI4NDkuMTk4ODg5NywgMTAwODAsIDEuNTAwOTU1OTM5MjkyOTA3N10sIFsxNjYzODEyODQ5LjI4OTQ1MDQsIDEwMDg5LCAxLjM2Nzc4ODU1MzIzNzkxNV0sIFsxNjYzODEyODQ5LjM5NDcxOTEsIDEwMDk4LCAxLjI0MTQ5OTQyMzk4MDcxM10sIFsxNjYzODEyODQ5LjQ4NjY3NzYsIDEwMTA3LCAxLjQ3NjYxMTg1MjY0NTg3NF0sIFsxNjYzODEyODQ5Ljc2ODQ3ODIsIDEwMTM0LCAxLjA4NzcxMjQwNzExMjEyMTZdLCBbMTY2MzgxMjg0OS44NTg0NzAyLCAxMDE0MywgMS4yNDA5NzY4MTA0NTUzMjIzXSwgWzE2NjM4MTI4NTAuMDUxNjcyMiwgMTAxNjEsIDEuMzQ4NzczNzE3ODgwMjQ5XSwgWzE2NjM4MTI4NTAuMTQ3MzYxNSwgMTAxNzAsIDEuMjgxMjU1MjQ1MjA4NzQwMl0sIFsxNjYzODEyODUwLjIzNzc2NTMsIDEwMTc5LCAxLjMyNDgxOTQ0NTYxMDA0NjRdLCBbMTY2MzgxMjg1MC4zMjcxMjI3LCAxMDE4OCwgMS40Nzc5NDczNTQzMTY3MTE0XSwgWzE2NjM4MTI4NTAuNDE0NDg0LCAxMDE5NywgMS43MDk5NDcyMjg0MzE3MDE3XSwgWzE2NjM4MTI4NTAuNTA5ODUxNywgMTAyMDYsIDEuNDMwMzkyNjIyOTQ3NjkyOV0sIFsxNjYzODEyODUwLjYwNjUzMywgMTAyMTUsIDEuMjMwMzk1MTk3ODY4MzQ3Ml0sIFsxNjYzODEyODUwLjY5NjQxNjksIDEwMjI0LCAxLjI0MTk5Mjk1MDQzOTQ1MzFdLCBbMTY2MzgxMjg1MC43ODM1OTIyLCAxMDIzMywgMS4yMjA5Njc0MTE5OTQ5MzRdLCBbMTY2MzgxMjg1MC44NzAwMzk1LCAxMDI0MiwgMS4yMTUxNTcwMzIwMTI5Mzk1XSwgWzE2NjM4MTI4NTEuMDU2MzA0NywgMTAyNjAsIDEuMTY0NTU2NTAzMjk1ODk4NF0sIFsxNjYzODEyODUxLjE2MDI2OCwgMTAyNjksIDEuMjQ1NzgwNzA2NDA1NjM5Nl0sIFsxNjYzODEyODUxLjM1MzQ5MjMsIDEwMjg3LCAxLjIxMjQ4MDU0NTA0Mzk0NTNdLCBbMTY2MzgxMjg1MS40NDU4MDk2LCAxMDI5NiwgMS4xMzU5NTU2OTEzMzc1ODU0XSwgWzE2NjM4MTI4NTEuNjIyODY0NywgMTAzMTQsIDEuMjc3MjE3Mzg4MTUzMDc2Ml0sIFsxNjYzODEyODUxLjcwOTkxMDksIDEwMzIzLCAxLjExMzI5NTU1NTExNDc0Nl0sIFsxNjYzODEyODUxLjg5MDk4NTMsIDEwMzQxLCAxLjY2ODcxNTU5NjE5OTAzNTZdLCBbMTY2MzgxMjg1MS45Nzg5NzIyLCAxMDM1MCwgMS40MDk1MjM3MjU1MDk2NDM2XSwgWzE2NjM4MTI4NTIuMDY4Njk2MywgMTAzNTksIDEuMTc0Nzc2NjczMzE2OTU1Nl0sIFsxNjYzODEyODUyLjE2MTM4MDMsIDEwMzY4LCAxLjQzMDQyMDYzNzEzMDczNzNdLCBbMTY2MzgxMjg1Mi4yNTc1MjI2LCAxMDM3NywgMS4yNTI4OTk3NjU5NjgzMjI4XSwgWzE2NjM4MTI4NTIuMzQ4MjcxLCAxMDM4NiwgMS4yMzY5Mjc2Mjg1MTcxNTA5XSwgWzE2NjM4MTI4NTIuNTMxMjIwMiwgMTA0MDQsIDIuMTM0MTg3Njk4MzY0MjU4XSwgWzE2NjM4MTI4NTIuNjIzOTA0NSwgMTA0MTMsIDEuMzEwMzkwMTE0Nzg0MjQwN10sIFsxNjYzODEyODUyLjcxOTI0MzgsIDEwNDIyLCAxLjMxMTI5NDkxMzI5MTkzMTJdLCBbMTY2MzgxMjg1Mi44OTYxNzIzLCAxMDQ0MCwgMS42OTg3NDU2MDgzMjk3NzNdLCBbMTY2MzgxMjg1Mi45ODQwMTYyLCAxMDQ0OSwgMS4wODAyOTIyMjQ4ODQwMzMyXSwgWzE2NjM4MTI4NTMuMTkxMzU5OCwgMTA0NjcsIDEuMjYyNzc2Mzc0ODE2ODk0NV0sIFsxNjYzODEyODUzLjQ1MTEwNTgsIDEwNDc2LCAxLjIzODUzNzU0OTk3MjUzNDJdLCBbMTY2MzgxMjg1My41NDg2NTY3LCAxMDQ4NSwgMS4zMjg5Mjk1NDM0OTUxNzgyXSwgWzE2NjM4MTI4NTMuNjQyMDEyLCAxMDQ5NCwgMS4yMzI1NTAxNDQxOTU1NTY2XSwgWzE2NjM4MTI4NTMuNzU4NTgyNCwgMTA1MDMsIDEuMjE4NzQ3MDE5NzY3NzYxMl0sIFsxNjYzODEyODUzLjg2NzgxMzYsIDEwNTEyLCAxLjI0NjA5MjQzODY5NzgxNV0sIFsxNjYzODEyODUzLjk2NzcyMzYsIDEwNTIxLCAxLjIxOTMxNTY0ODA3ODkxODVdLCBbMTY2MzgxMjg1NC4zOTk3MTk1LCAxMDU1NywgMS4zNjU5MDQwOTI3ODg2OTYzXSwgWzE2NjM4MTI4NTQuNTAwMzYwNywgMTA1NjYsIDEuMzkwMjA3MTcxNDQwMTI0NV0sIFsxNjYzODEyODU0LjYwMzYyNTUsIDEwNTc1LCAxLjM4Nzc3MDUzMzU2MTcwNjVdLCBbMTY2MzgxMjg1NC44MDM3ODI3LCAxMDU5MywgMS4wMjcxNzk0Nzk1OTg5OTldLCBbMTY2MzgxMjg1NC45MDQ4NTI0LCAxMDYwMiwgMS4zMjIwODY4MTEwNjU2NzM4XSwgWzE2NjM4MTI4NTUuMDA0ODUyMywgMTA2MTEsIDEuMDk5NzM3MDQ4MTQ5MTA4OV0sIFsxNjYzODEyODU1LjIyMjA1NSwgMTA2MjksIDEuMTA0OTEwMzczNjg3NzQ0MV0sIFsxNjYzODEyODU1LjQxNzM5ODIsIDEwNjQ3LCAxLjMwMzM5MTIxODE4NTQyNDhdLCBbMTY2MzgxMjg1NS42MzYzMjEsIDEwNjY1LCAxLjE0Mjc4OTk1OTkwNzUzMTddLCBbMTY2MzgxMjg1NS44NTkzNTY2LCAxMDY4MywgMS4yNDA3MjY4Mjg1NzUxMzQzXSwgWzE2NjM4MTI4NTYuMDk4MzQzOCwgMTA3MDEsIDEuMjY5NTcxMDY1OTAyNzFdLCBbMTY2MzgxMjg1Ni4yMDM5OTMsIDEwNzEwLCAxLjUwMzc4MTkxNDcxMDk5ODVdLCBbMTY2MzgxMjg1Ni4yOTk1Mzg5LCAxMDcxOSwgMS41MDc5MjY5NDA5MTc5Njg4XSwgWzE2NjM4MTI4NTYuMzk0ODI0LCAxMDcyOCwgMS4yODU4NzMwNTU0NTgwNjg4XSwgWzE2NjM4MTI4NTYuNTgyMjM0NCwgMTA3NDYsIDEuNDA2NzQ0OTU2OTcwMjE0OF0sIFsxNjYzODEyODU2LjY4MjQyNzYsIDEwNzU1LCAxLjI1MDY2NTY2NDY3Mjg1MTZdLCBbMTY2MzgxMjg1Ni43NzgxODgsIDEwNzY0LCAxLjMyNTA4NjM1NTIwOTM1MDZdLCBbMTY2MzgxMjg1Ni44NjgxNiwgMTA3NzMsIDEuMzQ2MTcxOTc1MTM1ODAzMl0sIFsxNjYzODEyODU2Ljk1ODE4MTQsIDEwNzgyLCAxLjEwOTQxNjcyMzI1MTM0MjhdLCBbMTY2MzgxMjg1Ny4wNjkwNDIyLCAxMDc5MSwgMS4zODU4Nzk5OTM0Mzg3MjA3XSwgWzE2NjM4MTI4NTcuMzMwNTUsIDEwODE4LCAxLjM3NTE5NTYyMjQ0NDE1MjhdLCBbMTY2MzgxMjg1Ny40MjY2MTk1LCAxMDgyNywgMS4xNDA5OTIwNDU0MDI1MjY5XSwgWzE2NjM4MTI4NTcuNzAyNzEyMywgMTA4NTQsIDEuNTgwNjQ0MTMwNzA2Nzg3XSwgWzE2NjM4MTI4NTcuNzkyMjQ3NSwgMTA4NjMsIDEuMTA0NjQ5NjYyOTcxNDk2Nl0sIFsxNjYzODEyODU3Ljg3Nzg1OSwgMTA4NzIsIDEuMDgzNjk2NDg0NTY1NzM0OV0sIFsxNjYzODEyODU4LjA4MDgwMDUsIDEwODkwLCAxLjE1NTU1ODM0NzcwMjAyNjRdLCBbMTY2MzgxMjg1OC4xNzg5MjUzLCAxMDg5OSwgMS4yNjU2MjEzMDQ1MTIwMjRdLCBbMTY2MzgxMjg1OC40Nzg1NjcsIDEwOTI2LCAxLjI0MjA3NjI3NzczMjg0OTFdLCBbMTY2MzgxMjg1OC41NjgzMjE3LCAxMDkzNSwgMS40MjYwNzU0NTg1MjY2MTEzXSwgWzE2NjM4MTI4NTguNjU1MzUxNiwgMTA5NDQsIDEuMzQyMjg2MTA5OTI0MzE2NF0sIFsxNjYzODEyODU4Ljg2MzI3NCwgMTA5NjIsIDEuMjY1Njk0OTc1ODUyOTY2M10sIFsxNjYzODEyODU4Ljk3MTEyMzUsIDEwOTcxLCAxLjM3NTc5ODM0NDYxMjEyMTZdLCBbMTY2MzgxMjg1OS4zMjY2OTU3LCAxMDk5OCwgMS4wNzc5OTY0OTIzODU4NjQzXSwgWzE2NjM4MTI4NTkuNDQyNDExNywgMTEwMDcsIDEuMDgwMDU0NTIxNTYwNjY5XSwgWzE2NjM4MTI4NTkuNTg0ODQ2NywgMTEwMTYsIDEuMTk1MTQzMTAzNTk5NTQ4M10sIFsxNjYzODEyODU5Ljc5Mjc3NzgsIDExMDM0LCAxLjMwMDEwMzkwMjgxNjc3MjVdLCBbMTY2MzgxMjg2MC4wNzgxNTI0LCAxMTA2MSwgMS4xMDc0NjgwMDg5OTUwNTYyXSwgWzE2NjM4MTI4NjAuMTcxNDU4MiwgMTEwNzAsIDEuMTY1MjI5NTU4OTQ0NzAyMV0sIFsxNjYzODEyODYwLjU1MDA4MTMsIDExMDk3LCAxLjI2NjkwNTMwNzc2OTc3NTRdLCBbMTY2MzgxMjg2MC42NzA3NjEsIDExMTA2LCAxLjI2NTQ1NzAzNDExMTAyM10sIFsxNjYzODEyODYwLjc2ODYyMywgMTExMTUsIDEuMjc1NzczNDA2MDI4NzQ3Nl0sIFsxNjYzODEyODYxLjE0Mjg2OTUsIDExMTUxLCAxLjMwMTAzNTg4MTA0MjQ4MDVdLCBbMTY2MzgxMjg2MS4zMzgxNTcsIDExMTY5LCAxLjE1MjI3MDkxMzEyNDA4NDVdLCBbMTY2MzgxMjg2MS40Mjg2Mzk0LCAxMTE3OCwgMS4wNjkwODc3NDM3NTkxNTUzXSwgWzE2NjM4MTI4NjEuNTE3ODM4LCAxMTE4NywgMS40MjMzODg3MTk1NTg3MTU4XSwgWzE2NjM4MTI4NjEuNjIwODE2MiwgMTExOTYsIDEuMzE1MzQ4OTgyODEwOTc0MV0sIFsxNjYzODEyODYxLjcxMzQ4NjIsIDExMjA1LCAxLjE4NTg4MjMyOTk0MDc5Nl0sIFsxNjYzODEyODYxLjgwODc4NywgMTEyMTQsIDEuMTMwNzk5NzcwMzU1MjI0Nl0sIFsxNjYzODEyODYxLjkwNjU5NjcsIDExMjIzLCAxLjE2ODY0NTI2MjcxODIwMDddLCBbMTY2MzgxMjg2Mi4xOTI3NjU1LCAxMTI1MCwgMS4yMjMzNzQ0ODU5Njk1NDM1XSwgWzE2NjM4MTI4NjIuNDMwNTUyNywgMTEyNTksIDEuNTA3OTc0MTQ3Nzk2NjMwOV0sIFsxNjYzODEyODYyLjUxNjAyMjQsIDExMjY4LCAxLjE1NTk3NDM4ODEyMjU1ODZdLCBbMTY2MzgxMjg2Mi42MDQ0MjM1LCAxMTI3NywgMS41MDQzMzE1ODg3NDUxMTcyXSwgWzE2NjM4MTI4NjIuODE2NDk3NiwgMTEyOTUsIDEuMjkyNDczOTEyMjM5MDc0N10sIFsxNjYzODEyODYzLjAwMTY2MDgsIDExMzEzLCAxLjIyOTM4NjgwNjQ4ODAzN10sIFsxNjYzODEyODYzLjA5NjU4MDMsIDExMzIyLCAxLjI3NTExNTk2Njc5Njg3NV0sIFsxNjYzODEyODYzLjM3ODM5MzcsIDExMzQ5LCAxLjA5ODE2OTU2NTIwMDgwNTddLCBbMTY2MzgxMjg2My40NzI2NjEsIDExMzU4LCAxLjI2ODY5NTk1MDUwODExNzddLCBbMTY2MzgxMjg2My42NTkzNzc2LCAxMTM3NiwgMS40MTU0OTU4NzI0OTc1NTg2XSwgWzE2NjM4MTI4NjMuNzYwMjY4NywgMTEzODUsIDEuMzc2NTUyOTM5NDE0OTc4XSwgWzE2NjM4MTI4NjMuODUwMDM0LCAxMTM5NCwgMS4xMTc1NzYyNDE0OTMyMjVdLCBbMTY2MzgxMjg2My45NDgxNzY5LCAxMTQwMywgMS40MjU1NDA4MDQ4NjI5NzZdLCBbMTY2MzgxMjg2NC4wMzk2NTI4LCAxMTQxMiwgMS40OTYxMDE0OTg2MDM4MjA4XSwgWzE2NjM4MTI4NjQuMTI5MTc1MiwgMTE0MjEsIDEuMDk4NTgyMzg2OTcwNTJdLCBbMTY2MzgxMjg2NC40MDM4ODk3LCAxMTQ0OCwgMS4yNjgwMDI3NDg0ODkzNzk5XSwgWzE2NjM4MTI4NjQuNDk2NTc3NSwgMTE0NTcsIDEuMjgyNTgzOTUxOTUwMDczMl0sIFsxNjYzODEyODY0Ljc5NDk4MDgsIDExNDg0LCAxLjE4MDk3NDYwMjY5OTI3OThdLCBbMTY2MzgxMjg2NC44ODY1MjA5LCAxMTQ5MywgMS40MTkxMTk5NTQxMDkxOTJdLCBbMTY2MzgxMjg2NC45Nzc0OTQ1LCAxMTUwMiwgMS42NjU5MzQzMjQyNjQ1MjY0XSwgWzE2NjM4MTI4NjUuMDcxMTg4MiwgMTE1MTEsIDEuMDc1MjQ4NzE4MjYxNzE4OF0sIFsxNjYzODEyODY1LjE2MzYxMjQsIDExNTIwLCAxLjgxMjMxMTI5MTY5NDY0MTFdLCBbMTY2MzgxMjg2NS4yNTYwNjI1LCAxMTUyOSwgMS4xNDUzOTgwMjA3NDQzMjM3XSwgWzE2NjM4MTI4NjUuNDM0Nzk2NiwgMTE1NDcsIDEuMzcwODQzNzY4MTE5ODEyXSwgWzE2NjM4MTI4NjUuNTI0MjQzNiwgMTE1NTYsIDEuMjE5MzQzNzgxNDcxMjUyNF0sIFsxNjYzODEyODY1LjcwNTE2NjYsIDExNTc0LCAxLjI2NTI4MzgyMzAxMzMwNTddLCBbMTY2MzgxMjg2NS44MDk4NTksIDExNTgzLCAxLjYxMjk1ODc4ODg3MTc2NTFdLCBbMTY2MzgxMjg2NS45OTQ5MzQzLCAxMTYwMSwgMS4xMzQ2ODYzNTA4MjI0NDg3XSwgWzE2NjM4MTI4NjYuMTg3MTc3NCwgMTE2MTksIDEuMzQ5NzIwMDAxMjIwNzAzMV0sIFsxNjYzODEyODY2LjI4MTUxMzcsIDExNjI4LCAxLjEzOTQ2NDAyMDcyOTA2NV0sIFsxNjYzODEyODY2LjM2OTY3NywgMTE2MzcsIDEuNDEyMTc5NDcwMDYyMjU1OV0sIFsxNjYzODEyODY2LjQ1ODQ1NjMsIDExNjQ2LCAxLjI1ODQ0NTUwMTMyNzUxNDZdLCBbMTY2MzgxMjg2Ni42NDE1NTIsIDExNjY0LCAxLjM2NDQyNDU4NjI5NjA4MTVdLCBbMTY2MzgxMjg2Ni43MzYwNTczLCAxMTY3MywgMS4xODI1MzU1MjkxMzY2NTc3XSwgWzE2NjM4MTI4NjYuOTE1NDA5NiwgMTE2OTEsIDEuMTEzNzQ4NjY5NjI0MzI4Nl0sIFsxNjYzODEyODY3LjAwNDcyMDQsIDExNzAwLCAxLjExNzEwNzUxMDU2NjcxMTRdLCBbMTY2MzgxMjg2Ny4xOTA1Nzc3LCAxMTcxOCwgMS4xNzgyMDk1NDMyMjgxNDk0XSwgWzE2NjM4MTI4NjcuMjgyNTk3OCwgMTE3MjcsIDEuMTgxMDU5NDc5NzEzNDRdLCBbMTY2MzgxMjg2Ny40NjY3MTMyLCAxMTc0NSwgMS40MTg5NjAyMTM2NjExOTM4XSwgWzE2NjM4MTI4NjcuNTU4MTQwMywgMTE3NTQsIDEuMjE3NzA3NzUzMTgxNDU3NV0sIFsxNjYzODEyODY3LjY1ODgyNTksIDExNzYzLCAxLjI4MjE4MDkwNTM0MjEwMl0sIFsxNjYzODEyODY3Ljc0ODkxODMsIDExNzcyLCAxLjIyODI2ODAyNzMwNTYwM10sIFsxNjYzODEyODY4LjAyNjQ0NiwgMTE3OTksIDEuNDA5ODU2NDM4NjM2Nzc5OF0sIFsxNjYzODEyODY4LjExNjk2ODYsIDExODA4LCAxLjE2NjYwMDM0NjU2NTI0NjZdLCBbMTY2MzgxMjg2OC4yMDQ2OTY0LCAxMTgxNywgMS4xOTI1NjMxNzYxNTUwOTAzXSwgWzE2NjM4MTI4NjguMjkyNjU3NiwgMTE4MjYsIDEuMjAzOTcwOTA5MTE4NjUyM10sIFsxNjYzODEyODY4LjM4MDE3MTUsIDExODM1LCAxLjIwMjQ2Mzg2NTI4MDE1MTRdLCBbMTY2MzgxMjg2OC40NzAzODQxLCAxMTg0NCwgMS4zNDA2MjAxNjAxMDI4NDQyXSwgWzE2NjM4MTI4NjguNzQ0NjUzLCAxMTg3MSwgMS4xOTkzNzU4Njc4NDM2MjhdLCBbMTY2MzgxMjg2OC44NTI0NTQ0LCAxMTg4MCwgMS4xODA5NjQ0Njk5MDk2NjhdLCBbMTY2MzgxMjg2OC45NjA5NjIzLCAxMTg4OSwgMS4xMTY3MTc2OTYxODk4ODA0XSwgWzE2NjM4MTI4NjkuMDc3NjUxLCAxMTg5OCwgMS40NzcyMTU4ODYxMTYwMjc4XSwgWzE2NjM4MTI4NjkuMTc1Njc2NiwgMTE5MDcsIDEuMjEwODU3MDMzNzI5NTUzMl0sIFsxNjYzODEyODY5LjI2OTg2NzcsIDExOTE2LCAxLjE3NTI0MTU4OTU0NjIwMzZdLCBbMTY2MzgxMjg2OS4zNjI3OTY1LCAxMTkyNSwgMS42NTE4MTQ4MTgzODIyNjMyXSwgWzE2NjM4MTI4NjkuNDU2NjI5LCAxMTkzNCwgMS4xNjc0OTYyMDQzNzYyMjA3XSwgWzE2NjM4MTI4NjkuNTQ5NzE2MiwgMTE5NDMsIDEuMTE1NjM2NDY3OTMzNjU0OF0sIFsxNjYzODEyODY5LjczNzU0MTcsIDExOTYxLCAxLjIyNzA3NTY5NTk5MTUxNjFdLCBbMTY2MzgxMjg3MC4yMDE0NDU4LCAxMjAwNiwgMS4yODkxOTIxOTk3MDcwMzEyXSwgWzE2NjM4MTI4NzAuMzg5NjIyNywgMTIwMjQsIDEuMzg1OTk2MzQxNzA1MzIyM10sIFsxNjYzODEyODcxLjEwOTM0ODMsIDEyMDc4LCAxLjIzOTM2MjgzNTg4NDA5NDJdLCBbMTY2MzgxMjg3MS4yMDU5NzQzLCAxMjA4NywgMS4wODM1MDYxMDczMzAzMjIzXSwgWzE2NjM4MTI4NzEuMzgxNjQ0MiwgMTIxMDUsIDEuNDY5MTkwMzU5MTE1NjAwNl0sIFsxNjYzODEyODcxLjQ3MTk4NDEsIDEyMTE0LCAxLjM2Mzk0OTE3OTY0OTM1M10sIFsxNjYzODEyODcxLjY0NzQ5NzQsIDEyMTMyLCAxLjA0NzIzNzUxNTQ0OTUyNF0sIFsxNjYzODEyODcxLjczOTkxMTMsIDEyMTQxLCAxLjI1ODA3MjQ5NTQ2MDUxMDNdLCBbMTY2MzgxMjg3Mi4wMjE2NzE4LCAxMjE2OCwgMS4zMzI5MTYwMjEzNDcwNDZdLCBbMTY2MzgxMjg3Mi4xMjk1MTMsIDEyMTc3LCAxLjE5MTcwNDYzMDg1MTc0NTZdLCBbMTY2MzgxMjg3Mi4zMTgwNjUyLCAxMjE5NSwgMS4zNDg0NzM5MDY1MTcwMjg4XSwgWzE2NjM4MTI4NzIuNDA4NTc0OCwgMTIyMDQsIDEuMjkwMTM4MTI1NDE5NjE2N10sIFsxNjYzODEyODcyLjQ5ODc5MDUsIDEyMjEzLCAxLjI4OTM5MDA4NzEyNzY4NTVdLCBbMTY2MzgxMjg3Mi41ODcwNDczLCAxMjIyMiwgMS4yMDIzNDU4NDgwODM0OTZdLCBbMTY2MzgxMjg3Mi42ODc4OTYzLCAxMjIzMSwgMS4xNjg0MzM2NjYyMjkyNDhdLCBbMTY2MzgxMjg3Mi44NzA1NjgsIDEyMjQ5LCAxLjEzNzY5MTQ5NzgwMjczNDRdLCBbMTY2MzgxMjg3My4wNTIzNDksIDEyMjY3LCAxLjMwODU1NzAzMzUzODgxODRdLCBbMTY2MzgxMjg3My4xNDE4MzE0LCAxMjI3NiwgMS4zNzc3ODY2MzYzNTI1MzldLCBbMTY2MzgxMjg3My4yNDUzNTgyLCAxMjI4NSwgMS4yNDYzMjQxODE1NTY3MDE3XSwgWzE2NjM4MTI4NzMuMzQxMTk5OSwgMTIyOTQsIDEuMjQwNjU0OTQ1MzczNTM1Ml0sIFsxNjYzODEyODczLjQ0NDkzLCAxMjMwMywgMS4xMjA5NzY5MjQ4OTYyNDAyXSwgWzE2NjM4MTI4NzMuNTMzNjczNSwgMTIzMTIsIDEuMjE2MTk1MjI1NzE1NjM3Ml0sIFsxNjYzODEyODczLjYyMDUwNDQsIDEyMzIxLCAxLjE0NjIzMzA4MTgxNzYyN10sIFsxNjYzODEyODczLjk5MDQxNTYsIDEyMzU3LCAxLjI1NjI2MTcwNjM1MjIzMzldLCBbMTY2MzgxMjg3NC4wODQ1NTA0LCAxMjM2NiwgMS4wODYwMDc5NTI2OTAxMjQ1XSwgWzE2NjM4MTI4NzQuMTczMTc2MywgMTIzNzUsIDEuNjI2NTU0NzI3NTU0MzIxM10sIFsxNjYzODEyODc0LjI3Nzg2OCwgMTIzODQsIDEuMzg5NTAxNDUyNDQ1OTgzOV0sIFsxNjYzODEyODc0LjM2ODAzOCwgMTIzOTMsIDEuMDg3NjcwNTY0NjUxNDg5M10sIFsxNjYzODEyODc0LjYzNzA4OTMsIDEyNDIwLCAxLjM0ODQzODg1ODk4NTkwMDldLCBbMTY2MzgxMjg3NC43MjY5MzU5LCAxMjQyOSwgMS4zNzUzNzIxNzE0MDE5Nzc1XSwgWzE2NjM4MTI4NzQuODE2MzE3NiwgMTI0MzgsIDEuMTQzMTg1Mzc3MTIwOTcxN10sIFsxNjYzODEyODc1LjE5MzQ2NjIsIDEyNDc0LCAxLjU3NDM4OTgxNTMzMDUwNTRdLCBbMTY2MzgxMjg3NS4yOTIwOTIsIDEyNDgzLCAxLjQ2NDQ3NjEwODU1MTAyNTRdLCBbMTY2MzgxMjg3NS4zODg2ODI2LCAxMjQ5MiwgMS4zNTk0MDAyNzIzNjkzODQ4XSwgWzE2NjM4MTI4NzUuNDgyNTYyLCAxMjUwMSwgMS4zNzg3MjQ4MTM0NjEzMDM3XSwgWzE2NjM4MTI4NzUuNjY1MDU2LCAxMjUxOSwgMS4xNTYzOTExNDM3OTg4MjgxXSwgWzE2NjM4MTI4NzUuNzU4ODczLCAxMjUyOCwgMS4xNjYwODQxNzAzNDE0OTE3XSwgWzE2NjM4MTI4NzUuOTU5NTk3MywgMTI1NDYsIDEuMjM3MjQ4NTM5OTI0NjIxNl0sIFsxNjYzODEyODc2LjA0OTA0NjgsIDEyNTU1LCAxLjExNDc0MTY4MzAwNjI4NjZdLCBbMTY2MzgxMjg3Ni4yODU3MjEsIDEyNTczLCAxLjcwNDkzMTEzOTk0NTk4MzldLCBbMTY2MzgxMjg3Ni4zNzY3OTg5LCAxMjU4MiwgMS42NzY0OTQ0NzkxNzkzODIzXSwgWzE2NjM4MTI4NzYuNTU0MDI3LCAxMjYwMCwgMS4xODU0OTI3NTM5ODI1NDRdLCBbMTY2MzgxMjg3Ni42NTY4Mjg5LCAxMjYwOSwgMS40OTA5NDg5MTU0ODE1Njc0XSwgWzE2NjM4MTI4NzYuODUzNDA5OCwgMTI2MjcsIDEuNDQ3Nzk4MTMyODk2NDIzM10sIFsxNjYzODEyODc2Ljk0NzYwOCwgMTI2MzYsIDEuMjcxODg2NDY3OTMzNjU0OF0sIFsxNjYzODEyODc3LjA0OTEwOTIsIDEyNjQ1LCAxLjIxMDIzOTE3MTk4MTgxMTVdLCBbMTY2MzgxMjg3Ny4xNDM0MDYyLCAxMjY1NCwgMS4yNzIzMTA0OTUzNzY1ODddLCBbMTY2MzgxMjg3Ny4yMzQxOTMzLCAxMjY2MywgMS40NTc2ODQ3NTUzMjUzMTc0XSwgWzE2NjM4MTI4NzcuMzMxNjUwNSwgMTI2NzIsIDEuNTg0ODk0NTM3OTI1NzIwMl0sIFsxNjYzODEyODc3LjQyNTY5NjYsIDEyNjgxLCAxLjIwNjUyMDE5OTc3NTY5NThdLCBbMTY2MzgxMjg3Ny45MDA1MjA4LCAxMjcyNiwgMS4xODY1ODQ3MTEwNzQ4MjldLCBbMTY2MzgxMjg3OC4xNzU5MTI2LCAxMjc1MywgMS4xMTY4MjA1NzM4MDY3NjI3XSwgWzE2NjM4MTI4NzguMjcwNDY5LCAxMjc2MiwgMS4xNDA1MzA5NDM4NzA1NDQ0XSwgWzE2NjM4MTI4NzguNDUyMzMxMywgMTI3ODAsIDEuMzMwMzE2NDI0MzY5ODEyXSwgWzE2NjM4MTI4NzguNjQ1NTU1NywgMTI3OTgsIDEuNDc3NTYyOTA0MzU3OTEwMl0sIFsxNjYzODEyODc4LjczODE5NTQsIDEyODA3LCAxLjM0MTc2MDg3Mzc5NDU1NTddLCBbMTY2MzgxMjg3OS4wMjI2MjA0LCAxMjgzNCwgMS4xMzQ2MTM2MzMxNTU4MjI4XSwgWzE2NjM4MTI4NzkuMTQzNTQzMiwgMTI4NDMsIDEuMjkzMjI5NTc5OTI1NTM3XSwgWzE2NjM4MTI4NzkuNDMxMzYxNCwgMTI4NTIsIDEuMzYzNTk3ODY5ODczMDQ2OV0sIFsxNjYzODEyODc5LjU0OTk1NjYsIDEyODYxLCAxLjMzMDY3Njc5NDA1MjEyNF0sIFsxNjYzODEyODc5Ljg0NzkzOTUsIDEyODg4LCAxLjExODc5ODAxNzUwMTgzMV0sIFsxNjYzODEyODc5Ljk0MzU5NCwgMTI4OTcsIDEuODI4MTMzNTgzMDY4ODQ3N10sIFsxNjYzODEyODgwLjA1MjM2MDUsIDEyOTA2LCAxLjQyNDQ3MjkyODA0NzE4MDJdLCBbMTY2MzgxMjg4MC4xNTMyNjMsIDEyOTE1LCAxLjE5Njk0NjM4MjUyMjU4M10sIFsxNjYzODEyODgwLjM3ODk2OTIsIDEyOTMzLCAxLjI2MTE4Mzg1NzkxNzc4NTZdLCBbMTY2MzgxMjg4MC42MTA0NzYsIDEyOTUxLCAxLjQ1NjEwNjE4NTkxMzA4Nl0sIFsxNjYzODEyODgwLjcwNTM5NzYsIDEyOTYwLCAxLjMzMDI4NDgzMzkwODA4MV0sIFsxNjYzODEyODgwLjc5NDI2MTIsIDEyOTY5LCAxLjE3OTU3OTM3NzE3NDM3NzRdLCBbMTY2MzgxMjg4MC44ODE5NTQsIDEyOTc4LCAxLjE3MTU0OTU1ODYzOTUyNjRdLCBbMTY2MzgxMjg4MS4xODQ4MDMsIDEzMDA1LCAxLjI1MjUzOTE1Nzg2NzQzMTZdLCBbMTY2MzgxMjg4MS4zODI3MDEyLCAxMzAyMywgMS4xOTAyNzM1MjMzMzA2ODg1XSwgWzE2NjM4MTI4ODEuNDcxNTgxLCAxMzAzMiwgMS4zNDc0OTg0MTY5MDA2MzQ4XSwgWzE2NjM4MTI4ODEuNTY4NzU3LCAxMzA0MSwgMS4xNzg5MzQ5MzE3NTUwNjZdLCBbMTY2MzgxMjg4MS42Njk3MDI4LCAxMzA1MCwgMS40OTUzNzc0MjEzNzkwODk0XSwgWzE2NjM4MTI4ODEuNzU3NTc2NSwgMTMwNTksIDEuMTMyNzY2MjQ2Nzk1NjU0M10sIFsxNjYzODEyODgxLjg1MDY3MSwgMTMwNjgsIDEuNTg0NzY5NDg3MzgwOTgxNF0sIFsxNjYzODEyODgxLjk0Mzg0OCwgMTMwNzcsIDEuNTc0MTU1MzMwNjU3OTU5XSwgWzE2NjM4MTI4ODIuMDQ2MTk5OCwgMTMwODYsIDEuMzAwODc0MjMzMjQ1ODQ5Nl0sIFsxNjYzODEyODgyLjE2MTY5MjEsIDEzMDk1LCAxLjczMjA3MjQ3MjU3MjMyNjddLCBbMTY2MzgxMjg4Mi4yNTcxLCAxMzEwNCwgMS41NTk3ODIyNjY2MTY4MjEzXSwgWzE2NjM4MTI4ODIuMzc1NDg4OCwgMTMxMTMsIDEuMTg1MTIyNjA5MTM4NDg4OF0sIFsxNjYzODEyODgyLjQ5NTAwOTQsIDEzMTIyLCAxLjA3NDcxNTQ5NTEwOTU1OF0sIFsxNjYzODEyODgyLjYxNDIwOCwgMTMxMzEsIDEuMTQ1ODkwMjM1OTAwODc5XSwgWzE2NjM4MTI4ODIuNzQ0MjQ1OCwgMTMxNDAsIDEuMjc2NzgyODcwMjkyNjYzNl0sIFsxNjYzODEyODgyLjg0MjkzNTMsIDEzMTQ5LCAxLjI0OTc4Njg1Mzc5MDI4MzJdLCBbMTY2MzgxMjg4Mi45NjA2NzUyLCAxMzE1OCwgMS4zNzI1MDU0MjY0MDY4NjA0XSwgWzE2NjM4MTI4ODMuMDY4MjE1OCwgMTMxNjcsIDEuMjA2MTkwMzQ3NjcxNTA4OF0sIFsxNjYzODEyODgzLjE3MTg5NzYsIDEzMTc2LCAxLjM3MjY2MTIzMjk0ODMwMzJdLCBbMTY2MzgxMjg4My4yNzUyNywgMTMxODUsIDEuMjY0OTE4OTIzMzc3OTkwN10sIFsxNjYzODEyODgzLjU4NDEzNTgsIDEzMjEyLCAxLjE5ODAwNzQ2NDQwODg3NDVdLCBbMTY2MzgxMjg4My42OTM2NDEsIDEzMjIxLCAxLjE0Mzc5NTI1MTg0NjMxMzVdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_10-14-52_17ae77f8abe2&tag=Loss%2Fvalid":{"data":"W1sxNjYzODQxNjkyLjYzMzAzNTcsIDksIDUwLjU1MTU0MDM3NDc1NTg2XSwgWzE2NjM4NDE2OTIuOTkwODM3MywgMzYsIDI5LjUyOTgyNzExNzkxOTkyMl0sIFsxNjYzODQxNjkzLjExMDE1MzcsIDQ1LCAyNi4zNDM5NzMxNTk3OTAwNF0sIFsxNjYzODQxNjkzLjgzMjg5OSwgOTksIDEwLjM2MjM0Mzc4ODE0Njk3M10sIFsxNjYzODQxNjkzLjk0MzE3ODIsIDEwOCwgOC42OTU5NzE0ODg5NTI2MzddLCBbMTY2Mzg0MTY5NC4yOTk1NDc3LCAxMzUsIDYuMDI2OTEyNjg5MjA4OTg0XSwgWzE2NjM4NDE2OTQuNDIwMTMzOCwgMTQ0LCA2LjA3NTQyNjU3ODUyMTcyODVdLCBbMTY2Mzg0MTY5NC43NjE0ODkyLCAxNzEsIDYuMzI0MTkzMDAwNzkzNDU3XSwgWzE2NjM4NDE2OTQuODc1Nzk0LCAxODAsIDYuODg1MTk2Njg1NzkxMDE2XSwgWzE2NjM4NDE2OTQuOTgwODg4MSwgMTg5LCA1LjM0OTg2NDAwNjA0MjQ4MDVdLCBbMTY2Mzg0MTY5NS4yMTg1NTE0LCAyMDcsIDYuODUxNTIwMDYxNDkyOTJdLCBbMTY2Mzg0MTY5NS4zMjI0NzQsIDIxNiwgNS41NDE3MDIyNzA1MDc4MTI1XSwgWzE2NjM4NDE2OTUuNjI4ODg3LCAyNDMsIDUuOTg0Mzg0NTM2NzQzMTY0XSwgWzE2NjM4NDE2OTUuNzI2NjMzMywgMjUyLCA1LjUyMDAxMzgwOTIwNDEwMl0sIFsxNjYzODQxNjk2LjQ0ODI3MzcsIDMwNiwgNS42ODEyNTkxNTUyNzM0Mzc1XSwgWzE2NjM4NDE2OTYuOTg5Mzc5MiwgMzMzLCA0LjY5ODA3NjI0ODE2ODk0NV0sIFsxNjYzODQxNjk3LjExODAyNTgsIDM0MiwgNS40Njc5OTM3MzYyNjcwOV0sIFsxNjYzODQxNjk3LjI1MjY2ODksIDM1MSwgNS4wMTcyNDgxNTM2ODY1MjNdLCBbMTY2Mzg0MTY5Ny4zNzE0NjE2LCAzNjAsIDUuNTgzODM4OTM5NjY2NzQ4XSwgWzE2NjM4NDE2OTcuNDg5MDE2OCwgMzY5LCA1LjA3NTIxNTMzOTY2MDY0NDVdLCBbMTY2Mzg0MTY5OC40MTE0MDY4LCA0MzIsIDQuMTgwODE3NjA0MDY0OTQxXSwgWzE2NjM4NDE2OTguNTQ4NzY4OCwgNDQxLCA0Ljg5NzEwNjY0NzQ5MTQ1NV0sIFsxNjYzODQxNjk4LjY4NDkwNzQsIDQ1MCwgNS4xMTE1Njc5NzQwOTA1NzZdLCBbMTY2Mzg0MTY5OC45MjQxMjgsIDQ2OCwgNC4xNzMwMjY1NjE3MzcwNjA1XSwgWzE2NjM4NDE2OTkuMDY4MTgzNywgNDc3LCA0LjczNTA1MzA2MjQzODk2NV0sIFsxNjYzODQxNjk5LjMxMDEwMjUsIDQ5NSwgNC4wNDk5MjI5NDMxMTUyMzRdLCBbMTY2Mzg0MTY5OS42NjM2MTU3LCA1MjIsIDQuNTA5Mzk5NDE0MDYyNV0sIFsxNjYzODQxNzAwLjAwODg5ODcsIDU0OSwgNC40MzQ1MDU5Mzk0ODM2NDNdLCBbMTY2Mzg0MTcwMC4xMTU1OTA2LCA1NTgsIDQuODc4MjAyOTE1MTkxNjVdLCBbMTY2Mzg0MTcwMC4yNDkyOTc5LCA1NjcsIDMuODUzODQ5NjQ5NDI5MzIxM10sIFsxNjYzODQxNzAwLjM2NDg3LCA1NzYsIDQuNDI5MzgwODkzNzA3Mjc1XSwgWzE2NjM4NDE3MDAuNTk0NDA0NSwgNTk0LCAzLjk3MzM2Mzg3NjM0Mjc3MzRdLCBbMTY2Mzg0MTcwMC43MjYwMDIsIDYwMywgMy42MzQzNzI3MTExODE2NDA2XSwgWzE2NjM4NDE3MDAuODUxNzU0NCwgNjEyLCAzLjQ1NjQyOTAwNDY2OTE4OTVdLCBbMTY2Mzg0MTcwMC45NjI0Mjc2LCA2MjEsIDQuNjgxNzgyNzIyNDczMTQ0NV0sIFsxNjYzODQxNzAxLjE5NzQwOSwgNjM5LCA0LjAwOTAwNjk3NzA4MTI5OV0sIFsxNjYzODQxNzAxLjMyNDU1NiwgNjQ4LCA0LjQ1OTcyMjk5NTc1ODA1N10sIFsxNjYzODQxNzAxLjk3MjQwMiwgNzAyLCAzLjU2MDk4MzQxOTQxODMzNV0sIFsxNjYzODQxNzAyLjE2OTI2NiwgNzIwLCAzLjg2NzYyMTE4MzM5NTM4NTddLCBbMTY2Mzg0MTcwMi4yNjQ2OTM1LCA3MjksIDQuMDc2OTc3NzI5Nzk3MzYzXSwgWzE2NjM4NDE3MDIuNDU5NzM1OSwgNzQ3LCAzLjQ4MTY5MjU1MjU2NjUyODNdLCBbMTY2Mzg0MTcwMi44Njg5MzM3LCA3NzQsIDMuNDkwNzIwOTg3MzE5OTQ2M10sIFsxNjYzODQxNzAzLjMxMjU4ODcsIDgxMCwgMy4yNDEwMTk0ODczODA5ODE0XSwgWzE2NjM4NDE3MDMuNDM2MDQ3OCwgODE5LCAzLjIwODA3MDI3ODE2NzcyNDZdLCBbMTY2Mzg0MTcwMy45OTA1MjgsIDg2NCwgMy43NDg3ODM4MjY4MjgwMDNdLCBbMTY2Mzg0MTcwNC4zOTQxMTY2LCA5MDAsIDIuNzk2NDYwNjI4NTA5NTIxNV0sIFsxNjYzODQxNzA0LjQ5Nzg5MTcsIDkwOSwgMy4xNjg3MzA5NzQxOTczODc3XSwgWzE2NjM4NDE3MDQuNzk4ODUxMywgOTM2LCAyLjkwMDQ2NTI1MDAxNTI1OV0sIFsxNjYzODQxNzA1LjE2MzUyOTYsIDk2MywgMy42MDU4MTg3NDg0NzQxMjFdLCBbMTY2Mzg0MTcwNS4zMDYzNTM4LCA5NzIsIDIuNjEyMjMyNjg1MDg5MTExM10sIFsxNjYzODQxNzA1LjU3NzM1MDQsIDk5MCwgMy4xMTA2NTI0NDY3NDY4MjZdLCBbMTY2Mzg0MTcwNi4xMzQwMjgyLCAxMDM1LCAyLjkwMTYzODI2OTQyNDQzODVdLCBbMTY2Mzg0MTcwNi4zMjU5MDEsIDEwNTMsIDIuNzI4NDUxNzI4ODIwODAxXSwgWzE2NjM4NDE3MDYuODEwNDA0LCAxMDk4LCAyLjkzNjY1NzE5MDMyMjg3Nl0sIFsxNjYzODQxNzA3LjQ2MTM1MiwgMTEzNCwgMi43MzEwOTgxNzUwNDg4MjhdLCBbMTY2Mzg0MTcwNy42MTg2NDgsIDExNDMsIDIuNDU3NzkwODUxNTkzMDE3Nl0sIFsxNjYzODQxNzA3Ljg3MDg4NTgsIDExNjEsIDIuNjkxOTI3OTA5ODUxMDc0XSwgWzE2NjM4NDE3MDguMTE1NDc1LCAxMTc5LCAzLjEwMDMzNjMxMzI0NzY4MDddLCBbMTY2Mzg0MTcwOC4zMzU1MzIsIDExODgsIDMuMDc5NDc2ODMzMzQzNTA2XSwgWzE2NjM4NDE3MDguNDYwMTE5MiwgMTE5NywgMi43NzM2ODY4ODU4MzM3NDAyXSwgWzE2NjM4NDE3MDguOTM5MDM4NSwgMTIzMywgMi42MjA2NjM0MDQ0NjQ3MjE3XSwgWzE2NjM4NDE3MDkuMDM1MTU0MywgMTI0MiwgMi41NjAzMjI5OTk5NTQyMjM2XSwgWzE2NjM4NDE3MDkuNjYxNDYwNCwgMTI5NiwgMi4yMTAzOTcwMDUwODExNzY4XSwgWzE2NjM4NDE3MDkuNzcxMzIzNCwgMTMwNSwgMi40MzQ4ODE5MjU1ODI4ODU3XSwgWzE2NjM4NDE3MDkuOTcwNjc4LCAxMzIzLCAyLjU1NDUzNzA1Nzg3NjU4N10sIFsxNjYzODQxNzEwLjA2MTE3NCwgMTMzMiwgMi4yMDM2NjIxNTcwNTg3MTZdLCBbMTY2Mzg0MTcxMC4zNTE1ODg3LCAxMzU5LCAyLjIwNDc5NTM2MDU2NTE4NTVdLCBbMTY2Mzg0MTcxMS4wMjg4Mzg5LCAxNDIyLCAyLjIxNTU2MDQzNjI0ODc3OTNdLCBbMTY2Mzg0MTcxMS4yMTY5MDc1LCAxNDQwLCAyLjMzNTY5MDczNjc3MDYzXSwgWzE2NjM4NDE3MTEuMzE5MjE0NiwgMTQ0OSwgMi40MDgxOTA3MjcyMzM4ODY3XSwgWzE2NjM4NDE3MTEuNDk5NjQ4MywgMTQ2NywgMi43NTk4MzUwMDQ4MDY1MTg2XSwgWzE2NjM4NDE3MTEuNjk0NDU1MSwgMTQ4NSwgMi41MDg3MTY1ODMyNTE5NTNdLCBbMTY2Mzg0MTcxMi4yODc5NDUzLCAxNTM5LCAyLjU1NTU3NzI3ODEzNzIwN10sIFsxNjYzODQxNzEyLjM4ODE1MjQsIDE1NDgsIDEuODg3MDc3MjEyMzMzNjc5Ml0sIFsxNjYzODQxNzEyLjQ5NDkxNDgsIDE1NTcsIDIuMDk4MDY5MTkwOTc5MDA0XSwgWzE2NjM4NDE3MTIuODAxNTgwNCwgMTU4NCwgMS44MjEzNzU2MDg0NDQyMTM5XSwgWzE2NjM4NDE3MTIuOTU1NTIwNiwgMTU5MywgMi4zODc0OTAyNzI1MjE5NzI3XSwgWzE2NjM4NDE3MTMuMDc5MTU5NSwgMTYwMiwgMi4yMTU0MzA3MzY1NDE3NDhdLCBbMTY2Mzg0MTcxMy4xODE2MjU2LCAxNjExLCAyLjE3Mjk0OTA3NTY5ODg1MjVdLCBbMTY2Mzg0MTcxMy4zNjk4NzcsIDE2MjksIDIuMTIwMjM1NDQzMTE1MjM0NF0sIFsxNjYzODQxNzEzLjQ2NDcwMSwgMTYzOCwgMi4zNTgwMjMxNjY2NTY0OTRdLCBbMTY2Mzg0MTcxMy43ODA0NTU2LCAxNjY1LCAyLjE3NDM0MjM5Mzg3NTEyMl0sIFsxNjYzODQxNzEzLjg3MTkxMzcsIDE2NzQsIDEuODY3MTcxNzY0MzczNzc5M10sIFsxNjYzODQxNzEzLjk3MzE4NDgsIDE2ODMsIDIuNDgwNTA0OTg5NjI0MDIzNF0sIFsxNjYzODQxNzE0LjI1NDY0MjIsIDE3MTAsIDEuODE5NzAzNjk4MTU4MjY0Ml0sIFsxNjYzODQxNzE0LjM2MDE0MiwgMTcxOSwgMi41NTU0Mjk5MzU0NTUzMjIzXSwgWzE2NjM4NDE3MTQuNDU3OTUsIDE3MjgsIDIuMDk3MTQ0ODQyMTQ3ODI3XSwgWzE2NjM4NDE3MTQuNTUwODA3NywgMTczNywgMS45NzM5OTMzMDEzOTE2MDE2XSwgWzE2NjM4NDE3MTQuOTc1NDg2OCwgMTc2NCwgMi4yMzMwMzE5ODgxNDM5MjFdLCBbMTY2Mzg0MTcxNS4zNTE4NDEyLCAxODAwLCAxLjg2MjM2NTEyNjYwOTgwMjJdLCBbMTY2Mzg0MTcxNS40NTAzNDM2LCAxODA5LCAyLjM1MDQ1MzM3Njc3MDAxOTVdLCBbMTY2Mzg0MTcxNS42ODk1MzEzLCAxODI3LCAyLjEwMTI4NTQ1NzYxMTA4NF0sIFsxNjYzODQxNzE2LjA1MjM3MDgsIDE4MzYsIDIuMzY0ODYxMDExNTA1MTI3XSwgWzE2NjM4NDE3MTYuMTU3MDI1NiwgMTg0NSwgMi42NjAwNzk3MTc2MzYxMDg0XSwgWzE2NjM4NDE3MTYuMjQ3Mzg1NSwgMTg1NCwgMi4wMjE4MjkxMjgyNjUzODFdLCBbMTY2Mzg0MTcxNi40NTA2MTc4LCAxODcyLCAyLjMyNDQ3MjkwNDIwNTMyMjNdLCBbMTY2Mzg0MTcxNi42ODQyNzYzLCAxODkwLCAxLjgxMzcxNzg0MjEwMjA1MDhdLCBbMTY2Mzg0MTcxNi44ODMwNjYyLCAxOTA4LCAxLjk5ODIwNjAxOTQwMTU1MDNdLCBbMTY2Mzg0MTcxNy4wODE0NzIyLCAxOTI2LCAxLjg5ODQ2Mzg0NTI1Mjk5MDddLCBbMTY2Mzg0MTcxNy4yODk4NTY3LCAxOTQ0LCAyLjA2Mjk1NDE4NzM5MzE4ODVdLCBbMTY2Mzg0MTcxNy4zODUzOTEsIDE5NTMsIDIuMTcwNzM3OTgxNzk2MjY0Nl0sIFsxNjYzODQxNzE3LjYwNDQ3MywgMTk3MSwgMi43NTUwMTMyMjc0NjI3Njg2XSwgWzE2NjM4NDE3MTcuNzQzNzU4LCAxOTgwLCAyLjMxMzI3NTgxNDA1NjM5NjVdLCBbMTY2Mzg0MTcxNy44NjA2NzU4LCAxOTg5LCAyLjA1NzY4OTkwNTE2NjYyNl0sIFsxNjYzODQxNzE3Ljk4MDM5MDUsIDE5OTgsIDEuODkwNDg2NDc4ODA1NTQyXSwgWzE2NjM4NDE3MTguMTQxMjc2NCwgMjAwNywgMi4xNTI0MjA5OTc2MTk2MjldLCBbMTY2Mzg0MTcxOC4zNjU1Nzc3LCAyMDI1LCAxLjk3NzYxMjI1NzAwMzc4NDJdLCBbMTY2Mzg0MTcxOC40Nzk5NTQsIDIwMzQsIDIuMzcwMzkyMDg0MTIxNzA0XSwgWzE2NjM4NDE3MTguOTIxMjUzLCAyMDcwLCAyLjE1MTc1NDM3OTI3MjQ2MV0sIFsxNjYzODQxNzE5LjYwMzAyLCAyMTI0LCAyLjA5MjkzMTAzMjE4MDc4Nl0sIFsxNjYzODQxNzE5Ljg0NzU2NzYsIDIxNDIsIDEuODU3NjcyMDk1Mjk4NzY3XSwgWzE2NjM4NDE3MTkuOTY3OTAxMiwgMjE1MSwgMi4xMDUzMjkyNzUxMzEyMjU2XSwgWzE2NjM4NDE3MjAuMDg4NDk4NCwgMjE2MCwgMi4xNzI0OTU4NDE5Nzk5ODA1XSwgWzE2NjM4NDE3MjAuMzE2MDAxNywgMjE3OCwgMi4wNzgwMDcyMjEyMjE5MjRdLCBbMTY2Mzg0MTcyMC40MjQzMDUyLCAyMTg3LCAxLjg1MTg4NjAzNDAxMTg0MDhdLCBbMTY2Mzg0MTcyMC42NDY0OTk5LCAyMjA1LCAxLjkxMTIzOTUwNDgxNDE0OF0sIFsxNjYzODQxNzIwLjc0MjYzOSwgMjIxNCwgMi4zMTEwNDIzMDg4MDczNzNdLCBbMTY2Mzg0MTcyMC44MzY5MDQsIDIyMjMsIDEuOTk4MDE1NDAzNzQ3NTU4Nl0sIFsxNjYzODQxNzIwLjkzOTk4ODQsIDIyMzIsIDEuOTk2OTc5OTUxODU4NTIwNV0sIFsxNjYzODQxNzIxLjQxNjcxMSwgMjI3NywgMi41MTI5NDQ0NTk5MTUxNjFdLCBbMTY2Mzg0MTcyMS41MTExMzgyLCAyMjg2LCAxLjkyNDg0MjIzODQyNjIwODVdLCBbMTY2Mzg0MTcyMS42MDMzODM4LCAyMjk1LCAyLjM2MDQ4ODg5MTYwMTU2MjVdLCBbMTY2Mzg0MTcyMS44OTYzNjU0LCAyMzIyLCAyLjA4NjczMjE0OTEyNDE0NTVdLCBbMTY2Mzg0MTcyMi4wMDAyNjg1LCAyMzMxLCAyLjAwMzEyODUyODU5NDk3MDddLCBbMTY2Mzg0MTcyMi4wOTcyMTgzLCAyMzQwLCAxLjczNTI5NjAxMDk3MTA2OTNdLCBbMTY2Mzg0MTcyMi4xOTE2MDcsIDIzNDksIDEuODkwODY5NjE3NDYyMTU4Ml0sIFsxNjYzODQxNzIyLjM4MzI0ODYsIDIzNjcsIDEuOTUxNTc5MzMyMzUxNjg0Nl0sIFsxNjYzODQxNzIzLjE3ODA4NTgsIDI0MzksIDEuODM3ODQxMDMzOTM1NTQ2OV0sIFsxNjYzODQxNzIzLjI2NzQ4MzIsIDI0NDgsIDEuOTU3NTIxOTE1NDM1NzkxXSwgWzE2NjM4NDE3MjMuNTUzNjczLCAyNDc1LCAyLjMzNTQ5Nzg1NjE0MDEzNjddLCBbMTY2Mzg0MTcyMy43NTcyOTg1LCAyNDkzLCAxLjg5Mzc1NjM4OTYxNzkyXSwgWzE2NjM4NDE3MjMuOTM1ODY1NiwgMjUxMSwgMi4wMTg3MTQ5MDQ3ODUxNTYyXSwgWzE2NjM4NDE3MjQuMTI2NzI0LCAyNTI5LCAyLjE1Nzk3OTAxMTUzNTY0NDVdLCBbMTY2Mzg0MTcyNC4zNDI5NTU2LCAyNTQ3LCAxLjkxNTc5NDEzNDE0MDAxNDZdLCBbMTY2Mzg0MTcyNC40NjA1ODk0LCAyNTU2LCAyLjAxMjcyNTM1MzI0MDk2N10sIFsxNjYzODQxNzI0Ljg4NTA5NzcsIDI1NzQsIDEuODA4MzI0Njk0NjMzNDgzOV0sIFsxNjYzODQxNzI1LjA3Nzc0MSwgMjU5MiwgMS44OTMyMTE2MDMxNjQ2NzI5XSwgWzE2NjM4NDE3MjUuMTc0MDA4LCAyNjAxLCAxLjg4MzM4NzA4ODc3NTYzNDhdLCBbMTY2Mzg0MTcyNS4zNjU0NjIsIDI2MTksIDIuMDI4ODY2MDUyNjI3NTYzNV0sIFsxNjYzODQxNzI1Ljg2MzUyNTIsIDI2NjQsIDEuODkzNDMyMTQwMzUwMzQxOF0sIFsxNjYzODQxNzI1Ljk1MTQ1NjMsIDI2NzMsIDEuNzQ5MzA3MDM2Mzk5ODQxM10sIFsxNjYzODQxNzI2LjA1MTYzMzgsIDI2ODIsIDEuODY1OTY3NjMxMzQwMDI2OV0sIFsxNjYzODQxNzI2LjE1MDcwMDYsIDI2OTEsIDIuMTIzMjU1NDkxMjU2NzE0XSwgWzE2NjM4NDE3MjYuOTY2MTg3LCAyNzYzLCAyLjAwMjQ0OTk4OTMxODg0NzddLCBbMTY2Mzg0MTcyNy4xNTE2ODUyLCAyNzgxLCAxLjcxOTIxMjY1MTI1Mjc0NjZdLCBbMTY2Mzg0MTcyNy4yNTI0MjQsIDI3OTAsIDEuNjc3OTE5NjI2MjM1OTYyXSwgWzE2NjM4NDE3MjcuNjA5NSwgMjgxNywgMS41NzAyNjg4Njk0MDAwMjQ0XSwgWzE2NjM4NDE3MjcuNzYzNzY4NywgMjgyNiwgMS43MTU5MDk0ODEwNDg1ODRdLCBbMTY2Mzg0MTcyOC4yMDI3MzA3LCAyODUzLCAxLjc4MDM0OTczMTQ0NTMxMjVdLCBbMTY2Mzg0MTcyOC40OTE1MTEzLCAyODcxLCAxLjcxMzMxNzk5MDMwMzAzOTZdLCBbMTY2Mzg0MTcyOC41OTQxMjU1LCAyODgwLCAyLjI4OTk0NTYwMjQxNjk5Ml0sIFsxNjYzODQxNzI4Ljk1MDIzOTIsIDI5MDcsIDIuMzY5MDEyMzU1ODA0NDQzNF0sIFsxNjYzODQxNzI5LjE1MzU1MiwgMjkyNSwgMS41NjA0OTQ2NjEzMzExNzY4XSwgWzE2NjM4NDE3MjkuNjM0MzkxLCAyOTcwLCAxLjczOTI3NTY5Mzg5MzQzMjZdLCBbMTY2Mzg0MTcyOS43NDM5MTgsIDI5NzksIDEuNjQwMTM0MDk2MTQ1NjI5OV0sIFsxNjYzODQxNzI5LjgzNDY1MiwgMjk4OCwgMS42OTMzMTgxMjg1ODU4MTU0XSwgWzE2NjM4NDE3MjkuOTI1NzcxNSwgMjk5NywgMS45MzQ0OTM1NDE3MTc1MjkzXSwgWzE2NjM4NDE3MzAuNDE1Nzc0LCAzMDQyLCAxLjk2ODI1NDgwNDYxMTIwNl0sIFsxNjYzODQxNzMwLjUyMTQ3OTYsIDMwNTEsIDEuODE0NzE1ODYyMjc0MTddLCBbMTY2Mzg0MTczMC43MzAxOTQ4LCAzMDY5LCAxLjcyNjk2MTEzNTg2NDI1NzhdLCBbMTY2Mzg0MTczMS4wNjI2NTQsIDMwOTYsIDEuNjUxMzg5ODM3MjY1MDE0Nl0sIFsxNjYzODQxNzMxLjE2NzcwMzQsIDMxMDUsIDEuNzgxMjgxNzA5NjcxMDIwNV0sIFsxNjYzODQxNzMxLjI4MjM3NDYsIDMxMTQsIDEuNzY4NTI3ODY1NDA5ODUxXSwgWzE2NjM4NDE3MzEuMzcyMjI1LCAzMTIzLCAyLjM1NjU4MzgzMzY5NDQ1OF0sIFsxNjYzODQxNzMxLjY0MDEwNTIsIDMxNDEsIDIuMTU5ODcyMDU1MDUzNzExXSwgWzE2NjM4NDE3MzEuODY5NDUyNSwgMzE1OSwgMS43OTE2NTk5NTEyMTAwMjJdLCBbMTY2Mzg0MTczMi4wNzAyODM0LCAzMTc3LCAxLjUyMjg2Mjc5MjAxNTA3NTddLCBbMTY2Mzg0MTczMi4xNzc3MDg0LCAzMTg2LCAxLjU5MTYzMzY3NzQ4MjYwNV0sIFsxNjYzODQxNzMyLjI4MzYwMDYsIDMxOTUsIDEuODU4Njg3MTYyMzk5MjkyXSwgWzE2NjM4NDE3MzIuOTc0MDIzLCAzMjMxLCAyLjI2MDI4NDY2MjI0NjcwNF0sIFsxNjYzODQxNzMzLjIzNjE4NTgsIDMyNDksIDEuNjYwNzgxMTQ1MDk1ODI1Ml0sIFsxNjYzODQxNzMzLjQ3MjQ5MjUsIDMyNjcsIDIuMjU0MzkzMTAwNzM4NTI1NF0sIFsxNjYzODQxNzMzLjU5MTUzOTksIDMyNzYsIDIuMjExMTQ2ODMxNTEyNDUxXSwgWzE2NjM4NDE3MzMuNzA0NTUxLCAzMjg1LCAxLjg3NzQ4MDM4NzY4NzY4M10sIFsxNjYzODQxNzMzLjgyMzQ2NzMsIDMyOTQsIDIuMTg0Nzg5NjU3NTkyNzczNF0sIFsxNjYzODQxNzMzLjk0MTY5NzQsIDMzMDMsIDEuODcxMDYwMjUyMTg5NjM2Ml0sIFsxNjYzODQxNzM0LjA3MjQxNzUsIDMzMTIsIDEuNTY0NDc5NzA4NjcxNTY5OF0sIFsxNjYzODQxNzM0LjE5MDE0OTMsIDMzMjEsIDEuNjk3MTI1NzkyNTAzMzU3XSwgWzE2NjM4NDE3MzQuODk2NDYxNywgMzM3NSwgMS42NjI1NzU4NDA5NTAwMTIyXSwgWzE2NjM4NDE3MzUuMjM5MjI1NiwgMzQwMiwgMS44NzQzMDI3NDQ4NjU0MTc1XSwgWzE2NjM4NDE3MzUuMzMzNzc2NywgMzQxMSwgMS41OTE4NTM4NTcwNDA0MDUzXSwgWzE2NjM4NDE3MzYuMTg5MTE2LCAzNDgzLCAxLjU1NTkzNTE0NDQyNDQzODVdLCBbMTY2Mzg0MTczNi42MTcxODEzLCAzNTE5LCAxLjc1MDM3NjIyNDUxNzgyMjNdLCBbMTY2Mzg0MTczNi43MDk5MTIzLCAzNTI4LCAxLjgwMTkyNTY1OTE3OTY4NzVdLCBbMTY2Mzg0MTczNi44MTM5NjQ0LCAzNTM3LCAxLjQ1NjM2NzYxMTg4NTA3MDhdLCBbMTY2Mzg0MTczNi45MTQ2MTYzLCAzNTQ2LCAxLjU2MTAyODQ4MDUyOTc4NTJdLCBbMTY2Mzg0MTczNy4wMzUyMDU0LCAzNTU1LCAxLjg5MTEwOTIyODEzNDE1NTNdLCBbMTY2Mzg0MTczNy4xMzkxODEsIDM1NjQsIDEuNTY3Njc3MDIxMDI2NjExM10sIFsxNjYzODQxNzM3LjM2MTksIDM1ODIsIDEuODA1MTU0OTE5NjI0MzI4Nl0sIFsxNjYzODQxNzM3LjQ5MzQyMDYsIDM1OTEsIDEuNjQzNzQ3OTI1NzU4MzYxOF0sIFsxNjYzODQxNzM3LjYzMzg5NzMsIDM2MDAsIDEuNjQ4MDc3MzY4NzM2MjY3XSwgWzE2NjM4NDE3MzcuODM0MTQ4MiwgMzYxOCwgMi4xMjkxMTM0MzU3NDUyMzkzXSwgWzE2NjM4NDE3MzcuOTQ2NDkyLCAzNjI3LCAxLjU4MDgwNTc3ODUwMzQxOF0sIFsxNjYzODQxNzM4LjE1NTg4NDcsIDM2NDUsIDEuNzY5NjA2ODI4Njg5NTc1Ml0sIFsxNjYzODQxNzM4LjYxODQxOSwgMzY4MSwgMS40MjU2OTEwMDg1Njc4MV0sIFsxNjYzODQxNzM4Ljc1NTE3NzMsIDM2OTAsIDEuNDc1ODkxMzUxNjk5ODI5XSwgWzE2NjM4NDE3MzkuMDU1ODU0LCAzNzE3LCAxLjkyMjgxOTg1MjgyODk3OTVdLCBbMTY2Mzg0MTczOS4xNTQyOTY2LCAzNzI2LCAxLjY2OTg1MzQ0ODg2Nzc5NzldLCBbMTY2Mzg0MTczOS4yMzgyNzA4LCAzNzM1LCAxLjkxNTQ4OTc5MjgyMzc5MTVdLCBbMTY2Mzg0MTczOS4zMjk2NzA0LCAzNzQ0LCAxLjUyOTM2NDgyNDI5NTA0NF0sIFsxNjYzODQxNzM5LjY5NjEyMzgsIDM3NzEsIDEuOTIyNjk1Mzk4MzMwNjg4NV0sIFsxNjYzODQxNzQwLjA3MTM5MDIsIDM3OTgsIDEuNDc1NTIzMjMzNDEzNjk2M10sIFsxNjYzODQxNzQwLjE3NTQ1OCwgMzgwNywgMS42Nzc3NDkwMzc3NDI2MTQ3XSwgWzE2NjM4NDE3NDAuNDc4MjMyMSwgMzgzNCwgMS41NDI1NDczNDUxNjE0MzhdLCBbMTY2Mzg0MTc0MC41ODAxMzQyLCAzODQzLCAxLjgwNDk1NDQwOTU5OTMwNDJdLCBbMTY2Mzg0MTc0MS4wMDE2OSwgMzg3OSwgMS42NzU0OTM0Nzg3NzUwMjQ0XSwgWzE2NjM4NDE3NDEuMTA0MTEzLCAzODg4LCAxLjk3MTUwODI2NDU0MTYyNl0sIFsxNjYzODQxNzQxLjQwNDg2NCwgMzkxNSwgMS44NjAyMDMyNjYxNDM3OTg4XSwgWzE2NjM4NDE3NDEuNTAzNjkzLCAzOTI0LCAxLjU5MTM3NjE4NTQxNzE3NTNdLCBbMTY2Mzg0MTc0MS42MDI4MjIzLCAzOTMzLCAxLjU0MjUwNzc2NzY3NzMwNzFdLCBbMTY2Mzg0MTc0MS43ODM4ODQzLCAzOTQyLCAxLjU3OTA2MTk4NTAxNTg2OTFdLCBbMTY2Mzg0MTc0MS45NTE2MDUsIDM5NTEsIDEuNDk1MjEzNzQ3MDI0NTM2MV0sIFsxNjYzODQxNzQyLjA3NDg2NDksIDM5NjAsIDEuNTQxNDM1NTk5MzI3MDg3NF0sIFsxNjYzODQxNzQyLjIzODkyNzEsIDM5NjksIDEuNTIxNzk3ODk1NDMxNTE4Nl0sIFsxNjYzODQxNzQyLjU1MjA0MywgMzk3OCwgMS40NDY4MjEyMTI3Njg1NTQ3XSwgWzE2NjM4NDE3NDIuNzczNzQyNCwgMzk5NiwgMS42NjgzMzg2NTY0MjU0NzZdLCBbMTY2Mzg0MTc0Mi44Njk4NCwgNDAwNSwgMS4zODQ0NzM5MTk4Njg0NjkyXSwgWzE2NjM4NDE3NDIuOTc2NjQwMiwgNDAxNCwgMS41NTk2ODc2MTQ0NDA5MThdLCBbMTY2Mzg0MTc0My4xMjI1OTYsIDQwMjMsIDEuNjM5MDk2MTQwODYxNTExMl0sIFsxNjYzODQxNzQzLjU0MDE0NCwgNDA1OSwgMS41NDQ0NzE4NTk5MzE5NDU4XSwgWzE2NjM4NDE3NDMuNjc1MTYzLCA0MDY4LCAxLjM3MzA0MTUxMDU4MTk3MDJdLCBbMTY2Mzg0MTc0My43OTUwMzI1LCA0MDc3LCAxLjU5MjQ2MDc1MTUzMzUwODNdLCBbMTY2Mzg0MTc0My44OTEzNjA1LCA0MDg2LCAxLjg1NjA2ODczMDM1NDMwOV0sIFsxNjYzODQxNzQ0LjAzMDQ0MzQsIDQwOTUsIDEuNTgyOTkwNTI3MTUzMDE1MV0sIFsxNjYzODQxNzQ0LjI5MDczMDUsIDQxMTMsIDEuNDc4ODU3Mjc4ODIzODUyNV0sIFsxNjYzODQxNzQ0LjQ5NzY4MzUsIDQxMzEsIDIuMTAwNzcxNjY1NTczMTJdLCBbMTY2Mzg0MTc0NC43NDU1NjA2LCA0MTQ5LCAxLjQyNDAwMzYwMTA3NDIxODhdLCBbMTY2Mzg0MTc0NC44NTI1NzA4LCA0MTU4LCAxLjY2ODIwMDg1MDQ4Njc1NTRdLCBbMTY2Mzg0MTc0NS4xNTY4NDM0LCA0MTg1LCAxLjUzMzQ3MDc0OTg1NTA0MTVdLCBbMTY2Mzg0MTc0NS4yNTkwMjQsIDQxOTQsIDEuNjM1MDg2NDE3MTk4MTgxMl0sIFsxNjYzODQxNzQ1LjM1MzU3NTIsIDQyMDMsIDEuNDE3ODgzODcyOTg1ODM5OF0sIFsxNjYzODQxNzQ1LjU1MDAxODgsIDQyMjEsIDEuNzk0NjAzOTQzODI0NzY4XSwgWzE2NjM4NDE3NDUuNzQzMjM1NiwgNDIzOSwgMS40Mzc1MjI2NDk3NjUwMTQ2XSwgWzE2NjM4NDE3NDYuMTQ5MzI5NywgNDI3NSwgMS42MzI4MDMyMDE2NzU0MTVdLCBbMTY2Mzg0MTc0Ni4yNDcyNDg2LCA0Mjg0LCAxLjQ5NTA5MDYwMzgyODQzMDJdLCBbMTY2Mzg0MTc0Ni41MzUxNDAzLCA0MzExLCAxLjU1Mjc2NTYwNzgzMzg2MjNdLCBbMTY2Mzg0MTc0Ni42Mzc5OTYyLCA0MzIwLCAxLjQzMDE0MTQ0ODk3NDYwOTRdLCBbMTY2Mzg0MTc0Ni43NDMxNzY3LCA0MzI5LCAxLjUwODc2OTE1NDU0ODY0NV0sIFsxNjYzODQxNzQ2LjgzNzU4MywgNDMzOCwgMS4zMDk4NzYzMjI3NDYyNzY5XSwgWzE2NjM4NDE3NDYuOTQ3MjQyLCA0MzQ3LCAxLjU0NjM1NDA1NTQwNDY2M10sIFsxNjYzODQxNzQ3LjA3MzQ4NjYsIDQzNTYsIDEuNDcyNzkzNTc5MTAxNTYyNV0sIFsxNjYzODQxNzQ3LjIwNDY2MDcsIDQzNjUsIDEuNDI0NTY5NjA2NzgxMDA1OV0sIFsxNjYzODQxNzQ3LjQ0NDExMzUsIDQzODMsIDEuNjQzMDgxNjY1MDM5MDYyNV0sIFsxNjYzODQxNzQ3LjU3Njg2MjgsIDQzOTIsIDEuODc0MzkwMTI1Mjc0NjU4Ml0sIFsxNjYzODQxNzQ3LjcxNDU0ODYsIDQ0MDEsIDEuNDg1ODM2ODYzNTE3NzYxMl0sIFsxNjYzODQxNzQ3LjgxNDkzOTcsIDQ0MTAsIDEuNjc5Mzg3MjExNzk5NjIxNl0sIFsxNjYzODQxNzQ4LjAzNDYyMDgsIDQ0MjgsIDEuNzAxMDE5Mjg3MTA5Mzc1XSwgWzE2NjM4NDE3NDguMzQ1MDMyNywgNDQ1NSwgMS40MTAyMDYzMTc5MDE2MTEzXSwgWzE2NjM4NDE3NDguODE1MzE4LCA0NDkxLCAxLjU3NjM2MzQ0NDMyODMwOF0sIFsxNjYzODQxNzQ5LjE3OTkyNCwgNDUxOCwgMS42NDMyNjc5ODkxNTg2MzA0XSwgWzE2NjM4NDE3NDkuMjg5MzI1NSwgNDUyNywgMi4wMjI4Njk1ODY5NDQ1OF0sIFsxNjYzODQxNzQ5LjM4MDE2NjMsIDQ1MzYsIDEuNDI4NjgxNzMxMjI0MDZdLCBbMTY2Mzg0MTc0OS42Nzc4MTgsIDQ1NjMsIDEuNDE2ODEzOTY5NjEyMTIxNl0sIFsxNjYzODQxNzQ5LjkxMjM4ODgsIDQ1ODEsIDEuNTY4MzE0NTUyMzA3MTI5XSwgWzE2NjM4NDE3NTAuMDMzODgyNiwgNDU5MCwgMS44NjMzMjUzNTc0MzcxMzM4XSwgWzE2NjM4NDE3NTAuMTM1NzU4LCA0NTk5LCAxLjQ1MzU1ODIwNjU1ODIyNzVdLCBbMTY2Mzg0MTc1MC4yMjcxMTQyLCA0NjA4LCAxLjQ0MTY4MTk4MTA4NjczMV0sIFsxNjYzODQxNzUwLjMxNzk3MDUsIDQ2MTcsIDIuMDA5MjE1MzU0OTE5NDMzNl0sIFsxNjYzODQxNzUwLjQxMjQ4MjcsIDQ2MjYsIDEuNDM0OTIxNzQxNDg1NTk1N10sIFsxNjYzODQxNzUwLjUxMTcwMDIsIDQ2MzUsIDEuNDM1MjA3NzI0NTcxMjI4XSwgWzE2NjM4NDE3NTAuODYyNTc0NiwgNDY2MiwgMS44MzUwMzQxMzIwMDM3ODQyXSwgWzE2NjM4NDE3NTAuOTg3MTAwMSwgNDY3MSwgMS41NDM1OTk4NDM5Nzg4ODE4XSwgWzE2NjM4NDE3NTEuMTE3NjMsIDQ2ODAsIDEuNDk1OTgxMjE2NDMwNjY0XSwgWzE2NjM4NDE3NTEuMjMxMDY4NCwgNDY4OSwgMi4wNjI2MDcyODgzNjA1OTU3XSwgWzE2NjM4NDE3NTEuNTI4MDE0MiwgNDcxNiwgMS42MjAzNzAzODgwMzEwMDU5XSwgWzE2NjM4NDE3NTIuNDI5MDI3NiwgNDc3OSwgMS4zNDM3MzIxMTg2MDY1Njc0XSwgWzE2NjM4NDE3NTIuNzMyMDQ1MiwgNDgwNiwgMS44MDU3NzY0NzY4NjAwNDY0XSwgWzE2NjM4NDE3NTIuODIyNjg1NSwgNDgxNSwgMS41NzYxNTU2NjI1MzY2MjFdLCBbMTY2Mzg0MTc1My4wNjk1NTk4LCA0ODMzLCAxLjQxNjg5ODM2OTc4OTEyMzVdLCBbMTY2Mzg0MTc1My4yMTI0NzEyLCA0ODQyLCAxLjM0ODAwNzY3ODk4NTU5NTddLCBbMTY2Mzg0MTc1My4zMzMzMjU2LCA0ODUxLCAxLjY4MDI4NTMzNDU4NzA5NzJdLCBbMTY2Mzg0MTc1My40NDU0Mjg0LCA0ODYwLCAxLjQyMzYwNzk0NTQ0MjE5OTddLCBbMTY2Mzg0MTc1My41NzA2NDU2LCA0ODY5LCAxLjU5MTQ3ODcwNTQwNjE4OV0sIFsxNjYzODQxNzUzLjgxMDI1OCwgNDg4NywgMS43NTc1MDEwMDYxMjY0MDM4XSwgWzE2NjM4NDE3NTMuOTIwNDk5NiwgNDg5NiwgMS40MzUzODg5MjI2OTEzNDUyXSwgWzE2NjM4NDE3NTQuMDMwNDQ5NiwgNDkwNSwgMS4yNTUwNzI1OTM2ODg5NjQ4XSwgWzE2NjM4NDE3NTQuMjY2MzkzMiwgNDkyMywgMS4yOTk3NjU5NDQ0ODA4OTZdLCBbMTY2Mzg0MTc1NC4zNjc4Nzc3LCA0OTMyLCAxLjQxOTcxOTQ1NzYyNjM0MjhdLCBbMTY2Mzg0MTc1NC42OTg2OTYxLCA0OTU5LCAxLjY0NTM2MDgyNzQ0NTk4MzldLCBbMTY2Mzg0MTc1NC45MTI2OTc4LCA0OTc3LCAxLjY0ODQ5MTk3ODY0NTMyNDddLCBbMTY2Mzg0MTc1NS4xODkwNjk3LCA0OTk1LCAxLjMyMDg0MTQzMTYxNzczNjhdLCBbMTY2Mzg0MTc1NS4yOTIxOTc3LCA1MDA0LCAxLjQ4Mjk1Njc2NzA4MjIxNDRdLCBbMTY2Mzg0MTc1NS4zOTg4OTg4LCA1MDEzLCAxLjQ2MTQ0MTUxNjg3NjIyMDddLCBbMTY2Mzg0MTc1Ni4wNTQzNjc1LCA1MDY3LCAxLjU2NjE2NTQ0NzIzNTEwNzRdLCBbMTY2Mzg0MTc1Ni4xNTI4MjEsIDUwNzYsIDEuNDgyOTI4Mjc2MDYyMDExN10sIFsxNjYzODQxNzU2LjI0NzMyMDIsIDUwODUsIDEuNTExMzExNzY5NDg1NDczNl0sIFsxNjYzODQxNzU2LjY5MTYwMDMsIDUxMjEsIDEuNjAwNTk4MjE2MDU2ODIzN10sIFsxNjYzODQxNzU3LjA2MTYzLCA1MTQ4LCAxLjI3Nzg0MDg1MjczNzQyNjhdLCBbMTY2Mzg0MTc1Ny4yOTg1OCwgNTE2NiwgMS42NTM4MTE1NzM5ODIyMzg4XSwgWzE2NjM4NDE3NTcuNTkzMzU2MSwgNTE5MywgMS41NTAxMDQyNjA0NDQ2NDExXSwgWzE2NjM4NDE3NTguMDIzODUxMiwgNTIyOSwgMS4yNzQ1NjY2NTAzOTA2MjVdLCBbMTY2Mzg0MTc1OC40MjExMDA2LCA1MjY1LCAxLjI2MjA1MjUzNjAxMDc0MjJdLCBbMTY2Mzg0MTc1OC41NDQyMDk3LCA1Mjc0LCAxLjUxNjI0ODk0MTQyMTUwODhdLCBbMTY2Mzg0MTc1OC42NjY1NDAxLCA1MjgzLCAxLjQ5NjU2MTUyNzI1MjE5NzNdLCBbMTY2Mzg0MTc1OC44Nzk1Nzc5LCA1MzAxLCAxLjM3MTIzMDEyNTQyNzI0Nl0sIFsxNjYzODQxNzU5LjA3Nzk5OTYsIDUzMTksIDEuMjk2MjczNDY5OTI0OTI2OF0sIFsxNjYzODQxNzU5LjE3MzU4OTUsIDUzMjgsIDEuNDQ0OTI0MTE2MTM0NjQzNl0sIFsxNjYzODQxNzU5LjI3MjgwMDcsIDUzMzcsIDEuMzM5NjE4NDQ0NDQyNzQ5XSwgWzE2NjM4NDE3NTkuNDgwMjEyMiwgNTM1NSwgMS41MzQ3MDUwNDI4MzkwNTAzXSwgWzE2NjM4NDE3NTkuNjcyMDE5NSwgNTM3MywgMi4yODU1MjQxMjk4Njc1NTM3XSwgWzE2NjM4NDE3NTkuNzYzNDExOCwgNTM4MiwgMS40NTM2OTI5MTMwNTU0Ml0sIFsxNjYzODQxNzU5Ljg2NTg4MzQsIDUzOTEsIDEuMjk2ODczMDkyNjUxMzY3Ml0sIFsxNjYzODQxNzU5Ljk2NzY1NjYsIDU0MDAsIDEuNDg3MjYwMTAzMjI1NzA4XSwgWzE2NjM4NDE3NjAuMTUwMDQ5NCwgNTQxOCwgMS40MzgxNjg1MjU2OTU4MDA4XSwgWzE2NjM4NDE3NjAuMjQzNTAzNiwgNTQyNywgMS43ODc5NjQ5NDAwNzExMDZdLCBbMTY2Mzg0MTc2MC4zMjg1NjI3LCA1NDM2LCAxLjI1MTE5NDU5NjI5MDU4ODRdLCBbMTY2Mzg0MTc2MC41MTk3NTczLCA1NDU0LCAxLjI3ODkxMTgyODk5NDc1MV0sIFsxNjYzODQxNzYxLjA4MTc2NzgsIDU0ODEsIDEuMjMzMTQwMjMwMTc4ODMzXSwgWzE2NjM4NDE3NjEuMjc1NDE2NiwgNTQ5OSwgMS41NTcwNDY3NzEwNDk0OTk1XSwgWzE2NjM4NDE3NjEuNTYyMjA3NywgNTUyNiwgMS42MjI2MTY0MTAyNTU0MzIxXSwgWzE2NjM4NDE3NjEuNjY2MTE1MywgNTUzNSwgMS4zNzA4NzQyODU2OTc5MzddLCBbMTY2Mzg0MTc2MS44NTY5NzU2LCA1NTUzLCAxLjU4NzM0MTY2NjIyMTYxODddLCBbMTY2Mzg0MTc2Mi4wNTQwNjEyLCA1NTcxLCAxLjYxODMwODc4MjU3NzUxNDZdLCBbMTY2Mzg0MTc2Mi4yNDYzMzEyLCA1NTg5LCAxLjU3MDQyMDAyNjc3OTE3NDhdLCBbMTY2Mzg0MTc2Mi40MzQ2OTQ4LCA1NjA3LCAxLjgyMjQzNzE2NzE2NzY2MzZdLCBbMTY2Mzg0MTc2Mi41NDA0NzI1LCA1NjE2LCAxLjUxNjUyNDkxMDkyNjgxODhdLCBbMTY2Mzg0MTc2Mi44MTk1MjQ1LCA1NjQzLCAxLjMxNjIwNjY5MzY0OTI5Ml0sIFsxNjYzODQxNzYzLjAwOTYwNzgsIDU2NjEsIDEuMjI0NTc3Nzg0NTM4MjY5XSwgWzE2NjM4NDE3NjMuMTExMDcyMywgNTY3MCwgMS4zMzk4NDU4OTU3NjcyMTJdLCBbMTY2Mzg0MTc2My41ODExOTc3LCA1NzA2LCAxLjM5ODM3MDk4MTIxNjQzMDddLCBbMTY2Mzg0MTc2NC4xMTg2OTY3LCA1NzQyLCAxLjIwMzA5OTYwODQyMTMyNTddLCBbMTY2Mzg0MTc2NC40ODgzNDI4LCA1NzY5LCAxLjMxMTgzNTI4OTAwMTQ2NDhdLCBbMTY2Mzg0MTc2NC42MDU1MjU1LCA1Nzc4LCAxLjM5NDYyODc2MzE5ODg1MjVdLCBbMTY2Mzg0MTc2NC43MTg4MTM3LCA1Nzg3LCAxLjM1NjQ3MjYxMTQyNzMwNzFdLCBbMTY2Mzg0MTc2NC44MzA4MjQ5LCA1Nzk2LCAxLjYyMTI2OTgyMjEyMDY2NjVdLCBbMTY2Mzg0MTc2NC45NDMzNDMyLCA1ODA1LCAxLjMxODY5MTEzNDQ1MjgxOThdLCBbMTY2Mzg0MTc2NS4wNjE4NzQ0LCA1ODE0LCAxLjUyNTU3MTcwMzkxMDgyNzZdLCBbMTY2Mzg0MTc2NS40ODc3MjUzLCA1ODUwLCAxLjY0OTgxMTYyNTQ4MDY1MTldLCBbMTY2Mzg0MTc2NS42OTUyMzU3LCA1ODY4LCAxLjQ1MjA3NDUyNzc0MDQ3ODVdLCBbMTY2Mzg0MTc2NS43OTIyNTYsIDU4NzcsIDEuMzEwNjk3MzE3MTIzNDEzXSwgWzE2NjM4NDE3NjUuODg5ODY4NSwgNTg4NiwgMS40NDU0MDM2OTUxMDY1MDYzXSwgWzE2NjM4NDE3NjUuOTkzNjU1NCwgNTg5NSwgMS4yODA1MTQzNTk0NzQxODIxXSwgWzE2NjM4NDE3NjYuMDgwNjYzNCwgNTkwNCwgMS4zMTAyMzY5MzA4NDcxNjhdLCBbMTY2Mzg0MTc2Ni4zODE5NTYzLCA1OTMxLCAxLjQ1NTE4NTUzMjU2OTg4NTNdLCBbMTY2Mzg0MTc2Ni40ODA3NDYzLCA1OTQwLCAxLjIwOTU4ODY0Njg4ODczM10sIFsxNjYzODQxNzY2LjU3MjU0NCwgNTk0OSwgMS40MTI1MzE5NzE5MzE0NTc1XSwgWzE2NjM4NDE3NjcuMzI4MzAwNywgNjAxMiwgMS4xMTMwMDI1Mzg2ODEwMzAzXSwgWzE2NjM4NDE3NjcuNjE2NzUxNywgNjAzOSwgMS4yMjQ0OTM4NjExOTg0MjUzXSwgWzE2NjM4NDE3NjguMjE0MDMwNywgNjA4NCwgMS4yNjY0NjcyMTM2MzA2NzYzXSwgWzE2NjM4NDE3NjguMzA4MDY2OCwgNjA5MywgMS40MTY0MTU5Mjk3OTQzMTE1XSwgWzE2NjM4NDE3NjguNDQ2NTQ4NSwgNjEwMiwgMS4yNTcwODQ2MDgwNzgwMDNdLCBbMTY2Mzg0MTc2OC44MDQ5NjE3LCA2MTI5LCAxLjM2MDgyNDU4NDk2MDkzNzVdLCBbMTY2Mzg0MTc2OS4wMzI4ODI1LCA2MTQ3LCAxLjM2NzE2ODkwMzM1MDgzXSwgWzE2NjM4NDE3NjkuMTUxNzcyNywgNjE1NiwgMS4zMTk5MDU0MDAyNzYxODRdLCBbMTY2Mzg0MTc2OS4yNzgzMTM0LCA2MTY1LCAxLjM3MzIxOTYwOTI2MDU1OV0sIFsxNjYzODQxNzY5LjYyMDQzMTQsIDYxOTIsIDEuMTcxNDcwMTY1MjUyNjg1NV0sIFsxNjYzODQxNzcwLjQ1MTcyNTUsIDYyMzcsIDEuMjQwMjgwMjcwNTc2NDc3XSwgWzE2NjM4NDE3NzAuNjU1ODI3NSwgNjI1NSwgMS42NDgyMjM5OTYxNjI0MTQ2XSwgWzE2NjM4NDE3NzAuODkzODEyMiwgNjI3MywgMS4yODkzMzM1ODE5MjQ0Mzg1XSwgWzE2NjM4NDE3NzEuMDMzNzI5OCwgNjI4MiwgMS4zNDA3NzI2Mjg3ODQxNzk3XSwgWzE2NjM4NDE3NzEuMjY5OTUxMywgNjMwMCwgMS43MTg0NjE5OTAzNTY0NDUzXSwgWzE2NjM4NDE3NzEuNTc3NTY0MiwgNjMyNywgMS4zNjIyMTc0MjYzMDAwNDg4XSwgWzE2NjM4NDE3NzEuNjgyODQzNywgNjMzNiwgMS4wODQxNjM2NjU3NzE0ODQ0XSwgWzE2NjM4NDE3NzEuODcyODYxNiwgNjM1NCwgMS40MTc0MjY4MjQ1Njk3MDIxXSwgWzE2NjM4NDE3NzIuMjkxMTgzNSwgNjM5MCwgMS4yODYyNTcwMjg1Nzk3MTJdLCBbMTY2Mzg0MTc3Mi4zODcwMTA2LCA2Mzk5LCAxLjI2MDc4ODIwMjI4NTc2NjZdLCBbMTY2Mzg0MTc3Mi41ODY1MzE2LCA2NDE3LCAxLjIxMDY0MzA1MzA1NDgwOTZdLCBbMTY2Mzg0MTc3Mi44NzYwNTkzLCA2NDQ0LCAxLjI4NDY4OTQyNjQyMjExOTFdLCBbMTY2Mzg0MTc3My4wNTg0Njc5LCA2NDYyLCAxLjIwMjUyMzIzMTUwNjM0NzddLCBbMTY2Mzg0MTc3My4yNDYzNjksIDY0ODAsIDEuMjA3NTYxODUwNTQ3NzkwNV0sIFsxNjYzODQxNzczLjMzMDg3NiwgNjQ4OSwgMS4xMjE3NTExODkyMzE4NzI2XSwgWzE2NjM4NDE3NzMuNDI3NTc0NiwgNjQ5OCwgMS4yMTgxNjU4NzQ0ODEyMDEyXSwgWzE2NjM4NDE3NzMuNjAxMTA1NywgNjUxNiwgMS40MzcyNjk5MjYwNzExNjddLCBbMTY2Mzg0MTc3My44NDU2NDQsIDY1MzQsIDEuMjU2Mjg3NjkzOTc3MzU2XSwgWzE2NjM4NDE3NzMuOTg1ODczNSwgNjU0MywgMS4zMjU0NTA2NTg3OTgyMTc4XSwgWzE2NjM4NDE3NzQuMTI1ODMxOCwgNjU1MiwgMS42NzIzNTE0Nzk1MzAzMzQ1XSwgWzE2NjM4NDE3NzQuMjY4OTI5MiwgNjU2MSwgMS4yNzc3MzEwNjA5ODE3NTA1XSwgWzE2NjM4NDE3NzQuMzk5Nzc3LCA2NTcwLCAxLjU3NDgwOTkwODg2Njg4MjNdLCBbMTY2Mzg0MTc3NC42Nzg5MzU4LCA2NTg4LCAxLjU0MzA0MzczMjY0MzEyNzRdLCBbMTY2Mzg0MTc3NC44MTEzMDIsIDY1OTcsIDEuMjA3OTcyMjg4MTMxNzEzOV0sIFsxNjYzODQxNzc0LjkxNzU5NjgsIDY2MDYsIDEuNDk1MDQzNjM1MzY4MzQ3Ml0sIFsxNjYzODQxNzc1LjM5NTUwMTksIDY2NTEsIDEuMzA2MjAyNTMwODYwOTAwOV0sIFsxNjYzODQxNzc1LjQ5MjIwNzMsIDY2NjAsIDEuNDA5MjA5MjUxNDAzODA4Nl0sIFsxNjYzODQxNzc1Ljc4MTU0MTYsIDY2ODcsIDEuNTEzNDQzNzA4NDE5Nzk5OF0sIFsxNjYzODQxNzc1Ljg5NDMzMTUsIDY2OTYsIDEuMjA0MzcyNDA2MDA1ODU5NF0sIFsxNjYzODQxNzc2LjAwODg2NjMsIDY3MDUsIDEuMzcxNzgzOTcxNzg2NDk5XSwgWzE2NjM4NDE3NzYuMTI1NDY2OCwgNjcxNCwgMS40NDU3MTk3MTg5MzMxMDU1XSwgWzE2NjM4NDE3NzYuODczNDI1LCA2Nzc3LCAxLjI1ODMwMTM3NzI5NjQ0NzhdLCBbMTY2Mzg0MTc3Ny4yMDY3NDIzLCA2ODA0LCAxLjM5Njc3NzM5MTQzMzcxNThdLCBbMTY2Mzg0MTc3Ny4zMTA0Mzg5LCA2ODEzLCAxLjI3MzU5NDYxNzg0MzYyOF0sIFsxNjYzODQxNzc3LjUyOTg3OCwgNjgzMSwgMS4zNjkzNTg4OTcyMDkxNjc1XSwgWzE2NjM4NDE3NzguMDUwMjQyNywgNjg3NiwgMS4zNDg0NDUxNzcwNzgyNDddLCBbMTY2Mzg0MTc3OC4xMzgzNjQsIDY4ODUsIDEuNDM1NTcyMDI4MTYwMDk1Ml0sIFsxNjYzODQxNzc4LjI1NTQxMDIsIDY4OTQsIDEuMjQ4OTE3MTAyODEzNzIwN10sIFsxNjYzODQxNzc4LjU4NzU1NTYsIDY5MjEsIDEuMjQ4NzExODI0NDE3MTE0M10sIFsxNjYzODQxNzc4LjY5OTg0NTgsIDY5MzAsIDEuMTcxNDUzNDc1OTUyMTQ4NF0sIFsxNjYzODQxNzc5LjIyMjAyNSwgNjk1NywgMS4zODgzMzE1MzI0NzgzMzI1XSwgWzE2NjM4NDE3NzkuNTU4NTU3MywgNjk4NCwgMS4zNjA2MTA0ODUwNzY5MDQzXSwgWzE2NjM4NDE3NzkuNjY5ODA1NSwgNjk5MywgMS40Nzg1NzIxMzAyMDMyNDddLCBbMTY2Mzg0MTc3OS45NDA2ODEsIDcwMTEsIDEuMjc0Njc0NjU0MDA2OTU4XSwgWzE2NjM4NDE3ODAuMDU1MzgwNiwgNzAyMCwgMS40NzU2NDYyNTc0MDA1MTI3XSwgWzE2NjM4NDE3ODAuMTc1ODU1MiwgNzAyOSwgMS4yOTI1NTgxOTMyMDY3ODddLCBbMTY2Mzg0MTc4MC4yOTA1MjA3LCA3MDM4LCAxLjI2NDA0OTY0OTIzODU4NjRdLCBbMTY2Mzg0MTc4MC40MDI0Nzk2LCA3MDQ3LCAxLjExNjExNjg4MTM3MDU0NDRdLCBbMTY2Mzg0MTc4MS4wODM3NDM2LCA3MTAxLCAxLjQyMTkzMTAyODM2NjA4ODldLCBbMTY2Mzg0MTc4MS40MTA2NTUzLCA3MTI4LCAxLjI3Njk1NTg0Mjk3MTgwMThdLCBbMTY2Mzg0MTc4MS42MjkwNzg5LCA3MTQ2LCAxLjIxMTcwNTA4ODYxNTQxNzVdLCBbMTY2Mzg0MTc4MS44NTc2ODUzLCA3MTY0LCAxLjI5MDIwNDI4NjU3NTMxNzRdLCBbMTY2Mzg0MTc4Mi4zNDk0MDI3LCA3MjAwLCAxLjU0NzM4MDA4OTc1OTgyNjddLCBbMTY2Mzg0MTc4Mi40NDA2NjMzLCA3MjA5LCAxLjI2ODM3MDE1MTUxOTc3NTRdLCBbMTY2Mzg0MTc4Mi45MjMwNTEsIDcyNDUsIDEuNTg3NjYwNTUxMDcxMTY3XSwgWzE2NjM4NDE3ODMuMDQ4MzY0LCA3MjU0LCAxLjU3OTk4NDkwMzMzNTU3MTNdLCBbMTY2Mzg0MTc4My4xNDY2MDg0LCA3MjYzLCAxLjE1NTkxMjc1NjkxOTg2MDhdLCBbMTY2Mzg0MTc4My4yMzU3MjU5LCA3MjcyLCAxLjY0NTEzOTgxMzQyMzE1NjddLCBbMTY2Mzg0MTc4My41NDQ4MDgxLCA3Mjk5LCAxLjExOTE1NjcxODI1NDA4OTRdLCBbMTY2Mzg0MTc4NC4zMTMyMDgsIDczNzEsIDEuMzk0MTgzNzU0OTIwOTU5NV0sIFsxNjYzODQxNzg0LjQ1NzE4OSwgNzM4MCwgMS4yOTUxNjk3MTExMTI5NzZdLCBbMTY2Mzg0MTc4NC43MTk0OTcyLCA3Mzk4LCAxLjA2MDYzODY2NjE1Mjk1NF0sIFsxNjYzODQxNzg0Ljk1MzMwNzYsIDc0MTYsIDEuNDUyODIzODc3MzM0NTk0N10sIFsxNjYzODQxNzg1LjE4NTgyNzcsIDc0MzQsIDEuMjMzMzQ0MTk3MjczMjU0NF0sIFsxNjYzODQxNzg1LjMwMTc2MDIsIDc0NDMsIDEuMDIyNzQ0NDE3MTkwNTUxOF0sIFsxNjYzODQxNzg1LjQyMzU3MzUsIDc0NTIsIDEuMDU2NDA5NTk3Mzk2ODUwNl0sIFsxNjYzODQxNzg1LjUyNzgyMzQsIDc0NjEsIDEuNTcxNTI3MDA0MjQxOTQzNF0sIFsxNjYzODQxNzg2LjAwNDMxMjUsIDc0OTcsIDEuMjI1MDY4OTI2ODExMjE4M10sIFsxNjYzODQxNzg2LjEwNTk3NDIsIDc1MDYsIDEuMTY4MzkwNzUwODg1MDA5OF0sIFsxNjYzODQxNzg2LjMwNTA5OCwgNzUyNCwgMS4yNzM2NjQ3MTI5MDU4ODM4XSwgWzE2NjM4NDE3ODYuMzk0Mzk3LCA3NTMzLCAxLjI5NTc2ODAyMjUzNzIzMTRdLCBbMTY2Mzg0MTc4Ni41Mzg3Mzg3LCA3NTQyLCAxLjI0OTU1OTUyMTY3NTEwOTldLCBbMTY2Mzg0MTc4Ni43NzI0NzY0LCA3NTYwLCAxLjQyNzE3OTU3NDk2NjQzMDddLCBbMTY2Mzg0MTc4Ni44OTA1OTksIDc1NjksIDEuMjU4NDU2MzQ5MzcyODYzOF0sIFsxNjYzODQxNzg3LjI1MzQ5MzgsIDc1OTYsIDEuNTc3MTYxOTA4MTQ5NzE5Ml0sIFsxNjYzODQxNzg3LjUwMDEwMDEsIDc2MTQsIDEuNzc3MDUwMDE4MzEwNTQ2OV0sIFsxNjYzODQxNzg4LjExMjY4NSwgNzY1OSwgMS4zMzc3MTA4NTczOTEzNTc0XSwgWzE2NjM4NDE3ODguMjYxNDYwOCwgNzY2OCwgMS4xMTcxODcxNDIzNzIxMzEzXSwgWzE2NjM4NDE3ODguNTk5NzM5OCwgNzY5NSwgMS4xNzg1NzQ2ODEyODIwNDM1XSwgWzE2NjM4NDE3ODkuMTc2NDIxOSwgNzcyMiwgMS4wNjI3MTI2NjkzNzI1NTg2XSwgWzE2NjM4NDE3ODkuNDcxMzczMywgNzc0OSwgMS4xNzczOTIwMDU5MjA0MTAyXSwgWzE2NjM4NDE3ODkuNjgxODQ3LCA3NzY3LCAxLjU5NDM5MDc0OTkzMTMzNTRdLCBbMTY2Mzg0MTc5MC4wMDEzNzQsIDc3OTQsIDEuNjY4NTYyMTczODQzMzgzOF0sIFsxNjYzODQxNzkwLjEzMDI1NzQsIDc4MDMsIDEuNDE5OTUyMTU0MTU5NTQ2XSwgWzE2NjM4NDE3OTAuNjM4NjY1LCA3ODM5LCAxLjM3ODgwMTgyMjY2MjM1MzVdLCBbMTY2Mzg0MTc5MC43NzExMjMsIDc4NDgsIDEuMjA3NzIxOTQ4NjIzNjU3Ml0sIFsxNjYzODQxNzkxLjk0OTQzMjYsIDc5MzgsIDEuMDQxNjAxMTgxMDMwMjczNF0sIFsxNjYzODQxNzkyLjE3OTQ0NTcsIDc5NTYsIDEuMTI0Mjc4NDI2MTcwMzQ5MV0sIFsxNjYzODQxNzkyLjI5Mzg1MTYsIDc5NjUsIDEuNDA2MDE4MDE4NzIyNTM0Ml0sIFsxNjYzODQxNzkyLjQwMTUxNywgNzk3NCwgMS4wMzkzNDg0ODMwODU2MzIzXSwgWzE2NjM4NDE3OTIuNTI5MjgyLCA3OTgzLCAxLjAzNjM4MjA3OTEyNDQ1MDddLCBbMTY2Mzg0MTc5Mi43NzQzODUsIDgwMDEsIDEuNDA4MjAyMjkwNTM0OTczMV0sIFsxNjYzODQxNzkzLjAyNTk4ODgsIDgwMTksIDEuMTM0Mjk4MzI0NTg0OTYxXSwgWzE2NjM4NDE3OTMuMjQ0NDI1MywgODAzNywgMS4xMDk1OTQzNDUwOTI3NzM0XSwgWzE2NjM4NDE3OTMuNTg5MjQyNSwgODA2NCwgMS4xNzE2MDU1ODcwMDU2MTUyXSwgWzE2NjM4NDE3OTMuODM2NDU0OSwgODA4MiwgMS4zMjYzODk1NTExNjI3MTk3XSwgWzE2NjM4NDE3OTMuOTUyOTY3NCwgODA5MSwgMS4zMDQwODg0NzMzMjAwMDczXSwgWzE2NjM4NDE3OTQuMzA5OTUwOCwgODExOCwgMS4yOTA4OTUyMjM2MTc1NTM3XSwgWzE2NjM4NDE3OTQuNDQ2OTc4LCA4MTI3LCAxLjA0OTMzNzI2Nzg3NTY3MTRdLCBbMTY2Mzg0MTc5NC42ODU5MzA1LCA4MTQ1LCAxLjI0NjgyNjUyOTUwMjg2ODddLCBbMTY2Mzg0MTc5NC44OTM1NjI2LCA4MTYzLCAxLjAzMDk3NTIyMjU4NzU4NTRdLCBbMTY2Mzg0MTc5NC45ODY1NzA0LCA4MTcyLCAxLjI4ODA5MjczMjQyOTUwNDRdLCBbMTY2Mzg0MTc5NS4wOTA2OTczLCA4MTgxLCAxLjIxOTA0ODk3Njg5ODE5MzRdLCBbMTY2Mzg0MTc5NS4yOTQwMTE4LCA4MTk5LCAxLjM1MzI0NDc4MTQ5NDE0MDZdLCBbMTY2Mzg0MTc5NS40MDEwOTQyLCA4MjA4LCAxLjEwNTMxMTg3MDU3NDk1MTJdLCBbMTY2Mzg0MTc5NS43MjE3NzY1LCA4MjM1LCAxLjE2NDgxNDExNDU3MDYxNzddLCBbMTY2Mzg0MTc5Ni4xNDI0MDQ4LCA4MjcxLCAxLjI3MzE5NTAyODMwNTA1MzddLCBbMTY2Mzg0MTc5Ni4yNDA0MTYsIDgyODAsIDEuMTMwODM5MjI4NjMwMDY2XSwgWzE2NjM4NDE3OTYuNDM1MzY4OCwgODI5OCwgMS4xMzg4NzQ1MzA3OTIyMzYzXSwgWzE2NjM4NDE3OTYuNjMxODE3NiwgODMxNiwgMS4xOTY1MTY4NzE0NTIzMzE1XSwgWzE2NjM4NDE3OTcuMDk1NTA3MSwgODM1MiwgMS4yOTQ1MTgyMzIzNDU1ODFdLCBbMTY2Mzg0MTc5Ny4xODg5MzQzLCA4MzYxLCAxLjA3NDg2NDg2NDM0OTM2NTJdLCBbMTY2Mzg0MTc5Ny4yODU2NjUsIDgzNzAsIDEuMDM3ODM1ODM2NDEwNTIyNV0sIFsxNjYzODQxNzk3LjM3NzkxNjYsIDgzNzksIDEuMDY3MTQyNzI0OTkwODQ0N10sIFsxNjYzODQxNzk3LjQ2OTc2ODMsIDgzODgsIDEuNDc0MDAyMzYxMjk3NjA3NF0sIFsxNjYzODQxNzk3LjU2ODUsIDgzOTcsIDEuMTkyMjE4MTg0NDcxMTMwNF0sIFsxNjYzODQxNzk3LjY2OTg1OTYsIDg0MDYsIDEuMTIxMDkwODg4OTc3MDUwOF0sIFsxNjYzODQxNzk3Ljg3MjcyMTQsIDg0MjQsIDEuMjYxOTYzMDA5ODM0Mjg5Nl0sIFsxNjYzODQxNzk4LjI3NzY2OTQsIDg0NjAsIDEuMjU0NDcxNjU5NjYwMzM5NF0sIFsxNjYzODQxNzk4LjQ4MzczMTUsIDg0NzgsIDEuNDQ3MjI5ODYyMjEzMTM0OF0sIFsxNjYzODQxNzk4LjU5OTM4OSwgODQ4NywgMS4wMDEyNzc4MDQzNzQ2OTQ4XSwgWzE2NjM4NDE3OTkuMjMwODI4MywgODUxNCwgMS4wMjUzOTg2MTIwMjI0XSwgWzE2NjM4NDE3OTkuNzYzODc1NSwgODU1MCwgMS4zMjQ5MjI2ODA4NTQ3OTc0XSwgWzE2NjM4NDE4MDAuMTk3MzA3NiwgODU3NywgMS4xOTAxNjczMDc4NTM2OTg3XSwgWzE2NjM4NDE4MDAuNDI4NDkyNSwgODU5NSwgMS4xMTIzMzYyNzc5NjE3MzFdLCBbMTY2Mzg0MTgwMC41NDI5NjYxLCA4NjA0LCAxLjIzODQ5MDQ2MjMwMzE2MTZdLCBbMTY2Mzg0MTgwMC42NjAyMjI4LCA4NjEzLCAxLjAwMTc3NTk3OTk5NTcyNzVdLCBbMTY2Mzg0MTgwMS4xMzU2MzU0LCA4NjQ5LCAxLjE3MTEwNTk4MDg3MzEwOF0sIFsxNjYzODQxODAxLjM3MDk1NDgsIDg2NjcsIDEuMDQ3MzM4MTI4MDg5OTA0OF0sIFsxNjYzODQxODAxLjUxNTQ1MDcsIDg2NzYsIDEuMTE1ODQ4MDY0NDIyNjA3NF0sIFsxNjYzODQxODAxLjY1MjgyNDksIDg2ODUsIDEuMDQzMjkyNzYwODQ4OTk5XSwgWzE2NjM4NDE4MDEuNzYzOTc0LCA4Njk0LCAxLjAzNzk5MDgwODQ4NjkzODVdLCBbMTY2Mzg0MTgwMS45NTU0OTMsIDg3MTIsIDEuMDE3ODQ5NTY0NTUyMzA3MV0sIFsxNjYzODQxODAyLjA1MTU4MiwgODcyMSwgMS4yNzczMDkwNjAwOTY3NDA3XSwgWzE2NjM4NDE4MDIuMzgwMDU0LCA4NzQ4LCAxLjQwOTIwOTAxMjk4NTIyOTVdLCBbMTY2Mzg0MTgwMy4wNDc2MDYyLCA4NzkzLCAxLjA5ODk3MDc3MDgzNTg3NjVdLCBbMTY2Mzg0MTgwMy4yNzY5OTE4LCA4ODExLCAxLjA5MjkyNDU5NDg3OTE1MDRdLCBbMTY2Mzg0MTgwMy40MDI1ODIsIDg4MjAsIDEuMjA0NjE4ODExNjA3MzYwOF0sIFsxNjYzODQxODAzLjYxNDMxNzcsIDg4MzgsIDEuMjk1NzcxMzYwMzk3MzM4OV0sIFsxNjYzODQxODAzLjcyMzE1MywgODg0NywgMS4zMTU5OTg2NzM0MzkwMjU5XSwgWzE2NjM4NDE4MDQuMTAxOTY1NCwgODg4MywgMS4yMzQzODA3MjIwNDU4OTg0XSwgWzE2NjM4NDE4MDQuMjg3NTUyNCwgODkwMSwgMS4wMTQ1NzM0NTQ4NTY4NzI2XSwgWzE2NjM4NDE4MDQuNDc0NzY1LCA4OTE5LCAxLjE1NzkxMDgyMzgyMjAyMTVdLCBbMTY2Mzg0MTgwNC42NjY1MDU4LCA4OTM3LCAxLjAxODc5ODIzMjA3ODU1MjJdLCBbMTY2Mzg0MTgwNC44NTQ5ODY0LCA4OTU1LCAxLjI5Nzk0MjYzODM5NzIxNjhdLCBbMTY2Mzg0MTgwNC45NTU1NTM1LCA4OTY0LCAxLjAyMDI5NTE0MzEyNzQ0MTRdLCBbMTY2Mzg0MTgwNS4wNTQ3MTEsIDg5NzMsIDEuMjA2OTcwNDUzMjYyMzI5XSwgWzE2NjM4NDE4MDUuMjY0NTI4LCA4OTkxLCAxLjA5NTEwNzkxMzAxNzI3M10sIFsxNjYzODQxODA1LjM1MzY5MTYsIDkwMDAsIDEuMTA0Nzg1NDQyMzUyMjk1XSwgWzE2NjM4NDE4MDUuNjM3NDUxNCwgOTAyNywgMS4wMzE3MDU2MTc5MDQ2NjNdLCBbMTY2Mzg0MTgwNS43MjUwMTksIDkwMzYsIDEuMTgwMjg5MTQ5Mjg0MzYyOF0sIFsxNjYzODQxODA1LjgyMDkzNzIsIDkwNDUsIDEuMjcyNDQ4NDIwNTI0NTk3Ml0sIFsxNjYzODQxODA1LjkxOTM5NDcsIDkwNTQsIDEuMzM0MzQwODEwNzc1NzU2OF0sIFsxNjYzODQxODA2LjAxMDk3NTgsIDkwNjMsIDEuNDcwMDYzNTY3MTYxNTZdLCBbMTY2Mzg0MTgwNi42MjU1ODYzLCA5MTA4LCAxLjMxMTUzNzc0MjYxNDc0Nl0sIFsxNjYzODQxODA2Ljg2NDcyNTQsIDkxMjYsIDEuMTk4NDgwNzI1Mjg4MzkxMV0sIFsxNjYzODQxODA3LjEzODI2NDIsIDkxNDQsIDEuMDgyMjMwNjg3MTQxNDE4NV0sIFsxNjYzODQxODA3LjI1ODI4NjIsIDkxNTMsIDEuMDUyNzU2NjY3MTM3MTQ2XSwgWzE2NjM4NDE4MDcuMzc4MTIwMiwgOTE2MiwgMS4xNjM1MDU3OTI2MTc3OTc5XSwgWzE2NjM4NDE4MDcuOTY4NTY5LCA5MjA3LCAxLjE3OTM4ODUyMzEwMTgwNjZdLCBbMTY2Mzg0MTgwOC40MTY1NDMyLCA5MjQzLCAxLjE2NTQyMjU1ODc4NDQ4NDldLCBbMTY2Mzg0MTgwOC42NTc3NzM1LCA5MjYxLCAxLjA0MTcyNTM5NzEwOTk4NTRdLCBbMTY2Mzg0MTgwOC43NzExOTk1LCA5MjcwLCAxLjI3NTE4NTM0NjYwMzM5MzZdLCBbMTY2Mzg0MTgwOS43MzYzNDEsIDkzMjQsIDEuMTg1NTI4NTE2NzY5NDA5Ml0sIFsxNjYzODQxODA5LjgzNjYwMDMsIDkzMzMsIDEuMjMwNjg2NTQ1MzcyMDA5M10sIFsxNjYzODQxODA5LjkzNDY3MzUsIDkzNDIsIDEuMTAzMzQxNDYwMjI3OTY2M10sIFsxNjYzODQxODEwLjA0NjY1NDIsIDkzNTEsIDEuMTQ0MzU5NDY5NDEzNzU3M10sIFsxNjYzODQxODEwLjE4MTgyMTMsIDkzNjAsIDEuMTg5Mzk3OTMxMDk4OTM4XSwgWzE2NjM4NDE4MTAuNjg4NzA2NiwgOTM5NiwgMS4xNDIxMDcxMjkwOTY5ODQ5XSwgWzE2NjM4NDE4MTAuOTUzNDM2NiwgOTQxNCwgMS4xNjI1NzM4MTQzOTIwODk4XSwgWzE2NjM4NDE4MTEuMDY5NzUwMywgOTQyMywgMC45NTM3NTAwMTQzMDUxMTQ3XSwgWzE2NjM4NDE4MTEuODA5NTAyNiwgOTQ3NywgMS4xMzc1MTU0MjU2ODIwNjc5XSwgWzE2NjM4NDE4MTEuOTI2NTkyNiwgOTQ4NiwgMS4yNzE1MjAwMTg1Nzc1NzU3XSwgWzE2NjM4NDE4MTIuMjgzMzA1NiwgOTUxMywgMS4yMDY5Mjc0MTg3MDg4MDEzXSwgWzE2NjM4NDE4MTIuNTI0MDM3NiwgOTUzMSwgMS4xMDg0MzEzMzkyNjM5MTZdLCBbMTY2Mzg0MTgxMi42NTA2NjU1LCA5NTQwLCAxLjE1MzIzNzgxOTY3MTYzMDldLCBbMTY2Mzg0MTgxMi43NjczMDM1LCA5NTQ5LCAxLjIwODcyOTYyNDc0ODIzXSwgWzE2NjM4NDE4MTIuOTkzMTA1MiwgOTU2NywgMS4wNjA2MzU0NDc1MDIxMzYyXSwgWzE2NjM4NDE4MTMuMjc0OTUxMiwgOTU5NCwgMS4wODg4NzYyNDc0MDYwMDU5XSwgWzE2NjM4NDE4MTMuMzYxOTI5LCA5NjAzLCAxLjAyMjk4MzY3MDIzNDY4MDJdLCBbMTY2Mzg0MTgxMy40NTc2Mzc1LCA5NjEyLCAxLjM2NTA5NjgwNzQ3OTg1ODRdLCBbMTY2Mzg0MTgxMy42NzEwNzYsIDk2MzAsIDEuNjc5MzgyMzI0MjE4NzVdLCBbMTY2Mzg0MTgxMy43NzgwMDY2LCA5NjM5LCAxLjMwODA2Mzk4MzkxNzIzNjNdLCBbMTY2Mzg0MTgxMy44NzY4MjM3LCA5NjQ4LCAxLjExNjAzODc5OTI4NTg4ODddLCBbMTY2Mzg0MTgxMy45NzAyNTY2LCA5NjU3LCAxLjI2MzQ4MDY2MzI5OTU2MDVdLCBbMTY2Mzg0MTgxNC4wNTU1NDI3LCA5NjY2LCAxLjAwMDc4ODQ1MDI0MTA4ODldLCBbMTY2Mzg0MTgxNC4xNDcwNDA0LCA5Njc1LCAxLjA3NDE0NzEwNTIxNjk4XSwgWzE2NjM4NDE4MTQuNDI5OTA0NywgOTcwMiwgMS4xNDI4NDQ1NTc3NjIxNDZdLCBbMTY2Mzg0MTgxNC41Mjg5NDgzLCA5NzExLCAxLjI3MzUyNjY2ODU0ODU4NF0sIFsxNjYzODQxODE0LjczMDYyNDIsIDk3MjksIDEuMDI3MTcwMzAwNDgzNzAzNl0sIFsxNjYzODQxODE0LjgzMDMwMDMsIDk3MzgsIDEuMjMwNzUwMjAzMTMyNjI5NF0sIFsxNjYzODQxODE0LjkyNDU3MSwgOTc0NywgMS4xODQ3NTM0MTc5Njg3NV0sIFsxNjYzODQxODE1LjE5Nzg3NDgsIDk3NzQsIDEuMzM1NjIxNzE0NTkxOThdLCBbMTY2Mzg0MTgxNS4yOTAxMTE1LCA5NzgzLCAxLjEwNjYwODUxMDAxNzM5NV0sIFsxNjYzODQxODE1LjM4Nzg1MjIsIDk3OTIsIDEuMDQyNzkwODg5NzM5OTkwMl0sIFsxNjYzODQxODE1Ljc2MDA3ODIsIDk4MjgsIDEuMzU3OTkwMzg0MTAxODY3N10sIFsxNjYzODQxODE1Ljg2MzU0MjMsIDk4MzcsIDEuMzY2NzQ4MDk0NTU4NzE1OF0sIFsxNjYzODQxODE2LjQ2MTU0MjgsIDk4OTEsIDEuMTE4OTk1NTQ3Mjk0NjE2N10sIFsxNjYzODQxODE2LjY2MzYyMzMsIDk5MDksIDEuMDc0OTYxNTQzMDgzMTkxXSwgWzE2NjM4NDE4MTYuODY5NzU1LCA5OTI3LCAxLjY0OTc1NzUwNDQ2MzE5NThdLCBbMTY2Mzg0MTgxNi45Nzk5MDA2LCA5OTM2LCAxLjI3NjA5NjIyNDc4NDg1MV0sIFsxNjYzODQxODE3LjE0NzcwNDgsIDk5NDUsIDEuMTQyMTMwMjU1Njk5MTU3N10sIFsxNjYzODQxODE3LjUxNDYzNywgOTk3MiwgMS40MzQ4MDM5NjI3MDc1MTk1XSwgWzE2NjM4NDE4MTcuNjY2MywgOTk4MSwgMS4wOTU1MDcxNDQ5Mjc5Nzg1XSwgWzE2NjM4NDE4MTcuNzg5ODQ3OSwgOTk5MCwgMS4wOTM2NTAxMDI2MTUzNTY0XSwgWzE2NjM4NDE4MTcuOTk1NzU0NSwgMTAwMDgsIDEuMzQ0NjEwODEwMjc5ODQ2Ml0sIFsxNjYzODQxODE4LjA5MzIxMjgsIDEwMDE3LCAxLjExOTE5MTE2OTczODc2OTVdLCBbMTY2Mzg0MTgxOC4yNzgzNjA4LCAxMDAzNSwgMS41MzA0MDU1MjEzOTI4MjIzXSwgWzE2NjM4NDE4MTguNDcwMTczMSwgMTAwNTMsIDAuOTkzNjMyNzkzNDI2NTEzN10sIFsxNjYzODQxODE4Ljc1MzU4NDksIDEwMDgwLCAxLjI0NTA5OTc4Mjk0MzcyNTZdLCBbMTY2Mzg0MTgxOC45NjEzNTE5LCAxMDA5OCwgMS4wMzEwMDYzMzYyMTIxNTgyXSwgWzE2NjM4NDE4MTkuMjczMzQxLCAxMDEwNywgMS41NjQyNDEyOTAwOTI0NjgzXSwgWzE2NjM4NDE4MTkuNTc2NTA2LCAxMDEzNCwgMS4xMjgxNzY0NTA3MjkzNzAxXSwgWzE2NjM4NDE4MTkuNjc2MTQ4MiwgMTAxNDMsIDEuMjAxNTMzNTU1OTg0NDk3XSwgWzE2NjM4NDE4MTkuODY0NTExNywgMTAxNjEsIDEuMTk5NzEyODcyNTA1MTg4XSwgWzE2NjM4NDE4MTkuOTcyNzI2NiwgMTAxNzAsIDEuMDg3NTE5NjQ1NjkwOTE4XSwgWzE2NjM4NDE4MjAuMDczNDYzLCAxMDE3OSwgMS4zNjI0OTYzNzYwMzc1OTc3XSwgWzE2NjM4NDE4MjAuMTY4ODQyLCAxMDE4OCwgMS4wNzM0NTg1NTIzNjA1MzQ3XSwgWzE2NjM4NDE4MjAuMjYyNTQxLCAxMDE5NywgMS4zMDAxMTIzNjY2NzYzMzA2XSwgWzE2NjM4NDE4MjAuNDYyODA0NiwgMTAyMTUsIDEuMTY2MjMxMTU1Mzk1NTA3OF0sIFsxNjYzODQxODIwLjU1NDkzMzgsIDEwMjI0LCAxLjA2MTUyNTcwMjQ3NjUwMTVdLCBbMTY2Mzg0MTgyMC42NTM1MTY1LCAxMDIzMywgMS4wODUyMjI0ODI2ODEyNzQ0XSwgWzE2NjM4NDE4MjAuOTQ4NzYyLCAxMDI2MCwgMS4zNTg5MjU4MTkzOTY5NzI3XSwgWzE2NjM4NDE4MjEuMjQ3NzU5OCwgMTAyODcsIDEuNDk5MjU3ODAyOTYzMjU2OF0sIFsxNjYzODQxODIxLjU0NjY3NjIsIDEwMzE0LCAxLjA3MDM1ODk5MTYyMjkyNDhdLCBbMTY2Mzg0MTgyMS42Mzg2NTIsIDEwMzIzLCAxLjAyMjM2OTc0MjM5MzQ5MzddLCBbMTY2Mzg0MTgyMS44MjUyMDQ0LCAxMDM0MSwgMS4xODExMzgzOTYyNjMxMjI2XSwgWzE2NjM4NDE4MjEuOTExODQ5LCAxMDM1MCwgMS4yNjU4Mjc1MzY1ODI5NDY4XSwgWzE2NjM4NDE4MjIuMDA2NzE0LCAxMDM1OSwgMS4wMzcyNzkxMjkwMjgzMjAzXSwgWzE2NjM4NDE4MjIuMTAzNjg1MSwgMTAzNjgsIDEuMTUwMTE1NDg5OTU5NzE2OF0sIFsxNjYzODQxODIyLjE5NDg1NjYsIDEwMzc3LCAxLjExOTQ0Mzc3NDIyMzMyNzZdLCBbMTY2Mzg0MTgyMi4yOTY0NjEsIDEwMzg2LCAxLjI4OTQzOTMyMDU2NDI3XSwgWzE2NjM4NDE4MjMuMjMwMTEyMywgMTA0NDksIDAuOTE5NzkxOTM2ODc0Mzg5Nl0sIFsxNjYzODQxODIzLjQ5ODYxNiwgMTA0NjcsIDEuNTYxNDgxMjM3NDExNDk5XSwgWzE2NjM4NDE4MjMuNzExNTQ5NSwgMTA0ODUsIDEuMzE0Nzc5NzU4NDUzMzY5MV0sIFsxNjYzODQxODIzLjkyODM4MDMsIDEwNTAzLCAxLjA4MjcwMjUxNzUwOTQ2MDRdLCBbMTY2Mzg0MTgyNC4wMjkyNzYsIDEwNTEyLCAxLjExNTA4NzE1MTUyNzQwNDhdLCBbMTY2Mzg0MTgyNC43MDMyMzQ3LCAxMDU2NiwgMS4yMzgwNzYwOTA4MTI2ODNdLCBbMTY2Mzg0MTgyNC44MDU0NjUsIDEwNTc1LCAxLjA2MjA3MzgyNjc4OTg1Nl0sIFsxNjYzODQxODI1LjAwOTcyOTQsIDEwNTkzLCAxLjM1NDA4MzA2MTIxODI2MTddLCBbMTY2Mzg0MTgyNS4xNDA1MjM3LCAxMDYwMiwgMS4xNzgyNjE3NTY4OTY5NzI3XSwgWzE2NjM4NDE4MjUuMjgyNTIzMiwgMTA2MTEsIDEuMDY4NzY1NDAxODQwMjFdLCBbMTY2Mzg0MTgyNS43OTQ0MzIyLCAxMDY0NywgMS4xMzEzNzc4MTYyMDAyNTYzXSwgWzE2NjM4NDE4MjYuMDc3OTM0MywgMTA2NjUsIDEuMTQwNzY0NzEzMjg3MzUzNV0sIFsxNjYzODQxODI2LjMzODc5ODgsIDEwNjgzLCAxLjAxNjc2Nzg1OTQ1ODkyMzNdLCBbMTY2Mzg0MTgyNi41ODg2NTA3LCAxMDcwMSwgMS4wMjgyNTAwOTgyMjg0NTQ2XSwgWzE2NjM4NDE4MjYuNzAwNTg2LCAxMDcxMCwgMS4wMjQ4NjA5NzgxMjY1MjU5XSwgWzE2NjM4NDE4MjYuODE3NTY0LCAxMDcxOSwgMC45ODI2ODU2MjU1NTMxMzExXSwgWzE2NjM4NDE4MjcuNDIzODkxNSwgMTA3NDYsIDEuMDg1MzExNDEyODExMjc5M10sIFsxNjYzODQxODI3LjUzODY5MDMsIDEwNzU1LCAxLjUyMjAxNDYxNzkxOTkyMTldLCBbMTY2Mzg0MTgyNy42NTIyMTAyLCAxMDc2NCwgMS4wMzcxNDQwNjQ5MDMyNTkzXSwgWzE2NjM4NDE4MjcuODc2MjM1NSwgMTA3ODIsIDEuMDgzODExNzU5OTQ4NzMwNV0sIFsxNjYzODQxODI3Ljk3Njc1MiwgMTA3OTEsIDEuNjAzMjk5MjYwMTM5NDY1M10sIFsxNjYzODQxODI4LjI2NzcyNzEsIDEwODE4LCAxLjIyODU4NjU1NDUyNzI4MjddLCBbMTY2Mzg0MTgyOC4zNTUxMzY0LCAxMDgyNywgMS4xMjM1Mjk1NTM0MTMzOTExXSwgWzE2NjM4NDE4MjguNjk0ODEyLCAxMDg1NCwgMS4zNDQzMTg5ODU5MzkwMjU5XSwgWzE2NjM4NDE4MjguODE3MjYyMiwgMTA4NjMsIDEuMTMwNjU2NDgwNzg5MTg0Nl0sIFsxNjYzODQxODI4Ljk2MzI2MDIsIDEwODcyLCAxLjA4NjAyNTIzODAzNzEwOTRdLCBbMTY2Mzg0MTgyOS4yMjY3NTksIDEwODkwLCAxLjExMzg5ODE1ODA3MzQyNTNdLCBbMTY2Mzg0MTgyOS43MjA4MjAyLCAxMDkyNiwgMS40Mjg4NTI5MTU3NjM4NTVdLCBbMTY2Mzg0MTgyOS44MjEyNzQ1LCAxMDkzNSwgMS4xMDc3ODkyNzgwMzAzOTU1XSwgWzE2NjM4NDE4MjkuOTE0NDcxNiwgMTA5NDQsIDEuMjY5ODU1NjE4NDc2ODY3N10sIFsxNjYzODQxODMwLjExNDgzNzYsIDEwOTYyLCAxLjEzNTUyMDMzOTAxMjE0Nl0sIFsxNjYzODQxODMwLjIxNTU4NTIsIDEwOTcxLCAwLjk5NTUyOTgzMDQ1NTc4XSwgWzE2NjM4NDE4MzAuNjk0MzIxLCAxMTAxNiwgMS4yNTU5MzEzNzc0MTA4ODg3XSwgWzE2NjM4NDE4MzAuODkzNzU5LCAxMTAzNCwgMS4wMTQyMjIwMjU4NzEyNzY5XSwgWzE2NjM4NDE4MzEuMjEzODkzMiwgMTEwNjEsIDEuMTkyOTM1MjI4MzQ3Nzc4M10sIFsxNjYzODQxODMxLjMxMDg1MywgMTEwNzAsIDEuMTA4NzM2NTE1MDQ1MTY2XSwgWzE2NjM4NDE4MzEuNTk2NDcyLCAxMTA5NywgMS4xMTQ0MjA1MzMxODAyMzY4XSwgWzE2NjM4NDE4MzEuNzAyMjgwNSwgMTExMDYsIDEuMDUzNzY0MzQzMjYxNzE4OF0sIFsxNjYzODQxODMyLjE4MDkyNywgMTExNTEsIDEuMDExMTM0MDI4NDM0NzUzNF0sIFsxNjYzODQxODMyLjQzOTY5MSwgMTExNjksIDEuMTA4ODcyMDU2MDA3Mzg1M10sIFsxNjYzODQxODMyLjU1NDE4NzMsIDExMTc4LCAxLjAxNDE4MTQ5NDcxMjgyOTZdLCBbMTY2Mzg0MTgzMi42ODA0ODgzLCAxMTE4NywgMS4zNjU1ODI1ODUzMzQ3Nzc4XSwgWzE2NjM4NDE4MzIuODA2NTI5NSwgMTExOTYsIDEuMDU4OTUzMTY2MDA3OTk1Nl0sIFsxNjYzODQxODMyLjkyNjQ4NTUsIDExMjA1LCAxLjEzMjEwMzgwMDc3MzYyMDZdLCBbMTY2Mzg0MTgzMy4wNDc2OTksIDExMjE0LCAxLjM0NTA1NTU4MDEzOTE2MDJdLCBbMTY2Mzg0MTgzMy4xNjI1NDMzLCAxMTIyMywgMC45NzQ1NzYyMzQ4MTc1MDQ5XSwgWzE2NjM4NDE4MzMuNTAxMDQ2NCwgMTEyNTAsIDEuMDAyNTE0MjQzMTI1OTE1NV0sIFsxNjYzODQxODMzLjYxMjA0MTcsIDExMjU5LCAxLjEwNzY0NTYzMDgzNjQ4NjhdLCBbMTY2Mzg0MTgzMy43MjI0MjA1LCAxMTI2OCwgMS4zNjYxNjEzNDY0MzU1NDY5XSwgWzE2NjM4NDE4MzMuODM2NjUyOCwgMTEyNzcsIDEuMDQ4OTg2MTk2NTE3OTQ0M10sIFsxNjYzODQxODM0LjA2MTAzMzUsIDExMjk1LCAxLjA2NDI5MzYyMjk3MDU4MV0sIFsxNjYzODQxODM0LjI5NTQ2OTgsIDExMzEzLCAxLjA1NTE5NDk3Mzk0NTYxNzddLCBbMTY2Mzg0MTgzNC40MDUxNzk1LCAxMTMyMiwgMS43NTM4OTU3NTk1ODI1MTk1XSwgWzE2NjM4NDE4MzQuNzQwNjYyLCAxMTM0OSwgMS4xMDA0ODc4MjgyNTQ2OTk3XSwgWzE2NjM4NDE4MzQuODU0NTA5LCAxMTM1OCwgMS4wNzM1MzExNTA4MTc4NzFdLCBbMTY2Mzg0MTgzNS4xOTkzNDYsIDExMzg1LCAxLjMzMzk5NDM4ODU4MDMyMjNdLCBbMTY2Mzg0MTgzNS41NDM3NjcsIDExNDEyLCAxLjQ3ODAxMTM2OTcwNTIwMDJdLCBbMTY2Mzg0MTgzNi4wMjc4MzUsIDExNDQ4LCAxLjE0NzU1MTI5ODE0MTQ3OTVdLCBbMTY2Mzg0MTgzNi42MDk2MDU4LCAxMTQ5MywgMS4wNzI0MjM5MzQ5MzY1MjM0XSwgWzE2NjM4NDE4MzYuNzIyOTE2MSwgMTE1MDIsIDEuMDc3MTIxNjE1NDA5ODUxXSwgWzE2NjM4NDE4MzcuMDYzMDE0NSwgMTE1MTEsIDAuOTI1NDgyMzkyMzExMDk2Ml0sIFsxNjYzODQxODM3LjQzMDM2MjcsIDExNTQ3LCAwLjk5ODkxMTQ0MDM3MjQ2N10sIFsxNjYzODQxODM3LjgzMjQ0NTYsIDExNTc0LCAxLjU3ODI1OTExMDQ1MDc0NDZdLCBbMTY2Mzg0MTgzOC40NjIzNTA0LCAxMTYxOSwgMS4yOTg4NjMxNzI1MzExMjhdLCBbMTY2Mzg0MTgzOC43OTQ2NTg3LCAxMTY0NiwgMC45NzU3MDgyNDYyMzEwNzkxXSwgWzE2NjM4NDE4MzkuMTUxODY3NCwgMTE2NzMsIDAuOTM0MzgxMzY1Nzc2MDYyXSwgWzE2NjM4NDE4MzkuMzgzMjM2MiwgMTE2OTEsIDEuMDM2NDg5MTI5MDY2NDY3M10sIFsxNjYzODQxODM5LjUwNDA4MzksIDExNzAwLCAxLjU0Njg1MTg3MzM5NzgyNzFdLCBbMTY2Mzg0MTgzOS44NDU0ODMzLCAxMTcyNywgMS4xODkwNTgxODQ2MjM3MTgzXSwgWzE2NjM4NDE4NDAuMzE1MzM1NSwgMTE3NjMsIDEuMTUyNjYwMzY5ODczMDQ2OV0sIFsxNjYzODQxODQwLjc5NjczODQsIDExNzk5LCAxLjA2MzgzNjMzNjEzNTg2NDNdLCBbMTY2Mzg0MTg0MS4yNzQzMzY2LCAxMTgzNSwgMC45ODc4MTkxOTQ3OTM3MDEyXSwgWzE2NjM4NDE4NDEuMzg4MjAyLCAxMTg0NCwgMS40MDMxMzYxMzQxNDc2NDRdLCBbMTY2Mzg0MTg0MS45NTY2NTcyLCAxMTg4OSwgMS4yMDE0NDA1NzI3Mzg2NDc1XSwgWzE2NjM4NDE4NDIuMTUyNjg3NSwgMTE5MDcsIDEuMjQ2NTMwNjUyMDQ2MjAzNl0sIFsxNjYzODQxODQyLjI0NDg2ODUsIDExOTE2LCAxLjIxNzI5MzYyMDEwOTU1OF0sIFsxNjYzODQxODQyLjQ1Mjg2OSwgMTE5MzQsIDEuNDc5NjQ3NzU1NjIyODYzOF0sIFsxNjYzODQxODQyLjU1OTk4NzMsIDExOTQzLCAxLjEwNjQ4NjA4MjA3NzAyNjRdLCBbMTY2Mzg0MTg0Mi43NDkwMTMyLCAxMTk2MSwgMS40MzA0NTYzOTk5MTc2MDI1XSwgWzE2NjM4NDE4NDMuNjIxMjA1NiwgMTIwMjQsIDEuMDAxOTEzMzA5MDk3MjldLCBbMTY2Mzg0MTg0NC42MzcyNDQsIDEyMTA1LCAxLjU2MDAwNDU5MTk0MTgzMzVdLCBbMTY2Mzg0MTg0NC43NTAzODc0LCAxMjExNCwgMS4xOTI3MjIzMjA1NTY2NDA2XSwgWzE2NjM4NDE4NDQuOTg0MzY3OCwgMTIxMzIsIDEuMjQ5NDkzODM3MzU2NTY3NF0sIFsxNjYzODQxODQ1LjA5ODU1ODcsIDEyMTQxLCAxLjI4MTQzNDUzNTk4MDIyNDZdLCBbMTY2Mzg0MTg0NS40NDY0NDA3LCAxMjE2OCwgMS4wNjkyOTc3OTA1MjczNDM4XSwgWzE2NjM4NDE4NDUuNTU1NTY0NiwgMTIxNzcsIDEuNTUwNDIwOTk5NTI2OTc3NV0sIFsxNjYzODQxODQ1Ljc3OTA5NiwgMTIxOTUsIDEuMjE3MzMzNTU1MjIxNTU3Nl0sIFsxNjYzODQxODQ2LjIwODQxMzEsIDEyMjMxLCAxLjA4OTgyNTg2ODYwNjU2NzRdLCBbMTY2Mzg0MTg0Ni40NDY2MTQ3LCAxMjI0OSwgMS4wNTU3MzgzMjk4ODczOTAxXSwgWzE2NjM4NDE4NDYuOTEzMzU5MiwgMTIyODUsIDEuMDg5MzYwMjM3MTIxNTgyXSwgWzE2NjM4NDE4NDcuMDIzNTIzMywgMTIyOTQsIDEuMzAwNDIyOTA2ODc1NjEwNF0sIFsxNjYzODQxODQ3LjE0MDU4NzgsIDEyMzAzLCAxLjExNDczNjc5NTQyNTQxNV0sIFsxNjYzODQxODQ3LjUwMTUzMDIsIDEyMzEyLCAxLjEyMjM1ODA4MzcyNDk3NTZdLCBbMTY2Mzg0MTg0Ny42MDY5NjU1LCAxMjMyMSwgMS4zNjI2Mzk3ODQ4MTI5MjcyXSwgWzE2NjM4NDE4NDguMDEzNDUzLCAxMjM1NywgMS4xODMzODg1OTA4MTI2ODNdLCBbMTY2Mzg0MTg0OC4xMTQzNDcyLCAxMjM2NiwgMS4yODA0Mzk2MTUyNDk2MzM4XSwgWzE2NjM4NDE4NDguMzgwMDM3MywgMTIzODQsIDAuOTM2OTkxMzkzNTY2MTMxNl0sIFsxNjYzODQxODQ4LjQ5NTc3MTQsIDEyMzkzLCAxLjA1NjkwMDAyNDQxNDA2MjVdLCBbMTY2Mzg0MTg0OC45NTgxOTk3LCAxMjQyOSwgMS40NDM3MzIwMjMyMzkxMzU3XSwgWzE2NjM4NDE4NDkuNTI3OTkwOCwgMTI0NzQsIDEuMzE1NzQ0NzU3NjUyMjgyN10sIFsxNjYzODQxODQ5LjY1Mjk4MSwgMTI0ODMsIDEuMDA5Njg4NzM1MDA4MjM5N10sIFsxNjYzODQxODUwLjEyMjY3MSwgMTI1MTksIDEuNDk3OTY0OTc4MjE4MDc4Nl0sIFsxNjYzODQxODUwLjQ5OTY2MTcsIDEyNTQ2LCAwLjk4Mzc5ODE0NjI0Nzg2MzhdLCBbMTY2Mzg0MTg1MC45NzQwNTQ2LCAxMjU4MiwgMS4wNTQ1NzY5OTI5ODg1ODY0XSwgWzE2NjM4NDE4NTEuMzIxNTg4LCAxMjYwOSwgMS4wODc1MjAzNjA5NDY2NTUzXSwgWzE2NjM4NDE4NTEuNjc1NzI2NCwgMTI2MzYsIDEuNDA3NzUwNzI1NzQ2MTU0OF0sIFsxNjYzODQxODUxLjg5NzgzNCwgMTI2NTQsIDEuMDM5NDk0NjMzNjc0NjIxNl0sIFsxNjYzODQxODUyLjgwMTk4NDUsIDEyNzI2LCAxLjE1NDMyOTE4MDcxNzQ2ODNdLCBbMTY2Mzg0MTg1My4xNjQ0NTczLCAxMjc1MywgMS4xNzI0ODEwNjAwMjgwNzYyXSwgWzE2NjM4NDE4NTMuMjc5NjkxMiwgMTI3NjIsIDEuMDk0NDI0OTYyOTk3NDM2NV0sIFsxNjYzODQxODUzLjUyNDY3MTYsIDEyNzgwLCAxLjI2NTc2MjA5MDY4Mjk4MzRdLCBbMTY2Mzg0MTg1My43NTkzOTA0LCAxMjc5OCwgMS40OTgwMzQxMTk2MDYwMThdLCBbMTY2Mzg0MTg1My44NDk5OTIsIDEyODA3LCAxLjMzMDY4OTMxMTAyNzUyNjldLCBbMTY2Mzg0MTg1NC42OTM4NDI2LCAxMjg4OCwgMS4wNTY5MzQzNTY2ODk0NTMxXSwgWzE2NjM4NDE4NTQuNzg0MDk4OSwgMTI4OTcsIDEuMjc3NzA4MDUzNTg4ODY3Ml0sIFsxNjYzODQxODU1LjE2NTk3MiwgMTI5MzMsIDEuMTI4MDc4ODE4MzIxMjI4XSwgWzE2NjM4NDE4NTUuMzYyNjcyNiwgMTI5NTEsIDEuMjgwNzU3NDI3MjE1NTc2Ml0sIFsxNjYzODQxODU1LjQ2MjcsIDEyOTYwLCAxLjI5NDA2OTY0Nzc4OTAwMTVdLCBbMTY2Mzg0MTg1NS41NTg1MjUzLCAxMjk2OSwgMS4wNDgwOTk5OTQ2NTk0MjM4XSwgWzE2NjM4NDE4NTUuNjUxMDM2NSwgMTI5NzgsIDEuMjEyNDUwMjY1ODg0Mzk5NF0sIFsxNjYzODQxODU1LjkyOTcxODcsIDEzMDA1LCAxLjA2ODk0NzE5NjAwNjc3NV0sIFsxNjYzODQxODU2LjEwNzk4NTUsIDEzMDIzLCAxLjA1NTAzMzkyMjE5NTQzNDZdLCBbMTY2Mzg0MTg1Ni4xOTY3NDA0LCAxMzAzMiwgMS4xMDU1OTIyNTA4MjM5NzQ2XSwgWzE2NjM4NDE4NTYuMjg5NjQzOCwgMTMwNDEsIDEuMTIwNDAwOTA1NjA5MTMwOV0sIFsxNjYzODQxODU2LjM4MDc1NzYsIDEzMDUwLCAwLjk5MTE4NjMyMDc4MTcwNzhdLCBbMTY2Mzg0MTg1Ni40ODc5Mjg5LCAxMzA1OSwgMS43MTA2NTA4MDE2NTg2MzA0XSwgWzE2NjM4NDE4NTYuNTc4ODYzOSwgMTMwNjgsIDEuMDI4OTk2OTQ0NDI3NDkwMl0sIFsxNjYzODQxODU2LjY3ODEzNiwgMTMwNzcsIDEuMTkwODg3Njg5NTkwNDU0XSwgWzE2NjM4NDE4NTYuODY5MjAwNSwgMTMwOTUsIDEuMjY5NjAyNzc1NTczNzMwNV0sIFsxNjYzODQxODU2Ljk3OTg0NjUsIDEzMTA0LCAxLjI4MTU1NjAxMDI0NjI3NjldLCBbMTY2Mzg0MTg1Ny4yNzkyMDI1LCAxMzExMywgMS4xMTM1MjAxNDU0MTYyNTk4XSwgWzE2NjM4NDE4NTcuMzgwNzY2NCwgMTMxMjIsIDAuOTc0NDgzNzg4MDEzNDU4M10sIFsxNjYzODQxODU3LjQ4NzUxMzgsIDEzMTMxLCAxLjA1NjQ1NzA0MjY5NDA5MThdLCBbMTY2Mzg0MTg1Ny42MTgxNDU1LCAxMzE0MCwgMS4xMjU2ODY4ODM5MjYzOTE2XSwgWzE2NjM4NDE4NTcuNzIyODIzNCwgMTMxNDksIDEuMTcyMzA5NjM3MDY5NzAyMV0sIFsxNjYzODQxODU3LjgxNzY1NzIsIDEzMTU4LCAxLjI1ODI0OTQwMjA0NjIwMzZdLCBbMTY2Mzg0MTg1OC4wNjk2MDI3LCAxMzE3NiwgMS40MTA5MjUzODgzMzYxODE2XSwgWzE2NjM4NDE4NTkuMDAzMzE4NSwgMTMyMzksIDEuMDg3NDAzNTM1ODQyODk1NV0sIFsxNjYzODQxODU5LjM0ODQwMzUsIDEzMjY2LCAxLjIzMjg5OTU0NjYyMzIzXSwgWzE2NjM4NDE4NTkuNDQ5OTY2MiwgMTMyNzUsIDEuNjQ0OTg5ODQ4MTM2OTAxOV0sIFsxNjYzODQxODU5LjY2MzEzOTgsIDEzMjkzLCAxLjAxMzEwNjcwMzc1ODIzOTddLCBbMTY2Mzg0MTg2MC4yMDM3MzQ5LCAxMzMzOCwgMC45MTk4MzAyNjI2NjA5ODAyXSwgWzE2NjM4NDE4NjAuMjk4MjU1NCwgMTMzNDcsIDEuMjA0MzIzNzY4NjE1NzIyN10sIFsxNjYzODQxODYwLjM5MDk1NSwgMTMzNTYsIDEuMDY4MjQ2MTI2MTc0OTI2OF0sIFsxNjYzODQxODYwLjgzNDQ1NjcsIDEzMzkyLCAxLjE0NDY4OTkxNzU2NDM5Ml0sIFsxNjYzODQxODYxLjA4MDAzMDQsIDEzNDEwLCAxLjM2NjY2NTM2MzMxMTc2NzZdLCBbMTY2Mzg0MTg2MS4xNzkxNTc3LCAxMzQxOSwgMS4wMDEyNzAxNzQ5ODAxNjM2XSwgWzE2NjM4NDE4NjEuMjgxMzIxMywgMTM0MjgsIDEuMjg0OTM1NDc0Mzk1NzUyXSwgWzE2NjM4NDE4NjEuNDYxNjc0NywgMTM0NDYsIDEuMDcyNDIwMDAxMDI5OTY4M10sIFsxNjYzODQxODYxLjU1NzY4OTcsIDEzNDU1LCAxLjAzMTY0NDM0NDMyOTgzNF0sIFsxNjYzODQxODYxLjk5NDQwNywgMTM0OTEsIDEuMTc1NDkwMTQwOTE0OTE3XSwgWzE2NjM4NDE4NjIuMTI5Njk4NSwgMTM1MDAsIDAuOTU4NTYxOTU2ODgyNDc2OF0sIFsxNjYzODQxODYyLjI2ODc2NjIsIDEzNTA5LCAxLjA5NTM4NzIyMDM4MjY5MDRdLCBbMTY2Mzg0MTg2Mi41MTEzNDEsIDEzNTI3LCAxLjEzMTU1NTQzODA0MTY4N10sIFsxNjYzODQxODYyLjg1MzgxOTEsIDEzNTU0LCAxLjIwNDU3ODUxODg2NzQ5MjddLCBbMTY2Mzg0MTg2My4zNTI0ODk3LCAxMzU5MCwgMS4zMDY4MzM3NDQwNDkwNzIzXSwgWzE2NjM4NDE4NjMuNDYzNDE5NCwgMTM1OTksIDEuMTkzNTk1NTI4NjAyNl0sIFsxNjYzODQxODYzLjU3NDMzNzUsIDEzNjA4LCAxLjA4NzExODM4NzIyMjI5XSwgWzE2NjM4NDE4NjMuODIyNTAxMiwgMTM2MjYsIDEuMDA2NzQ0NzQyMzkzNDkzN10sIFsxNjYzODQxODY0LjA1MzkxMSwgMTM2NDQsIDAuOTk0OTk0NDAxOTMxNzYyN10sIFsxNjYzODQxODY0LjE3MjYwMjIsIDEzNjUzLCAxLjE4NzMwMjIzMTc4ODYzNTNdLCBbMTY2Mzg0MTg2NC45MDUyNzU4LCAxMzcxNiwgMS4xMjk3MzUyMzEzOTk1MzYxXSwgWzE2NjM4NDE4NjUuMjA2MDkyNCwgMTM3NDMsIDEuNjE2MjU4MDI1MTY5MzcyNl0sIFsxNjYzODQxODY1LjQyNDEzOTcsIDEzNzYxLCAwLjkxNzcyMjg4MDg0MDMwMTVdLCBbMTY2Mzg0MTg2Ni4xOTU2NTc3LCAxMzgxNSwgMC45NzQwODgwMTMxNzIxNDk3XSwgWzE2NjM4NDE4NjYuNTM4MzM3LCAxMzg0MiwgMS4yNjA0NTA0ODIzNjg0NjkyXSwgWzE2NjM4NDE4NjYuNjY3NDI0NywgMTM4NTEsIDEuMjQ5NjMwMDkzNTc0NTI0XSwgWzE2NjM4NDE4NjcuMjcwNzIyNiwgMTM4NzgsIDEuMTMwNDIyMTE1MzI1OTI3N10sIFsxNjYzODQxODY3Ljk4NTIxNywgMTM5MzIsIDEuMzU2ODc1MTgxMTk4MTIwMV0sIFsxNjYzODQxODY4LjExMzYxMjIsIDEzOTQxLCAxLjA5ODcxODY0MzE4ODQ3NjZdLCBbMTY2Mzg0MTg2OC40NTYyNDM1LCAxMzk2OCwgMS4zNTM5NTk2Nzk2MDM1NzY3XSwgWzE2NjM4NDE4NjguNTY3MDA0NywgMTM5NzcsIDEuMTA0NzIyMjYxNDI4ODMzXSwgWzE2NjM4NDE4NjguNjgzNjU2NywgMTM5ODYsIDEuMDgzNzI2NTI1MzA2NzAxN10sIFsxNjYzODQxODY4Ljg5NzcxMTUsIDE0MDA0LCAxLjA0MDU2NzE1OTY1MjcxXSwgWzE2NjM4NDE4NjkuMTIxMzE2NCwgMTQwMjIsIDAuOTMwODIzMTQ3Mjk2OTA1NV0sIFsxNjYzODQxODY5LjYwNjE4NjIsIDE0MDY3LCAxLjE1MzI3ODk0Njg3NjUyNTldLCBbMTY2Mzg0MTg2OS44MDMzNjgsIDE0MDg1LCAxLjMxMDAyNjg4NDA3ODk3OTVdLCBbMTY2Mzg0MTg2OS44OTI3MTQ3LCAxNDA5NCwgMS4xNzI1NDI0NTI4MTIxOTQ4XSwgWzE2NjM4NDE4NjkuOTk3NjQ2NiwgMTQxMDMsIDEuMDgyMDMwODkyMzcyMTMxM10sIFsxNjYzODQxODcwLjE4NDE2MzgsIDE0MTIxLCAwLjk4MjA0NzM3OTAxNjg3NjJdLCBbMTY2Mzg0MTg3MC4zNzc5MDk0LCAxNDEzOSwgMS40MTA1MDQ1Nzk1NDQwNjc0XSwgWzE2NjM4NDE4NzAuNDgxOTI4LCAxNDE0OCwgMC45ODY0Mjg0OTkyMjE4MDE4XSwgWzE2NjM4NDE4NzAuNTczNTYxMiwgMTQxNTcsIDEuMjg5MjU4ODM3Njk5ODkwMV0sIFsxNjYzODQxODcwLjcwODUyMywgMTQxNjYsIDEuMTUxNDg1ODAwNzQzMTAzXSwgWzE2NjM4NDE4NzEuMTExODYzNiwgMTQxOTMsIDEuMzA4MTIzMzUwMTQzNDMyNl0sIFsxNjYzODQxODcxLjM4NjczMDIsIDE0MjExLCAxLjIxMjAxOTgwMTEzOTgzMTVdLCBbMTY2Mzg0MTg3MS42MTgzMDY2LCAxNDIyOSwgMS4xNTU2MjIwMDU0NjI2NDY1XSwgWzE2NjM4NDE4NzEuNzU1NDk3MiwgMTQyMzgsIDEuMjAyMTA3MDcxODc2NTI1OV0sIFsxNjYzODQxODcxLjg3NDI1NCwgMTQyNDcsIDEuMDg3MzE0MjQ4MDg1MDIyXSwgWzE2NjM4NDE4NzIuMjEyNjIwNSwgMTQyNzQsIDEuMTk5MDc5NzUxOTY4MzgzOF0sIFsxNjYzODQxODcyLjc5MDY4MTEsIDE0MzE5LCAxLjA2NTA4NTE3MjY1MzE5ODJdLCBbMTY2Mzg0MTg3My4zOTk0NDgsIDE0MzY0LCAxLjI3MTU1OTExOTIyNDU0ODNdLCBbMTY2Mzg0MTg3My41MDk3NDcsIDE0MzczLCAxLjExOTAwNTY4MDA4NDIyODVdLCBbMTY2Mzg0MTg3My42MjczODk3LCAxNDM4MiwgMS4xMTQ4OTAzMzY5OTAzNTY0XSwgWzE2NjM4NDE4NzQuMDg5ODg5OCwgMTQ0MTgsIDEuMTMzMTI2MTM5NjQwODA4XSwgWzE2NjM4NDE4NzQuMjA3MzIyMSwgMTQ0MjcsIDEuNDkzMDEwMDQ0MDk3OTAwNF0sIFsxNjYzODQxODc0LjMyMTA4NzYsIDE0NDM2LCAxLjI4MTkyOTI1NDUzMTg2MDRdLCBbMTY2Mzg0MTg3NS4xMjk1NzIyLCAxNDQ5OSwgMS4wODMzMTMyMjY2OTk4MjldLCBbMTY2Mzg0MTg3NS4yNDc0MTgsIDE0NTA4LCAxLjE4ODI5MTQzMDQ3MzMyNzZdLCBbMTY2Mzg0MTg3NS40Nzk2MTA3LCAxNDUyNiwgMS4xNDE3MzYyNjg5OTcxOTI0XSwgWzE2NjM4NDE4NzUuNTk1MjE5LCAxNDUzNSwgMC45Mzg1MjE0NDQ3OTc1MTU5XSwgWzE2NjM4NDE4NzUuODI3OTMyNCwgMTQ1NTMsIDEuMTc1MDc5OTQxNzQ5NTcyOF0sIFsxNjYzODQxODc2LjUwNjY2NTUsIDE0NjA3LCAwLjkzNjc4Njg5MDAyOTkwNzJdLCBbMTY2Mzg0MTg3Ni43NTcwMDc2LCAxNDYyNSwgMC45OTQ4ODM2NTY1MDE3N10sIFsxNjYzODQxODc2Ljk5MzQxNTgsIDE0NjQzLCAxLjMxOTIwNjM1NzAwMjI1ODNdLCBbMTY2Mzg0MTg3Ny4xMDU3MzEyLCAxNDY1MiwgMS4wODEzODg5NTAzNDc5MDA0XSwgWzE2NjM4NDE4NzcuNzQ4OTYyNCwgMTQ2ODgsIDAuOTk3NTA2OTE2NTIyOTc5N10sIFsxNjYzODQxODc4LjE0NDAxMDMsIDE0NzI0LCAxLjI3MDY3NjQ5MzY0NDcxNDRdLCBbMTY2Mzg0MTg3OC4yNDAzMDYsIDE0NzMzLCAxLjIwMjQyNjkxMDQwMDM5MDZdLCBbMTY2Mzg0MTg3OC4zMzA4MzMsIDE0NzQyLCAxLjA0NjI4MjY0OTA0MDIyMjJdLCBbMTY2Mzg0MTg3OC42NDgyNTIyLCAxNDc2OSwgMS4wMjI0ODA5NjQ2NjA2NDQ1XSwgWzE2NjM4NDE4NzguNzQxNDkxOCwgMTQ3NzgsIDEuNTE4ODAzMzU4MDc4MDAzXSwgWzE2NjM4NDE4NzkuMjM5LCAxNDgyMywgMS4yNDIyMDQwNzAwOTEyNDc2XSwgWzE2NjM4NDE4NzkuMzI5ODk2NywgMTQ4MzIsIDEuMDc5MDEzMzQ3NjI1NzMyNF0sIFsxNjYzODQxODc5LjUxNDY1OTQsIDE0ODUwLCAxLjMyODMwNjU1NTc0Nzk4NThdLCBbMTY2Mzg0MTg3OS43MDcyMjE3LCAxNDg2OCwgMS4xMzI5MDk3NzQ3ODAyNzM0XSwgWzE2NjM4NDE4NzkuNzk5MjIyMiwgMTQ4NzcsIDEuMTY2ODY1MTEwMzk3MzM4OV0sIFsxNjYzODQxODc5Ljg5MzY0NywgMTQ4ODYsIDEuMzU3ODc2MzAwODExNzY3Nl0sIFsxNjYzODQxODc5Ljk4NzcwMzYsIDE0ODk1LCAxLjQ2NDIwNTE0NTgzNTg3NjVdLCBbMTY2Mzg0MTg4MC4xODg4NzQ3LCAxNDkxMywgMS4wMDI3NjE2MDI0MDE3MzM0XSwgWzE2NjM4NDE4ODAuMzc0MjIyMywgMTQ5MzEsIDEuMTg1MjgxODcyNzQ5MzI4Nl0sIFsxNjYzODQxODgwLjczNTkxOSwgMTQ5NjcsIDEuMTc1NTYyNTAwOTUzNjc0M10sIFsxNjYzODQxODgwLjkyMzgzNjcsIDE0OTg1LCAxLjEyMTM5NjA2NDc1ODMwMDhdLCBbMTY2Mzg0MTg4MS4xMDk5NDg2LCAxNTAwMywgMS4wOTk1MTEyNjU3NTQ2OTk3XSwgWzE2NjM4NDE4ODEuMzk1MTcwNSwgMTUwMzAsIDEuMTkyNzM4Mjk0NjAxNDQwNF0sIFsxNjYzODQxODgxLjQ4OTkyNTEsIDE1MDM5LCAxLjMwODcyNzM4MzYxMzU4NjRdLCBbMTY2Mzg0MTg4MS44OTI1OTE3LCAxNTA3NSwgMS4wODg3NTY1NjEyNzkyOTY5XSwgWzE2NjM4NDE4ODIuMTc1MTI5MiwgMTUxMDIsIDAuOTE4NjU5OTI1NDYwODE1NF0sIFsxNjYzODQxODgyLjM3NDE2NywgMTUxMjAsIDAuODYxMjQ4MDc1OTYyMDY2N10sIFsxNjYzODQxODgyLjQ2OTczNDQsIDE1MTI5LCAxLjAxNDU2Njg5ODM0NTk0NzNdLCBbMTY2Mzg0MTg4Mi41NjUwMTgsIDE1MTM4LCAxLjA3NTc4MDk4NzczOTU2M10sIFsxNjYzODQxODgyLjY2ODExNTEsIDE1MTQ3LCAwLjg5NzQyMTg5NjQ1NzY3MjFdLCBbMTY2Mzg0MTg4My4wMDQ2NDQyLCAxNTE3NCwgMS4wMzEzNjkyMDkyODk1NTA4XSwgWzE2NjM4NDE4ODMuMTM2NTY0NywgMTUxODMsIDEuMDYwOTA0MDI2MDMxNDk0MV0sIFsxNjYzODQxODgzLjIzNzg2NTQsIDE1MTkyLCAxLjI2NTY2OTQ2NTA2NTAwMjRdLCBbMTY2Mzg0MTg4My4zMzU3MDc3LCAxNTIwMSwgMS4xNzI5ODg3NzIzOTIyNzNdLCBbMTY2Mzg0MTg4My44MjMyMDIxLCAxNTI0NiwgMS4xMzY4MDYwMTExOTk5NTEyXSwgWzE2NjM4NDE4ODMuOTMwNTM5NCwgMTUyNTUsIDEuMDU1MTE2MTc2NjA1MjI0Nl0sIFsxNjYzODQxODg0LjA2MTU1MjUsIDE1MjY0LCAwLjk1NTk2NTI4MDUzMjgzNjldLCBbMTY2Mzg0MTg4NC4zMTYyNzMyLCAxNTI4MiwgMC45NzM5MTk2ODk2NTUzMDRdLCBbMTY2Mzg0MTg4NC40NDM1NiwgMTUyOTEsIDEuMTg3NzI0MjMyNjczNjQ1XSwgWzE2NjM4NDE4ODQuNTcxNzIyLCAxNTMwMCwgMS4yMTQ2NTk4MTAwNjYyMjMxXSwgWzE2NjM4NDE4ODQuNjk1MDQ0OCwgMTUzMDksIDEuMDUyMDUwNDcxMzA1ODQ3Ml0sIFsxNjYzODQxODg0LjkzNDU4NTYsIDE1MzI3LCAxLjA3MDMzMTA5NjY0OTE3XSwgWzE2NjM4NDE4ODUuMTg2MTI3MiwgMTUzNDUsIDEuMDE4MTUxOTk4NTE5ODk3NV0sIFsxNjYzODQxODg1LjU3MDY4NTYsIDE1MzcyLCAxLjE2NzAzOTc1MjAwNjUzMDhdLCBbMTY2Mzg0MTg4NS44MTY3MTQsIDE1MzkwLCAwLjk1ODg5NjA0MDkxNjQ0MjldLCBbMTY2Mzg0MTg4NS45Mzc1NDMyLCAxNTM5OSwgMS4wMzI0NDEwMjAwMTE5MDE5XSwgWzE2NjM4NDE4ODYuMzE2NTA3LCAxNTQwOCwgMS4yNjkzNDQzMjk4MzM5ODQ0XSwgWzE2NjM4NDE4ODYuNDI3ODg2MiwgMTU0MTcsIDEuMTgzNDUyMDEwMTU0NzI0MV0sIFsxNjYzODQxODg3LjE1MjEwNDEsIDE1NDcxLCAxLjAxNjM4NDEyNDc1NTg1OTRdLCBbMTY2Mzg0MTg4Ny4yNDQ4NzgzLCAxNTQ4MCwgMS40MjAwNTcwNTgzMzQzNTA2XSwgWzE2NjM4NDE4ODcuNTI2OTAyNywgMTU1MDcsIDAuOTc1ODY2MjU4MTQ0Mzc4N10sIFsxNjYzODQxODg3LjYyOTQ3NzcsIDE1NTE2LCAxLjExNjIwOTE0OTM2MDY1NjddLCBbMTY2Mzg0MTg4Ny43MjQ4MDI3LCAxNTUyNSwgMS4xMDcxNzQwMzg4ODcwMjRdLCBbMTY2Mzg0MTg4Ny44MTk1OTksIDE1NTM0LCAxLjA2MDcxMjMzNzQ5Mzg5NjVdLCBbMTY2Mzg0MTg4OC40Mjk4MiwgMTU1NzksIDEuMjMzMjQ5MzA2Njc4NzcyXSwgWzE2NjM4NDE4ODkuMzQwMTUxLCAxNTY1MSwgMS4yMjM2MzY5ODQ4MjUxMzQzXSwgWzE2NjM4NDE4ODkuNDM0MTU0NSwgMTU2NjAsIDEuMjg3NzY1NTAyOTI5Njg3NV0sIFsxNjYzODQxODg5LjU1MjI3MzUsIDE1NjY5LCAxLjMzMzIxMzQ0ODUyNDQ3NV0sIFsxNjYzODQxODg5LjkwNjA0OSwgMTU2OTYsIDEuMTY0OTI5MDMyMzI1NzQ0Nl0sIFsxNjYzODQxODkwLjE3MzQ0MzMsIDE1NzE0LCAxLjAzMjc2NzI5NTgzNzQwMjNdLCBbMTY2Mzg0MTg5MC41MTI4NzM2LCAxNTc0MSwgMi4xNDg1OTg5MDkzNzgwNTE4XSwgWzE2NjM4NDE4OTAuNjI0Njk4NCwgMTU3NTAsIDEuNDY3NDk2MTU2NjkyNTA0OV0sIFsxNjYzODQxODkwLjcyOTYwMDcsIDE1NzU5LCAxLjI1Mjk5NzA0MDc0ODU5NjJdLCBbMTY2Mzg0MTg5MC44NDI1NTIsIDE1NzY4LCAxLjIyNzMxMzk5NTM2MTMyODFdLCBbMTY2Mzg0MTg5MS4wNjkzMzc2LCAxNTc4NiwgMS40MzAyNTI3OTA0NTEwNDk4XSwgWzE2NjM4NDE4OTEuMTkwOTk4OCwgMTU3OTUsIDEuMDkxMDc5NTkyNzA0NzczXSwgWzE2NjM4NDE4OTEuNTM2MTQwNCwgMTU4MjIsIDEuMjM4NjM1NjU5MjE3ODM0NV0sIFsxNjYzODQxODkyLjE0Mzc1NjQsIDE1ODY3LCAxLjAzMTczOTk1MDE4MDA1MzddLCBbMTY2Mzg0MTg5Mi4yNDU3MDU4LCAxNTg3NiwgMS41MzU3NTkzMjk3OTU4Mzc0XSwgWzE2NjM4NDE4OTIuNTI2OTE2NSwgMTU4OTQsIDAuOTc3ODA5NjA3OTgyNjM1NV0sIFsxNjYzODQxODkyLjY3NDY0MTgsIDE1OTAzLCAxLjA3MjQyMDEyMDIzOTI1NzhdLCBbMTY2Mzg0MTg5Mi45MDcyNzgsIDE1OTIxLCAxLjE3NTU5ODUwMjE1OTExODddLCBbMTY2Mzg0MTg5My43MzY3MDcsIDE1OTg0LCAxLjMxMTcyNDMwNTE1Mjg5M10sIFsxNjYzODQxODkzLjg0NTg2MSwgMTU5OTMsIDAuOTY3ODk4NDI4NDQwMDk0XSwgWzE2NjM4NDE4OTMuOTUzNDUzMywgMTYwMDIsIDEuMTg3NTI5MzI1NDg1MjI5NV0sIFsxNjYzODQxODk0LjMyMzEzODUsIDE2MDI5LCAxLjM2NzYzMTQzNTM5NDI4N10sIFsxNjYzODQxODk0LjgyODU4MzIsIDE2MDY1LCAxLjA5Mzg4MjY3OTkzOTI3XSwgWzE2NjM4NDE4OTQuOTYxNzIzOCwgMTYwNzQsIDEuMDI1OTc5NTE4ODkwMzgwOV0sIFsxNjYzODQxODk1LjA4MDU1LCAxNjA4MywgMS4wODQwOTUzNTg4NDg1NzE4XSwgWzE2NjM4NDE4OTUuMTk5MjE1NywgMTYwOTIsIDAuOTA3OTA5NjMxNzI5MTI2XSwgWzE2NjM4NDE4OTUuNDMzMDYxOCwgMTYxMTAsIDEuMjEwNTQ4MDQzMjUxMDM3Nl0sIFsxNjYzODQxODk1LjU1NzA0ODYsIDE2MTE5LCAwLjkyNTk4MTA0NDc2OTI4NzFdLCBbMTY2Mzg0MTg5NS43NzczODY0LCAxNjEzNywgMS4xODY1MTQ5NzM2NDA0NDJdLCBbMTY2Mzg0MTg5NS45Njc0ODE5LCAxNjE1NSwgMS4xNTc5NjQzNDg3OTMwMjk4XSwgWzE2NjM4NDE4OTYuMTU2NDc0NiwgMTYxNzMsIDEuMDY2NTQxOTEwMTcxNTA4OF0sIFsxNjYzODQxODk2LjI1NjA2MywgMTYxODIsIDEuMjY2ODc1MDI4NjEwMjI5NV0sIFsxNjYzODQxODk2Ljc2MzUyODYsIDE2MjA5LCAwLjk4MTk0Nzc3OTY1NTQ1NjVdLCBbMTY2Mzg0MTg5Ny4wMDE2MTM0LCAxNjIyNywgMS4zODIwMzEyMDIzMTYyODQyXSwgWzE2NjM4NDE4OTcuMDkzMDgzOSwgMTYyMzYsIDEuMDE4ODcxMTg4MTYzNzU3M10sIFsxNjYzODQxODk3LjE4Njg1MDUsIDE2MjQ1LCAwLjk5NzgwMzkyNjQ2Nzg5NTVdLCBbMTY2Mzg0MTg5Ny42ODM4MjQ1LCAxNjI4MSwgMS4zMzA1MTk1NTY5OTkyMDY1XSwgWzE2NjM4NDE4OTcuOTUyMjI0NywgMTYyOTksIDAuOTY4MjIyMTQxMjY1ODY5MV0sIFsxNjYzODQxODk4LjQ2OTk4MjYsIDE2MzM1LCAxLjI2Njg5NzkxNjc5MzgyMzJdLCBbMTY2Mzg0MTg5OC43MDA5NDM1LCAxNjM1MywgMC45NjI2MDgwMzkzNzkxMTk5XSwgWzE2NjM4NDE4OTguOTM4MjM3NywgMTYzNzEsIDAuOTUzNzE2MTU4ODY2ODgyM10sIFsxNjYzODQxODk5LjA1NjA1MzIsIDE2MzgwLCAxLjE2NDcwNTc1MzMyNjQxNl0sIFsxNjYzODQxODk5LjUxOTYyMiwgMTY0MTYsIDEuMTA4NzkzMTM5NDU3NzAyNl0sIFsxNjYzODQxODk5Ljg3ODk0NSwgMTY0NDMsIDEuMjQyODg0ODc0MzQzODcyXSwgWzE2NjM4NDE4OTkuOTk3OTc4LCAxNjQ1MiwgMS4xNzUzMDQxNzQ0MjMyMTc4XSwgWzE2NjM4NDE5MDAuMjMwNDMyLCAxNjQ3MCwgMS4wNTI4MTE4NjEwMzgyMDhdLCBbMTY2Mzg0MTkwMC4zNDg0MTU5LCAxNjQ3OSwgMS4wMDA3MDc2MjYzNDI3NzM0XSwgWzE2NjM4NDE5MDAuNTgwNjY3LCAxNjQ5NywgMC45NjUzMTU1MjA3NjMzOTcyXSwgWzE2NjM4NDE5MDAuNjkwNDQ4MywgMTY1MDYsIDEuMDc3OTk1NjU3OTIwODM3NF0sIFsxNjYzODQxOTAwLjgwMzY2NDIsIDE2NTE1LCAxLjA5NzYzNTM4ODM3NDMyODZdLCBbMTY2Mzg0MTkwMS4wMjQzNzcsIDE2NTMzLCAwLjkwOTczMzIzNTgzNjAyOV0sIFsxNjYzODQxOTAxLjE1NjE0NywgMTY1NDIsIDEuMjkxNzIzOTY2NTk4NTEwN10sIFsxNjYzODQxOTAxLjI3MDQ0NTgsIDE2NTUxLCAxLjA2MzQyMDI5NTcxNTMzMl0sIFsxNjYzODQxOTAxLjk3NTA2MzgsIDE2NjA1LCAxLjA4NTM0Nzc3MTY0NDU5MjNdLCBbMTY2Mzg0MTkwMi4wOTIzNzIyLCAxNjYxNCwgMS4wNDI2MTY0ODY1NDkzNzc0XSwgWzE2NjM4NDE5MDIuMjA3MzUwNywgMTY2MjMsIDEuNDU3Nzg3NzUyMTUxNDg5M10sIFsxNjYzODQxOTAyLjMyNjYyMiwgMTY2MzIsIDAuODkxMDMwMTkyMzc1MTgzMV0sIFsxNjYzODQxOTAyLjQ0OTE5MjgsIDE2NjQxLCAxLjA4NTY2MTUzMDQ5NDY5XSwgWzE2NjM4NDE5MDIuODAyOTIwOCwgMTY2NjgsIDAuOTMyMDU4Mjc0NzQ1OTQxMl0sIFsxNjYzODQxOTAzLjA0NDg3MzcsIDE2Njg2LCAxLjAzNzgzNzE0NzcxMjcwNzVdLCBbMTY2Mzg0MTkwMy44NTI3NjA4LCAxNjc0OSwgMC45NTI0MTk5OTYyNjE1OTY3XSwgWzE2NjM4NDE5MDQuMzA0ODQ5NiwgMTY3ODUsIDEuMDQzNjQxMDkwMzkzMDY2NF0sIFsxNjYzODQxOTA0LjQyMjUzNiwgMTY3OTQsIDEuMjI2ODY3MTk4OTQ0MDkxOF0sIFsxNjYzODQxOTA0LjUzMzYyNDIsIDE2ODAzLCAxLjA4ODUzMTEzNjUxMjc1NjNdLCBbMTY2Mzg0MTkwNC42NTQyODU0LCAxNjgxMiwgMC45Mzg4MDMzMTUxNjI2NTg3XSwgWzE2NjM4NDE5MDUuMTAyNDQ0NiwgMTY4NDgsIDAuOTc1NDI1NDIyMTkxNjE5OV0sIFsxNjYzODQxOTA1LjIxMTI2ODIsIDE2ODU3LCAxLjExNzgwNjc5MjI1OTIxNjNdLCBbMTY2Mzg0MTkwNS4zMjAxNTY2LCAxNjg2NiwgMC45NzYyNzY0NTczMDk3MjI5XSwgWzE2NjM4NDE5MDUuNDM1NDQxNywgMTY4NzUsIDEuMTU0MTYzOTU2NjQyMTUwOV0sIFsxNjYzODQxOTA1LjU1MjkxNSwgMTY4ODQsIDEuMTUwNjg0NDc1ODk4NzQyN10sIFsxNjYzODQxOTA1Ljc5Mjc1NDIsIDE2OTAyLCAwLjk2NTEyOTQzNTA2MjQwODRdLCBbMTY2Mzg0MTkwNi4wOTgwNTEsIDE2OTI5LCAxLjMzNjc4MTk3ODYwNzE3NzddLCBbMTY2Mzg0MTkwNi4zNzk0NTQxLCAxNjk1NiwgMS40OTQ3MTk4NjI5Mzc5MjcyXSwgWzE2NjM4NDE5MDYuNDY1MzI2LCAxNjk2NSwgMS4xOTU3OTY3MjgxMzQxNTUzXSwgWzE2NjM4NDE5MDYuNjY5Njk1NCwgMTY5ODMsIDEuMDUwOTAyMjQ3NDI4ODk0XSwgWzE2NjM4NDE5MDYuODQ5NDg3LCAxNzAwMSwgMC45OTQ4Nzc3NTU2NDE5MzczXSwgWzE2NjM4NDE5MDcuMjczMjA3LCAxNzAxOSwgMS4wNzM2NDczNzk4NzUxODNdLCBbMTY2Mzg0MTkwNy4zNjUwNzc3LCAxNzAyOCwgMS41NDY5OTE3MDU4OTQ0NzAyXSwgWzE2NjM4NDE5MDcuNzYwOTc0NCwgMTcwNjQsIDEuMDYyMjM0OTk3NzQ5MzI4Nl0sIFsxNjYzODQxOTA4LjE2NTQwNCwgMTcxMDAsIDEuNDAxOTc1NTEyNTA0NTc3Nl0sIFsxNjYzODQxOTA4LjM3MDg1OSwgMTcxMTgsIDEuMDA1NjU3OTExMzAwNjU5Ml0sIFsxNjYzODQxOTA4LjQ2MTA1NTMsIDE3MTI3LCAxLjQ5MDIxOTgzMTQ2NjY3NDhdLCBbMTY2Mzg0MTkwOC45NTUxNTkyLCAxNzE2MywgMS40ODc3NTU0MTc4MjM3OTE1XSwgWzE2NjM4NDE5MDkuMTkxOTUwOCwgMTcxODEsIDEuMTk3MjQ3MTQ3NTYwMTE5Nl0sIFsxNjYzODQxOTA5LjMyNzkyMTksIDE3MTkwLCAxLjA2MDQ1NTc5OTEwMjc4MzJdLCBbMTY2Mzg0MTkwOS40NTc2NzYyLCAxNzE5OSwgMS4wMTk3NjAyNTEwNDUyMjddLCBbMTY2Mzg0MTkwOS44NjI4NTE5LCAxNzIyNiwgMS4yNjg4MDc4ODgwMzEwMDU5XSwgWzE2NjM4NDE5MTAuMjI0OTY5LCAxNzI1MywgMS4yMDIwNjM1NjA0ODU4Mzk4XSwgWzE2NjM4NDE5MTAuNDU2OTc5LCAxNzI3MSwgMS40NTg1MjM3NTAzMDUxNzU4XSwgWzE2NjM4NDE5MTEuMTQ4NDE4NywgMTczMjUsIDEuMTczNTQ3MjY3OTEzODE4NF0sIFsxNjYzODQxOTExLjI1MzAwNzcsIDE3MzM0LCAxLjAyNTAzMzgzMTU5NjM3NDVdLCBbMTY2Mzg0MTkxMS4zNzc1Nzc4LCAxNzM0MywgMS4wMzkxNjU5NzM2NjMzM10sIFsxNjYzODQxOTExLjYxMjIxNzIsIDE3MzYxLCAxLjIyODc2MTU1Mzc2NDM0MzNdLCBbMTY2Mzg0MTkxMS43MzAzNDg4LCAxNzM3MCwgMS4yNDA5Mzg1NDQyNzMzNzY1XSwgWzE2NjM4NDE5MTIuMDc1OTk4MywgMTczOTcsIDEuNDc2ODc0NTg5OTIwMDQ0XSwgWzE2NjM4NDE5MTIuNDI3NTg2LCAxNzQyNCwgMS4yNjU4NTU1NTA3NjU5OTEyXSwgWzE2NjM4NDE5MTIuNTQwNzMzLCAxNzQzMywgMS4yNzkwMDM3MzkzNTY5OTQ2XSwgWzE2NjM4NDE5MTIuODY0NTUyLCAxNzQ2MCwgMS4xMTI4NTgwNTcwMjIwOTQ3XSwgWzE2NjM4NDE5MTIuOTc2NDY0MywgMTc0NjksIDEuMjYyNzY2MzYxMjM2NTcyM10sIFsxNjYzODQxOTEzLjA2ODg1NDgsIDE3NDc4LCAxLjIyMDA0OTk3NzMwMjU1MTNdLCBbMTY2Mzg0MTkxMy4xNzc5MDIyLCAxNzQ4NywgMS4zMTczNTk2ODU4OTc4MjcxXSwgWzE2NjM4NDE5MTMuNTMxMjE3OCwgMTc1MTQsIDEuNDE3NjU5MjgyNjg0MzI2Ml0sIFsxNjYzODQxOTEzLjc4NTgwMzgsIDE3NTMyLCAxLjA4NjQ1Mjg0MTc1ODcyOF0sIFsxNjYzODQxOTE0LjA4MTg2OTYsIDE3NTU5LCAwLjk4MzE0NTIzNjk2ODk5NDFdLCBbMTY2Mzg0MTkxNC4xODEwODgyLCAxNzU2OCwgMC45NzM5MTY1OTAyMTM3NzU2XSwgWzE2NjM4NDE5MTQuMzg1MDU2NywgMTc1ODYsIDEuMDM1NzE1NDYwNzc3MjgyN10sIFsxNjYzODQxOTE0LjY5ODQzNTgsIDE3NjEzLCAxLjE2NzUyMTExOTExNzczNjhdLCBbMTY2Mzg0MTkxNS4wOTc1MjksIDE3NjQ5LCAxLjA3MzI1NzQ0NjI4OTA2MjVdLCBbMTY2Mzg0MTkxNS4yMDA1Njc1LCAxNzY1OCwgMC45ODM5NDMxNjQzNDg2MDIzXSwgWzE2NjM4NDE5MTUuMjk3NjcsIDE3NjY3LCAxLjA4NjgxNDE2NTExNTM1NjRdLCBbMTY2Mzg0MTkxNS40MDAzMDM2LCAxNzY3NiwgMS4yMjY4ODU1NTcxNzQ2ODI2XSwgWzE2NjM4NDE5MTUuNTA2MjM1NCwgMTc2ODUsIDEuMDIyNzI2ODkzNDI0OTg3OF0sIFsxNjYzODQxOTE1LjY5NTk1OTMsIDE3NzAzLCAwLjkwMzkzNjk4MjE1NDg0NjJdLCBbMTY2Mzg0MTkxNS43OTgxMjcyLCAxNzcxMiwgMS40NjQ4NDU0MTg5MzAwNTM3XSwgWzE2NjM4NDE5MTUuODkyNzM4MywgMTc3MjEsIDEuMTI0OTAwMjIxODI0NjQ2XSwgWzE2NjM4NDE5MTUuOTkwNzMxLCAxNzczMCwgMS4wNDc5NTU5ODk4Mzc2NDY1XSwgWzE2NjM4NDE5MTYuNjk4NjY0MiwgMTc3ODQsIDEuMjM4OTQ4ODIyMDIxNDg0NF0sIFsxNjYzODQxOTE3LjEzMzk5NjIsIDE3ODAyLCAxLjEwODMxNTM0ODYyNTE4M10sIFsxNjYzODQxOTE3LjIyNzgyNjgsIDE3ODExLCAwLjkzODQ0MTk5MTgwNjAzMDNdLCBbMTY2Mzg0MTkxNy4zMjI4MzI4LCAxNzgyMCwgMC45NjA2NzUxMjAzNTM2OTg3XSwgWzE2NjM4NDE5MTcuNDE2NjMxNywgMTc4MjksIDEuMzcyMzk2MTExNDg4MzQyM10sIFsxNjYzODQxOTE3LjUwNjg1OTUsIDE3ODM4LCAxLjI1MDAxNjMzMTY3MjY2ODVdLCBbMTY2Mzg0MTkxNy41OTkwMDkzLCAxNzg0NywgMS4xMDA2ODMzMzE0ODk1NjNdLCBbMTY2Mzg0MTkxNy42OTQyNjEsIDE3ODU2LCAwLjk5NTYxODM0MzM1MzI3MTVdLCBbMTY2Mzg0MTkxNy44OTEwOTcsIDE3ODc0LCAxLjE3MDMwMzk0MDc3MzAxMDNdLCBbMTY2Mzg0MTkxOC4wODE4MiwgMTc4OTIsIDAuOTkwNzI2OTQ3Nzg0NDIzOF0sIFsxNjYzODQxOTE4LjE4Njg3NSwgMTc5MDEsIDEuNjY0OTMwODIwNDY1MDg4XSwgWzE2NjM4NDE5MTguMjc4ODA3NCwgMTc5MTAsIDEuMTA4NDA1NTkwMDU3MzczXSwgWzE2NjM4NDE5MTguNDgxMzg3NCwgMTc5MjgsIDEuMTY0OTEwMzE2NDY3Mjg1Ml0sIFsxNjYzODQxOTE4LjU3MzMxMDEsIDE3OTM3LCAwLjkyMDU2ODcwNDYwNTEwMjVdLCBbMTY2Mzg0MTkxOC42NjkxOTM3LCAxNzk0NiwgMS40NjkxMDU2MDEzMTA3M10sIFsxNjYzODQxOTE4Ljg3NTAyOSwgMTc5NjQsIDEuMTUyNzU2ODEwMTg4MjkzNV0sIFsxNjYzODQxOTE5LjU5MjYxOTQsIDE4MDI3LCAxLjEwNTE2Nzk4NDk2MjQ2MzRdLCBbMTY2Mzg0MTkyMC4xODA2MjcsIDE4MDgxLCAxLjAzMDg5NzE0MDUwMjkyOTddLCBbMTY2Mzg0MTkyMC45MjUyODY4LCAxODE1MywgMS4xMDUzNjMxMzA1Njk0NThdLCBbMTY2Mzg0MTkyMS4wMTc0Njc1LCAxODE2MiwgMS4wMDQxNTE3MDE5MjcxODVdLCBbMTY2Mzg0MTkyMS4zOTkzMTM3LCAxODE5OCwgMS4zMjM0OTEwOTY0OTY1ODJdLCBbMTY2Mzg0MTkyMS41MDc2OTUsIDE4MjA3LCAxLjA3Mjg5MTQ3Mzc3MDE0MTZdLCBbMTY2Mzg0MTkyMS41OTEwNTksIDE4MjE2LCAwLjk3NTczNjE0MTIwNDgzNF0sIFsxNjYzODQxOTIxLjc4NzM3OCwgMTgyMzQsIDEuMjAxNzMzOTQ2ODAwMjMyXSwgWzE2NjM4NDE5MjEuODc1NzI5NiwgMTgyNDMsIDAuODY5ODkyOTU0ODI2MzU1XSwgWzE2NjM4NDE5MjIuMDgzMTcwNywgMTgyNjEsIDEuMDU3OTA5MzY5NDY4Njg5XSwgWzE2NjM4NDE5MjIuMzUxODM3NiwgMTgyODgsIDEuMTUwMzMwMTg1ODkwMTk3OF0sIFsxNjYzODQxOTIyLjQ1MjY0NzQsIDE4Mjk3LCAxLjI5Mzc0NTA0MDg5MzU1NDddLCBbMTY2Mzg0MTkyMi42MzgwNDU4LCAxODMxNSwgMS4wNzM1NTI2MDg0ODk5OTAyXSwgWzE2NjM4NDE5MjIuNzMxMzU2MSwgMTgzMjQsIDEuMjA1OTQ2OTIyMzAyMjQ2XSwgWzE2NjM4NDE5MjIuODE4NTE4OSwgMTgzMzMsIDAuOTkwMzM5NTc3MTk4MDI4Nl0sIFsxNjYzODQxOTIzLjAwMDU4NzIsIDE4MzUxLCAwLjkyNTgzMzIyNTI1MDI0NDFdLCBbMTY2Mzg0MTkyMy4yNjA1NjQ2LCAxODM2OSwgMC45ODg2Mjk4Nzc1NjcyOTEzXSwgWzE2NjM4NDE5MjMuMzc1MTk4NCwgMTgzNzgsIDEuMDI0NDY2MDM3NzUwMjQ0MV0sIFsxNjYzODQxOTIzLjU4MDgyNTYsIDE4Mzk2LCAxLjQzMjU2OTg2MTQxMjA0ODNdLCBbMTY2Mzg0MTkyMy42OTQ0ODY2LCAxODQwNSwgMS40ODcxMDA0ODE5ODY5OTk1XSwgWzE2NjM4NDE5MjQuMDU2Njc0NywgMTg0MzIsIDEuMDkxNTA0ODEyMjQwNjAwNl0sIFsxNjYzODQxOTI0LjE4MDE0NzYsIDE4NDQxLCAxLjYwNTUxNzM4NzM5MDEzNjddLCBbMTY2Mzg0MTkyNC4zMTE4NzM0LCAxODQ1MCwgMS4xMzIzNjM3OTYyMzQxMzA5XSwgWzE2NjM4NDE5MjQuOTM3NjUzLCAxODQ5NSwgMS4wNzUzMTQ2NDA5OTg4NDAzXSwgWzE2NjM4NDE5MjUuMDI5NjI0MiwgMTg1MDQsIDEuMTQxNTAyNjE4Nzg5NjcyOV0sIFsxNjYzODQxOTI1LjEyODkwOTMsIDE4NTEzLCAwLjk3ODM0OTgwNDg3ODIzNDldLCBbMTY2Mzg0MTkyNS4yNDE2LCAxODUyMiwgMS4yMDUzNzYyNjc0MzMxNjY1XSwgWzE2NjM4NDE5MjYuNDIxOTI4NiwgMTg2MTIsIDEuMTM4ODk1MjczMjA4NjE4Ml0sIFsxNjYzODQxOTI2LjUxMTQ4NDYsIDE4NjIxLCAxLjIwMDY0NDYxMjMxMjMxN10sIFsxNjYzODQxOTI2LjY5NDc0MDgsIDE4NjM5LCAxLjA0MTgzMjA4OTQyNDEzMzNdLCBbMTY2Mzg0MTkyNi44ODU1MTM1LCAxODY1NywgMS41MjA4MjAyNjAwNDc5MTI2XSwgWzE2NjM4NDE5MjcuMDY2ODMwNiwgMTg2NzUsIDEuMTgyODY0OTA0NDAzNjg2NV0sIFsxNjYzODQxOTI3LjUzNDI1MDMsIDE4NzExLCAwLjkyNjUwMzQxOTg3NjA5ODZdLCBbMTY2Mzg0MTkyNy42NjA4NDQsIDE4NzIwLCAxLjA0MDQxNzMxMzU3NTc0NDZdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_08-28-19_54c5144e9b50&tag=Loss%2Fvalid":{"data":"W1sxNjYzOTIxNjk5LjU1ODI5MjIsIDksIDEwMy4wNDg4MjA0OTU2MDU0N10sIFsxNjYzOTIxNjk5Ljc3ODQyNTUsIDI3LCAxOC4wNDY4NDgyOTcxMTkxNF0sIFsxNjYzOTIxNjk5Ljg5NDk3MzgsIDM2LCAyMi43MjQ5Njk4NjM4OTE2XSwgWzE2NjM5MjE3MDAuMDA1NTI4NywgNDUsIDE0LjI1MDYzMzIzOTc0NjA5NF0sIFsxNjYzOTIxNzAwLjUwOTYxNSwgNzIsIDEwLjg5ODA4NDY0MDUwMjkzXSwgWzE2NjM5MjE3MDAuNzM0NDA2LCA5MCwgNy44ODk4ODQ0NzE4OTMzMTA1XSwgWzE2NjM5MjE3MDAuODQyMTEzLCA5OSwgNy43ODI2OTkxMDgxMjM3NzldLCBbMTY2MzkyMTcwMC45NTk4MTI2LCAxMDgsIDcuMzE2MDcwMDc5ODAzNDY3XSwgWzE2NjM5MjE3MDEuMzEyNDM1OSwgMTM1LCA2LjA2OTUwNjE2ODM2NTQ3ODVdLCBbMTY2MzkyMTcwMS40MjU1MTE2LCAxNDQsIDUuNzAxNjQwNjA1OTI2NTE0XSwgWzE2NjM5MjE3MDEuNTM2MTc1LCAxNTMsIDUuNTgzNzU0NTM5NDg5NzQ2XSwgWzE2NjM5MjE3MDEuNjM3MjYxLCAxNjIsIDUuMDAzMDI2NDg1NDQzMTE1XSwgWzE2NjM5MjE3MDEuNzUzMjIzNCwgMTcxLCA1Ljg0NzA2NzgzMjk0Njc3N10sIFsxNjYzOTIxNzAxLjg2MTk5MTYsIDE4MCwgNC41NDIzNDc5MDgwMjAwMTk1XSwgWzE2NjM5MjE3MDEuOTg2Nzg4MywgMTg5LCA1LjI1MDE0MjA5NzQ3MzE0NDVdLCBbMTY2MzkyMTcwMi4yMzE3ODY3LCAyMDcsIDUuNTA3NTUzMTAwNTg1OTM3NV0sIFsxNjYzOTIxNzAyLjM0NDQ3OTYsIDIxNiwgNS4wMDAxODczOTcwMDMxNzRdLCBbMTY2MzkyMTcwMi41NTE3MjU5LCAyMzQsIDUuNzI4NjEwOTkyNDMxNjQxXSwgWzE2NjM5MjE3MDIuNjY1MzM0LCAyNDMsIDQuNTY4MTk3MjUwMzY2MjExXSwgWzE2NjM5MjE3MDIuNzY1NzQxNiwgMjUyLCAzLjY2NTIxNTk2OTA4NTY5MzRdLCBbMTY2MzkyMTcwMi44ODUwMzU4LCAyNjEsIDMuNjk3NjI0NjgzMzgwMTI3XSwgWzE2NjM5MjE3MDIuOTk2MTcsIDI3MCwgNC4yMDY5NzQwMjk1NDEwMTZdLCBbMTY2MzkyMTcwMy4xMDcxNDYsIDI3OSwgMy44MjAyNTc2NjM3MjY4MDY2XSwgWzE2NjM5MjE3MDMuMjIzODE2MiwgMjg4LCA0LjAyNzcxMDkxNDYxMTgxNl0sIFsxNjYzOTIxNzAzLjMyNjcxMSwgMjk3LCA0Ljk1MDM0MTIyNDY3MDQxXSwgWzE2NjM5MjE3MDMuNDMyMjA0MiwgMzA2LCA0LjQ4MzUzODYyNzYyNDUxMl0sIFsxNjYzOTIxNzAzLjU0NjUzNTcsIDMxNSwgMy42NDM4NDkxMzQ0NDUxOTA0XSwgWzE2NjM5MjE3MDMuNzgxMjc5OCwgMzMzLCA0LjU5MzEzNjMxMDU3NzM5M10sIFsxNjYzOTIxNzAzLjg5NjAxNTIsIDM0MiwgMy45ODA4NDkyNjYwNTIyNDZdLCBbMTY2MzkyMTcwNC4wMDkyNzE5LCAzNTEsIDQuMDA4NDcxMDEyMTE1NDc4NV0sIFsxNjYzOTIxNzA0LjExODkyNjgsIDM2MCwgNC41Mzk1OTcwMzQ0NTQzNDZdLCBbMTY2MzkyMTcwNC4yMjk3OTMzLCAzNjksIDQuNDIxMzA0NzAyNzU4Nzg5XSwgWzE2NjM5MjE3MDQuNDQyNzY2MiwgMzg3LCAzLjIwMjIyMzMwMDkzMzgzOF0sIFsxNjYzOTIxNzA0LjU2MzQ4MTgsIDM5NiwgNC4zNDM3NDgwOTI2NTEzNjddLCBbMTY2MzkyMTcwNC45NzY4MzE0LCA0MzIsIDMuMTI4MDA0MzEyNTE1MjU5XSwgWzE2NjM5MjE3MDUuMDk1ODQ4OCwgNDQxLCAzLjUzNTM5NDkwNjk5NzY4MDddLCBbMTY2MzkyMTcwNS4yMTQyNDQsIDQ1MCwgMy41NTc5MzM1Njg5NTQ0Njc4XSwgWzE2NjM5MjE3MDUuMzMyNDI0OSwgNDU5LCAzLjgwODQxMjA3NTA0MjcyNDZdLCBbMTY2MzkyMTcwNS40NDkyMTg1LCA0NjgsIDQuMDAyMDIzNjk2ODk5NDE0XSwgWzE2NjM5MjE3MDUuNTU2OTUyLCA0NzcsIDMuMzk1NDAyNjY5OTA2NjE2XSwgWzE2NjM5MjE3MDUuNjY3MzUxLCA0ODYsIDMuOTA3NTUzNjcyNzkwNTI3M10sIFsxNjYzOTIxNzA1Ljc2ODkyNSwgNDk1LCAyLjgwMzcyMzMzNTI2NjExMzNdLCBbMTY2MzkyMTcwNS44ODQwODQ3LCA1MDQsIDMuMDY1NjM1NDQyNzMzNzY0Nl0sIFsxNjYzOTIxNzA2LjExNzU1NSwgNTIyLCAyLjgxNjMwMjc3NjMzNjY3XSwgWzE2NjM5MjE3MDYuMjM3MzM4NSwgNTMxLCAzLjI4OTUzNTc2MDg3OTUxNjZdLCBbMTY2MzkyMTcwNi40NzY0NjUyLCA1NDksIDMuNDg2NTEwNzUzNjMxNTkyXSwgWzE2NjM5MjE3MDYuNTc5ODgyNCwgNTU4LCAyLjczNzI4NjA5MDg1MDgzXSwgWzE2NjM5MjE3MDYuNjg3NzQwNiwgNTY3LCAzLjI1MjI1NjM5MzQzMjYxN10sIFsxNjYzOTIxNzA2LjgwMzU5MDgsIDU3NiwgMi41NjIwMTA3NjUwNzU2ODM2XSwgWzE2NjM5MjE3MDcuMDEzNDg1NywgNTk0LCAzLjQ1MjU5ODgxMDE5NTkyM10sIFsxNjYzOTIxNzA3LjEzODQxMSwgNjAzLCAyLjk0NzQzNDkwMjE5MTE2Ml0sIFsxNjYzOTIxNzA3LjI1NTA3NDcsIDYxMiwgMi45MDc1NDYyODE4MTQ1NzVdLCBbMTY2MzkyMTcwNy4zNjM2MzU4LCA2MjEsIDIuNDkzNzE1NTI0NjczNDYyXSwgWzE2NjM5MjE3MDcuNTc4Nzk1NywgNjM5LCAyLjc5OTE0ODc5Nzk4ODg5MTZdLCBbMTY2MzkyMTcwNy42ODU2NjIzLCA2NDgsIDIuNDAxMzY4ODU2NDMwMDUzN10sIFsxNjYzOTIxNzA3LjgwODU5NiwgNjU3LCAyLjUxMTQ5ODkyODA3MDA2ODRdLCBbMTY2MzkyMTcwNy45MDQ3Mjc3LCA2NjYsIDMuMDU3MTA3Njg2OTk2NDZdLCBbMTY2MzkyMTcwOC4xMjcyNzY3LCA2ODQsIDMuMjMwMTM0MjQ4NzMzNTIwNV0sIFsxNjYzOTIxNzA4LjM0Nzc2MDcsIDcwMiwgMi4yNTQ1NTMzMTgwMjM2ODE2XSwgWzE2NjM5MjE3MDguNDY3MDM2MiwgNzExLCAyLjI2NzY2Mzk1NTY4ODQ3NjZdLCBbMTY2MzkyMTcwOC41ODMwNjM2LCA3MjAsIDIuNTEwNzE4NTg0MDYwNjY5XSwgWzE2NjM5MjE3MDguNzAxNTY5OCwgNzI5LCAyLjY3MjkyMzgwMzMyOTQ2NzhdLCBbMTY2MzkyMTcwOC43OTk1NDg2LCA3MzgsIDIuNTUyNjU5NTExNTY2MTYyXSwgWzE2NjM5MjE3MDguODkzNzMzMywgNzQ3LCAyLjcwMTg4MjYwMDc4NDMwMThdLCBbMTY2MzkyMTcwOC45OTU5MjEsIDc1NiwgMi4zNTYyNzI2OTc0NDg3MzA1XSwgWzE2NjM5MjE3MDkuMTk0Njc0NSwgNzc0LCAyLjY1OTM3NjE0NDQwOTE3OTddLCBbMTY2MzkyMTcwOS4yODA0MDM5LCA3ODMsIDIuNDEzODE4NTk3NzkzNTc5XSwgWzE2NjM5MjE3MDkuMzc3MDY2OSwgNzkyLCAyLjc2ODU5ODMxODA5OTk3NTZdLCBbMTY2MzkyMTcwOS41Njc1NzU3LCA4MTAsIDIuMjMwNjQ1MTc5NzQ4NTM1XSwgWzE2NjM5MjE3MDkuNjY2MjgzLCA4MTksIDIuMjA3NzE2NDY0OTk2MzM4XSwgWzE2NjM5MjE3MTAuMTU3MTE3OCwgODM3LCAyLjE4ODM0OTI0Njk3ODc1OThdLCBbMTY2MzkyMTcxMC41NDc2Mjk2LCA4NTUsIDIuMzIzMjY4NjUxOTYyMjgwM10sIFsxNjYzOTIxNzEwLjcwNzkzOTksIDg2NCwgMi4wMTg4NDA3ODk3OTQ5MjJdLCBbMTY2MzkyMTcxMC45NTUwMjI4LCA4NzMsIDIuMDAyMDA1MTAwMjUwMjQ0XSwgWzE2NjM5MjE3MTEuMzA5NzgyLCA5MDAsIDIuNzczNTUwNTEwNDA2NDk0XSwgWzE2NjM5MjE3MTEuNDEzMTQ2LCA5MDksIDIuNTAzMjA5NTkwOTExODY1Ml0sIFsxNjYzOTIxNzExLjUwOTg4MzQsIDkxOCwgMi4wMjUyMDI1MTI3NDEwODldLCBbMTY2MzkyMTcxMS43NjA3MzE3LCA5MzYsIDIuMDcyMjIyOTQ4MDc0MzQxXSwgWzE2NjM5MjE3MTEuOTk4OTAzNSwgOTQ1LCAyLjA0NjE0NTQzOTE0Nzk0OV0sIFsxNjYzOTIxNzEyLjI0MjM4NjYsIDk2MywgMi4xNzgwMDc4NDExMTAyMjk1XSwgWzE2NjM5MjE3MTIuMzQ5MzAzNSwgOTcyLCAyLjA2MzU0NzYxMTIzNjU3MjNdLCBbMTY2MzkyMTcxMi40NDkxMDIsIDk4MSwgMS44MzkzMDIwNjI5ODgyODEyXSwgWzE2NjM5MjE3MTIuNTQyMzk4NywgOTkwLCAyLjI5MDgyMDU5ODYwMjI5NV0sIFsxNjYzOTIxNzEyLjY0NTk1MzIsIDk5OSwgMS44MDk3Mzc2ODIzNDI1MjkzXSwgWzE2NjM5MjE3MTIuNzcxMzU4NSwgMTAwOCwgMi4zMDIzMzE2ODYwMTk4OTc1XSwgWzE2NjM5MjE3MTIuODc5MjYxNywgMTAxNywgMi41NjAyNzQ2MDA5ODI2NjZdLCBbMTY2MzkyMTcxMy4wODc1NzQ1LCAxMDM1LCAyLjM0OTg3OTAyNjQxMjk2NF0sIFsxNjYzOTIxNzEzLjE4NTk1MSwgMTA0NCwgMi4wMTk0NDY2MTE0MDQ0MTldLCBbMTY2MzkyMTcxMy4yODk5NTg1LCAxMDUzLCAyLjE1ODQ3NDIwNjkyNDQzODVdLCBbMTY2MzkyMTcxMy4zODQyMTcsIDEwNjIsIDIuMjI0MzI1MTgwMDUzNzExXSwgWzE2NjM5MjE3MTMuNTY5MDQ5OCwgMTA4MCwgMi4yNDQyNDI5MDY1NzA0MzQ2XSwgWzE2NjM5MjE3MTMuNjYxNDkwNCwgMTA4OSwgMS43Mzg4NDQ4NzE1MjA5OTZdLCBbMTY2MzkyMTcxMy43NjQ5NzY1LCAxMDk4LCAxLjk3MDkwNTU0MjM3MzY1NzJdLCBbMTY2MzkyMTcxMy45NTE2NTA2LCAxMTE2LCAxLjc1NTE3Mjg0ODcwMTQ3N10sIFsxNjYzOTIxNzE0LjE0NTQwNCwgMTEzNCwgMS45ODEwNjA1MDQ5MTMzM10sIFsxNjYzOTIxNzE0LjI0NTMxNjMsIDExNDMsIDEuNjA5ODYyNjg1MjAzNTUyMl0sIFsxNjYzOTIxNzE0LjQwMjMyOTcsIDExNTIsIDEuNjY4OTIxNDcwNjQyMDg5OF0sIFsxNjYzOTIxNzE0LjUxNzA2ODksIDExNjEsIDEuNjU3NDI5MzM3NTAxNTI1OV0sIFsxNjYzOTIxNzE0LjYzMjM3MDIsIDExNzAsIDEuNjUxODg3MTc4NDIxMDIwNV0sIFsxNjYzOTIxNzE0Ljc0MjYyODMsIDExNzksIDEuNzU0MjE5NTMyMDEyOTM5NV0sIFsxNjYzOTIxNzE0Ljg0ODExMDcsIDExODgsIDIuMDI1Njg3OTMyOTY4MTM5Nl0sIFsxNjYzOTIxNzE0Ljk2NTMwOCwgMTE5NywgMS45NjAwNjI3NDIyMzMyNzY0XSwgWzE2NjM5MjE3MTUuMTczMDc2MiwgMTIxNSwgMS41NzQ4OTYwOTcxODMyMjc1XSwgWzE2NjM5MjE3MTUuMzg0NDQxLCAxMjMzLCAxLjcxMzEyNTk0NDEzNzU3MzJdLCBbMTY2MzkyMTcxNS40OTIzNDUzLCAxMjQyLCAxLjcwODI1NTc2NzgyMjI2NTZdLCBbMTY2MzkyMTcxNS41OTk2NTA0LCAxMjUxLCAyLjEzMjE1MTYwMzY5ODczMDVdLCBbMTY2MzkyMTcxNS43MDAzMjIyLCAxMjYwLCAxLjY0MjU5ODE1MjE2MDY0NDVdLCBbMTY2MzkyMTcxNS43OTk4MzE2LCAxMjY5LCAxLjkxNjAyMjg5Njc2NjY2MjZdLCBbMTY2MzkyMTcxNS45MjYxNDQ2LCAxMjc4LCAxLjk4ODkyODY3NTY1MTU1MDNdLCBbMTY2MzkyMTcxNi4xNDcwNjY0LCAxMjk2LCAxLjU5MjQ4Mzk5NzM0NDk3MDddLCBbMTY2MzkyMTcxNi4yNTE5ODMyLCAxMzA1LCAxLjY2MzkzMDA1ODQ3OTMwOV0sIFsxNjYzOTIxNzE2LjM2MTA5NjEsIDEzMTQsIDEuODg1MzQzNDMyNDI2NDUyNl0sIFsxNjYzOTIxNzE2LjQ2Njk5MiwgMTMyMywgMi4yMTg4ODAxNzY1NDQxODk1XSwgWzE2NjM5MjE3MTYuNTU3NTQzOCwgMTMzMiwgMS42Nzk5MDU4OTE0MTg0NTddLCBbMTY2MzkyMTcxNi42NTY5NDY0LCAxMzQxLCAxLjU3OTk2MTg5NTk0MjY4OF0sIFsxNjYzOTIxNzE2Ljg0MDkxMTYsIDEzNTksIDEuNjIxMDU2MTk5MDczNzkxNV0sIFsxNjYzOTIxNzE3LjE0MzI3NTcsIDEzODYsIDEuNjM0NTU4MjAwODM2MTgxNl0sIFsxNjYzOTIxNzE3LjI0ODIzNzEsIDEzOTUsIDEuNTU5MzA0ODMzNDEyMTcwNF0sIFsxNjYzOTIxNzE3LjQ4MzU3NTMsIDE0MTMsIDEuNjA2Nzg4MDM5MjA3NDU4NV0sIFsxNjYzOTIxNzE3LjU4NDAwMjMsIDE0MjIsIDEuNjQ0OTEyMDA0NDcwODI1Ml0sIFsxNjYzOTIxNzE3LjY3ODMyNzMsIDE0MzEsIDEuNjQ2OTUyMzkwNjcwNzc2NF0sIFsxNjYzOTIxNzE3Ljc3NzA2MjcsIDE0NDAsIDEuNzE2MDc2NzMxNjgxODIzN10sIFsxNjYzOTIxNzE3Ljg3NTUyMiwgMTQ0OSwgMi4wMDMxOTgxNDY4MjAwNjg0XSwgWzE2NjM5MjE3MTcuOTY1NTI2LCAxNDU4LCAxLjYzNzM5NjMzNTYwMTgwNjZdLCBbMTY2MzkyMTcxOC4wNjYwNTM0LCAxNDY3LCAxLjczODczNTc5NTAyMTA1NzFdLCBbMTY2MzkyMTcxOC4xODgyMTE0LCAxNDc2LCAxLjY2MTg5MTkzNzI1NTg1OTRdLCBbMTY2MzkyMTcxOC4yOTcyMTg2LCAxNDg1LCAxLjUyNTA2MDQxNTI2Nzk0NDNdLCBbMTY2MzkyMTcxOC41MTc3MTIsIDE1MDMsIDEuOTk3NzgwOTE5MDc1MDEyMl0sIFsxNjYzOTIxNzE4LjcxNTg4NTYsIDE1MjEsIDEuNjIzNTE2OTE3MjI4Njk4N10sIFsxNjYzOTIxNzE4LjgyMDE3NTQsIDE1MzAsIDEuNzk4MDcyOTM0MTUwNjk1OF0sIFsxNjYzOTIxNzE4LjkxNzkxNSwgMTUzOSwgMS44MDg5MjYzNDM5MTc4NDY3XSwgWzE2NjM5MjE3MTkuMDE3MTk3OCwgMTU0OCwgMS44NjI4NTY2MjY1MTA2MjAxXSwgWzE2NjM5MjE3MTkuMTEzNzY4LCAxNTU3LCAxLjQ5MjAwNzAxNzEzNTYyMDFdLCBbMTY2MzkyMTcxOS4yOTI2MDkyLCAxNTc1LCAxLjkyNjc1ODY0Njk2NTAyNjldLCBbMTY2MzkyMTcxOS40MDAzMDM2LCAxNTg0LCAxLjkxMTEzMTAyNDM2MDY1NjddLCBbMTY2MzkyMTcxOS41NTU1MTgyLCAxNTkzLCAxLjUzNTUxMDE4MjM4MDY3NjNdLCBbMTY2MzkyMTcxOS42NDMzNzcsIDE2MDIsIDEuNTAxODc5NDUzNjU5MDU3Nl0sIFsxNjYzOTIxNzE5LjczMzg5NjUsIDE2MTEsIDEuOTk1OTYxNzg1MzE2NDY3M10sIFsxNjYzOTIxNzE5LjkzNDc2MjIsIDE2MjksIDEuODY3MzYwNTkxODg4NDI3N10sIFsxNjYzOTIxNzIwLjIxNTQ4OCwgMTYzOCwgMS40NzQ3MDg1NTcxMjg5MDYyXSwgWzE2NjM5MjE3MjAuMzA3MjQ2NCwgMTY0NywgMS42ODMyMzY4MzczODcwODVdLCBbMTY2MzkyMTcyMC40MTMyMTg1LCAxNjU2LCAxLjU2Mzc4NDM2MDg4NTYyMDFdLCBbMTY2MzkyMTcyMC41MDgxOTU2LCAxNjY1LCAyLjI0MjI2ODgwMDczNTQ3MzZdLCBbMTY2MzkyMTcyMC42MTU1MjksIDE2NzQsIDEuNTA5OTgxNTEzMDIzMzc2NV0sIFsxNjYzOTIxNzIwLjcwOTMwMTIsIDE2ODMsIDIuMDI2NDA2NTI2NTY1NTUxOF0sIFsxNjYzOTIxNzIwLjk5MzE1NywgMTcxMCwgMS43NTEyMDYxNTk1OTE2NzQ4XSwgWzE2NjM5MjE3MjEuMDkyNjc3OCwgMTcxOSwgMS42NTgzMzU5MjQxNDg1NTk2XSwgWzE2NjM5MjE3MjEuMjEzMzM4LCAxNzI4LCAxLjc4NjcwNjMyODM5MjAyODhdLCBbMTY2MzkyMTcyMS4zMTc4OCwgMTczNywgMS43NzUzOTc4OTY3NjY2NjI2XSwgWzE2NjM5MjE3MjEuNDI0OTE4NCwgMTc0NiwgMS42MTI2NzE2MTM2OTMyMzczXSwgWzE2NjM5MjE3MjEuNjY0NzUyNSwgMTc2NCwgMS41MDcxMTA3MTQ5MTI0MTQ2XSwgWzE2NjM5MjE3MjEuODc1NzI5LCAxNzgyLCAxLjcyMDQwODU1ODg0NTUyXSwgWzE2NjM5MjE3MjEuOTc1NDA3MSwgMTc5MSwgMS41NjMyNDQ1ODEyMjI1MzQyXSwgWzE2NjM5MjE3MjIuMDczNzU0MywgMTgwMCwgMS43NjY1MzI4OTc5NDkyMTg4XSwgWzE2NjM5MjE3MjIuMTc1NjI0MSwgMTgwOSwgMS42ODEwMDEzMDU1ODAxMzkyXSwgWzE2NjM5MjE3MjIuMzUxMzM4OSwgMTgyNywgMS43MjE4NzE5NzIwODQwNDU0XSwgWzE2NjM5MjE3MjIuNDQ4NjU2NiwgMTgzNiwgMS41OTE2NDM5Mjk0ODE1MDYzXSwgWzE2NjM5MjE3MjIuNTQ2MzgyNCwgMTg0NSwgMS40MzkxMDUzOTE1MDIzODA0XSwgWzE2NjM5MjE3MjIuNjcwNDgwNywgMTg1NCwgMS4zNDc5NDI4MjkxMzIwOF0sIFsxNjYzOTIxNzIyLjc3Nzg1MjMsIDE4NjMsIDEuNTM0ODgxNzExMDA2MTY0Nl0sIFsxNjYzOTIxNzIyLjg2ODQyLCAxODcyLCAxLjM1NzU5NzExMjY1NTYzOTZdLCBbMTY2MzkyMTcyMi45NjQ1NjMxLCAxODgxLCAxLjcwMzgwNTMyNzQxNTQ2NjNdLCBbMTY2MzkyMTcyMy4wNTAzNDc2LCAxODkwLCAxLjk4NjMyODQ4MjYyNzg2ODddLCBbMTY2MzkyMTcyMy4xNDE5OTkyLCAxODk5LCAxLjgyNTU4NjE5OTc2MDQzN10sIFsxNjYzOTIxNzIzLjIzNDI4MjcsIDE5MDgsIDEuNTI0ODQ2MzE1MzgzOTExMV0sIFsxNjYzOTIxNzIzLjQzMzY5NDEsIDE5MjYsIDEuMzcxOTMyODY0MTg5MTQ4XSwgWzE2NjM5MjE3MjMuNTE4MzQ5NiwgMTkzNSwgMS45MjgzNjc0OTU1MzY4MDQyXSwgWzE2NjM5MjE3MjMuNjI4NzQxNywgMTk0NCwgMS42MzQ5NjI3OTcxNjQ5MTddLCBbMTY2MzkyMTcyMy43MTU5NjE3LCAxOTUzLCAxLjkxNzkwNDEzODU2NTA2MzVdLCBbMTY2MzkyMTcyMy45MDM2ODQ2LCAxOTcxLCAxLjQ5MDU4NDAxNTg0NjI1MjRdLCBbMTY2MzkyMTcyMy45OTM5NzgzLCAxOTgwLCAxLjc1OTQyMDk5MDk0MzkwODddLCBbMTY2MzkyMTcyNC4wOTY3MzgsIDE5ODksIDEuMzY2OTkzMTg4ODU4MDMyMl0sIFsxNjYzOTIxNzI0LjE4MzIxNTYsIDE5OTgsIDEuOTMxMTgzNTc2NTgzODYyM10sIFsxNjYzOTIxNzI0LjI3OTU3MDMsIDIwMDcsIDEuNjE0NzkzNjU4MjU2NTMwOF0sIFsxNjYzOTIxNzI0LjM3MDAzNiwgMjAxNiwgMS41MTY1OTAzNTY4MjY3ODIyXSwgWzE2NjM5MjE3MjQuNDgxODM0MiwgMjAyNSwgMS44NTc1NzY5NjYyODU3MDU2XSwgWzE2NjM5MjE3MjQuNTc1NDI5LCAyMDM0LCAxLjY4NzA3MDEzMTMwMTg3OTldLCBbMTY2MzkyMTcyNC42ODE3MzM0LCAyMDQzLCAxLjUzODEyNDc5OTcyODM5MzZdLCBbMTY2MzkyMTcyNC45NjEwMTc4LCAyMDcwLCAxLjY0OTc0OTE1OTgxMjkyNzJdLCBbMTY2MzkyMTcyNS4xNjIzMTg3LCAyMDg4LCAxLjY3NzYzODE3MzEwMzMzMjVdLCBbMTY2MzkyMTcyNS4yNjEyNjk4LCAyMDk3LCAxLjY4NTAyODY3MjIxODMyMjhdLCBbMTY2MzkyMTcyNS4zNTQ2MTI2LCAyMTA2LCAxLjQ2MDI5OTEzNDI1NDQ1NTZdLCBbMTY2MzkyMTcyNS40NTYzMTYsIDIxMTUsIDEuNDAzMTEyMjkyMjg5NzMzOV0sIFsxNjYzOTIxNzI1LjU1NTI0MjgsIDIxMjQsIDEuOTE2NDU2MjIyNTM0MTc5N10sIFsxNjYzOTIxNzI1LjY0NjM0NjMsIDIxMzMsIDEuNjU2NDE4NDQyNzI2MTM1M10sIFsxNjYzOTIxNzI1Ljc0NjE4NzIsIDIxNDIsIDEuNDU4OTg1Njg2MzAyMTg1XSwgWzE2NjM5MjE3MjUuODQxMDgxLCAyMTUxLCAxLjc1NjM4NTgwMzIyMjY1NjJdLCBbMTY2MzkyMTcyNS45NDQ4NzQ1LCAyMTYwLCAxLjYwMDI1MTY3NDY1MjA5OTZdLCBbMTY2MzkyMTcyNi4xMzA2MDI4LCAyMTc4LCAxLjY1NDQ4MDgxNDkzMzc3NjldLCBbMTY2MzkyMTcyNi4yMzEwNzUzLCAyMTg3LCAxLjM5NTEwOTY1MzQ3MjkwMDRdLCBbMTY2MzkyMTcyNi40MTU4MzMsIDIyMDUsIDEuNzI4Mzc5MTMwMzYzNDY0NF0sIFsxNjYzOTIxNzI2LjUwNTc3NTUsIDIyMTQsIDEuNTI2Njk0Mjk3NzkwNTI3M10sIFsxNjYzOTIxNzI2LjYwMTA1OSwgMjIyMywgMS45MDA5MDUxMzIyOTM3MDEyXSwgWzE2NjM5MjE3MjYuNjk2MDI5NywgMjIzMiwgMS45NDU5MzY0NDE0MjE1MDg4XSwgWzE2NjM5MjE3MjYuNzk0MzY1MiwgMjI0MSwgMS4zNzM2MDMzNDM5NjM2MjNdLCBbMTY2MzkyMTcyNi45MjcxMzcxLCAyMjUwLCAxLjUwNzkzMDI3ODc3ODA3NjJdLCBbMTY2MzkyMTcyNy4yMTY3NjgsIDIyNzcsIDEuNzI3MTcyOTcwNzcxNzg5Nl0sIFsxNjYzOTIxNzI3LjMxMTE1NjcsIDIyODYsIDEuNTg2NDk5MjE0MTcyMzYzM10sIFsxNjYzOTIxNzI3LjQwOTQ5ODUsIDIyOTUsIDEuNjE0MTM4MzY0NzkxODcwMV0sIFsxNjYzOTIxNzI3LjQ5MTY2MjMsIDIzMDQsIDEuNDM1ODg4NTI4ODIzODUyNV0sIFsxNjYzOTIxNzI3LjY2NjQwNTQsIDIzMjIsIDEuMzgzMTc2MDg4MzMzMTI5OV0sIFsxNjYzOTIxNzI3Ljc1ODA0NjQsIDIzMzEsIDEuMzY3MzY2NzkwNzcxNDg0NF0sIFsxNjYzOTIxNzI3Ljg2MTQ4OTgsIDIzNDAsIDEuNTc1NDc5Mzg4MjM2OTk5NV0sIFsxNjYzOTIxNzI3Ljk1MTEwNzMsIDIzNDksIDEuNDgzMzUzMTM3OTY5OTcwN10sIFsxNjYzOTIxNzI4LjE2NjcyNDcsIDIzNjcsIDEuMzk2ODQyMjQxMjg3MjMxNF0sIFsxNjYzOTIxNzI4LjI2MTc5OCwgMjM3NiwgMS41OTAxNjEyMDQzMzgwNzM3XSwgWzE2NjM5MjE3MjguNzQyODc2LCAyMzk0LCAxLjI5NDM4ODY1MTg0NzgzOTRdLCBbMTY2MzkyMTcyOS4wOTI1MDAyLCAyNDIxLCAxLjM1MDQ1OTkzMzI4MDk0NDhdLCBbMTY2MzkyMTcyOS4yOTI2OTg2LCAyNDM5LCAxLjYyNzkwODIyOTgyNzg4MDldLCBbMTY2MzkyMTcyOS40MDE3OTg1LCAyNDQ4LCAxLjQ4MTQ2NzM2NjIxODU2N10sIFsxNjYzOTIxNzI5LjYwODI1NTEsIDI0NjYsIDEuNTYwNTYwNzAzMjc3NTg4XSwgWzE2NjM5MjE3MjkuNzMwMzAxOSwgMjQ3NSwgMS42MDQzNDc4MjUwNTAzNTRdLCBbMTY2MzkyMTcyOS44NjgzOTcsIDI0ODQsIDEuNTc0NTA5MjYzMDM4NjM1M10sIFsxNjYzOTIxNzI5Ljk4NzY4NjksIDI0OTMsIDEuNDk4MzM0NTI3MDE1Njg2XSwgWzE2NjM5MjE3MzAuMjAzMjA3NywgMjUxMSwgMS40MjkzMzQ0MDIwODQzNTA2XSwgWzE2NjM5MjE3MzAuMzIyMjA5LCAyNTIwLCAxLjY4NTM5OTc3MDczNjY5NDNdLCBbMTY2MzkyMTczMC40NDU4NTg1LCAyNTI5LCAxLjY5ODEyODgxOTQ2NTYzNzJdLCBbMTY2MzkyMTczMC41NDM1OSwgMjUzOCwgMS40MzQyMzQ0OTk5MzEzMzU0XSwgWzE2NjM5MjE3MzAuNjYxMzg1OCwgMjU0NywgMS42MzA1NjI0MjQ2NTk3MjldLCBbMTY2MzkyMTczMC43NTQ1NzAyLCAyNTU2LCAxLjUwNjg4MjQyOTEyMjkyNDhdLCBbMTY2MzkyMTczMC44NjI4MTksIDI1NjUsIDEuNTkwMTc4NjA4ODk0MzQ4MV0sIFsxNjYzOTIxNzMwLjk2MTg5MTcsIDI1NzQsIDEuMzU1OTE4NTI2NjQ5NDc1XSwgWzE2NjM5MjE3MzEuMDcyMDc0MiwgMjU4MywgMS41MTUzMDY0NzI3NzgzMjAzXSwgWzE2NjM5MjE3MzEuMTcwMDA3NSwgMjU5MiwgMS42MjUxODMyMjQ2NzgwMzk2XSwgWzE2NjM5MjE3MzEuMjc0MzEwNiwgMjYwMSwgMS4yNDM3MTg5ODE3NDI4NTg5XSwgWzE2NjM5MjE3MzEuNTExMzUzNSwgMjYxOSwgMS4zOTIzNjgzMTY2NTAzOTA2XSwgWzE2NjM5MjE3MzEuNjA2NjYxNiwgMjYyOCwgMS41OTcxMzQ0NzA5Mzk2MzYyXSwgWzE2NjM5MjE3MzEuOTkwOTc1LCAyNjY0LCAxLjY0MTE0NDM5NDg3NDU3MjhdLCBbMTY2MzkyMTczMi4wOTAyODIsIDI2NzMsIDEuMjI0NzQ1MTU0MzgwNzk4M10sIFsxNjYzOTIxNzMyLjE5MDkxOCwgMjY4MiwgMS4zNDg4NTcxNjQzODI5MzQ2XSwgWzE2NjM5MjE3MzIuMjc4MzQ2LCAyNjkxLCAxLjI2OTg4NjYxMjg5MjE1MDldLCBbMTY2MzkyMTczMi4zNzU3MjkzLCAyNzAwLCAxLjM2NzUzODgwOTc3NjMwNjJdLCBbMTY2MzkyMTczMi40NzAyNjA0LCAyNzA5LCAxLjU3MzQxMDc0OTQzNTQyNDhdLCBbMTY2MzkyMTczMi41NzQ3NDk1LCAyNzE4LCAxLjYxNjE0MDcyMzIyODQ1NDZdLCBbMTY2MzkyMTczMi43NjgxNTk0LCAyNzM2LCAxLjY2MzA3ODMwODEwNTQ2ODhdLCBbMTY2MzkyMTczMi44NTQ1NDU4LCAyNzQ1LCAxLjcwODYwMjY2Njg1NDg1ODRdLCBbMTY2MzkyMTczMi45NDUwMTc4LCAyNzU0LCAxLjMzOTk5NDA3MjkxNDEyMzVdLCBbMTY2MzkyMTczMy4wNTM2MzE4LCAyNzYzLCAxLjM3MjkwNDE4MTQ4MDQwNzddLCBbMTY2MzkyMTczMy4xODAwNTk0LCAyNzcyLCAxLjM2NTM3MjUzODU2NjU4OTRdLCBbMTY2MzkyMTczMy4yOTMzMzYsIDI3ODEsIDEuNjQ4NTY0Njk2MzExOTUwN10sIFsxNjYzOTIxNzMzLjQxNDc4NzgsIDI3OTAsIDEuMTY1MDEyMDAxOTkxMjcyXSwgWzE2NjM5MjE3MzMuNTk5Mzk4MSwgMjgwOCwgMS4zMDkxNjE5MDE0NzM5OTldLCBbMTY2MzkyMTczMy42OTQwNzA2LCAyODE3LCAxLjU3NjY5MTYyNzUwMjQ0MTRdLCBbMTY2MzkyMTczMy43ODc3NzM0LCAyODI2LCAxLjQ2MDU1MDE4OTAxODI0OTVdLCBbMTY2MzkyMTczMy44NzU0NDczLCAyODM1LCAxLjE5MjE5OTcwNzAzMTI1XSwgWzE2NjM5MjE3MzMuOTY3NTA5NSwgMjg0NCwgMS4zNzY2MTc1NTA4NDk5MTQ2XSwgWzE2NjM5MjE3MzQuMDYyMTA5NywgMjg1MywgMS4xNTQ4MDY3MzMxMzE0MDg3XSwgWzE2NjM5MjE3MzQuMjYyMDU5MiwgMjg3MSwgMS41NjU5MDgwNzQzNzg5NjczXSwgWzE2NjM5MjE3MzQuMzUwNzA1NiwgMjg4MCwgMS4zMTU4NjYzNTExMjc2MjQ1XSwgWzE2NjM5MjE3MzQuNDU1NjkyNSwgMjg4OSwgMS42MTE4OTM1MzQ2NjAzMzk0XSwgWzE2NjM5MjE3MzQuNTQ2MDk4NSwgMjg5OCwgMS4xNDY3NDc1ODkxMTEzMjgxXSwgWzE2NjM5MjE3MzQuNjU0NzY3LCAyOTA3LCAxLjM5Njc0NzcwODMyMDYxNzddLCBbMTY2MzkyMTczNC44Mzc1MjEzLCAyOTI1LCAxLjQxMzAyOTc4OTkyNDYyMTZdLCBbMTY2MzkyMTczNS4xMTk5MDIsIDI5NTIsIDEuMzkzNTYxNDgyNDI5NTA0NF0sIFsxNjYzOTIxNzM1LjMxOTA3NiwgMjk3MCwgMS4yNjYzODUxOTc2Mzk0NjUzXSwgWzE2NjM5MjE3MzUuNDM4NTI3MywgMjk3OSwgMS4yODMwNDY4NDE2MjEzOTldLCBbMTY2MzkyMTczNS41MzE0ODU4LCAyOTg4LCAxLjUwNDg1NDMyMTQ3OTc5NzRdLCBbMTY2MzkyMTczNS42MjYyMTQsIDI5OTcsIDEuNzc3NjIxOTg0NDgxODExNV0sIFsxNjYzOTIxNzM1LjcyMjAxMjgsIDMwMDYsIDEuMzY2MjAzNjY1NzMzMzM3NF0sIFsxNjYzOTIxNzM1LjgxNDgzMzYsIDMwMTUsIDEuMzI5Mzg3Nzg0MDA0MjExNF0sIFsxNjYzOTIxNzM2LjAwNTkwMzcsIDMwMzMsIDEuNDIyMDM0MDI1MTkyMjYwN10sIFsxNjYzOTIxNzM2LjEwNDUzMzQsIDMwNDIsIDEuNTU3Mzg4NjYzMjkxOTMxMl0sIFsxNjYzOTIxNzM2LjIxOTgzNDYsIDMwNTEsIDEuMzc1NDIwNjg5NTgyODI0N10sIFsxNjYzOTIxNzM2LjQ5NDU5NDMsIDMwNjksIDEuNDcxNTI3MzM4MDI3OTU0XSwgWzE2NjM5MjE3MzYuNjEyNTQxNywgMzA3OCwgMS4zMjQ0NDE1NTIxNjIxNzA0XSwgWzE2NjM5MjE3MzYuNzI3MjY5NCwgMzA4NywgMS40MDMxODIxNDg5MzM0MTA2XSwgWzE2NjM5MjE3MzYuODQwMzM5NywgMzA5NiwgMS4yMjU4MDkwOTcyOTAwMzldLCBbMTY2MzkyMTczNi45NTAwMzc3LCAzMTA1LCAxLjY5OTM0OTI4NDE3MjA1OF0sIFsxNjYzOTIxNzM3LjA2NTI2NDUsIDMxMTQsIDEuMzUyMjY2MDczMjI2OTI4N10sIFsxNjYzOTIxNzM3LjE2OTAwMDEsIDMxMjMsIDEuNDEwODA3NDkwMzQ4ODE2XSwgWzE2NjM5MjE3MzcuMjY4NTg0NSwgMzEzMiwgMS4yMDIzNzMyNjYyMjAwOTI4XSwgWzE2NjM5MjE3MzcuNDAwODY2NywgMzE0MSwgMS41NjcyMDc5MzI0NzIyMjldLCBbMTY2MzkyMTczNy41MjAyODMyLCAzMTUwLCAxLjIzNjUwMjUyODE5MDYxMjhdLCBbMTY2MzkyMTczNy42MTY4MjI1LCAzMTU5LCAxLjM2NTg2MjEzMTExODc3NDRdLCBbMTY2MzkyMTczOC4wNDE0MTI4LCAzMTc3LCAxLjI2OTU0MzQwOTM0NzUzNDJdLCBbMTY2MzkyMTczOC4xNDcwMjEsIDMxODYsIDEuNTIxOTY1ODYxMzIwNDk1Nl0sIFsxNjYzOTIxNzM4LjIzOTIxMzIsIDMxOTUsIDEuNTk3NDg4NTIyNTI5NjAyXSwgWzE2NjM5MjE3MzguMzU5MzU2LCAzMjA0LCAxLjIyMjkxNTQxMDk5NTQ4MzRdLCBbMTY2MzkyMTczOC41NTQ2NDMyLCAzMjIyLCAxLjQ1OTIxMTcwNzExNTE3MzNdLCBbMTY2MzkyMTczOC42NjQ2ODQsIDMyMzEsIDEuMjc4NTA2MTU5NzgyNDA5N10sIFsxNjYzOTIxNzM4Ljg2NjM5NSwgMzI0OSwgMS4zMzg5OTU0NTY2OTU1NTY2XSwgWzE2NjM5MjE3MzguOTg2NTY1OCwgMzI1OCwgMS4yNzY3MjM3NDI0ODUwNDY0XSwgWzE2NjM5MjE3MzkuMDkyOTUwNiwgMzI2NywgMS4zNDYzNTI1NzcyMDk0NzI3XSwgWzE2NjM5MjE3MzkuMTkxNTA4NSwgMzI3NiwgMS4xMTc1ODQ3MDUzNTI3ODMyXSwgWzE2NjM5MjE3MzkuMzEzODY2MSwgMzI4NSwgMS4xNzY5NzI1MDg0MzA0ODFdLCBbMTY2MzkyMTczOS40MTE3Mzk2LCAzMjk0LCAxLjQ0MjAzMjU3NTYwNzI5OThdLCBbMTY2MzkyMTczOS41MjMwOTA0LCAzMzAzLCAxLjQzNzc1MTg4OTIyODgyMDhdLCBbMTY2MzkyMTczOS42MTQyNDY4LCAzMzEyLCAxLjQwOTg0MDEwNjk2NDExMTNdLCBbMTY2MzkyMTczOS43MDg5NDc3LCAzMzIxLCAxLjIwNzU5MDEwMzE0OTQxNF0sIFsxNjYzOTIxNzM5LjgwMDA3NDYsIDMzMzAsIDEuMjMxNjkxMzYwNDczNjMyOF0sIFsxNjYzOTIxNzQwLjE4NjU2OTcsIDMzNjYsIDEuMjc5NDIzNzEzNjg0MDgyXSwgWzE2NjM5MjE3NDAuMjczMzM0NywgMzM3NSwgMS4zNzA0MzM5MjY1ODIzMzY0XSwgWzE2NjM5MjE3NDAuMzYyMDIwMywgMzM4NCwgMS4yNjc4OTc4NDQzMTQ1NzUyXSwgWzE2NjM5MjE3NDAuNTcyMDI4OSwgMzQwMiwgMS41NzU4ODMwMzA4OTE0MTg1XSwgWzE2NjM5MjE3NDAuNjY2MDgwNSwgMzQxMSwgMS4zNjM0NDM2MTMwNTIzNjgyXSwgWzE2NjM5MjE3NDAuOTM5NDI4OCwgMzQzOCwgMS4xNjI3OTk3MTU5OTU3ODg2XSwgWzE2NjM5MjE3NDEuMDMwMzAwNiwgMzQ0NywgMS4zNDQ0NjgzNTUxNzg4MzNdLCBbMTY2MzkyMTc0MS4yMTY4MTkzLCAzNDY1LCAxLjU3NTk2MDc1NTM0ODIwNTZdLCBbMTY2MzkyMTc0MS4zMjAxNzcsIDM0NzQsIDEuMTQ3MzEyMTY0MzA2NjQwNl0sIFsxNjYzOTIxNzQxLjQzNzc0OTEsIDM0ODMsIDEuNDQ1NDQyMDgwNDk3NzQxN10sIFsxNjYzOTIxNzQxLjc1MTMwOTYsIDM1MTAsIDEuMjk5NTc1NTY3MjQ1NDgzNF0sIFsxNjYzOTIxNzQxLjg0NDMwMjcsIDM1MTksIDEuNTE1MDExMzEwNTc3MzkyNl0sIFsxNjYzOTIxNzQxLjk1NDEzMjMsIDM1MjgsIDEuNTgzMDMzMDg0ODY5Mzg0OF0sIFsxNjYzOTIxNzQyLjA1NzI5NTYsIDM1MzcsIDEuMTM5MDAxMzY5NDc2MzE4NF0sIFsxNjYzOTIxNzQyLjE0OTE1NCwgMzU0NiwgMS4zMDIxOTcyMTc5NDEyODQyXSwgWzE2NjM5MjE3NDIuMjU2OTcyNiwgMzU1NSwgMS42MDgyNDU2MTExOTA3OTZdLCBbMTY2MzkyMTc0Mi4zNTY4NTA0LCAzNTY0LCAxLjExNjkwNDEzOTUxODczNzhdLCBbMTY2MzkyMTc0Mi40NTYzNTEsIDM1NzMsIDEuMzE2NDI1NTYxOTA0OTA3Ml0sIFsxNjYzOTIxNzQyLjU1Njc1NiwgMzU4MiwgMS4xMTg1OTAzNTQ5MTk0MzM2XSwgWzE2NjM5MjE3NDIuNjU3MjEwNiwgMzU5MSwgMS4yNjg4MjMzODUyMzg2NDc1XSwgWzE2NjM5MjE3NDIuNzUxMTc1OSwgMzYwMCwgMS4xMDI3NjkxMzY0Mjg4MzNdLCBbMTY2MzkyMTc0Mi44NTE1NzU5LCAzNjA5LCAxLjE1OTEzNTM0MTY0NDI4N10sIFsxNjYzOTIxNzQyLjk0NzE2MzgsIDM2MTgsIDEuMDM0ODM2MTczMDU3NTU2Ml0sIFsxNjYzOTIxNzQzLjA2ODcyNzUsIDM2MjcsIDEuMTUwNTY0NjcwNTYyNzQ0MV0sIFsxNjYzOTIxNzQzLjE5NTUyMzcsIDM2MzYsIDEuNDIzMTQ1MTc0OTgwMTYzNl0sIFsxNjYzOTIxNzQzLjMyNjA5NTgsIDM2NDUsIDEuMTE2NTkyMTY4ODA3OTgzNF0sIFsxNjYzOTIxNzQzLjQ0MzA2MDIsIDM2NTQsIDEuMjQ5MDI4OTIxMTI3MzE5M10sIFsxNjYzOTIxNzQzLjUzMjkzNDIsIDM2NjMsIDEuMjU0MzMyMDY1NTgyMjc1NF0sIFsxNjYzOTIxNzQzLjYzMDE3NzcsIDM2NzIsIDEuNDE2NDUzODM4MzQ4Mzg4N10sIFsxNjYzOTIxNzQzLjc0MjEyOTMsIDM2ODEsIDEuNzAzNTA4NDk2Mjg0NDg0OV0sIFsxNjYzOTIxNzQzLjg0MjYxMTMsIDM2OTAsIDEuNjE3OTk2NDU0MjM4ODkxNl0sIFsxNjYzOTIxNzQ0LjEzOTEyMSwgMzcxNywgMS4wMzg5MjA2NDA5NDU0MzQ2XSwgWzE2NjM5MjE3NDQuMjM2NTg4MiwgMzcyNiwgMS4yNDc1NDcwMzA0NDg5MTM2XSwgWzE2NjM5MjE3NDQuMzI5ODEyLCAzNzM1LCAxLjI0MTE3MDI4NzEzMjI2MzJdLCBbMTY2MzkyMTc0NC40MzE2MDE4LCAzNzQ0LCAxLjA5OTM1MTY0NDUxNTk5MTJdLCBbMTY2MzkyMTc0NC43MjAzODQ0LCAzNzcxLCAxLjI1OTk1MzYxODA0OTYyMTZdLCBbMTY2MzkyMTc0NC44MTkwNTM0LCAzNzgwLCAxLjQxNjkwNzE5MTI3NjU1MDNdLCBbMTY2MzkyMTc0NS4wMjU2OTE3LCAzNzk4LCAxLjE5ODc5NzU4MzU4MDAxN10sIFsxNjYzOTIxNzQ1LjEyMjA3LCAzODA3LCAxLjI3MDkyODE0NDQ1NDk1Nl0sIFsxNjYzOTIxNzQ1LjIzNTk4MjIsIDM4MTYsIDEuMjAxNDE3NTY1MzQ1NzY0Ml0sIFsxNjYzOTIxNzQ1LjM1MjM5MjQsIDM4MjUsIDEuMjQyMTU1MzEzNDkxODIxM10sIFsxNjYzOTIxNzQ1LjQ2NzY0NzMsIDM4MzQsIDEuNDgxNjk2MzY3MjYzNzk0XSwgWzE2NjM5MjE3NDUuNTU0MTczLCAzODQzLCAxLjI2MzcyMzAxNTc4NTIxNzNdLCBbMTY2MzkyMTc0NS42NTQyNDM1LCAzODUyLCAxLjIyNDMyOTU5MDc5NzQyNDNdLCBbMTY2MzkyMTc0NS44MzcxMTc0LCAzODcwLCAxLjU2NjEwMDIzOTc1MzcyMzFdLCBbMTY2MzkyMTc0NS45NDc5MDk0LCAzODc5LCAxLjU1NzQ5NTQ3NDgxNTM2ODddLCBbMTY2MzkyMTc0Ni4wNTc5OTcyLCAzODg4LCAxLjM1NDAzNTQ5NjcxMTczMV0sIFsxNjYzOTIxNzQ2LjM1OTg3NDcsIDM5MTUsIDEuMzE3NjA3OTk4ODQ3OTYxNF0sIFsxNjYzOTIxNzQ2LjY5NTcwNjEsIDM5MjQsIDEuMjczMzQ4Njg5MDc5Mjg0N10sIFsxNjYzOTIxNzQ2Ljc4MDUxNDIsIDM5MzMsIDEuMTkxMzg0NTUzOTA5MzAxOF0sIFsxNjYzOTIxNzQ2Ljg3MjA2OTYsIDM5NDIsIDEuMTY5ODQ1OTM4NjgyNTU2Ml0sIFsxNjYzOTIxNzQ2Ljk3ODAxMSwgMzk1MSwgMS4wNTU5NzM2NDkwMjQ5NjM0XSwgWzE2NjM5MjE3NDcuMDY2ODY3NCwgMzk2MCwgMS4wNTYxNjExNjUyMzc0MjY4XSwgWzE2NjM5MjE3NDcuMjI0MjI2NSwgMzk2OSwgMS4yMTYyNjQyNDc4OTQyODddLCBbMTY2MzkyMTc0Ny4zMjU1ODM1LCAzOTc4LCAxLjM3NTYyNTEzMzUxNDQwNDNdLCBbMTY2MzkyMTc0Ny41MTEwNzY1LCAzOTk2LCAxLjI1OTcwMTcyODgyMDgwMDhdLCBbMTY2MzkyMTc0Ny42NjE4ODM2LCA0MDA1LCAxLjA4MjU2OTAwMzEwNTE2MzZdLCBbMTY2MzkyMTc0Ny43ODExODc4LCA0MDE0LCAxLjIyODE2NTI2ODg5ODAxMDNdLCBbMTY2MzkyMTc0Ny45MDMwODM4LCA0MDIzLCAxLjE5MDA2MzExODkzNDYzMTNdLCBbMTY2MzkyMTc0OC4yODk5OTY0LCA0MDU5LCAxLjIyNTkwNzMyNTc0NDYyOV0sIFsxNjYzOTIxNzQ4LjM5NTE5NDUsIDQwNjgsIDAuOTkzNjY0MTQ1NDY5NjY1NV0sIFsxNjYzOTIxNzQ4LjUwOTM3MjUsIDQwNzcsIDEuMDYzMDgxMjY0NDk1ODQ5Nl0sIFsxNjYzOTIxNzQ4LjYxNTI4ODcsIDQwODYsIDEuMzc5NjMwNjg0ODUyNl0sIFsxNjYzOTIxNzQ4LjcxODgwNjcsIDQwOTUsIDEuNDU5NzAyMjUzMzQxNjc0OF0sIFsxNjYzOTIxNzQ4LjgxMDkzMDUsIDQxMDQsIDEuMTQ0MDc1NjMyMDk1MzM3XSwgWzE2NjM5MjE3NDguOTA3MTE2NywgNDExMywgMS4yMDUwMjY1MDczNzc2MjQ1XSwgWzE2NjM5MjE3NDkuMTMzOTkyLCA0MTMxLCAxLjQzMDIwNDc0OTEwNzM2MDhdLCBbMTY2MzkyMTc0OS4zMjU5NjA2LCA0MTQ5LCAxLjQ2MzYyOTcyMjU5NTIxNDhdLCBbMTY2MzkyMTc0OS40MTc4ODgyLCA0MTU4LCAxLjI4MTUxNzUwNTY0NTc1Ml0sIFsxNjYzOTIxNzQ5LjUxNDU0MDQsIDQxNjcsIDEuMzg5NTgwNzI2NjIzNTM1Ml0sIFsxNjYzOTIxNzQ5LjYwNjQxMzYsIDQxNzYsIDEuMTA1Mzc5MTA0NjE0MjU3OF0sIFsxNjYzOTIxNzQ5LjcxMTI2ODcsIDQxODUsIDEuMjU3ODA2MzAxMTE2OTQzNF0sIFsxNjYzOTIxNzQ5LjgwMTM1MzUsIDQxOTQsIDEuMDgzNjM2MDQ1NDU1OTMyNl0sIFsxNjYzOTIxNzQ5LjkxMDAwMiwgNDIwMywgMS40NjYxNDkzMzAxMzkxNjAyXSwgWzE2NjM5MjE3NTAuMDk5NjE2NSwgNDIyMSwgMS4wNjQzMDYwMjA3MzY2OTQzXSwgWzE2NjM5MjE3NTAuMjIwODYwNywgNDIzMCwgMS4wOTA0NDI4OTU4ODkyODIyXSwgWzE2NjM5MjE3NTAuMzI0NjQ0LCA0MjM5LCAxLjA3ODMyMjc2ODIxMTM2NDddLCBbMTY2MzkyMTc1MC40MTcyMTk0LCA0MjQ4LCAxLjA2NjUwODA1NDczMzI3NjRdLCBbMTY2MzkyMTc1MC42MjYyMzAyLCA0MjY2LCAxLjAyMDI0NTY3MTI3MjI3NzhdLCBbMTY2MzkyMTc1MC43MjU2OTE2LCA0Mjc1LCAxLjM5NzY1NzAzNjc4MTMxMV0sIFsxNjYzOTIxNzUwLjgyNDc4NSwgNDI4NCwgMS4yNTAzOTQxMDU5MTEyNTQ5XSwgWzE2NjM5MjE3NTEuMTY3MjU5LCA0MzExLCAxLjAyNzAyOTg3MTk0MDYxMjhdLCBbMTY2MzkyMTc1MS4yNzYxNjYsIDQzMjAsIDEuMzA0ODk3MTg5MTQwMzE5OF0sIFsxNjYzOTIxNzUxLjQwNDAwMSwgNDMyOSwgMS4zNDY2NzM4NDYyNDQ4MTJdLCBbMTY2MzkyMTc1MS41MTE5Mjg4LCA0MzM4LCAxLjE0NDM5ODA5MzIyMzU3MThdLCBbMTY2MzkyMTc1MS41OTUyNjgsIDQzNDcsIDEuMTE1NzkyNjMyMTAyOTY2M10sIFsxNjYzOTIxNzUxLjY4NDUyNTUsIDQzNTYsIDEuMzA1MTI1OTUxNzY2OTY3OF0sIFsxNjYzOTIxNzUxLjc3NjMxNiwgNDM2NSwgMS4wMDczMTQ2ODIwMDY4MzZdLCBbMTY2MzkyMTc1MS45OTAyNjEzLCA0MzgzLCAxLjMwNTY5NDIyMjQ1MDI1NjNdLCBbMTY2MzkyMTc1Mi4xMDQ3NDEsIDQzOTIsIDEuMjQ4NjEzMzU3NTQzOTQ1M10sIFsxNjYzOTIxNzUyLjIwMTc0NjcsIDQ0MDEsIDEuMzE4MzU4NTQwNTM0OTczMV0sIFsxNjYzOTIxNzUyLjMwMTM1OSwgNDQxMCwgMS4yMDM5ODE2Mzc5NTQ3MTJdLCBbMTY2MzkyMTc1Mi4zODgzNjE1LCA0NDE5LCAxLjE3Mzg0MDA0NTkyODk1NV0sIFsxNjYzOTIxNzUyLjQ4NDA2MTUsIDQ0MjgsIDEuMjA3MzI4MjAwMzQwMjcxXSwgWzE2NjM5MjE3NTIuNzc1NjAxNCwgNDQ1NSwgMS4xMjkwMTkxNDExOTcyMDQ2XSwgWzE2NjM5MjE3NTIuODYwMDYzNiwgNDQ2NCwgMS4wNjY5MzM4NzAzMTU1NTE4XSwgWzE2NjM5MjE3NTMuMDYwMzAzNCwgNDQ4MiwgMS4xODkyNDcyNTA1NTY5NDU4XSwgWzE2NjM5MjE3NTMuMTY3NTc5LCA0NDkxLCAxLjE2NzU0MjY5NTk5OTE0NTVdLCBbMTY2MzkyMTc1My4zMjE0MDg1LCA0NTAwLCAxLjE0NDYwMTgyMTg5OTQxNF0sIFsxNjYzOTIxNzUzLjUxOTUzNCwgNDUxOCwgMS4zNjQ4Nzg0MTYwNjE0MDE0XSwgWzE2NjM5MjE3NTMuNjEyMjE4MSwgNDUyNywgMS4xNTc2MjQ3MjE1MjcwOTk2XSwgWzE2NjM5MjE3NTMuNzI1MDgzNiwgNDUzNiwgMS4yNDYyMTQxNTEzODI0NDYzXSwgWzE2NjM5MjE3NTQuMDAxNTYyOCwgNDU2MywgMS4xMjIwOTIwMDg1OTA2OTgyXSwgWzE2NjM5MjE3NTQuMTMyMjI1NSwgNDU3MiwgMS4wNDU0NTkxNTEyNjgwMDU0XSwgWzE2NjM5MjE3NTQuMjI1ODkxOCwgNDU4MSwgMS4yMzA0NDMyMzkyMTIwMzYxXSwgWzE2NjM5MjE3NTQuMzYyMjEsIDQ1OTAsIDEuNjAzNjU5NzQ5MDMxMDY3XSwgWzE2NjM5MjE3NTQuNDgyMzY1NCwgNDU5OSwgMS4wNjU5NzkyNDIzMjQ4MjldLCBbMTY2MzkyMTc1NC41ODkxNTMzLCA0NjA4LCAxLjEwMDM3ODI3NDkxNzYwMjVdLCBbMTY2MzkyMTc1NC42ODc1NTMyLCA0NjE3LCAxLjEzNzU2NzUyMDE0MTYwMTZdLCBbMTY2MzkyMTc1NC43OTkwMjQzLCA0NjI2LCAxLjExMzU4NDE2MDgwNDc0ODVdLCBbMTY2MzkyMTc1NC44ODU5NTQ5LCA0NjM1LCAxLjI5NTc1MzcxNzQyMjQ4NTRdLCBbMTY2MzkyMTc1NS4wOTEwNDI1LCA0NjUzLCAxLjA3NTkwMjkzODg0Mjc3MzRdLCBbMTY2MzkyMTc1NS4xOTA0MDU0LCA0NjYyLCAxLjIxNDE4NDc2MTA0NzM2MzNdLCBbMTY2MzkyMTc1NS4yODE4MzAzLCA0NjcxLCAxLjIyMjQ3MjY2NzY5NDA5MThdLCBbMTY2MzkyMTc1NS4zNzc3NDczLCA0NjgwLCAxLjIwNzU3NTY3ODgyNTM3ODRdLCBbMTY2MzkyMTc1NS40OTUzMzkyLCA0Njg5LCAxLjQ4MDkyNjI3NTI1MzI5Nl0sIFsxNjYzOTIxNzU1Ljc5NjU2OSwgNDY5OCwgMS4wNjIzMDk1MDM1NTUyOTc5XSwgWzE2NjM5MjE3NTYuMDI5NTM2NSwgNDcxNiwgMS4xNTIzMDk1MzY5MzM4OTldLCBbMTY2MzkyMTc1Ni4zMzgwMDgyLCA0NzQzLCAxLjEwOTQxOTQ2NTA2NTAwMjRdLCBbMTY2MzkyMTc1Ni40NDcyMDU4LCA0NzUyLCAxLjE1ODc2NjM4ODg5MzEyNzRdLCBbMTY2MzkyMTc1Ni43NDgzMzA2LCA0Nzc5LCAxLjEyMjYxNTY5NDk5OTY5NDhdLCBbMTY2MzkyMTc1Ni44NDY0ODczLCA0Nzg4LCAxLjM2NTkxNzQ0NDIyOTEyNl0sIFsxNjYzOTIxNzU2LjkzNzY0NjIsIDQ3OTcsIDEuMDc0NTA5NjIwNjY2NTA0XSwgWzE2NjM5MjE3NTcuMDI4MDI2NiwgNDgwNiwgMS4xNzc2NzYzMjAwNzU5ODg4XSwgWzE2NjM5MjE3NTcuMTE2MjAxOSwgNDgxNSwgMS4zOTU2NzAyOTQ3NjE2NTc3XSwgWzE2NjM5MjE3NTcuMjAzMTc5OCwgNDgyNCwgMS4wODM1MjY2MTEzMjgxMjVdLCBbMTY2MzkyMTc1Ny4yOTU0NjcsIDQ4MzMsIDEuMjIyMDU4NjUzODMxNDgyXSwgWzE2NjM5MjE3NTcuMzk1NjY2NiwgNDg0MiwgMS4xMzYwNDA4MDY3NzAzMjQ3XSwgWzE2NjM5MjE3NTcuNDkxNTIyNiwgNDg1MSwgMS4xNTE2MzAyODI0MDIwMzg2XSwgWzE2NjM5MjE3NTcuNTg3NzkzOCwgNDg2MCwgMS4wMTI3NTUyNzQ3NzI2NDRdLCBbMTY2MzkyMTc1Ny42ODExNDEsIDQ4NjksIDEuMDU0NDg0NDg2NTc5ODk1XSwgWzE2NjM5MjE3NTcuNzg3OTgyNywgNDg3OCwgMS4zNzk3MzM2ODE2Nzg3NzJdLCBbMTY2MzkyMTc1Ny44OTAzOTE4LCA0ODg3LCAwLjk2NzIwMjA2NzM3NTE4MzFdLCBbMTY2MzkyMTc1OC4wMTAzMjQyLCA0ODk2LCAxLjEyMTM0NTYzOTIyODgyMDhdLCBbMTY2MzkyMTc1OC4xMDg3ODMyLCA0OTA1LCAxLjE1ODMzMTg3MTAzMjcxNDhdLCBbMTY2MzkyMTc1OC4yOTg5MDU0LCA0OTIzLCAxLjI5NTcxNzgzNTQyNjMzMDZdLCBbMTY2MzkyMTc1OC40MTA2MzUsIDQ5MzIsIDEuMDI0NDM3MTg5MTAyMTcyOV0sIFsxNjYzOTIxNzU4LjUwNzQ3NywgNDk0MSwgMS4zMTkwNTMxNzMwNjUxODU1XSwgWzE2NjM5MjE3NTguNzA3NjIxNiwgNDk1OSwgMS4yMTg2MDAzOTIzNDE2MTM4XSwgWzE2NjM5MjE3NTguOTA0NTIyMiwgNDk3NywgMS4yMDUyOTE5ODY0NjU0NTRdLCBbMTY2MzkyMTc1OC45OTIyMzc2LCA0OTg2LCAxLjMzNTE2NTk3NzQ3ODAyNzNdLCBbMTY2MzkyMTc1OS4wOTA4NTg3LCA0OTk1LCAxLjQxNzEzMzY4ODkyNjY5NjhdLCBbMTY2MzkyMTc1OS4xODc1MTksIDUwMDQsIDAuOTQ5Nzg3MzE4NzA2NTEyNV0sIFsxNjYzOTIxNzU5LjI4OTczMywgNTAxMywgMC45NjAyNDc1MTY2MzIwODAxXSwgWzE2NjM5MjE3NTkuNDg2MjI5MiwgNTAzMSwgMS4wMzMxMzczMjE0NzIxNjhdLCBbMTY2MzkyMTc1OS41OTM1NDczLCA1MDQwLCAxLjIyOTYzMzMzMTI5ODgyODFdLCBbMTY2MzkyMTc1OS44MDE4MzMyLCA1MDU4LCAxLjEwNzU1OTIwNDEwMTU2MjVdLCBbMTY2MzkyMTc1OS44OTIwNzIyLCA1MDY3LCAxLjEyMDg4MDEyNjk1MzEyNV0sIFsxNjYzOTIxNzU5Ljk4ODQxNjQsIDUwNzYsIDEuMDI2NjM1MDUwNzczNjIwNl0sIFsxNjYzOTIxNzYwLjA4MjMwMTEsIDUwODUsIDEuMDA4MzE4MDY2NTk2OTg0OV0sIFsxNjYzOTIxNzYwLjI2ODM3NDIsIDUxMDMsIDEuMTM4NTYwNTMzNTIzNTU5Nl0sIFsxNjYzOTIxNzYwLjM2MzU3MzMsIDUxMTIsIDEuMTQzNDk4MDYzMDg3NDYzNF0sIFsxNjYzOTIxNzYwLjQ5Mzc1NSwgNTEyMSwgMS41NDE2NjkyNDk1MzQ2MDddLCBbMTY2MzkyMTc2MC42MDY1MTM3LCA1MTMwLCAxLjE1MDQ1NTgzMjQ4MTM4NDNdLCBbMTY2MzkyMTc2MC44MjQxMDg0LCA1MTQ4LCAxLjA4NjA3MDc3NTk4NTcxNzhdLCBbMTY2MzkyMTc2MC45NTEyNjAzLCA1MTU3LCAxLjA0Nzg4ODc1NTc5ODMzOThdLCBbMTY2MzkyMTc2MS4wNjA0MDcsIDUxNjYsIDEuMjc2ODA1NjM5MjY2OTY3OF0sIFsxNjYzOTIxNzYxLjMyODMwMjQsIDUxODQsIDAuOTgwOTkzODY2OTIwNDcxMl0sIFsxNjYzOTIxNzYxLjQ0NDYwOTIsIDUxOTMsIDEuMzMxNjgzNzU0OTIwOTU5NV0sIFsxNjYzOTIxNzYxLjU1MTgxMzQsIDUyMDIsIDEuMTAxNTgxOTMxMTE0MTk2OF0sIFsxNjYzOTIxNzYxLjg0MDgyNTMsIDUyMjksIDEuMDM1ODM5Njc2ODU2OTk0Nl0sIFsxNjYzOTIxNzYyLjI5NjMyMDIsIDUyNjUsIDEuMDczNDE5MzMyNTA0MjcyNV0sIFsxNjYzOTIxNzYyLjQwMjA4OTQsIDUyNzQsIDEuMTg1NjI0MzYxMDM4MjA4XSwgWzE2NjM5MjE3NjIuNDkzODk1LCA1MjgzLCAwLjk3NDI2OTA5MjA4Mjk3NzNdLCBbMTY2MzkyMTc2Mi42ODUwOTE3LCA1MzAxLCAxLjE2MjAwNjQ5NzM4MzExNzddLCBbMTY2MzkyMTc2Mi43NzIwNzYsIDUzMTAsIDEuMjY5OTg5MTMyODgxMTY0Nl0sIFsxNjYzOTIxNzYyLjg3Mzk4ODQsIDUzMTksIDEuMDI4MDU0NTk0OTkzNTkxM10sIFsxNjYzOTIxNzYyLjk3Nzk5NCwgNTMyOCwgMC45OTY2OTMyNTM1MTcxNTA5XSwgWzE2NjM5MjE3NjMuMTA5MTU5MiwgNTMzNywgMS4wMTg5ODk4MDE0MDY4NjA0XSwgWzE2NjM5MjE3NjMuMjEwMDkzLCA1MzQ2LCAxLjEzMzg0Njc1OTc5NjE0MjZdLCBbMTY2MzkyMTc2My4zMDYxNDg4LCA1MzU1LCAxLjM1OTI5MTMxNTA3ODczNTRdLCBbMTY2MzkyMTc2My40MTI5ODIsIDUzNjQsIDEuMTU0MjgzNjQyNzY4ODU5OV0sIFsxNjYzOTIxNzYzLjUwNzI3MjcsIDUzNzMsIDEuMjg1ODM5Njc2ODU2OTk0Nl0sIFsxNjYzOTIxNzYzLjYxNTAxMSwgNTM4MiwgMS4xNTE3NTEyNzk4MzA5MzI2XSwgWzE2NjM5MjE3NjMuNzAyOTIzOCwgNTM5MSwgMS4wNDAzNjg0Mzc3NjcwMjg4XSwgWzE2NjM5MjE3NjMuODA0ODkxMywgNTQwMCwgMS4xMzcxNjY1MDAwOTE1NTI3XSwgWzE2NjM5MjE3NjQuMDA2NDE1OCwgNTQxOCwgMS4xMTc3MTAxMTM1MjUzOTA2XSwgWzE2NjM5MjE3NjQuMTAyNzU3MiwgNTQyNywgMS4wMTQ0ODAzNTI0MDE3MzM0XSwgWzE2NjM5MjE3NjQuMTk5OTE4NywgNTQzNiwgMS4zNDQ5NDg3Njg2MTU3MjI3XSwgWzE2NjM5MjE3NjQuMjk5NDM1OSwgNTQ0NSwgMS4xODA5OTI2MDMzMDIwMDJdLCBbMTY2MzkyMTc2NC40MDcyNjk3LCA1NDU0LCAxLjEyOTI3MTM4ODA1Mzg5NF0sIFsxNjYzOTIxNzY0Ljg1NjY1MywgNTQ3MiwgMS4xMzI5MDQ4ODcxOTk0MDE5XSwgWzE2NjM5MjE3NjQuOTY2NTg5LCA1NDgxLCAxLjAyODMwNjk2MTA1OTU3MDNdLCBbMTY2MzkyMTc2NS4wNzYxODAyLCA1NDkwLCAxLjE4NDA5NTc0MDMxODI5ODNdLCBbMTY2MzkyMTc2NS4xNjYyMTg1LCA1NDk5LCAxLjE2NzUxOTkyNzAyNDg0MTNdLCBbMTY2MzkyMTc2NS4zNDgwNjksIDU1MTcsIDEuMTA5Njk5MzY4NDc2ODY3N10sIFsxNjYzOTIxNzY1LjQ1MDAzOTEsIDU1MjYsIDEuMDg2NzM1MjQ4NTY1NjczOF0sIFsxNjYzOTIxNzY1LjU0NzE1MzcsIDU1MzUsIDEuMzA0NTkzNTYzMDc5ODM0XSwgWzE2NjM5MjE3NjUuNjM5MDQxMiwgNTU0NCwgMS4yNDE4MDEyNjE5MDE4NTU1XSwgWzE2NjM5MjE3NjUuNzQ1ODc5LCA1NTUzLCAxLjM3NjI3MjIwMTUzODA4Nl0sIFsxNjYzOTIxNzY1Ljg0MDI1MTcsIDU1NjIsIDEuMTAyMjE2ODM5NzkwMzQ0Ml0sIFsxNjYzOTIxNzY1LjkzNzk4NDIsIDU1NzEsIDEuMDQzNTQ4MTA3MTQ3MjE2OF0sIFsxNjYzOTIxNzY2LjA0NTg0NiwgNTU4MCwgMS4wODAyNDY2ODY5MzU0MjQ4XSwgWzE2NjM5MjE3NjYuMTMzMjM0NywgNTU4OSwgMS4yMTE3NjUxNzAwOTczNTFdLCBbMTY2MzkyMTc2Ni4yMjYzOTk0LCA1NTk4LCAxLjQyNjk5OTQ0OTcyOTkxOTRdLCBbMTY2MzkyMTc2Ni4zMTgzNTkxLCA1NjA3LCAxLjAxNjM4OTk2NjAxMTA0NzRdLCBbMTY2MzkyMTc2Ni40MjE0MTk0LCA1NjE2LCAxLjAzOTg4Nzc4NTkxMTU2XSwgWzE2NjM5MjE3NjYuNTk2MjY0NCwgNTYzNCwgMS4xODc3OTM3MzE2ODk0NTMxXSwgWzE2NjM5MjE3NjYuNjg5OTEwNCwgNTY0MywgMS4wMzc3MjU4MDYyMzYyNjddLCBbMTY2MzkyMTc2Ni43ODIyNDA2LCA1NjUyLCAxLjA1MzIzNzA4MDU3NDAzNTZdLCBbMTY2MzkyMTc2Ni44NzY2MTcyLCA1NjYxLCAxLjM2ODIwODQwODM1NTcxM10sIFsxNjYzOTIxNzY2Ljk2ODg3MDYsIDU2NzAsIDEuMzQwNDgwNDQ2ODE1NDkwN10sIFsxNjYzOTIxNzY3LjI1ODA0MjgsIDU2OTcsIDEuMzgyNjQ0NjUzMzIwMzEyNV0sIFsxNjYzOTIxNzY3LjM1NTE0MTksIDU3MDYsIDEuMjg0MjgxMjUzODE0Njk3M10sIFsxNjYzOTIxNzY3LjQ0ODc2ODksIDU3MTUsIDEuMTk4ODY0NDU5OTkxNDU1XSwgWzE2NjM5MjE3NjcuNTQzNzg2OCwgNTcyNCwgMS4yODI2NTgxMDAxMjgxNzM4XSwgWzE2NjM5MjE3NjcuNjMyMjk4NywgNTczMywgMS4wODIzNjE2OTgxNTA2MzQ4XSwgWzE2NjM5MjE3NjcuNzM3OTk1MSwgNTc0MiwgMS4xOTE0MTg0MDkzNDc1MzQyXSwgWzE2NjM5MjE3NjguMDE1NDQ5LCA1NzY5LCAxLjE5MTg1OTk2MDU1NjAzMDNdLCBbMTY2MzkyMTc2OC4xMjY4ODYxLCA1Nzc4LCAxLjE4MjM3OTAwNzMzOTQ3NzVdLCBbMTY2MzkyMTc2OC4yMjIxNTE1LCA1Nzg3LCAwLjk2NTA5NTk5Njg1NjY4OTVdLCBbMTY2MzkyMTc2OC4zMzU3MjIyLCA1Nzk2LCAxLjIzOTQ0MDMyMTkyMjMwMjJdLCBbMTY2MzkyMTc2OC40NzkyMDM3LCA1ODA1LCAxLjI5Nzk0OTkxMDE2Mzg3OTRdLCBbMTY2MzkyMTc2OC42MDEyOTY3LCA1ODE0LCAxLjMzMDAxODI4MTkzNjY0NTVdLCBbMTY2MzkyMTc2OC44OTU0ODk1LCA1ODQxLCAxLjM1MjM1MTkwMzkxNTQwNTNdLCBbMTY2MzkyMTc2OC45OTk0NzIsIDU4NTAsIDEuMzkxNjgwODM2Njc3NTUxM10sIFsxNjYzOTIxNzY5LjIxMjMyMzQsIDU4NjgsIDEuMDk1MDYwMTEwMDkyMTYzXSwgWzE2NjM5MjE3NjkuMzIwODc5NywgNTg3NywgMS4wMzI5ODMwNjQ2NTE0ODkzXSwgWzE2NjM5MjE3NjkuNDE2MzQ2LCA1ODg2LCAxLjM0ODAyMTg2NDg5MTA1MjJdLCBbMTY2MzkyMTc2OS41MTkxNDQzLCA1ODk1LCAwLjk5MDQxMzAxMDEyMDM5MThdLCBbMTY2MzkyMTc2OS42MDg0ODAyLCA1OTA0LCAxLjA0NTY3NjQ2OTgwMjg1NjRdLCBbMTY2MzkyMTc2OS45MDg1NjA4LCA1OTMxLCAxLjA5MDMzNDY1Mzg1NDM3MDFdLCBbMTY2MzkyMTc3MC4wMDY2NTU1LCA1OTQwLCAxLjIxNzY4NDc0NTc4ODU3NDJdLCBbMTY2MzkyMTc3MC4wOTAxNTczLCA1OTQ5LCAxLjUyNjg4NDMxNzM5ODA3MTNdLCBbMTY2MzkyMTc3MC4yMjU4NzY4LCA1OTU4LCAxLjA3OTc3NzcxNzU5MDMzMl0sIFsxNjYzOTIxNzcwLjQ3NDA3NjcsIDU5NzYsIDEuMTA0MDIzMjE4MTU0OTA3Ml0sIFsxNjYzOTIxNzcwLjcyNzU3MTcsIDU5OTQsIDEuMTk3MTQ1MTA0NDA4MjY0Ml0sIFsxNjYzOTIxNzcwLjk2MjAwNzUsIDYwMTIsIDEuMDA3NTk0ODIzODM3MjgwM10sIFsxNjYzOTIxNzcxLjE1Mzg1MiwgNjAzMCwgMS4wOTAyMzQzOTg4NDE4NThdLCBbMTY2MzkyMTc3MS4yNTUyMjg1LCA2MDM5LCAxLjI2NTEwMzY5Nzc3Njc5NDRdLCBbMTY2MzkyMTc3MS4zNjUyOTkyLCA2MDQ4LCAxLjIzMTY4MzczMTA3OTEwMTZdLCBbMTY2MzkyMTc3MS40NzAxNDkzLCA2MDU3LCAxLjA4NTQ1NDIyNTU0MDE2MTFdLCBbMTY2MzkyMTc3MS41NjIzMDQ1LCA2MDY2LCAxLjEzMjc1OTQ1MTg2NjE1XSwgWzE2NjM5MjE3NzEuNzU2LCA2MDg0LCAxLjE1ODg2ODc4OTY3Mjg1MTZdLCBbMTY2MzkyMTc3MS44NTM2NDA2LCA2MDkzLCAxLjI2NTY1NjM1MjA0MzE1MTldLCBbMTY2MzkyMTc3MS45NDIwMDYzLCA2MTAyLCAxLjAyNDUyNzU0OTc0MzY1MjNdLCBbMTY2MzkyMTc3Mi4wNDM3NzMsIDYxMTEsIDEuMDYxNTE4MTkyMjkxMjU5OF0sIFsxNjYzOTIxNzcyLjE0NTI4NTEsIDYxMjAsIDEuMTUzMzYyMjc0MTY5OTIxOV0sIFsxNjYzOTIxNzcyLjIzNTM2NzgsIDYxMjksIDEuMjI4MzIxMTk0NjQ4NzQyN10sIFsxNjYzOTIxNzcyLjQzMDY2NzYsIDYxNDcsIDEuMjYyMzA5MDc0NDAxODU1NV0sIFsxNjYzOTIxNzcyLjUyMTEyNTYsIDYxNTYsIDEuMDU2NTA5Mzc1NTcyMjA0Nl0sIFsxNjYzOTIxNzcyLjYxOTM2NTcsIDYxNjUsIDAuOTk4NjE0NDMwNDI3NTUxM10sIFsxNjYzOTIxNzcyLjcwODg0MzcsIDYxNzQsIDEuMDQzMDUyMzE1NzExOTc1XSwgWzE2NjM5MjE3NzIuOTg4MTM2OCwgNjE5MiwgMS4wMzk4NzM4Mzg0MjQ2ODI2XSwgWzE2NjM5MjE3NzMuMTE3ODY2LCA2MjAxLCAxLjQ5MjE0ODk5NTM5OTQ3NV0sIFsxNjYzOTIxNzczLjQ0NTk5MiwgNjIxMCwgMS4zMzE0OTM5NzM3MzE5OTQ2XSwgWzE2NjM5MjE3NzMuNTUxMTcwOCwgNjIxOSwgMS40NTgxMTY0MTIxNjI3ODA4XSwgWzE2NjM5MjE3NzMuNzYxMjk5NCwgNjIzNywgMC45OTIxNjU0NDYyODE0MzMxXSwgWzE2NjM5MjE3NzMuODc1MDA2NywgNjI0NiwgMS4zOTQ0OTU3MjU2MzE3MTM5XSwgWzE2NjM5MjE3NzQuMDA5MjM5MiwgNjI1NSwgMS4yNjQ1NzU0ODE0MTQ3OTVdLCBbMTY2MzkyMTc3NC4xMDY2MTM0LCA2MjY0LCAwLjk5ODc3NzMyOTkyMTcyMjRdLCBbMTY2MzkyMTc3NC4yMDc1ODQ2LCA2MjczLCAxLjI4MzMzMzg5NzU5MDYzNzJdLCBbMTY2MzkyMTc3NC4zMDQyMzc4LCA2MjgyLCAxLjE2NTE4OTM4NTQxNDEyMzVdLCBbMTY2MzkyMTc3NC40MTQxMDEsIDYyOTEsIDEuMDc0ODI5Njk3NjA4OTQ3OF0sIFsxNjYzOTIxNzc0LjUyNzk5ODIsIDYzMDAsIDEuMDc3MTk1ODgyNzk3MjQxMl0sIFsxNjYzOTIxNzc0LjYyNDg3MjQsIDYzMDksIDEuMzA2NTc2MDEzNTY1MDYzNV0sIFsxNjYzOTIxNzc0LjgxMjk4MDQsIDYzMjcsIDEuNDg5NzMzNTc2Nzc0NTk3Ml0sIFsxNjYzOTIxNzc0LjkwNDgwNjYsIDYzMzYsIDEuNjIxMDk3NDQ1NDg3OTc2XSwgWzE2NjM5MjE3NzUuMDk3ODgsIDYzNTQsIDEuMDI5MDMxMDM4Mjg0MzAxOF0sIFsxNjYzOTIxNzc1LjQxNTM3NSwgNjM4MSwgMS4xODMwNTI4OTc0NTMzMDhdLCBbMTY2MzkyMTc3NS41MjM0MjYzLCA2MzkwLCAxLjQ3OTUxMjU3MjI4ODUxMzJdLCBbMTY2MzkyMTc3NS42MjU1MDEyLCA2Mzk5LCAxLjE0NTEyNDMxNjIxNTUxNTFdLCBbMTY2MzkyMTc3NS44MjQ1LCA2NDE3LCAwLjk2ODUyMzk3OTE4NzAxMTddLCBbMTY2MzkyMTc3NS45MjI4OTgzLCA2NDI2LCAwLjk4Mzk2NzU0MjY0ODMxNTRdLCBbMTY2MzkyMTc3Ni4xMTAxNTc1LCA2NDQ0LCAxLjM4NjQxMzA5NzM4MTU5MThdLCBbMTY2MzkyMTc3Ni4xOTUxNjM1LCA2NDUzLCAxLjMzNzEzNDM2MTI2NzA4OThdLCBbMTY2MzkyMTc3Ni4yOTM1NjU1LCA2NDYyLCAxLjA1MDUxNjg0Mzc5NTc3NjRdLCBbMTY2MzkyMTc3Ni40MDQ1Mzc0LCA2NDcxLCAxLjMwODE5NjE4NzAxOTM0ODFdLCBbMTY2MzkyMTc3Ni41Mjg2ODU4LCA2NDgwLCAxLjA2NTI0MjUyODkxNTQwNTNdLCBbMTY2MzkyMTc3Ni42MzM0MzM4LCA2NDg5LCAxLjE3NjIzNDI0NTMwMDI5M10sIFsxNjYzOTIxNzc2Ljc1MDc4MzIsIDY0OTgsIDEuMTI1NjQ5MzMzMDAwMTgzXSwgWzE2NjM5MjE3NzYuODUwMTc3MywgNjUwNywgMS4xMzEyODIyMTAzNTAwMzY2XSwgWzE2NjM5MjE3NzYuOTQyNjg1LCA2NTE2LCAxLjEyNTIzMDU1MDc2NTk5MTJdLCBbMTY2MzkyMTc3Ny4wNDEwMzk3LCA2NTI1LCAxLjAyOTQ2MDc4Nzc3MzEzMjNdLCBbMTY2MzkyMTc3Ny4xNDA4NzMyLCA2NTM0LCAxLjExOTUxOTIzMzcwMzYxMzNdLCBbMTY2MzkyMTc3Ny4yMzc0MDYzLCA2NTQzLCAxLjQzMzg4ODU1NDU3MzA1OV0sIFsxNjYzOTIxNzc3LjMyOTAzMjIsIDY1NTIsIDEuMTk3OTI1ODA2MDQ1NTMyMl0sIFsxNjYzOTIxNzc3LjQyNDIxNzcsIDY1NjEsIDEuMTUyNzM5MTY3MjEzNDRdLCBbMTY2MzkyMTc3Ny41MTQ0ODA0LCA2NTcwLCAxLjA3MDI0NDU1MDcwNDk1Nl0sIFsxNjYzOTIxNzc3LjYwNjQxOCwgNjU3OSwgMS4wMjU5Njk4NjI5Mzc5MjcyXSwgWzE2NjM5MjE3NzcuNzA5NjA1NywgNjU4OCwgMS4yMTg4NDc5OTAwMzYwMTA3XSwgWzE2NjM5MjE3NzcuODA5NTI4OCwgNjU5NywgMS4xODk5MzczNTMxMzQxNTUzXSwgWzE2NjM5MjE3NzcuOTU3OTQ5NiwgNjYwNiwgMS4xMzk5Nzg1MjgwMjI3NjYxXSwgWzE2NjM5MjE3NzguMDYzNTU2NCwgNjYxNSwgMC45MzUwOTM5MzkzMDQzNTE4XSwgWzE2NjM5MjE3NzguMTcyNDAxLCA2NjI0LCAxLjE0NjYwMTU1NzczMTYyODRdLCBbMTY2MzkyMTc3OC4yODE1NTEsIDY2MzMsIDEuMjYzMDgzMzM4NzM3NDg3OF0sIFsxNjYzOTIxNzc4LjQ5NDk3ODcsIDY2NTEsIDEuMTMwNTgzMTY3MDc2MTEwOF0sIFsxNjYzOTIxNzc4LjYwMDQwMiwgNjY2MCwgMS4wODQ5NzgxMDM2Mzc2OTUzXSwgWzE2NjM5MjE3NzguNzA0Nzk5LCA2NjY5LCAxLjIwMjY2MTAzNzQ0NTA2ODRdLCBbMTY2MzkyMTc3OC45MjEzNzcsIDY2ODcsIDEuMTE1MjYzMzQyODU3MzYwOF0sIFsxNjYzOTIxNzc5LjAyODU1NzUsIDY2OTYsIDAuOTk5MjkwMDQ5MDc2MDgwM10sIFsxNjYzOTIxNzc5LjE0MzIyOTUsIDY3MDUsIDEuMTcxNTYzMTQ4NDk4NTM1Ml0sIFsxNjYzOTIxNzc5LjI1MzkyNjgsIDY3MTQsIDEuMzcxNzg4NjIwOTQ4NzkxNV0sIFsxNjYzOTIxNzc5LjM1ODQwNiwgNjcyMywgMS4yMjYyNDA3NTQxMjc1MDI0XSwgWzE2NjM5MjE3NzkuODkxMDMxMywgNjc2OCwgMC45NzU5MjI1MjQ5MjkwNDY2XSwgWzE2NjM5MjE3NzkuOTkyODY3LCA2Nzc3LCAwLjk5NDUzOTM4MDA3MzU0NzRdLCBbMTY2MzkyMTc4MC4xMTI2ODY2LCA2Nzg2LCAxLjExOTk2NTA3NjQ0NjUzMzJdLCBbMTY2MzkyMTc4MC4yOTkwMDU1LCA2ODA0LCAwLjk1NDQ1MjE1NzAyMDU2ODhdLCBbMTY2MzkyMTc4MC4zOTEsIDY4MTMsIDEuMDk0OTkzNTkxMzA4NTkzOF0sIFsxNjYzOTIxNzgwLjQ4Mzg4MDgsIDY4MjIsIDEuMDEwOTQ0NzI0MDgyOTQ2OF0sIFsxNjYzOTIxNzgwLjU4NTY1MzUsIDY4MzEsIDEuMTQ2MjA1MzA2MDUzMTYxNl0sIFsxNjYzOTIxNzgwLjY5NzQ5LCA2ODQwLCAxLjEwODcyMDY2MDIwOTY1NThdLCBbMTY2MzkyMTc4MS4wNTUzNDE1LCA2ODY3LCAwLjkyMjM5NTA1MDUyNTY2NTNdLCBbMTY2MzkyMTc4MS4xNjIxMTUsIDY4NzYsIDEuMDMxNTI1NDkyNjY4MTUxOV0sIFsxNjYzOTIxNzgxLjI2NTc0ODUsIDY4ODUsIDEuMDk3NTIzMjEyNDMyODYxM10sIFsxNjYzOTIxNzgxLjM3NjIwNDMsIDY4OTQsIDEuMDE5ODc4MDI5ODIzMzAzMl0sIFsxNjYzOTIxNzgxLjQ3NzY3NzgsIDY5MDMsIDEuMDE1NzgxNzYwMjE1NzU5M10sIFsxNjYzOTIxNzgxLjU4NzQyODgsIDY5MTIsIDEuMDc3NjE4OTU2NTY1ODU3XSwgWzE2NjM5MjE3ODEuNjkwNDEwOSwgNjkyMSwgMS4wNDc1NjU2OTg2MjM2NTcyXSwgWzE2NjM5MjE3ODEuNzk0NzQwNCwgNjkzMCwgMC45MzAyMDgzMjUzODYwNDc0XSwgWzE2NjM5MjE3ODEuODk5NzczMSwgNjkzOSwgMS4yOTUzNTUyMDA3Njc1MTddLCBbMTY2MzkyMTc4Mi4wMDg3MzQ3LCA2OTQ4LCAxLjE4MTcwOTE3MDM0MTQ5MTddLCBbMTY2MzkyMTc4Mi4xMTgzMTU3LCA2OTU3LCAxLjM1NDg0NDgwODU3ODQ5MTJdLCBbMTY2MzkyMTc4Mi4yMjQ4Nzg4LCA2OTY2LCAxLjI4NzY2NTcyNDc1NDMzMzVdLCBbMTY2MzkyMTc4Mi42NjM0MTQyLCA2OTg0LCAxLjE3MzQ4MTEwNjc1ODExNzddLCBbMTY2MzkyMTc4Mi43NzIwOTE5LCA2OTkzLCAxLjA4MTQ1MjcyNzMxNzgxXSwgWzE2NjM5MjE3ODIuODcxOTMwOCwgNzAwMiwgMC45MjYzMTEzMTQxMDU5ODc1XSwgWzE2NjM5MjE3ODIuOTcxNTgyLCA3MDExLCAwLjkyODQyMjgwODY0NzE1NThdLCBbMTY2MzkyMTc4My4xMDA2MzQsIDcwMjAsIDEuMDQ0ODEyMjAyNDUzNjEzM10sIFsxNjYzOTIxNzgzLjIxMDUxODQsIDcwMjksIDEuMjA0MDAxNzg0MzI0NjQ2XSwgWzE2NjM5MjE3ODMuMzIxMzc2OCwgNzAzOCwgMC44NTkwMjU4MzU5OTA5MDU4XSwgWzE2NjM5MjE3ODMuNDQyMTEyLCA3MDQ3LCAxLjMwNzU1MTAyNjM0NDI5OTNdLCBbMTY2MzkyMTc4My41MzgzMTE1LCA3MDU2LCAxLjE3NTkyMTU1OTMzMzgwMTNdLCBbMTY2MzkyMTc4My44NDE2NTQ1LCA3MDgzLCAwLjk5MDE3NDExNDcwNDEzMjFdLCBbMTY2MzkyMTc4My45NTk1MjQ5LCA3MDkyLCAxLjM0MDM2MjE5MTIwMDI1NjNdLCBbMTY2MzkyMTc4NC4wNTA5MTYsIDcxMDEsIDEuMzc5NzIyMzU2Nzk2MjY0Nl0sIFsxNjYzOTIxNzg0LjE0ODExNDQsIDcxMTAsIDEuNDMzNDg4MDExMzYwMTY4NV0sIFsxNjYzOTIxNzg0LjI2MDA0MzQsIDcxMTksIDEuMDM3MjA3NjAzNDU0NTg5OF0sIFsxNjYzOTIxNzg0LjM2MzUxMjUsIDcxMjgsIDEuMzU5MTI5Nzg2NDkxMzk0XSwgWzE2NjM5MjE3ODQuNTc3NzUyNiwgNzE0NiwgMS41NjkwMDEzMTcwMjQyMzFdLCBbMTY2MzkyMTc4NC42Njg5OTYzLCA3MTU1LCAxLjA4MjkyMTI2NjU1NTc4NjFdLCBbMTY2MzkyMTc4NC43NTY5MDcsIDcxNjQsIDEuMzgwMjE5MTAxOTA1ODIyOF0sIFsxNjYzOTIxNzg0Ljg1NDIyNSwgNzE3MywgMS4yMjk2Mjc4NDc2NzE1MDg4XSwgWzE2NjM5MjE3ODQuOTQ0NjQ2LCA3MTgyLCAwLjk4MjI4ODgzNzQzMjg2MTNdLCBbMTY2MzkyMTc4NS4wMzM2NzcsIDcxOTEsIDEuMTM0ODgyMjExNjg1MTgwN10sIFsxNjYzOTIxNzg1LjEyOTM1NDUsIDcyMDAsIDAuODQ0MzgwMzc4NzIzMTQ0NV0sIFsxNjYzOTIxNzg1LjIzMDA0MTUsIDcyMDksIDAuOTg0MzQxMTQ0NTYxNzY3Nl0sIFsxNjYzOTIxNzg1LjQxNjMwMzIsIDcyMjcsIDEuMTA1NjQ0ODIyMTIwNjY2NV0sIFsxNjYzOTIxNzg1LjYyNjc1MzgsIDcyNDUsIDEuMTU2NDI2MzEwNTM5MjQ1Nl0sIFsxNjYzOTIxNzg1LjczMTA1MjksIDcyNTQsIDEuMzM3NzE3ODkwNzM5NDQxXSwgWzE2NjM5MjE3ODUuODE2NTQ3MiwgNzI2MywgMS4xNjM0OTYxMzY2NjUzNDQyXSwgWzE2NjM5MjE3ODUuOTA5OTEzLCA3MjcyLCAxLjEwNDYwOTk2NjI3ODA3NjJdLCBbMTY2MzkyMTc4Ni4wMTU5OSwgNzI4MSwgMS42MTAwMTc3NzY0ODkyNTc4XSwgWzE2NjM5MjE3ODYuMjExOTI2NSwgNzI5OSwgMS4wOTEyMzE1ODQ1NDg5NTAyXSwgWzE2NjM5MjE3ODYuMzA1OTcxOSwgNzMwOCwgMC45NTgxODYwMzAzODc4Nzg0XSwgWzE2NjM5MjE3ODYuNTI3NDg1MSwgNzMyNiwgMS4xMTUwODg0NjI4Mjk1ODk4XSwgWzE2NjM5MjE3ODYuNjMzOTA0MiwgNzMzNSwgMS4zNDY2ODcwNzg0NzU5NTIxXSwgWzE2NjM5MjE3ODYuNzQxMTU4NSwgNzM0NCwgMC45NzM4NDc3NDY4NDkwNjAxXSwgWzE2NjM5MjE3ODYuOTczMDk2MSwgNzM2MiwgMC45NTY0NzM3MDgxNTI3NzFdLCBbMTY2MzkyMTc4Ny4wNzg3NzksIDczNzEsIDEuMzEyMzM0Nzc1OTI0NjgyNl0sIFsxNjYzOTIxNzg3LjE4MzA3MjgsIDczODAsIDEuMjI5MzEwODcwMTcwNTkzM10sIFsxNjYzOTIxNzg3LjI4ODE1MDMsIDczODksIDAuOTc5MTIyODc3MTIwOTcxN10sIFsxNjYzOTIxNzg3LjM5ODQyOSwgNzM5OCwgMC44OTkyMDgyNDc2NjE1OTA2XSwgWzE2NjM5MjE3ODcuNTA1NjI3MiwgNzQwNywgMS4wNzg0MDMyMzQ0ODE4MTE1XSwgWzE2NjM5MjE3ODcuNjA3ODcyMiwgNzQxNiwgMS4wMjk0NTc1NjkxMjIzMTQ1XSwgWzE2NjM5MjE3ODcuNzExMDg5OCwgNzQyNSwgMS4wNjc3NDI4MjQ1NTQ0NDM0XSwgWzE2NjM5MjE3ODcuODE5MDgzNSwgNzQzNCwgMS4xODI0OTcwMjQ1MzYxMzI4XSwgWzE2NjM5MjE3ODcuOTI2ODM5OCwgNzQ0MywgMS4xMzgyMjM0MDk2NTI3MV0sIFsxNjYzOTIxNzg4LjA0NzUzOTcsIDc0NTIsIDAuOTY2Mzc2OTAwNjcyOTEyNl0sIFsxNjYzOTIxNzg4LjE1NTc4MTcsIDc0NjEsIDEuMjM2NTY4MDkzMjk5ODY1N10sIFsxNjYzOTIxNzg4LjI2NzI0MzksIDc0NzAsIDEuMDc2NTIzNTQyNDA0MTc0OF0sIFsxNjYzOTIxNzg4LjM3Nzg5MTUsIDc0NzksIDAuOTYzMzQ4NDQ4Mjc2NTE5OF0sIFsxNjYzOTIxNzg4LjU5MDIyMTQsIDc0OTcsIDEuMTkxNDA3MjAzNjc0MzE2NF0sIFsxNjYzOTIxNzg4LjY5NTI0OSwgNzUwNiwgMS4yMTg2MDkzMzMwMzgzM10sIFsxNjYzOTIxNzg4LjgwMzUxMzgsIDc1MTUsIDEuMDY1MDE1NjczNjM3MzkwMV0sIFsxNjYzOTIxNzg4LjkxNzg2NzcsIDc1MjQsIDEuMTI4MjgwOTk3Mjc2MzA2Ml0sIFsxNjYzOTIxNzg5LjA0NzU3MTQsIDc1MzMsIDEuMjU3ODk1MTEyMDM3NjU4N10sIFsxNjYzOTIxNzg5LjE2MDg5NywgNzU0MiwgMC45OTgzNTMwMDQ0NTU1NjY0XSwgWzE2NjM5MjE3ODkuMzcxMTY2NywgNzU2MCwgMS4wNDc0NTE2MTUzMzM1NTcxXSwgWzE2NjM5MjE3ODkuNDk1NzY5MywgNzU2OSwgMS4xODY0NDgwOTcyMjkwMDRdLCBbMTY2MzkyMTc4OS43MTIxMzMyLCA3NTg3LCAxLjEwMzEwNDM1Mjk1MTA0OThdLCBbMTY2MzkyMTc4OS44MTg2OTY1LCA3NTk2LCAxLjA3OTA5ODcwMTQ3NzA1MDhdLCBbMTY2MzkyMTc5MC4wMzY0MzMsIDc2MTQsIDAuOTM5NjEyODY1NDQ3OTk4XSwgWzE2NjM5MjE3OTAuMjU0MTk3LCA3NjMyLCAxLjIzNjQ5Nzk5ODIzNzYwOTldLCBbMTY2MzkyMTc5MC41OTUwMzYzLCA3NjU5LCAxLjEzMjE1MTI0NjA3MDg2MThdLCBbMTY2MzkyMTc5MC42OTk4ODgyLCA3NjY4LCAxLjMzMTgyNjIxMDAyMTk3MjddLCBbMTY2MzkyMTc5MC45NzM0NjA0LCA3Njk1LCAxLjA1MTM3OTY4MDYzMzU0NV0sIFsxNjYzOTIxNzkxLjE2MDkyOTIsIDc3MTMsIDEuMDQyMzgzNTUxNTk3NTk1Ml0sIFsxNjYzOTIxNzkxLjI0NTM3OTIsIDc3MjIsIDEuMDg5ODE5NDMxMzA0OTMxNl0sIFsxNjYzOTIxNzkxLjMzNTEzNDMsIDc3MzEsIDEuMDYyOTgwNjUxODU1NDY4OF0sIFsxNjYzOTIxNzkxLjUyODEyMSwgNzc0OSwgMS4zMzczMDY3Mzc4OTk3ODAzXSwgWzE2NjM5MjE3OTEuNjQ0NTczNSwgNzc1OCwgMS4wNzIzNjMyNTc0MDgxNDJdLCBbMTY2MzkyMTc5MS45NDc2MjIzLCA3NzY3LCAxLjEzNDY3MDQ5NTk4NjkzODVdLCBbMTY2MzkyMTc5Mi4yMjAwNDcsIDc3OTQsIDEuMDY0NDczOTg2NjI1NjcxNF0sIFsxNjYzOTIxNzkyLjMyMDY0NjgsIDc4MDMsIDEuMTQ2MjkwNzc5MTEzNzY5NV0sIFsxNjYzOTIxNzkyLjUzMTg4MiwgNzgyMSwgMS4xNDg5NzEzMTkxOTg2MDg0XSwgWzE2NjM5MjE3OTIuNjM1MjIzOSwgNzgzMCwgMS4wNjI3NzAzNjY2Njg3MDEyXSwgWzE2NjM5MjE3OTIuNzQwMjMyNywgNzgzOSwgMS4wMjg4ODc5ODcxMzY4NDA4XSwgWzE2NjM5MjE3OTIuODYxNDM2LCA3ODQ4LCAxLjA4OTMzODg5ODY1ODc1MjRdLCBbMTY2MzkyMTc5Mi45NjkzNjA2LCA3ODU3LCAxLjEwMDk2OTA3NjE1NjYxNjJdLCBbMTY2MzkyMTc5My4wNzIyNjM3LCA3ODY2LCAxLjA0NDIxNjYzMjg0MzAxNzZdLCBbMTY2MzkyMTc5My4xODIzNzQsIDc4NzUsIDAuOTExMzA4NTg2NTk3NDQyNl0sIFsxNjYzOTIxNzkzLjM5MzY3NTgsIDc4OTMsIDEuMjc4NjQ3NjYxMjA5MTA2NF0sIFsxNjYzOTIxNzkzLjUwMzM2NSwgNzkwMiwgMS4wMzcyOTAyMTU0OTIyNDg1XSwgWzE2NjM5MjE3OTMuNjEyNzgxLCA3OTExLCAwLjk2MDk2NTU3Mzc4NzY4OTJdLCBbMTY2MzkyMTc5My44MTIyMTg0LCA3OTI5LCAxLjA2MDM1MTAxNDEzNzI2OF0sIFsxNjYzOTIxNzkzLjkxMTMxNzgsIDc5MzgsIDEuMTQ4NDM3OTc2ODM3MTU4Ml0sIFsxNjYzOTIxNzk0LjAwOTQwMSwgNzk0NywgMS4xNzcyNDYwOTM3NV0sIFsxNjYzOTIxNzk0LjEwMzE2OTcsIDc5NTYsIDEuMDIwODE4MjMzNDg5OTkwMl0sIFsxNjYzOTIxNzk0LjIyMTExODIsIDc5NjUsIDEuMDU3MTI2MDQ1MjI3MDUwOF0sIFsxNjYzOTIxNzk0LjMyNTI5OSwgNzk3NCwgMS4yMDMzMDQ0MDk5ODA3NzRdLCBbMTY2MzkyMTc5NC40MzQ4OTU4LCA3OTgzLCAxLjAzNTgxNDA0Njg1OTc0MTJdLCBbMTY2MzkyMTc5NC41NDE2MDEyLCA3OTkyLCAxLjA2OTU5MDgwNjk2MTA1OTZdLCBbMTY2MzkyMTc5NC42NTAwNDczLCA4MDAxLCAxLjEyOTM1MjgwNzk5ODY1NzJdLCBbMTY2MzkyMTc5NC43NDY1MDMsIDgwMTAsIDEuMDA0MTQyNTIyODExODg5Nl0sIFsxNjYzOTIxNzk0Ljg0ODc0NCwgODAxOSwgMS4yMTgyMTIyNDY4OTQ4MzY0XSwgWzE2NjM5MjE3OTUuMDU3MjYyNywgODAzNywgMS4yNjk2MTU4ODg1OTU1ODFdLCBbMTY2MzkyMTc5NS4xNTE1NzE4LCA4MDQ2LCAxLjIxNTQ5Mzc5ODI1NTkyMDRdLCBbMTY2MzkyMTc5NS4zNTU3MjY1LCA4MDY0LCAxLjIwOTM4MjI5NTYwODUyMDVdLCBbMTY2MzkyMTc5NS41NTE2NjI0LCA4MDgyLCAxLjU3MDI2MTgzNjA1MTk0MV0sIFsxNjYzOTIxNzk1LjY0MzYwMDUsIDgwOTEsIDAuOTQxMTk1NjA3MTg1MzYzOF0sIFsxNjYzOTIxNzk1LjkyODQ3NTksIDgxMTgsIDEuMjYwNjI2OTEyMTE3MDA0NF0sIFsxNjYzOTIxNzk2LjA1MDY5MTYsIDgxMjcsIDEuNTUzMzMzMjgyNDcwNzAzMV0sIFsxNjYzOTIxNzk2LjI4NzI3NDYsIDgxNDUsIDEuMDgyMzgyMjAyMTQ4NDM3NV0sIFsxNjYzOTIxNzk2LjQwNTI4MywgODE1NCwgMC45MzU3Mzc3ODg2NzcyMTU2XSwgWzE2NjM5MjE3OTYuNTEzNzU0OCwgODE2MywgMS40NjEwODczNDYwNzY5NjUzXSwgWzE2NjM5MjE3OTYuNjIzNzgzMywgODE3MiwgMS4wMjc0NjExNzExNTAyMDc1XSwgWzE2NjM5MjE3OTYuNzM0MTMxNiwgODE4MSwgMS4wNDcxNTUyNjEwMzk3MzM5XSwgWzE2NjM5MjE3OTYuOTUwMTUxNCwgODE5OSwgMS4yNDI3ODczNjExNDUwMTk1XSwgWzE2NjM5MjE3OTcuMDYwMzUwNywgODIwOCwgMC45NjYyMDg0NTc5NDY3NzczXSwgWzE2NjM5MjE3OTcuMjg3NTE1OSwgODIyNiwgMC45ODQ2MTYyMTk5OTc0MDZdLCBbMTY2MzkyMTc5Ny4zODg5NTc1LCA4MjM1LCAxLjEwODc5OTU3Njc1OTMzODRdLCBbMTY2MzkyMTc5Ny41ODE5NzM4LCA4MjUzLCAxLjUyMDk0OTYwMjEyNzA3NTJdLCBbMTY2MzkyMTc5Ny42NzAwODk3LCA4MjYyLCAxLjQ2NzYxNzk4ODU4NjQyNThdLCBbMTY2MzkyMTc5Ny43NTgyMTgzLCA4MjcxLCAxLjA2NzU5NDE3MDU3MDM3MzVdLCBbMTY2MzkyMTc5Ny44NDY4ODg1LCA4MjgwLCAwLjk1MjQwMTUxODgyMTcxNjNdLCBbMTY2MzkyMTc5Ny45NDU4MTc3LCA4Mjg5LCAxLjczMzcyNDU5NDExNjIxMV0sIFsxNjYzOTIxNzk4LjAzNDMzMzIsIDgyOTgsIDEuMjk1MzEzMDAwNjc5MDE2MV0sIFsxNjYzOTIxNzk4LjEzODI5NDIsIDgzMDcsIDEuMTUzMDQxNjAxMTgxMDMwM10sIFsxNjYzOTIxNzk4LjIzMDQzNSwgODMxNiwgMS4yMjM5NjYwMDI0NjQyOTQ0XSwgWzE2NjM5MjE3OTguMzIyMzc3NCwgODMyNSwgMS4wNjgwMDE1MDg3MTI3Njg2XSwgWzE2NjM5MjE3OTguNTA2MTYxNSwgODM0MywgMS42NTUxMDc4NTU3OTY4MTRdLCBbMTY2MzkyMTc5OC42MTgwNjg3LCA4MzUyLCAxLjA3NzU5NTM1MzEyNjUyNTldLCBbMTY2MzkyMTc5OC43MDc1OTIsIDgzNjEsIDEuMDExMjY5MzMwOTc4MzkzNl0sIFsxNjYzOTIxNzk4LjgwNTI1NTIsIDgzNzAsIDEuMTA2OTQ4NzMzMzI5NzczXSwgWzE2NjM5MjE3OTguODg4OTkzMywgODM3OSwgMS4wNzQ0MzM0NDU5MzA0ODFdLCBbMTY2MzkyMTc5OC45NzY5MDMyLCA4Mzg4LCAxLjAyNjQ2NzgwMDE0MDM4MDldLCBbMTY2MzkyMTc5OS4wNjgwNjg1LCA4Mzk3LCAxLjA5NTY1NDYwNjgxOTE1MjhdLCBbMTY2MzkyMTc5OS4xNzYyMzExLCA4NDA2LCAwLjk5MzY3ODE1MjU2MTE4NzddLCBbMTY2MzkyMTc5OS4yNzIyMzc4LCA4NDE1LCAwLjk4NjY5MzQ0MTg2NzgyODRdLCBbMTY2MzkyMTc5OS4zNjExMDMsIDg0MjQsIDAuOTYzNjA3NjY4ODc2NjQ4XSwgWzE2NjM5MjE3OTkuNTU0OTk3NywgODQ0MiwgMS4xNDc1NzIxNTk3NjcxNTA5XSwgWzE2NjM5MjE3OTkuNzQ4MTIwMywgODQ2MCwgMS4wMTgyOTMxNDIzMTg3MjU2XSwgWzE2NjM5MjE3OTkuODM0NzI1NiwgODQ2OSwgMC45OTUzMTU2NzA5NjcxMDJdLCBbMTY2MzkyMTc5OS45NTQzOTM2LCA4NDc4LCAxLjQ1Njk1NDI0MDc5ODk1MDJdLCBbMTY2MzkyMTgwMC4wNTM4MTE2LCA4NDg3LCAxLjA0ODkwMzU4NDQ4MDI4NTZdLCBbMTY2MzkyMTgwMC4xNTc0MTQ3LCA4NDk2LCAwLjk2MjI0MTcwOTIzMjMzMDNdLCBbMTY2MzkyMTgwMC4yNjQ5MzYsIDg1MDUsIDAuOTc0MjcwNTIyNTk0NDUxOV0sIFsxNjYzOTIxODAwLjM1NTAwMjksIDg1MTQsIDAuOTY3MTU5NTA5NjU4ODEzNV0sIFsxNjYzOTIxODAwLjQ4MTk0ODEsIDg1MjMsIDEuMjI0Njc1ODkzNzgzNTY5M10sIFsxNjYzOTIxODAwLjgxMTk4MzMsIDg1MzIsIDEuMTgwNDE1NzQ5NTQ5ODY1N10sIFsxNjYzOTIxODAxLjAzMjUyNSwgODU1MCwgMC45ODg1ODU0NzIxMDY5MzM2XSwgWzE2NjM5MjE4MDEuMTM1MTI4MywgODU1OSwgMC45NjEzODkxMjQzOTM0NjMxXSwgWzE2NjM5MjE4MDEuMzIzMzgxNCwgODU3NywgMS41MTIwOTQ4NTUzMDg1MzI3XSwgWzE2NjM5MjE4MDEuNTIxNjM1LCA4NTk1LCAwLjkyNTkyNjY4NTMzMzI1Ml0sIFsxNjYzOTIxODAxLjYyMTMzLCA4NjA0LCAxLjIzNzE4NTgzNTgzODMxNzldLCBbMTY2MzkyMTgwMS43MDUwMjk1LCA4NjEzLCAxLjAwNjE1MDI0NTY2NjUwNF0sIFsxNjYzOTIxODAxLjc5Njc2MTUsIDg2MjIsIDEuMDY4MjI2MjE4MjIzNTcxOF0sIFsxNjYzOTIxODAxLjk4MTA5NDEsIDg2NDAsIDAuOTMwNDQ5MTg3NzU1NTg0N10sIFsxNjYzOTIxODAyLjEyMTk1MzIsIDg2NDksIDEuMDk4MDM4NDM0OTgyMjk5OF0sIFsxNjYzOTIxODAyLjIzODA5NTgsIDg2NTgsIDAuOTQxNDczMzA1MjI1MzcyM10sIFsxNjYzOTIxODAyLjMyODM2OCwgODY2NywgMS4xMjE0ODU5NDg1NjI2MjJdLCBbMTY2MzkyMTgwMi40MjgzMjUyLCA4Njc2LCAxLjA4NjE4NDc0MDA2NjUyODNdLCBbMTY2MzkyMTgwMi41NDA2NDg3LCA4Njg1LCAxLjM3MDAxMTY4NzI3ODc0NzZdLCBbMTY2MzkyMTgwMi42MjkwMjc2LCA4Njk0LCAxLjAxNjEwMDc2NDI3NDU5NzJdLCBbMTY2MzkyMTgwMi44MTczODI2LCA4NzEyLCAwLjk1OTI2NTQxMDkwMDExNl0sIFsxNjYzOTIxODAyLjkxMjQ4NzUsIDg3MjEsIDAuOTcxMTU3OTY4MDQ0MjgxXSwgWzE2NjM5MjE4MDMuMjAxMzMxOSwgODc0OCwgMS4xMTA4ODE2ODYyMTA2MzIzXSwgWzE2NjM5MjE4MDMuMzE0NzIzLCA4NzU3LCAxLjExNDA5NTA5MTgxOTc2MzJdLCBbMTY2MzkyMTgwMy42OTIxOTM1LCA4NzkzLCAxLjA5ODgzNDM5NTQwODYzMDRdLCBbMTY2MzkyMTgwMy43ODIxMTY3LCA4ODAyLCAxLjI5MjE5NTc5Njk2NjU1MjddLCBbMTY2MzkyMTgwMy44NzM1NTg4LCA4ODExLCAxLjEwNzI5NDQ0MDI2OTQ3MDJdLCBbMTY2MzkyMTgwMy45NTk4NzEzLCA4ODIwLCAxLjE4MTIzNzgxNjgxMDYwOF0sIFsxNjYzOTIxODA0LjA1MTM0MTMsIDg4MjksIDAuOTEwMzQyOTkxMzUyMDgxM10sIFsxNjYzOTIxODA0LjE0NzA3MTYsIDg4MzgsIDAuOTc4MzUyNzg1MTEwNDczNl0sIFsxNjYzOTIxODA0LjIzNDk1NTgsIDg4NDcsIDAuOTYzMzQxMjk1NzE5MTQ2N10sIFsxNjYzOTIxODA0LjMyODA4OTIsIDg4NTYsIDEuMDkzNjczOTQ0NDczMjY2Nl0sIFsxNjYzOTIxODA0LjYxMzgzOTQsIDg4ODMsIDAuODY5OTY1NTUzMjgzNjkxNF0sIFsxNjYzOTIxODA0LjcwMzY3NDYsIDg4OTIsIDEuMDY1MzYxOTc2NjIzNTM1Ml0sIFsxNjYzOTIxODA0Ljc4NTczMjMsIDg5MDEsIDEuMTExNzgzMjY2MDY3NTA0OV0sIFsxNjYzOTIxODA0Ljg3NDQwMjUsIDg5MTAsIDEuMDA0NDk4NDgxNzUwNDg4M10sIFsxNjYzOTIxODA0Ljk3MzA5NjYsIDg5MTksIDEuMTgyMTI3MTE4MTEwNjU2N10sIFsxNjYzOTIxODA1LjI4Mzg0OCwgODkzNywgMS4wMjg3ODkwNDM0MjY1MTM3XSwgWzE2NjM5MjE4MDUuNDExNDk0NywgODk0NiwgMC45OTgxMzcxNzYwMzY4MzQ3XSwgWzE2NjM5MjE4MDUuNTIxOTgzLCA4OTU1LCAwLjk5MzkwODcwMzMyNzE3OV0sIFsxNjYzOTIxODA1LjY2MDA0OSwgODk2NCwgMC45NzMwMjU0NDExNjk3Mzg4XSwgWzE2NjM5MjE4MDUuNzYxOTM2MiwgODk3MywgMS4wODI2MDYwNzcxOTQyMTM5XSwgWzE2NjM5MjE4MDUuOTU1NjUzLCA4OTkxLCAxLjA1OTMwMDA2NTA0MDU4ODRdLCBbMTY2MzkyMTgwNi4wNTAxODQ3LCA5MDAwLCAwLjk1Njg4MjE3ODc4MzQxNjddLCBbMTY2MzkyMTgwNi4xMzkxNTUsIDkwMDksIDEuMjc4NjE2OTA1MjEyNDAyM10sIFsxNjYzOTIxODA2LjIzMjg0NTgsIDkwMTgsIDEuMTc5Mjk0OTQzODA5NTA5M10sIFsxNjYzOTIxODA2LjM3ODk3ODcsIDkwMjcsIDEuMDAxMjcxMjQ3ODYzNzY5NV0sIFsxNjYzOTIxODA2LjQ4MDMwOTIsIDkwMzYsIDAuOTM1OTA2NzA4MjQwNTA5XSwgWzE2NjM5MjE4MDYuNTg2MDI1NywgOTA0NSwgMS4xNTk0NjE5NzUwOTc2NTYyXSwgWzE2NjM5MjE4MDYuNjgxNTM2LCA5MDU0LCAxLjAwNTIwMzEyNzg2MTAyM10sIFsxNjYzOTIxODA2Ljc3MDE4MTcsIDkwNjMsIDEuMjYzMzk1NTQ3ODY2ODIxM10sIFsxNjYzOTIxODA2Ljg2NTg4MTIsIDkwNzIsIDEuMTk3MTI0ODM4ODI5MDQwNV0sIFsxNjYzOTIxODA3LjI0NjAyOTksIDkxMDgsIDAuOTU1NjE1MjgyMDU4NzE1OF0sIFsxNjYzOTIxODA3LjQzMDM0MTcsIDkxMjYsIDEuMDMxMDQ4ODkzOTI4NTI3OF0sIFsxNjYzOTIxODA3LjUxOTEzMiwgOTEzNSwgMC45OTYwOTcyMDcwNjkzOTddLCBbMTY2MzkyMTgwNy42MjQyNTM1LCA5MTQ0LCAxLjA2MzUyMzUzMDk2MDA4M10sIFsxNjYzOTIxODA3LjcxMzkzNDQsIDkxNTMsIDAuOTQ4NTc1MzE3ODU5NjQ5N10sIFsxNjYzOTIxODA3LjgwOTQzNDQsIDkxNjIsIDEuMTgyMjUyMTY4NjU1Mzk1NV0sIFsxNjYzOTIxODA4LjE2MTQzNSwgOTE4OSwgMS41NDU4ODk0OTY4MDMyODM3XSwgWzE2NjM5MjE4MDguMzYzNzg5MywgOTIwNywgMC45Nzc1Nzk3NzI0NzIzODE2XSwgWzE2NjM5MjE4MDguNDYyOTQ5LCA5MjE2LCAxLjE3MDA2MzI1NzIxNzQwNzJdLCBbMTY2MzkyMTgwOC43MDAyMzIsIDkyMzQsIDEuMTgwNjc3Mjk0NzMxMTQwMV0sIFsxNjYzOTIxODA4LjgxOTEzNjYsIDkyNDMsIDAuOTYyNjIzODk0MjE0NjMwMV0sIFsxNjYzOTIxODA5LjA2MzA0NDMsIDkyNjEsIDAuODY5NDUzNjY4NTk0MzYwNF0sIFsxNjYzOTIxODA5LjE2Mzk2NSwgOTI3MCwgMS4xNTU2ODM3NTU4NzQ2MzM4XSwgWzE2NjM5MjE4MDkuMzQ5NjA1OCwgOTI4OCwgMS4wMzc4NzYxMjkxNTAzOTA2XSwgWzE2NjM5MjE4MDkuOTgzMzE2LCA5MzI0LCAwLjg1ODI2ODYxODU4MzY3OTJdLCBbMTY2MzkyMTgxMC4wODIzNTQ1LCA5MzMzLCAwLjk1OTA4MjcyMjY2Mzg3OTRdLCBbMTY2MzkyMTgxMC4xODk2ODA2LCA5MzQyLCAwLjk4NzY5OTE1MTAzOTEyMzVdLCBbMTY2MzkyMTgxMC4yNzYxNywgOTM1MSwgMS4wMDkzNDg1MTE2OTU4NjE4XSwgWzE2NjM5MjE4MTAuMzgyNjUwMSwgOTM2MCwgMS40NDgzNTA5MDYzNzIwNzAzXSwgWzE2NjM5MjE4MTAuNzg3NjI2NSwgOTM5NiwgMS4xMDY4MjU3MDkzNDI5NTY1XSwgWzE2NjM5MjE4MTAuODg0ODU1MywgOTQwNSwgMC44NTk4NDMyNTQwODkzNTU1XSwgWzE2NjM5MjE4MTAuOTgzMzQ5MywgOTQxNCwgMS4xMjAyODY3MDMxMDk3NDEyXSwgWzE2NjM5MjE4MTEuMDgzMjYzMiwgOTQyMywgMS4wMDg4NzYyMDQ0OTA2NjE2XSwgWzE2NjM5MjE4MTEuMjk1NzgwNCwgOTQ0MSwgMS40ODYxMjA5MzkyNTQ3NjA3XSwgWzE2NjM5MjE4MTEuNDUxNTYyNCwgOTQ1MCwgMS40NDEyMDg0ODE3ODg2MzUzXSwgWzE2NjM5MjE4MTEuNTUzODYyMywgOTQ1OSwgMS4wMjkyMjIxMzA3NzU0NTE3XSwgWzE2NjM5MjE4MTEuNzc1MjA3MywgOTQ3NywgMC45NDY1NDAyMzY0NzMwODM1XSwgWzE2NjM5MjE4MTEuODcyNjM3NSwgOTQ4NiwgMS4xMzgxOTc4OTg4NjQ3NDZdLCBbMTY2MzkyMTgxMS45ODkyODI2LCA5NDk1LCAxLjE0OTg2NzY1Mzg0Njc0MDddLCBbMTY2MzkyMTgxMi4xODIzMDY1LCA5NTEzLCAxLjE0MDgyNTg2NzY1Mjg5M10sIFsxNjYzOTIxODEyLjM3MjAyMywgOTUzMSwgMS4xMzM0MjExODI2MzI0NDYzXSwgWzE2NjM5MjE4MTIuNDcwOTM2MywgOTU0MCwgMC44OTIzMTU4NjQ1NjI5ODgzXSwgWzE2NjM5MjE4MTIuNTY1NDIyMywgOTU0OSwgMS4xMDE1ODUyNjg5NzQzMDQyXSwgWzE2NjM5MjE4MTIuNzUxNTEyLCA5NTY3LCAwLjk4MDg5MjE4MTM5NjQ4NDRdLCBbMTY2MzkyMTgxMi44NDczNzk3LCA5NTc2LCAxLjA0NjY1MDI5MDQ4OTE5NjhdLCBbMTY2MzkyMTgxMi45Mzk4MDkzLCA5NTg1LCAwLjg4Mzg1NTEwNDQ0NjQxMTFdLCBbMTY2MzkyMTgxMy4wMzE5NzYsIDk1OTQsIDAuOTgzMzc4ODg3MTc2NTEzN10sIFsxNjYzOTIxODEzLjE1ODU3NiwgOTYwMywgMC45MjUwNTE1MTAzMzQwMTQ5XSwgWzE2NjM5MjE4MTMuMjUyNzIzLCA5NjEyLCAxLjA1MDM5MTkxMjQ2MDMyNzFdLCBbMTY2MzkyMTgxMy4zNDU4OTM0LCA5NjIxLCAwLjg4MjQ2MzIxNjc4MTYxNjJdLCBbMTY2MzkyMTgxMy40NDMzOTU2LCA5NjMwLCAxLjAzODgwMjUwNDUzOTQ4OTddLCBbMTY2MzkyMTgxMy41MzYwNDc3LCA5NjM5LCAxLjE3MDQ3NjA3ODk4NzEyMTZdLCBbMTY2MzkyMTgxMy42MzMxNTI3LCA5NjQ4LCAxLjIyNzQyODkxMzExNjQ1NV0sIFsxNjYzOTIxODEzLjcyODUyNTksIDk2NTcsIDAuOTM1Mjk3Nzg3MTg5NDgzNl0sIFsxNjYzOTIxODEzLjgxOTE1NiwgOTY2NiwgMS4xNjkwMDE0NjAwNzUzNzg0XSwgWzE2NjM5MjE4MTMuOTE5NTgzNiwgOTY3NSwgMS4wODE0MjYwMjQ0MzY5NTA3XSwgWzE2NjM5MjE4MTQuMTE3MTg4LCA5NjkzLCAxLjEwMjg2MTI4NTIwOTY1NThdLCBbMTY2MzkyMTgxNC4yMDcwNDcsIDk3MDIsIDAuOTY1OTgyMTM5MTEwNTY1Ml0sIFsxNjYzOTIxODE0LjMwMTA2MzgsIDk3MTEsIDEuMDkyNTU1MDQ2MDgxNTQzXSwgWzE2NjM5MjE4MTQuNDkxNTc1NSwgOTcyOSwgMS4wMDEzMjczOTU0MzkxNDhdLCBbMTY2MzkyMTgxNC41ODM2NjAxLCA5NzM4LCAxLjE0MDI2MDQ1Nzk5MjU1MzddLCBbMTY2MzkyMTgxNC42ODgxMTk0LCA5NzQ3LCAxLjMyMDMxMDk1MDI3OTIzNThdLCBbMTY2MzkyMTgxNC43ODQ3MjAyLCA5NzU2LCAxLjAyODIwMjI5NTMwMzM0NDddLCBbMTY2MzkyMTgxNC45OTQ4OTcsIDk3NzQsIDEuNDAyODQxNDQ4NzgzODc0NV0sIFsxNjYzOTIxODE1LjA5MDQzNTMsIDk3ODMsIDAuOTQwNjg2NTIzOTE0MzM3Ml0sIFsxNjYzOTIxODE1LjE5MTA3MzQsIDk3OTIsIDEuMTEzMzE3MTMxOTk2MTU0OF0sIFsxNjYzOTIxODE1LjI4NTE5NzcsIDk4MDEsIDEuMDQ1MzI0NjgzMTg5MzkyXSwgWzE2NjM5MjE4MTUuNTU4NDE2MSwgOTgyOCwgMS4wMTAyMjIwNzczNjk2OV0sIFsxNjYzOTIxODE1LjY1OTA0NzEsIDk4MzcsIDEuMTE5MTgxNjMyOTk1NjA1NV0sIFsxNjYzOTIxODE1Ljc0NTE2NzMsIDk4NDYsIDAuOTg2MDUzODI0NDI0NzQzN10sIFsxNjYzOTIxODE2LjIzNzE1OTUsIDk4OTEsIDEuMTQzMDIxNTgzNTU3MTI5XSwgWzE2NjM5MjE4MTYuNDI5NjM4LCA5OTA5LCAxLjAwODIzNjA1MDYwNTc3NF0sIFsxNjYzOTIxODE2LjUxNjYyODUsIDk5MTgsIDAuOTIyNTQ0NzE3Nzg4Njk2M10sIFsxNjYzOTIxODE2LjYxNDQwOTIsIDk5MjcsIDEuMDc4Nzc4Mzg2MTE2MDI3OF0sIFsxNjYzOTIxODE2LjcxMjMwODIsIDk5MzYsIDEuMTAxNzgzNTE0MDIyODI3MV0sIFsxNjYzOTIxODE2LjgwMjU1OSwgOTk0NSwgMS4zMjQ4MDQ5MDIwNzY3MjEyXSwgWzE2NjM5MjE4MTYuOTg0Mzc0MywgOTk2MywgMC45ODUwOTEzODgyMjU1NTU0XSwgWzE2NjM5MjE4MTcuMDgzMTY2OCwgOTk3MiwgMS4xNDU0NjA3MjQ4MzA2Mjc0XSwgWzE2NjM5MjE4MTcuMTgwMzgzNCwgOTk4MSwgMS4yNTM3ODUxMzMzNjE4MTY0XSwgWzE2NjM5MjE4MTcuMjc0NzQzMywgOTk5MCwgMC45MjAzMzI2MTA2MDcxNDcyXSwgWzE2NjM5MjE4MTcuMzY4Mzc5LCA5OTk5LCAxLjMwMzg4MjU5ODg3Njk1MzFdLCBbMTY2MzkyMTgxNy40NjE2NTk3LCAxMDAwOCwgMC45NDkyMTg1MTE1ODE0MjA5XSwgWzE2NjM5MjE4MTcuNTUxNTMyLCAxMDAxNywgMS4yNzc3NDk3NzY4NDAyMV0sIFsxNjYzOTIxODE3LjY0MzU3MDQsIDEwMDI2LCAxLjAwNzQxNDY5ODYwMDc2OV0sIFsxNjYzOTIxODE3LjczOTE3MDMsIDEwMDM1LCAwLjk2NDUyNzYwNjk2NDExMTNdLCBbMTY2MzkyMTgxNy45Mzk5MTQsIDEwMDUzLCAxLjM3NzI5OTMwODc3Njg1NTVdLCBbMTY2MzkyMTgxOC4wMzU3NDg3LCAxMDA2MiwgMS4wMTI1MTI4MDMwNzc2OTc4XSwgWzE2NjM5MjE4MTguMzMwNzE0NywgMTAwNzEsIDEuMjc3MjE0NzY1NTQ4NzA2XSwgWzE2NjM5MjE4MTguNDI3MjE4NywgMTAwODAsIDEuMjkzNTk3NDU5NzkzMDkwOF0sIFsxNjYzOTIxODE4LjUyMDA1MzksIDEwMDg5LCAxLjA5MTAzNDA1NDc1NjE2NDZdLCBbMTY2MzkyMTgxOC42MTM2MTc0LCAxMDA5OCwgMS4wOTE5NzY3NjE4MTc5MzIxXSwgWzE2NjM5MjE4MTguNzA1ODE2NSwgMTAxMDcsIDEuMjI3NDUzMzUxMDIwODEzXSwgWzE2NjM5MjE4MTkuMDA4MTgyOCwgMTAxMzQsIDAuOTc1NjI1Mzk1Nzc0ODQxM10sIFsxNjYzOTIxODE5LjEwMTgzMywgMTAxNDMsIDAuOTEzMjY3OTcwMDg1MTQ0XSwgWzE2NjM5MjE4MTkuMzQ2OTA1LCAxMDE2MSwgMS4zOTMzMDU2NTkyOTQxMjg0XSwgWzE2NjM5MjE4MTkuNDk0MzA0NCwgMTAxNzAsIDEuNDEwNzQyNjQwNDk1MzAwM10sIFsxNjYzOTIxODE5LjYwMzczNTIsIDEwMTc5LCAxLjE3OTUyNTI1NjE1NjkyMTRdLCBbMTY2MzkyMTgxOS43Mzk0ODksIDEwMTg4LCAwLjk2NjYxNDc4MjgxMDIxMTJdLCBbMTY2MzkyMTgxOS44NTAxMjgyLCAxMDE5NywgMS4wMjc4NDM0NzUzNDE3OTY5XSwgWzE2NjM5MjE4MTkuOTcyNzc5LCAxMDIwNiwgMS4wNjUzMjcyODY3MjAyNzU5XSwgWzE2NjM5MjE4MjAuMTAwNTA5NiwgMTAyMTUsIDAuOTU0NzA4OTkzNDM0OTA2XSwgWzE2NjM5MjE4MjAuMjIzNDM4MywgMTAyMjQsIDEuMDg2ODE4OTMzNDg2OTM4NV0sIFsxNjYzOTIxODIwLjMzNDYyOCwgMTAyMzMsIDEuMDQwNzg5NjA0MTg3MDExN10sIFsxNjYzOTIxODIwLjQ0NjQ5MTIsIDEwMjQyLCAxLjE0MjQ1OTAzNDkxOTczODhdLCBbMTY2MzkyMTgyMC42NzIyNjMxLCAxMDI2MCwgMS4yMzgxNjI5OTQzODQ3NjU2XSwgWzE2NjM5MjE4MjAuNzg0MDcyOSwgMTAyNjksIDEuMDg4NzE2NjI2MTY3Mjk3NF0sIFsxNjYzOTIxODIxLjAxMjY4OTYsIDEwMjg3LCAxLjA3NTQyMzAwMjI0MzA0Ml0sIFsxNjYzOTIxODIxLjEzMjI1OTgsIDEwMjk2LCAxLjAwODgzMjIxNjI2MjgxNzRdLCBbMTY2MzkyMTgyMS4zODAyMjYsIDEwMzE0LCAwLjk3OTM0MzQxNDMwNjY0MDZdLCBbMTY2MzkyMTgyMS40OTQ1MTE2LCAxMDMyMywgMC44Nzc0NTg2OTE1OTY5ODQ5XSwgWzE2NjM5MjE4MjEuNTkxOSwgMTAzMzIsIDEuMDM1OTMyNTQwODkzNTU0N10sIFsxNjYzOTIxODIxLjY4MTIyNzQsIDEwMzQxLCAxLjExNjQ5Mjg2NzQ2OTc4NzZdLCBbMTY2MzkyMTgyMS43Nzc3MzcsIDEwMzUwLCAxLjA1MzMxNjIzNTU0MjI5NzRdLCBbMTY2MzkyMTgyMS44NjQyNDU0LCAxMDM1OSwgMC45MzY4NzYxMTgxODMxMzZdLCBbMTY2MzkyMTgyMS45NjE5NSwgMTAzNjgsIDEuMTAwNzg3OTk3MjQ1Nzg4Nl0sIFsxNjYzOTIxODIyLjA0MjMxMjEsIDEwMzc3LCAxLjE4MzAwMzY2NDAxNjcyMzZdLCBbMTY2MzkyMTgyMi4xMzI3OTM3LCAxMDM4NiwgMS4wNDYxMTYzNTIwODEyOTg4XSwgWzE2NjM5MjE4MjIuMzEzMzA0NywgMTA0MDQsIDEuNDk5MDU3NjUwNTY2MTAxXSwgWzE2NjM5MjE4MjIuNDIzOTE5NCwgMTA0MTMsIDEuMjMwMzA2ODYzNzg0NzldLCBbMTY2MzkyMTgyMi41MjE5NjI2LCAxMDQyMiwgMS4xNzQ5MTE4NTY2NTEzMDYyXSwgWzE2NjM5MjE4MjIuNzAwODE3MywgMTA0NDAsIDEuMDUzODUyMDgxMjk4ODI4MV0sIFsxNjYzOTIxODIyLjgyNzM1NjYsIDEwNDQ5LCAxLjQ1OTgyNzMwMzg4NjQxMzZdLCBbMTY2MzkyMTgyMy4wNzc3MDA5LCAxMDQ2NywgMS4xMTIwMjA0OTI1NTM3MTFdLCBbMTY2MzkyMTgyMy4xOTQzMDY2LCAxMDQ3NiwgMC44NzgzNjU3NTUwODExNzY4XSwgWzE2NjM5MjE4MjMuMjgxMTc5MiwgMTA0ODUsIDEuMTI0MzcxMjkwMjA2OTA5Ml0sIFsxNjYzOTIxODIzLjM3NDA5MjYsIDEwNDk0LCAxLjAwNTQzMDIyMTU1NzYxNzJdLCBbMTY2MzkyMTgyMy40ODQ2OTY2LCAxMDUwMywgMS4zNzgyMTk3MjM3MDE0NzddLCBbMTY2MzkyMTgyMy41NzU5NDE2LCAxMDUxMiwgMC45ODQzNTc0NzYyMzQ0MzZdLCBbMTY2MzkyMTgyMy42NjYxNzgsIDEwNTIxLCAxLjA3Njc1ODI2NTQ5NTMwMDNdLCBbMTY2MzkyMTgyNC4wNDIwNTIsIDEwNTU3LCAwLjk1MjQyNTUzOTQ5MzU2MDhdLCBbMTY2MzkyMTgyNC4xNDAxNjUzLCAxMDU2NiwgMS4yNTI3MDY3NjYxMjg1NF0sIFsxNjYzOTIxODI0LjIzMDg1MzgsIDEwNTc1LCAxLjI2NjE3Mzk1ODc3ODM4MTNdLCBbMTY2MzkyMTgyNC40MzI1MTU2LCAxMDU5MywgMC45ODQ1MzQ3NDA0NDc5OThdLCBbMTY2MzkyMTgyNC41NTg2NzU1LCAxMDYwMiwgMS4wMDMxNzE4MDE1NjcwNzc2XSwgWzE2NjM5MjE4MjQuNzAzMTk5NiwgMTA2MTEsIDEuMTY1OTg2Nzc2MzUxOTI4N10sIFsxNjYzOTIxODI0LjkzODg0NSwgMTA2MjksIDEuMTM3ODcxMzg0NjIwNjY2NV0sIFsxNjYzOTIxODI1LjA1NzMwNTgsIDEwNjM4LCAwLjk0OTE1MDA4NTQ0OTIxODhdLCBbMTY2MzkyMTgyNS4xNjc3MTMsIDEwNjQ3LCAxLjI0NzIzNTc3NDk5Mzg5NjVdLCBbMTY2MzkyMTgyNS4zNTM0MSwgMTA2NjUsIDAuOTgwMzAwMzY2ODc4NTA5NV0sIFsxNjYzOTIxODI1LjU0OTA3ODIsIDEwNjgzLCAxLjAxMDk1NDM4MDAzNTQwMDRdLCBbMTY2MzkyMTgyNS43NTA3MDM4LCAxMDcwMSwgMC45NDEwNzg2NjI4NzIzMTQ1XSwgWzE2NjM5MjE4MjUuODUwMDIxMSwgMTA3MTAsIDEuMjEyNjkyNzM3NTc5MzQ1N10sIFsxNjYzOTIxODI1Ljk2MDk0NCwgMTA3MTksIDEuMDUyMzU2MDA0NzE0OTY1OF0sIFsxNjYzOTIxODI2LjA2ODE5ODcsIDEwNzI4LCAwLjk2MzAyMTM5NzU5MDYzNzJdLCBbMTY2MzkyMTgyNi4yNjk0MDA0LCAxMDc0NiwgMS4xMTM2NTM3NzkwMjk4NDYyXSwgWzE2NjM5MjE4MjYuMzk1MTI5NywgMTA3NTUsIDEuMDgzMTQ3MDQ4OTUwMTk1M10sIFsxNjYzOTIxODI2LjUwMTU0NjEsIDEwNzY0LCAxLjA2NjQ2OTc4ODU1MTMzMDZdLCBbMTY2MzkyMTgyNi42MTI2NzQ1LCAxMDc3MywgMS4xNTM0ODU1MzY1NzUzMTc0XSwgWzE2NjM5MjE4MjYuNzE4NjY2MywgMTA3ODIsIDEuMTcwODU5Njk0NDgwODk2XSwgWzE2NjM5MjE4MjYuODQwNjM3MiwgMTA3OTEsIDAuOTU3MTI3MzkyMjkyMDIyN10sIFsxNjYzOTIxODI3LjE3MjAzNDMsIDEwODE4LCAxLjAwMTIyNDE2MDE5NDM5N10sIFsxNjYzOTIxODI3LjI4ODYzMSwgMTA4MjcsIDAuOTE0NDE2OTY4ODIyNDc5Ml0sIFsxNjYzOTIxODI3Ljc5OTkyMjcsIDEwODU0LCAwLjk3MTkyMjM5NzYxMzUyNTRdLCBbMTY2MzkyMTgyNy44OTA3NTM1LCAxMDg2MywgMS41MTI4MTExODM5Mjk0NDM0XSwgWzE2NjM5MjE4MjcuOTgyMTc5NCwgMTA4NzIsIDEuMjM1NTM3NzY3NDEwMjc4M10sIFsxNjYzOTIxODI4LjE2NzIyNTEsIDEwODkwLCAxLjA0MTIwNzc5MDM3NDc1NTldLCBbMTY2MzkyMTgyOC4yNjgwMjgsIDEwODk5LCAxLjE4OTE5MTM0MTQwMDE0NjVdLCBbMTY2MzkyMTgyOC41OTYyNTcyLCAxMDkyNiwgMS4yMDMyMjMxMDkyNDUzMDAzXSwgWzE2NjM5MjE4MjguNjk0OTc4NSwgMTA5MzUsIDEuMDc5NzU3MDk0MzgzMjM5N10sIFsxNjYzOTIxODI4Ljc4NDYwNjIsIDEwOTQ0LCAxLjE5Mjc3Mjg2NTI5NTQxMDJdLCBbMTY2MzkyMTgyOC45NjU2MzYsIDEwOTYyLCAwLjg5Mzc3MDU3NTUyMzM3NjVdLCBbMTY2MzkyMTgyOS4wNTY3NzkxLCAxMDk3MSwgMS4yMTI0NjUwNDc4MzYzMDM3XSwgWzE2NjM5MjE4MjkuMTU3MzE3NCwgMTA5ODAsIDEuMTg3MzAwMjA1MjMwNzEzXSwgWzE2NjM5MjE4MjkuMjUxNDE0NSwgMTA5ODksIDEuMDk0MDM2MzQwNzEzNTAxXSwgWzE2NjM5MjE4MjkuMzQzNzc2MiwgMTA5OTgsIDEuMTE1MTg4NDc5NDIzNTIzXSwgWzE2NjM5MjE4MjkuNDQzNTgyMywgMTEwMDcsIDEuMTUyMDY3MTg0NDQ4MjQyMl0sIFsxNjYzOTIxODI5LjUzOTkyMTUsIDExMDE2LCAwLjg1MjQwMjA5MTAyNjMwNjJdLCBbMTY2MzkyMTgyOS43NDA1MzA3LCAxMTAzNCwgMC45MzQ5MDMzMjM2NTAzNjAxXSwgWzE2NjM5MjE4MzAuMDM1ODM4MSwgMTEwNjEsIDEuMDA4MzgzNjMxNzA2MjM3OF0sIFsxNjYzOTIxODMwLjE0NDQ5NSwgMTEwNzAsIDEuMDQ3ODQ0NjQ4MzYxMjA2XSwgWzE2NjM5MjE4MzAuNDMxMjc0NywgMTEwOTcsIDEuMjAwOTM1MTI1MzUwOTUyMV0sIFsxNjYzOTIxODMwLjUzMTcyMjgsIDExMTA2LCAwLjk2MDk0NzAzNjc0MzE2NDFdLCBbMTY2MzkyMTgzMC42MjY0MTM4LCAxMTExNSwgMS4xMjIxMjA4NTcyMzg3Njk1XSwgWzE2NjM5MjE4MzAuNzIwNDA2NSwgMTExMjQsIDEuMzUxMzAyOTgxMzc2NjQ4XSwgWzE2NjM5MjE4MzAuODE1Mjc0NywgMTExMzMsIDEuMDQ1NDczMDk4NzU0ODgyOF0sIFsxNjYzOTIxODMxLjAxNDg0ODUsIDExMTUxLCAxLjA5NDQyNzk0MzIyOTY3NTNdLCBbMTY2MzkyMTgzMS4xMTAwODY0LCAxMTE2MCwgMS4wMzU4MzQ0MzE2NDgyNTQ0XSwgWzE2NjM5MjE4MzEuMjA0MzIxNCwgMTExNjksIDAuODc5MDA2NTY0NjE3MTU3XSwgWzE2NjM5MjE4MzEuMjkyMzg5LCAxMTE3OCwgMC45OTUyMjY4MDA0NDE3NDE5XSwgWzE2NjM5MjE4MzEuMzg3NjE5NSwgMTExODcsIDAuOTM0MTU1NDY0MTcyMzYzM10sIFsxNjYzOTIxODMxLjQ4MzU3MzcsIDExMTk2LCAwLjkzNjMxMzk4Njc3ODI1OTNdLCBbMTY2MzkyMTgzMS41Nzk1NzE3LCAxMTIwNSwgMS4yODIxNzMxNTY3MzgyODEyXSwgWzE2NjM5MjE4MzEuNjc3MjIwOCwgMTEyMTQsIDAuOTEzMzIwMTI0MTQ5MzIyNV0sIFsxNjYzOTIxODMxLjc2MDQyNDQsIDExMjIzLCAxLjMzNTI5OTYxMTA5MTYxMzhdLCBbMTY2MzkyMTgzMS44NTc1NTE4LCAxMTIzMiwgMC45NDgyNTM4MTA0MDU3MzEyXSwgWzE2NjM5MjE4MzEuOTU5ODU2LCAxMTI0MSwgMS4xNjc2MzkzNzQ3MzI5NzEyXSwgWzE2NjM5MjE4MzIuMDU1NzY1MiwgMTEyNTAsIDAuOTEwNzkwMjA1MDAxODMxXSwgWzE2NjM5MjE4MzIuMTQ4NjIzNywgMTEyNTksIDAuOTMzMzY3NjA5OTc3NzIyMl0sIFsxNjYzOTIxODMyLjI0NjQwNjYsIDExMjY4LCAxLjE2NDYwNjA5NDM2MDM1MTZdLCBbMTY2MzkyMTgzMi4zNDAyNDEsIDExMjc3LCAxLjI1MDkxMzE0MzE1Nzk1OV0sIFsxNjYzOTIxODMyLjQ0MDgyMTQsIDExMjg2LCAxLjAzNDM0MTIxNjA4NzM0MTNdLCBbMTY2MzkyMTgzMi41MjIyMywgMTEyOTUsIDAuOTMxODE3MDU0NzQ4NTM1Ml0sIFsxNjYzOTIxODMyLjcxMTUyNywgMTEzMTMsIDAuOTM3Nzc2NDQ2MzQyNDY4M10sIFsxNjYzOTIxODMyLjgwOTQ3MywgMTEzMjIsIDAuOTc2NDQ2MjExMzM4MDQzMl0sIFsxNjYzOTIxODMzLjA5NzA2NjYsIDExMzQ5LCAxLjEyOTk3MjQ1Nzg4NTc0MjJdLCBbMTY2MzkyMTgzMy4xOTE4NDUyLCAxMTM1OCwgMS4zODYyNzYxMjU5MDc4OThdLCBbMTY2MzkyMTgzMy40MDI3ODI3LCAxMTM3NiwgMC45NzczMjMyOTM2ODU5MTMxXSwgWzE2NjM5MjE4MzMuNDk0OTk1LCAxMTM4NSwgMC45MDc1NDY4MTgyNTYzNzgyXSwgWzE2NjM5MjE4MzMuNTg5NzczNywgMTEzOTQsIDAuOTQxMTg2NDg3Njc0NzEzMV0sIFsxNjYzOTIxODMzLjY4Nzc5MSwgMTE0MDMsIDEuMDYwNzg5ODIzNTMyMTA0NV0sIFsxNjYzOTIxODMzLjc3OTE5MDgsIDExNDEyLCAxLjAwOTE4MTYxODY5MDQ5MDddLCBbMTY2MzkyMTgzMy44NzQ1MDc0LCAxMTQyMSwgMS4wMzg4MTkzMTMwNDkzMTY0XSwgWzE2NjM5MjE4MzQuMTY3MjU4NywgMTE0NDgsIDAuOTgzODAzMDMzODI4NzM1NF0sIFsxNjYzOTIxODM0LjI1Mzg5MzEsIDExNDU3LCAwLjk2Nzc3NDQ1MDc3ODk2MTJdLCBbMTY2MzkyMTgzNC41Mjg3LCAxMTQ4NCwgMC45NzkxNDg1NjY3MjI4Njk5XSwgWzE2NjM5MjE4MzQuNjI5MjE5OCwgMTE0OTMsIDEuMTA3NTc4MTU4Mzc4NjAxXSwgWzE2NjM5MjE4MzQuNzI2ODg4NywgMTE1MDIsIDEuMDY5Mzc0MDg0NDcyNjU2Ml0sIFsxNjYzOTIxODM0LjgwNzczOTUsIDExNTExLCAwLjk4ODk4MDc3MDExMTA4NF0sIFsxNjYzOTIxODM0LjkwNTEwMTgsIDExNTIwLCAxLjU3NjYxNjY0NDg1OTMxNF0sIFsxNjYzOTIxODM0Ljk5ODM0MzIsIDExNTI5LCAxLjQwODM2MDI0Mjg0MzYyOF0sIFsxNjYzOTIxODM1LjIwMTUwOCwgMTE1NDcsIDEuMDI1MTU5MjM5NzY4OTgyXSwgWzE2NjM5MjE4MzUuMjk3NzYwMiwgMTE1NTYsIDEuMTEyMzU4OTI3NzI2NzQ1Nl0sIFsxNjYzOTIxODM1LjQ4NjUwNTMsIDExNTc0LCAxLjExNTg5MDI2NDUxMTEwODRdLCBbMTY2MzkyMTgzNS41ODIyMTkxLCAxMTU4MywgMS4wNDg0OTE1OTcxNzU1OTgxXSwgWzE2NjM5MjE4MzUuNzc3NjQxNSwgMTE2MDEsIDEuMDY4NDQ4MTg1OTIwNzE1M10sIFsxNjYzOTIxODM2LjE1ODM0MywgMTE2MTksIDEuMDI4ODMwNzY2Njc3ODU2NF0sIFsxNjYzOTIxODM2LjI2MTQ1ODQsIDExNjI4LCAxLjA1Mjg1MzQ2NTA4MDI2MTJdLCBbMTY2MzkyMTgzNi4zNDgxMDksIDExNjM3LCAxLjU1NzcxODUxNTM5NjExODJdLCBbMTY2MzkyMTgzNi40NDUyMDcsIDExNjQ2LCAxLjQ2ODE3NzMxODU3Mjk5OF0sIFsxNjYzOTIxODM2LjYxODIxNzcsIDExNjY0LCAxLjA3MDMwMzQ0MDA5Mzk5NDFdLCBbMTY2MzkyMTgzNi43MTU1Mzg1LCAxMTY3MywgMS4xMjcxOTcxNDY0MTU3MTA0XSwgWzE2NjM5MjE4MzYuOTQyMzI0NCwgMTE2OTEsIDEuMTkwMTMzNjkwODM0MDQ1NF0sIFsxNjYzOTIxODM3LjA3ODQ1MTksIDExNzAwLCAxLjEwOTkwNzM4ODY4NzEzMzhdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=v8&tag=Loss%2Fvalid":{"data":"W1sxNjYzODQwMTUxLjQ1MjkwNjYsIDM2LCAxNi4xNTE5MjQxMzMzMDA3OF0sIFsxNjYzODQwMTUxLjU3NDMwNDYsIDQ1LCAxMi4zNzY1NDQ5NTIzOTI1NzhdLCBbMTY2Mzg0MDE1Mi4zMDg5MjQ3LCA5OSwgNS40NjIxNDI5NDQzMzU5Mzc1XSwgWzE2NjM4NDAxNTIuNzY0OTU3NywgMTM1LCA1LjE3NTEzNzA0Mjk5OTI2OF0sIFsxNjYzODQwMTUyLjg2NDM2NiwgMTQ0LCA1LjcyODM2Mzk5MDc4MzY5MV0sIFsxNjYzODQwMTUzLjI1MDkwNTUsIDE3MSwgNS4zNjM5MjAyMTE3OTE5OTJdLCBbMTY2Mzg0MDE1My4zNjgzOTY1LCAxODAsIDQuODY4NzU5NjMyMTEwNTk2XSwgWzE2NjM4NDAxNTMuNTA5MzYsIDE4OSwgNC43MTMzMDMwODkxNDE4NDZdLCBbMTY2Mzg0MDE1My43ODcxNTcsIDIwNywgNS42ODAyNzIxMDIzNTU5NTddLCBbMTY2Mzg0MDE1My45MTEyNjg3LCAyMTYsIDUuNzE0NTUzODMzMDA3ODEyNV0sIFsxNjYzODQwMTU0LjMzNDQxNjQsIDI0MywgNS4zMzg1MDMzNjA3NDgyOTFdLCBbMTY2Mzg0MDE1NC40NDcyMjUsIDI1MiwgNC40MzAwNDUxMjc4Njg2NTJdLCBbMTY2Mzg0MDE1Ni4xNzQ0MzUsIDM1MSwgMy43MDEzNjM1NjM1Mzc1OTc3XSwgWzE2NjM4NDAxNTYuNDM5MjExLCAzNjksIDQuNTY2MDYyOTI3MjQ2MDk0XSwgWzE2NjM4NDAxNTcuMzMzODAwNiwgNDMyLCA0LjIwMzY3NDMxNjQwNjI1XSwgWzE2NjM4NDAxNTcuNDUxMjM5NiwgNDQxLCAzLjY0NzMwNDc3MzMzMDY4ODVdLCBbMTY2Mzg0MDE1Ny42MTQ4OTUzLCA0NTAsIDMuOTY4NTA4NzIwMzk3OTQ5XSwgWzE2NjM4NDAxNTcuODU5OTgzNCwgNDY4LCAzLjg3Mjc3OTg0NjE5MTQwNjJdLCBbMTY2Mzg0MDE1OC4yOTQ2ODE4LCA0OTUsIDMuODQzMTQ3OTkzMDg3NzY4Nl0sIFsxNjYzODQwMTU4LjY4MzkyMTgsIDUyMiwgMy41ODU2OTc4ODkzMjgwMDNdLCBbMTY2Mzg0MDE1OS4xMTk4MDg0LCA1NDksIDMuNDQ4NDE4NjE3MjQ4NTM1XSwgWzE2NjM4NDAxNTkuMjUyMTQ1LCA1NTgsIDMuNjg4NjcxMzUwNDc5MTI2XSwgWzE2NjM4NDAxNTkuMzg3NDk2LCA1NjcsIDMuNTgwMjk3MjMxNjc0MTk0M10sIFsxNjYzODQwMTU5LjUwMTA3NzcsIDU3NiwgMy4yNDg2ODMyMTQxODc2MjJdLCBbMTY2Mzg0MDE1OS43MzkzMTAzLCA1OTQsIDMuNDkwMjA4ODY0MjEyMDM2XSwgWzE2NjM4NDAxNTkuODYzNzkxNSwgNjAzLCAzLjExODE2ODExNTYxNTg0NDddLCBbMTY2Mzg0MDE1OS45ODM3NTM3LCA2MTIsIDMuNjA1NDQ2MzM4NjUzNTY0NV0sIFsxNjYzODQwMTYwLjA5MzY3NDcsIDYyMSwgMi45MzYxNTUzMTkyMTM4NjddLCBbMTY2Mzg0MDE2MC4zNDU4OCwgNjM5LCAzLjIyMDcxNjcxNDg1OTAwOV0sIFsxNjYzODQwMTYwLjQ3Nzg4MiwgNjQ4LCAyLjg1MDc5MzYwMDA4MjM5NzVdLCBbMTY2Mzg0MDE2MS4zNTA5NDYyLCA3MDIsIDIuOTgyNzA2MzA4MzY0ODY4XSwgWzE2NjM4NDAxNjEuNjIxNjA5MiwgNzIwLCAzLjE1NzM4NTU4NzY5MjI2MDddLCBbMTY2Mzg0MDE2Mi4wNjkyODQ0LCA3NDcsIDIuNjkzMjE3MDM5MTA4Mjc2NF0sIFsxNjYzODQwMTYyLjQ4ODIwNjQsIDc3NCwgMy4yMDgzMzQ5MjI3OTA1MjczXSwgWzE2NjM4NDAxNjIuOTgxMDM5MywgODEwLCAyLjYwODMyOTI5NjExMjA2MDVdLCBbMTY2Mzg0MDE2NC4yODk5ODQ1LCA5MDAsIDIuNDgzNTgxNTQyOTY4NzVdLCBbMTY2Mzg0MDE2NC40MjM1OTg1LCA5MDksIDIuODc1OTA0MzIxNjcwNTMyMl0sIFsxNjYzODQwMTY0LjgzMTg1OSwgOTM2LCAyLjI1NjYwNjEwMTk4OTc0Nl0sIFsxNjYzODQwMTY1LjIyODM0MzIsIDk2MywgMi4zNDExNTI5MDY0MTc4NDY3XSwgWzE2NjM4NDAxNjUuMzY2MjUzOSwgOTcyLCAyLjM2NzAyNjA5MDYyMTk0ODJdLCBbMTY2Mzg0MDE2NS42MzAyODE0LCA5OTAsIDIuMDM2NTg4OTA3MjQxODIxM10sIFsxNjYzODQwMTY2LjU5NDE5MiwgMTA1MywgMi40MTQ4NTMwOTYwMDgzMDFdLCBbMTY2Mzg0MDE2Ny4yOTU4NDM0LCAxMDk4LCAyLjU3NDUyMDU4NzkyMTE0MjZdLCBbMTY2Mzg0MDE2OC4wODkxMzM3LCAxMTM0LCAzLjIwNjUyMTk4NzkxNTAzOV0sIFsxNjYzODQwMTY4LjIxOTQzNiwgMTE0MywgMi41MzE0MzE5MTMzNzU4NTQ1XSwgWzE2NjM4NDAxNjguNDY5MjUyOCwgMTE2MSwgMi40ODc5ODAxMjczMzQ1OTQ3XSwgWzE2NjM4NDAxNjguNzI2NjQ4NiwgMTE3OSwgMi4xNjUwODQxMjM2MTE0NV0sIFsxNjYzODQwMTY4Ljg0MjM5NzUsIDExODgsIDIuMDAxMDIzMjkyNTQxNTA0XSwgWzE2NjM4NDAxNjkuNDcwNTEyLCAxMjMzLCAyLjkyMzE2MzQxNDAwMTQ2NV0sIFsxNjYzODQwMTY5LjU5NTMzMDUsIDEyNDIsIDIuMDEyMDQxNTY4NzU2MTAzNV0sIFsxNjYzODQwMTcwLjYxMTc0MjUsIDEzMDUsIDIuNTgwMzIzMjE5Mjk5MzE2NF0sIFsxNjYzODQwMTcwLjg4NTk1NzcsIDEzMjMsIDIuMDYyNzcyNTEyNDM1OTEzXSwgWzE2NjM4NDAxNzEuMDQ0MDcwNSwgMTMzMiwgMi4xMzE4MTAxODgyOTM0NTddLCBbMTY2Mzg0MDE3MS40NzQyNjkyLCAxMzU5LCAyLjU3NTAyNTMyMDA1MzEwMDZdLCBbMTY2Mzg0MDE3Mi40ODgwODA1LCAxNDIyLCAyLjEyMzE3MTU2NzkxNjg3XSwgWzE2NjM4NDAxNzIuOTAwNTM2NSwgMTQ0OSwgMS45ODUzMjgzMTY2ODg1Mzc2XSwgWzE2NjM4NDAxNzMuMTY2MzExNywgMTQ2NywgMi4wNzU3MTE0ODg3MjM3NTVdLCBbMTY2Mzg0MDE3My40MTI0MjUsIDE0ODUsIDEuODY0ODEzODA0NjI2NDY0OF0sIFsxNjYzODQwMTc0LjE0OTczNywgMTUzOSwgMi40OTc0ODA4NjkyOTMyMTNdLCBbMTY2Mzg0MDE3NC4zMTgxNTk4LCAxNTQ4LCAyLjUzNTM2MDU3NDcyMjI5XSwgWzE2NjM4NDAxNzQuNDMwODU0NiwgMTU1NywgMi4xNzc1NTYwMzc5MDI4MzJdLCBbMTY2Mzg0MDE3NC44MDEwODcsIDE1ODQsIDEuOTYyNDE1NDU2NzcxODUwNl0sIFsxNjYzODQwMTc1LjA0OTA3NDIsIDE2MDIsIDEuOTc5ODc4MTg3MTc5NTY1NF0sIFsxNjYzODQwMTc1LjU2NTY1OCwgMTYzOCwgMi40Nzg2MzM4ODA2MTUyMzQ0XSwgWzE2NjM4NDAxNzUuOTMzODAzMywgMTY2NSwgMi42MzAzMTc2ODc5ODgyODEyXSwgWzE2NjM4NDAxNzYuMDU0NTE4MiwgMTY3NCwgMi4wNzQ2MDExNzM0MDA4NzldLCBbMTY2Mzg0MDE3Ni4xNzY4ODc1LCAxNjgzLCAyLjQyODAyNDUzMDQxMDc2NjZdLCBbMTY2Mzg0MDE3Ni42ODg5OTc3LCAxNzE5LCAyLjA5NTUyNTk3OTk5NTcyNzVdLCBbMTY2Mzg0MDE3Ni44MTE0MzM2LCAxNzI4LCAyLjMzNDM4NTM5NTA1MDA0OV0sIFsxNjYzODQwMTc2LjkyMDkwNDQsIDE3MzcsIDEuODEyMDA4NzM4NTE3NzYxMl0sIFsxNjYzODQwMTc3Ljg0NDEyMjIsIDE4MDAsIDEuOTA1MTIzODI5ODQxNjEzOF0sIFsxNjYzODQwMTc4LjI3OTUzNzIsIDE4MjcsIDEuOTYyMDYxMjg1OTcyNTk1Ml0sIFsxNjYzODQwMTc4LjQwMzkxOTUsIDE4MzYsIDEuNzU0OTY5ODM1MjgxMzcyXSwgWzE2NjM4NDAxNzguNTYxNjEzOCwgMTg0NSwgMi4yMzYxMTc2MDEzOTQ2NTMzXSwgWzE2NjM4NDAxNzguNzAxNjc0NSwgMTg1NCwgMi4xMzQ2MzU0NDg0NTU4MTA1XSwgWzE2NjM4NDAxNzguOTgwNjYyLCAxODcyLCAxLjc2MzMxOTYxMTU0OTM3NzRdLCBbMTY2Mzg0MDE3OS4yODIwNjUyLCAxODkwLCAxLjgxOTMxNTQzMzUwMjE5NzNdLCBbMTY2Mzg0MDE3OS44NTUzOTI3LCAxOTA4LCAyLjAxOTUyMDI4Mjc0NTM2MTNdLCBbMTY2Mzg0MDE4MC4wODk5NjE1LCAxOTI2LCAyLjAwNzIxMzU5MjUyOTI5N10sIFsxNjYzODQwMTgwLjM0OTY2NTIsIDE5NDQsIDEuNzk2NDk3NTgzMzg5MjgyMl0sIFsxNjYzODQwMTgwLjQ5NTU3MjgsIDE5NTMsIDEuNzYzNDg1Nzg5Mjk5MDExMl0sIFsxNjYzODQwMTgwLjkwNDM3MzYsIDE5ODAsIDEuNjc1OTQ2MjM1NjU2NzM4M10sIFsxNjYzODQwMTgxLjA1MjMyNzQsIDE5ODksIDIuMTc4MDg0ODUwMzExMjc5M10sIFsxNjYzODQwMTgxLjE5MDE2NywgMTk5OCwgMi4xMzg3MzIxOTQ5MDA1MTI3XSwgWzE2NjM4NDAxODEuNTk4MTQ1MiwgMjAyNSwgMS44MjczNDM0NjM4OTc3MDVdLCBbMTY2Mzg0MDE4Mi4zMjY0NzY4LCAyMDcwLCAxLjgwMzQ1NDg3NTk0NjA0NV0sIFsxNjYzODQwMTgzLjYzODQ3NDcsIDIxNjAsIDIuMTA0NzA2NTI1ODAyNjEyM10sIFsxNjYzODQwMTgzLjkzNjk1NTUsIDIxNzgsIDEuOTM4OTk0MTY5MjM1MjI5NV0sIFsxNjYzODQwMTg0LjM3MDgyMTIsIDIyMDUsIDEuOTM0NDg3MjIzNjI1MTgzXSwgWzE2NjM4NDAxODQuNTE2NTMxLCAyMjE0LCAyLjA3MTExNTAxNjkzNzI1Nl0sIFsxNjYzODQwMTg0LjY2MDY1NiwgMjIyMywgMS42NDkzMDI4NDAyMzI4NDkxXSwgWzE2NjM4NDAxODUuODIyNTM1NSwgMjI5NSwgMS45NzY3ODg1MjA4MTI5ODgzXSwgWzE2NjM4NDAxODYuMzgyMjg5NCwgMjMzMSwgMS44NDUzNDIxNTkyNzEyNDAyXSwgWzE2NjM4NDAxODYuNTI1MTE3NiwgMjM0MCwgMS42MzIxNjU3ODk2MDQxODddLCBbMTY2Mzg0MDE4Ni42NzM3NTY2LCAyMzQ5LCAxLjg4ODU2NzkyNDQ5OTUxMTddLCBbMTY2Mzg0MDE4Ni45NDcwMjYzLCAyMzY3LCAxLjg1NzI2NjkwMjkyMzU4NF0sIFsxNjYzODQwMTg4LjA3NDgyNDMsIDI0MzksIDEuOTE3MjU0OTI0Nzc0MTddLCBbMTY2Mzg0MDE4OC4yMDc5OTE2LCAyNDQ4LCAxLjcyMjUyNTgzNTAzNzIzMTRdLCBbMTY2Mzg0MDE4OC42MTcxMTIsIDI0NzUsIDEuODg5MDQ2NTQ5Nzk3MDU4XSwgWzE2NjM4NDAxODguOTAwNzEyNywgMjQ5MywgMi4wNDU5MTI3NDI2MTQ3NDZdLCBbMTY2Mzg0MDE4OS4xNzEwNjMyLCAyNTExLCAxLjg3MDc5MzU4MTAwODkxMTFdLCBbMTY2Mzg0MDE4OS40MzI4NDQ0LCAyNTI5LCAxLjkxODc2OTAwMTk2MDc1NDRdLCBbMTY2Mzg0MDE4OS42ODg1OTIyLCAyNTQ3LCAxLjc5MDYxMTUwNTUwODQyMjldLCBbMTY2Mzg0MDE4OS43OTc1OTk2LCAyNTU2LCAyLjcxMDE0NzE0MjQxMDI3ODNdLCBbMTY2Mzg0MDE5MC4wODI1ODMyLCAyNTc0LCAxLjc1NjA5ODUwODgzNDgzODldLCBbMTY2Mzg0MDE5MC4zNzM4NzQyLCAyNTkyLCAyLjEyNjQ1Mzg3NjQ5NTM2MTNdLCBbMTY2Mzg0MDE5MC41MTcxNjczLCAyNjAxLCAyLjA0MTUyODcwMTc4MjIyNjZdLCBbMTY2Mzg0MDE5MC44MTE0ODQ2LCAyNjE5LCAxLjY4MzgwNjE4MDk1Mzk3OTVdLCBbMTY2Mzg0MDE5MS41MDc3OTY1LCAyNjY0LCAxLjg2NjQxNzc2NTYxNzM3MDZdLCBbMTY2Mzg0MDE5MS42NTE0NjMzLCAyNjczLCAxLjcwMDM4MTk5NDI0NzQzNjVdLCBbMTY2Mzg0MDE5MS43OTI3MTcsIDI2ODIsIDEuNzMwMjY3MDQ3ODgyMDhdLCBbMTY2Mzg0MDE5MS45MTI4NzY0LCAyNjkxLCAxLjczNzYyODY5ODM0ODk5OV0sIFsxNjYzODQwMTkzLjEyODM2ODQsIDI3NjMsIDEuNjYxNTM0OTA1NDMzNjU0OF0sIFsxNjYzODQwMTkzLjM1NTYyODcsIDI3ODEsIDEuNTIyODA1MDk0NzE4OTMzXSwgWzE2NjM4NDAxOTMuOTAyMTE0MiwgMjgxNywgMS44ODUyNjQ2MzUwODYwNTk2XSwgWzE2NjM4NDAxOTQuNDkxMjA2NiwgMjg1MywgMS42NzA0NDkxMzc2ODc2ODNdLCBbMTY2Mzg0MDE5NC43NTc2NzQ1LCAyODcxLCAxLjgxMTA2NjE1MDY2NTI4MzJdLCBbMTY2Mzg0MDE5NC44ODczOTc1LCAyODgwLCAxLjc5ODMwMjA1NDQwNTIxMjRdLCBbMTY2Mzg0MDE5NS4zMDQ3NjcsIDI5MDcsIDIuMDQyOTkzMzA3MTEzNjQ3NV0sIFsxNjYzODQwMTk2LjI3Njg3NDUsIDI5NzAsIDEuMzc5OTgxNzU2MjEwMzI3MV0sIFsxNjYzODQwMTk2LjU1MTY4NjMsIDI5ODgsIDIuMDU5MDc3MjYyODc4NDE4XSwgWzE2NjM4NDAxOTYuNjk1NjA5OCwgMjk5NywgMS41NTIwMjMxNzIzNzg1NF0sIFsxNjYzODQwMTk3LjQ0MzY0NDUsIDMwNDIsIDEuNjUzMDIwNTAxMTM2Nzc5OF0sIFsxNjYzODQwMTk3LjU4NTAwOTYsIDMwNTEsIDEuODM4MTU0NTU0MzY3MDY1NF0sIFsxNjYzODQwMTk3Ljg2MDYzMTcsIDMwNjksIDEuNjgyMzg1NDQ0NjQxMTEzM10sIFsxNjYzODQwMTk4LjI2NDkzNTUsIDMwOTYsIDEuNTAwNjYyNTY1MjMxMzIzMl0sIFsxNjYzODQwMTk4LjUzMDI5NDIsIDMxMTQsIDEuODE0NDQ3MjgzNzQ0ODEyXSwgWzE2NjM4NDAxOTguNjUwNjY4MSwgMzEyMywgMS41ODQ2MDI0NzUxNjYzMjA4XSwgWzE2NjM4NDAxOTkuMjE2NDg5MywgMzE1OSwgMS40OTk0MTgyNTg2NjY5OTIyXSwgWzE2NjM4NDAxOTkuNDc1MDg4NCwgMzE3NywgMi4xMjQ0NjI2MDQ1MjI3MDVdLCBbMTY2Mzg0MDE5OS43MzkwMjQ0LCAzMTk1LCAxLjY0MTA2MzkyODYwNDEyNl0sIFsxNjYzODQwMjAwLjI2NjczNDEsIDMyMzEsIDIuMjA5NjU5MDk5NTc4ODU3NF0sIFsxNjYzODQwMjAwLjc5MTI3MTcsIDMyNjcsIDEuNTkzNjcwMDEwNTY2NzExNF0sIFsxNjYzODQwMjAwLjk0MDgxNzYsIDMyNzYsIDEuNDY2MzcxMDU5NDE3NzI0Nl0sIFsxNjYzODQwMjAxLjA5MDAxNDIsIDMyODUsIDEuOTU5MDU2OTczNDU3MzM2NF0sIFsxNjYzODQwMjAxLjIyMzAwMDgsIDMyOTQsIDEuNTg3OTg3NDIyOTQzMTE1Ml0sIFsxNjYzODQwMjAxLjM2MzMyNTQsIDMzMDMsIDEuNzU2NTY0MTQwMzE5ODI0Ml0sIFsxNjYzODQwMjAxLjQ5NjA4MTgsIDMzMTIsIDEuOTA1MjMyMzEwMjk1MTA1XSwgWzE2NjM4NDAyMDIuNDM4NTYxMiwgMzM3NSwgMS42MTkyMzg2MTUwMzYwMTA3XSwgWzE2NjM4NDAyMDIuODQ4NTg0NCwgMzQwMiwgMS41MzAyNTM1Mjk1NDg2NDVdLCBbMTY2Mzg0MDIwMy4wMjU0OTUzLCAzNDExLCAxLjYyMjM1MzQzNDU2MjY4M10sIFsxNjYzODQwMjA0LjA1MTE5MTgsIDM0ODMsIDEuNjMyMDg2MDM4NTg5NDc3NV0sIFsxNjYzODQwMjA0Ljg2OTc2OTgsIDM1MTksIDEuODU4MTc3NzgxMTA1MDQxNV0sIFsxNjYzODQwMjA1LjAwNDgzNDcsIDM1MjgsIDEuODY1Mjk2MjQ0NjIxMjc2OV0sIFsxNjYzODQwMjA1LjE0MzQ2NTgsIDM1MzcsIDEuOTI1MDkyNTc3OTM0MjY1MV0sIFsxNjYzODQwMjA1LjQwNTkyNDYsIDM1NTUsIDEuNDA3Nzc1MTYzNjUwNTEyN10sIFsxNjYzODQwMjA1Ljg1NzgwMjQsIDM1ODIsIDEuNDg5NTg0OTIyNzkwNTI3M10sIFsxNjYzODQwMjA2LjYwMzI1NDYsIDM2MjcsIDEuNDkzNTI4NjA0NTA3NDQ2M10sIFsxNjYzODQwMjA2Ljg0NDA1NjQsIDM2NDUsIDEuNzE5ODU4NjQ2MzkyODIyM10sIFsxNjYzODQwMjA3LjQzODYwNDgsIDM2OTAsIDEuNjYwMzg1ODQ3MDkxNjc0OF0sIFsxNjYzODQwMjA3LjkxNjk2NSwgMzcyNiwgMS44NDgwMzU5MzE1ODcyMTkyXSwgWzE2NjM4NDAyMDguMDM2MTA1OSwgMzczNSwgMS40OTMyMDg4ODUxOTI4NzFdLCBbMTY2Mzg0MDIwOC4xNTc0MTQ0LCAzNzQ0LCAxLjMwMTc5ODU4MjA3NzAyNjRdLCBbMTY2Mzg0MDIwOC41MzQyMDksIDM3NzEsIDEuOTc0NjAwNzkxOTMxMTUyM10sIFsxNjYzODQwMjA4Ljk2MTY3MDQsIDM3OTgsIDEuODUwNzEwMTUzNTc5NzEyXSwgWzE2NjM4NDAyMDkuMDkxNzE0OSwgMzgwNywgMS40OTk1OTMwMTk0ODU0NzM2XSwgWzE2NjM4NDAyMDkuNDkyNTI2MywgMzgzNCwgMi4xNTM2NTYyNDQyNzc5NTRdLCBbMTY2Mzg0MDIwOS42MjYwNjY0LCAzODQzLCAxLjYxNzg5MDgzNDgwODM0OTZdLCBbMTY2Mzg0MDIxMC4xNTM3MDMsIDM4NzksIDEuNjc0NTY1OTExMjkzMDI5OF0sIFsxNjYzODQwMjEwLjgwNDAxNzMsIDM5MjQsIDEuNDcyODYwNDU1NTEzMDAwNV0sIFsxNjYzODQwMjEwLjkzNzI2MjMsIDM5MzMsIDEuNjMxMjE5Mzg3MDU0NDQzNF0sIFsxNjYzODQwMjExLjA4MTU0MjMsIDM5NDIsIDEuNzAzNjg3NjY3ODQ2Njc5N10sIFsxNjYzODQwMjExLjM1MDc2MSwgMzk2MCwgMS42MDk0NDkzODY1OTY2Nzk3XSwgWzE2NjM4NDAyMTEuNDYyNTE0NiwgMzk2OSwgMS41MDY2MTc5MDM3MDk0MTE2XSwgWzE2NjM4NDAyMTEuNjA0NjM3LCAzOTc4LCAxLjU3NDc5MzU3NzE5NDIxMzldLCBbMTY2Mzg0MDIxMS44ODk5ODc1LCAzOTk2LCAxLjM0NDk4NDg4OTAzMDQ1NjVdLCBbMTY2Mzg0MDIxMi4wMzY0ODg1LCA0MDA1LCAxLjU2OTMzNDI2ODU2OTk0NjNdLCBbMTY2Mzg0MDIxMi4zMDIzODE1LCA0MDIzLCAxLjM2ODE2NDA2MjVdLCBbMTY2Mzg0MDIxMi44NDc2NTQsIDQwNTksIDEuMzk3MTE2NTQxODYyNDg3OF0sIFsxNjYzODQwMjEzLjEzMzM2LCA0MDc3LCAxLjMyODk1ODc0OTc3MTExODJdLCBbMTY2Mzg0MDIxMy4yNzUyMTEsIDQwODYsIDEuNzY5MDk2OTcwNTU4MTY2NV0sIFsxNjYzODQwMjEzLjQwODcxNDUsIDQwOTUsIDEuNTA4ODQwMDg0MDc1OTI3N10sIFsxNjYzODQwMjEzLjY0NDU5NTQsIDQxMTMsIDEuMzA0NTk2NDI0MTAyNzgzMl0sIFsxNjYzODQwMjE0LjE1MzE3MywgNDE0OSwgMS40MDQ4MTM3NjY0Nzk0OTIyXSwgWzE2NjM4NDAyMTQuMjkzOTU0NiwgNDE1OCwgMS4zMzI4NzM0NjM2MzA2NzYzXSwgWzE2NjM4NDAyMTQuODU2MzIzNSwgNDE5NCwgMS4xOTYyMzExMjY3ODUyNzgzXSwgWzE2NjM4NDAyMTUuMDA4MDgzLCA0MjAzLCAxLjQwMTQ0MTIxNjQ2ODgxMV0sIFsxNjYzODQwMjE1LjI3NjE5ODYsIDQyMjEsIDEuMzIyMDQyODIyODM3ODI5Nl0sIFsxNjYzODQwMjE1LjU1OTkxODksIDQyMzksIDEuODYyNzk0OTk1MzA3OTIyNF0sIFsxNjYzODQwMjE2LjA5OTc5NjUsIDQyNzUsIDEuMzI3NzY4OTIxODUyMTExOF0sIFsxNjYzODQwMjE2LjIzMzUwNSwgNDI4NCwgMS41MDI1MzgyMDQxOTMxMTUyXSwgWzE2NjM4NDAyMTYuODc2MTgyLCA0MzExLCAxLjY4MTA3MzY2NTYxODg5NjVdLCBbMTY2Mzg0MDIxNy4xNzIwMjY5LCA0MzI5LCAxLjc2MDE0OTk1NTc0OTUxMTddLCBbMTY2Mzg0MDIxNy4yODgzNTE4LCA0MzM4LCAxLjM5OTk5NTU2NTQxNDQyODddLCBbMTY2Mzg0MDIxNy41NTkzMTI2LCA0MzU2LCAxLjY5MzY4MjA3NDU0NjgxNF0sIFsxNjYzODQwMjE3LjY5MTU0NSwgNDM2NSwgMS4zMDY2NDkzMjcyNzgxMzcyXSwgWzE2NjM4NDAyMTguMTIzODU4NywgNDM5MiwgMS4zNzc3MzQzMDM0NzQ0MjYzXSwgWzE2NjM4NDAyMTguMjQ2NDE5NCwgNDQwMSwgMS42NjQxNjIwMzk3NTY3NzVdLCBbMTY2Mzg0MDIxOC4zODgxNjYyLCA0NDEwLCAxLjQ4NTY5OTI5NTk5NzYxOTZdLCBbMTY2Mzg0MDIxOC42Njk2MjUzLCA0NDI4LCAxLjIyNDgwMjEzNjQyMTIwMzZdLCBbMTY2Mzg0MDIxOS4xMjExNTEsIDQ0NTUsIDEuMzM4MjMxOTIxMTk1OTgzOV0sIFsxNjYzODQwMjE5LjY5Njg5MSwgNDQ5MSwgMS41ODE2NDE3OTMyNTEwMzc2XSwgWzE2NjM4NDAyMjAuMjIyMTA1NywgNDUyNywgMS43MTY0Mjg1MTgyOTUyODhdLCBbMTY2Mzg0MDIyMC4zMzU4MTg4LCA0NTM2LCAxLjI4Nzk1NTg4MDE2NTFdLCBbMTY2Mzg0MDIyMC43MDM2MzE0LCA0NTYzLCAxLjQ0ODA4MTczMTc5NjI2NDZdLCBbMTY2Mzg0MDIyMS4wNzUwMzE4LCA0NTkwLCAxLjM4NDMyMzk1NDU4MjIxNDRdLCBbMTY2Mzg0MDIyMS4xODQxMzEsIDQ1OTksIDEuNTE0ODUzNzE1ODk2NjA2NF0sIFsxNjYzODQwMjIxLjMwNjY0NzUsIDQ2MDgsIDEuMjczMTQ0MzY0MzU2OTk0Nl0sIFsxNjYzODQwMjIxLjQxOTQ0MTUsIDQ2MTcsIDEuNzYwODA0Mjk1NTM5ODU2XSwgWzE2NjM4NDAyMjEuNTMxNDExNiwgNDYyNiwgMS4zMzU1NjQxMzY1MDUxMjddLCBbMTY2Mzg0MDIyMS42NjQ2OTM4LCA0NjM1LCAxLjMxMDM5MDU5MTYyMTM5OV0sIFsxNjYzODQwMjIyLjAyNDI2MTcsIDQ2NjIsIDEuNDMxMjE5ODE2MjA3ODg1N10sIFsxNjYzODQwMjIyLjE0MjI5NjgsIDQ2NzEsIDEuNTg5OTI1NjQ2NzgxOTIxNF0sIFsxNjYzODQwMjIyLjI2OTMwOTgsIDQ2ODAsIDEuNDU5Mjc3OTg3NDgwMTYzNl0sIFsxNjYzODQwMjIyLjM4MDYzNjIsIDQ2ODksIDEuNDUwMDI3OTQyNjU3NDcwN10sIFsxNjYzODQwMjIyLjc2MzUwODYsIDQ3MTYsIDEuNDUyNTI3OTk5ODc3OTI5N10sIFsxNjYzODQwMjIzLjY3NTQ2ODcsIDQ3NzksIDEuMzczOTA2MTM1NTU5MDgyXSwgWzE2NjM4NDAyMjQuMDgyOTY5LCA0ODA2LCAxLjIyMTY2NjY5MzY4NzQzOV0sIFsxNjYzODQwMjI0LjIxOTYyOSwgNDgxNSwgMS4zNzAyMjE0OTU2MjgzNTddLCBbMTY2Mzg0MDIyNC40Nzg5OTkxLCA0ODMzLCAxLjcwNTc4MjE3NTA2NDA4N10sIFsxNjYzODQwMjI0LjYwODk1MSwgNDg0MiwgMS44MzExODQ3NDQ4MzQ5XSwgWzE2NjM4NDAyMjQuNzU0MDQzOCwgNDg1MSwgMS4xNzY5NTQzODg2MTg0NjkyXSwgWzE2NjM4NDAyMjUuMDYwMzI2NiwgNDg2OSwgMS4zMjMzMTU1MDEyMTMwNzM3XSwgWzE2NjM4NDAyMjUuMzIyMDA4NCwgNDg4NywgMS4yOTUzOTM5NDM3ODY2MjFdLCBbMTY2Mzg0MDIyNS42MTQxMTEyLCA0OTA1LCAxLjM0Nzg3ODMzNjkwNjQzM10sIFsxNjYzODQwMjI1Ljg4MjE4NDMsIDQ5MjMsIDEuNjM1MjI5MzQ5MTM2MzUyNV0sIFsxNjYzODQwMjI2LjAxOTQzMTYsIDQ5MzIsIDEuMzUyMzQ3MDE2MzM0NTMzN10sIFsxNjYzODQwMjI2LjQ0MTYwNCwgNDk1OSwgMS4yMzkzODQ0MTI3NjU1MDNdLCBbMTY2Mzg0MDIyNi43MjMzMzk2LCA0OTc3LCAxLjU2NDc3MjEyOTA1ODgzOF0sIFsxNjYzODQwMjI3LjEzNDYwODMsIDUwMDQsIDEuMzgzNTQ0OTIxODc1XSwgWzE2NjM4NDAyMjcuMjc0NjAzLCA1MDEzLCAxLjIwNjU3MTEwMjE0MjMzNF0sIFsxNjYzODQwMjI4LjAyODc2NTQsIDUwNjcsIDEuNDA1MTM5MDg4NjMwNjc2M10sIFsxNjYzODQwMjI4LjE3NTAwMTksIDUwNzYsIDEuMjI2ODkyNzA5NzMyMDU1N10sIFsxNjYzODQwMjI4LjMwNTM1NDQsIDUwODUsIDEuMjkxODc1MTIzOTc3NjYxMV0sIFsxNjYzODQwMjI5LjA5MjgxNywgNTEyMSwgMS4zMDk1ODU0NTIwNzk3NzNdLCBbMTY2Mzg0MDIyOS41MjIwMTIyLCA1MTQ4LCAxLjI1OTE2OTM0MDEzMzY2N10sIFsxNjYzODQwMjI5LjgyMzYyODQsIDUxNjYsIDEuMjM5MDQ4NjAwMTk2ODM4NF0sIFsxNjYzODQwMjMwLjI0Njc1OTQsIDUxOTMsIDEuODI5NzYyMjIwMzgyNjkwNF0sIFsxNjYzODQwMjMwLjc4NDg0MjcsIDUyMjksIDEuNTE0NjQyMTE5NDA3NjUzOF0sIFsxNjYzODQwMjMxLjM2MjA1OTYsIDUyNjUsIDEuMzY0ODYxNjA3NTUxNTc0N10sIFsxNjYzODQwMjMxLjQ5OTM0ODIsIDUyNzQsIDEuNDE2NjM5OTI0MDQ5Mzc3NF0sIFsxNjYzODQwMjMxLjYyMDE4NzgsIDUyODMsIDEuMzczMTQwMzM1MDgzMDA3OF0sIFsxNjYzODQwMjMxLjkxMzI3NzEsIDUzMDEsIDEuMjMzNTM2MDA1MDIwMTQxNl0sIFsxNjYzODQwMjMyLjE3MTA0MDUsIDUzMTksIDEuMzQ1MDgyNjQwNjQ3ODg4Ml0sIFsxNjYzODQwMjMyLjMyMTE1ODQsIDUzMjgsIDEuMTIzMjM5NTE3MjExOTE0XSwgWzE2NjM4NDAyMzIuNDgwMDc1OCwgNTMzNywgMS4yMzY3OTA0MTg2MjQ4NzhdLCBbMTY2Mzg0MDIzMi43NjQ1NDI2LCA1MzU1LCAxLjI0MTI2MjQzNTkxMzA4Nl0sIFsxNjYzODQwMjMzLjA2MzA4OTYsIDUzNzMsIDEuMzc0NDA0MzExMTgwMTE0N10sIFsxNjYzODQwMjMzLjMyMjU2ODQsIDUzOTEsIDEuMTgxNDc0NDQ3MjUwMzY2Ml0sIFsxNjYzODQwMjMzLjQ4NTc0MDcsIDU0MDAsIDEuMzU1NDA1NTY5MDc2NTM4XSwgWzE2NjM4NDAyMzMuOTU1MDI4MywgNTQyNywgMS42MTAxOTgxNDAxNDQzNDgxXSwgWzE2NjM4NDAyMzQuMTIxNTgwNiwgNTQzNiwgMS4zNDM4NTA2MTI2NDAzODA5XSwgWzE2NjM4NDAyMzQuODM4MjkwNywgNTQ4MSwgMS4xNjk3MzE4NTUzOTI0NTZdLCBbMTY2Mzg0MDIzNS4xMTk0NDUzLCA1NDk5LCAxLjIzNjI4OTczOTYwODc2NDZdLCBbMTY2Mzg0MDIzNS41NTcwMjE5LCA1NTI2LCAxLjMxOTQ0NDUzNzE2Mjc4MDhdLCBbMTY2Mzg0MDIzNS43MDExNjY2LCA1NTM1LCAxLjE5NDgzMzg3NDcwMjQ1MzZdLCBbMTY2Mzg0MDIzNS45NzMxMzUsIDU1NTMsIDEuMTUwMTkxNTQ1NDg2NDUwMl0sIFsxNjYzODQwMjM2LjI1NjYzNTcsIDU1NzEsIDEuNTQyNzc1MjczMzIzMDU5XSwgWzE2NjM4NDAyMzYuNTE4MTMyLCA1NTg5LCAxLjQyNzc5MjkwNjc2MTE2OTRdLCBbMTY2Mzg0MDIzNi43OTU0MTg3LCA1NjA3LCAxLjI1MTY3ODgyNDQyNDc0MzddLCBbMTY2Mzg0MDIzNi45MzY3NiwgNTYxNiwgMS4zMzY2Mzg1Njk4MzE4NDgxXSwgWzE2NjM4NDAyMzcuMzYyMzQ3MSwgNTY0MywgMS4yMTk3OTUzNDYyNjAwNzA4XSwgWzE2NjM4NDAyMzcuNTkyNjM4LCA1NjYxLCAxLjMzNDMwMzczNjY4NjcwNjVdLCBbMTY2Mzg0MDIzNy43MjU2MzA4LCA1NjcwLCAxLjIzNTg3NTYwNjUzNjg2NTJdLCBbMTY2Mzg0MDIzOC4xOTA3MDcyLCA1NzA2LCAxLjIyNDI3MTg5MzUwMTI4MTddLCBbMTY2Mzg0MDIzOC43MTMzNTg2LCA1NzQyLCAxLjMyNjg5NTIzNjk2ODk5NDFdLCBbMTY2Mzg0MDIzOS4xMTM2NiwgNTc2OSwgMS4zNjIyNjQzOTQ3NjAxMzE4XSwgWzE2NjM4NDAyMzkuMjU1NzM5LCA1Nzc4LCAxLjQ0NjY2OTU3ODU1MjI0Nl0sIFsxNjYzODQwMjM5LjM4MjM0MSwgNTc4NywgMS4xNjM5OTg2MDM4MjA4MDA4XSwgWzE2NjM4NDAyMzkuNTIzMTM1NCwgNTc5NiwgMS4zMzE4NjEwMTkxMzQ1MjE1XSwgWzE2NjM4NDAyMzkuNjU4MDg2LCA1ODA1LCAxLjcxMjEwMzYwNTI3MDM4NTddLCBbMTY2Mzg0MDI0MC4zNTkwMjMzLCA1ODUwLCAxLjIxMDEyMDkxNjM2NjU3NzFdLCBbMTY2Mzg0MDI0MC42MzE4MzYyLCA1ODY4LCAxLjE3Njg1NTA4NzI4MDI3MzRdLCBbMTY2Mzg0MDI0MC43NjA1NjM2LCA1ODc3LCAxLjczNjcwMzUxNTA1Mjc5NTRdLCBbMTY2Mzg0MDI0MS4wNDI0MTMsIDU4OTUsIDEuMjIyNzYxODY5NDMwNTQyXSwgWzE2NjM4NDAyNDEuMTc3NzQyLCA1OTA0LCAxLjE2Njc1NDI0NTc1ODA1NjZdLCBbMTY2Mzg0MDI0MS43OTc4NzAyLCA1OTMxLCAxLjE5MzI4MzkxNTUxOTcxNDRdLCBbMTY2Mzg0MDI0Mi4wNjUxMDE5LCA1OTQ5LCAxLjI5Nzc5ODg3MTk5NDAxODZdLCBbMTY2Mzg0MDI0My4wNTA0MzYzLCA2MDEyLCAxLjI2MDk2NzYxMjI2NjU0MDVdLCBbMTY2Mzg0MDI0My40NjUyNTIsIDYwMzksIDEuMjYzNTg2NTIxMTQ4NjgxNl0sIFsxNjYzODQwMjQ0LjIwNzg5MzEsIDYwODQsIDEuNTIzMTY4NTYzODQyNzczNF0sIFsxNjYzODQwMjQ0LjM1NDgyNjcsIDYwOTMsIDEuMjgxMzAyMzMyODc4MTEyOF0sIFsxNjYzODQwMjQ0LjQ4Nzk2NywgNjEwMiwgMS40Mzg0OTA1MDk5ODY4Nzc0XSwgWzE2NjM4NDAyNDQuODczNTY5MywgNjEyOSwgMS4yODA1NDg2OTE3NDk1NzI4XSwgWzE2NjM4NDAyNDUuMTI5MzMzNywgNjE0NywgMS4zNjgwNDg1NDg2OTg0MjUzXSwgWzE2NjM4NDAyNDUuMjY4NjQzNiwgNjE1NiwgMS4zODAwNDI3OTEzNjY1NzcxXSwgWzE2NjM4NDAyNDUuMzkwMzE3NywgNjE2NSwgMS4yMDE1NDU1OTYxMjI3NDE3XSwgWzE2NjM4NDAyNDUuNzg0MzMyNSwgNjE5MiwgMS4zMDMyMjM4NDgzNDI4OTU1XSwgWzE2NjM4NDAyNDYuNTAzMDg5LCA2MjM3LCAxLjQwNDExMTI2NjEzNjE2OTRdLCBbMTY2Mzg0MDI0Ni43NzQzMDM3LCA2MjU1LCAxLjIyMTcxNDg1NDI0MDQxNzVdLCBbMTY2Mzg0MDI0Ny4wNDkxNzA3LCA2MjczLCAxLjExNTA5ODQ3NjQwOTkxMl0sIFsxNjYzODQwMjQ3LjE4NjY3ODIsIDYyODIsIDEuNjc3MTgwMDUxODAzNTg4OV0sIFsxNjYzODQwMjQ3LjQ1ODY5MDQsIDYzMDAsIDEuMTQ2ODk0OTMxNzkzMjEzXSwgWzE2NjM4NDAyNDcuOTA1MDc5OCwgNjMyNywgMi4wMTAzNzAwMTYwOTgwMjI1XSwgWzE2NjM4NDAyNDguMDQxMjYyOSwgNjMzNiwgMS4xOTE2MjE0MjI3Njc2MzkyXSwgWzE2NjM4NDAyNDguMjk0NjUwNiwgNjM1NCwgMS4yNjQ1ODM4MjYwNjUwNjM1XSwgWzE2NjM4NDAyNDguNzk1NTU2MywgNjM5MCwgMS4wOTAwMDA5ODcwNTI5MTc1XSwgWzE2NjM4NDAyNDguOTEzMjE4NywgNjM5OSwgMS4xNDU4NjEzODcyNTI4MDc2XSwgWzE2NjM4NDAyNDkuMTQzNTU1OSwgNjQxNywgMS4yMTA4MTYwMjU3MzM5NDc4XSwgWzE2NjM4NDAyNDkuNDkyODQ0MywgNjQ0NCwgMS4yNDk0NjI3MjM3MzE5OTQ2XSwgWzE2NjM4NDAyNDkuNzIzODE2NiwgNjQ2MiwgMS4yMjc2MzAzNzY4MTU3OTZdLCBbMTY2Mzg0MDI1MC4wNzk4NDM4LCA2NDg5LCAxLjE4MzE3MzA2MDQxNzE3NTNdLCBbMTY2Mzg0MDI1MC4xODU1NDA0LCA2NDk4LCAxLjM2MzI4NjM3NTk5OTQ1MDddLCBbMTY2Mzg0MDI1MC40MjMyMTEsIDY1MTYsIDEuMDkwNjUzMDYxODY2NzYwM10sIFsxNjYzODQwMjUwLjY2NDA4MDEsIDY1MzQsIDEuMTQ5MjQ0NjY2MDk5NTQ4M10sIFsxNjYzODQwMjUwLjc4Njc2NjUsIDY1NDMsIDEuMTE1Njk4OTMzNjAxMzc5NF0sIFsxNjYzODQwMjUxLjA2NDMwOCwgNjU2MSwgMS4yMDE1MzE4ODcwNTQ0NDM0XSwgWzE2NjM4NDAyNTEuMTk3MDM3MiwgNjU3MCwgMS41MjQ5NjQ5Mjg2MjcwMTQyXSwgWzE2NjM4NDAyNTEuNDc1MTUyNywgNjU4OCwgMS4wODIxNzE5MTY5NjE2N10sIFsxNjYzODQwMjUxLjYxMDAyMzcsIDY1OTcsIDEuMjM5MjU0NTkzODQ5MTgyMV0sIFsxNjYzODQwMjUxLjc1NzMwNzUsIDY2MDYsIDEuMzYyOTM0ODI3ODA0NTY1NF0sIFsxNjYzODQwMjUyLjQyOTA3MDcsIDY2NTEsIDEuMjc5NDA4NjkzMzEzNTk4Nl0sIFsxNjYzODQwMjUyLjk1MzI3NzMsIDY2ODcsIDEuMTI1OTUxMDUxNzEyMDM2MV0sIFsxNjYzODQwMjUzLjA4MDkxNTUsIDY2OTYsIDEuMDgzODIzMjA0MDQwNTI3M10sIFsxNjYzODQwMjUzLjIyMjgyNzIsIDY3MDUsIDEuMDUxMTQ4NDE0NjExODE2NF0sIFsxNjYzODQwMjU0Ljk0NzY1MDcsIDY4MTMsIDEuMzE0OTMxNjMxMDg4MjU2OF0sIFsxNjYzODQwMjU1LjE4NDIwNjIsIDY4MzEsIDEuMzY4OTg3MzIxODUzNjM3N10sIFsxNjYzODQwMjU1Ljg2NDI4MzgsIDY4ODUsIDEuMDU4ODA5MjgwMzk1NTA3OF0sIFsxNjYzODQwMjU1Ljk5NzQ2OTQsIDY4OTQsIDEuMTc4NDkyNDI2ODcyMjUzNF0sIFsxNjYzODQwMjU2LjQyNjE1NzUsIDY5MjEsIDEuMzM2NTM0MjYxNzAzNDkxMl0sIFsxNjYzODQwMjU2LjU2ODI5NDMsIDY5MzAsIDEuMjQzNjA2MjA5NzU0OTQzOF0sIFsxNjYzODQwMjU2Ljk5MDQ3NjYsIDY5NTcsIDEuMzUwNDI0NzY2NTQwNTI3M10sIFsxNjYzODQwMjU3LjM5NzAzNDYsIDY5ODQsIDEuODc3NzY0MjI1MDA2MTAzNV0sIFsxNjYzODQwMjU3LjUzMTM3MzMsIDY5OTMsIDEuNDM3OTkyMDk1OTQ3MjY1Nl0sIFsxNjYzODQwMjU3LjgwNDE3ODUsIDcwMTEsIDEuMzMwNDY0NDgyMzA3NDM0XSwgWzE2NjM4NDAyNTcuOTM3NjExMywgNzAyMCwgMS4zODU0MTEwMjQwOTM2MjhdLCBbMTY2Mzg0MDI1OC4wNjIzMDAyLCA3MDI5LCAxLjIxNTI1ODQ3OTExODM0NzJdLCBbMTY2Mzg0MDI1OC4xOTk5OTQ4LCA3MDM4LCAxLjA1OTM4NzMyNjI0MDUzOTZdLCBbMTY2Mzg0MDI1OC4zMDc4NTQ0LCA3MDQ3LCAxLjIwNjI3MDIxNzg5NTUwNzhdLCBbMTY2Mzg0MDI1OC45OTc1MDk3LCA3MTAxLCAxLjI2MDc4MjcxODY1ODQ0NzNdLCBbMTY2Mzg0MDI1OS40MDUzMjcsIDcxMjgsIDEuMTg3MjM1NzEzMDA1MDY2XSwgWzE2NjM4NDAyNjEuMjA2NzMyNywgNzI0NSwgMS4wNTk4NDg0Mjc3NzI1MjJdLCBbMTY2Mzg0MDI2MS4zMjQzMDM2LCA3MjU0LCAxLjA4NjE5Nzk3MjI5NzY2ODVdLCBbMTY2Mzg0MDI2MS40NTc0MjM3LCA3MjYzLCAxLjI4NTM2Nzk2NTY5ODI0MjJdLCBbMTY2Mzg0MDI2MS42NDYyOTgyLCA3MjcyLCAxLjM5NzkxMzkzMjgwMDI5M10sIFsxNjYzODQwMjYyLjExMjUxMzgsIDcyOTksIDEuNDQzMDM2NDM3MDM0NjA3XSwgWzE2NjM4NDAyNjMuMjgyNDMwNCwgNzM3MSwgMS4xNTkwMDI2NjE3MDUwMTddLCBbMTY2Mzg0MDI2My40MDEzNTk2LCA3MzgwLCAxLjAwMjU4NzQzNzYyOTY5OTddLCBbMTY2Mzg0MDI2NC41MDIxMDkzLCA3NDUyLCAxLjE3ODI4ODQ1OTc3NzgzMl0sIFsxNjYzODQwMjY0LjYzMjQ5NiwgNzQ2MSwgMS4xNjQxNDM1NjIzMTY4OTQ1XSwgWzE2NjM4NDAyNjUuMTkyMjYzOCwgNzQ5NywgMS4wNzI1NzY3NjEyNDU3Mjc1XSwgWzE2NjM4NDAyNjUuNjA2NzU1LCA3NTA2LCAxLjAxMDMyMjQ1MTU5MTQ5MTddLCBbMTY2Mzg0MDI2NS45MDM1MzgyLCA3NTI0LCAxLjE3MDc5NzcwNTY1MDMyOTZdLCBbMTY2Mzg0MDI2Ni4wMzU0MzI4LCA3NTMzLCAxLjQyOTQxNDM5MTUxNzYzOTJdLCBbMTY2Mzg0MDI2Ni4xNzY5NzU3LCA3NTQyLCAxLjQxNzI1MTM0ODQ5NTQ4MzRdLCBbMTY2Mzg0MDI2Ni40Mjg5Mzg0LCA3NTYwLCAxLjAwMDA4NTExNTQzMjczOTNdLCBbMTY2Mzg0MDI2Ni41NTc0ODI3LCA3NTY5LCAxLjI4ODI4NTAxNzAxMzU0OThdLCBbMTY2Mzg0MDI2Ni45NDI2NjkyLCA3NTk2LCAxLjUyNzYxNDM1NTA4NzI4MDNdLCBbMTY2Mzg0MDI2Ny4xODI0NzU4LCA3NjE0LCAxLjIyMDQ0MzAxMDMzMDIwMDJdLCBbMTY2Mzg0MDI2Ny43OTE0NTg0LCA3NjU5LCAxLjIzOTAzMjAzMDEwNTU5MDhdLCBbMTY2Mzg0MDI2Ny45MjY2NTg5LCA3NjY4LCAxLjY3MzUyOTE0ODEwMTgwNjZdLCBbMTY2Mzg0MDI2OC4yOTk1NzU2LCA3Njk1LCAxLjQwNzU0Mjk0Mzk1NDQ2NzhdLCBbMTY2Mzg0MDI2OC42NjM3NTUyLCA3NzIyLCAxLjE4NzU5MDI0MTQzMjE5XSwgWzE2NjM4NDAyNjkuMDQ2NDQ4MiwgNzc0OSwgMS4zOTQxNjc5MDAwODU0NDkyXSwgWzE2NjM4NDAyNjkuMzE0NDAzOCwgNzc2NywgMS41MTkwNTQ4ODk2Nzg5NTVdLCBbMTY2Mzg0MDI2OS43MzMxNzk2LCA3Nzk0LCAxLjE5MTU2ODEzNjIxNTIxXSwgWzE2NjM4NDAyNjkuODczOTgxLCA3ODAzLCAxLjI1ODA0NjAzMDk5ODIzXSwgWzE2NjM4NDAyNzAuNDIxMTI3LCA3ODM5LCAxLjMyMTU5ODg4NzQ0MzU0MjVdLCBbMTY2Mzg0MDI3MC41NTczNTMsIDc4NDgsIDEuMDU2OTUxNTIyODI3MTQ4NF0sIFsxNjYzODQwMjcyLjI2MjEyNTcsIDc5NjUsIDEuMTU2MDU2ODgwOTUwOTI3N10sIFsxNjYzODQwMjcyLjQwNzM1MzQsIDc5NzQsIDEuMTU4ODAxMDc4Nzk2Mzg2N10sIFsxNjYzODQwMjcyLjU0MDI0NDYsIDc5ODMsIDEuNDA0OTI4NTY1MDI1MzI5Nl0sIFsxNjYzODQwMjczLjEwNjAyNzgsIDgwMTksIDEuODAxNDQ2OTE0NjcyODUxNl0sIFsxNjYzODQwMjczLjM4ODY0MjgsIDgwMzcsIDEuMjM0MzE1OTkxNDAxNjcyNF0sIFsxNjYzODQwMjczLjc5NjQ2LCA4MDY0LCAxLjk0MDQ4NTU5NjY1Njc5OTNdLCBbMTY2Mzg0MDI3NC4wNjUzMTEyLCA4MDgyLCAxLjYxNTAwODExNTc2ODQzMjZdLCBbMTY2Mzg0MDI3NC4xODk0ODAzLCA4MDkxLCAxLjM3NDA2ODQ5ODYxMTQ1MDJdLCBbMTY2Mzg0MDI3NC41NTkwNzYsIDgxMTgsIDEuMjU0NTI2NzM0MzUyMTExOF0sIFsxNjYzODQwMjc0LjY5NDM1NjcsIDgxMjcsIDEuMTA4NTY3NDc2MjcyNTgzXSwgWzE2NjM4NDAyNzUuNDA1MzgsIDgxNzIsIDEuMDgyNjk1MDA3MzI0MjE4OF0sIFsxNjYzODQwMjc1LjU0NjA5NiwgODE4MSwgMS4xMjYyNDM1OTEzMDg1OTM4XSwgWzE2NjM4NDAyNzUuNzg5NDI1OCwgODE5OSwgMS4yMTkzMzk5NjY3NzM5ODY4XSwgWzE2NjM4NDAyNzUuOTE3OTk3LCA4MjA4LCAxLjE4OTc5OTc4NTYxNDAxMzddLCBbMTY2Mzg0MDI3Ni4yNzI2ODg5LCA4MjM1LCAxLjE4MjY0OTYxMjQyNjc1NzhdLCBbMTY2Mzg0MDI3Ni43NzMsIDgyNzEsIDEuMDg3ODQ4NjYzMzMwMDc4MV0sIFsxNjYzODQwMjc2LjkwMDU3ODMsIDgyODAsIDEuMDc0NzI2MTA0NzM2MzI4MV0sIFsxNjYzODQwMjc3LjQxNjcwOTIsIDgyOTgsIDEuMjA5NTIxNTMyMDU4NzE1OF0sIFsxNjYzODQwMjc3LjcyMTA2MzEsIDgzMTYsIDEuMzg3NTI4ODk2MzMxNzg3XSwgWzE2NjM4NDAyNzguMzY4MTA1NiwgODM2MSwgMS4wMTY0NDk0NTE0NDY1MzMyXSwgWzE2NjM4NDAyNzguNjA3NjE5MywgODM3OSwgMS4xNTYwNjY0MTc2OTQwOTE4XSwgWzE2NjM4NDAyNzguNzQ1NTMxOCwgODM4OCwgMS4xNzA2MDg0MDEyOTg1MjNdLCBbMTY2Mzg0MDI3OC44NTUzNDEsIDgzOTcsIDEuMzQ4NjA1ODcxMjAwNTYxNV0sIFsxNjYzODQwMjc5LjIxMjIwMDYsIDg0MjQsIDEuMTczNDIxMTQ0NDg1NDczNl0sIFsxNjYzODQwMjc5LjY4MzcyNzUsIDg0NjAsIDEuMDY1Njk5MjE5NzAzNjc0M10sIFsxNjYzODQwMjc5LjkxMDM4MSwgODQ3OCwgMS4wNjI3NDYwNDc5NzM2MzI4XSwgWzE2NjM4NDAyODAuMDMzNjcyLCA4NDg3LCAxLjMxOTYxODgyMTE0NDEwNF0sIFsxNjYzODQwMjgwLjM3ODg0OCwgODUxNCwgMS4xMjQ2ODQyMTQ1OTE5OF0sIFsxNjYzODQwMjgwLjg1MTcwNzcsIDg1NTAsIDAuOTkzNTMyNDE5MjA0NzExOV0sIFsxNjYzODQwMjgxLjMyNjQ0MSwgODU3NywgMC45NTc2Njc0Njk5NzgzMzI1XSwgWzE2NjM4NDAyODEuNzA1ODI0LCA4NjA0LCAxLjIwODU1OTc1MTUxMDYyMDFdLCBbMTY2Mzg0MDI4MS44NTEyNzg4LCA4NjEzLCAxLjIxMzgzMjk3NDQzMzg5OV0sIFsxNjYzODQwMjgyLjM1MDg4MzIsIDg2NDksIDEuMTgzMzgxMDgwNjI3NDQxNF0sIFsxNjYzODQwMjgyLjYxNjUyNDIsIDg2NjcsIDEuMTY1OTkwMTE0MjEyMDM2MV0sIFsxNjYzODQwMjgyLjc1MTQ5NTgsIDg2NzYsIDEuMTA2NzUwMTMwNjUzMzgxM10sIFsxNjYzODQwMjgzLjAyNzQxODYsIDg2OTQsIDEuNDEzNjY5MTA5MzQ0NDgyNF0sIFsxNjYzODQwMjgzLjI2MjAwOTYsIDg3MTIsIDEuMjYwODU1NzkzOTUyOTQyXSwgWzE2NjM4NDAyODMuMzc5OTkwMywgODcyMSwgMS4zNjU1MjgzNDUxMDgwMzIyXSwgWzE2NjM4NDAyODMuNzUwMTY5NSwgODc0OCwgMS4xNTYwNTUyMTIwMjA4NzRdLCBbMTY2Mzg0MDI4NC4zODE1NDg0LCA4NzkzLCAxLjM4NzQ3NzE1OTUwMDEyMl0sIFsxNjYzODQwMjg0LjY1ODU1ODQsIDg4MTEsIDEuMTc2MzM0MjYxODk0MjI2XSwgWzE2NjM4NDAyODQuNzg5MzU2NSwgODgyMCwgMS4yNzY3OTEyMTQ5NDI5MzIxXSwgWzE2NjM4NDAyODUuMjI1NjI2NSwgODg0NywgMS40NTA4MjI5NDk0MDk0ODQ5XSwgWzE2NjM4NDAyODUuNzU2NDYxNiwgODg4MywgMS4wOTI3MDAxMjM3ODY5MjYzXSwgWzE2NjM4NDAyODYuMjk1NjgwOCwgODkxOSwgMS42MzA4ODIyNjMxODM1OTM4XSwgWzE2NjM4NDAyODYuNTY3MDc0MywgODkzNywgMS4zMjc2MTc1MjYwNTQzODIzXSwgWzE2NjM4NDAyODYuODM1OTcyOCwgODk1NSwgMS4yMTExODY3NjY2MjQ0NTA3XSwgWzE2NjM4NDAyODcuMTA0MzQ0NiwgODk3MywgMS43NDYxMTkyNjA3ODc5NjM5XSwgWzE2NjM4NDAyODcuMzkzNjk3NywgODk5MSwgMS4xMzc1NzM3MTkwMjQ2NTgyXSwgWzE2NjM4NDAyODcuNTI3OTY4NCwgOTAwMCwgMC45MzA3ODYxOTI0MTcxNDQ4XSwgWzE2NjM4NDAyODcuOTU0MDMxNSwgOTAyNywgMS4xOTQ0NjM0OTE0Mzk4MTkzXSwgWzE2NjM4NDAyODguMDk3MDIyMywgOTAzNiwgMS4wODgzMzc1NDA2MjY1MjU5XSwgWzE2NjM4NDAyODguMjM2MjI1OCwgOTA0NSwgMS41MjMwNzYwNTc0MzQwODJdLCBbMTY2Mzg0MDI4OC41MjI4MTI0LCA5MDYzLCAxLjA2MjcyOTM1ODY3MzA5NTddLCBbMTY2Mzg0MDI4OS40NTUzMTYsIDkxMDgsIDEuMTk2NTQ4NzAwMzMyNjQxNl0sIFsxNjYzODQwMjg5LjczNDk5NTQsIDkxMjYsIDEuMTI4OTg2MDAxMDE0NzA5NV0sIFsxNjYzODQwMjkwLjAxMjk2MTQsIDkxNDQsIDEuMDQyNDM4MDMwMjQyOTJdLCBbMTY2Mzg0MDI5MC45MzA4MzUyLCA5MjA3LCAxLjA1MTk2NDc1OTgyNjY2MDJdLCBbMTY2Mzg0MDI5MS41MTExMTcsIDkyNDMsIDEuMDU1MDY5MjA4MTQ1MTQxNl0sIFsxNjYzODQwMjkxLjc5NjQxMDMsIDkyNjEsIDEuMTEzMzI0NzYxMzkwNjg2XSwgWzE2NjM4NDAyOTEuOTI4NDQzNywgOTI3MCwgMS4wNjY2ODQ5NjEzMTg5Njk3XSwgWzE2NjM4NDAyOTIuNjQyODQzMiwgOTMyNCwgMS4wOTI4Nzg0NjA4ODQwOTQyXSwgWzE2NjM4NDAyOTIuNzU5NDgyNiwgOTMzMywgMS4xNDc4NjYyNDkwODQ0NzI3XSwgWzE2NjM4NDAyOTIuODgzMTE1MywgOTM0MiwgMS40MDM5ODY1NzMyMTkyOTkzXSwgWzE2NjM4NDAyOTMuMDA5MzM4NiwgOTM1MSwgMS4yNzY4Nzk1NDkwMjY0ODkzXSwgWzE2NjM4NDAyOTMuMTI3NDEzNSwgOTM2MCwgMS42MzU3NTg4NzY4MDA1MzddLCBbMTY2Mzg0MDI5My42MTI3Njk0LCA5Mzk2LCAxLjA1NTQ2OTYzMjE0ODc0MjddLCBbMTY2Mzg0MDI5My45ODczOTUsIDk0MjMsIDEuMzA4NDE2NjA0OTk1NzI3NV0sIFsxNjYzODQwMjk1LjI0ODYyNDMsIDk1MTMsIDEuMTg5MTkxOTM3NDQ2NTk0Ml0sIFsxNjYzODQwMjk1LjUwODI4NTUsIDk1MzEsIDEuMjIzMDkyNTU1OTk5NzU1OV0sIFsxNjYzODQwMjk1LjY1NzY0MzgsIDk1NDAsIDEuMDQ3NjIyMzIzMDM2MTkzOF0sIFsxNjYzODQwMjk1Ljc5NjA5OTQsIDk1NDksIDEuMTU4NDMwNjk1NTMzNzUyNF0sIFsxNjYzODQwMjk2LjA3MzM0NDUsIDk1NjcsIDEuMTkzMDY1NjQzMzEwNTQ2OV0sIFsxNjYzODQwMjk2LjQ5MDgsIDk1OTQsIDEuMzUyODM5MTEyMjgxNzk5M10sIFsxNjYzODQwMjk2Ljc2OTYwMzUsIDk2MTIsIDEuMTAzODI3NDc2NTAxNDY0OF0sIFsxNjYzODQwMjk3LjA1ODQxODMsIDk2MzAsIDEuMDc4NTQxNTE3MjU3NjkwNF0sIFsxNjYzODQwMjk3LjE5MTA0ODksIDk2MzksIDEuMTEyMjc1NDgxMjI0MDZdLCBbMTY2Mzg0MDI5Ny4zMjY5MzgyLCA5NjQ4LCAxLjQwNTM1ODU1MjkzMjczOTNdLCBbMTY2Mzg0MDI5Ny40NTkzOTE4LCA5NjU3LCAxLjI4ODE5MDk2MDg4NDA5NDJdLCBbMTY2Mzg0MDI5Ny41OTk1MTIzLCA5NjY2LCAxLjA1MDU3OTc4NjMwMDY1OTJdLCBbMTY2Mzg0MDI5Ny43MzkwNzc4LCA5Njc1LCAxLjMxNDA2NTA5ODc2MjUxMjJdLCBbMTY2Mzg0MDI5OC4xNDQwOTMsIDk3MDIsIDEuMDU3MDM0OTY5MzI5ODM0XSwgWzE2NjM4NDAyOTguMjc2MDEzNCwgOTcxMSwgMS4xNzI0NjM4OTM4OTAzODA5XSwgWzE2NjM4NDAyOTguNTM0NzM1NCwgOTcyOSwgMS4zNDgzODM3ODQyOTQxMjg0XSwgWzE2NjM4NDAyOTguNjg0MTMzNSwgOTczOCwgMS4zNTAwMTk2OTMzNzQ2MzM4XSwgWzE2NjM4NDAyOTguODA2ODg5MywgOTc0NywgMC45ODk1NzYyODAxMTcwMzQ5XSwgWzE2NjM4NDAyOTkuMjAzODM0OCwgOTc3NCwgMC45ODIyMzIyMTMwMjAzMjQ3XSwgWzE2NjM4NDAyOTkuMzQzMTE1MywgOTc4MywgMS4wNjA2OTMyNjQwMDc1Njg0XSwgWzE2NjM4NDAyOTkuNDc4OTI3LCA5NzkyLCAxLjQ5NzY3NDU4NDM4ODczM10sIFsxNjYzODQwMzAwLjAyOTgzODgsIDk4MjgsIDAuOTk3MTAyNTU4NjEyODIzNV0sIFsxNjYzODQwMzAwLjk2OTQ0MjgsIDk4OTEsIDEuMDk0NzU1ODg3OTg1MjI5NV0sIFsxNjYzODQwMzAxLjUxMDc0OSwgOTkwOSwgMS42MDA5MDkxMTM4ODM5NzIyXSwgWzE2NjM4NDAzMDEuNzg1Mjg2LCA5OTI3LCAxLjExODM1MTQ1OTUwMzE3MzhdLCBbMTY2Mzg0MDMwMS45MTI3NTYyLCA5OTM2LCAwLjk0MzE4MDk3ODI5ODE4NzNdLCBbMTY2Mzg0MDMwMi4wNTk1MjcyLCA5OTQ1LCAxLjE0NzY4NzU1NDM1OTQzNl0sIFsxNjYzODQwMzAyLjQ1MTc1NywgOTk3MiwgMS40NDMyNTU0MjQ0OTk1MTE3XSwgWzE2NjM4NDAzMDIuNzMzMTIxNiwgOTk5MCwgMS4yMzg0MDAyMjA4NzA5NzE3XSwgWzE2NjM4NDAzMDMuMDI4MTE4NiwgMTAwMDgsIDEuMDc3MTcyMzk4NTY3MTk5N10sIFsxNjYzODQwMzAzLjE3MjAxMiwgMTAwMTcsIDEuNDYzOTkzNDMwMTM3NjM0M10sIFsxNjYzODQwMzAzLjQ1MTAyNSwgMTAwMzUsIDEuMTUzNDc2ODM0Mjk3MTgwMl0sIFsxNjYzODQwMzA0LjE1NTcxMTIsIDEwMDgwLCAxLjI0OTIyMTU2MzMzOTIzMzRdLCBbMTY2Mzg0MDMwNC40NDYyMTEsIDEwMDk4LCAxLjYxMTE4OTQ4NDU5NjI1MjRdLCBbMTY2Mzg0MDMwNC41ODMxMzA4LCAxMDEwNywgMC45Nzg0NjA0OTA3MDM1ODI4XSwgWzE2NjM4NDAzMDUuMDExNjU2NSwgMTAxMzQsIDEuMDU5NjE5NDI2NzI3Mjk1XSwgWzE2NjM4NDAzMDUuMTQ4OTQyMiwgMTAxNDMsIDEuMTUzNTI0Mzk4ODAzNzExXSwgWzE2NjM4NDAzMDUuNDIxMDMsIDEwMTYxLCAwLjk3MjE3Nzk4MjMzMDMyMjNdLCBbMTY2Mzg0MDMwNS41NjA3NTE0LCAxMDE3MCwgMS4yMzk1MDIxOTE1NDM1NzldLCBbMTY2Mzg0MDMwNS45Nzk4NDY1LCAxMDE5NywgMS4wOTk2NTgwMTIzOTAxMzY3XSwgWzE2NjM4NDAzMDYuMjY0OTY0NiwgMTAyMTUsIDAuOTgyNDU0MTgwNzE3NDY4M10sIFsxNjYzODQwMzA2LjQwNjg4NzgsIDEwMjI0LCAxLjAxMTY0Mzg4NjU2NjE2Ml0sIFsxNjYzODQwMzA2LjUzNzI4NTYsIDEwMjMzLCAxLjA1ODY4NjAxNzk5MDExMjNdLCBbMTY2Mzg0MDMwNi45NDkzOTUsIDEwMjYwLCAxLjE3ODUzNDk4NDU4ODYyM10sIFsxNjYzODQwMzA3Ljg5MTk1NTYsIDEwMzIzLCAxLjA1NDU3NjUxNjE1MTQyODJdLCBbMTY2Mzg0MDMwOC4xNDE5ODA2LCAxMDM0MSwgMS4xNzgwMjA4MzQ5MjI3OTA1XSwgWzE2NjM4NDAzMDguNDMzNjIyMSwgMTAzNTksIDEuMjc5NDA1NzEzMDgxMzU5OV0sIFsxNjYzODQwMzA4LjU3MzY4MzMsIDEwMzY4LCAxLjA2ODY4ODE1NDIyMDU4MV0sIFsxNjYzODQwMzA4LjcxNTg0NTgsIDEwMzc3LCAxLjM0Njk4MzE5NDM1MTE5NjNdLCBbMTY2Mzg0MDMwOC44NjE4OTgsIDEwMzg2LCAxLjU4NDU2MzAxNjg5MTQ3OTVdLCBbMTY2Mzg0MDMwOS43OTk5MjI3LCAxMDQ0OSwgMS4yOTMwNTc3OTkzMzkyOTQ0XSwgWzE2NjM4NDAzMTAuMDYwMDE2OSwgMTA0NjcsIDEuMzc3MDg3MjM1NDUwNzQ0Nl0sIFsxNjYzODQwMzEwLjI4ODUyNDYsIDEwNDg1LCAxLjEyNjExMzE3NjM0NTgyNTJdLCBbMTY2Mzg0MDMxMC42Mjg1ODA2LCAxMDUxMiwgMS4yODY4NTU5MzYwNTA0MTVdLCBbMTY2Mzg0MDMxMS4zMzM0NTQsIDEwNTY2LCAxLjE0MzE5MDAyNjI4MzI2NDJdLCBbMTY2Mzg0MDMxMS40NDU5MjQsIDEwNTc1LCAxLjE3NzQzMTU4MzQwNDU0MV0sIFsxNjYzODQwMzExLjY3NzMxMjYsIDEwNTkzLCAxLjA3NDMwODUxNDU5NTAzMTddLCBbMTY2Mzg0MDMxMS43OTI1NTM3LCAxMDYwMiwgMS4wNTY0MTc0NjUyMDk5NjFdLCBbMTY2Mzg0MDMxMS45MDU5NjM0LCAxMDYxMSwgMS4yMDE3MjQyOTA4NDc3NzgzXSwgWzE2NjM4NDAzMTIuMzgyNjU3MywgMTA2NDcsIDEuMjYxMTc1Mjc0ODQ4OTM4XSwgWzE2NjM4NDAzMTIuNjM1MTU2MiwgMTA2NjUsIDEuNDQxMjkyNTI0MzM3NzY4Nl0sIFsxNjYzODQwMzEyLjg5MDY2MTUsIDEwNjgzLCAwLjk4ODEzNTA5OTQxMTAxMDddLCBbMTY2Mzg0MDMxMy40NzE3NzM5LCAxMDcxMCwgMS4xNzkzMjk1MTQ1MDM0NzldLCBbMTY2Mzg0MDMxMy41NzQwNjU3LCAxMDcxOSwgMS4zMjQwNDM1MTIzNDQzNjA0XSwgWzE2NjM4NDAzMTMuODgxNjIxLCAxMDc0NiwgMS40NTY1MDQ4MjE3NzczNDM4XSwgWzE2NjM4NDAzMTMuOTg1MDE5LCAxMDc1NSwgMS4zMzAxNjU1MDU0MDkyNDA3XSwgWzE2NjM4NDAzMTQuMjY5OTA2OCwgMTA3ODIsIDEuMDUyMzAyNTk4OTUzMjQ3XSwgWzE2NjM4NDAzMTQuMzg0MTc3NywgMTA3OTEsIDEuOTg5Nzk3NDcyOTUzNzk2NF0sIFsxNjYzODQwMzE0LjY4ODIzNjcsIDEwODE4LCAxLjE0MDgyMjY0OTAwMjA3NTJdLCBbMTY2Mzg0MDMxNS4wOTU3NjMyLCAxMDg1NCwgMS4zNDUwNjQxNjMyMDgwMDc4XSwgWzE2NjM4NDAzMTUuMTg3NjU0NSwgMTA4NjMsIDEuNDE2NjE1NDg2MTQ1MDE5NV0sIFsxNjYzODQwMzE1LjI4NTEyODQsIDEwODcyLCAxLjA4NjE0NDgwNDk1NDUyODhdLCBbMTY2Mzg0MDMxNS40OTQxNzYsIDEwODkwLCAxLjE3MjczMzU0NTMwMzM0NDddLCBbMTY2Mzg0MDMxNi4wMDIwMjksIDEwOTI2LCAxLjA0MjgzNzk3NzQwOTM2MjhdLCBbMTY2Mzg0MDMxNi4xNTA5NjI2LCAxMDkzNSwgMS4yNjgyNTIwMTUxMTM4MzA2XSwgWzE2NjM4NDAzMTYuNjIzNTg2NywgMTA5NzEsIDEuMjI3MTg5MzAyNDQ0NDU4XSwgWzE2NjM4NDAzMTcuMjU4NDA4OCwgMTEwMTYsIDEuMDU2MTQxMzc2NDk1MzYxM10sIFsxNjYzODQwMzE3LjUwMzEwNjYsIDExMDM0LCAxLjA0NTAxMDU2NjcxMTQyNThdLCBbMTY2Mzg0MDMxOC4wMDQ5MjMsIDExMDcwLCAwLjkwNjk0ODY4NTY0NjA1NzFdLCBbMTY2Mzg0MDMxOC4zNzE4MTI4LCAxMTA5NywgMS4yMjU0NDk4MDA0OTEzMzNdLCBbMTY2Mzg0MDMxOC40OTQ3NzQsIDExMTA2LCAxLjU0MzQyNDYwNjMyMzI0MjJdLCBbMTY2Mzg0MDMxOS4xMTI0ODYxLCAxMTE1MSwgMS4xMDUxNDMzMDg2Mzk1MjY0XSwgWzE2NjM4NDAzMTkuMzMyMjc0LCAxMTE2OSwgMS4wODk1NDQ0MTU0NzM5MzhdLCBbMTY2Mzg0MDMxOS42OTQwODQ2LCAxMTE5NiwgMC45NzUwMTYyMzYzMDUyMzY4XSwgWzE2NjM4NDAzMTkuODEyNzIyNywgMTEyMDUsIDEuMTQwMjM3MzMxMzkwMzgwOV0sIFsxNjYzODQwMzIwLjA0ODgwNjQsIDExMjIzLCAxLjA2NTYzNjg3MzI0NTIzOTNdLCBbMTY2Mzg0MDMyMC4zODcyMzg3LCAxMTI1MCwgMS4xODUxOTIzNDY1NzI4NzZdLCBbMTY2Mzg0MDMyMC41MDM0OTgsIDExMjU5LCAxLjI4OTcyNzY4NzgzNTY5MzRdLCBbMTY2Mzg0MDMyMC42MjIxMDgsIDExMjY4LCAxLjU2OTMyMzE4MjEwNjAxOF0sIFsxNjYzODQwMzIwLjczNzMwMzUsIDExMjc3LCAxLjAzNDEwNTc3Nzc0MDQ3ODVdLCBbMTY2Mzg0MDMyMC45Nzk1Mjk0LCAxMTI5NSwgMS4wMzQ1OTczOTY4NTA1ODZdLCBbMTY2Mzg0MDMyMS4yNjA0MTc3LCAxMTMxMywgMS4zMzc1NjY5NzE3Nzg4Njk2XSwgWzE2NjM4NDAzMjEuMzg4NzQyLCAxMTMyMiwgMS4wNzg0MzU4OTc4MjcxNDg0XSwgWzE2NjM4NDAzMjEuNzQwNjE0LCAxMTM0OSwgMS4yMjI5OTU0MDA0Mjg3NzJdLCBbMTY2Mzg0MDMyMS44NTAyNjU3LCAxMTM1OCwgMS4yNTM5NDE4OTM1Nzc1NzU3XSwgWzE2NjM4NDAzMjIuNDkyNDc2NSwgMTE0MTIsIDEuMTQyMDMyNTA0MDgxNzI2XSwgWzE2NjM4NDAzMjIuOTA5NDAyOCwgMTE0NDgsIDEuMDYwMzc3MTIwOTcxNjc5N10sIFsxNjYzODQwMzIzLjQzNDU4NzcsIDExNDkzLCAxLjMxOTU0MzgzODUwMDk3NjZdLCBbMTY2Mzg0MDMyMy43NzM0NjMsIDExNTAyLCAxLjQzNDU4OTI2Njc3NzAzODZdLCBbMTY2Mzg0MDMyMy45MTgwODUzLCAxMTUxMSwgMS4zMDAwNDQ4OTQyMTg0NDQ4XSwgWzE2NjM4NDAzMjQuNDQyNjgzNywgMTE1NDcsIDEuNDQ1MzM2Njk5NDg1Nzc4OF0sIFsxNjYzODQwMzI0LjgzMjQ1MDYsIDExNTc0LCAxLjMzMzc0MTMwNzI1ODYwNl0sIFsxNjYzODQwMzI1LjQ2NjY1MjYsIDExNjE5LCAxLjEzMTg4NTg4NjE5MjMyMThdLCBbMTY2Mzg0MDMyNS44NTE1NTkyLCAxMTY0NiwgMS4wNjU4NjM2MDkzMTM5NjQ4XSwgWzE2NjM4NDAzMjYuNDg4ODc2NiwgMTE2OTEsIDEuMTIxMzM0NzkxMTgzNDcxN10sIFsxNjYzODQwMzI2LjU5NjA5MjUsIDExNzAwLCAxLjEwNTU2MjU2NzcxMDg3NjVdLCBbMTY2Mzg0MDMyNi45NDE1ODk0LCAxMTcyNywgMS4wNTY1NTQzMTc0NzQzNjUyXSwgWzE2NjM4NDAzMjcuMzk4NTk0NiwgMTE3NjMsIDEuMDc5ODgyNjIxNzY1MTM2N10sIFsxNjYzODQwMzI3Ljg1NTIwMjIsIDExNzk5LCAxLjM0Nzk5ODE0MjI0MjQzMTZdLCBbMTY2Mzg0MDMyOC40MjIxNjg3LCAxMTg0NCwgMS4yNTA2MjY5MjE2NTM3NDc2XSwgWzE2NjM4NDAzMjkuMDIxNTQ2NiwgMTE4ODksIDAuOTI4NTk4ODIxMTYzMTc3NV0sIFsxNjYzODQwMzI5LjI1ODk3MywgMTE5MDcsIDEuMDcwNDI5NTYzNTIyMzM4OV0sIFsxNjYzODQwMzI5LjYxMDUxMDYsIDExOTM0LCAxLjE2MDk0MTAwNDc1MzExMjhdLCBbMTY2Mzg0MDMyOS43MjMwODg1LCAxMTk0MywgMS4xNTAzOTgwMTU5NzU5NTIxXSwgWzE2NjM4NDAzMjkuOTQ1MDc2LCAxMTk2MSwgMS4zOTA0NzcxODA0ODA5NTddLCBbMTY2Mzg0MDMzMC42MzAwOTQ1LCAxMjAyNCwgMS4xODgxNzE3NDQzNDY2MTg3XSwgWzE2NjM4NDAzMzEuNDkzNjY1NywgMTIxMDUsIDEuMDMzOTkzMzYzMzgwNDMyMV0sIFsxNjYzODQwMzMxLjU5MTc2LCAxMjExNCwgMS4wNzI3NDI3MDA1NzY3ODIyXSwgWzE2NjM4NDAzMzEuODc4OTAxMiwgMTIxNDEsIDEuMTcyOTM1NDg1ODM5ODQzOF0sIFsxNjYzODQwMzMyLjE1ODQ0MjMsIDEyMTY4LCAxLjE5OTY1NjcyNDkyOTgwOTZdLCBbMTY2Mzg0MDMzMi4yNTQxMTM3LCAxMjE3NywgMS4yODA5MDQ1MzE0Nzg4ODE4XSwgWzE2NjM4NDAzMzIuNDQwODU4NCwgMTIxOTUsIDEuMDAzODUwODE3NjgwMzU4OV0sIFsxNjYzODQwMzMyLjgyOTkwMzYsIDEyMjMxLCAwLjk0Mzg5NDQ0NTg5NjE0ODddLCBbMTY2Mzg0MDMzMy4wMjM5MzU4LCAxMjI0OSwgMS4wNzU4NDk0MTM4NzE3NjUxXSwgWzE2NjM4NDAzMzMuNjEwNTcyNiwgMTIyODUsIDEuMDU5ODA4MDE1ODIzMzY0M10sIFsxNjYzODQwMzMzLjcxMDUxNiwgMTIyOTQsIDEuNDI3MTMxNTMzNjIyNzQxN10sIFsxNjYzODQwMzMzLjgxNzkyOSwgMTIzMDMsIDEuMjMxNjc5OTE2MzgxODM2XSwgWzE2NjM4NDAzMzMuOTE2OTkwNSwgMTIzMTIsIDEuMjAwNTc2NTQzODA3OTgzNF0sIFsxNjYzODQwMzM0LjAwODk1MDUsIDEyMzIxLCAxLjA3MzMzNjk1ODg4NTE5MjldLCBbMTY2Mzg0MDMzNC42OTM0MDE4LCAxMjM4NCwgMS4zMjkzMTc5MjczNjA1MzQ3XSwgWzE2NjM4NDAzMzQuNzg4MzUxNSwgMTIzOTMsIDEuMjMxNzczOTcyNTExMjkxNV0sIFsxNjYzODQwMzM1LjIyMjg2ODIsIDEyNDI5LCAxLjA5MDI4MjA4MjU1NzY3ODJdLCBbMTY2Mzg0MDMzNS43MjE0OTY4LCAxMjQ3NCwgMS4xMTIwNzk3Mzk1NzA2MTc3XSwgWzE2NjM4NDAzMzUuODI3Mjc0LCAxMjQ4MywgMS4zMTMwMTIzNjE1MjY0ODkzXSwgWzE2NjM4NDAzMzYuMjczMzgyMiwgMTI1MTksIDEuNDMxMjQyMjI3NTU0MzIxM10sIFsxNjYzODQwMzM2LjU3MDg0MSwgMTI1NDYsIDEuMTM1NDc5MjExODA3MjUxXSwgWzE2NjM4NDAzMzcuMDAyMzE2LCAxMjU4MiwgMS4wNjMyMjQzMTU2NDMzMTA1XSwgWzE2NjM4NDAzMzkuMDM3ODg3OCwgMTI3NjIsIDEuNDEwNTgyNDIzMjEwMTQ0XSwgWzE2NjM4NDAzMzkuNTA0ODcwNywgMTI3OTgsIDEuMTkxODE1NjE0NzAwMzE3NF0sIFsxNjYzODQwMzQwLjcyODgxODcsIDEyODg4LCAxLjAzNTY0OTY1NzI0OTQ1MDddLCBbMTY2Mzg0MDM0MC44NDE2MjgzLCAxMjg5NywgMS4wOTA2MjcxOTM0NTA5Mjc3XSwgWzE2NjM4NDAzNDEuMzAwNzE2LCAxMjkzMywgMC45NTcyMjA3MzMxNjU3NDFdLCBbMTY2Mzg0MDM0MS41Mjc4MTQsIDEyOTUxLCAxLjI4NjI3OTc5NzU1NDAxNjFdLCBbMTY2Mzg0MDM0MS42MzYyODgyLCAxMjk2MCwgMC45MzgwMDU0NDczODc2OTUzXSwgWzE2NjM4NDAzNDEuNzUyNDMyOCwgMTI5NjksIDEuMDEwNjQ3MDU4NDg2OTM4NV0sIFsxNjYzODQwMzQxLjg2NDE5MTMsIDEyOTc4LCAxLjA2OTYwMzA4NTUxNzg4MzNdLCBbMTY2Mzg0MDM0Mi40MzU1NDA3LCAxMzAwNSwgMS4wMjY0NDU4NjU2MzExMDM1XSwgWzE2NjM4NDAzNDIuNzA5ODU3NywgMTMwMzIsIDEuMTA4NTM3MTk3MTEzMDM3XSwgWzE2NjM4NDAzNDIuODk1NDM2NSwgMTMwNTAsIDEuMDU3MDkwMDQ0MDIxNjA2NF0sIFsxNjYzODQwMzQzLjA3ODA1MjUsIDEzMDY4LCAxLjAxNjkwMDQyMDE4ODkwMzhdLCBbMTY2Mzg0MDM0My4xNjYzODE2LCAxMzA3NywgMS4wNjkwMzM2MjI3NDE2OTkyXSwgWzE2NjM4NDAzNDMuMzU4NDQ3NiwgMTMwOTUsIDEuMTE5OTUxNDg2NTg3NTI0NF0sIFsxNjYzODQwMzQzLjQ0ODAwNDcsIDEzMTA0LCAxLjEyNzQzODA2ODM4OTg5MjZdLCBbMTY2Mzg0MDM0My42Mjc1MTgsIDEzMTIyLCAxLjAwOTYzOTI2MzE1MzA3NjJdLCBbMTY2Mzg0MDM0My43NTYzODksIDEzMTMxLCAxLjA3NDQ4MDA1Njc2MjY5NTNdLCBbMTY2Mzg0MDM0My45Nzk5ODI5LCAxMzE0OSwgMS4wNTgyNzM1NTM4NDgyNjY2XSwgWzE2NjM4NDAzNDQuMDk3OTIyOCwgMTMxNTgsIDEuMDk1NjI1ODc3MzgwMzcxXSwgWzE2NjM4NDAzNDQuMzMzNjEsIDEzMTc2LCAxLjI0NDUxNTI5OTc5NzA1OF0sIFsxNjYzODQwMzQ1LjI3MDE4MTcsIDEzMjM5LCAxLjIwNDQ4MzE1MTQzNTg1Ml0sIFsxNjYzODQwMzQ1LjYxNDkyNjMsIDEzMjY2LCAwLjk2NDY0MTY5MDI1NDIxMTRdLCBbMTY2Mzg0MDM0NS43MzIwNTk1LCAxMzI3NSwgMS4xMDY2MjE5ODA2NjcxMTQzXSwgWzE2NjM4NDAzNDUuOTYxOTg5NCwgMTMyOTMsIDEuMjExODg0MjYwMTc3NjEyM10sIFsxNjYzODQwMzQ2LjgwMjI1NDcsIDEzMzU2LCAwLjk1NzA4NTM3MTAxNzQ1Nl0sIFsxNjYzODQwMzQ3LjI4NTYyNDMsIDEzMzkyLCAxLjAxNzMzNjg0NTM5Nzk0OTJdLCBbMTY2Mzg0MDM0Ny42NDU2ODU0LCAxMzQxOSwgMS4xMTI0MzEyODc3NjU1MDNdLCBbMTY2Mzg0MDM0Ny45OTcxOTQsIDEzNDQ2LCAxLjEyOTQ4NDE3NjYzNTc0MjJdLCBbMTY2Mzg0MDM0OC4xMTE2MTgzLCAxMzQ1NSwgMS4wODk1NTc1Mjg0OTU3ODg2XSwgWzE2NjM4NDAzNDguNTY0MDEzMiwgMTM0OTEsIDEuMDc4MDE4MTg4NDc2NTYyNV0sIFsxNjYzODQwMzQ4LjY4NDQzMzIsIDEzNTAwLCAxLjA3MDQ4MzQ0NjEyMTIxNThdLCBbMTY2Mzg0MDM0OS4wMzM1Nzg2LCAxMzUyNywgMC45MzkwMzY0ODg1MzMwMl0sIFsxNjYzODQwMzQ5LjcyNDE3NDMsIDEzNTkwLCAxLjE3NTkzMjY0NTc5NzcyOTVdLCBbMTY2Mzg0MDM0OS44Mzc2OTIzLCAxMzU5OSwgMS42NzE5NzI4NzA4MjY3MjEyXSwgWzE2NjM4NDAzNDkuOTQyODY1OCwgMTM2MDgsIDEuMzE3MjU3NjQyNzQ1OTcxN10sIFsxNjYzODQwMzUwLjE3NjIwNjgsIDEzNjI2LCAxLjAyMzYxMjAyMjM5OTkwMjNdLCBbMTY2Mzg0MDM1MC4zNzU4OTcyLCAxMzY0NCwgMS4wMTQyMDkwMzIwNTg3MTU4XSwgWzE2NjM4NDAzNTAuNDc1OTU2NCwgMTM2NTMsIDAuOTk2NDc2NjUwMjM4MDM3MV0sIFsxNjYzODQwMzUxLjMxNTgyODgsIDEzNzE2LCAxLjA0NjAwNzg3MTYyNzgwNzZdLCBbMTY2Mzg0MDM1Mi4wMTUwNDM3LCAxMzc2MSwgMS4yMTY3MDQ0ODc4MDA1OTgxXSwgWzE2NjM4NDAzNTIuODcxMDU2NiwgMTM4MTUsIDEuMDUxODg2MDgxNjk1NTU2Nl0sIFsxNjYzODQwMzUzLjE3OTEwNjUsIDEzODQyLCAxLjA3NTI5NDk3MTQ2NjA2NDVdLCBbMTY2Mzg0MDM1My4yNzIyMzI1LCAxMzg1MSwgMC45OTQyMTIzODg5OTIzMDk2XSwgWzE2NjM4NDAzNTMuNTcwMTU1OSwgMTM4NzgsIDEuNDQzODc0ODM1OTY4MDE3Nl0sIFsxNjYzODQwMzU0LjIzOTc2NTIsIDEzOTQxLCAxLjA3MjIzNjUzNzkzMzM0OTZdLCBbMTY2Mzg0MDM1NC41MTI3NzExLCAxMzk2OCwgMS4xNzk2NTc5MzYwOTYxOTE0XSwgWzE2NjM4NDAzNTQuNjAzNjk4LCAxMzk3NywgMC45NTkxMjA4Njk2MzY1MzU2XSwgWzE2NjM4NDAzNTQuNzA0MzUwMiwgMTM5ODYsIDEuMDQ5NTA3MTQxMTEzMjgxMl0sIFsxNjYzODQwMzU1LjU2NTc1MzcsIDE0MDY3LCAwLjk0NzE5NjQyNDAwNzQxNThdLCBbMTY2Mzg0MDM1NS44Mzk2ODIsIDE0MDk0LCAxLjIxMTA2NzU1NzMzNDldLCBbMTY2Mzg0MDM1NS45MzM0MiwgMTQxMDMsIDAuOTMwMDg5MDU2NDkxODUxOF0sIFsxNjYzODQwMzU2LjE3NDAyMjcsIDE0MTIxLCAxLjAwNDczNzI1Nzk1NzQ1ODVdLCBbMTY2Mzg0MDM1Ni40NDE0NiwgMTQxMzksIDEuMTM2ODczMDA2ODIwNjc4N10sIFsxNjYzODQwMzU2LjU2NjkxODEsIDE0MTQ4LCAxLjAwNzIxOTMxNDU3NTE5NTNdLCBbMTY2Mzg0MDM1Ni43MTA3OTQ0LCAxNDE1NywgMC45NTg2NjI2ODg3MzIxNDcyXSwgWzE2NjM4NDAzNTYuODQwNTQxLCAxNDE2NiwgMS4yMzkyMjM0ODAyMjQ2MDk0XSwgWzE2NjM4NDAzNTcuMjMwNjczNiwgMTQxOTMsIDAuOTY2NjY1NDQ2NzU4MjcwM10sIFsxNjYzODQwMzU3Ljc1ODQyNywgMTQyMjksIDEuMDQ4OTczMDgzNDk2MDkzOF0sIFsxNjYzODQwMzU3Ljg5Mjc2NTUsIDE0MjM4LCAxLjM2MTUzNDIzNzg2MTYzMzNdLCBbMTY2Mzg0MDM1OC4wMTMxMzY0LCAxNDI0NywgMS4wMTUyMzc0NTA1OTk2NzA0XSwgWzE2NjM4NDAzNTguNDA4NTQ3MiwgMTQyNzQsIDEuMTM2NzE3Njc3MTE2Mzk0XSwgWzE2NjM4NDAzNTguOTg1NTY3MywgMTQzMTksIDAuOTY4NjQ1MTU1NDI5ODQwMV0sIFsxNjYzODQwMzU5LjUwNDM3ODMsIDE0MzY0LCAxLjE1NDM5MzE5NjEwNTk1N10sIFsxNjYzODQwMzU5LjYyMjA0MzgsIDE0MzczLCAxLjEwMzEzNTU4NTc4NDkxMl0sIFsxNjYzODQwMzU5LjczMjQ5NjUsIDE0MzgyLCAxLjI0MzM1MDAyODk5MTY5OTJdLCBbMTY2Mzg0MDM2MC4yNDEyNDUsIDE0NDE4LCAxLjUxMjc0MDEzNTE5Mjg3MV0sIFsxNjYzODQwMzYwLjM3ODkxNDQsIDE0NDI3LCAxLjU3MTE0NDkzODQ2ODkzM10sIFsxNjYzODQwMzYwLjUwODM1MTgsIDE0NDM2LCAxLjE3OTQ4MTAyOTUxMDQ5OF0sIFsxNjYzODQwMzYxLjQ4NDk5MjMsIDE0NTA4LCAxLjA5NDQ0NTEwOTM2NzM3MDZdLCBbMTY2Mzg0MDM2MS44NDI4OTU1LCAxNDUzNSwgMS4zMDYyMTI1NDQ0NDEyMjMxXSwgWzE2NjM4NDAzNjIuMDg0NDg4NiwgMTQ1NTMsIDEuMDQwNjM2MzAxMDQwNjQ5NF0sIFsxNjYzODQwMzYzLjA0MjQyMTYsIDE0NjA3LCAxLjE2MDUwODg3MTA3ODQ5MTJdLCBbMTY2Mzg0MDM2My4yNTAxMTI4LCAxNDYyNSwgMS41NjQ4MDU4NjUyODc3ODA4XSwgWzE2NjM4NDAzNjMuNjQxOTI4MiwgMTQ2NTIsIDEuMTA4NTYyODI3MTEwMjkwNV0sIFsxNjYzODQwMzY0LjEwNzM5ODUsIDE0Njg4LCAwLjk1Mjc2OTIxOTg3NTMzNTddLCBbMTY2Mzg0MDM2NC40OTkxODA2LCAxNDcyNCwgMS4wNjA0NTIzNDIwMzMzODYyXSwgWzE2NjM4NDAzNjQuNjkyNzAxMywgMTQ3NDIsIDEuMDI4NDM4NTY4MTE1MjM0NF0sIFsxNjYzODQwMzY1LjAwOTE0MjksIDE0NzY5LCAxLjU3MDc3NDkxMjgzNDE2NzVdLCBbMTY2Mzg0MDM2NS4xMDU4MjUsIDE0Nzc4LCAwLjk4Nzg1NjMyODQ4NzM5NjJdLCBbMTY2Mzg0MDM2NS41NTkwMjMsIDE0ODIzLCAxLjI1MzUzNTE1MTQ4MTYyODRdLCBbMTY2Mzg0MDM2NS42NzI0MDIsIDE0ODMyLCAxLjA5ODc0MTA1NDUzNDkxMl0sIFsxNjYzODQwMzY2LjA1NDg4NywgMTQ4NjgsIDEuMzU2OTQyODkyMDc0NTg1XSwgWzE2NjM4NDAzNjYuMTUyMTQxNiwgMTQ4NzcsIDEuMTgwOTYyOTIwMTg4OTAzOF0sIFsxNjYzODQwMzY2LjI1NDYyMTcsIDE0ODg2LCAxLjI2NDM4MDU3NDIyNjM3OTRdLCBbMTY2Mzg0MDM2Ni4zNDE0NzQsIDE0ODk1LCAxLjA5MDU1ODg4NjUyODAxNTFdLCBbMTY2Mzg0MDM2Ni41MjI5MzkyLCAxNDkxMywgMS4wNzg1MDI2NTUwMjkyOTY5XSwgWzE2NjM4NDAzNjYuNzAzODA0NSwgMTQ5MzEsIDEuMjIxNjc5NDQ5MDgxNDIxXSwgWzE2NjM4NDAzNjcuMDg5MDA2MiwgMTQ5NjcsIDEuMTkxNjcxNDkwNjY5MjUwNV0sIFsxNjYzODQwMzY3LjI5ODg5NjYsIDE0OTg1LCAxLjE1NjY3MTA0NzIxMDY5MzRdLCBbMTY2Mzg0MDM2Ny40ODI2MDgsIDE1MDAzLCAxLjE1NTc3MDg5Nzg2NTI5NTRdLCBbMTY2Mzg0MDM2Ny43NzQyNDA3LCAxNTAzMCwgMS4zNzIzNDYyODIwMDUzMV0sIFsxNjYzODQwMzY3Ljg2Mzc3MiwgMTUwMzksIDEuMjMwMDIzMDI2NDY2MzY5Nl0sIFsxNjYzODQwMzY4LjM3NDkzMTYsIDE1MDc1LCAxLjIzNzgyOTgwNDQyMDQ3MTJdLCBbMTY2Mzg0MDM2OC43NDgzNDg1LCAxNTEwMiwgMS4wMDE2OTI4OTExMjA5MTA2XSwgWzE2NjM4NDAzNjguOTcyNDc1LCAxNTEyMCwgMS4wNTgzNzk2NTAxMTU5NjY4XSwgWzE2NjM4NDAzNjkuMDk3OTE4MywgMTUxMjksIDEuMjI4ODE0MDA1ODUxNzQ1Nl0sIFsxNjYzODQwMzY5LjMyMjI4MzUsIDE1MTQ3LCAxLjA1Mzk0NTc3OTgwMDQxNV0sIFsxNjYzODQwMzY5LjY0NzkyNCwgMTUxNzQsIDEuMDU4ODMwNDk5NjQ5MDQ3OV0sIFsxNjYzODQwMzY5Ljc1NDA2OCwgMTUxODMsIDAuOTYzNDQ3MjEzMTcyOTEyNl0sIFsxNjYzODQwMzY5Ljg1OTE3MzMsIDE1MTkyLCAxLjEwMjU3NTE4MjkxNDczMzldLCBbMTY2Mzg0MDM2OS45Nzg1MTI1LCAxNTIwMSwgMS4wMTY2Nzk2NDQ1ODQ2NTU4XSwgWzE2NjM4NDAzNzAuNTkyODU4NiwgMTUyNDYsIDEuNDE2MjAwOTk1NDQ1MjUxNV0sIFsxNjYzODQwMzcwLjcyMjQ4NywgMTUyNTUsIDAuOTYyNzAxNjc4Mjc2MDYyXSwgWzE2NjM4NDAzNzAuODQxNzIxLCAxNTI2NCwgMC45OTU4NjkwNDA0ODkxOTY4XSwgWzE2NjM4NDAzNzEuMjgwNjc1LCAxNTMwMCwgMS4wNTI4MTgwNTk5MjEyNjQ2XSwgWzE2NjM4NDAzNzEuODY1MTE2NiwgMTUzMjcsIDEuMDQ1MzQ1MTg3MTg3MTk0OF0sIFsxNjYzODQwMzcyLjExMDA5NjIsIDE1MzQ1LCAxLjA3NzM5NjM5MjgyMjI2NTZdLCBbMTY2Mzg0MDM3Mi40MTczNzAzLCAxNTM3MiwgMS4wNDcxNjQ2Nzg1NzM2MDg0XSwgWzE2NjM4NDAzNzIuNjM0OTQ1OSwgMTUzOTAsIDEuMzQ1MjU1MDE3MjgwNTc4Nl0sIFsxNjYzODQwMzcyLjc1ODYzMTcsIDE1Mzk5LCAxLjE5NDY5NDUxOTA0Mjk2ODhdLCBbMTY2Mzg0MDM3Mi45MDE5NTg3LCAxNTQwOCwgMS4wMzM0OTUwNjg1NTAxMDk5XSwgWzE2NjM4NDAzNzMuMDIwMDcyNywgMTU0MTcsIDEuMTczMzkyNDE1MDQ2NjkyXSwgWzE2NjM4NDAzNzMuNzI5MTM4NiwgMTU0NzEsIDEuNjIzNDQxMTAwMTIwNTQ0NF0sIFsxNjYzODQwMzc0LjE4NDk1MjMsIDE1NTA3LCAxLjAyOTgzNzEzMTUwMDI0NDFdLCBbMTY2Mzg0MDM3NC4yOTk3NTI1LCAxNTUxNiwgMS4zMDc0NTc1NjYyNjEyOTE1XSwgWzE2NjM4NDAzNzQuNDAzNjgxNSwgMTU1MjUsIDEuMTM3NTk2OTY0ODM2MTIwNl0sIFsxNjYzODQwMzc0LjUxMTEwODQsIDE1NTM0LCAxLjgzMTU0MTE4MDYxMDY1NjddLCBbMTY2Mzg0MDM3NS4wMTA0Nzk1LCAxNTU3OSwgMS4wOTY3ODA3NzY5Nzc1MzldLCBbMTY2Mzg0MDM3NS44MjM5MTg4LCAxNTY1MSwgMS4yODA0NjEwNzI5MjE3NTNdLCBbMTY2Mzg0MDM3NS45MTczMTIxLCAxNTY2MCwgMS4xMzM1MTUyMzg3NjE5MDE5XSwgWzE2NjM4NDAzNzYuMzM4ODIwNywgMTU2OTYsIDEuMzM2MTE2NzkwNzcxNDg0NF0sIFsxNjYzODQwMzc2LjU1NzU3NiwgMTU3MTQsIDEuMDMwOTQ1NjU4NjgzNzc2OV0sIFsxNjYzODQwMzc2Ljg2OTE4NzgsIDE1NzQxLCAxLjI5Nzc4NjM1NTAxODYxNTddLCBbMTY2Mzg0MDM3Ny4wNTQxODEsIDE1NzU5LCAxLjM3Njg0MDM1MzAxMjA4NV0sIFsxNjYzODQwMzc3LjE2OTU5MDUsIDE1NzY4LCAxLjAxMDA1MjA4NDkyMjc5MDVdLCBbMTY2Mzg0MDM3Ny4zNzUxOTU1LCAxNTc4NiwgMS4yNjI2NjgwMTM1NzI2OTI5XSwgWzE2NjM4NDAzNzcuNDY0MTA3LCAxNTc5NSwgMC45ODI3NTcyMTA3MzE1MDYzXSwgWzE2NjM4NDAzNzcuNzk0MzI4NywgMTU4MjIsIDEuMTcxNjY5NzIxNjAzMzkzNl0sIFsxNjYzODQwMzc4LjI2NzQ1MiwgMTU4NjcsIDEuMDA0NTczMzQ1MTg0MzI2Ml0sIFsxNjYzODQwMzc4LjM3MTQxOTIsIDE1ODc2LCAxLjIwOTIyNDcwMDkyNzczNDRdLCBbMTY2Mzg0MDM3OC41NjEwNTA0LCAxNTg5NCwgMS4wNTgxNTAwNTMwMjQyOTJdLCBbMTY2Mzg0MDM3OC44NTM0NTI3LCAxNTkyMSwgMS4xMTIyNDMxNzU1MDY1OTE4XSwgWzE2NjM4NDAzNzkuNTI0ODI2NSwgMTU5ODQsIDEuMDA3MTQ0OTI3OTc4NTE1Nl0sIFsxNjYzODQwMzc5LjYyMDgzNDQsIDE1OTkzLCAxLjI1NzE5Nzg1NjkwMzA3NjJdLCBbMTY2Mzg0MDM3OS43MjU2NjYzLCAxNjAwMiwgMS4yNjM2MzM3MjgwMjczNDM4XSwgWzE2NjM4NDAzODAuMjEyMzc1NCwgMTYwMjksIDEuMDMwMTg4NDQxMjc2NTUwM10sIFsxNjYzODQwMzgwLjYwNTIyNTgsIDE2MDY1LCAxLjI0NjE5NDcyMDI2ODI0OTVdLCBbMTY2Mzg0MDM4MC43MDA4MzYsIDE2MDc0LCAxLjE4ODk5MDExNjExOTM4NDhdLCBbMTY2Mzg0MDM4MC44MTE0NzE1LCAxNjA4MywgMC45MjIxMDk2NjM0ODY0ODA3XSwgWzE2NjM4NDAzODEuMTYxNTE4LCAxNjExMCwgMS4xNjI3Njk2NzUyNTQ4MjE4XSwgWzE2NjM4NDAzODEuMjYwNzE3MiwgMTYxMTksIDEuMTEwMzcyMzA0OTE2MzgxOF0sIFsxNjYzODQwMzgxLjQ1MzIxMDYsIDE2MTM3LCAxLjE3MDEyMTc4ODk3ODU3NjddLCBbMTY2Mzg0MDM4MS42NTYzNjIzLCAxNjE1NSwgMS4xNzU0Njk2MzY5MTcxMTQzXSwgWzE2NjM4NDAzODEuODY4ODYwNywgMTYxNzMsIDEuMTY2Njg2NDE1NjcyMzAyMl0sIFsxNjYzODQwMzgyLjMxMjg3NzQsIDE2MjA5LCAxLjcwODczNzAxNTcyNDE4MjFdLCBbMTY2Mzg0MDM4Mi41MzA0ODM1LCAxNjIyNywgMS4yNDg4NTgwOTQyMTUzOTNdLCBbMTY2Mzg0MDM4My4yMzE2NzY2LCAxNjI4MSwgMS4wNDkwMDg2MDc4NjQzNzk5XSwgWzE2NjM4NDAzODMuNDg1NDg1MywgMTYyOTksIDEuMjA2Mzg1MTM1NjUwNjM0OF0sIFsxNjYzODQwMzgzLjk0NDM0MDUsIDE2MzM1LCAxLjAzNjY3NzU5ODk1MzI0N10sIFsxNjYzODQwMzg0LjQ1OTg3NTgsIDE2MzgwLCAxLjEyNzgyNzE2NzUxMDk4NjNdLCBbMTY2Mzg0MDM4NC44NjU2ODgsIDE2NDE2LCAwLjk3OTUxNzE2MTg0NjE2MDldLCBbMTY2Mzg0MDM4NS4yNzk3OTg3LCAxNjQ0MywgMS4xMDYxMzkxODMwNDQ0MzM2XSwgWzE2NjM4NDAzODUuNDQzNTg2OCwgMTY0NTIsIDEuMDYxNTI0NjI5NTkyODk1NV0sIFsxNjYzODQwMzg1LjY5MzgzMjYsIDE2NDcwLCAwLjk0NTM3MjQwMjY2Nzk5OTNdLCBbMTY2Mzg0MDM4NS44MTA0OTMsIDE2NDc5LCAwLjk4MDIzNDg2MTM3MzkwMTRdLCBbMTY2Mzg0MDM4Ni4wMzM5MjAzLCAxNjQ5NywgMS4wNTMxODEwNTIyMDc5NDY4XSwgWzE2NjM4NDAzODYuMTY2Mjk5MywgMTY1MDYsIDAuOTkyMzA1NTc2ODAxM10sIFsxNjYzODQwMzg2LjI3OTcwOCwgMTY1MTUsIDEuMTQ2NjIzNjExNDUwMTk1M10sIFsxNjYzODQwMzg2LjUwODA1MSwgMTY1MzMsIDEuMDc3NTYzMDQ3NDA5MDU3Nl0sIFsxNjYzODQwMzg2LjYxOTcxMTQsIDE2NTQyLCAxLjI1NTE1ODQyNDM3NzQ0MTRdLCBbMTY2Mzg0MDM4Ni43MjU0MDYsIDE2NTUxLCAxLjIzNzI2NDYzMzE3ODcxMV0sIFsxNjYzODQwMzg3LjUxMzU1LCAxNjYxNCwgMS4zMzE0MjEyNTYwNjUzNjg3XSwgWzE2NjM4NDAzODcuNjE1NTc4NywgMTY2MjMsIDAuOTIyMDU4NTIyNzAxMjYzNF0sIFsxNjYzODQwMzg3LjcyMjg4MywgMTY2MzIsIDAuOTgwMjY1Mzc4OTUyMDI2NF0sIFsxNjYzODQwMzg3LjgyNzQ2NzQsIDE2NjQxLCAxLjI0NTE5NzI5NjE0MjU3ODFdLCBbMTY2Mzg0MDM4OC40MDcyMTYsIDE2NjY4LCAxLjMwMDA4NzA5NDMwNjk0NThdLCBbMTY2Mzg0MDM4OS41NTUzOTMyLCAxNjc0OSwgMC45NTI4Njg3NTk2MzIxMTA2XSwgWzE2NjM4NDAzOTAuMTA4NzUxOCwgMTY3OTQsIDAuOTI0MzQ2MjY4MTc3MDMyNV0sIFsxNjYzODQwMzkwLjIyMjE2NjUsIDE2ODAzLCAxLjE0OTIxOTE1NTMxMTU4NDVdLCBbMTY2Mzg0MDM5MC4zNDE3MjY4LCAxNjgxMiwgMC45MzUyODY0MDI3MDIzMzE1XSwgWzE2NjM4NDAzOTAuNzY4MjMzLCAxNjg0OCwgMS4wOTcyMjkzNjE1MzQxMTg3XSwgWzE2NjM4NDAzOTAuODY5ODkxLCAxNjg1NywgMS4wMDAyMTU4ODgwMjMzNzY1XSwgWzE2NjM4NDAzOTEuMDY1NjM5NSwgMTY4NzUsIDEuMTMwNDQ1NTk5NTU1OTY5Ml0sIFsxNjYzODQwMzkxLjM4MDE1OTEsIDE2OTAyLCAwLjk3NzgxMzI0Mzg2NTk2NjhdLCBbMTY2Mzg0MDM5MS42NjY0NTIsIDE2OTI5LCAxLjEyNTMyMjkzNzk2NTM5M10sIFsxNjYzODQwMzkxLjkzOTIxNjksIDE2OTU2LCAxLjAzODYzNjQ0NTk5OTE0NTVdLCBbMTY2Mzg0MDM5Mi4wMzY5MDgxLCAxNjk2NSwgMS40NTM1NjYzMTI3ODk5MTddLCBbMTY2Mzg0MDM5Mi4yMTkzMzYzLCAxNjk4MywgMS4zMjY3MTExNzc4MjU5Mjc3XSwgWzE2NjM4NDAzOTIuNDAxNjA4NSwgMTcwMDEsIDEuNDU4NTM3Njk3NzkyMDUzMl0sIFsxNjYzODQwMzkyLjYwNzYzNTMsIDE3MDE5LCAxLjEzMzQ5NTY4ODQzODQxNTVdLCBbMTY2Mzg0MDM5My4xNDk2Nzg3LCAxNzA2NCwgMS4zNjY1MTQ0NDQzNTExOTYzXSwgWzE2NjM4NDAzOTMuNzA3MTMxMSwgMTcxMDAsIDEuMDAyNDQ1NDU5MzY1ODQ0N10sIFsxNjYzODQwMzk0LjA0NzM5NiwgMTcxMjcsIDAuOTg1NzY2OTQ3MjY5NDM5N10sIFsxNjYzODQwMzk0LjQ1NDg0NDIsIDE3MTYzLCAxLjIzNTMxNjE1NzM0MTAwMzRdLCBbMTY2Mzg0MDM5NC42NTc5MjQ0LCAxNzE4MSwgMS4wMTEzNTk1NzI0MTA1ODM1XSwgWzE2NjM4NDAzOTQuNzUwMjk1NCwgMTcxOTAsIDAuOTMwNTI4ODE5NTYxMDA0Nl0sIFsxNjYzODQwMzk0Ljg0OTU3MzYsIDE3MTk5LCAxLjMwNDEzNjk5MTUwMDg1NDVdLCBbMTY2Mzg0MDM5NS4xMzE0MjY2LCAxNzIyNiwgMS4yMDM0NjY0MTU0MDUyNzM0XSwgWzE2NjM4NDAzOTUuNjA5NDE5NiwgMTcyNzEsIDEuMTgyMTM5NTE1ODc2NzddLCBbMTY2Mzg0MDM5Ni4xNzk0NzkxLCAxNzMyNSwgMS4wNjE2NDUwMzA5NzUzNDE4XSwgWzE2NjM4NDAzOTYuMjcyMjg1LCAxNzMzNCwgMS4wNTI4ODM4NjM0NDkwOTY3XSwgWzE2NjM4NDAzOTYuMzYyNzQ1NSwgMTczNDMsIDEuMDUyNDIzMTE5NTQ0OTgzXSwgWzE2NjM4NDAzOTYuNjUyMDE4LCAxNzM3MCwgMS4wODkxNTU0MzU1NjIxMzM4XSwgWzE2NjM4NDAzOTYuOTMzNDM2LCAxNzM5NywgMS4wNjc2OTcyODY2MDU4MzVdLCBbMTY2Mzg0MDM5Ny40MzExNTk1LCAxNzQyNCwgMS4xMTgxMjM3Njk3NjAxMzE4XSwgWzE2NjM4NDAzOTcuNTE4NjY2MywgMTc0MzMsIDAuOTMyMjMzNTEyNDAxNTgwOF0sIFsxNjYzODQwMzk3Ljg5NjcyNjYsIDE3NDY5LCAxLjExMDI4NDgwNTI5Nzg1MTZdLCBbMTY2Mzg0MDM5Ny45ODkzMDM2LCAxNzQ3OCwgMS4xMDA2MDI1MDc1OTEyNDc2XSwgWzE2NjM4NDAzOTguMDgxMDAzNywgMTc0ODcsIDEuMTE3NjEzNzkyNDE5NDMzNl0sIFsxNjYzODQwMzk4LjQyODQwOTYsIDE3NTE0LCAxLjAzNzc0NDUyMjA5NDcyNjZdLCBbMTY2Mzg0MDM5OC42ODU5MjEsIDE3NTMyLCAxLjAyNzA4MzYzNTMzMDIwMDJdLCBbMTY2Mzg0MDM5OS4wMDY4NTg2LCAxNzU1OSwgMS4zNjc2MDMxODI3OTI2NjM2XSwgWzE2NjM4NDAzOTkuMzA2OTU0LCAxNzU4NiwgMS4yNDMzNzcwODk1MDA0MjcyXSwgWzE2NjM4NDAzOTkuNTk2NzcyNCwgMTc2MTMsIDEuMDkzNjQ2NDA3MTI3MzgwNF0sIFsxNjYzODQwMzk5Ljk5MDc2MSwgMTc2NDksIDEuMTQyMzI3MzA4NjU0Nzg1Ml0sIFsxNjYzODQwNDAwLjA5NjcyMTYsIDE3NjU4LCAxLjExNTIzMjk0NDQ4ODUyNTRdLCBbMTY2Mzg0MDQwMC4xOTY4MTYyLCAxNzY2NywgMS41OTc2NDY3MTMyNTY4MzZdLCBbMTY2Mzg0MDQwMC4yOTE4NTM0LCAxNzY3NiwgMS4wODY1MzQwMjMyODQ5MTJdLCBbMTY2Mzg0MDQwMC4zOTgyNTE4LCAxNzY4NSwgMS4xNjczMjkxOTIxNjE1Nl0sIFsxNjYzODQwNDAwLjYwMDE4NSwgMTc3MDMsIDEuMTM0MTAyNzAyMTQwODA4XSwgWzE2NjM4NDA0MDAuNjkwODIxMiwgMTc3MTIsIDEuMTQ1NDExMTMzNzY2MTc0M10sIFsxNjYzODQwNDAwLjc4NzczMDcsIDE3NzIxLCAxLjA1NDc0MjY5MzkwMTA2Ml0sIFsxNjYzODQwNDAwLjg3NzgyODYsIDE3NzMwLCAwLjk5MTgwNTEzNjIwMzc2NTldLCBbMTY2Mzg0MDQwMS42NjE3MjM5LCAxNzgwMiwgMS4wMzEzMTIyMjcyNDkxNDU1XSwgWzE2NjM4NDA0MDEuODYxNzE0OCwgMTc4MjAsIDEuMTA3MDYzODg5NTAzNDc5XSwgWzE2NjM4NDA0MDEuOTY4OTc3LCAxNzgyOSwgMS4wOTMwNDI5Njk3MDM2NzQzXSwgWzE2NjM4NDA0MDIuMDY1ODUsIDE3ODM4LCAxLjE1NDg0MjYxNTEyNzU2MzVdLCBbMTY2Mzg0MDQwMi4xNjI4MTM3LCAxNzg0NywgMS4wMzk4NDIwMDk1NDQzNzI2XSwgWzE2NjM4NDA0MDIuNDQ3Mjc4NSwgMTc4NzQsIDEuMjY3OTI5NjczMTk0ODg1M10sIFsxNjYzODQwNDAyLjY1MDQ5MTIsIDE3ODkyLCAwLjk4Mjc5NTgzNDU0MTMyMDhdLCBbMTY2Mzg0MDQwMi43Mzc0NDA4LCAxNzkwMSwgMS4wMzAzMDg4NDI2NTg5OTY2XSwgWzE2NjM4NDA0MDMuMDIxMzc4OCwgMTc5MjgsIDEuMDk3MTA1OTc5OTE5NDMzNl0sIFsxNjYzODQwNDAzLjEzMDM5MjMsIDE3OTM3LCAxLjQxODc2NDk0ODg0NDkwOTddLCBbMTY2Mzg0MDQwNS42NzM0OTY1LCAxODE1MywgMC45NDEzMDM0OTE1OTI0MDcyXSwgWzE2NjM4NDA0MDUuNzU3ODMyLCAxODE2MiwgMS40MDc1NjI3MzI2OTY1MzMyXSwgWzE2NjM4NDA0MDYuMTM3NzMxMywgMTgxOTgsIDEuMDIzNzcyMDAxMjY2NDc5NV0sIFsxNjYzODQwNDA2LjIzNTc3MjgsIDE4MjA3LCAxLjA1MTU0MzcxMjYxNTk2NjhdLCBbMTY2Mzg0MDQwNi4zMjY2MjE4LCAxODIxNiwgMS4yMDMwODM4NzI3OTUxMDVdLCBbMTY2Mzg0MDQwNi42MTA0NDM4LCAxODI0MywgMS4wMjkwNTg0NTY0MjA4OTg0XSwgWzE2NjM4NDA0MDYuNzk1MjMxOCwgMTgyNjEsIDEuMDU4MDc4NDA4MjQxMjcyXSwgWzE2NjM4NDA0MDcuMDczMzkzMywgMTgyODgsIDEuMTE3NDYwODQ2OTAwOTRdLCBbMTY2Mzg0MDQwNy4xNzI1NzgzLCAxODI5NywgMS4xNDI4Mzc0MDUyMDQ3NzNdLCBbMTY2Mzg0MDQwNy4zOTE4MDg3LCAxODMxNSwgMS4yNDkzMTc0MDc2MDgwMzIyXSwgWzE2NjM4NDA0MDcuNTA1MTE0LCAxODMyNCwgMS4zMzMxMDQwMTQzOTY2Njc1XSwgWzE2NjM4NDA0MDcuNjIyMDAwNywgMTgzMzMsIDEuODE1NjI2OTc4ODc0MjA2NV0sIFsxNjYzODQwNDA4LjEzMDI2NTcsIDE4MzY5LCAxLjE0NTYzOTg5NjM5MjgyMjNdLCBbMTY2Mzg0MDQwOC41MjY3NTYzLCAxODM5NiwgMS4yODM5MDUxNDg1MDYxNjQ2XSwgWzE2NjM4NDA0MDkuMDQ2NDA0NCwgMTg0MzIsIDEuMDg3OTI1NzkxNzQwNDE3NV0sIFsxNjYzODQwNDA5LjI1NjQ2MzMsIDE4NDUwLCAxLjAzNDMyMzgxMTUzMTA2N10sIFsxNjYzODQwNDA5Ljc3OTY2ODMsIDE4NDk1LCAxLjA0MTA1ODQyMTEzNDk0ODddLCBbMTY2Mzg0MDQwOS44NzM1MjEzLCAxODUwNCwgMS4wMjUzNzY3OTY3MjI0MTJdLCBbMTY2Mzg0MDQwOS45NzIzNTA0LCAxODUxMywgMS4wMDgyMjYyNzU0NDQwMzA4XSwgWzE2NjM4NDA0MTAuMDYzNTM3LCAxODUyMiwgMS4yMjA1MDAzNDk5OTg0NzQxXSwgWzE2NjM4NDA0MTEuMjMyNjIyNiwgMTg2MTIsIDEuMjQ4MzYwMjc2MjIyMjI5XSwgWzE2NjM4NDA0MTEuMzM4MTMxNCwgMTg2MjEsIDEuMTgxMzcyODgwOTM1NjY5XSwgWzE2NjM4NDA0MTEuNTIzNTE2MiwgMTg2MzksIDEuMTQ0MzIyODcyMTYxODY1Ml0sIFsxNjYzODQwNDExLjg5NzEzODgsIDE4Njc1LCAxLjAzNDc3MTQ0MjQxMzMzXSwgWzE2NjM4NDA0MTIuNDkzODU5MywgMTg3MjAsIDEuNDY4MzE5ODkyODgzMzAwOF0sIFsxNjYzODQwNDEzLjAwOTg0MywgMTg3NjUsIDEuMjQwODEwMjc1MDc3ODE5OF0sIFsxNjYzODQwNDEzLjI1Njk2MywgMTg3ODMsIDEuMjY4MjgyMDU1ODU0Nzk3NF0sIFsxNjYzODQwNDEzLjM4MDI1ODYsIDE4NzkyLCAxLjAwNjMzMzIzMTkyNTk2NDRdLCBbMTY2Mzg0MDQxMy42NDY2NjUzLCAxODgxMCwgMS41MTMzODE4Mzg3OTg1MjNdLCBbMTY2Mzg0MDQxMy43ODY4NjI2LCAxODgxOSwgMS42NjcxMjUzNDQyNzY0MjgyXSwgWzE2NjM4NDA0MTMuODk4NjkxNywgMTg4MjgsIDEuMDk0OTg2Njc3MTY5Nzk5OF0sIFsxNjYzODQwNDE0LjI5NjUzNDgsIDE4ODY0LCAxLjA3OTQwMTk2OTkwOTY2OF0sIFsxNjYzODQwNDE0LjUwMTQzMDcsIDE4ODgyLCAxLjIwMjk2NzE2NjkwMDYzNDhdLCBbMTY2Mzg0MDQxNC42MTIyNjc3LCAxODg5MSwgMS4wNTg0MzQwMDk1NTIwMDJdLCBbMTY2Mzg0MDQxNC44MDM1NjY3LCAxODkwOSwgMC45NDA1NzYzNzQ1MzA3OTIyXSwgWzE2NjM4NDA0MTUuMDk1Mzk1OCwgMTg5MzYsIDAuOTk5MDkwOTY5NTYyNTMwNV0sIFsxNjYzODQwNDE1LjE5OTcxMDYsIDE4OTQ1LCAxLjEyMDA4NDE2NjUyNjc5NDRdLCBbMTY2Mzg0MDQxNS4yOTY4OTYsIDE4OTU0LCAxLjE4NjQ1OTA2NDQ4MzY0MjZdLCBbMTY2Mzg0MDQxNS42NjU3Mzc2LCAxODk5MCwgMS4xMTc4NDg3NTM5MjkxMzgyXSwgWzE2NjM4NDA0MTUuNzk3NjQ0OSwgMTg5OTksIDEuMTg1ODQ2MDkwMzE2NzcyNV0sIFsxNjYzODQwNDE2LjI2MjYwMiwgMTkwMzUsIDEuMTU5MTk4MTY0OTM5ODgwNF0sIFsxNjYzODQwNDE2LjM3MzQ3NiwgMTkwNDQsIDEuMDU1NjM2ODgyNzgxOTgyNF0sIFsxNjYzODQwNDE2Ljg4NjQ5NzcsIDE5MDgwLCAxLjI1Mzk1MDcxNTA2NTAwMjRdLCBbMTY2Mzg0MDQxNy4wMDg3NDIsIDE5MDg5LCAxLjQwNzk2OTExNzE2NDYxMThdLCBbMTY2Mzg0MDQxNy4yNTE1NzE0LCAxOTEwNywgMS4xNjUzNzI5Njc3MjAwMzE3XSwgWzE2NjM4NDA0MTcuMzcxODcwOCwgMTkxMTYsIDEuMDczNTc2Njg4NzY2NDc5NV0sIFsxNjYzODQwNDE3LjQ3MDM0NTMsIDE5MTI1LCAxLjAyMjg0MDczODI5NjUwODhdLCBbMTY2Mzg0MDQxNy44NDI2MDgyLCAxOTE1MiwgMS4yOTIyOTU5MzI3Njk3NzU0XSwgWzE2NjM4NDA0MTguNTkyMjE1OCwgMTkyMTUsIDEuMDc0MzMxNzYwNDA2NDk0MV0sIFsxNjYzODQwNDE4LjY5MTg3NzEsIDE5MjI0LCAxLjE2OTgyMDc4NTUyMjQ2MV0sIFsxNjYzODQwNDE4LjgzNTc2NjgsIDE5MjMzLCAxLjA4ODgxNDYxNjIwMzMwOF0sIFsxNjYzODQwNDE5LjE1NDM5NywgMTkyNjAsIDEuMzE1OTMzMjI3NTM5MDYyNV0sIFsxNjYzODQwNDE5LjU0NjQ5NDcsIDE5Mjk2LCAxLjE0NTc5NTk0MTM1Mjg0NDJdLCBbMTY2Mzg0MDQyMC40NzQwNiwgMTkzNTAsIDAuOTI3NjU1MDQxMjE3ODA0XSwgWzE2NjM4NDA0MjAuNTk1MjcwNCwgMTkzNTksIDEuMDMxMDgyODY4NTc2MDQ5OF0sIFsxNjYzODQwNDIxLjAxMTkwNzYsIDE5Mzk1LCAwLjk1NDc4MjY2NDc3NTg0ODRdLCBbMTY2Mzg0MDQyMS4xMDkyMTEyLCAxOTQwNCwgMS4yMDA0NjAzMTQ3NTA2NzE0XSwgWzE2NjM4NDA0MjEuNjA0MDQ3NSwgMTk0NDAsIDEuMTM1ODc3NDkwMDQzNjQwMV0sIFsxNjYzODQwNDIxLjY5NDAzNzcsIDE5NDQ5LCAxLjE4NDgzOTcyNTQ5NDM4NDhdLCBbMTY2Mzg0MDQyMS44MjExMDM4LCAxOTQ1OCwgMS4yNjUwNDI3ODE4Mjk4MzRdLCBbMTY2Mzg0MDQyMS45MTcwMjY4LCAxOTQ2NywgMS4wNjk1Mjk3NzE4MDQ4MDk2XSwgWzE2NjM4NDA0MjIuNzU1MzI4NywgMTk1MzAsIDEuMTAyMDM2OTUyOTcyNDEyXSwgWzE2NjM4NDA0MjMuMjYwNDY0NCwgMTk1NjYsIDEuMDgxNjI2NDE1MjUyNjg1NV0sIFsxNjYzODQwNDIzLjQ5MzcxMSwgMTk1ODQsIDEuMTc5MTg1MDMyODQ0NTQzNV0sIFsxNjYzODQwNDIzLjYyMDQ1MDcsIDE5NTkzLCAwLjk3NjIwNTU4NzM4NzA4NV0sIFsxNjYzODQwNDI0LjMyMjQ2NywgMTk2NTYsIDEuNDI2ODM1NjU2MTY2MDc2N10sIFsxNjYzODQwNDI0LjUxNTIyOTIsIDE5Njc0LCAxLjExMjA5NzM4MjU0NTQ3MTJdLCBbMTY2Mzg0MDQyNC42OTM0NDIzLCAxOTY5MiwgMC45NTIxODUxNTM5NjExODE2XSwgWzE2NjM4NDA0MjQuOTI4NzQ2NSwgMTk3MTAsIDEuMjAzODQ5OTExNjg5NzU4M10sIFsxNjYzODQwNDI1LjUwMzU5NzcsIDE5NzU1LCAxLjA1NjkxNTY0MDgzMDk5MzddLCBbMTY2Mzg0MDQyNi4wOTU0MzU2LCAxOTgwMCwgMS4wNDczNTEzNjAzMjEwNDVdLCBbMTY2Mzg0MDQyNi4zMzg2NDI0LCAxOTgxOCwgMS4wNDU5MDU5NDc2ODUyNDE3XSwgWzE2NjM4NDA0MjYuNDU3NjM5NywgMTk4MjcsIDAuOTg2MzYwNDkwMzIyMTEzXSwgWzE2NjM4NDA0MjYuNTY3ODcxNiwgMTk4MzYsIDEuMDE3ODczNTI1NjE5NTA2OF0sIFsxNjYzODQwNDI2LjkwOTE0NjgsIDE5ODYzLCAxLjI1NjI0Nzg3ODA3NDY0Nl0sIFsxNjYzODQwNDI3LjI1Njc2NCwgMTk4OTAsIDEuMTM0MDE4NDIxMTczMDk1N10sIFsxNjYzODQwNDI3LjQ0NjE3NCwgMTk5MDgsIDAuOTk5MTQxOTkxMTM4NDU4M10sIFsxNjYzODQwNDI3LjU0MDA1OTgsIDE5OTE3LCAxLjI2MzYxMDM2MzAwNjU5MThdLCBbMTY2Mzg0MDQyNy43NDU4MjgsIDE5OTM1LCAxLjExNTQ1MzgzOTMwMjA2M10sIFsxNjYzODQwNDI3LjgzNjcwODUsIDE5OTQ0LCAxLjI3MTI0OTg5MDMyNzQ1MzZdLCBbMTY2Mzg0MDQyOC41MjIwNTkyLCAxOTk5OCwgMS4xMTE5NTM3MzUzNTE1NjI1XSwgWzE2NjM4NDA0MjguOTg5MjAyLCAyMDAzNCwgMC45ODQ0MDMwMTQxODMwNDQ0XSwgWzE2NjM4NDA0MjkuMTY3ODUyNiwgMjAwNTIsIDEuNTA0OTIyMjcwNzc0ODQxM10sIFsxNjYzODQwNDMwLjQzMTk4NiwgMjAxMzMsIDEuMTk0NTkwNDQ5MzMzMTkxXSwgWzE2NjM4NDA0MzAuNzE0MDI4MSwgMjAxNjAsIDAuOTM0MTMxNjIyMzE0NDUzMV0sIFsxNjYzODQwNDMxLjA3ODMwMjEsIDIwMTg3LCAxLjExMzAwNzE4Nzg0MzMyMjhdLCBbMTY2Mzg0MDQzMS4zMzc0MDMsIDIwMjA1LCAxLjA3OTQ0ODkzODM2OTc1MV0sIFsxNjYzODQwNDMyLjQzNzY4MzgsIDIwMjk1LCAxLjIxMjQ0MjUxNzI4MDU3ODZdLCBbMTY2Mzg0MDQzMi44MTc3NywgMjAzMjIsIDEuMjMxMTA3OTUwMjEwNTcxM10sIFsxNjYzODQwNDMyLjkzODYwNTMsIDIwMzMxLCAxLjIyNzA2MzQxNzQzNDY5MjRdLCBbMTY2Mzg0MDQzMy42NTg1MjE3LCAyMDM4NSwgMC45MTEzMzA5OTc5NDM4NzgyXSwgWzE2NjM4NDA0MzMuOTM3ODAxMSwgMjA0MTIsIDEuMTQwNzMzODM4MDgxMzU5OV0sIFsxNjYzODQwNDM0Ljg4Njc0MjQsIDIwNDkzLCAxLjE2NDY1OTE0MjQ5NDIwMTddLCBbMTY2Mzg0MDQzNS4zMjI2MDUxLCAyMDUyOSwgMC45NTYxNDc2MTExNDEyMDQ4XSwgWzE2NjM4NDA0MzUuNDUxMTQ3NiwgMjA1MzgsIDAuOTUxNTI5NjIyMDc3OTQxOV0sIFsxNjYzODQwNDM1Ljg2MzgxMzYsIDIwNTc0LCAxLjEwMjgzNzU2MjU2MTAzNTJdLCBbMTY2Mzg0MDQzNi40NDYxMDYsIDIwNjI4LCAxLjE1ODU5MjkzOTM3NjgzMV0sIFsxNjYzODQwNDM2LjU0NzE1MzcsIDIwNjM3LCAxLjIzMDQyNDI4NDkzNDk5NzZdLCBbMTY2Mzg0MDQzNi42NTYyNjg0LCAyMDY0NiwgMS4xNDAwOTU1OTE1NDUxMDVdLCBbMTY2Mzg0MDQzNy4zMzYwMzM2LCAyMDcwOSwgMS42NDQwNDE4OTU4NjYzOTRdLCBbMTY2Mzg0MDQzNy45MzE0NTUsIDIwNzU0LCAwLjk4NDcwMjE2OTg5NTE3MjFdLCBbMTY2Mzg0MDQzOC4wNzYyNDQ2LCAyMDc2MywgMS4wMDI5NzU3MDIyODU3NjY2XSwgWzE2NjM4NDA0MzguMjE0ODU2MSwgMjA3NzIsIDEuMDc4MTE1OTQwMDkzOTk0MV0sIFsxNjYzODQwNDM4LjQ0MDYwOTIsIDIwNzkwLCAxLjAzMzA3NDM3ODk2NzI4NTJdLCBbMTY2Mzg0MDQzOC42Nzc5NDE2LCAyMDgwOCwgMS4wMzcxMjY1NDExMzc2OTUzXSwgWzE2NjM4NDA0MzkuMDk3NTc5LCAyMDg0NCwgMS4yMTM3NTUxMzA3Njc4MjIzXSwgWzE2NjM4NDA0MzkuMTg5MjY2MiwgMjA4NTMsIDEuMDc5MTEyMDUyOTE3NDgwNV0sIFsxNjYzODQwNDM5LjQ2OTE4NCwgMjA4ODAsIDEuMTkwMDUwMDA1OTEyNzgwOF0sIFsxNjYzODQwNDQwLjEzOTI4ODQsIDIwOTI1LCAxLjA0Nzc1MjQ5OTU4MDM4MzNdLCBbMTY2Mzg0MDQ0MC43MDY2MDQyLCAyMDk3OSwgMS4wODA3MDMwMjAwOTU4MjUyXSwgWzE2NjM4NDA0NDAuOTQwMTE3NiwgMjA5OTcsIDEuMTMwNDI3ODM3MzcxODI2Ml0sIFsxNjYzODQwNDQxLjI1ODY1NDQsIDIxMDI0LCAxLjE2NTY0NjkxMDY2NzQxOTRdLCBbMTY2Mzg0MDQ0MS43NjQxNzczLCAyMTA2OSwgMS4wMjU5NjM1NDQ4NDU1ODFdLCBbMTY2Mzg0MDQ0MS45NDU4ODkyLCAyMTA4NywgMC45NDEzNzM4ODQ2Nzc4ODddLCBbMTY2Mzg0MDQ0Mi4wNjQ2MDEyLCAyMTA5NiwgMS4wMjY0MzI4NzE4MTg1NDI1XSwgWzE2NjM4NDA0NDIuMTUwNzA3NywgMjExMDUsIDAuOTMyMTkxODQ4NzU0ODgyOF0sIFsxNjYzODQwNDQyLjMzNzMyMTgsIDIxMTIzLCAwLjk4MTE2MjA3MTIyODAyNzNdLCBbMTY2Mzg0MDQ0Mi40Mjc3MDkzLCAyMTEzMiwgMC45OTMwODgzNjQ2MDExMzUzXSwgWzE2NjM4NDA0NDIuNTE2NDUyLCAyMTE0MSwgMS4wODc1MjQxNzU2NDM5MjFdLCBbMTY2Mzg0MDQ0Mi44MDMwMjA3LCAyMTE2OCwgMS4xMzU0ODEzNTc1NzQ0NjNdLCBbMTY2Mzg0MDQ0Mi45MTMxOTg3LCAyMTE3NywgMS4xMTIxMzA1MjI3Mjc5NjYzXSwgWzE2NjM4NDA0NDMuMDQxMzk3MywgMjExODYsIDEuMTM0NTE2NzE2MDAzNDE4XSwgWzE2NjM4NDA0NDMuNTg0NjQxLCAyMTIyMiwgMS4wNjQyNTcwMjU3MTg2ODldLCBbMTY2Mzg0MDQ0My44MDE0MzY0LCAyMTI0MCwgMS4yMTI2MTIxNTIwOTk2MDk0XSwgWzE2NjM4NDA0NDQuMTY0MTkzLCAyMTI2NywgMS4xNTg5NzM1NzQ2MzgzNjY3XSwgWzE2NjM4NDA0NDQuNTE4ODYxOCwgMjEyOTQsIDEuMDI1ODIyNTIwMjU2MDQyNV0sIFsxNjYzODQwNDQ0Ljg5Mjg0MzcsIDIxMzIxLCAxLjEyMzA4Mzk0OTA4OTA1MDNdLCBbMTY2Mzg0MDQ0NS4yNTU3OTU3LCAyMTM0OCwgMS4wOTYwNTkzMjIzNTcxNzc3XSwgWzE2NjM4NDA0NDUuNDY4Mzg0LCAyMTM2NiwgMS4xNzUyMjc2NDIwNTkzMjYyXSwgWzE2NjM4NDA0NDYuMTIzOTc3NywgMjE0MTEsIDEuMjQwMDg0MjkwNTA0NDU1Nl0sIFsxNjYzODQwNDQ2LjgwNDYzNiwgMjE0NjUsIDEuMDg0OTE4NDk4OTkyOTJdLCBbMTY2Mzg0MDQ0Ny40MzQ3MzAzLCAyMTUxMCwgMS4xMzcwMjczODI4NTA2NDddLCBbMTY2Mzg0MDQ0Ny42ODY2NTE1LCAyMTUyOCwgMS4yNzk4MjkzODI4OTY0MjMzXSwgWzE2NjM4NDA0NDcuOTIzNzM4NSwgMjE1NDYsIDEuMTU3OTA3NjA1MTcxMjAzNl0sIFsxNjYzODQwNDQ4LjA0NzI4NCwgMjE1NTUsIDEuMTkxODQ2OTY2NzQzNDY5Ml0sIFsxNjYzODQwNDQ4LjE2Mjc2NjIsIDIxNTY0LCAxLjE4NTI4ODU0ODQ2OTU0MzVdLCBbMTY2Mzg0MDQ0OC4yNzAzODIsIDIxNTczLCAxLjE3MTg0MjkzMjcwMTExMDhdLCBbMTY2Mzg0MDQ0OC4zOTgzMTY5LCAyMTU4MiwgMS4wMzgyNTcxMjIwMzk3OTVdLCBbMTY2Mzg0MDQ0OC41MzYyNTc3LCAyMTU5MSwgMS4zNzI2NDAxMzI5MDQwNTI3XSwgWzE2NjM4NDA0NDkuOTU4NDU4NywgMjE2ODEsIDEuMjY4Mjc1NjE4NTUzMTYxNl0sIFsxNjYzODQwNDUwLjQyMDMxNiwgMjE3MTcsIDEuMDM1NzYxNDc1NTYzMDQ5M10sIFsxNjYzODQwNDUwLjgxNDQ4MywgMjE3NDQsIDEuNDk0Nzg2OTc3NzY3OTQ0M10sIFsxNjYzODQwNDUxLjMwODAyODUsIDIxNzgwLCAxLjM0NDgxMTkxNjM1MTMxODRdLCBbMTY2Mzg0MDQ1Mi4yNDcwNjUzLCAyMTg2MSwgMC45MzI1ODE2NjMxMzE3MTM5XSwgWzE2NjM4NDA0NTIuNTI4MzM0OSwgMjE4ODgsIDAuOTAyNDAyMjgxNzYxMTY5NF0sIFsxNjYzODQwNDUzLjAwMjI5OSwgMjE5MjQsIDEuMTUzNDA2MDIzOTc5MTg3XSwgWzE2NjM4NDA0NTMuMTEyMTMxLCAyMTkzMywgMS4xODg5MjcwNTQ0MDUyMTI0XSwgWzE2NjM4NDA0NTMuMzU4MzM2NywgMjE5NTEsIDEuMDUyNzM2NTIwNzY3MjEyXSwgWzE2NjM4NDA0NTMuNDU4NjUzMiwgMjE5NjAsIDEuMDIxNzgzNTkwMzE2NzcyNV0sIFsxNjYzODQwNDUzLjY2OTY1NjMsIDIxOTc4LCAxLjA3MzM2NDczNDY0OTY1ODJdLCBbMTY2Mzg0MDQ1My43NzE0NDQ4LCAyMTk4NywgMS4xNTY1ODc0ODE0OTg3MTgzXSwgWzE2NjM4NDA0NTQuNDEzNDAyOCwgMjIwNDEsIDEuMTQ2MDYxNDIwNDQwNjczOF0sIFsxNjYzODQwNDU1LjExODE4MjIsIDIyMDk1LCAxLjE4NjU0NzA0MDkzOTMzMV0sIFsxNjYzODQwNDU1LjU2OTY1MTEsIDIyMTMxLCAwLjk5MjAzOTk3ODUwNDE4MDldLCBbMTY2Mzg0MDQ1NS45OTczODIyLCAyMjE2NywgMC44Nzk1NzIzOTE1MTAwMDk4XSwgWzE2NjM4NDA0NTYuMTgzMzU2LCAyMjE4NSwgMC45MzAzNjcxMTIxNTk3MjldLCBbMTY2Mzg0MDQ1Ni4yOTI5NjE2LCAyMjE5NCwgMS4zNDg3MDgwMzM1NjE3MDY1XSwgWzE2NjM4NDA0NTYuNTQ2NjMxLCAyMjIxMiwgMC45ODk5NTEyNTI5MzczMTY5XSwgWzE2NjM4NDA0NTYuODE1MjU1NCwgMjIyMzAsIDEuMDgwODA4OTk3MTU0MjM1OF0sIFsxNjYzODQwNDU3LjMwMzcyNDgsIDIyMjY2LCAwLjk2ODMwNTI4OTc0NTMzMDhdLCBbMTY2Mzg0MDQ1Ny41MTQ5OTU4LCAyMjI4NCwgMS4wMDEwOTgzOTQzOTM5MjFdLCBbMTY2Mzg0MDQ1Ny43MzI1MDM0LCAyMjMwMiwgMS4xOTA2MjUxOTA3MzQ4NjMzXSwgWzE2NjM4NDA0NTguNDQ1NjQ4MiwgMjIzNjUsIDEuMDIzMzg1NTI0NzQ5NzU1OV0sIFsxNjYzODQwNDU4LjUzNzUyNDIsIDIyMzc0LCAxLjEwMTU3MDk2Mzg1OTU1OF0sIFsxNjYzODQwNDU4Ljk1MjY1MjUsIDIyNDEwLCAxLjIzNjA3NTk5NzM1MjZdLCBbMTY2Mzg0MDQ1OS42MjI1MzIsIDIyNDQ2LCAxLjA3NjgzMjE3NTI1NDgyMThdLCBbMTY2Mzg0MDQ1OS45NzMwMzI1LCAyMjQ3MywgMS4yMDY0NjYzMTcxNzY4MTg4XSwgWzE2NjM4NDA0NjAuMjc1MTgwOCwgMjI0OTEsIDEuMDY1NTA2Njk2NzAxMDQ5OF0sIFsxNjYzODQwNDYwLjM4MzQ1ODYsIDIyNTAwLCAxLjY2NTk4MzU1NzcwMTExMDhdLCBbMTY2Mzg0MDQ2MC41MDIwMjY4LCAyMjUwOSwgMS4wMzk1NzgzMTg1OTU4ODYyXSwgWzE2NjM4NDA0NjAuNjI3MzMwMywgMjI1MTgsIDAuOTE1ODg2MTA0MTA2OTAzMV0sIFsxNjYzODQwNDYwLjgyNzg5MDQsIDIyNTM2LCAwLjk3Mjg2MjYwMTI4MDIxMjRdLCBbMTY2Mzg0MDQ2MS4wNDQxNjksIDIyNTU0LCAxLjIzNzQzMDU3MjUwOTc2NTZdLCBbMTY2Mzg0MDQ2MS4xNjk5MTk1LCAyMjU2MywgMS4wMDgwMzIwODM1MTEzNTI1XSwgWzE2NjM4NDA0NjEuNDQxOTA0LCAyMjU4MSwgMS4wMTMyNTI5NzM1NTY1MTg2XSwgWzE2NjM4NDA0NjEuNjY0NjY2MiwgMjI1OTksIDEuMzY5MTQyODg5OTc2NTAxNV0sIFsxNjYzODQwNDYyLjAxNTI5ODgsIDIyNjI2LCAxLjExMzcyMjY4MTk5OTIwNjVdLCBbMTY2Mzg0MDQ2Mi4yNDI1NzYsIDIyNjQ0LCAxLjE4OTAyMzAxNzg4MzMwMDhdLCBbMTY2Mzg0MDQ2Mi40NjM0ODUyLCAyMjY2MiwgMS42NjkyNDE0MjgzNzUyNDQxXSwgWzE2NjM4NDA0NjIuNTY5MTEwNiwgMjI2NzEsIDEuMTgxMDAxNTQzOTk4NzE4M10sIFsxNjYzODQwNDYyLjY4MTI4MjgsIDIyNjgwLCAxLjE5NzI4NzA4MjY3MjExOTFdLCBbMTY2Mzg0MDQ2Mi45MDI0NjY4LCAyMjY5OCwgMS4xMzY5MzcyNjA2Mjc3NDY2XSwgWzE2NjM4NDA0NjMuMTQ0ODc1MywgMjI3MTYsIDAuOTM5NDc2NjA5MjMwMDQxNV0sIFsxNjYzODQwNDYzLjYxODI0MDgsIDIyNzYxLCAxLjM4ODcxMzk1NTg3OTIxMTRdLCBbMTY2Mzg0MDQ2My44MDA3NDEyLCAyMjc3OSwgMS4zMTQ1ODU2ODU3Mjk5ODA1XSwgWzE2NjM4NDA0NjMuODk3MTg1NiwgMjI3ODgsIDEuMDIyNDQ5MDE2NTcxMDQ1XSwgWzE2NjM4NDA0NjQuMDk5MTE5NCwgMjI4MDYsIDEuMDYxOTM2NDk3Njg4MjkzNV0sIFsxNjYzODQwNDY0LjU1NTgzNDMsIDIyODUxLCAxLjIxNzYxNjMxOTY1NjM3Ml0sIFsxNjYzODQwNDY0Ljc0MDI0NDIsIDIyODY5LCAxLjE2ODc2NDcxMDQyNjMzMDZdLCBbMTY2Mzg0MDQ2NC45MTU3NjEyLCAyMjg4NywgMS4zNDUxNTA0NzA3MzM2NDI2XSwgWzE2NjM4NDA0NjUuMDE1MDA2MywgMjI4OTYsIDEuNDM5MDc3NzM0OTQ3MjA0Nl0sIFsxNjYzODQwNDY1LjMxNjQ2NiwgMjI5MjMsIDEuMjU1MTQ0NDc2ODkwNTY0XSwgWzE2NjM4NDA0NjYuMzk1ODI3OCwgMjI5OTUsIDEuMDI3OTU4MTU0Njc4MzQ0N10sIFsxNjYzODQwNDY2LjUwMDYwNSwgMjMwMDQsIDEuMDYyMjQ5MTgzNjU0Nzg1Ml0sIFsxNjYzODQwNDY3LjA1MzUwMDcsIDIzMDQ5LCAxLjAyNTA3OTM2OTU0NDk4M10sIFsxNjYzODQwNDY3LjU5ODIwMTMsIDIzMDk0LCAxLjExNzM1NzEzNDgxOTAzMDhdLCBbMTY2Mzg0MDQ2Ny43MzM5NTUxLCAyMzEwMywgMS4yNDU4NTQ3MzUzNzQ0NTA3XSwgWzE2NjM4NDA0NjcuOTc4NzExNCwgMjMxMjEsIDAuODk0MDE0NTk2OTM5MDg2OV0sIFsxNjYzODQwNDY4LjMyODc1OCwgMjMxNDgsIDEuMTIwNjk1OTQ4NjAwNzY5XSwgWzE2NjM4NDA0NjguNTUzODM4NSwgMjMxNjYsIDEuMDI2MjM0NjI2NzcwMDE5NV0sIFsxNjYzODQwNDY4Ljc4Mzk2OTIsIDIzMTg0LCAxLjI0OTEwMDY4NTExOTYyOV0sIFsxNjYzODQwNDY5LjAxNjY2OTMsIDIzMjAyLCAxLjAyNjk2NDY2NDQ1OTIyODVdLCBbMTY2Mzg0MDQ2OS4xNDQ1MTk2LCAyMzIxMSwgMS4wOTMzODM3ODkwNjI1XSwgWzE2NjM4NDA0NjkuOTYxNDIwNSwgMjMyNTYsIDEuMzY4Mjc3OTA3MzcxNTIxXSwgWzE2NjM4NDA0NzAuMDg1MzA0NSwgMjMyNjUsIDEuMTk5MjMwMzEzMzAxMDg2NF0sIFsxNjYzODQwNDcwLjIyMjA3MDcsIDIzMjc0LCAxLjE2OTkyNjY0MzM3MTU4Ml0sIFsxNjYzODQwNDcwLjYwOTM0NzgsIDIzMzAxLCAxLjIxMjY2NDEyNzM0OTg1MzVdLCBbMTY2Mzg0MDQ3MC43MTY3NjA2LCAyMzMxMCwgMS4xMjEwNTU2MDMwMjczNDM4XSwgWzE2NjM4NDA0NzEuMDI5MjAxMywgMjMzMzcsIDAuOTk5MzgxMzAzNzg3MjMxNF0sIFsxNjYzODQwNDcxLjY3MjQxNjQsIDIzMzkxLCAxLjE4NTUwMDc0MTAwNDk0MzhdLCBbMTY2Mzg0MDQ3MS43NjQ0ODkyLCAyMzQwMCwgMS4wNzgzNDMwMzM3OTA1ODg0XSwgWzE2NjM4NDA0NzIuMDEyMzU1LCAyMzQxOCwgMS4wNDc5NzQ0NjcyNzc1MjY5XSwgWzE2NjM4NDA0NzIuMjEyMjc5MywgMjM0MzYsIDEuMTIwNzgyODUyMTcyODUxNl0sIFsxNjYzODQwNDcyLjQwNDk1NjYsIDIzNDU0LCAxLjcxNDY2NjEyODE1ODU2OTNdLCBbMTY2Mzg0MDQ3Mi41MzY3NjUsIDIzNDYzLCAxLjA0MzMyMDQxNzQwNDE3NDhdLCBbMTY2Mzg0MDQ3My42NjYyODAzLCAyMzU2MiwgMS4xMDIxNTgzMDgwMjkxNzQ4XSwgWzE2NjM4NDA0NzMuNzYzMjg2NCwgMjM1NzEsIDEuMTIyNzc1MzE2MjM4NDAzM10sIFsxNjYzODQwNDczLjg0NzIyNSwgMjM1ODAsIDAuOTg2NTkzNDI1MjczODk1M10sIFsxNjYzODQwNDc0LjE3MDgyMTcsIDIzNjA3LCAxLjA5Nzg2MjEyNDQ0MzA1NDJdLCBbMTY2Mzg0MDQ3NC42OTU1Mjc4LCAyMzY1MiwgMC45NTc4NTY4MzM5MzQ3ODM5XSwgWzE2NjM4NDA0NzQuNzg2MzQ0OCwgMjM2NjEsIDAuOTg3ODQwODkwODg0Mzk5NF0sIFsxNjYzODQwNDc1LjE5OTgzMTIsIDIzNjk3LCAxLjIxNTI1NjkyOTM5NzU4M11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_03-40-06_b5cca277837b&tag=Loss%2Fvalid":{"data":"W1sxNjYzODE4MDA3LjI3NjU2NDEsIDM2LCAxNi4xNDkwNjY5MjUwNDg4MjhdLCBbMTY2MzgxODAwNy4zODc5NTczLCA0NSwgMTIuMzY5NjIzMTg0MjA0MTAyXSwgWzE2NjM4MTgwMDcuOTg3NDI1OCwgOTksIDUuNDYyMzc2MTE3NzA2Mjk5XSwgWzE2NjM4MTgwMDguMzMyMTE4MywgMTM1LCA1LjE3NTIwMTQxNjAxNTYyNV0sIFsxNjYzODE4MDA4LjQ0MDA2OSwgMTQ0LCA1LjcyNzQ2MDM4NDM2ODg5NjVdLCBbMTY2MzgxODAwOC43MjkxMjM4LCAxNzEsIDUuMzYzNzc3NjM3NDgxNjg5NV0sIFsxNjYzODE4MDA4LjgzMTUwNTMsIDE4MCwgNC44NzE3ODQ2ODcwNDIyMzZdLCBbMTY2MzgxODAwOC45NDI3MDYsIDE4OSwgNC43MTM4NzYyNDc0MDYwMDZdLCBbMTY2MzgxODAwOS4xNTg3MTksIDIwNywgNS42Nzk2MzI2NjM3MjY4MDddLCBbMTY2MzgxODAwOS4yNTY3NDU4LCAyMTYsIDUuNzE0Njc0OTQ5NjQ1OTk2XSwgWzE2NjM4MTgwMDkuNTMyMDQ4MiwgMjQzLCA1LjMzNjk5OTQxNjM1MTMxOF0sIFsxNjYzODE4MDA5LjYyMjExMzUsIDI1MiwgNC40Mjk5Mzc4Mzk1MDgwNTddLCBbMTY2MzgxODAxMC42NTUwNTY1LCAzNTEsIDMuNzA4MTYwMTYxOTcyMDQ2XSwgWzE2NjM4MTgwMTAuODM1ODk3NywgMzY5LCA0LjU2NDU1NDIxNDQ3NzUzOV0sIFsxNjYzODE4MDExLjY0NjY5OSwgNDMyLCA0LjIwMjI2NDMwODkyOTQ0M10sIFsxNjYzODE4MDExLjcyOTQyMiwgNDQxLCAzLjY0NjYxMDczNjg0NjkyNF0sIFsxNjYzODE4MDExLjgzMzI2NzIsIDQ1MCwgMy45Njc4ODg4MzIwOTIyODVdLCBbMTY2MzgxODAxMi4wMDc2OTYyLCA0NjgsIDMuODcyMTc0MDI0NTgxOTA5XSwgWzE2NjM4MTgwMTIuMjU4Mzg0NSwgNDk1LCAzLjg0MzIzNDMwMDYxMzQwMzNdLCBbMTY2MzgxODAxMi41NDkwMDIsIDUyMiwgMy41ODQ4MzEyMzc3OTI5Njg4XSwgWzE2NjM4MTgwMTIuODUxOTk1LCA1NDksIDMuNDQ3NzgxMzI0Mzg2NTk2N10sIFsxNjYzODE4MDEyLjk3Mzg1MjksIDU1OCwgMy42ODc3MTYyNDU2NTEyNDVdLCBbMTY2MzgxODAxMy4wNjE2NTQsIDU2NywgMy41NzkyODI5OTkwMzg2OTYzXSwgWzE2NjM4MTgwMTMuMTU1OTAxMiwgNTc2LCAzLjI0NzEyMjc2NDU4NzQwMjNdLCBbMTY2MzgxODAxMy4zNDcxMTUsIDU5NCwgMy40ODkwMDI0NjYyMDE3ODIyXSwgWzE2NjM4MTgwMTMuNDQ0ODA2OCwgNjAzLCAzLjExNjc4MTQ3MzE1OTc5XSwgWzE2NjM4MTgwMTMuNTMyMDE1LCA2MTIsIDMuNjA0NTU3Mjc1NzcyMDk0N10sIFsxNjYzODE4MDEzLjY0MTkxNzcsIDYyMSwgMi45MzUwNzkwOTc3NDc4MDI3XSwgWzE2NjM4MTgwMTMuODQ5ODkzLCA2MzksIDMuMjE5NDM4MzE0NDM3ODY2XSwgWzE2NjM4MTgwMTMuOTU2MDk5NywgNjQ4LCAyLjg0OTgxNzUxNDQxOTU1NTddLCBbMTY2MzgxODAxNC41Mzk2MTAxLCA3MDIsIDIuOTgwNjEyMjc3OTg0NjE5XSwgWzE2NjM4MTgwMTQuNzMzNjQyLCA3MjAsIDMuMTU1NzczODc4MDk3NTM0XSwgWzE2NjM4MTgwMTUuMDAxNzM2NiwgNzQ3LCAyLjY5MTM5MTk0NDg4NTI1NF0sIFsxNjYzODE4MDE1LjI3OTQ3OTcsIDc3NCwgMy4yMDY3NTk0NTI4MTk4MjRdLCBbMTY2MzgxODAxNS42MzQ5NzYsIDgxMCwgMi42MDY3OTQxMTg4ODEyMjU2XSwgWzE2NjM4MTgwMTYuNDkxNDYyMiwgOTAwLCAyLjQ4MjYyMDQ3NzY3NjM5MTZdLCBbMTY2MzgxODAxNi41NzQwNTMzLCA5MDksIDIuODc0Mjg4MDgyMTIyODAyN10sIFsxNjYzODE4MDE2Ljg1NDkyMDQsIDkzNiwgMi4yNTUyMzQ3MTgzMjI3NTRdLCBbMTY2MzgxODAxNy4xNDU0NzIsIDk2MywgMi4zNDAyMDMwNDY3OTg3MDZdLCBbMTY2MzgxODAxNy4yMjU4Mzc3LCA5NzIsIDIuMzY2MDk5NTk2MDIzNTU5Nl0sIFsxNjYzODE4MDE3LjM4OTg3NCwgOTkwLCAyLjAzNTY3NzY3MTQzMjQ5NV0sIFsxNjYzODE4MDE3Ljk4NDEyODUsIDEwNTMsIDIuNDEzMjM5MjQwNjQ2MzYyM10sIFsxNjYzODE4MDE4LjQzNDM3MzQsIDEwOTgsIDIuNTcyNjExMDkzNTIxMTE4XSwgWzE2NjM4MTgwMTguNzc5MDAyLCAxMTM0LCAzLjIwMzQ2Mzc5MjgwMDkwMzNdLCBbMTY2MzgxODAxOC44NjA2NjQ2LCAxMTQzLCAyLjUyNzU5MjY1ODk5NjU4Ml0sIFsxNjYzODE4MDE5LjA0MDA1OTYsIDExNjEsIDIuNDg3NDUzNDYwNjkzMzU5NF0sIFsxNjYzODE4MDE5LjUyMTkwMDIsIDExNzksIDIuMTY0MzY3OTE0MTk5ODI5XSwgWzE2NjM4MTgwMTkuNjIzMzczMywgMTE4OCwgMi4wMDAxNzMzMzAzMDcwMDddLCBbMTY2MzgxODAyMC4wNjE3OTksIDEyMzMsIDIuOTIyNzIzNTMxNzIzMDIyNV0sIFsxNjYzODE4MDIwLjE0MzE1NywgMTI0MiwgMi4wMTEyOTk4NDg1NTY1MTg2XSwgWzE2NjM4MTgwMjAuODU1Mjc1NiwgMTMwNSwgMi41NzkzMDIzMTA5NDM2MDM1XSwgWzE2NjM4MTgwMjEuMDU5OTcwMSwgMTMyMywgMi4wNjIxMDI1NTYyMjg2Mzc3XSwgWzE2NjM4MTgwMjEuMTY1OTY0MSwgMTMzMiwgMi4xMzA3OTA5NDg4Njc3OThdLCBbMTY2MzgxODAyMS41MDAwNjcsIDEzNTksIDIuNTc0NTc2ODU0NzA1ODEwNV0sIFsxNjYzODE4MDIyLjExMTAxMTMsIDE0MjIsIDIuMTIyMjY1MzM4ODk3NzA1XSwgWzE2NjM4MTgwMjIuMzgwMjcyMiwgMTQ0OSwgMS45ODM5NjQ2ODE2MjUzNjYyXSwgWzE2NjM4MTgwMjIuNTY1MDM1MywgMTQ2NywgMi4wNzU3NTIyNTgzMDA3ODEyXSwgWzE2NjM4MTgwMjIuNzQzNzM1OCwgMTQ4NSwgMS44NjQyMjcyOTQ5MjE4NzVdLCBbMTY2MzgxODAyMy4yODEzMTk5LCAxNTM5LCAyLjQ5Njc3MDM4MTkyNzQ5MDJdLCBbMTY2MzgxODAyMy4zNjUxNDM1LCAxNTQ4LCAyLjUzNTA0OTQzODQ3NjU2MjVdLCBbMTY2MzgxODAyMy40NDg4NSwgMTU1NywgMi4xNzY0MzQyNzg0ODgxNTldLCBbMTY2MzgxODAyMy44NzcwOTkzLCAxNTg0LCAxLjk2MjY1NTkwMTkwODg3NDVdLCBbMTY2MzgxODAyNC4wOTg0NTAyLCAxNjAyLCAxLjk3ODc2Mjg2NTA2NjUyODNdLCBbMTY2MzgxODAyNC40NDM2NSwgMTYzOCwgMi40Nzg3Mjg3NzEyMDk3MTddLCBbMTY2MzgxODAyNC43MjM5NjQ1LCAxNjY1LCAyLjYzMDY2NDU4NzAyMDg3NF0sIFsxNjYzODE4MDI0LjgxMzQ4ODUsIDE2NzQsIDIuMDczNzY1NTE2MjgxMTI4XSwgWzE2NjM4MTgwMjQuODkxMDQxMywgMTY4MywgMi40Mjc2NDkyNTk1NjcyNjA3XSwgWzE2NjM4MTgwMjUuMjQzMTQ1NywgMTcxOSwgMi4wOTYwMjk5OTY4NzE5NDgyXSwgWzE2NjM4MTgwMjUuMzM1MjI1NiwgMTcyOCwgMi4zMzUxODUwNTA5NjQzNTU1XSwgWzE2NjM4MTgwMjUuNDIxMDQ4NiwgMTczNywgMS44MTE1NDU2MTA0Mjc4NTY0XSwgWzE2NjM4MTgwMjYuMDY4MzczMiwgMTgwMCwgMS45MDUyOTE5MTQ5Mzk4ODA0XSwgWzE2NjM4MTgwMjYuMzE3MTY0MiwgMTgyNywgMS45NjA4NjE4MDIxMDExMzUzXSwgWzE2NjM4MTgwMjYuMzk4MzMwMiwgMTgzNiwgMS43NTM5ODcwNzM4OTgzMTU0XSwgWzE2NjM4MTgwMjYuNDg2MDQ0NiwgMTg0NSwgMi4yMzU0NTY3MDUwOTMzODRdLCBbMTY2MzgxODAyNi41ODcyMzc2LCAxODU0LCAyLjEzNDM3MjcxMTE4MTY0MDZdLCBbMTY2MzgxODAyNi43NjIzODE4LCAxODcyLCAxLjc2MjQwODQ5NDk0OTM0MDhdLCBbMTY2MzgxODAyNi45NDMyMjY2LCAxODkwLCAxLjgxODc2NDY4NjU4NDQ3MjddLCBbMTY2MzgxODAyNy4xMDY4NTk3LCAxOTA4LCAyLjAxODgxMDUxMDYzNTM3Nl0sIFsxNjYzODE4MDI3LjI4NTY0LCAxOTI2LCAyLjAwNjc2NDg4ODc2MzQyNzddLCBbMTY2MzgxODAyNy40NTQ0NDEzLCAxOTQ0LCAxLjc5NTkxMzEwMDI0MjYxNDddLCBbMTY2MzgxODAyNy41NDc1NTEsIDE5NTMsIDEuNzYzNDAxNTA4MzMxMjk4OF0sIFsxNjYzODE4MDI4LjAwMDU4NywgMTk4MCwgMS42NzUxODM0MTU0MTI5MDI4XSwgWzE2NjM4MTgwMjguMTQzNjQwMywgMTk4OSwgMi4xNzY3NjY2MzM5ODc0MjY4XSwgWzE2NjM4MTgwMjguMjUyMzU4NywgMTk5OCwgMi4xMzc1NzcyOTUzMDMzNDQ3XSwgWzE2NjM4MTgwMjguNTY1NDM5LCAyMDI1LCAxLjgzMDAxNTE4MjQ5NTExNzJdLCBbMTY2MzgxODAyOS4wNDEzMDIyLCAyMDcwLCAxLjgwMzAzMzgyODczNTM1MTZdLCBbMTY2MzgxODAyOS45NDQwMzc0LCAyMTYwLCAyLjEwNjAzODMzMTk4NTQ3MzZdLCBbMTY2MzgxODAzMC4xMDg1NDY1LCAyMTc4LCAxLjkzNzE1MDIzOTk0NDQ1OF0sIFsxNjYzODE4MDMwLjM2MTM4MzIsIDIyMDUsIDEuOTM0NDYyMzA4ODgzNjY3XSwgWzE2NjM4MTgwMzAuNDQwMjc1NCwgMjIxNCwgMi4wNjk5Nzc5OTg3MzM1MjA1XSwgWzE2NjM4MTgwMzAuNTI1OTM0MiwgMjIyMywgMS42NDkwMDY2MDUxNDgzMTU0XSwgWzE2NjM4MTgwMzEuMzM5ODUxNiwgMjI5NSwgMS45NzQ2MzEzMDk1MDkyNzczXSwgWzE2NjM4MTgwMzEuNzQ3Njg1NCwgMjMzMSwgMS44NDQ1MDc5MzI2NjI5NjM5XSwgWzE2NjM4MTgwMzEuODQwMTczLCAyMzQwLCAxLjYzMTUwNTg0Njk3NzIzMzldLCBbMTY2MzgxODAzMS45MzU5NzIyLCAyMzQ5LCAxLjg4NzU4ODg1ODYwNDQzMTJdLCBbMTY2MzgxODAzMi4xNTA2NDEyLCAyMzY3LCAxLjg1NTk4NDQ0OTM4NjU5NjddLCBbMTY2MzgxODAzMi45NTk0MTYyLCAyNDM5LCAxLjkxNjI0ODY3OTE2MTA3MThdLCBbMTY2MzgxODAzMy4wNTE1OTgsIDI0NDgsIDEuNzIyMjgwNzQwNzM3OTE1XSwgWzE2NjM4MTgwMzMuMzIzOTkwOCwgMjQ3NSwgMS44ODczMTMyNDY3MjY5ODk3XSwgWzE2NjM4MTgwMzMuNTE3Mjc4NCwgMjQ5MywgMi4wNDYwNTkxMzE2MjIzMTQ1XSwgWzE2NjM4MTgwMzMuNjk3NTYyNSwgMjUxMSwgMS44NzE4OTExNDA5Mzc4MDUyXSwgWzE2NjM4MTgwMzMuODgyMjMxLCAyNTI5LCAxLjkxODM4MjA0ODYwNjg3MjZdLCBbMTY2MzgxODAzNC4wNzM0ODczLCAyNTQ3LCAxLjc4OTg1MTY2NTQ5NjgyNjJdLCBbMTY2MzgxODAzNC4xNzM2OTc3LCAyNTU2LCAyLjcwOTM0NDM4NzA1NDQ0MzRdLCBbMTY2MzgxODAzNC41MDQ0NTgsIDI1NzQsIDEuNzU0NzIwNDQ5NDQ3NjMxOF0sIFsxNjYzODE4MDM1LjAyODM5MSwgMjU5MiwgMi4xMjY4MTEyNjU5NDU0MzQ2XSwgWzE2NjM4MTgwMzUuMTExOTEzNywgMjYwMSwgMi4wNDAzMzEzNjM2Nzc5Nzg1XSwgWzE2NjM4MTgwMzUuMzA4ODU3NywgMjYxOSwgMS42ODI1NTMxNzIxMTE1MTEyXSwgWzE2NjM4MTgwMzYuMTk1MzgzNSwgMjY2NCwgMS44NjQ5NzA2ODQwNTE1MTM3XSwgWzE2NjM4MTgwMzYuMzE5ODk3NywgMjY3MywgMS42OTc4NDM3OTAwNTQzMjEzXSwgWzE2NjM4MTgwMzYuNDMwMDYyMywgMjY4MiwgMS43MjkxNjc2OTk4MTM4NDI4XSwgWzE2NjM4MTgwMzYuNTExMDA5NSwgMjY5MSwgMS43MzgzMTkwMzkzNDQ3ODc2XSwgWzE2NjM4MTgwMzcuMzcyNzYxLCAyNzYzLCAxLjY2MDQ3Nzk5NTg3MjQ5NzZdLCBbMTY2MzgxODAzNy41MzE3NDcsIDI3ODEsIDEuNTIxMzY1Mjg0OTE5NzM4OF0sIFsxNjYzODE4MDM3Ljg4MDQyNzgsIDI4MTcsIDEuODgzODY2NDI5MzI4OTE4NV0sIFsxNjYzODE4MDM4LjIzMTA1NzYsIDI4NTMsIDEuNjY5NTM3NzgyNjY5MDY3NF0sIFsxNjYzODE4MDM4LjQxNTU3MTcsIDI4NzEsIDEuODEwNDc4ODA2NDk1NjY2NV0sIFsxNjYzODE4MDM4LjUwNjM4NjgsIDI4ODAsIDEuNzk2ODQ2ODY2NjA3NjY2XSwgWzE2NjM4MTgwMzguNzc3MjI3OSwgMjkwNywgMi4wNDE1NzkyNDY1MjA5OTZdLCBbMTY2MzgxODAzOS40MjYyNjcsIDI5NzAsIDEuMzc5NDk5NjczODQzMzgzOF0sIFsxNjYzODE4MDM5LjYxMDgyMTcsIDI5ODgsIDIuMDU5NzMyNjc1NTUyMzY4XSwgWzE2NjM4MTgwMzkuNjk2MDE0MiwgMjk5NywgMS41NDk5MjAyMDEzMDE1NzQ3XSwgWzE2NjM4MTgwNDAuMTQ0MTU3MiwgMzA0MiwgMS42NTE5MzMzMTI0MTYwNzY3XSwgWzE2NjM4MTgwNDAuMjM1Nzk1LCAzMDUxLCAxLjgzNzQ3NTE4MDYyNTkxNTVdLCBbMTY2MzgxODA0MC40MTU1MTk1LCAzMDY5LCAxLjY4MTE3NzQ5NjkxMDA5NTJdLCBbMTY2MzgxODA0MC42ODAyMDk2LCAzMDk2LCAxLjQ5ODYyMzcyODc1MjEzNjJdLCBbMTY2MzgxODA0MC44NTI1MjM2LCAzMTE0LCAxLjgxMzMwNTYxNjM3ODc4NDJdLCBbMTY2MzgxODA0MC45Mzg3MjQzLCAzMTIzLCAxLjU4MzU4MjQwMTI3NTYzNDhdLCBbMTY2MzgxODA0MS4yOTU1NjI1LCAzMTU5LCAxLjQ5ODYxNTAyNjQ3Mzk5OV0sIFsxNjYzODE4MDQxLjQ2MDUzNiwgMzE3NywgMi4xMjM5OTU3ODA5NDQ4MjRdLCBbMTY2MzgxODA0MS42NDA3MTA0LCAzMTk1LCAxLjYzOTk3NzA5NzUxMTI5MTVdLCBbMTY2MzgxODA0Mi4wMDkxNjc3LCAzMjMxLCAyLjIwODY4OTQ1MTIxNzY1MTRdLCBbMTY2MzgxODA0Mi4zNTkxODQsIDMyNjcsIDEuNTkyNDg4NTI3Mjk3OTczNl0sIFsxNjYzODE4MDQyLjQ0NjMxNDYsIDMyNzYsIDEuNDY1NjQzNzYzNTQyMTc1M10sIFsxNjYzODE4MDQyLjUzNDk1NCwgMzI4NSwgMS45NjAwMTk3MDc2Nzk3NDg1XSwgWzE2NjM4MTgwNDIuNjI5ODI1NiwgMzI5NCwgMS41ODUxNTk1NDAxNzYzOTE2XSwgWzE2NjM4MTgwNDIuNzIzMjQzNywgMzMwMywgMS43NTQ1NzMzNDUxODQzMjYyXSwgWzE2NjM4MTgwNDIuODAzNzUsIDMzMTIsIDEuOTAzOTkxNjk5MjE4NzVdLCBbMTY2MzgxODA0My4zOTA5MDQsIDMzNzUsIDEuNjE3NDExMzc1MDQ1Nzc2NF0sIFsxNjYzODE4MDQzLjYzOTMwNzUsIDM0MDIsIDEuNTI4NTg5NDg3MDc1ODA1N10sIFsxNjYzODE4MDQzLjcyMDk2NywgMzQxMSwgMS42MjA3ODA4MjU2MTQ5MjkyXSwgWzE2NjM4MTgwNDQuNDE3Mzg5LCAzNDgzLCAxLjYzMDYxNTM1MzU4NDI4OTZdLCBbMTY2MzgxODA0NC45MjQzMTU3LCAzNTE5LCAxLjg1NDYyMjAwNjQxNjMyMDhdLCBbMTY2MzgxODA0NS4wMDE0MTA3LCAzNTI4LCAxLjg2Mjc1OTgyODU2NzUwNDldLCBbMTY2MzgxODA0NS4wODcwMTA5LCAzNTM3LCAxLjkyMjkwOTE0MDU4Njg1M10sIFsxNjYzODE4MDQ1LjI2NDc4OSwgMzU1NSwgMS40MDc0MTMwMDU4Mjg4NTc0XSwgWzE2NjM4MTgwNDUuNTM2ODE5LCAzNTgyLCAxLjQ4NzQ4MTM1NTY2NzExNDNdLCBbMTY2MzgxODA0NS45NTc5NDgyLCAzNjI3LCAxLjQ5MzAwMDI2ODkzNjE1NzJdLCBbMTY2MzgxODA0Ni4xMzE3Mjg0LCAzNjQ1LCAxLjcxNzIxNDk0MTk3ODQ1NDZdLCBbMTY2MzgxODA0Ni41NjAzOTc2LCAzNjkwLCAxLjY1ODg4NDg4MjkyNjk0MV0sIFsxNjYzODE4MDQ2LjkwMzQ5MTMsIDM3MjYsIDEuODQ3NzIwNzQyMjI1NjQ3XSwgWzE2NjM4MTgwNDYuOTk0NjI0NiwgMzczNSwgMS40OTA3MzUyOTI0MzQ2OTI0XSwgWzE2NjM4MTgwNDcuMDg2MDI5OCwgMzc0NCwgMS4zMDAxNzU2NjY4MDkwODJdLCBbMTY2MzgxODA0Ny4zNDU4NjEyLCAzNzcxLCAxLjk3MjkzMTYyMzQ1ODg2MjNdLCBbMTY2MzgxODA0Ny42MjE3NTU2LCAzNzk4LCAxLjg1ODUwNTk2NDI3OTE3NDhdLCBbMTY2MzgxODA0Ny43MTUwMjk1LCAzODA3LCAxLjQ5NjQzMzYxNTY4NDUwOTNdLCBbMTY2MzgxODA0Ny45Njc3MDcyLCAzODM0LCAyLjE0NzY3MjY1MzE5ODI0Ml0sIFsxNjYzODE4MDQ4LjA1MDAzMzgsIDM4NDMsIDEuNjE1MDM3OTE4MDkwODIwM10sIFsxNjYzODE4MDQ4LjQwMzY0MjQsIDM4NzksIDEuNjc2NDg1MTgwODU0Nzk3NF0sIFsxNjYzODE4MDQ4Ljg1MjM1MzMsIDM5MjQsIDEuNDcxNTI1Nzg4MzA3MTldLCBbMTY2MzgxODA0OC45MzIwNzgsIDM5MzMsIDEuNjMyNTI2Mjc4NDk1Nzg4Nl0sIFsxNjYzODE4MDQ5LjAxMzI3MDksIDM5NDIsIDEuNzAxMzA5OTE5MzU3Mjk5OF0sIFsxNjYzODE4MDQ5LjE4MzEzMzgsIDM5NjAsIDEuNjA4NjY2NjU4NDAxNDg5M10sIFsxNjYzODE4MDQ5LjI2ODQ1MiwgMzk2OSwgMS41MDQ5OTczNzI2MjcyNTgzXSwgWzE2NjM4MTgwNDkuMzU4MDY1MSwgMzk3OCwgMS41NzMwMDQ3MjI1OTUyMTQ4XSwgWzE2NjM4MTgwNDkuNTIwOTQxNywgMzk5NiwgMS4zNDMzNzY4NzQ5MjM3MDZdLCBbMTY2MzgxODA0OS42MjEzNjEzLCA0MDA1LCAxLjU2Nzk1ODcxMjU3NzgxOThdLCBbMTY2MzgxODA0OS44NTA1OTQ4LCA0MDIzLCAxLjM2NzM3MTQzOTkzMzc3NjldLCBbMTY2MzgxODA1MC4yODY3MzY1LCA0MDU5LCAxLjM5NjAwNzc3NjI2MDM3Nl0sIFsxNjYzODE4MDUwLjUwMjAxNjgsIDQwNzcsIDEuMzI2OTIxNzAxNDMxMjc0NF0sIFsxNjYzODE4MDUwLjYwMTg4OTYsIDQwODYsIDEuNzY0NTIzNjI1MzczODQwM10sIFsxNjYzODE4MDUwLjcxOTI2NTcsIDQwOTUsIDEuNTA5MDkxNzM0ODg2MTY5NF0sIFsxNjYzODE4MDUwLjkwNTU1LCA0MTEzLCAxLjMwMzMwNTM4NzQ5Njk0ODJdLCBbMTY2MzgxODA1MS4yOTI5Mjc3LCA0MTQ5LCAxLjQwMzg2OTg2NzMyNDgyOV0sIFsxNjYzODE4MDUxLjQwNDc5MywgNDE1OCwgMS4zMzIxNjY1NTI1NDM2NDAxXSwgWzE2NjM4MTgwNTEuODM2NjcxOCwgNDE5NCwgMS4xOTU1MjIwNjk5MzEwMzAzXSwgWzE2NjM4MTgwNTEuOTM4MjY5MSwgNDIwMywgMS4zOTg2MTE1NDU1NjI3NDQxXSwgWzE2NjM4MTgwNTIuMTIxOTQ1NCwgNDIyMSwgMS4zMTcwNzgzNTE5NzQ0ODczXSwgWzE2NjM4MTgwNTIuMzAzMDIzLCA0MjM5LCAxLjg1ODk3MzAyNjI3NTYzNDhdLCBbMTY2MzgxODA1Mi44ODI2NzcsIDQyNzUsIDEuMzI2ODExMzEzNjI5MTUwNF0sIFsxNjYzODE4MDUyLjk4OTEwMzYsIDQyODQsIDEuNTAzMjMyNTk4MzA0NzQ4NV0sIFsxNjYzODE4MDUzLjI2NjE1NDgsIDQzMTEsIDEuNjc4OTY5ODYwMDc2OTA0M10sIFsxNjYzODE4MDUzLjQ0ODMzNDIsIDQzMjksIDEuNzYwODEyOTk3ODE3OTkzMl0sIFsxNjYzODE4MDUzLjUyOTY2OCwgNDMzOCwgMS4zOTg3MDE2Njc3ODU2NDQ1XSwgWzE2NjM4MTgwNTMuNzA1MzI3NSwgNDM1NiwgMS42OTEzMDk4MDk2ODQ3NTM0XSwgWzE2NjM4MTgwNTMuNzkwMTE5NiwgNDM2NSwgMS4zMDUyNzE4NjM5MzczNzhdLCBbMTY2MzgxODA1NC4wNjA1OTAzLCA0MzkyLCAxLjM3ODQxNjQxOTAyOTIzNThdLCBbMTY2MzgxODA1NC4xNDgyMTM0LCA0NDAxLCAxLjY2MzQyODY2NDIwNzQ1ODVdLCBbMTY2MzgxODA1NC4yMzU3MTksIDQ0MTAsIDEuNDg0OTE0NjYwNDUzNzk2NF0sIFsxNjYzODE4MDU0LjQwNTY2OTcsIDQ0MjgsIDEuMjIzMjM1NjA3MTQ3MjE2OF0sIFsxNjYzODE4MDU0LjY2MjQ5MzUsIDQ0NTUsIDEuMzM1ODg4MjY2NTYzNDE1NV0sIFsxNjYzODE4MDU1LjA2NzIxMjYsIDQ0OTEsIDEuNTc4Njk3NDQzMDA4NDIyOV0sIFsxNjYzODE4MDU1LjQ2MjYwNzYsIDQ1MjcsIDEuNzExMTQzMzc0NDQzMDU0Ml0sIFsxNjYzODE4MDU1LjU1MjY5MTUsIDQ1MzYsIDEuMjg2MjMzNDI1MTQwMzgwOV0sIFsxNjYzODE4MDU1LjgzMDExNiwgNDU2MywgMS40NDYxODk4ODAzNzEwOTM4XSwgWzE2NjM4MTgwNTYuMTAzNzAwMiwgNDU5MCwgMS4zODE4NzA4NjU4MjE4Mzg0XSwgWzE2NjM4MTgwNTYuMTk1MTU0NywgNDU5OSwgMS41MTMwNjQxNDYwNDE4NzAxXSwgWzE2NjM4MTgwNTYuMjgyNzk2NCwgNDYwOCwgMS4yNjkxMTk3Mzk1MzI0NzA3XSwgWzE2NjM4MTgwNTYuMzY5Nzc2NywgNDYxNywgMS43NTYzMDExNjQ2MjcwNzUyXSwgWzE2NjM4MTgwNTYuNDU1OTU4MSwgNDYyNiwgMS4zMzQ3OTExODM0NzE2Nzk3XSwgWzE2NjM4MTgwNTYuNTQ0NzQ1LCA0NjM1LCAxLjMwOTIxNDQ3Mjc3MDY5MV0sIFsxNjYzODE4MDU2LjgyMTcwOTksIDQ2NjIsIDEuNDI3OTgwNDIyOTczNjMyOF0sIFsxNjYzODE4MDU2LjkwODk3MiwgNDY3MSwgMS41ODYxMTQ3NjQyMTM1NjJdLCBbMTY2MzgxODA1Ny4wMDcwODQ0LCA0NjgwLCAxLjQ1ODM1MTM3MzY3MjQ4NTRdLCBbMTY2MzgxODA1Ny4xMjM0NTk2LCA0Njg5LCAxLjQ0OTIyNzA5NDY1MDI2ODZdLCBbMTY2MzgxODA1Ny40MDYzODA3LCA0NzE2LCAxLjQ1MTk1MjA5OTgwMDEwOTldLCBbMTY2MzgxODA1OC4wMzQ3MzUyLCA0Nzc5LCAxLjM3MjQ1NDA0NzIwMzA2NF0sIFsxNjYzODE4MDU4LjM2NjQ1MywgNDgwNiwgMS4yMjEyMzg2MTMxMjg2NjJdLCBbMTY2MzgxODA1OC40ODY2MjA0LCA0ODE1LCAxLjM3MDQxNTkyNTk3OTYxNDNdLCBbMTY2MzgxODA1OC42OTE3MTA3LCA0ODMzLCAxLjcwNTg1Mjk4NTM4MjA4XSwgWzE2NjM4MTgwNTguNzgxMzE0MSwgNDg0MiwgMS44MzA1NzA0NTkzNjU4NDQ3XSwgWzE2NjM4MTgwNTguODcxMzYxMywgNDg1MSwgMS4xNzcwODMyNTM4NjA0NzM2XSwgWzE2NjM4MTgwNTkuMDk4NTI0LCA0ODY5LCAxLjMyMjIxOTQ5MTAwNDk0MzhdLCBbMTY2MzgxODA1OS4zMjcxMjcyLCA0ODg3LCAxLjI5MjY4MTU3NDgyMTQ3MjJdLCBbMTY2MzgxODA1OS41MDgwOTQ1LCA0OTA1LCAxLjM0NjM2OTE0NzMwMDcyMDJdLCBbMTY2MzgxODA1OS43MDk1ODQyLCA0OTIzLCAxLjYzMzc0ODI5MjkyMjk3MzZdLCBbMTY2MzgxODA1OS44MTgzNTQ0LCA0OTMyLCAxLjM1MDI5NTY2Mjg3OTk0MzhdLCBbMTY2MzgxODA2MC4xMDkyNDI3LCA0OTU5LCAxLjIzNzEyMDUwOTE0NzY0NF0sIFsxNjYzODE4MDYwLjI5Mjg4NiwgNDk3NywgMS41NjE5MDU3NDE2OTE1ODk0XSwgWzE2NjM4MTgwNjAuNjA4MDI4NCwgNTAwNCwgMS4zODE5MjY0MTczNTA3NjldLCBbMTY2MzgxODA2MC43MTE4NTY4LCA1MDEzLCAxLjIwNDY2NDgyNjM5MzEyNzRdLCBbMTY2MzgxODA2MS40NjAxOTA1LCA1MDY3LCAxLjQwMjk2NjYxODUzNzkwMjhdLCBbMTY2MzgxODA2MS41NTc3MDgsIDUwNzYsIDEuMjI0MTMzODQ5MTQzOTgyXSwgWzE2NjM4MTgwNjEuNjU2MDQ2MiwgNTA4NSwgMS4yOTA1MzIyMzEzMzA4NzE2XSwgWzE2NjM4MTgwNjIuMDQ0ODc2OCwgNTEyMSwgMS4zMDQ3NjQ3NDc2MTk2MjldLCBbMTY2MzgxODA2Mi4zNDY1NjQ1LCA1MTQ4LCAxLjI1NjkxMTAzOTM1MjQxN10sIFsxNjYzODE4MDYyLjUzOTgwNzMsIDUxNjYsIDEuMjM5NDI1NDIwNzYxMTA4NF0sIFsxNjYzODE4MDYyLjgzNTIwOTgsIDUxOTMsIDEuODI4ODM3MDM3MDg2NDg2OF0sIFsxNjYzODE4MDYzLjI0MDY3MywgNTIyOSwgMS41MTE2MTgyNTY1Njg5MDg3XSwgWzE2NjM4MTgwNjMuNjEzNDk2OCwgNTI2NSwgMS4zNjM4ODQ1NjgyMTQ0MTY1XSwgWzE2NjM4MTgwNjMuNjg5NTM2LCA1Mjc0LCAxLjQxMjQ3MzQ0MDE3MDI4OF0sIFsxNjYzODE4MDYzLjc4MzI2MjUsIDUyODMsIDEuMzcxMDA4OTkyMTk1MTI5NF0sIFsxNjYzODE4MDYzLjk1NTAwNSwgNTMwMSwgMS4yMzE3NDE5MDUyMTI0MDIzXSwgWzE2NjM4MTgwNjQuMTMyODA3MywgNTMxOSwgMS4zNDIxNzU0ODM3MDM2MTMzXSwgWzE2NjM4MTgwNjQuMjU5MzA3MSwgNTMyOCwgMS4xMjIwNzg2NTcxNTAyNjg2XSwgWzE2NjM4MTgwNjQuMzY2MjYwOCwgNTMzNywgMS4yMzQ1NjkwNzI3MjMzODg3XSwgWzE2NjM4MTgwNjQuNTM3MTIzLCA1MzU1LCAxLjIzOTg5NDI3MDg5NjkxMTZdLCBbMTY2MzgxODA2NC43MjY5NDUyLCA1MzczLCAxLjM3MjE2NzExMDQ0MzExNTJdLCBbMTY2MzgxODA2NC44OTI4OTcxLCA1MzkxLCAxLjE3OTcyMTcxMzA2NjEwMV0sIFsxNjYzODE4MDY0Ljk3ODgxNjcsIDU0MDAsIDEuMzUzMjgxNDk3OTU1MzIyM10sIFsxNjYzODE4MDY1LjI0MTYsIDU0MjcsIDEuNjA4NDQ3NDMyNTE4MDA1NF0sIFsxNjYzODE4MDY1LjM1OTgyMTgsIDU0MzYsIDEuMzQyNTE2MDY0NjQzODU5OV0sIFsxNjYzODE4MDY1Ljg4MDEyMzQsIDU0ODEsIDEuMTY4NjI0NTIwMzAxODE4OF0sIFsxNjYzODE4MDY2LjA2NDAxOTcsIDU0OTksIDEuMjM1MzIwNjg3Mjk0MDA2M10sIFsxNjYzODE4MDY2LjM0Mzk0MzgsIDU1MjYsIDEuMzE4MDA3NDY5MTc3MjQ2XSwgWzE2NjM4MTgwNjYuNDM1MjYwNSwgNTUzNSwgMS4xOTM0Nzc5ODgyNDMxMDNdLCBbMTY2MzgxODA2Ni42NDA3MjEsIDU1NTMsIDEuMTQ4MDUyMjE1NTc2MTcxOV0sIFsxNjYzODE4MDY2LjgxNjQ5MTEsIDU1NzEsIDEuNTQyMjQ5Nzk4Nzc0NzE5Ml0sIFsxNjYzODE4MDY2Ljk4OTIwNCwgNTU4OSwgMS40MjUwNzk1ODQxMjE3MDRdLCBbMTY2MzgxODA2Ny4xNjAzNzMyLCA1NjA3LCAxLjI1MDQzNDA0MTAyMzI1NDRdLCBbMTY2MzgxODA2Ny4yNDU4MTg5LCA1NjE2LCAxLjM0MDY3Nzg1NzM5ODk4NjhdLCBbMTY2MzgxODA2Ny41MDYyMDQxLCA1NjQzLCAxLjIxOTAzMzI0MTI3MTk3MjddLCBbMTY2MzgxODA2Ny42ODcxOTg0LCA1NjYxLCAxLjMzMDU4MzgxMDgwNjI3NDRdLCBbMTY2MzgxODA2Ny43Nzc4MTk2LCA1NjcwLCAxLjIzNTU5MTQxMTU5MDU3NjJdLCBbMTY2MzgxODA2OC4xMjk1MDEzLCA1NzA2LCAxLjIyMTgwODkxMDM2OTg3M10sIFsxNjYzODE4MDY4LjQ3NDk4LCA1NzQyLCAxLjMyNTI5Njg3ODgxNDY5NzNdLCBbMTY2MzgxODA2OC43NTQ3MTM4LCA1NzY5LCAxLjM1NzM5MjMxMTA5NjE5MTRdLCBbMTY2MzgxODA2OC44NDI5NzI4LCA1Nzc4LCAxLjQ0Njg2ODg5NjQ4NDM3NV0sIFsxNjYzODE4MDY4LjkyMjc0MzgsIDU3ODcsIDEuMTY1NDU3ODQ0NzM0MTkyXSwgWzE2NjM4MTgwNjkuMDA1MzYyNywgNTc5NiwgMS4zMzUzODkwMTgwNTg3NzY5XSwgWzE2NjM4MTgwNjkuMDk2MTU5NSwgNTgwNSwgMS43MTAwMzc1ODkwNzMxODEyXSwgWzE2NjM4MTgwNjkuNjg0NzY3NSwgNTg1MCwgMS4yMDQxNTcxMTQwMjg5MzA3XSwgWzE2NjM4MTgwNjkuODc5MzEwMSwgNTg2OCwgMS4xNzQ4Njc2MzAwMDQ4ODI4XSwgWzE2NjM4MTgwNjkuOTYyMTk1LCA1ODc3LCAxLjczNDM3NjkwNzM0ODYzMjhdLCBbMTY2MzgxODA3MC4xMzE5NjE2LCA1ODk1LCAxLjIyMTE0OTIwNjE2MTQ5OV0sIFsxNjYzODE4MDcwLjIxODAzMywgNTkwNCwgMS4xNjQyMTA2NzcxNDY5MTE2XSwgWzE2NjM4MTgwNzAuNDc2MTQ5NiwgNTkzMSwgMS4xODk4NDkxMzgyNTk4ODc3XSwgWzE2NjM4MTgwNzAuNjQ3NTcyOCwgNTk0OSwgMS4yOTc5MDgwNjc3MDMyNDddLCBbMTY2MzgxODA3MS4yODU0MzY5LCA2MDEyLCAxLjI1NTk1Mzc4ODc1NzMyNDJdLCBbMTY2MzgxODA3MS41Mzk0Njc2LCA2MDM5LCAxLjI2MDk3ODEwMjY4NDAyMV0sIFsxNjYzODE4MDcxLjk4MTg2MywgNjA4NCwgMS41MTU2NzAyOTk1MzAwMjkzXSwgWzE2NjM4MTgwNzIuMDY5MTIzNSwgNjA5MywgMS4yNzg0NzEyMzE0NjA1NzEzXSwgWzE2NjM4MTgwNzIuMTU2MzY2NiwgNjEwMiwgMS40Mzg2MDU0Mjc3NDIwMDQ0XSwgWzE2NjM4MTgwNzIuNDE2NDQ1LCA2MTI5LCAxLjI4MTg3NTM3MTkzMjk4MzRdLCBbMTY2MzgxODA3Mi41ODkzMjkyLCA2MTQ3LCAxLjM2NTg1OTI3MDA5NTgyNTJdLCBbMTY2MzgxODA3Mi42NzMzMzQ2LCA2MTU2LCAxLjM3OTY1ODEwMjk4OTE5NjhdLCBbMTY2MzgxODA3Mi43NTc5OTYsIDYxNjUsIDEuMjAwNjI1ODk2NDUzODU3NF0sIFsxNjYzODE4MDczLjAyMTE5NCwgNjE5MiwgMS4zMDA2NDE2NTU5MjE5MzZdLCBbMTY2MzgxODA3My40NDk2OTkyLCA2MjM3LCAxLjQwNjk0Nzg1MTE4MTAzMDNdLCBbMTY2MzgxODA3My42MTM2NTkxLCA2MjU1LCAxLjIxODU1NDg1NDM5MzAwNTRdLCBbMTY2MzgxODA3My43OTM1MjYyLCA2MjczLCAxLjExMzE0NzAyMDMzOTk2NThdLCBbMTY2MzgxODA3My44ODU4NTAyLCA2MjgyLCAxLjY3NTM3NDg2NTUzMTkyMTRdLCBbMTY2MzgxODA3NC4xMzc4MTY0LCA2MzAwLCAxLjE0NzM3OTI3OTEzNjY1NzddLCBbMTY2MzgxODA3NC40MDY0NDE1LCA2MzI3LCAyLjAwNzQ5OTIxNzk4NzA2MDVdLCBbMTY2MzgxODA3NC40OTc5MDQzLCA2MzM2LCAxLjE4ODgyNjU2MDk3NDEyMV0sIFsxNjYzODE4MDc0LjY2NjQ5LCA2MzU0LCAxLjI2MTk0Mjg2MzQ2NDM1NTVdLCBbMTY2MzgxODA3NS4wMDI1ODY0LCA2MzkwLCAxLjA4ODQ3NzczMDc1MTAzNzZdLCBbMTY2MzgxODA3NS4wODgyNjc2LCA2Mzk5LCAxLjE0NDg2MzQ4NjI4OTk3OF0sIFsxNjYzODE4MDc1LjI0OTE0ODQsIDY0MTcsIDEuMjA4NTQ3MzUzNzQ0NTA2OF0sIFsxNjYzODE4MDc1LjQ5MjgxMDIsIDY0NDQsIDEuMjQ3MTUyOTI0NTM3NjU4N10sIFsxNjYzODE4MDc1LjY2MTk4NDcsIDY0NjIsIDEuMjI2MTg4MTgyODMwODEwNV0sIFsxNjYzODE4MDc1LjkyNTA3MDgsIDY0ODksIDEuMTgxODk2OTI0OTcyNTM0Ml0sIFsxNjYzODE4MDc2LjAyMDUxMjMsIDY0OTgsIDEuMzYwNTE4ODEzMTMzMjM5N10sIFsxNjYzODE4MDc2LjE5MzY5OTYsIDY1MTYsIDEuMDg4MzMzMTI5ODgyODEyNV0sIFsxNjYzODE4MDc2LjM2Njc5MiwgNjUzNCwgMS4xNDc2NTU4NDQ2ODg0MTU1XSwgWzE2NjM4MTgwNzYuNDQ1OTI3NCwgNjU0MywgMS4xMTQ1Nzg4NDMxMTY3NjAzXSwgWzE2NjM4MTgwNzYuNjE4NDcwMiwgNjU2MSwgMS4yMDI2NzExNzAyMzQ2ODAyXSwgWzE2NjM4MTgwNzYuNzA0MTA0LCA2NTcwLCAxLjUyNTY3MjU1NDk2OTc4NzZdLCBbMTY2MzgxODA3Ni44ODE3Njk0LCA2NTg4LCAxLjA4MDM5NzI0ODI2ODEyNzRdLCBbMTY2MzgxODA3Ni45NzU2ODA0LCA2NTk3LCAxLjIzODAxNTI5NDA3NTAxMjJdLCBbMTY2MzgxODA3Ny4yMzQ4OSwgNjYwNiwgMS4zNTk1NDc5NzI2NzkxMzgyXSwgWzE2NjM4MTgwNzcuNzQwMzkzMiwgNjY1MSwgMS4yNzY5MTE5NzM5NTMyNDddLCBbMTY2MzgxODA3OC4yNDExMzc1LCA2Njg3LCAxLjEyNDQ3MTQyNjAxMDEzMThdLCBbMTY2MzgxODA3OC4zMjkwMDAyLCA2Njk2LCAxLjA4MTYxMjgyNTM5MzY3NjhdLCBbMTY2MzgxODA3OC40MTk3MTY2LCA2NzA1LCAxLjA1MjQ0NzMxOTAzMDc2MTddLCBbMTY2MzgxODA3OS41MjQzODI0LCA2ODEzLCAxLjMxMzUzODc4OTc0OTE0NTVdLCBbMTY2MzgxODA3OS42OTUyMjI2LCA2ODMxLCAxLjM2NDU5MDUyNTYyNzEzNjJdLCBbMTY2MzgxODA4MC4yMTg1ODY0LCA2ODg1LCAxLjA1NzQ5NjMwOTI4MDM5NTVdLCBbMTY2MzgxODA4MC4zMDI3MywgNjg5NCwgMS4xNzU3NDg5NDQyODI1MzE3XSwgWzE2NjM4MTgwODAuNjQ2NjYyNywgNjkyMSwgMS4zMzYwNDUxNDU5ODg0NjQ0XSwgWzE2NjM4MTgwODAuNzM3MTM2NCwgNjkzMCwgMS4yNDIyODcwMzk3NTY3NzVdLCBbMTY2MzgxODA4MS4wMzI4Mzc0LCA2OTU3LCAxLjM0Nzc3NTIyMDg3MDk3MTddLCBbMTY2MzgxODA4MS4zMjY3MjIxLCA2OTg0LCAxLjg3NDkzODEzMDM3ODcyMzFdLCBbMTY2MzgxODA4MS40MTg3MDgsIDY5OTMsIDEuNDM1MjE4NTcyNjE2NTc3MV0sIFsxNjYzODE4MDgxLjU5NDM3MjMsIDcwMTEsIDEuMzI4OTE2NjY4ODkxOTA2N10sIFsxNjYzODE4MDgxLjY4NTk1LCA3MDIwLCAxLjM4NTQxMDY2NjQ2NTc1OTNdLCBbMTY2MzgxODA4MS43Njg3MzksIDcwMjksIDEuMjE1ODU5NjUxNTY1NTUxOF0sIFsxNjYzODE4MDgxLjg1ODg3MDMsIDcwMzgsIDEuMDU4MzcyOTc0Mzk1NzUyXSwgWzE2NjM4MTgwODEuOTUxNjA0OCwgNzA0NywgMS4yMDQ4NjQyNjM1MzQ1NDZdLCBbMTY2MzgxODA4Mi41MDUxOTY4LCA3MTAxLCAxLjI1OTA3MzEzODIzNjk5OTVdLCBbMTY2MzgxODA4Mi44MTM0MjcyLCA3MTI4LCAxLjE4NjUyOTA0MDMzNjYwODldLCBbMTY2MzgxODA4NC4wMTk4Mjg4LCA3MjQ1LCAxLjA1ODYyNjUzMjU1NDYyNjVdLCBbMTY2MzgxODA4NC4xMTYyODMyLCA3MjU0LCAxLjA4NDIyNDEwNDg4MTI4NjZdLCBbMTY2MzgxODA4NC4xOTg2Mzk0LCA3MjYzLCAxLjI3NDg1MjUxNDI2Njk2NzhdLCBbMTY2MzgxODA4NC4yODEzODM1LCA3MjcyLCAxLjM4NjE5ODg3ODI4ODI2OV0sIFsxNjYzODE4MDg0LjU4NzIwMzMsIDcyOTksIDEuNDQxNDQ5OTk5ODA5MjY1MV0sIFsxNjYzODE4MDg1LjI5NjgwOTQsIDczNzEsIDEuMTU5MDA5NDU2NjM0NTIxNV0sIFsxNjYzODE4MDg1LjUzNzQxNTMsIDczODAsIDEuMDAxNTQxOTcyMTYwMzM5NF0sIFsxNjYzODE4MDg2LjI1NTIxODcsIDc0NTIsIDEuMTc3MzE3MTQyNDg2NTcyM10sIFsxNjYzODE4MDg2LjM1ODQ4NzgsIDc0NjEsIDEuMTYzMDk2NDI3OTE3NDgwNV0sIFsxNjYzODE4MDg2Ljc4NzcxNjIsIDc0OTcsIDEuMDc1MzM0NTQ4OTUwMTk1M10sIFsxNjYzODE4MDg2Ljg5MDY5MzIsIDc1MDYsIDEuMDA5MTQxODAyNzg3NzgwOF0sIFsxNjYzODE4MDg3LjEwNDY5MjUsIDc1MjQsIDEuMTY3Mzc3OTQ4NzYwOTg2M10sIFsxNjYzODE4MDg3LjE5NzI4MzcsIDc1MzMsIDEuNDIxNDg1NzgxNjY5NjE2N10sIFsxNjYzODE4MDg3LjI4NDA5NTUsIDc1NDIsIDEuNDExMjA4MTUyNzcwOTk2XSwgWzE2NjM4MTgwODcuNDU0MDc3NSwgNzU2MCwgMC45OTcyOTY4MTAxNTAxNDY1XSwgWzE2NjM4MTgwODcuNTQyNDg4OCwgNzU2OSwgMS4yODAyOTUzNzIwMDkyNzczXSwgWzE2NjM4MTgwODcuODAxMDYxLCA3NTk2LCAxLjUyNTIyODczODc4NDc5XSwgWzE2NjM4MTgwODcuOTkzMzg5NiwgNzYxNCwgMS4yMTU4MDExMTk4MDQzODIzXSwgWzE2NjM4MTgwODguNDU0MjgxMywgNzY1OSwgMS4yNDYwMzg0MzY4ODk2NDg0XSwgWzE2NjM4MTgwODguNTUzMTk5OCwgNzY2OCwgMS42NzUxOTAyMTAzNDI0MDcyXSwgWzE2NjM4MTgwODguODM2MzQyMywgNzY5NSwgMS40MDE3NzM1NzE5NjgwNzg2XSwgWzE2NjM4MTgwODkuMTMwNTgwNywgNzcyMiwgMS4xODYyMDA3Mzc5NTMxODZdLCBbMTY2MzgxODA4OS40MDEzMDY5LCA3NzQ5LCAxLjM5Mjk1MDA1Nzk4MzM5ODRdLCBbMTY2MzgxODA4OS41ODkyNTcyLCA3NzY3LCAxLjUxNzgxODU3MDEzNzAyNF0sIFsxNjYzODE4MDg5Ljg5NzEwODMsIDc3OTQsIDEuMTkzOTk5NjQ4MDk0MTc3Ml0sIFsxNjYzODE4MDkwLjAwNTk3MDcsIDc4MDMsIDEuMjU1MjEwNjM4MDQ2MjY0Nl0sIFsxNjYzODE4MDkwLjQwNDYxMzcsIDc4MzksIDEuMzI1NzczMTE5OTI2NDUyNl0sIFsxNjYzODE4MDkwLjUwMjYwNDUsIDc4NDgsIDEuMDU3Mjc3Njc5NDQzMzU5NF0sIFsxNjYzODE4MDkxLjgzMDgwOTYsIDc5NjUsIDEuMTU0MDUxMDY1NDQ0OTQ2M10sIFsxNjYzODE4MDkxLjkyMDY1NzIsIDc5NzQsIDEuMTU5MjMyMTM5NTg3NDAyM10sIFsxNjYzODE4MDkyLjAxODAwMzIsIDc5ODMsIDEuNDA0MTgwNDA3NTI0MTA4OV0sIFsxNjYzODE4MDkyLjM4MDA1MzgsIDgwMTksIDEuNzk5MTUxMDYyOTY1MzkzXSwgWzE2NjM4MTgwOTIuNTUyNjUyNiwgODAzNywgMS4yMzE1NTY4OTIzOTUwMTk1XSwgWzE2NjM4MTgwOTIuODk1OTAyNCwgODA2NCwgMS45NDIxOTIzMTYwNTUyOTc5XSwgWzE2NjM4MTgwOTMuMTA4NTkyMywgODA4MiwgMS42MTkzODUxMjMyNTI4Njg3XSwgWzE2NjM4MTgwOTMuMjExNTM5MywgODA5MSwgMS4zNzI4NTcwOTM4MTEwMzUyXSwgWzE2NjM4MTgwOTMuNTIyNTc4NywgODExOCwgMS4yNTE2NDQ5Njg5ODY1MTEyXSwgWzE2NjM4MTgwOTMuNjM2MjU5OCwgODEyNywgMS4xMDkzNDE5NzkwMjY3OTQ0XSwgWzE2NjM4MTgwOTQuMzIzOTgzNCwgODE3MiwgMS4wODI3NjQ1MDYzNDAwMjY5XSwgWzE2NjM4MTgwOTQuNDQzODE1MiwgODE4MSwgMS4xMjM0MjE0MzA1ODc3Njg2XSwgWzE2NjM4MTgwOTQuNjUyMjYzMiwgODE5OSwgMS4yMjE5NDMyNTkyMzkxOTY4XSwgWzE2NjM4MTgwOTQuNzYwNjExOCwgODIwOCwgMS4xOTA4MDAxODk5NzE5MjM4XSwgWzE2NjM4MTgwOTUuMDc5MDgyNywgODIzNSwgMS4xNzk3MDIyODE5NTE5MDQzXSwgWzE2NjM4MTgwOTUuNDk0NjMxLCA4MjcxLCAxLjA4NTgyOTYxNTU5Mjk1NjVdLCBbMTY2MzgxODA5NS41NzUxNzU4LCA4MjgwLCAxLjA3MTU3Mzg1MzQ5MjczNjhdLCBbMTY2MzgxODA5NS43NTc4ODI0LCA4Mjk4LCAxLjIxMDA5MzYxNzQzOTI3XSwgWzE2NjM4MTgwOTUuOTgyNjM2NywgODMxNiwgMS4zODYzMTAxMDA1NTU0Ml0sIFsxNjYzODE4MDk2LjUxNjM4OSwgODM2MSwgMS4wMTUyMjg3NDgzMjE1MzMyXSwgWzE2NjM4MTgwOTYuNzExOTEwNSwgODM3OSwgMS4xNTQyMzQwNTE3MDQ0MDY3XSwgWzE2NjM4MTgwOTYuODA2NjUxNiwgODM4OCwgMS4xNjgyNDYxNTAwMTY3ODQ3XSwgWzE2NjM4MTgwOTYuODg0NDU3LCA4Mzk3LCAxLjM0NTEyNzk0MDE3NzkxNzVdLCBbMTY2MzgxODA5Ny4xNDcxNTcyLCA4NDI0LCAxLjE2ODg2NjAzODMyMjQ0ODddLCBbMTY2MzgxODA5Ny40ODg0MzQsIDg0NjAsIDEuMDY0NDU4NzI3ODM2NjA4OV0sIFsxNjYzODE4MDk3LjY2ODMzODUsIDg0NzgsIDEuMDYwMjA0NzQ0MzM4OTg5M10sIFsxNjYzODE4MDk3Ljc3NTM2NjUsIDg0ODcsIDEuMzE3MzM5Nzc3OTQ2NDcyMl0sIFsxNjYzODE4MDk4LjA2OTU2ODksIDg1MTQsIDEuMTIyODQ0OTM0NDYzNTAxXSwgWzE2NjM4MTgwOTguNDQ2MTE1MywgODU1MCwgMC45OTIwMDg5MjQ0ODQyNTI5XSwgWzE2NjM4MTgwOTguNzIyNzY0LCA4NTc3LCAwLjk1NTAyMTg1ODIxNTMzMl0sIFsxNjYzODE4MDk5LjAyMDA4NzIsIDg2MDQsIDEuMjE2NzUyMjkwNzI1NzA4XSwgWzE2NjM4MTgwOTkuMTI2NDI4OCwgODYxMywgMS4yMTM0NDY0OTc5MTcxNzUzXSwgWzE2NjM4MTgwOTkuNTAxNTM3NiwgODY0OSwgMS4xODI3MTI0MzU3MjIzNTFdLCBbMTY2MzgxODA5OS43MTQ0NTQsIDg2NjcsIDEuMTY0Mjk4MDU3NTU2MTUyM10sIFsxNjYzODE4MDk5LjgxNzY5MzIsIDg2NzYsIDEuMTA0NTkyNTYxNzIxODAxOF0sIFsxNjYzODE4MTAwLjAxMDQzOCwgODY5NCwgMS40MTc3NjQ1NDQ0ODY5OTk1XSwgWzE2NjM4MTgxMDAuMjM0OTM2MiwgODcxMiwgMS4yNTIzMDEyMTYxMjU0ODgzXSwgWzE2NjM4MTgxMDAuMzI5NDI3NywgODcyMSwgMS4zNTg0NjYwMjkxNjcxNzUzXSwgWzE2NjM4MTgxMDAuNjM4MTY2MiwgODc0OCwgMS4xNTc0NDAwNjYzMzc1ODU0XSwgWzE2NjM4MTgxMDEuMTc1MTA3MiwgODc5MywgMS4zODcxNzIxMDI5MjgxNjE2XSwgWzE2NjM4MTgxMDEuMzQyOTgxOCwgODgxMSwgMS4xNzU3MjU4MTc2ODAzNTg5XSwgWzE2NjM4MTgxMDEuNDI4NTYyOSwgODgyMCwgMS4yNzE5MjU0NDkzNzEzMzhdLCBbMTY2MzgxODEwMS42ODQyMTkxLCA4ODQ3LCAxLjQ0NjQzNzIzOTY0NjkxMTZdLCBbMTY2MzgxODEwMi4xNDcxMzUsIDg4ODMsIDEuMDkwNjY0MDI5MTIxMzk5XSwgWzE2NjM4MTgxMDIuNTY2OTg2MywgODkxOSwgMS42Mjk4OTgwNzEyODkwNjI1XSwgWzE2NjM4MTgxMDIuOTU0NTQ1NywgODkzNywgMS4zMjk3OTI5NzYzNzkzOTQ1XSwgWzE2NjM4MTgxMDMuMTU1MjUxNSwgODk1NSwgMS4yMDY0MTE5NTc3NDA3ODM3XSwgWzE2NjM4MTgxMDMuMzkxNTE5MywgODk3MywgMS43MjIyOTk0NTY1OTYzNzQ1XSwgWzE2NjM4MTgxMDMuNTc1MjYzNSwgODk5MSwgMS4xMjg5NTMyMTg0NjAwODNdLCBbMTY2MzgxODEwMy42NjAyNjA0LCA5MDAwLCAwLjkzMDE4MTIwNTI3MjY3NDZdLCBbMTY2MzgxODEwMy45NjM5NTUyLCA5MDI3LCAxLjE5MDAxNDk1ODM4MTY1MjhdLCBbMTY2MzgxODEwNC4wNTcyNzk2LCA5MDM2LCAxLjA4MzE0MjI4MDU3ODYxMzNdLCBbMTY2MzgxODEwNC4xNDg0MjE1LCA5MDQ1LCAxLjUyOTQyNjY5MzkxNjMyMDhdLCBbMTY2MzgxODEwNC4zMzU1NDc3LCA5MDYzLCAxLjA2MTIxOTY5MjIzMDIyNDZdLCBbMTY2MzgxODEwNC44NTMzNTY0LCA5MTA4LCAxLjE5NDM5ODk5OTIxNDE3MjRdLCBbMTY2MzgxODEwNS4wNDAxNTE0LCA5MTI2LCAxLjEyODA0MTI2NzM5NTAxOTVdLCBbMTY2MzgxODEwNS4yNDI0OTIsIDkxNDQsIDEuMDM5NDU3Nzk4MDA0MTUwNF0sIFsxNjYzODE4MTA1Ljg5MTQ5NjcsIDkyMDcsIDEuMDUwNzYxNDYxMjU3OTM0Nl0sIFsxNjYzODE4MTA2LjIzMjM0NTMsIDkyNDMsIDEuMDUxNzk4MzQzNjU4NDQ3M10sIFsxNjYzODE4MTA2LjQyNDg1ODYsIDkyNjEsIDEuMTA2Mjg5MDI5MTIxMzk5XSwgWzE2NjM4MTgxMDYuNTE2Mjc1MiwgOTI3MCwgMS4wNjI3ODI1MjYwMTYyMzU0XSwgWzE2NjM4MTgxMDcuMDYxNTU2OCwgOTMyNCwgMS4wODk3Mjg5NTE0NTQxNjI2XSwgWzE2NjM4MTgxMDcuMTQ0ODcwOCwgOTMzMywgMS4xNDU1MDc1NzQwODE0MjFdLCBbMTY2MzgxODEwNy4yMjY4ODkxLCA5MzQyLCAxLjQwNDYyMzc0Njg3MTk0ODJdLCBbMTY2MzgxODEwNy4zMTQ2ODk2LCA5MzUxLCAxLjI3NDQ4Mzc5OTkzNDM4NzJdLCBbMTY2MzgxODEwNy4zODY4ODIzLCA5MzYwLCAxLjYyOTA1MzgzMTEwMDQ2MzldLCBbMTY2MzgxODEwNy43NzIxMzY3LCA5Mzk2LCAxLjA1MzUxNDgzODIxODY4OV0sIFsxNjYzODE4MTA4LjAxODkwNCwgOTQyMywgMS4zMDc1OTI4Njg4MDQ5MzE2XSwgWzE2NjM4MTgxMDguODk4MzI3NiwgOTUxMywgMS4xODY4NDI1NjA3NjgxMjc0XSwgWzE2NjM4MTgxMDkuMDc3NDE1LCA5NTMxLCAxLjIyMjAwODM0NzUxMTI5MTVdLCBbMTY2MzgxODEwOS4xNzAxNTY3LCA5NTQwLCAxLjA0NjE3Nzg2NDA3NDcwN10sIFsxNjYzODE4MTA5LjI1NjM1MTIsIDk1NDksIDEuMTU2NzI4ODYzNzE2MTI1NV0sIFsxNjYzODE4MTA5LjQ0NjkzNTcsIDk1NjcsIDEuMTk0NDk4ODk2NTk4ODE2XSwgWzE2NjM4MTgxMDkuNzE2MzMwOCwgOTU5NCwgMS4zNDg3NDEwNTQ1MzQ5MTJdLCBbMTY2MzgxODEwOS45NTU2ODgsIDk2MTIsIDEuMDk2MDI3NjEyNjg2MTU3Ml0sIFsxNjYzODE4MTEwLjE4NzUyMzYsIDk2MzAsIDEuMDc0OTIxODQ2Mzg5NzcwNV0sIFsxNjYzODE4MTEwLjMwNzMwNDEsIDk2MzksIDEuMTEwMDU0OTY5Nzg3NTk3N10sIFsxNjYzODE4MTEwLjQyNzQxNjYsIDk2NDgsIDEuNDEzMTAxNDM0NzA3NjQxNl0sIFsxNjYzODE4MTEwLjU1NDczODgsIDk2NTcsIDEuMjg2MDgwMjQxMjAzMzA4XSwgWzE2NjM4MTgxMTAuNjUxNTQ2NSwgOTY2NiwgMS4wNDc0MzQ1Njg0MDUxNTE0XSwgWzE2NjM4MTgxMTAuNzU3MTk4NiwgOTY3NSwgMS4zMTIwODc0MTY2NDg4NjQ3XSwgWzE2NjM4MTgxMTEuMDg5MTkyNCwgOTcwMiwgMS4wNTY5NzY2NzU5ODcyNDM3XSwgWzE2NjM4MTgxMTEuMzMyMzYzOCwgOTcxMSwgMS4xNzEzMDk3MDk1NDg5NTAyXSwgWzE2NjM4MTgxMTEuNTMwOTYzMiwgOTcyOSwgMS4zNDM1MDk2NzQwNzIyNjU2XSwgWzE2NjM4MTgxMTEuNjIyODk3MSwgOTczOCwgMS4zNTIyNDYwNDYwNjYyODQyXSwgWzE2NjM4MTgxMTEuNzI4MDAxNiwgOTc0NywgMC45OTE0NTQ2NjA4OTI0ODY2XSwgWzE2NjM4MTgxMTIuMDExNjUzNCwgOTc3NCwgMC45NzkwMjYxMzg3ODI1MDEyXSwgWzE2NjM4MTgxMTIuMTA1MzU4NCwgOTc4MywgMS4wNTkwMDg4MzY3NDYyMTU4XSwgWzE2NjM4MTgxMTIuMTk2NDM3LCA5NzkyLCAxLjQ5NDI0MDQwMzE3NTM1NF0sIFsxNjYzODE4MTEyLjU2MzYzNjUsIDk4MjgsIDAuOTk0OTQ2MTgxNzc0MTM5NF0sIFsxNjYzODE4MTEzLjMxOTE1MjYsIDk4OTEsIDEuMDkzMTY3NTQzNDExMjU0OV0sIFsxNjYzODE4MTEzLjU0MzAzMzQsIDk5MDksIDEuNjE4NzY5NTI2NDgxNjI4NF0sIFsxNjYzODE4MTEzLjc0MjkwOCwgOTkyNywgMS4xMDc3NjQyNDQwNzk1ODk4XSwgWzE2NjM4MTgxMTMuODc1MTQzLCA5OTM2LCAwLjk0NDc4NjAxMjE3MjY5OV0sIFsxNjYzODE4MTEzLjk4NTI0OTUsIDk5NDUsIDEuMTQ4MzUyMjY1MzU3OTcxMl0sIFsxNjYzODE4MTE0LjI3ODc0MiwgOTk3MiwgMS40NDQxOTM4NDAwMjY4NTU1XSwgWzE2NjM4MTgxMTQuNDYxMDA4LCA5OTkwLCAxLjIzNjI0MjQxMzUyMDgxM10sIFsxNjYzODE4MTE0LjY2MTEzMTksIDEwMDA4LCAxLjA3NjEzNTAzOTMyOTUyODhdLCBbMTY2MzgxODExNC43NTU1MzQsIDEwMDE3LCAxLjQ2MzQyMzcyODk0Mjg3MV0sIFsxNjYzODE4MTE0LjkzMTEyNCwgMTAwMzUsIDEuMTU2MDAxMDkxMDAzNDE4XSwgWzE2NjM4MTgxMTUuMzgzMDExLCAxMDA4MCwgMS4yNDk0Njc0OTIxMDM1NzY3XSwgWzE2NjM4MTgxMTUuNTQ2MzU5OCwgMTAwOTgsIDEuNjA1MTI4NzY1MTA2MjAxMl0sIFsxNjYzODE4MTE1LjYzMzgyMywgMTAxMDcsIDAuOTc3NjI4NDA5ODYyNTE4M10sIFsxNjYzODE4MTE1LjkxNjAyOTUsIDEwMTM0LCAxLjA2MjE3NDkxNjI2NzM5NV0sIFsxNjYzODE4MTE2LjAwMzM3NTMsIDEwMTQzLCAxLjE2MTAxNTYyOTc2ODM3MTZdLCBbMTY2MzgxODExNi4yMTAyNjcsIDEwMTYxLCAwLjk3MTMxMTM5MDM5OTkzMjldLCBbMTY2MzgxODExNi4zMTM5MTcsIDEwMTcwLCAxLjI0MTI4MzE3ODMyOTQ2NzhdLCBbMTY2MzgxODExNi42MTM2NTA4LCAxMDE5NywgMS4wOTg4Mjg2NzMzNjI3MzJdLCBbMTY2MzgxODExNi43OTMxMjU5LCAxMDIxNSwgMC45ODIyODgwMDI5Njc4MzQ1XSwgWzE2NjM4MTgxMTYuODg4NDM0LCAxMDIyNCwgMS4wMTAwNjc1ODIxMzA0MzIxXSwgWzE2NjM4MTgxMTYuOTg2MTgyMiwgMTAyMzMsIDEuMDU3MTg5ODIyMTk2OTYwNF0sIFsxNjYzODE4MTE3LjMzMzE1NDcsIDEwMjYwLCAxLjE3NDMzNTI0MTMxNzc0OV0sIFsxNjYzODE4MTE3Ljk4Mjg5OCwgMTAzMjMsIDEuMDUzNjQ2NjgzNjkyOTMyMV0sIFsxNjYzODE4MTE4LjE2MDY2MDUsIDEwMzQxLCAxLjE3ODM1NDc0MDE0MjgyMjNdLCBbMTY2MzgxODExOC4zMjcyNjIsIDEwMzU5LCAxLjI3NzcwMjU2OTk2MTU0NzldLCBbMTY2MzgxODExOC40MjU2OTc2LCAxMDM2OCwgMS4wNjg2ODQ5MzU1Njk3NjMyXSwgWzE2NjM4MTgxMTguNTI2MjUxNiwgMTAzNzcsIDEuMzQzNzYyMDQwMTM4MjQ0Nl0sIFsxNjYzODE4MTE4LjY1MDIxODcsIDEwMzg2LCAxLjU4NTA3NjA5MzY3MzcwNl0sIFsxNjYzODE4MTE5LjQwMDM0OTYsIDEwNDQ5LCAxLjI4OTY4NTAxMDkxMDAzNDJdLCBbMTY2MzgxODExOS42MDE4MjYsIDEwNDY3LCAxLjM3NDM1MTI2MzA0NjI2NDZdLCBbMTY2MzgxODExOS44MTgzNTk0LCAxMDQ4NSwgMS4xMjUyNzAxMjgyNTAxMjJdLCBbMTY2MzgxODEyMC4zMTUxMzg2LCAxMDUxMiwgMS4yODU2NDU5NjE3NjE0NzQ2XSwgWzE2NjM4MTgxMjAuOTM4OTY3LCAxMDU2NiwgMS4xNDQ5NDAyNTcwNzI0NDg3XSwgWzE2NjM4MTgxMjEuMDMzMzQzLCAxMDU3NSwgMS4xNzc5MDM4OTA2MDk3NDEyXSwgWzE2NjM4MTgxMjEuMjU4Njg4NCwgMTA1OTMsIDEuMDcxNjI0Mjc5MDIyMjE2OF0sIFsxNjYzODE4MTIxLjM5MzkyMjMsIDEwNjAyLCAxLjA1NDg1ODY4NDUzOTc5NV0sIFsxNjYzODE4MTIxLjQ4MjEyNzQsIDEwNjExLCAxLjIwMDg1MzU4NjE5Njg5OTRdLCBbMTY2MzgxODEyMS44Njk2OTY5LCAxMDY0NywgMS4yNTk2Mjg3NzI3MzU1OTU3XSwgWzE2NjM4MTgxMjIuMDgwNzY0LCAxMDY2NSwgMS40Mzk2ODY1MzY3ODg5NDA0XSwgWzE2NjM4MTgxMjIuMjQwOTk5MiwgMTA2ODMsIDAuOTg3MjU5MjA5MTU2MDM2NF0sIFsxNjYzODE4MTIyLjUwMzYwMTYsIDEwNzEwLCAxLjE3NzE2OTc5OTgwNDY4NzVdLCBbMTY2MzgxODEyMi41OTE4NTM0LCAxMDcxOSwgMS4zMTkzNTc2MzM1OTA2OTgyXSwgWzE2NjM4MTgxMjIuOTAzODM4LCAxMDc0NiwgMS40NTk4MDQ4OTI1Mzk5NzhdLCBbMTY2MzgxODEyMi45OTUyMzI4LCAxMDc1NSwgMS4zMjUwMDgxNTM5MTU0MDUzXSwgWzE2NjM4MTgxMjMuMjY0ODU0NCwgMTA3ODIsIDEuMDU0NzgxNTU2MTI5NDU1Nl0sIFsxNjYzODE4MTIzLjM1MDQwMzUsIDEwNzkxLCAyLjAwNjQ3MjExMDc0ODI5MV0sIFsxNjYzODE4MTIzLjYwODE3NSwgMTA4MTgsIDEuMTI2NTY1MzM3MTgxMDkxM10sIFsxNjYzODE4MTIzLjk3ODQ2OCwgMTA4NTQsIDEuMzQ3MjM1MzIxOTk4NTk2Ml0sIFsxNjYzODE4MTI0LjA3ODUyNjMsIDEwODYzLCAxLjQxMTY4MTc3MTI3ODM4MTNdLCBbMTY2MzgxODEyNC4xNjk3NzksIDEwODcyLCAxLjA4MjEyNzgwOTUyNDUzNjFdLCBbMTY2MzgxODEyNC4zMzI5NDc3LCAxMDg5MCwgMS4xNzE3OTYyMDI2NTk2MDddLCBbMTY2MzgxODEyNC43MzExMiwgMTA5MjYsIDEuMDQwMzk4NTk3NzE3Mjg1Ml0sIFsxNjYzODE4MTI0LjgwOTA5LCAxMDkzNSwgMS4yNjI5NDMyNjc4MjIyNjU2XSwgWzE2NjM4MTgxMjUuMTE1NjEwOCwgMTA5NzEsIDEuMjI3Mzg0MzI4ODQyMTYzXSwgWzE2NjM4MTgxMjUuNTA1OTMyOCwgMTEwMTYsIDEuMDU1MjQ3OTAyODcwMTc4Ml0sIFsxNjYzODE4MTI1LjY1ODU5NzIsIDExMDM0LCAxLjA0NDM2ODk4MjMxNTA2MzVdLCBbMTY2MzgxODEyNS45Nzg4NTM1LCAxMTA3MCwgMC45MDU1NTU1NDYyODM3MjE5XSwgWzE2NjM4MTgxMjYuMjM5MTUwNSwgMTEwOTcsIDEuMjI2MzI4MTM0NTM2NzQzMl0sIFsxNjYzODE4MTI2LjMzMDc1OCwgMTExMDYsIDEuNTQyOTc4MTY3NTMzODc0NV0sIFsxNjYzODE4MTI2Ljc1NTU2NTQsIDExMTUxLCAxLjEwMzc5ODI3MDIyNTUyNV0sIFsxNjYzODE4MTI2LjkyODAzMjIsIDExMTY5LCAxLjA4OTAyMDAxMzgwOTIwNF0sIFsxNjYzODE4MTI3LjE5NDk1OTQsIDExMTk2LCAwLjk3NDUyMzk2MTU0NDAzNjldLCBbMTY2MzgxODEyNy4yODY1Njg0LCAxMTIwNSwgMS4xMzcyMTcwNDQ4MzAzMjIzXSwgWzE2NjM4MTgxMjcuNDY5MzMzNCwgMTEyMjMsIDEuMDY1MjQyMjkwNDk2ODI2Ml0sIFsxNjYzODE4MTI3Ljc0NjQzNTksIDExMjUwLCAxLjE4MjUwOTU0MTUxMTUzNTZdLCBbMTY2MzgxODEyNy44MzM5OTE4LCAxMTI1OSwgMS4yODY3MjE4MjU1OTk2NzA0XSwgWzE2NjM4MTgxMjguMDc5OTUzLCAxMTI2OCwgMS41NjU2NDYxNzE1Njk4MjQyXSwgWzE2NjM4MTgxMjguMTczNjA3MywgMTEyNzcsIDEuMDMyNTMzNjQ1NjI5ODgyOF0sIFsxNjYzODE4MTI4LjMzODI0NSwgMTEyOTUsIDEuMDMzNDI2ODgwODM2NDg2OF0sIFsxNjYzODE4MTI4LjUwNTk3NSwgMTEzMTMsIDEuMzQ5MzMzODgyMzMxODQ4MV0sIFsxNjYzODE4MTI4LjU5ODQ4MjEsIDExMzIyLCAxLjA3Nzk5MjU1ODQ3OTMwOV0sIFsxNjYzODE4MTI4Ljg4MTIyNjUsIDExMzQ5LCAxLjIyMTU5Njk1NjI1MzA1MThdLCBbMTY2MzgxODEyOC45NzM4MjcsIDExMzU4LCAxLjI0ODg2NzM5MjUzOTk3OF0sIFsxNjYzODE4MTI5LjUxMDc2MjIsIDExNDEyLCAxLjE0NDUxOTIwOTg2MTc1NTRdLCBbMTY2MzgxODEyOS44NjgxNzIsIDExNDQ4LCAxLjA2MDgyNjc3ODQxMTg2NTJdLCBbMTY2MzgxODEzMC4yOTU4NzM5LCAxMTQ5MywgMS4zMjEzOTA3NDgwMjM5ODY4XSwgWzE2NjM4MTgxMzAuMzg2OTYyLCAxMTUwMiwgMS40NDEyMDA3MzMxODQ4MTQ1XSwgWzE2NjM4MTgxMzAuNDk3MjY3LCAxMTUxMSwgMS4yOTg1ODM3NDU5NTY0MjFdLCBbMTY2MzgxODEzMC45MTUwMzIxLCAxMTU0NywgMS40NDUwNjc1MjQ5MDk5NzMxXSwgWzE2NjM4MTgxMzEuMjA1OTU2LCAxMTU3NCwgMS4zNDc5ODM5NTYzMzY5NzVdLCBbMTY2MzgxODEzMS43NDkyMTY2LCAxMTYxOSwgMS4xMzI5ODM0NDYxMjEyMTU4XSwgWzE2NjM4MTgxMzIuMDU4MDY3NiwgMTE2NDYsIDEuMDY0ODY0Mzk3MDQ4OTUwMl0sIFsxNjYzODE4MTMyLjYzMjEzMzcsIDExNjkxLCAxLjExNzYyMzA5MDc0NDAxODZdLCBbMTY2MzgxODEzMi43MzUzNzAyLCAxMTcwMCwgMS4xMDMxOTkwMDUxMjY5NTMxXSwgWzE2NjM4MTgxMzMuMDU3MjEzOCwgMTE3MjcsIDEuMDU2Nzc5Mzg0NjEzMDM3XSwgWzE2NjM4MTgxMzMuNDc2Nzk1NCwgMTE3NjMsIDEuMDc4MzU3MTAwNDg2NzU1NF0sIFsxNjYzODE4MTMzLjk0MDkyNzcsIDExNzk5LCAxLjM0NTc4NTYxNzgyODM2OTFdLCBbMTY2MzgxODEzNC40MDMwNjk3LCAxMTg0NCwgMS4yMzg2MDgzNjAyOTA1MjczXSwgWzE2NjM4MTgxMzQuODk5MTA1LCAxMTg4OSwgMC45Mjg0OTY2NTg4MDIwMzI1XSwgWzE2NjM4MTgxMzUuMDgwMTI0OSwgMTE5MDcsIDEuMDY5MDI2NzA4NjAyOTA1M10sIFsxNjYzODE4MTM1LjM2MjY5MTQsIDExOTM0LCAxLjE1NjM5MTczOTg0NTI3NTldLCBbMTY2MzgxODEzNS40NDc4NjQzLCAxMTk0MywgMS4xNDg1MTU4MjA1MDMyMzQ5XSwgWzE2NjM4MTgxMzUuNjQ1MzI2LCAxMTk2MSwgMS4zODg0MjI5NjYwMDM0MThdLCBbMTY2MzgxODEzNi4yODU1Mjk0LCAxMjAyNCwgMS4xODk5MTA4ODg2NzE4NzVdLCBbMTY2MzgxODEzNy40MTQ4MTc4LCAxMjEwNSwgMS4wMzMyNjU3MDk4NzcwMTQyXSwgWzE2NjM4MTgxMzcuNTM1NDY1MiwgMTIxMTQsIDEuMDcyMjcwNTEyNTgwODcxNl0sIFsxNjYzODE4MTM3Ljg0NjExOSwgMTIxNDEsIDEuMTY5MjMxMDU3MTY3MDUzMl0sIFsxNjYzODE4MTM4LjE1Mjg3NDUsIDEyMTY4LCAxLjE5NjIzODUxNzc2MTIzMDVdLCBbMTY2MzgxODEzOC4yNzA4MywgMTIxNzcsIDEuMjc3MTc2ODU2OTk0NjI5XSwgWzE2NjM4MTgxMzguNTAxODk3NiwgMTIxOTUsIDEuMDAzMDM5NTk4NDY0OTY1OF0sIFsxNjYzODE4MTM4Ljg3NTQyODcsIDEyMjMxLCAwLjk0MjQ4NjEwNzM0OTM5NThdLCBbMTY2MzgxODEzOS4wMzc4ODgzLCAxMjI0OSwgMS4wNzI5Mjg0Mjg2NDk5MDIzXSwgWzE2NjM4MTgxMzkuMzg2MTc1LCAxMjI4NSwgMS4wNTY1NTM2MDIyMTg2MjhdLCBbMTY2MzgxODEzOS40NzQ5MTg0LCAxMjI5NCwgMS40MzY0MDY0OTMxODY5NTA3XSwgWzE2NjM4MTgxMzkuNTY5MDY3NywgMTIzMDMsIDEuMjI4MzY1NDIxMjk1MTY2XSwgWzE2NjM4MTgxMzkuNjY5NTIxNiwgMTIzMTIsIDEuMTg3NjIxNTkzNDc1MzQxOF0sIFsxNjYzODE4MTM5Ljc1ODc1NjYsIDEyMzIxLCAxLjA2MTE1MTk4MTM1Mzc1OThdLCBbMTY2MzgxODE0MC40MDg0MDM2LCAxMjM4NCwgMS4zMzY3OTYwNDUzMDMzNDQ3XSwgWzE2NjM4MTgxNDAuNDk0Mjc1LCAxMjM5MywgMS4yMjk0NDYwNTM1MDQ5NDM4XSwgWzE2NjM4MTgxNDAuODUyODUxMiwgMTI0MjksIDEuMDgxNTc0MzIwNzkzMTUxOV0sIFsxNjYzODE4MTQxLjMxNzExMDMsIDEyNDc0LCAxLjExMDY0NzU1OTE2NTk1NDZdLCBbMTY2MzgxODE0MS40MDExMjk3LCAxMjQ4MywgMS4zMTQxOTAyNjg1MTY1NDA1XSwgWzE2NjM4MTgxNDEuNzU1OTMzOCwgMTI1MTksIDEuNDI2Nzk4MTA1MjM5ODY4Ml0sIFsxNjYzODE4MTQyLjAyNzA4MzYsIDEyNTQ2LCAxLjEyOTgxNDg2MzIwNDk1Nl0sIFsxNjYzODE4MTQyLjM3NzU0NDksIDEyNTgyLCAxLjA2MjYxMzI0ODgyNTA3MzJdLCBbMTY2MzgxODE0NC4yOTAwOTQ0LCAxMjc2MiwgMS40MDkyOTk2MTIwNDUyODhdLCBbMTY2MzgxODE0NC42ODMyNDExLCAxMjc5OCwgMS4xOTIxNTUwMDM1NDc2Njg1XSwgWzE2NjM4MTgxNDUuODY0NTM2LCAxMjg4OCwgMS4wMzUyNDU2NTY5NjcxNjNdLCBbMTY2MzgxODE0NS45OTg5MDE4LCAxMjg5NywgMS4wODkxOTc4NzQwNjkyMTM5XSwgWzE2NjM4MTgxNDYuMzkxNjU5NSwgMTI5MzMsIDAuOTU2MTI4NjU2ODY0MTY2M10sIFsxNjYzODE4MTQ2LjU3MTQ5OTYsIDEyOTUxLCAxLjI4NTMwOTU1MzE0NjM2MjNdLCBbMTY2MzgxODE0Ni42NTk2MzI0LCAxMjk2MCwgMC45MzU0OTk4NDY5MzUyNzIyXSwgWzE2NjM4MTgxNDYuNzQ4MzI4LCAxMjk2OSwgMS4wMDc3OTc0Nzk2Mjk1MTY2XSwgWzE2NjM4MTgxNDYuODU4NzgyOCwgMTI5NzgsIDEuMDY2NTI2MTc0NTQ1Mjg4XSwgWzE2NjM4MTgxNDcuMjA3NjU4OCwgMTMwMDUsIDEuMDI0ODU5OTA1MjQyOTJdLCBbMTY2MzgxODE0Ny41MTQ2OTQsIDEzMDMyLCAxLjEwNzgxMDczNTcwMjUxNDZdLCBbMTY2MzgxODE0Ny43NTc4NjU0LCAxMzA1MCwgMS4wNTYxMjcwNzEzODA2MTUyXSwgWzE2NjM4MTgxNDcuOTUxOTQ5OCwgMTMwNjgsIDEuMDE2MTA2MDA5NDgzMzM3NF0sIFsxNjYzODE4MTQ4LjA1MTY2NzcsIDEzMDc3LCAxLjA2NzI5OTAwODM2OTQ0NThdLCBbMTY2MzgxODE0OC4yNDAzNzksIDEzMDk1LCAxLjEyMDU3OTI0MjcwNjI5ODhdLCBbMTY2MzgxODE0OC4zNDI4NzY0LCAxMzEwNCwgMS4xMjY1MTA4NTg1MzU3NjY2XSwgWzE2NjM4MTgxNDguNTMyODg3MiwgMTMxMjIsIDEuMDA4Nzk4NzE4NDUyNDUzNl0sIFsxNjYzODE4MTQ4LjYzMDAxOTcsIDEzMTMxLCAxLjA3MTU4ODAzOTM5ODE5MzRdLCBbMTY2MzgxODE0OC44NDk4MzMsIDEzMTQ5LCAxLjA1NzE3NzMwNTIyMTU1NzZdLCBbMTY2MzgxODE0OC45NDUxMDUzLCAxMzE1OCwgMS4wOTc4NzI5NzI0ODg0MDMzXSwgWzE2NjM4MTgxNDkuMTQwODM3MiwgMTMxNzYsIDEuMjQxOTQ4NzIzNzkzMDI5OF0sIFsxNjYzODE4MTQ5LjkxODY2MzcsIDEzMjM5LCAxLjIwOTI1MDkyNjk3MTQzNTVdLCBbMTY2MzgxODE1MC4xNzk4NzEzLCAxMzI2NiwgMC45NjUwODAzODA0Mzk3NTgzXSwgWzE2NjM4MTgxNTAuMjYwODgyMSwgMTMyNzUsIDEuMTA5NzMxNzkzNDAzNjI1NV0sIFsxNjYzODE4MTUwLjQzOTA1MiwgMTMyOTMsIDEuMjA5MzIwMTg3NTY4NjY0Nl0sIFsxNjYzODE4MTUxLjA4Mjk2NjgsIDEzMzU2LCAwLjk1NDk5NjE2ODYxMzQzMzhdLCBbMTY2MzgxODE1MS41MDIxNjY1LCAxMzM5MiwgMS4wMTY3NDA2Nzk3NDA5MDU4XSwgWzE2NjM4MTgxNTEuODE1MTExOSwgMTM0MTksIDEuMTEwMzUwMDEyNzc5MjM1OF0sIFsxNjYzODE4MTUyLjA5Nzk4OCwgMTM0NDYsIDEuMTI3NjkzMjk1NDc4ODIwOF0sIFsxNjYzODE4MTUyLjE5NTkwMDIsIDEzNDU1LCAxLjA4NjA0NjU3NjQ5OTkzOV0sIFsxNjYzODE4MTUyLjU1MzIzNjcsIDEzNDkxLCAxLjA3ODY2OTE5MDQwNjc5OTNdLCBbMTY2MzgxODE1Mi42Mzc5MjM1LCAxMzUwMCwgMS4wNjc2ODc4NjkwNzE5NjA0XSwgWzE2NjM4MTgxNTIuOTIxODYwNywgMTM1MjcsIDAuOTM1MDcyMDA0Nzk1MDc0NV0sIFsxNjYzODE4MTUzLjY0MTUzOSwgMTM1OTAsIDEuMTc1MzI2NzA0OTc4OTQyOV0sIFsxNjYzODE4MTUzLjk0MDUyNDgsIDEzNTk5LCAxLjY4MTAzNzA2ODM2NzAwNDRdLCBbMTY2MzgxODE1NC4wNDEzMjgsIDEzNjA4LCAxLjMxNzExMDMwMDA2NDA4N10sIFsxNjYzODE4MTU0LjI0MTM5NjIsIDEzNjI2LCAxLjAyNDY2MDcwNjUyMDA4MDZdLCBbMTY2MzgxODE1NC40MDk4MjUsIDEzNjQ0LCAxLjAxMjY3NjcxNTg1MDgzXSwgWzE2NjM4MTgxNTQuNDkzMTk1LCAxMzY1MywgMC45OTYxOTU3MzM1NDcyMTA3XSwgWzE2NjM4MTgxNTUuMTc4NzA2LCAxMzcxNiwgMS4wNDcyOTY4ODE2NzU3MjAyXSwgWzE2NjM4MTgxNTUuNjIxMDA2NSwgMTM3NjEsIDEuMjE0MTI4OTcxMDk5ODUzNV0sIFsxNjYzODE4MTU2LjExMDIyNiwgMTM4MTUsIDEuMDQ3MDQ0NzU0MDI4MzIwM10sIFsxNjYzODE4MTU2LjQzMTM2MTIsIDEzODQyLCAxLjA3MzY0NTk0OTM2MzcwODVdLCBbMTY2MzgxODE1Ni41NDM4NTQsIDEzODUxLCAwLjk4OTQzNzQ2MDg5OTM1M10sIFsxNjYzODE4MTU2Ljg0Mjc4NTQsIDEzODc4LCAxLjQ0NTQ1ODE3Mzc1MTgzMV0sIFsxNjYzODE4MTU3LjQ3NzYzODIsIDEzOTQxLCAxLjA3MzM0ODA0NTM0OTEyMV0sIFsxNjYzODE4MTU3Ljc5OTQ5NSwgMTM5NjgsIDEuMTczNzk3MjQ5Nzk0MDA2M10sIFsxNjYzODE4MTU3LjkxMTU1NDgsIDEzOTc3LCAwLjk1ODg0MTYyMTg3NTc2MjldLCBbMTY2MzgxODE1OC4wMDc3NDksIDEzOTg2LCAxLjA0Nzk5ODQyODM0NDcyNjZdLCBbMTY2MzgxODE1OC45OTkwODAyLCAxNDA2NywgMC45NDc5MDg1ODAzMDMxOTIxXSwgWzE2NjM4MTgxNTkuMzA2MDQ1OCwgMTQwOTQsIDEuMjA4MjgzOTAxMjE0NTk5Nl0sIFsxNjYzODE4MTU5LjQyMzc2MSwgMTQxMDMsIDAuOTI4OTA5NDIwOTY3MTAyXSwgWzE2NjM4MTgxNTkuNjQ2OTU0LCAxNDEyMSwgMS4wMDQ2NTgzNDE0MDc3NzU5XSwgWzE2NjM4MTgxNTkuODgwMjA4NSwgMTQxMzksIDEuMTM1ODMyNTQ4MTQxNDc5NV0sIFsxNjYzODE4MTYwLjAwNDM4MjQsIDE0MTQ4LCAxLjAwNTczOTY4ODg3MzI5MV0sIFsxNjYzODE4MTYwLjExNzQyMywgMTQxNTcsIDAuOTU2NzIwNzY5NDA1MzY1XSwgWzE2NjM4MTgxNjAuMjI5OTU0LCAxNDE2NiwgMS4yMzcwODkyNzYzMTM3ODE3XSwgWzE2NjM4MTgxNjAuNTEwNzQ4NiwgMTQxOTMsIDAuOTY1MTI0MjQ5NDU4MzEzXSwgWzE2NjM4MTgxNjAuOTU0NzA0LCAxNDIyOSwgMS4wNDc0MjQ2NzQwMzQxMTg3XSwgWzE2NjM4MTgxNjEuMDQxNjY2NywgMTQyMzgsIDEuMzYxODAyOTM1NjAwMjgwOF0sIFsxNjYzODE4MTYxLjEyMTg3MzYsIDE0MjQ3LCAxLjAxNTQzOTk4NzE4MjYxNzJdLCBbMTY2MzgxODE2MS4zNjc5NDUyLCAxNDI3NCwgMS4xMzYyMjk4NzI3MDM1NTIyXSwgWzE2NjM4MTgxNjEuODA1MDM0NCwgMTQzMTksIDAuOTY3MjU0MTYxODM0NzE2OF0sIFsxNjYzODE4MTYyLjI3OTA5MywgMTQzNjQsIDEuMTUyOTc5ODUwNzY5MDQzXSwgWzE2NjM4MTgxNjIuNTI1MjIwNCwgMTQzNzMsIDEuMTAwMTU4MjE0NTY5MDkxOF0sIFsxNjYzODE4MTYyLjYyNDQwNTYsIDE0MzgyLCAxLjI0MDYzMjE3NjM5OTIzMV0sIFsxNjYzODE4MTYyLjk2NDU3OTgsIDE0NDE4LCAxLjUxMTk0MTY3MTM3MTQ2XSwgWzE2NjM4MTgxNjMuMDUzODc5NSwgMTQ0MjcsIDEuNTU2NjgxOTkwNjIzNDc0MV0sIFsxNjYzODE4MTYzLjE2Mzg4NDYsIDE0NDM2LCAxLjE2MzIyMzk4MTg1NzI5OThdLCBbMTY2MzgxODE2My44NTE5MzYzLCAxNDUwOCwgMS4wOTIyNzg3MTg5NDgzNjQzXSwgWzE2NjM4MTgxNjQuMDg0NzEyNywgMTQ1MzUsIDEuMzA2Mjk1MDM3MjY5NTkyM10sIFsxNjYzODE4MTY0LjM0NDA2NDcsIDE0NTUzLCAxLjA0NjE3OTUzMzAwNDc2MDddLCBbMTY2MzgxODE2NC45MTMzODU5LCAxNDYwNywgMS4xNjI5ODA3OTQ5MDY2MTYyXSwgWzE2NjM4MTgxNjUuMDc4NDg1MywgMTQ2MjUsIDEuNTYxNzQzMTQwMjIwNjQyXSwgWzE2NjM4MTgxNjUuMzM4ODY0OCwgMTQ2NTIsIDEuMTE5NTgxMjIyNTM0MTc5N10sIFsxNjYzODE4MTY1LjcwMzQ3MjYsIDE0Njg4LCAwLjk0OTI1OTYzODc4NjMxNTldLCBbMTY2MzgxODE2Ni4wMzQxNzMsIDE0NzI0LCAxLjA1OTAwNTg1NjUxMzk3N10sIFsxNjYzODE4MTY2LjIwNzQ5NywgMTQ3NDIsIDEuMDMwMjY3MDAwMTk4MzY0M10sIFsxNjYzODE4MTY2LjQ1MTYxNTgsIDE0NzY5LCAxLjU2NzYzODg3NDA1Mzk1NV0sIFsxNjYzODE4MTY2LjU0MDA1ODEsIDE0Nzc4LCAwLjk4NTIzODAxNTY1MTcwMjldLCBbMTY2MzgxODE2Ni45ODU5NzAzLCAxNDgyMywgMS4yNTE0NzgwNzU5ODExNDAxXSwgWzE2NjM4MTgxNjcuMDY4NTY3OCwgMTQ4MzIsIDEuMDk2ODEyNjA1ODU3ODQ5MV0sIFsxNjYzODE4MTY3LjQyODMzNTcsIDE0ODY4LCAxLjM1MTY1MjI2NDU5NTAzMTddLCBbMTY2MzgxODE2Ny41MjI5OTY3LCAxNDg3NywgMS4xNzQyNDYzMTExODc3NDQxXSwgWzE2NjM4MTgxNjcuNjA1NzkxMywgMTQ4ODYsIDEuMjU2MDY5NjYwMTg2NzY3Nl0sIFsxNjYzODE4MTY3LjY5MTY2MTQsIDE0ODk1LCAxLjA5MzcyNTMyMzY3NzA2M10sIFsxNjYzODE4MTY3Ljg2ODIxNTYsIDE0OTEzLCAxLjA3NjE5MjI1OTc4ODUxMzJdLCBbMTY2MzgxODE2OC4wMzYyMTc1LCAxNDkzMSwgMS4yMTk2MTc5NjI4MzcyMTkyXSwgWzE2NjM4MTgxNjguMzgxOTU1NiwgMTQ5NjcsIDEuMTg5MzU0NTM4OTE3NTQxNV0sIFsxNjYzODE4MTY4LjU1MzUxMTYsIDE0OTg1LCAxLjE2MTY1NTU0NTIzNDY4MDJdLCBbMTY2MzgxODE2OC43MjI3OTc5LCAxNTAwMywgMS4xNTU0NTcwMTk4MDU5MDgyXSwgWzE2NjM4MTgxNjguOTgyNzk3NCwgMTUwMzAsIDEuMzY5NjM1NzAxMTc5NTA0NF0sIFsxNjYzODE4MTY5LjA2Nzg3MzcsIDE1MDM5LCAxLjIyMzQzMTU4NzIxOTIzODNdLCBbMTY2MzgxODE2OS40MzQ0NzQsIDE1MDc1LCAxLjI0MDgyNjk2NDM3ODM1N10sIFsxNjYzODE4MTY5LjY3OTAwOTIsIDE1MTAyLCAwLjk5Nzk4NzMyOTk1OTg2OTRdLCBbMTY2MzgxODE2OS44NTQxNDE3LCAxNTEyMCwgMS4wNTMxNTkzNTYxMTcyNDg1XSwgWzE2NjM4MTgxNjkuOTMzNDA3OCwgMTUxMjksIDEuMjIyMjA1MDQyODM5MDUwM10sIFsxNjYzODE4MTcwLjI1MzY2MzUsIDE1MTQ3LCAxLjA1MDkyMDQ4NjQ1MDE5NTNdLCBbMTY2MzgxODE3MC41MTE5ODYzLCAxNTE3NCwgMS4wNTczMzcwNDU2Njk1NTU3XSwgWzE2NjM4MTgxNzAuNTk2ODM1LCAxNTE4MywgMC45NjM4NzA1MjUzNjAxMDc0XSwgWzE2NjM4MTgxNzAuNjg2NTg2NiwgMTUxOTIsIDEuMTAwNDMxMzIzMDUxNDUyNl0sIFsxNjYzODE4MTcwLjgwNTM4OTQsIDE1MjAxLCAxLjAxNDk2MDQwODIxMDc1NDRdLCBbMTY2MzgxODE3MS4yMzY1MzEsIDE1MjQ2LCAxLjQxNzYyNDcxMTk5MDM1NjRdLCBbMTY2MzgxODE3MS4zMzEwNzQsIDE1MjU1LCAwLjk2MzA4Njg0MzQ5MDYwMDZdLCBbMTY2MzgxODE3MS40MjEzNjg0LCAxNTI2NCwgMC45OTM4NTQ4MjA3MjgzMDJdLCBbMTY2MzgxODE3MS44MTA5MjQ4LCAxNTMwMCwgMS4wNTI2NDc4MjkwNTU3ODYxXSwgWzE2NjM4MTgxNzIuMTM2MjAxNCwgMTUzMjcsIDEuMDQ0OTE1NTU2OTA3NjUzOF0sIFsxNjYzODE4MTcyLjM1OTM2NDcsIDE1MzQ1LCAxLjA3NDQ0ODIyNzg4MjM4NTNdLCBbMTY2MzgxODE3Mi42MzIyNTk0LCAxNTM3MiwgMS4wNDUxOTU1Nzk1Mjg4MDg2XSwgWzE2NjM4MTgxNzIuODQ2MzUzMywgMTUzOTAsIDEuMzM4NDUyMTAwNzUzNzg0Ml0sIFsxNjYzODE4MTcyLjk0NDIwMDMsIDE1Mzk5LCAxLjE5MTgwNTQ4MTkxMDcwNTZdLCBbMTY2MzgxODE3My4wNDYxNzgsIDE1NDA4LCAxLjAzMjYyNDEyNTQ4MDY1MTldLCBbMTY2MzgxODE3My4xMjc4MDM4LCAxNTQxNywgMS4xNzA5MDc4NTUwMzM4NzQ1XSwgWzE2NjM4MTgxNzMuNjcxMjQ0NCwgMTU0NzEsIDEuNjI1NjI1NDkxMTQyMjczXSwgWzE2NjM4MTgxNzQuMDY4OTI4NywgMTU1MDcsIDEuMDMyMDM5NTIzMTI0Njk0OF0sIFsxNjYzODE4MTc0LjE4MTY0NiwgMTU1MTYsIDEuMzA2OTc1ODQxNTIyMjE2OF0sIFsxNjYzODE4MTc0LjI2NDYwOSwgMTU1MjUsIDEuMTM1ODEzODMyMjgzMDJdLCBbMTY2MzgxODE3NC4zNTk4NTExLCAxNTUzNCwgMS44MTkzNTMxMDM2Mzc2OTUzXSwgWzE2NjM4MTgxNzQuOTIwMTYxNywgMTU1NzksIDEuMDk1ODk0MjE3NDkxMTVdLCBbMTY2MzgxODE3NS43NjcyMTI0LCAxNTY1MSwgMS4yNzYyNDkyODk1MTI2MzQzXSwgWzE2NjM4MTgxNzUuODU4ODE0NywgMTU2NjAsIDEuMTMyMzk2MzQwMzcwMTc4Ml0sIFsxNjYzODE4MTc2LjMxMzI3NDEsIDE1Njk2LCAxLjMzNzcyNTQwMDkyNDY4MjZdLCBbMTY2MzgxODE3Ni40OTg0MDI2LCAxNTcxNCwgMS4wMzA3ODgwNjQwMDI5OTA3XSwgWzE2NjM4MTgxNzYuODQzNTI1NiwgMTU3NDEsIDEuMzAyMDkwMTY3OTk5MjY3Nl0sIFsxNjYzODE4MTc3LjAyMzQ3NzYsIDE1NzU5LCAxLjM3NTg4NDUzMjkyODQ2NjhdLCBbMTY2MzgxODE3Ny4xMTMyNiwgMTU3NjgsIDEuMDA3NDU3MjU2MzE3MTM4N10sIFsxNjYzODE4MTc3LjI3ODg5MjgsIDE1Nzg2LCAxLjI1ODk2NjgwMzU1MDcyMDJdLCBbMTY2MzgxODE3Ny4zNzcxMzE1LCAxNTc5NSwgMC45ODAzNDM5Mzc4NzM4NDAzXSwgWzE2NjM4MTgxNzcuNjQ4MDk5NywgMTU4MjIsIDEuMTcwODg4MTg1NTAxMDk4Nl0sIFsxNjYzODE4MTc4LjA4MjEyNTcsIDE1ODY3LCAxLjAwMzMwODQxNTQxMjkwMjhdLCBbMTY2MzgxODE3OC4xNjI3MTMzLCAxNTg3NiwgMS4yMDc0MTU0NjE1NDAyMjIyXSwgWzE2NjM4MTgxNzguMzI1NDAwNiwgMTU4OTQsIDEuMDU0OTcyODg3MDM5MTg0Nl0sIFsxNjYzODE4MTc4LjczOTkzNiwgMTU5MjEsIDEuMTIwMDA0NzczMTM5OTUzNl0sIFsxNjYzODE4MTc5LjMzNTkyMDgsIDE1OTg0LCAxLjAwNjMyOTY1NTY0NzI3NzhdLCBbMTY2MzgxODE3OS40MjUzMjUsIDE1OTkzLCAxLjI1NTU2Mzg1NTE3MTIwMzZdLCBbMTY2MzgxODE3OS40OTg2MzY1LCAxNjAwMiwgMS4yNjM3MDczOTkzNjgyODYxXSwgWzE2NjM4MTgxNzkuNzYxNDAxNCwgMTYwMjksIDEuMDI4NTg3ODE4MTQ1NzUyXSwgWzE2NjM4MTgxODAuMTAwODk4MywgMTYwNjUsIDEuMjQzOTk0OTUxMjQ4MTY5XSwgWzE2NjM4MTgxODAuMTg4MDg0NCwgMTYwNzQsIDEuMTg2ODE5NTUzMzc1MjQ0MV0sIFsxNjYzODE4MTgwLjI3Nzc2NzIsIDE2MDgzLCAwLjkyMDQwNjc1ODc4NTI0NzhdLCBbMTY2MzgxODE4MC41Njg4Mzg4LCAxNjExMCwgMS4xNjIxNjgzODM1OTgzMjc2XSwgWzE2NjM4MTgxODAuNjY0ODM0NSwgMTYxMTksIDEuMTA5MzUzMDY1NDkwNzIyN10sIFsxNjYzODE4MTgwLjg0NTM5NDQsIDE2MTM3LCAxLjE2OTc1MzMxMzA2NDU3NTJdLCBbMTY2MzgxODE4MS4wMTQ3MjA0LCAxNjE1NSwgMS4xNzQ1NzYyODI1MDEyMjA3XSwgWzE2NjM4MTgxODEuMTgwNTE0LCAxNjE3MywgMS4xNjQ1NTE5NzMzNDI4OTU1XSwgWzE2NjM4MTgxODEuNTEyMDE2MywgMTYyMDksIDEuNzE2MDk2MDQzNTg2NzMxXSwgWzE2NjM4MTgxODEuNjkyODk0NSwgMTYyMjcsIDEuMjQ4NDIxNTQ5Nzk3MDU4XSwgWzE2NjM4MTgxODIuMjE5ODQwOCwgMTYyODEsIDEuMDQ4MjQ2MzgzNjY2OTkyMl0sIFsxNjYzODE4MTgyLjM4ODM4NjIsIDE2Mjk5LCAxLjIwNTU0MTAxNDY3MTMyNTddLCBbMTY2MzgxODE4Mi43NDEwNjcsIDE2MzM1LCAxLjAzMzk2Nzg1MjU5MjQ2ODNdLCBbMTY2MzgxODE4My4xODQ3NDgyLCAxNjM4MCwgMS4xMjYzMzU1MDE2NzA4Mzc0XSwgWzE2NjM4MTgxODMuNTMzMzQ4MywgMTY0MTYsIDAuOTc3ODk4OTU1MzQ1MTUzOF0sIFsxNjYzODE4MTgzLjc3OTM1LCAxNjQ0MywgMS4xMDU5MjEyNjg0NjMxMzQ4XSwgWzE2NjM4MTgxODMuODY0MTA0LCAxNjQ1MiwgMS4wNjE0Nzk5MjYxMDkzMTRdLCBbMTY2MzgxODE4NC4wNDYyMTk4LCAxNjQ3MCwgMC45NDQ1NDg5NjQ1MDA0MjcyXSwgWzE2NjM4MTgxODQuMjMyMjY1NywgMTY0NzksIDAuOTc3NDQ3OTI2OTk4MTM4NF0sIFsxNjYzODE4MTg0LjQyMzg0MywgMTY0OTcsIDEuMDUzNjE2NzYyMTYxMjU0OV0sIFsxNjYzODE4MTg0LjUxOTg1NDUsIDE2NTA2LCAwLjk5MTMyMDkwODA2OTYxMDZdLCBbMTY2MzgxODE4NC42MTM5NDYyLCAxNjUxNSwgMS4xNDQ0NTY1MDU3NzU0NTE3XSwgWzE2NjM4MTgxODQuODA0NDM0NSwgMTY1MzMsIDEuMDc1OTcxOTYxMDIxNDIzM10sIFsxNjYzODE4MTg0Ljg5ODE2NzgsIDE2NTQyLCAxLjI1NDkxMDIzMDYzNjU5NjddLCBbMTY2MzgxODE4NC45OTgxNjc1LCAxNjU1MSwgMS4yMzY2Nzg4Mzg3Mjk4NTg0XSwgWzE2NjM4MTgxODUuNzgzMDA2NCwgMTY2MTQsIDEuMzI0OTg5NTU3MjY2MjM1NF0sIFsxNjYzODE4MTg1Ljg2Njk4OSwgMTY2MjMsIDAuOTE4Mzg2MjIwOTMyMDA2OF0sIFsxNjYzODE4MTg1Ljk0OTQ1NSwgMTY2MzIsIDAuOTc2NzcyMzA4MzQ5NjA5NF0sIFsxNjYzODE4MTg2LjA0NjMwNzMsIDE2NjQxLCAxLjI0NDA3NjI1MTk4MzY0MjZdLCBbMTY2MzgxODE4Ni4yOTA4Mjg1LCAxNjY2OCwgMS4yOTYyNTQ5OTI0ODUwNDY0XSwgWzE2NjM4MTgxODcuMjk3NzU0MywgMTY3NDksIDAuOTUxNTY2NjM2NTYyMzQ3NF0sIFsxNjYzODE4MTg3LjcxODgzMTgsIDE2Nzk0LCAwLjkyMzYyOTY0MTUzMjg5OF0sIFsxNjYzODE4MTg3LjgxODA2NjEsIDE2ODAzLCAxLjE0NTI4MDAwMzU0NzY2ODVdLCBbMTY2MzgxODE4Ny45MDQ3NDk0LCAxNjgxMiwgMC45MzY5ODI1MTI0NzQwNjAxXSwgWzE2NjM4MTgxODguMjU5Mzc2LCAxNjg0OCwgMS4wOTcxNTMxODY3OTgwOTU3XSwgWzE2NjM4MTgxODguMzQyMDI4NCwgMTY4NTcsIDAuOTk5MDMzOTI3OTE3NDgwNV0sIFsxNjYzODE4MTg4LjUxNTM1MTUsIDE2ODc1LCAxLjEyODQxMDEwMDkzNjg4OTZdLCBbMTY2MzgxODE4OC43OTI4NjM0LCAxNjkwMiwgMC45NzYwMTczNTU5MTg4ODQzXSwgWzE2NjM4MTgxODkuMDg2MzYzLCAxNjkyOSwgMS4xMjI5ODg5MzkyODUyNzgzXSwgWzE2NjM4MTgxODkuMzQ3MTQ1MywgMTY5NTYsIDEuMDM4MzQ1NTc1MzMyNjQxNl0sIFsxNjYzODE4MTg5LjQ0NzkzOTYsIDE2OTY1LCAxLjQ1MjUxNDQxMDAxODkyMV0sIFsxNjYzODE4MTg5LjY2Nzk0NDcsIDE2OTgzLCAxLjMyMTc4NDczNDcyNTk1MjFdLCBbMTY2MzgxODE4OS44ODc1ODczLCAxNzAwMSwgMS40NTMzMTIxNTg1ODQ1OTQ3XSwgWzE2NjM4MTgxOTAuMDgyNDU5NywgMTcwMTksIDEuMTMwMjU3MzY4MDg3NzY4Nl0sIFsxNjYzODE4MTkwLjU0MTE3NSwgMTcwNjQsIDEuMzU5OTkwMjM5MTQzMzcxNl0sIFsxNjYzODE4MTkwLjkxMjczMDcsIDE3MTAwLCAxLjAwMTk0NTg1MzIzMzMzNzRdLCBbMTY2MzgxODE5MS4xODA0NzEsIDE3MTI3LCAwLjk4MDIxNjYyMjM1MjYwMDFdLCBbMTY2MzgxODE5MS41MzU0OTQzLCAxNzE2MywgMS4yMjU1MzE0NTg4NTQ2NzUzXSwgWzE2NjM4MTgxOTEuNzEyMjcxNywgMTcxODEsIDEuMDEwODY0MDE5MzkzOTIxXSwgWzE2NjM4MTgxOTEuNzk5NzE4NiwgMTcxOTAsIDAuOTI5NzA4NDIxMjMwMzE2Ml0sIFsxNjYzODE4MTkxLjg3ODE4NjUsIDE3MTk5LCAxLjMwMDgwNDI1NzM5Mjg4MzNdLCBbMTY2MzgxODE5Mi4xMzk5ODksIDE3MjI2LCAxLjIwMTIyNzc4NDE1Njc5OTNdLCBbMTY2MzgxODE5Mi41NzQ4Mjk4LCAxNzI3MSwgMS4xNzc2MDk2ODIwODMxMjk5XSwgWzE2NjM4MTgxOTMuMDkxNzgzNSwgMTczMjUsIDEuMDU5MzM3NDk2NzU3NTA3M10sIFsxNjYzODE4MTkzLjE3MzgwMTIsIDE3MzM0LCAxLjA1MjA2MzQ2NTExODQwODJdLCBbMTY2MzgxODE5My4yNTg0NjgyLCAxNzM0MywgMS4wNDkzMTMzMDY4MDg0NzE3XSwgWzE2NjM4MTgxOTMuNTMxMDI2OCwgMTczNzAsIDEuMDg3MjQ4NTYzNzY2NDc5NV0sIFsxNjYzODE4MTkzLjc4Mjc2OSwgMTczOTcsIDEuMDY4MjkwODI5NjU4NTA4M10sIFsxNjYzODE4MTk0LjA1OTQzODcsIDE3NDI0LCAxLjExODI2MjI5MDk1NDU4OThdLCBbMTY2MzgxODE5NC4yMDgzMzEsIDE3NDMzLCAwLjkzMTY0NDU1ODkwNjU1NTJdLCBbMTY2MzgxODE5NC44MDExMDI0LCAxNzQ2OSwgMS4xMDkwMjQ3NjMxMDcyOTk4XSwgWzE2NjM4MTgxOTQuODk1OTk4NSwgMTc0NzgsIDEuMDk5NjI2NDIxOTI4NDA1OF0sIFsxNjYzODE4MTk0Ljk4NTA0MzMsIDE3NDg3LCAxLjExODY3MTg5NDA3MzQ4NjNdLCBbMTY2MzgxODE5NS4yNTU2MTMsIDE3NTE0LCAxLjAzNzY1OTY0NTA4MDU2NjRdLCBbMTY2MzgxODE5NS40MzE0MjcsIDE3NTMyLCAxLjAyNTQxMjMyMTA5MDY5ODJdLCBbMTY2MzgxODE5NS42OTgwMjUsIDE3NTU5LCAxLjM2MzkxMzg5MzY5OTY0Nl0sIFsxNjYzODE4MTk2LjAwNDgwMDMsIDE3NTg2LCAxLjIzNzE2OTYyMzM3NDkzOV0sIFsxNjYzODE4MTk2LjI3NzA5ODcsIDE3NjEzLCAxLjA5MzE2NDA4NjM0MTg1OF0sIFsxNjYzODE4MTk2LjcwNjk0MDQsIDE3NjQ5LCAxLjEzODg5Nzc3NjYwMzY5ODddLCBbMTY2MzgxODE5Ni44MTc4ODU5LCAxNzY1OCwgMS4xMTQ1MzA0NDQxNDUyMDI2XSwgWzE2NjM4MTgxOTYuOTIxNzA2LCAxNzY2NywgMS41OTY1NzYyMTM4MzY2N10sIFsxNjYzODE4MTk3LjAwNjcyNTMsIDE3Njc2LCAxLjA4NDYzMjI3NzQ4ODcwODVdLCBbMTY2MzgxODE5Ny4xMDU5NzE2LCAxNzY4NSwgMS4xNjA5NzA1Njg2NTY5MjE0XSwgWzE2NjM4MTgxOTcuMzAwNDIzNiwgMTc3MDMsIDEuMTMxODc3ODk5MTY5OTIxOV0sIFsxNjYzODE4MTk3LjM5NTg5OCwgMTc3MTIsIDEuMTM5MjcxMzc4NTE3MTUwOV0sIFsxNjYzODE4MTk3LjQ5MTIyMjYsIDE3NzIxLCAxLjA1NDc1OTAyNTU3MzczMDVdLCBbMTY2MzgxODE5Ny41OTQ4MjcyLCAxNzczMCwgMC45OTIxMTA1NTA0MDM1OTVdLCBbMTY2MzgxODE5OC4zMjE2ODE1LCAxNzgwMiwgMS4wMjgyMDkyMDk0NDIxMzg3XSwgWzE2NjM4MTgxOTguNDk1NTQ4MiwgMTc4MjAsIDEuMTA1MjU0MDU0MDY5NTE5XSwgWzE2NjM4MTgxOTguNTgxMjEyNSwgMTc4MjksIDEuMDkwNzk5ODA4NTAyMTk3M10sIFsxNjYzODE4MTk4LjcwNzQ4MywgMTc4MzgsIDEuMTUzMTk1NjE5NTgzMTI5OV0sIFsxNjYzODE4MTk4LjgxMjkyNDksIDE3ODQ3LCAxLjAzOTUwMTY2NzAyMjcwNV0sIFsxNjYzODE4MTk5LjExNzQ3ODQsIDE3ODc0LCAxLjI2MzE5MDAzMTA1MTYzNTddLCBbMTY2MzgxODE5OS4zMTM4OTc2LCAxNzg5MiwgMC45ODM0MTM4NzUxMDI5OTY4XSwgWzE2NjM4MTgxOTkuNDAyNjI0NiwgMTc5MDEsIDEuMDI3OTEzMzMxOTg1NDczNl0sIFsxNjYzODE4MTk5LjczMjk4NDUsIDE3OTI4LCAxLjA5NTgxMzc1MTIyMDcwMzFdLCBbMTY2MzgxODE5OS44NjA1MSwgMTc5MzcsIDEuNDE2MzI2ODgwNDU1MDE3XSwgWzE2NjM4MTgyMDIuMzYyMTMzLCAxODE1MywgMC45NDE0MzU1NzU0ODUyMjk1XSwgWzE2NjM4MTgyMDIuNDc4NzM2NCwgMTgxNjIsIDEuNDA1MTY5OTYzODM2NjddLCBbMTY2MzgxODIwMi44Nzk4MSwgMTgxOTgsIDEuMDIyNDM1NjY1MTMwNjE1Ml0sIFsxNjYzODE4MjAzLjAwNTMwOSwgMTgyMDcsIDEuMDQ3OTQ5NjcxNzQ1MzAwM10sIFsxNjYzODE4MjAzLjExMTEwODgsIDE4MjE2LCAxLjIwMDUxMjA1MTU4MjMzNjRdLCBbMTY2MzgxODIwMy41ODk2OTMsIDE4MjQzLCAxLjAyODI0MzMwMzI5ODk1MDJdLCBbMTY2MzgxODIwMy44MDM4NjUyLCAxODI2MSwgMS4wNTU1MDk4MDU2NzkzMjEzXSwgWzE2NjM4MTgyMDQuMDg1NjExLCAxODI4OCwgMS4xMTAxODQ3ODg3MDM5MTg1XSwgWzE2NjM4MTgyMDQuMTc5ODkwOSwgMTgyOTcsIDEuMTM1OTUwODAzNzU2NzEzOV0sIFsxNjYzODE4MjA0LjM4ODM3NSwgMTgzMTUsIDEuMjQyNzI4NzEwMTc0NTYwNV0sIFsxNjYzODE4MjA0LjQ5NDE0OTQsIDE4MzI0LCAxLjMxOTQ5NDg0MzQ4Mjk3MTJdLCBbMTY2MzgxODIwNC42MDM1MzksIDE4MzMzLCAxLjgxNDQ1MDI2Mzk3NzA1MDhdLCBbMTY2MzgxODIwNS4wMTM0OTYsIDE4MzY5LCAxLjE0NDIyNzc0MzE0ODgwMzddLCBbMTY2MzgxODIwNS4yNzgyMTEsIDE4Mzk2LCAxLjI4Mjk5NzcyNzM5NDEwNF0sIFsxNjYzODE4MjA1LjYxNjY3OCwgMTg0MzIsIDEuMDg3NDU4ODQ4OTUzMjQ3XSwgWzE2NjM4MTgyMDUuNzkwMDA1NywgMTg0NTAsIDEuMDMxNjMzMjU3ODY1OTA1OF0sIFsxNjYzODE4MjA2LjIzOTY5OTQsIDE4NDk1LCAxLjAzOTc3NzI3ODkwMDE0NjVdLCBbMTY2MzgxODIwNi4zMjgwMzMyLCAxODUwNCwgMS4wMjM3MTgxMTg2Njc2MDI1XSwgWzE2NjM4MTgyMDYuNDE0Nzk4NSwgMTg1MTMsIDEuMDA2NzU0ODc1MTgzMTA1NV0sIFsxNjYzODE4MjA2LjUwNTg4MywgMTg1MjIsIDEuMjE5NjIyMzczNTgwOTMyNl0sIFsxNjYzODE4MjA3LjM5MDM5OCwgMTg2MTIsIDEuMjQ4MDUxNjQzMzcxNTgyXSwgWzE2NjM4MTgyMDcuNDc2Njc2NSwgMTg2MjEsIDEuMTgyMTUyMjcxMjcwNzUyXSwgWzE2NjM4MTgyMDcuNjQ5MzU0MiwgMTg2MzksIDEuMTQ5MTc2NDc4Mzg1OTI1M10sIFsxNjYzODE4MjA3Ljk4MjczMSwgMTg2NzUsIDEuMDMzMzU4MjE2Mjg1NzA1Nl0sIFsxNjYzODE4MjA4LjUyOTMwMTIsIDE4NzIwLCAxLjQ2ODYwMzM3MjU3Mzg1MjVdLCBbMTY2MzgxODIwOS4wMDA2Njk3LCAxODc2NSwgMS4yMzk5MjYzMzgxOTU4MDA4XSwgWzE2NjM4MTgyMDkuMTc4Njg0LCAxODc4MywgMS4yNjczMTgwMTAzMzAyMDAyXSwgWzE2NjM4MTgyMDkuMjY2ODEsIDE4NzkyLCAxLjAwODkzODMxMjUzMDUxNzZdLCBbMTY2MzgxODIwOS40NDE1NTQsIDE4ODEwLCAxLjUwOTAzMDgxODkzOTIwOV0sIFsxNjYzODE4MjA5LjUyNTA4NiwgMTg4MTksIDEuNjY5NDAwMDk1OTM5NjM2Ml0sIFsxNjYzODE4MjA5LjYxMDIyNDIsIDE4ODI4LCAxLjA5NTI5ODE3MTA0MzM5Nl0sIFsxNjYzODE4MjA5Ljk1MDA2MDYsIDE4ODY0LCAxLjA3NjgzNTM5MzkwNTYzOTZdLCBbMTY2MzgxODIxMC4xMDkxOTc2LCAxODg4MiwgMS4yMDEwMDY2NTA5MjQ2ODI2XSwgWzE2NjM4MTgyMTAuMTk1MjMxMiwgMTg4OTEsIDEuMDU3ODIyMjI3NDc4MDI3M10sIFsxNjYzODE4MjEwLjM1NzQ4MiwgMTg5MDksIDAuOTQxNjYwNzYxODMzMTkwOV0sIFsxNjYzODE4MjEwLjYwMzIwMTYsIDE4OTM2LCAwLjk5NzcxMjMxNDEyODg3NTddLCBbMTY2MzgxODIxMC42ODk0ODg2LCAxODk0NSwgMS4xMTg4NTY2Njg0NzIyOV0sIFsxNjYzODE4MjEwLjc3OTMzNDUsIDE4OTU0LCAxLjE4NDM5ODc3MDMzMjMzNjRdLCBbMTY2MzgxODIxMS4xMTcxODQyLCAxODk5MCwgMS4xMTcxMzAwNDExMjI0MzY1XSwgWzE2NjM4MTgyMTEuMjE2MjI2MywgMTg5OTksIDEuMTg0NDQ2MjE1NjI5NTc3Nl0sIFsxNjYzODE4MjExLjc1NjAwNDMsIDE5MDM1LCAxLjE1NzczMTQxMzg0MTI0NzZdLCBbMTY2MzgxODIxMS44NTAyMzE0LCAxOTA0NCwgMS4wNTQ3ODEzMTc3MTA4NzY1XSwgWzE2NjM4MTgyMTIuMTkzNzEzNCwgMTkwODAsIDEuMjUxNTIwNjMzNjk3NTA5OF0sIFsxNjYzODE4MjEyLjI4NjE4NTMsIDE5MDg5LCAxLjQwNzc0NDI4ODQ0NDUxOV0sIFsxNjYzODE4MjEyLjQ4MjMyNzcsIDE5MTA3LCAxLjE2NDkyODA3ODY1MTQyODJdLCBbMTY2MzgxODIxMi41NjM3ODEzLCAxOTExNiwgMS4wNzMyMTc2MzAzODYzNTI1XSwgWzE2NjM4MTgyMTIuNjQ4ODI5NSwgMTkxMjUsIDEuMDIxNDAwMDk0MDMyMjg3Nl0sIFsxNjYzODE4MjEyLjkyODg5MTQsIDE5MTUyLCAxLjI5MDYxNzM0Njc2MzYxMDhdLCBbMTY2MzgxODIxMy41NDY2ODc2LCAxOTIxNSwgMS4wNzI0MzI2MzcyMTQ2NjA2XSwgWzE2NjM4MTgyMTMuNjM3ODQxMiwgMTkyMjQsIDEuMTYzMzc5NjY5MTg5NDUzMV0sIFsxNjYzODE4MjEzLjgwODU1NTgsIDE5MjMzLCAxLjA4Njc0Nzc2NTU0MTA3NjddLCBbMTY2MzgxODIxNC4xMjMyMDk1LCAxOTI2MCwgMS4zMTM1OTI0MzM5Mjk0NDM0XSwgWzE2NjM4MTgyMTQuNTA1MTQxMywgMTkyOTYsIDEuMTQzMTk4ODQ3NzcwNjkxXSwgWzE2NjM4MTgyMTUuMTUzMzc1LCAxOTM1MCwgMC45MjU4NDA4NTQ2NDQ3NzU0XSwgWzE2NjM4MTgyMTUuMjQ1MDE0NCwgMTkzNTksIDEuMDMwNjc5OTQxMTc3MzY4Ml0sIFsxNjYzODE4MjE1LjYzODc0MjQsIDE5Mzk1LCAwLjk1Mjg0OTA5MDA5OTMzNDddLCBbMTY2MzgxODIxNS43MzA1MjMzLCAxOTQwNCwgMS4xOTc0NjY0OTI2NTI4OTNdLCBbMTY2MzgxODIxNi4wOTM1MzgsIDE5NDQwLCAxLjEzMzI5NTA1OTIwNDEwMTZdLCBbMTY2MzgxODIxNi4xNzMyMTk3LCAxOTQ0OSwgMS4xODI0NDAxNjE3MDUwMTddLCBbMTY2MzgxODIxNi4yNjQxNzY2LCAxOTQ1OCwgMS4yNjAwMjQ2NjY3ODYxOTM4XSwgWzE2NjM4MTgyMTYuMzQ0MzQ5MSwgMTk0NjcsIDEuMDY4MzczOTE4NTMzMzI1Ml0sIFsxNjYzODE4MjE2Ljk4OTg4NjMsIDE5NTMwLCAxLjEwMjE5NDMwOTIzNDYxOTFdLCBbMTY2MzgxODIxNy4zNDI2NDEsIDE5NTY2LCAxLjA4MjU4ODc5MTg0NzIyOV0sIFsxNjYzODE4MjE3LjUxMzI0NywgMTk1ODQsIDEuMTc4MjQ0NDcxNTQ5OTg3OF0sIFsxNjYzODE4MjE3LjYwNDU3OTIsIDE5NTkzLCAwLjk3NTY1MzExMTkzNDY2MTldLCBbMTY2MzgxODIxOC4yNzgxODY2LCAxOTY1NiwgMS40MjY0NTgwMDExMzY3Nzk4XSwgWzE2NjM4MTgyMTguNDQ2ODExLCAxOTY3NCwgMS4xMDg0NjY3NDQ0MjI5MTI2XSwgWzE2NjM4MTgyMTguNjMyNzExNiwgMTk2OTIsIDAuOTUyMDMyMzg3MjU2NjIyM10sIFsxNjYzODE4MjE4LjgxNDE1NTMsIDE5NzEwLCAxLjIwMjQ2NjEzMDI1NjY1MjhdLCBbMTY2MzgxODIxOS4yNzA5MDk4LCAxOTc1NSwgMS4wNTMyOTU0OTMxMjU5MTU1XSwgWzE2NjM4MTgyMTkuODgwNDk5LCAxOTgwMCwgMS4wNDY1MDI1OTAxNzk0NDM0XSwgWzE2NjM4MTgyMjAuMDUzOTk0LCAxOTgxOCwgMS4wNDM4MjQ3OTE5MDgyNjQyXSwgWzE2NjM4MTgyMjAuMTMyMTExLCAxOTgyNywgMC45ODYzOTU2NTcwNjI1MzA1XSwgWzE2NjM4MTgyMjAuMjI3NTMxLCAxOTgzNiwgMS4wMTM4NzA0Nzc2NzYzOTE2XSwgWzE2NjM4MTgyMjAuNDc3NDY3MywgMTk4NjMsIDEuMjUzNzY1MTA2MjAxMTcxOV0sIFsxNjYzODE4MjIwLjc0OTA2MTYsIDE5ODkwLCAxLjEzMDY2MDc3MjMyMzYwODRdLCBbMTY2MzgxODIyMC45MzAwMTkxLCAxOTkwOCwgMC45OTc3MTQ0MDAyOTE0NDI5XSwgWzE2NjM4MTgyMjEuMDEzOTY5LCAxOTkxNywgMS4yNjYwNDE2MzY0NjY5OF0sIFsxNjYzODE4MjIxLjE5Mjc0NCwgMTk5MzUsIDEuMTEzMTA4OTkyNTc2NTk5MV0sIFsxNjYzODE4MjIxLjI4MzQxMTcsIDE5OTQ0LCAxLjI2OTM5Mjk2NzIyNDEyMV0sIFsxNjYzODE4MjIxLjgxNjAxNDMsIDE5OTk4LCAxLjEwODU1NDg0MDA4Nzg5MDZdLCBbMTY2MzgxODIyMi4yODgyNjU3LCAyMDAzNCwgMC45ODM3NTQzOTY0Mzg1OTg2XSwgWzE2NjM4MTgyMjIuNDcxMDUwNSwgMjAwNTIsIDEuNTAxNTc1NDY5OTcwNzAzMV0sIFsxNjYzODE4MjIzLjI4NzM3NjksIDIwMTMzLCAxLjE5MzcxOTE0ODYzNTg2NDNdLCBbMTY2MzgxODIyMy41NDgzNDIsIDIwMTYwLCAwLjkzMTA0MjU1MTk5NDMyMzddLCBbMTY2MzgxODIyMy44MTA4MjE4LCAyMDE4NywgMS4xMTIxMDA0ODE5ODY5OTk1XSwgWzE2NjM4MTgyMjMuOTk2MDMyNSwgMjAyMDUsIDEuMDc3NjA4NDY2MTQ4Mzc2NV0sIFsxNjYzODE4MjI0Ljg3MTgwMjgsIDIwMjk1LCAxLjIxMjM5OTk1OTU2NDIwOV0sIFsxNjYzODE4MjI1LjE1MDMzMjIsIDIwMzIyLCAxLjIzMTY5MTM2MDQ3MzYzMjhdLCBbMTY2MzgxODIyNS4yMzc2MDI3LCAyMDMzMSwgMS4yMjg0NDc3OTQ5MTQyNDU2XSwgWzE2NjM4MTgyMjUuNzY3Mzc5MywgMjAzODUsIDAuOTA5OTA5MDA5OTMzNDcxN10sIFsxNjYzODE4MjI2LjAyNDMxMzQsIDIwNDEyLCAxLjEzODAxOTIwNDEzOTcwOTVdLCBbMTY2MzgxODIyNi45NjAxMDY2LCAyMDQ5MywgMS4xNjIzNjMxNzE1Nzc0NTM2XSwgWzE2NjM4MTgyMjcuMzA0OTQ5OCwgMjA1MjksIDAuOTUzNjgzNjc0MzM1NDc5N10sIFsxNjYzODE4MjI3LjM4NzQzMjgsIDIwNTM4LCAwLjk1MDMyMTI1NzExNDQxMDRdLCBbMTY2MzgxODIyNy44ODU2OTEyLCAyMDU3NCwgMS4xMDIzNTU4Mzc4MjE5NjA0XSwgWzE2NjM4MTgyMjguMzk5MDA0NywgMjA2MjgsIDEuMTUxNjY4MzEwMTY1NDA1M10sIFsxNjYzODE4MjI4LjQ4Nzc3MzQsIDIwNjM3LCAxLjIyMjUxMjAwNjc1OTY0MzZdLCBbMTY2MzgxODIyOC41NjY2MTczLCAyMDY0NiwgMS4xMzQwNzYzNTY4ODc4MTc0XSwgWzE2NjM4MTgyMjkuMTYzMDEwMSwgMjA3MDksIDEuNjQwNjU2OTQ4MDg5NTk5Nl0sIFsxNjYzODE4MjI5LjU5ODAwODYsIDIwNzU0LCAwLjk4MzA3NTM4MDMyNTMxNzRdLCBbMTY2MzgxODIyOS42ODk5ODAzLCAyMDc2MywgMS4wMDA3ODM5MjAyODgwODZdLCBbMTY2MzgxODIyOS43ODMwODczLCAyMDc3MiwgMS4wNzUyNzg0MDEzNzQ4MTddLCBbMTY2MzgxODIyOS45NDU3MjczLCAyMDc5MCwgMS4wMzM1NjUyODI4MjE2NTUzXSwgWzE2NjM4MTgyMzAuMTIwNDIxNiwgMjA4MDgsIDEuMDQyMDEyMzMzODY5OTM0XSwgWzE2NjM4MTgyMzAuNDY4MjAxMiwgMjA4NDQsIDEuMjEyMDU0MzcxODMzODAxM10sIFsxNjYzODE4MjMwLjU0OTc5NTIsIDIwODUzLCAxLjA3NzE5NzkwOTM1NTE2MzZdLCBbMTY2MzgxODIzMC44MDI1OTQyLCAyMDg4MCwgMS4xODY4MTQ1NDY1ODUwODNdLCBbMTY2MzgxODIzMS4yMzk5MjA0LCAyMDkyNSwgMS4wNDY1NzE2MTIzNTgwOTMzXSwgWzE2NjM4MTgyMzEuNzY5NTIzLCAyMDk3OSwgMS4wNzk3NTEyNTMxMjgwNTE4XSwgWzE2NjM4MTgyMzEuOTMyNzE5NSwgMjA5OTcsIDEuMTM1NjQzMjQzNzg5NjcyOV0sIFsxNjYzODE4MjMyLjE4ODYwMywgMjEwMjQsIDEuMTY0NzE5ODIwMDIyNTgzXSwgWzE2NjM4MTgyMzIuNjE0ODQwNSwgMjEwNjksIDEuMDI2NTkxMzAwOTY0MzU1NV0sIFsxNjYzODE4MjMyLjc5MDY1MzIsIDIxMDg3LCAwLjkzODc4MTk3NjY5OTgyOTFdLCBbMTY2MzgxODIzMi44ODE1MTg2LCAyMTA5NiwgMS4wMjIyNDExMTU1NzAwNjg0XSwgWzE2NjM4MTgyMzMuMDEyNjM3OSwgMjExMDUsIDAuOTMxMDk4MDQzOTE4NjA5Nl0sIFsxNjYzODE4MjMzLjI0MjQ1NiwgMjExMjMsIDAuOTgwNDE0OTg2NjEwNDEyNl0sIFsxNjYzODE4MjMzLjM0NjI0NjIsIDIxMTMyLCAwLjk5MjI2Mjk1OTQ4MDI4NTZdLCBbMTY2MzgxODIzMy40NTY3ODUsIDIxMTQxLCAxLjA4NTA5NTUyNDc4NzkwMjhdLCBbMTY2MzgxODIzMy43NTMyNDY4LCAyMTE2OCwgMS4xMzUwODY3NzQ4MjYwNDk4XSwgWzE2NjM4MTgyMzMuODQzMjIsIDIxMTc3LCAxLjExMDc2MzU0OTgwNDY4NzVdLCBbMTY2MzgxODIzMy45MzM1NzYsIDIxMTg2LCAxLjEzMzMyMzkwNzg1MjE3MjldLCBbMTY2MzgxODIzNC4yNzE0NDUzLCAyMTIyMiwgMS4wNjMzNTg3ODM3MjE5MjM4XSwgWzE2NjM4MTgyMzQuNDQ5MzUyMywgMjEyNDAsIDEuMjE1NjAwOTY3NDA3MjI2Nl0sIFsxNjYzODE4MjM0LjcxNTk4MzksIDIxMjY3LCAxLjE1NzY1MzU3MDE3NTE3MV0sIFsxNjYzODE4MjM0Ljk3MzUyMzEsIDIxMjk0LCAxLjAyNjQyMzY5MjcwMzI0N10sIFsxNjYzODE4MjM1LjIzMzIxMTgsIDIxMzIxLCAxLjEyMTk4NDI0MzM5Mjk0NDNdLCBbMTY2MzgxODIzNS42NTE5NTA2LCAyMTM0OCwgMS4wOTM5NDA3MzQ4NjMyODEyXSwgWzE2NjM4MTgyMzUuODE5MTA2NiwgMjEzNjYsIDEuMTc0NjQxMDEzMTQ1NDQ2OF0sIFsxNjYzODE4MjM2LjI1Njk4ODgsIDIxNDExLCAxLjIzNTg3NTM2ODExODI4NjFdLCBbMTY2MzgxODIzNi43NTE4MTE1LCAyMTQ2NSwgMS4wODI0NzM5OTMzMDEzOTE2XSwgWzE2NjM4MTgyMzcuMTk5MTMwNSwgMjE1MTAsIDEuMTMyNTEzMDQ2MjY0NjQ4NF0sIFsxNjYzODE4MjM3LjM1OTQ3NzMsIDIxNTI4LCAxLjI3NTYxNDI2MTYyNzE5NzNdLCBbMTY2MzgxODIzNy41MjA0Mzc3LCAyMTU0NiwgMS4xNTcxNTk1NjY4NzkyNzI1XSwgWzE2NjM4MTgyMzcuNjA0OTU4MywgMjE1NTUsIDEuMTkwOTkyMjM2MTM3MzkwMV0sIFsxNjYzODE4MjM3LjcwNDA0NTMsIDIxNTY0LCAxLjE4MjAxNTQxOTAwNjM0NzddLCBbMTY2MzgxODIzNy44MDE1NjUyLCAyMTU3MywgMS4xNzE0ODczMzEzOTAzODA5XSwgWzE2NjM4MTgyMzcuODgzNjkyLCAyMTU4MiwgMS4wMzQ5NDYzMjI0NDExMDFdLCBbMTY2MzgxODIzNy45NzM2NTM2LCAyMTU5MSwgMS4zNzIyMDIyNzcxODM1MzI3XSwgWzE2NjM4MTgyMzguODc2MDc3NywgMjE2ODEsIDEuMjY2MDI3NTY5NzcwODEzXSwgWzE2NjM4MTgyMzkuMTk5MDM3NiwgMjE3MTcsIDEuMDM0NDIxMzI0NzI5OTE5NF0sIFsxNjYzODE4MjM5LjQ1MTc1MzQsIDIxNzQ0LCAxLjQ5MTgwMzc2NTI5NjkzNl0sIFsxNjYzODE4MjM5LjgwMTUzNSwgMjE3ODAsIDEuMzQyNjcxOTkwMzk0NTkyM10sIFsxNjYzODE4MjQwLjU4NTY3LCAyMTg2MSwgMC45MzE5Mjc1NjE3NTk5NDg3XSwgWzE2NjM4MTgyNDAuODU2MjQ0OCwgMjE4ODgsIDAuODk4Mjk5MzM2NDMzNDEwNl0sIFsxNjYzODE4MjQxLjE4NDk2MSwgMjE5MjQsIDEuMTQ5MDc0OTEyMDcxMjI4XSwgWzE2NjM4MTgyNDEuMjc1MzQwNiwgMjE5MzMsIDEuMTgzODM4MDA5ODM0Mjg5Nl0sIFsxNjYzODE4MjQxLjQ0NTA4ODksIDIxOTUxLCAxLjA0NzI1NTYzNTI2MTUzNTZdLCBbMTY2MzgxODI0MS41MzE4NzEsIDIxOTYwLCAxLjAxOTE0NjMyMzIwNDA0MDVdLCBbMTY2MzgxODI0MS43MDI0MjcxLCAyMTk3OCwgMS4wNzQ2Mzk0Mzk1ODI4MjQ3XSwgWzE2NjM4MTgyNDEuNzk1NjMxMiwgMjE5ODcsIDEuMTU1MjcxMjkxNzMyNzg4XSwgWzE2NjM4MTgyNDIuMzExOTQxNCwgMjIwNDEsIDEuMTQzNzcwOTMzMTUxMjQ1MV0sIFsxNjYzODE4MjQyLjk0ODk2MiwgMjIwOTUsIDEuMTg2NTI5MDQwMzM2NjA4OV0sIFsxNjYzODE4MjQzLjQ0MjQwMDcsIDIyMTMxLCAwLjk5MjM3OTk2MzM5Nzk3OTddLCBbMTY2MzgxODI0My43ODgxODMyLCAyMjE2NywgMC44Nzk3NzM4NTUyMDkzNTA2XSwgWzE2NjM4MTgyNDMuOTk2MzM3NCwgMjIxODUsIDAuOTI4MjQ5NjU3MTU0MDgzM10sIFsxNjYzODE4MjQ0LjA5MzI1MjIsIDIyMTk0LCAxLjM0MTQ3Nzk5MDE1MDQ1MTddLCBbMTY2MzgxODI0NC4yNjAyMzI0LCAyMjIxMiwgMC45ODkxNTAyODU3MjA4MjUyXSwgWzE2NjM4MTgyNDQuNDI4ODIxOCwgMjIyMzAsIDEuMDc5NTI5ODgxNDc3MzU2XSwgWzE2NjM4MTgyNDQuNzg2OTA3LCAyMjI2NiwgMC45NjY5NTY1NTU4NDMzNTMzXSwgWzE2NjM4MTgyNDQuOTc5MzU1NiwgMjIyODQsIDEuMDAxNDI5OTE1NDI4MTYxNl0sIFsxNjYzODE4MjQ1LjE0ODExNzUsIDIyMzAyLCAxLjE5ODQxMjUzNzU3NDc2OF0sIFsxNjYzODE4MjQ1Ljg0ODcxMTMsIDIyMzY1LCAxLjAyMzIxNDU3ODYyODU0XSwgWzE2NjM4MTgyNDUuOTQ2NTkyOCwgMjIzNzQsIDEuMDk5NDM2OTk4MzY3MzA5Nl0sIFsxNjYzODE4MjQ2LjM3NDYzODYsIDIyNDEwLCAxLjIzODE5NjM3Mjk4NTgzOThdLCBbMTY2MzgxODI0Ni43MzU3OTE0LCAyMjQ0NiwgMS4wNzUyMzE3OTA1NDI2MDI1XSwgWzE2NjM4MTgyNDcuMDY5NTExNywgMjI0NzMsIDEuMjA1MTAzNTE2NTc4Njc0M10sIFsxNjYzODE4MjQ3LjI1NjkxMzIsIDIyNDkxLCAxLjA2NDk1NzE0MTg3NjIyMDddLCBbMTY2MzgxODI0Ny4zMzk5MDA1LCAyMjUwMCwgMS42NjA4NzI4MTcwMzk0ODk3XSwgWzE2NjM4MTgyNDcuNDI5NTA3NywgMjI1MDksIDEuMDQxOTMxMjcxNTUzMDM5Nl0sIFsxNjYzODE4MjQ3LjUxNTk1NjksIDIyNTE4LCAwLjkxNDA0NjgyMzk3ODQyNDFdLCBbMTY2MzgxODI0Ny42ODMyNzY3LCAyMjUzNiwgMC45NzAyMTQ3ODQxNDUzNTUyXSwgWzE2NjM4MTgyNDcuODUyODg2MiwgMjI1NTQsIDEuMjM2OTY3OTIxMjU3MDE5XSwgWzE2NjM4MTgyNDcuOTMyNzM4NSwgMjI1NjMsIDEuMDA2OTk2MzkzMjAzNzM1NF0sIFsxNjYzODE4MjQ4LjEwNjc1MDUsIDIyNTgxLCAxLjAxMjMyNTE2NzY1NTk0NDhdLCBbMTY2MzgxODI0OC4zMzQ5MDU0LCAyMjU5OSwgMS4zNjY3ODA0MDAyNzYxODRdLCBbMTY2MzgxODI0OC42NTMyMjU0LCAyMjYyNiwgMS4xMTM1NDY5Njc1MDY0MDg3XSwgWzE2NjM4MTgyNDguODg4NDA5NiwgMjI2NDQsIDEuMTkzMzIwOTg5NjA4NzY0Nl0sIFsxNjYzODE4MjQ5LjA4MTA4LCAyMjY2MiwgMS42NjQ1MjAwMjUyNTMyOTZdLCBbMTY2MzgxODI0OS4xNzA3MjY1LCAyMjY3MSwgMS4xODYwMTc3NTE2OTM3MjU2XSwgWzE2NjM4MTgyNDkuMjU1NTYsIDIyNjgwLCAxLjIwNTU2MTE2MTA0MTI1OThdLCBbMTY2MzgxODI0OS40MjMzMzA1LCAyMjY5OCwgMS4xMzQ4ODI1NjkzMTMwNDkzXSwgWzE2NjM4MTgyNDkuNjA1NDE0MiwgMjI3MTYsIDAuOTM3OTI5MDM0MjMzMDkzM10sIFsxNjYzODE4MjUwLjAzMjcwOTgsIDIyNzYxLCAxLjM4NTI0NDk2NTU1MzI4MzddLCBbMTY2MzgxODI1MC4yNjQ4ODA0LCAyMjc3OSwgMS4zMTQzMDU0MjQ2OTAyNDY2XSwgWzE2NjM4MTgyNTAuMzY3MzM5NiwgMjI3ODgsIDEuMDI4NjQyMTc3NTgxNzg3XSwgWzE2NjM4MTgyNTAuNTY3MTI3NSwgMjI4MDYsIDEuMDU3NDM0OTE2NDk2Mjc2OV0sIFsxNjYzODE4MjUxLjAxNjk2MDEsIDIyODUxLCAxLjIyNzUyOTE2ODEyODk2NzNdLCBbMTY2MzgxODI1MS4zNjcwNzE0LCAyMjg2OSwgMS4xNjMxMTI4Nzg3OTk0Mzg1XSwgWzE2NjM4MTgyNTEuNTQwODgzOCwgMjI4ODcsIDEuMzUxMTc3MDk2MzY2ODgyM10sIFsxNjYzODE4MjUxLjY0Nzk2MDQsIDIyODk2LCAxLjQ0Mzg4MjcwMzc4MTEyOF0sIFsxNjYzODE4MjUxLjkzOTg2NDIsIDIyOTIzLCAxLjI0OTczNDA0NDA3NTAxMjJdLCBbMTY2MzgxODI1Mi42ODE3NDg0LCAyMjk5NSwgMS4wMjQ0NjQwMTExOTIzMjE4XSwgWzE2NjM4MTgyNTIuNzYxNzE0NywgMjMwMDQsIDEuMDU4ODA2NTM4NTgxODQ4MV0sIFsxNjYzODE4MjUzLjE3MzgwNjcsIDIzMDQ5LCAxLjAyNTY1NTYyNzI1MDY3MTRdLCBbMTY2MzgxODI1My42Mzg0MDUzLCAyMzA5NCwgMS4xMTU0MzI5Nzc2NzYzOTE2XSwgWzE2NjM4MTgyNTMuNzI3OTgyMywgMjMxMDMsIDEuMjQ0MjY0MjQ1MDMzMjY0Ml0sIFsxNjYzODE4MjUzLjg5NDA4ODMsIDIzMTIxLCAwLjg5MTU0OTgyNTY2ODMzNV0sIFsxNjYzODE4MjU0LjE0OTExODcsIDIzMTQ4LCAxLjEyMjUzNDc1MTg5MjA4OThdLCBbMTY2MzgxODI1NC4zMjk4Mzc2LCAyMzE2NiwgMS4wMjY3NzI5NzU5MjE2MzA5XSwgWzE2NjM4MTgyNTQuNTA4MjExNiwgMjMxODQsIDEuMjQ3MTQ5MTA5ODQwMzkzXSwgWzE2NjM4MTgyNTQuNjgzMTU2NywgMjMyMDIsIDEuMDI0OTMxNzg4NDQ0NTE5XSwgWzE2NjM4MTgyNTQuNzc5NTIzOCwgMjMyMTEsIDEuMDg5NzEyMTQyOTQ0MzM2XSwgWzE2NjM4MTgyNTUuMjk0NzkwNywgMjMyNTYsIDEuMzY2MTQ1MzcyMzkwNzQ3XSwgWzE2NjM4MTgyNTUuMzgxMDM0MSwgMjMyNjUsIDEuMjAyMDkwMjYzMzY2Njk5Ml0sIFsxNjYzODE4MjU1LjQ2ODc3NjcsIDIzMjc0LCAxLjE2ODY5MzE4NDg1MjZdLCBbMTY2MzgxODI1NS43MjY1ODgyLCAyMzMwMSwgMS4yMTExMjA2MDU0Njg3NV0sIFsxNjYzODE4MjU1LjgxMjg0MTcsIDIzMzEwLCAxLjExNjExNDYxNjM5NDA0M10sIFsxNjYzODE4MjU2LjA2NTcyNzcsIDIzMzM3LCAwLjk5NjM0NTEwMjc4NzAxNzhdLCBbMTY2MzgxODI1Ni41ODk0MTAzLCAyMzM5MSwgMS4xODM1NjIzOTc5NTY4NDgxXSwgWzE2NjM4MTgyNTYuNjc5Mzk3LCAyMzQwMCwgMS4wNzY1MDQ4MjY1NDU3MTUzXSwgWzE2NjM4MTgyNTYuODYzOTUsIDIzNDE4LCAxLjA0NjMzMDY5MDM4MzkxMTFdLCBbMTY2MzgxODI1Ny4wNTM2MzIsIDIzNDM2LCAxLjExNTcyODczNTkyMzc2N10sIFsxNjYzODE4MjU3LjIzNzUwMTYsIDIzNDU0LCAxLjcxMDI1NDQzMDc3MDg3NF0sIFsxNjYzODE4MjU3LjMyNTc3MzIsIDIzNDYzLCAxLjA0MTMzODgwMTM4Mzk3MjJdLCBbMTY2MzgxODI1OC4yODExMTkzLCAyMzU2MiwgMS4xMDM0Njg2NTY1Mzk5MTddLCBbMTY2MzgxODI1OC4zNzQxMDUsIDIzNTcxLCAxLjExOTkzNzg5NjcyODUxNTZdLCBbMTY2MzgxODI1OC40NTg2NDYzLCAyMzU4MCwgMC45ODYyNjg0MDExNDU5MzUxXSwgWzE2NjM4MTgyNTguNzMwNTU3NCwgMjM2MDcsIDEuMDkzNTI3MzE3MDQ3MTE5MV0sIFsxNjYzODE4MjU5LjM0MTcwOSwgMjM2NTIsIDAuOTU1NTAwMTg1NDg5NjU0NV0sIFsxNjYzODE4MjU5LjQzMTUzODMsIDIzNjYxLCAwLjk4NjY3NjAzNzMxMTU1NF0sIFsxNjYzODE4MjU5LjgwNDM0MiwgMjM2OTcsIDEuMjEwMzE2NjU4MDIwMDE5NV1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_09-23-28_54c5144e9b50&tag=Loss%2Fvalid":{"data":"W1sxNjYzOTI1MDA4LjI5MTY0NTUsIDksIDkwLjc1MDIyMTI1MjQ0MTRdLCBbMTY2MzkyNTAwOC41MTI5OTY3LCAyNywgODUuOTg4NDI2MjA4NDk2MV0sIFsxNjYzOTI1MDA4LjYyNzg1ODQsIDM2LCA4Ni41MjEzMjQxNTc3MTQ4NF0sIFsxNjYzOTI1MDA4LjczNTQwNTIsIDQ1LCA1OS40NDg5MDIxMzAxMjY5NV0sIFsxNjYzOTI1MDA5LjA3NzI4NzIsIDcyLCA0My45NjI3NDU2NjY1MDM5MDZdLCBbMTY2MzkyNTAwOS4yOTcxMDA4LCA5MCwgMzEuMDc2MzQ1NDQzNzI1NTg2XSwgWzE2NjM5MjUwMDkuNDI0ODUwMiwgOTksIDI3LjE2NDcxODYyNzkyOTY4OF0sIFsxNjYzOTI1MDA5LjUzNjEzODgsIDEwOCwgMzAuNDM1MTg4MjkzNDU3MDNdLCBbMTY2MzkyNTAwOS44ODYxMTIsIDEzNSwgMjEuNzE1MDU1NDY1Njk4MjQyXSwgWzE2NjM5MjUwMDkuOTkxODksIDE0NCwgMTguNzc0ODYyMjg5NDI4NzFdLCBbMTY2MzkyNTAxMC4xMDY5Njg2LCAxNTMsIDE5LjQ4MTcxOTk3MDcwMzEyNV0sIFsxNjYzOTI1MDEwLjMwOTg2MiwgMTcxLCAxNi42MDQwNTczMTIwMTE3Ml0sIFsxNjYzOTI1MDEwLjQyMzE5NDQsIDE4MCwgMTYuMzA2MTYxODgwNDkzMTY0XSwgWzE2NjM5MjUwMTAuNTM1MDg4LCAxODksIDE1Ljc3Nzc0OTA2MTU4NDQ3M10sIFsxNjYzOTI1MDEwLjc4ODA0NjYsIDIwNywgMTMuNjQyMDI3ODU0OTE5NDM0XSwgWzE2NjM5MjUwMTAuOTEzMTcyLCAyMTYsIDE2LjgzNzYwNjQzMDA1MzcxXSwgWzE2NjM5MjUwMTEuMjU1MDIxMywgMjQzLCAxNC4zNzIxODk1MjE3ODk1NV0sIFsxNjYzOTI1MDExLjM1OTI2MSwgMjUyLCAxMi44NTE1NDM0MjY1MTM2NzJdLCBbMTY2MzkyNTAxMS40Nzk2NDUzLCAyNjEsIDEyLjU0MDIyNzg5MDAxNDY0OF0sIFsxNjYzOTI1MDExLjU5NjYzNjgsIDI3MCwgMTEuOTg0OTk4NzAzMDAyOTNdLCBbMTY2MzkyNTAxMS43MTUwMDk1LCAyNzksIDExLjExNzM1NTM0NjY3OTY4OF0sIFsxNjYzOTI1MDExLjgzNTI2MzcsIDI4OCwgMTEuNDgyNjQ3ODk1ODEyOTg4XSwgWzE2NjM5MjUwMTEuOTQwMTQ2LCAyOTcsIDEyLjI2MTczMzA1NTExNDc0Nl0sIFsxNjYzOTI1MDEyLjA0OTk5NTIsIDMwNiwgMTEuMzM0NzQ1NDA3MTA0NDkyXSwgWzE2NjM5MjUwMTIuMTYzOTYzLCAzMTUsIDExLjYyNjgxMDA3Mzg1MjUzOV0sIFsxNjYzOTI1MDEyLjM5MzU2NiwgMzMzLCAxMC4xNDY2OTEzMjIzMjY2Nl0sIFsxNjYzOTI1MDEyLjUwOTY3ODgsIDM0MiwgMTAuNzM0MzE4NzMzMjE1MzMyXSwgWzE2NjM5MjUwMTIuNjE2MjIyMSwgMzUxLCAxMS40Mjk1NTk3MDc2NDE2MDJdLCBbMTY2MzkyNTAxMi43MjkwOTEsIDM2MCwgMTEuOTczODEwMTk1OTIyODUyXSwgWzE2NjM5MjUwMTIuODI4NTA2LCAzNjksIDExLjA5MzMwMjcyNjc0NTYwNV0sIFsxNjYzOTI1MDEzLjA1MDQzMjcsIDM4NywgMTEuMDgxNDI2NjIwNDgzMzk4XSwgWzE2NjM5MjUwMTMuMTYzMTU2NSwgMzk2LCAxMS4yMTE1NjMxMTAzNTE1NjJdLCBbMTY2MzkyNTAxMy42MDkxOTg4LCA0MzIsIDEwLjU4MzA5MTczNTgzOTg0NF0sIFsxNjYzOTI1MDEzLjcwODYyMDUsIDQ0MSwgOC41NzQ2Nzc0NjczNDYxOTFdLCBbMTY2MzkyNTAxMy44MjM5MTg4LCA0NTAsIDcuODU0MTA0OTk1NzI3NTM5XSwgWzE2NjM5MjUwMTMuOTQyODcsIDQ1OSwgOS41MjI4OTAwOTA5NDIzODNdLCBbMTY2MzkyNTAxNC4wNDc3MDIsIDQ2OCwgOC42MjExNDIzODczOTAxMzddLCBbMTY2MzkyNTAxNC4xNTYwNjc4LCA0NzcsIDcuNTE1MTQ3MjA5MTY3NDgwNV0sIFsxNjYzOTI1MDE0LjI3MjM1NjUsIDQ4NiwgNy41MjMzNjQwNjcwNzc2MzddLCBbMTY2MzkyNTAxNC4zNzkzMTg3LCA0OTUsIDYuOTg1MDA4NzE2NTgzMjUyXSwgWzE2NjM5MjUwMTQuNTAyNDE1MiwgNTA0LCA3LjEzODY3MTg3NV0sIFsxNjYzOTI1MDE0LjcyMjI4MDMsIDUyMiwgNy4zMDkyNDk0MDEwOTI1MjldLCBbMTY2MzkyNTAxNS4wODU0MTUxLCA1NDksIDYuNjg1NTAxMDk4NjMyODEyNV0sIFsxNjYzOTI1MDE1LjIwNTUyMDQsIDU1OCwgNS45MjU1MDAzOTI5MTM4MThdLCBbMTY2MzkyNTAxNS4zMDU1MTA4LCA1NjcsIDYuNTMwNjM2Nzg3NDE0NTUxXSwgWzE2NjM5MjUwMTUuNTE1MDU3LCA1NzYsIDcuMDMwMjU4MTc4NzEwOTM3NV0sIFsxNjYzOTI1MDE1Ljg3MTA4NTQsIDU5NCwgNi4yNjE4ODQyMTI0OTM4OTY1XSwgWzE2NjM5MjUwMTUuOTg0MjQ5NiwgNjAzLCA2LjU0MTM2MzIzOTI4ODMzXSwgWzE2NjM5MjUwMTYuMDgwMzYxLCA2MTIsIDYuODUyNjU5NzAyMzAxMDI1XSwgWzE2NjM5MjUwMTYuMTk1ODQ3MywgNjIxLCA1Ljk2ODY2NjU1MzQ5NzMxNDVdLCBbMTY2MzkyNTAxNi40NDE3OTU4LCA2MzksIDYuMzg5NTc4ODE5Mjc0OTAyXSwgWzE2NjM5MjUwMTYuNTM2NDk2OSwgNjQ4LCA2LjA3NzU4NjY1MDg0ODM4OV0sIFsxNjYzOTI1MDE2LjczNzgxNywgNjY2LCA1LjQxNTQwMDUwNTA2NTkxOF0sIFsxNjYzOTI1MDE3LjA4MTYzMzYsIDY4NCwgNC45OTE0NDUwNjQ1NDQ2NzhdLCBbMTY2MzkyNTAxNy4zMTEyNTU3LCA3MDIsIDQuNjY4MjQxNTAwODU0NDkyXSwgWzE2NjM5MjUwMTcuNDI3MTgxMiwgNzExLCA1LjY4MzEyNTAxOTA3MzQ4Nl0sIFsxNjYzOTI1MDE3LjUyOTYwNjMsIDcyMCwgNS4xMTQwMjQxNjIyOTI0ODA1XSwgWzE2NjM5MjUwMTcuNjQ0ODQxLCA3MjksIDUuMzc3MTQ1NzY3MjExOTE0XSwgWzE2NjM5MjUwMTcuNzc1MTQwOCwgNzM4LCA2LjIyMDY4Nzg2NjIxMDkzNzVdLCBbMTY2MzkyNTAxNy44OTA5Njc4LCA3NDcsIDQuOTM5OTA2NTk3MTM3NDUxXSwgWzE2NjM5MjUwMTguMDA3NTM1MiwgNzU2LCA0LjA5MTAzODIyNzA4MTI5OV0sIFsxNjYzOTI1MDE4LjI3MTE1MzIsIDc3NCwgNC44NDIzNjUyNjQ4OTI1NzhdLCBbMTY2MzkyNTAxOC4zODI4MDIsIDc4MywgNC4zNjcxOTYwODMwNjg4NDhdLCBbMTY2MzkyNTAxOC40OTcxOTk1LCA3OTIsIDQuNjUxODc5MzEwNjA3OTFdLCBbMTY2MzkyNTAxOC43MzgzNDM1LCA4MTAsIDUuMDkxMDkyMTA5NjgwMTc2XSwgWzE2NjM5MjUwMTguODQ1ODMzOCwgODE5LCA0LjIyODU4NzE1MDU3MzczMDVdLCBbMTY2MzkyNTAxOS4wODY3NTQ4LCA4MzcsIDUuNDQ2NTg4MDM5Mzk4MTkzXSwgWzE2NjM5MjUwMTkuMzA4MjM4MywgODU1LCA0LjcyNDUwMzA0MDMxMzcyMV0sIFsxNjYzOTI1MDE5LjQzMTI5NjMsIDg2NCwgNS40MTQ1Mjg4NDY3NDA3MjNdLCBbMTY2MzkyNTAxOS41NDc5MjA1LCA4NzMsIDUuMzc1NjQwMzkyMzAzNDY3XSwgWzE2NjM5MjUwMTkuODkwNjk5OSwgOTAwLCA1LjMxNTc2NjgxMTM3MDg1XSwgWzE2NjM5MjUwMjAuMDAwNzQ1MywgOTA5LCA0Ljc1MTgzOTYzNzc1NjM0OF0sIFsxNjYzOTI1MDIwLjM0NTA2MSwgOTM2LCAzLjk2MDcwODM3OTc0NTQ4MzRdLCBbMTY2MzkyNTAyMC40NDMxMjc0LCA5NDUsIDQuNzEwMDYzNDU3NDg5MDE0XSwgWzE2NjM5MjUwMjAuNjUyODQxOCwgOTYzLCA0Ljk5OTc0MzQ2MTYwODg4N10sIFsxNjYzOTI1MDIwLjc1NDQzNDMsIDk3MiwgNS4yNDk4MzgzNTIyMDMzNjldLCBbMTY2MzkyNTAyMC44Njk4MTY4LCA5ODEsIDQuMzk1MzU0NzQ3NzcyMjE3XSwgWzE2NjM5MjUwMjAuOTg3Njg5LCA5OTAsIDQuOTYxNzg1NzkzMzA0NDQzXSwgWzE2NjM5MjUwMjEuMTAxNzQ4MiwgOTk5LCAzLjc3NDcwODk4NjI4MjM0ODZdLCBbMTY2MzkyNTAyMS4yMDk0OTY3LCAxMDA4LCA0LjA4MjM4MDc3MTYzNjk2M10sIFsxNjYzOTI1MDIxLjMxNjMyNSwgMTAxNywgNi4yOTQwODc4ODY4MTAzMDNdLCBbMTY2MzkyNTAyMS41MDY4ODcyLCAxMDM1LCA0LjQ0Nzc2NTM1MDM0MTc5N10sIFsxNjYzOTI1MDIxLjYwMjU0MSwgMTA0NCwgNC4xNjE3NjA4MDcwMzczNTM1XSwgWzE2NjM5MjUwMjEuNzAxMTEwNCwgMTA1MywgNS4wMTc4MzY1NzA3Mzk3NDZdLCBbMTY2MzkyNTAyMS44MDQ5NTU3LCAxMDYyLCAzLjkxNzU2NTEwNzM0NTU4MV0sIFsxNjYzOTI1MDIyLjEzNDA1MTMsIDEwODksIDQuMjU2NTI4Mzc3NTMyOTU5XSwgWzE2NjM5MjUwMjIuMjI5MTQ5NiwgMTA5OCwgNC41NDU4MTg4MDU2OTQ1OF0sIFsxNjYzOTI1MDIyLjY2MDA0NTQsIDExMzQsIDMuNzM0NjgzNTEzNjQxMzU3NF0sIFsxNjYzOTI1MDIyLjc5Nzc4NSwgMTE0MywgNC4wNzg1MTUwNTI3OTU0MV0sIFsxNjYzOTI1MDIyLjkzMjA2MjEsIDExNTIsIDMuNDE0ODE0OTQ5MDM1NjQ0NV0sIFsxNjYzOTI1MDIzLjA1MTIzMDcsIDExNjEsIDMuODQ2ODM1Mzc0ODMyMTUzM10sIFsxNjYzOTI1MDIzLjE3MDU3ODUsIDExNzAsIDQuODI5NzAxNDIzNjQ1MDE5NV0sIFsxNjYzOTI1MDIzLjI4ODc4MjEsIDExNzksIDMuNzI2ODMwNDgyNDgyOTFdLCBbMTY2MzkyNTAyMy40MDk0ODM0LCAxMTg4LCA0Ljg0NjE3ODA1NDgwOTU3XSwgWzE2NjM5MjUwMjMuNTIyNzAzNCwgMTE5NywgNC4wMTQzNTM3NTIxMzYyMzA1XSwgWzE2NjM5MjUwMjMuNzI4NjQ5MSwgMTIxNSwgMy42MDU5NDQ4NzE5MDI0NjZdLCBbMTY2MzkyNTAyMy45MjUzNDE0LCAxMjMzLCAzLjk4MjU5MzI5Nzk1ODM3NF0sIFsxNjYzOTI1MDI0LjAzNjY0OTUsIDEyNDIsIDQuMjYzOTgxODE5MTUyODMyXSwgWzE2NjM5MjUwMjQuMTI0MDM2NiwgMTI1MSwgNC4zMjU5NDE1NjI2NTI1ODhdLCBbMTY2MzkyNTAyNC4yMjY4OTU2LCAxMjYwLCAzLjY4MzM0NzIyNTE4OTIwOV0sIFsxNjYzOTI1MDI0LjMxOTQxODcsIDEyNjksIDMuNjcxNzE5NTUxMDg2NDI2XSwgWzE2NjM5MjUwMjQuNDE5MDYzNiwgMTI3OCwgNC4yMDUxNTU4NDk0NTY3ODddLCBbMTY2MzkyNTAyNC45MTc0OTI2LCAxMjk2LCA0LjE2NzYyMDY1ODg3NDUxMl0sIFsxNjYzOTI1MDI1LjA0OTk0NTgsIDEzMDUsIDQuNjUzNDE2NjMzNjA1OTU3XSwgWzE2NjM5MjUwMjUuMTQyNjQ5NywgMTMxNCwgMy40NDQ2MDIwMTI2MzQyNzczXSwgWzE2NjM5MjUwMjUuMjQwMjE5OCwgMTMyMywgMy43MDUzMTcyNTg4MzQ4MzldLCBbMTY2MzkyNTAyNS4zMzc4NTQ5LCAxMzMyLCAzLjI4ODc2NzgxNDYzNjIzMDVdLCBbMTY2MzkyNTAyNS40NTMyMTQ2LCAxMzQxLCAzLjQ3NDM4NjQ1MzYyODU0XSwgWzE2NjM5MjUwMjUuNjYxNjY3OCwgMTM1OSwgMy43OTAwMDM1MzgxMzE3MTRdLCBbMTY2MzkyNTAyNi4wODg0MDM3LCAxMzk1LCA0LjM3NTkzNzQ2MTg1MzAyN10sIFsxNjYzOTI1MDI2LjMwNzc3MjQsIDE0MTMsIDMuNzQ5OTI5MTg5NjgyMDA3XSwgWzE2NjM5MjUwMjYuNDIzMDIyLCAxNDIyLCAyLjkwODk4MzIzMDU5MDgyMDNdLCBbMTY2MzkyNTAyNi41NTY2NjE2LCAxNDMxLCAyLjk0MjU5NzM4OTIyMTE5MTRdLCBbMTY2MzkyNTAyNi42NTg5ODE2LCAxNDQwLCAzLjE5OTAxOTE5MzY0OTI5Ml0sIFsxNjYzOTI1MDI2Ljc3ODU2NjEsIDE0NDksIDMuMDc4MjcxMTUwNTg4OTg5M10sIFsxNjYzOTI1MDI2Ljg5MTIwMTMsIDE0NTgsIDMuMjIwMDYyMDE3NDQwNzk2XSwgWzE2NjM5MjUwMjcuMDAwMzQ2NywgMTQ2NywgMy42MDg0NjkwMDkzOTk0MTRdLCBbMTY2MzkyNTAyNy4yNjE0NjQ4LCAxNDc2LCAzLjEzMDM3NTE0Njg2NTg0NDddLCBbMTY2MzkyNTAyNy4zNjQ3NjAyLCAxNDg1LCAzLjA0OTA3MzY5NjEzNjQ3NDZdLCBbMTY2MzkyNTAyNy41NjQ5MDQyLCAxNTAzLCAzLjAzMDQ3Mzk0NzUyNTAyNDRdLCBbMTY2MzkyNTAyNy43NzAxNzU3LCAxNTIxLCAzLjg3MDc0MTEyODkyMTUwOV0sIFsxNjYzOTI1MDI3Ljg2OTY0NiwgMTUzMCwgMy4xNzUyMjg1OTU3MzM2NDI2XSwgWzE2NjM5MjUwMjcuOTcwODM2NiwgMTUzOSwgMy4zNzEwNTg0NjQwNTAyOTNdLCBbMTY2MzkyNTAyOC4wNzI2NDM4LCAxNTQ4LCAzLjQ3NTc2MTY1MTk5Mjc5OF0sIFsxNjYzOTI1MDI4LjE4NjI3NywgMTU1NywgMy45MDMwNTAxODQyNDk4NzhdLCBbMTY2MzkyNTAyOC40MDcyODQ1LCAxNTc1LCAyLjgwNDQ0MDk3NTE4OTIwOV0sIFsxNjYzOTI1MDI4LjUyMTI2OTMsIDE1ODQsIDMuNjIyMTI4NzI1MDUxODhdLCBbMTY2MzkyNTAyOC42MjI1NDcsIDE1OTMsIDIuNTg4MDE0MTI1ODIzOTc0Nl0sIFsxNjYzOTI1MDI4Ljc0NzQwNiwgMTYwMiwgMi45NTYwNzEzNzY4MDA1MzddLCBbMTY2MzkyNTAyOC44NDg3NDE1LCAxNjExLCAyLjg5MjQ3NjA4MTg0ODE0NDVdLCBbMTY2MzkyNTAyOS4wNjUxODYsIDE2MjksIDMuMTg4MTI1MTMzNTE0NDA0M10sIFsxNjYzOTI1MDI5LjE3NzA4NDIsIDE2MzgsIDIuOTI4OTE4MzYxNjYzODE4NF0sIFsxNjYzOTI1MDI5LjI5MTM4MzUsIDE2NDcsIDIuNTEzODg3NDA1Mzk1NTA4XSwgWzE2NjM5MjUwMjkuNDA4MzM5MywgMTY1NiwgMi40NzM3MjQ4NDIwNzE1MzNdLCBbMTY2MzkyNTAyOS41NTE5MzEsIDE2NjUsIDIuNjI1NzU1Nzg2ODk1NzUyXSwgWzE2NjM5MjUwMjkuNjUwMzk5NCwgMTY3NCwgMi42MTkwMzMzMzY2Mzk0MDQzXSwgWzE2NjM5MjUwMjkuNzUwOTkyLCAxNjgzLCAyLjM4NTc4MzkxMDc1MTM0MjhdLCBbMTY2MzkyNTAzMC4xMjE4MTY5LCAxNzEwLCAzLjQ2NzA5OTkwNTAxNDAzOF0sIFsxNjYzOTI1MDMwLjIyNDUxNDUsIDE3MTksIDIuMzA2ODY3NTk5NDg3MzA0N10sIFsxNjYzOTI1MDMwLjM0NDc1NSwgMTcyOCwgMi41MzQ3MTU0MTQwNDcyNDFdLCBbMTY2MzkyNTAzMC40NDgwNjg2LCAxNzM3LCAyLjQ0MTMxMTEyMDk4NjkzODVdLCBbMTY2MzkyNTAzMC41NzY1MTQsIDE3NDYsIDIuNTgzMDM2NjYxMTQ4MDcxM10sIFsxNjYzOTI1MDMwLjgwMDkwOTgsIDE3NjQsIDIuNDE5OTkwMzAxMTMyMjAyXSwgWzE2NjM5MjUwMzEuMDQzNjI4LCAxNzgyLCAyLjYxMDY1MzE2MjAwMjU2MzVdLCBbMTY2MzkyNTAzMS4xNjIyNTYyLCAxNzkxLCAyLjY1OTIwOTk2NjY1OTU0Nl0sIFsxNjYzOTI1MDMxLjI3NzM5MTQsIDE4MDAsIDIuMjY4ODk5Njc5MTgzOTZdLCBbMTY2MzkyNTAzMS40MDA5ODMzLCAxODA5LCAyLjI2OTAyNjI3OTQ0OTQ2M10sIFsxNjYzOTI1MDMxLjYyMTYyMjYsIDE4MjcsIDIuODQ0MDg0MDI0NDI5MzIxM10sIFsxNjYzOTI1MDMxLjcyNzQ2MTMsIDE4MzYsIDIuMjcyNjc4MTM2ODI1NTYxNV0sIFsxNjYzOTI1MDMxLjgzODQ1NjQsIDE4NDUsIDIuMjM2ODY5MzM1MTc0NTYwNV0sIFsxNjYzOTI1MDMxLjk1NzM3NiwgMTg1NCwgMi4wODY5NDEyNDIyMTgwMTc2XSwgWzE2NjM5MjUwMzIuMDc4NTEyNywgMTg2MywgMi4yNDc2ODg1MzE4NzU2MTA0XSwgWzE2NjM5MjUwMzIuMTgyNDg3MiwgMTg3MiwgMi40MzE0MzE3NzAzMjQ3MDddLCBbMTY2MzkyNTAzMi4yODc5MDE5LCAxODgxLCAyLjAwMjA5MzA3NjcwNTkzMjZdLCBbMTY2MzkyNTAzMi40NDIxNDMyLCAxODkwLCAyLjE5ODEyMzY5MzQ2NjE4NjVdLCBbMTY2MzkyNTAzMi41NDA2ODM1LCAxODk5LCAyLjAzODMxOTU4NzcwNzUxOTVdLCBbMTY2MzkyNTAzMi42NTI5MTAyLCAxOTA4LCAxLjkzODM3OTQwNjkyOTAxNjFdLCBbMTY2MzkyNTAzMi44NzY1MzEsIDE5MjYsIDIuMzY3MTIwNzQyNzk3ODUxNl0sIFsxNjYzOTI1MDMzLjA4NDIxMzMsIDE5NDQsIDIuMjc1NjMyMTQzMDIwNjNdLCBbMTY2MzkyNTAzMy4xOTQ5MTU4LCAxOTUzLCAyLjQ3NjUxODg2OTQwMDAyNDRdLCBbMTY2MzkyNTAzMy40MDY4NTM3LCAxOTcxLCAyLjI3NDI3MTcyNjYwODI3NjRdLCBbMTY2MzkyNTAzMy41MTYzNzUsIDE5ODAsIDIuMjU5NDAyMjc1MDg1NDQ5XSwgWzE2NjM5MjUwMzMuNjA1OTkwNiwgMTk4OSwgMi4wMDQxNDI1MjI4MTE4ODk2XSwgWzE2NjM5MjUwMzMuNzAwNzE3MiwgMTk5OCwgMi4xMTQ1NjI5ODgyODEyNV0sIFsxNjYzOTI1MDMzLjc5NjM1MTIsIDIwMDcsIDIuNDA4NDg4NTEyMDM5MTg0Nl0sIFsxNjYzOTI1MDM0LjAyMDA1OTgsIDIwMjUsIDIuMDMyODA5OTcyNzYzMDYxNV0sIFsxNjYzOTI1MDM0LjEzNjM0MTMsIDIwMzQsIDIuMTkxMzA0NjgzNjg1MzAyN10sIFsxNjYzOTI1MDM0LjI0ODU4ODMsIDIwNDMsIDIuMTU3NzUwODQ0OTU1NDQ0M10sIFsxNjYzOTI1MDM0LjU4MDE4MTQsIDIwNzAsIDEuOTc2NjQ4NDQ5ODk3NzY2MV0sIFsxNjYzOTI1MDM0Ljc3MDU1OCwgMjA4OCwgMi4xOTUwMDExMjUzMzU2OTM0XSwgWzE2NjM5MjUwMzQuODY1Mzg0LCAyMDk3LCAxLjgxMTg3NDE1MTIyOTg1ODRdLCBbMTY2MzkyNTAzNC45ODIyMzY5LCAyMTA2LCAxLjc1NDU1NjI5ODI1NTkyMDRdLCBbMTY2MzkyNTAzNS4xMjQ2MjUyLCAyMTE1LCAyLjI1OTExMDIxMjMyNjA1XSwgWzE2NjM5MjUwMzUuMjE0MzgxLCAyMTI0LCAyLjcwNzQ3NDcwODU1NzEyOV0sIFsxNjYzOTI1MDM1LjMwOTcwODQsIDIxMzMsIDIuMTM0NDE3NzcyMjkzMDkxXSwgWzE2NjM5MjUwMzUuNDA1MjkxMywgMjE0MiwgMS43MDI0Mjk3NzE0MjMzMzk4XSwgWzE2NjM5MjUwMzUuNTM3NTksIDIxNTEsIDIuMDI0MTIwMDkyMzkxOTY3OF0sIFsxNjYzOTI1MDM1LjY0Nzc3MiwgMjE2MCwgMS43MzY4NzMxNDk4NzE4MjYyXSwgWzE2NjM5MjUwMzUuODUzMzkxNCwgMjE3OCwgMS43MDk4MjI1MzU1MTQ4MzE1XSwgWzE2NjM5MjUwMzUuOTc0OTg3LCAyMTg3LCAyLjM5NTA2MTczMTMzODUwMV0sIFsxNjYzOTI1MDM2LjIyMTU0MjYsIDIyMDUsIDEuODA1NTk0MDg2NjQ3MDMzN10sIFsxNjYzOTI1MDM2LjMzNzgzMDMsIDIyMTQsIDIuMDIzODU5NTAwODg1MDA5OF0sIFsxNjYzOTI1MDM2LjQ0MDgxMTksIDIyMjMsIDEuODcxOTU1NjMzMTYzNDUyMV0sIFsxNjYzOTI1MDM2LjU0MzMwMTYsIDIyMzIsIDIuMTMzMTI2MDIwNDMxNTE4Nl0sIFsxNjYzOTI1MDM2LjYzODM4MjQsIDIyNDEsIDIuMDM0MDI4MDUzMjgzNjkxNF0sIFsxNjYzOTI1MDM2Ljc0NDYxNzUsIDIyNTAsIDEuODcxNDY5Mzc4NDcxMzc0NV0sIFsxNjYzOTI1MDM3LjI3MzU0MzYsIDIyNzcsIDIuMDg2MDU2MjMyNDUyMzkyNl0sIFsxNjYzOTI1MDM3LjM3MDUxMzIsIDIyODYsIDIuMDI1NDQ5NTE0Mzg5MDM4XSwgWzE2NjM5MjUwMzcuNDY4MjM1LCAyMjk1LCAxLjgyNjc2MTEyNjUxODI0OTVdLCBbMTY2MzkyNTAzNy41NjA1NjA3LCAyMzA0LCAyLjAwODMyMjIzODkyMjExOV0sIFsxNjYzOTI1MDM3Ljc1NDMwOSwgMjMyMiwgMS43NjE4Nzg3Mjg4NjY1NzcxXSwgWzE2NjM5MjUwMzcuODU0MTAyOCwgMjMzMSwgMS45MDUzMDQzMTI3MDU5OTM3XSwgWzE2NjM5MjUwMzcuOTQ0MzgsIDIzNDAsIDEuNzUyNDA4NjIzNjk1MzczNV0sIFsxNjYzOTI1MDM4LjA0MTcyMiwgMjM0OSwgMS42Nzc2MTI1NDMxMDYwNzldLCBbMTY2MzkyNTAzOC4zMTUwMjIyLCAyMzY3LCAxLjg3OTc1NTI1ODU2MDE4MDddLCBbMTY2MzkyNTAzOC40MjIyOTU2LCAyMzc2LCAxLjUzNjkxNzkyNDg4MDk4MTRdLCBbMTY2MzkyNTAzOC42MzAwNzY2LCAyMzk0LCAyLjE1NDA4OTIxMjQxNzYwMjVdLCBbMTY2MzkyNTAzOC45NDQxNDMsIDI0MjEsIDEuNzEyMTE4OTgzMjY4NzM3OF0sIFsxNjYzOTI1MDM5LjE5MjExMzQsIDI0MzksIDIuMTc5MDc1OTU2MzQ0NjA0NV0sIFsxNjYzOTI1MDM5LjMwODE3NzcsIDI0NDgsIDEuODU1NTUxNDgxMjQ2OTQ4Ml0sIFsxNjYzOTI1MDM5LjUzNTU1NjMsIDI0NjYsIDEuOTc5MjAxNTU1MjUyMDc1Ml0sIFsxNjYzOTI1MDM5LjY1MDI5LCAyNDc1LCAxLjY5MzM4MTA3MTA5MDY5ODJdLCBbMTY2MzkyNTAzOS43NjI0Njg2LCAyNDg0LCAyLjA0MzI5NTE0NTAzNDc5XSwgWzE2NjM5MjUwMzkuODc3MDIzNywgMjQ5MywgMS41MTk5NDIyODM2MzAzNzFdLCBbMTY2MzkyNTA0MC4wOTgzMDU3LCAyNTExLCAxLjc1OTI3OTQ4OTUxNzIxMl0sIFsxNjYzOTI1MDQwLjIxMDY2NDcsIDI1MjAsIDEuNjM4MzUwMzY3NTQ2MDgxNV0sIFsxNjYzOTI1MDQwLjMyMjc1MjUsIDI1MjksIDIuMTI0NTAxNDY2NzUxMDk4Nl0sIFsxNjYzOTI1MDQwLjQyODE1OTcsIDI1MzgsIDEuOTU1NTc1MTA4NTI4MTM3Ml0sIFsxNjYzOTI1MDQwLjUzNzIxMDUsIDI1NDcsIDEuNjkwNzQxMzAwNTgyODg1N10sIFsxNjYzOTI1MDQwLjY0OTc5MiwgMjU1NiwgMS45MDYwMDIyODMwOTYzMTM1XSwgWzE2NjM5MjUwNDAuNzU4OTM4NiwgMjU2NSwgMS43MDYzOTI4ODQyNTQ0NTU2XSwgWzE2NjM5MjUwNDAuODY4NDkyNiwgMjU3NCwgMS44MDUxOTU5Mjc2MTk5MzRdLCBbMTY2MzkyNTA0MC45ODkxOTgsIDI1ODMsIDEuODU5MDE5Mjc5NDc5OTgwNV0sIFsxNjYzOTI1MDQxLjExMTkxMjcsIDI1OTIsIDEuODEwMDM2ODk3NjU5MzAxOF0sIFsxNjYzOTI1MDQxLjIxODY0NzcsIDI2MDEsIDEuOTI4NDk1Mjg3ODk1MjAyNl0sIFsxNjYzOTI1MDQxLjQzNjE1NSwgMjYxOSwgMS41MTMzMzQ5ODk1NDc3Mjk1XSwgWzE2NjM5MjUwNDEuNTM4MjYzNiwgMjYyOCwgMi4wNzI0MjQxNzMzNTUxMDI1XSwgWzE2NjM5MjUwNDIuMDE2OTU1NiwgMjY2NCwgMS44MzQyMDI1Mjc5OTk4NzhdLCBbMTY2MzkyNTA0Mi4xMjg3MDksIDI2NzMsIDEuNjI3NzMxNDQyNDUxNDc3XSwgWzE2NjM5MjUwNDIuMjQwMTE0NSwgMjY4MiwgMS44ODU4ODk0MTA5NzI1OTUyXSwgWzE2NjM5MjUwNDIuMzU4ODQ2NCwgMjY5MSwgMS42MTMxMTY2MjE5NzExMzA0XSwgWzE2NjM5MjUwNDIuNDk1MzU0LCAyNzAwLCAxLjYwMTkzMzEyMTY4MTIxMzRdLCBbMTY2MzkyNTA0Mi42MDA3NjIxLCAyNzA5LCAxLjc4OTg5MjU1NDI4MzE0Ml0sIFsxNjYzOTI1MDQyLjkzNjQxNiwgMjczNiwgMS45MjY2Njk3MTY4MzUwMjJdLCBbMTY2MzkyNTA0My4wNDU1MTMsIDI3NDUsIDEuNTIwNDE5MTIwNzg4NTc0Ml0sIFsxNjYzOTI1MDQzLjE1OTM0MjgsIDI3NTQsIDEuNjYyMjU5NDU5NDk1NTQ0NF0sIFsxNjYzOTI1MDQzLjI5MDA3NzQsIDI3NjMsIDEuODI1MjQ0Nzg0MzU1MTYzNl0sIFsxNjYzOTI1MDQzLjM5NzMzNTUsIDI3NzIsIDEuNTQ2NTQ3NTMyMDgxNjA0XSwgWzE2NjM5MjUwNDMuNDk4NDE3NCwgMjc4MSwgMS45MTE1NzU2NzUwMTA2ODEyXSwgWzE2NjM5MjUwNDMuNjAwMzE0MSwgMjc5MCwgMS42NDg4Mzk3MTIxNDI5NDQzXSwgWzE2NjM5MjUwNDMuNzk1NTU1NiwgMjgwOCwgMS42NDc2MjkwMjI1OTgyNjY2XSwgWzE2NjM5MjUwNDMuODkzNDYzLCAyODE3LCAxLjUzMjk1ODYyNjc0NzEzMTNdLCBbMTY2MzkyNTA0My45ODc3OTA4LCAyODI2LCAxLjUwODkxMzUxNjk5ODI5MV0sIFsxNjYzOTI1MDQ0LjA3NjQ4OTcsIDI4MzUsIDEuNDYyNDUyNjUwMDcwMTkwNF0sIFsxNjYzOTI1MDQ0LjIwMjQxMTIsIDI4NDQsIDEuNzI5NjgyODAzMTUzOTkxN10sIFsxNjYzOTI1MDQ0LjMxMzMxMywgMjg1MywgMS42MjA0NDQ4OTM4MzY5NzVdLCBbMTY2MzkyNTA0NC41Mjc4NzEsIDI4NzEsIDEuNDkzMzYwODc3MDM3MDQ4M10sIFsxNjYzOTI1MDQ0LjY2MTQ1NDcsIDI4ODAsIDEuNjkzNjEwOTA2NjAwOTUyMV0sIFsxNjYzOTI1MDQ0Ljc2OTMyMDIsIDI4ODksIDEuNTU3NDEzODE2NDUyMDI2NF0sIFsxNjYzOTI1MDQ0Ljg3ODkyNDgsIDI4OTgsIDEuMzczMzUxNDU0NzM0ODAyMl0sIFsxNjYzOTI1MDQ1LjAwMTYyMzIsIDI5MDcsIDEuNDAwOTAzMzQ0MTU0MzU4XSwgWzE2NjM5MjUwNDUuMjE4NjIxLCAyOTI1LCAxLjQxNTg1ODYyNjM2NTY2MTZdLCBbMTY2MzkyNTA0NS41NTM1OTg0LCAyOTUyLCAxLjU2MjI4MTAxMjUzNTA5NTJdLCBbMTY2MzkyNTA0NS43NzUyNTM1LCAyOTcwLCAxLjczODMxNjA1OTExMjU0ODhdLCBbMTY2MzkyNTA0NS45MDE1NjMsIDI5NzksIDEuNzE4MjA2NjQ0MDU4MjI3NV0sIFsxNjYzOTI1MDQ2LjAxODU4MzUsIDI5ODgsIDEuNzE0ODM3OTA4NzQ0ODEyXSwgWzE2NjM5MjUwNDYuMTIxNTE2NSwgMjk5NywgMS42NTE2ODY2NjgzOTU5OTZdLCBbMTY2MzkyNTA0Ni4yMTg2OTEsIDMwMDYsIDEuNTI3MDk5NDkwMTY1NzEwNF0sIFsxNjYzOTI1MDQ2LjU0Nzk0NjcsIDMwMzMsIDEuODQ1NTc1NTcxMDYwMTgwN10sIFsxNjYzOTI1MDQ2Ljg2NzcyNzMsIDMwNDIsIDEuNTc5MjAyNTMyNzY4MjQ5NV0sIFsxNjYzOTI1MDQ2Ljk2OTczMDYsIDMwNTEsIDEuODMyMzk2NjI2NDcyNDczMV0sIFsxNjYzOTI1MDQ3LjE4NjI2ODMsIDMwNjksIDEuNzkyMjY4Mzk1NDIzODg5Ml0sIFsxNjYzOTI1MDQ3LjQyNjc0ODUsIDMwODcsIDEuNjQ1OTM3MzIzNTcwMjUxNV0sIFsxNjYzOTI1MDQ3LjU0Njc2OTksIDMwOTYsIDEuNzkyNjc0MTgzODQ1NTJdLCBbMTY2MzkyNTA0Ny42NzU5OTU2LCAzMTA1LCAxLjQwMDMzMTg1NDgyMDI1MTVdLCBbMTY2MzkyNTA0Ny44MTY1NTAzLCAzMTE0LCAxLjQzMjE2NjA5OTU0ODMzOThdLCBbMTY2MzkyNTA0Ny45MjgzODI0LCAzMTIzLCAxLjU1NDgxMDUyMzk4NjgxNjRdLCBbMTY2MzkyNTA0OC4wMzEzMjQxLCAzMTMyLCAxLjY2NjY1NDQ2NzU4MjcwMjZdLCBbMTY2MzkyNTA0OC4xMzM2NDcyLCAzMTQxLCAxLjY5ODY3ODAxNjY2MjU5NzddLCBbMTY2MzkyNTA0OC4yMjI1NjksIDMxNTAsIDEuNjgzNzM1OTY2NjgyNDM0XSwgWzE2NjM5MjUwNDguMzI2NzcyNywgMzE1OSwgMS40MzEwMDE3ODI0MTcyOTc0XSwgWzE2NjM5MjUwNDguNTI1ODE4OCwgMzE3NywgMS4zNDczMzY3NjkxMDQwMDRdLCBbMTY2MzkyNTA0OC42NDIwNDc2LCAzMTg2LCAxLjQ4MzczNzcwNzEzODA2MTVdLCBbMTY2MzkyNTA0OC43NzczMjcsIDMxOTUsIDEuMzc2NzIzMDUxMDcxMTY3XSwgWzE2NjM5MjUwNDguOTAyMTY0LCAzMjA0LCAxLjQxNjExMTExMTY0MDkzMDJdLCBbMTY2MzkyNTA0OS4xNDc0OTYsIDMyMjIsIDEuNzI4MTI2NzY0Mjk3NDg1NF0sIFsxNjYzOTI1MDQ5LjI1ODY4NzcsIDMyMzEsIDEuMzk3MTAwMzI5Mzk5MTA4OV0sIFsxNjYzOTI1MDQ5LjQ1OTM3OTIsIDMyNDksIDEuODQ3MDcwODEzMTc5MDE2MV0sIFsxNjYzOTI1MDQ5LjU3NzY2MzcsIDMyNTgsIDEuNDA2ODI3MjExMzgwMDA0OV0sIFsxNjYzOTI1MDQ5LjY3NTM4OTMsIDMyNjcsIDEuNDgzMTY0Nzg3MjkyNDgwNV0sIFsxNjYzOTI1MDQ5Ljc3MDk1MzcsIDMyNzYsIDEuNDU0MTU1NTY0MzA4MTY2NV0sIFsxNjYzOTI1MDQ5Ljg2ODE0MzgsIDMyODUsIDEuNjU1ODg0NTA0MzE4MjM3M10sIFsxNjYzOTI1MDQ5Ljk2NTU3MDQsIDMyOTQsIDEuMzAzMjE4ODQxNTUyNzM0NF0sIFsxNjYzOTI1MDUwLjA2MzIwNTUsIDMzMDMsIDEuNDYxOTA4NTc4ODcyNjgwN10sIFsxNjYzOTI1MDUwLjE3MDI4NiwgMzMxMiwgMS41MDIyMjc2NjM5OTM4MzU0XSwgWzE2NjM5MjUwNTAuMjY0NTI1NCwgMzMyMSwgMS43MDAwNzA1MDAzNzM4NDAzXSwgWzE2NjM5MjUwNTAuMzYwMjI3NiwgMzMzMCwgMS41Mzc3MjA2ODAyMzY4MTY0XSwgWzE2NjM5MjUwNTAuODI1OTAwOCwgMzM2NiwgMS4zNDkxMDIwMjAyNjM2NzE5XSwgWzE2NjM5MjUwNTAuOTQxMDEzMywgMzM3NSwgMS42OTMwODM2NDM5MTMyNjldLCBbMTY2MzkyNTA1MS4wMzQzMDY1LCAzMzg0LCAxLjQ5NTM0MjQ5MzA1NzI1MV0sIFsxNjYzOTI1MDUxLjY1ODMzOTMsIDM0MDIsIDEuMjMzMTgzNTAzMTUwOTRdLCBbMTY2MzkyNTA1MS45MTk1OTYsIDM0MTEsIDEuNjI5MTExODg2MDI0NDc1XSwgWzE2NjM5MjUwNTIuNTAzNjU2OSwgMzQ0NywgMS40NDM5NDE1OTMxNzAxNjZdLCBbMTY2MzkyNTA1My4xOTQ4OTYsIDM0NjUsIDEuNTg3NDU1ODY4NzIxMDA4M10sIFsxNjYzOTI1MDUzLjMxMDM2MTYsIDM0NzQsIDEuMjc5NTY0MzgwNjQ1NzUyXSwgWzE2NjM5MjUwNTMuNDI1MDk1OCwgMzQ4MywgMS4zODIzNTU2OTAwMDI0NDE0XSwgWzE2NjM5MjUwNTQuMDcwMTg0NSwgMzUxMCwgMS41MTEyNzQ0NTY5Nzc4NDQyXSwgWzE2NjM5MjUwNTQuMzkxNTg1NiwgMzUxOSwgMS40NTE0MzgwNjkzNDM1NjddLCBbMTY2MzkyNTA1NC41MjgzMzE4LCAzNTI4LCAxLjMxNTU5NDkxMTU3NTMxNzRdLCBbMTY2MzkyNTA1NC42NDM0NjgxLCAzNTM3LCAxLjQ0MzUyMTczODA1MjM2ODJdLCBbMTY2MzkyNTA1NC43MzgxMzY4LCAzNTQ2LCAxLjY3NjgyMTExMjYzMjc1MTVdLCBbMTY2MzkyNTA1NC44NDc2ODg3LCAzNTU1LCAxLjUxMzkyMTQ5OTI1MjMxOTNdLCBbMTY2MzkyNTA1NC45NDkzNjU2LCAzNTY0LCAxLjI1MDkxNjcxOTQzNjY0NTVdLCBbMTY2MzkyNTA1NS4wNTkxMTQ3LCAzNTczLCAxLjU4NDE0MjA4ODg5MDA3NTddLCBbMTY2MzkyNTA1NS4xOTQ3NTgyLCAzNTgyLCAxLjQ3NTY2MjQ2OTg2Mzg5MTZdLCBbMTY2MzkyNTA1NS4yOTYyNDIyLCAzNTkxLCAxLjUyMTE4NjIzMjU2NjgzMzVdLCBbMTY2MzkyNTA1NS4zOTc1ODU2LCAzNjAwLCAxLjMxODA3NjEzMzcyODAyNzNdLCBbMTY2MzkyNTA1NS41MDk3NTU2LCAzNjA5LCAxLjg1Nzg3MjAwOTI3NzM0MzhdLCBbMTY2MzkyNTA1NS42MTM1MTQyLCAzNjE4LCAxLjQwMzU1MTU3ODUyMTcyODVdLCBbMTY2MzkyNTA1NS43MDUyMjk4LCAzNjI3LCAxLjQ3Nzc2NTIwMjUyMjI3NzhdLCBbMTY2MzkyNTA1NS45MDMzNzY4LCAzNjQ1LCAxLjY2NDQyMDk2MjMzMzY3OTJdLCBbMTY2MzkyNTA1Ni4wMzEwMjg1LCAzNjU0LCAxLjI3NjM3Nzc5NzEyNjc3XSwgWzE2NjM5MjUwNTYuMTMzNDcyNCwgMzY2MywgMS40NDkxMDgwMDQ1NzAwMDczXSwgWzE2NjM5MjUwNTYuMjM3MTI4LCAzNjcyLCAxLjI5ODcyMjc0Mzk4ODAzN10sIFsxNjYzOTI1MDU2LjMzMzY1NCwgMzY4MSwgMS4yOTQ3NTgwODE0MzYxNTcyXSwgWzE2NjM5MjUwNTYuNDQyNjQ2MywgMzY5MCwgMS41Nzg1MzQyNDU0OTEwMjc4XSwgWzE2NjM5MjUwNTYuNzQ4NTQ3LCAzNzE3LCAxLjUyNzI0ODk3ODYxNDgwNzFdLCBbMTY2MzkyNTA1Ni44NTMxNDA2LCAzNzI2LCAxLjU0NjI5NTg4MTI3MTM2MjNdLCBbMTY2MzkyNTA1Ni45NzE3MjgzLCAzNzM1LCAxLjM1ODU2NTgwNzM0MjUyOTNdLCBbMTY2MzkyNTA1Ny4wODA5MzUsIDM3NDQsIDEuNzQyNzAyOTYwOTY4MDE3Nl0sIFsxNjYzOTI1MDU3LjQxNzIyNDYsIDM3NzEsIDEuNDM0NTA5MTU4MTM0NDYwNF0sIFsxNjYzOTI1MDU3LjUyMDY3MDIsIDM3ODAsIDEuMjE4Mzg5OTg3OTQ1NTU2Nl0sIFsxNjYzOTI1MDU3LjczMDM1NSwgMzc5OCwgMS41MDQyNTUwNTYzODEyMjU2XSwgWzE2NjM5MjUwNTcuODI5MDYzNywgMzgwNywgMS40NzE2MzU2OTkyNzIxNTU4XSwgWzE2NjM5MjUwNTguMDYwOTcwOCwgMzgyNSwgMS4yMzQ2NTYzMzM5MjMzMzk4XSwgWzE2NjM5MjUwNTguMzc0ODg4NCwgMzgzNCwgMS4zNTg3MTM3NDYwNzA4NjE4XSwgWzE2NjM5MjUwNTguNDc3MjA4LCAzODQzLCAxLjQ5MDc4NjU1MjQyOTE5OTJdLCBbMTY2MzkyNTA1OC41NzIzNTY1LCAzODUyLCAxLjM3NTM2ODgzMzU0MTg3MDFdLCBbMTY2MzkyNTA1OC43ODU3NDIsIDM4NzAsIDEuNDY3MzUzODIwODAwNzgxMl0sIFsxNjYzOTI1MDU4Ljg4NjIzNCwgMzg3OSwgMS40MzQ0NDc2NDYxNDEwNTIyXSwgWzE2NjM5MjUwNTguOTg5OTc5NSwgMzg4OCwgMS4zNjcxMzg1MDQ5ODE5OTQ2XSwgWzE2NjM5MjUwNTkuMzEyMDQ2OCwgMzkxNSwgMS40MzM3MzQ4OTM3OTg4MjgxXSwgWzE2NjM5MjUwNTkuNDE4MTg5MywgMzkyNCwgMS40MDAwOTY0MTY0NzMzODg3XSwgWzE2NjM5MjUwNTkuNTIyNzI5NCwgMzkzMywgMS4zNDU0NzUxOTY4MzgzNzldLCBbMTY2MzkyNTA1OS42MjIxNzk3LCAzOTQyLCAxLjIzNDc2NDA5OTEyMTA5MzhdLCBbMTY2MzkyNTA1OS43MzE0OTE2LCAzOTUxLCAxLjM4ODcxMDI2MDM5MTIzNTRdLCBbMTY2MzkyNTA1OS44MzcwMTU2LCAzOTYwLCAxLjMyMDA5Mjc5NzI3OTM1OF0sIFsxNjYzOTI1MDU5Ljk3MDQ4OTMsIDM5NjksIDEuNjE2MjYwNzY2OTgzMDMyMl0sIFsxNjYzOTI1MDYwLjA2NzE5NTIsIDM5NzgsIDEuMTk2OTE4NzI1OTY3NDA3Ml0sIFsxNjYzOTI1MDYwLjMyNjE1MzMsIDM5OTYsIDEuNDU4OTIzODE2NjgwOTA4Ml0sIFsxNjYzOTI1MDYwLjQyNDUyMywgNDAwNSwgMS41MDIwMDY3NjkxODAyOTc5XSwgWzE2NjM5MjUwNjAuNTE2MTI1LCA0MDE0LCAxLjM0OTU5MTczMjAyNTE0NjVdLCBbMTY2MzkyNTA2MC42MDcxNTAzLCA0MDIzLCAxLjYwMzczOTE0MjQxNzkwNzddLCBbMTY2MzkyNTA2MC45OTc5MTU3LCA0MDU5LCAxLjYyMDg2MDMzODIxMTA1OTZdLCBbMTY2MzkyNTA2MS4xMzA1MzYsIDQwNjgsIDEuMTQ3NjA0NzAzOTAzMTk4Ml0sIFsxNjYzOTI1MDYxLjI2NDg0OTcsIDQwNzcsIDEuMzk1NDY5MDY5NDgwODk2XSwgWzE2NjM5MjUwNjEuMzc2NDkxOCwgNDA4NiwgMS4xNzkyMDk1ODk5NTgxOTFdLCBbMTY2MzkyNTA2MS40ODAwODE2LCA0MDk1LCAxLjM1MDYwODk0NDg5Mjg4MzNdLCBbMTY2MzkyNTA2MS42OTU3OTYzLCA0MTEzLCAxLjIxMjMzNDE1NjAzNjM3N10sIFsxNjYzOTI1MDYxLjkwNzgxLCA0MTMxLCAxLjIzMzc1ODQ0OTU1NDQ0MzRdLCBbMTY2MzkyNTA2Mi4xMTM1NDczLCA0MTQ5LCAxLjIwODgzMjk3OTIwMjI3MDVdLCBbMTY2MzkyNTA2Mi4yMTc3OCwgNDE1OCwgMS40MjcxNTgxMTcyOTQzMTE1XSwgWzE2NjM5MjUwNjIuMzEzMTkyLCA0MTY3LCAxLjM2NzAxNTk1NzgzMjMzNjRdLCBbMTY2MzkyNTA2Mi41MjY2MTkyLCA0MTg1LCAxLjc4MTc5NDQyODgyNTM3ODRdLCBbMTY2MzkyNTA2Mi42NjM2NzUzLCA0MTk0LCAxLjYwNTEwMjg5NjY5MDM2ODddLCBbMTY2MzkyNTA2Mi43NTYyMzk0LCA0MjAzLCAxLjY1MzI2NTExODU5ODkzOF0sIFsxNjYzOTI1MDYyLjk2MjcwNTQsIDQyMjEsIDEuMTAzODczNjEwNDk2NTIxXSwgWzE2NjM5MjUwNjMuMDkxODA0NywgNDIzMCwgMS4zMzg4OTg4OTcxNzEwMjA1XSwgWzE2NjM5MjUwNjMuMjE5MDgsIDQyMzksIDEuMjk1NzU4ODQzNDIxOTM2XSwgWzE2NjM5MjUwNjMuMzM2NTgxNywgNDI0OCwgMS4xNDY3MTI0MjIzNzA5MTA2XSwgWzE2NjM5MjUwNjMuNTQ5NzE4NCwgNDI2NiwgMS41NDI1ODY0NDU4MDg0MTA2XSwgWzE2NjM5MjUwNjMuNjU1MTk2MiwgNDI3NSwgMS40MDE5NTc1MTE5MDE4NTU1XSwgWzE2NjM5MjUwNjMuNzU1ODI1NSwgNDI4NCwgMS41Mjk3Mzk0OTkwOTIxMDJdLCBbMTY2MzkyNTA2NC4wNTQxNTYzLCA0MzExLCAxLjM2MDgzOTAwOTI4NDk3MzFdLCBbMTY2MzkyNTA2NC4xODIzMTMyLCA0MzIwLCAxLjI3ODc4ODIwODk2MTQ4NjhdLCBbMTY2MzkyNTA2NC4zMTYzMjA0LCA0MzI5LCAxLjM2MjMxMTI0NDAxMDkyNTNdLCBbMTY2MzkyNTA2NC40MzExMTc4LCA0MzM4LCAxLjQ1OTEwNjQ0NTMxMjVdLCBbMTY2MzkyNTA2NC41MzQzNTM3LCA0MzQ3LCAxLjI0MzQyMTkxMjE5MzI5ODNdLCBbMTY2MzkyNTA2NC42MzQ1MjgyLCA0MzU2LCAxLjI2NjI2MDI2NjMwNDAxNjFdLCBbMTY2MzkyNTA2NC43MzAzNTc2LCA0MzY1LCAxLjM2MjI3NjQzNDg5ODM3NjVdLCBbMTY2MzkyNTA2NC45MzMxNjEzLCA0MzgzLCAxLjYwNTU1NTg5MTk5MDY2MTZdLCBbMTY2MzkyNTA2NS4wMzUwNDIsIDQzOTIsIDEuNDM1NzA0NDY5NjgwNzg2MV0sIFsxNjYzOTI1MDY1LjEyNjU2MDIsIDQ0MDEsIDEuMjE3MTE0NTY3NzU2NjUyOF0sIFsxNjYzOTI1MDY1LjIyNjkwNDQsIDQ0MTAsIDEuMjA2NTc4MzczOTA4OTk2Nl0sIFsxNjYzOTI1MDY1LjMyODE1MywgNDQxOSwgMS40NDMwMjc4NTM5NjU3NTkzXSwgWzE2NjM5MjUwNjUuNDM5MzAwMywgNDQyOCwgMS4zMjY4NDIxODg4MzUxNDRdLCBbMTY2MzkyNTA2NS43MzU1NTAyLCA0NDU1LCAxLjE0OTIxNjY1MTkxNjUwNF0sIFsxNjYzOTI1MDY1LjgzMTY3OTgsIDQ0NjQsIDEuMTY1Nzk4MDY4MDQ2NTY5OF0sIFsxNjYzOTI1MDY2LjAzODQ4OTgsIDQ0ODIsIDEuMjk3NzIxMDI4MzI3OTQyXSwgWzE2NjM5MjUwNjYuMTMwMjc3OSwgNDQ5MSwgMS40NDA2NDY0MDk5ODg0MDMzXSwgWzE2NjM5MjUwNjYuMjMxMjk2MywgNDUwMCwgMS4yOTAyOTc1MDgyMzk3NDZdLCBbMTY2MzkyNTA2Ni40NDU3MDgsIDQ1MTgsIDEuMjM3NzAyMzY5Njg5OTQxNF0sIFsxNjYzOTI1MDY2LjUzODUyLCA0NTI3LCAxLjI1ODE5MDc1MTA3NTc0NDZdLCBbMTY2MzkyNTA2Ni42NDMxNzMyLCA0NTM2LCAxLjE5OTE0NTE5Nzg2ODM0NzJdLCBbMTY2MzkyNTA2Ny4wMjQxNjE4LCA0NTYzLCAxLjI3Mjk0MzczNTEyMjY4MDddLCBbMTY2MzkyNTA2Ny4xMzMzNTkyLCA0NTcyLCAxLjA0NjgxODk3MTYzMzkxMTFdLCBbMTY2MzkyNTA2Ny4yNTQ4MjMyLCA0NTgxLCAxLjEwMjIwMDAzMTI4MDUxNzZdLCBbMTY2MzkyNTA2Ny4zNTY5MjcsIDQ1OTAsIDEuMzExMDk5MTcxNjM4NDg4OF0sIFsxNjYzOTI1MDY3LjQ4ODcyMDIsIDQ1OTksIDEuNDQwMjA0NjIwMzYxMzI4MV0sIFsxNjYzOTI1MDY3LjgxMTI5MTIsIDQ2MDgsIDEuMTc4MTEwODM3OTM2NDAxNF0sIFsxNjYzOTI1MDY3LjkzNzk1LCA0NjE3LCAxLjIzNjkzNTAxOTQ5MzEwM10sIFsxNjYzOTI1MDY4LjA0MjAwNjUsIDQ2MjYsIDEuMDkxNzc3OTIwNzIyOTYxNF0sIFsxNjYzOTI1MDY4LjE0MDQyOTcsIDQ2MzUsIDEuNDUwNzM3NTk1NTU4MTY2NV0sIFsxNjYzOTI1MDY4LjM0OTkwNTUsIDQ2NTMsIDEuNDgwNDc3OTI5MTE1Mjk1NF0sIFsxNjYzOTI1MDY4LjQ3MDA0NzUsIDQ2NjIsIDEuMjMxMTAxMDM2MDcxNzc3M10sIFsxNjYzOTI1MDY4LjU3ODE2MjcsIDQ2NzEsIDEuNDE1NTYzMjI1NzQ2MTU0OF0sIFsxNjYzOTI1MDY4LjY4MDUzOSwgNDY4MCwgMS4xNjE4NDQ3MzAzNzcxOTczXSwgWzE2NjM5MjUwNjguNzczMzg3NCwgNDY4OSwgMS4zMDUwMDk2MDM1MDAzNjYyXSwgWzE2NjM5MjUwNjguODY3NTYyOCwgNDY5OCwgMS4xMTU3NTI0NTg1NzIzODc3XSwgWzE2NjM5MjUwNjkuMDczMDE1LCA0NzE2LCAxLjUyNzY4NjcxNTEyNjAzNzZdLCBbMTY2MzkyNTA2OS4zNzM1MjMyLCA0NzQzLCAxLjE0OTk1Mzg0MjE2MzA4Nl0sIFsxNjYzOTI1MDY5LjQ2ODk2MzksIDQ3NTIsIDEuMTAwMjQ4Njk0NDE5ODYwOF0sIFsxNjYzOTI1MDY5Ljc4NjIwMTIsIDQ3NzksIDEuNDc1OTAzNjMwMjU2NjUyOF0sIFsxNjYzOTI1MDY5Ljk3NjA2MjUsIDQ3OTcsIDEuMTY0MDI2OTc1NjMxNzEzOV0sIFsxNjYzOTI1MDcwLjA2NzgxMDUsIDQ4MDYsIDAuOTg1MTQwNDQyODQ4MjA1Nl0sIFsxNjYzOTI1MDcwLjIxMDkxMDMsIDQ4MTUsIDEuMDQ5OTc4MTM3MDE2Mjk2NF0sIFsxNjYzOTI1MDcwLjI5OTM4OTgsIDQ4MjQsIDEuMzI4MjA3OTY5NjY1NTI3M10sIFsxNjYzOTI1MDcwLjM5NjA5MiwgNDgzMywgMS4zNzEzMDkyODAzOTU1MDc4XSwgWzE2NjM5MjUwNzAuNDkyMDc1NywgNDg0MiwgMS4yNDc0NTUyMzkyOTU5NTk1XSwgWzE2NjM5MjUwNzAuNjI1Mjc1MSwgNDg1MSwgMS4xNzI3Mjk2MTEzOTY3ODk2XSwgWzE2NjM5MjUwNzAuNzMxNjIxLCA0ODYwLCAxLjI5NjQ5NzM0NDk3MDcwMzFdLCBbMTY2MzkyNTA3MC44MTg2ODY3LCA0ODY5LCAxLjA0NTYxNjYyNjczOTUwMl0sIFsxNjYzOTI1MDcwLjkxODA0OSwgNDg3OCwgMS4zOTE0NTYxMjcxNjY3NDhdLCBbMTY2MzkyNTA3MS4wMjk0MTUsIDQ4ODcsIDEuMzI0OTI0NTg4MjAzNDMwMl0sIFsxNjYzOTI1MDcxLjEzNzg4OTYsIDQ4OTYsIDEuMzEwMzI0NjY4ODg0Mjc3M10sIFsxNjYzOTI1MDcxLjIzNzU4MywgNDkwNSwgMS40NDM4NjkzNTIzNDA2OTgyXSwgWzE2NjM5MjUwNzEuNDQzODIyNiwgNDkyMywgMS4yMzU3NzM0NDQxNzU3MjAyXSwgWzE2NjM5MjUwNzEuNTQ0NzMyLCA0OTMyLCAxLjI0ODIyNTgwODE0MzYxNTddLCBbMTY2MzkyNTA3MS42NDk4NTczLCA0OTQxLCAxLjA0NzYxNjcyMDE5OTU4NV0sIFsxNjYzOTI1MDcxLjg1MjI4NTEsIDQ5NTksIDEuMjAxMzMyODA3NTQwODkzNl0sIFsxNjYzOTI1MDcyLjA1NzcxNDUsIDQ5NzcsIDEuMDU5OTE0NDY5NzE4OTMzXSwgWzE2NjM5MjUwNzIuMTU2NzU4NSwgNDk4NiwgMS4yMjEyMDgzMzM5NjkxMTYyXSwgWzE2NjM5MjUwNzIuMjY5NDc3LCA0OTk1LCAxLjIwNjQyNTA3MDc2MjYzNDNdLCBbMTY2MzkyNTA3Mi40MDYyNzc3LCA1MDA0LCAxLjE2NjE0MzUzNjU2NzY4OF0sIFsxNjYzOTI1MDcyLjUyOTkxLCA1MDEzLCAxLjQzNTM1ODA0NzQ4NTM1MTZdLCBbMTY2MzkyNTA3Mi43OTA3NDc0LCA1MDMxLCAxLjIzOTg0ODM3NTMyMDQzNDZdLCBbMTY2MzkyNTA3Mi44OTMwNTUyLCA1MDQwLCAxLjI0MjYzNjIwMzc2NTg2OTFdLCBbMTY2MzkyNTA3My4xMDMwNTM4LCA1MDU4LCAxLjMyMjYwODcwOTMzNTMyNzFdLCBbMTY2MzkyNTA3My4yMDI3Mjk3LCA1MDY3LCAxLjE0MTI5ODg5MDExMzgzMDZdLCBbMTY2MzkyNTA3My4zMTEzOTk1LCA1MDc2LCAxLjA0MDAwOTczNzAxNDc3MDVdLCBbMTY2MzkyNTA3My40MDczMjUzLCA1MDg1LCAxLjIyOTM1MzA3MDI1OTA5NDJdLCBbMTY2MzkyNTA3My42MjQ1NjIzLCA1MTAzLCAxLjA4ODI5MzA3NTU2MTUyMzRdLCBbMTY2MzkyNTA3My43MzI1OTE2LCA1MTEyLCAxLjE4NjkwOTE5ODc2MDk4NjNdLCBbMTY2MzkyNTA3My44MzE5OTQsIDUxMjEsIDEuMTQyOTgzNDM2NTg0NDcyN10sIFsxNjYzOTI1MDczLjk2MTQyNjUsIDUxMzAsIDEuMTIxMDkzMjczMTYyODQxOF0sIFsxNjYzOTI1MDc0LjIxNzM2NzQsIDUxNDgsIDEuMDkyMjU5NDA3MDQzNDU3XSwgWzE2NjM5MjUwNzQuNDIyMDE1MiwgNTE2NiwgMS4yNDA3MDIzOTA2NzA3NzY0XSwgWzE2NjM5MjUwNzQuNjI5MjkxLCA1MTg0LCAxLjIyNzk2MzMyODM2MTUxMTJdLCBbMTY2MzkyNTA3NC43MTgzNDgzLCA1MTkzLCAxLjYwODAwODE0NjI4NjAxMDddLCBbMTY2MzkyNTA3NC44Mzk1Njc0LCA1MjAyLCAxLjA4NTgxMDQyMjg5NzMzODldLCBbMTY2MzkyNTA3NS4xODU3MjkzLCA1MjI5LCAxLjY0MzEwNjkzNzQwODQ0NzNdLCBbMTY2MzkyNTA3NS42NTUyODg1LCA1MjY1LCAxLjM0ODg4ODc1NDg0NDY2NTVdLCBbMTY2MzkyNTA3NS43ODEyNjA1LCA1Mjc0LCAxLjIyNTkyMzQxODk5ODcxODNdLCBbMTY2MzkyNTA3NS45MDE4NzE0LCA1MjgzLCAxLjE0NzMxNzI5MDMwNjA5MTNdLCBbMTY2MzkyNTA3Ni4xNDYwMjk1LCA1MzAxLCAxLjEwMTIxODEwNDM2MjQ4NzhdLCBbMTY2MzkyNTA3Ni4yNzY5MDMyLCA1MzEwLCAxLjE4MjAxNjAxNTA1Mjc5NTRdLCBbMTY2MzkyNTA3Ni4zOTk2MjUzLCA1MzE5LCAxLjMyMTQ0Njg5NTU5OTM2NTJdLCBbMTY2MzkyNTA3Ni41MTIxMTcsIDUzMjgsIDEuMDc0MDQ5MTE1MTgwOTY5Ml0sIFsxNjYzOTI1MDc2LjYwNjIwNDcsIDUzMzcsIDEuMTQzMzY4OTU5NDI2ODc5OV0sIFsxNjYzOTI1MDc2LjcxMzQxMDEsIDUzNDYsIDEuMTg0NDYzMjYyNTU3OTgzNF0sIFsxNjYzOTI1MDc2LjgwODk0NjQsIDUzNTUsIDEuMTgzNTc5MzI1Njc1OTY0NF0sIFsxNjYzOTI1MDc2LjkwNjMxMTUsIDUzNjQsIDEuMDAwODMzNTExMzUyNTM5XSwgWzE2NjM5MjUwNzYuOTk4MzI3MywgNTM3MywgMS4wOTUwMDAyNjcwMjg4MDg2XSwgWzE2NjM5MjUwNzcuMDk4NDc0NywgNTM4MiwgMS4zODM3MjI2NjI5MjU3MjAyXSwgWzE2NjM5MjUwNzcuMzk2Mjc3MiwgNTM5MSwgMC45OTIwNjcxNTgyMjIxOTg1XSwgWzE2NjM5MjUwNzcuNTA1NzE5MiwgNTQwMCwgMS4xNzkwOTc2NTI0MzUzMDI3XSwgWzE2NjM5MjUwNzcuNzIxNzI2LCA1NDE4LCAxLjIzMjYxMDEwNjQ2ODIwMDddLCBbMTY2MzkyNTA3Ny44NDIzNDcsIDU0MjcsIDEuMjg2NzY2NjQ4MjkyNTQxNV0sIFsxNjYzOTI1MDc3Ljk1MzI0ODcsIDU0MzYsIDEuMDIxNDg4OTA0OTUzMDAzXSwgWzE2NjM5MjUwNzguMDY0ODMwOCwgNTQ0NSwgMS4yNDYyNDM0NzY4Njc2NzU4XSwgWzE2NjM5MjUwNzguMTg3NjE0MiwgNTQ1NCwgMS4wMDgzMzA0NjQzNjMwOTgxXSwgWzE2NjM5MjUwNzguNDEwMzM1OCwgNTQ3MiwgMS4xOTU2NzYzMjY3NTE3MDldLCBbMTY2MzkyNTA3OC41MDg1NTc2LCA1NDgxLCAxLjE4MjE4NTc2OTA4MTExNTddLCBbMTY2MzkyNTA3OC42MTU2MjQ3LCA1NDkwLCAxLjM2NTYwMTE4MTk4Mzk0NzhdLCBbMTY2MzkyNTA3OC43MTc2NzkzLCA1NDk5LCAxLjM4MTM4MTUxMTY4ODIzMjRdLCBbMTY2MzkyNTA3OS4wNDQwMjE4LCA1NTI2LCAxLjE0MzgxMzk2NzcwNDc3M10sIFsxNjYzOTI1MDc5LjE1MzczNiwgNTUzNSwgMS4wNjAzMjQ2Njg4ODQyNzczXSwgWzE2NjM5MjUwNzkuMzY5ODY1NywgNTU1MywgMS4wNTYwMzAzOTI2NDY3ODk2XSwgWzE2NjM5MjUwNzkuNDgxODM0NywgNTU2MiwgMS4xMjI4ODMzMTk4NTQ3MzYzXSwgWzE2NjM5MjUwNzkuNTc5MTI3NiwgNTU3MSwgMS4xNTMyMTEyMzYwMDAwNjFdLCBbMTY2MzkyNTA3OS42NzY3NzA0LCA1NTgwLCAxLjAwNDQ3MTU0MDQ1MTA0OThdLCBbMTY2MzkyNTA3OS44MTA4NzcsIDU1ODksIDAuOTkxOTgxMjA4MzI0NDMyNF0sIFsxNjYzOTI1MDc5Ljk0ODIyNiwgNTU5OCwgMS4wNzM0MTk2OTAxMzIxNDExXSwgWzE2NjM5MjUwODAuMDc5Mzc3NywgNTYwNywgMS4xMDk3OTEyNzg4MzkxMTEzXSwgWzE2NjM5MjUwODAuMTgyMzQ0LCA1NjE2LCAxLjE1MzM5NDM0MTQ2ODgxMV0sIFsxNjYzOTI1MDgwLjM5MzY5ODUsIDU2MzQsIDEuMTU0NjczOTMzOTgyODQ5MV0sIFsxNjYzOTI1MDgwLjQ5MjA4NiwgNTY0MywgMS4wNjM4ODkwMjY2NDE4NDU3XSwgWzE2NjM5MjUwODAuNTkzNjE1OCwgNTY1MiwgMS4wNDg4OTMyMTMyNzIwOTQ3XSwgWzE2NjM5MjUwODAuNjk5Nzg3NCwgNTY2MSwgMS4wODM1NDg0MjY2MjgxMTI4XSwgWzE2NjM5MjUwODAuODAxMjUyNCwgNTY3MCwgMS4zNDE3MjM0NDIwNzc2MzY3XSwgWzE2NjM5MjUwODEuMTIwMDUzNSwgNTY5NywgMS4yODI1NTE4ODQ2NTExODRdLCBbMTY2MzkyNTA4MS4yMTY2NjgxLCA1NzA2LCAxLjA5OTczMDk2ODQ3NTM0MThdLCBbMTY2MzkyNTA4MS4zMDg5MDQsIDU3MTUsIDEuMzIzMDI3NjEwNzc4ODA4Nl0sIFsxNjYzOTI1MDgxLjQwOTc3MiwgNTcyNCwgMS4wNjQzMTYwMzQzMTcwMTY2XSwgWzE2NjM5MjUwODEuNTA1NTg2NCwgNTczMywgMS4wMjg4OTc2NDMwODkyOTQ0XSwgWzE2NjM5MjUwODEuNjA2MjAzOCwgNTc0MiwgMS4zMDc2MDY2OTcwODI1MTk1XSwgWzE2NjM5MjUwODEuODg3NjA4OCwgNTc2OSwgMS4wNDIyNTMxMzY2MzQ4MjY3XSwgWzE2NjM5MjUwODEuOTc3OTY5NCwgNTc3OCwgMS4yMTEwMjc2MjIyMjI5MDA0XSwgWzE2NjM5MjUwODIuMDc3MzY1NCwgNTc4NywgMC45NzIzMDY4NDc1NzIzMjY3XSwgWzE2NjM5MjUwODIuMTc4ODExMywgNTc5NiwgMS4wMjU1NzY1OTE0OTE2OTkyXSwgWzE2NjM5MjUwODIuMjg0MzkwNCwgNTgwNSwgMS4xMjI5MTgwMDk3NTc5OTU2XSwgWzE2NjM5MjUwODIuMzk3NzUsIDU4MTQsIDEuMjE1NTY2NjM1MTMxODM2XSwgWzE2NjM5MjUwODIuNzI5NTYyNSwgNTg0MSwgMS4wMTM0OTU5MjIwODg2MjNdLCBbMTY2MzkyNTA4Mi44MzMzNDc4LCA1ODUwLCAxLjEwMzk2OTQ1NDc2NTMxOThdLCBbMTY2MzkyNTA4My4wMzc2MzEzLCA1ODY4LCAxLjE1ODU3MjQzNTM3OTAyODNdLCBbMTY2MzkyNTA4My4xNDI0NjYzLCA1ODc3LCAxLjMxMDU1MjQ3NzgzNjYwODldLCBbMTY2MzkyNTA4My4yMzkyNywgNTg4NiwgMS4xMDM1MTQ1NTIxMTYzOTRdLCBbMTY2MzkyNTA4My4zNDcwOTQzLCA1ODk1LCAwLjk4ODc3NDg5NTY2ODAyOThdLCBbMTY2MzkyNTA4My40NTkyNTcsIDU5MDQsIDEuMTI0NTcyNzUzOTA2MjVdLCBbMTY2MzkyNTA4My43NjU5NjQ1LCA1OTMxLCAxLjA1Nzk3NzMxODc2MzczM10sIFsxNjYzOTI1MDgzLjg2MTIyNSwgNTk0MCwgMS4zNzY3NTcxNDQ5Mjc5Nzg1XSwgWzE2NjM5MjUwODMuOTczMDk4LCA1OTQ5LCAxLjE5MDg0NTcyNzkyMDUzMjJdLCBbMTY2MzkyNTA4NC4wOTYzNTM4LCA1OTU4LCAxLjEyNDYxMTczNTM0MzkzM10sIFsxNjYzOTI1MDg0LjI5NjczMjcsIDU5NzYsIDEuMTY2NTQxNTc2Mzg1NDk4XSwgWzE2NjM5MjUwODQuNTIzNTIxLCA1OTk0LCAxLjIxMjk4NjExMTY0MDkzMDJdLCBbMTY2MzkyNTA4NC43NDUyMTUsIDYwMTIsIDEuMjAxNjI2ODk2ODU4MjE1M10sIFsxNjYzOTI1MDg0Ljk4NjU0NDgsIDYwMzAsIDEuMDkzNzc3MDYwNTA4NzI4XSwgWzE2NjM5MjUwODUuMTA1NDQ2OCwgNjAzOSwgMS4yMjQzOTgwMTY5Mjk2MjY1XSwgWzE2NjM5MjUwODUuMjI3Nzk5MiwgNjA0OCwgMS4xOTU4OTczNDA3NzQ1MzYxXSwgWzE2NjM5MjUwODUuMzE5NzUzMiwgNjA1NywgMS4zNTAwNzU5NjAxNTkzMDE4XSwgWzE2NjM5MjUwODUuNDM3MDk5NywgNjA2NiwgMS4wOTYxMzAwMTM0NjU4ODEzXSwgWzE2NjM5MjUwODUuNjczMjQwNywgNjA4NCwgMS4wOTA3MjQ1ODc0NDA0OTA3XSwgWzE2NjM5MjUwODUuNzg0NDA1NSwgNjA5MywgMS4yMTY3MjMzMjI4NjgzNDcyXSwgWzE2NjM5MjUwODUuODk1NjA4LCA2MTAyLCAxLjQyNTc0MDEyMjc5NTEwNV0sIFsxNjYzOTI1MDg2LjAxODIwNjgsIDYxMTEsIDEuMDAxMzcyNDU2NTUwNTk4MV0sIFsxNjYzOTI1MDg2LjEyMzM2NjQsIDYxMjAsIDEuMDEzMjA4MTUwODYzNjQ3NV0sIFsxNjYzOTI1MDg2LjIyMjEwMzYsIDYxMjksIDEuMTg5NzY3NDc5ODk2NTQ1NF0sIFsxNjYzOTI1MDg2LjQyNTM1MzgsIDYxNDcsIDEuMDE5ODUyODc2NjYzMjA4XSwgWzE2NjM5MjUwODYuNTE5MDE3LCA2MTU2LCAxLjA2OTE0MTk4Mzk4NTkwMDldLCBbMTY2MzkyNTA4Ni44MDIyOTA3LCA2MTY1LCAxLjMyNDc1ODI5MTI0NDUwNjhdLCBbMTY2MzkyNTA4Ni45MDIyOTIsIDYxNzQsIDEuMzU3OTQwMzE2MjAwMjU2M10sIFsxNjYzOTI1MDg3LjEwMzk1NDMsIDYxOTIsIDEuMDg4MTIyODQ0Njk2MDQ1XSwgWzE2NjM5MjUwODcuMjAwOTAwNiwgNjIwMSwgMS4zMjMxNjg1MTYxNTkwNTc2XSwgWzE2NjM5MjUwODcuMzAxOTE3OCwgNjIxMCwgMS4yNDExMzk2NTAzNDQ4NDg2XSwgWzE2NjM5MjUwODcuNDIwMTUxNSwgNjIxOSwgMS4yMTg5Mjg2OTQ3MjUwMzY2XSwgWzE2NjM5MjUwODcuNjI2ODIyMiwgNjIzNywgMS4wNzQ3NTc4MTQ0MDczNDg2XSwgWzE2NjM5MjUwODcuNzI4NzI5LCA2MjQ2LCAxLjA5NzI5OTU3NTgwNTY2NF0sIFsxNjYzOTI1MDg3LjgyOTQxOTQsIDYyNTUsIDEuMDAzNzgwOTYxMDM2NjgyMV0sIFsxNjYzOTI1MDg3LjkyNTQ2MzIsIDYyNjQsIDEuMjQzODU2Nzg3NjgxNTc5Nl0sIFsxNjYzOTI1MDg4LjAyNzgyODUsIDYyNzMsIDEuMDk3NjExMDY5Njc5MjYwM10sIFsxNjYzOTI1MDg4LjEyODY5MzgsIDYyODIsIDEuMjAxODU5ODMxODA5OTk3Nl0sIFsxNjYzOTI1MDg4LjMzMDQwNjQsIDYzMDAsIDEuMTk1OTQ3NTI3ODg1NDM3XSwgWzE2NjM5MjUwODguNDQ4NjI2OCwgNjMwOSwgMS4yNzk5NDc1MTkzMDIzNjgyXSwgWzE2NjM5MjUwODguNjQ4NTQ1NywgNjMyNywgMS4yMDQyNzE3OTMzNjU0Nzg1XSwgWzE2NjM5MjUwODguNzQ3MDU3LCA2MzM2LCAxLjEzOTY0MTUyMzM2MTIwNl0sIFsxNjYzOTI1MDg4Ljk0NDU3MiwgNjM1NCwgMS4zNTM5NzY3MjY1MzE5ODI0XSwgWzE2NjM5MjUwODkuMjgxNzI4NywgNjM4MSwgMS4wNDcxNzMyNjE2NDI0NTZdLCBbMTY2MzkyNTA4OS4zODc1MjI1LCA2MzkwLCAxLjI5NDQxMzU2NjU4OTM1NTVdLCBbMTY2MzkyNTA4OS40OTY5MzIzLCA2Mzk5LCAxLjAwNjcyMjkyNzA5MzUwNTldLCBbMTY2MzkyNTA4OS43MzA3MzU4LCA2NDE3LCAxLjIxODkwMDIwMzcwNDgzNF0sIFsxNjYzOTI1MDg5LjgzMTk2NjksIDY0MjYsIDEuMDQzNDAxMzYwNTExNzc5OF0sIFsxNjYzOTI1MDkwLjA0MDEzMjgsIDY0NDQsIDEuMTc5MzUyMDQ1MDU5MjA0XSwgWzE2NjM5MjUwOTAuMTUwMTE0LCA2NDUzLCAxLjM5MDA3MDkxNTIyMjE2OF0sIFsxNjYzOTI1MDkwLjI1NDI5NjgsIDY0NjIsIDEuMDY2NDA5MzQ5NDQxNTI4M10sIFsxNjYzOTI1MDkwLjQ0NzI0MTgsIDY0ODAsIDEuMDY1MzMzOTYyNDQwNDkwN10sIFsxNjYzOTI1MDkwLjU0MjQwMzcsIDY0ODksIDEuMDAwMTczMDkxODg4NDI3N10sIFsxNjYzOTI1MDkwLjY1NTI5LCA2NDk4LCAxLjE3MDI1NDExMTI4OTk3OF0sIFsxNjYzOTI1MDkwLjc0OTEyMSwgNjUwNywgMS4yNTE2OTk1NjY4NDExMjU1XSwgWzE2NjM5MjUwOTAuODU4NDc0NywgNjUxNiwgMS4wMDAyNjI3MzcyNzQxN10sIFsxNjYzOTI1MDkwLjk2NTMzNTQsIDY1MjUsIDEuMTI1MjE4MjcyMjA5MTY3NV0sIFsxNjYzOTI1MDkxLjA2Njk5NCwgNjUzNCwgMS4xMTI1NzA3NjI2MzQyNzczXSwgWzE2NjM5MjUwOTEuMTY3NTkzMiwgNjU0MywgMS4yNjg3MTMyMzU4NTUxMDI1XSwgWzE2NjM5MjUwOTEuMjU5MTk5LCA2NTUyLCAxLjE0Njk3OTgwODgwNzM3M10sIFsxNjYzOTI1MDkxLjM2MzExNjUsIDY1NjEsIDEuMTE2NjEyMTk1OTY4NjI4XSwgWzE2NjM5MjUwOTEuNDY5Njk0LCA2NTcwLCAxLjA4MDAyMTE0Mjk1OTU5NDddLCBbMTY2MzkyNTA5MS41NzY2NzYsIDY1NzksIDEuMTc4MjQ2NDk4MTA3OTEwMl0sIFsxNjYzOTI1MDkxLjY3OTU2NiwgNjU4OCwgMS4xNDcxOTk4NjkxNTU4ODM4XSwgWzE2NjM5MjUwOTEuNzc1NTU1NCwgNjU5NywgMS4yMjI2ODU4MTM5MDM4MDg2XSwgWzE2NjM5MjUwOTEuODczMzAxLCA2NjA2LCAxLjAyMzE1Njg4MTMzMjM5NzVdLCBbMTY2MzkyNTA5Mi4wNjExMjEsIDY2MjQsIDEuMDc4MTcyNjgzNzE1ODIwM10sIFsxNjYzOTI1MDkyLjM2MTEzMDcsIDY2NTEsIDEuMTg3ODY1ODUzMzA5NjMxM10sIFsxNjYzOTI1MDkyLjQ2ODIwMDIsIDY2NjAsIDEuMDQ4NTMzNDM5NjM2MjMwNV0sIFsxNjYzOTI1MDkyLjU4MTAwNjgsIDY2NjksIDAuOTkzOTcyMDYzMDY0NTc1Ml0sIFsxNjYzOTI1MDkyLjgwMTY1ODksIDY2ODcsIDEuMDM2NjM2NTkwOTU3NjQxNl0sIFsxNjYzOTI1MDkyLjkyOTI3NTMsIDY2OTYsIDEuMDE3NjY1NjI0NjE4NTMwM10sIFsxNjYzOTI1MDkzLjA1NTQ5MzQsIDY3MDUsIDEuNDU2NzA4MzEyMDM0NjA3XSwgWzE2NjM5MjUwOTMuMTY2ODU2NSwgNjcxNCwgMS4yMzEwNTUxNDA0OTUzMDAzXSwgWzE2NjM5MjUwOTMuMjY0OTEwNywgNjcyMywgMS40NTYyMjEyMjI4Nzc1MDI0XSwgWzE2NjM5MjUwOTMuODE4MzU3NywgNjc2OCwgMC45ODk0MjE4NDQ0ODI0MjE5XSwgWzE2NjM5MjUwOTMuOTE3NDAyMywgNjc3NywgMS4yMjE4OTk1MDk0Mjk5MzE2XSwgWzE2NjM5MjUwOTQuMjU2NzExNywgNjgwNCwgMS4wNTg2ODYxMzcxOTk0MDE5XSwgWzE2NjM5MjUwOTQuMzY1NzAxLCA2ODEzLCAxLjI0MTIyMzY5Mjg5Mzk4Ml0sIFsxNjYzOTI1MDk0LjQ2NDQwMiwgNjgyMiwgMS4yMDA5MDcyMzAzNzcxOTczXSwgWzE2NjM5MjUwOTQuNTYwMDQ0LCA2ODMxLCAxLjQwMzk5NDQ0MTAzMjQwOTddLCBbMTY2MzkyNTA5NC42Njg2OTYyLCA2ODQwLCAxLjU5OTI4ODk0MDQyOTY4NzVdLCBbMTY2MzkyNTA5NC45OTI5NDk1LCA2ODY3LCAxLjM0MDI4MjIwMTc2Njk2NzhdLCBbMTY2MzkyNTA5NS4wODc1MzU2LCA2ODc2LCAxLjA1NTAwMjkyNzc4MDE1MTRdLCBbMTY2MzkyNTA5NS4xODc1NjA2LCA2ODg1LCAxLjE0MDQ5MjQzOTI3MDAxOTVdLCBbMTY2MzkyNTA5NS4yODI2Njg0LCA2ODk0LCAxLjQyNzE3NjM1NjMxNTYxMjhdLCBbMTY2MzkyNTA5NS4zODQ1NTc3LCA2OTAzLCAxLjA2NTA5NzIxMjc5MTQ0MjldLCBbMTY2MzkyNTA5NS40ODYxMDg4LCA2OTEyLCAxLjE5NzI3OTIxNDg1OTAwODhdLCBbMTY2MzkyNTA5NS41ODI2MzQ3LCA2OTIxLCAwLjk0NjI4OTY1ODU0NjQ0NzhdLCBbMTY2MzkyNTA5NS42ODQ2MTI4LCA2OTMwLCAwLjk2MzQzNDkzNDYxNjA4ODldLCBbMTY2MzkyNTA5NS43ODEzMjUzLCA2OTM5LCAxLjE1MTQ3Njg2MDA0NjM4NjddLCBbMTY2MzkyNTA5Ni4xNDg4OTM0LCA2OTQ4LCAxLjMyOTY1NzMxNjIwNzg4NTddLCBbMTY2MzkyNTA5Ni4yNTA4NjI2LCA2OTU3LCAxLjI5ODk1NzQ2NzA3OTE2MjZdLCBbMTY2MzkyNTA5Ni4zNDc1NDEsIDY5NjYsIDEuMDI4NzAyODU1MTEwMTY4NV0sIFsxNjYzOTI1MDk2LjU0MDU0OTUsIDY5ODQsIDEuMDE0ODQ4MzUxNDc4NTc2N10sIFsxNjYzOTI1MDk2LjY2MzQ3NjUsIDY5OTMsIDEuMTQwMzY5ODkyMTIwMzYxM10sIFsxNjYzOTI1MDk2Ljc2NzM0NSwgNzAwMiwgMS4wOTAzMzYwODQzNjU4NDQ3XSwgWzE2NjM5MjUwOTYuODc1MDYzLCA3MDExLCAxLjExMTMxOTc4MDM0OTczMTRdLCBbMTY2MzkyNTA5Ni45OTc3MDY0LCA3MDIwLCAxLjExNjY5MjkwMDY1NzY1MzhdLCBbMTY2MzkyNTA5Ny4xMDYxOTk3LCA3MDI5LCAxLjAyMzI5NDMyOTY0MzI0OTVdLCBbMTY2MzkyNTA5Ny4yMTczMjQ3LCA3MDM4LCAxLjA1NDc4NTI1MTYxNzQzMTZdLCBbMTY2MzkyNTA5Ny4zMTU3Mjk2LCA3MDQ3LCAxLjM2OTIxNTQ4ODQzMzgzOF0sIFsxNjYzOTI1MDk3LjQ0NjMyODksIDcwNTYsIDEuMTczNTgzMTQ5OTA5OTczMV0sIFsxNjYzOTI1MDk3Ljc3NzQ4MSwgNzA4MywgMC45OTA1OTg2Nzg1ODg4NjcyXSwgWzE2NjM5MjUwOTcuODg3NzUwMSwgNzA5MiwgMS4xNzg4NDU3NjMyMDY0ODJdLCBbMTY2MzkyNTA5Ny45OTU1MDk0LCA3MTAxLCAxLjEyNTU1NzMwMzQyODY1XSwgWzE2NjM5MjUwOTguMDg5ODQzNSwgNzExMCwgMS4xMzU4NTA5MDYzNzIwNzAzXSwgWzE2NjM5MjUwOTguMjE3NjYyNiwgNzExOSwgMC45MTU5MTc5MzI5ODcyMTMxXSwgWzE2NjM5MjUwOTguMzYyMzY2NywgNzEyOCwgMS4xNDI1MDg5ODM2MTIwNjA1XSwgWzE2NjM5MjUwOTguNTkwMDEzNSwgNzE0NiwgMS4xNTgxMzE5NTcwNTQxMzgyXSwgWzE2NjM5MjUwOTguNjk1ODQ1MSwgNzE1NSwgMS4wOTE5NDkyMjQ0NzIwNDZdLCBbMTY2MzkyNTA5OC43ODc2NzE4LCA3MTY0LCAxLjAwMzk2ODk1NDA4NjMwMzddLCBbMTY2MzkyNTA5OC44Nzk2MjY4LCA3MTczLCAxLjA4ODI4MzY1ODAyNzY0OV0sIFsxNjYzOTI1MDk4Ljk3NjM0LCA3MTgyLCAxLjA1MzM1MTY0MDcwMTI5NF0sIFsxNjYzOTI1MDk5LjE4NTMxNSwgNzIwMCwgMS4wMjI1ODQzMTkxMTQ2ODVdLCBbMTY2MzkyNTA5OS4yODE2OTA2LCA3MjA5LCAxLjExOTE4NzcxMjY2OTM3MjZdLCBbMTY2MzkyNTA5OS43MTE2MzMyLCA3MjQ1LCAxLjA5MzAwMzk4ODI2NTk5MTJdLCBbMTY2MzkyNTA5OS44MDcxMDcsIDcyNTQsIDEuNDY4ODkwOTA1MzgwMjQ5XSwgWzE2NjM5MjUwOTkuOTIzNTU2MywgNzI2MywgMS40MDY2MTIyNzcwMzA5NDQ4XSwgWzE2NjM5MjUxMDAuMDIwNzQzNCwgNzI3MiwgMC45NjU2MDE0NDQyNDQzODQ4XSwgWzE2NjM5MjUxMDAuMTI1NDEzMiwgNzI4MSwgMC45OTQ3MTc3MTcxNzA3MTUzXSwgWzE2NjM5MjUxMDAuMzE5MzU3NiwgNzI5OSwgMC45NjI1MzY0NTQyMDA3NDQ2XSwgWzE2NjM5MjUxMDAuNDM3OTUwMSwgNzMwOCwgMC45NDExMTIxMDEwNzgwMzM0XSwgWzE2NjM5MjUxMDAuNjQzMDgzLCA3MzI2LCAxLjAyMTQ4NzgzMjA2OTM5N10sIFsxNjYzOTI1MTAwLjc3MDcwMjEsIDczMzUsIDEuMDc5MjQzMzAyMzQ1Mjc1OV0sIFsxNjYzOTI1MTAwLjg3ODg3MywgNzM0NCwgMS4wODQ2MjQ1Mjg4ODQ4ODc3XSwgWzE2NjM5MjUxMDEuMTIwNjM0NiwgNzM2MiwgMS4xMTgxMTUxODY2OTEyODQyXSwgWzE2NjM5MjUxMDEuMjI3MjU0NiwgNzM3MSwgMC44OTk4ODQxMDQ3Mjg2OTg3XSwgWzE2NjM5MjUxMDEuMzU0NDI4NSwgNzM4MCwgMS4wNDA2Njc2NTMwODM4MDEzXSwgWzE2NjM5MjUxMDEuNDY5NTA5MSwgNzM4OSwgMS4wNDAxODI5NDgxMTI0ODc4XSwgWzE2NjM5MjUxMDEuNTcyMDExMiwgNzM5OCwgMS4wMDIzOTAyNjU0NjQ3ODI3XSwgWzE2NjM5MjUxMDEuNjYxOTE4OSwgNzQwNywgMS4wMTI3MTg5MTU5MzkzMzFdLCBbMTY2MzkyNTEwMS43NTc2OTA0LCA3NDE2LCAxLjA4MzI4NTMzMTcyNjA3NDJdLCBbMTY2MzkyNTEwMS44NTYzMjk3LCA3NDI1LCAxLjA0ODUzMjk2Mjc5OTA3MjNdLCBbMTY2MzkyNTEwMS45NjQwNDMsIDc0MzQsIDAuOTQ2MTgzNDQzMDY5NDU4XSwgWzE2NjM5MjUxMDIuMTAwNTU5LCA3NDQzLCAxLjI5MDQyMDc3MDY0NTE0MTZdLCBbMTY2MzkyNTEwMi4xOTkyMTE0LCA3NDUyLCAxLjE3NzMyNzUxMzY5NDc2MzJdLCBbMTY2MzkyNTEwMi4zMDIyOTY0LCA3NDYxLCAxLjI3NjExNzMyNDgyOTEwMTZdLCBbMTY2MzkyNTEwMi40MDUzMzQyLCA3NDcwLCAxLjI4NDY0NjE1MzQ1MDAxMjJdLCBbMTY2MzkyNTEwMi41MDQ5MDQ3LCA3NDc5LCAxLjAwNjMyNjU1NjIwNTc0OTVdLCBbMTY2MzkyNTEwMi43MDY4MjcsIDc0OTcsIDEuMDUzMDMwNzI5MjkzODIzMl0sIFsxNjYzOTI1MTAyLjgxNTg2NCwgNzUwNiwgMC45MjA5MDE0MTc3MzIyMzg4XSwgWzE2NjM5MjUxMDIuOTI0NDQ1NiwgNzUxNSwgMC44OTkzMDA1NzUyNTYzNDc3XSwgWzE2NjM5MjUxMDMuMDQ0NDY3NCwgNzUyNCwgMS4wNDQ5ODc2Nzg1Mjc4MzJdLCBbMTY2MzkyNTEwMy4xNTA4NDY3LCA3NTMzLCAxLjE0Njk1NjMyNDU3NzMzMTVdLCBbMTY2MzkyNTEwMy4yNzczMDA2LCA3NTQyLCAwLjg1MTk2MDg5NzQ0NTY3ODddLCBbMTY2MzkyNTEwMy41MzE5MzE5LCA3NTYwLCAxLjE2OTEyODE3OTU1MDE3MV0sIFsxNjYzOTI1MTAzLjY3MjM3OTcsIDc1NjksIDEuMTYwMzcyODUzMjc5MTEzOF0sIFsxNjYzOTI1MTAzLjg5Nzg1NzQsIDc1ODcsIDAuOTU3OTc4MTI5Mzg2OTAxOV0sIFsxNjYzOTI1MTAzLjk5NzUwMzMsIDc1OTYsIDEuMjYzMjQyNzIxNTU3NjE3Ml0sIFsxNjYzOTI1MTA0LjIwODExMDgsIDc2MTQsIDEuMzc2OTcyNDM2OTA0OTA3Ml0sIFsxNjYzOTI1MTA0LjQzNTM0NiwgNzYzMiwgMS4zNTAwODcxNjU4MzI1MTk1XSwgWzE2NjM5MjUxMDQuODAwNjU2NiwgNzY1OSwgMS4wNTc2NDY5ODk4MjIzODc3XSwgWzE2NjM5MjUxMDQuOTAyNzY5MywgNzY2OCwgMS4yODk3Mjg2NDE1MTAwMDk4XSwgWzE2NjM5MjUxMDUuMjEzNjAxNCwgNzY5NSwgMS4xNTI3OTgwNTY2MDI0NzhdLCBbMTY2MzkyNTEwNS40Mjg5NDc0LCA3NzEzLCAwLjk1MjcyOTgyMTIwNTEzOTJdLCBbMTY2MzkyNTEwNS43MjMxODA1LCA3NzIyLCAxLjAxNDI3NTE5MzIxNDQxNjVdLCBbMTY2MzkyNTEwNS44NDAzNTc4LCA3NzMxLCAxLjA3NzYyMjc3MTI2MzEyMjZdLCBbMTY2MzkyNTEwNi4wODQzOTc4LCA3NzQ5LCAxLjE1NDI0Nzk5OTE5MTI4NDJdLCBbMTY2MzkyNTEwNi4yMjg3MDk1LCA3NzU4LCAxLjI0OTk1OTExMTIxMzY4NF0sIFsxNjYzOTI1MTA2LjM1MDg5MjMsIDc3NjcsIDEuMjEwNDMzMDA2Mjg2NjIxXSwgWzE2NjM5MjUxMDYuNzAxODA5NCwgNzc5NCwgMS4wNzM5NTU0MTY2NzkzODIzXSwgWzE2NjM5MjUxMDYuODIxODQ2NSwgNzgwMywgMS4wODI1Mjk1NDQ4MzAzMjIzXSwgWzE2NjM5MjUxMDcuMDYyNjUzNSwgNzgyMSwgMS4xNDY1MTYzMjMwODk1OTk2XSwgWzE2NjM5MjUxMDcuMTU2MzU4NywgNzgzMCwgMS4wNTMzOTQzMTc2MjY5NTMxXSwgWzE2NjM5MjUxMDcuMjUzNDIyMywgNzgzOSwgMS4zMzA1MTYwOTk5Mjk4MDk2XSwgWzE2NjM5MjUxMDcuMzU1ODg3LCA3ODQ4LCAxLjAxNDMxMDEyMTUzNjI1NDldLCBbMTY2MzkyNTEwNy42Nzk5NDUyLCA3ODc1LCAxLjI0OTg2MjU1MTY4OTE0OF0sIFsxNjYzOTI1MTA3LjkyNzUyNjIsIDc4OTMsIDAuOTY4OTE4NTYxOTM1NDI0OF0sIFsxNjYzOTI1MTA4LjAzNjA5MiwgNzkwMiwgMC45MjQ0MjYxOTgwMDU2NzYzXSwgWzE2NjM5MjUxMDguMTc1MTE5MiwgNzkxMSwgMS4wODAxMDY5NzM2NDgwNzEzXSwgWzE2NjM5MjUxMDguNDM2MDE5NCwgNzkyOSwgMS4wMjAyODY0NDA4NDkzMDQyXSwgWzE2NjM5MjUxMDguNTcxNDI1NCwgNzkzOCwgMS4xNzAzMjg0OTc4ODY2NTc3XSwgWzE2NjM5MjUxMDguNjg3MTM0NywgNzk0NywgMS4xMjg4Mjc0NTI2NTk2MDddLCBbMTY2MzkyNTEwOC43ODMwMTI0LCA3OTU2LCAwLjk4MTY2MTg1NjE3NDQ2OV0sIFsxNjYzOTI1MTA4Ljg4MDc5MTIsIDc5NjUsIDEuMjA5MjgyMTU5ODA1Mjk3OV0sIFsxNjYzOTI1MTA4Ljk3NTA2NTcsIDc5NzQsIDEuMDk4Mzc4MTgxNDU3NTE5NV0sIFsxNjYzOTI1MTA5LjA3NTUyODksIDc5ODMsIDAuOTUwNTUyNjQyMzQ1NDI4NV0sIFsxNjYzOTI1MTA5LjE3NTQzMSwgNzk5MiwgMC45NjMxNTMwNjQyNTA5NDZdLCBbMTY2MzkyNTEwOS4yNzIxMTQ1LCA4MDAxLCAxLjEyNzI1MDQzMjk2ODEzOTZdLCBbMTY2MzkyNTEwOS4zNzAzMjg3LCA4MDEwLCAxLjE2NDgzMzA2ODg0NzY1NjJdLCBbMTY2MzkyNTEwOS40Njk0ODIsIDgwMTksIDEuMDY0Mjg4MjU4NTUyNTUxM10sIFsxNjYzOTI1MTA5LjY3NzcyMzIsIDgwMzcsIDEuMjM5ODMyODc4MTEyNzkzXSwgWzE2NjM5MjUxMDkuNzY5NzE5MSwgODA0NiwgMC45OTY0MjI1ODg4MjUyMjU4XSwgWzE2NjM5MjUxMDkuOTY4MTkzOCwgODA2NCwgMS4wMDQzNDM5ODY1MTEyMzA1XSwgWzE2NjM5MjUxMTAuMTY4ODcyLCA4MDgyLCAxLjEwMDM4NTA2OTg0NzEwN10sIFsxNjYzOTI1MTEwLjI2OTQwNzMsIDgwOTEsIDEuMDY2NzYxODUxMzEwNzNdLCBbMTY2MzkyNTExMC41NzIxNTQzLCA4MTE4LCAwLjkwOTc5NjgzMzk5MjAwNDRdLCBbMTY2MzkyNTExMC42NzQwNiwgODEyNywgMS41MDA4MjIzMDU2NzkzMjEzXSwgWzE2NjM5MjUxMTAuODg5NTg0MywgODE0NSwgMC45NjU4MjI4MTU4OTUwODA2XSwgWzE2NjM5MjUxMTAuOTk3MjI3MiwgODE1NCwgMS4xMDkyODMyMDg4NDcwNDZdLCBbMTY2MzkyNTExMS4xMTQyMzkyLCA4MTYzLCAxLjEyNTM1MjUwMTg2OTIwMTddLCBbMTY2MzkyNTExMS4yNDM0MDksIDgxNzIsIDEuMzE5MTM3MzM0ODIzNjA4NF0sIFsxNjYzOTI1MTExLjM2MzM0NiwgODE4MSwgMS4wMzI1NzUyNDk2NzE5MzZdLCBbMTY2MzkyNTExMS41ODA1OTIyLCA4MTk5LCAwLjk5MTg5NTk3MzY4MjQwMzZdLCBbMTY2MzkyNTExMS42NzgwNzQxLCA4MjA4LCAxLjAzNzQwMDk2MDkyMjI0MTJdLCBbMTY2MzkyNTExMS44Nzk4ODE2LCA4MjI2LCAxLjA4ODMzMzcyNTkyOTI2MDNdLCBbMTY2MzkyNTExMS45Nzg1OTk4LCA4MjM1LCAxLjAzOTU5MzQ1ODE3NTY1OTJdLCBbMTY2MzkyNTExMi4xOTQ2OTQ1LCA4MjUzLCAxLjI4NDI5ODc3NzU4MDI2MTJdLCBbMTY2MzkyNTExMi4yOTQ2ODA2LCA4MjYyLCAxLjA5MDY1NzU5MTgxOTc2MzJdLCBbMTY2MzkyNTExMi4zOTkzNDQ3LCA4MjcxLCAxLjExNzMxMTM1ODQ1MTg0MzNdLCBbMTY2MzkyNTExMi40OTc1NDgsIDgyODAsIDEuMDY3NTYxNzQ1NjQzNjE1N10sIFsxNjYzOTI1MTEyLjYyNjIwMSwgODI4OSwgMC45OTQxMDk4MDkzOTg2NTExXSwgWzE2NjM5MjUxMTIuNzM2OTI5MiwgODI5OCwgMS4wNzQ0ODk3MTI3MTUxNDldLCBbMTY2MzkyNTExMi44NTg5NjM1LCA4MzA3LCAxLjA1OTcwNzUyMjM5MjI3M10sIFsxNjYzOTI1MTEyLjk4Mzc2ODIsIDgzMTYsIDEuMzgzODIyMjAyNjgyNDk1MV0sIFsxNjYzOTI1MTEzLjA5ODEzMDcsIDgzMjUsIDEuMDkwODk2MzY4MDI2NzMzNF0sIFsxNjYzOTI1MTEzLjQ5MTc3MjIsIDgzNTIsIDEuMDg4NTI5MTA5OTU0ODM0XSwgWzE2NjM5MjUxMTMuNjI2NjA5NiwgODM2MSwgMS4wODk2NzgwNDkwODc1MjQ0XSwgWzE2NjM5MjUxMTMuNzI4ODc0MiwgODM3MCwgMC45OTg0OTQ5MjMxMTQ3NzY2XSwgWzE2NjM5MjUxMTMuODM0MDQyLCA4Mzc5LCAwLjg5NDkxNjcxMzIzNzc2MjVdLCBbMTY2MzkyNTExMy45MzUxNjA5LCA4Mzg4LCAxLjIxMjE3MTE5NjkzNzU2MV0sIFsxNjYzOTI1MTE0LjA0MDQ4MjgsIDgzOTcsIDEuMjc2MDEzMzc0MzI4NjEzM10sIFsxNjYzOTI1MTE0LjE0MDg2OSwgODQwNiwgMS4wMzEyMDIzMTYyODQxNzk3XSwgWzE2NjM5MjUxMTQuMjQzNjgxLCA4NDE1LCAwLjkyMzA1NTA1Mjc1NzI2MzJdLCBbMTY2MzkyNTExNC4zNDg3NzUsIDg0MjQsIDEuMDgzMTE1NTc3Njk3NzU0XSwgWzE2NjM5MjUxMTQuNzc0MjAxNiwgODQ2MCwgMS4wMzMyMDM5NTk0NjUwMjY5XSwgWzE2NjM5MjUxMTQuOTE4NjQwMSwgODQ2OSwgMS4wNDY2MDA0NjEwMDYxNjQ2XSwgWzE2NjM5MjUxMTUuMDUzNTkzNiwgODQ3OCwgMS4xNTgzMjc0NjAyODkwMDE1XSwgWzE2NjM5MjUxMTUuMTYxODcxLCA4NDg3LCAxLjAxNDY2MzkzNDcwNzY0MTZdLCBbMTY2MzkyNTExNS4yNjE1MDc3LCA4NDk2LCAxLjA3MDUyMzYxOTY1MTc5NDRdLCBbMTY2MzkyNTExNS42NTE5MjI1LCA4NTE0LCAwLjk4Mzk2MzI1MTExMzg5MTZdLCBbMTY2MzkyNTExNS43NDc0OTY4LCA4NTIzLCAxLjE0MTY0NDU5NzA1MzUyNzhdLCBbMTY2MzkyNTExNS44NTY1ODU1LCA4NTMyLCAxLjEwNTYwOTA1OTMzMzgwMTNdLCBbMTY2MzkyNTExNi4xMDg4MjM4LCA4NTUwLCAxLjIyOTAwOTAzMjI0OTQ1MDddLCBbMTY2MzkyNTExNi4yMzk3NTg1LCA4NTU5LCAxLjA2OTE1ODU1NDA3NzE0ODRdLCBbMTY2MzkyNTExNi40NjM2OTkzLCA4NTc3LCAwLjkyNjkwNzQ3OTc2MzAzMV0sIFsxNjYzOTI1MTE2LjY4OTgwMTcsIDg1OTUsIDAuOTE1NzYzMDgwMTIwMDg2N10sIFsxNjYzOTI1MTE2Ljc4MzQxOSwgODYwNCwgMS4xNjMzNzkxOTIzNTIyOTVdLCBbMTY2MzkyNTExNi44ODU4MTMyLCA4NjEzLCAxLjAxNDM5Nzc0MDM2NDA3NDddLCBbMTY2MzkyNTExNy4wMDAyMDgxLCA4NjIyLCAxLjIwMjg4NTg2NjE2NTE2MTFdLCBbMTY2MzkyNTExNy4yMzIxOTU0LCA4NjQwLCAwLjk0NTAwMDc2NzcwNzgyNDddLCBbMTY2MzkyNTExNy4zNDg2MjU3LCA4NjQ5LCAxLjA2MjUxMDcyODgzNjA1OTZdLCBbMTY2MzkyNTExNy40NzM1ODA2LCA4NjU4LCAwLjkyMjg5OTYwMzg0MzY4OV0sIFsxNjYzOTI1MTE3LjU4OTgxNjYsIDg2NjcsIDEuNDM1NDU0MTMwMTcyNzI5NV0sIFsxNjYzOTI1MTE3LjY5NDUzODQsIDg2NzYsIDAuOTkxMjA2MzQ3OTQyMzUyM10sIFsxNjYzOTI1MTE3LjgyMTcxNjUsIDg2ODUsIDEuMDI4NjIxMTk2NzQ2ODI2Ml0sIFsxNjYzOTI1MTE3Ljk1NjMwOSwgODY5NCwgMC45NTkxNTAzNzM5MzU2OTk1XSwgWzE2NjM5MjUxMTguMTg2MDI3OCwgODcxMiwgMC45NjYyNjYwMzYwMzM2MzA0XSwgWzE2NjM5MjUxMTguMzAwNjMzNywgODcyMSwgMC45Mzc1NzQwODg1NzM0NTU4XSwgWzE2NjM5MjUxMTguNjczNjM3MiwgODc0OCwgMS4wMzc1NDYwMzg2Mjc2MjQ1XSwgWzE2NjM5MjUxMTguNzc2MjAyNywgODc1NywgMS41MjkxODc0NDA4NzIxOTI0XSwgWzE2NjM5MjUxMTkuMjI5NjYyNCwgODc5MywgMS41NjM5ODk3NTg0OTE1MTYxXSwgWzE2NjM5MjUxMTkuMzQ0MzA5MywgODgwMiwgMS4yMDE4MTUwMDkxMTcxMjY1XSwgWzE2NjM5MjUxMTkuNDU0MzQ3NCwgODgxMSwgMS4wOTY0Mzc1NzM0MzI5MjI0XSwgWzE2NjM5MjUxMTkuNTc3MDU1MiwgODgyMCwgMS4xODQ4MzAxODg3NTEyMjA3XSwgWzE2NjM5MjUxMTkuNjcxMDk3LCA4ODI5LCAxLjA1MzQzNTQ0NDgzMTg0ODFdLCBbMTY2MzkyNTExOS43ODgyNzAyLCA4ODM4LCAxLjI0NTE1NzAwMzQwMjcxXSwgWzE2NjM5MjUxMTkuOTA4Nzk3MywgODg0NywgMS41MzY5Njk2NjE3MTI2NDY1XSwgWzE2NjM5MjUxMjAuMDIyNDIxOCwgODg1NiwgMS4wMzI5NTg4NjUxNjU3MTA0XSwgWzE2NjM5MjUxMjAuMzQwODE4MiwgODg4MywgMS4wMjE3Njc0OTcwNjI2ODNdLCBbMTY2MzkyNTEyMC40NDkxNDAzLCA4ODkyLCAwLjk5MzM2MDc1NzgyNzc1ODhdLCBbMTY2MzkyNTEyMC41NTA1Njc0LCA4OTAxLCAxLjAzMDA3MDU0MzI4OTE4NDZdLCBbMTY2MzkyNTEyMC42ODMwODQ1LCA4OTEwLCAwLjk5NjIyODUxNjEwMTgzNzJdLCBbMTY2MzkyNTEyMC43ODI0MTgzLCA4OTE5LCAwLjk5NDg0MDU2MjM0MzU5NzRdLCBbMTY2MzkyNTEyMS4wMTcwOTIsIDg5MzcsIDEuMDc4NDY4OTE4ODAwMzU0XSwgWzE2NjM5MjUxMjEuMjgyNDI5NywgODk1NSwgMS4xNjE0MDg2NjI3OTYwMjA1XSwgWzE2NjM5MjUxMjEuNDA4NjksIDg5NjQsIDEuMDAxNjc0NzcxMzA4ODk5XSwgWzE2NjM5MjUxMjEuNTA1NDIwNCwgODk3MywgMC45ODc3NjExMzk4Njk2ODk5XSwgWzE2NjM5MjUxMjEuNzQ1OTk1OCwgODk5MSwgMS4wNjE0NDk1Mjc3NDA0Nzg1XSwgWzE2NjM5MjUxMjEuODM3NzMxOCwgOTAwMCwgMC45MTMyNjQ5ODk4NTI5MDUzXSwgWzE2NjM5MjUxMjEuOTM4ODgyNiwgOTAwOSwgMC45NjgzMzQ1NTU2MjU5MTU1XSwgWzE2NjM5MjUxMjIuMDUyMTI2NiwgOTAxOCwgMC45MzUyMDE3MDQ1MDIxMDU3XSwgWzE2NjM5MjUxMjIuMTcwOTYyMywgOTAyNywgMS4xNjg5NzQyODAzNTczNjA4XSwgWzE2NjM5MjUxMjIuMjgzNTA5LCA5MDM2LCAxLjE1MDE2NTA4MTAyNDE3XSwgWzE2NjM5MjUxMjIuMzg5MDUxNCwgOTA0NSwgMC44OTk2MDcyNDExNTM3MTddLCBbMTY2MzkyNTEyMi40OTUzMjI1LCA5MDU0LCAwLjk2OTg0MzYyNjAyMjMzODldLCBbMTY2MzkyNTEyMi42MDMyNDM2LCA5MDYzLCAwLjkzNjMyMDA2NjQ1MjAyNjRdLCBbMTY2MzkyNTEyMi43MDE1MTczLCA5MDcyLCAxLjAwNDkwOTk5MjIxODAxNzZdLCBbMTY2MzkyNTEyMy4xNjU4NjE2LCA5MTA4LCAxLjIwNzkyMjkzNTQ4NTgzOThdLCBbMTY2MzkyNTEyMy40MTgyNTIsIDkxMjYsIDEuMDU4NTQ3MDE5OTU4NDk2XSwgWzE2NjM5MjUxMjMuNTMzOTExNSwgOTEzNSwgMS4xMjkwNTc0MDczNzkxNTA0XSwgWzE2NjM5MjUxMjMuNjU1NTMwNywgOTE0NCwgMC45MjcwMzkzODQ4NDE5MTldLCBbMTY2MzkyNTEyMy43ODIzNjI1LCA5MTUzLCAxLjEwODQxNTYwMzYzNzY5NTNdLCBbMTY2MzkyNTEyMy44ODc3NDU5LCA5MTYyLCAwLjkyNzU5MDk2NjIyNDY3MDRdLCBbMTY2MzkyNTEyNC4yMjU4OTMsIDkxODksIDEuMzc1NDY3NjU4MDQyOTA3N10sIFsxNjYzOTI1MTI0LjQ0NjM3NTYsIDkyMDcsIDAuOTI1NTYzMDM3Mzk1NDc3M10sIFsxNjYzOTI1MTI0LjU2MzQ2ODIsIDkyMTYsIDAuOTYxNDc2MDg3NTcwMTkwNF0sIFsxNjYzOTI1MTI0Ljc3ODkwMzcsIDkyMzQsIDEuMTMyMTY2Mzg1NjUwNjM0OF0sIFsxNjYzOTI1MTI0Ljg4ODUxNSwgOTI0MywgMS4wMjUzODUxNDEzNzI2ODA3XSwgWzE2NjM5MjUxMjUuMDg5MDI4NiwgOTI2MSwgMS4wODgxOTAwNzg3MzUzNTE2XSwgWzE2NjM5MjUxMjUuMTk1MjAzLCA5MjcwLCAxLjEzMDI1MTY0NjA0MTg3MDFdLCBbMTY2MzkyNTEyNS42Mjg1ODQ2LCA5Mjg4LCAxLjE4OTU0NzUzODc1NzMyNDJdLCBbMTY2MzkyNTEyNi4wOTk0NjE4LCA5MzI0LCAxLjE1NjkyMjQ1OTYwMjM1Nl0sIFsxNjYzOTI1MTI2LjIxMzA1MTMsIDkzMzMsIDAuOTIzMTMxMjg3MDk3OTMwOV0sIFsxNjYzOTI1MTI2LjMyNjY3NTQsIDkzNDIsIDAuOTkyNjEwODEyMTg3MTk0OF0sIFsxNjYzOTI1MTI2LjQyNjkwMTMsIDkzNTEsIDAuOTM5Mzk1MzY4MDk5MjEyNl0sIFsxNjYzOTI1MTI2LjUzNjkxMjIsIDkzNjAsIDEuMDgzNTE2ODM2MTY2MzgxOF0sIFsxNjYzOTI1MTI2Ljk4OTgzMjYsIDkzOTYsIDEuMDM1MDYxMDAxNzc3NjQ5XSwgWzE2NjM5MjUxMjcuMTkxMTY2LCA5NDE0LCAwLjk3MzQxMTczODg3MjUyODFdLCBbMTY2MzkyNTEyNy4yODkxODc0LCA5NDIzLCAxLjEzNzA0NjMzNzEyNzY4NTVdLCBbMTY2MzkyNTEyNy40OTAyNTAzLCA5NDQxLCAxLjAxMzg1NjY0OTM5ODgwMzddLCBbMTY2MzkyNTEyNy41ODY5MjQ2LCA5NDUwLCAwLjk5NzAwNTE2NDYyMzI2MDVdLCBbMTY2MzkyNTEyNy42Nzc5MzgsIDk0NTksIDAuOTc3MjQ5OTIwMzY4MTk0Nl0sIFsxNjYzOTI1MTI3Ljg5NTMxOTIsIDk0NzcsIDEuMDYxNTczNTA1NDAxNjExM10sIFsxNjYzOTI1MTI3Ljk5NzUwNzYsIDk0ODYsIDEuMDgxNzg3MzQ3NzkzNTc5XSwgWzE2NjM5MjUxMjguMDkxNTAxMiwgOTQ5NSwgMC45OTU2NjgxNzI4MzYzMDM3XSwgWzE2NjM5MjUxMjguMjg0ODE1MywgOTUxMywgMS4yODMyNjMzMjU2OTEyMjMxXSwgWzE2NjM5MjUxMjguNDg2MjM5LCA5NTMxLCAwLjk3NzA3MTE2NjAzODUxMzJdLCBbMTY2MzkyNTEyOC41ODM3NywgOTU0MCwgMC44OTg1NzQ3MDk4OTIyNzNdLCBbMTY2MzkyNTEyOC42ODg4OTcxLCA5NTQ5LCAxLjE5NDI3NTQ5ODM5MDE5NzhdLCBbMTY2MzkyNTEyOC44OTQ3MzMsIDk1NjcsIDEuMTk3NDkxNDA3Mzk0NDA5Ml0sIFsxNjYzOTI1MTI4Ljk4ODI1MSwgOTU3NiwgMS4xNDg1MjA4MjcyOTMzOTZdLCBbMTY2MzkyNTEyOS4xODc0MzEzLCA5NTk0LCAwLjk0OTY4NzA2MzY5NDAwMDJdLCBbMTY2MzkyNTEyOS4yODUyMjg1LCA5NjAzLCAxLjM0ODc2MDAwODgxMTk1MDddLCBbMTY2MzkyNTEyOS4zODc2MTcsIDk2MTIsIDAuOTAxNzcwMTE0ODk4NjgxNl0sIFsxNjYzOTI1MTI5LjQ4MjA5MDIsIDk2MjEsIDEuMDc3MzY4NzM2MjY3MDg5OF0sIFsxNjYzOTI1MTI5LjU4ODEwOTMsIDk2MzAsIDAuOTkzMDMzODI2MzUxMTY1OF0sIFsxNjYzOTI1MTI5LjY4ODUzNzEsIDk2MzksIDEuMDE1NjkwNDQ1ODk5OTYzNF0sIFsxNjYzOTI1MTI5Ljc4NDIzNTUsIDk2NDgsIDEuMDIzODE5OTIzNDAwODc5XSwgWzE2NjM5MjUxMjkuODg1NTM5MywgOTY1NywgMC45NjQzNTQ1NzQ2ODAzMjg0XSwgWzE2NjM5MjUxMjkuOTczNTUzLCA5NjY2LCAxLjE1NjMyNDE0ODE3ODEwMDZdLCBbMTY2MzkyNTEzMC4wODc5NTU1LCA5Njc1LCAxLjE1MjM4MTUzOTM0NDc4NzZdLCBbMTY2MzkyNTEzMC4zODgyNywgOTcwMiwgMC45MTY2NTcxNDk3OTE3MTc1XSwgWzE2NjM5MjUxMzAuNDgxNjE5MSwgOTcxMSwgMC45ODMyNDk0MjU4ODgwNjE1XSwgWzE2NjM5MjUxMzAuNjg3MTQ2NCwgOTcyOSwgMS4xMDUyMzU2OTU4Mzg5MjgyXSwgWzE2NjM5MjUxMzAuNzkyOTg1MiwgOTczOCwgMS4xMjk4Njk5Mzc4OTY3Mjg1XSwgWzE2NjM5MjUxMzAuODk1Njg5LCA5NzQ3LCAwLjk2MjQ5ODEyODQxNDE1NF0sIFsxNjYzOTI1MTMxLjAxODg1ODIsIDk3NTYsIDEuMDM3MzE4NzA2NTEyNDUxMl0sIFsxNjYzOTI1MTMxLjIzNDc0NDgsIDk3NzQsIDEuMTEyMjkzNjAxMDM2MDcxOF0sIFsxNjYzOTI1MTMxLjMzMzg1MywgOTc4MywgMS4xMzA4Mzg3NTE3OTI5MDc3XSwgWzE2NjM5MjUxMzEuNDMxMTEyMywgOTc5MiwgMS4wMTcxNDQ2ODAwMjMxOTM0XSwgWzE2NjM5MjUxMzEuNTI0NjUyLCA5ODAxLCAwLjkyMTg1ODY2ODMyNzMzMTVdLCBbMTY2MzkyNTEzMS44MTIzMjcxLCA5ODI4LCAwLjg1MzQwOTQ2OTEyNzY1NV0sIFsxNjYzOTI1MTMxLjkxMDI0NTQsIDk4MzcsIDAuOTIyNDU2MDI2MDc3MjcwNV0sIFsxNjYzOTI1MTMyLjAwNDAyNDcsIDk4NDYsIDAuOTY4ODE5NDM5NDExMTYzM10sIFsxNjYzOTI1MTMyLjUxMTkyNiwgOTg5MSwgMS4xNTQzNzA5MDM5Njg4MTFdLCBbMTY2MzkyNTEzMi43MDA0MjUxLCA5OTA5LCAwLjg2MTYyNTAxNTczNTYyNjJdLCBbMTY2MzkyNTEzMi45MDEwNTM3LCA5OTI3LCAxLjAzNDExMjIxNTA0MjExNDNdLCBbMTY2MzkyNTEzMy4wMDA1ODgsIDk5MzYsIDAuOTgwMzA5Nzg0NDEyMzg0XSwgWzE2NjM5MjUxMzMuMDk5MTk4OCwgOTk0NSwgMS40MjEyNDc2MDE1MDkwOTQyXSwgWzE2NjM5MjUxMzMuMjkzNTIxLCA5OTYzLCAxLjAxOTEyNzQ4ODEzNjI5MTVdLCBbMTY2MzkyNTEzMy40MDk5MDMzLCA5OTcyLCAwLjk1OTc4MjcxOTYxMjEyMTZdLCBbMTY2MzkyNTEzMy41MDgxNTYsIDk5ODEsIDAuOTI4Njc4OTg5NDEwNDAwNF0sIFsxNjYzOTI1MTMzLjYwNjQ1OTksIDk5OTAsIDEuMTAxNjU2MDc5MjkyMjk3NF0sIFsxNjYzOTI1MTMzLjcwNDU3NjUsIDk5OTksIDEuMTI3ODk4MzM1NDU2ODQ4MV0sIFsxNjYzOTI1MTMzLjgwMTAxNDIsIDEwMDA4LCAxLjA3NTYyNjEzNDg3MjQzNjVdLCBbMTY2MzkyNTEzMy44OTk1OTc0LCAxMDAxNywgMS4xNzk1NjM1MjIzMzg4NjcyXSwgWzE2NjM5MjUxMzMuOTk4MDU4OCwgMTAwMjYsIDEuMTM2MjgxODQ3OTUzNzk2NF0sIFsxNjYzOTI1MTM0LjA5NjYxNjcsIDEwMDM1LCAxLjEzNTc2ODI5NDMzNDQxMTZdLCBbMTY2MzkyNTEzNC4yODIyNzM1LCAxMDA1MywgMS4wNzQ5NTQ5ODY1NzIyNjU2XSwgWzE2NjM5MjUxMzQuNTgxMDg0LCAxMDA2MiwgMS40MDA3Mjc2Mjk2NjE1Nl0sIFsxNjYzOTI1MTM0Ljc5MjczLCAxMDA4MCwgMS4wNDM5NDQxMjA0MDcxMDQ1XSwgWzE2NjM5MjUxMzQuOTE4NTQwNywgMTAwODksIDAuODg2MzA3NzE2MzY5NjI4OV0sIFsxNjYzOTI1MTM1LjAyMDM1NzYsIDEwMDk4LCAxLjAxNjczOTQ4NzY0ODAxMDNdLCBbMTY2MzkyNTEzNS4xMDg3ODU0LCAxMDEwNywgMC45MzQ5ODQ2ODM5OTA0Nzg1XSwgWzE2NjM5MjUxMzUuNDE5NjgyMywgMTAxMzQsIDEuMDE1ODExMjA0OTEwMjc4M10sIFsxNjYzOTI1MTM1LjUxMzM1NTMsIDEwMTQzLCAxLjA3MjcxNTI4MjQ0MDE4NTVdLCBbMTY2MzkyNTEzNS43MTk0NzI2LCAxMDE2MSwgMC45ODEwNTMwNTQzMzI3MzMyXSwgWzE2NjM5MjUxMzUuODEyNTMyNCwgMTAxNzAsIDEuMTQwMDk0OTk1NDk4NjU3Ml0sIFsxNjYzOTI1MTM1LjkxMjE4MzMsIDEwMTc5LCAxLjA3NTAyMTk4MjE5Mjk5MzJdLCBbMTY2MzkyNTEzNi4wMTcxNTAyLCAxMDE4OCwgMC44OTYyMzk5MzYzNTE3NzYxXSwgWzE2NjM5MjUxMzYuMTI4NTU4NiwgMTAxOTcsIDEuMDY2OTAxMjA2OTcwMjE0OF0sIFsxNjYzOTI1MTM2LjIzNzg0MDIsIDEwMjA2LCAwLjk2NTM2ODgwNzMxNTgyNjRdLCBbMTY2MzkyNTEzNi4zMzY0OTY4LCAxMDIxNSwgMS4wNzg2MzE1MjAyNzEzMDEzXSwgWzE2NjM5MjUxMzYuNDM5NjAzOCwgMTAyMjQsIDAuOTYyMzA3OTI5OTkyNjc1OF0sIFsxNjYzOTI1MTM2LjUzODQ5NTgsIDEwMjMzLCAxLjAwODY1ODc2Njc0NjUyMV0sIFsxNjYzOTI1MTM2LjYzMTE3MjcsIDEwMjQyLCAxLjE2Mjk3MjU2OTQ2NTYzNzJdLCBbMTY2MzkyNTEzNi44MjAwMDk1LCAxMDI2MCwgMS4wMTQ0MjY0Njk4MDI4NTY0XSwgWzE2NjM5MjUxMzYuOTE2OTcsIDEwMjY5LCAwLjg3OTY3ODE4OTc1NDQ4NjFdLCBbMTY2MzkyNTEzNy4xMzM2NDUzLCAxMDI4NywgMC45MTc0NzE0MDg4NDM5OTQxXSwgWzE2NjM5MjUxMzcuMjMwNTI2NCwgMTAyOTYsIDEuMDg5Mjk1NTA2NDc3MzU2XSwgWzE2NjM5MjUxMzcuNDI2Mjc2NCwgMTAzMTQsIDEuMDI3Nzc3MTk0OTc2ODA2Nl0sIFsxNjYzOTI1MTM3LjUyMTA3OTMsIDEwMzIzLCAxLjA4ODI4MDQzOTM3NjgzMV0sIFsxNjYzOTI1MTM3LjcxMzczMTgsIDEwMzQxLCAxLjA3ODAxNzU5MjQzMDExNDddLCBbMTY2MzkyNTEzNy44MTM4MTU0LCAxMDM1MCwgMC45NjMzNDg1Njc0ODU4MDkzXSwgWzE2NjM5MjUxMzcuOTExMzM3LCAxMDM1OSwgMC45MTQ5OTM0NjQ5NDY3NDY4XSwgWzE2NjM5MjUxMzguMDEwNzQ2NSwgMTAzNjgsIDAuOTg2NTg1MjU5NDM3NTYxXSwgWzE2NjM5MjUxMzguMTA0NDc0LCAxMDM3NywgMC45NjUyMjEwNDc0MDE0MjgyXSwgWzE2NjM5MjUxMzguMjE5MjA4MiwgMTAzODYsIDAuOTg0MTcwMTM4ODM1OTA3XSwgWzE2NjM5MjUxMzguNDIwMzEyNiwgMTA0MDQsIDEuMDU0ODQ5ODYzMDUyMzY4Ml0sIFsxNjYzOTI1MTM4LjUyMDM2MywgMTA0MTMsIDEuMDIzOTQzMzA1MDE1NTY0XSwgWzE2NjM5MjUxMzguNjI0NTY2OCwgMTA0MjIsIDAuODkzODM0OTQ4NTM5NzMzOV0sIFsxNjYzOTI1MTM4Ljg2MTc3MSwgMTA0NDAsIDEuMDgzNjUwMzUwNTcwNjc4N10sIFsxNjYzOTI1MTM4Ljk3MTgzNzgsIDEwNDQ5LCAxLjE4Mzk4MTY1NzAyODE5ODJdLCBbMTY2MzkyNTEzOS4yMjc4ODcsIDEwNDY3LCAwLjkzNjMyMzI4NTEwMjg0NDJdLCBbMTY2MzkyNTEzOS4zMzI3NTU4LCAxMDQ3NiwgMS4xMDE2ODUxNjYzNTg5NDc4XSwgWzE2NjM5MjUxMzkuNDU0MjE5OCwgMTA0ODUsIDEuMjQ0OTI1MDIyMTI1MjQ0MV0sIFsxNjYzOTI1MTM5LjU2NzE1NywgMTA0OTQsIDAuOTAyNzg2MzE0NDg3NDU3M10sIFsxNjYzOTI1MTM5LjY2OTQ5MzcsIDEwNTAzLCAxLjIxMjc0ODA1MDY4OTY5NzNdLCBbMTY2MzkyNTEzOS43ODU2NDU1LCAxMDUxMiwgMC44OTUzMzUxOTc0NDg3MzA1XSwgWzE2NjM5MjUxMzkuODkxOTIzNCwgMTA1MjEsIDEuMTgxMjk5Njg2NDMxODg0OF0sIFsxNjYzOTI1MTQwLjI4ODY4MiwgMTA1NTcsIDEuMjM4NDk4OTI2MTYyNzE5N10sIFsxNjYzOTI1MTQwLjQwNTI1MiwgMTA1NjYsIDAuOTczNzA4MDkzMTY2MzUxM10sIFsxNjYzOTI1MTQwLjQ5ODY0NDgsIDEwNTc1LCAxLjI1MTM4Mzc4MTQzMzEwNTVdLCBbMTY2MzkyNTE0MC42OTg1MDczLCAxMDU5MywgMS4wMjg4MzczMjMxODg3ODE3XSwgWzE2NjM5MjUxNDAuNzk0Mzg2OSwgMTA2MDIsIDEuMDIwOTE0NzkzMDE0NTI2NF0sIFsxNjYzOTI1MTQwLjkwMjg1NSwgMTA2MTEsIDEuMTU0NDAzNDQ4MTA0ODU4NF0sIFsxNjYzOTI1MTQxLjEwNzMwOTgsIDEwNjI5LCAwLjk0MDIyNzU2ODE0OTU2NjddLCBbMTY2MzkyNTE0MS4yMjIxNTk5LCAxMDYzOCwgMC45NDM3OTg2MDE2MjczNDk5XSwgWzE2NjM5MjUxNDEuMzMwNzY4MywgMTA2NDcsIDAuOTQzODQ1ODY4MTEwNjU2N10sIFsxNjYzOTI1MTQxLjUyNzMyMDQsIDEwNjY1LCAxLjMzODY2NzI3MzUyMTQyMzNdLCBbMTY2MzkyNTE0MS43MjY0MzY2LCAxMDY4MywgMS4xMzg1ODAzMjIyNjU2MjVdLCBbMTY2MzkyNTE0MS45Mzk4ODYsIDEwNzAxLCAxLjAxMjU5NTc3Mjc0MzIyNV0sIFsxNjYzOTI1MTQyLjA4NTgzNDMsIDEwNzEwLCAxLjAyMzM3NjQ2NDg0Mzc1XSwgWzE2NjM5MjUxNDIuMTkzMjgzNiwgMTA3MTksIDAuOTQ2OTIzMDE3NTAxODMxXSwgWzE2NjM5MjUxNDIuMjkxMTMwNSwgMTA3MjgsIDEuMDI5NjAyNDA4NDA5MTE4N10sIFsxNjYzOTI1MTQyLjQ5NzE0NiwgMTA3NDYsIDEuMTAxMTMzMTA4MTM5MDM4XSwgWzE2NjM5MjUxNDIuNTk5NzM3MiwgMTA3NTUsIDEuMjgyMDkxODU2MDAyODA3Nl0sIFsxNjYzOTI1MTQyLjY5NDI5MDksIDEwNzY0LCAxLjI3MDMzMTg1OTU4ODYyM10sIFsxNjYzOTI1MTQyLjc5OTAzNywgMTA3NzMsIDEuMTAxNTAxODIyNDcxNjE4N10sIFsxNjYzOTI1MTQyLjkwMDE3NTgsIDEwNzgyLCAxLjAyNzc1MjE2MTAyNjAwMV0sIFsxNjYzOTI1MTQzLjAwMzI3NjMsIDEwNzkxLCAxLjA0MDcwMTg2NjE0OTkwMjNdLCBbMTY2MzkyNTE0My4zNTI4Njg2LCAxMDgxOCwgMC45ODU1NDA3NDc2NDI1MTcxXSwgWzE2NjM5MjUxNDMuNDYyMzUwMSwgMTA4MjcsIDAuODk1OTk2NTEwOTgyNTEzNF0sIFsxNjYzOTI1MTQzLjk4MDY3OTMsIDEwODU0LCAwLjk5MTQwODA1MDA2MDI3MjJdLCBbMTY2MzkyNTE0NC4wODM4NzIzLCAxMDg2MywgMC45MjI0Mjc1OTQ2NjE3MTI2XSwgWzE2NjM5MjUxNDQuMTg4MTUxLCAxMDg3MiwgMS4xMDAzMDQ3MjI3ODU5NDk3XSwgWzE2NjM5MjUxNDQuMzg5MzgzOCwgMTA4OTAsIDEuMDY3MTc2Njk5NjM4MzY2N10sIFsxNjYzOTI1MTQ0LjQ4NzU0NzksIDEwODk5LCAxLjIwNzIyNjM5NTYwNjk5NDZdLCBbMTY2MzkyNTE0NC43ODE0MzYsIDEwOTI2LCAxLjE5ODkwMTc3MjQ5OTA4NDVdLCBbMTY2MzkyNTE0NC44NzM1MjA5LCAxMDkzNSwgMS4wNDA4MTA4MjM0NDA1NTE4XSwgWzE2NjM5MjUxNDQuOTc1ODQyNywgMTA5NDQsIDEuMDM4OTkwNzM2MDA3NjkwNF0sIFsxNjYzOTI1MTQ1LjE3NDAzOTYsIDEwOTYyLCAxLjAxNDU4Nzg3OTE4MDkwODJdLCBbMTY2MzkyNTE0NS4yODc1MzIsIDEwOTcxLCAxLjA5MDg0MDkzNTcwNzA5MjNdLCBbMTY2MzkyNTE0NS4zODkyNjk2LCAxMDk4MCwgMC44NTc0MzE3NjkzNzEwMzI3XSwgWzE2NjM5MjUxNDUuNDg1MDgyNiwgMTA5ODksIDEuMDY5OTE0Njk4NjAwNzY5XSwgWzE2NjM5MjUxNDUuNTg2MTgwNCwgMTA5OTgsIDAuOTg0MjA1NDg0MzkwMjU4OF0sIFsxNjYzOTI1MTQ1LjY4NDE3NDUsIDExMDA3LCAxLjI5ODYyOTUyMjMyMzYwODRdLCBbMTY2MzkyNTE0NS44MDIxNjg0LCAxMTAxNiwgMC45ODQ0MTU2NTAzNjc3MzY4XSwgWzE2NjM5MjUxNDYuMDIxMTg3NSwgMTEwMzQsIDEuMDA5NTA1MjcxOTExNjIxXSwgWzE2NjM5MjUxNDYuMzM3NzQxNCwgMTEwNjEsIDAuOTgxMTQ3Mjg5Mjc2MTIzXSwgWzE2NjM5MjUxNDYuNDQzMDYxNiwgMTEwNzAsIDEuMjEwNTQwNzcxNDg0Mzc1XSwgWzE2NjM5MjUxNDYuNzYxNzMwNywgMTEwOTcsIDAuOTcwOTI3Mjk4MDY5MDAwMl0sIFsxNjYzOTI1MTQ2Ljg1NzExMTUsIDExMTA2LCAxLjAwMDc1ODQwOTUwMDEyMl0sIFsxNjYzOTI1MTQ2Ljk2NzMxOTMsIDExMTE1LCAxLjA1MzEyNTI2MjI2MDQzN10sIFsxNjYzOTI1MTQ3LjA3OTIzMjcsIDExMTI0LCAwLjk3MTkzODAxNDAzMDQ1NjVdLCBbMTY2MzkyNTE0Ny40MDY2NDUzLCAxMTE1MSwgMS4xNTI4Mjg4MTI1OTkxODIxXSwgWzE2NjM5MjUxNDcuNjE5NjI5NCwgMTExNjksIDAuOTQ5MDY4NDI3MDg1ODc2NV0sIFsxNjYzOTI1MTQ3LjcyOTA3MTQsIDExMTc4LCAxLjA5MTkzODEzODAwODExNzddLCBbMTY2MzkyNTE0Ny44MzYyODIsIDExMTg3LCAwLjk3NTU5ODI3NTY2MTQ2ODVdLCBbMTY2MzkyNTE0Ny45NjQ3NjMsIDExMTk2LCAxLjQxMDI4MzgwMzkzOTgxOTNdLCBbMTY2MzkyNTE0OC4wNjczNjY4LCAxMTIwNSwgMC45Mzg1ODk5OTAxMzkwMDc2XSwgWzE2NjM5MjUxNDguMTU5MTUwMSwgMTEyMTQsIDEuMTkyMjkzMjg2MzIzNTQ3NF0sIFsxNjYzOTI1MTQ4LjI1NDYxMTMsIDExMjIzLCAxLjAzNzI2OTIzNDY1NzI4NzZdLCBbMTY2MzkyNTE0OC4zOTg1NDg0LCAxMTIzMiwgMC45Nzg4NzA0NTE0NTAzNDc5XSwgWzE2NjM5MjUxNDguNTEyNTgwOSwgMTEyNDEsIDEuMjg0MTU3NTE0NTcyMTQzNl0sIFsxNjYzOTI1MTQ4LjYyNTkzNDYsIDExMjUwLCAxLjEwNzgwNjgwMTc5NTk1OTVdLCBbMTY2MzkyNTE0OC43NDEyNjg5LCAxMTI1OSwgMS4wNTYxNTY3NTQ0OTM3MTM0XSwgWzE2NjM5MjUxNDguODQxMzQ1OCwgMTEyNjgsIDEuMDQ1NjU2NTYxODUxNTAxNV0sIFsxNjYzOTI1MTQ4Ljk0ODQ5MjUsIDExMjc3LCAxLjA4NzY2MjY5NjgzODM3OV0sIFsxNjYzOTI1MTQ5LjA1Mzg1NzMsIDExMjg2LCAxLjE5OTQyMjU5Nzg4NTEzMThdLCBbMTY2MzkyNTE0OS4xNDgwNzQ5LCAxMTI5NSwgMC45NzQ2MDEwMzAzNDk3MzE0XSwgWzE2NjM5MjUxNDkuMzU4MDE5LCAxMTMxMywgMC45NTg1MTMyMDAyODMwNTA1XSwgWzE2NjM5MjUxNDkuNDY0MDE0LCAxMTMyMiwgMC45ODIyMTA3NTUzNDgyMDU2XSwgWzE2NjM5MjUxNDkuNzk0MjU5MywgMTEzNDksIDAuOTYyNDM0NzA5MDcyMTEzXSwgWzE2NjM5MjUxNDkuOTAwNDA0NSwgMTEzNTgsIDAuOTU5MzcyNDAxMjM3NDg3OF0sIFsxNjYzOTI1MTUwLjExMzkzMjEsIDExMzc2LCAxLjE5ODQ3MjYxOTA1NjcwMTddLCBbMTY2MzkyNTE1MC4yNDcwNzIyLCAxMTM4NSwgMS4wMDI1NTMyMjQ1NjM1OTg2XSwgWzE2NjM5MjUxNTAuMzUzOTg4MiwgMTEzOTQsIDEuMDEzNzQ0NzExODc1OTE1NV0sIFsxNjYzOTI1MTUwLjQ2OTEwMDcsIDExNDAzLCAxLjE5NzM2Njk1Mjg5NjExODJdLCBbMTY2MzkyNTE1MC41NjU0MzU2LCAxMTQxMiwgMC45MjU3NzA2OTk5Nzc4NzQ4XSwgWzE2NjM5MjUxNTAuNjc0MjczLCAxMTQyMSwgMS4wNTg5NDcwODYzMzQyMjg1XSwgWzE2NjM5MjUxNTEuMDQ4MTk3LCAxMTQ0OCwgMS4xNDQ0NjYyODA5MzcxOTQ4XSwgWzE2NjM5MjUxNTEuMTUxNzgwOCwgMTE0NTcsIDEuMTQ0MzcxMjcxMTMzNDIyOV0sIFsxNjYzOTI1MTUxLjQ3NzUzNDMsIDExNDg0LCAxLjA5MDUyMjUyNzY5NDcwMjFdLCBbMTY2MzkyNTE1MS41ODM0NzgyLCAxMTQ5MywgMS4wOTUwOTE4MTk3NjMxODM2XSwgWzE2NjM5MjUxNTEuNjg1ODMyLCAxMTUwMiwgMS4wNTkxMDMwMTIwODQ5NjFdLCBbMTY2MzkyNTE1MS43ODQyNDU3LCAxMTUxMSwgMS4wODU2ODA5NjE2MDg4ODY3XSwgWzE2NjM5MjUxNTEuODkwMDM4NywgMTE1MjAsIDAuODc2NDA0OTQxMDgyMDAwN10sIFsxNjYzOTI1MTUxLjk4NTkwMywgMTE1MjksIDEuMjg5NTIzOTU5MTU5ODUxXSwgWzE2NjM5MjUxNTIuMTkzNDg3MiwgMTE1NDcsIDAuOTY5NjQyNTc5NTU1NTExNV0sIFsxNjYzOTI1MTUyLjI5NjYzNSwgMTE1NTYsIDAuOTQ3NTEyMDMwNjAxNTAxNV0sIFsxNjYzOTI1MTUyLjQ4NzA1MTcsIDExNTc0LCAxLjAxNDAwMTcyNzEwNDE4N10sIFsxNjYzOTI1MTUyLjU4ODEwNCwgMTE1ODMsIDEuMDU3NTQxMDEyNzYzOTc3XSwgWzE2NjM5MjUxNTIuNzg3Njk3LCAxMTYwMSwgMS4xNTAzMjEwMDY3NzQ5MDIzXSwgWzE2NjM5MjUxNTMuMTc1NzI4NiwgMTE2MTksIDEuMTI4Mjc4NzMyMjk5ODA0N10sIFsxNjYzOTI1MTUzLjI4MTkyMSwgMTE2MjgsIDEuMzI4NjA0MjIxMzQzOTk0MV0sIFsxNjYzOTI1MTUzLjM4NTA3OTksIDExNjM3LCAxLjAxNTM1MzIwMjgxOTgyNDJdLCBbMTY2MzkyNTE1My40ODc1ODQsIDExNjQ2LCAwLjk1ODU0ODI0NzgxNDE3ODVdLCBbMTY2MzkyNTE1My42NzU1NzkzLCAxMTY2NCwgMS4wNTE5ODI0MDI4MDE1MTM3XSwgWzE2NjM5MjUxNTMuNzY4MTUyNywgMTE2NzMsIDAuODYzODA5MTA4NzM0MTMwOV0sIFsxNjYzOTI1MTUzLjk3NTM1MzIsIDExNjkxLCAwLjkxNjc4Njc4OTg5NDEwNF0sIFsxNjYzOTI1MTU0LjA3NjIzMTcsIDExNzAwLCAwLjk3OTQ3NTE0MDU3MTU5NDJdLCBbMTY2MzkyNTE1NC4xODc4MzY0LCAxMTcwOSwgMS4yMDk5Mjc2NzgxMDgyMTUzXSwgWzE2NjM5MjUxNTQuMjgxNjgsIDExNzE4LCAwLjg2OTU5MjEzMDE4NDE3MzZdLCBbMTY2MzkyNTE1NC4zOTAzNTY4LCAxMTcyNywgMS4yNzAyMTQzMTkyMjkxMjZdLCBbMTY2MzkyNTE1NC41ODIzMjMzLCAxMTc0NSwgMS4xMzcwODEyNjU0NDk1MjRdLCBbMTY2MzkyNTE1NC42ODMwODYsIDExNzU0LCAwLjg3NTk0NDM3NTk5MTgyMTNdLCBbMTY2MzkyNTE1NC43NzMyNzIzLCAxMTc2MywgMC44OTUzMzIyNzY4MjExMzY1XSwgWzE2NjM5MjUxNTQuODY3MzEwNSwgMTE3NzIsIDEuMDY1MDM1NTgxNTg4NzQ1MV0sIFsxNjYzOTI1MTU1LjA3MzA2OTYsIDExNzkwLCAwLjkxMjg4NDcxMjIxOTIzODNdLCBbMTY2MzkyNTE1NS4xNjkwNjU1LCAxMTc5OSwgMC45MTk0OTM0OTY0MTc5OTkzXSwgWzE2NjM5MjUxNTUuMjcyMjY0LCAxMTgwOCwgMS4xODcxNjQwNjgyMjIwNDZdLCBbMTY2MzkyNTE1NS4zNjA3NTk1LCAxMTgxNywgMC45NTUyOTYyNzc5OTk4Nzc5XSwgWzE2NjM5MjUxNTUuNDU1NjQ4NywgMTE4MjYsIDAuOTMzNTU0NDcwNTM5MDkzXSwgWzE2NjM5MjUxNTUuNTUyNTM3NywgMTE4MzUsIDEuMTI2ODE3NzAzMjQ3MDcwM10sIFsxNjYzOTI1MTU1LjY1MjEwNDEsIDExODQ0LCAxLjAwNjI1MjA1MDM5OTc4MDNdLCBbMTY2MzkyNTE1NS45MjU5MzU1LCAxMTg3MSwgMC44NzUzMDcyMDIzMzkxNzI0XSwgWzE2NjM5MjUxNTYuMDI0MDM5NywgMTE4ODAsIDAuOTcxMDk0MTkxMDc0MzcxM10sIFsxNjYzOTI1MTU2LjEzMDI5MywgMTE4ODksIDAuODk0MzQ3MzEwMDY2MjIzMV0sIFsxNjYzOTI1MTU2LjIzMzkxNzIsIDExODk4LCAwLjkzNTcyOTAyNjc5NDQzMzZdLCBbMTY2MzkyNTE1Ni4zMjk0MDI0LCAxMTkwNywgMS4wMzc5MDU1NzM4NDQ5MDk3XSwgWzE2NjM5MjUxNTYuNDI2MjcxNywgMTE5MTYsIDAuOTY3MjU3NTU5Mjk5NDY5XSwgWzE2NjM5MjUxNTYuNTIxODM4NCwgMTE5MjUsIDEuMDE1MjUyNDcwOTcwMTUzOF0sIFsxNjYzOTI1MTU2LjYxMDgwODEsIDExOTM0LCAxLjExNzk5MDM3NDU2NTEyNDVdLCBbMTY2MzkyNTE1Ni43MzczMzE0LCAxMTk0MywgMS4wNDc0Mjg3MjcxNDk5NjM0XSwgWzE2NjM5MjUxNTYuODUwMTI4NywgMTE5NTIsIDAuOTcxNTcwNjExMDAwMDYxXSwgWzE2NjM5MjUxNTYuOTU3MjkxNiwgMTE5NjEsIDAuOTg2MzQ4MzMwOTc0NTc4OV0sIFsxNjYzOTI1MTU3LjA1OTIxMDgsIDExOTcwLCAxLjAyMTk3Nzc4MjI0OTQ1MDddLCBbMTY2MzkyNTE1Ny4xNzUzMTEsIDExOTc5LCAwLjg2MjgxOTE5NDc5MzcwMTJdLCBbMTY2MzkyNTE1Ny41MjE4MDAzLCAxMjAwNiwgMS4wODYyNzkxNTM4MjM4NTI1XSwgWzE2NjM5MjUxNTcuNjIyNzQ4LCAxMjAxNSwgMC45NTQ5MDE1NzYwNDIxNzUzXSwgWzE2NjM5MjUxNTcuNzIwMzgwOCwgMTIwMjQsIDEuNDg2MjIyMzg2MzYwMTY4NV0sIFsxNjYzOTI1MTU4LjAxNzg4NzYsIDEyMDUxLCAwLjk3NDE4MzM4MDYwMzc5MDNdLCBbMTY2MzkyNTE1OC4zMTA2NzA5LCAxMjA3OCwgMS4wNzY2MzAzNTM5Mjc2MTIzXSwgWzE2NjM5MjUxNTguNDExOTk5MiwgMTIwODcsIDEuMDQ3OTgwMDcwMTE0MTM1N10sIFsxNjYzOTI1MTU4LjU5MTMyNjUsIDEyMTA1LCAxLjA1MzA5NzQ4NjQ5NTk3MTddLCBbMTY2MzkyNTE1OC42OTIxNjIzLCAxMjExNCwgMS4wMzQxMjQ5NzA0MzYwOTYyXSwgWzE2NjM5MjUxNTguOTMzNDAzMywgMTIxMzIsIDEuMDU3NDkyNDk0NTgzMTI5OV0sIFsxNjYzOTI1MTU5LjAzODMzMTUsIDEyMTQxLCAxLjM5NTQ0Mjk2MjY0NjQ4NDRdLCBbMTY2MzkyNTE1OS4xNDYxNzUxLCAxMjE1MCwgMS4zODMxNjczODYwNTQ5OTI3XSwgWzE2NjM5MjUxNTkuMzUzMzg2LCAxMjE2OCwgMS4wNTY1NDI1MTU3NTQ2OTk3XSwgWzE2NjM5MjUxNTkuNDU3MDQ0LCAxMjE3NywgMS4wNzgwMjA0NTM0NTMwNjRdLCBbMTY2MzkyNTE1OS41NTczNzYxLCAxMjE4NiwgMS4zNTE3NDM2OTgxMjAxMTcyXSwgWzE2NjM5MjUxNTkuNjcxODQxOSwgMTIxOTUsIDEuMTk1NjI4NzYyMjQ1MTc4Ml0sIFsxNjYzOTI1MTU5Ljc4MDM5MjQsIDEyMjA0LCAxLjEyOTcyODY3NDg4ODYxMDhdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_08-40-24_54c5144e9b50&tag=Loss%2Fvalid":{"data":"W1sxNjYzOTIyNDI0LjUxNDc1MTIsIDM2LCAzMS43NzAyMDY0NTE0MTYwMTZdLCBbMTY2MzkyMjQyNC42MzI5NzAzLCA0NSwgMjIuOTQ0MzY4MzYyNDI2NzU4XSwgWzE2NjM5MjI0MjUuMzUxMTE2LCA5OSwgNS45MTYyNjY0NDEzNDUyMTVdLCBbMTY2MzkyMjQyNS44MzAwNDY3LCAxMzUsIDUuOTE0NDEwNTkxMTI1NDg4XSwgWzE2NjM5MjI0MjUuOTM5MzY3OCwgMTQ0LCA3LjIyODk5NjI3Njg1NTQ2OV0sIFsxNjYzOTIyNDI2LjMyMTc3NiwgMTcxLCA1LjE4NDQ2NzMxNTY3MzgyOF0sIFsxNjYzOTIyNDI2LjQyMzU0OTIsIDE4MCwgNS4xMDM5OTM0MTU4MzI1MTk1XSwgWzE2NjM5MjI0MjYuNTE1OTk0NSwgMTg5LCA0LjY3MTI2MjI2NDI1MTcwOV0sIFsxNjYzOTIyNDI2LjY5NzcyMDUsIDIwNywgNC41OTA2MjY3MTY2MTM3Njk1XSwgWzE2NjM5MjI0MjYuNzgyNzI4LCAyMTYsIDUuMzU3MzkyNzg3OTMzMzVdLCBbMTY2MzkyMjQyNy4wNjM4Mzg1LCAyNDMsIDQuOTU5NjUwNTE2NTEwMDFdLCBbMTY2MzkyMjQyNy4xNTQ3MDM2LCAyNTIsIDQuODQ2MTc3MTAxMTM1MjU0XSwgWzE2NjM5MjI0MjguMjYzOTE0OCwgMzUxLCA0LjE0NTY2OTkzNzEzMzc4OV0sIFsxNjYzOTIyNDI4LjQ2OTkwODcsIDM2OSwgMy4yODk1NDE3MjEzNDM5OTRdLCBbMTY2MzkyMjQyOS4yODMwMjIsIDQzMiwgMy4yMjI1OTUyMTQ4NDM3NV0sIFsxNjYzOTIyNDI5LjM5ODIwNCwgNDQxLCAzLjg2MTg1NDc5MTY0MTIzNTRdLCBbMTY2MzkyMjQyOS41MTU3NjE5LCA0NTAsIDMuMzc5OTUyNDMwNzI1MDk3N10sIFsxNjYzOTIyNDI5Ljc1NzYwOSwgNDY4LCAzLjYxMzIwMzI4NzEyNDYzNF0sIFsxNjYzOTIyNDMwLjA4MDExMzYsIDQ5NSwgMi45OTM2Mjg5Nzg3MjkyNDhdLCBbMTY2MzkyMjQzMC40MjAzMzcsIDUyMiwgMi44NTcxOTg3MTUyMDk5NjFdLCBbMTY2MzkyMjQzMC43NTE5MTQ1LCA1NDksIDMuMjc0MTU2NTcwNDM0NTcwM10sIFsxNjYzOTIyNDMwLjg1NjI3MTUsIDU1OCwgMy4zNjI3NTUwNjAxOTU5MjNdLCBbMTY2MzkyMjQzMC45NjMwMjA2LCA1NjcsIDMuMjUyNTkzOTk0MTQwNjI1XSwgWzE2NjM5MjI0MzEuMDc3NjU0NiwgNTc2LCAzLjU4MDY5NDY3NTQ0NTU1NjZdLCBbMTY2MzkyMjQzMS4yOTM1MTQ1LCA1OTQsIDMuNDc1ODAyMTgzMTUxMjQ1XSwgWzE2NjM5MjI0MzEuNDEzMzAzMSwgNjAzLCAyLjU4ODc2MzcxMzgzNjY3XSwgWzE2NjM5MjI0MzEuNTI3MTk3NiwgNjEyLCAzLjE1MTEyMjA5MzIwMDY4MzZdLCBbMTY2MzkyMjQzMS42MTQxNTg0LCA2MjEsIDQuMDkzMTg1NDI0ODA0Njg3NV0sIFsxNjYzOTIyNDMxLjgxNjM5OSwgNjM5LCAzLjA1NTE1MjY1NDY0NzgyN10sIFsxNjYzOTIyNDMxLjkyMTk2OSwgNjQ4LCAyLjkxMjY5OTkzNzgyMDQzNDZdLCBbMTY2MzkyMjQzMi43MTM1NjIsIDcwMiwgMy4xNzcxMTc4MjQ1NTQ0NDM0XSwgWzE2NjM5MjI0MzIuOTQxOTgyLCA3MjAsIDIuNjk0MjUwMzQ1MjMwMTAyNV0sIFsxNjYzOTIyNDMzLjI4MTQwNjksIDc0NywgMi43MjA2NTMyOTU1MTY5Njc4XSwgWzE2NjM5MjI0MzMuNTk1MjY5NCwgNzc0LCAyLjg2Njc5ODYzOTI5NzQ4NTRdLCBbMTY2MzkyMjQzNC4wMTU4ODE4LCA4MTAsIDIuMTY0NDg3ODM4NzQ1MTE3XSwgWzE2NjM5MjI0MzQuOTg4NTQ2LCA5MDAsIDIuNjc4Mjc3NDkyNTIzMTkzNF0sIFsxNjYzOTIyNDM1LjQxODI0NSwgOTM2LCAyLjA1NTkwNTgxODkzOTIwOV0sIFsxNjYzOTIyNDM1Ljc3MzYzNjgsIDk2MywgMi4yOTU4NTk4MTM2OTAxODU1XSwgWzE2NjM5MjI0MzUuOTM5NTg5MywgOTcyLCAxLjk1NTY2NDg3MzEyMzE2OV0sIFsxNjYzOTIyNDM2LjIyNDk4ODcsIDk5MCwgMi4xMTE0NzU3MDYxMDA0NjRdLCBbMTY2MzkyMjQzNy41NjY2NjAyLCAxMDUzLCAyLjIxNzE4MDk2NzMzMDkzMjZdLCBbMTY2MzkyMjQzOC42Njc0MTE4LCAxMDk4LCAyLjI5OTA2NTgyODMyMzM2NDNdLCBbMTY2MzkyMjQzOS40OTQzMTMyLCAxMTM0LCAyLjAxNTEyMjY1MjA1MzgzM10sIFsxNjYzOTIyNDM5LjY5MzI2MSwgMTE0MywgMi4yOTYwMDYyMDI2OTc3NTRdLCBbMTY2MzkyMjQ0MC4xMDAwNjgsIDExNjEsIDIuMzU2MjY2OTc1NDAyODMyXSwgWzE2NjM5MjI0NDAuNTEwMzIzMywgMTE3OSwgMS45OTkyMjIyNzg1OTQ5NzA3XSwgWzE2NjM5MjI0NDAuNzIxNjA0MywgMTE4OCwgMi4yMDQzMDgwMzI5ODk1MDJdLCBbMTY2MzkyMjQ0MS43NDIyMTQsIDEyMzMsIDIuMTQyMTg3NTk1MzY3NDMxNl0sIFsxNjYzOTIyNDQxLjg0ODM2OTgsIDEyNDIsIDIuMDc1NTg3MDM0MjI1NDY0XSwgWzE2NjM5MjI0NDIuNTEyMjIyMywgMTMwNSwgMi4wNTQ5NDQwMzgzOTExMTMzXSwgWzE2NjM5MjI0NDIuNjk4OTQxNSwgMTMyMywgMS42NzI1NDIyMTQzOTM2MTU3XSwgWzE2NjM5MjI0NDIuNzkzMTQ5NywgMTMzMiwgMS43Njg2ODYxNzUzNDYzNzQ1XSwgWzE2NjM5MjI0NDMuMDk5MjEzNCwgMTM1OSwgMi4yMTAxNDAyMjgyNzE0ODQ0XSwgWzE2NjM5MjI0NDMuNzg2MzIzMywgMTQyMiwgMS45MzA3Njc2NTUzNzI2MTk2XSwgWzE2NjM5MjI0NDQuMDg2ODYzOCwgMTQ0OSwgMS41OTEwODAwNjk1NDE5MzEyXSwgWzE2NjM5MjI0NDQuNDc3MDE3OSwgMTQ2NywgMS42NDQ4MDY3NDI2NjgxNTE5XSwgWzE2NjM5MjI0NDQuNjYwODIxMiwgMTQ4NSwgMS41NTExMDYwOTUzMTQwMjU5XSwgWzE2NjM5MjI0NDUuMjY5NDA0MiwgMTUzOSwgMS43MTE3ODI0NTU0NDQzMzZdLCBbMTY2MzkyMjQ0NS4zNzU0MjY4LCAxNTQ4LCAxLjc3MTMxODE5NzI1MDM2NjJdLCBbMTY2MzkyMjQ0NS40NzI4OTMsIDE1NTcsIDIuMDY1MTY4NjE5MTU1ODg0XSwgWzE2NjM5MjI0NDUuNzc4MDk0LCAxNTg0LCAxLjc5NTA4NzY5NTEyMTc2NTFdLCBbMTY2MzkyMjQ0NS45NzcyMDYsIDE2MDIsIDEuODk0ODI0MDI4MDE1MTM2N10sIFsxNjYzOTIyNDQ2LjM2OTU0NjQsIDE2MzgsIDEuODc2MTA0NTkzMjc2OTc3NV0sIFsxNjYzOTIyNDQ2LjcyOTAwMTMsIDE2NjUsIDEuNTQ0MDUzNzkyOTUzNDkxMl0sIFsxNjYzOTIyNDQ2Ljg0NjYwNTUsIDE2NzQsIDEuNTkzNDA1MDA4MzE2MDRdLCBbMTY2MzkyMjQ0Ni45NDQ4NjA1LCAxNjgzLCAxLjk2Njg0MzAwODk5NTA1NjJdLCBbMTY2MzkyMjQ0Ny4zNzI5MDk4LCAxNzE5LCAxLjk4ODExMzk5OTM2Njc2MDNdLCBbMTY2MzkyMjQ0Ny40NjkwODU1LCAxNzI4LCAyLjQ2NjY2MTkzMDA4NDIyODVdLCBbMTY2MzkyMjQ0Ny41NjU3MzIsIDE3MzcsIDEuODQ2MjM3NTQwMjQ1MDU2Ml0sIFsxNjYzOTIyNDQ4LjI3NDY0MzQsIDE4MDAsIDEuNTk2OTgzMDc1MTQxOTA2N10sIFsxNjYzOTIyNDQ4LjU2NjgxNDIsIDE4MjcsIDEuNTg1NTQyMzIxMjA1MTM5Ml0sIFsxNjYzOTIyNDQ4LjY1ODQxMTcsIDE4MzYsIDEuOTI2MDQ5OTQ3NzM4NjQ3NV0sIFsxNjYzOTIyNDQ4Ljc2MjAyMzQsIDE4NDUsIDEuNzkwNzc3NjgzMjU4MDU2Nl0sIFsxNjYzOTIyNDQ4Ljg2ODYyNDQsIDE4NTQsIDEuNjUyNzcyMzA3Mzk1OTM1XSwgWzE2NjM5MjI0NDkuMDY0MzA2NywgMTg3MiwgMS41MjU0MzUyMDkyNzQyOTJdLCBbMTY2MzkyMjQ0OS40NzcyNjYsIDE5MDgsIDEuODU3MDY5ODQ5OTY3OTU2NV0sIFsxNjYzOTIyNDQ5LjY2MDIzMywgMTkyNiwgMS42NDA5OTg4NDAzMzIwMzEyXSwgWzE2NjM5MjI0NDkuODYzMTQyNSwgMTk0NCwgMS42Njk0OTA2OTQ5OTk2OTQ4XSwgWzE2NjM5MjI0NTAuMjM3Mjc4LCAxOTgwLCAxLjQxMDg3MDA3NTIyNTgzXSwgWzE2NjM5MjI0NTAuMzQwOTM4MywgMTk4OSwgMS43NDk5Njg3NjcxNjYxMzc3XSwgWzE2NjM5MjI0NTAuNDMyNjg1NiwgMTk5OCwgMS45OTc4NTU2NjMyOTk1NjA1XSwgWzE2NjM5MjI0NTAuNjk4MDQ3NiwgMjAyNSwgMS43NzI3MjU4MjA1NDEzODE4XSwgWzE2NjM5MjI0NTEuMTg0Njg0LCAyMDcwLCAxLjk2NTQyMzk0MTYxMjI0MzddLCBbMTY2MzkyMjQ1Mi4xNjQ3NDEsIDIxNjAsIDEuNjMyMjk0Mjk3MjE4MzIyOF0sIFsxNjYzOTIyNDUyLjM2OTM4NywgMjE3OCwgMS43Nzk3OTY3MTk1NTEwODY0XSwgWzE2NjM5MjI0NTIuNjYxMDg1MSwgMjIwNSwgMS44Mjg1MzIzMzgxNDIzOTVdLCBbMTY2MzkyMjQ1Mi43NjY5ODMzLCAyMjE0LCAxLjU1NjgxODQ4NTI2MDAwOThdLCBbMTY2MzkyMjQ1My4wNTUwOTUsIDIyMjMsIDEuNDg4ODAxMDAyNTAyNDQxNF0sIFsxNjYzOTIyNDUzLjc5MzIxOTgsIDIyOTUsIDEuNTM4NTI4ODAwMDEwNjgxMl0sIFsxNjYzOTIyNDU0LjE1NjMwMzIsIDIzMzEsIDEuOTM4ODM0MTkwMzY4NjUyM10sIFsxNjYzOTIyNDU0LjI0NTk0OCwgMjM0MCwgMi4wNDYyMTk4MjU3NDQ2MjldLCBbMTY2MzkyMjQ1NC4zNDQyMjMsIDIzNDksIDEuNDY0OTYzNjc0NTQ1Mjg4XSwgWzE2NjM5MjI0NTQuNTM5NzI2MywgMjM2NywgMS43NjIxNTYzNjczMDE5NDFdLCBbMTY2MzkyMjQ1NS4zOTY2NDksIDI0NDgsIDEuNjc0ODAxMjMwNDMwNjAzXSwgWzE2NjM5MjI0NTUuNzkxMzU4NSwgMjQ3NSwgMS40MTE4NzUwMDk1MzY3NDMyXSwgWzE2NjM5MjI0NTYuMDE5MzE1NywgMjQ5MywgMS40OTA5NDgwODEwMTY1NDA1XSwgWzE2NjM5MjI0NTYuMjI5OTIxMywgMjUxMSwgMS4zODg3OTQ0MjIxNDk2NTgyXSwgWzE2NjM5MjI0NTYuNDU3MjY2NiwgMjUyOSwgMS40OTg4ODMzNjY1ODQ3Nzc4XSwgWzE2NjM5MjI0NTYuNjQzNjIyNiwgMjU0NywgMS42NjcwMTg2NTE5NjIyODAzXSwgWzE2NjM5MjI0NTYuNzYzNzA3LCAyNTU2LCAxLjYwNzY2NTY1Nzk5NzEzMTNdLCBbMTY2MzkyMjQ1Ni45OTg3MTI4LCAyNTc0LCAxLjY1MDAwNjA1NTgzMTkwOTJdLCBbMTY2MzkyMjQ1Ny4yNzY0ODIzLCAyNjAxLCAxLjYyNTY0NDgwMzA0NzE4MDJdLCBbMTY2MzkyMjQ1Ny40NjE5MzE3LCAyNjE5LCAxLjQ4MDI1MjI2NTkzMDE3NThdLCBbMTY2MzkyMjQ1Ny45NTY0NjUsIDI2NjQsIDEuNzk3MzcyNDYwMzY1Mjk1NF0sIFsxNjYzOTIyNDU4LjA3NDMwMjQsIDI2NzMsIDEuNzg0NjYyMjQ2NzA0MTAxNl0sIFsxNjYzOTIyNDU4LjE3NjQ2NzcsIDI2ODIsIDEuNTE3MTI0NzcyMDcxODM4NF0sIFsxNjYzOTIyNDU4LjI3ODAyNCwgMjY5MSwgMS43MDAyNjM5NzcwNTA3ODEyXSwgWzE2NjM5MjI0NTkuMTA4MTQyOSwgMjc2MywgMS4zODc1NjUzNzQzNzQzODk2XSwgWzE2NjM5MjI0NTkuMjg2MDk1LCAyNzgxLCAxLjM2MzMwNTMzMDI3NjQ4OTNdLCBbMTY2MzkyMjQ1OS43MjkyMTc1LCAyODE3LCAxLjY2MTI5NDQ2MDI5NjYzMDldLCBbMTY2MzkyMjQ2MC4xNTc0ODc0LCAyODUzLCAxLjg4NjIyOTM5NTg2NjM5NF0sIFsxNjYzOTIyNDYwLjM1NzEzMzYsIDI4NzEsIDEuNjQ0Njk1NDAxMTkxNzExNF0sIFsxNjYzOTIyNDYwLjQ2MDgzODYsIDI4ODAsIDEuNTIwNjA2Mzk4NTgyNDU4NV0sIFsxNjYzOTIyNDYwLjc5NDkxNjIsIDI5MDcsIDEuNDAwNzgyNTg1MTQ0MDQzXSwgWzE2NjM5MjI0NjIuNjM4MTM5MiwgMzA0MiwgMS40MTAwNjYzNjYxOTU2Nzg3XSwgWzE2NjM5MjI0NjIuNzMzODExLCAzMDUxLCAxLjQxMzQ2OTkxMDYyMTY0M10sIFsxNjYzOTIyNDYzLjI5ODYwOTUsIDMwOTYsIDEuNjA1MjAxNjAxOTgyMTE2N10sIFsxNjYzOTIyNDYzLjUwNDk4NzUsIDMxMTQsIDEuNDQxNTkwNzg1OTgwMjI0Nl0sIFsxNjYzOTIyNDYzLjU5ODM0LCAzMTIzLCAxLjQ4NDg2MDA2MjU5OTE4MjFdLCBbMTY2MzkyMjQ2NC4wMjIxMTE0LCAzMTU5LCAxLjUzMTQxMTA1MTc1MDE4M10sIFsxNjYzOTIyNDY0LjI2NTA1MTgsIDMxNzcsIDEuNTAwNjYzODc2NTMzNTA4M10sIFsxNjYzOTIyNDY0LjQ5MjcwMDMsIDMxOTUsIDEuNTk1OTc2ODI5NTI4ODA4Nl0sIFsxNjYzOTIyNDY0LjkwMjMxNzgsIDMyMzEsIDEuNTE2Mzg2ODY2NTY5NTE5XSwgWzE2NjM5MjI0NjUuMzAxNjA0MywgMzI2NywgMS40MjE2NTMzODk5MzA3MjVdLCBbMTY2MzkyMjQ2NS40MTE4NjY3LCAzMjc2LCAxLjM1ODU2NjQwMzM4ODk3N10sIFsxNjYzOTIyNDY1LjQ5NjY5NywgMzI4NSwgMS40MDQ4NDQxNjQ4NDgzMjc2XSwgWzE2NjM5MjI0NjUuNTg4NjU4NiwgMzI5NCwgMS41NzM4MDQwMjA4ODE2NTI4XSwgWzE2NjM5MjI0NjUuNjgyMzc2OSwgMzMwMywgMS42ODI5NjMwMTM2NDg5ODY4XSwgWzE2NjM5MjI0NjUuNzg0MTg0MiwgMzMxMiwgMS4zNjcwNDE0Njg2MjAzMDAzXSwgWzE2NjM5MjI0NjYuODM2NDk3MywgMzQwMiwgMS42NzM1ODcyMDMwMjU4MTc5XSwgWzE2NjM5MjI0NjYuOTMxNzUzLCAzNDExLCAxLjU0NDg4OTkyNjkxMDQwMDRdLCBbMTY2MzkyMjQ2Ny43Mzc3MzQsIDM0ODMsIDEuNDg5MDUzMzY4NTY4NDIwNF0sIFsxNjYzOTIyNDY4LjE0ODU1MjcsIDM1MTksIDEuNDI3OTcwNjQ3ODExODg5Nl0sIFsxNjYzOTIyNDY4LjM1NTc4MDYsIDM1MzcsIDEuMzcyOTY0MjYyOTYyMzQxM10sIFsxNjYzOTIyNDY4LjU0NjUyOTMsIDM1NTUsIDEuNDQ0NTIxOTAzOTkxNjk5Ml0sIFsxNjYzOTIyNDY4Ljg5MTI4MTgsIDM1ODIsIDEuMjY2ODM3OTU0NTIxMTc5Ml0sIFsxNjYzOTIyNDY5LjQzNjcwNCwgMzYyNywgMS42MTE1NTk2Mjk0NDAzMDc2XSwgWzE2NjM5MjI0NjkuNjMxNDA0NCwgMzY0NSwgMS4yMzQ3MjAzNDkzMTE4Mjg2XSwgWzE2NjM5MjI0NzAuMTYzNDc1MywgMzY5MCwgMS4yNzMxNjkyNzkwOTg1MTA3XSwgWzE2NjM5MjI0NzAuNjM3MzcxMywgMzcyNiwgMS4xOTU5NTE4MTk0MTk4NjA4XSwgWzE2NjM5MjI0NzAuNzYxNTE1NiwgMzczNSwgMS4zMDA0MjY4NDA3ODIxNjU1XSwgWzE2NjM5MjI0NzAuODc2OTQxNywgMzc0NCwgMS41NjQ1NjYyNTQ2MTU3ODM3XSwgWzE2NjM5MjI0NzEuMTk4Mjg2NSwgMzc3MSwgMS4zNTA0MTMwODQwMzAxNTE0XSwgWzE2NjM5MjI0NzEuNjc5NzMxMSwgMzc5OCwgMS43MDY0MzA5MTIwMTc4MjIzXSwgWzE2NjM5MjI0NzEuNzgxMDEzMywgMzgwNywgMS42NTE0NTE4MjYwOTU1ODFdLCBbMTY2MzkyMjQ3Mi4zMDY4MTcsIDM4MzQsIDEuMzgyMjg1ODMzMzU4NzY0Nl0sIFsxNjYzOTIyNDcyLjU5OTcxNiwgMzg0MywgMS4zMDMzNzIzODMxMTc2NzU4XSwgWzE2NjM5MjI0NzMuMTQzNTkzLCAzODc5LCAxLjM4NzI0OTU4ODk2NjM2OTZdLCBbMTY2MzkyMjQ3NC4zMDQxMDIsIDM5MjQsIDEuMzI0NjI5MDY4Mzc0NjMzOF0sIFsxNjYzOTIyNDc0LjQxOTI1MTcsIDM5MzMsIDEuNDMyNDEyNTA1MTQ5ODQxM10sIFsxNjYzOTIyNDc0LjUxMDU5NTMsIDM5NDIsIDEuNTYxNTMyNDk3NDA2MDA1OV0sIFsxNjYzOTIyNDc1LjA2MjYyNDUsIDM5NjAsIDEuMzYwMjQzMDgyMDQ2NTA4OF0sIFsxNjYzOTIyNDc1LjQzODg1NSwgMzk3OCwgMS41NTM4Mjc1MjQxODUxODA3XSwgWzE2NjM5MjI0NzUuNjMwNjk5LCAzOTk2LCAxLjQ4MTExMjEyMjUzNTcwNTZdLCBbMTY2MzkyMjQ3NS43MTc1ODAzLCA0MDA1LCAxLjI4MDM4MjE1NjM3MjA3MDNdLCBbMTY2MzkyMjQ3NS45MDMyMDgzLCA0MDIzLCAxLjUzNjY2NDI0NzUxMjgxNzRdLCBbMTY2MzkyMjQ3Ni4yODczMzgsIDQwNTksIDEuMTc1OTgyOTUyMTE3OTJdLCBbMTY2MzkyMjQ3Ni40ODc1MjIxLCA0MDc3LCAxLjI0MDk1MzgwMzA2MjQzOV0sIFsxNjYzOTIyNDc2LjU4MzMyNDIsIDQwODYsIDEuMzcyMDMxMzMxMDYyMzE3XSwgWzE2NjM5MjI0NzYuODg4NDA4NywgNDExMywgMS4xNTUyMzQwOTg0MzQ0NDgyXSwgWzE2NjM5MjI0NzcuMjc3NjUxOCwgNDE0OSwgMS4yMDc4NzQ2NTU3MjM1NzE4XSwgWzE2NjM5MjI0NzcuMzY4NDkyOCwgNDE1OCwgMS4zNTcwMjI0MDQ2NzA3MTUzXSwgWzE2NjM5MjI0NzcuNzcxNTczLCA0MTk0LCAxLjQ3Nzc2NTIwMjUyMjI3NzhdLCBbMTY2MzkyMjQ3Ny44NzAyODIyLCA0MjAzLCAxLjQyNDg1NDg3NDYxMDkwMDldLCBbMTY2MzkyMjQ3OC4wNDA5OTg1LCA0MjIxLCAxLjMzMDg5NDM1MTAwNTU1NDJdLCBbMTY2MzkyMjQ3OC4yMzU1MzgsIDQyMzksIDEuNTEwOTY0NTEyODI1MDEyMl0sIFsxNjYzOTIyNDc4LjYwNDYyOCwgNDI3NSwgMS40NTA2NTIwMDMyODgyNjldLCBbMTY2MzkyMjQ3OC42OTI1MjE2LCA0Mjg0LCAxLjI3Njk3MDM4NjUwNTEyN10sIFsxNjYzOTIyNDc4Ljk3MjM2MzIsIDQzMTEsIDEuNTY1Nzc5NTY2NzY0ODMxNV0sIFsxNjYzOTIyNDc5LjE4NTY1NywgNDMyOSwgMS4xMjY5OTIxMDY0Mzc2ODNdLCBbMTY2MzkyMjQ3OS4yOTMzMDA2LCA0MzM4LCAxLjE3MDA5MTg2NzQ0Njg5OTRdLCBbMTY2MzkyMjQ3OS40OTIxNjIyLCA0MzU2LCAxLjE3MjYwMzQ4Nzk2ODQ0NDhdLCBbMTY2MzkyMjQ3OS41ODg0NjE2LCA0MzY1LCAxLjI5MDgwMzA3NDgzNjczMV0sIFsxNjYzOTIyNDc5Ljg4MzA2OTUsIDQzOTIsIDEuMzE5MzY0NTQ3NzI5NDkyMl0sIFsxNjYzOTIyNDc5Ljk4ODIyNTcsIDQ0MDEsIDEuMjY3MzcxNTM1MzAxMjA4NV0sIFsxNjYzOTIyNDgwLjA5NTA5MywgNDQxMCwgMS4wNTI4MTc4MjE1MDI2ODU1XSwgWzE2NjM5MjI0ODAuMzA1NzIxOCwgNDQyOCwgMS40NDgwMTU4MDkwNTkxNDNdLCBbMTY2MzkyMjQ4MC42MTQxOTYsIDQ0NTUsIDEuMjc1MTU1NzgyNjk5NTg1XSwgWzE2NjM5MjI0ODEuMDA1MDY1NywgNDQ5MSwgMS4yODU2Nzg5ODI3MzQ2ODAyXSwgWzE2NjM5MjI0ODEuMzc0OTcwNywgNDUyNywgMS4yNjgzOTgxNjU3MDI4MTk4XSwgWzE2NjM5MjI0ODEuNDcwMjc5NywgNDUzNiwgMS4zMjU3Mjg4OTMyODAwMjkzXSwgWzE2NjM5MjI0ODIuMjQ1NDIwNywgNDU5MCwgMS4yOTE2MDY1NDU0NDgzMDMyXSwgWzE2NjM5MjI0ODIuMzM1OTYyLCA0NTk5LCAxLjI2NjA2NjkwODgzNjM2NDddLCBbMTY2MzkyMjQ4Mi40NTAxODYsIDQ2MDgsIDEuMjQ4MDI3ODAxNTEzNjcxOV0sIFsxNjYzOTIyNDgyLjU1NDQ2MiwgNDYxNywgMS41MDg0ODQ0ODI3NjUxOTc4XSwgWzE2NjM5MjI0ODIuNjQxNzg1NiwgNDYyNiwgMS40MzY1OTM0MTMzNTI5NjYzXSwgWzE2NjM5MjI0ODIuNzQyMTQ2NywgNDYzNSwgMS4yNjYyODg1MTg5MDU2Mzk2XSwgWzE2NjM5MjI0ODMuMDU2MjA3MiwgNDY2MiwgMS40NjIwOTgzNjAwNjE2NDU1XSwgWzE2NjM5MjI0ODMuMTc3MjIzNCwgNDY3MSwgMS4yNzA4MzkwOTUxMTU2NjE2XSwgWzE2NjM5MjI0ODMuMjY1NTg0NSwgNDY4MCwgMS4xNDUyODIxNDkzMTQ4ODA0XSwgWzE2NjM5MjI0ODMuNjQ1OTI1LCA0NzE2LCAxLjMwMDUzNDEyOTE0Mjc2MTJdLCBbMTY2MzkyMjQ4NC42Nzk2MDUyLCA0ODA2LCAxLjIwMDA5NDgxOTA2ODkwODddLCBbMTY2MzkyMjQ4NC43NzIyODkzLCA0ODE1LCAxLjIxNzQ4NDgzMTgwOTk5NzZdLCBbMTY2MzkyMjQ4NC45NTg5NTUsIDQ4MzMsIDEuNzYyNTc5MzIxODYxMjY3XSwgWzE2NjM5MjI0ODUuMDYyNTMsIDQ4NDIsIDEuMzc4MzIzNTU0OTkyNjc1OF0sIFsxNjYzOTIyNDg1LjE3MTkzNDYsIDQ4NTEsIDEuMjcwMjY0ODYzOTY3ODk1NV0sIFsxNjYzOTIyNDg1LjM1ODM3MzksIDQ4NjksIDEuNDQzNjEyOTMzMTU4ODc0NV0sIFsxNjYzOTIyNDg1LjU0OTk1MSwgNDg4NywgMS4yNzA0MjQ3MjM2MjUxODNdLCBbMTY2MzkyMjQ4NS43MzEzMTc1LCA0OTA1LCAxLjExOTM1NTU1OTM0OTA2XSwgWzE2NjM5MjI0ODUuOTA5NTAyNywgNDkyMywgMS40MDMxMzE5NjE4MjI1MDk4XSwgWzE2NjM5MjI0ODYuMDAwMDQ1OCwgNDkzMiwgMS4xOTk5ODkzMTg4NDc2NTYyXSwgWzE2NjM5MjI0ODYuMjkxOTE1NCwgNDk1OSwgMS4yNDg0NTA4NzUyODIyODc2XSwgWzE2NjM5MjI0ODYuNTQzNjQyNSwgNDk3NywgMS4wNzg5Mjg0NzA2MTE1NzIzXSwgWzE2NjM5MjI0ODYuOTE0MTkyLCA1MDA0LCAxLjI0MDUyMzA5OTg5OTI5Ml0sIFsxNjYzOTIyNDg3LjAxMDI5MSwgNTAxMywgMS4yMzc1ODA0MTg1ODY3MzFdLCBbMTY2MzkyMjQ4Ny42MTIxMDczLCA1MDY3LCAxLjI5MTEwMDYyMTIyMzQ0OTddLCBbMTY2MzkyMjQ4Ny42OTkwNjQ3LCA1MDc2LCAxLjI0NDgzMzQ2OTM5MDg2OTFdLCBbMTY2MzkyMjQ4Ny43OTY0NjczLCA1MDg1LCAxLjI4MDg5NzYxNzM0MDA4OF0sIFsxNjYzOTIyNDg4LjE4OTk5MiwgNTEyMSwgMS4wNjEwMzU4NzE1MDU3MzczXSwgWzE2NjM5MjI0ODguNDg2MjIxNiwgNTE0OCwgMS4zNjg3MDMyNDYxMTY2MzgyXSwgWzE2NjM5MjI0ODguNjYzMTYwOCwgNTE2NiwgMS4yNDM2OTgyMzkzMjY0NzddLCBbMTY2MzkyMjQ4OC45NTExNDksIDUxOTMsIDEuMTI4NzI2MDA1NTU0MTk5Ml0sIFsxNjYzOTIyNDg5LjMyNTQ2OCwgNTIyOSwgMS42MTA0NTU2MzIyMDk3Nzc4XSwgWzE2NjM5MjI0ODkuNjk1MjExLCA1MjY1LCAxLjA2NzM2NjI0MjQwODc1MjRdLCBbMTY2MzkyMjQ4OS43OTA3NjYsIDUyNzQsIDEuMzA4ODM5Nzk3OTczNjMyOF0sIFsxNjYzOTIyNDkwLjE3MjUyOTIsIDUzMDEsIDEuMzk4MjkxMTEwOTkyNDMxNl0sIFsxNjYzOTIyNDkwLjM5MjY2NSwgNTMxOSwgMS4zNjE1MTAwMzgzNzU4NTQ1XSwgWzE2NjM5MjI0OTAuNzI1NTYxMSwgNTMyOCwgMS4xOTYwMTU5NTQwMTc2MzkyXSwgWzE2NjM5MjI0OTEuMDI1MTUzLCA1MzU1LCAxLjc1Njc2MTkwODUzMTE4OV0sIFsxNjYzOTIyNDkxLjIxMTA1MzgsIDUzNzMsIDEuMTY4NTg3NDQ2MjEyNzY4Nl0sIFsxNjYzOTIyNDkxLjM5MTczOTgsIDUzOTEsIDEuMDQ1OTAxNTM2OTQxNTI4M10sIFsxNjYzOTIyNDkxLjQ4NDkyOCwgNTQwMCwgMS4wNDQ5NDIyNTk3ODg1MTMyXSwgWzE2NjM5MjI0OTEuODAyMzEzMywgNTQyNywgMS4xODUxMTIzNTcxMzk1ODc0XSwgWzE2NjM5MjI0OTEuOTA1NDM4MiwgNTQzNiwgMS4yNjc1NjU0ODg4MTUzMDc2XSwgWzE2NjM5MjI0OTIuNDQ2MzUxLCA1NDgxLCAxLjU4MDE0NjQzMTkyMjkxMjZdLCBbMTY2MzkyMjQ5Mi45NDQ2MDA2LCA1NTI2LCAxLjI3MDc3NDI0NTI2MjE0Nl0sIFsxNjYzOTIyNDkzLjAzMTM4NzMsIDU1MzUsIDEuMDU0OTU1MTI0ODU1MDQxNV0sIFsxNjYzOTIyNDkzLjIzNjMzMiwgNTU1MywgMS4zMTA1MDE2OTQ2NzkyNjAzXSwgWzE2NjM5MjI0OTMuNjQ4NDI4LCA1NTg5LCAxLjEwMzc3Nzg4NTQzNzAxMTddLCBbMTY2MzkyMjQ5My44MzU4OTU4LCA1NjA3LCAxLjIwODQxMDAyNDY0Mjk0NDNdLCBbMTY2MzkyMjQ5My45MjA1NTkyLCA1NjE2LCAxLjI2NTU2MTQ2MTQ0ODY2OTRdLCBbMTY2MzkyMjQ5NC4yMTI3MDcsIDU2NDMsIDEuMzE0ODEzMDE3ODQ1MTUzOF0sIFsxNjYzOTIyNDk0LjM5OTU2NzYsIDU2NjEsIDEuMzE4MzAyOTg5MDA2MDQyNV0sIFsxNjYzOTIyNDk0LjUyNzQ5MTMsIDU2NzAsIDEuMTY1NDU3MzY3ODk3MDMzN10sIFsxNjYzOTIyNDk0Ljk0NDE0LCA1NzA2LCAxLjU5ODM4OTI2NzkyMTQ0NzhdLCBbMTY2MzkyMjQ5NS4zMTM0MDEsIDU3NDIsIDEuMTc2ODcxNjU3MzcxNTIxXSwgWzE2NjM5MjI0OTUuNTg4OTA0NiwgNTc2OSwgMS4zNjM4MzAyMDg3NzgzODEzXSwgWzE2NjM5MjI0OTUuNjc5Njc2OCwgNTc3OCwgMS40Nzg5NTgyNDkwOTIxMDJdLCBbMTY2MzkyMjQ5NS43NjkzMDUyLCA1Nzg3LCAxLjMxMjM2NjAwODc1ODU0NV0sIFsxNjYzOTIyNDk1Ljg3MzY2NDYsIDU3OTYsIDEuMTk0MDE2NDU2NjA0MDA0XSwgWzE2NjM5MjI0OTUuOTY2MTk2NSwgNTgwNSwgMS4zNjYwMDYzNzQzNTkxMzA5XSwgWzE2NjM5MjI0OTYuNDMzNDA2LCA1ODUwLCAxLjI0NjMxOTUzMjM5NDQwOTJdLCBbMTY2MzkyMjQ5Ni42MTc0MDE2LCA1ODY4LCAxLjMzMzM2MDkxMDQxNTY0OTRdLCBbMTY2MzkyMjQ5Ni43MDI3NjYyLCA1ODc3LCAxLjE5MTA0Njk1MzIwMTI5NF0sIFsxNjYzOTIyNDk2Ljg5NTg3MDIsIDU4OTUsIDEuMDI0NDQ5MjI5MjQwNDE3NV0sIFsxNjYzOTIyNDk2Ljk4NzYyMzIsIDU5MDQsIDEuMzMwMjM4NDYxNDk0NDQ1OF0sIFsxNjYzOTIyNDk3LjI3OTMwOSwgNTkzMSwgMS4yNzQ5MDczNTA1NDAxNjExXSwgWzE2NjM5MjI0OTcuNDk0Mzk3OSwgNTk0OSwgMS4zMjk2NjMxNTc0NjMwNzM3XSwgWzE2NjM5MjI0OTguMTkzNDQ2NiwgNjAxMiwgMS4xMTQ4NDk1Njc0MTMzM10sIFsxNjYzOTIyNDk4LjQ2MDIwODIsIDYwMzksIDEuMTEzODM1MzM0Nzc3ODMyXSwgWzE2NjM5MjI0OTkuMTUzMjcwMiwgNjA4NCwgMS4xODQxMzY4Njc1MjMxOTM0XSwgWzE2NjM5MjI0OTkuMjQxMjE0OCwgNjA5MywgMS4wNTYxMzE3MjA1NDI5MDc3XSwgWzE2NjM5MjI0OTkuNjExNjI5LCA2MTI5LCAxLjM0ODMzNTUwNDUzMTg2MDRdLCBbMTY2MzkyMjQ5OS43ODc1Mzg4LCA2MTQ3LCAxLjM0MDUxOTY2NjY3MTc1M10sIFsxNjYzOTIyNDk5Ljg4NTc4ODcsIDYxNTYsIDEuMjU5ODI0MDM3NTUxODc5OV0sIFsxNjYzOTIyNDk5Ljk3ODA4NjUsIDYxNjUsIDEuMTI3NDkwNjM5Njg2NTg0NV0sIFsxNjYzOTIyNTAwLjI3MzE2MjYsIDYxOTIsIDEuMTg2ODMyNzg1NjA2Mzg0M10sIFsxNjYzOTIyNTAwLjcyOTgwMjYsIDYyMzcsIDEuMzU1NDc0OTQ4ODgzMDU2Nl0sIFsxNjYzOTIyNTAwLjkzMTc0NjUsIDYyNTUsIDEuMjIxNDQ0MTI5OTQzODQ3N10sIFsxNjYzOTIyNTAxLjEyNjU3NjIsIDYyNzMsIDEuMDcyMDg0NDI2ODc5ODgyOF0sIFsxNjYzOTIyNTAxLjIzODU2OTcsIDYyODIsIDEuMTE0Mzk0NDI2MzQ1ODI1Ml0sIFsxNjYzOTIyNTAxLjQzNDI0ODcsIDYzMDAsIDEuMDM2NDU3Nzc3MDIzMzE1NF0sIFsxNjYzOTIyNTAxLjcyODEwOSwgNjMyNywgMS41MjUxMjM1OTYxOTE0MDYyXSwgWzE2NjM5MjI1MDEuODI2MzExOCwgNjMzNiwgMS4wMjYwNzA3MTM5OTY4ODcyXSwgWzE2NjM5MjI1MDIuMDM3NTI1LCA2MzU0LCAxLjQ3NzczNTUxOTQwOTE3OTddLCBbMTY2MzkyMjUwMi41MzU2NDgzLCA2Mzk5LCAxLjEyNzkyMDk4NTIyMTg2MjhdLCBbMTY2MzkyMjUwMi43MTk2MDY5LCA2NDE3LCAxLjM1Mzc4ODczMzQ4MjM2MDhdLCBbMTY2MzkyMjUwMy4wMTkwMTI1LCA2NDQ0LCAxLjY2MjQ2MzMwNzM4MDY3NjNdLCBbMTY2MzkyMjUwMy4yMTAzOTAzLCA2NDYyLCAxLjEwOTkwMjk3Nzk0MzQyMDRdLCBbMTY2MzkyMjUwMy41MjQ1MTE2LCA2NDg5LCAxLjI2MTAyNTY2NzE5MDU1MThdLCBbMTY2MzkyMjUwMy42NTU0NTEsIDY0OTgsIDEuNDk5ODc0MjM0MTk5NTI0XSwgWzE2NjM5MjI1MDMuODY0MDE0LCA2NTE2LCAxLjQxNDMyNzc0MDY2OTI1MDVdLCBbMTY2MzkyMjUwNC4wNjM3MDk1LCA2NTM0LCAxLjAyODc3Njg4NDA3ODk3OTVdLCBbMTY2MzkyMjUwNC4xODY3ODY0LCA2NTQzLCAxLjMwOTU5Nzk2OTA1NTE3NThdLCBbMTY2MzkyMjUwNC4zNzU1OTA4LCA2NTYxLCAxLjQyMzQ3MzM1ODE1NDI5NjldLCBbMTY2MzkyMjUwNC40NjY5NTQsIDY1NzAsIDEuMDY2NzQ3NTQ2MTk1OTgzOV0sIFsxNjYzOTIyNTA0LjY2MzQ3MTcsIDY1ODgsIDEuMTIxMzY1NTQ3MTgwMTc1OF0sIFsxNjYzOTIyNTA0LjgyMDUwMzUsIDY1OTcsIDEuMzExNjM0NTQwNTU3ODYxM10sIFsxNjYzOTIyNTA0LjkxODE0NjYsIDY2MDYsIDEuMTc5ODIyNTY0MTI1MDYxXSwgWzE2NjM5MjI1MDUuNDUwNDY4MywgNjY1MSwgMS40MDQ3NjA1OTkxMzYzNTI1XSwgWzE2NjM5MjI1MDUuODI0Mzg2NiwgNjY4NywgMS4wODA1MjY0NzExMzgwMDA1XSwgWzE2NjM5MjI1MDUuOTk0MTE3MywgNjcwNSwgMS4yMTU4MTE5Njc4NDk3MzE0XSwgWzE2NjM5MjI1MDcuMTQyMjU5NCwgNjgxMywgMS4yOTc5MDE1MTExOTIzMjE4XSwgWzE2NjM5MjI1MDcuMzIzMTI1NiwgNjgzMSwgMS4yNTQyMDIzNjU4NzUyNDQxXSwgWzE2NjM5MjI1MDguMDk1NzgyLCA2ODg1LCAxLjAwMTc1Mjk3MjYwMjg0NDJdLCBbMTY2MzkyMjUwOC4xOTg5Mzk2LCA2ODk0LCAxLjE1NzM0ODg3MTIzMTA3OV0sIFsxNjYzOTIyNTA4LjQ3OTM4NjYsIDY5MjEsIDEuMTAwMTE0MTA3MTMxOTU4XSwgWzE2NjM5MjI1MDguNTY0MTM1OCwgNjkzMCwgMS4wNzYyNTg0MjA5NDQyMTM5XSwgWzE2NjM5MjI1MDguODU5Njk5NywgNjk1NywgMS4yODAxMjY1NzE2NTUyNzM0XSwgWzE2NjM5MjI1MDkuMTU0MjQ5NCwgNjk4NCwgMS4xNzM2MTk4NjYzNzExNTQ4XSwgWzE2NjM5MjI1MDkuMjUwOTgxMywgNjk5MywgMS4wODU1NTkxMjk3MTQ5NjU4XSwgWzE2NjM5MjI1MDkuNDM2NTUyNSwgNzAxMSwgMS4wNTg3MzQ0MTY5NjE2N10sIFsxNjYzOTIyNTA5LjUyNTYyNzQsIDcwMjAsIDEuMTgwNzIzOTA1NTYzMzU0NV0sIFsxNjYzOTIyNTA5LjYxNzc1LCA3MDI5LCAxLjE3MTMzNTMzOTU0NjIwMzZdLCBbMTY2MzkyMjUwOS43NTMzNjQ2LCA3MDM4LCAxLjA2NDE2ODgxMDg0NDQyMTRdLCBbMTY2MzkyMjUwOS44OTI2ODYsIDcwNDcsIDEuMzc2OTEzMTg5ODg4MDAwNV0sIFsxNjYzOTIyNTEwLjQyMjMxNCwgNzEwMSwgMS4yNDI1NDk2NTc4MjE2NTUzXSwgWzE2NjM5MjI1MTAuNjk0Mjg1MiwgNzEyOCwgMS4wOTI5NjIyNjUwMTQ2NDg0XSwgWzE2NjM5MjI1MTEuOTg2NTk2NiwgNzI0NSwgMS4xNzAyMDcwMjM2MjA2MDU1XSwgWzE2NjM5MjI1MTIuMDg0NDEwNCwgNzI1NCwgMS42Mjk0OTQ3ODYyNjI1MTIyXSwgWzE2NjM5MjI1MTIuMjA5NzcxMiwgNzI2MywgMS4wNzkzNzEzMzMxMjIyNTM0XSwgWzE2NjM5MjI1MTIuMzA5NzU0LCA3MjcyLCAxLjM5MzA2OTE0ODA2MzY1OTddLCBbMTY2MzkyMjUxMi41OTIxODIyLCA3Mjk5LCAxLjIwNTI2NzA3MTcyMzkzOF0sIFsxNjYzOTIyNTEzLjM2OTI2NCwgNzM3MSwgMS4yODE4NjYwNzM2MDgzOTg0XSwgWzE2NjM5MjI1MTMuNDY3MjMzMiwgNzM4MCwgMS4xNjkyMDc2OTIxNDYzMDEzXSwgWzE2NjM5MjI1MTQuMzY1MzAwNCwgNzQ1MiwgMS4wNDY1NjgzOTM3MDcyNzU0XSwgWzE2NjM5MjI1MTQuNDU1ODEyNSwgNzQ2MSwgMS4zMjQ3NDAwNTIyMjMyMDU2XSwgWzE2NjM5MjI1MTQuODg3NjQ0NSwgNzQ5NywgMC45OTI4NzE0MDM2OTQxNTI4XSwgWzE2NjM5MjI1MTUuMDAyNDM4NSwgNzUwNiwgMC45ODE3NDY0MzUxNjU0MDUzXSwgWzE2NjM5MjI1MTUuMjEzNjA2NCwgNzUyNCwgMS4wNDY5MjExMzM5OTUwNTYyXSwgWzE2NjM5MjI1MTUuMzA4ODI0MywgNzUzMywgMS4wODM3MDY0OTgxNDYwNTcxXSwgWzE2NjM5MjI1MTUuNjA2MDExLCA3NTYwLCAxLjA0NDUzMjc3NTg3ODkwNjJdLCBbMTY2MzkyMjUxNS43Mzc5Nzc3LCA3NTY5LCAxLjMwNzk0Nzk5MzI3ODUwMzRdLCBbMTY2MzkyMjUxNi4wNjkyMDMsIDc1OTYsIDEuMDczMDgyMjA4NjMzNDIyOV0sIFsxNjYzOTIyNTE2LjI1MDI2OSwgNzYxNCwgMS4yMzA5MDU3NzEyNTU0OTMyXSwgWzE2NjM5MjI1MTYuOTI5NjMyLCA3NjU5LCAxLjI0Mjk4ODgyNDg0NDM2MDRdLCBbMTY2MzkyMjUxNy4wMjM0NjgsIDc2NjgsIDEuMDc3MzcxMDAxMjQzNTkxM10sIFsxNjYzOTIyNTE3LjMwODI3OTgsIDc2OTUsIDEuMzM2NTQxNDE0MjYwODY0M10sIFsxNjYzOTIyNTE3LjU4NzA4OCwgNzcyMiwgMS4wNjYxMjE5MzU4NDQ0MjE0XSwgWzE2NjM5MjI1MTcuOTA5NzUzNiwgNzc0OSwgMS4wMjY4NzQ3ODA2NTQ5MDcyXSwgWzE2NjM5MjI1MTguMTM2NDU5OCwgNzc2NywgMS4xOTQ5MDI0MjAwNDM5NDUzXSwgWzE2NjM5MjI1MTguNDQ3MDg1NiwgNzc5NCwgMS4xMjc2OTczNDg1OTQ2NjU1XSwgWzE2NjM5MjI1MTguNTM5Njg4MywgNzgwMywgMS4wOTI3OTMxMDcwMzI3NzU5XSwgWzE2NjM5MjI1MTguOTIzODg4NywgNzgzOSwgMS4zMjI3MzIyMTAxNTkzMDE4XSwgWzE2NjM5MjI1MTkuMDIwNTgwNSwgNzg0OCwgMS4yMzY0NzQ5OTA4NDQ3MjY2XSwgWzE2NjM5MjI1MjAuMzE5MTU0NSwgNzk2NSwgMS4xNTc4NjQzMzIxOTkwOTY3XSwgWzE2NjM5MjI1MjAuNTI2ODE0NywgNzk4MywgMS4wMDA0MzM2ODMzOTUzODU3XSwgWzE2NjM5MjI1MjAuODkxMDQzNywgODAxOSwgMC45NTQ0MzkwNDM5OTg3MTgzXSwgWzE2NjM5MjI1MjEuMDg5NDUzMiwgODAzNywgMS4xODg1NTczODYzOTgzMTU0XSwgWzE2NjM5MjI1MjEuMzg4MjkzLCA4MDY0LCAxLjA2NTM5NDQwMTU1MDI5M10sIFsxNjYzOTIyNTIxLjU2NTMyMjYsIDgwODIsIDEuMjcxMDYxNTM5NjQ5OTYzNF0sIFsxNjYzOTIyNTIxLjY2MDQyNSwgODA5MSwgMS4wNDE5MDIwNjUyNzcwOTk2XSwgWzE2NjM5MjI1MjEuOTQ4NTYyNCwgODExOCwgMS4wMjk2MTc2NjcxOTgxODEyXSwgWzE2NjM5MjI1MjIuMDM4MzYxOCwgODEyNywgMS4zMDE1NzM5OTE3NzU1MTI3XSwgWzE2NjM5MjI1MjIuNTMwOTI3NywgODE3MiwgMS4zOTkwNjY1Njc0MjA5NTk1XSwgWzE2NjM5MjI1MjIuNjI3ODYwNSwgODE4MSwgMS4wMTYxNTI1MDExMDYyNjIyXSwgWzE2NjM5MjI1MjIuODA1NjgzOSwgODE5OSwgMS4xNzg2NzU0MTMxMzE3MTM5XSwgWzE2NjM5MjI1MjIuOTA3MTIyOSwgODIwOCwgMS4zOTUzMTQ0NTUwMzIzNDg2XSwgWzE2NjM5MjI1MjMuMjYzMDgsIDgyMzUsIDEuNTQwMTg2Mjg1OTcyNTk1Ml0sIFsxNjYzOTIyNTIzLjY0MzIyOTUsIDgyNzEsIDEuNDkxNjE0MjIyNTI2NTUwM10sIFsxNjYzOTIyNTIzLjc2MTIwNTIsIDgyODAsIDEuMDU3ODY5MTk1OTM4MTEwNF0sIFsxNjYzOTIyNTIzLjk1Mjk0NiwgODI5OCwgMS4wMDgzODEyNDc1MjA0NDY4XSwgWzE2NjM5MjI1MjQuNjkwMTczLCA4MzYxLCAxLjU5MTU1NjQyOTg2Mjk3Nl0sIFsxNjYzOTIyNTI1LjA5Nzk4NTMsIDgzNzksIDEuMTAwMDk3Nzc1NDU5Mjg5Nl0sIFsxNjYzOTIyNTI1LjE5MzUzODcsIDgzODgsIDEuMDIyOTEwNDc1NzMwODk2XSwgWzE2NjM5MjI1MjUuMjg1MDY2MSwgODM5NywgMS42NDk3NTczODUyNTM5MDYyXSwgWzE2NjM5MjI1MjUuNjA2NjgwNiwgODQyNCwgMS4zOTg2NzU2ODAxNjA1MjI1XSwgWzE2NjM5MjI1MjUuOTg3NDA0OCwgODQ2MCwgMS4wODg1MDg2MDU5NTcwMzEyXSwgWzE2NjM5MjI1MjYuMTkyODQxLCA4NDc4LCAxLjI2ODQ1OTU1ODQ4NjkzODVdLCBbMTY2MzkyMjUyNi4yODA0MjQsIDg0ODcsIDEuMDk4Njc3NzU0NDAyMTYwNl0sIFsxNjYzOTIyNTI2LjU4MzIxMTcsIDg1MTQsIDEuMTM3MDgyNjk1OTYwOTk4NV0sIFsxNjYzOTIyNTI2Ljk2MjY3ODQsIDg1NTAsIDEuMTc1MTI5ODkwNDQxODk0NV0sIFsxNjYzOTIyNTI3LjI0MTA0OTgsIDg1NzcsIDEuMTI0MTI1OTU3NDg5MDEzN10sIFsxNjYzOTIyNTI3LjU5MDU3MDIsIDg2MDQsIDEuMDcxNTIxNTIwNjE0NjI0XSwgWzE2NjM5MjI1MjguMDg3NDAzLCA4NjQ5LCAwLjk2NTY1NjU3ODU0MDgwMl0sIFsxNjYzOTIyNTI4LjQyODM4OTMsIDg2NzYsIDEuMTQwMzY1NDgxMzc2NjQ4XSwgWzE2NjM5MjI1MjguNjI3MDQ3OCwgODY5NCwgMC45NzQ3ODEzMzQ0MDAxNzddLCBbMTY2MzkyMjUyOC44MTM0NjYzLCA4NzEyLCAxLjI5Mzk2MjI0MDIxOTExNjJdLCBbMTY2MzkyMjUyOC45MDAyNjc2LCA4NzIxLCAxLjA4NTg2MTgwMjEwMTEzNTNdLCBbMTY2MzkyMjUyOS44NTc3NTU0LCA4ODExLCAwLjk4NzM2Njk3NDM1Mzc5MDNdLCBbMTY2MzkyMjUyOS45NzAwNTAzLCA4ODIwLCAxLjA1NDk2MTIwNDUyODgwODZdLCBbMTY2MzkyMjUzMC4yNDY1NzczLCA4ODQ3LCAxLjE1MTg5NjIzODMyNzAyNjRdLCBbMTY2MzkyMjUzMC42MDg4NzUzLCA4ODgzLCAxLjA0MDE4MzMwNTc0MDM1NjRdLCBbMTY2MzkyMjUzMS4wMzg4ODkyLCA4OTE5LCAxLjEzMzc0ODI5MjkyMjk3MzZdLCBbMTY2MzkyMjUzMS4yMzkwOTYsIDg5MzcsIDEuMDMwOTQ0MzQ3MzgxNTkxOF0sIFsxNjYzOTIyNTMxLjQxODk3MjcsIDg5NTUsIDEuMDAxMDUyMzc5NjA4MTU0M10sIFsxNjYzOTIyNTMxLjU5MDE5OCwgODk3MywgMS4xOTQ2MjcwNDY1ODUwODNdLCBbMTY2MzkyMjUzMS43NzIwOTA0LCA4OTkxLCAwLjg5Mjk5OTUyOTgzODU2Ml0sIFsxNjYzOTIyNTMxLjg3MzQwOSwgOTAwMCwgMS4yMjYzOTQ2NTMzMjAzMTI1XSwgWzE2NjM5MjI1MzIuMTc1OTEwMiwgOTAyNywgMS4zMTk0MTc4MzQyODE5MjE0XSwgWzE2NjM5MjI1MzIuMjY0NDk1NCwgOTAzNiwgMS4yNzEwMTY1OTc3NDc4MDI3XSwgWzE2NjM5MjI1MzIuMzUzNTQ0MiwgOTA0NSwgMS4wNzIxNjE1NTUyOTAyMjIyXSwgWzE2NjM5MjI1MzIuNTkyMzM5NSwgOTA2MywgMS4wMDk1NzI3NDQzNjk1MDY4XSwgWzE2NjM5MjI1MzMuMTMxNDg4NiwgOTEwOCwgMS4wNjM4Mjk0MjE5OTcwNzAzXSwgWzE2NjM5MjI1MzMuMzI3OTIyLCA5MTI2LCAxLjIzNTc1MDc5NDQxMDcwNTZdLCBbMTY2MzkyMjUzMy43MTUxNywgOTE0NCwgMS4wMTc0OTY0NjY2MzY2NTc3XSwgWzE2NjM5MjI1MzQuNDcwMzkxLCA5MjA3LCAxLjM5Mzc3OTAzOTM4MjkzNDZdLCBbMTY2MzkyMjUzNC44NTE4OTM0LCA5MjQzLCAxLjAxNTI1NzEyMDEzMjQ0NjNdLCBbMTY2MzkyMjUzNS4wNTI4NDE3LCA5MjYxLCAxLjA1NzM2MTM2NDM2NDYyNF0sIFsxNjYzOTIyNTM1LjE1OTA1OTUsIDkyNzAsIDEuMTI5NTk1OTk0OTQ5MzQwOF0sIFsxNjYzOTIyNTM1LjczNDI0NDgsIDkzMjQsIDEuMjk3MzYxMzczOTAxMzY3Ml0sIFsxNjYzOTIyNTM1LjgzNTg5NDgsIDkzMzMsIDEuMTg4MjczMDcyMjQyNzM2OF0sIFsxNjYzOTIyNTM1LjkyMjU4MiwgOTM0MiwgMS4yNTU5MDM3MjA4NTU3MTNdLCBbMTY2MzkyMjUzNi4wMjg1ODExLCA5MzUxLCAxLjA3MzQ2MTg5MDIyMDY0Ml0sIFsxNjYzOTIyNTM2LjEzNTIzNDYsIDkzNjAsIDEuMDMzMTcxODkyMTY2MTM3N10sIFsxNjYzOTIyNTM2LjQ4NzUyMiwgOTM5NiwgMS4xMDk2OTE4NTgyOTE2MjZdLCBbMTY2MzkyMjUzNi43NTM0OTg4LCA5NDIzLCAxLjEzMzczNjI1Mjc4NDcyOV0sIFsxNjYzOTIyNTM4LjI3NjI4NSwgOTUxMywgMC45MjUwMTE3NTQwMzU5NDk3XSwgWzE2NjM5MjI1MzkuMDE3MTMyMywgOTUzMSwgMS4wODEwNzk0ODMwMzIyMjY2XSwgWzE2NjM5MjI1MzkuMzMwNTk1MywgOTU0MCwgMS40MjM1MzcyNTQzMzM0OTZdLCBbMTY2MzkyMjUzOS40NTA1MDE3LCA5NTQ5LCAxLjUyMjk4ODkxNTQ0MzQyMDRdLCBbMTY2MzkyMjUzOS42Mjg3MTYsIDk1NjcsIDEuMDc4ODM2Njc5NDU4NjE4Ml0sIFsxNjYzOTIyNTQwLjQ1NTQyODgsIDk1OTQsIDEuMjI5ODA4MDkyMTE3MzA5Nl0sIFsxNjYzOTIyNTQwLjY4NTI4NiwgOTYxMiwgMS4yMDI0MTczNzM2NTcyMjY2XSwgWzE2NjM5MjI1NDAuODcyMzc3NCwgOTYzMCwgMS4yMjgxOTEwMTgxMDQ1NTMyXSwgWzE2NjM5MjI1NDAuOTczNzksIDk2MzksIDEuMTgyMzQwMTQ1MTExMDg0XSwgWzE2NjM5MjI1NDEuMDU5NzgsIDk2NDgsIDAuOTYzNTcwNzEzOTk2ODg3Ml0sIFsxNjYzOTIyNTQxLjE3MTU4OTQsIDk2NTcsIDEuMTMwNjk3MzY5NTc1NTAwNV0sIFsxNjYzOTIyNTQxLjMwNjE0MTQsIDk2NjYsIDEuNTEyMDE3MDExNjQyNDU2XSwgWzE2NjM5MjI1NDEuNDE3NzM5OSwgOTY3NSwgMS4wMDEwMTQ4Mjg2ODE5NDU4XSwgWzE2NjM5MjI1NDEuNzA2MzYxLCA5NzAyLCAxLjE3Nzk1NjIyMzQ4Nzg1NF0sIFsxNjYzOTIyNTQxLjk4MDgyLCA5NzI5LCAwLjk4NTc0MzM0MzgzMDEwODZdLCBbMTY2MzkyMjU0Mi4xNzMxODEzLCA5NzQ3LCAxLjIyMjI1NDg3MjMyMjA4MjVdLCBbMTY2MzkyMjU0Mi40ODk1MTMsIDk3NzQsIDEuMjE4NzQ5NjQyMzcyMTMxM10sIFsxNjYzOTIyNTQyLjU2ODc5MjgsIDk3ODMsIDEuMDk3NDE1NTY2NDQ0Mzk3XSwgWzE2NjM5MjI1NDIuNjU1ODc5NSwgOTc5MiwgMC45NjcwMDQ1OTcxODcwNDIyXSwgWzE2NjM5MjI1NDMuMDEyNzk5NSwgOTgyOCwgMS4wNjg3Mjk1MTk4NDQwNTUyXSwgWzE2NjM5MjI1NDMuNjU2ODU1MywgOTg5MSwgMC45OTAxNzUzMDY3OTcwMjc2XSwgWzE2NjM5MjI1NDMuODI5NjIyLCA5OTA5LCAxLjE1MjgxNTkzNzk5NTkxMDZdLCBbMTY2MzkyMjU0NC4yMzE3MDg4LCA5OTI3LCAxLjE3NzU3MDIyMzgwODI4ODZdLCBbMTY2MzkyMjU0NC4zMTM0NTEsIDk5MzYsIDEuMDg1ODIxNzQ3Nzc5ODQ2Ml0sIFsxNjYzOTIyNTQ0LjQwMzY3MDMsIDk5NDUsIDEuMzM2NjU4NTk2OTkyNDkyN10sIFsxNjYzOTIyNTQ0LjY4MjQyNzIsIDk5NzIsIDEuMDM3MDk3ODExNjk4OTEzNl0sIFsxNjYzOTIyNTQ0Ljg3MTMyODYsIDk5OTAsIDEuMDk0NDU4MTAzMTc5OTMxNl0sIFsxNjYzOTIyNTQ1LjA2MjkwNTYsIDEwMDA4LCAxLjEwOTIxMzcwOTgzMTIzNzhdLCBbMTY2MzkyMjU0NS4xNTIzMzE0LCAxMDAxNywgMS4wMDA3OTc5ODY5ODQyNTNdLCBbMTY2MzkyMjU0NS4zNDQ5MDg1LCAxMDAzNSwgMS4xNDUxNzAwOTI1ODI3MDI2XSwgWzE2NjM5MjI1NDUuODIwNzgyMiwgMTAwODAsIDEuMTk5ODI5Njk3NjA4OTQ3OF0sIFsxNjYzOTIyNTQ2LjAwNzAyMzgsIDEwMDk4LCAwLjk1MTEyNTUwMjU4NjM2NDddLCBbMTY2MzkyMjU0Ni4wOTc5Mzg4LCAxMDEwNywgMS4yODIwNDY5MTQxMDA2NDddLCBbMTY2MzkyMjU0Ni4zODA0OTM2LCAxMDEzNCwgMS4xNzg2MzQwNDc1MDgyMzk3XSwgWzE2NjM5MjI1NDYuNDc4MjA2MiwgMTAxNDMsIDEuMDcyNjMwODgyMjYzMTgzNl0sIFsxNjYzOTIyNTQ2LjY1Nzc3ODUsIDEwMTYxLCAxLjUwNTM0NzEzMjY4MjgwMDNdLCBbMTY2MzkyMjU0Ni43NzIxNiwgMTAxNzAsIDEuMDMzMDc0NzM2NTk1MTUzOF0sIFsxNjYzOTIyNTQ3LjA2MTE4ODUsIDEwMTk3LCAxLjIxOTcxNDA0NTUyNDU5NzJdLCBbMTY2MzkyMjU0Ny4yNDEzMDYsIDEwMjE1LCAxLjQxNjY2NTA3NzIwOTQ3MjddLCBbMTY2MzkyMjU0Ny4zNTUwNjA2LCAxMDIyNCwgMS4xNDA4NDEyNDU2NTEyNDUxXSwgWzE2NjM5MjI1NDcuNDc2OTc2MiwgMTAyMzMsIDAuOTU4OTU2MzAxMjEyMzEwOF0sIFsxNjYzOTIyNTQ3Ljc1ODk1OSwgMTAyNjAsIDAuOTYxODk3MDE1NTcxNTk0Ml0sIFsxNjYzOTIyNTQ4LjQwNzYyNTIsIDEwMzIzLCAxLjEwNjk3NTU1NTQxOTkyMTldLCBbMTY2MzkyMjU0OC41OTEyNTQ3LCAxMDM0MSwgMS4xNDU0MjIzMzk0MzkzOTJdLCBbMTY2MzkyMjU0OC43NjIxNzI3LCAxMDM1OSwgMS4zNTgyMTQ0OTc1NjYyMjMxXSwgWzE2NjM5MjI1NDguODY3OTE2MywgMTAzNjgsIDEuMzAwMjE3MjcwODUxMTM1M10sIFsxNjYzOTIyNTQ4Ljk3ODQxNiwgMTAzNzcsIDEuMTQ5OTAxOTg2MTIyMTMxM10sIFsxNjYzOTIyNTQ5Ljc0ODA2OTUsIDEwNDQ5LCAxLjMxNTc4NjAwNDA2NjQ2NzNdLCBbMTY2MzkyMjU0OS45NTk4MTYyLCAxMDQ2NywgMC45NTA5OTExNTM3MTcwNDFdLCBbMTY2MzkyMjU1MC4xNzk5MTkyLCAxMDQ4NSwgMS4yNTkzNzg3OTA4NTU0MDc3XSwgWzE2NjM5MjI1NTAuNDkwNTcyNywgMTA1MTIsIDEuNTMxNzQ2ODY0MzE4ODQ3N10sIFsxNjYzOTIyNTUxLjAzODI2MzMsIDEwNTY2LCAxLjE0NDU3NDQwMzc2MjgxNzRdLCBbMTY2MzkyMjU1MS4xMjM3LCAxMDU3NSwgMS4xNDcwOTExNTAyODM4MTM1XSwgWzE2NjM5MjI1NTEuMzIwNzM3MSwgMTA1OTMsIDEuMjQxMDMxNDA4MzA5OTM2NV0sIFsxNjYzOTIyNTUxLjQxNjczMzMsIDEwNjAyLCAwLjk3MTcyNzcyODg0MzY4OV0sIFsxNjYzOTIyNTUxLjUwNDU4NywgMTA2MTEsIDEuMzczNzUwMDkwNTk5MDZdLCBbMTY2MzkyMjU1MS44ODU2Nzc2LCAxMDY0NywgMS4yMTM3MzczNjg1ODM2NzkyXSwgWzE2NjM5MjI1NTIuMDYzMjE3OSwgMTA2NjUsIDEuMTQxNzQxODcxODMzODAxM10sIFsxNjYzOTIyNTUyLjIzOTY4OTgsIDEwNjgzLCAxLjMyNTg4Mjc5MjQ3MjgzOTRdLCBbMTY2MzkyMjU1Mi42OTMwMzEsIDEwNzEwLCAwLjk5NDM1MTIwODIwOTk5MTVdLCBbMTY2MzkyMjU1Mi43Nzk2MjMzLCAxMDcxOSwgMS4yOTc1Mzg4NzY1MzM1MDgzXSwgWzE2NjM5MjI1NTMuMDkyNTQxLCAxMDc0NiwgMC45ODM1NjgwMTI3MTQzODZdLCBbMTY2MzkyMjU1My4xODYwNDEsIDEwNzU1LCAxLjM4MDA4MTA1NzU0ODUyM10sIFsxNjYzOTIyNTUzLjQ4NDIyOTMsIDEwNzgyLCAxLjE3MTc4MDM0NzgyNDA5NjddLCBbMTY2MzkyMjU1NC4zMDY1NTQzLCAxMDg1NCwgMS4xNzc1NTU2ODAyNzQ5NjM0XSwgWzE2NjM5MjI1NTQuMzk1NzY2NSwgMTA4NjMsIDEuMTcwMDg2MjY0NjEwMjkwNV0sIFsxNjYzOTIyNTU0LjQ4NjQxMjgsIDEwODcyLCAxLjA4NjkwMTkwMzE1MjQ2NThdLCBbMTY2MzkyMjU1NS4xMTYwMDE4LCAxMDkyNiwgMS4xNzcwMDcwNzkxMjQ0NTA3XSwgWzE2NjM5MjI1NTUuMjM1MjE3MywgMTA5MzUsIDAuOTc0MTcyNzcwOTc3MDIwM10sIFsxNjYzOTIyNTU1LjU4Njk5NzMsIDEwOTcxLCAxLjU0NjQ4Njg1NDU1MzIyMjddLCBbMTY2MzkyMjU1Ni4wODMyODYsIDExMDE2LCAxLjAzMzgxNDkwNzA3Mzk3NDZdLCBbMTY2MzkyMjU1Ni4yNzk2NTIsIDExMDM0LCAxLjI5NTQxNDA5MDE1NjU1NTJdLCBbMTY2MzkyMjU1Ni42Mzk4Nzg3LCAxMTA3MCwgMC45NDI1MzMxMzU0MTQxMjM1XSwgWzE2NjM5MjI1NTYuOTU3Mzk4NCwgMTEwOTcsIDEuMTYyNzEwNjY2NjU2NDk0MV0sIFsxNjYzOTIyNTU3LjUxODQsIDExMTUxLCAxLjAyMTkzODgwMDgxMTc2NzZdLCBbMTY2MzkyMjU1Ny43NjIzOTEzLCAxMTE2OSwgMS4xMDM3NDY1MzMzOTM4NTk5XSwgWzE2NjM5MjI1NTguMTM3NzksIDExMjA1LCAxLjIyOTMyODI3NDcyNjg2NzddLCBbMTY2MzkyMjU1OC4zMzc2NzIyLCAxMTIyMywgMS4xODQ1MjU3MjgyMjU3MDhdLCBbMTY2MzkyMjU1OC42Mzk1NjMzLCAxMTI1MCwgMS4wMDU0MzM3OTc4MzYzMDM3XSwgWzE2NjM5MjI1NTguNzI2NjQ4OCwgMTEyNTksIDEuMjMzMjcyNDMzMjgwOTQ0OF0sIFsxNjYzOTIyNTU4LjgxNTgwNjIsIDExMjY4LCAxLjEwMjQ5MDkwMTk0NzAyMTVdLCBbMTY2MzkyMjU1OC45MDg0MDg5LCAxMTI3NywgMS4wNDk0NDg2MDkzNTIxMTE4XSwgWzE2NjM5MjI1NTkuMDk0NTAzNiwgMTEyOTUsIDEuMDI3ODkxMjc4MjY2OTA2N10sIFsxNjYzOTIyNTU5LjI5ODc5NDMsIDExMzEzLCAxLjM0MDQ2OTM2MDM1MTU2MjVdLCBbMTY2MzkyMjU1OS40MDQ1ODY2LCAxMTMyMiwgMC45NzY1NTE4MzA3Njg1ODUyXSwgWzE2NjM5MjI1NTkuNjk2NzM2MywgMTEzNDksIDEuMzM5MTM4OTg0NjgwMTc1OF0sIFsxNjYzOTIyNTU5Ljc5OTAxMDgsIDExMzU4LCAxLjAxMzMxNTU1ODQzMzUzMjddLCBbMTY2MzkyMjU2MC40MzI4NTE4LCAxMTQxMiwgMS4zNjM4NzYzNDI3NzM0Mzc1XSwgWzE2NjM5MjI1NjAuODYxMjg0LCAxMTQ0OCwgMS4wNTI4NDUxMjA0Mjk5OTI3XSwgWzE2NjM5MjI1NjEuNTYwNzA2LCAxMTQ5MywgMC45MjIyMjc4NTk0OTcwNzAzXSwgWzE2NjM5MjI1NjEuNjUwNDAzNywgMTE1MDIsIDEuMDQ2MDI5ODA2MTM3MDg1XSwgWzE2NjM5MjI1NjEuNzUwNjI4LCAxMTUxMSwgMS4wOTY2NzE5Mzg4OTYxNzkyXSwgWzE2NjM5MjI1NjIuMTE3Mzk3LCAxMTU0NywgMS4wNTg1MjEzODk5NjEyNDI3XSwgWzE2NjM5MjI1NjIuNDMyOTI1NSwgMTE1NzQsIDEuMDY3MTQwNTc5MjIzNjMyOF0sIFsxNjYzOTIyNTYyLjk2NzE0MDIsIDExNjE5LCAxLjEyNTY0MjUzODA3MDY3ODddLCBbMTY2MzkyMjU2My4yODE5NDksIDExNjQ2LCAxLjM4MDM4Mjc3NjI2MDM3Nl0sIFsxNjYzOTIyNTYzLjczNDM1MjQsIDExNjkxLCAxLjA3NDg3NDI4MTg4MzIzOTddLCBbMTY2MzkyMjU2My44MjIwNTgsIDExNzAwLCAxLjExOTc4MzA0Mzg2MTM4OTJdLCBbMTY2MzkyMjU2NC4xNTUzNDUsIDExNzI3LCAxLjExMzMzNzE1OTE1Njc5OTNdLCBbMTY2MzkyMjU2NC41NDYxMjEsIDExNzYzLCAxLjEwNTU2MTk3MTY2NDQyODddLCBbMTY2MzkyMjU2NC45MzkwODQ4LCAxMTc5OSwgMS4yMzc2MDI0NzIzMDUyOTc5XSwgWzE2NjM5MjI1NjUuNDM4NDgxNiwgMTE4NDQsIDEuMDM0NjIxMTE5NDk5MjA2NV0sIFsxNjYzOTIyNTY1LjkxMzk5NjUsIDExODg5LCAwLjk2Njc2MDUxNjE2NjY4N10sIFsxNjYzOTIyNTY2LjExNTYzNjYsIDExOTA3LCAxLjA3MjU5OTI5MTgwMTQ1MjZdLCBbMTY2MzkyMjU2Ni40MTI0ODIsIDExOTM0LCAxLjA1OTUxOTc2Nzc2MTIzMDVdLCBbMTY2MzkyMjU2Ni41MTQ1OCwgMTE5NDMsIDEuMDcyNzk1MjcxODczNDc0MV0sIFsxNjYzOTIyNTY2LjcxNTk0NjQsIDExOTYxLCAxLjM0NTUwMTg5OTcxOTIzODNdLCBbMTY2MzkyMjU2Ny40Mjc3NzEsIDEyMDI0LCAxLjA5OTgwNzczOTI1NzgxMjVdLCBbMTY2MzkyMjU2OC40NzE5NjA4LCAxMjExNCwgMS40OTc5OTkzMTA0OTM0NjkyXSwgWzE2NjM5MjI1NjguNzk4NTc5NSwgMTIxNDEsIDAuOTQ2NTQxMjQ5NzUyMDQ0N10sIFsxNjYzOTIyNTY5LjA5MTUxOCwgMTIxNjgsIDEuMTIwODMxODQ3MTkwODU3XSwgWzE2NjM5MjI1NjkuMjExOTQzNCwgMTIxNzcsIDEuMTAwNzkyMjg4NzgwMjEyNF0sIFsxNjYzOTIyNTY5LjQzNTc3MSwgMTIxOTUsIDAuOTc3NDIwMDMyMDI0MzgzNV0sIFsxNjYzOTIyNTcwLjI3MTg4NTYsIDEyMjQ5LCAxLjM2ODE5NjI0OTAwODE3ODddLCBbMTY2MzkyMjU3MC42NDEwNzIsIDEyMjg1LCAxLjAzNjQ1ODg0OTkwNjkyMTRdLCBbMTY2MzkyMjU3MC43MzQ5MTEsIDEyMjk0LCAxLjI4NzQ3ODQ0Njk2MDQ0OTJdLCBbMTY2MzkyMjU3MC44NDE2MTI2LCAxMjMwMywgMC45NzMzMDcyNTE5MzAyMzY4XSwgWzE2NjM5MjI1NzAuOTQxMDg4NywgMTIzMTIsIDEuMDAxMzIxMDc3MzQ2ODAxOF0sIFsxNjYzOTIyNTcxLjA1MTYzODEsIDEyMzIxLCAxLjIxNTgxMTk2Nzg0OTczMTRdLCBbMTY2MzkyMjU3MS43MjE3OTgsIDEyMzg0LCAxLjAyMjc5MDQzMTk3NjMxODRdLCBbMTY2MzkyMjU3MS44MjIzNDIsIDEyMzkzLCAxLjE3MDk0NDgwOTkxMzYzNTNdLCBbMTY2MzkyMjU3Mi4yMTA1NjksIDEyNDI5LCAxLjU5MDQxNDQwNDg2OTA3OTZdLCBbMTY2MzkyMjU3Mi42OTE2NTUsIDEyNDc0LCAxLjE3NTMyMTgxNzM5ODA3MTNdLCBbMTY2MzkyMjU3Mi43OTE3NTc2LCAxMjQ4MywgMC45MzI4NjcyMjg5ODQ4MzI4XSwgWzE2NjM5MjI1NzMuMjU2MTc0LCAxMjUxOSwgMS4yOTc0NDkyMzExNDc3NjYxXSwgWzE2NjM5MjI1NzMuNjAyOTAyLCAxMjU0NiwgMS4wOTQ1NTM3MDkwMzAxNTE0XSwgWzE2NjM5MjI1NzQuMDMyNzQwOCwgMTI1ODIsIDAuOTk3Nzc0NDgxNzczMzc2NV0sIFsxNjYzOTIyNTc2LjA5OTEyMDYsIDEyNzYyLCAxLjE5NzM2NjgzMzY4NjgyODZdLCBbMTY2MzkyMjU3Ni41MzM4MjkyLCAxMjc5OCwgMS4xNzY5MDQ0Mzk5MjYxNDc1XSwgWzE2NjM5MjI1NzcuNDc0NTc4MSwgMTI4ODgsIDEuMjUyNDIzMDQ4MDE5NDA5Ml0sIFsxNjYzOTIyNTc3LjU1ODcyNzUsIDEyODk3LCAxLjQ2MDE0Nzg1NzY2NjAxNTZdLCBbMTY2MzkyMjU3Ny45NDE1NTEyLCAxMjkzMywgMS4xNTY2OTg3MDM3NjU4NjkxXSwgWzE2NjM5MjI1NzguMTY4MTYwMiwgMTI5NTEsIDAuOTg4MjI1NTE5NjU3MTM1XSwgWzE2NjM5MjI1NzguMjc1NjQ5NSwgMTI5NjAsIDEuMzE0NzMxNzE3MTA5NjgwMl0sIFsxNjYzOTIyNTc4LjM4NzA4MywgMTI5NjksIDAuOTgwNDU4MTk5OTc3ODc0OF0sIFsxNjYzOTIyNTc4LjUxODE0NCwgMTI5NzgsIDEuMTM3NjMyNjA4NDEzNjk2M10sIFsxNjYzOTIyNTc5LjAzMTk1NzksIDEzMDA1LCAxLjQ0MjE4MDE1NjcwNzc2MzddLCBbMTY2MzkyMjU3OS4zNDI3MTUsIDEzMDMyLCAxLjAyNzAxMzMwMTg0OTM2NTJdLCBbMTY2MzkyMjU3OS41MzYyODIsIDEzMDUwLCAwLjk1NTIzNzA5MDU4NzYxNl0sIFsxNjYzOTIyNTc5LjcxNzM1OTMsIDEzMDY4LCAxLjExMzY3NDE2MzgxODM1OTRdLCBbMTY2MzkyMjU3OS44MTc3NTc0LCAxMzA3NywgMS4xNDE3MDExMDIyNTY3NzVdLCBbMTY2MzkyMjU4MC4xMDE4ODU4LCAxMzEwNCwgMS4zOTI5NjkyNTA2NzkwMTYxXSwgWzE2NjM5MjI1ODAuMzAxMjI3LCAxMzEyMiwgMS4yMjAzMzk3NzUwODU0NDkyXSwgWzE2NjM5MjI1ODAuNDE5NzY4MywgMTMxMzEsIDEuMDg1MTk0NDY4NDk4MjNdLCBbMTY2MzkyMjU4MC42MjE0LCAxMzE0OSwgMS4xNTkyMjU3MDIyODU3NjY2XSwgWzE2NjM5MjI1ODAuNzIwMzc0LCAxMzE1OCwgMS4yMDQ4ODI2MjE3NjUxMzY3XSwgWzE2NjM5MjI1ODAuOTQwNDE1MSwgMTMxNzYsIDAuOTgxODI5NDY0NDM1NTc3NF0sIFsxNjYzOTIyNTgxLjYwNzk1NzYsIDEzMjM5LCAxLjA0NjIzMzQxNTYwMzYzNzddLCBbMTY2MzkyMjU4MS45MDc5ODcsIDEzMjY2LCAxLjEwOTE0Mzk3MjM5Njg1MDZdLCBbMTY2MzkyMjU4Mi4wMjkzMDU3LCAxMzI3NSwgMS4yMTA2NDAzMTEyNDExNV0sIFsxNjYzOTIyNTgyLjIzMzM1NTMsIDEzMjkzLCAxLjA2ODY5MzUxODYzODYxMDhdLCBbMTY2MzkyMjU4Mi45MTA1ODUyLCAxMzM1NiwgMS4zMTc5MjEyODA4NjA5MDA5XSwgWzE2NjM5MjI1ODMuMjcwNzY2NywgMTMzOTIsIDEuMzAxNTUwMTQ5OTE3NjAyNV0sIFsxNjYzOTIyNTgzLjYwMzMyODcsIDEzNDE5LCAxLjEzNjcxNjk2MTg2MDY1NjddLCBbMTY2MzkyMjU4My44OTMwNDkyLCAxMzQ0NiwgMS41MTAwMDM0NDc1MzI2NTM4XSwgWzE2NjM5MjI1ODMuOTg2Mzk3NywgMTM0NTUsIDEuMTQ1NjcxNDg2ODU0NTUzMl0sIFsxNjYzOTIyNTg0LjQwOTI3ODQsIDEzNDkxLCAxLjA0NjAxODM2MjA0NTI4OF0sIFsxNjYzOTIyNTg0LjU0NTM5MzUsIDEzNTAwLCAxLjIwNzM2NjEwODg5NDM0ODFdLCBbMTY2MzkyMjU4NC44NTU4MjE2LCAxMzUyNywgMS4yNzkwMjYxNTA3MDM0MzAyXSwgWzE2NjM5MjI1ODUuNTY1MjM3LCAxMzU5MCwgMS4xMzg1NjM3NTIxNzQzNzc0XSwgWzE2NjM5MjI1ODUuNjU4NzI5MywgMTM1OTksIDEuMjQ0Mzc0NTEzNjI2MDk4Nl0sIFsxNjYzOTIyNTg1Ljc0ODk4ODksIDEzNjA4LCAxLjU2MzI2MDMxNjg0ODc1NDldLCBbMTY2MzkyMjU4NS45MzAzOTIzLCAxMzYyNiwgMS4zODc4NjA1MzY1NzUzMTc0XSwgWzE2NjM5MjI1ODYuMTMwNTA0LCAxMzY0NCwgMC45NjQzODM0ODI5MzMwNDQ0XSwgWzE2NjM5MjI1ODYuMjI3NTQxNCwgMTM2NTMsIDEuMTg4MTk5MDQzMjczOTI1OF0sIFsxNjYzOTIyNTg2LjkwODUwMzgsIDEzNzE2LCAxLjE4Mzk0OTM1MTMxMDczXSwgWzE2NjM5MjI1ODcuMzkzMDg1NywgMTM3NjEsIDEuMTAxMDk4Nzc1ODYzNjQ3NV0sIFsxNjYzOTIyNTg4LjIwMDg1NzIsIDEzODE1LCAxLjE1OTIzMjg1NDg0MzEzOTZdLCBbMTY2MzkyMjU4OC40ODkwMjA2LCAxMzg0MiwgMS4wNTA3MDg0MTMxMjQwODQ1XSwgWzE2NjM5MjI1ODguNTgyMTc0MywgMTM4NTEsIDEuMTMwNTMzMzM3NTkzMDc4Nl0sIFsxNjYzOTIyNTg4Ljg3NzAwODQsIDEzODc4LCAxLjA1ODY1MjI4MTc2MTE2OTRdLCBbMTY2MzkyMjU4OS41ODI4OTUsIDEzOTQxLCAxLjMyMzM0NDExMTQ0MjU2Nl0sIFsxNjYzOTIyNTg5LjkwODkyLCAxMzk2OCwgMC45ODA4NTY0MTg2MDk2MTkxXSwgWzE2NjM5MjI1OTAuMDIwNTg3NCwgMTM5NzcsIDEuMDQyMDYxMDkwNDY5MzYwNF0sIFsxNjYzOTIyNTkwLjEyNjIzMjEsIDEzOTg2LCAxLjA0MzUzOTY0MzI4NzY1ODddLCBbMTY2MzkyMjU5MS4xMjIxMzU0LCAxNDA2NywgMC45OTA5MjM4MjE5MjYxMTY5XSwgWzE2NjM5MjI1OTEuNDU5MjE3NSwgMTQwOTQsIDEuMDYwMjM0Nzg1MDc5OTU2XSwgWzE2NjM5MjI1OTEuNTc4NTExNywgMTQxMDMsIDEuNTE1MDkxNzc2ODQ3ODM5NF0sIFsxNjYzOTIyNTkxLjgxOTY1NDcsIDE0MTIxLCAxLjM3NzY3MjU1MzA2MjQzOV0sIFsxNjYzOTIyNTkyLjAzNzcwMiwgMTQxMzksIDEuMDM2NzQ0NTk0NTczOTc0Nl0sIFsxNjYzOTIyNTkyLjE0MDIzMiwgMTQxNDgsIDEuMDgxNzk0NTAwMzUwOTUyMV0sIFsxNjYzOTIyNTkyLjI0MjM0OTYsIDE0MTU3LCAxLjAyNjE2ODQ2NTYxNDMxODhdLCBbMTY2MzkyMjU5Mi4zMzkyNTU2LCAxNDE2NiwgMS4xMzY4MjUwODQ2ODYyNzkzXSwgWzE2NjM5MjI1OTIuNjU1NzA5LCAxNDE5MywgMS4wNjE1OTI1Nzg4ODc5Mzk1XSwgWzE2NjM5MjI1OTMuMDcwNTY4OCwgMTQyMjksIDAuOTQ2MDU5NDY1NDA4MzI1Ml0sIFsxNjYzOTIyNTkzLjE3MzEyMzQsIDE0MjM4LCAxLjEwNzA3MTE2MTI3MDE0MTZdLCBbMTY2MzkyMjU5My41ODc3NDk3LCAxNDI3NCwgMS4wNDU3NDM0NjU0MjM1ODRdLCBbMTY2MzkyMjU5NC4xNjAxMjg0LCAxNDMxOSwgMS4xNjUwODkxMzA0MDE2MTEzXSwgWzE2NjM5MjI1OTQuNzA3MjY2NiwgMTQzNjQsIDEuNDM2NzA5Mjg0NzgyNDA5N10sIFsxNjYzOTIyNTk0LjgwOTk3MTgsIDE0MzczLCAwLjkxOTM3NzE0ODE1MTM5NzddLCBbMTY2MzkyMjU5NC45MjIxMTc3LCAxNDM4MiwgMC45MDk5MzMzMjg2Mjg1NF0sIFsxNjYzOTIyNTk1LjQxNTMyMDIsIDE0NDE4LCAxLjIyNTkzMzMxMzM2OTc1MV0sIFsxNjYzOTIyNTk1LjUyOTI3MTQsIDE0NDI3LCAwLjkzODc2MzY3ODA3Mzg4MzFdLCBbMTY2MzkyMjU5NS42Mzg1OTkyLCAxNDQzNiwgMS41Njg1MjY3NDQ4NDI1MjkzXSwgWzE2NjM5MjI1OTYuNDgwNTgyLCAxNDUwOCwgMC45NjI2MTMyMjQ5ODMyMTUzXSwgWzE2NjM5MjI1OTYuODE0MTcwNCwgMTQ1MzUsIDEuMDgxOTEwMjUyNTcxMTA2XSwgWzE2NjM5MjI1OTcuMjYxMDc5NSwgMTQ1NTMsIDEuMjMxOTkwOTMzNDE4Mjc0XSwgWzE2NjM5MjI1OTcuOTA3MTY0LCAxNDYwNywgMC45NjkwNTE2NTkxMDcyMDgzXSwgWzE2NjM5MjI1OTguMTUzMTQ0NiwgMTQ2MjUsIDEuMjk0NDY3MDkxNTYwMzYzOF0sIFsxNjYzOTIyNTk4LjQ5NzI4NCwgMTQ2NTIsIDEuMTQ3NTY2OTE0NTU4NDEwNl0sIFsxNjYzOTIyNTk4LjkwODcxODMsIDE0Njg4LCAxLjAwNzcyMDgyODA1NjMzNTRdLCBbMTY2MzkyMjU5OS4yODY1MDk1LCAxNDcyNCwgMS40MzMxMDExNzcyMTU1NzYyXSwgWzE2NjM5MjI1OTkuNDkxODc4NSwgMTQ3NDIsIDEuMDU1NjExNzI5NjIxODg3Ml0sIFsxNjYzOTIyNTk5Ljc2MDU1MzgsIDE0NzY5LCAxLjA1MTU5MDA4NTAyOTYwMl0sIFsxNjYzOTIyNTk5Ljg0OTc1ODksIDE0Nzc4LCAwLjg5MDgyMDUwMzIzNDg2MzNdLCBbMTY2MzkyMjYwMC4zMjIyOTk1LCAxNDgyMywgMS4wNTYwMjc2NTA4MzMxMjk5XSwgWzE2NjM5MjI2MDAuNDE4NjA3LCAxNDgzMiwgMS4xNjQwMDkyMTM0NDc1NzA4XSwgWzE2NjM5MjI2MDAuNzkwMjAxNywgMTQ4NjgsIDEuMTY4NjMxNjcyODU5MTkyXSwgWzE2NjM5MjI2MDAuODg3MDk5NSwgMTQ4NzcsIDEuMDI4MDIzNjAwNTc4MzA4XSwgWzE2NjM5MjI2MDAuOTkxMjIyNCwgMTQ4ODYsIDEuMTM1NTQ4MTE0Nzc2NjExM10sIFsxNjYzOTIyNjAxLjA4Mzg0OSwgMTQ4OTUsIDEuMTkzNzk1ODAwMjA5MDQ1NF0sIFsxNjYzOTIyNjAxLjI4NjU3OTEsIDE0OTEzLCAxLjA2MzYxMTc0NTgzNDM1MDZdLCBbMTY2MzkyMjYwMS40NzQ3NjI3LCAxNDkzMSwgMC45OTY0ODM4MDI3OTU0MTAyXSwgWzE2NjM5MjI2MDEuODI5MzQwNSwgMTQ5NjcsIDEuMDc1NjQyMjI4MTI2NTI1OV0sIFsxNjYzOTIyNjAxLjk5ODg2MjMsIDE0OTg1LCAxLjE0NjEyNDAwNTMxNzY4OF0sIFsxNjYzOTIyNjAyLjE5ODE2NTIsIDE1MDAzLCAxLjAyNDQyMjY0NTU2ODg0NzddLCBbMTY2MzkyMjYwMi40NzIxNDQ4LCAxNTAzMCwgMS4xNzcwMzEzOTc4MTk1MTldLCBbMTY2MzkyMjYwMi41NjIyNDE2LCAxNTAzOSwgMS4wNjU0NjI5NDY4OTE3ODQ3XSwgWzE2NjM5MjI2MDIuOTA1NjkxLCAxNTA3NSwgMC45NDAzNzY2MzkzNjYxNDk5XSwgWzE2NjM5MjI2MDMuMTk2ODQxNSwgMTUxMDIsIDEuMDkwMDU2NDE5MzcyNTU4Nl0sIFsxNjYzOTIyNjAzLjM4NTExMzIsIDE1MTIwLCAwLjk5NTUzMjA5NTQzMjI4MTVdLCBbMTY2MzkyMjYwMy45MTc0MzAyLCAxNTE3NCwgMS4wNTM2NTE1NzEyNzM4MDM3XSwgWzE2NjM5MjI2MDQuMDA1ODgyNywgMTUxODMsIDEuMjcwNzQ0NjgxMzU4MzM3NF0sIFsxNjYzOTIyNjA0LjA5MTA1MiwgMTUxOTIsIDAuOTgzNTUyOTkyMzQzOTAyNl0sIFsxNjYzOTIyNjA0LjE5ODMzMiwgMTUyMDEsIDEuMTM2NjEwNzQ2MzgzNjY3XSwgWzE2NjM5MjI2MDQuNjYxMzI2LCAxNTI0NiwgMS4zMTM3NTczMDAzNzY4OTJdLCBbMTY2MzkyMjYwNC43NDI3ODY2LCAxNTI1NSwgMS40MDg2MTQxNTg2MzAzNzFdLCBbMTY2MzkyMjYwNC44NDE4NTQ4LCAxNTI2NCwgMC45NDg4NjU3NzEyOTM2NDAxXSwgWzE2NjM5MjI2MDUuMTk2MDg1NywgMTUzMDAsIDAuOTUxMjU2MjE1NTcyMzU3Ml0sIFsxNjYzOTIyNjA1LjY2MTE5NDgsIDE1MzI3LCAxLjE0NzkyMDM3MDEwMTkyODddLCBbMTY2MzkyMjYwNS44NzIzNTQ1LCAxNTM0NSwgMS4wMzIyMzYyMTg0NTI0NTM2XSwgWzE2NjM5MjI2MDYuMTQ1NDM0LCAxNTM3MiwgMS4xOTExNjM0MjA2NzcxODVdLCBbMTY2MzkyMjYwNi4zMjY1MDUyLCAxNTM5MCwgMS4wMDM1NjYzODQzMTU0OTA3XSwgWzE2NjM5MjI2MDYuNDE4NTQzNiwgMTUzOTksIDEuMTM3NjkxMzc4NTkzNDQ0OF0sIFsxNjYzOTIyNjA2LjUwOTQ4NSwgMTU0MDgsIDAuOTk0MDc1NTk2MzMyNTVdLCBbMTY2MzkyMjYwNi42MDQ4NjU4LCAxNTQxNywgMS4yNjc5MjM4MzE5Mzk2OTczXSwgWzE2NjM5MjI2MDcuMTM5NjU0OSwgMTU0NzEsIDEuMjk1Nzg2MzgwNzY3ODIyM10sIFsxNjYzOTIyNjA3LjYwNTIwNjMsIDE1NTA3LCAxLjE3OTk3ODEzMjI0NzkyNDhdLCBbMTY2MzkyMjYwNy43MTU5NDI5LCAxNTUxNiwgMS4wNzIxNjA3MjA4MjUxOTUzXSwgWzE2NjM5MjI2MDcuODI3NTc4NSwgMTU1MjUsIDEuMjUwMTM5NDc0ODY4Nzc0NF0sIFsxNjYzOTIyNjA3LjkwOTkwOSwgMTU1MzQsIDEuMTc4OTg4MzM3NTE2Nzg0N10sIFsxNjYzOTIyNjA4LjQzODc2OTYsIDE1NTc5LCAwLjkwODk0MjkzNzg1MDk1MjFdLCBbMTY2MzkyMjYwOS4yODM3MDU3LCAxNTY1MSwgMS4zOTU4MDU3MTY1MTQ1ODc0XSwgWzE2NjM5MjI2MDkuMzc4MjI0NiwgMTU2NjAsIDEuMDEwNTY2MTE1Mzc5MzMzNV0sIFsxNjYzOTIyNjA5Ljc0MTA3NiwgMTU2OTYsIDEuMTg2NTc4OTg5MDI4OTMwN10sIFsxNjYzOTIyNjA5LjkxNzI1MiwgMTU3MTQsIDEuMDg3NDQ4OTU0NTgyMjE0NF0sIFsxNjYzOTIyNjEwLjE4MzU4OTcsIDE1NzQxLCAwLjk1MDg0OTI5NDY2MjQ3NTZdLCBbMTY2MzkyMjYxMC4zNTYxMTk2LCAxNTc1OSwgMS4wMjQzNDA3NDg3ODY5MjYzXSwgWzE2NjM5MjI2MTAuNjIzNzE4NywgMTU3ODYsIDEuMjYwMzMzNjU3MjY0NzA5NV0sIFsxNjYzOTIyNjEwLjcxMTQwNjcsIDE1Nzk1LCAxLjIxNTYxMjQxMTQ5OTAyMzRdLCBbMTY2MzkyMjYxMS40MjMxMjI2LCAxNTg2NywgMS4wODM0MzYyNTA2ODY2NDU1XSwgWzE2NjM5MjI2MTEuNTE2ODczOCwgMTU4NzYsIDEuMDYxMzk5NTc5MDQ4MTU2N10sIFsxNjYzOTIyNjExLjY5NDk1NTMsIDE1ODk0LCAxLjA0OTEzNDk2OTcxMTMwMzddLCBbMTY2MzkyMjYxMi43OTE1OTE2LCAxNTk4NCwgMS4wMDMzMzk2NDgyNDY3NjUxXSwgWzE2NjM5MjI2MTMuMDgwMTUwNiwgMTYwMDIsIDEuMjAyMTYzMzM4NjYxMTkzOF0sIFsxNjYzOTIyNjEzLjM4NzIzOCwgMTYwMjksIDEuMzY4NzExOTQ4Mzk0Nzc1NF0sIFsxNjYzOTIyNjEzLjgwMzE3OTcsIDE2MDY1LCAxLjQ0NjI5NjgxMTEwMzgyMDhdLCBbMTY2MzkyMjYxMy44ODczMDg4LCAxNjA3NCwgMS4wNzMyNDM5NzU2MzkzNDMzXSwgWzE2NjM5MjI2MTMuOTg4Mzc4NSwgMTYwODMsIDEuMjIxNDMxNDkzNzU5MTU1M10sIFsxNjYzOTIyNjE0LjQ3NTM1OTQsIDE2MTEwLCAwLjkyOTk4NzQzMDU3MjUwOThdLCBbMTY2MzkyMjYxNC43NTkzODc1LCAxNjEzNywgMS40MzM3NzIyMDYzMDY0NTc1XSwgWzE2NjM5MjI2MTQuOTQ5NjIxMiwgMTYxNTUsIDAuOTQ4NjI3MTczOTAwNjA0Ml0sIFsxNjYzOTIyNjE1LjE0NDQxNTksIDE2MTczLCAwLjk5ODk1MDU0MTAxOTQzOTddLCBbMTY2MzkyMjYxNS41MjAzMDkyLCAxNjIwOSwgMC45MzMyNDgyMjE4NzQyMzcxXSwgWzE2NjM5MjI2MTUuNzA0MzY3MiwgMTYyMjcsIDEuMDE0NTkwOTc4NjIyNDM2NV0sIFsxNjYzOTIyNjE2LjI3MjE5NiwgMTYyODEsIDEuMzc4Mjk1NDIxNjAwMzQxOF0sIFsxNjYzOTIyNjE2LjQ1OTI1NDcsIDE2Mjk5LCAxLjIyOTQyOTcyMTgzMjI3NTRdLCBbMTY2MzkyMjYxNy4yODg3ODUsIDE2MzgwLCAxLjAzMDAwNTY5MzQzNTY2OV0sIFsxNjYzOTIyNjE3LjY3MDI0ODUsIDE2NDE2LCAxLjMwNjgzNjM2NjY1MzQ0MjRdLCBbMTY2MzkyMjYxNy45Mjc5OTcsIDE2NDQzLCAwLjkzMjM5NTc1NjI0NDY1OTRdLCBbMTY2MzkyMjYxOC4wMTgxNTI3LCAxNjQ1MiwgMS4yNzY0MTQzOTQzNzg2NjJdLCBbMTY2MzkyMjYxOC4yMTAwOTk3LCAxNjQ3MCwgMS4xMDYyMzMzNTgzODMxNzg3XSwgWzE2NjM5MjI2MTguMzAwNzAxNCwgMTY0NzksIDEuMDk1ODc2NDU1MzA3MDA2OF0sIFsxNjYzOTIyNjE4LjQ4NjM4NTgsIDE2NDk3LCAxLjE5NTU2OTYzNDQzNzU2MV0sIFsxNjYzOTIyNjE4LjU4MzIzNzYsIDE2NTA2LCAxLjE0MzcxMjk5NzQzNjUyMzRdLCBbMTY2MzkyMjYxOC44NTM4MTE3LCAxNjUzMywgMS4yMDE4ODgzMjI4MzAyMDAyXSwgWzE2NjM5MjI2MTkuMDQ1MTYxNywgMTY1NTEsIDEuMTkzNjg2MjQ2ODcxOTQ4Ml0sIFsxNjYzOTIyNjE5LjY3ODI4MDQsIDE2NjE0LCAwLjk3OTU1MTE5NjA5ODMyNzZdLCBbMTY2MzkyMjYxOS43Njk1MDIsIDE2NjIzLCAxLjAwMDYxOTg4ODMwNTY2NF0sIFsxNjYzOTIyNjE5Ljg2MDIwNDcsIDE2NjMyLCAxLjE5NzM4MDQyMzU0NTgzNzRdLCBbMTY2MzkyMjYxOS45NTQ2NDA5LCAxNjY0MSwgMS4wNjg5Njc1ODA3OTUyODhdLCBbMTY2MzkyMjYyMC4yMzkwODQyLCAxNjY2OCwgMS4xNTY4MTI0Mjk0MjgxMDA2XSwgWzE2NjM5MjI2MjEuMDcwOTk0MSwgMTY3NDksIDEuMTY5NDA1MzQxMTQ4Mzc2NV0sIFsxNjYzOTIyNjIxLjU1NDI0NTUsIDE2Nzk0LCAxLjExODc2OTc2NDkwMDIwNzVdLCBbMTY2MzkyMjYyMS42NTQ4NDc0LCAxNjgwMywgMS4xNDA4NTk0ODQ2NzI1NDY0XSwgWzE2NjM5MjI2MjEuNzQ1NDg5NiwgMTY4MTIsIDEuMTUwODE4MzQ3OTMwOTA4Ml0sIFsxNjYzOTIyNjIyLjMxNjEzODUsIDE2ODQ4LCAxLjAzNjIyMzc2OTE4NzkyNzJdLCBbMTY2MzkyMjYyMi40MDU5Nzg0LCAxNjg1NywgMS4xMDAwMDMzNjE3MDE5NjUzXSwgWzE2NjM5MjI2MjIuNTc0NzYxOSwgMTY4NzUsIDEuMDIwODM3NTQ1Mzk0ODk3NV0sIFsxNjYzOTIyNjIyLjg4MzQwNDMsIDE2OTAyLCAxLjEwNDgyMzk0Njk1MjgxOThdLCBbMTY2MzkyMjYyMy4xOTE0NzQ0LCAxNjkyOSwgMS4wMDg1MDA0NTY4MDk5OTc2XSwgWzE2NjM5MjI2MjMuNDcwMTU1NywgMTY5NTYsIDEuMjg4ODgzNTY2ODU2Mzg0M10sIFsxNjYzOTIyNjIzLjU1NDQ0MTIsIDE2OTY1LCAxLjE4Mzg5NTU4NzkyMTE0MjZdLCBbMTY2MzkyMjYyMy43NDEzMDg3LCAxNjk4MywgMS4wMTgyNzc2NDUxMTEwODRdLCBbMTY2MzkyMjYyMy45MzkwOTUsIDE3MDAxLCAxLjEwNTA5MzcxNzU3NTA3MzJdLCBbMTY2MzkyMjYyNC4xMDkzMjgsIDE3MDE5LCAxLjI3MzY0OTU3MzMyNjExMDhdLCBbMTY2MzkyMjYyNC41Njg1MDksIDE3MDY0LCAwLjk3MzM3OTE5NDczNjQ4MDddLCBbMTY2MzkyMjYyNC45ODk1MDU1LCAxNzEwMCwgMC45NDI1MTIwOTQ5NzQ1MTc4XSwgWzE2NjM5MjI2MjUuMzI0MDM1NCwgMTcxMjcsIDAuOTczMDc3NDE2NDE5OTgyOV0sIFsxNjYzOTIyNjI1Ljk0MDY3ODYsIDE3MTgxLCAxLjA0MTE4ODgzNjA5NzcxNzNdLCBbMTY2MzkyMjYyNi4wNjE5NzM4LCAxNzE5MCwgMC45NTUyNzQzNDM0OTA2MDA2XSwgWzE2NjM5MjI2MjYuMTY0MzkzMiwgMTcxOTksIDEuMDI1NjM3ODY1MDY2NTI4M10sIFsxNjYzOTIyNjI2LjQ3MDgyMywgMTcyMjYsIDAuOTAzNDAzMDQzNzQ2OTQ4Ml0sIFsxNjYzOTIyNjI2Ljk2MDU4NCwgMTcyNzEsIDEuMzczMTI5OTYzODc0ODE3XSwgWzE2NjM5MjI2MjcuNTAxNzA2OCwgMTczMjUsIDAuOTk5MTIxNjY1OTU0NTg5OF0sIFsxNjYzOTIyNjI3LjU4NjQ4MSwgMTczMzQsIDEuMDA5Mjk3NjA5MzI5MjIzNl0sIFsxNjYzOTIyNjI3LjY4OTA5NiwgMTczNDMsIDAuOTkxNzAzODA4MzA3NjQ3N10sIFsxNjYzOTIyNjI4LjAyNDY0NDQsIDE3MzcwLCAwLjg5NTkwNDM2MjIwMTY5MDddLCBbMTY2MzkyMjYyOC4zMDY4MTE2LCAxNzM5NywgMS4yNDcxMzI1Mzk3NDkxNDU1XSwgWzE2NjM5MjI2MjguNTg5MjA4NiwgMTc0MjQsIDAuOTMzNTA0OTk4NjgzOTI5NF0sIFsxNjYzOTIyNjI4LjY3MjE3MjUsIDE3NDMzLCAxLjE2NDU0NjAxMjg3ODQxOF0sIFsxNjYzOTIyNjI5LjAzOTA0OSwgMTc0NjksIDEuMjQwMTUxMjg2MTI1MTgzXSwgWzE2NjM5MjI2MjkuMTI3NTksIDE3NDc4LCAxLjIwOTUwNjI3MzI2OTY1MzNdLCBbMTY2MzkyMjYyOS4yMjUyNzc3LCAxNzQ4NywgMC45MTQ2MDYzOTIzODM1NzU0XSwgWzE2NjM5MjI2MjkuNTU2NzMyNywgMTc1MTQsIDEuMDczNDM4NDA1OTkwNjAwNl0sIFsxNjYzOTIyNjI5Ljc1MDkyNTMsIDE3NTMyLCAxLjA2NzUzMDk4OTY0NjkxMTZdLCBbMTY2MzkyMjYzMC4wNTY4NjI0LCAxNzU1OSwgMC45NzUxNjI0NDY0OTg4NzA4XSwgWzE2NjM5MjI2MzAuMzQyNDA2LCAxNzU4NiwgMC45Njg3MDgzOTU5NTc5NDY4XSwgWzE2NjM5MjI2MzAuODE4MDM5MiwgMTc2MTMsIDEuMDQ5MTg2MjI5NzA1ODEwNV0sIFsxNjYzOTIyNjMxLjI3NzY0NDYsIDE3NjQ5LCAwLjk5MTgyOTgxMjUyNjcwMjldLCBbMTY2MzkyMjYzMS4zODY1MTI4LCAxNzY1OCwgMS4wNzQ2MTYxOTM3NzEzNjIzXSwgWzE2NjM5MjI2MzEuNDk3ODk3MSwgMTc2NjcsIDAuOTk5NzE5NTYwMTQ2MzMxOF0sIFsxNjYzOTIyNjMxLjYwNTYyMzUsIDE3Njc2LCAxLjMxMjYwOTY3MjU0NjM4NjddLCBbMTY2MzkyMjYzMS43MTczNjcsIDE3Njg1LCAxLjQzMDEwODc4NTYyOTI3MjVdLCBbMTY2MzkyMjYzMS45MDA5NDQ3LCAxNzcwMywgMS4yNTQ3MzI4NDcyMTM3NDUxXSwgWzE2NjM5MjI2MzEuOTk3MDQxNywgMTc3MTIsIDAuOTMzMjM5MDQyNzU4OTQxN10sIFsxNjYzOTIyNjMyLjA4MTI4MzYsIDE3NzIxLCAwLjk2ODkwNDY3NDA1MzE5MjFdLCBbMTY2MzkyMjYzMy4wMDA4MDQ0LCAxNzgwMiwgMS4yMDc0MjIyNTY0Njk3MjY2XSwgWzE2NjM5MjI2MzMuMjI3MzIxMSwgMTc4MjAsIDEuMjA2NjA5MTI5OTA1NzAwN10sIFsxNjYzOTIyNjMzLjM1MDQ3NiwgMTc4MjksIDEuMTcxODYzMzE3NDg5NjI0XSwgWzE2NjM5MjI2MzMuNDY5MDUyMywgMTc4MzgsIDEuMTQ4MTYxMTcyODY2ODIxM10sIFsxNjYzOTIyNjMzLjgzMDU0MTEsIDE3ODc0LCAwLjk0OTMyNzU4ODA4MTM1OTldLCBbMTY2MzkyMjYzNC4wMTMyODE4LCAxNzg5MiwgMC45MzY4OTkxODUxODA2NjQxXSwgWzE2NjM5MjI2MzQuMDk5NzQ5OCwgMTc5MDEsIDAuOTQ3MzU2MzQzMjY5MzQ4MV0sIFsxNjYzOTIyNjM0LjM1ODQzMDYsIDE3OTI4LCAwLjk0ODIyMzUzMTI0NjE4NTNdLCBbMTY2MzkyMjYzNC40NDg5NTg0LCAxNzkzNywgMS4xNzQ4NTM4MDE3MjcyOTVdLCBbMTY2MzkyMjYzNi44NTExNTc3LCAxODE1MywgMS4wMDIwOTA2OTI1MjAxNDE2XSwgWzE2NjM5MjI2MzYuOTQ5NzM4MywgMTgxNjIsIDEuMTQ0MTc4OTg2NTQ5Mzc3NF0sIFsxNjYzOTIyNjM3LjMxOTg3MDIsIDE4MTk4LCAxLjE4NjgxODI0MjA3MzA1OV0sIFsxNjYzOTIyNjM3LjQxNzg4OTgsIDE4MjA3LCAxLjA0NTgyNDc2NjE1OTA1NzZdLCBbMTY2MzkyMjYzNy44OTc3MzQ0LCAxODI0MywgMS4wNzg0Nzk3NjY4NDU3MDMxXSwgWzE2NjM5MjI2MzguMTI0NzcxOCwgMTgyNjEsIDEuMTAzOTQ0MzAxNjA1MjI0Nl0sIFsxNjYzOTIyNjM4LjQyOTcxODMsIDE4Mjg4LCAwLjk2NDU2NjY0ODAwNjQzOTJdLCBbMTY2MzkyMjYzOC43ODQ4MjkxLCAxODMyNCwgMS40NTU4NjM0NzU3OTk1NjA1XSwgWzE2NjM5MjI2MzguODY5MzI2NCwgMTgzMzMsIDAuOTc4Nzk3NzkzMzg4MzY2N10sIFsxNjYzOTIyNjM5LjIzMjI4NCwgMTgzNjksIDEuMDQ5NDIyOTc5MzU0ODU4NF0sIFsxNjYzOTIyNjM5LjY5MzY5MTUsIDE4Mzk2LCAxLjEwOTYzMjQ5MjA2NTQyOTddLCBbMTY2MzkyMjY0MC4wNDc0OTg1LCAxODQzMiwgMC45OTI3Nzc4MjQ0MDE4NTU1XSwgWzE2NjM5MjI2NDAuNjc3MTQ1LCAxODQ5NSwgMS40MzExMTI3NjYyNjU4NjkxXSwgWzE2NjM5MjI2NDAuNzY0NzI5NSwgMTg1MDQsIDEuMTM1MjU4NzkzODMwODcxNl0sIFsxNjYzOTIyNjQwLjg1NDI1OTUsIDE4NTEzLCAxLjU4MzYwMTM1NTU1MjY3MzNdLCBbMTY2MzkyMjY0MC45NDEzNzU1LCAxODUyMiwgMS4zODc5Nzk3NDU4NjQ4NjgyXSwgWzE2NjM5MjI2NDEuOTE1NjY4LCAxODYxMiwgMC45NjYyODM3Mzg2MTMxMjg3XSwgWzE2NjM5MjI2NDIuMDA0MzI3LCAxODYyMSwgMS42NDM2OTQxNjIzNjg3NzQ0XSwgWzE2NjM5MjI2NDIuMTkxMTk5LCAxODYzOSwgMS4xOTk2MTQ1MjQ4NDEzMDg2XSwgWzE2NjM5MjI2NDIuNTY5MTE1NiwgMTg2NzUsIDEuMDA1OTcwNTk3MjY3MTUwOV0sIFsxNjYzOTIyNjQzLjAzNjU1NSwgMTg3MjAsIDEuMTQ1NzI0NzczNDA2OTgyNF0sIFsxNjYzOTIyNjQzLjU1MDQyODYsIDE4NzY1LCAxLjA0MDQ0NjUxOTg1MTY4NDZdLCBbMTY2MzkyMjY0My43MzU4MDY3LCAxODc4MywgMS4wODA3MDU4ODExMTg3NzQ0XSwgWzE2NjM5MjI2NDMuODI5MzQ3NCwgMTg3OTIsIDEuMDA0NTEzMDI1MjgzODEzNV0sIFsxNjYzOTIyNjQ0LjAzODYyNTUsIDE4ODEwLCAxLjM1Njk5MTI5MTA0NjE0MjZdLCBbMTY2MzkyMjY0NC4xMjAzODI4LCAxODgxOSwgMS4wODU3MDEzNDYzOTc0XSwgWzE2NjM5MjI2NDQuMjA2MjUzMywgMTg4MjgsIDEuMTA4NjcyODU3Mjg0NTQ2XSwgWzE2NjM5MjI2NDQuNTk1MTM4NSwgMTg4NjQsIDEuMDE5MDQ5MDQ4NDIzNzY3XSwgWzE2NjM5MjI2NDQuNzg4MjUsIDE4ODgyLCAxLjE4MzAzNzg3NzA4MjgyNDddLCBbMTY2MzkyMjY0NC45MzY4NzQ0LCAxODg5MSwgMS4xMTIzNDkwMzMzNTU3MTNdLCBbMTY2MzkyMjY0NS4xNTc4MzEsIDE4OTA5LCAxLjA4NzQ5ODkwMzI3NDUzNjFdLCBbMTY2MzkyMjY0NS40NzY1MjMyLCAxODkzNiwgMC45NzU0NzM4ODA3Njc4MjIzXSwgWzE2NjM5MjI2NDUuNzM2NjY0LCAxODk1NCwgMS4xOTQ4NjQ3NDk5MDg0NDczXSwgWzE2NjM5MjI2NDYuMTM5ODIwNiwgMTg5OTAsIDEuMjU4NTM3MDU0MDYxODg5Nl0sIFsxNjYzOTIyNjQ2LjI0MzY3NDMsIDE4OTk5LCAwLjk0NDYzMjIzMjE4OTE3ODVdLCBbMTY2MzkyMjY0Ni43MDQ3NjEzLCAxOTAzNSwgMS4xMzY2ODQ3NzUzNTI0NzhdLCBbMTY2MzkyMjY0Ni44MDkyMDE1LCAxOTA0NCwgMS4xMzkxNjU3NTkwODY2MDg5XSwgWzE2NjM5MjI2NDcuMTg1MDMxLCAxOTA4MCwgMS4wMzM1Nzg4NzI2ODA2NjRdLCBbMTY2MzkyMjY0Ny4yNzM5Mjg5LCAxOTA4OSwgMS4wNjcxNTAzNTQzODUzNzZdLCBbMTY2MzkyMjY0Ny40NjI2MzksIDE5MTA3LCAxLjE4MDgzNTYwNDY2NzY2MzZdLCBbMTY2MzkyMjY0Ny41NzUzMDMzLCAxOTExNiwgMS4yNDUwMTU5Nzg4MTMxNzE0XSwgWzE2NjM5MjI2NDcuODc0MzY5OSwgMTkxMjUsIDEuMDIyNDY3NjEzMjIwMjE0OF0sIFsxNjYzOTIyNjQ4LjIwOTI2NTUsIDE5MTUyLCAxLjA0MTE3NDE3MzM1NTEwMjVdLCBbMTY2MzkyMjY0OC45ODI0NTc2LCAxOTIxNSwgMS4wNzAyNjA1MjQ3NDk3NTU5XSwgWzE2NjM5MjI2NDkuMDc2NjE4MiwgMTkyMjQsIDAuOTU3MzUxODYzMzg0MjQ2OF0sIFsxNjYzOTIyNjQ5LjE3Njc5MjEsIDE5MjMzLCAxLjE5NTcxNjg1NzkxMDE1NjJdLCBbMTY2MzkyMjY0OS40ODIxMTMxLCAxOTI2MCwgMC45NzE1MTY3ODgwMDU4Mjg5XSwgWzE2NjM5MjI2NDkuOTA2NTgyOCwgMTkyOTYsIDEuMDUyNTI1OTk3MTYxODY1Ml0sIFsxNjYzOTIyNjUwLjUzOTM4OTYsIDE5MzUwLCAxLjE1NDg4ODM5MTQ5NDc1MV0sIFsxNjYzOTIyNjUxLjA4MjMyNywgMTkzOTUsIDAuOTQ1NTgyNzQ3NDU5NDExNl0sIFsxNjYzOTIyNjUxLjYyMjYzMzIsIDE5NDQwLCAxLjA3MjI3MDAzNTc0MzcxMzRdLCBbMTY2MzkyMjY1MS43MjgwMjA0LCAxOTQ0OSwgMS4yODY5NDI5NTg4MzE3ODddLCBbMTY2MzkyMjY1MS45MDU2NTQ3LCAxOTQ2NywgMS4wMTY1NjE3NDY1OTcyOV0sIFsxNjYzOTIyNjUyLjU1NDgxNTUsIDE5NTMwLCAxLjE0ODY1MjE5NTkzMDQ4MV0sIFsxNjYzOTIyNjUzLjE0MjM0MTYsIDE5NTg0LCAxLjMwNDUxMDM1NDk5NTcyNzVdLCBbMTY2MzkyMjY1My4yMjkyMTksIDE5NTkzLCAxLjExNzgzMjU0MTQ2NTc1OTNdLCBbMTY2MzkyMjY1My45ODI3NTAyLCAxOTY1NiwgMS4xODExNjU1NzU5ODExNDAxXSwgWzE2NjM5MjI2NTQuMTY4NzQ2NywgMTk2NzQsIDEuMDI2ODkzOTczMzUwNTI1XSwgWzE2NjM5MjI2NTQuMzQ2Mzk2LCAxOTY5MiwgMS4wNjkxMjk1ODYyMTk3ODc2XSwgWzE2NjM5MjI2NTQuNTI1ODU1NSwgMTk3MTAsIDEuMjAwNDA3OTgxODcyNTU4Nl0sIFsxNjYzOTIyNjU0Ljk4MTYzNjMsIDE5NzU1LCAxLjE3MzU4NTE3NjQ2Nzg5NTVdLCBbMTY2MzkyMjY1NS41MjE4ODc4LCAxOTgwMCwgMS41MTM5NzI0MDE2MTg5NTc1XSwgWzE2NjM5MjI2NTUuNzAxNzgyMiwgMTk4MTgsIDEuMDE4NDcxNDc5NDE1ODkzNl0sIFsxNjYzOTIyNjU1LjgwODE0MSwgMTk4MjcsIDEuMTU0MDIzNDA4ODg5NzcwNV0sIFsxNjYzOTIyNjU1Ljg5MjQyMzIsIDE5ODM2LCAxLjA4MTcxMTI5MjI2Njg0NTddLCBbMTY2MzkyMjY1Ni40OTAzNDQzLCAxOTg5MCwgMS4wMTQ4MjQ3NDgwMzkyNDU2XSwgWzE2NjM5MjI2NTYuOTA2MjU5LCAxOTkwOCwgMS4yODA0NjE5MDczODY3Nzk4XSwgWzE2NjM5MjI2NTcuMDA4NTcsIDE5OTE3LCAxLjM2Njc3MDI2NzQ4NjU3MjNdLCBbMTY2MzkyMjY1Ny4yMDMwNDksIDE5OTM1LCAxLjM4MDg2MTE2MzEzOTM0MzNdLCBbMTY2MzkyMjY1Ny4yOTA4ODM4LCAxOTk0NCwgMS40MTQ1MTY5MjU4MTE3Njc2XSwgWzE2NjM5MjI2NTcuODE0MzU5LCAxOTk5OCwgMS4xNzExODI5OTAwNzQxNTc3XSwgWzE2NjM5MjI2NTguMTgzMzYxOCwgMjAwMzQsIDEuMjAyNzc2MTkzNjE4Nzc0NF0sIFsxNjYzOTIyNjU4LjM1OTAyMywgMjAwNTIsIDEuMDY3MDcwODQxNzg5MjQ1Nl0sIFsxNjYzOTIyNjU5LjE4MjA5NTgsIDIwMTMzLCAxLjQwMDg5NDQwMzQ1NzY0MTZdLCBbMTY2MzkyMjY1OS40NzYwMzcsIDIwMTYwLCAxLjMyMzU2MzA5ODkwNzQ3MDddLCBbMTY2MzkyMjY1OS43MzgwNjA1LCAyMDE4NywgMS4wNDQ2NDc4MTI4NDMzMjI4XSwgWzE2NjM5MjI2NTkuOTIwMjMzNSwgMjAyMDUsIDAuOTYyMDUxODA4ODM0MDc1OV0sIFsxNjYzOTIyNjYwLjgyMDA4OCwgMjAyOTUsIDEuMTc1MjQ2NDc3MTI3MDc1Ml0sIFsxNjYzOTIyNjYxLjA5NTkzOTksIDIwMzIyLCAxLjUyNTE4NDI3MzcxOTc4NzZdLCBbMTY2MzkyMjY2MS4xODI2NjI1LCAyMDMzMSwgMS4yMDIyMTgwNTU3MjUwOTc3XSwgWzE2NjM5MjI2NjEuNzM3MzY5NSwgMjAzODUsIDAuOTQ2NjQwNjEwNjk0ODg1M10sIFsxNjYzOTIyNjYyLjAyOTAyNSwgMjA0MTIsIDAuOTcwOTMxNTg5NjAzNDI0MV0sIFsxNjYzOTIyNjYyLjg1NjcwNTIsIDIwNDkzLCAwLjg3NDc1NTYyMDk1NjQyMDldLCBbMTY2MzkyMjY2My4yMDUxOTAyLCAyMDUyOSwgMS4yMDYxMTg4MjIwOTc3NzgzXSwgWzE2NjM5MjI2NjMuMzAxNzk2NywgMjA1MzgsIDEuMDU0NzIyNjY2NzQwNDE3NV0sIFsxNjYzOTIyNjYzLjg1NTIxOTEsIDIwNTc0LCAwLjk3ODA3NTUwNDMwMjk3ODVdLCBbMTY2MzkyMjY2NC41NDUxODI1LCAyMDYzNywgMS4xOTUyNDEzMzIwNTQxMzgyXSwgWzE2NjM5MjI2NjQuNjY2Mzg1LCAyMDY0NiwgMS4xNjcxOTMyOTM1NzE0NzIyXSwgWzE2NjM5MjI2NjUuNjE2MTU0MiwgMjA3MDksIDEuMTU4MjQ4NTQzNzM5MzE4OF0sIFsxNjYzOTIyNjY2LjA1NjMwNjYsIDIwNzU0LCAxLjE2MzM5NDU3MDM1MDY0N10sIFsxNjYzOTIyNjY2LjE0MzEyNTgsIDIwNzYzLCAxLjE5NDg2NzQ5MTcyMjEwN10sIFsxNjYzOTIyNjY2LjIzNDc0MiwgMjA3NzIsIDAuOTk3ODA1Mjk3Mzc0NzI1M10sIFsxNjYzOTIyNjY2LjQzMDM4OCwgMjA3OTAsIDEuMDAxMjg1MDc2MTQxMzU3NF0sIFsxNjYzOTIyNjY2LjYxMzkxMywgMjA4MDgsIDEuMDYxNTUwNjE3MjE4MDE3Nl0sIFsxNjYzOTIyNjY2Ljk1NzEyOTUsIDIwODQ0LCAxLjI5NDM1ODk2ODczNDc0MTJdLCBbMTY2MzkyMjY2Ny4wNTk5NjYzLCAyMDg1MywgMS4wNTU0OTI1MjAzMzIzMzY0XSwgWzE2NjM5MjI2NjcuMzI1NDg4NiwgMjA4ODAsIDAuOTU3NTY2Njc4NTI0MDE3M10sIFsxNjYzOTIyNjY3LjgxNTAxMDMsIDIwOTI1LCAxLjE4NTAyMzMwNzgwMDI5M10sIFsxNjYzOTIyNjY4LjMzMzQyNzIsIDIwOTc5LCAwLjg5NTc0MTIyNDI4ODk0MDRdLCBbMTY2MzkyMjY2OC41MTMxMDE2LCAyMDk5NywgMC45NzM1NDQwMDE1NzkyODQ3XSwgWzE2NjM5MjI2NjguNzkyODU5OCwgMjEwMjQsIDAuODUzMjgzNTI0NTEzMjQ0Nl0sIFsxNjYzOTIyNjY5LjI1MTExNDYsIDIxMDY5LCAxLjE5NzQ2NTA2MjE0MTQxODVdLCBbMTY2MzkyMjY2OS41MjExMDMxLCAyMTA4NywgMS4wMTI0OTQ5MjE2ODQyNjUxXSwgWzE2NjM5MjI2NjkuNjQ4MjYzMiwgMjEwOTYsIDAuOTY2ODE1OTQ4NDg2MzI4MV0sIFsxNjYzOTIyNjY5Ljc1MDg4NzksIDIxMTA1LCAxLjEzNTM5NTY0NjA5NTI3NTldLCBbMTY2MzkyMjY2OS45MzM5NzgsIDIxMTIzLCAxLjAyNDUxNjU4MjQ4OTAxMzddLCBbMTY2MzkyMjY3MC4wMjgyNTQ1LCAyMTEzMiwgMS4wMTY5MjUyMTU3MjExMzA0XSwgWzE2NjM5MjI2NzAuMzc5ODA5NCwgMjExNjgsIDEuMDA2NjcwODMyNjMzOTcyMl0sIFsxNjYzOTIyNjcwLjQ2NjQwNDcsIDIxMTc3LCAxLjI1MDAzODk4MTQzNzY4M10sIFsxNjYzOTIyNjcwLjU2MDc5NzIsIDIxMTg2LCAxLjAwMTYyOTExNDE1MTAwMV0sIFsxNjYzOTIyNjcxLjA2NTQxOSwgMjEyMjIsIDEuNjU1MDY1MDU5NjYxODY1Ml0sIFsxNjYzOTIyNjcxLjMxMjAzNTgsIDIxMjQwLCAwLjk1NjY4NTA2NjIyMzE0NDVdLCBbMTY2MzkyMjY3MS44NTIwMTEsIDIxMjk0LCAxLjA3MzI2NzkzNjcwNjU0M10sIFsxNjYzOTIyNjcyLjIxMzA2MzUsIDIxMzIxLCAwLjk5MTc0NTE3MzkzMTEyMThdLCBbMTY2MzkyMjY3Mi41MTQzMDcsIDIxMzQ4LCAwLjk2NzQ2MTEwOTE2MTM3N10sIFsxNjYzOTIyNjcyLjcwNzUzODEsIDIxMzY2LCAxLjA4MDk2MTQ2NTgzNTU3MTNdLCBbMTY2MzkyMjY3My4yNzU5ODYyLCAyMTQxMSwgMS4zMzkxNzYyOTcxODc4MDUyXSwgWzE2NjM5MjI2NzQuMDQxNjMyNywgMjE0NjUsIDEuMzE3NDUyOTA3NTYyMjU1OV0sIFsxNjYzOTIyNjc0LjQ5MzMxMSwgMjE1MTAsIDEuMDM3NzU4MjMxMTYzMDI1XSwgWzE2NjM5MjI2NzQuNjY5MTAxNywgMjE1MjgsIDEuMDA4OTAxNzE1Mjc4NjI1NV0sIFsxNjYzOTIyNjc0Ljg0Mzg3NDUsIDIxNTQ2LCAxLjU0MjY4NzI5Njg2NzM3MDZdLCBbMTY2MzkyMjY3NC45MzI4MTg0LCAyMTU1NSwgMC45NDk5MjIxNDQ0MTI5OTQ0XSwgWzE2NjM5MjI2NzUuMDE2MDgwNCwgMjE1NjQsIDEuMTYyMDY3NTMyNTM5MzY3N10sIFsxNjYzOTIyNjc1LjIwNzc4NDIsIDIxNTgyLCAxLjE1Njk0NjY1OTA4ODEzNDhdLCBbMTY2MzkyMjY3NS4yOTgwNDgzLCAyMTU5MSwgMS41MTAxNDcwOTQ3MjY1NjI1XSwgWzE2NjM5MjI2NzYuMjk0NDIwNywgMjE2ODEsIDEuMDk1NzAwMzgzMTg2MzQwM10sIFsxNjYzOTIyNjc2LjcwMDI3NjEsIDIxNzE3LCAxLjIzMTMxNzQwMDkzMjMxMl0sIFsxNjYzOTIyNjc2Ljk2ODA0MSwgMjE3NDQsIDEuMDU1MTM2NjgwNjAzMDI3M10sIFsxNjYzOTIyNjc3LjQzNjA0NjQsIDIxNzgwLCAxLjA4MDk2MzEzNDc2NTYyNV0sIFsxNjYzOTIyNjc4LjQxMDc3MywgMjE4NjEsIDEuMDc1MDc0MDc2NjUyNTI2OV0sIFsxNjYzOTIyNjc4LjY4NTk4NCwgMjE4ODgsIDAuOTY4MzQwNTE2MDkwMzkzMV0sIFsxNjYzOTIyNjc5LjE1NjU1NTIsIDIxOTI0LCAxLjIwMTYzNjkxMDQzODUzNzZdLCBbMTY2MzkyMjY3OS4yNTExMTIyLCAyMTkzMywgMS4yNTM5NDM4MDA5MjYyMDg1XSwgWzE2NjM5MjI2NzkuNTQzMzY0NSwgMjE5NjAsIDEuMDU3OTI2MTc3OTc4NTE1Nl0sIFsxNjYzOTIyNjc5LjcyODcwMTYsIDIxOTc4LCAxLjA3MDQwNjU1NjEyOTQ1NTZdLCBbMTY2MzkyMjY3OS44MTA4NTUyLCAyMTk4NywgMS4wMzY3MTk1NjA2MjMxNjldLCBbMTY2MzkyMjY4MC40ODQyOTI3LCAyMjA0MSwgMS4xNTUwOTQwMjc1MTkyMjZdLCBbMTY2MzkyMjY4MS4xNDE0Mjc1LCAyMjA5NSwgMC45NjMwNTYwMjc4ODkyNTE3XSwgWzE2NjM5MjI2ODEuNTk1NDMwNCwgMjIxMzEsIDEuMTMzOTQxNTMxMTgxMzM1NF0sIFsxNjYzOTIyNjgxLjk5NjAzNTgsIDIyMTY3LCAxLjM0NjUxMTAwNjM1NTI4NTZdLCBbMTY2MzkyMjY4Mi4xODQwNTQsIDIyMTg1LCAxLjA1MzUxNzEwMzE5NTE5MDRdLCBbMTY2MzkyMjY4Mi40NzM4MzgzLCAyMjE5NCwgMC45NTk2NzY4NjE3NjMwMDA1XSwgWzE2NjM5MjI2ODIuODE2Mjc3NywgMjIyMzAsIDEuMjQ0MDIyODQ2MjIxOTIzOF0sIFsxNjYzOTIyNjgzLjE0OTI0LCAyMjI2NiwgMS4wNjcwNjAxMTI5NTMxODZdLCBbMTY2MzkyMjY4My4zMjE3NjkyLCAyMjI4NCwgMS4zMTcyMTQyNTA1NjQ1NzUyXSwgWzE2NjM5MjI2ODMuNTE4MDIxLCAyMjMwMiwgMS41MzA4MzQ2NzQ4MzUyMDVdLCBbMTY2MzkyMjY4NC4xMjAxMjM0LCAyMjM2NSwgMS4wMDE2MjU0MTg2NjMwMjVdLCBbMTY2MzkyMjY4NC4yMDcyNzIzLCAyMjM3NCwgMS4yMTQ0NTE1NTE0MzczNzhdLCBbMTY2MzkyMjY4NC41ODQwODYsIDIyNDEwLCAxLjI3NDY4NjU3NDkzNTkxM10sIFsxNjYzOTIyNjg0LjkyMjczNCwgMjI0NDYsIDAuOTMxNDU3NDAwMzIxOTYwNF0sIFsxNjYzOTIyNjg1LjE3NzQ2MzgsIDIyNDczLCAxLjEwNDM5MjUyODUzMzkzNTVdLCBbMTY2MzkyMjY4NS4zNTQwMTIsIDIyNDkxLCAxLjE4NDczNDk0MDUyODg2OTZdLCBbMTY2MzkyMjY4NS40NTEzNzI2LCAyMjUwMCwgMC45NDk5NTAzOTcwMTQ2MTc5XSwgWzE2NjM5MjI2ODUuNTg1NjA4NywgMjI1MDksIDEuMDQ3NzEwODk1NTM4MzNdLCBbMTY2MzkyMjY4Ni4wMzA4MTYzLCAyMjUzNiwgMS4wNDI5MTI0ODMyMTUzMzJdLCBbMTY2MzkyMjY4Ni4zMDMwODUzLCAyMjU1NCwgMC45NDU0Mjk2ODI3MzE2Mjg0XSwgWzE2NjM5MjI2ODYuNDA4NzAyMSwgMjI1NjMsIDAuOTEyMTA1NDQxMDkzNDQ0OF0sIFsxNjYzOTIyNjg2LjU5MzcyMTIsIDIyNTgxLCAxLjA3NjY1MDI2MTg3ODk2NzNdLCBbMTY2MzkyMjY4Ni43Nzg0OTIyLCAyMjU5OSwgMS4wMDE5OTYxNTk1NTM1Mjc4XSwgWzE2NjM5MjI2ODcuMDcwNjQ3NywgMjI2MjYsIDEuMjE5MjU2OTk3MTA4NDU5NV0sIFsxNjYzOTIyNjg3LjIzODMyNjgsIDIyNjQ0LCAxLjEzMTYyMDI4Nzg5NTIwMjZdLCBbMTY2MzkyMjY4Ny40MTYzMTM2LCAyMjY2MiwgMS4xMzc3NTQyMDE4ODkwMzhdLCBbMTY2MzkyMjY4Ny41MDM3MjQsIDIyNjcxLCAxLjAxNjE3Mjg4NTg5NDc3NTRdLCBbMTY2MzkyMjY4Ny42MDA4NDIsIDIyNjgwLCAwLjk2ODIyMTkwMjg0NzI5XSwgWzE2NjM5MjI2ODcuNzkzMTYxLCAyMjY5OCwgMS4wNjY3MzI2NDUwMzQ3OV0sIFsxNjYzOTIyNjg3Ljk3MDkyMiwgMjI3MTYsIDEuMzg5OTQyNTI2ODE3MzIxOF0sIFsxNjYzOTIyNjg4LjQ0Nzg2MjksIDIyNzYxLCAxLjA1MzE4NzcyNzkyODE2MTZdLCBbMTY2MzkyMjY4OC42MTQ4MDM4LCAyMjc3OSwgMS4zMDQ5MTQyMzYwNjg3MjU2XSwgWzE2NjM5MjI2ODguNzE2OTU5LCAyMjc4OCwgMC45NzUyNTExOTc4MTQ5NDE0XSwgWzE2NjM5MjI2ODguOTA0NDg0NSwgMjI4MDYsIDEuMjk5NTEwMzU5NzY0MDk5MV0sIFsxNjYzOTIyNjg5LjM2NDMxODYsIDIyODUxLCAxLjEwNDExMzM0MDM3NzgwNzZdLCBbMTY2MzkyMjY4OS41NDQwNzYyLCAyMjg2OSwgMC45NDAzMjUwODEzNDg0MTkyXSwgWzE2NjM5MjI2ODkuNzEyMjYyMiwgMjI4ODcsIDEuMDE2ODUyODU1NjgyMzczXSwgWzE2NjM5MjI2ODkuODA2NjEzMiwgMjI4OTYsIDEuMDAyNzcxMzc3NTYzNDc2Nl0sIFsxNjYzOTIyNjkxLjAzMzE5ODgsIDIyOTk1LCAxLjIyOTkyODM3NDI5MDQ2NjNdLCBbMTY2MzkyMjY5MS41Nzk4OTk1LCAyMzA0OSwgMS4wNzc1MTc4NjcwODgzMTc5XSwgWzE2NjM5MjI2OTIuMDQ2MDYxMywgMjMwOTQsIDEuMTYwNDcwMTI4MDU5Mzg3Ml0sIFsxNjYzOTIyNjkyLjE0MjQzNTgsIDIzMTAzLCAxLjAxNzc2NTE2NDM3NTMwNTJdLCBbMTY2MzkyMjY5Mi4zMjYyOTMsIDIzMTIxLCAxLjI1NDIxOTI5MzU5NDM2MDRdLCBbMTY2MzkyMjY5Mi41OTY4MDYsIDIzMTQ4LCAxLjA2NTkyMDM1MjkzNTc5MV0sIFsxNjYzOTIyNjkyLjk3NTk1NDMsIDIzMTg0LCAwLjk1MTYyNTg4MzU3OTI1NDJdLCBbMTY2MzkyMjY5My4xNTc2NzgsIDIzMjAyLCAxLjI2MjM3NTQ3Mzk3NjEzNTNdLCBbMTY2MzkyMjY5My4yNTAyMjQsIDIzMjExLCAwLjkyNTU2OTcxMzExNTY5MjFdLCBbMTY2MzkyMjY5My42OTY5NzcsIDIzMjU2LCAxLjA3MDQ2MzQxODk2MDU3MTNdLCBbMTY2MzkyMjY5My43ODExMzQ4LCAyMzI2NSwgMS4wMTg5MzEyNjk2NDU2OTFdLCBbMTY2MzkyMjY5My44NjE5MTUsIDIzMjc0LCAxLjIxNjQ2MDgyNDAxMjc1NjNdLCBbMTY2MzkyMjY5NC4xNDMwMjMsIDIzMzAxLCAxLjI2MjY4NjAxNDE3NTQxNV0sIFsxNjYzOTIyNjk0LjIyNDg4MDIsIDIzMzEwLCAxLjI0NzA3NzM0NTg0ODA4MzVdLCBbMTY2MzkyMjY5NC40ODcyNjk2LCAyMzMzNywgMS41OTk5OTA2MDYzMDc5ODM0XSwgWzE2NjM5MjI2OTUuMDA1NjU5MywgMjMzOTEsIDEuMTcwNDk4NjA5NTQyODQ2N10sIFsxNjYzOTIyNjk1LjA5NDU2MzIsIDIzNDAwLCAxLjA1NjcyMTQ0ODg5ODMxNTRdLCBbMTY2MzkyMjY5NS4yNzU0MTUsIDIzNDE4LCAxLjAzMTY0ODc1NTA3MzU0NzRdLCBbMTY2MzkyMjY5NS40NTE0NTkyLCAyMzQzNiwgMC45OTYwOTA1OTA5NTM4MjY5XSwgWzE2NjM5MjI2OTUuNjIxODc5OCwgMjM0NTQsIDEuMDYxNDcwMTUwOTQ3NTcwOF0sIFsxNjYzOTIyNjk1LjcxNDg5NjIsIDIzNDYzLCAxLjExMjgxNzUyNTg2MzY0NzVdLCBbMTY2MzkyMjY5Ni43ODEyMDEsIDIzNTYyLCAwLjk5MDY1NDk0NTM3MzUzNTJdLCBbMTY2MzkyMjY5Ni45MTMzOTkyLCAyMzU3MSwgMC45ODU4MDI1MzEyNDIzNzA2XSwgWzE2NjM5MjI2OTcuMDUzODUxLCAyMzU4MCwgMS4xNTE3NjA2OTczNjQ4MDcxXSwgWzE2NjM5MjI2OTcuMzg4NDgxNiwgMjM2MDcsIDAuOTc4ODg3NDk4Mzc4NzUzN10sIFsxNjYzOTIyNjk3LjkyNzA2MzIsIDIzNjUyLCAxLjExOTIyNzc2Njk5MDY2MTZdLCBbMTY2MzkyMjY5OC4wMjEwMDMsIDIzNjYxLCAwLjk0MDIxNjc3OTcwODg2MjNdLCBbMTY2MzkyMjY5OC42ODE1MzI2LCAyMzcwNiwgMS4wMDA3MzY4MzI2MTg3MTM0XSwgWzE2NjM5MjI2OTguNzY4OTgyMiwgMjM3MTUsIDEuMDAxMzgzMDY2MTc3MzY4Ml0sIFsxNjYzOTIyNjk4Ljg1Mzg2NCwgMjM3MjQsIDEuMTM0OTU2MzU5ODYzMjgxMl0sIFsxNjYzOTIyNjk4LjkzNzk0MTMsIDIzNzMzLCAxLjEwMjMxNjQ5ODc1NjQwODddLCBbMTY2MzkyMjY5OS4xMTEzODI1LCAyMzc1MSwgMS40NDg1MTYzNjg4NjU5NjY4XSwgWzE2NjM5MjI2OTkuMjAwMDIzLCAyMzc2MCwgMS4xMjA0MDA5MDU2MDkxMzA5XSwgWzE2NjM5MjI2OTkuMjk0NjUwMywgMjM3NjksIDAuOTQ3NjYzMTg3OTgwNjUxOV0sIFsxNjYzOTIyNjk5LjU3NzM1NjMsIDIzNzk2LCAxLjE4Nzc0ODMxMjk1MDEzNDNdLCBbMTY2MzkyMjcwMC41NzA2NDMsIDIzODk1LCAwLjk0MTc4NzYwMDUxNzI3M10sIFsxNjYzOTIyNzAxLjEwNDQ1NDgsIDIzOTQ5LCAxLjA1MDA3MjMxMjM1NTA0MTVdLCBbMTY2MzkyMjcwMS4zMzA3MzUyLCAyMzk2NywgMS4zNDM1OTQ5MDg3MTQyOTQ0XSwgWzE2NjM5MjI3MDEuODEwMzE5NywgMjQwMTIsIDEuMDA0OTE3MjYzOTg0NjgwMl0sIFsxNjYzOTIyNzAyLjA3NzQzMzgsIDI0MDM5LCAwLjk0MjYxNTAzMjE5NjA0NDldLCBbMTY2MzkyMjcwMi4xNzY5NzA3LCAyNDA0OCwgMS4yOTA4NTQ1NzMyNDk4MTddLCBbMTY2MzkyMjcwMi4yNjQzNzI2LCAyNDA1NywgMC45MzExNDg3Njc0NzEzMTM1XSwgWzE2NjM5MjI3MDIuNDQ0NjA5MiwgMjQwNzUsIDAuOTUwMTgzNTcwMzg0OTc5Ml0sIFsxNjYzOTIyNzAzLjEwOTE5NiwgMjQxMzgsIDAuOTMzMjQxOTAzNzgxODkwOV0sIFsxNjYzOTIyNzAzLjM3NTY5MjEsIDI0MTY1LCAxLjA3NTAxMTczMDE5NDA5MThdLCBbMTY2MzkyMjcwMy41OTE5MzA0LCAyNDE4MywgMS4zMTI2Mzg3NTk2MTMwMzddLCBbMTY2MzkyMjcwMy44ODg1NTk4LCAyNDIxMCwgMC45ODY0Mjg2MTg0MzEwOTEzXSwgWzE2NjM5MjI3MDQuMjA4MzczLCAyNDIyOCwgMS4wODgxNTc1MzQ1OTkzMDQyXSwgWzE2NjM5MjI3MDQuNDQ5MjkzLCAyNDI0NiwgMS4xNTA4MDI4NTA3MjMyNjY2XSwgWzE2NjM5MjI3MDUuMjA0MjYzNCwgMjQzMTgsIDAuOTUwOTg1MDE0NDM4NjI5Ml0sIFsxNjYzOTIyNzA1LjI4NDc3NjIsIDI0MzI3LCAwLjkwMjUwMTg4MTEyMjU4OTFdLCBbMTY2MzkyMjcwNS4zODE2NjE0LCAyNDMzNiwgMC45NjQ5OTAxMzkwMDc1Njg0XSwgWzE2NjM5MjI3MDUuNDgwODAyNSwgMjQzNDUsIDEuMDg1NTUyMjE1NTc2MTcxOV0sIFsxNjYzOTIyNzA1LjY1NzY2MzgsIDI0MzYzLCAxLjAxMzE1ODU1OTc5OTE5NDNdLCBbMTY2MzkyMjcwNS44NDU4MDMzLCAyNDM4MSwgMS4xNjY1NjQ4MjIxOTY5NjA0XSwgWzE2NjM5MjI3MDUuOTQ0OTA2NSwgMjQzOTAsIDEuMDQwNzgwNDI1MDcxNzE2M10sIFsxNjYzOTIyNzA2LjA0NjcyMywgMjQzOTksIDAuOTU4OTI0MTE0NzA0MTMyMV0sIFsxNjYzOTIyNzA2LjI1MTIzNjcsIDI0NDE3LCAwLjkzOTA5MzA1MzM0MDkxMTldLCBbMTY2MzkyMjcwNi4zNDI3Njk5LCAyNDQyNiwgMC45ODE5NDA0NDgyODQxNDkyXSwgWzE2NjM5MjI3MDYuNDQ2NjYwMywgMjQ0MzUsIDEuMTM5NTY4OTI0OTAzODY5Nl0sIFsxNjYzOTIyNzA2LjkwMjY5NjQsIDI0NDYyLCAwLjk5ODg5MDQ1OTUzNzUwNjFdLCBbMTY2MzkyMjcwNi45OTUzNDk0LCAyNDQ3MSwgMC45NzIyOTExNzE1NTA3NTA3XSwgWzE2NjM5MjI3MDcuMDk2NTU1NywgMjQ0ODAsIDEuMDIxNzMzNDAzMjA1ODcxNl0sIFsxNjYzOTIyNzA3LjU0ODk1OTcsIDI0NTI1LCAxLjM4MDE1Njk5Mzg2NTk2NjhdLCBbMTY2MzkyMjcwNy42NDk1OTksIDI0NTM0LCAxLjA0Mjg3MTIzNjgwMTE0NzVdLCBbMTY2MzkyMjcwNy44MzY2MjIyLCAyNDU1MiwgMS4xMTA5MzAwODUxODIxOV0sIFsxNjYzOTIyNzA4LjAxMzgxNzUsIDI0NTcwLCAxLjIxMTY0NTQ4Mzk3MDY0Ml0sIFsxNjYzOTIyNzA4LjExNzU4MywgMjQ1NzksIDAuOTQ2MzQzODM5MTY4NTQ4Nl0sIFsxNjYzOTIyNzA4LjQ3NTMyMjUsIDI0NjE1LCAwLjk3MDQ0MDM4NzcyNTgzMDFdLCBbMTY2MzkyMjcwOC41NzEwNjc4LCAyNDYyNCwgMS4wMzk0MDUxMDc0OTgxNjldLCBbMTY2MzkyMjcwOC45MzIyNzYsIDI0NjYwLCAxLjAxMDMyMjkyODQyODY1XSwgWzE2NjM5MjI3MDkuMDI1MDQxNiwgMjQ2NjksIDEuMDUwODE5MTU4NTU0MDc3MV0sIFsxNjYzOTIyNzA5LjExNzUzNTgsIDI0Njc4LCAxLjQxNTE0MDYyODgxNDY5NzNdLCBbMTY2MzkyMjcwOS4yMTA3NzYzLCAyNDY4NywgMS4zMzYwMTQyNzA3ODI0NzA3XSwgWzE2NjM5MjI3MDkuMzkxNjMyOCwgMjQ3MDUsIDAuOTE5ODgwMjExMzUzMzAyXSwgWzE2NjM5MjI3MDkuNDcyMTM3LCAyNDcxNCwgMS4wMTEzMTU4MjI2MDEzMTg0XSwgWzE2NjM5MjI3MDkuNTYwMzE1OCwgMjQ3MjMsIDAuOTcyMTgwMDA4ODg4MjQ0Nl0sIFsxNjYzOTIyNzEwLjI0MDE3NzIsIDI0Nzg2LCAxLjI0MTMyMDAxMzk5OTkzOV0sIFsxNjYzOTIyNzEwLjMyOTg1NjksIDI0Nzk1LCAwLjk5NTYzOTU2MjYwNjgxMTVdLCBbMTY2MzkyMjcxMC40MjAyMTk0LCAyNDgwNCwgMS4yMDU3Mzc1OTA3ODk3OTVdLCBbMTY2MzkyMjcxMC42ODg3MTgzLCAyNDgzMSwgMC45NTkwMTA2MDEwNDM3MDEyXSwgWzE2NjM5MjI3MTAuODY2NTY4LCAyNDg0OSwgMS4wODc2ODY4OTYzMjQxNTc3XSwgWzE2NjM5MjI3MTAuOTk1NDI1LCAyNDg1OCwgMC45OTQ1MjM2NDQ0NDczMjY3XSwgWzE2NjM5MjI3MTEuNDcxNDc3MywgMjQ4OTQsIDAuOTExNDIyNTUwNjc4MjUzMl0sIFsxNjYzOTIyNzExLjczNTY0MDMsIDI0OTIxLCAxLjQyNTAyNTkzOTk0MTQwNjJdLCBbMTY2MzkyMjcxMS45OTI0NzU1LCAyNDk0OCwgMS4xNDI2Njg3MjQwNjAwNTg2XSwgWzE2NjM5MjI3MTIuMTg4MDA2NiwgMjQ5NjYsIDAuOTQyNjU2Njk1ODQyNzQyOV0sIFsxNjYzOTIyNzEyLjM3MTkzMzcsIDI0OTg0LCAxLjE5NzA2NzYxODM3MDA1NjJdLCBbMTY2MzkyMjcxMi41NDkyNTg1LCAyNTAwMiwgMS4wNzE4MTczOTgwNzEyODldLCBbMTY2MzkyMjcxMi42MzE5ODAyLCAyNTAxMSwgMS4xODcyMDUwNzYyMTc2NTE0XSwgWzE2NjM5MjI3MTIuNzIwODY5OCwgMjUwMjAsIDEuMTYxMDgzMzQwNjQ0ODM2NF0sIFsxNjYzOTIyNzEzLjE1ODU1NiwgMjUwNjUsIDAuOTQ2NDMxODE1NjI0MjM3MV0sIFsxNjYzOTIyNzEzLjI0Nzg2OTMsIDI1MDc0LCAxLjA1NzQxMDAwMTc1NDc2MDddLCBbMTY2MzkyMjcxNC41MDkwNjQsIDI1MTgyLCAxLjAyMzkwNTYzNDg4MDA2Nl0sIFsxNjYzOTIyNzE0LjY4MDY4NzcsIDI1MjAwLCAxLjI1MDE1NjQwMjU4Nzg5MDZdLCBbMTY2MzkyMjcxNS4yOTI4OTUsIDI1MjYzLCAxLjEwODQ1NTUzODc0OTY5NDhdLCBbMTY2MzkyMjcxNS44MTcwMjUsIDI1MzE3LCAwLjk1OTg3NTM0NTIzMDEwMjVdLCBbMTY2MzkyMjcxNS44OTYwNjg2LCAyNTMyNiwgMS4yOTM5MDgxMTkyMDE2NjAyXSwgWzE2NjM5MjI3MTYuODgyMzkzNCwgMjU0MjUsIDEuNjkxNzk0NTE0NjU2MDY3XSwgWzE2NjM5MjI3MTYuOTcxNzU1NSwgMjU0MzQsIDEuMzQxMTg4MzExNTc2ODQzM10sIFsxNjYzOTIyNzE3LjQzOTczMiwgMjU0NzksIDAuOTI4MTA5NTI2NjM0MjE2M10sIFsxNjYzOTIyNzE3Ljc5NzUzOSwgMjU1MTUsIDEuMTQyNzQ4MTE3NDQ2ODk5NF0sIFsxNjYzOTIyNzE3Ljg4NTM4OSwgMjU1MjQsIDEuMzIxNjMxNTUwNzg4ODc5NF1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_09-03-21_54c5144e9b50&tag=Loss%2Fvalid":{"data":"W1sxNjYzOTIzODAxLjU1Mzc1NzQsIDM2LCAxODcuOTI5NDU4NjE4MTY0MDZdLCBbMTY2MzkyMzgwMS42NTk1MzQsIDQ1LCAxNjkuMDA5OTQ4NzMwNDY4NzVdLCBbMTY2MzkyMzgwMi4zMTEwNTI4LCA5OSwgMTgzLjYwMzQwODgxMzQ3NjU2XSwgWzE2NjM5MjM4MDIuNzc3MDc0MywgMTM1LCAxNjMuMzMxNjk1NTU2NjQwNjJdLCBbMTY2MzkyMzgwMi44OTY5NjM4LCAxNDQsIDE3NS42OTg3NjA5ODYzMjgxMl0sIFsxNjYzOTIzODAzLjIzNTg2MTgsIDE3MSwgMTY2Ljk2NDU1MzgzMzAwNzhdLCBbMTY2MzkyMzgwMy4zNTIwNzA2LCAxODAsIDE3MC44NDI1MTQwMzgwODU5NF0sIFsxNjYzOTIzODAzLjQ3MDE0ODYsIDE4OSwgMTc2LjQyNDA1NzAwNjgzNTk0XSwgWzE2NjM5MjM4MDMuNjk0MTE0NCwgMjA3LCAxNjguOTc0NTQ4MzM5ODQzNzVdLCBbMTY2MzkyMzgwMy44MDA5NDU1LCAyMTYsIDE2MS4wNTQ5MDExMjMwNDY4OF0sIFsxNjYzOTIzODA0LjEyNzcyMiwgMjQzLCAxNzMuNjU0NDc5OTgwNDY4NzVdLCBbMTY2MzkyMzgwNC4yMzY5NzM4LCAyNTIsIDE1OC4xNzUyOTI5Njg3NV0sIFsxNjYzOTIzODA1LjQ5OTQ3ODYsIDM1MSwgMTU1LjA2NjcxMTQyNTc4MTI1XSwgWzE2NjM5MjM4MDUuNzI5NDM1MiwgMzY5LCAxNDUuNDgzNjg4MzU0NDkyMl0sIFsxNjYzOTIzODA2LjY4MTY4MzgsIDQzMiwgMTUxLjg0MjM3NjcwODk4NDM4XSwgWzE2NjM5MjM4MDYuODAxMjE3NiwgNDQxLCAxNjYuMDQ0OTUyMzkyNTc4MTJdLCBbMTY2MzkyMzgwNi45MTYwMDk3LCA0NTAsIDE1OS4xNjEwMTA3NDIxODc1XSwgWzE2NjM5MjM4MDcuMTQyNjYyLCA0NjgsIDEzNS44MTQzNzY4MzEwNTQ3XSwgWzE2NjM5MjM4MDcuNDgzMTczOCwgNDk1LCAxMzcuODAyMTg1MDU4NTkzNzVdLCBbMTY2MzkyMzgwNy44MzIyNDc1LCA1MjIsIDEzNy44MzYzMDM3MTA5Mzc1XSwgWzE2NjM5MjM4MDguMTgzOTY2NCwgNTQ5LCAxNDMuMzUzNzEzOTg5MjU3OF0sIFsxNjYzOTIzODA4LjI5NTU0NDYsIDU1OCwgMTMzLjgzMTE3Njc1NzgxMjVdLCBbMTY2MzkyMzgwOC40MTIyMDg4LCA1NjcsIDE0NC4zMzAwMTcwODk4NDM3NV0sIFsxNjYzOTIzODA4LjUyODQ4MjcsIDU3NiwgMTM5LjM5MTUyNTI2ODU1NDddLCBbMTY2MzkyMzgwOC43NjA5NDc3LCA1OTQsIDE1NC42MTIyMTMxMzQ3NjU2Ml0sIFsxNjYzOTIzODA4Ljg4NDU1OSwgNjAzLCAxMzguMDM1MjE3Mjg1MTU2MjVdLCBbMTY2MzkyMzgwOS4wMDQwNjQsIDYxMiwgMTQwLjc1MzcwNzg4NTc0MjJdLCBbMTY2MzkyMzgwOS4xMjA3MTM3LCA2MjEsIDEzMS45OTQzODQ3NjU2MjVdLCBbMTY2MzkyMzgwOS4zNjI5NzEzLCA2MzksIDE0My40MjAwMjg2ODY1MjM0NF0sIFsxNjYzOTIzODA5LjQ4NDkxMywgNjQ4LCAxMzUuNTkwODM1NTcxMjg5MDZdLCBbMTY2MzkyMzgxMC4xNTk0NzEzLCA3MDIsIDEzMy4yMjg3OTAyODMyMDMxMl0sIFsxNjYzOTIzODEwLjM3NTQ4MDcsIDcyMCwgMTM2LjI2MjQyMDY1NDI5Njg4XSwgWzE2NjM5MjM4MTAuNzEwMzM0NSwgNzQ3LCAxMzIuNjg2ODU5MTMwODU5MzhdLCBbMTY2MzkyMzgxMS4wMzYxNTYsIDc3NCwgMTE2LjM2MDc1NTkyMDQxMDE2XSwgWzE2NjM5MjM4MTEuNDc2OTIyNSwgODEwLCAxMzYuMDM5MjQ1NjA1NDY4NzVdLCBbMTY2MzkyMzgxMi41MjcwNzU4LCA5MDAsIDEzMy42MDM5NTgxMjk4ODI4XSwgWzE2NjM5MjM4MTIuOTkwMTYyNCwgOTM2LCAxMTQuMzAwMzA4MjI3NTM5MDZdLCBbMTY2MzkyMzgxMy4zMjE5NDQ3LCA5NjMsIDExOC4xMjMzMDYyNzQ0MTQwNl0sIFsxNjYzOTIzODEzLjQyMjU5MSwgOTcyLCAxMjguODE1NzM0ODYzMjgxMjVdLCBbMTY2MzkyMzgxMy42NDE1OTk3LCA5OTAsIDEzOC40NDQxOTg2MDgzOTg0NF0sIFsxNjYzOTIzODE0LjQyNDIwMSwgMTA1MywgMTM3LjgyMjU1NTU0MTk5MjJdLCBbMTY2MzkyMzgxNS4wMDA2NzYyLCAxMDk4LCAxMjAuNDY4MzIyNzUzOTA2MjVdLCBbMTY2MzkyMzgxNS40MzU2NTQ2LCAxMTM0LCAxMzAuNzM5ODA3MTI4OTA2MjVdLCBbMTY2MzkyMzgxNS41NTIyNywgMTE0MywgMTExLjA4MzE0NTE0MTYwMTU2XSwgWzE2NjM5MjM4MTUuNzY0MzM3OCwgMTE2MSwgMTMyLjg4NTMxNDk0MTQwNjI1XSwgWzE2NjM5MjM4MTUuOTYxNjkyNiwgMTE3OSwgMTEzLjg0ODcwMTQ3NzA1MDc4XSwgWzE2NjM5MjM4MTYuNzgxODYxLCAxMjMzLCAxMjguNjY3MjgyMTA0NDkyMl0sIFsxNjYzOTIzODE2Ljg3NzYzMywgMTI0MiwgMTE5LjQzNjczNzA2MDU0Njg4XSwgWzE2NjM5MjM4MTcuNjU3MDc4MywgMTMwNSwgMTMyLjkwMzM4MTM0NzY1NjI1XSwgWzE2NjM5MjM4MTcuODY3NDMsIDEzMjMsIDEwMy42OTA1MjEyNDAyMzQzOF0sIFsxNjYzOTIzODE3Ljk5NjI4OTMsIDEzMzIsIDEyMi4xNTM3ODU3MDU1NjY0XSwgWzE2NjM5MjM4MTguMzEyODc5OCwgMTM1OSwgMTAzLjAxMDYxMjQ4Nzc5Mjk3XSwgWzE2NjM5MjM4MTkuMDY5NzYwOCwgMTQyMiwgMTAyLjI5MzA4MzE5MDkxNzk3XSwgWzE2NjM5MjM4MTkuMzk1Njg1NCwgMTQ0OSwgMTA2LjE3NzQ5MDIzNDM3NV0sIFsxNjYzOTIzODE5LjU4NTk5MywgMTQ2NywgMTE2LjEzNDM3NjUyNTg3ODldLCBbMTY2MzkyMzgxOS43OTEyMTcsIDE0ODUsIDExMS42MDk3NzkzNTc5MTAxNl0sIFsxNjYzOTIzODIwLjM5MDI4NzIsIDE1MzksIDExMS4xMDU4OTU5OTYwOTM3NV0sIFsxNjYzOTIzODIwLjQ5MTExMTgsIDE1NDgsIDEwMS41MzU3MDU1NjY0MDYyNV0sIFsxNjYzOTIzODIwLjU4MTk4MjEsIDE1NTcsIDEwMi41NzM2Mzg5MTYwMTU2Ml0sIFsxNjYzOTIzODIxLjA3NDk0MjgsIDE2MDIsIDk3LjUxNzI4ODIwODAwNzgxXSwgWzE2NjM5MjM4MjEuNDc4Nzc5LCAxNjM4LCAxMDguNjUwMzM3MjE5MjM4MjhdLCBbMTY2MzkyMzgyMS43NzE3NTI0LCAxNjY1LCAxMDEuNTY0MTg2MDk2MTkxNF0sIFsxNjYzOTIzODIxLjg2OTAyNDgsIDE2NzQsIDEwNC40MjQ0OTk1MTE3MTg3NV0sIFsxNjYzOTIzODIxLjk4NzA4MTgsIDE2ODMsIDEwMi4wNDQxODk0NTMxMjVdLCBbMTY2MzkyMzgyMi4zOTAzMzQsIDE3MTksIDkyLjczOTU1NTM1ODg4NjcyXSwgWzE2NjM5MjM4MjIuNDgzNTQ4LCAxNzI4LCA4Ni4zMTQyMTY2MTM3Njk1M10sIFsxNjYzOTIzODIyLjYwNzIyNCwgMTczNywgMTA0LjQ1Mzg4NzkzOTQ1MzEyXSwgWzE2NjM5MjM4MjMuMzgwMTU5OSwgMTgwMCwgOTcuODc3NDU2NjY1MDM5MDZdLCBbMTY2MzkyMzgyMy43MDExMzIzLCAxODI3LCA5OS4yOTM0MjY1MTM2NzE4OF0sIFsxNjYzOTIzODIzLjc5MzQwMywgMTgzNiwgODAuNjY5MjUwNDg4MjgxMjVdLCBbMTY2MzkyMzgyMy44ODY2Nzc3LCAxODQ1LCA3NC40MTI0Njc5NTY1NDI5N10sIFsxNjYzOTIzODIzLjk4OTMyOCwgMTg1NCwgMTAwLjg4OTA5OTEyMTA5Mzc1XSwgWzE2NjM5MjM4MjQuMjAyMjc1OCwgMTg3MiwgODYuNjM1NzcyNzA1MDc4MTJdLCBbMTY2MzkyMzgyNC42MTQwODM1LCAxOTA4LCA4My41MTk2MzA0MzIxMjg5XSwgWzE2NjM5MjM4MjQuODA0NTY1LCAxOTI2LCA4OC4xOTA1NzQ2NDU5OTYxXSwgWzE2NjM5MjM4MjQuOTk1MTk3MywgMTk0NCwgNzguMzA1MzgxNzc0OTAyMzRdLCBbMTY2MzkyMzgyNS40OTUzMDg0LCAxOTgwLCA3OS40OTcyMzA1Mjk3ODUxNl0sIFsxNjYzOTIzODI1LjgxNjY1MTYsIDE5ODksIDg1LjAxOTQyNDQzODQ3NjU2XSwgWzE2NjM5MjM4MjUuOTMxMDIyMiwgMTk5OCwgODEuOTI3MTc3NDI5MTk5MjJdLCBbMTY2MzkyMzgyNi4zMDc5ODc3LCAyMDI1LCA4Ni45OTQwMTA5MjUyOTI5N10sIFsxNjYzOTIzODI2Ljg0MDIzNDgsIDIwNzAsIDgxLjA2NjMwNzA2Nzg3MTFdLCBbMTY2MzkyMzgyNy44NTUyMTE1LCAyMTYwLCA4Ni45MzM1NzA4NjE4MTY0XSwgWzE2NjM5MjM4MjguMDQ2NjY3NiwgMjE3OCwgODUuODgzMDk0Nzg3NTk3NjZdLCBbMTY2MzkyMzgyOC40MjcwNDIsIDIyMDUsIDc0LjYxNTk1OTE2NzQ4MDQ3XSwgWzE2NjM5MjM4MjguNTY5MjI3LCAyMjE0LCA3OC44ODE5NjU2MzcyMDcwM10sIFsxNjYzOTIzODI4LjY3NTE3MywgMjIyMywgODEuODgzMTI1MzA1MTc1NzhdLCBbMTY2MzkyMzgyOS42NzA4NTMsIDIyOTUsIDcyLjQ2MzgzNjY2OTkyMTg4XSwgWzE2NjM5MjM4MzAuMTU3NjM4NSwgMjMzMSwgNzMuODgyNDIzNDAwODc4OV0sIFsxNjYzOTIzODMwLjI2NDE1MjUsIDIzNDAsIDcxLjI5MTcxNzUyOTI5Njg4XSwgWzE2NjM5MjM4MzAuMzU1ODMyOCwgMjM0OSwgNzQuODg1NTA1Njc2MjY5NTNdLCBbMTY2MzkyMzgzMS40ODQ1NjIsIDI0NDgsIDc1Ljg4NDQ2MDQ0OTIxODc1XSwgWzE2NjM5MjM4MzEuNzg5Njk0MywgMjQ3NSwgNjIuNTg5NzU2MDExOTYyODldLCBbMTY2MzkyMzgzMi4wMjE2NDk2LCAyNDkzLCA2MS4xNjI2MjgxNzM4MjgxMjVdLCBbMTY2MzkyMzgzMi4yNTQ2MDU4LCAyNTExLCA2MC4zOTg2MTY3OTA3NzE0ODRdLCBbMTY2MzkyMzgzMi40NTkxNDI3LCAyNTI5LCA4MC45OTQwMTg1NTQ2ODc1XSwgWzE2NjM5MjM4MzIuNjc2NDM1LCAyNTQ3LCA3MS43NTM3NDYwMzI3MTQ4NF0sIFsxNjYzOTIzODMyLjk3MTM4MTQsIDI1NzQsIDcxLjc0NTg3MjQ5NzU1ODZdLCBbMTY2MzkyMzgzMy4yOTY1NTI3LCAyNjAxLCA2MS4wNzc0OTE3NjAyNTM5MDZdLCBbMTY2MzkyMzgzMy41MTE5MzIsIDI2MTksIDcxLjcxMjYzODg1NDk4MDQ3XSwgWzE2NjM5MjM4MzQuMDQyMDA1LCAyNjY0LCA2MS4yNzM3NTAzMDUxNzU3OF0sIFsxNjYzOTIzODM0LjIzNjgyNjcsIDI2ODIsIDY4LjM1MjUyMzgwMzcxMDk0XSwgWzE2NjM5MjM4MzQuMzM2NzM3OSwgMjY5MSwgNTQuMjg2MTkzODQ3NjU2MjVdLCBbMTY2MzkyMzgzNS4zNTYzOTIsIDI3NjMsIDU3LjQ4MDAxODYxNTcyMjY1Nl0sIFsxNjYzOTIzODM1LjU0NDM5NCwgMjc4MSwgNjkuNDg5MDc0NzA3MDMxMjVdLCBbMTY2MzkyMzgzNS45Mzk2NjA4LCAyODE3LCA2MC4yNzcwNzY3MjExOTE0MDZdLCBbMTY2MzkyMzgzNi4zNzEwMDQ2LCAyODUzLCA2MC4xOTcyMDA3NzUxNDY0ODRdLCBbMTY2MzkyMzgzNi41ODA2NjQsIDI4NzEsIDU0LjgzNzA2NjY1MDM5MDYyNV0sIFsxNjYzOTIzODM2LjY4MDk4NzgsIDI4ODAsIDYxLjU2MTUwNDM2NDAxMzY3XSwgWzE2NjM5MjM4MzYuOTgwNzI1LCAyOTA3LCA1OS4wMzIyNzYxNTM1NjQ0NV0sIFsxNjYzOTIzODM4LjQ1OTI5NTMsIDMwNDIsIDUzLjExMDQzNTQ4NTgzOTg0NF0sIFsxNjYzOTIzODM4LjU5MjU1MDUsIDMwNTEsIDU1LjY2ODg4MDQ2MjY0NjQ4NF0sIFsxNjYzOTIzODM5LjExNTAyMTIsIDMwOTYsIDQ4LjY5MTA5MzQ0NDgyNDIyXSwgWzE2NjM5MjM4MzkuMzExNDYzNCwgMzExNCwgNTIuNzgwNzk2MDUxMDI1MzldLCBbMTY2MzkyMzgzOS40MTY3MjMsIDMxMjMsIDUyLjY5MTcwMzc5NjM4NjcyXSwgWzE2NjM5MjM4NDAuMDQ1MzYwOCwgMzE3NywgNDIuNjY0NzY0NDA0Mjk2ODc1XSwgWzE2NjM5MjM4NDAuMjY0MzA3NSwgMzE5NSwgNDUuMzI0NDY2NzA1MzIyMjY2XSwgWzE2NjM5MjM4NDAuNjc4MjY1MywgMzIzMSwgNDguMTc0MDIyNjc0NTYwNTVdLCBbMTY2MzkyMzg0MS4wODc4NTA4LCAzMjY3LCA0My4zNDQzNjAzNTE1NjI1XSwgWzE2NjM5MjM4NDEuMjAwMzU5OCwgMzI3NiwgNDQuNTA2OTE5ODYwODM5ODQ0XSwgWzE2NjM5MjM4NDEuMzAxMzg3OCwgMzI4NSwgNDIuNjY2MjQ0NTA2ODM1OTRdLCBbMTY2MzkyMzg0MS4zOTE3NTYsIDMyOTQsIDQxLjQxNDk3NDIxMjY0NjQ4NF0sIFsxNjYzOTIzODQxLjQ5NTUzMTYsIDMzMDMsIDQwLjc5OTM3NzQ0MTQwNjI1XSwgWzE2NjM5MjM4NDEuNTk1Mjg0NywgMzMxMiwgNDEuMTYyMTMyMjYzMTgzNTk0XSwgWzE2NjM5MjM4NDIuNzk5NjI0NywgMzQxMSwgNDEuMzk0Mjk0NzM4NzY5NTNdLCBbMTY2MzkyMzg0My42NTE4NjQ4LCAzNDgzLCAzMy4zODY4NDQ2MzUwMDk3NjZdLCBbMTY2MzkyMzg0NC4wNjk5MjUsIDM1MTksIDM4LjU1MzUzOTI3NjEyMzA1XSwgWzE2NjM5MjM4NDQuMzQ0ODg4LCAzNTM3LCAzNS4zNTYzOTE5MDY3MzgyOF0sIFsxNjYzOTIzODQ0Ljc4MTMzOTQsIDM1NTUsIDMyLjE4NjgxMzM1NDQ5MjE5XSwgWzE2NjM5MjM4NDUuMTA1OTE0LCAzNTgyLCAzOS45MjUxMTc0OTI2NzU3OF0sIFsxNjYzOTIzODQ1LjcxOTAzOCwgMzYyNywgMzIuNTA5NzEyMjE5MjM4MjhdLCBbMTY2MzkyMzg0NS45NjIwMDkyLCAzNjQ1LCAzMC41NjAxNDA2MDk3NDEyMV0sIFsxNjYzOTIzODQ2LjU4NzYxNywgMzY5MCwgMzQuMTczNjQ4ODM0MjI4NTE2XSwgWzE2NjM5MjM4NDcuMDAwNzg0LCAzNzI2LCAzNC45NjAyMjQxNTE2MTEzM10sIFsxNjYzOTIzODQ3LjEwMzE2OTIsIDM3MzUsIDI5LjU4NDY2MTQ4Mzc2NDY1XSwgWzE2NjM5MjM4NDcuMjA1MTkxLCAzNzQ0LCAzMC42OTg1MzAxOTcxNDM1NTVdLCBbMTY2MzkyMzg0Ny44OTQ0MDU2LCAzNzk4LCAyNy43NjQ5ODIyMjM1MTA3NDJdLCBbMTY2MzkyMzg0OC4wMTY1MTIyLCAzODA3LCAzNC4xODkxMzI2OTA0Mjk2OV0sIFsxNjYzOTIzODQ4LjM1NjE3NSwgMzgzNCwgMjguNTUxMjA4NDk2MDkzNzVdLCBbMTY2MzkyMzg0OC40NDg0MTEyLCAzODQzLCAyOS4xNjkxNzgwMDkwMzMyMDNdLCBbMTY2MzkyMzg0OC44NDYzMTgsIDM4NzksIDI4LjY1MDkxODk2MDU3MTI5XSwgWzE2NjM5MjM4NDkuNTY1ODk2LCAzOTI0LCAyOS4zODI4MTgyMjIwNDU5XSwgWzE2NjM5MjM4NDkuOTAzMzI5NCwgMzkzMywgMjYuNDE4NjU1Mzk1NTA3ODEyXSwgWzE2NjM5MjM4NTAuMTE1MTU1MiwgMzk0MiwgMjUuNjAwMjE3ODE5MjEzODY3XSwgWzE2NjM5MjM4NTAuMzMxNTg0NywgMzk2MCwgMjIuNTM4NjM3MTYxMjU0ODgzXSwgWzE2NjM5MjM4NTAuNTc2NjYxOCwgMzk3OCwgMjUuMjkwNTEzOTkyMzA5NTddLCBbMTY2MzkyMzg1MC43Nzg2Njg0LCAzOTk2LCAyNi40NjM1ODg3MTQ1OTk2MV0sIFsxNjYzOTIzODUwLjg3ODIzMDgsIDQwMDUsIDI3LjI3NjQ1MTExMDgzOTg0NF0sIFsxNjYzOTIzODUxLjEyMjc1MzQsIDQwMjMsIDI0LjU1NTA1MzcxMDkzNzVdLCBbMTY2MzkyMzg1MS41ODcwNzcxLCA0MDU5LCAyMS45MTk5MDg1MjM1NTk1N10sIFsxNjYzOTIzODUxLjc5MjQyOCwgNDA3NywgMjQuNjg5MTk1NjMyOTM0NTddLCBbMTY2MzkyMzg1Mi4xNjk2OTEzLCA0MTEzLCAyNC45Njc1MDgzMTYwNDAwNF0sIFsxNjYzOTIzODUyLjU2MTg2MDYsIDQxNDksIDIwLjM3MDIyOTcyMTA2OTMzNl0sIFsxNjYzOTIzODUyLjY2MzEzMzYsIDQxNTgsIDIyLjQwMjM2MDkxNjEzNzY5NV0sIFsxNjYzOTIzODUzLjAzNzkxMjQsIDQxOTQsIDI1LjU4NzgyMzg2Nzc5Nzg1XSwgWzE2NjM5MjM4NTMuMTM3NTIxMywgNDIwMywgMTkuMDU1MDgwNDEzODE4MzZdLCBbMTY2MzkyMzg1My4zMzYzOTg2LCA0MjIxLCAyMy4zNjYxNjEzNDY0MzU1NDddLCBbMTY2MzkyMzg1My41NzYwMjYsIDQyMzksIDIxLjA1OTk0NDE1MjgzMjAzXSwgWzE2NjM5MjM4NTQuMDYzMTYxNiwgNDI3NSwgMjEuNTQxNTE5MTY1MDM5MDYyXSwgWzE2NjM5MjM4NTQuMTY0MjU1MSwgNDI4NCwgMjIuMTQzOTQ1NjkzOTY5NzI3XSwgWzE2NjM5MjM4NTQuOTc0MzYxLCA0MzI5LCAxNy42MzY1NTA5MDMzMjAzMTJdLCBbMTY2MzkyMzg1NS4wOTQxODUsIDQzMzgsIDIyLjQyNzE4Njk2NTk0MjM4M10sIFsxNjYzOTIzODU1LjQzOTk4NjUsIDQzNjUsIDE5LjMwOTAyODYyNTQ4ODI4XSwgWzE2NjM5MjM4NTUuNzQ3NDQ1NiwgNDM5MiwgMjAuNTg0OTk3MTc3MTI0MDIzXSwgWzE2NjM5MjM4NTUuODU2ODgzNSwgNDQwMSwgMTcuNDU2MzY3NDkyNjc1NzhdLCBbMTY2MzkyMzg1NS45NTAwNTgyLCA0NDEwLCAxNy4zNDQ2MTc4NDM2Mjc5M10sIFsxNjYzOTIzODU2LjE2NTk5NzMsIDQ0MjgsIDIxLjE5NjYwNTY4MjM3MzA0N10sIFsxNjYzOTIzODU2LjQ3NTc0NywgNDQ1NSwgMTkuMjAyNjk5NjYxMjU0ODgzXSwgWzE2NjM5MjM4NTYuODg1NTE4MywgNDQ5MSwgMTYuNjY0NDU3MzIxMTY2OTkyXSwgWzE2NjM5MjM4NTcuMzI1MzA0NywgNDUyNywgMTYuMTcyOTIwMjI3MDUwNzhdLCBbMTY2MzkyMzg1Ny40MjQyNjg1LCA0NTM2LCAxNy40NTgzNDU0MTMyMDgwMDhdLCBbMTY2MzkyMzg1OC4wODQyNjUsIDQ1OTAsIDE2LjU2Njk0NDEyMjMxNDQ1M10sIFsxNjYzOTIzODU4LjE5ODM2NzgsIDQ1OTksIDE4LjA3MzU1MzA4NTMyNzE1XSwgWzE2NjM5MjM4NTguMzE5MjQyNSwgNDYwOCwgMTMuOTcyNjE4MTAzMDI3MzQ0XSwgWzE2NjM5MjM4NTguNDM0NTc1MywgNDYxNywgMTQuNzE5MTAxOTA1ODIyNzU0XSwgWzE2NjM5MjM4NTguNTM2NTU5OCwgNDYyNiwgMTYuODY5MTk0MDMwNzYxNzJdLCBbMTY2MzkyMzg1OC42NjU5NTg2LCA0NjM1LCAxMy42MjY3ODYyMzE5OTQ2MjldLCBbMTY2MzkyMzg1OS41NTAwMDAyLCA0NjYyLCAxNC45MDc1Mzc0NjAzMjcxNDhdLCBbMTY2MzkyMzg1OS42NDAzNjYsIDQ2NzEsIDEzLjUwNzY1ODk1ODQzNTA1OV0sIFsxNjYzOTIzODU5Ljc4NzAyNzEsIDQ2ODAsIDEzLjEzMjg2ODc2Njc4NDY2OF0sIFsxNjYzOTIzODYxLjkzMTIwMjcsIDQ4MDYsIDEyLjcxMzM2MjY5Mzc4NjYyMV0sIFsxNjYzOTIzODYyLjAzNDQ2NTMsIDQ4MTUsIDE0LjEzMTk5NTIwMTExMDg0XSwgWzE2NjM5MjM4NjIuMjgxNzg2NywgNDgzMywgMTQuNzU4NDMzMzQxOTc5OThdLCBbMTY2MzkyMzg2Mi40MjYxNTc3LCA0ODQyLCAxMy43NjE4MjM2NTQxNzQ4MDVdLCBbMTY2MzkyMzg2Mi41NDEwOTMzLCA0ODUxLCAxNi45NjIwMjg1MDM0MTc5N10sIFsxNjYzOTIzODYyLjc3MDE0MTEsIDQ4NjksIDEzLjQ4NzkwNTUwMjMxOTMzNl0sIFsxNjYzOTIzODYyLjk3NDk3MTUsIDQ4ODcsIDEyLjk1MjM3NDQ1ODMxMjk4OF0sIFsxNjYzOTIzODYzLjE3NTg1NTksIDQ5MDUsIDE0LjA5Mjk0Nzk1OTg5OTkwMl0sIFsxNjYzOTIzODYzLjM5MjA5MTMsIDQ5MjMsIDEzLjA1NTMzOTgxMzIzMjQyMl0sIFsxNjYzOTIzODYzLjUxNzAyNTIsIDQ5MzIsIDE0LjcxNjIwMzY4OTU3NTE5NV0sIFsxNjYzOTIzODYzLjkwMjE5MzUsIDQ5NTksIDE0LjA3OTU4ODg5MDA3NTY4NF0sIFsxNjYzOTIzODY0LjA4NDcxMjcsIDQ5NzcsIDEyLjcyMjg1NzQ3NTI4MDc2Ml0sIFsxNjYzOTIzODY0LjM3NTkxMDMsIDUwMDQsIDEyLjQ5NjkyNjMwNzY3ODIyM10sIFsxNjYzOTIzODY0LjQ3Mzg3MjQsIDUwMTMsIDEyLjgwMjAwOTU4MjUxOTUzMV0sIFsxNjYzOTIzODY1LjE3ODE2OTUsIDUwNjcsIDEyLjUxNjMzOTMwMjA2Mjk4OF0sIFsxNjYzOTIzODY1LjI5MDIzNiwgNTA3NiwgMTEuNTYyMTczODQzMzgzNzg5XSwgWzE2NjM5MjM4NjUuNDE3ODAyLCA1MDg1LCAxMC40NjAyNTU2MjI4NjM3N10sIFsxNjYzOTIzODY2LjA2NDU2NzMsIDUxMjEsIDExLjY3MTg2MTY0ODU1OTU3XSwgWzE2NjM5MjM4NjYuMzkzNTA5NCwgNTE0OCwgMTEuMjAzMzc4Njc3MzY4MTY0XSwgWzE2NjM5MjM4NjYuNjQ0NjQ1LCA1MTY2LCAxMS4yNzM0Mzc1XSwgWzE2NjM5MjM4NjYuOTQ0ODIxNCwgNTE5MywgMTEuMTEzMDkxNDY4ODExMDM1XSwgWzE2NjM5MjM4NjcuMzkxOTMzMiwgNTIyOSwgMTAuNzg0Njc5NDEyODQxNzk3XSwgWzE2NjM5MjM4NjcuNzg1MjkzNiwgNTI2NSwgMTIuNzExNzI0MjgxMzExMDM1XSwgWzE2NjM5MjM4NjcuODk5NjM3MiwgNTI3NCwgMTAuODg4OTQyNzE4NTA1ODZdLCBbMTY2MzkyMzg2OC4yNjAwNjI3LCA1MzAxLCA5LjgzMTg0ODE0NDUzMTI1XSwgWzE2NjM5MjM4NjguNTAxMTk3OCwgNTMxOSwgMTIuOTM4ODU4OTg1OTAwODc5XSwgWzE2NjM5MjM4NjguNjE5MDEyNCwgNTMyOCwgMTMuMjM0MTI3MDQ0Njc3NzM0XSwgWzE2NjM5MjM4NjguOTQwMzM0LCA1MzU1LCAxMC41ODY3MzM4MTgwNTQyXSwgWzE2NjM5MjM4NjkuMTI2NjUyNSwgNTM3MywgMTAuMzYzNjIyNjY1NDA1MjczXSwgWzE2NjM5MjM4NjkuMzMxMzQ0LCA1MzkxLCA5LjcyMTEwNDYyMTg4NzIwN10sIFsxNjYzOTIzODY5LjQ2MTM2MjEsIDU0MDAsIDkuOTkyMDcyMTA1NDA3NzE1XSwgWzE2NjM5MjM4NjkuNzQwNDY4LCA1NDI3LCAxMC4wMzc4MjA4MTYwNDAwMzldLCBbMTY2MzkyMzg2OS44MzY3NzgsIDU0MzYsIDEyLjk0Njg1MDc3NjY3MjM2M10sIFsxNjYzOTIzODcwLjM1NzA2NjksIDU0ODEsIDExLjcxNTY4ODcwNTQ0NDMzNl0sIFsxNjYzOTIzODcwLjg1ODU1OTEsIDU1MjYsIDkuMzcyODMxMzQ0NjA0NDkyXSwgWzE2NjM5MjM4NzAuOTY1OTI5MywgNTUzNSwgOS42MDkxNDIzMDM0NjY3OTddLCBbMTY2MzkyMzg3MS4xODU2MzcyLCA1NTUzLCAxMi43MDAxNTIzOTcxNTU3NjJdLCBbMTY2MzkyMzg3MS41OTcwMjM1LCA1NTg5LCA5LjcyMjk3NDc3NzIyMTY4XSwgWzE2NjM5MjM4NzEuNzk5MDQyLCA1NjA3LCA4Ljg4MzMzODkyODIyMjY1Nl0sIFsxNjYzOTIzODcxLjkxODY0ODIsIDU2MTYsIDEwLjcwMTUxMTM4MzA1NjY0XSwgWzE2NjM5MjM4NzIuMjI4MDI5LCA1NjQzLCA5LjEzNjUxNDY2MzY5NjI4OV0sIFsxNjYzOTIzODcyLjQzNjYxMiwgNTY2MSwgMTAuMzY2OTM4NTkxMDAzNDE4XSwgWzE2NjM5MjM4NzIuNTI2MzQ4NiwgNTY3MCwgMTAuODYzMjExNjMxNzc0OTAyXSwgWzE2NjM5MjM4NzIuOTE2MzE2NywgNTcwNiwgOS44NDA4MjIyMTk4NDg2MzNdLCBbMTY2MzkyMzg3My4zNTIzMDA0LCA1NzQyLCAxMC4zMTM4Njg1MjI2NDQwNDNdLCBbMTY2MzkyMzg3My43MjMxNDMsIDU3NjksIDEwLjA1NzU0MTg0NzIyOTAwNF0sIFsxNjYzOTIzODczLjgyMzE3LCA1Nzc4LCA5LjYzMjEzNDQzNzU2MTAzNV0sIFsxNjYzOTIzODczLjkyNjI4NDgsIDU3ODcsIDkuNDU4MDgwMjkxNzQ4MDQ3XSwgWzE2NjM5MjM4NzQuMDMxNjc0LCA1Nzk2LCA5LjI0NTMyNDEzNDgyNjY2XSwgWzE2NjM5MjM4NzQuMTI2MzYxOCwgNTgwNSwgMTAuMjA2NzgyMzQxMDAzNDE4XSwgWzE2NjM5MjM4NzQuNjM2NDE5NSwgNTg1MCwgMTAuMjYxNjkxMDkzNDQ0ODI0XSwgWzE2NjM5MjM4NzQuODM5NzU5OCwgNTg2OCwgOS4zMjEzNDA1NjA5MTMwODZdLCBbMTY2MzkyMzg3NS4xMjQ4NzIsIDU4NzcsIDEwLjIzNjEyODgwNzA2Nzg3MV0sIFsxNjYzOTIzODc1LjMzNDM4MTYsIDU4OTUsIDkuOTMwOTQ5MjExMTIwNjA1XSwgWzE2NjM5MjM4NzUuNDM0NTM4NiwgNTkwNCwgOC45NDYwMTM0NTA2MjI1NTldLCBbMTY2MzkyMzg3NS43MTUzNDYsIDU5MzEsIDEwLjE1MDc0MTU3NzE0ODQzOF0sIFsxNjYzOTIzODc1LjkxNDI0LCA1OTQ5LCA5LjU3Mjk1MDM2MzE1OTE4XSwgWzE2NjM5MjM4NzYuNjAxOTk0NSwgNjAxMiwgOC41NzAxNTk5MTIxMDkzNzVdLCBbMTY2MzkyMzg3Ni44OTk1MDk3LCA2MDM5LCA5LjY0NTk3MzIwNTU2NjQwNl0sIFsxNjYzOTIzODc3LjM5NDg0NjcsIDYwODQsIDkuNjY3MjEwNTc4OTE4NDU3XSwgWzE2NjM5MjM4NzcuNDg5OTksIDYwOTMsIDExLjAyNjU0OTMzOTI5NDQzNF0sIFsxNjYzOTIzODc3Ljg2MDA3MzYsIDYxMjksIDEwLjI1MzA0NDEyODQxNzk2OV0sIFsxNjYzOTIzODc4LjI1OTE4NDYsIDYxNjUsIDEwLjQwMjc2MjQxMzAyNDkwMl0sIFsxNjYzOTIzODc4LjU1MDMxMzcsIDYxOTIsIDEwLjU3NDA1OTQ4NjM4OTE2XSwgWzE2NjM5MjM4NzkuMDM1MjcyNCwgNjIzNywgMTAuMDc3NDYyMTk2MzUwMDk4XSwgWzE2NjM5MjM4NzkuMjQ2MDExLCA2MjU1LCA4Ljg3Njk5MDMxODI5ODM0XSwgWzE2NjM5MjM4NzkuNDQ1NzY3NiwgNjI3MywgOC45NTkxNjkzODc4MTczODNdLCBbMTY2MzkyMzg3OS41MzEzOTk3LCA2MjgyLCAxMC42NTE2NTcxMDQ0OTIxODhdLCBbMTY2MzkyMzg3OS43MTkyOTg0LCA2MzAwLCA4LjY3NjcxNTg1MDgzMDA3OF0sIFsxNjYzOTIzODgwLjAxNjEzMjYsIDYzMjcsIDkuNzc5NTU3MjI4MDg4Mzc5XSwgWzE2NjM5MjM4ODAuMzA5MTU3NiwgNjM1NCwgOC45MTA0ODMzNjAyOTA1MjddLCBbMTY2MzkyMzg4MC44OTE5MDgsIDYzOTksIDkuMzIwMjMwNDg0MDA4Nzg5XSwgWzE2NjM5MjM4ODEuNDQ3OTA5NCwgNjQ0NCwgNy45OTQ2MzUxMDUxMzMwNTddLCBbMTY2MzkyMzg4MS43MTQ4OTcyLCA2NDYyLCA5LjQ0MjQ5NzI1MzQxNzk2OV0sIFsxNjYzOTIzODgyLjA2OTY2MTQsIDY0ODksIDguMzE0NzU3MzQ3MTA2OTM0XSwgWzE2NjM5MjM4ODIuMTk0Nzk5LCA2NDk4LCA5LjA3OTM0NTcwMzEyNV0sIFsxNjYzOTIzODgyLjQyMzc5MywgNjUxNiwgOS42OTQ5MDI0MjAwNDM5NDVdLCBbMTY2MzkyMzg4Mi42MjAzNDgsIDY1MzQsIDEwLjI2ODUwNzk1NzQ1ODQ5Nl0sIFsxNjYzOTIzODgyLjcwNDc3MywgNjU0MywgOS4yMDgwOTA3ODIxNjU1MjddLCBbMTY2MzkyMzg4Mi44ODk4ODI2LCA2NTYxLCA4LjkzNzU2Njc1NzIwMjE0OF0sIFsxNjYzOTIzODgyLjk5ODE4MSwgNjU3MCwgOS4xOTUyNTI0MTg1MTgwNjZdLCBbMTY2MzkyMzg4My4yMTgzNTE0LCA2NTg4LCAxMS4yODczMTA2MDAyODA3NjJdLCBbMTY2MzkyMzg4My4zMTI5Mjk2LCA2NTk3LCA4LjY4MjQyMzU5MTYxMzc3XSwgWzE2NjM5MjM4ODMuNDEyMDg4NCwgNjYwNiwgOC4zODc1MTMxNjA3MDU1NjZdLCBbMTY2MzkyMzg4NC4xNTI4OTc2LCA2NjUxLCA5Ljk0MzcxODkxMDIxNzI4NV0sIFsxNjYzOTIzODg0LjU1MzI5OTIsIDY2ODcsIDkuMjgzMDA4NTc1NDM5NDUzXSwgWzE2NjM5MjM4ODQuNzQ4NTQxNiwgNjcwNSwgOC44NjcwMjA2MDY5OTQ2MjldLCBbMTY2MzkyMzg4NS45NTE1MjMsIDY4MTMsIDEwLjYxMDU0MDM5MDAxNDY0OF0sIFsxNjYzOTIzODg2LjE2MjgxNjMsIDY4MzEsIDEwLjA5NzcwNzc0ODQxMzA4Nl0sIFsxNjYzOTIzODg2Ljg3OTYyODcsIDY4ODUsIDkuMjQwMDY0NjIwOTcxNjhdLCBbMTY2MzkyMzg4Ni45NzIzMjU2LCA2ODk0LCA4LjQxOTc2NzM3OTc2MDc0Ml0sIFsxNjYzOTIzODg3LjM0MDU0ODgsIDY5MjEsIDcuNDc3ODgyODYyMDkxMDY0NV0sIFsxNjYzOTIzODg3LjQ1NTIyODMsIDY5MzAsIDkuNDY0NzYwNzgwMzM0NDczXSwgWzE2NjM5MjM4ODcuNzk3NTkyOSwgNjk1NywgOC43NzE0NTk1Nzk0Njc3NzNdLCBbMTY2MzkyMzg4OC4xMzIxOTY0LCA2OTg0LCA4LjQ4OTkwMzQ1MDAxMjIwN10sIFsxNjYzOTIzODg4LjIzNTU3MDQsIDY5OTMsIDguODM1OTg4MDQ0NzM4NzddLCBbMTY2MzkyMzg4OC40NjA3NjcsIDcwMTEsIDEwLjc0NzE3NTIxNjY3NDgwNV0sIFsxNjYzOTIzODg4LjU3NDU0MSwgNzAyMCwgOC41NDM2OTI1ODg4MDYxNTJdLCBbMTY2MzkyMzg4OC42ODc5NDI3LCA3MDI5LCA3LjkyNTI0MzM3NzY4NTU0N10sIFsxNjYzOTIzODg4LjgxMTE3OTIsIDcwMzgsIDguODI1NjY5Mjg4NjM1MjU0XSwgWzE2NjM5MjM4ODguOTM3NDEyMywgNzA0NywgOS42NzQ2MTc3NjczMzM5ODRdLCBbMTY2MzkyMzg4OS42NTY5OTM5LCA3MTAxLCA5LjQ3NTY4NjA3MzMwMzIyM10sIFsxNjYzOTIzODg5Ljk4OTAyNCwgNzEyOCwgOS4wNTQzMjYwNTc0MzQwODJdLCBbMTY2MzkyMzg5MS4zOTk0ODQ5LCA3MjQ1LCA3Ljk5NTkxOTcwNDQzNzI1Nl0sIFsxNjYzOTIzODkxLjUxMDU0NzQsIDcyNTQsIDguNzQzMjkwOTAxMTg0MDgyXSwgWzE2NjM5MjM4OTEuNjEyMDg2NSwgNzI2MywgOS40Mjg5NTk4NDY0OTY1ODJdLCBbMTY2MzkyMzg5MS43MTEyMDA1LCA3MjcyLCA4LjUyNTgzNjk0NDU4MDA3OF0sIFsxNjYzOTIzODkyLjAzODc5NzEsIDcyOTksIDguMDIyNjUxNjcyMzYzMjgxXSwgWzE2NjM5MjM4OTIuODgwMzU2LCA3MzcxLCA4LjU4NDcyMjUxODkyMDg5OF0sIFsxNjYzOTIzODkyLjk3MjE3ODUsIDczODAsIDcuNzk1NDU1OTMyNjE3MTg3NV0sIFsxNjYzOTIzODk0LjA1ODI2MSwgNzQ1MiwgOC43Mzk1NzA2MTc2NzU3ODFdLCBbMTY2MzkyMzg5NC4xNjc0ODM4LCA3NDYxLCA3LjgwMjE3NTUyMTg1MDU4Nl0sIFsxNjYzOTIzODk0LjY0MzAxMzcsIDc0OTcsIDcuOTcwNDUxODMxODE3NjI3XSwgWzE2NjM5MjM4OTQuNzU1MTI5LCA3NTA2LCA4Ljk5ODg2MjI2NjU0MDUyN10sIFsxNjYzOTIzODk0Ljk3NjYzMDIsIDc1MjQsIDguMjU3Njc3MDc4MjQ3MDddLCBbMTY2MzkyMzg5NS4wOTIyOTI4LCA3NTMzLCA4LjE0NzcxOTM4MzIzOTc0Nl0sIFsxNjYzOTIzODk1LjQyNjY4NzcsIDc1NjAsIDkuNjk4NjE3OTM1MTgwNjY0XSwgWzE2NjM5MjM4OTUuNTQwMDMxNCwgNzU2OSwgOC4yMDQyODY1NzUzMTczODNdLCBbMTY2MzkyMzg5NS44NzM2NzksIDc1OTYsIDguNTkwMzk3ODM0Nzc3ODMyXSwgWzE2NjM5MjM4OTYuMTAyNDg2OCwgNzYxNCwgOC4yMTg0NjQ4NTEzNzkzOTVdLCBbMTY2MzkyMzg5Ni43MjMzNzQ2LCA3NjU5LCA4LjIxOTIyOTY5ODE4MTE1Ml0sIFsxNjYzOTIzODk2LjgzNTMwMDQsIDc2NjgsIDguODMwMzI3OTg3NjcwODk4XSwgWzE2NjM5MjM4OTcuMTU1NzIwNywgNzY5NSwgOC4zNzkzMjk2ODEzOTY0ODRdLCBbMTY2MzkyMzg5Ny40ODQ3NTEsIDc3MjIsIDcuNTE0NTkzMTI0Mzg5NjQ4XSwgWzE2NjM5MjM4OTcuODE0ODg4LCA3NzQ5LCA5LjE4OTg3NzUxMDA3MDhdLCBbMTY2MzkyMzg5OC4wMjI3OTc4LCA3NzY3LCA4LjEwMjg4NDI5MjYwMjUzOV0sIFsxNjYzOTIzODk4LjM3MDk5MDgsIDc3OTQsIDkuOTM3MTUzODE2MjIzMTQ1XSwgWzE2NjM5MjM4OTguNDg1NDA0MywgNzgwMywgNy40NDkyMTIwNzQyNzk3ODVdLCBbMTY2MzkyMzg5OC44ODg5NDUzLCA3ODM5LCA4LjYxOTM3ODA4OTkwNDc4NV0sIFsxNjYzOTIzODk4Ljk5MzE0OCwgNzg0OCwgNy4zNDIxNTExNjUwMDg1NDVdLCBbMTY2MzkyMzkwMC4zNjczNjgsIDc5NjUsIDcuNzA0MDk4NzAxNDc3MDUxXSwgWzE2NjM5MjM5MDAuNTcxNDc1NywgNzk4MywgOC41Mzk1MjAyNjM2NzE4NzVdLCBbMTY2MzkyMzkwMC45NzM2NDQ1LCA4MDE5LCA3LjU1NjU4MTk3NDAyOTU0MV0sIFsxNjYzOTIzOTAxLjIyNTM0MjgsIDgwMzcsIDguODA0Nzk5MDc5ODk1MDJdLCBbMTY2MzkyMzkwMS41Njg3NjQyLCA4MDY0LCA3LjY0ODc3MjIzOTY4NTA1OV0sIFsxNjYzOTIzOTAxLjc4NjE1LCA4MDgyLCA5LjA5ODA1Mjk3ODUxNTYyNV0sIFsxNjYzOTIzOTAxLjg4Njg3NTQsIDgwOTEsIDguMDU3Mjk4NjYwMjc4MzJdLCBbMTY2MzkyMzkwMi4xODUxMTc3LCA4MTE4LCA3LjA2MjczMzY1MDIwNzUxOTVdLCBbMTY2MzkyMzkwMi4yOTc3MjE2LCA4MTI3LCA3LjQ4NzMyMTg1MzYzNzY5NV0sIFsxNjYzOTIzOTAyLjgwMjQ5NDUsIDgxNzIsIDguMDI1MzMyNDUwODY2N10sIFsxNjYzOTIzOTAyLjkwMzIxOTcsIDgxODEsIDcuNzczMTM1MTg1MjQxNjk5XSwgWzE2NjM5MjM5MDMuMTAyMzc4MSwgODE5OSwgNy40OTk0MzgyODU4Mjc2MzddLCBbMTY2MzkyMzkwMy4yMDg3NjU1LCA4MjA4LCA3Ljg1MTUzMTAyODc0NzU1OV0sIFsxNjYzOTIzOTAzLjcyMDg4NjUsIDgyMzUsIDcuNjkxMDUwNTI5NDc5OTgwNV0sIFsxNjYzOTIzOTA0LjEzMTc2OSwgODI3MSwgNy4zNjA0MzY0Mzk1MTQxNl0sIFsxNjYzOTIzOTA0LjIzNzkwMywgODI4MCwgOC4xMDQyMDUxMzE1MzA3NjJdLCBbMTY2MzkyMzkwNC40NjgwMjMsIDgyOTgsIDcuNzcxNDc0MzYxNDE5Njc4XSwgWzE2NjM5MjM5MDUuMTQ3MzM1OCwgODM2MSwgNi41NjQ1MTE3NzU5NzA0NTldLCBbMTY2MzkyMzkwNS40MTQ1OTQ3LCA4Mzc5LCA3LjAyNDc3MTIxMzUzMTQ5NF0sIFsxNjYzOTIzOTA1LjUyODkyNiwgODM4OCwgNi44OTU1NDExOTExMDEwNzRdLCBbMTY2MzkyMzkwNS42Mjk2ODI1LCA4Mzk3LCA2Ljk0NTA2MjE2MDQ5MTk0M10sIFsxNjYzOTIzOTA2LjM3MjExOCwgODQ2MCwgNy41NDA1MTc4MDcwMDY4MzZdLCBbMTY2MzkyMzkwNi42ODQxMDA2LCA4NDg3LCA5Ljc2NzE2MjMyMjk5ODA0N10sIFsxNjYzOTIzOTA3LjAxMjc3NiwgODUxNCwgNy4wNzkzMzM3ODIxOTYwNDVdLCBbMTY2MzkyMzkwNy40MjY3ODIsIDg1NTAsIDYuNjcyNDYxNTA5NzA0NTldLCBbMTY2MzkyMzkwNy43Mzc5ODEsIDg1NzcsIDYuOTU5Mjc2MTk5MzQwODJdLCBbMTY2MzkyMzkwOC4wMzQxNDIsIDg2MDQsIDYuMjE0MzQxMTYzNjM1MjU0XSwgWzE2NjM5MjM5MDguNTU5OTMxOCwgODY0OSwgNi44NDUwNDkzODEyNTYxMDM1XSwgWzE2NjM5MjM5MDguODg1NzY2NSwgODY3NiwgNy41MDE4ODAxNjg5MTQ3OTVdLCBbMTY2MzkyMzkwOS4xMjQ1OTI1LCA4Njk0LCA3LjM0NDEzNDgwNzU4NjY3XSwgWzE2NjM5MjM5MDkuMzMxMjEzLCA4NzEyLCA3Ljc3MTc4NTczNjA4Mzk4NF0sIFsxNjYzOTIzOTA5LjQzNDg3MywgODcyMSwgOC4xMTExMjQwMzg2OTYyODldLCBbMTY2MzkyMzkxMC42NjkyOTk2LCA4ODExLCA3Ljc4NzM2MTE0NTAxOTUzMV0sIFsxNjYzOTIzOTEwLjc2NTM2NjgsIDg4MjAsIDcuNDM3MzY0NTc4MjQ3MDddLCBbMTY2MzkyMzkxMS4wODc0Nzc0LCA4ODQ3LCA2Ljk2OTcyOTQyMzUyMjk0OV0sIFsxNjYzOTIzOTExLjUxNTUxNzUsIDg4ODMsIDYuNDgxMzA1NTk5MjEyNjQ2NV0sIFsxNjYzOTIzOTExLjkyNjQyMDIsIDg5MTksIDcuMTExMTUzNjAyNjAwMDk4XSwgWzE2NjM5MjM5MTIuMTI0NjU1MiwgODkzNywgNi43MTcxOTc4OTUwNTAwNDldLCBbMTY2MzkyMzkxMi4zMTIzMzc0LCA4OTU1LCA2LjIwODQ5ODAwMTA5ODYzM10sIFsxNjYzOTIzOTEyLjUwMTAyMiwgODk3MywgNy4xNzk5NDkyODM1OTk4NTM1XSwgWzE2NjM5MjM5MTIuODgyODQ5NSwgODk5MSwgNy41NjI1NTk2MDQ2NDQ3NzVdLCBbMTY2MzkyMzkxMi45ODA3OTMsIDkwMDAsIDcuNjAwMzcyNzkxMjkwMjgzXSwgWzE2NjM5MjM5MTMuMjY0NzMzNiwgOTAyNywgNi42MzY4NjYwOTI2ODE4ODVdLCBbMTY2MzkyMzkxMy4zNjIxOTk1LCA5MDM2LCA1Ljk3MjM4NDQ1MjgxOTgyNF0sIFsxNjYzOTIzOTEzLjQ1MzYzNzYsIDkwNDUsIDcuODM1OTE2OTk2MDAyMTk3XSwgWzE2NjM5MjM5MTMuNjQxNjcyMSwgOTA2MywgOC4wNzQzNDQ2MzUwMDk3NjZdLCBbMTY2MzkyMzkxNC4xNDk5MDk1LCA5MTA4LCA2LjQ2MjUzMzQ3Mzk2ODUwNl0sIFsxNjYzOTIzOTE0LjM0MTMyNTUsIDkxMjYsIDYuOTc1MTIxMDIxMjcwNzUyXSwgWzE2NjM5MjM5MTQuNTM0MTI0NCwgOTE0NCwgNS45NTc2MTM5NDUwMDczMjRdLCBbMTY2MzkyMzkxNS4yMTQ0ODM3LCA5MjA3LCA2Ljg3OTEwODkwNTc5MjIzNl0sIFsxNjYzOTIzOTE1LjYwMzM2MzgsIDkyNDMsIDYuMzg2MTQzMjA3NTUwMDQ5XSwgWzE2NjM5MjM5MTUuNzg4MDU5NywgOTI2MSwgNi40OTYyNDEwOTI2ODE4ODVdLCBbMTY2MzkyMzkxNi41OTg1NjYsIDkzMjQsIDYuMDExOTIyODM2MzAzNzExXSwgWzE2NjM5MjM5MTYuNjk5NDY4NiwgOTMzMywgNi43NDYxMjkwMzU5NDk3MDddLCBbMTY2MzkyMzkxNi43OTY0NzI4LCA5MzQyLCA2LjQxMzE3MDMzNzY3NzAwMl0sIFsxNjYzOTIzOTE2Ljg5NTc2OTYsIDkzNTEsIDYuMjU0NDg1MTMwMzEwMDU5XSwgWzE2NjM5MjM5MTYuOTkxNTU4MywgOTM2MCwgNi42NzAxNDk4MDMxNjE2MjFdLCBbMTY2MzkyMzkxNy40MTY2Nzk0LCA5Mzk2LCA2LjA4NjA1NzE4NjEyNjcwOV0sIFsxNjYzOTIzOTE3LjcxMTkxMSwgOTQyMywgNi45NzY0NTg1NDk0OTk1MTJdLCBbMTY2MzkyMzkxOC43MjE0ODcsIDk1MTMsIDYuNzg2MTQ4NTQ4MTI2MjIxXSwgWzE2NjM5MjM5MTguOTQ3MDcxOCwgOTUzMSwgNS41OTUyMDUzMDcwMDY4MzZdLCBbMTY2MzkyMzkxOS4xNTg2MjYsIDk1NDksIDYuNDI3NjQ4MDY3NDc0MzY1XSwgWzE2NjM5MjM5MTkuMzk0MDIwNiwgOTU2NywgNi4yNTM2MTEwODc3OTkwNzJdLCBbMTY2MzkyMzkxOS43MDQyMjg5LCA5NTk0LCA3LjM1MDQ5MjAwMDU3OTgzNF0sIFsxNjYzOTIzOTE5Ljk0NzQ4NjYsIDk2MTIsIDUuODU3MjM2Mzg1MzQ1NDU5XSwgWzE2NjM5MjM5MjAuMTgxMTIxOCwgOTYzMCwgNS44ODI5ODEzMDAzNTQwMDRdLCBbMTY2MzkyMzkyMC4yODgzNTM0LCA5NjM5LCA1LjYxMzAxNTE3NDg2NTcyM10sIFsxNjYzOTIzOTIwLjQxMzEwMTIsIDk2NDgsIDUuNzMxOTAzMDc2MTcxODc1XSwgWzE2NjM5MjM5MjAuNTI2NDk2MiwgOTY1NywgNy4xODMzOTQ5MDg5MDUwMjldLCBbMTY2MzkyMzkyMC42MjcxMDY3LCA5NjY2LCA2LjUzMTA0NzgyMTA0NDkyMl0sIFsxNjYzOTIzOTIwLjcyODc2NywgOTY3NSwgNy4wMTg4NzUxMjIwNzAzMTI1XSwgWzE2NjM5MjM5MjEuMDM0ODQ2OCwgOTcwMiwgNS42ODg3NTQ1NTg1NjMyMzJdLCBbMTY2MzkyMzkyMS4zNzI5Njk2LCA5NzI5LCA3LjQ2NDEwOTg5NzYxMzUyNV0sIFsxNjYzOTIzOTIyLjE0Mjg3ODgsIDk3NzQsIDUuMzM1ODc1NTExMTY5NDM0XSwgWzE2NjM5MjM5MjIuMjgyMDAwMywgOTc4MywgNS43Nzk5MTgxOTM4MTcxMzldLCBbMTY2MzkyMzkyMi40MTA3NjksIDk3OTIsIDcuMjcyOTE0NDA5NjM3NDUxXSwgWzE2NjM5MjM5MjIuODg4MjEyLCA5ODI4LCA1LjY3MTk1MzY3ODEzMTEwMzVdLCBbMTY2MzkyMzkyMy42MjM3ODg4LCA5ODkxLCA1LjcxOTg1NTMwODUzMjcxNV0sIFsxNjYzOTIzOTIzLjgxNjM1MzMsIDk5MDksIDUuMzc2ODI4MTkzNjY0NTUxXSwgWzE2NjM5MjM5MjQuMDE4MjQ1NywgOTkyNywgNS41OTE1ODIyOTgyNzg4MDldLCBbMTY2MzkyMzkyNC4xMTgzMzkzLCA5OTM2LCA1LjgyNzY0ODE2Mjg0MTc5N10sIFsxNjYzOTIzOTI0LjIxNzk3NTksIDk5NDUsIDUuNzk0MzE2MjkxODA5MDgyXSwgWzE2NjM5MjM5MjQuNTExNDI4NCwgOTk3MiwgNi4yNDExMzE3ODI1MzE3MzhdLCBbMTY2MzkyMzkyNC43MTYzMTM0LCA5OTkwLCA2LjI1NTg1MTI2ODc2ODMxMDVdLCBbMTY2MzkyMzkyNC45MTE5NTYzLCAxMDAwOCwgNi41ODIzOTUwNzY3NTE3MDldLCBbMTY2MzkyMzkyNS4wMTUxNjQxLCAxMDAxNywgNS41MjkwNTk4ODY5MzIzNzNdLCBbMTY2MzkyMzkyNS4yMTk4NTIsIDEwMDM1LCA1LjU3MTk3NjE4NDg0NDk3MV0sIFsxNjYzOTIzOTI1LjgyMTI5MTcsIDEwMDgwLCA0Ljk5NzI2MDU3MDUyNjEyM10sIFsxNjYzOTIzOTI2LjA3NDc3NzQsIDEwMDk4LCA2Ljg0NjM0NTQyNDY1MjFdLCBbMTY2MzkyMzkyNi4xODkwMjg1LCAxMDEwNywgNS43OTMyMDI4NzcwNDQ2NzhdLCBbMTY2MzkyMzkyNi41MTEwNTg2LCAxMDEzNCwgNS43ODMxOTI2MzQ1ODI1MTk1XSwgWzE2NjM5MjM5MjYuNjMwODExNywgMTAxNDMsIDYuNjg1NDEwNDk5NTcyNzU0XSwgWzE2NjM5MjM5MjYuODQ3NTg2MiwgMTAxNjEsIDYuNjY4Mjc3MjYzNjQxMzU3XSwgWzE2NjM5MjM5MjYuOTQ3MDEyNywgMTAxNzAsIDUuMzU4NzQ3MDA1NDYyNjQ2NV0sIFsxNjYzOTIzOTI3LjI0NTgxNDYsIDEwMTk3LCA2LjI2NjIxNTgwMTIzOTAxNF0sIFsxNjYzOTIzOTI3LjQ0NzYxMDYsIDEwMjE1LCA2LjY3MTk1NDYzMTgwNTQyXSwgWzE2NjM5MjM5MjcuNjQ0MjQ4NSwgMTAyMzMsIDYuMDQ4NjgyMjEyODI5NTldLCBbMTY2MzkyMzkyNy45NDc5NDQ2LCAxMDI2MCwgNS4zMjA1NDk0ODgwNjc2MjddLCBbMTY2MzkyMzkyOC42MTYyNjM0LCAxMDMyMywgNS43OTYzMDg1MTc0NTYwNTVdLCBbMTY2MzkyMzkyOS4xMjY2MywgMTAzNTksIDUuODI4ODQ5NzkyNDgwNDY5XSwgWzE2NjM5MjM5MjkuMjI0OTk2MywgMTAzNjgsIDUuNDI1MDk0NjA0NDkyMTg3NV0sIFsxNjYzOTIzOTI5LjMzMDUwNSwgMTAzNzcsIDUuNDUzMDk4Mjk3MTE5MTQxXSwgWzE2NjM5MjM5MzAuMTc4OTM2NywgMTA0NDksIDUuNjE3ODQzMTUxMDkyNTI5XSwgWzE2NjM5MjM5MzAuNDE1MTgzOCwgMTA0NjcsIDYuNjg3MDE5MzQ4MTQ0NTMxXSwgWzE2NjM5MjM5MzAuNjM3NjY0MywgMTA0ODUsIDcuMDk5OTY3OTU2NTQyOTY5XSwgWzE2NjM5MjM5MzAuOTY4OTkxOCwgMTA1MTIsIDYuMDg5NTc1NzY3NTE3MDldLCBbMTY2MzkyMzkzMS43NjgwNDMzLCAxMDU2NiwgNi4zMzA1MDM0NjM3NDUxMTddLCBbMTY2MzkyMzkzMS44NzA1NTIsIDEwNTc1LCA1LjA2NTU2MjcyNTA2NzEzOV0sIFsxNjYzOTIzOTMyLjA3NTAyNiwgMTA1OTMsIDUuMzk1NjA4OTAxOTc3NTM5XSwgWzE2NjM5MjM5MzIuMTc4OTYwMywgMTA2MDIsIDQuNzgzNzIxNDQ2OTkwOTY3XSwgWzE2NjM5MjM5MzIuMjc3MzU5LCAxMDYxMSwgNi41MDc4NjYzODI1OTg4NzddLCBbMTY2MzkyMzkzMi42ODgyNjQ2LCAxMDY0NywgNS4zOTQxNDIxNTA4Nzg5MDZdLCBbMTY2MzkyMzkzMi44OTIxMDQ5LCAxMDY2NSwgNC45Mjg0ODY4MjQwMzU2NDQ1XSwgWzE2NjM5MjM5MzMuMDk4NjY5MywgMTA2ODMsIDYuMjA1NTcyMTI4Mjk1ODk4XSwgWzE2NjM5MjM5MzMuMzkxMTA0MiwgMTA3MTAsIDQuODc3Nzc0MjM4NTg2NDI2XSwgWzE2NjM5MjM5MzMuNDk0OTQ3NywgMTA3MTksIDUuNTcxNzYzNTE1NDcyNDEyXSwgWzE2NjM5MjM5MzMuNzgzOSwgMTA3NDYsIDUuMTY0MzQwOTcyOTAwMzkxXSwgWzE2NjM5MjM5MzMuODgzNDI2MiwgMTA3NTUsIDUuOTc3MzE2ODU2Mzg0Mjc3XSwgWzE2NjM5MjM5MzQuMTk0NDEyMiwgMTA3ODIsIDYuNjUxODk1MDQ2MjM0MTMxXSwgWzE2NjM5MjM5MzQuOTg3MTA2LCAxMDg1NCwgNS40NjgzNjg1MzAyNzM0Mzc1XSwgWzE2NjM5MjM5MzUuMTE1NDc0MiwgMTA4NjMsIDYuMjA3NTI3NjM3NDgxNjg5NV0sIFsxNjYzOTIzOTM1LjI0MzI5MTEsIDEwODcyLCA1LjQzNjcwNzAxOTgwNTkwOF0sIFsxNjYzOTIzOTM1Ljk1MTM4NywgMTA5MzUsIDQuNjc2NDAzOTk5MzI4NjEzXSwgWzE2NjM5MjM5MzYuMzY0OTg5MywgMTA5NzEsIDQuODUwNjc2MDU5NzIyOV0sIFsxNjYzOTIzOTM2Ljg3MzM2ODMsIDExMDE2LCA1LjMzMzExMjcxNjY3NDgwNV0sIFsxNjYzOTIzOTM3LjA3ODA1MTMsIDExMDM0LCA1LjU0ODEzMzM3MzI2MDQ5OF0sIFsxNjYzOTIzOTM3LjQ4NTYxMDIsIDExMDcwLCA0LjQ0NjY3MzM5MzI0OTUxMl0sIFsxNjYzOTIzOTM3Ljc4NDAxMjYsIDExMDk3LCA0LjgxNDcyMjA2MTE1NzIyN10sIFsxNjYzOTIzOTM4LjM4OTg1NSwgMTExNTEsIDUuNTI2ODg3ODkzNjc2NzU4XSwgWzE2NjM5MjM5MzguOTgyNTk5NSwgMTEyMDUsIDUuODQ4MzE0Mjg1Mjc4MzJdLCBbMTY2MzkyMzkzOS4xODc4OTcyLCAxMTIyMywgNS44MzM1OTMzNjg1MzAyNzNdLCBbMTY2MzkyMzkzOS40OTI3OTcsIDExMjUwLCA1LjI0ODAwNTM5MDE2NzIzNl0sIFsxNjYzOTIzOTM5LjU4ODA5MzgsIDExMjU5LCA0Ljc5MTg2MTUzNDExODY1Ml0sIFsxNjYzOTIzOTM5LjY4NzYxMzIsIDExMjY4LCA1LjkzODMxMDE0NjMzMTc4N10sIFsxNjYzOTIzOTM5Ljc4MzA3OTEsIDExMjc3LCA1LjMzMzc0Nzg2Mzc2OTUzMV0sIFsxNjYzOTIzOTM5Ljk5NTg5NjgsIDExMjk1LCA1LjMzNjQ4OTY3NzQyOTE5OV0sIFsxNjYzOTIzOTQwLjE4NzY0NjYsIDExMzEzLCA2LjQ3OTU3NzA2NDUxNDE2XSwgWzE2NjM5MjM5NDAuMjg0NjEwNywgMTEzMjIsIDUuMDM2MjUzOTI5MTM4MTg0XSwgWzE2NjM5MjM5NDAuNzY5Mjg4MywgMTEzNDksIDQuNTMyMDg4Mjc5NzI0MTIxXSwgWzE2NjM5MjM5NDAuODY2NjQ0NiwgMTEzNTgsIDYuNjc2NTYxMzU1NTkwODJdLCBbMTY2MzkyMzk0MS40ODUxOTY4LCAxMTQxMiwgNC42MjEyMTU4MjAzMTI1XSwgWzE2NjM5MjM5NDEuODgzOTUzNiwgMTE0NDgsIDQuODg1NjU4MjY0MTYwMTU2XSwgWzE2NjM5MjM5NDIuNDYzOTc4MywgMTE0OTMsIDQuNjYwMTkxMDU5MTEyNTQ5XSwgWzE2NjM5MjM5NDIuNTY0ODQyNSwgMTE1MDIsIDUuODgxOTI5ODc0NDIwMTY2XSwgWzE2NjM5MjM5NDIuNjY0NjE3LCAxMTUxMSwgNS41NTQ4NjM0NTI5MTEzNzddLCBbMTY2MzkyMzk0My4xNDkwNzU1LCAxMTU0NywgNC41NTY1MTk5ODUxOTg5NzVdLCBbMTY2MzkyMzk0My40OTE5NDYyLCAxMTU3NCwgNC40OTgwNDMwNjAzMDI3MzRdLCBbMTY2MzkyMzk0NC4wMzUyODc2LCAxMTYxOSwgNC45NDc1MTM1ODAzMjIyNjZdLCBbMTY2MzkyMzk0NC4zODUxOTE0LCAxMTY0NiwgNC45MTM4MTU0OTgzNTIwNTFdLCBbMTY2MzkyMzk0NC45NTYzNzEzLCAxMTY5MSwgNC41ODU4MjU5MjAxMDQ5ODA1XSwgWzE2NjM5MjM5NDUuMDQ4Njc3LCAxMTcwMCwgNS40OTI1NjQyMDEzNTQ5ODA1XSwgWzE2NjM5MjM5NDUuMzU1NDEzNCwgMTE3MjcsIDQuNDA1NDQ0MTQ1MjAyNjM3XSwgWzE2NjM5MjM5NDUuNzk1NzgyOCwgMTE3NjMsIDUuODQwODYyNzUxMDA3MDhdLCBbMTY2MzkyMzk0Ni4yMzE0NjY4LCAxMTc5OSwgNS4wNTAwMDQwMDU0MzIxMjldLCBbMTY2MzkyMzk0Ni44NDIzMzIsIDExODQ0LCA0Ljc5ODM1MDgxMTAwNDYzOV0sIFsxNjYzOTIzOTQ3LjQ3NzAxLCAxMTg4OSwgNS4xNDc0NzgxMDM2Mzc2OTVdLCBbMTY2MzkyMzk0Ny42OTg2NiwgMTE5MDcsIDYuMjg1Mjk5Nzc3OTg0NjE5XSwgWzE2NjM5MjM5NDguMDMyNDM2OCwgMTE5MzQsIDQuNTQzNzgyMjM0MTkxODk0NV0sIFsxNjYzOTIzOTQ4LjEzOTI0MTcsIDExOTQzLCA1LjI4OTE2MTIwNTI5MTc0OF0sIFsxNjYzOTIzOTQ4LjM5MTM5OTEsIDExOTYxLCA0LjMzNjgwMTUyODkzMDY2NF0sIFsxNjYzOTIzOTQ5LjIzNDAzMywgMTIwMjQsIDQuNTAwNzcwMDkyMDEwNDk4XSwgWzE2NjM5MjM5NTAuNDM1MzA0NCwgMTIxMTQsIDYuMjMwMjQxNzc1NTEyNjk1XSwgWzE2NjM5MjM5NTAuNzMxMjgwOCwgMTIxNDEsIDYuMTQ1MDA0MjcyNDYwOTM3NV0sIFsxNjYzOTIzOTUxLjE1NDc5NCwgMTIxNzcsIDQuOTIwMDUwNjIxMDMyNzE1XSwgWzE2NjM5MjM5NTEuMzg0NzQ0NiwgMTIxOTUsIDQuNjU4NjQ4NDkwOTA1NzYyXSwgWzE2NjM5MjM5NTEuOTQ5MjY0NSwgMTIyNDksIDQuMzQ0OTQ1OTA3NTkyNzczXSwgWzE2NjM5MjM5NTIuMzQ1NzM0LCAxMjI4NSwgNS4xMzAxNDc5MzM5NTk5NjFdLCBbMTY2MzkyMzk1Mi40NTE0OTQ3LCAxMjI5NCwgNS43NDUwNzk1MTczNjQ1MDJdLCBbMTY2MzkyMzk1Mi41NDQ1ODQ1LCAxMjMwMywgNC43MzA4Mzg3NzU2MzQ3NjZdLCBbMTY2MzkyMzk1Mi42Mzg2NDAyLCAxMjMxMiwgNi4wMjcxNzA2NTgxMTE1NzJdLCBbMTY2MzkyMzk1Mi43NDMzMDgzLCAxMjMyMSwgNC41MDgwODAwMDU2NDU3NTJdLCBbMTY2MzkyMzk1My40MzQzMDg4LCAxMjM4NCwgNS4zNzc0MDk0NTgxNjA0XSwgWzE2NjM5MjM5NTMuNTI3NzYyNywgMTIzOTMsIDMuOTY5NTU0MTg1ODY3MzA5Nl0sIFsxNjYzOTIzOTUzLjk5MzMxNjIsIDEyNDI5LCA0LjU4NzY1MjY4MzI1ODA1N10sIFsxNjYzOTIzOTU0LjUxODEwNTUsIDEyNDc0LCA0LjM4Njg1MjI2NDQwNDI5N10sIFsxNjYzOTIzOTU0LjY0NjYwOSwgMTI0ODMsIDQuMjExNzc3Njg3MDcyNzU0XSwgWzE2NjM5MjM5NTUuMDM5MjQzMiwgMTI1MTksIDUuNDk5MjEyMjY1MDE0NjQ4XSwgWzE2NjM5MjM5NTUuMzYyOTA1NSwgMTI1NDYsIDQuMjgxODg0MTkzNDIwNDFdLCBbMTY2MzkyMzk1NS44MzEyNzEyLCAxMjU4MiwgNy4wNTc4Mjk4NTY4NzI1NTldLCBbMTY2MzkyMzk1OC4wOTgwMTE3LCAxMjc2MiwgNC4wODEyMTM0NzQyNzM2ODJdLCBbMTY2MzkyMzk1OC41ODIyODQ3LCAxMjc5OCwgNC42MTUyNzEwOTE0NjExODJdLCBbMTY2MzkyMzk2MC4wNTc2MTEsIDEyODg4LCA1LjU0MTg0MjkzNzQ2OTQ4Ml0sIFsxNjYzOTIzOTYwLjE1ODk1NzIsIDEyODk3LCA0LjgxNjI0MTI2NDM0MzI2Ml0sIFsxNjYzOTIzOTYwLjU5ODY5MjIsIDEyOTMzLCA1LjY3NDY0NTQyMzg4OTE2XSwgWzE2NjM5MjM5NjAuNzk4ODAyLCAxMjk1MSwgMy43Mjc0NjM5NjA2NDc1ODNdLCBbMTY2MzkyMzk2MC45MzEwNjE1LCAxMjk2MCwgNC4zNDg0Nzg3OTQwOTc5XSwgWzE2NjM5MjM5NjEuMDU3Mzc2MSwgMTI5NjksIDQuMTI1ODIzOTc0NjA5Mzc1XSwgWzE2NjM5MjM5NjEuMTg2MjU2LCAxMjk3OCwgNC4xNzE2NjUxOTE2NTAzOTFdLCBbMTY2MzkyMzk2MS41NDEwODM2LCAxMzAwNSwgMy44MzQ0NDAyMzEzMjMyNDJdLCBbMTY2MzkyMzk2Mi4wMjY4NTY3LCAxMzA1MCwgMy43MDU1NzQ1MTI0ODE2ODk1XSwgWzE2NjM5MjM5NjIuMjQwNDU1NCwgMTMwNjgsIDQuNTY1NTY1MTA5MjUyOTNdLCBbMTY2MzkyMzk2Mi4zMzYwNjkzLCAxMzA3NywgNC45Mjc2ODE5MjI5MTI1OThdLCBbMTY2MzkyMzk2Mi42NDY0MTk1LCAxMzEwNCwgNS4wMjYyMjg5MDQ3MjQxMjFdLCBbMTY2MzkyMzk2Mi44NDg1MzM0LCAxMzEyMiwgMy44NTQ0NTkwNDczMTc1MDVdLCBbMTY2MzkyMzk2Mi45MzYwMTMyLCAxMzEzMSwgMy42NzA1MjA3ODI0NzA3MDNdLCBbMTY2MzkyMzk2My4xNDQ2NDAyLCAxMzE0OSwgNC4yMDE0MTAyOTM1NzkxMDJdLCBbMTY2MzkyMzk2My4yNDQxODEsIDEzMTU4LCA0LjE0NjA4MTkyNDQzODQ3N10sIFsxNjYzOTIzOTY0LjE3NTY0NTYsIDEzMjM5LCA0LjY1MzU0NzI4Njk4NzMwNV0sIFsxNjYzOTIzOTY0LjQ5NDM5NzQsIDEzMjY2LCA0LjQzOTk3NTI2MTY4ODIzMl0sIFsxNjYzOTIzOTY0LjU5ODM5NTgsIDEzMjc1LCAzLjc2NTE4OTQwOTI1NTk4MTRdLCBbMTY2MzkyMzk2NC44MDI3NDQ2LCAxMzI5MywgNC44NjQyNzQ5Nzg2Mzc2OTVdLCBbMTY2MzkyMzk2NS41NzA1MTcsIDEzMzU2LCAzLjcyMjI2ODM0Mjk3MTgwMThdLCBbMTY2MzkyMzk2NS45NTQxNCwgMTMzOTIsIDUuMTI3OTQ4Mjg0MTQ5MTddLCBbMTY2MzkyMzk2Ni4yNzM2NjYxLCAxMzQxOSwgNC41NDU3OTYzOTQzNDgxNDQ1XSwgWzE2NjM5MjM5NjYuNjA2NzY4MSwgMTM0NDYsIDQuNTQxNjU5MzU1MTYzNTc0XSwgWzE2NjM5MjM5NjYuNzE3MDI3MiwgMTM0NTUsIDQuODQ5NDQ3MjUwMzY2MjExXSwgWzE2NjM5MjM5NjcuMTg3MzYzMSwgMTM0OTEsIDQuNTc3MTA0NTY4NDgxNDQ1XSwgWzE2NjM5MjM5NjcuMzE2MDYyNSwgMTM1MDAsIDQuMzEyNTc1ODE3MTA4MTU0XSwgWzE2NjM5MjM5NjcuNjgyNDM0MywgMTM1MjcsIDQuNDEzMjIyMzEyOTI3MjQ2XSwgWzE2NjM5MjM5NjguNDAwOTI0MiwgMTM1OTAsIDMuMjQ4OTIyODI0ODU5NjE5XSwgWzE2NjM5MjM5NjguNTA3MDQzLCAxMzU5OSwgNC4xNDUyMzIyMDA2MjI1NTldLCBbMTY2MzkyMzk2OC42MDAzNjU2LCAxMzYwOCwgNC4wOTMxNjU4NzQ0ODEyMDFdLCBbMTY2MzkyMzk2OC43OTY2MDczLCAxMzYyNiwgNC4xODAyNDY4Mjk5ODY1NzJdLCBbMTY2MzkyMzk2OC45OTUyNjkzLCAxMzY0NCwgNC41Mjg1NzA2NTIwMDgwNTddLCBbMTY2MzkyMzk2OS4xMTM3NDkzLCAxMzY1MywgMy44ODMyODI0MjMwMTk0MDldLCBbMTY2MzkyMzk2OS45OTg4MjM2LCAxMzcxNiwgMy43NzIxNjAyOTE2NzE3NTNdLCBbMTY2MzkyMzk3MC40OTI1MDA4LCAxMzc2MSwgNC43MTM0MTQxOTIxOTk3MDddLCBbMTY2MzkyMzk3MS4wNzA4NzUyLCAxMzgxNSwgMy44MDY4NTkyNTQ4MzcwMzZdLCBbMTY2MzkyMzk3MS4zNjYzNTQ1LCAxMzg0MiwgMy41ODYxNDAzOTQyMTA4MTU0XSwgWzE2NjM5MjM5NzEuNDY5OTg5LCAxMzg1MSwgNC4yNzA0NzM0ODAyMjQ2MDldLCBbMTY2MzkyMzk3MS44MjU5ODgzLCAxMzg3OCwgNC42MjIzNTE2NDY0MjMzNF0sIFsxNjYzOTIzOTcyLjQ5OTcyOCwgMTM5NDEsIDQuMjY5NTY2NTM1OTQ5NzA3XSwgWzE2NjM5MjM5NzIuNzc0MTcwOSwgMTM5NjgsIDQuNjcxNjg1Njk1NjQ4MTkzXSwgWzE2NjM5MjM5NzIuODY2MzAwOCwgMTM5NzcsIDMuNjgxNTM1NDgyNDA2NjE2XSwgWzE2NjM5MjM5NzIuOTYyMTk1LCAxMzk4NiwgNC42MDI5NDg2NjU2MTg4OTY1XSwgWzE2NjM5MjM5NzMuOTA2NzEwNiwgMTQwNjcsIDQuMTI0MDcyMDc0ODkwMTM3XSwgWzE2NjM5MjM5NzQuMjIxODY5MiwgMTQwOTQsIDQuMTUyOTQ0NTY0ODE5MzM2XSwgWzE2NjM5MjM5NzQuMzE2MDksIDE0MTAzLCA0LjAyMjI5NDk5ODE2ODk0NV0sIFsxNjYzOTIzOTc0LjUwNjMwMDIsIDE0MTIxLCA1Ljc0OTMzMDUyMDYyOTg4M10sIFsxNjYzOTIzOTc0LjgwMzk4NzMsIDE0MTQ4LCAzLjUxOTUyOTU4MTA2OTk0NjNdLCBbMTY2MzkyMzk3NC45MTE4MjExLCAxNDE1NywgMy43NjQ3MTU0MzMxMjA3Mjc1XSwgWzE2NjM5MjM5NzUuMDEyMzA2NSwgMTQxNjYsIDQuMDAzMDY0MTU1NTc4NjEzXSwgWzE2NjM5MjM5NzUuMzIzMjAzNiwgMTQxOTMsIDMuNjY5Mzk2MTYyMDMzMDgxXSwgWzE2NjM5MjM5NzUuNzQzMDAzNiwgMTQyMjksIDMuOTI5NjIxNjk2NDcyMTY4XSwgWzE2NjM5MjM5NzYuMjI5NTg4LCAxNDI3NCwgMy4zNzQzNTg4OTI0NDA3OTZdLCBbMTY2MzkyMzk3Ny4xODg2NTM3LCAxNDM2NCwgMy44NDE4NDY3MDQ0ODMwMzIyXSwgWzE2NjM5MjM5NzcuMjg0NzQyNiwgMTQzNzMsIDQuMDk5NDM3NzEzNjIzMDQ3XSwgWzE2NjM5MjM5NzcuMzc1MjExNSwgMTQzODIsIDQuMTUyMjQ2NDc1MjE5NzI3XSwgWzE2NjM5MjM5NzcuNzgzNTg0NCwgMTQ0MTgsIDQuMTA0OTcxODg1NjgxMTUyXSwgWzE2NjM5MjM5NzcuODc3ODI2LCAxNDQyNywgNS4xNjgzOTU1MTkyNTY1OTJdLCBbMTY2MzkyMzk3OC4xNzE5NDc3LCAxNDQzNiwgMy41NzIzMjc2MTM4MzA1NjY0XSwgWzE2NjM5MjM5NzguOTc3OTAzLCAxNDUwOCwgMy41MTg2NDE3MTAyODEzNzJdLCBbMTY2MzkyMzk3OS4zMDcwMTQ1LCAxNDUzNSwgMy44NzEzMjE5MTY1ODAyXSwgWzE2NjM5MjM5ODAuNDIzNDI1NywgMTQ2MjUsIDMuNjgyNjgyNTE0MTkwNjc0XSwgWzE2NjM5MjM5ODAuNzM1MzIxLCAxNDY1MiwgMy4zNjYyODA3OTQxNDM2NzY4XSwgWzE2NjM5MjM5ODEuMTQyODc2MSwgMTQ2ODgsIDMuNDUwNzI2MjcwNjc1NjU5XSwgWzE2NjM5MjM5ODEuNTYyMzEwMiwgMTQ3MjQsIDMuODM2NTgxMjMwMTYzNTc0XSwgWzE2NjM5MjM5ODEuNzg2MjU1NiwgMTQ3NDIsIDQuMzY3MDg5NzQ4MzgyNTY4XSwgWzE2NjM5MjM5ODIuMDg0OTY3NiwgMTQ3NjksIDMuMDY3OTU0MzAxODM0MTA2NF0sIFsxNjYzOTIzOTgyLjE4NjkwNzMsIDE0Nzc4LCAzLjI5NjQ5ODA2MDIyNjQ0MDRdLCBbMTY2MzkyMzk4Mi42ODg4MzIzLCAxNDgyMywgNC4yNDQyNjA3ODc5NjM4NjddLCBbMTY2MzkyMzk4Mi44MDIzMzI5LCAxNDgzMiwgMy43ODY2MjIyODU4NDI4OTU1XSwgWzE2NjM5MjM5ODMuMjY1NTY0NywgMTQ4NjgsIDMuNzg3Mzc3NTk1OTAxNDg5M10sIFsxNjYzOTIzOTgzLjM3ODA5MiwgMTQ4NzcsIDMuODA1MTAyNTg2NzQ2MjE2XSwgWzE2NjM5MjM5ODMuNDc2NjQ2NCwgMTQ4ODYsIDMuMzYxODAyODE2MzkwOTkxXSwgWzE2NjM5MjM5ODMuNTcxODEwMiwgMTQ4OTUsIDMuNzk2OTkwNjMzMDEwODY0M10sIFsxNjYzOTIzOTgzLjc3Mjk2OCwgMTQ5MTMsIDMuODQzNjg0NjczMzA5MzI2XSwgWzE2NjM5MjM5ODQuMzg5MzI0LCAxNDk2NywgMy4wNzQ3NTc4MTQ0MDczNDg2XSwgWzE2NjM5MjM5ODQuODQ4MDU0NCwgMTUwMDMsIDMuMzkwNzQ1ODc4MjE5NjA0NV0sIFsxNjYzOTIzOTg1LjMxOTE5ODEsIDE1MDM5LCAzLjY2Mjg3MTgzNzYxNTk2N10sIFsxNjYzOTIzOTg1Ljc4OTU4ODUsIDE1MDc1LCAzLjc3MDYzMDEyMTIzMTA3OV0sIFsxNjYzOTIzOTg2LjE0NzMzMDMsIDE1MTAyLCAzLjcwODA3ODE0NTk4MDgzNV0sIFsxNjYzOTIzOTg2LjM0ODMxOSwgMTUxMjAsIDMuNzI3NjAyMDA1MDA0ODgzXSwgWzE2NjM5MjM5ODYuOTM5Njk5MiwgMTUxNzQsIDMuOTQxNTQ2MjAxNzA1OTMyNl0sIFsxNjYzOTIzOTg3LjA0NDY4NywgMTUxODMsIDMuNzE2OTM2MzQ5ODY4Nzc0NF0sIFsxNjYzOTIzOTg3LjE0MjM2OTUsIDE1MTkyLCA0LjQwMTYzNTE2OTk4MjkxXSwgWzE2NjM5MjM5ODcuMjM3NTY4OSwgMTUyMDEsIDMuMDg4NDI0OTIxMDM1NzY2Nl0sIFsxNjYzOTIzOTg3Ljk2OTI5NjIsIDE1MjQ2LCAzLjU4MTg3MDA3OTA0MDUyNzNdLCBbMTY2MzkyMzk4OC4wNzQyODcsIDE1MjU1LCAzLjk0ODgwOTg2MjEzNjg0MV0sIFsxNjYzOTIzOTg4LjE3NjU1MDEsIDE1MjY0LCA0Ljc0NTI3NjkyNzk0Nzk5OF0sIFsxNjYzOTIzOTg4LjY1NjgyOCwgMTUzMDAsIDMuMjkzMjI4NjI2MjUxMjIwN10sIFsxNjYzOTIzOTg5LjAwNjgwNTQsIDE1MzI3LCAzLjIxOTEyMDc0MDg5MDUwM10sIFsxNjYzOTIzOTg5LjI0NDk4NzcsIDE1MzQ1LCAzLjIzMzg4OTgxODE5MTUyODNdLCBbMTY2MzkyMzk4OS41Njg1MDMxLCAxNTM3MiwgMy43NTM1NzUzMjUwMTIyMDddLCBbMTY2MzkyMzk4OS44MTQxMTQ2LCAxNTM5MCwgMi45OTE4Mjc3MjYzNjQxMzU3XSwgWzE2NjM5MjM5ODkuOTQ5NTM1NCwgMTUzOTksIDMuMzAwNDU1ODA4NjM5NTI2NF0sIFsxNjYzOTIzOTkwLjA0OTA4NjYsIDE1NDA4LCAzLjc1MDg4NDUzMjkyODQ2N10sIFsxNjYzOTIzOTkwLjE3NzgwNjksIDE1NDE3LCAzLjM5NTMyNDcwNzAzMTI1XSwgWzE2NjM5MjM5OTAuODUwMjUyLCAxNTQ3MSwgMy41MTIwNzMyNzg0MjcxMjRdLCBbMTY2MzkyMzk5MS4zMzQzMzA2LCAxNTUwNywgMy4zNjI3NDkzMzgxNTAwMjQ0XSwgWzE2NjM5MjM5OTEuNDUxMDE1LCAxNTUxNiwgMy40MDMyMjE4NDU2MjY4MzFdLCBbMTY2MzkyMzk5MS41NTUyNTIzLCAxNTUyNSwgMy4yMjUwNDcxMTE1MTEyMzA1XSwgWzE2NjM5MjM5OTEuNjYzNDU5OCwgMTU1MzQsIDQuMTY4NjA2NzU4MTE3Njc2XSwgWzE2NjM5MjM5OTIuMTgwMDg2OSwgMTU1NzksIDQuMDAzOTk3MzI1ODk3MjE3XSwgWzE2NjM5MjM5OTMuMDYzMzYyOCwgMTU2NTEsIDMuNTU0OTc2NDYzMzE3ODcxXSwgWzE2NjM5MjM5OTMuMTczODE2NywgMTU2NjAsIDMuNDAyNTAwNjI5NDI1MDQ5XSwgWzE2NjM5MjM5OTMuNjMwMDM3OCwgMTU2OTYsIDMuMTU4MjkyMjkzNTQ4NTg0XSwgWzE2NjM5MjM5OTMuODQ0NzkwNywgMTU3MTQsIDMuOTMwODMxOTA5MTc5Njg3NV0sIFsxNjYzOTIzOTk0LjIwODExODQsIDE1NzQxLCAyLjc2Mjk2MjM0MTMwODU5MzhdLCBbMTY2MzkyMzk5NC40NDEyNDc1LCAxNTc1OSwgMi44Nzc1MzU1ODE1ODg3NDVdLCBbMTY2MzkyMzk5NC43NTc3Njc0LCAxNTc4NiwgMy42OTE3MjIxNTQ2MTczMDk2XSwgWzE2NjM5MjM5OTQuODU3NzY2OSwgMTU3OTUsIDMuMDk5ODE0MTc2NTU5NDQ4Ml0sIFsxNjYzOTIzOTk1LjY0NjM5LCAxNTg2NywgMi42MzIzMDA2MTUzMTA2NjldLCBbMTY2MzkyMzk5NS45MzM3OTQ1LCAxNTg5NCwgMy4wMzY3ODQxNzIwNTgxMDU1XSwgWzE2NjM5MjM5OTcuMDMwNzQzLCAxNTk4NCwgMi45NjYxNjUwNjU3NjUzODFdLCBbMTY2MzkyMzk5Ny40MzQzNDgsIDE2MDAyLCAyLjY5MjIyMTY0MTU0MDUyNzNdLCBbMTY2MzkyMzk5Ny43NTczOTQzLCAxNjAyOSwgMy42OTA2NTQyNzc4MDE1MTM3XSwgWzE2NjM5MjM5OTguMTU1MjU5NCwgMTYwNjUsIDIuNzU4ODEyNjY1OTM5MzMxXSwgWzE2NjM5MjM5OTguMjU2NzczMiwgMTYwNzQsIDMuMDEwODcwOTMzNTMyNzE1XSwgWzE2NjM5MjM5OTguMzUxMzkyNywgMTYwODMsIDMuMDkzNzU5Mjk4MzI0NTg1XSwgWzE2NjM5MjM5OTguNjU2NDY5NiwgMTYxMTAsIDMuMTQyNjgyNTUyMzM3NjQ2NV0sIFsxNjYzOTIzOTk4LjkzMDg4NzcsIDE2MTM3LCAzLjA3MjYyNDQ0NDk2MTU0OF0sIFsxNjYzOTIzOTk5LjMzNjEwMzcsIDE2MTczLCAzLjI5NjgyMzAyNDc0OTc1Nl0sIFsxNjYzOTIzOTk5Ljc0MTA1ODgsIDE2MjA5LCAzLjEwNDgzNDA3OTc0MjQzMTZdLCBbMTY2MzkyMzk5OS45Mzc4ODYyLCAxNjIyNywgMi45NTAzMzA3MzQyNTI5Mjk3XSwgWzE2NjM5MjQwMDAuNTQ2NjUzMywgMTYyODEsIDIuNjU1MDU5MzM3NjE1OTY3XSwgWzE2NjM5MjQwMDAuNzU1OTQ1LCAxNjI5OSwgMi45MTgyNzQ0MDI2MTg0MDhdLCBbMTY2MzkyNDAwMS43OTE5MDU5LCAxNjM4MCwgMi43OTg4MjI2NDEzNzI2ODA3XSwgWzE2NjM5MjQwMDIuMTk4NDM2MywgMTY0MTYsIDMuMDA0OTY3OTI3OTMyNzM5M10sIFsxNjYzOTI0MDAyLjU0OTg0OSwgMTY0NDMsIDIuNzg3NTczMDk5MTM2MzUyNV0sIFsxNjYzOTI0MDAyLjY3NDE4NTMsIDE2NDUyLCAzLjkzNjc1ODI3OTgwMDQxNV0sIFsxNjYzOTI0MDAyLjg4NTEzMjYsIDE2NDcwLCAyLjYxMTY1MDcwNTMzNzUyNDRdLCBbMTY2MzkyNDAwMi45OTAyMTUsIDE2NDc5LCAzLjMxNDEwMDc0MjM0MDA4OF0sIFsxNjYzOTI0MDAzLjE4MDIwOSwgMTY0OTcsIDIuNzg2MzExNjI2NDM0MzI2XSwgWzE2NjM5MjQwMDMuNjY2NjA0OCwgMTY1MzMsIDIuMzY1MzAyMDg1ODc2NDY1XSwgWzE2NjM5MjQwMDMuODg3MDQzMiwgMTY1NTEsIDIuNTU3NTA2Nzk5Njk3ODc2XSwgWzE2NjM5MjQwMDQuNTk0MzA0OCwgMTY2MTQsIDIuMzkwMDgzMzEyOTg4MjgxMl0sIFsxNjYzOTI0MDA0LjY4NzQxMiwgMTY2MjMsIDIuNjYxMTM0MDA0NTkyODk1NV0sIFsxNjYzOTI0MDA0Ljc5NDkyMDQsIDE2NjMyLCAyLjgzODk4Mzc3NDE4NTE4MDddLCBbMTY2MzkyNDAwNC44OTAzNzQ0LCAxNjY0MSwgMi41MDY3MzI3MDIyNTUyNDldLCBbMTY2MzkyNDAwNS4xOTE3MTQ1LCAxNjY2OCwgMi42NjYxMjA3Njc1OTMzODRdLCBbMTY2MzkyNDAwNi4xNjg4NTgzLCAxNjc0OSwgMi45MDY4MDM2MDc5NDA2NzRdLCBbMTY2MzkyNDAwNi44NzkyMjg2LCAxNjc5NCwgMi40NTM0NzI4NTI3MDY5MDldLCBbMTY2MzkyNDAwNi45ODA0MTEzLCAxNjgwMywgMi45MDY2NjQxMzMwNzE4OTk0XSwgWzE2NjM5MjQwMDcuMDg2MTU1NCwgMTY4MTIsIDIuODczNTcwNDQyMTk5NzA3XSwgWzE2NjM5MjQwMDcuNTAzODAwMiwgMTY4NDgsIDIuNjM3ODk2MDYwOTQzNjAzNV0sIFsxNjYzOTI0MDA3LjYwNzE1MzcsIDE2ODU3LCAyLjE1OTcwMDE1NTI1ODE3ODddLCBbMTY2MzkyNDAwNy44NDAyODU1LCAxNjg3NSwgMi41ODE4Nzk4NTQyMDIyNzA1XSwgWzE2NjM5MjQwMDguMTQzOTA1MiwgMTY5MDIsIDIuNDQ3MTcwMDE5MTQ5NzgwM10sIFsxNjYzOTI0MDA4LjQ1MTEwNzMsIDE2OTI5LCAyLjUxMDI5MDg2MTEyOTc2MDddLCBbMTY2MzkyNDAwOC43NjE1MDE4LCAxNjk1NiwgMi4zODc4NjI2ODIzNDI1MjkzXSwgWzE2NjM5MjQwMDguODYyMzcsIDE2OTY1LCAyLjQwNTAyMTY2NzQ4MDQ2ODhdLCBbMTY2MzkyNDAwOS4wNzA5MDQzLCAxNjk4MywgMi44NzY4MzYyOTk4OTYyNDAyXSwgWzE2NjM5MjQwMDkuMjkwODIwMSwgMTcwMDEsIDIuMzk1NjkxODcxNjQzMDY2NF0sIFsxNjYzOTI0MDA5LjUwNjkwMjUsIDE3MDE5LCAyLjYyMjMwNDIwMTEyNjA5ODZdLCBbMTY2MzkyNDAxMC4wNDQ5OTQ4LCAxNzA2NCwgMi41MTUwODM1NTE0MDY4NjA0XSwgWzE2NjM5MjQwMTAuNDY3NTkzLCAxNzEwMCwgMi41MTcxMjUxMjk2OTk3MDddLCBbMTY2MzkyNDAxMC43NjYyMjcyLCAxNzEyNywgMi4zOTEyNjQyMDAyMTA1NzEzXSwgWzE2NjM5MjQwMTEuMzU1MzgzNiwgMTcxODEsIDIuNzY2NzY3MjYzNDEyNDc1Nl0sIFsxNjYzOTI0MDExLjQ1NTE3NDcsIDE3MTkwLCAyLjI3MTg3MTgwNTE5MTA0XSwgWzE2NjM5MjQwMTEuNTU3MTkxMSwgMTcxOTksIDIuNjkwMzIzODI5NjUwODc5XSwgWzE2NjM5MjQwMTEuODUwMjM4NiwgMTcyMjYsIDIuOTI3ODU2MjA2ODkzOTIxXSwgWzE2NjM5MjQwMTIuNDA3MzA4LCAxNzI3MSwgMi41MTQ1NjE2NTMxMzcyMDddLCBbMTY2MzkyNDAxMy4wNDUwNzE4LCAxNzMyNSwgMy4wMDI4MzQzMjAwNjgzNTk0XSwgWzE2NjM5MjQwMTMuMTQwMzU1MywgMTczMzQsIDMuMDQwMjAzMzMyOTAxMDAxXSwgWzE2NjM5MjQwMTMuNTU1NDE3MywgMTczNzAsIDIuODkyNjIwNTYzNTA3MDhdLCBbMTY2MzkyNDAxNC4zMTg5MTEsIDE3NDI0LCAyLjIwODAyMzMwOTcwNzY0MTZdLCBbMTY2MzkyNDAxNC40NDcwMSwgMTc0MzMsIDIuNTU1MjYyNTY1NjEyNzkzXSwgWzE2NjM5MjQwMTQuOTI1Mjc3NywgMTc0NjksIDIuMTM2MTcyNTMzMDM1Mjc4M10sIFsxNjYzOTI0MDE1LjA0NDQwOSwgMTc0NzgsIDMuNDUyNjE5NzkxMDMwODg0XSwgWzE2NjM5MjQwMTUuMTYyNzMxNCwgMTc0ODcsIDIuMDcwNzE3MzM0NzQ3MzE0NV0sIFsxNjYzOTI0MDE1LjU1Mjc5ODUsIDE3NTE0LCAzLjMyNDAyMDM4NTc0MjE4NzVdLCBbMTY2MzkyNDAxNS43ODc1NzE0LCAxNzUzMiwgMi40NTI5MjA0MzY4NTkxMzFdLCBbMTY2MzkyNDAxNi4zMzY2NTAxLCAxNzU1OSwgMi45NjU2MTc0MTgyODkxODQ2XSwgWzE2NjM5MjQwMTYuNjk1MzExLCAxNzU4NiwgMi4zNjcxMTQ3ODIzMzMzNzRdLCBbMTY2MzkyNDAxNy4wMjQ2NTQyLCAxNzYxMywgMi40NDY1NTc3NjAyMzg2NDc1XSwgWzE2NjM5MjQwMTcuNDM2NDM1MiwgMTc2NDksIDIuNTUxMzQyMjQ4OTE2NjI2XSwgWzE2NjM5MjQwMTcuNTQxMTc4MiwgMTc2NTgsIDIuNTg2OTg5ODc5NjA4MTU0M10sIFsxNjYzOTI0MDE3LjY0MTk2ODcsIDE3NjY3LCAyLjMxMzA2ODM4OTg5MjU3OF0sIFsxNjYzOTI0MDE3Ljc0MDQwNTYsIDE3Njc2LCAyLjQxMjQyNzQyNTM4NDUyMTVdLCBbMTY2MzkyNDAxNy44MzE3OTI2LCAxNzY4NSwgMi4yNjQyMTA3MDA5ODg3Njk1XSwgWzE2NjM5MjQwMTguMDk5MzExNCwgMTc3MDMsIDIuNTc0NDQ5MDYyMzQ3NDEyXSwgWzE2NjM5MjQwMTguMjExMjgzMiwgMTc3MTIsIDIuNjcxODIyNzg2MzMxMTc2OF0sIFsxNjYzOTI0MDE4LjMzOTQyNzUsIDE3NzIxLCAxLjg0OTc3MTk3NjQ3MDk0NzNdLCBbMTY2MzkyNDAxOS4zMjUyODc2LCAxNzgwMiwgMi4wMjMxNDM3NjgzMTA1NDddLCBbMTY2MzkyNDAxOS41OTYyMTk1LCAxNzgyMCwgMi40NzI1NDY1Nzc0NTM2MTMzXSwgWzE2NjM5MjQwMTkuODUxNzM0MiwgMTc4MzgsIDIuNzg3NDI2NzEwMTI4Nzg0XSwgWzE2NjM5MjQwMjAuMzIxNjYzOSwgMTc4NzQsIDIuMTI2NjQyNDY1NTkxNDMwN10sIFsxNjYzOTI0MDIwLjU3OTk4NTQsIDE3ODkyLCAyLjE4ODAxOTk5MDkyMTAyMDVdLCBbMTY2MzkyNDAyMC42ODYwMTcsIDE3OTAxLCAyLjQxNDI0MTA3NTUxNTc0N10sIFsxNjYzOTI0MDIxLjAwMTEzNDIsIDE3OTI4LCAyLjAxODU4MTYyODc5OTQzODVdLCBbMTY2MzkyNDAyMy41ODQ1NzI2LCAxODE2MiwgMi40NDk0OTI5MzEzNjU5NjddLCBbMTY2MzkyNDAyNC4wMDAxMDI4LCAxODE5OCwgMi4wNDg1NDkxNzUyNjI0NTFdLCBbMTY2MzkyNDAyNC4wOTE0NTUyLCAxODIwNywgMi4xNjgyODI1MDg4NTAwOTc3XSwgWzE2NjM5MjQwMjQuNDg4MzQ2OCwgMTgyNDMsIDIuMDI3MTk5MDI5OTIyNDg1NF0sIFsxNjYzOTI0MDI0LjcwNzcwNTUsIDE4MjYxLCAyLjI4Nzk1Mzg1MzYwNzE3NzddLCBbMTY2MzkyNDAyNS4wMjE3MTE4LCAxODI4OCwgMi4wNjIxMjEzOTEyOTYzODY3XSwgWzE2NjM5MjQwMjUuNjIyOTM1LCAxODMyNCwgMS44MDU5MDI2MDAyODgzOTExXSwgWzE2NjM5MjQwMjUuNzM4NTk3NCwgMTgzMzMsIDIuNTI1NTI3MjM4ODQ1ODI1XSwgWzE2NjM5MjQwMjYuMTMyNywgMTgzNjksIDIuMDkyOTA1NTIxMzkyODIyM10sIFsxNjYzOTI0MDI2LjQ3NDc2NzIsIDE4Mzk2LCAyLjA3OTQ0NjMxNTc2NTM4MV0sIFsxNjYzOTI0MDI2Ljk0MTkzNTgsIDE4NDMyLCAxLjkwNDk1OTIwMTgxMjc0NDFdLCBbMTY2MzkyNDAyNy43OTM0MzM3LCAxODQ5NSwgMS45NTcwMTg3MzMwMjQ1OTcyXSwgWzE2NjM5MjQwMjcuOTAxMzExNCwgMTg1MDQsIDIuNDcwOTIyOTQ2OTI5OTMxNl0sIFsxNjYzOTI0MDI4LjAyNDkzMjksIDE4NTEzLCAyLjM5ODU4ODQxODk2MDU3MTNdLCBbMTY2MzkyNDAyOS4xODQ2NDg4LCAxODYxMiwgMi4wNTMwMTIzNzEwNjMyMzI0XSwgWzE2NjM5MjQwMjkuMjk2NjUxNCwgMTg2MjEsIDIuMzc5Njc3NzcyNTIxOTcyN10sIFsxNjYzOTI0MDI5LjQ4MzI2MDIsIDE4NjM5LCAyLjIzMTE3MzAzODQ4MjY2Nl0sIFsxNjYzOTI0MDI5Ljg2MTM4MTMsIDE4Njc1LCAyLjExMzcwNzU0MjQxOTQzMzZdLCBbMTY2MzkyNDAzMC4zNTc5MTQ3LCAxODcyMCwgMS43OTgzNDIzNDcxNDUwODA2XSwgWzE2NjM5MjQwMzAuOTY0MzcyNiwgMTg3NjUsIDEuOTgzMzMwODQ1ODMyODI0N10sIFsxNjYzOTI0MDMxLjE3ODUyOTUsIDE4NzgzLCAyLjE5Nzk0OTQwOTQ4NDg2MzNdLCBbMTY2MzkyNDAzMS4yODIyMDY1LCAxODc5MiwgMS45ODI4MzAyODYwMjYwMDFdLCBbMTY2MzkyNDAzMS41MDc2OTUyLCAxODgxMCwgMi4zMTQ5OTYwMDQxMDQ2MTQzXSwgWzE2NjM5MjQwMzEuNjEzMjY0NiwgMTg4MTksIDIuNTA4NTkzMDgyNDI3OTc4NV0sIFsxNjYzOTI0MDMxLjcxNTk4NDYsIDE4ODI4LCAyLjAzNzI2NzY4NDkzNjUyMzRdLCBbMTY2MzkyNDAzMi4xMzM1MzUsIDE4ODY0LCAyLjI5NzI4MTc0MjA5NTk0NzNdLCBbMTY2MzkyNDAzMi4zNDYyMTc0LCAxODg4MiwgMS45OTY0NzYxNzM0MDA4NzldLCBbMTY2MzkyNDAzMi40NTgwMjYsIDE4ODkxLCAyLjE1Nzk0NDkxNzY3ODgzM10sIFsxNjYzOTI0MDMyLjY2MzA3OTUsIDE4OTA5LCAyLjE2NTY2NjU4MDIwMDE5NTNdLCBbMTY2MzkyNDAzMi45NzMxMTU3LCAxODkzNiwgMS45ODQ4OTMwODM1NzIzODc3XSwgWzE2NjM5MjQwMzMuMTg0MDcsIDE4OTU0LCAxLjg4MjM4MjYzMTMwMTg3OTldLCBbMTY2MzkyNDAzMy41OTc2NDQ2LCAxODk5MCwgMS45MDU4NTQ0NjM1NzcyNzA1XSwgWzE2NjM5MjQwMzMuNjkwMTU4NCwgMTg5OTksIDEuOTUzMDEyOTQzMjY3ODIyM10sIFsxNjYzOTI0MDM0LjA5OTk5NzMsIDE5MDM1LCAxLjg3MDM2NjgxMTc1MjMxOTNdLCBbMTY2MzkyNDAzNC4xOTQ0NzEsIDE5MDQ0LCAyLjIwNDM5ODE1NTIxMjQwMjNdLCBbMTY2MzkyNDAzNC42MTEyMjUxLCAxOTA4MCwgMS44ODg5NDU5MzcxNTY2NzcyXSwgWzE2NjM5MjQwMzQuNzE2MzUwMywgMTkwODksIDEuOTYxMDI3MTQ1Mzg1NzQyMl0sIFsxNjYzOTI0MDM1LjIwMTQzMywgMTkxMTYsIDEuODE4NTUzMDkwMDk1NTJdLCBbMTY2MzkyNDAzNS4yOTgxNTM5LCAxOTEyNSwgMi4yMTI0OTEwMzU0NjE0MjZdLCBbMTY2MzkyNDAzNS42MjQ0MjQ1LCAxOTE1MiwgMi40NjgwNzQ3OTg1ODM5ODQ0XSwgWzE2NjM5MjQwMzYuNDgzMzQ0LCAxOTIyNCwgMS43MTI1NjUxODM2Mzk1MjY0XSwgWzE2NjM5MjQwMzYuNTc3OTc1LCAxOTIzMywgMS45OTI3MzQ1NTE0Mjk3NDg1XSwgWzE2NjM5MjQwMzYuOTI0NTg5MiwgMTkyNjAsIDEuODIwNjI0OTQ3NTQ3OTEyNl0sIFsxNjYzOTI0MDM3LjMxMjkwMzYsIDE5Mjk2LCAyLjI0MTE4OTI0MTQwOTMwMThdLCBbMTY2MzkyNDAzNy45NzEyMDQ1LCAxOTM1MCwgMS44MzEyOTAxMjU4NDY4NjI4XSwgWzE2NjM5MjQwMzguNDczODc3LCAxOTM5NSwgMi4xODk5MjczMzk1NTM4MzNdLCBbMTY2MzkyNDAzOS4wMTAyNjc1LCAxOTQ0MCwgMS43OTQwOTMzNzA0Mzc2MjJdLCBbMTY2MzkyNDAzOS4xMjU0MDEzLCAxOTQ0OSwgMi4wMzI2OTkxMDgxMjM3NzkzXSwgWzE2NjM5MjQwMzkuMzMwODQ3MywgMTk0NjcsIDEuNzE3OTk5ODE1OTQwODU3XSwgWzE2NjM5MjQwMzkuOTkwNjk5NSwgMTk1MzAsIDEuOTIwMDI4Njg2NTIzNDM3NV0sIFsxNjYzOTI0MDQwLjY3MjE3MDYsIDE5NTkzLCAyLjA1NjQ3NTg3Nzc2MTg0MV0sIFsxNjYzOTI0MDQxLjczNTMzMiwgMTk2OTIsIDIuMTQ1OTIyMTgzOTkwNDc4NV0sIFsxNjYzOTI0MDQxLjk1MTE0ODMsIDE5NzEwLCAxLjk0MTcyNjMyNjk0MjQ0MzhdLCBbMTY2MzkyNDA0Mi40MTMyMDA2LCAxOTc1NSwgMS44MTg0NDYzOTc3ODEzNzJdLCBbMTY2MzkyNDA0Mi44OTgzNTMsIDE5ODAwLCAxLjkxMzg1MTI2MTEzODkxNl0sIFsxNjYzOTI0MDQzLjEwODI2MzMsIDE5ODE4LCAxLjU0MTMyMDA4NTUyNTUxMjddLCBbMTY2MzkyNDA0My4yMDI4MTcyLCAxOTgyNywgMi4yMTk1MDE5NzIxOTg0ODYzXSwgWzE2NjM5MjQwNDMuMjk3MzE5NywgMTk4MzYsIDEuNjY3MjcyNDQ4NTM5NzMzOV0sIFsxNjYzOTI0MDQ0LjIyMjE2NTgsIDE5ODkwLCAxLjYxODcxODc0MzMyNDI3OThdLCBbMTY2MzkyNDA0NC40MzM1MzU2LCAxOTkwOCwgMS43NTgxNjg4MTY1NjY0NjczXSwgWzE2NjM5MjQwNDQuNTMwMTA4NSwgMTk5MTcsIDEuNjMxMzA5ODY2OTA1MjEyNF0sIFsxNjYzOTI0MDQ0Ljc0MTM4NTcsIDE5OTM1LCAxLjc3NTg4ODY4MTQxMTc0MzJdLCBbMTY2MzkyNDA0NC44Mzk5MDU1LCAxOTk0NCwgMS43NTk1NTI3MTcyMDg4NjIzXSwgWzE2NjM5MjQwNDUuNDY0OTE2LCAxOTk5OCwgMS44NjgyNTE4MDA1MzcxMDk0XSwgWzE2NjM5MjQwNDUuODYzMzIwOCwgMjAwMzQsIDEuODc2MzQyMTc3MzkxMDUyMl0sIFsxNjYzOTI0MDQ2LjA1ODQ3MTcsIDIwMDUyLCAyLjM3MTIxMDU3NTEwMzc1OThdLCBbMTY2MzkyNDA0Ny4wNzkyMDA3LCAyMDEzMywgMS43ODQzOTc3MjEyOTA1ODg0XSwgWzE2NjM5MjQwNDcuNDU2MywgMjAxNjAsIDEuNjQ5NDUxMTM2NTg5MDUwM10sIFsxNjYzOTI0MDQ3Ljc4MzQxMSwgMjAxODcsIDEuODY4MDMxMTQ0MTQyMTUwOV0sIFsxNjYzOTI0MDQ3Ljk5NTI4LCAyMDIwNSwgMS42NDMxMDMxMjI3MTExODE2XSwgWzE2NjM5MjQwNDkuMTkzNzcyLCAyMDI5NSwgMS44NDY5MTkwNTk3NTM0MThdLCBbMTY2MzkyNDA0OS41MjU0OTEyLCAyMDMyMiwgMS42MjEzODcxMjQwNjE1ODQ1XSwgWzE2NjM5MjQwNDkuNjI3MTE3OSwgMjAzMzEsIDIuMTI0NTM0MzY4NTE1MDE0Nl0sIFsxNjYzOTI0MDUwLjIxOTAwOSwgMjAzODUsIDEuNjg2OTc3MTQ4MDU2MDMwM10sIFsxNjYzOTI0MDUwLjUxNTEyNjcsIDIwNDEyLCAxLjc3NzUzODg5NTYwNjk5NDZdLCBbMTY2MzkyNDA1MS41NzM0MjEsIDIwNDkzLCAxLjU5NDU0MDU5NjAwODMwMDhdLCBbMTY2MzkyNDA1Mi4wMjQyMzkzLCAyMDUyOSwgMS45MzA3MjY0MDg5NTg0MzVdLCBbMTY2MzkyNDA1Mi4xMjg1MjY0LCAyMDUzOCwgMS44OTMzMDE5NjM4MDYxNTIzXSwgWzE2NjM5MjQwNTIuNTY5NzA3NiwgMjA1NzQsIDEuNjU5ODQ1MzUyMTcyODUxNl0sIFsxNjYzOTI0MDUzLjM0MDUzNzUsIDIwNjM3LCAxLjgwMDUzMTM4NzMyOTEwMTZdLCBbMTY2MzkyNDA1NC40MjIxMzkyLCAyMDcwOSwgMS43OTQ2MzE5NTgwMDc4MTI1XSwgWzE2NjM5MjQwNTQuOTQ4MDAxNiwgMjA3NTQsIDEuOTQyOTgzMzg4OTAwNzU2OF0sIFsxNjYzOTI0MDU1LjA3MjA4NTEsIDIwNzYzLCAyLjA4MjQxMDgxMjM3NzkyOTddLCBbMTY2MzkyNDA1NS4zNzczODU2LCAyMDc5MCwgMS43MDc3Nzg1NzMwMzYxOTM4XSwgWzE2NjM5MjQwNTUuNTk2NjgxLCAyMDgwOCwgMS42NjY4OTkwODUwNDQ4NjA4XSwgWzE2NjM5MjQwNTYuMTg2NzE2MywgMjA4NTMsIDEuNjQ4MzA2NjA4MjAwMDczMl0sIFsxNjYzOTI0MDU2LjUyODEwMzYsIDIwODgwLCAxLjY2NjMwMDc3MzYyMDYwNTVdLCBbMTY2MzkyNDA1Ny4wODAwMjU3LCAyMDkyNSwgMS42MjU5NTY2NTQ1NDg2NDVdLCBbMTY2MzkyNDA1Ny43NjUyMjg1LCAyMDk3OSwgMS43NjYzMjg0NTQwMTc2MzkyXSwgWzE2NjM5MjQwNTcuOTgyOTgxMiwgMjA5OTcsIDEuNjI2NTg4MzQ0NTczOTc0Nl0sIFsxNjYzOTI0MDU4LjMyMjc2OTYsIDIxMDI0LCAxLjcwMTU4ODI3MzA0ODQwMDldLCBbMTY2MzkyNDA1OC44ODgxODc2LCAyMTA2OSwgMS42NTkyNTQ2NzAxNDMxMjc0XSwgWzE2NjM5MjQwNTkuMTEzMTM0NCwgMjEwODcsIDEuNjU4ODYyODI5MjA4Mzc0XSwgWzE2NjM5MjQwNTkuMjIzMzgyLCAyMTA5NiwgMi4xODczMDA0NDM2NDkyOTJdLCBbMTY2MzkyNDA1OS4zNDc4MzUzLCAyMTEwNSwgMS45MjExODI3NTE2NTU1Nzg2XSwgWzE2NjM5MjQwNTkuNTY4MTI4NiwgMjExMjMsIDIuMDY3MTI1NTU4ODUzMTQ5NF0sIFsxNjYzOTI0MDU5LjY3NTkwMDUsIDIxMTMyLCAxLjUyMzk3ODExNDEyODExMjhdLCBbMTY2MzkyNDA2MC4xMzUyOTcsIDIxMTY4LCAxLjg5NjI5MzI4MjUwODg1XSwgWzE2NjM5MjQwNjAuMjYxNTYyOCwgMjExNzcsIDIuMzc5NTU0OTg2OTUzNzM1NF0sIFsxNjYzOTI0MDYwLjM3MDgxMTcsIDIxMTg2LCAyLjIwMjcwMDM3NjUxMDYyXSwgWzE2NjM5MjQwNjAuODIxNTAxNywgMjEyMjIsIDEuODA2MzMxOTkyMTQ5MzUzXSwgWzE2NjM5MjQwNjEuMDQwMzEwNCwgMjEyNDAsIDIuMDEyMDY2ODQxMTI1NDg4M10sIFsxNjYzOTI0MDYxLjcxOTYwNjksIDIxMjk0LCAxLjk0MDk3ODg4NDY5Njk2MDRdLCBbMTY2MzkyNDA2Mi4wMjYxMTY2LCAyMTMyMSwgMS41MzQ4NjA5Njg1ODk3ODI3XSwgWzE2NjM5MjQwNjIuMzM5NDU2NiwgMjEzNDgsIDEuNzEyMjEyNTYyNTYxMDM1Ml0sIFsxNjYzOTI0MDYyLjU0OTI5NDcsIDIxMzY2LCAyLjE0ODkxNTc2NzY2OTY3NzddLCBbMTY2MzkyNDA2My4xNjgwNTM0LCAyMTQxMSwgMS41NzM4MTg2ODM2MjQyNjc2XSwgWzE2NjM5MjQwNjQuMDgyNDUyNSwgMjE0NjUsIDEuNTY2NjQwNDk2MjUzOTY3M10sIFsxNjYzOTI0MDY0LjU5NzcyODUsIDIxNTEwLCAxLjY4OTYwNzAyNDE5MjgxXSwgWzE2NjM5MjQwNjQuNzk3ODgyLCAyMTUyOCwgMi4xOTcwMDk4MDE4NjQ2MjRdLCBbMTY2MzkyNDA2NC45OTQzMjM3LCAyMTU0NiwgMS44MTc4NTYzMTE3OTgwOTU3XSwgWzE2NjM5MjQwNjUuMDkxMTg0OSwgMjE1NTUsIDIuNTAyNDY4NTg1OTY4MDE3Nl0sIFsxNjYzOTI0MDY1LjE5MTgwNjMsIDIxNTY0LCAxLjg2Nzk3NjE4ODY1OTY2OF0sIFsxNjYzOTI0MDY1LjQwNzkwOSwgMjE1ODIsIDEuNzAzNjYyODcyMzE0NDUzMV0sIFsxNjYzOTI0MDY1LjQ5ODAwNSwgMjE1OTEsIDEuNTU3NTE4MTI0NTgwMzgzM10sIFsxNjYzOTI0MDY2LjU3MTM4NDcsIDIxNjgxLCAxLjY2NjQwNDYwNDkxMTgwNDJdLCBbMTY2MzkyNDA2Ni45NjM2NTI0LCAyMTcxNywgMS43ODE3ODUxMzA1MDA3OTM1XSwgWzE2NjM5MjQwNjcuMjYyNjg4LCAyMTc0NCwgMS42NDY5NTI1MDk4ODAwNjZdLCBbMTY2MzkyNDA2Ny43MTk0NjQzLCAyMTc4MCwgMS42MTA5NjU2MDk1NTA0NzZdLCBbMTY2MzkyNDA2OC42MDk0ODEzLCAyMTg2MSwgMS41Njc1NzM2NjY1NzI1NzA4XSwgWzE2NjM5MjQwNjguODk0OTI5LCAyMTg4OCwgMS42MzgwOTE5MjE4MDYzMzU0XSwgWzE2NjM5MjQwNjkuMjcwNzIyNiwgMjE5MjQsIDEuNTQ5MTA1Mjg2NTk4MjA1Nl0sIFsxNjYzOTI0MDY5LjM2NzI5ODQsIDIxOTMzLCAxLjc5MDUzMDMyMzk4MjIzODhdLCBbMTY2MzkyNDA2OS43MzAzOTg3LCAyMTk2MCwgMS41Nzc4ODI1MjgzMDUwNTM3XSwgWzE2NjM5MjQwNjkuOTQxMTcxNCwgMjE5NzgsIDEuNzk1OTcwNDM5OTEwODg4N10sIFsxNjYzOTI0MDcwLjAzMjMyNjcsIDIxOTg3LCAxLjc1MzE0ODMxNzMzNzAzNjFdLCBbMTY2MzkyNDA3MC42OTcxODU1LCAyMjA0MSwgMS45MzM5NDkzNTEzMTA3M10sIFsxNjYzOTI0MDcxLjM2NTIwMywgMjIwOTUsIDEuNDkxMzg2NjUxOTkyNzk3OV0sIFsxNjYzOTI0MDcxLjgwNDIzOTUsIDIyMTMxLCAxLjc0NzI0NzY5NTkyMjg1MTZdLCBbMTY2MzkyNDA3Mi4yODEwNDI2LCAyMjE2NywgMS45MjM1MTE4NjI3NTQ4MjE4XSwgWzE2NjM5MjQwNzIuNTExMzI1MSwgMjIxODUsIDEuMzk5NDc0NjIwODE5MDkxOF0sIFsxNjYzOTI0MDcyLjYxNDMxODQsIDIyMTk0LCAyLjE0ODkwMDAzMjA0MzQ1N10sIFsxNjYzOTI0MDczLjE4ODUzMzgsIDIyMjMwLCAxLjcxMDUzNDQ1MzM5MjAyODhdLCBbMTY2MzkyNDA3My42MDY0NzY4LCAyMjI2NiwgMS43ODAyMTk0MzU2OTE4MzM1XSwgWzE2NjM5MjQwNzMuODA0MzY5NCwgMjIyODQsIDEuODAwMDI4MjA0OTE3OTA3N10sIFsxNjYzOTI0MDc0LjAxMjExNzQsIDIyMzAyLCAxLjU0MDM1OTEzOTQ0MjQ0MzhdLCBbMTY2MzkyNDA3NC43MTIzNjA0LCAyMjM2NSwgMS42NzM1NTI1MTMxMjI1NTg2XSwgWzE2NjM5MjQwNzQuODE0OTU1MiwgMjIzNzQsIDEuNzcyNjY3ODg0ODI2NjYwMl0sIFsxNjYzOTI0MDc1LjE5MDk2NjgsIDIyNDEwLCAxLjc2MTgyOTk3MjI2NzE1MDldLCBbMTY2MzkyNDA3NS41NzMyMTIsIDIyNDQ2LCAxLjM5MDI2MDIxOTU3Mzk3NDZdLCBbMTY2MzkyNDA3NS44ODUzMTIsIDIyNDczLCAxLjQwNDg2Mzk1MzU5MDM5M10sIFsxNjYzOTI0MDc2LjA3NTUzNzcsIDIyNDkxLCAxLjQzNjE2NzgzNjE4OTI3XSwgWzE2NjM5MjQwNzYuMTc1NDc1LCAyMjUwMCwgMS41Mzc2NDA1NzE1OTQyMzgzXSwgWzE2NjM5MjQwNzYuMjcxODcwNCwgMjI1MDksIDEuNjU1NTYzMzU0NDkyMTg3NV0sIFsxNjYzOTI0MDc2LjU2OTIwMSwgMjI1MzYsIDEuNzYwNjU4NjIxNzg4MDI1XSwgWzE2NjM5MjQwNzYuNzUwODY1LCAyMjU1NCwgMS41NDQ3MDEzMzc4MTQzMzFdLCBbMTY2MzkyNDA3Ni44NDU2MjI4LCAyMjU2MywgMS41ODYyNDA2NDkyMjMzMjc2XSwgWzE2NjM5MjQwNzcuMDQ5NzQ4LCAyMjU4MSwgMS41NzM3ODkxMTk3MjA0NTldLCBbMTY2MzkyNDA3Ny4yNjM5OTI4LCAyMjU5OSwgMS42MjU0MzkyODYyMzE5OTQ2XSwgWzE2NjM5MjQwNzcuNTY4NDEwOSwgMjI2MjYsIDEuNTMwNzk0ODU4OTMyNDk1MV0sIFsxNjYzOTI0MDc3Ljc3MjMxOTMsIDIyNjQ0LCAxLjc3MTk0OTc2ODA2NjQwNjJdLCBbMTY2MzkyNDA3Ny45NjgzNzE2LCAyMjY2MiwgMS43NDM5MDE5NjgwMDIzMTkzXSwgWzE2NjM5MjQwNzguMDY3Mjc1MywgMjI2NzEsIDEuNTIxNTkyODU1NDUzNDkxMl0sIFsxNjYzOTI0MDc4LjE2MTAzNTgsIDIyNjgwLCAxLjQ5MjAxMTQyNzg3OTMzMzVdLCBbMTY2MzkyNDA3OC4zNjE4NTQ2LCAyMjY5OCwgMS45NTMwOTQ2MDE2MzExNjQ2XSwgWzE2NjM5MjQwNzguNTY0NDI3NCwgMjI3MTYsIDEuNjcwMDA2Mzk0Mzg2MjkxNV0sIFsxNjYzOTI0MDc5LjA5MTI2NzYsIDIyNzYxLCAxLjQyNDgxNTA1ODcwODE5MV0sIFsxNjYzOTI0MDc5LjI5MDk3OTksIDIyNzc5LCAyLjExMDk4Mjg5NDg5NzQ2MV0sIFsxNjYzOTI0MDc5LjM4MzgwMzEsIDIyNzg4LCAxLjU3NTM5ODgwMjc1NzI2MzJdLCBbMTY2MzkyNDA4MC4xMDQ4NTAzLCAyMjg1MSwgMS44NjI3MDU1ODgzNDA3NTkzXSwgWzE2NjM5MjQwODAuMzAxOTMxLCAyMjg2OSwgMS42MDUyMzE2NDI3MjMwODM1XSwgWzE2NjM5MjQwODAuNDk1MDI0NCwgMjI4ODcsIDIuMDI5Nzk1ODg1MDg2MDU5Nl0sIFsxNjYzOTI0MDgwLjYwNTYwMjMsIDIyODk2LCAxLjU4NjcyODIxNTIxNzU5MDNdLCBbMTY2MzkyNDA4MS44MTExMTAzLCAyMjk5NSwgMS43NDM0NDIwNTg1NjMyMzI0XSwgWzE2NjM5MjQwODMuMjIzODk5LCAyMzA5NCwgMS41MTQ4OTM2NTEwMDg2MDZdLCBbMTY2MzkyNDA4My4zNjg3NTU4LCAyMzEwMywgMS41Mzc4OTQ0ODczODA5ODE0XSwgWzE2NjM5MjQwODMuNTkwMDUyOCwgMjMxMjEsIDEuODQ5MTc4MDc1NzkwNDA1M10sIFsxNjYzOTI0MDgzLjg2NzMwMzQsIDIzMTQ4LCAxLjQ4Njk5MzU1MTI1NDI3MjVdLCBbMTY2MzkyNDA4NC4zMzg0OTMsIDIzMTg0LCAxLjk0MjA3NjY4MzA0NDQzMzZdLCBbMTY2MzkyNDA4NC41NzA0Nzk2LCAyMzIwMiwgMS40NTgxMTUxMDA4NjA1OTU3XSwgWzE2NjM5MjQwODQuNjY3OTQxNiwgMjMyMTEsIDEuODYyODYxNzUyNTEwMDcwOF0sIFsxNjYzOTI0MDg1LjIzOTM0NjUsIDIzMjU2LCAxLjcwNzE4NjY5ODkxMzU3NDJdLCBbMTY2MzkyNDA4NS4zNDg5OTEyLCAyMzI2NSwgMS44OTQzMDk0MDE1MTIxNDZdLCBbMTY2MzkyNDA4NS40NTExNzI4LCAyMzI3NCwgMS42MzA4ODU0ODE4MzQ0MTE2XSwgWzE2NjM5MjQwODUuNzY0NzUyNiwgMjMzMDEsIDEuMjQ2MzE3NTA1ODM2NDg2OF0sIFsxNjYzOTI0MDg1Ljg2ODQ4NCwgMjMzMTAsIDEuNjI1NTk4NjY5MDUyMTI0XSwgWzE2NjM5MjQwODYuMTgxMTQ5NywgMjMzMzcsIDEuNTg4NjEyMDc5NjIwMzYxM10sIFsxNjYzOTI0MDg2Ljc3NzE1MDksIDIzMzkxLCAxLjgyMTI1ODY2NDEzMTE2NDZdLCBbMTY2MzkyNDA4Ni44Nzk0MjU1LCAyMzQwMCwgMS45OTA2Mjc3NjU2NTU1MTc2XSwgWzE2NjM5MjQwODcuMTI2ODU0NywgMjM0MTgsIDEuNTM2MzYyNTI4ODAwOTY0NF0sIFsxNjYzOTI0MDg3LjM1ODY5MSwgMjM0MzYsIDEuNzM2NDgwMzU1MjYyNzU2M10sIFsxNjYzOTI0MDg3LjU4NDcxNzgsIDIzNDU0LCAxLjQ4MTc5OTM2NDA4OTk2NThdLCBbMTY2MzkyNDA4Ny42ODY5MjQ1LCAyMzQ2MywgMS43OTQwMDc1Mzk3NDkxNDU1XSwgWzE2NjM5MjQwODguODUzMTMxLCAyMzU2MiwgMi4xODgyODA4MjA4NDY1NTc2XSwgWzE2NjM5MjQwODguOTYwMjA0OCwgMjM1NzEsIDEuNjE5Mjc0ODU0NjYwMDM0Ml0sIFsxNjYzOTI0MDg5LjA2ODA4NDUsIDIzNTgwLCAxLjYwMTQ4NjY4Mjg5MTg0NTddLCBbMTY2MzkyNDA4OS40NjMzNzMsIDIzNjA3LCAxLjU4NDU4MTQ5NDMzMTM1OTldLCBbMTY2MzkyNDA4OS45OTg5ODM5LCAyMzY1MiwgMS43NzU5MDExOTgzODcxNDZdLCBbMTY2MzkyNDA5MC4xMDcyMzEsIDIzNjYxLCAxLjM4NTE5OTkwNDQ0MTgzMzVdLCBbMTY2MzkyNDA5MC42NjYxMzg0LCAyMzcwNiwgMS41NTkyMTI1NjU0MjIwNThdLCBbMTY2MzkyNDA5MC43NzQyNDQ4LCAyMzcxNSwgMS41NTgzMzUzMDQyNjAyNTRdLCBbMTY2MzkyNDA5MC44ODQ1MzQ0LCAyMzcyNCwgMS41MTc0NjU3MTA2Mzk5NTM2XSwgWzE2NjM5MjQwOTAuOTkwMDYxOCwgMjM3MzMsIDEuNTI2NDAwNDQ2ODkxNzg0N10sIFsxNjYzOTI0MDkxLjE5OTQwMTYsIDIzNzUxLCAxLjc0MzUzNjk0OTE1NzcxNDhdLCBbMTY2MzkyNDA5MS4yOTc0MDY3LCAyMzc2MCwgMS4zODk0Mjg2MTU1NzAwNjg0XSwgWzE2NjM5MjQwOTEuNDA2ODMyNywgMjM3NjksIDEuNDY2MTgzNTQzMjA1MjYxMl0sIFsxNjYzOTI0MDkxLjkxODg3OTUsIDIzNzk2LCAxLjY2MTE5MTgyMTA5ODMyNzZdLCBbMTY2MzkyNDA5My4xNzU3MDQsIDIzODk1LCAxLjU5NjU3MDg0OTQxODY0MDFdLCBbMTY2MzkyNDA5My45MDY4Mjk0LCAyMzk0OSwgMS43NDIyOTY4MTQ5MTg1MThdLCBbMTY2MzkyNDA5NC4xMjc4ODQxLCAyMzk2NywgMS40OTAxMzQwMDA3NzgxOTgyXSwgWzE2NjM5MjQwOTUuMDE3MDQyMiwgMjQwMzksIDEuOTExMjkzOTgzNDU5NDcyN10sIFsxNjYzOTI0MDk1LjEzNDA1MSwgMjQwNDgsIDEuNDEwNDkzMTM1NDUyMjcwNV0sIFsxNjYzOTI0MDk1LjI0NTA2MSwgMjQwNTcsIDEuODYzNjA4MjQxMDgxMjM3OF0sIFsxNjYzOTI0MDk1LjQ3NDUwNTQsIDI0MDc1LCAxLjQ2NTEwMjU1MzM2NzYxNDddLCBbMTY2MzkyNDA5Ni4yNzc1NTgsIDI0MTM4LCAxLjM1ODY1OTI2NzQyNTUzN10sIFsxNjYzOTI0MDk2LjY3NTUzMjMsIDI0MTY1LCAxLjQ3NTYyMDk4NTAzMTEyOF0sIFsxNjYzOTI0MDk2Ljk0MTczMzgsIDI0MTgzLCAxLjY5MzMzMDE2ODcyNDA2XSwgWzE2NjM5MjQwOTcuMzA2MTQ1LCAyNDIxMCwgMS42Mjg2NzQ5ODM5NzgyNzE1XSwgWzE2NjM5MjQwOTcuNTIxOTg4MiwgMjQyMjgsIDEuMzIxNzk1MjI1MTQzNDMyNl0sIFsxNjYzOTI0MDk3Ljc2MzI0NywgMjQyNDYsIDEuNzAzOTIwMTI1OTYxMzAzN10sIFsxNjYzOTI0MDk4Ljc5NTk0NDUsIDI0MzI3LCAxLjY2MTcwNDE4MjYyNDgxN10sIFsxNjYzOTI0MDk4Ljg5ODI3ODIsIDI0MzM2LCAxLjQxNTcwMTc0Njk0MDYxMjhdLCBbMTY2MzkyNDA5OS4wMTMzODIsIDI0MzQ1LCAxLjQxODI3ODgxMzM2MjEyMTZdLCBbMTY2MzkyNDA5OS4yMzE4MzQ0LCAyNDM2MywgMS41MDc3MjE3ODE3MzA2NTE5XSwgWzE2NjM5MjQwOTkuNDQ4MDE1NSwgMjQzODEsIDEuNjU5MzUyMTgzMzQxOThdLCBbMTY2MzkyNDA5OS42ODUwNDk4LCAyNDM5OSwgMS41Mjc3MzE4OTU0NDY3NzczXSwgWzE2NjM5MjQwOTkuOTE0NDYsIDI0NDE3LCAxLjMxMzE2NzA5NTE4NDMyNjJdLCBbMTY2MzkyNDEwMC4wMjAzNTIsIDI0NDI2LCAxLjQ4MDY3OTE1NDM5NjA1NzFdLCBbMTY2MzkyNDEwMC40OTkwMjQ0LCAyNDQ2MiwgMS41NTkyNzA5Nzc5NzM5MzhdLCBbMTY2MzkyNDEwMC42MDU2NjA0LCAyNDQ3MSwgMS45OTA0NjEyMzAyNzgwMTUxXSwgWzE2NjM5MjQxMDAuNzAyMjg4OSwgMjQ0ODAsIDEuNjc1MTY3NTYwNTc3MzkyNl0sIFsxNjYzOTI0MTAxLjE4NDgwNzgsIDI0NTI1LCAxLjQ3MTMyMjUzNjQ2ODUwNTldLCBbMTY2MzkyNDEwMS4yODM1NjAzLCAyNDUzNCwgMS44NTY2NzA4NTY0NzU4M10sIFsxNjYzOTI0MTAxLjUxNDIxOTgsIDI0NTUyLCAxLjY0MzE3NTM2MzU0MDY0OTRdLCBbMTY2MzkyNDEwMS45NDY3NDksIDI0NTcwLCAxLjgxMTY3NTkwNjE4MTMzNTRdLCBbMTY2MzkyNDEwMi4wNDM2MDQxLCAyNDU3OSwgMS41MjU4MDg1NzI3NjkxNjVdLCBbMTY2MzkyNDEwMi40NTUxMjA4LCAyNDYxNSwgMS43Mzc0NjA5NzA4Nzg2MDFdLCBbMTY2MzkyNDEwMi41NTY1NzU4LCAyNDYyNCwgMS41NzgwMTgzMDc2ODU4NTJdLCBbMTY2MzkyNDEwMi45NDE3NjI0LCAyNDY2MCwgMS40MjkyNTE3OTAwNDY2OTJdLCBbMTY2MzkyNDEwMy4wNTIwMjYsIDI0NjY5LCAxLjY4MTgwNjA4NzQ5Mzg5NjVdLCBbMTY2MzkyNDEwMy4xNDY1Nzk3LCAyNDY3OCwgMS4yNTMwNDcyMjc4NTk0OTddLCBbMTY2MzkyNDEwMy4yNjUzNTY4LCAyNDY4NywgMS40NDc0OTA5MzA1NTcyNTFdLCBbMTY2MzkyNDEwMy40NTk5Nzg4LCAyNDcwNSwgMS41MTg1OTg0MzczMDkyNjUxXSwgWzE2NjM5MjQxMDMuNTU2NzkwNCwgMjQ3MTQsIDIuMTQ1MzM2NjI3OTYwMjA1XSwgWzE2NjM5MjQxMDMuNjUwODA3NCwgMjQ3MjMsIDEuNDYyNzYxMTYzNzExNTQ3OV0sIFsxNjYzOTI0MTA0LjM1NjgzOTIsIDI0Nzg2LCAxLjUzMzY1OTkzNDk5NzU1ODZdLCBbMTY2MzkyNDEwNC40NTQwMjAzLCAyNDc5NSwgMS44NjQyNzIyMzY4MjQwMzU2XSwgWzE2NjM5MjQxMDQuNTU3MjQ0LCAyNDgwNCwgMS4zOTU2NTEyMjEyNzUzMjk2XSwgWzE2NjM5MjQxMDUuMTM0MjM4MiwgMjQ4NDksIDEuMzg1NzU4Mzk5OTYzMzc5XSwgWzE2NjM5MjQxMDUuMjQ5OTEyMywgMjQ4NTgsIDEuMzI5NzIyMjg1MjcwNjkxXSwgWzE2NjM5MjQxMDUuNzI4ODI2MywgMjQ4OTQsIDEuMzIwNjI1MzA1MTc1NzgxMl0sIFsxNjYzOTI0MTA2LjExODkxOTYsIDI0OTIxLCAxLjU0MzQzOTc0NTkwMzAxNTFdLCBbMTY2MzkyNDEwNi40OTM0MTMsIDI0OTQ4LCAxLjQyMTQ2MTkzOTgxMTcwNjVdLCBbMTY2MzkyNDEwNi43MjE3NTk4LCAyNDk2NiwgMS40Nzk2NDI1MTA0MTQxMjM1XSwgWzE2NjM5MjQxMDYuOTI5MTA5MywgMjQ5ODQsIDEuNzcyNjU1MzY3ODUxMjU3M10sIFsxNjYzOTI0MTA3LjE5ODYwNDYsIDI1MDAyLCAxLjM3NzQ5NTUyNzI2NzQ1Nl0sIFsxNjYzOTI0MTA3LjMxOTIwNTUsIDI1MDExLCAxLjM3OTM2MTk4NzExMzk1MjZdLCBbMTY2MzkyNDEwNy40NTI2MzY1LCAyNTAyMCwgMS41OTE0ODg1OTk3NzcyMjE3XSwgWzE2NjM5MjQxMDguMDIyNDY3NiwgMjUwNjUsIDEuNDAyMDk5NzI4NTg0Mjg5Nl0sIFsxNjYzOTI0MTA4LjE2MDc3NTcsIDI1MDc0LCAxLjg4NTA5NzM4NDQ1MjgxOThdLCBbMTY2MzkyNDEwOS42MzI0NjY4LCAyNTE4MiwgMS40MTQwMzgzMDA1MTQyMjEyXSwgWzE2NjM5MjQxMDkuODUzNzIyLCAyNTIwMCwgMS43NjU4OTUxMjgyNTAxMjJdLCBbMTY2MzkyNDExMC42NTkxNDYsIDI1MjYzLCAxLjM1OTQyMDQxODczOTMxODhdLCBbMTY2MzkyNDExMS4zMjY5Mjk4LCAyNTMxNywgMS40MjM5MDEwODEwODUyMDVdLCBbMTY2MzkyNDExMS40NjIwMzk1LCAyNTMyNiwgMS40NDA2NTQ1MTYyMjAwOTI4XSwgWzE2NjM5MjQxMTIuOTUzMzY5NiwgMjU0MjUsIDEuNDY1NTc5MTUyMTA3MjM4OF0sIFsxNjYzOTI0MTEzLjA2MjM2OTYsIDI1NDM0LCAxLjYxODQ5NTk0MTE2MjEwOTRdLCBbMTY2MzkyNDExNC4wODU0MTA4LCAyNTUxNSwgMS40NDIwNDE2MzU1MTMzMDU3XSwgWzE2NjM5MjQxMTQuMzE0MzYwNiwgMjU1MzMsIDEuNDc3NDI0OTc5MjA5OV0sIFsxNjYzOTI0MTE0LjU0NzU1NzQsIDI1NTUxLCAxLjI5ODEyMzM1OTY4MDE3NThdLCBbMTY2MzkyNDExNC42ODMwODE2LCAyNTU2MCwgMS4yNzA1NDA3MTQyNjM5MTZdLCBbMTY2MzkyNDExNC45MzYzNzA0LCAyNTU3OCwgMS40ODY3MTU1NTUxOTEwNF0sIFsxNjYzOTI0MTE1LjE0NTY4NywgMjU1OTYsIDEuNDQyODM2NTIzMDU2MDMwM10sIFsxNjYzOTI0MTE1LjI0OTA3OCwgMjU2MDUsIDEuMzg4NTIwMTIxNTc0NDAxOV0sIFsxNjYzOTI0MTE1LjU0NDIxNzYsIDI1NjMyLCAxLjM0MTEwMjYwMDA5NzY1NjJdLCBbMTY2MzkyNDExNS45NTcwMDQ1LCAyNTY2OCwgMS40NTU2NjQxNTc4Njc0MzE2XSwgWzE2NjM5MjQxMTYuMDY4MzkxNiwgMjU2NzcsIDEuNzg5NDMzMjQwODkwNTAzXSwgWzE2NjM5MjQxMTYuNjI4MjE2MywgMjU3MjIsIDEuMzI4Njg2MzU2NTQ0NDk0Nl0sIFsxNjYzOTI0MTE2LjgyMjkxNDgsIDI1NzQwLCAxLjI3NzY4MTgyNzU0NTE2Nl0sIFsxNjYzOTI0MTE3LjAzNDAwMTYsIDI1NzU4LCAxLjYyOTc4NDM0NTYyNjgzMV0sIFsxNjYzOTI0MTE3LjE1ODQ4NywgMjU3NjcsIDEuMzgwNjYyOTE4MDkwODIwM10sIFsxNjYzOTI0MTE3LjYwMTc3ODMsIDI1ODAzLCAxLjc5MTY2NDQ4MTE2MzAyNV0sIFsxNjYzOTI0MTE3Ljc5MDgzMTgsIDI1ODIxLCAxLjUyMDc1NTQxMDE5NDM5N10sIFsxNjYzOTI0MTE4LjA4ODA1NTEsIDI1ODQ4LCAxLjUwOTMzNTUxNzg4MzMwMDhdLCBbMTY2MzkyNDExOS41NjA0MjIsIDI1OTIwLCAxLjkzMTkzNzMzNjkyMTY5Ml0sIFsxNjYzOTI0MTE5LjgwODMzNTgsIDI1OTI5LCAxLjM5MjQ0NTgwMjY4ODU5ODZdLCBbMTY2MzkyNDExOS45NTYwODY2LCAyNTkzOCwgMS4zMjQyNjMyMTUwNjUwMDI0XSwgWzE2NjM5MjQxMjAuMjEzNTQzNywgMjU5NDcsIDEuNDkwOTQ5NTExNTI4MDE1MV0sIFsxNjYzOTI0MTIwLjYxMzAzNDIsIDI1OTY1LCAxLjUwNjgyODY2NTczMzMzNzRdLCBbMTY2MzkyNDEyMS42MTEwOTg1LCAyNjAxMCwgMS40MDI0MTQ3OTg3MzY1NzIzXSwgWzE2NjM5MjQxMjEuODU1MDIzOSwgMjYwMjgsIDEuNTg2NjYzOTYxNDEwNTIyNV0sIFsxNjYzOTI0MTIyLjA2OTAxNDUsIDI2MDQ2LCAxLjQyNTAzMjg1NDA4MDIwMDJdLCBbMTY2MzkyNDEyMi4yNzcwNjc3LCAyNjA2NCwgMS41OTQxMzY0NzY1MTY3MjM2XSwgWzE2NjM5MjQxMjIuNjc2NjA4LCAyNjEwMCwgMS45MjM3OTc0ODgyMTI1ODU0XSwgWzE2NjM5MjQxMjMuMjcwODk3NCwgMjYxMzYsIDEuMzM5ODA1ODQxNDQ1OTIyOV0sIFsxNjYzOTI0MTIzLjM2OTkzNDgsIDI2MTQ1LCAxLjQ2NjcyMjYwNzYxMjYwOTldLCBbMTY2MzkyNDEyNC4wNjMzMTM3LCAyNjIwOCwgMS42MjE2NTc3MjkxNDg4NjQ3XSwgWzE2NjM5MjQxMjQuMTg2MTE3NiwgMjYyMTcsIDEuNzMzNzA4MjYyNDQzNTQyNV0sIFsxNjYzOTI0MTI0LjQxMzY5NzcsIDI2MjM1LCAxLjYxMDc4NjkxNDgyNTQzOTVdLCBbMTY2MzkyNDEyNC41MDgwNjAyLCAyNjI0NCwgMS42MzQ5MTE1MzcxNzA0MTAyXSwgWzE2NjM5MjQxMjQuODc3NjU4LCAyNjI3MSwgMS40MjQxNjkxODI3Nzc0MDQ4XSwgWzE2NjM5MjQxMjUuMTIzNzY0OCwgMjYyODksIDEuNDY0MjUwNDQ1MzY1OTA1OF0sIFsxNjYzOTI0MTI1LjIzNzQwNTUsIDI2Mjk4LCAxLjMwNDk4NDA5MjcxMjQwMjNdLCBbMTY2MzkyNDEyNS4zNDcxMTQsIDI2MzA3LCAxLjMxOTQ1NDY2OTk1MjM5MjZdLCBbMTY2MzkyNDEyNS42MTI0Mjk5LCAyNjMyNSwgMS44MjM0Mjk5NDIxMzEwNDI1XSwgWzE2NjM5MjQxMjUuNzIwMjIsIDI2MzM0LCAxLjM5Nzk4NjI5MjgzOTA1MDNdLCBbMTY2MzkyNDEyNi4zMjE3MzcsIDI2Mzc5LCAxLjY2MzQwOTM1MjMwMjU1MTNdLCBbMTY2MzkyNDEyNi44MDUxNTg0LCAyNjQxNSwgMS43MDc1MjcwNDE0MzUyNDE3XSwgWzE2NjM5MjQxMjYuOTE2OTE1NCwgMjY0MjQsIDEuNTk4OTMwODM1NzIzODc3XSwgWzE2NjM5MjQxMjguNTA2NDIyOCwgMjY1NTAsIDEuNDA3NDg5NjU3NDAyMDM4Nl0sIFsxNjYzOTI0MTI4LjgyODI4NTIsIDI2NTc3LCAxLjE4NzM2MzUwNTM2MzQ2NDRdLCBbMTY2MzkyNDEyOS4yMDExNjMsIDI2NjA0LCAxLjI5MjY4MDg1OTU2NTczNDldLCBbMTY2MzkyNDEyOS41NDI2NzI2LCAyNjYzMSwgMS4yNzY0MDg2NzIzMzI3NjM3XSwgWzE2NjM5MjQxMzAuMDIxMDEwNCwgMjY2NjcsIDEuMzI3NzQ1MTk5MjAzNDkxMl0sIFsxNjYzOTI0MTMwLjEyNjg1OCwgMjY2NzYsIDEuNTcyODkxMjM1MzUxNTYyNV0sIFsxNjYzOTI0MTMwLjM1OTc3MjIsIDI2Njk0LCAxLjU3OTc3MzE4NzYzNzMyOV0sIFsxNjYzOTI0MTMwLjQ2NTg2NTEsIDI2NzAzLCAxLjM5MzE5OTMyNDYwNzg0OTFdLCBbMTY2MzkyNDEzMC41NzQzNTM1LCAyNjcxMiwgMS40MzgwNzU5MDAwNzc4MTk4XSwgWzE2NjM5MjQxMzEuMTQ1MDA1MiwgMjY3NjYsIDEuMzM2MTM5MDgyOTA4NjMwNF0sIFsxNjYzOTI0MTMxLjcwMTczMTcsIDI2ODExLCAxLjQ0NTMzMzI0MjQxNjM4MThdLCBbMTY2MzkyNDEzMS44MTI2MTU0LCAyNjgyMCwgMS41NTk3NDQ1OTY0ODEzMjMyXSwgWzE2NjM5MjQxMzEuOTI0MjYzNywgMjY4MjksIDEuNzE3ODE3MzA2NTE4NTU0N10sIFsxNjYzOTI0MTMyLjAyNDQ1NjcsIDI2ODM4LCAxLjYxMDk0MDY5NDgwODk2XSwgWzE2NjM5MjQxMzIuMzc1OTU0LCAyNjg2NSwgMS40NjExOTc3MzM4NzkwODk0XSwgWzE2NjM5MjQxMzIuNjM4MzA2OSwgMjY4ODMsIDEuMjk0ODc4ODQwNDQ2NDcyMl0sIFsxNjYzOTI0MTMyLjc2NTk0MTksIDI2ODkyLCAxLjI5ODEzMzYxMTY3OTA3NzFdLCBbMTY2MzkyNDEzMy42Mzk4NjczLCAyNjk0NiwgMS4yNTk5NTk0NTkzMDQ4MDk2XSwgWzE2NjM5MjQxMzMuOTQ3ODY0OCwgMjY5NzMsIDEuNDc1MjMzNzkzMjU4NjY3XSwgWzE2NjM5MjQxMzQuMTU4Mzg1OCwgMjY5OTEsIDEuMjg2ODM4NDEyMjg0ODUxXSwgWzE2NjM5MjQxMzQuMjU2OTMwOCwgMjcwMDAsIDEuNTIzODQ1MDc2NTYwOTc0MV1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep23_08-40-24_54c5144e9b50&tag=Loss%2Ftrain":{"data":"W1sxNjYzOTIyNDI0LjUwNzg3MjgsIDM2LCAzMi4wNDE5MzQ5NjcwNDEwMTZdLCBbMTY2MzkyMjQyNC42MTgwNTMyLCA0NSwgMjguODUxMTQwOTc1OTUyMTVdLCBbMTY2MzkyMjQyNS4zMzI3NzgyLCA5OSwgNy43NjgyMzM3NzYwOTI1MjldLCBbMTY2MzkyMjQyNS44MjI2MTIzLCAxMzUsIDUuNDE2ODA4MTI4MzU2OTM0XSwgWzE2NjM5MjI0MjUuOTMxNDU3MywgMTQ0LCA1LjQ1MDU4MjAyNzQzNTMwM10sIFsxNjYzOTIyNDI2LjMxMjA3OSwgMTcxLCA1LjExNDE4NTgxMDA4OTExMV0sIFsxNjYzOTIyNDI2LjQxNzAzNTgsIDE4MCwgNS4xOTYwODczNjAzODIwOF0sIFsxNjYzOTIyNDI2LjUwMjEwODMsIDE4OSwgNS4xMTUwMDQwNjI2NTI1ODhdLCBbMTY2MzkyMjQyNi42ODQ1OTIyLCAyMDcsIDQuOTQ1NTc3NjIxNDU5OTYxXSwgWzE2NjM5MjI0MjYuNzc2MTI4NSwgMjE2LCA0Ljg3OTk4NjI4NjE2MzMzXSwgWzE2NjM5MjI0MjcuMDQ2ODY3LCAyNDMsIDQuNjg2NDEzMjg4MTE2NDU1XSwgWzE2NjM5MjI0MjcuMTQwMDY5NywgMjUyLCA0LjY4NzQ3MzI5NzExOTE0MV0sIFsxNjYzOTIyNDI4LjI1MDUyODYsIDM1MSwgNC4xNzQ0MTg0NDk0MDE4NTU1XSwgWzE2NjM5MjI0MjguNDUzMTcwOCwgMzY5LCA0LjE2OTAyMzAzNjk1Njc4N10sIFsxNjYzOTIyNDI5LjI3MTI1ODQsIDQzMiwgMy43NjIzNTE5ODk3NDYwOTM4XSwgWzE2NjM5MjI0MjkuMzg3NjUsIDQ0MSwgMy43NDMzODE3Mzg2NjI3MTk3XSwgWzE2NjM5MjI0MjkuNTAxODA1OCwgNDUwLCAzLjY0NzA2Nzc4NTI2MzA2MTVdLCBbMTY2MzkyMjQyOS43NDgyMzc0LCA0NjgsIDMuNTk3ODUxMjc2Mzk3NzA1XSwgWzE2NjM5MjI0MzAuMDY5NDc5MiwgNDk1LCAzLjQ5ODQ5NDg2MzUxMDEzMl0sIFsxNjYzOTIyNDMwLjQxMDAyMDgsIDUyMiwgMy4yODQ4Mzk4Njg1NDU1MzIyXSwgWzE2NjM5MjI0MzAuNzQxNzAyMywgNTQ5LCAzLjIzODA3MDQ4Nzk3NjA3NF0sIFsxNjYzOTIyNDMwLjg0NDg4NzcsIDU1OCwgMy4xOTYzNTQxNTA3NzIwOTQ3XSwgWzE2NjM5MjI0MzAuOTU2MTE1NSwgNTY3LCAzLjIwMzIyODcxMjA4MTkwOV0sIFsxNjYzOTIyNDMxLjA2NDczOCwgNTc2LCAzLjIwMDgwNzMzMjk5MjU1MzddLCBbMTY2MzkyMjQzMS4yODM2MjQ0LCA1OTQsIDMuMTMwNTA1MzIzNDEwMDM0XSwgWzE2NjM5MjI0MzEuNDA0NjE0NCwgNjAzLCAzLjExMzMyOTE3MjEzNDM5OTRdLCBbMTY2MzkyMjQzMS41MTM5NDg0LCA2MTIsIDMuMDQ4MDQzMjUxMDM3NTk3N10sIFsxNjYzOTIyNDMxLjYwNDgxODMsIDYyMSwgMy4wNTk4NTg1NjA1NjIxMzRdLCBbMTY2MzkyMjQzMS44MDY5MDAzLCA2MzksIDIuOTg3NjkyNTk0NTI4MTk4Ml0sIFsxNjYzOTIyNDMxLjkxMjQ3MDgsIDY0OCwgMi45ODU3MTcwNTgxODE3NjI3XSwgWzE2NjM5MjI0MzIuNzAzODEwMiwgNzAyLCAyLjc5MzA3MDc5MzE1MTg1NTVdLCBbMTY2MzkyMjQzMi45MzI0MTQsIDcyMCwgMi43NzY1MzE2OTYzMTk1OF0sIFsxNjYzOTIyNDMzLjI3MTI5LCA3NDcsIDIuNjk4NzY0MzI0MTg4MjMyNF0sIFsxNjYzOTIyNDMzLjU4ODA2NjYsIDc3NCwgMi42NzY5NzUwMTE4MjU1NjE1XSwgWzE2NjM5MjI0MzQuMDA5MjY2MSwgODEwLCAyLjU3NjcyODU4MjM4MjIwMl0sIFsxNjYzOTIyNDM0Ljk4MTI5ODQsIDkwMCwgMi40MzgyOTYzMTgwNTQxOTldLCBbMTY2MzkyMjQzNS40MDgwMTQzLCA5MzYsIDIuNDAxMzYwMjczMzYxMjA2XSwgWzE2NjM5MjI0MzUuNzUyNjg4LCA5NjMsIDIuMzcxNTk4OTU4OTY5MTE2XSwgWzE2NjM5MjI0MzUuOTIyNjg2LCA5NzIsIDIuMzQxMTUwMDQ1Mzk0ODk3NV0sIFsxNjYzOTIyNDM2LjIxNDUxMTQsIDk5MCwgMi4zMjU1NjgxOTkxNTc3MTVdLCBbMTY2MzkyMjQzNy41NTkxNywgMTA1MywgMi4yNDcyNjY3Njk0MDkxNzk3XSwgWzE2NjM5MjI0MzguNjM4MTY4OCwgMTA5OCwgMi4xODkwMTMwMDQzMDI5Nzg1XSwgWzE2NjM5MjI0MzkuNDY2MTY4NCwgMTEzNCwgMi4yNTkxMzAwMDEwNjgxMTUyXSwgWzE2NjM5MjI0MzkuNjYyMDU4NiwgMTE0MywgMi4xODU2NjM0NjE2ODUxODA3XSwgWzE2NjM5MjI0NDAuMDY4ODY3NywgMTE2MSwgMi4xMzE4NzgzNzYwMDcwOF0sIFsxNjYzOTIyNDQwLjQ4NzEwNTYsIDExNzksIDIuMTUxNDYzNTA4NjA1OTU3XSwgWzE2NjM5MjI0NDAuNzAxMTQ1LCAxMTg4LCAyLjEwNDk1NzU4MDU2NjQwNjJdLCBbMTY2MzkyMjQ0MS43MjkwNDQyLCAxMjMzLCAyLjE4NDQyNjMwNzY3ODIyMjddLCBbMTY2MzkyMjQ0MS44MzUxMTgsIDEyNDIsIDIuMDg0NTk4MzAyODQxMTg2NV0sIFsxNjYzOTIyNDQyLjUwNTY1ODYsIDEzMDUsIDIuMDcxMzQzNDIxOTM2MDM1XSwgWzE2NjM5MjI0NDIuNjkyMDczLCAxMzIzLCAyLjA3ODI5MDIyNDA3NTMxNzRdLCBbMTY2MzkyMjQ0Mi43ODYwNTUzLCAxMzMyLCAyLjA0NTEwMDY4ODkzNDMyNl0sIFsxNjYzOTIyNDQzLjA4NDgzNzQsIDEzNTksIDIuMDQxMjQzMzE0NzQzMDQyXSwgWzE2NjM5MjI0NDMuNzc5MDU2OCwgMTQyMiwgMi4wMjI1NTU1ODk2NzU5MDMzXSwgWzE2NjM5MjI0NDQuMDcwNDAwNywgMTQ0OSwgMS45ODUxNjE2NjIxMDE3NDU2XSwgWzE2NjM5MjI0NDQuNDcwNDcxLCAxNDY3LCAxLjk3NTcyNDY5NzExMzAzN10sIFsxNjYzOTIyNDQ0LjY0Njc4NTUsIDE0ODUsIDEuOTkxNDkzMjI1MDk3NjU2Ml0sIFsxNjYzOTIyNDQ1LjI2MjY1MDcsIDE1MzksIDEuOTMxODM5NzA0NTEzNTQ5OF0sIFsxNjYzOTIyNDQ1LjM2MDM5MDIsIDE1NDgsIDEuOTgxMDE5MTM5Mjg5ODU2XSwgWzE2NjM5MjI0NDUuNDY1OTA2OSwgMTU1NywgMS45MzgwNDI5OTgzMTM5MDM4XSwgWzE2NjM5MjI0NDUuNzY5NzI5MSwgMTU4NCwgMi4wMDUyNjU0NzQzMTk0NThdLCBbMTY2MzkyMjQ0NS45NjI4MjY3LCAxNjAyLCAxLjk2NzY0NTUyNTkzMjMxMl0sIFsxNjYzOTIyNDQ2LjM1NzQ0NzksIDE2MzgsIDEuOTAxOTA2NDkwMzI1OTI3N10sIFsxNjYzOTIyNDQ2LjcxNjI5MjQsIDE2NjUsIDEuOTEyMTE2NTI3NTU3MzczXSwgWzE2NjM5MjI0NDYuODMyNzA0MywgMTY3NCwgMS45MTE1NDQ0NDIxNzY4MTg4XSwgWzE2NjM5MjI0NDYuOTM4MjAzMywgMTY4MywgMS45MjkxNDk5ODUzMTM0MTU1XSwgWzE2NjM5MjI0NDcuMzU4OTE1OCwgMTcxOSwgMS45NzgwNTA5NDcxODkzMzFdLCBbMTY2MzkyMjQ0Ny40NjA5NTEzLCAxNzI4LCAxLjg5MDg4MjEzNDQzNzU2MV0sIFsxNjYzOTIyNDQ3LjU1ODY4NDgsIDE3MzcsIDEuODgwMTMwNjQ4NjEyOTc2XSwgWzE2NjM5MjI0NDguMjYzMDg1MSwgMTgwMCwgMS45MzI2NDU1NTkzMTA5MTNdLCBbMTY2MzkyMjQ0OC41NDkwMzYzLCAxODI3LCAxLjg2MTM4NTM0NTQ1ODk4NDRdLCBbMTY2MzkyMjQ0OC42NDQ0NjkzLCAxODM2LCAxLjg5MjE4NjE2NDg1NTk1N10sIFsxNjYzOTIyNDQ4Ljc0NTc0MDIsIDE4NDUsIDEuODg1NDcyNDE2ODc3NzQ2Nl0sIFsxNjYzOTIyNDQ4Ljg1MDAzNCwgMTg1NCwgMS44NjE5NTc1NTAwNDg4MjgxXSwgWzE2NjM5MjI0NDkuMDU3MzUxLCAxODcyLCAxLjg4OTY1OTUyMzk2MzkyODJdLCBbMTY2MzkyMjQ0OS40NjM5NjI2LCAxOTA4LCAxLjg0NzI0NjE3MDA0Mzk0NTNdLCBbMTY2MzkyMjQ0OS42NTM1ODg4LCAxOTI2LCAxLjg2OTkyODI0MDc3NjA2Ml0sIFsxNjYzOTIyNDQ5Ljg1NTU0MTUsIDE5NDQsIDEuODQ4ODA0NDczODc2OTUzMV0sIFsxNjYzOTIyNDUwLjIzMDczMDUsIDE5ODAsIDEuODUxMjE3NTA4MzE2MDRdLCBbMTY2MzkyMjQ1MC4zMzQ1ODA0LCAxOTg5LCAxLjgyMzAzMDExNDE3Mzg4OTJdLCBbMTY2MzkyMjQ1MC40MjYwNTU3LCAxOTk4LCAxLjgxNjYyNDUyMjIwOTE2NzVdLCBbMTY2MzkyMjQ1MC42OTEzMDEzLCAyMDI1LCAxLjg2NzEwMTkwNzczMDEwMjVdLCBbMTY2MzkyMjQ1MS4xNjczNDYsIDIwNzAsIDEuODU1ODc4NDcyMzI4MTg2XSwgWzE2NjM5MjI0NTIuMTU3NTc0LCAyMTYwLCAxLjgxMDQ0NTQyNzg5NDU5MjNdLCBbMTY2MzkyMjQ1Mi4zNTk4NzI4LCAyMTc4LCAxLjc3ODcyNzE3MzgwNTIzNjhdLCBbMTY2MzkyMjQ1Mi42NTQwMzA4LCAyMjA1LCAxLjc3MDczNDkwNjE5NjU5NDJdLCBbMTY2MzkyMjQ1Mi43NjAxMTI1LCAyMjE0LCAxLjc4OTc0Mjk0NjYyNDc1NTldLCBbMTY2MzkyMjQ1Mi44NDkzOTQzLCAyMjIzLCAxLjcyMzg4Mjc5NDM4MDE4OF0sIFsxNjYzOTIyNDUzLjc4NjA5NjMsIDIyOTUsIDEuNzQxNTE1NzU1NjUzMzgxM10sIFsxNjYzOTIyNDU0LjE0OTY5MzMsIDIzMzEsIDEuNzMzNTc1MTA1NjY3MTE0M10sIFsxNjYzOTIyNDU0LjIzOTExNCwgMjM0MCwgMS43MjU0MDI5NTEyNDA1Mzk2XSwgWzE2NjM5MjI0NTQuMzMxODc4LCAyMzQ5LCAxLjc4MzEyMTU4NTg0NTk0NzNdLCBbMTY2MzkyMjQ1NC41Mjc3MjMzLCAyMzY3LCAxLjc2NzkwOTc2NTI0MzUzMDNdLCBbMTY2MzkyMjQ1NS4zODczNzksIDI0NDgsIDEuNzEzMzk1MTE4NzEzMzc5XSwgWzE2NjM5MjI0NTUuNzcyNTA2NywgMjQ3NSwgMS42OTg5NDE0NjkxOTI1MDQ5XSwgWzE2NjM5MjI0NTYuMDEyMDUyNSwgMjQ5MywgMS43MzA1NDkzMzU0Nzk3MzYzXSwgWzE2NjM5MjI0NTYuMjIzMjQ2NiwgMjUxMSwgMS43MTI1NzYwMzE2ODQ4NzU1XSwgWzE2NjM5MjI0NTYuNDQ0MDQ2MywgMjUyOSwgMS43NDIyMDA4NTE0NDA0Mjk3XSwgWzE2NjM5MjI0NTYuNjM2MTQ3NywgMjU0NywgMS43MzY5NTAzOTc0OTE0NTVdLCBbMTY2MzkyMjQ1Ni43NTcwNDEsIDI1NTYsIDEuNzE2OTA3MzgyMDExNDEzNl0sIFsxNjYzOTIyNDU2Ljk4ODQyNDMsIDI1NzQsIDEuNzAzNDM4NjM5NjQwODA4XSwgWzE2NjM5MjI0NTcuMjY2MTE2OSwgMjYwMSwgMS43MDA1ODQ1MzA4MzAzODMzXSwgWzE2NjM5MjI0NTcuNDU1Mzc2LCAyNjE5LCAxLjY2NjE0NTIwNTQ5Nzc0MTddLCBbMTY2MzkyMjQ1Ny45NDkwOTI5LCAyNjY0LCAxLjY2Njg5NzUzNTMyNDA5NjddLCBbMTY2MzkyMjQ1OC4wNTAxODczLCAyNjczLCAxLjczMTU5NjgyNzUwNzAxOV0sIFsxNjYzOTIyNDU4LjE2OTA5ODQsIDI2ODIsIDEuNzEwNzc1Mzc1MzY2MjExXSwgWzE2NjM5MjI0NTguMjYyODEyMSwgMjY5MSwgMS43MTM2NjQxNzQwNzk4OTVdLCBbMTY2MzkyMjQ1OS4xMDEzMDgsIDI3NjMsIDEuNjU2OTQ3NjEyNzYyNDUxMl0sIFsxNjYzOTIyNDU5LjI3OTQxODUsIDI3ODEsIDEuNjU2OTc5MjAzMjI0MTgyMV0sIFsxNjYzOTIyNDU5LjcxNDMxMTgsIDI4MTcsIDEuNjQwMjQ1MzE4NDEyNzgwOF0sIFsxNjYzOTIyNDYwLjE0ODIwNzIsIDI4NTMsIDEuNjIyMTEyMTU0OTYwNjMyM10sIFsxNjYzOTIyNDYwLjM1MDA0MTksIDI4NzEsIDEuNjI0NTk2MTE4OTI3MDAyXSwgWzE2NjM5MjI0NjAuNDQ5NTQ0NCwgMjg4MCwgMS42ODgyMDY1NTM0NTkxNjc1XSwgWzE2NjM5MjI0NjAuNzg2MjAxNywgMjkwNywgMS43MTUxODgxNDU2Mzc1MTIyXSwgWzE2NjM5MjI0NjIuNjI3MjExMywgMzA0MiwgMS42Mzc3MzYyMDEyODYzMTZdLCBbMTY2MzkyMjQ2Mi43MjIwODM2LCAzMDUxLCAxLjU3OTc5NzAyOTQ5NTIzOTNdLCBbMTY2MzkyMjQ2My4yODY0OTQ1LCAzMDk2LCAxLjYxMTg2MjU0MDI0NTA1NjJdLCBbMTY2MzkyMjQ2My40OTIyNTM4LCAzMTE0LCAxLjU5NTY4Mjc0MDIxMTQ4NjhdLCBbMTY2MzkyMjQ2My41ODQ5MTYsIDMxMjMsIDEuNTk1MzQ3NTIzNjg5MjddLCBbMTY2MzkyMjQ2NC4wMTExNDQ2LCAzMTU5LCAxLjU5MDU3MDQ0OTgyOTEwMTZdLCBbMTY2MzkyMjQ2NC4yNTkyMzYsIDMxNzcsIDEuNTc2MDM4OTU2NjQyMTUwOV0sIFsxNjYzOTIyNDY0LjQ3ODgyMzcsIDMxOTUsIDEuNjE0Nzc5MjMzOTMyNDk1MV0sIFsxNjYzOTIyNDY0Ljg5NTIxMDcsIDMyMzEsIDEuNTU0NjM1NTI0NzQ5NzU1OV0sIFsxNjYzOTIyNDY1LjI5NDcwNTYsIDMyNjcsIDEuNTQ0MTEzMDM5OTcwMzk4XSwgWzE2NjM5MjI0NjUuMzkyMDE5NywgMzI3NiwgMS41NjQxNjEzMDA2NTkxNzk3XSwgWzE2NjM5MjI0NjUuNDg5OTA3LCAzMjg1LCAxLjYzMTA4NTUxNTAyMjI3NzhdLCBbMTY2MzkyMjQ2NS41ODE4MzQzLCAzMjk0LCAxLjYwMTQxNzE4Mzg3NjAzNzZdLCBbMTY2MzkyMjQ2NS42NzUzODM2LCAzMzAzLCAxLjU1MDI4ODkxNTYzNDE1NTNdLCBbMTY2MzkyMjQ2NS43Njg4MTksIDMzMTIsIDEuNTM5NDQ3NTQ2MDA1MjQ5XSwgWzE2NjM5MjI0NjYuODIwNzM2MiwgMzQwMiwgMS41NjU1OTQ3OTIzNjYwMjc4XSwgWzE2NjM5MjI0NjYuOTE3NTQzLCAzNDExLCAxLjYyMzA4MjE2MDk0OTcwN10sIFsxNjYzOTIyNDY3LjczMDU0NSwgMzQ4MywgMS41NDAxNjI1NjMzMjM5NzQ2XSwgWzE2NjM5MjI0NjguMTQxNDE5MiwgMzUxOSwgMS41NTU3NzYzNTc2NTA3NTY4XSwgWzE2NjM5MjI0NjguMzQwNzUyLCAzNTM3LCAxLjY4Nzg2ODU5NTEyMzI5MV0sIFsxNjYzOTIyNDY4LjUzMjQxODMsIDM1NTUsIDEuNTk5MjEwNzM5MTM1NzQyMl0sIFsxNjYzOTIyNDY4Ljg3NzQ4MTcsIDM1ODIsIDEuNTE0MDE3MTA1MTAyNTM5XSwgWzE2NjM5MjI0NjkuNDIyNTk4NCwgMzYyNywgMS41MTAwMTM5Mzc5NTAxMzQzXSwgWzE2NjM5MjI0NjkuNjIyNjkwMiwgMzY0NSwgMS41NTIyNTM2MDM5MzUyNDE3XSwgWzE2NjM5MjI0NzAuMTQ4NjMyMywgMzY5MCwgMS41MjQ5MTE1MjI4NjUyOTU0XSwgWzE2NjM5MjI0NzAuNjI3NjcxMiwgMzcyNiwgMS41MDcwNDI0MDc5ODk1MDJdLCBbMTY2MzkyMjQ3MC43NTAyMDc0LCAzNzM1LCAxLjQ5Mzk0MzkyOTY3MjI0MTJdLCBbMTY2MzkyMjQ3MC44NjA5NDA1LCAzNzQ0LCAxLjQ4NTc0ODQxMDIyNDkxNDZdLCBbMTY2MzkyMjQ3MS4xODMyNjU0LCAzNzcxLCAxLjUxMzkyODA1NTc2MzI0NDZdLCBbMTY2MzkyMjQ3MS42NzI0ODY1LCAzNzk4LCAxLjQ2NTYzMjA4MTAzMTc5OTNdLCBbMTY2MzkyMjQ3MS43NjY1OTMsIDM4MDcsIDEuNDkwMjkwNzYwOTkzOTU3NV0sIFsxNjYzOTIyNDcyLjI2Nzg2MjMsIDM4MzQsIDEuNTE5MjY0Njk4MDI4NTY0NV0sIFsxNjYzOTIyNDcyLjU4NTc3ODcsIDM4NDMsIDEuNDg0MzcxNTQyOTMwNjAzXSwgWzE2NjM5MjI0NzMuMTMxMjgxMSwgMzg3OSwgMS40OTYzNDQ5MjM5NzMwODM1XSwgWzE2NjM5MjI0NzQuMjkwNzgzNCwgMzkyNCwgMS40ODY1Mjc1NjIxNDE0MTg1XSwgWzE2NjM5MjI0NzQuNDAyNzk2NywgMzkzMywgMS40NzI5MTQ1NzY1MzA0NTY1XSwgWzE2NjM5MjI0NzQuNTAwOTUyNywgMzk0MiwgMS40NjA0MTkyOTcyMTgzMjI4XSwgWzE2NjM5MjI0NzUuMDMwNzQ1NSwgMzk2MCwgMS40NzE0NTEwNDQwODI2NDE2XSwgWzE2NjM5MjI0NzUuNDI2MDM1NCwgMzk3OCwgMS40NDI0MjkzMDQxMjI5MjQ4XSwgWzE2NjM5MjI0NzUuNjE3NTA2NSwgMzk5NiwgMS40MzEwMDA5NDc5NTIyNzA1XSwgWzE2NjM5MjI0NzUuNzA0OTAyLCA0MDA1LCAxLjQ4NDcwMjM0ODcwOTEwNjRdLCBbMTY2MzkyMjQ3NS44OTYyMzc0LCA0MDIzLCAxLjQ3ODcyNTMxNDE0MDMxOThdLCBbMTY2MzkyMjQ3Ni4yODAxODY0LCA0MDU5LCAxLjQ1MDgyMzE4NzgyODA2NF0sIFsxNjYzOTIyNDc2LjQ3NDE1MzUsIDQwNzcsIDEuNDQ1NTMzOTkwODU5OTg1NF0sIFsxNjYzOTIyNDc2LjU3NDc1MDIsIDQwODYsIDEuNDQ3OTAzMjc1NDg5ODA3MV0sIFsxNjYzOTIyNDc2Ljg4MTUyODksIDQxMTMsIDEuNDI4MjYxMDQxNjQxMjM1NF0sIFsxNjYzOTIyNDc3LjI3MDY1NSwgNDE0OSwgMS40NTcyNjU0OTYyNTM5NjczXSwgWzE2NjM5MjI0NzcuMzYxNDU2NiwgNDE1OCwgMS40ODMyMTg1NTA2ODIwNjc5XSwgWzE2NjM5MjI0NzcuNzY0MTE4LCA0MTk0LCAxLjQyNTc4MTEzMDc5MDcxMDRdLCBbMTY2MzkyMjQ3Ny44NTY2NDM3LCA0MjAzLCAxLjQyNjA3ODY3NzE3NzQyOTJdLCBbMTY2MzkyMjQ3OC4wMzQ4NDY4LCA0MjIxLCAxLjQ2MzIwMjExODg3MzU5NjJdLCBbMTY2MzkyMjQ3OC4yMjg3NSwgNDIzOSwgMS40NTE4Njg3NzI1MDY3MTM5XSwgWzE2NjM5MjI0NzguNTkxNzUyOCwgNDI3NSwgMS40MjYwMTE5MTk5NzUyODA4XSwgWzE2NjM5MjI0NzguNjgwMzczNywgNDI4NCwgMS40MzE1MDI4MTkwNjEyNzkzXSwgWzE2NjM5MjI0NzguOTY1MzY5NSwgNDMxMSwgMS40MTMxODk2NDk1ODE5MDkyXSwgWzE2NjM5MjI0NzkuMTc3NTQzOSwgNDMyOSwgMS40MDc5Mzk1NTMyNjA4MDMyXSwgWzE2NjM5MjI0NzkuMjgzNzY1MywgNDMzOCwgMS4zOTY5NDczODM4ODA2MTUyXSwgWzE2NjM5MjI0NzkuNDc2NjYxNywgNDM1NiwgMS40Mzk2NDEyMzcyNTg5MTExXSwgWzE2NjM5MjI0NzkuNTc2MTUxMSwgNDM2NSwgMS40MTM1MzIwMTg2NjE0OTldLCBbMTY2MzkyMjQ3OS44NzE5MDg3LCA0MzkyLCAxLjQwODI0OTI1ODk5NTA1NjJdLCBbMTY2MzkyMjQ3OS45NzI4NDY1LCA0NDAxLCAxLjM5MTg0NDc0OTQ1MDY4MzZdLCBbMTY2MzkyMjQ4MC4wODcxMTk2LCA0NDEwLCAxLjQyODAzMTIwNjEzMDk4MTRdLCBbMTY2MzkyMjQ4MC4yOTM1Nzc3LCA0NDI4LCAxLjQyNTg4MDMxMjkxOTYxNjddLCBbMTY2MzkyMjQ4MC42MDA3MzYsIDQ0NTUsIDEuNDAyNzc2MzYwNTExNzc5OF0sIFsxNjYzOTIyNDgwLjk5MTA3NzIsIDQ0OTEsIDEuNDAzNzQ5NTg1MTUxNjcyNF0sIFsxNjYzOTIyNDgxLjM2MjQwOTgsIDQ1MjcsIDEuMzk0Nzk0MzQ0OTAyMDM4Nl0sIFsxNjYzOTIyNDgxLjQ1NzY3ODMsIDQ1MzYsIDEuNDQyMTMxMDQyNDgwNDY4OF0sIFsxNjYzOTIyNDgyLjIzNzcxNTcsIDQ1OTAsIDEuNDEyNTgwNDkwMTEyMzA0N10sIFsxNjYzOTIyNDgyLjMyOTEyOSwgNDU5OSwgMS40MDc1MDk4MDM3NzE5NzI3XSwgWzE2NjM5MjI0ODIuNDM4Mjg0OSwgNDYwOCwgMS40MDgzMTQ4MjQxMDQzMDldLCBbMTY2MzkyMjQ4Mi41MzkxMzAyLCA0NjE3LCAxLjM2OTk3NDQ5Mzk4MDQwNzddLCBbMTY2MzkyMjQ4Mi42MzUzMDgzLCA0NjI2LCAxLjQxODkyODUwMzk5MDE3MzNdLCBbMTY2MzkyMjQ4Mi43MzAyMjQxLCA0NjM1LCAxLjM3ODE4NTc0OTA1Mzk1NV0sIFsxNjYzOTIyNDgzLjA0ODkyMzUsIDQ2NjIsIDEuMzg2MTY3Mjg3ODI2NTM4XSwgWzE2NjM5MjI0ODMuMTY1NjY1OSwgNDY3MSwgMS4zOTk0NjQwMTExOTIzMjE4XSwgWzE2NjM5MjI0ODMuMjU4MzI0NiwgNDY4MCwgMS4zOTE2MDIzOTY5NjUwMjY5XSwgWzE2NjM5MjI0ODMuNjM4Njg3OCwgNDcxNiwgMS40MjMzNTEyODc4NDE3OTY5XSwgWzE2NjM5MjI0ODQuNjY4MDQ3MiwgNDgwNiwgMS40MzAzOTk1MzcwODY0ODY4XSwgWzE2NjM5MjI0ODQuNzY1MjQ0NywgNDgxNSwgMS4zOTY2Njc3MTg4ODczMjldLCBbMTY2MzkyMjQ4NC45NTE5OTEsIDQ4MzMsIDEuMzgwNzU2ODU1MDEwOTg2M10sIFsxNjYzOTIyNDg1LjA1NDcxMDQsIDQ4NDIsIDEuMzkzNDYwMTU0NTMzMzg2Ml0sIFsxNjYzOTIyNDg1LjE1NTMyNjYsIDQ4NTEsIDEuMzYzNDgzNDI4OTU1MDc4MV0sIFsxNjYzOTIyNDg1LjM1MjIyNTUsIDQ4NjksIDEuMzkwNDg2NTk4MDE0ODMxNV0sIFsxNjYzOTIyNDg1LjUzODI1NDcsIDQ4ODcsIDEuMzc2OTc1NTM2MzQ2NDM1NV0sIFsxNjYzOTIyNDg1LjcyNDQ5MywgNDkwNSwgMS4zNDgyMDI0NjY5NjQ3MjE3XSwgWzE2NjM5MjI0ODUuOTAyNzY5NiwgNDkyMywgMS4zNjQ1NjQ4OTU2Mjk4ODI4XSwgWzE2NjM5MjI0ODUuOTkyOTQ3OCwgNDkzMiwgMS4zNTIxNDQyNDEzMzMwMDc4XSwgWzE2NjM5MjI0ODYuMjgwMzcxNCwgNDk1OSwgMS4zODYxMDAxNzI5OTY1MjFdLCBbMTY2MzkyMjQ4Ni41MjA2MTEzLCA0OTc3LCAxLjMzNTc0MzkwNDExMzc2OTVdLCBbMTY2MzkyMjQ4Ni45MDM3MTEsIDUwMDQsIDEuMzM1MTczNDg3NjYzMjY5XSwgWzE2NjM5MjI0ODcuMDAzNzY0LCA1MDEzLCAxLjM1OTY4NzA4OTkyMDA0NF0sIFsxNjYzOTIyNDg3LjU5OTE0ODUsIDUwNjcsIDEuMzQ2OTMxNTc2NzI4ODIwOF0sIFsxNjYzOTIyNDg3LjY5MTkyMjQsIDUwNzYsIDEuMzE4OTk5ODg2NTEyNzU2M10sIFsxNjYzOTIyNDg3Ljc4Mjc0NzUsIDUwODUsIDEuMzY1Nzc3MTM0ODk1MzI0N10sIFsxNjYzOTIyNDg4LjE3OTQxNCwgNTEyMSwgMS4zNDc0MTc5NTA2MzAxODhdLCBbMTY2MzkyMjQ4OC40NjgxNjU2LCA1MTQ4LCAxLjMwNjc0ODc0NzgyNTYyMjZdLCBbMTY2MzkyMjQ4OC42NTMzNzU0LCA1MTY2LCAxLjMzNzgzMTYxNjQwMTY3MjRdLCBbMTY2MzkyMjQ4OC45MzYwOTcsIDUxOTMsIDEuMzE5MDg1MDAxOTQ1NDk1Nl0sIFsxNjYzOTIyNDg5LjMxOTEwNTYsIDUyMjksIDEuMzMxNzUyNDE5NDcxNzQwN10sIFsxNjYzOTIyNDg5LjY4ODI3NiwgNTI2NSwgMS4zNjY0MjU3NTI2Mzk3NzA1XSwgWzE2NjM5MjI0ODkuNzgyODEwNywgNTI3NCwgMS4zMzA5NDQ1MzgxMTY0NTVdLCBbMTY2MzkyMjQ5MC4xNjM4NjQ5LCA1MzAxLCAxLjM1MjY5Nzg0OTI3MzY4MTZdLCBbMTY2MzkyMjQ5MC4zODQ5NTIsIDUzMTksIDEuMzg5Mzg5OTkxNzYwMjU0XSwgWzE2NjM5MjI0OTAuNzE4MzIyOCwgNTMyOCwgMS4zMDY1MzcwMzIxMjczODA0XSwgWzE2NjM5MjI0OTEuMDA5NTMxLCA1MzU1LCAxLjMwNjk1ODkxMzgwMzEwMDZdLCBbMTY2MzkyMjQ5MS4yMDQyNjY4LCA1MzczLCAxLjMxODIyOTkxMzcxMTU0NzldLCBbMTY2MzkyMjQ5MS4zODQ2NTQsIDUzOTEsIDEuMjc5MzM0MzA2NzE2OTE5XSwgWzE2NjM5MjI0OTEuNDc3ODk2MiwgNTQwMCwgMS4yOTU4OTc3MjIyNDQyNjI3XSwgWzE2NjM5MjI0OTEuNzk0OTY0MywgNTQyNywgMS4zMjE4NDcwODExODQzODcyXSwgWzE2NjM5MjI0OTEuODk3OTM3LCA1NDM2LCAxLjM1MTM4NTU5MzQxNDMwNjZdLCBbMTY2MzkyMjQ5Mi40MzkzNDMyLCA1NDgxLCAxLjM1MjE0Mzc2NDQ5NTg0OTZdLCBbMTY2MzkyMjQ5Mi45MzE2Nzk1LCA1NTI2LCAxLjI5MjkwMDQ0MzA3NzA4NzRdLCBbMTY2MzkyMjQ5My4wMjQ5ODI3LCA1NTM1LCAxLjMwNjUyOTA0NTEwNDk4MDVdLCBbMTY2MzkyMjQ5My4yMjMwOTI2LCA1NTUzLCAxLjMwNDUzNzY1MzkyMzAzNDddLCBbMTY2MzkyMjQ5My42NDA5OTE0LCA1NTg5LCAxLjI5MzE3NTgxNjUzNTk0OTddLCBbMTY2MzkyMjQ5My44Mjg5ODMsIDU2MDcsIDEuMjk4MTg5NDAxNjI2NTg3XSwgWzE2NjM5MjI0OTMuOTEzOTY5NSwgNTYxNiwgMS4yODA3ODc5NDQ3OTM3MDEyXSwgWzE2NjM5MjI0OTQuMjA1OTExNCwgNTY0MywgMS4yNTY1MTIyODQyNzg4Njk2XSwgWzE2NjM5MjI0OTQuMzg0MjU2LCA1NjYxLCAxLjI3MTI5OTk1ODIyOTA2NV0sIFsxNjYzOTIyNDk0LjUyMDUyMTQsIDU2NzAsIDEuMzI0OTAwNzQ2MzQ1NTJdLCBbMTY2MzkyMjQ5NC45MjQwNjQ0LCA1NzA2LCAxLjI4NTIzNTA0NzM0MDM5M10sIFsxNjYzOTIyNDk1LjMwMjkxOTQsIDU3NDIsIDEuMjc2NjQxNDg4MDc1MjU2M10sIFsxNjYzOTIyNDk1LjU4MjI3MDEsIDU3NjksIDEuMjg5ODg4NjIwMzc2NTg3XSwgWzE2NjM5MjI0OTUuNjcyODUzNSwgNTc3OCwgMS4yNzc4Nzg5OTk3MTAwODNdLCBbMTY2MzkyMjQ5NS43NjI0MjIzLCA1Nzg3LCAxLjI3MzM4MDI3OTU0MTAxNTZdLCBbMTY2MzkyMjQ5NS44NjI3NzA4LCA1Nzk2LCAxLjMwNjI1ODIwMTU5OTEyMV0sIFsxNjYzOTIyNDk1Ljk1OTQ5NzcsIDU4MDUsIDEuMzMyMjg3NTQ5OTcyNTM0Ml0sIFsxNjYzOTIyNDk2LjQxOTQzMjIsIDU4NTAsIDEuMjgwODUzNjI5MTEyMjQzN10sIFsxNjYzOTIyNDk2LjYwMzQsIDU4NjgsIDEuMjUxNzg5MDkzMDE3NTc4MV0sIFsxNjYzOTIyNDk2LjY5NjEwMjYsIDU4NzcsIDEuMjk2MTMzMDQxMzgxODM2XSwgWzE2NjM5MjI0OTYuODgyMjQ0OCwgNTg5NSwgMS4yNDk5ODcxMjUzOTY3Mjg1XSwgWzE2NjM5MjI0OTYuOTgwODEsIDU5MDQsIDEuMjc3MDI0MTQ5ODk0NzE0NF0sIFsxNjYzOTIyNDk3LjI3MjI0NTQsIDU5MzEsIDEuMzY1Njg4MDg1NTU2MDMwM10sIFsxNjYzOTIyNDk3LjQ4MTAwMjgsIDU5NDksIDEuMjYzMTcyMTQ5NjU4MjAzMV0sIFsxNjYzOTIyNDk4LjE4MTcxMjYsIDYwMTIsIDEuMjg0OTA4MDU2MjU5MTU1M10sIFsxNjYzOTIyNDk4LjQ1MzYzMzUsIDYwMzksIDEuMjQ1ODUwNDQzODQwMDI2OV0sIFsxNjYzOTIyNDk5LjEzOTU1MzgsIDYwODQsIDEuMjU0ODUwMTQ5MTU0NjYzXSwgWzE2NjM5MjI0OTkuMjM0NzEzLCA2MDkzLCAxLjI2OTEwNDEyMzExNTUzOTZdLCBbMTY2MzkyMjQ5OS41OTc4MDksIDYxMjksIDEuMjY4NDkxNTA2NTc2NTM4XSwgWzE2NjM5MjI0OTkuNzc1NzAxOCwgNjE0NywgMS4yMzk2NDEwNzAzNjU5MDU4XSwgWzE2NjM5MjI0OTkuODc4NjAxLCA2MTU2LCAxLjI0OTE0MDg1ODY1MDIwNzVdLCBbMTY2MzkyMjQ5OS45NzE1ODgsIDYxNjUsIDEuMjc3MTEzNjc2MDcxMTY3XSwgWzE2NjM5MjI1MDAuMjU3OTkyNywgNjE5MiwgMS4yNTg0NTI3NzMwOTQxNzcyXSwgWzE2NjM5MjI1MDAuNzIyODU4NywgNjIzNywgMS4yNzQ3MjkyNTE4NjE1NzIzXSwgWzE2NjM5MjI1MDAuOTE4MTMzNywgNjI1NSwgMS4yNDgyMjUyMTIwOTcxNjhdLCBbMTY2MzkyMjUwMS4xMTI4MjA0LCA2MjczLCAxLjI3MzQ4NzIxMDI3Mzc0MjddLCBbMTY2MzkyMjUwMS4yMjE3ODIsIDYyODIsIDEuMjUyOTAyMjY5MzYzNDAzM10sIFsxNjYzOTIyNTAxLjQyNTcyMiwgNjMwMCwgMS4yOTIxMDAwNzE5MDcwNDM1XSwgWzE2NjM5MjI1MDEuNzEyNzIzLCA2MzI3LCAxLjI0MTE2MDk4ODgwNzY3ODJdLCBbMTY2MzkyMjUwMS44MTgwMTIsIDYzMzYsIDEuMjU0ODYxNTkzMjQ2NDZdLCBbMTY2MzkyMjUwMi4wMTMxNzY3LCA2MzU0LCAxLjI5MjcxODg4NzMyOTEwMTZdLCBbMTY2MzkyMjUwMi41MjA4OTU1LCA2Mzk5LCAxLjMwODkyMTY5NDc1NTU1NDJdLCBbMTY2MzkyMjUwMi43MDc4ODM4LCA2NDE3LCAxLjI1NDU1NzI1MTkzMDIzNjhdLCBbMTY2MzkyMjUwMy4wMTIwNjQ3LCA2NDQ0LCAxLjI0Mzc5MDI2ODg5ODAxMDNdLCBbMTY2MzkyMjUwMy4yMDQwODI1LCA2NDYyLCAxLjI0ODAxMTExMjIxMzEzNDhdLCBbMTY2MzkyMjUwMy41MTMxNzI0LCA2NDg5LCAxLjIyODk3NjEzMDQ4NTUzNDddLCBbMTY2MzkyMjUwMy42NDQxMzM2LCA2NDk4LCAxLjIzNTQ0MjUxOTE4NzkyNzJdLCBbMTY2MzkyMjUwMy44NTcwNzA0LCA2NTE2LCAxLjI1MzgxODE1NDMzNTAyMl0sIFsxNjYzOTIyNTA0LjA1NjMwMSwgNjUzNCwgMS4yNTY4ODg3NDcyMTUyNzFdLCBbMTY2MzkyMjUwNC4xNzY5NDEyLCA2NTQzLCAxLjIwNDA0ODE1NjczODI4MTJdLCBbMTY2MzkyMjUwNC4zNjQ5ODk4LCA2NTYxLCAxLjIzNzA0NzY3MjI3MTcyODVdLCBbMTY2MzkyMjUwNC40NTY5OTMsIDY1NzAsIDEuMjMwNjMxMzUxNDcwOTQ3M10sIFsxNjYzOTIyNTA0LjY0ODc5MjUsIDY1ODgsIDEuMjQ5MDk5MTM1Mzk4ODY0N10sIFsxNjYzOTIyNTA0LjgwNjI5MiwgNjU5NywgMS4yNTI2NDc1MTkxMTE2MzMzXSwgWzE2NjM5MjI1MDQuOTExMDEzNiwgNjYwNiwgMS4yNjU4MjA3NDE2NTM0NDI0XSwgWzE2NjM5MjI1MDUuNDM2MjQ1NywgNjY1MSwgMS4yMjY2NDQxNTgzNjMzNDIzXSwgWzE2NjM5MjI1MDUuODExMDk2NCwgNjY4NywgMS4yMTI5MzQxMzYzOTA2ODZdLCBbMTY2MzkyMjUwNS45ODQxMTY4LCA2NzA1LCAxLjIxMjY1MTk2ODAwMjMxOTNdLCBbMTY2MzkyMjUwNy4xMzU4Mjg3LCA2ODEzLCAxLjI3NDU2MTQwNTE4MTg4NDhdLCBbMTY2MzkyMjUwNy4zMDg0ODkzLCA2ODMxLCAxLjI0MDM3MDE1NDM4MDc5ODNdLCBbMTY2MzkyMjUwOC4wODg5NzE0LCA2ODg1LCAxLjIzMDcwMDM3MzY0OTU5NzJdLCBbMTY2MzkyMjUwOC4xOTE2OTI4LCA2ODk0LCAxLjIwMjE5NTQwNTk2MDA4M10sIFsxNjYzOTIyNTA4LjQ2ODM5MSwgNjkyMSwgMS4yMjA3Njk2NDM3ODM1NjkzXSwgWzE2NjM5MjI1MDguNTUyODQ4NiwgNjkzMCwgMS4yMTQzNTc2MTQ1MTcyMTJdLCBbMTY2MzkyMjUwOC44NDg2NTMsIDY5NTcsIDEuMjQ5MDI3OTY3NDUzMDAzXSwgWzE2NjM5MjI1MDkuMTQ3MjkyNiwgNjk4NCwgMS4yMjI0MTExNTU3MDA2ODM2XSwgWzE2NjM5MjI1MDkuMjQ0MDgwNSwgNjk5MywgMS4yMzA5Mjg3Nzg2NDgzNzY1XSwgWzE2NjM5MjI1MDkuNDI1OTk4NCwgNzAxMSwgMS4yMDc3NTM4OTY3MTMyNTY4XSwgWzE2NjM5MjI1MDkuNTE4ODY4LCA3MDIwLCAxLjIyNTY1MzI5MDc0ODU5NjJdLCBbMTY2MzkyMjUwOS42MDYzMzkyLCA3MDI5LCAxLjI1MTYwMjA1MzY0MjI3M10sIFsxNjYzOTIyNTA5LjczMzYxMDksIDcwMzgsIDEuMjM4Nzc1NjEwOTIzNzY3XSwgWzE2NjM5MjI1MDkuODczOTQ3LCA3MDQ3LCAxLjMwNTc1NDU0MjM1MDc2OV0sIFsxNjYzOTIyNTEwLjQxMDg1OSwgNzEwMSwgMS4yNTk5MDIwMDA0MjcyNDZdLCBbMTY2MzkyMjUxMC42ODMxMDQzLCA3MTI4LCAxLjIwOTkzMzQwMDE1NDExMzhdLCBbMTY2MzkyMjUxMS45NzIzODkyLCA3MjQ1LCAxLjE4MDQwNTk3NDM4ODEyMjZdLCBbMTY2MzkyMjUxMi4wNzUyMTc1LCA3MjU0LCAxLjIyNDEzNTA0MTIzNjg3NzRdLCBbMTY2MzkyMjUxMi4yMDM2MjQ3LCA3MjYzLCAxLjIxNDgyNjgyMjI4MDg4MzhdLCBbMTY2MzkyMjUxMi4yOTc4MjE4LCA3MjcyLCAxLjIwMzI4MzQyOTE0NTgxM10sIFsxNjYzOTIyNTEyLjU4MTA1MzcsIDcyOTksIDEuMjE5NjQ4MTIyNzg3NDc1Nl0sIFsxNjYzOTIyNTEzLjM1NzM0MDYsIDczNzEsIDEuMjAyODk0ODA2ODYxODc3NF0sIFsxNjYzOTIyNTEzLjQ1MDI0NTEsIDczODAsIDEuMjAwNzM3MzU3MTM5NTg3NF0sIFsxNjYzOTIyNTE0LjM1ODUzMzEsIDc0NTIsIDEuMjkyMDAwNjUxMzU5NTU4XSwgWzE2NjM5MjI1MTQuNDQ5MzM4LCA3NDYxLCAxLjI3OTEzNzI1Mzc2MTI5MTVdLCBbMTY2MzkyMjUxNC44NzM2MjA1LCA3NDk3LCAxLjIyMDI3MjQyMTgzNjg1M10sIFsxNjYzOTIyNTE0Ljk4NzE5NCwgNzUwNiwgMS4yMjMxOTI5MzAyMjE1NTc2XSwgWzE2NjM5MjI1MTUuMjAzMjYxNCwgNzUyNCwgMS4yMzMyMDcyMjU3OTk1NjA1XSwgWzE2NjM5MjI1MTUuMzAxMDMwMiwgNzUzMywgMS4yMTAzMDYyODY4MTE4Mjg2XSwgWzE2NjM5MjI1MTUuNTk4Njg0MywgNzU2MCwgMS4yMDY2NTgwMDU3MTQ0MTY1XSwgWzE2NjM5MjI1MTUuNzI0NzU3MiwgNzU2OSwgMS4yMzI0NDM4MDk1MDkyNzczXSwgWzE2NjM5MjI1MTYuMDYyMTQ0NSwgNzU5NiwgMS4zMDczOTYwNTQyNjc4ODMzXSwgWzE2NjM5MjI1MTYuMjQyMDQ1NCwgNzYxNCwgMS4yMDk3MjcwNDg4NzM5MDE0XSwgWzE2NjM5MjI1MTYuOTIyODI5MiwgNzY1OSwgMS4yMTU4NDkzOTk1NjY2NTA0XSwgWzE2NjM5MjI1MTcuMDEzNDI0LCA3NjY4LCAxLjIwNTQ5MjQ5NjQ5MDQ3ODVdLCBbMTY2MzkyMjUxNy4zMDE2NTg5LCA3Njk1LCAxLjIwMzA5ODI5NzExOTE0MDZdLCBbMTY2MzkyMjUxNy41ODAwNzg2LCA3NzIyLCAxLjMwNjA4MjQ4NzEwNjMyMzJdLCBbMTY2MzkyMjUxNy44OTQyNzI4LCA3NzQ5LCAxLjE4OTM1MTMyMDI2NjcyMzZdLCBbMTY2MzkyMjUxOC4xMjIxOTUsIDc3NjcsIDEuMTc4NzI2NjczMTI2MjIwN10sIFsxNjYzOTIyNTE4LjQzOTQzNDgsIDc3OTQsIDEuMjQyMjA0NTQ2OTI4NDA1OF0sIFsxNjYzOTIyNTE4LjUzMzA5ODcsIDc4MDMsIDEuMjIzNzI5MTMzNjA1OTU3XSwgWzE2NjM5MjI1MTguOTEyMjgyMiwgNzgzOSwgMS4xODYxNzQ1MTE5MDk0ODQ5XSwgWzE2NjM5MjI1MTkuMDEzMDgwNiwgNzg0OCwgMS4yMjU4NzI1MTY2MzIwOF0sIFsxNjYzOTIyNTIwLjMwNzA4NSwgNzk2NSwgMS4xOTI3MjEwMDkyNTQ0NTU2XSwgWzE2NjM5MjI1MjAuNTE2MjI5NCwgNzk4MywgMS4yMjgwOTQ1Nzc3ODkzMDY2XSwgWzE2NjM5MjI1MjAuODg0NDY0LCA4MDE5LCAxLjIxMTQ2MTc4MjQ1NTQ0NDNdLCBbMTY2MzkyMjUyMS4wNzkyNTIyLCA4MDM3LCAxLjIyNTI4NTI5MTY3MTc1M10sIFsxNjYzOTIyNTIxLjM4MDA2NDcsIDgwNjQsIDEuMTkzODU3MzEyMjAyNDUzNl0sIFsxNjYzOTIyNTIxLjU1NTcwODYsIDgwODIsIDEuMTk1MDQzNjgzMDUyMDYzXSwgWzE2NjM5MjI1MjEuNjUzNTY4NSwgODA5MSwgMS4xNzg0MjQ0Nzc1NzcyMDk1XSwgWzE2NjM5MjI1MjEuOTQxMzM3MywgODExOCwgMS4yMDAwMjY4Njk3NzM4NjQ3XSwgWzE2NjM5MjI1MjIuMDMwNzI4LCA4MTI3LCAxLjIxNTI2OTIwNzk1NDQwNjddLCBbMTY2MzkyMjUyMi41MjQyNzg5LCA4MTcyLCAxLjIzMzk3OTk0MDQxNDQyODddLCBbMTY2MzkyMjUyMi42MTQwODQyLCA4MTgxLCAxLjI2MDQ1MDAwNTUzMTMxMV0sIFsxNjYzOTIyNTIyLjc5ODQyMjMsIDgxOTksIDEuMjg1NjYzMTI3ODk5MTddLCBbMTY2MzkyMjUyMi44OTY2ODQyLCA4MjA4LCAxLjI5ODU2MDUwMDE0NDk1ODVdLCBbMTY2MzkyMjUyMy4yNTM0MDA4LCA4MjM1LCAxLjIwOTc2NjM4NzkzOTQ1MzFdLCBbMTY2MzkyMjUyMy42MzYyNDQzLCA4MjcxLCAxLjE4NzcxNjk2MDkwNjk4MjRdLCBbMTY2MzkyMjUyMy43NTEwNjA3LCA4MjgwLCAxLjE3MDE3MDU0NTU3ODAwM10sIFsxNjYzOTIyNTIzLjkzOTQyODYsIDgyOTgsIDEuMTk0MTg0NjYwOTExNTZdLCBbMTY2MzkyMjUyNC42NzMxNjksIDgzNjEsIDEuMTk1MzA0NjMyMTg2ODg5Nl0sIFsxNjYzOTIyNTI1LjA4ODUxOTYsIDgzNzksIDEuMTcyODk1NTUwNzI3ODQ0Ml0sIFsxNjYzOTIyNTI1LjE4MzI4MjEsIDgzODgsIDEuMTk5NTk5ODYyMDk4NjkzOF0sIFsxNjYzOTIyNTI1LjI3NjE1ODgsIDgzOTcsIDEuMTk5OTg3MTczMDgwNDQ0M10sIFsxNjYzOTIyNTI1LjU4ODcxLCA4NDI0LCAxLjI5MzIwMjE2MTc4ODk0MDRdLCBbMTY2MzkyMjUyNS45ODAzNTUsIDg0NjAsIDEuMjA3MjQyNzI3Mjc5NjYzXSwgWzE2NjM5MjI1MjYuMTc2NjgyNywgODQ3OCwgMS4xNzA1NTM0NDU4MTYwNF0sIFsxNjYzOTIyNTI2LjI3MzQzNTgsIDg0ODcsIDEuMjEyNjg1OTQyNjQ5ODQxM10sIFsxNjYzOTIyNTI2LjU3NjU2NjUsIDg1MTQsIDEuMTcyNTM3MjA3NjAzNDU0Nl0sIFsxNjYzOTIyNTI2Ljk0NjcxMDYsIDg1NTAsIDEuMjI0NTY5NTU5MDk3MjldLCBbMTY2MzkyMjUyNy4yMzQyNTY3LCA4NTc3LCAxLjE5ODY2MjYzODY2NDI0NTZdLCBbMTY2MzkyMjUyNy41ODE3OTIsIDg2MDQsIDEuMTk0NTMzNDY3MjkyNzg1Nl0sIFsxNjYzOTIyNTI4LjA3NTEyMSwgODY0OSwgMS4xOTg3MjY4OTI0NzEzMTM1XSwgWzE2NjM5MjI1MjguNDIxMDAzMywgODY3NiwgMS4yMjcyODMxMjAxNTUzMzQ1XSwgWzE2NjM5MjI1MjguNjIwMTEwMywgODY5NCwgMS4xODE0OTA0MjEyOTUxNjZdLCBbMTY2MzkyMjUyOC44MDE4Njg0LCA4NzEyLCAxLjE5MTEzNTQwNjQ5NDE0MDZdLCBbMTY2MzkyMjUyOC44OTM3OCwgODcyMSwgMS4xOTM2ODk3MDM5NDEzNDUyXSwgWzE2NjM5MjI1MjkuODUxMDcyNSwgODgxMSwgMS4yMjIwMDg4MjQzNDg0NDk3XSwgWzE2NjM5MjI1MjkuOTYzMjczMywgODgyMCwgMS4xODcwMjk2MDAxNDM0MzI2XSwgWzE2NjM5MjI1MzAuMjM3MDM4NiwgODg0NywgMS4xNzA2NDc3NDAzNjQwNzQ3XSwgWzE2NjM5MjI1MzAuNjAyMTQ3MywgODg4MywgMS4xNzI5NTAyNjc3OTE3NDhdLCBbMTY2MzkyMjUzMS4wMjYzNjk4LCA4OTE5LCAxLjI0NjA2MjI3ODc0NzU1ODZdLCBbMTY2MzkyMjUzMS4yMzI1MjM0LCA4OTM3LCAxLjE3OTQ5ODA3NjQzODkwMzhdLCBbMTY2MzkyMjUzMS40MTI0OTI1LCA4OTU1LCAxLjE2MDM3ODQ1NjExNTcyMjddLCBbMTY2MzkyMjUzMS41ODM5MzI2LCA4OTczLCAxLjE2ODM5MTEwODUxMjg3ODRdLCBbMTY2MzkyMjUzMS43NjUxNDQ2LCA4OTkxLCAxLjIyOTQwMTM1MDAyMTM2MjNdLCBbMTY2MzkyMjUzMS44NjYzMDA4LCA5MDAwLCAxLjE2NzA4MjMwOTcyMjkwMDRdLCBbMTY2MzkyMjUzMi4xNjkyMTQ1LCA5MDI3LCAxLjIxNjI5NTU5OTkzNzQzOV0sIFsxNjYzOTIyNTMyLjI1Nzg3NzMsIDkwMzYsIDEuMTc5OTE4MDUwNzY1OTkxMl0sIFsxNjYzOTIyNTMyLjM0NjY4NCwgOTA0NSwgMS4xNzYzNTAxMTY3Mjk3MzYzXSwgWzE2NjM5MjI1MzIuNTg1MjU0LCA5MDYzLCAxLjE5MTE5MzgxOTA0NjAyMDVdLCBbMTY2MzkyMjUzMy4xMTAwNTM4LCA5MTA4LCAxLjE0MDgxNzA0NjE2NTQ2NjNdLCBbMTY2MzkyMjUzMy4zMTA2MDE1LCA5MTI2LCAxLjE4MzU1NzYyOTU4NTI2NjFdLCBbMTY2MzkyMjUzMy43MDMwMTEzLCA5MTQ0LCAxLjE2MjM3NzgzNDMyMDA2ODRdLCBbMTY2MzkyMjUzNC40NjMzNzM0LCA5MjA3LCAxLjE2OTYzNTA1NzQ0OTM0MDhdLCBbMTY2MzkyMjUzNC44MzcwMTk0LCA5MjQzLCAxLjE2MDYxODU0MzYyNDg3OF0sIFsxNjYzOTIyNTM1LjAzOTQzNjYsIDkyNjEsIDEuMjEwNDg5OTg4MzI3MDI2NF0sIFsxNjYzOTIyNTM1LjE1MTc0NTgsIDkyNzAsIDEuMjI3NDcxOTQ3NjY5OTgzXSwgWzE2NjM5MjI1MzUuNzI3NTY4OSwgOTMyNCwgMS4yMTE1NjM5NDQ4MTY1ODk0XSwgWzE2NjM5MjI1MzUuODIwMDk0MywgOTMzMywgMS4yMTA1MTk0MzMwMjE1NDU0XSwgWzE2NjM5MjI1MzUuOTE1OTQ4OSwgOTM0MiwgMS4yMTgyMjA0NzIzMzU4MTU0XSwgWzE2NjM5MjI1MzYuMDE1OTYyOCwgOTM1MSwgMS4xNjI0OTUwMTcwNTE2OTY4XSwgWzE2NjM5MjI1MzYuMTI4MzMyMSwgOTM2MCwgMS4xNTEyMjI0Njc0MjI0ODU0XSwgWzE2NjM5MjI1MzYuNDgwODgzNiwgOTM5NiwgMS4xODE5NTg1NTYxNzUyMzJdLCBbMTY2MzkyMjUzNi43NDY4ODM0LCA5NDIzLCAxLjE5MTc1NzIwMjE0ODQzNzVdLCBbMTY2MzkyMjUzOC4yNjkzMTIxLCA5NTEzLCAxLjE4OTc0OTI0MDg3NTI0NDFdLCBbMTY2MzkyMjUzOS4wMDg5MjI4LCA5NTMxLCAxLjE4MDMyODcyNjc2ODQ5MzddLCBbMTY2MzkyMjUzOS4zMTc2ODMsIDk1NDAsIDEuMjU1NzQ2MzY0NTkzNTA1OV0sIFsxNjYzOTIyNTM5LjQzODcyODgsIDk1NDksIDEuMjg5NDY3MzM0NzQ3MzE0NV0sIFsxNjYzOTIyNTM5LjYyMTM1MjIsIDk1NjcsIDEuMjAwMDY5OTA0MzI3MzkyNl0sIFsxNjYzOTIyNTQwLjQzMTY1MzMsIDk1OTQsIDEuMTU5MTEwNTQ2MTEyMDYwNV0sIFsxNjYzOTIyNTQwLjY3ODYzOTQsIDk2MTIsIDEuMjA3MTAzOTY3NjY2NjI2XSwgWzE2NjM5MjI1NDAuODY1NTM4OCwgOTYzMCwgMS4xNTExNTczNzkxNTAzOTA2XSwgWzE2NjM5MjI1NDAuOTY3MDE1NywgOTYzOSwgMS4xOTE5MDI4NzU5MDAyNjg2XSwgWzE2NjM5MjI1NDEuMDUzMTUwMiwgOTY0OCwgMS4xOTAzMjE5MjIzMDIyNDZdLCBbMTY2MzkyMjU0MS4xNDcwMzcsIDk2NTcsIDEuMTczNDc3MjkyMDYwODUyXSwgWzE2NjM5MjI1NDEuMjkwNTEsIDk2NjYsIDEuMjcyMjI4MjQwOTY2Nzk2OV0sIFsxNjYzOTIyNTQxLjQwMjU4MzQsIDk2NzUsIDEuMjYyNDIzOTkyMTU2OTgyNF0sIFsxNjYzOTIyNTQxLjY4NDQ2LCA5NzAyLCAxLjE4NDQxOTUxMjc0ODcxODNdLCBbMTY2MzkyMjU0MS45NjkyODEsIDk3MjksIDEuMjAzMTgwMzEzMTEwMzUxNl0sIFsxNjYzOTIyNTQyLjE2Njg5NywgOTc0NywgMS4xODkwNDczMzY1NzgzNjkxXSwgWzE2NjM5MjI1NDIuNDc2MjczOCwgOTc3NCwgMS4xODU0NDE4NTE2MTU5MDU4XSwgWzE2NjM5MjI1NDIuNTYyMjE0NiwgOTc4MywgMS4xODk0NzY4NDc2NDg2MjA2XSwgWzE2NjM5MjI1NDIuNjQ5MTMxMywgOTc5MiwgMS4yMjc1ODI2OTMwOTk5NzU2XSwgWzE2NjM5MjI1NDMuMDA2NTk1NiwgOTgyOCwgMS4xNjI4MTk4NjIzNjU3MjI3XSwgWzE2NjM5MjI1NDMuNjUwMDI2NiwgOTg5MSwgMS4yMTc4MDg5NjE4NjgyODYxXSwgWzE2NjM5MjI1NDMuODIyODI1MiwgOTkwOSwgMS4xNzAwNzMxNTE1ODg0NF0sIFsxNjYzOTIyNTQ0LjIyMDQ5MTIsIDk5MjcsIDEuMTczNzE2NTQ1MTA0OTgwNV0sIFsxNjYzOTIyNTQ0LjMwNzAwNTIsIDk5MzYsIDEuMjA2OTUyODEwMjg3NDc1Nl0sIFsxNjYzOTIyNTQ0LjM5Mzk4NzIsIDk5NDUsIDEuMjkwMzUxMTUyNDIwMDQ0XSwgWzE2NjM5MjI1NDQuNjc1NjAyMiwgOTk3MiwgMS4yMDA1MzQ1ODIxMzgwNjE1XSwgWzE2NjM5MjI1NDQuODY0MzMyMiwgOTk5MCwgMS4xNzY3NDU0MTQ3MzM4ODY3XSwgWzE2NjM5MjI1NDUuMDU2MTQ2NiwgMTAwMDgsIDEuMTY0MTk3MjA2NDk3MTkyNF0sIFsxNjYzOTIyNTQ1LjE0NjE2OSwgMTAwMTcsIDEuMTkzNjU5NTQzOTkxMDg4OV0sIFsxNjYzOTIyNTQ1LjMzNzU2NzYsIDEwMDM1LCAxLjE1Mjc3NDkzMDAwMDMwNTJdLCBbMTY2MzkyMjU0NS44MDY5MTQ2LCAxMDA4MCwgMS4xNjIxMjgzMjkyNzcwMzg2XSwgWzE2NjM5MjI1NDYuMDAwMjQ2NSwgMTAwOTgsIDEuMjA3Mjc5NTYyOTUwMTM0M10sIFsxNjYzOTIyNTQ2LjA5MDcyNzMsIDEwMTA3LCAxLjE2OTQzMjUyMDg2NjM5NF0sIFsxNjYzOTIyNTQ2LjM3MjU1MSwgMTAxMzQsIDEuMTk2NzU0ODEzMTk0Mjc1XSwgWzE2NjM5MjI1NDYuNDY2OTU3MywgMTAxNDMsIDEuMTkzMjYxMDI3MzM2MTIwNl0sIFsxNjYzOTIyNTQ2LjY1MDc2NzMsIDEwMTYxLCAxLjIwNDM0MjYwMzY4MzQ3MTddLCBbMTY2MzkyMjU0Ni43NTkyMjI3LCAxMDE3MCwgMS4xNzc1OTAyNTA5Njg5MzNdLCBbMTY2MzkyMjU0Ny4wNDIyOTgzLCAxMDE5NywgMS4yMDgwNDUwMDU3OTgzMzk4XSwgWzE2NjM5MjI1NDcuMjM0MTc1MiwgMTAyMTUsIDEuMTYwODk5NjM5MTI5NjM4N10sIFsxNjYzOTIyNTQ3LjM0Mjg0MSwgMTAyMjQsIDEuMjM4MzA2OTk5MjA2NTQzXSwgWzE2NjM5MjI1NDcuNDYwNjksIDEwMjMzLCAxLjE3NTcxNzk0OTg2NzI0ODVdLCBbMTY2MzkyMjU0Ny43NDM0OCwgMTAyNjAsIDEuMTM2MDIxNDk0ODY1NDE3NV0sIFsxNjYzOTIyNTQ4LjQwMDg1OSwgMTAzMjMsIDEuMTc2NTUxMTAzNTkxOTE5XSwgWzE2NjM5MjI1NDguNTc4OTc3NiwgMTAzNDEsIDEuMTU0NzI1MDc0NzY4MDY2NF0sIFsxNjYzOTIyNTQ4Ljc1NTY0NSwgMTAzNTksIDEuMTczMTQzOTgyODg3MjY4XSwgWzE2NjM5MjI1NDguODU5NjY5LCAxMDM2OCwgMS4xNzQzNTAxNDI0Nzg5NDI5XSwgWzE2NjM5MjI1NDguOTcxMzM0MiwgMTAzNzcsIDEuMTc1NTA2ODMwMjE1NDU0XSwgWzE2NjM5MjI1NDkuNzM5MTE0OCwgMTA0NDksIDEuMTc4NzIxNjY2MzM2MDU5Nl0sIFsxNjYzOTIyNTQ5Ljk0NzkxNCwgMTA0NjcsIDEuMTU3ODE3OTU5Nzg1NDYxNF0sIFsxNjYzOTIyNTUwLjE2MTg4MDcsIDEwNDg1LCAxLjIxMDU2MzQyMTI0OTM4OTZdLCBbMTY2MzkyMjU1MC40ODQyOTMyLCAxMDUxMiwgMS4xNTk4MDY5NjY3ODE2MTYyXSwgWzE2NjM5MjI1NTEuMDMxOTQ1LCAxMDU2NiwgMS4xODE1MjUyMzA0MDc3MTQ4XSwgWzE2NjM5MjI1NTEuMTE2NDU3NSwgMTA1NzUsIDEuMTgwNTE1NjQ2OTM0NTA5M10sIFsxNjYzOTIyNTUxLjMxMzE2NiwgMTA1OTMsIDEuMjAyMjMyOTU2ODg2MjkxNV0sIFsxNjYzOTIyNTUxLjQwOTY3OTQsIDEwNjAyLCAxLjE2ODM1Njc3NjIzNzQ4NzhdLCBbMTY2MzkyMjU1MS40OTc2ODA0LCAxMDYxMSwgMS4xNTg1MjY0MjA1OTMyNjE3XSwgWzE2NjM5MjI1NTEuODcyMjczNCwgMTA2NDcsIDEuMjQ5ODM4NTkwNjIxOTQ4Ml0sIFsxNjYzOTIyNTUyLjA1NjA1OSwgMTA2NjUsIDEuMTc3ODkxMTM1MjE1NzU5M10sIFsxNjYzOTIyNTUyLjIzMzIyNDQsIDEwNjgzLCAxLjE3NTk0NjExNjQ0NzQ0ODddLCBbMTY2MzkyMjU1Mi42ODYyNDEsIDEwNzEwLCAxLjE2NDQwMjM2NTY4NDUwOTNdLCBbMTY2MzkyMjU1Mi43Njk4NjQ2LCAxMDcxOSwgMS4xNDc5Njk2MDM1Mzg1MTMyXSwgWzE2NjM5MjI1NTMuMDcyMTk5OCwgMTA3NDYsIDEuMTk0NjQ2MTIwMDcxNDExMV0sIFsxNjYzOTIyNTUzLjE3OTAwOTIsIDEwNzU1LCAxLjE3NjEzNjYxMjg5MjE1MDldLCBbMTY2MzkyMjU1My40NzY5MTg1LCAxMDc4MiwgMS4yMDY1NzQzMjA3OTMxNTE5XSwgWzE2NjM5MjI1NTQuMjk2OTE1OCwgMTA4NTQsIDEuMjU1NjM0NjY1NDg5MTk2OF0sIFsxNjYzOTIyNTU0LjM4OTE0MjgsIDEwODYzLCAxLjE2NTE3MjIxOTI3NjQyODJdLCBbMTY2MzkyMjU1NC40NzkyNjcsIDEwODcyLCAxLjE2MTYzMDUxMTI4Mzg3NDVdLCBbMTY2MzkyMjU1NS4xMDgxOTQ0LCAxMDkyNiwgMS4xOTYxMTQ3Nzg1MTg2NzY4XSwgWzE2NjM5MjI1NTUuMjIzOTExNSwgMTA5MzUsIDEuMjAzODEzMTk1MjI4NTc2N10sIFsxNjYzOTIyNTU1LjU4MDA1MDIsIDEwOTcxLCAxLjE1NDQwNTcxMzA4MTM1OTldLCBbMTY2MzkyMjU1Ni4wNzM1NDkzLCAxMTAxNiwgMS4yNDc1OTA2NjEwNDg4ODkyXSwgWzE2NjM5MjI1NTYuMjcyODA4LCAxMTAzNCwgMS4yMTA5NTg4Mzg0NjI4Mjk2XSwgWzE2NjM5MjI1NTYuNjMzNjE4NCwgMTEwNzAsIDEuMTk2MzkxNzAxNjk4MzAzMl0sIFsxNjYzOTIyNTU2Ljk0MzEyNjQsIDExMDk3LCAxLjE3NzgwMTk2NjY2NzE3NTNdLCBbMTY2MzkyMjU1Ny41MTE1NTQ1LCAxMTE1MSwgMS4yMjE1MzkzNzgxNjYxOTg3XSwgWzE2NjM5MjI1NTcuNzQ2NTYyNSwgMTExNjksIDEuMjUyODM1NTEyMTYxMjU0OV0sIFsxNjYzOTIyNTU4LjEzMDk3MjYsIDExMjA1LCAxLjE0MTYwNjkyNjkxODAyOThdLCBbMTY2MzkyMjU1OC4zMzA2MTc0LCAxMTIyMywgMS4xNTAwOTYwNTg4NDU1Ml0sIFsxNjYzOTIyNTU4LjYyNjg2OTIsIDExMjUwLCAxLjE1OTMwMTYzODYwMzIxMDRdLCBbMTY2MzkyMjU1OC43MTk1NDc1LCAxMTI1OSwgMS4xODgyODcwMTk3Mjk2MTQzXSwgWzE2NjM5MjI1NTguODA5MjQ5LCAxMTI2OCwgMS4xOTcwNDQ4NDkzOTU3NTJdLCBbMTY2MzkyMjU1OC44OTU2NzYxLCAxMTI3NywgMS4xNDcxNjAyOTE2NzE3NTNdLCBbMTY2MzkyMjU1OS4wODIwMTQ4LCAxMTI5NSwgMS4yMzUxMTMxNDM5MjA4OTg0XSwgWzE2NjM5MjI1NTkuMjg2MzgzNiwgMTEzMTMsIDEuMTkzMDIzMDg1NTk0MTc3Ml0sIFsxNjYzOTIyNTU5LjM5Nzc3NDcsIDExMzIyLCAxLjE0MDg0MDg4ODAyMzM3NjVdLCBbMTY2MzkyMjU1OS42ODEzMjExLCAxMTM0OSwgMS4yMDAwMjg1Mzg3MDM5MTg1XSwgWzE2NjM5MjI1NTkuNzgwMzQxOSwgMTEzNTgsIDEuMTg2OTcyMDIyMDU2NTc5Nl0sIFsxNjYzOTIyNTYwLjQxOTY4MjcsIDExNDEyLCAxLjIyODkzMjk3NjcyMjcxNzNdLCBbMTY2MzkyMjU2MC44NTQzODIsIDExNDQ4LCAxLjEzODUxMzA4ODIyNjMxODRdLCBbMTY2MzkyMjU2MS41NTMzMjM1LCAxMTQ5MywgMS4xNjA4MDUzNDQ1ODE2MDRdLCBbMTY2MzkyMjU2MS42NDM1NjI4LCAxMTUwMiwgMS4xOTA3MjQ4NDk3MDA5Mjc3XSwgWzE2NjM5MjI1NjEuNzQ0MDE4OCwgMTE1MTEsIDEuMTg0NDM0MTc1NDkxMzMzXSwgWzE2NjM5MjI1NjIuMTEwNjgwMywgMTE1NDcsIDEuMjI2OTA1NzAzNTQ0NjE2N10sIFsxNjYzOTIyNTYyLjQyMDk1LCAxMTU3NCwgMS4yMjE0MzcyMTU4MDUwNTM3XSwgWzE2NjM5MjI1NjIuOTYwMDEyMiwgMTE2MTksIDEuMTQ0Mzc3OTQ2ODUzNjM3N10sIFsxNjYzOTIyNTYzLjI3MDY3MjYsIDExNjQ2LCAxLjE4Njk3MzY5MDk4NjYzMzNdLCBbMTY2MzkyMjU2My43Mjc1OTQ5LCAxMTY5MSwgMS4xNDk1NTUwODcwODk1Mzg2XSwgWzE2NjM5MjI1NjMuODE0OTM5NSwgMTE3MDAsIDEuMTkzODYzMjcyNjY2OTMxMl0sIFsxNjYzOTIyNTY0LjE0Nzg0OTYsIDExNzI3LCAxLjE2MTA2NDAyODczOTkyOTJdLCBbMTY2MzkyMjU2NC41MzYyODQ3LCAxMTc2MywgMS4yMjAwNjk2NDY4MzUzMjcxXSwgWzE2NjM5MjI1NjQuOTI5MzQ5NCwgMTE3OTksIDEuMjE3ODczMzM0ODg0NjQzNl0sIFsxNjYzOTIyNTY1LjQzMTUyNiwgMTE4NDQsIDEuMTgwMTcxNDg5NzE1NTc2Ml0sIFsxNjYzOTIyNTY1LjkwMDgyMzQsIDExODg5LCAxLjE1NzU3NjY4MDE4MzQxMDZdLCBbMTY2MzkyMjU2Ni4xMDMyNzIsIDExOTA3LCAxLjE2MzI3Nzk4MzY2NTQ2NjNdLCBbMTY2MzkyMjU2Ni40MDUwMDEsIDExOTM0LCAxLjEyNTQ2OTY4NDYwMDgzXSwgWzE2NjM5MjI1NjYuNTA3MTM4MywgMTE5NDMsIDEuMTQ5MDk1NTM1Mjc4MzIwM10sIFsxNjYzOTIyNTY2LjY5ODk3NSwgMTE5NjEsIDEuMTYzMDY1MDc1ODc0MzI4Nl0sIFsxNjYzOTIyNTY3LjQyMDY5MzIsIDEyMDI0LCAxLjE4NTk0Mzk2MTE0MzQ5MzddLCBbMTY2MzkyMjU2OC40NTgyNzI3LCAxMjExNCwgMS4xNjgyNDYxNTAwMTY3ODQ3XSwgWzE2NjM5MjI1NjguNzg0NDU2LCAxMjE0MSwgMS4xODE3OTM0NTEzMDkyMDRdLCBbMTY2MzkyMjU2OS4wODQzNzA5LCAxMjE2OCwgMS4xNjU3MzEwNzI0MjU4NDIzXSwgWzE2NjM5MjI1NjkuMjAwMzQ1MywgMTIxNzcsIDEuMTg5MjE1MzAyNDY3MzQ2Ml0sIFsxNjYzOTIyNTY5LjQyNzk0NTEsIDEyMTk1LCAxLjI0MDgzNTc4NTg2NTc4MzddLCBbMTY2MzkyMjU3MC4yNTk1MTMsIDEyMjQ5LCAxLjE4MTI0MjgyMzYwMDc2OV0sIFsxNjYzOTIyNTcwLjYzNDM0MDUsIDEyMjg1LCAxLjEyODc4NTYxMDE5ODk3NDZdLCBbMTY2MzkyMjU3MC43Mjg1NTUyLCAxMjI5NCwgMS4xNDYzMzA0NzU4MDcxOV0sIFsxNjYzOTIyNTcwLjgzNDAxOCwgMTIzMDMsIDEuMTcyODQ4MTA1NDMwNjAzXSwgWzE2NjM5MjI1NzAuOTMzNzIzLCAxMjMxMiwgMS4xNTUxNTgwNDI5MDc3MTQ4XSwgWzE2NjM5MjI1NzEuMDMyNjQ3MSwgMTIzMjEsIDEuMTEyNTcxOTU0NzI3MTcyOV0sIFsxNjYzOTIyNTcxLjcxNDgzNzMsIDEyMzg0LCAxLjE5MzA1MTY5NTgyMzY2OTRdLCBbMTY2MzkyMjU3MS44MTUxMzEyLCAxMjM5MywgMS4yMDYzNDg1MzgzOTg3NDI3XSwgWzE2NjM5MjI1NzIuMjAzODM3LCAxMjQyOSwgMS4xNDY0MTc3MzcwMDcxNDExXSwgWzE2NjM5MjI1NzIuNjc2NzIyMywgMTI0NzQsIDEuMTY5MDA3MTgyMTIxMjc2OV0sIFsxNjYzOTIyNTcyLjc4MzQ3NSwgMTI0ODMsIDEuMTc3Mjc5ODI5OTc4OTQyOV0sIFsxNjYzOTIyNTczLjI0Mzk1NzMsIDEyNTE5LCAxLjE2NTM5NDMwNjE4Mjg2MTNdLCBbMTY2MzkyMjU3My41OTIxOTY1LCAxMjU0NiwgMS4xOTk0MjM3ODk5NzgwMjczXSwgWzE2NjM5MjI1NzQuMDIyMjE5MiwgMTI1ODIsIDEuMTY3NTcyMTQwNjkzNjY0Nl0sIFsxNjYzOTIyNTc2LjA5MTg5LCAxMjc2MiwgMS4xNTAzMDMzNjM4MDAwNDg4XSwgWzE2NjM5MjI1NzYuNTE3ODEyNSwgMTI3OTgsIDEuMTQ0Mjc0MTE1NTYyNDM5XSwgWzE2NjM5MjI1NzcuNDYyNzI1OSwgMTI4ODgsIDEuMTQyMDc4NjM4MDc2NzgyMl0sIFsxNjYzOTIyNTc3LjU1MTk1OTUsIDEyODk3LCAxLjE1MDY2Mzk3MTkwMDk0XSwgWzE2NjM5MjI1NzcuOTI5OTQsIDEyOTMzLCAxLjE2ODcxNDI4NDg5Njg1MDZdLCBbMTY2MzkyMjU3OC4xNjEwNjcsIDEyOTUxLCAxLjEzMDIzMzg4Mzg1NzcyN10sIFsxNjYzOTIyNTc4LjI2ODQ2NywgMTI5NjAsIDEuMTM1NjAwMDkwMDI2ODU1NV0sIFsxNjYzOTIyNTc4LjM3OTMxNjMsIDEyOTY5LCAxLjE1MzY0ODAxODgzNjk3NV0sIFsxNjYzOTIyNTc4LjUwOTI3NzMsIDEyOTc4LCAxLjE3MTQxNDczMjkzMzA0NDRdLCBbMTY2MzkyMjU3OS4wMTc0Mjk0LCAxMzAwNSwgMS4xODYyNjY3Nzk4OTk1OTcyXSwgWzE2NjM5MjI1NzkuMzI5NzQ2LCAxMzAzMiwgMS4xMjkyNDExMDg4OTQzNDgxXSwgWzE2NjM5MjI1NzkuNTIwMzA2OCwgMTMwNTAsIDEuMTMwMzg5MzMyNzcxMzAxM10sIFsxNjYzOTIyNTc5LjcxMDU5OTQsIDEzMDY4LCAxLjE2NDU2MDY3NTYyMTAzMjddLCBbMTY2MzkyMjU3OS44MDI2NTc0LCAxMzA3NywgMS4xNTc1MjA2NTE4MTczMjE4XSwgWzE2NjM5MjI1ODAuMDg2NDg1MSwgMTMxMDQsIDEuMTc2MTE5ODA0MzgyMzI0Ml0sIFsxNjYzOTIyNTgwLjI4OTE2MTIsIDEzMTIyLCAxLjE2MDk0Njg0NjAwODMwMDhdLCBbMTY2MzkyMjU4MC40MDY5Mjk1LCAxMzEzMSwgMS4xMzQ5MTIzNzE2MzU0MzddLCBbMTY2MzkyMjU4MC42MTM2MjQzLCAxMzE0OSwgMS4xNDYzMDIxMDM5OTYyNzY5XSwgWzE2NjM5MjI1ODAuNzEyODY2LCAxMzE1OCwgMS4xNDc2NDk0MDczODY3Nzk4XSwgWzE2NjM5MjI1ODAuOTIzMDE3MywgMTMxNzYsIDEuMTk0OTE0MzQwOTcyOTAwNF0sIFsxNjYzOTIyNTgxLjYwMDU0NjEsIDEzMjM5LCAxLjE0NDc0OTQwMjk5OTg3OF0sIFsxNjYzOTIyNTgxLjg5OTg2NzMsIDEzMjY2LCAxLjE1ODA0MDE2NTkwMTE4NF0sIFsxNjYzOTIyNTgyLjAyMTA2NDgsIDEzMjc1LCAxLjE2MTYwNTIzODkxNDQ4OTddLCBbMTY2MzkyMjU4Mi4yMjY1NTgyLCAxMzI5MywgMS4xMzM2ODAzNDM2Mjc5Mjk3XSwgWzE2NjM5MjI1ODIuODkxNzgxOCwgMTMzNTYsIDEuMjI5NjQzNDY0MDg4NDRdLCBbMTY2MzkyMjU4My4yNjQzMDU0LCAxMzM5MiwgMS4yMjY5NzQzNjgwOTUzOThdLCBbMTY2MzkyMjU4My41ODY1NDE0LCAxMzQxOSwgMS4yMzQ2NzEzNTQyOTM4MjMyXSwgWzE2NjM5MjI1ODMuODg2MDk1MywgMTM0NDYsIDEuMjg2MTMxOTc4MDM0OTczMV0sIFsxNjYzOTIyNTgzLjk3OTUzNywgMTM0NTUsIDEuMjA4MDUxNTYyMzA5MjY1MV0sIFsxNjYzOTIyNTg0LjM5ODg1MTIsIDEzNDkxLCAxLjE3MzAwNTcwMDExMTM4OTJdLCBbMTY2MzkyMjU4NC41MzM1OTcyLCAxMzUwMCwgMS4xMjE1MTI0MTMwMjQ5MDIzXSwgWzE2NjM5MjI1ODQuODQzNzE4LCAxMzUyNywgMS4yMjk4NTE0ODQyOTg3MDZdLCBbMTY2MzkyMjU4NS41NTI1MDQsIDEzNTkwLCAxLjIxODcwMTAwNDk4MTk5NDZdLCBbMTY2MzkyMjU4NS42NDMwMDUsIDEzNTk5LCAxLjE1Njg4MDczNjM1MTAxMzJdLCBbMTY2MzkyMjU4NS43MzUyNjcyLCAxMzYwOCwgMS4yMTUzNjg1MDkyOTI2MDI1XSwgWzE2NjM5MjI1ODUuOTIyMDAwMiwgMTM2MjYsIDEuMjAyMzU3MDUzNzU2NzEzOV0sIFsxNjYzOTIyNTg2LjExNjc4NjUsIDEzNjQ0LCAxLjE1MDAzOTMxNTIyMzY5MzhdLCBbMTY2MzkyMjU4Ni4yMTAwNjY4LCAxMzY1MywgMS4xNDk5NjM5NzQ5NTI2OTc4XSwgWzE2NjM5MjI1ODYuODk3NTQsIDEzNzE2LCAxLjIxODc2NjIxMjQ2MzM3OV0sIFsxNjYzOTIyNTg3LjM3NjU4ODgsIDEzNzYxLCAxLjE4OTI0OTI3NzExNDg2ODJdLCBbMTY2MzkyMjU4OC4xODgyMzE3LCAxMzgxNSwgMS4xNTkzNDMwMDQyMjY2ODQ2XSwgWzE2NjM5MjI1ODguNDc1MjE4NSwgMTM4NDIsIDEuMTQ0OTg5MDEzNjcxODc1XSwgWzE2NjM5MjI1ODguNTcyMjU4LCAxMzg1MSwgMS4xMzY5MTM4OTU2MDY5OTQ2XSwgWzE2NjM5MjI1ODguODY0NDA3NSwgMTM4NzgsIDEuMTQ0Mjk0ODU3OTc4ODIwOF0sIFsxNjYzOTIyNTg5LjU2NzM0ODIsIDEzOTQxLCAxLjEzMzI1Njc5MzAyMjE1NThdLCBbMTY2MzkyMjU4OS44OTkxNjU5LCAxMzk2OCwgMS4xMjg4NDY4ODM3NzM4MDM3XSwgWzE2NjM5MjI1OTAuMDA1NTU1OSwgMTM5NzcsIDEuMTM1MjQ2NjM0NDgzMzM3NF0sIFsxNjYzOTIyNTkwLjExMjE4NzEsIDEzOTg2LCAxLjE1OTMzNzg3ODIyNzIzMzldLCBbMTY2MzkyMjU5MS4xMTQ0MzQsIDE0MDY3LCAxLjExOTk5MTE4MzI4MDk0NDhdLCBbMTY2MzkyMjU5MS40MzcxNjA1LCAxNDA5NCwgMS4xNjAzMDgzNjEwNTM0NjY4XSwgWzE2NjM5MjI1OTEuNTY2NDU3LCAxNDEwMywgMS4xMjg5OTMxNTM1NzIwODI1XSwgWzE2NjM5MjI1OTEuODA2OTUyMiwgMTQxMjEsIDEuMTM1Mjg0MTg1NDA5NTQ2XSwgWzE2NjM5MjI1OTIuMDI0NzA2MSwgMTQxMzksIDEuMTY1MDUzNzI1MjQyNjE0N10sIFsxNjYzOTIyNTkyLjEyNjM0NzUsIDE0MTQ4LCAxLjE0NTE3MjM1NzU1OTIwNF0sIFsxNjYzOTIyNTkyLjIyODY1MywgMTQxNTcsIDEuMTMwOTkwNjI0NDI3Nzk1NF0sIFsxNjYzOTIyNTkyLjMyODIyNjgsIDE0MTY2LCAxLjEyNzEyOTMxNjMyOTk1Nl0sIFsxNjYzOTIyNTkyLjY0NDc5OTUsIDE0MTkzLCAxLjEyODE1MTUzNTk4Nzg1NF0sIFsxNjYzOTIyNTkzLjA1Nzg5MjYsIDE0MjI5LCAxLjE2MjgzNjA3NDgyOTEwMTZdLCBbMTY2MzkyMjU5My4xNTk1MjY4LCAxNDIzOCwgMS4xMjY4NTY2ODQ2ODQ3NTM0XSwgWzE2NjM5MjI1OTMuNTc1MjgzMywgMTQyNzQsIDEuMTM1MTg3NTA2Njc1NzIwMl0sIFsxNjYzOTIyNTk0LjE0MzQ0MjQsIDE0MzE5LCAxLjE5MjQ1MzYyMjgxNzk5MzJdLCBbMTY2MzkyMjU5NC42OTExNjg1LCAxNDM2NCwgMS4xNDk0MzM3MzIwMzI3NzU5XSwgWzE2NjM5MjI1OTQuNzk1MjQ2OCwgMTQzNzMsIDEuMTY4MjEyNTMyOTk3MTMxM10sIFsxNjYzOTIyNTk0LjkwNTkxMSwgMTQzODIsIDEuMTM4NzA3MDQxNzQwNDE3NV0sIFsxNjYzOTIyNTk1LjQwMzI0NSwgMTQ0MTgsIDEuMTMwMjc0ODkxODUzMzMyNV0sIFsxNjYzOTIyNTk1LjUxNzY4NTQsIDE0NDI3LCAxLjE3NDc2MjM2ODIwMjIwOTVdLCBbMTY2MzkyMjU5NS42MjI2ODY0LCAxNDQzNiwgMS4xMjg2NTI2OTE4NDExMjU1XSwgWzE2NjM5MjI1OTYuNDY5NTkzNSwgMTQ1MDgsIDEuMTM1MTYwNjg0NTg1NTcxM10sIFsxNjYzOTIyNTk2Ljc4ODA4OSwgMTQ1MzUsIDEuMTQ4MzY3NDA0OTM3NzQ0MV0sIFsxNjYzOTIyNTk3LjI0NzU3OTMsIDE0NTUzLCAxLjEzMzUyMTE5OTIyNjM3OTRdLCBbMTY2MzkyMjU5Ny44OTU1NTA1LCAxNDYwNywgMS4xMzAzNzUxNDY4NjU4NDQ3XSwgWzE2NjM5MjI1OTguMTQ0NzExNywgMTQ2MjUsIDEuMTI4NDM4MzUzNTM4NTEzMl0sIFsxNjYzOTIyNTk4LjQ4MDQ5MDcsIDE0NjUyLCAxLjE1Nzc2NTc0NjExNjYzODJdLCBbMTY2MzkyMjU5OC44OTk3NDMzLCAxNDY4OCwgMS4xNjYxODQ2NjM3NzI1ODNdLCBbMTY2MzkyMjU5OS4yNzkwMzcsIDE0NzI0LCAxLjE4MDQ5ODEyMzE2ODk0NTNdLCBbMTY2MzkyMjU5OS40ODQ3ODk4LCAxNDc0MiwgMS4xODc1MjU5ODc2MjUxMjJdLCBbMTY2MzkyMjU5OS43NTM5NDM0LCAxNDc2OSwgMS4yNjM2NTAwNTk3MDAwMTIyXSwgWzE2NjM5MjI1OTkuODM5OTE2NywgMTQ3NzgsIDEuMTYyMzc0MDE5NjIyODAyN10sIFsxNjYzOTIyNjAwLjMwOTk4MTMsIDE0ODIzLCAxLjE2OTQ2Mzg3MjkwOTU0Nl0sIFsxNjYzOTIyNjAwLjQxMTMxMjgsIDE0ODMyLCAxLjE1MzQ1NzY0MTYwMTU2MjVdLCBbMTY2MzkyMjYwMC43ODMzMTA3LCAxNDg2OCwgMS4xMjY1MTIxNjk4Mzc5NTE3XSwgWzE2NjM5MjI2MDAuODc2MTM2MywgMTQ4NzcsIDEuMTI4Nzc4MTAwMDEzNzMzXSwgWzE2NjM5MjI2MDAuOTc4NjU2OCwgMTQ4ODYsIDEuMTI1NjM4NDg0OTU0ODM0XSwgWzE2NjM5MjI2MDEuMDc0NzA1NiwgMTQ4OTUsIDEuMTI1Nzk4MjI1NDAyODMyXSwgWzE2NjM5MjI2MDEuMjc4OTA0NCwgMTQ5MTMsIDEuMTI3MDI2OTE1NTUwMjMyXSwgWzE2NjM5MjI2MDEuNDY4MDYwNywgMTQ5MzEsIDEuMTM2ODAyOTExNzU4NDIyOV0sIFsxNjYzOTIyNjAxLjgxMTU2MywgMTQ5NjcsIDEuMTUwMjg5Mjk3MTAzODgxOF0sIFsxNjYzOTIyNjAxLjk5MjAxOCwgMTQ5ODUsIDEuMTEyMTkyMzkyMzQ5MjQzMl0sIFsxNjYzOTIyNjAyLjE5MTI5NzMsIDE1MDAzLCAxLjExNTI5OTM0NDA2MjgwNTJdLCBbMTY2MzkyMjYwMi40NjU3MzUyLCAxNTAzMCwgMS4xNDA3MzA5NzcwNTg0MTA2XSwgWzE2NjM5MjI2MDIuNTU1NzA5NiwgMTUwMzksIDEuMTc3MDk0MjIxMTE1MTEyM10sIFsxNjYzOTIyNjAyLjg5OTMyNDQsIDE1MDc1LCAxLjExNzQyMzg5MjAyMTE3OTJdLCBbMTY2MzkyMjYwMy4xODMwMDE4LCAxNTEwMiwgMS4xMzU4MzExMTc2MzAwMDQ5XSwgWzE2NjM5MjI2MDMuMzcwNTkwMiwgMTUxMjAsIDEuMTI5MzgyOTY3OTQ4OTEzNl0sIFsxNjYzOTIyNjAzLjkwNzg4NCwgMTUxNzQsIDEuMTQ2MTU2MTkxODI1ODY2N10sIFsxNjYzOTIyNjAzLjk5OTEyOTgsIDE1MTgzLCAxLjEyMDQzOTg4NzA0NjgxNF0sIFsxNjYzOTIyNjA0LjA4Mjg5NjcsIDE1MTkyLCAxLjE0ODgzODc1ODQ2ODYyOF0sIFsxNjYzOTIyNjA0LjE4NzQ4NjIsIDE1MjAxLCAxLjEzNDM1NTQyNTgzNDY1NThdLCBbMTY2MzkyMjYwNC42NTAzODk0LCAxNTI0NiwgMS4xNDUwMDY2NTY2NDY3Mjg1XSwgWzE2NjM5MjI2MDQuNzM2MzQzMSwgMTUyNTUsIDEuMTQ5MTg1NTM4MjkxOTMxMl0sIFsxNjYzOTIyNjA0LjgyNjkwMTIsIDE1MjY0LCAxLjIwOTcyMDczMDc4MTU1NTJdLCBbMTY2MzkyMjYwNS4xODg1NzM2LCAxNTMwMCwgMS4xMzY5MTU0NDUzMjc3NTg4XSwgWzE2NjM5MjI2MDUuNjU0NTk5NywgMTUzMjcsIDEuMTI4MDIwMjg2NTYwMDU4Nl0sIFsxNjYzOTIyNjA1Ljg2MjgxNywgMTUzNDUsIDEuMTI3NDcyODc3NTAyNDQxNF0sIFsxNjYzOTIyNjA2LjEzODc3NDIsIDE1MzcyLCAxLjE3NTM3ODkxODY0Nzc2NjFdLCBbMTY2MzkyMjYwNi4zMjAwNzQzLCAxNTM5MCwgMS4xNDgyOTYxMTc3ODI1OTI4XSwgWzE2NjM5MjI2MDYuNDExMzU2NCwgMTUzOTksIDEuMTY4NjQyOTk3NzQxNjk5Ml0sIFsxNjYzOTIyNjA2LjUwMjY5NiwgMTU0MDgsIDEuMTkxMjI0OTMyNjcwNTkzM10sIFsxNjYzOTIyNjA2LjU5MjE3NCwgMTU0MTcsIDEuMTQ4MTIyMDcyMjE5ODQ4Nl0sIFsxNjYzOTIyNjA3LjEzMTAzMzcsIDE1NDcxLCAxLjE2MzgwODM0NTc5NDY3NzddLCBbMTY2MzkyMjYwNy41OTM4ODg1LCAxNTUwNywgMS4xNTgzNjUyNDk2MzM3ODldLCBbMTY2MzkyMjYwNy43MDUxMzQsIDE1NTE2LCAxLjE0MzMzMjAwNDU0NzExOTFdLCBbMTY2MzkyMjYwNy44MTI5MjA4LCAxNTUyNSwgMS4xMTk2NTgzNTA5NDQ1MTldLCBbMTY2MzkyMjYwNy45MDMzMTYsIDE1NTM0LCAxLjE2NzM0MjU0MzYwMTk4OTddLCBbMTY2MzkyMjYwOC40MjUyODQ0LCAxNTU3OSwgMS4xODg1MTM2MzY1ODkwNTAzXSwgWzE2NjM5MjI2MDkuMjc3MDUwNywgMTU2NTEsIDEuMTM0MTMxNjY5OTk4MTY5XSwgWzE2NjM5MjI2MDkuMzYzMDU3NiwgMTU2NjAsIDEuMTMxOTIxNjQ4OTc5MTg3XSwgWzE2NjM5MjI2MDkuNzM0MTc5NywgMTU2OTYsIDEuMjQ0NzgzNjM5OTA3ODM3XSwgWzE2NjM5MjI2MDkuOTEwNjEzMywgMTU3MTQsIDEuMTg3ODEwNTQwMTk5Mjc5OF0sIFsxNjYzOTIyNjEwLjE3MDAyODIsIDE1NzQxLCAxLjE2NDQyOTA2ODU2NTM2ODddLCBbMTY2MzkyMjYxMC4zNDY4OTQ1LCAxNTc1OSwgMS4xNjc0MjM2MDU5MTg4ODQzXSwgWzE2NjM5MjI2MTAuNjEyMDYzLCAxNTc4NiwgMS4xMDQ0ODcwNjE1MDA1NDkzXSwgWzE2NjM5MjI2MTAuNzA0OTMxLCAxNTc5NSwgMS4xNDI1OTMwMjYxNjExOTM4XSwgWzE2NjM5MjI2MTEuNDE2MDQ0NywgMTU4NjcsIDEuMTE5NTE4NzU2ODY2NDU1XSwgWzE2NjM5MjI2MTEuNTA1ODU0NiwgMTU4NzYsIDEuMTI0Nzg3ODA3NDY0NTk5Nl0sIFsxNjYzOTIyNjExLjY4ODQ5OTUsIDE1ODk0LCAxLjE4ODE0NDIwNzAwMDczMjRdLCBbMTY2MzkyMjYxMi43NzU0OTgyLCAxNTk4NCwgMS4xNjE3MTg3MjYxNTgxNDJdLCBbMTY2MzkyMjYxMy4wNjg5MDM0LCAxNjAwMiwgMS4yMTUyNDMxMDExMTk5OTUxXSwgWzE2NjM5MjI2MTMuMzc3MzE4OSwgMTYwMjksIDEuMTA2ODk2OTk2NDk4MTA4XSwgWzE2NjM5MjI2MTMuNzg4ODg4NywgMTYwNjUsIDEuMTI5ODM3Mjc0NTUxMzkxNl0sIFsxNjYzOTIyNjEzLjg4MDcxMDEsIDE2MDc0LCAxLjIzNTM5MjkyODEyMzQ3NDFdLCBbMTY2MzkyMjYxMy45NzE0MDkzLCAxNjA4MywgMS4xNzc3NjY3OTk5MjY3NTc4XSwgWzE2NjM5MjI2MTQuNDY3NzgxLCAxNjExMCwgMS4xMjYwNTUyNDA2MzExMDM1XSwgWzE2NjM5MjI2MTQuNzQ5ODI3MSwgMTYxMzcsIDEuMTUxMDA2MzQwOTgwNTI5OF0sIFsxNjYzOTIyNjE0Ljk0MTg3MzYsIDE2MTU1LCAxLjEzODY3NTQ1MTI3ODY4NjVdLCBbMTY2MzkyMjYxNS4xMzc5MTYzLCAxNjE3MywgMS4xNDQ5ODU0MzczOTMxODg1XSwgWzE2NjM5MjI2MTUuNTA3MDE3NiwgMTYyMDksIDEuMTMwOTIxNDgzMDM5ODU2XSwgWzE2NjM5MjI2MTUuNjkxNTkyMiwgMTYyMjcsIDEuMTIyMDE0NDAzMzQzMjAwN10sIFsxNjYzOTIyNjE2LjI2MTY3NTYsIDE2MjgxLCAxLjEzODM1MDYwNTk2NDY2MDZdLCBbMTY2MzkyMjYxNi40NDYzMDQzLCAxNjI5OSwgMS4yMTMwNDYwNzM5MTM1NzQyXSwgWzE2NjM5MjI2MTcuMjc0MTEyNSwgMTYzODAsIDEuMTIzMDEwOTkzMDAzODQ1Ml0sIFsxNjYzOTIyNjE3LjY1MjY3NywgMTY0MTYsIDEuMTE4MzMxNTUxNTUxODE4OF0sIFsxNjYzOTIyNjE3LjkyMTIyNiwgMTY0NDMsIDEuMTMwOTg5MTkzOTE2MzIwOF0sIFsxNjYzOTIyNjE4LjAxMTI1MzQsIDE2NDUyLCAxLjE0NDYxNzY3NjczNDkyNDNdLCBbMTY2MzkyMjYxOC4xOTc3NzgyLCAxNjQ3MCwgMS4xNzI5Nzg1MjAzOTMzNzE2XSwgWzE2NjM5MjI2MTguMjkxOTU0OCwgMTY0NzksIDEuMjAxOTEwNzM0MTc2NjM1N10sIFsxNjYzOTIyNjE4LjQ3OTY5MiwgMTY0OTcsIDEuMjc3NTc1OTY5Njk2MDQ1XSwgWzE2NjM5MjI2MTguNTY5MDY4NCwgMTY1MDYsIDEuMTc3MzI4MTA5NzQxMjExXSwgWzE2NjM5MjI2MTguODQxMzY1MywgMTY1MzMsIDEuMjAxNjk2Mzk1ODc0MDIzNF0sIFsxNjYzOTIyNjE5LjAzODgxODgsIDE2NTUxLCAxLjEyNTE3NDg4MDAyNzc3MV0sIFsxNjYzOTIyNjE5LjY2NzQyNywgMTY2MTQsIDEuMTM5MTMyNjE4OTA0MTEzOF0sIFsxNjYzOTIyNjE5Ljc2MjMzMjQsIDE2NjIzLCAxLjEwNjQyODc0MjQwODc1MjRdLCBbMTY2MzkyMjYxOS44NTM0NjcyLCAxNjYzMiwgMS4xMzMyMTU2NjU4MTcyNjA3XSwgWzE2NjM5MjI2MTkuOTQ3OTQ0NiwgMTY2NDEsIDEuMTUzMDYxMjcwNzEzODA2Ml0sIFsxNjYzOTIyNjIwLjIyNzE2LCAxNjY2OCwgMS4xNDY4NDQ1MDYyNjM3MzNdLCBbMTY2MzkyMjYyMS4wNjM2NjQ3LCAxNjc0OSwgMS4xMzkyMzY2ODg2MTM4OTE2XSwgWzE2NjM5MjI2MjEuNTQ3Njc2LCAxNjc5NCwgMS4wOTk4MTU4NDU0ODk1MDJdLCBbMTY2MzkyMjYyMS42NDc3NjQ0LCAxNjgwMywgMS4xMDkxNDMzNzYzNTA0MDI4XSwgWzE2NjM5MjI2MjEuNzMzNjY0NSwgMTY4MTIsIDEuMTY0Mzk2MTY2ODAxNDUyNl0sIFsxNjYzOTIyNjIyLjMwOTc1MDMsIDE2ODQ4LCAxLjEzNTc1NzIwNzg3MDQ4MzRdLCBbMTY2MzkyMjYyMi4zOTg4NzA1LCAxNjg1NywgMS4xNDAyMjk0NjM1NzcyNzA1XSwgWzE2NjM5MjI2MjIuNTY4MDcxNCwgMTY4NzUsIDEuMTA4ODk4MTYyODQxNzk2OV0sIFsxNjYzOTIyNjIyLjg3MjAyMiwgMTY5MDIsIDEuMTQ0MjU3MzA3MDUyNjEyM10sIFsxNjYzOTIyNjIzLjE4NDYwNTYsIDE2OTI5LCAxLjE0NTM3OTc4MTcyMzAyMjVdLCBbMTY2MzkyMjYyMy40NjM4MzgsIDE2OTU2LCAxLjE0OTM2MjgwMjUwNTQ5MzJdLCBbMTY2MzkyMjYyMy41NDc5MDgzLCAxNjk2NSwgMS4yMjQxNjEyNjcyODA1Nzg2XSwgWzE2NjM5MjI2MjMuNzMxNzc4NCwgMTY5ODMsIDEuMjM5ODAwMjE0NzY3NDU2XSwgWzE2NjM5MjI2MjMuOTIyNTY4OCwgMTcwMDEsIDEuMTI3NTMxODg2MTAwNzY5XSwgWzE2NjM5MjI2MjQuMTAyODQ5NSwgMTcwMTksIDEuMTIwOTAxMzQ2MjA2NjY1XSwgWzE2NjM5MjI2MjQuNTYxNTEzNCwgMTcwNjQsIDEuMTMwNDA0MzUzMTQxNzg0N10sIFsxNjYzOTIyNjI0Ljk3Mzk4OTUsIDE3MTAwLCAxLjExNjQ5NDc3NDgxODQyMDRdLCBbMTY2MzkyMjYyNS4zMTIxMDYsIDE3MTI3LCAxLjExNTcyNjk0Nzc4NDQyMzhdLCBbMTY2MzkyMjYyNS45MjgwOTMyLCAxNzE4MSwgMS4xNzc4NzE1ODQ4OTIyNzNdLCBbMTY2MzkyMjYyNi4wNDg2NjEsIDE3MTkwLCAxLjE3MTg2MjAwNjE4NzQzOV0sIFsxNjYzOTIyNjI2LjE1MjA4ODYsIDE3MTk5LCAxLjEzNzA0MDEzODI0NDYyOV0sIFsxNjYzOTIyNjI2LjQ2NDA1ODYsIDE3MjI2LCAxLjE0MDQwODUxNTkzMDE3NThdLCBbMTY2MzkyMjYyNi45MzkwMTM3LCAxNzI3MSwgMS4xNTQ4OTMxNTk4NjYzMzNdLCBbMTY2MzkyMjYyNy40ODkyODcsIDE3MzI1LCAxLjEyNzY5NTA4MzYxODE2NF0sIFsxNjYzOTIyNjI3LjU3Nzc2OTMsIDE3MzM0LCAxLjEyODk4ODk4MTI0Njk0ODJdLCBbMTY2MzkyMjYyNy42NzA0Njc5LCAxNzM0MywgMS4xNDk3NzE5Mjg3ODcyMzE0XSwgWzE2NjM5MjI2MjguMDE4MDEwNCwgMTczNzAsIDEuMTEzNzA3NTQyNDE5NDMzNl0sIFsxNjYzOTIyNjI4LjI5OTk3MjUsIDE3Mzk3LCAxLjIzMDQ2OTQ2NTI1NTczNzNdLCBbMTY2MzkyMjYyOC41NzQxNTkxLCAxNzQyNCwgMS4xMzc2MTg0MjI1MDgyMzk3XSwgWzE2NjM5MjI2MjguNjY1MjI5LCAxNzQzMywgMS4xNDUwMDI2MDM1MzA4ODM4XSwgWzE2NjM5MjI2MjkuMDI2ODAzNSwgMTc0NjksIDEuMTQyMjM0MzI1NDA4OTM1NV0sIFsxNjYzOTIyNjI5LjEyMDc4NTUsIDE3NDc4LCAxLjEyMTIxNDg2NjYzODE4MzZdLCBbMTY2MzkyMjYyOS4yMTIyNzQsIDE3NDg3LCAxLjE0MjE3OTk2NTk3MjkwMDRdLCBbMTY2MzkyMjYyOS41NDg5MDg3LCAxNzUxNCwgMS4xNDE0Mjk3ODE5MTM3NTczXSwgWzE2NjM5MjI2MjkuNzQ0MTMyLCAxNzUzMiwgMS4yMDU1MjUzOTgyNTQzOTQ1XSwgWzE2NjM5MjI2MzAuMDQ5ODY5NSwgMTc1NTksIDEuMTMxNTM4ODY3OTUwNDM5NV0sIFsxNjYzOTIyNjMwLjMyNzEyMjcsIDE3NTg2LCAxLjEwNzYzMTQ0NDkzMTAzMDNdLCBbMTY2MzkyMjYzMC44MDU2MjY0LCAxNzYxMywgMS4xNDk0Njk5NzE2NTY3OTkzXSwgWzE2NjM5MjI2MzEuMjY0NjA5NiwgMTc2NDksIDEuMTMxMjIwODE3NTY1OTE4XSwgWzE2NjM5MjI2MzEuMzczMjYzOCwgMTc2NTgsIDEuMTc1NzI4MjAxODY2MTVdLCBbMTY2MzkyMjYzMS40ODY0NjEsIDE3NjY3LCAxLjE2NTg4ODQyODY4ODA0OTNdLCBbMTY2MzkyMjYzMS41OTY2ODksIDE3Njc2LCAxLjE0NDU3MDExMjIyODM5MzZdLCBbMTY2MzkyMjYzMS43MTA2ODc2LCAxNzY4NSwgMS4xNjQ2OTAyNTYxMTg3NzQ0XSwgWzE2NjM5MjI2MzEuODg3MDM0MiwgMTc3MDMsIDEuMTI1Njg0NzM4MTU5MTc5N10sIFsxNjYzOTIyNjMxLjk5MDM0ODgsIDE3NzEyLCAxLjEyNTk5NTI3ODM1ODQ1OTVdLCBbMTY2MzkyMjYzMi4wNzQ1NzczLCAxNzcyMSwgMS4xMTQ4MDE2NDUyNzg5MzA3XSwgWzE2NjM5MjI2MzIuOTkwMTEzLCAxNzgwMiwgMS4xMjIzMjExMjg4NDUyMTQ4XSwgWzE2NjM5MjI2MzMuMjE3OTQxLCAxNzgyMCwgMS4xNDM1MjUzNjIwMTQ3NzA1XSwgWzE2NjM5MjI2MzMuMzM5OTQzNiwgMTc4MjksIDEuMTE1MjMyOTQ0NDg4NTI1NF0sIFsxNjYzOTIyNjMzLjQ2MDQxMTgsIDE3ODM4LCAxLjEzMzk0ODgwMjk0Nzk5OF0sIFsxNjYzOTIyNjMzLjgxNDIyOTcsIDE3ODc0LCAxLjEzMzc2NzEyNzk5MDcyMjddLCBbMTY2MzkyMjYzNC4wMDY1Mzc0LCAxNzg5MiwgMS4xMzM1MzcxNzMyNzExNzkyXSwgWzE2NjM5MjI2MzQuMDkzMTYxLCAxNzkwMSwgMS4xMDE3MTI0NjUyODYyNTQ5XSwgWzE2NjM5MjI2MzQuMzUxNzUyLCAxNzkyOCwgMS4xOTIxODg3Mzk3NzY2MTEzXSwgWzE2NjM5MjI2MzQuNDM3MTA0MiwgMTc5MzcsIDEuMTI3OTgzMjEyNDcxMDA4M10sIFsxNjYzOTIyNjM2LjgzODk1ODUsIDE4MTUzLCAxLjE0NTE5MzY5NjAyMjAzMzddLCBbMTY2MzkyMjYzNi45NDI3Mzk1LCAxODE2MiwgMS4xMTYxNTA5NzUyMjczNTZdLCBbMTY2MzkyMjYzNy4zMTMxODU3LCAxODE5OCwgMS4xMTI0OTk1OTQ2ODg0MTU1XSwgWzE2NjM5MjI2MzcuNDEwNjE5NywgMTgyMDcsIDEuMTg1NTA4ODQ3MjM2NjMzM10sIFsxNjYzOTIyNjM3Ljg4MzAxNjYsIDE4MjQzLCAxLjE2MDk3MTE2NDcwMzM2OTFdLCBbMTY2MzkyMjYzOC4xMDg4ODY1LCAxODI2MSwgMS4xMTMyODU1NDE1MzQ0MjM4XSwgWzE2NjM5MjI2MzguNDEzNDg5LCAxODI4OCwgMS4xMDY4MzYwODA1NTExNDc1XSwgWzE2NjM5MjI2MzguNzczNTkwNiwgMTgzMjQsIDEuMTU0MDE2MTM3MTIzMTA4XSwgWzE2NjM5MjI2MzguODYyNzU2NSwgMTgzMzMsIDEuMTQ1ODUzNzU3ODU4Mjc2NF0sIFsxNjYzOTIyNjM5LjIyMzQxNjgsIDE4MzY5LCAxLjEwNDY1ODg0MjA4Njc5Ml0sIFsxNjYzOTIyNjM5LjY4MDM0NTUsIDE4Mzk2LCAxLjEzOTIzMzcwODM4MTY1MjhdLCBbMTY2MzkyMjY0MC4wNDA1MTY5LCAxODQzMiwgMS4xNjY5MzczNTEyMjY4MDY2XSwgWzE2NjM5MjI2NDAuNjY3MzM4OCwgMTg0OTUsIDEuMTQ5ODAwMTgxMzg4ODU1XSwgWzE2NjM5MjI2NDAuNzU3OTUsIDE4NTA0LCAxLjE4NDA3ODA5NzM0MzQ0NDhdLCBbMTY2MzkyMjY0MC44NDI5Mzg0LCAxODUxMywgMS4xNTI0NDgwNTgxMjgzNTddLCBbMTY2MzkyMjY0MC45MzQ5MywgMTg1MjIsIDEuMjA3NzMwNzcwMTExMDg0XSwgWzE2NjM5MjI2NDEuOTAwMjA4MiwgMTg2MTIsIDEuMTUyMzIxMjE5NDQ0Mjc1XSwgWzE2NjM5MjI2NDEuOTk3NDMyMiwgMTg2MjEsIDEuMTM5Mzk4Njk0MDM4MzkxMV0sIFsxNjYzOTIyNjQyLjE4NDU2NCwgMTg2MzksIDEuMjY2ODczODM2NTE3MzM0XSwgWzE2NjM5MjI2NDIuNTUyNzE3NywgMTg2NzUsIDEuMTU3MDAwMTg0MDU5MTQzXSwgWzE2NjM5MjI2NDMuMDMwMDc3NywgMTg3MjAsIDEuMTUzMTQzODgyNzUxNDY0OF0sIFsxNjYzOTIyNjQzLjUzODY5MjIsIDE4NzY1LCAxLjEwMDIxMzc2NjA5ODAyMjVdLCBbMTY2MzkyMjY0My43MjkwOTUyLCAxODc4MywgMS4xMjE4OTE2MTc3NzQ5NjM0XSwgWzE2NjM5MjI2NDMuODIyNzE3MiwgMTg3OTIsIDEuMTgyNjQ2NzUxNDAzODA4Nl0sIFsxNjYzOTIyNjQ0LjAyNTQxNTcsIDE4ODEwLCAxLjEyNDIzMDM4NDgyNjY2MDJdLCBbMTY2MzkyMjY0NC4xMTM3NTY3LCAxODgxOSwgMS4xNzQ2OTkxODcyNzg3NDc2XSwgWzE2NjM5MjI2NDQuMTk5NjU1NSwgMTg4MjgsIDEuMTEyMDkzNDQ4NjM4OTE2XSwgWzE2NjM5MjI2NDQuNTg4MDk2LCAxODg2NCwgMS4xNTAyMjk2OTI0NTkxMDY0XSwgWzE2NjM5MjI2NDQuNzcwMjE4MSwgMTg4ODIsIDEuMTQyOTY5NzI3NTE2MTc0M10sIFsxNjYzOTIyNjQ0LjkyMTY1NTIsIDE4ODkxLCAxLjEzNDgxODkxMTU1MjQyOTJdLCBbMTY2MzkyMjY0NS4xNTE1NjA4LCAxODkwOSwgMS4xNTQ3ODAwMzAyNTA1NDkzXSwgWzE2NjM5MjI2NDUuNDcwMDQyNywgMTg5MzYsIDEuMTYyMTE4NzkyNTMzODc0NV0sIFsxNjYzOTIyNjQ1LjcyOTY0ODgsIDE4OTU0LCAxLjE0MTgyMTM4NDQyOTkzMTZdLCBbMTY2MzkyMjY0Ni4xMjkwMjk4LCAxODk5MCwgMS4xMjk3OTQyMzk5OTc4NjM4XSwgWzE2NjM5MjI2NDYuMjIzMjI0OSwgMTg5OTksIDEuMTMzMTc2MjA3NTQyNDE5NF0sIFsxNjYzOTIyNjQ2LjY5MTUzMjksIDE5MDM1LCAxLjIxOTMyMjgwMDYzNjI5MTVdLCBbMTY2MzkyMjY0Ni43OTYxNTYsIDE5MDQ0LCAxLjIyMjUwOTI2NDk0NTk4MzldLCBbMTY2MzkyMjY0Ny4xNzgzNzk1LCAxOTA4MCwgMS4yNDk1MTQxMDI5MzU3OTFdLCBbMTY2MzkyMjY0Ny4yNjcwODg0LCAxOTA4OSwgMS4xMzU5NDU1NTg1NDc5NzM2XSwgWzE2NjM5MjI2NDcuNDU1OTI5MywgMTkxMDcsIDEuMTY0NjUzMzAxMjM5MDEzN10sIFsxNjYzOTIyNjQ3LjU2MDUwMzcsIDE5MTE2LCAxLjEyMjc2MjQ0MTYzNTEzMThdLCBbMTY2MzkyMjY0Ny44NjQ4MjUsIDE5MTI1LCAxLjExMTI1OTY5ODg2Nzc5NzldLCBbMTY2MzkyMjY0OC4yMDI3NzgsIDE5MTUyLCAxLjE0OTI4OTYwODAwMTcwOV0sIFsxNjYzOTIyNjQ4Ljk3MjMzNSwgMTkyMTUsIDEuMTQxODY4NDcyMDk5MzA0Ml0sIFsxNjYzOTIyNjQ5LjA2NTg3MiwgMTkyMjQsIDEuMTY0MTY1MjU4NDA3NTkyOF0sIFsxNjYzOTIyNjQ5LjE2NzAyMDMsIDE5MjMzLCAxLjEwMjg4Mjg2MjA5MTA2NDVdLCBbMTY2MzkyMjY0OS40NzI1NTI4LCAxOTI2MCwgMS4xMDc3MzQ1NjA5NjY0OTE3XSwgWzE2NjM5MjI2NDkuODg4OTUyMywgMTkyOTYsIDEuMTQ2MzUwNzQxMzg2NDEzNl0sIFsxNjYzOTIyNjUwLjUyOTA2NywgMTkzNTAsIDEuMDk5OTAwMjQ1NjY2NTA0XSwgWzE2NjM5MjI2NTEuMDY5NjY3NiwgMTkzOTUsIDEuMTgzMDk3NjAwOTM2ODg5Nl0sIFsxNjYzOTIyNjUxLjYxNjIxNzYsIDE5NDQwLCAxLjExMjA0MzYxOTE1NTg4MzhdLCBbMTY2MzkyMjY1MS43MTcxOTQsIDE5NDQ5LCAxLjE2NzU5MjI4NzA2MzU5ODZdLCBbMTY2MzkyMjY1MS44OTk0MjUzLCAxOTQ2NywgMS4xNjA5NTYxNDQzMzI4ODU3XSwgWzE2NjM5MjI2NTIuNTQ4MTMyMiwgMTk1MzAsIDEuMTM4NzgyMDI0MzgzNTQ1XSwgWzE2NjM5MjI2NTMuMTMwNDQsIDE5NTg0LCAxLjExMzE0NzQ5NzE3NzEyNF0sIFsxNjYzOTIyNjUzLjIxNjk3NzgsIDE5NTkzLCAxLjEyNTcwNzI2ODcxNDkwNDhdLCBbMTY2MzkyMjY1My45NjkxNDYsIDE5NjU2LCAxLjE4Mzg2ODc2NTgzMDk5MzddLCBbMTY2MzkyMjY1NC4xNjIxMzU4LCAxOTY3NCwgMS4xMjQ4MDY0MDQxMTM3Njk1XSwgWzE2NjM5MjI2NTQuMzM5ODQyOCwgMTk2OTIsIDEuMTI1Njg1MDk1Nzg3MDQ4M10sIFsxNjYzOTIyNjU0LjUxOTU2NDYsIDE5NzEwLCAxLjEzMzQ1NzE4MzgzNzg5MDZdLCBbMTY2MzkyMjY1NC45NzE0MzEsIDE5NzU1LCAxLjEzMTU5NTI1Mzk0NDM5N10sIFsxNjYzOTIyNjU1LjUxNTA5MTIsIDE5ODAwLCAxLjEyMDk1MTI5NDg5ODk4NjhdLCBbMTY2MzkyMjY1NS42OTUwOTQ4LCAxOTgxOCwgMS4xMjg4NDc5NTY2NTc0MDk3XSwgWzE2NjM5MjI2NTUuNzk2ODU3LCAxOTgyNywgMS4xMDIzNTY5MTA3MDU1NjY0XSwgWzE2NjM5MjI2NTUuODg1NTc3NCwgMTk4MzYsIDEuMTQ0ODM2MTg3MzYyNjcxXSwgWzE2NjM5MjI2NTYuNDc1ODg0LCAxOTg5MCwgMS4xMzg5ODY3MDY3MzM3MDM2XSwgWzE2NjM5MjI2NTYuODk1NzczNiwgMTk5MDgsIDEuMTMzNTAyNDgzMzY3OTJdLCBbMTY2MzkyMjY1Ni45OTczNDM1LCAxOTkxNywgMS4xMTY1MTU4NzQ4NjI2NzFdLCBbMTY2MzkyMjY1Ny4xOTY4MDMzLCAxOTkzNSwgMS4xMDM2OTAxNDczOTk5MDIzXSwgWzE2NjM5MjI2NTcuMjg0NDExLCAxOTk0NCwgMS4xNTQ4NTI5ODYzMzU3NTQ0XSwgWzE2NjM5MjI2NTcuODA3OTEyLCAxOTk5OCwgMS4yMDg1MzcyMjA5NTQ4OTVdLCBbMTY2MzkyMjY1OC4xNzA4MTU1LCAyMDAzNCwgMS4xNjM3NDQ4MDcyNDMzNDcyXSwgWzE2NjM5MjI2NTguMzUyMTI4LCAyMDA1MiwgMS4xMDk2MTEzOTIwMjExNzkyXSwgWzE2NjM5MjI2NTkuMTc1MzczNiwgMjAxMzMsIDEuMTQ4MDY0MTM2NTA1MTI3XSwgWzE2NjM5MjI2NTkuNDYwMzc2NSwgMjAxNjAsIDEuMTEzNDExMzA3MzM0OV0sIFsxNjYzOTIyNjU5LjczMTQ0MzYsIDIwMTg3LCAxLjEyMjA2MjgwMjMxNDc1ODNdLCBbMTY2MzkyMjY1OS45MTE4MDQsIDIwMjA1LCAxLjEwNjc4MjkxMzIwODAwNzhdLCBbMTY2MzkyMjY2MC44MTM3MDEsIDIwMjk1LCAxLjE2NTg2NzQ0Nzg1MzA4ODRdLCBbMTY2MzkyMjY2MS4wODMxNywgMjAzMjIsIDEuMTgzNTEwNjYxMTI1MTgzXSwgWzE2NjM5MjI2NjEuMTcxNzY5OSwgMjAzMzEsIDEuMTk5ODQ2ODYzNzQ2NjQzXSwgWzE2NjM5MjI2NjEuNzI1MjIxMiwgMjAzODUsIDEuMTczNjUzMzY0MTgxNTE4Nl0sIFsxNjYzOTIyNjYyLjAyMjYwMjgsIDIwNDEyLCAxLjE1OTU0MzE1NjYyMzg0MDNdLCBbMTY2MzkyMjY2Mi44NDEyMDU4LCAyMDQ5MywgMS4xMjIyNzU5NDg1MjQ0NzVdLCBbMTY2MzkyMjY2My4xOTg4MDYsIDIwNTI5LCAxLjE0MDEzNjcxODc1XSwgWzE2NjM5MjI2NjMuMjg1MzY0NiwgMjA1MzgsIDEuMTIxMjY0ODE1MzMwNTA1NF0sIFsxNjYzOTIyNjYzLjgzNzY1OSwgMjA1NzQsIDEuMTU4NDA1NzgwNzkyMjM2M10sIFsxNjYzOTIyNjY0LjUyOTkyOCwgMjA2MzcsIDEuMTE2MzcwNDM5NTI5NDE5XSwgWzE2NjM5MjI2NjQuNjUxODYwNSwgMjA2NDYsIDEuMTM0MjA4NDQwNzgwNjM5Nl0sIFsxNjYzOTIyNjY1LjYwOTQ2NSwgMjA3MDksIDEuMTE5MzEzNDc4NDY5ODQ4Nl0sIFsxNjYzOTIyNjY2LjA0OTA2MTgsIDIwNzU0LCAxLjEzMDMwNTg4NjI2ODYxNTddLCBbMTY2MzkyMjY2Ni4xMzY1ODkzLCAyMDc2MywgMS4xNTUyMzczMTcwODUyNjYxXSwgWzE2NjM5MjI2NjYuMjI2MzE0OCwgMjA3NzIsIDEuMTU2Nzg1NzI2NTQ3MjQxMl0sIFsxNjYzOTIyNjY2LjQxODM0NjYsIDIwNzkwLCAxLjExMzI5NDk1OTA2ODI5ODNdLCBbMTY2MzkyMjY2Ni41OTY3OTU4LCAyMDgwOCwgMS4xMTM4NzMyNDMzMzE5MDkyXSwgWzE2NjM5MjI2NjYuOTUwMTc3MiwgMjA4NDQsIDEuMDkzODg0ODI1NzA2NDgyXSwgWzE2NjM5MjI2NjcuMDUzMjMzNCwgMjA4NTMsIDEuMTI3Mjk5MDcwMzU4Mjc2NF0sIFsxNjYzOTIyNjY3LjMxODkzNTQsIDIwODgwLCAxLjEyMzYyODYxNjMzMzAwNzhdLCBbMTY2MzkyMjY2Ny44MDg3OTU1LCAyMDkyNSwgMS4xMDUxNDYwNTA0NTMxODZdLCBbMTY2MzkyMjY2OC4zMjY5ODk0LCAyMDk3OSwgMS4xNTIwNDc4NzI1NDMzMzVdLCBbMTY2MzkyMjY2OC41MDY1NTE3LCAyMDk5NywgMS4xMzUwNjg0MTY1OTU0NTldLCBbMTY2MzkyMjY2OC43ODYwNTAzLCAyMTAyNCwgMS4xMjMxODEyMjM4NjkzMjM3XSwgWzE2NjM5MjI2NjkuMjQ0NTI1NywgMjEwNjksIDEuMjc0NDUxNjEzNDI2MjA4NV0sIFsxNjYzOTIyNjY5LjQ5ODkxMTEsIDIxMDg3LCAxLjEyNzgxMTY3MDMwMzM0NDddLCBbMTY2MzkyMjY2OS42NDA1NjczLCAyMTA5NiwgMS4xNjA1MTIyMDg5Mzg1OTg2XSwgWzE2NjM5MjI2NjkuNzM1MjU3NiwgMjExMDUsIDEuMDgyMDk4MjQ1NjIwNzI3NV0sIFsxNjYzOTIyNjY5LjkyNzMyOSwgMjExMjMsIDEuMTAwMzQ2MDg4NDA5NDIzOF0sIFsxNjYzOTIyNjcwLjAxMzUyOTgsIDIxMTMyLCAxLjA5NTI0NTgzODE2NTI4MzJdLCBbMTY2MzkyMjY3MC4zNzEyOTc0LCAyMTE2OCwgMS4xNjIxNTY3MDEwODc5NTE3XSwgWzE2NjM5MjI2NzAuNDU5ODA0LCAyMTE3NywgMS4xNjQ3NTg2ODIyNTA5NzY2XSwgWzE2NjM5MjI2NzAuNTQ3ODk4OCwgMjExODYsIDEuMTcxMTQ4ODk2MjE3MzQ2Ml0sIFsxNjYzOTIyNjcxLjA0ODU4OSwgMjEyMjIsIDEuMTMwMTYyOTU0MzMwNDQ0M10sIFsxNjYzOTIyNjcxLjI5OTkxNTMsIDIxMjQwLCAxLjE0MjMxNzA1NjY1NTg4MzhdLCBbMTY2MzkyMjY3MS44MzkwMzQ2LCAyMTI5NCwgMS4wOTQ0NTg1ODAwMTcwODk4XSwgWzE2NjM5MjI2NzIuMjA2MjM3OCwgMjEzMjEsIDEuMTc3MzI1MTI5NTA4OTcyMl0sIFsxNjYzOTIyNjcyLjUwNTg3NjMsIDIxMzQ4LCAxLjEwODcxODYzMzY1MTczMzRdLCBbMTY2MzkyMjY3Mi42OTE3NTMxLCAyMTM2NiwgMS4wOTA0MDM0Mzc2MTQ0NDFdLCBbMTY2MzkyMjY3My4yNjQ0MjEyLCAyMTQxMSwgMS4xNTgxNjk3NDYzOTg5MjU4XSwgWzE2NjM5MjI2NzQuMDI4OTg3NiwgMjE0NjUsIDEuMDk5NTE0MjQ1OTg2OTM4NV0sIFsxNjYzOTIyNjc0LjQ4Njc4NDIsIDIxNTEwLCAxLjExNDU4MTcwNDEzOTcwOTVdLCBbMTY2MzkyMjY3NC42NjI2OCwgMjE1MjgsIDEuMTAzNjQ4NDI0MTQ4NTU5Nl0sIFsxNjYzOTIyNjc0LjgzMDk0NiwgMjE1NDYsIDEuMDgxMjM2MTI0MDM4Njk2M10sIFsxNjYzOTIyNjc0LjkxODk4MywgMjE1NTUsIDEuMDk1NTk1ODM2NjM5NDA0M10sIFsxNjYzOTIyNjc1LjAwOTA5MTEsIDIxNTY0LCAxLjA3OTU0MTkyMTYxNTYwMDZdLCBbMTY2MzkyMjY3NS4yMDExNzM1LCAyMTU4MiwgMS4xMzUyOTk4MDE4MjY0NzddLCBbMTY2MzkyMjY3NS4yODY1MjcsIDIxNTkxLCAxLjE3OTAxNDgwMTk3OTA2NV0sIFsxNjYzOTIyNjc2LjI4MzUzNTIsIDIxNjgxLCAxLjE2MDU4ODg2MDUxMTc3OThdLCBbMTY2MzkyMjY3Ni42ODc3MjUsIDIxNzE3LCAxLjEzMjI3Njg5MjY2MjA0ODNdLCBbMTY2MzkyMjY3Ni45NjE0NzkyLCAyMTc0NCwgMS4xMzMzODgwNDI0NDk5NTEyXSwgWzE2NjM5MjI2NzcuNDIzMjE2NiwgMjE3ODAsIDEuMTMzNjA4NTc5NjM1NjIwMV0sIFsxNjYzOTIyNjc4LjM5OTkyMDIsIDIxODYxLCAxLjEwNjI0MDAzNDEwMzM5MzZdLCBbMTY2MzkyMjY3OC42Nzg5NDQ4LCAyMTg4OCwgMS4xMjUzMDI5MTA4MDQ3NDg1XSwgWzE2NjM5MjI2NzkuMTQ0ODAxNiwgMjE5MjQsIDEuMTA5MDU4MDIyNDk5MDg0NV0sIFsxNjYzOTIyNjc5LjIzODI4MDUsIDIxOTMzLCAxLjE3OTUxNjA3NzA0MTYyNl0sIFsxNjYzOTIyNjc5LjUzNzAzOSwgMjE5NjAsIDEuMTE2Nzg5ODE3ODEwMDU4Nl0sIFsxNjYzOTIyNjc5LjcyMjI4NzQsIDIxOTc4LCAxLjEwNzA1ODY0NDI5NDczODhdLCBbMTY2MzkyMjY3OS44MDQzNDM3LCAyMTk4NywgMS4xMTQ1Njg5NDg3NDU3Mjc1XSwgWzE2NjM5MjI2ODAuNDcyOTU0NSwgMjIwNDEsIDEuMTMyMDc1Nzg2NTkwNTc2Ml0sIFsxNjYzOTIyNjgxLjEyMTAxMzYsIDIyMDk1LCAxLjEyMjE0MjY3MjUzODc1NzNdLCBbMTY2MzkyMjY4MS41ODMwNDA1LCAyMjEzMSwgMS4xMjgyNDQyODA4MTUxMjQ1XSwgWzE2NjM5MjI2ODEuOTg1MTk0NywgMjIxNjcsIDEuMTA0MzQ3NDY3NDIyNDg1NF0sIFsxNjYzOTIyNjgyLjE2ODI2MTUsIDIyMTg1LCAxLjIyMDcxNDgwNzUxMDM3Nl0sIFsxNjYzOTIyNjgyLjI3MzI4MTYsIDIyMTk0LCAxLjE2ODg5NTAwNjE3OTgwOTZdLCBbMTY2MzkyMjY4Mi44MDk4OTUzLCAyMjIzMCwgMS4yMTcxMzI5MjU5ODcyNDM3XSwgWzE2NjM5MjI2ODMuMTQyNzI0OCwgMjIyNjYsIDEuMTM3NDkxNDY0NjE0ODY4Ml0sIFsxNjYzOTIyNjgzLjMxNDc3MTcsIDIyMjg0LCAxLjI1OTcyNzgzNTY1NTIxMjRdLCBbMTY2MzkyMjY4My41MDYyODQyLCAyMjMwMiwgMS4xMjgwMjI0MzIzMjcyNzA1XSwgWzE2NjM5MjI2ODQuMTEzODExMywgMjIzNjUsIDEuMTE2MDQwOTQ1MDUzMTAwNl0sIFsxNjYzOTIyNjg0LjIwMDc2NDIsIDIyMzc0LCAxLjExMTA4Njg0NTM5Nzk0OTJdLCBbMTY2MzkyMjY4NC41NzQxNDU4LCAyMjQxMCwgMS4xNDYxNTI5NzMxNzUwNDg4XSwgWzE2NjM5MjI2ODQuOTE2Mzg2MSwgMjI0NDYsIDEuMDk2MTk4Nzk3MjI1OTUyMV0sIFsxNjYzOTIyNjg1LjE2NjMzNDQsIDIyNDczLCAxLjE1ODUwMTUwNTg1MTc0NTZdLCBbMTY2MzkyMjY4NS4zNDcyNTc0LCAyMjQ5MSwgMS4xMzYzNTU1MTkyOTQ3Mzg4XSwgWzE2NjM5MjI2ODUuNDQ0Njk5MywgMjI1MDAsIDEuMTAwNTQ0NjkxMDg1ODE1NF0sIFsxNjYzOTIyNjg1LjU2ODEzNDUsIDIyNTA5LCAxLjEwMzY4NzQwNTU4NjI0MjddLCBbMTY2MzkyMjY4Ni4wMTU2NDAzLCAyMjUzNiwgMS4xMzUzMTgyNzkyNjYzNTc0XSwgWzE2NjM5MjI2ODYuMjkxMjMxLCAyMjU1NCwgMS4xMDkzNzU0NzY4MzcxNTgyXSwgWzE2NjM5MjI2ODYuMzk1Njk4NSwgMjI1NjMsIDEuMTE4NjQ3ODEzNzk2OTk3XSwgWzE2NjM5MjI2ODYuNTg3MDE2LCAyMjU4MSwgMS4xMzcyMjc3NzM2NjYzODE4XSwgWzE2NjM5MjI2ODYuNzcxMjg1NSwgMjI1OTksIDEuMDk5OTc5MTYyMjE2MTg2NV0sIFsxNjYzOTIyNjg3LjA2MzY5NjEsIDIyNjI2LCAxLjExNTkzNzM1MjE4MDQ4MV0sIFsxNjYzOTIyNjg3LjIzMTUzNzgsIDIyNjQ0LCAxLjE1MTMyOTk5NDIwMTY2MDJdLCBbMTY2MzkyMjY4Ny40MDkzNjIzLCAyMjY2MiwgMS4yNzk1MTIwNDc3Njc2MzkyXSwgWzE2NjM5MjI2ODcuNDk2NzU3NSwgMjI2NzEsIDEuMTM2NTA5MDYwODU5NjgwMl0sIFsxNjYzOTIyNjg3LjU4NjIzMzQsIDIyNjgwLCAxLjEzMjI3NDAzMTYzOTA5OTFdLCBbMTY2MzkyMjY4Ny43ODY2NDc2LCAyMjY5OCwgMS4wOTU2MjUyODEzMzM5MjMzXSwgWzE2NjM5MjI2ODcuOTU3MjUxMywgMjI3MTYsIDEuMTA0MTEzMTAxOTU5MjI4NV0sIFsxNjYzOTIyNjg4LjQzNzA1OTIsIDIyNzYxLCAxLjE0NjAxOTU3Nzk4MDA0MTVdLCBbMTY2MzkyMjY4OC42MDgzODMsIDIyNzc5LCAxLjEwODg5ODQwMTI2MDM3Nl0sIFsxNjYzOTIyNjg4LjcwNDgxOSwgMjI3ODgsIDEuMTc4MjI5MDkzNTUxNjM1N10sIFsxNjYzOTIyNjg4Ljg5NzM2MTgsIDIyODA2LCAxLjEyMzk5NTE4NDg5ODM3NjVdLCBbMTY2MzkyMjY4OS4zNTM3NjE3LCAyMjg1MSwgMS4xNTA3ODc4MzAzNTI3ODMyXSwgWzE2NjM5MjI2ODkuNTMwODMzNSwgMjI4NjksIDEuMTE4NjUzMjk3NDI0MzE2NF0sIFsxNjYzOTIyNjg5LjcwMzc4MjgsIDIyODg3LCAxLjEyMTA1MTQzMDcwMjIwOTVdLCBbMTY2MzkyMjY4OS43OTM3ODY4LCAyMjg5NiwgMS4wOTg1ODU3MjQ4MzA2Mjc0XSwgWzE2NjM5MjI2OTEuMDI2NzYsIDIyOTk1LCAxLjE2NjcxNDA3MjIyNzQ3OF0sIFsxNjYzOTIyNjkxLjU2OTk2NTgsIDIzMDQ5LCAxLjEyMTM4NTIxNjcxMjk1MTddLCBbMTY2MzkyMjY5Mi4wMzgzODg1LCAyMzA5NCwgMS4xMjM0MDM0Mjk5ODUwNDY0XSwgWzE2NjM5MjI2OTIuMTM1NzkxMywgMjMxMDMsIDEuMTIyMTUyNjg2MTE5MDc5Nl0sIFsxNjYzOTIyNjkyLjMxNDQyNTcsIDIzMTIxLCAxLjE2NTM2ODkxNDYwNDE4N10sIFsxNjYzOTIyNjkyLjU5MDA3MzYsIDIzMTQ4LCAxLjE1MjU0MzE4NzE0MTQxODVdLCBbMTY2MzkyMjY5Mi45NjUxMzg0LCAyMzE4NCwgMS4xMTE1OTM0ODQ4Nzg1NF0sIFsxNjYzOTIyNjkzLjE1MDg5MjUsIDIzMjAyLCAxLjExMjU3NTQxMTc5NjU2OThdLCBbMTY2MzkyMjY5My4yNDMyODAyLCAyMzIxMSwgMS4xNTU1NDYxODgzNTQ0OTIyXSwgWzE2NjM5MjI2OTMuNjg5OTI5NSwgMjMyNTYsIDEuMTMzNzQ1Nzg5NTI3ODkzXSwgWzE2NjM5MjI2OTMuNzc0NDk3NywgMjMyNjUsIDEuMTQxODQ1NDY0NzA2NDIxXSwgWzE2NjM5MjI2OTMuODU1Njg0OCwgMjMyNzQsIDEuMTU0Mjc4Mzk3NTYwMTE5Nl0sIFsxNjYzOTIyNjk0LjEzNjgzNCwgMjMzMDEsIDEuMTE5MjA5MDUxMTMyMjAyMV0sIFsxNjYzOTIyNjk0LjIxODQyOTMsIDIzMzEwLCAxLjEzMTk4OTAwMjIyNzc4MzJdLCBbMTY2MzkyMjY5NC40ODA0NTA5LCAyMzMzNywgMS4xNTUyMzEyMzc0MTE0OTldLCBbMTY2MzkyMjY5NC45OTg5MTMzLCAyMzM5MSwgMS4xNzA4OTkzOTExNzQzMTY0XSwgWzE2NjM5MjI2OTUuMDg3OTExNiwgMjM0MDAsIDEuMDc5MTYzNzg5NzQ5MTQ1NV0sIFsxNjYzOTIyNjk1LjI2ODk0MTIsIDIzNDE4LCAxLjE0MjQ4ODQ3OTYxNDI1NzhdLCBbMTY2MzkyMjY5NS40NDQ5Nzg3LCAyMzQzNiwgMS4xODEwMTkwNjc3NjQyODIyXSwgWzE2NjM5MjI2OTUuNjE1MjQxMywgMjM0NTQsIDEuMDk0MDgwNjg2NTY5MjEzOV0sIFsxNjYzOTIyNjk1LjcwNzk5ODUsIDIzNDYzLCAxLjEyODY3ODMyMTgzODM3OV0sIFsxNjYzOTIyNjk2Ljc3Mzk0OCwgMjM1NjIsIDEuMTA1NDYyMDc0Mjc5Nzg1Ml0sIFsxNjYzOTIyNjk2LjkwMTc3MTgsIDIzNTcxLCAxLjEyNzE0NjEyNDgzOTc4MjddLCBbMTY2MzkyMjY5Ny4wNDY3NjgyLCAyMzU4MCwgMS4wOTg1ODczOTM3NjA2ODEyXSwgWzE2NjM5MjI2OTcuMzgwNTI0LCAyMzYwNywgMS4xMTE5MjY3OTQwNTIxMjRdLCBbMTY2MzkyMjY5Ny45MjAzNCwgMjM2NTIsIDEuMTczMDA5NzUzMjI3MjMzOV0sIFsxNjYzOTIyNjk4LjAwOTg2NTMsIDIzNjYxLCAxLjExNTk5OTkzNzA1NzQ5NTFdLCBbMTY2MzkyMjY5OC42NzUxMDgsIDIzNzA2LCAxLjA5MzM2MjMzMTM5MDM4MDldLCBbMTY2MzkyMjY5OC43NjI2NjkzLCAyMzcxNSwgMS4xMDM3OTEyMzY4Nzc0NDE0XSwgWzE2NjM5MjI2OTguODQ3MjYyOSwgMjM3MjQsIDEuMTA1MzM3MDIzNzM1MDQ2NF0sIFsxNjYzOTIyNjk4LjkzMTAwNTUsIDIzNzMzLCAxLjEyNDk5MzU2MjY5ODM2NDNdLCBbMTY2MzkyMjY5OS4xMDQ1MzgsIDIzNzUxLCAxLjA5MjEzNDcxNDEyNjU4N10sIFsxNjYzOTIyNjk5LjE5MzI1NDcsIDIzNzYwLCAxLjExNjMxOTE3OTUzNDkxMl0sIFsxNjYzOTIyNjk5LjI4NzkxOCwgMjM3NjksIDEuMTIxMzM4OTYzNTA4NjA2XSwgWzE2NjM5MjI2OTkuNTY2OTk1LCAyMzc5NiwgMS4xNjE0ODk2MDU5MDM2MjU1XSwgWzE2NjM5MjI3MDAuNTYzMDAxNiwgMjM4OTUsIDEuMjAzMTEzNTU1OTA4MjAzMV0sIFsxNjYzOTIyNzAxLjA5Njg3NSwgMjM5NDksIDEuMTE1NjkwMzUwNTMyNTMxN10sIFsxNjYzOTIyNzAxLjMxMDY5NDcsIDIzOTY3LCAxLjE2NjI4NjcwNjkyNDQzODVdLCBbMTY2MzkyMjcwMS44MDM3NiwgMjQwMTIsIDEuMTAxMzY2NzU4MzQ2NTU3Nl0sIFsxNjYzOTIyNzAyLjA3MTE2MDMsIDI0MDM5LCAxLjE5MDc0ODA5NTUxMjM5MDFdLCBbMTY2MzkyMjcwMi4xNjM1MjQ5LCAyNDA0OCwgMS4xMDEzMzQ4MTAyNTY5NThdLCBbMTY2MzkyMjcwMi4yNTc5NDAzLCAyNDA1NywgMS4xMDYxMDExNTUyODEwNjddLCBbMTY2MzkyMjcwMi40Mzc2OTE3LCAyNDA3NSwgMS4wOTIwMTI2NDM4MTQwODddLCBbMTY2MzkyMjcwMy4wOTc1NTU0LCAyNDEzOCwgMS4xMjI2MzM1NzYzOTMxMjc0XSwgWzE2NjM5MjI3MDMuMzY0MDU3MywgMjQxNjUsIDEuMTM3MDI4NTc0OTQzNTQyNV0sIFsxNjYzOTIyNzAzLjU2Nzg4NDQsIDI0MTgzLCAxLjE5ODcwNDcxOTU0MzQ1N10sIFsxNjYzOTIyNzAzLjg3MDAzMDIsIDI0MjEwLCAxLjEwODE1OTU0MjA4Mzc0MDJdLCBbMTY2MzkyMjcwNC4xOTM4NDk4LCAyNDIyOCwgMS4xMDgxMzExNzAyNzI4MjcxXSwgWzE2NjM5MjI3MDQuNDQxOTA0LCAyNDI0NiwgMS4xMzkwMjMxODQ3NzYzMDYyXSwgWzE2NjM5MjI3MDUuMTkyNTUyLCAyNDMxOCwgMS4xMjQwMDEzODM3ODE0MzNdLCBbMTY2MzkyMjcwNS4yNzc5NjQ4LCAyNDMyNywgMS4xMzE1MDIzODk5MDc4MzddLCBbMTY2MzkyMjcwNS4zNjg5Mjk0LCAyNDMzNiwgMS4xMTYzNDA3NTY0MTYzMjA4XSwgWzE2NjM5MjI3MDUuNDc0NDEzLCAyNDM0NSwgMS4xMTcwMzE4MTI2Njc4NDY3XSwgWzE2NjM5MjI3MDUuNjQ4MTYyNiwgMjQzNjMsIDEuMTAyMjIzNjM0NzE5ODQ4Nl0sIFsxNjYzOTIyNzA1LjgzODY3MTcsIDI0MzgxLCAxLjExNjY4NTM5MDQ3MjQxMl0sIFsxNjYzOTIyNzA1LjkzMjMwNzUsIDI0MzkwLCAxLjEyMTg2MzM2NTE3MzMzOThdLCBbMTY2MzkyMjcwNi4wMzEyMDY2LCAyNDM5OSwgMS4wODM2MDEyMzYzNDMzODM4XSwgWzE2NjM5MjI3MDYuMjQ0NzI3MSwgMjQ0MTcsIDEuMDgwNDYwMzA5OTgyMjk5OF0sIFsxNjYzOTIyNzA2LjMzMzI2MDMsIDI0NDI2LCAxLjEwOTE4NDg2MTE4MzE2NjVdLCBbMTY2MzkyMjcwNi40MzQ0ODg1LCAyNDQzNSwgMS4xMDkwNTUzOTk4OTQ3MTQ0XSwgWzE2NjM5MjI3MDYuODk1OTgyNywgMjQ0NjIsIDEuMTAyNjkwOTM1MTM0ODg3N10sIFsxNjYzOTIyNzA2Ljk4ODg3NCwgMjQ0NzEsIDEuMTE3OTAzMjMyNTc0NDYzXSwgWzE2NjM5MjI3MDcuMDg0OTQ5NywgMjQ0ODAsIDEuMTE0MTU2MTI2OTc2MDEzMl0sIFsxNjYzOTIyNzA3LjU0MjM5MywgMjQ1MjUsIDEuMTYzMjc3NjI2MDM3NTk3N10sIFsxNjYzOTIyNzA3LjYzNTE0MjMsIDI0NTM0LCAxLjEyMzg0NTIxOTYxMjEyMTZdLCBbMTY2MzkyMjcwNy44MjIxOTkzLCAyNDU1MiwgMS4wODA5NTQwNzQ4NTk2MTkxXSwgWzE2NjM5MjI3MDguMDA2MTI0LCAyNDU3MCwgMS4xMDk1MDI1NTM5Mzk4MTkzXSwgWzE2NjM5MjI3MDguMTAxNzMwMywgMjQ1NzksIDEuMDk0Mjk2MjE2OTY0NzIxN10sIFsxNjYzOTIyNzA4LjQ2NTkxMDQsIDI0NjE1LCAxLjA5OTU5NjE0Mjc2ODg1OTldLCBbMTY2MzkyMjcwOC41NTUzODA2LCAyNDYyNCwgMS4xMDIzODkwOTcyMTM3NDUxXSwgWzE2NjM5MjI3MDguOTI1NzQyNiwgMjQ2NjAsIDEuMTA5ODI0Mjk5ODEyMzE3XSwgWzE2NjM5MjI3MDkuMDE0MTA0NiwgMjQ2NjksIDEuMjI3OTMzNjQ1MjQ4NDEzXSwgWzE2NjM5MjI3MDkuMTA2MzMzNSwgMjQ2NzgsIDEuMzA5MTAzMTMxMjk0MjUwNV0sIFsxNjYzOTIyNzA5LjIwMzg4OTYsIDI0Njg3LCAxLjE2MDQwOTIxMjExMjQyNjhdLCBbMTY2MzkyMjcwOS4zNzg5ODE4LCAyNDcwNSwgMS4xNTUyNzIxMjYxOTc4MTVdLCBbMTY2MzkyMjcwOS40NjU0ODkxLCAyNDcxNCwgMS4xMTM5NDQ3Njg5MDU2Mzk2XSwgWzE2NjM5MjI3MDkuNTQ5ODkzLCAyNDcyMywgMS4xMzEyNDk5MDQ2MzI1Njg0XSwgWzE2NjM5MjI3MTAuMjI1NDc2NSwgMjQ3ODYsIDEuMTIwMjE2NjA4MDQ3NDg1NF0sIFsxNjYzOTIyNzEwLjMxNDIzMywgMjQ3OTUsIDEuMTkwMzU3MDg5MDQyNjYzNl0sIFsxNjYzOTIyNzEwLjQxMzY3MTcsIDI0ODA0LCAxLjE0OTUxMjA1MjUzNjAxMDddLCBbMTY2MzkyMjcxMC42NzY3NjI4LCAyNDgzMSwgMS4xMzg2ODEwNTQxMTUyOTU0XSwgWzE2NjM5MjI3MTAuODUzMjA0NSwgMjQ4NDksIDEuMTEzMTQxMjk4Mjk0MDY3NF0sIFsxNjYzOTIyNzEwLjk4MTE4MDcsIDI0ODU4LCAxLjIxMDE1Nzk5MDQ1NTYyNzRdLCBbMTY2MzkyMjcxMS40NjI2NTUzLCAyNDg5NCwgMS4xMzA3MTYzMjM4NTI1MzldLCBbMTY2MzkyMjcxMS43MjIyMTQsIDI0OTIxLCAxLjI0Mzc4NjgxMTgyODYxMzNdLCBbMTY2MzkyMjcxMS45ODU5NTA3LCAyNDk0OCwgMS4xNTc2NTYzMTE5ODg4MzA2XSwgWzE2NjM5MjI3MTIuMTc2MTEyLCAyNDk2NiwgMS4xMjQxMjc4NjQ4Mzc2NDY1XSwgWzE2NjM5MjI3MTIuMzY1MDkzNywgMjQ5ODQsIDEuMTkzOTk5MjkwNDY2MzA4Nl0sIFsxNjYzOTIyNzEyLjU0Mjc1NzMsIDI1MDAyLCAxLjE1MTUzMDc0MjY0NTI2MzddLCBbMTY2MzkyMjcxMi42MjUwMzY3LCAyNTAxMSwgMS4xNTE5Nzg2MTE5NDYxMDZdLCBbMTY2MzkyMjcxMi43MTQwNjI3LCAyNTAyMCwgMS4xOTQ3ODMyMTA3NTQzOTQ1XSwgWzE2NjM5MjI3MTMuMTUxODQ5NywgMjUwNjUsIDEuMTMyODc2NjM0NTk3Nzc4M10sIFsxNjYzOTIyNzEzLjI0MTYzMjUsIDI1MDc0LCAxLjExNTY1NjczMzUxMjg3ODRdLCBbMTY2MzkyMjcxNC40OTczNzE3LCAyNTE4MiwgMS4xMjM3MTAwMzYyNzc3NzFdLCBbMTY2MzkyMjcxNC42NjU5MTc0LCAyNTIwMCwgMS4wOTAxNjgyMzc2ODYxNTcyXSwgWzE2NjM5MjI3MTUuMjc3OTI3NiwgMjUyNjMsIDEuMTIxMTQwNTk5MjUwNzkzNV0sIFsxNjYzOTIyNzE1LjgwMzI1NjUsIDI1MzE3LCAxLjEzNDYzNDM3NTU3MjIwNDZdLCBbMTY2MzkyMjcxNS44ODkwNTgsIDI1MzI2LCAxLjA4ODk4Njg3MzYyNjcwOV0sIFsxNjYzOTIyNzE2Ljg3NTgyOTIsIDI1NDI1LCAxLjI1MjYwNTA4MDYwNDU1MzJdLCBbMTY2MzkyMjcxNi45NjUzNzE2LCAyNTQzNCwgMS4yNjU2NTg0OTc4MTAzNjM4XSwgWzE2NjM5MjI3MTcuNDMzMTkzNCwgMjU0NzksIDEuMjAxNjE3NDc5MzI0MzQwOF0sIFsxNjYzOTIyNzE3Ljc5MDIyOSwgMjU1MTUsIDEuMTg3MjQ1NjA3Mzc2MDk4Nl0sIFsxNjYzOTIyNzE3Ljg3ODYzNzgsIDI1NTI0LCAxLjI4NDE4MzE0NDU2OTM5N11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep22_08-24-14_17ae77f8abe2&tag=Loss%2Fvalid":{"data":"W1sxNjYzODM1MDU3LjYzMTQxMTgsIDM2LCAxNS45NTc0NDAzNzYyODE3MzhdLCBbMTY2MzgzNTA1Ny43NzMyNTAzLCA0NSwgMTEuOTg5NTQyMDA3NDQ2Mjg5XSwgWzE2NjM4MzUwNTguNjM1MTg4MywgOTksIDUuNDQ1NTUxMzk1NDE2MjZdLCBbMTY2MzgzNTA1OS4xODA0MjA0LCAxMzUsIDUuMTY2MDk4MTE3ODI4MzY5XSwgWzE2NjM4MzUwNTkuMzE3MDY4MywgMTQ0LCA1LjY5NzE3Nzg4Njk2Mjg5MV0sIFsxNjYzODM1MDU5LjY5NTc1MTQsIDE3MSwgNS4zNDY4MzE3OTg1NTM0NjddLCBbMTY2MzgzNTA1OS44MDU3NjE4LCAxODAsIDQuODQxNjQ0NzYzOTQ2NTMzXSwgWzE2NjM4MzUwNTkuOTI1NjI1NiwgMTg5LCA0LjcxMzkzMjUxNDE5MDY3NF0sIFsxNjYzODM1MDYwLjE4MDY2NTUsIDIwNywgNS42NTQ0MTM3MDAxMDM3Nl0sIFsxNjYzODM1MDYwLjI5Mjg2NjIsIDIxNiwgNS42ODM4MjEyMDEzMjQ0NjNdLCBbMTY2MzgzNTA2MC42NzIzOTkzLCAyNDMsIDUuMjk2MDIzODQ1NjcyNjA3XSwgWzE2NjM4MzUwNjAuNzk5MjU2MywgMjUyLCA0LjQxNDkwMjIxMDIzNTU5Nl0sIFsxNjYzODM1MDYyLjEyMDU3NTIsIDM1MSwgMy42NzkyNTg4MjMzOTQ3NzU0XSwgWzE2NjM4MzUwNjIuMzM0OTM4OCwgMzY5LCA0LjUyNzg2NTg4NjY4ODIzMl0sIFsxNjYzODM1MDYzLjE2OTA5NywgNDMyLCA0LjE2NzY2NTQ4MTU2NzM4M10sIFsxNjYzODM1MDYzLjI3NDgzMSwgNDQxLCAzLjYxMzI4MzYzNDE4NTc5MV0sIFsxNjYzODM1MDYzLjM5NDgyMzMsIDQ1MCwgMy45MDk2NDkxMzM2ODIyNTFdLCBbMTY2MzgzNTA2My42MTk4MjUsIDQ2OCwgMy44NjEzODcwMTQzODkwMzhdLCBbMTY2MzgzNTA2My45Mzk3MjE4LCA0OTUsIDMuNzkyNTM0MzUxMzQ4ODc3XSwgWzE2NjM4MzUwNjQuMjQwNjE2NiwgNTIyLCAzLjU2NDk1MjM3MzUwNDYzODddLCBbMTY2MzgzNTA2NC41Mzg4MzY3LCA1NDksIDMuNDEwODEzMDkzMTg1NDI1XSwgWzE2NjM4MzUwNjQuNjM2MjYxNSwgNTU4LCAzLjY1NDg2ODYwMjc1MjY4NTVdLCBbMTY2MzgzNTA2NC43Mzc1NDQzLCA1NjcsIDMuNTM3NTY1NzA4MTYwNDAwNF0sIFsxNjYzODM1MDY0Ljg0MjYxMTYsIDU3NiwgMy4xOTg4OTA0NDc2MTY1NzddLCBbMTY2MzgzNTA2NS4wMjc5ODM0LCA1OTQsIDMuNDUzMTc2NzM2ODMxNjY1XSwgWzE2NjM4MzUwNjUuMTIzMTM1LCA2MDMsIDMuMDgxMDAzNjY1OTI0MDcyM10sIFsxNjYzODM1MDY1LjIyNzg1MDcsIDYxMiwgMy41NzEyNTc1OTEyNDc1NTg2XSwgWzE2NjM4MzUwNjUuMzI5ODk4NiwgNjIxLCAyLjg5NjcxMDg3MjY1MDE0NjVdLCBbMTY2MzgzNTA2NS41MTUxMzgxLCA2MzksIDMuMTg1NDAzMTA4NTk2ODAxOF0sIFsxNjYzODM1MDY1LjYwODg0LCA2NDgsIDIuODE1NTYyMDA5ODExNDAxNF0sIFsxNjYzODM1MDY2LjM2MjY5MTksIDcwMiwgMi45MTcwOTAxNzc1MzYwMTA3XSwgWzE2NjM4MzUwNjYuNjM2MDc4NCwgNzIwLCAzLjExMjgzMDE2MjA0ODM0XSwgWzE2NjM4MzUwNjcuMDEyNzcxMSwgNzQ3LCAyLjY0MTQxMzY4ODY1OTY2OF0sIFsxNjYzODM1MDY3LjMyNDQ1MDMsIDc3NCwgMy4xNzMyNzAyMjU1MjQ5MDIzXSwgWzE2NjM4MzUwNjcuODA0NTM2MywgODEwLCAyLjU3ODQ2MjM2MjI4OTQyODddLCBbMTY2MzgzNTA2OS4xNjA4MTk1LCA5MDAsIDIuNDgyNTEwNTY2NzExNDI2XSwgWzE2NjM4MzUwNjkuMjU2OTcwNiwgOTA5LCAyLjg2MzAyNTQyNjg2NDYyNF0sIFsxNjYzODM1MDY5LjU2ODEyOTUsIDkzNiwgMi4yMzM5MDEwMjM4NjQ3NDZdLCBbMTY2MzgzNTA2OS44OTc1NjI3LCA5NjMsIDIuMzM5OTA3NDA3NzYwNjJdLCBbMTY2MzgzNTA3MC4wMDYyMDEsIDk3MiwgMi4zNjg0NDk5MjYzNzYzNDI4XSwgWzE2NjM4MzUwNzAuMjMyMjM5MiwgOTkwLCAyLjAyMDExOTE5MDIxNjA2NDVdLCBbMTY2MzgzNTA3MC45ODUwNzc5LCAxMDUzLCAyLjM4MjE5ODgxMDU3NzM5MjZdLCBbMTY2MzgzNTA3MS41MjA5ODU2LCAxMDk4LCAyLjU1NjQzNzk2OTIwNzc2MzddLCBbMTY2MzgzNTA3MS45MDgwODgsIDExMzQsIDMuMTMxNjgwNDg4NTg2NDI2XSwgWzE2NjM4MzUwNzIuMDA3MzQxNCwgMTE0MywgMi40MzMxNDE3MDgzNzQwMjM0XSwgWzE2NjM4MzUwNzIuMjA4OTE0MywgMTE2MSwgMi40NjQwMTI2MjI4MzMyNTJdLCBbMTY2MzgzNTA3Mi40MTM4MDMsIDExNzksIDIuMTUwMjAxNzk3NDg1MzUxNl0sIFsxNjYzODM1MDcyLjUwMzk5NTQsIDExODgsIDEuOTg3NTU4NDg0MDc3NDUzNl0sIFsxNjYzODM1MDcyLjk4OTEzMDcsIDEyMzMsIDIuOTAwMTU0ODI5MDI1MjY4Nl0sIFsxNjYzODM1MDczLjA4MzYxNTgsIDEyNDIsIDEuOTk1Nzc0OTg0MzU5NzQxMl0sIFsxNjYzODM1MDczLjkwMDg2MjcsIDEzMDUsIDIuNTY4MDMwMzU3MzYwODRdLCBbMTY2MzgzNTA3NC4xNTYwMTQ0LCAxMzIzLCAyLjA0ODY5OTM3ODk2NzI4NV0sIFsxNjYzODM1MDc0LjI4MjA2MjMsIDEzMzIsIDIuMTI1Mjk4MjYxNjQyNDU2XSwgWzE2NjM4MzUwNzQuNjI5NjYzNywgMTM1OSwgMi41NTgxMjA3Mjc1MzkwNjI1XSwgWzE2NjM4MzUwNzUuNDM5NjY4NCwgMTQyMiwgMi4xMTExODcyMTk2MTk3NTFdLCBbMTY2MzgzNTA3NS43Njk0MjI1LCAxNDQ5LCAxLjk1NjA4MjU4MjQ3Mzc1NDldLCBbMTY2MzgzNTA3NS45NzA3MjcyLCAxNDY3LCAyLjA2Mjk0MzQ1ODU1NzEyOV0sIFsxNjYzODM1MDc2LjE4NjgwMiwgMTQ4NSwgMS44NTM5ODM4NzkwODkzNTU1XSwgWzE2NjM4MzUwNzYuODM0MzY1NiwgMTUzOSwgMi40OTEyOTAwOTI0NjgyNjE3XSwgWzE2NjM4MzUwNzYuOTcyODQ4MiwgMTU0OCwgMi41MzkyMjYyOTM1NjM4NDI4XSwgWzE2NjM4MzUwNzcuMTMxMzU4OSwgMTU1NywgMi4xNTA2ODI2ODc3NTkzOTk0XSwgWzE2NjM4MzUwNzcuNTExOTM5OCwgMTU4NCwgMS45ODIzNDQ1MDgxNzEwODE1XSwgWzE2NjM4MzUwNzguMDA2NzcyNSwgMTYwMiwgMS45NjA2MTgzNzY3MzE4NzI2XSwgWzE2NjM4MzUwNzguNTE0Mzc1MiwgMTYzOCwgMi40ODA5OTU0MTY2NDEyMzU0XSwgWzE2NjM4MzUwNzguODg2OTI1NSwgMTY2NSwgMi42Mjc2Nzc5MTc0ODA0Njg4XSwgWzE2NjM4MzUwNzkuMDE2NTEzOCwgMTY3NCwgMi4wNjUwMzI5NTg5ODQzNzVdLCBbMTY2MzgzNTA3OS4xMzIyMzU4LCAxNjgzLCAyLjQwNzk1OTkzODA0OTMxNjRdLCBbMTY2MzgzNTA3OS41NjkzMjMsIDE3MTksIDIuMDkwNDg4OTEwNjc1MDQ5XSwgWzE2NjM4MzUwNzkuNjg2ODc3NSwgMTcyOCwgMi4zNTY2NjE3OTY1Njk4MjRdLCBbMTY2MzgzNTA3OS43ODEwOTI2LCAxNzM3LCAxLjc5MDE0ODAxOTc5MDY0OTRdLCBbMTY2MzgzNTA4MC40NTAzNjkxLCAxODAwLCAxLjkwMzQ0OTg5Mjk5Nzc0MTddLCBbMTY2MzgzNTA4MC43NDgwODg4LCAxODI3LCAxLjk0MTI5MDI1OTM2MTI2N10sIFsxNjYzODM1MDgwLjg0ODQ5NzIsIDE4MzYsIDEuNzM2NjM3MjM0Njg3ODA1Ml0sIFsxNjYzODM1MDgxLjAwMDcwMDUsIDE4NDUsIDIuMjE3MjM2NTE4ODU5ODYzM10sIFsxNjYzODM1MDgxLjE0NTQ4MjMsIDE4NTQsIDIuMTI1NzQxNzIwMTk5NTg1XSwgWzE2NjM4MzUwODEuMzkzMTQ2LCAxODcyLCAxLjc2MTM2MzUwNjMxNzEzODddLCBbMTY2MzgzNTA4MS41NzE3NjcsIDE4OTAsIDEuODA2MDQwNjQ0NjQ1NjkxXSwgWzE2NjM4MzUwODEuNzYyMTM4NCwgMTkwOCwgMS45OTgzODk2MDE3MDc0NTg1XSwgWzE2NjM4MzUwODIuMDA3NjQ2NiwgMTkyNiwgMS45OTkyNTIwODA5MTczNTg0XSwgWzE2NjM4MzUwODIuMjczODU1MiwgMTk0NCwgMS43OTQyNzI3ODA0MTgzOTZdLCBbMTY2MzgzNTA4Mi4zOTY0Mzc0LCAxOTUzLCAxLjc2NzE2NzY4NzQxNjA3NjddLCBbMTY2MzgzNTA4Mi43NDkyNDY4LCAxOTgwLCAxLjY2Njc1NDAwNzMzOTQ3NzVdLCBbMTY2MzgzNTA4Mi44NzE2NTMzLCAxOTg5LCAyLjE1MzU4ODUzMzQwMTQ4OTNdLCBbMTY2MzgzNTA4Mi45ODk4Njk0LCAxOTk4LCAyLjEyMzkzNzEyOTk3NDM2NTJdLCBbMTY2MzgzNTA4My4zMzY2NDUsIDIwMjUsIDEuODY1NjQxOTUxNTYwOTc0MV0sIFsxNjYzODM1MDgzLjk0Mzc0MjMsIDIwNzAsIDEuNzk2NDkyMjE4OTcxMjUyNF0sIFsxNjYzODM1MDg1LjA5NTIyNTMsIDIxNjAsIDIuMTM2MzM4OTQ5MjAzNDkxXSwgWzE2NjM4MzUwODUuMjg2NDAwOCwgMjE3OCwgMS45MDg5MDgzNjcxNTY5ODI0XSwgWzE2NjM4MzUwODUuNTkzNTU4NSwgMjIwNSwgMS45MjgzMDUwMjk4NjkwNzk2XSwgWzE2NjM4MzUwODUuNjkzOTkzNiwgMjIxNCwgMi4wNjMzMzcwODc2MzEyMjU2XSwgWzE2NjM4MzUwODUuNzk1OTU4LCAyMjIzLCAxLjY0MjU4ODYxNTQxNzQ4MDVdLCBbMTY2MzgzNTA4Ni42Mzk1MjkyLCAyMjk1LCAxLjk3MTc1MTU3MDcwMTU5OTFdLCBbMTY2MzgzNTA4Ny4wMjk5MzA2LCAyMzMxLCAxLjgzNTU3MTg4NTEwODk0NzhdLCBbMTY2MzgzNTA4Ny4xODA5OTc4LCAyMzQwLCAxLjYxNjA0MTc3OTUxODEyNzRdLCBbMTY2MzgzNTA4Ny4zMTczNjI1LCAyMzQ5LCAxLjg3MzAzMTI1ODU4MzA2ODhdLCBbMTY2MzgzNTA4Ny43NjUwOTc2LCAyMzY3LCAxLjg1MTAwMTE0MzQ1NTUwNTRdLCBbMTY2MzgzNTA4OC41NjE1OTgsIDI0MzksIDEuOTAwNTU4MjMzMjYxMTA4NF0sIFsxNjYzODM1MDg4LjY1MjA2OTYsIDI0NDgsIDEuNzM2NzE2Mzg5NjU2MDY3XSwgWzE2NjM4MzUwODguOTUxNDc0MiwgMjQ3NSwgMS44NzM0NzI4MDk3OTE1NjVdLCBbMTY2MzgzNTA4OS4xNzM5NDg4LCAyNDkzLCAyLjA1MDUwMjc3NzA5OTYwOTRdLCBbMTY2MzgzNTA4OS4zNjU2ODUsIDI1MTEsIDEuODkzNzQ0MTExMDYxMDk2Ml0sIFsxNjYzODM1MDg5LjU2NDM0MTUsIDI1MjksIDEuOTA1NjkyODE1NzgwNjM5Nl0sIFsxNjYzODM1MDg5Ljc2NDY3MTYsIDI1NDcsIDEuNzg4OTUxNjM1MzYwNzE3OF0sIFsxNjYzODM1MDg5Ljg3Mjg3NywgMjU1NiwgMi42ODEzMDI3ODU4NzM0MTNdLCBbMTY2MzgzNTA5MC4wODA2MTg0LCAyNTc0LCAxLjc0NjEzNTk1MDA4ODUwMV0sIFsxNjYzODM1MDkwLjI4MzM1NDUsIDI1OTIsIDIuMTM3NTI0MTI3OTYwMjA1XSwgWzE2NjM4MzUwOTAuMzgyNDUyLCAyNjAxLCAyLjAzMDY4MTM3MTY4ODg0MjhdLCBbMTY2MzgzNTA5MC41ODc0NTU3LCAyNjE5LCAxLjY3NDI5NDExNDExMjg1NF0sIFsxNjYzODM1MDkxLjE1NzU1MSwgMjY2NCwgMS44NDQwOTA1ODA5NDAyNDY2XSwgWzE2NjM4MzUwOTEuMjYyNTkwMiwgMjY3MywgMS42NjY0NTM4MzgzNDgzODg3XSwgWzE2NjM4MzUwOTEuMzgyNzI0LCAyNjgyLCAxLjcyMjYwMjg0NDIzODI4MTJdLCBbMTY2MzgzNTA5MS40ODMyODc2LCAyNjkxLCAxLjc2MTc4MDAyMzU3NDgyOV0sIFsxNjYzODM1MDkyLjQ0NTQ1NywgMjc2MywgMS42NTg0NDcwMjcyMDY0MjFdLCBbMTY2MzgzNTA5Mi42OTE0MTcsIDI3ODEsIDEuNTA4MDEwNjI1ODM5MjMzNF0sIFsxNjYzODM1MDkzLjE4OTg5MiwgMjgxNywgMS44ODI2MjMwNzY0Mzg5MDM4XSwgWzE2NjM4MzUwOTMuNjExMDEyLCAyODUzLCAxLjY1ODY5MTI4NzA0MDcxMDRdLCBbMTY2MzgzNTA5My44NjM4NTI1LCAyODcxLCAxLjgwNjM5MzYyMzM1MjA1MDhdLCBbMTY2MzgzNTA5My45ODk5Mzg3LCAyODgwLCAxLjc5NDg3OTY3NDkxMTQ5OV0sIFsxNjYzODM1MDk0LjM1Nzg5OSwgMjkwNywgMi4wMzQ3Mjg3NjU0ODc2NzFdLCBbMTY2MzgzNTA5NS4wNzI5OTI4LCAyOTcwLCAxLjM4MDQ4MTM2MjM0MjgzNDVdLCBbMTY2MzgzNTA5NS4yNzgyMTEsIDI5ODgsIDIuMDYzNTg4NjE5MjMyMTc3N10sIFsxNjYzODM1MDk1LjM2NTA4MiwgMjk5NywgMS41MzQ3MTg5OTAzMjU5Mjc3XSwgWzE2NjM4MzUwOTYuMTE3MDIyMywgMzA0MiwgMS42NDYzNDA2MDg1OTY4MDE4XSwgWzE2NjM4MzUwOTYuMjE4Mjc4LCAzMDUxLCAxLjgyNzI0MzA4OTY3NTkwMzNdLCBbMTY2MzgzNTA5Ni40NzQ1OTQ4LCAzMDY5LCAxLjY3MDkzMDg2MjQyNjc1NzhdLCBbMTY2MzgzNTA5Ni43OTc4MDQ4LCAzMDk2LCAxLjQ4NTMzNzQ5NTgwMzgzM10sIFsxNjYzODM1MDk2Ljk5NTkwMiwgMzExNCwgMS44MTU1OTc2NTMzODg5NzddLCBbMTY2MzgzNTA5Ny4wODg4NTEyLCAzMTIzLCAxLjU4NjQ4ODM2NjEyNzAxNDJdLCBbMTY2MzgzNTA5Ny40NzIzOTY5LCAzMTU5LCAxLjQ5NDUxOTIzMzcwMzYxMzNdLCBbMTY2MzgzNTA5Ny42NjI2ODI4LCAzMTc3LCAyLjExODExOTk1NTA2Mjg2Nl0sIFsxNjYzODM1MDk3Ljg1MjMyOSwgMzE5NSwgMS42MzU3NDI5MDI3NTU3MzczXSwgWzE2NjM4MzUwOTguMjQ4MDk3LCAzMjMxLCAyLjIwMjEzMDc5NDUyNTE0NjVdLCBbMTY2MzgzNTA5OC42NDE2MzczLCAzMjY3LCAxLjU5MDM4MDY2ODY0MDEzNjddLCBbMTY2MzgzNTA5OC43Mzc3NDkzLCAzMjc2LCAxLjQ3NDI5NjkyNzQ1MjA4NzRdLCBbMTY2MzgzNTA5OC44Mjg2MDg1LCAzMjg1LCAxLjk1MTk4MjAyMTMzMTc4N10sIFsxNjYzODM1MDk4LjkyOTcxMjUsIDMyOTQsIDEuNTY0OTM5MDIyMDY0MjA5XSwgWzE2NjM4MzUwOTkuMDYzODIyMywgMzMwMywgMS43NTcxODI0Nzg5MDQ3MjQxXSwgWzE2NjM4MzUwOTkuMTkyNjI3LCAzMzEyLCAxLjkwNDU2MjU5MjUwNjQwODddLCBbMTY2MzgzNTEwMC4wNTM2ODgzLCAzMzc1LCAxLjYwNzgyOTgwOTE4ODg0MjhdLCBbMTY2MzgzNTEwMC40MDU4NzQ3LCAzNDAyLCAxLjUyMTM4NDgzNTI0MzIyNV0sIFsxNjYzODM1MTAwLjUxOTQwNTYsIDM0MTEsIDEuNjE0NDE3NjcyMTU3Mjg3Nl0sIFsxNjYzODM1MTAxLjQzMjMxMTgsIDM0ODMsIDEuNjM4NTA0NzQzNTc2MDQ5OF0sIFsxNjYzODM1MTAxLjc5ODYwMSwgMzUxOSwgMS44MjIyNTAzNjYyMTA5Mzc1XSwgWzE2NjM4MzUxMDEuOTA3MTAxNiwgMzUyOCwgMS44NTUxNjgzNDI1OTAzMzJdLCBbMTY2MzgzNTEwMS45OTQ4ODYyLCAzNTM3LCAxLjg5NzUxNjM2OTgxOTY0MTFdLCBbMTY2MzgzNTEwMi4yMDA0OTYyLCAzNTU1LCAxLjQyODAyMDQ3NzI5NDkyMTldLCBbMTY2MzgzNTEwMi40ODY2NDIxLCAzNTgyLCAxLjQ5ODE3MzM1NjA1NjIxMzRdLCBbMTY2MzgzNTEwMi45Nzc4NDY2LCAzNjI3LCAxLjQ4MjQ0MDgyOTI3NzAzODZdLCBbMTY2MzgzNTEwMy4yMDQ2NjYsIDM2NDUsIDEuNjk4MDkxOTgzNzk1MTY2XSwgWzE2NjM4MzUxMDMuODY1ODQ3NiwgMzY5MCwgMS42NTgwMzY0NzA0MTMyMDhdLCBbMTY2MzgzNTEwNC4zNDQ4NDYsIDM3MjYsIDEuODUyNjY2MjU4ODExOTUwN10sIFsxNjYzODM1MTA0LjQ2MzkzMjUsIDM3MzUsIDEuNDg0MzMzOTkyMDA0Mzk0NV0sIFsxNjYzODM1MTA0LjU3NTA1OTIsIDM3NDQsIDEuMjkzMjg1MzY5ODczMDQ2OV0sIFsxNjYzODM1MTA1LjE1NTg5NiwgMzc3MSwgMS45NzgzMzQzMDc2NzA1OTMzXSwgWzE2NjM4MzUxMDUuNDY0MjYyNSwgMzc5OCwgMS45MTEyMzE4NzU0MTk2MTY3XSwgWzE2NjM4MzUxMDUuNTY2NzQyMiwgMzgwNywgMS40NzQ1OTk5NTc0NjYxMjU1XSwgWzE2NjM4MzUxMDUuODkzNjg2MywgMzgzNCwgMi4xMDU0NjA0MDUzNDk3MzE0XSwgWzE2NjM4MzUxMDUuOTkwMDc5MiwgMzg0MywgMS42MTczMTgzOTE3OTk5MjY4XSwgWzE2NjM4MzUxMDYuMzg3NDE3LCAzODc5LCAxLjY5MTMxNDMzOTYzNzc1NjNdLCBbMTY2MzgzNTEwNi45MTAwMDUsIDM5MjQsIDEuNDQ3NDc0NTk4ODg0NTgyNV0sIFsxNjYzODM1MTA3LjAxOTk3NTIsIDM5MzMsIDEuNjU2NjQ0NDYzNTM5MTIzNV0sIFsxNjYzODM1MTA3LjE2ODY5MTYsIDM5NDIsIDEuNzA3Nzk1NzM5MTczODg5Ml0sIFsxNjYzODM1MTA3LjQyOTI1MzYsIDM5NjAsIDEuNjA2MTcxMzY5NTUyNjEyM10sIFsxNjYzODM1MTA3LjU4OTA5NjgsIDM5NjksIDEuNTAwMzY3OTk5MDc2ODQzM10sIFsxNjYzODM1MTA3LjcxNzk5NDcsIDM5NzgsIDEuNTg0ODc2NTM3MzIyOTk4XSwgWzE2NjM4MzUxMDcuOTQyMzQ1NCwgMzk5NiwgMS4zNTcwNTM1MTgyOTUyODhdLCBbMTY2MzgzNTEwOC4wNzk1OTcyLCA0MDA1LCAxLjU2Njg1NjYyMjY5NTkyMjldLCBbMTY2MzgzNTEwOC4yNzA0ODM1LCA0MDIzLCAxLjM2NDI0NTE3NjMxNTMwNzZdLCBbMTY2MzgzNTEwOC43NDkyNTI2LCA0MDU5LCAxLjQwNTA5NTU3NzIzOTk5MDJdLCBbMTY2MzgzNTEwOS4wMDEyMTQsIDQwNzcsIDEuMzI2NzU5OTM0NDI1MzU0XSwgWzE2NjM4MzUxMDkuMTE0MzQsIDQwODYsIDEuNzQzOTMyODQzMjA4MzEzXSwgWzE2NjM4MzUxMDkuMjMyNTk2MiwgNDA5NSwgMS41MTc5OTk4ODc0NjY0MzA3XSwgWzE2NjM4MzUxMDkuNDY2MTIzOCwgNDExMywgMS4zMDI4Nzg3Mzc0NDk2NDZdLCBbMTY2MzgzNTEwOS45NTA3NjY4LCA0MTQ5LCAxLjQwODc2ODQxNTQ1MTA0OThdLCBbMTY2MzgzNTExMC4wNjYxNjk1LCA0MTU4LCAxLjMzMzA1MDEzMTc5Nzc5MDVdLCBbMTY2MzgzNTExMC40OTUyNTMsIDQxOTQsIDEuMTkxNjE5NzUzODM3NTg1NF0sIFsxNjYzODM1MTEwLjYzOTQ4NCwgNDIwMywgMS4zOTMzMjY3NTkzMzgzNzldLCBbMTY2MzgzNTExMC44NjYwODE3LCA0MjIxLCAxLjMwMDc5MzI5MDEzODI0NDZdLCBbMTY2MzgzNTExMS4xMTg1MTQsIDQyMzksIDEuODY3Nzc4Nzc4MDc2MTcxOV0sIFsxNjYzODM1MTExLjQ5OTk1NCwgNDI3NSwgMS4zMzYyMTYyMTEzMTg5Njk3XSwgWzE2NjM4MzUxMTEuNTkyMDA0NSwgNDI4NCwgMS41MjExNjIyNzE0OTk2MzM4XSwgWzE2NjM4MzUxMTEuOTU4ODcxLCA0MzExLCAxLjY3NzQzNTE1OTY4MzIyNzVdLCBbMTY2MzgzNTExMi4yMzMxMzMsIDQzMjksIDEuNzUxMTkxMjU4NDMwNDgxXSwgWzE2NjM4MzUxMTIuMzM3NTcxNiwgNDMzOCwgMS40MDkyNzExMjEwMjUwODU0XSwgWzE2NjM4MzUxMTIuNTU0NDk1OCwgNDM1NiwgMS42ODU0NzIyNDk5ODQ3NDEyXSwgWzE2NjM4MzUxMTIuNjU0OTc5MiwgNDM2NSwgMS4zMDU1NDUwOTE2MjkwMjgzXSwgWzE2NjM4MzUxMTIuOTY4MTUyMywgNDM5MiwgMS4zOTA0NTgzNDU0MTMyMDhdLCBbMTY2MzgzNTExMy4wNjM1MzMzLCA0NDAxLCAxLjY2Njk4NjgyMzA4MTk3MDJdLCBbMTY2MzgzNTExMy4xNjE0MjEsIDQ0MTAsIDEuNDkzNzMyOTI5MjI5NzM2M10sIFsxNjYzODM1MTEzLjM0NTA1NzUsIDQ0MjgsIDEuMjIzOTg3MzQwOTI3MTI0XSwgWzE2NjM4MzUxMTMuNjM0NTUxOCwgNDQ1NSwgMS4zMjU3MDY2MDExNDI4ODMzXSwgWzE2NjM4MzUxMTQuMDQ3Mjg2MywgNDQ5MSwgMS41NjgyODQ1MTE1NjYxNjJdLCBbMTY2MzgzNTExNC41MzkwOTIsIDQ1MjcsIDEuNjkxMzc3NjM5NzcwNTA3OF0sIFsxNjYzODM1MTE0LjgyODYzNjQsIDQ1MzYsIDEuMjc2OTc2ODIzODA2NzYyN10sIFsxNjYzODM1MTE1LjEyMzkxMTQsIDQ1NjMsIDEuNDQ1MTkwMTkxMjY4OTIxXSwgWzE2NjM4MzUxMTUuMzk3NjA3MywgNDU5MCwgMS4zODAzNTIxMzk0NzI5NjE0XSwgWzE2NjM4MzUxMTUuNDg2MTU3NCwgNDU5OSwgMS41MDMwMzg3NjM5OTk5MzldLCBbMTY2MzgzNTExNS41NzcwNCwgNDYwOCwgMS4yNjI5NzIzNTQ4ODg5MTZdLCBbMTY2MzgzNTExNS42NzU2MTgsIDQ2MTcsIDEuNzUxMzIxMzE1NzY1MzgwOV0sIFsxNjYzODM1MTE1Ljc2ODU1NCwgNDYyNiwgMS4zMzM5Njg5OTcwMDE2NDhdLCBbMTY2MzgzNTExNS44NTc1NDYsIDQ2MzUsIDEuMzE5Njg4MDgxNzQxMzMzXSwgWzE2NjM4MzUxMTYuMTQ0NjM2OSwgNDY2MiwgMS40MjkxMzQ4NDU3MzM2NDI2XSwgWzE2NjM4MzUxMTYuMjUyMzA0OCwgNDY3MSwgMS41ODk0NzQ0Mzk2MjA5NzE3XSwgWzE2NjM4MzUxMTYuMzQ1MjA1OCwgNDY4MCwgMS40NjQzNTQ4NzI3MDM1NTIyXSwgWzE2NjM4MzUxMTYuNDM2NjUzOSwgNDY4OSwgMS40NTE5OTg5NDkwNTA5MDMzXSwgWzE2NjM4MzUxMTYuNzE2MjQ3MywgNDcxNiwgMS40NjUyNzgzODcwNjk3MDIxXSwgWzE2NjM4MzUxMTcuMzg3ODQ1LCA0Nzc5LCAxLjM2ODUzODQ5ODg3ODQ3OV0sIFsxNjYzODM1MTE3LjY4OTEyMTcsIDQ4MDYsIDEuMjMwODEzNjIyNDc0NjcwNF0sIFsxNjYzODM1MTE3Ljc5NDA2NDUsIDQ4MTUsIDEuMzc4MzE3MjM2OTAwMzI5Nl0sIFsxNjYzODM1MTE4LjA2MzE3MzUsIDQ4MzMsIDEuNzE2MDc2NjEyNDcyNTM0Ml0sIFsxNjYzODM1MTE4LjE1NTU3MSwgNDg0MiwgMS44MzA2MTA3NTIxMDU3MTNdLCBbMTY2MzgzNTExOC4yNTI0NTUyLCA0ODUxLCAxLjE3NTYyODA2NjA2MjkyNzJdLCBbMTY2MzgzNTExOC40NDM4NTc0LCA0ODY5LCAxLjMxODU0NzYwNjQ2ODIwMDddLCBbMTY2MzgzNTExOC42MjcwNDU5LCA0ODg3LCAxLjI4NDYzMzYzNjQ3NDYwOTRdLCBbMTY2MzgzNTExOC44MTI2OTgsIDQ5MDUsIDEuMzUwNjgyNzM1NDQzMTE1Ml0sIFsxNjYzODM1MTE5LjAwNzE4NDMsIDQ5MjMsIDEuNjI0MjQwMjc5MTk3NjkyOV0sIFsxNjYzODM1MTE5LjA5ODg2NDgsIDQ5MzIsIDEuMzQ1MDA5MDg4NTE2MjM1NF0sIFsxNjYzODM1MTE5LjQwNzQyNTYsIDQ5NTksIDEuMjM3MTgxNDI1MDk0NjA0NV0sIFsxNjYzODM1MTE5LjU5MjE2NzksIDQ5NzcsIDEuNTU3NjIzOTgyNDI5NTA0NF0sIFsxNjYzODM1MTE5Ljg2MjY0NzMsIDUwMDQsIDEuMzg1NTQ0NDE5Mjg4NjM1M10sIFsxNjYzODM1MTE5Ljk2ODY0NzcsIDUwMTMsIDEuMjAzNjQxNjUzMDYwOTEzXSwgWzE2NjM4MzUxMjAuNzczNzAzNiwgNTA2NywgMS40MDYxODcyOTU5MTM2OTYzXSwgWzE2NjM4MzUxMjAuODkwMDIzNywgNTA3NiwgMS4yMjEwMjY2NTkwMTE4NDA4XSwgWzE2NjM4MzUxMjEuMDE0MjcxNywgNTA4NSwgMS4yODI0NDMxNjU3NzkxMTM4XSwgWzE2NjM4MzUxMjEuNDk3MDU3NywgNTEyMSwgMS4zMDQzNzE0NzYxNzM0MDA5XSwgWzE2NjM4MzUxMjEuODM4NTM0NiwgNTE0OCwgMS4yNDU0ODAwNjA1NzczOTI2XSwgWzE2NjM4MzUxMjIuMDY5MDk0NCwgNTE2NiwgMS4yMzU1Mzg4NDAyOTM4ODQzXSwgWzE2NjM4MzUxMjIuNDE4MzY5OCwgNTE5MywgMS44MjU4NzAzOTQ3MDY3MjZdLCBbMTY2MzgzNTEyMi44MzIzNDM4LCA1MjI5LCAxLjQ5ODk5MzYzNTE3NzYxMjNdLCBbMTY2MzgzNTEyMy40MjUzNzQsIDUyNjUsIDEuMzYzMjc2MzYyNDE5MTI4NF0sIFsxNjYzODM1MTIzLjUxMzMxNSwgNTI3NCwgMS40MDg2MzI1MTY4NjA5NjJdLCBbMTY2MzgzNTEyMy42MjU3MTAyLCA1MjgzLCAxLjM4MDA5NDg4NTgyNjExMDhdLCBbMTY2MzgzNTEyMy44MDc2ODQyLCA1MzAxLCAxLjI0MDE4MjI4MDU0MDQ2NjNdLCBbMTY2MzgzNTEyMy45OTk2MDUsIDUzMTksIDEuMzI4ODc3MjEwNjE3MDY1NF0sIFsxNjYzODM1MTI0LjA5MTU5MiwgNTMyOCwgMS4xMjE3NDc0OTM3NDM4OTY1XSwgWzE2NjM4MzUxMjQuMjE3MzgzLCA1MzM3LCAxLjIyMzU0MTYxNzM5MzQ5MzddLCBbMTY2MzgzNTEyNC40MDk1OTQ1LCA1MzU1LCAxLjIzOTEzODg0MTYyOTAyODNdLCBbMTY2MzgzNTEyNC42NzA2NjU1LCA1MzczLCAxLjM3MDc0MzYzMjMxNjU4OTRdLCBbMTY2MzgzNTEyNC45MTY1ODY2LCA1MzkxLCAxLjE3OTY3NDI2Nzc2ODg1OTldLCBbMTY2MzgzNTEyNS4wMjEyOTk0LCA1NDAwLCAxLjM1NjAxMDkxMzg0ODg3N10sIFsxNjYzODM1MTI1LjMxNTE5NzcsIDU0MjcsIDEuNjAwMzgyMjA4ODI0MTU3N10sIFsxNjYzODM1MTI1LjQxNzk3NzMsIDU0MzYsIDEuMzQ2MTIyNTAzMjgwNjM5Nl0sIFsxNjYzODM1MTI1Ljk0MDgyNjIsIDU0ODEsIDEuMTc1MTU5NTczNTU0OTkyN10sIFsxNjYzODM1MTI2LjEzNTU3NzIsIDU0OTksIDEuMjI1OTIyNzAzNzQyOTgxXSwgWzE2NjM4MzUxMjYuNDQzODk5NCwgNTUyNiwgMS4zMTI1NDY2MTA4MzIyMTQ0XSwgWzE2NjM4MzUxMjYuNTM0MTk0NywgNTUzNSwgMS4xOTIwMDIyOTY0NDc3NTRdLCBbMTY2MzgzNTEyNi43NTkzMDU3LCA1NTUzLCAxLjE1MDM0MjcwMjg2NTYwMDZdLCBbMTY2MzgzNTEyNi45NDYzMDE1LCA1NTcxLCAxLjU1NDM5MjkzMzg0NTUyXSwgWzE2NjM4MzUxMjcuMTM2ODYyNSwgNTU4OSwgMS40MjYwMDQ1Mjg5OTkzMjg2XSwgWzE2NjM4MzUxMjcuMzM4NTY3NSwgNTYwNywgMS4yNTkyMjkzMDI0MDYzMTFdLCBbMTY2MzgzNTEyNy40MzcxOTU4LCA1NjE2LCAxLjM2MzE3NzY1NzEyNzM4MDRdLCBbMTY2MzgzNTEyNy43MjQ4NTg4LCA1NjQzLCAxLjIzMzQ5MjM3NDQyMDE2Nl0sIFsxNjYzODM1MTI3LjkzNTA2OTgsIDU2NjEsIDEuMzMxMTQ4Mzg2MDAxNTg3XSwgWzE2NjM4MzUxMjguMDMxMDg1NSwgNTY3MCwgMS4yMzU1OTE1MzA3OTk4NjU3XSwgWzE2NjM4MzUxMjguMzk3ODEsIDU3MDYsIDEuMjExODQyMjk4NTA3NjkwNF0sIFsxNjYzODM1MTI4Ljc4MTgzMzYsIDU3NDIsIDEuMzM0NDYzMzU3OTI1NDE1XSwgWzE2NjM4MzUxMjkuMDgxNzM1NiwgNTc2OSwgMS4zNDQzMzIwOTg5NjA4NzY1XSwgWzE2NjM4MzUxMjkuMTc4NjQ0NywgNTc3OCwgMS40NjA5MzExODE5MDc2NTM4XSwgWzE2NjM4MzUxMjkuMjY0NzM5LCA1Nzg3LCAxLjE1MjMwMzkzNDA5NzI5XSwgWzE2NjM4MzUxMjkuMzU3OTYxNywgNTc5NiwgMS4zNDU4MjQ3MTg0NzUzNDE4XSwgWzE2NjM4MzUxMjkuNDU2MDM2NiwgNTgwNSwgMS43MTEzMTg3MzEzMDc5ODM0XSwgWzE2NjM4MzUxMjkuOTM4NzY1MywgNTg1MCwgMS4yMDM2MjgwNjMyMDE5MDQzXSwgWzE2NjM4MzUxMzAuMTM1NDE2NywgNTg2OCwgMS4xNzcyNDgwMDEwOTg2MzI4XSwgWzE2NjM4MzUxMzAuMjM5MTc1OCwgNTg3NywgMS43MzQ5MDI2MjAzMTU1NTE4XSwgWzE2NjM4MzUxMzAuNDIwNzMzNSwgNTg5NSwgMS4yMjUzMzIxNDA5MjI1NDY0XSwgWzE2NjM4MzUxMzAuNTA1OTg5NiwgNTkwNCwgMS4xNTcxOTY3NjAxNzc2MTIzXSwgWzE2NjM4MzUxMzEuMDE2NTQ3NCwgNTkzMSwgMS4xODQ1OTI3MjM4NDY0MzU1XSwgWzE2NjM4MzUxMzEuMjEyMDM3OCwgNTk0OSwgMS4zMDIxMDY3MzgwOTA1MTUxXSwgWzE2NjM4MzUxMzIuMDI0MTEzNywgNjAxMiwgMS4yNTM0NjUyOTQ4Mzc5NTE3XSwgWzE2NjM4MzUxMzIuNDQ0NjIyNSwgNjAzOSwgMS4yNjM2NzA2ODI5MDcxMDQ1XSwgWzE2NjM4MzUxMzMuMDQ3ODI1OCwgNjA4NCwgMS41MjIzODg2OTY2NzA1MzIyXSwgWzE2NjM4MzUxMzMuMTQ3MDUyNSwgNjA5MywgMS4yNzgyODM1OTYwMzg4MTg0XSwgWzE2NjM4MzUxMzMuMjM5NTQzNCwgNjEwMiwgMS40NDE0ODQyMTI4NzUzNjYyXSwgWzE2NjM4MzUxMzMuNTMyMTk5MSwgNjEyOSwgMS4yODU1NzU4NjY2OTkyMTg4XSwgWzE2NjM4MzUxMzMuNzE3MzUyLCA2MTQ3LCAxLjM2MDg3NzE1NjI1NzYyOTRdLCBbMTY2MzgzNTEzMy44MDY1MzI2LCA2MTU2LCAxLjM3MDIyMjU2ODUxMTk2M10sIFsxNjYzODM1MTMzLjkwNDMzODgsIDYxNjUsIDEuMjAwMzQ2NzA4Mjk3NzI5NV0sIFsxNjYzODM1MTM0LjE4NDYzNjYsIDYxOTIsIDEuMzA0NzM5MTE3NjIyMzc1NV0sIFsxNjYzODM1MTM0LjY5Mzk0MiwgNjIzNywgMS40MTI1NjA1ODIxNjA5NDk3XSwgWzE2NjM4MzUxMzQuODgxMzQ5MywgNjI1NSwgMS4yMjExMjkwNTk3OTE1NjVdLCBbMTY2MzgzNTEzNS4wNzkyMTEyLCA2MjczLCAxLjExMDg4OTQzNDgxNDQ1MzFdLCBbMTY2MzgzNTEzNS4xNzQ2NDc4LCA2MjgyLCAxLjY3OTUxNTQ4MDk5NTE3ODJdLCBbMTY2MzgzNTEzNS4zNzk2NDY4LCA2MzAwLCAxLjE0ODk3ODExNDEyODExMjhdLCBbMTY2MzgzNTEzNS42NjUxNzk1LCA2MzI3LCAyLjAwMjM3NDQxMDYyOTI3MjVdLCBbMTY2MzgzNTEzNS43NTc4ODgsIDYzMzYsIDEuMTk0OTg4NjA4MzYwMjkwNV0sIFsxNjYzODM1MTM1Ljk1MTUyMjQsIDYzNTQsIDEuMjU3NzM1MzcxNTg5NjYwNl0sIFsxNjYzODM1MTM2LjUxNjMwODUsIDYzOTAsIDEuMDkwMzM3Mzk1NjY4MDI5OF0sIFsxNjYzODM1MTM2LjY2OTEwNSwgNjM5OSwgMS4xNDY2OTIwMzc1ODIzOTc1XSwgWzE2NjM4MzUxMzYuOTMwMjY0NSwgNjQxNywgMS4yMDY0NjE5MDY0MzMxMDU1XSwgWzE2NjM4MzUxMzcuMjkxMTc4MiwgNjQ0NCwgMS4yNDEyOTEwNDYxNDI1NzgxXSwgWzE2NjM4MzUxMzcuNTMwMTc0NywgNjQ2MiwgMS4yMjMwNzQxOTc3NjkxNjVdLCBbMTY2MzgzNTEzNy44ODEwNDcyLCA2NDg5LCAxLjE4MjcwNjQ3NTI1Nzg3MzVdLCBbMTY2MzgzNTEzOC4wMTA2NjA0LCA2NDk4LCAxLjM2Njc0MzU2NDYwNTcxM10sIFsxNjYzODM1MTM4LjI0NDk1MTIsIDY1MTYsIDEuMDgzOTU3MDc2MDcyNjkyOV0sIFsxNjYzODM1MTM4LjQ0NTMxNTQsIDY1MzQsIDEuMTQzMTgxMzI0MDA1MTI3XSwgWzE2NjM4MzUxMzguNTY4MzY5OSwgNjU0MywgMS4xMTcwNjM3NjA3NTc0NDYzXSwgWzE2NjM4MzUxMzguODAyMjg2MSwgNjU2MSwgMS4yMDMxNTkzMzIyNzUzOTA2XSwgWzE2NjM4MzUxMzguOTAyOTA1NywgNjU3MCwgMS41Mjg2MjAxMjM4NjMyMjAyXSwgWzE2NjM4MzUxMzkuMTI0NDk4NCwgNjU4OCwgMS4wODcwNDM0MDQ1NzkxNjI2XSwgWzE2NjM4MzUxMzkuMjIyMDYyLCA2NTk3LCAxLjI0ODUxNDUzMzA0MjkwNzddLCBbMTY2MzgzNTEzOS4zMDk4MzExLCA2NjA2LCAxLjM2MTUzMjMzMDUxMzAwMDVdLCBbMTY2MzgzNTE0MC4wMTQzNzgzLCA2NjUxLCAxLjI4MTA0ODg5MzkyODUyNzhdLCBbMTY2MzgzNTE0MC40OTMwNDQsIDY2ODcsIDEuMTM4NTYyNjc5MjkwNzcxNV0sIFsxNjYzODM1MTQwLjYyMTYzOTUsIDY2OTYsIDEuMDkzNTk3MDU0NDgxNTA2M10sIFsxNjYzODM1MTQwLjczNjcwNDgsIDY3MDUsIDEuMDQ0MTEyMzI0NzE0NjYwNl0sIFsxNjYzODM1MTQxLjk4NjQ4NSwgNjgxMywgMS4zMDcwOTcxOTY1Nzg5Nzk1XSwgWzE2NjM4MzUxNDIuMjQzMDUxLCA2ODMxLCAxLjM1Nzk5Njk0MDYxMjc5M10sIFsxNjYzODM1MTQyLjg0NzA4MjksIDY4ODUsIDEuMDU5MjI0MzY3MTQxNzIzNl0sIFsxNjYzODM1MTQyLjk1NTI2NzcsIDY4OTQsIDEuMTc1NDg5MDY4MDMxMzExXSwgWzE2NjM4MzUxNDMuMzI3MTY3LCA2OTIxLCAxLjMzNTA3MzU5MDI3ODYyNTVdLCBbMTY2MzgzNTE0My40NjY2ODE3LCA2OTMwLCAxLjI0MTA2NDA3MTY1NTI3MzRdLCBbMTY2MzgzNTE0My44NTIzNjM2LCA2OTU3LCAxLjM0NzA1ODQxNTQxMjkwMjhdLCBbMTY2MzgzNTE0NC4yMDA2MjU0LCA2OTg0LCAxLjg3NzE5NjA3MzUzMjEwNDVdLCBbMTY2MzgzNTE0NC4yOTE2MDI4LCA2OTkzLCAxLjQzMzAyMzY5MTE3NzM2ODJdLCBbMTY2MzgzNTE0NC40NzM4Nzg5LCA3MDExLCAxLjM0MDY5MDczMjAwMjI1ODNdLCBbMTY2MzgzNTE0NC41NzUzNzIsIDcwMjAsIDEuNDAwNzY5OTQ4OTU5MzUwNl0sIFsxNjYzODM1MTQ0LjY3MjA5NjcsIDcwMjksIDEuMjEwOTQyMjY4MzcxNTgyXSwgWzE2NjM4MzUxNDQuNzYzMzg4MiwgNzAzOCwgMS4wNjQ3MTY0NTgzMjA2MTc3XSwgWzE2NjM4MzUxNDQuODU3NjIxMiwgNzA0NywgMS4xODk4NTUwOTg3MjQzNjUyXSwgWzE2NjM4MzUxNDUuNDI0NTU3LCA3MTAxLCAxLjI2MzM3MDM5NDcwNjcyNl0sIFsxNjYzODM1MTQ1LjcwOTA3MjYsIDcxMjgsIDEuMTgwNjI0ODQyNjQzNzM3OF0sIFsxNjYzODM1MTQ3LjIwMjgxNzcsIDcyNDUsIDEuMDU3NDc5MDIzOTMzNDEwNl0sIFsxNjYzODM1MTQ3LjM1MzMyMzUsIDcyNTQsIDEuMDgzMzIzNzE3MTE3MzA5Nl0sIFsxNjYzODM1MTQ3LjQ0Njg3NywgNzI2MywgMS4yNzQ5NTIxNzMyMzMwMzIyXSwgWzE2NjM4MzUxNDcuNTQ1NTUxMywgNzI3MiwgMS4zNzI4MTIzOTAzMjc0NTM2XSwgWzE2NjM4MzUxNDcuODUyODA0NywgNzI5OSwgMS40MzUxMjU3MDg1ODAwMTddLCBbMTY2MzgzNTE0OC43OTkzOTcyLCA3MzcxLCAxLjE2MTY2MzUzMjI1NzA4XSwgWzE2NjM4MzUxNDguOTM3OTI4MiwgNzM4MCwgMS4wMDM0NTY1OTI1NTk4MTQ1XSwgWzE2NjM4MzUxNTAuMDg4NDg1NywgNzQ1MiwgMS4xNzExOTQ1NTMzNzUyNDQxXSwgWzE2NjM4MzUxNTAuMTkzNDcxMiwgNzQ2MSwgMS4xNjE0ODI1NzI1NTU1NDJdLCBbMTY2MzgzNTE1MC42MjU3Njc3LCA3NDk3LCAxLjA4MDkwMjY5NTY1NTgyMjhdLCBbMTY2MzgzNTE1MC43NDQ5NDg0LCA3NTA2LCAxLjAwNzE3NjM5OTIzMDk1N10sIFsxNjYzODM1MTUxLjAyODU1MSwgNzUyNCwgMS4xODE1NjgwMjY1NDI2NjM2XSwgWzE2NjM4MzUxNTEuMTQ4NzA3OSwgNzUzMywgMS40MTg4NzQyNjM3NjM0Mjc3XSwgWzE2NjM4MzUxNTEuMjcxODkyMywgNzU0MiwgMS40MjQ4ODk1NjQ1MTQxNjAyXSwgWzE2NjM4MzUxNTEuNTEwMjI0MywgNzU2MCwgMC45OTQ2MjAwODQ3NjI1NzMyXSwgWzE2NjM4MzUxNTEuNjA4ODAwNiwgNzU2OSwgMS4yNzc5NzkxMzU1MTMzMDU3XSwgWzE2NjM4MzUxNTEuOTAyNjY4NSwgNzU5NiwgMS41MjgwMzUwNDQ2NzAxMDVdLCBbMTY2MzgzNTE1Mi4xMDUwMTM2LCA3NjE0LCAxLjIxMjE4NzY0NzgxOTUxOV0sIFsxNjYzODM1MTUyLjU5NjIxMjYsIDc2NTksIDEuMjYxNzYxMDY5Mjk3NzkwNV0sIFsxNjYzODM1MTUyLjY5MTk0MTcsIDc2NjgsIDEuNjg2MTgzMDk0OTc4MzMyNV0sIFsxNjYzODM1MTUyLjk4MjQ0MDUsIDc2OTUsIDEuMzk3NzMxNjYxNzk2NTY5OF0sIFsxNjYzODM1MTUzLjI3MDQyMjIsIDc3MjIsIDEuMTkyNzA3MDYxNzY3NTc4MV0sIFsxNjYzODM1MTUzLjU2NzMxNDQsIDc3NDksIDEuNDAwMjA2NDQ2NjQ3NjQ0XSwgWzE2NjM4MzUxNTMuODMxNTg2LCA3NzY3LCAxLjUxNDgxMzU0MjM2NjAyNzhdLCBbMTY2MzgzNTE1NC4yNDI1NDIsIDc3OTQsIDEuMTk3MDYyMTM0NzQyNzM2OF0sIFsxNjYzODM1MTU0LjMzODUyOTgsIDc4MDMsIDEuMjcwOTU1MjA0OTYzNjg0XSwgWzE2NjM4MzUxNTQuNzMxNDY3NSwgNzgzOSwgMS4zMzIxNDcwMDIyMjAxNTM4XSwgWzE2NjM4MzUxNTQuODE4NTYwNiwgNzg0OCwgMS4wNjY4ODE0MTgyMjgxNDk0XSwgWzE2NjM4MzUxNTYuMDU0NzMxNCwgNzk2NSwgMS4xNjUzMTcwNTg1NjMyMzI0XSwgWzE2NjM4MzUxNTYuMTQ5MTc2MSwgNzk3NCwgMS4xNjk3MzEwMjA5Mjc0MjkyXSwgWzE2NjM4MzUxNTYuMjQ1Nzk0NSwgNzk4MywgMS40MDE4NjUyNDM5MTE3NDMyXSwgWzE2NjM4MzUxNTYuNjEzMDcwMiwgODAxOSwgMS43ODAwMTY3Nzk4OTk1OTcyXSwgWzE2NjM4MzUxNTYuODE2NTYxLCA4MDM3LCAxLjIzNDgwOTYzNzA2OTcwMjFdLCBbMTY2MzgzNTE1Ny4xMDE4ODg3LCA4MDY0LCAxLjk0MDQ2ODU0OTcyODM5MzZdLCBbMTY2MzgzNTE1Ny4yOTAzNjM4LCA4MDgyLCAxLjYzMDg4NDc2NjU3ODY3NDNdLCBbMTY2MzgzNTE1Ny4zNzk3OTQxLCA4MDkxLCAxLjM3MzYwMjE1MTg3MDcyNzVdLCBbMTY2MzgzNTE1Ny44Njg2MzI4LCA4MTE4LCAxLjI0NTIxMTM2MjgzODc0NTFdLCBbMTY2MzgzNTE1Ny45NzM1NjEzLCA4MTI3LCAxLjEwOTIxODk1NTAzOTk3OF0sIFsxNjYzODM1MTU4LjQ0Njg2ODQsIDgxNzIsIDEuMDk2NTk2MTIxNzg4MDI1XSwgWzE2NjM4MzUxNTguNTQ1OTQ5MiwgODE4MSwgMS4xMjAyOTAwNDA5Njk4NDg2XSwgWzE2NjM4MzUxNTguNzQ5MjUwNywgODE5OSwgMS4yMzYyMDA5Mjg2ODgwNDkzXSwgWzE2NjM4MzUxNTguODQ1OTYxNiwgODIwOCwgMS4xOTQxODI2MzQzNTM2Mzc3XSwgWzE2NjM4MzUxNTkuMTM0NTkwNCwgODIzNSwgMS4xOTEzMDgyNTk5NjM5ODkzXSwgWzE2NjM4MzUxNTkuNTE3NDgyMywgODI3MSwgMS4wODQ2OTU4MTYwNDAwMzldLCBbMTY2MzgzNTE1OS42MTA3MTUsIDgyODAsIDEuMDczOTczNTM2NDkxMzk0XSwgWzE2NjM4MzUxNTkuODE4NTA4NiwgODI5OCwgMS4yMDc0NTY0Njk1MzU4Mjc2XSwgWzE2NjM4MzUxNjAuMDE5NDAwNiwgODMxNiwgMS4zOTY1ODcwMTQxOTgzMDMyXSwgWzE2NjM4MzUxNjAuNTA0NTE2OCwgODM2MSwgMS4wMjQwNTg5MzgwMjY0MjgyXSwgWzE2NjM4MzUxNjAuNzI1MzI1LCA4Mzc5LCAxLjE2MTY0NDY5NzE4OTMzMV0sIFsxNjYzODM1MTYwLjg2MDEyMDgsIDgzODgsIDEuMTY5MTI2NzQ5MDM4Njk2M10sIFsxNjYzODM1MTYwLjk5MDM3MjIsIDgzOTcsIDEuMzUyOTcxMDc2OTY1MzMyXSwgWzE2NjM4MzUxNjEuMzc2NzQyNCwgODQyNCwgMS4xNzcxNDUxMjM0ODE3NTA1XSwgWzE2NjM4MzUxNjEuODc1NzM3NywgODQ2MCwgMS4wNjA0NzQ3NTMzNzk4MjE4XSwgWzE2NjM4MzUxNjIuMTEyNTk4MiwgODQ3OCwgMS4wNjExMzQ4MTUyMTYwNjQ1XSwgWzE2NjM4MzUxNjIuMjM1OTE2OSwgODQ4NywgMS4zMjU5OTg5MDIzMjA4NjE4XSwgWzE2NjM4MzUxNjIuNTg1OTQ2NiwgODUxNCwgMS4xMjI4NzcwMDE3NjIzOTAxXSwgWzE2NjM4MzUxNjMuMDUzODQ1MiwgODU1MCwgMC45OTI1MTMxNzk3NzkwNTI3XSwgWzE2NjM4MzUxNjMuNDAyNjc0LCA4NTc3LCAwLjk1NDQwOTcxODUxMzQ4ODhdLCBbMTY2MzgzNTE2My43MDQ4Mzg4LCA4NjA0LCAxLjIzNDIyMTkzNTI3MjIxNjhdLCBbMTY2MzgzNTE2My44MTI5OTQsIDg2MTMsIDEuMjExMDEyOTU5NDgwMjg1Nl0sIFsxNjYzODM1MTY0LjIyMDczMjUsIDg2NDksIDEuMTg4Mjk2MTk4ODQ0OTA5N10sIFsxNjYzODM1MTY0LjQwMTc2MjIsIDg2NjcsIDEuMTcwMzYxODc2NDg3NzMyXSwgWzE2NjM4MzUxNjQuNDk4NDA1MiwgODY3NiwgMS4xMDgxNjM1OTUxOTk1ODVdLCBbMTY2MzgzNTE2NC43MDk0MzcsIDg2OTQsIDEuNDIwODE1MjI5NDE1ODkzNl0sIFsxNjYzODM1MTY0LjkwMTY2NjYsIDg3MTIsIDEuMjY1MTA3NTEyNDc0MDZdLCBbMTY2MzgzNTE2NS4wMDkxNTEsIDg3MjEsIDEuMzY5Nzc1NTMzNjc2MTQ3NV0sIFsxNjYzODM1MTY1LjMyNjU1MTIsIDg3NDgsIDEuMTU4MDc5NTA0OTY2NzM1OF0sIFsxNjYzODM1MTY2LjEwOTg4MTQsIDg3OTMsIDEuMzg2MTA2ODQ4NzE2NzM1OF0sIFsxNjYzODM1MTY2LjMzNzQ3NiwgODgxMSwgMS4xNzU0Mjk3MDE4MDUxMTQ3XSwgWzE2NjM4MzUxNjYuNDc0ODg3NCwgODgyMCwgMS4yNjQyNDMzNjQzMzQxMDY0XSwgWzE2NjM4MzUxNjYuNzkwMDM3MiwgODg0NywgMS40NTQ3MTY4MDE2NDMzNzE2XSwgWzE2NjM4MzUxNjcuMjg2MzQ3NiwgODg4MywgMS4wOTY3MjIyNDUyMTYzNjk2XSwgWzE2NjM4MzUxNjcuNzE5MzU5NCwgODkxOSwgMS42MzM1NTMyNjY1MjUyNjg2XSwgWzE2NjM4MzUxNjcuOTgzMTE5NywgODkzNywgMS4zMzA5ODg3NjQ3NjI4Nzg0XSwgWzE2NjM4MzUxNjguMTg1MjQzLCA4OTU1LCAxLjIwODQzMzk4NTcxMDE0NF0sIFsxNjYzODM1MTY4LjQ1NDg0MDQsIDg5NzMsIDEuNzMzODc1Mjc0NjU4MjAzMV0sIFsxNjYzODM1MTY4LjY3NjgyNDYsIDg5OTEsIDEuMTM4MjE2OTcyMzUxMDc0Ml0sIFsxNjYzODM1MTY4LjgxNDMwMiwgOTAwMCwgMC45MjY3MzQ1MDcwODM4OTI4XSwgWzE2NjM4MzUxNjkuMTgxNDYzLCA5MDI3LCAxLjE5MjU0NTY1MjM4OTUyNjRdLCBbMTY2MzgzNTE2OS4yODExNTgyLCA5MDM2LCAxLjA4NTU2MjQ2NzU3NTA3MzJdLCBbMTY2MzgzNTE2OS40MDQ2Mjk3LCA5MDQ1LCAxLjU0NzgyNjY0Nzc1ODQ4MzldLCBbMTY2MzgzNTE2OS41OTY0NzYzLCA5MDYzLCAxLjA2Njc3NTQ0MTE2OTczODhdLCBbMTY2MzgzNTE3MC4xMjI4MzgsIDkxMDgsIDEuMTk4NjQ4ODEwMzg2NjU3N10sIFsxNjYzODM1MTcwLjMxODM4NjMsIDkxMjYsIDEuMTMzNzcxNjU3OTQzNzI1Nl0sIFsxNjYzODM1MTcwLjUxNDA3MSwgOTE0NCwgMS4wNDA5NTMzOTc3NTA4NTQ1XSwgWzE2NjM4MzUxNzEuMjExNzQyNiwgOTIwNywgMS4wNTA1NDE5OTY5NTU4NzE2XSwgWzE2NjM4MzUxNzEuNjE4NTc3LCA5MjQzLCAxLjA1NjIxMjU0NDQ0MTIyMzFdLCBbMTY2MzgzNTE3MS44MDI4MzYsIDkyNjEsIDEuMTA1MDYxMjkyNjQ4MzE1NF0sIFsxNjYzODM1MTcxLjg5NjY2NjUsIDkyNzAsIDEuMDY0ODkyMjkyMDIyNzA1XSwgWzE2NjM4MzUxNzIuNDgwMzU2NSwgOTMyNCwgMS4wODkwODQ5ODI4NzIwMDkzXSwgWzE2NjM4MzUxNzIuNTg2MTYxMSwgOTMzMywgMS4xNTM5Mzg4ODk1MDM0NzldLCBbMTY2MzgzNTE3Mi42OTMwMTkyLCA5MzQyLCAxLjQxMTc1MjgyMDAxNDk1MzZdLCBbMTY2MzgzNTE3Mi43ODQ1ODQ1LCA5MzUxLCAxLjI3MjI4OTM5NTMzMjMzNjRdLCBbMTY2MzgzNTE3Mi44Nzk2OTIzLCA5MzYwLCAxLjYyNzI2NzI0MTQ3Nzk2NjNdLCBbMTY2MzgzNTE3My4yODcyMzgsIDkzOTYsIDEuMDU5MzQ5NDE3Njg2NDYyNF0sIFsxNjYzODM1MTczLjU3MjQ5NzQsIDk0MjMsIDEuMzA5MTg0OTA4ODY2ODgyM10sIFsxNjYzODM1MTc0LjgzOTg0NjgsIDk1MTMsIDEuMTk1MzYwODk4OTcxNTU3Nl0sIFsxNjYzODM1MTc1LjA4MzQ0MjQsIDk1MzEsIDEuMjIxNDQ3NTg3MDEzMjQ0Nl0sIFsxNjYzODM1MTc1LjE5MjM2MDQsIDk1NDAsIDEuMDU1NzA1NTQ3MzMyNzYzN10sIFsxNjYzODM1MTc1LjI5MDY5MjYsIDk1NDksIDEuMTcxNDc5NzAxOTk1ODQ5Nl0sIFsxNjYzODM1MTc1LjQ4NjkwNTgsIDk1NjcsIDEuMjA2Mjg0OTk5ODQ3NDEyXSwgWzE2NjM4MzUxNzUuNzc5MDk5LCA5NTk0LCAxLjM0NDkzNzY4MjE1MTc5NDRdLCBbMTY2MzgzNTE3Ni4wMTAwNzMsIDk2MTIsIDEuMDY5MjEyOTEzNTEzMTgzNl0sIFsxNjYzODM1MTc2LjIwNjIwOCwgOTYzMCwgMS4wNjY1MzQwNDIzNTgzOTg0XSwgWzE2NjM4MzUxNzYuMzA4MjA2OCwgOTYzOSwgMS4xMTQ4NTY2MDA3NjE0MTM2XSwgWzE2NjM4MzUxNzYuMzk3NDczLCA5NjQ4LCAxLjQzNzQ1NzIwMzg2NTA1MTNdLCBbMTY2MzgzNTE3Ni41MjQxMDUzLCA5NjU3LCAxLjI4NDMyMTMwODEzNTk4NjNdLCBbMTY2MzgzNTE3Ni42NTUxNTI4LCA5NjY2LCAxLjA1NDE0MDkyNTQwNzQwOTddLCBbMTY2MzgzNTE3Ni43ODkzMjQzLCA5Njc1LCAxLjMxMzcwMTE1MjgwMTUxMzddLCBbMTY2MzgzNTE3Ny4xNTE1NDc0LCA5NzAyLCAxLjA1ODAxMjAwODY2Njk5MjJdLCBbMTY2MzgzNTE3Ny4yNzE5MDUsIDk3MTEsIDEuMTcxNDUxMzMwMTg0OTM2NV0sIFsxNjYzODM1MTc3LjUwMzUyLCA5NzI5LCAxLjM0NzI0MTUyMDg4MTY1MjhdLCBbMTY2MzgzNTE3Ny42MTQ4Nzg3LCA5NzM4LCAxLjM2MTEyMzQ0MjY0OTg0MTNdLCBbMTY2MzgzNTE3Ny43MjUyMzksIDk3NDcsIDAuOTg3NTg4ODgyNDQ2Mjg5MV0sIFsxNjYzODM1MTc4LjAxOTE5OTQsIDk3NzQsIDAuOTg2NTg0NTQ0MTgxODIzN10sIFsxNjYzODM1MTc4LjEyNDEyMiwgOTc4MywgMS4wNjE1NTE5Mjg1MjAyMDI2XSwgWzE2NjM4MzUxNzguMjEzMDg2NCwgOTc5MiwgMS41MDMyMDE0ODQ2ODAxNzU4XSwgWzE2NjM4MzUxNzguNjQzNTI1OCwgOTgyOCwgMC45OTg4MjY5MjA5ODYxNzU1XSwgWzE2NjM4MzUxNzkuNDc3MTg0OCwgOTg5MSwgMS4wOTQxMDIzODI2NTk5MTJdLCBbMTY2MzgzNTE3OS43MDgyOTA4LCA5OTA5LCAxLjYxODA1MTA1MjA5MzUwNTldLCBbMTY2MzgzNTE3OS45NTI0MiwgOTkyNywgMS4wOTY1OTkxMDIwMjAyNjM3XSwgWzE2NjM4MzUxODAuMDg0MjE1NCwgOTkzNiwgMC45NDkzOTcwODcwOTcxNjhdLCBbMTY2MzgzNTE4MC4xNzk3Mjk1LCA5OTQ1LCAxLjE1MDI4NDc2NzE1MDg3OV0sIFsxNjYzODM1MTgwLjQ2ODY4MywgOTk3MiwgMS40MzgwMzcxNTcwNTg3MTU4XSwgWzE2NjM4MzUxODAuNjYyNzI4NSwgOTk5MCwgMS4yMjI3ODEwNjIxMjYxNTk3XSwgWzE2NjM4MzUxODAuODUyOTU3LCAxMDAwOCwgMS4wNzc1NzIxMDczMTUwNjM1XSwgWzE2NjM4MzUxODAuOTU3MTUyNCwgMTAwMTcsIDEuNDYyMjk0NTc4NTUyMjQ2XSwgWzE2NjM4MzUxODEuMTcwMDY2LCAxMDAzNSwgMS4xNTg3MDYzMDc0MTExOTM4XSwgWzE2NjM4MzUxODEuNjYwOTU3OCwgMTAwODAsIDEuMjQxMTQ2MzI2MDY1MDYzNV0sIFsxNjYzODM1MTgxLjg0NTUyMDUsIDEwMDk4LCAxLjYxMTE1NDU1NjI3NDQxNF0sIFsxNjYzODM1MTgxLjkzODU1LCAxMDEwNywgMC45NzU3MTYzNTI0NjI3Njg2XSwgWzE2NjM4MzUxODIuMjM4NjI1NSwgMTAxMzQsIDEuMDU4NDM5MDE2MzQyMTYzXSwgWzE2NjM4MzUxODIuMzM1MTgwOCwgMTAxNDMsIDEuMTU5NjU3MzU5MTIzMjNdLCBbMTY2MzgzNTE4Mi41MjQ1Njk1LCAxMDE2MSwgMC45NjQ2NjQ1MTg4MzMxNjA0XSwgWzE2NjM4MzUxODIuNjE4NTMxLCAxMDE3MCwgMS4yMzkwMzQ0MTQyOTEzODE4XSwgWzE2NjM4MzUxODIuOTExMjg4LCAxMDE5NywgMS4xMDQ1MjEzOTM3NzU5NF0sIFsxNjYzODM1MTgzLjMxNDAxMTgsIDEwMjE1LCAwLjk4MjA1ODA0ODI0ODI5MV0sIFsxNjYzODM1MTgzLjQxMDA3MzMsIDEwMjI0LCAxLjAxMDU0MDI0Njk2MzUwMV0sIFsxNjYzODM1MTgzLjUwMTcyMTQsIDEwMjMzLCAxLjA1MzU3ODk3MjgxNjQ2NzNdLCBbMTY2MzgzNTE4My44NzM2NjIsIDEwMjYwLCAxLjE4NTc5ODUyNTgxMDI0MTddLCBbMTY2MzgzNTE4NC43NTYyOTksIDEwMzIzLCAxLjA1NzM5NzEyNzE1MTQ4OTNdLCBbMTY2MzgzNTE4NC45NDY0OTg0LCAxMDM0MSwgMS4xNzc0MTIwMzMwODEwNTQ3XSwgWzE2NjM4MzUxODUuMTMwMzk4NSwgMTAzNTksIDEuMjg3NTM2ODU5NTEyMzI5XSwgWzE2NjM4MzUxODUuMjI1MDM1NCwgMTAzNjgsIDEuMDY5OTQzMzA4ODMwMjYxMl0sIFsxNjYzODM1MTg1LjMxNTg0MzMsIDEwMzc3LCAxLjM1MDIyODc4NjQ2ODUwNTldLCBbMTY2MzgzNTE4NS40MjYwNjksIDEwMzg2LCAxLjU5NDI2MzMxNTIwMDgwNTddLCBbMTY2MzgzNTE4Ni4xMjMyMjU1LCAxMDQ0OSwgMS4yNzc2ODczMTExNzI0ODU0XSwgWzE2NjM4MzUxODYuMzI0MDMwOSwgMTA0NjcsIDEuMzc4NzczMDkzMjIzNTcxOF0sIFsxNjYzODM1MTg2LjUyNDA1OTUsIDEwNDg1LCAxLjEzMDQyODE5NDk5OTY5NDhdLCBbMTY2MzgzNTE4Ni44MTY5NzE4LCAxMDUxMiwgMS4yODk5NDA5NTMyNTQ2OTk3XSwgWzE2NjM4MzUxODcuNDA5MjE3NiwgMTA1NjYsIDEuMTM0ODQ2MjEwNDc5NzM2M10sIFsxNjYzODM1MTg3LjQ5ODk3MTIsIDEwNTc1LCAxLjE4NTU3NDg4OTE4MzA0NDRdLCBbMTY2MzgzNTE4Ny42ODk4NTgsIDEwNTkzLCAxLjA3MDA5NDgyMzgzNzI4MDNdLCBbMTY2MzgzNTE4Ny43ODY3MDEyLCAxMDYwMiwgMS4wNTM0NjcxNTQ1MDI4Njg3XSwgWzE2NjM4MzUxODcuODgwNTYxNCwgMTA2MTEsIDEuMjA4MDc4NjIyODE3OTkzMl0sIFsxNjYzODM1MTg4LjI4NzgyNDksIDEwNjQ3LCAxLjI3MjMwMzU4MTIzNzc5M10sIFsxNjYzODM1MTg4LjUxNTg1MDMsIDEwNjY1LCAxLjQzOTI1MjEzODEzNzgxNzRdLCBbMTY2MzgzNTE4OC44MDU1OTY0LCAxMDY4MywgMC45OTY5OTM4OTkzNDUzOThdLCBbMTY2MzgzNTE4OS4xMzEwOTMzLCAxMDcxMCwgMS4xNzc5MDAzMTQzMzEwNTQ3XSwgWzE2NjM4MzUxODkuMjU4OTg0OCwgMTA3MTksIDEuMzIwNDUzNTI0NTg5NTM4Nl0sIFsxNjYzODM1MTg5LjYwNTU5NSwgMTA3NDYsIDEuNDQ3NTExNjcyOTczNjMyOF0sIFsxNjYzODM1MTg5Ljc0MjcwOTIsIDEwNzU1LCAxLjI5MjY5NjgzMzYxMDUzNDddLCBbMTY2MzgzNTE5MC4wNjkzMDM4LCAxMDc4MiwgMS4wNzgxMDY2NDE3Njk0MDkyXSwgWzE2NjM4MzUxOTAuMTY1NjY0MiwgMTA3OTEsIDIuMDgwMzc5MDA5MjQ2ODI2XSwgWzE2NjM4MzUxOTAuNTkzMzUzNSwgMTA4MTgsIDEuMTIwMzI4NjY0Nzc5NjYzXSwgWzE2NjM4MzUxOTEuMDg0OTIyLCAxMDg1NCwgMS4zNTA0NDQ2NzQ0OTE4ODIzXSwgWzE2NjM4MzUxOTEuMTk2MTYxMywgMTA4NjMsIDEuNDAwMzc0MDU0OTA4NzUyNF0sIFsxNjYzODM1MTkxLjMwOTUwODMsIDEwODcyLCAxLjA4MjEyMzM5ODc4MDgyMjhdLCBbMTY2MzgzNTE5MS41MzYyODU5LCAxMDg5MCwgMS4xNzk1NTc4MDAyOTI5Njg4XSwgWzE2NjM4MzUxOTEuOTI3NzM1LCAxMDkyNiwgMS4wNDAxMTYxOTA5MTAzMzk0XSwgWzE2NjM4MzUxOTIuMjMzNDI1NiwgMTA5MzUsIDEuMjY4Mjg2MzQ3Mzg5MjIxMl0sIFsxNjYzODM1MTkyLjcwODMwMzUsIDEwOTcxLCAxLjIzMjA4NDE1NTA4MjcwMjZdLCBbMTY2MzgzNTE5My4yNjM3MTQ4LCAxMTAxNiwgMS4wNTk3NjYyOTI1NzIwMjE1XSwgWzE2NjM4MzUxOTMuNDYzNTY0NCwgMTEwMzQsIDEuMDM2MDI4MjY1OTUzMDY0XSwgWzE2NjM4MzUxOTMuOTE0NDQwNiwgMTEwNzAsIDAuOTAxNDA5NzQ1MjE2MzY5Nl0sIFsxNjYzODM1MTk0LjI4MDk5OTIsIDExMDk3LCAxLjIyNTQwNzk1ODAzMDcwMDddLCBbMTY2MzgzNTE5NC4zODEzMjM4LCAxMTEwNiwgMS41NDMwNDMzNzUwMTUyNTg4XSwgWzE2NjM4MzUxOTQuODQ4NzI1OCwgMTExNTEsIDEuMTAxMDAyMzM1NTQ4NDAwOV0sIFsxNjYzODM1MTk1LjA0NjU5MjcsIDExMTY5LCAxLjA4ODY1NDg3NTc1NTMxXSwgWzE2NjM4MzUxOTUuMzQwNzYyOSwgMTExOTYsIDAuOTkyNDI5NzkyODgxMDEyXSwgWzE2NjM4MzUxOTUuNDI4ODQ4MywgMTEyMDUsIDEuMTQ4Nzg3ODU2MTAxOTg5N10sIFsxNjYzODM1MTk1LjY1ODQxNywgMTEyMjMsIDEuMDcxODYzMTc0NDM4NDc2Nl0sIFsxNjYzODM1MTk2LjA1NTUwMywgMTEyNTAsIDEuMTc5MDE3NTQzNzkyNzI0Nl0sIFsxNjYzODM1MTk2LjE4MDE3NDgsIDExMjU5LCAxLjI4ODU4MzUxNzA3NDU4NV0sIFsxNjYzODM1MTk2LjI5MTAzMSwgMTEyNjgsIDEuNTYxODA2NDQwMzUzMzkzNl0sIFsxNjYzODM1MTk2LjM5ODc1NzcsIDExMjc3LCAxLjAzMzQ1NTM3MTg1NjY4OTVdLCBbMTY2MzgzNTE5Ni42MzMxODM3LCAxMTI5NSwgMS4wMjk1NTIzNDA1MDc1MDczXSwgWzE2NjM4MzUxOTYuODY2NjQ4NCwgMTEzMTMsIDEuMzU1MTc2NTY4MDMxMzExXSwgWzE2NjM4MzUxOTYuOTc2Mjg3MSwgMTEzMjIsIDEuMDgyMTQzNzgzNTY5MzM2XSwgWzE2NjM4MzUxOTcuMzU2ODIwNiwgMTEzNDksIDEuMjIyOTQ1MzMyNTI3MTYwNl0sIFsxNjYzODM1MTk3LjQ1MDc2MjcsIDExMzU4LCAxLjI0NTY5NDg3NTcxNzE2M10sIFsxNjYzODM1MTk4LjA3MzkxNzYsIDExNDEyLCAxLjE1MjIyNTk3MTIyMTkyMzhdLCBbMTY2MzgzNTE5OC40NzMxMDI2LCAxMTQ0OCwgMS4wNzIxMTQ4MjUyNDg3MTgzXSwgWzE2NjM4MzUxOTguOTkxMDg2LCAxMTQ5MywgMS4zMTc3MDA4NjI4ODQ1MjE1XSwgWzE2NjM4MzUxOTkuMDg4OTc5NSwgMTE1MDIsIDEuNDY0MjM5MzU4OTAxOTc3NV0sIFsxNjYzODM1MTk5LjIwMzY5MSwgMTE1MTEsIDEuMzA4ODY4NTI3NDEyNDE0Nl0sIFsxNjYzODM1MTk5LjYwNDkwOTQsIDExNTQ3LCAxLjQ0NjU1Nzc2MDIzODY0NzVdLCBbMTY2MzgzNTE5OS45MTY1NDU0LCAxMTU3NCwgMS4zNzM2NTg2NTcwNzM5NzQ2XSwgWzE2NjM4MzUyMDAuNTE3ODQzNywgMTE2MTksIDEuMTM0MjcwNTQ4ODIwNDk1Nl0sIFsxNjYzODM1MjAwLjg2OTI0OTYsIDExNjQ2LCAxLjA0ODI0NTMxMDc4MzM4NjJdLCBbMTY2MzgzNTIwMS42NTQ0MjgyLCAxMTY5MSwgMS4xMDMyNDMzNTA5ODI2NjZdLCBbMTY2MzgzNTIwMS43ODAyNzQ5LCAxMTcwMCwgMS4xMDEyNDMyNTc1MjI1ODNdLCBbMTY2MzgzNTIwMi4xNTgxOTEyLCAxMTcyNywgMS4wNjAyNzIyMTY3OTY4NzVdLCBbMTY2MzgzNTIwMi41NjY1ODQ2LCAxMTc2MywgMS4wNzYwMTg4MTAyNzIyMTY4XSwgWzE2NjM4MzUyMDMuMDU1NzQ1MSwgMTE3OTksIDEuMzQ2Mjc0NjE0MzM0MTA2NF0sIFsxNjYzODM1MjAzLjU2NDE0LCAxMTg0NCwgMS4yNTI3MjM5MzIyNjYyMzU0XSwgWzE2NjM4MzUyMDQuMDQ4NzM4MiwgMTE4ODksIDAuOTI5NjQxNDg1MjE0MjMzNF0sIFsxNjYzODM1MjA0LjIzNTcwOTIsIDExOTA3LCAxLjA2Nzk0NjU1MzIzMDI4NTZdLCBbMTY2MzgzNTIwNC41MjExMTQ4LCAxMTkzNCwgMS4xNDY5NDc2MjIyOTkxOTQzXSwgWzE2NjM4MzUyMDQuNjE2MzY0NSwgMTE5NDMsIDEuMTUyMDI1MzQxOTg3NjA5OV0sIFsxNjYzODM1MjA0LjgxNTY1NDgsIDExOTYxLCAxLjM4NjEyMDU1Nzc4NTAzNDJdLCBbMTY2MzgzNTIwNS41NzUyNjM3LCAxMjAyNCwgMS4xODA5MDYxNzY1NjcwNzc2XSwgWzE2NjM4MzUyMDYuNzE3MjU3MywgMTIxMDUsIDEuMDQ1NTkwMDQzMDY3OTMyMV0sIFsxNjYzODM1MjA2LjgzMjM5MTMsIDEyMTE0LCAxLjA3NTkyMTQxNjI4MjY1MzhdLCBbMTY2MzgzNTIwNy4yMDk5MzU0LCAxMjE0MSwgMS4xNzI4NTkzMTExMDM4MjA4XSwgWzE2NjM4MzUyMDcuNTY4NDc0MywgMTIxNjgsIDEuMTk1Njg4MjQ3NjgwNjY0XSwgWzE2NjM4MzUyMDcuNjczNDg3NywgMTIxNzcsIDEuMjcyMzEwMDE4NTM5NDI4N10sIFsxNjYzODM1MjA3LjkxNjM3NTksIDEyMTk1LCAxLjAwNzcyMjQ5Njk4NjM4OTJdLCBbMTY2MzgzNTIwOC4zMzgzMTIsIDEyMjMxLCAwLjk0MjMzNDQxMzUyODQ0MjRdLCBbMTY2MzgzNTIwOC41MjkxNzMsIDEyMjQ5LCAxLjA3NTY3OTA2Mzc5Njk5N10sIFsxNjYzODM1MjA4LjkzMTk5NiwgMTIyODUsIDEuMDU5MDI3MzE0MTg2MDk2Ml0sIFsxNjYzODM1MjA5LjAzODk0MiwgMTIyOTQsIDEuNDM3NjE0MDgzMjkwMV0sIFsxNjYzODM1MjA5LjEzMjA0MzQsIDEyMzAzLCAxLjIxMjMxMTM4NzA2MjA3MjhdLCBbMTY2MzgzNTIwOS4yMjM3NTg3LCAxMjMxMiwgMS4xOTM2MzU1ODI5MjM4ODkyXSwgWzE2NjM4MzUyMDkuMzIwNzA3MywgMTIzMjEsIDEuMDY0NDY2OTUzMjc3NTg4XSwgWzE2NjM4MzUyMDkuOTkxODQ4NywgMTIzODQsIDEuMzQ3Nzg4MzMzODkyODIyM10sIFsxNjYzODM1MjEwLjA4ODA1NiwgMTIzOTMsIDEuMjI2MDY1Mzk3MjYyNTczMl0sIFsxNjYzODM1MjEwLjgwNDI3OCwgMTI0MjksIDEuMDg1NTAyNTA1MzAyNDI5Ml0sIFsxNjYzODM1MjExLjM4OTUwNjgsIDEyNDc0LCAxLjExMTU2NzczNTY3MTk5N10sIFsxNjYzODM1MjExLjU0OTcwNzIsIDEyNDgzLCAxLjMxODcyNTM0NzUxODkyMV0sIFsxNjYzODM1MjEyLjAwMzcwNDMsIDEyNTE5LCAxLjQzNDg5NTYzNDY1MTE4NF0sIFsxNjYzODM1MjEyLjMwOTI5MTQsIDEyNTQ2LCAxLjEzNTg1MjA5ODQ2NDk2NThdLCBbMTY2MzgzNTIxMi43MTQ3NDgxLCAxMjU4MiwgMS4wNjcxMDc0MzkwNDExMzc3XSwgWzE2NjM4MzUyMTQuODI1MzIzLCAxMjc2MiwgMS40MTE4NDM3NzY3MDI4ODA5XSwgWzE2NjM4MzUyMTUuMjU0MDk1LCAxMjc5OCwgMS4yMDYwMDc1OTk4MzA2Mjc0XSwgWzE2NjM4MzUyMTYuMjIzNzQzMiwgMTI4ODgsIDEuMDM2MTAxODE4MDg0NzE2OF0sIFsxNjYzODM1MjE2LjMxNTk0NzMsIDEyODk3LCAxLjA5NjUzMjQ2NDAyNzQwNDhdLCBbMTY2MzgzNTIxNi43NzI3Njk3LCAxMjkzMywgMC45NTI5ODQ1MTE4NTIyNjQ0XSwgWzE2NjM4MzUyMTcuMDI4ODMyNCwgMTI5NTEsIDEuMjc4NTk3NzEyNTE2Nzg0N10sIFsxNjYzODM1MjE3LjEzNzUwMjQsIDEyOTYwLCAwLjkzMjg4ODgwNTg2NjI0MTVdLCBbMTY2MzgzNTIxNy4yNTI5MzYxLCAxMjk2OSwgMS4wMDY1MzkxMDYzNjkwMTg2XSwgWzE2NjM4MzUyMTcuMzU1NDEyMiwgMTI5NzgsIDEuMDYwNjE1MDYyNzEzNjIzXSwgWzE2NjM4MzUyMTcuNjQ3NTUsIDEzMDA1LCAxLjAyODAwMTkwNDQ4NzYwOTldLCBbMTY2MzgzNTIxNy45NTExODQsIDEzMDMyLCAxLjExMzkwODg4NjkwOTQ4NDldLCBbMTY2MzgzNTIxOC4xNTMxMzMsIDEzMDUwLCAxLjA1NjE3MjYwOTMyOTIyMzZdLCBbMTY2MzgzNTIxOC40MDEwMjgsIDEzMDY4LCAxLjAxMjUzOTUwNTk1ODU1NzFdLCBbMTY2MzgzNTIxOC41MzE0ODcyLCAxMzA3NywgMS4wNzY2MjM0Mzk3ODg4MTg0XSwgWzE2NjM4MzUyMTguNzY5MzcxLCAxMzA5NSwgMS4xMTQ4MTA4MjQzOTQyMjZdLCBbMTY2MzgzNTIxOC44OTE5NDMyLCAxMzEwNCwgMS4xMjY5NDM3MDc0NjYxMjU1XSwgWzE2NjM4MzUyMTkuMDg3NzA2OCwgMTMxMjIsIDEuMDA4NDA2NDAwNjgwNTQyXSwgWzE2NjM4MzUyMTkuMTg4NDIzNiwgMTMxMzEsIDEuMDc0NDg2NjEzMjczNjIwNl0sIFsxNjYzODM1MjE5LjYxMzQ0NDYsIDEzMTQ5LCAxLjA1ODA4Nzk0NDk4NDQzNl0sIFsxNjYzODM1MjE5LjcxMzk1MDQsIDEzMTU4LCAxLjExMTg4Mzg3ODcwNzg4NTddLCBbMTY2MzgzNTIxOS45MDA0MDQ1LCAxMzE3NiwgMS4yMzgwNjk1MzQzMDE3NTc4XSwgWzE2NjM4MzUyMjAuNzM1ODcwMSwgMTMyMzksIDEuMjE2MDQxNTY0OTQxNDA2Ml0sIFsxNjYzODM1MjIxLjEyOTY5MTEsIDEzMjY2LCAwLjk2NzYyNTY3NzU4NTYwMThdLCBbMTY2MzgzNTIyMS4yNjI4NDMsIDEzMjc1LCAxLjExODA0NDAxODc0NTQyMjRdLCBbMTY2MzgzNTIyMS41MjQ1OTI0LCAxMzI5MywgMS4yMTk0NTg1ODAwMTcwODk4XSwgWzE2NjM4MzUyMjIuNDE0NTMzNiwgMTMzNTYsIDAuOTU0MTIzNzk1MDMyNTAxMl0sIFsxNjYzODM1MjIyLjg2NjQ2NjgsIDEzMzkyLCAxLjAyMDYxMzY3MDM0OTEyMV0sIFsxNjYzODM1MjIzLjE4MjYwMzEsIDEzNDE5LCAxLjExMDQ0OTQzMzMyNjcyMTJdLCBbMTY2MzgzNTIyMy41MDc0MTk2LCAxMzQ0NiwgMS4xMjc4MzM4NDMyMzEyMDEyXSwgWzE2NjM4MzUyMjMuNjI2NTM2NCwgMTM0NTUsIDEuMDgzMDYxODE0MzA4MTY2NV0sIFsxNjYzODM1MjI0LjA0NDI2OTgsIDEzNDkxLCAxLjA3OTA5ODIyNDYzOTg5MjZdLCBbMTY2MzgzNTIyNC4xNTc4NjI0LCAxMzUwMCwgMS4wNjQ3Mzg3NTA0NTc3NjM3XSwgWzE2NjM4MzUyMjQuNTI2MzcyLCAxMzUyNywgMC45Mzk1NjQzNDcyNjcxNTA5XSwgWzE2NjM4MzUyMjUuMzgzMzM1NiwgMTM1OTAsIDEuMTc0MDE5MzM2NzAwNDM5NV0sIFsxNjYzODM1MjI1LjQ5MzUyODEsIDEzNTk5LCAxLjY5MTI1MTUxNjM0MjE2M10sIFsxNjYzODM1MjI1LjU5MDgxNzUsIDEzNjA4LCAxLjMwMzkxNTAyMzgwMzcxMV0sIFsxNjYzODM1MjI1LjgyMDc3NywgMTM2MjYsIDEuMDM1MDA5Mzg0MTU1MjczNF0sIFsxNjYzODM1MjI2LjAzODQ2NzIsIDEzNjQ0LCAxLjAwNDQxNzUzODY0Mjg4MzNdLCBbMTY2MzgzNTIyNi4xMzE5MzIzLCAxMzY1MywgMS4wMDA4NDUwNzQ2NTM2MjU1XSwgWzE2NjM4MzUyMjYuODgwMDQ3MywgMTM3MTYsIDEuMDUzNTI0OTcxMDA4MzAwOF0sIFsxNjYzODM1MjI3LjM5OTU4NjIsIDEzNzYxLCAxLjIyMTMyODI1ODUxNDQwNDNdLCBbMTY2MzgzNTIyOC4wMzYzODUzLCAxMzgxNSwgMS4wNDU5NTU1Mzg3NDk2OTQ4XSwgWzE2NjM4MzUyMjguMzQ1MzkxNSwgMTM4NDIsIDEuMDc5MTU1ODAyNzI2NzQ1Nl0sIFsxNjYzODM1MjI4LjQ1MDkzNTEsIDEzODUxLCAwLjk5MTQ1Mjk5MTk2MjQzMjldLCBbMTY2MzgzNTIyOC43NTU0ODQ4LCAxMzg3OCwgMS40NDEwMDQ1MTQ2OTQyMTM5XSwgWzE2NjM4MzUyMjkuNjg5NjYxNywgMTM5NDEsIDEuMDc0NjY0MTE1OTA1NzYxN10sIFsxNjYzODM1MjMwLjExODkwMSwgMTM5NjgsIDEuMTgwNDQ0MTIxMzYwNzc4OF0sIFsxNjYzODM1MjMwLjI2OTU5NTksIDEzOTc3LCAwLjk1NjIzNTcwNjgwNjE4MjldLCBbMTY2MzgzNTIzMC4zOTQzNDMxLCAxMzk4NiwgMS4wNTM0NTk4ODI3MzYyMDZdLCBbMTY2MzgzNTIzMS40NTkxODQyLCAxNDA2NywgMC45NDY4MTg0MTEzNTAyNTAyXSwgWzE2NjM4MzUyMzEuNzc1MzQwNiwgMTQwOTQsIDEuMjA2MDQ1NjI3NTkzOTk0MV0sIFsxNjYzODM1MjMxLjg3NjcxNzYsIDE0MTAzLCAwLjkzMDQwMzc2OTAxNjI2NTldLCBbMTY2MzgzNTIzMi4wODUxODc3LCAxNDEyMSwgMS4wMDI0ODAwMzAwNTk4MTQ1XSwgWzE2NjM4MzUyMzIuMzI4OTQ3NSwgMTQxMzksIDEuMTM5NTM2MTQyMzQ5MjQzMl0sIFsxNjYzODM1MjMyLjQzMTI5NDcsIDE0MTQ4LCAxLjAwOTc2NTg2MzQxODU3OV0sIFsxNjYzODM1MjMyLjUyODMwNzQsIDE0MTU3LCAwLjk1NTk0Mzc2MzI1NjA3M10sIFsxNjYzODM1MjMyLjYzNDk0MTMsIDE0MTY2LCAxLjI0NTY2MTk3Mzk1MzI0N10sIFsxNjYzODM1MjMyLjk1NjkwMTgsIDE0MTkzLCAwLjk3MDk5MzUxODgyOTM0NTddLCBbMTY2MzgzNTIzMy40MjU0MjM5LCAxNDIyOSwgMS4wNDgyMzU2NTQ4MzA5MzI2XSwgWzE2NjM4MzUyMzMuNTE3Nzk0OCwgMTQyMzgsIDEuMzUwODYxNDMwMTY4MTUxOV0sIFsxNjYzODM1MjMzLjYyNTcxODQsIDE0MjQ3LCAxLjAxNjY0NTc4OTE0NjQyMzNdLCBbMTY2MzgzNTIzMy45Mzg4MDQsIDE0Mjc0LCAxLjEzMDM3MzAwMTA5ODYzMjhdLCBbMTY2MzgzNTIzNC40ODE0NSwgMTQzMTksIDAuOTY3MDg3MjA5MjI0NzAwOV0sIFsxNjYzODM1MjM1LjAwNzQzMDMsIDE0MzY0LCAxLjE2MDE5NjU0MjczOTg2ODJdLCBbMTY2MzgzNTIzNS4xMDQ5NTcsIDE0MzczLCAxLjA5ODk1MzAwODY1MTczMzRdLCBbMTY2MzgzNTIzNS4yMTMwMzU2LCAxNDM4MiwgMS4yMzg2OTg3MjA5MzIwMDY4XSwgWzE2NjM4MzUyMzUuNjQyNjc1NCwgMTQ0MTgsIDEuNTYyNjg1OTY2NDkxNjk5Ml0sIFsxNjYzODM1MjM1Ljc1MDg4NCwgMTQ0MjcsIDEuNTU1OTg3MTE5Njc0NjgyNl0sIFsxNjYzODM1MjM1Ljg2MTM0MiwgMTQ0MzYsIDEuMTUyMDUwODUyNzc1NTczN10sIFsxNjYzODM1MjM2LjczMTIxMjEsIDE0NTA4LCAxLjA5Njc2Mzg0OTI1ODQyMjldLCBbMTY2MzgzNTIzNy4wNDc3NDg4LCAxNDUzNSwgMS4zMTI1NDYzNzI0MTM2MzUzXSwgWzE2NjM4MzUyMzcuMjUzMjIwMywgMTQ1NTMsIDEuMDUzOTcwNDU2MTIzMzUyXSwgWzE2NjM4MzUyMzcuOTQ2MTUxNywgMTQ2MDcsIDEuMTg1NTU3OTYxNDYzOTI4Ml0sIFsxNjYzODM1MjM4LjI0OTI4OSwgMTQ2MjUsIDEuNTUxMjQ2ODgxNDg0OTg1NF0sIFsxNjYzODM1MjM4LjY4MDE2MzksIDE0NjUyLCAxLjExMDg4NDU0NzIzMzU4MTVdLCBbMTY2MzgzNTIzOS40NjEzNTQ3LCAxNDY4OCwgMC45NTY1MjM4OTUyNjM2NzE5XSwgWzE2NjM4MzUyMzkuOTUyNjA4OCwgMTQ3MjQsIDEuMDYzNjUwMTMxMjI1NTg2XSwgWzE2NjM4MzUyNDAuMjE5MDU1MiwgMTQ3NDIsIDEuMDMzNTQ2MjA5MzM1MzI3MV0sIFsxNjYzODM1MjQwLjU5MjM0NywgMTQ3NjksIDEuNTcyMzEwMDkwMDY1MDAyNF0sIFsxNjYzODM1MjQwLjcxODMzNTQsIDE0Nzc4LCAwLjk5Nzg2NTY3Njg3OTg4MjhdLCBbMTY2MzgzNTI0MS4zNjg2NTEsIDE0ODIzLCAxLjI1NjI0NTk3MDcyNjAxMzJdLCBbMTY2MzgzNTI0MS40OTg5OTQsIDE0ODMyLCAxLjA5ODM0NDQ0NTIyODU3NjddLCBbMTY2MzgzNTI0Mi4wMjcyMjU1LCAxNDg2OCwgMS4zNjM0NTAxNjk1NjMyOTM1XSwgWzE2NjM4MzUyNDIuMTYyNjI3NywgMTQ4NzcsIDEuMTczNjMyMzgzMzQ2NTU3Nl0sIFsxNjYzODM1MjQyLjMxNzE0OSwgMTQ4ODYsIDEuMjY5OTM0ODkyNjU0NDE5XSwgWzE2NjM4MzUyNDIuNDM2MDY4LCAxNDg5NSwgMS4xMDUxMTc3OTc4NTE1NjI1XSwgWzE2NjM4MzUyNDIuNjk4NTE1MiwgMTQ5MTMsIDEuMDgxNDE3OTE4MjA1MjYxMl0sIFsxNjYzODM1MjQyLjk0ODczMjQsIDE0OTMxLCAxLjIxOTI3MjAxNzQ3ODk0MjldLCBbMTY2MzgzNTI0My40NDI2NiwgMTQ5NjcsIDEuMTg4Njk4NjQ5NDA2NDMzXSwgWzE2NjM4MzUyNDMuNjk2MDEwOCwgMTQ5ODUsIDEuMTYzMTQyNTYxOTEyNTM2Nl0sIFsxNjYzODM1MjQzLjkzNjE1MjUsIDE1MDAzLCAxLjE2NTcyMjM3MDE0NzcwNV0sIFsxNjYzODM1MjQ0LjI5MDk1ODIsIDE1MDMwLCAxLjM3NTM2NTEzODA1Mzg5NF0sIFsxNjYzODM1MjQ0LjM5MjQxMywgMTUwMzksIDEuMjUxODQzNDUyNDUzNjEzM10sIFsxNjYzODM1MjQ0LjgyMjI3ODMsIDE1MDc1LCAxLjI1OTY0NzI1MDE3NTQ3Nl0sIFsxNjYzODM1MjQ1LjIxNTMxNzUsIDE1MTAyLCAxLjAwMTI1MDg2MzA3NTI1NjNdLCBbMTY2MzgzNTI0NS40NjI3NjI4LCAxNTEyMCwgMS4wNDc4ODM4NjgyMTc0NjgzXSwgWzE2NjM4MzUyNDUuNTc5NDY4MywgMTUxMjksIDEuMjE3OTE1NzczMzkxNzIzNl0sIFsxNjYzODM1MjQ1LjgyMzkxMTQsIDE1MTQ3LCAxLjA2MDkzNTQ5NzI4MzkzNTVdLCBbMTY2MzgzNTI0Ni4yMDM5NjQ1LCAxNTE3NCwgMS4wNTQxNDA1Njc3Nzk1NDFdLCBbMTY2MzgzNTI0Ni4zNTUzMTgsIDE1MTgzLCAwLjk2NDcxMjc5ODU5NTQyODVdLCBbMTY2MzgzNTI0Ni40ODE4NjU0LCAxNTE5MiwgMS4wOTk4NDg1MDg4MzQ4Mzg5XSwgWzE2NjM4MzUyNDYuNjE3ODQ3MiwgMTUyMDEsIDEuMDI0Mzg1MjEzODUxOTI4N10sIFsxNjYzODM1MjQ3LjI2NzIwNDUsIDE1MjQ2LCAxLjQxNDc4MzM1ODU3MzkxMzZdLCBbMTY2MzgzNTI0Ny4zODgzODEyLCAxNTI1NSwgMC45NjYyODk5OTcxMDA4MzAxXSwgWzE2NjM4MzUyNDcuNTIzMTYzMywgMTUyNjQsIDAuOTkzOTA5NzE2NjA2MTQwMV0sIFsxNjYzODM1MjQ4LjAzNTUxOTgsIDE1MzAwLCAxLjA2MDcyMDIwNTMwNzAwNjhdLCBbMTY2MzgzNTI0OC40MTg2MjI3LCAxNTMyNywgMS4wNDg4MTMzNDMwNDgwOTU3XSwgWzE2NjM4MzUyNDguNjcxMzEzOCwgMTUzNDUsIDEuMDcyMTc5Nzk0MzExNTIzNF0sIFsxNjYzODM1MjQ5LjA0NjA2NDksIDE1MzcyLCAxLjA0NjEzNzMzMjkxNjI1OThdLCBbMTY2MzgzNTI0OS4yODkwMTM5LCAxNTM5MCwgMS4zNDQ2MDEyNzM1MzY2ODIxXSwgWzE2NjM4MzUyNDkuNDA3NDE2LCAxNTM5OSwgMS4xOTUyOTI1OTIwNDg2NDVdLCBbMTY2MzgzNTI0OS41MzE2MDg2LCAxNTQwOCwgMS4wMzU1MDUyOTQ3OTk4MDQ3XSwgWzE2NjM4MzUyNDkuNjUyNTUxNywgMTU0MTcsIDEuMTY0NzQ2NTIyOTAzNDQyNF0sIFsxNjYzODM1MjUwLjYzODUyNzIsIDE1NDcxLCAxLjYyMjI5MTkyMjU2OTI3NV0sIFsxNjYzODM1MjUxLjE0ODQ3ODcsIDE1NTA3LCAxLjA0MTk4NjU4NDY2MzM5MTFdLCBbMTY2MzgzNTI1MS4yNzQ0MjAzLCAxNTUxNiwgMS4zMDk1NDIyOTgzMTY5NTU2XSwgWzE2NjM4MzUyNTEuMzgyNzQ3NCwgMTU1MjUsIDEuMTQwMTY3ODMyMzc0NTcyOF0sIFsxNjYzODM1MjUxLjQ4NjYzOCwgMTU1MzQsIDEuODQ1MDI0MTA4ODg2NzE4OF0sIFsxNjYzODM1MjUyLjAyODQsIDE1NTc5LCAxLjEwMTY5NDU4Mzg5MjgyMjNdLCBbMTY2MzgzNTI1Mi45MDcxOTc3LCAxNTY1MSwgMS4yNzYxNDc5NjE2MTY1MTYxXSwgWzE2NjM4MzUyNTMuMDA5MDgyOCwgMTU2NjAsIDEuMTMzOTA0MzM3ODgyOTk1Nl0sIFsxNjYzODM1MjUzLjQzMTYwMzQsIDE1Njk2LCAxLjM0Mjc1MzE3MTkyMDc3NjRdLCBbMTY2MzgzNTI1My42NDI1MDYsIDE1NzE0LCAxLjAyNDk3NDgyMjk5ODA0NjldLCBbMTY2MzgzNTI1My45ODI1MywgMTU3NDEsIDEuMzAzMTkyMTM4NjcxODc1XSwgWzE2NjM4MzUyNTQuMTg3NzM1LCAxNTc1OSwgMS4zNzk2NjcxNjI4OTUyMDI2XSwgWzE2NjM4MzUyNTQuMjg1NDM5MywgMTU3NjgsIDEuMDAwNjAwMjE4NzcyODg4Ml0sIFsxNjYzODM1MjU0LjQ5MDYzNiwgMTU3ODYsIDEuMjQ4ODMxNTEwNTQzODIzMl0sIFsxNjYzODM1MjU0LjU5MTI4NywgMTU3OTUsIDAuOTgxMDgwNDEyODY0Njg1MV0sIFsxNjYzODM1MjU0LjkwOTgzODQsIDE1ODIyLCAxLjE3NzAxMDg5MzgyMTcxNjNdLCBbMTY2MzgzNTI1NS41MDE2MjEyLCAxNTg2NywgMS4wMTA0OTM4NzQ1NDk4NjU3XSwgWzE2NjM4MzUyNTUuNjgxMjM3NywgMTU4NzYsIDEuMjIzMTYxMTAxMzQxMjQ3Nl0sIFsxNjYzODM1MjU1Ljk0MDczMTMsIDE1ODk0LCAxLjA1MzExODQ2NzMzMDkzMjZdLCBbMTY2MzgzNTI1Ni4zMjU5NjQ3LCAxNTkyMSwgMS4xNDc0NDY2MzIzODUyNTRdLCBbMTY2MzgzNTI1Ny4xNDk2ODgyLCAxNTk4NCwgMS4wMDQ1NTA2OTU0MTkzMTE1XSwgWzE2NjM4MzUyNTcuMjg0NTcyNCwgMTU5OTMsIDEuMjU1NTY3NDMxNDQ5ODkwMV0sIFsxNjYzODM1MjU3LjM5OTQ3NzcsIDE2MDAyLCAxLjI1NzI5MTc5MzgyMzI0MjJdLCBbMTY2MzgzNTI1Ny43Mjc0NzI1LCAxNjAyOSwgMS4wMzQwNjQ1MzEzMjYyOTRdLCBbMTY2MzgzNTI1OC4xODk2Nzg0LCAxNjA2NSwgMS4yNTMzNzIxOTIzODI4MTI1XSwgWzE2NjM4MzUyNTguMzA0NzQ2LCAxNjA3NCwgMS4xOTI4MDEzNTYzMTU2MTI4XSwgWzE2NjM4MzUyNTguNDI2MTUzMiwgMTYwODMsIDAuOTE4NTc3NjExNDQ2MzgwNl0sIFsxNjYzODM1MjU4Ljc5NTg2MSwgMTYxMTAsIDEuMTYwMTA2Nzc4MTQ0ODM2NF0sIFsxNjYzODM1MjU4LjkwNzU2MDMsIDE2MTE5LCAxLjExNzYwNjE2MzAyNDkwMjNdLCBbMTY2MzgzNTI1OS4xOTAyMTc1LCAxNjEzNywgMS4xNjI3Mjc5NTIwMDM0NzldLCBbMTY2MzgzNTI1OS40MzI1NCwgMTYxNTUsIDEuMTg0ODM1MzE0NzUwNjcxNF0sIFsxNjYzODM1MjU5LjY3MzUyODQsIDE2MTczLCAxLjE3MTUwNjY0MzI5NTI4OF0sIFsxNjYzODM1MjYwLjE1NDM5MzIsIDE2MjA5LCAxLjcyMzUwOTc4ODUxMzE4MzZdLCBbMTY2MzgzNTI2MC41NjgxODk0LCAxNjIyNywgMS4yNTI0MTIwODA3NjQ3NzA1XSwgWzE2NjM4MzUyNjEuMTQ1MzUxLCAxNjI4MSwgMS4wNTgwNDU1MDY0NzczNTZdLCBbMTY2MzgzNTI2MS4zMzczMjY1LCAxNjI5OSwgMS4xOTkzODAwNDAxNjg3NjIyXSwgWzE2NjM4MzUyNjEuODA4ODExNywgMTYzMzUsIDEuMDM5MjUxMzI3NTE0NjQ4NF0sIFsxNjYzODM1MjYyLjMxMzg4MzMsIDE2MzgwLCAxLjEyNzA3OTM2NzYzNzYzNDNdLCBbMTY2MzgzNTI2Mi43MjU4NTY4LCAxNjQxNiwgMC45ODA2MzU1ODM0MDA3MjYzXSwgWzE2NjM4MzUyNjMuMDExMDg0NiwgMTY0NDMsIDEuMTAyMDUwNTQyODMxNDIxXSwgWzE2NjM4MzUyNjMuMTAyODUzNSwgMTY0NTIsIDEuMDU4MTA4MzI5NzcyOTQ5Ml0sIFsxNjYzODM1MjYzLjI5OTY5NTcsIDE2NDcwLCAwLjk0ODk2NDgzNDIxMzI1NjhdLCBbMTY2MzgzNTI2My4zOTQ3NTcsIDE2NDc5LCAwLjk4NTQwMDMxOTA5OTQyNjNdLCBbMTY2MzgzNTI2My41OTI2MzIzLCAxNjQ5NywgMS4wNTI1Nzc5NzI0MTIxMDk0XSwgWzE2NjM4MzUyNjMuNjg2MjE4NSwgMTY1MDYsIDAuOTkxMTg0NzcxMDYwOTQzNl0sIFsxNjYzODM1MjYzLjc5NDI3MzYsIDE2NTE1LCAxLjE0NjY1ODY1ODk4MTMyMzJdLCBbMTY2MzgzNTI2My45ODYxNDQ4LCAxNjUzMywgMS4wNjk2NzU5MjIzOTM3OTg4XSwgWzE2NjM4MzUyNjQuMDc1NjA4LCAxNjU0MiwgMS4yNTUxODE3ODkzOTgxOTM0XSwgWzE2NjM4MzUyNjQuMTc2Mzc1NCwgMTY1NTEsIDEuMjM4Nzc0NDE4ODMwODcxNl0sIFsxNjYzODM1MjY0Ljg4NDYwMDYsIDE2NjE0LCAxLjMyMjM1NDc5MzU0ODU4NF0sIFsxNjYzODM1MjY0Ljk4Nzk0OTYsIDE2NjIzLCAwLjkyMDE3Mzc2NDIyODgyMDhdLCBbMTY2MzgzNTI2NS4xNjE0OTk1LCAxNjYzMiwgMC45NzMxODg0MDAyNjg1NTQ3XSwgWzE2NjM4MzUyNjUuMzA0ODQwOCwgMTY2NDEsIDEuMjUzNzcwMjMyMjAwNjIyNl0sIFsxNjYzODM1MjY1LjY5MTg3NTIsIDE2NjY4LCAxLjMwMzI0MjIwNjU3MzQ4NjNdLCBbMTY2MzgzNTI2Ni43NTQwOTc3LCAxNjc0OSwgMC45NTkwODM2MTY3MzM1NTFdLCBbMTY2MzgzNTI2Ny4zNDA5MTYsIDE2Nzk0LCAwLjkyNjE2MTQwODQyNDM3NzRdLCBbMTY2MzgzNTI2Ny40Mzg0NzU4LCAxNjgwMywgMS4xNDg2OTA1ODEzMjE3MTYzXSwgWzE2NjM4MzUyNjcuNTQyOTk2MiwgMTY4MTIsIDAuOTM2MDYxMzgyMjkzNzAxMl0sIFsxNjYzODM1MjY3LjkzNjIxNzgsIDE2ODQ4LCAxLjA5NTY4NDc2Njc2OTQwOTJdLCBbMTY2MzgzNTI2OC4wNDM1MTA0LCAxNjg1NywgMS4wMDExMzQ4NzI0MzY1MjM0XSwgWzE2NjM4MzUyNjguMjUxNjkzNSwgMTY4NzUsIDEuMTI5ODczNTE0MTc1NDE1XSwgWzE2NjM4MzUyNjguNTQ5MjkyMywgMTY5MDIsIDAuOTc2MTU3NTQ2MDQzMzk2XSwgWzE2NjM4MzUyNjguODcxMTg5NiwgMTY5MjksIDEuMTI5NzIxOTk5MTY4Mzk2XSwgWzE2NjM4MzUyNjkuMTc1MTUzNSwgMTY5NTYsIDEuMDUyNTAxOTE2ODg1Mzc2XSwgWzE2NjM4MzUyNjkuNTA0Mzk0LCAxNjk2NSwgMS40NjUwNjk1MzIzOTQ0MDkyXSwgWzE2NjM4MzUyNjkuNzA0NzA5MywgMTY5ODMsIDEuMzMyMzcyNjY1NDA1MjczNF0sIFsxNjYzODM1MjY5LjkwNDY3OTgsIDE3MDAxLCAxLjQ0OTczMTU4ODM2MzY0NzVdLCBbMTY2MzgzNTI3MC4xMDcwODU1LCAxNzAxOSwgMS4xMjAyNjM2OTU3MTY4NThdLCBbMTY2MzgzNTI3MC41OTA3NTc0LCAxNzA2NCwgMS4zNTczNDUyMjM0MjY4MTg4XSwgWzE2NjM4MzUyNzEuMDI3OTM3LCAxNzEwMCwgMS4wMDE0OTExODkwMDI5OTA3XSwgWzE2NjM4MzUyNzEuMzIyMTgzNCwgMTcxMjcsIDAuOTgyNDc0NDQ2Mjk2NjkxOV0sIFsxNjYzODM1MjcxLjcyMzg2NjcsIDE3MTYzLCAxLjIzNjM2MjA5OTY0NzUyMl0sIFsxNjYzODM1MjcxLjkyNDI3NTksIDE3MTgxLCAxLjAxMTMwMzY2MzI1Mzc4NDJdLCBbMTY2MzgzNTI3Mi4wNDAyODgsIDE3MTkwLCAwLjkzMjYxMTc2MzQ3NzMyNTRdLCBbMTY2MzgzNTI3Mi4xNzI4MjksIDE3MTk5LCAxLjMwNDA5OTMyMTM2NTM1NjRdLCBbMTY2MzgzNTI3Mi41Nzg2NTgsIDE3MjI2LCAxLjIwMTY4NzkzMjAxNDQ2NTNdLCBbMTY2MzgzNTI3My4yMzc0NTU2LCAxNzI3MSwgMS4xNzYzMjc4MjQ1OTI1OTAzXSwgWzE2NjM4MzUyNzMuOTEzMjcwNywgMTczMjUsIDEuMDU1NjY0NTM5MzM3MTU4Ml0sIFsxNjYzODM1Mjc0LjAzMjg1MjYsIDE3MzM0LCAxLjA2MjIyNDE0OTcwMzk3OTVdLCBbMTY2MzgzNTI3NC4xNDk3OTkzLCAxNzM0MywgMS4wNTQ2ODA0NjY2NTE5MTY1XSwgWzE2NjM4MzUyNzQuNDU4NjAyLCAxNzM3MCwgMS4wODU5NjEzNDE4NTc5MTAyXSwgWzE2NjM4MzUyNzQuODM5NTI5MywgMTczOTcsIDEuMDU5MzcxMTEzNzc3MTYwNl0sIFsxNjYzODM1Mjc1LjE5NjM1NjgsIDE3NDI0LCAxLjEyMjc3NDEyNDE0NTUwNzhdLCBbMTY2MzgzNTI3NS4zMjA5MjQsIDE3NDMzLCAwLjkyODY1Mjg4MjU3NTk4ODhdLCBbMTY2MzgzNTI3NS43OTYzMjM1LCAxNzQ2OSwgMS4xMDcxOTYyMTE4MTQ4ODA0XSwgWzE2NjM4MzUyNzUuOTUzMjE3NywgMTc0NzgsIDEuMDk5ODAyNDk0MDQ5MDcyM10sIFsxNjYzODM1Mjc2LjA2ODgwOSwgMTc0ODcsIDEuMTIzMzc5NTg4MTI3MTM2Ml0sIFsxNjYzODM1Mjc2LjQzODA1MzQsIDE3NTE0LCAxLjA0OTg1ODIxMjQ3MTAwODNdLCBbMTY2MzgzNTI3Ni42NjY3MzksIDE3NTMyLCAxLjAzMzU2ODYyMDY4MTc2MjddLCBbMTY2MzgzNTI3Ny4wMDY0NTI4LCAxNzU1OSwgMS4zNjU2MDA5NDM1NjUzNjg3XSwgWzE2NjM4MzUyNzcuMzcwMTY0NCwgMTc1ODYsIDEuMjE3MDg5ODkxNDMzNzE1OF0sIFsxNjYzODM1Mjc3LjcxNjU0NjMsIDE3NjEzLCAxLjA5ODUyOTkzNDg4MzExNzddLCBbMTY2MzgzNTI3OC4yMDEyNDI0LCAxNzY0OSwgMS4xNDA3MDUyMjc4NTE4Njc3XSwgWzE2NjM4MzUyNzguMzE3MDkzMSwgMTc2NTgsIDEuMTIxMTAxMTQwOTc1OTUyMV0sIFsxNjYzODM1Mjc4LjQ0NzAxMTIsIDE3NjY3LCAxLjYxMTEyMTI5Njg4MjYyOTRdLCBbMTY2MzgzNTI3OC41NjU4OTQ4LCAxNzY3NiwgMS4wODg3ODI1NDg5MDQ0MTldLCBbMTY2MzgzNTI3OC42ODY0MzgsIDE3Njg1LCAxLjE2OTg5OTcwMjA3MjE0MzZdLCBbMTY2MzgzNTI3OS4xNzE5OTQsIDE3NzAzLCAxLjE0MTEyODc3ODQ1NzY0MTZdLCBbMTY2MzgzNTI3OS4zMTkwMTI0LCAxNzcxMiwgMS4xNDc0MDEwOTQ0MzY2NDU1XSwgWzE2NjM4MzUyNzkuNDMzMjg3OSwgMTc3MjEsIDEuMDU4ODU4NjMzMDQxMzgxOF0sIFsxNjYzODM1Mjc5LjU1Mzk4MjUsIDE3NzMwLCAwLjk5Mzc0NDI1NDExMjI0MzddLCBbMTY2MzgzNTI4MC41MDkwNjI4LCAxNzgwMiwgMS4wMzQ3NzM3MDczODk4MzE1XSwgWzE2NjM4MzUyODAuNzM3NTI1NSwgMTc4MjAsIDEuMTA2MTg0MjQ0MTU1ODgzOF0sIFsxNjYzODM1MjgwLjg1MzU1NDUsIDE3ODI5LCAxLjA4NjE5NzM3NjI1MTIyMDddLCBbMTY2MzgzNTI4MC45NjczNDkzLCAxNzgzOCwgMS4xNTc4OTIzNDYzODIxNDExXSwgWzE2NjM4MzUyODEuMDY5NTMyLCAxNzg0NywgMS4wMzgzNDMzMTAzNTYxNDAxXSwgWzE2NjM4MzUyODEuMzY2Nzc3LCAxNzg3NCwgMS4yNTgxMzY5ODc2ODYxNTcyXSwgWzE2NjM4MzUyODEuNTY2NywgMTc4OTIsIDAuOTgwNDg4NTM4NzQyMDY1NF0sIFsxNjYzODM1MjgxLjY2ODAwOTMsIDE3OTAxLCAxLjAyNDIxNDYyNTM1ODU4MTVdLCBbMTY2MzgzNTI4MS45NTQ2OTcsIDE3OTI4LCAxLjA5Nzc5OTg5NzE5MzkwODddLCBbMTY2MzgzNTI4Mi4wNTcxNzQyLCAxNzkzNywgMS40MjU1MTM4NjM1NjM1Mzc2XSwgWzE2NjM4MzUyODQuODk1OTgyMywgMTgxNTMsIDAuOTQxMDIxNjIxMjI3MjY0NF0sIFsxNjYzODM1Mjg1LjAxNTg4OTIsIDE4MTYyLCAxLjQwNDI3MjE5ODY3NzA2M10sIFsxNjYzODM1Mjg1LjQ5MzI0OTcsIDE4MTk4LCAxLjAyODExNzE3OTg3MDYwNTVdLCBbMTY2MzgzNTI4NS42MTI4ODM2LCAxODIwNywgMS4wNDgwOTU5NDE1NDM1NzldLCBbMTY2MzgzNTI4NS43MjQ4MzMsIDE4MjE2LCAxLjE5MTc4ODA3NzM1NDQzMTJdLCBbMTY2MzgzNTI4Ni4wODA0ODM0LCAxODI0MywgMS4wMjc4MzgzNDkzNDIzNDYyXSwgWzE2NjM4MzUyODYuMzEwOTExMiwgMTgyNjEsIDEuMDcwOTI3MzgxNTE1NTAzXSwgWzE2NjM4MzUyODYuNjUyNTE0NSwgMTgyODgsIDEuMTEyMzEzODY2NjE1Mjk1NF0sIFsxNjYzODM1Mjg2Ljc2NDE4MDcsIDE4Mjk3LCAxLjEyODMwMjU3NDE1NzcxNDhdLCBbMTY2MzgzNTI4Ni45OTY1MDg0LCAxODMxNSwgMS4yMzM4NDE0MTkyMTk5NzA3XSwgWzE2NjM4MzUyODcuMTEwNjA5MywgMTgzMjQsIDEuMjgwNzQ4MzY3MzA5NTcwM10sIFsxNjYzODM1Mjg3LjIxNjA5NywgMTgzMzMsIDEuODEyMDk5OTMzNjI0MjY3Nl0sIFsxNjYzODM1Mjg3LjYxOTkwMjEsIDE4MzY5LCAxLjE0MTQ2MTczMDAwMzM1N10sIFsxNjYzODM1Mjg3LjkyNzg4MjcsIDE4Mzk2LCAxLjI3NjM5MTk4MzAzMjIyNjZdLCBbMTY2MzgzNTI4OC4zMjcxOTIsIDE4NDMyLCAxLjEwNDM1ODE5NjI1ODU0NV0sIFsxNjYzODM1Mjg4LjUyNTU4MiwgMTg0NTAsIDEuMDI1ODM3MDYzNzg5MzY3N10sIFsxNjYzODM1Mjg5LjI2NDI3MzIsIDE4NDk1LCAxLjAzOTI0OTQyMDE2NjAxNTZdLCBbMTY2MzgzNTI4OS4zNzMwNDA0LCAxODUwNCwgMS4wMzIxMTgyMDEyNTU3OTgzXSwgWzE2NjM4MzUyODkuNDY4Njk3OCwgMTg1MTMsIDEuMDA3NDA5NDUzMzkyMDI4OF0sIFsxNjYzODM1Mjg5LjU4NTIxOTYsIDE4NTIyLCAxLjIyMDQzNDQyNzI2MTM1MjVdLCBbMTY2MzgzNTI5MC43MTc2NTUyLCAxODYxMiwgMS4yNTA0NTA2MTExMTQ1MDJdLCBbMTY2MzgzNTI5MC44MzczMDUsIDE4NjIxLCAxLjE4NzUwMzkzMzkwNjU1NTJdLCBbMTY2MzgzNTI5MS4wOTQxOTUsIDE4NjM5LCAxLjEzODk3MTMyODczNTM1MTZdLCBbMTY2MzgzNTI5MS41NTAyMDA1LCAxODY3NSwgMS4wMjkyMzg0NjI0NDgxMjAxXSwgWzE2NjM4MzUyOTIuMTMyMDUzNiwgMTg3MjAsIDEuNDY3MjAyNjYzNDIxNjMwOV0sIFsxNjYzODM1MjkyLjc0MDE2MzgsIDE4NzY1LCAxLjIzNjIxMTA2MTQ3NzY2MTFdLCBbMTY2MzgzNTI5My4wNDgwNDMsIDE4NzgzLCAxLjI3Mjg5NDM4MjQ3NjgwNjZdLCBbMTY2MzgzNTI5My4xNjE5NzM1LCAxODc5MiwgMS4wMTc1OTM4NjA2MjYyMjA3XSwgWzE2NjM4MzUyOTMuMzU4NzEyLCAxODgxMCwgMS41Mzk3ODAyNTkxMzIzODUzXSwgWzE2NjM4MzUyOTMuNDgxNzExNCwgMTg4MTksIDEuNjg3MzkwNDQ2NjYyOTAyOF0sIFsxNjYzODM1MjkzLjYwNzg4MTgsIDE4ODI4LCAxLjA5MTM3MDM0NDE2MTk4NzNdLCBbMTY2MzgzNTI5NC4wNjAyNTUzLCAxODg2NCwgMS4wODA4ODY5NjAwMjk2MDJdLCBbMTY2MzgzNTI5NC4zMzMzMTQ3LCAxODg4MiwgMS4yMDIxMDQ2ODc2OTA3MzQ5XSwgWzE2NjM4MzUyOTQuNDUyODgxNiwgMTg4OTEsIDEuMDUzODkyMzc0MDM4Njk2M10sIFsxNjYzODM1Mjk0LjY4ODc1NDMsIDE4OTA5LCAwLjk0MTg0NDIyNDkyOTgwOTZdLCBbMTY2MzgzNTI5NS4wMzg0ODYsIDE4OTM2LCAxLjAwMzEwMjA2NDEzMjY5MDRdLCBbMTY2MzgzNTI5NS4xNTI5OTQ5LCAxODk0NSwgMS4xMjM0MTI0ODk4OTEwNTIyXSwgWzE2NjM4MzUyOTUuMjcyNjE5LCAxODk1NCwgMS4xODMzNzQ2NDMzMjU4MDU3XSwgWzE2NjM4MzUyOTUuNzUyNDg4NCwgMTg5OTAsIDEuMTIzODM4NTQzODkxOTA2N10sIFsxNjYzODM1Mjk1Ljg2NTYxNzUsIDE4OTk5LCAxLjE3NzM2MDA1NzgzMDgxMDVdLCBbMTY2MzgzNTI5Ni4zNTA0NTEyLCAxOTAzNSwgMS4xNDE1NDMzODgzNjY2OTkyXSwgWzE2NjM4MzUyOTYuNDY3NTg2LCAxOTA0NCwgMS4wNDk2MTQ2Njc4OTI0NTZdLCBbMTY2MzgzNTI5Ni45NTE0OTQsIDE5MDgwLCAxLjI1NjIxMzA2ODk2MjA5NzJdLCBbMTY2MzgzNTI5Ny4wNjYwNTc3LCAxOTA4OSwgMS4zOTk4NzA5OTE3MDY4NDgxXSwgWzE2NjM4MzUyOTcuMzI4MDMzLCAxOTEwNywgMS4xNjA5MTY2ODYwNTgwNDQ0XSwgWzE2NjM4MzUyOTcuNDMxMTMyMywgMTkxMTYsIDEuMDY2ODI2MTA1MTE3Nzk3OV0sIFsxNjYzODM1Mjk3LjUzMjM4NjgsIDE5MTI1LCAxLjAyOTk2NzQyNzI1MzcyMzFdLCBbMTY2MzgzNTI5Ny44NDQwMDYsIDE5MTUyLCAxLjI5NTU4NDkxNzA2ODQ4MTRdLCBbMTY2MzgzNTI5OC42MDgzNTQzLCAxOTIxNSwgMS4wNjcxMzg5MTAyOTM1NzldLCBbMTY2MzgzNTI5OC43MTU5NTE3LCAxOTIyNCwgMS4xNzAxMjU2MDM2NzU4NDIzXSwgWzE2NjM4MzUyOTkuMDQ4MDg2MiwgMTkyMzMsIDEuMDkyNjk5MTcwMTEyNjA5OV0sIFsxNjYzODM1Mjk5LjM3MjA2MTcsIDE5MjYwLCAxLjMxODU4Mzg0NjA5MjIyNDFdLCBbMTY2MzgzNTI5OS43NzA1NTcyLCAxOTI5NiwgMS4xNDU2MjAzNDYwNjkzMzZdLCBbMTY2MzgzNTMwMC40MzUxMDIyLCAxOTM1MCwgMC45MTY2MjYyMTQ5ODEwNzkxXSwgWzE2NjM4MzUzMDAuNTg5MTYxLCAxOTM1OSwgMS4wNDA0NDk5NzY5MjEwODE1XSwgWzE2NjM4MzUzMDEuMDM1MzY5NCwgMTkzOTUsIDAuOTUwNjE3ODQ5ODI2ODEyN10sIFsxNjYzODM1MzAxLjEyODA3MTMsIDE5NDA0LCAxLjIwMDQ1MDg5NzIxNjc5NjldLCBbMTY2MzgzNTMwMS42NDA2MDA3LCAxOTQ0MCwgMS4xNDIwMzQwNTM4MDI0OTAyXSwgWzE2NjM4MzUzMDEuNzU3NDQ3MiwgMTk0NDksIDEuMTcxODcxMTg1MzAyNzM0NF0sIFsxNjYzODM1MzAxLjg3NDA4MiwgMTk0NTgsIDEuMjU2NTUyNjk2MjI4MDI3M10sIFsxNjYzODM1MzAyLjAwNzI3NSwgMTk0NjcsIDEuMDY0ODQ0MzY5ODg4MzA1N10sIFsxNjYzODM1MzAyLjc4Njk5MzUsIDE5NTMwLCAxLjA4MzkxNzQ5ODU4ODU2Ml0sIFsxNjYzODM1MzAzLjIxNTE4NjYsIDE5NTY2LCAxLjA4MTQ3Nzk5OTY4NzE5NDhdLCBbMTY2MzgzNTMwMy40MTY4NzYzLCAxOTU4NCwgMS4xODM4Mzc1MzI5OTcxMzEzXSwgWzE2NjM4MzUzMDMuNTE4MzU0NCwgMTk1OTMsIDAuOTc0MTY0MTg3OTA4MTcyNl0sIFsxNjYzODM1MzA0LjI2NDE3NjEsIDE5NjU2LCAxLjQxODk2MzQzMjMxMjAxMTddLCBbMTY2MzgzNTMwNC40NjEwODQ2LCAxOTY3NCwgMS4xMTEzNDUwNTI3MTkxMTYyXSwgWzE2NjM4MzUzMDQuNjg3MzU5MywgMTk2OTIsIDAuOTM4NDkxMzQ0NDUxOTA0M10sIFsxNjYzODM1MzA0Ljg5NDcxNzcsIDE5NzEwLCAxLjE5NDk5MjU0MjI2Njg0NTddLCBbMTY2MzgzNTMwNS40NTg5MjgzLCAxOTc1NSwgMS4wNTYyOTA3NDU3MzUxNjg1XSwgWzE2NjM4MzUzMDYuMDcyMzYxLCAxOTgwMCwgMS4wMzEwMTI0MTU4ODU5MjUzXSwgWzE2NjM4MzUzMDYuMjg5ODcwMywgMTk4MTgsIDEuMDQ1OTY5NDg2MjM2NTcyM10sIFsxNjYzODM1MzA2LjQxNjYzNDYsIDE5ODI3LCAwLjk4Nzc1OTk0Nzc3Njc5NDRdLCBbMTY2MzgzNTMwNi41MjU3MDU4LCAxOTgzNiwgMS4wMTYwNjQ1MjQ2NTA1NzM3XSwgWzE2NjM4MzUzMDYuODI4NTY0NCwgMTk4NjMsIDEuMjQ3MTg2MTgzOTI5NDQzNF0sIFsxNjYzODM1MzA3LjEzMTg1MSwgMTk4OTAsIDEuMTU2MjQxMDU5MzAzMjgzN10sIFsxNjYzODM1MzA3LjM0MTE4NzIsIDE5OTA4LCAxLjAwMTIxMDQ1MTEyNjA5ODZdLCBbMTY2MzgzNTMwNy40NDAwMTA1LCAxOTkxNywgMS4yNzc5MzEzMzI1ODgxOTU4XSwgWzE2NjM4MzUzMDcuNjY0MTYwMywgMTk5MzUsIDEuMTEwMDI0NDUyMjA5NDcyN10sIFsxNjYzODM1MzA3Ljc1ODk3ODEsIDE5OTQ0LCAxLjI2NTkxNDU1OTM2NDMxODhdLCBbMTY2MzgzNTMwOC41OTg3MTE1LCAxOTk5OCwgMS4xMDg4ODQ2OTIxOTIwNzc2XSwgWzE2NjM4MzUzMDkuMDE5NzU0NCwgMjAwMzQsIDAuOTgzNDc2MTYxOTU2Nzg3MV0sIFsxNjYzODM1MzA5LjIzNDY4NywgMjAwNTIsIDEuNTA1NDI5MTQ4Njc0MDExMl0sIFsxNjYzODM1MzEwLjIwODg5MjMsIDIwMTMzLCAxLjE4NTk0MjY0OTg0MTMwODZdLCBbMTY2MzgzNTMxMC41MTY3MTMsIDIwMTYwLCAwLjkzMjY5Nzg5MjE4OTAyNTldLCBbMTY2MzgzNTMxMC44MzQ4MzI3LCAyMDE4NywgMS4xMTI0NTA3MTg4Nzk2OTk3XSwgWzE2NjM4MzUzMTEuMDU1MzE2MiwgMjAyMDUsIDEuMDc3ODc4NDc1MTg5MjA5XSwgWzE2NjM4MzUzMTIuMTM5NTQ4MywgMjAyOTUsIDEuMjA4NDM4ODczMjkxMDE1Nl0sIFsxNjYzODM1MzEyLjQ1NjE5MSwgMjAzMjIsIDEuMjE3Mzc0MjA1NTg5Mjk0NF0sIFsxNjYzODM1MzEyLjU1ODk5OTMsIDIwMzMxLCAxLjIyNTc5MjE2OTU3MDkyMjldLCBbMTY2MzgzNTMxMy4yODYzNzM5LCAyMDM4NSwgMC45MDk1MzcwMTczNDU0Mjg1XSwgWzE2NjM4MzUzMTMuNjU1NjQ3MywgMjA0MTIsIDEuMTQzNjgyMTIyMjMwNTI5OF0sIFsxNjYzODM1MzE0LjcxMDAxMzYsIDIwNDkzLCAxLjE2MTQzODU4NDMyNzY5NzhdLCBbMTY2MzgzNTMxNS4xNDM4ODc4LCAyMDUyOSwgMC45NTQyNjE2MDA5NzEyMjE5XSwgWzE2NjM4MzUzMTUuMjYwODk4NiwgMjA1MzgsIDAuOTUxMDM2MjE0ODI4NDkxMl0sIFsxNjYzODM1MzE1LjcwMDU5MzUsIDIwNTc0LCAxLjEyNDE0Mjg4NTIwODEyOTldLCBbMTY2MzgzNTMxNi4yNzY2MDMsIDIwNjI4LCAxLjE1NzMwMDM1MzA1MDIzMl0sIFsxNjYzODM1MzE2LjM3NDgxMjgsIDIwNjM3LCAxLjIyNjE0MjUyNTY3MjkxMjZdLCBbMTY2MzgzNTMxNi40ODQ2MDI1LCAyMDY0NiwgMS4xMzAyMjA3NzA4MzU4NzY1XSwgWzE2NjM4MzUzMTcuMzk2OTI1MiwgMjA3MDksIDEuNjQwMzI0MzU0MTcxNzUzXSwgWzE2NjM4MzUzMTguMjYxNzA2NCwgMjA3NTQsIDAuOTgxNjY5MDA4NzMxODQyXSwgWzE2NjM4MzUzMTguMzc4NTI1NSwgMjA3NjMsIDEuMDA1MDQ5NzA1NTA1MzcxXSwgWzE2NjM4MzUzMTguNTIwNDQ1MywgMjA3NzIsIDEuMDc4MzI2MjI1MjgwNzYxN10sIFsxNjYzODM1MzE4Ljc3OTU5MzUsIDIwNzkwLCAxLjAzMTgwOTMyOTk4NjU3MjNdLCBbMTY2MzgzNTMxOS4wNTY0NzU0LCAyMDgwOCwgMS4wNTU0OTM5NTA4NDM4MTFdLCBbMTY2MzgzNTMxOS41OTk3MTE3LCAyMDg0NCwgMS4yMjY3NTAyNTQ2MzEwNDI1XSwgWzE2NjM4MzUzMTkuNzM1NDA5MywgMjA4NTMsIDEuMDc3ODI4NjQ1NzA2MTc2OF0sIFsxNjYzODM1MzIwLjE0MDQ0NjcsIDIwODgwLCAxLjE4MzgzMTgxMDk1MTIzM10sIFsxNjYzODM1MzIwLjgwNzU5OTUsIDIwOTI1LCAxLjA0NTMxMDQ5NzI4MzkzNTVdLCBbMTY2MzgzNTMyMS41NzU4NDIsIDIwOTc5LCAxLjA4NzY2OTQ5MTc2Nzg4MzNdLCBbMTY2MzgzNTMyMS44MzYyOTcsIDIwOTk3LCAxLjE0NzQwMjY0NDE1NzQwOTddLCBbMTY2MzgzNTMyMi4xOTYxOTQsIDIxMDI0LCAxLjE0OTE2MzEyNjk0NTQ5NTZdLCBbMTY2MzgzNTMyMi43MTcxNzksIDIxMDY5LCAxLjAxMTk4MDg5MTIyNzcyMjJdLCBbMTY2MzgzNTMyMi45MjQ1OSwgMjEwODcsIDAuOTMyNDU3MzI3ODQyNzEyNF0sIFsxNjYzODM1MzIzLjAzODA2MzMsIDIxMDk2LCAxLjAxODM3MzQ4OTM3OTg4MjhdLCBbMTY2MzgzNTMyMy4xNjU0MTg5LCAyMTEwNSwgMC45MzY1OTU2NzgzMjk0Njc4XSwgWzE2NjM4MzUzMjMuNDIxMTM4NSwgMjExMjMsIDAuOTgwMjQ5NzYyNTM1MDk1Ml0sIFsxNjYzODM1MzIzLjU2NTE0NTUsIDIxMTMyLCAwLjk5MDI5MjU0OTEzMzMwMDhdLCBbMTY2MzgzNTMyMy42OTI5MDMzLCAyMTE0MSwgMS4wODQ1NjY4MzE1ODg3NDUxXSwgWzE2NjM4MzUzMjQuMTAyOTUsIDIxMTY4LCAxLjEzODIzMDU2MjIxMDA4M10sIFsxNjYzODM1MzI0LjI1MTI4NDQsIDIxMTc3LCAxLjEwNzE4MzMzNzIxMTYwODldLCBbMTY2MzgzNTMyNC4zODY2MDQzLCAyMTE4NiwgMS4xMzAzOTkyMjcxNDIzMzRdLCBbMTY2MzgzNTMyNC44MDAyNDU4LCAyMTIyMiwgMS4wNjY3MzI4ODM0NTMzNjkxXSwgWzE2NjM4MzUzMjUuMDEwMTM2NiwgMjEyNDAsIDEuMjEzMDQ1NDc3ODY3MTI2NV0sIFsxNjYzODM1MzI1LjMxNjQ2OTQsIDIxMjY3LCAxLjE1NjcwNDkwMjY0ODkyNThdLCBbMTY2MzgzNTMyNS42MzM1MjUxLCAyMTI5NCwgMS4wMzIyODAyMDY2ODAyOTc5XSwgWzE2NjM4MzUzMjUuOTI2NTY5NywgMjEzMjEsIDEuMTE4NTMzMjUzNjY5NzM4OF0sIFsxNjYzODM1MzI2LjI0Nzg4NzgsIDIxMzQ4LCAxLjA5NTAwODk2OTMwNjk0NThdLCBbMTY2MzgzNTMyNi40NDg5NTM2LCAyMTM2NiwgMS4xNzM4OTA3MDk4NzcwMTQyXSwgWzE2NjM4MzUzMjYuOTM4OTgwOCwgMjE0MTEsIDEuMjQ2Mzk1NDY4NzExODUzXSwgWzE2NjM4MzUzMjcuNTY4MzU3MiwgMjE0NjUsIDEuMDg0OTQ2NjMyMzg1MjU0XSwgWzE2NjM4MzUzMjguMDc4MTQ1MywgMjE1MTAsIDEuMTMxODg4NTA4Nzk2NjkyXSwgWzE2NjM4MzUzMjguNTA2NzkzMywgMjE1MjgsIDEuMjYxNTEzNzEwMDIxOTcyN10sIFsxNjYzODM1MzI4LjcwMjczNSwgMjE1NDYsIDEuMTU4MDg3ODQ5NjE3MDA0NF0sIFsxNjYzODM1MzI4Ljc5ODgzMzYsIDIxNTU1LCAxLjE5MzMyMjE4MTcwMTY2MDJdLCBbMTY2MzgzNTMyOC44OTU3NTYsIDIxNTY0LCAxLjE3OTQzMDQ4NDc3MTcyODVdLCBbMTY2MzgzNTMyOC45OTg1MDcsIDIxNTczLCAxLjE3ODYxMjM1MTQxNzU0MTVdLCBbMTY2MzgzNTMyOS4xMTIxMDQsIDIxNTgyLCAxLjAzNTU5MTk1OTk1MzMwOF0sIFsxNjYzODM1MzI5LjIwNzA5LCAyMTU5MSwgMS4zNjgwMjI5MTg3MDExNzE5XSwgWzE2NjM4MzUzMzAuMjY4MjM5LCAyMTY4MSwgMS4yODY1NDQzMjI5Njc1MjkzXSwgWzE2NjM4MzUzMzAuNzEyNjg5NCwgMjE3MTcsIDEuMDQ2MjM1OTE4OTk4NzE4M10sIFsxNjYzODM1MzMxLjAxMDQxMDgsIDIxNzQ0LCAxLjQ4NzY1OTMzNTEzNjQxMzZdLCBbMTY2MzgzNTMzMS40MjE3MTQ4LCAyMTc4MCwgMS4zNDAwNjM5Mjk1NTc4MDAzXSwgWzE2NjM4MzUzMzIuMzY1MTIzNywgMjE4NjEsIDAuOTM2MzQ0NjgzMTcwMzE4Nl0sIFsxNjYzODM1MzMyLjY3MzQ2MzYsIDIxODg4LCAwLjkwNDk4OTU0MDU3NjkzNDhdLCBbMTY2MzgzNTMzMy4wODM2NzksIDIxOTI0LCAxLjE0NTcxNzAyNDgwMzE2MTZdLCBbMTY2MzgzNTMzMy4xNzY0NjQzLCAyMTkzMywgMS4xNzYwNTA0MjQ1NzU4MDU3XSwgWzE2NjM4MzUzMzMuNDEwNzA3LCAyMTk1MSwgMS4wNDIzNDI2NjI4MTEyNzkzXSwgWzE2NjM4MzUzMzMuNTE0NzA2LCAyMTk2MCwgMS4wMjgwMjA4NTg3NjQ2NDg0XSwgWzE2NjM4MzUzMzMuNzIzNjkwMywgMjE5NzgsIDEuMDcyNjE1MjY1ODQ2MjUyNF0sIFsxNjYzODM1MzMzLjgzMDkxMDcsIDIxOTg3LCAxLjE1MzQ4NzMyNDcxNDY2MDZdLCBbMTY2MzgzNTMzNC40Mzk5NzUzLCAyMjA0MSwgMS4xNDUzODY5MzQyODAzOTU1XSwgWzE2NjM4MzUzMzUuMTIwMDYzNSwgMjIwOTUsIDEuMTg1OTU2NzE2NTM3NDc1Nl0sIFsxNjYzODM1MzM1LjYyNDAyNTMsIDIyMTMxLCAwLjk4ODQwMTcxMDk4NzA5MTFdLCBbMTY2MzgzNTMzNi4wNjgwMzEsIDIyMTY3LCAwLjg4MjUwNzQ0MzQyODAzOTZdLCBbMTY2MzgzNTMzNi40ODg3NDg4LCAyMjE4NSwgMC45MjYxODIzMjk2NTQ2OTM2XSwgWzE2NjM4MzUzMzYuNTg4MTE1LCAyMjE5NCwgMS4zNTA1NDI1NDUzMTg2MDM1XSwgWzE2NjM4MzUzMzYuNzk0MDQ5NSwgMjIyMTIsIDAuOTkyNTQ4MjI3MzEwMTgwN10sIFsxNjYzODM1MzM3LjAxMTI2MzEsIDIyMjMwLCAxLjA3NzgwNjQ3Mjc3ODMyMDNdLCBbMTY2MzgzNTMzNy40NjY4MDIsIDIyMjY2LCAwLjk3MTk3OTkxNjA5NTczMzZdLCBbMTY2MzgzNTMzNy43ODIxMzAyLCAyMjI4NCwgMS4wMTczODkyOTc0ODUzNTE2XSwgWzE2NjM4MzUzMzguMDI0ODI2OCwgMjIzMDIsIDEuMTk2MjkxMzI3NDc2NTAxNV0sIFsxNjYzODM1MzM4Ljg0ODAzOTQsIDIyMzY1LCAxLjAyODQxNjUxNDM5NjY2NzVdLCBbMTY2MzgzNTMzOC45NzQ4MzYsIDIyMzc0LCAxLjA5OTg3MjU4OTExMTMyODFdLCBbMTY2MzgzNTMzOS40MzA2NjYyLCAyMjQxMCwgMS4yNjc2NDA1OTA2Njc3MjQ2XSwgWzE2NjM4MzUzMzkuODg5MjEyLCAyMjQ0NiwgMS4wNzIzOTk3MzU0NTA3NDQ2XSwgWzE2NjM4MzUzNDAuMjQ5NTkwNiwgMjI0NzMsIDEuMjEwNTk0ODkyNTAxODMxXSwgWzE2NjM4MzUzNDAuNDkyMzAxMiwgMjI0OTEsIDEuMDY2MjA5OTEyMzAwMTA5OV0sIFsxNjYzODM1MzQwLjYwMjIwMzEsIDIyNTAwLCAxLjY2MTg3NTQ4NjM3MzkwMTRdLCBbMTY2MzgzNTM0MC43MTkyNDU3LCAyMjUwOSwgMS4wNTU1MTE5NTE0NDY1MzMyXSwgWzE2NjM4MzUzNDAuODIxNzM0NCwgMjI1MTgsIDAuOTE3ODQxNjcyODk3MzM4OV0sIFsxNjYzODM1MzQxLjAyOTU5OCwgMjI1MzYsIDAuOTY5NjMwMTIyMTg0NzUzNF0sIFsxNjYzODM1MzQxLjI0NjIxMSwgMjI1NTQsIDEuMjQ4MzEwNjg1MTU3Nzc1OV0sIFsxNjYzODM1MzQxLjM0NTI5NDUsIDIyNTYzLCAxLjAwNjMyNjMxNzc4NzE3MDRdLCBbMTY2MzgzNTM0MS41NTQyNDk1LCAyMjU4MSwgMS4wMTgzMTk0ODc1NzE3MTYzXSwgWzE2NjM4MzUzNDEuNzUwMjYxLCAyMjU5OSwgMS4zNjI0OTYwMTg0MDk3MjldLCBbMTY2MzgzNTM0Mi4wNDEzNzk3LCAyMjYyNiwgMS4xMDg2OTkwODMzMjgyNDddLCBbMTY2MzgzNTM0Mi4yMzc0Mjc1LCAyMjY0NCwgMS4xOTQxMzM5OTY5NjM1MDFdLCBbMTY2MzgzNTM0Mi40NDE0MTY1LCAyMjY2MiwgMS42NTk3MDgzODA2OTkxNTc3XSwgWzE2NjM4MzUzNDIuNTQzMjkzNSwgMjI2NzEsIDEuMTg4MjU2OTc4OTg4NjQ3NV0sIFsxNjYzODM1MzQyLjY0NjcyOSwgMjI2ODAsIDEuMjA3Mzk2NjI2NDcyNDczMV0sIFsxNjYzODM1MzQyLjg0MTAxNTYsIDIyNjk4LCAxLjE0OTI4NDEyNDM3NDM4OTZdLCBbMTY2MzgzNTM0My4wMzg4NTY1LCAyMjcxNiwgMC45Mzk0MzU2NjA4MzkwODA4XSwgWzE2NjM4MzUzNDMuNTQ1NTk0NSwgMjI3NjEsIDEuMzk1NTExMzg4Nzc4Njg2NV0sIFsxNjYzODM1MzQzLjc0OTM0ODIsIDIyNzc5LCAxLjMxNzY4MTc4OTM5ODE5MzRdLCBbMTY2MzgzNTM0My44NDMzODk1LCAyMjc4OCwgMS4wNDU0NjkxNjQ4NDgzMjc2XSwgWzE2NjM4MzUzNDQuMDUyMzYyLCAyMjgwNiwgMS4wNTcyOTAzMTU2MjgwNTE4XSwgWzE2NjM4MzUzNDQuNTYyMzU1NSwgMjI4NTEsIDEuMjI0ODgwMjE4NTA1ODU5NF0sIFsxNjYzODM1MzQ0Ljc2ODM1OTcsIDIyODY5LCAxLjE2NDMxODY4MDc2MzI0NDZdLCBbMTY2MzgzNTM0NC45NjA3MjUsIDIyODg3LCAxLjM3NTI5ODI2MTY0MjQ1Nl0sIFsxNjYzODM1MzQ1LjA1MTk4NDgsIDIyODk2LCAxLjQ3MjI5ODE0NTI5NDE4OTVdLCBbMTY2MzgzNTM0NS41NjM5OCwgMjI5MjMsIDEuMjUxMzM5NzkzMjA1MjYxMl0sIFsxNjYzODM1MzQ2LjM1NTgxNDIsIDIyOTk1LCAxLjAyMDIyNjEyMDk0ODc5MTVdLCBbMTY2MzgzNTM0Ni40NTUwNjUsIDIzMDA0LCAxLjA1Mjc2MDgzOTQ2MjI4MDNdLCBbMTY2MzgzNTM0Ny4wNjQ1NjU3LCAyMzA0OSwgMS4wMzMyMzAzMDQ3MTgwMTc2XSwgWzE2NjM4MzUzNDcuNzE4MjQzOCwgMjMwOTQsIDEuMTEwOTQ5Mzk3MDg3MDk3Ml0sIFsxNjYzODM1MzQ3LjgzNDU5OCwgMjMxMDMsIDEuMjM5MTUzNjIzNTgwOTMyNl0sIFsxNjYzODM1MzQ4LjA4NjQ0ODcsIDIzMTIxLCAwLjg5NDc2NDkwMDIwNzUxOTVdLCBbMTY2MzgzNTM0OC40MzQ2MTUsIDIzMTQ4LCAxLjE0MjY0Mjk3NDg1MzUxNTZdLCBbMTY2MzgzNTM0OC42NzA4MTU1LCAyMzE2NiwgMS4wMzExNDQyNjEzNjAxNjg1XSwgWzE2NjM4MzUzNDguOTAyNTExNCwgMjMxODQsIDEuMjQ2NTY4MzIyMTgxNzAxN10sIFsxNjYzODM1MzQ5LjEzODM5MDUsIDIzMjAyLCAxLjAzMjI5ODU2NDkxMDg4ODddLCBbMTY2MzgzNTM0OS4yNTE3MzM1LCAyMzIxMSwgMS4wOTIwMzc2Nzc3NjQ4OTI2XSwgWzE2NjM4MzUzNDkuODQzNzczOCwgMjMyNTYsIDEuMzcyMDYxNDkxMDEyNTczMl0sIFsxNjYzODM1MzQ5Ljk2MTc1NDgsIDIzMjY1LCAxLjIxOTcxMjEzODE3NTk2NDRdLCBbMTY2MzgzNTM1MC4wODMyMzM2LCAyMzI3NCwgMS4xNzgzNDYzOTU0OTI1NTM3XSwgWzE2NjM4MzUzNTAuNDQ5MjA4NywgMjMzMDEsIDEuMjExOTgwODE5NzAyMTQ4NF0sIFsxNjYzODM1MzUwLjU2Njk5OTIsIDIzMzEwLCAxLjExMzI0MzgxODI4MzA4MV0sIFsxNjYzODM1MzUwLjkzODU4MzQsIDIzMzM3LCAwLjk4OTEzMDMxODE2NDgyNTRdLCBbMTY2MzgzNTM1MS42Njk5NzcyLCAyMzM5MSwgMS4xODExNDg3Njc0NzEzMTM1XSwgWzE2NjM4MzUzNTEuNzk3NjAxLCAyMzQwMCwgMS4wODA4NjQxOTEwNTUyOTc5XSwgWzE2NjM4MzUzNTIuMDQ2NzEyLCAyMzQxOCwgMS4wNDY0MTI0Njc5NTY1NDNdLCBbMTY2MzgzNTM1Mi4yODQ4NDQ5LCAyMzQzNiwgMS4xMzA5MjA0MTAxNTYyNV0sIFsxNjYzODM1MzUyLjU0NjMyNDUsIDIzNDU0LCAxLjcyNzAyNzA1ODYwMTM3OTRdLCBbMTY2MzgzNTM1Mi42NjUzMjc4LCAyMzQ2MywgMS4wNDIxNTgxMjY4MzEwNTQ3XSwgWzE2NjM4MzUzNTMuOTY4MTc1NCwgMjM1NjIsIDEuMTA1ODEwNTIzMDMzMTQyXSwgWzE2NjM4MzUzNTQuMDk2MTc1MiwgMjM1NzEsIDEuMTE1NjU4MDQ0ODE1MDYzNV0sIFsxNjYzODM1MzU0LjIyODE3OTcsIDIzNTgwLCAwLjk5MzQ3NjAzMzIxMDc1NDRdLCBbMTY2MzgzNTM1NC42MTQ5MjE2LCAyMzYwNywgMS4wOTc2NjE5NzIwNDU4OTg0XSwgWzE2NjM4MzUzNTUuMjUyMTczNCwgMjM2NTIsIDAuOTQ5MjE5NzYzMjc4OTYxMl0sIFsxNjYzODM1MzU1LjM3NTgxOTIsIDIzNjYxLCAwLjk4ODA2NDg4NTEzOTQ2NTNdLCBbMTY2MzgzNTM1Ni4xMzAxMjQsIDIzNjk3LCAxLjE5NzEyNDcxOTYxOTc1MV1d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=v9&tag=Loss%2Fvalid":{"data":"W1sxNjYzOTE5OTc3LjQ1NTA5NDYsIDksIDg3LjY3MzYwNjg3MjU1ODZdLCBbMTY2MzkxOTk3OC4xMzA2MDIsIDI3LCA0MS44Njg2NDQ3MTQzNTU0N10sIFsxNjYzOTE5OTc4LjIzODc2MzgsIDM2LCAzMS43MjkxODUxMDQzNzAxMTddLCBbMTY2MzkxOTk3OC4zNjA0OTU4LCA0NSwgMzIuODcyNzk4OTE5Njc3NzM0XSwgWzE2NjM5MTk5NzguOTM5NDAzNSwgOTAsIDI4LjA3NzQ2Njk2NDcyMTY4XSwgWzE2NjM5MTk5NzkuMDU1NDk0MywgOTksIDI0LjQxMTU2MDA1ODU5Mzc1XSwgWzE2NjM5MTk5NzkuMTc3ODU0MywgMTA4LCAyMy4xNTIxMDUzMzE0MjA5XSwgWzE2NjM5MTk5NzkuNjg0MTE1NCwgMTM1LCAxNy42MjM4MDk4MTQ0NTMxMjVdLCBbMTY2MzkxOTk3OS44MDg1OTksIDE0NCwgMTUuNzQwMjI3Njk5Mjc5Nzg1XSwgWzE2NjM5MTk5NzkuOTM1MjYzNCwgMTUzLCAxNS4wOTkxNzQ0OTk1MTE3MTldLCBbMTY2MzkxOTk4MC4xNzc5NjY0LCAxNzEsIDkuMDI0MDU0NTI3MjgyNzE1XSwgWzE2NjM5MTk5ODAuMjkwOTU2MywgMTgwLCA5LjA2MjM0NTUwNDc2MDc0Ml0sIFsxNjYzOTE5OTgwLjM5NTc2NzIsIDE4OSwgNi41MTY4OTgxNTUyMTI0MDJdLCBbMTY2MzkxOTk4MC42NDAzMjEzLCAyMDcsIDUuMTY1MTU1ODg3NjAzNzZdLCBbMTY2MzkxOTk4MC43NjIzMTEyLCAyMTYsIDUuMjc1MjA5NDI2ODc5ODgzXSwgWzE2NjM5MTk5ODEuMDkyMjAwNSwgMjQzLCA1LjI4MzEzNjg0NDYzNTAxXSwgWzE2NjM5MTk5ODEuMTk5NTY3NiwgMjUyLCA1LjI3NTIxNjEwMjYwMDA5OF0sIFsxNjYzOTE5OTgxLjMwODcwNiwgMjYxLCA2Ljk2ODUwOTE5NzIzNTEwN10sIFsxNjYzOTE5OTgxLjQxODc1OSwgMjcwLCA2LjE5Njc0NDkxODgyMzI0Ml0sIFsxNjYzOTE5OTgxLjUyMTM0NTQsIDI3OSwgNS4xNTA1ODM3NDQwNDkwNzJdLCBbMTY2MzkxOTk4MS44NTMxNDk3LCAzMDYsIDQuNzc1ODY2OTg1MzIxMDQ1XSwgWzE2NjM5MTk5ODEuOTc1NDc5MSwgMzE1LCA1Ljg3NzE3MzQyMzc2NzA5XSwgWzE2NjM5MTk5ODIuMjA4NjE5NiwgMzMzLCA0LjkyOTg2ODIyMTI4Mjk1OV0sIFsxNjYzOTE5OTgyLjMxODQ0OTUsIDM0MiwgNC44MTYxOTczOTUzMjQ3MDddLCBbMTY2MzkxOTk4Mi40MjMxMTU1LCAzNTEsIDUuMDE3ODcxODU2Njg5NDUzXSwgWzE2NjM5MTk5ODIuNTI4NjI4LCAzNjAsIDUuMTk2Nzc0MDA1ODg5ODkzXSwgWzE2NjM5MTk5ODIuNjQ0MDUzMiwgMzY5LCA1LjUwMDUyNTQ3NDU0ODM0XSwgWzE2NjM5MTk5ODMuNDU4NzksIDQzMiwgNC4zNjY5NzAwNjIyNTU4NTldLCBbMTY2MzkxOTk4My41Njc4NjUsIDQ0MSwgNC42ODI4MzI3MTc4OTU1MDhdLCBbMTY2MzkxOTk4My42NzM4MDMzLCA0NTAsIDQuOTE3MDY2MDk3MjU5NTIxNV0sIFsxNjYzOTE5OTgzLjc5MTE5NjgsIDQ1OSwgNS40NTY2NDI2Mjc3MTYwNjQ1XSwgWzE2NjM5MTk5ODMuOTAwOTQwMiwgNDY4LCA0LjA5NjY1NDQxNTEzMDYxNV0sIFsxNjYzOTE5OTg0LjAyNDE4NjQsIDQ3NywgNC4zMjQxMjM4NTk0MDU1MThdLCBbMTY2MzkxOTk4NC4yNTY4MTEsIDQ5NSwgNC42OTI0MTcxNDQ3NzUzOTFdLCBbMTY2MzkxOTk4NC4zNjcyOTY1LCA1MDQsIDQuMDc0NDg1Nzc4ODA4NTk0XSwgWzE2NjM5MTk5ODQuNTk1MDA2LCA1MjIsIDQuNTI4MzE0NTkwNDU0MTAyXSwgWzE2NjM5MTk5ODQuOTEzNzU1MiwgNTQ5LCA1LjM0NjIwMjg1MDM0MTc5N10sIFsxNjYzOTE5OTg1LjAzOTMyMjQsIDU1OCwgMy43ODI4MDI1ODE3ODcxMDk0XSwgWzE2NjM5MTk5ODUuMTU3NTg1LCA1NjcsIDQuMTAwOTE3ODE2MTYyMTA5XSwgWzE2NjM5MTk5ODUuMjY2MDc2LCA1NzYsIDMuNjQ4NTI3ODYwNjQxNDc5NV0sIFsxNjYzOTE5OTg1LjUwMzY5NzIsIDU5NCwgNC4xMTQ4MDI4MzczNzE4MjZdLCBbMTY2MzkxOTk4NS42MDU4MSwgNjAzLCA0LjIxMTk4MTc3MzM3NjQ2NV0sIFsxNjYzOTE5OTg1LjY5MzA0MDQsIDYxMiwgNC40MTEyODExMDg4NTYyMDFdLCBbMTY2MzkxOTk4NS43ODMwMTY3LCA2MjEsIDQuMTAyMjc1ODQ4Mzg4NjcyXSwgWzE2NjM5MTk5ODUuOTc2NjgsIDYzOSwgMy43OTk1Mjg4MzcyMDM5Nzk1XSwgWzE2NjM5MTk5ODYuMDc4NDcyOSwgNjQ4LCA0LjU1MzQwODE0NTkwNDU0MV0sIFsxNjYzOTE5OTg2LjI2ODkxMzUsIDY2NiwgNC4xMDA5NTM1Nzg5NDg5NzVdLCBbMTY2MzkxOTk4Ni40NzEzNywgNjg0LCAzLjI4MDEyNzI4NjkxMTAxMDddLCBbMTY2MzkxOTk4Ni42NzM5OTAyLCA3MDIsIDMuOTY2NjA0MjMyNzg4MDg2XSwgWzE2NjM5MTk5ODYuODc2NzYxNCwgNzIwLCA0LjQzOTQ0MzU4ODI1NjgzNl0sIFsxNjYzOTE5OTg2Ljk3NDIwMiwgNzI5LCAzLjU0NDIzODMyODkzMzcxNl0sIFsxNjYzOTE5OTg3LjE3NDc0MDgsIDc0NywgMy41MTIxMDI4NDIzMzA5MzI2XSwgWzE2NjM5MTk5ODcuMzMxNzMyLCA3NTYsIDMuNzQ2NzQ4NDQ3NDE4MjEzXSwgWzE2NjM5MTk5ODcuNTQ5ODEwMiwgNzc0LCAzLjU1MDY2MTMyNTQ1NDcxMl0sIFsxNjYzOTE5OTg3LjY2NDE2ODQsIDc4MywgMy43MTY2MjkwMjgzMjAzMTI1XSwgWzE2NjM5MTk5ODguMDA1NjA1NSwgODEwLCA0LjI3MzE2MDkzNDQ0ODI0Ml0sIFsxNjYzOTE5OTg4LjEyMjE1MywgODE5LCAzLjQxNTE2OTAwMDYyNTYxMDRdLCBbMTY2MzkxOTk4OC42ODQwOTQ3LCA4NjQsIDIuOTA4NzcwNzk5NjM2ODQxXSwgWzE2NjM5MTk5ODkuMzA0NjI0LCA5MDAsIDMuNDU2NzEyNzIyNzc4MzIwM10sIFsxNjYzOTE5OTg5LjQyMjkyMTcsIDkwOSwgMi45OTg4NjAxMjA3NzMzMTU0XSwgWzE2NjM5MTk5ODkuNzQ4MTc0NCwgOTM2LCAzLjc0MTE2MDg2OTU5ODM4ODddLCBbMTY2MzkxOTk4OS44Njc1MDYzLCA5NDUsIDMuMTkzNDIzMjcxMTc5MTk5XSwgWzE2NjM5MTk5OTAuMDk3OTQxNCwgOTYzLCAzLjM5MTc5NDkxOTk2NzY1MTRdLCBbMTY2MzkxOTk5MC4yMTgxNDA0LCA5NzIsIDMuMDI5MjA1Nzk5MTAyNzgzXSwgWzE2NjM5MTk5OTAuNDM1ODA0NiwgOTkwLCAzLjEwMjMzMzU0NTY4NDgxNDVdLCBbMTY2MzkxOTk5MC41NDgyMDksIDk5OSwgMi43NTk2MDc1NTM0ODIwNTU3XSwgWzE2NjM5MTk5OTAuNjYwMDIxLCAxMDA4LCAzLjA4MjgxMjA3MDg0NjU1NzZdLCBbMTY2MzkxOTk5MC43NjQ3NzcyLCAxMDE3LCAzLjA4NzgyNjI1MTk4MzY0MjZdLCBbMTY2MzkxOTk5MC45ODA1ODYsIDEwMzUsIDIuNjk3MDExMjMyMzc2MDk4Nl0sIFsxNjYzOTE5OTkxLjEwNDA0NjgsIDEwNDQsIDIuODkwMzU4MjA5NjA5OTg1NF0sIFsxNjYzOTE5OTkxLjIyNjg4NTYsIDEwNTMsIDIuNzg1MjgwNDY2MDc5NzEyXSwgWzE2NjM5MTk5OTEuNzQ4MTk5NywgMTA5OCwgMy4xNTA5ODA5NDk0MDE4NTU1XSwgWzE2NjM5MTk5OTIuMTQwMTA2LCAxMTM0LCAyLjY2ODI5NzUyOTIyMDU4MV0sIFsxNjYzOTE5OTkyLjI0OTM5NTYsIDExNDMsIDIuMzgyMTg0MDI4NjI1NDg4M10sIFsxNjYzOTE5OTkyLjQ0ODI0NywgMTE2MSwgMi45NzQ5MTY0NTgxMjk4ODNdLCBbMTY2MzkxOTk5Mi41NDUwNDc1LCAxMTcwLCAyLjczODY4NDE3NzM5ODY4MTZdLCBbMTY2MzkxOTk5Mi42NDQ5OTE0LCAxMTc5LCAyLjQwOTM0Mjc2NTgwODEwNTVdLCBbMTY2MzkxOTk5Mi43MzMxNzIsIDExODgsIDIuNzczNzExMjA0NTI4ODA4Nl0sIFsxNjYzOTE5OTkyLjgzNjAxNzQsIDExOTcsIDIuNDM4OTY1Nzk3NDI0MzE2NF0sIFsxNjYzOTE5OTkzLjAzMTM5NzgsIDEyMTUsIDIuNzA1OTI5NTE3NzQ1OTcxN10sIFsxNjYzOTE5OTkzLjI0NjMyMDUsIDEyMzMsIDIuNjcyODg4NzU1Nzk4MzRdLCBbMTY2MzkxOTk5My4zMzQwNjc4LCAxMjQyLCAyLjY2MTI4NDY4NTEzNDg4NzddLCBbMTY2MzkxOTk5My40NTE1MjYyLCAxMjUxLCAyLjU1NTA4MjA4Mjc0ODQxM10sIFsxNjYzOTE5OTkzLjk5MDQyNTgsIDEyOTYsIDIuNzEwMTY5MDc2OTE5NTU1N10sIFsxNjYzOTE5OTk0LjA4NDc4LCAxMzA1LCAyLjQwNzgxNTkzMzIyNzUzOV0sIFsxNjYzOTE5OTk0LjI5MDMzNiwgMTMyMywgMi41MzkxNDc2MTU0MzI3MzkzXSwgWzE2NjM5MTk5OTQuMzk5MDk4NiwgMTMzMiwgMi41NzA1ODE2NzQ1NzU4MDU3XSwgWzE2NjM5MTk5OTQuNzMwNDg3OCwgMTM1OSwgMi4zNzI0NTM2ODk1NzUxOTUzXSwgWzE2NjM5MTk5OTUuMTg3NTI1NywgMTM5NSwgMi42MDYxMzEzMTUyMzEzMjMyXSwgWzE2NjM5MTk5OTUuNDE0Nzc3MywgMTQxMywgMi4wODYwNjA1MjM5ODY4MTY0XSwgWzE2NjM5MTk5OTUuNTMzNzcyNSwgMTQyMiwgMi4yNDQxMjY1NTgzMDM4MzNdLCBbMTY2MzkxOTk5NS43NDQ1NDksIDE0NDAsIDIuMjcwNzI5MDY0OTQxNDA2Ml0sIFsxNjYzOTE5OTk1Ljg1MzMyNDcsIDE0NDksIDIuMDQwOTMyNDE2OTE1ODkzNl0sIFsxNjYzOTE5OTk2LjA0ODE4MzIsIDE0NjcsIDIuMjAzMDQ4MjI5MjE3NTI5M10sIFsxNjYzOTE5OTk2LjE1NTc3MTcsIDE0NzYsIDEuOTY5NzI5NzgxMTUwODE3OV0sIFsxNjYzOTE5OTk2LjI1ODAzNjQsIDE0ODUsIDIuMTcyNTA1NjE3MTQxNzIzNl0sIFsxNjYzOTE5OTk2LjQ1NDk5MiwgMTUwMywgMi4wMjc0NDM4ODU4MDMyMjI3XSwgWzE2NjM5MTk5OTYuNzE1MTM3NywgMTUyMSwgMS45NjE3NDQ5MDQ1MTgxMjc0XSwgWzE2NjM5MTk5OTYuOTY3MzM1NSwgMTUzOSwgMi4xODk1NzIwOTU4NzA5NzE3XSwgWzE2NjM5MTk5OTcuMTAwMzQxLCAxNTQ4LCAyLjg4NTE3NTcwNDk1NjA1NDddLCBbMTY2MzkxOTk5Ny4yMDcwODU2LCAxNTU3LCAyLjc0MDAxMzU5OTM5NTc1Ml0sIFsxNjYzOTE5OTk3LjQxNTA2NywgMTU3NSwgMi40MjcwMTc2ODg3NTEyMjA3XSwgWzE2NjM5MTk5OTcuNTI2ODc3LCAxNTg0LCAyLjIwMjEwNjk1MjY2NzIzNjNdLCBbMTY2MzkxOTk5Ny42MjEyMjUsIDE1OTMsIDIuMTI4NjI4MjUzOTM2NzY3Nl0sIFsxNjYzOTE5OTk3LjcyNTg4ODcsIDE2MDIsIDEuNzY5Mjc2ODU3Mzc2MDk4Nl0sIFsxNjYzOTE5OTk3LjgyNjcwNywgMTYxMSwgMi4yODYwODMyMjE0MzU1NDddLCBbMTY2MzkxOTk5OC4wMjI1NTYsIDE2MjksIDEuODQ3OTExOTUzOTI2MDg2NF0sIFsxNjYzOTE5OTk4LjExNjgzMzcsIDE2MzgsIDEuNzg1OTIyMDUwNDc2MDc0Ml0sIFsxNjYzOTE5OTk4LjIwOTkwMzcsIDE2NDcsIDIuMTMyNzM0Nzc1NTQzMjEzXSwgWzE2NjM5MTk5OTguNTQyMzc2MywgMTY1NiwgMS44NTE2MTM4NzkyMDM3OTY0XSwgWzE2NjM5MTk5OTguNjY0MDczNSwgMTY2NSwgMS44MDM2NjA2MzExNzk4MDk2XSwgWzE2NjM5MTk5OTguNzc0NTYwNSwgMTY3NCwgMS43ODY5MTMxNTY1MDkzOTk0XSwgWzE2NjM5MTk5OTguODY4MzUxMiwgMTY4MywgMi42OTMwMTYyOTA2NjQ2NzNdLCBbMTY2MzkxOTk5OS4xNjM3NzMzLCAxNzEwLCAxLjcwNzUzNTYyNDUwNDA4OTRdLCBbMTY2MzkxOTk5OS4yNjA5MDg0LCAxNzE5LCAxLjc0MjQyMDc5MjU3OTY1MDldLCBbMTY2MzkxOTk5OS4zNzYzMDE1LCAxNzI4LCAyLjIxNjMyNzY2NzIzNjMyOF0sIFsxNjYzOTE5OTk5LjQ4NzMyNzYsIDE3MzcsIDIuNzM2MzE3NjM0NTgyNTE5NV0sIFsxNjYzOTE5OTk5Ljc5OTEyMzgsIDE3NjQsIDIuMTY4NDk4OTkyOTE5OTIyXSwgWzE2NjM5MjAwMDAuMTIzOTMxMiwgMTc5MSwgMS44ODE1OTk1NDU0Nzg4MjA4XSwgWzE2NjM5MjAwMDAuMjM3MDI4LCAxODAwLCAxLjkwODA3MjIzMzIwMDA3MzJdLCBbMTY2MzkyMDAwMC4zMjIwNDAzLCAxODA5LCAyLjQzNDQzNTEyOTE2NTY0OTRdLCBbMTY2MzkyMDAwMC41MTU1MjYsIDE4MjcsIDEuOTA1NDc5NDMxMTUyMzQzOF0sIFsxNjYzOTIwMDAwLjYxNjM4OSwgMTgzNiwgMi4xMjE3NjQ2NTk4ODE1OTJdLCBbMTY2MzkyMDAwMC43MjM1NzMsIDE4NDUsIDEuODAxMDIzMjQ0ODU3Nzg4XSwgWzE2NjM5MjAwMDAuODMxOTI0NCwgMTg1NCwgMS43NDc4ODYzMDAwODY5NzVdLCBbMTY2MzkyMDAwMS4wNjE5MTkyLCAxODcyLCAxLjcyNzIwMTM0MjU4MjcwMjZdLCBbMTY2MzkyMDAwMS4yNjIzNDI3LCAxODkwLCAxLjc2NDg2MTQ2NDUwMDQyNzJdLCBbMTY2MzkyMDAwMS40NTIxNjA4LCAxOTA4LCAxLjc3ODg0NjYyMTUxMzM2NjddLCBbMTY2MzkyMDAwMS42NTIwMDQyLCAxOTI2LCAyLjE3Njc4Njg5OTU2NjY1MDRdLCBbMTY2MzkyMDAwMS44NDkxMzE4LCAxOTQ0LCAxLjgyNDQ4OTk1MTEzMzcyOF0sIFsxNjYzOTIwMDAxLjkzNTk5NjUsIDE5NTMsIDEuOTg0MjY5MzgwNTY5NDU4XSwgWzE2NjM5MjAwMDIuMTM3MDY2LCAxOTcxLCAxLjY2NTMwNzY0MTAyOTM1OF0sIFsxNjYzOTIwMDAyLjI0OTU4MDEsIDE5ODAsIDEuNjYxNzkwMTMyNTIyNTgzXSwgWzE2NjM5MjAwMDIuMzY3MTEzOCwgMTk4OSwgMS44MjE2MTU1NzY3NDQwNzk2XSwgWzE2NjM5MjAwMDIuNDc0MzYyNiwgMTk5OCwgMi4yNDIyNTg1NDg3MzY1NzIzXSwgWzE2NjM5MjAwMDIuNTYxMTE2NSwgMjAwNywgMS43NTYwMjE4NTcyNjE2NTc3XSwgWzE2NjM5MjAwMDIuNzU2NDc0MywgMjAyNSwgMS44NDE4MDk4Njg4MTI1NjFdLCBbMTY2MzkyMDAwMi44NTA0MDcsIDIwMzQsIDEuOTY2ODYwNDEzNTUxMzMwNl0sIFsxNjYzOTIwMDAyLjk0NzAyOTQsIDIwNDMsIDEuOTMzOTcyNzE2MzMxNDgyXSwgWzE2NjM5MjAwMDMuMjc3NDA3MiwgMjA3MCwgMS43NzI5Mzk1NjI3OTc1NDY0XSwgWzE2NjM5MjAwMDMuNTg4MTU1NywgMjA5NywgMi40Mzc5OTEzODA2OTE1MjgzXSwgWzE2NjM5MjAwMDMuNzk0NzYzNiwgMjExNSwgMS42NjEwNDY1MDQ5NzQzNjUyXSwgWzE2NjM5MjAwMDMuOTAyNTAyMywgMjEyNCwgMS45NjE0MDE1ODE3NjQyMjEyXSwgWzE2NjM5MjAwMDQuMDA5MzIxNywgMjEzMywgMi4zODI0NDg5MTE2NjY4N10sIFsxNjYzOTIwMDA0LjEwMTk0ODUsIDIxNDIsIDIuMDA5NTA5NTYzNDQ2MDQ1XSwgWzE2NjM5MjAwMDQuMTkzMTMzNiwgMjE1MSwgMS41NjMxMjIxNTMyODIxNjU1XSwgWzE2NjM5MjAwMDQuMjk4NjQ2NSwgMjE2MCwgMi4xMjk4MDU4MDMyOTg5NV0sIFsxNjYzOTIwMDA0LjQ5NDM2MzMsIDIxNzgsIDEuOTg5MTAwNTc1NDQ3MDgyNV0sIFsxNjYzOTIwMDA0LjU4MzczODMsIDIxODcsIDEuOTA0MzMyNTE4NTc3NTc1N10sIFsxNjYzOTIwMDA0Ljc3NDM1MTEsIDIyMDUsIDEuNjYzNTEyNTg3NTQ3MzAyMl0sIFsxNjYzOTIwMDA0Ljg2NTk3NDIsIDIyMTQsIDEuODcxNDg0Mzk4ODQxODU4XSwgWzE2NjM5MjAwMDQuOTg2OTA0NCwgMjIyMywgMS45NDM4MDgwNzg3NjU4NjkxXSwgWzE2NjM5MjAwMDUuMDg3ODAyNCwgMjIzMiwgMS43MTUxNzQ5MTM0MDYzNzJdLCBbMTY2MzkyMDAwNS4zMTk0ODU0LCAyMjUwLCAxLjY5MzY3NjIzMzI5MTYyNl0sIFsxNjYzOTIwMDA1LjY0MTk0NTYsIDIyNzcsIDEuNDg1MTczNTgzMDMwNzAwN10sIFsxNjYzOTIwMDA1Ljc0Nzk5NzMsIDIyODYsIDEuOTc1ODQwMDkxNzA1MzIyM10sIFsxNjYzOTIwMDA1Ljg0ODQ5OTgsIDIyOTUsIDEuNDE0NTY2OTkzNzEzMzc5XSwgWzE2NjM5MjAwMDYuMTg4MjgxMywgMjMyMiwgMS42ODM0MDg3MzcxODI2MTcyXSwgWzE2NjM5MjAwMDYuMjc3ODkzLCAyMzMxLCAxLjgyNzI1NTk2NDI3OTE3NDhdLCBbMTY2MzkyMDAwNi4zNzQ0MjUsIDIzNDAsIDEuNTIzNjU0Njk5MzI1NTYxNV0sIFsxNjYzOTIwMDA2LjUxNzg0MjMsIDIzNDksIDEuNzcwNDE2MjU5NzY1NjI1XSwgWzE2NjM5MjAwMDYuNzI2NjgyLCAyMzY3LCAxLjc5MDk2NzIyNjAyODQ0MjRdLCBbMTY2MzkyMDAwNi44Mjk5NjIzLCAyMzc2LCAxLjc2NjAzOTcyOTExODM0NzJdLCBbMTY2MzkyMDAwNy4zMzIxMjQsIDI0MjEsIDEuNTA5NzE2OTg3NjA5ODYzM10sIFsxNjYzOTIwMDA3LjgwODQ3OSwgMjQzOSwgMS40MTIxMjQzOTUzNzA0ODM0XSwgWzE2NjM5MjAwMDcuOTEwNzM2OCwgMjQ0OCwgMi4wNjA4MDAwNzU1MzEwMDZdLCBbMTY2MzkyMDAwOC4xOTI5MTMsIDI0NzUsIDEuNzY5MTEwNTYwNDE3MTc1M10sIFsxNjYzOTIwMDA4LjI4ODc5MjEsIDI0ODQsIDEuNzMzNzIwNzc5NDE4OTQ1M10sIFsxNjYzOTIwMDA4LjM4ODY4OSwgMjQ5MywgMS43MDY3MDc3MTU5ODgxNTkyXSwgWzE2NjM5MjAwMDguNTY5NDU1MSwgMjUxMSwgMS41OTA4MDU2NDk3NTczODUzXSwgWzE2NjM5MjAwMDguNzY1MzgwNCwgMjUyOSwgMi4xMDY2MjA3ODg1NzQyMTg4XSwgWzE2NjM5MjAwMDguOTkxMzQ0NSwgMjU0NywgMS40Njg5NDQ5MDcxODg0MTU1XSwgWzE2NjM5MjAwMDkuMDk0MjQ4OCwgMjU1NiwgMS40NDYwNTc1NTgwNTk2OTI0XSwgWzE2NjM5MjAwMDkuMjA0MzU3NiwgMjU2NSwgMS40MjI2NTIyNDQ1Njc4NzFdLCBbMTY2MzkyMDAwOS4zMDcyMzU1LCAyNTc0LCAxLjc2MjkwNDY0NDAxMjQ1MTJdLCBbMTY2MzkyMDAwOS41NjQ5NTU3LCAyNTkyLCAxLjQ0NTYyNjg1NDg5NjU0NTRdLCBbMTY2MzkyMDAwOS42NjE4OSwgMjYwMSwgMS45NzQ1Mjk5ODE2MTMxNTkyXSwgWzE2NjM5MjAwMDkuODQ0NTcwNCwgMjYxOSwgMS43MzY0OTA3MjY0NzA5NDczXSwgWzE2NjM5MjAwMDkuOTM1NTE0MiwgMjYyOCwgMS41NDMwNzM2NTQxNzQ4MDQ3XSwgWzE2NjM5MjAwMTAuMzIwMDQ5OCwgMjY2NCwgMS40NzUwNTkzOTAwNjgwNTQyXSwgWzE2NjM5MjAwMTAuNDI3MTMyOCwgMjY3MywgMS41NjYyNzM2ODkyNzAwMTk1XSwgWzE2NjM5MjAwMTAuNTE5OTUxNiwgMjY4MiwgMS42MzMxOTg3MzgwOTgxNDQ1XSwgWzE2NjM5MjAwMTAuNjEwNDA2MiwgMjY5MSwgMS40NjM2MDcxOTIwMzk0ODk3XSwgWzE2NjM5MjAwMTAuNjk1MTY5NywgMjcwMCwgMS40MDk4NjY1NzE0MjYzOTE2XSwgWzE2NjM5MjAwMTEuMTg0NDYyNSwgMjc0NSwgMS40MDM3NjU1NTkxOTY0NzIyXSwgWzE2NjM5MjAwMTEuMzI5ODc1NSwgMjc1NCwgMS41MTc2ODI1NTIzMzc2NDY1XSwgWzE2NjM5MjAwMTEuNDQzMjIxNiwgMjc2MywgMi4wMDkyODk5Nzk5MzQ2OTI0XSwgWzE2NjM5MjAwMTEuNTQ3MTI4NCwgMjc3MiwgMS43NzI4MDMxODczNzAzMDAzXSwgWzE2NjM5MjAwMTEuNjQ0MjczLCAyNzgxLCAyLjAxMDc1MDUzMjE1MDI2ODZdLCBbMTY2MzkyMDAxMS43NzMzNTM4LCAyNzkwLCAxLjU3NjM1MjQ3NzA3MzY2OTRdLCBbMTY2MzkyMDAxMi4wNTM0ODczLCAyODE3LCAxLjkyODY1MjA0ODExMDk2Ml0sIFsxNjYzOTIwMDEyLjE2MzI0MywgMjgyNiwgMS42OTEwMzcwNTg4MzAyNjEyXSwgWzE2NjM5MjAwMTIuMjU3NTQ5MywgMjgzNSwgMS40OTgyMjA5MjA1NjI3NDQxXSwgWzE2NjM5MjAwMTIuMzU1NTcwOCwgMjg0NCwgMS44NTc3ODk3NTQ4Njc1NTM3XSwgWzE2NjM5MjAwMTIuNDU1OTgwMywgMjg1MywgMS43NjAzNjY3OTc0NDcyMDQ2XSwgWzE2NjM5MjAwMTIuNjYwMTY1MywgMjg3MSwgMS43OTE4Mjc3OTc4ODk3MDk1XSwgWzE2NjM5MjAwMTIuNzUxMjYxLCAyODgwLCAxLjYyMjE0ODc1MjIxMjUyNDRdLCBbMTY2MzkyMDAxMy4wNTA1MzU3LCAyOTA3LCAxLjU1NDQyNTcxNjQwMDE0NjVdLCBbMTY2MzkyMDAxMy4yNDEyNzkxLCAyOTI1LCAxLjU0ODgyNjA5ODQ0MjA3NzZdLCBbMTY2MzkyMDAxMy43Mzg3MjUyLCAyOTcwLCAxLjQ4NjU0NzQ3MDA5Mjc3MzRdLCBbMTY2MzkyMDAxMy44MjkwNTkxLCAyOTc5LCAxLjY2Nzc0NjE4NjI1NjQwODddLCBbMTY2MzkyMDAxMy45MTgyNTM0LCAyOTg4LCAxLjQ5Njk3NzMyOTI1NDE1MDRdLCBbMTY2MzkyMDAxNC4wMjY3Mjc3LCAyOTk3LCAxLjgyMDI3NTU0NTEyMDIzOTNdLCBbMTY2MzkyMDAxNC4xMzA1MzM1LCAzMDA2LCAyLjA5Nzk1NDc1MDA2MTAzNV0sIFsxNjYzOTIwMDE0LjUxMzA3NDYsIDMwNDIsIDEuNDU5NDA3ODA2Mzk2NDg0NF0sIFsxNjYzOTIwMDE0LjYxMDYzODEsIDMwNTEsIDEuNDI5OTQ1MjMwNDg0MDA4OF0sIFsxNjYzOTIwMDE0LjgyNTgxNDUsIDMwNjksIDEuNjMwODE5Nzk3NTE1ODY5MV0sIFsxNjYzOTIwMDE1LjA5OTE0MSwgMzA5NiwgMS42MjY5NTEwOTg0NDIwNzc2XSwgWzE2NjM5MjAwMTUuMjA1NjMwNSwgMzEwNSwgMS41NTk1MTc3NDEyMDMzMDhdLCBbMTY2MzkyMDAxNS4yOTgyNjQ1LCAzMTE0LCAxLjY5Mzk2MDU0NzQ0NzIwNDZdLCBbMTY2MzkyMDAxNS4zOTk3MTgsIDMxMjMsIDEuNTY3MTU2NDM0MDU5MTQzXSwgWzE2NjM5MjAwMTUuNjI5NzgyNywgMzE0MSwgMS40MTkzMjk0MDQ4MzA5MzI2XSwgWzE2NjM5MjAwMTUuNzI2NDEwNCwgMzE1MCwgMS42MjA0MTMwNjQ5NTY2NjVdLCBbMTY2MzkyMDAxNS44MjY4MDM3LCAzMTU5LCAxLjUwMDg3NDA0MjUxMDk4NjNdLCBbMTY2MzkyMDAxNi4wMjY3ODA4LCAzMTc3LCAxLjQ5NjYxMzI2NDA4Mzg2MjNdLCBbMTY2MzkyMDAxNi4xMjQ1NDcsIDMxODYsIDEuNjExNDgwMzU1MjYyNzU2M10sIFsxNjYzOTIwMDE2LjQyMjI0NzIsIDMxOTUsIDEuNDEyODcyMzE0NDUzMTI1XSwgWzE2NjM5MjAwMTYuNTI0MzI5LCAzMjA0LCAxLjg3NTA3NjI5Mzk0NTMxMjVdLCBbMTY2MzkyMDAxNi43MzYwMTA2LCAzMjIyLCAxLjkxMDI2ODE4NzUyMjg4ODJdLCBbMTY2MzkyMDAxNi44NjIzMSwgMzIzMSwgMS40MDcxNDgwMDM1NzgxODZdLCBbMTY2MzkyMDAxNy4xMzg1MzIyLCAzMjQ5LCAxLjYyMzE0OTg3MTgyNjE3MTldLCBbMTY2MzkyMDAxNy4yNTAwNDksIDMyNTgsIDIuMDA5MzAxNjYyNDQ1MDY4NF0sIFsxNjYzOTIwMDE3LjM1NDk2NCwgMzI2NywgMS41MTcwNjkzMzk3NTIxOTczXSwgWzE2NjM5MjAwMTcuNDk0MzYzLCAzMjc2LCAxLjgzOTIxNDkyMDk5NzYxOTZdLCBbMTY2MzkyMDAxNy42Mzk2OTM3LCAzMjg1LCAxLjQ4NDQ1Mjg0MzY2NjA3NjddLCBbMTY2MzkyMDAxNy44MDE5NTEsIDMyOTQsIDEuOTkwMjAwNjM4NzcxMDU3MV0sIFsxNjYzOTIwMDE3Ljk1Njc1NDQsIDMzMDMsIDEuMjkwMzExMjE3MzA4MDQ0NF0sIFsxNjYzOTIwMDE4LjExNTAwODYsIDMzMTIsIDEuNDIyMDc5NTYzMTQwODY5MV0sIFsxNjYzOTIwMDE4LjI0ODI2ODgsIDMzMjEsIDEuNTgxNTM5OTg4NTE3NzYxMl0sIFsxNjYzOTIwMDE4LjM0Mjc0NDgsIDMzMzAsIDEuNDcxNTE0MjI1MDA2MTAzNV0sIFsxNjYzOTIwMDE4Ljk2Nzg3MSwgMzM3NSwgMS41MzE4MTk0NjI3NzYxODRdLCBbMTY2MzkyMDAxOS4xMjQyNTQ3LCAzMzg0LCAxLjU1MDg3ODY0Mzk4OTU2M10sIFsxNjYzOTIwMDE5LjM2MjI5MTgsIDM0MDIsIDEuNTI0NzcwMjU5ODU3MTc3N10sIFsxNjYzOTIwMDE5LjUwMjk1ODMsIDM0MTEsIDEuNjYzOTg2OTIxMzEwNDI0OF0sIFsxNjYzOTIwMDE5Ljk4Nzk4OTQsIDM0NDcsIDEuNTkzNTMzMTU4MzAyMzA3MV0sIFsxNjYzOTIwMDIwLjI0MTkwMjgsIDM0NjUsIDEuNDg3NDM1OTM2OTI3Nzk1NF0sIFsxNjYzOTIwMDIwLjM3ODQ4MzgsIDM0NzQsIDEuNDIyNzE4NjQ0MTQyMTUwOV0sIFsxNjYzOTIwMDIwLjQ3NjczNzUsIDM0ODMsIDEuNTg4Mjg0OTY5MzI5ODM0XSwgWzE2NjM5MjAwMjAuNzYxMzYxLCAzNTEwLCAxLjI2Mjc4NDcxOTQ2NzE2M10sIFsxNjYzOTIwMDIwLjg3MjQzMjIsIDM1MTksIDEuMjk3NjIxMTMwOTQzMjk4M10sIFsxNjYzOTIwMDIwLjk3ODI4MywgMzUyOCwgMS40NDkwMzAzOTkzMjI1MDk4XSwgWzE2NjM5MjAwMjEuMDgxMzEsIDM1MzcsIDEuNzg0MzQ4MTMwMjI2MTM1M10sIFsxNjYzOTIwMDIxLjE5NjE3MTUsIDM1NDYsIDEuMzY4NjY0MjY0Njc4OTU1XSwgWzE2NjM5MjAwMjEuMzA0OTkyNywgMzU1NSwgMS41MjEzMzI1MDIzNjUxMTIzXSwgWzE2NjM5MjAwMjEuNDIyNjM5NCwgMzU2NCwgMS40ODY5NzM3NjI1MTIyMDddLCBbMTY2MzkyMDAyMS41MzUyOTc5LCAzNTczLCAxLjQwMDkwNjkyMDQzMzA0NDRdLCBbMTY2MzkyMDAyMS42NDQ5MjQ2LCAzNTgyLCAxLjMzMDc5MTgzMTAxNjU0MDVdLCBbMTY2MzkyMDAyMS43NTU1NzMzLCAzNTkxLCAxLjQyMzE2NDYwNjA5NDM2MDRdLCBbMTY2MzkyMDAyMS44NzE0MjgzLCAzNjAwLCAxLjE5NTk0OTA3NzYwNjIwMTJdLCBbMTY2MzkyMDAyMS45ODM4MTY2LCAzNjA5LCAxLjY3NTk5MzQ0MjUzNTQwMDRdLCBbMTY2MzkyMDAyMi4wOTE4NDc0LCAzNjE4LCAxLjY0ODQwMjQ1MjQ2ODg3Ml0sIFsxNjYzOTIwMDIyLjIwODk4MjcsIDM2MjcsIDEuNzg0NTAxNDMzMzcyNDk3Nl0sIFsxNjYzOTIwMDIyLjQyODE2MjMsIDM2NDUsIDEuMzEzNzM2MjAwMzMyNjQxNl0sIFsxNjYzOTIwMDIyLjY1MTIyMjcsIDM2NjMsIDEuNjgyODY2NDU0MTI0NDUwN10sIFsxNjYzOTIwMDIyLjc2MTI1NzIsIDM2NzIsIDEuMzQ3NzcyODM2Njg1MTgwN10sIFsxNjYzOTIwMDIyLjg2NjU0NTcsIDM2ODEsIDEuNTMyMTE4MzIwNDY1MDg4XSwgWzE2NjM5MjAwMjIuOTYwMjY1LCAzNjkwLCAxLjQzMzI1NTU1MzI0NTU0NDRdLCBbMTY2MzkyMDAyMy4zMDQ3MTczLCAzNzE3LCAxLjY3Mjk5NzExNzA0MjU0MTVdLCBbMTY2MzkyMDAyMy40MTA0ODc3LCAzNzI2LCAxLjQzNjkzOTAwMTA4MzM3NF0sIFsxNjYzOTIwMDIzLjUxNzQ2MTMsIDM3MzUsIDEuNDc4NTk4NDc1NDU2MjM3OF0sIFsxNjYzOTIwMDIzLjYyNjk2NDgsIDM3NDQsIDIuMTYwNzM0ODkxODkxNDc5NV0sIFsxNjYzOTIwMDIzLjk1MDYyLCAzNzcxLCAxLjU4ODU4MzU4ODYwMDE1ODddLCBbMTY2MzkyMDAyNC4wNjQ5NTcsIDM3ODAsIDEuMzU5NDgzNzE4ODcyMDcwM10sIFsxNjYzOTIwMDI0LjI4MjY4NTUsIDM3OTgsIDEuODc3NDEyNzk2MDIwNTA3OF0sIFsxNjYzOTIwMDI0LjM5MTg1NjIsIDM4MDcsIDEuMzcxNzAzMzg2MzA2NzYyN10sIFsxNjYzOTIwMDI0Ljc0NzczNiwgMzgzNCwgMS4zMDQ5MTg4ODUyMzEwMThdLCBbMTY2MzkyMDAyNC44NzcwNjczLCAzODQzLCAxLjYzNzk2MDY3MjM3ODU0XSwgWzE2NjM5MjAwMjUuMjE0NjA2NSwgMzg3MCwgMS4zODAwOTkyOTY1Njk4MjQyXSwgWzE2NjM5MjAwMjUuMzE4NDY1NSwgMzg3OSwgMS41NDI0ODM2ODc0MDA4MTc5XSwgWzE2NjM5MjAwMjUuNDI3NDAzNywgMzg4OCwgMS4yODQ3MjIzMjgxODYwMzUyXSwgWzE2NjM5MjAwMjUuNzM4NjIzLCAzOTE1LCAxLjQ4OTk1ODE2NzA3NjExMDhdLCBbMTY2MzkyMDAyNS44NTY3Njg2LCAzOTI0LCAxLjQ1MzA4Njg1MzAyNzM0MzhdLCBbMTY2MzkyMDAyNS45Njc1MzY0LCAzOTMzLCAxLjI5NDQ3NzM0MzU1OTI2NTFdLCBbMTY2MzkyMDAyNi4wODc4OTQ3LCAzOTQyLCAxLjMxNDM5MDMwMTcwNDQwNjddLCBbMTY2MzkyMDAyNi4xOTQyODc1LCAzOTUxLCAxLjUzNTE5NDE1ODU1NDA3NzFdLCBbMTY2MzkyMDAyNi4yODg4MjIyLCAzOTYwLCAxLjU0NDMzNjkxNTAxNjE3NDNdLCBbMTY2MzkyMDAyNi42MDMwNDcsIDM5NjksIDEuMzg2ODg0MDkzMjg0NjA3XSwgWzE2NjM5MjAwMjYuNjk2NzY5NywgMzk3OCwgMS4yNTc0MDMxMzUyOTk2ODI2XSwgWzE2NjM5MjAwMjYuOTIwNzE3LCAzOTk2LCAxLjM4NTY0NDE5NzQ2Mzk4OTNdLCBbMTY2MzkyMDAyNy4wMjY2MzUyLCA0MDA1LCAxLjQ1Mzk5NzQ5Mjc5MDIyMjJdLCBbMTY2MzkyMDAyNy4xMTk0MDEsIDQwMTQsIDEuMzk1MzU1OTM5ODY1MTEyM10sIFsxNjYzOTIwMDI3LjIxODg1NDcsIDQwMjMsIDEuMTk4ODQ0NTUyMDQwMV0sIFsxNjYzOTIwMDI3LjYyMzczNDcsIDQwNTksIDEuNDE5Njk3MDQ2Mjc5OTA3Ml0sIFsxNjYzOTIwMDI3LjcyMzM2MywgNDA2OCwgMS4yNDkxMjk1MzM3Njc3MDAyXSwgWzE2NjM5MjAwMjcuODA4NTY0MiwgNDA3NywgMS4zMDU2NDI3MjQwMzcxNzA0XSwgWzE2NjM5MjAwMjcuOTA5Njc5LCA0MDg2LCAxLjI3NDk1NTk4NzkzMDI5NzldLCBbMTY2MzkyMDAyOC4wMDQ1Njg4LCA0MDk1LCAxLjM2NzI3OTI5MTE1Mjk1NF0sIFsxNjYzOTIwMDI4LjE5ODczNzksIDQxMTMsIDEuNDgxOTY2MTM3ODg2MDQ3NF0sIFsxNjYzOTIwMDI4LjM5MDMxMTcsIDQxMzEsIDEuNTYwMzA5MTcxNjc2NjM1N10sIFsxNjYzOTIwMDI4LjU4NDUwNTgsIDQxNDksIDEuNjAxNTQ0ODU3MDI1MTQ2NV0sIFsxNjYzOTIwMDI4LjY3ODQyOTgsIDQxNTgsIDEuNTcwNjY1OTU1NTQzNTE4XSwgWzE2NjM5MjAwMjguNzc2NjkxNCwgNDE2NywgMS42MzU0ODM3NDE3NjAyNTRdLCBbMTY2MzkyMDAyOC45NjcyNjczLCA0MTg1LCAxLjIwODU2MzA4OTM3MDcyNzVdLCBbMTY2MzkyMDAyOS4wNjI5ODQyLCA0MTk0LCAxLjI3OTc3Nzc2NTI3NDA0NzldLCBbMTY2MzkyMDAyOS4xNTc0MTIsIDQyMDMsIDEuNDMyNTIyNjU0NTMzMzg2Ml0sIFsxNjYzOTIwMDI5LjM0NjEwNTYsIDQyMjEsIDEuMzAwNjU2MzE4NjY0NTUwOF0sIFsxNjYzOTIwMDI5LjU0MTM5MTYsIDQyMzksIDEuMzIyNzk2NzAyMzg0OTQ4N10sIFsxNjYzOTIwMDI5LjYyODQyMzUsIDQyNDgsIDEuNDU0MTIyNDI0MTI1NjcxNF0sIFsxNjYzOTIwMDI5LjgyMjM4MiwgNDI2NiwgMS4zNDk3MDU5MzQ1MjQ1MzYxXSwgWzE2NjM5MjAwMjkuOTA5Mzk1MiwgNDI3NSwgMS4yMzgxNjM0NzEyMjE5MjM4XSwgWzE2NjM5MjAwMzAuMDUxNDMzNiwgNDI4NCwgMS4zOTY0Mzk3OTA3MjU3MDhdLCBbMTY2MzkyMDAzMC4zMzk4MzY4LCA0MzExLCAxLjI3ODEwODU5NjgwMTc1NzhdLCBbMTY2MzkyMDAzMC40Mzg1OTEsIDQzMjAsIDEuNDk4ODUwMTA3MTkyOTkzMl0sIFsxNjYzOTIwMDMwLjU0NDczNjEsIDQzMjksIDEuNDQ1Njk5NDUzMzUzODgxOF0sIFsxNjYzOTIwMDMwLjYzNzA3NSwgNDMzOCwgMS4yNTgyODgwMjU4NTYwMThdLCBbMTY2MzkyMDAzMC43NDA1MTk1LCA0MzQ3LCAxLjU4NzU1MDI4MjQ3ODMzMjVdLCBbMTY2MzkyMDAzMC44Mzc4MTYyLCA0MzU2LCAxLjU2NDE5ODczMjM3NjA5ODZdLCBbMTY2MzkyMDAzMC45MzMyNywgNDM2NSwgMS42MzkyMzUzNzczMTE3MDY1XSwgWzE2NjM5MjAwMzEuMTI4NTY4MiwgNDM4MywgMS4xMDUwNTM5MDE2NzIzNjMzXSwgWzE2NjM5MjAwMzEuMjM5MzQ1LCA0MzkyLCAxLjQ3MTA1Mjg4NTA1NTU0Ml0sIFsxNjYzOTIwMDMxLjMyNTAxOSwgNDQwMSwgMS40NzA0OTc5NjU4MTI2ODNdLCBbMTY2MzkyMDAzMS40MjQxNTIsIDQ0MTAsIDEuMjAxMzU1NDU3MzA1OTA4Ml0sIFsxNjYzOTIwMDMxLjYyNzMwNjcsIDQ0MjgsIDEuMjgyODE3NjAyMTU3NTkyOF0sIFsxNjYzOTIwMDMxLjkzMDAzMzcsIDQ0NTUsIDEuNTUzNjM4MzM5MDQyNjYzNl0sIFsxNjYzOTIwMDMyLjAyMzAxMzQsIDQ0NjQsIDEuMjYyMjQ0NzAxMzg1NDk4XSwgWzE2NjM5MjAwMzIuMjIwNTYyLCA0NDgyLCAxLjI2NzM3MDIyMzk5OTAyMzRdLCBbMTY2MzkyMDAzMi4zMTMwNzE3LCA0NDkxLCAxLjEwNDgzNTAzMzQxNjc0OF0sIFsxNjYzOTIwMDMyLjYwODYyNTIsIDQ1MTgsIDEuNjg4Mjk4NTgzMDMwNzAwN10sIFsxNjYzOTIwMDMyLjcxODY2NjMsIDQ1MjcsIDEuMjY4NDA4NDE3NzAxNzIxMl0sIFsxNjYzOTIwMDMyLjgxMTA0NTQsIDQ1MzYsIDEuNTE1OTcxNTQxNDA0NzI0MV0sIFsxNjYzOTIwMDMzLjEwMTI5MDUsIDQ1NjMsIDEuMjUxNjA4ODQ4NTcxNzc3M10sIFsxNjYzOTIwMDMzLjI3OTgzMzgsIDQ1ODEsIDEuMzc5ODc4NDAxNzU2Mjg2Nl0sIFsxNjYzOTIwMDMzLjM4MTE0NCwgNDU5MCwgMS4xNzYyNjU0NzgxMzQxNTUzXSwgWzE2NjM5MjAwMzMuNDY4MjcyNywgNDU5OSwgMS4zMjA2NDU0NTE1NDU3MTUzXSwgWzE2NjM5MjAwMzMuNTYxNjIxLCA0NjA4LCAxLjA0ODc2MDE3NTcwNDk1Nl0sIFsxNjYzOTIwMDMzLjY1NjEwMDUsIDQ2MTcsIDEuMjU4NjM1NjQwMTQ0MzQ4MV0sIFsxNjYzOTIwMDMzLjc1MjQxMzUsIDQ2MjYsIDEuMjE3OTkwNjM2ODI1NTYxNV0sIFsxNjYzOTIwMDMzLjg1MjA2NDQsIDQ2MzUsIDEuNDM2MjA0MTk1MDIyNTgzXSwgWzE2NjM5MjAwMzQuMDM1ODIwNSwgNDY1MywgMS40MDE1MjE1NjM1Mjk5NjgzXSwgWzE2NjM5MjAwMzQuMTMxMDY0NCwgNDY2MiwgMS40NTMwMTQ5Njk4MjU3NDQ2XSwgWzE2NjM5MjAwMzQuMjI2MzY5OSwgNDY3MSwgMS4zODg0MDUzMjMwMjg1NjQ1XSwgWzE2NjM5MjAwMzQuMzE3MTg5NSwgNDY4MCwgMS4zNzA2MzU3NDc5MDk1NDZdLCBbMTY2MzkyMDAzNC40MjA5MTA4LCA0Njg5LCAxLjY3OTcyNzY3MzUzMDU3ODZdLCBbMTY2MzkyMDAzNC41Njg5ODY0LCA0Njk4LCAxLjM3NjM2MzUxNTg1Mzg4MThdLCBbMTY2MzkyMDAzNC45ODIyODA1LCA0NzE2LCAxLjEzMjg2NzgxMzExMDM1MTZdLCBbMTY2MzkyMDAzNS4zMTMzNDQ1LCA0NzQzLCAxLjQ1NjU3OTkyMzYyOTc2MDddLCBbMTY2MzkyMDAzNS43NzAyMDEyLCA0Nzc5LCAxLjQ2MDI0Mjc0ODI2MDQ5OF0sIFsxNjYzOTIwMDM2LjA4NjI3OTQsIDQ4MDYsIDEuMTU5MjE5MDI2NTY1NTUxOF0sIFsxNjYzOTIwMDM2LjE4NTE5ODUsIDQ4MTUsIDEuMzAxNDUzNTkwMzkzMDY2NF0sIFsxNjYzOTIwMDM2LjI4MjkwNDYsIDQ4MjQsIDEuMjExNDkxNzAzOTg3MTIxNl0sIFsxNjYzOTIwMDM2LjM4NzA3NTQsIDQ4MzMsIDEuMjEwNDQ4MjY1MDc1NjgzNl0sIFsxNjYzOTIwMDM2LjQ3NDU4NywgNDg0MiwgMS40NzUwNTQwMjU2NTAwMjQ0XSwgWzE2NjM5MjAwMzYuNTgzMjk3MywgNDg1MSwgMS4yODg1MjQ1MDg0NzYyNTczXSwgWzE2NjM5MjAwMzYuNjkzNDAwNiwgNDg2MCwgMS4xMjM5NDk2NDY5NDk3NjhdLCBbMTY2MzkyMDAzNi43ODMxNDQsIDQ4NjksIDEuMzk1MTU1Nzg3NDY3OTU2NV0sIFsxNjYzOTIwMDM2Ljg5MDEyMDUsIDQ4NzgsIDEuMjI4NjA1NTA4ODA0MzIxM10sIFsxNjYzOTIwMDM2Ljk4NDU5NTgsIDQ4ODcsIDEuMTI4NDc2MTQyODgzMzAwOF0sIFsxNjYzOTIwMDM3LjA4MTAxOTksIDQ4OTYsIDEuMzM0NzM0MzIwNjQwNTY0XSwgWzE2NjM5MjAwMzcuMTkwNTQ3LCA0OTA1LCAxLjQ5NzQ3MDczNjUwMzYwMV0sIFsxNjYzOTIwMDM3LjM4NDY4OTYsIDQ5MjMsIDEuMTc5Mjg3MTk1MjA1Njg4NV0sIFsxNjYzOTIwMDM3LjQ4OTE2NDQsIDQ5MzIsIDEuMzAwNzY4MjU2MTg3NDM5XSwgWzE2NjM5MjAwMzcuNzY3Nzk4LCA0OTU5LCAxLjE1ODk1NTU3NDAzNTY0NDVdLCBbMTY2MzkyMDAzNy45ODE5MjYsIDQ5NzcsIDEuMjkzODMyNTQwNTEyMDg1XSwgWzE2NjM5MjAwMzguMjMwMzIxMiwgNDk5NSwgMS41Nzk2NDg0OTQ3MjA0NTldLCBbMTY2MzkyMDAzOC4zMTk1NTA4LCA1MDA0LCAxLjQ1NDM4MzQ5MjQ2OTc4NzZdLCBbMTY2MzkyMDAzOC40MTk3MDk3LCA1MDEzLCAxLjMyNDc2NDg0Nzc1NTQzMjFdLCBbMTY2MzkyMDAzOS4xMzUxNzgzLCA1MDY3LCAxLjIyMTQ3OTY1NDMxMjEzMzhdLCBbMTY2MzkyMDAzOS4yMzk3MzE4LCA1MDc2LCAxLjUzMDk3MzA3NjgyMDM3MzVdLCBbMTY2MzkyMDAzOS4zMzQ0MjgsIDUwODUsIDEuNDM3ODYxNDQyNTY1OTE4XSwgWzE2NjM5MjAwMzkuNTI2OTQxNSwgNTEwMywgMS4xNjk3Mzg0MTE5MDMzODEzXSwgWzE2NjM5MjAwMzkuNjI0MTcxNywgNTExMiwgMS40NTUyMDg0MjA3NTM0NzldLCBbMTY2MzkyMDAzOS43NTEwNjA3LCA1MTIxLCAxLjE2ODUzMjAxMzg5MzEyNzRdLCBbMTY2MzkyMDAzOS44NjAzOTYxLCA1MTMwLCAxLjMyMDE1MTIwOTgzMTIzNzhdLCBbMTY2MzkyMDA0MC4wNzEyMDk0LCA1MTQ4LCAxLjEwMjU0MDM3MzgwMjE4NV0sIFsxNjYzOTIwMDQwLjMwMDM1OTUsIDUxNjYsIDEuMjgzMzc1ODU5MjYwNTU5XSwgWzE2NjM5MjAwNDAuNjI5MzA5LCA1MTkzLCAxLjI4OTQ4NzcxOTUzNTgyNzZdLCBbMTY2MzkyMDA0MS4wMjg3OTcsIDUyMjksIDEuNDYzNTY2MTg0MDQzODg0M10sIFsxNjYzOTIwMDQxLjQ0Njc0MjUsIDUyNjUsIDEuMjY0NjY5MDYwNzA3MDkyM10sIFsxNjYzOTIwMDQxLjUzMzUzODMsIDUyNzQsIDEuMTgzNDU5MjgxOTIxMzg2N10sIFsxNjYzOTIwMDQxLjYzNjM4NDIsIDUyODMsIDEuMDQ5MTQzNDMzNTcwODYxOF0sIFsxNjYzOTIwMDQxLjgyNjk3LCA1MzAxLCAxLjQ4MTAxNDQ5MDEyNzU2MzVdLCBbMTY2MzkyMDA0MS45MTkzMDY1LCA1MzEwLCAxLjEyOTQ2NzYwNjU0NDQ5NDZdLCBbMTY2MzkyMDA0Mi4wNDA1MTgsIDUzMTksIDEuMDM2MjAyMTkyMzA2NTE4Nl0sIFsxNjYzOTIwMDQyLjEzOTYxNTMsIDUzMjgsIDEuNDMyNDk4MzM1ODM4MzE3OV0sIFsxNjYzOTIwMDQyLjI0MTU5MjQsIDUzMzcsIDEuNDA1MDE2MTgzODUzMTQ5NF0sIFsxNjYzOTIwMDQyLjQzMzA4MzMsIDUzNTUsIDEuMzQ3NjU5MzQ5NDQxNTI4M10sIFsxNjYzOTIwMDQyLjUzMDc2ODksIDUzNjQsIDEuMTI4NTA2MTgzNjI0MjY3Nl0sIFsxNjYzOTIwMDQyLjYyNjgyNCwgNTM3MywgMS4yNTI3MzQ2NjExMDIyOTVdLCBbMTY2MzkyMDA0Mi43MTAxMzIsIDUzODIsIDEuMzUzOTQ3MTYyNjI4MTczOF0sIFsxNjYzOTIwMDQyLjgwNTk4MTYsIDUzOTEsIDEuMTg3ODIzODkxNjM5NzA5NV0sIFsxNjYzOTIwMDQyLjkwNjkxMTgsIDU0MDAsIDEuMzIxMDMyNzYyNTI3NDY1OF0sIFsxNjYzOTIwMDQzLjExODk4LCA1NDE4LCAxLjExODE3NTk4MzQyODk1NV0sIFsxNjYzOTIwMDQzLjIxODg4MjMsIDU0MjcsIDEuNDg1MDAwMzcxOTMyOTgzNF0sIFsxNjYzOTIwMDQzLjMyMjg4NjIsIDU0MzYsIDEuMzk0NjkzMDE3MDA1OTIwNF0sIFsxNjYzOTIwMDQzLjUxNjQ2OTIsIDU0NTQsIDEuNDQyMTEyMjA3NDEyNzE5N10sIFsxNjYzOTIwMDQzLjc5NDA1NiwgNTQ4MSwgMS4wODU1NzQ2MjY5MjI2MDc0XSwgWzE2NjM5MjAwNDQuMjYxODY5LCA1NDk5LCAxLjA1MjcyODY1Mjk1NDEwMTZdLCBbMTY2MzkyMDA0NC41OTE5NCwgNTUyNiwgMS4zODYwNDYwNTE5NzkwNjVdLCBbMTY2MzkyMDA0NC43MTgzNTcsIDU1MzUsIDEuNjUwODU4MDQ0NjI0MzI4Nl0sIFsxNjYzOTIwMDQ0Ljk2MDkwMSwgNTU1MywgMS4xNzYwODM2ODM5Njc1OTAzXSwgWzE2NjM5MjAwNDUuMDYwOTgyNywgNTU2MiwgMS4wNjUzMDQ5OTQ1ODMxMjk5XSwgWzE2NjM5MjAwNDUuMTU2MzExOCwgNTU3MSwgMS41MDQwODk3MTMwOTY2MTg3XSwgWzE2NjM5MjAwNDUuMzM5MTE5LCA1NTg5LCAxLjI0NzQ3NDkwODgyODczNTRdLCBbMTY2MzkyMDA0NS41MzI2OTA1LCA1NjA3LCAxLjM1NDA3OTg0MjU2NzQ0MzhdLCBbMTY2MzkyMDA0NS42MzIzODc0LCA1NjE2LCAxLjE2NTUwMDc2MDA3ODQzMDJdLCBbMTY2MzkyMDA0NS45MDA5MDEzLCA1NjQzLCAxLjI5MTYwMzU2NTIxNjA2NDVdLCBbMTY2MzkyMDA0NS45OTE0OTAxLCA1NjUyLCAxLjE3NjIwMTEwNTExNzc5NzldLCBbMTY2MzkyMDA0Ni4wODU2MTQ3LCA1NjYxLCAxLjYyMDk4MDUwMTE3NDkyNjhdLCBbMTY2MzkyMDA0Ni4yMTQ1MDIsIDU2NzAsIDEuMzQ4NTQ2ODYyNjAyMjMzOV0sIFsxNjYzOTIwMDQ2LjYxNjIxNywgNTcwNiwgMS4yNzY0Nzc0NTYwOTI4MzQ1XSwgWzE2NjM5MjAwNDYuNzA4MzUwMiwgNTcxNSwgMS40MDk1MDIxNDg2MjgyMzQ5XSwgWzE2NjM5MjAwNDYuODAyNDMzNSwgNTcyNCwgMS40MTQwNDc4MzcyNTczODUzXSwgWzE2NjM5MjAwNDYuOTc3MzMxNCwgNTc0MiwgMS41OTE1OTE1OTY2MDMzOTM2XSwgWzE2NjM5MjAwNDcuMjY3NTE0NSwgNTc2OSwgMS4wNjUyMDYwNTA4NzI4MDI3XSwgWzE2NjM5MjAwNDcuNDQ0NjE2LCA1Nzc4LCAxLjM0NDQ2Mjc1MjM0MjIyNDFdLCBbMTY2MzkyMDA0Ny41ODY3NTcyLCA1Nzg3LCAxLjEzMTA2NDc3MjYwNTg5Nl0sIFsxNjYzOTIwMDQ3LjY5MTIyODksIDU3OTYsIDEuMjQyMjE4MDE3NTc4MTI1XSwgWzE2NjM5MjAwNDcuNzg5NzQzMiwgNTgwNSwgMS4xNzM5NDgwNDk1NDUyODhdLCBbMTY2MzkyMDA0Ny44Nzk4ODMzLCA1ODE0LCAxLjE0MTI5NTE5NDYyNTg1NDVdLCBbMTY2MzkyMDA0OC4xNzY5NTcsIDU4NDEsIDEuMTU2NTgzNzg2MDEwNzQyMl0sIFsxNjYzOTIwMDQ4LjI3MjY0NjIsIDU4NTAsIDEuMjAxMDgwMjAzMDU2MzM1NF0sIFsxNjYzOTIwMDQ4LjQ2NjIzNDcsIDU4NjgsIDEuMDg4ODM4Njk2NDc5Nzk3NF0sIFsxNjYzOTIwMDQ4LjU2NDkyMiwgNTg3NywgMS4wOTI4NDkxMzUzOTg4NjQ3XSwgWzE2NjM5MjAwNDguNjY5Nzc0MywgNTg4NiwgMS40NTgzNjEwMjk2MjQ5MzldLCBbMTY2MzkyMDA0OC43NTU3NzU1LCA1ODk1LCAxLjE5NTU3MTMwMzM2NzYxNDddLCBbMTY2MzkyMDA0OC44NjU1NDQ4LCA1OTA0LCAxLjAzNjI4ODQ5OTgzMjE1MzNdLCBbMTY2MzkyMDA0OS4xNjk0NzQxLCA1OTMxLCAxLjIxODUzOTcxNDgxMzIzMjRdLCBbMTY2MzkyMDA0OS4yNjk4MDYxLCA1OTQwLCAxLjI0OTc1NjkzMjI1ODYwNl0sIFsxNjYzOTIwMDQ5LjM2MDQ4MzQsIDU5NDksIDEuMDE3NDYxNTM4MzE0ODE5M10sIFsxNjYzOTIwMDUwLjA2Mzc3MDMsIDYwMTIsIDEuMzc0MDk3MjI4MDUwMjMyXSwgWzE2NjM5MjAwNTAuMjk5MjE3MiwgNjAzMCwgMS4xMTUzNzQzMjY3MDU5MzI2XSwgWzE2NjM5MjAwNTAuNDI3NDE2OCwgNjAzOSwgMS4xNjk3MDY0NjM4MTM3ODE3XSwgWzE2NjM5MjAwNTAuNzE0MjIwOCwgNjA2NiwgMS4xMjQ4ODMwNTU2ODY5NTA3XSwgWzE2NjM5MjAwNTAuOTMwMjA0NiwgNjA4NCwgMS4xNjAyOTMxMDIyNjQ0MDQzXSwgWzE2NjM5MjAwNTEuMDQwOTAzNiwgNjA5MywgMS40NjYzOTUyNTg5MDM1MDM0XSwgWzE2NjM5MjAwNTEuMTM0OTU2MSwgNjEwMiwgMS4xNDg4ODAxMjQwOTIxMDJdLCBbMTY2MzkyMDA1MS4yMzMwNTEzLCA2MTExLCAxLjA2MTk4MTc5NzIxODMyMjhdLCBbMTY2MzkyMDA1MS4zNDA1MjUyLCA2MTIwLCAxLjAyMjM4NDA0NzUwODIzOTddLCBbMTY2MzkyMDA1MS40NTE0MjI3LCA2MTI5LCAxLjEwOTYxOTk3NTA5MDAyNjldLCBbMTY2MzkyMDA1MS42NDE2MjI1LCA2MTQ3LCAxLjI4ODgzMDUxODcyMjUzNDJdLCBbMTY2MzkyMDA1MS43NDMzMTYsIDYxNTYsIDEuMjI1MjM4ODAwMDQ4ODI4MV0sIFsxNjYzOTIwMDUxLjg0Mzc5OTYsIDYxNjUsIDEuMjE3OTU0NTE2NDEwODI3Nl0sIFsxNjYzOTIwMDUxLjkzNzY2MTQsIDYxNzQsIDEuMjkwNTE0MTExNTE4ODU5OV0sIFsxNjYzOTIwMDUyLjEyNzMxMzEsIDYxOTIsIDEuMjczOTc4MTE0MTI4MTEyOF0sIFsxNjYzOTIwMDUyLjIyNzI1NTgsIDYyMDEsIDEuMzY4NzQ3MjM0MzQ0NDgyNF0sIFsxNjYzOTIwMDUyLjMyMDQ5NDQsIDYyMTAsIDEuMzAwNTQyOTUwNjMwMTg4XSwgWzE2NjM5MjAwNTIuNjIxNDc4MywgNjIzNywgMS4wMjE0MDI5NTUwNTUyMzY4XSwgWzE2NjM5MjAwNTIuNzE5OTQxLCA2MjQ2LCAxLjExNzAwMTA1NjY3MTE0MjZdLCBbMTY2MzkyMDA1My4wMTU0ODgsIDYyNTUsIDEuMDM4MTE0OTA1MzU3MzYwOF0sIFsxNjYzOTIwMDUzLjEwNzExNDYsIDYyNjQsIDEuMjM2MDM2ODk2NzA1NjI3NF0sIFsxNjYzOTIwMDUzLjIwOTAwNDYsIDYyNzMsIDEuMTkxNTk5NDg4MjU4MzYxOF0sIFsxNjYzOTIwMDUzLjMwNzM2MDYsIDYyODIsIDEuMTczMTU4NDA3MjExMzAzN10sIFsxNjYzOTIwMDUzLjUwMjgxNTUsIDYzMDAsIDEuMTU1ODE3NzQ3MTE2MDg4OV0sIFsxNjYzOTIwMDUzLjgwNzQzNTgsIDYzMjcsIDEuMjkwNjM5MjgxMjcyODg4Ml0sIFsxNjYzOTIwMDUzLjkyMzIxMTgsIDYzMzYsIDEuMjUwNjk3NzMxOTcxNzQwN10sIFsxNjYzOTIwMDU0LjEyNjA2NywgNjM1NCwgMS4xNDE3ODYwOTg0ODAyMjQ2XSwgWzE2NjM5MjAwNTQuNTg2NDA0OCwgNjM5MCwgMS4yMzU5OTIwNzQwMTI3NTYzXSwgWzE2NjM5MjAwNTQuNjkwMDM3NywgNjM5OSwgMS4xMzE1MjcxODU0NDAwNjM1XSwgWzE2NjM5MjAwNTQuODk0OTIzLCA2NDE3LCAxLjMwMDc3NTQwODc0NDgxMl0sIFsxNjYzOTIwMDU0Ljk4OTI1MTksIDY0MjYsIDEuMjIxNDYzNDQxODQ4NzU0OV0sIFsxNjYzOTIwMDU1LjE4ODIxNSwgNjQ0NCwgMS4xMzU2NjY2MDg4MTA0MjQ4XSwgWzE2NjM5MjAwNTUuMzcwMzgwNCwgNjQ2MiwgMC45OTA5NzMxMTQ5NjczNDYyXSwgWzE2NjM5MjAwNTUuNTY5ODIzNywgNjQ4MCwgMS4yNzYzNDk1NDQ1MjUxNDY1XSwgWzE2NjM5MjAwNTUuNjYxMjkwNiwgNjQ4OSwgMS4zNTgzNDk5MTkzMTkxNTI4XSwgWzE2NjM5MjAwNTUuNzU2NzgzLCA2NDk4LCAxLjAxMDIwNDc5MjAyMjcwNV0sIFsxNjYzOTIwMDU1Ljk0ODE4NTQsIDY1MTYsIDAuOTczODg4NTc2MDMwNzMxMl0sIFsxNjYzOTIwMDU2LjA1OTY0NTQsIDY1MjUsIDEuMTQ4NjI2ODA0MzUxODA2Nl0sIFsxNjYzOTIwMDU2LjE1MzkzMTksIDY1MzQsIDEuMDcwODIzMzExODA1NzI1XSwgWzE2NjM5MjAwNTYuMjU2NzQ1OCwgNjU0MywgMS4wODc4Mjg2MzYxNjk0MzM2XSwgWzE2NjM5MjAwNTYuMzQ2NTA0MiwgNjU1MiwgMS4yMzYzMzE5Mzk2OTcyNjU2XSwgWzE2NjM5MjAwNTYuNDQ4NjAzOSwgNjU2MSwgMC45ODE5NjcyNzAzNzQyOTgxXSwgWzE2NjM5MjAwNTYuNTQzMzA1NCwgNjU3MCwgMS4yMDAyNDQ1NDU5MzY1ODQ1XSwgWzE2NjM5MjAwNTYuNjM0NDExMywgNjU3OSwgMS40NjE5OTEzMTAxMTk2MjldLCBbMTY2MzkyMDA1Ni43Mjk5NjQ3LCA2NTg4LCAxLjI5OTUxNzM5MzExMjE4MjZdLCBbMTY2MzkyMDA1Ni44MjkyMzAzLCA2NTk3LCAxLjQ4MTAzNTcwOTM4MTEwMzVdLCBbMTY2MzkyMDA1Ni45MzE5MzU4LCA2NjA2LCAwLjk3MzEyNjcwOTQ2MTIxMjJdLCBbMTY2MzkyMDA1Ny40MDgxNTg1LCA2NjUxLCAxLjExNDA0Nzg4NDk0MTEwMV0sIFsxNjYzOTIwMDU3LjUwMDM5ODYsIDY2NjAsIDEuMDQ1NjYxNDQ5NDMyMzczXSwgWzE2NjM5MjAwNTcuNTkyMjQ2OCwgNjY2OSwgMS4wNzE2MTIzNTgwOTMyNjE3XSwgWzE2NjM5MjAwNTcuNzc3MjczLCA2Njg3LCAxLjIxMzc2OTY3NDMwMTE0NzVdLCBbMTY2MzkyMDA1Ny44NzE2MzA3LCA2Njk2LCAxLjAzODMzNzExMTQ3MzA4MzVdLCBbMTY2MzkyMDA1Ny45NzUzODQ1LCA2NzA1LCAxLjA2NDMwNjczNTk5MjQzMTZdLCBbMTY2MzkyMDA1OC4wNjY4NTE0LCA2NzE0LCAxLjAzMjE2NzA3NzA2NDUxNDJdLCBbMTY2MzkyMDA1OC42NTYyMjE2LCA2NzY4LCAxLjc4MTU5NTQ2ODUyMTExODJdLCBbMTY2MzkyMDA1OC43NTkyNzIsIDY3NzcsIDEuMDc2NDE2NzMwODgwNzM3M10sIFsxNjYzOTIwMDU5LjA1MzUwMDcsIDY4MDQsIDEuMjI3NDUxMjA1MjUzNjAxXSwgWzE2NjM5MjAwNTkuMTQ3Mzk4MiwgNjgxMywgMC45MzM3ODQ2MDQwNzI1NzA4XSwgWzE2NjM5MjAwNTkuMzQ2NDMyLCA2ODMxLCAxLjA5MTI0MDc2MzY2NDI0NTZdLCBbMTY2MzkyMDA1OS40NDYzNTczLCA2ODQwLCAxLjEzMDExMDM4MzAzMzc1MjRdLCBbMTY2MzkyMDA1OS44MTE1NTUxLCA2ODc2LCAxLjAxNjU3Mjk1MjI3MDUwNzhdLCBbMTY2MzkyMDA1OS45MTE2MDEzLCA2ODg1LCAxLjA3MDE4MTYwODIwMDA3MzJdLCBbMTY2MzkyMDA1OS45OTkzMjI0LCA2ODk0LCAxLjI2MTkyODQzOTE0MDMxOThdLCBbMTY2MzkyMDA2MC4xODM5OTk4LCA2OTEyLCAxLjIwNDUwODQyMzgwNTIzNjhdLCBbMTY2MzkyMDA2MC4yODgxMzcsIDY5MjEsIDEuMjIzMjQzNDc0OTYwMzI3MV0sIFsxNjYzOTIwMDYwLjM4NzYzMDIsIDY5MzAsIDEuMjY2MzM1ODQ0OTkzNTkxM10sIFsxNjYzOTIwMDYwLjQ4NTc2MjgsIDY5MzksIDEuMjg4NjkzMTg5NjIwOTcxN10sIFsxNjYzOTIwMDYwLjU3OTM2NjcsIDY5NDgsIDAuOTg3OTk2Mzk5NDAyNjE4NF0sIFsxNjYzOTIwMDYwLjY3ODk3OTYsIDY5NTcsIDEuMTU1NTExMzc5MjQxOTQzNF0sIFsxNjYzOTIwMDYwLjc3NDU2ODYsIDY5NjYsIDEuNDU3MDkwMjU4NTk4MzI3Nl0sIFsxNjYzOTIwMDYwLjk2NTE3ODcsIDY5ODQsIDEuMTYxMjg2MzU0MDY0OTQxNF0sIFsxNjYzOTIwMDYxLjA1NDQ2NDgsIDY5OTMsIDAuOTI2ODczNDQ1NTEwODY0M10sIFsxNjYzOTIwMDYxLjE2MTcwMDIsIDcwMDIsIDEuMDY0NzU4Nzc3NjE4NDA4Ml0sIFsxNjYzOTIwMDYxLjQ0NDA3NjMsIDcwMTEsIDEuMDM2ODM3OTM1NDQ3NjkyOV0sIFsxNjYzOTIwMDYxLjU0MDMyMDksIDcwMjAsIDEuMTI1OTM3NzAwMjcxNjA2NF0sIFsxNjYzOTIwMDYxLjYyNjExOTksIDcwMjksIDEuMDU5MTg4ODQyNzczNDM3NV0sIFsxNjYzOTIwMDYxLjcyMTI4MjUsIDcwMzgsIDEuMDUwOTkzOTE5MzcyNTU4Nl0sIFsxNjYzOTIwMDYxLjgwOTc1NjMsIDcwNDcsIDEuMjE3MDY0OTc2NjkyMTk5N10sIFsxNjYzOTIwMDYxLjkwNjQxNzYsIDcwNTYsIDEuMjI0MzYyNDkyNTYxMzQwM10sIFsxNjYzOTIwMDYyLjE5MzY4MjQsIDcwODMsIDEuMjYyOTg2NDIxNTg1MDgzXSwgWzE2NjM5MjAwNjIuMzg4NTk5OSwgNzEwMSwgMS4zMzUxOTY0OTUwNTYxNTIzXSwgWzE2NjM5MjAwNjIuNDg4NTY0NywgNzExMCwgMS4xMDI3NzA4MDUzNTg4ODY3XSwgWzE2NjM5MjAwNjIuNjczMzAwNSwgNzEyOCwgMS4xMzcyNTA1NDI2NDA2ODZdLCBbMTY2MzkyMDA2Mi44NjAxNiwgNzE0NiwgMS40MjM5NzA2OTkzMTAzMDI3XSwgWzE2NjM5MjAwNjMuMDU2OTY0OSwgNzE2NCwgMS4yMTEyMDYwNzg1MjkzNThdLCBbMTY2MzkyMDA2My4xNTMwNTc2LCA3MTczLCAxLjA4OTUwMDE4ODgyNzUxNDZdLCBbMTY2MzkyMDA2My4yNDA4MTY0LCA3MTgyLCAxLjQ2NzcyMzg0NjQzNTU0NjldLCBbMTY2MzkyMDA2My40MzgxNDk3LCA3MjAwLCAxLjEyNDEyMjM4MTIxMDMyNzFdLCBbMTY2MzkyMDA2My41Mzc2NzEsIDcyMDksIDEuMTM4ODU3MzY0NjU0NTQxXSwgWzE2NjM5MjAwNjMuOTAxNjU2LCA3MjQ1LCAxLjE3NTU3MjAzNzY5NjgzODRdLCBbMTY2MzkyMDA2My45ODcyNDI3LCA3MjU0LCAxLjAwNTQyMTc1NzY5ODA1OV0sIFsxNjYzOTIwMDY0LjA4MzMxNTQsIDcyNjMsIDEuMjE3ODUyODMwODg2ODQwOF0sIFsxNjYzOTIwMDY0LjE3NDIwMjIsIDcyNzIsIDEuMDI5OTg2MTQzMTEyMTgyNl0sIFsxNjYzOTIwMDY0LjQ1MjcyMjgsIDcyOTksIDEuMTM0NjkxMzU3NjEyNjA5OV0sIFsxNjYzOTIwMDY0LjU0NjE5MDcsIDczMDgsIDEuMDY0MDg2MTk4ODA2NzYyN10sIFsxNjYzOTIwMDY0LjczNjc3MDIsIDczMjYsIDEuMDQ5NzE0Njg0NDg2Mzg5Ml0sIFsxNjYzOTIwMDY1LjE4ODg3NzMsIDczNjIsIDEuMTQyMTg0NzM0MzQ0NDgyNF0sIFsxNjYzOTIwMDY1LjI4MDU3ODYsIDczNzEsIDEuMDMxMDM1NzgwOTA2Njc3Ml0sIFsxNjYzOTIwMDY1LjM3ODEyNDIsIDczODAsIDEuMTg5MjUxNzgwNTA5OTQ4N10sIFsxNjYzOTIwMDY1LjU4NTE2MjQsIDczOTgsIDEuMTQ5NDMwOTkwMjE5MTE2Ml0sIFsxNjYzOTIwMDY1LjcyMTQwMiwgNzQwNywgMS4zMjM1NDQxNDQ2MzA0MzIxXSwgWzE2NjM5MjAwNjUuODQzNDcsIDc0MTYsIDEuMDI0MzcwNjcwMzE4NjAzNV0sIFsxNjYzOTIwMDY1Ljk0MjM0NTEsIDc0MjUsIDEuMzE2MDUyOTEzNjY1NzcxNV0sIFsxNjYzOTIwMDY2LjAzNjg1MzMsIDc0MzQsIDEuMTA2ODM1MDA3NjY3NTQxNV0sIFsxNjYzOTIwMDY2LjEzMTE5MjIsIDc0NDMsIDEuMDcxOTE5MDgzNTk1Mjc1OV0sIFsxNjYzOTIwMDY2LjI0MDY1NCwgNzQ1MiwgMC45OTgxMjQzNjEwMzgyMDhdLCBbMTY2MzkyMDA2Ni4zMzM5MDAyLCA3NDYxLCAxLjQzNjk5MjY0NTI2MzY3MTldLCBbMTY2MzkyMDA2Ni41MjYxODQ2LCA3NDc5LCAxLjI4NDUzMjkwNDYyNDkzOV0sIFsxNjYzOTIwMDY2LjcxNzY4ODYsIDc0OTcsIDEuMDcwNTQ0OTU4MTE0NjI0XSwgWzE2NjM5MjAwNjYuODE2NDM2LCA3NTA2LCAxLjA4OTAyNjY4OTUyOTQxOV0sIFsxNjYzOTIwMDY3LjAxNDAyNjYsIDc1MjQsIDEuMTkxMTM5Njk4MDI4NTY0NV0sIFsxNjYzOTIwMDY3LjEwMDQzMTQsIDc1MzMsIDAuOTYxODI4MzUxMDIwODEzXSwgWzE2NjM5MjAwNjcuMjAxOTkyLCA3NTQyLCAxLjE1MjQ1MTYzNDQwNzA0MzVdLCBbMTY2MzkyMDA2Ny40MDYxMzk0LCA3NTYwLCAwLjk0MDIwNTE1NjgwMzEzMTFdLCBbMTY2MzkyMDA2Ny41MTA5NzgyLCA3NTY5LCAxLjI5Nzg3NDY4OTEwMjE3MjldLCBbMTY2MzkyMDA2Ny43MjQ0NTIzLCA3NTg3LCAxLjI1NzA3MjkyNTU2NzYyN10sIFsxNjYzOTIwMDY3LjgyMTk4NTUsIDc1OTYsIDEuMDgzNTY1NTkyNzY1ODA4XSwgWzE2NjM5MjAwNjguMDU1NjY4LCA3NjE0LCAxLjExNDE2MDE4MDA5MTg1OF0sIFsxNjYzOTIwMDY4LjU4MjMzMiwgNzY1OSwgMS4zMzAyODI5MjY1NTk0NDgyXSwgWzE2NjM5MjAwNjguNjkxMzk4NiwgNzY2OCwgMS4yODk4NTUyNDE3NzU1MTI3XSwgWzE2NjM5MjAwNjkuMDMxMzcwNCwgNzY5NSwgMS4xODY5Mzc5MjgxOTk3NjhdLCBbMTY2MzkyMDA2OS4yNTIwMDA4LCA3NzEzLCAxLjcyMDcxNTc2MTE4NDY5MjRdLCBbMTY2MzkyMDA2OS4zNDkzMTc2LCA3NzIyLCAxLjE3MDc5MjIyMjAyMzAxMDNdLCBbMTY2MzkyMDA2OS40NTMzMzY3LCA3NzMxLCAwLjg5MDQ3NzgzNjEzMjA0OTZdLCBbMTY2MzkyMDA2OS42NDY4MTQsIDc3NDksIDEuMjQ0NjQ5MDUyNjE5OTM0XSwgWzE2NjM5MjAwNjkuNzU2MDAxNSwgNzc1OCwgMS4wNjU5MjU1OTgxNDQ1MzEyXSwgWzE2NjM5MjAwNjkuODY2OTMxNywgNzc2NywgMC45NTc2Nzk1Njk3MjEyMjE5XSwgWzE2NjM5MjAwNzAuMzYyNjU5LCA3Nzk0LCAxLjEzNDEyOTg4MTg1ODgyNTddLCBbMTY2MzkyMDA3MC40NjI1MDQxLCA3ODAzLCAxLjQwMTY5MTU1NTk3Njg2NzddLCBbMTY2MzkyMDA3MC42NTcwNDI1LCA3ODIxLCAxLjI3MTA2NzUwMDExNDQ0MV0sIFsxNjYzOTIwMDcwLjg2MDk1MDIsIDc4MzksIDEuMDg0MjM5MjQ0NDYxMDU5Nl0sIFsxNjYzOTIwMDcwLjk1Njk2OTcsIDc4NDgsIDEuMjc3NzA1NDMwOTg0NDk3XSwgWzE2NjM5MjAwNzEuNTc3ODMzLCA3OTAyLCAxLjAxOTE3MjQzMDAzODQ1MjFdLCBbMTY2MzkyMDA3MS44NzQwNTM1LCA3OTI5LCAxLjIzMDg3NzE2MTAyNjAwMV0sIFsxNjYzOTIwMDcxLjk3OTUzNjMsIDc5MzgsIDEuMjQwNTU1NzYzMjQ0NjI5XSwgWzE2NjM5MjAwNzIuMDgwODMwNiwgNzk0NywgMS4xNTY0NDU2MjI0NDQxNTI4XSwgWzE2NjM5MjAwNzIuMTcwNTAyMiwgNzk1NiwgMS4yODU2MjA1NzAxODI4MDAzXSwgWzE2NjM5MjAwNzIuMjcyNjU4NiwgNzk2NSwgMS4wNzk3NjI4MTY0MjkxMzgyXSwgWzE2NjM5MjAwNzIuMzY1MDkxLCA3OTc0LCAxLjMzMTY3MzM4MzcxMjc2ODZdLCBbMTY2MzkyMDA3Mi40NzMyMTksIDc5ODMsIDEuMzA3ODU1ODQ0NDk3NjgwN10sIFsxNjYzOTIwMDcyLjU2NTk3NCwgNzk5MiwgMS4xMTk4OTU1Nzc0MzA3MjVdLCBbMTY2MzkyMDA3Mi42NjY2OTc3LCA4MDAxLCAxLjAzNTQzNDYwMzY5MTEwMV0sIFsxNjYzOTIwMDcyLjg1NjkxNywgODAxOSwgMS4xNjgxNTkwMDgwMjYxMjNdLCBbMTY2MzkyMDA3My4wNDIwODkyLCA4MDM3LCAxLjMzMjc4MzIyMjE5ODQ4NjNdLCBbMTY2MzkyMDA3My4zNDcwMzk3LCA4MDY0LCAxLjA2MjQ4Nzg0MDY1MjQ2NThdLCBbMTY2MzkyMDA3My41MzAzMDc1LCA4MDgyLCAxLjEzOTM3NzExNzE1Njk4MjRdLCBbMTY2MzkyMDA3My42MjcxNzQ2LCA4MDkxLCAxLjA1MzkzMzM4MjAzNDMwMThdLCBbMTY2MzkyMDA3My45MTI5NDY3LCA4MTE4LCAxLjIxNzcyNzg5OTU1MTM5MTZdLCBbMTY2MzkyMDA3NC4wMjA4MjY4LCA4MTI3LCAxLjE2ODIzNzU2Njk0NzkzN10sIFsxNjYzOTIwMDc0LjIxNDUxNSwgODE0NSwgMS4zMzg2ODQyMDEyNDA1Mzk2XSwgWzE2NjM5MjAwNzQuMzE3NTQyLCA4MTU0LCAxLjEyNzY1NzQxMzQ4MjY2Nl0sIFsxNjYzOTIwMDc0LjQxNDcxMDUsIDgxNjMsIDEuMTc2NTY2NDgxNTkwMjcxXSwgWzE2NjM5MjAwNzQuNTA4NTc3NiwgODE3MiwgMS4wNzk0MDIwODkxMTg5NTc1XSwgWzE2NjM5MjAwNzQuNTk3NDkxLCA4MTgxLCAxLjE5NzM0NzUyMTc4MTkyMTRdLCBbMTY2MzkyMDA3NC44MDE2NTM5LCA4MTk5LCAxLjA0MzQxOTgzNzk1MTY2MDJdLCBbMTY2MzkyMDA3NC45MDIyODQ5LCA4MjA4LCAxLjI4NzkzOTkwNjEyMDMwMDNdLCBbMTY2MzkyMDA3NS4xMTEwNTcsIDgyMjYsIDEuMDgzMTA5NDk4MDIzOTg2OF0sIFsxNjYzOTIwMDc1LjE5ODA3NiwgODIzNSwgMC45OTQxOTQ2ODY0MTI4MTEzXSwgWzE2NjM5MjAwNzUuMzk2MjI4OCwgODI1MywgMS4wMjU5MjkzMzE3Nzk0OF0sIFsxNjYzOTIwMDc1LjQ5Njk4MSwgODI2MiwgMS4wMTYzMTAzMzQyMDU2Mjc0XSwgWzE2NjM5MjAwNzUuNTgyMjQsIDgyNzEsIDEuNTgyODYyMDE5NTM4ODc5NF0sIFsxNjYzOTIwMDc1LjY4MTk3NDQsIDgyODAsIDEuMjY5MDk2NDkzNzIxMDA4M10sIFsxNjYzOTIwMDc1Ljc4NTA5NjQsIDgyODksIDEuMTU0MTY4MjQ4MTc2NTc0N10sIFsxNjYzOTIwMDc1LjkzMDUwMzgsIDgyOTgsIDEuNDAzMzUwNTkxNjU5NTQ2XSwgWzE2NjM5MjAwNzYuMTQ5MjQ4OCwgODMxNiwgMC45Njk4NzQ0NDE2MjM2ODc3XSwgWzE2NjM5MjAwNzYuNTU5MTE5NSwgODM1MiwgMS4yOTEyMzI1ODU5MDY5ODI0XSwgWzE2NjM5MjAwNzYuNjUyNDU5OSwgODM2MSwgMS4yMTcwODczODgwMzg2MzUzXSwgWzE2NjM5MjAwNzYuNzQ3ODE5MiwgODM3MCwgMC45NTQ5NzU2MDUwMTA5ODYzXSwgWzE2NjM5MjAwNzYuODM3MTk3MywgODM3OSwgMS4xOTA0MjAwMzE1NDc1NDY0XSwgWzE2NjM5MjAwNzYuOTI2NTgwNCwgODM4OCwgMS4xNzA2NTM5MzkyNDcxMzEzXSwgWzE2NjM5MjAwNzcuMDE3MzcwMiwgODM5NywgMS4xNTIyMTI2MTk3ODE0OTQxXSwgWzE2NjM5MjAwNzcuMTE4MzM4NiwgODQwNiwgMS4zODQzNzc0Nzk1NTMyMjI3XSwgWzE2NjM5MjAwNzcuMjE2MzM0MywgODQxNSwgMS4wOTAxMDgyNzU0MTM1MTMyXSwgWzE2NjM5MjAwNzcuMzA3OTU5LCA4NDI0LCAwLjkxODQwNDY5ODM3MTg4NzJdLCBbMTY2MzkyMDA3Ny43ODMzNTgsIDg0NjAsIDAuOTU4NTk3NTQwODU1NDA3N10sIFsxNjYzOTIwMDc3Ljk3NzU3OCwgODQ3OCwgMS4xMDY0ODk0MTk5MzcxMzM4XSwgWzE2NjM5MjAwNzguMTA1MzkwNSwgODQ4NywgMS4wODk3MjA0ODc1OTQ2MDQ1XSwgWzE2NjM5MjAwNzguNDQ4NTczNCwgODUxNCwgMS4wMTI5NjU1NTk5NTk0MTE2XSwgWzE2NjM5MjAwNzguNTU3MDIzMywgODUyMywgMS4xODU0Mzg2MzI5NjUwODhdLCBbMTY2MzkyMDA3OS4wNzQ3ODMzLCA4NTUwLCAxLjAwMzcwMDM3NTU1Njk0NThdLCBbMTY2MzkyMDA3OS4xNzExMDc4LCA4NTU5LCAxLjE3OTgwOTgwODczMTA3OV0sIFsxNjYzOTIwMDc5LjM3NDU4ODcsIDg1NzcsIDEuMDQ2NDQ4OTQ1OTk5MTQ1NV0sIFsxNjYzOTIwMDc5LjU4Mzc4LCA4NTk1LCAxLjA0NjY0MTU4ODIxMTA1OTZdLCBbMTY2MzkyMDA3OS42NzMyNTQ3LCA4NjA0LCAxLjAyOTk5NjE1NjY5MjUwNDldLCBbMTY2MzkyMDA3OS44MTAzMzM1LCA4NjEzLCAxLjM0NTk3MzQ5MTY2ODcwMTJdLCBbMTY2MzkyMDA4MC4xNzkyNTA3LCA4NjQwLCAxLjA0MDU2MDg0MTU2MDM2MzhdLCBbMTY2MzkyMDA4MC4yNzQwNywgODY0OSwgMS4xOTUxOTc5Mzk4NzI3NDE3XSwgWzE2NjM5MjAwODAuNDE4NDI5MSwgODY1OCwgMC45MTgyNTg2MDczODc1NDI3XSwgWzE2NjM5MjAwODAuNTI5Njg5OCwgODY2NywgMC45Njc2MjgwMDIxNjY3NDhdLCBbMTY2MzkyMDA4MC42NDU4Njc4LCA4Njc2LCAxLjE5MDc2MzgzMTEzODYxMDhdLCBbMTY2MzkyMDA4MC43NDMyNTYzLCA4Njg1LCAxLjM1OTEzMTIxNzAwMjg2ODddLCBbMTY2MzkyMDA4MC44MzU5MzMsIDg2OTQsIDEuMDU0OTU2Njc0NTc1ODA1N10sIFsxNjYzOTIwMDgxLjAyOTYxNzMsIDg3MTIsIDEuMzE5Mzk0MzUwMDUxODc5OV0sIFsxNjYzOTIwMDgxLjEzMDM1NTQsIDg3MjEsIDEuMTQ3ODYxMzYxNTAzNjAxXSwgWzE2NjM5MjAwODEuNDIwNjM4MywgODc0OCwgMS4wMjEyNzQyMDkwMjI1MjJdLCBbMTY2MzkyMDA4MS45Mzc4NjA1LCA4NzkzLCAwLjkzNzc2NzAyODgwODU5MzhdLCBbMTY2MzkyMDA4Mi4xMjk2MTc3LCA4ODExLCAxLjAxOTg5MTg1ODEwMDg5MTFdLCBbMTY2MzkyMDA4Mi4yMzM2MjIzLCA4ODIwLCAxLjAwNzE2NTkwODgxMzQ3NjZdLCBbMTY2MzkyMDA4Mi40OTU2MTk4LCA4ODM4LCAxLjIwNTk1MzgzNjQ0MTA0XSwgWzE2NjM5MjAwODIuNjAwMjgxLCA4ODQ3LCAxLjExMDM3ODE0NjE3MTU2OThdLCBbMTY2MzkyMDA4Mi43MDM4MzU3LCA4ODU2LCAxLjEyMzk4NzY3NDcxMzEzNDhdLCBbMTY2MzkyMDA4Mi45NzI3NzY0LCA4ODgzLCAwLjg4NTU0NzMzOTkxNjIyOTJdLCBbMTY2MzkyMDA4My4wNzkyNjQsIDg4OTIsIDAuOTU0MTE4NzI4NjM3Njk1M10sIFsxNjYzOTIwMDgzLjE3NDg2MDcsIDg5MDEsIDEuMTY2MzI4OTA3MDEyOTM5NV0sIFsxNjYzOTIwMDgzLjI2OTI3OTcsIDg5MTAsIDEuMDk1NDAxNzYzOTE2MDE1Nl0sIFsxNjYzOTIwMDgzLjM2MDUwMTgsIDg5MTksIDEuMDY3OTE5NDkyNzIxNTU3Nl0sIFsxNjYzOTIwMDgzLjU2NzEwMSwgODkzNywgMS4zNzg4MjYzNzk3NzYwMDFdLCBbMTY2MzkyMDA4My43ODcxNTQ3LCA4OTU1LCAxLjEwNDc2OTcwNjcyNjA3NDJdLCBbMTY2MzkyMDA4My44OTgxNjg2LCA4OTY0LCAxLjE1MzAyMDI2MjcxODIwMDddLCBbMTY2MzkyMDA4NC4wMzA0NDU2LCA4OTczLCAxLjE0ODQzOTE2ODkzMDA1MzddLCBbMTY2MzkyMDA4NC4yMzA0MDUzLCA4OTkxLCAxLjA5Nzk0MTg3NTQ1Nzc2MzddLCBbMTY2MzkyMDA4NC4zMjgyMiwgOTAwMCwgMS4xMDc3Njg4OTMyNDE4ODIzXSwgWzE2NjM5MjAwODQuNTE1NjA2LCA5MDE4LCAxLjE4NjEyNjExMjkzNzkyNzJdLCBbMTY2MzkyMDA4NC42MDY2MDMsIDkwMjcsIDEuMDk2NTUwOTQxNDY3Mjg1Ml0sIFsxNjYzOTIwMDg0LjcwMzg5MzcsIDkwMzYsIDEuMTYxMjExNDkwNjMxMTAzNV0sIFsxNjYzOTIwMDg0Ljc5ODkxNTQsIDkwNDUsIDEuNTI1ODA5NTI2NDQzNDgxNF0sIFsxNjYzOTIwMDg0Ljg4OTg3MDIsIDkwNTQsIDEuNTQzMzE0ODE0NTY3NTY2XSwgWzE2NjM5MjAwODQuOTg1Nzg4MywgOTA2MywgMS4wNDkzNjMxMzYyOTE1MDRdLCBbMTY2MzkyMDA4NS41MjgwMjU5LCA5MTA4LCAxLjE3NTA4NjYxNzQ2OTc4NzZdLCBbMTY2MzkyMDA4NS43MjEyNiwgOTEyNiwgMS4wNTM0MTA3Njg1MDg5MTExXSwgWzE2NjM5MjAwODUuOTE5ODE5LCA5MTQ0LCAwLjk4Nzg5MTczMzY0NjM5MjhdLCBbMTY2MzkyMDA4Ni4wMTQ1MDI4LCA5MTUzLCAxLjEwODU0MzI3Njc4NjgwNDJdLCBbMTY2MzkyMDA4Ni4xMDE4MzQ4LCA5MTYyLCAxLjEwMTkzMTgxMDM3OTAyODNdLCBbMTY2MzkyMDA4Ni4zOTkxMjAzLCA5MTg5LCAwLjkyNTg3MTAxNDU5NTAzMTddLCBbMTY2MzkyMDA4Ni41ODY2ODcsIDkyMDcsIDEuMDIxNDUzNzM4MjEyNTg1NF0sIFsxNjYzOTIwMDg2Ljk2NDM5NzQsIDkyNDMsIDEuMDA5ODcwNDA5OTY1NTE1MV0sIFsxNjYzOTIwMDg3LjE3MDEwOTUsIDkyNjEsIDEuMjU2Mzg0MjUzNTAxODkyXSwgWzE2NjM5MjAwODcuMjk0NDI3OSwgOTI3MCwgMC45OTkzODg2MzUxNTg1Mzg4XSwgWzE2NjM5MjAwODcuNDk3NTk3NywgOTI4OCwgMS4xNzQ4NzAxMzMzOTk5NjM0XSwgWzE2NjM5MjAwODguMDczMjg1MywgOTMyNCwgMS4wNjYwMDU5NDUyMDU2ODg1XSwgWzE2NjM5MjAwODguMTY5NTU3MywgOTMzMywgMS4wMTIxMDg0NDUxNjc1NDE1XSwgWzE2NjM5MjAwODguMzAyNzg5NywgOTM0MiwgMS4wOTQ2NzM3NTI3ODQ3MjldLCBbMTY2MzkyMDA4OC40MTkxNDYzLCA5MzUxLCAxLjEzNTQ1NTYwODM2NzkyXSwgWzE2NjM5MjAwODguNTA4NTM5MiwgOTM2MCwgMS4wOTQ1NzI1NDQwOTc5MDA0XSwgWzE2NjM5MjAwODguODkyMzE4MiwgOTM5NiwgMS4wNTcyNzMyNjg2OTk2NDZdLCBbMTY2MzkyMDA4OS4wODc4MDA3LCA5NDE0LCAxLjQ4MzYxNTM5ODQwNjk4MjRdLCBbMTY2MzkyMDA4OS4xODY1NTYsIDk0MjMsIDAuOTI1MzU5MTI5OTA1NzAwN10sIFsxNjYzOTIwMDg5LjUwNDg3MDQsIDk0NTAsIDAuOTMxMjc1OTA0MTc4NjE5NF0sIFsxNjYzOTIwMDg5LjgwMDE0MiwgOTQ3NywgMS4wNzI5NzY0Njk5OTM1OTEzXSwgWzE2NjM5MjAwODkuOTIxMzc1OCwgOTQ4NiwgMS40NTEzMDgyNTA0MjcyNDZdLCBbMTY2MzkyMDA5MC4wMzQ4NjcsIDk0OTUsIDAuOTEzMTI1NDU1Mzc5NDg2MV0sIFsxNjYzOTIwMDkwLjI2OTI2NzgsIDk1MTMsIDEuMDQ4NDc2NDU3NTk1ODI1Ml0sIFsxNjYzOTIwMDkwLjQ5OTE2NzQsIDk1MzEsIDEuMjA1MTgyNzkwNzU2MjI1Nl0sIFsxNjYzOTIwMDkwLjYwMzM4MzUsIDk1NDAsIDEuMjcyMjU4MDQzMjg5MTg0Nl0sIFsxNjYzOTIwMDkwLjcxNzc4MTUsIDk1NDksIDEuMjcyNzQ4ODI3OTM0MjY1MV0sIFsxNjYzOTIwMDkwLjk0ODc1NDUsIDk1NjcsIDEuMzQ4MjQ2ODEyODIwNDM0Nl0sIFsxNjYzOTIwMDkxLjI4MjExODMsIDk1OTQsIDEuMjU5MDg4ODczODYzMjIwMl0sIFsxNjYzOTIwMDkxLjM2ODc4NTksIDk2MDMsIDAuOTQ0ODA3ODg3MDc3MzMxNV0sIFsxNjYzOTIwMDkxLjQ3NDA0NzIsIDk2MTIsIDAuOTg1MzkzMTY2NTQyMDUzMl0sIFsxNjYzOTIwMDkxLjY5MjY3MywgOTYzMCwgMS4wODMyODAyMDU3MjY2MjM1XSwgWzE2NjM5MjAwOTEuODMyOTQxLCA5NjM5LCAwLjk3MTE4OTY3NzcxNTMwMTVdLCBbMTY2MzkyMDA5MS45NDA0NzYyLCA5NjQ4LCAxLjA1MjkzOTE3NjU1OTQ0ODJdLCBbMTY2MzkyMDA5Mi4wNTU3LCA5NjU3LCAxLjA2ODU0MTY0NjAwMzcyMzFdLCBbMTY2MzkyMDA5Mi4xNTc4ODEsIDk2NjYsIDEuMjYxNzQxMDQyMTM3MTQ2XSwgWzE2NjM5MjAwOTIuMjQ2ODQzLCA5Njc1LCAxLjAyODk4NTk3NzE3Mjg1MTZdLCBbMTY2MzkyMDA5Mi41MzY5OTUsIDk3MDIsIDAuOTAzNDYwNjgxNDM4NDQ2XSwgWzE2NjM5MjAwOTIuNjI4MzY4MSwgOTcxMSwgMS4wMDg5NjA5NjIyOTU1MzIyXSwgWzE2NjM5MjAwOTIuODE3NzQzNSwgOTcyOSwgMS41MzM1NjAwMzc2MTI5MTVdLCBbMTY2MzkyMDA5Mi45MTY4NzA2LCA5NzM4LCAxLjEzNzEzOTY3ODAwMTQwMzhdLCBbMTY2MzkyMDA5My4wMjI0MDU2LCA5NzQ3LCAxLjExMDY0NDM0MDUxNTEzNjddLCBbMTY2MzkyMDA5My4xMTg5NTY2LCA5NzU2LCAxLjAzMTI2MTU2MzMwMTA4NjRdLCBbMTY2MzkyMDA5My4zMTE4ODI1LCA5Nzc0LCAxLjEyNjE2MjUyODk5MTY5OTJdLCBbMTY2MzkyMDA5My40MDgwMjc2LCA5NzgzLCAwLjkzMzE0NjE3ODcyMjM4MTZdLCBbMTY2MzkyMDA5My41MDM0NTI4LCA5NzkyLCAwLjkyNTY0MTQ3NzEwODAwMTddLCBbMTY2MzkyMDA5My44NjE3OTEsIDk4MjgsIDEuMDA4Mzg0OTQzMDA4NDIyOV0sIFsxNjYzOTIwMDkzLjk2MzQ5OTMsIDk4MzcsIDEuMTE0OTYxOTgxNzczMzc2NV0sIFsxNjYzOTIwMDk0LjA2MjMxNCwgOTg0NiwgMS4wNjcwNjgzMzgzOTQxNjVdLCBbMTY2MzkyMDA5NC41MzU0NTk1LCA5ODkxLCAxLjAxMzI3MTMzMTc4NzEwOTRdLCBbMTY2MzkyMDA5NC43MTgzNzEsIDk5MDksIDAuODg4NTIyNzQ0MTc4NzcyXSwgWzE2NjM5MjAwOTQuOTAwMzUzLCA5OTI3LCAxLjA2MzI0ODUxNTEyOTA4OTRdLCBbMTY2MzkyMDA5NC45ODg5OTk2LCA5OTM2LCAxLjY0NTE2OTI1ODExNzY3NThdLCBbMTY2MzkyMDA5NS4wODYyNjk2LCA5OTQ1LCAxLjI0MDEzMzc2MjM1OTYxOTFdLCBbMTY2MzkyMDA5NS4zNzUxMzQyLCA5OTcyLCAwLjk5NTgyMTY1NDc5NjYwMDNdLCBbMTY2MzkyMDA5NS40NzA4MjMsIDk5ODEsIDEuMDkwODYzMTA4NjM0OTQ4N10sIFsxNjYzOTIwMDk1LjU3NTczMiwgOTk5MCwgMS4wMTQ5MzU2MTI2Nzg1Mjc4XSwgWzE2NjM5MjAwOTUuNjYzMTY0OSwgOTk5OSwgMS43NjQyMDE0MDI2NjQxODQ2XSwgWzE2NjM5MjAwOTUuODA5NjU5MiwgMTAwMDgsIDEuMDM1Mzc2NTQ4NzY3MDg5OF0sIFsxNjYzOTIwMDk1LjkxOTg4NDIsIDEwMDE3LCAxLjM2OTU4NDkxODAyMjE1NThdLCBbMTY2MzkyMDA5Ni4wMjc5ODk5LCAxMDAyNiwgMC44NzEwMjg0MjMzMDkzMjYyXSwgWzE2NjM5MjAwOTYuMTI4MDMxLCAxMDAzNSwgMS4yODI1MDMwMDg4NDI0NjgzXSwgWzE2NjM5MjAwOTYuMzI4MjksIDEwMDUzLCAxLjA0MTA0MzA0MzEzNjU5NjddLCBbMTY2MzkyMDA5Ni42NDExNCwgMTAwNjIsIDEuMjMwMjU3MDM0MzAxNzU3OF0sIFsxNjYzOTIwMDk2Ljg2MTM4MywgMTAwODAsIDEuMTUwMjM4NzUyMzY1MTEyM10sIFsxNjYzOTIwMDk2Ljk2NjkyNzUsIDEwMDg5LCAwLjk1NjI0ODkzOTAzNzMyM10sIFsxNjYzOTIwMDk3LjA2MDQ0MjIsIDEwMDk4LCAxLjA4MzI2ODQwNDAwNjk1OF0sIFsxNjYzOTIwMDk3LjE1NDg5NDQsIDEwMTA3LCAxLjAxNDE2MzI1NTY5MTUyODNdLCBbMTY2MzkyMDA5Ny41MTk5NDIsIDEwMTM0LCAwLjk0OTU2NDM5NzMzNTA1MjVdLCBbMTY2MzkyMDA5Ny42MzE2MzkyLCAxMDE0MywgMS4wNzgxNzkwMDE4MDgxNjY1XSwgWzE2NjM5MjAwOTcuODY2MjYyNCwgMTAxNjEsIDEuMTU1MDQ4MjUxMTUyMDM4Nl0sIFsxNjYzOTIwMDk3Ljk1NTQyNTUsIDEwMTcwLCAxLjAwMjQ2OTE4MjAxNDQ2NTNdLCBbMTY2MzkyMDA5OC4wNTU4NDUsIDEwMTc5LCAxLjA5ODQ2MTM4OTU0MTYyNl0sIFsxNjYzOTIwMDk4LjE2ODM0MDcsIDEwMTg4LCAxLjIzMjQ5MDc3Nzk2OTM2MDRdLCBbMTY2MzkyMDA5OC4yNTg4NTQ2LCAxMDE5NywgMS4zODE2MjIzMTQ0NTMxMjVdLCBbMTY2MzkyMDA5OC40NTI5Njk2LCAxMDIxNSwgMC44NzI3NTk1MjEwMDc1Mzc4XSwgWzE2NjM5MjAwOTguNTQ0MzE5NiwgMTAyMjQsIDEuMjkwMDAzMjk5NzEzMTM0OF0sIFsxNjYzOTIwMDk4LjYzNzQxMDIsIDEwMjMzLCAxLjEyNDQ4NjA4ODc1Mjc0NjZdLCBbMTY2MzkyMDA5OC43MzY1NDAzLCAxMDI0MiwgMS4wMjcxOTI1OTI2MjA4NDk2XSwgWzE2NjM5MjAwOTguOTYwMDI5MSwgMTAyNjAsIDEuMjY1ODAyNTAyNjMyMTQxMV0sIFsxNjYzOTIwMDk5LjA2OTgxNjQsIDEwMjY5LCAwLjk2OTQyODE4MTY0ODI1NDRdLCBbMTY2MzkyMDA5OS4yNjEwNTk1LCAxMDI4NywgMS4wMDAxNjA5MzI1NDA4OTM2XSwgWzE2NjM5MjAwOTkuNjQ1ODc0LCAxMDMxNCwgMS4xMjgwNzUyNDIwNDI1NDE1XSwgWzE2NjM5MjAwOTkuNzUxMzk2LCAxMDMyMywgMC45NTY0ODYzNDQzMzc0NjM0XSwgWzE2NjM5MjAwOTkuOTgxMjI5MywgMTAzNDEsIDEuMDcwODQwMzU4NzM0MTMwOV0sIFsxNjYzOTIwMTAwLjA5NjQyMzEsIDEwMzUwLCAwLjkzODQwNTk5MDYwMDU4NTldLCBbMTY2MzkyMDEwMC4yMTA4MjIzLCAxMDM1OSwgMS4xMzY3MDk0NTE2NzU0MTVdLCBbMTY2MzkyMDEwMC4zMjI2NDg1LCAxMDM2OCwgMS4wNzAzNzA5MTI1NTE4Nzk5XSwgWzE2NjM5MjAxMDAuNDMwODU5OCwgMTAzNzcsIDEuMDkzMzg0NzQyNzM2ODE2NF0sIFsxNjYzOTIwMTAwLjU3MjAxNCwgMTAzODYsIDEuMTI5NzA2NTAxOTYwNzU0NF0sIFsxNjYzOTIwMTAwLjc2NzUxNywgMTA0MDQsIDEuMzQ4MTM0Mzk4NDYwMzg4Ml0sIFsxNjYzOTIwMTAxLjE1OTk2NTUsIDEwNDQwLCAwLjk3ODQ4MzMxOTI4MjUzMTddLCBbMTY2MzkyMDEwMS4yNTMzODQ0LCAxMDQ0OSwgMS4xMjM3MTgyNjE3MTg3NV0sIFsxNjYzOTIwMTAxLjQ4NDg0NDcsIDEwNDY3LCAxLjQzMzE5NDc1NjUwNzg3MzVdLCBbMTY2MzkyMDEwMS43MDg2MDk4LCAxMDQ4NSwgMS40MjY2MzUzODQ1NTk2MzEzXSwgWzE2NjM5MjAxMDEuOTE2NjEyLCAxMDUwMywgMS4yNzI0NDI1NzkyNjk0MDkyXSwgWzE2NjM5MjAxMDIuMDQ5MzM3NiwgMTA1MTIsIDAuOTA5ODY4MzU5NTY1NzM0OV0sIFsxNjYzOTIwMTAyLjU1MzEwMSwgMTA1NTcsIDEuMjA1NTExODA4Mzk1Mzg1N10sIFsxNjYzOTIwMTAyLjY1Mjk2ODYsIDEwNTY2LCAxLjE4Njk0MjkzNDk4OTkyOTJdLCBbMTY2MzkyMDEwMi43NDY2MTU0LCAxMDU3NSwgMS4yMzM0NTU2NTc5NTg5ODQ0XSwgWzE2NjM5MjAxMDIuOTQzMzE4MSwgMTA1OTMsIDEuMDc2NjY0ODA1NDEyMjkyNV0sIFsxNjYzOTIwMTAzLjAzNDA0MzMsIDEwNjAyLCAxLjI1MTQ3MzY2NTIzNzQyNjhdLCBbMTY2MzkyMDEwMy4xMzQzMTUzLCAxMDYxMSwgMC44OTg1MDc3NzM4NzYxOTAyXSwgWzE2NjM5MjAxMDMuMzIyNjA0MiwgMTA2MjksIDEuMzgwOTAxMjE3NDYwNjMyM10sIFsxNjYzOTIwMTAzLjUxMzUzNzYsIDEwNjQ3LCAxLjA2ODQ4NTYxNzYzNzYzNDNdLCBbMTY2MzkyMDEwMy43MjA1NjMsIDEwNjY1LCAwLjk0NDEzMTEzNTk0MDU1MThdLCBbMTY2MzkyMDEwMy45MTQ2MzA3LCAxMDY4MywgMS4yOTA0NTk1MTM2NjQyNDU2XSwgWzE2NjM5MjAxMDQuMTA1Nzk4NywgMTA3MDEsIDEuNTAwNTIzMjA5NTcxODM4NF0sIFsxNjYzOTIwMTA0LjIwNjkwOSwgMTA3MTAsIDEuMDM2Mjc5Nzk3NTU0MDE2MV0sIFsxNjYzOTIwMTA0LjI5ODk4MTQsIDEwNzE5LCAxLjA3NDg2ODA4MzAwMDE4M10sIFsxNjYzOTIwMTA0LjU4NTIwMDUsIDEwNzQ2LCAxLjQ0OTg0MjU3MjIxMjIxOTJdLCBbMTY2MzkyMDEwNC42ODQxNjk1LCAxMDc1NSwgMS4xMjMzMDQ5NjMxMTE4Nzc0XSwgWzE2NjM5MjAxMDQuNzgwMDU1OCwgMTA3NjQsIDEuMDg5MjA2Njk1NTU2NjQwNl0sIFsxNjYzOTIwMTA0Ljg5MDIxMzcsIDEwNzczLCAwLjk3MjQ5NjE1MTkyNDEzMzNdLCBbMTY2MzkyMDEwNC45ODg3OCwgMTA3ODIsIDAuOTg5MjA2NDMzMjk2MjAzNl0sIFsxNjYzOTIwMTA1LjEwMDIwMDIsIDEwNzkxLCAxLjAzOTA1ODIwODQ2NTU3NjJdLCBbMTY2MzkyMDEwNS41OTkxNTIzLCAxMDgxOCwgMS4wNDcwNjQwNjU5MzMyMjc1XSwgWzE2NjM5MjAxMDUuNjkzNzQyMywgMTA4MjcsIDEuMTk0Mjk5NTc4NjY2Njg3XSwgWzE2NjM5MjAxMDUuOTkxODE1LCAxMDg1NCwgMS4wMTk5MTU4MTkxNjgwOTA4XSwgWzE2NjM5MjAxMDYuMTA2NTA2MywgMTA4NjMsIDEuMTc4Nzg4NTQyNzQ3NDk3Nl0sIFsxNjYzOTIwMTA2LjIxOTAyMjgsIDEwODcyLCAxLjE0OTQ0Mzc0NTYxMzA5ODFdLCBbMTY2MzkyMDEwNi40NTY5Mzc2LCAxMDg5MCwgMS4wNjc0MTU5NTI2ODI0OTUxXSwgWzE2NjM5MjAxMDYuNTY4Njc4OSwgMTA4OTksIDEuMjAxNjc3Nzk5MjI0ODUzNV0sIFsxNjYzOTIwMTA2Ljg1NDI2NzgsIDEwOTI2LCAxLjM4Nzc3NDM0ODI1ODk3MjJdLCBbMTY2MzkyMDEwNi45NDYzNTg3LCAxMDkzNSwgMS4wNTY2OTIxMjM0MTMwODZdLCBbMTY2MzkyMDEwNy4wNDY5NjczLCAxMDk0NCwgMC45ODM3OTkxNTk1MjY4MjVdLCBbMTY2MzkyMDEwNy4yODU3NTMsIDEwOTYyLCAwLjkwMjc1Mzc3MDM1MTQwOTldLCBbMTY2MzkyMDEwNy4zOTIxNTM3LCAxMDk3MSwgMS4yNTA5Njg4MTM4OTYxNzkyXSwgWzE2NjM5MjAxMDcuNjkwNzUyMywgMTA5OTgsIDAuODI0MDA3MjcyNzIwMzM2OV0sIFsxNjYzOTIwMTA3LjgwMDAzOTUsIDExMDA3LCAxLjI4MTE2NTgzODI0MTU3NzFdLCBbMTY2MzkyMDEwNy45MjgxMDY1LCAxMTAxNiwgMS4xMzEyODk5NTg5NTM4NTc0XSwgWzE2NjM5MjAxMDguMTg0MjA0OCwgMTEwMzQsIDAuOTM0ODMzNDY3MDA2NjgzM10sIFsxNjYzOTIwMTA4LjU1MDQ5NSwgMTEwNjEsIDAuOTg0MDMxMDIxNTk1MDAxMl0sIFsxNjYzOTIwMTA4LjY1NTQyODQsIDExMDcwLCAxLjAwMTc2MDAwNTk1MDkyNzddLCBbMTY2MzkyMDEwOS4wMjY2NjYyLCAxMTA5NywgMS4yMzUzNDA3MTQ0NTQ2NTA5XSwgWzE2NjM5MjAxMDkuMTQwMjU5NSwgMTExMDYsIDEuNDc0Nzc5NDg2NjU2MTg5XSwgWzE2NjM5MjAxMDkuMjI5MjYxNiwgMTExMTUsIDEuMTQ2NDM2MjE0NDQ3MDIxNV0sIFsxNjYzOTIwMTA5LjY2MjE3MDIsIDExMTUxLCAxLjExNTcwNzAzOTgzMzA2ODhdLCBbMTY2MzkyMDEwOS45MTA5NjU0LCAxMTE2OSwgMS4wNzE2NDg0Nzg1MDc5OTU2XSwgWzE2NjM5MjAxMTAuMDEzMjI3MiwgMTExNzgsIDEuMDAzMTA5NTc0MzE3OTMyMV0sIFsxNjYzOTIwMTEwLjExNDQzNDcsIDExMTg3LCAxLjE2NjA0NjAyMzM2ODgzNTRdLCBbMTY2MzkyMDExMC4yMTMxOTY1LCAxMTE5NiwgMS4wNDExOTU3NTAyMzY1MTEyXSwgWzE2NjM5MjAxMTAuMzAyMzgxLCAxMTIwNSwgMS4yMDg1MDM5NjE1NjMxMTA0XSwgWzE2NjM5MjAxMTAuNDA3ODg4NCwgMTEyMTQsIDEuNDg2MDA3NjkwNDI5Njg3NV0sIFsxNjYzOTIwMTEwLjUxNDI2ODQsIDExMjIzLCAxLjAwMjExODM0OTA3NTMxNzRdLCBbMTY2MzkyMDExMC44MTk1ODcyLCAxMTI1MCwgMC45NjUzOTE5OTM1MjI2NDRdLCBbMTY2MzkyMDExMC45MzE1OTcyLCAxMTI1OSwgMS4wMDYxMjgxOTE5NDc5MzddLCBbMTY2MzkyMDExMS4wMjAxMzEsIDExMjY4LCAwLjk1OTU4NTY2NjY1NjQ5NDFdLCBbMTY2MzkyMDExMS4xNjI2ODU0LCAxMTI3NywgMS4wMzc5MTgwOTA4MjAzMTI1XSwgWzE2NjM5MjAxMTEuMzYyMzE2NCwgMTEyOTUsIDEuMjIzMjg5MDEyOTA4OTM1NV0sIFsxNjYzOTIwMTExLjU0NzE1MTMsIDExMzEzLCAxLjA1NDY0MTAwODM3NzA3NTJdLCBbMTY2MzkyMDExMS42NDc3NjI1LCAxMTMyMiwgMS4zNTEyNzE1MTAxMjQyMDY1XSwgWzE2NjM5MjAxMTEuOTIxNzg2MywgMTEzNDksIDEuMjE3Njg5Mjc1NzQxNTc3MV0sIFsxNjYzOTIwMTEyLjAyMjY4MzQsIDExMzU4LCAxLjEwNTg5MDM5MzI1NzE0MTFdLCBbMTY2MzkyMDExMi4yMTY4MTkzLCAxMTM3NiwgMC45MTkwMTgwODk3NzEyNzA4XSwgWzE2NjM5MjAxMTIuMzAzNzg0NiwgMTEzODUsIDEuMDU5ODQzMDYzMzU0NDkyMl0sIFsxNjYzOTIwMTEyLjQxOTA2MTIsIDExMzk0LCAxLjAyNjg2MDQ3NTU0MDE2MTFdLCBbMTY2MzkyMDExMi42MjM3NTc2LCAxMTQxMiwgMS4xMTkxNTc1NTI3MTkxMTYyXSwgWzE2NjM5MjAxMTIuNzEwMzA4MywgMTE0MjEsIDEuMzQzNTYxNjQ5MzIyNTA5OF0sIFsxNjYzOTIwMTEyLjk4NTAwOSwgMTE0NDgsIDEuMDY0MDg2NDM3MjI1MzQxOF0sIFsxNjYzOTIwMTEzLjA3Njc3MjIsIDExNDU3LCAwLjk5NTU3NjQ0MTI4Nzk5NDRdLCBbMTY2MzkyMDExMy40NjUwNTksIDExNDkzLCAxLjAwNjgyMzA2Mjg5NjcyODVdLCBbMTY2MzkyMDExMy41NjU1OTU0LCAxMTUwMiwgMS4yOTk1MTgxMDgzNjc5Ml0sIFsxNjYzOTIwMTEzLjY1NzQ2NiwgMTE1MTEsIDAuOTgzMjQyNTExNzQ5MjY3Nl0sIFsxNjYzOTIwMTEzLjc0NDU2NCwgMTE1MjAsIDEuMDUyMTAyNDQ2NTU2MDkxM10sIFsxNjYzOTIwMTEzLjg1MTU1NTgsIDExNTI5LCAwLjkyNzUwMTYxODg2MjE1MjFdLCBbMTY2MzkyMDExNC4wMzAzMzQ1LCAxMTU0NywgMS4yNjE5NTYyMTQ5MDQ3ODUyXSwgWzE2NjM5MjAxMTQuMTM0MjEwNiwgMTE1NTYsIDEuMTU0NTc0Mzk0MjI2MDc0Ml0sIFsxNjYzOTIwMTE0LjMyNzM3NjQsIDExNTc0LCAxLjA2NDczMTM1OTQ4MTgxMTVdLCBbMTY2MzkyMDExNC42MDY3NDQ4LCAxMTU4MywgMS4zNjI0NjU5Nzc2Njg3NjIyXSwgWzE2NjM5MjAxMTQuNzk2NTYxNSwgMTE2MDEsIDEuMjQzNzI4ODc2MTEzODkxNl0sIFsxNjYzOTIwMTE0Ljk3NzQ2OSwgMTE2MTksIDEuMTg1Njg5ODA2OTM4MTcxNF0sIFsxNjYzOTIwMTE1LjA3MTYxNjIsIDExNjI4LCAxLjEyMjU0OTUzMzg0Mzk5NDFdLCBbMTY2MzkyMDExNS4xNjI3MDcsIDExNjM3LCAxLjMzNTk5MTk3ODY0NTMyNDddLCBbMTY2MzkyMDExNS4yNTI2MjAyLCAxMTY0NiwgMS4wNTMzMzg3NjYwOTgwMjI1XSwgWzE2NjM5MjAxMTUuNDUxMTUwNCwgMTE2NjQsIDEuNDE2MTU2MDUzNTQzMDkwOF0sIFsxNjYzOTIwMTE1LjU0ODQwNjYsIDExNjczLCAwLjg3MDk1OTU3OTk0NDYxMDZdLCBbMTY2MzkyMDExNS43MzI4NjcsIDExNjkxLCAxLjAyNDY4NzY0NzgxOTUxOV0sIFsxNjYzOTIwMTE1LjgyNTc1NiwgMTE3MDAsIDEuMjk3NTIzNDk4NTM1MTU2Ml0sIFsxNjYzOTIwMTE2LjAzODYyMDIsIDExNzE4LCAxLjIyNzk3NDc3MjQ1MzMwOF0sIFsxNjYzOTIwMTE2LjEzNjk5ODQsIDExNzI3LCAwLjkzNjA0NDIxNjE1NjAwNTldLCBbMTY2MzkyMDExNi4zMjk4MjA2LCAxMTc0NSwgMS4xMjQ1ODc0MTY2NDg4NjQ3XSwgWzE2NjM5MjAxMTYuNDM5NjcsIDExNzU0LCAxLjE0NjU0NTI5MDk0Njk2MDRdLCBbMTY2MzkyMDExNi41NDAzMjU2LCAxMTc2MywgMS4yNTU1ODIyMTM0MDE3OTQ0XSwgWzE2NjM5MjAxMTYuOTgwMDkwNCwgMTE3OTksIDAuODY1OTQzMzEyNjQ0OTU4NV0sIFsxNjYzOTIwMTE3LjI3MTg0MiwgMTE4MjYsIDEuMTI1MjU1ODIzMTM1Mzc2XSwgWzE2NjM5MjAxMTcuMzcxNzMxLCAxMTgzNSwgMS4wNTgxMzYxMDU1Mzc0MTQ2XSwgWzE2NjM5MjAxMTcuNDczMTE1MiwgMTE4NDQsIDEuMDE3MDQzMTEzNzA4NDk2XSwgWzE2NjM5MjAxMTcuOTU3NDE3NSwgMTE4ODksIDEuMDQ5NDIwMjM3NTQxMTk4N10sIFsxNjYzOTIwMTE4LjE1MzI4ODYsIDExOTA3LCAwLjk1MTk5NDI0MDI4Mzk2NjFdLCBbMTY2MzkyMDExOC4yNjM4NDc4LCAxMTkxNiwgMC45OTc1MjU3NTE1OTA3Mjg4XSwgWzE2NjM5MjAxMTguMzYwNTQ2OCwgMTE5MjUsIDEuMjA5MzM4MTg4MTcxMzg2N10sIFsxNjYzOTIwMTE4LjQ5ODg1MjMsIDExOTM0LCAwLjg0OTMxNDU3MDQyNjk0MDldLCBbMTY2MzkyMDExOC42MDkxNzQ1LCAxMTk0MywgMS4xMDM0NzM2NjMzMzAwNzgxXSwgWzE2NjM5MjAxMTguODIxMTAwNywgMTE5NjEsIDEuMDQzNzczNDEyNzA0NDY3OF0sIFsxNjYzOTIwMTE5LjYxNDQ4NjIsIDEyMDI0LCAxLjQwNzgzMzIxODU3NDUyNF0sIFsxNjYzOTIwMTIwLjIxOTkxOTcsIDEyMDc4LCAwLjg4MzI0MTM1NTQxOTE1ODldLCBbMTY2MzkyMDEyMC4zMTczMzA2LCAxMjA4NywgMS4xMjkwMDIyMTM0NzgwODg0XSwgWzE2NjM5MjAxMjAuNTIzNjEwNCwgMTIxMDUsIDEuMTEzNTMyNjYyMzkxNjYyNl0sIFsxNjYzOTIwMTIwLjYzMzAzNywgMTIxMTQsIDAuODY4NTQwNzA0MjUwMzM1N10sIFsxNjYzOTIwMTIwLjgzNzMxOCwgMTIxMzIsIDEuMDk1OTkwMDYxNzU5OTQ4N10sIFsxNjYzOTIwMTIwLjkzNDQyNCwgMTIxNDEsIDAuOTk1MDA1Nzg2NDE4OTE0OF0sIFsxNjYzOTIwMTIxLjI5ODAzOTQsIDEyMTY4LCAxLjE2NzcwNjg0NzE5MDg1N10sIFsxNjYzOTIwMTIxLjQwMDkwNDIsIDEyMTc3LCAxLjAxOTI4MjY5ODYzMTI4NjZdLCBbMTY2MzkyMDEyMS42MzMwNTcsIDEyMTk1LCAxLjE2NzcwNjcyNzk4MTU2NzRdLCBbMTY2MzkyMDEyMS43NTMyODgsIDEyMjA0LCAxLjQ1NTI0NzI4Mjk4MTg3MjZdLCBbMTY2MzkyMDEyMS44NTk2MDgyLCAxMjIxMywgMS4wNjYxMzMxNDE1MTc2MzkyXSwgWzE2NjM5MjAxMjEuOTY0MjY0MiwgMTIyMjIsIDAuOTgyNTU4NDI5MjQxMTgwNF0sIFsxNjYzOTIwMTIyLjEwNTM1NCwgMTIyMzEsIDAuOTU1NTM1MTczNDE2MTM3N10sIFsxNjYzOTIwMTIyLjMzNjk2MjcsIDEyMjQ5LCAxLjIxODAwNTA2MTE0OTU5NzJdLCBbMTY2MzkyMDEyMi43OTUzNzQsIDEyMjg1LCAxLjEzNjMwNzU5NzE2MDMzOTRdLCBbMTY2MzkyMDEyMi45MDM2MDUyLCAxMjI5NCwgMS4xNTU0NzIzOTc4MDQyNjAzXSwgWzE2NjM5MjAxMjMuMDM5ODUzLCAxMjMwMywgMC45ODc1ODQ0MTIwOTc5MzA5XSwgWzE2NjM5MjAxMjMuMTQzOTg4MSwgMTIzMTIsIDEuMTIxNDQ1ODk0MjQxMzMzXSwgWzE2NjM5MjAxMjMuMjQxMDA0MiwgMTIzMjEsIDEuMDMwNzM3NzU3NjgyODAwM10sIFsxNjYzOTIwMTIzLjgyNjIxNzcsIDEyMzU3LCAxLjE2MDU3Nzc3NDA0Nzg1MTZdLCBbMTY2MzkyMDEyMy45MjgyMzgyLCAxMjM2NiwgMC45ODIzODA4MDczOTk3NDk4XSwgWzE2NjM5MjAxMjQuMDE4MzQxOCwgMTIzNzUsIDAuOTMxNjUzODU3MjMxMTQwMV0sIFsxNjYzOTIwMTI0LjE1MTA3ODcsIDEyMzg0LCAxLjI1MDUyNDg3ODUwMTg5Ml0sIFsxNjYzOTIwMTI0LjI0NTIzMywgMTIzOTMsIDEuNDY1ODU1MDAyNDAzMjU5M10sIFsxNjYzOTIwMTI0LjY5ODY3MzIsIDEyNDI5LCAxLjAzNDUyMDM4NzY0OTUzNjFdLCBbMTY2MzkyMDEyNC44MTIzNTEsIDEyNDM4LCAwLjk1NDUxMTgyMTI2OTk4OV0sIFsxNjYzOTIwMTI1LjIxNzU2MDgsIDEyNDc0LCAxLjAxNDQyMTU4MjIyMTk4NDldLCBbMTY2MzkyMDEyNS4zMzMwMjkzLCAxMjQ4MywgMS4yNDIxNzEyODc1MzY2MjFdLCBbMTY2MzkyMDEyNS40MzkzNjUxLCAxMjQ5MiwgMC45MTMzMzAxMzc3Mjk2NDQ4XSwgWzE2NjM5MjAxMjUuNzgwNDEyNywgMTI1MTksIDEuMjc5MzEzNDQ1MDkxMjQ3Nl0sIFsxNjYzOTIwMTI1Ljg5MTUzNDYsIDEyNTI4LCAwLjk4NTQzNTM2NjYzMDU1NDJdLCBbMTY2MzkyMDEyNi4wODY3MDUyLCAxMjU0NiwgMS4zMjUyNjM3Mzg2MzIyMDIxXSwgWzE2NjM5MjAxMjYuMjA5MjcwNSwgMTI1NTUsIDEuNDcwNDYzNjMzNTM3MjkyNV0sIFsxNjYzOTIwMTI2LjM5NjIzOCwgMTI1NzMsIDEuNzU4NjA0Mjg4MTAxMTk2M10sIFsxNjYzOTIwMTI2LjQ4NjgxNDUsIDEyNTgyLCAxLjIwNTAyNTE5NjA3NTQzOTVdLCBbMTY2MzkyMDEyNi43NDExNzksIDEyNjAwLCAwLjkyNDQ3NTMxMjIzMjk3MTJdLCBbMTY2MzkyMDEyNi44NTc0MTYyLCAxMjYwOSwgMC45MTU3NzQ4MjIyMzUxMDc0XSwgWzE2NjM5MjAxMjcuMTYwMjU4OCwgMTI2MzYsIDEuMDgxODc1NjgxODc3MTM2Ml0sIFsxNjYzOTIwMTI3LjI0NzM1NjQsIDEyNjQ1LCAxLjAzNzk1MzYxNTE4ODU5ODZdLCBbMTY2MzkyMDEyNy4zNTM3OTgsIDEyNjU0LCAwLjk1NzY3OTg2Nzc0NDQ0NThdLCBbMTY2MzkyMDEyNy40NTExNywgMTI2NjMsIDAuOTExMzkwODQxMDA3MjMyN10sIFsxNjYzOTIwMTI4LjEzNjAwNDcsIDEyNzI2LCAxLjAyNTUwNDM1MDY2MjIzMTRdLCBbMTY2MzkyMDEyOC40MjA1MDc3LCAxMjc1MywgMC44NzE4Mjc0MjM1NzI1NDAzXSwgWzE2NjM5MjAxMjguNTE1NDc5MywgMTI3NjIsIDEuMDQ2OTQxODc2NDExNDM4XSwgWzE2NjM5MjAxMjguNzA4ODIyNSwgMTI3ODAsIDEuMDQ3NDE3NTIxNDc2NzQ1Nl0sIFsxNjYzOTIwMTI4LjkwNTYzNjMsIDEyNzk4LCAxLjA3NzA2MjM2ODM5Mjk0NDNdLCBbMTY2MzkyMDEyOS4wMDczMjA2LCAxMjgwNywgMS4xMzA0MDY0OTg5MDg5OTY2XSwgWzE2NjM5MjAxMjkuMzIxMDIxNiwgMTI4MzQsIDEuMTUwNjQwODQ1Mjk4NzY3XSwgWzE2NjM5MjAxMjkuNDI3OTg5MiwgMTI4NDMsIDEuMjA1NjE1MDQzNjQwMTM2N10sIFsxNjYzOTIwMTI5LjYwOTM3NjQsIDEyODYxLCAwLjkzMTI2ODQ1MzU5ODAyMjVdLCBbMTY2MzkyMDEyOS44OTg0MDcyLCAxMjg4OCwgMC45MzU1Mzg4MjgzNzI5NTUzXSwgWzE2NjM5MjAxMjkuOTg0MTE1MSwgMTI4OTcsIDEuMDA3MTIzNzA4NzI0OTc1Nl0sIFsxNjYzOTIwMTMwLjA3ODkxNDksIDEyOTA2LCAxLjMxNTE4MTM3NDU0OTg2NTddLCBbMTY2MzkyMDEzMC4xODYzOTMzLCAxMjkxNSwgMS4zMzU1Nzk4NzIxMzEzNDc3XSwgWzE2NjM5MjAxMzAuMzcxODE0NywgMTI5MzMsIDAuOTI3OTE0NTU5ODQxMTU2XSwgWzE2NjM5MjAxMzAuNTc1MjM5NCwgMTI5NTEsIDEuMzcyNTA3MjE0NTQ2MjAzNl0sIFsxNjYzOTIwMTMwLjY2MjA4NSwgMTI5NjAsIDAuOTY1ODE0MTczMjIxNTg4MV0sIFsxNjYzOTIwMTMwLjc1ODgwOTYsIDEyOTY5LCAxLjI4Nzg2OTA5NTgwMjMwNzFdLCBbMTY2MzkyMDEzMC44NDY2NjAxLCAxMjk3OCwgMS4wODM0NDk2MDIxMjcwNzUyXSwgWzE2NjM5MjAxMzEuMTU5ODUzMiwgMTMwMDUsIDEuNDk0OTAwMzQ1ODAyMzA3MV0sIFsxNjYzOTIwMTMxLjQxMDU1MTUsIDEzMDIzLCAxLjExOTQyMTM2Mjg3Njg5Ml0sIFsxNjYzOTIwMTMxLjUzMzA4NDQsIDEzMDMyLCAwLjk2ODg1OTU1MzMzNzA5NzJdLCBbMTY2MzkyMDEzMS42MzM2NDcsIDEzMDQxLCAwLjkzMDIyODIzMzMzNzQwMjNdLCBbMTY2MzkyMDEzMS43NDQ1NjgzLCAxMzA1MCwgMS4xMTcwNzgzMDQyOTA3NzE1XSwgWzE2NjM5MjAxMzEuODM4OTgzLCAxMzA1OSwgMS4wMTk4NzkxMDI3MDY5MDkyXSwgWzE2NjM5MjAxMzEuOTU1Mjc2LCAxMzA2OCwgMC45OTcyNDUwMTM3MTM4MzY3XSwgWzE2NjM5MjAxMzIuMDU1NjgsIDEzMDc3LCAxLjA0MTE5Njk0MjMyOTQwNjddLCBbMTY2MzkyMDEzMi4yNDg5MDA0LCAxMzA5NSwgMS4xODg0MjcwOTA2NDQ4MzY0XSwgWzE2NjM5MjAxMzIuMzUwNzk1MywgMTMxMDQsIDAuOTkzODM1Mzg5NjE0MTA1Ml0sIFsxNjYzOTIwMTMyLjQ1NDY2NSwgMTMxMTMsIDEuMjQ5OTkxMDU5MzAzMjgzN10sIFsxNjYzOTIwMTMyLjc0MzgzOTcsIDEzMTIyLCAxLjIxMjQ3MzM5MjQ4NjU3MjNdLCBbMTY2MzkyMDEzMi44MzkyMzg2LCAxMzEzMSwgMS4wOTc2MTM5MzA3MDIyMDk1XSwgWzE2NjM5MjAxMzIuOTM4MTc2LCAxMzE0MCwgMS4wMDY5ODI4MDMzNDQ3MjY2XSwgWzE2NjM5MjAxMzMuMDcwNDc1LCAxMzE0OSwgMS4xNTcxNDE1NjYyNzY1NTAzXSwgWzE2NjM5MjAxMzMuMTY5NDE1LCAxMzE1OCwgMC45ODgyMDAwNjg0NzM4MTU5XSwgWzE2NjM5MjAxMzMuMjc0MzIwNCwgMTMxNjcsIDEuMDQ2MzY4MjQxMzEwMTE5Nl0sIFsxNjYzOTIwMTMzLjM4NDMxMywgMTMxNzYsIDEuMDc3NDQwMTQyNjMxNTMwOF0sIFsxNjYzOTIwMTMzLjQ4OTU2MTYsIDEzMTg1LCAwLjk2MzM4NjU5NTI0OTE3Nl0sIFsxNjYzOTIwMTM0LjE1OTc5OCwgMTMyMzksIDEuMDcyNTQ3NDM1NzYwNDk4XSwgWzE2NjM5MjAxMzQuNDg0NDAxLCAxMzI2NiwgMC45NjQxMjA1MDcyNDAyOTU0XSwgWzE2NjM5MjAxMzQuNTgwNDk5NiwgMTMyNzUsIDAuOTU1NjQ5NjE0MzM0MTA2NF0sIFsxNjYzOTIwMTM0Ljc3MjY3MiwgMTMyOTMsIDEuMzUwNzk4NjA2ODcyNTU4Nl0sIFsxNjYzOTIwMTM0Ljg3NTU5MzQsIDEzMzAyLCAxLjE1NzU4MDAxODA0MzUxOF0sIFsxNjYzOTIwMTM1LjMwOTAxNDYsIDEzMzM4LCAwLjk5NjE4MDgzMjM4NjAxNjhdLCBbMTY2MzkyMDEzNS40MTk4MTcsIDEzMzQ3LCAxLjIxMjM3ODE0NDI2NDIyMTJdLCBbMTY2MzkyMDEzNS41Mjc1ODAzLCAxMzM1NiwgMS4xNTc1OTA5ODUyOTgxNTY3XSwgWzE2NjM5MjAxMzUuNjM0MTgyMiwgMTMzNjUsIDEuMzY3MDIxNDQxNDU5NjU1OF0sIFsxNjYzOTIwMTM1Ljk4OTY3OTgsIDEzMzkyLCAxLjAyMzUyNzc0MTQzMjE5XSwgWzE2NjM5MjAxMzYuMDg4MzYyNSwgMTM0MDEsIDEuMTIxMDA3MDg0ODQ2NDk2Nl0sIFsxNjYzOTIwMTM2LjE4NjM4NTYsIDEzNDEwLCAwLjg5ODE3NDU4MzkxMTg5NThdLCBbMTY2MzkyMDEzNi4yODkxODksIDEzNDE5LCAxLjE1Nzc5NjUwMjExMzM0MjNdLCBbMTY2MzkyMDEzNi4zOTY1OTI2LCAxMzQyOCwgMS4wMDc4NDI2NTk5NTAyNTYzXSwgWzE2NjM5MjAxMzYuNTkyNjg4NiwgMTM0NDYsIDEuMDcyMDUwMzMzMDIzMDcxM10sIFsxNjYzOTIwMTM2LjY4NzEwNCwgMTM0NTUsIDAuOTA3MDg2MDE0NzQ3NjE5Nl0sIFsxNjYzOTIwMTM3LjEwNzc5NjQsIDEzNDkxLCAxLjMxMzM1MzQxOTMwMzg5NF0sIFsxNjYzOTIwMTM3LjE5NTMxOTQsIDEzNTAwLCAxLjExNDUzNTU3MDE0NDY1MzNdLCBbMTY2MzkyMDEzNy4yOTIzNzIyLCAxMzUwOSwgMC45MTIyOTQwMzAxODk1MTQyXSwgWzE2NjM5MjAxMzcuNDgzMTA0LCAxMzUyNywgMS4wMjE1Mjc1Mjg3NjI4MTc0XSwgWzE2NjM5MjAxMzcuNzg3NTU3NCwgMTM1NTQsIDAuOTY2NTQxMzQ5ODg3ODQ3OV0sIFsxNjYzOTIwMTM4LjIwNTE5MjgsIDEzNTkwLCAxLjI2NTgyNjU4MjkwODYzMDRdLCBbMTY2MzkyMDEzOC4zMTA4NjE2LCAxMzU5OSwgMS4xNTc4MzIwMjY0ODE2Mjg0XSwgWzE2NjM5MjAxMzguNDE2ODMyNCwgMTM2MDgsIDEuMzQ0OTgxNjcwMzc5NjM4N10sIFsxNjYzOTIwMTM4LjUxNDM0OTIsIDEzNjE3LCAxLjE2MjI5NzM2ODA0OTYyMTZdLCBbMTY2MzkyMDEzOC42MDk1MjQ3LCAxMzYyNiwgMS4wOTM0OTEwNzc0MjMwOTU3XSwgWzE2NjM5MjAxMzguODE1MTIxLCAxMzY0NCwgMC45NjY4NDk1NjU1MDU5ODE0XSwgWzE2NjM5MjAxMzguOTA5OTk5NiwgMTM2NTMsIDEuMTE5MDQ4ODMzODQ3MDQ2XSwgWzE2NjM5MjAxMzkuNTkwNTk4MywgMTM3MTYsIDEuMjc5ODM1MzQzMzYwOTAwOV0sIFsxNjYzOTIwMTM5Ljg4Mjg3NCwgMTM3NDMsIDAuOTM0NTIzNTgyNDU4NDk2MV0sIFsxNjYzOTIwMTQwLjExMTc1NCwgMTM3NjEsIDAuOTU5NDE5NDg4OTA2ODYwNF0sIFsxNjYzOTIwMTQwLjMwNTQ5ODQsIDEzNzc5LCAxLjA4NDUzNTgzNzE3MzQ2Ml0sIFsxNjYzOTIwMTQwLjYxMDQ5NSwgMTM4MDYsIDEuMDk3NzYyMTA3ODQ5MTIxXSwgWzE2NjM5MjAxNDAuNzA2MDU0MiwgMTM4MTUsIDEuMDIwNjY2MjQxNjQ1ODEzXSwgWzE2NjM5MjAxNDEuMDE5MzcyMiwgMTM4NDIsIDEuMDU2MzgyMjk4NDY5NTQzNV0sIFsxNjYzOTIwMTQxLjExMTUzNzUsIDEzODUxLCAxLjEwMDU2NzM0MDg1MDgzXSwgWzE2NjM5MjAxNDEuMjE0NDU2NiwgMTM4NjAsIDAuOTM2ODAzNTE5NzI1Nzk5Nl0sIFsxNjYzOTIwMTQxLjMyMjU5NjMsIDEzODY5LCAwLjk0NjQ3NTgwMzg1MjA4MTNdLCBbMTY2MzkyMDE0MS40MjEwNjcyLCAxMzg3OCwgMS4wMDI5NTU1NTU5MTU4MzI1XSwgWzE2NjM5MjAxNDIuMDAyMzgxOCwgMTM5MTQsIDEuMDA0MDgxMTMwMDI3NzcxXSwgWzE2NjM5MjAxNDIuMTk2MTM2LCAxMzkzMiwgMS4xNzEzNzM3MjQ5Mzc0MzldLCBbMTY2MzkyMDE0Mi4yODc0MDksIDEzOTQxLCAwLjk3ODYwODI1MDYxNzk4MV0sIFsxNjYzOTIwMTQyLjM4OTYyOCwgMTM5NTAsIDEuMzkyNTQ4NjgwMzA1NDgxXSwgWzE2NjM5MjAxNDIuNjQwNzcyNiwgMTM5NjgsIDEuMTQ4ODk3NzY3MDY2OTU1Nl0sIFsxNjYzOTIwMTQyLjc1NTYwNDUsIDEzOTc3LCAxLjI0NTM5OTIzNjY3OTA3NzFdLCBbMTY2MzkyMDE0Mi44NDYyODg0LCAxMzk4NiwgMS4xMjU3NzI3MTQ2MTQ4NjgyXSwgWzE2NjM5MjAxNDMuMDQ1MzQyNCwgMTQwMDQsIDAuOTMwMjgxMzQxMDc1ODk3Ml0sIFsxNjYzOTIwMTQzLjI0NDU5NSwgMTQwMjIsIDEuMDc2Nzk0Mzg1OTEwMDM0Ml0sIFsxNjYzOTIwMTQzLjQzODIzODYsIDE0MDQwLCAxLjA3MDI4NjE1NDc0NzAwOTNdLCBbMTY2MzkyMDE0My41MzA1NTQsIDE0MDQ5LCAxLjE1MDAzODU5OTk2Nzk1NjVdLCBbMTY2MzkyMDE0My43MjY4MzY0LCAxNDA2NywgMS4xMjU1ODAwNzI0MDI5NTRdLCBbMTY2MzkyMDE0My44MTY4NzksIDE0MDc2LCAwLjk3Mjg0MTkxODQ2ODQ3NTNdLCBbMTY2MzkyMDE0My45MTYwODI2LCAxNDA4NSwgMS4wNzk3ODAzNDAxOTQ3MDIxXSwgWzE2NjM5MjAxNDQuMDE2NjQ4LCAxNDA5NCwgMS4wNTc1MTY1NzQ4NTk2MTkxXSwgWzE2NjM5MjAxNDQuMTA5MDc2NSwgMTQxMDMsIDEuMTI2OTE4NDM1MDk2NzQwN10sIFsxNjYzOTIwMTQ0LjM2NDA4MjMsIDE0MTIxLCAxLjE1NDEwODUyNDMyMjUwOThdLCBbMTY2MzkyMDE0NC41NzE0OTc0LCAxNDEzOSwgMS4wMjU5ODU5NTYxOTIwMTY2XSwgWzE2NjM5MjAxNDQuNjY5MDg2NywgMTQxNDgsIDAuOTc3Mzg3NjY2NzAyMjcwNV0sIFsxNjYzOTIwMTQ0Ljc2NDM1NiwgMTQxNTcsIDEuMDYxOTIzMDI3MDM4NTc0Ml0sIFsxNjYzOTIwMTQ0Ljg1NDEzMjIsIDE0MTY2LCAwLjkxMzM5Nzc4OTAwMTQ2NDhdLCBbMTY2MzkyMDE0NC45NDU3OTEyLCAxNDE3NSwgMS4wMTQ4MDEwMjUzOTA2MjVdLCBbMTY2MzkyMDE0NS4xMzQzOTIsIDE0MTkzLCAxLjEwMjQ4NjYxMDQxMjU5NzddLCBbMTY2MzkyMDE0NS4zMzg1ODEzLCAxNDIxMSwgMS4wMzMwNDk4MjE4NTM2Mzc3XSwgWzE2NjM5MjAxNDUuNDYyNDIzMywgMTQyMjAsIDAuOTkyMzcxOTc2Mzc1NTc5OF0sIFsxNjYzOTIwMTQ1LjU5MDY3NzcsIDE0MjI5LCAwLjk5NDU3NzEwOTgxMzY5MDJdLCBbMTY2MzkyMDE0NS42OTI1NzQ1LCAxNDIzOCwgMS4xNzQ3NDk5NzA0MzYwOTYyXSwgWzE2NjM5MjAxNDUuNzg0MTMzNCwgMTQyNDcsIDEuMDY1NjY1MDA2NjM3NTczMl0sIFsxNjYzOTIwMTQ2LjA5NDE1MzIsIDE0Mjc0LCAxLjE1NTI2ODE5MjI5MTI1OThdLCBbMTY2MzkyMDE0Ni41NjM5OTIzLCAxNDMxMCwgMC45OTY2OTY5NDkwMDUxMjddLCBbMTY2MzkyMDE0Ni42ODQwMjE1LCAxNDMxOSwgMS4yMjcyMjg4Nzk5Mjg1ODg5XSwgWzE2NjM5MjAxNDcuMTA4OTYzNywgMTQzNTUsIDAuOTU0MTI3MTMyODkyNjA4Nl0sIFsxNjYzOTIwMTQ3LjIxNzI4NDcsIDE0MzY0LCAwLjkyMjI0MDA3ODQ0OTI0OTNdLCBbMTY2MzkyMDE0Ny4zMDU4OTM0LCAxNDM3MywgMS4zMTM0OTIyOTgxMjYyMjA3XSwgWzE2NjM5MjAxNDcuNDA1Nzc4NiwgMTQzODIsIDAuOTg4NjcwNzY2MzUzNjA3Ml0sIFsxNjYzOTIwMTQ3LjYyMTM1MSwgMTQ0MDAsIDAuOTQyNjEyNDY5MTk2MzE5Nl0sIFsxNjYzOTIwMTQ3LjcxMTQ3NDIsIDE0NDA5LCAxLjIzNTg3NDg5MTI4MTEyOF0sIFsxNjYzOTIwMTQ3LjgxNTEyLCAxNDQxOCwgMC45MzU1MzkxMjYzOTYxNzkyXSwgWzE2NjM5MjAxNDcuOTAzODgsIDE0NDI3LCAwLjk2NTc0MTIxNzEzNjM4MzFdLCBbMTY2MzkyMDE0Ny45OTkwNDQsIDE0NDM2LCAxLjEyNzc3NjYyMjc3MjIxNjhdLCBbMTY2MzkyMDE0OC41NTgwMTI3LCAxNDQ4MSwgMC45NzEwNjExMTA0OTY1MjFdLCBbMTY2MzkyMDE0OC43NTIxNTM0LCAxNDQ5OSwgMC45ODE3NzU1ODE4MzY3MDA0XSwgWzE2NjM5MjAxNDguODQ3NzQ0MiwgMTQ1MDgsIDAuOTIxODcxNzgxMzQ5MTgyMV0sIFsxNjYzOTIwMTQ5LjA0MzI0OTYsIDE0NTI2LCAwLjg3NzI0ODE2Nzk5MTYzODJdLCBbMTY2MzkyMDE0OS4xNDgxNjg4LCAxNDUzNSwgMS4wOTEwMjQ5OTQ4NTAxNTg3XSwgWzE2NjM5MjAxNDkuMjQ5ODE1MiwgMTQ1NDQsIDEuMDg1ODI1NTYyNDc3MTExOF0sIFsxNjYzOTIwMTQ5LjM0MDUyMzcsIDE0NTUzLCAxLjEyNDYyMDQzNzYyMjA3MDNdLCBbMTY2MzkyMDE0OS40NDM5MDg3LCAxNDU2MiwgMC45MzQzMTcxMTE5Njg5OTQxXSwgWzE2NjM5MjAxNDkuNzIzMDkzMywgMTQ1ODksIDAuOTIyOTY5Njk4OTA1OTQ0OF0sIFsxNjYzOTIwMTQ5LjgxODc1NzMsIDE0NTk4LCAxLjAzNzYxNjM3MjEwODQ1OTVdXQ==","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/data/plugin/scalars/scalars?run=Sep21_10-18-18_d10e5d58bf4e&tag=Loss%2Fvalid":{"data":"W1sxNjYzNzU1NTA2LjgwMDc1NSwgODgsIDYuNDYyOTAwNjM4NTgwMzIyXSwgWzE2NjM3NTU1MDYuOTYxMzcxLCAxMTAsIDUuMjgxMTM5MzczNzc5Mjk3XSwgWzE2NjM3NTU1MDguMjg1MTY3MiwgMjQyLCA0LjY1NDYwODI0OTY2NDMwN10sIFsxNjYzNzU1NTA5LjA3MzE2ODMsIDMzMCwgNC4zNzg0MjI3MzcxMjE1ODJdLCBbMTY2Mzc1NTUwOS4yNzQwMDY2LCAzNTIsIDQuNzE4NjI2OTc2MDEzMTg0XSwgWzE2NjM3NTU1MDkuNzcyMjkyNCwgNDE4LCAzLjcxNjE1NjcyMTExNTExMjNdLCBbMTY2Mzc1NTUwOS45Mzg0MjEsIDQ0MCwgMy44NjIyOTY4MTk2ODY4ODk2XSwgWzE2NjM3NTU1MTAuMDk2Mjg5OSwgNDYyLCAzLjQyMDg5MTA0NjUyNDA0OF0sIFsxNjYzNzU1NTEwLjcyNzIwOCwgNTA2LCAzLjM4MTI5MzI5NjgxMzk2NV0sIFsxNjYzNzU1NTEwLjk1MzM0NDYsIDUyOCwgMy4yMzg3NTU5NDEzOTA5OTFdLCBbMTY2Mzc1NTUxMS40NzU2NDE1LCA1OTQsIDMuMjgxMDgyNjMwMTU3NDcwN10sIFsxNjYzNzU1NTExLjYzMzA5NzYsIDYxNiwgMy4wNTQwMTg5NzQzMDQxOTldLCBbMTY2Mzc1NTUxMi42NDAwODc0LCA3NDgsIDIuNzc1NDY3Mzk1NzgyNDcwN10sIFsxNjYzNzU1NTEzLjEwMzE5MDQsIDgxNCwgMi41NzA4NzYzNTk5Mzk1NzVdLCBbMTY2Mzc1NTUxMy42NTA3MTY4LCA4NTgsIDIuNTUyNDc2NDA2MDk3NDEyXSwgWzE2NjM3NTU1MTQuMjg4NDU4OCwgOTAyLCAyLjM3MTMyOTA2OTEzNzU3MzJdLCBbMTY2Mzc1NTUxNS44NTI1MzIxLCAxMDU2LCAyLjEzODc4Nzc0NjQyOTQ0MzRdLCBbMTY2Mzc1NTUxNi4wNDk5MjY4LCAxMDc4LCAyLjI0OTM4ODY5NDc2MzE4MzZdLCBbMTY2Mzc1NTUxNi4yMTU4NDYsIDExMDAsIDIuNTUxNTU4NzMyOTg2NDVdLCBbMTY2Mzc1NTUxNi41NTM5MDEyLCAxMTQ0LCAyLjE3NDYwNjMyMzI0MjE4NzVdLCBbMTY2Mzc1NTUxNy4wNDg4OTkyLCAxMjEwLCAyLjA4ODA2NTM4NTgxODQ4MTRdLCBbMTY2Mzc1NTUxNy42Mzk0MDk4LCAxMjc2LCAyLjE5MTYyMTU0MTk3NjkyODddLCBbMTY2Mzc1NTUxOC4xODYyODc5LCAxMzQyLCAyLjAxOTc1NTYwMTg4MjkzNDZdLCBbMTY2Mzc1NTUxOC4zMzg2NjY3LCAxMzY0LCAyLjA5ODI3ODk5OTMyODYxMzNdLCBbMTY2Mzc1NTUxOC40OTAyMTY1LCAxMzg2LCAyLjA3MjkzNzI1MDEzNzMyOV0sIFsxNjYzNzU1NTE4Ljc5MDk5LCAxNDA4LCAyLjA0MDQzMDA2ODk2OTcyNjZdLCBbMTY2Mzc1NTUxOS4wOTA3NzQ1LCAxNDUyLCAyLjA1MTg3NjMwNjUzMzgxMzVdLCBbMTY2Mzc1NTUxOS4yOTcxNjcsIDE0NzQsIDIuMDQwMTg5MjY2MjA0ODM0XSwgWzE2NjM3NTU1MTkuNDY3MTY2MiwgMTQ5NiwgMi4wNjc1ODkwNDQ1NzA5MjNdLCBbMTY2Mzc1NTUxOS45OTAwNjUsIDE1MTgsIDIuMjE5MTg3MjU5Njc0MDcyM10sIFsxNjYzNzU1NTIwLjQ1MzQwMjMsIDE1NjIsIDIuMDMxOTc5NTYwODUyMDUxXSwgWzE2NjM3NTU1MjAuNjgxNzAyOSwgMTU4NCwgMi4xNjQyNzM3Mzg4NjEwODRdLCBbMTY2Mzc1NTUyMS42ODQ4MjM4LCAxNzE2LCAyLjAzMTM4MTYwNzA1NTY2NF0sIFsxNjYzNzU1NTIyLjAyMTM5NiwgMTc2MCwgMi4wMzIxMDMwNjE2NzYwMjU0XSwgWzE2NjM3NTU1MjIuMTkyNjc5LCAxNzgyLCAyLjAzMzY2ODc1NjQ4NDk4NTRdLCBbMTY2Mzc1NTUyMi41MTA2MzksIDE4MjYsIDIuMDAwMDU4MTc0MTMzMzAxXSwgWzE2NjM3NTU1MjMuMDUzNjMwOCwgMTg5MiwgMS44NTI4MjIzMDM3NzE5NzI3XSwgWzE2NjM3NTU1MjMuODkxNzUzMiwgMTk4MCwgMS44MzMyOTI0ODQyODM0NDczXSwgWzE2NjM3NTU1MjQuMDQ4NTc1NCwgMjAwMiwgMS44NjE0OTMxMTA2NTY3MzgzXSwgWzE2NjM3NTU1MjUuOTI5MTMxNywgMjIwMCwgMi4wNzA1Mjc1NTM1NTgzNDk2XSwgWzE2NjM3NTU1MjYuMTc4NjE2LCAyMjIyLCAyLjMwOTQ0NTE0Mjc0NTk3MTddLCBbMTY2Mzc1NTUyNi43NzkxNTQ1LCAyMjg4LCAxLjg1MTIzNzY1NDY4NTk3NDFdLCBbMTY2Mzc1NTUyNy41MjUyMjUyLCAyMzU0LCAxLjkzNjMyMzI4NTEwMjg0NDJdLCBbMTY2Mzc1NTUyNy43NzMwMzg0LCAyMzc2LCAxLjcyOTk0NzgwNTQwNDY2M10sIFsxNjYzNzU1NTI4LjI2MDcwNjcsIDI0MjAsIDEuNzYzNzc0OTkxMDM1NDYxNF0sIFsxNjYzNzU1NTI5LjI2OTU0OTEsIDI1NzQsIDEuODUzNjQ0MTMyNjE0MTM1N10sIFsxNjYzNzU1NTMwLjA0MTczMjUsIDI2ODQsIDEuNzgxOTEzMTYxMjc3NzcxXSwgWzE2NjM3NTU1MzAuODI3ODQyMiwgMjc3MiwgMS43ODk2Nzc1MDA3MjQ3OTI1XSwgWzE2NjM3NTU1MzAuOTcwNzY4NywgMjc5NCwgMS45ODcxODI2MTcxODc1XSwgWzE2NjM3NTU1MzEuMjU1ODY1MywgMjgzOCwgMS42NzA5MTU4NDIwNTYyNzQ0XSwgWzE2NjM3NTU1MzEuNjk3MDUsIDI4ODIsIDEuNzEzNzYwMzc1OTc2NTYyNV0sIFsxNjYzNzU1NTMxLjg1NTUzNCwgMjkwNCwgMS44MDc0MDU4Mjk0Mjk2MjY1XSwgWzE2NjM3NTU1MzIuNzM3NzAwNywgMzAxNCwgMi4wODM5NjQ4MjQ2NzY1MTM3XSwgWzE2NjM3NTU1MzIuODc1MDI0NiwgMzAzNiwgMS45MzI5MDU5MTIzOTkyOTJdLCBbMTY2Mzc1NTUzNC42MDYzNDM1LCAzMTkwLCAxLjczMjgxOTQzNzk4MDY1MTldLCBbMTY2Mzc1NTUzNS4wOTY4MDQxLCAzMjM0LCAyLjE5NjU5NjYyMjQ2NzA0MV0sIFsxNjYzNzU1NTM1LjMxMTg2MTgsIDMyNTYsIDEuNzkwMTI1NzI3NjUzNTAzNF0sIFsxNjYzNzU1NTM1LjgzODI4OCwgMzMyMiwgMS44NTU4NDgxOTMxNjg2NDAxXSwgWzE2NjM3NTU1MzcuNDIyNzIwMiwgMzQ3NiwgMS42MDYzNjc0Njg4MzM5MjMzXSwgWzE2NjM3NTU1MzcuODgyMDY5MywgMzUyMCwgMS42OTkyNDg5MDk5NTAyNTYzXSwgWzE2NjM3NTU1MzguMDU1NTE0OCwgMzU0MiwgMS43NzYzODQ1OTIwNTYyNzQ0XSwgWzE2NjM3NTU1MzguMzYyNzU2LCAzNTg2LCAxLjYwNzMyNTU1Mzg5NDA0M10sIFsxNjYzNzU1NTM4LjY2MjMyMDQsIDM2MzAsIDEuNjk5MjQ1OTI5NzE4MDE3Nl0sIFsxNjYzNzU1NTM5LjU5NzEwODQsIDM3NjIsIDEuNjAxOTU3MjAxOTU3NzAyNl0sIFsxNjYzNzU1NTM5Ljc0MTkzMzYsIDM3ODQsIDEuNjA1MDEzMTMyMDk1MzM3XSwgWzE2NjM3NTU1MzkuODkyNzQzOCwgMzgwNiwgMS42MTE2MDA2Mzc0MzU5MTNdLCBbMTY2Mzc1NTU0MC40Nzg3MDI1LCAzODcyLCAxLjU2NzI5NzIyMDIzMDEwMjVdLCBbMTY2Mzc1NTU0MC42MzUzNjYsIDM4OTQsIDEuNTI1MzcwMDAxNzkyOTA3N10sIFsxNjYzNzU1NTQwLjc3MDU4NDMsIDM5MTYsIDEuNzAzMjA0MDM1NzU4OTcyMl0sIFsxNjYzNzU1NTQwLjkwNzk1MjMsIDM5MzgsIDEuNTk2NjQxNTQwNTI3MzQzOF0sIFsxNjYzNzU1NTQxLjM4NDY5NzIsIDM5ODIsIDEuNTUxNzQxMzYxNjE4MDQyXSwgWzE2NjM3NTU1NDEuNTM0NDE1LCA0MDA0LCAxLjYxMDE1NDUwOTU0NDM3MjZdLCBbMTY2Mzc1NTU0Mi4xMTA5MjU3LCA0MDcwLCAxLjU5MzYxMTgzNjQzMzQxMDZdLCBbMTY2Mzc1NTU0Mi4zNDQ3MTQsIDQwOTIsIDEuNTc2ODg1NDYxODA3MjUxXSwgWzE2NjM3NTU1NDIuNTYyMDYxLCA0MTE0LCAxLjU3MDA0MTUzNzI4NDg1MV0sIFsxNjYzNzU1NTQzLjUwMjQ0NzEsIDQyMDIsIDEuNTI0NDQwNzY1MzgwODU5NF0sIFsxNjYzNzU1NTQzLjcyNzY3MzUsIDQyMjQsIDEuNjQ3Mjc5NzM5Mzc5ODgyOF0sIFsxNjYzNzU1NTQzLjkzMTY5MDcsIDQyNDYsIDEuNTM3NzIwNTYxMDI3NTI2OV0sIFsxNjYzNzU1NTQ0LjY1MjQ2NTYsIDQzMTIsIDEuNjE1NzQzNjM3MDg0OTYxXSwgWzE2NjM3NTU1NDUuNDk4MjA0MiwgNDQwMCwgMS41MjM2Mzk0NDA1MzY0OTldLCBbMTY2Mzc1NTU0NS43MDEzMTQsIDQ0MjIsIDEuNTIxNjE5NDM5MTI1MDYxXSwgWzE2NjM3NTU1NDYuMTM5MzA1OCwgNDQ2NiwgMS41OTQ1NzY1OTcyMTM3NDUxXSwgWzE2NjM3NTU1NDYuMzI0MTIzLCA0NDg4LCAxLjY0NTc4OTM4NDg0MTkxOV0sIFsxNjYzNzU1NTQ2LjQ2MzYwODUsIDQ1MTAsIDEuNjE1NDE4MDc2NTE1MTk3OF0sIFsxNjYzNzU1NTQ2LjYzMTU5MjgsIDQ1MzIsIDEuNzU2MDQzMDc2NTE1MTk3OF0sIFsxNjYzNzU1NTQ2LjkzODEwNjgsIDQ1NzYsIDEuNDY5NDIzNTMyNDg1OTYyXSwgWzE2NjM3NTU1NDcuMjA4MTU2NiwgNDYyMCwgMS41MTk3MjQ2MDc0Njc2NTE0XSwgWzE2NjM3NTU1NDcuNjA3ODY4NywgNDY2NCwgMS41MDM4MDI0MTg3MDg4MDEzXSwgWzE2NjM3NTU1NDguMDYyMzkzLCA0NzA4LCAxLjQ3NDkyMzAxNDY0MDgwOF0sIFsxNjYzNzU1NTQ4LjU0ODY0NzQsIDQ3NTIsIDEuNTE4NjEwNDc3NDQ3NTA5OF0sIFsxNjYzNzU1NTQ4Ljc5MDA4MzQsIDQ3NzQsIDEuODExMDcyNDY4NzU3NjI5NF0sIFsxNjYzNzU1NTQ5LjQxODY5MjYsIDQ4NDAsIDEuNDk1MzMwNjkxMzM3NTg1NF0sIFsxNjYzNzU1NTQ5LjYwMDc3NjIsIDQ4NjIsIDEuNDIwMDE0MDIzNzgwODIyOF0sIFsxNjYzNzU1NTQ5Ljg0OTc4NCwgNDg4NCwgMS40MTE5MDE0NzM5OTkwMjM0XSwgWzE2NjM3NTU1NTAuMDYwMjk5MiwgNDkwNiwgMS40NDkyMzE1MDUzOTM5ODJdLCBbMTY2Mzc1NTU1MC41NDMxMDE1LCA0OTUwLCAxLjQzNjUyMjM2NDYxNjM5NF0sIFsxNjYzNzU1NTUxLjU3MDI1NzIsIDUwNjAsIDEuNDc3NDY3Mjk4NTA3NjkwNF0sIFsxNjYzNzU1NTUyLjcyNzI5NCwgNTIzNiwgMS4zODgzNjc0MTQ0NzQ0ODczXSwgWzE2NjM3NTU1NTIuODcxNzM3MiwgNTI1OCwgMS41MTc4MzYzMzIzMjExNjddLCBbMTY2Mzc1NTU1My4xNDA5NTAyLCA1MjgwLCAxLjU0OTE4MjI5NTc5OTI1NTRdLCBbMTY2Mzc1NTU1My40NTMzMDQ4LCA1MzI0LCAxLjQ0MzI1MTEzMjk2NTA4OF0sIFsxNjYzNzU1NTUzLjU5NzIzOTMsIDUzNDYsIDEuNDg1ODM2NjI1MDk5MTgyMV0sIFsxNjYzNzU1NTU0LjA4NTk1LCA1MzkwLCAxLjQxMjkyNTk1ODYzMzQyMjldLCBbMTY2Mzc1NTU1NC4yNDM5MzA4LCA1NDEyLCAxLjM4NzYwNDU5NDIzMDY1MTldLCBbMTY2Mzc1NTU1NC40MzA5MDUzLCA1NDM0LCAxLjQzMTc1MTk2NjQ3NjQ0MDRdLCBbMTY2Mzc1NTU1NC42NTE3OTIzLCA1NDU2LCAxLjQwMzIxNDMzNTQ0MTU4OTRdLCBbMTY2Mzc1NTU1NS45MjE0MTQxLCA1NTY2LCAxLjQ3MDM5MTI3MzQ5ODUzNTJdLCBbMTY2Mzc1NTU1Ni4wNzgyNDM3LCA1NTg4LCAxLjUwNzM4NTI1MzkwNjI1XSwgWzE2NjM3NTU1NTYuMjQ1NjAzMywgNTYxMCwgMS42NDcxNDAyNjQ1MTExMDg0XSwgWzE2NjM3NTU1NTYuOTEzMjI2NiwgNTY5OCwgMS40MjIwOTAwNTM1NTgzNDk2XSwgWzE2NjM3NTU1NTcuMTQyMTg2LCA1NzIwLCAxLjM4MjM0MTk4MDkzNDE0M10sIFsxNjYzNzU1NTU3LjI5NTM2NzIsIDU3NDIsIDEuNDA0Mzg1MDg5ODc0MjY3Nl0sIFsxNjYzNzU1NTU3LjYzNjEwMjIsIDU3ODYsIDEuNzg1MDM0Mjk4ODk2Nzg5Nl0sIFsxNjYzNzU1NTU5LjQ2MzczMTgsIDU5NjIsIDEuNDU3OTU3OTgzMDE2OTY3OF0sIFsxNjYzNzU1NTU5LjcxOTM0OTEsIDU5ODQsIDEuMzQ3MjQ5MDMxMDY2ODk0NV0sIFsxNjYzNzU1NTYwLjM3NTQyOSwgNjA1MCwgMS4zMTA4Mjc5NzA1MDQ3NjA3XSwgWzE2NjM3NTU1NjAuNzI0NDA0NiwgNjA5NCwgMS4zNzg2MzE1OTE3OTY4NzVdLCBbMTY2Mzc1NTU2MS4wMDU4ODcsIDYxMzgsIDEuOTg3NTQ5NzgxNzk5MzE2NF0sIFsxNjYzNzU1NTYxLjQxMjI5MywgNjE4MiwgMS4zNzIzOTUwMzg2MDQ3MzYzXSwgWzE2NjM3NTU1NjEuOTMzMzM1MywgNjIyNiwgMS41MTQyMDI3MTM5NjYzNjk2XSwgWzE2NjM3NTU1NjIuMTU4NDg2NCwgNjI0OCwgMS41NDMxOTYyMDEzMjQ0NjNdLCBbMTY2Mzc1NTU2Mi41MTcwMzYyLCA2MjkyLCAxLjM3MDYyODU5NTM1MjE3MjldLCBbMTY2Mzc1NTU2Mi44OTYzMzYzLCA2MzM2LCAxLjQ0NjEzNTc1OTM1MzYzNzddLCBbMTY2Mzc1NTU2My4xMTI0NzczLCA2MzU4LCAxLjUwMjQzNzExNDcxNTU3NjJdLCBbMTY2Mzc1NTU2My40MjU0NzEsIDY0MDIsIDEuMzk5NzU2Nzg5MjA3NDU4NV0sIFsxNjYzNzU1NTY0LjU2NTM5NSwgNjUxMiwgMS4zODE5NjM4NDkwNjc2ODhdLCBbMTY2Mzc1NTU2NC43MDg5OTE1LCA2NTM0LCAxLjM4NTc0NzA3NTA4MDg3MTZdLCBbMTY2Mzc1NTU2NC44NDU0NDEsIDY1NTYsIDEuNDk0MjgwNTc2NzA1OTMyNl0sIFsxNjYzNzU1NTY1LjAwMTMyNSwgNjU3OCwgMS4zNjc2NDc0MDk0MzkwODddLCBbMTY2Mzc1NTU2Ni4yMTU2NTQ0LCA2NzU0LCAxLjMxNzc5MTcwMDM2MzE1OTJdLCBbMTY2Mzc1NTU2Ni40OTc0MTAzLCA2Nzk4LCAxLjcxODQxMDk2ODc4MDUxNzZdLCBbMTY2Mzc1NTU2Ni43NjcwOTQ0LCA2ODIwLCAxLjM5NDczNzI0MzY1MjM0MzhdLCBbMTY2Mzc1NTU2Ny4yMDgwMDYsIDY4ODYsIDEuNDc1NDU3NjY4MzA0NDQzNF0sIFsxNjYzNzU1NTY3Ljk4MTQxNTcsIDY5NzQsIDEuMzc0OTE1MjQyMTk1MTI5NF0sIFsxNjYzNzU1NTY4LjI3NTk0NTcsIDcwMTgsIDEuMzQ1NDAwNTcxODIzMTIwMV0sIFsxNjYzNzU1NTY4LjQzMDU5MDQsIDcwNDAsIDEuMjkyOTAxOTkyNzk3ODUxNl0sIFsxNjYzNzU1NTY5LjA2MDcyNjIsIDcxMDYsIDEuNTc4MzY5OTc1MDkwMDI2OV0sIFsxNjYzNzU1NTY5LjM5MTQ2MjMsIDcxNTAsIDEuNDk2NDA2MzE2NzU3MjAyMV0sIFsxNjYzNzU1NTcwLjI2MTEzMjUsIDcyNjAsIDEuNDg2NDM4Mjc0MzgzNTQ1XSwgWzE2NjM3NTU1NzAuNjg1NjkxLCA3MzA0LCAxLjMxNjYwNTkyNTU1OTk5NzZdLCBbMTY2Mzc1NTU3MC44Mzc4MDYsIDczMjYsIDEuMjg2Nzc3NjE1NTQ3MTgwMl0sIFsxNjYzNzU1NTcxLjkxMjQzMTUsIDc0MzYsIDEuMzM1MTc0NTYwNTQ2ODc1XSwgWzE2NjM3NTU1NzIuMTMzMzM2NSwgNzQ1OCwgMS4zMzc5Njc3NTM0MTAzMzk0XSwgWzE2NjM3NTU1NzIuNjczNjUyLCA3NTAyLCAxLjI5ODc5MDA5NzIzNjYzMzNdLCBbMTY2Mzc1NTU3My40MTA0MjU0LCA3NTY4LCAxLjkzNzMwMTg3NDE2MDc2NjZdLCBbMTY2Mzc1NTU3My43MDUzNjIzLCA3NjEyLCAxLjM2NTQ2MjMwMzE2MTYyMV0sIFsxNjYzNzU1NTczLjg0ODE2ODgsIDc2MzQsIDEuNTA0MDI2NDEyOTYzODY3Ml0sIFsxNjYzNzU1NTc0LjUzMTMzMzcsIDc3MjIsIDEuMzc0MjUxMzY1NjYxNjIxXSwgWzE2NjM3NTU1NzQuOTcwNzU3NSwgNzc2NiwgMS40NjY5MDQ3NTk0MDcwNDM1XSwgWzE2NjM3NTU1NzUuMjA4MjA5LCA3Nzg4LCAxLjU1MjE4MjY3NDQwNzk1OV0sIFsxNjYzNzU1NTc1LjQ3NzM3MiwgNzgxMCwgMS40MzUzMTQ3NzQ1MTMyNDQ2XSwgWzE2NjM3NTU1NzYuNDA2NzYyMSwgNzg5OCwgMS4zNjg2NzM5MjA2MzE0MDg3XSwgWzE2NjM3NTU1NzcuMjY5ODExMiwgNzk4NiwgMS40NzI5MTI2NjkxODE4MjM3XSwgWzE2NjM3NTU1NzcuNDkyMzA0MywgODAwOCwgMS4zNjI4OTI2Mjc3MTYwNjQ1XSwgWzE2NjM3NTU1NzcuNjM0MzUsIDgwMzAsIDEuNDkyNjk0ODU0NzM2MzI4MV0sIFsxNjYzNzU1NTc3Ljc3OTMwNzYsIDgwNTIsIDEuNDYwNDc5Mzc4NzAwMjU2M10sIFsxNjYzNzU1NTc3LjkyMDEwNSwgODA3NCwgMS4zMTQxOTIxNzU4NjUxNzMzXSwgWzE2NjM3NTU1NzguMDU4MTYwMywgODA5NiwgMS4zMjg2MjI1Nzk1NzQ1ODVdLCBbMTY2Mzc1NTU3OS4zNjMzNzksIDgyNTAsIDEuMjkzMjIxMTE2MDY1OTc5XSwgWzE2NjM3NTU1ODAuMDg5NDMyMiwgODMxNiwgMS40NzUyODI2NjkwNjczODI4XSwgWzE2NjM3NTU1ODAuMzM4Nzk3NiwgODMzOCwgMS4zNDU3NjIyNTI4MDc2MTcyXSwgWzE2NjM3NTU1ODEuODU3NTQ2LCA4NTE0LCAxLjI2Mjc0NTczODAyOTQ4XSwgWzE2NjM3NTU1ODIuNDM2MTQzLCA4NjAyLCAxLjI5MzYyNjkwNDQ4NzYwOTldLCBbMTY2Mzc1NTU4Mi41Njk4MzQ1LCA4NjI0LCAxLjI4MjI2NzgwODkxNDE4NDZdLCBbMTY2Mzc1NTU4Mi43MzM1ODU4LCA4NjQ2LCAxLjM2OTM2MjM1NDI3ODU2NDVdLCBbMTY2Mzc1NTU4Mi44NjM0MTQzLCA4NjY4LCAxLjQ5NTE0MTM4Njk4NTc3ODhdLCBbMTY2Mzc1NTU4My4wMDYwOTI1LCA4NjkwLCAxLjMyNjYxMDkyMjgxMzQxNTVdLCBbMTY2Mzc1NTU4My42NzYzOTczLCA4NzU2LCAxLjQ0MjQ3NTY3NjUzNjU2XSwgWzE2NjM3NTU1ODQuOTA2NDY3NCwgODg2NiwgMS43NTc4ODczNjM0MzM4MzhdLCBbMTY2Mzc1NTU4NS4yODc0MzEsIDg5MTAsIDEuNjI0NzU2MjE3MDAyODY4N10sIFsxNjYzNzU1NTg1Ljg4NjM0NSwgODk5OCwgMS4yODg3MTA3MTMzODY1MzU2XSwgWzE2NjM3NTU1ODYuMDMxNTQ2NiwgOTAyMCwgMS4yNTQ5Mjk3ODA5NjAwODNdLCBbMTY2Mzc1NTU4Ni42NzA0OTQzLCA5MTA4LCAxLjI4Nzc2MjUyMjY5NzQ0ODddLCBbMTY2Mzc1NTU4Ni44MjExNTk2LCA5MTMwLCAxLjI4NTk4Njc4MTEyMDMwMDNdLCBbMTY2Mzc1NTU4Ny4wNDg1NzEzLCA5MTUyLCAxLjQ2ODM2MzQwNDI3Mzk4NjhdLCBbMTY2Mzc1NTU4Ny40OTE1OTUsIDkyMTgsIDEuMzI4MTEzMDc5MDcxMDQ1XSwgWzE2NjM3NTU1ODguMDc3ODMzNCwgOTI4NCwgMS4yODUwODQ5NjI4NDQ4NDg2XSwgWzE2NjM3NTU1ODguMjI4Njk4LCA5MzA2LCAxLjM3MzAxMDM5Njk1NzM5NzVdLCBbMTY2Mzc1NTU4OC44MjE1NjkyLCA5MzcyLCAxLjM1NjM0MDA1MDY5NzMyNjddLCBbMTY2Mzc1NTU4OC45NTMyNTQyLCA5Mzk0LCAxLjMzOTc3ODkwMDE0NjQ4NDRdLCBbMTY2Mzc1NTU4OS43NTkxNTMsIDk0ODIsIDEuMzAwNzc1NTI3OTU0MTAxNl0sIFsxNjYzNzU1NTkwLjAwOTcxOSwgOTUwNCwgMS4yNzQ2MTgzODcyMjIyOV0sIFsxNjYzNzU1NTkwLjY0MzQ2OTgsIDk1OTIsIDEuMzU1NTA0Mjc0MzY4Mjg2MV0sIFsxNjYzNzU1NTkwLjc4ODcwNCwgOTYxNCwgMS40MDU3ODA5MTE0NDU2MTc3XSwgWzE2NjM3NTU1OTAuOTI5ODM5NCwgOTYzNiwgMS4yNTU0MDQ0NzIzNTEwNzQyXSwgWzE2NjM3NTU1OTEuMjI4MjI1MiwgOTY4MCwgMS4zMjE5Mzc1NjEwMzUxNTYyXSwgWzE2NjM3NTU1OTEuNTI0MDk2NSwgOTcwMiwgMS41MTExNzM0ODY3MDk1OTQ3XSwgWzE2NjM3NTU1OTEuNzc1Mzg5NywgOTcyNCwgMS4yNTg1NjI0NDU2NDA1NjRdLCBbMTY2Mzc1NTU5Mi4xMTE0MjksIDk3NjgsIDEuNTM3NTE4MDI0NDQ0NThdLCBbMTY2Mzc1NTU5Mi4yNTY4MjEsIDk3OTAsIDEuNDAwNzI0ODg3ODQ3OTAwNF0sIFsxNjYzNzU1NTkyLjQ1NzQ2OSwgOTgxMiwgMS40MTc2MjM1MTk4OTc0NjFdLCBbMTY2Mzc1NTU5Mi43MDU2NzYsIDk4MzQsIDEuMjcwNzIwMjQzNDUzOTc5NV0sIFsxNjYzNzU1NTkzLjMzOTc0MDMsIDk5MjIsIDEuMjc2NTA4MzMxMjk4ODI4MV0sIFsxNjYzNzU1NTkzLjQ3NzUxOCwgOTk0NCwgMS4zNzQxMDg2NzIxNDIwMjg4XSwgWzE2NjM3NTU1OTMuNjIzMjQzOCwgOTk2NiwgMS4yNTE2MzEyNTk5MTgyMTNdLCBbMTY2Mzc1NTU5My43NjUyNDY0LCA5OTg4LCAxLjQ3MjM4OTIyMTE5MTQwNjJdLCBbMTY2Mzc1NTU5My45MDIxOTU1LCAxMDAxMCwgMS40NTEzMjk3MDgwOTkzNjUyXSwgWzE2NjM3NTU1OTQuMzEyMTI0NywgMTAwNTQsIDEuMzc4MDkxODEyMTMzNzg5XSwgWzE2NjM3NTU1OTQuNjA4MTYyMiwgMTAwOTgsIDEuMjg2NDUzNjA0Njk4MTgxMl0sIFsxNjYzNzU1NTk1LjAwMzQxNSwgMTAxNDIsIDEuMjUxMjg5MDEwMDQ3OTEyNl0sIFsxNjYzNzU1NTk1LjE1MjMzMjMsIDEwMTY0LCAxLjM0MTUwNDgxMjI0MDYwMDZdLCBbMTY2Mzc1NTU5NS43NDQ5NTQ2LCAxMDI1MiwgMS42Mjk0OTMyMzY1NDE3NDhdLCBbMTY2Mzc1NTU5NS45ODc1NDcyLCAxMDI3NCwgMS4yOTMzNTIxMjcwNzUxOTUzXSwgWzE2NjM3NTU1OTYuMjY4NDczLCAxMDMxOCwgMS4yNzA1NDg0NjI4Njc3MzY4XSwgWzE2NjM3NTU1OTYuNTU4MTcyLCAxMDM2MiwgMS4zNzE3NTcwMzA0ODcwNjA1XSwgWzE2NjM3NTU1OTcuMjU4OTMzNSwgMTA0NTAsIDEuMzA2Nzk2NDMxNTQxNDQyOV0sIFsxNjYzNzU1NTk3LjM5NDIwOSwgMTA0NzIsIDEuMzI0ODQ3NTc5MDAyMzgwNF0sIFsxNjYzNzU1NTk3LjkyNDM2MDgsIDEwNTM4LCAxLjM0NDIzODg3NzI5NjQ0NzhdLCBbMTY2Mzc1NTU5OC4wNTY0NTA4LCAxMDU2MCwgMS4yOTQ4MTY0OTM5ODgwMzddLCBbMTY2Mzc1NTU5OC4yMDgzOTQzLCAxMDU4MiwgMS4yNDk1MjM1MjA0Njk2NjU1XSwgWzE2NjM3NTU1OTguNDgwNjk5MywgMTA2MDQsIDEuMzQ0NDAwNjQ0MzAyMzY4Ml0sIFsxNjYzNzU1NTk4Ljc1MzExNjgsIDEwNjQ4LCAxLjI1OTY1MzgwNjY4NjQwMTRdLCBbMTY2Mzc1NTU5OC44OTk3MTE4LCAxMDY3MCwgMS4zNTU0MTYyOTc5MTI1OTc3XSwgWzE2NjM3NTU1OTkuNjcyMDc4NCwgMTA3MzYsIDEuMzI4OTg1MzMzNDQyNjg4XSwgWzE2NjM3NTU1OTkuOTQyNDkzNCwgMTA3NTgsIDEuODA2MDA4NDU4MTM3NTEyMl0sIFsxNjYzNzU1NjAwLjA5Mjk2MjcsIDEwNzgwLCAxLjQ3MDYwMzQ2NjAzMzkzNTVdLCBbMTY2Mzc1NTYwMC4zODUyODksIDEwODI0LCAxLjM1OTM2NDE1MTk1NDY1MDldLCBbMTY2Mzc1NTYwMC44MDE5MjYxLCAxMDg5MCwgMS4zMzA5MTAyMDU4NDEwNjQ1XSwgWzE2NjM3NTU2MDEuNDQyNjg3MywgMTA5NzgsIDEuMzE1OTMwNDg1NzI1NDAyOF0sIFsxNjYzNzU1NjAyLjEzNTY0LCAxMTA2NiwgMS41NDY4MTYzNDkwMjk1NDFdLCBbMTY2Mzc1NTYwMi4yNzI4MDkzLCAxMTA4OCwgMS4zNDkwODQ2MTU3MDczOTc1XSwgWzE2NjM3NTU2MDIuOTE3MzczNCwgMTExNTQsIDEuNjk3MzU2MTA0ODUwNzY5XSwgWzE2NjM3NTU2MDMuMzQwMjE4OCwgMTEyMjAsIDEuMjU5NTExMjMyMzc2MDk4Nl0sIFsxNjYzNzU1NjAzLjUyNjQ4MSwgMTEyNDIsIDEuMzE1MTU4OTYzMjAzNDMwMl0sIFsxNjYzNzU1NjAzLjgyNTE0NjIsIDExMjY0LCAxLjI1ODA5Mjg4MDI0OTAyMzRdLCBbMTY2Mzc1NTYwNC4wNjkzMzY0LCAxMTI4NiwgMS40MjUzNDE0ODY5MzA4NDcyXSwgWzE2NjM3NTU2MDQuMzIyNTc4NCwgMTEzMDgsIDEuMjY2NDE1NTk2MDA4MzAwOF0sIFsxNjYzNzU1NjA0LjU1MTY1NjUsIDExMzMwLCAxLjMwNzMxOTY0MTExMzI4MTJdLCBbMTY2Mzc1NTYwNS4xMTY5MjUsIDExMzk2LCAxLjM5NDIyNTgzNTgwMDE3MV0sIFsxNjYzNzU1NjA1LjI1MzAwMDUsIDExNDE4LCAxLjMxMTAxNTI0ODI5ODY0NV0sIFsxNjYzNzU1NjA1LjQxNTU4MDcsIDExNDQwLCAxLjQ5NTU3NDIzNTkxNjEzNzddLCBbMTY2Mzc1NTYwNS41NTY3MTYyLCAxMTQ2MiwgMS4yNjkxNDE5MTI0NjAzMjcxXSwgWzE2NjM3NTU2MDUuOTgyOSwgMTE1MjgsIDEuMzEzNTc0MzE0MTE3NDMxNl0sIFsxNjYzNzU1NjA3LjI5NjA1MTcsIDExNjgyLCAxLjcxNjcwNDEzMDE3MjcyOTVdLCBbMTY2Mzc1NTYwNy43NTUzNTUxLCAxMTc0OCwgMS42NzAwOTc3MDg3MDIwODc0XSwgWzE2NjM3NTU2MDcuOTA1OTY3NSwgMTE3NzAsIDEuMzUyNjI2MDg1MjgxMzcyXSwgWzE2NjM3NTU2MDguMzEzNDUyMiwgMTE4MTQsIDEuMjYxODU1MjQ0NjM2NTM1Nl0sIFsxNjYzNzU1NjA4LjUzNjg0MzMsIDExODM2LCAxLjI2MTg2MzgyNzcwNTM4MzNdLCBbMTY2Mzc1NTYwOC43NjQ5NTEsIDExODU4LCAxLjI2NTk2Nzk2NTEyNjAzNzZdLCBbMTY2Mzc1NTYwOC45ODM4MTUyLCAxMTg4MCwgMS4yMjMzMTI3MzU1NTc1NTYyXSwgWzE2NjM3NTU2MDkuMTM0NTMzNiwgMTE5MDIsIDEuNDEyMDQ1ODM2NDQ4NjY5NF0sIFsxNjYzNzU1NjA5LjQxNzE5MTUsIDExOTQ2LCAxLjMyMjI3MTcwNDY3Mzc2N10sIFsxNjYzNzU1NjA5LjkwODczNzQsIDExOTkwLCAxLjIyMTEwMTk5OTI4MjgzN10sIFsxNjYzNzU1NjEwLjIzMTc2OTgsIDEyMDM0LCAxLjIxOTMxNjAwNTcwNjc4N10sIFsxNjYzNzU1NjEwLjQwMDM5MzIsIDEyMDU2LCAxLjYxNDg4NDg1MzM2MzAzN10sIFsxNjYzNzU1NjEwLjg0NjM5NTcsIDEyMTIyLCAxLjI3NDE3NTQwNTUwMjMxOTNdLCBbMTY2Mzc1NTYxMS4yNjM0MDIsIDEyMTY2LCAxLjMwMzM5NTE1MjA5MTk4XSwgWzE2NjM3NTU2MTEuNjg1ODY3OCwgMTIyMzIsIDEuMzI5NDY5NTYxNTc2ODQzM10sIFsxNjYzNzU1NjExLjk0MzU4NDQsIDEyMjU0LCAxLjI0NjA5OTQ3MjA0NTg5ODRdLCBbMTY2Mzc1NTYxMi45MjE1NjMxLCAxMjM4NiwgMS4yMzkxMDQwMzI1MTY0Nzk1XSwgWzE2NjM3NTU2MTMuMDY4NjkyMiwgMTI0MDgsIDEuMzA4NjA4MDU1MTE0NzQ2XSwgWzE2NjM3NTU2MTMuMjExNDQ3LCAxMjQzMCwgMS4zMjI1NjUzMTcxNTM5MzA3XSwgWzE2NjM3NTU2MTMuODkyNzU4NCwgMTI1MTgsIDEuMzA3NjE1OTk1NDA3MTA0NV0sIFsxNjYzNzU1NjE0LjQ0MjM4NzMsIDEyNTg0LCAxLjMzNjk5MDQ3NTY1NDYwMl0sIFsxNjYzNzU1NjE0LjczMTE0MTYsIDEyNjI4LCAxLjI4MjQyMTIzMTI2OTgzNjRdLCBbMTY2Mzc1NTYxNS40MTQ2MDAxLCAxMjY5NCwgMS4zODA0ODc2ODA0MzUxODA3XSwgWzE2NjM3NTU2MTYuMTc2NjM0LCAxMjc4MiwgMS4yNTY1ODExODcyNDgyM10sIFsxNjYzNzU1NjE2Ljc2NjUwMTQsIDEyODcwLCAxLjMzNDMzMzc3NzQyNzY3MzNdLCBbMTY2Mzc1NTYxNi45MTQ5NjUsIDEyODkyLCAxLjM0MzAxOTg0MzEwMTUwMTVdLCBbMTY2Mzc1NTYxNy4xOTMxMTU1LCAxMjkxNCwgMS4yODA1NDc0OTk2NTY2NzcyXSwgWzE2NjM3NTU2MTcuNDkwMTcyNCwgMTI5NTgsIDEuMzA4NTUzMjE4ODQxNTUyN10sIFsxNjYzNzU1NjE3Ljg1MDk4NTUsIDEzMDAyLCAxLjMxODQ3NzUxMTQwNTk0NDhdLCBbMTY2Mzc1NTYxOC4xNTI4MTAzLCAxMzAyNCwgMS4yNDQ1ODkyMDk1NTY1Nzk2XSwgWzE2NjM3NTU2MTguMjgzNzc5OSwgMTMwNDYsIDEuNDEzNjQxODEwNDE3MTc1M10sIFsxNjYzNzU1NjE4LjU4OTkxOTMsIDEzMDkwLCAxLjI3NjQwMjgzMTA3NzU3NTddLCBbMTY2Mzc1NTYxOC45MDI2NTY2LCAxMzEzNCwgMS4yMzU5MDg5ODUxMzc5Mzk1XSwgWzE2NjM3NTU2MTkuMTE4NDU5MiwgMTMxNTYsIDEuMzg1MzE3NDQ0ODAxMzMwNl0sIFsxNjYzNzU1NjE5LjI2MTg2MjgsIDEzMTc4LCAxLjMwMzQ2MDcxNzIwMTIzM10sIFsxNjYzNzU1NjE5LjQwMTk0MSwgMTMyMDAsIDEuMjczOTE0MDk4NzM5NjI0XSwgWzE2NjM3NTU2MTkuNzA0NjYwNCwgMTMyNDQsIDEuMjY1MDE2MDc4OTQ4OTc0Nl0sIFsxNjYzNzU1NjE5Ljk2OTIxOSwgMTMyNjYsIDEuMjQyOTgxMTk1NDQ5ODI5XSwgWzE2NjM3NTU2MjAuMTIxMzA2MiwgMTMyODgsIDEuMzMwNzI4MjkyNDY1MjFdLCBbMTY2Mzc1NTYyMC4zOTQ5MjA2LCAxMzMzMiwgMS4zNjkyNjIzMzc2ODQ2MzEzXSwgWzE2NjM3NTU2MjAuOTc3ODQ5NSwgMTMzOTgsIDEuMjY4NDEwNDQ0MjU5NjQzNl0sIFsxNjYzNzU1NjIxLjI1NTc1NzMsIDEzNDQyLCAxLjMwNDY2Mzc3NzM1MTM3OTRdLCBbMTY2Mzc1NTYyMS44MjU0NTQsIDEzNTA4LCAxLjM4NjA1NjY2MTYwNTgzNV0sIFsxNjYzNzU1NjIxLjk1OTkxOTcsIDEzNTMwLCAxLjI0NDU1NTExNTY5OTc2OF0sIFsxNjYzNzU1NjIyLjIzMzQwMTUsIDEzNTc0LCAxLjIzMzgzNTIyMDMzNjkxNF0sIFsxNjYzNzU1NjIyLjY1MzMxNjUsIDEzNjE4LCAxLjI3ODUzNTM2NjA1ODM0OTZdLCBbMTY2Mzc1NTYyMi45NDQ5NDUzLCAxMzY2MiwgMS4yNjg1NDQ0MzU1MDEwOTg2XSwgWzE2NjM3NTU2MjMuMzkwNzYyLCAxMzcwNiwgMS4zMTQ4MTMwMTc4NDUxNTM4XSwgWzE2NjM3NTU2MjMuNjEyNjIzMiwgMTM3MjgsIDEuMzI4NTc3NTE4NDYzMTM0OF0sIFsxNjYzNzU1NjI0LjE2NDA3OSwgMTM3OTQsIDEuNDAyOTM4MjQ2NzI2OTg5N10sIFsxNjYzNzU1NjI0LjQ1Mzg0MjQsIDEzODM4LCAxLjIxMjg3MTA3NDY3NjUxMzddLCBbMTY2Mzc1NTYyNC41OTE0NDE0LCAxMzg2MCwgMS4zOTc1MDk2OTQwOTk0MjYzXSwgWzE2NjM3NTU2MjUuMzg3NjI4MywgMTM5NDgsIDEuMjQ1MjM0MzcwMjMxNjI4NF0sIFsxNjYzNzU1NjI2LjMwNjM4NjIsIDE0MDM2LCAxLjIyOTc2NTQxNTE5MTY1MDRdLCBbMTY2Mzc1NTYyNy4wMjM4NzA1LCAxNDEwMiwgMS4yOTU0NTk2MjgxMDUxNjM2XSwgWzE2NjM3NTU2MjcuMTU0ODI2NiwgMTQxMjQsIDEuMjM3NTA0ODM5ODk3MTU1OF0sIFsxNjYzNzU1NjI3LjI4ODMxNTUsIDE0MTQ2LCAxLjI2ODMwMzYzMjczNjIwNl0sIFsxNjYzNzU1NjI3LjQzMjk1NjUsIDE0MTY4LCAxLjMxMjAyOTgzODU2MjAxMTddLCBbMTY2Mzc1NTYyNy41NjI2MTIsIDE0MTkwLCAxLjc5Mjc2NTYxNzM3MDYwNTVdLCBbMTY2Mzc1NTYyOC4yNzU5NDQsIDE0MzAwLCAxLjIyMzgxMTYyNjQzNDMyNjJdLCBbMTY2Mzc1NTYyOC41NzM2MjUsIDE0MzQ0LCAxLjUwOTUyMTk2MTIxMjE1ODJdLCBbMTY2Mzc1NTYyOC44MTI3MTc3LCAxNDM2NiwgMS4yMDUwMDcwNzYyNjM0Mjc3XSwgWzE2NjM3NTU2MjguOTY3OTQ2MywgMTQzODgsIDEuMjYxMjUxODA3MjEyODI5Nl0sIFsxNjYzNzU1NjI5LjEwNDM3ODUsIDE0NDEwLCAxLjI0Mjk0NDQ3ODk4ODY0NzVdLCBbMTY2Mzc1NTYyOS4yNDU4MTQsIDE0NDMyLCAxLjQzNTI0MzQ4NzM1ODA5MzNdLCBbMTY2Mzc1NTYyOS45NTcxMTM1LCAxNDQ5OCwgMS4yNTg0NDQ1NDc2NTMxOTgyXSwgWzE2NjM3NTU2MzAuMzYyODM1LCAxNDU0MiwgMS4yNTI2NzkzNDc5OTE5NDM0XSwgWzE2NjM3NTU2MzEuNjY1ODU3LCAxNDY5NiwgMS40NTg3MjI3MTA2MDk0MzZdLCBbMTY2Mzc1NTYzMi4zNzQ3ODUsIDE0NzYyLCAxLjQyNjMxMDg5Njg3MzQ3NDFdLCBbMTY2Mzc1NTYzMy40Mjc3MjIyLCAxNDg3MiwgMS4yODg5NjkwMzk5MTY5OTIyXSwgWzE2NjM3NTU2MzMuNTY4OTY3MywgMTQ4OTQsIDEuMjUxNzU4NTc1NDM5NDUzMV0sIFsxNjYzNzU1NjMzLjcxMzY4MDcsIDE0OTE2LCAxLjM4ODE0NDI1NDY4NDQ0ODJdLCBbMTY2Mzc1NTYzNC4xMjQzODk0LCAxNDk4MiwgMS4yNjE1NDQ5NDI4NTU4MzVdLCBbMTY2Mzc1NTYzNC40NTU3NDM4LCAxNTAyNiwgMS4yNDIyNTk4NjAwMzg3NTczXSwgWzE2NjM3NTU2MzQuNTkwMzc4OCwgMTUwNDgsIDEuNDQ3OTgzOTgwMTc4ODMzXSwgWzE2NjM3NTU2MzQuODM0MTgwOCwgMTUwNzAsIDEuMjY0NDIxNzAxNDMxMjc0NF0sIFsxNjYzNzU1NjM1LjYwOTIxODgsIDE1MTM2LCAxLjI3MzUzNzI3ODE3NTM1NF0sIFsxNjYzNzU1NjM2Ljc5MDI5ODcsIDE1MjQ2LCAxLjkxODg1MDg5ODc0MjY3NThdLCBbMTY2Mzc1NTYzNy4xMTMxMTksIDE1MjkwLCAxLjI4MDQ4NzA2MDU0Njg3NV0sIFsxNjYzNzU1NjM3LjU1NTc5OTIsIDE1MzM0LCAxLjM1MDA2NzM3NzA5MDQ1NF0sIFsxNjYzNzU1NjM3Ljc3MTcwODUsIDE1MzU2LCAxLjI4ODYwMDA4NzE2NTgzMjVdLCBbMTY2Mzc1NTYzOC4xMTc1OTYxLCAxNTQwMCwgMS4yNDc2NTI0MTE0NjA4NzY1XSwgWzE2NjM3NTU2MzguNTYzMTYwMiwgMTU0NjYsIDEuMTc3MTM5OTk3NDgyMjk5OF0sIFsxNjYzNzU1NjM4LjcwOTkwMTgsIDE1NDg4LCAxLjMwMjM2ODg3OTMxODIzNzNdLCBbMTY2Mzc1NTYzOC45OTU2MDk4LCAxNTUzMiwgMS4yMDY2NTc2NDgwODY1NDc5XSwgWzE2NjM3NTU2MzkuNTc2MDU3NywgMTU2MjAsIDEuMjM0NDk1NjM5ODAxMDI1NF0sIFsxNjYzNzU1NjM5LjcyMjMyLCAxNTY0MiwgMS41ODY2MDA0MjI4NTkxOTJdLCBbMTY2Mzc1NTY0MC4xMTUyNDAzLCAxNTY4NiwgMS40NjEyODQyNzk4MjMzMDMyXSwgWzE2NjM3NTU2NDAuNTM5MzUwNSwgMTU3NTIsIDEuMjM2MTI0OTkyMzcwNjA1NV0sIFsxNjYzNzU1NjQwLjk2MDg5ODQsIDE1Nzk2LCAxLjQ2NTEyMDA3NzEzMzE3ODddLCBbMTY2Mzc1NTY0MS4zODk5NjQ4LCAxNTg2MiwgMS4yNDA5Mzc1OTA1OTkwNl0sIFsxNjYzNzU1NjQxLjUyNjY5OTgsIDE1ODg0LCAxLjM4NDI5NTM0NDM1MjcyMjJdLCBbMTY2Mzc1NTY0MS45NjgxOTI2LCAxNTkyOCwgMS4zNzgwOTI1MjczODk1MjY0XSwgWzE2NjM3NTU2NDIuMjU1NjI3NiwgMTU5NzIsIDEuMzI5MzUyMjU5NjM1OTI1M10sIFsxNjYzNzU1NjQyLjM5NTIzNjMsIDE1OTk0LCAxLjI0NTY5ODIxMzU3NzI3MDVdLCBbMTY2Mzc1NTY0Mi44MjEwODU3LCAxNjAzOCwgMS41MDkzMjQxOTMwMDA3OTM1XSwgWzE2NjM3NTU2NDIuOTQ3NTkyNSwgMTYwNjAsIDEuMjI5NDM5NDk2OTk0MDE4Nl0sIFsxNjYzNzU1NjQzLjIyMTM1MTksIDE2MTA0LCAxLjE2OTcxMDM5NzcyMDMzN10sIFsxNjYzNzU1NjQzLjUwNjI5NzYsIDE2MTI2LCAxLjI1OTQwMDEyOTMxODIzNzNdLCBbMTY2Mzc1NTY0My42NTU0NzE4LCAxNjE0OCwgMS4yMTg2ODUyNjkzNTU3NzRdLCBbMTY2Mzc1NTY0NC43NDkwMTkxLCAxNjI1OCwgMS41MjY2OTA5NTk5MzA0Ml0sIFsxNjYzNzU1NjQ1LjcyNDQxNzIsIDE2MzQ2LCAxLjIwOTcxMzY5NzQzMzQ3MTddLCBbMTY2Mzc1NTY0NS45NDM2NjQ4LCAxNjM2OCwgMS4yNzIzNTI0NTcwNDY1MDg4XSwgWzE2NjM3NTU2NDYuMTYyMDEwNCwgMTYzOTAsIDEuMzM4NjY4NzA0MDMyODk4XSwgWzE2NjM3NTU2NDcuODU1MzIyNiwgMTY2MzIsIDEuNDQ2NTc3Nzg3Mzk5MjkyXSwgWzE2NjM3NTU2NDcuOTk4NjI0MywgMTY2NTQsIDEuMzUyMDk4MTA3MzM3OTUxN10sIFsxNjYzNzU1NjQ4LjUzNjU5NDYsIDE2Njk4LCAxLjI0ODgxODI3ODMxMjY4M10sIFsxNjYzNzU1NjQ5LjcyNTcxLCAxNjgwOCwgMS4zMTQ3OTI2MzMwNTY2NDA2XSwgWzE2NjM3NTU2NDkuOTc5NDc0OCwgMTY4MzAsIDEuMzY1NTEwODIxMzQyNDY4M10sIFsxNjYzNzU1NjUwLjE4MjE2NTYsIDE2ODUyLCAxLjI2ODEzMDA2NDAxMDYyMDFdLCBbMTY2Mzc1NTY1MC43MjkxMzcyLCAxNjkxOCwgMS4yMjgzNTcwNzY2NDQ4OTc1XSwgWzE2NjM3NTU2NTAuODcyOTA1NSwgMTY5NDAsIDEuNDE2MTMzOTk5ODI0NTI0XSwgWzE2NjM3NTU2NTEuMzIzOTczNywgMTcwMDYsIDEuMjQ3NzI5NTM5ODcxMjE1OF0sIFsxNjYzNzU1NjUxLjc0NjUyOCwgMTcwNzIsIDEuMzQ4ODQxNzg2Mzg0NTgyNV0sIFsxNjYzNzU1NjUxLjkwODkyNjUsIDE3MDk0LCAxLjI0MzIyNzAwNTAwNDg4MjhdLCBbMTY2Mzc1NTY1Mi4yODUyMDM3LCAxNzEzOCwgMS4yMDY0OTA5OTM0OTk3NTU5XSwgWzE2NjM3NTU2NTIuNDgxNDQwMywgMTcxNjAsIDEuMjc4NjcyNTc1OTUwNjIyNl0sIFsxNjYzNzU1NjUyLjY4MDE5OCwgMTcxODIsIDEuMjA1NjgyOTkyOTM1MTgwN10sIFsxNjYzNzU1NjUyLjgxNjE3MSwgMTcyMDQsIDEuMjA2NzA1Njg5NDMwMjM2OF0sIFsxNjYzNzU1NjUyLjk2NzcwOTUsIDE3MjI2LCAxLjMwOTI3Mjc2NjExMzI4MTJdLCBbMTY2Mzc1NTY1NC4yMTk2MDM1LCAxNzM1OCwgMS40NTU3MTQ5NDEwMjQ3ODAzXSwgWzE2NjM3NTU2NTQuOTQxMjc1LCAxNzQyNCwgMS4yMDgxNjkxMDI2Njg3NjIyXSwgWzE2NjM3NTU2NTUuMjM4NTQzLCAxNzQ2OCwgMS4yNTQ3MjY2NDgzMzA2ODg1XSwgWzE2NjM3NTU2NTUuNTQwOTQzMSwgMTc1MTIsIDEuMjcyNjM5MzkzODA2NDU3NV0sIFsxNjYzNzU1NjU2LjEzNzA5NzQsIDE3NjAwLCAxLjI0Nzg5NzUwNTc2MDE5MjldLCBbMTY2Mzc1NTY1Ni44ODY5NTUsIDE3NzEwLCAxLjI3NzQwNzA1MDEzMjc1MTVdLCBbMTY2Mzc1NTY1Ny4wMjUzMzgsIDE3NzMyLCAxLjI2NTAzMjA1Mjk5Mzc3NDRdLCBbMTY2Mzc1NTY1Ny4xNjc0OTQsIDE3NzU0LCAxLjIxMTQxNzE5ODE4MTE1MjNdLCBbMTY2Mzc1NTY1Ny40MTQ1MzMsIDE3Nzc2LCAxLjE4ODM3MzkyMzMwMTY5NjhdLCBbMTY2Mzc1NTY1OC4xOTM2NjU1LCAxNzg0MiwgMS4xNzk3MTE5Mzc5MDQzNThdLCBbMTY2Mzc1NTY1OS40MzYwMTYsIDE4MDE4LCAxLjI5MzY2ODc0Njk0ODI0MjJdLCBbMTY2Mzc1NTY1OS41ODQwMzk3LCAxODA0MCwgMS40NTYxNTQ5NDI1MTI1MTIyXSwgWzE2NjM3NTU2NTkuODkyMTgxNCwgMTgwODQsIDEuNjk1NDM4NTA0MjE5MDU1Ml0sIFsxNjYzNzU1NjYwLjMxODM2MiwgMTgxMjgsIDEuMjUwOTAwNjI2MTgyNTU2Ml0sIFsxNjYzNzU1NjYwLjc2NzM5OCwgMTgxOTQsIDEuNTg4NTQzNDE1MDY5NThdLCBbMTY2Mzc1NTY2MC45MzM3MTk2LCAxODIxNiwgMS4zNzUxODkzMDQzNTE4MDY2XSwgWzE2NjM3NTU2NjEuMjE1Mzc4NSwgMTgyMzgsIDEuMjc0MTYyNzY5MzE3NjI3XSwgWzE2NjM3NTU2NjIuMDQ4NjQxNywgMTgzMjYsIDEuMjIyNDQ2NDQxNjUwMzkwNl0sIFsxNjYzNzU1NjYyLjE5NzUxODMsIDE4MzQ4LCAxLjIzMjc4ODA4NTkzNzVdLCBbMTY2Mzc1NTY2Mi40OTkwMzcsIDE4MzkyLCAxLjIwMTIxMzcxNzQ2MDYzMjNdLCBbMTY2Mzc1NTY2Mi42NTM5NDQzLCAxODQxNCwgMS4zMzA0OTY0MzAzOTcwMzM3XSwgWzE2NjM3NTU2NjIuODAwOTA2NCwgMTg0MzYsIDEuMzg0NzkyMjA4NjcxNTY5OF0sIFsxNjYzNzU1NjYzLjE4ODU3MzgsIDE4NDgwLCAxLjI1ODI4MTk0NjE4MjI1MV0sIFsxNjYzNzU1NjYzLjM2NzU5MjMsIDE4NTAyLCAxLjI3NjI5NTE4NTA4OTExMTNdLCBbMTY2Mzc1NTY2My45MjkyMjMsIDE4NTY4LCAxLjI3MTI2ODM2Nzc2NzMzNF0sIFsxNjYzNzU1NjY0LjIxNjI0MTgsIDE4NjEyLCAxLjM3MTkzOTQyMDcwMDA3MzJdLCBbMTY2Mzc1NTY2NS4wNjg3NDU0LCAxODcyMiwgMS4zMDI0NzY4ODI5MzQ1NzAzXSwgWzE2NjM3NTU2NjUuMjI0MDA0MywgMTg3NDQsIDEuMjIwNzI2MDEzMTgzNTkzOF0sIFsxNjYzNzU1NjY1Ljc5NjgzOCwgMTg4MTAsIDEuMzU2NjYzODIzMTI3NzQ2Nl0sIFsxNjYzNzU1NjY2LjIzNjQ1OCwgMTg4NzYsIDEuMjU4Njg5NjQxOTUyNTE0Nl0sIFsxNjYzNzU1NjY2LjgzMTM4NTksIDE4OTQyLCAxLjIxMzgxMDMyNDY2ODg4NDNdLCBbMTY2Mzc1NTY2Ny4xMjM5ODQ2LCAxODk4NiwgMS4yNjYyOTA1NDU0NjM1NjJdLCBbMTY2Mzc1NTY2Ny44OTA3NDg1LCAxOTA1MiwgMS4yMTgxNDM5Mzk5NzE5MjM4XSwgWzE2NjM3NTU2NjguMDMyNTA1NSwgMTkwNzQsIDEuMjI4MjY5NDU3ODE3MDc3Nl0sIFsxNjYzNzU1NjY4Ljc0NjY0MzMsIDE5MTYyLCAxLjE5NTA5NDU4NTQxODcwMTJdLCBbMTY2Mzc1NTY2OC44ODQ0MjI1LCAxOTE4NCwgMS4yMTAxMDYxMzQ0MTQ2NzI5XSwgWzE2NjM3NTU2NzEuMTE3MzUyNSwgMTk0NzAsIDEuMzE2NzExOTAyNjE4NDA4Ml0sIFsxNjYzNzU1NjcxLjI2MTEzMiwgMTk0OTIsIDEuMjUyNDIyMzMyNzYzNjcxOV0sIFsxNjYzNzU1NjcxLjQwMDMxNTgsIDE5NTE0LCAxLjQ3MTY5MzM5NjU2ODI5ODNdLCBbMTY2Mzc1NTY3MS42OTM0OTAzLCAxOTU1OCwgMS4yMTI3NjA1Njc2NjUxXSwgWzE2NjM3NTU2NzIuMDk0MTcwOCwgMTk2MDIsIDEuMTkzNjk3MDk0OTE3Mjk3NF0sIFsxNjYzNzU1NjcyLjU2MTUyNywgMTk2NDYsIDEuMjkyNTQ0MDA3MzAxMzMwNl0sIFsxNjYzNzU1NjczLjE1MTExMTgsIDE5NzEyLCAxLjIyNzU5NjUyMTM3NzU2MzVdLCBbMTY2Mzc1NTY3My40MjUyODcsIDE5NzU2LCAxLjIyNzgyODUwMjY1NTAyOTNdLCBbMTY2Mzc1NTY3My41NjM0ODEzLCAxOTc3OCwgMS4yODY5MDMyNjIxMzgzNjY3XSwgWzE2NjM3NTU2NzQuMjA3OTk2OCwgMTk4NDQsIDEuMjE0NzQwODcyMzgzMTE3N10sIFsxNjYzNzU1Njc0LjQxODg4MSwgMTk4NjYsIDEuMTk0NTQ3Mjk1NTcwMzczNV0sIFsxNjYzNzU1Njc0Ljg5OTYzOTEsIDE5OTEwLCAxLjI1NDcxNzM1MDAwNjEwMzVdLCBbMTY2Mzc1NTY3NS41MDc0MTI3LCAxOTk3NiwgMS4yMzg0NzE4NjU2NTM5OTE3XSwgWzE2NjM3NTU2NzUuNjQ5NjE1MywgMTk5OTgsIDEuMzIyODU1MjM0MTQ2MTE4Ml0sIFsxNjYzNzU1Njc1Ljk0NjA5NzksIDIwMDQyLCAxLjI5MDE1Njg0MTI3ODA3NjJdLCBbMTY2Mzc1NTY3Ni4xMDc0MTE5LCAyMDA2NCwgMS4yMTk5NDc4MTQ5NDE0MDYyXSwgWzE2NjM3NTU2NzYuNjgzMjIwNCwgMjAxMzAsIDEuMjc3MDc1NzY3NTE3MDg5OF0sIFsxNjYzNzU1Njc3LjM5NjIzODMsIDIwMjE4LCAxLjI2MzU2MTM2Nzk4ODU4NjRdLCBbMTY2Mzc1NTY3Ny41NTk2MTEsIDIwMjQwLCAxLjMxMDc0MDQ3MDg4NjIzMDVdLCBbMTY2Mzc1NTY3Ny45Njc2MTM1LCAyMDI4NCwgMS4xOTAyMTM0NDE4NDg3NTQ5XSwgWzE2NjM3NTU2NzguMzQ0MjQzMywgMjAzMjgsIDEuMjMwMjgyNDI1ODgwNDMyMV0sIFsxNjYzNzU1Njc4Ljk4OTI4MzMsIDIwNDE2LCAxLjIxNjA0MzcxMDcwODYxODJdLCBbMTY2Mzc1NTY3OS4xNDY2OTIzLCAyMDQzOCwgMS4xOTkwNzYyOTQ4OTg5ODY4XSwgWzE2NjM3NTU2NzkuNzY3MzUxOSwgMjA0ODIsIDEuNDAyMjMwOTc4MDEyMDg1XSwgWzE2NjM3NTU2ODAuMDA5MDYyMywgMjA1MDQsIDEuMjI3NzQxMDAzMDM2NDk5XSwgWzE2NjM3NTU2ODAuMjU0Mjk2LCAyMDUyNiwgMS4yMTM0OTU0OTI5MzUxODA3XSwgWzE2NjM3NTU2ODAuNTE5NDk3NCwgMjA1NDgsIDEuMjUyNDgzNjA2MzM4NTAxXSwgWzE2NjM3NTU2ODAuOTc4NTA0LCAyMDU5MiwgMS4zNTE5NTQ0NjAxNDQwNDNdLCBbMTY2Mzc1NTY4MS41ODA0NTYzLCAyMDY4MCwgMS40OTE1NTYxNjc2MDI1MzldLCBbMTY2Mzc1NTY4MS44NTkwMzI5LCAyMDcyNCwgMS4yMTE1MTY4NTcxNDcyMTY4XSwgWzE2NjM3NTU2ODEuOTk3MTI1OSwgMjA3NDYsIDEuMjM5MDA0NzMxMTc4MjgzN10sIFsxNjYzNzU1NjgyLjQzNzI1MjUsIDIwODEyLCAxLjI5MDA1NzQyMDczMDU5MDhdLCBbMTY2Mzc1NTY4My4xOTYzODEsIDIwOTAwLCAxLjIyMzkzNTI0NjQ2NzU5MDNdLCBbMTY2Mzc1NTY4My42MzM3NDY2LCAyMDk2NiwgMS4xODU2Mjk5NjM4NzQ4MTddLCBbMTY2Mzc1NTY4NC40NjAwMDgxLCAyMTAzMiwgMS40MjY1NzYxMzc1NDI3MjQ2XSwgWzE2NjM3NTU2ODQuNjcyMDkzNCwgMjEwNTQsIDEuNDU5MzY1OTYzOTM1ODUyXSwgWzE2NjM3NTU2ODUuMzg5OTA3NCwgMjExNDIsIDEuMjE5NTM5NjQyMzMzOTg0NF0sIFsxNjYzNzU1Njg1LjY4OTEzMDUsIDIxMTg2LCAxLjIyODA0MjEyNTcwMTkwNDNdLCBbMTY2Mzc1NTY4NS44MjI5MjA4LCAyMTIwOCwgMS4zNTU2NjQwMTQ4MTYyODQyXSwgWzE2NjM3NTU2ODYuMTE0OTAzNSwgMjEyNTIsIDEuMzE3OTA4MDQ4NjI5NzYwN10sIFsxNjYzNzU1Njg2LjQ2MDk3MTQsIDIxMjk2LCAxLjI3OTA3NDY2ODg4NDI3NzNdLCBbMTY2Mzc1NTY4Ni43MTc2ODQ3LCAyMTMxOCwgMS4yNDA0NjU2NDEwMjE3Mjg1XSwgWzE2NjM3NTU2ODcuNDQ2MTQxLCAyMTM4NCwgMS4zMzk2MDM5MDA5MDk0MjM4XSwgWzE2NjM3NTU2ODguMTc4NTMzNiwgMjE0OTQsIDEuMTU5NDgzMTk0MzUxMTk2M10sIFsxNjYzNzU1Njg4LjQ5NTM3OTIsIDIxNTM4LCAxLjIzMzcwNzY2NjM5NzA5NDddLCBbMTY2Mzc1NTY4OC43OTU4MTIsIDIxNTYwLCAxLjE3NjQxNzExMjM1MDQ2MzldLCBbMTY2Mzc1NTY4OS4wNzUyOTEsIDIxNjA0LCAxLjQ3MzQyNzI5NTY4NDgxNDVdLCBbMTY2Mzc1NTY4OS4yOTg1MDcyLCAyMTYyNiwgMS4yMDk1ODk5NTgxOTA5MThdLCBbMTY2Mzc1NTY5MC4yMDY4MjksIDIxNzE0LCAxLjIwMTg0ODE0OTI5OTYyMTZdLCBbMTY2Mzc1NTY5MC44NzUzMzAyLCAyMTgwMiwgMS4yODUzNzYzMTAzNDg1MTA3XSwgWzE2NjM3NTU2OTEuMTU5OTI2NCwgMjE4NDYsIDEuMTQzMzQ3NTAxNzU0NzYwN10sIFsxNjYzNzU1NjkxLjUzOTAzLCAyMTg5MCwgMS4yMzcxNjU2ODk0NjgzODM4XSwgWzE2NjM3NTU2OTEuODM0MTU2LCAyMTkzNCwgMS4xNjk2NTkzNzYxNDQ0MDkyXSwgWzE2NjM3NTU2OTIuMTE2NjkyLCAyMTk3OCwgMS4yNDYyNzY5NzQ2NzgwMzk2XSwgWzE2NjM3NTU2OTIuNDcwMDgzLCAyMjAwMCwgMS4yMjEzMDAzNjM1NDA2NDk0XSwgWzE2NjM3NTU2OTIuOTAwMzkyMywgMjIwNjYsIDEuMzQ2NjA5NTkyNDM3NzQ0MV0sIFsxNjYzNzU1NjkzLjAzMzA5NDIsIDIyMDg4LCAxLjI4MTM5ODc3MzE5MzM1OTRdLCBbMTY2Mzc1NTY5My4zMzA1OTcyLCAyMjExMCwgMS4zNDA5ODg2MzYwMTY4NDU3XSwgWzE2NjM3NTU2OTMuNjEwOTY1NSwgMjIxNTQsIDEuMjM0MzE3Nzc5NTQxMDE1Nl0sIFsxNjYzNzU1Njk0LjQ1OTE3OTksIDIyMjY0LCAxLjIyNzQ5MTYxNzIwMjc1ODhdLCBbMTY2Mzc1NTY5NC43NDQwNjA1LCAyMjMwOCwgMS4xOTEwNzM4OTQ1MDA3MzI0XSwgWzE2NjM3NTU2OTUuMjIzODg3MiwgMjIzNTIsIDEuNTMzODkzOTQyODMyOTQ2OF0sIFsxNjYzNzU1Njk1LjQzMDE1ODksIDIyMzc0LCAxLjQwOTk1MDk3MTYwMzM5MzZdLCBbMTY2Mzc1NTY5NS42MjA0MDU3LCAyMjM5NiwgMS4zMTEyOTMyNDQzNjE4Nzc0XSwgWzE2NjM3NTU2OTYuNjQwNjQyMiwgMjI1MDYsIDEuNDUzNDA3NDA2ODA2OTQ1OF0sIFsxNjYzNzU1Njk3LjI0MTUxNSwgMjI1OTQsIDEuMjY1NDMyMjM4NTc4Nzk2NF0sIFsxNjYzNzU1Njk3LjUyMTE0OTQsIDIyNjM4LCAxLjI1ODI2NTk3MjEzNzQ1MTJdLCBbMTY2Mzc1NTY5Ny42NzE0Mzk2LCAyMjY2MCwgMS4xNTkzODA3OTM1NzE0NzIyXSwgWzE2NjM3NTU2OTguNzk4NDQ0NywgMjI3OTIsIDEuNjAxMDcxOTUzNzczNDk4NV0sIFsxNjYzNzU1Njk4LjkzMzA3NzYsIDIyODE0LCAxLjYwMTIzMDE0NDUwMDczMjRdLCBbMTY2Mzc1NTY5OS4wNzQ0MjksIDIyODM2LCAxLjIyMzYyMDQxNDczMzg4NjddLCBbMTY2Mzc1NTY5OS4yMjcwNjMsIDIyODU4LCAxLjI1NTM3NDQzMTYxMDEwNzRdLCBbMTY2Mzc1NTY5OS4zNzM5ODksIDIyODgwLCAxLjE2NjY2NjE1MDA5MzA3ODZdLCBbMTY2Mzc1NTcwMC4yNjc5NDE3LCAyMjk2OCwgMS4yMTg2NTMyMDIwNTY4ODQ4XSwgWzE2NjM3NTU3MDAuNTcyNjkyNiwgMjMwMTIsIDEuMzE3NDgyNDcxNDY2MDY0NV0sIFsxNjYzNzU1NzAwLjcxNDQ3MjgsIDIzMDM0LCAxLjIyMjUyNTU5NjYxODY1MjNdLCBbMTY2Mzc1NTcwMS42ODI1MTY2LCAyMzE2NiwgMS4yNDYwNzQxOTk2NzY1MTM3XSwgWzE2NjM3NTU3MDEuODIxMTkyLCAyMzE4OCwgMS4xODk5MDcxOTMxODM4OTldLCBbMTY2Mzc1NTcwMi40MjA3NTg3LCAyMzI1NCwgMS4zNTA4MTAyODkzODI5MzQ2XSwgWzE2NjM3NTU3MDIuNzgxMDUxNiwgMjMyOTgsIDEuNDg3Mjc2OTExNzM1NTM0N10sIFsxNjYzNzU1NzAyLjk5MzQyMzcsIDIzMzIwLCAxLjI1NzkzODM4NTAwOTc2NTZdLCBbMTY2Mzc1NTcwMy4yMDA5NzgzLCAyMzM0MiwgMS4xODAwOTEwMjM0NDUxMjk0XSwgWzE2NjM3NTU3MDMuNTAyMjAyMywgMjMzODYsIDEuMTk3Mjc4MTQxOTc1NDAyOF0sIFsxNjYzNzU1NzA0LjA1MDU0MDcsIDIzNDUyLCAxLjI2MzM4NTg5MTkxNDM2NzddLCBbMTY2Mzc1NTcwNC4zMzI5MzIyLCAyMzQ5NiwgMS4yMDQzNTk2NTA2MTE4Nzc0XSwgWzE2NjM3NTU3MDQuNjQ0NzgzLCAyMzU0MCwgMS4yMzk4NjMzOTU2OTA5MThdLCBbMTY2Mzc1NTcwNC45MzgwODQ4LCAyMzU2MiwgMS4zMzg0MDIxNTIwNjE0NjI0XSwgWzE2NjM3NTU3MDUuMDgwNTMzNSwgMjM1ODQsIDEuMzMyNDMzNDYyMTQyOTQ0M10sIFsxNjYzNzU1NzA1LjI0MjM0NDEsIDIzNjA2LCAxLjE3ODAzNjA5MzcxMTg1M10sIFsxNjYzNzU1NzA1LjM5NzExMjEsIDIzNjI4LCAxLjQwMTA4NjU2ODgzMjM5NzVdLCBbMTY2Mzc1NTcwNS41NTE4MDY0LCAyMzY1MCwgMS4xODgyMzY1OTQyMDAxMzQzXSwgWzE2NjM3NTU3MDYuMTE0OTU0NSwgMjM3MTYsIDEuMjUyNjg4MDUwMjcwMDgwNl0sIFsxNjYzNzU1NzA2LjI1OTYzNCwgMjM3MzgsIDEuMzQ3NDM0NzU5MTQwMDE0Nl0sIFsxNjYzNzU1NzA2LjY1MTc2MywgMjM3ODIsIDEuNjg2MTIyNjU1ODY4NTMwM10sIFsxNjYzNzU1NzA2LjgzOTgwMzUsIDIzODA0LCAxLjIyMzAxMjQ0NzM1NzE3NzddLCBbMTY2Mzc1NTcwNy4wNzM0NTQ0LCAyMzgyNiwgMS4xOTk5NDUzMzA2MTk4MTJdLCBbMTY2Mzc1NTcwNy42MTI5NTQ5LCAyMzg5MiwgMS4xNTY5NjA3MjU3ODQzMDE4XSwgWzE2NjM3NTU3MDcuNzY0Mjk1NiwgMjM5MTQsIDEuMzA4NTUxNTQ5OTExNDk5XSwgWzE2NjM3NTU3MDcuOTMyNTk2MiwgMjM5MzYsIDEuMTg0NDY4NjI2OTc2MDEzMl0sIFsxNjYzNzU1NzA4LjY2NjE4NzMsIDI0MDI0LCAxLjE2NDg2NzQwMTEyMzA0NjldLCBbMTY2Mzc1NTcwOS45Njg3MDI2LCAyNDE3OCwgMS4xOTU0NzUxMDE0NzA5NDczXSwgWzE2NjM3NTU3MTAuMzU1MjA4OSwgMjQyMjIsIDEuNjI4ODc4ODMxODYzNDAzM10sIFsxNjYzNzU1NzEwLjY4MjM2ODgsIDI0MjY2LCAxLjIxNDg0OTIzMzYyNzMxOTNdLCBbMTY2Mzc1NTcxMC44MzQ1MTg0LCAyNDI4OCwgMS4yOTAxNzQyNDU4MzQzNTA2XSwgWzE2NjM3NTU3MTEuMDA5NjAxLCAyNDMxMCwgMS4zMTU0NTIwOTg4NDY0MzU1XSwgWzE2NjM3NTU3MTEuNjU1Mzk4LCAyNDM3NiwgMS4xODMyODc4NTg5NjMwMTI3XSwgWzE2NjM3NTU3MTIuMTI5Mzk1LCAyNDQyMCwgMS4yMDM4NTkwOTA4MDUwNTM3XSwgWzE2NjM3NTU3MTIuNTQ1NTg2MywgMjQ0NjQsIDEuNDA1MDU1MDQ2MDgxNTQzXSwgWzE2NjM3NTU3MTIuNzc4NDEwMiwgMjQ0ODYsIDEuMjI4MTg3MzIyNjE2NTc3MV0sIFsxNjYzNzU1NzEzLjI1MDUyODMsIDI0NTMwLCAxLjIzMDI3MTEwMDk5NzkyNDhdLCBbMTY2Mzc1NTcxNC4xMzU5Mjg2LCAyNDY0MCwgMS4yNzk5Mjc0OTIxNDE3MjM2XSwgWzE2NjM3NTU3MTQuNTMzNzY3MiwgMjQ2ODQsIDEuMjMwOTMwMjA5MTU5ODUxXSwgWzE2NjM3NTU3MTQuNzU1NTEyNywgMjQ3MDYsIDEuNDM2Mjg0NzgwNTAyMzE5M10sIFsxNjYzNzU1NzE1LjM5MTcwMjIsIDI0NzcyLCAxLjMwNDU2ODA1MjI5MTg3MDFdLCBbMTY2Mzc1NTcxNS42MzgyOTM3LCAyNDc5NCwgMS4yMTQwNzQ3MzA4NzMxMDhdLCBbMTY2Mzc1NTcxNi4xMDM1MjUyLCAyNDgzOCwgMS4yMDM3Mzg2ODk0MjI2MDc0XSwgWzE2NjM3NTU3MTYuMzI3OTUzMywgMjQ4NjAsIDEuMjI4OTU0NjcyODEzNDE1NV0sIFsxNjYzNzU1NzE2LjQ3OTQ4NTUsIDI0ODgyLCAxLjI3Mjk4MzkwODY1MzI1OTNdLCBbMTY2Mzc1NTcxNi42MzI2MTIsIDI0OTA0LCAxLjI4NzExODkxMTc0MzE2NF0sIFsxNjYzNzU1NzE2Ljc4ODg2MSwgMjQ5MjYsIDEuMjQyNzYxMjU0MzEwNjA4XSwgWzE2NjM3NTU3MTcuMDY5NDc2LCAyNDk3MCwgMS4zMTIwNzI2MzQ2OTY5NjA0XSwgWzE2NjM3NTU3MTcuMjA0NTM4OCwgMjQ5OTIsIDEuMTk2MzIzNjMzMTkzOTY5N10sIFsxNjYzNzU1NzE3LjM4NjExMDUsIDI1MDE0LCAxLjE4OTc5Mzk0NDM1ODgyNTddLCBbMTY2Mzc1NTcxOC4wNjEzMzY4LCAyNTA4MCwgMS42MTIwNzE2MzMzMzg5MjgyXSwgWzE2NjM3NTU3MTguNTIzNDk4OCwgMjUxNDYsIDEuMjc1MzYwNDY1MDQ5NzQzN10sIFsxNjYzNzU1NzE4Ljk2OTg5NSwgMjUyMTIsIDEuMjI2OTAyNjA0MTAzMDg4NF0sIFsxNjYzNzU1NzE5LjIyODA2OTMsIDI1MjM0LCAxLjIxNzg2NjMwMTUzNjU2XSwgWzE2NjM3NTU3MTkuNTA1MTcwNiwgMjUyNzgsIDEuMjA3ODc0MDU5Njc3MTI0XSwgWzE2NjM3NTU3MTkuNzk0NTA3MywgMjUzMjIsIDEuMjcwNjY4Mzg3NDEzMDI1XSwgWzE2NjM3NTU3MjAuMDU4MzM5OCwgMjUzNDQsIDEuMjAwOTA1MzIzMDI4NTY0NV0sIFsxNjYzNzU1NzIwLjE4OTIwNzYsIDI1MzY2LCAxLjI3MDMwODAxNzczMDcxM10sIFsxNjYzNzU1NzIwLjMyODQxNiwgMjUzODgsIDEuMTU3NDc4NDUxNzI4ODIwOF0sIFsxNjYzNzU1NzIxLjUyOTQ2OTcsIDI1NTQyLCAxLjIwNzMxMzc3NjAxNjIzNTRdLCBbMTY2Mzc1NTcyMS44OTQzODI1LCAyNTU4NiwgMS4yMjEwMTcxMjIyNjg2NzY4XSwgWzE2NjM3NTU3MjIuMTk3NDE2NSwgMjU2MzAsIDEuMjQ5ODQ2MjIwMDE2NDc5NV0sIFsxNjYzNzU1NzIyLjczODcxMzUsIDI1Njc0LCAxLjYyMzg3NzQwNjEyMDMwMDNdLCBbMTY2Mzc1NTcyMi45ODg0MjU1LCAyNTY5NiwgMS4zMDMyMzg5ODc5MjI2Njg1XSwgWzE2NjM3NTU3MjQuMzYzNTMzMywgMjU4MjgsIDEuMjE2MDc0MjI4Mjg2NzQzMl0sIFsxNjYzNzU1NzI0LjU3Njk2NDksIDI1ODUwLCAxLjE3Mjc2MjUxMzE2MDcwNTZdLCBbMTY2Mzc1NTcyNS4wNTYzNDcxLCAyNTg5NCwgMS4yMDgzMTY5MjIxODc4MDUyXSwgWzE2NjM3NTU3MjUuMjYxNDEzMywgMjU5MTYsIDEuMjE4MTMxMDY1MzY4NjUyM10sIFsxNjYzNzU1NzI1LjQ3NDY3MzUsIDI1OTM4LCAxLjI1MzgyMzA0MTkxNTg5MzZdLCBbMTY2Mzc1NTcyNi4zNTA0ODIsIDI2MDI2LCAxLjQwMDI0MTczMjU5NzM1MV0sIFsxNjYzNzU1NzI2Ljc0MTM0MDQsIDI2MDcwLCAxLjI1Mjg5NTM1NTIyNDYwOTRdLCBbMTY2Mzc1NTcyNy4wMzYwMDQzLCAyNjExNCwgMS4yMzA0MjQ3NjE3NzIxNTU4XSwgWzE2NjM3NTU3MjcuMzQyNTE1NywgMjYxNTgsIDEuMjQyNDg5NTc2MzM5NzIxN10sIFsxNjYzNzU1NzI3LjU3NTk5ODUsIDI2MTgwLCAxLjE1MTQ2OTcwNzQ4OTAxMzddLCBbMTY2Mzc1NTcyNy44MDU1MzkxLCAyNjIwMiwgMS4yNDU1MDgzMTMxNzkwMTYxXSwgWzE2NjM3NTU3MjguNTAwNDE3NywgMjYyNjgsIDEuMTg2NDE5NDg2OTk5NTExN10sIFsxNjYzNzU1NzI4LjcyMzk2MTYsIDI2MjkwLCAxLjIwNTY1MjU5NDU2NjM0NTJdLCBbMTY2Mzc1NTcyOC45MzA2MDg3LCAyNjMxMiwgMS4yOTg2MTU4MTMyNTUzMV0sIFsxNjYzNzU1NzI5LjMzODQyMjUsIDI2MzU2LCAxLjI3NzQwMTY4NTcxNDcyMTddLCBbMTY2Mzc1NTcyOS41NDY0ODQ1LCAyNjM3OCwgMS40NTAyMjUxMTQ4MjIzODc3XSwgWzE2NjM3NTU3MzAuMTc2ODc3NSwgMjY0NDQsIDEuMTc1MzI0MDgyMzc0NTcyOF0sIFsxNjYzNzU1NzMxLjAxNDMwMDMsIDI2NTMyLCAxLjM2MDM3NTA0NjczMDA0MTVdLCBbMTY2Mzc1NTczMS4yMTIxNDg3LCAyNjU1NCwgMS4yNDAyNTcyNjMxODM1OTM4XSwgWzE2NjM3NTU3MzEuNDMwNDk2LCAyNjU3NiwgMS4yMzMyNjUxNjE1MTQyODIyXSwgWzE2NjM3NTU3MzEuNzQwMTc5NSwgMjY2MjAsIDEuMTY3MjM3MTYyNTkwMDI2OV0sIFsxNjYzNzU1NzMyLjMyNDA5NzksIDI2NzA4LCAxLjIzMDI3MDYyNDE2MDc2NjZdLCBbMTY2Mzc1NTczMi40NjMwNjIsIDI2NzMwLCAxLjMxODQ2NjE4NjUyMzQzNzVdLCBbMTY2Mzc1NTczMi42MTYwMDUyLCAyNjc1MiwgMS4zMDg1Nzk5MjE3MjI0MTJdLCBbMTY2Mzc1NTczMy4wNzU4MTcsIDI2ODE4LCAxLjMwNjI1MzY3MTY0NjExODJdLCBbMTY2Mzc1NTczNC4wODAxNjU0LCAyNjkyOCwgMS4zMTQ4Mjg1MTUwNTI3OTU0XSwgWzE2NjM3NTU3MzQuMzg0MjU1NiwgMjY5NzIsIDEuMTc5ODQyOTQ4OTEzNTc0Ml0sIFsxNjYzNzU1NzM1LjA4MTcwMTMsIDI3MDYwLCAxLjM0MTkyNDkwNTc3Njk3NzVdLCBbMTY2Mzc1NTczNS43ODk0NDY0LCAyNzEyNiwgMS4yMTM0MzkyMjYxNTA1MTI3XSwgWzE2NjM3NTU3MzYuMDgyNTExLCAyNzE0OCwgMS4yODg2NjM1MDY1MDc4NzM1XSwgWzE2NjM3NTU3MzYuOTM2MDc1LCAyNzI1OCwgMS4yMTA5MTYzOTk5NTU3NDk1XSwgWzE2NjM3NTU3MzcuMjQ1NTIyLCAyNzMwMiwgMS4xNjUxMTM4MDY3MjQ1NDgzXSwgWzE2NjM3NTU3MzcuNDkwMjI4MiwgMjczMjQsIDEuMTcxMjMxNjI3NDY0Mjk0NF0sIFsxNjYzNzU1NzM3LjY0MjM5NiwgMjczNDYsIDEuMjU0MDY4Mzc0NjMzNzg5XSwgWzE2NjM3NTU3MzcuODU1MTEwMiwgMjczNjgsIDEuMjc4OTI5OTQ4ODA2NzYyN10sIFsxNjYzNzU1NzM3Ljk4MDI3NiwgMjczOTAsIDEuMjE0MDYyNTcxNTI1NTczN10sIFsxNjYzNzU1NzM4LjM4NzAxOCwgMjc0MzQsIDEuNzY3MjM5NDUxNDA4Mzg2Ml0sIFsxNjYzNzU1NzM4Ljg0NTE4MjIsIDI3NTAwLCAxLjIxMDcxNzQzOTY1MTQ4OTNdLCBbMTY2Mzc1NTczOS4wMDg1NDM1LCAyNzUyMiwgMS4yMjUyNjU3NDEzNDgyNjY2XSwgWzE2NjM3NTU3MzkuMjg2MTc3OSwgMjc1NDQsIDEuNDc2OTk3ODUyMzI1NDM5NV0sIFsxNjYzNzU1NzM5LjQzNDQyNDIsIDI3NTY2LCAxLjE2NTI0OTcwNTMxNDYzNjJdLCBbMTY2Mzc1NTczOS43MjU1NDgzLCAyNzYxMCwgMS4yNjAxMDY1NjM1NjgxMTUyXSwgWzE2NjM3NTU3NDAuMjQ2NDkwNSwgMjc2NTQsIDEuMzAwODkyNDcyMjY3MTUwOV0sIFsxNjYzNzU1NzQwLjQwNjI3MzYsIDI3Njc2LCAxLjE5MjY3ODU3MDc0NzM3NTVdLCBbMTY2Mzc1NTc0MC44NjA5NDUyLCAyNzc0MiwgMS4yOTY1Njg5ODk3NTM3MjMxXSwgWzE2NjM3NTU3NDEuMTEwMjM2NiwgMjc3NjQsIDEuMjYzNDM3OTg2MzczOTAxNF0sIFsxNjYzNzU1NzQyLjA4NDE1MTcsIDI3ODk2LCAxLjI2NjMyODA5NjM4OTc3MDVdLCBbMTY2Mzc1NTc0Mi44MzM1MTc2LCAyNzk4NCwgMS4zMDAwODkzNTkyODM0NDczXSwgWzE2NjM3NTU3NDQuMTA1ODMwNCwgMjgwOTQsIDEuMTkwMDg2NzIyMzczOTYyNF0sIFsxNjYzNzU1NzQ0LjI4MjkyOTIsIDI4MTE2LCAxLjQ5MTM4NjE3NTE1NTYzOTZdLCBbMTY2Mzc1NTc0NC40MzYwNTUsIDI4MTM4LCAxLjIxMTkzNDkyNDEyNTY3MTRdLCBbMTY2Mzc1NTc0NS4wMTEzOTI0LCAyODIyNiwgMS4zOTgwNzAwOTY5Njk2MDQ1XSwgWzE2NjM3NTU3NDUuNDI4NjY3NSwgMjgyOTIsIDEuMjMyMTg0MDUyNDY3MzQ2Ml0sIFsxNjYzNzU1NzQ2LjIxNDcwNSwgMjg0MDIsIDEuMzc5MjY1Nzg1MjE3Mjg1Ml0sIFsxNjYzNzU1NzQ2Ljc2NDAzNzQsIDI4NDY4LCAxLjIwNjE0Nzc4OTk1NTEzOTJdLCBbMTY2Mzc1NTc0Ny44ODUyODc1LCAyODU3OCwgMS4yMTIzNzczMDk3OTkxOTQzXSwgWzE2NjM3NTU3NDguMTE1NzUxLCAyODYwMCwgMS4yMzQ0OTM5NzA4NzA5NzE3XSwgWzE2NjM3NTU3NDguODA5MjkzNywgMjg2NjYsIDEuMjA4Nzg2OTY0NDE2NTA0XSwgWzE2NjM3NTU3NDkuNTgzNDk3OCwgMjg3NTQsIDEuNjk4MDg5NDgwNDAwMDg1NF0sIFsxNjYzNzU1NzUwLjQzNDU5MSwgMjg4NDIsIDEuMzM1OTYyODkxNTc4Njc0M10sIFsxNjYzNzU1NzUxLjE0ODM2NCwgMjg5NTIsIDEuMzg4NTM0NTQ1ODk4NDM3NV0sIFsxNjYzNzU1NzUxLjg3NTEwNDQsIDI5MDYyLCAxLjI5NzA0ODgwNzE0NDE2NV0sIFsxNjYzNzU1NzUyLjM2NDczODIsIDI5MTA2LCAxLjE2NzEyMzA3OTI5OTkyNjhdLCBbMTY2Mzc1NTc1Mi43NzkzMzYsIDI5MTcyLCAxLjE3OTE2MjUwMjI4ODgxODRdLCBbMTY2Mzc1NTc1Mi45MTUzMDM3LCAyOTE5NCwgMS4yMDU5NzYzNjY5OTY3NjUxXSwgWzE2NjM3NTU3NTMuNDIxMTY1NSwgMjkyMzgsIDEuMjQwMTMxNzM1ODAxNjk2OF0sIFsxNjYzNzU1NzU0LjczMDMzNzYsIDI5MzkyLCAxLjE4NTQ4MzgxMzI4NTgyNzZdLCBbMTY2Mzc1NTc1Ni4zODMxNDY1LCAyOTU5MCwgMS4yNDg4NjA0Nzg0MDExODRdLCBbMTY2Mzc1NTc1Ni41MjcwMjc0LCAyOTYxMiwgMS4yMzcxOTg3MTA0NDE1ODk0XSwgWzE2NjM3NTU3NTcuMDE3NTMyLCAyOTY1NiwgMS4xODM5NTY1MDM4NjgxMDNdLCBbMTY2Mzc1NTc1Ny4xNjU0MzU4LCAyOTY3OCwgMS4xNzU5OTMwODQ5MDc1MzE3XSwgWzE2NjM3NTU3NTcuNTcyMDkwOSwgMjk3NDQsIDEuMjIyMzYyMjc5ODkxOTY3OF0sIFsxNjYzNzU1NzU3LjkyMzQwNDcsIDI5NzY2LCAxLjI4NzAwMTcyOTAxMTUzNTZdLCBbMTY2Mzc1NTc1OC4yMDAxOTgyLCAyOTgxMCwgMS4zOTk0NjY3NTMwMDU5ODE0XSwgWzE2NjM3NTU3NTguOTc0NDk2OCwgMjk4OTgsIDEuNDMxNjYxMTI4OTk3ODAyN10sIFsxNjYzNzU1NzU5LjI1MDUxNjIsIDI5OTQyLCAxLjI5ODU5MDg5ODUxMzc5NF0sIFsxNjYzNzU1NzYwLjAxMDU5MSwgMzAwMzAsIDEuMTY3NTAwOTcyNzQ3ODAyN10sIFsxNjYzNzU1NzYwLjE1MzU4OSwgMzAwNTIsIDEuMTg3MzQ2Njk2ODUzNjM3N10sIFsxNjYzNzU1NzYwLjI5ODI0NzMsIDMwMDc0LCAxLjE2NzI3OTAwNTA1MDY1OTJdLCBbMTY2Mzc1NTc2MC42Mjg4MjI4LCAzMDA5NiwgMS4yMTIwMTM0ODMwNDc0ODU0XSwgWzE2NjM3NTU3NjAuNzY3NjE2NSwgMzAxMTgsIDEuMjI4MDY1MDEzODg1NDk4XSwgWzE2NjM3NTU3NjEuNTUwMDI4NiwgMzAyMDYsIDEuMTgzNzIwMTExODQ2OTIzOF0sIFsxNjYzNzU1NzYxLjY5NzMxMTYsIDMwMjI4LCAxLjI0ODQyNDA1MzE5MjEzODddLCBbMTY2Mzc1NTc2MS45OTQzNDgsIDMwMjcyLCAxLjE3ODYxOTYyMzE4NDIwNF0sIFsxNjYzNzU1NzYyLjEzNTQ4MzcsIDMwMjk0LCAxLjE0NTUyNTMzNjI2NTU2NF0sIFsxNjYzNzU1NzYyLjkwMjYyNzUsIDMwMzgyLCAxLjI1NDYwMTI0MDE1ODA4MV0sIFsxNjYzNzU1NzYzLjgxMTM0OSwgMzA0OTIsIDEuMzY2MDAxMzY3NTY4OTY5N10sIFsxNjYzNzU1NzYzLjk1NzQ3NzYsIDMwNTE0LCAxLjE4NDIwNTc3MDQ5MjU1MzddLCBbMTY2Mzc1NTc2NC45OTE4MjEzLCAzMDYwMiwgMS4xODAyNzc3MDUxOTI1NjZdLCBbMTY2Mzc1NTc2NS41MTI2MDg4LCAzMDY2OCwgMS4yNTQ4MzQ3NzExNTYzMTFdLCBbMTY2Mzc1NTc2Ni4xNjAzNjQyLCAzMDc1NiwgMS4zNTQ0Njc5ODgwMTQyMjEyXSwgWzE2NjM3NTU3NjcuNDM0MzQwNywgMzA4ODgsIDEuMjM5NDcyNzQ2ODQ5MDZdLCBbMTY2Mzc1NTc2OS45MzcxNDMzLCAzMTE3NCwgMS4yNTU5MjY2MDkwMzkzMDY2XSwgWzE2NjM3NTU3NzAuMDcxOTgzLCAzMTE5NiwgMS4xODYzNTc2MTczNzgyMzQ5XSwgWzE2NjM3NTU3NzAuNjgwODgxNSwgMzEyODQsIDEuMTY4NzM5Njc2NDc1NTI1XSwgWzE2NjM3NTU3NzIuODIzMzkzOCwgMzE1MDQsIDEuMTg0ODkwMDMxODE0NTc1Ml0sIFsxNjYzNzU1NzczLjA3NTQwMjMsIDMxNTI2LCAxLjI4MjY2NzM5ODQ1Mjc1ODhdLCBbMTY2Mzc1NTc3NC4wMTA2NTc4LCAzMTYxNCwgMS4yMjQ3MDQwMjcxNzU5MDMzXSwgWzE2NjM3NTU3NzQuNDMwNzc4LCAzMTY1OCwgMS4yMTU2MTY5NDE0NTIwMjY0XSwgWzE2NjM3NTU3NzQuNjMxMzU4LCAzMTY4MCwgMS4yMjc2Njk1OTY2NzIwNThdLCBbMTY2Mzc1NTc3NC43OTU0NjMsIDMxNzAyLCAxLjE1NTEyMDYxMTE5MDc5Nl0sIFsxNjYzNzU1Nzc0LjkzNTUzOTUsIDMxNzI0LCAxLjIzNTE4NzI5MjA5ODk5OV0sIFsxNjYzNzU1Nzc1LjM3NDQ3ODYsIDMxNzkwLCAxLjE2MTM4MTQ4MzA3ODAwM10sIFsxNjYzNzU1Nzc1LjY1NTIzNTMsIDMxODM0LCAxLjI0MjMxODUxMTAwOTIxNjNdLCBbMTY2Mzc1NTc3NS44MDA4OTk3LCAzMTg1NiwgMS4yMzM3MzE2Mjc0NjQyOTQ0XSwgWzE2NjM3NTU3NzYuMTA2MzI3OCwgMzE5MDAsIDEuMjQ1MTI4NjMxNTkxNzk2OV0sIFsxNjYzNzU1Nzc2LjQwMDUyODcsIDMxOTQ0LCAxLjIxMjYzMjY1NjA5NzQxMl0sIFsxNjYzNzU1Nzc2LjU0NzAyMDIsIDMxOTY2LCAxLjE3OTYzOTIyMDIzNzczMl0sIFsxNjYzNzU1Nzc3LjA3NjE3NzYsIDMyMDEwLCAxLjIwMjUyNTAxOTY0NTY5MV0sIFsxNjYzNzU1Nzc3LjIxNDU0MjksIDMyMDMyLCAxLjI0OTY1NTAwODMxNjA0XSwgWzE2NjM3NTU3NzcuMzQ2NDY1LCAzMjA1NCwgMS4zMDczNzg2NDk3MTE2MDg5XSwgWzE2NjM3NTU3NzcuNTEwMzEzNSwgMzIwNzYsIDEuMTcwNzcxMzYwMzk3MzM4OV0sIFsxNjYzNzU1Nzc3Ljg2NDQ0OTMsIDMyMDk4LCAxLjIwOTkzMDY1ODM0MDQ1NF0sIFsxNjYzNzU1Nzc4LjAxMDc3NDQsIDMyMTIwLCAxLjI1OTg0MzcwNzA4NDY1NThdLCBbMTY2Mzc1NTc3OC4xNjA5OTUyLCAzMjE0MiwgMS4xODM1ODM3MzY0MTk2Nzc3XSwgWzE2NjM3NTU3NzguMzA1ODEzNiwgMzIxNjQsIDEuMjc0MDYzNDY3OTc5NDMxMl0sIFsxNjYzNzU1Nzc4Ljc5NjYwMzQsIDMyMjA4LCAxLjI0OTUxODI3NTI2MDkyNTNdLCBbMTY2Mzc1NTc3OS45OTg3MTY0LCAzMjM2MiwgMS4xNzk5NDk3NjA0MzcwMTE3XSwgWzE2NjM3NTU3ODAuNjA4NDcxOSwgMzI0MjgsIDEuMjYzMTI4NTE5MDU4MjI3NV0sIFsxNjYzNzU1NzgwLjc0MzU4OTIsIDMyNDUwLCAxLjE3NjA1MTQ5NzQ1OTQxMTZdLCBbMTY2Mzc1NTc4MS4wMzE4NTMyLCAzMjQ5NCwgMS4xMjY5MTQ5NzgwMjczNDM4XSwgWzE2NjM3NTU3ODIuNDY0NzQ1LCAzMjY0OCwgMS4yMzM2NjQ2MzE4NDM1NjddLCBbMTY2Mzc1NTc4My4wMTUyMjYsIDMyNzM2LCAxLjE3OTg0MTc1NjgyMDY3ODddLCBbMTY2Mzc1NTc4My41MTEzNTk3LCAzMjc4MCwgMS41NjA5MDU4MTQxNzA4Mzc0XSwgWzE2NjM3NTU3ODMuNjUyNDc0MiwgMzI4MDIsIDEuMzY3NDA0MzQxNjk3NjkyOV0sIFsxNjYzNzU1Nzg0LjI2NDY3OCwgMzI4NjgsIDEuMjU3MjA4ODI0MTU3NzE0OF0sIFsxNjYzNzU1Nzg0LjU0OTQ0MywgMzI4OTAsIDEuMjMzNjU1NTcxOTM3NTYxXSwgWzE2NjM3NTU3ODUuNDgxNzIzMywgMzI5NzgsIDEuMjcyNjIxNzUwODMxNjA0XSwgWzE2NjM3NTU3ODUuNjI1NTAxNiwgMzMwMDAsIDEuMjExMjA5Mjk3MTgwMTc1OF0sIFsxNjYzNzU1Nzg1Ljc2ODc4NjQsIDMzMDIyLCAxLjE3Mzg1MTAxMzE4MzU5MzhdLCBbMTY2Mzc1NTc4Ni4wNDk0MzMyLCAzMzA2NiwgMS4xOTQ2NjY4NjI0ODc3OTNdLCBbMTY2Mzc1NTc4Ny4xOTg0OTc1LCAzMzIyMCwgMS4yMzU0NDQ3ODQxNjQ0Mjg3XSwgWzE2NjM3NTU3ODcuMzQwMjY0OCwgMzMyNDIsIDEuMzE4MTU4OTg0MTg0MjY1MV0sIFsxNjYzNzU1Nzg3LjQ4NDM4OSwgMzMyNjQsIDEuNDcxMDUwODU4NDk3NjE5Nl0sIFsxNjYzNzU1Nzg3LjkwNTQ5OSwgMzMzMDgsIDEuMzYyODE2NjkxMzk4NjIwNl0sIFsxNjYzNzU1Nzg4LjE4MjQ3NiwgMzMzNTIsIDEuMTgxMjY0MTYyMDYzNTk4Nl0sIFsxNjYzNzU1Nzg4LjMyNTI5OCwgMzMzNzQsIDEuMTg5NTIyOTgxNjQzNjc2OF0sIFsxNjYzNzU1Nzg5LjQ1MjUxMTgsIDMzNTI4LCAxLjE4MjM1MTgyNzYyMTQ2XSwgWzE2NjM3NTU3OTAuMjkxODY3LCAzMzYzOCwgMS4xNTc4MDQ5NjU5NzI5MDA0XSwgWzE2NjM3NTU3OTEuNDIzODYyNSwgMzM3NzAsIDEuNDQ0NzcyMzYyNzA5MDQ1NF0sIFsxNjYzNzU1NzkxLjg1MDI2NywgMzM4MzYsIDEuMTMxOTE5OTgwMDQ5MTMzM10sIFsxNjYzNzU1NzkxLjk4ODg3NSwgMzM4NTgsIDEuMzQyMjY1NDg2NzE3MjI0MV0sIFsxNjYzNzU1NzkyLjU0MTMzNTgsIDMzOTI0LCAxLjE4NDAwMzM1MzExODg5NjVdLCBbMTY2Mzc1NTc5My42NTQxNDc5LCAzNDA3OCwgMS4xNzkyMjA5MTQ4NDA2OTgyXSwgWzE2NjM3NTU3OTQuMjI5NDQ1MiwgMzQxNDQsIDEuMjM1NDgyMjE1ODgxMzQ3N10sIFsxNjYzNzU1Nzk0LjM4MTQwMTMsIDM0MTY2LCAxLjM4ODcyNzE4ODExMDM1MTZdLCBbMTY2Mzc1NTc5NC41MTM0MjA4LCAzNDE4OCwgMS4yNjM0ODM3NjI3NDEwODg5XSwgWzE2NjM3NTU3OTYuMDM1MjQyMywgMzQzODYsIDEuMTcxMDg3MTQ1ODA1MzU4OV0sIFsxNjYzNzU1Nzk2Ljc4NzAxNSwgMzQ0NTIsIDEuMTY2OTU0ODc0OTkyMzcwNl0sIFsxNjYzNzU1Nzk3LjAxMjczMzcsIDM0NDc0LCAxLjUxODM3MDk4NTk4NDgwMjJdLCBbMTY2Mzc1NTc5Ny40OTE5NTQzLCAzNDUxOCwgMS4yMzMwNTQzOTk0OTAzNTY0XSwgWzE2NjM3NTU3OTcuOTU2NjM2MiwgMzQ1NjIsIDEuMjQwMzk4NzY0NjEwMjkwNV0sIFsxNjYzNzU1Nzk4LjIyNjY1NywgMzQ1ODQsIDEuMjI0Nzc1NjcxOTU4OTIzM10sIFsxNjYzNzU1Nzk4LjQyOTE4MjgsIDM0NjA2LCAxLjQwODEyNzE4ODY4MjU1NjJdLCBbMTY2Mzc1NTc5OC41OTM3NTQ1LCAzNDYyOCwgMS4yMTE2MTM4OTM1MDg5MTExXSwgWzE2NjM3NTU3OTkuMDQ4NDYwNSwgMzQ2OTQsIDEuMzQ5NTkzNTIwMTY0NDg5N10sIFsxNjYzNzU1Nzk5LjM1MTk5NTcsIDM0NzM4LCAxLjI0MTM1MTYwNDQ2MTY3XSwgWzE2NjM3NTU3OTkuNjU1NjkwNywgMzQ3ODIsIDEuMTk1NTM0MzQ4NDg3ODU0XSwgWzE2NjM3NTU3OTkuODA1MTA5NSwgMzQ4MDQsIDEuMTc1MDAyNTc0OTIwNjU0M10sIFsxNjYzNzU1Nzk5Ljk1MDc0ODQsIDM0ODI2LCAxLjI3Nzc4MDY1MjA0NjIwMzZdLCBbMTY2Mzc1NTgwMC4zOTcyNjIzLCAzNDg5MiwgMS4xODcwNTE2NTM4NjE5OTk1XSwgWzE2NjM3NTU4MDEuMjM5NzQ0MiwgMzUwMDIsIDEuMTg4NzI5NTI0NjEyNDI2OF0sIFsxNjYzNzU1ODAyLjA4MjIzODcsIDM1MTEyLCAxLjM0NzAzNTA1MDM5MjE1MDldLCBbMTY2Mzc1NTgwMi4yMTc1Njc0LCAzNTEzNCwgMS4yNjU2MjU1OTYwNDY0NDc4XSwgWzE2NjM3NTU4MDIuMzcxNDk3OSwgMzUxNTYsIDEuMTQ2Njk2ODA1OTUzOTc5NV0sIFsxNjYzNzU1ODAzLjA3MTQ4MjcsIDM1MjQ0LCAxLjMwMDY5NzU2NTA3ODczNTRdLCBbMTY2Mzc1NTgwMy4yMDM3MTY1LCAzNTI2NiwgMS4yMTIxNTcyNDk0NTA2ODM2XSwgWzE2NjM3NTU4MDMuMzQ4NjA4MywgMzUyODgsIDEuNDA5NzEzNTA2Njk4NjA4NF0sIFsxNjYzNzU1ODA0Ljc0OTQ1NDMsIDM1NDY0LCAxLjIyNjI5ODkyODI2MDgwMzJdLCBbMTY2Mzc1NTgwNS4wMzQzNzYsIDM1NTA4LCAxLjE3NDcwOTU1ODQ4NjkzODVdLCBbMTY2Mzc1NTgwNS4zMDA3OTE3LCAzNTUzMCwgMS4xOTAwNjg5NjAxODk4MTkzXSwgWzE2NjM3NTU4MDUuNjA0MzM4NiwgMzU1NzQsIDEuMTkxOTY2ODkxMjg4NzU3M10sIFsxNjYzNzU1ODA2LjU2Mjk1NDIsIDM1NzA2LCAxLjMxOTAwMTE5NzgxNDk0MTRdLCBbMTY2Mzc1NTgwNi45ODQyMDM4LCAzNTc1MCwgMS4yNDg0MjYwNzk3NTAwNjFdLCBbMTY2Mzc1NTgwNy4yODUwNzExLCAzNTc5NCwgMS4xNzI0NTY1MDI5MTQ0Mjg3XSwgWzE2NjM3NTU4MDcuNDI5MTE4NiwgMzU4MTYsIDEuMjQxMzAyMDEzMzk3MjE2OF0sIFsxNjYzNzU1ODA4LjQzNzU5MDgsIDM1OTA0LCAxLjE1MTA0MjM0MjE4NTk3NDFdLCBbMTY2Mzc1NTgwOC45OTk4MjQ1LCAzNTk5MiwgMS4yMDkwMDQ4Nzg5OTc4MDI3XSwgWzE2NjM3NTU4MDkuMTQwMTUyLCAzNjAxNCwgMS4zMDYwMjIyODY0MTUxXSwgWzE2NjM3NTU4MDkuMjgyMTU0MywgMzYwMzYsIDEuMTc4OTUwNjY3MzgxMjg2Nl0sIFsxNjYzNzU1ODA5LjkwMTcwNjUsIDM2MTAyLCAxLjE0NjU1ODQwMzk2ODgxMV0sIFsxNjYzNzU1ODEwLjA0NjYwNiwgMzYxMjQsIDEuMjA4MDI2NzY2Nzc3MDM4Nl0sIFsxNjYzNzU1ODExLjAwMjY4LCAzNjIzNCwgMS4xODkyMjg2NTM5MDc3NzU5XSwgWzE2NjM3NTU4MTEuMTc0MTQ1MiwgMzYyNTYsIDEuMTYxMDM3NTY0Mjc3NjQ5XSwgWzE2NjM3NTU4MTEuNDgwODMyLCAzNjMwMCwgMS4zNTcwOTMyMTQ5ODg3MDg1XSwgWzE2NjM3NTU4MTEuODczNzcyNCwgMzYzNDQsIDEuMjEwMDYzMzM4Mjc5NzI0MV0sIFsxNjYzNzU1ODEyLjAxNjI2OTcsIDM2MzY2LCAxLjQ0MDU5NTI2OTIwMzE4Nl0sIFsxNjYzNzU1ODEyLjE2MTYyMSwgMzYzODgsIDEuMjg1ODI3ODc1MTM3MzI5XSwgWzE2NjM3NTU4MTIuMzA4MjQwNywgMzY0MTAsIDEuMjc5Mzk4MjAyODk2MTE4Ml0sIFsxNjYzNzU1ODEyLjcyOTczOTIsIDM2NDU0LCAxLjIyNDU1MzEwODIxNTMzMl0sIFsxNjYzNzU1ODEzLjAzMTk4NjUsIDM2NDk4LCAxLjMwODcxMjQ4MjQ1MjM5MjZdLCBbMTY2Mzc1NTgxNC4wOTgzODEsIDM2NTg2LCAxLjIwODk4OTk3NzgzNjYwODldLCBbMTY2Mzc1NTgxNC40ODk0MTUsIDM2NjMwLCAxLjMxOTA2MjQ3MTM4OTc3MDVdLCBbMTY2Mzc1NTgxNC45MjMwMSwgMzY2NzQsIDEuMjkxNzM0NDU3MDE1OTkxMl0sIFsxNjYzNzU1ODE1LjU0MjQ2MzMsIDM2NzQwLCAxLjM5OTU5OTU1MjE1NDU0MV0sIFsxNjYzNzU1ODE1LjY4MDM0NTUsIDM2NzYyLCAxLjE3Mzg3MDgwMTkyNTY1OTJdLCBbMTY2Mzc1NTgxNi4yNTY0NTQyLCAzNjg1MCwgMS4yOTgyNDA1NDI0MTE4MDQyXSwgWzE2NjM3NTU4MTYuNzE2NzE5OSwgMzY5MTYsIDEuMjg1NTg4OTc5NzIxMDY5M10sIFsxNjYzNzU1ODE2Ljk4NjQyODcsIDM2OTYwLCAxLjM2NjQ2MzY2MTE5Mzg0NzddLCBbMTY2Mzc1NTgxNy4zMzYyMjc0LCAzNjk4MiwgMS4xNzM0MDIwNzA5OTkxNDU1XSwgWzE2NjM3NTU4MTcuNjI5MTE1MywgMzcwMjYsIDEuMTMzMTM3ODIyMTUxMTg0XSwgWzE2NjM3NTU4MTguMjUzMjg3MywgMzcwOTIsIDEuMjgzNTE0MDIyODI3MTQ4NF0sIFsxNjYzNzU1ODE4LjQxMDQ5NywgMzcxMTQsIDEuMjUzMzk5MzcyMTAwODNdLCBbMTY2Mzc1NTgxOC41NDkyNjUxLCAzNzEzNiwgMS4yMDUwOTgzOTA1NzkyMjM2XSwgWzE2NjM3NTU4MTguNzAxMzkyLCAzNzE1OCwgMS4zMDA2Mjk5NzM0MTE1Nl0sIFsxNjYzNzU1ODE5LjY0MDY4OTEsIDM3MjY4LCAxLjE5NzQ5NDE0OTIwODA2ODhdLCBbMTY2Mzc1NTgxOS43ODM0OTY0LCAzNzI5MCwgMS4yNTA0NDIzODU2NzM1MjNdLCBbMTY2Mzc1NTgyMC4xMTQ2NjcsIDM3MzEyLCAxLjIyMjI5Njk1MzIwMTI5NF0sIFsxNjYzNzU1ODIwLjQ1Mjk3NTUsIDM3MzU2LCAxLjMxMzI3Nzk1OTgyMzYwODRdLCBbMTY2Mzc1NTgyMC45MTg4MjMyLCAzNzQwMCwgMS4xNjc2NjUxMjM5Mzk1MTQyXSwgWzE2NjM3NTU4MjEuMTYwODE0NSwgMzc0MjIsIDEuMjMxNDA1NzM1MDE1ODY5MV0sIFsxNjYzNzU1ODIxLjYwOTcwMDcsIDM3NDY2LCAxLjIxMzU1NTIxNjc4OTI0NTZdLCBbMTY2Mzc1NTgyMS44NzY2MzM0LCAzNzUxMCwgMS4yNjkzODIxMTkxNzg3NzJdLCBbMTY2Mzc1NTgyMi4zNjI0NTA0LCAzNzU3NiwgMS4yNTM3MTkzMjk4MzM5ODQ0XSwgWzE2NjM3NTU4MjIuNjcyMzQ0MiwgMzc2MjAsIDEuMzU4MDU3ODU2NTU5NzUzNF0sIFsxNjYzNzU1ODIyLjk1NTAxMzUsIDM3NjQyLCAxLjE5NDM2NjIxNjY1OTU0Nl0sIFsxNjYzNzU1ODIzLjIyMTI1OSwgMzc2NjQsIDEuMjYyODM0NjY4MTU5NDg0OV0sIFsxNjYzNzU1ODIzLjM4NjYxMjIsIDM3Njg2LCAxLjE5MTg4OTA0NzYyMjY4MDddLCBbMTY2Mzc1NTgyNC40Njk1MTI1LCAzNzgxOCwgMS4xODI0Mjk3OTA0OTY4MjYyXSwgWzE2NjM3NTU4MjQuNjk0NzYwNiwgMzc4NDAsIDEuMjExMTM4NDg2ODYyMTgyNl0sIFsxNjYzNzU1ODI1LjM5NzY2OTgsIDM3OTA2LCAxLjE4NzYyNDU3MzcwNzU4MDZdLCBbMTY2Mzc1NTgyNS42NTQ3NjI1LCAzNzkyOCwgMS4yNDA5OTUwNDk0NzY2MjM1XSwgWzE2NjM3NTU4MjUuODMzNDk1OSwgMzc5NTAsIDEuMzExNDY3NDA5MTMzOTExMV0sIFsxNjYzNzU1ODI1Ljk3NzI3MTMsIDM3OTcyLCAxLjE2NjkzOTQ5Njk5NDAxODZdLCBbMTY2Mzc1NTgyNi42ODQ0NTYzLCAzODA4MiwgMS4yOTI0NzAzMzU5NjAzODgyXSwgWzE2NjM3NTU4MjcuOTc0MTQ4NSwgMzgyNTgsIDEuMjI3ODc1MjMyNjk2NTMzMl0sIFsxNjYzNzU1ODI4LjIyODE1MzcsIDM4MjgwLCAxLjIxNDU1MDI1NjcyOTEyNl0sIFsxNjYzNzU1ODI4LjkxMTY1ODUsIDM4MzY4LCAxLjMxNjQ5MDY1MDE3NzAwMl0sIFsxNjYzNzU1ODI5LjMzMDI4NjcsIDM4NDEyLCAxLjE2ODcxMzIxMjAxMzI0NDZdLCBbMTY2Mzc1NTgyOS43MzY2MjUyLCAzODQ3OCwgMS4yNjk0OTg1ODY2NTQ2NjNdLCBbMTY2Mzc1NTgyOS44NzI2Njk1LCAzODUwMCwgMS4zMjMxNDU2Mjc5NzU0NjM5XSwgWzE2NjM3NTU4MzAuMTY3MDQyNywgMzg1MjIsIDEuMjMwMDYyOTYxNTc4MzY5MV0sIFsxNjYzNzU1ODMwLjI5ODM5MjgsIDM4NTQ0LCAxLjMwODI5NTQ4ODM1NzU0NF0sIFsxNjYzNzU1ODMwLjU2ODg4ODcsIDM4NTg4LCAxLjE3NzE0NzAzMDgzMDM4MzNdLCBbMTY2Mzc1NTgzMC43MTE5NTgyLCAzODYxMCwgMS4yNDkzNjE1MTUwNDUxNjZdLCBbMTY2Mzc1NTgzMS41MjA1MDA0LCAzODY3NiwgMS4yNDkyOTYzMDc1NjM3ODE3XSwgWzE2NjM3NTU4MzIuNjgwNDIxOCwgMzg3ODYsIDEuMTc2NzE0Nzc3OTQ2NDcyMl0sIFsxNjYzNzU1ODMyLjkwNDQzODMsIDM4ODA4LCAxLjIxNTQ0NzA2ODIxNDQxNjVdLCBbMTY2Mzc1NTgzMy4zMjgzMTM4LCAzODg1MiwgMS4zNTIzNDU1ODU4MjMwNTldLCBbMTY2Mzc1NTgzNC4wMTEzNzAyLCAzODkxOCwgMS4xNDUwODMxODkwMTA2MjAxXSwgWzE2NjM3NTU4MzUuMjA3NzI3MiwgMzkwNzIsIDEuMTk1MTY4NDk1MTc4MjIyN10sIFsxNjYzNzU1ODM1LjM3NDQ3ODgsIDM5MDk0LCAxLjE5NzU4MjcyMTcxMDIwNV0sIFsxNjYzNzU1ODM1LjUzNDcyMTYsIDM5MTE2LCAxLjI0NTkwOTkyOTI3NTUxMjddLCBbMTY2Mzc1NTgzNi4wMDE1MTA0LCAzOTE4MiwgMS4xNzIzNjU5MDM4NTQzNzAxXSwgWzE2NjM3NTU4MzYuNTk2Mzk4OCwgMzkyNzAsIDEuMjIyOTY0MDQ4Mzg1NjIwMV0sIFsxNjYzNzU1ODM2LjczMDI4MiwgMzkyOTIsIDEuMjE3ODgzNzA2MDkyODM0NV0sIFsxNjYzNzU1ODM3LjAyMjQ0NjksIDM5MzE0LCAxLjIyODk3MTI0MjkwNDY2M10sIFsxNjYzNzU1ODM3LjcxMDU0NiwgMzkzODAsIDEuMjg0MTAwNjUxNzQxMDI3OF0sIFsxNjYzNzU1ODM3Ljk2MDkxMSwgMzk0MDIsIDEuMTY0OTAzNjQwNzQ3MDcwM10sIFsxNjYzNzU1ODM4LjM5Njk0MDIsIDM5NDQ2LCAxLjE1NjUxNTEyMTQ1OTk2MV0sIFsxNjYzNzU1ODM4LjY4Mjg3MzIsIDM5NDkwLCAxLjE2NTcxNDM4MzEyNTMwNTJdLCBbMTY2Mzc1NTgzOC45Njc3Nzk2LCAzOTUzNCwgMS4zMTQ2NjgwNTkzNDkwNl0sIFsxNjYzNzU1ODM5Ljc0OTI1MTQsIDM5NjIyLCAxLjIxNDQyMjU4MzU4MDAxN10sIFsxNjYzNzU1ODQwLjIwOTM3OSwgMzk2NjYsIDEuMTY1MzQ1MTkxOTU1NTY2NF0sIFsxNjYzNzU1ODQwLjQ0MzcwNSwgMzk2ODgsIDEuNDE1ODQ3ODk3NTI5NjAyXSwgWzE2NjM3NTU4NDEuMjMzMTI1NywgMzk3OTgsIDEuMzAzMTIyOTk3MjgzOTM1NV0sIFsxNjYzNzU1ODQxLjU1MzAzMDcsIDM5ODQyLCAxLjE3MDExMDEwNjQ2ODIwMDddLCBbMTY2Mzc1NTg0Mi4xMzEyNjczLCAzOTkzMCwgMS4xODkwMjY0NzQ5NTI2OTc4XSwgWzE2NjM3NTU4NDIuODUxNDk2NSwgNDAwMTgsIDEuMTQ4MTkxNjkwNDQ0OTQ2M10sIFsxNjYzNzU1ODQyLjk5ODMxNDksIDQwMDQwLCAxLjI1MzgxMzUwNTE3MjcyOTVdLCBbMTY2Mzc1NTg0NC4wNDE1ODcsIDQwMTI4LCAxLjI5OTY2MDkyMTA5NjgwMThdLCBbMTY2Mzc1NTg0NC44MDQ5NDc0LCA0MDE5NCwgMS4xNzk5MjUyMDMzMjMzNjQzXSwgWzE2NjM3NTU4NDUuMDIxOTU2NCwgNDAyMTYsIDEuMjQwNjIyMDQzNjA5NjE5MV0sIFsxNjYzNzU1ODQ1LjQzMDc3MjgsIDQwMjYwLCAxLjMyNDY2MTQ5MzMwMTM5MTZdLCBbMTY2Mzc1NTg0NS41NzQyNTA3LCA0MDI4MiwgMS4xOTk4MDU4NTU3NTEwMzc2XSwgWzE2NjM3NTU4NDUuODUyNTQ0OCwgNDAzMjYsIDEuMTgxNjExNjU3MTQyNjM5Ml0sIFsxNjYzNzU1ODQ1Ljk4ODU0MDQsIDQwMzQ4LCAxLjE4MjU3MTE3MjcxNDIzMzRdLCBbMTY2Mzc1NTg0Ni4xNDE5NjM1LCA0MDM3MCwgMS4yMDczMzgwOTQ3MTEzMDM3XSwgWzE2NjM3NTU4NDYuNDUzOTUxNiwgNDA0MTQsIDEuMTc3ODIxMTU5MzYyNzkzXSwgWzE2NjM3NTU4NDYuNjAzMTQ5NCwgNDA0MzYsIDEuMjA1ODY1MDI1NTIwMzI0N10sIFsxNjYzNzU1ODQ2Ljc0MTI4NiwgNDA0NTgsIDEuMTk2ODc3ODM3MTgxMDkxM10sIFsxNjYzNzU1ODQ3LjcxMTQ2MTUsIDQwNTkwLCAxLjIwMTIyMzg1MDI1MDI0NDFdLCBbMTY2Mzc1NTg0Ny44NTYyNjU4LCA0MDYxMiwgMS4yNjE3NTg0NDY2OTM0MjA0XSwgWzE2NjM3NTU4NDguMTM2MTIxLCA0MDYzNCwgMS4xNTg5OTMyNDQxNzExNDI2XSwgWzE2NjM3NTU4NDguMzkxNDEwOCwgNDA2NTYsIDEuMzg4Mjk3NDM4NjIxNTIxXSwgWzE2NjM3NTU4NDguNTU5MjcyNSwgNDA2NzgsIDEuMjIzNzE2NDk3NDIxMjY0Nl0sIFsxNjYzNzU1ODQ5LjIzMzMyNTcsIDQwNzQ0LCAxLjI1OTY5Njk2MDQ0OTIxODhdLCBbMTY2Mzc1NTg0OS43MDIwNjI2LCA0MDc4OCwgMS4xNzU4MTU0NjMwNjYxMDFdLCBbMTY2Mzc1NTg1MS4wMTc0NTgyLCA0MDk0MiwgMS4zNjM0OTI0ODg4NjEwODRdLCBbMTY2Mzc1NTg1MS45MTQzNTM0LCA0MTAzMCwgMS4yOTEzMzA4MTQzNjE1NzIzXSwgWzE2NjM3NTU4NTIuMTIxNDMzMywgNDEwNTIsIDEuNTA1OTM0MzU3NjQzMTI3NF0sIFsxNjYzNzU1ODUyLjM1NzcwMDYsIDQxMDc0LCAxLjI3NjE1NjE4NzA1NzQ5NTFdLCBbMTY2Mzc1NTg1Mi41NjEzMjI3LCA0MTA5NiwgMS4yMDY3ODQxMjkxNDI3NjEyXSwgWzE2NjM3NTU4NTMuMTgyMzk2NywgNDExODQsIDEuMzM3NDM2MDc5OTc4OTQyOV0sIFsxNjYzNzU1ODUzLjMyMTg2MjcsIDQxMjA2LCAxLjIxNDg2ODMwNzExMzY0NzVdLCBbMTY2Mzc1NTg1My42MjkyMjE3LCA0MTI1MCwgMS4yMTMxNjU5OTg0NTg4NjIzXSwgWzE2NjM3NTU4NTMuNzgwMTIxLCA0MTI3MiwgMS40MTQzMzY0NDI5NDczODc3XSwgWzE2NjM3NTU4NTQuMDQ3NDc3NSwgNDEzMTYsIDEuMTcyNjg3MjkyMDk4OTk5XSwgWzE2NjM3NTU4NTQuNDY3Mzc2NywgNDEzODIsIDEuMzg4NjIyMTY0NzI2MjU3M10sIFsxNjYzNzU1ODU1LjAyNTUyMjcsIDQxNDQ4LCAxLjIyOTU0MjczMjIzODc2OTVdLCBbMTY2Mzc1NTg1NS4xOTg5MzM0LCA0MTQ3MCwgMS4zNDE3ODY4NjE0MTk2Nzc3XSwgWzE2NjM3NTU4NTUuNzA4MTUyOCwgNDE1MTQsIDEuMjMwNTU3NjgwMTMwMDA0OV0sIFsxNjYzNzU1ODU1Ljk5NTE1MDMsIDQxNTU4LCAxLjE2OTExODUyMzU5NzcxNzNdLCBbMTY2Mzc1NTg1Ni4yNzkzNzEsIDQxNjAyLCAxLjIwMzEzMjc0ODYwMzgyMDhdLCBbMTY2Mzc1NTg1Ny4xNzE2MjEzLCA0MTcxMiwgMS4yNjYyNDkyOTkwNDkzNzc0XSwgWzE2NjM3NTU4NTcuOTQ5MjY2LCA0MTgwMCwgMS4yMDcwODAzNjQyMjcyOTVdLCBbMTY2Mzc1NTg1OC42MDAyNjQ1LCA0MTg2NiwgMS4xOTI0Mzg2MDI0NDc1MDk4XSwgWzE2NjM3NTU4NTkuNDEyNzczMSwgNDE5NTQsIDEuMjEwOTY3NTQwNzQwOTY2OF0sIFsxNjYzNzU1ODU5LjcxOTA2MTYsIDQxOTk4LCAxLjE2MDQ0ODE5MzU1MDEwOTldLCBbMTY2Mzc1NTg1OS44NzE3OTU0LCA0MjAyMCwgMS4yNDY1MTExMDE3MjI3MTczXSwgWzE2NjM3NTU4NjAuMDEwNzkwMywgNDIwNDIsIDEuMjcwNzg0Mzc4MDUxNzU3OF0sIFsxNjYzNzU1ODYwLjU0ODEzNjcsIDQyMTA4LCAxLjE3ODIzMzk4MTEzMjUwNzNdLCBbMTY2Mzc1NTg2MS40NDc2NzUyLCA0MjIxOCwgMS4yMjgwNzg4NDIxNjMwODZdLCBbMTY2Mzc1NTg2Mi43NDAzOTI0LCA0MjM1MCwgMS4zMDI0NDE0Nzc3NzU1NzM3XSwgWzE2NjM3NTU4NjIuOTgwMjMzMiwgNDIzNzIsIDEuMTU2OTY2Njg2MjQ4Nzc5M10sIFsxNjYzNzU1ODYzLjIxNTMyNjUsIDQyMzk0LCAxLjMwNTE1ODM3NjY5MzcyNTZdLCBbMTY2Mzc1NTg2My44NjMzMjgyLCA0MjQ2MCwgMS4xNzg2NDU5Njg0MzcxOTQ4XSwgWzE2NjM3NTU4NjQuMzExMTYxMywgNDI1MjYsIDEuMTY0Mzg3NTgzNzMyNjA1XSwgWzE2NjM3NTU4NjQuNzczNDExMywgNDI1OTIsIDEuMjI4Mzk4Nzk5ODk2MjQwMl0sIFsxNjYzNzU1ODY0LjkxMzY3ODYsIDQyNjE0LCAxLjU5ODg5Mzg4MDg0NDExNjJdLCBbMTY2Mzc1NTg2NS40ODA5MjE1LCA0MjcwMiwgMS4xNjUyNDg4NzA4NDk2MDk0XSwgWzE2NjM3NTU4NjUuNjIwODY1OCwgNDI3MjQsIDEuMjg0Njg4NzExMTY2MzgxOF0sIFsxNjYzNzU1ODY1LjkzNTQ5OTIsIDQyNzQ2LCAxLjE4NjkwNjkzMzc4NDQ4NDldLCBbMTY2Mzc1NTg2Ni4zNzk2MjYsIDQyODEyLCAxLjIwNzkzODE5NDI3NDkwMjNdLCBbMTY2Mzc1NTg2Ni44MTgxMDYsIDQyODU2LCAxLjE1ODkwMjc2NDMyMDM3MzVdLCBbMTY2Mzc1NTg2Ny4yMjIxODEsIDQyOTIyLCAxLjIzOTY1MDYwNzEwOTA2OThdLCBbMTY2Mzc1NTg2Ny4zODI1Nzg2LCA0Mjk0NCwgMS4xNDc4MDQ3MzcwOTEwNjQ1XSwgWzE2NjM3NTU4NjcuODE4MzgwOCwgNDI5ODgsIDEuMTk1Nzk0MTA1NTI5Nzg1Ml0sIFsxNjYzNzU1ODY4LjIyODMwMTgsIDQzMDU0LCAxLjIwNTcwODYyMjkzMjQzNF0sIFsxNjYzNzU1ODY4LjkzOTYzNjUsIDQzMTQyLCAxLjE4Mzk4NjkwMjIzNjkzODVdLCBbMTY2Mzc1NTg2OS4wNzk4ODIxLCA0MzE2NCwgMS42MzA1MDc0NjkxNzcyNDZdLCBbMTY2Mzc1NTg2OS4zNzcyMDUsIDQzMTg2LCAxLjMyNjEyMTQ0OTQ3MDUyXSwgWzE2NjM3NTU4NjkuNTIwNjYxNCwgNDMyMDgsIDEuMjA2MTU3OTIyNzQ0NzUxXSwgWzE2NjM3NTU4NjkuNjcxODYxMiwgNDMyMzAsIDEuMTU2NzkxNjg3MDExNzE4OF0sIFsxNjYzNzU1ODY5Ljk0NjU5OTcsIDQzMjc0LCAxLjE4MjUzNTI5MDcxODA3ODZdLCBbMTY2Mzc1NTg3MC4yMzU4MzYzLCA0MzI5NiwgMS4xOTY0ODg4NTcyNjkyODddLCBbMTY2Mzc1NTg3MC4zNzc3MDYzLCA0MzMxOCwgMS4xODMxOTI2MTA3NDA2NjE2XSwgWzE2NjM3NTU4NzAuNTE1ODEyLCA0MzM0MCwgMS4zMjIxOTA4ODA3NzU0NTE3XSwgWzE2NjM3NTU4NzEuNzExNjA0LCA0MzQ3MiwgMS4yNzU2Nzc0NDI1NTA2NTkyXSwgWzE2NjM3NTU4NzIuMDY3MDE5NywgNDM1MTYsIDEuMTc5ODA3NjYyOTYzODY3Ml0sIFsxNjYzNzU1ODcyLjM2MzQ1MDMsIDQzNTYwLCAxLjIwMTE1ODI4NTE0MDk5MTJdLCBbMTY2Mzc1NTg3Mi41MTI4ODk0LCA0MzU4MiwgMS4xNjI0NDAwNjE1NjkyMTM5XSwgWzE2NjM3NTU4NzIuNjc1NzQ2MiwgNDM2MDQsIDEuMTcxNTQwOTc1NTcwNjc4N10sIFsxNjYzNzU1ODczLjA3NzI2NjcsIDQzNjI2LCAxLjIxODkyNDI4Mzk4MTMyMzJdLCBbMTY2Mzc1NTg3My4zNDExNTU4LCA0MzY0OCwgMS4xNjA0MDcwNjYzNDUyMTQ4XSwgWzE2NjM3NTU4NzMuNjgyNjk1LCA0MzY5MiwgMS4yNTI3OTM5MDgxMTkyMDE3XSwgWzE2NjM3NTU4NzMuOTcwODkzNCwgNDM3MzYsIDEuMTY5NTMwMzkxNjkzMTE1Ml0sIFsxNjYzNzU1ODc0LjExNTMyMSwgNDM3NTgsIDEuMTkwNjM0MTMxNDMxNTc5Nl0sIFsxNjYzNzU1ODc0LjcwNjkxNSwgNDM4MjQsIDEuMTU0MDE0OTQ1MDMwMjEyNF0sIFsxNjYzNzU1ODc0Ljk5OTMzMzksIDQzODQ2LCAxLjE1ODMyMDE4ODUyMjMzODldLCBbMTY2Mzc1NTg3NS40NTYzMDY1LCA0MzkxMiwgMS4yNDIwMTg0NjEyMjc0MTddLCBbMTY2Mzc1NTg3Ni45OTgwNjYyLCA0NDA2NiwgMS4yODY1ODE1MTYyNjU4NjkxXSwgWzE2NjM3NTU4NzkuMTcwNDA3NSwgNDQzNzQsIDEuMjg3OTY0MzQ0MDI0NjU4Ml0sIFsxNjYzNzU1ODc5LjQzNTA2MDMsIDQ0Mzk2LCAxLjM2NTU2NzkyMjU5MjE2M10sIFsxNjYzNzU1ODgwLjAwOTM4OTksIDQ0NDg0LCAxLjI1MTk2ODUwMjk5ODM1Ml0sIFsxNjYzNzU1ODgwLjI3ODA4NywgNDQ1MDYsIDEuMjE1NzY1MzU3MDE3NTE3XSwgWzE2NjM3NTU4ODAuNDIwOTQ2OCwgNDQ1MjgsIDEuMTcwODI4MzQyNDM3NzQ0MV0sIFsxNjYzNzU1ODgwLjY5OTQxMjgsIDQ0NTcyLCAxLjI3ODE3MDU4NTYzMjMyNDJdLCBbMTY2Mzc1NTg4MC44NDI5MjU4LCA0NDU5NCwgMS4yMDAzNTMyNjQ4MDg2NTQ4XSwgWzE2NjM3NTU4ODEuMzU3NTc2NiwgNDQ2MzgsIDEuNzk2NzE1MTQwMzQyNzEyNF0sIFsxNjYzNzU1ODgxLjc5NTMwMTIsIDQ0NzA0LCAxLjMxMzEwNTIyNTU2MzA0OTNdLCBbMTY2Mzc1NTg4Mi4wOTM5NSwgNDQ3MjYsIDEuMjczMTgwNzIzMTkwMzA3Nl0sIFsxNjYzNzU1ODgyLjU2NjQzNDEsIDQ0NzcwLCAxLjM3NzEzODg1MzA3MzEyMDFdLCBbMTY2Mzc1NTg4Mi44MTA4MDIyLCA0NDc5MiwgMS4xNTM2Nzc0NjM1MzE0OTQxXSwgWzE2NjM3NTU4ODMuMDI4MjY4NiwgNDQ4MTQsIDEuMzczMzAwNTUyMzY4MTY0XSwgWzE2NjM3NTU4ODMuOTc1OTY3MiwgNDQ5MDIsIDEuMjEwMzA5MDI4NjI1NDg4M10sIFsxNjYzNzU1ODg0LjIwMDk1MjUsIDQ0OTI0LCAxLjMwOTQwNzk0OTQ0NzYzMThdLCBbMTY2Mzc1NTg4NC42MjU4NTcsIDQ0OTY4LCAxLjE1NjAyODg2Njc2Nzg4MzNdLCBbMTY2Mzc1NTg4NC44MjQwOTA1LCA0NDk5MCwgMS4yMDA2NTU1Nzk1NjY5NTU2XSwgWzE2NjM3NTU4ODUuMjc3MzgzLCA0NTA1NiwgMS4xNjA5NjExNTExMjMwNDY5XSwgWzE2NjM3NTU4ODUuNDM4MTgyLCA0NTA3OCwgMS4xNzU1ODMwMDQ5NTE0NzddLCBbMTY2Mzc1NTg4NS41ODAwOTA1LCA0NTEwMCwgMS4xNTI2MTQ3MTI3MTUxNDldLCBbMTY2Mzc1NTg4Ni42MjIxMzI4LCA0NTIxMCwgMS4yMzc2MTkwNDIzOTY1NDU0XSwgWzE2NjM3NTU4ODYuNzY4NjUxLCA0NTIzMiwgMS4yMDY5NzIxMjIxOTIzODI4XSwgWzE2NjM3NTU4ODcuMDE2MDksIDQ1MjU0LCAxLjI0Mjc3MDE5NTAwNzMyNDJdLCBbMTY2Mzc1NTg4Ny4yODY5NTQ2LCA0NTI3NiwgMS4xNjgzNjcyNjY2NTQ5NjgzXSwgWzE2NjM3NTU4ODkuMjA5MzczNSwgNDU0OTYsIDEuMjQwODk2NDYzMzk0MTY1XSwgWzE2NjM3NTU4ODkuMzg1NDEwMywgNDU1MTgsIDEuMjczMDI4MjU0NTA4OTcyMl0sIFsxNjYzNzU1ODg5LjgyMTI5MDMsIDQ1NTYyLCAxLjI5MjMyMDcyODMwMjAwMl0sIFsxNjYzNzU1ODkwLjcyOTcwODQsIDQ1NjUwLCAxLjE0MDQ0MzA4NjYyNDE0NTVdLCBbMTY2Mzc1NTg5MS41NTY0OTE0LCA0NTczOCwgMS4xMzkyNTcwNzM0MDI0MDQ4XSwgWzE2NjM3NTU4OTEuNzY3MzIwMiwgNDU3NjAsIDEuMzI2NDIzMDQ4OTczMDgzNV0sIFsxNjYzNzU1ODkyLjcxMTU0NCwgNDU4NzAsIDEuMTQ3MjYwMzA4MjY1Njg2XSwgWzE2NjM3NTU4OTMuMDcyMjI5LCA0NTkxNCwgMS4xNTk5Mjc0ODczNzMzNTJdLCBbMTY2Mzc1NTg5My4yOTMyOTk3LCA0NTkzNiwgMS4yNTY4NDI3MzI0Mjk1MDQ0XSwgWzE2NjM3NTU4OTMuNjQ4NjI5MiwgNDU5ODAsIDEuMTg3NTQ5MTE0MjI3Mjk1XSwgWzE2NjM3NTU4OTMuOTAwNTM0OSwgNDYwMDIsIDEuMTYyNzIyOTQ1MjEzMzE3OV0sIFsxNjYzNzU1ODk0LjEyNzEyOSwgNDYwMjQsIDEuMTQwODM4MDI3MDAwNDI3Ml0sIFsxNjYzNzU1ODk0LjkwOTUwNTEsIDQ2MTEyLCAxLjMxMTA3NDYxNDUyNDg0MTNdLCBbMTY2Mzc1NTg5NS4xMjMwMzM1LCA0NjEzNCwgMS4yMTE0NTQ2Mjk4OTgwNzEzXSwgWzE2NjM3NTU4OTUuMzI1NDEwNCwgNDYxNTYsIDEuMTQ0MjE3MzcxOTQwNjEyOF0sIFsxNjYzNzU1ODk1LjU1MDg4NzMsIDQ2MTc4LCAxLjE1NjI0ODA5MjY1MTM2NzJdLCBbMTY2Mzc1NTg5Ni4wMTIwMDQ2LCA0NjIyMiwgMS4zMTAxNTM5NjExODE2NDA2XSwgWzE2NjM3NTU4OTYuNjM1MjUxLCA0NjI4OCwgMS4xNTcyNjM4NzUwMDc2Mjk0XSwgWzE2NjM3NTU4OTYuODQ1NTg1LCA0NjMxMCwgMS4yNjk4NzMwMjMwMzMxNDJdLCBbMTY2Mzc1NTg5Ny4wMzM2MTMyLCA0NjMzMiwgMS4yMzgyOTI0NTU2NzMyMTc4XSwgWzE2NjM3NTU4OTcuMjIyMTAxNCwgNDYzNTQsIDEuMjQyNDMwMzI5MzIyODE1XSwgWzE2NjM3NTU4OTcuODg3OTAwNCwgNDY0MjAsIDEuMjIwMDkyNjU0MjI4MjEwNF0sIFsxNjYzNzU1ODk4LjEwNjUyODgsIDQ2NDQyLCAxLjM2NTc4NDY0NTA4MDU2NjRdLCBbMTY2Mzc1NTg5OC45NDk0MzU1LCA0NjUzMCwgMS4yODE1NTc5MTc1OTQ5MDk3XSwgWzE2NjM3NTU4OTkuMTYwNzcwNywgNDY1NTIsIDEuMTU3NDYwNDUxMTI2MDk4Nl0sIFsxNjYzNzU1ODk5Ljg0OTIyMTIsIDQ2NjQwLCAxLjI4MjI4OTYyNDIxNDE3MjRdLCBbMTY2Mzc1NTg5OS45OTI0MzMsIDQ2NjYyLCAxLjIzNjQ1MTg2NDI0MjU1MzddLCBbMTY2Mzc1NTkwMC4zMDExODI3LCA0NjcwNiwgMS4xODkyNjkzMDQyNzU1MTI3XSwgWzE2NjM3NTU5MDAuNDM5NjcxLCA0NjcyOCwgMS4zODUyNTAyMTA3NjIwMjRdLCBbMTY2Mzc1NTkwMC41ODU1NDU1LCA0Njc1MCwgMS4zNDQzMjI1NjIyMTc3MTI0XSwgWzE2NjM3NTU5MDAuODY1MTkzMSwgNDY3OTQsIDEuMTY2ODM3NDUzODQyMTYzXSwgWzE2NjM3NTU5MDEuMDEzMDk3NSwgNDY4MTYsIDEuMzQ4MDU3MDMxNjMxNDY5N10sIFsxNjYzNzU1OTAyLjMzOTEzNjgsIDQ2OTcwLCAxLjI1ODU4MDQ0NjI0MzI4NjFdLCBbMTY2Mzc1NTkwMi40OTIyOTUsIDQ2OTkyLCAxLjMyNjE0NTY0ODk1NjI5ODhdLCBbMTY2Mzc1NTkwMi42MzM4Mzk4LCA0NzAxNCwgMS4yMjc1NjYxMjMwMDg3MjhdLCBbMTY2Mzc1NTkwMy4yNDQ2NjEzLCA0NzA4MCwgMS4yMTQ2NjE5NTU4MzM0MzVdLCBbMTY2Mzc1NTkwNC4xMjAyMTAyLCA0NzE2OCwgMS4yNDY1MzI5MTcwMjI3MDVdLCBbMTY2Mzc1NTkwNS4xMTM4NDczLCA0NzMwMCwgMS4yMTcwNzM0NDA1NTE3NTc4XSwgWzE2NjM3NTU5MDUuMjU5NjE2NCwgNDczMjIsIDEuMTk5NzEzMTEwOTIzNzY3XSwgWzE2NjM3NTU5MDYuMDAxOTQ3LCA0NzQxMCwgMS4xODc3OTU1MTk4Mjg3OTY0XSwgWzE2NjM3NTU5MDYuMTM5NjYzMiwgNDc0MzIsIDEuMTgyNjI2MDA4OTg3NDI2OF0sIFsxNjYzNzU1OTA2Ljg1OTQxODIsIDQ3NTIwLCAxLjI5NjAwNTk2NDI3OTE3NDhdLCBbMTY2Mzc1NTkwNi45OTkwNzY2LCA0NzU0MiwgMS4xNzEzMzEyODY0MzAzNTg5XSwgWzE2NjM3NTU5MDcuMTMwMDM1NCwgNDc1NjQsIDEuMTk0ODI2NjAyOTM1NzkxXSwgWzE2NjM3NTU5MDcuMjc3Nzk4MiwgNDc1ODYsIDEuMTY3MjQ2MjIyNDk2MDMyN10sIFsxNjYzNzU1OTA4LjUzNTI3MTQsIDQ3NzQwLCAxLjI2MDA1MjQ0MjU1MDY1OTJdLCBbMTY2Mzc1NTkwOS4yNzczNzIxLCA0NzgyOCwgMS4yNTYxNjg0ODQ2ODc4MDUyXSwgWzE2NjM3NTU5MDkuNzgyNDQyLCA0Nzg3MiwgMS4yMTgzMDQ2MzQwOTQyMzgzXSwgWzE2NjM3NTU5MTAuMDA0ODY5NywgNDc4OTQsIDEuMjMyNDAyMDg2MjU3OTM0Nl0sIFsxNjYzNzU1OTExLjYxMjYzMjgsIDQ4MDQ4LCAxLjI1MTQ1MDg5NjI2MzEyMjZdLCBbMTY2Mzc1NTkxMS45OTQzNTgzLCA0ODA5MiwgMS4yMzM0NzMwNjI1MTUyNTg4XSwgWzE2NjM3NTU5MTIuMjY5ODcxNywgNDgxMzYsIDEuMjUzOTkxMDA3ODA0ODcwNl0sIFsxNjYzNzU1OTEyLjYxOTI2MjcsIDQ4MTgwLCAxLjM0MTQzNzU3ODIwMTI5NF0sIFsxNjYzNzU1OTEzLjM1MzQzMzYsIDQ4MjkwLCAxLjIzNjQzNzkxNjc1NTY3NjNdLCBbMTY2Mzc1NTkxNC40NTU3NDcxLCA0ODQwMCwgMS4yMzU1NjE2MDkyNjgxODg1XSwgWzE2NjM3NTU5MTQuOTUxNDY0NywgNDg0NDQsIDEuMjAzNjA4NzUxMjk2OTk3XSwgWzE2NjM3NTU5MTUuMTk1ODM0LCA0ODQ2NiwgMS4xOTkwNjIxMDg5OTM1MzAzXSwgWzE2NjM3NTU5MTUuMzkzODEzMSwgNDg0ODgsIDEuMjcxNjQzNzU3ODIwMTI5NF0sIFsxNjYzNzU1OTE2LjAzNTYzNSwgNDg1NTQsIDEuMjA0NDQxNzg1ODEyMzc4XSwgWzE2NjM3NTU5MTYuNzAzMDcyMywgNDg2MjAsIDEuMjI5NzU5NDU0NzI3MTcyOV0sIFsxNjYzNzU1OTE3LjAzMDc0LCA0ODY2NCwgMS4xNTExNjk3NzY5MTY1MDRdLCBbMTY2Mzc1NTkxNy4yMDA1OCwgNDg2ODYsIDEuMTYyMDEyODE1NDc1NDYzOV0sIFsxNjYzNzU1OTE3LjUyNjQwNSwgNDg3MzAsIDEuMjQyOTY5MzkzNzMwMTYzNl0sIFsxNjYzNzU1OTE3LjY2MDE0MywgNDg3NTIsIDEuMjI4MTEzNjUxMjc1NjM0OF0sIFsxNjYzNzU1OTE3Ljc4NTg5NjUsIDQ4Nzc0LCAxLjEzODQ0MTA4NTgxNTQyOTddLCBbMTY2Mzc1NTkxOC41MDQzODMzLCA0ODg4NCwgMS4xODk3NzU1ODYxMjgyMzQ5XSwgWzE2NjM3NTU5MTguNjQzODY3MywgNDg5MDYsIDEuMTkzOTI1ODU3NTQzOTQ1M10sIFsxNjYzNzU1OTE4Ljc3NjYwNDQsIDQ4OTI4LCAxLjI2MzcwMTQzODkwMzgwODZdLCBbMTY2Mzc1NTkxOS4zMjQyODY1LCA0ODk3MiwgMS4yMTk5ODM2OTY5Mzc1NjFdLCBbMTY2Mzc1NTkxOS44MTQ2MDUyLCA0OTAxNiwgMS4xNzE4MzMxNTc1MzkzNjc3XSwgWzE2NjM3NTU5MjEuMTUzNDMzMywgNDkxNDgsIDEuMTU4MTU2NzUyNTg2MzY0N10sIFsxNjYzNzU1OTIxLjY2Mzk1LCA0OTIxNCwgMS4xNjYwOTM3MDcwODQ2NTU4XSwgWzE2NjM3NTU5MjIuMDg3MTQwMywgNDkyODAsIDEuMjU1NjU1NjQ2MzI0MTU3N10sIFsxNjYzNzU1OTIyLjU5NjY4MTgsIDQ5MzQ2LCAxLjE5MjgwOTU4MTc1NjU5MThdLCBbMTY2Mzc1NTkyMi45Mzk4OTMyLCA0OTM5MCwgMS4xOTI1MjQzMTM5MjY2OTY4XSwgWzE2NjM3NTU5MjMuMzc0NjYyNiwgNDk0NTYsIDEuMjU0MzgyMzcxOTAyNDY1OF0sIFsxNjYzNzU1OTI0Ljc2MjY4MDUsIDQ5NjEwLCAxLjE0NzA2Nzc4NTI2MzA2MTVdLCBbMTY2Mzc1NTkyNS4yNTI3ODYsIDQ5Njc2LCAxLjIzNjE1MzM2NDE4MTUxODZdLCBbMTY2Mzc1NTkyNS40MTM0ODc3LCA0OTY5OCwgMS4yNjIzMjgwMjg2Nzg4OTRdLCBbMTY2Mzc1NTkyNi42MTAzMTMyLCA0OTgzMCwgMS4yMDYwMDk2MjYzODg1NDk4XSwgWzE2NjM3NTU5MjYuOTEzODQ2NywgNDk4NzQsIDEuMTk5OTQwNTYyMjQ4MjNdLCBbMTY2Mzc1NTkyNy4wNTA2NzYsIDQ5ODk2LCAxLjE4OTE3MDgzNzQwMjM0MzhdLCBbMTY2Mzc1NTkyOC4zNTkyNTc1LCA1MDA1MCwgMS4yNjMxODkzMTU3OTU4OTg0XSwgWzE2NjM3NTU5MjguNjQ1NTg2LCA1MDA5NCwgMS4yNjI2ODgzOTgzNjEyMDZdLCBbMTY2Mzc1NTkyOS40ODEyNjQ2LCA1MDE4MiwgMS4zNDY0MTM2MTIzNjU3MjI3XSwgWzE2NjM3NTU5MjkuNjM2MzMwOCwgNTAyMDQsIDEuMjczMDc0MTUwMDg1NDQ5Ml0sIFsxNjYzNzU1OTMwLjE4MDU4OTcsIDUwMjcwLCAxLjE5MTUxNzQ3MjI2NzE1MDldLCBbMTY2Mzc1NTkzMC4zMTczNDMsIDUwMjkyLCAxLjE2MjE5NzM1MTQ1NTY4ODVdLCBbMTY2Mzc1NTkzMS42MTcwMjcsIDUwNDI0LCAxLjE5NDEzMzQwMDkxNzA1MzJdLCBbMTY2Mzc1NTkzMS44NDQzMjU1LCA1MDQ0NiwgMS4yMzYwOTg0MDg2OTkwMzU2XSwgWzE2NjM3NTU5MzIuMDY3MjA2MSwgNTA0NjgsIDEuMjM0MTExNzg1ODg4NjcxOV0sIFsxNjYzNzU1OTMzLjE4ODI2NTYsIDUwNjIyLCAxLjM5Mzk1NDUxNTQ1NzE1MzNdLCBbMTY2Mzc1NTkzNC4xMDMxOTExLCA1MDczMiwgMS4yMTc5NTE2NTUzODc4Nzg0XSwgWzE2NjM3NTU5MzQuMjY5OTkxMiwgNTA3NTQsIDEuMTQ5NzE0MzUwNzAwMzc4NF0sIFsxNjYzNzU1OTM0LjQ5NDYyOTksIDUwNzc2LCAxLjI1NTEwODgzMzMxMjk4ODNdLCBbMTY2Mzc1NTkzNC43OTIwOTc2LCA1MDgyMCwgMS4xNTg4ODY5MDk0ODQ4NjMzXSwgWzE2NjM3NTU5MzUuMTUzNTM2OCwgNTA4NjQsIDEuMTcyNTcyNDkzNTUzMTYxNl0sIFsxNjYzNzU1OTM1Ljg3Mzk5OSwgNTA5NTIsIDEuMTg0OTYzODIyMzY0ODA3MV0sIFsxNjYzNzU1OTM2LjAzNTE1NDYsIDUwOTc0LCAxLjIyOTA5NzI0NzEyMzcxODNdLCBbMTY2Mzc1NTkzNi44MTQ2MjIyLCA1MTA0MCwgMS4xNzg3MDA5MjM5MTk2Nzc3XSwgWzE2NjM3NTU5MzcuODQzNDg2LCA1MTE1MCwgMS4yMjk2NDkxODYxMzQzMzg0XSwgWzE2NjM3NTU5MzguNzEyODMxNSwgNTEyODIsIDEuMjIwMDc0NjUzNjI1NDg4M10sIFsxNjYzNzU1OTM4Ljk5MTM5OTgsIDUxMzI2LCAxLjEzNDcyMTM5ODM1MzU3NjddLCBbMTY2Mzc1NTkzOS42MzU4OTcyLCA1MTM5MiwgMS4yMjM0NzQ1MDI1NjM0NzY2XSwgWzE2NjM3NTU5NDAuNTczOTExNywgNTE1MDIsIDEuMTQ5MjMyNjI1OTYxMzAzN10sIFsxNjYzNzU1OTQwLjg3MjUyMzUsIDUxNTQ2LCAxLjE0MDQzMDMzMTIzMDE2MzZdLCBbMTY2Mzc1NTk0MS4wMTIwODM1LCA1MTU2OCwgMS4yNDAyNzU4NTk4MzI3NjM3XSwgWzE2NjM3NTU5NDEuMTUwMTM0OCwgNTE1OTAsIDEuMjg0MTE2OTgzNDEzNjk2M11d","ok":true,"headers":[["content-type","application/json"]],"status":200,"status_text":""},"https://localhost:6006/font-roboto/d-6IYplOFocCacKzxwXSOJBw1xU1rKptJj_0jans920.woff2":{"data":"d09GMgABAAAAACoMAA4AAAAAUsQAACm2AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGmQbmXocg0oGYACGTBEMCu5A1nULg14AATYCJAOHNgQgBYJ+ByAbIkSzoqzwsjiKkj2aj6JicZf9lwnmGDrzUL5ooaWgICnvqxcvLU1UUm052dq0PPEbkDL7t7A4c3dKponrEu8IjX2Sy0PoX9DLJNk9AHsAO6uC0MkqVZH48wM/t95fEVEDtBGpESMixmDAqNgYMLpGpmSIhFWEFSiIoIiFRIli3p2nHuksZyTDeXbXshPuAKlMlW53Zbg7HZue7/8N06wSlnxFE+rSAhYVkmR44D5FCo4yXQlcOX/hZsHaQuZYMcQ8fkufGldr+uACwqKNzkSGPbR7G1BVUZ3KOl0lGRYOQuDT2zTbfVpvBF5fojuuchvk6YE73cxV6dJS//W/1qu/X2vQGiTZDshHKx3JCpgmIwjIGl8FXKUCLIGkY12AuaMOqUzRXNWnLQmqS1HWqdIFnu/vG79/2raDcUAPMPAMtn38TkB/ouZjIAEmGGgThZmsWZkYwdIwtsYh6+N7ZqYra0NPaN1poDFKzhjB6Ep9/G4ZTnWidqQaNBB6+Y1RoPACsDkUTvsZQJjzgUiWDJEtGyJXLgQLC6JIEUSJMohOPVAu+QiBQAHTADNAgAKRDAGmosIAZt317VxBcvfkGAZI7h0THA6SB/jHRYIkDOBDaNj+e8ZEAjtwbBhGLXC2MFFLe6nWKwp1sS6WQ4VY39XdhkP/X4wChWLH4FC8KPFQDqMIiLjGjWJFabOIvvgn/jQ7N9ClKlWDRqlUq8XUxVp68cWGQ7/D+N36//YNN54bY0H9DUgUJtSPLQYOF25C9jvokMOOOE6FOg0EmrQR6dJnwJA1G3YcOXNB4obCkxdvvmrUqtfgksuuuOqa68ZNmDTlhpvue+ChRx6bteiVJa8t+2DFqjXrdnyE0M5bMIiE6TpAn6hZohBCyQ4q+IddgvVd259GlFOFNmHm+YZlbrMiWMMWJJCru+Uaj9zimRu8ySnLbXUJGnkTtMtp5Aqu4hquY1x71htzeI55LOCF9rJti3iFJbzGB6xgFWtY1zbasoktbGs7bfiYRnjlVP+hPoJCwSt7WIClnW8Rc4Vu7tDP12bBMR5M8483PCX8SrDD5C1uOcErZ0QkQ1pGyk5TrDylKDth8BBmTIBbLvMnBPCBG9uCt+WBq3CUc5cOYxpP8BQzexSGw49L58kUZJkbrABr2IJMeXnZ7NTgV8uoR4P2sg2LeIUlvK6OqM1GXCxzhxXBGrYgowwvsYhXWMLrdWPYEEahxosAu8OGlMtrXNyHhK8kWMUa1veMxZ95BFGHRjTRCLGDHexgBzsEexZimY2sYA1bh5RM5GSge4rzwqVs5y8Zi3iFJbzWPsS0glWsYV0g5P5oijmKkp9O3nw7kCfXGOc3/jcHxSZ3fc4WRHYgzYszl8Xt4s0nAnMbv+OWL1BmKuw9jcgRaflYdnZg5ZSinHQinwkpJtdyISq/Exs8UN0JBvTnxrwgTdysfiY754dWTK8Zted21jPU8/6ErTbDLJtDyepp3/I79jzdpwqjW9NkvFDxcrFn8ct7uyI/Nw20ef7NquSYG/mY2X3qX1lrwCxM5fcKo/9ELfnuZQg72j1T/muh/JezBlNxFtf0x58eYNG3oste6z3I1ae4pvIFyU8FzkQfejHes5fRm2qnDgIE807LfcaTOpsEUuLOw/wOZH8rylWi04VRGvkSdfjzXLcqGTZ0Ft8w4B8+d+iZ6+vzC6o0sWYSH/HEcH5jFetUsY0j935Npssg79F/4F6kHQmLa1Ms9Va9TLCHGVYlSVrgX3FCh77jG/+4Jd/AaEir86/WBqxJDUpC15D5baQ+bKJ1eAepuz3VUvN2vN56JxY2PSZ7AvMVJjZbZ/Wx571F+emsX0bLt4pUr261+xXWRibmZHFmW+n8uPjvZqdsHgYZaJrhAxFfgsQCHC4IflcVRfA32n6HYSjRwEGbwf3enCUJ1lCaXS7DmStZbirwzBVR+dinOD+oRqNDmr4ru+S145atI/8AunlBIbSLGGJIJak5i3JACQcVcEjEYbGU5XRcLiqKUhehoTBteejIiagkXcXpyU9fbgbyMRfHQjaWR5G4utgTpnSBQYJorrJxU4inHKgK8paDj7yKT2w/DkNMHU5SPxJDTCOU0qSUSznisnEoE/8JmHQT1n2PIabN4DRLObdnXsB5mYtY9Bq75SrGB+vQ4jU5EEAghAngKCphl/AJZwLlKIuirBh1UQiiaB15BevihAMRhOCDC/6lVKU1hC2fEJFAgwk0MkS4y81DLM9ndsFgDx65EKVUlLIqoko1UQkRQBgBhEPYRZxEAe6EEg8UHHAltutriGyg55hs2Ia9sP/pma3UcvNIgV4p7wPbWtuZ49ms4+I6jtZ3MR7rbeZo5+bGbm7taB/butgGVl5gXjGwzjQ6od7j9jgoKgIO/FOeB1A6gBbqD5oWvarVQfERMeBEXNJTXfov3YSsODZL10PI5bawcHipoWJqco0AdmG0Fahzlbqh2bDXCVXlnj+0tNzjd9JFoCEQNgJSIKK4OEEIjqMBwZ4QEBpHObSmwc1GiBZw3z09nPr16TVg0ElDThk+b/Qg+WyPShErzpjTzjjrnPNQEMJkgNr64xos6Fd0dVDm386rLwuJ+xGaHfI4sBiwjhfOBls4WgIeLDgTDv4A7DVuCsBDrgW0NfsYPDw0GIp54gptJc57XPaBKXbA6vAwxIFpZegI/5mdcMcTaz75i6gWUtyJxViaCOMl8bJ4BfwBPBFvhj8Cf9eCM/39C7yAR2e1EZPuemrdZ1JcdhbCi+OlD61TG8kfuUI0b+DMKZD/KL48Ms+I/9/7//zvc+8ypk6ZOG5Aj0fefn1zjikFLImVsdORlv+39+LZLrn3l/f7z5Fr2hNPzZiVJ98zc56bt+AFloK/wve6UJENm7Zs21HsI25A+fEeyGIo1rRLVExwDJpyHe7F9bgLuyt34z7cgwdxMB7C43hAeQLH40m8iAeVl3A/XsYbeApv4i2cgLfxPl7AB/gQJ+EjfI5XlS9wCr7Ej3hb+Qmn4mf8gU/wJ/7Cafgb/+MrZcAZSkrfq2UFjzO9ZWtpG4+z1HjC4xw13vE4V433PM7zTmY+8CwAzgeTOQ48F4ALwWQeaT6PS9TJgh6Xq5NFPa7wTtaQ1vS4Up2s63G1OjnC4xp1cpfHteqCM9mu+6jLZofKv/gMfuhW3pPiAU17HJjlQVDfAHEIQIeI+YlHYKEhpagtUCaan7BRoLDQThEoqCOLAJWzHoFQz5cnRaEgTFRYKkwRY+WMAUjjWkaXIJEwAoNOLUHcfDGMY644+bMo8P1hJLwSUN+asKZZ45uRjo1YMxyWKxyRtHwY9rOgmds0CKCF/jl3i3nj6npwDKJXOkiXSZbceUDhogx++TB31vdN6ZQnaxvAQgPbYXpfy/I6Gby5BrrAfAo57tf9GfB1tVXWWnuVU4GpY37ByDQpciH9rs9Fkp9P443DfcLcV8x96yyufmrJu5efcMIUsxvuc0q7GNZjpZHyRPs5yF+Nft3+yuA/6LcH2dFJjHAgZXAZJRIrN6goNldD9qlBbULVGSsaoh5oEK2LNnEsNozxNUMUkOcgY6GEwOWgXGdoIAytWzkWqXKsImVogtwlQ6QN8eIy43KaUgRlyCHLph1r2AI9X9Vp3ZzH4o1zI21kn+12int3NZc1cRD+pVws+BcrisPZ0GTWgzeWRs/8GTt0dqHtPLTxTW/D3C0Nb4WbLdHYNhtN3WpYVp50ki+pRNOGEQ3TGe1XMQgbZqEtbIgFv2GLob7lvxkOXHOrQVt7Ed5GWJeVDTwqrq9hZ66xSVL3jemdwJRJq1wbKtXMS5RsB3cd4wyxAPKkX7WsRqr4UBTVodqIhaMvIjaz6kPjla6hfx8DZaTPbfjoYxyuhqsJPQaOci4eSa7i9dxYeCq5d1aMAgpd2LR+JNLCmbR5fPmVlgbeuLah8bWrk7zjSbyg6uCwN0H2uIb1gvYbHvHHMPI78fT26Z1plmlY57237cR6slAinFkaTXsr8XAewr3w+momYZWzR5msF3pxUIdK5nei6fZM+2y4iu7NclQfbX/3oD9FtSFZjeVptS5YHdzJpO576objZkvUXNJktpdTQegVeg9Gzh5ZHQS/LZxulgBukUUnpQKlD+SqF0CN6zCTvb0ge2b2lOwzluW4B5tBiBIDlsULM1QhKCo1EytKj8N4somh9ur6hh11ciy3r59QPI4gw49GNFn7I8lyUorpYmXFzjZFpH0JWquDrEFBcpBGa8utTlysjL+82uit732iQ1pvhaCa2QM5MSLq0N1X7EzVecMmY510zPNyN+SKrEi8nktuL5OjLasS13VMy/usRnKieE17mxmz4I7q9uTejhz0H6VBrCCLktoO4Do0xSxgGguASIz1eDdRMHGDBqJH4xrWmfZU8FnFQKiplhMeNcfLAY7wkEeRkvNbHPtl1GhoqSMIr8zRc08vrfOrukNlnsFPH3XFAWJRHPJeKKpxULH9tiq5HwhfRkoogqAEVPNr/U1Gk4S0wo9pUSYUzhMD/Z2cKSKASmK6Q7XiprYN2yaK7MTN1lDiefZgXJDF/FFdp5SsqD0xumuYK3gTM/jD5bS40vIY0TEdlLp2etK4TCObfadRkLW26S3ICt+EabwQUb0NORjj9tOjnxs9HEXZAQfv8IxenpliLP26MSoQ+VEge76lti+2vQJFXjSImMBJx3JeyRNABXcr0jrwoOmkSCj8ow+n2qIquDBOM1bkfmRHQZxO66uEndYiMWz7Wg36SDwGTvrpVJ8M7WmLNRxIrMPxKynGGUzRXKIms/m16TyC3OwSC+PaSZzFqBVyXQfkAhKw2ODi0Q8bbOFZraQiMZYMOa193XxYXDO9SYRoLxcBkkPjzs36WsU8toTC1kPSKODcxrQN0RLjyLRGYOq4RmBPnDyqCNoi6dBIdQVIUEBK9wQVShR91SyrUlkWFbtzj5w13eK2As0rWE45U5zMAT982YojPiwMPrBKstKUGlMj0jMV1NsIworbxO3YX6FkvXjDXT7YnZ3giY5LPcMPCo4JoQPHhjEHWyI9+H5kBI7Jr2I9+t5IFpk+4lFZEfygX9jxrUCfWGTElirbElcxYKGs4GLzWiohxwyNi6K+CBbpYRU7/8WdHX+A4hbFFXkIf6XuFwodK7Yp3qX/QYZY7RAXjpn9tdnMGVqD4r83BTShxhFk7Dv29m2sUZsWbUA4pKLGbZGPPGjI6EQSrONDR103OGFBrMZiGP51aOrYVpprLdmIMnevqUA2g4lab3f2wt2O2dnVeztEQE1HIkZidCiJdDJyMNBV7+HYdDObwZ7Io2AGeZJ3vZI0s6ySFSg6wXlk+wuh4bCgL9DfL3KcmAxvo1uxtLlzSB2goNAWmSKvqtfOGRGdWHg5LkLOzkKGmFn7ZBPmULKaYlwt8nV4/YmGVWnhwAKUXjXS6hV2Zg4G3yG1GZvVT1HEQKvDK9Aw2sW1jP4ifj2x2E0Xs0YplhtsVEaRClGNl8uQ0ajYNQNZTdgRXNBE6H5tp+sv+fGrxNvsO8tz2cRj/q1d2Wwww4mV7VyCv4jm9lg6286I6NMyFpQcNGkvq4V2YYfaLZ7JhmUUSmamR0s+GYRiflL54FlmOlIgQaViIWKS5x0zaZlBvRgnzfLxqi/GMpaVV4zXW5ZliWVFPcc4jOTBaAJPjASuIvbLZ1nM4fZNaLjU2PHUB7gvgIBQ2o7YEXhLu61A6t80krAiF4C/rBsYkkz3cjJLN5ImOOVew3WXBhKDoQQaQKkbtzRiE4uO+8PY360dkcjskaGdYYSpzm3aQL6oE0RWUkwm4xF5qQuD65N63/eKXzz4u6tQLNff6J3+Pzu8epPi2nvxmg/2jtrxzyjFPQ2OngprCtnURD3WVrXyKG7A35twsKlr/wOzogN5v/vQdGLK8sTFvtKHU4iq1MYIm1X7BZJuSBdjr0b+u8bfnfoTinmaT5k/1TdA1T/TxdPvpXOrEzPMoCxgcGHhjMB8x8sx8bvfbsonBSSQXDyoLnbuXru+J1xpdK1Cr5PPnl0WvNt+55HIux+P5ROZGXRKMBWw3xpZw31lFcM9ZVYFw91l5SM9pRNYPTMrprG1gY2esTVRy9TKWC73eMFoT2n5SFeFFWuop6JyuLdoAq1laa+ZUmCnZ2rFNLUyRL6V2irFxZTagkVBMHOoPszIzbqRdHJ+7kL306mqkdG8KKf/FImxpT+kc0Zf/m9lQ+6gzbxAL29iwqg6srYOFNtQ90gGIhRv6x5tp9arZBlkbU00sHEEAUKEdM3Fg3OQ6ria3PrRoFhfq7kqvPumstzxzts1UVqNBXpbGqk16Ffgp72c3fnVsFhXq7GM3n0dJU842nW3Krre5kz8TMhrRi2BCOmGDoV4TjNNiHpLKFA5hXjBkDLD0cY8r3hWoi0cjgYep2FpjUKNdCy9QAguM+odFI1MkpGkd9/gLkRGvIeO/9Q31SG9zJxKtrCkks3NvFytLL1c4X7agjzr2AKYxngq/2u4t/tLB7WPW/V/3aVf2qh9eInzAT20EL8WVF/AGb9T4XTvXuQkyMt7UujbngtyYL12Z/67H43aaunvH+kVwGRFKuRnvFpPq3n/z8JtRtTbglobagyI11CaImkRXpQwfyopytNaPibl3FJw/jp26UZQcn+AUsrRpNGkG5Kbm4vCq9flXVJCPUPjGJ6Ln0+Abte+3s1eXXldMvf5/V8n9h1QLzVB4aHsIemDyp6ponaIZtzTbWSjLOHN65SGvPf0nCl0qiy7JyOIEkArzU5LzmWGfr8MWoSJXembqN3bYqOx8afH3/K9KU9ZfZdZviZpyBX28Qzd4c4SbL6wiLYaolRFd4V6x1THJ8ZWgZkIryKBV1XR7M7cFgaM847Rad1UFZpa6pnkG2zv7nC8n0pOPRumSlUJ66Zf+bn0fO6fRX51c9+IaG9qBNPPOzzaz4ceIfOK7BHi4uwRSHH3oPVQaKASY8GMbJhaZ39fkbb7Nq+08m1FKg8MhzNo7bY8FrD3ecTfOW4RZFmdWBPV6eMe1ZaUyGgECk3nnjhhJmJHDywORgFbGTsZrRXgGsPsgahmdMQ2vQyRYuA5Xmrae65DN0h7sMWG4ok4KiDjXxZm5zYfXSXb1vt4OdnZWnH660mrmXq6lXu6uXO4Wv4GQYSLOOffo9JNtzRrObPAks7q9u9C9wV6cuBuUVxFkPGWmjGHgyZJj5o6jx3mpxITCFPHbg6HcW7w+evm6JLO7zOW3X/i7rQKjT127kIblxyX0Ifzhbs/f/Xmz1YYZsdy5poW2qm6k6WdDr9gHI7NuAm62Uq8gUcN5VfHRBVExgzlZRkX8JAD2LE/HAIPboVHdPnvj5LKGkyd5Vr4iXAkFyH0hCCPe9MowWdvltGnA2Pc0mbBsWqVf0ubB8SNkqw9ZmsMBU9e+F+dR+yrEmcpK6O4vnYeeR+5U/6yqaQwgyOP81M9Oal8atDgoenDPt3jw+PAEXf9UdXY5VXkuf2biyunwWA50YjVs/cUsGPTX7u8jC5nkIxISmbyua+FSS+jE/6Sk99B+rnr0j1NOsizwMVqA+GBK2jFH5Lb+4TSCmOTTrSvwrL36vDmwKCl5S+B1/rgogJKTGsme7aSg7WDEkztY6D0fHgEn0tS5t7Glq0jWwvK4R7B/m7B8RFgbdnc3/H4HtTmnot5E41hyZseDobhz+l7g0xV8L1jYkF4MTN8cbmFY+UyI+K1+tPieXoyw+XjoeCCB6V9uePj7A9uX83k5FFwWb640GAqOXrxvNRwswnMWC00WUiOMHoyPYz547Da/bGxoXsLli3fdn9vaujcgWUYBoR16412zz+J+Utl8/t+oHFfuBPTosLC03MjESFwuXHxUa5SnOfe9fEBwj9WOlyTLcKfRFo/YjIosdXZuqw7OUSiC68JHs3+JTo1Jjg0Lj55D7ScM8iJnlpBnio/8z8k5F36J7S55SuT9ThXKSg9MiYymWpnWe5bfPiv3eaHk9dl5r8MCKVUPi87tocPT3QDu57r49eVrl/62gX22LGJT0dE0H+rCrX9QGmqojAn+Tea4z40hwn3WDrInR/TkasbswdHpIfbjPuoMGFMmffZdM+Vtzt5lNuVkw/D+QcOnb3C/92jf+bMa2+x3y7sPZO9hgcczMUrV1jJfOjgV+WvnklrmPj8Zo88dgzD8+Sr2SlQyJ8oB5x6+dsxYNsbA+hjBw/gjh0CeKPtovVtRYBof2lM1/C9tSPzs7LQKujAcoX8MwSKrg8+ChF0YVmzKCxuoP3pxdJTfy5+hnwDWzsPkrWLub68T2z7M8+8e1v3LjyHE4cdBATvGYVrt19hvOSpA01bczBdFsK8Vrg7FsbijsEADuQPBsZ133mnwI7H9ITWhxarM4c0oktKjxYJG4PKnFOgO2LFBxHxFx4FpW1wHcAI/cdxeOPhtzVkgg8hBYa5BIdU98r2B1eB8b7fy0dvt4XEH1IAHGB5YsJZJyfWlPA/GmmdwSxN5hCBmT8DfkK7RxS/Snenw1px7Zs/YkjCaR5aaSaj3zuprM3I63UIZ26SGz2WN7xaDPENDIPxkM65TuqFp/eu6bkJod5qa3SfcF+YWwgBs33/7hy/fyYgmSsYJ1qeNbMZ0Zr43kfHJnM0PKkpNjMlmhjI7L75WeV/PHtNfF9onnbAXZ2A7LCEQRCvuRVTNOKHaTwvP+ztSPHO1PZH5AEH8tChQFRQEzN2I9nauJOMTSikagoJJIWJ8Wev3zlra8q/qn0wtyRR9GFnvdtX+ufp0FCbb2+zIGlZCpt5sW4MJNhBhwLgQAHEVojsSTGlt2bse6J7no0NPZo+q3CGaunqlaOaCmvyp32sSR6pmsG/5YkgVktkT4utvHmq/z5y76r8Oaqji3eKXugveSIYH+hM/bVR1PRKmItvFbH+V0RpTvQoCs/WFNvFoMV3nG6I7w2nx/aA6azQf8tKUz1B0X/kAbvIzUELSx+89/ogBo9toHeHFKqFXtWgFz4B4wN/lw/eGQnJE2T+Aeyiwu9AZtfU6lH8v82MzsB8TdoEITgvKKITlL4e7T/WoxZ5S54owJblVtuk0gKXjhDC9GLFsp1+Vu5OTk3/mGqWN3B0Ils7GqureBIXjlhLrpCe1P6+cL9w1i9xIEAQbUdz9iC5GoB0nRnn5bnL0nrPjFUsXrlKeKpg1Szb5to44UcEPfv6yIW7yORt+auDTTWawX8UiPyA9rv3Qll0jiism1EG46misjExATPil0cDhu8td1KsdPT26Axw/jhvQlAXMDqoOUmaIGnJL7SagCagGu92aEppLCf5PXtraCT4aszFSZUmTxE7p68FVzYENnPG/m/f3QocAuvQ0CDG3Wdnnoyg78xdPvvhrJpWh62UfTGSMrt8xvOM14c5zGa9OnjxjAJufBTkbzcQ0NtzyxfcL7ivz6A3GrS1Os6onl2GiwvoOyNPzsy8ZPP2DQA7ksSVy+s1NhnavW0WRMtAh3nkyrn39Q6Zul1Npro2NDsYzNhDCX1WFzq/39SLXOpFZpFsxNnb3n78SOXkbJP01r3NKzLP5JZFF2fkr8m9u/e+S/rSa6SLHyEHhjiHBNdCu/xASCWoG2KLU/WtyvYU96iWAp2Y5q6dJtzygx+bT+b23k3Kkd08nE3c/P3Ylwk7YMof3pbx4GFrelZuaQWrMLD59iNGR0X1XqGssilm6kZTXEWNqVBTT297MOXfXFyKCtoxqQnhD8bjoiKVzP0SEsPvXY+NYoLg5w0UAtPequsY318cxcfiR/CiSqJqI2qxaqPfTO7rQiaPFEbqHuYHBqyn3l/opLCCr4wK3vmCyD5/iAePTJ9MZqyNoXGWMyPoUoRnHf1cJ7Ug5PKQ+Mynn3zv78u7p9DDIxPtzawjraP9b0R4N87E2BwONHexST342sRZ2dvA0yH+IIgRyAR7K30DW+swW5s0O5sZdU0nK6KugzVB4/TfCmA+69o40ml0be5c9Mj4XFv3qZ66Fj8vFwo1iAXM1PhgFtXDwymgN6+vTlrgZHc7f3eznGuTHH+fkeBgg5wzf/+DKx42d7Js7lzxePDouqfV7Ykpq7tXPcBrsinMzjktISeFFtmfNByinhlnbKWmcoonbCSrsKC5Il/PX8LJN/sQad9AId0WyLqqFNATSLiHSR0yBfILgat35n+Yh/9bLno6N7hINAwXZjCZ+tMqkT0403r+5qkOO2MT+9b8QhsfQw0LCyIVyoDQy3am/wywrYzFdHZGRrR1rLW1RDC6W/jYCWYWBA0zW7qlbZiVJRwhjVjtWTF+Mxz3HN1/C97G+G37wbkmRrEsMFVIYq6+asPHp+NOthbUdmQlWljGhrvVxPiCgHC0SyJFsUj1yIjM45CBlNyqkwnhiSzVukMVtAsZteVDeTHTCqYqGnpmitRkoIJgH+gKE7ZB8hYxKsMpIbBOK+yXPJEHa0qhFIZYKl2SB+wiFLM7rbH/nn/O8WftCGDHoOSSuRe5nEou9na1sPJ0AwpusE6yOvJCZh+uj+l8xETWBiNbDnxNj/ZdO9QWnyQEbEH+HeM3NCem+qzar95obbt+s3sEE0CNcHLwDAc/J39qhKMDlRECJ3Ly9bvbarQtpa2VWpvsPT0QJ3lkYm9+9vn2g2vtjY1+VOkD/ghFUdUVn4y4SsjmsRvvsyOp7h/7Z8eNN+DHzg5fEd0e8dAS0wGjODVtt9Bg/3FNFc0xdDirCuE4AUguzal19uSYu1ZeK9+7dSNMJ/W5pxdGi52tU6/mL5+5TSJm6Z5SYY5/s9ILbwT9ty4J07A/7OK6ubJ3Q9cOLINk8BjXWifsRmY+Yj0Q/voJ80VOHrBj+K/n3sZnx9/KSIxCYEDefunnx+WJtTtDDPqw/X49B3f7+vza06u3Fpxb5RIJK/7qyY4kK0NlMzdn47rEer+Ic44WFBezdswc2L8T/llcbWj2yD79yvPTna0/h77AgI6dE9nexcdCAy9Yh7n29FlsRHrUXWRuD7fR2sIZW5wcb58j56Zkd81Ka95QgzmnGqsUcL3HByJJ+tpOJqpqPZ6MGG5GhrSPWzAQRCT+YKHA5lSewMf6msrVjKx3hevfOacLw21VGuKY48n20Q1+sZY1Bzzffjx+Ovckwy56aNHUpSY6pjabmVgeEJp8rg3M1HQxa5huOTNPkpUl1cXc1MPFxtadtHVq0OOrEuwqbV7eGTJ7t9biXxGlLV8nCcuazpBn01V4nZxD9mgh/aP02J7xhph9zn/t5SFafAeYfiHM/oHM3wrA1qGguPTtuvN2Pxse199jHiF4ghDG+tPUL0+Uh3gjSOgTSh4Rqm7kRA3oD9fzC9eNpfYJxX3t9DLcNmR1W/vJ+IRy70TxUOq7L8EpwljfVXA50Jn833px03pJbX79PDL/HdlpK+dj5qSFkvPxzkoOV6x0XholbpbUFtXOCh9B49mamV0MenTHmROx3XRadDdxrMfeP5qPHiXpT/UHrbgN7rUTlScql/kPCg0AW/wxt+wEb2pOHIWcGevrnx4f46LUFtSmpDwSMAKawd+icxt9D3SEai1JKSLK/RxROc2+sg6JOq8kFPHKILCmUOBALkCV9K/W+4TNAbfi3rkiC1UxuNbsGTgD91Vks/bpqJrzu9ALlIDH8NSs3E7OR7W9WPgO+Hkv/rXiqeQaVNXCk/EA8Q16CazfYbnpYYysVCToaGhOGp2WlxoO9lyfyq+I5Qv16SvAf7Z5F756nf+pAk4y/ld5ObWWMY6Y6uqaZpqrrOJeqnQem5ok26/BxsG0wcYh/l96ojhajqziF285LylJvH2jY5ojGCq4+u74wvkE8elRQx7+WHpfMEk8vOsvHc5v8OCs0vO55yEFCkQF0DDHkzlsbvVbp42mwosfvCtydf3BXIOLHGC/KzQwI0Hc6lk33AzyayooxOkp8Cz+nWHOML714Fmlx2QeFk/msJVKmZYGzgfYZv6gtpXuNKGpo6+mrr0XqR5u7h6squ4eOvGQvZ4eiGbddtU0UgtGFQH/czz+71GoOaWf0v643ZOLFbQ7HTndNfcc3NIIDT+7nIRZW+Z5RbkpqYONJdln85CgabR5cFi0+il9tSP3QbF7/0B1FpnXw8woPCGvPDnuVEvhiaEuVK3+069bG82XHVUOpMYdM9ZXDYTTnTadL2wjB/oyod0wJlIrSzeL0ZVUVdmXxMjOITJ1mGGtiZxt8ZevOtNDnQ+VqhwvFQy3didb27uTYUnZRN0ptSQnN+l0X25lTx806r5YerEp0E33liEYkVoMsfbxNCWiuVY4dOScu3gu8ef6WkyzX1VVnbm8tWj21b827xXAoiD4lz9i7Pyt6nDQYjeJA37Ral/z+2QzEgCOrwXrb0HKMxeDvr9vUI3stCJywO4bN4ga0VrhO7BrfX8fo9rG96L565FJbRBtB7ClAVBGNYMFdGyA3WMjyFI5EBJi1Iqvhj1Zg/iC46vlHVeL0BKCbBBiF/IOQrbRY1ttECCa0Y9GZVA5qQwp6XBKGXaNTAkcCHQtaj/PArPCh2g6gfHlVmC567tXujMaK9K9qNYqim+pkw9qyeVW/pUPLzAzPzoIjC8lgeXyxtG1y8cCzZIVGI8YWJ4a4+jpaKmFKG9Y6rHJMoq6PKuoyw8VdXlOUZfXLJ3wrX9tCKUjCCzXP47uhqVPkksscwZ/DlDMm7VMeISS5dNJlWvkePomQAWebJZvA0vZGNbSyD4SEEptFVmItWQJ66Ova5VI2xPXng2PYC1uWWopVIYg9J2IS1iurSxSLHKzQpKd6kjYSEXC1iqSaw/Lw1duUDxkuzqPkvWOPvouljdBFpe94/SldWOqtTZ8YPcFIf8fW1L7P+Do/F5uNSqdoQY5O7809tJrR21BllZP12bBoB/UT3IF/fE+xgeMpsFe1RiuracaiQjXPktPJbOJVyxOgVXdi+URwMn5vceXwwjRHJN9jGWUxZl+CSEaz/5h5vw0YOHc7Nep+3CmkeKYRmmM8JclsvyKzljBBvoOY81EUVc4vzwV3AbV9qvfkgPa1mOdJJPn7xVQHmapzhPXtuYocCeGE7ePeeyHpi84VueWO095rAlFfQdOiGu9pyiOYEhDgfYjzNYAhwM0YP9Yc6jmwWRQrT+aAytaA9kRYLN9LgdAub3vYYE4m7zZisvRXP3SfhsNtOmxf5jEroHpCEAtg39O2HTw4SAIDT1scgjDmwI7BwFioZlex7GL+PR+Z5eYAgCPfYFlAXh9XN74T+X/51MWTBELwQEFUMD4gIEbYMozKs9AWAXEbF/fb6kgbWUYVollpEUVo3aLajeg9g2+3YhlsWUYT/wPZdah2kGq+dAp3yhWSZFBkhG/82ss92X0wwJG0AINQdCH71PtFibSQ4JOE6TZahU2BUn1l2Pjw2x7ALYuJafrcevqcloW8YDz1Fg+vb9KkNW1JIe6cCKRvWMU72POihWHt6arb0bbZt6+xryXzMR1XWyjv6DYRYi2L1DtJevQkVT9QKyBp2ZSqtWQ6KXRbJi1bFFNiUnLYdJIrOINmVbFvKUICzkRIZydZyEq5GSMPopqqWiNxcRHym+Nbe4rQzvO4aTXbFzA09+TboJEGgbQ84FtoodK4GD45VHoKuhhIqs1CWxTAnsx52aDMzCQ1dmAWq/xGVlwq2WK6l+wbzQZbs2GgoEqJaPZ8YhftPSXXCX6BbePSuo226ApjX0C4peCOiCh/gVyHxc8EuM6SuRTfzEf50M1I8Y9l3d7I79zQ8Foiklr4toqGbY8Jq1YdKhijSf4jbWQ6k+pcVJifSm+80LjSEpEeSuszCOW/5lUQ8xqzqrqMIl3Cvq2/MjACDqnWkU2fiG0Bh4tRk17Q7itkxlHJFPiP1oogCVUQIA5LKAOS800frEEAeawsNSLpqmGqSaT3Tl3tFR0SbXFdGUYimhesYS9Odo0rKnCmMZMHNUT1UxxE1HSTx4mh2oOeLC82drUrJ3CmDZF2GuFATQ0BPhBBVEOsBCA6UBArQgHAaYQAg1pHAB2AsddEdx8dkVhR98VTVTMoTG7Yh1QyHE+ZeSh8nJ1i6koTMli0IQKEwdPjQpVp+FZiiLwMwTv2VqkQMrc+AZGs4uHiHXiwWI1HiPBxoMo3+JRAhhxMFmZIShrxveFm088Fg0isn0oL1CnRTeYkVp+7mO07cw4TETHnZxYTZk/Jn+BwhKuzE6MUMdtNk2gYJFB3pNYx9mxZsqcAxJzx1ptUvlZcFlJF2QG","ok":true,"headers":[["content-type","font/woff2"]],"status":200,"status_text":""}},"base_uri":"https://localhost:8080/","height":838,"output_embedded_package_id":"1QrEchpT9Mq9lCIttty4XhgAlovLJJ2Fo"},"outputId":"7ea902ca-c767-4982-eca8-ceb23215459c","executionInfo":{"status":"ok","timestamp":1663925439689,"user_tz":-480,"elapsed":410,"user":{"displayName":"jon","userId":"02515558245111120108"}}},"outputs":[{"output_type":"display_data","data":{"text/plain":"Output hidden; open in https://colab.research.google.com to view."},"metadata":{}}],"source":["%reload_ext tensorboard\n","%tensorboard --logdir=./runs/"]},{"cell_type":"markdown","metadata":{"id":"yhAHGqC9-woK"},"source":["# Testing\n","The predictions of your model on testing set will be stored at `pred.csv`."]},{"cell_type":"code","execution_count":null,"metadata":{"id":"Q5eVdpbvAlAe","colab":{"base_uri":"https://localhost:8080/"},"outputId":"53d0a7b8-20ed-4f83-8a9b-d860f16aed31"},"outputs":[{"output_type":"stream","name":"stderr","text":["100%|██████████| 5/5 [00:00<00:00, 414.89it/s]\n"]}],"source":["def save_pred(preds, file):\n"," ''' Save predictions to specified file '''\n"," with open(file, 'w') as fp:\n"," writer = csv.writer(fp)\n"," writer.writerow(['id', 'tested_positive'])\n"," for i, p in enumerate(preds):\n"," writer.writerow([i, p])\n","\n","model = My_Model(input_dim=x_train.shape[1]).to(device)\n","model.load_state_dict(torch.load(config['save_path']))\n","preds = predict(test_loader, model, device) \n","save_pred(preds, 'pred.csv') "]},{"cell_type":"markdown","source":["# Reference\n","This notebook uses code written by Heng-Jui Chang @ NTUEE (https://github.com/ga642381/ML2021-Spring/blob/main/HW01/HW01.ipynb)"],"metadata":{"id":"IJ_k5rY0GvSV"}}],"metadata":{"colab":{"collapsed_sections":[],"provenance":[{"file_id":"https://github.com/TATOAO/ML2022-Spring/blob/main/HW01/HW01.ipynb","timestamp":1663580441911}],"toc_visible":true},"kernelspec":{"display_name":"Python 3","name":"python3"},"language_info":{"name":"python"},"accelerator":"GPU"},"nbformat":4,"nbformat_minor":0} \ No newline at end of file From fc6c3c0f8ad7069375588899c3dccb55c6f9c181 Mon Sep 17 00:00:00 2001 From: kk Date: Sun, 25 Sep 2022 13:14:54 +0800 Subject: [PATCH 08/36] =?UTF-8?q?v20=20=E5=8F=8Cboss=20line?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...fevents.1664069945.DESKTOP-EOT9VME.18912.0" | Bin 0 -> 349742 bytes ...fevents.1664082152.DESKTOP-EOT9VME.11800.0" | Bin 0 -> 856342 bytes .../version_note" | 2 ++ 3 files changed, 2 insertions(+) create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/runs/v18-\347\233\256\345\211\215\346\234\200\344\275\263/events.out.tfevents.1664069945.DESKTOP-EOT9VME.18912.0" create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/runs/v20-\346\250\241\345\236\213\347\256\200\345\214\226-batch_100/events.out.tfevents.1664082152.DESKTOP-EOT9VME.11800.0" diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/runs/v18-\347\233\256\345\211\215\346\234\200\344\275\263/events.out.tfevents.1664069945.DESKTOP-EOT9VME.18912.0" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/runs/v18-\347\233\256\345\211\215\346\234\200\344\275\263/events.out.tfevents.1664069945.DESKTOP-EOT9VME.18912.0" new file mode 100644 index 0000000000000000000000000000000000000000..7c19684777ce3753ae1b3e80dc99e1240656f237 GIT binary patch literal 349742 zcma(4d0b83`}qHd%=0`K846_{GhDk2nUWzDky%ATW`*XtbcW_ZDy4)Zks%6|q>?05 zk|;DGB&px|zOUCGzw5cy?e@vvJ>2&`d!4=4Ui+LHB!~aP&#X}D?2^8FRn^l%jUnB) zTWm8mpSbwwF7w0cQ`a@5JsI)8pBq;ly}EPHsiyz;bG-(P@7tw!mo6*!A38MY@c)mEKx{f1&xD~G!pjY93lcgK%qK(utwUqf{!H7u{ec75i8ig>8!Ev zp@S9)3@uJ`0u=tu{U%h^y)z)eE(>c6zOzEkvsz(ow;2ap5uo6dS|lir+;)Hjor`Tz zaBj{wnrg^6&(K*2wz<9Mz$ zHm}|Y6Z<%`xLC}#!h*kmCsN_!d! z(li1%0Sbo)#S8k`m9Zp<)d|9&krnLC?+P0?tg&cCfWq^A34*G1(_9jqoEL(Empn6; zR%YE6AbM(PD*_b0eZM4xhV-)|K|pLM3X!a^sQoSBzSE?AByf4g3s877J3+|5zD}M5 zPj82zaF-Q~_9h7X66MB{px!8)6QE$!6eZ}aK2}MB(FaJfP(zeFk$MI9ixfxGBX;5W>!!h6f20* z-P)1h;rY~+MXFp>FqBHUX$f)S`nb&0b#<3+&0}vkdbu- zg&0JusS&#}xR!Ha5MfP#2LxbQtQZVL$}yp2QQ0V}NT874S9@Ju4XL8EJ&0EGp? zA%el1B{NCzb;WfI3RvOkqH}`5z0vd}&~qOzK*7ADukcGTw~z?kHr_y?iWPoM3KEWJ zLA%DA&AlURS23J_&Nu^k5S5i^biU5TRo7{yD z^StQr?xdfL!Xs9A`1!2xBd9o$2+}va00rlso#cENwF0C#)}V=tDN?z4HrBfI_DDkZ|{b zSeFFPj=aPmlojkeO@*ACQ}hb-WpDu}_}{B!vPIh$(7*~+Mf$>GwPW;Nbb!J;PJlwzj;+EW zowjtRv%9>O57K#^MrfUNH00nWCp)kkNhfW<_f0v;U!3x!fR|=W4$FwKM zq4?wnPJlvBSSWM~xqY1k16@91aGMoMo-P%N^{4-8MS#MRwF`xYkS!G?IPs?fgfa zCqUt?(=_2jQdKhv4*jab;36v=F`p{fJyV!W0@H!tH~|WhL2AOx^sLn+Fp~d)K{6|R zoib6lxpdzd5~Mou0u=t-8z&53r}dBoc87nWkk1MU1IG(?`u22!W#`QcP?&grjNsKZ zlip=1+Wki13oA7BQx=W~OX(^cKS1H}%L&5MVM}z#K4>2JgMxKe=1A`yGg{EA7`mJU zvHco30SY(mrwN;S_>CvQ1JtlpmmQvb&PdxO!ha5ysU1Lm`$G z*3VHC4vv~d-wy_oW=?>@_VGgm^{3I_h;YGLPUru7!qO|16@D%mE~HE-7quclVgB@f zLMLBeO%k-}(+-6~R#-A+h@fOCKe`nG3T;pK7orvC(?zx7W_c89Si$1KAYp>Ki7^ol zgtzAeD2PP8g@>lLp(Jqi>WG1TH)bq-vKSzE?l?G#1bzE;;shwvp6)Hgt#qY#ianIN zU=Y9xMn?Sv^OqlY5P=_{utKr7FehbT5DDh??1n-dD;(?BS2$((bqNVv#Jm87lLh?* zRe3o&mWH@XS(mEGtq&6aNcIROguqq+$@j}ID11l>OaFbH9V*%!MCW*eO7dTUMaKu&-{ z@r@pW&z{b?L`ZZUj6nh`#Lny@d^Iu)Z$*HDc2qkd=Jo1cBv3j&6opJy82YQTpza!3 zOoBbbhH(NE-rw#bT%ItN=>#L89Mj?zNEa@O*O1#e!!LflCpwQp$FU*;gLhp8yKaNG=7Av$B$qVr5 z^>8BG?V!vFP`KaHRv7ek(m@jJ_@RP9HY+$BXeZ3OUNwLOA->}{0Sc#`|3IU;Nq-X5 z*iXQqoE4JgIA9_tKw(5n z6BJ*X(S`^f?IvU3)sq=ZKQh`0p|i8;iR@_t0(fYK{EKYzz_L0w^_94`l2pKK2F{osPj}a~KS*@OqC4TU~edzEJ z%IyXh5uwMyxhOQVg393*D0TeoMuH|0FF+wS;4{b%8c7$K!_Le{LE4KMOI!9g!SR0k-;u)^d!jqolrbr=aA^cFY)3WukEfW~hV={=Btvjzqa zSixBJ57<}g(v?JhfI{YmYH$iZNAKAGnJ+@2fE6k}{e<~9JXVo?_;HpOpdhDL1}$CJ z4kAIB)e;n{SmE5?pYTcV8y!ph0EOJ{U!hyrs{KUhdwD4ew!N7n9q_##!Uq3KBEi)f zUVuX9fp4LBiz=O91vD>5!H*TxB|jj$^fi4R#}81LKcWI=wu_+)Aq)0vqi}^4QslmY z!LMJ>$v$X!@d6Zn1eHM>MW+xFEI6fu!Xs7~eXRz57AVu(0e*mja&S3pZahdI`~NUq zgTfnDa5!26L3zg$$R=s`Sj!1eIKAN=cuupJPXfii>oBNe1(m)vP;>wJ_f`Zb#Mixm z&D!tkNiex`JqnI}n6YI3x(aOMOLvlBtGga2Ktb`t2dGgARVKl;69yOrvBE6pDsU>i zLKn(wn|J{Vi&~0cX#SuoBD~qX5rueG7(3@H-0<^VN&>yEhMWL}A0J9UH%9FM3A7tF zVUWQJ2cLh2a_8Y0tq4#UIx7c;RBX9Jf;%6LP$*#q`8yTx=|XRMw_D+|g%hCgqBsYB zCU^-%_-58p}Kw-2BEA_m|6}=JFT=@5uo6@xdggjy-HU@^~#J@(%66Ad3}7M3=&<5HY>Ae;=*hiZL6IPj{(7+1om5V_!d6*&zbieZg6jIyg zz~!P_8%c2d-2oIl`!Qq5zODrH5qu%hS$3ZGcvrDp*oHGVW{MS#MW*mSVi+Ji1r zRAyMB(8LO#onL~LbQ9g_1gBJpaJ~G11Yed|V{nlbrWm~fhcAaGw<18{#E!=hef-5C5;RYq z@s22bVTJihd9ZAUCVfxy0~F>>O@$kKHye{p`f|=01#9+830}kVVB-00^rE0~G8RB|(y)L9Y)!=RHt}Wrd#Cv!SeA zCA}y*r1An3CcStF-?c*NtTOoOSrk%Pp3<4D~_5ejsz!7@d+1uND~1A)91$pBJF8vf>^rFVw$8f~{_TC~uBEp$_d5rpkj4sX zQIEi}GKZcuGRN}*6#RxD5 zED}`7pGV<4D`Y)<2;TU}89v9yor0!lbAe82G(;3K2qYT|^;)752}6 z1hrH;Uhf1L zdMcJKd6_3(L&1G8GnPu5@4=14zx0yD4^W8v91HQ6jZc%E?ya1FLKrK2UUmoi{Mo*m z1nrjc0u`8)N*Keax&I%tjWkVx>84bK=-r)o&R9c>gLF%P+ z@NHUj4}(TlxL=+GTL*8WQwM&4f`MWJq|{7GBKxp?%6$~PhA?Ak;o>_`5oAX1fkZEP z0Sc45N5Y7~UCfE_C^ZFzNLDaEmIy9goBFgOK%rYiBp696dywGpv_~l1WreiC*WvVM z;S>o>ba?>^7Z+UtGrtPD8ahiO4TU^b&{a$X_v3fo5aH<~UVuVlL^xmm zsAPrHTGwIVpLd;z@Gg%RppbO$I+!_W_anj32bm}|vqDi)Jm^br(z!Q3K;ik8i?F}X z;i*Kp7n_BGbSN{HHouOC9g)^0Bv76Fj1!? zZ$F<`DA*2Tj`YvBSD>G{*)}3%s~2(t6g`tbO}@#K3VlGnSrNUxN7NAo|pjAE2PO zJPO=Y*V6SR|CUcE1hK+|@~hy!Mm&ye55MBhN-z11j` zu)@+|F;J^+NuT)f0~B;02Ee_Z`U+%|EDUN|bx0aAw> z)6WUK$oPhWs{%8YOp2mlNRB&w2$}Jj7oc!IHW+RUzt@>;(wl-GD1@@YuvyWNo;WD2 z6#)thCwRk?`1ACv(P;b&g+x}cK7JAIC>*aL0zW{(>xXtI+-8Lfx{+YGt&%=z z;s+>v?J0sUy_V78UB9ja3c0MXCHw*iC*II?zVgGo00qP8KJZZ6$cXI2g6*A9_{0i1 z2QEPE`rdTyo*$raBwq?~!I73k$okO*g(g<8SswxR`|RoDr2Vn3oB)M;)gj<7cb6{E ziX6IQARfVtr7yB~+}=@r|By}M2PkY3`NFrP=jtR_Xwegei>#n?EF891g-vTkfI`=F z31}y%=aayytTzhDtY9)U0+K!@(3_^c?fP&66qZhog6d8YLy2Hq*B66)R(SUJJOo)a z&;==efWp68f4HNWOCNLE6!%Br3oA5fghOqmiWAwS9@_?R0u=5v`@r0piwsF%wto-? z)+3oC-R9fFzXQkCm$KpnSfH8p_~APrrTo3 zbIDC6f_lv`3}RV9v^z|8YZ)0wg2M-ga{?50sriG$vum0p@G(-vAe9x`mWD#vtqS^? z6NfXr00qlOfiN@qF1;-qWi}FpLRR=OA`BKKU42b9i65Y_M#%?ivv<(jWL>2*?YT|JXtA6A%;MZsQ)8B6PLhQcE&fxaK+pXCK87_RVu`bX{P zby{SlfQ`=GUV5+^`m`fE>E^6#ey32O2uWAL37y7f5+W9-k+_rtCeQ#b(%+ZzMH!*1CT zB5YYa4Fl&<%vkEREDUO9Z#qbVwYzx%3QAr4VN(4b`uxFp-3$~$SRwN3Ik+GkI8KCz z1-t--bBZFkUNvD22_hfPLLq?_im#u82g>j0&1-NuFF>Kqfpc)k{Ulv3vUolRg-llX z+Z+r|;Rg4~Ch-Fl){Q(13iAzuNZ^n>7ll$**yIudhLTbA{g9>Kz3U5?jjU!u|ofb zAQ-LSNWZPa4^UX_9|X7b*FPYFRrC@RvRPq5zw=OYEMz$eda7x00u&-FJYa*gdo&4h z2QR~*oE1tQ2SIcDEIO;atb<*gq)D_Sv=2qz5uO)m1?dkc^TPk!q0Ht5D5xzJL4(R1`hHL!ql-cwE2RDk zf>^6uy1umQ2`@llX@eAs11dGhJ{TnGp-{;R=2k&qD;GDs6#)v_DQDqJZtr3etOz$i zp_vutJ`V&J=i&7043D)oZ~_z@d_7^9L%~%dq)a!&KsuHgOYYWzu%*JVTPp$-M$K@C z!m*N65=>Isj6w`67+em5$A1fKNMMx43s8ui=n1ack-8)>6mLP{0V}LK76=Qs{%7Sx z_c|{?;mb2I+|1FSZy<%xZ73A5!cXlGFgyQ+zO4KJg-ae1C^@z72HA&t_Z=uyu|ih( zIZ#g=J&FWMQ+9F!6lOSxp$oLnAi*w$-5A&^Ge^26DhPVk^&HuX0EJH~F0f(GN;>$2 zt|ln>u|l|6AiSKn!-ohBp1c5sNAtbliRvagBdZPCgTfV7*isS%vlnfmlSF=iLYRXT z>K5(!LN-a_YKFoiR_Nb17)Jcjq^C-LfP#0LD~v7PvYrUrkC~(Jh85;s6G9tdPGU2x`UZwIo>B=^!USp~nDE=zG$_p9H&qT43O) z!i=Tpf*=_FZy$YN!4FXQv0rwiHw~dvIGeJ=C z)0J$}Z6jL@LRn$3;?ZH*>ujgppF-y z;P2=GKi8kKB*N@sM-;MHVcso&2w&+y&l>yyg$3Foa2+x86%kA`olz)b1=SRPI6U0G zj06|8T{r;>N>e>y!_bXcB$#*86@vy=ICwn(BCow&M}iIJZkzyx;pGzOl6}dZ1STsy zFz_7DjHRj*fiOBgORW_F3iFnD!TY=8ualtt-Loh}u)=iNad>gbN)!kTg_q7=ApI-1h3v!Y*M2B8u|oXY z09ZM^Y(EM5ZT9B`C=7b)4V(L^(Z_2G_6A}gp1_Qy7GHn3b?Y8|RO?v73sAT#?*=oo z9??&3zIhvr!bMhC@9q!q^dTKfSxvkEg~s!4&^U4`y~U6Hd=7BauvTS`bmON0xUnKLvK0XedB$FFFy$#78p$;m zQSe~}-yi#G#2>bwr6I*5LOZ!Ch z=G9T}77B5!@IpBN?iO^Q_dt(c^8ysUba4gMbM5FAs5hOX>rzl~p2&=)jVt_M)t}w%NKjkA3sAUu+8qjF z$J1A-to$JgA*|4Ck1t5K|D|hW`~ZdTCLYk?{=H1HNh*1dQAl8g#vgw0P*g%^_u1>y zH~|Wy#cnXT<2Jg^XR{*%gG^S4dhZP{`@Zi)Hi;jg5ZT}jFRY)_Q{}JKnJAR9!osfs zP&}Z#nFx#Xc>xOZPrHJ|=_;N6%u2~Z;TJ0?EcAnc&d=%8LAi_~{1p{JR9 z+1V(#Ph!TBbDke~)+7Mg2Y!IU&JcSzyYC;p@%wrw7lklZ7#0@*&E>kU=}a{?54 zYC3~zeYa4uN$XW#U~r2SDo^{thv@^1NU&O)7oZ?_+#RmpoV$$%>Mv2qW`#wA{bBYF z5j`)h<_0Lt3h{uh8aL<^?vwH>6v|oQq#%cui);Qto;`xP4p2oNUtdaYdW}h0w6G zFz&1ly|C|)6k`y{3KQLYLGXTifCy2uN;m-u^`#Cl{r<+SBzQl%6ob30(8Xg<;PJqINViy=V%!__>;n4I744PS?#lRQhPn8!D;q^^kfWn+f zuJG#E@s%WKf8jF<(kaYX8s5hjMwbA+?8>L{0u)vsvx7%oe^ZIzb^R*}F|07*j}L^b zE1f}t!kJZ^0EJi&2k0{*!;}PiqiZmDzzP@E_(Eqz4LXHey_grEaLv&HY-WC-2hM70 z9SQ}kuu8)Zls?a=OY!^w1%+W}Vcw*2dY5%W@jD7tte}+X5B8di>EndzFkXPdg=c4B z*rd($tkKb{9tGQ}%#k*0>kEH&?b9JIYfBt2Kp`vB4Jwsx(0#}b{)K`cD{L|F0qs}z z^exH{P?#~$6SC`jJ|Uab#;pN`E36Q|))&^~|L51oX!iKS2~emyaTfYtDyENh4*YGz z;1Mf~U*-!B+P*qUHfhVSznlOC_dZVGqtdQB33NLD!{7}oeERJRO8p*Cq2@9#KtXPz zBTTMXyN3w%0WB!hu|l7YelWXg@vqWdliI>f8nc$7#%1 zIx^4?zM72>AVGj?TTXyN(?&52`ISdU>%+nF7zDAx_@zEzU_YQY5&qoc1t=69c7rHq zgPSBMj_H6xJS&7L`@(k3*TEzhGqEElK;gTp6TFMr_?`rJd^=%~!3y#9J}^5%C4~g8 z^Ez_^6l`tmVY^xQD-y(v>xw}MD=hir3r;4M^mc$Bppf{_6ZRVRaV0|YfbJ;NvqHxW zJ`jETD1DXq0SZgJT;T7k;~qp%lkbUw>vU!;?Y-v>;^JPjNRV=o7oZSw+X1TYJ$*p} zC-2@UgtEefCB7iG?oT!tQ#q4^7{B0SeC1t`J`|YX}K`$_+xHj1@YZ^@a8-H?OoJ zK%qgy9!6?>JWqnfHG@%TV1{h+u`^CcdE7ZQ)rG9PX{i2~cR;^dGHY>bZ?*lQL1$v$42PhmW_kg-Dw@QdG@2e6DxvZcN-~*=7Bk03mOY>2j z0EIJN_AsdDb~^p}W;F(bPpojfz!#nyx1*z#AD~cp#2dT#-i$**Jd+tq^H%vl{lQ2&GdB6l3sBIkaDlf2HR&zQ z$;t^RTx13F$v!Yxc(H(N5>VN*8;;9W2IROgO zWuHXI?KPavW&)Q?#vq>+UVik3DYe60$R_z2^8yr%oIGIn$K$(5P^vo>g)gk|&C~}b zO%5n*MSy~Pq7S$i4}403#h<35U_FaD((e?!0rYlTw<17c|1M`xw7W&m-t%9~M8Ss@ zzK!+)L)~k1>d<^_7AHVqg1#F#nmTSHn-sfq4hFHTpxWC9EXPV4TM?izCE6bDWo_w2 z0;4r^QAlNlyQ+R5nHWYNq`Lj&1t@fTX%FXjSidELsBAt8g{&}bx*xnBiGlrWW-N`X^o37P zUFdsy*fw5(!jECDu;xY@eZpa|Y7q(ntdKg$7v?sG(`5>NfI_j37wG%h+$K9MdA9_G zI9Bj)^ab<6SM+|GAE2=Gn*&6Rd%uAQTeFs;kj4s^bbVk`*Lifl#1Bw7I@<|!d+nk# z;~PoKQ7B@C7x{jWvSZtEvPli|R&W9o(l_vKQKcfk`*$; zeZh2VnKKC%F51TlP*A(z42=a%beUqol>HdoWrgnwesJgfo;V`RUCRql*cWXFdv^V# z&lG#XK@{>>!MxN5F0P6jK?Ht)LPE47T)%dJp2+@AID|qaD@eQ~@Oj`EI>FkI%L`Db zx?>OSQ#u|Zo78gm2nx-tkkQ8*?9xjHwjw}bYm5Z+H>pk~!NHhgC`jiqW68MD8&oEA zr85D)RmV923T~I|q51bR`V{}u+>;o@utMLrz5q)n)5!@xK*3z<3^~5()np%1Rjg2W zzzT}8r^g%8%T!4);TbPLp}fQyrj>vHNP@PvPoq%43fJspU#L^MB5Fl|LYMmz*tNGO zof&tDvPPkb6@LDfLim`O^yYQRcpFZDg7OJxI2HPz-_>$rwjBnx^O+-EG|U^W>CdDy zGJb%<*emWZbhQ$_PMeK!K*5g{Y`;oD+qZ2veU+kl0Sd<#%f5TO!Gm71O1+&>xWWp< zI(mb5^{>}Nc$3HrP_T}1gop1O4wGO*gbNCfSmB+i6h;mko!p85g||!HVNA*{`WBrc zazo(_D|mTHAtp*Ig$N-t+&KXXyXJ^sXa53vZk?~>i9sDJNT$iYtX$QiP6UrMUVwt_ z2WN2iFQga6W!Jq>a9qHQB|9tGoX}Y3PLdz9>FNM0yCDTBLghQ8a(kHJ5p%Ex#u|n5*QgF;%PG`pa0EOafwh+}OE0%0h#FQu$%2;8; zRc{y;R`sP70Se2r9KhWnl)k6U6rxdRUzZ2+m7Wy1YN7-2Pimwa)y-dp7bP8HZc{2FRXCDUG^(*9!64u zAD~d(!x4&fAJBK4bm$`#tTmYaNlzJc#R*RkoDOX)Te%@&w(ZcWS|hs3gt&6AYQ3LFIiT@pKt;c;(j{ABpp*4 zY*KxSK`JXOlRX!;2(h6PEPjB(l^>4q<3|qt9U(ggKSQCA7252Q!f==J;pAoI2Pn+4 zw}W+q+B=ZoXonmWYFHs9UUpvkyK5;4++uhE3giCS!FtC^ZxX~FeU5_tLS`(D-Y$Xg zUV+9Wi16hFD6CrS3i^Ev>4{9+{sjsFtnhlZ6yCtNDMScV$>#(p{BCdtz0-ECBskZ< z0E0MInA^< z6mtR;`dCO{PL(^IYq)(Y!N7SDGnV2$i2<5T))T>^&pS?lg3~u=m{=J~PxmKUN-+pw zg@goeI9hYC8xd~XzUKre>?*c_r1$dlymZ;?0|p7KaPhSmjF0L3A_6}^;m=ZASm^hK z?)0ToA5q9;g}vLPkTKrpG7%KoeBuNsgq66!=_@Y2B24{u_lxR+uU~4soki zKO;fzUtWNMT%IfRa9 z>n{e8tkB6!49B{6q?^PKPS1RTra5=hWyO=nJkLj6j6 zcrUtaLIRBiT`_pT3c&?pX!4AtPdKJ;;RPrhSGI%Oy;n{q!jP5SQ7B*q2ia5nM*si( zPBngjLbo?IknZ=Bp81^T^hBYG71m!7!)uGZF=UgHi+KSGLbVGFn3^(?1f8DtM!|L| zbEG$CiJ@8Ho@y%s6byfRK!xy|9=MvDeNpgZh06yeV3+E*mya0t=&Teqfa}qrXL?jGDp^g>$ZkBxj zu*aGiWRrSt7|sb$DDCeB8JSnCNHBkiA_k7jn6cD(h!}cTs)mrDQzkD!p+MIS>~HGQ zbL-<*BT)!qh2&Wh=qI`Qh6wxsh23t>pz*5CjRaL%qfv-wg`<0=@axNIdYXA{!V6IF z>*xm8$D4j5!UnyuC}gmLrMVa?E*iqD|*~85Jrhl(53=-eS1D!DAi~ z_yG!k`#L~`RgoD9qVmV1P|petMH28!j?5szo)Z%|0Sd_m4&Ye#^B4)-cB^6Fx||tH zin8nUY~vXvtq4%4O!0z}F?9n;F#Odd6hc`cc(^wNS{|Z7w+3E-Lf#k=j7trmCo&V0 zsVF3}LX4gSWPe4HPJcGK@B$QW?stHZ2AcL{A54x;MIvz*@qYPvoUC31>-C!+?&;d zE=chM6k7DH0WLT@6XEB3brd{TFk>n2uNbBVMthQAw&Pq*fI@7j4SXG+a)<=Nq4^j@ zutK_y6s8-5(vtu`K*6z#4NPCrn_eG&Zvhl;v%)*s-23L?&4Pfba%v7Z(vK*8wLDY$y_)&deNZL|NdgZe>gm)$^9(OQ!L-H}T2wpH$w@ym9Tf6eLB&oCLHpF!l6_cK%L`CA zW@HEHn=I)k`^W!VgTfb9_$gb#a!h!VO9Xy^LS%0Tc%n4RkObHE>7rn*%^YdDcHWSv z_Q8<^NuIm_1@}#k&_A>79}-9`^-%C(g&}9WVcv`P^pni|0EOvoPQ%n*$2Ev>)YJfl zSXNl*Bmw_P;nzu!R>ccYkelrYTQ2+3>-2WLjVPqDLY9JTop1O6`pvK8MqYqIy^Ry- zFV%QKHYuiJ6AFc_@FP|XF;2#G6^rrh!t}GN#Xka|NJ2v zet^O!+3L@O)o0HTp+UzCh3~9z=9vf*@{}V;U{TKtP-xT34yE{QuB0wSXuRWM9eM>Kjj@n01$Yg~J`(%IUtb6)pBJcwgJ{34X z(>CP+BydqbhC(STl%|S7xtmTg2{P~T0u&k=WHW)>`*cC-Ys?80ez8KgKrvX&>T#3^ z6;F8q3eFc?p=#USX(ULyWr>3OYGy1=Zx(^M;nsH~u%2hd2~Zg7uPxc3Re%?!D8Q9`YLTKvPR(+E3EYt!}<^V1`$DNs|_bWp9A(9ma-xou~iMkLX@Bt=a?2`y>3w7v)ecl&d zfWqrQN7-}HwH`$1^Gb|DB`c)M{`^&A>Ulad<_9Pw8aYCJ{TVS41TAkAnpr_@lms%` z*UlxuToYb^!i8K%NFQ_SD+xZV_eDXvmKjUK+sf9+tbSi2!Kl}~0EH*94zSWSj83ID zRrsS2!wM?0Kc!YW{_F)J@B#+Gs#syQzX%HZ?QU*G zfP%^%JCJPDqz{988i%7`yN)^1oz-M_>~Tt8h|t!V7oad=h#jc!x1b+ga6WPY1wU3$ zJR||lE|K)?%@0tJZ|?%(%I5S7b&~B-C|qHMG}(K)YV)LzWFIbwr4a#R=`u+#8BA<0xAN%hjO7F< zcqVy*?d~GFQ2ulE6%6WF;cupFAFOidXRyi-@&XiM7Ffgj{WIviwa1n?6dZM#v2<** z7}o8R(CH69Kw(~`>{}wy+ePG6x|S1CHV9T-P&W$uL?3O-9-ltq4%COtOQ(6u)#5{7t`)LMSWv zREpuosCB+1ur+(Y2~coTT9sUFZL=4 z`f5EwA&V7e$nLTfes`x&n)m?<`BNO=r0bgfM6fDML!pcnZuXJD5Qo91TM?j;8{q^o z+K*3n{J7`z+9!E#(8NH_{cwvdyN` z$;qg{yZ{9?4|~wseLSD+!@r7WC`7Qr8f!7^bCO%riU5U)>uo{#>UVk^CK}|TaGMqK z^~BIu_60T~sGi^jC~P`o13gYnTtR}=-FYbFvV!P=2uA$wJF*o43JKMgAiwoWM-sem z%tzr9E6mv|f|bLLd9@-yVZQ7+P@9F>^pf?rq5y>^Rm*VuRBH77v9`}j$4U-FYaz;oUG7K4kduqRmrSr#u! z$R@SvTEq!ZFnHns7xW7CNzm(6F$T%3a7stEa&qz-y#lrT<^?Epy>tdP9k-(MR-KRU zP{?Nm?e!vfJx8$v*(82|LgIHvxMA+Lj|7H!?@{=|3Oxsi;iGnb9SJhlmvI6VOp2T# zDa+Q51g@Ip7+4!HNBU#97)~~2Z6<;94qkvlmx-1z{Jjx<@|wE(6AC`8@MM|@evDl~ zFImkmcmWE_56f283tj2(9-2~#LM$t&%oc(6{Q&wM4&^dlfWk_!2Z!MI3&>8ZMj8*ZTZ4h z1StG@=M23HeC0@RFzW{j0j!{RSpvu3eWy=p_yG!whPy($}t|a6yjK+Q<@0w zM@Yw#O={l!ixZ&GInfDjq({;ty=+AT25GEt&DIOn_pqQB6n=ohW2rkBhrbOZo1`|o z5rraF(2;$sHp(iMeiGrz9bSNf`Aj?bxgbeOggY0TQ25RYZJ&r>q-54v62v~?1t`qk zeG(2?>{cN`Qera-&KsGrH0z}ZW;{Dn(24*BHQBdBrdxY&B7tML+`9k!jBW@kywH(A zk;?LeB$%Syh7+LBrl&o8^VqqK1R68iVUWNIPi1orjlJskS`nadQBC%#_=XX5g0)$x zJqnqupnF3MTMloclSF=i!n<~7AZXNUy3>-L9Z@J{gIH2sM=*qPh|W61#=HO`1NC}4-pP}c16M6kQqz15;2q+{O1qZ z@B4sN|ka9yznCqO|**A}i`5Yvy*TXyS(!7WxW zYY~C2dP@-z_yG#`nRZ|^B}J12=l=9YA)6J3wGqSQ(U<7ZD75Os2~f!GFM_#>;a!NJ z=GG5`a#lEQE`>pA)9B~<_yG#fCfh*g&E=Pg@cY;R6dGBfN%mbD`BTxiNf7jx7ocDh zXba;X6xNf#q4QuAyf!gosW?#tue3UCXhnd6?Kvx0DIAC-!GjY+QHW%P;ZH?Svt3G$ zLs9@QK%vb?YuNugvL6vXI}JzSE-Q$X#IVD$&yH3EDD+(I0CQf!IuaxuRzx9>6>iI( zp%~2Y{z?L2@CZ(Tg5Dr2&{z9>IuL3z z34Ap33d`OOZ6v{w?^95)HDZo*ml!dez21jD{5sipDku2g zKA1@$)**K|5klprW8lXMcfW|ifBi3dTgDGi&^5Dz;+OB25W%T>1`1bLVf1y`=PLUa z0SUI+&Ey0qG{;%PsJZ&|bpLM4Yz!W;LdG5uT-LdIhX`-1c>xNpDRwX-xN1EKZthb@ z;SDP^$FW@b`rcy^rhBMiYe~R+uCkd=rnG(v!fy zk-Pwf+7@T9fjoK~)O#*MA)XcD?npsr{1o~)fghkSD%Tp8E*>01UZu*vi&4m6g~^H{ zP}WsnMuI(|OE>`v%I_>edb&QD1R7>bF(_e$I@uao=Er|@O<<}AFF-+Z&>mhNQ==F5 zmDbBqsAmO#+2{GLF3g-qHi;jg@cox9Sa$i(ADk=Ow-N={t;|?Tm#y8uf4Q-S2z~o# za{?4{-g z3e6A6KAbSyh=S)fW-R^I5rO68S@d4i!Gjl|u%pErCRuKzw=~C3ZbBh~6)f_6V7d4; zebVIrj~Afend}HFqd(GpDD1igh1;yKaFY}q{^tB3JIxPJFb6B}w>hLpf}z3NP{?Hk z$r2IF>JmnGnjfH0am)oS4mbZtgl?`oQ24|O_q9ZDMqg_u3ARk!$q7(!k$rdIP;X%| z3DSq|#-NE6JjRM)QmhAEmF5R1w3j_SUe+nLClMZXGC@JSof%7yBSqkrW>0Tkr@He3 z6ta8RLFw$v`9x@UVh;)zS;6s+>~|tmiRmY3fBN$R6n^%$2Frp=^g1o)WQIaAD~uT? zdurKXWH#9(et^QVotE&m$=!+sJrA3skk1N^vOgT&uJrI25}Y2ipA(>(+604KI@8B^MVp(C!Iw?F% z2sIyq5I5x^aHV(ZBL?*$_g)KpJdiMIE*S$ilTsvB zC={~7k6IBF`4#kSMS#LOQ%A6v8hC*OZq}z!s9}W)FA;q3sipJQtafKO0Scjyoxof3 z;z}YsH@C*XekU`Qy8jS??TjPz9!ThG!wFF6W@`s`RjibWpd)98K>#bv7ew%UXBE9^ z;s+>9X|aOqtDBz?;eNF}3URDptl|YVI&D6Ypi<<(3I4Yahpl0InxzQ|jN3Y6kj4tD zs=Yw6p@OcrnvCKFD7;a(1s5A@Pa^E><%&WPD-_)Hg85rFj%!7L!uc>)*)P-XM^Ba2 zO>QWBXN8AtWvij7Gw1`nW!CPT00lkeV{oVb+-b5&LHj&0aNfm?rSyYd(EaqsDiWOc zeELFKFm=z>NgkLwErSzlNOxm#a7F zGxj=HUldANL0Tk&$8*vQiNFs~DBo)Xjq+W~NU-F%KMKEC!Lhp-=4?<7Ac4zYUVwu9 zcuz8)#g^882(Rx9h zE>mZ+JDHMZStYALC8`|#}N#76r0EL0F@6t?4zfLEK9}b71 zkj)C--6T-?TT0)eod$<<0u&Tn+(4`3eJ0t5uk9~jP|gbOvbneRD9=|qB2zEPY2g^@+}a3MUuI|--#Ci|s_m|z zaF-Q!t?`1LFBj0k#}82GoM;O}HA{{Y;dAX(6!KVMV~_|w*VfW`D?dQt<18C^ea9r6 z2)bM2QK)1EvyNV{a@Q4l)3n-#7obpFW(Th00tOJF)I0%&W>%PLBLe@sv*^kRKS05C z(rJ+U{+S*)k9UbENKKfrly}_=>c@rAcbu=>O-_J9fUz|kRA{D?^{dslFo;&K|5M9;qQa?NyP9!W&kIcp>|&gP9)v6fi$PVbh;euuC;> zH4*ZTKSQC86`n54bfO#F zC6^PRV08X8j8)x#m+XUT!*dLRSYel&2*%g`y-tF|mU)~2g`hwi7}jT*gak+2@-c{K zg+nPKn4EEkK95W8@sbmuaKP9Ws>a3MCqmt@R~Tflg0Y$i)PqvIS`nZy#O^eVe6*@R z2?{&EMxlfiCYy?&qshdRB$$4M7oc!|sXgdL_W1uXcIR<1z3=14kzEp5vXdxeU$S5J zeapV@WM86vo2FHorA1Ptl8{O&At6aZwj>oLNh&)@%JMtE@AdiTdY@|^kMaNO@jPSh z=G^B#_na9<0==LYC{&7t)JDEwHll8SH3AfZ6i)E0O$-{R)`?g`=+=VAPsUorvJqp$LNzu`ub15`tb%qEiPxK%w-M3uv^6rJqawjfzo7 z6btKjc|*0+sX}r{hEZIAf`hv^fplEVP7Jaw?h2OPg;PJQfSl)0GfBzIXyTBtH1xYcOog?c(ZU@~ylE+X&& z3UkWk5aZ!Z{~m^a{(-`8v2c2)0%rQJq90_-e5;rM1??I~PO~H3mMrL}Tgu zOC`)%|6>e!4Saw?gFY_MV8YVRB(UC9gTfiHFzB=r-0Emmkf705EwZfcpx`eShL2OiBu@)^)1@?@3s5-b=mGa8nWU4~ z5I4CI3Q=MqO?YIWnbv;}X=ynZpy0g11s1s6r^^&0bDE%#Di*rBdc#zOEB%Y(0~DN& z3RjArAMcXaP-v=&Latc2Efeg3BJ!SSqs@*7*|kj*(z#DHotn`$Yn=-PScCL8qs! zPzV$Yvm%uc?cO7e1injjm;i~_HlX{ByfM+5ruDJVcR-i7;-KM9^K!1t{bH(4)84S~^LPUy zY=6WBD2&@-12KBLx{<&)xi1P{`$S{uYmV?8j`EN6gUqgg3sC4Xz!UCkoTt|h<#+p` z5GEE5Ui1dj^D8aMA@KnU_s>cp%R*a5g87#Qpm13%Jm2FDO>Oo>ksx%`Kqf#zE7KNs z&7I$s1c$;0Ven8aj1YDr40y3Hk^~243}ylp<_J$>TvLe1L*ks57`< zT|g%%A6t$^Az3WEC{TiC`^I!;Ts)WyP*^A2Eh~SpxFvZFy}AJkSz^I8${XHKX-H?4 ze1Jk-JsF%x*iY~6R%=c`p-e0|3eS+bxp{Lha!6;DT!2EW-b!eExHUbCy4p`d;jdUI z6L!#US~HIZyMnm@g=*pV6x%s;3nGVf=Fk)r{Pv5+(!(?*7+RJbS0g}SQL+QXZMbJg zf?-zEP>2)@$wQQIxMnGxRfg7b0SaUL33KlqgY}7E+GHjQDPo~e_}0|NqLiO%1SmwT zwg)JFME~Mqt7f5)BNhhzP{N_q6M01VVm+G)P-rQ9wLaTp$vzTnc{2xt4`N|;wl}o> zvYFmf9O^Nb2~fDyPY$&OqZ$%nt@(Tmqz6Rrbn;+t@cws^UefRZ3f427!0(3N6(UGB zEI=VZEZB}Y3~dWnepe$v!Dx&-^z}Qvg#-pq7oiX%7M!2@K*p*ugGkV&k_%8+aZ&LqL3yQZq)ICwqG;p?Pe2KEiNN-r$^|V@7HNAKp}A5LD(2L&4T>5=J>5a z!OdJWmI4fvaQ{@;P&EP+uH*>63E6%p6;hnmp>Rwr1g9&6FA#;$4`Z!f>zM$Bg-1MK zROo*CA@H@;MhxP_!k?hSup_tKQt}%30ENnA58?NxEpthrQD-v>8DgRGf)chAC)2B4 z-*7HKp-s62`aP&NB0`k6DGG&Rp+@*F&Eg;1O4JBYSd{7tHM2g@PwzpF+fb+!3tz7( z;bQt$Eh1Re+s*_i)Envq_x~LDM}iFPofvpph{n>2MN0THT$6rO@&O8ibnW3|Ve)n& zc>URhLWo!xKENByzc(yWBS2xxH7Sf}ul1V*&J}x5NE8ck<=!xP-}5>oxGvwz1Sl-^ zlfVnTd=nCMT4{zsrdW76SP3%+{-$S9O*<|?!CiPBS*UMsdi~H~+W{1c#lqAZ3hdAwNHJMB%Ym2(IG|_n)?V zOJ4NrDlR}lvO@}wGOg&)SXbhNLaA8rc;gLDkKaxp0w17oXN(J6l&l_40vih#6n={Z zx7pq>yvDMJ8UYG@e4W5#`hun;_}s`H1s^NXSnBxN8-CnqN%w2;0SfYemhh>?%Mgg6e`3*m9Xw@ zQeyjo2)EyG0SX>|_Hg@U^$HT4`s$5>#9H)Dzc=@W&}}tzXtXf*VFDDo2+wsenh|}D z2&W5uG4K})U4$!kt9fI)kf2!V#{?++=p^h(e3wU8bO-PC#~?~9B-JWGmb}G@2z-D- zn41jdm`wOYg2L4SD5Q#o@%@yr>&5!VB$)J?3s7)LbAwUSbH|Wi)Wbj&a>c?MCk5pE zdPFa2j6QP#3UdxSgT=XcdRxc%9I&AE3~Dqyv1g4Wc)Lo8ApZ z!No>2mcC>tV6sxXhzQ}cPcQ)rldYxjy-zNkN*^2*ib0@QuoT8p?CUXcL~vNi1t{1* za)Jr(8fubY-}I9x#EOMF!ngg0-mhq`Mu386Z+DnznAnp9Q-+;FAzdttvR1&)s_p&N z2vF!fTmrdGEa>*U$$F(n;9=4*fbnKz9Q2u$FlmuTVM==2k1`F+=eoWPD z5?mP+gF&!ZxSFK|okjhrzy~P!gYY!T)G|7oY0@$rpsZp=NhZ z5rGd-F#T>0H?^FiNs!{1h(eWEcv+!@xGg=dli+vrOH6=*>o_Oa*Y_s9Vez2j6%4%W zL}TelmO}W&_ki_8sJg)gDEMewfngWj0un5XzKTMaSSS{D7a4A!O6T6;1CyBmg%+1R zp!!CuS|W@IyoSMLv9RZ&62{3cYLnpdxa&-SLRG17cc4!~9}>9sO~K%ySkM=q1$;TR z8C`|r0~CJeT0zA{z4t`erkjdFiCFmU=mU)ctLYgiI*1EUNbX<{*MFSqM})4CX(-f) z1smb}4>Tm}IrM+k@8NXJ7!5wKhIV6|ST<||(gd1`j?!VY{$1XNgObKq6d9 z%tpb_K{S@Mg>SD-JSL$Z_k4iD*a%CQT4GMGfw~$zM=&= zLHwx_6k^1}^OnMoz_?c|CqZ~R7ogA}-3fX{U9Td6G`c zNb~4}Aou`<%pDR4KCz};uMYmRYB}~#lYpt8P;isf6%D4DE=utFlW>6)M@-oQjk?iN zsC`zwjTDa;eL>?GW4vuGOuxgXv?9f-T(&^tPF*vo+&Mdl6!S{Ip%KRzYlQ90n}Rc? z>J(@k4|D>(l51BDu)zSiW3N(yPxIt&PWlp512+}|!lQGt=_J*w+ z-o&a?pfON*B8K($$T_5#qS+9QV#biUctc{Nb^S>(u^(HYalP0H8YWrqA;tanjnSxP zjG!!)J)_4U7+OCzIlAeH}DP8RPbOCD^C< zFCxXQGi-rItl>e}JG(rR6b<~_pz)hAb_fp{kJz2tRGk71@AKABXW0{bQjBqKhlY={ zcwBjb@GzA7uR4+4IQNo+*#~DiWF|XUC_v8j5n*i;qZk~&ZKzI zwkubl5i{Ec+V?xYffOYg-La@(jKJyMP^WG`9a22kXA3mCnm9nzfy*AG_|dWl8WI=r zdmgJR+%Ug!>%BS!8mlfi!fhA-6{OgDvL_n;jM36wF_r@ZXF-$rsq4(#Q3{ou6>%$dj z>>KO>2ODIhlVWHKBP?7HE-Tyo@c-$Q|hf_by!ZB!!;M zU^D_5V^Xp=gl(F>Qk?>gb`R_!dDbF23(qzkibgDBl)P6!x6yn462m}q7+0Wibec81 znDO%}DN=t8$0D6EJ_wJ9+G*lGTAc!oaN$0Wtd0gff8>>pK;tE2w3amn;mrS^JddnG(6nI<0?Ry zw=bL?mrsm#O~!Er8cBcbAgQ0}YEtM{0T#iGaVN_gTvB_QsZ*elS0shlx~4v)Xz*qN z8VQWy@mC2)XBxIur$A%6s|93F|3=^Q-3KP4agQ;Qg{>JKy?3S(Lq&ncjuGf*kUFIu=!op>e|-YI~Z~zrn>v zW^e@>%L43R_xJzI+n2e_!otg4Jg(Y(5gvQKf6Nl{I(!?=<_a{t4qL*?n|CZ|(Pl0d zVT@5E{48n{v(ts@6lfGZbOitC(N9R>Rc}5TmlbSL+TK1ICbK1J0R-^tx6>fkwS?Qkc`IPYN+^ z>a9T|nK2$-^M>Y`p=(Le{|;NAA$50!{WfptETf+9IyABvW4Q2HGNbnGIAT=BvjrN) zK8|24g}J0C2-$!}8DrcF6uv~g*3gv{y80Wr0*$8`cChGk3RNC_|Y z)TLJwT7%gFjf@cz(66l6N{o(OP0{c>C>~eqoRu(mhyDz8ivJnuE->WKjK`$dqqz-@ zNXB?P-W$?i#L_FTxLCG8<3zDN1k{;*ni&6%??5AkF-%4%;pL#7>(wdH_~_ySSEA1j zBE^~kyV1yDj1Mc6aQcE~6LktS*33Q#w>)l~B*pknd(rs77@5L4+_>Av={3%S6KsJ- zNK0Edsc%Zp&i-CzXh=Q9@A>*x3W(j)xidK`k7%|)qu{&*#%oPEON#Ko184*=#&cnd z_85(3bWNsooH?hPuwL+luDz-#&`8p8fNohaorq!B z-WrWG##r{m2fj}jNmrfyudxLh&c~&&Y~I3G#JCV?i$*?U_&4_kFAJS#>J(_qnB@jH zYmO*LQFX)~jW3Kbdy_9b-uRA=L=^=ZiWRQV{z_pjG4y&%&~Q5>9#^L{m7t8**r`r| zM#*D07&?3UF;YBgBSqsFV@wp*`izSubS9&sK;yTO1^8WiNoSTZZZ2rVF~-zTCA654 zS(hAD_-VF4qfkc%or7vDNuht(4UG)O_?ztmXYHp3s8gUZ`Hc*2Zj;|3#fJt5(I{k$ zT;cy}d+{IocmA#yTcGhPRCo@D??t+b^F`+n8kLM;KT-*8=AEMFC=~@7Rhdq3#cSRR z@;Z9C$k6cg5|1n6S#s!K;r)gbZBDTT8n&IKkTKCDkQ5p|3N%6(qhSMK>~5>=piY5C zl<-T>uXPX7nSN(SZ!{7aqxl9UJT9r-PYjnHK3su@wW}*keI9X*6w9>zu*hVLry;`E z8AguUON!UNY=K6l@Ll4|8O`b0xucUm8pVup;k&SwG2!lJVzdrp3pB>vw1LP5HFQm1 zM-hNVHDmbHC?L$gFCFbF3N#j_+Ch`EO=aY$c6AFvLoO4Kt95z8_Op7A=~1aD&?wEb zgQ&`54~en5`EfMD8N+a!0&Z>S+=3M4O13~_w51bB!?Wn;)&1ZTXe2Sl`8C2rP5X_Z zXJ-`!8VwFg;p~p}UgW3@yh71<%ou;R2|ue=c8Z=q>;{H$1scj~7jQOhw1ya;I)`IX z${5H0C?KU?{dMXTXqZj$0L?cu=xS6z(+D(vGe&P=?e+SMJ?Dtg;yhcR5%Ja;w05DX z-(U*fV@!(S9+$C*VvNDJ6~Zsq+;JwwptEd&M$&3wALUaWdQ~*fKM9Rg#u#~930kFv z^v(f-TVa_wxX} zif=$?eRq9sp%KU!mUEThx9Z#wa#Sh`G&ILsfP9h{U5D!_xs66FW4!F8gr2i@+Yn=m zemYm6F=v_!C@Q0Rk>Xs-3@p+aqi0VA9LSg4SEoQD`+^%tuYUYUic5d*qVbY3MhF}G zx4wuhA;kjeJ+46GgQpYN=S|Te#e8KZ7T*{nQ>lPoY18Q0Sw(?{);F5eO+q+L9#g^sIu_$7UFkxJ|eb}cuiBWfbbi34Z14n?6vNLuV|DphV=<=$T(LukGvl$3N$=5gs0vFhYlvi zw50E7{AG;#kqW5pWA8=^kFk|pfyO3ND_8{@bk5MNZxt4Pe&TU8)lLb68h!0S487TG zfrh5A4)=3Ii!G%1IiebkNX97kQo`n-vhJilK}EQpZ6!E1vz5+mEF6B?dJ#N+DbASK)=jGjh{1F>v@ zhG}0{@ZO?HccgePm_e=enVh$QUUD6_DJ0 zNCqjg=XK`_G)`1|f!~0phe(k)rUw?8jPd1#0+!oWO;o2qsaYTs!tETm0|;>XS8G z>lT$oj>`K?Z#3iq;&Ejet%L%@8*)9(P8Dr0TIUK*3La#s4^VtH8(LY?lVAq`X9D-t-YTV zYi5n$3N*?Klu+I(XD)32DavB|C3p9dO zS;3LSZ*q*aQDhf3Gs_dZ6jf?ae=i<<5Xhbo_5@B!D45w0h zmD)0oEzt14D1i|XL*|hG-KOa?&`4#Bmcn;sx~%PWNu2@>-L1m2<2_H%J=-Snv(U(8 zjL+8<(9>;cE-?-dpUo9$>>6nWPsT02Ns7=ObFuiu7<+}e=-->ciKI9(nJv&T8zzMr zdDrN!N#8;9(QpY8kE_;K_0%A0*zdqgRn!Z^)pgvPh5&dI%AA% zCwz&1*FU zGcpwg8Xu2KV6E}yA;f@No6xw&7)RR3!Ewi&tE6x>-OLqeJWG&5gn>&eDPk6xVo}5x z)jfpyRrmdL^;|`PMr%tc^xZaRATh2?*oHiwMTB`|Sfy_71&HjD}6@xdM$JN3Ee<{}*&;&F3EuSR^w> z;4cLPo%loVO}uLB$Q5Xe|Kb7(C1ZM$qk5^~ghdu({Qv!lAt7z)eKi#Y8V$zSftk-1u4cHaOMg$7X6dJ9NhtQy`+iM6^p-&aZ*nSJA4ivCB~0l zZd`$enV|%}#6J!pg;8q{Ec{N0$CZ6EZ|E@b-xGBTGzxs|p{U`sF{D^o*AtCM#<2M8 z2OTRcSCb;xg)PtsTImjXj{??^;?F)WG*TEtL-^dyGwV@EigF*eK*Q~p6P#)Njn1!5 zJIc|>VT|>{-{9$P7W6$=QJ_&>>;`U<7xX&HYo`*84~&rXyfoqV8X|K*Rg31=PQ`GME%a6@F+0FvdGAIn2{P zwu}@Vq=&fzjepbZ!07A`IwRXCIf6wDV|blbLVt<$Au&`GXhaT_z|ZQ3lSy%N*HJXm z7-Q%^;WtyXqv&;1y;gx-fyTZvHyBt@--j6W3xlx8XN*l{-tfAO20g3k{9_9=N~7&S zo|Q+hIU9aBj>Z?p*!^1$pP!k~_ha{-V6H%8t+y9keeEAgUPoK|5G>q6#p5buh#y?A zU4LGk0*z4#u3-6VU=AtjY!5@@7-Mt|Q@|gGaC*%-Nb4k5pmF@11hV#QSwf6swc%LA zF-EUJ3OHu__Psg<8p&bS@H6S2Cn=)KBGAZSjPK9oup|iRT1LN}r?~=+y)C8CIKGU| zkZYEm#iEcg4q5rax?~OdDOzpK7HG7+?*VV7H$FsOM{m<}XjC%BjJe+MVB8Q7bqX{d zb@zZKb$-!tHQ{+Q8lGX|adrQ`0`$!%6%k`fHCv!DJ(^bO%uKoH#(5c6Q^WdKqHYcJggMZ-gz>;y0cpx#}#P2yd&(HD2y{AN2NC@ z0gFt==qNmh`}V23^pm>tCbmFh^}QYW)1sV;vS-?*7-jhgS`06Gaj~V0cYB~I9e^8=Mfri;9N9Z?V zTT@c3%Dja}DP!meYvJk9<*B4_+ndG}Xaw(cg9%&B0!gudbvhQm8N*ljPTZ^$pXht8 zqCmqa$OVEsS{o2!>C6l?e8R=!>d{g;nEFnoGnvp&Y=MR}Lkcklt?BG_|BHKQoM8;d z{&Hv@U+qnfN=1Rjvmht9^x=g+DMs&lfW~#kSnr_#LlfU-R*#IQ;h! z8rh7|RAY=5_P=G;Pz$0>0Dhf2*@+~2@w}j60Uu`T! zBbG6SD`n6q`srq3Jab_SG<^5jz=zs@eMnKduMCZJ#yBCY={MN5fvyM#|6q&%y&oyg z@P6NQdbJ&=@g9wrj1eL1bspmNlFpD-6ljbdZVSd;Hq!akr!ODS_{JEue`HYJWg6X6 z)aSrQu0Z2hffRmsjh;;YuUrd0Vc~IFJg$1>3VYRR?oA`bcc;%>fyTI4R~VU5*_IUl zc7Mepm@y_!ki&%e`YGxZXe76Hh2W-F+mOO#)ps-!7$bC*946k8?HS(21se039E3-q>6*lNwWb=4BF0FQDB#(OIJ(yN z+>tHNIJ`=Dj_`&E4Pu1vtU;rSF+w%GVSEEyx^kzYKqIra1DIG$+e8fS<-gJJIwKxe z4c5saFnQPpQl$T33pASElEP=Blq6C_RQyFFj4@1vJ;FQuYv_DeMS;eVC-$&tp`2bD z3|d)t>HqB!zRVco0~D~>x*uIt>u<*vXy|!KplQ3!i^=Plu}uSwhm29XQvuJN&d|>* z6$Kg<^PQlva_miF+*#59jS|KiL*(#C!~P2?oUXA28iu2#aQkNbd{Ss$?TSVYW1JM8{W;}RHoaEU zY~GD4&{)=YAEa+sMbA+iJLqBYfiYG)$zg_8@LzIN%SW>X8V7tN(D=ZMj-*&^sE>y9 zocKKty)3LP4Y0gHio$bjfky0EXD~~Or6X}oKrb``7$Zpd{@~$WdH0Ah{|Z~6@wbNq z%z3gxmlP`^4AF>Tj4}7*@V548U3CgHeC#ElE&WE%Q9s)DMI((dem|3g-DiJ#t}QlZ z3pDDzwt)qv27ctI!u0#0k(sN; z*#eE3bKD`hFpOTGuZ$moMh0WN6`r$w%3e;_$W#<)l%Mi~nre@D@;YooMxjy27{7ih zVa=~Wdr5J7@@TF=WBG6wXj<0dIVq+L9*adKW9;7G17-o&pQ=-!(dLL9lpgX~M~d!U z0S(V+@wnPA>`z=*eVzVasVLCc0Uls9a&ZDNjAAFC5yBYlC;33$h~D(mM@50gIZqcb z>ZLP-7|V`NLL-qerj*J-OEQW6?|OHe%oS+#ePjdLmbUbBSKo6A7MYCkb)E1do@raY zlcRF)Kb0%c$g#EugAJd0lES0obS#P)BP2x*?>nBR@41Qs4aWmcupnjf9%AS;nTbX< zV>}bS&pCDPNV-BlKAJ7i@Z2a|tBpNQ&zutjXQLsH5s#||vxVGMt2k8zQJiFJx3Wtu>~4MMXu1XTQWV@ z{=2dQ4WIMkapf%B$0_ZYsZCyoiUN&`;ZD%+@2`HOIMsJG8fO^8v|0(0!SIO`M`yDI z8sP;_5ctK1o@Y7bxR4_(&BRM>6YDLc<|6a2N8tx;dkloYMnH*K!FI&)% z#EReZwvNJn2Fv=*)hW=3_TLYWh9iwMHFNF5YDytzP6_8qAChBjs$wZ@R>E#So3ce8mWviT2~IT-Oj(rQK=}< zNYgNfX12E$lA_0lJ!s@IhOzLo<*A)6)FFkBaxYh)(Ky5zEN8x&PKpeBGb}zaMyn_} z6t-wd&mSrZG*b2go8`7xq%+0_;b$66lJAy~LTSSmXngawhAuH$uSjv!)EkM1kzG^~>GCLP6f*E6*un%CGY~?_83N$jF zTY%BxS#<5So0dBo35;<>*e7E@s$m*2R1|1LyGUS0nKivr9e3g&8uu7u{YBxKfYA^_ z3>5_$JBB&J^uMxpq|lTdLZgT=UJ3VDF23k)L5jKBUR;4j$}(#hJfOTADVBDTV^PHz z-Dk^T=*d>}x>iMj#==|9aJ2V-RyjL2Q=;J&FCJIE^M(EGsm6cEQCXa43p8H-wuTd- zarAF+$T1%@!WhHqwhV?0n-xV26$Khy=Qs;bXzK1tiXR?+Xk2ED{Q+`lvNC@%DF$gC z<_a{ndw9V3_pNM5am(Bvi-(MnEf_ZvN3SKt;tof+0*!ZPtRd`l!}_FS_lFVy!UMP)z`SD-Of!yVG5r*9`k zx$AK(lnLT-HC|f|US?-?)G5$txx@h?&ef;aI3;E$(1>7+jX!0ezv3OeVo_0`5qirU zitVy<$Wcvu6N*MMV@w(^hmQS5$Vf4$ei&Dv@m5O#x|MB@l4AMSlUQUi#!}%qkdL(t z*OS8ca5z_>F}{H{*tD0^_dHD+fkhc(l-F0lqsDqc#86S7QP9B|M%?{I_m|9TeHM+s zj4`X99Da{DPxscUDA3rnL^ww+F(@ZTHKy)4H2f}#$JH<4xj2oxE9rOpR1|19kClL7 zqd_jjF!zZ@Ba$)VR|&uEq+@5UPJzZ%V>f7>`T!DsHwF9(1sv#jpup$u)X`=W&AKKF!)=l)MS1c+DG_D%=bEA4Mq%!~&1sVpo9H7V1-FD=4_%=&J z!|jrIT%Btp?7#ZZvw{>i&a(v?E5F)7Z@2QXr1*3!9gSm*v2v{(b{hU#p-zED?MQQ2 zbuWQ*XiG& zhg!P=;HHz|5PVhc1TJP@8` zk#XFX6ox_BXoN6^S%t8l;Z*K-S|qat8uAbc)H4b`MT*;Ja?nU*j4hcmm|%ODUU?0g z^PDTtNY*+CM@K#IBgQM;JS;L9%+9`x0WypDk_OVN1D z7&Xll@amU4y}Apz$QEdr#7Lm|&ylq74l6^Wlra_x&jUEwW-1*eDhf0PFL427pSpSE zb<|T83X_z%)X-b>3k}It@p~Q`tAz7yhtexy6$KjRjoct~ zOl$f#*keL18vcy&X`vFnE$Cg3ypD}&Y=MTy9}BROIXui)r$FP) z5NEh|Y~u-1JU!bKjabIGZ0`dl)Ac)$qD{YMT!F^dQVZ}%=tEa=nsjK6MLJ`QdnxSk za%yBujGv>}0u8B!9VCv*NFYU&K?^iqGRE@tGN`&3s#bwU@dkU?8qtql-RZY!iN-g^ z7^@@fv#e`Uha8pF6}CWQitv266R)??m5Ja89W*?yiO1DW;hwPNsi$GYP*I@qqm2_J z*%pi@#fWxo(FkUYb%*6J^Or9DzZx)tEzp>gYz{wH1jG~Lr@k&435+qTkpdd5xJR#} zR1|3JeCr6~=cM!{hUwuBXxw9rmwOaobG5!FDK;gt1sZ!lx`OVrnPsF1=+zmGBF0b( z*Mq~ZbTcG{?=-eR!!O4J+W4HNcd7?o?utegW5fu1=$+k$b|prSJhnh%Tr&x@FsPVG ziWceJ(eS!19#`H`-mt5$HJ$H{-mb?LXf$u_1j9nFz9mNFQhhAK7$ae=61Gh3yOk7A zYuN&gfz5^AH`wr%z8^=*dZBTdFqlcV~%tTz@9 z86#VG-s^zVQ$0xW(V8vL*t5?G96m;dlOknHUo=V>LoZ$ibs9{et7;o6*aD4U;k$jx zakuH3jQ{g~Xw)#qpU*P*UQ$kXe;%x63p5-qn1S2A>V@QW9CCW7J>x7`G8l^p#!w2+#=W*_{C;8>Te1Zj&$c>2q;G)}DPC?I zibgVHY>kn_>@sKicRu$WTcEMX$_XM~bR0*Fy4l0g$YPApeKN2a*nJNvzE!dX8l`ou zA>(p1-A!d$JOYg}#<2V(6Q2BKPyYs8+(vQ*8Y#|Fke+No-}8g}M`Q7qG15%sa4@s7 z4S5|Z3N*|@C7^q@`9)IHZ7>cEzZCJfIv%ZnuSetQXjf67;k`x*hWi%M`PJBOfJP)^ z?AMh+?Xbu6{BhiWJXfI6$znY?lp1sXA@y}|VG zs8^)O{5~0t9L88FJhygb#|`w8`alZD@jlQq6T ziiHtufySaDXUM&8PtR&!d}p8`y(xarp91M@x6XGk%(CtIMACX+(Dt}Wh?;#14HXv8qaTMH%FJbO&{Gi*p?3p6HF2){}) zOLG)4CQIj|k;WLt3I%j-H}xkeMxA5}G%i*O_oFqTG38~a6Qd|`}_!W!Ar)?q%x*sZsiE70g3z86A94~!v&LyM(YxTT86 z)wZYJu&i?AS9Jc4iyC&vRWswm6_A?V3$s&XoN6E zwXnA~N&1$qA*(3R7=PRuChlHHM|*zbZD=Gi#z#9DRrXF8OKdDs|XtXwP zhpblV--t2d=N>ew8N=kP@EhxYI?=nYQ+4-p1sbKjTw(0t3#r7I+rSJ9d75}!wG!@m zdC6}Ck)ptZEzr2u!~qu7j(I_fO#cIDgfm8Hkqo4B{_|{H%MRvTfrj=J;WrMQqUj!% zC5Dz*Br%4?SK*nNPd%c@QK=}=`M1N71;58rnzM0*#S& z!nNA`+w}7)FTxg$QpT9lS-8eowV3WO)$L=)6=-x8eyj0vzoB$~wR?mE7QY$ecDx+w zRQ+c^gNgzT&7sy{`ckhO`M)Z=D?!8Ows>4^6!to2MK#n@r$9sJsWVhfvfDFQBQyyEO;a@EQi}{OmNzvubK{P5DV{~r?WbS`K-$4}x z8r_ZUL6TXQo;f=v9702qE`HA)g9Ib=^+s}3k;}Ze0*yI$+@X8hN&2KXHARkvKVzH| zen0B`EkF91sG>mQ$6_0>&aKfT#`D2SG@=;eQMw$itXbqriZ+RCfrdlHLHL}zg^rRT zCw*dL8gjL|Ys4yhWuGDvZ1;t{Su<53?k=$&avubux5IEsbK9r3u@vr`TY z&o{YF3>5_$-%BKL;q5TG&$3D9AT$CQV{EM#=(xB>5aZBIwm`$IuRX*xIv+=hn3&^e z#4?6U7a3SY#?tF^6$KiR^(63PPggom{1|isjdaHN_Cy9fQnD+_QT6W{!WC%D=_ows z&hVT&DQcR9VeyhN&S}V@hg;tUr1)aQ7HAlE5bn{>eM0|gpSBN2;~QgiHxuTGEgk5! zvx))@n^sm}qBDhF-Cg&LK*J+LJgyqPlS6*KnJ;-Ax6ZKz8cVji!s?Sn(WH19a0ZQF z#?Tb@p7&Z-c~+eQ4WmK!aBZ0(y^DOV&p9*_7^C!!0$feL&LM`10*$J^wy@E0Z+B8; zwTnjM9%D?IBZnaYZ<>?BAc!r{$Q|SeT@nuFlj8oF^Jo+?#=gD6?^HiL(odZNjSmx@ z;lryw^iFlz;R|R~F~-)(!nHw*+CIeS(>{(X&^UZr0_FYu>FS4V!vrk6?uy6N;{qAH zcAie(K}!R+K;z3~2k<#C;0ZaZ(XA8F2xE+p7cvO6_AOJVKtr$oL1_AFFkRpMbLui0 zmlQ>fqr?%GpKrK= z6!H4k&?sSyEdzbw>gGZ8j8pFnTc8oO+YUmTjiYl0y~G=6)G$V&a6jtR%HreXs8kea zjGXQQ+gtnJCB>Rvsc0zgiO1EezcP5%$dt}rmrY{}G$PETaN)};df(vWr8G1m7$ZaY zZH|Av*3hfF!?|pMMwM_~>(FfRE%G`%Zl|M>%ov+r3D2^aTS52Ys3_2w)!7+(-56ho z7c>7oBa$&{k`>VO;eC1!QbmDA=L#3teP#H3V(1=! zibe`!82y$jp~p}s9d!yc>_<7lqpPdv|E}lkk7&d(hSd}qczxadh8Pu(*aD5MbA)wK zL**P&G`sd0jSR+c7xp1fd@_9tDQXMY0u6^+H^^9EOz*L@z5f-BLdGb!5uP)l>qiY0 z1sbW=?r`huRC=!{`_gwbDjCC|iyU|<{)fZPTCPCj>Pc7d9cM_diUODa!6K6}-c1tru=pm>*=x>A zwm_p{UrX?8S#h7djv@E{p;62j%^%A^qY-PTcFV)M+(y~FI5ub*7Lf{|8M_p zHDffItAOC>aog1?(0H;`0*~b0bPjhbO#==2Bk{P}BJ6wJW_^IJi)v4=&lPCIR33n1 zS-lUFqiQ{@Ar|3`vG1L*U$oV_1*Fhk!WL-6eX|DbLMwXzJo#N?G?EzOK%^W7k8*26 z3>5_$IUTLwVvO;5QgnLO6phD>VV>j#YpdPqs#=J3Gp<0RcbXME)jL7&c_nXYjzuYB z^evM?S<}_8$x*2&(0Fbqh38AFVo71Oumu{w8KdqmVXw2+Vh2*3|H&3;e6X{GeA^6(n$=C)W|XNPH0G;h~INh;k%ZnG#|y2BJyBou0Z3&dnp75j4>dE=a#Nm_%lX<@Ovzwi+9yk zr$FPRxib`GZlZUp=P&GzMigT>3E%T-bU%sCEbr&A1sb~s*}|qRjr)?Ll9u#9Bb71s z&zFJy@sGXLDbN_^Yy~qr#L>HCx)#0A$YqRMO%yPG*Ov>#P*I>UTj>c+$J*0%xb+(i z(fGs|-g@3p=f`PnVuY2l1sX3OIDtmhf1U@Ro!tiwmn`wPx=<;62TQ;312LNYU<)*Y zq*gH2Cxl)>=DjvTBaksPg*n`^V;|^Bk%|Hh9}j1^e|X(Wa#XJ$_D3U@FEllcvQ}dB!%auL0F_S#x&uY^Fl@*y({CA$QEeSEU<^8k4|nQhQWd% zXuM>M2mfSnx73xc;#fRm3p5Ia-6CL_N>^*cQiq}OjWJx-c*A4A+7{%feBQ7H8X2y( zpp)%R?RC*b&4F$8lRg?49kaXfyTZ2?r^1@ zxfUrLuTDgxiZP@sWRThXJ3Zs5D9}i2>4O{cT)C1)n1;gu~OSJGQDkd-~ULXPTd z-zi*yhGu~?#KbRiB*n*()369*jN8{0P`2BNUZ1Nd(5M!E3*zsrs~3sU)L;f0ml-2f z_)Vn985#6kJ2#Ro(8y150Mk~zPZ1;h$SgD-GKQ}3yo{NR^_@r&c$qEG=-_7yzV?&m zk)ra{95hN8<9mn#CVBPgpiY5Cx|RfV_WbAD%X^LIqfx^cL)*$=;FN>(j8mG#7HD*t z;0U2QPD{yAC1)%^L-|ZRu6lKpK~Ol$UkAw8STJ5$~Sd=lw{tXIfr)NZ0aa0s&Ed3;h zQ%Nlvk)s;DbPXDR8ADl54h9bY@sOb^34=-RC5|yVey4ACY8$I`u?eO zEj%NVEzmeDJZIv3{y4fjVN8Gx8g9Abakc5D3`RLjT}6)SK}TDzKx1?_8T5`cy-JFt z#`ahoV~mnHGPu7_pU!>G^=1n+9G|&^-g}Mz-1%wih(;V^-1_JRc1E7F$WfK?1sbjA z+ks8j;+~{6T4gNc42p7i&)qNNarv#%nT_YDk3%_A|e8!q9P!mB4Qz; zU?V63QX<~_|6AYt!TQXa>%!;n>vfK^nK@^lbM|>Pi7n8`ZQ}+T)!I%X#;jCFG)fsG zqp<=`?bI7mn*xoX)iUtBQ+bXQk=ib3xV}~%SMA@3wQ(CyrQhu;3N#$zongd)_dwZk)sjC81uzk-_(Ga^a`(v0*xuN z^dYy&2Kraq@qh;!X^c@hNxWlZoN*P|k2^(dfyTHyrZ6}!hn`32Nxjj?V~kr-GH{px zCB!f~%@$}BDx|O_wevVqy!1GNMg?OO+RNd|Sr^~h6lesTwFK#G)6S&O@9U3-B1?H( zRf)AM*7_&W|J~+w(gy3L^v1IKvoq7Rq7i^_g_Oee3#TT!BWrHs(`_cLq&l`*)BaOiq)Ayid(bJq2cvLd0bu16?0_P-FuK?KoVP^aju061nWmEAjQ*b z7tpxC7*@wT!1{-iCn@e^vIQD%(xhNEum?R_3cnkI#%;!kIO73T`Po*)P*I?9|DPE& zSa(LB6vx9t(a2KDjN#hpMW1m@Cm$?Fs0Zqi3HK(*E5@V|76)f@@V_&HZ*3LQH zmlW|I*#eE*`bOXrw2WSl`uFrI8j@_~&-|WPho#7BLqlSC8Aosh8b74AQ0&!|{^GR# z5{ZQ`W889+!^Oc*=($?6#@D$5jhXEvFte)tPqI}8rZ=z%WsFmw z`?t#D%EDT#Wl@%Vo)pGY*#eD0hK`VW^>Yv@rp>;OMgU`+o#YNTeah%{0~G}tK4YyR zvB8~v#OT%g0UF_qQ9WNgA64WoA%)2Uwm@UpP)pcW8c65*CV3{Ik;oVm#r5-d&S&Yb z+K>pgKx2-0=Y4p_opofZ{7ybZBbza{iFcXWwR7_$MV-DWT!F@yK92Ck%z8a3%tobQ zQOp>Z#rr?LbnSShHU%0F%8G(FkOWV^uPkJ+M1HlDRbIDOaE|TdeW>a<78^;%x5q42wv{s20yOXqSx{ zL-u_047NaH<1q&?@U5pt3d0f4(MVy8KSpAH*Z!SBZ3;9l_=z=ADnHXtaA^EXG~P3Y z$07xo&(xu3kSYo^0uNim_ny<}5!t}YuhA%Dj3HKX@H^V+J=u>yjV!J}BkGtv?0@y2 zRaN|_XJa9Ir#!BpSUej(>(6*%s3_3rcg`7NZ2y{*qGo6g8o`XQS9~6&ufJN7VpKX? zpfR?A33UH*hyK=fy!9T9XvX-FF77Fc)4NBE*;{kD0*(2rOrdvFlkKEfw)6uQj~Szb zxF60lbvC`T#_K6tprK)I1O4;s(yM*x?>?dNkukoDd(UICtLeFciUN%mcdQ});POy4UlB-8){NB*m%aU%3K}S7{E=u{h#CTcwkag~xm4an*8^9G1_{lM*AH zFVMIxt{bFxuc1elLl+mIagH%c#ab_#*T!}v#-<{+Kx3$x0|XvVoJWesZ-1Z>#~6;{ zz6|5akMtKuMS;eFb`Ai^&*&UkTuKod8I0j1uGgj<0~4}U2M+z>3N*aRr4XuUNoNh# zXqRB|l`(v6WneZ`&5amYbxOGcjm-JxQ1l|yixe69WmwcOhOVO=e5@AGYmoQ7*a8jx zQx34aa63I_*wn8Q4WC@)adlZ=0XH8t>_xUpMS(`yW^3qFW=W3#+@t=W5yBXoUMS#| zk&Om1vL{t@1sa?FS;OJ#(eb3PoL_@QJY!V*$e^V6LwY{=G?gvT2&lA&XT8D>5o1MG zoelqYPwETCC|D`3*9KY8Z=bMDb-4nK!*%Up$ihoy#Avs_9u@_RF>|~O^fTh=wYyoZ z>vIJfx0l;Ojcwx`VkG`;fQ2+q`7@u_Tmb=RV|7TOZrhM6&?r0L2n~mC`_FNSdt)s8 z8RM0Bj-}@E9Xi*ynJ>_|)zJzrolK|S43)i_p%KOyZ-ZoF9Y|ezFOG@=jXCy~Fn#q> z`edlHBcMko5ctD->T z{x(Z!J%4f#`2@dev_+$cF)GFL21|ErKShew&)EWv5hKspj%?d-r6XzW=nftq(2bY|kRRwpcuGsf^3@m!Jj?Dk}Zt|sWrS#WXMS;cvJtNp&IDlTknp`*(jXcI!a#Id2 z-rq^R#=sC644NZtLyGdhqp>){7_ND8aIG|=^X)1MH1;H# zK|fiYS;Xl1eJmQWi~&c)d&7J6T~3N?2gh;6|Mo*i0-v7u)g#5bjT5j)XAIpiITWt& zqsMS>EZG8$s8?2S_dq8{Vk|G5gvMva*f-T3?91A&B*m(hleq$od_!~btYvsMDH5bp zv8ZN@sZBhg)t6EIND+UUEzqzK&ut&C+Hsf^p6vk*ug}Wksv^z})JN8*=d~8&*aD5{ zA=cp0S3%DvX7!nY#s$VuH<80h&A57Gt4<}d1scbG7()8bQ2M=l?b<9fZZk&1e+oD; zs&x`E_D-116=(#AIhjvBYv{Mnrhap=$Yc!P)#6#?fVTA4dF>pwKtubDA>7hhL1!ig zkC~4~K4UzKQ-IIs6l1a!@ z&=^0|8VdWV(Qlu`tBcX_WenF%?hsd;^OG1W$1ULsG|JO0U|rC44^m9*xD1O>#@Kqp z6ME}<({&C0&SMKS{$4bJjNJ#UiBUXu1seAlZG5vr!gW~Ke^nk=Wrt*-F!iMKqAChBp6odcTCOJasL%Q41~dW~V_{!+ zcqdMPUrfjjq#Kg9i__(FkXZ0CDg6u3VE1#8|sz6IY;d*uWJo^fYrJ zMW4x=u}EZ$m=7`#_lihJ(Q6}Hpz(0%VR(E;Lic0#{HRDm#C7Kk&1N6TezePC3p7fOSwf$A!y`$tA!!F1&fk>B)v^c~ zK(rsd_v81%om_#2OxzJaY=HrtBP&?98;d~3SmZ9=w=GHfM7ByrfySjh3NU=R`VuL& zKHQ5&Bx88rRX{>~_IXlh=d%SGC+a&wV1pqUq_|;m0F4yJs4w0tb7`oY9$%>_(9oW1 z0#~Zfb|psQ?n7w2XN-4ZeYn}1-RLuMznbfD1sZ|ICeUEaf8KI@uUa3AGR6q0kikTk zh4koEMS(`LmNU$5_w@nUkLquS(U9dUk1Ib-FF0mw! zVD1=4dj4ThWsb&U#%SU#gMkgsnUk&ZoNB=pXe@qa3$w;M(AmL;23A;nWQ=A0;(fyI zuLcpLo;O>d@onu>Q$X6vOiBF62060Shw?;<;hA740+6bsu* zvGDk=Jg&B167PcO>QC>vbB|&RG^~C&!kmKvy2QvlZI8w|#+ap{fJG}NI+3E!KnJcs zEh9=FTdJ7E#W7!&r&U}->Adt$hZV+%BHezk;u`~Ss~BI~>h8X1gHD&EH; z4RF#V#j|9#KqJ}S3Jy1)MUSc5MY*Bzl`--^%b;cIJ$lEMiUN&U9+t5A>BOOAtM(31 zpi#pZ7h1^Sbn2jRQaqT)7HGU*U<#6lE9o3r(pV2Pdz%fQJPWK$WC$)W$FB&fx8~b zF-@U>I2YG%#86S7Vb#$NcK!hsa7;cS6M-Yf~kgytKP!t%sPG{P8TvRIp{v!54zHe9WD z5LckFrM)xw?bW1DzC39Wj70)tc#HFoMiFZCSTu12TcBa@VgU;8@0-bf)a!NzjV#6( zHdp}zhLqC3K@|lWpX|&a^Lz9MV)Sit4viwlaIllZ$OSNf6yIcQfyS3?2e`A)wUQJY zk6l2+@rUxba*UM0&AC_UaiWR>jldQPnEat7y@J)+B?OJ*jL~U_9Kt<^>yxco)%+4y zpwU@k1N+o;=rP0Pu9vZhV2p!e-X}akLXQAc6llzCZvj({r1U&WyU`Uik{RQMnjEqZ zyq`q&BlQwnpmFh%cqfv#j}0lFm|R68hcR@Iy2IV?IrJ|o*`F=YIO8Oq=lpWtmKZM` zuAx!N7+b_UE%fW1rgIssn?!O28q;zN;q#AgBZ;A1b{z}XpUUH^*)ti;-Lq;cDHe5# z;tDkUmP)|4y#8=f)YOZ{B8V|6?G>=r_i-92UO2G@8oFXlr=3k2+mYh>kytdM7{gy* z4(rb^qW`-p3N*S;HHFJP{`4lsxQ4gTNMnqB*F50*mxXUgF>oMTpt1k44a_`}wTl#6 z+uuPWk1>WV5YP6_ogg8_H9xjMh#NLBB>+%{w^j)OP^#kVi}`!j600AGo?q!?XI&08UcNcV8Hy@^!i}& zsT4HQ8DsM=8GPS5oQ^9M1sY#Zn1H+E1o|ynsz^iQGh@6N>kjYJuh4T&>6k}cfyVd` zMi5rle;xV1lJt6lMKxoni)%$@A%n)&ra)tbwmu|w(Aq?bE)h@B@cN}Zu5RSZU}%rk zvuabIabC|39zTCUi%}<^p>csRj(N)A=$xm0iLrcECRd;_eT^mb+A^#mDf()>z~VMz z+$&dr>Hc@Qq}YCqE≶{BwZ48=BB-EN(%s(8y$reDN$mMWa9Tyw>V2Tc9y_fGzAi z`?(I;s%~LfXyh|SjJX^>O`l>=n*xoNKgF}iKZY(Q#o}YxXh@2cKl6^$-Qj8Qy)mRP zgST9PhT@A9eqSr1*PTBPdxwQDWAqg74D)q%nL`W}1sau&?Vw@r_w?^Pu}dx*p^Q;f zEQ9qe>RlwpmfLKBMu%ro$TuyZ_xrTG^Z|`~j3KEfhmg1rbd;zl(CA|$-uY7Rlo#2m zj{cv}c*PjOKJE~HehWQgS)u-!E6`{ouBAq4mDA%ylfhrH_`w(x#k0t}6AmsVTNVF^ zEzt06B!Ri}f2)&X*Ufx1>`Ro#m3bdI#J8`zkQ6tjf9DD`G@|Umb;#I(q}X+#0E+;| zP&{*k;ddK9Cq<_vgxajzcu9xB{V z3d4cF&`4yAn|gB4Jpag*6qi%k0*$*pBrr!79z=?m=n^!t8DoriZhKLeyK8GxpmAlc z5qLi?r}J=bXMdwn%oz11${}d}mh;5;GpLL!(2zZ~guxxR(lf7`@fBD&mnx5|E%9== z8-KqQF;o<2xPFj;{nWXoq`013g+?G_OlmBL`W?dQZynm`!h3ApjsJIV?R&-;x6d68jK4IP6uqO_0*yg`B=B>w0sSs%ceWlHWsEVsl{Yk-FAxAM43j1tce?mkIpSZ?qI8VxmVVadz;bnKc3 zH9{kpF*=C(-L2P4Tax|Ao!yu#&=@1`Z#P;xke)|<8`TtxXvXjr?_G+`^rpYHDhf2> zhDjm0*;s$FRR%qqqw$zAN-oOb?fe$!NOAo>Tc9y&wb`hK?&uY1^hicUfksF>6Zo>Sw}fofaovt+oMVg*6W!s?^)h;GTSb9J z&J;Uv3dy8LG7--^qY=j#??dI#VsXnzvQ?+b*a8jdPYE18-19amR(P`Qz96t3#qlPiI zi}$M;2k%#qtvcMW7gwO+-`y5E?dsz|3cHftSooAHkE_=eZqWQu9Xhw9qCg{6ycb~h zp?U9!;rG5T8X=6a~Q)&gXSWB!;{8 zD6T-`;U-J?ICR7)QXF0|28#s7=;NY*FIH;wIPqH=TcC0Fiv*l6$KE2w%b0O!WHH9@ ze&U^BD+{tok&wj}Xf)p}fvNeA8k6Ed(gZY$7{gRN$8xf&?Y-I*Xh_8~KMA&D=tyif zaWWc?mCEC)dwa1y!`KbhP| zdoIM7K7R&RpfNN7^Slpas?W7ds@Jv1Ca-h13Zw08fyPfU zFFLh;vqq%YzI-(ria*NZs_|kusNb-EU7G@pON-3m-guzj4C|+@MdJ)(IEwW$jy>ME zk{I9P*#Zq)dnv>fXw$11bHmo75z83vr^OudSY0~9GVKXlppibx32s&or}x86ira`r zI%8yrW9mzzPth|L%PrbmfyUQWHjou@lpc#lFVVr`Gh_Uo;|{Uecgo5Cm5Kt5%m(6_ zI9+c#Yp`?j7Bs3EBUN1iyES6|=eumu|T#C+mflgo7MzDwPPhF7)nxEk?N21WYj zr^$Y(D9{M@6YClnZJ{$o$76KSxWE|lFd4*bkEQ2oIh%HH1sXmfM)2oLkN^DEF4~2~ zZN^X&>z5opBDqNRLys@e@LcKy(_ND2-^c8Ud(g;aj6>pCGUK_u{}ChaCR?C!t)D(T z9Y3lyDMBCaLnEIt#&wm$pX&d-Cr)F@ey%_xWq>_gm6XxBzJd)0v5@>#{>&9k<=`>R zehS$t6$KiX_DG?1f9E=+n47AHhA(3*-Xzwi-e6cniuna>fku~GR`ADWbTBFWUmKti z${4*TctDqxyA5koprPCPAo#z~m`{o!3ysjY#~9AyT&>NHWIIyy*vA%V{66mhqq1*r zC&iF;CTP53jA>28aeMl~^|dL`xaw~L-hN~0R(+gfhQ<%Z@E7M%8NF9)5u)VuzzPKSF%;UZgyOO#?Ypguqg5bJy$zt>VQQyW4!nFfEGn16~s_cpmF}V z2`Jh+X_KPGPA4>q8Ka4dJLJ?I52P61)R`;Lh!*!*jvt)cg%s;vxM1P@PkCHD7Uwt< z#{B2q%X7-v0*yJ>EFrAV$~(m9_|XlGK*oqY=MFEwx2B)DiUN(QJQr|#(NBXIo<<5Z zA{nDle3t~oB`>T^frhTN8`vbh^B_gsHV-sX7$e+3yl*19eK9G@KCuNF#RH^p;J6Px zn;2Z?g~ofvND=GFEJ}O-kQgcoG|KCkf~!wfds2MP^FgDGF*=9K;eyw(wxpQ3=LlDz zArb3eJzK67O^Uz9eptvPYD3yJZPT>r;zNfIk2Eycy60erha2QzI=s!9+7xJXJZc8d z`!-umiY1K$&r6PCoF-dU zVtSk_(9m1q3SASw(ygkuGZ2f%j4@KIInaDwM>?0G=EN3g9Mf?F-OD-s$X1Os3_{~0 zW2|2;&Ykl@>6N%cm!jPWAN4P@cgqe*eh zjxEq=XJ`TOH#gBEfD3vT(THP=-o-t${0J_$)Shahy!G+{&|OS1sXMn?BK^Q zJ2z5vv<=6ihB5Z_mBI22>QS{R(9oY`51+#~d6Ht;!3Z>bq{`!JeyLd7@N-vscBi61 zL;A)59?$Jb=NYDLj6@@ZF)kK}?~;y_{m53u|6>a@6wS=R>s)U-64MK!(1>S@%e}># zfahbviLu=C23Mf5XSE@;S9sI&^S#zFSiE42x$1I=Eo&D>44uBQT!DtHp&4A=w1%EX z&1)TpMFC^%(vib>$^1%Us3_2gRX2x56W@B1Vyx|LG^BRQpZOsx1ssS{uSbdz!EAxX zhP5`J9ewf_DYV_=(eP)C{>CzJ%bSx`n*xn>f5bcW_PW+5MF-1!XoN9_=~z#2h5Jo5OFLip6t1b0*wJPouNEX{)i?m2s#HDm#6rcbKXu(6}973`?wD(RsMdTfU-khA~Rci#4!k zuBM;4U;S@ffkw+U5?J1(M<&_xKfm&^h-D1(Yz3rtHY%%4fksWS6*x@4+@2ISathE$ zXN;f$;(bMSx^qdfWm_Rvpz*=n5`wJvFCxV}y`NZoW(qWBu9`Xgt1c0w+85 z^CHE?y2WTzGe%*m4B9t;@SPNW9oPbm4Drqv-wtU7r1;`hiiVey^0;~}*4ggnU_$TT zRZ*Z3(!d<%l)iK!Mxjj^8W$MjpLkZr{MK}OO}Jmba;`vQMW!`eF`u=D7z5i>VsV=> ze1gS!ROeiJj-#SLqhab{2zi}*jTj?ps?f+}jL+lbaJJrgdK4ZT{D&*hs4%dCq^lzu z5TnrjFBbWX;dD+81`AB-{XVPO)o=wGlNC;&n9`7r-4ng*X#d~+yAo&R&wQ|$lhJv2 zEQD-T&IPtWW8ZBl+=-q{zv0w<)zI)|jQL{yl3cxgyNJ>L23w%<;+`!$l3E-i#lSQ5 z(FkRXsJ3$0yJW_V+7xJXyJ-ogE44O~qN8U+H109RhBq>}d%oKWQfzJCh%3<8e%lEK zmz-EfiX(NKVDXAEMz(i{QrBJddpDvFTcF|C&jIw;Skk|!+*Zxd_`w)AjOFles+4}0 zs3_3bRbdbDTU&G{`|-89IU4pZ%H!&@pLnL>ggHH9X@9B(SD-OV*BYLz&^khl2Z~l$ z1Te!Wm=OOa=J$y0?cIDhf0##kK7Lk0d`y zVS2qi8i|atLOi4B5}Y@c6m81c0*wYX;+{L*Vo|~{6l`@BNPMXDhTcAN?ZK+~5IUvuIHhKd4>_FYV2-F)*RQhb~_0*z?K7NUon?qYf>_S6grt~fyTEqTiAGYjWH?Q@ zMS+Hix;3nLFo<5S{kU=*8dZ#OM7&?EVZYTc$X5M6%ohLqJi1%Kz{@S;NYQfZ1T;Kk z%HwLDSU2i$;F>~G$Qn%K3N-d#Fod#+uJpWiUGXF=&M}7i7CC&}ePtLiR1|0gwljlo ztq%+#h1R<%Xv8swMxX+w6pvV5n*xoVr!B!|%*@54sL-2^Mh0VO1tKma`&cvdIF`~uV zA`TJti-~d5U=~-P5q{bPmfZS5XM~?f=3wC?R~}b+NisN*=Sh$HR1|1zTVfB(CipcW zTXo~WJTyWWqs49oMCk6BSDONjzKbm2^thSfq&T`^0UGg)F+5fVItkbNlcMcEwm_qP zjTv-zYD&LLo_$}0#tX&>zAA%}x@Gj3K}CUv-VyPxl(0r;$yRl>T8c&iW8{a*!Md%( zWKvwIvy3ayh;Hrz4&%m8BZXS46R= z#;@~o=vb;3L5i=9w{ry=WubPE7iqJD6z$7&u}Ef&#o{_=efv5KYg3@{Q~cIGS6h`s zitN0dXyh=)nnW3F$tVsa#ZsqTT!BUdsRLLpyG=*QTEjh9lrqLKZ#h7-5vz%zqCmrC zvkT;??RZIwmY?>a;p(A0t}?}1li_`*_aepL2K%`JjX{p4P<|ov9Vw=k9Ka%oF^>28 zfA701qQ9J0#s|3qjlS;YV%5_r^l$L-c0DYj7^A}^8MO9XPXErc?AZd1kJoJAPn|FH zxWrlC0F5-p&=v0h)&JzaiR`(G0*#j^Ou_C}gA1fspks(e9%D2VYtUu>^rpssH6yM- zBXo!zw7cqKL5%#L##mG^My|MaH=sp>gS9Ep@UZlNa9Dba6fd$((NK6QkE?@*GAQfZ zhTaFTc8eKTprH`&OWkp<9X$%)d(Z-lGmLS%jtp9Tk3U4V>SJ3=u0W&Yk_F^l9Z8>1 zs9VPxi&)0Ex>N=&w7+K)2OV zcNa7+Fou5{8Ca~FPv^)~6lmo1QyAXraI&lQFcm%HbLKbR@?2t89VBtj&h7V)P{wQfxozfkr-KtUW3Rn`Ue1 z?74~pjbZO>U`(A-I{UFn=7omDTlq8JZXt(NN0-nefW%hbT!F@4sT5i@(m6r)!>jud zEPNTGQru@59p~dyn*xoUV{Bm1_$TyCc%8xzjZnsD?&txFkGhRzkXK*P|)0My>O z(a*#D_)#?OF-F)n1?SQJ`@=&mID!b?N`^RF`9DykZO&u@=&oWsB(jyE(&; za|Id}JIr85f-OBFd(bryiyw@U_+BQCmcB%i|EpzzY=K6hwIMu6-f@f+%iV&|u=i0O zSF;z$VcWBreMvDnlr7NE?kIt(m}O^3vGr&$8Uc(U6W=8_!+%Y!O@T(+;Z7j$Q%^z) zBgZpngfoVbcs4xj;?--Us5|s5SD^9gtR3VxU!zHiluqZdNMwxmDKhx-$Y5=43N+q{ zdAMbXj$cX9()l79*^JR&ynoOo_+2?E8eU`zG=ADzLgdm^dRCiea82z&&vCK`hH(WN9zCsK<+oq%#F*Y8 z9E(84a1!^6cDm|8=c!X;*aD3YH|*i;^F>#PQFSf?jY!4_7i%uJ{B>?;Z3;9_tuX;Z zzfSaOc%^qF8Yzt7Ybc)K&HT?BR#g;e^ssY=(6253k*&Hbi9+K&W9$~!&wu^&qerhx z`rqIRG^E+KkQtLk=Q0MijlrUfG1@j1YcAiL5kt00MS;eW6&CRKfOzbu4*oN3GwpAa z`~PCmkohW)EBQ$oT(aIr&mc=r-{cB3N>@lg;x`M3anJJ>7Qu{>eoO|Bx4xvmYAOme z66@N)g;J*h#0a&%gGMxCw0$X_wS4U`j})W&#&ZQ4W9v(x$Jl*`NineXJuDtGhMC+0 zc5QVZMT!V-wm?I_i7lkRxf((W`KbgnJ~GCkyB=_1k!5mi3N(t3SVB)Nd-_* z6=Pg%Z>@>~jUm4c zpk0Of8nRVeTBM?Jjxn;uI}}!rYCyje-&|!2G_1uv+eNl*hZ5sS;3G8R7(=&22FK)m zd}~vnG5Vu1{M5^NLyD%dCun3a#;PeY@DDeq^FHG=(zybS^qB@QW^V?)3b40(1{Pl# zLn~SahCM6jFOG@=jhgdP*m^5yJ=u>@O*7G`VGOr9GLSb>(4&lSIa{F7@V`J>0 z#Q1sa1sXp7%Hv9AAp?`hrt}x*O3#;Efkwt{TR64U=Q1&_41bM92xEL4rGVK*di1zN zMS(`sE@J82&XboBCm4Pnhic<5yludBi*3Gy>R+BsG>ll)pa+xu>KFx^OOP#6F zTE75`BF30_R~-8k?V;bhHXRDN0*zr&5-4o-Fox_$AGM!YI0h(>t5_Qu$OcE5k>b%g zwm>7%#16h}Gx$J?0PkOD9A}J#*$Vh^NpYk$1sX|(mT>b;gA`J{mz1Cp!5CwQ%iwnE z7W!+@t$!(3pb`1X8d6;1w-94b+cGSY8DoL9JDj~8-LEzU8s<@^P_KpVds6KDSB^#w zV`%D#_d&WIqUW{mq!nC&#-=4E@UEmXgBV%`l~|NAMws|LAFjE1KPfyss<;A;L+VmE z->5sCnK*7$jfLwm<#CmIT>%>wJAWgFiUN(^Z6)x`%Vh*9_P6?nMi66+_m{!1hHEd@ zraHqE#j$({haeVcq@6qtu6liqo>I9Ec3hR*~MP3h$G{&eF z_vv@L(~_R09&b~hE6}j}WCDSEEGmgHuciSOd5m%Bp#t{x{yLZxlY2Jg3N)@gcYxIH z-RYc6-{y_6s9=m0;vV5FTT^Rds3_0~?J0qp6;q-~kzdgS4aITgarMwlT>qGPUY8X1 zmQA?=jqZm`q55{!K2nTzZH~nm#&{sspgWW2m_>?$5iPg^jh!uRA^fSqBT{@)Z-qrH zW3&)!A)S;AQ`DwFWAPO6oR@n6oe|b;+6Iku#yGTF1_zFAj3UOFFt$Jg`bpv1sRO%7 z;d!hb8lM@X&r|W9xbfTRypM_kjY>^(=&}7H9aoyp9nh#|j4<&oq2asImXoczGOQz4 zpkY7U4t@<-u0e`DT{>gobwYVu&GC`Lh-aR3E<;6uhFh=^WLe1RteTo@S2Qj#M#U}} zsCDSli)>Y82wR}BPF$mR>yh4x6n*@=p>dlrPKxzpCa8U;$3BMY-MIn{+fk;l_V9VGA_e3yk5-MFV>N@v~!ZH1Zk4vp@!^Gmp~iI4TM> z+D?+d^$~IO`08c7zGz4Sl|S>Z;`{3Kg4udx&$~FW1sbcqnu1)?h+b(}Y1khPU&i?P zR|Z|SsaX+Y*%7utqie7;q|6>OgcQA`1JMX&jHGRH*y3_^L2U{&dKp^6{7bRdNpY!o zFdFw5V_bl^cIU25j{uIf8^RT6bV`xHsljRVGgqrS42xHcajlD3lf2;!C$d#43N-fZ zI0XOtb*I0zMqVS(_`w+M#Pz6lS0}m=Lq&ncLve4^C5z_UN#SIpfrkA_<#F{kPFyRh z6WNs%9s7;q3N-E(+rTDI#}ZP!Z#@Q!0LIw5)dP|Y=8PxB4j;Ba!*HDgOi9^Kzo}OS zk3%DzF{V1YL&@f9dj6rJK;zkI2dMjeQD3rEk?s@FNMwwjk?wHVutbLxzuHdZ3N-S? zapINly>64DO`XYDWHW}rQn5bu{PD%4=-!(x&}h}j5>72#6h?{x%mm7kv6eim;PxfyRcL)?jdN!xK_G zk!hk4$QT#9%D`7v)Pof2t!Hor8rQ}83^QV1XOrTX*-R`V8DrBz1>AlVOh?JA9<#Ut zjjDVra8tj(lo+1P=U|b-7fQCn~^0>Nx$_=JThpr*TL|_XvV)vQD zg#14eQkV?WM&le~JTnl_ZTC~7N667v*aD5jpNHXXu`!)*?|4E7jX1`5EuMG&F?BvY zW@vGnEzoEn*3uhqJ(!*kj=!`8jSR-PbzhvuXb>G48Vj{MOj} zks`3;E;M{jE03#{FJ$o4=QF+L)hU22&{%rf2C~2QmJuW3{2nwy7{f$7+qc*3nM-X7 zG^QK4z-wuHdi6E7`+hXy8Dsxk8EEXDe1I6Qrn3bajV4GT-ew^k?YTn_qVa+;R*N;y zb|eqpON`~|Y=Oq{mu~RI>Gfn%%)O?yNY5yL=FP9kAi&6kUR|HU%2b z9VIZuU?u(DeRRnLjWEVY6yGHl9?Nrxk(kC7XlQLQfvMwN=aS+``y8aAg);YbpclcLW+2Q(rWqek3Ae_&OS5h*&) zXA3mu4U|B#b8mW`(>>Y=jbz5y79`%u+A!UL7y+-@0*$U&V!fr_)%1w$QKAbPIgF9n z+a1-*EcLCa*eK;v3lPiWG!W+pKfUH3pEh%w^C8Yy2rjB`mb z;{{uw(V)F4e7F}wj~QOw_d+9zF?_1UeHrtL42YqkKx1TtIc(ngB!m<-V~(Ja#ux|1 z{q0w#_y?2X$11i!V{cbe_;*gNE-A8S_@R-<82S!k9j{^iK9XYFXSP5iw7UuHvAss; z8LXZiMWcc-K1Ryn=fSEXVpOgP;0iQG)t5qt_*Zn+Ieyl0EEMOJ$5qBQ8R%WN+)Rvk zUA92u?N|%29HF(16t7nVqH%^XihqdpOHOMauT6nQH z$=0)2d}fS}rxoCS;{mI_!}wG(k`KKfid2#mBI8& z{`A{t?eb8rKx5u%b9gqd`8{HE&-04Z2%X2M(-FfkuLs_{@K1 zNlDQ-B@zwEMdi=@iC9nO*Z0Z}q_A3Yoh#7jYG(mkG>;UJV)Nu1SokuAzn=_-1clP` z!7Urv0*#%IU16s|&uPR^%#T4MlrehmatFKTUv|}|KqG9Z6#i8d(C^)cuWzDpk1>uP zlR?#j7oUltqCjI^D>E3pM^1lnMlQOI#w*5%oGAn8JBtKjz<#zsL$`$#mIo|ePKp8R zr1XB=mF5<^9S#>EILNblO`3@KKaJw~ILG0LqKkdT;5j{sB@Xsl~0fo;BX zmJs9c&U7@KFDZ{Jdxcm_Z^V~pq`3EuE≶lt^I6go+2Gm{O5}Mj&HEc9g@;WnJh< zR8gSO_?J1%3i6{Pv5m`fG$I+}?05x8S~O@#wn{~T#!_=@P`gy1Mv9k4FVRS0j5h5Q zpoooXUYi1qEA6GAp6X4nVD;Vp8jbgi(NNsOBFWZUK#U!YvbX|`>xB|<{34}isV7R` zU{S^xp<`vR)3Lyq7%B=hEaWaQD0NgEDSqa@MMD;#Z?aWaj(p+@G-OLHA;n*J0x2#^zhLo^ zF`m1-!_IC0xniQCKqFOQ2HF+Zf{4+!eLfmhj4|o10>16plvkSqjdx!iK^`-UQ*(3q@g1#_(2CB(SUrUZ)&#z2S00*%ltJAj&ce@QXE zXFV(m7$aMp*RCmionM;*jdU$X=w`a-7%38)H$X#rMfo%DKSK^Rw_4L9{nBu@K%=P2 zUi@-8)3ek@R*lf`XN=yH6;SWxnMkr#bpzP~jSh!wq51Vz=A?My+60X-#;`Jyfo*#H zhT0TpoEa;D)J`ktmC{dprxikkI1yTHRlR6A`&EUZGsM+>zm!AB^FtX zk<(c`D|2f_Te2VfFS7+2@*}ozcYK>}q_`T;8jT{x2;ATXd5*W}ypM_kjq^(m!?m~p z^sn~luy$xThAWS&5#pUM1rCe%k*!iupmEzw0v{@J>8ydIO9wQLGsbPP{?&?g+vu6_ z+v9A3M%g+WD11Ai7ul+M@=j<(FvjB7Zt!o3|58%?z04M9G^nzJgi9XDq-cDs3mVCc z;ULD9{Oxl(x3sWFSFZTqeta>6#O3wqabks&Iu<#M@olagd>E>!5l+#m-!>m2CX3k}z+%Hzsethe;*)%y0t zkY8d8GzK)Y0JUHJZAcO3-v^B##^?|vemR}@%1H4;y)RdwF*n%`zOS-~B1Qh-{#ZmY z#z}WK@EmcTo=vDI(D<|85!$-U-$;yzjsww1V~nHo#Tt!Sdry#JNB~=)(W?TEzlU&$`~4%))_*!>hlc^G|n)_ zS!;36U5}<`NzqJu6jz|JxSul|nSYr6?+#ut28&q6*lz0u^-SBnCC1@2wm{>DjU~jr z)}U7u$H$CABb_l~#NWqTFBdwCGboEK(8yeG27j$i)9Y$olO~|?nK9an^%+LFw_8E> z38DmIaAT_ zx~4p?rf-));QIo4#?mvNEzmgL*bHtJdeT{gBQK|;ae*<0j1cFX)4lb{eyAwW@EK(T z10GklB1P8(O*C#ZhV~q>*5tvk;iS;rJ%cOI2*|L3kKaq_QQwBuv#`iyjBXAxSln5% zmKZ7uG_)65K>CBrNu+o*a}FB$jFBPkb@sM9Mz4R=`@$Az#M#SgTkil3TfL7a`!W3P0yKOXW8XUzozS-VG_qBZ z_t*lB^jmf6n-}1se7GO2G8yfs~40Wn$frsIB!#F;9C38i9;)(#8$6_Bp24ra)t5 zLr2i5e}j(Q`U`fU5y=?+dWf|wh9|Tk#?~~pKtuDDJ=m@6COeQ3OAjQR&;FtvIGJ+Dg9Gh*6kjfJQK5xU`f()9~m9wJFf3bJ`e&T}h=^uo9CD(THY@D~)8Z?B0u1Vhr7H z#1&{H#TmofNk-F2F=V0%7LOUjS=@(w@%|`(QuJTX7HG_jv4HOhGk%ald#)K89~r}T znH&5bH*-sE3N)UcvW9T)K>D3%KE?u#D#pkZpNILZN_w1F_L42o7~pOOKK**ot9`i% zR%m!cD~~J9N;f#+H|HnW4;2L(&&NxkZ~Z!So}r+N1dVfyu}G|88ar-3J-(W)%@$}h z?raKbSDVo}{V{{2Xv8r_@6Ixq`SRI6vLC${umu_&s%^nE@*=$#XWe*vG%^@tn3oJp zM_cwI#`zewK%>I0=W0H>)I@#SZCB?@%ZdmxlD37aE;v6ScQsPDmt%q!Z#ykgG zD6~CIKl3LqGn#`H5E@XQwtX{_>R-rd&?K1`QSB3q@RKqGdRAzb)yf*L2{ z{n7AejLpZz-^cn~ddBif_b6AOQN73twwQ0DSCI=fj$skT7?K;}{U5iN)*<_mvw|(q zSUgUw#rnIDe#7NVKY>O9V_Y63hc>Q_bBSSbk1fz}SSf+4X2lkym~!PL8d;2Ss;2^= zN!?gd3`u7TG=j!B!|#fg^a!BMty5?eF~&M^?p!nF%>`nt+#1XkXarW6f&S=lI@&Fk zp25QLrt-Mb|0%8yUYkaLIaL&BY!GXO9eDL*1KBG5Dd*5Q&KQ%$bpw0Nxi+Nu@Qy9e z7?$Y_ol>3X5m`vu1vDZUpwY|Q5?XJm97T#9LoQ>H!x;K5Vm-@SE5k^!cM)5lamd;NCcXP|nG_u- zUO}UjF;>bIu-#8jqc#N^1=?ot`9NKIOx>&hRWw}Vl*g4@svDeEzi@~c+a9t78oF=I zq5IvYy-5)sbq$Rm##klZT@zODZDDN+G|qgNKzr+KdOjF@`Z^j>jG?RV2G1^E&mo42 z0*(D*UFW-Pe)J)QhUX15(ir1tj0}v|$f`+kcw97Bps}FF1}@(DLucq6`@~|A#~5kN zoBJuP~kdUnO6QL!*K*2F?;|>4oiFLJSoJ8a4~8Vc)__9;CP% zbQ=xDE#+}FR=i)WeEm&lQXHOhhbz#CUvL;QzXj9plKZ3YVsVBsjKsU>?!TYkiWn*i zH2lT9Xx`}ut4WdD^FA7}j8SPWgEt8mN0Xv;0$ZRlM67{*xW7gKDb`K2sK<6WotG&HyV=NX= zVOwu&bb}Zw3N%*EHG#LLZ7!1H>ZO-xNbV?q=B<6ibHc{w=+SHak*~M{jr>$2xLEd< zUg6!@Eei`@#>f-LqBEu*ze={savEEpQPk8Fw8}m`B!$nAY&1d{!z@V-JwiA7*QP+D zd$J37)pa^Zik~-g(74AK(aq&Bz3umHr0|4yT!Ds1$RXI?c61CW<_*im;uT~3i*SQp zVMW78p}B-D(9r5{2C&7xH0vRKEnhZ9-7<8N%7cJQW4aW!@XtDao8B)0IsX!x=F(R^LuqtF<7VkTVyGz4 zc$8rQ%R?v7Fli{MHiFCSUhG77Y(rv zq~CEm%c-J3W5;GA(AySE|F1r6Z;Hl8#@OU42jju@>Gze20*xP4#_-o*wK>_3W|_^= zsA3HL+3uiYtWD>Z8vJGpG<+u;LeZHnTZyqYuO%8D_m#(0jjkMaP3&e(iW82lxB?C5 z4N`b!XhgqD#u&E2;v8cv5NjKLm-O#J3>C%y3||Lm)onWc%nxpDhejM@Tzev(skS&r z@Ay?wpfRGk9(*hJc|x{oLPiHPG8p6UBJm#HcCYF0`H&K}KqDy26cST?>CBz=`%Y+l zWsK9^#5+KjK2;}MrJ_LNuf7G`ncR+^c^!Pz1&tcUXm&vXYbzw%iIKa!D_5XVZ@o3# zpR|x($4Q^o4GW(H<#FY{PX_r-Vzh|yOouJdIDg9q+E!kqcZ2Ixy0*(14RuEY-yd^P8 z<_|!$TOVrjqJy!q@iepF~$NNH!%E@PG^cXIc(Lf`MF-rfsLHE`+^mw=5L$*L8XRiUg4m>oS z7zYg3?MI>`(ibUxCVZS91yXgDS+kE`Vi#e3X0eE30(JG;km z1sbK|Jy>cx%ri-mvU&m*#~EXhOa^;S?u;OX=4-Y8y|T&Pw0EbS&N-DNNrhCBQm7MhTE^Y1qFd_X#=sS5d}}L% z=k;nYAnS4RmnIfvjPX?5Q@v=A| zjdtR>=Qp=z(O;BF&@wcf6II8ROI`6?=g=8+e)rnK=#27oaiEYXAXAem6u!=3vc-PSyE_Ikd zx9zoxx1$lq7?X3veO@s=Qi&l^pz(96Bdl(Ed@rbP^i0*%SPtf7ARYe!OKuGxo%EJ^h{e|1L= zW7^HutVw~!4}U|*G2fRU;qKbHv?IZ z_?3ESWHH8A@r;xkvzpSGiJiaM0*z1~9SGfek^UPTE-*l&gfZrHP{5(ICt+l%{_Zj4 z3N$)*wgwOTF?7z-(a;zR+sCTo>VSCPc6M1HJ%bfc$rflN-LZk-cVYBs+iJTh8eWX? z?Ys+29>0U``-C(y;|eq$y*Gx0EA8k}YT8e8EW#OMiH{RhFW5?t2PFzL!e-im&YHCr zVW5WA1XAp% zU<))-Y;7T^+16N6%xz$Y#&^b;A>L(Lo>RYWO$szN4zqzyZU6HG{#ifl(Qr&w9ao2L zJHv=RCv=G+QJ`_>t1*Pz)D0%Z+&o7#d>JF7fgB90P3bj7MYcz|0*wd9tswA?7d?v{ zctnmx1Yeyj}rR~R}bwahU;8UG@=<_G8DqG3M#>+J9rT#f zU>{qcF*E)M>=@@+MV9KV))_P^8RO6+CB&_*d!H0NU$F%m|NolQ?04bDcz zxH6FLi*7dxo^Kh^I0>=|0u$(Q>_#9#ZHj}z0gu zy5Al)^$r&I7-OCIKkqkZ)iz>yZ)OWLiVo_7_RihYNilxWT{N;8qcTqc{p-(nBZVx5 zEzp1u#_+@N1wH0WzjYstQpT9Ct`Lu|Z9>oRKFDPYG&CC8z}~fv^!lswj~}98pQ<{p z-nxowqk@wDk@b)$&`|Rg&yJqb;5jM2O-e$;n=$M=D4|oICv=|5>wE~WsJukh1>}Xt(YaTHInU8>N>d$IGt1>rXINzmVn`Hd)EC#PP48MjuUlF+ z`UM(i8Kb$lX2LNxh5iQ9ud@Xj!xlM0q>i-{S*jcUFVTo%jOax1&X-S%nvmkkeYQa3 zM?*`{^gfzEijP-w&`4&Cl)rK?+Io|2+Xsw&#T95gD>Q;l*=8$8j&uo|YVvOuCj3qvu_=Kx64RJJ61q*^U(J!t>GaXN>ka;`~oaPMp=Y@LE|rDn2P<9 z4~<*p5JRFsL+h|PDCMn}lOoLPD;jPYs^jXwrvHDBdxi}u20~5DPUav>FQcP9$h!=UIL4S+OI&L((Ic7|{XZU>HqFX_Hd^B%v^C}NB_4e?$8<4Ssr z^B33xjrjIP5HX}1UGs_|f6$OUSN+cQ#kHJTH|~5RYc5fs(cs?^a9Mqq{-3w){0|Ke z#!z}G;Owql^gQQfAGSbap*UBx;YAm^hiu_gjYbG#_~$Ah?W1flSr7e7Y=MS{uOVa& z7#l;1EuOWv{NFXg35;=Wp#qMr(SKKy0u9Y;N8sA-;dH5T?dqbD#TYGnIz!mmUsH+U zHmDv~pm8rz1_76Pyds5mhXz=bFoxYF1<2f)BAhXhWU-CL3< z&`@t_0kAM&CozT&ZH>k&#!$LD!QR3P=A=+x%ob?miR+L%#O(|q#llH#(fH07+2UD~ z5ksHS?Uf>qEzmf*&lJ8b?0kqANy+WeaD1UUuB^m6^}Ht>&#Fm*Mp;)K*m=`>At~N% z?1Y9dW9W+g_WD2HT&_uh#-8T}5UgiSM|;JSE@(tBMzWp)e2zS)$7;nTY=K5dp(E_t zR5z0>Rd!A{G?Eyj=Pz;1gwJ1k1)W5J#{OQ`5c{VgJt}&1peGu6jInNsm~X$?{}fp& zi2{x8pUj}eRDHT9v%gv$jdI3FPn1Ku`Ob6?ps!7Du0UgEiY+Mj*ZNMD>iVI+SSYeo z$5myecz#KzD0s4H8b;c{6C?b~0bXTt-``=jB<7|}kikbmIU6S7ni1sbwGa;V76 z9Zibydk3Ns%^1U;xxn*=8e>Tj{Dm#haN8?`tb84MHsenAU^JdGMq?j2#1H&U&k5i7 z!xm_yDUBd>RFgQeRGOcLqLI%SwRGfgue{5!niOb^Icfm%SK2*D@p|oWG%6Y6fcXDV zuQj8b6t7I!0*x3)dzkjkmmaZr?;44Q>r2&fb?1Q`IuEp`-?>Ebzt8Hm6|@iEOh;ny z%F$>9GDcTzao@zl57hWn!4_!T>*fgh{rq~8HE&oj7L8cO_}5tp%^IrxtVw}Jzd{)- zebdg96m8PSqmjlKUAD+!aj@B2Qk+;lfh*7`tJZ^G)2m03!gaZg$Zmo^QW^o_m@pUqlz&ur^%szqnF`isU!+Cwp?|De;YnpkRo&{py8ga zIQ(QUMT+N_r=bzd82@6GkgF3!k09?nV+%AKT#vx- zl?iK!vHaEyG~yYfbG!nI9c<~nmJ$UTYxn3w@8b@ih;e7}Y&0?%!{Up0cEVomx-}`# zm{QjkVh#@JLJH-ixo8wK#(r^sZ3+D6EqqmP*aD5B9#&xf;deDLIzO3@hINkWcWyaT z0sDIu({n5m1sZ2e^q@}OdODw|6|)cxPsVT+&m&X2o=Im|l$#cD1sXZebzt4jOIl<- zZY)@W#bw4=A>N&N!?f=1niOa(iWQ2ooNlXGe3SNOI0*+H5#RiQIR2sbK{I2 zk|Jw8TcC0CfDO!8t4HUSHqFyQ!~T`(xOy($M{n6Op6X z>(KCKj7o8i-mLTLqM8(F%qwf#+X#D0PR4vIyEWKcrix&M`f4FNzv@y4m6xztBxzJ zJZCsQs5ae-2JPO-6=-CI8G_C9aes(mv}!jNXBneTpd8jYxzVkUM1jU1e7PG|n-D3veJ2wSWJOO}??f9D73`_V{djMifR>SWN7zhuoN3N%jc zvj%%b%WkA_i9d+OJI44dp79$X?@O;vXtLuFSD=yd#R$&t8GD)-8q1GhQNb8j#dB-N z7iH5mmnhKaaLF8o&GgMB#uU&+!#P)VT$PLS=brwtFG*pQz!qqvni+xj#M*SfkC+&}iP%5Gvi$yh!nOk{KEWjPXk;oNjJ(@&h#Tfew?1nQIdTOW zKVppGyk^TpvQ&>ZIAKx57~6Wt;pKtiw3-xXgy-6Vp4;{iQsmE5pdrg+zVr3YklXjL zk`x6bfeDzu zu1{xDyUad;MiyhNxu}3Ig*HFPQb`nOD6g2p;=M=c@p<~#lW3GM#>)gbIGm^zM~t>H zY=OpxWBM>expyNeI$St~hV5I`an($`pELUN!DvzpOk@i*&UUwef-d*y@p-Sv(`a}x zhEs|H9-SOBl^7BQ8V#%rLA{I32U6Uf?Tbb@V?1jn&Ta2mt5%Z&jY*Y8pnhvu04d&$ zI*Y~w#)uHlBTHIiM7KT?1scg>pTTzjPhk6^xQYGJG3pAd0 zw1XET@28XE`4xXOzB5M0y3VjH$C7RnCyWW;3N+^5F^94#r+X7){frA(IKERIR}I9o zUJM4x4Qo=MaY5YEa3yf)VN$pczleq}V}$59!WMKFZT(JXSZ1BO zghm8o+)kCl=!($0WT_@3umu`r;@rfTKE8C8v+{B%8cB@NZ?rQw=$@q85{Uwh%6*1# z_171==6_Cyp^?WJ9&HqGdb_?JU5_5&T!F^Bu2#?sHVh=iNVTh2lrx6gYB}`k@q_-W z!BDn9!!OSYf{m^WCB~l45ojphtB$LB;{8#-vSuZdqRwr$KqIu36|C4@K<5DJhD4#^ z#~63SJN2IA@9s|wi2{uiTkWCk?kP7(vFB7Y8qthVSM0+@{^&-xqSvO};0iSQt~7z+ z;g$D@Q8DNy7Ec+Ybz22wPicIyCIuSvhnv7MjlYhhc-r9>8u^S-*F+AP9yjP&8M|1v zK;!ywJ6JyZ2Hj_vckwnFm5iZg?hKErEHcSb#Vm^F3N)rpu!08XTGL~LhZ7U9aLrd8 zSHr)FchT8=ZA=V_0*x_m%wVCZnl34lF5N>TkTIrcDWLFTxAvsSNoET)5;qt@y$5sX zkyouv57CHaj9=>&5baS$uZNQ;(9mdO31gb*pCU{3d;TLd(ikIKJp0ppuqOQ1v6LyvJbu210#G_E?C!KD{2biO@% zZWw?p5(OIC{jI@8{Y5iU{2P;jMm%Gz5ciB~FBnVbUUz4+1sW4~ zTf(+HSNiE5dYFkuCTEDbj3#O2t;kYI6lfgwRY1?|gLKy5NJJJI#f))6+*ed&l{1+b zSH`{M3N&PokAi90a=ISZ`s83?U7-4%&lS(WPP_bV}`&&lHoG)8^2 zf{`P9mXKoDs&`o2V~p9iogix7VS23gA&V{0h}Urhhd%k8h@t)&3A^bhB?QHu~om6 zE6`ZH)Ci7;^`o=3PTJqG$YqSMGP!tC`etWhNEB$?FgJzm3D0~P^${(&kBfFLr zitewg(Rjxg`RiR^)RnGu zTuBsYO!YE_uUaSQf7HK6wYUD?HNq8)aXHKx(lvXnBTF@FQ5~*8V@9MCtQ&b@J}I;} z)WgF0lj^u~GIbU6S8h*gQlK%>&k$Z_-KIwqXObJB;m;U@y~Vo+>bCz)j8k9O0u8rZ zOK^YaGJzC|>_%wBFvcbEJMU#LqsImk1sZ8btwGml>@{LMe%J(!6voKeDTh&t|ki#b3M;(YEQJ|6HZ3<`hnr>sc+(_{$g? zK?-;>VJDqWlqk?Be`N!uMFZ&n`TD3kYaWoLTK0l1(73wD2m;Li zbJe}|y*6kBF-FxVIfS~kq1Vt$6lkQ+u?6o7SGSR+GPu$XjX1^_zf(N_%4BpZDSD4- z&lPAS&2fP7qcrK3dclm2SY$9po$F38{r%86#E>Y^XuQw{_WwRex9#nQcSfU#F%IiH z!LP9YJOxUkKx6v=W7vE4Jss_X&UQsZ_F45ij}iCRLcr~=WIcM_VGA_AY_f*#oiEd( zIBrwL-C}(hqyjVs)tIOeRfkuOuGHC2}DU1}xxBH@z#TbU-c(8Ll z2fDv2QJ}GWnRxG#`tYB`7#GqXjS|N24^l$!F0pi8RH8tm|87&*GO;_I*=}%ZAR4yC zs^dy_MBHOi%ayLj$|-}m0*xa#9N}ZA&vddL3kMCs!izC}u5yMeb@cK{aXgeQ(AYn~ z7WT~SuR)6Vn;K|@Gsc3ON-*r~LHGJ33N%*DJP5w;wI35Be8>ni9x#SyYb7iTIb1*r z|3z$p##kq7_|dQ%y$&F1;wUs;F~(YP&(GoZP3i21M1jUVBP$qHas47$suTUkpz)nC zE{7;UzmA#?DKdiD0*&rr)-b7eEd6u~PmV*w@r&xXx<5(*V+RhSTc5OOwm{>#s}Ahn z;gLg@N)|8y4PVBXDc*Ot?CTA)niOb6?UO;_rZ74e?%i%O8WD`4AH4#a2`$rfm|2$aFY7C?_ba?ediqnt5L{u0+r7(Jr@wGssyVFSeTsW)z=OSRW! zCK`$o)p1q-yc|q4H~%B+ajEqzu0X?K_hE<)E&E7{t<|%!@MDY<;+_0N=SE=-H*0r&n?X8oFZ);YwDsQDmtG9bJt@EMpvB zCx^ji#rmW;sJ4bH&~V*i2D$Uk`jO&C=e1a*F-EG10@@~d()nG90*#jL29P)K&NE_E zH(Za#N5*IwE{C&U+>JTCPo&U3#TIC6 z50b(4`37#JFtp!{hI^^%xN0HJd7V5NNap|~3N(UTWzgf>(BZ_W(AkPcFk_5)tblX# zJq<~*w45!_s58wLdM0Jjd4|e&+t7$-jDOB2JAJ^|zmlO}JcXI_AniCD- zfbB5){}Fy@FBaC{RKN4BnHHBnmVlvt=-}K@r^}d$VCb8lH@y*-Zhfe{ZJy z)E#Rd;0iRxEj5Mty%P?TrRrC55R1!S>m&DJJD?&DS9Qb z1sZ?+OkjbU2K^0|y)Z_@n=$;wGs(|C{8T{) zB9}4L$B6q_^fsxJqNS6y+-&usF*Y4K(HOV$>e3 zniObQ*@-)gU+A|c#oK8|(THLUyQ6a0Gs12}O$sy&F1f&?zkzhSo1-B|BbhN=TPWdo z_la~p`lPc38r}X`K=6|{adt17B9+eiP0w1 z1&s>Eh;$Rrj;?r5_je@cCjuFG-!Z|d87{gFpLvKF4R~0F`F7)FH zG(Ijf0cE;#S5owt;EzQdV;EQ}VD75012rkou=^mc%Lw*)Ns7Jw0@27|44<*$xy~(5 z(cgK{MYcdAbd?O8@8r1l+kof-{Cr2pb@m&5qvFD>71pze=r)d za@Ftr+7R*1;v-5+R z6lfT4JPP)q3c5%3*Cz>$2*y}_N&yY#es?2Az1wVo#-YU)P?a%eHz_U*dxAz1W1JeO zfOYv9nWQ+qlr7Nc6{rUr{tThNLDwnI(8yzqE#f&WE=xMned_eLY=K4(H#@K`Y~)9l zs{4;rG|CxcyNwduTD9FmipbGvT!Dt$Of%R}xhRShzqVyyq4=#juC98>;bcYtJ;x$Z zpfRgRA3B$f`b>=J8JTGKF@{zraV<`2ZMsiA`X^hU@!8rE0>k&wqwS)1S!hHvMob51 zn3(WkHCd`5J703e|Gp2oJ+!#!;!29GD{`=S${1TGDdFkin{>OoN{=njIC;zn9@Ud+ z5~FI%Yc%p1qvd5eeB1xJM@*xO_Ms)IfGy)l;tFw46 zr?U>7>pQbFpDWOC{bvWKXJsjf5jDL4i&)0kw@3+Uy}Hw}dwm;QpkXVXGZCvXpB{NV zT>24>G{$fm;S589v*nVx6<>@m!=e<@sTl})K|g+=M{9H`qNvsK;zym zD_Ekn(42f$c~6VcsA7!cE97wDPYL~ZmMGAO&M^bi$(p{zFuPfThWj7YarN)060WXl z+LIKorhes$|9w_(tYLAdM)WGAhYP=95zH9lH59Nk=%X$%BnmX_H;MbBUKu8nLM!(N z8u5%_a$gP;a+eP#Me^1%u0UhJdRzE8d-FxsS`Z# z=}fQR?eK&x(8#W|h9e%`>6y_-H~ymG$rwv&i}SU1A1;ygxSq`xXoTonfbGpk=SXqw zVHFye86*6K9DHZ*8(WhCjbZ&v;J}7-`j0bxd~NOjyAJstV^p4ZhM%P-Z4K07&AwRd&x#_ zDk6pEb+$mG_C)b+r!ATuq-f>e5Doi(s^e;ic;CdRmpkYYWaT}!KtubL4wS82On>JA zR~n$m}E3ZBaty?1-L-kBinj4DbNT$X$lY9s?#ga>g;TVMlNIA?If;Mn>oG? zF(e8!5?WfrtQY+ckz&BFHfWSF#;OSl@E$RhmFl>v zE&ihv1NzY8T8RRU7LCPk5W+^1^@!=z35~Oi(M6nhK4tz^yCwx1(^IWrcttz9XSuIo z7c`<6qdHj*(;gqDGpWIs*aD3{1I(fL+hqDXpK+=i8p({2_eT!Rn;X&JheUx!|Ivrx z%ro23WX&7d_dw$vW3&ku*S$71SWAkdgL-lW8mWgIp~7+uJ&!Y@gE|%!jFDC$htH|I z=}5eLlP%DAm1YIrJG5?-r8*VV2MyxQW(SXjsld;8qweR>>F%>#(E!PfcNd_9CE+Fp=cB^M))9c&uD!| zx}PXfps~Z=7VJNcdP3Ht-SJ^){AG;R;y2j#=LCA?*_3g^xdM$7VxD^0X73bY9OyF= z3pZKaL2a6}YSLukAzj^JdOBP89Bh|lrGVNM?dZ6YDA2f|VFAa#%%SITd|Hi0BZx7| zPCLP>g3?K3sU!+CI*RM`zqBmbN{aZZF=)gw#_1N$uwY&lJ(}opek@m@(QUFRODkYZ8oNoW)?Mi=p1oQG{b(rx=Jb+$mG zRx=kcZNHMvM%lERf`-gW^*cXR&jk#!hteZ@i2{v&hjd}_59#@LzR0u#c2(5=tN2)00DYPAJiNYi;s)?DMFshC4fi`D&3io71HvG~pyd&M&W z4K8&3S(5?{i^CQ$V(SdL?-Qb?g@&Vz>bUZM?F1|S<~LsVRfyA zH;C~djxEqA5&zD!w735t#n0qJXyh}-rKWP&Fh2iYO$szRmRZ0CN7KcmIC%328kLOE z{GSsXYtUA`CIuSJAL~P_&y8A=!X!u+4OctWadl#xxYnSnZ8uU}T&TwtXuND{4Hl+; z^n7jE1OqGr8N=_25{fp)(>)o90*$C(Be42dW=58(bAKZ=Vi{xQ2c;-3Pa%cFW41s; zJKY5O{p$Og6t|;I&`4v9KO4n+Ozt!qQIi6VMUU(uIi;#CDgFeQq4AM1!cRKEi}$Sq zYEq!#d(jG%>Ovw6=6yn-z?BbDz$h zr&!ye5ziQ(#Pds<1)Xe1mg??#wm@S>V;x8j8}ghK4_qD4$YhL;J;ePVqyF-o1C~B3Y_dN>?l{ zGsbCcIix46(SOdp8ohoQL;Sfw`hR}$pBonU7~{|!1$6(j@G@Dd^WBeg1sdP_ zn?q^I=i{Vku66>8Y{pnG<}7+W)x)4@}ZtVjFiUR;63%e~@SHLZ>GTv3ld zr?K#6jKGC*7;<}92r=4q_2vpRZY;3`-~LPJ@!*KYzF1sk4AV$)FPX7bA7V%pXpE0I z3`qxy=(zg)^9&k^j4{5K93~y_K8_fBjn8rg8YA7zAjoM+2`Rcb_+gRD7z4ePFmzLU z`fuPo_&isjF=O#z`2FViQev#@7=T3?XLM0OpTP%C*Q7ur`?@I%?{?mh6ovIKpy6~> zbzIFpr~pkzM+Z{03uX&6N*u&5D%6C|s{Qh~h{jpQFtJs_SJ`d4pD0nF;d9jxv}UGh zk)^t8a|w+o#@M$)0rRf!qw`lI2ZV418dG-bi@R(5=?sgz=VdIC8RL?8W@eqGTJ^|M z+1y|YH2%by!4c!t=SXorFdU6{jIk$N0i$yR8=&^I3@z=1Z zV2s8qm0&(bf&FdS9hO?9ExGE6W$#?{8?@o%NL2QA>u>CUe zEWHr=iwcgqj)p&DEZ-oWHTmo&Jsy-O(0Jiv4fUV9wIEA%;`|LXVi=>Frufd^?6D?A z$Nn)~@xSk*tsZ#(eK~*>t;WP+k-`{nwlLC#ZA?7fDbleb9xIKtNqku8u zZ;5Mbll|#0N}@nRA?Curl)u|dj6ZAcpz)V6?ulcApZdRg*Q7vWQlcr;{-9k=iYbYA z(QuQijw?;Ee|7TH+fq^t|HKw(v@>~a5jv-O|M`)C9)Mw)oWZ)(>PdX9eCx(8f= zMx9I29__RBQOG6GCO>-U-qq=}C&`9p7FRmAzT|kOK8BfuW zDOA7nuVHfN^m7rNxsxc+@S185!wts;661G#3K|}aQ7-ORi@Pz6ZsDAEq;drsZ$6m9 z@sg2kh%se(Iu;>}5$Pq~OSYnv?paC{XpH)*4;~3C>7Hc=c#cK_V`!&{XV8@%pjRiX zOJEB$Zl}s%!~TJN$$In&e}P68V{{SEBWu1gxIHP_q_PDXHeoW*ITb*U&s)X4M5BZ; z`pJ~wJ;RyK!+B53<_a{nXc$3UW1w4xts1YeuvMy#D}!}P(CY0}N!DZe61G6Yx6>&o zF8a@vvYL}~(ePr7VWHyslGy(oe@GN)Xp3j0C>z8qAxo7tAP3kDbe6N+gDucV zT4V-+D-*MbvA@k zvxYbmV|BYyu0X>p&<4JKbD+l`d+U71B9Ac=)RbVGm#j^U4ZYa{jb4B4VAQV%OG$CE zWf>afj4^SpGpxI6POoQ3JI)qp_{W-o-h^OJVyIb_qoHt79am?<#C@r5VarI-$d4`1 zSlrhN8e1M%NQ&pq6=?V|Mn7>~hI)ur)0z}$Ouu3dBdTNQRy5eO5{+oa&|K^UtA`jZ zBF5Jqf4Bk-w;Th|TvW1+6z|pkVeynPKE^2Efa!~zniOd4FA~q?)R>(_iVnWjXyh|S zc#IQx4|bq?;SvQJo-d4G=adT{JQIa zRqSiJg=^Za9u}^ys^e;{l?%*Xeud5_N)%{>SsFp?@n!Uwv+!60Gy)l;`91NTxE7u0 z-fPiSwm_rU+6K;rn2sfDo_wYe8nKLVFUS?l;tT1~okW4gnPLa1v@bYHjAx1_XrwVl zVU_|mPwq<3t2Jralq=9U(NhL97bnxBJFV``u=vOr0axVEq2u;7WT_+yG`2Rgfx3P( zB1o~PX$v%}7{f%oqsk}Zo}3i*UDyJR(9O2+yPky~DTbT1Lc{%->bN=}uGyZvV%|4W z4EA9QG+LONf!`r>I-j`NsSO&zj1exbLyq2*Y(Wf(0*xO_^+Db+gC5bj&j*r+2GnT(;CDTjZX?620OK;!pF2hd7O^&rJo zi_T~iGe&`UPSF@`qg$j{bA~O@=%sE2tz{+jTu}=}S2V2MRKN3Uhn+y9-X6LYJ=&rh zSD?}Aq&@g{PNv(Ey??u7;mH^S#4{i&28BN(>tWEX2UnnxUugw;{Zj9e;zE;NSX^d| z*5Wz<^3=`PVsDS<(95?8XMk!--7xylmyk&HUtjDd+ z1GoZ>?A2EAt}N;YDVj7IgoXWa)p7M#ypKLD{{sC#mnhKK(ApHHy6mJgkj;M%M#Gyi zrcDs{{KO7o?)Lc{him&XA3lv z`sl&9yY=Zlb<@<*Xp}L=kJjQ`>X$`yd)53qTc9!2-wbA7+d#J^iZ^4?aB^22S8>}E zFz89*2J%^@YLDXzGy*j2V94kpVWen!WC9jv8KXd4r*D4HAgv|^8g@S{Al7@K8AB<~<5Yy`tRzeI_4rh- zK*M_4QE(g>PLJqiGEFSrF~<9B1$0;#8cK|peWq~*8WDvuP>k9^=dXUYnt??HW9a-5 z*ZUl|pubv)0*yCc%-~eDi;^tWfa;lOIG<1*SC!%%y~)WPhe@G*eim1t(bCZvA|`t- zAVs5NbFlDd3{x99Z0kJ3xF!V}eV#i)pNbCeNzu?^9vU%>ku2`DOzW|U&H-50p3fC% zoUt;7%pMOlh%s>A0xVJ(BlWm=CZNtvdM0jVi-lZ)MvoS@aKZS)b7JWJU4%seV{B-p zfZcnS(|LxgmW#Opjl<&EhF$s}r(3w@2bN;-mod(X`v-r0X!40HRU>D%K*M;9KIFEk z_nj1jOqZkK=Ak;Su4^fw-4%U1Qn>e6!4+uiKcNSu>(=U%B28@-7D0^REtkXL;+`g? z*yhR>XpDB$1#RnppGl$Ry9SLo#+cVp0YyI1^oT{GKtqvl3Hz@WHzkISd@ULojL}hi z=i1Aw=*)!2uytI4hJ$z~t8+y#{j4IoZos05F9s1 zfySHAkeyWh&U*|}fMQHP+nN+;q*fclxdH$3NfBJ9q+xinjqCmr_k0rd)t)TyE9-Vfek-!*h$17pd09a29 zi2@C+JbhT5ypLY3{^aN`G_n{YbcvXIeI7=OtYEf4W7BO<)knTU<))ZmzY4?B{%7L=Xuv;Xe2Sl!3zo)T)!)w%aAD0 z2+A~qBNI*Or|Z?*28}$%XmU;oU3#^n`@60)*#eC<-ZEI({me_U=4(gTp;68lE^EcT z0MB+!tVw~!IUjMo&)04fNRisz0S$$h>bS}u>;k`5f9pYt5q@le#;KXM&}MN7oiDlS zauf|e&Zt&`{*ZL~iwX#53pCOf+rZ03?OKqf>gFp)BbqVVi)Z#PvC^R1#QD<|T!F@K z1M#lL@;Lhcv8%Z=7Ed{2thhH^Z9^_usvX1F;(x|hD>$2Xd^IV?cXdT0pD|{M_h!u6 zlIdQP0u9T0RxrnY?_5&!YwU(bC1ZSjCWj=gK)UtW6Ur879DZyHZO6Z**O!d(a!14U zwCcFJA1H@$Lw^n@OSNO_39dlHT4-Il}!pGG5%F*b_lQ`hQw zgdPb?6lmzpHG&^5(R6n3^+_KzJ~Bpmp18ku>kqnR7}3R-E6`9^8p5FqN9ZhPyGCcR zsA7zI!Q#G&4F}7~XVrWlTcF_{oWA`g zh1!G*T!F^^WCM6|Hl;Z!=J&gZMJ8jkJthaw)dst2QlMd&Y6DvbcBTIYrL8ZaQOp=- z>Ege3#@_M7*yX_%XlO^7!{AlE^jK}AO(+`HKC0jOez8sbvb1j;F~<3`1sbPPZ6QlT zPWOEd9}7dnlQC9`W3`*34%8urM1jU=5ZBOuxk&fh_gh>+<1%9$9iV`c??#ct$W*_| z6==-qY6KtqjHP?w&s#)bagQ-}EK$Pj+I{I&FA@bBe#6Y*Sh_1+j|TrD(a2_ufZXFS zXl%EGWIbleqPPN$mXAze_>a^rq;PPK#-fxlx{BXNeg9WOG+40zh_TUIJmL} z8fTLoVZrpW3=C|fRuknTan_d?`^I?qwfO)2<`0qf)t)RqgQIp`t`S3`Kx4^p@f^rLj&(`#_SZu+oX)6@D+}>nnIGrQR@J0Hqs=Kx zsF)J|k`(^=kI*>F7`_{naP+Jv-KTDUG>I$FIIU$40guw@IWG-^WGtc>L;bsW#@2z4 ztH@GG6lhenF^2Oam$V^;Tf=8)Bs0c02L)7jD$cA)fyUhPI&kdiHGfj%m8GEZjxpwX zI6+~iO=D8@J(bE8Xw>tw1A{Ir_K{-0eL5BujB);h9G*;?>|2upjmK7YaIM&bUg_jo z{u~YGv#R52srWzt6;e8y80R}=as?X0uNXjyXDZ#cZ>^Vwg+F81e0PR!UKQcQNC;vJ zG&~|~;ek#MI*Vi4DF=-h#uyx^geMOFIe)%;B3q!bc!1cyvVzWJsTy5+jYbM%xNMh$ z_k=-ow6{oR3p6H#*g%Q-%UQ(u6a5B_0>+5wFNd{DZfqpQq>Xu8fyR@U7SOKl6ngjB zi+S&`_{$g#PKswo2g%P7W6cw`KqL6PE-1FFqWcVsWAf2(JEuCXu60nt=J9Xn|M`L( zwm>7Rg#~QC^o8zOE=w#xBZx8nMap4#edoJmJtPV=`t`PiMB|1{NO5QUCp6+1V@-w= zJoAdCM-z|Nvc>UVA&seoIzriIj` zK;wv>E_BnLeu@-9W3tc3vBlCPiQ-TcDBYX9giT zA@pb>Apaj4w&zvH)%k2Cd{|guNeqbsjf4Ab;m@+VbbdEtWv%W1cm1vxV?;Dl!u!Rx z^l1CGK3kv>^Tz=i=C`K*gOS>G&tv50>)~9$7HEuiG=XASUk6f{EUkye z1IC!U%^95D#?q_Xu9UF_8up305OPJ2?)90xYkH zRq)=>JE|`=)3(`m2tsI>W?! zMyD*ePK-2dAvL#?q$VvMR0VxPewr$z-Do|CLW z8Ty(2<9yoC7L7c{D9#hl@fznyXPwX0ZpRg9v}tGvKV#l1$Y*6%(jJR)#;{+ggxKtP zX*DU(SbNYGmK$2oeQLv;j%X+XRL7O`0y(T~XFGrxS2lIx3N$9xGKA{5#7m?|+1~{V zKgO7=Cx@os0w56OB?q=#(WXJ_G!69(s7ZlF?pb|U zX&*(;lJ#FP42_SBaYbDFVRR*PCoy6(*#eD8BgD0XWsm6o)#LmTXjC!A2U|HbUy-(+R@j)JD~$K*PGWCD{4f(j)pM4acDo%otC{ z%Hh?vVtTYKQK0c-v?+M4o!Xl$Rf|&-(1>S@H1X^NpBiW*1q%a)B7HG_QB!k#!dpg>$b(o4qF=NEF6xZBs?(Rj5PdC{Djr>p6 z@bY=>v7~q$q=|-gkm`4S*H^sjcSktg?n)GB{Mup%4?NG%@8jEq8EAMihHi{_#_tD% zFtSt<1sY|8t-xaYdU_;0_wg(=E;Gh=aS!jwpK0{?T%thZ@j4?Ydp5l%St_UKIcVHt zjE`5v`wc>;93e&7hPhmUhIXPQ>^xje{|EEt&Br2}F?_|fgAbZo*$_jbKtp}1K3Hit zQ71***oA16GREfsCCm$2K<8eov)KX-&wA$Y{?B=ObhjvRF&g$4RmauH_u_n1#!{;uCz`p?;W4O^g* z=4Szowj0u;yLvM>py3p(Ix03N&;Mn!zuJPISJc^N3AooMntpEyNS8 zM|yrIpYG}iwm`#1*9s18E2YODT@$vT5ycn>AIjl%=zrc!Dp8;j5h&h8cc<w{Zm;6PB5Qe&7%KeduWJz~UWa_{yU!-x(kg8#xU3{o}c(AU;;5D3N%K2JOsCAZLUX(MV2OY*Dg)s^(oFHM(Q16-)XauYlSIRaH z@gs##2OTsD7-M;|0zTW_q;oP$PO}9X&6?W4z)^X0lpJu>L*p-F%ooobxO?bSCRwW8 z7uf=hj*bQ}`s6;kM;7m4fQDO$>bNo+u7rf1M1u0u2)fJ@_+L_LD5tT^l1T zf*2$Bk`r`K-AeDZoH4+dE70iE*%~5a109G_($*Aeh7sYIk3@K%-}nxaQ6_gYE&uwYEjW zgE9ObJ3)BUT`kB`Nfc-#Y}1DWsb`y$qLIHn8X=64=Ai%^Yaco@AyJ^w@TWCIPYb7K z6t^F9L?eMQy6ls~fX27f$WomcbCfI4cr?KnMzvo+&&qhI%dyB}jFtLw(2k!)_o*cc zG&WY70(9y;n=IAS7D_Zq7-LfhITW4Is6z^y<7|P(ijh_@O4)uADNf5=(6GI%I<88u z$RTp=&c&qgIL8)fG(I7olUlW%9(jd1A49{7F;=80Ku4o{DKR7pG-9pH;n(*ly1kli zdK`^##&G#3hlR6y-6e)ZfyN|%6Y!Zjl+HTu{Con92aK_5y#l@&8JH1cqnZa-pi$k} z92)tLp})bKW}aBQVvMSN;y>!iaC$AyB_FmxjnAPG!5B>|oZ$8Ldvx~P$crt|_$QvX zlx|kBf*3O#&ZCjU7+*g)LB{IaQ8g*h*nVCQd2JdY{u<&CHMT8PGHSW^mkFJeExdM&q-40;e z|MCm6RPBCV#v+#d zLo4;+<-?P7Z)th6BsAg~BkqM9D$4E5i6K#-;dMn9(rzzsCPmrr$7p0S#$$Ck#6KP; zt4V=|;Y2-X(Dpy~!YKabV3$EV3D+<8T+a)-Sd_DK;9h1sX=(%s_qbu4Gay+>wJuDPt@W z=MDU44?IQ+XCF0z$xV|8dn+PhnF1cX+F~@#*-EA zxB`uxC03x@Zh{^ux@hNPk;oXK^~JN01`P43Nr6UXYfEq*qj*P(%Ebj}N8iM;rZt%EHr$*n;4eczF={dF+OCA=Xm+gpjXyN6li#4 zTKzx9?))#N|9$+pU6kxw+4m)T_T{o<-*+!dNR}*V-0z zl8_`yC6$oyeSSaJ`Dk;zynCb#AbX%*F{aE#| z3XKBBFtnG$sJX#(1~S^bnk&%A5zptm;x>|g`{-?|!QuyFj2GWm4`b(NldV!xpkXKO zRdb#4kd9r;g+I{nyQDa-9EyFRV$HVQ#5nzkEzqd1?F_>Q?Z_a-jq9~yIh{Zgo0 zT|=o%@FGwaYuW(@TSzHqN#WDeP?wI;v00*&|Dt}ygwv&p3J z+wd2QM~qSVN(zRHH0ZfOt9NXHMv{v)lsD-{jSmm%Z~edfkc${&V6?b5YFQke%g88a z3p4^hTfvG+j#*?svR*YrqmD6h)cs(cb94HgSmoS^E6~vW>JGu<3h3-d!R{tl1YTAg zS6^p|Yj+V2eaKcRDbR?}u>t#j_tui4=UO#1;uzyisT7*7|42WzhhMV=8atw#Vg4@3 zCSrtsZjMF@W6T%-V|j7ZdzUH&8p|Hrz?i4ik4d4nz6Bc37(;iZSVy>iD|#OF(}69} zxWCg8LOi~-CC1>gmS~hPMnCb~rTQ~R&~uytnyt73jb06$!L81gj@_ZZT4NzeQhd)h zwinNFzqyDW`>Z+KhAYsBZ|eXD^W*4T#uj-yEP@%MpRo+KcgUxAKqx8D7+LKMLHE?? zyw7&q4rs(P#_c>QZ2Bi;B6)R3cI(I$Xh_m*p@CZcHKdrT-WiLVj1g)shs1yC!c-~H z2o=xGc$>6={tiz5p@l{cW8^Fq^X;Yg==bifaBZ$Y_z=XW3Ybj6~aF-AX@ z!{Lh~hm!qJQlMcsK>TYfdl~%}J!I7#4fiXGafVo<(PYGSdc9UjfyT}dSD2)Ciyl)i?KBXLJjQ6ZEFu{rP^_Q0_{fE$suXCv2y=w& z={x8=Ly*Y`G!hvjOI%l*`En?|?%cPUEzpS0a)6Id7Sc1wneRrSk-->G#k#cv?+&A9 zsgoM$as?V%b{25{chk3I&pp44#v-3FOt*{wN9}7NQ>8#--W(S=U)GGy2ye<8i$)D& zs0YcQwrS!6V!W4(;|erV3~WK;XT~Q|NcT*@LVi_oT!A>R4Onzoj}+fqPviB*ELM|yzl+D1RkTJ?0 z$>7h%GajTkuBpcrXsDYyK-8qqQ%GU_YbF-8jG;S72AfV>rKnP%@uaIA+zWj|&!eJ0 z%|^rjn&P-J{4Iw@1^@Z>c_p926=--avW4={Hv7m{yQf>zjP^ApmDmjBb43fLHEPL zdN~$<7-NC>-`%&TC+L4)&uXvW3N*ruRg82)eE~t}4XZ(ciR!=r5;| z0*#|xU7&nd-aztNUHP^ejgySAG)W3p;S1^chhf+nu0W%Qi8t8KF0LVlk=I%*QW>Mo zWIq@*dL}(CQBt7MHq#Ma_Sd9GWHuJ-(Rj`nrI|9Y+%=(!Y}Li@Y=MSVk_DJNI@W>| zp_}#5C}oUzaooOP+D!U>^l!3}E6@mAYYJl%H0VrGX5}U3m69{T*C^#)&vvFk338 z*Kt0U8)1>l7=MMa;q{t>WUG`EXz1BF!1#Zf()06w@^+z7!5Egagt0bf05Ohi+|3ne z#4oadfF;k2Nzr?uF&3UT6vtKZdzn~WZ02-QXc@Bw8e^+HU{=42e@Jn8tqB_8j1em4 z+pQC`>Dir<0*&Efjo+Xb$9EFr>})eM&NGIM_)pwTpDMZ^pEKA3jR8egkiPNRVPYib zSfG*47^B4Vgo96yzNt!q#_<|cIJjJwem*A7wMOF&W2_JGg8?~Pt`KA3PPRbfZJ8xZ zKGKBV4`=tw7L97gxc_<|n5RFXXDmtzG-}wPi^{&1Eai*C1f;|er7J2=9p zC>i~3AOFD}ivq@Y`AG^lf*-9STlLV#gDcP&E7ndJn*W@>x;L!6u=v3kpMu03*}MHZ z#86V8G4GunOw1Tak9|B1ebDgxS8-g`>newl@#&+8aY;?e6=--7A5hSdSCK*L@f2K;7!GG z^{z}Ro`P{qixivO4{`+>0S+#(yyPDJ-qkS;#UhR|Cgw_^x+IQ%w<{^oSaQZ578!=Q zldalVcnFOY#u(LG3jW`w&LM?C<8ZD(V`?XR*fw)&Gg1^+Mqu%bF*>+QVQu@p8l>oJ z70DH7Y(M7!Q(MK-k*K#N3X2lP__b38qmAFvPt+oJwm_romNRs}6H!LCYMf~_8j@Rz z@A<0lV$FWXz4X^vNr8rGoIChtm(p3a#`-a61T)6k3K_(gy#G$NYSKHlK%(QlJs3 z=>)x=8Mh^c{hm{3PELWfr*w_O;{7SSXTeZ;f zJQiV$aps8>0$0tWudb2;jSiZQV7I<;Yhp~^nTW<&#+WVcbuLZV@Sj=EGPXd&K+MB+ zc`lt!jKJJWXrwX5u33IiFX{sQ7Ipu{7HAx|m4I!FR`m1HtT+jcJkBtZLzh9#wveq_ zvHJ>Fps~r@7^Hf0ACaQ{$*WjYGDhld@hsD-pZTPiRL2%*{ORTlciUId_dH5H1r6^z zisS01SjX%0gC!ZnP*VKQ(6WP#Q&!v{MZ}LAXhbrGLAe}yw{O;0l>&`+D;%J4WiY*$ z^P101G!hwO@vMFD(?gH`Mky)Kcxdhf1r1*JB3m`A_BI+BjPYH3x0{Caq31XwwC`{Q z8qd8QAV=@*Y+_teyNg9WV=VY3gZY^S9;9e0XA3l*X-VMNG~W_Zw6nX1Mh#=+eidtM z4IWF6mO30_3pB1SbAeb5=MKb3^16?PJWX+2of$9IJ&&AnQI!IXw9n>H=u}3}ak_NQ zLL-_n8jAn8r=*>&CWev%4eQZXkUeD&y)R>KlSgPIF@|w(8GPyeyNVdGK5T);;)h;v zZ1U>gq-Y!R1dS}l*xJAsI(b|jNs7hVPq_jO%f%9SRMpsp6!vP_SQIkGnzwS;W>N8) z6uSqq1sVfnmQerWm9M1m?C=7OTE>{RN8D?0pa;DguB1TY-FYvl-#3Gve_U<&5)J>m zisP#MrC5Wm?SIyk{d}A)&?wyL4rdG_*OC3m33`P_EMrtJmqCx6e}Ae{pmE929kOi) z(%+AkuCLL!#u&2${a|5Aj(uXqmcCC!j8#JJqxBUhlYOl|{y&34jx zhDoi8u{g;X@9)SU`_;SA#86V8(X4|dyzd-QK#Hv{pV3HVj9np8m|JmyzUTVUY=Oq? zgH~|=;^9xk*tf3?jpvLptW?~qwtUA7QoL_d&J}2Q=Gnr~=mXZInBTJki&DnWpC*IN zBR>36r9h+Qdq+r&(x9VcqGlx;uJ;t*^K$Vlp_W_HEQxVHfGyDIdea*G(sJn0l9^LA z8X=6)NlW~GNNhI}!|*U$pwW4tGf36_=^YSTjwSm}0bMKPkx6fZR zJTnx>)$bA+{C!DfA-%6SuB>~A>zqcj=(&NC0*xJGong%g zWBO|_r%DrzD8`t3Uj~=wmp&zX?rznRE6^x;X#;2a6iP^OV@qo+E-}V?@qU=EDyH*S zneJ?XhV-#HJU^Ovk{C}++oF-l7*kh?dk3%eja8*UW4ft3EL;#@Op2JM9ndIXjH@Gk z;k*911F95gEYvZD)e&v!u}_jsCp3OAMz#3fT~fcb1~D#&vIQD@cDjMCN$*jl$nw-e z!!J{DT-m;s!quz=^gc2r1sZ<#K5*ANk)Cs=n|DDYhA}pXb+&82ov|QW)%iPHpwarN z4K(#RLbocjup1i5jG^{K2GPMo8WH1F$(LLZgT=?8SA1z7G!5D~eCudvgUEnPsL>cOrT@F*MBjVo}E! zLF>glwd<$tsuXD4+~o|1+G4O-~y!&m` zn{3t3>Vas)F^2UbDcINlxR4ZMYzA=!8a92M;g3ykdL(o0-C!(I7{lkJ6ux_oyGV?I zo;qBC#_D@+&>?3{DJdG555?jcV?;HVL*;?H3sfo4NSJ8{r{+e{^V~wH#?W6ZgRp}O=t#`3KY=UIc-+Va7Az~E^H<-?Ct{Jq z7zOX7Ft7i|7_wDLivPV<+ICQ$YWtfMTQ*KXqnt5b7RzDUp$RKUu};DkXf)F^g;&$Y zjweM{#Z)xhA1aQkc^~AEP~C|hA*Z&U#uaE3k9Gos@YGadc>bA=MHpigi220Eqa*2Y zVhh(9T!F@wa}v<}olWmBy=y!Zi?fUodP4kf;-@ja`kJ(lEzmfaYXTvlP0yn~{+*3R z8e{A|CxxGNBXr1~=k}Px6=*nhFolW!fsUlur8y6aJjVDaj!O~@z33?MKF=0tEHC#4 zxZ+Ib!harKfJP-_tUc}rjoNEoAX}vs#TIBxZR-kGp2yH5%dhf9Xm~$T99Q4PdNNba zOnX3#9U~TV1sc!Q-J#Ecu5U?kpxaU`A{pa)o>)8D_&?91S5lyHN320N{LOz>FngiC z9F0WAXjLfw^ON3!Z?By;f$ zo+gJ$QQcw<8u^UTVY3|0AIslQiZ4Ui0*$$M96)_{zBwt@A6|<_4P#`9bs$q(>nj;B-m(Vjvb)C&yDsXrKCXPqgY$SqxS@Q?DOr!Rx}D3W2Cwq=G`&uPqxZo$TqG( zV@X#}nE2hAewSEl?ZBdzF*b;`ikH1NeM*e26WIcdRb^(7|6&b&b*~TDiH83Z#c^e~ z&KCxI`O)`WNr6Tq4@c1I=wwQ^>TUboXv8u`z&RQ8Y^+CTivCGv3p9r5xIpi$lw-vB z8f%QkHO43q&%r8e>_d=JfMZ zZHS?yKw~x7K}O8W3Q}bLwL&B4sp7b@|K$tC?Xu_*S?y74u0Z4QEjMWOr~W}=Lo1fcY8n0|z;K}i#*41clj4)LFB%n$@#29WMUr4{`+> zrGuPd-oG106Qfa+P%PdsMv$?1mQcU)1EjF`VGA^#zc+`;H-Ek+g@x52G^!b6P^2Gd zIen)0s%<&Q7HDkhZUcvEX0#)Qk9!0f(&vifDqqhJy1(d1&mff)XtXJGg|dkMd_E?A zJB&sYV;H1JVaI{>^ortu4pCfz#*A8PI57(@ll^GZFdBQRxS{~wdSsm zRVmO&z2FMT`x593%Vy&^G=4C~4R0xI{g$myjCWtz0*#eZJ;Aibh5kl$tal0xzZZ(* zYQOe2I$DZ9?0@rW@p9L3sHYbHC9tqLz^ z3p6^nbcaTFhu;_k$k(wZZ`R0c7_k60&zgUzo#w0P{ZfjQN zKnx`X8W-i3Fko+6dOp~D>n$`SFBRW&$zB=UI9L!z3?&5`eb2c;a$s&YDJp92pb^X% zrjMj>XzI=ZsuXA#8GFHiYvof&acp}!8u5&=*2WilFOHc=iu2xVfkwQASW9nR;$%{| zT4kVdlQG(f|8qKD*$kw(`;#ruh>mfDcdg^^k|L(*12l3N<65S;M>r?r1t~sD*#eD4 zTgAGyL%-9brI9ud(I{sOok}@m=*^_}`-}-?3p92gkU+%K5%jwABG1QYxaTU4tA}d7 z;PSRPJ?B(XpmEv95nlAI=tcJYamQz9gfT|Ib2+pb+n0XMl@w^qPH}-e-S&J&t};k92*HMj~U_i8V7X>eQSj`?05SAy=UB z=$N=q|MVt0Uox@s0~Q&Kak!`WufBDe88P~`E#e9^p6J?&)kr=zAw}BXk67e0#!0a< zp62!$0jd;eoD|QlS+$|HHYsXLi_xfIjEnX%Fphak$JMBS60Sg_yucR1w`r&m<5K-H zEaZ8L<4R|~n7=xhNzdqS^rW2@Eo z255X@jA!EfW7N%qt%wm|*N`jFXgyZ~j<=TVBZbHI##sDej5lK4+7AEz=l_Gw-fV%! zStAKdt{gFy7&k1Nq7n2)aa`GoH3znRoav`Zfri6C32g3ki@v%q44R>Fk}*2<7ju?& zN9PdZLeu74@jt`K5>`UB2`SE0t7DPM7zW}!fA%?;?zxfzjmnm0U|{^Mh8RyhG|_m@ z7-Pg7K=sbzld2SG{Mlp!gN8LUAjOi7tbtfhn==}>2Z70KNGR=D^MI)^CQKziRPylldWpp zeG*roVNzfG-+BJ$)udRiF$Iel#@Hmz&)ZD=LC>R<6ljd-Z3p9YHdGPg{!c(7nK6t9 z`@)HPhV);*-y)`R1sZW9T;SN%S)+;3Pc|KkM~q=*;R`iQ%IR^5k^+t0MK%z1$Mrig zdfVusQN$S4;y><-s`@&T;zXC3T!F@&*$$vPJ)eHJ`!t)4MIB?T7vG7c+IO6Zp`<`# ze5o;vD|$nZ`da;*gGS(c#c}2TTn2~2_l_Wjk^+r2ArjEqF^|qVx7|4(jX1_I63_be zTzldYF*IasfyRT+64;SDfX>{#vRQ~m3S(?+D2LoDXXt%>N(wYSxx2x_M4$6yt3rww zqw$O}l2(iB24hxIBcS;bu0SKs*$Iq~d%h;d(C}qglrYAYPJYn3^FKbS6lfH5wuQxa zp0*{0p3e$2B!!Cac^gylpV2>F-lVv$v63s$h?w92?pFgQlfqnUH5S2)G0jI@S2GTy zS9p~aXzXd_0_yTT?}?$W_758IjB$Lu_#aELK{HY~#!bL|I-J&Nw^I8&Nh(;J=w0$83?SxIAh*2_aD_5Y=sFw$<`L%2bDb5ewj>TEV zcs^eaHAcE=suXCl~!#QSWcC1seN)?FA#NuJjIw zS*LfQk;fR@#oAO$)4l0+93=%B+B3wp?dH$R$$lK@YK%rDW6YQ*uHC)*aDf!QQ`iEH zHgooZ&Exj;2zl{f6EwVw6vtJlp%lKXGNWh0N(wZF=edAdQPx?qRr5NTp%KX#nHDm5 z8@t4q6t0KZ0*!|WF0k3RDLrF(dBOsXM8=S;kwM1XrFFzmQlK$=h8wIOU`S^_^e0-Q zk--?BcKAZpK>J(7P*R|=Q(^~k{}j{D`KST5Xyh}7;aEQiUthSL7-vqg1sYiwU0_M{ z?}el|7h;b_4P)4Q$Y9-$MRXSD!WFhaXhbtc^J*Dv(J`V&0HtFkT!F^VQSNX$--Ldm9`|v@B8f5P zee?l?4h0*@o+~NP$lGTR9p1ERN{VA`+|kHljPWg{@ZA4?5h=qd&Fy<}MUe^MM*8)Z_6u@0iYgGvfCW_eq}!jYFJ5Tj8mUo>JF!$%y8 zj?d1BAO-Aa3p7%8Si|MCM)a(xxXuraYm6~pd_MI0*U(?*6-V}Q1sY=tZDEgNdOfmL z8~g&Wc)}Rxo=TzaOLLV9G;Y~gLqPsTdj4_2em@$Y7~`0`41DjXMUt(`=^n%tXh=pm z!fvb1`lJ}zA{dK5j1ehbt2Q_8>>-7@KU<*jwU1bn{QZkxqzH-(K_jSGaa@@klf%bK z?Ki3vXc&BTfE2&~tYG$1^AH**86!ii2XM{A#*i5IhOq@27uq<$viKp>Na4~Y0*zG0 znA*=58r&VSLX`rIl7%ktF*UIVDOM#MM&mhStP{@w-Jn(wrAmRu)aRCwL9?-*(x=ySTsTyLtXse`MUi#dhBBn!4_z25dW1iTzsU07)_*cXe2Pkv};m` z^L#a%6hBU~1sdyZ>|xgGY4rW*5^@ra+l+BqLk@d)glr*(f%Yk`Kx4->Yq6?)IX#j& zJ@7OZxr{MR98em;~GXiW8TfH#NsTq9dG>A(dv!WrZ0Tq&&d z+DDIM+&d+51sbbD+~C{PX7t-5MVPL=MdjOzB-Oy^`1h4X;plsCTmM8M0L)k0qn=hB4|SVxA$PkX})|JohSB zpmBeX1hRvc8WAIE%ylfP8N*72requ2tC?g_4Na9i8q zq%ie;ipC?xus9}z#oO-CyQ$0**aD3sx-QT>Zu|^l^gWb~MiFBaJP^;$?D@h|l>&|E ziB_=e;79s>6|bIyMjc~3`v1>l&9cfQ#(o{PK%?GPH;~QN)gi_0&bep=mMe~{p=agL zact5+QfNl71sWC-M=*MF$d(knqF~))$GH7Brd;uvspJEF%TDjVS?x56WqF^$n62|B)?%&-MetIVv_P&QZqVRdvp9JG=dq!>XTR-*P^c#F_aW&=;Suc&u6o!?bbpmA%63v|2uhki3$YyTCEa>iINK>XH*uc33VXUDJw8UZaN z5IrK~9NF{W-c@M0S169FS61R$YUD9`uYr;RjoNzdurl^Aog>R_^$m?M#(3RC4)<41 zqu-*PF0ut0x;^Z~zaU!ABKzSR{T+?7jPYff98NTVPO21WZ1`>kT9sw=*T8t+Pc+gP zqg^XsI2+o9e$JH?Xbg?FheId&(|Lw7J?hZNV~iyyH=HdPoejb z6`%WqMkQlR(GkxXZR0_&4=O3psF~>sFKh$od}5aw^>_T=J;L5!6~|RKanE+HR=*(n zex$Jl8to5Q!MzdpE|OyNg@$NEGDgNpac$yMd;03md&U-MBv(6uj+>kwW$ga9F&c@C z@#(P?K7a2`&z+SNXz2EFfr%Suc$58@lh726490M?6YDz5vg!MguuP3B&}ezX2|Ak< z)9*wJXpTibV`S%wXDGz)DI!~?q(I|9oikJp{6xPQx(?AmqlPhJoy7m6F8BCNjGd3! z0*x+KuJGsECi;sLoT7<_yi##oeO@mIlbS^_#CT%Rk}J@dInf!WHY}r`54$C;v501j zy;sHman=l`=O5A4Y=K4tKMz=_R!Fa(Z+q7kjU>is9Uz{CZT|5U*$*WJ8mMeEJ#G+t>+>LdF=hNCuBPI?g5gp`<_~ zSYiv;PgdO~g-?|h8nuk!BECziHw*qAPt5TrhGF)88ssDzaK~Agajm8tkh&d~R2|7CT=(X#CK3su@w7VM;yvQ?yh;%OxQt0j-fW{xj7`s-i!xH$3&guJ9 zvIQEKQzX!!M-knRw{Hib5mc=>u1;l(`}Fgy==H&jdV{$Fjk%{iV3S(^mSjI-%XF|f z$r$6rT=?GhQaXR7q(I~R3L7Yi*-Wqed~h0uMk-@m@{qzstvGt@qohEi>pL-Dva~+^ zb*|bq0*&X4F(AedK5y=Ml8Dry3Da_hl6-$aOhbMCd8Y7xG!NV@2=;vdWSZU?|jzx1Bqpng4kq_s8 zBZiU!4HGq22!2{iKj+?c)6l43j6M2dJ(*1(>3m{j*Xdk=MuM1O(K2sOe>sDi>tW$p zqd2aP^cDYO@k$#=_M_t&wm_rac`K+FIrk7LY7WgpBb+gMiS;ZsJ};wleM$;6k_K47 z1+Ukqh@tB<2aWTLAwMsJx#i!Nkiu}tT&_UlWjk?Ckw=G)qzKiTk3~9Tq?(BTr7qHb zPm25qwm?I!CWB#Lj(jJ@NZCR(-Y~{&U0;X~aHrR{hsCo68qecAVBO)3Qeu>cEJmZ6 zF?#I~&%DpiU872Y#;4}CU^K4bL@pD8}d})=0@R+Ov!l{SUDP8b<1l(Bf-qUs70|ScS$V#`r0of4(CwT}_n& zjmMcbP_=Caolo2nyatU-#%L<$kf%4a9!!kl3IA{f8WYX!q3HCsF{F_7Ux!5jV^}|v zLHE@so2ycw;kd#PKCH3+Knjy~8_@W{7^B4VQbz}Nqcg&{53-Er736!$Lf<}RUbnvk{QEcrVNI3N^U`ln&WJNM(1;$VjixXev76BZA0S`W6TrJ z7+HV#i#;(eUSx~^y&v~Yp?mI_TcmJ_-hoCDV|>^u1;=HJ>9?qo0uA>{@hsE44_}F~ zWZzCS>KNno1Q`rE7kz>hpWE!>3N)GrJHxU@*T<9MRgXPb1pZVUS69BvA@%wwdhfZC z0*#J$-9XbisVOlu1NNd3#~2HS%Hfw+*(Fl^JjWJj7%w%44`KW1*bVGuhDHiwED`@D z`*?9Xom-O3U<))ff<0kj>xJ~_)$*AI8qXLbMqCpP*x7s-*$*WJ8W(1ZJIQZProU=y zwpyc6!WfRHWiZix`Bq{mDbScNo?m-@-C{Z$b$6L98j@PY_k6|!ISevCwU`*4pR)xT z*9Ta_%_$yqCbeIoJsQD`Vc1*-fxj=&S64}ahIc(%sFL~7QF3C16B_Z1p;jRU{iLDv zKAA{Mwm?H$+}C&Egna_p^RN#RG;T7++?D&F#OP8NQn)s8;R-bD7D(Vye>FOL9%to- zMGj*)Hx}#ld49Sa0d^gZ`v29Pi5&Xsj+b2SdXn^f+;0zkOJw zF^1tJU-<0rMdx>w6lgsDCgw|$cJ3ux<#;&&jXcI^VkuTiA31xZDg_!-46I@7?IY2o zxX?ccjY`HaxF~~TDSGs1>BJniK*Q~r86)O$P0yC5K5d{w`afvFVou1Vs&tCq-Cd7#fL;G3dH@CTqk- zdIqVaKqD{T7FL~)wIRmdBjIRdFvdnPw`4hEcRx}*nHj+qXrxBlgU0-3^lUp|U3$E0F+CQIXvP?-Cx;~K=6}gn z#TKyz8m|4tDw{Du8%fdmSsWTkj1ewgtK+d-=;vHXfyTCx5@>sMKsGUcr=CP3i!n}! z_4;OH8ucQD_tsNffkypg3G_AkLdVtgWv8(yWQ_F2QixvoioPEgYuEyfCH8ip_e*~p z*{b93&!ADu7+TlR7zh3n!=Xk25AqKz_0 zU)$-aDg_!1*4w~=PA&~e@#sbp8c!JGnOHX}aNG=f?DHU>EzlS=$qBLzis{wx_y@^o zd}54A|H`2-V=}#>SheITSD;~^?gGm%#L=^fE*r07@rN;Hn9HHyL(5XK=Sm7R+K9Qn zf9CI_bCy#c-asShuj05`BK}7|XyG$@E%i_ZTcF`(?3*y6F&j-|Bb)lbHx4G$PlrqMtyMYj`S5-~+<5d}3pi%Fo z1w8DbrALYvxfy7(-UX=ok?Jc}vz_7@p zq!@cY6O9nYxFwZ??#K3lq&T$q0au`rUF!hxB~MC7k-q*R772`TWTi}O)r}ph6lkP6 zTY|RhJbDJ1Gw(4Pw;986ixf6r>p}1M?e&E%(9rdF0=K^tdXlY*%zKJPE@RyNErs`g zSJCU7N(wYQYMkMz!6y2i``yb%qk=Kyk9@%WLUb+Js&NaSa|If2TRB3noqAJAv1LLI z7M?DOGB5h7C8sUub@}UnH**~P;3`z<#iZxu| z{qTmC#JDm#4~_GTaWh)1GqKytffTyAY=K7NVjq}!HJYABg=W4%Bb_lC4HwVI^=a{n z7)lB>it0mph|(pzs+m`DjL%x%efEVqfyNmDLcg4 z3H^@g5MxXQTcEM^vjwcQ)TZ+#9bbPyL+YwHu8#jBhp_%tzQj1Wsfa7k_$}^R3QkG& zB87b6CoG~E!}6sRZn)m0vxD}=Y=MUVb{A;TB{zx~d)AepafvY^#XS=Tyc^Y1r9k7I zu>@|NbEMbqew3D?k;xdd7s_F_{S<9tC@IjG^T7ssw`e$m6xUytqfx*ZMH9tZtPg`9 zkz$9_7p_1f)WjAFl1!XPF?rWlEPgP?$2b|RPC8DvV?5p~u7*2wrvF!) zu%nhM(C`}R1*bZ1pfjm4E9fhE4y2Mjd0U zu$Dsk+Sl~V>vIuXpi%MK2K*jA>`h+X>rd+${onlzf$oaqN>{AUFl5_oIuEC$KqFPh z88l7@UnIuC)COq8F~$LLeK6lkqa`U`%xK6JXmogG0uz%i(ob#A5sk4(VGMooJo=v3 z4Cx(01D3G`8a8GUD4%XOgltt0Xo|)&#@H$D@tR<`js9}lzh?_HmOpic7TdPaBYmSs z&Cn=e43{`57(`{>B3q@TK;zsq7pU>ip})0e*VWOGcqqQ-v;4(-{-_@iBV@A%SD*ns z#eXwKI@7D+zlUgI5zH7<+~iOeY930Anni4Z#<)g~5Eoq0f)pJlwL&AFF^cE+VWQ>40`(Vb496I-U^Z{F-F{;oCG?vVcBgUQNc4*`< zM(>YO7}0!M8&wK4g2jIt?u5p^C&kU<9ndIejQ)jUT{RD%HKf?Kpd(kHQT5FgrkOUh zBgObmow0EDR2)}^buy?OSw`n~=Zt3yG_;dF!1imxabiTA&_*MSF|@?ByXij<(Qk&R z47NbyM6xT`8|4%d`gEn+^B;#y31G}0Jj+6Xy3 zzPgm2gDcSJc-sxq7xt!w(U@LX)>2lbaX_QHd&iB{?4YR+lkk)s}7*gcF7>q_DW4yT` zp0^#*l#WCt1sX%=*+c$rbvowRaD3pXcSsnz@+SN>ZDlwWHK6sj4@r@hkPT;ccm%?8mqKjL4Iy? z0VzVZOhu!XG18Wabw3(MZBeB_qvaoG*p{2oi4@D1Oh?1tM{!&=?is!L7y3yZ3B?THz;+pWX?kC%ktuoD;g~m0;c(7cY ztC=sLGhSDg&gKd*X=ziT0Le9G`4iGg-X+L^yt+;Wg!}W7~|?z8H^p~eU})nZ`lHk zhniln!>833QiNwNMk7e7IIeadl|hRZ7xhSyVzPuQ&}h-s3I??c`9X?*^p|0Ak}+Q9 zi~oiX>=3O=fkw@1JLuSOH2rS3`mzFzRK_UD@`Xl$h9`-kq(DROsuL7-`p+{hX6LO! z<2hrr-zVCNADXt>H0-}64=8l++JsSm_ZQlOFY%>vF?t&1T=_p%LWgfND+_)o(t{jhLS zY%$U23N!{kwuUiz@xw_`{c0RSGoTk9CC))ty$6;`8$zXn4vM$JH23IcSGHI86#$dn2wu z!={x4DmFi^A%%3uE-bWy11(5PmN@<(EAkzNyekga;q%#th6*mKVUp1hA7 zONtXUR#-@V6~|SJ7&&a!YfFDQl@w^0nb?E3uHO`5Jb7<}MigW8FA~2|El1Oau;o+4bRBQf%ud=L$3$>)S#*S2KFdkl5A_ ziz3FDB-RSs{-R?qVkjxl82Zi$0zh*wDb(Ek(WqmL5AURKzBt&B6g4qyfku};Zt!^K zobRO23=BjgaG&D1a{1r`M>@5nzvqkE@8=3MYOj02p7paTi7~PF0W9JeBVC+3_lfhU zP^CcQN`@Ki+OD;n6b)J(L?eYUwu$qPNA8m&N#V1fEzpQ_b%0fIqv_o{A(Buuo-u}w zl@z`{7(qv3;1RY!V^4h-$nEua1KFxfze8x0FvdA?&$hW`!$qnTXiT|i4Y${xqwmL} zzY%Ci{1xBx2R1So*`OgER}*?fa>f5%s}eVOQPpn_*{VE^C@g{*qr0J4%iB7U-nXQr zK;!2RFKFl9iOwN6tUZE8JY%doD()jQSn!Z+m7ZfXSD;aT)&aEs6vdJvb!Q9~HyLB? zMme19SWJ&a(`0OcMu1q6)Ld^Aofo}o6N^R;V+4+p!S1nsrDUt7)UgE`XJ%T%ngdnz z%8$PK2{g(Xqkp7WrzpaV&V@Vpu>~5V#D5x2HEGd@Y}Et%Q)svcD2^+)@8a{}c9hPG zUJYjpG~Ntxg@K2D&{>1qKBv(LV~k&(Qt&MXI$K*jB!Mf?7}CiVy3QJBNA}~p)>$mh zGRFH-DQr4=ioS!xBiRCtv0@F=gDVcwd4?YG=g~-GjI-i?>LJ6Hd6TVDQlO!=S_19w zx5y*K_mD(1@)+Zqs}z3D+((Zr*G#_16=*cm758kvvuR5V{Xv(psAP;v3puEnjVV{9 zK*La6=ky3%@`)6t9j~C_9jG|2u1EMl>dikvq(}&33pB3zn8Ud{>J3Pd>va{4NXGd4 zS_TbcUeI^&SsYuSk#ocjF3wD$--&JquA`C280O+xbY)HM?IT;Iq(DQ*$^nYEZnPl9 z{l=+iWH3fgag9aq%G%qcxY>^_&`8m+fyB`d=vLKhcN2|##%OHm1E+ub()*T_6lnB5 zA%XtsPQS=jS-RgwqlPigJQ8c^6}(eix^4@G&-v}z@&|8A*9HQe2zve zV>pX@ioU8pwk1WA885g3jhiD(z{>Q^EmHg)_7aP0jInTr6ozIm%TlF4Bk__AJbm=Y zh7=dNyh7s%W31RMg^GJ+^jK6$frg1#qcP-V%X7r2YxWwAPmIxBtgCj?#eNSd1}3lt z8qdbNLX}2A6H>SzdW*&%#?U|E0~4QR%~z#Bqh6LRn7uEgXGJCI1!x2vP#jk#2gP#~ zt_y|zW@U$RvrC$R+@lhSRV zjn0xVQaBI%j7BMAv=D3Wy#DQLLW<0Iwm>7uKmunL&%R6wxLSsWYp~*bK3F^}exyUp zc~y%4y;ifVAZ}i;9w`nls6ZoxF=7Ub=UP5*PtQ4(6le_8H-l;0+tDi~tHxKNk-!-J z(xlMvK^Hocdixq%pwah&Jsh9r@to|3^@(aUZZk&uQ6ESjduS6WHf68{8tpTjL0{Xb zkQ4!zYtYDLjQT}#I6ULm7gY*0cHcGuwJ;Y)Qdr0QK%;^&?tPQP*D;Z4r1&%ECs&}M zJH`!mPuxK7X(h=_NVDP*R|gJKqXg?}(;HmeSbYXoNFHzh~mV zuh%uLh+%)1EzpQmw}LI@4~LPWI`J z|J@^;&KUK@nt;o1EWSjH`m-8v1sa*39HHN<26PU&(WpjPykU%ogXQq#gbf{6N(waQ z=DWebxTW+efZy#VXjC(XX0i`NaCGnxP>LQ5;tZ#p3?m z@Iv}qtE51~G}IGH-6m`yukP}X>S#nUM)+?T7(|ZAR;570^OG9{8~dp!X3DNZ#28u37HGU(;sUo0 zt@%TW;OA}7C}51)$7HZ?Ytb=M9RAK0XsoJngu_3N(zA&#h3(Mz!5DTM{6IriQbvqj zJKA#v8n-(+L)SBo^xmjRwH>kW3soFfD?0eWi{zGTi2>T3xB`v%ug*}fQDz`1zBJXs zB8D;MO2nG|Imu?K6lhcomcT0S$V5_vi)GFK@4FUKy?5q&FIMjPaq^56(+M+mrohaEdL^2>336Kd-e1lj7&WzGwu7DUPch z8)V=g;MRu}Yqa}u1sXH|b%ft07g~{GgxUZs;us@fjvQPLwf#nlJ_FeTjbfP_)P5bg7`nyGjZ)K8|z*H$6Ri>|=ji2aRWpp(D8wXoSS=Zl_~`qU({TnU`ytHQjBgr35{~bfd9Xy(_Sxn zZNlIpTcEM*p)I5?`$VtZ)kIH0!#!MaT-hy=fk&Ie^mkB6fyUvUrf@mWzl!Wf3;(HT zgfT{?xi2i}ofD zu(fo{YGMSPpNU2qV;roJLZkild{rsXSo%Z)@g`kkNYSA895nJ6WA0oT1mFL>f)tJQ z*aD62w`{@1`af$9tQj#6jY`HC7$Sr4Z&&&fLrH;#ZGjW`X(ml2#e{AP(D05>99IWE z`9Q*^0(yR)d4w&{XkY08lUqyaIcL4Ii_nNROP(=p0+1 zVO3=XH+nr7LyBWJR-%#57&i-K@KWo-by8GLU&R$@%>Ql)E7o~TBgHj~HCWUzhMBn6 z;NXtUCrNQ7jV;iqd1V0_)12uyb+3TGx8DovOm(ykHPx^hOq(H+=tcUz^%5-`JFgjHqjU>jX8zAlxeq~loUaK&} zja-37-db1qb~Pr86w{V&#v+R`?#=Xppnd;YO;<^Q#%nVtsLIx+M}56+Zb74vF%C?W z!K9Jf>9|r-pi!Oa44ZwH)2jfP%eSFX%NWn@$-wb;&U3Qo*%oYpMw@Gna3nz2loZzt zcA(*ZSaDqWh;^M$uH0a#N`c1QXiJdi-Dyb*|HV7eh-HjF^JS0|^zb$*bUv{K8s9oP z!`gqxohHSt54+L0#u)Q zITn8yqrO-#{P3wYFH|YeNR`>c?TSNmmQz|_iAGSA;<(BZYu3C9yqijl3QsGpKtngp z5k>`Ngpp#Zg$))b86#KxpHr(g?2Re~8a2MQkeE34CMo`GvO^=4F#@KD|6o}ya3;mV z#`au+#^z)Pm@v|c&h@RXbim>{W9W!`SWZ2fMX#SLDbTodT|6HrD3~6%o4s{Hqm(fw ziF1Q#KRP;*{dn%?%oS*qM7lsx@lkrm?>bW#EL@K$zUM(DGI(Mp2Vy8G&`9)l2hC?C z^tIZq?}kPQW0;7wsnXSx4iclTfjd{Av2MFKZZCedl@u9YJg`V$jAagTFz$DZUfWhu zpm99T8T@za(s}AOo4nDu%@{Mpn#&O-P3RGFOBc34W9?!K_@d)T=XXaLOVP+>jNxK# z$_8QF6s1sY}&E13J#eh4W{*2&SRV2pG-IkfjT8bONczifd<@h%ro|7V~jDW;eC zq2U>=IIa$h>zs909q1@|9I%fo(5Rem4-3o7=&Sp~DFBOb#<=EbAQ{#6WCdCQA5UxN&!@?C7HE^f%)anjl zSX48{8?mygL8)FOG5p#b;tDiU#JSq*y)Wq;^4%}tSV)g5j;s24V$FeM4Lf2aw~F8j zGzLbAV^Qq_`ibiQClZS&#<(N?D^qO$iO&1%j6Td2XbcIph7p&-=(UMM`;K67i7{%H zN+JAUEIpD@QlL>^%)L4!-=&7W!%;Lc8N*+!xvXh zPcUA7j2cTmoj}7cMsZx(i?RDtn$dz7U*#vc0*&3KVx6MwSM)whHM@8$Vi==%ym)HQ z5Q~`TbLME3iN>`RvH zJCVJ8UsR|4oKsnothY##gjA9wNm5F8NS2Z$3Abcx{k|XH>+{QXpX)px{Qo|zQ!jFc{mdy~Su)fKKlle+`Wi#uzHD6&YTiLC+wIeXnx`8c!#>z@nVkvBdaja|4SS#%Nn7g{0L< z^e96~fkyFCdvV>Mr7JNOZjD9b;CaREYJ`If`uA~KL<*bcaa@5$p@lO73N+4wEm%H#PS0_=dECb$ zkTKN6xM)l7TKdnRq(I|Kq!YxR_3cL1yqoz0G$I(|!b~}+cbPek6hW12fyQR>ETjeR zx6{!m*Cy#`Bs0dMTp4USpK*g2YF=!ChQ5yjJe?ar=Rn>(lz~PbW7xNsfl7AYP+}-4 z(0J?Z0MYu+iKI|L;lWF{%54anjOH1;gAfQ}}|=p3&wjVD-mTu|Ju zyu|$oaLkm6Z=4jRFXar>tX{3D&|HOR^C|8NBwZGzq4x9Nm1 zVyrfMibWJ-JP^+pb*`0RU*Mk-^>%aFm|FSBDBQlPP@ z%nN?6t2{)CDZ5{w@rp5I|H|N~*&Vu%I?yhkE6^CZ*9qn}-@k(x6*Vuhs9=oq0aEDH z*vY#g1sY?s-QcNTj0!1q%U+}56Q;Ob9WoT}H!yi;LJCj+H(Y^+bCd&AG-^SA=h2RZ zSe#;v-A83`dG_v7dXCe%oGs8;5bX-% z^Lo*-@YK9wG}0O4s+jNN=o2m>OLgTBTcEN0wIhs-IXa9Kg(W3u6f%a5n78C^>P64! zl@w^~n{5uK9j@LbM&LiCX#8Z1N^$SfERDBxJ*sU#as?VX8TMe=^W=a2OSXQ(LVi(k zyNd9W!-Xp&?vSOjZ&A(_Xtdep0T=d64a0#dvW{DnppV_aPz zhb93fxuodZ?KfAT5&FR#-Z{7pBE>B2DlGPgD{fbpRb*h5TJF-20*%ZIju5@YmyVt< z=~RP8C}Y&7OToWv5gqZe4q^*5Dh`M@bZg(Gzrhw>b!a3oM%F?Z{5kuwFIf+j3v7YL zy&7w11|IyB^2^yu0k$6eG zXLRReQ)28N(3C6CnC$HXuDf2-<0~_bW?0lQM(#;Jn7LwdOJXP~&{*K&0UZkW(%+z6 zy($`qFDY(UAyecqLTv;cRl6lo;|eq~OuXP(cAuMMsVYocU=hw3E5-fJd-`3b*9|`H zXA3k=i#c9%_YABfMv8MQG?Ex2PfrFL+O?zqSMwUT<_a{lG@Rh``ty^Bv9?`XES@pO zbn)&?hs&C;8&aTQ8d9JE$6cU)jXM1ecJS9g zLlU9*oln>#gNKptW)MS3fySJbmXJ7M;1N<>cj$;l5M$(*isyL6&Il)kb{$)wQD)=` zUrxBt(Wq9fyPy%t7zYY`!FbFZdZk)PfkrUcz{F$kWn`%=|8zwog)z#%Nx@RuIh_x?_>g82RF!(G-^nfek6pFo-dQjT5fX{a~eSPc;5zj1xQL z&?WvCH6+z+frj^W7ci@_q(_$XOM9c?by;z{>MZuP8xH-TM}3o8^x+CLT7Q?o(T?j(wJr;^6loXjC%BfnhSZ9zXn5Lkcur8(U3+e zZdV`P$Uya?&L?8r@?Z-z7N4;Lo8>ceNMUY15{)yAaVpdgl8ds&kzz>aQCxwBdZayk zdef>cDayUZU=hO@3E~>d;|sUxez5QYTcBY)Lke?8>a8Qj;3H$v$Y2bkDlvy8;WNFb zT1kP%!AEY8*M68jG3=U+N27=_mWk)28utjLzro!D*#eD3Z8vZj6GXSGs~sky@tZL; zX38K$&6SQ0=Ebtb|30fBPLSOxE|#vx`N?SbUs2qyhIW%eb^NzTQrysw@?L&m=~=w0Aq5)U4qL*hd)gtSSe&MZMm%FY6z_IgWV3K_Lkcun zZ?%T$@y|DtqTh|_Xk;^nN>lOfk915X za?U&~4n`?%R|{r|`95dr=$06=lP%EL+1m|vPHESUtcTHx1!#mZM#K?0M849eM}0~P zH0lR>f|ldlEyP%)Z-7Q3W9+^rhk-ipCzGOGDO;eCvd0Ee3Odn$QQfDD(a2?tVqGaD zK07~$7)lB>5)5s?K=&>^cRrfD6pb>*_$iJ>1N-XJvG81DL#{w0)x-_X{W)=)EY+B0 z%dv31s`#Cof0IGVwm$1AY-J@mO_ENHT_RKkir&dcm-O+ z=I3Gb_)7QcYBVAkBk``7ziUxVuXzp1VGA_sGsHWpjDr%$nkU^^i$*eIblN9_TLTSt zH>5yg=U7iDoLl8aiuRY+qmjoLGmrbi$6#N2lo7II16QC?lI9492QQ>o;ynJ^gvA%e zuqzSowbV+ad$q>NY=MTpvn7;v*+cgRU$VBK;c-oIyGmOvg>m&M^y;gPl@V8<(aF*g zR4elDkcrZdczX1i-tn-t-%^wKV4nG}d-?hd1#7mc*FnW{Jfq##nqz4o7ahpr5Xi0u8VI z4zS~47b{|nH?c+|nlXln=Vc7~7+_3_Z5lRQfri9L0wK;j9+0BA-WH2=#!wN@DQf&J zg`TS^DbN_A=?)#Vnmi@Oi*kE33K?Ubm}mLH>>eGhjXLMR6==*7Pf9m$)tK(1CP_$>_Hj!ho|AyjrbzjV_o%i_E0#dXHU<))R^%KX`=BF-^qF1s%8lj9aysr!- zdO5R5(LyDFE6|9#v=2g4D%+D{uEqf@5*VZTIvEt$Z*yu$fkthB2L!#=Tuut-`h#fX zFvi7YVtjYA8~xu+k{sd+G_0DrK3&=_@F0-7f#9wx=D-hX59j4?b`$so9IBt0%sQlOy`>Ii!a zdeFVW)z%?slrzTe-ZHSbP&kb&)rhNXfkw;*2WTERm>%ysojQ+(Bv$b|{~+GAHEj1c zO=2i1&F9@VyD&6@7~|jWau_}EX*@A(N3jJOLyRn;&g2i>c0GEAqY=p% zTi?q-ecfn!T%x2v!|bT5c%s}+dhO1pWds^2j4^tgxZnBPR(j6)B9bl8Xj(0SoX?r` zNdNNjNHp>phA>*TXiQlQaU!xfrtTu=Y6diX}6@h@X6RhPlpSu;-&!*uvn zu0Z2}^BZWKV2qk3 za)>T|rlsgV^xoZJEX4rHr7L99+QD7wA$@-(oOtMr;3N$+QvxRrr4)iS5 z%j+f@X^askju}?B&pb$stReASfyVt6&hTr%&atF8(j@_lH;f@|A%i!Q%j+9bppl;G z2wrbr(KWYLNkpTPG0Mb!WYcz6(EqFEK5T);sqJ>4e{3)v{rF^+gogB{;&yec#t+&D z+0Yq61xMHdjnt=RFlhYjEVAbP+>_Bb!x)+3eML)MmZ_3rhw449K;x62E1X={jqcT4 zzNcUj!x(4J$UwJppgS=vI^O3BG+GwBfv(2>p`;k!_yHCfj8P}%u=EPp@UtNW8apf{ zP=BI%2q}!rAEHsj7!LMQc)K;9j@&If$QEeK5$|K!Xt$VNMegYO2#w#2Q7~2t`lGgJ zkfmDOG=nS9i0ftt1-TLQsBd)p$5{BsD{fbM;vH^9`M||kH+DVffEaDl%M_e~>aK7w8)|%^0!eGKlIqOsydW8rRpj!;#a&@<_37=QA`)7-KQW;q~)(bRVVC z_BmIeF}{NYiawv7NDPzeJS=J$ko0)yovt%B)@-$Mj2x)7tc=|ka^`UF*K#cT!Dshx((=g`_QxPC$=S6xF#rm=U>IK zPoHo9nU|rYK*Qv@1T511T9c*v{h<_%K*sR(68rO%*4d<}Y5tKb&~R$*4^2acO(2ET z{u34vjPXQV^Xj#0HvJ8{2D1ek%VB^F~)82%(IeJt5Qhu?l@bZao@@nCN6JmN{ZJ$6=-~63=r>|cvD^x zNQ#FS*#eE@*|sqF-fDX8Jo0EI8XmV5x2yhNeZk7!t1~g|y8Yk^G)lkNg14*W2`Ng| zeqj;J7?YdIVe_rs{-h|>W(zc|=UPMIz9DqJXlbWEXhbnaNun=Y9WmkpF*YA#3p9S- zvx29RZRbcaSxIb4gzE5_JSF9V&4_iag0 zFrkhs(D>TM8V3CKp#N~S0~+o5|M|NWjIn;WxaVhI3wkE3q(DPk)du#@pV5OXRo@Ox z(C|rA+^(iikioH%2>K14i)9Nm)H{2^qL8sIiJ@^`1&vdTVQuOMeiivs8&aUrI^7Q5 z_i0Uk=XM8G(THY@lK$dZdToA>B1X8b8dsp9_gMmc&p#MLiirL#ut;Z&L4(9x9OKnZ z8d9Kf)5{g!8SSBG!V_+^LZgr|0=2|{N%O*1#86V8@k+dF%lr3GI{VXXR$DZFGRBx3 z8O+*hOOHjB6lj!6J;5epp#@ngI~{d2w5)^_PgZn7BaSh$#WS7M+YF?$MU)h1q`!5C zaee2~f6;XPE@(VvjG%h)T<6UA7_w9<57+{YgDuP?hSVD=*tyo zthr(bt|?8%69a7eW0AlZwoZP~a`u1TA)V7ri!0EmxNQR;ZX1;m!%1x*7CDS@I#vn? zay>H}QvA(OW=F~-UWIgHn>p=ZKd z0@(r$Z%22y{<3%-G0fa`(0IlePkjAAt8q9T9lWACmMhRm`r!j#!*aZcapn6sEXo-p zZkr4mt8`gPim;BlT!F@&osRI~;aa-wZfHCK3rVu#cWx%`!HO2MorqC)o-NS05aSH1 z4L2VkMdratXaq4vzr}tKIVMR)iUpk~a|If8EgfNsXW%@h0D;4OPd zQQw~}&`5nE-Yc`|C>^c+t39BR!WieY_d`{yEP6g@eS?nl-`Nr6U8dkH+6@h5{6!2$Yc{L2_IV(!Nojq%$_p*?m6SD;~d$O=xX zdYvUj_r9~R@VckCU4h^h%tP0u9N(mLT)f^d-jmYje;z!5I3wa&VaZla9$K zDbR5L#~EIIkPanA^E30%xW*V$mr0>n-!3;vv24bCu0W&Wz6-?7I8B$zYV<-Z(ir2V z_vcE`wyixq(CFIgC&IKn(B~Z%1J{sq$!Hq)qv9hu&eyd3R2ilTgDY= z+*{}f=PZoqe|z|d6~4$FStXA=6eZQD(UG}Xv8o^Yw?Z| z{ZoDDf62Ziwm?I>^FHvg%A(`#6ECkpBZD#We~bAH+YIZ-QYk6W$Uox(>iW@bNTDCR z4viwlh;x;}fPtR$dad7I>$w7rfff>YKPi?T$z%`Rh{bQlcp&EK>+9UrBTLmbn=Q~- zBAz*L^XM8IQs~^?jE4Vx#qFxdeTRpBb_jiyFolFXrzintz-{ij(u%0*ygY_TmXNN3%#VZGtHp2U8WdD+h6} z{?KD@K9C~t6^4dbhTc;@(4ZG{P8TfrSh-4(_D;b0q~D9gSVY=(*!3Vl;}i zL?e+gjGUyc+SF#zS*#8(*aD3R4HJ+bjDAIoy{QgpxIR$)&J%T{kpE>} zYC{S%bRSBf^G8)W!}QQfXEXvCBQQb+-=+s#BZiU!jT~J&Sny!)8dB8Ea6u!2F_sVW zha+wg^s`b@py6HV1Z(bpqQCR+qutO*W{d?fGU(8>bTL^fmuGB&M#3it$ZC6x?wvQ@ zb4MeOF+$c#!MkrCdX!Nz%Y!S>xYXJad>jrWlBIg8bcvpCN%H4}BRng-UXrwd7%2EC>%wlybQuJARk}J>% zEw+NZZ}qE5F&s`~QOFqYlg0CQt-7j{V(=!mK;zC92Z$N%NsrsxFZ>&gpN!GZSv;51 zuxDFhC@Ii*aa5c^ZVaSHWNjvepdn9J+^(#}+^F*#`^OPu)El-y!+p9fyll0511Xk2 zI*-O##%T6c20Jf~c+rpojUN3R!RF<5H&QspT|gs_F>1y4;q2kxofPU*!ngvBTec3c z&C%&EQdG?i$Ko+#%v&RleHMSFM`VtfY=OqbQEt$or6E1%GC*`+J3bbq>#@ zxQ|ZW4KxxMBOy%~Ay@1c>z80!P%P~Fy-?gy0=Xq05`gV_&5 z=>DTPo?GZx#=;NjXh<>@zw;t-?)=WFF+D3<(fkotps~l;1{PZS(~<4*KQgcg zVvLT*e8C|}Wgb}%B?THQW;($Ag1>i@VvkoA8j*|&2q8GXN;lYzThA7d?6{C`LYEX zKbzP>*3}jCOt{$k85;jG#(eSo-H4C1^sMMfAX}g@tJ(^huUONSELFC99vWVc6}PLo zG2)s1&4#*=Vy4;)u0Ugkcn*t8)!o6Q7*d&!#Rz`Q_iTk`}8;oA zCn8}%@`I5QZQMQ(3BL%+gES}8a3IDp#M9E?rVMO zzGLB^t+-uvkjbE?%L95HC#ZKNSD>-9jd;R%;hY+>R35E=VsVZ!p6nL;sMZ~q5AjS|`6&Bfy(fNQB zj6Yh_y|YK#YOX+|LrYh9B2WFB7$1AoVo|~vE5&=m?V}u~Hl#q~>j5hme{nD!Np)^f zk46n+SU(rfze<^Nf*3z9vjrM)kDNe9Eq^E}DuNsD{r~y92cIZzSMI~by%{s6(i!ne z3N&_=*g)j@5c+@R)Jg@7Fvf@#^WkdxTnZ;kWi^Z~&^Ti11b^kY&=Hm-O;t1!8N;%r z6#f`)rT^4Q3N&=4d&18Ib9yWqs@fclT*lb;MFtt`tLg0M9#XbIk z=KvFo?>iEsS?6|W1Tw~A@$R#wBR%Q3kCFn7nd+`EW$*DZ#3*ah9*qdb2pT7aQ7d25 zPj_e-TcBb2#2&^>yHEdj_aEtiMlxgcjFW@;wnIK-sgx9GOg-ZXzNX$Kr0DD335`6) zm?z%VIMu_JUd>oPs54ifVK>YdzW1H|kQf#nyJGQ$F*;WI!`xl}xob;Ffku&=n5Q2b zNPp)$8+Sv);~&NC%3j=~=zF~W09mU1^K5~J)(l5j-dc-}0aP66fkrT6JZdS2R(iE` z&6N~rtl8`YgVm+9}JA1-O7E-7+5_T>sR#$IuSC90A1cOKKYKNhbTW5695e0N#kM~p3@Y=Oo*b9*p- zbe#U8MjaY}Mg?O$5%+&Q@iu5l3?&5`3oSfhdLv^SQk-b2jfPLI;&wIMND7XN0@Fz0 ztHl;*6xxYrd1v3$BE^pOL(n+I7;%A8@J*idx*-J`1`nJeP*00~RvID0(1>P?ECVV0 z`Znx4G3L%5&J}2=$C-lPlFx>u*fVw{7U_(kBJR!b8Wl%JIm7eV0*(9u;vTH31@yW> z^VHF36f%aUTqd5SXF;zhDk;#&?r#m!l@c?u9__E|pz)J2`n>Z4*~0z*Imgi*%N1yh zTkZm55BSg{E3v5-Gi+^$wdOF^^z*Ke{^1~b?K4c!ek(8J-}D^l2uo`A+##`sIT z^ZvuoD{~uCpb_8135pKb+$TkC@+36k7~{T}59cts_wj}lXe6w61~-qPbh{cFH3f~w zjG=W_4$H#x))M24&Qz{IjE~?_3h;nky;L_!i|1@1;u@ z5F_d8G&HIhXmK;!*I za|l}aL5&pEla^p{__^YC6(f^^YnFUJDaIwT1sd7=9O0IlPjgbFUNS@@oG})sim`Bg z75WV(WUvJqPsB5@|1Mrg&n6shE=MDYG4#Z9YnxpuokNyNNr6W5TUL<0yAwU5FPgs! zjc1H;OWfx*E+K{bk~RJ!`-c<@Ub6)nhL6QF zu=6VEdZ?wZLqn3M_?;WJmc#o*bsu8fG+ECTXuS9+f#S)|+N8LGdcj1sd&wB+zd|6&*u8RS8H%4fr zFvjj(GMHbLX+#Vq1sVg@Y#@K}mQ$oCFfc|VpD`Zv_k;Dz%u`A6z?3b}NKEm8A^oBz zlcL}H9ccW^7(d?1V2X9^*oG8njQC{&T9fGO4j4ueOol7`HI_Bbu&4P^EmE7ir%~IxB`t0uS~(&piM3*$G0Iucz}xtFP}v zBZDy>isQu6OOIEPrK-s3P;c!?yr|4nF@1%I8=ZS{@OU3Q#keV2WOYCrn z6no#Z1sXl_?V!-+MJ6f6=6IuVjxjndmBENjE$MnFDbPp}52lLREc;B1MR$DBh-Zuy zDN@MZIVGDE(&B^?Q1AM3d-{+);Pa7gJNJ3(RfsxTnL`7v;X+fL&I{%*{=9kRv1A(A97z2|9u7K-+!)WyJG&aMH|TH=l7h! zejfk*>dd7p+)iZalFxT!&cx5JVE+BP6IZNgRkD3SJ}(lR#eN?D{haBNE7F%0dXUd& zf0~V-*JS?vlU@T?NO&x~Kt8WEa}N7?{P(v^d!j5FnRk$Ue%t7I_<4Qi->(urRE{Yd z@|JwQS&Q>|{P)$uoRk$y-@X|yhX3nk*3{N_-OdI0@7s4{fKlR3%DJmmY)DWS$O}-& zGhD3vVbZ=EB&Z#-2!%ja_*=eM`F2xOY7p@Ann(Ce-L4pWS zsAdIui+I7<$lz2Gtf}M$DCB<*6}&2#r$vHXp)v}stnf26OmH=LsXGa@%Xt9`%?W{m zX|L}LB0-1ON)(*BGjl0DB2b{0ZemXY#rwPfh5PwJL7p)86bYszsGtza3Oeun1a23; z2uP6inHQkYz0O^5a?uz1Eo~}TgThT#a8?ot<{3L~Bf|UsYdHZ5GD|NAt|jR$CP9$I zdJOVeL42jRK<&qdd=eOM;{_;unCdHNTeD1_1OfXupis*S#}>N_K3;17NCLkbya0ta z1`dLybya~R2uoB$p^X(}e>e)JpYN|nf`zTT0EHftZ3Nn0JD-yvzi1N*ZatW}^hw=P z;HJBLDhUorZsr6iC@eWE7=3uM5(%b`*@{5~EBrM-EfBvsc{T~M_V5A}{(-(=xuqJN z-UWNMqmaf5HK&dXie9*GAi}{gUVy^e$vOi2Xn87(FVaAvm=$_-91@7nShs)(=>s)6 z0Se}!I|Nr7ztjD2wS6ZB^{n6}zgMt3=CU>s)-Kz{2~ZGC*eYn;Y)a=+{~x5!QDZ4ibjv9N#lHkHkUhvZtZTfc-R4E+c1Sm{DK3lN){t!B(B~y=L@Rt?loCJaUg!R%yC_TmtP{>}q zKoDr_K9U5pj_9G_(~Fr)cfTza)Ze{+oCNuoc>xMVy=M#LZhWP`hkHIJP>5xPDLoeo zG(0TYiICaA3s88qcaEUe_5?joCzl$aki`lXBjyP_I^vp$FlzouPJlwiuh{}G-PQj{ zurksRg9=s{9Xm_#He#F=30Ac60u*d4rU^!jc;QTf&{d~VXkvvkhBF1qdvy0-rKofP(JuiGm^Xro@n7V&Yj8{8?e; z$ti-uvGJ=(aOVpzK%t{*lt3p;d>sjHzBEH2ffY^-nk;A&tIQ>V`Z#k=fP&zvwBWYY zYKQVvZFjKw<8l;ey?x`^1x=&psOrs#xLHkMW%+l=s#o z2)W1$P)K_tEx7(J#FPZu33e#7u)+hCv4XJ&WL}YAkC;6tKq1{pQt;eu)O8Yke&K+D zV;^QNwG9~~IJ&{fhXhVCj+_96KC+U62&rxzBv75^gh4PXxMR zlcWUdA0E;}n@s9}Xsdcy=l?bu}`=t$xPD2%?+N09mES2PKB z?eRk48!L?8H&`HWzA8n6o!58)3b~Quf=00|^GR_2oHq(C;>=u9oHa;r?9U2%Ft#t` z1t=`5=q9-Q(&Ql#hP3;j5Y7sfy`%&~Uj2JOf>qOfIROeCBYFugW|z?5jJDXcK? z*8sud>Ob^Q>2#bIprARSm*CieFXPCNo|OckP{<00R`eIVwdmQC1k+o20Sa*w`U(uE zdP$OC?D$|5>R6$2Y(IgP;w5^eD6@hWpinN|LvTIzF}*jFJUJAFpR7=-(@zjBH7}G5 z>FxqvfWqW0-30~5HGh)e`RZ^KJo++oX~40*g2axG=eiJ}&?5K;PRSGeNFa4J0)z(bm^H4S5ef1JUg88ObW8dRVK*`yNucpC5`%PB&{P%|JXo`mp5xqq@&Xi`oBl$z zcVAf|ypM=Rp@bDqt?n&YV!a}X1lIMu00rB~@35zA!*mjyn{Wk%239zIp_jloWqKM3 zOpJK}3P#(1L+|*Q91`@|6o*0wD{Oe&OYo@M`FAAf9l;Aw@S5BParToeNgx`ZfP%LK zGnd5TdI%Q$5Pl;;fDtc1LFwB!sL8j;BEcQ6L=-Nw!f@%Hg0GHBBS^5lloz0oTJaks zldnG`L32?O3Yn}hSE9Q>QaJxu7XlQ1UHA$$;os=;C)q3+g)&y?KBb%Bk-s6mH>2;y z3sCU1ZUTW;@2zA=b3#*5Xk>-$ei3GAc(>VbO&yIWm_q%iHNwH&S1_mNl$X+Zan4x;HKM{s{^8yr<&bNZR z@5^cu)T(8o5YGx3v45a0@eTc2^9*9^GVB`-i>;Gd5${>vi|GNhEDIVd!eRmfE6h=pXhTC zJBWH>;e1KlP_J1Kkv0MoX)vTa;ybWNdR~rdr zVtD}ynK9MybL${_(Ud!+6opn+$nDz(_P)>76G1bL7oec}x(>eY9k+!9!@HHC;52}l zOQ$2h!inE6dyqgSiWi{JXjTPxHY?Bzj@LdFD1@?tgUUAuI9oiB2>bwr2B`)}nqB^$ z1O+ygDBNU)yjNc#ChPuF5^Rxs&IwSM_N@k7tL9mdU~X#_2KlT|_p=4QZQM7U1QUk5 z-~=cxN`_f^7) zlxlj8`x;e;LIf*p7d1m_@97(f@F|xUpwLqK7XCckcb5dIlJzL0vBLeI&2Urs(r6N> z-{b`-c&1dr?&0UIk)Zp<1{8`};Y?aHl$%?nb|FCF%cKe@$|*fXf+&yoDAcopXxk?k zod5L(2`UGD-~=d)iLD2bxH?@`TA4Ls(9Q~5>YL!VU$1UN=qdY=6QJ<*!4uf>whw(C zXRh0XftMsRmjw=_O5DWitlRtf002BaD2fPfuCz ze(?enMpc$WfBVmC$woKlw4ji|3Qh+dr^cPprzzb0L^`Hu@HN0OC!Jw=ag;G{H zu<{ce+C7_|lYa-h-uI#p@bb3&-~=el(JP0~L(M0WAsGh!#K1?2nM;*7-$UQ`DfC8p zF8tyID1_;kL7%}ADn#(__Zx#)R#4jg9{z;iI70$61zvzc^VTO&GAyHa&b!0&9mJDA*2S_Vl7N^^n~6 zFg-u;0~8*vD}e#B%F0BLFzkhbKP!}fu7fP~!UtUlP^iCM4%=52Odvu3y?szfV1>Wd zog1yIO(!2eK%sAsa_BAmXG(+zs(n$&W`!p?Z@@-DEx8K;3JKF*Kv{>KBMB51_d}tI z70jG#VN-1It}X;9jMXlLX?>eRN#H3r0EHG-xPIpqRLTm^b|FAPXkQ4yvj5JLVD?Z+ z6dVULb7|OwI!Kgr1f>Lp1RCo+aZH~|XNlyl(3V4cZCD19*$gFIFcnpDFv z$wGRL3$Y%?2~Zf<{165TJx>!scf$w_YFJ@f?Muj4{^UynjT5{8g{8&iFnHSG86k zvNQ*}pFBY?{JiJMpb*Xq&!$vCf3I%zv|EtM3s8`W%!7x5T_?$qhUAVzA%zt@hdhTD zUtiaEAwc2C>l~=IJw>mw9wm)Op^z0asw%;$_e1*pL4UynPJqId*N@=jMmc(Z_#HM8 zgF05oQmF*p9EmGr8w3+4aRL;2&wB*>D$M*y@W^d420vM$Hsm?HH2p!J(oB$&;{+(o zJ6i;n_vX>NaAya|W8g8AnM;KlRiLydC65egusSb5A?3<#7ecsQ_%&ZR|nXJgR83Mp3QFnN)TClUAo3dV+yVA54NMH1ZEG!F&uVa#0WA6X7U zn{2f%1Spgj-i3$z#JxyRzI*`+msz2oVg*bsKWIjRzpr@#3SxT;VMLNNJSGpG_r!xpb|(QJAf|X?qA^rD5!>H!WQ4VCPauit%QO#`$q|hMJ3?#dY3T? zfo z6vRK@fHj+C4v;{xWIYP@BbcLx)R`iPmj1P~3jqr6t5e~it62^S{$y-GA&?bZMifGg z(s6o1*(cb@2~bG1%!E;siyMjX=875yiL9`)^Md0?#X)rv{Mo3^2~bdyz6~pXTH2AI zU3xPHxvY>pv=~0l)HfnQ>k?jo!e+O7aOK^G`y{BIvK57DR#-5+08VABz21cY1-pAU z;akMRmn85QwjG65R+yq*0L{vKXmINmFF;|qO$v11tnNyLVLdcZa2m?>(NKBF<-ob1WA8*0SfE3CV=d^?cYgoMnVgP zo2;PyH4h|qo}o)P$ql>!1;yhj@TKGpJ&Qi=t&KuHD;z0(1a^0x(j#A~CNDr?!^B%K ze_LXAvJHKP?L(oK6{LRVK{rbS84`r--~}kC8YaTK@geg_uz%126xvu}vP>T6{fVJJ z(LY;w0SYda58&V3;$kASDjh<>O`4fYEj4)%+VWYB1g_S+0EJDe*8q$Pnn|$9{V)m< ztRSA611DF^r>n}bVn;Xu3R^GUgs@zbxkT{meiVZ=R+u_F2Mis)^&>&xHeP^&r_l}Y zh%tCag5!tvP$*^vEwyZL`+fTp2^3>_0SdJSS7Dj+NO}Q&%;^LQ^{lX>^Z~?`|DzA( z%NltB3hnY&K{D$dy#SwZ+5m-iR!}m{h0CWU705R50~9>eAKJ{AGn3-?P9z1?X)G zg(}bMpw)O#iwK`AEl}_o&CDeo_q*_@e7ZOZ8pC)23WGnygI$a5d=m6`w?ZM76%0RR z!c^;n%exSuU~=pd^k_LxZx^jSXM;i(D?ACi3*8&P)0><80EO~7@o?&QA^nyb58I(o z!3q}9cOm0dclxN7AE3~F>^dygcca3RZ4M|jv4Un?CP)n{dPTk^et?2lQs+6&FF%6> z<%07l*p6ZLboKa5P?-EbZ%A#-<^?EJk4u2S(8I%s@IlcT1%FmZ`JDkV=L>B}AYRG~ zP>^hnh5p_-H%YMKt}6-&tRU-<0pUMp)0=Ai0EJgo;V>^Cd#i&b32IAt0SZc=B4O;k z8FaRKEeSv&j}=5l>2Q3a553yu2Ppiz7!8;A_U%oE6h0*gg&J0vS(XOkVgb=z2vGPK za2Y1c&85Mtp&=-IV+G^dRJao&HiroO00n2U5ZGq^m>%xWbPGelWh^t7RI^fH`vF~g z>yaOzFsCF8epip7XQ02I!chok1&!1cST^;44g&lDg?&#F!P)HAOtR6Rsv=NGVFewf zROsI{kX{b(0~9}buLROIbkqRR+!aB&1G8aT~0u*-lO@Oz0E%Y^* zlnF5y)Um?fmnrZ`>25m_Mmg{T6pH>v!u^v2tx51|6JCJA zsMJunwB--|iN2W_hl0mAW-jdxO@X)oSGq{7Ud0Pgka3QJiG_M}&F3}yDhiRT(6KZb zdJTFogKPsoKp{yl6pFq-oIrxIvDZ*YX9dS=H$m#^1M@BfC_Ksug6Pke7LY)r-*ps9 zSV8X24N&PbppFF3Ja_>L8!fNEyJm6vc2RZk4HOz!VPf1(IAYPAo<;cq3iEn~gL~6H zx(&x&l2Pbj1<}DI@LThMu3O^_&^f$uDXT6WmXs{l?2;lhFl~;WxsSzfWm_-5m3Hv{$mn&Jh+WP zCMz84n*_VP3-6I&a<2?d@SiaD8r-^-OMh`=R%T*Q#tP#;T?dnl;b}y;Vb2Rt$O-m` zyW6_mCqa-_77C55&|fwYtR_3t61$m;bCY> zED3y*cmWDUq97RUxTwz5V3-9-E}a?{CSuJE;YOW1=DlEu)uHz{gyTdGa^iME<~Z36^!(+gFw%N{zPx* z^8ys!CkMbMwrq?p>oV308TRpb*Fk zo#zgCIzCFa3jqoRp(4o945J(UT3CugA}cKZl?bjX!ek;G{=o}S_`B90eiZrcBZ1bl zG8A%IAyV!dtlrtajs)LEmU99WR7(P&daoLNfVbmN1qRiua9`^xTy%Q360SYzN7a(-C1YKa+ zkE}uACM#rEUWHS!Q$ol#$OrQR6fE`q;YszKJ0x(ktwkZ970$}UL73ctUL=su<^?Dy z28KYq@{v>$e6*}Xp_Uc0&c#9B$4&Ga$S#W)pddL{2+B{|=mWgf$LdjNV}(;U<6!)( zp>(nSG>#Xb(6m|v4hnt~$u?{=Z9u_o5<8b9OBe( ztl-uEDhyW4{GU5mI=lb{-2?s*cvW*M5th$xL?Mk83OZupv3C1v5-4op1t=W8(z(`n zzR{jxg@ zKGi&f1dI2!qwt;;n|yMqZ2OQGpb-4a4dy$KEFeQt_Ues76Durz5d-ee zBI#UGxXueu$Vm2t-W7`FL@2iuN5OUqv#0$!zoj!eH(W^28paDy=ppM1^GCJQyKutu z5-9ky!qDf@Am|glkq9o&c>xMhKAuqZNJtm!w~YIvkiZIO|3rhTd_pi0W>)h86mg%#?IqG8M|#o;6fpD~0JprB&x0(r)-0!d&odKdIIAdeM>#7BX=*1kLv zjQ-6FP?#{u4Zc*@z92!BxC{z4tk7#x6ucN#GocFs3aU02AYSK#hy>@pk451dD{N4U zf-9c~9U#G1({Y>th1&*RFxB#>0|_qI$ztF#m6=OR=S70%EKPcTXx16e2~aTVJhmQ_ z+ulTkxW^MP2xkTTya-s+JEN8aU_6l%pwK?g6U>Gg{3e0eok+cMAWbe>hj|;VDpb*IlyK*An z&VVm;MfUtPFF--5)eAhGZ_(q@KGj($q_e^)-3T}xyJryD=)huLfP&j1Xr<< zLK5tWYoVC#h?oB#!jk6tiv*#F!U`15=z z2AQm|H2)&BNNUhOm>6rhj1!GXz#%_s!2 zg4>ac;1pX*f7AQ`h4F0;aHjiAdY^An&{h-@S>c>PIQU!XxRQ;|fo+@sh0r_)@RV7n zLxKwmJ21#)g|yM((5`FX(}e(q^gDL2N&Y20DfSf%;$dD}h>_VZH6?X3ngV#T<-|s?zf?}>G9MsVhBSEc+779)?n7MTKbQsKC8FiHe z`To4%zi(-+J?Ia+Nms_>9JNshWd#ejF!-!B{0$NK0SYJApNF#Da*`yNyk#E>H(9}B zU?@Dgb326uql|a~3S+FCATp|wKIUA#?*Iz4 zbHgDNYFR=5O*oW#4&O@x!!Nu51=EL4AZF(-O#+>o!zi?|g87{gxVcW3u8jEs3P(oS z!s=I3#}VOifi4PeGnu&*{xt*yy~ffzSmNqOIROe^BCR3ip1K`1fT<@iNMnVXz2RUw=Oew@@4TKDpfGN1=aElp?=B(? z9ASV$F)Mgn3~EK;hOWN5~5wae@fh z&rLDNUi6%x;eL-2jGWklcyD6DL@ zhE^9Ly&-i`(*lL}tgzu%D6H(CLQh%z0EHhu_ONB4K3y3%eXv5|FDpFM39?J35q1CU0F(XkvwnWx){Gc$KdCOcuIw z0u(M7+k@|=h4dcTksatz=L6zm0#;4*(Ey-^;n zBt#*b6}nvthK={)=!IYHJzjvqrNfR8Z9U)#8Pbt!z9>|&LjT{vP_SqreIsOV2`@lF z#n>65RyD^F!78;0oaRDee&SmCOn^X!t4AXnEGtz^)3V`e7WEP(OUhZNTBTyf|-8~ zK-4n=gBn&C<`)9xNAxsFFwcn>ppX`34N>BoHjvLc7+77 zs__^UvVzDx5Pr*Er_0dn&%6Ky$zP_hYQ;Ia{E1$afI=NBh;Ipj-^bU|+Z6L(@&Xh- zEVc(v;~}faHvGAqh{8`+nAIl;PJ8bckf7-iFF?UR$pM~R&`2P`Y*7*l9`l*G6lNX- zBll|4!_16SUhv;G6kGt^_5vErj=YINBrE(n9}KVCm(%qUKR{v3Q(J%@Ui9+V`a%i{ z>8$YQbPycV?nf6`*XE~k0u*lTcLtBh@EPP=a&qH3`ff@d6a01x{dkS4i)i^qQN6 z!ev$%8W04!8zl;f5R$?RP)K&Ogc~39dXiv{?0pn6S>f7&AXsd8vW^62FYy8t`hT>9 z>VGqfNwBZ!0SaZTP@x$JiNTxIN$~1=HYY$Kce^vx&r)k9L9#_I292yB;}QtY_CE9% zcO#S+pfK;1Ei{dFqQB{5H}X)hUdZg}w_iJdaZMSY$dI~!=LIMj-Rqo78c{+LJg~|~ zLBtAK9|OTU{Mt7Xyq;LV2~gN+fM>xs71kPF*BE9#|FT2=PyzuIJA!!pfEks9F`h7 z(;>~c@*0IuR;cjm{PP}jlUyPsZLH%2C=3-kK+=MX^d`bA(HjhIvclg5f#52r|4D?6 zOX@iR3SyV+;I#4q`V+ll`xb+IR`AFRfH4_k4iaJFlmho&frX;RWfF`Z`koV@uzL7;7;mtTeyta}HDb`l3Ols|pxCbH3laDM3fYq#VC2Kg zbVy?in^16D!ptS{&g+NaqsH7M!e}8cKtZL$3C_4oqH8{rz0D{@u)?Ov0q{+@k-ns& zZOsc%I34Z@ch?OYMuud4q6LLCR?r&Q&-A|Vc z>1a4FK%wTE9hB7ogyuVg>JXg6R1n-YCSf!ek47Sbgyn zz3^+y<^}(4LzFG#Mj6v1U&0J=6tY-h^D}=K`0%$K*#`Y2UVy^&mh;ekd*B!nj1QAQ zp@J3Ww)w-+(Ff_`L@J9HprCZ5^XOf?(U1t1;{8!*Vuc^o{xHwuFw{o&!j2R&q(=b*IROeim)pRAb9(e~^L0ll4E$Na$Tk2< zm-V7Y4Ss+^_6i3`A7oCSp@@tIqmaM~j(!0UGEvZzu}c ztZ+xiAHE)1zl{WKZ+HO;@#kzoxMJEL62xsBjzSeHXh{Zun`>qa2_#y10Sd{xZ9v!( zMg!rJktnpV!UjEm$Pi1rON6{Tya0u$JLWLGR$&eaR!td&f};{MmkJX7;K(8$`it8Z z#|uyx@W=&vs#VjuwAOzN3c;)(S>^{TAKdjPLsGiM3sA5-ZVb;)2+xpUi^EtHl33yK z@&H(qwIYuMYSFv^g>Gh@dwT7Ax=5@S%A%0R3Mtb9!1~Z+y5sl(3Yy|)A!ov24Kk#a zHWN^&VFj6<{$M;~Bwc%7=sA%SpitW42&$8v>5f~gKM8|xtRR%`T#?mWnQ|H2DU z7~^OSi$xp7Nw8(N911SL%%zPk0Z=~NaRCY3Yk0wb`{9%WC>cqwB|%|mg@Re!PP)K2g(0zXJ{fh*>gSGTIFF;|{95cAMtvZBk z!?0Wh6gvO^UWP~vl91S7U}QAY*l_<*{b7R9{;=}n(vc)kU8l$iP}sT42@WjTMUSm{ zNi#60V}(a*fsmHFv55%g8Z$Wo3K0jbptLrKKBXDBYBmNxS)o43A8hA8J4^(AfI{jM zTX3J5qeFtev*)7VAz;2G$u<5^G-t>t5=<@U1t@@`8Dv<*(wqIiWags~$qFm>`@?m8 zSpy=tU*rWS+--D&_r7i6B=G9D5QTJBxOdSHn){4+LV`ygya0tcakj8`Y`ifEQhqK% zp@bENkMe_u-M-UP)>!k!oB)Mco=#AkXD>qp>4qg3G_XRTr9X(f_loR7fWn&V=i$y` zar%q!~ay6ugz0xg?wI2lG7}>7M2X zD9EYW!o4Vubh6Pq+yp3GW`(z%=V|*Qd3v6{H%pllpb)HN3;!OkFC&6m;0g>fS;4`w zb9Fy`6J0MwDXruLC|r2z1c�a3_M%`BfN{vBK+7{vb6wk>1=Krl7(JP?*vA9$8!H zhNj!?CqSX#j};UqXVLo_3-+(Yz z05YWXUh6o)fBPZF0c=jZn@55zYU?o&vBI-%0bu8{?-&UjT6qBqt3qu-&SDQG+A-H0EK_L z)*!7T-AV))wh4twR*m9w>2+7;pr6adJwpmix;5Ke#0G{=V}ZjLxQzhC{(k;jygZk8#RL7 z#^whoL~7f^ZB4P`M39-UjY2Cc6s!*bqY<0wZ<-&VP%yy^Ece`6_ zaetT}d5^vz&JR$qRqK4O@|-DM!nF@PfI=uM)UELY@yg_KG9-S0g4GXmh}!>=p4dlr z97N$JD-0?Vfrri(`c?}+K;h5~GjJ$ccAX5V?*|#*aR|K2p=+ddd4^YToBrTpyCJ$wX6`a%^x;Q3UKQ}fWjnGOGw+;`vnPRJ~)a(8!Ma}><0z)cO1JApzx;i zDocIVoEs!Ko~Va{n+h|RT&DTMV6>1R(=Xasm`~40M9^SAJHKV1mgh z42oHyMlJxF&+J}Dg4lLmfI`zP3z(?bpPoZa$4dJ1fkq5kZsdVS37P`_2nc$ai)C&U;8_9VDd z#|uy}`DP9AGwgeiVEnbSC`7Y@{Cp8ylZ&O7G?FE}00mL04Kyw*rHA{+8D=PCu)^gD zesI8L6n#p=4^XI-u>!Zgd+9U9gew*(l(NEAGe6i?D?x`;uVBduP#6$k2^+4DqzB_r zkrf8-Ss|kHN-wm&YpucmWF9!|h=CNC#Ciq)|N_QHW)Q9zFcQ zZdW0F;>QnAIN9GCy6MdeCc>1K^C)Do!aQexsQo;KUdQnR6bzP_!bPwTn@N!ngk_}Trp^3g&%$W;L??OZ6xTY@5TvG_%3G+ zTirY8f$T$yI|jCEnLVB2BLY|5GpmVUw#0)Ipdd5T4g_)b^bE8;(h~!JRwz#Kg=s-) z^kD3`){7IMpug1~nrFAgk|9Z6xPUMndHLCG;+460Zm@{$PtdfIxDz^IuQpx|@U z0{-RRpbsJ6YWShh!U{L{`oXoF;o?LX^MV(kP^07m<#SFwCPDbB02Cb8F>`5Iy9jpN zm7sfiKprnZVTGnK+;tlMiwHaC1fdYj3hM*>U|wGDTO_!c%nMLZm$HY&DhnJ)aA;fz z3Q4S>bi^0LJvS?o;A;dgK%w2<0%k3%riaRk{$VKOu|oND5p-AlOAnR9y?6l%ZjQF_ zJN?vBGNiEfa1?4-;lLyjES$ZSKH*TZyvPYqxU6UomMag=B|_D^2n@cl!r}3L@Yrez zJx`C+yTl1lklt<&4H|dplP1HmNDN%oGjr+tRuRa2%zR6RRBal?2~beFaR#2M4pJb& zgL}~!gtNl#UIFlK`Dc0%sMCqz1Sk}qvVrO6o?alrx;a-cNMQvH4}aL(H@Kbz%eV3Z z6j}~gfZ7zLA0${YE)Io4R`B@Lxe^E)e4GTc1-t+S-B4$UpZMk`2@dtYib5SLJbvN_ z7w*}AAi)krUVwt*-_U}_{jT?|h z4^?I^waxN_5Y@MFL@h8#LH?gJJQf9W$t%|pqY0EPC~R*?I~v^Ux4e#I#ml(53e-M%2> zTt=VLIB!nn1Sov;Fous_$2Son;&vJa4Xlvz)fe8CE|n!gi_$GlfP(oN6R`aFh^{rx zUrxuMgB2h@|p3D!#A z;ROE)H!NV0#y%eswAf~1aG4bXC;EfB!P~|z1So{+TS1nTqZ$c*8Dyc5$qFYf`a+GN zsRs!bf8_-zJi6@yqodWglHjk_eH6-A!ET5zT&(N;k_6k^cmWFU^(^3UP(^Lx zLL)1P^hGcwc^uu-V=8z73PKu z3JE{>?^`l*fPd#syeEQoTpm?Y~oi3C~x#VAy=LhVdn z&{nJhpf#-fm(f6i zxbLMX*sC#fDM!*5T-Pk4ONYqePdNb!riEr;&?unCC95}O7zDCHWw0-3#ZP-ihGf#S zoD-lhYl#h1UDYom!P+ks7$mZS=Q>~5@O~2gT6Io8;{+(Yu(JToj|C<~*kSh^gIrcP zJXHjPYX9fnJwHG}?BIFmSby&@5o({lK%try#6J6ghJHdW2?qD7<^(9TWZT1_h4<;@ zz{qDWF=%ClLw|iBCNor-2)|@&H~|W8a%{juErH$$>5!|%z)78%OFgwak9>&sDtf2O)^SznqFZ8H!>=7?OA@r>o$Zsj6FWRKo)uV8e6*8v! zLfhWoW@H=q0SXp}9bmn2MKcL}Pd1>C&k9>Quj8Z}o#{sN0~FdWIe_A43A(4dYrjXK zmKC(?M9}NR?hrDh$=yG20uO_L&!;P$_N) z%ld7mZ{`dOX+ptm6Em0Ow);Y!_1%kPNY`t40SebU@4}^|EtpAy0nW`RM6iOvb`f;z zWxR$2{a^3`6sGJk1sBPc8%PkG(t<)7E1X#93%gauq>vy;{0k>QVW657j2w{=NP_&F zRt$<+!8ySflvll?H>7e$eB}fvXuUHB>32QpVqIm}cMR%TLGPR|*z|aEk_>6p5ng~o z(NQzFF7b<=P?m1}fkHbgT(k87m8r++MlX%x1ti4U+@AH91dE*1eqT6!Y?qTCklUA zp`pbOMlaESL4-L!c>xOb?v5}d_ufPj{7mYNg3lIaE=lh3g_P0%BeeDG!wFCrEHnm} zC^dS~G@(QsgIHFO*XmqVn#`X~hLk?2FDF3Z$udKT)T?<+f*XG%FvwyB$wprgn`AnV z1gg-F6QFSAlo@Py{GmXC>QMtQs9=Tm&ee?6-Lx+xFxKJ)DBL<>1uu&g3`uZtm?R2K ztYGj&2>V`G(@UBI8oU672OG?wo74`vANGq6Lcw+`v!`b+^Mi%QH)@d~EivK+C^-JI zfwfyy{74|&IRpiNR!E5K{5=@Hokjxjqr3ox4J(ZyuKG6J2De?qP)J~fsbl?MwUZ@% z=)wb=n@w6KE9D<7C0KbjuB)9QEu3Y#kI;L01j zJTjzpw`EXp+{VnMfwO!;@uvoT^6FmB3s8_LvIPm@heD1yF=ztLlB z#xz+@fWpgKBlz*ljIQo$drrV0i51=}`@-@DA2Bi{v*Ek|1^Da)^N$bkB!T4QNhsv8 zg7-WhP~v0m!lW`w&`A!TPXw6`1q{MjLB+xcbZ5Sy!6-FFPJlvel?`M}?4Y;2)=AIAAcYl% zyzqtXhEMvDA-&$k3s8tjv4GpoVsuaUlbek~AuFVJ?gzz1p{I$Uq`?bN*uBCUe%$zy zOoE>np+pm3iRsyqMh;Hq}3 zn-anP5HCQ%A;AN>TH$u@{o_M#BT3bK+u@Zn@M{Y#fsLA(G3#~f1_zPWM>5uP93k3u3V3>ohO zZ>&pCk)Y!iFF-+Qj0JoPIVMkn5y}Tq$Yq5m{yuQ&-+g+H;|D0@->`z(7v1TOTWg_% zLNzP=dg$BvSf{v^49U%h7ocEYat4BY7w;m0-uNRZw6cOt=Y5U8a@7bh1MTa?8?|+&Tpz!ePSr~oqPG1rnk~YD>Z8tNQ7OnJw zennJmp##i(c-)2rS{i3jh+u`OSA}qPiyFNZ-|Ei`P`Gx?8ou8;YDa|I zQD!KlvBL8ELTH%!+<*jX?|1Sm9vBrw*n#-N@ROy3AWPa~hM$c_~70u;tLpN0mlaT-K;vep)bc2MfMnYX)$wY-Bll0FL&oR5yr?mZ~_!cM_EJnuL+My z@X^f?gJ@RhnCk-#srK|x`C0BfCqUt?gE=G(eHu*!D|06dGFTy?$`>jX3yzau_#tOb zfWo0W=iuBMn@1#&D09J}log6+bsm@QoT78d!`+n=pwM{dJnXwyL~lr`PjbiLJu7UL z?7T#tDgG8OKw(?4Ed;NhQ$m8*9iAxsWrbejg^+UX5nVduD0y)L6kMknb^d3q z6zQ$US)05u@Y%!6rKcA~Fe~ueSTdx+KY0NP(_<{4@K6q&t${MWD8#bD{`EePQ@CR& z5$5mZ1t=(Qw15?w7w?c@`!YWivRGl&DIai%{YEbb>MVEx3Zp8GVb+gPbaC=xW&jEm ztWZ4E2d3=kpa)~UQ@j9$p(!>{-`;9WwqcG!5DHDK(7wqBvWG^|i>87Tya0uSm5yMh z8hD)uJJ*GvV5`mS>FcRN7`J&Ky#{J^;RPtHleK{LLv`rwqNX!pDEPC2SBwzMD!gu! zA$`c>1t?57X$m{v9+*plH8~eiNMMELEFs*t8Dm6(+TIbI0EHe8?4Zc6wT%Qi=PqH8 z%?g+Q2qCy-?)NSPC}i(D17}WU&^sp;E>S2{vBDJz9~kbINLMrb0EP6J&bNS7zS3V@ zjY|v)Evyi9MF@s)@(I}net?4c+moOh6;2QLFI=vm;JBBWONEy^&(j6=bBMqXP{=vZ z`QL9{bd8>NYg}Sc2xbLud0%)lsP5W*sZ z<(Ej{dg&@BK*74~41Cj(tR;c*>uVU~v4W0|5C)fv(ckpwS&5tgg_ieb5b|>neSr6E zV-f~6tk7oa18qyQ=>@p70WUz|qM;Kw?#-klVG zI{$$epzwR9If#1%-6X;D59uhRu!4T)d-n^UexYw}?mc#!6QEFMUflYTX zC}f3xVm@$i;88kT^WAs>3ZK+0;Y^8U7!fi}@1ju03NJeML-gP8^sfkar1Jt4BF~?O z5!co>5uwTV9tuBMVScp`3MBT@8&cNKcmWEBo}2|?%4jDdXbK;o;IW^XOK&no@GoL6 zy5uOZ=FxeqE~#$CV}e2Tuy*OZjb>;)tsk8S|OQ- zK{_jxOcjF0ntxM?P_>B{pfD)+EM#x14Iub;WEx1(FO%SN053q{dZP`* z7RmM|!SurwD3r0n_ch)yYT|r-5==bL3s7hbwSk)o`E+&PwxtqSGa)?esG>j7?n%4=1;^=jkmsU1nh5Rs)hLKq zVUKp_`+R+T>DTI=$O}-AEHeQQ%`AGwzC*7Dg?Ls_>AX^0eg2>f8Pex?UVwtcYGY9U z_4^hH+^5u{aGw>fZ1jQU?(P3baJPULps;hgHHdU$PLn`?XdMcbtnjA98>F}8_aMQM zTf6{;l06nsqJ5uk^aO``6q;FK;H1u{$2K2c5n(_yFF-+dq66fcHhYo4PuPHh{UK&9 zX?MQ$s5EO}Mi&AU4&O2cD=U3N5>#5hMQ75mAaA2&KtZd*0yfV3xQ}du zl*dmL@>yZg8X@SHB~K#3)gF{Hr)2tnXT2{CkECj_h3UtjE{g)S@ zu-f_zG?yJKBf@Om4iws0VULavEUwF^FKwOp$O}-ou67Cz?(9il7Lwfl7X`P&%v`#g z;N7{#0UA8Ind5FF>Jrkr5aURg5IT=0`nIC}xF4zr11lryPkc z1Sk|_nu4;{-sdEkmeL!AdREYQECi{7iF6zI0Sc4XyTI7(Tf>MjHC!Bpc2@YdRtO^& z?%3Id0EPAt6WD29Mb8iIZW1VX9bx8DafUZE#SEi6E>Nl;CqQ9nmIc)LHvJ+)nsu%} z2GOh#X4d(Hqscmm1U7$o0SeRfOkr63noJTbI5H503|5$SKnPx2a+13cpwLoi16QXF zl_Ej#HYpTJSz%DV5HerY)RW-dGhTqg?$h>=lpQ*O1eVH!QFzY^eKUnnw7;63<2tf= z0SfBPW{|b#4gC|P#2G_T_{$1vo!?S~kHUU3q(9er0SY%AOu_c;riUa*9z7fdA6;fH zb$I*0?h}KLlHg1jFF@hdPeXV-@C>~hy2EWG3bCy4{}{XPxSsz1@&DN)%F4*j%-);3 zO*WAoLS(h~9+ITzC?O;vNs=T!Ns=TYBuPTj_?_?P{{G{4f1UgDa;g7sm+Lt_ zAI~!$XFR=r90SeAK6HLb>nazZ5HB}}`=5-Okwx0+uZ}{3SkT()10m;YbsG?%(4)i& z@`u;c&5W0R4-|65!sZ+~%nWgo5W(^g7oc$bqBAV+Hk}IdSNB4pR4iONDTfr(?{vGg z#GDIISn}QlwqKLdsYhkKJ}9^th(75nKYc)3*O`9fPJHA76gAhObvmusMK zLM%9}^#Pw*UrR_}n8gJs+-WYnD_(fN83{U1>yJXXSePz31|M6_pxaj8dt88mO12GX zlp511uh)YIqL3^WbaxzsT@&A*Ba6fbDAe4ugF*2D^icYu+F%s&#KMX^IrLxqTayU$ zW4Qo@pVx$63iP~TK?3bdLr^Fe3kz+0;O>nc_6-P7@U(XWosYlQkigY+7z*xtL}Tem z4#JJav9t1lOzaLCmLOhS${B7*1E5h$D%3)(euXyfM9iUj7)T!2Ey8RpPAcu*1v zoDYmbAyO<1xG8M;j33iQivGa`C`>tG4_mxl+7rRLUXilbCdSdF<4`CN3kFSmq4&%(XR=6qfP!^~6U4ONM!ydpuO^^SDHdi}`+(&a zpKe6p0~AIt5w5(t7SYT8<33G7!E>)@EcF{M%;-K+r*mXGT25vH6jmL#hnbZt>2|63 z#uN+!#lj3#A84;uw2`dC^@&rN00n8R4QvQlT10~R=cZv0EfyXKGrB7A50{WYf8KN^ zK*2TK9xQF9EF^*Z7{DN1ENBTr^}QEf4G2*1>+TF0@)wIqFs=726yA%4RN=|5Eo~an zT~=Zc7ogyA$_k#2KRb{JR&C~>P$d>7hx&kC-=P;t;1j_GDD3%U3xy>E=-kZBtMgFs z-X|JMc13dG)s4I65aC2T7oZUH(E*wss69l2V$TIATo4PY?|s1hZj&($2vDfJZ3z#4 zmeKQvwpLmw#EON-`{Z!oO_(_m_y7fERblqW^y^g;^xC-?g-o$vcv}v+GiT>CAV9&n zk2CnM-ZPd2i&iZ~p;#>B-S&ZZXB_FV#@63lfWqaz#&C9y@);r=OI(gZjaYcQ+ZSdW z8sC%zu0>pcLR)W3h&IU1B*FG;D^ZZ|7mX#QayhKJ>$iaft24O(g;!_nz_``iFcNIK ztBpd4Sm;zL+^=!O_EiG{6mB*)hx)~H{7KL}bPWpeVqv&2M^-cG@s9=sDBOs)gE1Q2 z>Cyef<7-jK77Hyl_`qstN$+*gS6{~jD46|qfWk@n)5#*Kx~<2cL@ZQvJ_d3(^{*uG z7`%ZA{`X&cVg)m^+Uy~LUgbs%oDPUSY1NBz_?)Usr?Ho*ZDIlxjBM@TLGl#3sSJL% z83RAD(DkS<99>;ackHJd>oNfft=l-mpsa3p$vPx|--1DySn#Ts!3uke8WI?rZe;=# z9Dg`M!0VyINihD+HVhKQLQCN+YxmGTbnf1As~!`e@anY-s3_;s^EgP`jzO+im@e~y z1xjs|$s+Yzwu1>!INwS*5=c7vgaoCxc4AN_7M8S@L&WGgn@KQisy-8-konpOZkp@U zNrbcuyD)Gw6pf`@!ZREbR7~lnk`GWgxZE8E*5Bzz7U`?Z00n=su>Y7ZT)xnWo(}K< z3d-ZnVQY=Nj0mv~dr^oG3)3TIFxSYG?soYAg>!l~FzR`79TA@F-H$?wScr(1!xz68 zdfdtfD13N(08%^0MiL=qogoVOVqxt^ImE5KP3JY%)^Y&~5oY!fb~w+L2p#4dqfj9h zR!M}J!~^;C8@H^43s878#26M09@U=+=c7$g@GugMCAZ%`FwDt-PLv0{)}5}9)UPMq18w)RMWIkE zs0&AAi^rD~kage#6uOMH0J&eQPb8RZZI8llu`pV=S9;-~H@ivjq^AQDpkS3_3G42x zp{K`(^c^wqG8T=c=E8lIZ7TEVp~HRQSKa^basmlZI4-=E=iHoybj!C$+Zlr(vCv2O zPVbI5Mz>4v|8M~cW?D8d!&P?@S?Mh^T~UY;3%x_+aAM^@dhzSv2QEP2?*nt#ng3Cb z2q_;AqL3jLls@@Fi1Cax63h|a-1&e1B@&?UNO&(?-tcY9NH8kt5C$K_LSGv>{8jd% zJH^eyuf_hKKmrufLmi;#;Imak=rzt0gKDv`v4tOe-0elDv7^kn00rlEhEV(VLI)yP z&hbJ)Y9bm-<)L!u{O02C1_US=sW?IMjDQs+*gDD^gx!j|vq)NQYc zzy~Otd1MODOi$Cz{fkq+D0~(R#=>2|-9pp45`hm;7?|t`X@=GRNRaH|heDlLSgYX! z_d5r?Ye0a)+8-`3^xJlU5;`K9NN zLa11HA&l1Yluz{E$_FTfZL@{_$CBwJ^R4BlQAiLAE#}Ighx30Pf*M}Q1t_evHieaG z0b9sQZ%+t7AxA76nI(gz-3HKa+|qYkfWrCF_qX6NG|`ndp-?+#!dw(&3MYzy~NSh;@WN!z1Z#clG59D4Y-r zi1*yp0i_(C)FJFA@B@U19#X?_U_D5yY+)}a*2MW0Wg|Qn=V2|Mox|!*+C>#ZMbJ18z zd?bUCEz0!2#0My-Hr@xixAo~B=;6c&6i$l;W#JjW8{HS^lXaMp&jl!$X((0* zeC;2JLZn!j7~~6^UNpN-g6@yF00ou!Lva2{0zKxt+CB<}RI$)Vc#Gl8rIRX%Fe#b~ zPzY*j1z$toj3hzt`kN>eh=u)raxi|>rZEY2xkNJo3h$;l!^2*S&y(QS*IO7=iiHos za#(25m!4X>8pbdI3jbWJz)MyBo(St+-NwMvLNt~J)cL@Rx9``HK(Z;82~f~KX#SWNYs^BjX_yC0$do3ZN)05dG@SPZsLbO=u>m-N0>)IbBf!#VT zKw;~K!(i0Whz^bP{s}0gi-qfNCH5(%D+;Q|y2-&#T1^&h=RaJD`Pg(|TyC0Pbe89)!#&-6)V0u=V_G6&N#DZLT% ze(3`Yye&mzsi$xU?L67Nk7SXqv`t|G6e2&E!L5og-|Dwr_MFceX_?3fW@erIH-LbMt>T0&IZ7{)LvX<6>8OT{Nun6$&L{ zVZFKxZg;UsB`bZ&Dvt?J&`z=kou+Q|gB$t&H3m-BqEC8^w;blAH`XBnAE4lM(-v%A z{-p=HsTprj@DmFY{AExydJ#Q@n_^nP1SmZJV+-Tj7Exh&+*=I7#6qI*N!$Id1C{*e@!Jb2{o07nB*?SBU#X`?ka>(p=TCD*A3RXH6aQv20EeV!S{eVKQSa@_w z4*H{1-AT}+kPA?#a&?2EtF@XWh#OptLYY{2uPKM7i;BLH;6pkWpm4j91=O}#PY**= z)IOu&W+NI)KYIJXHme`>h-_vo7oec_-U9~L{^utiA2cpO!Cx%cCdnbRXEr@JsR`x+ z6fVEChSR^lTqY~s%d`}Q2(eHWCWE$Fv+_vL&X)^N_}0S}#&*|C+nr%2CJ{3r52Id?y0K2NQu0P%u-mhFhx9^bjs`V+9Ho zV&RT(kM5feBk6XD4^ViYZ3=qYm*_FyG_6V$JZwc{>DvQ2%>Cv~|4V#;!WB&$IQzh> zh^(~H0gaPnpoK0MR?Ms)dD(+5V?~JP-r{B5$3ISrC(9=Ml~oDiiHEh`!%c_ zua=Q@-~$vw*V#gxH#>nQSvSpjJ8J zIJ{lBIE5_I-~El50EHjbHc(l;j2=2DPicxlj9AdBIR=AzjR_%w(nc;o;XtMEY*|2R zKN9R-*c^onvGC2(2d-+}q~B>iK*40S4RpLee*qEtjBkm;2eI&bxerLb^w(=ZfI`Fv zb6Dr2O^?V9FKmrMwODX^DuV;1dcaZ*PjG~8>^rYEEZNuqFzCheF21v3|0Xy+eVKo-d~zdZ(7V&U8w8SGg&d>aW`Z|%SYC=}f{h2Z_G z=zl5eQAZ3uiv_FiGWh;uUIY=8mv&+T6qZl3frRPp%}J0Dt%gCJSZM1i+$T`Djvlw_ zZ0yVgDA>$%fkCGO={3dn3%g?A>mV9S!AE^SIrgOyStLF{Vb{&WQ1PuDod{VqULA!{ zvG6+22kuO2NoRjNW4Hi?oJn>NecPW7?;#pJP)HC9zjq4z=`Ws-$T~c~$OS0ObaMf( z@%r>4WWKx?3OQn-%Xt~3T^>R=Gmma?0Seh)tRY5Mb2nKexl`@zHMyVAB7WQ z!CJUu@XzQ|$BDoPC`^BB1(%21$S1-4-2+hw7YiS+2=53M?gI-oe%}HT!bQBt=8DpKZFFfxTu#OZf!`T9j(aLUM@zt`F z6vI!AK_ike+PCn5yjbl&4JrQjzdG*>my;$PAw@HfacHD6#>v(`5aV^iq9FwuotjvK z@)iGUq!@2L0gVF2upHzA`Qta-Ye<2{)|O7-I-stY6fN{7p;5^gE$!s+$))aoLkct! zw-~_y^Zj#35x9H`8lKMLan)1UY3tXf#y6xuqh_5Ood0&0j;lS>rlAqY7-QUJFyqF@ z9AYRa&}jGA1e)DVr=$I@<_t8V8KY*s491!_3nqqw0*$m{Qy6$|Nh4B7I?qHSoiR>b z5?+n<>7;u@3N%vP&EVsUU+qZovdL^T-ZRE@;gL4!OLYTMe7nRJXq-7^50bGL50Ikd z_*^uq7^B5mX?!Z*_K6U#4<+iCn-$5*+j1)1sazd zIl_a{C1*&nZpjifG8tq1S>f>rjU#j`s-Qq)b($SS9SMC$j8T)9p;62jSA|=5s-<0D zH>5yA2Mi#6$Zq<13?H}xjT*)%7A_UJPTJFj7+Wv11sbaLj?k&>ARW8yJFY@Q?kXNv zJA{{(RY&$nC5F_GEzr2S#1RJ0nD~zr>y=ic5yBXycYL7bEZ6a*2y$f$G-h_Ohu`L| zdq|OJq=QC0W4uw5frYle9Vzb0*aD3&p=Pk}`~)>pL^`ZPBbza1b(O*4QZ0W{3~jug zE6`~3S$MbQI8z5woZY(tixS50d@X}-IWv_=@lbUmSD?}Mk~P#08XiUpgLRv*aB>rW z=K7aqu;!T6GE!8(W(zd>zOeV1!0KV|~bb44mGzxBY-hx3l}GA&%`e!MSUn+pfPQV zIh0K3KbREHEv(RpVhr;KGH`z0YBnhz9A^tO)+bxQh~m&Iq^R3&gGL%-jGQ98+^l`l zJW^D-u>~4i@*JRSSlT&K+%dL8qmVJugo~iv)lywaq4$d|&^V~(2pWC5uOY>e> zW{iD}d|>f6Spg|bnmBR=8qrgop@aF{cBJ^T*a-`-L*jAuWT6a(?@6Vfxm7t^pz&vb z5g1w<=n~_~8y7T!7~_wQFtv9hfu5!2y0~%$8Y{x=;npYTJYobG9mFDrF)j=dj(wC? zoN7pcMu3tNY@Kn39$5x$K7>XFV=Or#1C4>*U5KHeKtoUS5WM`-BApbPiw>jlfiXS{ zk3jlqy7nN&?J~ANBMYn`^p%Vrmsn0bf<`rCG*uGzA15|y664rwwm@UkTMKAjzvw+F zLQ{{TA@vZCD=kkMlwLc%q9FwuzJ8YQrg|D(^MIQYG=dr9iH!_S?R`XNyc85@6f6;b zCF5bmYO+)xf@EmKF-D&kGWh(=hwjf66ljz_7tRM~Cdh~pB=JEbi!m%M(4Dr-A|v+qMT`Vf1BsHnGv*I2v_~F)vC6 zTFtgkC2L+<$`)u04Ks(4DQR@C_FCs88or0c)%(TaEdyEMgn8(Y~};8UA4E7V*d-a zKqJ}46moqn<)k=r?kpNPjB!Vpzq0c17(@z}M7BVq=I}l!9Tb{IiYAhCXp}NWT+?H) zGN+f66y?|00u7TAdnncMDJO->ne%A4c#1!BJry}T-7q4mAq5(N=dHkW{h)EAxODg; z8YdWI`4(R=S@w_a&lMDCX!yEApPa_aiP6^b5*p!*(P*L^4uvM&C&i{}wm?Iw>HzN& zD{hmb`HstIBs0e9%`z~muDL;qgqERPfkutGE5uzih$qEI|1d1_7$aNT7p^sPpnDtz z1sW!aPT~EwOFn|qrdR} z&v%qH<DHyh-Qq{9x_nAqfGY(3JNsRzuQ2S^OUn>srEj)k48FU z?71m}T{|o3b)4Tz61f76#4c7a+HKn-ViZItVey_Z>`qJJ-O)kx%u7Lm#=}%gkUlb+ zL5wyR9-vXh7~co@Kx*V{`W@6=n8Fok1mz!s5q|gS_R6kPDi+>H#p5dDpKxs=auYp5 z)*H_jX!L020JT$f=_nbkk%qX#*=QY_5{xnMyhuv5YbK zh%gUVW=yZ8Dk#uUueS!>z3nxKk@@cl8kvldBh2siuN(KVAq5(i>uq7-7;}2YV*2?h z8pVupT}KAnRrOX8LqUPYwPTL3qUB_|AH4kH85%W=F>;>_BBa}*iJ_oCL$=Whil2U^ zv*&fYveA%xi^r8-6FE3M52we83JNr0W>~`FSN3zrQk`3!gGLBr*a-89EqC|@gTdSZzVATgK5*g#7@Z#L28hz;AIm?tS(0J-< z0TVA-e<#L=t;J~MGKNv53|`s~q@zSZfrehV1#DT;lg{Gg4*QHo8Do6ZltE1EZ`;XI zJzL5aXe_LE0sDcAok-D4y#x(6sd!vfb@zdKSJgYD_%nqq(5Mi8C0(_>CcV-SKByE8 zf5xbBm4a!<6gumypg<#E_$}Y-HRjjJQk8WoLnDGQ9Ac$lYxiM&Lkcu{3-^%Kth`f4 zinoo*(MVy8X(lqbcdchoLkcvGra8ibHs=jVq51s>8u^Uza+7c?-2Irxq*&=w!4+sg ze<#R(bTN?>1DqO_p1^;KvDFh<;6;rv7Y`R9fdXoS?5f%5Mw6G)-9pc;)R##q-z z2K58|=`po}0*$7^{O*}$QSFFvd0Y(|X^dh0Nd`y8Ijn3*fyNsTVIMVX9o?3M^sPgq zkTJdrM!~FPdi`8MfyPoba~LwZrw&=FA1X?-{_o+5-;6Oo8j?C*z((LbpL z78#7u+(|g5{^3K9DA4F!W(Fr5%;}b4;?)jl#4*Mh zVSBarWTBK83JNr4?6HKldS&!pwV(c-(8ywp^TJK-ix$Sydmt4QXk=wN!T7sXf5=jm z9qNq6XU5onR|?-hZ7v{%y>b_>K%>b_Q!w@E^oA6T&AVbz#~6oB3fEFEjYfYy0LL-4OG?xg+3}4#P*+B&b8X!3U({$(2akW;n4;nd) z@u)%yt$#hDXGIDMG%j6n1hw`>^cst4XALw;8AF~TgBJ_uPa*#+1qB-4Bh4W2emFh8 z@@di^4VPo$&)i_ARQM@`Zgh{Mpg?2pdq=pF+J=75ca{%8;{;>m`O09PyVQ@YN9$t) zxdM&(F;?Jrr@@ZEyQmDGH1sWa`9bkp}C_1-v&~OME$&9h^ zr0_G0xzkFBp`bv+)6oT{x7e_n6eBhbLnDtdq_$FMpEpLoAq5(vglAbtT1=tmQO;T; z&?sk&?>B@85W9adCq}?Gwm{>L;UV}qbqF1a`FW$zaQ73BtK>CO(7*V)2{9BDXp{)| zOqAX{(wr2xAC5ueG-GV2mBH$*R|YnuKx6$GcQ|$I2|Zd;xj7DvNXCeA5U$;s&V4`( z1qB*)qpacRMQH#jQqE04Bb6~G2(L;>YaXlHkOGY)M_2IO=tPf2>%1qSQNS3o1PKfr z5VC+63JNrSeRG5F22u8;=x8?ujY`JYe#{5{JR3-l^c56n4EkjPy(`@4xEgOT4GquZ z;&G)fyijW{jA%@jN zP3hQO@o**@(TvewxEE&u?6xH9G3zs1ps{+U9rPVlRZR-hsM%HNnvnyAsXH%#N(=9svO4lE;VaNfrez92V5JKUqOo6 zy^GMez!)hVg&)bV<2mrmc6=W1oq0)^Y_J?!xck zYIpg#h^+aGuyt6(Glq4c6eeD^rDL~x#d@wlW5QQ!XgRMxeGanGjEz`iGe(PbzEG#} zh~E35pg_ZC)*<*Ox1=Mn`OwX1lrV<6@IsaIN85HLYp$R`jg)1n~xVq9A)NEVQ;}Xqg+tBc13=m#OGPO#BZs8OZXnYwb+)v%H z$62!GNxtTsO zdb;i83N(uP3f~W{;Am3(SiTF3T*ioQA%!y&%4|tdWW*L|{2Ocs1KJ*^cT;uSVt_^& zW9ZG1L1MvxU&K&Qpi!qHJeT_SD*a#WU9uMqw^QPA^>2y~JR7u^F4eDcwm?JezB}Z+ z99Bw}%6Ia9H2fLk!4)YyZB%SUinKRufyNVw5j>Y?DU%{`pdlI&jFI+H0=ZdUpGYzO zFigAO@(8ykBMlb6_SlF1NEmBY-gyyk(I4qLQwMf&z_e{)X_& z?`~JJ9))idF|4&`4v9ej8=5u+QhIq$u-d zi~oHd!nZX#8f3bYEdE z{P6iCvQ%MhUAY2{F`l;YHSDD`DOT#ZVc~T~Jg(*o^X&%)eDEcONi|!b@n*C!sEqwf zXN3JexuX%p7|n~MaQs-;X~a-apb>J;PWau9#}7&2knMp+3}a+;mP7D}-gMhuYjv0_ z(6~0;1`ch%{Dl~c=N-W!gE1C`NWn6;I*1fg^w|Q9#8TmXM@kFaqp@%w zfNj*hJ)~Hx%@$}(ylD=X(^}GfE%cV4QOy{Kg?k`33^^4{jG;5x0*wj3OkvP(tret* z_K>0>4G@p3JHn4tZICxsC&iuNGOj>lz5D?9ubKCX6bmfmSOhc1?T=DeaNU`184jrX za0MEvjf}v(Xmnm~4c!8^(Ib7ek0;Rh%ovA+b2al9gFx z%{OKFqfy5gJJjVc_0~sv%n)F4iYw44Z)*#Yd(Y7=L)!K;Sooe5kE=mPrJ%Q@DcwgY zD9~6v*9p$r_|a>SA6A@2Ba|@)ZkB=XvZ6y|%@q`AsDCztK8Y^$jHPV)IW!U&qc~1D zuO0P)?mrY1Xy{zF0X=Z0XA?h%oJS*vF?4k0(Arm*9{VUL(9mda1*ZpJqTi^cT`!_h z${2gkNnqm&y`$uRrJz8=-O2*4*q^vaiu$IP&~OP9f95)$WuOx`EV3a58mqe=fN&d4 z`W+14a~X{jj1kga28}D5(z83e(`=kfD}H5 zuW$t#leOKT)?n-gQq0c^!y=h6rklzjs>`Bpq{y?l$`xohI+?@NcoTX>F>L!aEbh?u+>yx$OIvVAS;W$$c2XD=!_m?Or(1<%_4YRdW={2vU z={L}DKPMhnrRSwEHY%Pj6})E)G<2JLKz(kzv1H9>hTlZvG-KSkA_Mh1iE>g*e99JR zsAaeT^nAIS6l3CUp%KX#?NX!=ANh#R4k{?n=p}Q7`d49eo?+7E+i0XRhP+A!wGYSE zlciEnpiz9=0lF&#-Ii?jyMsmnW8@E#!YI%1zQhRX7RME6xIT1(KDN2dNfF&V9*auG zNdGDrKR42SZRjAjKqFk=8tM#deiGwnrvx-SgT&)%(Rm4^w>wVfWE2!=wD30pNvmT9 z#OTmC5sg5`$lNLev)lv|Qj7~`3p7T|c7h{19q5sz^7kY(q8Ve^Jt-WX`?8i8XH1g0 z0*zV2Eupt_$$e6+$$x-FI%6CY#%@T5TWX~6+mgZ+Xgqso4`j1saQe>>)L?i0*6kqaR^W#Ta3mr7&+rPdXA66lg3tZVLVWWsI5yQrKjDnVtzNDA0Jb*cOsbCebTDH}^b4Ba<=i3HRxbul(dn zmP$c^#$iiy_;+^VNmA6UeU3&kV;EWq=TRkLk4PbT%@$}}AMXm@1IN83#r%0M(5PXI z>Vs0S8EQ(8uXcQ43p9exSi+IyoAmRTmGcq}`33Q~>L}cYJmp{>y*8ns_}~AkgYayh ziV8h??U?imjS$Ajnj?kfU%ZEqHCIrev9OI1K>H1JUerF~H5&1Zu}jz{?))*B9?9HZ zozE3$3?1SQ0Vn^CBuh16hp%r9xPPHJ0W{>x1I9(Kf<}O>LAbHhhctZ*_dTliU>xDb% zar?+tAJFh)j3Kk7aCwZ zBZcSBOX*T6DA4#^ZUtAzuBCGsrQ1r;C}WHfXJuf2`L+*P4+RApQH`x2;7}HwlSx@t zhK5_Pcw7}-^8uyw+MC2sP@oZh!wJGR{-txTQ>T@q;m;VUwQ|_?Y9jp(I^1ImG}1bm z!Jfav>APOa2UnmG!5EGH-_HtdTtJ`TIU2?mXcYZ&0#(<#S!B&?)GE8g<>1n6 z0-fI-cakm8*j{V}nHyTRBSv83-)Q7BM$7(E_@@>wYe<1cwAw+ieAfCeDWbmrL8F2( zRvwYT-;i&w8&aTgM$HmpE#8eMg-`xpG(0Ye$JNk#5_r^3na-q+b*|e+B&oT+JnMi67<3HOU`zFI_& zUK^cj$rWe}{k0$DQGK@&BmPS(EMgd==W*fw#MrugQv5sGnk&$V*lPv4V>@S&;!}vIpDBHjha$Zh;CG9~k45@D3q8*ce2L{=3-%jUSQ1 z`(6{@W{_gUxOQk%Ge-O+DFo%r&LKtbHEe;#Br^+mucSfm1Z+FI0~*rH;&GL4ES%Sd z1kmeI3JNr4ToJzKM)5PqQt6KDghnu9bjy=~^1Kpy?M^{~M$lU~_%J;skQh^YbVehN zG1dq_Czg?MyM03nG_D$0!?o15b)?wdsw)~2Ok@bJLD+oYKA zyBivx86#ny6vkw|pyz`b*6Lh=#^4RsaD4YSx^34j>W)PnW2}jk!2NFf#*n2trQd@q z(8&B~3soCp>0Dpe%$`{IhKk2k8&fHa^W5En7$>!RaRnNCCfb2K)PP=N8FjZe7NLx> zPE`&UZq_d)#{QXoxB`ugrLOSv(P{b}Y!uoTiv-5lcS-_21H9F3eCxdM$&;|#&3|J48N2X!^E zIKdd6t%djRzT8S@ywsWu;R-a)D_OvtXFp$%rOM72ibXhM{K*lX{|If;i4;lS*#Zqo zCr5Z|bdk;he9a$@Mlxeeu#!QI#1M#~p!nZxZF_oLqM$%y#Ssg5nm(V-k-6GW zL?eT`0<%7(Ab-43p$&V=`llX4xr(ARXnbaXUHI3YdpPvuAo38O!y6jmHH9a$x_uO z%|auPG5QGS=e5KPbFheJj6_2z^el)QL5cx7bGZTy ztv0qWV#^geuKoqg!y=tA)^3x-#l$EHF^o0la|If@H72mHb@3Wf{5!G$i}#FiSeU=+ zpFfx$g^yKT$Q5X$A2oxN+rRn|Biu?0iz>#56@Jccw%;W>GtsH%BCbFq<&+JSXYHn2 z>ertaW8obx9#;>q$RV=s%z3g@&sr_v3N&PuCSc!2j~<2p`n?p33yjg&Oa_qVN6$YL z6le?{Xan1I7C$6Qb-QRe8nKL_EZpODtjU7a-mfMg5jY-1y+&E`oB`GFau0=zBO+2pp2=5koJ^MUebIlWMfksF-6WBIN z;!ccqJJzES!We6W?e4C}v+j~Y=^$I6(YTKlSS>g}&$erfH=+^G825xZfOVImdk{lG zfrfsP6AWz;*NYVSx|`9+W{ju=8O&c0v9los8rP0FfX=+8$4K#T@fI{n7~`Grc}#v` zO80{o%h>`A$vG={b1E>E7(Q{^&~SUr2_`q5YDm^RvAro8DU9*punY_@E8QeT)EKrv zBhbPI&X>)kpU3_>Gc@uUW8X_Dj6YgHuYauTZO#>FNc$axJ^I_8lBK%-)dGtO#;`7t z!koM1^a^im8%wT0Lp$FB`n^xMM~thvR#4dtswpmgCKJuA9?)d`D2#wafF zhK%vO=v;<^0*wtt!aK?PWYJ?Ej|>+yely1MHFDUY6Z?^@dEa)fT!BWpaNq0ZfJ-|_ z5!Ut~7G5{Ry*s!)U}XM&}i*aD4dF2b+O2mc#KjKFO&G^A1Dan)M5?)-4m{i~!X`M?%v zJk)W6HhZtrt1_K_`k)ca7<(7_!1EmzEr_9@K;u{kOZYLMVm2w#-yTCFjxkg$g?pn4 zj+Qs1Kx6AxBM8yC{+1LQvyP*Y#TY%aB_RL3bVWl7G)9g#gO_cWA0oxJdneKO%owkP zW4L)=r%oY-`*we>Kx6NB3-~!Ra6Kvdgq^~ojxieVkb?L8j^?Dez2Y=ipmEC82!?7O ziXcUslV`B-y(u178*a&JU;cDH)Vc{Fku zqiM1f=C;4qovg>lBDO%oT==zc51aS&h)lNhA{wQPksv(Vm)qmUH)2HnU<)+HdJ6aN z1}^ABijHqDq2UrO{>+Pn>zpB}my{Y(pfPWb@N9;Y*;Z1_Uml9a3C371yyx!K*N~T_ zm}$foXlV2|g`Wo9x6oo*7#iV>VVEv~kGIElAjRm-Y=H(m6prBvx4b6BokihjBr}GW zFlYH@!%UTi6lkOy9Dr{9CI^s0HZcN?JjU4kR|3}UcGC4wP@v&+-v;_u7t?v_NdqF$ zC})i97E;*RZw!H;l3Jv#L;&BxtJlkjAZwHAK;!InM;H_8PQSISOK+hO$rvVsh3ABaKhq}0 zF=-4}pt0261V&G8P4^$$U){zcl`+QUNFiT+fEF?2_OV=n#>9GKn6y+%&sgTC+`*!N zF-8gRPb}UaMn`+_o;a>RV_3Q+3@P=c`zZSf@mN$cM%{WT>}&CRDC16zJs!5EZxom;Pi0iJfrT_e{r1;$~5sg5`sOcev6s6V5 zq-ZvVEzsCmWehu%^GiwbeoitP(Tvewcn0gKi^1N86lfHgnZsM>nO{herJ909I%ACg zDuJ;4c{Zfj?!y*n6t6OY+2yHoNTFT(5RLbY(I!j+voH1k&tAWLm zqfyBtEUFk|+)fF2R;)=Nh132tu0X>#-2{9Bf9R0Hz&0HV@7v;W)u)~CI}OeYK9C|J zk1f#X8e|05XXnvTGI(bO8W$L2?rb?EUv!~!$O;NHI!$tdEW0*zTd-Dvy44N=MzV3Wnq!Y7^Mf~@NH<>Bw{T7#ujL75uPP$yr+<^ z$I;u_XcRMs(`hM;XyHV!0=VR{1sXM-9Uvv<+CQ>Xbs9Nn)G&rYsxT*W{LvUvbbH7a zXf#c=gKy0`Tb_NH%Z*5lj_?^!E>Cx4Xa9gPYKG`0!XgoB(HZY0Lx*&opGV~ju-2^6%< z>e!G1jR0L+F!;E}i4j7*yMjo;$yeWD7J_nOMW?%t(4S)q}I2(MV*B zTf)3(%gIlb$Wlcnumu|JLWFCn!wdhA;#8{=G;$f^fbb5w>4#^JB!zl7TcFWlf)k9A z8NMP#Pn%LS$`~WR${WJsUFc`7pg?2iT`RCr8B33^{v0Yp!!1rcuDpfc5~@_H-$a&5 zL4ii6nf7pd(k^=aBf_j44S&Y?D$HeEi#l=2YpDtfG@8%11Z$Pm&B#)Kqmy6*cSLUX1oF?wHUhJ{zWcwBv%Bb9TjN`D1sY>c9)LT~Z`zVV$DtJ#F^myc zBLVwMQ4>kwuF;w+&`7B_g8WmnSCXR7US%vY7^8DjDQy2!c8V0YRoid{8dn||K-D4# zdenEUrY#m97-L+d6pA4)lNbsLG>leT!;k@yYe~_qL=}x{#yG1bg=1Gg({nWi1sVyr z%|Pz7kbVb~bK0XJy(b=5W6wz7aQF>67p|Z{qjiuyB#a%BOV;C8Qb#m`8RN?W8QeAQ zwV4zhc6Z_mG?thf!Hi3<=&|Ut2sJF?7~`*SEj33qi>^7W>C6>q$c5{*RUDhmujDgOpNn+S~`g2oBPsLqtYhgHMqxq;tXwm{=Tr7g^QTuYC_ zH>3|kBb+fh3-|S@X7{1rS_K6fN zFUK8VL;p}YDH4W^#v+d~h6%r4dvb^}y_4hGVzxj-HOUxaY}?YS;T~PaqEXHmrouCE z1*<#sAWOAx5?i3*7itFD3+m{Wy3lDH8t#eWaivn=1KBz`bjvV*z<91eBg54S0*XOp)dF)EI-1sa*>Tp|5QIz6M$w3&}aI%E71 ze$Oi@W#b@XC@9cqw!{RIR0C#`;;rvOG~P3Yb(RFaeD8jl6z_}K0*xU*Env!ow|S&c z`>+U&D#oZiCIP9%47%rR-)u2gpy88Z2VLek(Ic|Z>LplsCyU3`ZQ(wdCyk@%{a2Tl zEaeI`REOF^f2AW;WIbAaUWUa5#^^Lrc%Q!Z_3fmXw|6;LpfRGO30%mDyhn-~*(ve>>92>L$|jZyk0%-ATds#*1@8NFq)6CrjztP%{1D!I?xlTtdP52{ z4xO}zsVdg=8cXW}OEmHsBXyA!T;{%OO^knaY=OqzF-9=A(-C?#_7U°DHYb{%# zu}pZj&)t18J;y1Z>w-oaV=R6qfdw~p>G7_D0*zkl?I3b)++Om(dOO+;jY7tlKUE6l zF4gqTe*2qjfrj~ZOX!pPg)Y^UAa^u=GsdBt!hM!K2GdV)KoVP^(M{$Av-Xv5CF?OJ z$O8?pN8)icM3~dB_|h?$6nf9u0*#jDR&Y(JH@(BOxuYizN9F1zm=-gEX9>*f-(UO7!jUK{pK@^_um_wGT?JQq3q-o-DWim-P7ESRQM2g5{ zwm{?g7vVQX3SK6Y;#ig+8o`Wl`-pI#W$peI4JptFeQO9>yHwkf;^n;)Xv8tbuSQbn z=gy>KMasx)c)kJ)~z7k4Lfv z8r4UI_w^MS(fx-;O&}V+kHzCE|A`DbPD*`F{#RXkp5qEMR`oH3wX3S0k|Md)c`QO1 zWA1$k>`0uL*N_5@>&+}7_tDQeq|p6y0gVL47%$9`Y4=N@*H{!3XpBj)gfW4~=zV>) zMZsv~Fh;eoEzxfF(26XTf&z_scWq(bH#kj-P0vEmC}oVWcEWojuhE#ZdaO2!OKVm2- z&?s%<4tp%KWuzE-A{>oy#t8cB4VMb!bkC`vKx3$y@Q$tR+vzrO*ue-ik{M&t0txhb zrbf4k3X1=I9$L0={@kb{vL5YBBGJfW44dXMm^h-2UIkE4pkdk40ao8@PLDG7Y>7gn zoG}jNN@2~&KJ~4Fr7kc^edk?LOnRJ(Mml43 zG8BGy$?iW}hN-1&fyM^Y3jsObi7D8dZjdu*c_4J5nsVk%5NyQ}MVOARJ%0E*zEHkOB?w zY4&jPaA5=~`UYmAae*<`eUm`jr-P<6q(Ea#KRc*?Z}OECwO(0h#4^U;xl%B*j-Yb@ zQSF{{1sZ0}ZDH@S33Mhkwbu(QG8w}|xKBpoct#3YDg^}^+w)D~+r642q)=+}5{+WU zXe^x94%wxiPKqTFY=OojO&gdxZ1N*gwEdflMh#=s3%?b=H}x5cU*zSM^zX2Hp`LjYZFes$D)KW9!-)$+j;92lJzK?Uc?n> z)a#qWdEMkHQtWR15euhh;?KPDfj4}<{=6G0whUzpGz^PPp-H^!7gBUJD@MbQF=~Ws z6TNr+^B~3auAjI9jjQUyInMczKvKv*e8wV-F|Lf1L+subMx^j;_Ju3Zu=TP7Pr2y> zQbau~!6K0{#t8F?KPM&A&*N$ZTc8nh+!$6Ym~em?S#L|x$YqQl!u<@5SH#j$qM$&- zv#UKM9dkNPjQikRB zx3VDx8atCLz*pi>PKx~C3N-u~BdM<(-rx44XDqIZe{uyHeTUdX*3GwPh;eb!FDxP$ zV`ZQe9xNL3vLOW;Mn;a%=e{vLqc_ zeS2_Ch}=L5jnW!4Jf4fkmG)E#m@FwsBZbVcmMhSJ3R~!VbR8X6I)jxaB2;bv0QK2Vzbf6q-sF@}$$6khfSqIbP0DA2gS(FT_2?53ZG z;f=;I2Ii`stGC7Iw*6+|Nd7o z7LXaX`8Fw{H?+YbhB0nklt33P19}y?rj9Mp*!R#7TDF#P&#s|iT`hU-J7WSrFxD~J10u7B|2e8Q69Y)rpw?+pv zsu^R2iSWA_mZ@|mH8F)P(AYD@0o3;UClJG4wG$fB7vgbs;+1gSIbW9^xBK2;3p6gj zIRIOhpa^5<@|O#$bOdSl_h8B2x5<=!r%hV>B1;BlC-G+J_YK)xEd^ zjpFk*(BkTb_oT3!)dvgT9Pzjs|Nk*|=YKK%@8ieGo+bOfhm>T?R&rUg@B6-Qp?%+* zR*7b&BuPj}LMlm;$`(RG5|S(>Ns=Ul@ALb)-oIS0x#o834|v?}=gd6k%sJ1qwUmRN zjgfO*3N*q_S-_!tN9o+_S)IOUL^DR_6d7cVOPWs%B?TIPhq}Qz@QWaYR=0j=q%%f$ zajkQMUV}92QlQbNyB&CY*1RXhm8JvG$YqR9wsL6oFP+Y$Dk;#|wAC4Q%3oa}M(}qH zG|CtwNo*5u?22%#OM!;NWgC!|JfJg>m)~ll;qgrIJKy|P1|?-D6NsUtK%>lj2fPa# zb(|Ekhl9`vVGJ`zIhcFg9axtFjZX!x@H%fuG%5N|&_N@HF&-Y3!;Gml5>hnZz!qp| z7rQ~zskeHPV)WdhXxwCs@#1`x{rlh_bt%x86=MqxjMeEJ@;ANVXuM#IhEHT*xP4-K zVkjxlaGqobLzX7cZ?Jb0T{J2fV@O+Zzro!3^f;>7K(;``w2dohoxa|OELC~?QE2$& zDUPfEzn{3WYN=OU3N+%*NMPg2iS#V;43#lxgfYgq7ly+-7kpu%9v<;AnT!|KtpY}1m0#?Xp`b(zCIdv7-Nr~c(&n)nT<*DY27%k zKqIo59eloRFqahP?iyfGz!+oI17L>N>AYJum5-FPMO~9gxG1jV! z`@HV{@*{=XDz-plRy{{p*&>7f&LtX?(C~Y%IIebHk%6A|t^i^gKuPy}|-RD_BqH!Sotg`w}MI(_h7KX|p=x3A7#86V8k#Nl! zChtn2drMJj)6uxk82V$yxx3IF<-|}@pkemGMx5c@LH{|2N@k+*mN8Z@mqWdVr|B$b z$75`P#*nAGK;=cd4rHmCOJ}1|!x+89aa5oA-{|jLNr6UMsU0|<(!EHGUQTn-kiJkH zS7GyIP_xg39uF!h&}iP+2HKYOwID`sqxoo@V2rEcSx9OtSI~V?B?TJAxen0y{ky)z z=(c1b8p(_iBF=f4Njjv~r9k8BVQYBd@Rtwba6rQ*1nCFbEKH+iv(6rawq1sWlpY{AO2su3x2 z9af_e#Teb&1;7iF3c6o%HIyyTXeRLl=c4b$#Q3vyEgGqeVYxK`CPnlsBSrZxwm@UI zhL~rVc=iM-;;q-Ck;53pQv={|(^oEaDbN^y${flPhyNvo_Qs89lrn~ncm_m!)ra)j zL8BtJKx6Ua?a<;w;!1tB1N8- z30I)u)yxsPr`gi06J~cd!=juqjB2Ief98ifF~*N&3p7IgEybC*tM5tivA+cxUau6# zRcM^JSHEYI3w0^bh}XA=m!8w;9>C;wR%nDWMqZ^9!VQxgh_NS_EztNq(FyX;+0pd~ z^Rz)DmN7=xm%;w|o@0q|-~?NsVRgp|R6qP2Pl|2k1F9KqI(; zGt6BQL$?h3Z+K#n$ryLXO2Ot{7bCJB52ku?1sa`GjzKm6F2X@GdN>8RJ(=aXo{dI-R*Q@9oPKXgC&G!oi|MI*XI+ zw;PMSuNB8t?q@lSyLOpwMMt;t;|esK&R9SzjR%*=dVICpgGB^m99$xW$>TfGdC@-I z_i_aqn`)iFCP&Yk7^cmnSR^q<_gylm9sHCYe<&%?xVhLK?wM|<|D2nvWoTqE#-$!| zXtrX4E?Fui1sYX*?4iktgpZ`Ceiwkod&YX4P6+_#^zYfE@SevOXx!Hl=W#50)8Dz?xKK1w7-Q*Q8JP9|NRK&{ z6lkoEaDpRhy7c>S(F{Z5F=O=TAcNb-F7_kq5&D2F&`{ql-j8#7D%~b->39T<62_P< z-udD(q>niL@gF8N+k03_7ea z@gs(k0*yoe+~CQqx%WuXbyhSQWsI?5MgSBoXnwOU1sWmu%wUmi-+!d29(@)KkGG27 zxn)EEOjtHPtu6%``EhozJGnjmbm#StK_i4QE{SU(GfvFgObjIj8kP}m;E|_Fx1v>T zV$q0U3=i@A5}$RK`VvD)fkwKK2~5%c&s*8s|BFN8CS#agmBIFP&xaF3Nr8rsh7BYP zJ8DdevI}UuU<~LXgVHfw=~Wi(`2vm1cnjEXG`R~g?ypWnqk=K6i{~>u`ure=6bUYD zfyVrs&hWna1U>)pcSjN$KJOIARiJ|m_8G3A$LC54G^{nOATCCI09mTaWyxrSF~*~b za_G2eDBTNJQvC0;`fLgt0z0Y`Lv>0D8u5%#eOL;4J^kpons|pT(3lZ!26t0jCle!e zSSlKK7$aLe489gPCUkcs({0oI0@bt%y3USQbN){mdEkR8{D|+JKmQXuM?% zRdHw{Z8fq~!xuk7;{;>;ohyYt7K7=PrDdt$VB&lYIBOR+2th~fyIjB%JrR?FUhZwlVV&d zTc8ml<{8c&-H}d;hmBvM5yco&QpCRKtkZW%@j03;(Acf+2G!N8={&=}Zv|+iGDfX9 zH{slTT_Q1R4!q_HG#=h{g{FO`{~<*}VIdYdjA3#}3M%6a=yBBFO>ejYjhG|{Fm(HS zn;4fLyv3rFF^q1C`Q05(^eDCaf_GejhMtWXOk9^j=NaOY-(w;9p!l8p-j>1E`p$Gu zzto_JE6^zI;stT_6D-Mk7@jJ|BA79T{t(YRtG1_mGD-?G9L`#U?KmTPY>*dJg2q|K zh#oAi7rhmDk}Oq&u^+htjYB70!PLY!gB16CO0l@k7#}snH4|<}=&yF=pif+ZhSq6o z_|-Ih4>9(2{)|N)W0ZCi?>D%msa2N(4dbgWaL1=l5h>0#`hrF|V>}bry$&CDiTiu*ZTcI!}p`& zxC#{SW6``S-CdUgjaQ!?;e4Y(^!k#=ZT_KggfVWPk%G&9qg}*klE@ZlEOat~s6p1@ zq;UCLZwlW3!5FKJrLg{IHr(FBWX z#@Km5TxU6SO#msfcd!K-2gW$TwJn+Xq=;SK42`{|isMQ$Ukaa-i|IVWpOQbPw_OcyZe%z}aDT0oxp^?QHe};*7R1Nt@_ji46vIQC^PS}Fo>_ocvswHoO#(Tzi zH(m}a7Y?G|d8atGK;!3SW7xFae=S*$mM-nk_{AAwTXM&7Kix0+cbF~E*m7C|XAN>j z5##Ol4rs_fDUPd~;y(KGa@*ykxbMdnXxMdggs#q&Wu%ZT>x4!mW7NwR_xv1)j3&h% zd$vI1y^aku>G^REDV(=-K_i7R&UF>f{_HoXe_aYR+SE#5d2RkQQv6!j4UNZ)@ouAd z-fPHPI|j~* zUTFMfj97aa3}`TRDKVaEvjrNhcH4l)J>7Gp*jv*Zji55can)5Kg~zLmR7qjgr4Lu2 zQGV3{CbaBOL5hYO`(hEz7{|?J;_bi-HAxZHSe+}-*sN{|vbWpl?8nA${jf-9jOtD@ zu=_k~5;2q%Xbd{%0{(+@#*^Ye;Q%yp8RJx(4CR73N#WEtzq}Dm2~DV<-tHS z$`~WSPrREvHh&^ns^JSXxdM&uE$yIoy#_s+s7Thr!sD~zcfKZF4$cR|hY_R2_(5EO zhMBGvEM8xE}?s5*W8Dqag#Aj#Wh7fLkD&uhLQq}vsKohd7Zed zh{%vaOwSEYbt%xuE_8=~{~EZH;@~P>G%6UwQXJQISU8F9mnbRFh#PASr}~HWAjY@p zqtNgvR~%OjU&&x##C^JFsdb+%(6~3<1G?0kPsi?okz>#ZV~p;zc+s^k1sWm0T;WyR4?1?!q!ZAn zVhlsEpV)LvD*abeQlQ}*;|OhzM`@6yI_NYB4ZkmnNn-(=wu}EZ$IrpTXt=7J{ zE(IE|p4x!^!fty>alL3d8uuAvws^*t)*&X znDccx8nuieT`z^mchl$|nUVsHP9vP4(ylW-Vu>$UiALa8#c>sLPP{*A$q_TMR7wgo zbcRYGqf<8hAAEUlH5yTju{t9FJg&{1LkuMa8V?S+L)?{D>qxOTX)PM5j4@%C6wY{F zr2BA63N%I=iu>-&_2?1ggOlsg$YG3TRZ{RdJ^mV5DkTLPrE@&sf!Qt>s-YK3XXvZ{ zumu{8#CEqqmr+m2QkiD%K;t@N%#D`8M#DYyf6(d^Tc8oO)EOFQj+{b_m3hW!U+pIR>3N)TCwTA0|yi17jZ@L*4<&2TDJ`g7MdEJy0Ken?48r@SpVD!|hON##6?6JsT zj6>p`le>O+M%1N1L)z31I=!An&kycj?1)A_WB7{eMSm|@M6a1pQlK$a)ecfrjJuJg za+&CiMkQl}sfqX3UMfCamjaDX!<@mSq30}8T+nev!?#LtT=jn}hbyCQ%pk?X$83Q{ z3-NBJj%&YcB1K`E1dSt%5qL`+e~giBtV@B$#?{ua_Cyt(-witJfkpyjgtV8z&Z<9j z7Dq{eM#O%5ux_-H?o%KB;DtseV@we5^nUtv?_9DTdcD250*!I=9pHqTQ9n|w8nz3I zLdKBFq~NuDH=R|JZe$BI)S6g>`ezxvj%({12a z^G5MxJrY&-pt1M6;<)-Iu2s9RyL}-kwo2IojrA5LVE1qU-ETkoV=o#Jj3E)v5ORHN zzm*vMocy^0jVmuLVRfJ`J=>SLO@>7hWBmWQSDP;1V~KIqmo3m3Rp|g<<^@eB#mmJ3 zXk;;lUVsczhDXjO#cLb3K;xQ$Jy^EP^d-fWiTlua&lpbCQkZaeN-8NLH?jp9nI`s7 zQ&A=%MV!HYG=4G06Y(r>Z`Ig5Qp|K?3pBiP>_F4=))P{k(L8{LyjpQw&5f1Awgy#` zNl~lE7HHg$bpgvmNp#C_Z_q(BA{pbfc&4m-!jZyQtmxEy*IjmM19c}DO zSC{T5UN{_$MlNG~nI?l4F%^r6VfdOY(D-I(1t*us(vcYP@+=xi2GKTMf0H_ab=v?3HcWi-1>(vqnQfqOX7^>$lq49z-(#3rf^x!QalKD6SD^8yy9XHm2&^Q9vswxk zK0g)5)k*PL<%SNYXByfsU<)+%8d!qyvMKZ*$K%pfG{P7oMQa}%ezYfEaDmCiMTi1Y;MyQ#3)>x&J}3nCtJeRUYqEC;-$COu(-n*S@Gh% z8QZeo5@YR@>s*1x$^kn;wd;agqNc;0K=4^?_)=7h2*Xw)#qQ*munx3T@`k#Kg8 z9IimaNz7%8>5xQ!AM&=jSV(^>j;r6|p3$uaG4IHl`)_6oG%5z!gLdQtO;Rkf$V1}< zV=O!%gP?W|=>JDqJX@ggaj!i%OVUf)kaWmwQ{aI%|EdtmA4V{rr5S00#FDc9x7NSwi7%HVwsBN@(C@FFh z*aD3>M|;@${Tu!NsI_^AMlEAp2$I6ivkMOrBjFBPpb@!9T&F+xFWr{pbSy?AuvT$g z^@tGXSQ@^kvx7NCY=K7DFTNO(i90L@`FZmJ~kJETCr;Yc)S|1sW&RTp{q^ zKl-axpY{ohRL01;?+go`gfhnH{!)M&mGn%*oKY%VfyUNJ_F!LHq)wJ9V`f7vVi}{|HYqf? zk?u?i?@+ctwheimfSYo4$L8cSDO zLRNv_BT`hRwM4`BpW?WB@KDTIULQyI6U*DQ;tDig3^a$9&j!%F@XkG2V{wErYPL%u zW&HzsHPt^ewm@U$Xbaf!<~IEe_P1(_Mgn7icqYf~&C?r@HFvzh7HIsKVFhcVXhbl^>rdi7uP2x3 z6)9Ic_T&mQo|rhoSUVT`>CUU{g+&r$=-7#O*KGbp=lVX5=*<;qxEVUbyr+}tXJxmc zFBVyhVX#RKue-IR$AfK;vjrN7!CtU?P$Rk(%{ku>jrWX^CXR8`4CCn8rN{OAa|IfM zmfAwUMr-Dg?_=0}4J>{!hWv{^oLePNBt>QbTcA-p-UB4dzSHgQ*BDJS&4Rl+A zYRtRASfnsUS|{;dvZLyBhDAw%#-A8hxIXS)J~8y)>7enLGuF%CMa{J#q%e3lge%Zk z_s$-!uNgt-6ZPK>!=i*SM!b>1o7dYe5kpCV#Snc_oQCxvWW>Z_ZIe#`i zg3O&W8jEPgI2bDaquvgoGuuz+jNuA2)-*PO^CvS8ko7Q48jD3bWB6x_?>v6t&bkz6 zBrUfFbI&H1Nnw+uk47$I+_IB`;ep}x>r$X`+TI>q_4`a9g=LZf8fASbKx(NvPscceF9gYvEsBFoTz?8k62o$PsAdG zF%FCQU56x~SDv+0pTretJh62HQ>`iVH`q#jG8Qq6al3~MBqvko9C9;tL#{yMl7qN^ zaBYhXWX+qYPr>3QV{~#6?@Rp_yqXlv)u(a=8a?$TU>K~~kra{s)3A8K7_-FnKCNHY zxYwmXW4WCJXhm(I{{~5y#LH0bUDbP40?s5M)HHn@Dh`Tfk z4IeMXaTQrD-Z9c|#4)lSN(wYW2ib!64fzsMY|@#FMi^rhi0##cr>%#Q;?X*`Kx0Op z1ryBTf5V%UX&DQM7?x| zA*&qrkx$oNbsZY_8RK4O8K^Fu=u?*h4ZkyP@UX`Ky0ndV= zZMK0c&@gId1IyoO(fQr1oQ+u2Fh*lL8ECH#)FQ^#j+?jwjcr>jL9>b5Hd4f1-;9OS zM{!)Gi)*~>zK77?VAwmhK;u(mZ`gga$30?bYi~v41Y_*(5CG>oFZU$H^lY|3Bk8IY zvW`ppnfO57!2Qsrkty zvQz`lumu{b4ICh1QRZDzTnaHpqnI($w#s4jmN8>VQP$0bE70h$%NdU34W=^_r@c+F zsAY`TYozeT#dR1lRyQ-_3N-p1b%!r6AJV<>OP1zX1nyECS7XHa^XRqr>9q!x-`N6< z@MIf!UKFx}ES1|jOEjVwW9v&P>?!OgtxJK1*FkUiIoymM8_b<;jYcYCd~6|}57%6+ z4Kb7yXsCWQgL_q;^n7jY7+W-Q7(*`R$fo%D(B~S2zG4eB28_3ap$292O!e;5_Gpwc zhKe};P;I6ChpdNBCR?CU+SVL&!Yd+4arBZS8WLZ{?|iVhMtJ@0W9D@!(AY557S^Z31>8d8AJXe5H`k7rbiP>3N+%4>|k)G4MoK07wC${S;jc=KnkN5^}JJ;0*#Va zR?w+d_ZKOSyGqcw&KTk1os;$#t8z)9qVCQWXk1!q4-IQaHztMiP7f^d7^76oC;rM% znM{hLa<)KYYt{~EZI$ClitDev&?sk&6?4U0_|=(ozvOy7Z>~VY_>2eaI9_B-jQ#h0 zu<+WgIIdPZN#X9M;i05B{FyD#=swF92ERE*k5cU~`=Sxb7#iPYVDccAejgiNumu`d z7ny;FemlCKn0ea|jabGo7uWSgzIh)<)P4d=->W#TG;{soSoyjUbt%wDI%^D$I|tg6qW8eF zXhbrGk+@fX!`XiH(^XQSaWBXnp59wPe^Hw|#GsMF7*EQ?Gs%ml(3uG(1sdOX=LT{xs!E|p+m>tC0*!0eY++Y}#k0to z_t#8DBb_nMi1#~d-O$YqS-YsK>b>Tjm=43kHv za0MD#1MK07?&GCoJ<8p#Vo}Bz_5}f;ZsXd86z%$@as?Wu``zHsQN8)3$WTki!b7U~ zoj?06g$gHs`j4ZeKx20YXUM-VqsJfh{#-*NgfSfUN}#*LbhqUiQ*G+r>qq@_~0sxpRdOSEU*;R-Yc?6!ufYf|VnUc)+NVo|{u zTR%zR(2cwF-+9P(wm{>{bVq3L>BLpC9_fbn(eRNej;k$g#l5eSR?ssIsljZ4M&=VA zn6Ggto)|s%WuXzq7;UZu!qCiTV@Q#Z!xm`lHSmJT1K!eOweV}%Xv8yykywwp*@x+# zen$I8T!BW{mtHVsLmvH)Du4YLi#v=lVW#-3a%@7#dieHv!WC#FG&6^=C|i2$Tyif5 zivq?NEACf&GH*mTVifgw$`xpA441&Zo}o`kk>BhY7FCQY`(a+KFlPiuZ{qJ)4GSRUISt`@rY=OqOL(5p&2( zPcNt<#-BvCKtuPqE!1pnOV0wd3wnh{B4acV=MDNlxQoY2ppnpA+@sj_YHL!YTUDS@%NWPR zdww>KGNk_oLvz^z4d)N;aPva*mc%%Gw-SxOK*e!Ywpj*lEsE*yqjQ6AT!F@b!8VZS z@zjhMoieJhh+>SR=>ec|Dkhy22Abcw0u96c)?iUs>_m!2J%3=4${4z0p5f1#W%T+I zJ!7^&qv1ST80zz%H`p(p_7ja9#%LklJz%}_B^|q;eAxnxDdr|nuc;6HKH7TyMx&H5 zwuw6s(-lxjiOv@ znCRJt9tm4$)tmNz*RTXLhR%K&OrLZvkQl9u*#eEIN(ofuc6~vLbCXoiILjE5;$%>w zGboc5L2QA>$b2_w*mD-0XJ{7C5RL1MvAACVTv@iZfEdl*u>~4S+{E$6j|Oy}dQ?nf zH1ZguskeAEgYwx?QGjAxrh=LPs=w_bZMopMK&U zZat>ZUzF+(wm_q*%mofy&e9}?`Nhs?9AS)qE5v(D`ZxPWil#r<0*xIeu5hCMExIjP zSk)Dc1jaBdkiv!;n<|N+q(GxzO9v?1-zuLJ`_j9kk;xc4#JQpzLtDBP-S>tq(CFFI z7UFvJq37r?pX-T6A!F>(7Wc#zd`=)s6`jQvXmtAP1pgL{r~3>YQhK9N%@}IpzSO24 zhtkomq(CDvO9J0wFn7YOdRKCe}kz$cv ze>5T(qqdtIHhSF7sY`*zr`H~^Q|sq?QkZFIppnEFCAxChG3H`OT?#Zt4DyCuYK2;) zuxPJ|MiyhVNRfkK2fboalpkOVH2yvIfST`%%E8-UKL#g%KL@ryC09+5#$!(xB3RGAioxdM%$KOCVjaO`eUJlr+}3;6-XakXoY z6vhAY@ubil`|>U zZW@6`3S%U{ltIPFv@vxl(6BXkhu}xwn~-Ai{E=upW{fjpPXCtM+Ld)F(AW}h3m@(^ zrbk6H4Mw9;!WbVGNnz}&!E{eXNr8s8x4oDVPN3I|cF`J(#$U$B66YZIU%UF9tcQ{U z4f}?6pt^GZ8&d4ws*grch~l`)9V)i%CCV z8WWQpL03m_IVplvrefi7Q1LrIH%|&WueJx&r9eaNnJc7CC?8LX4i(eT2w{w^;<~=o z-rv0HQlRmqlLS8M%#J5T&6OEw#4yJ5Us5QY*<}DJzUQ;W|JLKyc1U?;e1Q}*b7!G( zlQBHD%D^)?!ip4cI?d(^G)Cy!L;KkqKawKq@f<8(FotTecs|3fTdJgZ*O3qe7{fzc!_uXq7oF=HRc}65ps_*K91LGxJ3)-vi@5>~AAeWqcWg5K zcOGoJ1dDjasJSnmEpnwT{hiSTxTPlCRb4LzXJ7co`OV7$aCb51?qhe+4P7 zHd)RUX!Hwmh3fWi>Go>$_Z3(aFh*L5KNwH?O83Z=6llEv;UeDKxAGoYD!sR>(5PaJ z3}L*GJ)&Fc$}Ow80u4zQCzyLS#L|)asq@PnPQP!nIt1#+QrR zp~_(D%a0hFH>~FhG)6tKh3PZrM3TZ`?nW#U86({&0JLlh zsG+1lLsIO$zZHwO zjA0<&2f0JvGLsYC`M#@GSkoL6n$y1Eo- zL=NzPgop9ZNU_n~6pduYSl&^5R$r{>ovcaF^^oZWn)Etd$#yAir1?$Bt z=oKkS3N(sVSi`VatM$oxj9O)hMloYpEt5gZ7MJOHP9+5z&i$<6;?D8yiE(PWH5#>y z@$a_`8d%lRk@)!@TcEM+y%}74J>V!Y{72fN5qMZ}T$yc=!Bt&(Eh#!)W(zb%1>1qj zlNvQrr1iB&BZ@ITh`r(avrf`k&X*Z%fkxZ)t`J;O_?Q@~365x_GR9*QIZRJj`lK!e z8p{^j!i6(CRY_4E?u^dF}i$j}I7j8Az|(ElDv=lYghXA3mCcd`Jr*b6RXsV)u* zKqHnhj)`}&E?MA9_u&SeXA3m6qJ5yzuXneI@#4@vG%^^Y@}?ASy$Q-CMOq45py6&R zft@M_aiplXdp{cajG8H6bie)6X|_OP;SDR;>+|q5F>VJRK%VUN}>3sN|~W(zdNb+L!2+4ZlIVpicXGzuA`zqqgH=iF?^x)f-H zpL2jmcPeT~(fGk}G^!cnq`SC}zUzO^O<38V;0iR_rdhy>o-yb^CSE6^BIVF%Z$#<`N>Rm>?YA{fK^y+4$^zD>7q%@;*+1sc(EQ~1$E zPPcH~dPQTA#25?3yBcrB`O&@CW)s)~4WnDmuy*wNgJeB+`<_7~i!ox`OF?f_A6nee zKFbwobaU{4v~hmjiLtF~3>NPhNULrct; zjOqW9?k6fK(757f2`cSW>342k6^DjALUCL*5%hszAeQtb|j=L$5MZFh$sKho*U z#LvPDSVS_0rMn!KC30MjB8(-!MGzvyLf>m;DYqI9etCF!OVGKKQ z53f(faC*L0Nr8qm#vC%(l9VPB_ZlICQ7=Bvf9qTqe3(0yYDbPrb@dUZP)h1HB)Vqa7E@RkPiTA`6m(k-7 zB?TIL9y&vVj?d{{Mx@4VG|Cub!8s{p#;&v>OSR)ZTcB~Rn+v?Fy}XAM%R}y>;c-Io zJ3qQd4h^~oIFMrIWwt-IfBBZe_zY{at@VjGXEOM%9YJ#Nq<;}bm|d?k5^#!bfX=^(CkZn)qFF_aW& z^t@*UzdpR`ND4EPM`*lYjGl@9@UN(tE|ro34V6%9$S;^i_xe0nK0%{`F?1G*bHY!~ z1d*juQlPQnp$&8`GNixS9@Czp;d4@PTqo3}bThGymXN>FOI+@a-KQdw{DbUEB?gV=2 zQ}Rg>82=KDJB(o<_OFI^XmOhq{YT|<1sWb79AJKC-vOj(U|4`f0b{Hb@A}mp?m?er zp`<_~_?|ta8K#{lhTX72G^!Zmh`8Ut?S3r1|3gWE##Hf6iwSC*={!Sd&$np!MJkS~ z-x^|D^6k)bvQ$b6G)9VRqYm^?p|b||E#9LM&KQ|b<*;;pDBZKXBV!9RVxz2J=wRnn zWT}FG7NL>I7`?8DcNQONyPp)(judkR8jD+7!G`{g=tx}j;R6=;8N(~zA9}jprq?0+ z?J403G(2j=eUP_gL&#Dk=X}KCEn}=bFNLG6-qUZepF=5EpixiV7q%Q%Uqg%~Q_8TY zVT?5o{o&Wchu2B5a4TD&5xK%1CbjQE_w>sam7^g&r8ur8i1$=ib=sUljK0s<0*y+2 zEAVaHlivT4GNA&E6O3Uf?irnUuxT|h#@=KLH2jmT;i=6TI$NuzQ;9}0WAqWv9C(?N zkVg#t$83Q{&lYyjWqeK%DV}w$LL-|o>|*`l`W-J9QfxoM7HDWUc81Op5Bf}wW=*Tn zC}xZey~Ta0dgJK7+SEO4fkujjE$q7}p+) zd7oXa=-z9=?0VDx?=A>hpy4pp3T_=4HJ&Wh{{8i_C}oUK1^(cdZ!nJ(=fH$Fu7wTy@N+dfyS#ME6|S*K17W7pPHkQ#~2af`JyKiUeo)}-x{>w3N(TTdqZE- zj1k0Gaqr9dNXvIR71y{IoK zE`IEcMm}R`t?&o8X;0`JK!Sc3u0Z2#6EDzByJANSgMrH`#<(j|khl6v_u+E(u>~5EW#+J6T!qLIlM5!?J>{kMNkq z3pC#9TEo|!ZuH;z%t{S3su`m}j1+Q*7#orGIOxO{Xe7JaL4D1y!$^^5q>0Afvx?(N z@>iToP57f*mjaEXa~5E{xsM(xZs-m|BZ4u;iDxG?p0@NYDb6in3pBL+ZQ=8)U6rIz zGaQUY5@V!@{oT%LeLvNuKqIxiCwN-y+enJG!-k-d#TXyGWstY6ML$wpdde36TaUe- z@FlCIDk)wb8-~Vv#yE0D2G6pFd?v-i>uiCB^A;zNyPP^niYc)p(D=m|!%j(I*{*JM zPew_BMnRwzr21toBgV|bBhiqbQyf>$Vvekz*|uJ!xYc_USD;aoZVnx$cWzG#W53Z@ zL^8&onNm1Dd)yRKoN76SE6`}#*a^n|?oMY|)a}M%k-`|a#XEAJhSjI%2lsW;;|eq+ zVRrCz|G-ORsm5&9$Ko+#IE0C30_x15-?_;Lwm@U!M^CWpaXFS4MNP(|QNkGZ6U6l; zyFZxJr9dORy$P7=T%SgYoco>R1?2#Qf0 zSAQ>wXF%M#MUT~#6lkoiFoDRcpFN0?mpU1ZXvU~tBkmL4*z|Z^3N%t@x`V~@+7+Zw zc`*fzbjH{w-XZ;`)fRdM#DQ*8xdM%7F@N>0T}2!*s&7rhB9}3;>WgEw9b@ShPTpiX zSD?{tv^!Ki@}x%-3og#UqKq-xiRZlr_WVm{qdrx$1sZ$W+QF^oHFQtL_3XD?X~ zB?TG>dON`SkfnV|QL4KLjTelO+*Arq3%e$hLO+Qu(D>2P1%Bmzze0+SeU_k6!5DtK zWMK38`gT$*&tQxHeIM)1!Tn7MJ)`)k)iN}EVim{L_%UMN$9DtWPwa4kEzlS{-VVx5 zf1D;ubt_~A8exo~mm!5wX^XDYqLeMr_RcORB#^^3GaQ!?ujTA2) zu>~3(XF0&lF%#*YzP|GsH104)zb{fqyFKj!F`isy3p8%tw*mM3#g|F3`QSP<3K*mH zC>aDtcBIGWe_yc0|JI|CGn^m2j?OcD&)9%Q6=M|L_J{9n6XuYms_MLvE70gQ!XEle zHKO|^)sCC7@QYI%S8-RRV5}WXe;?oOvjrN)Ry)8ve&kZRRApPy2xp8P8^pb@!`@Rv zso@A z&lqZt{ULe0xf?OsYV70+GC9iVRk_ z??q?4*3MxIG&}}6L;G=(3bG!3np&Z8f-#0}62Fh#CG>ZGc?MgcF=v7YbnoAcjzmdA z8#Iy`qcYDQ0=HlKO_u7yNVY&DOT44XyqlU1DcTITLnE6pY{b2mVMd1wNYUDhEztPW z$PHfWbO|CwBXb8diW%eMEAiaH1rj<>eK?LS&0E|Nyb~I=j8Xh05Y`Tk zq}!{2Z)}0a@sr~DB~SN$AnOr!)CG;e3yS0FZK~K$9FtDBqUB%M0*&QUJ-{Ha13fc3 zH`EP{D8^_WFaAHI=Z2D{Dt^fpXzaUW20rnh#*)JDlsg)!jB#y>49*>{y-5noJhnjN z_clw|-g`dXr`F%+iAD}%{1)#M9^!1LO^io5Y=MUJq@7?Hw^yGOn^b(zC}oW3X5w8C zY0u~$z}5k5frfm83p{(UYB(`mNBW{6Nl^UG!_J87mfE~qMT#zVY=OqR09zQhWES0C zom}XLMlfTHY$2}q2`Hr7tBFBufyS}LcJQWI{rhC88Xnt=##zP~B+gAdES>91im8EU*bgqnt6ii0ez{+^Z}i#>YgqKqLFHBOD$X(4Q3N zEP~MRx~Mp=I*ECPG~J2x%9?2x*aD4;P#-8vX-9xpB?#fVoSSi~~M$rLHXrFW!Dr90#xSD>-b!V{)?5B*0BO_M`dWH5%8 zIPYw`&xqcIt(nFaX!zYUgC1x04JJm9Gl$X0XN*lwa#(LA3n#_=e6~PCeVH{xSvid( zMTY}N(WqpMo#H*bgT`ieBE_^jY=K5WyaV)EJ299PEj^E+;hU&9u8M}qA?xlZwj*dd+?c*$fZ-2>RJeu68|SX$-?p_7|S$$I?!dlHKT z#`q=1m7U66x`(`PLL^t9;djy;+L-lkLJU9cC@eA=W2|_O$@$5i>qxQ3l`YUX^~4?e zzt)hDqT9-7GzuBxXuLo4T6Bl*$y_|d7HCvBo598oD&2@N#qKN`)r`?s+>2bic0~_T zOuWk$XbipQ0LHr-oh3z++!!?WUQ!%af5bWZJN1szV;sFE=eYt6&3$IDVdRXN#27Xu z4vPrJSWxZ{wnNU_kwWJHTc8oNQv#iB+qNRbHOmWVBr%4Ecz$AO@BUXwu`Gct(1>yI z5O1jX`G^#~%r2sl#TZ*9{&3tuKZ_Le!r20iPMbX-{6So2QnX)n361xRQQSrjYNj`O zk>Xq!Tc9CxGKQ5SI=v)C%W0R<_{A6l#PfIK+kbmcib!9!Kx0XTH7x4Wb3G~QdtX6A zo}@UgK9@+LeA5)Vg$v7I3p9oYIzn;OJbHHNm-$sRA{j%nLp&4EV9FM(4bT9y7+bu2Oiv zPKO@R&zg6gE6^y=6Yr=xb&!5m`C2!zC}E6!o1}2_YcDghRQb+qfrir-J5bjjO=qLd z56D2{FJmN#`|bv0`O*KV{?TlKMsTznRJXbRhAh>xsyk=|T~-`dznTWXwhYSzQhXVC zmn+aHDszJ|4M)&l?Gep;SVS|%pE>?e`e+?Jnur_57HFJ2=?N0|R!L;3rg=UWsJN~aZlXC@=>Jdnambw_}{XHQ%g@B zCB@scM`)BW#-%ahd3`Hd>>@>z$83Ry@f8nPKDiwoS0}5Vpy83M_?>I``@@|x5z~p$ zVPFndppld11F1(#qDkTK;VBj&jNw}-g|;;k`m1fHnadSuBu7bL>!gnjiDB{N85S{& z;qufU!fiUybM&em^0)$xYvTDOyGCWxy^Kc>pJQ>8F>(h>;hI}5y>h^)%?qwTBg@bZ zHi!M^X^0#Dyu{)KW6Tiu#4U6_??cx7=lFcCKx5@ONBA*5M~4*4{0p$CV2nBY#ry6C zhs2O#@oTm~!!OYe9PgcNL5i+rg=qL(Q5;vpD#UYGZ1m5QqQm$%T!F?9@f@#Hj~|+l z!esqBEW#M$skpwqHfP{uQgl1R7HF)^vxSu5*1DwdNGU=io-rnF6wk|Wt!zVzC4blg zjXQ&UpukXr&erC2EJ5QAWBd}&nNUlgPWMHh&SwiW=C`*7yYg&W*iSD-qku8WP5j}| zyRtE4J(^gu1scKPIbO$t3}`WMP8k|ij4|-D3<@5`(Y?M8Qno-tp5X|RFZB+PrK)x* zN5d~gaa_eOkwJjzCA#%_ew!`O$Qt1W)9#kOAV$*j3N*qQBS>7!Y2JB&Cn-+-Vhc3h zZW708H<~UbMb+0zG!hwOh`46^;4W)A1G!S=8&{yAo3;b2x@~z)jEceEvAE9|{wKw= zMFNh}ZTn(-wm`#il_|7*vuztOcAEb{<1J%&`iOVrKG&o(cN!1a0u41gM{t}p=Nd8Q zr~X8vhA|4ooPP7h;dFj?a_e7QfyUhq4q#Jgzn2)>`_y6~y{b5_Wa4-*>gVC!r1-s& zEzo##*9ZnXB<&pH2NTc z#t&}L^XFc}8=+Cm7(+E>aP7|+dbF*iKx4&N8#r&&`5;;IMsu2=QOg*muf&{X@r4_t zI3i^WG?uxDcQ1!5rNtP(W@rSaDvqn_8DcJDkOMtOuXBbi(D<|64pO#$JVTZ$$gVjW zQH&A(P6p?7vgvV@e+XNk5!%=RBxBaO5M%nA7HFh0#)rw``u1Tf=|7H%cT287qsta6 zc&ojh&dGGlYK27(W4zrO0BNV2(*N23OEs=QBRbv*Zq1!WXS}wLZ-YfCV+rsIl%dw7m^Zr}SD@iK%o3g#O6jq4 z|IQt-2xg4-M&cagh)VkDs*Pm}G=A;&gaI}E?~$cyJ)jdBXBnf{L@D^a)u3lzl@w_F z*k%vs_T*|4<3ZalXk2HEh2nkNYJU>w{;rY&4eOOQP&BEem>5m#bweYMF;*WH$7(qT z&XHoOCtIMQ*TNhwEowve^xJ*zjz&3Sn7omK_aey}VuYIa;0iPv`n$tsM{W9@FC5eh z3$Jv=arH^O3p=m0CYBfltJwk#pZ?-JPU&_7Qheyr2aQn1SoO~zvW?r)--r7uwm{=W zo&(Ie8cg>YUN=%lBbG62mdl_+2bD%-sqCh)#s3Vs1$35L%_W8Di2i6~Fvdu!I96MJ zydEi<*{}r~fkC#g`J6`sQiROcKqH?qO2lWiaiA|fDhfN!7HD*wZ3)qdTj_7`w23Af zm5hSS1%=UxTP|m?!%4!%ob=A zrkI0^XA3mO zowkHF52NWk+)ckRXzabNIIdE~dFQ;%ALzW#jeNF1WBx8GWz5Z+(5PKtmEE?zL;}y zkoDN_0%&A0#*x4NuxM9vFH%@MVhc2+-NiNAUK8lHJ?p_lG~P3Ymbj0l;*tGiEPgRYso1vfO$wp^A4&=|R)?6vF6vtJ{ zZ1Fq4(S?p(B?TIl$2=j-H02{P`uv=RMkHfwX)J{&>qbaOp=vyxE6^~Kis#8JtD@gv z>lHJxNMVda3&mW9%B*-|c=)je8orG!p~4^~pA;!8W~1?#F=oy5hv#=b_aH^m8MZ*9 z1viB_Qy|*OioRTC7Nl21Pk|aq&ks?WwkR-`!YWP0CpZn{V z`}^F_<=bo((kavc`ojFHje7>H}GeIn}t&)EWvq&wCy z?&KP}f7PkYdNh(5<6vhABp=paO^mr4*aD4zAFSZVf;YQK;kR%j8o7*N{6!2~E!H0( zMMo{RK;v+NE`*=(yg-VL^EabW&KQG)?T6pm5%hRaMuCQ$o;@rX{44w`~pqc7cZjvl`cjeN#vFFc>x?B7&+#(mojwm`#Wfi;|N{Bwyc)z<+B(D=z1 zDy@ZQ*4$aMlN9@c*#eDSi;N-v#oG!}OzfbChDVz8xH?rRytfZ}&^?(Qk!*p+;cu2O zPe0-qF_dc#q7lRx<@3B@^T%sBqzF8%&lPA?&a#DDs;fdsVd`m!MGRxKzjq8WJpQOQ zr$D1!rEt%vx`Hk#ep(o#@t85xUkmq!KP#u7?)W;kK;uD?IjEV{pCQKS5>qq^8DsVd zF`O+Quz?f-ZOypizwbkMU#ens5d8-4SDIr{$r%4Wc*CJ<@91w(MuEn^k$Q0OqdA>t za6Dp#hSwwMag`n|tcT5EU$P!D3N)PU9pUWD`C~}oV`YOzFk_s4B8Gz_)OwI&*#KLv zKtrLI6%07li*9Srx3|Y4jxkQziD7|Oz#3x6D9{*r$O(M!j->lO@^+4BJY|dl5;0WX zvY~sgm8aPP4JR*KxKO%p8(Au)BhF}iWQ?!fe4wgSr(<&pG&Y(#L#=x1R#IqKx}s6b z7%{^AgV*1^Uqp(x{oJ?$jkcz)@bHp%EGY^~+_8{6mL6CAh50L|z6<0@k=FJQSD>*r zLm&EXvGXFuhAIy%LK(y3j|8?p8cXNlWE5!F477&N2JZBjbHPVXG!hsi>8)TW9`Pni zC8I!Nf1M@7Z(K>YA8oU|(8ywpSC+?M)9%VhV#p}ac%5tm;RnCdy(PUA5gH|oQ6=05 zIXF3ZIWc4uXsFnl!@tvNPNaywE{uG2Qo(QJ^tO*%F@IjD1dw`$0Zv z_&$*yS3M?6;OU$d^!U7xFVN`yKo>lU({qW@)5{l)Fvi$8NDRjp|Meh+^;Nb&qy1xB zSQ&0@ObRt?KQxjUW9n})9MBo+N{ZV9PH+VpTW(uHbZdD-Qq0}!k3|k+R0{8j8$Yi9 zd{Q`C)f1PfH05yuLT3IRzT}dFuq_sJNhCgE@-WS6s<2w2q4DHPpX!I4XFY%2? zRw9P|;&W(3FoxV85ma9?{6z|<{cM3o@o!`JJ*SDzGgz)Wk46e(Tu3?wYoBzY-?@we z4V@-y2=VbBM3yRc-UT%B7-OmMjFgr8=g_?j83h`DD%@bQ&+SdbNKw6rMg?Q|)C&8% zQ=Eo1r$8e_$qHOEI*%g7@d207aL#;i;jo*yXDBN$bc;=1(V#p}asJFF*{3`)-NzrlD4KzHTN{_3~XCGH_T@rTQy>2aO`e7`aUXqU=kaq&Rz+Ezl@bvw#m_*XV3*i(iRoR5Qkv+dgoxx3V@d z=9%B+3N+$e&EV3S9QyBbVdp(8M9-wh)ly3dY?5EUju>ZM*#eF4(N+ccSiTo z2w{va=S6V*j4D0TaPALVprP=>1jbgqeM6S2w&(#G@r<$8LwM(8WO)!NezZvC3N$hk z&0)&Uv@}x8{_zltOvZ2%-er17QcBNen46|?1sa}z9pOoC6y4MBU+@TvV#aWE6@#Cd zqZwH$83h_IIvfJkR?F!BZu#RUX#8c2yK5vcp$OU%qq9LeSD=wS${cFaBBzq#)6EPl zd@`lS)!oBlxN|yvEGgD*ddd}OIQ27tM58exQj~@~!{QQSc`MOqC+RM1sX@jJHvEay`IDvKl}w6FBqfqYzaI| zEwv;?m&a`J-+Bx&ghx9?3Z#&`nS(|tV~iG_16ewAL}PObG)x){pj*|=Hl$b_l8Z(Y zXN;9V(fY)y<`if=DX@g!CFxyBvG80T8h+2E$JM?YV$d1Xw2Kr&?z06NP0dU=JzQE-6BzoH3NrC1B99 zn*K9<$zTgKZq!+T(nBLZVw{=s5e?TY>F>Oo@J!hajk`^nQ=s9#%mLIk1kka&c33eQ z0gTacwFHihcct^~PcE_r8jp5Zfntl#bT(>e*Ag@$8Kc`cACO!4=`>jn9bdLUBd693 z3W7c?Bt@r&FKDDPM$LQ)cxoSQR)L1xQ+r7I^WXyc4&3N%hUbBCd8-qJmp zhSFbX#4v`OFh>@+Yasos{Ko#~3N%`1TfpBRTj^Yex!)fw9y3Oyn(&_L@6!^6Rg}B&3Nd69XgmwF1gnv2>0F;pZW}a08ROMGF*ugj z&?8701sa+0R?utEjSgg~bRV=sBY`o>t%P@gKK(=Q5_+|`Jy)PHW3@hP(0P_bj9F0~ zu*hNzyEh_mZk2F}6jqZuas?V<;knLcCoSYiG5t&@EJ_&T&NVTdKWIp2CLRpw%oS*8 zO|^s_R`=+)EE*VNm@p4FEl9B(6tT!*jBG6le0j8(p252E zi7n7*S7i$0W`x!dqpeCGG|Cv`;!QDp+q<1!Yq0q`TcGiJf+f_imZM`gqfb9HoL@~?z zKnl0t1JQ_JjG_SHc`_4L9&Jv6#*+#=;S2t?gcM8P4@M(}F@_5J)UQ3X={%hCt|453 z#-`Rbpw_{M{)_f~IuwgM#%TH38-k36XOgA5VLXg0(8x+L0|m<-ZlpMTdpH&qjPX#; z8~jFhq-U2dZymuEXzX*egsvhNI+ro*(nu`abEU_XZnkhAq-jAHvQ(Fsjp7P4CKu>I zutzPODUv9T#v+h0ZY7GKcleqdVmM4=3p5t?HG`95rd%e)Ir*_@L@|bfi3Iw%@7zWT z$q2SULnqi0il!;h*};83mC;CJ35Wl5&umMjo*y1LWEn5j>W_}E$>oIjISD;ZaTp!#_6f=g3 z@LU7u^{MoVUl|1&3Q@v*qG6&rS*k^08fg4wj87LB{uWW&a%`0=bx50cF zG3+lcMZ@Qf^tjR#-cvnz%lzrhDbTq0*$5haX4B)^p1#Y`xWpLuJNQ6OLma&>Lq>r{ z@<1~fo{=?~ER~^?78;3+F<_-|&4g{eXLAZPjDML!{fTAtXhKeZB^oanqfp%kjOC|f z5JN_R#;~q7pnh^CJ+C%n<7zZY8AJ1x2nw{542dD5K;vUSM=)=Hi_R1!FItO66JtyZ z6Q1|_Ag~iP%Gd%8kG4i|e1*ktQvA!+M#C>(dR$EwjtyoTZl_Bnqd+6S-Uu=czR)v2 zty9;d5zZLPJBXq2$0)jul2M=$UtkQ$$~#14J+i$wqLIuP3c~TAUfhT6q)3Zm3p7sr zas`u3s`Q`wx&3A|av9^7a6D+DcIFx}3eT_w8XGKJ;MBeg^n6s1?p8F)8DqI{AItNU z;dH4Ed9ei=J8KTYhK2VO$Wl4$Y)8ZOt@L-^I6?yQp+_o7VQR$|Xp9|c2`gfkY#~M7 zy&Y%-Fox=S3A}GvPWLi?@7~E3XcRAT21mniy7ziMViy*XjIqH&3?VbR(7o4*t9Nq+ z8uo5R@NM0q{$xGc58R7IDr5Zi5$+$nA4ZLeIc$N(qFPH>J@gJequ5b-KN|UrAwNkB zefu1t^VBj5G%T8|U}pbPx=;PMw=Nn#8RPj!3Dm!=qW`-x3N%Iw?_O5h)wzs(R-;-U zM8l&%dR)yE?irnV8>8`dzBPDX*o8$(-2Kk7^8eR?=sqY=y) zO~Nys*4~@&mVATzWX?G)}mpZO5VUWZ~Y7Z#6&ZY*d8W5j3(G<6D#uC=}Jw zy*?QQ8kdE4RZH8Gx#n>h~r*GQI8x7z0(&K8jx3E3e8%K`^4RzQ84Fhv)P+6i) zM~TnwV`zjihL7<6s1;pWwIrWzZY*1%@qL{Ud~NDZ=MzOQj-!#p7@m<5=MdI+&X!tV*n0SNjrUZI5RlmnCdJXRU@Y<& zV_Xjjw6U(D`=XBw&T|DCle_9d>*W(1h_UK*2o@ELaqfk`vVb;|e ztUr{~voh;bL$PrGAU&?)^@MZu)4I|<02u`u4I_=<--q`lWIftOUqU00F}{?Dp#S=F zIn621NSq_wOLl0%Oj7hb8-_*{V;ohGz^m^WbiYJKfyVp{C*cWy`{|tiC9iNa(ir29 zpAST9hS6=5i~^0No<<2rk2I?YGzu7FOM7qV>8MHP6J-==w9a;dcWwF{B8J7D zNHl&khV~o@DBV2iM2d=b*SP|Xx^ipiz5RA7DfX<6!ou^T^tkdBu04NoW#Ptv+6LY1)C<5B1kzFjabIW6zIVW|9@<`ifcuQZ02!)Dwi#Y+DKG^!cHG*JwbkC-905S?R;vQK+@%JrrTlXEW6t9N7+ zXiU{Mgh|Wx)2%_;;tVt{F^0=Sk#G}B2we{u1sXTJt)c300Nrw$OnQb!B4eb_7oJ&j zUu64fQOwTlQN?;2#!rNHFd9CDNvL2b{FVSdXj2kN6(8;RR7gFqtV+%Bv z3D4^@aNd(f3bW&{(D3^#J+403h+%rmKc|~hpz-IS9;|HFMCX>?IlV?BoH2@oc?QLK z?dY`zG72)Y#zBE(sahMnK_i(lQiXZZ6<@+XH>W`3#CId`45^49#ixyL(a2>C z*HIFfxb`Id7nM<<(Jk0mD01kh`)BbxG|Cx6N4P%maoY!U-$zD)hDo^*xg8jKa_lXaq2ZXpavpj_GoT7%~bpX1uqC z8A-1@lS1726B?0>A*Upq|5#E-ual8cpwZ!_5!m-p+Dwd(4aI1rGDhP!VV?T4C%r1n zZ0={SK;uF$Qz-Ep;6jWQhF`GAXN(qKMX>&YTw79X_GSw-zV)+%J@Xss42#j0uW0;a zjLIEiu(_c)jTm|kY=K73Hyg;G6EKhz-Isnt!{dwexLR{WIR6pcy#p!a_1FT9*^R>e z20x-#l0tF)cQk?+!*Y;ty-&}Z%FQXzxVzXCUbMebO^TKaf1nY=7^Vj$kQ6cEXmbiQ z4vjX0N$*POHY#uYFEk!AMt9-axZpp7ejhRlG)z?-V8w?o^cbgj;2$&!8DmI^@cs`a zPZP2pG72;lH`_qffSY|u(XnF{8kLN3dxUWQylWJlXOK~#5s+mG^G|Eh-$!9hH5y)} z(&K8weQ(&Hd?SM_m5c(7ulrq~gXR*t=10nE(FkUYZNh!@B~P-lh|wsi;|er_oP=jI zMl7Yj!EC#FEaDi$XssCJI(pG_!ZHdpZgg=6@3TYc|L#!TMl_x>#^STy&}G!h7GynS z6le@iwS`M2g-=M4qWuqzkBsqD*cVOhpH26#WE5x^54D5KR=eo98oQvy^8dTXq?R#4 z_KCrG(P9U(RI9$Q1sZ3?)=*t@Op_GuIr3;ozDkd)Ga3>|)7WyRIRzSzd)b4XUMc-P z2H$UuMkr%A%oLt2lJttsp35lEXm!dFd>@^pOQjjv7L5ePNZTvCTlTgZ9lLwhwBrgi z`rfmGuXjQ|ku|r54p?L{hT}Zpe|L~OJ;N)bKqKwCBOH3z|12?DsdPf4gfXtS{MM ze9NTA)r47M_`JGRB{5_aXh0v~KH&{&??^G-syiBCjB#&^80tG;JVlDZ0c?TBzV1#C zS5QsQhHu!@6OAOs*dQE7^-5h}N{ls!*aD5};nvVKWJeS!)~;4WBZo0M4f26`RT-B^ zvA~oq(D*&T1a8F`3?;?c?S0TFV~o5(-T*0@bWdMKfkvli*08QNZ$B|6YW73J`J422 zJ}y!WS3LhkHm5+tyvzgw{%R~Ih3Sj|X!tXRzc632y3zV}a|$%}T{nhBWA2V8#o$qc z(1>7+3121PFK;}cIRzTwlk~yt+%mcsuF+!%8Yzrnv{wvgF0`V1WX}FTjBj5*1K<#LdS_M(CFXR5ZcUb3MEBL{n2OyGKQyc zeY^4#eR`#=i~^0_q4u!z{1!UyV4Jo=$QbnVHF?!q8C$VK_iwiGQNr6 zLGaZz#K<@}l`GKrwA=vt8g~sM#pR9Du}Ei(_YK0_Qk${#(+#s_3p9d-`Q6uN>gYei zy2UfmC}IrNi(;r!JVy7gcJF5kG-3^`VdaEqHL@OxQM1sfW{eK)C7@<-{01rhteedh zXl$Bm3v&YR(AlVvd2_K4RY;GkcAI@*T;lbQ#E?;-p)$h^rpYVPeTD{Abu>a4W9DHA z7!5M}MhqDR8tsD|Ap2b*ozrhqKM##~#uz9(%R&*<>1eO%Kc6em*t^vNM7mSxHfmw% z0xU8aW2W$agQ?v=(Cy&V_6xZJjZuE4ur0-pUSINS^&%{a86#PEkNfCz&&A}k8eGj5 zXmtK9JX7{m1>Jl7Hdh0Uzl>qxD1j=S?!LtMRm>J>OpGvrFPm!VQngcEiiXb*>2cLt z%Nt%@tq&o_f){Lo#*A;~(A6~5nG_T5El1-LV+=YdyyLLzHagm66lmOYFa+l`1Nw{V z7@>tmB4g}K6GO~WcMY;sG72=FUa^2#Gg}&w!ohka8ZQ__&RBTXq`?*X8#Fz|7HG7z zae`;hr_pN-*6&@7Mk!-lTj~v4%I$lTrJC=-7HFjYI|vh8`qKT~qifcp(Zm=-uSp=b z&gl*@yv*1FjSM{}u%4&!loZE68x6mo(&H-kj5nA#nC6ngX$M=Nak$!e84TF(_|{AyYaSjaVczM(z|b%r&b`B86loTcEM| zyE{x=8cokAzHYM_jadfyUNtcHq!z75(4cXS@ZCa>kf{Spw-p zdaNMpajfT7u0Ugg+#wj@2FFODx^){CuD_(eb5})gNLDzmNQ&qd+qnV_wOnU7Fr;Y@ zDU6=&z#@P#dJFed=lnW-juaaz*a8ieRrZj)G5szne!bm=MkHhO6rPcylG3TTIRzS4 zVkcY_=C$j5uoNM#H~;k}m5pEanl*kCVLps_#M6%H@Rr=L~T&3#zpGe*bH60jTf zfX+a6-L#)8(CD?o6oP)Fwj}Ej9&!MSpNwJqSUCPr&85e+iW<6Hfkvxs?x1l*e=ISI zx*x>C1JTrQ@)H8d-V*lh+&L(!h2=PcWR9wg>x4pu0UhW4NGuUdRRjW)%C_$JZ6mQ z77|#!u6zb5O6%DIjTeeWa7tXecA}Km{aX{lKV@wj}8II)kJWq-`RklDQ+QtgnDS6PDqFw`> z(D=w0wta->(0l$oO$-?Y8n5E*pjf_~ZqFOqxu8+Y7;}X8k~LL!p))Kp3N+5t8G*=X zT^F)cX4S4}NGher)!IM8`wiA^pjWZVDE|9C>|Nl4?LNBCu;r6G8lj9)Cp<4>{bG|2 zWT|8nXe`=f0-2-h=y9!EmIoRMi~+*9`f@d8GcjZoXdIhk3O84`qvu$5-StExi!qc_ zB``8gMUNOV3N+F?+CX2=ubW8W8t#Qg31f_Q5Z?3i_fSD|3N%7Z?BSxVJw5Uoc2a~! z17qYI62oo?q`wat1sYwHOyJ4V9@%86;@l-@_*O}es}$k7aQCEI`umVkprO9X3J#}4 z(ofgL#0QNq#^@uwhqv31+4sp(saCNC8oDL!kh1p16jGep=8HxWV+^_|-2dU*htA17 z`@j}xta7!1QQ!6z5kqUa9~wD~aiYC1OznDaJ1Kr=vc-SKesfqh(39@ToS*KGMj2!1 z3;RB5b*1vecz=g2(D3^!+}jtqik@A{3kyKQxmx-=U-M1)&O6SqCPvy5wm{?c7h7m} zqUA*j`xAj^_%p_?)?&~;c)c4bOyk%B4aezL!dnsh(Ib{+|4yS3!5A;k3-_N7zd-** z|6B;-3N)r{Gy_kE#rMckh5MYvB84$T+l6ZfEtjn(g=WulT!BXDJTn;N`rMTi@eaXQ zSD-;VYObO2n=!P7b9c9z zG7N|zqd=o#iw%r^V??(f3ZJi|;aMv^t}Y7Ok7II;bBQ6NKx1jL6$IW`s6+~%>}WL3 zGRC^Q5-{J}fgTn0(T?E?G^WQ0$2i~b1`z}9-M}K2G5QC3L+7e~bT7kncPv++VX{(q z-m7VwtHkhJ6^BJSW26Z8n0z%%rPn~pDA0I#Qg}{LO*#Dr`_G9-qlhuy3GV>iHvZLC zvQ#n(G)A622oEcE(0Nhgu?c8YGe)|R1hP(6)0rX}1sXH5g?Bq$x=QC0NA^xcLsTa{ zuDT1)HE4IcB|Y0Gqd?w z(=bx(`gISDc*bZIBY~L%p3&`~i~@~F;eMP0$FtfK<6hx?G%^{(bE~jV{alY;h4g1< z3Rj?^ILibw7Fxs*qut6>EQ%S!T)1ED?VcO-cV1(}7HBAk*~9TwTDruzv?UFVzl>pL zE?kTAKrXsD1sYwu89?6B3VIfK+Oo%J`23X~SBfWu`#D#C-$xAFXKaB+#$Fo;5PQBL zMSVg#8kZQuI!O$wsYUb**4MXefyP`rJ=iVrrh5R#9zR7Rkuem7`wix*I&>sUC8I#2 z%+>^q3$`nhqE%cb8ZQ__TU89|rqk(JeHjHB=Z@GwXrpN%F$zMm&?se$*=Zu^R(6A) z!TL2Sn=8{Ty_8+CmX#b#rt8e zu<)yw9#=aHg!3OqSEe?nK*Mo}BmC%|;ZKUEU0h<=An_y7*pqpq20W8j--fdU<)+*{B{6O-N1>YuzZ}4MlNII6^mf}tqx_R*!Pt! z(3rQ%8is6YH-;29ZWf?X&KOJEh(V&;n{Ew4bJ+rol2YN=z`=xm=l=#3qT$*g{hg}{ zbFUr8nYANJ)#m|Qpi!G;3tQ&3dr68X9gENiV2l;Qb0(g4{GWTn)uY$~jc4k{@FjHw z-QO*&{eVU!V>AiRv)u1zxsfc@2>Xv*fyQg$9aZmUSDq!shtHp|NM#JgJHj(-?zg4e zb6wqHu0SK_lp)+yy8N6NU0#01BA+oj3(q#3c)nDh6dF1uT!DsdumLDMPj4W_^?P5i z_{kWN!acn1J!jG*`U87PxdM%t2X=66OGh(ej2T~sg-4_GxXRljyi>33sW?(7tY!-| zK5j9Cb#L=pl49@Nax{V%<2(r0UtQ`(x3w|~H2f9KpyBj_dSV<@u0SJ(F+zRCFi&l2 z*X9&xG%j+6sf&Nm--lbDpJ+U04AV9eXf;xfUS%PpK;!ae2l!Whl%BPm)A~0Wg^ZzE z;SHJcvwxEHkWrv9`j!>^^YhRmMbhs-XjC%B-QmJLyegFonp2>me8v&{S3X=rioNfv z(C})K9#>|w6kw9O?k93dh!c(?D(DrDQFown( z3Cx}tM$gyED9{*eUjda@msw&8qO}#-}x@#`m57H_VoX1cPd+;@vhbc+`JRBi7{TaFB<-g zA-7x%-Xk>1Nnsex7HFi!8N%qUhV=icNB{n4L@>ts!D9G5I*4u!yw0)(8lhP(u;NNR zojpI^ZXg;dj8T#zg5=f`t zMQ?bFT2G9WKWu@<;}lEyd_Agy6cJlh(eQMW9#;dei9pdiiq6naX{p8)XsppPh4QG! za>SUJIUb9%j1e+Y7+2~IW~5O1!4_ylb+CuAWgF=)%J$AgG-4T}ukeiD>3x-U5yQBE zEzmfaWB~U=!|C-UbzzgyNN0@KzeG^KB%S`Zzkk9OXk0LKhq$j0DRExt?<5yCrec6)d>S0vjrOG$GgGGF~0{9WBSB}X#8c2 z;ZG!>b78PNDW2bC3p8$ZvIfiXd5=jkZt!9>d=5#EEA=`Ftob~djw=}j8YPDM5L!_< zl^B~kEkWZFW9%vvo`?KlY)*3uH1>9Nfu~ksbd)&NEkz@dF)D>?qmBor&{>?2Gt0OF zjh8*#VBXQgNpz`7mSgdPG2$R>ZJazXFR=#`rDq zfk{r!`;ua}HCv!z(b5G{vpwFBV$%JUXf!c~WsGnQ7a!ZYH}$f=Ox*c!G#qaw>39%-DSX94O4twST6F-jkLgW|==LSi%k zTcEMa*BN5xUHeRm_Z@Z6NM?+Z91)Bxv88)U4^`L#japTEn0Mp(T4H>tU5`dCWBeH4 z11r=IZ6?L*z8km#jkdA-pnmI@lcWgzyb+6X#`q~bi?x;iF*-_I+ic**Irih@6EfyV9~hVb&i96E=rJ9{e{0gN#?N(5U*77itb zOA%Y3Vc$4WI1sbiRtROr(bp|OuIT>S7$rw$-{FQFc9du7$ zN#2Aj&`6kJ1M$~G=}~IBz9|-7N2JHq2H|-!XFJWXB}+BwCtIK~vf2nHoY$wLWWXkK zG=dppeTg@$`PugjF}A;B3p9>ic7n2^H}oHFsD>pPag1@!MtHtY$F0u9sQAVfXv8Wx zLfP`Ybg3NjtkHPN7z1~SL8A!lh#{juW8X_dcy=?Q6De*#v_<11WBd@_+xK~H?uq6U zXk4y32sX~VQTqV@xX*-tT<%e~z7ptY-@}(qgP(md?^DViXK>LPO#uJ+2Bo zyy5$2r~RZzUBDJ-xFngwyvSlYJ7_3!MkACl*6tSWyBl-Bg&6B5xNrp;2gJgAM)z0J z|0_9LS1b}3Lr-`QmZfIO9%3jDa^ng#&hIvcN1ON1;?_QQEV3BGOn4@Tqtcfr#DFrk zK;xmZ6$~*`_8~==*B)q;FvgEg!ZYZu8ILAKV+~uNv7)~fY)MN0K#E{>Pc#}Bqmyv{ ze8F%rooAT(nJv)pud#x$)4tMq>XFf2X!stL9#>ygd?9p%ye3(yo-fz}jmdI0aA>qS z{dCu#6QL2t7b3X#C5t zg`GbS(Er`JZlP#IF~+62$Dkxto9;8LQ@Y3%XskJ83yVLc(e;oszJx^@V|+>!-XHbD zqy_nO&-J{_6=;MGcZEKy-qE9?#1>buC}5274#NGM#YU5fA)`QJjPR~Td1sc&#RZI+Zht%_-1ma<_tb1OHp3@Oc}7hNnb&T>bw!0Gp3j>0Y0V0*xy@EJ3Zs z-xb7=Jc~r*EMrvM6vkESQ}dfspyB+%3>K~%ra=nLgeWv(8N=Pz8`7GF(a%aofkyjy zN7yncY9uifF2|se&KQNlJN3RKZ18AKfyU?_=CJo`(Qi`d`o*GA#28k?BrrzRdSY`5 zG}MP!3wI)Qt0jesOB@>2j3F;vbEmO-xM6b&G&VeUfCK86>3-sB!+11A-qPc$q+Gb( zXVV7>F=P~I1S;5p;XW_=zx$*x0gVvGaBk%d=1ama6XWhbwm_rJ5EGd2b(R|`MCFNS z#50DMa8LEC1JgD(r$A%#cnfIr=w2=<+T|yqk;xe2l7;)DI(Bm;#T3VTT!Ds@jujj; zze}&Jy_}YeMKNO>o-J(8Qyb{fcK?I-xdIJ!A6IZH*6c=>>ig6OSo~#-?6(r=9If|@ z6z|uw1sWTs*nrk}lV_wDvFIThK0eaps(Z9I%+XgMZLtPMuLt&`4yA03UD2@M#!F3>gI)%GXR`Zed_)sK)jGWAVqr{ zZNwu|BxGcw(Zm=F&kDyl-|Lo;;(R$0*$+dj*y(RC5tRoc-jjz!WrX=oN$lHpItqgQ=l=l%m!v|d$fQQnZ7w_Bs0cr zC*i(SxJ<8^xPOB!(72=}+?%m^!w+KE2Ir!Y%NV_c=cGEgDFipCKqEKA7W!O^p}#0! zaUL4wjIma@7oczZBKp63cfuR4K;yB6HS|0@?mk(n`L_93xcW+e=ZnV+@0`4tuSJUB zL2tPN4V_b#V0~a2{e4vLE5IUvF+S&sVBT~1ON@~n-*E*R1CBU?$BdPuND;NR5Q|90 zc$_6XKe5wUy6KAN*#<_t8u&1v*J+IdGY%v-?86&-|7`89IZApys zB(^{!u+SJ`dR(=`Vh7%sy5Sd3E-&^?)htIN3p4Y9c`JW^Y9kgP|KJKwP=WQ>RcG3cF> zf7+Y^jV^W8u*hRnBPl||exOmw7)yj}o$a+|O&~>z=1;Cb*3$Jk}J^2 zD?JDc5<2c9#c`u5EaDhr-Bd9QovTdu6A%1h3pC1i*upKNrRKya-cp0cQ^v5ZmcUrc zidoGm{#%a$R-pFXi2j#cTUv+4N5&X%RhZM)xZa%@G72O8F;jatUo z=`TDhtZH#jV#p}a*q~txeb1&hK6dX`%Ih_pu}}#u7a-giRYgjVzUn z0*x0&CUB~EPkQ{J?=6o;7GsPNj?XogZKwYXG72>MUNnQG$|O3MvDLmc8YPVJw~quW z;{55AXEF*jrf;x;UmL&DGu6YEv_+$VF%Agti95c$@-F$T`slI+8vTD*!G*2Q>3{pM zDeckl^_L!38}^DJc1`eHV)W2qi~rW6&I+`4Rb3;+r}-Vx2xE*10m8j9XLb*3PJzbl zIx`6FVNAERf4X!=BZ)C0ZwSv%EXqAYj0!cjK;uuE6Wld_N3TzOTi*qZ9L87|A%dx6 z^}7-yeLz>PK;uEQG2{dVeI-Rxdj%}Y7(?l?1Y+j@&l8ko6lnD6WCkOQd(jz|JJsFM za6T#ho#(w2!LjH`^cx&%+k-36c=lEg`evW)K-S~dr=D2&GsZeC5xlEeN6(U#?d!!A zXe2mWz=j7k(ZtxBrHDlYV*|{jkVm3}fN=JoWuZy5)>o(Vr{O_}j}Ga(<4| zBTLoxiYMId9$5q{^xU9A?GuUZU8BZ@H& zSxMk~t6_95Lq>r{+$v+ZGNflHG4@o9KqHMYo`i~F?2OA7n^T}Mb(S$4^O@pKio@1@|W2lMnUYYDly5`Q0N2BqZF&_LAL+QFn+sIPMD9~8kM;F?g zYSSy|R^J?phUY2iaTOxGM{%q6R4Zc0D9~8mXa%)CH|cz0zYrBP&N9Xy;hwlEt=aSn zQyB#siw3zsX1|4Ww9ocdMI)9m^fE-StWc~()GlrQdDS9 zMx&ZB@>&b;f>2tTPl|7E*aD5L5&B@?lu1WPK-yF^M1j)dD)g^6%vak;=lYI(VGA_E zo6JDI)mr+i^~jlyMhIgJyeWd`HfAwoJ!BMUjGkoyTLxt`kwWeMOf=#d<8QhMT%1*0 zn^T~1(bWlV)l8y$WHr}jqmjuN0bhjoS`NEDm>9|v=5PfX$*1hVSYtQ+&iw-CVo}T( zZWi94)cFpbb(T?};q%V|_T|;KB1`q7!#p(pGDe%V!h3#J+_fdeYh|`T<9?M5Oj0PP z=ODZHU4VwqY3XtGU3ey7$j9Dvl&lV73pBp%)`u5jD|xb1>yIo#;}T=I4UxbK`4hcJ zp%u;+X!O^#gh$3>=p1rSOARy<8KZco7&QBTp)-(w{n-Ky<5lM1q;-exU)j80g2oHR zIC)tF@l~5zll5qHTgnw^v}t<~T4NZv<4Zk4iaaG<|49i;m zqa#s$8C#&SyTJsC9@Nnp$R3KT(FkV@<&DC&cJCZIBiwd6TcGhym>rx|JeF+!-Qh2uE z&Y^UFcUn1Hps})#9lV}-h|X-ciQj}q0AmE(N??}9<0P_F<#}v@##nvfdeOo+^q=9v z!!2k;GREyC-cb8z*8yV4DA0H^!4by9jMFB?_G8=7NM(#`=fp5F!F?+!v|`u-jq$O@ z&~MiTH&Wa=w*!rQ#%Qb(!HSr#i%5~PU?*3g;jN$#JC5Y+BE{$NyRrDm7@Y%!cct9( z7}J~r4HY?kPz-xgMT%Vm_oCr(R(f2$dnks9bC0Jrr$A%#4pSI3;b1%|4t3a%Mi67n zJ1+)>HLm-cQ=oC6z!e^MFE%2DcFh4aVi?0oICmFkG5=F@3N#iiKMLzN?Ri5A)nYv~ z9y7-Ih2Efcv*CAh3N#X58$oo?+G3oTd0*$cU zW|05QFoUf5t&^r`1T)6Q3K2{^>=DtN0*$lnj3H|NCAwdt>u!!l9Am7~5yQdB)BTE=MiRSYW)-fkjGWnyN>6=;n6Vgy&r zZCpr^SYVHZBv^V}wfg`6CCX~_X#3xG2d+S){UlQ;Qde;&hS?KGEJ7K>QFt%1%AGwQ znp2=5u`z{f>MQz@;&7ZZ8VQVXWUd&#Ej_fSIRzTwP1aDZ;&_P^eJ;47k;NEcheVKJ z{qc2k3N%)!I6gI)eUi+;=fbsPr0A>XiH7fa>2Vby%w;S&)T(WB3N!}oae#!bRuWRA z>Ug0M#u!--L|_$mBC&)koKfND0G$O$un5E zUyvSGb0&I2Ps4G}#E?;-p_*y{gK|dG^Ei9m&!G{>7`G-0?=hJ$%99u}3N-pC+kyJ+ z?{t(*FgcG#6l44wDuKZVchUcL83h`rW|~2S=0mz2tlWA5jWou1;Vp(*uaX~RJ-W3F zkT5slWCXH_{|uH zh38)#pB6>;UKk=rp|4X-nG72=V^)iJ$fAi?s*Og5XXv8vx{U;IhIOf$PZhzaS9j^rMA4L+T!BX64{Nw_E}zcUu00orMF?YjP>{gk z)&=yqHf-1}u0X?Mj0wz|Ao3w=K0p+YMLc7)63)@TwI8WMikPmqxdM&y!?vLPC*744 zlWh{P$YhLq;X33=vx=9JV&%X)T!BXC?z+&XO(Wgnyx*IMMKNPM6P^Qkr#>K$82i7n z1saQkts%tzIh|+dyfz7qzl`xQUjk;)n`aVZNiJKUAwR$zR1~(;du6gA84aIH(&MUM zh8RYTyiR8acRpYXG^VaIgX7VGPsmaY9hZW}CB|sT7ejv30Xnn2Gm0(HP`cs-*}gsK z9P;hHsc0lJM&&Cp?D;k5DOsu=XV?ObCrP$&IwC2U6pC%r(0IWZ=RS$yU%e)sTbgy1 zEzsEH;S4vT+By(pO~7L`N*Sa0m~bEcjSnu(DbUb(=l~bKT}>s$KlgMrni#{rMg$%5 z{ic)R_?Qf?Kx3c85gg4wb|b}xs;5}^U6vkKVOxc3yjHvhQY=<{#uaD`n574oOY6Ky zvEgGT7U7I>?6e4iZadRsgO&2nxdM&EL<^XhTu*;di=Ssg2IC9YvrcChFBu0mY zAJOo*B0a8l2+vLkbbdCR6tf<&1sX+J`#`Hz%z9FUj4wtbh%s6%7Oq3S5HOb%^091z zhSv{!=%wLnM+)76C1}JjMul*VmzVuex`!MT%ob?0xn~Y@#!X&GjD;Oa(Rj=l<-#_~ zZRJ}HQoIne1sb}Y?ct@t@fD<4S@RW*LdIwzT<>ES=k!hK%-E{ z9!}Mr?@J2zB|p&!W{g;KA2{EyvXm4Db=d-q@$$~FdesH`i(0Dl8;v-|7#1vs%a@-8 z5<^CT#;slUFsx9Q?)CkfUx~(3#;8^kLq+yVdQ>E%K;zk8cc|a@J(Dce>haZRd}NFX zZ-noopY?*~6lf^7u>-Hl5z9!CUtfbpEn_Sc-nU(6`yq=IPY2X;1sWGUZQ)%zOS;c6 z@@pLylB?3=%5NuGgEsGn`NMH<|YT-HC;hX8qwu}OeJ{bnkw-m+^BQEP78d;2SKTQnJ z=T4-bm5c(7?ZW%Ko_4gPzroEpEmr*BeJmx6u|v}vY$^_}AxkA`-I6QND0Z-i0VfKK zNl_Cek3|DxXbbNj95rCkoaPj0MEjb;fv>h=QUu$#M#DEkdRz_YEP@$98FXLN=?q(- zarT)JsCD_$jTqUwZP5s0jF8(R*xC0A{j5s7*a8iZcYsNG>v|F6piX-Y+t zCoIYs<2*bOswilx1f(VuYRQf`#)n>F-=mUIHi1UVco9K?A#T z1sd7+oMHP^4SGEI(4!j`{*0k7Y(Gl3H_&4Pxef|kfyVql2OuR^=LK1+aI@}ML@-8u zsR)jb%}Hrafkw~-HyGqIm9Ba2j-F_wFvi(;!nIK<>h!-|MuEn%$tDoL-i01V>1!#X zk;fPlu8UyW;0ihyE~7vr=9d@D%J$en*4%eyA2cc$V`zmKj80sd*PH^4BmFF(TyiU& z6x-VLL&H5%dRzqy*O%DT-lQW@TZt{un5C}=oi~}#QDX3?KN^9Iv8!GL*E}v!V^hxo zT!DsW&+F3TYQh;Y`2Brwm>5H+ zkKzh6bY>j}pJOf^N%7&l5*B9}qu*KK`jX80kIgC2ICb6`{;s&SffUh_F=)gx#%tlZ zAJ2Adr`I9NDE>1J8bVC!dV0pBp-CBybjApoA%=kqpPe8}^=q&SSD@kB=mckU4e0f7 zN}W})C}NDGauT>;>a&X&G72>6g?G!IAFoLF;ojA$p;65k?{b89fNnoX&l|`n(3mM_ z4S!CT(Y@DpUnZa-ijp2zU802NItOIaJpdU68js2?A+V3G4_R}+my^&4VT^j=dN}V1 z8vC15py4Mx55WA~V7f1QJb4Nl@r==8j4-ZF?40V?Y|>XHOC`QG4UJ63 zaJ4)NeIrJuk>c<8>0E)vk`=BH`p~ciDGUQ=U{TB%XB#E(Ir}A@Z}*-%lPl10^RtJe zpOonKW6t4OSo~!Sbz%Q%{?`^|WT^s_XLAJ_|GL>h$*sjxNio`d4i-Mq(&K9D6ye#? ze#+lTv9`}#u0TWQ-~kx3Bc}~13|gyWafvZTX?w%Ed5v^CD5F4Q?k5|t+Pyf27#`X4 z&`4wq%~4`VZCG`j6t=(F0*$eW29WT42mJ=!k`|!xf-&NR|EuY}|I)3q?t8XCBY&O& z9B$!nN|vfdX%QNwj8P-Jr=fQ|_>w~5DO;d1YqSj*di>9N*!9#vqlq!DWr?8da?6v% z_!Z9MOAS-(A-tVf2=Ml{M8WA{2440nw7sZW8% zHs8JQtL71%5q7ZMjD}aN{J7dQ+z;Axn?uKyf&z`fZS7%RQf&cQs^hv_(FkFTe)Gk7 z)TlE3`V?qnXp8Su=WeC#!$|XLb`@I-Cj*iWD7JL+E~N>eMjk&VONw4(eSw{Kdw5jkU(bl z*ydzCx}IeVG~&ICVWN6A-K&NFFhV1YG2-7yz`p5zI$v`CkTF-Fu`NM-yC$spc(PQs z`6gJzF-Ebtw|33#Lb`W;v(=O<&=|JN1k#G%(5>kDhh|tjVvM+^QW!HVa~@eL3sZBh zK;uD{2^<^Qht3Y}+hB=BA!F2TkU^I_<3AEZL4iiQS^Cg$)qk#k_{_IPqna_y#4`!uIMMD-RKd$Z+%HV$YF4U;XWeYUc6j{Nc?o-c`rP4ZW zkH$&H_$TH74u-1PkfPsxwm{>#t~E62bC3S!v27jENMMX6+hlOInRQQMyo_ZFG}3lk zg7s|wDpKtF>x4!oW3+oIg*IdV^X`PG6V6nhF?qv1-_68Zhkk7$g;uIN z76-1$kE;RhV*aX+4LzG!tLMQLXpFh(3TlIPj3&l;ojq8bVT=>vxIHRjB;B?vDA17U z7{fxpX`#f}Fk>$oNsMu0k_=`K2~sCT>om4NBmJp4G;5iiPYSEy`_OpK7;fVJ#AaO| zdXnPoWwt=WA;BK7!hXy9d^H= zd*^BI{n0qj7&V_HuxR`yEwUbZd-rn%8jZv`PKzJfbQWif_CYLeGsbjHDNN`+K!X?q ztl0vMSqbh?CpDlmUc;szLL-MUo``2HJ8fu0x4S*Iu>~53znMVT4?{Z7@MFngG)ftx zRkgTJzrQj)(pONRG2G4yHZH$DldO5rq$6l}UY8$N9ZSUXgIza9*QY>ZY_=8r)H_f2 z&d-`1MI)FoYQ#Iw*8dE1CB~hBY=OqPNNe!9+knnl+Ej+15yKeQ&x?01e=HkGj7{xB zxdM%-myVE8*?|5JPHJ=)M#~8!tf|x^IF@hEsuCfIhQ}fLs zZE98|S*j!9XV8dcj9-2H!DGkO(2(4aA6LQRJZfdgl~bfRc|hHta>A@&;NbNi z$a-{%jz^=2F}92Ee{>4iyqXkKR$S)_G>m`Q!S=nQ=-I@b-~=pc7^D9*@twFWt?3!P zDcs-+GzR**K)<;5!DOk_yc4nTPm~{5w!39;_iYh1#%kW=3N*^k>%;PQZyplkh*c66 zk&N-+l@!!hcXcF%RyA9ov8#tUOs(BcuPEN!nu10mW6ZuQfvclcpAnd{i%S56j>$ z^!$ANHMT(GZjcdt4z9UKj2@oP&26SdZ#ry>t z(Tou*w!0n1eqTn6zx&w&jlsW7AUONa2~vdTW}}hH7~KoScd)!x(|PK~yI*nz8Uf-Q zr~1>2Qes@WmxDzvV>A-aVBJr=dYBZ2hOf8+jib?KaPd_Ox@`}P&BdaOF=FnBYeg}u z=b6es@A?_ISegu0Uho1_QV;d*pFalsmk|;xc1|S&4D=wY>@{lzY76 z3N+Rpc83qUOmaz)va1k_`;4)3lmt2!T&DLkXnkc1G=iqNg5kEF_lcpTQ-nr7W0Vb$ z!txl6sie^O%@%0v9%~6-BD&CHQK#u2(WqpM<%7jNUg}5b^{C=hwm>6gzaxBmy_as` z9EW{I!zV?4Tn!Q5Sl^Kx=RnpYPVLR6k zitOjmE%o6erCfo=4FhoxeQX9j79CUg9g9N7Sdr)tbFv<{B1^T(tBfnqSd(W5?KTv> zCB?6dA6Qf~#^e4n(C(x~&z)tKbB?;VYA>(MVv7 zc1bd5>Hm!W56&%M3pA$fw1BCjw$fvUfzdT+WHQDbaa}Fg+%%o6hx!w?K%?l931nSC0DPJ3njg)e@t2VneP#<5l%;Sg#VgmK1ZE zHOAr$W1RCB@9R@i`az0`1K9$N@#1@4rC|wlKiIoc35_Ji7$xqLIc1V!M2v3jn{dVd zevdS9@A>3k^a%Op#-><2XN(YWKU{KFTuWknYS@e`&{(PK4*$CQ-6O@m1S-cux4}x36^0 zQbB=6O@WJepZ*Ct*B9ZYjz%eCj1ptFF5TxfS#t#i8f_L>!npqJ=(fbqL<0@aRQYjr zp}E)(n(d-TWC{v2*63Klpx?oCuQqXgM>K*Nqm{Uy!8hl5C|Qrhe6~O%>ZTctl>NCz zic#}AqY=Xx*=MAX7wJTguM`w$tS%7WCA;L*pBU}5x}uTB7(T}&&@3XBUdK5X&lYIp zi0@!6Z`kY-F{YgAjz%71REuw=sO9gX$0Y;O*aD3cs z#dpnNSV+?3$JMru;=6tOvgo<9f&z`8A7&8R+kze~{p~aYjc~>&Ef&vIuj01^S!+T{fO8&=~6J1|C6|2a=_dB}~A=|DOD~s(mSehG~v; zscJS&2(3N)s-H-&X^!3#;@Fn%f;iHuP> zSO)J~yt-bW0*!C}=J5IMbb2K7ukSQ8vKYfj733=L!6z%@aM5B%|<}{JQ1N*s}^(oLOK41m2Vh7zM z#gDJE(FnLNKd!uTB`~pdd<-dC_|M@AG;EuBLc8Ac<4G|#e=ZhLjIqg5+~XDgnQndV zyU*haG*-T{249U}dhUE+$pS1=7~^|C@oYxTyz^wK98K8*jlx^zptm*l6)8%uEkq-m zF_a>uF#o{tkEEEtVG&oLamv&b9Qy6)ONwVF7h_Sv7-74_d!r27(kpQ-<}cw2G!BmN zgx`U&bkFIqe<>F359EJyq1y`V<<}dDBdTm`y3iaHOE>6| zOmeLb7O9Mp_E)@{s$lsQVkjukD9f^i4|CgGB*n2WtI^11jL9ASK-DkVtUd)APkLK| zeWHZ!2WMulMWc){l!|;I`23hp#86P6(ag^c=8x!3k9U3VtVhEuU4C3;h&eK~(S};Y zP*9+8wZH~${0^gQZVxN!3p6I&vxG6NmyaNY*RXA9+-D3o@qF#+a?MTkDbUdBWe$Y_JKadJ zpo=aV`HazfvlRZU9`cVAsmIs?jpinH(D9p67Ag8S--$*gV;oxT2haNF&mqMoU$#JF zyQ_F#U&p!hZ}qiu7aBef<;T@oFMpWOCul4&=Gf_R1sZKuSVP(CtYxJ5_)Z^-Fvj>g zT?U(Pr#~k}#~lV-fyPBAci1NV+M5)AmK$La#~6E}d|`&hM0yPO(}FF~7*${b4d;Y* zCdT=xCTKijjO&RqP&>L~1}P41W(zcIMp{CryW8n?&Syi+&?sb#Jn^jMiQz4t5##`81sWHk9U!4+CEb5$xm%(kdn7-u z28n0&qc7Uf`!Y`Sx8e#kG|DZ(Xm08vvgVykt+6=C82wFU@ZhvzCsIsSv*8LfvacD# zvy;!-lH%ohTPzY7@$MIkUexuJz>5*8kvmo+E(1}GtEnn z7}k&20*#}yEMekw|1eT?9_xt4N5;5uN__ugixu5RDJame*Rh5Po#xU1^A>%a(WqsN z5b<5)HVy&z$WkdN&=@($4s^SopG}HSD!b7*@K}Ca6^VDZeJOdFQlA2iRqsvUk1TB? zDSG~OMdJ)(w4Wn|ZyU#KsZW8%mh-kyZkSK6P2_)ZMLIy zw}BlodT;kf<2GYxh~ujr(~{{vN< zT&XseLeEd58r7#jBiF(dj2ATyA;sH-AT)v*BS*YjMD63&Y4s`4(A{DO>y38PyS&ex z4n`w}F-~`tLClmB^o(9XfkxkhrVt#mjm~AP2nazVjWNo_{FP1ZOck;o3JNqlqb(um z&qw;3_j5ajMjm5$kC#B~kiB#trJz7#i zG@cgQz{uYnMi689>T_6BF~-xLeo$vx*nt$%T(&@C{7@q}Id3Dq5?43#0veL1^5e=( zyo0W^)Qc-&(PG~QX+fKh|@bbtPD#6>j18N>aO6b3u)q{pIKv21}xS@H)Evm*SE_PvK|TwG!FRL!Ix>3nWWgKd?k;oX|&x!lOM}Z$P6clL4J{!TFso7IV@$PUE z8d;1nPux3rdx<{%1shCG<_a|WN0>p|^)V-jq15~q7M~fzcCUB`o!JF?l<|8YTcF|C z%MCs>Ye=76N@;%wjXK7#@%DqvP`xO!RCkZC1sd7vHt=HU&jzG0YJ3-sfM@dKs>DYE zovJp{J8Qzc*aD5EwWhEz=#wuo%D<rwe29gA$nsH+p-7zw^c&pFpGe#jMQ zIENWRiM0*A>m@Dj5f&wk(fFSPGy-nX{b22c$6SHN>+TLP_)JklvL0a(8CbYKm;cRs zo|V9d4oB#oQ$c}-S63sLdg(CzAH3$DiAE4()Gd+1*}9i>JropZfR#BEEIBZltjB)m zEHt7SuHv=-IV)07ppjqb20J^vsU*fhgXd_ZGRA>L;+!+NTUvbzG+NxSf$a1L zNu=1mIvb5##?aj%t~)=NN3T08DA4G0(H73+{O698J+pGqC}RxOmNFO^_JJPzC@9dd ziP{aPr-#$K6Q;M#MZ@cb{J63jEB;nhqn*f_4;jf8XmmBz7hm*zGn^D%{=P;dgfU*% zi1(_E+xLqUO5O9g0*yU0+`%vAKW}5d_2mr~ml@+*t}i$a8%wWqo>I=|3N%_}IKWhs zvQV;Ae%S?B+-HnedNR0l@ca-`c>H1uH0maZ=Zf_0wv%GVop)&DGe#@%9rtlDhX#^j zc@bNn5h;$T`#21BCdKZU_h?iy#>z+uWR)JI|K}D@*#eE7+f1NaxGTMDa(n0pG<>q< z$5q7}Uudsys85z^NfKM2alYklFn!mH8Z&)9p%KOyv#&{D&cnfLh%xFMTcF``*&P;6 z>v4?~k8Qr75yu!BS0!M$XU9!a#2#h~G@2#aLhB|UyOUzi+hQ~xF~+E-GKft2&zisX z{K^$*X#8;kJGJ-pY}@#82^NKnvF?Zj&K7;&4}0*%T@6KHHVgpQI!gMXkQdnrGzwrTi*srkNqVz@743pC=6TY%xz z>-3!i?j0)7ILR0-#CqrtJlc*Jw&U3XjbDAmyO5IC()F08^b?H)#@Hn8hclV~pEsos z?8g>p^p6zl(N5(HS*nAoztG5JjIN`_eSJ!AHR@BKp+8F8Q#9w;AyT~gSB=I;#^_)! zfkOi?Z>vv%M%za2;6H30y*8ortp<%+#`yO{ytj5&M|ww!f&z_7@xF|A{f9ImOO^Vn z7L5Zr^5g2En|L3<$S{}s6lmm#@}%9&a;A^^t@I`3GO*S<*P=cJ8sFzxgT}F&g{1K8+7^vc#`y6;yuYNhr%rteH1@Q% z0hN^S_oVpJLKO|qT={V&5zmItI+vVMp8}1aS(b3zKG>ZU=~ZfI1T%&#SvL*72ZOGyBTF@;qAMESujR*;o%r_I_V777ND+3p z8&{w)uAdETv>G*y6q~pAz~UHZ+>(M_!fJZdH^-AL(9oW51G|iBHWTCSqn>EQGRDlG zVxIcKS65ODGw;O}Xq1h$g1D!>>8x|c#y(i2GseSoah-F_-eh7ZDA3TKU+|LB=l z!-f6Oc*__%%f+$JhhB?`F+PJW(1<=~3wOr;TS~a>VvI6z?(D37u4R1+G{%gz zg}z@NnUbQ*gF$FW^5nN;3Xmdb1lTcEMt!wO8Mj2J|UA5J6DC}NDYVt!ZSU#KxDcJvy>6=*EAFa!VN z+Vp>L+1Jrn)G&t22XXJm`Sq8G@j-J8SD>M~-3H7a$YP8)>Auj^Bk3_IrhH-xG-j(= z!uzw0kCS5K*QscHW{eNjVy>^!l^*qd91dK8hTC!@(2eOnniy;UPQ#*(F(MyJVC?6M zMWjerHk~WbsP4KOin`g;BeF5eXJQeMFF&rF#eFha1`nc%5f;f7Xq;DmLpRolRElc-;w(_fVvQ(wHbJ0j)3^Q?W)alT&C8P-GGmk6K zkS;cZ-t!;Rv(z(d7GROh7{2$!JFuVV(&NO_QEY+6qXjN7HFZ)KvQ$k@FG8b)G3?Ju zVUV7cKPl3GvIQEe)SRJW-2hr_?Yk5W_X7Ffe1drIV93M=ZHbX-$QEdPNi>IxBfii( z&kFRGqY=ayO4brMUlvqA43j9fKx5NtN0?Vsu!|H`J6EC+%@{t$;(f^b&(Ul2X=m61 zjmJ_;a5e6kNsLTy9W+uIBh5tuVW%DFHOQ!Bwm{?6Zx^`Lp;Dh1BX+MwBbPChTlhhI zl?px5*L}av}--(eBx)zNx#&|BCgB;i8Io)%56|e;wY5(lu)T!l1h_UO! zdNjP=%8x5EanH81`j3C4Xz-ma(1;&t25UB)Z9s}4tu~<%!Wg~9cV+&XKkGq@O>BY2 z6rJ6W+cL|X6noZfLE|!GG`cN?g&&rkAw~BPwm>7IxhXsj^^}t0-I;A@+-D3w@g9~R zMK+B{;atoXXlQv_z|TGU!KARr)}=-`N6< zdk?I@_S*z{>~rgp0UBY95#L$dlRE4;{ROXnV+%B{2HV5W++QciQl(xuLL-hbMz~7g zxM3~5x^y#_Eznq1;VP~h*mokv?RzF@JYtNA;(Am}b`<^VDk#vf+i39I#rRurXoGZ}SqP!a>xK55!?MB+&AGN zSth|Cc88kj7hGpSmy9MH&QjOeA} zy`1+h)2n^`YuEyf121i1;^y9G$x==GJ~f&FEmCf)8@ z>|hHtoW9tD_1p@2y>{se4>Zm&#(`KVM1(2RBN+t+8b7DFLd)M_^xR++>_H=mF?zNY z&mtdJrdJxazGn+GcI|S6*^AZb%$?E2y=Xk=41Mt}I;$b-RFcWWEH}j6LN>igq{I0*zJ=458fi&^}Ta?(;>%wMhOq-%#oc*Dv^;BgN(@ zwm@UVSQF^iWSJi+J_btB2xN@HKq)-2&deZ%QD+%fpz&e98Ps-7q`zR9haVQ_8RLAo z6c#@?c9a+cn)!1D8YN9k;qJ55<46%|wjYbzjA0um-a)4_mll834{!w?cK!zDLjqW(=u# zpZSEAvd1&cjU!59JCprv7q*aNF^n$$FF(AHyP#F)l@mYei?(r;wtP z-*K)$~3fW}85l?b|1jB4YSiG}0O4$TbhOu}*gLa!%^l!Cc=`}2h7{glJ z2XJh6q$e?aD%b)I^IRLKnwU)Y&eJDfN27)@LUu@CvF-XiVmx@y7HHhNZVY-8cG0Vr z4YF>a;s05FT)hzYA?r+?MgMCR6lm1>I6%dOeRK{WH|ZuCk&Iy|?prcA6m3e@LqUOt zim5Xk(aomESMSaxqmjrMeINV6e9h0@h@qfB#CwEWP=K?m0a)AES}Y7#ZSwEDuUv9wqDX>mpmA;jqvME==0+i4;3K zJwc;{F|@ad^ABSudPMf^CR?DPspbk5ONv(!!=dR@G~A2jfAd-~Ut)0ZF+GEfj$#Wm zTI+a#lE>-4#Ap`u42>YhFcrrPPM=I))TclrHrW*hhU_gNMeg<&XhbuH!9FRx8nUjG z6e*r;fkv}TJJ|L_m+lA8EPIJYDr3a7lESrrFMkjt$ebQN$ zqiw1LN|!&P$5#ppG<lV~i7Gu5WQt8r|+HD9|_*U=G`}Vx|$J z-}pCZczu;0SM9|$;Rz$6={$pi0u40{dq}grLiZmN`xT%O!Wf1frJ$R6m2RmO6lk=( zYzD^p{vl*N`l!A`<1%A>Xe54JpPqfCk`m)Qc1eS7V|Y~I%%q*(puD;jZ((esusG+%d# zJ`L#OQoOxSMZ#VthYWi^fOB82Cp5KaRN38DRwl8owgVz$I?R zKVsYrszaleF^2fdU|L{<52VQH@{cRf*kUN&WpU%iZ&KXd(_lG%|D#lXTsf#nAfo0d z-6pnZ(U2?9$g;7A3%QP(#7MAcgvA-g7%i?%oc!xS|7&Mgu>~5MF_w@sYv4L!eBG>s zMiOIWEEM-A%KFkd041d+T!Du56+7^5Fe{!I$%~p|@tiT1x01lgTyJ`$zvu^BpfT}> zDR`!Rq1WiYPH2usF=OP5dpW;7dVG&8Roi^FKqF4P^UT{hyNVQ1{gu&h{VxBTC#Z_+ zILf`~xq)>QTcB}Vd~f^pamia^tW|G?Mj&I9Zmf8t$gl9wbJq zhHcO|&lrx*GH9dJlNRBgY=MT$S|>PnFput?)k;;+xXl;?#d9p$`VXziQY|uX%N1yN z&oY9Tr-8|&82q{&7CDUJc*qx~4sw1&in2|rT!BVgRbzNq6HJe<*F`Z9*ww5i>*ks@iwnNR* zh_Px;M>K*NqhO%~Oixx7lA>WcTcFV;P#>&cHFG3|$>`2##4tu}gcQ7uJ3OmTfksZ4 zC2R>Tc}x0EH#yBmGcUK#)q1%$4c73@5 zjqDgR$OtT>v$btz^~WNXF|-?sXRwwookfJ!CZmHjt}N=ZlR2h zl8)X(u&82;zH=quJ#c~wF$y&`xdIKt!!FRQ&Ws*ep0XZ_g``}5TrCmrNJ$?sfu7N) zb{fVNXz0wg1*e_o>6T&Xw&7TWGlr^o_ow^A({#&ljLQ>F}?Knk_VqtVD<3{{YTXPFZnCDLTJK;!yS15iyb zq)(-69HfOt5o7%7AqC@aUCYT*g`Z~&G`5NB2D%e}ZX(4bjd5tyFvcA5{9uO#YqpRg z`v_a05m4m>t52_fL5h)$C!pb9AwRBSpGu(Lqds)6X6nTjXdGB*2kS~!()p`lWfRee zWQ>QqxnnIRJL4n5TcKR@)Yu#p2{LGt-Mj~Uh7T?R%;BkpC<+0xIRl)%MLY7 z@A?#IbSScbj+-r(km8>695kXBBSTdN_dDLCcZ+y8oXZtxDBHWhnL%^t|A%JjJSoEn&TN z!VywreqMw|31diqOJJmC&vW%D&^Y_R25vUpLucq~Uo1hx{ipnI9`eN(MoM#g5ko>U0*!v+nT96T|9NwL+fZ#ZQW;~?C@FkBv289fB-3@c0u9%XmY~y7na-rHZ@n6e zT*kOFR9xHcHQkOFONX%q8pEdAz<&3I+NAhsvj&Ya#_-pb!uJ5j3{qHiS<4k@bl+?U zd7B`L6vK7bVc}IJKd$_ah<7K<%)da2<;~Y~1sX%jETN)#B%M#pS+)U-5XPuHC4=_M z8`Ay9=;v&KM%N^B2=ku0ku24lDVxx^%orWTeE>RbWOSaP;vHL{F}ThK9PIV}62oZl z7BucNhMkWeB#qN)MvC^)Y=K76XiHeNW5Z=q9Ou`23O|S6w%V@5Ff? z>O_`GL4iifZ!_4E@`PUhSd_mDjWEV25bqHl_jnaOn@~`oVPNS5$@kRhFS!1pJ{ob1 zq29v}+?TvQPu4?0fyVykZg4I9{Yg^j95zJb5o3f#$Y8@nb-Ev%70(uEBr7|C-}GN} zTk`3YF&c%8F@3fK`Ul64Buk~BK;!%z3s}~F9-S%rdcYKoYQ{+FDTR>T&gR5WP@wVn zh&B9ZQgVnC?ylx&$g1VX)!04aJ3sx+#**T8V+*c8Lwkt_3{Pl4uUcvwTVipNF}{lT zy`J!VPUrL+s#3b0D@eJqowj z=)e_dsOQ;2$v)ppWX-G69I>cnjBxSZL3h1vJxDQbffHAtaX#JCsD=)4<f>uW&&qZAZqd`K{ZlJf4&$x>;5+=oUWV=T6iLP3)8YEqoj_u&dO<|{jc zN36|cQe1rIi^X}yIMrMVrpLO_t&fJCge%aPyHmV#pv{Zj#PI4P!{Rn$C^z?qduhkd zk|JK4EzlS^)ET}z4xvvwJ-OhAMh;_`&y&IQt@FkcLw%$_SD-OsiWwx|j9o|yyWss; zlrn~nxKH16a99c{D!Luu3N#jI+QY8Wag9mgzV{#&o`2-W)k5)Hs{MnjbhIld&`@q= z2PgN1%ZOoWbqI}M#^`@j0v8*q?yOINhN09LUSE%=Bhhs0VKibGqi%={o-UDQQG+kg zun_Z!HJ+QxNU?Is5j4^mqoa8LZmx7EkmAErwm`$K#27a1@6nbN9+Qruk;fQOr7|dZ z*MM$C?=y{iiK{c&`4*D$O&Kidh_Tb;G#YOithif{JoC`hUK) zH(Q_)Y2yy9G@8->kFF}0(8yqnzh@=TqsR1ovK|TwG(1LI!Mk6R`jTQ}?PWBI7~_q< z1g7a*9j{M;hU!5*Nbfo&l@w#Y#G+Bd7@2`GID2$7-PbB8(6|_C1>d87Jt9Uxb{rc1 zb@JnCeGhTp(zJFC^(oM}B+jGEwSK%LMaZ3aG$I+}O9yc;PW&)>9Y;Zd#)SojF#2vl zGBGAyNA z$R?4jhw_V5G@=+|$^;2CAFpmjia$Tu0*#;In@Fxr*LaZPnG3vx~sh6?>>_}m4oxv4oB&pehuJJCq zy?UDe1dC|Kn4KbpjO3_`#86P6k$=JtUM_y&Pl}R1K)6O)cdz`+LpJS2B7&98nz}8}l88NzVWD7K2ta5{4DysAtuEn5iG|Ctw=d=`# z%t)d0qTlAT1sW&EJ3#yg-9}`ozO~Om!^=&6T(uK(8Lhq)wj;&6v21}x^*{?~x~(r= zj}wh@(FkFTJaHeuLFL60h#~327HHTsc7W$M;wnio$mlg1ml;F*trWWFZKdmRx@{g; zpz(I1Jt+TuLhoT2v-S-Z_Zef$G8xSC$T&xq%K0x_pz+$;0Y;Bf=}(G&a|+PNXN=9S zCE$8#fe$HeK41$pRu8rTom9Pnq!>5)9U7I45!^`JBdqg`p0Q}ZWD7J3x9tY6AJV9$=#fyR+%4xqf{wMMcg?fmJvbM+^-K%?nlQ_z|oK+iePJpYb{%tL-$trE}b$Mh(pd(NXj*#eDl zHEUQuf14>;kJq<;pmCBho{4uyxAC36hZK(s*#eChR%TGyS4y|LJD*gbk-!-FTV?R+ z-4kjkD9{MpY6~mBUos*~H7W5Y8kvl7!(P1etXs)>QdmJ1SD@i9-gO`UqFpX2-kIWiY(1)u0SLIz7>Q!DtVG(MBr~MY8j)quees!<`KOTr`xH9E6~_m zVG0qg+wLYt7mq(!9PpGMSCY{(=u)CXk7N`SXyo;_fk#6;e-q=q>0dO?FoynYDHwI# zM*lw)6lhHBYYpR-tjviKyWt-iNsRF$+ZUvbqTbY}KqI-Q0R(ro{YQ#V^Bb=Czh`Bh zGsZ44uI@Hc+f<(d4TE!z@Z{DvdX{==Y-2Qv8RLDh1Qu55(Elg}1say!UEyknQNd)X zJo_|3!*!4RZ@yBzk8G=F_^|pEXq1ZQgjdYY>p_ZfZJVJH$QYNeiuVCzrFzw;KttKW z8rD4tp-biXw>cW;8ROV`DO`DSDw`Mz3N%{TJHnRUZRzYs*J5QfZZpQG7rvmkwIThl zRZyVu>7XrK3Rtt8EY;AsR%qlfMs}1hoOta@&+a`f-LXVtz^jd27UTR!{#>~0;P!?H0=SvcO)Uk+Rj8|90*sZLf z^Cdr9x918pVyC&n^=_-_Ip-Z)4J^_a!%;j-rgf!k9$E8^T|00E8Vl`hA!V2I3Q}Ct z?TAGlV{8-0i3@HWqgPA{ns?#~H10n3fOpFe(zETxFFIpU&KR~{Vh-SKG5xPC`^gq) zq*d9$yZPQd$$C5}?23l>Uiop=S3H**&_RD&eF`*|w%82=cdw?$y9H0Wqj8Keaz~4M zw&$+7PYeYG8h!z8;9W3^9`Alk?1@G!W4MTCUp>D}d_@ce1sb!PiT4`3^VTNC%d@@F zNN0>-Cvh+5>dDjUQ=rj4$pS29Y0n|Wy1>3@yk!idby8^2{#iwR3N*Z~TZ2*AlP9E@ z>(L*LD#o~!C*HH&*hGsIj!g$}1sa3iy20quCH+V-(rh3W5^wo&l`iJtBvU8ReXW85 zjTY4waGxc@)jWK~e05t3;DyDKV;sPeUWXM}AyQS|Nd7j!Wp7mx2O~p>wUlq=BJ5 zF-~`#fkqT#j5sR3eKs%uCMhP}VvGN+M{hmQJvKs}6lYq@LL-GSwhR{Eqt{foCB<6_ zTcB~H#1Q(7_n$xtkE+>dWHZKhBMEeiomN7M?hbRf0*$c_)?l%`$TCe`vW5`k|D9{*}V+e^6 z(X`lmb0Hc*j8P!I=asYc6rBT5P@rKq)&h=>_;-pd)sm>iXhbtc#{m+sO7Bc(aTFA2 z7~Qjh$+|u0-EA8WFGVAjF;Xbqbxi3o2j>G}MRM!pM`$=($?vqxERqXN)0z z{GjSv^;xo13JNqn^)msl5!yAR*mZp)8u^T|Pu%e zdBVoZtevFjA8m|=OeR0BM)miDDQP(eNYVNUTc9ERZU&AIW_%#U#}1}woMeoD4WytJ z_3$t$7A3L;8ah6EV8yCcWdx^$i)^pGVQ znT+von*?Dw{S?)*-1qB)}_le(Qk2XD5 zi!ilCqn0ro#r46Q>G5>0rl3GWS-j`&Ub%EAS*o=g?9n*jCqJ(4e({01NsUL5BE5kF zSD-OP-wJyA+jx-T-#14r&M-z+I~kM?*-p=j6clKzA7ThMa?hM0#+zJcG?EyjLOc`K zt>oSmQmE{9;R-a;4_m{#JO}z8b>-e}ES@t)qxTYc)6O7_7~PCqxdM$_mb<`ze;Ya{ z^CQ*`i(J7!qs2?H}9k+0lV+-=uyV( zIc$N3i?1n!SDe^Fj2@%C&uTZqebBhg7+1vm$ds0(ZzO9Tc$qEGIPu#8toPia z=TQEDJal*@W%`mjWIex3RU}XG}0L(S4#>nJI{Spp8}05 zW6a>Hax;3Qud(wa8gCin<`OB4(K9F@hJpeO)wLF&+5hlCQaoM}iAEJ;ED-krSfuW; zs84}L*nSh(e>;la?~?>)(2yLIA6KENzF?YSu#OlC3N+UBZ~_NymrkSz(TqYPoH53V zIsFLzZuIJsf&z`oJJyi(Zj~xAzIQs0Mm%Fo=_dtgjd^!c3d2P9tsLHK7biyb zmVv*^q`$;aP@pl-z!mm8d&ZJt%Z4~KA{hh3dsr$isx&0U0V!Lc(V>L{BnMBCk)p%g zcr+3jW2w6Yz@>LQDHhnV1scvzt)bxS7J9U#y&?gPEXJrUm%`}g8|fMS`-5zOM&&bm zc;j9^gDh419*JmtW{mY=zTji+MAzIRnk~@K@UVp@gRadc#;}e_Xw)%AM->@3T6nsX zA~lgM(5MPDhc(V^%SmyrdkPu>hvdiA2yxEot~bb#6sIq<1scoN7{cA0PIpKV(&085 zQH;??9K(Ix7SNRx+t0BD8YdfAK;i`#dfeV1I2DZ)#u%e1p3S(jmad0_0*#1l@$BoH zQ*^sK^;jAj*^FV`R|@meYv+^o7}f3`SN!kym}v_U+D9gkV&1d+Sd=iv$-@$u(WN<^ z3wKa@z!hjbnrQ_&-4f`1WQQ6)#KJvL{x^TRNeY+VuUt=->QpbbK;!#fYuMWNT`DQ& z)jdKZh%p){iEq&*oIhQk0u8TzR?x1sPZlZ6zGk2i%@`-cq_DE%yIZ8VZ1RLF&`|&8 z0*TIATS+lFCliZQ#@Op5h30K4?MZQI{Zp<$!?S@Eya~KV=lVi6J;NfGF}xp1!7Q_s z9>YEIV+%BrKf6Id%xF4FKKQ*rql_`yi05&%X4=0Y>(TKRTcDx3*c8fNUZL|PLl?b7 z!|Sm8xKeH+gDI&u>A7>0lWc*8%S}fZzwbX+Ms=cIp%KCuR$s-lum0!Wk@ficl`YVi zcH9zr&Dc-(wR*2!qj8xr2K@AeUeD*!<3#hBd0c^px%f8VaIc~zWT~_k{6>cF?mThlzz;fyVRsh7eu&_7hpELxu0L@ClM1S9d3iIhi>xVn{J^ zb`e*gQCw{VO&jf`GpU#UeZV4&G1iLbQZM?qqi6K4BR_Hl8o#S-!SYeuW3p7rjXz@% z#~1}F;#{q^)h|*^9>W%Bl&Ls^`^ptNND(u%7>!4a(WpiOW2>*y<0}OP8i}6_U{~-0 zC1QBBC_$r;F>WoAfRWSN*7YgS7}4Guc17Hw*SuV6zM)ag809A=;NcxbuYV{g&@kF* z37T~gbdU35bQv15Bl6=a;+O>9<)<2v^)R+(3p5U$F^1h$77a*Yk^cjYlZ;^yEQP3N zYw3TKf&z^<={De`^O%m3e-A6rNMMXN;u?M9=_d57NI`+dsO<(YX55^^WIf{Jf1;7e z7!l275cPakNPP-4bPEjOsXB}zMa#%vXnbUh6XIR>yP`dv>QkT*)7KO_T0}dOBJaR& zG-?^+MoTH|@n}T1yWSc#T!BVE7i-Af`<>2T88xWI;y|$cxKb78oPP!s%q2_pqZeDC z@z~u2tfE7bN%5;q9U5mCW3I6u9DCcHo^2~A(5R`kg%0zt-X%uDpMPj1F~(>Q3Czj+ zLFWJz6li3P^8~G;`}ABb;&a25`1}WBG#xL6lICyeXjf4DM8Ye={@!8KZZK1e`Rq=-iUoWwt;=)58*G4)&$%VRgI(8s`~fy*Ms89AQr9 zsTCAxl)9V2R8QC2WIa^;TB32AF*3`=I|sC8)9bYg3N&W@(+AzTiv|+I$FVgUIgF7w zMgr^Rxzo8NrJilL0u8G;v9GOmxk`*pdMa3yGRD*nGT75aLXZ0FTeam1G^Wom1KIWA zuEZGmsvQ=dA@bvDs`!S&iElq6NztQ*Ezo$f-WAf$48Ko`2OrhY2xbibo>F+C)TyjK z1sW@BjA5vA$OckWKWmRh3}Zxydmzo5{VlFffyN^*BZ$2*gN}Baln!X5F-8;d?j4Xe zt0abk0*#4tOkm)fz51kxz0e7bJjPg1Duo^vdvDgKK;yxD14t?JbRor#;4WyCGsaeD zU-&R?*uMG{XuN+eoi#v5et(L40H6Z)QS$3N${MSiz}- z6X?AknTz|NkBofNxXumu|NKV4z8uklV&Bz7BwhUA$1 zxH=%V?F;p{c#%TwHd~-EWU3t`tZzeSKirgupb^d(y5hLxr*08FqdyzX7HFtnF^9tq zMp8rdmnItVj1hQG3diSEULfmn!eJ;^pz$xv8ZytS(CgGX(f z_i?sBV|7Py^V;uh^zPmK7F+FbY;LH|iL_0XcjK#w*ku|@iKN^i1 z#+bcE0?ETx52{ar#+KPGkUBSlo^5|!rGu=E{}{XPzn=d8@#B%bv-i&4d*x16_TFTL z_THr}={d?yMoE++AxV-%Nm5A?C6y$pgb>2_@%`N2zuaHX`}1<~2iz{#^X&QPJkNQY za~?}kJrj+?fr{g*<5cl3p;T}BeH`>+3pCO? zi?w&m^`DTf3R^V`jWEVYeIfQ&UaE9n^t2UQps~W;6iiya7)=bTnRC!cU<|dn;#@8D zl`1K=Z)XcM+QsWbYKyW$Qn-(phei%#oC%jfQXc!7~_Sm6ryEz z^f#)_KDIzZHNg?OZrHSf7>BBtp>dxv)`<6pf9cSjo=43%vYac>DAG2C%u}td5TnVq zl~}xFj0&+%k!)}oJ<9m#$`)vhF13W8pFVdcM#Ckm(WqvOe0>=#*zsA96hDmF0u5^$ zSLikR?gCO=-nbSG&mhHdwW3T0#;;Q8RZArW8Y!=L!AYMjUc^uxv>uI>5&h(P9fUo_{lky4czDnBmO$jc8nDj8H!byzF6INem?g8n&T!Fuvnmy1yFObu$_% zjFIUpgEpY(hu78=7oEqku75)X8A@pILdNI6s&z&DpWYGNlzW2m%-@z7WtW>oHkJ&)4RLlGBK*Rg2;<(yUEPO(8umU%io`Cv(THY@ z%i`L^o|Jy{e{k7Gwm@V1Vk6LPbL9jvzTekHBaJaWxXa*0tGo}S*siC?6=-Bvo58}v zYv@tN_wfc;6f=g~H5u%i5J#^xG+)aWXtZBo3?Hiwt|MDj*WU<@TE^(MLk54IYfdG_ zhdFG4M#uM7aJTs*dZk)to(UTAV8wA|yiKg*6&XN(os|@546L?=Q72Phkgd9|ZiYrM zWBd}&tDU~F-S%G!G}Z-Jg3XClpGe^|)dG!J##ke+*LFJfU?(Yt>|qNu%mQuUL$3?; zIC1t;D>O10W5Q4w^zXTXUN^9HVGA@82H1$ZSQpTvzDA}tXp}OBt9Z`qz^xIkw(G5WmNgGDG~OnM`Qyz|RTNU@@s6IY;NX<`eY zJ6V?$T~<0{5ziPq#r=t0clFL8h5L85K%-%@9xOKx%O}P6cdlq;Gsc&-61bTN06ui?PG`>#{PaPiiZPPK zI}X(+Zl$vyHr;%=0*%;0M^K4%T12)=L+1b%9wCb3YK5-2580;NhZKQL4srz=v+a#R zRpPUZ6f3h2Vd2jhH%>|6V}@q{DW-pA3p7gaSiIm+M6C_ zxb8g46=*cC6!#~(r_*0GwTxp}Br`@Yv3A=xi4{FJkgf3J3N#u#umFpbr}fF_=n;1u zi+sk|Bi_@HblSgy6pOa{a|IgRbL?TYd>(!J>_g}YEIuAwAuTL2cP8ROw> z89Z6_t|>7z8U=C%8jr40LKlzR@1LdMuF&IbpKu%lzQ2NfH7~^1bA6RD`M(?sPyu%h~RG64Uczl$c(; zghmWwM2dSR#%XsQPCkc{0*&?)#aeoHb5@aJ>-)=Sq%%fmv5v6CR)d?Qs2vi?6==*E zWe)Rf-_xUvK#wa}lrYB62~uc$cFBBV3~O?gE6|uIo=aWty?GKTe%4&W;wNMDZzcuj zGqq`?_|PGWE6^D9(E{YJQs}S2MAc|4e8UvSRfpFSX#PZx9%U#g(D-U^4jrbYULsrd z?&A$K&NIfzp;EXMUPg~gybi~31sZ)T_rPoOF`>j*zBLw$IL1g#kwD1)a5`%+$(1e8 z7}C)kM!WT+*9|T|yoE*6*b|%jxt8VDaO}Sokr9R-QQCHQeGxwn|BXM!cR0?Dlkz zCq+zE1{x8JvD8}%f2vjQlfqzTCRdy z-6wwC`~r=WjPc`;xPSM(Q9rU(z3RW@3N)hCY``bkna-D(e$2z-Dr2~ab8tr(qo_DlZ&|m4cAUa;QQ$$-HZAL zy}`meLUCLTUo3-WgH__lRw*ga@E7kG%A|7HBLO<^V5~>@W9Y=Op(!^Y6euyH0SHjVj+hWxVPxKg_$g}dXTi%C&Gk1fzR znB@v(cG>hCr)kP3G=dpJTdeW>?&@GuVkjxln51P6Lx)N?k)q4M8Z=@Vqy8c}oC?0v zi4=?1u>~5b&8^}0CL22I{9)cVG%^|EnWYR0POqn9S4n}!-4E9APFhNsoP$6lk=Vw-d%a&ZO6h7SC&dMmb|_*dm^3sIr<%wrYYdTc8m)PrMIu z@@sm=vTAiBG+eGIe&@B<v~DfXNMwwf z2(dmx@-uoJM@fN(%_c_}lv`L$j5|$Qp^?iNUyQ|?PQTsh6)YtM8f$u3K<=52bBM9; zYil&B7^8=H&(C;iljMIX&}h8N2%es6f1VVvch%7FxT-j=4%y0K`Q>+XE+e9tEzlUV z#sCKG?Ndq&qlk8B_%p_yzv3OadsOLB#>Nb`K*RH!5ga!>MUVPaJ9j`Mk}-luNg-_0 zGaIs15pisR#>*MzFfn?`I8sb)*a?kf#xVRUhxYO3=-Gtv1-3w=`i>in>QIzGj5|lW zppnlQFCNR`@a}B}|5Bh~vd2TL#d>ELDPFsGL*p}J9DgE*zyP}>QrI@`&J}1}3bBT# zkKWVs!Q%EkvGBU4IIdK>$l7q?o#%Ezn4R;tF3*+tOp7_%nmikVYwvt6k## zAItpCm=L4M+#y_n#@l0tVB05&?intr4Z|XcF@`5fpr`W=x=%bfhAq%A)3<JLta0MF0RYtHQEXtl3mbxRcNN0?K?mo~hq|-@KM15cj zG#Ydfzft$=jUmOh)uYiUVGNm$Sl7ANhs&gRpUW0#q&th}&ox}>{>nykEE+!Ey zV`}N|hnmhzu0W%giwX2_yic#O+`OoXMHpjj^_M`CPW^wAt$Ms{7FVEAdQBhBWqA9L z!t(fRED{()Ra`fyGQ39rKVECh;R-ayuQh;ShV|bQ<51IiSmZFq_W4rCdbj@vDfSIv z3p8Gd`^a9^r8Or-XA3PfDi~vAj1-dJpIAhS(xLOY0*ztatzq_!2znn`l+FSy+-@j- z=iR%A=kBV4z7XSWlZ9M?#vF5RxHNT^D=EB|FT%o)G3q%>VS!$EI^X{DD_fv(Yqts1 zZ2m^?DGHyy1dRyBkb6ntz{TtIe=wt%Ezr!Qlx z=+vh-DRy|RL*pc4WaHme+`PY)<5 z(5Suc0Bgp%Sdy)Jy=@a3DU9(^tmUoNT(u=B_P%8cG%AMdfuQ}z>CvmoQf)K}7-Qra z@viv1L-bmzk^&8>iZz@!kiQ{Yl|FSV8a0gZ(MSeyQ-?JQk3sTs2&_N@RF=pzE_h32ao%@#pjaetHVe{=P z6{Ik%zYC3M#u&F$4qpS)=(ti+pkeaR4%YtcP4C$1@^LpBX^e5TOsr3R>()TBRZ0pp zUPhUKv9A-IDN@bXL!+26dVZ0>z?0Lv6GKUXM&I@(urK~+KT^b`7@$$h7`OezT47tR z(76mH1sZDNp45?_Z0X-hcHIaKd932Nn%r9sE=lL;epg9>MvG)iNb50`j&`*m6EuPu zqf%80+j}jeM;WKoO}PS%tbxX`utSH|sWE!shc6=(*aRw&q-c#@@So z!04+Voy!>SXn{p0V~n3HhoN)U(@_%hmo3m(r)~g|o%85Sk(Qnn8l{ZU-cG#FYuK3s zK?mtZ&++=(@%RjXK6~(h$eg5k*1&QlPP%oyf21`gGJ>iN*Ib(Q7i#eGsWt0A;KtuY(5MFP-F@zLHz1-1oiBtT}bHthh zfuEbx8Tzc|9$bOOF!7B0UQaLjfBvd=FBV4` z3o|)apmAi6A(UyP<`QFhtPd6*w-v{ggLo&aMwg|tNby|Tmn+biAk`u7ETO;|~R#`9WZ z*pa-B9*c&mA4MaXF+Nv|>uTzW^awynfkxAMd*EH)mutx9NceONjeN!^s4s`ngG?hx zalWk|SD>NW#|H8(GwA%)_`k=o_{g)e&a{d^Fi%4=h67a7;+UkSdOi? zgKX8Z(QJW6it%m;P~GK2iorcY(U9Iz99MecSafe=FM5SnNrA?3H%n-n5lHtwbDD>t z5yTj?YQ(eptJl&wWW&pBfkx0uBS=3toz7E_J$Vt07{*X}E&us-fcGz^|tLs@UX8e&u=M5A$@F&ej&!i6GRdQAPPh%L})ZM+9kSFU#_ zM$)AiG~yT|Ypb}Qq1DlMqzF%E3pDoaHG$tR{SK32MyFUbvKXUO{GLaL20M{LC5|o7 zxb(*n!rffxoXqRcI5f%_V`riq${lXeJ++bo4Sn$(OTn9DdhY!7NIV*U7~|L&DHxPL zr+Wq^1sb|9c7ef9i+<#jtGOqjarmy{xC#xE!ipBn+Wt#{M#2+g2%Vixk1X$*B%%?< z7^j{|V5sf#kHklLIZc1cGgf-&le^#D3Hm}5_h=V#agjqYV)es^;^J?hJsXQFYR zF#^S!%UU{W;lxlk4L2NXi;isQfy3O3pCPgEucwN zRetn1QAvTuG7mjC-XnAX*{asv^U+9Q3=?s0?V{xW+&ieGKqGFsExh|t)ruGyO$yK` zV2s}4eULM+^*i=21sbs@tl;L{&;3bJ`1Lg!HH=|UD1o!D*0v)>SGz*4KqIZwZm8!U zMGfELA}qY`D~_w@;$4kf8nhftj5^O^u0W&j2zxmGuq8dOePmIBMId98i|0~T*Xz8M z7)lB>?!B^w@guLKkfMBRDH_p?vHO<{G<@voeE>}wzT*lsR7SeO^t*q15<~k*85U`b z5iZui?r7vg_q(e;vjrN-hxH+T)^2+AIyb%?jbg_5{X+(|V;<0TKPJ9r3pBp80DG$Vg)gGc(`>CEa?FbHq=?A-f<-1{+^Q#oXNNZICq?HiHC%y))fNkw zIP>8`Qd~&+ibW}7Xp6aw7ZHwhj_mEiZ(M=K-Y@2Gr*$KGynEpKcP#1{qcB(8hkUsk z9qmdAG&)@qYk9vPW=TFrj`~kD4kjy(tK=y0PK&(<=$#z#bJ+roT-nuijrQvKiyFIIkUKZAeE+O-q&4_{I=YpivNO1)=uiKM})cO+75iNnvTe zP0zT4idg3^;p@m@q)2?h7HAYY+rXCG^)gcQou!I~%LB#le0zul+BeM|Ns8;qY=Oqp zzAiAMO)@>QTso>D8b=vp=11|K(Qdo;5W_W_Ezp>mY6=-XjW?1aBd{?V7a3!cIEHJs zx8Y<`q~B!=G{%-$!n;$a=@l&hh^A;HGDeU%hRb}dwwf493N+@r>4ULxIo$t}XG)4;UMh6ejIraQcqT4)3!Sr6QlPQwxG`urS*nuH@ndQSG?E!(r&zzl zerILjzZ7W19k+p(5|0U_s2J134q27HI5mYz3W+chT$TksZ3A z@tHC5!z3^!bqSp>=^D!xXdIg21Q+reOeCM9y=ONxydEl!tGcaHNWHYS0Vx`Wumu{= znp(i!7SjVrara|)G)^~OPhq!@X)2UnnRT*Df?4lcWpN$nZ7<``q);{P!xd<>5%=QgWUr_D ztNh9Ruqb4V*XDAV@n{eI22(e%1sWdeHZXdCI-L!jUGW}P`l!1Yf`Ls z8jeOfW5kNJEE*PV3?#+$0JcCQ*U=QVpEcM-3N3??Xp}I9RSOv$Jzh$`^EpzsKx4^m zTi7|SB%T;`wxiMb$ruwNr11WWc`Ydp)UgE`o9%4i!nEVGXuNAI8orMd$5pj>$GX>yzCB^Zcr?y4hMsu7*13J8rrcu-G@@=8!<_AR>6~Tz$jNAAF-GDv8ASgbPG{~KK4A+q?me=E zjCWt@%*6fMQ_(164E6pp@P1QpfP4-m1sY+qOkq`lX;V_fglVAhhcSMhmB82F2YUZf zpfT~NC2Vh7Jd_l^#{iAPX^P`&>s&b;8lXv!WRw(W9CR^X!O?_0-R>kS+$z_ zbJ56QjML&>5U;J~(t8J$6lf&0HHM^HM)cRY>f<~#Dj1_cJkR;yXxKFJ4Js+n=oaD% z-$xnxks>>PJ{oS16~FU8Vr?pu2s3&tx?}4Cu0UgYt`)pp5#UISp{Wb8@MDZ+9uipj z@c0^17%yJL6=>va67N{ww4I*Ocf7F}iwMThsFZ@+@~ta~p`<{gxSol4R_0tLDb$0P zqH&)wRKzoJwr7IqF`SYDjhCuoJ>)h(kHVWDSdPX^#+bHP3N4r4pG&q%NrA?@mo{*J z+d^wn%ye3bMm1v?U6Vq}#p!hHDk;#|G}jF3H=Rj;oxkX>M#D2*aa^T8kwU@lH;u?v zDJjs%=~^9N%@_m4J6StwExYtD1sWZ$iDxa-<2sTebLVa} z(ikHrQUX~m%ZvV{KqIT28`!Gk8jwP=LJy5%#)uPZ2pN0!r~AYv-`N651O zlILK6MlEBsxg>?qqW`R!S+9gG&}bcM3TFL`yvXMm7-@utJX3L8xr#ZxrPbW>#2xg28VqF7`*r+a~sJ_h>XzZ_N3R~;#qw4|0hnb-f%NQDC z#J%UbF7znl%W!k9K%*ea5}ama-X~ji8#L+|73 z>IxS$vKiyYd>I6VjHY)Xsadea|BOdYa5iBO-Iw^?az&$@F)lBXK~po$mt?E1Y;ofX zG@!^Gj)XLgB}L;QdO|c6JRZ)-Uql3N*Hy7WXGU8%+OeyL9%%;wWP* zu#v(5_oE+(@plqipz%oD-#$!Fi_Vet8sLS-MaIw)&l|XGxMNEUB?TH4YptPeNF@E_ zm2JJzNMsE6t`c~ce71%dn{KcL8v3(s;p*imdM0e?E=41kG4`Jj?_`}>LuVk3g4qI% zbn$#tq+cAJ5k7T5jz$$@oc5AK%g)z-kk6r{K*MOR4HPe_jv&P%Ctox?o+^&3ZQ>bT zIIwLCDK7Utz!hi={A>!ob1ue^;za91SokwWuCoLZ2I#N*mjaEr5(n7WV-uYNxLS7@ zjY!5Awpz^ft)IM-7)lB>j(yXEr|ph=kU}rzC>qI(k(?!ghqs0&lVaO@wm_rJ=DpBf zvw=S;9CQ58$Y+dVv7V*MzRD;6QlMeyWCekfH`8yh$31^EJ~IZ0XJwkJHElx-``stF z0*y!qCs1jjLeCBQTt10~SGMA~YGp5e2gmg2MT~X3PH_bq?sF_b-aneo@0QLCz~VGx z*h{6*beu8$AAEa=Eznr_!wFvh$fH+A!T+2HkPsl8oy6Dz?o?O z@1*d&atVzX#@O&qtg#gvvXmC85nO@BMJ;0p(K}9$$j;5bj72(QBu$pV#!oW3hf}R$ z3p5TMG=e|b2j7yd>KuCojS|KfArbFzyS|K`v9!!%i~oHe36^lb<;+vW$T)uujh~EB zlqrX$b2`xf!5a_Q0*!_mPLPv%*oPQjj$KE?H%DN@oHfVSD-N<&J3QbwxM_F?d%?lMI2)oiFG;qS-+## z4OVHe1sZ7$4dLpgQQl;${tk&lBa1O!+?B%8j_LILLrHN281} zG)_vPLbKmRQmnhk7HIUWHiumU-{p`(vta@ne;A|ki4QDWx}5$GM!K^F8e2x#LBI+b z{T*yEA`y+l&lSg2$zeH^_UlG}4bGXc1sZdb&7t18|Ge>b(z| zp3}e26=>9m-;c-PyXm;7+cj7&~XR4}?lfq$ICRd=buuQxkXK*Vz zBfM{L78dszt3N-SA=qLXYmxD$%V`yrL{jN>BXtGs0^`CPE8g6yg(EUPT1}T=Sy}-irh2pph z8770NUQl!qk=6#45UG}gA8l$A<@cC)) zMx;nGe1*nU#>f%R8^{bM(O-jG@oa&{%=-55AY%44V%+e4jYbM%=;um6qT7Z34|+Xj z3p5&t``bI~p4TD9y@Db%3K(OGxW@9yVPqsJhN~BI1sapYJ&^s{#~6}g*Oxa~)G)@r za4ERHKDw0@f5(+@1sd`l&hT4f?`cwGX1>M3`=#QzI&xH8|4>n*XA^pDOSuA#Gn-At zddS`qV&r7L!y=F|=3N!{UnMLKAcbwaGOj@5_FZE*u`cd4DW2bck3}?NSc~=HzDP8> zlA`-}w)o%QYLYp49ohYi6iu=}ppnKH^~C#~tByM7kzz{23a&t7xrSI9_r^|oM7BDz z5{qKSs1m;)b((H*#8_9qiYw3vF1LgZ8~*e3S3C!1sWG8 ziF-Nkme(gmcGM>{0u95OB!q^MNQHdG=dppw2gRY zvEMBELBJzw0bWmMnS_`u0TUBo>#l%*={%~j$8l0qLeYB#JYo%u6WZqfN5QS zas?XsqfFpgOAmUk7IWbj7IloFep0;0L~j7SPo`*49ao@n(A*kc_J3PWK8MH2-&h>X zR~%QGav5mPz0!gdYdZYl3N&_aH3Rvv7j>ktPy35SC}U`y5bKd$$f0Kw?OLg<`M>8T zXn{tnW2O*3XaGIuEK940MLc8d86bnSqQA~$tD-B}0*!t{Y+&+%2K0)_jR;jVvKb@h zy?7t}X@3J^m=v=G8p}o-z{C%S>7Lruw;>wkjB%k#Je!d*jNY^T<275L5#`|slVss^ z7N^(A#%Q>_QvA-7#QQmAC9~-jte*9na0ME0*%a!xdhA3#c}zr8ERHh9kmfQ_v$-;# z6dKiRfyTvCmQd1XVQ*6GYS{vfi;VFhRRS@OdUqy;&K9;nW5jF|*y0m2ofO}uv_d11 zF-BE+!+B42I^ zyN^M{Xg8%D7FCR~N<6!CtG_P2f)(z-7HHf)YXav3rl$}icy|XhJPH)YRlB89SoqF~ zUN_LVz!qr4McKpB$E{8hWBid$X!tXRo;W|ZTYm8ZDMr6z3pCUwxWbSratl)2Pwaw5 zBxB59;S00R8PWf!d+ob&1sdItS%BTSEycvB9Nis@WX34$E`y;Jujm}v2Y0qWjTAR;vIQCq zN{pe=+MULvaJ3waMk-^h5%Z!u+?(5xqEj?mprJX@8HV(lXG4lvu0zo%WDL_5av1S^ zGM!<`Ph<-;S}ga3O_nRK6QhZII2zv=V~Ds1GGlh}7g7Xfumu{;rrE*h-=E%)LdSa~ z8qz|=ab?&_3P!fx^sH!mK3kyCO3MO_s;cR6qWs5bG=do8h*;ydWvO!?vQ@qd$8ZH2 z$D&=}&qT-Oq|lx;4vQGZSl}ZE*`)_^Qhc*x3p57gIzVR3?NOv?xL^Vr>5MUBuLR~t z*3rM!NeNq^vF(E$bUWjdPYmhCNobTXM%E)ASl;p>ozu5;WD7Jh5?sJ|xz1c-ob#Q6 z#!tq$Ybb-0b6n}Kf&Lq|Kx1E+74)vErDwticTPjYw@7hZ6^Ua}Use4xWUErj*aD3W zU9DjA>qqo+e10??jq{ArbhZ?p^!Y^haG5QEE6`}*Y6^Ehb*1NOyQ*ej5yu#Xon`QM zf)SmWSl)UjSD=w}+!E%0SWD-9mb96LMHXW$el3L&(xzR=-|Fphwm@T2vKdTsoKCN1 zgtwT3Mj2z=Y%cBt(D0u@j9E+A0uA%dHn6|LQy|6D!Sm4g!x&%dBrvDHOiGGI8`%Pl zxD*rdTifLmDOBdoN8@m@;<)N8?z7a+`cBV^j(f2M8u#{D!hX}B!NgFHUWi5*WBe8O z0W?2XORplUH(A6LXsmQF1dRy`)QRERU zG1`tHjg`azTg%tC4umu|a)6HP>&U4pDQJ%3JjS9xF6!YyN#%gqZIBWkE zT!BX2b_@8vamjaLR2^A`h1(m&@BE#*FZ>7`t5tuip}ray@khTqr%jf8GikheKu z5h+$b*?`7<#z<6?!bOksbOtiC=SHqT<71gVv^*P6f6rfk*@VSQ#)w!W1DjWSYsgk5 z&)m!vX!Nf(09Q#ky*@alL>r50#zI(KATU-oh1Ve6e7gwP1v$G)_Te_0|;xwtRi$w}!EPgJo z;|#Ay&x(v@vjrNh_L;!aC3p9dtvWPbAB_UW&=T{a^>_Ny`(*a-V+%AESbIQc=~(*f zoZ)4NMh#>1*e`=^0~gFATQ#wT5m%rwv$GLoysV^0GCBFiSa`ox99NTXN??zj@lRrG z+-brUXw;^OcazuCp?kP+9WyKf86#J$`>{c5swFWJqS*osgXPBXDrUzRQjEN1fkrfA zbonX;^`V1*lOn9CC0C%abCwY-Q*9MX3TaboEYcX`wOB*wP>IeiQe;hK3p8T4Izax` zb^)X~x7ZeqV#YWw<`X|WbKgh`i4R+#(cRG!YJZqEB!#86JsP!)@ms7dvMJ*tJy(0~ z%ob==gxG+0Bb6q^$nkYVLtd&lu8LiyFvYt?5h>(P*#ZsKHEwWO`jPH^_CDQ%MlfS6 z?ks^ePdl0r!|SONSD-PittA|Zl#M2Z$5Ur4Vi}`Sy#HJ~{~?`qR#Kp`>AQH=vieCB zF@C*qMI)0j>f}<0l22UnF9jNX7h1xw6`}h`(Xr4SjZ((&(iZQ+ZrG6?AuB1+Xx&^N z0^Rq~Iph|Fd(o(4jLjpZu+RJQSF%+~3N%74+rz9s!FNe)N1zuc%#-Qa^aBO^x3n{`E?8hRMF%J1l;pF>_rvFl)QEj#dlBP7JdpK8BDH`#N zkt~slw~Wd3h~c!FEzo#tCEnq-Q;**7lk-uAMmA%Vt`N_}Szq!c#+`X`u0X^7mo{u{9V|x<$96fT_0*$MK?cn3Auj5FOe%lX?M8>Wc&{*qh3_}Lix)GzcT?iKWjG>(` zf$V5mFewVgu>~4h{Y>D%&@Dqrv0+ar8lM@%O+4qN*(V^C6!-dE;0iQ4?R9|Inpa&( zF+e{I3$Jp;aTVQJ3X@lDZ$^rlt-`qi4c+5Lus<<$6)A46xroJS#xOUK!p@#2=^6c` zO13~F+0PMf=!DQ&=e7kAXhbo_>P<3u`C{HyvQ^=|E^`GMp??g(XlGb`<~NpAEe8ikB8CRGM4CXYW)j3_;}K*P3`5rk$B zpl7M`=UhkQ8)GyU=N~>HH*XT7$dfJ5Sf*wP{B8)!&BD2}VeFXf=O{K_9< zyfkMEG@K5bL*w>K>3>wc={L~`VvNm25*Sy~p@102o!J5nqnQ?v`q$E$6rH=@LL-JT zg2lQ~6LK8rERK=_jS)#k;0E^T#E>?*jYc|SOc!e|-}8Jy?_p6=pz&PO3}VMhCK6-M z*LXBa7-Kk&s?mK3l!RJakz(1Jdt8CWUS}h4T~ti(3JbV%AB*#h(L<~q{qpo_ zI?I`_nZy-nv}k1yK6&%*kgZyKF&T?E#+Y|X0-6VB+K?i3G#ZYRaMoosSMFjq}Z3p7HD|*8$h4*a!*pk%QMh8T&Xy&lEiZ? zvwjbtzXs8l*#eC-dDgJ^=DTggSX7&dMi^tbi|0AldQCk-id`q4a0MC-CfP$#w*l&0z>o0*CWOAdC$?PV2lDk2~?HOq*qK5b=d-qArq{?xsAkX0$ZT* zu$MJ#vpYb~4V;=5q4AP2`ld-iH*W|KKZ=^uBg^5I@3;bubJNX1zh*z3r}l^|!{RDqytyQUBRV^JU;azuny*75(2d+TFAi^H}m(EyE{pXY{i?apupKTZrM9#TIBB>unDP&#ga`VraK!XoNDx%n#!I zYDu<_NU``1Tc9EPq7P@LTD&Gj<<1sp#52a%DRPjiOX+c<#xb@)Lo-Pq#tu`pCq~P9 ztu#;80sEL^@Qe&^5iBv86&<$O{&Xt(7GG%PpRfTvV-A1R6+w8P>kW0ZS} z=M8)p(`yr+3)^!A8r3m&aICj$D`GUb-T{k?jFB(a{#@zXn;J?AG=6`uf?WrnKPJYU zs7`1kGRC5QK2Xr_4!svgN%6nWp-N$AS|tS{%SF| ziD9hI7HCw~xr54+F7(bbp9#It@MjETkiqT|wYP}jx|S`_a9C>#)7)(6H@K%?A2cEv zW5^W=ysCNopE-cpY=MSni5W!sSPGz>}6 zz4<_{Kx26iBWPA^uStrCm4mSG`l>jt{KdOvkNIt(qy2pjTcB|*$Pg~QyL*5bV`dCN z<1}L|5^E0Jb5|chid*;C0uBEIW&rCueI>=8VZ+dfVhmenao^IueU1O6K;x6MIk?A1 z(*Hquml0^BGKTD?6t2uaPLGh+oMHy}dnjzx;&$;ynK{8jWv^VK2_3MiqUhXGOF9#&8818^+ne{>%_MPkpIyEEdvl zisS02M7+c8S{D8Pc(-F5SD=wxX#^oXR?;iHTON zdB+0AXx*nr`o^&nv4~*|qcjQhojui-7)lB>#;CeO=gh|rq}UiT8I5$th#n_{3wK-5 zk*K6V}tl{Z0nH~8Yx~>{%{A7&e zgA%y3O^qJuD=E;pTww?nI#W&&Tv>gL$J^$;VdYFtbAyETtyp%KRz7DZA>TxMxZwkp4Z zEzsDt))D&bjH@HX-tlwL$YPA=*5Wyq={EEXvhW34pmAxsBaBKNLVumTlINjO#u%@} zn#=LN<{ijZDJjr+cGv_y&Tf=Kir|Cu(fGp{x5_23=HkR?Qpm5d1sbawSimS}C%WRv zM(2fS9IjOySA)8X=jdaa(b?Krfoy>WTsMM2w*R?jVvKAt8exo~EAGX~inVG&K8KP5 zjqhKKp-DmkV^oPXQchQoqqDUWezOG{>7RE&UTELzWUH!oEk`4VF+RqL zXMT*5evzVc^A%iyhHQ`(?0GS)gcM#YS7K4Y7@uVl2x?+yK#H;)wm_pvPYXCwFy${P zOlPb{!|jLScWy3@MbG_sO3#Gj?y&_Lx=(H3!&K9O#27VvEgF7|k?JCc2eU`eqwwHJ zwm?H~paoo5*FA(7N4RQb~bEf>_%y^Uw1q#MswlBO3P^W4@ob zKhbqf6e-?cVhc2aP8q<$!~N)MrsCf7lIN@FC!cy^GgqLI6=(u?-mHB< zwkqq5HWt;4p?_G+$$TI0NQ%L`w{Qg-#iMpZMO^t_QasMwiiPJ-#c{QwTs)6s8ceTd zlvr-#3N-X$Okm3C0o{qwdgcx+PBO-%6gl`@`9<#+t+$;m(9r&A3m3H##}ebqlAUN= zWsElSBoJP-gzk5h6lfgYYz`A1Po|&z&eYv#q%cPR$5Qx}H@})}m68IDKwSeEn)-xZ zOVu5uheiQoycPGVjdrZgCWev%jo2M#aBoZ$z1p|5g8>>fjIlgS3R@5CqE}3m6le_G zmMzc-)HH#Xsy*phs+FTX8o`V)`iB(0PPjmief)Yma0MDeOpIahv-$MO zk7>(2Si~}hotPIbf965|R!RyqE?l*Qq31H{lfTt|ZD%wx86$6!464_fA0~xiAX}he z)zu9g0+y+h;&+(~8l{Y}EyxEpTG*SDqMgi@E6|wz$rk#%+p3b{_cJ#v>KLQ5c&B&& z@bmPjZxfC4*pggSNl{X@Tl7cdX5ulu$L>)SeoGkg)Tbu zuE`Ob_F)mq7`pLN$hq;KZ!qZ;TcFW$h#3q|E?!AKM~&`&G~yX!b+`mHGV|%N=>9Oa zK;wRy85CKDWD%qJI0+irjB!9$+`l`yVEn%nXiNro*x#u4TT&$SmZ4G37)ed#pgvs3 z`dI@Hl!Hd_YfKv86#ni40g;uOs|*>v1AK0Dnrd7-{TwI zmvl2ff<_`^JfAIre&#;TWUH2(WeYU27nsA?c`f&mBGB*{8o7+o{*?Ir`1P5Nb|nQG zF{S#jJwMH#7+UL(qfx~eJtD+=c(upTc{n8n8t1(nVb}0a^vH72+!JVc{8b!RNd^*_ zl^Q&TY?YD%jr%0*z~Xtl_Wg=*^@k?iGMW zBx6`@k%D=cpARW|oMj6%uHJWmY@@yObDV5(290FK@KKk-=(f4K#F*~O7HFK>Y6M%q zdeV97+#f+`q@FPDZx+BH*a)@+f9g~doq^KE*@9W-xAz+RqGNs1x1 zY=K5r4|gb(rD>5Oa`pu@PBTWot1=kgZAE8N9NWnjXe>T#4-L%XHA!)CbT}GOj8T7? z4`gNN(s32If-TTk{nH&DsC=i#yQ_O%LL-$i=2l4H*5g&hWUCecTcGjF!3r8h`JN+1 z6T{1B6f(whYY9B1vuV-YdCJc<`3N+3PwT9L8?PExx>vRK)7{(~imczxe$Z4c_S1*Pu(3lu#4ozE4 zC?myfgPT~SGe*<}@y^M2z3K7pk~Xnifre#~HGEOKM(-UgS$7MI62^G3M?Cxb@Nh@6 zRdsc2fkyo)*6_@B06nkWH|I7QKN+K>sT69pkK80i{Cl=Qqw^O>xD0LROseOYJ81a2 zDUPcLW@1i1Jdy6N&gHNL8cj@%q4j~v&t$9CXWvERJY(p_NnpV9iW{W()FF{8(0FQT z4yrRx(qo2xMfb3XV+{M2;(helMf6VD=)U*40u7gJTW~Dzxs+_x$X>})SwLtttImeF{uP z;}2t;50pZD@wTAplsfrh)x4AfsWYeu%J_mG!pL@-8Clmx=}1Sry=5U+pfRI~ z1>|=*PDjbxS4CKO?o}LDPcx+OxayIde2#FpVy-|VG2aHhY(Az%ips1KEKV}U8>tMo zPK*3RioNaMas?U|D#j30w1pm7u59oQi>r*WJx9Dp5!!nYLrH$hFR$zLxuUzD z%g{(+j8)YVP)RXrPK<`u@3{hvd_5ufx{TyY$9*umu{O z4j6#ey{GhyC16=48a0fuWv3Kk!@JQlVGlF5K*Rs818i<=TR=XCm&Qjlyge1imAzOe zb#F62dUoff%@$}p=;sL+S|0&o#0>d_Mj&IX9W3tgD)FSFsQwj=G{)HNBY`66+e`mapfMuM7&6RW z(XngX_B$HIjPX$1Yv7$WX)G~%9c2qNE~vXep8a7PQuK5GfkrK3^t$8=;q8iQNYOc% zEzqzCu>_wDMUzPJ?!YfJ8}Xv_Adn*iC0bFo8LHfQdHk>jK)DP#c_2k zS_W|k2h(5Y5WOZ`fkx>sbNKoyiT-l7UE2(cP{vrgP6nBa7vCXU<^Pf`(AfCc7HapW z)4A|R4_crR&lp#N#l9qX0Uaeu3N#*jnL~q#Q{Bi`ZOv(gMmA%3iv4at$x=Gnqt>_P z3N&=489>~bH7$s-^IjV)${C|hybF7Q+i^O>(srI2SD>LQ-qSEZvw$7}q(rvG!ezhW zci!WS1iIyXq4Pd2-sSnjN?Tjh0Is zq2u8LR^)G$;N206i;OW^+y}5>)u6Vds2oP4UJsJ*wI_|_eb zD#ieD{d|1k)c{i5v+KbXXpAUvgre|H3rTV4O;0R5ycNgQA}a|5_G?9FaisdaxB?Be z`nJ$!PdmC7wX*Ajg+F7o36jFq)qUHOtx{5;p|Zmf&J0;oM2e*5{n3bI4FA4jEsK@& zkNiu4Mtkud_w8#7zL7%r^Z+!H8DoohPxXTpL1q6^pwU^=6`WU%roRRrZ3d%}&lq>a zIul;;6CM%6b2M9^Vf@n^QcirMf8ErcL(%xm7**m~GC%cKro>ni#1?2&Pqu&|U*Gg1 zMY9&e(eRQej;nSrC2-z2mHvM$h-3>i>TNWJ(rblu4%ydnBpRm~BS*{utm<*%E!isP zQ*41o+<6;lwmXF0xqMG=G#XKip`9#;b6!*F-Bee+*#eDU%Pir1<`Fu7^pF2Qwb@xZ>zsaxEzr=cu?O$a7j#BATWdTTg^V#^yA<+_vX+s*)e}9oKx0I#6Ex}( z+l3U_<0qo=jWHT#i+do?b(4}JaSdCbv3|XH-(AfaTT=XF5X)Oi6)Ly!z znD~G#(Af2UAB^t1fF8qjj+%-_5M$h%F9X*cOL}dh?K8GO<4%?(tT7r!zrp;w8fe5Y z#$8kK-td(%^w&U1fyVG~H%LnJ0rJUPUIsMM8N;`+tnx`Cm-``}lGDzGdH+Q1&JJ zdfE4VON5ZL@B6NjG&7|n*^(rcR7jMvCKZw-NkWqB2_eb%`Tbn)U#{0&bGywS@VMR2 zX`aoT^E~G~4}F^ai_dHTmwDu-jHLBGdu0W$n$6a8mz1x8l8n$z>*e8=8 zSM$X+mOVQzu2QBzqoC9gek6}vPm0j(^U;W842@x8jmGTJHKfRIx_~Rtc%o?mMRmQ* zNTKp$Ar`5O5#C!0b4*I;e92<_MO=Z#+%GN=ym-_&Vzek-j71(}REy_vn!RsC=Q3P& zEa3_?tc!L-U2`vbZ>^ElGAt?>qvK8)7@y0}CR?STK%;%M4eVJvoZkC!8djiD#~AKn zP1%3j2GMJGr*+r@jrbMr@Ve{^y{;M%tVy;7Z-vkr~xjPW(l589gcpjUnr6le^r z?+kwHcl0D%_4M$1Gzu6aR;-0o+u;~JF3G&Y7HCM9I>FlUQ`ZrrmCpt=J~GCe>Ec}N zP!k_g{EcD@G!8`Bg6*FtboS%H*Ntd+_{)Fh-+xNrom1LEV*EOw%@t^*x?6x(FI9h1 zwB5EDix9?mES?|yc(9WG4*vCE3pDOJ?*a|oAbPx;zf1>>IL6rJB<4%f!uFA^N;P8( zG{!Bmg$6pK=-AzPc`F*}jB#3gCk_kzLqEZ9+S|ASjg5cJAZVXCo$K>FwH=Eh#z>kW zfi7Ko(Q};Wg}PjUhFU)dxZEw8eqZef+<`?UW2B6d!Xxb-gUR2jV7wkzprNzc9Ga^g zjwi*D2Krcd?~@-_qn}D(+vv&-r10#|7HFhh66=?A89~pskA5*g<0xZz-0*{M-N(># z&V%g?xdM&)TWz4l_IC7``utxbEY35=e6e15-00C`$$ls(&=_xJ57iat=t!)2Z-Pc9 zW2_MOuoxvbZcB_2rlwqh#+UZ4pfgOD7D-Rcuqa`S^r2FSNSic;7&DyBxdM&n#~q>m z<~;gMJ$Zp87T+1;o0zkV3+hS#&xaVW1seUuy-_%y-xhrE}VCUY}JvG_FRF+Bn=m^uXmFk?{>3yz~UZbtSk}Nao(P#XI^u9I&uXX z>ujtczu@*LvQ;&@PFR#OM)yo9v^#x){u+cfcjgK-(t@mD_~k2~i7|PV3l_f^W71j~ zsQ+}bAcezYwm@S|cT>1EXC=KySP$IL@C%e5SI@;gsYC6}>D7$)uh{|(Yj0;bbl%T~ zY}K%byU>VWjA*e&%I~pVGLdmW{kfQx8FEmmZqg<@}aWCMlBPsrDV+%A! z4Yr2gnyz0+VK~YgjapTTpBF6N z)>xSWjaJ`HAz|LfN2F*m+!u{n#uzW2l_|Uy{acv=jYIYhu-Wneye@ zDr20O;0Lp(eyLQZK%>tIPZ;uGRXHjCy$V1hpD{+=@q?${g#$=2#ygNJ(AX>9oAEL| zhF)VC{9r#8?-`@#c(LwB+vi%uNVf{&3N)VdwFdJaOXzpW%G3i`xChC9=D(dK5M0-! z9Wg9*g1G{X$F44Lp};?k6c>htU=hq1MdH3C>n_%GmNRB4Tc9!CS{x@tt@!ws$Q1Qcg$`oj9_+|^Y z-A>UX`q2}~AYC@ZfT=BoZ)etl2bGgwp zVjQb8IAJatizOI(45+C*arh@DqR3=7@MSX48{^!8G?{XXkCDf%@} z<_a`6Y_tNmZIV(_M>II+bPX}6dPW%1sYdQTEWKM4gsVvjK7M;WyaXqQ3_eZ`m2#bCzmbIs25-f@mt?@ zBt>A_bu@AqBd4h!98NFGA;qH^H@E_gMW-AgQdUThcONdhg+&=-w0flmZ8T~aV?>GsCQN)5OZG!Sfd(uzhZYmOR7i0=_6{2RLgdF)d6~GD z8tYv_3fX!5A;ad#aBf8&7{Z$E&dg8sjvqVb<#BJ&3WP>LD6+jL}(q@5YBU zrgyz)cF5xjG{RR|flroZGh)=MpN~b*A^CB&BtZ(FJO|Kk1_cEg(*5Sp*wHwJ7$ZJE zMk9tXq+(9r>E{FbA9co}fGf~Ay1)Zo#BF*>jKR;IU~!!>dVG??wN|z*NnyFUkSoy0 zSfUF~&CK4CqIc#~ED9LI%|ikY>y4swOZOKSaRnN!8k<8+#a#NgGQao?i;s*Euu=*u zPkp1ua0&`E3}-sQ%K1O&y*NF?pQGV%SpG8)YcH-%9Qj*J_FO@M#*ZhaaHT4M9`#N1 ze}P5_W9$&0$Bj8{78Ap#{Y$PuqiT%}xNo(ivr!A2Uttl)7=QPR_eXVVM~}#E^eyEI zG~VYrK(NgbdaWqz<7+I^86!fhCvyk>T9f_Q+q#S^&{(A60_!}q=yjY{f8JnG#28l3 zCD10tgMN!DD9~8^%neNYq?D1Z8dvcajY`H)7w>8ueB!!=G6fpTC)&a8C7VZ(qRr!X zXm}ryA6F7F?;{Io+=&#U9Nu#U8hyXH!pFi7^bGR#jSpBHWsGg&+THZa*Z*^rq4$w1 z(3sXx4~EG`b|+h<6aNW|^NjJiOdRhvdA)`dXIFpb3N#LX(1RqWRc54cpIM1TCSx@5 zkiy(a^XPS)(sZ^!<5M#;kj^^Xgcy(XtI#N6jN%L#?Aw@dOql|WE86zZbK+8Zu9p4% zI~v~^57N7-VsdM+NMek| z!nog5rIr{mxqr9<4fC}wa7bnA=>HV8SlnX_hu;!-R_^?c6p^`qxdIJ|x(Vc*X-~Im z(5Zh|lrqM7J+Ws0f8Qakpg<$R!U&%AQ(aBA>V05+t^a#M;TL1n+avBn-uQF6G6fp3 zF$OTAk0YIj^B>R%4ZmaZG!7lpc{)o@NU)W-qpfpJi?6|6q1f6Eq?iBWA0( z->2irAhI9LCO72@G`0?i^CgPq@#Vz3cgpb>G{3`}Y^-6O@p_1)0OXN;zgC9ptS?J+4v z6te{y$*JyesMj@mrD5*-9%#I03^TEoURCeu^!Zu^1sY>^+QF07f%J^t>`5;)+>gtD z=JoH&;9YbDokLbopiyID3lXcYejVMl568SuTZ^yqpxS(QJW6P_{dS zS=bkoVoC6HG+r`B{~l8KpjNa@nc{!@k>~>2S$3~U5$HJsjcUfYdO-rN>N6fFQ=p-J z+YDX>xPK(Ye)CyqNWm1!(ovOzP~+1&%6{AXv{IR1kLSN=#`)LvCGlecT#>_jc*}? zf4Obx@A=73Y=OpXH#-R56IMt5R_aA7(THS>F5(W z8mWx2G1wo*HjJf5WRAVpa0MEJ#XVk&{r+tyhGFtrEbB*0Mg?PJi{Gf~TrUS=C@9eQ(AffB_n$=1ygGE*fJPl-EE4DEtJ-MOS)9KU z*aD4D#uo5aeI)%(?AAydji3nmadmK`6x94WoFn_ub|71zaWTLgRIAeI=W)3GW;9|L zBOp==MJ{giyX4;iwm>7LgFC$ZK0->is^s4mG_EtouLCl;mT=LA6gCk$T!BVHjw4)s zJcJ&-`j~ISqJS}UT1g5Nm%Hucvb| z3JNq%mYaZ;L(m^$BhgWDcUR*=HC-A=ARqrbL0Bvx3{s~L7$`dEZ8 z#sPP+w)#gO`WqGbmo3n^|K0_hzr@ocGOKxpXv8r_3-PSwY1N!nWItMDvjrLxovfhK z*h6Nds2XF8Mml4dz4V23A#XECG4c{ypb?m710G%P(esaMeNE9QVvJ-l@AELUs5LR> zM6d-KnPQ!Z%7#7Y@A;e7=4ezh#s={&x)x22-zSD@09&Aulx_;DT@EcIML>-O8s3re z<0@jKKj_{VafK9JTrIf*4gCw&5Z1(h5h?l@Sz~dOF>Ja@;d;b;I!C4=WeYSe?=^-h zlh?{?8YPSoEI#ugXY$7qW55%(Kx0pmy;!Fxo}Q%!Uvoy|J7Y|d zNJ^#(C{|#fb~bhu92;po92pz?`ipQ^=GqKe|KbJ5GkgWumu{^zZrvP z(|KP=;UD9UMi^rlihI>wtsmZr6b^UU0*$%m4xl>EfzA|NKInl)5@U4MmcnP7XY^Ms z`7&Fek)dG)SD(dJk*!*G$_tHqjA2;e3+*GP(r;=71sct=Y~kyuMzO?j4D?2$lrh?< zNnqtFKYL{gG=e9az^x#wp`Q`*sUrC@9dlzRD6d=HH;#QX{pbXhbl^wJB0)=yunT7zzqB-c?w_8LP|9 zNO5hR9~vo)ktWV-CrofZs7!%|S1VJfoKrE96rSz(p^?iNzr}N29c=RGypP2gwm{=x zLu)v!*Tj_=ANvNPQO+2jZN>ZUdd#N3=L(AdeID)XASbV$8!_Tq2cc2R7_!q+Sh%b? zy;ig!fGyCN-_;N2N{*dwx4VPU~sfky5C3-}$it1l^j z$U?A)VvO%w{9r=wVtRLif&z`sRi<$Mk(nMb;v5g7ag{Nw3Z#&mBs-)`fySUm7SJGm zKmD)0IPWML`HWF?THI^UQQeprr+2ai8Y&IF;g;s+holG@6N<)r#<*A^fg2WAYDnR= zhAq&rl9<4qe<$cYMMGzWq2V4Q|CzfEl){~YW{-)Xpg?0wfj!)vopXj16(hpY2xbf~ z@yw5HuetO;Np+9(C|3r4(dIs=zr9rw6jNx?bt`N+mK>fkMmrC zMv?1Ic=+b&E>isRx`0J7W84tWbGCW*h5koPZI;LtXe8`0gX!<=rV!(##YHTt7(-pm zm%QxVpPqjxDA4fFGJ_8zCB2AYxA_tpKC$xS%4Mk(HaBUct4x8$+p8{cG-pB-DP}HC zMkACl48{EJ`e>kcKqx5C(CO+3PQ#zlV`{yLSI|ggjI2RYSkR?XO14Ttfrj@HE9jN2 z)|nK22Bx8r%@~`75!9eOMwtQ)zjA9hQ8$Us$sB8c4ULzKvDH!v>g%%TJoVKiwm@V3 z2RoQQrDHnTDizNgXjC&sqExIk`M7{So6#(SEzsya-xF4UNukFK4FhhWAw4TUuGX#+ zV>fhE1=%VE1sW;#))1=mb|WcNU2mfi&KS!siu0&}3+eyhD%A|GK*RB)E!@B89YKtn zpYLFCnK3HGyU9J0b-R(`Qrk?fK;!W-Gsu}0^@0?(&$6({VT^y`xru9g_tNtZom#d) z@1jx07$?O$Cl}vZN&i3Yy<-bB-h9~(JHJ>pC5CUoeKcwqBVMeN znqF5@M2empa<~GGBkjeS%Wb1;Nl~{m7mIyy^5d$WcyFI&(~6zS6lk2(vV!`3=g{Ls z*R^?QL^6hJlmsrtPr5)11qB+1itJ&?zAf~7clfM)G*TJk&_ppO^GS_faaT~Fu~R%N z6Ic;K&x$6EEI=cVF$VURLd;v&c4R*k6lh%TV*{GMvgkG8vL1zKR4~Q`v3|+H;0SsI zprAlwysHhY_B!8AbgFan{k^N9mppjK$4t4Rv>Gkso)z8ofikBZ( zo}N-@*}Lj1F~SZPa|IeHuGTQqB{!24{q~e#5yKb@#9Co9V}0or69oktlU1C-_|c(q zV(hkliNB%rP=s38U>6|@2CVS8fnnkK?MaG zl`2*c@c7COvL8RcmZ9;HG19f9kZD$r&JMcSyx|HoqRp&ecISFP2k+Bw9|Z*( zms?suNw54%WUI91d_kj#G4gka`>Fd~3M9qBJ8XeQZg+Rcy|tWP?JFMj6^%;9I4}Os zQ-V9u<0}Ql|Nd4>T%bdO3jI8u^!kQ|_c{4-Wo#^imOB&aUspkaMz=&O=y2#xA=z`s z7C+E9$`}n~QV7$@%TT63W5haB*uDJ(EgV|^MB_YTI9!uJc1DC6G3>Um1sa2lte{E9 zRC=xG^!s0EWHN?rhFvX$PKF~s=~7A1^f@=ZJ|(?Fko zf(i;W)}c0w~twSHbI#Jjm`lcP!hI{{zo-j_YV!<^YY`W zqqs(|YTx$- z`c_=6=>W&ZV9`iHI9E4Db(5P7L01g2yyO6Ewvb`-9DU9(bTLNoj zy7Z{ewVW-`7#8CKZ7qh}Ax7U7Drn>~hF5Pt=$9Kr@6y}$h%L})^vV*3I`^aJAK$Nc zK%<;7+WnA%-9=A&)w22(TcDBI#2t#~zS~Ro<7`eRG-?@R`(7Db^0@v}nF5U_q4v-v z;W+)RosrrFjle|taTOjfg&M8@JW-{fKqKe6IlMa1ieAm=5Zw)pD8?|GyblVG9T`ma zLqUN?sD%am@%__>6dE=?(74JN*#TnxtCG~Iq!=8`7HG5)?@H-cQcJIxbl=tsjeN#< zA0mOxU%FHiqpc@fpt0S<7WSR>SVM}j%ln}5o-sOglEH+(D)fwgyg6H-G5e1@?7jDn zoD$6cPggo4?Am!C7O{-cB~%KA_sZ{lOBo>Dmqe{%_r}z7kO9~Aawm{?fZgWWKsJ4g{KW~phBY`oj zu1Z1b`6{0jE{3DI0uA4u7I1BTaVt{%JFkI724kev_(Ja%&*@R$P|Y!1fyUxnW^iaL z(C^*f$H!t(%owxFC2-Cy`V-lzRddF11sa12jp1R>3|mrUNylSR#Te<6C6JWsPrn&n zjhes}Xtcd&2JH_R+$V;k!$d56F3FFpo#osCml@;OBJu32x6K%`RU0iAa0MDEvrHkjp3gl}j4fV>MGj+h7HiOX z=!eleGgG!K;tDjvbzR|3!)CjQ5wm0o7G;dl#z_kG4R7d?BFKa-&{z{;3FA(uKOsfU zq-AK-Fh)VKcsAqQ#b2aox{)o=(5o{BmLFHGu1VpD=T18JdU-xu zprM*z3^lLf=n>ho4y(|JWQ;Qpq@Wo&C7bNWld)`p#=8c_aA~s+J;zzrZw(r$jL}|2 z2171~3@3(y0*xu_3?ayFm*xQv9yb zM5BT+<}{K*-yZAfT%XnP^<06*Q)@l&PmKFZj7}9=Sky7b{kKw3vDipQ$w=u2u0Uf( zxFei&Uqxp**E(op5tJf7u6mh?0o!6op*~y}jgO3xCEknt?!!SpQfzz37HG^FV+pc1%jgWt zpKf|+cwCYH%-?O1fpxVi-4Cm)Y=OqSaZXU(!($KGs^~NNXoN7v#T_!RS+Z@iG6fn# zwTvOYwrnUV1|Kp+BaShwTS~#y;PDJnZ0Tvl6=>|5xEmh*`_Fp%k9Qkmkte9J3@MiyLwhSpR^=-&6EH8Fi=fOqSR~jq%jEr1)gvjK+7y&>td&&`U4q{fVyw*#eCY z;#yI*NqZSFE^l^4!#7QSTvY`~Amga*LQcNg%6*9sMrpSHc!(l!>*%{CEDNpJ2dz zFEs8kM&tcb7@_vfk!)2~Hd~-E(bEZjrFHpAiuGf?(I{n%zT&!pTIU{zN%8s;Tc9C1 zYy*BV!)B90+Rq1#UyR|nP6lR44kJmC9>Er9xW2Z6OO-q5_pVDDUo`x#%8#p3am`C@ z@o!aPC@9cSc_yAwygizJ@9O`Npb^0sD|U$WUN>K*=TWJyQm#Pbb%rB+?740T*{bEn zepsY1hOUnc0=-}Pl47xpEzsz=*9rEGoc5j+`yBV7k;@qCe8k#R`<#Q6DbT3$G>3xU zaa~D~yE71ta>mdaF=O|0*%Y##2R$p#?i66F)sv-D8?ug z>z?lji5o|@Ni(tlR8!p!D zKb10x7%E*)as?Wr65U`?i7h=7PSc6NB9<|%#eHPqs)qCveA4I?SD;}s$_kE}FYisZ zYVFcUEN(J}#~~?H_~+2y^VeV50*zPVJ2BB3l+_pd|1siz3>u#qqvuhv23<%PTQePc?anlTEzrmdv;o84)s4tjX&A+$ahNeK>Wa1Qx7VXrM(@V51sZKy+riW6 z+oOpwO!FKX35+o*Pds1SAiRzgUO{YuM*k(2;thGfT}Y8|;sP2OjPXf)<_Ev@aihgI zwm{>uryFef_T@1tPQSQ_MloZYxh~egzUZt;iW&WqxB`tPR#q@VGjb;>cFnwuMHOTG zHIPA^)f0Lq+|83M&^S870`!~Ir`L*XPNbmWb5nj?t=KKrjY^KLB3sqwHCz1eZ`Iij zGAFL~A;pgTR5U^v<9D)He|MQFy}NCjS{hfNkucE~_I~?IXNpefUc(}hF|42d|7Xdb zjVD_bmc$ll4A^G^PDTsqtlF6`*U`vkj8gIZ$Il7Pwi6@z%MGqT<4en3;5WE4oiB;{ zaubV}jA0xqgF3y4nZ!8t6~2&yB)LUPWePNUSDJzNx24C49ah~%Bb+fx#hU##j}Fsc zH3bD4LHfp!zS`G{Y}K9A`)FKdjCN-JFwXZsPa>tK=5PfXM&cbKleVNSB1U#h>k zpfPxs2e_?nGKdt-1D~Q1$ryh3B@lRITNWvX1{QGz8p+R{!TtNGeWXweEXE?0F?Lys zXOSNp8z@ttv2&0uEM9x(_kW5KH1ZhZ$4w~=cPkB5ra`zTYOvFwMqMt}N14^lj; zeS=2OZTWGvsf$+PtbYMVR@ghC}501 z;+@`CYaY;ZX9Wcswd-s_T5tLnvQ^{qzM%1uF$~kBaPy20{T-Z;SIHGTx0n(Kf79)0*ynxt>IxiRr)RZVCoMvLKwsTjTAa>`E`*P3JNs3 zO%rR%&Us3YUel-kLL-hbo=%j3r{Ls{+VY>7V|KMiFDo4v;}(*`O(;Fg#ty6==+OVh%%dJ?RX6z4rAt z{@?xWm5fn$TzuwNU%nuQf&z_~lgy!OU1E1qG;H4x4evYhmVR>l!@2xQrN4&TN6ksc&YW{_@s9Qe1a#ipF`y&n{fpi^?O*rCbhlvNdLBT3oJ4jWAO^{y&KYqo^vWF{%3@W^?llnOdwme z`fV#TN*H5+Sc~;Ucj+f(3N&UnFaX`5sk=#`^R^8d-x;H2JF%Y3o6q!Gs`lHqT!DuA z00$^@xama$>$e{_ zOJ6|>jU@xQ0*yi9IC1{&OAkrmpQMIGE@NyTBZIFXJ3xvH8`Zf2jh0TPP*B(2mK5_A z4#uLKF;0m4+fTO8rhBgWnJv)J4R-_0A5Z*au3{apgAdk{;>kz0K*PDc9cbP@I+zrLi^ign z&lvlfOCey^J%3Vc+B}Xc(6BSHhN%at=v6XH;|W;2XN(SyrEo9cPjg}@DA2fT?+jg@ zRECox;NK)P-0#YN<|Z8^@auL79VH41G&Xdzhf^9Jbp9&o(-bs<8Dph*=VZ<%?fzt| z6clKr_7Lxoo@GhT?sT6`LnD?khKY60B{i)Ih@qfBBSOOyu1^ULCPkp_3^Z;sMkjI1 z&|_ItJyQJYK9eiZxIfnj$}bp~kfNZ)Y%B^Hqj?i4_)A8vR;ED1zuFoO%^6GQOZ<<` zMdLGLsO$JaXRo~$#86P6k+8-T^dFVeV>lSK01dBu^5bfxSer_9y#_soyLf>u(5PBv z1OINCTqRr8rS~E<4l{7#jD=KbxnHb?lYq$c9>F+#X?Y4IG zO7%~zby)b^mmgQ(#ab_~;(yl?LqUPY)bWNe{P{V0Rln%tdNe{A<8!pQCM7+POv;mDo#t3gKt`)iO-bjkIZX3A*jb&%;A^Cmya|hJ#?aa; z?v0wVU;r^@s%++p|NX6IxIvRa2K3(ZU3FWqc*z(8|H@#mhuv~wobc4)3N&IAi3t5bI^U>_ESL6clJ^UUY%Sr(1dwW6fy;G%hnn*B9ct zTKxb+Qk+?A$Q5YpP_c)Wckj?MmYRviSmZE9q`DL?^s9~~hJpeO4Q~S&9`W%9DLmCo z(I{h#B=HV~?D(^XNHOXzTcGiAv>A*z^oAZYWOXn{qlPgicuPU!baf0d8ee7$H14%E zhLS*4I`89m$`Xxz59G(yv)evE}>wRrNd)>(sq&V~d?{-XQQV?A4-@x#UnzMeApPWEHj zTt7787~{umv2N|RvvJB4XqdG&0fVTW&ZIb|u@8-O#z^WUzIUS@*^?sgB3q!*`=C99 zcG*v7YqzTIN27=_s>C@??eZb?xIM#*Ezk%qbcFh$zGKN&`My4YMkQlB7$}Yt7es`T zV(++Mu0Uf)ts!)Oc#MALo>N1x@XnJTS6{_iFW)*&a3zL<0*$U|&T#mhCY_nEZ+;k! zql~enNCFQ&jH9F7q4^Q6Kx0ZT4@iA7eJ$B4$L7bdIL{bIA4(y?u#z5^C@9c~5${(! z_x2C{KeuUq9F0uIcy>hwLB`?q+IA~zwm{>`Uvp>?W!sAEM+fT@Xp}I9`UV;NX`))C zOo2v;hAG5Fo@`2r_SPrS_|6!$-zBg$e{8uj1scc2J9t|5$)Uf4D%KHb_&$;!SN@}< z(5s(LH)5z*pW+HMT5q<5IYYi0km5{9Bo<+eQ7YbX*d}*SBV`ISl3H29*9N2LR>hV? zp^?NGwN4VaI4pH9F%%SNR1R_k4VT;WC?lpM290}+Aro_C{a3AdPYeYG8bP0TLDQx6 z=@SYo7M?|;lre6IH6XM$FQ;b{3JNqOWD$($J9E+nE6!5Ho4 z%b?xDVmhajTe*5$m|DMsAY_n;(i91?J52L7-?LA#zFO6;Br`J4k?0qU&A8svHZ9)XeEWE z!_`M9Q=qZ(v=z)4FfWl5qxN1$BZ@J`IEeF)Gu!Fxpn?Josmun3e783v#@M|#(YVSO zUBq#Tx#_?xWePO3M~k(PZcXY>iqU)1(a2|vi(ka=`N9nPd#<2B!#K+rMtEe>`@(l5 zXQ1((F$%=9;i?0E(<1-{1scmY*}}M}^$W>muB!@WTMGjG#OtZOhS??2}_e1XO= z3rEP=uhoDU9S>)t5zH7JRHYETVaF=5 zK%@O>Pgvj@P5;jgR_CB`lQGn;`H9awdMh!stl0vMMscQae79CdQmojTi$)=1d}`qb zy}gFIlVa){wm@U2hbfqkt({AXUU_+Fd}fR`Au@<|?Y@o_jlZ!48fG4PU^V6TPEuUF zmXC(l6ZvuV(nbPxBYM%_^W>LofyUIyR`4gemd*jB#TKA(m@!U^cVYKw>~BoAD*QfM zpfM!O61++pKPAPrLxpH0Fh*ao9&-0q4Khh_Hia$FaL(6qj0Yu zwD|m${?;0wW(zbrUb2AOXTQ_yQ8Vp|(I{q&={>|+VK#Md$$pFtVGA^*Stigfy!9+n z`0JLSQNf4PVH1uIP7K%G_;;s!L@T**GMtQ@+BHRh4SOdf10=-F3|ioDX#rs z3p6r{jbPQ)_4N44W=km=p^Pzmt_1FBO#@ zL|35kk}+(XNnvW%5;~`UC7UhK7*#0V1)=?k9{cEac#lRkV?6vTo<$z*-JR^m?n`We z#$9bYn5b*mkQApPKB6IgDnG8ei2K{K&n%}`;uIAB`&&&jgVtLASrzzEz-KhV8ABr8 zoAK}MIuo*03JNqnT{DBY32&@PVZXT&jmwO2%t8XEjgR*rg|!=7{O@nI(*YLj-c5fw zJ&mi-$YG3l@$NJ2v}qrSp`bt`u7M5MY|C0oigQ}u(I{h#Wbq7dy~pvnr1((G7XSNO z#hSv8;y8Lw(bjp@Xw)!9c(M3An%$$n2KiZRfrfd$8*LF3|;)x>zY zuNI9|#xO9HL0*T(OGuGW6+!QrQ2ommXk;&OfKBWF(sKiAy+&vRJ(C|-ht`RAK{&RjGZUR#Hs%U6j!bY7 zPw=#ELH1+U>LyskFouR$k4*Z!;2$ZD{bUO?+B7r;E0ul{Qf!>j42|oIVP+!c^nEHO zlj6@Uwm{?jNOM?UUPfneGKRN6qku6SO2t}w{yy|GZ+ea`(5MvGYb(e8Jwvvts(ULm zJ~Bqu2Pycxeol{;3PaffjpO}|!5}=C8otfipy5$0|CtXFpNHSh@;tItS0!wL#=OTa zFvaf^y_UN6M_V*P7~_|i7j0f$-j5iU4z=S7G=g>Pp-1Z5C{oyzs$dbv80{`eVQW-@ z3MqWN+j9jPZ?a6mB)Dn@De67wfJHiEZ2l$IdeKv%a~YwlI&uXXvc~ohU)EcP7&@t) zuqa}T;B^uxGX8jy6i1*lSD>-tlN0>8zT90*%gNtYO`3dwP{DUA-q7M;YV3n5VwC za1WiCP*9*Tq`x=#7Z=mQqhoJ0&ND{;BpKZC|MQOQxqlK2`$W79++IcoyK!&q#U)cHo9VT!BWfv1SmPsk@jMLrxCHB8f4&E%t+g zZG8rjB6R)`u0W$HwkddR-)jy5UGHelf-qaop~6CxCwDYub$B z3N+SrwSk~yU0QV09F2wF3;A)iNUTS;qEli8*{Uyp*aD3iHZJfpcy~N08f1<^BZ4s= z43>b8ipmO7)Kstq8X6_`;A&w>kEw?jj6)-ZF;TxNgaN5QeXk_S^!`ZeiJxJj)VhI|tj8QVc zAFj-u@`@BYma_#KEvDGP>Z|91NHM7AGBj>7#`ytKXxRGr0#fvw#ujLdxMdC@-JdNZ zMfKnnXcRI=iFn?5+cOtBC!?T1<64?H7Tr=ozpn;%S%t=D##k$^d95C`kAAlsA7%?Q z=Dc@-1}%EhqwrS^*P!85DnG6)4vO>IA%>60p8H0z1sVr+T;bt^&-4>C__`L2!;Fz# zDubwY13MAp;DL2qfyUq29&qvHS2{arU!sXc0%MHv74L#rJboiFMtiR33N-QqcS6|k z`t(XemDvU?G8iMkMF#y|_Paz31qB-2e;I_}?pOSVdH@Mbis7-Q#p8K@ZQ_9exdMQnk_`w}~sLC1=)Mi6O<118jlDqBLXZ^djpPDJK5gfkrlCgzb{R@&4KqNKt!Ik1Noa zxY80PU%B;-6n8)F#Ns7mTov=8H5bxnlcG_8K3AYIdXhVYe!Xc)im0asSX48{bL4P&I}`ayr)6?C5ZUjkd8;hJmj=e<&!>7-en&dmpROV}=zHM>HZC!}*W|<{th<=VV^AapDRzDlARm z=#|bjWIx>Oov}z|j54t{?nBSZbnJ%pbm0m#!pB+y7=B77#+?dREbaM^!m z=r1*Q;|eq+Vn6i8pMOIP$7**hDi~vOjtq>u{M@Nbfkxa}TUgt>=mIGYzV<+)jxn13 z6z_NTn{!^70u3WQD=?qXn%;qZJl6}2pmOGwd=VA#?}AN+Ui3B zk8%YXWh?EVTiYOdPinbqC>BQ<;`+zfhtuguR8XMNXpAZR%-KyxyV<-5 zG)fpFU0((RE%(u*J_Q9D=}TRpZsh?wf8{?W5{>VSQMJYooEHwEN3RMBG@g7lhUYuV z8j`CN)#?8lJD@mQ2H#*C-p-Dk~R+7e@~LjqTz(Ot|_ zPdGS@e*1jCaSn@Lj8Wtz1&@an^eS1D-g&M-W5^;axV`;qQ?ga2@fWc0doMq((gLMW z_V)+9+IM7iB3Gc{F4j)y^=lcuzhuD7BrGBr!?L3vR5(AR^Cb!jG`8$9f&txi=;{~u zT3tpXg)xqKh&58wudOG0etkGwpz-gnEyOK}4kX2g-^pm?GR6|ImUmuujy@@#c2D67 zG>T3-gP~6ry-y~){0bK3j8P@7tC^kA|4WS2rm0+k#-1k@5WD0Ez00D_k2EZ58Ka9> z>t+1uiF5{1L4k&)rZw0eZZd*w)wa@WXas(cA6MqxWzcf%_%X^9Xq>HY3(bQJuaM&N zgBxf>F-E7U;@Q5G@AUj!L4k&IhBIuR-KUfo1JiDyag{OFiM7=yelY$-io6-=T!BWX z9b$c-TeZfdh>y9AMLuJ^_$IE`?yl1!#q(tuT!DtFp*buVy_R0ha6Whki}#GNBv}IP zNB3RL$()n?gPxPO%Y%m*D2=bYtw^cQE;V75TR)6xjECm1Xz zhHK}0XaqCHs!1|fnEqU*Oo2xAQAY?-SwxRyPBzRzBbG5jJtZ*4I)$EpC@9ca-^v}5 zO5Ew#eOvhejhl?oRopY-so9)<@2Xknas?W9tqef_bqhL&T>ShY7KMzlB|{v;Y1%a) zf2)pOd0c_U@dK`~!mLP_6f5pO!s0VybP4i@Sxcqqq=>Z0=L$5Q>Dq!vaNAa-nBJ!V z3$IV|; zS;OtjFP%y8VoDJj35+qyN~{sTx9wSF3N%K}&;xt5s8ysGGPoFx492j^73*K!ol9qN z6clLWScrMJG*5cY8Pd4~jbg^QDXvEyXg}=<*{Y-zw)mfsZUZA*JfP1T7(~59qlz(( z7)hbo-qm)*P*9-Zq-PGL{k$8KV$y+9G<-hGkE@0mzG9`q$B#)7IO#Q4paI)VAgw}o z8!4K5lwlFd7~5+l;Cv|Aj}&9n-f#sPOS27N&jrNyX z`=7Cpevuznuf?3@n(jIhVr;bh!WC%rm?qwl8}`hW6m7SB#Uh+BKIuzff%hZ&d#<2B z$Q8%t|5kk0*wS;JMhe!Rz(Vf4!_Z;VT`Xc z#9A+Y*XVt(3JNp^c^g6V_)+v5E}`BZH1<`>kE`|KT2Wr>+jOg*M6d-K->VHE!99_F zm&AUmMI(|i)W!R@A3n)EO!jx%@A-P{YI^#9P z?H^a5;p^i7jdkx&B!=1I`kVgm*^E5K7?v#7pbPqYgcLiC*#eE@lgwb)1`~SBuxMgK zG%6S)Gf)D}mOC~g#zZZ)_}|~ElM}o>JC+_HM-Oa_Mjd0s4v;{#>_1O!9i7J(Xn0nc z!tS1%9mrNaYTp!%ps(`d>X%sOE~mUvAt}j49g+K^_o^_ z6fnldSYOzB=HPo}3N#`co5Q(QM`w^?>YX-dd}IuhE;4BL*Nh(TPOM-HH1aGh;QN#2 z^b?$r*bWVkD*4ZR*f9ybnO8@T6Q?|83p5@dvxTmb5p=ZM-fWLX2xD{<&pSu&a*85* zuAo38t&ce@eEKDw6hGoSq7la!rF|sOKHsYiDSEHz#1&`^nCT4H8|2cvUW{gT!6Kb8 zW{YDub%&Vy#86P6@v)C7SdPm6K#LLG&?sVzOXApP+CtC%$`ojfmhOaBCtI{9MR<=M zXjC%BlUT9Ngr3nQWePMxci6+*oP$NA7}%^A8s6XJ$5mCBSjX$tV0wK}L4n4dU`No7 zU4McYOMdi5<0xY+6z{2ynygQc859&~#D8#sE>~O9BY=~oebG427-|ju;N0*wN)>1f zZ)XA~O{H|EDC>bL8kvkSSj@>7CgfR@Jy%emv8}f`lpF2(LyEnr1JEd8jF%UsaK~sr zy$fl=jDcK%M#57oh<-kTUYlqZqlU$I#xN0cmZl3X(BqQ1%hb67jjg{;pmE>4*H@?wm>7fzzXyR&%8_a<936QXxw9r z2(eD8d;PYa$`oj1Ct86@r|gBK$p115jZ(&N7tcFyUM8cTc^j+IT!F^j2s3!QVFCT7 z-mEhQi(ia!URwe!+lA04a+mL73pDzA7{M7YpD$!TI+~6{!|#XuxH>83ebVO4*s4r{ zMtLh|7?IK0kQBW)PCz4qF+SImfqhrIZloChk1fzR+|(T=l&+-n)Ycy-p^?HEZ53N$9DiT7rFT~R`cfD3>|Eo00R`?1OWluVfdjdn|2LEA%({(m$* zF%ylzYWZf=@Z|B@5hJpeOt712BSo@R~o&08_5ycpVhsC;sx6kb$hJpeO%VKAk zo${aS&Rd=4qH&cm%0Bu+V%BJS?M^{~M$8IR7}#1uzkNV|J{tLqAraT3UR8H7Ap4=9 zKtr~~3U0c({36AIwF}XB&lq{)-2(pGhbRO z1L@XadL>RlfrhH9Ef{2vqgNWDM=nJpm@yu9l7Ro{J@hkIP@oZd-3%hP-k|f;gL*AT zBbG6`i*q$CZRH9y#%;2J7l%L5b58pfE77>g7*E8z2U0F~r!$ZW3N$(!8G?6ww|w$> z=>A-VMj>N-9w&pygrSp_DbToo(*PQbdrZG~)5_MM@tHB|E=%E5MkxI}6clLWZ?u75 zEsN)nt+Ic(4h^qg^5ZH|Tr1lCKAFzk)veLw3N&if%wW95+@-|0vP}z%!;H~XthY46 zW{bKq1sW&M8N*-c4?1W0ars6x5*VY&3_qx@)}f!Ef&vZmJZCtUnMB7`=G0ASWH3f2 z8}YvFn>+WB{ZLS#am`Eu`zHFEoc-oMxb~f{jsi*Kb0xaC>?DN{~mhLbDUG1 zx1v$S7|knu;m*f(^h{Vmfkt4w6*SlWN{^P}8*WF#=ePX0vJmIBs-8_3k^N9mpwU6R zo4i`9ML8*kSL&h>$`~c$e$njW<@9VqL4iicljh)XX2(@xxIfoJBat!u#X70|cHE#x z$O;NH5+d!PN!EW>LU7O4Mgk_ zq6(bAVzWB^uf5vV3XRK*u`5#wjT)ENk*!itppiDm6z+_;7DtMjT5B|N7-MOgm_vR! z!&R9AjR$=#V8r{|v83qp-WH8A#%MB8tnu4xLbWml8fWXfgWqO7`pdcUi9H%MjA64y z0-cXcN+gDY0*zBaj_@_}GMz&nm+pwhzCZHgD({;VW_}t*ul%IyJ8=aXvkb)gqW#}) zB3tD=)&+}5#^}{q3bq<|ok_8MEnA?mE!-ZutJh5;MQ}eiG*TI3j(8Ti>7OBaq&PT> zEzmG9FoUIif&)llH*yymd5lqcQM@bOYXklEQBa_9Lczy1PtxWO%7`yMk9RK(6X^?baXgxZTgQ z>)AP;=Rzanf+@_?oj|v6V}E&~apGL0*$e2EJ1o8i2g_Ye!Cxy z2*#L}A?}&@_;ms?loV)q{d0o54e!ujFfL1iMlxfZ7WW7nWckzM#K%@ru0X>z$Qd@w zX-#Jb_fD5%k;@n+iBfR0@Ssmx)NWx5G-@iWV123mShD7$hkK(@#uz^0y#_-T=hY)c z?Wz+@kPV^pW<)cuT~0$Q$ux$p`<|L%pxbKENMxvN4*$y5RIdZ zajSuNp0nN2CB!(K$rfnz+h7KZJeSk$uG96yXhbna<|!$x{n+ghF_aW&v>9##Q|J28 z6=KqGRoGu++l)`=`t2h$T+c-AP6 zt1jYvaL&W_H%Z}G!4_!bCFsLJ*-cvX*>Dn#K*oq(BZsoh3)&LHQYDxx&`35mgYfV{ zW~6wvI0TCr#xNB3mkiPfrpLPpr`ZCHgi1r0ermvNVqEhJMdLnWw0JFnyqDANkRm6A zEzofIX$QBrxA{tnV9zi#3K(PjA}_Ej*h%lp_>#*OXl(Ce1HZ2L(`%{eXTs5_WQ^w7 zQaJj=bvIe6)$iE?jV8H9Fvl>@ixl-=MxY_7RUB6-Po&WEs7VMZ)(<()6==Nn)facx z%%a=f`07Y3f*B)2T$?zu(}-T-T|DIiSD+E_(;n7MoI_^^H#WV9MI2+ee3yXQnE`Yp z{#(ozXiWAogb_^}xso-XIs6hD8H};TNql4dMq_nSjCW-VG&JI^VOUvh3sR_Wyo|;h z#<-g<1&6}!Wuz$fV+%AQ?ablNMWfNAh&p%$jVi|IQ6`>!9o=OmDGE~90*zEHW9alr zg&r+!xqKB3FV{wc+o`otQ`0uJv>ah&u|?mc!(OrfINf~58DhAWvjrMWgH6Es*a>?5 zt+GZTFtviiZ{&?u}ENyfC?FGx4-j^6rFV0 z0*&{cCeYMt5?%9#$w_ErF~%Dk89dYojG%`4O|C$rGRX}lX8X{++PV+PSd=hE_)|IT zzwPTu4C|q{xB`vtZ;T*h)MEPo(c$@REdDaavv*QxJ?~k2V&o0I!xd=MTWt*5kr8yB zVRl{$7JhDu6bqVbV21`FeI<5YU=lQJrkE6})CVh8)o@kaCKMw&5w`uf_iVKRFb7yxtT4{@O$G34=p|E-dS5a8x4QPxD+jev+)~V z6T{V+EznpYae;vbSLrcB&yhK3L^8%79Vz_#(_M`i*UZ@hjV3`BuzAtua#F->%thli zV|*0vJ@?ZK8%2tRC)omx{7)9J)b1MHURfICp^?WJl4L0uZw{ezOU)wL0uAq-yWvLa zrha6pKF@uD#uvt@G!yq4)Xa1w#iVq$KqDq!9}!|8r?@}`mzNYwv(N~IJ=-VS*rNz*J#{h44vcRI_J))08-=!z2OQp9@^-E zUbTxRDWassSmZN?rTG3w%xVL=9!d%{)`)%7?L8goJlr+A5;Q6pqg`KdAM&9=^vaKt z0*$@_=3srZD;*^rcb1~D-$QX+jrae*Ie=D!$(k!E(2y7Gg0-s)_mU!e`A0N@7-OKg zMnB=#maTOu(D+bn1@EP?TBI0orwol)#%MB51|Cx@>2>E8#cY8_d6+8{xh`Hyj1iB& zppniPJ043RIbqYVx)f+c^)Z7Dy=ucqp_){VMiFB)75BHF8upZgLrHV+Z701=Ftui?M?0}rC zxsn2nE>c%$N7HFI(vWuhFZ>+2McC$YhK*oxR}di2jMhP*R|g>Te3W)}_$-D=+_l zXcRNXx?|!UbTc>6*(fCi8meoIL9g;GU5}qzYtg7?jAL8HJw;Ql(4uk=TcBY!-V{Rg z_thtB{>QAI?*D(L!N*f^T>aIR!H$TDL8P#*WD7K`ob_Qz+Sg{J7^tg?Mi^tbh;4hn z^SkJ==#JNHfrfp6BUElsn?nput%hhMGDdYnITY^CrT0L_XR-wv&0MYE*5o)#Vwg{8 zj7BzNw3sP{8%KJ|ND+CREzr1m#R~RyNNh!lN&T9lQOXz&Bc$-P(@%Q+BP*OO&``Ir z1@DYY^#9zmZ8J1#7^6(g`}8*+)`l!q^Nlt&(=GxS-t&CxitPjOr&iuuGQ z4K)W5LrH@${dIwOsq8~iY9g+>Hp?B6WDqZnvdMU3CRY=H(Cn81a3i?5KvBc%-* z$&4{iM{EAvj0I)4lU(vvyeIGDg%>DST)-?EzV;h3(sO1sYv? zTfqE+exFI9y0HTmWsGsnQ3A7npRXW=Sv_^GK*Ro+cy~erH9EJ{^kGLV-1jT~=6{pL zJDna4DkR3Y&uoE4Ut24v*fHq>DVn_OjK)#Muo2&n(y@JcsV)T?r8~qocs|ag|AW2m zcSR$LF@}iatA}g%A18*A0*zHe%%R7wZW*L7n$R7M6vlA3l0rz}QhL0*ZXH{o@vh%a zu=lS=w^t|n^+e+ZV|b5{!HVBGbX#(AE?c0HpJfKi4h*343u-_juT* zKNf+E;cYFxwKe=c9f?W`G+J(T1mka&*NLH8I{=Ls#`yhEJY$lhMz12@Iz5mp&?w4v z1-FtZFNv|;XD}A`8RP76IUN5SHMK4U8nYi5!I-yM#iZEgJQR%r#<*=E1-sOS&q(3d zYZzCcktm+?y7)-eloTCWjliOkF}8_k$tp|E(5se83N&my%%EGuLAsB+^k*a*5{crt z+7Kk3qxZ_E^ChE#HMs(f(J4zq(H+z z-xMaC)TBqq?N?4j;|*iXdmx@Avx_z(Yp$d~W7ZH8@C~e`WB1YY$!JtDM!-)gOr9|B zC^4*3*aD5`D|f)GKJDny>ziRy(eRQgj;nVAq|o41xj8YqU1AF~98LMU)5#@y@O7}ZWdRd5i#BljB`HH(f;oBY%EF`qpgY${M@^q z9$$^}oWm7pY&5ok>wjC(Yb^UL=V9@eF>I!JgG=C;^JLAH6liP+5a08PRvSnPm(2^% z@RKQyEA`uQ*uE`pRb2`+Z2ZkZv-xAXrIszyLL;0pT8Q_~5^m1a=W zJfksLs>zcUp^?NG4|~cX=F!?;9Epyn$3B5amZ9;HG0LiB&@E=$2C^RguCWCgGsOFSsxxKuYTxLv6==B1 z6@T+fbEPmux1Sas6u0TVt)CR6y zm1&ZqgXE^a18VBfV|fkuG3D;z0bO^@Mb8?VFSHe=it$L(tV!^acD zuAD8K8iepi~PxQEC`i9M1fkuwF zmvhJNwu^{S@5~k~0vKbnr}$p#ivjc=7MBHExdM&tmz|*C{;^BMm^N-Z7SW6`_qn*P z)^{Bpi9^<~1sW??8NpDaPjqgn?d+Xs++&Py84~E?G=rYkDk;!N+hhy|?}Jy8^(Y^y zhekeQWZaWNi-N_&>r$XGeTXfb%Ct`)Mc3{IXjCx9EpZRzu!-}J)uljVZ#@eb`|UM7 zgRD_ALSw(T;<(BfErs<1je8JdyBAxaA?s!dKRzeYJ*T6i2^v9+@#ls3u4UM;-_!_X z3p85KF@m7U2RukI_?;;lv5c`rBF;aa48Bi_@B?OCfyUwC4iNIZGrdZdw#ovFbjFy` zRvfptjq6N|XdAXbBYvAT4D?WaM2gX~tk5W83_CR$>@+XAL5g16*#eEVPWqr@F<+Gw z@0Z%3@slyWe3QaVZD;zoQc|GNYJdgERPNC&!_TR9XvlmN$5nkFv9J9)moAl(0*xg( zPLQY)*@vvh!@&+{gfNCxnE0Ns&YciaNTb*SjSrqS5c;v@KT@1I?u14>V|42+?ltf( znMDe(M7BUOT`quVQI=w>nHHd!izBd%x^ zGsgTPaeTEr@>N|5G!{0rhXGwS(=GKC4|g=G8RNu5G1r&8_8u{m6li3L?>mPS*X$$3 zesd2re0&wh)#}^g9b1>q(b*^^1sdZP7(<&)t?1UrMb{IJFvbWKb7U=y))tVZQc|E1 zTxbG!yB(%WrLVOgjYP)iT`Znm+Po*87)lB>Jaa7|M_>CnDK1QqppnfOn-5Ar@~DVj zeN|GRp*_b2mTb$XcR)n-lc7<{81=;V%KFBuY_e2J3N((STflKx6v{OSqVRU<)avDn4i&@>3jF6K8wD4V7;6Ot?0bEzr2x!4)d2yeAUl zfUh4K5saZFzESmP#X35RqohE?>Zm<%{%K4zphS*jlO4|4?? z)p3?kx$YG$(hU8v$YqSv@lq)Ibea}3zOn@xW)ocDidI!CvQ!<{9Yv#zF>Z-x!`rS* z-9rkke6~QN;;lY(da%`=6kX;9py7T{@i#wjCWl+jk#|UOA&o82FbHyh;$!RS|M{}f zfoL3MjM7ROELeP{IWhLfu>~44hC9RW{JC;c1e^{+BZ@IbUy#ABd|$fV-J8M|Xw)}x zg+9~k`4Qu5bTAqzjB)?76oRfw@=4(`<`h?;vE-#W1Z=9EPl~odAy~X%jFB2Lm?bNG zL<+55r?~=+gi}^<IYNVa0LvY>T)z%5!3)x)f;G#+yL<;b-V* z-*@v08o`XA*HApGA9?IBG2DvS0*#5zR`7k+#2=)vkGzUT9Ai8c->z{THa?vcyB@Ly z8gGhR!8z1#1S!u9G~O`Abnz~| zb06(YN#T8#EztNr(-;EhR?@kp8Rdy+R56C7c*j=tj>C~NfT2r)8E zZgB+~4Q`o3lZqBaq)5@ZgGB;kbQRYJFLrnoQI`UZ%_WYoS2m0uCmJufi$)e>oO>*X zk=8qsiJ_!GBT4)Z&RTfMpA_51rJ_;77!BrmK}q)q^eS27mu!K?jyN~CAHA6#=_jS8 zq4Ae7?nX$VVZ+;W22x3Z#-kM$AQ@^-e?f=X2Wa>mQ5;wQcTeh$o}tlX&7;O=a0MD6 zUZxN&*`!U1;yIaEgfoW4F7aNRqVMzSQlOEY;Q-m+Z`0p=^5`ryk{H8muM8qmbm%Xr zq(DPWW&{m&ZaI^sT37oRjU2}KDZbU1t@odAjLhtr%@t@I`eFzt^ULZJ<6rX}EIu;E zS@E8UpXCR-)ulkAfq1V$H@hC0q?la&6b;v-iodyhj2s3z8qt|ld*@uPK;vF-Cur9! zmu|0eOP*oj&lpW7%3#@VlUTA;+6H-CfrixvbGY)jAsr=`pFGDRk}_kYmKC zSp9-4(2#vI14(F&3MsB7zr^A;Vd|`~mt;N{YI!6CLloV*J-{TCvDi-v} z^2NT_Xm}h`99K8X#qrh9GihY0loV*hO}2sAKhzhJ;<(jYGy)jIMq3W1OI2T!Vo()Z zpfSMD9c<@K_)LoU;&*67GsZ%3-_q8F5p;ikrC|wIppooo4Q?H$)1vF*_gLIxj0uyx zAZ*zJ`kNoEU<)+%>D$1;hw~qj_2@GB0~+~^ajZrHL#O%~lVWZmTcDBf#s(71AJQYs z#{)j0QNb9W8%Uwi+fj7uW0%1eXlyUAgyajcv&d4dIQkil{Q-*Os_`r-XlTD)L5hjj z*aD6EfyNNM@7^9#B!+!OBZx6v=7@XGwW9{qr9h+WAsa}GHm0+KGY)=3BbG7VUGRp( z9ox}kY9$34rW?&5w*N&sYp~MwI~wVX@nxG7*14$CYhFqUG$y;+LR*uAhGfkr8UH|| zh%r>f`(BUzyd$eifyRfWmQX)Ckj_jrcl?FMPsVT%_a}~i<}{5M5Xly34DM|M!9xbz zC577j-)P8=D~>CJWinWpbamNx$GkQly8}+w}jRnG7440*#M1#GL+Ny9>m~b83i&PoUzsYSdB+<$3z_%u7ju zM!zH*@r8GY0Y&(%%QNMwvg;`~F) zJkOP^xsn2n{4{6q=rED~53Zfn42^8YnAk)P2Cc`Z5<^LWhO@CFIQ7k=M;X^fwm_ql zF@{%5U@aW@M+_we8Vlze!>3N>y+~2ptrZ$Ij4|zzH)uFMd|Q_Sjqz>tVW+FfAyOP| z)&`A3Cltq3%uyK}t*KpAmjaFMSIpo+&k`vq+B9v4Mg(I#ij~4J{U!9cT}gpP-~e0r zlb1n_@g?oiNM?)?SLG0#d+!lhsxy)fT!99NYhHamZ5T@m{U_>JqcM;ZLG*qV_DO>_H&^XE%MLWdzYm0VnBZVq-;|esa z0!(22f%SJt;jynf7Ez3GLwvJ%X(xU93!WI#gDcQ*4K)VKllk=QuCrB7EK(T5P*Vz@ z9p%(G`im{laG2@<+Gl*;k@e8p(i@Ezj3JpV-a{Yuo}NJ-C}s;Zx;vY|fTdUW5~Jth zzG##)#$|mOxFud}ONxjJwm>7<*9|_DPAVhCrpf)$@I0wFt_D1lh^=TnIVtuRvIQE; zrdYzbeSd68QFeYH8i9(TcDvS-a)tbZ^=kvG))+cMhs(Uh;M+Z z+|OJ_im0hWxB`tnz0Ki5+T#VJa2q@fi~EdGnHuVRCH`y5~IK zaReF#jA3Rc1uMhebn6o`fi2KT@-+i>&(eBish0KAM5B^1&Wm?{7P`gQ)TKaUnUO0D zDi}-)-?pRCkOV7^tBc~<@RRWd?TDeIK%?xc9R!wcqj#8k){a3Vm@$0Sr0_?pBfaZI zNrA@0YzNRY8}o@Q)tj<$Xv8r_FCQ`Y8vTrJeUudc`#q{H;ijzhDPl;UPe3DsF?x)Y z!mO)n=-s$V3N-qMy1=<8`2%8D-3u;dwB{P zRg5v?w3sh(d-ky|1scC!7{RQk`^J%Cb?`JayiO^Ot0~`PFj>3FV^T=^09T-qeBBlX z4x00w6kX)gu?S_1d23|w=la+Ybt%v&%6Eq6Z71|6g`UGqG!hsiPrNH^(Y(v{q&V@9 zEzr`V(g(j*Cohts^4VN0N*KdK z-22g0qTiSl&#Tx1jpD1~KK-quR7ufb_Ixz{GRB^va+r7hEuCAkDrE~aHg&fK4VAv7 z#5fYW5DmW&#c_3@z8rdlJ@`e615eok4Vk+mSnTg{ixlR!wb2M?46Si;uq{?yT$ch3 z4?igS! zxJ0#A4q1;`GnR1$8iPC8!SUUb9Z69=Yy}n{8N)}sE6l5(Cf#!?DbUyxUY{rGNh4S2bZER|E`S}YDlJiULig=xL^DQ11Mv;%g9|9h%vf}Ymn{!G@(~`?H{lO8p|G= z!bSc0bY9e_y%`#@jPXHykN&8R=5?}Esqt)qMq!K_^t9f!mK5n{EYL`2jQc;u|3}Ki zNp&gEa4WS0-3^s@N%6?s3XLMhc(7dtgA(H1NfGbI7HF907{Rjv(R6!tXSWR+KN;hP zcrWML>uS%4p`<|LezXOIc=UWuiX0<5G-P3l<4RjRW8!u#gU(EhDrXBcRMuNT)Ph2K z#!{W{fJO*o92M7!*4{E0PL}HJKej+aKE(*M_qfr0)R=T9G~yY`ko_JnuRCjuPP)UJ?Nsa{+ zUW)xg3@_*XXe2VmLGc{qo()O#+Juq<4OKfgXwY>I-Cn&ikf4#x81HY0_b2*Hq4PdU z3N)HsG>5)pcG9EQn`>lflrqLx@r{v{0l!Mfnky;LSgv9QIn5kylA>z17aBE;VI;1x z9V`z!_U6&pCZlv(M!xm_SHL`{8Uz^eMs6ovSp^?lOzy68)Wb{vLAx3UA zTcFWsvMFpCs7sH1e19KCBbPCrW=X;F($r95+&Z!Dyr~Mm_QVlHy;h==Q41Ted($|E&#d^Zi86amt5;pz(q+##e~< zh2MOoP1Zv@i!IPlQL}~v+xyc0bCnyRXp}QXT!MHuW0OxqVkjxl*pX}m3F%Ylf9;xx zFf=?P6vx%cS2EcDyc3<}JTdGnSD-QLtONWuxUh{ZRktJISOhZ02Jw3YhfDjC!nVsf zu0W%zt1Xmni=;;~)q5hah+zyf@%%@@py8v4p`<`#?p9MUZBh1w6c5cJ(YVhTp5h*_ ze;@2~>r$ZM?ym<8TfSIBitihv&?sPxc<~HYQQ{tYOg-i`TcDxQ+zfVnUUZ)rs#?)# zR5Hf%!BV*Gc&>&NI$zlWjd8=Rpe;yVYtD!|FO)pmAfL zDLmfxdps$A^^HX%m@zyGr4ZV_)|V8A(%1qG)ht_hV>E{DahA1>LnDqcRK>R-E_`TB zXXx$Y*aD5_*Dc}G5tWu?se0F5MI(bTlEib{YnOhiAcfAJc&dXWu!k>X)h8XA5V6vx%l-%^;Q zA3i}$@GhJ_>pjc~@e`Bo0=3uEasKS~NTn#Sw_^Wc_r|B-H=iAEA* zTzDpfMP2)JCrj1kA6uZIG06s`dJ}C(k+L%jjU2{^lFOlZx5?4E6liGOwt-f=ThTMG zV=J@K_{bPF|D@2V!GFFhqohD%oTdTvOE;lM$jfKspy3*&_?xeoD20i^IwoX2%2U_^ zjf4X>u(VwX9f^yE=c3`y80#iU;cnTS1n36x|zK?~;c`Bx5WY;tg)6 zhia1bP*R}LL`A&kuHhVd9@VAE3p8#sMoEg;pLf4Jm>5f>Y=K7YOG^-M!Zjj=u3bJF zd5oblT?VVnC)5Ah#mCqJjif9~s7MZvCB~n<1!#O>jK=G|!1qeznYt8c?C)U)sfE3U zl46%-5gHyB6~|StQDU3;`53)>M@fN3{Tr5GV|j-Df*Ur!K_h@M66ea`R1=v7St=z3 z8tJu`kk?*~Ud_;1RE$P6W87UXhs30@^bR2<1seHz7NFMSBfZ8lYf=ds_ZXwQh79Tj zExt|GLrH;#T)eYp>mc8=q&P946pehwSR<|#HELR)K5tMI!4_!vhB$%Bboy@FgKU#5Ic{~=!aMLe*Cq}cqY=Oqd zS7x9+WGua6lKbT|8bOSqCyq-@j?{Zh3~P%oT!BWpvDnw1DsU!6_x!I|#4^Ssdl}@7 zY7#?=C7a5*0*%F!%pkPWLpp14{{A;C(itP|i+B&c;rDgKm||SP6=-PeGJ)!2k0z7i z!@5c=iWsBGGV%VBop1kh)W;WSq}3Wi$EGg|iD5VICmKH)V{@qt(rz8JBSlm?TcFWd z;s#^Z|7U);=a?!qWS11jmAZIeM&_~)mBh%-V+%Bb6RqLvnuA?QArGxaBZM)2WlCXn z&p{5PaJtqcY znT&BVNeW?uZ0HtFNr6Urr7e85{$NZDJDJL6eEx$mu8DWh?a$kCur37}gRj~^VZ@N8 zr08W|AB}3p(9D;Ef6P#N^s1yl!>yAkn5TEUON@a#8=&D6qd2Y>>Po>g3Fz6jk^+tM z4V>Y8w*^Cpp}C?F8eyE#PX-R}DqoPIESD|ND3I;~+3V|c?)BB3CTJuwMy)uHa_D42 z=lbpxvjrMYYpldOm;2B=AXKu|(8y*CnRvz|e?~_-1F57yL$=of){JPpimZ8LQgbv) z8ROw`2{d^gabbZb&vJKqwG8pg==lERf)ljtv~q(CF(hdGQ%tzS!w zLq}Vqap4<m+#-u*R z@LF=xmK5JD+M|)o7~OtLz;cbBe_aYR@~muNriL#4%~dw5qmj!P7mrH8`(PlwPew_B zhRZHfIN&$wI$5f8?M`TvF-FICGN@5`HMcGW8Vh$Cf!)3Hdr8rFQWrGbV-*=uxq?mDoEzp={V+_p>`_ZjW`v?s*jxt8Rc<;x8J`*<(L+t@upivfX0=pJ!9U+B% zyY6U2F~&np86;?%(WAbTSJ?uM>l19i_3GRn#Mr6Q6O9zcFzg_QgsD&Ie7o8iwm?H| zzW9bh(V`B-IRCj98ZQ_lSIqBz{g?fR6s2apxdM&!;l^OP(Vd=0?S9b*i*m*&6z81R z%**MS@NbvCT!F^R)>bg#(vEzxR7I)%u<*R1IIgtBGe6^|&7gBKEsgqf1sY8x7NC1J zlb$=@h#i1MAY=TzB#wPv&Zb+RH4_GM1sZR9yTaWly`N+~l1>f6B8D-Ziu+!7jXims z6qR!Za|If);y&a?%~y0GMfcG|vAE9|i^Mly`n&4W^K&Hy8UebNQ1x!vG-9at9F9f- zW0)+Lg7b$yrgbUM7=7Cs3LLKGkz!Aak!VyhhL(8mdA}dMcGRUnzmGv|kG_8C|=Kz!x zXp9%XN7jdp3B;JyWjY$6jInH?91b3DOxHt6fritTJz$&HO^+BG8qY){fib3t_o_J_ zzcHvT1sX$iY@oqSwOms4tDJ>K7H5dRRo6d(^a$Xt?QE_<<8Q8=_||VC-CkL~o`XdR zW0;F?lS_Su(*MCL+vjox8spU6pvAMTbcSVA<~%I^GRD9ja&QXouS?ea?y~t@friOp zYtX!LqKFjht}npCFJ5t6E$k?cefFKVCdJ`t3%LS~;)W*Rr5+hgiiP1?ScEgi`Z+S_ zH0moohU>IQn=82Ij8GVpy7Sa5EhM6q2~r?+b>7sBV*J&7T>&AEgeVJpQ2l8B?TIpY2qHp`5hjRH6J@) z7mY8B@k_in>P6YGO?4^Icp&C?cdGPBBgN^lo6+z{P#jll=gVNJLjwItLtQc!#+3p673Sixw^ zE0al)Khq42SjI>gDg(7+9q3i$*7w)~4eb+p;5*nhk{CTMTcDB77!gb4@MmAsC8X$_ z!xm^%8|cBeA0~fE@$RG*8byq;tc$q6r2d0=Qe-Bx1sbzu)^LB(iE2{xm)oH6lQA3) zN+EpmPWpTFi((5j-V8E=vC%2?dep$(O*1mcL^QG|HM-fkoIPIuai(aYdt;F$Rct zS!Ay^q_b-4pRffQ!|s_v(CVTvA2c!12K&)SWQ=wVWiaJVTRNBVC7dnL_$lsz>}6<@Mb;zLN`gi?*TsHlL~ur~6h>|cH>yj4MkjGUb?x*UD@gIN%ONz98Dl{YDcraG zMvvPcO=b%;RMyx+*Kg~~h@sZRAB|kb=p&x_+1;v-B`N9;Vhc2^3T>gmjLKo8_*8iW zjWWi#t}f0$p0_$hiWeP@as?V553S*vWG(&c9??C9h5Jp#-+c5`ac(eLKam)q8o(83 zH2-1>1^Mr&@m1?M7DpMQ>n<-SDBnTn;Rctp1sXk^%|UcWf>A(y}`#nw?_{G{V=|L-o5$mq?M) z_7oZ~7-N>0Bl}P@v?(dFGuQ$R_kkAhc1bZc{+>IHMmb}&SCPV&k-7BvN=bpnYHNF# zdekM7EY&stGiZ1wD~_uh_r?Fm?>#T;QlO#T%?h*v?(`vrn#Wl*0vTgwoE$3Gboo`6 z0*w*C7OK^IcoU2+bM7{+KGFRnY^ICH2j1sW&44PmBHnguD2Z#<92ea0A(AikH{ zZf<*0JgpbW6=>9-ZVcZt2A?N|{=y4b6fnkP@lK8(XA0YqqWxF4KtuC}9-NOE(3TV# zFE64|$r$s+dnR0uMUJmafkvQs*3#3gnvSapX_wHD+)^A@?hQJ|T}C6AF`lML;e89IPQ*x_7|RuC+!Wt9RBcqPO^T$`SFng51QR4a9%A`4KNYQ$1JQf*@(Rhp$J|@J{vs5Jo8Xaf5gXX&YvBZe%m4L<@ z#xNQ#h4`n=#-x~gk1f!6lWq?~)n@yXqIIi8G^!Y5K{FZrTQal-DHdF23pAE$8^OS= zzB5Si=Fbf@ylyLwtIJVxh&2kJ*J}?3CvgQDlNUL{#6}Y~5+l$!8H-THc$?w{H9w2# zcK47MTcEM0wLRn>|3lC23LI~vk-!+LC&YIeMzx}Mo+&BNSmks^D(|ud8dcvM;h~=AVN%45NJqo(j^el~mr7xf=f0t& z$bG^VXx!ar2(Kp;&L&0ny9_kK8Kakz*w>!Pdr_AHjUpFwSUX|UK2kJ|$wVWGF>J!b zoc`S4wRI`bNC`KBNiC+0Acfk=EHrW$V`2vx9I3kaoD_X$J?08DUfP(z@Q84F{&9HZ z6D&S5hPU{pcUa+~0%9mB&^W4X1@-41P$NZVx2I^hrYQdA&U)heI3{WIxP8DWwm@S= zr3FNvN=+q3a?~?4{261-A#ojNa`2?O6li>yZw8fV`{~@$>*LSSh-3^aQyGl>lF*nK zN(wYql@)%>c z*e34%+&82y1sa_PS%7wo%Y9NDZ(M}N7sjwVAinz=mrwT}N(wZ(it}^rm>YDC?0n^G zG(7Gqj;m|py!Mf2AA0nvq(CFH$`~qRW(^?gasTyOGy)i-cZ@i`dfvypE(ID}GQ~5z z%@@)mnTX7HXhbuHj+k3AxjSkMF_aW&obPH5b7p>@Ns5+<@6ou&7%jy!?zv?N+v-xF zF=?+Ee9ZKvckg@-|A0n5V^oRX{OgyNX~a-cpz*1X5qP{_dYTjl{-4mOV2r4F;yo;l zw%U>6YUeVpK;ux^K^!B>W)ct8FJ8byrJS6nyfKlTir z@$$aT7HD`p7xyz{Y0z!^vG8AL{A3L8B{F#WU`Ri*RIX`kfyOu+GjQEjIG+@^;(ntc zOH~|Kr|-(3o#bZAx)f-%Z(s#)FYj(cikqkZpb^3tqepu|n?kWHLs5@!qI8P2bY<+9DN| zE&u;%4qBj*(bodDx!WuvOSRFU9u~!nF-$y{dOv+RJ$iL$S)VJ=$lhTC;|`vo?*owi zQN^N~G1A0)YxC!S3MWgYq(Ecn3upN9?gc$R-&xua4WIjp<7!!)I3H|%?guf3%Nub8 z8eZNmu+43Jb5i_y+8B#4#>nxJ!MZWM>Dk0QhbCNsM({E-nBaJm&fHbsZi+=BV`TM{ zLDtbk660#(o}@YzXbkP(26JD!&@Ds#?d{NrV2mmo zaqoHPOCU?7)ucUFpz*D*5kwx`q)UpP%Q|3@%ov?NN+Ig>A9|Fr`v+T~kvi1|ocpf` zCdRO79nr{Tj0s9#mMzfmAFdBa!u<5fU-xtCVQAcE4D|{rEY2;Y`@tcH z*aD3?h5KRG>?4uHnC~_MjRMAK+Di&ekB^~8mLo&h0*${eX0YbA_90@d^43J7k}>+; z7T-4j?Y?y>(8$^62;)tH=yumsXEYj;48?KP%TwG(Hm7zWF$|p80*!V$CQv_9o!&XH zSbr=U!Hlv0oD8JqA#_GqNrA??;RayYu*`}qmHF!NXv8tbP4T_d%$b)0>QbO#TVoCt zwO8m2OSf4Q(a2zob|n(f+-0$!7|!q60u9TKj&R+h5nU?1%ahS~!x$49$e{M#yfR`e z&0z~P=7igTyH1lpQdk8~MWc!_MvCJS>FZB1q}XwbEzs~+cM$g>&!PJdeL0}v^-ytK zjcF@~BP*tlC&ub1wm_rV10zVA7)iHq84feh2xW{Wfl}yFdd`;^3CGz2jWZ{0z(eC4 z9qk)-%|auAF~Y?CaCRMkTN7jMezriP%SlssvmmAiDWbDxqmjiJ5?}G$c0h}_So~#- zd||BUv4S3v87x`A6=*!$ZU^o2-(Dq4wYsYo7JiwE<0|T?98ToVruS@5p28Mr4Bc)D z52`Zh>|oHKMQDUG#^zh%z0UKx^dw8Aq(I|WgqYJmP;U|`0@RnFk;E8Io5j0D<|PfT zOM!;Ac;}f>pM~_eWWVY%G;$c@_&O;p>;A)^7E2Jpjyb2B1M~c7sZZ+}!T2&2tb*aFOEzme6o>%LY z7Ux8aSBuu5;m;VAVlF%{dh-cVWSg)B8qr~UV0Z3n2U5gMT8Bm?W2`tYgV@yF^t$tD z9kxJYlz2Ad$(!fPh|zGM4jQ)^L%o3noI5AcyI9p0umu{&pWDD)>)CWYvf6J%Babl} zi0=Y?0!weQRB>b30uAY54@h;a@ghY^?@efYVT>Q&q%gF&6}>xJNr8r;xf7Vqe@bU@ zcDCArhDVm-xbhV9iF1yhq%+$}3N-$S@0cX7)Q=_Wap2`vGy)i7Ph;^uvc^L$k;36G zTl~++vVeDPZgjhA@L@X|(Tt(iO$rxZ-KEMt`n-sEWwm`$^h#@qb+-Er{d`=jlvH!8+xOyV)TROG+BAp{sQlOEY zZ3f?^J|Bs3Phx^b5Mw+)E6&dcSX`@1frdx?9yl&tp+O2QTQf9b8KcDr@s0I%ZOZFX zpkemL7CigIAX04GZh=NRW8_pzVU<%mdaWqnJzJpR|IQqwYN^J=Xt>M@jUvX#S}BA0 z5lfGeA|i(^(3suK8fM*U^p_Nx(`?ZA$r$0EWMCI*JfSWH8qw|SLHAzu22vCbwnIaf ztvIgwh-a{NNS~}E#l9%EK*RmAD{PbP=ue6d9UagJVT>m!;$28PYlqdPKto+T`|4ZT zjIR0f22NRGlX$xS z7_-EkE6~`IX96=ao73Z~6Y+bn@Oh#*t~xc6!)M!#-N{n@n(V<9XxMm&{h;67sideF z=!r!bV>H?-1Id(r4@mK90b8K)FWn3#57BH#igfk;Xe2Vm3TG+gJ~F4XwJGD-0u8$i zI~edSyo4AoeI;mQbB2z1m-jK7=(-eW^nPmyxs%OakRqgw42@F8C~GN$p2@G*lH&Ox zwm@S{kQJQiF-DaXJ8R@<)G&rtxp?2whxL0%G48Y%SD=wrU<&j4FQfaxnWjEi9LiA~ zSCgFTLEBlO5pNr6VnZ(Eq{XO&6TyyAKk8U>8eS5FF; z3Xa>8Vgg*`3N!{bw1M(fPh&`NJv&xi8Pkd248X1gn zQoL(2Wb5xpvL09KUE>Ng4qUc^O`)CXwtd5w1T5Y##`s1uC_UmvDOhAN#^X2Q8;2MF^Cf}#WA1VV8oCp$;fH09 zC}QmCm5N0PV@SpKSo)rg9axtFjf1NUVf>13<4NJrG7XKtj1kvf3LmD7pnoeR1sX$> z3}CTg<~Cv^{7FZ{@44c*S~Fe_Z+^=r)ulkgY@8c>mCd|CiW{XFXoNGy)jbmMx|u}x z21*JvLhtCqjOxediLop<6OAOs7_dwVC*2m%c?Kl~8a9pWKwdM2&T?M6orOjYV+3`V z!%PpOA7rVN6lf&MUBG?DeR_m^=VCS*9~onkc=yh})WA{1P*R}LQriX2^?hqY3e^)i zXt=&m{LPyriSt?;)%$fR(C~OHu76|?Ye0%al3X)hS~*vAzX8 zzS6q!28{s5c;h31<*@_a5kpCVhKjc>4ASiAN{Z7F#b`t`#=|}`(1>kB-{PU9KqI8w z6wZE<(_hf_NC_JE7-May6nukMn2@FFH03>4pkXu420VRr*OKCmM=2KhjIqjA2J0<; zrjSBq&CQNkwH#V)XG+ z!y=n8*3OW@(7}!97EVcl#`G=5u=AQPJwnb*X^uuIW9+LZ_Je)H*O8^_U&|I~Jn3i- zw-2YZAVt1jOEhX2P$&V}!PngX*v-dRCNpmo3mZ5n%wqJ5{yFdK|yp z9*tzi_#*CA8}Xu+&chwbVGA_8L&d#OomNjHhJLU*8o7+&zd^ivC-*wt!Y#SQ7HCYg zF#x*`D{F|MCGUhr8DmT{kb}ef_4MAsnNe(k#z46tJnjFV`(*C^?2Lwck>YPIag@XC zCCBL5T|qz>u0X@?fCO&M{?9C@L* z?F^EDX)2_!ZmZCaiZR0ERq=G_+dG0Xu5=6CF?nvEzo!vX#*uLEu4vQ z^~(}8au{P{11WSikEB~Tqk&7g0*!7z%^@f*{XH>e<}btIBV$Bgl0sXZE@pKp&NrA?=J+>fU{OcDnG=0~hahov? ziSPUzw~F{nijcAExdM&9?uKxC!kDL|*xY*q7I}>E)=>&7#}*jZr9i`dh6OmS=ufvk z7Jj;Dd|`~P;(dMUX%%#jv+*)ppwW87Zg{@=mLXZHR)064;ZdSEt~C0KXD#*P=(&M= z@Mf++qyAn?_#T)rkQkFTZN(yhF;-uez==m)w~%6yFI%8-^^YkyO@ER|ie)dhp%Kj( zI^y}L5j}M2ePm89+qnXbCjCv}^SB6lrD0C$4lM3*#z%?x=H$8_WT_q+?&JzIcBk!v zp0m7qkz!x$E-dmHL&IANOD>eUkmBrGJ+45ba;ZD)-tZ}i6su3^V^P5v%Y4MU4a?Q( z_Nroz0au{WeWDH2|KQi17?-^avDp7!aa@@uN}*&xtI4GJKFWwI&``f>4hxO*XS*+@GpS7t*#eEKARE}T?^QRlREuKm(FkFTCgOb=S*hLW-ucs72d+S) z;-nLN`s+{E!|;?N7V(TRWxNzj&)CxI&fasJxB`s^)rOF6G`h0h1Yadob{xbM|w`2(`% z4!_v~4MRsG$ZI(GB`NyM+>1sSW8~Hs&myZi8Ij^t30t7?HOLrxK6|p66gOh_p^?ZK z(G-}{>Qk;Im7HBLwxf?Q7ezY$ozem|Wo)rTK4G-?0QpOpDHC%zEpE#i5UioqZs?)2sgG=})u!sGMa^vJUNN?$A@ z7~{lpDYTqDjh+c>{6EI-`>*EzfBd+WJ+rs$nUxvtHrX?Klcc@1R4O^=lq5+=k|aqI zLM0&~NhOseNl1ziCG~xLKlk@9_t&|f%jNt5x6AeU>^ypo$8%Y*1seDA%;9Y8lRUCi zQ??&PBY`n4i0AHJ9(SLkOo2v4wxjsQ;o&}{Xu9ke8d;1HA?}A8d_wQ1G6fpVFB`(Z zKED@`;_Z~^S?*V8$V2ojFrQrMT`D$efH1ZtwK>o4wcBJT%ABaXS zV=NNimi4u?k|Ze6=p@ zOblsEFcxm5^5d%OV<{9|45Zuk2b$-(;(xzKxD8zGWl^6Pb-^K6oMMdAO%Fr7=D7-G zivRts_L@NHz^ZAa=;9rUMigVr5ceTRBww{6#pLl9xdM%oYxLlgMfKBuBdvB~}#SD^9ssVN+4TK@$p<|jpC zaf2~5_sBqf-DoK(qV%qF1sW=;MliQ~4ZX|Tc+E{LQW#@~cpt#unjm`bN5|J}fyTs@ zP7veMnC=bAKHWm2kTLGQ6>}MP$K4|9p`bux;0P-?&?<_a6J(fR4qlPi+hDgEG^W{HMocYBTXw+p{Ky2;56{PSle2Rv5x%{|t z@{mGMxeML;sOzL~1sZPCEaCdsv}45hVwQ?UC}UhWErG#?nRHw!DA2H0a{#rNM%lzT zye$olc*byBAcK=AdM|G|eFlE_m1if0Qna&}q4#dFK(-nqe$EHoUy$^Yhd z>&5%Xeq7l{j0@pxfrcc=01|@}>D_HxJ7uHc%NVL7JmJH(aqX#bf-TVaIK&42cGSN? zid7AB(FkXZR^pq*usA4}6rV4!1sb|}c2K4(p@!bK*Jva%hPl|+c3zS|@8me>lgAZk zY}Yl1`&zr{*zNG<4Hnsq(NTOCImc#s8?qjIo$|Q?jVaIdV4X+vJ*233{1%Hc#&{ym z2Y2o4e~=Vvh6P-KMtSO97;(bk8YvQPyu-rfyZpEc6X(vy8dcsV#gYw$T!BVQHAnE0 z6vdIkdr%P;{*3W(u@oFKQ|Xlkm-%dg#xPGq_-1BK|5gPZiqVK<49)#g$o!hRjVx8c zIJQ9JQ~X}IIrL5eDeCHfLL-SW#+8e2XWp)TLW+-l*#eD7bu(z>Hj}P-X`2!>@)*OX zL|m^etg0l2f&vZoRr}!L@NOqb5nJ;GjS9wiC7zYZ9+FIt$l5!Was?XutL)%uUROtA zeER$q3-=27aTPVd1I#B~_^M2ShKs8uOkX*J&N{nfm7@{B7&YQqWc6oWF~m?%pfO6! zUzta~oJ@*K_rIeN%@|?gS>zVePttA4ySWuyfkw66UT}SVw+S&UBY$A=gfTibmqACCo*0*yn-7VvxY!H2{!sr-jV3}e)bkwNz({aTXZy?-rN zpkWek4Ob3-pj)56I`wwo*E|^Gvx9g?%H8vah*5r!Ezt1X;Q)2#H0V+-vS@%t5o0VC z*NRTA_(*3B6clKLyI6pA@#SV@sakDsghn-EoDtWA#|@Fv*}=fZDqMla@g0URz))vD zF$OGcjD^=v`EfOSgA{Z-^rq*W^M0@e8Yw!)(COxJdWE<7l%{BeFos^DmyhH%3AR8Z;Gre->-e89h8Q$#jm9U&=q8?{KQT^?-fM950$ZTbC)WxF zJo!R@!5-h*pi#>hNoigS&w5rZMg!CRaTB*e`gCluhrSAiiOWF`EfPEN&;46 zj@Bc_dMCC(<3WZg}rvK-PVv-?SpkXx95wdojSU`*dw@zpz zFvbJ%jLG5|$7zv#oGs8;bVJ-nrjbtPWLB;0f<_i&+^Uv9pNRK#hDAYvhGx0}Ox&`N zZWA+fyP;9a7&F9^7EX^PRbX)B<$v@0wc@>;W#;*$ z`1gt}(0J3|4h|VKUr&lLk9wiu#~5|z#kXs;^BO8spmFrEJGftqk&q(gdLJ|*7(>&^ z10Xw-ZcDmPQsW9Va{LXTGX4&oTe6zh4~qwkQ7fL+e?8Z;m@Jio0*yuDc?0{cadbvF zL}LINxr|}bKnB|TOEQQtKZY&P82{HCBKov=MT&Lj2chweF_OgdA1@wA=#k~@B(^}q zGW-Bse5KKm7+0?iLBs90{J2s-?g7^mTeTv^ukk~<0u2W>L-;XJHHs8V=M2Z<6k{y% zmcs76-{}06f&vZG`i3x}lg(ISl#WqHBZ@H~UR;kFJE#jOB5tq+8UqTAV8)Me^hkf( zgHdQCGe*r73A}BxbO13F6lfHTHiPBCOEgH)HEIkR`HZng+~YN~+a-D|x@z25u0SJD zBHmwepqL(C)jOks#ZSg)W9|Wc$0pF<{K2eoT!F?f2Sb?B<`O*?Jv(Xw7Lq^m_a6bK>2fu07UwP^Lg*yp{!6cGafyqUycp zp%Kg&_fAM5vgrtV)Hi%OTcBa$B)+?JM2+6hFnxp;8n+qaxS166(t_#!<7p&YpwY$O z6pA-LrgxZ@#V_4vqwW^a(kisQ=F&f2;0b$~J*Cc|@ zQ$HNJge%Z!G|m8aSeo@9#?+q6u&7~-rn(Y{TYH@zmuO653pCWOTZ5%)Nj5Rg3|oPQ zceVVuO0pC0@_y1`pfUv-buKm#c1seCG?BVC5X-h~k_U9TjG8yBCc<EGyVl!5|{ zFRS%n(dnz5iIG{b4viAV7~|>zherp}Ge`vm8eQY}K-bs(>3OYw>IO6%|H}X7os6Uq zXA&DmmP$c^M(i;YxTF1w76a~VLc^CajKn)kwRR=av8$j!Lod$+ih60$qouK-ThIt+ zj208c{fT>_Fx|z}h)K7m(tGt1cQYHS*)i@tqVbhd!iRpQI4BK*OX+yerJrc?B_6AJs#{ zpD`r&CD1T>_ZejhG<5$Of=;zYI4Kr7>Z1|K7!5RJFzjDBJu6aBpb_v@e8X+lP5OIG zGB89Vi822C|9f#BpQFc#3JNryjWGk2^=;`@{VD5>(a2+rvfENPRo+CGthwbIwm_qM zg1DdIhsAqR44r3+Mg?Om-zVNX*kNKiDI{Om0*$hw{ZRNG=-J(T4RbWy|H+T5en%yc z>UxMC!|7(T1sXc1%)q_>V>6wNN_fZ?XjsM@!H%ja^#3D1 z${LMm#`q+@<32>i{xexB1qB*+V(g)PgV}RQVH#+I#uLUEuvrFox9{zuOo7JLrsmLm z`eAy`InBckjRM9PDc&J8@ZXBP#86P6u|3`t9!&J3vr)@!9MGs_46iB){J5D*$CZKt zjV9j4FnIWfO=PKN?sh~&Rx3ZQ{)*>>rg2~& zk+@I)U`*Qs$`oj99Af~R91S;+LTmV8G(s3dSA4(r{Hg2o{wupHY=K5hZxiUe{qiJY zlyy0RMl55F~+gK5*YtijUJJ`K7NcV(C8B+_U9W;JtxM?0$(g@86#J` zdnetz=Ur0#aXHQvX!QJT2BS`%qubs3seV}aI5rvDzInUm%@-M&nT<3z-L}WD-rKpTSjn6*+HHFdEKI^1u16?@|~w zepef^=C1G90*y6+CSYH_wks*NE(}4#k1;}eNuj>p6$erTr?LeaS3PVYaOY&Yul1Z5 zibe!uY!dI;PK%G}LyR4 z40j)I%cM(nGaQXv#(3i80b2`$B9tl6xckNyEF|}*kRmxa0*!BskrO8culO!>Z{VkO zg)7ilI&>eb`?!f-=R7w4Di&_e^5ZI6+^d%Jw-deMuAo3;k*6iBwx2VCtVg5%*U&h{ z7;)m;fTKewKvd6W(+46@gDjv$LSR;t)QD+frjhe{m`=YOS*;oUJ`>vK4a_-5$|WvJx2dl z7Kd+f1sZlO^&mcWdl^{|+YNWH_{kWlbyE2L;{@Hd@33PFG~#2d;e$g2J&$Uk7l(%A zfc&_sjg&#JWezE1sWyIP3pDyawgsy%7W4?YVEtV*0vTh_d>OnvJ#_{#4C~kejhDst z(DYpEwWK&+dJl~oj4|Yn*e34RS+7ii#>X;CXmNWf-NJ3ixsOH)V=U?;o_*btc8(Yd z3N%Jr+Cy%@kSbD`Bt1lK zG(1bsKNJ*b%*izc)!+J~$a+`@K1RdSMSfiMbeF*UpV4%?tDr#R%t!-h(leQ!M-A|J zibgPFoEG=>*<4#ge-8x(8q0===k8L5)2lLtHqX$w%@}p>rBK@4gI--yP@pkoj|qHE zZtF(=R*!c-MpAQoF{iI0o8k=dCr;2=PR%o~(a2d4a44^q!_icoGbpf9?Qh} z$D{ftq`3F&8x~27(R#gj9%r>*0V#@2zHD>uFg=~Swp&mvMy;%DYS*qrXexXsp7*YQuu*bFqoi%v+jV;ha@a6H=> zix|ex{3C%B-NU(LsY2#7;R-a2iuS+-m8L<$WrYDbVm;VhPKd znLCnVacy%niWuWdUny*8x;>8;y<2bv8nap$K=X`1dR6AgmzG#mGlsZn8Gg;|O^-_s zwQR)|Xy{(HhLvAyZOBrYSGC5%OCmq6dcTo?|C!x%%b=h@L#5ml4z#nQ=Yubb+oBP| z81wpz?@d4mJz7#wpwZCX0lpcGUr*NKc!nw(v5aw~sT6#IE;Lf6KqIY@`2L{E?V+Uj zmCyl=bjDZ|CxhjE3Lhv_pi$q=4$S`+)BDKoUhag(C(alogLCsruMwTuyV$`g8CFDWO6f&z_Wk>b9Lm^<`J^|yoF(D0GUkE_}Fhao$@-4bFb zD9~7RsAi`~;dPfS&?t+xf`$HrE|H?mkp5^m%jAD^cqoHSSG#ADVpcd?ps}}9 z7pA;8_kt9W9S5S}#~3!J#PhYclU+&C@itqaaeL8TNI9jaPKr)$gVBg!jP%P=xL9FI z_nZwcumu`cK9(>{8bSXD!_9`G@qjT*j>=$*scsHgs;fS1fkq2MeYlg+>MJP@It@o7 zmoZGm^+ETNdvsf(p!lD$&kQ=fSsX!(dPeGKd}E9Y;(bdg9e^HRjjLb_G#c%7gjRpQ z{UJu|hEZs^dB~5e;bX-2aqR!mebl6SqqzbN`%6ZUnsFqB7@tbVU~!5uwwj6KD=pbx zWePO<9I^)I0Gq$0Xq>BoMigVb6UWs4>qgW4pn?L8xlWeQd-C^B#7IvXk47?MSc>lg z)U0dkr%Zvy>=%2Xv;J;+M7D6kBsB6FLu;~luYuwAiNqMUmMzd|=w|>UZ9CAVx;{q} zjh~D$`_&&aqZAZqoFB9wre9HyBTIF8%v3Zap7P^rV@nBKElAQ+ra;4Gh7p`< z5j39^x_tnRK*q2a_m?a`QAF=zRZyT2AiimFuCybalbPFU1{yaQqeQ&-{N<>doN_H2RABuNprtre`dcnRBuD!x+m?N#I4tarBJkqV+tkK%=IqDJ;1- zjh@l3x;GyS&%^TLs>ve>%<7y+?BC8KY>g6xJGi zidLpT<3M8zXnyguDJj}cUyR0W#<;&-0zF%W)BnM7MQnjaovJAu%Q->kUh9T0MI((d z7Cw{0VcFa|vQ)AcY=K6`Y+dLRtwCp_O5&HJQOp=Ec8YhByS$~dQ3?t)V#XQ5hMr65 zIcIA4N;GO1!>ySIWL?Ri$B7CGH2epffoZ=)IuhIXuSUb$OMYBci|5a4$NZ*eMG6Wu zii%Akzmc&P`RfjKUxP*{V>D{z0gW{5=~0G)0uA-X#;~%y>quh!GGB*AJY)RS_k@}1 z+K)*Q^oK3b_~-8kZ;Woy-{b6u4QOOC#<>U?%ytZ;vud)&8@U3F3-fhgU*m4{Y`fye zCM-%AO1ZG={V=gTeMYoXMJ-zuSU_;}QAad{%D{DEabyGAXiMw{is< z#RCjMZ}Z8^q)1QOhJ`O*c$2xu1WsQh|woP4~;U$xFnvnjH>ERul#g+&K77~+TZ{y zC;J5x<5g#UG+eyp$5mVL4v03nljt_FaV%S)Q9i{*d?)TZ-7?s@8=~RQ7!l&#(Vp6& z{mD{UU1SS1`foFVvL5M2Ng?$$MkA6jG}=jFnqRpsDZXi%a0ME@bIst_*;(GCXgI_S zizLPf6!-5w@a&bPOo2v_G2&`Ps<=jXcKKUm=5Szbok0M?rx`i^C?+;lw#Q ze>J+16&e+cF*C{(@DZY=MT}P)m5f`wpGOaXPjS4fmt+<7(Pq#h_ z3N$|GTR~_W^Ihbxo8xSYMgU_(_)4M6nLmq3F>H_>SD+DHWB{vs4?IkY7e@A2M019t z6z1Q)Opj!qcW~eeG^9Efu&*liDlytLaKz#XW0;8d^%)H~K+o>tL)Ze1mv*MGx9z|t z#PB}qj79-tylg3jV7KmcU#p-%V_*jdnCTEW(uVtVXzWu63$7{*9FB!ztw_2~6;*;BSa|&yEz_#q{w*WiAE7)%=MSTyc5%2D^s9x^1418 z@V)Yr6d$9#(5Pk%<0b$9-EFa|$`ok4@3arzc6y*eipxRXXm}lyA6FyAGYxMCwWQZ^ z6clLO5cfKV%&Mkmshis$LnDMS%yq>7xqoLVSt>0Jwm?Ip%n`IFl}3_ctJ-liVi}{E zrxaq^yG|g5$$7RwGdcD1sZJ)_rsP$?>`eGX=OMXevDDuR{}$Z z`qN|4ufN#>4b3!j$lNwy7%|>Xk3b`WG5ROSz@~axH&Sf-z!qqnvo(Xr(+%j6eqZ%S zG#)U9>Ml=+?7f!Gk!`rj7HC9;TR`r$8`fm0I(3giBbPCTi*FX2U3R8hYP$foK%?(X zQwUf%p8l;gn?|GYjWIfk=OCjtwo4>SWhrF~G#u6%z^{Qn>D?k-E3c#B<|jX{CQK3M z&N|=d6|86bZg2$}ou1pl`Q;Pn(d+g1H?cUy7=_Ui=(cmjLb4tu2V=MbjcyYi;o!5k znxyEr>NXZpjA3jd?!U5dEG9*73${Q*Xa8RC&T-ZuMavnnXe2YnbPo@BozR8eW$|+x zTcF|6&H_Tx+tVwfqejM~kjE{S*D>$jz6^s&ZlfrjTYJMrD{h!JExGN&e>@slxH z5B7j2(see<6lio>Z2>uRLg+EWo6Cu4NKVL)D<5$WRv|5mcMlfS6s+7Q#_u4I#DbUz;(h%G~?)D``(u8z0ZZpR6 zslpf_@mHomBS$=6`{)Hn2=3H?W3(8y+tLzXgem$yn5S&vnp*aD53 zw^rc!Fqw|Td0Ai4C}WIEcH;Za<*(9+p`buxO9xZ%{&|+p=^wgZj)u!=`Eix8Rtje` zzAYlgpn2c80*#K222gL!$StJk)V~4?f5w4SN>@=vSB7lNi(c z{zM~^F-|p-g8s$^!$~o87F(dPzxpV`viyt_&bSD+!WH~_~k zE~0mTx`zJ4B7iYkeUZVx&kwhfrOK>e3pCn@`75UeUSCO37hi`)G-K4umq4Q?i|Bfk zyk!eCQpLMJ-$$%cA;#G7`n&$`xrrx?aiO6U%znG|CWYEFwm{?bT^m@s`{8C%WZY_q zMge1N`6Pk!JD<`ceFX&?9h|KoVx!@6VkCyBpi#*f7i2Q9-rmhbnF5Vp=2p;t_}SB> z*lF4X4cQs_ab+DT0l$DjbS`7jQMN!Mw3#JXyfto1jB{I>p%KIwdE)-7J2{WvlH#l* zTcB|}*A6UdE2fh|ty4=hVi;q(`1aYEKhGPJB6F5V}siQ%Q<$jas9T${22q zWN>NDk4wrFXh@q_Lrz-jdZbwOy$u>gjPYKa*S@vX$s|R>v9?@+#{M`xc-QvAQc~Q? zZ-+%SV|)^ZSG2^56vfV}T!BW^czxKOeaws$pNu+S;T0%9u6it$Lht^c?35|cC@L`k ztE81*RCp1DBqxB*wyqgrVffzycJ97mZz7vh0*_qGOC@brNMJ!`H(UgJdaEJQD zP*9-pQ`H!TPFoj1iqO1nXrwbno}YMct%o|@GAJm}Xk;(0*H-%XB}VtfJ<<5Y7*!hL z`k-SX-NFqpWD7Kgco;#K&02KEYvknKXw)*smq$`q7=D5tg?HY-7HBMJZ4OIf7SP%A zk%QFG@Hs0#uEwcL;i2yG3bN+v^VtH8dNM;;zpXPpZl8Fh9~xndk@i~#t9EQyNsJEf z*#eE!mj+O7vgjKr?o*WHH8< zL@`HJU2haAj$dXAG)h+*f>mJ?`q#a3W+)n^jImn$e@K0nTqnlDcWi;i_bzaLW<&zBhm0$4>x=hOce8dOMQ`8rS9}h*x#8g(1=}O1}|OyoFzv412fS`W{k%wGWc2fhaNL5dBzrKl+7>%_1ew! z&VfySv(d4&(4Jqcmo{Pp$#?TVq1!%Q;=xkCr z_n5~OXp9W70OK~@f0M$duND@PVEJ)1M!cuU+sl~laeNHe0*&mux=<+HXG@HiCJWIB zWQ^Iz#Cff0JUy>9jb#fou2_k=*D;p=i1F^}Vl-|rhPIf8`#t(tCsMrWxr8gwP-&tE zTQ}Cws{o5;EyE&(G4A*91Zkrzdi1Jwj4jZZ{zDgR=iOdSmMS-K1sa8naqOZ5WV_44 zNdW^^as?VryG%fHuQ|Oop*CkV7JnFHPpSA0Z;?JdE7I{{3p7$Ptzn(kS9)aWy=4s= zp6BJq)%V9zXkOESp4|;O%NGCpJ+hqOTxd5sr|*7x9U8%mu~{mfE4t8^Zg(@v*#eCj z^-ZBk_2^{s*L_yL9*x_KvFMw)|LW#^Iy3RCd;?dY;TEh5mE-r*xus|28?i`ZjMydO zU3xM0$H-EpmT%$;G?JDXL+IKMhe)yVz!ofu8RNtz@jn>4Xqz$x8ou2P;N98IA4sw0 zz&12$7-QvSaqQFSKld{zDA2H|vjm%}k#ufp!+{-Wc!$W3s}JAAeHnT0I+LYRP@qwp zZx2gX9_mPnFJE_|5y}{MgC&q_Y)warf&z_@Dr2x4-{c)Jk~DSEh-Zvv*L5@Zaz3=r#z#cR*8RPFr89a4bPG`Jg0`#~7jhqJ-&@62qJ#KHYQXh*F z#;E8m1$E8fSh5}p3N&J#?S~!b-_qm6ZYvGZaJ(S@oB!V90o&&EJ5CG*1sZxoo#2h{ zdpaZBW2G?~zKrqmg#|1t=mddG{PBU_YDagZ+1L`7zzqB z);_j`PdjJXkm6RH85)U<;VrJQbRPFpqD+Ct+^#lozu`D~c6U3@0*!3O(0(NY)kCp# zZb?CbM)(Br9ju~{eq^a`#95(H#u(?%ig%KqDWr1%3JNqDOtppjqtyBlW7%LEG+aXE z$JId(8T7ENtx={x!}6&aocWhVj~P;z+o9pl7+E1=F8s|!y603-pixgp%vq*>w|PP@pkh)fOsUeA*FX-%&?2k{H8th7=6^{pl~Lpg_YX%M9MQ zmoFfO$x&xC@)%=;c#b}Bb`v^#uAo38?t=}a1zeziUGt+ZXjCwUhpP-$f7&pNER})+ zjgdV~K=$w#otbD*>xzc^Mfq{nyF?tr>2IOOa0&`Ez8x@zY0!tB4>qkmh(-WoOqnW$ zj7beQlJ!tfppob$-VvXEV;3o!)gD44nlaXj=hf<8y?<1h0*#eEdeFOAWhg05>B`V} z!WgmQ+C-y|0p7|KXlQ)i16db(S(73}*AtBb#)x_80cE|q%^<}^-NRgg#?!OLFeCXF zos$XH^}?c(F*>VzKqu9HbawE(?h&p)V~Dt?=wePjy|ZR~hBp?nF!^!ySX?(y8#REQ zb1Ep%a24mZ_pf=nk~N>2;e$pHW3&|CGQARKo1{#E#>YZKm~kq=mlTsTe9?$ui~=w5 zy*s~rx_4GkpfUfXG5k!AdP9ttQ%|6g${4N0yS&pD1?nqPpkY159=4K~FbgyqkI&jcUe->m;6=a8XgJK*RUBA*9}1KaUs% zQ_rB`bxD3)X^xkI^}a8mq%aR<3p7%;TYZ@w| zi&)e$#&Ge?`vpy=jQ)=i#uaG1Q8R%{+2Qm`b^G?0uSYVF~(x?j;&`Z{pflqDA2g1Z3!R5w`hm~pQ6wx zWekVy;%_yxB|XZR`{^22pz&sx71XMCrRO;FKV8Sd`Lg_P{z%Ug9QI!eCQGHDK;uuO z0c?9#+msY@KixpXk1@{dl7a4w9D1BM_tQptrlu0h6=*zY=m3okyl)Ys zWN{o8xr|{lQ@jJBmx?wi^j@$98n@D0e4Crwb3!h+>SMR#FHVt4?QFHV;kW3N+%ydDN~=|L8IG zlcSHYNM?+$tHk%!Zcnu&OSQanGFPDSDs(^merI=(6giHMvB+nP@8e|f<9*UoQuJ>0 zge%Y}8DS0gt`F`)ica63V)2tPz7)!!lkIOWQZ!Rd;R-ag&Kbjv8y!7K@v8P27LqIS zun6o&YZrc?UXpHP@0VhuE8AtwBHP189NMQ{1IvF@yzuu%wfd+{0 zpBvT8p~oe+VqcyZUVmhfbN~sF1|wJ4`ZY@5ceTJXu6FU zRg1H^0*xD6_rQ|5W~roTrV!S3PoI*x(@4K-&|_?WmyhZuDo^3k}>7~93Swh9NT(sMNh1sc0cT%f`8t#p($ zXi$Jg8e{A*_5l4Jw~WbBDJal*o@N4zzZRERMO^c`@vi!?G6fo8V*lZ6 z@N+sTieJA+qlPo?$l%)Y4H3!|XbiNnfg-JubdNLT@dq@#ugZ_B1LE6G7GJ}wh@qfB zqvKdh81=R`j}#BDe?%jcF@|_cpmF_EdzC5B&{|^()7FpMN{T;0pV5eC44Z0Cn4R3N zTA2ckYBLL1Hg)<3Qe+(df<`7|v=iS9E2&JNdo?$WQm#N_MQ;a)S@M1&F<#k!#iE2U zc8T}JjS@OE+4Oj7uN{((j~W9W$UTAQTf zXO$_?Set1D)xWFMND;cO5{*R0SSzkg__yEwk`%{m*y4Xi;BGh*^yw!lI^O?{MmA%7 z6YoNr`_=I?Ddz9~!xd=MzBGa8<(a2Q(MF>hi!#P|A?ErLciBB6MW5AdfyR<2b}(;a zf4Wr7)N0Uhxh6lZcI3%G-L#6HpMRUd7HC|JG7;ZVTnJ>T=C!Ux!=Et>u1cWC@ZEK! zST>R^(0Dr04stumevx89k9s=)cMp9eW9a&bb7#FR)KE~MvFC*e92!toNsQIa8laKH z80H>Q(3ogWj~NscXjoJ^!sLv9yNEHOvLPCIjImE$oZ}dd=&ekF#yL%Wm}TAW0V&Mh ztDsTA82Q#xxO~r%{(=!YjkyAiO@sB|NuNJ-n>atM2^Q|r^5d$dn3I`c)r{^36%=R~ zZ8U>V-V%D9GbpYZ8Uc)PdASrquPvo}=eN_Fa|IeN^)0}Av2r^-7Ii(|3XLa>5mYPQ#hSNZ88H+TXuumY7`o&32vSUQX@f=q zV+4w4Og>KiJV}`Xjgnj9Ty0~cWKtY5X@^E7V>pX*&gKRW%atk6aDn}BzT=5cq!_Td zJsPs>^5g1KA1TB?I!i~Qf&z_Ee+|LxR?-q;%v;zIjUdJtdPN3SUGCAPa!O?jG=BCr z1If^H^giTq6FZ|3!x(u6GFaa~j$WxwzQY!1q>MI$i`!<8ChPI-aaS}_8DqD&{&8Sz zgQm(9XlNa>fP#k0==G@0H@l-z#2B-VOQ9-jOEEDN6le_oVGivReac8NBDg0S)r>LE zQ34xwMbA^FK;zCe6PVS!pFJsd9_fvS*A4k`bx(YgwZ?ZSJ-$*Pm`fa|WUDi81bZOTpRJ|F$v(8V=?A zK&9O{FH)Gy7=lJEV|)0Ubth1scX9ji6xh1YJ^u{2h%&7GnfyctAnkulvdrXmk|c1?WFN zKARN5f5)Ox$`}i$^+f_Y zmKx2;dMGH+h;-X4e)DpAWO*@oDjE+Mqer}W|87HjePYZkW(zbb({@7(^SVS*G&u`s zh76jmACg3hN$G5X#_i#@a4yYiDk*eM&p_iFW9a0_AUY|ih!n?D*#Zssa5va@ z@&(3?>F`YeQrx zz}+b45HYGfmZ0&IF=mMGv8?n^q1PafJZB3uE{o>}PrXj>M2xkPWoSrl%a5z3;#rx+ z^Bm~>ZuwKTK%?g+6VMs?av?FUxvfAWkTKfFi#dJ!`Y%YaIGHWbSU$iBCPptjM~d0e ztI)W?7+>~_Z+dsjT|tVxUu=Pfs;>#euN+3tSb`(9(MVwo6-z0^6>PaijB^dva0MDu zLu|n2X)fLF?uuKBMImF{Uo8R8S3z{1p{|xK(Ac-m5?qekd?ZVCuf+y5{xF7?m=~Rz z@Qog~Z&=J0Xh_BT`Us!JE+VydyuZdbAerLymez?|S)S!xm^{Ew+YT@t$kQ zde~`iK_i$k&aaff(}4ecXVfN?Ezr0SXbtmUU#2tLA!ggqxXl>bmWprDtzV==mg@XN zwm_pYS$w~?@v8}>7=LyL8flC%T*U*{UTkoW6dFI+0*#&>j38rZk~b-~#_vL-m@(3# zr7-*Y&H1FLs$&Z@y!zV1wAj&4NpZKOE*dqAu~lq$yPH_GA%*r5wm`$Nvn9ORwv%2Z zTQpe@4ewa_ag`+ALDx?6q!BR|%Gd&pT{3gf{M{vr6nVS#(FkRXtL75OTDx!zDaT0$? zqhG24_@-{5Te#VytR zchg&+r9~uLpb>Gx7}^GQP$NZ+tsNTKjB#eY*bjD?K*yDD99y9AGtUrQtbWsNiN{3; zG|CvGvZoZrcCordma6|3wm{=g+kG%JQ%bKvF1_K1hD*HsxH_^(%{%A6M7h#XDe*gc?fX276f;(wLL-PVB;r}JCc5y26s8B*0u8hCRxn%R zEnV{lTLRFCVT`zK;+of}qjdi2WFT9h(M?m#SvERB=c%`B2t*^5F(j8{(ErpLJ+dCZ zPq76WGj{01nsKwPkYdfeAT){?Be{*(pEtJ-BgG+Wwm{=Ypb<2#8F`BoOU4GHQOy|j zoyGeZG7{+#*++A>K;y{;Q&@lb0$nQK#UW^T-IE_z1@)xRpy_;bvQ+Aa*#eERZnn^& z`j#arJST;s5yBX4??^$nWT%7_18vy?jbBN|@P1q>J*Mv6F$|4Z#;|W9g=3HE(>a+K zZMHz;{Ch_z?RU@vbrj8kPoz&|!V+?W73! z9)*TaqWrj8zefW7|E{2WP6Y)T3s3KdB{ga4|1qM`2xE*oaXx4|r@>fd3N$_!?t?MS zV(1n3aT{-FBD=xZG;RHi^9 zW3m+-IS}*kKgAt1N*N(*N;keoj zRbnV8(8wv>Eef5sq%bnPi-sR#gja}phLADQ$`ok)@wSDZcY16i#hEUNXhbkZe2o;o zXFvI^Oo2v}uRS>3*-zhvF{(?>r< zBbPDecaVXtL8LP&W{ytc3N!-zOd;lMQm_9MkFfa07&+p8pI%pc(Bt+Qqm#J;jUH31 z!64Joju1dMnF5Uo7mUE;t_wXs&pr7RjZ=(q0mT1#$JsT+ zP*9-JT;d8&h226(k$>_T8c~dqs3(Q@(NT0g6clK<9XEuFWAsdkk#q7n8p(`tO`IFl zo!6+ZOo4`4ojFWSEuj04y^UX>kF)Kr+2dA=YEd8#)J|pg<#C zrVoQwA6-F=m!==lxXl=|w571ebcqcq;*PQf8tsl*g2#(pE~IGY^cjsb#&{#%_2OP- zM`wiRHY(u?Gz?RW;hRt7ZeqlK|AIv^V;t@wgR+f#j*;SpYAIKsacP4wynEk+ZsC3% zD8r(LG3twZohM!$PtS^e1hWMiNtcb`PT9QCWT_T=e?!Cjk^H#Q5%&R%k?yCzhk^o) zvCVfw*P?NBw13`Tfkr4}JiaCY)ppD1JoT9VKez&o@FU_~#gk4OlJ%(l_7jVE#<2Y? zzA@rsLGR_PX!naN(71MTKP;?2oz5Ec%&){ElQFtKlYz;H(R8*}wT>;&c%^O%tpeIl zBI|MU=^r#o7-RN%2~3+dI+GMvOW6XASu>4cf{s@`QnbHSjfP{g{BM4Co(z_TSZkYdz@W@z{`M&ocPJP%W&^Sf3< zn{x#k>es|`^dY|Vn0la33oIfTBR50>o%OQ&lBIguxg}Sik+jVWrq)H#Gy20$t*}U9 zjB4>cuc=|1=@qQ!jaqXB8oML+L2-V=8)T{U4BKFl#~5qlByjF{zrV^9XsqjM2+PMF zp=XdO8`_~!!59xNN@4xb9rWz3)myeeV^XRS)EY1NL6+*#{Pt+LKan3-p=ZVY)EfrS zE%kw~Y=OqcU3=lmmgVlmP#@nBjR3}Y)yo5p{#98;iUqlBfkyamE6CgKGKCbX{W_x& z%@}`Lh-(u8E9if1)+4q+Lsz;NnwGgl5aUeSu4p`AjLaDEy=|9G7fJE%C|jUWBDU=p z2ba_Hj~D;Cp;5pXv&8>LM8tgho3C){&J}3PPTLQgw>G;@mg;Ru4=gGfW4t(qlNyev zcWkvi+>vB?!_~R(M(Sb zjUdKwtQGIs?pBnoOo7I>Vm;87jr~lDL2LS<5yKegRK>d!ygt!2S5Tml<1F5Lu3<{g zqlV2MfJQ1~EE98m%`I~1d98v1jguYsg6G;pm&tk@X*&pwBE~o_-oM*%bK6)_92m_O zXt?J(L25}Y-8(z~8;nLZXJpBs>7>q^iLtxa5UxODs5qvc)bV`*DH3#sV&Rn{KdyE* z5bv4z{zZ)x>st)t3N(fUTYytzOMg;m{27i#2xDm4NMMoiPNfPohHtS0wHbft-ucT1 zbu?lbLw&6bO7-06nky*K*m}kQRBj)ov$ah#Mxl|;7@Ap9n7q1_&YpkL9?cbK+@C1k z<^9@c1& zy*Z#vfyVlwR$x@6PR|D~`;SM%=b8Mtdg&0RPTG$<&h(;J= z_-lHC!G~#~#Q4#C5?7#+H_9GNKLY*hj{h?miv-5V4inc6ZrIcL#9m!BxdM$df30E6 zqgQ2QskSwqibWP8Xp}OBoA^KXX_IxD6smr} z6=ic^c`aRnO9rPgrmPUKNiICRm%B9}3A&WLlhCUNv` zk)4y+0*wz{_2J`*{q$_RQe`0;-xy<-_*RPJ{kC*l(qIrqe{;d1fleq^b(C$GXHpD~Vglz`UCBUYs7W3ZYl(0KgF9QHL`Pp|w` zUf0IrCu6i~B(6cO@TA9A1Jof z)^P3JFSD17SP%~+%`#t3^EG(1@OiWqurwr~X+o_=N! zlroXd4yvx*ibWw~%oFo)iPZ(2h;jclTcGjtop|Qw&SW|xY&d5-8h;qW_^|k!B zVt9OJ3pDzQ@3_a*7Mqiz=a`*nc)pMyR}PasU}Us)Yf?PUVhc3X*V@3}sS-L<MjB&W3YWpI?#1-1=$hJIu0W&S5o3t$aC!?d=1KLjC}xao@!r9dR{P^g z;oRDQE6^Ar-j|VaQ;qHoCR!U}QNtKEYo#C!t2sdo1qB+HTy3Cjhq3QSv3-{@8s6#h zatJN=KE9?2GHj7~Ix zupI{s$$AWpw??CcG4kI_;K`tBYA7hsxLKhG@Xwvz(RlEZ4H}La^1t~+GYOQA@GB%s zrJz9L-0FScIQ)|yDMtF)q2bFI+Rr4A_kAKgzPjGso-5F(x7ZS&cuG_o1vYlQ^5hQ`n%G6e-1i(ZNMK#q4> zv))+3&5|&Blo9moAQmo}^5ZJ@fOtnrr{ddWsd_hY=L$45Dx9HiO1T*+oPQp|!k;lp zt2|)T*w1uZqSsNv6=>|AWeOn-wNQ#hBx7_I?^UyY6<0%+%DkbBE6|8pYYLkj zhS9mc6=@z=Br(S9uHt*bO%Glp#*FW5fyT!QbC{U?Q$~v1{KIJEF@}+N*W}{y=^scD zGuVqO(1=U3hG~rw|B_;DYi}$n7~{I86f)J-=@s{O%h&=9iJ2)J`FB=_7!mjfJL z7)}4rpQIi~BbqUa)`@R=FVXBq*1XANKdwN-zuFY+cdx%sis0B2SUh2j-QvCsjn)$) zNZ~TbpDWPFn!6h^a{o5u@GZb7;gchDm|g z4?5hUN8#OmvjrLfjwbNzYr+I#jPpN_Mk-^x6z>-KI9;nbDf-=E3pDz+F^ATl|MO+i zwj(Z}QN$Q6Hh92?fwgp8b-%zCXnfmX2X7y2O(je9DE1;6)r@gNJO_C;>XeEy1sbZ~ zP2u0tY+X|PZ4{1%*DLvPWjGK0>Sn6!^TBZM&?eUpGi zvZe`Hs(Zd{fkxRXb2$CG>wZ$K4~;}4mND|LOW}5T7j0zA=*7735{sZ*vvLp#tEx_j?m zPKu-sH_@nNjGnWluxeQ2DpDBvu>~4SKN-VqyA(RVYuexz8a~WQ^S|vAu*hPJ9~M&By}ehFG6fpT$63L|J%18N z@uGer8l{X;lP`nE1#WaCDk#tx8Eg-GTTHx2jP$bmXgKG{|K=b6A7l6ZSM&crew?iA znURsbA|orKd)a%hj512J_ueHs=aeKNq0A&C2}wvol7u8ll8_2XLij$u@B8PM`|I4# z<i_11L1#9&VvSD}QNaO=WP_ z;z&DEyzyfTG&KJD!ouY{|5TLY=OqoT~=^KT`!0jXBIt1!#`hsT$Rj_!Uyg2 z08$*bVhc13oSb1)BbEE4I5znS8WD^!vqB2`TO>zF5xSl&(D*sb5%gA6(>1q0`4o+K z#)!!h`&Uo@a~+w=yk}g2M)yf3P~G72GO|=tyFAC@9%I}P{~wL_=!cR*eF9sc5qZ-V zV9tsE9OE>8fkq)?{O%tFtA_WwMvV9YY=MT+CRdnyXpa{uMpxydQOy`W;`vwI4tTXD zg?h)AT!F^xK6a2hyh98rF1{|nLh@36TxE*6jK)vKy&%QO2CujRjki;*!Tb1PDJfoN z7Ge>}7=MccAaYxIS4tzeG!i?o;c%WD7Ln zEKFeB)+cskJ#Iy;!5$rfl>ezb(>`P1nr+1}?98pjz!)jGV)n945>gPi7^g3i2FY@uNso#Q#@Os(IP?IulCl@fE48(pV7!>jJ8EG*mL(? z1S#^4umu{!#5{HLJ(?3q@x|;b8l{Y(yhs9GE*^=bco)bPXhhE12KSFxUnWJh-ZwPr z7^6T}%)|Nq=S{IiE^L9uz`mX^@KqXZmAcAxx)4Bv&WG2Fr4-ijTFXM*G3#i9Xm|t z!neO?3p8flu@z6D&5k98M#672o-)RjN-21~+mJ*G)n{yhM${-*$ZH9=NuiYb2aPhu zSS6lAuXd_{9u+Al(Ab)330BkH=v>Cb^Z(HBDwO}uKgNsWk4XdRwxoq-gRTF&3xXDC z_#C!{^aqXTe^h91B`m@iW1c}Eyzwt`A!{C_%NA&;f3bv-t5oUP*Gn3W(THUXr9M)a zamS5*x(W(3`tNjryYWHv%xG|rrf8%xhU9?+?w&U|K-NP+fre(b*k?GjxjQL5Cn=+m z#~9NbC9tTQz8)#MyR!uvp^sf*&)*FaQk48?jz%S8TstP-C6pR*k`%@fEw};=PZwYK zae4FzQmhMTg@xa1`Eh0NSzMpE?UrSI3N&61*am+u&Z1{uCp)%5Bb+fR?n*#?-(Gs= zM?rx`PA_NhSqF>BQl%TVLnDqcOvH1~Z!Nc{vue&C*aD5-ZR}u;n}s7WHZ1LcMml5E zy$OKbk}ac2;Z?&HXmt4@=G((J#*^aZ+fHZ{Fvg)m@jT=ulWgl#pfSwV5+dqc>ABRH z?9OOZF-EPp9&VP`DnDX4Ebqb?m)7Riq*CwmFJTI0Ks6gzag zaRnOHISx=)tul-hozJLZahNeWigRAd>e(5jxUA8gE6~V@c7~iV|L>%5nA{VK1jd-N zTmn&ze#O+MKx4}{2RI(`oo*AWTBxCs!5Htv|KQRqr=}3&vpQR#@jlWKR^IPkO$z&N zeb6Xkj3Yr(P|xW0ffOSSu>~6T+1?OxxW_tDq%`e^Mh#yGJ@tppgSY~XH1R%`$J*bU5#z$c!B|{jjN}9fjF-Ho+x9*-L%0HsbH_Yj?^26K z#F(nBjztz@G^&(<(V8Q4-)E!&TcA<$#2Gf+{?(HhYSF{cC}E5XrBc|R@{q21+Wg^M zfkt(SJuHlq(0`n|t|PGc#TZZ0#q*ZBd!8Um^;U~5&}cKv65JQn_9cbC&qy?ai{-~v zluXRGtKKOfh2Ef1T!BXMA{#hv+p7~Px>$|I;v{2CS{Dc<+vnzxVr?f)u0TV})eU?O zE77e_oAqO`NM?*722yxlbCvFkHdGqR6=+Bw+kl@^W4fjO^l%&&IgGJvg%CrJFVM*NUKwnd68?&VwDb9FK#Uht6dWmNz{5+g%U!MYvvCD0tPB-T)DNN0$qfyQnSN8^j zX{*k3|4KoD#;8DZxSeu`{u}77nTdu^iTro|NL*_$uTF&?c_}E+h;3;P?oQhqkoCx% zH5-lnjG;YB0(L*1(m9#d57+{YPV4O<{^N6c9F;I;E*j?;L$*f>fx6@9e#!P1Y=Oq0 z+urbVqjw2ek41gwqmjlK7pkQY?x94-mFxstpb`2{Jd4#}&`)CYYP%4Pe8vbA&%n-6 z{^L)IcOh(nhVpk8Fu4*ql@z&3i_!SP7<7!dBfu8Milc*6p^ zO;q+{3pCEPvjDZNp7h^2y7 z{XWKM6f;J~BPrz1bN^hQ0*xMn+`(z_TKXFdZ?g@JTE-Y6=6zuEU%KC}pg^NnV|N&) zRUSo_>i%yNG=kpCkE=h=#j~kg_NmsVK;vJY3#d0K{!5DUAI#7=&KTcQrQo_Kx{MTa z&CIz1jW<`FA*lO69a4OJW`RW#V_1$B@A-K)m0oM0pg<%4g)^Mn{>hgZZ&Iz$$YzW# zTg5$!s%nMxDbV_>fy{4XbgJp1;dr}=$y>J4=z}wFh+iB3CujGO~3Qr z&0V#h-W9jjTWT1IEpRM=-=B4EU%vmB*nr?4>Zac zBRWVt<2T2N&b=xq(5U@q4*O@`{X`7EmtJUieU$&s|D6%ns;ODgy>JBu8etDD;oI5Y z9>h3!&j*b##t3aH-hKAN_9ZD`zAsmxaj~^Cbe{LzoD{b%`C$>u7|q4A!us0%rDuN1 z^tN*a8iQ2ap>Kz7bf3EatQ}aSGDeno2DX}hLm62r1qB+B0UqMr13UJUqQjT~H1Zgu zs9XY<*UX_aED8!V_K15%NB`^fkQlxDNYSWdj1^LGzuJ`DCZw2ohb_?XD)xnIgPYwW z#gI0EX!w=MkE_pPWsn`&cLpgg#j^z(RwfRhGa>#sDU5yxp%Km)r*25#YrWS$F*l$ zHK+eLbH0UPQN7m%pATrpQBfW*|s=>Mh0U@#QQ&%NB*WqED8!V-Za`SuGqRc zlPuND+DJ5t7^Cuu3^r!0r+XQ$u2EcphW-mH=%RP)Dls~}JBmdOW7vrEQ5{=`()DoP zdWZLY-0PmxIRMoaC$Nx}%a5z@m*Tv$Te22es)i11frg{DCFIp4q>#d8^C>ir zGR9kRf7Ig*j}l0cT*?+`O!T(^t?B0)k-}r~X*8}dM&U$puZ-8*k)-(bge}l8%XI@4 z@9A_Vbf&+sZJ&=~hqJcoXoH$6V@6nYVjlZG8R4$17;$Fvc=*uYTkb!w+Ps zT*KG`4L3JW7?!vrl@vM+lF<0T7_Nh)ptJY`J(~F9%NA&i{%i(6)r#q{fmg*fH2yM% zuXv_xymI3kWT_IZlDPtn$~9i_!+y?aQnb)d!6LL$eq41LDTC-!xpWWtw+CCGabu+& zJSvM$B*yu>H_(V-486+|_!AqjnG_FAZ*m11Jv#fqv<`iYNKrRF6^omU5gZ_aq1JhH zFT8R!Tc9!jw zjPXw#qydk;3c4Lp0JDBhXz6E{C+o)~7%t=DrCW>O7cUGtnvG5gPf7Q64RW=PyF& zmf_D+wm>6ALp-zpP)Imgs)?=KQprAlwtJsIrNLsv<81{}Y(74AK0pmCfr#)#(>l}{W(|7&B4*#eEvU0uP* z?(b`|R1Wh$qmjfIZhIv#LpOOVDH6Z11sXPMtRc2TCSCKjT3^w~W(?Kw;yEmPL+H_V zlR~yYWDRq;c#ODLyv%fkwzT`Eg|yDTRhJ)mo53)sHREc=XZ^ zTt)=bqoRWqwP-{$MsjB<=uR0-_hj~3|KtiZn$%f1G|CvG zSX{Rh)ON#jVkjuk@OW(slhQZll48xQhTHINj%xYuJX~BadOK#-$@&y%oR4yX%@xbq zlR|AwBQ(MoHlR{tC5{*j6&}$k9QA?BQR#ZWO#<6Qw5V9kP&T=;T(;5xG z@ABhn)=~*PduY0WELGE9ZMXsr?cY}5(BJm}DVmhE#Uh+BYQ_H5n27(}OZK%zJFY;( zK*t;|ESup^j787eV-d#~N^#Co^&^VCg2KwH^Cz17Ntf7KN0b{Hb*ZXWr0yJrd{ME1u}945S(zn= zyP#3U7-O`hU}39lMV4y(4Yoj|jg}=`{P=@j_0mAO8yY)njP|oMyjC|{GD`z9&?V~(G!gX#yBai zjq1?Pj?VR&wdlnaXmmd72WJ*|#*_89^+OGd48~|6k;2h7n)JGi|klH zW$%dbxJh3uiWsA(c;0LO-(%<2r$A$CjRS1@^I!}qURL!(qlPi&iF^ApS1Z%4kAeb? z(km8V?(h1O7ze~1X8-#il>Lw&SCxY$uxCoj!uk|w^l54iPaYXYAT*9LMq!+| z-=JhXoy%ypcraI>F|xuD&L24HMvTy_L$J8Q7u&2ET!RDB9G+ML}E`BC1zNud-v9E}pjINeeTud@5nf9J$58eD-!;0z1U zxwp-n7+T&Vu=vFo9}RG6jkPMN_khXnbG{J@I^oeo@0!>r(qOXxi9 zKTlg2x_derxs0)UnFN|%eo1GF+Q+j68gn|?!TLlE6S7p2BQwz`XN*}xrQmCPz_~uf z|9w{TZQ%I<^~R*wDw~al&oBA!Jaw7)4YqxtMvCuk=WqoY>q1Q7rPd;Pe16P%E*AS4 z!mFf^_;oYAW?MmlhN`v~ynUP3f*8iPm!skTTYg-1 z-YbKGYmNJpVxRE}u0X@k#sQMrWIQGX#I3|4f-z=`^Ujl37ScI@`^#5x1sd(dbM6A8 zw3idZ@6c*2;u%Ayixm7vRo*AXd0joOK*RjKFWgr8L}yrJk~LV|V~k%%q|o)`a7SW1 z9<`P$(70P+16!NFq}%rPYU{BmWQ>2CB%n5T&m3YXDA2e#&jK3Hwx<7_uUi_RQOy`V z7l{9;Z9OxHp`bt`v9Tot%~|9^3df%t(2&&0kE`CVWRTwMFkPxRw~btZ#x+A5_%goH z8e*I(-GoIXW7r3a>qQg3(DP~v3N*$Y6x)(TlkAAmdzBFyiHvb;p9Gq#IhT{7g%ew# z5x3A5?&yr8SG{;nH%23qF;*;)L0ETHx)0}K#1?4m{^J537dMoVrP3X>4UJ;P2p=JZ z#be%HC&lQcY=MS}x_CFo)#vosz^Iog8nuiuNSrIO%Re%n7>j`|(6}_g29)#7=p4ZH z9cE|*{gEG6uHuH6SV3Exj z3&lMqE@P(ABYFh|8q>RZ!-WQ0>DXO)#}18B#wgB_z_=fC=r_2ilr7MRA88K1+9xHD zHJ=;rfJPl-44foNcb))7twvDW)}dK_i+m^xMe5IQAsHcF^!FTc8nJ?E?jqCT=E1dbk@JDU9)E zg*c9?bf?F)bv@m=0*y6A+u_oSc{Rk?yTb#Er;O1<`47a3N*$S*?_D5 zSb7}QyVeVfGRBA!*9dRRIq-xS&AWMX1scOwSi?`FSi1F5ZRU%G*FX91TvyD)bqXn< zpRR%ejc6qY*thN?ohce#?T1DfWAqg7U9xlOPJe@+9Jg}?8hTsppvl}0`^cJGz46B) zmNACdNFa8$RURo44R>$_8YNe4Va)n6y5{y-JF!S*jOsCg(B7`@sH zirvfUXiw0VVv)xfsp9!p{bTGKko7oXz!qriaIu3fZH;wFp&czlqmnVkiTC5w20W)n z6W`|tas?U}Y{h%9COOO|M$3u2u<-Lz9@?=*`xY(cTiV)=u(R2?%|hkTEeU*HU{CkL z6%=S(H?xF(8}`xJL93y=(FkXZ<-y`vdbP*t?1zE^4UHm8NSF~q@0MLs6M{w@V?-Fq zV9}0DL$c=3We-=Nk!bG>Re8#Bq`2@l6pM7maBd=nVd{=sNa5FbFIS-9o#_boPI|5& z#gwmMSQIeEzDy}>nVvVfJ_Q7x&jLnKQha7!Q07a0MDi z`?*5p`nLZ_aqB@i7CXJ=$JJgd35>RfC{kEi9pnl$R=2Z(E${yGuQqc1AuJ9v#ve@y z#HjzJ=ZX{*Xym{4fqq?MTau-kI`;?~35?OYtppB+%{@d4kB4l5Mq+;t*w*os8z~x& zk3u7ZF^;zjgs+Rult`hT%ob?m_A!TI^}h5ha)*J(&?sUI^N|wB`O=xr8q7J(7HB-m zvxI4$y5GoBMRquWMh#=^x+8@hUB>2+qIVcupb=}b4Nk>J1(KrD=M)+;ANg^mKSTzn zT^zkgk$sFU&`25S3_tZkrjlaZ?$c--WsH&DGT4@V;2tTgJH>DX8iyM@fzgQkO{D1T zaR!SkjNzXk-jTbdjBb7IHH_s7G-@xI!sLVftcVe6dKQZ;#)uHlx$D&H4&9bqXnT$; z&`_T!&Ou%sOn7?;cyAq5seYlw;@8V&v$HXaxJpk1Lxq;@P-M57-kU{SsTCu{K)Vn~`{! z?q8LuT|(m|V(;71WIYrV zXwmoXj=mBF)#mkNlnrDqCPpi!A@0r^A5Um!)d zEjO?T^^+f0GaCj%;V-Msq*(NkEzoc;a0ac7UFm;q+0t8R#4twp7ZOOwzD>^}SLCt< z8ewYU{mzG{d?ia&rgIyOn~aepj@7=kjo3(v=I_`7jnJ!JkZSRiZm+Hlzk^0DW3*f> z?%VEYL61@$F0cg}et*p1%H=dV*Y|qIT{OxWG0c4*ps}AZ)@Vs#R`*A#q*#5N zEzp<}X9M>Z4O&NvqTq*UoMViMUBx_{fAO>W6lg3cwt*Isj-I4Y@pyzr8e_zXIhlav zT6^nLpb_@S9t?Vh?M# zo}ak*l^$6t1qB-8tHe9Q7Eh-CAJx;Jq2cc@Kdw9$%0RE{Do0`{DA4#|Z4aR>FVZW7 z%tk*)BZ4t*Jd?uCg8g)l>~t<$pwZ&IE7&K5(`~zh+6y$|8Dpy0Z_f*iG$!lu_cmLg z;VAQlRx9sKBt=oHmuTE$j6tshLF(0s9y>R^z!qrKHZy^@d-u@oRnpG_GzuBx!EFiT zmS&wGOEuE{6<46KDAx&erTuJ4ky=`aMKxm_93X|6yAQ7?MWN(1SD;Z`Yy}3k*H@Fm z;Ykq|k{$BnO2mdczfHod50&{w^EnKHS<{#aKi#Mr?@${H9%`^CcnE z-*N>S{abB?kVnVqS$)%UC0HafhOVjvKK5QuuLNv6`W;uG;TGWm?LVp0DakT*TzPDeIqKk3`8bLed$JK0c9dh2s1|g(a zEoBQds?WN?g*6d$54r#MN;Hl$#xoNMyczs&EHNH9edY=@nvZveHyS7Dul9WL7c7z( zpV~qT|Y<*>5bO z8ROhaF%PHiP5;%_4rU89bR0~;WoO(}vQ$1Qf6z!_j7J9~@N{!H-KXw!fGyDYW$p^C z{~i58jD`OH(0IxiM%N_}((NSO%b0eGEzpP?VFlg=Bj}nxwryzgzw6=37{gASkBS&m zMX&PC2xSX2l&rnr-=6R{WIbB@G(y8mBLAH`i{lRq*^r9*6ljbYZ3@z^!F0{nTQ)%> zj4?FDxov6kd}=5t&@lEh1~4qsBuh1JT{ARd8RO=08NBJX#H2n28crIH(C?A9Hz^F~ zG)E(qF+RCUp>yZo2BbJx!4_zIyz2%J-wjbA#nb$jXyh?QZ*ebj`pG7(>r{rLE_ob&NY`F5JO{SH#DjkLwZXFmRt7GYt^!Uu>~42%gn%V z=#Xo~`1QU!8ark36uxStH?L2DMzi78@E{|287VeC>xsr;#uy-uIj?-Yyr(_| z8a2xH;PM(ikisZc4UGiG823oLOK9PgdG#sK=+f64b_UO&>+$$}A2c!;BT_uWH0x6l z9qkGVG&*b%_jzfS(xdM%%#m*4yszmp%f*c27Aq$irSLrcgu5WlzAF@;m3N)67ZG-3~ z;WJ6m#b^i`M;T*oNC5ne?L*HGDk#txamN}K1e~K+q?9dDN8<`(L_8Pwv7ER~w~4!- zu>~3)!z^I$$DwP;dh~?hXk;Bc+?^;q+sgFRTgfUbb z%D~k(nQq}+&a(v?r^G#qjc?rdBgT_%qtN)p7>9HvP}JPZkQD7x*a8ieGp;bYd1f0@ zoNua$MsSe)xGIeo&)5n*M)xcioM8(z9#-4I@pQ{~#28dP291-9@mHLqzpnqc9Vw>n zAIlYJ92Czf+UdLMDk&QHkH;dJF*b;I#ZS>NHmy&AMop;$+FXG~TCEKnyKiMnir$5QMd&X1ag`{ZNq*4k;+gss zXbhNd3uj6u_8>*V16?#?7(>}#JV)4j7TrUBXE~KC(CFxG4eS41qI<}Lu1>?^CS%Oo zCIfAkjNfFbF0P->6=+BwSi+K7zgCdq=8&0K5t^Zs!e1he_a}#lWiL$XiJ@Qge zpz%^XuP^I*2A$=sY(F23{fx2Vmw1NhpWfDF%@q`A$gVkp!IVzpN%86L0yNGs#^?u9 zSkq??o$FIjprN$O3zlsBLeD53w_J=y8e?qvBc6>LmP2Q2cLlQr8q#nNFl&6@gRDm* zkELkjGe(rSPuOgPG2LD*YPgIm(C9JH1}5|>qBHdUO_yWwg)!oH%3#1r;{{}?3fr#W z3N+$WoM3fo+AmTh)UCwAf4BU&YV#!kTnl6Ay-NxTG?Z1mz|p6f1~F91R-+NY7_W51 zv+l=FroTZ21sYb{Ex_2 zJ;rE!QoKtjSEn&4)^A;yiE9ZN}Jy}|&CLdMvVErDifRW9`@(9i-Ku<^zO{QQ!TLw+9N-%di9n;Gi5EhzuRLoTcC0KjTh9O9Q%N*$K5klXdGvZ z*e6mLQ?V$F6rqc)xdM$zwsz3+kU9OYHJxIMMG|AoTpI)jOKlQ~p`buR>8(9PH_mEA z3g4mjXk;@+kU0M_q)nJ|eF`+b-P#I&igf5GG3nxnMk!+yiRVU{97v;kO9~1!c8<4& zmkB-Flcl=d*cpvF#`qQ%0BsE}snw@Iqh|j$m>KKoLy9wBUC;;#l^<6l#QTJkwO%c) zPk~0Lc+Q>P%cJzzVA5+hG@=>fbW0hyznM;dQBJ<@T!BVIOBeXDDJhjK)#ywQEK(R_ z(QzqUT|1lJ3vl1clPl1eInx7{cCywb#=G_2SUhEnEb-hZt3I#i)TcmWL#ih%IkqpB z6bAEr(I{gKdvP2UdiFXUR|*O=MtfR=Ypjc++Hor@Zvg1-TQW;}#s<_8w<4^h<^cpPV3N*&YiTAi)KHGp8 zD?$RX$YTucZxWbt`9EiVti}a#1sXa7d|=G^IW@!>;JFKnO2*i6Uka)2vZJK<(Jz=Q z&{%if3DWP(+DM8spLb*77bZWh=J-iKJjaw?pSZ7G2v?x7%*6wKHLUJNjCTclun1?2 z0X@Vu^lOIEJ+gv7Y=K77Iv057p1+S6_sjO85yuz~f#UqRgYg?u1X+Y}1se7R77!X6 zPLB;1=Iz5GoiUcZmVoEDW5L9*bKB1qXzWz80pn5rbnI@L6OKgzW2}1|0IwhF(<3iK z6ShF(hpHLWehWHHmP&6`1R7P0(d(Bu=k>;iZbcOoX#81c15SK< zUPsYLV2pi717X3fyp?1<6clK5D7FR7+Aa2^INS0#8X1hS#6Ske4dZUqr$A%&NOy3Y zajiQk%zmCgqlht{I|M*&+~?K*n{Oy77L}gDqJ}X(i+4yj``V`u zDQ-xjxdM&p;(mhT%1vc5Sr7fCY=MSxo&$u> z)vX|ftXCWwS&Z@Qws=3zt?+-Oa0a$OL#AW{E$<(v=RdmbynsdtV=N1l!kH9f`dLjF z7S9!EXzX%=4>Ke?$x6|OChM{B+I2KOFveK%{`24NCy$Y$T04a+(3mdH51N-oX_6v1`UVz%8Dru; zajjaXK^;laVAxHrK;uSh9~h+{@r4v0_TIuGG+cgMtvVJ6w*wcqs!xH&7H0>TT(n_0 zDK7ioMk9tX#yJMT%|$hTNl`Z_jVsXjq-O&IGTUAwMJww&Slna`{Zle9Rnq)Tiqk6T zT=9S3$8vLM5V>X>DPrE-#Uht6+QtOHhxj9dND-=Zk1NoS{Ii2CP0Xf~LiN#oEXo<< zz*h;x%`&H>z1bJGK;z&?6ZpBHd@C_>uRTD+=b-#|eqQ{}yLKAzk`y-z*aD5;+uY%D z;^FtCD2;xI#(u^~ER=xL+q1Ufqyvi=zwUl^mgxL+-FRok(|@b_Q~G+t@>K=6}; z(@1f7?sGK!Bjm?bp}h>u4qTvTk&l?N1sYEMt>Ac&Q!+7DCFG$I!5FIs$soMZe7a5i zx%vfHpfUTK*j}YReohR{0WYzLXAC0`ao@y0x09q8Jd-WZ=-JW|v`UxQk|JC46&m*# z16E2PEqN_H=cS-P@L`8#JmJBhOR{;obkzJbl2UG$e=Q$Cb3T40apM+C+*A zN7w?57KiL1MfW`Yo&Pg^hejl0M0FGUC9gWHBE~xzTcB~w#1$4lUPI^GbDZC!k;oWX z;u%|IQH}SW45@S+EM?X3Rw>Y1sciCY+!thQ8p>M zFaLx_F=I^ZAl}KkQt3>63N+rkdc%g;7$;Ip*R4RKmNCA}6Z<7&o9(YpfyVOHmN4P* z+GnIl()f%<&|&#;wQ0JT_t|}#?!zf4&{$V)2mN=Cj3>sm?qAV3&KRe~Ir{I}lO0I0 z=m=Y&@jBTS5>=Av)d|m(zoC)D821iI;N^xv!Nh1OV+%CCciRTy$r}eraq@dL8rh6- zVXk<;f#j?!DSC!~=L$61*tx*NC7&}$(P_&MEJ_(ePi))OdZrqX;;%njpke>W3?dI$ z($8v#-A^>?7^CetvE7|;Ig%LpKiC3|@g-Yfhx4W_q%dznxp+UP+ns&H$a&b%wD$i$tN1BnBxT89#;`_3^(oMZooNH!v94L9n0l=d z8fA+TME8rLU~qJ4A|G`u3^zw;G)#QlRmKMbr-fkv9Y75EtR z)+2?}-ezcoF-FV{Db%Gp(CZl#6lgfDaD!1EGusg3v`=$1Vi{xV4Drse@fqvtQ=kzl zbA>j4R`n-^rd3NcQW;~vn5PcR+Dm7O6clJ!_I3obJuB&KRK~j2Xyh?QLvbBIcmq#* z%xP1^7HHgGW&snOuG1@0COvG6MkQnPC>GBP-!_(x#NL%`fkvAP<}hgGkDKJPib!gY zhF_HYxEiJ+f&5bm^mi_M$rfms{j!FPl!u*&G4NhTG{PC9fw+c#RI92Z^(oNUV&DwN z{eyRr;`SvKG~yVeS66XutxGh$TI91{XRbiwM{5U|+kSI%VvIf61&egXa2C&d{TQ?% zgcR@RcI65*{&+ZmZ{DMgq|lk5ibVlq7_<<-59NZH^(oM}c-RigzWt>8aAnaw(5PaJ z!TrQ_0G@~G49lzgY=Oq?YxeMTp1mbms*=6E(AarYeq3oJNnpjzJ4U3)PGk!-9P6B* z&~45VQhYtu8;!$^QBW>{32#r+GrS54G#)RshJwF8?h@l^a9=bM7^8={o;qts2E8sr zL4n4VUXJi;)In`xD0}orBZDyvPDtRdS}EPLR8XKXxUW6vXzpl233B$dV(IMzD*p7MiyhF4-5poSE|v( z=(%i3K}_#5w}1*_gp{Cr#=N5{X05>mVezaQlz^A8Xp+r zlz6Ab1idIaUoxS$4p*QtM`j0RsZR79%Z74YEdDaaXYv105#N!XeO=UgDp#P<^_mGZ zo~ks5tjD)s)369VAwRDAiRX*j>G;T76e|IS?t={yHELBgJ*<67}udZg$e8<&Mq&S&62a8T29Uzda2XnDjN$x8 z3UiEi)9+kCfyP8%Z^-PQ6h{o*B`eU#XN*@(#C0<1v-;PkKtr!Uymx8hZYxrp)?S6i z7sk*K=e)L!E~THYf&z_j@h&>0aQy+qIHj(KhW{z~an)y$6o$?kLjOM$6lhGZGljBN z52g?!uj^VgA{b-3g9OY&I?{b=1qB-B{+{sldk=aB>spibXv8yyzPRV7XxAkAi&9Xa zv0|kQ{0zB%jjTu5H+?kjF~+q6;@pJ!!!GqH&}g^S7PbyGp|gYjMH|p4WDNg4fly%7 zFq0Sqw{PSMG%mk&gMp{_6_cXi;U+Aq8N;hW%!P-vqW?IJZ8mcS8gK7zg_*}P>8E?r zzz7RTwEVd0bXWqL6W7frOQoPdWAj=Q@K&;3K#KeGjnRl?jFL`4pl?z+qCN#01)*MG zcllKZQs_+FhDIV|w6K=K-J$-4^(oNM@b`feug6!DLUoWS8kvmI>9G{D`#q%B$&8I* z3pA8+tYJ(_%0prt?_`cfF=GtvD}%e|T$AflpfO+F4tC|-q{kn78d{=J%NU{J`6XIc zPSaxp1qB+{HaI|Bn{qlQ>ssX3r$8gDfgPl@*h}Zgnr7Ick;E83XGvh%6TLpfn6kj0E6|9F_JTgK z6?A*`H_-u$Y{n>AC4qYl!=DmEL4k()1~b@N-NJ$tyN^4eQOX#00TPgu{Gi68LC#!( zMqHc=SdYIoni$)6yI@hr7`>7MU`)w0`Wu|7;>s0hT-<2`%XPEqv09dg8x|ok^5d#P zU0fHwx9wrFR4tU;xdM$hLoMNB)bm%Q$T0Q5BAPMwr%2(;kk7a3Q=oCYsSO;4KlE75 zK+g+}6vjAT9su{;`_ZM^Q@|Ezyy)cxe_sxyGZUUOeb9Ky7`MbdKSlX2^gI7n#ujLt ze`XCm)BEU5S}UuNLM4YS(75=> z9QF)5vXT^qH}<2E&KPHIi2w6juP@i9KtsEWJ$%1z^MMp+V#CoWV2n|-0ztWS5WUh# zL4k&>ojDkF`#`se&B7zlsA7z3Vh-71&5PM&sT34w#8~;k`mqwa-(Kc_7>%80<;T^W z3F4WuTRQ?V6clK@IA{eno&WnTA-hO44l{-%N1yZdpW_U)sYKHk=6A)7FQTUCbn1OEic8B;-VH?pi%eP z9xNrT=>FB;CKu4iVvLUwGWe>}myX2Jfoy?Bi&R%IIPl^;S*k~t@o1DV#sTqcs%DKd z=>Ny3ju*KC4Y+Lwhx)IfdrP)O30VAMjBBQWkhtqVZ(cNNc!?{}7+K>2Pfj$Zv(Bau z6R`+BFF&rVj!0qOe#h}-&DU451scT}jxf+NdM_y|UtU4uBx7_C*Q6ee?MUaT6%=Un zUnQ>h(KwStj6e61&`4$s2Qk<8b$CE!eF`*`b8I2+l`WmKbVy7_BZo0QeG%ttKO1c( zhJpf(rDFf;+}`G@q?mpz1&t4kv1XtQs>*KCV;ltq8hTa!pwrQLH!=1F-$dgtW4yQ{ zfnF_N(<4X)1sYaA+~CK^%k&@TntLi5p>gu#>iS*@q+c>rCrh=s?`^L5zx7achxW?x z(@D|PG!2Uw#*lp%_n&_r8AXaYm282=HXU>LuJ_TI6uzs|(YVPN7AIuTve$pUkD&!@ zfySZ54lwU!6M7t#I^!N1xr{M?p%i*WSDYnFRdbIm&^SNb6q0Ty(><9rqchMbXN>zr z0g$XYnO-&dB$qAF*wfP*mYq4_N|x&K?MyU$F35l9f%9c>WbI7z`V?qfoNWtduTFF$ zMQvOb8v7Ze*Hj5K3A6|!#qcqYxB`toUMB^S~{3(>e zk^V|4#86P6VJYr6n6z5zOA4ddA~Xsaqe46{Lu0NrJ;sS0@rEnVNS$Z}g|(%2#JJt# zEf&>`q1smpMw4vlp8nM-Y=MSZtu+`qYtVgBuc7bIkX)1>SH)sJvB8slk7FAC+L=XLf7|bL^6hsm_u$~K9uh1D=5$i^)!dkGw#vtu11rOXe2Vm7;!Jaj&Evo zd!?X2qdaO0WL(ao+r-aRWoTqFM*dnce^uhtn|xLy96oUc8t;spq3_gx-AS=;a|IT~ zjFB`f5aLV0loSbmY=Op!On2B&H^h(>pBH~dqn0rOn+L+FjeZhR6k4+d8gAnJpzT?Y zJERz^{S}R%1o?4gdP@r4yYJ?ZVvGS>pfP>E1GMYkfu7seR{w^^amL8EkwWo{$4iKz zHJ>fe`1i;SZZ~UnmlVETzoU`F7`lJOz2V!2({qqET5N$v%2hK^>a4Fqj0Qe6Xk;@+ z*I_akmKGdLih%=va0MFE0-c~_N#}{A$gZlzqLeXojKw+OmE+fv;(5oPT!F^T-wx3K z$hJwO=-BW#7IlnaJxmHi1|6bjmlPCeL~OT*1ou^~h%x7L9U38*3 z6clK5pWzBR^K|JITg}p&qY=g!*Op3Q#X=)`z0Zs}Ew};=O;dB2^C*Gt!<`w|3X53A z*qRjpEj@aEA?tBr6eMR`11pfT6g88+;g+KChzo}JMM zXN(g?;`|5frn3e;BiRCtud{6+YhfZ?52e7aXv8tbB^~kns~b1zKaPR|4dcBgka=M9 zX|f(+E~;pxGe+=Z2_zj_LbnVG3N)10n!}i1AJd89X50gf0>-!}&OzSkQ?aT(1sa*7 z9pUY&h*(k-F7Jg#6=O8nBZXbfv!(SZ(1>X11O}GJYepoJUQ_Zpi@3eV;P(a2zoQgJ@&%m=+eq{xx61sXO3yg+4L(hX94 zs~Lnw5o4Tb76`kxuN+JYUzfpLfyUQ-d)OegrN?T?gNI^K!x$l(WRMy(gYGj#o3I5M zQ#`C-QreepWU1CZRYya1ReoHhjF&*S7h!GdQ=qZQ*aFu7*t3olOKuHE<0xaa`y_?k zkAKl$t%3rL*(V)9E#QkU`(q=38wNa&e`fzX*8d;2y zRxIAhy5V1YV!Z4%nk&$7(Qt=RH@?wX1KCbZEJ_$-gSbxLshQbRVq~-&!xdSOh1@kE=SfKu}G6 zLr43MrW3dVjms0=;LzrKbOthakroyw86(9)ywhUcG`g1&Tg?_|9J%2Ov+PFDE!@&K zlh8IGHQZ_}s@FwzTriC7+E32gDrF)&Oc%r7NOVV$JNNI64>XzgdVY6(3#E^Xy`X}fxx?M zSCgf(Y&{c;7{+KhDG)AvETP}|77eyQBT~Zy21z66HgQ+?*=XG4j3weZ+XuqwUbun+ zjjL;I;eu@hJvMMwo{L5^RaA!MzxwdNG{sb-{6w(^Ux?~4E^O& zSa*3y8)7sFpU)L&>^Noz4v{tV_tEj~0xW!z<-hY0;vMVVA~G)#W898~T!BWCwF~Um z>*+!YPrJof>}QNj@!r0@qe2_kr$FO=4<`uMai!-{Gd3|hHtR)p9?@sCr9 zq!{>hJsRAcUe zjT^WE4K*WkSYcT~_o_-)th(tPrL>^fnDg(O9OTzLvR-LD_wOZz;SY$Fr?Q?OT*RVkjuk_`1Um?AHC~dWL0z&S;b}#$#~}{roeHuM$H+fyM)CTeu(apFRBu z7gsdu7{frkyT)htf1cK(pg^PV9A{`_)O88XoTF9A6I_1;<+C+?diX>f&z`9 zGApQFvS=(Zik5q#5zQD^y=1VuSfBoX_~fw#8bysgz-5_A3t|kJ>WxMUV`PYT4=k{= z+dzs9ch~}rq#7r9UF$*jscSTR(Rj)jv1i2dOB|{e5JN$MMryzoaV5tuI(z=B`*t+S z7~|X-2^5bg??a4{N7w?5uI_dqk@(V?i2==bpy72({yV=SzVlFn|I9$P2xJR10*jrX ztVTkQao#xxpb^FxJ$H-i!X4++IkL=fwm>7LvlX-$xruH|dKyd7h-D1x3*!ABS=IDB zr|M3&Ktn}53u*hNjfUjY?YTSjE3k4gDVo@`1sXctoFUdX;t?rk>h3}# zk1L#{8WA%JHP9K};^^yy5|QlCRuR58Y0@jT1@8Vl$#r-A~FGBXG8i*%s>oXsqcpt19|{J8q} zOgxMAPQWs<9tsLHe7{-3v!*A`lfrOa6dH#aBkiL&{>Y3xSDyln=g({*?YheqQXJWG z42=ZF&}<{le`H-5Ly9K%*#eFCmKKl|`8a?STkf1dBZDylmx}9<=Uylz#qXvkxdM$b zrjD@lOf$OoIxy!H7DbG4P+VVPyvSfPF>Z8><_a{tuKK_&3z;q{{IX7CQNtKIAEmJN zX(HXWcW)QN6=-Z+;|23CPNG+God0wN3t5`{xKbAH!7}{T(u*wBoZ+!tfrhe%ys0@avIn%2q z?~G373N+4_+d#6a?`ZN_NgxG_WX2d+7yxRf&i16}*fNNnVF6OA0k z&=c==@^hA*Bu3$Vwm>6dqYW%O5nWD-gU?dY_`nzq#5)de5Ac+bVrRG8T!F^&QBJVD zw9{i!jC+=b#b3twB*t#ck%J|qnAhbFSD@j!-3cPkHtj%)KF`y!2u+tCSMBx0wtdo; z>7-EUc9$#A7q%%sAgpedj zLMjOfNvLEcl_W`@B#8*g@BR2)-+wOWI*&*F|9U*{yYoKxx$pPAB;eZS<#SS`TxW~_ z{jZ|UVfrE$I@c#leS(JjeZ|i_L_BMZk^r~Vd1scAw)*yYA)`l1h(_W#G!x$5)<*3V=5yTiJ;<*MF2A!h6I7$jM2KCm1^xSpye>L9iEgI2`adfkI zeo590dIh$U0*%6s_OL;HH=WsDX8aC~RK^(8PAcAruzE82Unwcj_)_BlXGd$$k(j^! zJsSCpG2KtREB@LSx(A@7Ktp4(A%XE=%^0Jm$)ICg0xbqPumu{2uUf#7`~`GRX5ri_G<+T^j;mwhz6n|JANt>& zqRSR&_zpCM_U*p=ku`5L?gtv7jPd)p9KKmLqVsU&tJngKIDb1>Fs|}FG2Ht8L?eMQ zzI>6wkdO7~m9ow=+2Vie5o`(_omLwV5IO)`*v(838>KXn2eG`6<6vtJMXJUKxXY4VuRAKh@xdM&A2F5ToIwP1A3yKMxw&uoIlbHhESX%20AEx)CbC!#zwm`!*P4P4T7%71{T|250LrH-~SYs5l zKo1#QG+al&=Sm7R?wl}&ts(zCCQEf*wGA4PjPdEA1TN`T(C?s<0*!tz^x^1gX%Av7 zS80dF9maUoM+&>oUprNo0*$jLZ6UIMJ^Gp7{L&tcY{pn8wuw_M66i6Gk^&9aL~;M1 zd-6<*1$p32vo91;XAZvawtuq=P>5Aj3%_#AFhMlYC z*QG#XSWjE9k9Vcp68~#m&^XE%W5qSw0|w2Y+bbmn8oos~(7}4zFS1lsVcpQU#2AwO zGSJxYVL2&A59!VoXlxC!gw{DR^!$g@#GY8BFosnpIV4SpXh#es1sW4R>B2FUi>9R5 zHJ~>dd5rO&_+N!J9ZJtAjy=Z~XuLRN1Z$q0a3)4h`@U#YGDe3Kxp+(E6nbS%y8yO8 z!@}1D%biLl7BP&Gt15#l_m|W8-F_}?frh$xhxF{f zZnufyXQ+#Nu%E^bvsmP$#1M(sjVI6N_)?)$in9f^kgvEsP8xL*q0 zzG!_WMr<5gpkbb12{}2(yOF}A&uBD47-M~ZDH!y2q{mSU?y&_Lo5Z<^PE*!=AjatE zv1r6IhOam${5`?DJ1IVDjN=M4daV=lB@0i|vr9)$YG9GU7;!sfaJ%C^dL_qWt?^ue zhHHI&7nTq4eR9sIz^WMjYbt%wj=3xVBLB<_O zk??aW8exp_Nt~mfQG0+MbIv<4jVsVtw$~nB+%nuuj05`9vADq)W6#L|dWPL0g}sa| z&`4hG0=_fX(POo8+nH!QWsLQ;;hK#a>Ux%jrB!%|wS!k3n#(nV{ zCBGVbloY@IV+%BPmD<3zh0Ez^@9=UC8nuj(kRXGZd&22HT+I)*Kx4}(XK?eIPk+xB zy`P7M{}aV=)u%`TS$96rt*DX$jWg=vzPo8l=}c<-rwh=CV2p~j;{4$7SJ%k@N=bpn z&Uib>A9#zN+jhLQ2#qAhh`B7@U%S7j2{DuuXq?h9g*TO$4C z97GHy1sa*VZDH+8HF|Ar{E=m7lre^Fz8su36j%~NNrA@ney*URtwMi4_U>DOhWk^+ z&-_G|9Adnp=)TXcVJo=;jlK>x(D$H4U$RuYs#jqV$QXCUbLiV_@cc`PgoI}!#dswB7A3VCq}@b?N~%JhFX*q zTKbv1B*o({JGcT3Nw7JrGxVfmcZK^-EK(W6Oq@SI6{AJ>;qnLW;tDjrukwIJZQIaa z=N4agW0B7oHkNY8U4M(7SNqmMhbz#~pXLs=M*qCop>+d2EWR;@RT~*x&M00%{#Qy0 zG)6cW!S(hTe@OAMTptbTbH#C$Wh;R+L-huvIBssh6=-NySVNDl`D;jFm}iJZFk_e+ zNuim`Kkqn<*kZ&LXsl9khqjYW7ZYRI17j@W7{hFh3_K(9dyyh*kqK9zpg>^d=xA>;*^DdD7-sDVPM*u@?8n~I=2#RmMuNBx($YA#f~-gX zK^9zrM$Z%0;OVVG$8P72R#;Rs#@-X+o`!CjF2rc0!4_yFiua!n)|{b2iV6K}(C~So zIIc98$)Ledb$XqQk^+r5ODkB=duJPB7`CxPBa|_cK8iV+;@pvSDbPsyPXe#4tm(0u z@gI9M5*TCrEjhSGT&1(lN(wYSuP}x0%P!El4Bb*kG%^|Eg@YWHI`*SSUP=ly!iJf` z!YUshvgU;^ozW;}44JbGLO1Fb)TKbfx~T;isXwM$xUu(K(WqgJR5fvov*ctHF_aW& z?9?}bTYL7?&*M^@I~smjisR~VxfGuN=}mt>I&Ij)6=$ne%M8^2ASq33$GiH-wzXn^Nk+#+q200C+ z#~X30{3r2JYe12a!Or6}C9uF!h&{(!$4-|C2H;Wjyr9Nl`FotDk@!s&S zyXe+ONrA?`i}sM+paC7bLtpx$5y=<>#r;t&{<_oOS|tS!9EK($f z2B1;S7!#I=XRH6WpMHYf=O5+@G#;55ga6Indx-Hv;|LZW*^1*TCtM1f8=2DMC?y3N zXYQE8yOy2kd7L}_kD+mtFsr_>TjTFW>D(3X3_VwLGmP$#1#ut4v7-qeK&Siv^2BVS3 z7|Z&|VPojr`@~REpfP!i4fs9Mq;q7IFGJ9%WQ?lDQfOniVka?_6lf%UGzG)>>vVtj zW^yPRUau6#)g^Il)bm_Ny4N>P?+jO<(euzfw}5vGJ7+#ElwHuR|U%`aBvB8DsoL z8FZTXkZyOC6liR2YXD7y23#UbwYJve zTtwqLW0ZM_drWj1(;4BH7uf=hr2RWV{={(tF$sY5L=+p z;*2%?3C*b_#ohPOXoN6EFL9lvMyLjzFF7E+!WC%vKQx1%?_SI!hWWD?EaDmCg1dO1 zS8$hnQk=AjB73kS)K)6=?J~vxK{Mz3I8T@kbM|_{A7KBvM$q@MlY6q)ofd z6=)c3wujZJo9NbO_r4og_~t5(tES?8MJ*5aE+K};(3@O=#;2!xaDV?d`pX&HIsWf)p z;|ertKAV8W<@cva(J~_ii(1B*lPHBg2OH77jEUy=xdM%}QY(-xlDZS4KRm#~KTmO7 z1z!};FWJ0|Ug^|(D_fw^+|&uq$JV1q!hVY%p%K9t8+yy2Rh0$3@=QsA#)Q>o(B@#( zKl7qf($Pp_3`cQY_#A^%)5)42N@NQ(@>QK->e0&Mq&PkJF&bHnq2napGdeS#ZmH*| zvjrMqmX7ecNtToti#k6+ql_`^#WQOT4E#;ER}l$pfyTT)#-KkTDx4Y(pP}LYTJbY~ zBYvYaJGc2kiWi=2frkA#C&-K$(TEfeEMA}y$QYlR%OR}BX(lNy`?Cca%XJ(fA*5Xy zDH^)JL?enZv?FD3B%^v+T?#ag*jd1U*wyBw2sC+xMlxfp(U61gVRLO#tm>G<6=;kW z>mmE~XfG*F)z8BshcPO|Z&agW#oI~Y>&O;pj3_aK=NG=3k>cd`d^9Q;qg}cTmW7UO zPm1>bY=Oprzh+>vqGtpt=DmJ{hG)LwxT;E)fpNWu^nC3Pw*sy}!+NI`Tpy@SXD0eT zdW%I6W1KCK!0+F$Bgs-hzgE@V*=r4}e+#)QZ8RJHr6w;6W^Zs)yTed*s z=tfhxH~bYHi7m$!qmjxO)qf;#{kugKS&xRR*#eF86=vZ3>nkmEW|p9l&lqmvJdT&v zZXkwc3R|GznrQjD9cJ0*y;k%wRxtqfMk}eYXq^ z=^MpyrSn<>F3slAaiyd{L?ewc3?rmqf9=*P zQY?|O1saB4&QNT4Zw@K^)_g;wkTFJ%l7Z^&6(>mHWy2O|G!f5~ojpdA?g3b9eMh63 zF;vCA=*ja3=&YLVPPRZ}t)>O2uM1yCma652A87a#D2^+Q*D}byvLk>LIm@fL0*w`W zEFrLV7ab+{dj7&9lre0@yXf57gx({@wP|dDMoo<+H2WsGLy9KGHE1L-My+`EXQ%!Z zbiciE5?i1Val#C)^!)UZ7~6wt(a2N#8nRRe4mUufhB3A`lf$c*;pa*5q+3I- zKqKI_2{byt<{2s0dZ=LG_f~OSb+-}spHE1pTc6HN8*v31+ucoJ*sw!%_WYw+V=TfM z)u7px)f+Eb8v^Fg{xbU zV%ehRXgp_(2=Ok{dR=?bZArjmwm_qcxW_%_gC6g4T16!lvTB!J$PmhrUjPRyg>Om1~fkt?LV=z4NEQA;t9onK1z!-hR zy_S9Eo}|U{c(y=8a^4EMoBiHJjQRE3qY=p%*5Wx6lbjmSQ6l$X3p8rS&zUr`;j@{*px^M*=6Pj4Us3k|}uR-Iuu2^`y zQyf><#dR5dw>R8QmTJiQZd`#zyF2b+tZ7Bhf2^I`1B;`KF<0Do_xX6V1u>KqXlyXE zhCS)7MWiSn+Y60LjNv5C(I-~S?M;gNSJ?uMF`EOEg67@SCQhlQrD1yMRZeoRCLjMAXlI< zaE2ksc66t+wKDs`Se#&tj4u)>30pUbER~W1jqw-s;N0yqCrQyncL*9WjN$fL4)0t7 z=~0oA0u9e@R&Z4!`A&@LRm0GD$QUEVxw~Dy^XpWg5irOReo6J|QjMEA0*wO3u#tF! z$<2R$Ka><`ml}NA4|8A%$;` zF=)u&D~_xGu88BP4-uuLxS7NjXgm!S=WA^z(0x&PvvFvIFh)}?@$8+?dz^`}Ac`%} zu(o!FHO4n=Nb%KfJR0$gVcbCm%k?hO-}45?*aD5>>*nyM`ZE1~sC!LBBZDzCx5%Kx z`|nw@R7wgo(#M#>gL@O{w&b?uWHgEx!zoF;8*q~2aAIugI)y9H=#?%&RIWh7WwsljJhwV@{F@{ER9LBE|*vnP}W#jJBtx z@TA@wdcJmL23w%vzFdsmkH6^=%i^Q6(0Ixi8e;4oY3E13gX6EW1sb77W}p)X^axVE zZw?wIj8S`ByyFl|uaGr&2xkj4T3m31+=AV722yG{4~<&Jm>w^M)O7dD#IQZY7HHT! zae%F=uilYDGk-oB{vQ;_m8q5ljyUaDL5ijx3%CM}AZ;6{+!-^G6bqIu!Xkn(Mosg9 zcJ1VJ#%rP(TcA;P(*z6;KY2rpXPcLxk;E9gXNi0JqN;UB(Wv24u0W%&i#g~?egG*p zJYI%H7GoR;lR{Pdhc2Yhu3!r^?zr2-v$@9>l49kg6=;+(#v~0X9DE!~N20-Nwm@T` zoj&wlw>*Ftm(Q(2!@WfDGhbdJgWuni={=(-AF>4+S2ml1PE)P%#MpUt4H|)rF+n_s z#o%NBJ(^Hbpi!G=0p{6#>6wPIP;E4#7-PjH2~?Cc^CU~9q(Gz7FB53^se~RIJUp-- zjbz4H=Ol+Qlk(_1oRR{K@#oFq+s{P0hunMfMl^C5-RYKL*uC9oq%ua=N8&n}?8bD)OK+YISD>-{g98k9 z*Zxe_V`{W67Ws_fdQb-T9x_^7*U;k%G+z5Sf$bR$I$zQ)SRadTj4`-{40h!HGukz0 z8E^#})8CnbYtO0s$a;KkYlMZgRB>G0)e+}}+v{&8MgC~EK*PMm7!)T1sb2PTS8^A23_-oQY$P98RLz%cz^ALd2@-Oq(Gx$ zqdp9Ncg~s=Q*3O|sAi1H@7^%ZzX#pRP*R|=w#Eo#oqTo^W5rH8G<-fPjw>}W&u}T? zBmE94DbR=##|HbORp_tt=j9G)gfhlue;L&5pKD5%N=bo+&j~|_>vyydDUMBZLL-4O zMoDB~wQMszHc(QavE-Qzber{zE>+P`7c?>%quydEd^7#?lq{8!0*&8b1n;goZ6U?} zE^cTPGsbOkKj$nzyH#~5(C{_8RLkVcxFvTF8zKeDbVQi&K)Y#_tUGX zIv(;t!}XKmXI?c>yt~Ho8r^$UQlRnnqBwhXYp{f@N0yr}8Uc(Edr}HPao^nQQlJqx z+X_lQO*A3JP7^;gA{nDLPYQ!?-S|+K0*#XKw$Q4jjQ-ZH*yxYO9mc46Ac04oFY}0@ zq(GzdK@$k>()l$hbmj-3kaf z+ILb?%pA`aXbg)N_l6Jd(U=tH8yrQ$qg-)ZU6|kvyBm&sMT)@wY=Op!YtC@`d$(~JwN(+xVH`B3N+T=v49hoThc2z2CO@d#U;jwt}pH-8$5x|Onmyo z7HE8Mvx8^tdeUvln2#sXNMVer54_=(dA(0$&6N~rjQC*>n-jXzGu4vpQ)uKd#`arM z*rqb%E-{o8Xl(8xuFI%$p=T6z?wv-Xk}>LM$e>Gqb$aBbq(CF;nH9_riF!$v>P++* zG`v15j;p6*U&=&R)e z=0V-Bas?WL|JcCiuP~1oTbo|PB7-ra8q2_W@Y6kYDbSd)*96+es-7Ul*{TFIiWno# zN(TDTQ)HxgYkQq5(CE|J61+6p)AJv@3U6TXi!t`!75gQr-{{#sB?TH^E6qS=+~g)% zD%s;iGfB0Q2ZZJmCT?s^8^T{Db`C_&}V@sql?D}>204d&0xrfG6 z#yEV;8y1BQJw^)E0=7US_mMHQ8tB-J6qV`s(I{bzSqTyt(fUFVDb$yzas?Wr3oPM9 z!++juc_iTh7PXA={+0y(E()k2Mz1XoxdM&2#%>^arn{09Ey5pR;a{mZt_(HBw&dzw zdX8nnqBO2R<9jP3c=q=1YGU|z$-p9lG1mN$z#!>A_x5>BVhc2y{WgboK3nL~-K>F` zXe2Sl;e)LtR{p*`kpXjCvpw7m?r8+OYj>!GAT zWAro^XzH0y=PaF43eoWVrZ}!niDw~&&D}Yk7}4|JaRnN)#Pb>EUJRQ;3au+eSOhVK zeM50wU$>?Y>QbN)zrg^E-So^zaVoeNjcCS5ag>10E4dvhKKB2>6=)PY+rZv-Ipw4X z^)A68l`(QwOChbh`&v?L8}lDmpkY7J9A-4XNZ0&C?~hpIGe(>^$Fh0Pmrle`QlJr) zZV6{YPtsq`$X1`w_{JE+y~Op2GZ$|l#{0``fyS~9hG09lO*ko91b;?DTBSIyQZ;4J zdWX)Nx)f*}oaYLsV*}|i&gpiQXaqAxJ7)<@uV+MOYtN5i3p64cTEM9v33LwNPw#JN z#4(0TQyEm21kh3P`ZQahk^b2l)()Lc_kH48eMcjWF;vAn!)`ayct!qK<(Jt4ja>2m z^AkH7&?5NP4>SrHqe?s@WvgWs-4~sAvYIQ<7$u%NIP_Jl8(FG}@?Tg~GlpT2SdW#} zZR%2>ar22j*EFfQdR0=7cRo655|NABq7(-i}qwm*n;>WraXk7Sc4OK@D z(j%`i#SPHNWQHxL1FMyKY?yH2f}F!ommL=$1NjO*1t7ekhJB zxi}{r^7k)2N>x&z(LCJ(O4n9BBujN%s|6b2jNv2hj~ZyCXH}O1jjrLA01Jj+C57JT zR%j$LMp>@-p4arJ*Xb)M&@k=f0$oaT>G6k2uQq5rXN>M*zvM-H`~tF6Dj{rv#w;&K z=(O(=J%S8x(GHDL#?X$F!F2To9f?uo!xm_Cc6Wm)zZG=<%Cx#Y8m`rfpSgoDR{q{d z=azaqcHjy$`V6sx$AcSCpxPcS)-;w)}vat6IY=smWDiM{%llBL>os|yx)7{lU%6ehlZOZQ9sc68+m zG>YCDLig_4mc*!7)*Xv%#yDFb-XHbfefq6cQlN3Kp$Q}o4Sh|FD^q)-QO+3i#k-gL zo$T?M6ti!$1seTEy29`ywb&d=({6==*i5cdxT|H>z8e&0Y1i%X2LRGj}9I5?T^Gi<%U z7HC9(8C<=6!;=^W^9Q1l!Wb)th~L_`Q|WQ7k^+t8Kds%_wGQ79QP4uoM4P);(YBEjgEBg_1S5* zKx58cXE1(SIFJ~nzN65HVGKht7yhE2lwK#Jq(Eb7w0JLBkAd_|!+WPOXgp+$!H#lx ze@T53St|SbW4Qv2mj2dovZQPsDc+Qi!=ivOjGjqg%GAYlOZ~Nt23MeA(?vYn&^v&h zagVPZkHvS!xFX)0aVf9YG_q8mLMCtp8vWg@q4&mhbbq&Jz$7f>zZJ(-AMq>;kLF9C z5kpCVM(c)-P;TQwzvm$yQ_u)u4Br$9=!XAu&0R}%O|C#ASj!16wg2b&CEdGB!y=wB z4vTmFZfUf^j;zPlV{C!O=H(9X_QQO8F_U~(TvMvQ0CtPeG_<8$g zq)3-!&POARF>)u!A@Fe| zorgQ)$rfm=>FEeoQ+5;(<9NjaG;T14zL9t@a%cZUFlOoc6F;}2bSmF+IRJ7@LF#XXIEJ_$-oPl_rWsBQ;iSfZ?DOaEo zW^MtNr=0JRVz}mVENU6Ub$}cu-n&VEoz*w71sX>Zjp4Xz{XfL`J%1${{(lt5RSWTM z4r9&H$)wnm&K77aDRTz3GF`gnlP9c3BZ4vF#k~MiM{T3~3|0wjfkw~;Ls;flVnUY6 zN^LC~NsQ5Xq`0R+_a(hrBqV|@&{!$nKj=Pnei|{FcU*@?7Gr3NdAJtt`E*WyM?71g z5h1Q&S@26n_w>Kl+ki$HV`z*0tC92nd8&%K2V0<#dDsa?Zb?cf>k(+S2@UsJ#m{_J zp19s;qI)}1?Dt~}G`2?Q!HS;4{Hr*w?uh5yJu6mSNDAZm`dopAX`Z;QPybacDVkg{ zz#@n-)}@R2_7(pHl49|AL#{xh^(a>u7qV(JDV7HtVG+$3J;i%phsy+p;ac( zf8*hOq`2j6f<`K1#EN}Ub4zEdx)f-5-O+`j7QS@PveMoRjeN$KDDH_HV6~O*Whg1o zxE&~-ReZupN|wq}*8+`ijFBkr4cFQgS6!C^jmw8Ep|-_kdhL0AD=RdluFZyYXx^@Q z^F<~W79%aqx9J&o>bgN}+b8Uxa{vYbY=K7YA4}LUHH-eQ9?Y;oBbYH<#5H$)JJ-)7 z>!GAT<64|8EI+o3{tl*%utOt`F=Eb2V93&mbg7gSXyk?&K~;F$Lu9FZx;vne#u#TU zq!74#RFk?CXoR@h!P_0j)Jb95)CrA3#+WId%eiK%6Wv2rQlQalkP&=~c1tCOYn3w^ z)r>JRUkW=%CD6HypGRD{0*!|DhOp~DjWA-U>~_P#$4zlum5A%F+6=ou&#Qg(WD7K= zTlT(Gn7`bu}8lj9a=(_}dT%4*(is6=QfkupYpK#3v7jsgmZQF}R0%Jsv70<1hCS&xFi+!K0Ilt>tpm94^T$kaeb(a+Nr%2E!W{iwq zQm{C^;tnY+64?Tc-r`+bcRT1cBt_rBGBj!!BVN3J&>?dsU2`P`8fp*hq2s9&D~M6n z(Hjjvcg1mKxJd>t9lp=4OMwPNxPsY_%NeBbYp@@UaK^ZiD1+ioUk22rKqL2!8*G?l zIDY~{1qNZid&(9Xaq3Ejd@bAmF%G-amM^3T!Dt?1tX~OIYiH& z8+JN|MI>Wb&y+!KsPksBR2#;#1sYAKn!vcPvGhBr>Jo&;9md!`P6`vY2izt`RR7~# zfriHld$=&YFn|=FKcB!Nn=$0`Ww5hd3wr+JW!sZnfkw^?JDBw7Z7X8zUKfl-Ib)n$ zB!dy86!r#XH=`74?Wt}$Yu*Pg07oE|4v48h>_7J42?^S(W+Vw^*7(5$AhKG zY=K7b7dsfUei7X!9&8nkMhat0nIwY>)#o8(sYXY$1sXFyTR{((JM?(4>&XZ-@)+Ym zs1%AvHKSKqC@KE89!VC^B3XEYiyjNyJs3NP0kFRDv{Mu3S0bWQI|=M(LVW6*fW7^CWo_X2$N z96=4fK*MgL8H}jkknUw?ii${?BuS_s_b<6=;OMF@f9fu3sl>J~1i*3%RG_xC#(+OTTY-qQ3@83N*gXvV>WB zvucUa``8UMLKq`hY}@B}{&lWPfyRY4maxxuW)>;BwY-H!JYz)m5brnWKXMEy>JMiN zG0G#4x7%ES#sgbZa69wr9HdNhxUf?o%9B$-gCVw4jLouSUFO3pAp23?T5sfWO4Joso)07-J;u6YsSgR#aA( z0u7bVmN5R(vI0)&qdKIs1sZAltl^yg;O}J38zwwM!{1ABT#a}s-h*|gxL#cf zH2N5tf^VBp4N~ZxeSt;BKnaM#VW9w3&VZYcOmh@gkk090jU!sx37=OicwokR( zW>1V9)oiXnqsx6KXzTu(?q8*- zYC32ekmAMIQZziJisS0Dc-G5ZEnSDY6li?xZw=G^G|rIXX`eDQf*8X{>{F*4$a-0q z0*!I4O(CeGhA}A&T9=~{%@|HDQt|e>*L2%{<^WruG1%Ayx*Pn^A;ym1pV3HV3~jN! z`n&!nz1F$Xxq>Uu_%_@Y1oSIsk}aO?B*24ty} z6lipOXaSA|GJ5WA@x>o#1T)6`p;9>WZ3w-RLrHf>H>vQ+1Texeb_7#GC8 zPkOtK{&gwPSS)h^qu2YtlEO*y8;vx^$XVqLKLRJv<3S|_8h<`Iz{Q47>E~f%{RfRg z#yB%UJOiR+2AwHN{K*z*s5fwhd5N>Wko9=H<1ZT3jPc=xxHrQrxP}zEAJ_to4|*=3 zviWo;QjA?*-}L|QoA8k z4D%5(7;{BRM~RXGjq#%a+Z@~#wWHw zqoK1UXa#sRBE`9!UT9=9##N9)(ZC?O9!d%{29}wD+w7zCSWWGIA2iAtBSKRKi?t5W zBVi>48sn=B;AnV1Rk9wtV)~)sv0rgqb#5)L7nSSNZ>@`Vf385|f|C`f&kCZ&p;KyD z9AykOXBn7y{P&nF)%-aFxB?CHSK@s|-&eYkLT&6IEG{vIT)g{i?8~NfhDAw%#*T5; zaKEi4oddA$qmD)jW7t-Td&&B}9zvGtP%>MfQP5XBv!>5lBT~He9g0RCV+_oZ!pufZ zDoOG5GFzaraIO{X+%=J&H@N9E9F0oG*cK*-&JIK9R`kLNwm>5~-yEhdHr+>-%3nSb z4KH8CaTV2E2A2=D%dSg-#%c!x=o48?zvrv$Mx$|pF;e248Xv8qaaW^SM&CBy6#i!=uxB`vjGGkcuZPy-BSgh2*;vr+~o+yX%%bMFs zQS^f?(1^L|0{5qV>q3fvq6ugeFh;bvr@`rX4*dj`6lm-+vVgz2J?Kp8?L34VG13)t7d9)#s5B!L=yP5e`x#y>15yBWxC(A(Poo6aps!k)PaRnN)>p8>Zu-yMh(dr0b5ziQ|uHt^@kG-u( zk=|oESD-Q8%Nz{$XVXH%a|RX}jPY}q6wZGQPauYEvzc6hM%os8@EP>=5h?zfYhh8u z7{A2->O{+w`gJMLnBLb6HvgP(niN;I&PL-GV;ngno{hWvkrydms?6aEG#cAjLCT=E zNu=;tJQoXJKgDrn(NYSXHyhHc^s2tF1seU*Y~WM3XNAOgGfD{-Ij=Hv992Gwhe(Rj)j z%U;M~nBJy%vQ$b6G>SJn!u%^Y==a<{Y$+Ngj1jd;91jjE+(HZ`1sZ4EY+&27JF7^s z{NQplY8k_$L<;I%f6!SRB?TI)+r1#PaPb^s1iG$7!~dY-xbp8Rofda^^L(DP#pG$wX4hqPY~rKA{MvlWdf#_$#QzMek)Yja%+ zG#bx#gq+>Q^n32|-*z;T86*6f6ppWq>PZYG1sc8eji5Z|q&X>;W$i>GhcUb^NFecA zfBJjgef=)3K;vd3J(%1>o9_Fh-rbEw1!D{o_cUA|yzmBDs!|;tu0W$&!yOi>pQA z;l6TMFEe%_#iQSBfyQ=k3os0uGL01TcbTG*&luZo$v}JBxz%+k&{&sb4r?Q>&|l}& z73OGsV~k15q)<8ciY+me6lm;UV*^IJVt$aq7c9|`1}KiJ5OJ>Pom90~T?#Zli*v%o zla`MsMgA~rG=dr9h1g!z5B;1{mjVrKe@oDuF@hSGy4s=<#~2xbQqV3sy@41?3N*@m zjA7#ajBrwPXkw2>8e=T-lfdN>F?n?<&^TY^2wp38HzmdIuMTJwGREpSDX28}qx(Ke z3N)G=+6|ZWQ=*BX{?-YNYR2gDS_;R4+&YtD8HJz2D#p1XTx&K77qIp_|q8rtiL@nf1h8lj9aZK@0oq)3{O;>{MeKtpS)5zLrW zOy_+H7kQwOz!;I=q+qhJn$Eo{DbRRy(irBvX+?jdx@vl&k;xdzcck!WN9BI99;vt3 z0*&XB_Q12(k#zscSltVaV#cWVK+MDK@}fs~C6R1_MgxB%D9YDfMwaS9XDJ#rjL}*g zN6mlPkba{+Ca}f-{#RFRpz5G=J7NqCm!shqs5q{^u9QOT$8@#26liSTZv~S+@4QKh z?uUHP2xp8T;yqY1lg;V5Z6yU7OPY#zXEt9>_g?$C`=XJ^7`5WOvuFRbmt?7w6lg?r zw*iTFuP9Qen)spdoH265JoTx@jp#LAN(wX*_j^L@>}6w!A>ZhaMk!y zQlMe{$N}7I_S5ZE`}qNAxE@jb%vD^yLA~fZJyv_1#ujK8I-A3%tW|Ws#AbXT8Uc)P zQ9Sc3`{^McvK}$l*a8ikB_?q5ZpwL542U|4MkHg*6ZhjZxW9wW+^Ifh3pAz~*nrjf zs{6#atr~>J9md#wUIxp2D^`$V_zku|<6h<-I8)N;pBcz~C(y`d43!o#m{Qf~DKRp` z*#eEW#nv#Ue}B4vwdc!8G|Cyns+k;4^?5vs7^(rmT!F?gPdo8WJ^3qA#N?mC!sDpo zxZ0*GgAX6u%qGQa_Ykf?W4*d~H;2>s4y4%k=rk5b8Dqg!3B2k!E`}5Xmxgi$8jF0y zXI`ayoD@azXRx@$7`Mc6)X%XS^GVT7GmI|sEzp?a;tF}TPIT_|dCnCy9x}#RLn$;{ZAFixloV)unQjLMZ#mMr*K_w{(I{Yy z7)P%>)G%CFGz}LT$&ahO*Tt(wMV@wgx%Wz)$j{epvDbQFn$pl8unM;p^ z!%kg8Lms3!uDZPu$Ajaq$;f&rDbPr-bp>m^0DA2F)aN=HA&il;S6tUO=H)SBC@IjG zoTU%91N+lY@PWfkG~yX!%ycPe-d-9=j5UAR0u7tvcHsE-pYv+Ty0_5CV2rEc981ff z0rcF2k^&9WY<=i9@>M^wR8LmlMx%%^cG-yetIp5p*$gEG8amrt!0w&a2V$(!x{Jmy z#@MYUo?CmjlpcBQ`M?%vq+T(H-8p4+yE}5!Jv4leD~_wL>&5rOFNYp^`9Eii|E;CI%j#%`vDp^7~`9_9Bx0o zv56SoQEY+6w-7zZ^BPTmoln_6LgOi8EPW&g|AfYL9`4XFwm`#G-y9~*Xm^Dy)#9Qw zG)fqwKs>+X?eu@1^50yN&J}397SC=|IaW@`ZqAboENU5}=06EM-`4XlS*n57kGTR3 zgRbUaqV?!NUK9;<(Ba@6FKbQ$_b=-tJ%vG`?gSLFLU(eTea9*)udE7$ehA z%q>O1sk#(sluxjRRhNu+lfr%43pA1#BW14?hKEkuUY7z5-+HbvN!NQaDLjY1L?eqa zOvJgOHq!!Vp>~li(Ad+>M9lS-(W8kcU0$J4#uzGR#50#eg6aNM@#ktf@)l*D}p`<{=X1+1pdNad<6io+IqVbI}28rjMSL)2Gs!M@J zwUs_tUFhad3X}HV(2$-|99OHvvvCuLp4oJdEIZ{l8ikDECf@VYz&t&N7+n|Ca0MD6FYVyV z)_#A9cMKxoLxi6mCucLF87_L5Sfrix?H)ztx@FFR68`Lwy`#(Yy$Cb?98}1yb zIa!wijer~0;G5=Fj}+UZ8lVx%7-Uf*8wm@Uwd%-RbfPebT>ynWmdjReMs zZX<`%&n9MMsop(S;R-au=89{)B3eEq#oGmqvB+eM$z5cS*P?1wT?#Z>Z!m%KQ3mwa z;O&B@XcRL>x}_8{yGPflK;vPV6|8MGgwD|CFKCWN4P&(5BA(-=GJziB6f9`L6=*C@ zaD{89r%1?}yT`V~!tb==xH3L2u1TG}jxLo)Y%8unqrA)!?xy~wdwuS)t+5DajJe|Z zaOK()eE(T0wm>6svOcUX_V`Q+m)N#wBr?X`t#Z)OUNf>T1saBh;+-!xUFdxKpgtYY zc+MELFC-A~$NMlbloV)u_b`LACj;nGsrTuGMk!;wHI{;_ZapVrC@IiLxM&CI>fh;k zwSj$9(Qpk_{LHh&yM%`8cq}1?k^+sVUCrQ2mHaX(zCY`VMgU_JiEFmIme+euit=x4 zfrj5ZE3k8HP0x((FYJy+Bx5vrD6X@t9zuWBloV*(pDpI}CwS96{gID*qH%{YOgqaV z;nX2|d|uzO7gwNBoNWVReh&Rg*1T+MA1tyNZ~r**mM^@7JY3<3q4H zggwfpPmKuOI0g-`FvW4zMm*PG`NS*qY-+C(jb&j1s4vQ0vaa<;Y zY25~_B#IzcrX!- zhm3J8Nea%hc8?-O@S;gvfksBO8}wAUF^3ed)=$BrfHCH&iDw8Ey3lRAk^+rGckQ6M zu#%o>7@sy3jqi+c`ke&sSY5qFmTK@Pwm`$pP24|dqDJ=0E)vU>{2`dOMVUqlO#L#3F<-uB;IEpLdQ-A?xAsg)Pu%-CYk<`aE1m3Y`tJ z(1>S@R698s6txc}MU#57xdIJsaewWx(`nO5;X7{*78#7O?2{C(Mg;C8#kn%JK;vhz zIkcM4fNrVvH0GgE#25|^;{3VgczQ)j?JKrGr^ljs&sNr6UWeM_*pA3B&UmBFbc zXoNAwHin>!%Eko_k2o0w^iaunXD)nJTe#7U#Y0Dl|$MV~dUizTP@X zuTSh*#ujL7DYFH`A#a+J^?1H|4H~tKp?*mMBh5O|xr}+g*aD51rf$$#Gmg#_{VCQ) z!~dM(xO!DAfxFFCc$1}4QvC0K)zlGeH%~Gl#rEgx(THG-OXAsv8+=x_txJJMkcKHN zn7@-=>9pYXMl_NbBecGFwn#|7p2T=KYZF(XF;vYS_O6i7y^Oa}o3Y4Z3`_Bz(X+87 z{}E%v$}L=hMi)C?XE>1=^U<`_E|-XxUH+;twY z0}b~G#m{_iuy`j@o9hROp`<_~NxTPZ*QmzlNpZjXE;IreBV)06=ZmH>odc-3#TICE z9c&B+7gEZIVRJzTjVQ(dao)h__gDJ+p`<`#fz%aps@&!hL;t8A8p(|DOI%NVW=3|O zx)f-QbO_#Lom?e*EW})N__bXjCwUsdz@? zn`Y1Y5o1bMW3E7Bcxw}ogbY1EirbA%vG6>vIIetuihGw5m(br@B?TJ8`dY%4t15KQ zQtg`=8bORPzMXjg`N{ygO;l2#v37tN?ESmrI9ZSP1r}&TGscmg;y%cC+PCUbpz+j9 z+@m<4yeladXIP<;${1OPr4ZW0BaIa1=GI(+#w77hBx!?xuGxN_V1q?IV_1skw>M21 zM90;EEw)^NM!Vrw(7W*n`dd3X+zyLxjL~(R6lDAM+$QU>b&)++pb>Z00(yOaK#j$R z9I%i^Dvqmf9mI17r+dFAhDujQu0W$8!W25sdXr0v4uhPr2xg4#r^Rz?KNan$OM%8g z8}S}Ri?<_4akHZ<8gY!#Lp+b{MM!5L#rJr&_@B|i6lQMjL+AQ>HE>5GjWPBFNult@ zS~~CZFpMqGP}6dUT|-6>BunLE?tw-jV`zZ{`d=}rAw|$Zwm{={vIS^eyfB&+S6w~P zsAi1LRpMStmto~~DbP?cwFa{bz391AKO-+Rd@d-CtJUI}PF;^rXikjf?Im1+#;zPI zcxu|LJt;c;m0}Uf7@-kTh(BF0yDkM9y}H|jZ}N3ITU%2mM z{reKQm!}#@imY|dxd+jxVT{q@`B&LP_R(XtBUZ~3MsGH< zC&rG_LumL#DUPeES7QIlU4zb9Dk;#AJ~D&cM$U(b;r8+{8sUtg-BSu-5m)JF-q|sb zE6^CZ)d`lK-&9Bpb-kllBr?WUCn=a_{25Z00*$1d`(WDo?E0keSrdfDbH*q&67Nfm z-Dyyl0*#rot-)5~&QenRPC0=_DPt@V&-ckm*?g52AJ_topcFgUS>l*LidHXz(Qv(} z_?hRmltXRtjhm!+t9^KY0*&wu zc5tn>fF7U!xEP8>BxBT5l|%Ex&q9ddzv>KEpmB7K1>7$m^N18)GtOdhhcSMM=SJ0E z-blYL1sWY&I)jQ+5Bht4yVW@~vKhnmka(|5$mC_jh#bKdXdHYl<}$X9)*;2l?&r}c zXN*ycr0{9~LDRYvX!O5r3Dr##)JPHB^a2_lmlVfU`gsZ1sA|)5MM?@ZO8;6yw|>Ez z#JExwg~n0FX!}bB!-L-W)uliq+}jl%PaZ&zgeShcgvKSt=+j;XAx{dH5JO3U#_AF? zSXVHxniRV-qtQrV3`cRTbHUBI^tz0CtFCYb8l&I4f#aUvGl?;BMl2S2j4@68uO>Ph z(6fDAx3k6n)+5UpV%%@h->8*KucA@O7)fHgTe14xP_k4?3N-#KGlHInGw2?2cg<^P zcwJT;SKq{aUK19dSx5{e1saELo57iGd+8p4mil!xPB6x}+u}Z!cB`%t!zG<9&^Xz~ z5C(i2+Jh942{+M*VT?-gT!UWTA>->(prL1N2~Hv73P|zj>@74NGRC<)35?eNq)v)$ zi;}nkjSN2*@f^q>d8F7k=?)eJj1l52p7ATcLBHop3N+%KTw#sZTvuY04NOMkJ7YxK zitDMp{&_Z)k^+sW*A6fuJI9z9@f}jokVh+ytNP-301|smy}A@=th;6h>(Bg0=i3+8 zPemhyF(!)p=;JnjrE7l3gDucl?_~mG8m^F#rSdL+fJQuHc!_7q+Dt2^XGXgpe8?4O zOfz?c(2ftT6C*$O5f&MYp{gPNSF0WA{8d-iG_F9Sw$Kp9sr_>YsLF$MEQ%Q8s;0P) ze(V%F4;Qp3gDcRe|I!@Hq(jZfdKkt%#^M)a{1n&F8xHw-gB0PDGPwec;VDj_a@~|} zsRy5af`#uD#c^dQp6k5F<@-5eC@Iir_)$E=)W?}#&mi}GhDI1;{1EFg-CaYK7)lB> z)CQZtsE!i)dp_6c1sXRPoz6KyR{MnYq&TVn5{svdktFV; z_db;RjTA3Gu>~6AhdRT)5LLQ`+qCu-8YPSoFOHo@uifNN3?&5`w-X#7%dXF3QoNa! zi$*PD_|!__xo(DAT?#Zh47Y$ElQa@Zkuv%<8vZeg86?gcPG_B!6lk0|=>|Op zj;DM2O?$sVBZ4uC_Q*kN__+;asgx9G_`P?9=&h&d+)_r1w`e3W#!Ydr<&!>^!NgEf zpkdI{28yru9Y6~8pM_{-F-FhTVy-W?W z0vY46xc1}pEzOpsD4p{kSD-P|& zJiu;$4-ZnjJzj=IGGlBUEQjsye@`JrufCtS0*yfnY#=kyna)6lOUtpyVT`joBycRT zD?KZtq(I~1a1+?-sr`d2)o9xaG%6Uw^p!Z5y0lbUmjVrQJDdMw?9Sh6YQG1L8#81k z^E`%R&X|SF^N=BgOoiroo>k|ZN+OCRNsXmwRh+4oO|zm@4cb5ZX~_J`+Zv_8eU2Arm_t|7GZv&+ zu%a4`P{uH*lEG!`H9hN7ppkRk8T^-K+#^NP-rvzkUw#9~$R6OGr5@j|@Q;=r#4eTlKP zTP;_hF?E6^G_v~7%7L3Dzp$ugj1iR*7^<|T8!@gZ)o}$HL9c9K?gYDDq!?ZE8w=?r z`Ehl0niSk>V|LW1K*Q*fEle#;`ACZXC4bQfXN-VmGFUk`a3U#oNg9~{@9qIwpz){B z1wI*mpmS=yRgJJnVvGhYWbm-(LN8)0w`L18Hi&b`!RMaQUuWm7P0+|-j2+^g-csYV zpTtm5pkZ3&2y2gp&=n9~%aqV4VvLL(GU$-Bn$DIK6le?;&)B*$Ydbxc@wjJmG-?>5 z_cIwBJ9X5G?8jqGwm{>pyLjKWWQjH@q{CXG;h!u&t|rbA=XXO#z9Pk_c(y>}q^%Fg z(u;1B;=|QeXhbr`ab5B3&%h-|>QkUG`K^<<)54=4DW;rmgT@uccqkF)^ndqgL<$SF zwp@Y6S#ez3uFEufzT{g_J1nvoBVRlp?#q*L^n7A?xAt6t#>yN=ICkBH9?`Gz=zzt0 z#_*UVgO?Hg=uGB_Qb(>pV_sV;XqM?iuUd99?Sw@gW4LJU1y7@YHj%&8yDGLoBc;R% z9vMw3B*jVH&S(T)mLFH`awU+F_3S+#0DfHJ_L4n5DQ@f$phnT;_ z_#Dv}4c9C3pLvIcQuuCGO8;vW6ljEl8SFm(Z2~cF?Cp=nLB=o;*NQerY0*zmL4n5W z^){gI5p;tX<&Fcej~=O)v9Q`V2l`hDfp{Dr`OLF6lhF0GKbV>HS`!KN^2Mz<%|(@ zRSM}J57F-u1qB*w<`_bg{x$TNv#hNe8lG3>$Ca**cn{Vhjbmibi$}2q8Yu&90IG*v zCq-f12s92ehGmUdvwe6Koyk1xrOp*-oIU9R)lqe8kS)zQfkS5?8s&dG?aF_foo<< zLsIx$pMZu>iu|~03%+pk)+;)*R8ahDbh3uzL`%A!VN~oSG{P7oz*h=~Q;RQ?tx`~+ z(Oq>X{GHf5k`#s^Q_x6cjOZ0Ii1##e znKf@R^@B+fTEZ4+wAb1VFP)8(Nb#~t3k~0E^5aUw*AMJo|D z-ldHT57(zaV_i@2tm3;z=}~HU>Jl_+8RKT46z(X`p+|Q|-mnE4AH{mnZMhE3$W}=+ zmZ1@lDnG75#XUcJ8cjP`p8}1p_pD)6zibCme7U>=jVQ(#Rw#qd_D2KiQ=oC}l@a7s zmecRV%Td~Bq%g)wPYGm*^48K7-T!F@_7v^AmCry_W>y6i8@rN-~ z-%4SFRTw?*6WC!rSD>L(WeoQF*J=`D_WBK29Jnq&uGYAScktXgwU-pBf7#;S&*Qua zTpT&(J1KU~+lWRCW2lLH6yMl|HzmcIk3IZ^Y8_ITM{PkPmoXg0ecRXCDL)~_j(co@hS7FISTJA~o$uaE+=fOO zWBjv03QAvA{3eEi0*y_PX7E@xhMt)?dVB{O?rHL$`2ul`)kUm$S5&X^p z3g=eQBd=Kk6apZ$5f zh!i{f?&bEDyY zc$Q<1h1U&cTz!zik{|2!NYQJp1y`UE+}aqLq)v4r#rGSQScEdhsbMl0|8?zMQdsS< z;tDjXylkL$VyAydv2BbE772`DDxN3PeuL8kQmk0X7HD*LGl!lTQ?y9oG~Eu3`;3v^ zSDY`A9HQe&L4k(BW?SgJ%e)UU3`aPi@tQF%i*e<&w(TiWd^yJ!XjEUeg29^?WRgO+ zyAvAKjL}8>o(FyEG>R1AN7(|6mcJ~Za*Aa~Qp{@Rf`;^_{J6R;&dKzQ+xwUl8B(@D zW3_na{nF$!bnLoSyP^@!7{BtRkg5J-CNVDCxN!vW%T z?2tB{`)u%H3pAWto58PV`;5s}d0Fg1BZDz|BuU}v@9cf`DbV=6zyq!oT)jk!y3O8b z6fwr90P#+}qVsfpiCR-1u0Z4BSUXUgaFu@hjH;AiQNtJ$#dYU}9X8Y1l7a$_1Zy{N z&woUJ)zsd|(D1({Kdx3EkwVKod)>&MD=5$?2{wb6>6hn_V$UN#G$I)zY>5KNnJ6*1q1B_?F66clJ^W!l1;?Pq}$J>Q3*5qMjETy@u$!u{SaqDaxW z*y3>L5dzZN3e)yjJ;c=@Kq_fiWJ?yu>~42Vy!{agN=0V<5zSPja0_y zIa)kt;;$*4i>})d#uaFEJ?RV^0~a(VTh&NA9E%*rSfwO|U6U;5lcLg+Ezl?t>tx=% zJ44TYY}*=v#wW%Y-`^K5M7O8s6Hhlg!4+s|S~|hTHD>8#t9-siV&Qs6{xi>*Cxemt zC!dqzLC8t2K;xRdvA8F$1D$1fc%Q=JAY(if=Kx+M>*$wnh%xO!Ej2-8&C})hBUQ#IY zYu}O-nci%HM%@4ln7V7iA5vVlNMVh+W8&!yU}yIWT!BW}6)SjoVgQ|s z?%JA&#bL%c-3=PtO?;ZzRUj}^<3usFvUIpq?#IJk2@DIQm| z1sbo~+rfmXtsjv>s+o+&UB;NAF9VyH({xUq@Rlvm*pO-i-z^^BAjZbCSI{V6j4k5b zP7ShJ)49*$EVe*HZIltbNEuFNGF?+s(5PgLA>w%eqmv)edHeh=*SG==b!AgX`}K`p zmHDoI9Sfg(^5bf=`d&zUF_X?kzb|DAG=lWaK{q9V7HXO|&R zpbZqhZeQuVq;|=Du0W&8!xq&0_fsXt znjYy`d}oZ}gEBDgzN(HCE2pvr8fr6bAb9$|hNKuaECUVS`|{&z!hSKQ);ltd6x%Y{ z0*!c0Yxq0%Fr6XqIg*J+1Y`Uvl0fH@w{!)BLke4>g;TPxidB`%^438ADA)3iql<^(ICB6t+M^v#A5LX*ri3 zu_O+ChQ>R_NY9XhzNZ)c|4>k%;q%1|RE7?%AY0{k^*I`~jM2nQ25oMQP^wRX#@Y&N zC{ONILW*UlU!oE4Kz>|x6wlatUh(!2DY}iw;|erReJ}=ZukM{m(dJM-7Ez4xK_=dL zzokN*6ho&Ja0MF9W85I(PB|@(tG>n}g)tI4Ng;1@QW-H66llb1TY>YuB)XoVLZuLm zY{qyXp7k>C@|HwmC@9ddn{NvCS4PsKyUC4<&?se$mf}2I-zSgh^;!i58Vj}U;QLx< zdge~Kq8N=ojL}}aE8cRL3q6ifP@rK{V+(_AS{RW%H+fZp#({MCakaqT7lzb1ht;P* zqcU8qNxdVTM2h3-AJB+l4EtC=DD33(krdh{rCfnV?`1YHdgV<$Qb;y@!Xk|^`ipz2 zx2c|NRi6Tl28pJSWZQxsJGWaKdjM>nw87bT&tI>#O4E0u0crwq1 zj@^Z--?##e+5tOZwb5ic%NQN_9gEwH(eJ&ue%@>JOR`mF8b7!Kjk<3(keEN59?}18 z^b?Cb#u#EEo_k*IO-EwI0JcEG=BO3yIv7NM4L-K}g+>KqbP)IU)mnG)B>RzYkuCl; zZn(kcp{cJ(@hIXq8eSRl<0>gu3d(AI=uxVI0*%Y1_E5TYdLA)?0{)^A${0ia#66?F zD`QD)!~A1jcx?NCJ)l9q1Kz1qB+;3mu`~ZS?*c;WQ=pM9*079kJ)h2GV(Xfs@tQGI4a9pbrx`XUhJpeOy(1n_ z>bS8RDe^xyL!+88s)xwn(B4b*9uoxx8sEN|!pD!Zmk?uQQVTSskL1Tyn7Fs^QiH4X zn6uw=wm_run-vs}4yJc)y}PB1MmS?MelLUJFBZ@vdIbd<^Ysj2Wwky%R&i)?(Y6CupfP@cC0vnRTTP0OwjHskVT^nO@qd1C16{qNpg_Z3 z!vap(4?0T>)g3Bm_-D$Gt1e<)#^CeCmZZ@8$QEd%nmItzyzS3PQLv&58j*~l(!m$* zy?sN^ex&_i3pBcjXQa%0Yer`>FW+@T;|gPxgo|sCri*rvtx`~+(K^i?I=`*cB*p6N z9%y7S#)OYDXrFbDp1)F1ps~)^7QUX$??eo(>%Gu;<`Vq%il6-HZAZXp{}Kgt4=C z)8D9s*gj~~F^0_q3H-_5@s}713N&c5KY$NR2>(MV;CyiYP% z+w#&#QuGRC3p5UgIe__&U7Jaf(o_|V9L6{(-qY~zRT2I6Stel%G^U4I!K@+Q#uDR_ z&oDGTF^0W(4$FuBK;!WL-gth9i{yw7wd^Ug~R4c9FB&)n~(SbP5NTQJ!w1qB+) zqb_&LL-(j-iWmZFK?|l zK(SZi?M$KI~Q*c-wYXbceV)cX@%PJcP08c#;!Fk^T;5YKxJ8gEC8JTJCD zW1hHoNwehMdr~~Bn1aSR#+Vu`){!;uQA7&gps8GeM*lKv_)vI<&f)g!O~c|YV@%8z z&&!w+M9(KWyR!uvl8-LnQM{b)#{tXfXcREU>GNVuQR|)bZ>69>L;BYlnwF%|t7JE( z&qSk=F?P+C!A`Z{A>?m$O^+?m*w@Ys<^;Brl0rv)78*X;^5aV4A_2Q|8?KT9ma+vJ z26r5wznANFQdmr#gGLx*3>4>H%a)}bsZW8%#sx;u=~#QZRp*AzLnDzfCRNH{|EO8? z3}ll`wm>6rxD`OxDKp4cy-HbtMml4(sg#0;rAv2GSpH!PG|X+py~yrU^hvQQW)T{N zjFI(R0^tVxU)HBUqrdVVSRdERkQ7$IOVIev7-@rLaJu0!I?GT{pfP!!DRg+Q6hw^8 zdzPW$`&52hdDuz8!fxoN`V?r)+~NX_*Gzs)ipS7+%hP4BtgeRM^P`|ZW7il9 zh&`~D{+>r{(ncehG1h&M!uFAgbkBDcvjrNe&7HtD?HCo*U7KVvKpFQfQNAN9T!GPO=3WzEOtoXUc!xsi$JT8I2UiI46E<+r+j` zC;QQOKU<*D>!>X>?Qgl26!ToSppnfOU5?7&eK)%*Qgp~<3p6_9?tx9+-gY5{v)wi{ zN*TlMx_BO0rbcFc3N*%rn?l|R4f#^8MS7U(1foJmLs-(9Rf>*lHGb{=UG#)2gLcS!69(mc9>_Q`kF_Oe_ZD4jQI;U1p zpwV%FD@0y*)FAs|lWmAb8e>cqYgpj!iHW3$TV=!*XjrP-inBN-;iQP&YJx>BW60J? zKz~+6VtooUu3Nal&r6Hx(cQXbW@wZ#Mqlynvjm4zfy5|$$`)w!jI@S-3`QD|;zF7Q z8t%FBpSg3P1l(=(`jaB~EnA>5PW(ni$9dAT2Kydcp%Kg&{ipkaYu8sZiJ_oCW1y!i zoZ3<2LW-axHfY2%hVC~hXhn^QsZW7Mwyh1seeL`YDQ=y%L*q7MG&GaKzEjJ#)u%wi z@U|6b4Y}$_inN0cXyh@*nrbO{mbFu>Pl3kXtX;6aaT)zCS>Wk}Mg?QIi1+-oI+deD z3W2ReH_+ew1OYsTpOLOdsRz>os6 z9|{UIhNxS>pb)nnqZ323J3Nk>Y9;TcGhE+!j{MJ4ok=Zu|YvkiL)~ zS0lyR4;{m|KZv2AK;xdc&N(P4u!a<>ZhO%PXABi_4brIfV0w1YxJdw4pmE`_4dnj` z$|uGS<9%2pF-C%u1R8$VYfB3Cj)7c(#=HVYSUT-dA5x5NZ~%)8#^@^ES)8>tnVyqT zP@v&+-x$L0Tq-3-+?OCUiWtLGJab^T! z@yz~nFK;IiV}}b{pz%Z591?pL`H({0@Gu(wFXhKo+#Fw6++^(vQsjMQ3pAX!7=cUY zuJp?2gMv^rA{k?qIKLax&ucL;F8^i=G|a^Fko_lR&@*@DpTp3&!WcbnNg%Ou1pW3= zQ2hJ1y55FhQvKZslQgQ#_qZOOTel&AB&J}1J@w0`Qda(^i@o47>EZ#GQ z!(%D5ySR%U(JLs>2sbf@{H+>~i1B0mNi^yhqt7TQM86MtL5kAVY=OqR)_b5?svccy zFk#jyGy?PF$JK~pagHqN`A=dfD9~8xWeFWXnXZAnGx{_d(Tt(9UIw*O0_}-W@r*6d zNDylc49dIxA;s8RXV6GxjLSJv*#FD5Nqq`5h9($+^^B|ZH>&fwI5ct?qxCr%s4O`{ zKfzM%c&G|4l>5TJ2KGp+)S^&UQA;PG&DCl z!J$fDZ(_WTOF|=-G4evC@c8_Ho@*c*eTgg37+Y=zs+;c}C&o3njKxjHh+Qp(!MZQ$ zbu|SA8m0N>Fey0Mj2P`lUPa>tW8{nH4tCVjq-WJ;KV=Iv_Lu8JgM))d6Qk(ZH8jc@ z!(H5?*!#KaXHpcWu>~4`x4A;@rM>j%t}5<28lDC6<4Pw%3Ni76=uAdIfyTix=5WXD zPBGc4*dsU4ILsKYlBKY$b!&(E6lnYiwT1F`74$6UEuULxoMViW>!om_kDfj;6clKr zWZA>4nE~{?&uHsAXxwECD|;DqEW0&;7zzqBv?a!Hz-?9g2R5C`zcNwJY&ebNxv!`r<#>)p5(D_gET2d$#Jw(Ij zmHfC07tbm-nUxe-p8}166*gd`y~mCe4>KR35yluFG^8-;&?kC~qo6>;wyi51JEo^a zj2=fGqmjrMJ15BCV*21lq-dMM7HCATv4^25Kk7&^{PYtv(iy|0SUmq~j>Cld6lmPJ z?*@kNA{UV&{NPhG3K=7-POJ;x()$7_K2Of!3N%bcdBE(sx4V*}#N!zj-x(uksub+f zmtQ5t6V+U14~G_~v7JF8qed3$8$8OapUBsNQmk z7&eXbu!vxc>{sIRu!>n&p8}15NO7*O`-MTIP_`^UBbhNyUl(f)R+Yt(qG=FYprP{E z0q!_`tR}@nx7TQ7GDe8D6znS}FQ`v}#;JHaDA=qvm=q&S3ekAS7<%u0;c5RC14&^~ z$rflB&ar{a&f&(S7_^}XjatSi7%YYMyCd$9BC$a+SD;~U=KwpyoMog4p8pPufH(5v zs?B@}*gAJvOo}%dY=Op-wl1(t=?^^~e1GLV8c~cfI7_@^UHuhZ*H@g+7HH%iae*EV zTE1kf`adW|BZV=h21r2iICpM+3N&`jvjF>8XL`i)FzFK-*^FV>T>|#2^|Fc4c>QOt zK;w>&8=NwpQbvlfd0((7WsFlZWf0JQHocCcpg?1(hco0HTu9fd6_5Xl#vjJ$+e5rV zTKw*jt%|G$sVezjPXF~%)Z8O$0q zat<*R6lnA=vVf>l*Gxz;p-mkc?r-Hk^Oa(4l)1No8!2AwV+%BLSBiVwM|`KF{qeCs zXaqCH6!AXc_>jga#86P6F?)*zq|MEud+zDi!18}9`{NnIOq@@2*}ZumF%%SNEKIfl zXW7d6w6Jf4#%;#%QY4-r$D3MO>3BQw#uCpY6eZv$YTtZ*HU<3m%pSw1sXqd z9iZFAY`PzfS1F-U!5A;Z+{adP_7y8DsYW8I&|WL%&586lmOiZVd}nyEP@o{T{8*NMMXN zcH&*8+jZ#gpn?L8s6U4A`C9QgVr*;P295iSvGbz%ZXdSt04WCevIQC;P3>XR1IJdR z=xEmtjn|BEXqi|6sjWtTYX=`@i+?|lcQz2z{xPhzF#do$qBjAxSyn30TM2d)C1JH8Fcw!BqpU&-7Y1*iO^Q{KY=MT|q$YP8}V(#;4mFink7*(?c z8Zr7t@a&NKR#FW4Jq(TajL}d$Z>fWCV@pzKE*;JlX#6AIn^Cg(J3XiWaq0*x>KNmf zcsKd1A%_V~67D@SJ3|WH`yGaEgN%_Ro)_+_T}036|IlU&G#0)#0z;FXZHUo!n-&_ej3E!^j9q&PNm9#^2@|JEKXKJR`)3e`0WuqbDY67jrOll0FUNHOyuTc9!T zpd*xi3H2n!jC+gF@cbY@t}=Sa;702BzNC2Gd@)y`an0EsbgpS%B*hM&rC1zhjC(u9 z8c5eiL8SQofGyCNKHU{=?(M&W6yKVyK;s-^+!x=8gW?kCeAjnATcDBD*BzRKe4uA> zdfRBDahEYHPK*2K-`de%=L^YffyUS6p5lGNN_53<`-`j5C}517-7-*r^e30>d530e zxB`u?XYE1RvZ|02Pdn;hQOOt!#abN4=^5Qfk-eQQ(CAWV4pS1Rtt3UY*E%$OO6A9u zt$_@tb??896ct|UxdM&sORn(bRTFyk^|qrf7GaEWbeasFMt#3b30@%l+A z*{aYzs=TQ0y8hkL|3N*rA*+92Rx9BXR z!HQj2L@dzhtxQ(vx{!d}W6=*ocn8PQl$#jK~#t<7Uq8MY;4GCOnrB9Cs6%=Sp&bJ5s z-6eE>r8&e7jTFY%_Co^R+I{Koxq<=>ue+8ISrj>h?0M`o2Q;!7BPvd;nJ{XeLW=3j z*a8i^BbM-P&EZ5+OkU=MMk!-Vx+?{rx$C!+;^{uNK*Q*_2}Hjzqobr?pEDYN7(=a% z1P&{0jv_|hJ{PV)eTxZZn4MAhCY8=lo)_Rp*`ras?WmeGS2V`&Ih?5&Pr- z7I}=Jdrksdp16%8hJpf(I#pZf=x4s|KgB^bDj1`!cy`;;g0^&>jFIjku0W&gr8zhz z-#JT+zY9XJ@cJS@t_F3NLP)OfxB3)le62NxqstR+k)rLyBWQ#&M!yItyjs55xIP6M z-%>5X&vzWX&N*`MQ8W@5W78cebPeB3j}2VX*#ZsULL*qcZ2TIsRj)1`L*qVUJhYKO zSEuguI7&f*#?eOBF#19BI$~UoJdVa|#+WRg!{U83t9yM4G@hR}gI6(~4wFJD@B|vw zjN#hUABx)aNUcwS#&<(A$kV<&krV~aC()3W%a5y;;{2}K;F{MR0Tc9z2s4>LG|D8*UPx*0Z6fuUISbz2Q z_zF7H58V{c6=;l&wt@MLU8fSm$mkpvHH_iALjueFHq-wo1qB*|ySjiRe#uW_^jx2S zhW}UjaWzkzXPD;Qnf?#1dCeARw0z{V>pQ4T9+-OpOL?=f&z^`+niwNn>l)bX zX~a^x=c$8kpb^a&;j^WnZRzMljGAb+K;!2+L)dn4AN^ZxKX?m`RL1zI?*~&yJ6RD! z_Yzy6vE-v8#Jp&&-Uk&8j3tS^!(1p`T<1tv8I*B88t*HX1J&qufvm z+bV9+V`l{g8eSc&;8x*py0T`0aSj^gj1eN9BOGmFyNhg9>_2RQ#+&bEaHTldixfWV zbJ6gulpj~2uO%>ia0xxLz2Xg9pkd%^589vC(_hZ{^IxEGm@yh&7xxcF>~JMpwet&G zps~f(4sI=}q$9DNMjjgH7$aC&JPT>f>8r#zkjEBiG>bNe^yjI^NTGkP0FAqhF?pLG zlq@+#=b}ptUvUK*fsKuzeB8q^#E33rR=uuBn zq>OC4^jIr&vcox!*wvMFGvStf3Hg$IaT_v-Jq-eOU6pcj2a1!U+ zhcE6>Sf2uolS9m)N~%fE8e}i~gho1JOwbT(QZ-!Z)eNt1Y=OqjSR)uy96+y_*c6qa zQOFqC;{8!(u0MN|{ZLS#k+{YTW<@{mPl~ZwU3v zW6B=!PVa4j^fOmbpmA%lJ*e*c&(lH;ul_{i9b+U9_XGdYp7eZ4)6KP9fkx9(W4NNW za~|1`e-_nYQOg(>5B$JI=`KCX>6^tCXxQ$wfidwTc8m;%N`oqCD8AZIXg)#PvXJDUF%eqO5g&P}l1sbQj*+7P6Oa>{Uhc(3_n=zU+71z(R2X!Vz;6k=Q zW1M(?N$WoCzmuX_*JfyxGDhz)zEGvzjDEM*O=Jr+mOV6snLTyrD!rG3TA=ZVF{I&A z*m8WpMzU4k_yUdR*$!}NeP?=H`@54e8VA11kE?Zy#X5keX5PdY6U-K9Tx;(E*1rnq z+~-Ea)@Z~q#!~UD;<4w9RES|1#TNhW$1Q8fFZ5YRiirJf(MV&AF5($N-Lz8Zw@+&4 zc3gpmi_{PdhrgglEEk(}z#^A1=GRC-CC`eUhl?4+7HE_enLtR$d3q$gsj?#)WsEVe zOxzRqu}gch=eiv`aRnMVmEwKE(Tj$Y!k|HCEZl#{f95&j{ZU4LewmPB-Bz|hBe$C) zwCvsY4=H+?c10tYF$$> zMjm6#63?OE{<;A@tEQkpqh%Kh_|yANKG~`w|9)sxFvh1gGB~hdR`dE4XyoLJXV5)8 zOXqOPjswu}s*xX8?GH#GLP>WwF%%SNth#3ldK(AR|Ju$w2cZ$l7@6Wdic^+Or)Pu} z6lkd08$hw%BOkI=-m8b8k-!)`{)%Thg_qOyi3$od(!xw2UKU4x&zEQoMdLnW^lBvq zlcPBk$W|#R(C{wa3Hmn=&}WN$7&RP?*NkyWoC8pvG?t!?Qc$3=Zo`of(dfMxfVqfieG%^^Yu~=U+RPTLLQdsrS;0iQiB1|D!wL6^w^lvc{ ziz3FTcq@gzuhW8v;pxj3Xqf33!`86l9ZAtWbTS$>jIsN&1T?BA8q}vi!@iLX6l*l5 zBT-i}6%GGd`Em8mOA5c6Hlj0tcdazJ0*x(utYMJPI6B|0`8f@XNXFO~DuosUH0iN( zad+SfG)y&J;bX;3dM@0p`3x+sFh;6)$NJp#<{{*7rJz7VQ`rKPYE{0FVxFBA8d;3t zds709AE?v0&-BA=fyR?lw&3=AF#Q(o?>!rh_l%+ZKnk66ckd)yrJz7V!@vkyZgHm9 zSY}wwMWc=}nu_^u?WnPHh+)ue9#^2@@9zn7E-o)2#s0<%un7DmKdv^7k-}4hPHFWi z(5M+`1zA4No{_@)+d?#=86)Ma1oo^7qvtXd6lj#cw*l}}qJ?JhVl+}2qm_pgE(O=p z-zbY6OSl4!YI}FsenqB1_G6djGAwc!}>> zG$u|qg;v+&XON<5%X&0!GREPD;-0v-1${}O{+=z+*l@)X5*CEhv$fZj>Z0+2F)oPf z&c42n8WUq>HCv$ZxZEB>WbX94WVhxfG|CwR=85;$24A38GtQ;41scX;g(74MOMV-WT z1Jwor#E{0Z1sdb#o5S6uq2oz0aPTfP3K&BYAcbDqIdqgLDA4#d$P#wNeWo+ZDIE>b zsALRF@l4rO9jhzIR(Ty{3pB!C*nsP>@@i5TH84iQ=a2ljT5B(XUit0lw`f~Wwm@TR zb6dzAn?H*fIi{v)gfYglBng23dAh1NZ68~pVX@s6u6)#7LyS!>=4d1`My^;}8}+Jc zXnhJaMhv!w1_ORBBE_RNR%oO%M(k}F#4Y{LHI_R%Y=K5Q8&^pB?(IVit5r5=6f(vm zcNtvznDmAeZ4R*o8vopJffsXrA0>rPg)JK28Ds7UDXjKgN3Q}rw6Nm}G>+Y{g{SS5 zWW)%4WsimLU-@x$a-9?owN0aEIW_bgxB`ui`qto-*tC!s73q#xL@V_uaMhY&?tV;{1sZYh457um`}8xvw$=@c zOvYFgErEVB?LH8rLc$hk#J+I>aB}#$8)+opV^O6DcmgWD7KQs=C6c zHno+c=yPum8nuiOD(>g>nHoUP`zR>TnEu)jKJ+!FYgoz>z0nA8Z8@xC%l0i>E;6yO z7-?y)x6@d~#!3RE7N+zn^1z8cT!F@t&9=}=>oWZ{m^nv^MHFLv74zMJmkXT9o+~KO zsIv2bCr$yGq}V>z7mXCg@aiLjpZmvIk>cTVwm`#ij1}mOR}Lq|uM_@gWHZKPaW1^D z|LtH>yuZyBXaqHP0L{J!=?c0Y2?1!7GKTg(DWvVUpvO@r{?Bx00>O zoV6c|Ka4S5tUX`f^g2E7v%`xm&~RUA2@mzA(|Ka>=pZx>xXF*J-{QSX`i)0R$yQY) zvIQEG58K0&6>&kNIMn+P8ZnGfD6V-8)w}IRic2@y0u9x6=CIny_#i2cDTknu#u$q{ zrSR~E20dGQYA;)$G4hx_JX~)@zuR~HJd8#zV{9EJh2;aw?vSmz;CO^9(C94Qg*_{* zgkA+uksZaNj4`?{^abhGKJSU4p!oOmnC=OMIo;_0d3W1mXt=w}f96lb`u6>Mj$9?i z<(}bOfrh1yEj-%%RgDx?rN^-dW{mg^Vtryz89jC`Y!Sf~XpDd63Kxb|(>dJQ+!I*D zGe(wp9)Rz&oJ(Y@mi=H0G&WAMfTiKCQKZn$If=$?#_&s*L6g4S=-H1wO{2I1jmy?H z&|!GTxy0!7^b{6(jFEal+|yt=Igk_^R!4IM8Yy>-p+ekhMT&vfPGeEQ7{iPuV4`(| zZq>vsFM5#p@F%GE5V&UZ>Kd#!ONa3L5aSkbhma+vJW{+Iq(@!h9Iw50f zJQ|^l;VYhNaBg^G`v0MzK*Q&cHTYlLKA3D(?_uZANMMWz@w|*aJ2x$>Pk~13Uv{9s z_W?a~H?2zo8uuAvsyG+k!=@;g7zzqB;!JE{#H=EE?0l?AA{wt5<5igWJ@4I%LZg~70yoOwdAAjFNRbi57HBO0>jFOOZ_&}NHVvLbe@qN`Si2i>hH@e0ZXzYlv2J;)!=_-qp3sbSkV2o>@Wso{~1-nmHJ5$@&z8*-KDyj>+F4UHnkXf(qg;|?P z&`W+?rCUf~WQ#z$R!u>HMu$tzP?y%A3Hdzg`sJVz%^15|%D_)u^&Tk}on#9%o|(D8 z+y41gq!`gQ7mZZLIOiaP&&KyYlj3$DTcD9K#1gz-U#Ii-F|IGr$YG4nxBS3zUKssO zoOhfp&`9lO1|Ng#wB$b1erajcl|0T&{%3_1c!2?=zne3(jqi&GR7@2FOli_#*(eN?_10j zXoP#1gF|t$0V$r^m0Kxwcl{XbVwpfOLy3a*tYUnGXP{s%P58Dq3qdmiEc zMVl0!%B5U^#)kfmu%OF0dKIAAi;q}%`pAzfo37&7hW6fcCe!dITc9y+s10=P-S9Zs zDy#RO(KyT)p2vM5qNj9QeF`*2F0z6qm1gt|%dMwh&^X5!bJ|FuxW_Fzt_p0*xdIJ? zCAN^UJS(4URrl=`Slnd{!`4#h|E)Fs%oP-9IFGf1VXKDG-}6<5m1q<&hKo4HX{UX0 zCfTY14XU^T4a0Od7&7f#H7VZBtHz>|G2*+3_ebs1Ga^Ok7q&p7IKv%^40c43V$J36 zX!uCv$JN?hQuw>7;yfv)<*@}C(!owJWOX_{+Fp9E28}Srn08bOAMMuAbI1w`G~Di( z!@A zfyS^YPSCjUM^my@uWOs25y2QY#kq{$Zy#rnV$HFpT!F?oO>?k$TiA>g>r0ieNM?-X zvwb0~>G{*72;1F^E6|vC&H|uv8=bf7K5LFeCSz!~lfl^^{&Xa&=(OMpG*ng@gMI@Y zb+T30ZnnhY9b;IA$zbk+b@cb6VuvzUpi$y%56|Lu>>`G-c55tZ8N*h*3&QO0Z-WijRpGlFzKKufKJ4Ci8n#XRbiQZi5XN=BxXVt%^C^1&dO~cr;l2o_EjpBgOk(UAY2{ ziSzBnlRO7Tl46-!cP#!e#@bU&V49fU?1V>~OB!lP_2`c18%KqElI7+PoaT0yodFM0?X?tb#0dFB@h zRGe3(zs@JsRJj6;pnk4UtbFhYF;-3@ec4gCJ12;!C zG~yYf$jld}oZR`17@gwT0u9Tz7SPIYDgCcqouZD$ZN_+TM%)`7I+cFr3JNs5?ij)O zU%4O1Rw>7fLL-kc4v0DR;hDJ=q|g~Lnk&%woZ<>*n+krABB1+NEGig7{i+O(d@-l9 zCI2aGfyTNRF8pV||ncKJLkG8p4UxfJf6bZbS5 za&xvoqoLFpo+zo(Gj|4?7obtZ7_SHT!WXYnx>jw}JGMY$`$Go^9PoyoVYyhj2#p%X zm^xUjPponNP4+`Ufril{Gg$ixrjz2K=TbEM1LVh*!3S}lSMCVY`V?sN7yk>VdOW&8 zib>|n(THRWmpBR39K64&J_Q;E3AV6wv>lzvNH(oR;|gQ^|9kt+)g34%hITPqpkd-~ z4lB#f(qA>r#jDWBVvOLvQi%JS??H?m|F8ublV96HTAODhNzwAn8Z_QB#+myPSh+8^ ztUd)AYn(lyUvV%!L*F<<2aP($I5JKK8(q%QtvX}6jw{gU+QSJ9F5IPapTAQ#U=g@a zeq24Mlfs$+4NI~g3JNqb_c?)!L7Qi!&|A0>jcCR&7x#>=F95X8QW<0QatXY&`9{Ct6clK<&oG95ORuMpt@`?43mQ3$;d4;};jR%uq_AJS zl`GIV-qR4SjcG@JokQ1e$Kn%Xob4-tZC%1#iJ_oCLq{UsZ&2~koD>`8>!aZsDF2zS zA1$6`@oJzNDSW@M1scO@E#O(pLVB%eo5oHw4l>4DS8fUZNVi{wxIA5}~_c%H)QBa`qGTRzX>}_d5jG&7~XxwCs72^DEmq+J5k)m*- zF;}3`#n>4P@@MoQ#mTv*SiE2iPw^bc`zm*g>rm_SQ zF*(s1jl+y_M0}TgZuFmb94aW#n10$7dOzCu4>7cl+oExfG1`jr?ZzF34y{jtM(G?A z=sIIKy|%s2-yV&-jPd)F1QtJkLcggq$2f2W8jWYzfbO^eI?D*@>x4xCV=Rgi?}}I3 zMrZo>Z?gp&lQhKqs!i5zvgbADUC^jxjIC~B9a+sgI@6yr-jyrRC{eNihl_vO5u@n< zcPxAk$d9X;TYO=6zdOT8QKiKeXnY!L3AyoR^tg6iJ5Myi7{juK3}SQ6bS1|8(QJW+ zVYVx1D0vMag{J);G!hx3#~K-wt{xOZihp{0aRnOJ;;cX?bx#f{-spQ{k_8Dw2?_acSl4qKoxr`!s9=We1i0IeK9G<<{P$5q`uF)y+0LyuS#6lhp| zG!xJ3dqaOeB5&+PBZ4uYl?;r|uAwU+`ppjD3N#kHbcFl+oarbTurd&fWXAYYE`yUt zmFJSbm4X5dy;)XJ?d?gw8DRPWG%^{Zvv@vSQHz7+#E{-%3p9R-ch|fr?@7-TEk1t` zjdzUEWuX*KpUk4aoYS+}0*$gXGcZ&tSx2^NYFIEDwTy9Zq7*uLtJaW0<2qZQF<9FP ztUEkwMhd;y!)OE?lpj~W)cnA7Z5o}IC@9dl{oD*fTfd%141<&iR|+&_=p)b`#9 z#Hgx_MB@)*gp3gDug<=&u1|r6#djMx*|r);5%VSrjRS||$JNw!Qjn_H&?{K8ww~e& zH1fr~{k=osVPf=s6pcj;V|a^aw>9zHbd?l3%T99z8i(8Mgn*xa>1c0!B?gN$#u$H0 z0+Wu+d`^rM%`;qqhRt#-Xq)qTG$~3J#$l1m7+wF7fYm7fh4m@Wh>tLX^fO6xo)|mn zEE;8uQ94)#@1z^(x2S>wjo{ACuzrj=Ju1=~d>#$=VENCyYqAuax^1Vw&I$@NI+=<0 z(W|_hMfSY3;{`N=86!Zfd!3j$>M1G4B(nt?J{AtJq0DR=DdJCFL?fOtHl#_x)41eH zeF`)_jNc8%!j3H`#e&YsXxwIudt!~(u%WxpkwSX{TcGh~qYHHEv-Kt^LYiDbBabl_ z%n|Q6Y?earyYm{v7HISp&kLW}E`xrzXLL+Kqk=K69`}RcV>V=wtx`~+k$BY-hCL{y zYd_95NJYadM1EW?8X(RmcFMX-jKwF}0u8MqQPkK*Our1ahCIjU`5=+f6JI7-Pb5u`c7wSh|`@L4n4$Ep}k`xA{F{D4E;8GM-4kgm(_U8oeQ&kk-)jNl7wfkueT3KF^&(eousj=w}Bk}+0$ zNx@9d-i{di2Ig@E8j?v?FsXkaT@QEEKOc)Lj1e#14S4+bk7#1-=}^EGXdGSO2G2v@ z(owRo?`tfw7-MN88Tk55rq>M=6lg4OZV%=bALx1?-`0g_yk`sxu`ayN_nY+U(v|aU zfrgReZg_p$iyjXSI97y49b?Q%5##FN3_54npjFHjXegJP!M=mq^z3=_b|qK@hRTmC zkAI|a_?>k#@M_}tY>(5qdh5n)!71#Ee6(bc|c}IQoQd`frjf*`Om!D zRq-x})GqYbKtX{<-V+NrzkDD4F4@+i5{-k5v06<6<|bbB_an@gEzoEowFJ|VG4#Jy z=X(_zv5b);6KjNj?`%N!{PW>zu0X?nlq)>Hx%&et+P(XR#ZAUA5zpVPE#0$`6mxvO za|Ie|Ys{fn(0#hbtL>8?SiE42sbX#I`Dat;IkG_Q8m>U&ys;VFcD$!Wwn{toCl=+5 z(Ma5zu`DNqZq@!7wOoNl-~e+_AJLu8^e3J9g@tFB{J4r0&&z1P*o=N(Eg4zI6=)33 zu!Zo*>yBhUM)drH#bL(iBcAEh|94M%T-#ZbEzpSDZ3Nw%mW(IH%?ffsTCTDjM25V3^LMh($(sLMQnjapA~N4+TNL-<-GK` z4I1f;p{61QUD<_HvQtOd&m!s-Qq4^Qaqy z7DpW*#+ip5(D=?6$>MoSvg0d1)~7&2JH`bZpKd-)iXX|H(C`hHA6Ks8oMi)pa(b*b zVyX&Ppi!u82~kBu=+XAMpuLoPx}lNG z7)F{h(AK@Th!_eAG%QBiK;*ddbX~^&=pJZfGR9uoTO5dZF=-F}BL2klL}vfEWr2G&Ys)1SQudainma-xrNq#`st)o(Z_P%Yyn8XkMwHKrazBm|-6vntXQ3CD8g`BNVfrh!VA=tmXOV?%iMyR5Z%@|kI z#j`Bhp3xwNf&z`tdo7{uv&3RjyxlttjZ(&N5x?jAJ0ECMp8}2Uk&ZCe?Cf_^w0BZN z;}2u>6UWYev3aP+%U$Yd9Egw~R}yipXmy{8&cskqpwZvM6*_yz z(wYA6HKWjoVT__oDV#ZT{|zw|6lg4+WeH*3TMs6M*6cB8q%p=G@yz8ru6AeYQ=s8H za}T8Jr{$BP^O$jHJ`-B7@|Cma@ z+n?WJ3pCbxxxi)P^$m$J>ik4B+)v1V=8b!ZH4_bXPp(gahK{B?1o`^Xxlfy8lhFuf zjDMbrwdY=|>3>wV))cNlqiTvRBs@?WN49EMJ54O&8Dori2dKl9oAk)5>u9z>c<4?T{0 zah5I6*uT^qHk2BDB}QXMEi@_^!}G5MY(5pzkoL` z?&r)rXU;j#v!#rfNax!X6ll22c7P6>)khMeXzM&QE-*%8RT<>BKiQ2G&6VbJ1sXe+ zxj^%dtFuYr`D+0dnT+u@ObX}TPn%qy0*$MBrcga@3EdZ6_--K@g^c0QO(O1alSUGw z$Y&8(ppiJi64J)r(!5F_P#GK6DXnI`R#)d7>SUb}WOm6qvLJWQVrD#Y` z$d9Wr`7-Djc6e)j3N-ZZnnLKrFF#13v1&OQ5sYy=Tml^?6wrORH!s)%jd>%D;gmU-owDt_#FM3J z>c|#oC`UVhEWX`(Qb>2KL!+26zFUgt8W<-V)u%wC!yI#{dOd?~)dE*+K%<&5R7}PD zKiah#PYeYG8kfh|L#saf=oNH#X6m8gA1yzwu88f2blG0|f7LC6EznrJ*A$-rtzAx* z>hOroXdGvZjY?wwsz)H5voyZQ7HC{->70!3^c`G*M*mq(5Si9=8Znj++l56PV=UY%h3(E3tw{0yFl&d~qFp&FK0JY@`b zaqY*!haKsWuz~`Od^J<(dilvkvQ%DOtkEcC4A(IdDAJwWr#=N5^X$D~-6DVbi;8J# zi-y}N`S09OM?B9m;R~HLP*9-JOI#b3J?800vQ)Fa+o2K47)A>uP;B3n?jb8E&^Wfz z7`_zLW)efE$N`O5#%O(C2J_CejHyq7#)#`Ku*mP)F;Wbj?2JYlW84Jt+E5eF`*EVjbYc@Dw_GUcK5KjdI4QI3R(t zlA!OzQ2)agXe6w$fHiLa=vK|4bT=BFr{%|$v)B$sUzO4QT?GXi5f2?9!Eir45`M7G z8;vl=xO+?r%KK92UdBBqwm{=&x-IN_d6|yHCv$z!h-Zv#b`nUOD4~0=X*<~hjeXag zVEh#Kj^xwrxk`#g24e(Qi~H5~t(MiNK*K%N5!%FzFDJ#SS-xl#Fvi{hDa6GOjU`3h z9kxK@$VG%6Y6`qo->2sdM%@ZT!zV_5 zT)Bz&RQG6{yqXva3N-AVT0jFWlR{D~iw{QQ2xA--_Yclp)Mgne9%=673N(xxIzq~q z<%3AE@o)$h35-!8p3gAYtcIRHKh%34SD^7zJjQkVhGujd2%H!$pqvx-1GrJc8ILY!u!v@i;$||))wo1wCKMEC%v-W@phzW{g?lU5$SS^}Su60*#ql&A_>!f^MD9evd;VhcQa__(EQSi5oE{ z*q-AGG?d1hK}F!Q52Scl6pzJ6#&8hVS$e2U4JAdT=XtI`qqnj%xR-9F|0RhJE@1JO zF;bnxyW;!$(*5><78kh!jk{~iKxb_!{d6^^UBV*dto*nt9wLKDZv#uodUVud3p5Nv z%|TT+fzBG3>0Cx5hA{?;=TonH{cs^M6clJA3^#^~F?sYl{jrm-pmCEi{Jx8OU*GI# zPK*|>*#eEQZ%**6#adrdJREopjXcJ zj4?V-kiy0#lj(oEf&z^VbuO^{iaXt&w>WtN4Uaha@BHRWaec`Y+s0(6QWxCh3N$2h zZ6M!ptv)H%hooY0fHAs@chL>EUra}0z=SleK;z{}3#fcqG>jPPP1CW6V+^IPzOXg9 zihhHg2e1Vi!xLR#bC?VLFY&6pjYc|SG-xM-pF00}YJ_3?46Z<7M1@HILA^z!)dXByhd!ExN5$P@u7(!~<-H8SEsV)w(%3 zXk;?R@B}dzzP^u3eF`)tHS&P6HaqCioovigGzuBxps_@}33FImV)Rd93pDOWxPr;G z#q`+uK)*aRelSL!IOdFQ}bI( z3LFSr7Yn1fc(yo2#6QhW<2z#@?` z+!n}S{m^;zcdnp7WB7Ov`1t$mAz}=4E=1!#V^oOyChYqK(d!v{H+;<%|NB0sIzq?p ze_j(~Qkyqe6f;KV0r4!P_XV%&Q=rk`)f76n)uR8@7InpFR5OO^NC|Y^H-*kRUygXo z6=-N{n#0FUj&x3cfctwa{LjmetETEQxLIXM=iz!iVGA^79yEi$e}~hp^M2P7G>$XI zXYp*Rn$!K<$!AsE=p$F4(e;QcWNQW{k-|x}6pO2jF<`J1j5^uSd1?g(8ryYELFafb zy<67t?`Jd~F^1A+F<;_bdzUPgf&z`^i)~=inO$^S+p_En8Xp)#S)3DYlekJs3)4e_g1sYMwj$pWOEIs~E zi>yK;g)y}Ii}{kR``3{5SgQV$E6^yda)Y2PfpmNR$nO^xPZ?u=V;S@^_NQn2tW>MH z0*&YGJ)luL&A()+3LgK)qLeZ0Zb)IIqm=G5m^ZHB3N(%_aD%c28{SZ(q81Cci}K%j ze=*MxW_yAjJKt8V;|eq;>pH-hJO6oG+UkFQun1+0tTr;3-b|U!!zn1xFwb)Y%@S1& zvK}u38`%Bdb^5W4Q74|6+5hsl)cO=?G;3@FQCoV@ZB&wTBQ(+&bk1L%>3B2|TC?myY4vJDy;jPd=k1oUQwnULZ^K3kyCY?=iWcx&`0#da-KGzu7_ZK(uK z?rS)e6h|}I0uAM6Hegb*Qi~LpBio}<$r#;UOJL)he7X|tWAy@aP?_eUNs1XtozXbL7~>PA(B-@BP*TLiu>~5% zUCkk|*OafM&<|HbBY`oB#eAaL=WBGSjAnG@3N+Lw8$ywiHk}<*9?>0(EXHtClfwFk z2J{G0L4ii5$8Knu)VP?eN1Gl!(I{e!m?$yVckIRpQp`_f3pAR%v4Vk4I|h-W^SRz= z{A7&U&JyTc{6?id1sYzSX7J^@7Tv0K2=9xAZ=(FTnj0jAH(%$_y$l5f8h2hhz}HQF zbf0>*L>-MN#yBgEac-slq1z}01seUVoWOIW@fWh@Yi$Ogk;EAO%fx(Q=l?ugeN+uw zpwW7|E8OjOFMt?IEe4~J%@`T4rBJZ@-OKtEXuN9V0>(F+(0S2aRYTBt#~6karBH3+ z>Pig1gBo0chTSG}_+Z>Pk`x>E48x*^G5mC;FmPbkpYwcVByLqUPYbUzC??cC`IDaziBLL-_nv|^=DX1BaGDZVrv%@t_O8Epsi zzU&%DiqITQERq@H+D-A^zF~S#NwMcUTc9yF%?7?7?L|MUjW@=kk;52EwZt>x9kgV` zm|escXq*UfhBsr>E|TJC?07UjGRAE2eMB_Mprif31GYfJ-^Cp?nha@2jNpS4(fG?4 zEybKnLW(N=ox5IT3p5^VbO8V1R`dumVb5eVLXzaiRdaDqL%+ibH^@@Ooni|#Hl~`2 zI~4viFM4+0R5W53qtQ1p7hbrV&Ul?yo5mGr^nGsvLnrFfBYM~kSlnccIkTm(qE}Z- zvL0T|rgH@vN?Y7O)wPoqDNM~~V3Efdts2Te<%?Q3QZ)F%7HG(N+QJlV13Dx8zTqr1 z${1thGx5CFo}*U~LqUOthj^~qi&<1sX>z z>>#E~rZOosJ?3I@fH7>uv9rV9-^TSR(1`wP3gdRZqI;HQCiBsVV~oib61ZP|k^WyP zDA33_YXV9wCeuA+qxCvyq%+1DaliAnF}@*WJropZoE~Bdkx{qkvD&M7i_mz%7zwFT zuzDLvugu(A&K77?X^D4QI6BdNxZ773qfx;amt3Uqeu*JH=N0#oEzpShZUUui(&^Fm ztgNMIcwdztS9aq4I0mWeW65WAeBm;#KqGp+1-PaT+)auG>sMeA&KPyW#r##bv%kJ4#-(v<(8y$rAL3nf zPBwSw_FO@M#>NLm&?bD79WlQ5TZcv=V}y%q&j+q?UqFh`OtwJdrmj1zHb|dOiqwz| zX#C)egEBZ-XHCDs)0fx+jSGuhAWk>^F)=7gOLCO@wF8%m+h{tw-IRZyVeH_{p& z_Y2udjBf#((THG-onNJpVAgUKDbmJl;R-ZrR@*_RVH1@|QPal&i$uoA72Bx&gWJ;I zhk^o)`1MZku59BkVr*-(4UPMZ(acc_=ZkyOxz}UCY=K6$jv@GM)R;+(lXctCC}xay z-=)xS=0HbMtd88l6=-}2umOqpg7u`(_TPm?HDfdv$2hHgPScU7pg`lqPD_Y)ju}Oa zC5}dD_$SMcEB7Z7Sm4;}2Pr&y8FK|1)mI!~shiOxQvCUBg2i#hXf2*OU_Y^pUUSz> z*_12LsC{V&Bi_FlO^g;bW>{Qhj9l@2IQ__1H|tZNk!fuNGgKp}k+RDYjYo`erHL;z zxl=>0>^~`E3p65A-QaZbh?Qii`rBKh@qsaHrigL1&4X^$w$`x)8tG5W!ENPzx|fln zWQRr_V|c8WLe7q7f5=iPD9}h6W&@h$W3Q9q$uD~}g0IVuD_LLh+>buDEl6=D+<`05 zIIU?5LE+Enp3E+Z6Bef!Bg$6_u`cs;iJ_oCBf8EQDjTe$|0UYCE@-4M#y|0$chEf2 zpBM@XH15rHf_w0R?jdh9a6{uMW30O^fuQ2&`NSC0(w!^N(BEVY7oQv4B1Pk$9$1tz zM)XhdtjV3~e)TEPX!6q;`oy)(BgL4vo@ltG$baXr#r?HyKE%@Bhu$79u0W$CKpb;k z>PyE}oz)&JLK(wbJZGZCh9nQNR0;|-{)O7WAJxJSr0{z$K_iwi7K%B2^O>LNUbts7 zDOaG;aEUprKhTMuB|G(9hD91C!h!~TX266=&rrvh&Ip@N7 zQZ!2r!ou^0{J5(06VFa~*S;eu7C@$NpbQDTc8p5%?9qe zn>`@K6|ZnKDj8$KR6oeHSk;CUm!jDMjWxrZVSj?z8&cHnJ%WbMP5E&ZGsG93Di5OP z&lMDCe7NHR!5wZqA;v?!2sDl`#_!wWS@%B|(PNxsH?}}ygRvFNOwXqCi9JlB&`4m6 zoqxr(wVnFXV>JZ@8rd!FA-6$R5m}Ggwa3xOVvMJq#JuRHX>s)_&}j0|8h+YE)9W&v z=0>AY#2B>+67afp@jq9+@C6#_TWp~5fMB{cxHR?@8b2AMi?bBwME#^Q+j=k90*&fH zt{^cxP3Nz++=)TMH&uRI)keyohyEQpf2E*6!@Ie7&P3k04D#t_C&Z!=#Tc9BO5x4{ zeR{`;f&z`%!%X1gH}96jsE&+7BZ)E8b;N$j%XZ)EQ=l>9h$Vb99{QFPUIFoFWHUyN zc(!5e)1~x`yMh9ZqDWh4SK3O87{*Q)(0Iof`w}H^;zpWheF`*UJKMsfJ1@48;?~Xt zG-?<_?UEG!cxJY*Pl1NYN_*IIvDa5p6s}A}BQQ;VT;1Oxg?&#O(SL@^FW3T&ye;N% zV7h)2V%)uxghn)D=w(V_?v)sNrs3X4wm_qFoiVt#)$T)#w7jcmBr`_l2JxJt0d@Q8 zQ=oBiohfYjxy6taN1~F^$YG3*lVz|X_uolU1l(c^G(xH@A;hy0-ILKipMu6m#%Qrt z0y7f=?+`;lfrhJvEhOKqqURCFNJ5ZEe{hzL4ii+XO^Ir8+(WpTV-iz zgxr!JS5f=_?|B&wNO4Z(7FVDV*~SfKei>{=3aCrRB8D-}i06yu1!c4)g+`CtT!F?n zZ3hU`=+lZ6|61O`;wEEc4)O!()<>H4DbN^j-yXI-A9;cl2YzLuk;fQ0lg0PZ>m!{D zPdjv%E6})>VFfQ;f(8?#q2wMGWsFg`UED{%^n&KyDq%+2n4-%LX{e$j> zD=5(DG{*}92aKh2eTyFDqVa+;OvO8-Z~C{2B}?VIERQSD_>*M{RSkC-kmC5}=U7xQ zMh6G+pQyTw9&;)v(3s)s1;Y=V>p+a7i(a7NeOrE9Z8DWYYu%%XqzL%V7HFi!m_hBv zp4Uh*e@X!w;f%3$yf~LS+=k8+oh)JtH2mL~!M>j@=`Tw8Y#|yK7~|+l8Ps%rJB%z< z?`*a}BQ@F*=519wKnlHUMQCI)#xQZcXlRdHkMMJM>DgBW1sc|OoWRN3k?xVj zn|?$?njt@~tQSh)>(ce}$eJrC(Acrw3UYK8bR)&3^`&S;Fh;97ADCS@|0yY+Hu%gH zXts$??|CiUWP>?W4!Dv1^q|g=(!>V1sd&!+Q9H$d+3qZ?w93g+-Hn(@f^sU zvFqsUhlAT!u0W$xx-mq|Ua_65htJ&#EQ%RJTfB#NLdr~fw4G%9jVsV_cy0@2YPpk% z(RdosMvG&dWi~J9Su(ABwm?H;ygeL!=uiK5gED@jag{MnXi7ob z$cTj5g_Pfky9DUNGU%Z~71C*t!WCrx>G3d>{6! z&(NdPlkseU#)3p!SXfh;PL^uT@1|&^FvbBfFIqOGm>zRBI?{|Q{%15Wg1PJO(=ATv zhvry3WsHy_2~-^|$t6qGSJr|n(0J6%9aL*i(_`n5CoQokWsDP5Qm{=KTt$p3TP3bQ zV`pC*IIXje9^EzA+8PVDyYk=ptDC;y*~n@NF%%SNEKjtD!mr6Hr1-K_1&vU~P!<2X zpEUhDlA_Howm{=yjWf8;o=yK5%-^*|BbG4^I7*<_QkVxK|Hs1cJLs2j^)ga4rn}QjNoD^M8+0Cn z+i7fp#`!Py08!oOHNxxSyP*-r7^nV-dC}3yy@_G)m@Uv);bsMwKUUH?%Rx7Kpb^g) zE82WLIOJNR#LZ!9tx!{faS{^f+tB8GwjjThp1GGR}j z(i!^U)B2)Oz!++E64+8;x0o0T3N*|HJ3(&Da=L$Ir=gBUC1ac}lfrS0*Yv0;A&xE3 z7|_-TzSs1=O_oai`T#V1?#YjritD*fyUhHyJ36G26_$4 zgu%nm$YP8_@m|Y<&aw2U$UK%U(C86t4vDqVPGmhETpfW%5o6T-l)=&UGra3lpaH8K z;j7KE)1&JVT>|y-O`~6<3t&d zp_}9mJ(B*Wl44lJbTk4V$d9Xr7sdU9HqYt*m73}du0UhhZ7XPTS((n_sQjCWMKoh{ zH<5u$(O$Z(U2;r|E6|v}+6~}MU%EB;`*{`?$&69GUIGz*5<1JdJ5ZY|(75}^1hk$l ze@#9sBj-6-~4yTN*-i>(}Q=p}u+n8h;t%-*pKzt?ah{HnIlY&l zag#A_43I*Hy(ij}^-xftaVN|H+7FvVk0v6Om!Xlz7+MRZ5O(WNOJZnVU<)+nx$S_- zC;dK=V%^adXp}KVrnonwb8zm}`V?rWczM7!OV1mmIOMwu4UdQN-+7B@DRllg>li6+ zk6g_aXcX&P!-3&v=qzW8KWnf!z!oZ#uX1v&UMlK;xIXJ^U-~c!Dg|ywY`8 z#4$#}4;duyy+Zd(CbU}56=5LIIUjpUvE9rJnL4n5Jv5xRg z?RqFN7JSk};{{`U5ch`n=+l1?DO~+FaRnMh%dMezw?TBP_S<0#78Q&!T0HmTRf{Jz z#86P6@%OYltX(Fh`*4@H8=&F+NPb*h_#%a(mhF6rVcmKwSD+E!#{-UEpH9!+4f?$e zi*UxU-6*d87^FmJqY4gh=L$6JCOE?}qZ=2=QYA}wVsU{nHm#Gus0}0OdMGH+2)|(u zi*B@~>(SKC5RFX6sGTFuvGh=(TLT3J8Z}j>5a1R`zmH-AV>AjG!%yrd{_{9R4Fv@n z8K-O@;oClXp3{4&DH=Z*qu)(&KaR>cdhD#AKqIcs0XDTT(I?-BFPNhteJnq&RBI*R zGC`MaKNJ*bRJoahyODl7V$>v9q7lIuyY5L~!1RI6q$tT{3pA{6+d<-8)#jwwpJt6l zB4cc`mI5>m469Fp#>Yv!Am`!37oeh3Lio=zocV0*%DZULYG#N&j~{ z_I5y{m@(Rk_f6#N*&jrfN@WIHpfTx+Bh2h|s1qrE4|77JnlZX>^Mx+wYv`vNf1WMS z=n`lTYEeV$h;jUe3mX18^5aTps6SMm=+ve@1sZb?+JeUDPjqi-z*#pmjx$E;L-B4W zALmG7=q_>R3N*%6TEmN1n)KNse-C!}ADBgr)6;fy1seL|ITI)Cg6JN= z5e+Xa9x+CqcrU<=7K7;)M?rzc$baG;Rh!??xo}IhJ!pJjjFBqhK1j0HLUPJvjY zFviq1;{IBjHXg+29mW=DST}NjHznhKkmB3PU^JdG#sGKm-dEK_blyinfySzl=AaYo zrphGGsd*%zR>eQ3EfXrP@oZc&K0CRHRzp_s>YFMlru)#f#RO(H0M0BR0;|- z8qRlwBFk&E*t_-^8lJiG<7!W~IPVMt>1@>VS8RdCuQu+G`*aT7a-N@a0*x@nXq)W^ z8-A3>ll549k1fy`Gu#cLu8x>Xibi8kq7ly+?(fC(^!rEmB*oBtwm?I3ydzjG-SC(c zult-vBZDyxi1z}B`PyZqkY=z28q4Nd!DlNg`tM_X@eCRTj8Qv70-0;`I}k%bfrdsi zThMVmm`{qFh_h%^GREB`ajxjx=fL_DXdL@t0UG75i%DVccMc7oJo#~@q2vqi?XBp! zA_WB++2WcatAX?P5aWfzc{GkN#`vW&=%Cy1b$tpn?7f`flZMqHQY3G`h(-cq$l8nl zlBk#S>rFnezeGWS#{61) z=w6~pXKTCtN@$8@50r`lTl%M@%_N*8G(I zZ8T~a!_`9q6L&Z4Q=bA2$8C-f_NRjhDVi*~gGS(U`EeB~-h(w|!MwrsDbNVfa)w2X z%x;om?6kXRL^DQ3b8$V~lNAq0QIg6QXha+`hW1|#>3?Fe#yvEW86!%ZH_%nd9!ZSh zkJti@_$?OTtYj=9#ij5EXyh=4)pK!;SH^$#$kMN~1scY?9AN0m5u1pSE_sN?N5-&y zC4*N#+x#U(P7GV1vG=o>L*Da9i4;u^JVxU$W9X0egM<%;di5#L7_!mTuci4Ezi)n$ryR!dQtmp(?-{)Kx1rsCrC5gxSbR~a`Ms0V~lA%{a~JIZ8Ry~ zerF3b)~B08$*v1@t9I?pOEk(DhW@Xe^%hy1eqma#Fnc#ujMwmN~);^}%#IxajpeG}0O4=6vyPKm*f9 z#86P6Aq#hdv3fV?@p;SpAJBNg7=E*4plsiO-eYn?w}dOuxS(VWpQiimAWL;(!zU~% z7$bL+1cuI#(5;$+0*#X?*5EsPKfMPldckKjykE+Xs|VtKwT6qH(yhVAY_>q-?HpV9 z-AVT!S&zl9zMv7#7%S?;Go7{$=v95h>KOzM^q~F-9H~?;g1CMn__s zMHO6u#_PTo(0u>J55$O`T!}>{W6VjFfX$$E`a2I=&lYH`n{5MC(GK+bs~&@Ypi#&e z&Ylu@X`M+&Vz>EhfrjLSE$nFCmR={LJ^m*eKN#cQ9SQX7KI0r&a|Hz&b9;$7%eq=R zb9Yj`8VzZI{J09e=L6&4^t?`t;*)HFhFYQ>q-=V7fD|UGHE2XI#-su%Xuh-AND7ri zwm`$l-wJFEJ{ptagL@qsiHzZLOagu8oO?=&{3y0S<6^#eSL3LDfutB?`WKD+jB(md z3hlx^(f^Vufoy@s*;@|KFC=R#F=WmS9RBYb`eMc?3lP^WtzSEU6uNyIas?WTK3YJu z)mnPw)y%LF7S)WQB+lbJO55&Aj5%!@a|Igx0*qnS<1uGRkyqCQ3;$R05A5goHM!K3EWHxJcjTELkTcPoYF`7loVE)2=bjzurKqFJUKgu(4 z8@*R%{z_#uJ}^dMiVPOS`A#KErJz6~tjHS1E!3ei!nZQopi##d{ZoCQ)x6*ISnXN~ zTcF`_$pji4u%$<-Q*%|(2riT#SNX%l^(E4tPGmh!tZv5@XvB!;?@Ag^9!rY0vpZmM ziZS$6Ww3d77rHO1yqzu3NDLMG?e~MSiSciACp1zR!+W+Aj6KKDnY)T*Y=MT>853A^ zPfEAv+k1CG<0)g9kCMWwuDA5aQkl$P3p6gLn?O|fO?r&ecX(GcN*Uv6gamA_&z(sO z1qB)|N^Wrb&@8&|6VRq%hiO1f3Usaf2<;sJ62Oi;>b^WT`It_CzC; zF(Sl04f*B9ZAo$EEL)(_eUvdY9WJ;;R-Y+v~+@h z73a5*qO?^%EYcX`VSx`Ajrc`Jd*M*FK%=aIEsVROPya<9ckPeHbH*qT?75`Uf(*r0a+@Q%_GprV2t!pz7Y9Mt(Fw?-m%61 z)}zW6{34U-KK0m~QD_t}#_AqY*!|7C88N1PXA3mWR9HZ_zB8jpG3ACP8kLOkrKJoi zob~)jF{Fqs(5O~&gn;)C>3806@K`i_-pG%u98Ga<+wgd6V%&Ye7HH_VcLb-|Tj;e> zWmm_eafC6pitl5{ny@a!NSHQ(E6{lR%Lz6dd-Q`815ZuFB7rfg^raBGeBvuotk;>u z6=;ldaE8BKjH^hIK5+^bS&X3-C!Xc~YyLA*e1F9jXuRBS3-ipkjv~dTd(+S;VvK)< z;u*gUd{pXFpi#ZU6D%x3N08!i(sVR_GDbH88BEJEqQ_BtHq77(G*pJ#!KL2!z7a!z zz7`g~#q#6oQ4jH)iA0SB^(oM}<|y8~bR(AT!!?+ojYbq>99S-a)?H7&CdPzoY=OoY zab4elW3T9O?XJ6X&`4s8GV%P~9q}8rh@qfB!F)C4~=ZbC^VPAuIx;@ z{ZLS#F;BdQ_k5e4C1k1Wk1s&u9b@$DChnV1siVi7HwNl(1sbpZSi%@`)#2bR!xujPY!hFI?Mvi;i{$1sY2G zEnwUAV0x6=<=G}QZZgKtDj66|Ir@&Qhk^o)t4$rj>{T%Rokyf^K_ibbu6z~u8z{xo zeV>9k`dooV=^;yK`}QWCztSAL6^k;)h!EGXZ0h!u9&Ptq$rfmI-(vwQhP`zsYhFHc zI~pGE<-c=Zam+b;n;jij3JNrGgB`&8;{*B)E*iNLjRTA^d%Kt;Q$91DEY<#tY=Oqx z!On0ouEvrSRy_>Sh+~Y=gM8uD^XhY?&`e_sG;~I|!QRdD>D*Eie`7S#8Kbede{k`M zTROz}9LE-D#BX(g4#(QkE$7B?Q#4*M#?aGJ82|Y9BVwHFWyTd~EQ+>*uBn;ypSqc{ z1r`;IVR+LAg7>Ya$Ai_w*aD41w(ih%WgI4t^0M1EYI7T3wRHaEOQjOhLDT!F^dLpI>_?hD-mnC7_~iwMSO?Jb4w z%8RXup`bt`zfzq4Sg7@o6nD(M&`4yAlkFrB^;6fB6jdF)xdM%meO(~6&dQJ!rj32D zxX&0mDE`Lq*znQ z7HB*QFoDzBO7!?6wLuUX#~H)dN<8~>hEpLi6clKj68k0T-sPi6apy}g8dn)Z(nVY& z{37UPeF`)-L^*@8ZpW{r(0&<$#v{h~d`1fXJ8#iB07KV(T!F?xBTKlHy&{Ad4o3U2 z_`n$D;y#w0(!-YZDbSeUV+UoU&eD-+yyhSpb&N4voOd45yd51SfB&!r8d{xgV8eQuJGY1dUUS;UJy~cry2aF)7+R zvjrL*#d{jSu>3G7cI=8kBZV`>JwJgBhRv@}fyOSGE$p4Dw1gCqtD?|&${2mcvnJ=K zjviQ_0*x=$F0iNkSWi-P*FKI$DPs)$Acc<=`{aBeoqK&C>!F}PV?lc>xP3P+nH0@?okydbF)R*? zcZRjNL`VCSD7HXjMk@!n85%H^7)@JWM8os5{J3f^-g$qlcMSb6$q8T!G|EQ1fW>J) zdLHNc?*uf$7^7HR2e6{k6uO_-!1)qapz))-8^kqV*`BP&)4d z70;#$IM9t06O@v<0*(HC?Lj?Ea}X&)3a(>O$ru*neW5T$O3wm#{$UF=hFo<7+3e{- z#OVL|1{ywP^5bgfED7Z8I7*Ko6%=Un)iQi^h2M2b z;|es?O59-4q$Tvcv+wO&SR^n;&*wf6utT$eEY-Q4>0E(^>U?qkd8P4sQmBl}z#@w= z?umDEsH`=}Bt^qjY=Or6bK;u2OC9K^dr>PBjUvVf6mtNplpVFpogNP=DA362Xa}u|uQ(DT>g+Q#Y8azwka(A=-gs$!3N(@$TfyM) z5doyoJd}?{V7dIbN^c{!=SN@CCm|>(&@kR%4^7wkP9}z*&r39-8Ka$+6e^>BjI2+A zM&w8{2>KXDkI#Qvzd|FKG3+G%UYag6nEkI!Bg2W*=G%}i6 zL%X|CDWquLr38%_#^|<23OXabSCAqhnJv&*nd<~^o^M!2iqxi`(74GMYlcgqSEq4w zJNV-?TcEM{h6hY88TWt~hbl|a$m5LuGB|Y4fNl-C+kEBbjxjFx6vrQB zGw5E%k_xs!^^CYl(ZbpOu0Fjaws}Amv0f{mxxf8=;ZO z7*m6#prU8ih8PM8G$u^31-XG zAVu8grda%7jG`)W4a>s#;`$V5xSX?w;xZ4qM>a9PIU3SR`Ek`%JY#GAqz=l&a9!Vm zE6`|XX9jxX_b(*Hn2eTKL@>rf@eZCXmxFeY;?yoBu0UgkmpvFXKhTI20pnU@k;oXG z#C_Y+fxdLB=Ddn6(8y|L1Ue2TSBTM7TLq2#jG=T?0@a4SE|6mWC$>N%B-#STuDV9| z+h69jMWdK8{xKKIj`Mc9gIM8k?$I;m!oFQc~Q%sD{Q>#<292z(K1_I*ar8DO;dX7iA7R!-sw% zMsjL5G#)WVh4>BTEgwFQ6g#!Ma|IehkGVr^VC7R%tY6j>iw}%(Pu%R6r8gwmRO_s{yJzM;5J^akXdlbD7lVbFfzGwvhkRMk~ z#d}{>-g(oreF_RRs;VvE$AI(3#29l^9gS0rQ6%nZn5fq$j1;*B{kZ~-hfN$nqo)Sl z-+g^{02V2Xv0ePP>$tR~R|qv)I*=>SNI2>uo|1N&?u+Jx4Z`9nWBd-6f@Axf(_}rC z^&HFgoz1NH%QUgX9yOhjFBkjcgMHY?N5sSLp8Vp4X52^Fg~d6F)7xn4a35% zO8z^4f6^D$KPhThp8}1_=8j;n<8vA*LYj?0Ba|^F+?7IKkkKohx}9MQG}f9rK=WqL zBZ!gueIy#OjFG-foV)YB`HB>8_K)HUG%O6?oYk3r=L!lmBwHN7p!zbs<8b7?sc6JA#0E)v=nHNT{5h7MHz+wV1B(L2SQRC% zr_R^gOpM`!XL1D^S?P9gw@DO`;zO_&7L|;lf8Q6ntshE%A3oz}aRnL$8(iVs#fx-3 z_NdRs!snO#xH=sp<^Ue9&m&8vp!nZs73Tmwi|!5~#gcY&(Kx~wB{sg$zR9Lvr0`B; z3pBK5J3)s%?rTU<6cig*W)|5|$W z&at*j(D=z1$xXyL`me3%*e%@47HHTtv4^zE0{U6S{8@^IZ?*im%JGvz`-Dq$o?1U@ z8CRh3ZH$|E-fQ7HvgQ{8R$vju7?;I8SYwS&((So|0u7~;?$B_*^e8bVIu z8rH2t;~itzi|dx6_8-|=p8}0JT1L=h>67`SIR9w_8a0fOA)eRwFH$S8J_Q=r#krzq zZPojcB0NtIjlkdXvuhcPn5 zdqx`@eVIxM@0r`U0*!F-KKh)QX7nng<|B7t@sTmw8H)GtPI*c9ESFzo3p5_(8bjBA z=jqnKH+2^pe;Ff9CWRTd^p=wKP*9-Z5a|r37cB83#o;(3G(u|R$JHNkAN?qo*L3#7 zV6-t;pmA-DxYx3vkRBUMoNkIm3};lzVB%SwhGeM}6lgpz7xz2wTusk3I1MvL<0fN_ za}(!r3}06fLqUOt-YP5bFF!`-8LYZmqLIfK9mR8N_k7s)jTj0FGz`Q$^=6O0-H8w8JDIhHNZC<6zufADQEDb^jdMZ=?3{yX3AAcf5-`39trcDLgS zG@d;1fVllv>3M@GN)A{YV2pXZ;MN>?miFoutp3_Pvs=$^iU0*zWt6F9J-YYAD8Bz+GwDi~w=TX8R$nX3sY;yl>` zjfe4`aBO>33sP*b@I=GAPJUdu7f3)8GVj!h-Ywb9AZ#ORQ<4~s;` z*nLq7KMaO_B!z5YC|96yBFGEOi?+NX#gNPUvAE9|CE^;EMrWMpKZAk-jZs6bp|5Jl zbYe_8eh`gf#>nX_g}-5%{`D!)ICsSv#w5(9`-yKlgriZ-7`NkDbd zjT}hPAcQT@2(ovB<`1(skmALkNHnf8#tHFWnJn|}tw_<)J&G&PP}}POJ3Qx(A%%Xx zaV#D&hKsmobl{57O-b>({Ryr>L+gbD7?!LWM~b1#PGa$aF_wz?lJcI7O-XSjnk~@S za@SnU0Z4C>LNn$x8g-1Z>#{F+z4(?)ip!;JfkwD^wz|i(-}Gp^wEPSj!T;pP)hzMM zv)StpyAi{BRxDSb(W%M}u6pLtJ$;pBaaf#UjN`T9UGXEYRuW^?0k%M6M?)hp*Y%Ge zMN`{&G*TF&jd&iw(6Yt*NzvslTc8oyPTY&^T1CH)X&D#Lc*+>LArg4yltho{zxKSy z6=>YuXa=iinfD<}724nu7Nv|aFG)N*+SHkzi5s_oEzoGZzzJ;9hR`#k*C$;@!_BSL zkoHQdN=iDWmX;%|EH>{n>G=_wcfyQ)A7a0C4w>MdjbGn&WgfWIRQUa$v4Q)v=Jb*3G2-mQJ7~ekh zh-G0=78>!4(PXX^o-IqHN5bPiumu`(4p>3yIQy1lsfwQ8M$jnPjkv7=4`{Vo|^tW5jc|-HHqhNzpr-Ezs~iYYia}mSmIS;_1g|R5FHR zLn$QbZ>C4WXKUF4jpfIzz-XKIL1LK2K1IXFLw;P1d@O1(Cw#yni80=bdm4O><I>wpqjHw#L*biYh~+ zhB0oMNTJ}wF<-J&B~f3v0*$j;Hn3Q^H=TPeiz>$=&{KX~1sxafwe&knx3!<6zH$W` z!;1`|!85flWT`$yRbUa#7+(^6;P$76Qc}E&`o(P@({d~o@6fEZrNztH%| z7{|nW0o=d!r*i-b3N)G)Si_vLYJG^YNBK7ze;K2nnBUzxJFJ)#J?z*5jY10}2r+dW zL5d-EHE4u*$&af^;+jU;4&G;T6R-CFVPftNq&e`0y#22THXl{YQWSRK9#9<=kK$7=V# zHN+y1F>E(WK&fHY2J-1DDA1T3X9wx+w>%_8o7aueC}WIyqh-*`u;D3E9NyA|E6{k| z!3NenKR%Qc$8?)v;o&X+oi|)2uEj|$q-PYRW^94R(nuF@En0kx7@e;)N8abgN7xnSZ+qQAKHVJu!v)fJTV6_NaOJ>vQ#7IvjrM8l@{>JAt{3t zk)2wjkp_o-j*VvvG`uR!!1u~kdY0^(x(XUE7^9VVUbyat3pQk_HlAV& zG{VQY!iAwb86wm@UYBXc-6_xc)A^q$iljUSBh zw#kY*!XhblE$$kkGXZ(#N#pwBcxB`t9x2?f>QRk7QNW0hhD)1<8@|74<35P~GPM`jdNhAw}a+6VV8k%8x5avJ4EbR8m7hfksKB z6--pqrN=n#k(1Fl#TeVg^*%+R|9RhpSsGiQF?W$AEcxZ%l&r^S|EXxCFvdPH*Eh=P z7oC&odyXy8P%pEE_#fJjh_TuQ(0Ixio7}~-SXYM8?_B2*TcC0EvoUlic(9TfYDP2A zC}oU7S1EMqvYY;2wfAESG@N@_L2dYL3t|j&&_csaCjXt^I4|CLA7(=LG87bOXt%Ql zz4qhB5u@`CZ8Sm|C6TyPKAHofu`m z*#ZsQuHqesMmt<`sMWfV(Sd=qHcC-|3``)GdyD3{2amD}Eqs$48 zXMLrkeQumC7M{NHeLT==L-ojTCwgihX#^@%lTk79f zLzS%g+F47v0*$w~EMVZU*566tHF`M~@rF>KvNQWPFx3pDosF^4qI6?BFrRJI-sA3ynVwM~3hD+X84 z<8uWC8oj?+!9%64bU#t8ZX+5;7$Z>J&zapgF^H^3=N@`ofrhJipI1V|;uhfwv{gN07quEnA@RvbhaJ=zO97 za9NK`(a2_uF$2V$2RMKqLRVF^r!-i0+X^bhkkxFhG7> z8K0GaNrnMER+CL-3pDcjSV45_Uvz%=drLbsq8Ve<5E+;+Idz4s$A=+ofySs=F7P7p z4E+ZGbap@^nK9zRB%n9jV+}F#53vOrx9-@$k)W0{NFizJghmcyd=bwB*yH-76)Db~ zW(zd_M2dH%^dCiMQYYF*?ry zo+Un|zo^|CJ+X*kj49%Jp9iO|=n-RdV=t~iW9ceO7?OLAUL)M%p*I#c8RM(Bn5Uk7 zy*V-JzOn@x7wViLYugGwAdzr^)o!C)TcnBzj$BKo$D#|%9_bpQZ&jK z`YP&86Sj39Aij_`GS4H40`4# z?s;*KVR)gC>b=fkxJD8|bytjb1?)_BRxb3dU$844okdtH@HlaNo}rXy|E~K<`oW zXyN|(02bcC^5g2zZV5c;;3FYMd((qlfyM+SCm6b=nr>@XwJhS&=|7G6?T8Lk0DD{Fz+xH7Z@XSgbdCN-}#0V&v&r}8nu%g;N7cT5u{kO`Y0Ni zjIm$rUnQq!9j#A+M%N)upt&TM9;;PrN1{>47-21Z;c(I455yRHmo3mpuQGw{Za3)h z$Ny{W&fjWU-v^E>No2@8WjK_1I)-C*o5?)YF*}l!beiXAM0@W-N`{OTQc02|B#D%e zRFZ@;R3}N2B>6s{?|pu`&%XC{?LXjsz4mH9?X}jkp0(DCQK4wmFh*Ulc*bv=n>EDH zk7o-s?!?$YeDN%Lt*E^B88oB;^5g2&SqVVs-&ct-Jd`cakoItemZZ8RJm&T`%;!@ivu0Z3c#1$sZ*iB~*2KS1_qL?xEi}#;LXrH0S3S&Z>2Ufkne*YrFo{EZU0 z0uA?JW}rU!5Itt7T$YH%d&b!QR6GZ=`wV)7te`+6r_>fMx7t9j%7~Y=q0zt?`rCX# zV*6d2Y=?pZjnX(9sE(YTMvApVlh8PDP<~vc{%>tuozrd*DIP7%#3G6@V)SGXGDJ<26v3a_ z0uAjqe?x@M`D#+!z4-`@6vp_FB7@CUx^&IN#Ui#qqwb&u9KN$)1u?WEv(U(AjM}p@ z_~^AohZG$$*#ZsId}sJr^OMf1jX#`?MkQlBF%r)lkhsky#&6fy0*xO_Jz;6nj25JL zx+@0_??dwAsz|)&XG~ZH9f?oQvIQE;zgR%DzX4rGcK%Z?8b=vpf>_sgpo<+HyLkb5 zT!F^tM>e1uHkY0iwerZvB8D;E9GAgb-L-qjmMbXG=x^l-Rh?(kv+X?d0yOS1#$0hf zr+16*BZ+bLGh6&?Y=dk>^s_G(v+C(RMZDNQU zTcB}&ngfLQ>HCZPtwwJzLE{8t+!Ax)x!YUQv+ev(Y=MUUJa=f+GM+_@$kp%Ah+~Yn zGZL^~m$sc0cYd-38p+L^;N<7{CZt&M&j&Oz7{g55KWKODdsAf!G;V5JgPE-=z2^1n zSs5Cy8DqG3k4br}$X&#+a4qKwG}^jZ!G*PnYNY6CT7g9^V+2%7AxVD=okRi1GD#B^JI%@!!Oq2JvWT7Pz=SE}ddR%4OC7|A{SV3PX7jpS3Qt^UFlXc&q0i7n=7 z)7f*~J2hB5VvM}85?FlxKUYQPogiW6LaCcxG(aKnlC*-_fXNj3@EpdC2AdyGhaVE?b~+S=R-=<;VDu;^(CwXzV{K zKdwd|mchKcuj%*kE}JdTurRiQ>`lk%*_~nXPc+UlhJmk`>)W}L?hOl#>us9s`2ThKv_RvEr8Q*uSkYNddrMU;vKeEX*bmOi z?@7Nw{}i@BK`bq%gSqxU3t_&9a|yHcHPYfUsF7{mXDxZj}1273OXpg?2PMk`1+Y)Olu%i5rk%orNtos*i4 zS@in3wl!Oz5kJTodd%F>ifnn+R4p{}7-M{r1Qyt*ttLhJMz%nsTk+rEG+Z-)6n7W4 zN27u>=K6xcyszh#DbNU27r(nhPQD|>kcl19@H{5}o!=1mn0)A4-xjG1qB)% zURlG{*4NIEVpG%ZXrwYmP6uBodHao?u?*hB7HISq>ntB1*PzF6aaBFgC}0dV@f_g^ z@oA^Yr>YFp<_a`yH(5aXptP-|*tn?|7FCR)`b`G!mR(#&3Ik8JK;x&r7rb=pbe$A2 z7JbmzeO!KAX$8sPL}n6Q^eE4@ zOo2v8YcbF8vGEQmE~XDeqlhuWA4tHYpEprH8Ih;o6OZ*49ULx18BG-?>*x_H)o zt-I3~Qp{S*7HI6%_Jq@aBrPGu=mEpfke-kqSA)fSk-K(k=}n5h^VkB7rQ&%@hmIG} z-^75iBhWa-82`-mgTLaR(&H-y1seaf+XXu^htqx3zP`Vs5ziPyo9uwY{V+o7O9 z<5(9ru(}CRqsf&U2Z7 z#@>_iE3#7Hf)HNrDy<pR7!Q#^g7yAe)}?jTHVSdT1mu#_Z+d`3&mk>CBx(!WL*4HrPVl zmpgPn_*Q=b8aa&7SF8ijHO`}VJ3X^!3pC>2xWSuXoi1cMf@ds3qnt4wJQCl>`#^eR z>9d(F(6F6t4TmFsHz!8hWlPX-KP~^A9}{a*{R=NADN~?vSX}dZIQxw=De9&yLnDYW z>csns+|P9@Q>H*8#lZ?bbt$qT#hM{2(1>D;o8tMRY3nA?Iei5M8t&ENIjIFB#}i{& zSA8^67(?A%0-h>urjg=JFk7Gzpy>@0_7(IX#r0-?qLI%S&c@;xZjo`NG6fnR3O%8} zjY$A^3ce#;b>82aLG)n%(jfHDOde|dPqA8NDJNYP>AMl@m= z!^TJ4k8|KpI=2*7%ob=^&9{V(QJ-57V|CUhH107*eV(`%`CPmITuc4T7HDj$5chwC z>n<1~-Gq<2o%@|E`WKbQvlkNu<6liFV zae;H29?)|f_sJ$`_=L)jt9G$|aD0j*9am=S*#Zs!cymbEQcKSV8|H6A;{;>e9WMjp z)kP&_%M}!8TphRzwime2W9rIr+tG+)jAxnRdadez-tK5z$QEb}-e(0qwK8q;se0)C zjYbAzj4BY%PnS=vX^loLV|=Uhg+|+Jmx+-Y$`)uGKj;eY#{R4&MITFBGN`NpFxbXW{y}S zFveza&UxtdovWm{-`0sM(5RO=Li>Bi>3*=?PiHJ1F~;~LDU7TdM$b7F6lg@Q^#G4w z8T1H1t=tujw~Vn-JOg51-WhtFsGvZ@*k}h#7~#5{Z23nQH#F)QBSoy4D7AdmNtptT zJHws9F|UrEu?#fzKx6+I`Ehl!OaecCPdr5o(+ajgqpzMNj9M~={=)4q@IvD(W0+r& z!R(F)(}>~sgDuc7iZKV@l}+e%gVSld(73@E`4LixpR(!;F=VA|fyU%N9bk(7paN2q z=I%iwn=#IdIWh~sOFqgJXgnD00$ubZv7~sAB0-~+F@7@;Yl@zBqH~sewo17IjpQTt zFwFT*6Jp$6>5D}pW6Tl93?`Q{|5m0zEKx6Jc8(4V3sx2vAJl&5*1Y^W>7S~uJrfg8AKttQs3EY>zq_YM`lMkSg%ot}3 z#9a6U?^I$aDA3T;umbOU-h)ZeJvtDLJjR&$%Lf8RhUk!D-SUH6fyO0QE9m>QhR#N* z1_xnL!5CA-y-R`X*3e(-7&ycgXgn>p1hd&A^~tA7(>#KO=Q;WB+^tFiJ6oX`KXOG)G4gBd|pXSD>NM-xCguc|wnn8*4+csA7!J=`ygjy)%#)YF)#)0*z>U z2N*Oy`zI}$oyB5zxcs>KG1V8Oe%f@_K#ecZC|T7~tOvBeW^{~vsvTBQ zXxwLv60t7B+2UL~WePOLJoA7DS4T@pk-H%pjUvX-*O0lyO4W^n}?|4em*_TI+y8st0uY%FpZql0+$=DfmzGPtvTcA<;%nTxpKRhAE_m%}{L@`ExF{j@x zz=-~z>t19FG**KvM5JE7ON=Ehg=nNO#=s_07@pEOh7@y-u>~6SN!y{#nufWg*kn?K zMm}ShoBKhkY7qS&Tp(c!G+OnsgWMrri-_T@{~C=-#@H*?M%8Sa_k$E$?b!m2Qw7_h zEXbVx?xt-nM#KAp{J3h=6Yl_RSQ|kM1qB*it;KomhmlHMs1FtL_SsMw12QDWQ@_9#k*xQbLoti?SO^U_YY=OqgF7_~DtT$be^6u6rG<>4v$JJG_?$u;z zIUR{_Ub6)n2Nv5yPDlVfZtwo+Ga4rt!|$OCs&e1bRTkHmRdWRzF`;hIdPeXAvgPNl zf59S-F{Y?X;X~{Hyn8uoV+~iJ(YlWf_!ijHqt`);YO%;*jH#1+;g4YdN90o}D9~8F z(iXg<4$yP80Tb)cc+D7Jv}CYNx}F|ce!a;SXbd%Uhtc|5=y|Q}fO<4)8AI=-36MQ5X=<5YJ3|El{0#<-R)ey=Q-JCjePpg?2( zB0DH+VnUBg;&hs#@rW_Tua`hU???0)u2VQ$pt0rW4!B%5B$#}v=k1!I@s=?zyGWtB zI;RsU4CC1XjduqfAT@Kh87ZuOsiRTP7>k^I;YsC@Riro_+MFxUP@C)oufH{;bK%|n zTVSz2Mt)o!nl6q@erY59WVmv}nw6RO*a zE6~_F-5qje8Z(Gd|G705HyC50qZD+nzdKBdy7q0j0*$c2;`vucXT2mv`zBggWHZM9 z)*76ayl$yXfktg-dvLzoasw&0l($2plrb8_eJrD0w(KOuG4u9ZfyUBl&fwZPo*GeW zI%3ht7&(1paMySY9lK{-*a8ieDjS%mxsqP5jWFqqM&Kp+arMAftRr)Ec}uoKL4n30 zbMZc}_VERz7+}y9jR?kQ$df{4mm^0>VO-A^Xn2fs1jF4e=>B}u%bQ*3*>C^bjR(S4Q{p_#}#Mrh-Zw{gAxc{ zJn<0v4nqM3p9#N#Wk;n(iLPoW-gnJMjd15itl`=hUaHe6nte1 zG!l2(z{vN%a!E0+WG)(eugH(9%17cp$fQJiOs$|mLq)uoY|X7YdVDqKq8=JyjM1b- z+;0%SB7%IX`B`l7@Aoms6jb#F6_VoDjRj~VGRCh9zOW)^g@rN&8rw!&!H_m1Z;|3| z#3D4Z7$g3Y1mb6WpudS_ix+bR8riAaVBDt_M#M-vv;>RyjIn2c6b}2nUPp?Rlb3P@ z8m*r0gjt0L^+_>r&~hvq7^7A9|IL>~(xW~F1sX5Tn}g-|SGS3w(`6+Z2jb<&)n@Vj zsD0lf>6Hcr1sZLVo#6SBt8|`vikbl$;fyh&gA}rRtWzPM>hT`7KqEoin-RSy(S#J= zY*(R?#27JGBrr*H)MQeW9%KtN4klQ@_WG7|4j{~H4H`L&;UbXMkA0Hn|Aj^nV@$s712?}KbRkBQ2W2FPMnrcM<5R9`hl zBcCzUmr22R)uPwR6lmzXh&6Wu8d{OU_KXP{m5ebcQUZNVTmC_cYXeQW0*$T5%phlK zZ8uUh8E1xtcY^%5ifIt*cMDJcrc8mxDN|3_JTm(SDb#e#(KyN&)_+Rj&-H`p-Z|kM zTcEMm+7qJAS<*B5tUwDiVi==hlvs18b1;N_s%ux+0u6&bUa>}wpYOo4{l2y6HfRMeIfNo6i*#4(1on9H!pKHpuL z0*!UiJHWGU@HA2+=j}ivgE6GyndGv>E5)QRShJHW(C9wH5@I`5Ws|~ct~(a58RM4t zKYtZmLH9TtOxOaAoku)iBzVtD9#qEX8j=PycN<^i+yq_~yO7HAmHaDn`J_OnSb zXofc$zKQbV>VUZSwbz^BQKWeMo-NS0w!jvSe=?&p!s$3`Jm1}Pek7{fulm&|0M zCp~U|xmd;(Xas+81G__?=uyTnFF!2aGDbzVAFM3Do8Xq;t?4Pt-Zt4kC;6IM{5VH;!z*_S45Bir%f=s`4YFov&&c!%^X z|1@O^G%8=Y!#L+D_eqht=MWm%jPXQV^O|dsGfJ5Pjp<2FFhKJIJ+HlNcLa@6#^^rE z7e<`as3eAh0u7aR4scNK3O&0!Y#5A2BV#P?CIyG$BYlt~+{tyN-{8KQ z<7folkRMm3g%Zejd3%l+3JNsTcG-Z*xe~gvrf2axRo=x<5f_)A=Y#)uMcki9deXTlY_m$9f~j7@XI z`*FSwpl7KH3N+06+JTX}Jss^eL08b&og_c5w1rVPVaOV?lvuFefK?lZ=8alKaM(=|F9rJz6~NW3e4!riZQe;yW?ghml#+!-f>AkDIw z^AgPSb-FnpacMklvCX zSF`mcka1|(LQ<%=xWg4_+*0)c_q~(o+)|IHsaTw13xYCyHYpnuu zxB`u$6^<~a-eD{GRI%=PSY$DVo{kJoCp;WYiuoyQfyRmk8)&8WJcty#uI8iho-r&w zOW;+r-if4`{GBb(Xgp#Em)`H7*R~s*zd)mbF}9RQAZVW6U}7jJ(72cF1QU-Kdy}Gh zP9YixZp)7=uV-SeFK#8>57yMM1sYxbtf9(FPeP0h#YJd@Ge(4+1iZ_3(<>$l3N$Wx zSi;>aJ=KXZ=kaSak{F}8cqYg0oz+v6DbP@z=>>Pbf8Rrj+8f1aS+xDV31RgsP| z1sZ27tzeJJ5NcGOe~U&rV;G8OO~##UqehIBVeh!&UqfprEUDgio)l5tKVadWBLAJc zi#f8WvD>Oi5jlx1&=?$R2?onv(KC8YjWRTX7(-9I^S;B~eSXBK8^{)DjJoCsgQphv iA;p Date: Sun, 25 Sep 2022 14:11:33 +0800 Subject: [PATCH 09/36] v20 --- ...273\251\346\210\252\345\233\276-0.88487.jpg" | Bin 0 -> 69441 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/\346\210\220\347\273\251\346\210\252\345\233\276-0.88487.jpg" diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/\346\210\220\347\273\251\346\210\252\345\233\276-0.88487.jpg" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/\346\210\220\347\273\251\346\210\252\345\233\276-0.88487.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..43ea3f0a0dde159932f3b6f3a842263d17fd0379 GIT binary patch literal 69441 zcmeFZ2T)W?*EYI`A?KVW=PWr7NEQ(g0SO97&N<1*AV^Mvk_9A*ihv?nV91~dNRTKQ zMe+;^4r#a>J?Fgd_uX6dfA6ioZq;AchMxV*+MU+w)!nPpoK2lA0+g4v^|S#91OOg@ zf56!i5TF&}>I47=27nL%0E7T8gc-mC5f}teg|PgCwIKok^cNim0AgJM+`qzH1)t{* zOzl^k-%p$;IDdyAeDVbPH-_|{2R+*cj%F94tr0kNvRi=6|A&&w|2>FIrr zvq3BXhW7z+JBa0P|67{Q|Ay`CZvT_Mot^VP_%~l*Ot27|uKqqAcA>w%{O|nm^auoH z_sj8tpQJ8+y4S!bEhxh&cW?c3ObX&HuiIA*K}-!|j4R09Z;V6i5~ynmVlX@otG&Ml zC|7_U#1am6n))DS1+li5$JHx;(QiAsYU_a*)E1l&*8siiAZ7${oTI;%$zNff_<3LZ zD=(aSCqE7Kzv%sTejxgt*Llb`lE@8{tYJpDoRi+AV~ z7gxRWxS$-MH32TybwLcu2ik3K_pAIMFVK&UUh03z1RCV%f8)GtV0fH*2S-gU5QDr! zzd3rDp7VR24#p?o(s^EBTwG!wk6-Nsq~mfqdgz?fxj-!KA7t`ZTwJpNzw768u$;I~ zJ^@DOG6c(sd&kZ0vJr^E^58xIt^gWV4S~mGXqvZit9h$|IXbGOw%4LuLtPQ-~T_;|EB&cq&mp&mA~Q!{+%NS z#ozJqweU6Zb@8?F1#y{iRdJPYuYjLwpqIpz$5r^7kAH>7`-(S$w~Y4*ZxL_W#x>IK zzsbk|SOhuxEkj38zW*i*Ts|;O8Qe>_Dq!kh%DD8n%z!AaG?oKR{d0@n89C|EgW*e{#F_t32*t zy}14p=5K!guJLpI@Rz8NSeH2Yol1aXNC2qMfQGkEsGqB|O8|#DI663T=y};yAZ8X^Yzy6EH-v)LQ3;@ud zXdmbo^gBJ=^9LT-OHhCA4xzKPy*BdE#NX>2wVp&fLoxxx`2A_2LuCf z;2sbIB!Z)H29OIB0wusRpc1G78h{p{1Ly??fRDf@U>4M#FTf^%0uF#<2n0d^A%oCB zm>}#BUWhP65+V;#g=j&pK(0Y7Ahr-^h!-Rf0*6FF5+Ui3Tu2e*Ipj5@3DN<12N{7( zLzW=xkUhu|4itwJhZg4o4j+yx!3MEPUuf}Z z`DyiN-DneOD`|&lQFPRF(sX8YA#{0kt#pg@PQEjtub( zRScsHKN(pV)fgQa6Bw%*KQSILaWH8yxih6PH89OF<1z~|8#4zp7cloQZ?Vv_D6!bH zB(T)5%&_9H3b9^e4Pz}~{lL0^f$f6M1)mE!7rHKNvC*@svAMB5VryetXQyFTWp`zN z#ExX&;GpAB=kVaj=IG`?ak6siat3l1aSm}FbMbSTaz%1gbIoxRbIWr(aX;ej8#N^6~ST^TqNt@O|TFSY%R^R8(CwNVGz9NsM0X ziddvrgV>HZkGQ3Hns}c$RzgO?L!wk-_9FGg%NHXrHecM66q2-;%#$3KB9qdVLP#}A zp{0eT9igWcbUpR@tf_!$ zplPQWg_*V4bF-i3n&#=|i#Nn?+`Tbi!EE7b(P&9vX=eGnzm6XUb!tLU5Ii}KU=d+HDIzve2LJBcy^EY zp8LJQNQubw$RAPWQO)-++>f}w60H+m5kns17c&{F6k8aF8|NA~6fYH@6OT=BNO+$p zk(ilyl4PIsKKWvDcJf(@Q_4`PY-+&+{0CkSCemPO&(f*V@1(ChG*M&xKl2^(M+?*nstPX@CKet& zaeXpXq*GL1%vYRQf?pC;^0m~gw69FQ?Dxmlun$9=!Z>nl}YaiFq)FsqI>O<>M z4K59fjTVg~O_!TGo0XdD-io~~Z{cjoYo%*VZ6j{G-*$$)gWPZTY2WH_?pW!x>74Dl z(KX&}+&$Ez-_zf#-P_ft-iPd0>2Gx~b5y83Bk!gOM4(t2`n%3PnGv>B_9{e0$mcIIQ}XZOn%IG=apIDxbDy>b8`vj6~^kD&cv z^?NS(D+J{C{1wEIzx+A*zv18W#q$@S4FObvk8?9#qa6TVfu1h{Oj`{A&Q191Y5|6_x(KwJr9fz z&NrT@o}*8U4iV?ie|Nv9jL6f#5)K@$d-nL1_g(N-if*&9TOWDpOF6WQATD~c1~__Nom>B@@LOq z)V!&!t8Zv*YVPdn?&>tMd#n&u24Z->4pg1^CJSY^3hmQw3d_vGl z!^bBiCj8}y|8k_i9QnDU_{W`ri9o&1%AAjat|Now8 zn%J<`C;4vs#2#Hkbn37YFz1&Z*dK4beTY4>L4o!{Y4MYWriQn12A*8+W1Al*6gjXH#R9=O^%X31FQtU+$K0|sI#2dU9G7l@sP9rERn#89Sc5D z96!31PoLvbzy4j}u+;z4=Y76hD!iC@=i9x0q(4Om4ER5+9^VP4d#yzqLu;%B{PBNe zKzkoYA{0L}0az3JAugm5R*ak$3ww43nDf68-=_=K|3rU!i|Jwi+o<^4D(d@ePYz@% zt-ro?<*|~f;KV+39iTW|XGaTSZx<{pDhiRf$5m~wG~NHgYt;44?T!YqKyk#mhni05|@dGr;Q%ID-6FHT(1*sTqYNrU?CTsk|duvd9W zwi`(+>R9s;OL=pcKYqtddoI-d_Oh^Uq8;L1OLjI*tJUC|lUq8~abX!;4dwM_F+`Qu zV&gS`^o|I2zB#&g(?#p)9M+#HlFpzc=qup4RxY!Ir8%udIxet=REgtaoR`UxhhF;% zL^2jAET*{L*uI|NTC7{@q%2_0n+lcLTRWjmanDg!LB%fiBzL)B8PQpB+b?A(-V_Sr zz2p;EiHlwtu#pR~rpg{)`9e2?on)_BXg82MutHxiU`NGdEgcUNx~AK>Hq>X1bOf^2 zC$lcP_gdfOP9P}dPuwn%f-YIDdZGnDX_tN}#<-)u5w59{GMTpvZo&j8$fRYA1oZs3cXu9lY#rAuocvfQMLbEg{D$~u&*zV^s??R$X z2L=paOB4~_yDL&wRw4Bh7Dhl%iM~~)W0x)Ky(BiFYvaz-2y&!b>h$LFP#t>=mL0QZ z_$kn$A=E6dfauHA+q{94z~n+=A|>@jnyHD&9>fgI;#&K9K)s`67F{fdU!UySsAEar-*oa3{Z;1gG;ek6wpUI%h5VZVDLy&EqU2k8va4P*JnXg9$RZe5qy zO%J2+sNDW>SLjf4;&lb#qj#(F0`1hhF}U83WF;AhyI>mOv?t*hIdmsUJeCeqHD=>3 z!5m^QPS<_;Gkyr)^^EHUP}<&*A$Njh#I_EKW^p*K1Xb9*z@T2_Hac52Gy9ILJIOXJ zhweM=)kcw|i;vNxO#)|tLu!nrcwZ&M%EG;z7S0#z2Ya*D>qibgvr`*HLNyl)c#Y)j z?(zC&n%aLCb6;GTN$l3?{8emHx0QA|cIt!>E%Rgg8N8?J4P`IzQuudx$vM zpRyApT^1sdEW5iuhNBAvVr`noxb>>836v-GvDAOE|Joa|n&g}NO_>CpwUpZ3>fNo% zijs@t_!MYJY|V1>>NK=8b4<9!L9)Lht%=dgx=P1#k7Bx{S8qkHMZ=fBLkW5R+6~bc z74sHaZj+lAAHBMirhP-x$ZIGZQ{Bgo+t9rbjbLh%2>)b5-rzNJml{%XFnO8(pb1K-)(y>iY?d;yYN!aZ;*G?o6o4|okxD3^3O6)wWEe5?`;(n_lg

blgfyK{+06+~KQW%AEN^ zH{zhyqer}S!>`m2&mTt7CIy$oJYOOiX2U>lCf@ky!ILYvQ<8H1dI*(6+U5R)1tAG# z@o?cDm>m~vDNU8-F-rOn@#CrGp$3+y65O9RUr9YCc848#HFrwLgkeER2_7&&*8xsy;8VQ4MzM~ zNIGGQ>ocJiX0Laa+T_VxUouGDE(>}{L6dy@hgaoJX!`nwk5%2rF#OASn0i!ow>TLE z!+I7q{B@sb#&U2j|C!gM3}Nlck_A)iNoSo zH8J`w5Y+_QZsb-k`PCiro0ryhWrlkSV>1!d+o}}Sn-|NIyk8EUD2BfyX??YjBNx5b zemd)8r5vz+14-AW3crBi^!D^coAj9FLRv^aYKa~4XPE3tsuQ=ogvj%VNrA>(R*%hI z1`IrXF_k5bou7bhv!h~{*T5}uH(iA59CT^Bx>uYG;iy&KmdMTd_O%0}q&iK>j>3Sj zkgh*>WJTBLEA}U60BM`V$wkaS$v`z+0)3%6&ZF|Pj+E7F3Yu5_7Ti8HoZM+m+F|D0 zXv2ei3<=8oTA~&vZ$(&z!8nIr-A%KB0m8a;v$#R;!u10ufR*Mk@uB;HJX&sRav3yV z+T_#adEXC`&OWj}m%O^lgu@t$6>XBGR~=w5w)`ZUh^t_rf{Ait>)N zMSFLhy3O7i6=TW}6LlcZ8;jB2d8t$Z=#)9a~FAzcbBHCWoRE-eXM?GK30{Q^GXN* ztL})B6->=B}kz^)yKy@5*ye))&1$q zy{hjtOx|g22_A~e#+TqTyDnyt|32xJEd}uttJ6mTo8I>k4K}^Vh;YK7*bd=xjh9^x z7jj9gp3-}mNnB;X*&a)|T#R$I{GN@ZM+qi0<5+t4Up+whLDp@j>g z3$euPOWyISq>bNy3_7=m-+s>hAx3SKi1Pt?y7poPg>hP1q>X^}X;^WB5dJ?C_dhF) z|3|H``sX^IBry-4zC8oJ;WsO;Ne>?~$`l?4p8+4q0s^KuiW39@V=Y?9*~EV|>BVVN z#b_O?Vg}mTYZrP7lbL(A@6Yh3jE;ENMe12@NC8IkcUmqdKK89!KvlnTDfdwgK79%r z-w1N-D3Z(prCl9xbgRT!a(>-1$wJ&YjJc*H1K0Z!V?~v=dOv66D@=psX%^BeHL+Qy zuroFJ450mCkHRW&GJJP+Su+{uh`wj)H!*_K4M`tPo^qn58s7Ls%SW&5-ouX5Lb43I zH)-?c#7DJoDKwyVwCG04I!6K>4ujd<*?cC`z3Bnc$E%ZT8{zK@8yt~cF{cHhSb>m$ z6GeBYv9_s+?+8~inKl#8H}7DA8V%n0KUEE-yy=dHwTPlqvv)uq61^#~?-k3p=1>P; zAP?1AM=Qm=^)$m0Yaa%TF{UNNW@-n`lqR9bLd@fkw_9y`&Vbj!u`uUtucJ9H$E6&)=ysnA{0+L+q#PHw_~CXVo!5hg26!~sSP+SQYExmZ#GP7 z5#&#MCRQf$(Q1P^7}o3@$&?o~kuLS<3%k-iExNp8E9}q$bGYbJuT( zM|$)LS?(cD+&?v$o+JlF{cQ7?EI0{0%~0jFIk^>ekbIhbV(h*o&TatIe&QU5%EXl6 zyeQ7W=@Vn*63V!kar;?&N!7~FIa+Iq;p+Q{n#o=RlNHa{ZK`9FkovA}Rql_X^RwDx z0daF4BHan^9e77YUXh=8@cWWlZyO21Lr)(gT~5Oe9*-hi5cd>^V}7jvXeE;_Gw|F= z^cII@!y7$Uua!BnTt)d8s30_-m46`ka0cM~K+e4HG9OC)`G>A{b)tIS+V zZuU4rGW4sB(-lwiw1n>+b{tD$yJi};=8p9-UCY|>&n*lWRctOdy&e;VzsoafkYkW- zz)>(Q-uvJimk*7%$oAy*yQ&&-`l^jMr2HTfLsxNf5#{(PBl9`J*IC4Gp(SlLx*^}e zc97PuP1huebFE5oa_on(kHP|>D}y4z{U0~+(P=xDK%#xQGVtBQMba5kfn1Gc! zcQ;wtqo;-bPj9Yv1k-f!jhfc$mRaHYky99(3zQOksmeK)$IhJrWC0hfmTbD%<8$#V z7YEgM@ahhl8^|gwHGK0Isc_$0;jV~u1?du!6MRBIkxnqO6Q0xj*+ug5pqWok%RR%$ zD|{%m4r0emGw&t@dm1Ib_J0^bv?lZ8ly(-n7ps1nf$*Y;zD3iD5k(~~2Suu~5B(H& z_q|K{{Q0!i=Qq-cZ2de&A8w{-pt@@w4c^T{nH&U-h2z5^FnndDy9dWPqSeaB(^&&F z^YelfoTdbBIG3Is#%TeW3jFJe0*yCL;xNv~BH;@N5-bC(Bb7L0rQ?oatQc8;dPvV) z&xYtcd@h+c+xqe20PffLZRM!ctukNK?t$tg(h0QbHb!hVnTN8Tt4&U-7d3=!t25Gb z;wGgDa%w|mM;=rA+PD}SW{ZTI!p%=3;ErgT16Pa{YG}Z0^ks`b>h#u()kHet^?-BW z+wF@bFIC+g;--VO2}sLX-rSn4!oEA|Y3TL7rz(Py>4~ns-$v~^=K5XTm!~3Bi1CW< zh*0;pEyE9ARNv`X>%vZ#=pzOcLL zUgNcOCi^&h^*vHNo;R61er>#`g-CZ;Y#|-oY6Urs?7MU2h(Fo+*mNRo*}GOZGnjm< zdzMzuC*fusv5}|J<@z3(BVH{A5_VSXJH#8EcvZZHWMyYGOE)FvVIPcgH}lx6u`a34 zEh$;}MK^JgLTG;cRMdkaHS3I1aFB4WX2cGMQ=wyHPkckm7Y3KvDQ~*H$|K^`U`%VTgeqV6< zpQ`2Gdu)H6fA(AdBQ^VdH|jrAGvT$=5oh+9d5)Z5t@6&L%gze*G`e21-CFtrAJMw?EzK%ok(IVH)b9N>nvbx z8wc0*3Pw8T4aYus@ZEi5qhKDF2e0KsY`)%;!PLFCZgdOYKLdEe+Yw!6aNxUgHAcU9 z_%!UM{r5fJqsg$P!X$Q*7JErcjCT+7-RA}@bO(7}Z@7N#;8>UAR3NyUumvb=aeA}iRr5L~h;$@NZcZp!0EGJE)-N|W)lWU$WuC6$hK zo9FDf2$x;_6X%Gjc32Huop|S=VNMslkwSw2L|0=k(Y}wupwMoX^VCntARq*hrzqh!)*u0Sa72IA2Ksj4haVd5bE!iu$1{hD1M2^enPg(xE%aO|G$2D(VvY;6V7HJQC9XghHeE z)rrzFf((PyPqjuBRJvBWzH#6ke1!hoj@hi&&3UvkHDLnIND&P2sgY%9+3W&N0s;fM zS0taez9YuHzr#L((hA=BK9&n?xq$V!K;3pBSsYPQ32P^y-HRK7-y>sqAtd%HYWs0=ozuA2 za&2Zoo(IOlttp~c$`W7)VScS_sF_YKL{&CSiJ^G6MoC(>F{`rb-W>+P4@s>CD+ zCrpI%!WB?Ebqp~l>dTeFS3Z?bf0>@MQ70QXEGMex_gV8@@=;I`gv^YXitla(RIntQ zTyIPn8XA(z4gKoNYOKX5va{1I^ddr!XOY|>WGxBYh+&T@V8YlfFC;MYHP|gDiW5$^ ze(JV#T$RIpS9^F-N^^+v{fb*ATlwqa_OL)YQ221wPq4)&>zFWZQ%9{S(n2DsN7!3nMd|;JV^FuSu7v^R`e-(=l);Xh%3xNbe}TEJ>hBrw2)?Ot46DV;3I0Y#`T_ z`JI~D;PM`erk`T8YmPeX^4ldOJ;tP0misy?rp~d-g7tP7OZLv~wY2ZuA6iabphd+s zb(LWnsJW<(Hm-5c+P4Bj%wf;d2_F@j`_YC64ut40H+1f@TfcK&v|)6?ay8zk5Bafu zX?}a0oJg4DHE<^v*nL(dY=Ox@t#vhz-(o=%B-B<)nH4%`IS1awl@tH^m~Se-E59$g zef3Ax3oN$p^6SP=GWu~_TU#rkR5s&!k9 zjBxfAS5u>)=wNG4XG~qX(tYS~%x%-FC$Bz}U$5XiZ=LnU&)pO=^Gl`%pKnYWTUg8r zhC1g@$d?#@%9)CIa_6D7Ik;DSB7|;TS;vx~3lgj6v@h3MhL?B-a&V^;cW?QrW^k(z zCkPMJ8K$t~)f%|A$i2jz0bK{o&GlW*zAt99eAthl@;{JQof-u0B-8enC4{8ASnIJy zNY*^AfcA5wJeeeLN82oUqQ(ufk^D2C;Pf;`rV`pyNDa51mqP7S%4KmGhKZFs3g2tpzNMc%;le9K zqC?flc_jD-7n7`{kYI$Kodle&fl2u`pJKQIF&6!HS_=?ykA8bjO*hcLIlPxAbH1f)LP6hgQWBm%Z6ze-hauz*X~GseRX7@GIDK` zmkvXLR_e4t8QV;obY`9bEXwNWO9qImb-56P`)Qf)vpx?epE$nAJ(>6tCt;?G)EaWE z@cpAN$D(k5_FD6fn>5P-^}GSvc!al&CpBk}2u1glF$HcAf|IJN! z6)_7tNUu4~#Zue~i5$}OrrosKs?}v7%geOM4Z4MHFAsCDt?!nf7v3wx678c`R)!Nn zb5B&f6Go}*Ub%7PRpgHFSII01mLAEZALMbgf0Uot??{ZZ!pPV|tY|HUxI}B-2dm%R z7JY{OfFLYE!(v5>+tBz8A!i)U%b=~6*|&$m)!f$9j=NUNWjn8zE6^_74WqmBi$v8n9ugNr zR=Sh->Ob4NKOa^`T%lh!jg-m$s#fBA2Dr0+T(NBur8T}LQT*4BEBud_O@3dw_@7TS zgvG5V0?q*PZw*J-O8$qAPdj)&>`r?43I@sVwy*2G6@D$7{#MoZ^l3QE3eJIAJJ62j zdbeC@DJl9e=2+S}%4cP2l>-*qdMV8&y^RGmncOCVX>rX}HrZ61DBTvRQKDBaEU<9! zN{|}3c(9>X!A^DJ{St11-YHuiSaoXr#NSO>b)%2+kTYIwv(86;!|zV+Y53`5ERpLO zK+wWO*%SwhtGlijNR&ck)~iW~Xkzoljybjhm{~)Ks{LAq{hx2X&l*bi$b^}sf;bJM za?Fi^F0IPWG{i3%Qit4Ab4m}Kb0^vFmPm_A8Crat6wxZY$!n@b7$Nkm9U1|Y8{1gK zcA1p1S-SNfzZ4_SVBEWw{J_M*bi5?ueHSj9I)1*ES3n`}iQQ@12?R~fl5f>TSsrtu z)?V`tXS*)vXxT-reK=T+{Hm^3#-ZV|Az8@ml3e0Y&Py%To30fQF ztdfOZPZCbcF>lb5?S%x?9m>W^?*gCc7Kv82hh|bwh35E4Bo4o2qh<5$g$H0vmyk0A zOWl^kF<%lkuQ%MQs!i;V6Bgj+qxas?OY;9|Mev&7>v!dv470fle9hvU{wv=f=O#Pz z$JRW*V0jaKSUMkvDM8wrvkslRH&Y>2;R(u=fPZfL74KaLM_3c2#C@&`m?U%M1B_ zddhzWTn(x_tT?6*@46$mErTj+@kQHoH&?bL+o|;C7fr42^+r;@bZE>;8hPL7>L70l zq?f+t2EsEC9lFTX!In@g7VLb>l`K!@Ph(+TsRZFeND{GdHn`QuzPcT6_fbk}n4?$C z%XQ9KX&zm43a>`pc*Z-&+i(56lw8D~ns1GXgME-ac#MA3JA$l2<>21STU9xJk6#8; z&9(EtY7_`J%?a*hjPN0iBPVxHKP_)zTDFNpqOKW)wX0H(&uWjiXoWtVBIy~jja<`f zNLfOa=|f0VuTwSprahiCJXRWBwwZ-uiShXRgl`JzixTLy8kj9*(_2}E3EaJ9}|jW#`ZL>f3YD9TS?@1}im zr2>ucFR8&9bun`<%7gSEI=0RgV6P}0E@Xp&t*pg^I|Ipb-BI21gf05(wa?L9+G7^) znw%pQ$Zs=HX1da_hX@Yi7BYW?3s!^CE+IX|sa@wqCw4?yl%C#g4%~|qcQ2j3QjgN` zsA850cBO3M#!GA?T0E^dCJp(ygzTkA%pGb#O)ko2EzU7?J@;J=NuU?@DRA9eZg8M_ zB&AP7pJsMNDC*t&9ZX3_fi!s5c(JgszB+*q-J2TdzjVA3<~DyRRr0RTo?~NuQv>-m zIa_>T$yfJKb~ZIp}$6@t;FN8UiPT8En0y% z2%kllC-UOa!qV^zMLXh+_m)2@7~ISm-7`=;*8CXottUxXx((j!{kX|2020(Wt+1IQ zyytyza#|GtoAI0Nnn83W3t`y_F;2m*ySsK&p+A4>!W%!CJ{Gu9;`cVriMP#&mj1L7 z!?5U$2Uk1IRHgpbri{WCE*q$dlYR3qt1ojUTNRd^;(8gWkTEWAX3Iz#p}XU%@2Q>o z7(AP|_~HzBLpInQwC=eKjMhBi>lATJQ8)v1tD#^6ZGsDDTVRA&>XVW$^xTitZp~DV zHN8Da@7?HE#Ck<)V?$~bdG+Ce%jsi#+jUe$r`vmVTo*GSQYrQGIIOn1GrLXZgan=1 zb@$%RzCMGy2)h2@b9`k=7=;Wi`+?qt4HI+dlFiKQL1v;gnA_cN1ro0suYXb%n7y(7 zfg9#`iDW|vHf_UqLl2yIn}b)lI+Roi*TczAGkzQ@8ju42XDX5i5e zffK2>XtQch_Y&7{g9iq(odS#LN8pkFqIjIh?R!nHqm7$V@WQRZAHF1S2|L!rjw&u} zm!R>-r(7RcR4cL&S)bx%~VS}?hIaw_Tn^eN$q?dvGuJAG1{IwQW)+R#lgldyXY zoMLEye4TiC#Mt4YRRvDwgTtCmDjTfjVET3nzUI5Jy9Zm{YLLD@e zkQ~~MNq@8KonX<09NL?F`P_8uwIo!V*v0+gB!|tlaNhOy)U!MB=GR zR1C27jLWKAbw7B!Qk7r60iFRnK|FP9XHm+BUf1)VCVQEq+8s#n`YZARs4^us6w1!1 z;DdNn!?yF{rffm4UhSb5pXu!f8l6=D{kawL_cKLep{kkm%QLv_2y{mb~u)^zA zdbN=^=^ZZIPp@2Vx=^F(URXYgbT~1to(VDOQbZbsJ-P8zp#ZZj{KB)F`k@$9YOy-IG9MftuXkdgdMb!c)d z1!tT?rWIfS;s8_(bjDUe;Cy`u*Ag z5vFw|HKy=_wEIAqib;RWm&%79LY!+{m2+0i1$Y`VcT)`7wp%=OG5leiHq!=XVYPxOM@@>R|lZ5%)G6BJNYqI;SRbE1fwmqtBp zJ!U=eiS2CO&m&SDey;oVPJbzp;LPg0h0KW28F z=|HvyTUDrKi6tx19xKj>Z2e^O+Fpuye>#`{P3`Wvh3j}&3%M22dcF+!N>$jziMLP3 zzE%BDga;hagg3q8k%Zu-3&eqLBgSIoni$+7Y-zw)Bx!o6&Yje+B6BS&Aj+5Efng;= zo}HW^rA=vLffV7yG&gy5Y(KBG!H6&{WS@yEtk+RF{LAfh^;Xe=^vZ~Z) zKeNGHKi?sx+Yf&axVzOhx*?Ek=E~*GE7nQlRBirY3 zRA2Zo;=A_2hX(qMc0Zmesdrb>4L`$b7EWkQ+L3H0H{DUYeX8tiROq`)f=*c5g3+Dp zOcyI^N_qr4rji(0ZB>_PG5lNS&BGMcmbOSJO)*0~W`;zo7B~`IdmTBi*?Q^ALwMNY zUa8R~TS1csUt2x8y|tJ+@X+Ke$-(hQEZ2!3>O(Vqj(de`ZpK)&5!!OSMtg7WrgUhs zW0n)}4lm*9R|Wf^9lg!M28M(d|6^V3l%n`n*^>?Lau>zG!Hj|rukTe=*;&Q!e9?ln zNOT_?vE^AY&g=c~PC}wC|3vl17Hxu^B3sk5cgusa8?t%Fmk$Jpj7UflLyHr*Xds2v0c`oEgg_*GJ30L?VPSl zyFc2o5x`!b)w=+mry+njh~tLn_n4Pl#Uw8;V6xmM>(e8#2F2{Ex~r)!7X0|4J!*i` zy_Abz7Vr>@nOFk!831lvm0*T@RJq4JTI`pTWmPVJY#+HB^U=ER>nu;2w6>nAwubmn zxdKU&!x3zI1eLWS4jz%5W@txJ!i}H4#44bkF{jkoJCkt6kbFaiKc`>woLJT50Sf45 zpY-@4aAAwj*h!Vij#XXS=+QB0&ka}DiPzIyUv=QRP5gX10TY_nP|_vFH#L;6S-sGs zff5Y(NQ^+~izgPyjKMvZcc%+`eoEf7bgBP7KUJDyZ87NTllfCZ`^GAF4m27HR8U3s z!Dz9=Fi0K6jLyL$bafZB>a&X?$vg1p8+SdUcqZy6Ur=+feBt?kPHUvR_|{bj?=Cp= z!UebOR>Ud6zOsB6!I`^F7>; zXTZaLOvxEw+iC?)|LVt&@3kJgOm`fE+0PJcEuj1@#(Tc}o(v3naXgA3Eey43o< zJXD=HS3Wd#uD+;AH;sd-t{39MY+bRWB@1w;d{r((TQT?opJPo5y5zIyU{l?^J!#NI zNdg`(T#EEI@VIAW4V(qdpVR_bLL`K<)TSSZC|nZav%JS!aHsWpmq~f z*+cS{s~)1lyOv^dzi{dO7~^hxk@;*-catifNO!N@G`wQR!uP$(1cc!Ad zjTbc-8@&Tp@-6CaFp_?gn9*40y!TV##z!rV+p1T<%SnCsW&6yk>(y(!SfV~^@QCaJ z=3eEdaNE%Zm{rTQljhI*&t`kKh<5AEarak`Cw~yx3@xO1DeE6Y!ax69p!WKavkSkl zY?U{g-BMI*y*`t8_^^wlo?)==QFZ?f=i6RFRm^cwu*-Vq^ z6RZ2wdHu^gVTXS5M>M9e#q8iLb6AabG+8hFt$~I~0&9UROU#3n*|3I{+>_(edZgzZ z!9gKvA{M2;=#}w&PV3o1hsxL>pjY+9$c#kSPCKnoQr?N5!0(xLQtt80LJzpui87>^ zLUtlhY2QZOXId-zyk#m|3M^&Ip5=IzQ5(MQ)M5I3@8I#a5&jKhPZ5Gqn>y`6RF~Ol zVT@G<4f3f%8QB8hryI_#sdoKY&QE7^Fkf2Btk)m`Y zD$={OAc4?(M?gV{G${h1_udr|DbiaAMX3pB2$0}BzjMyF<~!fatU2$jS@X}le`IAn zYr$qen_cdG-Pd*9pD*wG(Cb|j)KGqb&;SrmLl#&J{xc~8&?Uto=o=DRc>O4*QF68C zzZU4JTbf#u=*o`oDYJ!tU@QNAQ^Hp2obzIJm0X>XNIj*_O}y98HTmZb*}+?VXLo!o zDr-I9y@F|&B^40 zz88Ayg(l0357>^`eefOtFwi;nLhJs5Vh%$1TzAW0`VSjhTHB|qHNpnISXmFZ-ZM-$ zZnmdYHDci6vBMhf0{{>u8-W(5zsA*xJ?_CPo>imPokT-*0$qgT$Jr#_y?im&I^|(> z72QrzbEy$fu_5M5*JI)#&wy7as!fZl^S2X{g7KX^=dg6~c`l$+dg)OE+BygZWFD)Fg-Ghb%YurFP2$gDRhA`x{F@*CLJY z0v)o&Jz)_}Ryz38Xlfi~%2f#hd4V{~(Vm2>G5f}AuF4JnT-NMk`ti+dfpuD?D=rFY z9dGG7vsgYffp|rgcu=t&lvoLjOf14R&wA}34ii1q;rHCHTSIRB zjHAVc$xkh@u;H5^R8V&lT~|6*{*IVhB~Xh%R&zq!zDc%z(`7;LDR?YEroQsfn+(eQU00*XJa z@9J!DRUGvIlD%t8wI82uGx8yHQZ`YCjeY3Urb6cYp#)C#g4TWw#Y2d|lqPh^FE}R^ z!}Ru0QhKHm9w*${tPitl(r>N{zk8v6zyj`&Xa-)jkZAX#!+w37{^ARS`NVeBX35%S z=Vo7sGfG-lpI&ohn|Z4)pNWv-V(>KiOkkDBjzX_=eR-`2q4+*Kx^b11P#RBs|M`t!^PgeD|=V_}?1j>wi%c!A? z#hvbOyZpY?ng8+8T6p}m;(tAdF!irdFT3c z);-9f`Ap{NJTS8_wWRrWQ(9f}*ONa-J}m5`zKC@FHnyXL{y6J7t~oMZ(ei9Z&%b%K z;5d5^u@;Go8498wZHa6O5sLf6OU{6L`&JjhDk{Nz;))ONzWon;m*w46f^pYK+tTEW z)Cd?zx(z0Q%zqx#SN^gUoUCpfd$pq~L4WOQy}|W`*o5f}VvGq)VD{==109BvmBZgk zFsnDuBOV_tk|3Io;&CaFNWl(zT$(%uc3_-yB~O&PsfFySQ^519rWBj}i6@Wy?ZSie zJL665l#cH%gYVw!xS{nZw~Y=flL8fLU=ClPI++h%r=Nzrs2jIkackLp@t9D1s`ILJ z7?om0-Rn*swAY2B+yU2GI-)!kY+lt~Ct47TTA@Q@hL3T`K?HB(CdQ!3^=!J=^od7+ zKiZhXtD-2B>QdMo9j@MOaX#cAzYY;YWZ(8#I++XEO0EYUSf>9#c!}n?Tw7bYg_-WE zhn%L`+W{V&tU7cRN}y-g1Vd5t;Q3KBS2;GQN59bZ^_%SGle*wSC(VQAMt^}}8bBJg zNJtTWeT=Bj-rFo83Qf*h&&&WS9NXczk6>A=BEM+%zo3F{oUef2S#qiPmu1MRDFONC zBqQ}@deOy%HRhi#0axZ8>^&F+bBDB9d`|+xGLVz_T$}qVym&P(%`)Zu$BE+}bo~S; z)0+@{1D#-q-Yu`Jd;K=~Y9a}g0c@uJ9n2SW)Q)^EwzSh^LNC9s4(PzOzt;er8}k6L zA&7^VyUb8iWM10XGt889JpfgHh+pqR*}wfl?}+%aof~dDteB^?cSxwV`~4{X8mdx# z?;ipNq3D86q-5vy_+AVqNmZvI=j_0I60b?&E}7J9(qtE9q}M}{uVS8Y(Tk*pi(r`N z#rqei2Un>qcd8uAT}-q*E9b;ew1MMa6I8hF0h}O|-!m}MIqk|Z720EsPy7T5sd`vFDQOjgo4gh+)w_~cqmK%kqW8^#_CX=SbK%<9xd!(Q5&V$v=% zRI0Mv<=kyB_PVz7+V)+Q^9kRhdS^yb(gM#`__}=7b(TNoI+PYdYl-GbPLO)>JsdjN z1HuY4Hxy=9uCcCLnqn9#_eez!AMndo!B*yIauY3^p0Euo_Eq{2dS!y*1kiKd_?UE1vIjQf23WBP;;z7rU0>rC; zz)W7mFgBlklBkDwi_N*1l!%EHYUiD<+wP+IWJ^tO#2%va-n0euk25;2@He$QoBW7$ z<*dofE=V2v(8{~kWZ?hXh+1O(kQ^qlPL)lH!&FiA52%E!t*;t2#qS9B7g1(fTvBBn zd$mGG5X8Eo2e0p1dJO^#uuw zQ3R~=!3U(zn4hn)m#q9D^H25blhtxE?9NRKO}W194o&S*;^A7qVH=bd!CHYRzz4vw zJIt11=J9|n6P7BbXeTY*uB~ZmE!pXKcGN330Qlu*yNBlZidKUGW>MOb@As1x*31}*M5~|d~nu9YwI%I^|*VNFJn1Py+DGY z)iV81x-M>lj8!`h9MJ(T`f1g8)@EaC;f%*O-xf<2^Gml#dm5n6IdAPtCX@}|@&4|1W{!x*A@i9rFO z=waiG++tdsJ4!@9R!k@f=+edICZ`X~tN_a6fSlj$w<>?W^aU>*mw;z z-`VXb4CNK`9_81%5u-zCY4MT;CLA%%hixC955Rj&%X9zm4B;ktxR&#@*E^fF_^YLl zZtlMbN>@e&6oy`RUhn`2c>N{6xN0rt7q97l2;;g|WISQY@z2nB8(>q=ny}^zc0ATL z7H+&n+uism&mI34Bqt5Lhw~9}c@g$)4-^0U#{Z#C(ElpEhWYQmXyeyKN9yvm^nf#? zs{%RdETEss)8=djQw=d(5We%7j%*AvY;|3{56KF%T7W1Vx%x;|oG7xeNSEw$4kdg!#*YOk)@L()+EqVFZ1 zZ{7=rT!o)7KFWiO)ztqwg%HHoxUwr?Q)oyM7yj#5;qIB_pryt0wCre|$NdsaG|CLj zB_SD*{Z2F)wgna?g;=lgTtYa&S1gd=UErEE&P4dON9^7=FASLg@Z_v_xCniBpL-U2 zL`!=ikvC|QU);sOjeraQ1PV@HhulR)!XI4#SY)J>@8@r=+oasRAm+SnM}GgmAltXw zN?RQZpIE~(A_b?LF52_8>=Q<>{+bF%1Rio!@=Gz0_>0@FqeHn?vwzCNE6SD*_WKI2 zp-pu_43y+GoM(&Y$|2vZpuPK2ex2@iojChFSkCj~D;0_s&mm|0e?i=Lhacl#k={3S zM=V(FzFrs(S|6Rm$@OpPKk=yPL;O~}kd8?1HlD40v#Eycs;Wc+`v}F!kz~R=qTz*n zE)lX8#bM@9U+KI8o|N%hwtenySK4#QANTlp_!VG=|>pTzcTd7NW#)|9U{u zApmCHodL>i+CxoSz8VLwr(I+1d+#U033MOY2qjkoP#>lX4njcR?5$Jt)WtZD?3R}I z@9a&2_8k^~U+OXhM8^CoqxOJmxSJd;YyRi`(8nuos0)4U9Ty-l2P}I2+cAmCgSg7@ z18zIBd!+SMZW#M(R|T)WS_8fqSKk~MChJ)-_>XtJg7*;#(<6Uu9)$o%@sS9YF0eIW z79e!qu{|GpwIEpwOBS@%yP}vIaIHndqL5a}2`grt`UsulOt<}ulJhtph0}RT5XGLO zi4g85t}9}*jjGH{OE%8Mfrf#v1n4uiBrQxtm)3;)1+ESHBY4!M0h%w>Zz&1enM%Os z#_Wf?+}p`jC;P0u8gusz#v97tVXn@HN@9GvjFMSmCMP zgq8L6ql2Jq-52qk!g7f)-r@`_ulQQ^1VR3D=#_D5z@u zl>JdtN8^m|&|q~DMN@^4u1`A|_DRHh0d&lY@fuR7>oy?Q0WOo<1x{|0gguOSLmV+;HU>iN@ z7&>Md9@P=}bg3s<=L@aSGOh?S9H~zGi_d+fmU5=P!nHoZUFN}*9sA1a1MiCpwZw`I z4^Ji{VdJPZBl2q|`0trVW zxm{+|JZjI@Fn?5{D`}%RPg6b+UqJ!Gokr?mK~7%-yTP-e`hY@4#Rrpxu5k)?okj8= zr?Xv4{mkS4=Xo!$=&wUi$kYWt?jmCSmwN}K!rAr)*0dvA@j{?G?%8yFamb6enYj#N z=qK-=rKOTzml}``me&e&?C(zK;vghpD~8trgxk6Bsg*&1_$NEV#fE*DcC!_$18U(Ynh4I z&|L0$rUXgyU1dSIB=PrkskRdw*N`;3ArPEUHs5HOW|4+i{D{hdX^x2(Pee~IFGjTm zup-}ym+1Y+IxB>QP`>swU?}HK9v%sa7TOYg{IDzbZjiILOVo<^J>Adb5&5l*(G1j4 z^B2n@;2HQ0HFq>3#`gNGoT^gC@}r~43BHwK5B-9)_mU}m=;Fnrid22SUI%XVy~3_Q zT=Txf8km|WIC-ITuYRXX;KxRzZVn5Z7PmpO&!@B$$#4Nb3Rc@!$flI2{l+97LPoE; z7;v+Wf@{6XY76N`ycDT>w>h4*NAIb-0hYbRdn14o#72L!6>kqX`99Y&{vqw*_ItE_ zREhD&0Ly1FuVjYgiU%J~>;^+DL&l->>ii+oU2NIIP;NE*a#sYahex&5&ZLxH)s;zx zS9SMmtg01cvI@d(n5P$I%1yF6?ksa2gZq~u!>jeHeNY}7xbZA=qVG5@JxNo)g-tFe z;+MkrcP8}FX{-->M0%I{w}$pV(EVN(UC+w=L==j_h?)5eml_l)G)U!o=8IS`oGYmY ztl3rHUP)m1eI{|7fd4?~EFom9#q@S3a*cZzIh|bGnm}za8NL&&81y}&W@T@uYZZ1> z|MSZX+JuTO_|Xu7fsn&8`h<9K6u&&5qg*8ema7 zPe7H4_M{TE>sZ4&>9!2aD+=5XyYb+IkR4mm zCPex`_HZr+W0-Prm8d*bN%SjrX@0E9xG}b_Ukjc)c`H*Sp|EMSJ!QFB?p4%y zYZ)p*9f1SX;?ta@0 zD<0Ru&K$cJ?{t=5|)FQWJzswMfsA|bS{JBY8*7Q$g^<>>7{V7cXdGRQQ82lP` zdtOS-x(r4=uz(0fNwY1h>D?);ddmjMs+WzC6p>0nX3R0JN^!kt#gjNsap#5?-vKf^ zH7)>M8bjnplWY(5TBkX;gYHBNx+rtq#yc_b`v|`nzM}KUI}6&TCQ-ReNa)WAX+@MQ zIc0O#RHEzy8Vo(gh-~g+9)eh4R6Hl3w}>XBGJt^bY2CEBZ%p&ZZ44t*Vvq?#Gh&oBO61K(Bu3&5N0^_8p&r}sJ5W6sZ37aTTVf% z?*1#ijPs@Ir=Z=VZLb^B;``7w;M@&w+a5|{e$?HW&@W5lXK*D=WV*71tLa zUjJQt`yU$Ie}Dg9j0YUB0Hzf0?5H87s~P(}SIe4`T6s%8G|1y{B<oZ_RcI1A?@GIKa=Fl%!oOMwZdTc?9i~Sy=5~WxWs{ z#bykyaLfS8=dX*ofO)fR=snM>S=Idc-hrrl>E?puoKlT=0(ZY_)r}Kif;Aa5Cq>N^ zpwEM%xy`U&KVNS+r|iv9vi6$$8X9_6U_F8C3@VT|$~VeRtpoaWeMI=TaPssSVG4~J zM1@0uWQ5&c5Is>ha>Xfxs$ptIpWpQ}<+lRSM+c*qh;!+VujY*Im0j#y7X|krnwcUH z>tp2oU^aCjSSfnIRw_@bAxYD^_Nel}@y+_RcfDUORm_y9D zHu36g2#w4>O-@S#)~nI=okI(meNy*z?OpRo}-FTM?$Rcl=MiW!s!at;1NQZ<@K$VF8q>pM~titwv z?C&;*qV-iSLgriNHm(Gk*6utOwxc&Ai)?GerHqKsd$l$x;j4{?(Or_Tb|Zo_3g%;m zrB3=y(3+U|Gk2fe#+vPJ&V1NFS+P$KCM}hgGW0Afo?thCY?hArNW6

`S2`LI4^M z+!~!w?}mSETK5&jSLVt{?*Exeh@UQ{npBAD}_2^W$WqUs^Oi zWjBx5JHbak+;e!CH!`OriZqhFU5gdRoP;8rkn~VOH+p;FqW9wtyK`N_2xCXS?~P<# zn3Vzb_b zKBalnwofemsS=yrN#Hv9?!85976#MYYsldW(5tW}gXJ!KQOkQ%S8F-kx?S|&TD)24 z$)^7v))@C~O^kY1i*tymf{SV%kcqkA!|lHhc_Jh_CHaTrQ9IWG=bP(i9)lr1M3e8o zWdMR(lSexif!U6&Za`A}%;79q2`d^7SqN^by3zw}7!$p&DXM+`UD$o@VL0g7{ZP__ z!fr*xOZs7K_wZj(0+dRPd_4%oMU=%(D{ym}EG-8&IM1GtpEP;fym|_QC(S(;qFL=s z$%Gm9&@vfq2%vAEB(q?i zj+Z!UwxS^vdVYL;lT5y)GnU9COTX1gBGWm*DKa*|FiY z=q&^G-}aC);Uk(27Mcxn%;E6re8d2fw%UHymonP|`zhVbtNmjmHNoRjazsO@`yG5b z*{NDT^|+hz4@F%H`JB*Y`}|S)bmMO<142cq@{~@yUDkcC2-bgoqcwkI9hbrxp0Nl zu0t(Vy1b=(^O0fpx1Vtv#K=p5!n4b^?4>#o^pub9%EuVGL)2}_z%YM-r$liwu9unM$u5E$&LN^Xv4_kjd`Bsx=?#KOk z^+#)cLmM$rU=cVW;~-os`UWm1dn(GxPt~Vx^@hGu`xfv(hk9F# zeB@HQVJNho8VJ>w2CH{RrBl#Po>{$WcW5Igxc4*VB}TdnHnV7)?s+(?J;w9+6~H8)D|MKLKdyZm zA4{3#8^WFd6NK((maX7-DYJ3IDGaM7o3AOjTp>II`hkvYJH&=PO#0lnT>M$8KS4@z8ZYL9W{K|&)z4}b+tfMer2P30; z$~&*aBA{Y$Q&KLF&S>|f*a7pa3+?P;kB(L*4ka6_=m?98w<%ZoDqSv&&D|IQi#jo~ zZxV;W*1D5__GNdqX7(?4*K{To=CAm&X-T@>{PGjXOYOOCeuBE7s#oG@1k(gKS>DcepqLJKxfcOV+Wd1`i z4PO6T*cAShYHMZ1Io1NxmUmzxnb9Np2p~N>NBKe;wn|EN!Gh}Ku*Vwt%5YQHb&-%= zAt4Ljk!ksF#8;m#qj*JC^|m>G2c(3M6U7JxfPl~wcHUp>s@VN3SWa#7E2uHxm@ZQ1 z2?Kb`60}m9`P>3v{Xra1;j0vf2aN!XBWM6I>d@rKmNk(7x?(Jn=yI(3#zbSp#*tjP zrw~&MaDu5t;=0|LQ)U@LzhtclXt}-O+ZOXgl1Qg?O8cZH)w-+XLM+$r9BcIrZwsYY zAn71(9CxEGR%Vl_A2zt@5nWv|k+q8<{RnE5qo*{zDHdMWdR~^`_Rir>=pR(;Wx{pr z7eR?3J~1nWMH#T+oo~(H1!>6SRx3|tb6{@KlIndUrXI7V0&IH^UvvLR2!~6KoOwP+ z_&0i*JqO1$vz2+%=SF)&1{0AcsCJmJ!v50K7QGPdxp&>l#per^^sjLfg|%LGr(wpy z9s}X3WZ!}%M!VhW{i;Joa@5PwyA8oAE5Te_M@|^->-dLc-HsxeFP-KhddaD)f<4hP z;oS^GR_p}^?GRR2NU%B_XPaBnlbZIBhRj@YbaVqhToclfhoZN8x}%WvYPTy0ioGg) z3r;ypb^3wMa#K$SCG>gXdaYwJHeVW*yk?zAe{Q!v9=}3C$XEwQG@Ew=iW(=1S*T1eDi%)z94MK-&uDqgs40>o>h&4QXB9PkJ3&MPu`onm8pc`vM{|QO`C7bnU z2)#ni()Xl^(?fqDrKd5YTa-@YCSJt|vf&2U6yA(LkE1$y`a{heZE@&H)RFHT-2B|q zVwqzN_$$k~)ul+#49E^QLX*%nx8~sT1WoMXT0o3P10wp2WlBoyYT$r_-hsHEfJeG^ zpg>q(wb$)XD(5B%aJH?~j2|kp&2x}>ZnnQ-Vih(#z~v3I*HGntIQz|m#je<^BJd%i zV=su01$&>;&UbC^mQfCf?qVk$kexa#ap+!ZeY2ih}J-|BCD1_!pM-@ z!X&h?{+W0|SwT}S)!p{b4|9uQy(7t2GVvRB-jsT(;iNzJ-%hGiliKB(Sz-NJ*qFV| zHD}R_RYF=BdLYqEuC7+dH%Y|kYnj;GMyQ^}6375nx=)RUEMT;;$QZynyJ@z!`z66J zz_Y^YW2ook{)?n^#aQ~NYtI)rMr4_$4->(YLC9!Z>P|w8BhKp3;28e6biN7c37dL& z-|U;^J2t@!Be8b-CXZfGrS-NXA1#3LQ@Bb9uxYj)Q+?8$HM7P2ZT|VY2f8slO7>!2 zKKD{B0OBb$_V+js+>-RR!@ThG)~~Z~1%ZJcE47BM^wq)GzzQtk5Q7{-B_LVVM6k01 zXNLVrGCe28bB5km^K+s<`I?7Zb=sETiMg>z+tZ6t%Q*`$Brsz?={I5BOS0lex%*GA zW@s`7_=z+C2;9u8qYU9Ypf@eXeW9Rg{dLG*9+rN+JC1)4C>l~{vvW*oc_7@<(%}4q ziaJL){pL1^aloU8TnS|C%cXvolr5M8U2x_fKw`5wQ$2s&cV=7B#|PDlRived-X>2f zr2y%0{x;u3*gJ#w!q5`FarYlP&wkxa=K1Wc{3`gB-dK=g1mJ9ZjS%FHnukgBPdIa3 zi0iITUyjy`^bs>|cyKBEvYKcOY0f4iBV)`jpBXC?1*b&w%Upsz8s1Y8Lh|=hcE1yA zXPti+eQNoBqgGkcfJr0mlm}OGNMv{H!Ov=r#Tx{R+I!s9tXR6F{#G9ENaSEr8s4j2 zH=`qq#u&U54xYk~MC+7N#N&UE@-J9q`h%DwT|e0My|(XZZ>~Exo&Buzu9R`>w9A`> zsejfgfZsp}i$$SG;;s@1k0EHvvk~ zAhcdFQSGiwTw@C5Ky$M!ufw_g*jS}W`zw7dhO!9pbkn=y)lLr|p7x_5aYRetK%HO3 zhhZglr(mnP*anrE%z|C^o9Wgg25(vtKWA*YpFZf)6&Ye$ZaIM8#;NwSdG1kDm3mh$ zM8@>V{>oLGX7Y^sWS!tuy!}=78Cl{QP>c=V9NEE*HY6kXFZS6oO@5g44bqYjY@ltV z!eoiJ-)7Hp5UbrtckQo&*mciW58HI&7*SzWb{*Y%=@0e2H-+;o1qQiuHwV0ispL&M z&8c$&?$u&F2NTA`4M{OwAn5Lh*pyTwNyxfH)XRyDekj$BTGlOO6cxshSsgL zci|U}plmwMT*+xFBOcX4P8)F_=<^ouWsmGJ1~vW#^&le8N+UWHf#bsXI~S(^g0(ID z_+dlf0bT!{8gKU7fw?6h)k}3;X5(KOz4AFoDF{bHO4t{OAR(X^clVR^=ys27;AS+f zPbyAREQv2Q&_?F-&~gjMLHKYSq1~`60-sNM3sC)8)?Lrt!4}r({Z#{2j$h~Q^e3ih zJ{3=L+rL8UybxUaOea@Mcx+_<>O)=X@ipN;Kljul&vMQ_SrGizmV<`!!GxGk&KHPS zHRa20Jz+ z2u3(7_E@_MdlKn8SU1%uQGO^b;(R6VW&W;^D_HqGy7o&%^LILFS|QDIDO;-@2q5wZ z8;tzy_4t1BRo2u2-FV|SVM{lKQ;cn|p9}GKTI0bf+Sng`fN)SMztfYgd}-pT-ksi9 z*<_#NBD?P?R%a>b(jI6On7Yxx(VXB}ki_PW7(KTdRy$-5)QYE!*LkTy-*gE?<)yS< zfOXs>VH42X$&H3_LUhSNzg?nx&sVY`cDHWG7%Jex+}?7gE<8 z6C&q|yyW`{MMm_PBFYy#(|dEyApiZUf5q#_$l_vS2O-ejbv;ZcG ze~2AC$XK5Pq?wBlu$4<&$!2GQRi7L0JMo0iqr^`NvLH|vi0Nj?0j_kgcLj zTKPaKk%{Kz^+c9=F+e^UxP`n~3C}(EfsOX0oJ+Wldn4Ro`NG!nlaa3^NQIsaIyXAR z*i&OGH&W0P0ljBHx}TU1#L+;hAh6+I(4;SlX|nqTcs@o)acj2MxEr5nNPgNJ@QP=fX={gS^OFi@ienZt+)W60*eJUn3XG*m1G` z?nJ;0f{#L07=Tg|vd4cx4_;Op&Z`cn2t{DPDYim0hif&{QXTFUF0xu`pLn^l8P8k0 zUZ`s}Z2T5*)d_xUddMejgT>RzXSSHvFZe-}KXcU-Tt> zd#E7_)RnLk{8J#%Q61FBc=8jpSB+;hjE+z1`?o20pvod?Y$hNOw}}_%=dC9_r>c1P zEPyGGYLH6&#@TJlu#Xy1J7DK_lSP9_TpO=xDjS(*t1d+{qt8Op_7L-Y_S&D60mB#s zt8Ypya6^*J`mry!Z#)02^;}@`MzQ~K!O}r)G-vF5MC?&J^H0U75Ei&R)}T99vg7uL zUPssUcUJBXma?;G=ch)WZ|Z)HjZ%k7UHYiBXnUvlVqmpiC}Ew3sN=X+X1m1;C#>ge zZMpsvs5YmY#U}m*(V7%};Nh?_bIiS%cui_NNr5;Va;{vT+V}L^$OPD&GU>BMLneyi zq4P>-vnw~g?C|P7d(Ar8!W;*tS0lsu^vCoeSmm4=lWywP6?@n!B;Ti?PS%}&%5zEE zH2SVER=28~8m6Ox<&KtHrG{B8SNY~$Wd&^NM8BBG|5P0Lx-GPE=3DMowBi0>g|>UG z;PsRA4-OINW3`um%v2)F(+(SB&-iLFl)(MXlNmJ1vv3U4H_{Oe|57*712&=^IYE_y zf$ifZAqqTbK6SkQw&8Fuv*Xx)eRS-0pe?{#mpDuha9dtfTF*K`uSPU73;tSVmjSeO zw+C`ei?bAFL)?l+o8PAY+Kgds(o?HTSLF-fOi72lSk~8@EGE>V8C{&#a8cQb^7>VJ zSNaSjO)`(FL2m5q?!hf10?pbK$E!3AhRj5B!jE(P!9rPswQe?@(qC+2EMIT0&?}3y z!QMXC({Yr%t1QVQzzWrYn~<`*sNpYXig4f*qFi=crPF0aqwzbHD8Ap83{1ILCCWOD zH5Q5K4(2ro4O{{H0~M*pSTb1b%oTXFmLO)IZ29hOmcRI?TVf}2Hj*I^;2ibsqz`_F zMrB$Q+$m_r~HI@cLIr3b`)tJgOMnDvRw>gK7AY^~t4`L@Po$7KKK|76z}9 zHS8PhxZFMJT4n65ZPd`+805RZ6Rb)0J)WeDZSG5nS)s$3#}Yl!!6K4=-CQH-I{}yU zY?jpQV^sy`*|Wt?UE1SDUxw+SAyHuF4(9a~HrRMy+dT_cb?Hp;AJP=*tu1NvHSWoK zX-9j8Srt6*->2R@jk22nxLx6Z;^^N-MxoI3NZWy0}uv z7AH%I$gsYN5{q(pcQ2#gCvokEOkBPgHU_YwEzJkD;^5eYgmH@C^daYwC;Ic%hmm&P zXv=9e*K}EnYa5{ij}pbuB};YlrjTe%4=*$b!S$kuUjn zA^UHKe9}uVwg0o>)|>YLiHm&U7M#w2C%tC1OSYBKgst<(78{GWq`tz-x@F0A>7zHo zuKffHJZ>Z3f-G1+ne;ncSjGEckx^U82rg%pOcH4=f%!_)o99qDgXT=ja3!1k3fOi& zbuajc1GsZHgU{SrQS~7VA)`oggyVVcB0%-&;xmx`3oehw!Uu950}4QO{oj=FT7pI7Di%u;0zgghan z2R#MjO-X4T(DktP-Ztjg-$6;w>avo>zUJE;t$~+^W0q+8J?N)H5s$hgi8=&c^gckI z$2J_uk?ze7SY0224y~d60fv{#UrC;fSNvoh= zCgMfIIo+?R`XwEFNCExBZ`;(Vg9+r}G{WX7a5++Zw*w+FIR z^S2j|2yuBukibxp=&d2w-*)SsgDLap+5|o3qzf?@6@aB0+IZJZSXM)xKB!y%P0!`# z`)|J7?FW@T2y0opE;{)e5pzNNU5yvqU&XK4(1;!IA9s@5hzj}oES2Twh&GS!EFo^Ho1Be-zM(8te*f^Ay_6Ygv)e7D!8d_hAZkuKn# zT9}^{J+RQR#$^Y@7oY8zV>_rBQPIUMhF9fb2NC+NLfA`VQE9ckbpDua&^Yds@nnb2 zISfuQp(ZHj1JFpa7XHjMd`FKp<;mCRroSrMThR63lUw#?9#?Kg*>LtOyHoJ$$I<8T0PrxOx8?W!T<*zo{ z$ki<^J!H=`%L)jfqy6^%-u8RP9BJxr(7NCba-dpOsq}!$RRqhg5h(bUY4i)KV6qno zzSG106+yyq@VPtO7oc>8Tw8!E&-y7&qJ;IU_*P9ap43>s5>?njzlmxxDMQmP8H#Qw zku0n)@xsuwk4nQ+r+%07+S6`%;W;bcUews5R6u z+D?2B!Z=*9>>OIvIH@n+`1Qf?mHRa+w``6Z#UCK)dKsu*nX;yx;!{Apf!*K}>^!D!^>e_C_hh+zcVbXd&#&|6qyUQiqUN!M1! z+Rcggs4D*T z8lN3d=<1&a{dIy<*Dc5DNG8lllP9*YIrr{OvbCp2hj^J zzAQEsRdn%kzEOHsNe1HEP`?>6+I>k~?djceK50t?-@M!T*bLfu@|z)4?rHny`83i3}YS>;I0AwQr`HIiAH0U`!6glviLDK zEP1k2r;)8W$DZ@YYt4O#MS3H^`vs`RX&b1fg$XinI5u#lxgTkN(P&jrO@fQYJhPg2{*qEt-@$9o# zCgcwjR;lF-{D?Y$NN}axlPRp+;Ku0YpjTZ7z6;jZrZEB%4NKSNC=(cuCmIBv2N3WW z^mvpX`$wSudDTKvz>{PsAcPO3Ws=;t7S8oklEg&xM_iyFfrNmy?S3#V{7xI-M4G~E z{VRmCD?G?~uj)kmO7brTAI~%k-ETX((olq9ZWvSn(2uqN8FQI4apbAl55%c-!iPIx zd^~U>%AgVR!!}bPqE3@5aFvFJrrMUq$#tfg?~-YQYe%Q_tu8#^ zUzQ!qcu>a|6(4@4P=~Egh)zW=$9~SVjIR;(5>10DT+D*WQF5!%uOG!=n3MRL2cc}R zX#BV#)-37vAcujskBaEihav&4>8aUT?`p`Es1KiAjKR8lSGa(iFjiZPI7w9}r> z7;R~6(ZIF+0Vu^RbTz#uWE3onFvq^}xf8rM;nw}Z!2`$~e{}HABOLa{C z#nPGo{E4*8rw^1EDsSH1U~vXSVsE;{E{0d>h(SJA%S(pEqy2bgE%)w`^5*`6*n6~B z&(}T%ZFOk^MSrj3bRNDNkNzVFv1$Sb_%v1y? zsLBJ3<7O$59A|gIbBy^5dRKqJN~k3rHZ1@T+S|XY&-)=YrGtWxUaE^t`;xfkNc+{Z zkC_XFpFmEq=DP-*qfCPRr2zo|-Vo|Ng_gV=5P*Oj>7MGNoA-jTs2=lMJ2}O#V7bOA zl(qz!`H2{u7|8uEsB09{B(XF2zk3On6n4Jmaq-QTlDAvwfA-5bMe5o-z{9Z46Vc)@ z0?L;C`}6;!F`!odh#2Xu1bo%HFG5|5s(l{*1*Jt;{slE7NT69AgYf^b^8^38*4e)y zgZ~xC;Q!=j{-w?P-?h&Ep{)J;^RJJ=zckJMpVT_L(fDICFHt*a9@CtN;7DXe+z!*= za;m<8S(gdle_NST?51&EmDRUq4*cXYM2={v1)9?Oq60KM|{`+3lbjt3mPy6PFvBBF-h=-t^VEh;1&{HbUi_6Jo+&aNpUXcH}b)Emx z?3ccuK;a?k|GA&n{^w?uE&lI&ts_BS)K%C5CRhmpSmB54i@N|JEw<>tw7dD-H(=VF z{J*>l;y;guK&5o@S^OH}Kfg-Ke`)pKBlPbP`u80Ae}9!(Ui{~^``=et9x}N@B&1jB zkHy_P6p_Qo^F6wqw8{Hy+P#^r6awMu4LLkJ|F(M8_zwpA|CitY3S0hPEVYyKwd_9x z_Z&O_TYKLb)l|E!i}c<>ih^_y5kY#3fHV;S3rI5`(nLy>8YCtN(wm@wf)WG->C&Z0 z=vBJXOA19HNCFxHfq2(<&)$2S{p0L0zWZbEG4A0y6$F!k)4&P$LBv%@@1$Owb%xBUFdD{ysn$*wVH1b9qo=q8GbhiA^+YOJZL zv&qaPb{5o}u|2p|DqkY>5C6*l9Cz--tML5qA_*^0H8E)M?cQ>Ps^YV(_8o6uf0!sj zHtT%AA9vjw0)Hf@U)<0M5%_lV##KA5Pog~mR*%$_d7KcQ8?9T;YYOdD`5e?_)uzik zS8`MrNlda@BQ&B+VUfSAs~cCK@QWIpiqZEZd7p>rRwBvS-#;$QwC76gd4Q`Bh`~2i zrF3=q31>|Kd^pYV>)#iHz-+I>B$3ghmftkr7@Kw0)kgP))RB}>K=6+vC}`%)-)NpE ze*ZNgO3u)p?18Z$woj%8p10r>FdT?**( z_}hz%3t<74tG&z&4VNport?eGpi;eU!sKL(zH*-!M=Nz~T>a%`QkIx=T3A~8CBO7i zouA(ZIiPY|)xT+E3y7N34xr%tW@&~8z%#N1gdu7N58|8EwK-?AFE4COB%=9kFP$2V zgZTjH@j4dlr$=2TKF@k30C&;qXR?~UyTYMvQd-~BTuud;srj6{dioTj-Hm6!*_xS+ z4*^AG13W?`fKn6nYpV?LE#xbyv2S@E+=ZyAe1&%5b0!QgeUklD_^wmGj@T{5T`Iu@ z)s|Ct&Trb=64>qAlA#!RgK807^yD|?-h7)HqoELQ5>)#3vLO zziaAT6@f$tTirVES5e%St{`DjABJ@h6WSAB)-!1^fYmQ>vYdLe9gig3LOf~X{5V+w zJ6X6)?%7uI`>~dOGG$8i;e(dXoTE)i#7Mnvwt9(?g(3=Y;Xu4i7rprz?hKDAS!ya#=B z#me8Z=?@pp(Kv=kEu5>~^R3QUFZt5azLmQVR5Awp0)I6m>?;BWBh_#b>X#|UBm<#H zoauC3u*3PEL&HUee6P=q>zuAJYgv^$@d6hRG3bi{OK5VvWgMSoVYIq!l9dZNc}<8_vrE z51PYUx7qsb0szd5@Rx=Ot!sh3ARCbP=sXT%hM%tNK@XMbBKe_j3V4S-+==;)QUQ@z zFFCi5x*4>!e)})w&pLdpcBbSe9FmS+qtN*PHi&8fZ4-~3KJb{1YBdf^^FF;&Jp>6n z^P479<#UVqi`{w$M*JVVGdB*n1EW%`WMh;B2q^q7N&pms8|``Hg^s19eTV#f7!ZCH3nm*{CI3085Mep*=UbSfRo=y3YJHKf z!Ib`jiK#@GUz5vMfR=+I%Y!>p=R|uH(ZY3`NM>?+u#yiXTspuo#6B}cILll0$@A*8 z0H#5UeukIM6jA~i(G8dg#`N z;bIkfaU}r_lRZoWGz^iT?9&b}PX*gRnH1TOUOtZ0XiOR7SD4xRd2c)OTaMvP>C90o z?F=gthH}MvlRqE(m=ZbP2v+5R=Qlzw{@D4U|4nM#l#gcf>$s#py2Dul)!bAIrD-qPJkza(8byi?fG@_sz*nH_2hj*{w^9r z-eYVLCR~}TpTDyOE0qfKjk%z?pKram4_!p9(y3*;HQ{gCujp?d3an$w9di&~Fwm5L z(9P#VK7HBDE9+X_Ak~%k(sc5AaH*f-9m{p#PK4;8$aCCCR@o7<({5_lI#|7vKl2L! zv#3b8-HTf*L7)AxU_Sd%HC^jN(+~Bbdj{Ho(RHO~4WTa%0NY^~LkCX3SsR79fq?bi^!Rb++bPDu2URx7|mP*WTgUHa}n?y}%$ zbxI>q5>akmC~5kvFH$I)mATz*KAkTsK`6eUag*i*&Hp#)=D(%{mq7$W_kO<96RZ#4RoK_)04z&+GNN%=C}w zxZAHK?;Q%bVeTYXL8}a>_2f$CEiqjW`59zmjKd!?3_9(b8`!+E^R`sM*hVmX;Oa#X zY#_;ksJfFK%1=;&=YAHC-<|Rzo=von;j2S<=FTmwcIN3Og|~g{eQ0Hpu>MmS@(>aV z5m+oNQ{y|^8X(1JW-82H_`vW~q|TSGhqmgRMZ1*4iDoQPyaadgL zk+xAt7Y(w2#TBl0emEnjvXYc?!TNjS(>5KLG7;H%yG_&k(Si-xq@u7n^9ODZ>~-6M zw{S4v*7%d_tt&?hE4;vB*?eKYq5+_-8DL}=@5%x1w`5VfFF`L?6i5SdF-vAP@SToW z^v)%(8!36Go*c*#0&&Y-;1n>Y8ySgCzKn3sN6k&Fln2gO@cu|we8=9YVX_~;aI=KH z{AQ%-OJ~x3#T_7(66{b<=S*9Ii^z(dB31D}H#H=-_udskgd|}7xZu#4+Yx&0v1!kA z?5Dv1thuTP#gG7F_MVf$RRQ!C+Mq?w6Equ1##FabML z>Ak9cV5-LuOuqG-hPh{|e2L>rO!@P2y8{H0XV<30D`RawZu}ZQNBL)KI+`^6GO&H4 z^HFSVoPZux!KCF71ZPn1*v zdl?|IC-uzCk$NBD4>+H;BkS#-QpFdccRRPuzN(2P+khQhTuDluj{Dcm&cZ6oZDVzB z3uxP1u>Pq?2&Gz_1WwBEOht(A=Yq6mEOJv#U?+&hR8|%O1r6?9BkN+1XbC;Ea|3~; zW|A-8CakGQK;#udW{UGxax-wbz>P*W9*R!sxe6v$LY;1ntLesH_9^KnUUg%CAf3Hr zaEr-qW`bLX4mbrvmfy5bf_VZ-W*TkX)np(G#o01hK8T#q1+=yi(uvJlTQ6#2J;6D; zk~w-0U$rQz@CYwT8GD zUeY&MA=*3CC3eX}Xupcoc=Yb)CKiNYb~n31W^)w_7W`FbVK@{ z?etLw++iGj4@N9`tr^}wp@fEp`nY}2{BS5ih)vkm z(?p{Suc54czRO&r> zJ5160UX8KZbgGK))~bNug{Ba<-b*y;4B=orpq;=#OLnDLK&x9%FlK~eQh8dhTlqkO zzN^{$a4SjnoON5j%rID!`hu6Gqj<0W%K4C zANM-6#a?IsJo|a7Jj-@`+xL{av#})nTp`y~_Fc~e9rHwKuYeEqJY!K4Z=8`&AOJon#hs!V%F1jNVC`$=w#dp zmtPMM-1(VGvhz-j*C+1nskrLort+W?;i40AF*_q3J0|4lEZA5vjXBNdv=o)yBAaKa zV+fxCIPafXh}D4WP#oCSpJri~7U3a#q#5iB9{ z-FV8DlNOuODR*k#iErQH%<3o|t9DBnYhMwyA4zu@2;gtG7QlS48=+XR05p56-pbrc z*9zhjcwwkerb#;29iFmCL*oV9=6fOgQ8Ca_8Jre&o*d;tXz9z97qO04=c;|_w=}Ue zme@GUbFq)jDDT5cZNw)h+P2uL1cZWj;+v8t~Dt!=KkoQ^u&wD z>O>G{>1PM?VAph2!yffDrghYzpya`bH2@i#bbIBvu{3l&)4XFpQ``NCZ5&>x7yW2U zeF)KEx8<)?FaDGkI;-*RqGL2fac z+~vIe6K76k+>#0mVt65D&IA~&{-)VU0zUzh#9DvTjAv&&)&(?%B=mH-p4I~xOme)^ z6e@_2sEaA$VR$W1S+RwX^4!C8{8ef4UMt9{Z^N~YA`lo=fbPmh(E>79C<#P1s#^O* z{X!kuHJDthAM&Mu=CX$R=5+Qe_8tYcXAAFwd$wtzIzvJ%WfzFw)h5ADki zS=ZL;QI7ac;~{}goi)AzIA&txDG*XdZn5`K1xZ=iih~@;P9KG** zk3X+J*h~todJ1yqnn~#+Ws~K~$X({d;L)dg#;z5M-sxA;L=(fy_%%pN!$s_|wE4NLW`}~DK&*=?c=hxDV zSXSRH8>3O&VtJc@J=yq%K5g(FAoi^a7~MVMv6Xu-McAb>qX(7S&Phl;Ouc+2v|Y1_ z8oY|Az15al2J|3T5C5Fys$6$5R7Y}u%617TqH4SE7{#J9;#3kRS?!-GZUV}_zz06L1-r2KiO+yKi%z#Soa|1gF96R3%-Gub(xjFinVD{uJ;XLqizN*zju)zj#NvYi+~sn4CcBh=Kyah zJ!PWLgKENZVx=pp>BXCB)2xp2dfxT7a}JfF`kHi8^i00?&Pk$ z0>|(SBAZ9LD(~lv=^(Sg)j>KM6+lhIMRZ5;UJlsw4#o=mPHi%zlxE3=j2*e$-Hj9K z?=@BFgfBN7T+5yY&(##?; zPfentR5=;3Hvub&SDU|mD_)Obxx+t-NuMKVnQ+?$V$nhj?Q&t9+t3bXV^g{khOuM7 zC9Ij#Uu_Sddx;d@teajy)HmYUFyeFJ-GaGVwbQGF;`oZKsVS!?5Yor7CD)kP>^~3#FiT6HagCb zS7JsWu;~SDPaH%1YN}i|xrOxpDC##2rbw0$RM00*0MdDFn_u` zz$4cvpeE9yzj7J#?nfF$9^P%B6pP);iiOL2PcKQEOa@VOzo}apIOW7idRP?NY~(sT zDVpPNd>A=!Lr883Ni;l7+qc3d`;e-L>-hLe zpN3q1LRQykoCK7bS#fsa1k2QTp4r+Q z1lek93QhaqjLP@nD7?q)7V;5A*$num_C9@GSz@e2uilCqwuA+qk-3mp0_D{XPD|#T zLotoveM$I`bGEdZpq(-I^^MU8aJ5$qoCn541h*>-ZA$evYbI9tpRaVM$jz`85)7G5 zY}HnDgy<8`{9)`yrMqc0C97U~lapam zKhvc}Clf23P4=R)R2h``l)&yc5ylZ)LNMV+BopZKQM=E#d*OaF-TO#*Sy02huwazjbT=L2wX*|4tsL=-nN1*S%zriq2yPXQWN?W2izc#rCDV8xSu0Ssu_g5dLo%~Kf#_W=^xefy8~ zX|L>h^>mP$?kUV@kL2)^-4L=2=~XChb5!h*l^hjDz-%v>rB5)sOzYmYu2A0hf{RmT_{3cn+_C-vp$qX z&7%lu^UED1F8p%MKFF^nVLkK>a7XwZ67KH0c7HFI3B?Uiiy}-lQ2C;$yxU|G1mQvzTsVw``sSM=Cyu*{$WLfnWQz0b9cYT;e4cxViTlC1e z(N&L(Sc7ouR;$#U?HHUSN(-hOj0M_+NN?yM+YN<@oW9Hw&84|B6gAGSNkEO-ASbor zF$x$MNPA|zzppVxJw<*KS_}CV&(sy0m|Bp}Fg z!CznwResgl zC(-WW8xf*6=pq9wf|ynzoggvzDu;*Lii1zLK4j$SXuh0Q z=(T(G!N3sPgQ!qC?Mh=R3rZ@L20s3fQ9`scFD;ja`_3P@dAZ%HQkXJuYahPCbi)Jl z#FGv_5;)&#<~%NNG?aP!=~}LHkN;I^G>!X(hD#VTAyVoriUbr|F^|XKlHZVoHwXx# z6Y&n=8HSuidQjvBRKs%MUzJ}`8+8NT=wmck{~|k02zE z`tsWD8X+m<7Kd`y$J6fyWwF|wPd1T?M8B+G7#AkfjJAboY|JznvbLK24=JL1wxd|l)W$% z9(Q`TPm1D5Z8u;)0t81PxKFyy2o`dY*7YSU#;@ng$%kgts^LV~W%H<2PVpaT?gt;W z>)FKFfzlBCbD6<`+=BT!lEKkxAd@?C2xg8fukcJ|u2X$7Lbs1qHPdpPL*0V|z8M3O z1kh2$&(R~96x6w2)?{hZtkQ297N8!{Vxq{9)Y68gi1$Z}{JBJS+fM&4eXHozY%`^_ zh=@O^AECNkKw%$GHZvx?M{a>NI&0=rwZ4LP?Hfjy@UCqw?8k4%dNg9mm zYy=Z*kHn_?jHECFRflTXaj&1S)Vb2+3@b%Q&AwTuG*!JtpsPfzBk--FgabgWZEm@H z**8~+{z{3$WV-kg?MeFH^f1GK3oKf_R#5S+C+I~{toR{+q9s8*?sDu^BE!@Z*T7Yc z0ll)g{Nw~ptv@&oJJzeegRk5}63n;QsC>G9)_vl<5SSrmUgJ`O(P%#~y&AdB*mSX< zhi2cxyhBPiIj zF(z0g1q=zNuieIY{^$@jcu^S>X5EE|wi6dYp2anQl*7TYua6H{53XivIrtVOU07<_ zW6_L-Xu>UjoV#{-fvh@DWii7#wfKNp$vHUxw~sMwESEogAD=aUU;O$dE`7)Rt}ov% zy?=26|Fhe~?Rh4wT$F)4wF9uAbwYzU4ADnt!8`*eNmiwjhTeL%cUUr2L`pNlG_`aM zb!*x+e5MRQzi9@~{t2VK^9bX1m&^K4p>WrtB+nDI+P4OcJ(Tn19(37I)oZ?hHE{b z#pbhxtj2jVmKUVXUgJ2`&y|gEH@yM;W4=6KmI(s$N8w?VNiY&sopb<{%<&Z4;e0`- zw8A;}qEP0mns?p$3Y}`VzeB_)xIHkamo zX4u}|%jxaHkeZG{KbwO@`omAdE`5Yn6cMF1Y>h)sDPB=qix9dQ)t|hwTRR)Ku7z7i z&bS6qxXAMMiRaoxfhG3zrX^M@pQ8O4H0$%gs$rsuQGbYYa`N3{b=)XfMldH3yJhJ@ zHYD<{cVyd@I$IR0myJlK+{lcVO~K0EYoQO8JAHe423(Vc4?}a!f=yaQ^oM+wWWL^% z`B9~3$)C)Nj&n^qxs$)3DX`F!!|-y;rlO8%mFbYzy0cAe8m!6 zI<=~Hp*0k+y}51A_)vw-dVn+Kco0S%xVK_Tz=*E3B1IE#U^k#QJl{5HfdARcG=(go zcA@4#^*ivdNJ930_<3|QwU0VHdXT7IH&3dnOKAyRAHZpKY?`TlEPuRf!f)sCe=&Y$ zYKiR1ibr3r_kCl$e`N(0{JtRvlQ@<5>W4j^D8DhPIjHjEgdCyhnJTi&d`_9(J7Muk z|8mro6?jZb>F4nv;yZ7_M?m8-RHq;;)ns!56u(yY4PyHzo{0V5ZO`|=`S1NRpeuO9 z8@Y4A2SnNiK)lW=yD?VA&O=T>ABqQS zBnN9os%ywP>3u2$T2-Zrc%0bxu~b5pQKeUR+o?owV>0%|-13|T#V49Fj{0>2;4feO z{=V|0DKYTf;I}(xle`b|Fcw(R2(3lYp!Lb$G+$l5a&Q2?$qN62vOfQb5prWET#Ps! z^Glo=S~C!QTHG$KBiMg6!y~!5MBbR@aa^SrCbm-?7=1CSDW-D3E{tKv)P`CzTQY?l z&FtTdOP#-(v@T<7=KSzZ+CL-jfX*F+FQe$XK&RHRGTRYBEhz5Ag?fDBjc!lnfYCMK zE9Q>+t8KnpBVko}^7)Ao|Bqb z^KJPDNZIkEDu183_xTY3DDGdp-mhhgLbJmb-I5s{UPjyKTj;UUq_-}~0a>D}$2(Ab zxbPllh$dk;bVL8L8>*`M{kHmJlopRpPyeep`=73HlD4Q=>G}r$lbG?JXaUa z9JFYl!q3evFJ2*9IuDt=i*=F2gW_D`t|^0j#tq-x%lO0voTYZZ1Y2|^97O%P}KD-I}dGc zu0^Mk-!u;&;l5BMKhY*=M|MBx;%K#GXg+6~*I61-%9Ka<aW-EA^NR4&jXkL!btU3B5%g~woquY4{>H@5p4xQ{_o_ItbNT8G#I)u&c*L|h z^BL{{4l_L-=T6e@`EP*#x)^#|(>3^fvg)^k98am9y1oKscek0;-ML(>PBuUjJWecs zozG7D|7$WXxvx3?ed_v><%CN6Fa22T{m(Uh^nPledAQxvAJA0ZJs}qdk@}Q&<@?m| z%NI$)&Ilf{D8Ng*GW(MEJ&gbd?`lA=Wb>V@gMKJV4s_seHRX%zxsu65vAwYq+Y;W;>zHIeYUF<2Qr|;!t`j?I8l9U%=Ud zlZMlKsZZEm!)lL`En&dnA_%+>94>aI{?k>nj{KOHHc-t&Vt>=D1F#JV6d3?v{P#$BZy8X%x{|g1Ax2_q4NLJmB9G8X+$8BkV!^R;iw%^fDa}9-!FoKZ1Ya7AIh|e z0~ndAL!d{;nElh0%W3|5OvhgWh|6&#{=PzvBXJyw<2-SkF^~6-zip|K_So`>KVaQh~OAQT#$$;7Qr;AKC$jlT@@{!Q~(J?MpP z5R+=N{#yQ~!6*5k8yStMk{1wj`i{-FZrx%npaD#W7?k*(frF}la5b5J|Ci#_pV*1x e*KrK~)f%Atn|9K_`pofr$7|@%H9+@!_WuAiSny*2 literal 0 HcmV?d00001 From 2169c9c83b7eaec32e82947c8e721c798d0ba02b Mon Sep 17 00:00:00 2001 From: kk Date: Sun, 25 Sep 2022 14:14:22 +0800 Subject: [PATCH 10/36] v20 --- .../main.py" | 6 +- .../pred-v18.csv" | 1079 +++++++++++++++++ .../pred-v20.csv" | 1079 +++++++++++++++++ 3 files changed, 2161 insertions(+), 3 deletions(-) create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/pred-v18.csv" create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/pred-v20.csv" diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/main.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/main.py" index 5f78d1da..82414eb5 100644 --- "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/main.py" +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/main.py" @@ -58,8 +58,8 @@ def select_feat(train_data, valid_data, test_data, select_all=True, feature_idx= result = selector.fit(x_data, y_data) idx = np.argsort(result.scores_)[::-1] print(x_data.columns[idx[:k]]) - selected_idx = list(np.sort(idx[:k])) - print(selected_idx) + feature_idx = list(np.sort(idx[:k])) + print(feature_idx) time.sleep(3) # train_data size: 2699 x 118 (id + 37 states + 16 features x 5 days) @@ -74,7 +74,7 @@ def select_feat(train_data, valid_data, test_data, select_all=True, feature_idx= # Select features x_train, x_valid, x_test, y_train, y_valid = select_feat(train_data, valid_data, test_data, config['select_all'], - selected_idx) + feature_idx) # Print out the number of features. print(f'number of features: {x_train.shape[1]}') diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/pred-v18.csv" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/pred-v18.csv" new file mode 100644 index 00000000..155a6396 --- /dev/null +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/pred-v18.csv" @@ -0,0 +1,1079 @@ +id,tested_positive +0,8.486511 +1,9.126327 +2,5.2599792 +3,9.142783 +4,16.634138 +5,14.148199 +6,10.013442 +7,14.357734 +8,13.207124 +9,10.984906 +10,6.801559 +11,9.619475 +12,9.308669 +13,17.076014 +14,11.7137785 +15,6.441957 +16,9.311015 +17,5.6618667 +18,8.149905 +19,9.83047 +20,19.883368 +21,6.054823 +22,9.512288 +23,10.368189 +24,13.378741 +25,18.879917 +26,22.483248 +27,8.739364 +28,7.14969 +29,15.35238 +30,14.074494 +31,3.9332612 +32,11.833048 +33,9.223855 +34,9.060031 +35,6.5015063 +36,13.404814 +37,16.757992 +38,9.635376 +39,13.945724 +40,15.16909 +41,24.902697 +42,5.7194 +43,11.178653 +44,24.149529 +45,22.053888 +46,17.484863 +47,5.3550973 +48,10.857299 +49,5.882339 +50,4.475774 +51,8.298329 +52,14.251019 +53,16.292929 +54,16.331192 +55,19.422739 +56,16.647352 +57,10.988809 +58,24.81426 +59,8.576852 +60,18.13349 +61,19.281656 +62,12.223756 +63,16.49436 +64,20.460033 +65,12.989018 +66,10.618854 +67,6.2747607 +68,6.901977 +69,16.087465 +70,21.566055 +71,19.033518 +72,6.042314 +73,11.407512 +74,17.600647 +75,14.373458 +76,16.465446 +77,12.711501 +78,10.211271 +79,16.147152 +80,22.820189 +81,6.0753765 +82,22.732096 +83,17.191675 +84,23.12074 +85,9.522098 +86,9.4791975 +87,15.729833 +88,26.566683 +89,5.3313174 +90,15.38368 +91,15.586041 +92,19.06074 +93,20.762285 +94,21.076498 +95,10.820831 +96,30.603674 +97,8.165106 +98,20.81377 +99,18.542736 +100,18.967264 +101,17.729921 +102,8.84818 +103,16.80384 +104,18.78665 +105,12.686252 +106,18.262314 +107,19.061165 +108,6.9575334 +109,20.818628 +110,22.041637 +111,18.564545 +112,22.593218 +113,21.897528 +114,11.735442 +115,7.073198 +116,19.502123 +117,10.487597 +118,22.505856 +119,17.156542 +120,21.596798 +121,7.4101286 +122,11.999002 +123,11.807132 +124,19.224964 +125,9.148659 +126,12.1107 +127,15.155827 +128,15.679575 +129,9.715867 +130,16.35964 +131,6.3000655 +132,9.21589 +133,6.1605115 +134,12.756551 +135,18.82931 +136,17.914392 +137,21.349241 +138,5.771644 +139,12.645214 +140,11.755275 +141,9.413053 +142,11.376789 +143,9.623162 +144,22.779028 +145,9.05501 +146,11.700061 +147,16.3727 +148,24.035341 +149,15.869393 +150,11.824098 +151,17.413284 +152,10.864809 +153,9.358819 +154,21.031689 +155,13.947015 +156,13.542607 +157,25.590084 +158,21.730478 +159,17.31069 +160,12.675933 +161,16.536423 +162,10.121635 +163,19.285069 +164,9.521743 +165,21.844 +166,11.467058 +167,15.864333 +168,10.902801 +169,6.040358 +170,12.8875 +171,13.608909 +172,12.115009 +173,12.785883 +174,23.040112 +175,6.042964 +176,5.8871503 +177,21.995638 +178,13.364726 +179,12.911893 +180,19.895468 +181,17.813435 +182,8.738951 +183,11.067406 +184,12.290697 +185,11.898368 +186,13.70964 +187,21.0437 +188,7.4066033 +189,10.245061 +190,6.643724 +191,5.645048 +192,19.607208 +193,9.7338705 +194,9.5330305 +195,18.067013 +196,18.65848 +197,16.190384 +198,6.9098806 +199,20.496983 +200,6.7464166 +201,12.145244 +202,21.810638 +203,19.607626 +204,18.528994 +205,9.042247 +206,9.803487 +207,7.9868665 +208,11.534325 +209,19.940168 +210,9.668919 +211,13.517562 +212,19.1551 +213,5.6103377 +214,15.877225 +215,16.63791 +216,16.344177 +217,10.942203 +218,20.378712 +219,9.290058 +220,6.4324303 +221,9.808017 +222,13.947255 +223,20.559072 +224,16.062674 +225,9.468464 +226,5.156014 +227,14.899453 +228,15.689769 +229,11.910842 +230,14.993737 +231,5.955162 +232,11.115605 +233,19.445114 +234,14.6993685 +235,6.8658032 +236,10.045854 +237,17.182903 +238,10.8534975 +239,16.318716 +240,19.361362 +241,15.056386 +242,22.870512 +243,16.247648 +244,9.323652 +245,6.307854 +246,19.024931 +247,9.301473 +248,21.551836 +249,18.076286 +250,18.29 +251,13.739774 +252,16.74896 +253,17.677101 +254,14.196795 +255,10.80844 +256,20.679419 +257,12.224513 +258,14.407393 +259,16.780062 +260,16.377317 +261,22.069353 +262,11.758994 +263,11.204708 +264,16.401726 +265,13.418346 +266,15.32077 +267,8.252326 +268,11.167443 +269,17.793123 +270,11.663119 +271,12.360835 +272,17.657713 +273,9.327861 +274,16.567947 +275,5.949447 +276,15.821992 +277,8.534642 +278,15.589916 +279,8.722322 +280,16.77089 +281,11.564338 +282,12.961612 +283,12.980374 +284,7.026601 +285,15.098557 +286,7.0648446 +287,17.803825 +288,10.562499 +289,14.200673 +290,16.95884 +291,10.472444 +292,16.318487 +293,14.804829 +294,15.6599455 +295,17.35017 +296,17.655653 +297,12.600839 +298,9.525151 +299,11.810456 +300,17.822807 +301,14.075421 +302,18.684078 +303,15.757075 +304,15.691896 +305,18.20807 +306,17.74878 +307,14.83482 +308,14.218089 +309,17.789156 +310,18.431067 +311,18.304825 +312,15.524894 +313,11.814712 +314,13.992091 +315,9.667614 +316,11.590983 +317,20.235922 +318,13.516527 +319,17.399137 +320,18.899765 +321,8.42026 +322,15.227082 +323,10.655913 +324,9.360234 +325,17.346428 +326,6.7488236 +327,18.864134 +328,8.695342 +329,12.753129 +330,15.086663 +331,15.246467 +332,12.514146 +333,15.249152 +334,12.450297 +335,10.254846 +336,11.405762 +337,15.147532 +338,10.619121 +339,6.5151763 +340,15.93784 +341,15.316487 +342,16.22593 +343,13.081888 +344,6.2311616 +345,17.340658 +346,12.116069 +347,17.32296 +348,20.957598 +349,7.3225045 +350,12.759008 +351,11.523433 +352,13.268706 +353,5.998965 +354,13.090642 +355,16.96864 +356,11.94177 +357,17.012089 +358,7.825561 +359,4.647919 +360,10.956722 +361,12.018895 +362,14.503634 +363,14.177436 +364,11.744077 +365,13.7938385 +366,9.70874 +367,17.878271 +368,5.7289815 +369,13.2672825 +370,20.164835 +371,10.838381 +372,13.897443 +373,18.714249 +374,15.925664 +375,16.453854 +376,11.131715 +377,17.057919 +378,15.064909 +379,5.152289 +380,24.534142 +381,7.0278583 +382,16.84818 +383,14.120752 +384,15.304212 +385,18.528662 +386,13.7380085 +387,12.7852125 +388,15.556748 +389,17.890854 +390,15.567716 +391,17.242764 +392,13.279398 +393,11.350221 +394,10.143094 +395,15.295223 +396,15.374749 +397,6.9844413 +398,12.79082 +399,6.441255 +400,13.580411 +401,10.835719 +402,4.0570793 +403,5.598277 +404,10.952161 +405,14.66521 +406,11.035731 +407,6.6501245 +408,5.2939267 +409,7.211622 +410,6.940543 +411,9.280386 +412,7.8388896 +413,13.56151 +414,8.3122015 +415,13.414905 +416,6.9960933 +417,11.512203 +418,7.123321 +419,6.6700206 +420,11.319455 +421,6.6117005 +422,15.321742 +423,7.569777 +424,15.20728 +425,6.387609 +426,15.5107355 +427,6.5544596 +428,7.863794 +429,13.621518 +430,15.75799 +431,17.401192 +432,6.9910727 +433,4.0740438 +434,10.230157 +435,15.638148 +436,10.576283 +437,5.6696243 +438,13.006732 +439,6.89576 +440,15.89368 +441,11.186459 +442,11.518495 +443,13.805377 +444,7.666727 +445,19.058489 +446,12.678297 +447,17.030718 +448,11.729491 +449,12.373487 +450,8.305265 +451,8.386079 +452,12.933574 +453,12.500252 +454,9.119031 +455,14.1848345 +456,15.940574 +457,11.613359 +458,16.417128 +459,7.050639 +460,17.69039 +461,8.254815 +462,6.324973 +463,6.4799523 +464,7.3956485 +465,6.2485905 +466,11.29844 +467,16.962753 +468,7.829413 +469,11.185056 +470,10.1809025 +471,13.613561 +472,11.77975 +473,8.4045 +474,11.647564 +475,15.546202 +476,6.741612 +477,5.5677686 +478,8.029382 +479,9.0972 +480,17.946815 +481,16.251028 +482,9.036779 +483,13.008995 +484,10.582484 +485,17.817905 +486,11.954848 +487,10.15712 +488,14.440481 +489,15.694107 +490,9.602744 +491,7.550937 +492,11.866052 +493,11.001084 +494,17.281279 +495,3.8372648 +496,17.434158 +497,15.684817 +498,8.208967 +499,12.593938 +500,5.276118 +501,7.9537234 +502,18.072126 +503,16.422121 +504,13.568578 +505,10.449014 +506,15.609679 +507,6.5178385 +508,10.673483 +509,4.799833 +510,9.416646 +511,21.420841 +512,10.839431 +513,9.434261 +514,6.676827 +515,6.101483 +516,20.319952 +517,6.055124 +518,12.898244 +519,18.226852 +520,9.565152 +521,10.949153 +522,5.45458 +523,7.7155128 +524,8.308633 +525,22.028835 +526,11.154581 +527,16.256733 +528,7.4182878 +529,14.108533 +530,12.364015 +531,7.202849 +532,4.7806826 +533,18.441864 +534,7.7706676 +535,17.30564 +536,9.890882 +537,8.877448 +538,9.43381 +539,15.762729 +540,9.961678 +541,18.349855 +542,16.576729 +543,11.309266 +544,15.33208 +545,9.40129 +546,9.936134 +547,11.397693 +548,8.475026 +549,12.696594 +550,8.663094 +551,10.898445 +552,9.970081 +553,9.721175 +554,3.8422825 +555,15.27221 +556,11.655767 +557,8.220306 +558,12.232539 +559,10.818438 +560,19.66853 +561,10.977498 +562,6.604979 +563,12.800263 +564,5.2720885 +565,7.454988 +566,9.203429 +567,16.493135 +568,7.396765 +569,9.161805 +570,7.836515 +571,11.925847 +572,18.388193 +573,10.583077 +574,18.440144 +575,9.662044 +576,16.432617 +577,5.464377 +578,6.873631 +579,7.893146 +580,8.045798 +581,6.3425975 +582,7.14917 +583,7.9288573 +584,8.068704 +585,7.1956 +586,9.201085 +587,4.333365 +588,13.268843 +589,9.199357 +590,8.445029 +591,15.933463 +592,6.0915112 +593,7.569411 +594,7.254555 +595,7.671428 +596,8.884045 +597,9.046714 +598,6.490228 +599,9.071249 +600,10.441552 +601,15.993669 +602,8.360596 +603,5.201407 +604,10.214387 +605,17.256147 +606,8.036984 +607,10.108445 +608,9.629373 +609,14.765969 +610,15.623339 +611,9.16458 +612,13.840959 +613,4.113193 +614,14.756346 +615,8.117367 +616,7.9979587 +617,14.44706 +618,7.6640286 +619,16.60041 +620,8.284876 +621,8.431026 +622,12.978598 +623,8.961957 +624,9.401221 +625,6.694405 +626,17.124905 +627,20.273401 +628,5.5319915 +629,10.616928 +630,6.3217545 +631,15.766334 +632,10.007127 +633,16.955904 +634,8.562381 +635,11.417386 +636,12.885234 +637,18.361002 +638,8.871408 +639,19.03149 +640,8.689628 +641,22.044207 +642,8.546841 +643,8.428187 +644,8.252003 +645,10.188147 +646,6.320698 +647,15.731896 +648,9.359611 +649,5.981311 +650,15.113437 +651,6.4127584 +652,10.227247 +653,21.002224 +654,16.10977 +655,10.207806 +656,14.165885 +657,25.392195 +658,14.608358 +659,17.189371 +660,14.034962 +661,7.0811067 +662,28.841127 +663,8.347199 +664,24.267817 +665,15.274749 +666,10.6792 +667,15.078399 +668,18.73389 +669,9.390499 +670,12.984521 +671,11.955201 +672,11.96325 +673,13.006596 +674,7.837568 +675,21.364656 +676,17.267302 +677,16.85532 +678,8.412094 +679,14.174207 +680,7.5389795 +681,9.390459 +682,27.453545 +683,28.89351 +684,7.921374 +685,18.730751 +686,13.014508 +687,13.372717 +688,5.592812 +689,6.064713 +690,13.357035 +691,9.799162 +692,22.133642 +693,11.269359 +694,7.099065 +695,22.292578 +696,6.790543 +697,19.6347 +698,16.123524 +699,22.301237 +700,10.331924 +701,13.733195 +702,12.471273 +703,5.180595 +704,11.407712 +705,17.125347 +706,9.407824 +707,10.920613 +708,6.3389497 +709,24.260344 +710,19.023903 +711,10.168762 +712,4.93609 +713,12.319067 +714,15.519652 +715,7.9941897 +716,14.229066 +717,17.776411 +718,7.030534 +719,10.499848 +720,9.314593 +721,15.612643 +722,10.341683 +723,11.698911 +724,16.191566 +725,16.088047 +726,9.561715 +727,15.88881 +728,12.6986685 +729,5.064237 +730,23.592127 +731,5.3951697 +732,6.889155 +733,24.505152 +734,9.522441 +735,12.136159 +736,13.890182 +737,13.988252 +738,8.317927 +739,6.490531 +740,6.9227743 +741,15.151719 +742,11.718715 +743,6.331118 +744,10.86222 +745,18.688036 +746,15.368154 +747,17.144533 +748,7.2119355 +749,9.778138 +750,7.840318 +751,9.587043 +752,11.582032 +753,4.4111543 +754,11.225686 +755,14.857234 +756,13.281397 +757,6.256115 +758,9.549959 +759,11.69769 +760,18.476793 +761,9.411888 +762,9.8388405 +763,14.743932 +764,10.636823 +765,5.0337567 +766,13.489581 +767,12.720052 +768,12.67016 +769,5.912665 +770,21.64232 +771,12.767056 +772,15.624318 +773,16.492146 +774,9.200827 +775,12.699069 +776,8.008033 +777,20.60905 +778,9.335882 +779,14.639032 +780,19.644192 +781,8.4692545 +782,24.396393 +783,12.104909 +784,15.578579 +785,17.078115 +786,14.715873 +787,11.122831 +788,8.79976 +789,7.891152 +790,10.945214 +791,9.441743 +792,14.783119 +793,6.6452613 +794,10.381631 +795,6.971127 +796,15.776881 +797,13.34913 +798,18.240673 +799,10.531423 +800,12.319011 +801,15.315294 +802,9.826798 +803,9.818668 +804,12.298918 +805,6.606759 +806,21.342432 +807,17.068445 +808,13.547654 +809,20.518085 +810,20.492514 +811,18.180683 +812,21.73619 +813,13.726827 +814,11.314429 +815,21.822231 +816,18.244062 +817,18.208921 +818,19.050903 +819,9.351003 +820,19.61088 +821,4.506891 +822,16.678932 +823,23.387657 +824,16.52087 +825,8.816773 +826,7.7891393 +827,10.095551 +828,9.050488 +829,22.161589 +830,7.271644 +831,14.4919815 +832,28.170588 +833,11.915152 +834,18.096497 +835,32.207863 +836,10.801596 +837,25.020742 +838,22.556683 +839,12.313827 +840,28.977345 +841,22.293257 +842,13.54052 +843,10.011092 +844,30.601202 +845,14.021465 +846,11.534354 +847,17.45231 +848,7.5723095 +849,10.307681 +850,18.991392 +851,13.384559 +852,23.486063 +853,14.305365 +854,12.106276 +855,7.8589244 +856,18.99872 +857,10.607722 +858,10.591987 +859,19.073156 +860,26.042181 +861,28.106157 +862,19.323774 +863,24.481556 +864,23.732574 +865,24.39729 +866,16.472876 +867,25.197725 +868,26.86595 +869,22.04653 +870,9.021036 +871,26.112106 +872,31.70329 +873,32.318253 +874,7.4425797 +875,29.991707 +876,16.059097 +877,28.682947 +878,11.878884 +879,21.480955 +880,22.268484 +881,22.798525 +882,10.123694 +883,15.470103 +884,32.21397 +885,18.283981 +886,20.523626 +887,24.98077 +888,11.487317 +889,13.278025 +890,10.679753 +891,20.961607 +892,18.631346 +893,13.792359 +894,38.806812 +895,8.774665 +896,20.413958 +897,27.917929 +898,23.43989 +899,35.95819 +900,24.964731 +901,7.1554627 +902,25.959673 +903,17.847656 +904,23.430437 +905,8.900662 +906,33.530197 +907,23.482613 +908,11.654805 +909,11.216422 +910,33.221428 +911,31.67935 +912,36.026356 +913,10.774432 +914,22.46004 +915,42.701458 +916,15.796446 +917,14.586321 +918,27.86672 +919,23.656763 +920,17.702906 +921,17.51195 +922,18.030718 +923,45.89393 +924,17.89226 +925,9.312136 +926,26.142859 +927,25.711073 +928,28.284079 +929,14.319647 +930,20.934647 +931,46.481113 +932,12.583103 +933,31.642277 +934,28.031185 +935,11.864068 +936,10.657115 +937,27.58501 +938,19.915442 +939,26.217834 +940,25.954807 +941,35.13739 +942,22.886307 +943,35.30387 +944,18.044434 +945,24.925253 +946,25.461594 +947,37.25207 +948,27.030397 +949,9.116525 +950,31.108171 +951,42.873016 +952,22.169996 +953,15.079109 +954,22.948946 +955,28.052605 +956,33.106636 +957,17.408987 +958,21.708216 +959,26.375652 +960,8.258053 +961,31.7796 +962,28.907207 +963,24.606607 +964,31.519289 +965,24.61974 +966,12.061797 +967,29.018625 +968,32.62662 +969,25.798122 +970,26.40364 +971,20.96885 +972,26.371284 +973,19.081099 +974,20.163015 +975,32.04805 +976,9.404033 +977,34.701454 +978,20.86846 +979,35.477432 +980,13.787248 +981,19.627344 +982,30.565145 +983,23.039797 +984,38.437515 +985,12.822968 +986,37.83367 +987,23.733894 +988,22.236864 +989,37.439426 +990,29.661568 +991,21.871166 +992,29.568182 +993,27.796936 +994,15.658792 +995,34.055878 +996,41.52475 +997,35.055626 +998,17.585804 +999,29.715208 +1000,7.608843 +1001,13.803932 +1002,29.543896 +1003,33.280087 +1004,8.602965 +1005,27.808752 +1006,26.989697 +1007,17.26729 +1008,18.714333 +1009,24.299414 +1010,24.057692 +1011,28.6012 +1012,20.660225 +1013,37.09201 +1014,32.877487 +1015,29.463 +1016,28.161482 +1017,28.51174 +1018,19.931553 +1019,22.301054 +1020,18.400187 +1021,32.135933 +1022,43.53457 +1023,27.180351 +1024,34.67621 +1025,34.511086 +1026,20.894833 +1027,17.990843 +1028,32.429047 +1029,37.88797 +1030,12.871896 +1031,29.08634 +1032,14.675145 +1033,17.27766 +1034,26.748562 +1035,32.926994 +1036,34.289978 +1037,13.147585 +1038,15.541747 +1039,14.867993 +1040,33.886528 +1041,18.507446 +1042,35.03499 +1043,38.482376 +1044,18.92923 +1045,36.25821 +1046,21.613802 +1047,19.770975 +1048,34.61209 +1049,26.821806 +1050,29.283949 +1051,32.822357 +1052,18.50436 +1053,32.41027 +1054,34.03622 +1055,40.01545 +1056,23.554533 +1057,26.84763 +1058,25.538477 +1059,34.369267 +1060,39.233383 +1061,26.746748 +1062,37.100937 +1063,29.52211 +1064,33.531616 +1065,22.800444 +1066,30.68715 +1067,23.835297 +1068,25.925243 +1069,30.780882 +1070,26.323282 +1071,29.766527 +1072,39.2287 +1073,35.35547 +1074,34.90424 +1075,36.848083 +1076,36.31281 +1077,39.496376 diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/pred-v20.csv" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/pred-v20.csv" new file mode 100644 index 00000000..1b973feb --- /dev/null +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/pred-v20.csv" @@ -0,0 +1,1079 @@ +id,tested_positive +0,8.433557 +1,9.244121 +2,5.20744 +3,9.044876 +4,16.46893 +5,13.956553 +6,10.180119 +7,14.43768 +8,13.29067 +9,10.966926 +10,6.8766336 +11,9.394367 +12,9.3381605 +13,17.31262 +14,11.731591 +15,6.384436 +16,9.377223 +17,5.6791186 +18,8.235182 +19,9.789477 +20,19.961756 +21,6.122543 +22,9.708484 +23,10.238164 +24,13.586904 +25,18.943808 +26,22.62593 +27,8.742409 +28,7.162847 +29,15.252609 +30,14.021719 +31,3.9665835 +32,11.934203 +33,9.240305 +34,9.044759 +35,6.57659 +36,13.653497 +37,16.819447 +38,9.658401 +39,13.78333 +40,15.214038 +41,24.933594 +42,5.668031 +43,11.27247 +44,24.031115 +45,22.322393 +46,17.347237 +47,5.264833 +48,10.777793 +49,6.012939 +50,4.5324597 +51,8.153477 +52,14.315507 +53,16.301357 +54,16.84469 +55,19.51384 +56,16.264406 +57,11.080624 +58,24.727745 +59,8.528619 +60,18.240772 +61,19.40497 +62,12.317063 +63,16.939621 +64,20.538946 +65,13.034461 +66,10.608055 +67,6.2294436 +68,6.898281 +69,16.100363 +70,21.286806 +71,19.152874 +72,6.093618 +73,11.444919 +74,17.889807 +75,14.395786 +76,16.374624 +77,12.946997 +78,10.182912 +79,16.528965 +80,22.855873 +81,6.1819057 +82,22.752691 +83,17.135515 +84,23.203598 +85,9.6923685 +86,9.49117 +87,15.688432 +88,26.500376 +89,5.413624 +90,15.499562 +91,15.932662 +92,19.002056 +93,20.593166 +94,21.216022 +95,10.854603 +96,30.767918 +97,8.579014 +98,20.823765 +99,18.478848 +100,19.017315 +101,17.906668 +102,8.713855 +103,16.930784 +104,18.60515 +105,12.529528 +106,18.263186 +107,18.930328 +108,6.8817163 +109,20.97565 +110,22.704382 +111,18.676414 +112,22.46217 +113,21.921753 +114,11.664281 +115,7.182293 +116,19.399242 +117,10.748176 +118,22.573334 +119,17.135178 +120,21.5629 +121,7.326513 +122,11.957627 +123,11.773821 +124,19.223974 +125,9.082058 +126,12.173745 +127,15.242398 +128,15.69594 +129,9.676772 +130,16.341621 +131,6.1951 +132,9.188243 +133,6.187838 +134,12.824697 +135,18.776356 +136,17.782467 +137,21.29863 +138,5.7325816 +139,12.635388 +140,11.823871 +141,9.477533 +142,11.332341 +143,9.619733 +144,23.314308 +145,8.988209 +146,11.742225 +147,16.689972 +148,24.175077 +149,15.898429 +150,11.660702 +151,17.46855 +152,10.717687 +153,9.402348 +154,20.905611 +155,13.938146 +156,13.612079 +157,25.514488 +158,21.606564 +159,17.18069 +160,12.665944 +161,16.288261 +162,10.098573 +163,19.26932 +164,9.505378 +165,21.753302 +166,11.439801 +167,15.914004 +168,10.742771 +169,5.939467 +170,12.800797 +171,13.560944 +172,12.037366 +173,12.742194 +174,23.063276 +175,5.911735 +176,5.743298 +177,22.106066 +178,13.332173 +179,12.9886465 +180,19.93067 +181,17.859896 +182,8.620257 +183,10.917499 +184,12.241158 +185,11.845651 +186,13.472662 +187,21.089848 +188,7.333416 +189,10.271155 +190,6.566654 +191,5.557202 +192,19.596369 +193,9.813449 +194,9.395118 +195,17.829082 +196,18.519466 +197,16.174332 +198,7.0640206 +199,20.625664 +200,6.9281416 +201,12.066154 +202,21.731323 +203,19.519173 +204,18.559326 +205,9.152518 +206,9.884686 +207,7.9122806 +208,11.4636755 +209,19.935366 +210,9.92986 +211,13.402054 +212,19.339905 +213,5.6589546 +214,15.948695 +215,16.472172 +216,16.514936 +217,10.84085 +218,20.573412 +219,9.5404825 +220,6.64442 +221,9.843343 +222,13.789766 +223,20.426315 +224,16.044561 +225,9.54013 +226,5.1201177 +227,14.827283 +228,15.282241 +229,12.097287 +230,15.013209 +231,6.0423207 +232,11.017899 +233,19.45881 +234,14.590713 +235,6.8519826 +236,9.9811 +237,17.014297 +238,10.742067 +239,16.189419 +240,19.255457 +241,15.023146 +242,23.157082 +243,15.867411 +244,9.714984 +245,6.3295107 +246,18.877094 +247,9.354136 +248,21.508791 +249,17.600286 +250,17.813932 +251,13.782525 +252,16.68226 +253,17.748352 +254,14.190066 +255,10.74228 +256,20.566214 +257,12.110826 +258,14.381127 +259,16.786448 +260,16.466488 +261,22.15871 +262,11.879127 +263,11.379237 +264,16.450628 +265,13.397936 +266,15.2030325 +267,8.506991 +268,10.950053 +269,17.858555 +270,11.771024 +271,12.337689 +272,17.408024 +273,9.445578 +274,16.753714 +275,5.899553 +276,15.757127 +277,8.694077 +278,15.680713 +279,9.144242 +280,16.940125 +281,11.602027 +282,12.94301 +283,13.013967 +284,7.066443 +285,15.060196 +286,7.1347423 +287,17.806355 +288,10.561074 +289,14.352685 +290,16.940582 +291,10.535415 +292,16.344751 +293,14.719184 +294,15.773078 +295,17.424784 +296,17.53447 +297,12.727672 +298,9.791351 +299,12.246608 +300,17.942078 +301,14.104438 +302,18.6311 +303,15.719283 +304,15.752824 +305,18.283215 +306,17.69189 +307,14.883058 +308,14.567733 +309,17.815933 +310,18.378525 +311,18.509714 +312,15.6099415 +313,11.8331995 +314,13.956362 +315,9.583212 +316,11.579399 +317,20.044762 +318,13.426177 +319,17.344841 +320,18.909649 +321,8.492423 +322,15.1431265 +323,10.554571 +324,9.572503 +325,17.28925 +326,6.7201643 +327,18.816517 +328,8.705138 +329,12.818263 +330,15.094379 +331,15.337243 +332,12.398755 +333,15.138883 +334,12.501108 +335,10.255044 +336,11.322212 +337,15.084048 +338,10.683817 +339,6.558863 +340,15.950471 +341,15.326228 +342,16.294865 +343,13.194814 +344,6.54638 +345,17.28426 +346,12.36086 +347,17.435104 +348,21.007866 +349,7.1792006 +350,12.630935 +351,11.538585 +352,13.24525 +353,6.1171308 +354,12.960225 +355,17.013649 +356,11.763775 +357,17.01448 +358,8.241017 +359,4.85495 +360,11.04949 +361,12.059495 +362,14.52995 +363,14.284727 +364,11.88688 +365,13.727643 +366,9.963703 +367,17.971884 +368,5.691114 +369,13.353858 +370,20.20968 +371,10.716757 +372,13.825962 +373,18.767807 +374,16.049866 +375,16.483608 +376,11.113889 +377,17.114206 +378,15.1743765 +379,5.050322 +380,24.566933 +381,6.9848566 +382,16.812765 +383,14.275924 +384,15.328887 +385,18.40795 +386,13.725399 +387,12.832229 +388,15.580881 +389,17.671814 +390,15.56253 +391,17.165653 +392,13.356709 +393,11.475121 +394,10.126607 +395,15.420518 +396,15.518247 +397,6.9557085 +398,12.853827 +399,6.5833974 +400,13.610591 +401,11.056596 +402,4.523488 +403,5.960878 +404,10.926251 +405,14.653283 +406,10.92088 +407,6.637932 +408,5.284344 +409,7.162361 +410,6.96186 +411,9.289201 +412,7.71248 +413,13.615376 +414,8.47538 +415,13.409116 +416,6.890637 +417,11.398484 +418,7.1961617 +419,6.7521806 +420,11.277143 +421,6.6729674 +422,15.374829 +423,7.826958 +424,15.095629 +425,6.613832 +426,15.350662 +427,6.7816195 +428,7.717004 +429,13.652291 +430,15.858296 +431,17.246922 +432,6.9755177 +433,4.42779 +434,10.164299 +435,15.642983 +436,10.526408 +437,5.729969 +438,13.069303 +439,7.2197857 +440,15.932727 +441,11.315526 +442,11.41945 +443,13.815356 +444,7.6469855 +445,19.081322 +446,12.56507 +447,17.103924 +448,11.720992 +449,12.361693 +450,8.269307 +451,8.669566 +452,13.038726 +453,12.531997 +454,8.963523 +455,14.102539 +456,15.907752 +457,11.715535 +458,16.29061 +459,6.9908996 +460,17.612116 +461,8.067768 +462,6.1847425 +463,6.531894 +464,7.4185157 +465,6.291261 +466,11.209821 +467,16.808495 +468,7.6975303 +469,10.99204 +470,10.116641 +471,13.544818 +472,11.800899 +473,8.460582 +474,11.738716 +475,15.521153 +476,6.6926675 +477,5.623772 +478,7.9970365 +479,9.362774 +480,17.900307 +481,16.329891 +482,8.9572735 +483,12.890954 +484,10.5701475 +485,17.848818 +486,11.828515 +487,10.317007 +488,14.396216 +489,15.687592 +490,9.5096245 +491,7.3624415 +492,11.811408 +493,11.073379 +494,17.208977 +495,4.1893325 +496,17.653088 +497,15.7045145 +498,8.117488 +499,12.3895035 +500,5.483745 +501,7.8952084 +502,18.156387 +503,16.529512 +504,13.326173 +505,10.490501 +506,15.613841 +507,6.5658584 +508,10.676248 +509,5.014853 +510,9.228066 +511,21.392296 +512,10.738158 +513,9.399144 +514,6.649936 +515,6.0199194 +516,20.364162 +517,6.118941 +518,12.807852 +519,18.229355 +520,9.505105 +521,10.719235 +522,5.382185 +523,7.7162085 +524,8.170488 +525,22.243587 +526,11.056792 +527,16.40416 +528,7.394688 +529,14.028222 +530,12.257201 +531,7.4147286 +532,4.65897 +533,18.62017 +534,7.8810115 +535,17.35181 +536,9.756008 +537,8.750815 +538,9.435414 +539,15.73117 +540,9.86865 +541,18.469976 +542,16.627396 +543,11.271924 +544,15.401164 +545,9.362689 +546,9.899935 +547,11.15335 +548,8.50115 +549,12.593463 +550,8.599169 +551,11.0118 +552,9.837796 +553,9.799522 +554,3.8914135 +555,15.32253 +556,11.657725 +557,8.134073 +558,12.01995 +559,10.7106085 +560,19.814966 +561,10.888906 +562,6.4532995 +563,12.753564 +564,5.3043575 +565,7.383969 +566,9.149086 +567,16.522717 +568,7.247914 +569,9.10432 +570,7.669829 +571,12.007348 +572,18.35001 +573,10.454402 +574,18.378296 +575,9.493703 +576,16.358 +577,5.4414144 +578,6.787192 +579,8.011346 +580,8.05507 +581,6.13726 +582,7.1563106 +583,7.8816166 +584,7.92065 +585,7.19982 +586,8.973633 +587,4.5205207 +588,13.117424 +589,9.124715 +590,8.273035 +591,16.06656 +592,6.363732 +593,7.6235037 +594,7.2217402 +595,7.6471524 +596,8.881034 +597,8.846263 +598,6.4349384 +599,9.076522 +600,10.39862 +601,15.990104 +602,8.329523 +603,5.127426 +604,10.199346 +605,17.278095 +606,8.038497 +607,10.0599375 +608,9.496514 +609,14.664489 +610,15.609407 +611,9.19618 +612,13.880488 +613,4.617817 +614,14.918324 +615,7.9628425 +616,7.9262214 +617,14.571337 +618,7.459407 +619,16.699997 +620,8.074029 +621,8.3185835 +622,12.755261 +623,8.936707 +624,9.303262 +625,6.4744735 +626,17.192133 +627,20.430492 +628,5.349113 +629,10.616298 +630,6.289579 +631,15.802033 +632,9.884388 +633,16.937254 +634,8.514714 +635,11.423018 +636,12.779922 +637,18.467785 +638,8.790538 +639,19.117365 +640,8.859751 +641,22.1388 +642,8.451856 +643,8.321311 +644,8.061752 +645,10.179265 +646,6.246687 +647,14.887605 +648,9.143669 +649,5.932196 +650,15.120772 +651,6.534662 +652,10.388169 +653,20.973728 +654,16.007807 +655,10.107046 +656,14.116385 +657,24.43719 +658,14.607694 +659,17.209671 +660,14.026473 +661,6.9352417 +662,28.95691 +663,8.266931 +664,24.427252 +665,15.419803 +666,10.653187 +667,15.102788 +668,18.825867 +669,9.298616 +670,13.005729 +671,11.92126 +672,11.933772 +673,12.904212 +674,7.6712394 +675,21.488329 +676,17.35903 +677,17.021456 +678,8.383733 +679,13.960182 +680,7.4134483 +681,9.40274 +682,28.15915 +683,29.50496 +684,7.840835 +685,18.8502 +686,13.027678 +687,13.35178 +688,5.4694824 +689,5.8867564 +690,13.3543005 +691,9.796429 +692,22.144573 +693,11.1806965 +694,7.519277 +695,22.495888 +696,6.743919 +697,19.5517 +698,16.029404 +699,22.391144 +700,10.768611 +701,13.525273 +702,12.366944 +703,5.0523286 +704,11.356955 +705,17.214462 +706,9.319377 +707,10.976644 +708,6.7596927 +709,24.724558 +710,19.09961 +711,9.745572 +712,5.101621 +713,12.275783 +714,15.291949 +715,8.066086 +716,14.198794 +717,17.67544 +718,6.817404 +719,10.395665 +720,9.280201 +721,15.618426 +722,10.414302 +723,11.625989 +724,16.155104 +725,16.188875 +726,9.599199 +727,15.901916 +728,12.500955 +729,5.094814 +730,23.68424 +731,5.9944434 +732,6.866613 +733,24.578356 +734,9.436622 +735,11.94991 +736,13.739818 +737,13.962972 +738,8.434714 +739,6.4373436 +740,6.770029 +741,15.05489 +742,11.9478855 +743,6.3253236 +744,10.871356 +745,18.691692 +746,15.384 +747,17.007145 +748,7.067144 +749,9.632535 +750,7.3967786 +751,9.782197 +752,11.45169 +753,4.515426 +754,11.390683 +755,14.785423 +756,13.319404 +757,6.1937714 +758,9.463698 +759,11.600539 +760,18.422958 +761,9.284215 +762,9.737998 +763,14.655829 +764,10.519068 +765,5.067622 +766,13.703429 +767,12.158295 +768,12.584598 +769,5.9662004 +770,21.659397 +771,12.709729 +772,15.576967 +773,16.49253 +774,9.038256 +775,12.661038 +776,7.858236 +777,20.560299 +778,9.201684 +779,14.55942 +780,19.482998 +781,8.325206 +782,24.575945 +783,12.079436 +784,15.509217 +785,16.891003 +786,14.499626 +787,11.016029 +788,8.672834 +789,7.8401127 +790,10.592151 +791,9.322894 +792,14.50216 +793,6.708008 +794,10.281889 +795,6.9437814 +796,15.51211 +797,13.375997 +798,18.042112 +799,10.513244 +800,12.252814 +801,15.198164 +802,10.022367 +803,10.132414 +804,12.149288 +805,6.743796 +806,21.439163 +807,16.21993 +808,13.335004 +809,20.65874 +810,20.136425 +811,18.18946 +812,21.697004 +813,13.941693 +814,11.253299 +815,21.30346 +816,18.28909 +817,17.867455 +818,18.903337 +819,9.318348 +820,19.085148 +821,4.820517 +822,16.357748 +823,23.558367 +824,16.653208 +825,8.779344 +826,7.4762416 +827,9.970795 +828,8.980575 +829,21.900543 +830,7.2040887 +831,14.487266 +832,27.794228 +833,11.863181 +834,18.008268 +835,32.254757 +836,10.754647 +837,24.575214 +838,22.515642 +839,12.358926 +840,28.962088 +841,22.29998 +842,13.413655 +843,9.613759 +844,30.68703 +845,13.49861 +846,11.488061 +847,17.317228 +848,7.5316777 +849,10.1878805 +850,19.054686 +851,13.41996 +852,23.576385 +853,14.271926 +854,12.2176 +855,7.6785817 +856,19.009247 +857,10.271388 +858,10.499392 +859,19.087051 +860,26.022736 +861,28.172974 +862,19.25332 +863,24.364065 +864,23.346905 +865,24.336731 +866,16.292595 +867,25.35609 +868,27.150747 +869,22.112324 +870,9.029452 +871,26.218185 +872,31.945381 +873,32.35771 +874,7.5899796 +875,30.139462 +876,15.70608 +877,28.575325 +878,11.838282 +879,21.063528 +880,22.41586 +881,22.810501 +882,10.050593 +883,15.301712 +884,32.283585 +885,18.278227 +886,20.051935 +887,25.22664 +888,11.403554 +889,13.273698 +890,10.670108 +891,21.060558 +892,18.239258 +893,13.974058 +894,38.75851 +895,8.640087 +896,19.947838 +897,27.816412 +898,23.42218 +899,36.179054 +900,24.655895 +901,7.349896 +902,25.7577 +903,17.982306 +904,23.083427 +905,8.723544 +906,33.549847 +907,22.823229 +908,11.272215 +909,11.185525 +910,33.406185 +911,31.905445 +912,36.25585 +913,10.833753 +914,21.96547 +915,43.066048 +916,15.744237 +917,14.419381 +918,27.6942 +919,23.741796 +920,17.537674 +921,17.520187 +922,18.087208 +923,46.80573 +924,17.95875 +925,9.299613 +926,26.203207 +927,25.158829 +928,27.753084 +929,14.539006 +930,21.083347 +931,47.583836 +932,12.923518 +933,31.554068 +934,27.572887 +935,11.624627 +936,10.639243 +937,27.246548 +938,19.76144 +939,26.323944 +940,25.960957 +941,35.26824 +942,22.22837 +943,35.088818 +944,18.149681 +945,24.94651 +946,24.906197 +947,37.07488 +948,27.210524 +949,9.012891 +950,31.178291 +951,42.977943 +952,22.036304 +953,15.082591 +954,22.92612 +955,28.266441 +956,33.25279 +957,17.242346 +958,21.940723 +959,26.568806 +960,8.245952 +961,31.801592 +962,28.821337 +963,24.836496 +964,31.510834 +965,24.637009 +966,11.886069 +967,28.97117 +968,32.56362 +969,25.641342 +970,26.15303 +971,21.066765 +972,26.27332 +973,19.006035 +974,19.983057 +975,32.15213 +976,9.282819 +977,34.953922 +978,20.977154 +979,35.636566 +980,13.951999 +981,19.785307 +982,30.337955 +983,23.000175 +984,38.54176 +985,12.766678 +986,38.412075 +987,23.646305 +988,21.901285 +989,37.85019 +990,29.612259 +991,21.64896 +992,29.373178 +993,27.600185 +994,15.8123045 +995,33.995544 +996,41.87534 +997,35.216763 +998,17.506783 +999,29.54384 +1000,7.4550366 +1001,13.586756 +1002,29.473759 +1003,33.524166 +1004,8.3391485 +1005,27.845402 +1006,26.955853 +1007,17.011745 +1008,18.64418 +1009,24.461033 +1010,24.034286 +1011,28.784103 +1012,20.735744 +1013,37.457485 +1014,32.99999 +1015,29.499964 +1016,28.09327 +1017,28.442764 +1018,20.026077 +1019,22.427452 +1020,18.448671 +1021,32.278603 +1022,43.990463 +1023,27.351236 +1024,34.78216 +1025,34.70215 +1026,20.935211 +1027,18.001297 +1028,32.532753 +1029,38.287052 +1030,12.578886 +1031,29.169594 +1032,14.459716 +1033,17.31256 +1034,26.61481 +1035,32.93261 +1036,34.372227 +1037,13.281112 +1038,15.618625 +1039,14.799682 +1040,34.103405 +1041,18.23939 +1042,34.99641 +1043,38.638584 +1044,18.843521 +1045,36.595413 +1046,21.295918 +1047,19.551035 +1048,34.66485 +1049,26.735289 +1050,29.352777 +1051,32.818096 +1052,18.138866 +1053,32.55775 +1054,34.134884 +1055,40.46599 +1056,23.22831 +1057,26.474243 +1058,25.246132 +1059,34.520214 +1060,39.36398 +1061,26.661541 +1062,37.453106 +1063,29.289396 +1064,33.597393 +1065,22.541695 +1066,30.532677 +1067,23.48764 +1068,26.082096 +1069,30.75489 +1070,25.9679 +1071,29.927662 +1072,39.32423 +1073,35.41964 +1074,35.057278 +1075,37.02055 +1076,36.504166 +1077,39.73966 From e7a69d51594fbfa45f91ba0316f4412f2b9b8a4f Mon Sep 17 00:00:00 2001 From: kk_korp <476089417@qq.com> Date: Thu, 29 Sep 2022 14:27:01 +0800 Subject: [PATCH 11/36] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=BD=ACpy=20=E5=88=9D?= =?UTF-8?q?=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config.py" | 15 ++ .../dataset.py" | 21 +++ .../main.py" | 129 ++++++++++++++++++ .../modal.py" | 31 +++++ .../utiity.py" | 110 +++++++++++++++ 5 files changed, 306 insertions(+) create mode 100644 "HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" create mode 100644 "HW02/\346\264\252\351\222\246\346\225\217-HW2/dataset.py" create mode 100644 "HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" create mode 100644 "HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" create mode 100644 "HW02/\346\264\252\351\222\246\346\225\217-HW2/utiity.py" diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" new file mode 100644 index 00000000..1390812a --- /dev/null +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" @@ -0,0 +1,15 @@ +# data prarameters +concat_nframes = 1 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) +train_ratio = 0.8 # the ratio of data used for training, the rest will be used for validation + +# training parameters +seed = 0 # random seed +batch_size = 512 # batch size +num_epoch = 5 # the number of training epoch +learning_rate = 0.0001 # learning rate +model_path = './model.ckpt' # the path where the checkpoint will be saved + +# model parameters +input_dim = 39 * concat_nframes # the input dim of the model, you should not change the value +hidden_layers = 1 # the number of hidden layers +hidden_dim = 256 # the hidden dim \ No newline at end of file diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/dataset.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/dataset.py" new file mode 100644 index 00000000..0b08e9cf --- /dev/null +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/dataset.py" @@ -0,0 +1,21 @@ +import torch +from torch.utils.data import Dataset +from torch.utils.data import DataLoader + + +class LibriDataset(Dataset): + def __init__(self, X, y=None): + self.data = X + if y is not None: + self.label = torch.LongTensor(y) + else: + self.label = None + + def __getitem__(self, idx): + if self.label is not None: + return self.data[idx], self.label[idx] + else: + return self.data[idx] + + def __len__(self): + return len(self.data) diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" new file mode 100644 index 00000000..fc3f8cb3 --- /dev/null +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" @@ -0,0 +1,129 @@ +import gc +import torch.nn as nn +from utiity import * +from config import * +from modal import * +from dataset import LibriDataset +from torch.utils.data import DataLoader + +if __name__ == '__main__': + # preprocess data + train_X, train_y = preprocess_data(split='train', feat_dir='./libriphone/feat', phone_path='./libriphone', + concat_nframes=concat_nframes, train_ratio=train_ratio) + val_X, val_y = preprocess_data(split='val', feat_dir='./libriphone/feat', phone_path='./libriphone', + concat_nframes=concat_nframes, train_ratio=train_ratio) + + # get dataset + train_set = LibriDataset(train_X, train_y) + val_set = LibriDataset(val_X, val_y) + + # remove raw feature to save memory + del train_X, train_y, val_X, val_y + gc.collect() + + # get dataloader + train_loader = DataLoader(train_set, batch_size=batch_size, shuffle=True) + val_loader = DataLoader(val_set, batch_size=batch_size, shuffle=False) + + device = 'cuda:0' if torch.cuda.is_available() else 'cpu' + print(f'DEVICE: {device}') + + # create model, define a loss function, and optimizer + model = Classifier(input_dim=input_dim, hidden_layers=hidden_layers, hidden_dim=hidden_dim).to(device) + criterion = nn.CrossEntropyLoss() + optimizer = torch.optim.AdamW(model.parameters(), lr=learning_rate) + + best_acc = 0.0 + for epoch in range(num_epoch): + train_acc = 0.0 + train_loss = 0.0 + val_acc = 0.0 + val_loss = 0.0 + + # training + model.train() # set the model to training mode + for i, batch in enumerate(tqdm(train_loader)): + features, labels = batch + features = features.to(device) + labels = labels.to(device) + + optimizer.zero_grad() + outputs = model(features) + + loss = criterion(outputs, labels) + loss.backward() + optimizer.step() + + _, train_pred = torch.max(outputs, 1) # get the index of the class with the highest probability + train_acc += (train_pred.detach() == labels.detach()).sum().item() + train_loss += loss.item() + + # validation + if len(val_set) > 0: + model.eval() # set the model to evaluation mode + with torch.no_grad(): + for i, batch in enumerate(tqdm(val_loader)): + features, labels = batch + features = features.to(device) + labels = labels.to(device) + outputs = model(features) + + loss = criterion(outputs, labels) + + _, val_pred = torch.max(outputs, 1) + val_acc += ( + val_pred.cpu() == labels.cpu()).sum().item() # get the index of the class with the highest probability + val_loss += loss.item() + + print('[{:03d}/{:03d}] Train Acc: {:3.6f} Loss: {:3.6f} | Val Acc: {:3.6f} loss: {:3.6f}'.format( + epoch + 1, num_epoch, train_acc / len(train_set), train_loss / len(train_loader), + val_acc / len(val_set), val_loss / len(val_loader) + )) + + # if the model improves, save a checkpoint at this epoch + if val_acc > best_acc: + best_acc = val_acc + torch.save(model.state_dict(), model_path) + print('saving model with acc {:.3f}'.format(best_acc / len(val_set))) + else: + print('[{:03d}/{:03d}] Train Acc: {:3.6f} Loss: {:3.6f}'.format( + epoch + 1, num_epoch, train_acc / len(train_set), train_loss / len(train_loader) + )) + + # if not validating, save the last epoch + if len(val_set) == 0: + torch.save(model.state_dict(), model_path) + print('saving model at last epoch') + + del train_loader, val_loader + gc.collect() + + # load data + test_X = preprocess_data(split='test', feat_dir='./libriphone/feat', phone_path='./libriphone', + concat_nframes=concat_nframes) + test_set = LibriDataset(test_X, None) + test_loader = DataLoader(test_set, batch_size=batch_size, shuffle=False) + + # load model + model = Classifier(input_dim=input_dim, hidden_layers=hidden_layers, hidden_dim=hidden_dim).to(device) + model.load_state_dict(torch.load(model_path)) + + test_acc = 0.0 + test_lengths = 0 + pred = np.array([], dtype=np.int32) + + model.eval() + with torch.no_grad(): + for i, batch in enumerate(tqdm(test_loader)): + features = batch + features = features.to(device) + + outputs = model(features) + + _, test_pred = torch.max(outputs, 1) # get the index of the class with the highest probability + pred = np.concatenate((pred, test_pred.cpu().numpy()), axis=0) + + with open('prediction.csv', 'w') as f: + f.write('Id,Class\n') + for i, y in enumerate(pred): + f.write('{},{}\n'.format(i, y)) \ No newline at end of file diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" new file mode 100644 index 00000000..63cfd4bd --- /dev/null +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" @@ -0,0 +1,31 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F + +class BasicBlock(nn.Module): + def __init__(self, input_dim, output_dim): + super(BasicBlock, self).__init__() + + self.block = nn.Sequential( + nn.Linear(input_dim, output_dim), + nn.ReLU(), + ) + + def forward(self, x): + x = self.block(x) + return x + + +class Classifier(nn.Module): + def __init__(self, input_dim, output_dim=41, hidden_layers=1, hidden_dim=256): + super(Classifier, self).__init__() + + self.fc = nn.Sequential( + BasicBlock(input_dim, hidden_dim), + *[BasicBlock(hidden_dim, hidden_dim) for _ in range(hidden_layers)], + nn.Linear(hidden_dim, output_dim) + ) + + def forward(self, x): + x = self.fc(x) + return x \ No newline at end of file diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/utiity.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/utiity.py" new file mode 100644 index 00000000..6462d2b2 --- /dev/null +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/utiity.py" @@ -0,0 +1,110 @@ +import os +import random +import pandas as pd +import numpy as np +import torch +from tqdm import tqdm + + +def load_feat(path): + feat = torch.load(path) + return feat + + +def shift(x, n): + if n < 0: + left = x[0].repeat(-n, 1) + right = x[:n] + + elif n > 0: + right = x[-1].repeat(n, 1) + left = x[n:] + else: + return x + + return torch.cat((left, right), dim=0) + + +def concat_feat(x, concat_n): + assert concat_n % 2 == 1 # n must be odd + if concat_n < 2: + return x + seq_len, feature_dim = x.size(0), x.size(1) + x = x.repeat(1, concat_n) + x = x.view(seq_len, concat_n, feature_dim).permute(1, 0, 2) # concat_n, seq_len, feature_dim + mid = (concat_n // 2) + for r_idx in range(1, mid + 1): + x[mid + r_idx, :] = shift(x[mid + r_idx], r_idx) + x[mid - r_idx, :] = shift(x[mid - r_idx], -r_idx) + + return x.permute(1, 0, 2).view(seq_len, concat_n * feature_dim) + + +def preprocess_data(split, feat_dir, phone_path, concat_nframes, train_ratio=0.8, train_val_seed=1337): + class_num = 41 # NOTE: pre-computed, should not need change + mode = 'train' if (split == 'train' or split == 'val') else 'test' + + label_dict = {} + if mode != 'test': + phone_file = open(os.path.join(phone_path, f'{mode}_labels.txt')).readlines() + + for line in phone_file: + line = line.strip('\n').split(' ') + label_dict[line[0]] = [int(p) for p in line[1:]] + + if split == 'train' or split == 'val': + # split training and validation data + usage_list = open(os.path.join(phone_path, 'train_split.txt')).readlines() + random.seed(train_val_seed) + random.shuffle(usage_list) + percent = int(len(usage_list) * train_ratio) + usage_list = usage_list[:percent] if split == 'train' else usage_list[percent:] + elif split == 'test': + usage_list = open(os.path.join(phone_path, 'test_split.txt')).readlines() + else: + raise ValueError('Invalid \'split\' argument for dataset: PhoneDataset!') + + usage_list = [line.strip('\n') for line in usage_list] + print('[Dataset] - # phone classes: ' + str(class_num) + ', number of utterances for ' + split + ': ' + str( + len(usage_list))) + + max_len = 3000000 + X = torch.empty(max_len, 39 * concat_nframes) + if mode != 'test': + y = torch.empty(max_len, dtype=torch.long) + + idx = 0 + for i, fname in tqdm(enumerate(usage_list)): + feat = load_feat(os.path.join(feat_dir, mode, f'{fname}.pt')) + cur_len = len(feat) + feat = concat_feat(feat, concat_nframes) + if mode != 'test': + label = torch.LongTensor(label_dict[fname]) + + X[idx: idx + cur_len, :] = feat + if mode != 'test': + y[idx: idx + cur_len] = label + + idx += cur_len + + X = X[:idx, :] + if mode != 'test': + y = y[:idx] + + print(f'[INFO] {split} set') + print(X.shape) + if mode != 'test': + print(y.shape) + return X, y + else: + return X + + +def same_seeds(seed): + torch.manual_seed(seed) + if torch.cuda.is_available(): + torch.cuda.manual_seed(seed) + torch.cuda.manual_seed_all(seed) + np.random.seed(seed) + torch.backends.cudnn.benchmark = False + torch.backends.cudnn.deterministic = True From 466e6ec2f5c163d2083307c9534fcd8edbadcca6 Mon Sep 17 00:00:00 2001 From: kk_korp <476089417@qq.com> Date: Thu, 29 Sep 2022 16:53:24 +0800 Subject: [PATCH 12/36] Changes --- .../config.py" | 12 +++++++----- .../main.py" | 9 +++++++-- .../modal.py" | 5 ++++- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" index 1390812a..c0f9f803 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" @@ -1,13 +1,15 @@ # data prarameters -concat_nframes = 1 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) -train_ratio = 0.8 # the ratio of data used for training, the rest will be used for validation +concat_nframes = 3 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) +train_ratio = 0.9 # the ratio of data used for training, the rest will be used for validation +version = 2 # training parameters -seed = 0 # random seed +seed = 210418 # random seed batch_size = 512 # batch size -num_epoch = 5 # the number of training epoch +num_epoch = 20 # the number of training epoch learning_rate = 0.0001 # learning rate -model_path = './model.ckpt' # the path where the checkpoint will be saved +model_path = './modelv%d.ckpt'%version # the path where the checkpoint will be saved +save_path = 'predictionv%d.csv'%version # model parameters input_dim = 39 * concat_nframes # the input dim of the model, you should not change the value diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" index fc3f8cb3..64be550d 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" @@ -1,3 +1,4 @@ +import datetime import gc import torch.nn as nn from utiity import * @@ -7,6 +8,7 @@ from torch.utils.data import DataLoader if __name__ == '__main__': + start_time = datetime.datetime.now() # preprocess data train_X, train_y = preprocess_data(split='train', feat_dir='./libriphone/feat', phone_path='./libriphone', concat_nframes=concat_nframes, train_ratio=train_ratio) @@ -123,7 +125,10 @@ _, test_pred = torch.max(outputs, 1) # get the index of the class with the highest probability pred = np.concatenate((pred, test_pred.cpu().numpy()), axis=0) - with open('prediction.csv', 'w') as f: + with open(save_path, 'w') as f: f.write('Id,Class\n') for i, y in enumerate(pred): - f.write('{},{}\n'.format(i, y)) \ No newline at end of file + f.write('{},{}\n'.format(i, y)) + + end_time = datetime.datetime.now() + print('运行完毕,程序耗时[%d]秒' % (end_time - start_time).seconds) diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" index 63cfd4bd..d1cc23a1 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" @@ -28,4 +28,7 @@ def __init__(self, input_dim, output_dim=41, hidden_layers=1, hidden_dim=256): def forward(self, x): x = self.fc(x) - return x \ No newline at end of file + return x + +if __name__ == '__main__': + h = 10 \ No newline at end of file From f79cfb8225129ad75e1517f216d3fc1715371c7e Mon Sep 17 00:00:00 2001 From: kk Date: Fri, 30 Sep 2022 00:54:06 +0800 Subject: [PATCH 13/36] =?UTF-8?q?HW2=20=E8=B7=91=E4=BA=865=E4=B8=AA?= =?UTF-8?q?=E6=9C=BA=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config.py" | 17 ++-- .../main.py" | 4 +- .../version.log" | 82 +++++++++++++++++++ 3 files changed, 92 insertions(+), 11 deletions(-) create mode 100644 "HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" index c0f9f803..4dee85da 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" @@ -1,17 +1,16 @@ # data prarameters -concat_nframes = 3 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) +concat_nframes = 5 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) train_ratio = 0.9 # the ratio of data used for training, the rest will be used for validation - -version = 2 +version = 5 # training parameters -seed = 210418 # random seed -batch_size = 512 # batch size +seed = 0 # random seed +batch_size = 1024 # batch size num_epoch = 20 # the number of training epoch -learning_rate = 0.0001 # learning rate +learning_rate = 1e-3 # learning rate +weight_decay = 1e-2 # weight decay model_path = './modelv%d.ckpt'%version # the path where the checkpoint will be saved save_path = 'predictionv%d.csv'%version - # model parameters input_dim = 39 * concat_nframes # the input dim of the model, you should not change the value -hidden_layers = 1 # the number of hidden layers -hidden_dim = 256 # the hidden dim \ No newline at end of file +hidden_layers = 6 # the number of hidden layers +hidden_dim = 1024 # the hidden dim \ No newline at end of file diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" index 64be550d..ddda7bd6 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" @@ -33,7 +33,7 @@ # create model, define a loss function, and optimizer model = Classifier(input_dim=input_dim, hidden_layers=hidden_layers, hidden_dim=hidden_dim).to(device) criterion = nn.CrossEntropyLoss() - optimizer = torch.optim.AdamW(model.parameters(), lr=learning_rate) + optimizer = torch.optim.AdamW(model.parameters(), lr=learning_rate, weight_decay=weight_decay) best_acc = 0.0 for epoch in range(num_epoch): @@ -74,7 +74,7 @@ _, val_pred = torch.max(outputs, 1) val_acc += ( - val_pred.cpu() == labels.cpu()).sum().item() # get the index of the class with the highest probability + val_pred.cpu() == labels.cpu()).sum().item() # get the index of the class with the highest probability val_loss += loss.item() print('[{:03d}/{:03d}] Train Acc: {:3.6f} Loss: {:3.6f} | Val Acc: {:3.6f} loss: {:3.6f}'.format( diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" new file mode 100644 index 00000000..ca57f47a --- /dev/null +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" @@ -0,0 +1,82 @@ +1 + 更改epoch = 20 最后是0.6 +2 + # data prarameters + concat_nframes = 3 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) + train_ratio = 0.9 # the ratio of data used for training, the rest will be used for validation + version = 2 + # training parameters + seed = 210418 # random seed + batch_size = 512 # batch size + num_epoch = 20 # the number of training epoch + learning_rate = 0.0001 # learning rate + model_path = './modelv%d.ckpt'%version # the path where the checkpoint will be saved + save_path = 'predictionv%d.csv'%version + # model parameters + input_dim = 39 * concat_nframes # the input dim of the model, you should not change the value + hidden_layers = 1 # the number of hidden layers + hidden_dim = 256 # the hidden dim + final_loss = loss + wd * all_weights.pow(2).sum() / 2 + w = w - lr * w.grad - lr * wd * w + 糟糕的不行-提高的幅度太低 每次迭代的速度好慢 电脑性能不足 耗时1200秒 +3 + num_epoch = 20 + concat_nframes = 3 + hidden_layers = 3 + learning_rate = 1e-3 # learning rate + weight_decay = 1e-5 # weight decay + batch_size = 1024 + Train Acc: 0.593222 Loss: 1.318854 | Val Acc: 0.565461 loss: 1.440661 + 运行完毕,程序耗时[1028]秒 +4 + num_epoch = 20 + concat_nframes = 5 + hidden_layers = 3 + learning_rate = 1e-3 # learning rate + weight_decay = 1e-5 # weight decay + batch_size = 1024 + 增加复杂度之后 第三个epoch就突破60 非常不错= = + Train Acc: 0.642307 Loss: 1.134182 | Val Acc: 0.611230 loss: 1.268137 + 20个epoch过去之后感觉提升没有很大 + boss baseline 是0.82 突破0.7之后 再提交试试 +5 + # data prarameters + concat_nframes = 5 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) + train_ratio = 0.9 # the ratio of data used for training, the rest will be used for validation + version = 5 + # training parameters + seed = 0 # random seed + batch_size = 1024 # batch size + num_epoch = 20 # the number of training epoch + learning_rate = 1e-3 # learning rate + weight_decay = 1e-2 # weight decay + model_path = './modelv%d.ckpt'%version # the path where the checkpoint will be saved + save_path = 'predictionv%d.csv'%version + # model parameters + input_dim = 39 * concat_nframes # the input dim of the model, you should not change the value + hidden_layers = 6 # the number of hidden layers -------------------------- + hidden_dim = 1024 # the hidden dim ---------------------------------- + 按PPT上面提到的 测试一下 6*1024 后续比较重要的改动 用多个----------表示把 + 模型一下子复杂很多 注意观察是否过拟合 + 可怕 跑的速度慢的吓人 我无敌的3700X都跑不动了 + 跑一个epoch 要10多分钟 OMG 机车的不行 +https://zhuanlan.zhihu.com/p/39543160 + 跑的过程中 看看别人的分析 :{ + 在这些比较中要考虑的一件事是,改变我们正则的方式会改变weight decay或学习率的最佳值。 + 在我们进行的测试中,L2正则化的最佳学习率是1e-6(最大学习率为1e-3),而0.3是weight decay的最佳值(学习率为3e-3)。 + 在我们的所有测试中,数量级的差异非常一致,主要原因是,L2正则于梯度的平均范数(相当小)相除后, + 变得非常有效,且Adam使用的学习速率非常小(因此,weight decay的更新需要更强的系数)。} + 后续考虑 加大weigh_decay的值 算了 改了重新跑 + 半小时过去了 跑了2epoch + [002/020] Train Acc: 0.592977 Loss: 1.325879 | Val Acc: 0.595823 loss: 1.319184 + [003/020] Train Acc: 0.610007 Loss: 1.257670 | Val Acc: 0.601981 loss: 1.293582 + [004/020] Train Acc: 0.621026 Loss: 1.214978 | Val Acc: 0.607412 loss: 1.277789 + 未来可期 + [005/020] Train Acc: 0.629167 Loss: 1.182204 | Val Acc: 0.609653 loss: 1.272276 + [006/020] Train Acc: 0.636369 Loss: 1.155348 | Val Acc: 0.609718 loss: 1.272970 + 困了 睡觉把 + 15分钟一个epoch 20个 300分钟 5个小时 + 感觉这个只能后期放大招了 没那么多生命去消耗啊 + 群里的讨论学习下 +https://blog.csdn.net/qq_35091353/article/details/117234223 + From 6dd275b9a6c29d99a90c61929e320c36b7e2b381 Mon Sep 17 00:00:00 2001 From: kk Date: Fri, 30 Sep 2022 01:03:08 +0800 Subject: [PATCH 14/36] =?UTF-8?q?HW2=20=E8=B7=91=E4=BA=865=E4=B8=AA?= =?UTF-8?q?=E6=9C=BA=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config.py" | 14 ++++++------ .../version.log" | 22 +++++++++++++++++++ 2 files changed, 29 insertions(+), 7 deletions(-) diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" index 4dee85da..89e4d6ec 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" @@ -1,16 +1,16 @@ # data prarameters -concat_nframes = 5 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) +concat_nframes = 7 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) train_ratio = 0.9 # the ratio of data used for training, the rest will be used for validation -version = 5 # training parameters seed = 0 # random seed batch_size = 1024 # batch size num_epoch = 20 # the number of training epoch learning_rate = 1e-3 # learning rate -weight_decay = 1e-2 # weight decay -model_path = './modelv%d.ckpt'%version # the path where the checkpoint will be saved -save_path = 'predictionv%d.csv'%version # model parameters input_dim = 39 * concat_nframes # the input dim of the model, you should not change the value -hidden_layers = 6 # the number of hidden layers -hidden_dim = 1024 # the hidden dim \ No newline at end of file +hidden_layers = 3 # the number of hidden layers +hidden_dim = 256 # the hidden dim +version = 6 +weight_decay = 1e-2 # weight decay +model_path = './modelv%d.ckpt'%version # the path where the checkpoint will be saved +save_path = 'predictionv%d.csv'%version \ No newline at end of file diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" index ca57f47a..3cbbfbf0 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" @@ -80,3 +80,25 @@ https://zhuanlan.zhihu.com/p/39543160 群里的讨论学习下 https://blog.csdn.net/qq_35091353/article/details/117234223 +6 + 电脑算力不足 + # data prarameters + concat_nframes = 7 # ------------------------------------------------------------ + train_ratio = 0.9 # the ratio of data used for training, the rest will be used for validation + version = 6 + # training parameters + seed = 0 # random seed + batch_size = 1024 # batch size + num_epoch = 20 # the number of training epoch + learning_rate = 1e-3 # learning rate + weight_decay = 1e-2 # weight decay + model_path = './modelv%d.ckpt'%version # the path where the checkpoint will be saved + save_path = 'predictionv%d.csv'%version + # model parameters + input_dim = 39 * concat_nframes # the input dim of the model, you should not change the value + hidden_layers = 3 # the number of hidden layers + hidden_dim = 256 # the hidden dim + + [002/020] Train Acc: 0.621318 Loss: 1.208982 | Val Acc: 0.619836 loss: 1.214172 + 这个不错 看来增加concat_nframes 目前来说能有效提升ACC + From 95c1add2661ffd1550e4932a70bf9e118d347d56 Mon Sep 17 00:00:00 2001 From: kk Date: Fri, 30 Sep 2022 09:32:21 +0800 Subject: [PATCH 15/36] =?UTF-8?q?HW2=20=E8=B7=91=E4=BA=865=E4=B8=AA?= =?UTF-8?q?=E6=9C=BA=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" | 5 +++++ 1 file changed, 5 insertions(+) diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" index 3cbbfbf0..b466ae0b 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" @@ -1,3 +1,7 @@ + ● (1%) Simple baseline: 0.45797 (sample code) + ● (1%) Medium baseline: 0.69747 (concat n frames, add layers) + ● (1%) Strong baseline: 0.75028 (concat n, batchnorm, dropout, add layers) + ● (1%) Boss baseline: 0.82324 (sequence-labeling(using RNN)) 1 更改epoch = 20 最后是0.6 2 @@ -102,3 +106,4 @@ https://blog.csdn.net/qq_35091353/article/details/117234223 [002/020] Train Acc: 0.621318 Loss: 1.208982 | Val Acc: 0.619836 loss: 1.214172 这个不错 看来增加concat_nframes 目前来说能有效提升ACC + From a0a0f1987adbe89858d468f4a9afb5e8912e5fc1 Mon Sep 17 00:00:00 2001 From: kk Date: Fri, 30 Sep 2022 12:40:21 +0800 Subject: [PATCH 16/36] =?UTF-8?q?HW2=20=E8=B7=91=E4=BA=865=E4=B8=AA?= =?UTF-8?q?=E6=9C=BA=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config.py" | 6 +++--- .../modal.py" | 1 + .../version.log" | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" index 89e4d6ec..73d8bd6a 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" @@ -1,5 +1,5 @@ # data prarameters -concat_nframes = 7 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) +concat_nframes = 11 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) train_ratio = 0.9 # the ratio of data used for training, the rest will be used for validation # training parameters seed = 0 # random seed @@ -9,8 +9,8 @@ # model parameters input_dim = 39 * concat_nframes # the input dim of the model, you should not change the value hidden_layers = 3 # the number of hidden layers -hidden_dim = 256 # the hidden dim -version = 6 +hidden_dim = 512 # the hidden dim +version = 9 weight_decay = 1e-2 # weight decay model_path = './modelv%d.ckpt'%version # the path where the checkpoint will be saved save_path = 'predictionv%d.csv'%version \ No newline at end of file diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" index d1cc23a1..39242e72 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" @@ -8,6 +8,7 @@ def __init__(self, input_dim, output_dim): self.block = nn.Sequential( nn.Linear(input_dim, output_dim), + nn.Dropout(0.25), nn.ReLU(), ) diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" index b466ae0b..d60d65fc 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" @@ -105,5 +105,20 @@ https://blog.csdn.net/qq_35091353/article/details/117234223 [002/020] Train Acc: 0.621318 Loss: 1.208982 | Val Acc: 0.619836 loss: 1.214172 这个不错 看来增加concat_nframes 目前来说能有效提升ACC + [020/020] Train Acc: 0.685382 Loss: 0.972401 | Val Acc: 0.647454 loss: 1.131894 +7 + concat_nframes = 11 +8 + concat_nframes = 11 + hidden_layers = 5 + hidden_dim = 512 + [010/020] Train Acc: 0.753807 Loss: 0.739612 | Val Acc: 0.681906 loss: 1.071598 + [020/020] Train Acc: 0.786056 Loss: 0.631418 | Val Acc: 0.676169 loss: 1.197365 + 很明显的过拟合 train loss 很低 valid loss没降低 +9 + 降低复杂度 后续考虑标准化 或者drop out + hidden_layers = 3 + dropout等于0.25 train变得比valid高 + acc有望突破0.7 感觉0.8得使用推荐方法RNN了 那不如直接self intention、? \ No newline at end of file From aca24d43fa6b75db175489a9074358ddd19dfa2d Mon Sep 17 00:00:00 2001 From: kk Date: Thu, 6 Oct 2022 22:53:00 +0800 Subject: [PATCH 17/36] =?UTF-8?q?HW2=20=E8=B7=91=E4=BA=869=E4=B8=AA?= =?UTF-8?q?=E6=9C=BA=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config.py" | 24 +++++++++---------- .../modal.py" | 2 +- .../version.log" | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" index 73d8bd6a..ee97a933 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" @@ -1,16 +1,16 @@ # data prarameters -concat_nframes = 11 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) -train_ratio = 0.9 # the ratio of data used for training, the rest will be used for validation +concat_nframes = 11 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) +train_ratio = 0.9 # the ratio of data used for training, the rest will be used for validation # training parameters -seed = 0 # random seed -batch_size = 1024 # batch size -num_epoch = 20 # the number of training epoch -learning_rate = 1e-3 # learning rate +seed = 0 # random seed +batch_size = 1024 # batch size +num_epoch = 20 # the number of training epoch +learning_rate = 1e-3 # learning rate # model parameters -input_dim = 39 * concat_nframes # the input dim of the model, you should not change the value -hidden_layers = 3 # the number of hidden layers -hidden_dim = 512 # the hidden dim +input_dim = 39 * concat_nframes # the input dim of the model, you should not change the value +hidden_layers = 3 # the number of hidden layers +hidden_dim = 512 # the hidden dim version = 9 -weight_decay = 1e-2 # weight decay -model_path = './modelv%d.ckpt'%version # the path where the checkpoint will be saved -save_path = 'predictionv%d.csv'%version \ No newline at end of file +weight_decay = 1e-2 # weight decay +model_path = './modelv%d.ckpt' % version # the path where the checkpoint will be saved +save_path = 'predictionv%d.csv' % version diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" index 39242e72..26379b28 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" @@ -8,7 +8,7 @@ def __init__(self, input_dim, output_dim): self.block = nn.Sequential( nn.Linear(input_dim, output_dim), - nn.Dropout(0.25), + nn.Dropout(0.2), nn.ReLU(), ) diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" index d60d65fc..64cc2e85 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" @@ -120,5 +120,5 @@ https://blog.csdn.net/qq_35091353/article/details/117234223 9 降低复杂度 后续考虑标准化 或者drop out hidden_layers = 3 - dropout等于0.25 train变得比valid高 + dropout等于0.25 train变得比valid高 过拟合消失 acc有望突破0.7 感觉0.8得使用推荐方法RNN了 那不如直接self intention、? \ No newline at end of file From 9f982d22d7cf1c877509c2a4d88c13d33441d6be Mon Sep 17 00:00:00 2001 From: kk Date: Fri, 7 Oct 2022 18:41:49 +0800 Subject: [PATCH 18/36] =?UTF-8?q?HW2=20=E8=B7=91=E4=BA=8610=E4=B8=AA?= =?UTF-8?q?=E6=9C=BA=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config.py" | 12 +++++----- .../main.py" | 5 +++-- .../utiity.py" | 1 + .../version.log" | 21 +++++++++++++++++- ...46\210\252\345\233\276strong_baseline.png" | Bin 0 -> 44444 bytes 5 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 "HW02/\346\264\252\351\222\246\346\225\217-HW2/\346\210\220\347\273\251\346\210\252\345\233\276strong_baseline.png" diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" index ee97a933..64482b23 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/config.py" @@ -1,16 +1,16 @@ # data prarameters -concat_nframes = 11 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) +concat_nframes = 19 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) train_ratio = 0.9 # the ratio of data used for training, the rest will be used for validation # training parameters seed = 0 # random seed batch_size = 1024 # batch size -num_epoch = 20 # the number of training epoch +num_epoch = 50 # the number of training epoch learning_rate = 1e-3 # learning rate # model parameters input_dim = 39 * concat_nframes # the input dim of the model, you should not change the value -hidden_layers = 3 # the number of hidden layers -hidden_dim = 512 # the hidden dim -version = 9 +hidden_layers = 5 # the number of hidden layers +hidden_dim = 1024 # the hidden dim +version = 10 weight_decay = 1e-2 # weight decay model_path = './modelv%d.ckpt' % version # the path where the checkpoint will be saved -save_path = 'predictionv%d.csv' % version +save_path = 'predictionv%d.csv' % version \ No newline at end of file diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" index ddda7bd6..812da3ed 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/main.py" @@ -9,6 +9,8 @@ if __name__ == '__main__': start_time = datetime.datetime.now() + device = 'cuda:0' if torch.cuda.is_available() else 'cpu' + print(f'DEVICE: {device}') # preprocess data train_X, train_y = preprocess_data(split='train', feat_dir='./libriphone/feat', phone_path='./libriphone', concat_nframes=concat_nframes, train_ratio=train_ratio) @@ -27,8 +29,7 @@ train_loader = DataLoader(train_set, batch_size=batch_size, shuffle=True) val_loader = DataLoader(val_set, batch_size=batch_size, shuffle=False) - device = 'cuda:0' if torch.cuda.is_available() else 'cpu' - print(f'DEVICE: {device}') + # create model, define a loss function, and optimizer model = Classifier(input_dim=input_dim, hidden_layers=hidden_layers, hidden_dim=hidden_dim).to(device) diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/utiity.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/utiity.py" index 6462d2b2..9bb21593 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/utiity.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/utiity.py" @@ -95,6 +95,7 @@ def preprocess_data(split, feat_dir, phone_path, concat_nframes, train_ratio=0.8 print(X.shape) if mode != 'test': print(y.shape) + print(X.shape) return X, y else: return X diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" index 64cc2e85..bc191651 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" @@ -121,4 +121,23 @@ https://blog.csdn.net/qq_35091353/article/details/117234223 降低复杂度 后续考虑标准化 或者drop out hidden_layers = 3 dropout等于0.25 train变得比valid高 过拟合消失 - acc有望突破0.7 感觉0.8得使用推荐方法RNN了 那不如直接self intention、? \ No newline at end of file + acc有望突破0.7 感觉0.8得使用推荐方法RNN了 那不如直接self intention、? + +10 + # data prarameters + concat_nframes = 19 # the number of frames to concat with, n must be odd (total 2k+1 = n frames) + train_ratio = 0.9 # the ratio of data used for training, the rest will be used for validation + # training parameters + seed = 0 # random seed + batch_size = 1024 # batch size + num_epoch = 50 # the number of training epoch + learning_rate = 1e-3 # learning rate + # model parameters + input_dim = 39 * concat_nframes # the input dim of the model, you should not change the value + hidden_layers = 5 # the number of hidden layers + hidden_dim = 1024 # the hidden dim + nn.BatchNorm1d(output_dim), + nn.Dropout(0.2) + https://blog.csdn.net/m0_37870649/article/details/82025238 + 都用上了 + 复杂度很高了 过了strong baseline看来要过BOSS只能大改模型了 diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/\346\210\220\347\273\251\346\210\252\345\233\276strong_baseline.png" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/\346\210\220\347\273\251\346\210\252\345\233\276strong_baseline.png" new file mode 100644 index 0000000000000000000000000000000000000000..a0a053c96aa3d32d4ec71c527be9c2e1d2f98f78 GIT binary patch literal 44444 zcmeFZWmr`2+6Ss221-bagay)wbPGr`bPgrm-EAQaA|MUYFfjDcB`IA)#}G2W4BZTM zmV58_{g>}`KAr1)*eey_kBqLZ1@`zQ&Lx$_JZv)*GwFkVo80O9DXT)O{M#-byXRZPWi&#b zJ6P;D2wz>h{^uVj0rzWsCeG5co*Q^BiXjyqe0g?+38-Z$UcPg~ezw8w{O3BkL2%qt zwEP{S_JH?K+jL_+^gUNHx1EZc!?3Wi-5y+CUi$m{%blE@c>4HsJwa0VZL_jU{I!=? zj~cKn1`UP0P(|@ttp`@4gkJYbjQa!?oiaIB*=Fn9o~w1bt{W&&caXQ#vxR<7A6ZX3 z(0|>x%Q$x%BKh~Wl5kT*d@g5C!?w1z3e<9CqMumlDGgdqD<_e1T&FceFl!YXHuy^V z^^Y_q2uReCKh-q+7>U#;f81o@;aG!^Y^O?}11C4hb_wy!8Smp`0j1XD?H=F-QB~cRhQKP{X@C^!^ZR{ zlI7}*G0&Bfo~6V|9T_#CpXhRZL5H<_+~??$Y2sB6`b%ez-oEN1s&PXf_0Qm{difyg zSJ5trL4@d|M~}?)v7m8plarH!>gz3L`G5haUE_Dk{Agehk_o-HUAN|C^JEuT91ib! zV{qW#TK(6ruM|jcb0B31Pzm0GR=j_n1SnX|s$w32qCGKCu;Xl&xE`jM)A4l#y z|8&G}+dm+AgrpGOz6%xq+ur=^*GIXygf8I)9+B=(|GL8e?wwE=CzxMq@Jzh$@51=6 z-h&IU+Nn%XsabP>+ME9!_wCn8*Nr2G_nU^8{w&7-E7iu3YaCq(-m8}Xo%Wyh{lB~Y z8)5mckpKU2wzoK7i-VbSfYmtOI>nq|F!RT10xhDCcD{eG7$zJD`R$mV-ENO0?d_lI zpPQTGjFbknz2~k_T%>1Xw6bLT!~6X9^9u1A``n6s~Hy#m|Cnm_i1A8(Cs3d#~amrH6#m(9_T!r6XZgXisq_#DU|t{)>cQG(v6zSDMt5CetOFK@H5@Mr$`@Q30}^b3(7*fQu@LaRv^MymFEJkg)ue?hs#tpsUhKl_PCB?ikPP zck7?Vd>yBsL_qCYf1KEOJJpBzhhQ#bYYwwjLd$L~Mq<(U{{I?_KR!=;{mMuhXNW{f z?FH+`axnkRQ_DCMoH2$o$YgSx^ytZN?3mCh7VbC3@Z2}xN&I#y!y5OC-1?w;Wa~ZM z(8fQO?axo&UL?J@!Yv3C+imEgy12L~F{qDzqBHU$eDb$e{2JERx4+(JEHz)@dzN;b zkd@o0kklULW2JGu`zjdg*O+p5z`;K0+X>5?^&v!bw}%52e!GE$ zw#PGq^i1j5yi7!zXe% zCvoSuABdAEdxFGxR`mxR`i8qEc#HG$DsJ=tdC~vaxrNZTtv0yj{PDj2CXr3Y7ed0z zd|{tI{7&Iq!z#Yb(2)Bm*`<4x7nz@dq}kdUc=GcPFXYcpZ<(=hOE}U^UgTf9y2e|* z%KMYD?>*jchnuGNYLOdfDkaLt|AYNI0-E;7i*tjfecg9dzkglk->(xqUPIc7%(eE6&>o-yWXGFoga7Yx&`2C4bcA|^L}*#H2nz? z`Sf=Oitts7&fA2niaY)@*iUM(Xd7MJjmHJ_V#SO z$6!~NbYAE~Ui${m-OQgUD&AibJONAguG)Uif9KH)&7w&lRxs|0j4tybU(shFn@&b< z&D9@oBPQlQ-XZq(^!%t9?)#60KM5cTjxGb5!X~L%AFl8~vP|h#S^J$G*`3jC%+;5e z7QCEt`H9)>S|OkjDs@j4aI14eSDoG^Vbja5@sAzKeF?>)cl!BbSgYsjL=@4H{zQpk ziEhcefs?j#9L>v}`%mLct{AoR*S>vE*ROT%U?Mg)-bbbFIzLP!bt>UEvTfUEvdQu;3!Wf}DQ}1!Y z)QglCGwT>J&`SH1%+H$L&+DE(u3CkDiWqm8d=mtt+Cwte_;ul<^)$s3r*mxX$KxiS z4}q6h5KV2*$=MCctvT;#g(e=MQ|YbG7OflRA8t3zXhUB*Ecl+@#iQbyJWVyXc3hdC zLO=g!Ks2oL)<06k)dMbBCb@5JGf{kYaV&ap7QqWiBxe3}crjaxdkinq$ujPkFzyI7 z+aq9BQy9Y0`C)ixx-6FW)bXuyRnyQ$&%M5+l{e`Z=f?hVIy{X_}ce(31DCwo; zo2!%EWxO~A6s_c|S1mQW#GR2Bn8n9BaHl~& zSJZ4r*F?40h4=Voh2pAl>-)pwW36wF=y5x{=}M1J8g?k2litucoVz4|OI5+7)fQWz zuc=6JC(uk6X8n{|-?lUS0X8A=cORkT2G@3-$&3t5&mvLJh zJkpa4nvJWe6#wV8G@1P(~YRmdc}YtwEXswLDc>H-U#Q-YjefoS&}5 zn{-7|rwV!PIjX@+46Ah~*aY;-GMcaEPp#tZQ8rc1V~}Hn5ATM6%SsQw9V#|kHU^R) zP=rTykZ7!d7)VpgetrF%Ja->v#uJ&m>Cb{mci`_N}MNk%~Gi`bv{V+q1P+tizG|S)(Z>3WLrbxK{d0vBKF3!9t07o4KHK7g)TjS2 z!Gv=+D0HdaJYGMBc)Ov=SXE7Xzd}W?8pKs7@XFJ;(YkI*g<2(wm*=NNx#yUf?a=9; z-7)pj$Hkfy^6zS!E-?An3!fq$^4d;Xl19pigP7Fw7tkeI>U4r0TdJRb98Rld%M6z; zCNl*rw0sXEXRq`B_V2ZQMeL}aOC;>=sua&Q*BOzFPc3lpnsoYZ6wO7>!3KYHT$A@9 zYO2D*Wu;Fi^R*N4C|n^Dl{%dxzY5V{mLAuE`<2^HX{pZ$J2<%cxE5<>jHC*BOz&S| zY@n^dM=3)iNe|WIzcrR<6uk+A8v5>b5QtdLH~Gz|6D%)Gqm9c52QwAp<>T4ZCgytL zm=oV-g@!N#GIxPFQt|Zb2#q@!1|BBhR8(8>1NSrF6s z!s^4rO7&A&x8B{3=$Xv71Xy)-^;8b?Sc|n8Q|GGkq!*`R3ZE>EyPAeW7obqIaUkji z=dxY+7&~V@7ISKQrP&%Mll?Yc$JA*UyluFN*>pxxJ z7B$j0wufpfco}f`H#B+RqC||XLK|5Sxv1bRj3TbU@$5CE>g+0&MW0FLE^h& zoNrElEI#$v_7)5mac9_A%IzGppQ+OitXTcAB{a(&E=S_3TY+RJ{gHA?7Zmb{)GdkI z#(l(8Oro@(SpstpW;4On_OY$z6^;S4o9s&XU^qYv3bqqiOSA*M)owNr4tkOPJ`a@K zP(l-ci?sgQr^zbnod4{7GH#-kYXj0{W5S_j!Z1q9p?!k6Nwd=OKBt1nlQ=Y+LINMZ zLBqG(SyJ_dc@`#kt^upmqsb!%73R(?XL5-!^f>c@PPU`b<}@&ZuTb5wFMv^z?KYU? zXEka>z}cN=jyB_%wA8l2hoinZ3hRLC(pGVxUNPoa#l*Q>VDS3q^B0Qf!(17@@oIkx zT3(By7A#hT9WjceA2qsI-bwza2&w~qo`}XgA=5-dP*R%&ikq&z&3kcd4f{WbcrUspjgGy&g{QOXSpos&-@~?B{+`X-3o(V63bs zYF$>jm$OIQ(D0+Zy>fC*>8dHjK-nt1Sfj%G&>CNj_>hjo*%sWV99cfl-+C|jeIpB019QLu%+lU-tNjP5=GN*ZgM z%e&sB3tu)ypx9~|!wBbf>4|kH+Cw3dIMk$kWCo^lF2liZ*W%*}`{Z8s7*^XiZe_jP zK0VRyXqCw~gnEC8q!l&l9x($CONu^~_K#*%%YBE9S)a3PB>m-9g}@~^+m9?fDGUh8 z)Hc-`Ju+Z1|MaUoDFHw;{S(RrrM_D3fw1E8Z+#tDn8ag81or5tzrs(0X?bkT^4nQ| zE@{+CYJAIV)q#6hF2^*I9dcCJ9uY?j79W;9QxCyCKSYgXg^qqUICMf!AC9_K?G6Ke z9+%!k#xx=OP)0bcU`(c`5j;K(U&)h=nVznE&P9NHp6;w-c;iHUj#6^D;o<_6 zM%2csfI*s&F=eIPpFb0`xn#%ynH8Th=g$-{vx8FkZ6`mAeYm-152-*k&?3`?yvqH8 zl;}ZJB?U}SO5l9QRX^u?nmx~YL=_|Ahp8mmUFzbEwh6*gI-KWE3HzrV_w>dRBR<^? zHNM`_Yv4yA(woeyl<^*iYM?msvrhSqz^kKeM2VaEh7Zi^=MR;YY^C)1L#H7cf_l1X zwAFOwZsevekHhp(>7s6r(pN6vFW>1SE6Jn|Uoc~eCEIx`gUn5wPSGEKXQa2o_-Ig(KYc?oYC zz1?7h`v>cs+jA}j$A-ZgfnN*M^22gEe<-C2n01C1nCr(%1YO>NHb^w>Q#-kMsI{ov zeUHxZ2qe3!I;aMP5gDgab{o|0p((|S=gToF;>q}JGt>hVOSyHa)}-6`)YBJr7;>k% z1}`;X+SJuMZexU6gk#z|aYht!iqVO9Zih;>wvta~5= zN?sWS2TJtbTgKvcuQw}<`V~T~@8t~Pd(asg^?zj*RiE4nI=%a({6Ip8?9)2=isoCRRmZ0%LIGRC4eE()z^P7w|IT77z`_V5e z*0tiDM-m(Bd9K?Vd5`|-$Sdi-O;{c!!&ka+P%i}6sWVCjdLOMp$9Uk4D$H^=R?)?C z-VA+t8AE2hm%KgNkMou~!q&MYf+8lX?2>hS!16={)B<`HH^|uZWYi7=$Ak51otsY0 zvHNfGnRF@y?I>FYCHO+6XKQwSaA{blVDW7jWB{n+&G5zBwwS&o^$Uy|VuF zJr|T@xoH)+Gw)j%-B{XrUgdz`3D<}trGe-djxTk{lhS};-iNvlJf*ZW?%=FEQY!W4 z-b79dD=~{RZ3i4FW{qN$h4|Efj*f>{rI26@r zTBu3uhMw+7TmD?El7%^<7Hm4RFP8AH;q8s{(J=W8vsb7<(ykGWWXrk$fFGW$X5b-u zq93sNbO*Ry)Kj%CT8mGvK-re4ValoZ+*Uyd)ICehFDgxBY3@j81_wK97;Ww5RE0

rYhkK@fMy_Mx+%sir(LheI%+u5VXO(m4*?>U)h@LwXg$e z7vMg1mUi8S3%d0s4CA{AR92j{#hLb@IPmLR=hexlbvX0Zt1;Eq3$<90-ce&kIuc&FB0LL>ilJt}dG zt!B4IMWhdku6BlFrYb%Otnpzgb)FhI%+*1UEY~eo$G}w61^0`p9T3CHwh`ShdS6!t z;yIr5HLNVzWl-`;(NMz8grH%_ny++aW>}|FS1742=Zk6VT>SWDK;*NEKu-w)D;Uw` z;WQ$P)+YMLAP6sT@ToAr=?Yc=JX^Z_1LN0HB_pO zL)c#QfJu)+^c-AVo1UTyAX<}JkVZDLyU?^X7D8}xxAfm}ws*I2UsMUae@hklCmhn& zA4s78hYRp0E&d${1#T|C!TyJ&{0ql^!T_Xf|JKldKmPB6{YB#bDu~Q)d?KIpk&&oVmN1TWQSTpG=U3k1BRz1W zxf0jDY?CikAHl0SZfTYX*B;glLWh##xQex=6gp5yh&qpn3IT7_P-t}2KPCq>+cFAZ z=_i$eZHCQtT#@s9e(T>2w@=T6s>lML##3WJqPw%p;{&Id=Q&9Q`^zR#nZIk~8dfwL zFqRS7rx~p?O&+4Uf|o&!qPK)@`;MSUzNOTAoSyrMHpd-D7?|lk-!tuVyZsRWiEI4M zs@$K+#WH9XX+Ms=?Jz!9?{RT{-q=9Y5!r8AuqgSH@1N-1A`mTQP2lGUYEBFGnEh2xyS%j3s&QwZ#`}Xa{*)gJyl*Fhnj@hEz zw420HuhdaxFs(6;(|7VSfbd9Z+Dtf14&{Q*l6f8cN6I9Ud1&ivYb7=N@0Unx`K=9Q z0Ps@*B$iR_CxCv{D$>%X+s#y6T^uW3T?_EwJr)ndC1V9Y1Hh00x^A(*94f+KdaQVM z!||-y?-D@@KF+H>8kw&{p2-qP#~>xWIRTbb6czv8#I##3yGm~OgWj)xbO63ZIy}V;N z;)%J@%CRoQaUb-q?!eY~K5BFIXr5rF!teuDJT(5;Mzz#nupF8;BTKW5Xcl!t9RN{& zY#-oZ#WJYq@h9`x9RaXz4FI4E_3Di=E#&u82V8A# zZbB7f$BQkJYn)elvE(0d{A73Yl;ika>SFrQ*$K<2 z$F`5hiP=tNGdbT4s!@8m3$K+eAMh1d_4oMgpM{C6I`qs7`A8-x)rw6?PkwgK47&uZ zKyj=Hvw1q`0;ZJ$;`m{YN4WW8#TV_@rH3zS&huI&L($TA>P>;r{P107(nEMj{0k%T zvto<5@ng|KO{jmCH&myh+3jSbg4e38GlCX&KKXbdAFD^D>1g_HjMQHR(i4dl>VkJ^ zD-%5E-PF{S9w1`f+AfPyIPRNy5Q10Zy6zklnGTFyqq*4Q$7iGEPNm=?w1zMMLpYVK zpe7HdK4+-qfp`h#bSlid0nuJ+7rRgZvM)7GF-X*=X^C7SwSa3mRwR>yfECJ7BNL*Y z(dgUf_a>lxOaI7*o;n1p+IQO(%x`)){O10_Gp9!H=IJ_vEhhUiJzPBI%Mr(0acKr=!%qmwLR=RMAwVVr2;Xlb%8aPugng>wm;>;$Uct9j zk2~4B!pFQwt^C$=;<*~8Yw>vPXH&SWLf112qLDx#0E&JRSSN*Q;dg1$x;$|rc4;~< z_x2W~mH%7*w1xA&c8%q3rev5K%5{ANZw+xgrqv51#~26;1~?>w@Cm$QABvVaW{9u! zG-4Ez$k(51cr*uwk=e~RNOBj}50)B9;F7T{tgcp@uD`^ga%<$Y7#MdnkFdYD3+J{` zFFEj*T-A>+(OaK}odFOzDP1`2)$prMAZ@4D?5-b(o+z1s_2$vgL=JQM@IG||>(y~t z+L|Hz5=CkG^+sc@vcCbiuCSU?;$8$LkH=Pnke73^NJ5?1FKF}p#3?QS$ZSvxR!(5o zuz{SqmFiv9njj+|yrNqJL24!k*!A+?SzJ=j{pGMIRp+h-%kZyv?Xi;@9$vb35bEFK z1KX*2QRkRwe26Rfh?>xGW%DtQ%{c^4+oF6(SDLzCf`;aD{3hKYxhHy@bp^f6y1~u{ zuTU~mS3R7xaTK&9@wt;rb4G`rEM+FJD~WO#qSyhTZYa1m(`!HX zF`4ee18|-`#&v5dD_LYac6?h&&|^HCLJln-hxbr#6P5q)ct=yT6Tw7Q`{S{}qrZaS zEmw(e#lgB&w%p`nB@Wx6q=o>7l1%yaY&;oHWPQ@W>M(hx%CCMuu>P_S?Jeu_^|r`> zAn#b33+iC~bf26_`uq2H*k{Q@X;@wkJo$+7m7pFiS0yp+AjS8Zcu5qjRx%|3p3k_D zZ#-70w%q`=W($x{pGjEak&~jS|_THB_$un&DT31 zU_tj4a@Y+TJQrHT=nk$G2ifmmE2c18Yz>?b*w$YuWYWn0=q0&@ebx+<8V(5Im%8st zk(XHMH@}2k2*oNh=@`Ekj(}5s5in9-d+y6lT}Y`OWnE!C1Z;=R{yH6rGeoyU49LS8 zGU{ILEItL2IO@naXY&`%P3M6kXSVr`VdWayK>)7pzO(Qc=PoIXKv%P7b5L|b-6zZZ z-FwMc!+ghKA+NiZn450xE;Tpe&VlT$KmnkWP%3s9{O=hFJV8+u1<3VP0Fv48(a5vb zdwa_ois#$@;71D2}|erGF(FaiqP*x?km;cw%u;so3t<}q*?vq?Kt`YDx68K z6SePcJ0Wq9?9g;Esw6s-P7Cc!XutG310A>Qtr(0=vy2<)JLF6lYFQ|)SUTZ=PAoUQ zZN&?lSoCUSI!L-~m7ANmsj~(6lPs)RmG>v*mO6YY_pE{B2b`j?K@0E|h;PkN^748V z=9vPy(0CS|N|Up%cZi#Ke4u-Gi0EHfZTmzmQAD4#*r(Dl5nthCXYLiH^b!rVvLkHM z$xjwk*m(kP&%|5KmiX2Ov!7=EONv?}1;Pe$IKdWC@7vRD#t*hel>$1EdP$~>$pxdB zLs|-B2FLjZ+M)-93SJ!TkWEn@tpu^sB5JQLxX_3!R$rHj#*e9g`)kPzbMh4Q&KpB6HIaU;bKxwwU& zkb;GSJE`TOfed5M?M@YpCqf0gY|REJMdNexIb80pQjY4Yr&4jBPcgkY+*V;xt)e^; zvKTnF&P%I-cIg&69#KsZKf8@fZjY#%qlpoAKdP}%kJEfp z?-LuGgS-x#MfS&Zsnh5XY-p-w@rm_ugns{!x|P;Em;mA|IXj=wFSIX~vkPlJ&R#C~ zpkY0uEDQm;fxQIc2lDs9{7T#z%~Ji4Z`~whED6V}>CJu^tLGQBsBjdVC*Tq*NL2mM z;?jH86Vx?St+ZXz>7PiqFV9pUx?a*mllLNK+$T}MEwl;u#HOD%0ui7T@DU?Kc{Zk{ zDauD(tdXhk3Zj@gjSL6p%ctLMF4D_^wE9~$>;vqO^$!{y28GH7K@RhkMnm7Oo6~Fc zzc1Tb^wvOa7V-SbW59Di^2A@&aJeAk6(ZXl^s~r{U#i)z5z#ABRNJ9*Y2#Uk8P!!U zst?TuHfO4-Ba^tidZt`fMIH*tAmn7*D#Z|EEc$f{v=W%S9M{AVf!E~qZZkY#DztW( zw`xs}23|SgA)KG?+i^V~i`QCZ*HZ@a_v%NAk>(CbTm_@Kpu&TdUaevSyz#sdk{8WN zX#(7iEpLc*{LeN&G5cRSUDR;{X_s%Z&&GbRH&K|0ccK#W17zTH`m7{#O^x-DR3ayB z4clWgdL6l-boZ2k+s>fI{nm69&0 zVc|CmX8jt>7QA5QRr8@G8Q9|idAgTIvYhpgZ|f@gUUdi83cDtEmz#O0?^yIDkgiAV z7taa`pQVeqO~>{fsL}^X93&Ls+*8OUq&oUk^#J@_Io;uwch$$C5@-9@6aqt%*r9W?wg$M zoTQsf^CdPwL&$0bf&~`MqI^a&MuLqaPAMmWwYhGz&K*mucvv0{UV_F$+~$P5fYYP< z+l!XXRAadUQHG)w%f8Cw{EeE2;=UT_93I?HY^dzat&r*du+-r7ucb#i@jle12l@k;%6 zL)MEN5e=AQ+oH&(@x5xHKh|Jev18rk0!q zSDkCyDKC_}uB#@Mi{S+yZ`U2lS#pLaK~L#P=+7{P9GFnqK+@@l0yI~wzI|z|$#-PYI}?T_d?rYiG8+YtF^EQ=!h`3E zDU&dtYJ7H`%#T<#_#m^tBF~=1Hvq#lTWt4m6eLZ}N5TM)GL8l-$S0t<}MtU6yL z^0t2&gJ|yV$-#3$KEfXCdX?GMV-W8jFq@z=Cxf^(aWJ(=ks?17>>n%QH$=EzYIx_; z?^$(dLEC}}tv<9>vlaC---}}N15Bgkqh6fy1VdqiEW^pS&r6dWhSq7)F;78*# zwwqwt%4s#~;;ahQ5O!I8Vx#Wn8&#v<<4eehmb1x7C`+~|7AhZ?f&7Zc`f~w2huTnC zE@BJPyr+_mg`w#@r=t}(h|0aHs20iH|i5Id<-cu<=4 z0q&1qP5OB=%mI*LjwyGL-tUQxni03#&ngU45*D~tGM!scc(&Eshr*s+qNw|IxrbWR0`7~CcdIAK!9Ny+` z0FBu!w@~?~(~4qJ4VLff1`_b2h=yJpP+HG5oCa+-B3`2z9}-Wbd$lnX(3NsW zXEMPZxrCv~N&VZwLIZ_2JFeHcZDs~ZOUfTUvMM=U&w(mN;--xk>P~on;kJN(G$ieb zpD>L?tyBQH`Q^HA$kqy~CrLf(wwU|aL#s_^YH`NKTW zG!L&>%C|^=jq7owC3K&YG)qzw^S-PTH98ifBbkfXR_eU(FNnPdlCQ_Bp^3-c^ z>S_NP326R1k{mZxl&3t1rJUcHY~lp?fq-a6Geb1iRpnE?Pwh#o>$Y3qiYpCu@|G~ zv4mTTx(N#d>q*X?a5we?vq;V4;bRBfS2pHStP^q1mF$6dtT>KIUp1AMRC3J1{?om6 zw;Xdu4!`zQ_Rk1N%#AF2bW&t5q9nO@zg@;0vo7pg4V9*YD2=CGGIe2NaCUiPjKiUwg0fkw@ z`z_H`n_1FP{9b$6^xuX2kgjL$cGRs&5Iu>DT%~01{qcU_zfkQmryO z^FknuKecTt>&q)AIvjZ4gU#L#A180xVBz>_ee;aDkPi5KBti0C{ii%XZYMthVO9J+ z4k*3{eQ*K6eVgu7LU|FZT+)ZI@$_=*q31Qm<>Sa0dJ+##!&2L+a!Jk;>!uE*4Dv#@sNQR7o-{Wz|YLC1wXd475q#@ntKnL(Z7 zi}!6@qM8V@I1NL~t$Fz#X%@#61bMsEa650@5*mAJ&NuiplKi^Jh9Z-A+%A>H8z5X z-8tk{f5cL0y!eB64AoNa@gDH|BI(~Me`r(5rMcD&Ugi?t=P@ zQNcQGm(169NHOXN2`D&=Z5IFPWB&C1DtkVJ%W5RSXn0@@g?KFaEUsj0sj2BW_3oq# zpqy3}(|u_1pAn1RQ@3rZ+348-S9yv^<3RN%J+X>jfb3 z>a#uzDcw|D(Kl25OCWDT3sQD$0`lm>x`U^En<|{0sa6e9VbA)3b zawQ3!)RFwccpVqM;SU$tC#m<(GvRP)G>!W#EO_^Z)z{AH)R-;IO&9gRW zV0gku`_NtSYe1eEydegklP^J1%e6+_KeRniKWg8=Z-fz(>-(6Q>3G7>=8!R0sZupZ zj*lGwsWh=g!UG<+8b4B7>P&)NH}nMBkTHilG0-nb-X}0rlIcl73Qz%@DooB23c0?W zIT}^FKCU8AU>pYEbcQtxK~P;Ds}ZG5)i)}66+LT_&6*kSc}Qd7Boq(F9h3zOn|y)j zwyNjzUkjAdl&(i$Gyme)18Iz`;ACuZJtbkYo5JQv|K8NBY=MJRK7VmH2zwgor3+sP zY#rEOw;v|Nr+0sH-oJ*U+AkxGCIofoSansN?)CDE>y~yfolh!8qD&@>{kjC)(A8Em zmzcwE1L5QH@Vvp4;aqOA7mpqdT^SX%^!LxTwQ-c12(0Bdq}71vk^~jG(H7?)L&lXw zD|!c&xN%6;sM^kotBLLhyy4{*Ekpohw}|s2m$RaGV~k7B`{Q2fzMj4hZgDcrvA?r) zgO$S0001V;Mu6kGvz?ZAg7Dh+S56sDc@>~o7;w=a{+ac&Xfy1KpJkrbb<$A-P^{y@ zT7Ziolf@WhEQ$Cyj9tnm;=UadRqnS0A`EBR{@gK!K^@GV>a@}mhibRrkvM~%q>hJj z_yGIVInJtE-3V|F=@DZ+dILd%#|EwpF@j3=qb`p9h5?EG!MSfmmcO!Is95=F10vpc z2@00LGqPpEJzPtvCKl>D`y9*BO}vW>9K@VW(%zkoYL_ZIL`EM`M;H(d&Tg#yPyO;o3i_`9;R5^{oB(XK<$-;b zt(ZLYvKGl6K~Rxa8k=?97a%=zV0Snp`wA94ibeOQ<=L**EznK|0IjvkZ?o>3{S#Ce zc}UbgWayMbEpecvNT)oB@LleuVXbwXTetV^RDPGLbv6@2)k6SktS}GoK`NA{aX^mB zQmK~PcXy8WM-S{ng?@3f$3tREjVZlpcnR{xe~7X|D{MTJ5wd7HVb%yc9<>}_u0Hj_ ziL;|kt(CiEEUNi%CMuwk;cPn~VJA=%@Q6>c<(z(h`c6h>=$hA?u!&NKM(^~`MjM5R^Cvk>B|TJ!#&-G~J2 zLd`;B&;|uqgGssBe-7Ag2s1*ORreR!#&Y-x249Sp5J-Q>%`F|#P8v3Pb5j>LOMtc^ zZdoL~YAN!|SqK2A?H4I?UO_$JvBGF>T+MO&j(gvbKP2en%YoV!r#!W}SS0>CKSqZH^Clwwkv|Ngaj-pgiG8c-Y|BT3%@o!?5AIL` ze8aw`=BwR2#&4v3(E2y*vXp=I9*S>_*n& z;Ua1Q60XE#n)0IV0>H$;ZczlLp+s>fg3^BE=Y`WUeWm4YMx!=B8bwbO+6>-d z)vtGFg$8lEZ%lwUWH|(VIQ+cbw`SK@;%QkqQvny=?r395H((WG3Xfu(ZSWd(u^42u zHxnJ_hZ2+kkzkc~4Lp{NXV@a9Q2{*;tyHXx%X(nsCg8`N@mX(Gsor}06Tq01jiCqP zY`L|zV%g!1|4legHavw@qO#AhQ)@>83|dqg@%3z|Hhe0tCE1t zjgx7!W>B3DlBPf#pf?_xh(^y73B(IazYNU;9~XO;8INyPkw5(_`BKOM%RAC$z9`YW zMz#8(a8^Oqr}aW3{xzKr&k9W_%A1`SkZv_z~zXrree52in$nnDGT094eSrMk8=FNJ2uE023-i zV{osBz=ytzNrNewxIlh1TUPDBBvpp`;n~r8&h;>QXKU$kmKE`_b(I_#u$BFlH~=kEG_DHq!9X zAIMipPi7ZTuMk;b*Sih2q-&2ac3o(>d@6mfnowN<5n5?Cib-aS0oV~#ODb&U5U^ylw`yx`XnZurW84 zt5O~A!n>>C57eMDrdz|61!`1v?kFZ8b-_xv>JgZkZ|+!!V$rC}_KpL`#r(~gv3LiR zNcoC5*U;orrNtjAYt}mFbcB)l?ugwLR?~eA7%l)fv>Qm#8BppH(2ClcOQD@DQk(qO zCLbkOmGoz8%D(v*apccvppb@&wMJ)TV#QAWEr?=FSNpCcWzulYbPAgQm+O4=WEYP#4 zyAoWe^Z=x3dBxzw*TdD_5jKKIGIvp4DKqXEUs8k2W>l?}7QhA%KwC;R60a^jVFMi_?(GQEt4nVH=K*{$A~Yk2OyGb&vKe7=__1LDNxBFPBHWEAY)lXLxXC+n-7l z6h-Oo^Q1{Dz!oJ+_1*j6G11a$umlXl6|zvP=Ku`@y<}D2P_^L@tmLV)WBQR_5PXQ6 zWyF-FWrZ!be*ryJ|F!)%c&1j}#b>Q2MF*X*q z;n9Ax^Q!m8+ezRCCDkgeUl#%0p$519li&Z#JzOLN3cB$tgK3s%W?0jF^a{VWO(<$x z8D5<=)6Bf-KcYB!`(4(Qmpm}j|EA3f`R_l$&MaD%x zvXU)QT+^b)g=$?Ubg%cIc^&A0yN!%m343(=pT7GYNvy@>SE0~XhP}HV%ls?zd{Qz< z1@^ zrCKNbCXg6Z@Qt)wPn4VPFA?^Cdb>>jRgRZjuk*}~=6G@oHJCqYxZC8vuovAYJE99x znRJ>&>u=pUfr`}4n=%cYjD4NbydG0}?5N(dyHOhkTq`2;l}lV6mLIbWL-T5A)KwNd zC31JQWcvF-{1*&681?Go_}u{igeMnrF3$#21dN>3pi3e01efMZQR5*ELd21fkqXuE zmzt3ht$^oIe3zU}T4=#iF(W?*q8cw7#998^`&57%3l3adB^md6v*kXs7((I)=j$vX z^S51JpDxHJJW`?KHgpTmHYXBGR<9Hj#qelxrqMzDKKt+KP#w~rH zm*zbus<{e*xTHX^qvsJm+?^Q#u$(j?Kuwl8t`)wt!?q7%FjWv> z>_|R@wpH5&sK@2ySpemN;Oa}D$l{7VzA}_?+7or)r7<8k{`JmpZ;jBpF^f6g-j=Jq zYJQmnQw|dpZ9~i57hRu@(Pf`+w4Qd{z!bEyBfCFOI-Qb3O`-S4>)B}p{5Tox*9aZe z2TsG{-5!GlIv2t2+w*fvAELiKDaK#`pv(h!r`qA_ z7%>R?%A&J1TWj3qPGz}`+;Ts}L;!&dKfLevCs}F%1$!6@!V&Rh>_Q+AgM(52k%JqX z86x2z+;Mcdb&XEY^vvLDZv^LFZcm195D%k;al|{+X2LW3C#+UbQu87#;68v|M~{gw zqneRK03Gw>Z~{^1y6L}<1i6{pUN{v>MNsA{B#sz#c6C|wCpCY9 zqonC;ZMLp0Z%}T2waI2miB_)xTXB7!-^2>@1krQFpF`bF0GEwgbiL@UNhH-&o( zp=SS$J49;?Znp5=iQ^{vfP8h+4kvV*@H`1ESG4aOPugS3 zc;adTfOQsa$%t77$Us0+E&r_vz{hIFSStW^$xw+V8r~+y=%xOo>LG)eL@ui@V%TRB zg<4w40P}0UYO`7ADd@UJvD(^eO}gKTKH+Vk!pLM&M9I$~y3$LOVdRB-5#VPo7j@aE zaW4#(oMX|@BKMm-*u~C0@j>Ta9qbQzY}LCuFE21Zf27SBmF(w!E#3mkA2TIG83_4- zq9O+ehoF~tmb%75s9sL}_7aarT!4Da=zgv5-}?j)jf9w{Dj9Vp3X=Pk7Oi#&Y8CYn z5{on)FL&bcz%f8csr*+K4I{iHHl6awv5LYF$=F>cj&sV4CtnlXuZ1;n1oNpZ`X0{FmVUXDwAKwV2hS3a0D5BlnK> z=XPoj*C9qF3VyoL(zI8E-jp|Q+^F-pp$jnPc9%mRTCXQ4u$z@@9ZtH2l62oCWy>}O zg2E=?Mhydlyq#l$($$(YeBYf{5>+Mo{||d_85dRC{(D;(7^swzCK3W73>_+sGz>$B zNDb{UG>m|NpnySl#{fePNDLT+bj{GAG(*SGF#Ghs_x-uOuIG8)KCkw>rH-=}i?z=4 zh~Mvf)cY=O+Xt&>FGk5IDMCz_t4aIJ99RuSn)7S3C3iQ^R@naIy8PJbx~Y%;a5h%P zcI;S}GnUXm>kLvP->IgK*RP$Lq?2>=z`yb5T)cG2%p;;%$AXy!Qs`snRR9#v+@V&9 z3RfT0eGl)r2yr@abCB;#MO5-~Zp1ozlPc+54jsB80{8qtI0JWLxu^%i? zJ~dRdj;VAzb9&LN-ovuxQ z`0Z3?;}9Ck!82Sm@%oU0QmO)*-N}B;To7YOlakOUa^Cs_a$>{&c_weSJxKxis(cm4 z`m1t%YXbDOFc?T*olO=Hc+$2Fzf#U+oC1o%&ul8h;=2_F#j+*L+mb!m$1*WI29mzL z)779Ol5b$Z|14PwWi~m@VN|`d@4ed%!Ym05`;VGm_8Fl7US?7^nx9=UBUPkZ>M}IQ zD}VoB;Au+2vY0Dct41dvINx2qRWa`#)2SYE2Li0w;Yl^y%Y+Q~lJtHG)kJ|A;GjEw zu+vjB*809dCL_o(OD(3;^R#@X<(v>o20o?xx9r|M=oG}Z-+H${A^RlpET7N*dnze7 z#CcK}rW5ItZkeML^#_b0dJkBy)m%*9bJe;oSC9MbW39&v%zjkjcOA1;Z6|(zR-|r@ zVb>V_tzT-@wY|J#YIakii^pJl>YFqfSO63P2}f&(Rh!#hnaapLB~X*d192a~MwC1K zp6tn}?>;>XQXEP03zud!$)v{~FZv7gw3jwN{(v_5jsy39mr3z0=gCxGOEl_dcUq0x za-1Mi323m&MUcZ=n6YXUzeTCwvb;pT0AI7!ebx;RbKKQ@cm=HOCHuzE@VeB}k;wZN zCSLf| zPCM_@wW0^{15TiVYSU+h&xhq87j@1Sn+Lnn^BBhRnOlNB!BlgEqazBu|DfQKRgwdQ zb-t@dZdmOiLG1bFp|ZJg_l$UHzWh%=f~k0oO6`7H1sMBa3m${+#CQ#iN;V9oS5*q^ z^1uZ;Uo2c4G^!FWo@E)v05}-1J>XadVu$577fk3m40RKT2K^ZOk$`ho3JtNG@qnln z){f;#Xegsqn2s|A;jWQ3xbkDd1>)mwC8pJcFI^ab3sBTM_;X8 zAE-sC0tClQTMS{U+Ohta7-;Lt;e=7B?FCJmovll*a!KDimRrUjFx*GmP-$i<+eC14 zUXt2>ca62&+OkvFg1BXNS8`|l$T7KlpalKQn#B%?rqe#Z8+V|HFe*<2@bVZ2O}Ky<`yCbt@V8!)PI%dZXB zJQ8gy7(#R=i%nG9pZlDr#Rb&+^&?;6hAlhOSJ}5$Mkex}3qf`B9Rm1F!fIZT&^V83 zWeegG=OdQ}1*1wI$G0|wDu<)9M&Uf@J^4aGyU|RhC~>DX^)f1bhtcvOUwn8yStr|d zh+kUyxn*ypqdwM#{)O3?vk~co+1+P}J({P>rS`vcfUDe>tYsb_AMdm3yq>DR>)S_X z+m9)`alfF3jmSMxv2eZpmji0!)bW! zEIY32-&g!wZ29C21r3o?zu+hE(5#H(^3iMnNCe0@o2gdtD z1+7ERq;ygb`oa93#cEx}vM9|%ZEXr|<-kImk}y+#TJ!9Jbd74V_)w+|;<7-ppuODs z^(-;hrOZ0tZE5Wsc!ipDUcQ#D`nh2>vn6R^RD|;P=V^I$jf1~QstgT` zRnKo&yeZ@`qZFllGAv=cZZ7Gb;^fsfuFc8`@=st-0wRclQ#QSsdk&pT03I|@EoU2Z z9YlJdcP74>LUDa&HgeMQk(e_#bMrBu44o=&N^yMsACcDjfNJ1JXT~scAN85 z?%>{c3aLv>0=lRRh*@vYH3|B7H<*@Nf2%brAGLa(;Y$*qbddYHecN7MEp$@p z4ia>p`?8E`90G#;(Wqz<8LJ)7!J0ukbk`biE147{f8yV})AJf>S1K*ih`BB6%o7Qv zMYUvyj1E8mp!^P&f=UO{M@&!Ggxb?|)>&S>iGHxFz3cM$=20yxcre}eTBBe}F&N`Q z;`heqG=jZ1kzY73?R)+n6=9|Y5_>lW$l-E?l%T`tXhF*XkuDkVB><*^Q^I*eC`&1d zT?-v~ETh6mbCT(iyTb2h6keox*MsdOkIgx*Eq?Exzksm|{rZ&0nCEt#=dx#C)2gD^ z4ADf2QS`8><7zstpO#~N(Gg`>?~F4BqSUJtCd1yNN_V^YEfrF3J@v2e$7lt^H`mi5 zz7y(?SAPG-IAWF{!a2aJvv=&fzZWBk^PFzoE0y*GF0#uv#I@tNr4FCm+Q*mC3%ef5 z)SnE1{5l$QWAO0wB=TI^x63^h6UI;%$78QwvcoE@E3tH`W+i4NUecayxCvY6z0aSi zRum^q`zyN8v-lXXyC&u+q#Vhf#$LTWPpGqB9ER8qcFib>{?F@vg;k^)F@T9DOnlhf z(knaIVoZJQ<-faL<8u76c|we!0V5mx4(Da81d?Vo4%%@0O2F(+6P2$wbvaB&J<^2i zE8sZneheH)(RF0iyS%)-xMuC%T8Wj3da~KO*(RAI?*r0`-u`d50JZ(ulFD!86M%-j zVnYt-HB9k2cZm~PDl;)Ifs`iY^i-0+-VQkX=6|mYXyVsz0jJNRbZV_NjyO0TO3ocr z@z$r_`Bo+JrzoWkd65R7>TPyx7Kwp}b?V(LegtD`-v*g78q z%(XLz?c9IrJ%57#I~u>5Iv6Pjhot@7R>ldOSEyJHcSdm*ZT+CZual>_5J1-w;(E&q-E~H#(*RrJB$;VbMrYpi zo>NOSS9<=B$ZbAphk$Y#9WW>DS{kJ)TALYDfX>_H?MoQpkZn%mkAU_Tys@pq-BR;% zT{Hi4hHG9Bz8g`@><| z87`gN)cG1oJ(u(co_V}c5b_k4g_4!;LRO1b4o)Y{a9lisjqNR~lyTRJ5i)MZn0s+1 z%DSn*@nB~Gn&vH%l;!mMnS>{4sM@|JL_~iMYUUHoEam(HG@u$oX(5{;oQKz>o*oV% z>e@buAmVzT;ysOOT^1JCsc8`&G!95Z1{yJ!=X7OJx=_%h!&8tm_p z)jC+jBZRwkJz>CZDYuI>7Dzdt-lUc&?)c3g6ntzd>NM}a<8sK&*BMpuic)_F<<}TC z$959pUuUp&Ykw_?U0%GVrFpX1_w+d~iBv~NSs3#b*jJ4b!N6eAaz|T-57|}P^i>*n zgX0#Y@ZS?fOpf8BXZYwIewbjwsBK=8mIC}FroKEK4RoEcOu>J&03Uw@#iM9hj0UJK zDn+w9U>bkdvaQ^l#0P6^&-R4P4_JNKYnJA>$jvtg77I~S?^6^7ynbADzi9yk+WqfS zX0JD-=bhbZNq*qwU@Iw)INF1s-{4a947|j zIm*9UClqno{4HQ1*mVqJJrHv%+cpoVkAOP7i)ezXK~1PtfaLBfmk44zar_ayY@3+w zg4?Hjs+9y^dR--O!~%KsrfO`zJ62$iQC9FBEm!&@7XbCyULGkjcu46J=e%-Q1y~vR zcQa3Q1Jwiyv2qxw!%BO3z4jkC+9xt+Xrg?$ka&-5Cd}n(i;#&GGEcIe=ZTw70X8ux8z)j z24$SD!Dg3L-bs1y&Jj=cEtmyUG3U-byv)-d8OUH*Fc;3DRd->HDpuI6_GV#0xC$?B zt5--X8x#QBFKyv(Qxd~iccO0Y+Fj9@%?zP#KmCq{AP;P&K-&g{Jw0Wy)o=pFhznI$ zd;9v{-T{~7heu|QBuHXC86V^n#SCM7w5VQONdk?^Z#wH04t=T-ah?K_z~XT#TsruY zFCgqt)>@Z@X+2O|=mAOAxaai&^E}nG2OO8N7=y}i>6dcYqaxhFiHP*!17V)4O7o4+ zG(NDM^2`(5GJcv#`Ql`hai-!mn!HoJUc5xxj0>Epx*zVO-wIXIIBBC9HJ)(h!--X1 z5l<#dp#+uEA-kVKpj$lCE@CCgFD6WuXcTz0L@2A_Vk$5K+`pr#2r0nUd}Q9#4z%Ce zn8Occ4vJrxDkaMlbu~hxpUk?%g-$`bQuwT3`d+Z4^q6* zezNAzv__ZnJduQ78XtXqW=XeG9$UmegY`s2i5bc#g$c*-RgXp6)~rG)>cxZAeUYI5?)W}Md!iB%Y=hz#t%_9Wt^X;~lYXTIgoc#vgn?sr&u zcvS)#H>6uBzfh_)~K zZdN^{jj-?0TdXQ#%WsZgt;B}*`45kvOJ07KySyx<-CE^|>LsI{#J)g)i2w7_d&- z92MV^uGn>_9w!d5PIn|UZ+_TX=*^pH1$H~y*gj)iu>gGVmlQb!j!z#ZVxQj@G%)L{ z`l8pzHtYpVidg@G9c?3OCp;bGqzBMcw!wHDhrcN1&(3|6hl2%Kr{gv#GnDc^Y}LEV z3D0ZH%A5byG_Hq%)Or28Q>XaMSpx>126nM1{c11YhCfv9@I()+x}_I(P~pY0q*#qiD<+4m}|V zUwiLM8rnT>X0__{ERt;#3^==`^|GUDbYr$9L*au;LG?lc_1w=ZnBn2blX~j>KY)nd z#kVAXQ!&%;5PwQ_T`!EwV`DnxaIXkXhjx_OnBLxagY1`&aGXPbZx|}Gfa(qB3c6*H z5p!-_^)Pm=e6G49Rh5euX=|Zv#wZ@++TE3QJ+3-~yt+BK#=H_@{^#$L0YSOMi03_wJuxvFpx^yOR^einb2A*iAmOE7@8l*1g7Zdb6GnahLFndLty~yef_R@m>pSAAd+*!RLqRf3ViqpEC%0>`dCkiU6cS zx+fOhVNkBkyF`SbISTSrEoZrCy+e3opviLV5j#`sl_W%PZZtB0A~$Ag{DD ze%ASTiU|!T641)^z*Nv(w#}S8@RDVDL~0I_C2>#qBB%pRCF*9q?D({|wIG$mC+~9z z+6Vb{VGKd3=FO@=bizNu;$G-ieU^$rd^#gy)}~0#%;}0Dyq60>`M5&v-IXiPsef;<+&7;;1x4W3-kP>vU_E2dSzoA54_=|9co$i#Jr~%GE zt1s{`%AaRnZEZg9qVKRI^^0j;VG_O(EvVcR*A&LEd%m5+xYl-O74C8TZK;Y_Vtbad zJP`EWp8Ne|#MJv9HYmDYQUZ0bdGff))60Eqxb13D3$c_Q!7#mUYAF?>fCj|nQr&`5 z29(TdwLdrAG4NpVs*m1uT!iiO4V;I|oyO3yZ1$?f_gh`>ZJ&RIy`$j~pD83Cc3 zuh-v3Io3%ye81;&Ld?~AZi@3k@f8gr#drbYMyfZBEj{Z7%_x@U>2-AO)9Y6J}*8K$`O~wL{9`fgWQV{=@d9};@LFAF3mTcHt z?$@hhaBczN>iXhmHlb4QnMC$6HLX;Pq77x_#KPAR6xeKq&!R{d>C_uqHU%OBvF`_r zV2x$m;dAS7L`H7b@P|PS`Y1V{3K~Xapkz`r`r}lh2y2D?h-m*Efvh*<1Na4XmA5W9 z8u&xw+Ao{;HDKxw&uz1+n+^oY;6FU4eueif*ZJmODcXkQ=JH>+UetI2W;CD*#_+R{-L$zwXo~f&q%XQjbfpI3_8#j&7o=eBAi&Y zbik3FHWAs>Pb_*z4>{#9?(H$Te<{rNh>UT{Rwkwvu9PH~t+Rh?tWRgT%7E#NtJ*hQ z97*=Cq;qm`;kFeuor^wCGLk}#pQR)4LVT*X7zG^!Z1C@f;s&va+_wGWIL};cg{4o= z8<7n8O9;tQWPw~I9DVwqN0gbAPLMi_ z`P^G>(mI_zDzqP7z7ihpJAByT;lX@M+QwUku_!D--WlFet6kXogQ(=FvgCjK?d?Q| zIilPDLS6HgUbmEXM8Bs@{k~KnZ?t#bi1bP8qA2Itg|1Q&NT0@Vwv?CPGgePT4RKM0 z)R;^fKSvx&qpCT6N@#(5L&KnO(K6e25+5l3-klZRz8>F5?BVMw5KzhQ>c2aX*H^NM zGbnjBOe8iBD%)*38f4QxWTN&t(&Xc3uA4z@4IGG zW7IFdnPJ#ea=c0G%290BG^WXs8@MZ&K(r_59hY0TrFB)*pR2 zIK+s(EHWjGS*Y&&5!tr8cpY?;AP!RvA)ig$*R#A1pU*6R z9wQgFX7nH{r)s|)7+S|9k6U_5xatm6V+N-kJD;oEm3{eq3vpX-R9uw)NNi3t<1J#& z#XL5QK{OMnHRH!dJR)qe?Novbi`plBHe=gKak%3k!#_mLOV*a}9KMqn1!FCugi+s~ zsl0a3K}HdzO?ILd>Kz3=aeEyYU2?ouA2+dfNV~d;1uOjofWLLgUx+VB9zq#$*6-?W z;KligE6Yq1_xdLl{W%m5<(xMpKvlKNu3621!+(V4WXB>*fd20Et;&up$jRl+-7+RYH(%jefJmk}T zniqYkVcSUPDnQGSd=HXxHPBlt>J`d2vEeRtC>t~sXV`#8jWU(G4k}Ex$!a*0#Xuu7r9H0mw$#>6hrIQMXua2oVN4S! z)b>=w0Eh0HPD1-bZ-G^F*sVWfJ3rh$`h9n$g$JMI zIWEt-O(aO~;L>M7J?TegOVO1Z!V0G&eGk_kP{;1kHgRMw+pHymgS3ZBIvif>+h7v}a=421-{whw&fZ8CzjFQ$t z%Ug!~yEf}(@tiG&Fx6#z)BA)+i$_#j6yd%!d^aJMi42nqVw52SuZ<7@pV(p)R-m?+ zXQG|=Ky?~+)sT~FPXcYR@d&x?xO6y`kh!Eg@`Iq_(fPo_3$?U_A<(6pj7vRAv9kM zxU|F1do(lOZ`-qT&V$dJyzMb>7VCN*;4+%Hx~iyOt246L)Lrl4P`ln#>+z~9`5^6C zXf;>69th&R!8V1EOw2)%T`u6Auq&U{*z3ft=bhpdGr%)i^;L8Uj zGTJ+mq`dL5XebNMbqSe*$36F!;O)6oF>C?+DQ-SIc#|h(3JaUI_1`vggnR$dQK_Y% ziGBB0cm!+f7Pw5udpxax9_CQBIlVIB_zUc{0@pfvvrI^yRccY3Q4p?jt~dm= z=pLx(Yt9$Kied=378ZBgZ>RQZai>{?olJkF-X^Z)SNf{Vi0}M}poz?NLQw<~1T<@B zjc$s%e6f7pJucz3eT9`z)81*NN(?QVIWC#(F>6E76Lg6=+elQ0o6>7*K1+IO3(^@n zBrQqyPRoXCJXAv-ILx#Co*oOiYW1Z{}ZwLhf+zpZ+7hc0ev`Ri;5ZfUtt!r$zCNN@6^va zk@$FFb%wybQ2zWv^uxW4K>F(3Bzasl(!NmnZnJ2FB=II|t_~KxG4LB5a0O;hh(osG zZGcl#n@uqIo?)sZ^7`btf_X;ApH*%XX~5$))9y@YzXWVSmGHd+IVz~G5%s5eL>=g* z98zpd=%>Dx6H<4S_erePd8W4@=9jQp6`Z~qKZwYPSKeMAnD5t=ZOyzs<;v#A_LD{8 z)tB#kme@giS;DbH``~&&@D3t3a``bw$qFf`uFoOuLXni63i^Vxu1e` zNOlnm;tgFEkP5gu*@mEgt*ImcvvB{}sQT8)H;db)Tirp(cG#B;9X**u{U zhjyZ^7Nfa|cudxV0v*Cf4^wj8-RAeUOLkQs8Xx!smf@<&&cm} zY6JNr1q)DWOPgwYqtx8Pi*#E_Q3yvs*2tK5c=0#z*yb7?c8R1+D{blY3 zU2zq>2763MJMJUl&p`PNZ3pF(8h61ZhTX7GRr1Q}Ij$0ft1PtlA@t_5E=b2qjOd%} z&a*@1_($9&sU@gf>@OT8$V;q@l*2_#*SaN-&X(Kt)Y?o1iBepKp&yNc@hJ2>)rzl) z5k)srs%sXvt$S;;t`9N}Dm1Ommgq3llz|}?jyMTfWH(IL$YiO&I{P?G?%7xP@(gO_1Gg9m*I)U>GxVe62F9jS-|3dVyx=2& zHe>3b^KlhGzGu*xIPQAy?i(%p`0u#tZRP9i$eWMd)mJ5p%54Xpsz9reK8lX}h}ll0 z5-MF+saGEArURn7=r(+$;@?1oqpdfK6{u|0mxuniTIvH zF;g(nfuQiLYyjkZ${~=fm(AhJtofU{(WGj0Y~c6{px*<_CD(AesM-xFRbCqX{)iX! z{Fchh!cJ>smV!(uqM&s{Uw!KunPo$LCikY%l49Hmh2ipr$CmAxomSgNjZ79~czN}O zspf5;Eb>85&n3cKp^ym-qI?S1&EaWk)y5abWX{l{;aA_2A;;d@T?%ECJ&~EoX2LAy zQXHJGgfm%zIQM3%CYfmSLZOQG5yrk%Ibk>CRA9`~cjXDq(?y*H3Z@;dwKHcL9wjHjazosn8jROnDpW7y5}O%7^>wu z5Jr^lB_~)Bh>*}%;fxaBMQ)_8v?H!v+lRHD`DTMUAryNGn`7Hs|Y`A&bYPa>?K zx%&Ei@0*Q|DN;WHhh`lJ+5NCZp6#hGijVIgQI)MIvw|r^19$ev-6jq(@dw7F`i;6x zGv2@P1^3Xe2V&@9A)X)CCFsMra7F~Kkci6b3Cb5elh)Tm=e!*8Bl7(Pouh|(;du@i zdafe9J@%f>tS;Ltona*#P4Qpj66Q)BCAzkrj(kdW>r5ql@;|($4yvMQv;v1dU4Dil zWfq+@&#iP}$?;kGh#qU}p9z~|)5DE$r!#f>6^1zA_W}!_{8G33H;#DCXF5-&!or!Q ze&-iO+jPI+Uq$@Xi3+{_kMQ>VEmNSD*AKOQ`814)e8@jJxc)gujT{Hb_mpU2@z5^U z2;r5JgGUp0RTvOqgZCF~tmh?ErjV-=ZnhQc!JLxwLnrtZZRhgWfRD4^H#5lc{Cd<| zpLJUGO}Vf@{V%4sJ4ohdxx*b*nf^We^2yqn8(n4ZYnQPJ}$Sq+ky)ln(v(WamHNNrjbD@8@Dii%ds} zMK{uYA;KB6oIR@{pL2LP`rY?RU-f)FV`gRps$-1Fw|%zl^srYe3l#rp0sB9J%ais~ zTZQ36v+;u&?sslC+DR!iQO&>l?~|N3#UTssdvVcLyIxtm zpbgWKCI{7@Xz2LV|9t+iD}evMQOBPnj1O4kpW>R@qPe@Gxf#Ql0zy^I&S#$R12iF{ zTKAq5>ae$O0iFAk6o>SqFqUM`H^iq5{>Tiaf83B0r&Ph$sD{ay7#EwGE$d^i<6`Ge zf%?vir7!ENwfrQ29aV5+e@5NTZ0pp2m2AJ%VOd8^jJj4X7ZJnn4>p z63CEh{lRXTisqnOf>LLM+d-8T+N=^)qI zRn?I4b>$|bu760RrG?^PSO4)kW*5+Q6U5Mt z6TW~PO!b|k0sB@xKW)Vddr;%_`#WH2`|epJi7*$Hm@EmbIe!S7l3gd7#R1=r! zUA%@qXY*D&2>w@O_~#L6xCh=dwz#j3FyUKnD+yp=ApLGZOApmaSy`1w&z&`;K7Bsp zH+}mm3yX1~K7rBU%kPSGSy1V<=Uj%+B?6~}yzPK$isTWBeDLI(KgH+f1rNMtgt~-+ zy$iuyit%4>^|NQU9^Qk0e9XDN*;OCO3*)g!a&GGclUSh_hi)k@Sym@{9blJh;P9V2=X3(q&^0MeSa&Ot}Kl11)fp92+=P4dEw& z$qBGSdtL!;02sTFHW;j;Q@gtiysn0OM^vDm$n`-Am8C?BnEsg-dF~36?#4_nQ07K) zLebxSb}WB>_!dRDEM#Z`D(GM`9FIZWpEC_p-Ad4Bne7s&@dgzWO0B z-XVMy^!k4|)+`H_$xfXGicu5fV2xYRD|ML+?L6|}^&~wTz55`KRKE!3E&>v$E_gJQ z{XvcJc)gibU#F%_Y_;|-7-XQYL;r`1hSA3Xza2mLEE;qPfv`|HX@6q7vHu&2C+dso zw{)!>HHp0jYN0Wg434oKler6)EuUsqYFa@vTNCyTiT`*PqEVja)*Ykj$+c;4aO3X>Y zSRo!=1bpH?9@YWaQPDu5LA~X&e%NiN%?_bOot6ZlA{;v#^<{goQDdUO%(D^2oT5bo zP$ok7MShjHcx=&{d1hNj`@`Zf_z{vNkB4p1USf#Zb|4Pca9dh?|C^T8yBKH|G1Vez z-lJaCD9{70Ssw`d7;{I$@t#3?)w}ZjwrWzg)joI?P`l31@TH-d0UYXeUg@QbWYiZN)b?cgfcPJt`n7xDMK5x362Zk`@uXAB!Nz4O3bqT%b!3YQOrxh?-T{V z!l7?vb3MyE16W#ieHBS^!P+OBfh>iMGv{Xy;0Ub|ZHu^`#_;e)a!?Z*q0Sf<2``T6 zmt}-!9r2L;?FD=Dz(0=+ZRYwe{)hH$sf38K^8=*=)cCy1jG{6p)j#Y0&IA-+FqLCC z-nK^cx9jq77ElneiRK{^rO2C-J_kb|@61e;n0vvT^~10-jprtOy;>in_-2>Qk1uDH zOtD$JKb75LLDh!y3z7U;AHR&{R`vVEmmxnS$~6P99LB`qshtT_rF>vuAjDyGt&v`o zYtTxNvvY7K>KLOZ@8TmL#-symJXz}+Hye{CJb*jxW5zNr&0sy`0ZV10hf(ps)^g?e z?&Q1stnJC>pDwdXmP#MEc1a90$u;4gRjo*rfH%?qB#@LooPVfFm_K?|#3WK`o59^P zD(ecZIWvMWIwzu*wBZU)a=E4g3@mQH1B7mW-3yL(s8F3_-||Fs;5;Uq$u^BY2N(P>3@~V4>e-YIAwYzOFE_o^Z&fWE&eHh%L^^HfLsqUcdky}sa!X?9p?+7CJQ@F}GQbLhz! zjg02nqfQ!%C>o4rjclKwmRUi+eKHscjh!nA1kOxS3fcOgnzRTE)b`hNNfT63$GH~R z_g=q_4`}nWr@qXIAwg^fK#OCbd9$B?hSC?eJNcaQP2B0JeV8Go@IES1b&Wjk-j`^q z4OywxQdxHS!kJCX`^1*7Cb{P_SbXifcA`eu&*@v23*l26jykadU^D}R_{-d|6Yva6 z#s2%kfIq2ddc3cfu2@jvPKhU`iym*DUu<*yoi zkD&%p1IWb37W(9qr#qCN?u*&&p8q2sl;vI~Ef1hlC5~b_GZ1cPnWB^{Ctud*Joh9K z2JF9TG@~8B3=Z`t>Si*9`yQ)D8*QRKcW9jOv>v&djda}cakk^u6CU$yMj=Kzd_F^9_N5KR%flhA)ptYvgj40rS z9aD2%5+Pkcb_f-k1`mfhjFmb!ZxZB(hve`borYlYHd6{aI@a9^ow+`>u~zlR(xKccmT&xsRgd+J5DJzJDfqg zb9%3t)vLncNTrPk*9Vhv17ArVS||Iv3~S=_2}Sk$8+~eX+=gp$HhS5rbr ztp=H(mirE7SW&ur3lCVwyb(*A*A~tY%2l#*t)WlkeM;PagMl3~h2Q}|qdhx0zvl2P zKU4SLOYupM1Xb+33>r3r(&;vk)Nxj1eVGQ9KouRXIz2Y&BdENkh;Y~Ul)8yUrZ5y3^yc79|%(ZPo5RfS((p>!{Z| zjzS-;*H&4=BO|1a@eS|XR*!uKI>$m~`!PngLjxwh;;TQp=1}@rxOR+FQr<3SsUq zoS)eq+I238T<^v-v*d4Xs@ZB&N4;9;wV2b8jILZAOp9M+Pm;~o;Z|t{jz9Kig%(n) z63`9pEt=^hQKa``p^yt{&PM|(Y>{``g8Z+|1c}L4{cZAPG*3>iSY6n zlCW$zn{q6ECd+}6-$Ui(;(8d-%u^P zuHI-y=r9aeZxoo!!>JuX_6vgiP{D(SqwrpFWK?pn_y4iZ>clb!$~p#iR{WK zRfXL#)T{$g3E?r55e%(b7xzV`);XMXW(RvREU#)33TMi=@gc?#4O=C~b3$>uyZLQ} zb%UZxRz1aLJ_s!i!NT*{@KSZ(aW95;jng5-OnjPeXW|YLXY6HP+U>1FT{jP-#cDc z*C6*=mg{fA@+2%DYv85(LK^hT)6HEsC@Cl*Zzh*SG`Q)&#*OAD&EaWyMyZ*PdNksP zMf{OP`8sfwI(d7rEz1IYFVh zXFYdh@tJtL9>POU1C26oQ}W5ESG#N1I?OY;;dO347(>gLm+cDi`V!vrA4DB&r`1(% zm4VufqmFltYsWB9xf2_bj@CQ;wu{OhSDZ&SyM~9RUb|%PIdL&GZRDMWBWGiFM2hh5 zHyb{y3*o&!S=&MH=ul}U*d1*uXBBxZEb&Kj*~~5`V$K*sC&>6GX%K789E1dXV0k!f zVP*WdC6di&-^Ehz^V;;Q_GjjT8}xs|#QzkU{v6%?lY6-N+ayp&Jo>!Ki8eDL9~W({ zjKMnUyx%Y<0je?$L5A*FX2zR7soaaO(yl5|5I;CL(?b1#MqaC!LzU1*Gj_g{DSgnK zp&8$syvMHaz_pQy_Umwk1p0QYf5g5)wu_Al(~|P)`yT6>7kT^6Z0Cndvq!ccKJVxg zU@!+Dyt$5pK@rA?c%Jyd+_~Gwj_Vrf_A(172fnQK8!RjL2=7NaBjJrAreAN(rG|zM zE%3WfHbBkQMX4_QDn-1oo>R#>fhnVz*hyw^R0ZAAzF&4@)lm7o6q3+HLHFv1v>$+0 z-kUDF`P%yfzeVTE{7hk+cmYL3%&_RLu|lTcRNY03e>9yy8zS)x##1Vy@8iAj{3oC= z2!`7y^G($kj!(u13~W(;iFL@4{2q>ZJq7GfO9getn_JZy++}zttENW_J}SPilOhdI%de(#Eah%Oqs;iL;1Wcc<2p-efelLA#weygXMg zlVGOvtrTRhl3Mj?Dg`_(v+rG~ghwvGhem1HvQq97jY~zE%da}GB*wE3`q+F&yBgbEmCZyrtRjqnSmY-@jM=)(R3 zAoWz<_dPOe1_Q|1KbYx@p?5Ic3cs&+MB7$t=Leb}o(gZZ?@4d8Xd5duQL(nQ)X`wq zdU{ps!*})ynX*)c=9(QNEJlTSKfPLb$M2+WB(Jz3jp7=(+p-Pq|vOMe>CpW?JJ*R1_W~4eb$$Mu^sUsu(%Qz@&bZFnk z+DfIT(LzK*;yalonIJ~*k6PmRgZ&6HKuBA_r?;>w#HC~XPG#0AL=YDd2+h|aZ;wn! zpt=%8%!8b@J(E5vY4EoL<)RI86I7an>;?ANg>#=??g{(iS;PvR;k_ z^m*FMiV#q(;6KgGcJEhifdF&xP1s6XmPww86@e3qpKhHlShhSxcfag*J*arV!Ia}b zN=|&b->K8S{gj`Pt36sJ_ppWudn?KmD%x-O*XB5Tns#T~lk=VDX#^hXm;VG>Aro1s z0D5fhA|3o8V5`P24dZ~Vq=)UXE6KuPE1FP(P zki-G%bhZC8Q@D^2bnlhL=FB_Fmj@oJKKl!Y zmE+;n_Ac_Ir5=^fP1bY_fgxB~2G^g@3q?_OHFy)$nD8QQ2f4x~v!a|a1Gw5_ZWFkD zcj6Skb@zwPq?A8;X0=QFCGS_FUo<)(n6Fdjdw!sM=x)o7e7JI_gLn}yAbgjez$8Ht5SDA!qXL^pJj0y zU_BPH=xGsn7j|aR^2NT&l#2Sj{*irbFuQC27md5D0W&rV^3R-oZei=Qb?3kv|9k!Q$)HElPX3N%AN|?C=n#Kjk{o zQP_48saNs{yWv&x95y$8mbADiiKin8`=X7F0?TO6LVtcy?3)#g`))640hP9)IiLL4 z0v)<2Wt!?6)ztp&g+b$RhB&>;LW;-iLY9e7;fX|^$=7}Xk#aGsc{#++cv78}XBRiv zPImVfEm%>9A!GLu$aO&<@=@&$Q35)E|6SHKyEtH(Md8B|7KF&q(-GE`CH!B+HcRTruFlu~RO94GrQ_V(BZ}?ZUk~S>!r6?eRGlOJ z|6PVSxv$fFnmai-H}7M*(Yp9x{SQs~N>_oTf+YES;=gi7Y5Z*_R;oVU4HC;~(#c)# z5Hdz>gf!Dm@ZCqBjPK389HYmrp8EC8x;YoLz*^_@E-b83E{w(OqGlneS#2~-MGVD% zY3;SEC&C=KiiF?2uu?M2@4pLVuu?|dq%-$r*fI&2xLQ{XK->|n|{E-o+2;*^|HD%9dm7G0O%fRR;~{>9_Sd1cnVjWD6nNABHU(a`+Z zGsJa?7Y)S~_67!`1gp_OK6C&krb8wt?=yiTVdRP5FOa`4>L#?L`W>(#ck~nru@TYb7Q7 zk)1+(&qQ5k=9+U|-=E(f-~9Jp?>z7OEcbK2&vXBN&+iV*BU(%c>tkE?brxt$;@$|D zEL=@}yE+)Yv0pVPuV&chFQA{_JJ1aF1EwXK+FxySu&@6h$foaG4WaC`ZTNJAhdWg7 zT^S+MIP+F{@bdJ{onpTEaB}6R2QEN#wkFf0FiwF4Qa!4=S}LD;7}aB#973Q+vSk7h zB*t+I3)_XY5lL#Je8L3uJQ8~ftXSfOEUAu9Z`C(PgaUJ~5W)XOeX|RZAM0izlo&>M zP+#e)W}4lPL&~OHkx^+8IdJOYXrT`|dObiU>YY$IPR%Ea7Wi=K6+T>Wul1$FXP+b^ zFhX`SEtvIsefaYWrfzwAe^3nV_eu4Xgq5OTowFNezQlzxuyER|Y`pSVZY0yG z!W&84Z?#O{?iF!~XM84w`9C}J)9CvKbgY^WZHKt7O&r`}+^sXRFtk!N!>4aKA1-g9 zt83Yrfp=WmxG>&XgpBva>DhIUh_68rO~qfwhVd|E`L`(1^wN?b7w&EN_>6aI-#dW04(M#F~xzQe@?9z+>mh5u+$!t)XpD}*jL~jpGI{O*0MCu3!OGN&>_!?*Quwt-Nc~x*Lv3H? z3JuG$wP0mbh2h~UfH8stlbJ4gnyWyv`*nPi{H}0SV+j%jKuRTWx$ra65loz_M#sS- zZ10C_8t6s~)O^gZ3JG20p2n%tfPCBD+4WULKCjrlIVIt=p8^*%5$b~^jXA}u!I%Z( zvy@VR+(9I9HwzBngAzHVROcA>KLFG-Vt?*qZsbt%^NEZjo>M3EEHX6)CY{uuE1W}T z&+BMkDE=ZXtuIHDlw2I`H4=O^m=OAP@pep^`tho|BpbNdU2Gu^>+!!Ww(+r@SdmN@$7IRI~G`m2gE(PZiLl+rL#)loa z6XY@RK4ZtEWg5d)ADb#yTMZ!LuGNK4rwJ}o-oq^eAUAbEx z&dXTM?Yc9y+r)CGQ=JjGb9BJtBXl8=Mo4z*k_^R@Bp3jDuQUMsk~OYZgXC(<4j_^0 z7y#H`%m@I^T$3Rx0j(pwNHRarm7mTO;p%a`Eom4DA~1V=%s&L5Z;U#>uc0B=voF)K z+av@gcL2csCa44>9pS|Qn&FYuiDQloL(b0e22w}}eTeW}NazFVm2CoRel@3nyw~H) zH3e!X3}(y z!;-YRSrDJ_Pc9#p`Vma2?u!qElBR);Z>HzIg+S3ztsk~gc^ zsYXVgY|sZZ`dskE&%)g{dQmHK=AZe zs?~;c&@|(zD+)`#3*%{1dOo~gAK9gLJC1HnGdRU zh$^3N^x(sMe-<3Q)ci2xfeXleaL@nVnbSo!R3Py1omV-_-wPHO$uKiLa8#RCXbny_ z{5nwWwl?=(j-lCXSZM(j{YL-C(qH!or@s0|f51XnxA_v|cH|?*V#w@8_ze!8*fTcGpNCErXz-0u$pY1N}c@M}pzfbkoY}8_bK*iXU&a+3Sc%SIO zq{2`T=z>`E6Zxhb9rS>9Ah%F;dBE%k5&gR$A>sDc^ajSh<4AU>#k3~Pil(epem>1! zlQHl8>9#;Lll6VOOtwVv+mj0q&fChq6~s9+cGOk~=)NG9)~=_yKSC@T>7;0vHqYc2 zH!mgBIL3Yv6Y0U8`KQPE@##-ogVK6W$?9uSK8C`O+gQHHzyx?3IY-_Jrj_3277;ZE zctUs9N+eyGwv1c1<>=&te6l|CEZb~0U}ONc(gxz=4p!a3#{~mO2;LV#;$d(N-`~`9 z7SwF+Y2+X5EN|oKe1g>boPJCZimjgc!o%ldzTT6_L z6T<2-+j>X)*waQ z?Y~g1$hrXP5QMu}zWRAU{AD80ngMxlx@*$>Shq0B0)<6H^i&f~E2c!BCBb}%ov!OZ zJ1E&sM4ge^^u5txcI*)}0ekC!w#fkjF&}dv1PUn6V4F6T78&>bPd}!{HzON7jgmw_ zy9J!)D~}$dh{BQ&2HUbbRtt}xzWHw@_MB9)pqFuYJ>_nifOJo60UUL4oon?mrQhwA z>0P=U0_N7o+a~{pkC0LUB5yzy?UPbA&e8o^unX`M5}c$HGZ^y`QkR;A=^ zQFzs@Vn-ox%G0Yr*fQ_D^0K(Ld2jo&Sc4Ob!NCg1;cyuSuG~2JSfR=Bf=cgU)8c3= z%j-an5JSy=bM!4AV4F81F;oHOaQ3&Si9;r=?g_k6zLrp_0iTOrTem`t?jq%ot^WXfiQ3iVC$EQwF&3c*|{&V9NENHs1!B3 zr#Bp=`p(e#MF{bXhv(J_*>e}-%ick`Cv(2c7Z-0-3TMDC0-2=6l*69(_8{@`BLC`a z9_tT)G!$&TLdH9WZzUy(c+9Lt@PHXBxMcOZ3W$5a@`jY*6b%PYL@>ynb$vluZUso@ z$j^0La`_q`E^flAiw(>qfaW0ZRwOtfv$rtcF(6>&Gs43+TM&-k%SC2oMqn{3!CuKJ z8WO@)S{SOe9a^uz(vNdV9|wN^`ezMcmgd6Y0KOrP62+`1J?c8}<1+t$@sF3I_5T2Jgis6s literal 0 HcmV?d00001 From bcae4c00fffd1979774bbae564f9d08fedfcdc5f Mon Sep 17 00:00:00 2001 From: kk_korp <476089417@qq.com> Date: Sat, 8 Oct 2022 20:30:50 +0800 Subject: [PATCH 19/36] Changes --- .../know_data.py" | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 "HW02/\346\264\252\351\222\246\346\225\217-HW2/know_data.py" diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/know_data.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/know_data.py" new file mode 100644 index 00000000..3445f429 --- /dev/null +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/know_data.py" @@ -0,0 +1,35 @@ +import os +import random +import pandas as pd +import numpy as np +import torch +from tqdm import tqdm +# 本文件的主要目标在于了解声音数据 +if __name__ == '__main__': + split= 'train' + phone_path = 'libriphone/feat' + mode = 'train' + label_dict = {} + phone_file = open(r'E:\kpython\ML2022-Spring\HW02\洪钦敏-HW2\libriphone\train_split.txt').readlines() + for line in phone_file: + line = line.strip('\n').split(' ') + label_dict[line[0]] = [int(p) for p in line[1:]] + print(label_dict) + + if split == 'train' or split == 'val': + # split training and validation data + usage_list = open(r'E:\kpython\ML2022-Spring\HW02\洪钦敏-HW2\libriphone\train_split.txt').readlines() + random.seed(0) + random.shuffle(usage_list) + percent = int(len(usage_list) * 0.8) + usage_list = usage_list[:percent] if split == 'train' else usage_list[percent:] + elif split == 'test': + usage_list = open(os.path.join(phone_path, 'test_split.txt')).readlines() + else: + raise ValueError('Invalid \'split\' argument for dataset: PhoneDataset!') + + print(usage_list) + xxx = '2007-149877-0023 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29 29 29 29 29 29 39 39 39 39 39 39 39 39 39 39 8 8 8 8 8 8 8 8 12 12 12 12 12 25 25 25 25 25 29 29 29 31 31 31 31 6 6 6 6 6 6 6 6 6 6 10 10 10 10 10 10 10 10 5 5 5 5 5 19 19 19 31 31 31 31 24 24 24 24 24 24 28 28 28 28 28 28 28 28 28 40 40 40 40 40 40 40 40 40 40 40 40 40 5 5 5 5 5 5 5 5 5 5 12 12 12 12 12 27 27 27 27 38 38 38 38 38 38 35 35 35 35 35 35 35 3 3 3 3 3 3 3 3 3 3 3 3 3 28 28 28 28 28 28 28 28 35 35 35 35 35 35 35 35 35 35 35 39 39 39 39 39 39 12 12 12 12 12 12 22 22 22 22 19 19 19 19 19 19 6 6 6 6 6 6 6 6 6 31 31 31 31 5 5 5 5 5 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 2 2 2 2 2 2 2 2 2 2 30 30 30 30 30 30 30 30 30 30 30 9 9 9 9 9 9 9 9 9 9 9 9 13 13 13 13 13 13 13 13 21 21 21 21 21 31 31 31 31 31 31 31 31 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 36 36 36 36 36 36 36 36 36 36 5 5 5 5 19 19 19 28 28 28 28 28 33 33 33 33 33 33 33 33 33 33 33 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 27 27 27 27 27 27 37 37 37 37 37 37 37 37 37 37 39 39 39 39 39 39 31 31 31 31 31 31 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 30 30 30 30 30 30 30 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0' + print(len(xxx.split(' '))-1) # 500 + feat = torch.load(r'E:\kpython\ML2022-Spring\HW02\洪钦敏-HW2\libriphone\feat\train\2007-149877-0023.pt') + print(feat.shape) # 500 39 From b910683b2e5ddcc16a212567da7972ed774beb6f Mon Sep 17 00:00:00 2001 From: kk_korp <476089417@qq.com> Date: Wed, 12 Oct 2022 17:35:56 +0800 Subject: [PATCH 20/36] Changes --- .../attentionTest.py" | 89 +++++++++++++++++ .../modal.py" | 95 ++++++++++++++++++- 2 files changed, 182 insertions(+), 2 deletions(-) create mode 100644 "HW02/\346\264\252\351\222\246\346\225\217-HW2/attentionTest.py" diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/attentionTest.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/attentionTest.py" new file mode 100644 index 00000000..49b8460b --- /dev/null +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/attentionTest.py" @@ -0,0 +1,89 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +import math + +class LayerNorm(nn.Module): + def __init__(self, hidden_size, eps=1e-12): + """Construct a layernorm module in the TF style (epsilon inside the square root). + """ + super(LayerNorm, self).__init__() + self.weight = nn.Parameter(torch.ones(hidden_size)) + self.bias = nn.Parameter(torch.zeros(hidden_size)) + self.variance_epsilon = eps + + def forward(self, x): + u = x.mean(-1, keepdim=True) + s = (x - u).pow(2).mean(-1, keepdim=True) + x = (x - u) / torch.sqrt(s + self.variance_epsilon) + return self.weight * x + self.bias + + +class SelfAttention(nn.Module): + def __init__(self, num_attention_heads, input_size, hidden_size, hidden_dropout_prob=0.2): + super(SelfAttention, self).__init__() + if hidden_size % num_attention_heads != 0: + raise ValueError( + "The hidden size (%d) is not a multiple of the number of attention " + "heads (%d)" % (hidden_size, num_attention_heads)) + self.num_attention_heads = num_attention_heads + self.attention_head_size = int(hidden_size / num_attention_heads) + self.all_head_size = hidden_size + + self.query = nn.Linear(input_size, self.all_head_size) + self.key = nn.Linear(input_size, self.all_head_size) + self.value = nn.Linear(input_size, self.all_head_size) + + self.attn_dropout = nn.Dropout(hidden_dropout_prob) + + # 做完self-attention 做一个前馈全连接 LayerNorm 输出 + self.dense = nn.Linear(hidden_size, hidden_size) + self.LayerNorm = LayerNorm(hidden_size, eps=1e-12) + self.out_dropout = nn.Dropout(hidden_dropout_prob) + + def transpose_for_scores(self, x): + new_x_shape = x.size()[:-1] + (self.num_attention_heads, self.attention_head_size) + x = x.view(*new_x_shape) + return x.permute(0, 2, 1, 3) + + def forward(self, input_tensor): + mixed_query_layer = self.query(input_tensor) + mixed_key_layer = self.key(input_tensor) + mixed_value_layer = self.value(input_tensor) + + query_layer = self.transpose_for_scores(mixed_query_layer) + key_layer = self.transpose_for_scores(mixed_key_layer) + value_layer = self.transpose_for_scores(mixed_value_layer) + + # Take the dot product between "query" and "key" to get the raw attention scores. + attention_scores = torch.matmul(query_layer, key_layer.transpose(-1, -2)) + + attention_scores = attention_scores / math.sqrt(self.attention_head_size) + # Apply the attention mask is (precomputed for all layers in BertModel forward() function) + # [batch_size heads seq_len seq_len] scores + # [batch_size 1 1 seq_len] + + # attention_scores = attention_scores + attention_mask + + # Normalize the attention scores to probabilities. + attention_probs = nn.Softmax(dim=-1)(attention_scores) + # This is actually dropping out entire tokens to attend to, which might + # seem a bit unusual, but is taken from the original Transformer paper. + # Fixme + attention_probs = self.attn_dropout(attention_probs) + context_layer = torch.matmul(attention_probs, value_layer) + print('shape', context_layer.shape) + context_layer = context_layer.permute(0, 2, 1, 3).contiguous() + new_context_layer_shape = context_layer.size()[:-2] + (self.all_head_size,) + context_layer = context_layer.view(*new_context_layer_shape) + hidden_states = self.dense(context_layer) + hidden_states = self.out_dropout(hidden_states) + hidden_states = self.LayerNorm(hidden_states + input_tensor) + + return hidden_states + +if __name__ == '__main__': + attention = SelfAttention(2,5,4,0.2) + x_in = torch.randn(10,5,4) + xout = attention(x_in) + print(xout.shape) \ No newline at end of file diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" index 26379b28..ebdcebb4 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/modal.py" @@ -2,14 +2,99 @@ import torch.nn as nn import torch.nn.functional as F +import torch +import torch.nn as nn +import numpy as np +import math + +import torch +import torch.nn as nn +import numpy as np +import math + + +class SelfAttention(nn.Module): + + def __init__(self, hidden_size, num_attention_heads, dropout_prob): + """ + 假设 hidden_size = 128, num_attention_heads = 8, dropout_prob = 0.2 + 即隐层维度为128,注意力头设置为8个 + """ + super(SelfAttention, self).__init__() + if hidden_size % num_attention_heads != 0: # 整除 + raise ValueError( + "The hidden size (%d) is not a multiple of the number of attention " + "heads (%d)" % (hidden_size, num_attention_heads)) + # 参数定义 + self.num_attention_heads = num_attention_heads # 8 + self.attention_head_size = int(hidden_size / num_attention_heads) # 16 每个注意力头的维度 + self.all_head_size = int(self.num_attention_heads * self.attention_head_size) + # all_head_size = 128 即等于hidden_size, 一般自注意力输入输出前后维度不变 + + # query, key, value 的线性变换(上述公式2) + self.query = nn.Linear(hidden_size, self.all_head_size) # 128, 128 + self.key = nn.Linear(hidden_size, self.all_head_size) + self.value = nn.Linear(hidden_size, self.all_head_size) + + # dropout + self.dropout = nn.Dropout(dropout_prob) + + def transpose_for_scores(self, x): + # INPUT: x'shape = [bs, seqlen, hid_size] 假设hid_size=128 + new_x_shape = x.size()[:-1] + (self.num_attention_heads, self.attention_head_size) # [bs, seqlen, 8, 16] + x = x.view(*new_x_shape) # + return x.permute(0, 2, 1, 3) # [bs, 8, seqlen, 16] + + def forward(self, hidden_states): + bs_size = hidden_states.shape[0] + # hidden_states = hidden_states.view(bs_size, self.all_head_size, -1) + attention_mask = torch.ones_like(hidden_states[:, :, 0]) + + # eg: attention_mask = torch.LongTensor([[1, 1, 1], [1, 1, 0]]) shape=[bs, seqlen] + attention_mask = attention_mask.unsqueeze(1).unsqueeze(2) # [bs, 1, 1, seqlen] 增加维度 + attention_mask = (1.0 - attention_mask) * -10000.0 # padding的token置为-10000,exp(-1w)=0 + + # 线性变换 + mixed_query_layer = self.query(hidden_states) # [bs, seqlen, hid_size] + mixed_key_layer = self.key(hidden_states) # [bs, seqlen, hid_size] + mixed_value_layer = self.value(hidden_states) # [bs, seqlen, hid_size] + + query_layer = self.transpose_for_scores(mixed_query_layer) # [bs, 8, seqlen, 16] + key_layer = self.transpose_for_scores(mixed_key_layer) + value_layer = self.transpose_for_scores(mixed_value_layer) # [bs, 8, seqlen, 16] + + # Take the dot product between "query" and "key" to get the raw attention scores. + # 计算query与title之间的点积注意力分数,还不是权重(个人认为权重应该是和为1的概率分布) + attention_scores = torch.matmul(query_layer, key_layer.transpose(-1, -2)) + # [bs, 8, seqlen, 16]*[bs, 8, 16, seqlen] ==> [bs, 8, seqlen, seqlen] + attention_scores = attention_scores / math.sqrt(self.attention_head_size) # [bs, 8, seqlen, seqlen] + # 除以根号注意力头的数量,可看原论文公式,防止分数过大,过大会导致softmax之后非0即1 + attention_scores = attention_scores + attention_mask + # 加上mask,将padding所在的表示直接-10000 + + # 将注意力转化为概率分布,即注意力权重 + attention_probs = nn.Softmax(dim=-1)(attention_scores) # [bs, 8, seqlen, seqlen] + + # This is actually dropping out entire tokens to attend to, which might + # seem a bit unusual, but is taken from the original Transformer paper. + attention_probs = self.dropout(attention_probs) + + # 矩阵相乘,[bs, 8, seqlen, seqlen]*[bs, 8, seqlen, 16] = [bs, 8, seqlen, 16] + context_layer = torch.matmul(attention_probs, value_layer) # [bs, 8, seqlen, 16] + context_layer = context_layer.permute(0, 2, 1, 3).contiguous() # [bs, seqlen, 8, 16] + new_context_layer_shape = context_layer.size()[:-2] + (self.all_head_size,) # [bs, seqlen, 128] + context_layer = context_layer.view(*new_context_layer_shape) + return context_layer.view(bs_size, -1) # [bs, seqlen, 128] 得到输出 + class BasicBlock(nn.Module): def __init__(self, input_dim, output_dim): super(BasicBlock, self).__init__() self.block = nn.Sequential( nn.Linear(input_dim, output_dim), - nn.Dropout(0.2), + nn.BatchNorm1d(output_dim), nn.ReLU(), + nn.Dropout(0.2) ) def forward(self, x): @@ -22,6 +107,8 @@ def __init__(self, input_dim, output_dim=41, hidden_layers=1, hidden_dim=256): super(Classifier, self).__init__() self.fc = nn.Sequential( + SelfAttention(39, 3, 0.2), + # Attention_Layer(39), BasicBlock(input_dim, hidden_dim), *[BasicBlock(hidden_dim, hidden_dim) for _ in range(hidden_layers)], nn.Linear(hidden_dim, output_dim) @@ -32,4 +119,8 @@ def forward(self, x): return x if __name__ == '__main__': - h = 10 \ No newline at end of file + attention = SelfAttention(4,2,0.2) + x_in = torch.randn(10,5,4) + x_mask = torch.ones_like(x_in[:,:,0]) + xout = attention(x_in) + print(xout.shape) \ No newline at end of file From f740ab82ea7914fa22ae8dc029ddd6b9136ca293 Mon Sep 17 00:00:00 2001 From: kk Date: Sat, 22 Oct 2022 20:55:47 +0800 Subject: [PATCH 21/36] boss line --- .../mlhw2-final.ipynb" | 957 ++++++++++++++++++ .../version.log" | 21 + ...5\345\212\252\345\212\233\344\272\206.jpg" | Bin 0 -> 75837 bytes ...7\273\251\346\210\252\345\233\2760.81.jpg" | Bin 0 -> 29436 bytes 4 files changed, 978 insertions(+) create mode 100644 "HW02/\346\264\252\351\222\246\346\225\217-HW2/mlhw2-final.ipynb" create mode 100644 "HW02/\346\264\252\351\222\246\346\225\217-HW2/\346\210\220\347\273\251\346\210\252\345\233\276-\346\234\200\345\220\216\347\273\210\344\272\216\350\277\207\344\272\206boss line \344\270\215\345\212\252\345\212\233\344\272\206.jpg" create mode 100644 "HW02/\346\264\252\351\222\246\346\225\217-HW2/\346\210\220\347\273\251\346\210\252\345\233\2760.81.jpg" diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/mlhw2-final.ipynb" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/mlhw2-final.ipynb" new file mode 100644 index 00000000..fd19adba --- /dev/null +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/mlhw2-final.ipynb" @@ -0,0 +1,957 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "OYlaRwNu7ojq" + }, + "source": [ + "# **Homework 2 Phoneme Classification**\n", + "\n", + "* Slides: https://docs.google.com/presentation/d/1v6HkBWiJb8WNDcJ9_-2kwVstxUWml87b9CnA16Gdoio/edit?usp=sharing\n", + "* Kaggle: https://www.kaggle.com/c/ml2022spring-hw2\n", + "* Video: TBA\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "KVUGfWTo7_Oj" + }, + "source": [ + "## Download Data\n", + "Download data from google drive, then unzip it.\n", + "\n", + "You should have\n", + "- `libriphone/train_split.txt`\n", + "- `libriphone/train_labels`\n", + "- `libriphone/test_split.txt`\n", + "- `libriphone/feat/train/*.pt`: training feature
\n", + "- `libriphone/feat/test/*.pt`: testing feature
\n", + "\n", + "after running the following block.\n", + "\n", + "> **Notes: if the links are dead, you can download the data directly from [Kaggle](https://www.kaggle.com/c/ml2022spring-hw2/data) and upload it to the workspace, or you can use [the Kaggle API](https://www.kaggle.com/general/74235) to directly download the data into colab.**\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Bj5jYXsD9Ef3" + }, + "source": [ + "### Download train/test metadata" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "id": "OzkiMEcC3Foq", + "outputId": "cc90c16c-ee21-400e-ec08-dfcd422212a6" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "--2022-10-22 18:47:59-- https://github.com/xraychen/shiny-robot/releases/download/v1.0/libriphone.zip\n", + "正在连接 172.16.0.13:5848... 已连接。\n", + "已发出 Proxy 请求,正在等待回应... 302 Found\n", + "位置:https://objects.githubusercontent.com/github-production-release-asset-2e65be/463868124/343908dd-b2e4-4b8e-b7d6-7f0f040179ce?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221022%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221022T104800Z&X-Amz-Expires=300&X-Amz-Signature=2ba9374f35631da068714806315da778bec356da5f69545a4221913853256e14&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=463868124&response-content-disposition=attachment%3B%20filename%3Dlibriphone.zip&response-content-type=application%2Foctet-stream [跟随至新的 URL]\n", + "--2022-10-22 18:48:00-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/463868124/343908dd-b2e4-4b8e-b7d6-7f0f040179ce?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221022%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221022T104800Z&X-Amz-Expires=300&X-Amz-Signature=2ba9374f35631da068714806315da778bec356da5f69545a4221913853256e14&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=463868124&response-content-disposition=attachment%3B%20filename%3Dlibriphone.zip&response-content-type=application%2Foctet-stream\n", + "正在连接 172.16.0.13:5848... 已连接。\n", + "已发出 Proxy 请求,正在等待回应... 200 OK\n", + "长度: 478737370 (457M) [application/octet-stream]\n", + "正在保存至: “libriphone.zip”\n", + "\n", + "libriphone.zip 100%[===================>] 456.56M 3.58MB/s 用时 50s \n", + "\n", + "2022-10-22 18:48:51 (9.09 MB/s) - 已保存 “libriphone.zip” [478737370/478737370])\n", + "\n", + "feat test_split.txt train_labels.txt\ttrain_split.txt\n" + ] + } + ], + "source": [ + "# Main link\n", + "!wget -O libriphone.zip \"https://github.com/xraychen/shiny-robot/releases/download/v1.0/libriphone.zip\"\n", + "\n", + "# Backup Link 0\n", + "# !pip install --upgrade gdown\n", + "# !gdown --id '1o6Ag-G3qItSmYhTheX6DYiuyNzWyHyTc' --output libriphone.zip\n", + "\n", + "# Backup link 1\n", + "# !pip install --upgrade gdown\n", + "# !gdown --id '1R1uQYi4QpX0tBfUWt2mbZcncdBsJkxeW' --output libriphone.zip\n", + "\n", + "# Backup link 2\n", + "# !wget -O libriphone.zip \"https://www.dropbox.com/s/wqww8c5dbrl2ka9/libriphone.zip?dl=1\"\n", + "\n", + "# Backup link 3\n", + "# !wget -O libriphone.zip \"https://www.dropbox.com/s/p2ljbtb2bam13in/libriphone.zip?dl=1\"\n", + "\n", + "!unzip -q libriphone.zip\n", + "!ls libriphone" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_L_4anls8Drv" + }, + "source": [ + "### Preparing Data" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "po4N3C-AWuWl" + }, + "source": [ + "**Helper functions to pre-process the training data from raw MFCC features of each utterance.**\n", + "\n", + "A phoneme may span several frames and is dependent to past and future frames. \\\n", + "Hence we concatenate neighboring phonemes for training to achieve higher accuracy. The **concat_feat** function concatenates past and future k frames (total 2k+1 = n frames), and we predict the center frame.\n", + "\n", + "Feel free to modify the data preprocess functions, but **do not drop any frame** (if you modify the functions, remember to check that the number of frames are the same as mentioned in the slides)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "id": "IJjLT8em-y9G" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DEVICE: cuda:0\n" + ] + } + ], + "source": [ + "import os\n", + "import random\n", + "import pandas as pd\n", + "import torch\n", + "from tqdm import tqdm\n", + "\n", + "def load_feat(path):\n", + " feat = torch.load(path)\n", + " return feat\n", + "\n", + "def shift(x, n):\n", + " if n < 0:\n", + " left = x[0].repeat(-n, 1)\n", + " right = x[:n]\n", + "\n", + " elif n > 0:\n", + " right = x[-1].repeat(n, 1)\n", + " left = x[n:]\n", + " else:\n", + " return x\n", + "\n", + " return torch.cat((left, right), dim=0)\n", + "\n", + "def concat_feat(x, concat_n):\n", + " assert concat_n % 2 == 1 # n must be odd\n", + " if concat_n < 2:\n", + " return x\n", + " seq_len, feature_dim = x.size(0), x.size(1)\n", + " x = x.repeat(1, concat_n) \n", + " x = x.view(seq_len, concat_n, feature_dim).permute(1, 0, 2) # concat_n, seq_len, feature_dim\n", + " mid = (concat_n // 2)\n", + " for r_idx in range(1, mid+1):\n", + " x[mid + r_idx, :] = shift(x[mid + r_idx], r_idx)\n", + " x[mid - r_idx, :] = shift(x[mid - r_idx], -r_idx)\n", + "\n", + " return x.permute(1, 0, 2).view(seq_len, concat_n * feature_dim)\n", + "\n", + "def preprocess_data(split, feat_dir, phone_path, concat_nframes, train_ratio=0.8, train_val_seed=1337):\n", + " class_num = 41 # NOTE: pre-computed, should not need change\n", + " mode = 'train' if (split == 'train' or split == 'val') else 'test'\n", + "\n", + " label_dict = {}\n", + " if mode != 'test':\n", + " phone_file = open(os.path.join(phone_path, f'{mode}_labels.txt')).readlines()\n", + "\n", + " for line in phone_file:\n", + " line = line.strip('\\n').split(' ')\n", + " label_dict[line[0]] = [int(p) for p in line[1:]]\n", + "\n", + " if split == 'train' or split == 'val':\n", + " # split training and validation data\n", + " usage_list = open(os.path.join(phone_path, 'train_split.txt')).readlines()\n", + " random.seed(train_val_seed)\n", + " random.shuffle(usage_list)\n", + " percent = int(len(usage_list) * train_ratio)\n", + " usage_list = usage_list[:percent] if split == 'train' else usage_list[percent:]\n", + " elif split == 'test':\n", + " usage_list = open(os.path.join(phone_path, 'test_split.txt')).readlines()\n", + " else:\n", + " raise ValueError('Invalid \\'split\\' argument for dataset: PhoneDataset!')\n", + "\n", + " usage_list = [line.strip('\\n') for line in usage_list]\n", + " print('[Dataset] - # phone classes: ' + str(class_num) + ', number of utterances for ' + split + ': ' + str(len(usage_list)))\n", + "\n", + " max_len = 3000000\n", + " X = torch.empty(max_len, 39 * concat_nframes)\n", + " if mode != 'test':\n", + " y = torch.empty(max_len, dtype=torch.long)\n", + "\n", + " idx = 0\n", + " for i, fname in tqdm(enumerate(usage_list)):\n", + " feat = load_feat(os.path.join(feat_dir, mode, f'{fname}.pt'))\n", + " cur_len = len(feat)\n", + " feat = concat_feat(feat, concat_nframes)\n", + " if mode != 'test':\n", + " label = torch.LongTensor(label_dict[fname])\n", + "\n", + " X[idx: idx + cur_len, :] = feat\n", + " if mode != 'test':\n", + " y[idx: idx + cur_len] = label\n", + "\n", + " idx += cur_len\n", + "\n", + " X = X[:idx, :]\n", + " if mode != 'test':\n", + " y = y[:idx]\n", + "\n", + " print(f'[INFO] {split} set')\n", + " print(X.shape)\n", + " if mode != 'test':\n", + " print(y.shape)\n", + " return X, y\n", + " else:\n", + " return X\n", + "#fix seed\n", + "def same_seeds(seed):\n", + " torch.manual_seed(seed)\n", + " if torch.cuda.is_available():\n", + " torch.cuda.manual_seed(seed)\n", + " torch.cuda.manual_seed_all(seed) \n", + " np.random.seed(seed) \n", + " torch.backends.cudnn.benchmark = False\n", + " torch.backends.cudnn.deterministic = True\n", + "device = 'cuda:0' if torch.cuda.is_available() else 'cpu'\n", + "print(f'DEVICE: {device}')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "us5XW_x6udZQ" + }, + "source": [ + "## Define Dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "id": "Fjf5EcmJtf4e" + }, + "outputs": [], + "source": [ + "import torch\n", + "from torch.utils.data import Dataset\n", + "from torch.utils.data import DataLoader\n", + "\n", + "class LibriDataset(Dataset):\n", + " def __init__(self, X, y=None):\n", + " self.data = X\n", + " if y is not None:\n", + " self.label = torch.LongTensor(y)\n", + " else:\n", + " self.label = None\n", + "\n", + " def __getitem__(self, idx):\n", + " if self.label is not None:\n", + " return self.data[idx], self.label[idx]\n", + " else:\n", + " return self.data[idx]\n", + "\n", + " def __len__(self):\n", + " return len(self.data)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "IRqKNvNZwe3V" + }, + "source": [ + "## Define Model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Hyper-parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# data prarameters\n", + "concat_nframes = 35 # the number of frames to concat with, n must be odd (total 2k+1 = n frames)\n", + "train_ratio = 0.95 # the ratio of data used for training, the rest will be used for validation\n", + "# training parameters\n", + "seed = 307 # random seed\n", + "batch_size = 2048 # batch size\n", + "num_epoch = 50 # the number of training epoch\n", + "learning_rate = 1e-3 # learning rate\n", + "# model parameters\n", + "input_dim = 39 * concat_nframes # the input dim of the model, you should not change the value\n", + "hidden_layers = 7 # the number of hidden layers\n", + "hidden_dim = 300 # the hidden dim\n", + "version = 18\n", + "drop_out = 0.5\n", + "weight_decay = 1e-2 # weight decay\n", + "# model_path = '../input/model/modelv15.ckpt'\n", + "model_path = './modelv%d.ckpt' % version # the path where the checkpoint will be saved\n", + "save_path = 'predictionv%d.csv' % version\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "id": "Bg-GRd7ywdrL" + }, + "outputs": [], + "source": [ + "import torch\n", + "import torch.nn as nn\n", + "import torch.nn.functional as F\n", + "\n", + "class BasicBlock(nn.Module):\n", + " def __init__(self, input_dim, output_dim):\n", + " super(BasicBlock, self).__init__()\n", + "\n", + " self.block = nn.Sequential(\n", + " nn.Linear(input_dim, output_dim),\n", + " nn.BatchNorm1d(output_dim),\n", + " nn.ReLU(),\n", + " nn.Dropout(0.2)\n", + " )\n", + "\n", + " def forward(self, x):\n", + " x = self.block(x)\n", + " return x\n", + "\n", + "\n", + "class Classifier(nn.Module):\n", + " def __init__(self, input_dim, output_dim=41, hidden_layers=1, \n", + " hidden_dim=256,concat_nframes=27,drop_out = 0.5):\n", + " super(Classifier, self).__init__()\n", + " \n", + " self.concat_len = concat_nframes\n", + " self.drop_out = drop_out\n", + " self.lstm = nn.LSTM(input_size=39, hidden_size=hidden_dim, \n", + " num_layers=hidden_layers, batch_first = True, \n", + " dropout=drop_out,bidirectional=True)\n", + " self.fc = nn.Sequential(\n", + "# SelfAttention(39,3,0.2),\n", + " nn.BatchNorm1d(2*hidden_dim),\n", + " nn.LeakyReLU(0.2),\n", + " nn.Dropout(drop_out),\n", + "# BasicBlock(hidden_dim, hidden_dim),\n", + "# *[BasicBlock(hidden_dim, hidden_dim) for _ in range(hidden_layers)],\n", + " nn.Linear(2*hidden_dim, output_dim)\n", + " )\n", + "\n", + " def forward(self, x):\n", + " bs_size,data_size = x.shape[0],x.shape[1]\n", + " x = x.view(bs_size, int(data_size/39), -1)\n", + " x,_ = self.lstm(x)\n", + " x = x[:,self.concat_len//2]\n", + " \n", + "# print(x.shape)\n", + " x = self.fc(x)\n", + " return x\n", + " \n", + "import numpy as np\n", + "# fix random seed\n", + "same_seeds(seed)\n", + "\n", + "# create model, define a loss function, and optimizer\n", + "model = Classifier(input_dim=input_dim, hidden_layers=hidden_layers, \n", + " hidden_dim=hidden_dim,concat_nframes=concat_nframes,drop_out = drop_out).to(device)\n", + "criterion = nn.CrossEntropyLoss() \n", + "optimizer = torch.optim.AdamW(model.parameters(), lr=learning_rate,weight_decay=weight_decay)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "IIUFRgG5yoDn" + }, + "source": [ + "## Prepare dataset and model" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "id": "c1zI3v5jyrDn", + "outputId": "3ea2823a-83f3-42d9-ef05-2f2c002f9538" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Dataset] - # phone classes: 41, number of utterances for train: 4071\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "4071it [00:11, 355.08it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[INFO] train set\n", + "torch.Size([2513163, 1365])\n", + "torch.Size([2513163])\n", + "[Dataset] - # phone classes: 41, number of utterances for val: 215\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "215it [00:00, 402.84it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[INFO] val set\n", + "torch.Size([130995, 1365])\n", + "torch.Size([130995])\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "import gc\n", + "\n", + "# preprocess data\n", + "train_X, train_y = preprocess_data(split='train', feat_dir='./libriphone/feat', phone_path='./libriphone', concat_nframes=concat_nframes, train_ratio=train_ratio)\n", + "val_X, val_y = preprocess_data(split='val', feat_dir='./libriphone/feat', phone_path='./libriphone', concat_nframes=concat_nframes, train_ratio=train_ratio)\n", + "\n", + "# get dataset\n", + "train_set = LibriDataset(train_X, train_y)\n", + "val_set = LibriDataset(val_X, val_y)\n", + "\n", + "# remove raw feature to save memory\n", + "del train_X, train_y, val_X, val_y\n", + "gc.collect()\n", + "\n", + "# get dataloader\n", + "train_loader = DataLoader(train_set, batch_size=batch_size, shuffle=True)\n", + "val_loader = DataLoader(val_set, batch_size=batch_size, shuffle=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "pwWH1KIqzxEr" + }, + "source": [ + "## Training" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "id": "CdMWsBs7zzNs", + "outputId": "17922ad2-a319-4253-8783-3e4939d0a7cf" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1228/1228 [10:42<00:00, 1.91it/s]\n", + "100%|██████████| 64/64 [00:09<00:00, 6.88it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[001/050] Train Acc: 0.735769 Loss: 0.864755 | Val Acc: 0.800458 loss: 0.656670\n", + "saving model with acc 0.800\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1228/1228 [10:45<00:00, 1.90it/s]\n", + "100%|██████████| 64/64 [00:09<00:00, 6.95it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[002/050] Train Acc: 0.835837 Loss: 0.517291 | Val Acc: 0.817894 loss: 0.632513\n", + "saving model with acc 0.818\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1228/1228 [10:43<00:00, 1.91it/s]\n", + "100%|██████████| 64/64 [00:09<00:00, 6.93it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[003/050] Train Acc: 0.865806 Loss: 0.411358 | Val Acc: 0.820963 loss: 0.661468\n", + "saving model with acc 0.821\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1228/1228 [10:44<00:00, 1.91it/s]\n", + "100%|██████████| 64/64 [00:09<00:00, 7.00it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[004/050] Train Acc: 0.882970 Loss: 0.348944 | Val Acc: 0.816184 loss: 0.716730\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1228/1228 [10:43<00:00, 1.91it/s]\n", + "100%|██████████| 64/64 [00:09<00:00, 6.88it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[005/050] Train Acc: 0.894704 Loss: 0.308685 | Val Acc: 0.825596 loss: 0.716301\n", + "saving model with acc 0.826\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1228/1228 [10:43<00:00, 1.91it/s]\n", + "100%|██████████| 64/64 [00:09<00:00, 6.95it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[006/050] Train Acc: 0.902737 Loss: 0.280997 | Val Acc: 0.824673 loss: 0.744762\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1228/1228 [10:45<00:00, 1.90it/s]\n", + "100%|██████████| 64/64 [00:09<00:00, 6.86it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[007/050] Train Acc: 0.908626 Loss: 0.261372 | Val Acc: 0.825596 loss: 0.759383\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1228/1228 [10:44<00:00, 1.91it/s]\n", + "100%|██████████| 64/64 [00:09<00:00, 6.99it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[008/050] Train Acc: 0.913099 Loss: 0.246694 | Val Acc: 0.827574 loss: 0.770639\n", + "saving model with acc 0.828\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1228/1228 [10:43<00:00, 1.91it/s]\n", + "100%|██████████| 64/64 [00:09<00:00, 6.92it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[009/050] Train Acc: 0.916429 Loss: 0.235641 | Val Acc: 0.826169 loss: 0.791019\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1228/1228 [10:42<00:00, 1.91it/s]\n", + "100%|██████████| 64/64 [00:09<00:00, 6.95it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[010/050] Train Acc: 0.918552 Loss: 0.229440 | Val Acc: 0.826940 loss: 0.804592\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1228/1228 [10:45<00:00, 1.90it/s]\n", + "100%|██████████| 64/64 [00:09<00:00, 6.89it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[011/050] Train Acc: 0.921631 Loss: 0.218361 | Val Acc: 0.823986 loss: 0.833079\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 1%| | 12/1228 [00:07<11:58, 1.69it/s]\n" + ] + }, + { + "ename": "KeyboardInterrupt", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipykernel_1364/3704757339.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0m_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtrain_pred\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmax\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0moutputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# get the index of the class with the highest probability\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 27\u001b[0;31m \u001b[0mtrain_acc\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mtrain_pred\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdetach\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdetach\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 28\u001b[0m \u001b[0mtrain_loss\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mloss\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] + } + ], + "source": [ + "best_acc = 0.0\n", + "early_stop_count = 0\n", + "\n", + "for epoch in range(num_epoch):\n", + " train_acc = 0.0\n", + " train_loss = 0.0\n", + " val_acc = 0.0\n", + " val_loss = 0.0\n", + " \n", + " # training\n", + " model.train() # set the model to training mode\n", + " for i, batch in enumerate(tqdm(train_loader)):\n", + " features, labels = batch\n", + "# features = features.reshape(features.shape[0],17,39).to(device)\n", + " features = features.to(device)\n", + " labels = labels.to(device)\n", + " \n", + " optimizer.zero_grad() \n", + "# print('trains features shape',features.shape)\n", + " outputs = model(features) \n", + " \n", + " loss = criterion(outputs, labels)\n", + " loss.backward() \n", + " optimizer.step() \n", + " \n", + " _, train_pred = torch.max(outputs, 1) # get the index of the class with the highest probability\n", + " train_acc += (train_pred.detach() == labels.detach()).sum().item()\n", + " train_loss += loss.item()\n", + " \n", + " # validation\n", + " if len(val_set) > 0:\n", + " model.eval() # set the model to evaluation mode\n", + " with torch.no_grad():\n", + " for i, batch in enumerate(tqdm(val_loader)):\n", + " features, labels = batch\n", + " features = features.to(device)\n", + " labels = labels.to(device)\n", + " outputs = model(features)\n", + " \n", + " loss = criterion(outputs, labels) \n", + " \n", + " _, val_pred = torch.max(outputs, 1) \n", + " val_acc += (val_pred.cpu() == labels.cpu()).sum().item() # get the index of the class with the highest probability\n", + " val_loss += loss.item()\n", + "\n", + " print('[{:03d}/{:03d}] Train Acc: {:3.6f} Loss: {:3.6f} | Val Acc: {:3.6f} loss: {:3.6f}'.format(\n", + " epoch + 1, num_epoch, train_acc/len(train_set), train_loss/len(train_loader), val_acc/len(val_set), val_loss/len(val_loader)\n", + " ))\n", + "\n", + " # if the model improves, save a checkpoint at this epoch\n", + " if val_acc > best_acc:\n", + " best_acc = val_acc\n", + " torch.save(model.state_dict(), model_path)\n", + " print('saving model with acc {:.3f}'.format(best_acc/len(val_set)))\n", + " early_stop_count = 0\n", + " else:\n", + " early_stop_count += 1\n", + " \n", + " else:\n", + " print('[{:03d}/{:03d}] Train Acc: {:3.6f} Loss: {:3.6f}'.format(\n", + " epoch + 1, num_epoch, train_acc/len(train_set), train_loss/len(train_loader)\n", + " ))\n", + " if early_stop_count >= 10:\n", + " print('\\nModel is not improving, so we halt the training session.')\n", + " break\n", + "\n", + "# if not validating, save the last epoch\n", + "if len(val_set) == 0:\n", + " torch.save(model.state_dict(), model_path)\n", + " print('saving model at last epoch')\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ab33MxosWLmG", + "outputId": "911e8c9b-fc0f-4591-b0f6-311a1231c5e2" + }, + "outputs": [], + "source": [ + "del train_loader, val_loader\n", + "gc.collect()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1Hi7jTn3PX-m" + }, + "source": [ + "## Testing\n", + "Create a testing dataset, and load model from the saved checkpoint." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "id": "VOG1Ou0PGrhc", + "outputId": "abaaa25b-a93c-49b0-d228-9eca1e2ab2e0" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Dataset] - # phone classes: 41, number of utterances for test: 1078\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "1078it [00:02, 395.79it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[INFO] test set\n", + "torch.Size([646268, 1365])\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "# load data\n", + "test_X = preprocess_data(split='test', feat_dir='./libriphone/feat', phone_path='./libriphone', concat_nframes=concat_nframes)\n", + "test_set = LibriDataset(test_X, None)\n", + "test_loader = DataLoader(test_set, batch_size=batch_size, shuffle=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "id": "ay0Fu8Ovkdad", + "outputId": "e5b20aa7-4d8b-43a9-e068-f5c89706a360" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# load model\n", + "model = Classifier(input_dim=input_dim, hidden_layers=hidden_layers, hidden_dim=hidden_dim,\n", + " concat_nframes=concat_nframes).to(device)\n", + "model.load_state_dict(torch.load(model_path))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zp-DV1p4r7Nz" + }, + "source": [ + "Make prediction." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "id": "84HU5GGjPqR0", + "outputId": "cebd6694-8f74-44ff-f922-96ca4385acb8" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 316/316 [00:43<00:00, 7.27it/s]\n" + ] + } + ], + "source": [ + "test_acc = 0.0\n", + "test_lengths = 0\n", + "pred = np.array([], dtype=np.int32)\n", + "\n", + "model.eval()\n", + "with torch.no_grad():\n", + " for i, batch in enumerate(tqdm(test_loader)):\n", + " features = batch\n", + " features = features.to(device)\n", + "\n", + " outputs = model(features)\n", + "\n", + " _, test_pred = torch.max(outputs, 1) # get the index of the class with the highest probability\n", + " pred = np.concatenate((pred, test_pred.cpu().numpy()), axis=0)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "wyZqy40Prz0v" + }, + "source": [ + "Write prediction to a CSV file.\n", + "\n", + "After finish running this block, download the file `prediction.csv` from the files section on the left-hand side and submit it to Kaggle." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "id": "GuljYSPHcZir" + }, + "outputs": [], + "source": [ + "with open('predictionv18.csv', 'w') as f:\n", + " f.write('Id,Class\\n')\n", + " for i, y in enumerate(pred):\n", + " f.write('{},{}\\n'.format(i, y))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#下载数据 \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" index bc191651..edb0561c 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" @@ -141,3 +141,24 @@ https://blog.csdn.net/qq_35091353/article/details/117234223 https://blog.csdn.net/m0_37870649/article/details/82025238 都用上了 复杂度很高了 过了strong baseline看来要过BOSS只能大改模型了 + +11 + 网上copy了一下别人写的self attention 一顿炼丹 + 也是75左右 + +12 试着使用RNN 发现NN有现成的lstm + 一顿炼丹 突破80 但是感觉距离82还有很大距离 + 感觉问题是concat_nframes = 27太小 上下文感知到的信息太片面 可惜无法验证 一使用超过27就内存爆炸 + 有时间得研究一下 训练数据分批加载 才能让concat_nframes 突破27 + 钞能力一波 设置35 设置超过40爆显存 真有你的 + [002/050] Train Acc: 0.832419 Loss: 0.529749 | Val Acc: 0.808191 loss: 0.664532 + saving model with acc 0.808 + + 后面都是使用kaggle跑了 + 自己跑实在太慢了 CUDA还是厉害 + +18 + 做个笔记 发现提高复杂度 都能提高表现 + 最后通过钞能力 搞了一个7层双向LSTM + train一次太久了 不train了 + 不然估计可以多开 更换随机种子 再提高一下 \ No newline at end of file diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/\346\210\220\347\273\251\346\210\252\345\233\276-\346\234\200\345\220\216\347\273\210\344\272\216\350\277\207\344\272\206boss line \344\270\215\345\212\252\345\212\233\344\272\206.jpg" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/\346\210\220\347\273\251\346\210\252\345\233\276-\346\234\200\345\220\216\347\273\210\344\272\216\350\277\207\344\272\206boss line \344\270\215\345\212\252\345\212\233\344\272\206.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..4f211ea02264f7d4cfa051b4d7b2eed20c8d8a6d GIT binary patch literal 75837 zcmeFZ1yo&Mk}rG+?!jGx1$TFMcMS>d?h+({1cHQ1fZ!0^gI(Mmg8Ri1+}-uN-90`3 zp7(Xn^qckGH#6VLW$kq~=j?m#soHgR)vo$gJ>Hp~;4J-f-dVqHEX*IC_=>KUP z027`C0F|*%3xE`Wgn)pE0FQ)-h=`1ggo1{Pj)sbgMud%niAzRIK~6?YN=iw?`jV20 znVOW8o{xczms@(FFs*{)Mc6rR;y93kyouGdMU{IK)5E1@p`s+F-HZ;9qbcU`uEq zzH!B&;tWB;m5j@->_DdG(mcj9a~ns&r{VrZd-5mJ{!H0FM_A~8in4zt><_vi02)*< zpJBmb0b;<_ZA{ShRnkM(eX-(Sdxg&w8Qv?!e^B-sq&Ug#UOAf(yZiYBL<0&kauID? zxj|PQPXI9o-~D;)Z9gTKOX!sN57}*e}IVop058721uRi~Lb! z`;?Q1eLb;}WLaU|Z6>XJQjo)1X1NWl&k|g7`1qG(n&?dGtc9p2K+v{XD&X>skzd#5 z;X$aY!BzFc2ldJFBaFFjHc}8wX9L9d^5>+ZQ%=(f?rBdv#az2CHB75{|7G?Q@HMFY z0jZ|UFlgV0V&7X&F*0EO9op8*d{v|4GJy*tA4kV>abN0sPi=ZmU$_`Cl%eqpeJft51OGeJk*bpTyP#CjCvh2cTuz!)m5f1 z-N&4$ntS_MGrblgtb|4CKywH#@ziKhCUm?3@!eP`22#<-(TRWj8%CG`vb--7YsMGHpL-KN4kpqRR5hLF~5ae>&18L!Y;tDoo&#` zO>xld=wp9PdmN9E)g=0zlYEj;!iOJ7{0p(hCkD4M1+JGbS|?V=n&Un$e&5<8LbUDY z-?w99RNyws!6x7^<<7%(>#!JjmR@29P68v7m4;ez_UhB$z4KYW_0u#F6+agw?wH)~ zxo!g4rw(`SN|Ugfhyy3V7)*W*2VA<}s|ezZjdR@s%eB65i3HN`Vmj~rXnDgtbNe3R zamL+2jom~2u$uex-L3?gEk>1M&A9%elHL2mbg!RlML=5IwH6Du(%oI^6Tq?>k^Nk% z#pMU5f`b>4u&!lkBDm4dXvt3Rv$1p&@gn;Gb?g`O&;IHN2fcZu8Vg@F4#|I7;l@(1 z_qxXi!wW*r2SLdP8(^CTS2~WE1~?ac-c2S{dsL)y(P@W|ZH<{;GauJ-u*Nb6b0Q9T zP*oHsNb;M4yTByj>YUxA<>J8Q*7Ap$_C^9R@CjkPJxN%V2rI^-`K*(BY=CwhaY2IL z%xB1uD}R*yv*$2y8S6hi9_*S04^kk~?_3*!m-CX3$9&4>x93G~o`ATRy~h@_Ctxfi zQ+->3q?5=09aw@tgy{4J`nCcWKc{^zCV7gNqzV=X9Q54fo8Folqphz&(%McbTAqLk zsJkq6nuSTfrgn@aCmF0<34CAM3{uHywe@&x?y9(0H=Onq_*PeyI6y4FnIe|1_$x%r zJJT>jF8YE@co=tlk+WaJ`?wzV#djzZY-p;F4^!wgMMt?cm3qC<=fx83_9x|BOKml~ zf310ZEx~yI8Y-n?W5^cMMk630BZk97YOtJS7VIKgT>N=~LdgPMT2i}^^au_R&>kNn zSIDE-`?#Q}aKM)LyuVr~dX3zy8XM_iFS6X+a{{hBD&uWdRWW-9iUnbRZf#vZQ2}}3 zihT^~Cx(OjRcX}?c{2nT7gY=<*=kSI>+4Cez3rfF7DMg-)*45Pjz;1IA{;}Q=K&lJq|9J%`Bj*uw@>L2cZLSNU|L+- zTe9Nvuy2OTHeM5Iv|Wf=jT~I?!Wo@qdvS7bhRPb0@)MVo#fX5r-b{Cy`rc6eR^;#z z3v1RegjuN>HlzFJ`DGcZ|9Qsk=A=1I;+?|Mc*wSl`U$29*JE4GV=Y1p(~e%8UEB-D zliH?`U0=1Cf`W^6ooM)(*Y@@$A-MTMzGwzI18!oC4BvM*%2(?et1_nZN55DwN}1Oo zzB|w^Fp4JV(%pf@bs5?kBybg1HK<%JtX>!@-EnpfboUWnC0chV6!OCWhRGaQlen{{ z*(kd8@XH)I!gO5P*aik}Vg))%IQIza6G@=r(;OdRC=3*gS)2xj>D)={zGePu%n^IQ z-W!LFLAZXBG89c&+1MQZ1ZcHZnRCg9@^#7=q{V(&pD+r9szXn~5}|(Q1I^WEihO45 z5@ZtOwXtQ!6bD8|MyW+C%qFPZ9~bzMElLnv(=&h-o6i+m;hH3XY#BR%%Dh%FdW4?1yVb+oEY@386q`l5X=6w}l$r$~vK zHL19zrU;i4KatroPT$-Wb^>Hy?-^~bhRD% zi~68>J1D^=SnB*fPNAQALx3CoaHM$TkYrE0J~*BvhLc^cQ1n8?YTKm;Bc)Zo0hzk` z3CLaZ9oXxuFr3JafXCGk|9g#eI4pJ7+b>=vC?G>;l8RX?0SILDM^{u5Qjs_Azv7r1 zsI?HT#+3Ar)2SKeB-tC*Sx@|hvdrJDnSgj&M)JVPFD&G3ZH~c3^g@m{_JSK6eII_2 z^rP0lNY1jLY%QmXL!;L3emc`Ph_)hPO=3&F%=WZ{=x(@avOx7BwP+8&?vXr(B#0wd ziXep-YvX6gz|Kth@{*kO>YUXV3VMU|eFQJ`rMH=DI)cfwX|NYe zWSgQi&1w8X1ta@wG6aN$@)ZKEu&bBgbqz4QogFN$@XVGiriG=QS=?sEjK2P;Z?}5M zPhMX-7qqTF-nRD;bk3U{l(Z=td%NwSmr}g2#FEQbhvG*k(BIeP4 z&)C3xZmfVaFFiTnXv_RwP1qXV=chF|&~_#f9dC+{`0ckd!?XxZg{Vk5vx3T^3l#|m zWm8))r@=rRbNwRq`QX}Tdvb!wjae2FNllEk%XsXBSSvxSNzpHqR?WA)3k@t~jxU=) zY!|Js05ymBSx6dB30Gd~sfn3ZO_6CDuWKE7L+OIjLLmN~`a5-Z%v6C40U}j0`Tal{ zG0j91Ir+Mlm>KoYi>1p36kJ&%uD9c3fl99SraRBOJS|;qx6-61UWbc*Kzz4vlVpS% zD3ZqOJ}NBahC|pvG@`ItxJw)cu5mcvzT#5Y$}N{nlg%j-O|XVWjpE`Bo&d1eEpq;Q z{Y>2jkIR{vcoPLe1XDJE&fg-Vb=s=;mPK-5_N+joB*2ON5r@ZFgH?`l0jZb`8?g1*1I&Pw+rDy6n;vtt!n>QVb-2D$(e8_BP?NN zmSX5Y#B(ZHX`dAg>_!frkR9aOm3jGntsbmw*t_%<)Jsc~aj*L})8|EHTYW=9q>MYO z0?p^FbKD^nuU=Hb)yAa$`iN)3tOYKV<{>M`xz(SB#tzq;YvXb<6liUpZCqCF#2UM6 zUpXXHDK{YGaL0dBDOeP*3hZ+%6|_#zJ-D}}o0>CLfGqlk2F#yln zl5Lb4I_0peJ6(eagzjtlOy>IgNO6=+=>|_vg_b0tR^2e;^A3%vTWrCYFX7IHCVl=+ zbe~*^7koy674ZU8!BA zg5@fEWD1{vetW3t@mB2t7()Un{jwXMhs+Of4-txLTZ%{fp@CdAC5rlZTDrpps6i{D z4y*_pYhtSY#08fhYliI(j!5P326N;6 z0$0{fvFcbdksfR!IIN$fS!ZpQOBBo-4s04hByiS9KPyy9b&-wx-^cv9`^A z9;P@jtM0BgP($Nlm)~@(r#bIOq!ztknZEx#x-MZU@*~xotX>E9VUyAtl0EYTtc_sa z-h6lhr0{ev_t7&yE2q*p*{P`` z=g648#5!MMRMrhITxOuuFSs@U`(HMW&L##*FmqEa)$H&Y>L8sz!t&2?HvL-19s8zAL?wRt(QbW7#8;{|(l z{kam{M&>l;K01_jllP2|WpGKv_;c^@)njW#Pf#Q%{ZGU(O$^@0J>>VULKyTJm0oCa z`aOdg+*+mhnLu1%^e-2;|1vaF2H^UaYrk*v zn>WAZ=J(6+d!hKfh(eXf-_Z3eX)uwuNppJUs4gi{0#Ykf%c(d24uWiixeN%}b0FL`vuNN9J{=N@N2G z$rD0~u2<9oS?_nwe$dLNNx80Pvg86k5vbuF{3f;Ymq55BT2a2KV|#_=hRYX+=Eu#m zf_dFqi```3q7fFt=a83T60(bYa#SYSLl@S0^MKkd%#NafM&*FFKk^t10` zxyEg;Q@Qo{%6!U~XS>jgcgk6XJ3bl>S($W|ABF{yYI~JH>@rm&g`ln^o6-T#kC4sV!9gzfAp7U; z1WTG~OC+&CO4qpa#pt#2)?}?wVfx#i%MdjBXR=BFz(3G_aZy05lK*HiQe!r;eAs6y z8iri$cYo+n!FY0~}h-qWbXNY0lHrTP2Fv2QungoIxJGC#WvJ=xXrbvXJ=^dHmUad zTOucZj#5 zpUzFIbI~WI-)YZ2dTm&e?ua++qovi>7_a-iHQkv+t>IMjK$|UvBkei=q9CabBKX7@ zVhNS-Qr={j)b+>#v*@*G0)7nN0ZPwNqFjjL6Tq&xWh>)WeVzYH7}>ToukoSrfLh*6 z%wup1_W0<$IB{hm@iq$8c{SCy3c^fPKxDWLEd%A9imnX z-`JwKbxniMG$|gxg<~^?@oHG12u68i=&2RBsy>~XlUt*@7;}}<8n6AK?G-uN6Y##` z5&OmF{@LTedO=*&6Hv0#BvPHWnb2oGZd0nFxo42tb$M!w-{D*y@Ll<9PrZ}DM;dGA zf*k|wp;8}r;|Z!v{dldqDLUR$8E*R04@Ap(;y=9+GL3KoS-rG%ty)UuzS(M;a1znd z$iY#UR`H?a?AqhB-^Nt>K2#voxm7PhOpscobx==3#oLLtW5& z+p#G})p5qY_Lorc+cUN;r?#;FgdYN@OcYEHl~JzQmwDbc3*$y`7S@QhLclKlx6gmi z!~Fj`XMP>~C~*SyZfo2}JLrmigvM4WC>}g1`p1Ijpc4p7(H(S(8T;56yKZk*c@Kr1 zQ(iv-dxej(;D3LD3%8ztSl^&UvBBIwy1_L6A``IbC$skveo1$qo`7tWz7zbS+{J5n zN0yDSjYR&{(0O^*a*p2RtjL`JrTo!SAHT!Sr8ui(ajh3Gd??SNZnej3ZUeOBJRBU~ z&J=U;M|f`$j_g}CGK_G9w#fzcZqiZHDwRyE)s7Q=_vOc7n(pNk27K2M5@-9Od1M3dL#YXz)kThd5hA=QEI$1y9`WkO_X(e z?HkdWAta7>Vmn z%-7RcVHqt^o>$*^%vx19RHN2Y8mINQDC_GcTVL#|6v}_D z9j*zo1Zm>pQTR%TUavulWN7qK>OMI;7`*DAzj34roc;1*1T!GWaQ}$=PDBEa&5^QR zN8p)$7Z6yj8aXn9YFgFfh~{<8w802`6_FLxyewY!`u-5rP&aXP_SmL^A*w(A_IVf* zaEAisSb3K@l3rr2QhR*#5y1<>>}rhl1PG^#zdRP6HFh{q$(%>8p<8eoeK|zJd+WFp z>5&LNGa|8l9dR%i#=-flo(w_IEE7EQ==iYyU~o#mVv#iL@OYMaY=KFa?q2ePgSS9P zZB#wE6LToDH|xWrV*2PqXy0QvQ*jJ;IBg`2b~K=)Lx_SXj+n=8xbP{*gYu&>-kjAO zU&8sQvA_16&X1Kq)JsedM{8036Ts_&e+dz7DBV51PV|U5B!UoTgPdt-q_PRAy#mh+ z-{MT0RgbY{Y_11c>MwHZ&NA085%vmV_=?!)HBERd+`uIz;@4pyz$&3sQbgb}85p({ z%o9WK!3%W*^t|SiWQ=(Rioz8`8{5+Cr%^Z4jeFB8Ij5!tQVG*e2X9WwKNXoMhISh1 z>Ay5TWy+8kb%>lck&|kjcBYCj&sY`G+FFzhsU&(t?@GJ#*DamVt>ay>%775P24HZq znEF&PaT62q{Q|6ng!CQ9(h?%svoc>X8n3P<=@hKm61!_TEAgh@fgUhL?_9@f@G=!= znQKK@jFI+PzdcjNzsq{qzgpMbipV9le2iP=jEX?@C7`a4?hDE;yBPP#Yq~Ss0h_IP z9dU~{Rqv&FmS`<>d7?_WqPa`2_|m8kzRj8*tTB$Ss~Ejq9OU<hL;xh-WR}7qgklw@(~Z&%Mt%-8v};rF@L*t?VuSm<6vx2w-%k>rW+drwTGifl$Pz zZ^Ljk)NODzWPtyP&Ha_w_f(Bz-E8#6qy!yH6v6aT!q|S|A17>)+$~D&6Mg31=sh#p zNZ}+li$tic2q+hXM>dN2T-oc|lZI;n5R#U#G<}5Wd&Kp`*b-Z-r<@Wda&|B1r>U-~ zj|{ww!l2gFPGH)`gl^eJu`0r6x)eo8?vSS6P7}-x$Cr(Q%S#&+X4;E{6b*OY@p z_7pXQ*8f~$vxt-v|0Ol4SAKvfU|<(I>pBs3pZVq`|LNVq6JRaSw`Rg}7@xl@qw<(( z@1b>={7bKIlB!IOScMO=~pid2-w+=R zf>o*hUOkz8>QMF?{7GOQ?F~Yp3%!YO#r4X4$F7wf@w%HWao6@~-t-O6(%Zp z*5v{+6`jY9@yGeg(ftyNTBoJ0z;wQ?S^g1QjLo2X8r!^U!C8H1h{}~oJeub9n-odW zZSsQ2T5}(-JJl&3otfG|Yn4D%=Ou_i9)!JCb~_7pC}Zomy!W(oRO7u=pe_6li8{Cp z_Fc?!Ouqtx@N;@Ph3s*U?G0J9n8ZSqxUo<~gyP4Go{2tz@|Pb+qs&^~bv*$PU3}Lk z;9D%X@A(;Fz=)IuNDxD0w<3hiQz1a6BCj`gU5;hmcjbU_S@|oWGG@yKsb1C;J7i&@ zxdOgfLwLAVR~p5nMO84tn!>|Vk5n^Eb}<*=Y`v_79(@__mhc&0Ao z+b6l>fVw)^{lsb&7D(v_a%1WH2Izi1IEZ+=+{2Oea>L1~Ws^+=I#K?k zqoq$cZ=irzk&p%4+V_q!L#P$|kG)BA-@cMA=M~8mOOUlRYbFb~i&MIHkhfk;Xvk3h zYs~BKg|+_OI2fbA27BiOvl*<(RNZhtw`W*0;T5T^%06#AO2V zn5;y)JN(!!Isx;VU-W@N*Sl7~^xyzi?R!J)@Qu246IRCCFEDvB)=z*P4C2@0Do*9^ zKf+pn(YPN9P^61^;yUW=dp+0T^G*Jl!6{l#2~7p{imb47zZ}v@qw8_=irS(Ursylv zbCk78dE;zl6+2yi%6bWZSqwY*5;6W=uaK5l zt-9e&IKf%-=*#{!uO~qH{Ax50F#T54<;%Kd)MSp(z0%BkPTj^&dZ!Jm^M%HJ$Z8xS zFK)mW+9iU@_GYqSPn_68Hz4Kx=Apm6zZ%ak6a`z}A~?UbiksEg108#Qx<~?FYsUx- zaiMTGEOgmugTjgp~ePAF}2H$&@5-wQ^H=KGm5&z3!{o1LQji-6|7Dg(A@-%QE zb5)lV5n1Rc4Ds@2Ve44UVX~5xP_RxB`uU2Tl7ERQZLa2c9Hoov6gdJWH;iB8kmD;g zDx=(L>*^@JBfelGvd&xot>Yq74L3?9{~%u9oHH*12wtE0yeEL#nEH!52{I7XFSG&)t6U;dC8W15_ ztuy3ja?^QLaz-|fC1YW{ zdu8eb8d95loaII;6W~G`=NgxwTz|xS<&0BUU6q20oR_%yt1JpWwAl@qN37G?%lN>Z zAi&Z1-KhF)WM`5|OXMY_eaEQ68mh@>e&QMP3OIQ53G{&(HB&xTXP*$KZ3mWZgFNB7e-Ah zROu53sZvAp+yYS_Oov!jaY}dw%@qDY>Elee7|UmNw0fFQPH_=6zu9lW4M`Xo75T;; zmpZj)XYX|fNL>_mGV`=SUFv}hmfEO=HDQZRq)sGiqC@YlbsunnelvZ_7+gYa^(=ps zzSi0dgM1F#{W_LzJ@p^Y{qfhyMcD0~B4KRImTkLN0*j5rz$M*<9r{d6Xs4Xw9itU? z8gHl!dT3j6U50TVU4q4y344)u(kSvA#>H{PCY;wYh{~dCFtOCqL)_FTI_0002$~wt z(`C|T$A&4qT+ZW-vM3yJb6rH4`xeZw&_UxDyj9+r{2IaS}N4$R)ovdn`qC~r3C+acn*Ai{{`_>#b-nHSw^Rb{eK zQMiDtUEO!I90&@neED%jt`!m7G#-}Fv(W>rLZK{lkTCZ=?Y zI_CY!^~@43ObC5*^*F1eCOrh|wqa@iZ0;-~XM9?~JD%QHt?_UxJ3*=XJnkEKk|Ata)Xy4cY$k@HAt z_IBym?EcQl84iH-$vOQ_47Jq}Ebu|bE&H>szGfS6W>gX{#6?_tRn-(@B^4~fl}bX1 zWvOW2ENMkOzI=I7CXf}gN*8H?N#d!soc1wJwz4-{Ll#fG{aG-lutL6QiM_Q`rEle@ z{tU~dx~tdsOMT9&c5#zDs3vThaW#?-fL^fkH2=Y_5Hw(6+H`V^Po}$>r7iz_|X%6L|tSvL7&T z=AYI4N-#bJfNW>6rCZ(YIA0kT*LO?AeSyiSzmX%`EBXd1p6Pdr^si2y%4>Yrn^b=c)O#uFHQnSk;gzI{4(Hi+uZZ)G8u*|FV_0Y;ed(}dBz@Mi-|hbl4{|aeMK+!Q zmnVP`^f!F~^sfwN%r(r<6zm^cF_NctiP5wa(mzLp;YN!WC1a4kLs6 z*XG^xH`{tySyw1lw|^tXraMl)>c#e;8@lKpV5q-m82&!@e}+H*o`KCFY)ZTS3UBJw zfEg>x`m%*vla}p(F>K;FX`nqeO-x@0uj~^bH<`klIIT&qpYZxeBw1C?CP_q}nBjJ_ z0&e`ZxppMsvI6;xjI_*vnf6aWFlBJMjMd`UDHYD^v}S-d&So0fa)AoJ|FUB=pWf(U zrBKQ8>;Y9TWhUpLO*FPZUy6Brfo9cUgZ@*)*VjLB?uB2w$4}z1#+4Z__Z3QcTTr)s z4+M3grFLz2Gf28l`K=~9!VRqjO8)Gk4BLM#^SKD3FPsdV_xIoLzE6aFTe@ykLRyd6 zwD`0S!fW@!GT(Ul?p@zZl3Lpt@p5;SedES^m*rhQol;)x{H$xlm&spCgxTmt> zV(H3lry7<|z<13jV0)%q_p)>1NafwWAYCN?Ks;Yn0R!YoVk z%5jE*`})8-8Hc)3&B4-UeAM}fkPgf2=qb*%>Cl;sGev!D$CawY3(NOE(c^D<4Q z&nL;23-XO*@&~B0p}`0xgtcH}JXj)X{+C2Yn%6Us-J{O4E^FkJpF_yfC`P%FzOZ!_ zwdyk!PQp?JWZ3Aek3@$Cn!h$fK>X_L%--ith$ITbw6{;dXD&7M88+2oh;FPce9x3C zvNdQ`Gp-w1NTQwQ&l{1NCD$#!ncJ|!+SW?-GuhY{10)(jQnYvPrYx|u3w&!Ra79*@rtDND;wHk?)rPKJIa8|ixnuqsa6pUt zsksePVDGna&)XPk%UhPe|yl{EKTMrcZdO}{#?WG+>$3CE}rmYH~R?|AxR6lB|x zJJ^U02NmQ-9dh)ukfVI|=Of$sE~oNF_=;CU$=zJnkDQV-3!x+=b2fqxa3&IajMvK0S1lsexiIxYP56r$!;9P z*vQZTGJvMyi4~m}*FS*b3wahJe`GubR&xJ!SLl2mXm;0)fDBu+$0SYDaq}4(eQVz* z$aqJTdt@I?>rWPwSE2BH^37z~TE?CxeAd}I$G1Y0?n)rzy$igObJ6mG!7H_LLm4|3 zoFBHYlYYd=^ePw!x5r8{v1vqN?vqh1XpL>P)|{#8Xzyv!lI=VD~l;8o@cdxatwG^~WL8bQp{8CSEE_x~$!dh4a&gS z&UIM7i93`(+S7Y6<7wn*H_@k8SsN*|w2JIlU<+81fWKRkt_jB~4uUJ2O;NYiQw_Q+ z?d(opL~RiKa0dyYVGTRlyQr|%{<@)#l#?%C%C*###AN7I*yj}gCJIgOk;a6|4X1!- zwC?HS?utxhZK9Ce>1M{RSG2(i=p&v2fB%56&I5@Kamy#=*EV#Kvf)1Z>wQ#dSQ%?$ zx5VoUN>vjVCh~SEx_NF%1T3!bJz0t39Sw}q)*F;th3nqs@m;!=Mz&EWw$25}8@6bi ziYBA4hcn&>^AGf3E!-|TyIcLM(*14W{9m!~{>H-j2iDGS#{XYo{C`%k|M7&qi9jAe z%ygIglJVh;8@Of2(DbADF~0FK`+gV@jkNyrX zh(|j6d_itgjoXz@e2E&KNCc6G_HXz3#uoy)pc|>%O(zH?%0lV@sAD@x$i&+rsGI-hg*(6WxWKe>qC>w356DRD&u5ZF!!(*eiVsd~ped2;o>rKZO z7d_zALJ6DW#*V;Xgnbtm4DnGZb=zCd{DK1e(L58oI*_r^&9mK;5CwTe7z`NxozXJs z0EIU%LnstgHa}W4PP!_p&bGGPv0Xdf z67!xJDN(#zK3`JsW;TeJ(TZNyr)ev*eRZ8VIA!&H@_eC8*53u~QT170#=MAH?Hifd z_Mi)Be!+IOmhEj>LD)sQ)q=iP-JQxnL#UOct`2n;r6=wN-16*-+MSQ~ZY{jGJ>=+d z=`k@c-MUAG?cL_o`Nu8nXXaLn*=1kJz28AGm3s<>rZR!qw$-~cdf)Mz!?1M4OMm!r zbleqW`kB1CH1Td1Oz7t2lBSW`pvFv*h6|Xx+AOlWP0uL#m5y&O(A=#e3E{huhjbNg z?I~gz+B*9mk|{LtZUlMWip7oDy`@rOk>K7lVmLaQ7w$siCn1>rdd$EapycRp9>^ER z&4U#sQm2hSAKq;c$R%~(v#YUnS4Vg6-mPTR8VfA<?*AaAa8t}BgZ^Ne6EntlI9v3^iM;|?iU~{e&;ZuzYEFR&w+X0 zMNZJFZasFGLoUrQB#yejbebrGKznj}U^$oSs15(oXC18PBh^miFEa^;{Az`}aepC65lcJ(4)7v`6iYQUA82SOZIm2(t3dOB>@`4GRLt~gmW$X?6RRpUw! zOId+E=1KRVM~R6bA3Y>`%B$zYmBMD}-i+XTup|lUxVbqRngx68a(d2&jtH*nY?;={ zAmIV`uv{i@eazK$Qd@&NV2>#Nm~v> z-3vlDk35viQ26;NzXpN~w)A(+5Zck;)i*4{d{ZGh^>zQ!$w&zogy~ zL$Skc$3Zyu2D4cc#LE;^_9a6gY2LA@>b0Uv*qLvW0djZ;!##P^r85MHCpQ&n*8*xs z&-kgTYMZ`H3Tx%<%_2Pk^TQ5f&DqGO3hUT{QRih$6j+A#dVH?>3re20Xa@da#!Pkh zXX>u;v7I^dko1EfQAlcWUCH2vqfU~i^WKnT=_`&ibETf~qmi#il}_ziD@1b`2MtGt zC8gZ~;t-+k9k#fw+z%us?(bq0}#fBq<`2mE`I<0q?sW-%j#uqm?u%|s9Jfj-)LkS*&+XEvg zY84xk$556=pV3xsaY` z(@8GaaHc>cJe91fC9h}W|6=flpdIo97)a&6p_mCt%MI(3ju<7D0Z^;iOV zlO5MgWbRFgYfGrmdCJY%0ONq4XwOMRn(`wgDKUwP_1=;oDpVR%6 zzPQttqLaXnj#%;oF%2WO4{ezjr!Q>++A5Nl>>=HLbn&zcFF=~oE|P*n)Go!M`3*s^ z;1Yre&pi>{NBg30`lKZS3?%%_9TNP2HL0J@3YN_>b;}7^Votv3m&?nzOjeRfI=BLX z0Q&Vcz`c(r_LuXue9*5qdqMV(LnANlyc0G(=Dd7;AH3h<%DJ|DY7ETHV4mSAa=swh zrmkwV*Jmj!C#DR>Y;~Q=^cy?YEpT0Eal~Z{(`|TJ+DzdSJrTZ#-Tn zr)_m~6IvqQ3$9*JV=O!O`I-K%!ol;ZEc4mUidF3tTTgOzmShfh5zUohJZpuY%a3s@~rc zQ?R#}M`VE%bELU%5t)QL+a~w@H8Pq1u)QH%6h;hGy z+$8R`@Mdyj{uoVS&C?YC8A zUMwDYDh1kW96vPky5}XVFPlOv7Nukhj`n}vFMT*GWlH5cUWusT_gIp=b@ykIb9Hoe znFx15LN8+IVPu7q3ZMPhS zv6>nEo2o^*#`eTNQbr>#jIfiA(AXDDh=ga;01_ zo<;k2H;R1>V1$SyG=WP5i)9Kv5(;Bmc>aW`%dj7F#Fj73im_T@lr28kZFjRwTIH@Mza##U9yHVA?w6Q{Uj*lMd7@}>1_OkQ!uj3JD*UOgmHa>S z!Tv}4XtV==CBd0b?ghxrnF8V~bzbZeJ8?UD-=gHO+2D%9Mg&(gWkjv*aRwV28pGh8 zvCGF1QQ_u8TpcqK=ki-K6>HA|RXsiuCsSURvQ+`w-SzV0D>f^9r$d9Zk;* z!^IU+3a_JH45+gMq$q~;O|_weS117R8cjpyMMOy2PwSb#`N{t{1MZK<`)@Hew|&GF z$|FEsT;#842!&ulD4llqs|!uVjgr>5D?sB{^{HNvp)wN z_Xqgx@8aNMJV5efR7rzz;jjlID*?LFEVzC(>;@*oTnukKD!AkU;MC0rnu_f=Q-Ah2 zvbkWLhB!!(eOY>CRI*p1>rV%MuF#U}t*Hj*Xp##JC8D})tCh-+?GSKMS8&E!C5=2=1i-Uj`GEXf)4`Xy~&aY2G%WGC0!al0JDJjK#^pjEm!qkN#xxwk}?jT!B@ z$7-^qe?oS57g%%;9~eax;nH}B-0X3n2^XuWK^kBzfq&_ROfBq5Mo*zR+*?SgG{c^F z$Dl4Q=1)nnr$m>{t??pp(xIxKI$Vt1JuX8{V(fOBf%(Y#ohBQgSMLMi!N3IAf;ww> z2q8u;Z5B$oEN8v)h~zoK)+e|~i8Ho&x;P78O;p)Q+%jE)Zl@NKx1ynW56VBdX6SJ;rz~9W zxM&iws?udm*xrA!qne^rR2#@OQun;jTgW^7<+||6!o7{Sfup7-O$sV+B82WmE(R>A zC#2n@#2~7R z83DIr@i4FO*~}Hp8+($^^Ih~pRSi31q%q;O1w&qWwQbtwdYN+YPWs>^5*JiqaM zG$NQaY)mz%{|=s1{^Ur-TwT+lqZ2FuOY}0nuTCSSj39!|>05oqq^xf?I7L3sS(rfx z8SypsCO^@^EKv!>Gxyl8vF0>??vPgY<2qS8CE`y1k-j1AauGsmARhRu)BB_(a^+8q zjM-;|&+k5p`1T`!q7279Oe8fype8TJ^Seeele{Ut8J8vTg>T8Q*?ne=c6qt_>3s4v zRn{0|y?9?eUbc!<>)A6HC@h%!@UEuSLHCBaS^p1vZygoawxxX+fj|fr2<{1%;O^Ksl!`!!aV8 zlER+}uzIQ`|I36~pbtT2q)1&+PY|l_z4DId__yu}s+ly&-$-Vor0=8) z3o_{c%sTGZJ^%G|2+nVmVb%EGP8AV;+xMw4Xeb9uO;ER{uu+Ny>X%BlD;-Ebs>qpk zPGuK!F0o7~pOJl;Ezr{ES~qWp;+KIL3rBt|Ov3eENjKtjsdse<7LwJ>OFg^dNfV99 zz@VY@RqzJjfHQaT2m=ypT_Jt8UZ&*Iv0RH0_@-LYfaPc<(J3Sq`HdAiS*=oY(8sSq zlGe`y;VG9@pIbG0)qK)Owqh@9} zDzLe6qsi19J3+2sHazJaFmxjd`x9jeg~n6lb|~^!2m3j8AA{)?Bv;~adg+&&zyer7 zT*n1}SjHmxnDQ31w#={&?yd^CLGHFHvVPbxZ7T6%$hcGA&r1TIqN173TA3*S%RpRg z30$O$|2F}5x^3Ov(vpo+shX;)#C?y5%h7&Y@1wAH#yPYfk@+3mHo3b=e9Cq~qEH`w zb03`Z=F3Ffm80?jHMLw(VVYx?z~6jCN&_s70fbSA1fmfFtLURf_Uc z-v$mny!fREG1@%fu~XW!FmCp_neU;-fzBu~gfD%uk)O1~XRHL4oo_!F!l>)LcTs+Y zf?yM3*Kz(U9gM4MKBBd2F%QQMqzH&)IE6G?SnC&%6Tu97)poSU3%!Q#Dlu^%AkEkN zV5)KF+k$;-LK;?g##Z9b0Gvm$(JA7m@YCGnaoaMtkyK8e#18ZolpzjLnV(h*IP^!9 zD<=t^s~W@1{KT*`iKy_2pGn%pcWgb=(cZlg=+7-7T6R+v&sH#d=b|Xg*j{`D<6~QI zlmZnz@52lA7cKMUr?O5Axe_WrR!Nu|)Gr6!JwY)0$wT!Z`IHDbHV}DtV!YyP9?6;h znUTwJqCU5=xu&9yZBe(=_UT8|IBs!*?Y@-;+5M+u?~Ss*QcrTWv~*DJa6PV{9jjY& z-g7_H_9j&iR)Xxmxx^BCJWg-yzNnnh72vBIHyH;>Jiq#+1sl2fol9q=@q?-%XKX^FAYbG(p#hE=9=V%#%=ea&Q_U>gqEZ_d%rd3AM} zhCs$C9l-70&kP3aFn)m%6F35vS~o(lk;`wWIg&$PVvfFb1tK&N-02T6*u z9Z=40V@}1}7=5|Ct^})@!OFvrfQmq*3;dN8OgluQs29h>4ThTW&XJ6JOxON zMJCA5qbbFjZP({0MUQ!+`UimTR*+m}f25l6vSVRwQ@{;YiB1CU$>Q&w1ebs_#TQ!X zYU6fO$4U|THu80doF_@|Bp+grpCnz9s$vQE%I8cRfWU|37K|BDZU%>vw1_H8AKkKZ zKkOVBZS8R=U>X2fUf+_%kbs+W4CQK)k`kvJgppb?tW~1#qG54WLs-5rTikZi`;Cyr zElgtPvXEvr)@0)tao*#pH0ACCn+90~RIa_#*Bo14YiVzcTC(m3|&#Y`6nqNVs%nkV<^0A;AG|}$iM9zF$?CHHHHA|RgDcGhl?a>(~sS6d;k6K9f zzsI_5x|vuSBS^kb)MA@Psd4PmEPp^V@h@`VjO=CbVZ$2+GGsgsNCQxt- z0Lv!Xi}jR57l=|baOiL*D-e+i3?sO_dGcp1Yk93fB!TfQMJxmKn6!_)4)z?C2d{ zx!h@%!|K?lO%cQMp!!}#ka0fCDA&(y_;CUY8gL`JxJU%t#b~A$7em&N@@mw%2nm+z zl!IYjbN+kx4BTLN_aA^Kl6O?v2Jx_y%US-=yZu&$#HO{mrdp3x!Skl?WP69TyKS=u zrnh*|iGf?jC8m32b0W9hOO-!}nbC0{%&l}O@{dRcr1vX`T_^MBoCzhBllRbJWqF|P!2B{5)(ft z`!Gj}#7^sA$!9~Oja)Z?(?_IuZ;ZoKc zz%_RMwCb9G%(Sbm(MoetLr}tg&$+9VHV-cp=UcH^tDv$kmUC#jdByjXV`X*lt_{c0 zJ8Z2c9f!RYmTxYna8maSf- zgEX)0BG%o-uWlhu`#wy~y9FhB3SH8s1=OiPQ-S+in$JeT@WwY)q>rhhLqTQMws|Mi zK`Y(T^|hY>+rA1DNJxm;vjd6AP(n{lM;Lb4CTwl4mnHm_GhB{ADv$4y1GW+J#jq4C z+Vd6oQLr)DAmMv%-R&FYHR~8Jq!un2p!5Ap6aAE0uQrlM89K6CW7)ZV1-XfAGOMZx z?;C@2ZxeJlSn2lHF%1|??z}txpip4Lntub;?n8KVV=4f9Rl52xFA;mUpvKg*$-{|H zn{N2fSx!iK@^BO4+!W5o=MIHJ7iVW>amd&{X2d}n%TTV{X2}Hel0Q8jnLU6Tz}~~Z zG?G`l|UdN6HJ^87ff@(fHODE1HeRR7Ev0=nnjja|ujfrm9u>^CJo7=K%Je3tQG z&M|D&Nb&;^e8=lN05VtnqFSxQ|KQwVkwe~}^(0v9oehrUUZ115BRj*A@eskemWqiQ6g4{!KEmohp=`s}peU7fEOBd{ z=#0@P=0|`sWaPJT^JemVxJww@pVjA48|ZlsY{IL z^vxcISVdMwvt?}m_x(@&yF~btm)3Sdyr*QmnBST94X&gP+rCrYE-FBy4*7(3nxo}s zdfQ|)NTSuU3Z$H0SBo>dGw(2A{Q!UwvUuS6(d#!FqMxGd8V~|+yfzA*y*$}CVY%4$a4kji5YHA4z8C*j^CAjrRxcgNG4 zD%m^CYa7c{Wgeo>(~Bi*4%*O1w6Zz1DSsEV}R!()Dj7(D|Tg zTX~p=l-az0vrlk>HtR?q5II)OvyAT6i(jTJ+KpY``HU6GM9oOo`5(!oeqV0-Z;Map zepkdIYz+%x!u=aXm*xWnjHmG4=X}zKLgyccJO3bLIefMI@TNufz8mJW8fdiZO%rrb*pv>1l%>=h4+0-qs!Izyb~%DHJjt5 zH9CEa40j)#-P&_<;C+JuDNdV^EJ4chxc2CrqHoTx_J*3E?A8P_rO5n-a1onAU=JK> zm=wvfar>aj`;n$Okwc4fYbs3tX&2*sM0W2Wbn{9T>RoL4-OF677D57km~gN$O!^of zFSYfAMBHUE0Dcl)8loUkJ$+g)iMkS>RvQ$!rmktgJK?r51;I0FDZ!jCeC5cY;Fd|L%E}%s*>(v zI-QoGj%1Xekn#k!;Zb1$bhpB0As^h(Y%Azgck`%a9bS-*TYwMe#D{t&L!VriF8E2a zghGg%Rb9>b-W$6ECdsTOZD-fhDd75!1K~oyW!mfU^W6ZSy^UH6eZ_!l$`fP~2@m!7 z=nybR@t67%P;O&&5Pi$nQk=O5_X6&|-tRiq06;r_p<{St@)RMhL&SXC*v{EW-Ilxi ze_HXsbHtW{dNV%N-w5LK(Q7MCl0==q7eJk zZ=S})h*cnS7seI`Z2)dp57-j!Fs)oofwi7lf*lFm9<6Qy41H(MVXgh(c3y$%>?va_ zy50VZ0{Rx^Fy1oq1N+5S@22nQ%!{`=N+IJLeBWZ8`M=D5*8YfXcdo|V&EH_+&e8~! zX)!`IIIYrS1BguAJ1#~v?uz0yhW!&T9VsMw({9T_|HW9dr27gTiI}X{>;1h|K~=7v zx5)A$e?rravo)!#4G-;Qa9r7ElZ4oUYQEU+t#$;hWjZ&$b^fNGori8E1UL6Bp)nUa z*HRO|emY`_QaVn-eGRJ`lG(MxP!dNGHu`OY^Bbe;udJ%yj!1Z={jH?O-T5IlF|c$^ zeif(VV1cIST-|GH7lGIGOfQcWqQK{JLQcsxU#ySAV*}Nt4GMIl?C5H;^JVbXVf(#K z|H;h_h>rH?dG6@lm?v;Ur}PZ^epDz}DA#Ud_p8BCsMnW07#9jY`NQ)zs=I&D)tR!Zd$oBqG)6>^&VJq4a zy+|vsK@4|5>{hCX*3b(@hPNU5kH7FA5=X4&SuWywx;GnmaRtZ3b#BZcK?7fK5w)#< z7F@9J-PW7dex(gRc}n+X1f{cZhYWf#4b?l9Sp)?#icjwS+*DJjln3YE9Q<#l*&w+f$HZFp^ag}`!u(Ha-W8U9%h6goEDx`d5(dMUm5 zPDAG&j4MbgY|g$fgJlwglVCft2kPj*ZMZoq#F=?^x63%BV&^SSx=(}VXM05jkibst z|3FjybFuJ8y6Q(^nI-c?daRPDeGTzkOlqj@SOV8Y>SNk-OLMT2KRoLII}NPkO9O<{ zrF8jfa;{e;_jWPay3g1mo6%vVdpUR-AD2XM#yi&Mu?p8WU$vVf33!mYWuOt#(d!%N z(pNzx;ruvF)!rY(S$1@6HTy@Q$>L^jE@;zR@fU{>TBl_b*$Ex*0NTV&b$8-K69ZpL zSWri?lPxaP{Q!jJ>*+6O>GYU$4p3I^VSI~XiMX5Hogk@-8TV!1D!PcaJ5H~5f8&4B zEV*vK8?}^FaA?*LQWgt2rbf0jw?V4qesF?w2Y)(X>-T8hHAn>aQ#N`70=g$60(9w-kRYQs&cUqehkm<2Y)%#-Cw zZVKZS6g7GcEI_XhGSz0An_b@?`HT$0k+CZ=tTUcjpRD*tmJMKUD^T za<_#(A2MiljJW4jqm`Q*x!ZeFOqrY452FkI04$TJ;RGb#O53^@(Y_jI$TqHgCOa&t z+!{Vd1D0@>GwTDDo)dYBnDd83eM~qdU$jG}2_hgThPxWSP@b`=2Knqxk8W9%(19e? zS|Ep@jHodN`U4zNX)Zix+7e;Fkvo674Q*~-MVbC~tQGT|=Cu;PZ&!Dn3}y(Qyj?T; z_2ziA*}l)N;ziMgzE9AmlDLSeGs$^m%e>afX5>5F^9}+W0Wmo~wl@1+}e>4RyegsvJAcqnF0ra|q}eh7N8U z)dd+(8zZY0X8I6J#W5l6`qgN0kx^vScZ`pmlYOHWSuF6*_F!j9cE@AzDCfN@RuoTk(?9*g9w#?x`#_r7TWiis2z zFnUwfCQV`60dEmrXqWjuUKz zB68svuN6+Rm0vq=7_*x^5ylaO9g2v9{p#ka7dBiZT0%a^7!uP`p}}<9V>W0M%8&Yf z!AqP?txgkc4Q4Pyb_fv19~ml-EV19?xubLVQo(fyZ90ye*~A9KNR)TQWPE)YsI>Li zaQ@1asfIy*!y(KDm#j*T?B<&m+#0d{FfXaS9vY6)m+;1yiV@Xj2+34Ex%T<8#l7ZS zF{l;8#j*Ic08<3}cA>YI1!kj6d1E@#37Rx@FktJ4bz`ke4OF$OHD6`{w_&>6tU|Te zy2R`GUd%qi)`pOn~1jyTnY)WqBPYs3DG*&N2*Wdg`X6UkT{?@LWy}N zTS+`UIjc@+66~nrKeLm6Yro5Qw(xDuxpX)=CP%uGT~%pT;_=hG1Yq4VdP1H2+ymp9 zI%lYnk*zr{Sl){}#dVKimKDM*`@q#)h!rabV$` zwPI$>NCrH0?D(?2R)<4HGmsrfE{#awz~&!y2FHOTKcO6Sa&ZIU_$Y0*6N?LvP#J{3 zIXcOkP)c74reF4*U({_Icv{QZBX|~JXP13WiGBtH+nX%91wm1y7#Um^=o9ZhEI^d0N&q6QhuHP_b_+=GyV8S3sY3v=lD@^>$(P7S{?Ks z-g!=(Fn93T#}7*ZBBI!IT~Zj%qcL)DF)hAsD!XMiM9b7*wlq_P#tpvsyd2p6jX3!% zn9szlgBt+`Db=+NstG+y#qFO^ui-3t@d!m#J$Xkzry>%LwxwYNhV`!_nz2q0vZ_Cp z5o4VjdOY}C=i5+?(l{kux(%~eX#V_c&2)&SSPs3%Cy0`Q>&u-9=xJ=GkJA%t!&8m6 zO7rPbLOszwdZ!KNn7wZ*3=I9AHkmC48Cj$XDWspQDBfW<$r2 zKHo*By4+iWYp*53RZa$(OAi zXPh2yV%NiQDKFieq)~dU)7EL6y+joq?oB(q0NY%y1MX2bdQ!m<+Ek9ZELf+!xjfY5 z12(;3rJt5C!f8sxCdat;jt4*QLXNiHLh4x@Wtpcd%r;4C@*VE`yW;vN!9#vHIZ)Yo z7S-XstEmrx1tg&rr`2s^Qd{d$SJ+KtXQ8=aHtnzo@!88-vd#phITk#^3{$b_t7P2^ zvh(qx6$R`i=rD!bnT{61aa9CS1JVLH=^K+$g+=aOcxw@8=aRrh>a|{_2O72UT~=`|i5}I9J$}t)Fj{b24%J>#cuv$gdId>nHQ;8S?X4 z`|F|lYnJ&nH~up&7D#@lAp8&1guf-*%;BkhpVD&G2k}ruZba&^_y{Wa_Jib-Zl%#I6z*R#--#+KkQwKAB8k|1{SjuElV3iBEk zs~Z7D{^V3L{k~me%m0Fym_-cAC-mH2HKZ6}^sF#oqeN5clw>inB78v(0_H~t3^Cb{ zyveXVUvj0yT7a{0i!e_&ETkhUyd#{!Ebv4q62O2x9YfJ`sWt*{-(xxX55cUz&ir-&p*4{8uXWJU{KAh+|7`)GI7A4?RQf^Z9+vx~OTHRvlhET$S+bWPf1 z>R=9zSm#Wacs~H5I59;#gi&P~jDfh39(7ek;*?-ga*-ZQAyEOkyol#vAOnL=v1m+X zr8wz1Irbf(RoaW@I>_?)*)2j-?8@A5WW*QYO#+$;;&Fx2ouCsE+TpLr&MZ$7wyJZD z`~|8aQYNszTJYN%4xoZT=%0;FYe^bVnb{_|_q9A8LLa#m$w?}X+nl2ieU5ju&~0XH zcEI)%!CoZ<<*r{XT*vW1WRw+(^uzk^$#!hEA1GKQ3nUBYyrOm$^iDHC{fd5KuMg1C zjI5G3stT@@Z;sEL!sY5~?IJhL)Reg$>U)IpIXIItwHGZtx?FhaZ;bWC*1D+%OZD|J zsPI!W$cBqypwk^?H&Hp1TMR{=t9`j9mS7em4I+QnZ(B$nx%jX3VYo`twxh0wNqZRu zNw3BW9hVag`q=>xNt-`Kaz9UQ0?Yz36!9em62IWh<^~xe=UKMHGZ(P@B<(KZvd&`OGlVr=rCo7*pZR1l*~;Q7hDR_y%iCd+}(8$Le6IaUbShPDcohYI47? zx{rZDWgVSjLaAddIVG{ul6onVL5ZPM$L8arU!eo> zWGUIY0ypP|(ln!FR=0=D?k$ zwWt$lCrCN3hfjsODgT6e#szngd*tn{vYdE79nfnvMRyf>z%zfV>_L*t8U2e;7)ReZ z=(*ygOMm#Yy1;MZD1DUAcpl=RZr0ljSzS=tz$$vFw<*Q0Nc{e)=Evx{c~*Fe23ymv z%m+gykY@z&Oxcc|DtBc03tEF9@jd0g5QD-3!9=B2Z?(@*+Ot`V}Q@M39u!>Sz%HFae<)&_u&tLkR6`PAkgiI_}& z*j99#B19OkF-m9rdQO=L&n;>vXJgerVUgH}m1tgPmnk8Om5+a3a-Cv?M<%p;z`3qm z%so(fTXS#Y2;mI(I%?!|CFTgF*ny)s$0_>`oSx)o%GdoimzoLp`I5rVheeBJ_(rIc z3ix^Pb?nH%$vlqXrZ2Pmu$*=k7b)S9UTki_G>puJ=!bb~W1~}NEN7|Y=tu?8_7*xq zEojx3xDhk>x>RVQJxx>DQaj;vE8<+B>(?J~tMts-Ofa4#ugU9KOSI;M{-UhZ+eK?0 zw_K%rNH5aNl$;Uc*&)^}@Mvbl*#HA=;dJ9ZG;Oyfb&s)PoWOGsF zo$5j33A7bc5Qi9OG)~rjEd~OGVu(LfzN0wwV(A7#G=k11a<06`$9fO_Y(J&t&L!N- zSxpPbt5IiHOiTB5@W9lH#qVo>Vr~D&IlgY**%rxVUx_{(%!bKhOA?_MY58p)4LROy z2C&~_e6=mKEHaw1ex}Q?Y|<)0T)UbkvKj5MeW#J#+VcI&0xv5Z3TB6bZ2wwRtDT2vC8U_LFp+Gd{8yt*zUub;+RZUgT&`_Z*&mh5di zi$?L%R2v~z1S7}$)%kP>2aBj=n3`+)+JDc!Q9m{J%D+qSh0n7bSGQ|Ym^vs=(Dd$Mj(N?oZK}nA0AWtvPM{^5Sc!(yCRxe)xo}_rd-Heg68mwV0Z8$mo35CCX z@+8ZZe{VuE&c?>Xe#y|UURCPydNN6EG;pD-uu`Z*a?sSev)_&T-_mI199gb+*B-eS99|w4>)#9nEbE@y7H7@j4 zN|Qtn&UvER|9f=pjxDZBWxb9W3QuIfy9;ako9U0&X@sPBx8&+D@=24+!mO>(K40T? zDogr%lf@QXVEDa{7zF&Hs(zvrZ?Nve=JoqwZaXgwup{Dj+xMriHntC#0#f?->3a_b zvp$X+CZy&`m-cCn$uNBF`Mom@sww zY-x1{aO$JfMRC6A+j$VH2}K`bdt<x_meHj*ceXwz zh<Jz-Ra2%JdlIDqR4 z@mCVXf(|v0K_ejt);9Fu*col@Zil9KMoo?^`txVGr0IMQLPv1tFk}(N6_pUSoB7v9 zi5S;H>1=U^0pd4JORO@z>m;6W+S+D;?pf~zL5%%!jlQ)G;1pwZgdnKbmhPtE?FlQNX#53Gn$WL;Y=0YXrgT;OeZ*NUj5$=W#i!B-ni; z+X`rb*B6JxzhtVnxmM;S|mfC^;E8 znilq|@K0&Q)P;Tzs5Jv7oXpQW4n?V~w??mrp*skl!Tjij{p41JL#F z*|yUY`c^Si^%Lvin`jMHQ2`zp+FKSd7TkYq{_zKzD_Ql47ZCP_v+ITN*S@G@G4+Q2 zJ>Ky)?3g_TY=HpOiGqArAWFRcz33k(UEpFnNxGO&$4X-Aq2E?t1ZQGb^!&w;855wU zh7UmZRe>So#09GHWQy%k9g3Kp(KCEIGdEjg#s4M``)w=y>)M|S8T=>u=?{hhPIon) zlDh^bWkp(A%L?li~jOaxqouE-|IahSKnjb z<9MZds=d(dbMZxpJUG!+hIsiwGpF{U34T6#HqSz&UR8@#WX1s_6G#1GV}}5}w>pT5V99RD?Z$+H%wRk< zPpc)qSmGAWoT*Z%KIsAHqJXlZUQPlSl2wy9+(T;YD*hn?&Oc^}0GnC3F(;9;)(paa zdhmgqr$2+t?RffTBc1~##FonMm;wc-E#+MVG4qI_hZk+z%wo@Qr}H4og6Lq;$R(MJ zH0jd4l{IFcdx;+XiR8;KB19qHJEqYD=e_J6NOC@4S;U*0S6C-*nYcsM)mHLXlb1A^ zJFLvK_e*!~3O@k4bJyzbRc*<$^!XNo!}S=n6^lE3pdL8x%{Xn9%-BV#X+R|o!6kNX zRk@_sTOGdQIRUKk_0{0L!lyR!u7T}DRTE1v^|FZVg|tTB0D1Mq<`zZh#~ zqAFI)`g^PsGF^e0(wsnX;zW%^ZNrqc^_bbD`D89jPw%?;(1o#YEHpQu zL0eSqaQ&Jo@K^tM1OU!e9})uQp|*;B)5b#$OG)0OyKCE4kDis%wmwaoPTa;@2#Z8a z53}jVCL>kzhHQ<7vk+Dg1r^>8MY!TXoZ;+x9zhK>G{6*b}yQ*9AC!u}^yTK1yx(I6|xC30>JfnH`$u zD|GtoHqcz`f3?)$t*&hXNs+w^#!t{qc{IOlLuu%O&6ruNxv0%pO!7saN$OCsL6ZxA7G z%~Bkfgrf;*Og7UPL?yBg|_Z55o#h1e|KqkEFjOTk0(=ozh!{)I04uQF1&C#boakDhcOwLC2f!NjI5 zXa^X=$^O^zsMvpE5Ao|Baljv7WF`5JpkF6+Wn$j6xi9#_A9GL{UQIlR6a4^OYQVgx zwEcA;j4P0Rr*O|*Ij&*fLB`VTrDp%g5Uy7vjwAWl&gCQwI0L}K60Q&DYEAXk&vRHe zG_$D8!Yv=Lyw!zN!UC488kzj858m&376)`i`FH*&;# zLl@WBdQ6&HqNUmAm_P4hiKjUu{EcB&V#U7x5P!r@x>u$l$6&{P_fnfPpC3;?VcQY= zsLQxNfmTE}Ex=>+!De$(4A*s-yNNh>M`0-eyBAA zxn^=#z^zF+j{$ppIMV(1AruWm54u#ep+QcU%K3SzicYLVSDP>-l{a|L7IeDp5yB~1 z3!I$!nfd+b(imm~M89yPfN z!&v;3gWFCDV$i*X_5)dnfDqZ&UaQMzz5I6k1ywT0ktl$XsCtrPWeuuQl=EYzpw$oG zJv(vwt4jmO`S2L(czSDnNY8EM+onM8C7eLYD~pGNwOq`)V#py!9a>thWJ>baeBJA^Vx3!9JDOMmCR>&A)?bV#% z;BtbocWsgoHAPq(ln(thA1LeE;>yoTgQ0xA z?ey8k2>Z~tI`I&x)5!i+0)piu7Ewf-F)ip~{(W@LklV}Ccgls>?md^rI1-)?;)3_fi?_Emw>2Iht{Q@i z&-v&(r)r}JKzMgMWyvq;gA{z;lg5pwI<9)~3L}wP!=W5u?GeV?u~FWcovl*k3)n7- zP*)wAJ9we2Eln@Ykt{6srnJL>a^duu)E<&{gQr)K0npJ>`)#>)xJ80&cwrXna;-~I zsidJa<&7dDjG$u9*jTF(voNP4?TY+zQ56(3k7_5?_j&}uTP>Wiu5cUg0>!6z+cjwC zJ9+HzlUjc9tNzrra->p88QvLQ-95+QSEZ~wXmYL8;%iHDJ?LqJnP6FCAr^11bRgyuARuXuN(jI zcq8=n4?z1J`~${{u@wYQL-6IO&G&F8+{(8ToXea+5e3UBunc|F*Dbe2(3|duFsR2@ z%6T697nCMETR@vII2bF*)`6(W;*fr$=93vuw#AHxA2Tp|{EnxnF3_2qgCScbg;uoV zLwl%j$fiL5!5y$RE9(2q`kqtx*^$6~&7km3-IxOXH+++!kHn0QQQRb+N`>3W!50$# z3^nCxyKiG(>(327HNcD~XIbUH=Pu0(gFU`sF@2JLC^+Xe}}+N4QSqI@bn zjV5D18Lfn3JC}8|%tj5{3Yw=>qU0A*T(Co{?zDnKG#2_^21(b=qsPu?ig+yNY$aL( zDbRPa?zUK;>TBo=4w#wydn2MnB^=eNcl9K0yJ)l~86Jm;+kp1>2g43rndt{LK8yn3 z1a>pCqUz8SSntGg`--*69z4Ge9oYYxS7Qx=!ToFHeO7bf@jV}myGzQTg`vUvf^fciv}S;^dcn<*b` zZ78qf5m`%jdvp-&CpZ#0Z}21j|IB%uszk40fcgr?Kh$Mk39h*1j3F6NVf0 zknZbLF=C~j9M~34f9@$u;f`DjlvXlTwK&=7c(8tF=SDm&CXVe??p*&X2=o74KPsfh_VXCcD|Gl2;DtT%^T@yT1JL{m?o8!hPENBQjxvzO-u^uP zYV@lknqU1I5x;&Kzn&5QNJ{n#QvLr5^rOZge>S7-UX=N{Tn#DD=UWC!wYm_LW90hO z|CH=bjm%HZb-8LKRXwQGI$h1RDQ))<(Zw`=g@ZN`8fc zk(?`slbbo))Te$;L6VE`HxL*?Z$*zwLC(S6?7~eWp-(aR4fodddc$UoY}aR+EZMN!`hogSAI(1>IxJ&iI+8hK=KwTz@iPQ}xgye#I{YYF8JIYJr@AOnlpK&S z(U&i|aeWc_Dd`ENNt}NV2BeDV;JvKZ^6ilP_mb8=N2{TWH)0JGMxBTU_QS7>uv*d+ zS7<^b%Wz!FzPFuEXU_B$Zyyhs6Y2FfUOosMIZ&?hV|MG6a`vC^gPRF#D!vZbqZ6dE z4upKTRbL zXmFHom8&KwqGSgG15H0l1U6M{(ZwIrH%^WC9zZYfK{U~HcK(}Ms+fMCg&5s-w^j7@ ztO#v`tMi(GvPo3UAK*>|)x;v~q_2a)nAx5{NC&-mS#EXPSyXG-Mp=!V@@*H^)(u~W z?S%zI_DfQnH;R**?)lB6i^oMq%q}OdpC|_j?{nI|XM9x3IYAxU6X{^d%J{O=YrOsJ zp@B`{S;OR*F5RyFD^kMXt`~a6H(lIl3Le#J=rkB$ZC{K(#wCm_jKxUY z&;lU%dB@8KB(7dPCw@!V+9E`P9#kw@pe5%@m7`%NFlfSr^$q3KC5fbxCd9Rl_aYk% zMSiRO9=}%l<%$9u84KF}J&;av0>oYxatfX8q6l?rw@-p5g-=uD@ zt-ll*m9?omZoO&2Si>h}X3!k_wy5)nx&*o~XCO>dT_5Ha+U}OZJTj^A43c>47Oc}~ zixR0QN9zva>nXz2AY)v1P$(}=?@SJi%FRW#W(X{zsFb#O_BygxQFtX~n+gT&vPbKj zOB=;H;T@fQSeFDAcf5gsy*WJf@T8xC=Z}+ek_~0L@mIM?q}gwYB3;G~Urv#SZEzd2 zia7)3HcX0e`pECO3odLEKTktTy;YN%#O-+{>PmNx#C(8Wxq~oVLi2<$bS%%#+j`SQ zK!VQFS*PH=@r~N>NRTVwNGWL8f{zHkzd@zBi0Ye z@61VG1q)0Kr8H*iYGw7}l;}Iv&PfleRMvqpq&1}%bocjd_RGMKm2tPtz=yqysvyrBpF+u4a^*0uFr2HcJk7A|$!$;YyWhCpz4=rmA)TA`k!5sw_E+_xj=+Avc`mkX|cE z+GY*R%~Dl>rWc#E6<6k{!ipR^#MN(AvpmdVcsfe%n2yKv@@r}*AVdW11E=!M> zobesoYJ07)kGH`+J}hpn0^O8#FPOF5iS%@TT-gK?WBsVlAYTP=|WPf#M?ErCC7_s3LrH+eR4hr zDVc`54>iqtFLre264Jfqx1N_Q!9)qJb{KT0Zo1*6rrQ~Xg-=lbOy&9SfT=*^f5TD@ zKe~zDnXl46K9_fR#_xTDw#eb@-{Ic zrTMCnQFLQ`FJy=571d=O0nK+~=i>VcxUnqBqS>RbHOX*WT(pug*Xs z3ISENFfu#l|7q{LdFsa>jgehp0Yeo>mKJ5 z+H?)szn*Tz`_lcuIG7fFhDVVdk_EQjvhgzN_G@)?b#I)S_DtXYoXjhEZpMX-c~-nsE4 z@IoYy0<(A^&b#n@COweLMVFxPh3h3-rLNiH>ACN#_Un)_bRwpOzHLnML2n-|Nhxm2 zv();yA0|EI?$z@yYSX6~iX&X{A|h@!a(Zs{96dM^Vs(>LVDAq~h@(b=_7k;MhdW~s z4`+LZ4}L@*L{a$Cj+mvZ1_mToCGn_$6(at@wbOr&?7eCRPOm`2@f4};hYS#QF)OC; zTb-;;@9M}6p|ZL`o0_ic4dNam(*riWMIBMiArRXm?#E;!^GT#ym_jWyPtGZ4_6!pW^pQHVR=^c&O=mNnRu6VO zNDr;gxSW()DbrXA;n#2Sx{bbKeg6FBr~a?5yN4kh;PY+-57jD{m&sYIuDXg&ucAWF z5&wGBWq>=LcB>pBD`Xohq;OVE^r}f@){)^c$BAImdZ}hq(?DA!IMgW~|ZI zb#yRzG%y8iJxaF2&{yy~gfaK5PF+Jn@mb+2d-~|iH<>7-!i0qZYF9jTgaSe1XQedQ z-V;HTSJWTDcZe5B#|nlQdkznSO{WDN&*&+Jl&sg*@@8f_?KoTvY2inA#)|o_n6S3( zAu0>;lhe#85B%N0fS^rfZS76U<}kaXM$J~OrVsXDlk1p%ZNGE-u$n=~MlVvhiWD^mH3|~>yTnEKCWZ)9G3G*yaP4^A zO;{NU?JSa|=jl?E9ur08)9iw70Bu4T2M)(d&?|^=TD|)Y z@}wD8%R`E6P3TBa1lV?Bv>R@v8UM7%ni43*S>MxEPuq$)jDoxs_1To3W-BAq)Zq7l zUn|n=%`m>3S*7`HL^fjh+Eiwx9X0o-SiLF1jttlkFY#|VH(LQO0BzV$-=@6x!eN@9 z=!+4&4GO7aV|{d3Hh7AB)i8R=e;oh#tRgAPu|9B@inxc?wdB2PZWbsWzglnr2yCd? z>k2RE#NPy3TIiTgW58QXB9^bwQH74|+#pEXAFwF;FJmf>!Uef)-#fjot9gyx*B$~Nh^n$Qy;^eoZ zvxOrH!g%^&fV+bu#-JHn(@;`f_V+KRp6r)R$sjNf3;9aV(B}NdF|XBK@pG@U>B4%f zxH(qJy|`XR57CBZ?YH1W$??L=}p~qeq5A5Z_t(HE#t8MIv*sEZpDSYGQ2jP z>P+4{DmxbZcBIbs+F34qx&DPTIe@}f673p2fLleKkF{T#@xs>q%Vf_K1@daxzhzVa z3JfVv(g^CWW_O?hQ|NDZk(XBaQz>K2kj4!8S`}!wofy7VtHQ^{d~(uX#j<#8J7OAgRV-d$$K6sqL#t z3`7C?XBGk3bMN$g?z^pCYYEP{SuCT_cGT(>Qn&p~;S5$$&x8Oxp47hUM?ENod$C}K z=H_&f3LtI~l_%?62UU!P6ObTtey&0Jn0a&Hj~7P2KBK!?xWbM{&Aq3_rrqXVVnpFn(9X17Tx$s%G*#)rTVmq+a^fJ%dz`U z8sSJoo`QIM zmAq@E0IIbW$-tUzNWN^Y`jfQ19o3v51bw=Qb!D=1tA+bGaUW}p3jZl$MH+w`@DxFD zt_dYUdq=j}sM{sgVAIS{FT~-af~G3QgMu%ADM{mBAd|J*xvdF*!icM5Hlz$m7bA4i zRad@67fKsU7x9KjqTmp{!USHDS?%NL(AG&`FKXO}*OBpQ71Y>z1kq)=MWYe;zNWIA6Y9zHf$RbJKx` zZ?QDLUDr$isCHGbXheBKZkq-E-py$I$R!5ux}_+~M^J7}H_FtQ;@yL>FKTNq865%E z2OYsDCOh*dS}ic%7AVtg3o=s=HEL&tDs(?mkeWu_h(Ry@1pfR>y8h?uzX8Sm({}m2 zvPaSEEOLF!*Y?wZhKJYxkzWn6AlF1;KieKpw~TCy>I%F`69I| z0naSI=*B}Va@t}Hx?8%D^pS-1-Lqj|uz3fb>XnUNeuqYPe2roZ(Vh|{7U3yITOAAF zWhu6qBUyL9uZrwG=-vfbJl2zAYoA+X!=iH0tvW&BE@4g%bbYvC6x526x2BbEfBK2^ z1^ic}%YO$s{I@va&x>}_dUm>FvpXtv@WX_Fvij->YWQlf1zRhI;QA26&NE0cMRT~M z__e8y8Gtn^s^PKlJdHe98EgPLVnQ%fBu~T2w(LV+JP`9TP|vU>0v3>;=Q!)1-cn;P z;rn5OTS`6hfM<>567+)h{2t(vO>p2EJg+Cn$w#qV6SpNHyr9_fBTU^+WqMz?cfB9*E%Ctkn!ybGWuqKT~pMK;b z8?z7Vyzk9>{{Cbb=Vfi^Hu{c)b|Hl_j{s(_;Yele4&Myr`LhTqGX@B)u?Jzdx(Qfq zj)W=U`DvYjc7wl#4`Ve>Y`vrNWY?1j8eL$1zk{7{v)DeX=l(L%Q(~*Cp1snkE`OF~ z@N>WkZS?6Vr{byx6cO)h^9qq6bw?QKnG{jA84ayC(Q}|^A>T?~=kw(eF_EkJ8W+aV z7qB@>?o95Bh4Hn-wUlV%xG>K;c75Gg_TuH(_x{)d!7ljYBp9kwm<+Y%JG!#Og%lVV ziFFV;ys;yxfaPO^$xVFxjJxVXq%)OQTvfkR3!N$V^l)um zCY%9zk3!Vso32NKG~uSzdNqrWle`WtQTU|t)29z4}t?RaMR0JN!4`Bgo7IbPCpplL;-qwImF z$^>zG8lWVG{1H3;J%_2W-3n|E`xTPN`ip$(uK=W9kZ8Y1tNsO> z_>1c5UjU82=&Jq&(D?I9e?oTtG{jFs{L)YNGce^n8u#f=Rs^exm`kA^XRZ)+>>rk9wR zI3!^}mSe!R%<5ROqS}7_3t+4C4*oRmtSjYlYr2bPk0YQQ>@?y=0=HGjtu+t(>eppi!H9*?I%6pHYOrW>!@uLrAB+m8vg0b#R*=zsG0>FRn7W(zM zctTh*+raQD3{Q1XuQ>WUL$7x9hzT!B8-z5)ZIPO+YXP!-WJAuR)JRo*w^(Q&I}?wM zEf-Xnzwu@u_y{^IaVwEg3z?qO`sLs>T&k+^g6bUl$%A&jEh($g4aMh-%vtgv0+t383!svOK#i7 zNo;Mk)PIaQycoc#@+w|?K6oWr3dEo~xa~-SpOYbv(*Js2+TMKl5Fxh9D%KUi&r*=Q zF=Hn>g6QBpb~peAr1+u=U8=vpN^~fHft7q8Hj8JKBouKJQpN}-l{nFdyRLWKpGr%s z%=NgP>?RE>!Cvp=1Xbj2IP zD6Z}d_^}{PFEF36uKU*r4PIJ;ip`9JGt6bN(`3=1691uPny4GVqK$Ew$1RK%Up>W_ z$vz)*Bo^F*H_r*=XN&!bZUEh)V&@xT(U4y``(OOM?f>s=(M>%wR5IjtzkfffntM)q z#{(DKfO%A`x24rlXP=(Dyg2YVa@y~!oh>ksgeS6Jk zcm2lT-rG%^?8wyvhJO-P%dXij6@Q>GvQP`>yR@FcSviVe;azW6sFn;ow_(|HmJYsu`M;6 zLbk?lQgKuhE+ip1YCh6@Ixb>X9fLwN&*x;4$KYd~mwCySeU;@N0E+-NfqxvJLJ(Iq zT3Wh#EspQm%Ist1cLN}pYdU5>jW@7fZSk=4!R3#I#np%(6o0{LeMOTX>~>gK$_2%H z);^_X0L|@>nSBv(M#J{GOMv0BeGD>VH8of?zu5;oes6uBO}?vv!-V$zkPFPnyU@$3 z*m?>-g``fWy0)q@I9*KS0ZW>Z;MMbQWDpC7k1ncOF^y-gH-MlO-KJ4K;0_@$du``V zGfMWH%idh!l=GX0%lM|sOn2UEgX1&@|F~xEv1=*ju?A&fK7x;u6If)7(OVG~T#bW2c9oRx*p^f~H!&i%a_(~Q zJy2ty;qEU7VBfxCqi{`GId$dzjN#zdRpzBPzJu$Ox^$E~RvEs2DU{Fm>Gg)USD5yv zuM}ngo>c+ZlKKq)R^HazIwDdHDG>+LYa6$NsgC%65HGBEO^#rIyOPt^kk>hz)vSs& zn8XfME439#-vURS6Rq#40$mm( zpDEYjyiSJZfa@@HV#q%FyDqyN6}YAe>A+nfnx}d#=ea+++$y!s2+u9XOTGQ~xAIP^ zjoM~7X!g%|(-YQD=O7pN`L2xjr_Nz=@G*LSZ|x5$j3!bP94|Iitx8LgMsf})J^;;G z!_)0~gAX1jIxc5K>PL2BnlVdqIDuj z_`tS~^~Io_t3|EMhjE;Yc${NbJKs;qQrvtu536nT^bTh)HYeH^0?JMY{Lc7->tV&F6wn8ZtAi(% z5h;%yN8-|c1Mtr`NuJrmk47=CP4cC9o#zI@I21d$6Wc=uQM!UL`EFIsV>f`+!cWwO zT8*O_25wWcHdXJ>rHkAOH|xsrGA55fU!^7X;U=6z)klzC*lt%6Q*37Iot92SEGJCx zYKbb{x6Y5WOn;Pf!14#^i}2w6_#Go9?kJSpGREhBQRWiNr+XO3dIYyOcv?Cc+_Z!6 zGoRiO`^+cPDN2p7ZMefTr6+@%{FctfO9kNO);j3Dyp+85Rx*dHG1Jhh7%6<%)_kH( zRe0G_Vz|#uwwWxkcHjGzW;m_(HWbaZxHyP{Ehx202)+iNJHPyp7nuf1avo3CNJIFp zXUY+b6z~Ccf}|@e>PGn<;K&d?@?wY~HMhmbklh?sTd|WyVb@<(ek}`A5V8V>>b~NA zL6C5(`D|V1ngPD!)_3(xY2PWQINf(S7&cVB4U1S_-uLVjv_52d&M7~O4>zyaJsQ{x zrfnYS(@z|gDE6YMR~7<1IZJLC=6d^-CWrw66_~$92*J0fGzK~TML*mZW2Za^kqSAeV7d*@;VH9eVI;Hv-IFVN#Rq z_5IH^Wif)|{R>QPf{z+QnGXy2EQKW(3pgv0k$A4%FMBw~c?=j*+*23O4`Mf*wEX?9 z{ZVO76+3Dnu~Uc5LjqzENHvJp2V%*5EZ<7ku^-V%-Q`{V2KH*y#z0chA@n#h>&$$1 zdrWrQEWmF=%P8?Rh#Z9C#d8&Xq+rKXRfC}Ypj@e}x~ljo>#TOIxBodo;BJbmr!q(Es(+@J$z{15~NC~H|I7K{t~8X8o9u-DiN;3a%=1FOerpEQxoX4U)4Gb=Ka;LkSzfnpSVuJL+m{zK2|^Q*C(V8gA3wG)am3?(SaqcIFaa z+@gY()bsRr9+}X}YUSB3FlXiiRpvAKCsZ!!XsZx+KiY7uSVhfm=8^W<(fXY%4=lt_ zqGIr$Zm?&BD~>{EWR&htF;I%8mpVwRvA|j`CCd+%G>}Humt;P)FQN$_;Tk$8`#|}zD)R=4>?DKa0{AG zUXAtcdbM@}$8dAD82whMxsTsIq^JfhwW;CVQNbS3_-0Nm=7S>BB_4E1buX2#Hnp)# z7R3FiOzP}XV-lnvHW+d->rPBLB&w zp|i`NeVR*!#{_@959vsFHL`;a^Kc`6`M_yP@LHm34OPAVr+FrIuiKDnW$}aCVm#Q= z)E-3XE+a0Qq!M&l5o{56by;Vo+R7W-!q}KSQrQGYr)@WVEZyt>5vHY7T&Z?;i z8=F~8s_F{jm|(uOn~DAF=Q#`jxivO+y#fb2liF(E-R@`fuOq;pvs(S$kEj#Qv1|3BG_ER+byfAhzm znOJ^{lZD;-UNOJofRK19i>tvvj8lM6tj?Ho4;h3C=eQNO>?sYDU+%RGJu`i&JfaQ? z?8a3kyY(oDwN({goF-C|EV*nZcO-#$fQOyd3ablW2!Lr#h+Wu62WcRZHF-vi)d%|W zSPs@qercUQ8ClhAe0#q;gw>JJw}U33cBQfeV$$%TFV?XYw>Td+$CdVcgvjb+g42wg zlQ4p=JR}PAf$B9tNI9Ulw$3yV*k@ImXZAMqNfnj-dQgD0K=9eiF4&==~N@0aLaX+0T!gua% zs-HTh>P(;lbp+i)U%wWY+z@jNJJYf8oJ~CT&i5EjN&t^Up-Q$F3~oa-i6Q~+a5QZ8d|HIFtG}bZ92Q$P=PKPS^@{%fa&SUNENAe zdE+MxuP(Qy0X^pyhecXd-#R$UNXNHhU#CxBZV1eS=C6d*z1`DGxTh>l31=RonTrVl zY8cM%xx51A!g@%OUB}>zBm1F@MDpcL^OM^mSfZ(FM|)`)yA~ASMj%;oA+Iyg#mVWr zf02%CoBI&Jbg6bg$-|ENdvW}J%sufCz_q%w9fSBG+cZu$;~wwmbTxF2dVA(KLAwi}v2qC!Z{A zOsnhp9gq^dKIFltplRds<^>ukrElC9x#tg<@NRF&B<62Myar*x=%D#5IfzY%k*;Ef zDW`RRgk*Z{C{yM55l{fAclBk1W$GxF73)ca3&Lql$a`e!2)U*^n8xvV+Mq%6Y4Gg? zlis)e-b)d&1~`^uG5(g=8o9uI-0oBQU>w-PktoYONhb@(@%zL;8=Myqc61$WaO1n4 zGa0dT>rq*&<)$kR3pO>YqV4M)?;Aign0^|Pp5Q=M$WU%wu>!2L5C2+A1PT*qxjY}~ zW`^_SmI3?1!);Qm7&L04y7%f#qF||n-Vcv#Pwj_(leCEHm)!(c5#{Bz%KVSdzM*h#V-S0W< zu6JHGS!~{b@AG;Y!aIRzu`!tb5dC5rO8@R`|Lct#z?zM^umbMRm#N0@CE0FSAF(Wd zPzQ0;UJMe3ya6Q+3NA)bi_DDhYsMPri*~<}WQYuO%rs5C`<7V7>9$J;GCNwbu!{$) zyM%wAlmBGly0|J~+(UCWr$5ljz%)28W2VY+;$dWZV<-RluvHUUIT`V^IK%#A?4zXV zz#(#hX+_LxC2Rj(F(T0nv6ij15_T0hvCw4IetffQK|9OjOPEc?V}KPbnjD9uwd zpIn>W!ka;1Xr&1sv`y~e(qzrE;uqb|zY{79_9mQ7MkS}iu@~dh^@1yhp}>Oqqu2(#l!JG zYrVm`R`_LsoVhE z9WM5701GdORg|y3h;5@}I{b_-SuWK5XHu>&n@^SR*x4vtkHfh*gy)zC0S?G|a@xag zRNe*enM(W-*Wrxz)K_qyr+N5bXoxeGK|9_yo~7?^9S1`r;ln-ZXDU?bLY-3L|gXx2a@J$?;Z`25Bdz(DbC%KEA~2@ zv#grc985GuR%G}k7G?bAv2Kl@pQWDej^*2tjCuPt9iO{K$c93KdI(M8)tx=5QcbBe zkAfp8?cS4V7FA&p(xJPw<&GfsYgN%S*L{yWCW&t9qjl3uC52hjTK_x*1s F{})cp!(;#e literal 0 HcmV?d00001 diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/\346\210\220\347\273\251\346\210\252\345\233\2760.81.jpg" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/\346\210\220\347\273\251\346\210\252\345\233\2760.81.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..67fd4ce968f9bf1cd271b227f033b3f52b04e249 GIT binary patch literal 29436 zcmeFZbyS;O*CrlZ3Z=MPaWC%H7B5iTr3H#LP~4$FaR>zpw79#wQ#7;`_uvGF06_x; z7@qm$oteL8-kIN8@A`gEvi7=9R+4+=+Gl6)efG7_d6<7#13XhzR8a(=pr8Q0K0W~t z>i}Z~Z~G4bfVw(>6952U12E7~02q%Wlt)oTL;LU7zs3NqXa6?->xC8}0R8duI3#1y zBKpVpug?Kc!gBzC+W3b>z$*YYCMFgp1~wKJ77h+JE*=R!-jgSIltjb?B(zlYbhK17 zGz`qVYz)u2nP_O(MLD=%@CykE(X)w5iwQ{a3JMAQbrTdE92~qScog{f6atJii~|41 zkB6TCLTnTc%wRN>=Kxef6f{DVhkgM4<1fW{)Wl!P`1c12DjGTlCKfgh?vuw4G(H2M zqM)InqN8D8pg+Pz33z-TfKG@(#K$wYwKyX4XHq*=69#ZXz6K28pt|2(M zWaJc-R4lA)>>Qjz!Xlz#;u5c3D<~={tElSe>ggL88W~$z+kCLKvv+WF_we-c_VEq< z5*8j285NzF^es6h_4|*sy!?W~qT-U$vby?)#-`?$*0$ch{((X8(68TF?EK>L3UPh&7cLY4+P}g2Ph|fKF2YA#sOacu=vaT@LP7O<6f{C~ z3`TxTB6%&WcP_-w1%k0jUMA$$_TVrHYM+q4cb&i`V-{Lxf&T^Vza#tK0~Yd6A^T5Y z|G)(S;5`~9Dj^ynKo)Ry!=CpU_iy>v*8wLVfA*brNcXB!c0?s#D&v75!Idt-P8uLF zI(|6l`j~CAdtE8z0dTgW`75aRGjm@4>FT}TuWLSp)>b$2D(TeXBnOAR1ljxm$T|&F zyC?B+egH^sB2$sX%s^K$?1W*3GF|1t&RRDWlG=P)%b`SRfFf4p< zKXHDeTeV2|{gSe%zy1ANUntwb%4d27lD8;-%fFlsPzB0M^(irbP(OR)OO_S~}nqe*nzH zU(G!LUXrpX$==l7-#h?zUp}r_qS;aZF@GTFy>#IN;L`(uGx6V6XG3tATDP2Ca*4vK zEa#D$Rp#er5w`GWpWK2+rOV9|lFd|WFqC`HKPj;J*$F%DyF$i5JlsM&d~c`L?kBSK z62%UIDeB?c%dVe30S>_CoX$ju`g_6$K+Qs5@vjm`^3BS|SYFHxOv6;BEvs*z#D ze+-Si3*c;+8bdZ%%(*yJZ{1nk9NOCl3U^7|b;WE*qpDNw!&DlA8YtvSF~rW_pkt!hmHX&O{S#5Yxd`WM}YoRnyU*uZp$N<@qZj zk6}KVbMVx(E@a@YDh!@7_yEw&PJqmbEj#t5rJpR>cbRfzv;dpMKRlAp)OdlhJ$FVtk_{EohtNlRVe9m(T*(4JW# zijqR#V&5UI@~)^GUPnE`y3I9g!ov)fI(gwe^WzuVr?sr0?85hbjvEnhf_UBz;c}LW z8Z%6h!5M48rd~O`RriZS2WOzghX(+4;48lcFN@>{fZ${Y--enq$!=81q5?CUp8~hQ z-EM(SNKq*QJRpcLU)68~zHlHXzlyS_QCxd<_CoABItxl4r-QH{%g92nOVvzM=^8h7 zO#K$O?Hc$g@Qc+h#s_~xkdM_#gJ*q=U&QR1VG&1%V!sHr{Xys`=Vs?-#{|Ex=)Qw} zpioy3k;$$(!wE7?dKn@JdC_L_CEacquY^Jj_5heIaq6(I?2h(OCssUZ+h@}t{J{cL zcsF`6w4QXZbY8(jH}#gDY;tiRE#G{_*qG8iii|W|oV4XDjJ{u5z?XPW_XAnPMs{@9 z%m(=60YJ8>x}-#&dE0$?16`a=oLz}OqYp~m_0{XDmF|uxoDsfdnM}j*VU5&a#V%j{ zgeFc~YnqMZR(HFVy#46Sd3=jSXA6mg;P_Wx?`>I$fu()jGW6n!3`J^B(%;ridg#wu zzer3~dpn+*_)>rvbvk1M}6&zG&$v`kwUYRPON`-x&<>*4@h9QduRn+tWp zXZ2i2N&%{T9{*&)F)bixI=?f8eN9vH_wu&8I0N*wv?0K%|0*r|RhhSz(1A9NV{j?+ zyx1BLmq7TB|C<)_AcBVSaFDvVO;?j^b(kH>ubrCbjmQ`7n=^2%_;k}`sAW^U4_;Qp zC!A45Sz|}9gBwQa)Z%?L8|Z;#HvK9>)mvuF#R)5cBlWpk13$%2h@4EZn6NLnfADso zZ8oII#6&%s1AWEGfB7K8ik?@ds6`f`IM<&g0^j8SwP~?9Vk@0IbbvQZ$r+d#r+G4` z(=me#+K8!qIlX9s&6C#>d6|Hs53XfmI#6-6*$V1~`nvhvm!At&OZjcY;G1Yp@k$X= zEw84M?FzdyHsLihz7V^pT2yK6ZlB6e*Pa^8cJDuKCXNa@1OEYFF{N!v89e}4B!4~t zj?EsuRjt{U@W~QYy?8f?cWDE4oUCTuRKawknZgfXrM^4`qoUD|F#yV&$Jvj%z<*_s ztupIQ*-*Z_LCnfZJn-C>M&h$z)=WBd6`{B@Efgc|xpAh^;^|d4!|?SrgQYm#yW3W1 zNtrp}9ADDll?<&}fYhs^!fXiHAqF3s)8L@Tdi~t&HxJ}XV_Kzff0YLS4)Ol*rDpvD zz;^YQ?R|aFk7jyN`PiLeS>qTvxWVPtU?=%}NBm)WbJJLQ`^aK;dd}ihvGA}rpV?%G zY=w8d#;nH^pv><6Pl)XhrA>vc-(dxiW1w*gtkv9HX~LQ;t9$rYHPi@~E5aWq^e(f;JBkJ?s@3l{U_g&_N&KMRy1j&z z#2Qlt_hwESx5mrh<^v<5;au>E+e=MClO>g6H6W1s7wQ=rDYZ45EIU@Wv`c7OzJ2+~ z`U8N}&et;@inbw%|I&g}O{G9(D~vx|@Q?W?X@XoNPvPiXW@L9ucJgSk5j^aoJ2G8< zyn$_|I`@mFOWT&E^0)Kr?=(q!1|58R&CqQsUd2l$^v;p6S z@X5$=ToDNP;i@m~qO&c*x4r_$jdGLV`}$95B`gr4JP>2<0{=bOyrH8zMmI+Ddmm;Y z$vceRWVReA)3k4V>F?u&Zno>x%fxeJ9Pr7YC!{!7XTYH5E_`t~QHA)=nF#v(&QAgw z(vq{3h=?lI4B=8KQqMLVx_7O&?w< zoSruyF(FcInex*P*W#If=TvY~bEg6Yx{4%!26rHXCOb(%`8jxNE#U=sj0hId1b_ zDX&Eb5no8G-(A_w5MITD9J6mu9czjPw)^+v$L>&4mU4DRAVYyc2hl-{`W(NE)rrZy zi%7H-ROJ6&Zv5XbH?+p?D}uVZZ=RL@4|ydC3JZyr9N|(BxS{)qeoI@|iyjW+yN$Tk z{RYrdAo)vB%&Do>{7R2<8bi2ZVkrxidplYvs3SMm+(%@#XICy4U{!0;-pmxt|9 zmgw-+6ad;&4FQ76O6sB-4fO`%@0@W5DQ?%?v@PssB?@bsrnzB9Yiu&6@CehJwV5<_ z)WYx|?+WECrz(JzjBG4C8-~-_rYPF-R`!lUXC{yyyk`6^ThNP2Cf{0G&Dr9-&s-2g zqrJW7M#l0V>%6hJZERZ&dKU{%2|wLYGb>Me|*YhUoJ0pOGGeH|yAev;Z;D~Cb0Z6fl#rpa*J-rm%`3Q<3 zWpHw1|4C`3W#Y!F%$sToK00qnl}%en@#A8y(yw^I!E+FDKl!8t=U23MU#aY?0YS}4 z_hnYr81=%;mI^nMXk4&3h1@Cff{=c)--Knp_`4PZ)B?H_|kK+ z1Tw=ujCT{^zJv!l6LQZ2Ky$Ee;H{9XBjL4qP>Sf`sOQl^>{&EOnol!&*3a;eM|)+h zUY)2nmzn1(2G25SRoY>h1O-snV8UqKR1+hYW%yZ9s-{x}wioYEUW^D*oV2lj#4-=sr4>8~dDBLj$np>hS&KD6%d7GJ5yMyK}i6hPog% zveI6gaXXty;?eTV+z{d*G6D>6#F%M+X3PP7T8zcS0H2L%=Q6o9XzXYT-&lsXapXUZ z11ZX{O`pF-14363p3V=tS_P6{$&;cpU17II~d+-3r#ZAo5zB7CP1O%Nk z$`SqLwrIgfKehYydp#BafkgD z{oA9R{Eri;^`EioA0g4OZ6~@Rn}C}VTf)IfTcRuxz`4cxLZdX5lQ@S?>HIG=2f2Ob@O(ofn!a~nH5qf19^lDn?%c6hX zQkn1;ho40Bq(xM{0*QXaTP+2bdr|miAa3iVwj-JwDY61|z@hU@yOr@}=Bi&YE&G9G z?Yx$`n`r;-GM`Sp<}-x;vFemFy|rkf20i6or`&ab@~Bd$IozP%<^&x5@%&Z6h__Q^ z$ELUSaH?cTj(V{;C#KsfBnD+k%T(dGAIIGp-(>Ybf_9*))Pp}{QB4IsQFXZ$tfAzD z*qj#0e%AN|=m6G$%Z7iL(7$UkF%2mEpy)PX_*o(i+h_f6OdGE6+*U$vSOxaoof64Bd zzaspN2!z?wt7$!OD&R6?#rpx^9?Mn=HowrkCkxLn6^4PskxU+Cd!Dg+$1>y3SCq_R z8d5HxS-!X`%WPYpnks$f&(lDDkwD;POG`3ixG?vra*v+ezKS%4&rW0q@Uh^~1T{I? zsyM~bf@Ti<3|HeuOTA)%2G23fsAE}7J9QD8Yi{sh9C2GtU2)f2V2K`#x&^lqXlQ5( zEl&o@RY1<91!nhGZXlBBDjQiV^50U}@G7Ju*QRHB_PY4Sk&-9PnzQ#mKXMz1^jMK( zSvheBz6DdVp(h6HCm^y*_p+_p;PhX38!CBWA%&}u*X@E+t{CWnV$$A1kgGHzuV~wX z2~*n`8HQKuX12<80WxYWjieuldavKbT5@7YMlqud9q4l3vzUW7(s{`H=_pzz?pHh^ zf6k)NXx2~x08bj?5C!Jynw5xLEz_znC{ww2yYUHZH2YFAQxY$3$N6kLyE87IhE)3g zLZJxJ8xYigb01c`!0lMXC?7awO{od^xHx}w6nLy*w^!^KQJp(0G{ICR6j`O1e7f~_$I>!Z+~n{S-zpdUHDLu10uU+bk`pub*?2y&PC0`X!OV;PG|`D;7Qn>HLsxjC=FlI3oH`=m9`%e^1YEYU)7#v#kKP z;B_b>Bk_fpwBY#cQlb*kQNj%Q3<$%=IfVMwcH=5m*hu9={Xl`yJ?WA`{O#3E+AyMh z-EVfHk?)yrwUx`o!UPeNH&?I(;2dD z^6L5EsY!`5x2WRBgws30*~X0&@pX`0rnxwYfIvn#)>j4B<{Mv!Y+SlgIqW25Q`>s% z9;_1vJ=rf3v1t)~agrmzF(>m?ncu5?y9y@y-}2|fxCRA|yoB_fI;)Jl-4t48Jg~T& zQ8!_fAJ{(U_$Cc}ir6SBwYPCD-w(v=Xc#ZH#8_*2`nx!v1cHsV1nMBxZe%})aK*!A zcv-nM7W*N9OKk+=?^w5GA_dfz?8zTMx9#lJH)rH%wXWKlt^S?$OAE3Z(Y z;z{<4HycTw22=)~ENSmgfmw`yIh5NPNR;z==re8h(&ka)+KzHldo}_4X-j z-BRV};t=|stDAZ5dK|AN3PK;|q3#Gv12*mDCZ~SS8}z&ozXVs4sv9}*EGNuOm|Hyn zo*3u>g&SKsNPX|=^&bH7eXhB`ZK*pt+>tKFW=~t;PgEw5!d4Y8>sB(AP=7-hBYwm? ze{`4jxhNc$m_M+qmT5*L1lUv<&LfKZh<9sOzcyWAZhd$O&iRPaTs`eYyAO_*VIsiy zu3CM0Ka_T=7UL|z8uHR?DFruJB&*POC-(L&mYaeL`2*k?%S4B`y-&HF*E2`*dLa>r zt}706Lh#S)+Np%amIJMMqf3JjM8w91gqMc&GQwG z9!2jE52Pc#*urJ&js}NaL>IB|7NBA`o}<38?;9>)YPa-#H=x31m&T?<%i>l&X55s+ z*6`%z7(sK0iE{0j2cEX?qx+fef>h)DyO3|s<_tD?)0m&4A zwevA?T1+m-b+Te_phxyo3yrB?dCT9e57qTpB+bJ=guIW#RzdCTY&{fdG3K zE(QE)BIRx$B01%oU{l+HnVHp}qE8BrYQ{^f6nViM$oqTOE-gB<`$88J5KNp#-fTuc>g%W%DDKc5f(ohKM8{QOkCjG^ zjmz2blGfI6+EuSVUwH$6l&a+wUD{w{dJzwD4R+wHKOuifzvv$40Jn@M{Jc2$l~>ak)SYTwC$ z&fHkrcIuj82W9cdy2=7lb%cB&tl?-5pH&g|EBo7pG!|3zRRA9>Xh9^%8N4X<Za zW9P6Kz~I}i?V$zv5i~WFxgKMzWr@ocEU^>mPOCq9v|w<{qsidP?6iI-U5>4yATG0$ z`7*B3D;%r&2t79&N6ceJt9XQ}*q;bDm1KUm|{CVy3GzP7}=@GBBFp z!`dpSVjqZO$VzF|UhapshkzT(p!f(`Q14T5@$)yG-_+3&Y^7cJp2j`9Yu>ncFuQA+nz5qt69)qvGARq+l+jfo_4g|eE=|}BT6?q$p`4D zA1g1CB^T7Ui!BiL^h1L{ z>Zn94ozcgVIny<+$C>*a!5S9rA(AoWIuXrF22YbV?=1zHg!a4tfdlif2MzneW0b3 zYj-m2$Zf0_tzy>>Tn3I)C`mDbe~U{?+be09oZ~oTwq?D`F&++p6Kn_<;5XUB{wS}+ z{tQO$t>Sgq`Z!ww@n^s{ zd-+j%n-2h=&%clkmB-=dJgNsU1Bghrhs$TFh026QP)0(U*46v`E$0?z{ngA-9qrjX zxNI-2qjuetZ9}-DQAf+B9OX}XZyQt(w+Z9(lKs&zpsr2J#RcQ*8v!|NIt_IqVJl5I+ z;Co6+K=&G*UD^^M z_sb{V8ao!>>3{f^LMdb#_fszQo0=SLfj~TwvUYt6DDG!p44U_)M&8aZr<}TGtn%$I z=VY9 z&At}(JX#ne^tL4O1}wqvw)-Bt2PG*9n=Tys+p_^!evs| zmz|Z&92G&1;!9!E1#-O$;HF6>s~*}ruJV>CZr-D{_SV{_wC$yB%7Q4P4cWs)0a@I{ zqtV&>1z0stZcFg}xekMebBWa3hG?^N%ZsFdNu>nuF}=wSJ!myf-+F0&=k!_|k-7_T zNck12*NcN#V%S)vAMM+z26Z;2)w>@>MhnNc+bbCHUUO(^-HK60m`6Lw2#%oIz!%=_ zs^3XPTRI}7DXg36uTJh28}5aIehGIx0IJ3x`Of!kK&4(tVEzV=tl5Vw+L!&LDvXw* zrTf)iUBzX8R7x&Bkyc%(tcEePHNVICt18P>j1{eJ&f$4SaeOSgiUiqeP3x#4G_F8$ zr{`f$vJS0Kl(rQbUnL~qrUCRkiB0_s_f+EjL+}rzv z^!eMwLzY9h!gh<}+YkAT2O(&VmpXVKR&7(>bK=4V`9a^o4yBTtZcl{pn&} zR)A`T(L>sZI|mxvDvnT}4H$4PV2x*F7upTOb$V0o$r{>JQcjIXnam`f;q|njlS=a+ z_kby@_9sVYduMn)!g8CN<-bIeV3(hxMdxFMyFW3R@N>?ypD@E*Vg=2R_FN26j!zheI-C=c zuHxsJaP+dA0vkQHg-t4qR&(Xhar(Gnkyd;4@Fpy?b4h$GRZ4zNrsaA5|H?XmTOL`5 z*Jj;>(pu1a(P@?wthkHvc{FT~JK--jN>4t?nBLO{t?4~R2!eBZgpw3-(YydG1H3(U z(0Tt}77uz-S$@Z)K7*(9b_&KPmH+*I0{2(VP25jtPWiX|0^psA#TiYb*L_>i*MFx< z{)004|Ls*zU4MULSf#zKp;6T9S^uPx6Se)<;LM!0)4*h>XiZC#EM+ORlc_;t$yM*@ z$-&{bJ-4r&a7PP1z1T;SUBA}H3P1EPvs$N*;rA%yQIgc>4vBg#tSdYQQ-Q9&Pj`J*LV1ND(nO!EqK0M-spAo>_km%e-`9I z{pr3&jCkM4-@%_FeYKeWdMfR(=}f#){kGG~O8lylaxHutD`bN?g%WcPr0`gp!IoAK zW!)N^y<*`J_caE8MQY8tkC89hrC~)JGfwjz@oDRcz`B3GEwE0QI<}ohGw`U5hmiMK zp2c830LDL5zn((M=GzN2v^gbN*)qinE-n^W$G-`lED8|ROx23lN*r7`&NHiBYT&e% zA494A`shn?g(}aGdf`V?=K4q{pP+$Z#hCssidkMKCz#NXwViEygP5PIGGlNLcneat zyns-=GMV_eI+%9f>Uzb+(x7F=(wiUp)#SCSXZXenbqU>*?^bF52}z17|B+`= z_z#{%pV|lpn-pQ1VsI~{_tKR7(#T*zYInR*d@|oE3yGpndq3|IYfD`lyB4bB9isuX z==06Wh#>HAWLDKI=RmtCf2C1N6*Y~K+0x0em7dM+6Bg9oUL{>N!dgv@FDaR&cCrKZ zWer>FKFsulf8;xFP87HNq3lT=MXlsE`a*moX}$2beVS6V6tIj7GQYY^nZ&6wPYIHv z_3;lR-JM&Z9QRPG^$5zhzcN6(Hy-&20`DttR}b3*rSpx|ok>#uq*Ia0y{*nQ|9)BK z>U3OAq+&n*h&@{3Y(EQi@`9GtFEnp?iEoi5ShYEMsOJdNRi=eB0&0u!0j}+SIO%V4 zIUsEKFmOl{)w3knO)vW9?#S)fe2z4;g3QsDw1FQ|_R&xeAlH@dYXvDW_O|G|BvH zw_3%BR))UZS!tO!>TwH=$f`wcJd&doP|uZLk6bEcr}A6zqQj-?Ib^Q{b9+#aRPlOh zwEGy2Jyk?_hk_SfwqNnGvWtkEhuE%P#tvxhv5Fb~T-|Mujvem$de6#-J!Iy))gQoV z5JPvAO!6*Oe1yCDdz*Ca$&XH3@?kz}2A0wSN}3Mcc+VE)zRD9R;POt#k#Lrr13qEk z9Q?Uz{4&{?GS|8_5i}442NvGmu!SQmj()jhb$@>VfUzp={XewM@N_(**0fK=Y|-oR z4m|l1n&pS;89&wOMMm`@yRaW_eKej|b$$lVH&qgb9{}W4UV$_lowmJ+4#eJ?s!94!`5+5; zw}aH4lJOSCCeFAB-_bp%$_5?*>M+R^Ll~ivW(k9f@rA+apLF2nBmKtsf4e?QMJi4n z35__+^{2?i|9BmXwd`?Qa7zeYH!Dgi{i{Z+Mxw%$;Atwi^i3w>hHAF0G2~`e&E$KE zp^aHp+<5dUOs%KwDy$K6+Fw+t{?*<5b%IhpA3T0+&#+yy9UG!P|1Ym&()HMH@M5*(e*K9!!>BUAY< zTX`}?Ji`+B=NN&9aviEF%rRi6E~P>B4M;F_h_u@9_LnS_nbQdnNDh%YCAf;Osh|(1 zqDi@|KM>`7ooc~t(snqig48@MlOX@>L2LW~xYg-D6<_l5;a%{NUAf=Ayw}?silK3& zV%OCQd;0=V7VVlU$eUrSU)-2hXTmq_L84`xnX5n=Rk`1s0twG7vfo&Cs*Xtz9%3PU ziyHV={)70MwO0;)8yDU09fQWKJ>ld=KfAm$?aKvK4*LFzuf z4UEoV#hR|EGjayDk7o(9pLw-Rd*ES>S>5IH4%!7SkcO8iBpRn;)=T|izkae+0ca2O zouApiFkCeM6@=Z`Di&_(TJ=d&>yThe>AT@%UQPG9z_`rlSwPD=MLBp=Wt$gMg&($r zDG4Q&x+!pNO5(}9YiaIC#eHLgyqF&eV>t01)hq-!YMCDWfIgvBG*gjkg_3Ct>+~K`%k|D1Ga3(Sq!%fP>Uzg+WBAy!OANq()2Q?gI_1fCB88KoQw`VtMcs|yhL$I)oYE$dDosoqeNZv+JLiS)0)?1 z`YT7H?K?J)KcK4Ua=Ltbo~wCirZMyvaTwr?QVfsarQn`MQ&&?*;)bNp>o_1=GB3)t z1pq3IU@Bzb)-vLEs1uFyz?ZS$;Hj*9pCP`s6%(42VTnOsDYwF4bbPK?%fVBWa~jIT zg!(eq(m-r2VGf;e^0TO21+8tr3&fr(ZZrcvCY@B^imA^|QG;%6NrbXXKzpFoNUb}q zqbabxH$KFq#~emGDyDTYXoosO8jls-pq9Q>AAUz=;2P=qLh0R%-Vg*lPpsJjr%Q4y zd2HPq_KF$V&r%)yv*4780$t5Hjt0!+)w03^!<-K5EP`tnn4hyf7oaFzk?V~O5%?rl zS!m;Kpomu?KtU72euiR~S0hZTqm|UpzuRVIEYHw%`=)-GNo=v*4mUTIjVUQhEPn|9 zhKp)ZyQ`+IBefp~ox`Dz{4Ltn?}(N+DcS_+G`Ca}SvQcC4aka-=dk+#qbdFOFm9zy zobAutTBe1maff;r*cT>|If*Nmb|ebKP4hD~l<>^fouuFa;L1VThm0nehi7Cnpn(~6 z#S%crpK(EPF-GFvVq!u?qW{Eus_(#oS0hKNXihdjRh^= z=)q+Bo5;K9)ZZJ)j5smrfBRjLivw6AL-R64mAK5oPveqQpA&)^6`DxKO)7-IJAl+B z(m48nwHqjDM5XtEM&lGO^W;%(*1o8oJhSuGud}kI*)@JZcAKWE#Qf8yXbId6aFlTO zp)j11jDBHI{yv;3NOG93{_ew}^W`E;>8+$H2M&rF9e`3efXBcKG$GkUmg?i{9T#u7I#Xi{Zn9W`F0gx~m?*$;%TAKITn)~27$n_v3! zbXk78AmQ~sD~)UUuX{$YPS!V+b_JWh4QW=WYPvS)gxZjzqCzV;HulqR#Wf!qLIbw0 zrlyvr5PQ#I*Z+CO3?j*X%Q+?AmMn8ph8I zAp{Jdb3lXs3%GgY+{TFW_;2geP;_U$pez4Bz~x2C5%p5<2(?KzWj?2-HwPVx2@SF2 zxBcwQe61Uwg?1};FP1sYWT0==cGWZ6NfSS=%TpY$mh8<5rG4lwayV5XO&;B|LP_Ib zvRgtMhgm+AhDQS?A9n`;{%gw!95a_UX?;XZD_E=Ou@-M_gu$|S}F;t;iQDfF_o z*D^JQ%tf7NvaT9Wn<%$UjipQt0MQdvBRBDX8_g4mK7Ap0U{d!ubuqg4e;og;T<0<2 zDjxPkqT8Ychtu;zvl`Wn=D!_PIZha+eP~7lqUIVU^dg|>?Gk!CvlCkm4P9|hUd1@1p!lt=FQJioB7GD6FU$~jsHXnt@w zYmmOp(Mg);enx&fWC(yJ{N8la>W*okxL~q`MB~iLKcS7=s)#_~eV?bkOLUW?cGuT0 z-B4#!{K44O#vxb*r*V<0cr-?azl>$m?WPx@NB>m@-kGy===7&#gJH)q=?JW;VIRu(B|$rY7-n1>zVJ!IJ&Q5<5;89(%Vf?MKyJs#&dG zR+*BRGCR&KW8IwksiEwT1}bMcpOkf?ABclT@8@D(>xiVztVbM~bG>j_S257@vR*1d zs;2f;h%Tni7_BA^$e}Q+dV``v8{(8Jlj`E=Z0F>(GCQjb;XVoFVM5iQfYOq$#2=ir z1X;v^+M?INk;vCwv=*c)beVVGbYQGQiuc~lQb%W^K)&Yf#b(<2m3C{7L}7PveL(0w z$3o@L$J|O8^&kCC+PZEJfO7id>iaK`Clov$QNh&mNXFR*Ey?~aDEZGFU;mR+KuLT> zl24=v!czZ@ QeJ3pZnKw_y=lEeKUy=kOl-dQ_}@<7LG2xjf~MBW1W_Hg-Fn+SFd z4QfzC+OFLr6QP7(q{{2;p@vU%57nB)kHJ6v{Xw}{3SEVoIiw>Y2_)?h>UiU^6D}oL zEYBsqN$$x%_O!2!OzG{b2Y^=s$oH~Z8G!Pcy{I9`Ywd^t`2Zks5%F#MQQ!^jpL7sZ za@-bfF^K|Ae|#;_9#6R=cDz`qRUhN;D>R6j(k#P}vavwx68T$M7bYzr|L%fx_d8Ze zUgG3fW4GohwU_>VQ|+I9xxZNL@xV~v?Les;K&RrCJR*qZ&86+9i9x!7iv0XL8TEP?w%FvCryyd2fjOYofjn%sTt z<~-&BAV)g1D{&N4Fn{oApGXNkzGPW6m0^36oN1GO(0egB3Eb&5ZRx9%+Oc@VUS(J~ zf40#~M{xp@K64caTu9JwZr z@69gTJuX*wsy81>;jimxDv61T{@Uk8=kitTvAUjl^=|&`_?f-eO>vBeLR|vw`?|(N zHBkza8oF0o^|qgVF4-ud!o2meNai~4PrFx@@27}1W?Ky6*kF-8{G-t$WJmz3u|C3PA6r>s19UEjTuN2uK=&j>HeroVnG z{DoNzA>u>zq)EVPu%_4k?-VlnccN@C0|PpLnCQ*xbYur~%R+%-O`klnN=oYHn@AvI zuqBGru;ZR#e|!D!iky&&7f%HQ!N&U>*yxtA+vt=heL zi3pcgG=ybdsHOIYrU$pvvt5l*{QQO76N(Y9EIfHb{^?taSe0@dm_Ou))}b7OK|t`H z0!!X)H^8_3=AMnC@Oh@!Af?us+A}E+I=PBfyhLXy#-waSf(mlI>N1)vdoIbML^`Ni z_+E)NcZ?>@AW|s#-CZv2z@l*L`ei%6PW(&ko{IMLFVp@{ax`tcwWTHOWEPlRaEzBK zyji}+ufN9`f>t}68?zhpwVzP?uFk=wZrFnwkNIrs;7pF>r9~rn&Ul0s_8oYrdxNeh zX!{OLjg`As76g`4mA@O8)KG=LTdbJWNrdxu8c;B?RRtVOen!j5M-v|qF1~;qUl7mT z+_&R>A7c30kMfmcp1=*n^;^%KKc{li^tZoR_vo$2_L+Xh!Z<9__LQ~#<`Lh)7_w*o_|E;2iwvIS*~-2rj;!3U zbt7&6BA?jLs)6MetZxf{`lHG_sgHi4nchyXB{?%eWBL!lY0^Sx+nl2Uwgk=VkJd5* z6M5fQOWm03<#8m9CUO<_10cUQVv^{RFPUks4S=-HnqT((fI4oVe7AC3mKrVSR;DhX4vNo)-Y?xAK?+tYRzC zOk%}|2l>OCBMpZM(O^P+v%8B7R1;9H=F?0V}?!d+FQ$05EC3d8`8|qdxA8{x2&vNc#uCbD2l9=EOm}n9b~k zEbikQhg0ITvc2KAZ>BT~EBC!-OA_AjFrOwq|B2e(q*(EjhK6`CWBQ)vH5~`sI#}_{ z2R8-GjLr1(PIJdhnpAzc`7cv`u3cBVlhWj7ioiVDnDH_sa~}7 zu+bRg9V9HO=j;=jD+o1JI~{P!6=r@b9eOLyMjC`B4i?hl(ZRm0q`?fWtUvJeOt-2s z_70iZNV*EaAYNd%_}0$2_^WrVEaMJe@a3Ekk7Vx)JBhM_wr@&@S5!u^Qd6oXiA=KI z{F2S?J)@4}a%edRikNPo0Q=Rq#xx%#in7;N$quS3O$Tf)`|z6TmuO3w9VxVxjNn=~mF}PQRNer0=<9#hb)B+TtS3KUg25&l6Gh1=UpSZSS12cL^MW zOoVST$fNxa_^6Hdi5-LHFI^44GqrmYLXAX^Y(BVrSrUO3c|sdi@-_4AZ+M$49H`12 zd;jok_aCXuIHyXWnz1g3Tp zfsJK8^+(O2eRYQf=wD9gpL8f@`=u-fPlLE-En|k7qq%q9V~kZ{a=yXap_x#U+y5)2 z{(Gy!zu=aGe|9U#Ki}8&_rWRuVu#24v%4YzI?QQeiq@Z6_p%-Usvsl7?xd$uf2?bF zL#J=zV1HTk=@Ql>izwlzjg5ci5=w0+;!|qdxk%DAgDZA zBN|hhc(~Q4`2*0Zalk8{HdQaz#HWdT=-LWgSf?MrKVrjaX?){@8~|DWmGkBQ7uf!} z(p-@`Lpb@@SQsU^x>2Tl+0{~GjD2kFNsubQqeGGX{v##Dk=uUI7^(1IE|iq8<+EvJ zZ5qEMheu@1lCC8YmZ_`wRSv*Z&I!LIO;F5iP`d9EUCTjqO2_u_z1scb2|<>6k25{l ziQ~lRvl+}9R}_iH{4UrUt4QhN+IW-Z+?gF6Xmz&#uMKyM3?2*t_Kw3cA`gHe(Y^=3 zC9%b(V=>)}uSiuH;#(@8_j53MyEE~AZT;{$mG@a))%#^8!&ZCho z-ltc6S?CSZ7t4%E+L^OYOoUp9gdPCwj4^mnsif(958CX0p7(wIRDsDGV+8oz4obiZ zxG4^~7k~?8DiO;Z8eQ(UR8U+v_ByY&L$7>kmyW7)2FOFUucmv3$9?OXg9M97V`{FO zuGGRAA8(AhC&SoSOD;;4RN!KK{r!4KGTdc8M8a45zUwhfwQyOPFr{mUj;PL=H=V3R zpbKoSO6c|!?-<1#FXinvk5m>;A8s5EJwR~5G+GO0@C6XupOtd3W+UcM{w z>za+;fiu}2{i*WI2?oak)j2m*yL=r$p)B&L#vp>-)U=MaC{%VUZS;VsgwKp}QoerB zG&8{5!{SMtta5jP6=*~9D~#}6@=B+#+hX@*DcFRMuV3me z2yL=dKrlA;#vuD3=vkvAJ(VfKR&D%gzI)RFGxdkX)<~@Fq23bov#g(9RXWBq!d#lM zZL|mWd@^M>FGJsvd=9)wc~b@b3D{v9*R2HJc|ERmeS^%ixBYBLd%aD-&5-!0Dk;$o zTKZcqy=YlsQk$osPT!lgoe(9gA};!o0w79u&{};meOd6g>PS&m1lR!#I^1U&) zSl^A$##xyPE(wS`XCxtcq&txAN-NFaH0&Fv8gpjfv!^7!(3Xob3ETL_@BRi>kIE(9 z#VOVdEUYXD-&7SF!^0Yn-I)TNA0EFmGv3LWFbDGW2e=;e8xMx%A#7oDp2Q#Z&w7h~ zY8XZR#45t{`E_2(8~EIjJd3MiqCTx2;@uMEBA3QCh4&2YyM+$0RA#$$^7=9` zoHJ~sbY!nBJpdeLkXE0VypfA1x6Bka!^)qOtjy?RI(%fq{nZNXU+k&-&+QJpc8*xi z;0%s+b@?Ubk-KNJimZB4odB6I#SDX^X{QbxtXC85zEbVV5@e}W=`Vw#uO)!xe6X5c zaCUITZJAE1(r_1BTUOcU0`soT4W#FQ+j?0{oS<9(-jsw5Toz1Y?d z_r?^)IL%$!WzYl2j3}L6Q{f?e|kVA*p8t<`N8TlR%x}+vSgOTEPWropIP@wQH!vniZBm9k*8mIdFN(LT##Es;-d1e zF^&J$-j#;4mG1EjCB2rSD6OJXORI)1V;3^ju~lm=H7Fgbwu#t^prW^Ch;2#-MMF_r ziBM{5BqE4iZ9#(|Ewv^QOGw1c-1}kf{W5d!{WABtPd}gMJkL4rd*1iFzyELf`#WHu zA45}UI4ws{i z#$vzpuVoE6&<8W;Y3ss$zM1pnAaNa&4Ch86L7KZYFzOxsT$&2QEjKfj`#kKx#`=je zoi?rCO=TSMS{_h&)gm_<`ubPmx;*gg72@WcMOldAHEv`@`3u2oXL6;Uhy{_x#fKpPM>&_?l+Be%c^)V`RMrYGPWoxq z;VZb#k)-gZE$~uqZk!O6<1;rwnicgjZ(@rjR+&MnZ^u!&Fx;zrIM~EAT*?+W6wbZO z5WyX6Ju%=H_Gj&gzH~ZyP~)g)XZ&KY=z>n$9^W*-h2?D-%3JTv&j=5nz<|c z=MUg#45Vx7?p&pjND`5Z#N43Aux~jDsFsf;8C|c{?&eLLgl%&J$R{cc2wi~Wp#hZ^mX&xviPnj zku9`eQD%K(hDT_#<@@XI5g=%nfoA0cdLy0`zVE#@;k4Z`8wQW4CY%D6W)XIi3oBgI555hso9a#oL$uVMu zD-EZ#KVplE-PGme%6mbNOg@zBb$82dFX5zSZoWY$a?jB>%Mu=Fs1k2HbDOydm&qQy zweGgfZsNfBrB}BcJ!Wx8?me;<%=LqL@R10o5psWFQKpbV{#=TLyTIJK>JF1gGM2)~ zRbjLr1cw&TVhH!)bIxD{I%2E}S06@B2G6a8cEAob}3t!f*OACGt-$Ir3T`)I{+#{ENVabbEu!?@MdXXn>Z42*v zNy%AJRH{C3?ZDf+eU{LA=!JeN66b86HLSCRa`TxX93||*OJuEym3io)TCWU z#Zy)^MG{XnN{z~tLZN%mn3roY+hvh~^1{|lBX4jC`-2sg=1NBcHB|D}m}(&J^fHc;S6vIkSE;p@QVMhR;G~7zJ$;wRYBP=7`7u0vgx} z;T`_1>0K2izBFIXOmUsy1*)bcq{@c=bX4JuZoCZwB%q0&ubod`Wd;Y0xZLT$HS5a? zP-N}m#LAbGcB0gbP#>XPbCJdgbI4E!mVTul^!s2)dFqX6foJ>rsQj9Qe1vUiCl)u9A$Tlq?n##(D_?1wIj0Kvl zj_%pE<#z4n%eq;vf9c}f%{TH-NV+@m758iBfZT9I1RMhW9w8EptOCQDuTcZnPRH4R zj%}|>-9l-6gm)bR7R6lmc+z~TZ>}uCv-Dty zqc5sxVs4QM^Q7!bR-ldWic2yGt&%zZQf1*`+xcnpt8K;@YSK>b`Q^Z@#ua%eZ+#ee z2(i!vxbRk=dL%8mFV<%awYAgVt_pw%z(B`>r}u@@2s~KD2#(RN_%tg?3Y*chh*^f( zn}rbceR?2|p9oqEX>Zg!;9C3DqcLT9EV&!Fde&2_VP&4&GsuRjgUHCYy&0(kyOy%x zAHDn#)iGekQlbtk)OP%bH!#d9tZFm}7%DEi<$=9AXy8*4Eh<%9Wc9jcwvibDBF^g| zE2sS3FXTCmmepk}Zdri3r|bsZknxY2LdT*V6%jHr;W#Odl2K|+OLMAx1|L3V(E66- zyY%PL3#}nF+8#$ISGcMp+slhht|(n&d!_ScL%WYoauSQzO?M6f>cFXtji4;sRd;Px zMOi?d@9p>2IVC2y|h#8R)?JZr&bfSanfslqh)3!Ad60ZKx8T}v7A#B+iQ&#$pNP>CU7k00}h1k(!yO4)aFfR!k6cz zE;RhgOBqbOwzJPH?)&J8MsYSGZ@G(3RC6VKDL$i1Hyy078B1%SU3N1O3Q3bog~VW& zmX6$|4rByjXP5=GAE{b9C!-rm>F@$Dp5(A+#BfTF-0`N4+qj{9HliVmi$mFH4~Gqy zTuf`(DOO4Cb?);#ZkY9BeBfkq+$0{P*gc97E%kUGW63~{52W_%>`JQrsv2?!;aiu^XVoeuyl^HFRt}4-(!zcuxZ0pQ_O4{p z)-*4W<0@aAyhi)C;hUQZ>1gE63%a;ZI`|K%!&O0 zC-!e~R1T_l-gOtZq+2^pClQ(k02;ps3_oA{^9l$549XWjoZWBXCV)r&p6L%LFWQss zhz`M04*@9qv9ICPj}NGvaz6jhUFZHcyUrotFrE2bhesRHV+n=j>u@Rwyz9&7!kaGe H;nd#%|5FsW literal 0 HcmV?d00001 From 8ee313069f9a555b972e2d04564fbb46218795c5 Mon Sep 17 00:00:00 2001 From: korpcoder <476089417@qq.com> Date: Tue, 25 Oct 2022 10:10:23 +0800 Subject: [PATCH 22/36] Delete food11.zip del --- HW03/food11.zip | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 HW03/food11.zip diff --git a/HW03/food11.zip b/HW03/food11.zip deleted file mode 100644 index 58c20c9d..00000000 --- a/HW03/food11.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d62dca034fd9f04c38a11ce69b6c2ca02a25c3ce9fb6953644dcc410a0fe02f7 -size 1163077597 From 1abca102be25fc8a00d30d9f0a61145277cc7f59 Mon Sep 17 00:00:00 2001 From: korpcoder <476089417@qq.com> Date: Tue, 25 Oct 2022 10:12:04 +0800 Subject: [PATCH 23/36] Delete food11-hw13.tar.gz del big file more than 1gb --- HW13/food11-hw13.tar.gz | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 HW13/food11-hw13.tar.gz diff --git a/HW13/food11-hw13.tar.gz b/HW13/food11-hw13.tar.gz deleted file mode 100644 index 1514fb45..00000000 --- a/HW13/food11-hw13.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:24e809ab42f5fad209d55e6996511ec7ddd08897551ee3766ac19a86c0bad16d -size 1203320552 From a4856cda18f80d528b4413229964ac02f5f63fda Mon Sep 17 00:00:00 2001 From: korp Date: Thu, 27 Oct 2022 08:42:15 +0800 Subject: [PATCH 24/36] Changes --- .../version.log" | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" index edb0561c..1cf01483 100644 --- "a/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" +++ "b/HW02/\346\264\252\351\222\246\346\225\217-HW2/version.log" @@ -161,4 +161,16 @@ https://blog.csdn.net/qq_35091353/article/details/117234223 做个笔记 发现提高复杂度 都能提高表现 最后通过钞能力 搞了一个7层双向LSTM train一次太久了 不train了 - 不然估计可以多开 更换随机种子 再提高一下 \ No newline at end of file + 不然估计可以多开 更换随机种子 再提高一下 + +20 + 后续优化思路 + self attention 多层 线性-多层 + 分批加载 更高的concat + 质数 去测试纬度变幻 + 如何调节learning rate + 模型越复杂 learning rate的影响越大 + batch size learning_rate 变化明显的情况下 可以调大确认模型 调小优化 + + 一些问题: loss与准确率的关系 + 为什么loss变高 准确率却提升了 \ No newline at end of file From 008fc85c50a5a9471f46843d44eff166eb3007d3 Mon Sep 17 00:00:00 2001 From: korp Date: Fri, 28 Oct 2022 15:25:27 +0800 Subject: [PATCH 25/36] Changes --- .../data_load.py" | 30 + .../main.py" | 6 + .../model.py" | 47 + .../note" | 12 + .../note.ipynb" | 8159 +++++++++++++++++ .../parameters.py" | 6 + .../utility.py" | 39 + 7 files changed, 8299 insertions(+) create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/data_load.py" create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/main.py" create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/model.py" create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/note" create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/note.ipynb" create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/parameters.py" create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_load.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_load.py" new file mode 100644 index 00000000..93fa2233 --- /dev/null +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_load.py" @@ -0,0 +1,30 @@ +from torch.utils.data import Dataset +from utility import test_tfm +import os +from PIL import Image + + +class FoodDataset(Dataset): + + def __init__(self, path, tfm=test_tfm, files=None): + super(FoodDataset).__init__() + self.path = path + self.files = sorted([os.path.join(path, x) for x in os.listdir(path) if x.endswith(".jpg")]) + if files is not None: + self.files = files + print(f"One {path} sample", self.files[0]) + self.transform = tfm + + def __len__(self): + return len(self.files) + + def __getitem__(self, idx): + fname = self.files[idx] + im = Image.open(fname) + im = self.transform(im) + # im = self.data[idx] + try: + label = int(fname.split("/")[-1].split("_")[0]) + except: + label = -1 # test has no label + return im, label diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/main.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/main.py" new file mode 100644 index 00000000..67c68053 --- /dev/null +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/main.py" @@ -0,0 +1,6 @@ + + + + +if __name__ == '__main__': + pass \ No newline at end of file diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/model.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/model.py" new file mode 100644 index 00000000..dd0805c6 --- /dev/null +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/model.py" @@ -0,0 +1,47 @@ +import torch.nn as nn + + +class Classifier(nn.Module): + def __init__(self): + super(Classifier, self).__init__() + # torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride, padding) + # torch.nn.MaxPool2d(kernel_size, stride, padding) + # input 維度 [3, 128, 128] + self.cnn = nn.Sequential( + nn.Conv2d(3, 64, 3, 1, 1), # [64, 128, 128] + nn.BatchNorm2d(64), + nn.ReLU(), + nn.MaxPool2d(2, 2, 0), # [64, 64, 64] + + nn.Conv2d(64, 128, 3, 1, 1), # [128, 64, 64] + nn.BatchNorm2d(128), + nn.ReLU(), + nn.MaxPool2d(2, 2, 0), # [128, 32, 32] + + nn.Conv2d(128, 256, 3, 1, 1), # [256, 32, 32] + nn.BatchNorm2d(256), + nn.ReLU(), + nn.MaxPool2d(2, 2, 0), # [256, 16, 16] + + nn.Conv2d(256, 512, 3, 1, 1), # [512, 16, 16] + nn.BatchNorm2d(512), + nn.ReLU(), + nn.MaxPool2d(2, 2, 0), # [512, 8, 8] + + nn.Conv2d(512, 512, 3, 1, 1), # [512, 8, 8] + nn.BatchNorm2d(512), + nn.ReLU(), + nn.MaxPool2d(2, 2, 0), # [512, 4, 4] + ) + self.fc = nn.Sequential( + nn.Linear(512 * 4 * 4, 1024), + nn.ReLU(), + nn.Linear(1024, 512), + nn.ReLU(), + nn.Linear(512, 11) + ) + + def forward(self, x): + out = self.cnn(x) + out = out.view(out.size()[0], -1) + return self.fc(out) diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/note" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/note" new file mode 100644 index 00000000..f3f3fae5 --- /dev/null +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/note" @@ -0,0 +1,12 @@ +Simple : 0.50099 +Medium : 0.73207 Training Augmentation + Train Longer +Strong : 0.81872 Training Augmentation + Model Design + Train Looonger (+ Cross Validation + Ensemble) +Boss : 0.88446 Training Augmentation + Model Design +Test Time Augmentation + Train Looonger (+ Cross Validation + Ensemble) + + + Training Augmentation + Model Design + Test Time Augmentation + + Train Looonger-Cross Validation + Train Looonger-Ensemble \ No newline at end of file diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/note.ipynb" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/note.ipynb" new file mode 100644 index 00000000..eff54ee4 --- /dev/null +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/note.ipynb" @@ -0,0 +1,8159 @@ +{ + "metadata": { + "kernelspec": { + "language": "python", + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "pygments_lexer": "ipython3", + "nbconvert_exporter": "python", + "version": "3.6.4", + "file_extension": ".py", + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "name": "python", + "mimetype": "text/x-python" + }, + "colab": { + "name": "HW03", + "provenance": [] + }, + "accelerator": "GPU", + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "40c953e50bea4456b3636ec468b32f14": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HBoxView", + "_dom_classes": [], + "_model_name": "HBoxModel", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.5.0", + "box_style": "", + "layout": "IPY_MODEL_c9f6dda2f6c743f8b5e097ef9c37bbb2", + "_model_module": "@jupyter-widgets/controls", + "children": [ + "IPY_MODEL_1adcd5d7b2d64095b7f4009206843375", + "IPY_MODEL_50fdf3a8769e4e088045397cf582f24e", + "IPY_MODEL_bccc745f50c44be481e792082dc56bdc" + ] + } + }, + "c9f6dda2f6c743f8b5e097ef9c37bbb2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "1adcd5d7b2d64095b7f4009206843375": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_3a0761a5580441afa603aae4a9f940f5", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": "100%", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_8080593c6cca4c54ac01a5346a400469" + } + }, + "50fdf3a8769e4e088045397cf582f24e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "ProgressView", + "style": "IPY_MODEL_d1428b9747444a5795ee4ab454f2d561", + "_dom_classes": [], + "description": "", + "_model_name": "FloatProgressModel", + "bar_style": "success", + "max": 155, + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": 155, + "_view_count": null, + "_view_module_version": "1.5.0", + "orientation": "horizontal", + "min": 0, + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_2568e2a9a63940a1afc4bf99297f43c5" + } + }, + "bccc745f50c44be481e792082dc56bdc": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_498da906503141ffabdbd3406d008523", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": " 155/155 [02:08<00:00, 1.61it/s]", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_e57e20ff9025496692f9e38184d83221" + } + }, + "3a0761a5580441afa603aae4a9f940f5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "8080593c6cca4c54ac01a5346a400469": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "d1428b9747444a5795ee4ab454f2d561": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "ProgressStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "bar_color": null, + "_model_module": "@jupyter-widgets/controls" + } + }, + "2568e2a9a63940a1afc4bf99297f43c5": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "498da906503141ffabdbd3406d008523": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "e57e20ff9025496692f9e38184d83221": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "21df1b0c3af1404db71f92815ce4f7e2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HBoxView", + "_dom_classes": [], + "_model_name": "HBoxModel", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.5.0", + "box_style": "", + "layout": "IPY_MODEL_cc6cfc6957df4777a60c22518a513add", + "_model_module": "@jupyter-widgets/controls", + "children": [ + "IPY_MODEL_5705c9836e6744798ebf26e082624ad6", + "IPY_MODEL_7b2f9765b52140949f5107490b1a19cf", + "IPY_MODEL_87a51e79aefe4d37aa4a61d2537eb164" + ] + } + }, + "cc6cfc6957df4777a60c22518a513add": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "5705c9836e6744798ebf26e082624ad6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_8b757d6eb91b4fed8a23bf1f41a7cfd2", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": "100%", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_455f6d586b094606a36ed3dd967102c9" + } + }, + "7b2f9765b52140949f5107490b1a19cf": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "ProgressView", + "style": "IPY_MODEL_2f9c9c8c00f145778e35bacaa59a8b5e", + "_dom_classes": [], + "description": "", + "_model_name": "FloatProgressModel", + "bar_style": "success", + "max": 54, + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": 54, + "_view_count": null, + "_view_module_version": "1.5.0", + "orientation": "horizontal", + "min": 0, + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_bf326d803d0c43a6ad27b6ade626af7e" + } + }, + "87a51e79aefe4d37aa4a61d2537eb164": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_0193eae66b6d44d98c8c7af1c3ca245e", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": " 54/54 [00:33<00:00, 2.08it/s]", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_94e8fcba033a4d6d8be5c31f8435427c" + } + }, + "8b757d6eb91b4fed8a23bf1f41a7cfd2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "455f6d586b094606a36ed3dd967102c9": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "2f9c9c8c00f145778e35bacaa59a8b5e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "ProgressStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "bar_color": null, + "_model_module": "@jupyter-widgets/controls" + } + }, + "bf326d803d0c43a6ad27b6ade626af7e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "0193eae66b6d44d98c8c7af1c3ca245e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "94e8fcba033a4d6d8be5c31f8435427c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "5a7f7e01edbf4429a4adc7ced4304fca": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HBoxView", + "_dom_classes": [], + "_model_name": "HBoxModel", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.5.0", + "box_style": "", + "layout": "IPY_MODEL_112b45da977a43be81589781387fcb25", + "_model_module": "@jupyter-widgets/controls", + "children": [ + "IPY_MODEL_34b9d75cfa3e4e5ebde73f84a233c7c9", + "IPY_MODEL_c59c72e2c7f04b549a45f2267cbb94fe", + "IPY_MODEL_3eb723e514bf410997e58e12b2aa9870" + ] + } + }, + "112b45da977a43be81589781387fcb25": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "34b9d75cfa3e4e5ebde73f84a233c7c9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_01f202ceca4c432fb25cf1adceadddd4", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": "100%", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_606cca0455f941a0873c1af403505a7c" + } + }, + "c59c72e2c7f04b549a45f2267cbb94fe": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "ProgressView", + "style": "IPY_MODEL_ff674b6f3a484cf683bfe5385d798c3c", + "_dom_classes": [], + "description": "", + "_model_name": "FloatProgressModel", + "bar_style": "success", + "max": 155, + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": 155, + "_view_count": null, + "_view_module_version": "1.5.0", + "orientation": "horizontal", + "min": 0, + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_f829df6953e740a19edfaa52f7ef9571" + } + }, + "3eb723e514bf410997e58e12b2aa9870": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_4157cbb8f5b7489683669b25b583b324", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": " 155/155 [02:07<00:00, 1.57it/s]", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_5d246b05af2e440eb1eb46ee1f3685b3" + } + }, + "01f202ceca4c432fb25cf1adceadddd4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "606cca0455f941a0873c1af403505a7c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "ff674b6f3a484cf683bfe5385d798c3c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "ProgressStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "bar_color": null, + "_model_module": "@jupyter-widgets/controls" + } + }, + "f829df6953e740a19edfaa52f7ef9571": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "4157cbb8f5b7489683669b25b583b324": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "5d246b05af2e440eb1eb46ee1f3685b3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "c894a6d22ca84dcd87a7b54557b9ef03": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HBoxView", + "_dom_classes": [], + "_model_name": "HBoxModel", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.5.0", + "box_style": "", + "layout": "IPY_MODEL_20bffe91f7b7419f97fdcbf8802002b2", + "_model_module": "@jupyter-widgets/controls", + "children": [ + "IPY_MODEL_7d6f69caa40146798c57e9d07c946203", + "IPY_MODEL_60d2c08bdb7648a984770c04f709fe0e", + "IPY_MODEL_0b319f5705bf4c1f88e7ff53951d7486" + ] + } + }, + "20bffe91f7b7419f97fdcbf8802002b2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "7d6f69caa40146798c57e9d07c946203": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_a2964dbea2e2484c9a6b41f7c732071b", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": "100%", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_002050c9657448f3836ddeb14757026f" + } + }, + "60d2c08bdb7648a984770c04f709fe0e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "ProgressView", + "style": "IPY_MODEL_d1785aa220e54739b611cc3ec832bb92", + "_dom_classes": [], + "description": "", + "_model_name": "FloatProgressModel", + "bar_style": "success", + "max": 54, + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": 54, + "_view_count": null, + "_view_module_version": "1.5.0", + "orientation": "horizontal", + "min": 0, + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_4392f8b04afa43d387fb6338577c889d" + } + }, + "0b319f5705bf4c1f88e7ff53951d7486": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_940659b9b3c74d0c99d170abf6b4c22f", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": " 54/54 [00:33<00:00, 1.70it/s]", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_a40ef0d028874f328aa2bfa36af5c1f9" + } + }, + "a2964dbea2e2484c9a6b41f7c732071b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "002050c9657448f3836ddeb14757026f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "d1785aa220e54739b611cc3ec832bb92": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "ProgressStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "bar_color": null, + "_model_module": "@jupyter-widgets/controls" + } + }, + "4392f8b04afa43d387fb6338577c889d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "940659b9b3c74d0c99d170abf6b4c22f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "a40ef0d028874f328aa2bfa36af5c1f9": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "669ca3f9058a41b991203298f4046b26": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HBoxView", + "_dom_classes": [], + "_model_name": "HBoxModel", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.5.0", + "box_style": "", + "layout": "IPY_MODEL_be043829292e4029bbcbc4bbf68634a6", + "_model_module": "@jupyter-widgets/controls", + "children": [ + "IPY_MODEL_2ce21509b5254cd082ddbaeab13481fa", + "IPY_MODEL_61ed9e0c1a7949b7bb916c0ab5b9be39", + "IPY_MODEL_1419c935e12a43c6ad282126e220b04f" + ] + } + }, + "be043829292e4029bbcbc4bbf68634a6": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "2ce21509b5254cd082ddbaeab13481fa": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_05620cbadedf4d6ea05468ed8fe174bb", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": "100%", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_3410d1eb883e4676b83f736a0b3c7ac0" + } + }, + "61ed9e0c1a7949b7bb916c0ab5b9be39": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "ProgressView", + "style": "IPY_MODEL_082f25ab850d4935b0843b0726e4db86", + "_dom_classes": [], + "description": "", + "_model_name": "FloatProgressModel", + "bar_style": "success", + "max": 155, + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": 155, + "_view_count": null, + "_view_module_version": "1.5.0", + "orientation": "horizontal", + "min": 0, + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_1e6ed1370acc4a6192a6977311d4fefe" + } + }, + "1419c935e12a43c6ad282126e220b04f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_0ce96c05d8b7417ea552b7a0a5db757f", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": " 155/155 [02:08<00:00, 1.52it/s]", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_51fc23b7d9e54434aabb27a0fdbdb0ef" + } + }, + "05620cbadedf4d6ea05468ed8fe174bb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "3410d1eb883e4676b83f736a0b3c7ac0": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "082f25ab850d4935b0843b0726e4db86": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "ProgressStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "bar_color": null, + "_model_module": "@jupyter-widgets/controls" + } + }, + "1e6ed1370acc4a6192a6977311d4fefe": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "0ce96c05d8b7417ea552b7a0a5db757f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "51fc23b7d9e54434aabb27a0fdbdb0ef": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "aa9cd7d0ffb2405c9cb1756644a59752": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HBoxView", + "_dom_classes": [], + "_model_name": "HBoxModel", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.5.0", + "box_style": "", + "layout": "IPY_MODEL_629f28ab51254b83b47ad07ead1f6827", + "_model_module": "@jupyter-widgets/controls", + "children": [ + "IPY_MODEL_5ac6bf2dbe224a078c2e3fa349e0ae6e", + "IPY_MODEL_4b7d4d1dadd44039bbe954ff12f5421c", + "IPY_MODEL_fa9320b10cbb4448a63526be9492c4c7" + ] + } + }, + "629f28ab51254b83b47ad07ead1f6827": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "5ac6bf2dbe224a078c2e3fa349e0ae6e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_7555c0cdbb3c4bc78281d0ce30b6d50a", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": "100%", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_37cb05e865ae4e93aeae6dcadc516a32" + } + }, + "4b7d4d1dadd44039bbe954ff12f5421c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "ProgressView", + "style": "IPY_MODEL_e081dbdcd04547489bcf374e22a343cc", + "_dom_classes": [], + "description": "", + "_model_name": "FloatProgressModel", + "bar_style": "success", + "max": 54, + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": 54, + "_view_count": null, + "_view_module_version": "1.5.0", + "orientation": "horizontal", + "min": 0, + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_ea92a75640ba4b0da70c1592f555b006" + } + }, + "fa9320b10cbb4448a63526be9492c4c7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_3e728be5faf84b7d9c1eea54547938c1", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": " 54/54 [00:33<00:00, 1.96it/s]", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_7c3ffac62aa04f568b90499734bf725b" + } + }, + "7555c0cdbb3c4bc78281d0ce30b6d50a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "37cb05e865ae4e93aeae6dcadc516a32": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "e081dbdcd04547489bcf374e22a343cc": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "ProgressStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "bar_color": null, + "_model_module": "@jupyter-widgets/controls" + } + }, + "ea92a75640ba4b0da70c1592f555b006": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "3e728be5faf84b7d9c1eea54547938c1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "7c3ffac62aa04f568b90499734bf725b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + } + } + } + }, + "nbformat_minor": 0, + "nbformat": 4, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# HW3 Image Classification\n", + "## We strongly recommend that you run with Kaggle for this homework\n" + ], + "metadata": { + "id": "jRDuJsGCgxCO" + } + }, + { + "cell_type": "markdown", + "source": [ + "# Get Data\n", + "Notes: if the links are dead, you can download the data directly from Kaggle and upload it to the workspace, or you can use the Kaggle API to directly download the data into colab.\n" + ], + "metadata": { + "id": "EVgrPb3HhJUT" + } + }, + { + "cell_type": "code", + "source": [ + "! wget https://www.dropbox.com/s/6l2vcvxl54b0b6w/food11.zip" + ], + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "papermill": { + "duration": 19.351342, + "end_time": "2022-02-23T10:03:06.247288", + "exception": false, + "start_time": "2022-02-23T10:02:46.895946", + "status": "completed" + }, + "tags": [], + "execution": { + "iopub.status.busy": "2022-03-03T13:07:43.697321Z", + "iopub.execute_input": "2022-03-03T13:07:43.697626Z", + "iopub.status.idle": "2022-03-03T13:07:49.305932Z", + "shell.execute_reply.started": "2022-03-03T13:07:43.697542Z", + "shell.execute_reply": "2022-03-03T13:07:49.305076Z" + }, + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "EAO6dg9eVaU_", + "outputId": "6ab4a9f9-8dd6-4259-8d1e-1215e6521486" + }, + "execution_count": 1, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "--2022-03-03 16:00:33-- https://www.dropbox.com/s/6l2vcvxl54b0b6w/food11.zip\n", + "Resolving www.dropbox.com (www.dropbox.com)... 162.125.3.18, 2620:100:6018:18::a27d:312\n", + "Connecting to www.dropbox.com (www.dropbox.com)|162.125.3.18|:443... connected.\n", + "HTTP request sent, awaiting response... 301 Moved Permanently\n", + "Location: /s/raw/6l2vcvxl54b0b6w/food11.zip [following]\n", + "--2022-03-03 16:00:33-- https://www.dropbox.com/s/raw/6l2vcvxl54b0b6w/food11.zip\n", + "Reusing existing connection to www.dropbox.com:443.\n", + "HTTP request sent, awaiting response... 302 Found\n", + "Location: https://uc89a27633917a4649a0be64a578.dl.dropboxusercontent.com/cd/0/inline/BgyJHeT6ktWDUrjn1ICVCKVKisZAPQ-U6XE5iG-7Ye0cfXKUIcIaGKMUheJbLTVEZwHHa0ItvsK_PHCGSIF0btVayn5I-HuYxHaCYSFPR0xnoCjldEK9c2FMxJDdJBOjtN7PpWcGTf0RhCES_KSSPzU0/file# [following]\n", + "--2022-03-03 16:00:33-- https://uc89a27633917a4649a0be64a578.dl.dropboxusercontent.com/cd/0/inline/BgyJHeT6ktWDUrjn1ICVCKVKisZAPQ-U6XE5iG-7Ye0cfXKUIcIaGKMUheJbLTVEZwHHa0ItvsK_PHCGSIF0btVayn5I-HuYxHaCYSFPR0xnoCjldEK9c2FMxJDdJBOjtN7PpWcGTf0RhCES_KSSPzU0/file\n", + "Resolving uc89a27633917a4649a0be64a578.dl.dropboxusercontent.com (uc89a27633917a4649a0be64a578.dl.dropboxusercontent.com)... 162.125.3.15, 2620:100:6018:15::a27d:30f\n", + "Connecting to uc89a27633917a4649a0be64a578.dl.dropboxusercontent.com (uc89a27633917a4649a0be64a578.dl.dropboxusercontent.com)|162.125.3.15|:443... connected.\n", + "HTTP request sent, awaiting response... 302 Found\n", + "Location: /cd/0/inline2/BgwQMw2JocOcJKI0IJyWbZl-B6nbRFcS9ITj-y-fC0FV01HZL3hYp61Bc5sZb5k8g0u-qNDUL-TasYTdKWwLcg4mhIkrourLTlxuIxhKXCq9mXVUOlNNsuonJRx3WB8ImFTDFs_lnsianuqmQz3ANoIEU8xvsYFqLUZN5Pb-POPUwCa0HRHKwFNyZbE-EjKGXKZLfL9bDsBW8RYQko4oziZVVm6BR2UgoB6zzpkWs-WfkSNkB5BsKVebpiFQz4lrJQZqDqfLiEsZDW0ovJvlzYTA9cJwRf4W5joc97vR71WQE3wwPWasdTz3ms8sQma1cjHimwY24ZBd29NW1CeIB3vOsTOm5KRVf0sewaZgf24MBIYEnisNpnf6MG9MU-0FZXE/file [following]\n", + "--2022-03-03 16:00:34-- https://uc89a27633917a4649a0be64a578.dl.dropboxusercontent.com/cd/0/inline2/BgwQMw2JocOcJKI0IJyWbZl-B6nbRFcS9ITj-y-fC0FV01HZL3hYp61Bc5sZb5k8g0u-qNDUL-TasYTdKWwLcg4mhIkrourLTlxuIxhKXCq9mXVUOlNNsuonJRx3WB8ImFTDFs_lnsianuqmQz3ANoIEU8xvsYFqLUZN5Pb-POPUwCa0HRHKwFNyZbE-EjKGXKZLfL9bDsBW8RYQko4oziZVVm6BR2UgoB6zzpkWs-WfkSNkB5BsKVebpiFQz4lrJQZqDqfLiEsZDW0ovJvlzYTA9cJwRf4W5joc97vR71WQE3wwPWasdTz3ms8sQma1cjHimwY24ZBd29NW1CeIB3vOsTOm5KRVf0sewaZgf24MBIYEnisNpnf6MG9MU-0FZXE/file\n", + "Reusing existing connection to uc89a27633917a4649a0be64a578.dl.dropboxusercontent.com:443.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 1163077597 (1.1G) [application/zip]\n", + "Saving to: ‘food11.zip’\n", + "\n", + "food11.zip 100%[===================>] 1.08G 45.5MB/s in 28s \n", + "\n", + "2022-03-03 16:01:02 (39.8 MB/s) - ‘food11.zip’ saved [1163077597/1163077597]\n", + "\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "! unzip food11.zip" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "HEsBm1lkhGmk", + "outputId": "8ade0916-a2f5-4174-81d6-74134cbbe7b6" + }, + "execution_count": 9, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[1;30;43mStreaming output truncated to the last 5000 lines.\u001b[0m\n", + " inflating: food11/training/8_806.jpg \n", + " inflating: food11/training/8_807.jpg \n", + " inflating: food11/training/8_808.jpg \n", + " inflating: food11/training/8_809.jpg \n", + " inflating: food11/training/8_81.jpg \n", + " inflating: food11/training/8_810.jpg \n", + " inflating: food11/training/8_811.jpg \n", + " inflating: food11/training/8_812.jpg \n", + " inflating: food11/training/8_813.jpg \n", + " inflating: food11/training/8_814.jpg \n", + " inflating: food11/training/8_815.jpg \n", + " inflating: food11/training/8_816.jpg \n", + " inflating: food11/training/8_817.jpg \n", + " inflating: food11/training/8_818.jpg \n", + " inflating: food11/training/8_819.jpg \n", + " inflating: food11/training/8_82.jpg \n", + " inflating: food11/training/8_820.jpg \n", + " inflating: food11/training/8_821.jpg \n", + " inflating: food11/training/8_822.jpg \n", + " inflating: food11/training/8_823.jpg \n", + " inflating: food11/training/8_824.jpg \n", + " inflating: food11/training/8_825.jpg \n", + " inflating: food11/training/8_826.jpg \n", + " inflating: food11/training/8_827.jpg \n", + " inflating: food11/training/8_828.jpg \n", + " inflating: food11/training/8_829.jpg \n", + " inflating: food11/training/8_83.jpg \n", + " inflating: food11/training/8_830.jpg \n", + " inflating: food11/training/8_831.jpg \n", + " inflating: food11/training/8_832.jpg \n", + " inflating: food11/training/8_833.jpg \n", + " inflating: food11/training/8_834.jpg \n", + " inflating: food11/training/8_835.jpg \n", + " inflating: food11/training/8_836.jpg \n", + " inflating: food11/training/8_837.jpg \n", + " inflating: food11/training/8_838.jpg \n", + " inflating: food11/training/8_839.jpg \n", + " inflating: food11/training/8_84.jpg \n", + " inflating: food11/training/8_840.jpg \n", + " inflating: food11/training/8_841.jpg \n", + " inflating: food11/training/8_842.jpg \n", + " inflating: food11/training/8_843.jpg \n", + " inflating: food11/training/8_844.jpg \n", + " inflating: food11/training/8_845.jpg \n", + " inflating: food11/training/8_846.jpg \n", + " inflating: food11/training/8_847.jpg \n", + " inflating: food11/training/8_848.jpg \n", + " inflating: food11/training/8_849.jpg \n", + " inflating: food11/training/8_85.jpg \n", + " inflating: food11/training/8_850.jpg \n", + " inflating: food11/training/8_851.jpg \n", + " inflating: food11/training/8_852.jpg \n", + " inflating: food11/training/8_853.jpg \n", + " inflating: food11/training/8_854.jpg \n", + " extracting: food11/training/8_86.jpg \n", + " inflating: food11/training/8_87.jpg \n", + " inflating: food11/training/8_88.jpg \n", + " inflating: food11/training/8_89.jpg \n", + " inflating: food11/training/8_9.jpg \n", + " inflating: food11/training/8_90.jpg \n", + " inflating: food11/training/8_91.jpg \n", + " inflating: food11/training/8_92.jpg \n", + " inflating: food11/training/8_93.jpg \n", + " inflating: food11/training/8_94.jpg \n", + " inflating: food11/training/8_95.jpg \n", + " inflating: food11/training/8_96.jpg \n", + " inflating: food11/training/8_97.jpg \n", + " inflating: food11/training/8_98.jpg \n", + " inflating: food11/training/8_99.jpg \n", + " inflating: food11/training/9_0.jpg \n", + " inflating: food11/training/9_1.jpg \n", + " inflating: food11/training/9_10.jpg \n", + " inflating: food11/training/9_100.jpg \n", + " inflating: food11/training/9_1000.jpg \n", + " inflating: food11/training/9_1001.jpg \n", + " inflating: food11/training/9_1002.jpg \n", + " inflating: food11/training/9_1003.jpg \n", + " inflating: food11/training/9_1004.jpg \n", + " inflating: food11/training/9_1005.jpg \n", + " inflating: food11/training/9_1006.jpg \n", + " inflating: food11/training/9_1007.jpg \n", + " inflating: food11/training/9_1008.jpg \n", + " inflating: food11/training/9_1009.jpg \n", + " inflating: food11/training/9_101.jpg \n", + " inflating: food11/training/9_1010.jpg \n", + " inflating: food11/training/9_1011.jpg \n", + " inflating: food11/training/9_1012.jpg \n", + " inflating: food11/training/9_1013.jpg \n", + " inflating: food11/training/9_1014.jpg \n", + " inflating: food11/training/9_1015.jpg \n", + " inflating: food11/training/9_1016.jpg \n", + " inflating: food11/training/9_1017.jpg \n", + " inflating: food11/training/9_1018.jpg \n", + " inflating: food11/training/9_1019.jpg \n", + " inflating: food11/training/9_102.jpg \n", + " inflating: food11/training/9_1020.jpg \n", + " inflating: food11/training/9_1021.jpg \n", + " inflating: food11/training/9_1022.jpg \n", + " inflating: food11/training/9_1023.jpg \n", + " inflating: food11/training/9_1024.jpg \n", + " inflating: food11/training/9_1025.jpg \n", + " inflating: food11/training/9_1026.jpg \n", + " inflating: food11/training/9_1027.jpg \n", + " inflating: food11/training/9_1028.jpg \n", + " inflating: food11/training/9_1029.jpg \n", + " inflating: food11/training/9_103.jpg \n", + " inflating: food11/training/9_1030.jpg \n", + " inflating: food11/training/9_1031.jpg \n", + " inflating: food11/training/9_1032.jpg \n", + " inflating: food11/training/9_1033.jpg \n", + " inflating: food11/training/9_1034.jpg \n", + " inflating: food11/training/9_1035.jpg \n", + " inflating: food11/training/9_1036.jpg \n", + " inflating: food11/training/9_1037.jpg \n", + " inflating: food11/training/9_1038.jpg \n", + " inflating: food11/training/9_1039.jpg \n", + " inflating: food11/training/9_104.jpg \n", + " inflating: food11/training/9_1040.jpg \n", + " inflating: food11/training/9_1041.jpg \n", + " inflating: food11/training/9_1042.jpg \n", + " inflating: food11/training/9_1043.jpg \n", + " inflating: food11/training/9_1044.jpg \n", + " inflating: food11/training/9_1045.jpg \n", + " inflating: food11/training/9_1046.jpg \n", + " inflating: food11/training/9_1047.jpg \n", + " inflating: food11/training/9_1048.jpg \n", + " inflating: food11/training/9_1049.jpg \n", + " inflating: food11/training/9_105.jpg \n", + " inflating: food11/training/9_1050.jpg \n", + " inflating: food11/training/9_1051.jpg \n", + " inflating: food11/training/9_1052.jpg \n", + " inflating: food11/training/9_1053.jpg \n", + " inflating: food11/training/9_1054.jpg \n", + " inflating: food11/training/9_1055.jpg \n", + " inflating: food11/training/9_1056.jpg \n", + " inflating: food11/training/9_1057.jpg \n", + " inflating: food11/training/9_1058.jpg \n", + " inflating: food11/training/9_1059.jpg \n", + " inflating: food11/training/9_106.jpg \n", + " inflating: food11/training/9_1060.jpg \n", + " inflating: food11/training/9_1061.jpg \n", + " inflating: food11/training/9_1062.jpg \n", + " inflating: food11/training/9_1063.jpg \n", + " inflating: food11/training/9_1064.jpg \n", + " inflating: food11/training/9_1065.jpg \n", + " inflating: food11/training/9_1066.jpg \n", + " inflating: food11/training/9_1067.jpg \n", + " inflating: food11/training/9_1068.jpg \n", + " inflating: food11/training/9_1069.jpg \n", + " inflating: food11/training/9_107.jpg \n", + " inflating: food11/training/9_1070.jpg \n", + " inflating: food11/training/9_1071.jpg \n", + " inflating: food11/training/9_1072.jpg \n", + " inflating: food11/training/9_1073.jpg \n", + " inflating: food11/training/9_1074.jpg \n", + " inflating: food11/training/9_1075.jpg \n", + " inflating: food11/training/9_1076.jpg \n", + " inflating: food11/training/9_1077.jpg \n", + " inflating: food11/training/9_1078.jpg \n", + " inflating: food11/training/9_1079.jpg \n", + " inflating: food11/training/9_108.jpg \n", + " inflating: food11/training/9_1080.jpg \n", + " inflating: food11/training/9_1081.jpg \n", + " inflating: food11/training/9_1082.jpg \n", + " inflating: food11/training/9_1083.jpg \n", + " inflating: food11/training/9_1084.jpg \n", + " inflating: food11/training/9_1085.jpg \n", + " inflating: food11/training/9_1086.jpg \n", + " inflating: food11/training/9_1087.jpg \n", + " inflating: food11/training/9_1088.jpg \n", + " inflating: food11/training/9_1089.jpg \n", + " inflating: food11/training/9_109.jpg \n", + " inflating: food11/training/9_1090.jpg \n", + " inflating: food11/training/9_1091.jpg \n", + " inflating: food11/training/9_1092.jpg \n", + " inflating: food11/training/9_1093.jpg \n", + " inflating: food11/training/9_1094.jpg \n", + " inflating: food11/training/9_1095.jpg \n", + " inflating: food11/training/9_1096.jpg \n", + " inflating: food11/training/9_1097.jpg \n", + " inflating: food11/training/9_1098.jpg \n", + " inflating: food11/training/9_1099.jpg \n", + " inflating: food11/training/9_11.jpg \n", + " inflating: food11/training/9_110.jpg \n", + " inflating: food11/training/9_1100.jpg \n", + " inflating: food11/training/9_1101.jpg \n", + " inflating: food11/training/9_1102.jpg \n", + " inflating: food11/training/9_1103.jpg \n", + " inflating: food11/training/9_1104.jpg \n", + " inflating: food11/training/9_1105.jpg \n", + " inflating: food11/training/9_1106.jpg \n", + " inflating: food11/training/9_1107.jpg \n", + " inflating: food11/training/9_1108.jpg \n", + " inflating: food11/training/9_1109.jpg \n", + " inflating: food11/training/9_111.jpg \n", + " inflating: food11/training/9_1110.jpg \n", + " inflating: food11/training/9_1111.jpg \n", + " inflating: food11/training/9_1112.jpg \n", + " inflating: food11/training/9_1113.jpg \n", + " inflating: food11/training/9_1114.jpg \n", + " inflating: food11/training/9_1115.jpg \n", + " inflating: food11/training/9_1116.jpg \n", + " inflating: food11/training/9_1117.jpg \n", + " inflating: food11/training/9_1118.jpg \n", + " inflating: food11/training/9_1119.jpg \n", + " inflating: food11/training/9_112.jpg \n", + " inflating: food11/training/9_1120.jpg \n", + " inflating: food11/training/9_1121.jpg \n", + " inflating: food11/training/9_1122.jpg \n", + " inflating: food11/training/9_1123.jpg \n", + " inflating: food11/training/9_1124.jpg \n", + " inflating: food11/training/9_1125.jpg \n", + " inflating: food11/training/9_1126.jpg \n", + " inflating: food11/training/9_1127.jpg \n", + " inflating: food11/training/9_1128.jpg \n", + " inflating: food11/training/9_1129.jpg \n", + " inflating: food11/training/9_113.jpg \n", + " inflating: food11/training/9_1130.jpg \n", + " inflating: food11/training/9_1131.jpg \n", + " inflating: food11/training/9_1132.jpg \n", + " inflating: food11/training/9_1133.jpg \n", + " inflating: food11/training/9_1134.jpg \n", + " inflating: food11/training/9_1135.jpg \n", + " inflating: food11/training/9_1136.jpg \n", + " inflating: food11/training/9_1137.jpg \n", + " inflating: food11/training/9_1138.jpg \n", + " inflating: food11/training/9_1139.jpg \n", + " inflating: food11/training/9_114.jpg \n", + " inflating: food11/training/9_1140.jpg \n", + " inflating: food11/training/9_1141.jpg \n", + " inflating: food11/training/9_1142.jpg \n", + " inflating: food11/training/9_1143.jpg \n", + " inflating: food11/training/9_1144.jpg \n", + " inflating: food11/training/9_1145.jpg \n", + " inflating: food11/training/9_1146.jpg \n", + " inflating: food11/training/9_1147.jpg \n", + " inflating: food11/training/9_1148.jpg \n", + " inflating: food11/training/9_1149.jpg \n", + " inflating: food11/training/9_115.jpg \n", + " inflating: food11/training/9_1150.jpg \n", + " inflating: food11/training/9_1151.jpg \n", + " inflating: food11/training/9_1152.jpg \n", + " inflating: food11/training/9_1153.jpg \n", + " inflating: food11/training/9_1154.jpg \n", + " inflating: food11/training/9_1155.jpg \n", + " inflating: food11/training/9_1156.jpg \n", + " inflating: food11/training/9_1157.jpg \n", + " inflating: food11/training/9_1158.jpg \n", + " inflating: food11/training/9_1159.jpg \n", + " inflating: food11/training/9_116.jpg \n", + " inflating: food11/training/9_1160.jpg \n", + " inflating: food11/training/9_1161.jpg \n", + " inflating: food11/training/9_1162.jpg \n", + " inflating: food11/training/9_1163.jpg \n", + " inflating: food11/training/9_1164.jpg \n", + " inflating: food11/training/9_1165.jpg \n", + " inflating: food11/training/9_1166.jpg \n", + " inflating: food11/training/9_1167.jpg \n", + " inflating: food11/training/9_1168.jpg \n", + " inflating: food11/training/9_1169.jpg \n", + " inflating: food11/training/9_117.jpg \n", + " inflating: food11/training/9_1170.jpg \n", + " inflating: food11/training/9_1171.jpg \n", + " inflating: food11/training/9_1172.jpg \n", + " inflating: food11/training/9_1173.jpg \n", + " inflating: food11/training/9_1174.jpg \n", + " inflating: food11/training/9_1175.jpg \n", + " inflating: food11/training/9_1176.jpg \n", + " inflating: food11/training/9_1177.jpg \n", + " inflating: food11/training/9_1178.jpg \n", + " inflating: food11/training/9_1179.jpg \n", + " inflating: food11/training/9_118.jpg \n", + " inflating: food11/training/9_1180.jpg \n", + " inflating: food11/training/9_1181.jpg \n", + " inflating: food11/training/9_1182.jpg \n", + " inflating: food11/training/9_1183.jpg \n", + " inflating: food11/training/9_1184.jpg \n", + " inflating: food11/training/9_1185.jpg \n", + " inflating: food11/training/9_1186.jpg \n", + " inflating: food11/training/9_1187.jpg \n", + " inflating: food11/training/9_1188.jpg \n", + " inflating: food11/training/9_1189.jpg \n", + " inflating: food11/training/9_119.jpg \n", + " inflating: food11/training/9_1190.jpg \n", + " inflating: food11/training/9_1191.jpg \n", + " inflating: food11/training/9_1192.jpg \n", + " inflating: food11/training/9_1193.jpg \n", + " inflating: food11/training/9_1194.jpg \n", + " inflating: food11/training/9_1195.jpg \n", + " inflating: food11/training/9_1196.jpg \n", + " inflating: food11/training/9_1197.jpg \n", + " inflating: food11/training/9_1198.jpg \n", + " inflating: food11/training/9_1199.jpg \n", + " inflating: food11/training/9_12.jpg \n", + " inflating: food11/training/9_120.jpg \n", + " inflating: food11/training/9_1200.jpg \n", + " inflating: food11/training/9_1201.jpg \n", + " inflating: food11/training/9_1202.jpg \n", + " inflating: food11/training/9_1203.jpg \n", + " inflating: food11/training/9_1204.jpg \n", + " inflating: food11/training/9_1205.jpg \n", + " inflating: food11/training/9_1206.jpg \n", + " inflating: food11/training/9_1207.jpg \n", + " inflating: food11/training/9_1208.jpg \n", + " inflating: food11/training/9_1209.jpg \n", + " inflating: food11/training/9_121.jpg \n", + " inflating: food11/training/9_1210.jpg \n", + " inflating: food11/training/9_1211.jpg \n", + " inflating: food11/training/9_1212.jpg \n", + " inflating: food11/training/9_1213.jpg \n", + " inflating: food11/training/9_1214.jpg \n", + " inflating: food11/training/9_1215.jpg \n", + " inflating: food11/training/9_1216.jpg \n", + " inflating: food11/training/9_1217.jpg \n", + " inflating: food11/training/9_1218.jpg \n", + " inflating: food11/training/9_1219.jpg \n", + " inflating: food11/training/9_122.jpg \n", + " inflating: food11/training/9_1220.jpg \n", + " inflating: food11/training/9_1221.jpg \n", + " inflating: food11/training/9_1222.jpg \n", + " inflating: food11/training/9_1223.jpg \n", + " inflating: food11/training/9_1224.jpg \n", + " inflating: food11/training/9_1225.jpg \n", + " inflating: food11/training/9_1226.jpg \n", + " inflating: food11/training/9_1227.jpg \n", + " inflating: food11/training/9_1228.jpg \n", + " inflating: food11/training/9_1229.jpg \n", + " inflating: food11/training/9_123.jpg \n", + " inflating: food11/training/9_1230.jpg \n", + " inflating: food11/training/9_1231.jpg \n", + " inflating: food11/training/9_1232.jpg \n", + " inflating: food11/training/9_1233.jpg \n", + " inflating: food11/training/9_1234.jpg \n", + " inflating: food11/training/9_1235.jpg \n", + " inflating: food11/training/9_1236.jpg \n", + " inflating: food11/training/9_1237.jpg \n", + " inflating: food11/training/9_1238.jpg \n", + " inflating: food11/training/9_1239.jpg \n", + " inflating: food11/training/9_124.jpg \n", + " inflating: food11/training/9_1240.jpg \n", + " inflating: food11/training/9_1241.jpg \n", + " inflating: food11/training/9_1242.jpg \n", + " inflating: food11/training/9_1243.jpg \n", + " inflating: food11/training/9_1244.jpg \n", + " inflating: food11/training/9_1245.jpg \n", + " inflating: food11/training/9_1246.jpg \n", + " inflating: food11/training/9_1247.jpg \n", + " inflating: food11/training/9_1248.jpg \n", + " inflating: food11/training/9_1249.jpg \n", + " inflating: food11/training/9_125.jpg \n", + " inflating: food11/training/9_1250.jpg \n", + " inflating: food11/training/9_1251.jpg \n", + " inflating: food11/training/9_1252.jpg \n", + " inflating: food11/training/9_1253.jpg \n", + " inflating: food11/training/9_1254.jpg \n", + " inflating: food11/training/9_1255.jpg \n", + " inflating: food11/training/9_1256.jpg \n", + " inflating: food11/training/9_1257.jpg \n", + " inflating: food11/training/9_1258.jpg \n", + " inflating: food11/training/9_1259.jpg \n", + " inflating: food11/training/9_126.jpg \n", + " inflating: food11/training/9_1260.jpg \n", + " inflating: food11/training/9_1261.jpg \n", + " inflating: food11/training/9_1262.jpg \n", + " inflating: food11/training/9_1263.jpg \n", + " inflating: food11/training/9_1264.jpg \n", + " inflating: food11/training/9_1265.jpg \n", + " inflating: food11/training/9_1266.jpg \n", + " inflating: food11/training/9_1267.jpg \n", + " inflating: food11/training/9_1268.jpg \n", + " inflating: food11/training/9_1269.jpg \n", + " inflating: food11/training/9_127.jpg \n", + " inflating: food11/training/9_1270.jpg \n", + " inflating: food11/training/9_1271.jpg \n", + " inflating: food11/training/9_1272.jpg \n", + " inflating: food11/training/9_1273.jpg \n", + " inflating: food11/training/9_1274.jpg \n", + " inflating: food11/training/9_1275.jpg \n", + " inflating: food11/training/9_1276.jpg \n", + " inflating: food11/training/9_1277.jpg \n", + " inflating: food11/training/9_1278.jpg \n", + " inflating: food11/training/9_1279.jpg \n", + " inflating: food11/training/9_128.jpg \n", + " inflating: food11/training/9_1280.jpg \n", + " inflating: food11/training/9_1281.jpg \n", + " inflating: food11/training/9_1282.jpg \n", + " inflating: food11/training/9_1283.jpg \n", + " inflating: food11/training/9_1284.jpg \n", + " inflating: food11/training/9_1285.jpg \n", + " inflating: food11/training/9_1286.jpg \n", + " inflating: food11/training/9_1287.jpg \n", + " inflating: food11/training/9_1288.jpg \n", + " inflating: food11/training/9_1289.jpg \n", + " inflating: food11/training/9_129.jpg \n", + " inflating: food11/training/9_1290.jpg \n", + " inflating: food11/training/9_1291.jpg \n", + " inflating: food11/training/9_1292.jpg \n", + " inflating: food11/training/9_1293.jpg \n", + " inflating: food11/training/9_1294.jpg \n", + " inflating: food11/training/9_1295.jpg \n", + " inflating: food11/training/9_1296.jpg \n", + " inflating: food11/training/9_1297.jpg \n", + " inflating: food11/training/9_1298.jpg \n", + " inflating: food11/training/9_1299.jpg \n", + " inflating: food11/training/9_13.jpg \n", + " inflating: food11/training/9_130.jpg \n", + " inflating: food11/training/9_1300.jpg \n", + " inflating: food11/training/9_1301.jpg \n", + " inflating: food11/training/9_1302.jpg \n", + " inflating: food11/training/9_1303.jpg \n", + " inflating: food11/training/9_1304.jpg \n", + " inflating: food11/training/9_1305.jpg \n", + " inflating: food11/training/9_1306.jpg \n", + " inflating: food11/training/9_1307.jpg \n", + " inflating: food11/training/9_1308.jpg \n", + " inflating: food11/training/9_1309.jpg \n", + " inflating: food11/training/9_131.jpg \n", + " inflating: food11/training/9_1310.jpg \n", + " inflating: food11/training/9_1311.jpg \n", + " inflating: food11/training/9_1312.jpg \n", + " inflating: food11/training/9_1313.jpg \n", + " inflating: food11/training/9_1314.jpg \n", + " inflating: food11/training/9_1315.jpg \n", + " inflating: food11/training/9_1316.jpg \n", + " inflating: food11/training/9_1317.jpg \n", + " inflating: food11/training/9_1318.jpg \n", + " inflating: food11/training/9_1319.jpg \n", + " inflating: food11/training/9_132.jpg \n", + " inflating: food11/training/9_1320.jpg \n", + " inflating: food11/training/9_1321.jpg \n", + " inflating: food11/training/9_1322.jpg \n", + " inflating: food11/training/9_1323.jpg \n", + " inflating: food11/training/9_1324.jpg \n", + " inflating: food11/training/9_1325.jpg \n", + " inflating: food11/training/9_1326.jpg \n", + " inflating: food11/training/9_1327.jpg \n", + " inflating: food11/training/9_1328.jpg \n", + " inflating: food11/training/9_1329.jpg \n", + " inflating: food11/training/9_133.jpg \n", + " inflating: food11/training/9_1330.jpg \n", + " inflating: food11/training/9_1331.jpg \n", + " inflating: food11/training/9_1332.jpg \n", + " inflating: food11/training/9_1333.jpg \n", + " inflating: food11/training/9_1334.jpg \n", + " inflating: food11/training/9_1335.jpg \n", + " inflating: food11/training/9_1336.jpg \n", + " inflating: food11/training/9_1337.jpg \n", + " inflating: food11/training/9_1338.jpg \n", + " inflating: food11/training/9_1339.jpg \n", + " inflating: food11/training/9_134.jpg \n", + " inflating: food11/training/9_1340.jpg \n", + " inflating: food11/training/9_1341.jpg \n", + " inflating: food11/training/9_1342.jpg \n", + " inflating: food11/training/9_1343.jpg \n", + " inflating: food11/training/9_1344.jpg \n", + " inflating: food11/training/9_1345.jpg \n", + " inflating: food11/training/9_1346.jpg \n", + " inflating: food11/training/9_1347.jpg \n", + " inflating: food11/training/9_1348.jpg \n", + " inflating: food11/training/9_1349.jpg \n", + " inflating: food11/training/9_135.jpg \n", + " inflating: food11/training/9_1350.jpg \n", + " inflating: food11/training/9_1351.jpg \n", + " inflating: food11/training/9_1352.jpg \n", + " inflating: food11/training/9_1353.jpg \n", + " inflating: food11/training/9_1354.jpg \n", + " inflating: food11/training/9_1355.jpg \n", + " inflating: food11/training/9_1356.jpg \n", + " inflating: food11/training/9_1357.jpg \n", + " inflating: food11/training/9_1358.jpg \n", + " inflating: food11/training/9_1359.jpg \n", + " inflating: food11/training/9_136.jpg \n", + " inflating: food11/training/9_1360.jpg \n", + " inflating: food11/training/9_1361.jpg \n", + " inflating: food11/training/9_1362.jpg \n", + " inflating: food11/training/9_1363.jpg \n", + " inflating: food11/training/9_1364.jpg \n", + " inflating: food11/training/9_1365.jpg \n", + " inflating: food11/training/9_1366.jpg \n", + " inflating: food11/training/9_1367.jpg \n", + " inflating: food11/training/9_1368.jpg \n", + " inflating: food11/training/9_1369.jpg \n", + " inflating: food11/training/9_137.jpg \n", + " inflating: food11/training/9_1370.jpg \n", + " inflating: food11/training/9_1371.jpg \n", + " inflating: food11/training/9_1372.jpg \n", + " inflating: food11/training/9_1373.jpg \n", + " inflating: food11/training/9_1374.jpg \n", + " inflating: food11/training/9_1375.jpg \n", + " inflating: food11/training/9_1376.jpg \n", + " inflating: food11/training/9_1377.jpg \n", + " inflating: food11/training/9_1378.jpg \n", + " inflating: food11/training/9_1379.jpg \n", + " inflating: food11/training/9_138.jpg \n", + " inflating: food11/training/9_1380.jpg \n", + " inflating: food11/training/9_1381.jpg \n", + " inflating: food11/training/9_1382.jpg \n", + " inflating: food11/training/9_1383.jpg \n", + " inflating: food11/training/9_1384.jpg \n", + " inflating: food11/training/9_1385.jpg \n", + " inflating: food11/training/9_1386.jpg \n", + " inflating: food11/training/9_1387.jpg \n", + " inflating: food11/training/9_1388.jpg \n", + " inflating: food11/training/9_1389.jpg \n", + " inflating: food11/training/9_139.jpg \n", + " inflating: food11/training/9_1390.jpg \n", + " inflating: food11/training/9_1391.jpg \n", + " inflating: food11/training/9_1392.jpg \n", + " inflating: food11/training/9_1393.jpg \n", + " inflating: food11/training/9_1394.jpg \n", + " inflating: food11/training/9_1395.jpg \n", + " inflating: food11/training/9_1396.jpg \n", + " inflating: food11/training/9_1397.jpg \n", + " inflating: food11/training/9_1398.jpg \n", + " inflating: food11/training/9_1399.jpg \n", + " inflating: food11/training/9_14.jpg \n", + " inflating: food11/training/9_140.jpg \n", + " inflating: food11/training/9_1400.jpg \n", + " inflating: food11/training/9_1401.jpg \n", + " inflating: food11/training/9_1402.jpg \n", + " inflating: food11/training/9_1403.jpg \n", + " inflating: food11/training/9_1404.jpg \n", + " inflating: food11/training/9_1405.jpg \n", + " inflating: food11/training/9_1406.jpg \n", + " inflating: food11/training/9_1407.jpg \n", + " inflating: food11/training/9_1408.jpg \n", + " inflating: food11/training/9_1409.jpg \n", + " inflating: food11/training/9_141.jpg \n", + " inflating: food11/training/9_1410.jpg \n", + " inflating: food11/training/9_1411.jpg \n", + " inflating: food11/training/9_1412.jpg \n", + " inflating: food11/training/9_1413.jpg \n", + " inflating: food11/training/9_1414.jpg \n", + " inflating: food11/training/9_1415.jpg \n", + " inflating: food11/training/9_1416.jpg \n", + " inflating: food11/training/9_1417.jpg \n", + " inflating: food11/training/9_1418.jpg \n", + " inflating: food11/training/9_1419.jpg \n", + " inflating: food11/training/9_142.jpg \n", + " inflating: food11/training/9_1420.jpg \n", + " inflating: food11/training/9_1421.jpg \n", + " inflating: food11/training/9_1422.jpg \n", + " inflating: food11/training/9_1423.jpg \n", + " inflating: food11/training/9_1424.jpg \n", + " inflating: food11/training/9_1425.jpg \n", + " inflating: food11/training/9_1426.jpg \n", + " inflating: food11/training/9_1427.jpg \n", + " inflating: food11/training/9_1428.jpg \n", + " inflating: food11/training/9_1429.jpg \n", + " inflating: food11/training/9_143.jpg \n", + " inflating: food11/training/9_1430.jpg \n", + " inflating: food11/training/9_1431.jpg \n", + " inflating: food11/training/9_1432.jpg \n", + " inflating: food11/training/9_1433.jpg \n", + " inflating: food11/training/9_1434.jpg \n", + " inflating: food11/training/9_1435.jpg \n", + " inflating: food11/training/9_1436.jpg \n", + " inflating: food11/training/9_1437.jpg \n", + " inflating: food11/training/9_1438.jpg \n", + " inflating: food11/training/9_1439.jpg \n", + " inflating: food11/training/9_144.jpg \n", + " inflating: food11/training/9_1440.jpg \n", + " inflating: food11/training/9_1441.jpg \n", + " inflating: food11/training/9_1442.jpg \n", + " inflating: food11/training/9_1443.jpg \n", + " inflating: food11/training/9_1444.jpg \n", + " inflating: food11/training/9_1445.jpg \n", + " inflating: food11/training/9_1446.jpg \n", + " inflating: food11/training/9_1447.jpg \n", + " inflating: food11/training/9_1448.jpg \n", + " inflating: food11/training/9_1449.jpg \n", + " inflating: food11/training/9_145.jpg \n", + " inflating: food11/training/9_1450.jpg \n", + " inflating: food11/training/9_1451.jpg \n", + " inflating: food11/training/9_1452.jpg \n", + " inflating: food11/training/9_1453.jpg \n", + " inflating: food11/training/9_1454.jpg \n", + " inflating: food11/training/9_1455.jpg \n", + " inflating: food11/training/9_1456.jpg \n", + " inflating: food11/training/9_1457.jpg \n", + " inflating: food11/training/9_1458.jpg \n", + " inflating: food11/training/9_1459.jpg \n", + " inflating: food11/training/9_146.jpg \n", + " inflating: food11/training/9_1460.jpg \n", + " inflating: food11/training/9_1461.jpg \n", + " inflating: food11/training/9_1462.jpg \n", + " inflating: food11/training/9_1463.jpg \n", + " inflating: food11/training/9_1464.jpg \n", + " inflating: food11/training/9_1465.jpg \n", + " inflating: food11/training/9_1466.jpg \n", + " inflating: food11/training/9_1467.jpg \n", + " inflating: food11/training/9_1468.jpg \n", + " inflating: food11/training/9_1469.jpg \n", + " inflating: food11/training/9_147.jpg \n", + " inflating: food11/training/9_1470.jpg \n", + " inflating: food11/training/9_1471.jpg \n", + " inflating: food11/training/9_1472.jpg \n", + " inflating: food11/training/9_1473.jpg \n", + " inflating: food11/training/9_1474.jpg \n", + " inflating: food11/training/9_1475.jpg \n", + " inflating: food11/training/9_1476.jpg \n", + " inflating: food11/training/9_1477.jpg \n", + " inflating: food11/training/9_1478.jpg \n", + " inflating: food11/training/9_1479.jpg \n", + " inflating: food11/training/9_148.jpg \n", + " inflating: food11/training/9_1480.jpg \n", + " inflating: food11/training/9_1481.jpg \n", + " inflating: food11/training/9_1482.jpg \n", + " inflating: food11/training/9_1483.jpg \n", + " inflating: food11/training/9_1484.jpg \n", + " inflating: food11/training/9_1485.jpg \n", + " inflating: food11/training/9_1486.jpg \n", + " inflating: food11/training/9_1487.jpg \n", + " inflating: food11/training/9_1488.jpg \n", + " inflating: food11/training/9_1489.jpg \n", + " inflating: food11/training/9_149.jpg \n", + " inflating: food11/training/9_1490.jpg \n", + " inflating: food11/training/9_1491.jpg \n", + " inflating: food11/training/9_1492.jpg \n", + " inflating: food11/training/9_1493.jpg \n", + " inflating: food11/training/9_1494.jpg \n", + " inflating: food11/training/9_1495.jpg \n", + " inflating: food11/training/9_1496.jpg \n", + " inflating: food11/training/9_1497.jpg \n", + " inflating: food11/training/9_1498.jpg \n", + " inflating: food11/training/9_1499.jpg \n", + " inflating: food11/training/9_15.jpg \n", + " inflating: food11/training/9_150.jpg \n", + " inflating: food11/training/9_151.jpg \n", + " inflating: food11/training/9_152.jpg \n", + " inflating: food11/training/9_153.jpg \n", + " inflating: food11/training/9_154.jpg \n", + " inflating: food11/training/9_155.jpg \n", + " inflating: food11/training/9_156.jpg \n", + " inflating: food11/training/9_157.jpg \n", + " inflating: food11/training/9_158.jpg \n", + " inflating: food11/training/9_159.jpg \n", + " inflating: food11/training/9_16.jpg \n", + " inflating: food11/training/9_160.jpg \n", + " inflating: food11/training/9_161.jpg \n", + " inflating: food11/training/9_162.jpg \n", + " inflating: food11/training/9_163.jpg \n", + " inflating: food11/training/9_164.jpg \n", + " inflating: food11/training/9_165.jpg \n", + " inflating: food11/training/9_166.jpg \n", + " inflating: food11/training/9_167.jpg \n", + " inflating: food11/training/9_168.jpg \n", + " inflating: food11/training/9_169.jpg \n", + " inflating: food11/training/9_17.jpg \n", + " inflating: food11/training/9_170.jpg \n", + " inflating: food11/training/9_171.jpg \n", + " inflating: food11/training/9_172.jpg \n", + " inflating: food11/training/9_173.jpg \n", + " inflating: food11/training/9_174.jpg \n", + " inflating: food11/training/9_175.jpg \n", + " inflating: food11/training/9_176.jpg \n", + " inflating: food11/training/9_177.jpg \n", + " inflating: food11/training/9_178.jpg \n", + " inflating: food11/training/9_179.jpg \n", + " inflating: food11/training/9_18.jpg \n", + " inflating: food11/training/9_180.jpg \n", + " inflating: food11/training/9_181.jpg \n", + " inflating: food11/training/9_182.jpg \n", + " inflating: food11/training/9_183.jpg \n", + " inflating: food11/training/9_184.jpg \n", + " inflating: food11/training/9_185.jpg \n", + " inflating: food11/training/9_186.jpg \n", + " inflating: food11/training/9_187.jpg \n", + " inflating: food11/training/9_188.jpg \n", + " inflating: food11/training/9_189.jpg \n", + " inflating: food11/training/9_19.jpg \n", + " inflating: food11/training/9_190.jpg \n", + " inflating: food11/training/9_191.jpg \n", + " inflating: food11/training/9_192.jpg \n", + " inflating: food11/training/9_193.jpg \n", + " inflating: food11/training/9_194.jpg \n", + " inflating: food11/training/9_195.jpg \n", + " inflating: food11/training/9_196.jpg \n", + " inflating: food11/training/9_197.jpg \n", + " inflating: food11/training/9_198.jpg \n", + " inflating: food11/training/9_199.jpg \n", + " inflating: food11/training/9_2.jpg \n", + " inflating: food11/training/9_20.jpg \n", + " inflating: food11/training/9_200.jpg \n", + " inflating: food11/training/9_201.jpg \n", + " inflating: food11/training/9_202.jpg \n", + " inflating: food11/training/9_203.jpg \n", + " inflating: food11/training/9_204.jpg \n", + " inflating: food11/training/9_205.jpg \n", + " inflating: food11/training/9_206.jpg \n", + " inflating: food11/training/9_207.jpg \n", + " inflating: food11/training/9_208.jpg \n", + " inflating: food11/training/9_209.jpg \n", + " inflating: food11/training/9_21.jpg \n", + " inflating: food11/training/9_210.jpg \n", + " inflating: food11/training/9_211.jpg \n", + " inflating: food11/training/9_212.jpg \n", + " inflating: food11/training/9_213.jpg \n", + " inflating: food11/training/9_214.jpg \n", + " inflating: food11/training/9_215.jpg \n", + " inflating: food11/training/9_216.jpg \n", + " inflating: food11/training/9_217.jpg \n", + " inflating: food11/training/9_218.jpg \n", + " inflating: food11/training/9_219.jpg \n", + " inflating: food11/training/9_22.jpg \n", + " inflating: food11/training/9_220.jpg \n", + " inflating: food11/training/9_221.jpg \n", + " inflating: food11/training/9_222.jpg \n", + " inflating: food11/training/9_223.jpg \n", + " inflating: food11/training/9_224.jpg \n", + " inflating: food11/training/9_225.jpg \n", + " inflating: food11/training/9_226.jpg \n", + " inflating: food11/training/9_227.jpg \n", + " inflating: food11/training/9_228.jpg \n", + " inflating: food11/training/9_229.jpg \n", + " inflating: food11/training/9_23.jpg \n", + " inflating: food11/training/9_230.jpg \n", + " inflating: food11/training/9_231.jpg \n", + " inflating: food11/training/9_232.jpg \n", + " inflating: food11/training/9_233.jpg \n", + " inflating: food11/training/9_234.jpg \n", + " inflating: food11/training/9_235.jpg \n", + " inflating: food11/training/9_236.jpg \n", + " inflating: food11/training/9_237.jpg \n", + " inflating: food11/training/9_238.jpg \n", + " inflating: food11/training/9_239.jpg \n", + " inflating: food11/training/9_24.jpg \n", + " inflating: food11/training/9_240.jpg \n", + " inflating: food11/training/9_241.jpg \n", + " inflating: food11/training/9_242.jpg \n", + " inflating: food11/training/9_243.jpg \n", + " inflating: food11/training/9_244.jpg \n", + " inflating: food11/training/9_245.jpg \n", + " inflating: food11/training/9_246.jpg \n", + " inflating: food11/training/9_247.jpg \n", + " inflating: food11/training/9_248.jpg \n", + " inflating: food11/training/9_249.jpg \n", + " inflating: food11/training/9_25.jpg \n", + " inflating: food11/training/9_250.jpg \n", + " inflating: food11/training/9_251.jpg \n", + " inflating: food11/training/9_252.jpg \n", + " inflating: food11/training/9_253.jpg \n", + " inflating: food11/training/9_254.jpg \n", + " inflating: food11/training/9_255.jpg \n", + " inflating: food11/training/9_256.jpg \n", + " inflating: food11/training/9_257.jpg \n", + " inflating: food11/training/9_258.jpg \n", + " inflating: food11/training/9_259.jpg \n", + " inflating: food11/training/9_26.jpg \n", + " inflating: food11/training/9_260.jpg \n", + " inflating: food11/training/9_261.jpg \n", + " inflating: food11/training/9_262.jpg \n", + " inflating: food11/training/9_263.jpg \n", + " inflating: food11/training/9_264.jpg \n", + " inflating: food11/training/9_265.jpg \n", + " inflating: food11/training/9_266.jpg \n", + " inflating: food11/training/9_267.jpg \n", + " inflating: food11/training/9_268.jpg \n", + " inflating: food11/training/9_269.jpg \n", + " inflating: food11/training/9_27.jpg \n", + " inflating: food11/training/9_270.jpg \n", + " inflating: food11/training/9_271.jpg \n", + " inflating: food11/training/9_272.jpg \n", + " inflating: food11/training/9_273.jpg \n", + " inflating: food11/training/9_274.jpg \n", + " inflating: food11/training/9_275.jpg \n", + " inflating: food11/training/9_276.jpg \n", + " inflating: food11/training/9_277.jpg \n", + " inflating: food11/training/9_278.jpg \n", + " inflating: food11/training/9_279.jpg \n", + " inflating: food11/training/9_28.jpg \n", + " inflating: food11/training/9_280.jpg \n", + " inflating: food11/training/9_281.jpg \n", + " inflating: food11/training/9_282.jpg \n", + " inflating: food11/training/9_283.jpg \n", + " inflating: food11/training/9_284.jpg \n", + " inflating: food11/training/9_285.jpg \n", + " inflating: food11/training/9_286.jpg \n", + " inflating: food11/training/9_287.jpg \n", + " inflating: food11/training/9_288.jpg \n", + " inflating: food11/training/9_289.jpg \n", + " inflating: food11/training/9_29.jpg \n", + " inflating: food11/training/9_290.jpg \n", + " inflating: food11/training/9_291.jpg \n", + " inflating: food11/training/9_292.jpg \n", + " inflating: food11/training/9_293.jpg \n", + " inflating: food11/training/9_294.jpg \n", + " inflating: food11/training/9_295.jpg \n", + " inflating: food11/training/9_296.jpg \n", + " inflating: food11/training/9_297.jpg \n", + " inflating: food11/training/9_298.jpg \n", + " inflating: food11/training/9_299.jpg \n", + " inflating: food11/training/9_3.jpg \n", + " inflating: food11/training/9_30.jpg \n", + " inflating: food11/training/9_300.jpg \n", + " inflating: food11/training/9_301.jpg \n", + " inflating: food11/training/9_302.jpg \n", + " inflating: food11/training/9_303.jpg \n", + " inflating: food11/training/9_304.jpg \n", + " inflating: food11/training/9_305.jpg \n", + " inflating: food11/training/9_306.jpg \n", + " inflating: food11/training/9_307.jpg \n", + " inflating: food11/training/9_308.jpg \n", + " inflating: food11/training/9_309.jpg \n", + " inflating: food11/training/9_31.jpg \n", + " inflating: food11/training/9_310.jpg \n", + " inflating: food11/training/9_311.jpg \n", + " inflating: food11/training/9_312.jpg \n", + " inflating: food11/training/9_313.jpg \n", + " inflating: food11/training/9_314.jpg \n", + " inflating: food11/training/9_315.jpg \n", + " inflating: food11/training/9_316.jpg \n", + " inflating: food11/training/9_317.jpg \n", + " inflating: food11/training/9_318.jpg \n", + " inflating: food11/training/9_319.jpg \n", + " inflating: food11/training/9_32.jpg \n", + " inflating: food11/training/9_320.jpg \n", + " inflating: food11/training/9_321.jpg \n", + " inflating: food11/training/9_322.jpg \n", + " inflating: food11/training/9_323.jpg \n", + " inflating: food11/training/9_324.jpg \n", + " inflating: food11/training/9_325.jpg \n", + " inflating: food11/training/9_326.jpg \n", + " inflating: food11/training/9_327.jpg \n", + " inflating: food11/training/9_328.jpg \n", + " inflating: food11/training/9_329.jpg \n", + " inflating: food11/training/9_33.jpg \n", + " inflating: food11/training/9_330.jpg \n", + " inflating: food11/training/9_331.jpg \n", + " inflating: food11/training/9_332.jpg \n", + " inflating: food11/training/9_333.jpg \n", + " inflating: food11/training/9_334.jpg \n", + " inflating: food11/training/9_335.jpg \n", + " inflating: food11/training/9_336.jpg \n", + " inflating: food11/training/9_337.jpg \n", + " inflating: food11/training/9_338.jpg \n", + " inflating: food11/training/9_339.jpg \n", + " inflating: food11/training/9_34.jpg \n", + " inflating: food11/training/9_340.jpg \n", + " inflating: food11/training/9_341.jpg \n", + " inflating: food11/training/9_342.jpg \n", + " inflating: food11/training/9_343.jpg \n", + " inflating: food11/training/9_344.jpg \n", + " inflating: food11/training/9_345.jpg \n", + " inflating: food11/training/9_346.jpg \n", + " inflating: food11/training/9_347.jpg \n", + " inflating: food11/training/9_348.jpg \n", + " inflating: food11/training/9_349.jpg \n", + " inflating: food11/training/9_35.jpg \n", + " inflating: food11/training/9_350.jpg \n", + " inflating: food11/training/9_351.jpg \n", + " inflating: food11/training/9_352.jpg \n", + " inflating: food11/training/9_353.jpg \n", + " inflating: food11/training/9_354.jpg \n", + " inflating: food11/training/9_355.jpg \n", + " inflating: food11/training/9_356.jpg \n", + " inflating: food11/training/9_357.jpg \n", + " inflating: food11/training/9_358.jpg \n", + " inflating: food11/training/9_359.jpg \n", + " inflating: food11/training/9_36.jpg \n", + " inflating: food11/training/9_360.jpg \n", + " inflating: food11/training/9_361.jpg \n", + " inflating: food11/training/9_362.jpg \n", + " inflating: food11/training/9_363.jpg \n", + " inflating: food11/training/9_364.jpg \n", + " inflating: food11/training/9_365.jpg \n", + " inflating: food11/training/9_366.jpg \n", + " inflating: food11/training/9_367.jpg \n", + " inflating: food11/training/9_368.jpg \n", + " inflating: food11/training/9_369.jpg \n", + " inflating: food11/training/9_37.jpg \n", + " inflating: food11/training/9_370.jpg \n", + " inflating: food11/training/9_371.jpg \n", + " inflating: food11/training/9_372.jpg \n", + " inflating: food11/training/9_373.jpg \n", + " inflating: food11/training/9_374.jpg \n", + " inflating: food11/training/9_375.jpg \n", + " inflating: food11/training/9_376.jpg \n", + " inflating: food11/training/9_377.jpg \n", + " inflating: food11/training/9_378.jpg \n", + " inflating: food11/training/9_379.jpg \n", + " inflating: food11/training/9_38.jpg \n", + " inflating: food11/training/9_380.jpg \n", + " inflating: food11/training/9_381.jpg \n", + " inflating: food11/training/9_382.jpg \n", + " inflating: food11/training/9_383.jpg \n", + " inflating: food11/training/9_384.jpg \n", + " inflating: food11/training/9_385.jpg \n", + " inflating: food11/training/9_386.jpg \n", + " inflating: food11/training/9_387.jpg \n", + " inflating: food11/training/9_388.jpg \n", + " inflating: food11/training/9_389.jpg \n", + " inflating: food11/training/9_39.jpg \n", + " inflating: food11/training/9_390.jpg \n", + " inflating: food11/training/9_391.jpg \n", + " inflating: food11/training/9_392.jpg \n", + " inflating: food11/training/9_393.jpg \n", + " inflating: food11/training/9_394.jpg \n", + " inflating: food11/training/9_395.jpg \n", + " inflating: food11/training/9_396.jpg \n", + " inflating: food11/training/9_397.jpg \n", + " inflating: food11/training/9_398.jpg \n", + " inflating: food11/training/9_399.jpg \n", + " inflating: food11/training/9_4.jpg \n", + " inflating: food11/training/9_40.jpg \n", + " inflating: food11/training/9_400.jpg \n", + " inflating: food11/training/9_401.jpg \n", + " inflating: food11/training/9_402.jpg \n", + " inflating: food11/training/9_403.jpg \n", + " inflating: food11/training/9_404.jpg \n", + " inflating: food11/training/9_405.jpg \n", + " inflating: food11/training/9_406.jpg \n", + " inflating: food11/training/9_407.jpg \n", + " inflating: food11/training/9_408.jpg \n", + " inflating: food11/training/9_409.jpg \n", + " inflating: food11/training/9_41.jpg \n", + " inflating: food11/training/9_410.jpg \n", + " inflating: food11/training/9_411.jpg \n", + " inflating: food11/training/9_412.jpg \n", + " inflating: food11/training/9_413.jpg \n", + " inflating: food11/training/9_414.jpg \n", + " inflating: food11/training/9_415.jpg \n", + " inflating: food11/training/9_416.jpg \n", + " inflating: food11/training/9_417.jpg \n", + " inflating: food11/training/9_418.jpg \n", + " inflating: food11/training/9_419.jpg \n", + " inflating: food11/training/9_42.jpg \n", + " inflating: food11/training/9_420.jpg \n", + " inflating: food11/training/9_421.jpg \n", + " inflating: food11/training/9_422.jpg \n", + " inflating: food11/training/9_423.jpg \n", + " inflating: food11/training/9_424.jpg \n", + " inflating: food11/training/9_425.jpg \n", + " inflating: food11/training/9_426.jpg \n", + " inflating: food11/training/9_427.jpg \n", + " inflating: food11/training/9_428.jpg \n", + " inflating: food11/training/9_429.jpg \n", + " inflating: food11/training/9_43.jpg \n", + " inflating: food11/training/9_430.jpg \n", + " inflating: food11/training/9_431.jpg \n", + " inflating: food11/training/9_432.jpg \n", + " inflating: food11/training/9_433.jpg \n", + " inflating: food11/training/9_434.jpg \n", + " inflating: food11/training/9_435.jpg \n", + " inflating: food11/training/9_436.jpg \n", + " inflating: food11/training/9_437.jpg \n", + " inflating: food11/training/9_438.jpg \n", + " inflating: food11/training/9_439.jpg \n", + " inflating: food11/training/9_44.jpg \n", + " inflating: food11/training/9_440.jpg \n", + " inflating: food11/training/9_441.jpg \n", + " inflating: food11/training/9_442.jpg \n", + " inflating: food11/training/9_443.jpg \n", + " inflating: food11/training/9_444.jpg \n", + " inflating: food11/training/9_445.jpg \n", + " inflating: food11/training/9_446.jpg \n", + " inflating: food11/training/9_447.jpg \n", + " inflating: food11/training/9_448.jpg \n", + " inflating: food11/training/9_449.jpg \n", + " inflating: food11/training/9_45.jpg \n", + " inflating: food11/training/9_450.jpg \n", + " inflating: food11/training/9_451.jpg \n", + " inflating: food11/training/9_452.jpg \n", + " inflating: food11/training/9_453.jpg \n", + " inflating: food11/training/9_454.jpg \n", + " inflating: food11/training/9_455.jpg \n", + " inflating: food11/training/9_456.jpg \n", + " inflating: food11/training/9_457.jpg \n", + " inflating: food11/training/9_458.jpg \n", + " inflating: food11/training/9_459.jpg \n", + " inflating: food11/training/9_46.jpg \n", + " inflating: food11/training/9_460.jpg \n", + " inflating: food11/training/9_461.jpg \n", + " inflating: food11/training/9_462.jpg \n", + " inflating: food11/training/9_463.jpg \n", + " inflating: food11/training/9_464.jpg \n", + " inflating: food11/training/9_465.jpg \n", + " inflating: food11/training/9_466.jpg \n", + " inflating: food11/training/9_467.jpg \n", + " inflating: food11/training/9_468.jpg \n", + " inflating: food11/training/9_469.jpg \n", + " inflating: food11/training/9_47.jpg \n", + " inflating: food11/training/9_470.jpg \n", + " inflating: food11/training/9_471.jpg \n", + " inflating: food11/training/9_472.jpg \n", + " inflating: food11/training/9_473.jpg \n", + " inflating: food11/training/9_474.jpg \n", + " inflating: food11/training/9_475.jpg \n", + " inflating: food11/training/9_476.jpg \n", + " inflating: food11/training/9_477.jpg \n", + " inflating: food11/training/9_478.jpg \n", + " inflating: food11/training/9_479.jpg \n", + " inflating: food11/training/9_48.jpg \n", + " inflating: food11/training/9_480.jpg \n", + " inflating: food11/training/9_481.jpg \n", + " inflating: food11/training/9_482.jpg \n", + " inflating: food11/training/9_483.jpg \n", + " inflating: food11/training/9_484.jpg \n", + " inflating: food11/training/9_485.jpg \n", + " inflating: food11/training/9_486.jpg \n", + " inflating: food11/training/9_487.jpg \n", + " inflating: food11/training/9_488.jpg \n", + " inflating: food11/training/9_489.jpg \n", + " inflating: food11/training/9_49.jpg \n", + " inflating: food11/training/9_490.jpg \n", + " inflating: food11/training/9_491.jpg \n", + " inflating: food11/training/9_492.jpg \n", + " inflating: food11/training/9_493.jpg \n", + " inflating: food11/training/9_494.jpg \n", + " inflating: food11/training/9_495.jpg \n", + " inflating: food11/training/9_496.jpg \n", + " inflating: food11/training/9_497.jpg \n", + " inflating: food11/training/9_498.jpg \n", + " inflating: food11/training/9_499.jpg \n", + " inflating: food11/training/9_5.jpg \n", + " inflating: food11/training/9_50.jpg \n", + " inflating: food11/training/9_500.jpg \n", + " inflating: food11/training/9_501.jpg \n", + " inflating: food11/training/9_502.jpg \n", + " inflating: food11/training/9_503.jpg \n", + " inflating: food11/training/9_504.jpg \n", + " inflating: food11/training/9_505.jpg \n", + " inflating: food11/training/9_506.jpg \n", + " inflating: food11/training/9_507.jpg \n", + " inflating: food11/training/9_508.jpg \n", + " inflating: food11/training/9_509.jpg \n", + " inflating: food11/training/9_51.jpg \n", + " inflating: food11/training/9_510.jpg \n", + " inflating: food11/training/9_511.jpg \n", + " inflating: food11/training/9_512.jpg \n", + " inflating: food11/training/9_513.jpg \n", + " inflating: food11/training/9_514.jpg \n", + " inflating: food11/training/9_515.jpg \n", + " inflating: food11/training/9_516.jpg \n", + " inflating: food11/training/9_517.jpg \n", + " inflating: food11/training/9_518.jpg \n", + " inflating: food11/training/9_519.jpg \n", + " inflating: food11/training/9_52.jpg \n", + " inflating: food11/training/9_520.jpg \n", + " inflating: food11/training/9_521.jpg \n", + " inflating: food11/training/9_522.jpg \n", + " inflating: food11/training/9_523.jpg \n", + " inflating: food11/training/9_524.jpg \n", + " inflating: food11/training/9_525.jpg \n", + " inflating: food11/training/9_526.jpg \n", + " inflating: food11/training/9_527.jpg \n", + " inflating: food11/training/9_528.jpg \n", + " inflating: food11/training/9_529.jpg \n", + " inflating: food11/training/9_53.jpg \n", + " inflating: food11/training/9_530.jpg \n", + " inflating: food11/training/9_531.jpg \n", + " inflating: food11/training/9_532.jpg \n", + " inflating: food11/training/9_533.jpg \n", + " inflating: food11/training/9_534.jpg \n", + " inflating: food11/training/9_535.jpg \n", + " inflating: food11/training/9_536.jpg \n", + " inflating: food11/training/9_537.jpg \n", + " inflating: food11/training/9_538.jpg \n", + " inflating: food11/training/9_539.jpg \n", + " inflating: food11/training/9_54.jpg \n", + " inflating: food11/training/9_540.jpg \n", + " inflating: food11/training/9_541.jpg \n", + " inflating: food11/training/9_542.jpg \n", + " inflating: food11/training/9_543.jpg \n", + " inflating: food11/training/9_544.jpg \n", + " inflating: food11/training/9_545.jpg \n", + " inflating: food11/training/9_546.jpg \n", + " inflating: food11/training/9_547.jpg \n", + " inflating: food11/training/9_548.jpg \n", + " inflating: food11/training/9_549.jpg \n", + " inflating: food11/training/9_55.jpg \n", + " inflating: food11/training/9_550.jpg \n", + " inflating: food11/training/9_551.jpg \n", + " inflating: food11/training/9_552.jpg \n", + " inflating: food11/training/9_553.jpg \n", + " inflating: food11/training/9_554.jpg \n", + " inflating: food11/training/9_555.jpg \n", + " inflating: food11/training/9_556.jpg \n", + " inflating: food11/training/9_557.jpg \n", + " inflating: food11/training/9_558.jpg \n", + " inflating: food11/training/9_559.jpg \n", + " inflating: food11/training/9_56.jpg \n", + " inflating: food11/training/9_560.jpg \n", + " inflating: food11/training/9_561.jpg \n", + " inflating: food11/training/9_562.jpg \n", + " inflating: food11/training/9_563.jpg \n", + " inflating: food11/training/9_564.jpg \n", + " inflating: food11/training/9_565.jpg \n", + " inflating: food11/training/9_566.jpg \n", + " inflating: food11/training/9_567.jpg \n", + " inflating: food11/training/9_568.jpg \n", + " inflating: food11/training/9_569.jpg \n", + " inflating: food11/training/9_57.jpg \n", + " inflating: food11/training/9_570.jpg \n", + " inflating: food11/training/9_571.jpg \n", + " inflating: food11/training/9_572.jpg \n", + " inflating: food11/training/9_573.jpg \n", + " inflating: food11/training/9_574.jpg \n", + " inflating: food11/training/9_575.jpg \n", + " inflating: food11/training/9_576.jpg \n", + " inflating: food11/training/9_577.jpg \n", + " inflating: food11/training/9_578.jpg \n", + " inflating: food11/training/9_579.jpg \n", + " inflating: food11/training/9_58.jpg \n", + " inflating: food11/training/9_580.jpg \n", + " inflating: food11/training/9_581.jpg \n", + " inflating: food11/training/9_582.jpg \n", + " inflating: food11/training/9_583.jpg \n", + " inflating: food11/training/9_584.jpg \n", + " inflating: food11/training/9_585.jpg \n", + " inflating: food11/training/9_586.jpg \n", + " inflating: food11/training/9_587.jpg \n", + " inflating: food11/training/9_588.jpg \n", + " inflating: food11/training/9_589.jpg \n", + " inflating: food11/training/9_59.jpg \n", + " inflating: food11/training/9_590.jpg \n", + " inflating: food11/training/9_591.jpg \n", + " inflating: food11/training/9_592.jpg \n", + " inflating: food11/training/9_593.jpg \n", + " inflating: food11/training/9_594.jpg \n", + " inflating: food11/training/9_595.jpg \n", + " inflating: food11/training/9_596.jpg \n", + " inflating: food11/training/9_597.jpg \n", + " inflating: food11/training/9_598.jpg \n", + " inflating: food11/training/9_599.jpg \n", + " inflating: food11/training/9_6.jpg \n", + " inflating: food11/training/9_60.jpg \n", + " inflating: food11/training/9_600.jpg \n", + " inflating: food11/training/9_601.jpg \n", + " inflating: food11/training/9_602.jpg \n", + " inflating: food11/training/9_603.jpg \n", + " inflating: food11/training/9_604.jpg \n", + " inflating: food11/training/9_605.jpg \n", + " inflating: food11/training/9_606.jpg \n", + " inflating: food11/training/9_607.jpg \n", + " inflating: food11/training/9_608.jpg \n", + " inflating: food11/training/9_609.jpg \n", + " inflating: food11/training/9_61.jpg \n", + " inflating: food11/training/9_610.jpg \n", + " inflating: food11/training/9_611.jpg \n", + " inflating: food11/training/9_612.jpg \n", + " inflating: food11/training/9_613.jpg \n", + " inflating: food11/training/9_614.jpg \n", + " inflating: food11/training/9_615.jpg \n", + " inflating: food11/training/9_616.jpg \n", + " inflating: food11/training/9_617.jpg \n", + " inflating: food11/training/9_618.jpg \n", + " inflating: food11/training/9_619.jpg \n", + " inflating: food11/training/9_62.jpg \n", + " inflating: food11/training/9_620.jpg \n", + " inflating: food11/training/9_621.jpg \n", + " inflating: food11/training/9_622.jpg \n", + " inflating: food11/training/9_623.jpg \n", + " inflating: food11/training/9_624.jpg \n", + " inflating: food11/training/9_625.jpg \n", + " inflating: food11/training/9_626.jpg \n", + " inflating: food11/training/9_627.jpg \n", + " inflating: food11/training/9_628.jpg \n", + " inflating: food11/training/9_629.jpg \n", + " inflating: food11/training/9_63.jpg \n", + " inflating: food11/training/9_630.jpg \n", + " inflating: food11/training/9_631.jpg \n", + " inflating: food11/training/9_632.jpg \n", + " inflating: food11/training/9_633.jpg \n", + " inflating: food11/training/9_634.jpg \n", + " inflating: food11/training/9_635.jpg \n", + " inflating: food11/training/9_636.jpg \n", + " inflating: food11/training/9_637.jpg \n", + " inflating: food11/training/9_638.jpg \n", + " inflating: food11/training/9_639.jpg \n", + " inflating: food11/training/9_64.jpg \n", + " inflating: food11/training/9_640.jpg \n", + " inflating: food11/training/9_641.jpg \n", + " inflating: food11/training/9_642.jpg \n", + " inflating: food11/training/9_643.jpg \n", + " inflating: food11/training/9_644.jpg \n", + " inflating: food11/training/9_645.jpg \n", + " inflating: food11/training/9_646.jpg \n", + " inflating: food11/training/9_647.jpg \n", + " inflating: food11/training/9_648.jpg \n", + " inflating: food11/training/9_649.jpg \n", + " inflating: food11/training/9_65.jpg \n", + " inflating: food11/training/9_650.jpg \n", + " inflating: food11/training/9_651.jpg \n", + " inflating: food11/training/9_652.jpg \n", + " inflating: food11/training/9_653.jpg \n", + " inflating: food11/training/9_654.jpg \n", + " inflating: food11/training/9_655.jpg \n", + " inflating: food11/training/9_656.jpg \n", + " inflating: food11/training/9_657.jpg \n", + " inflating: food11/training/9_658.jpg \n", + " inflating: food11/training/9_659.jpg \n", + " inflating: food11/training/9_66.jpg \n", + " inflating: food11/training/9_660.jpg \n", + " inflating: food11/training/9_661.jpg \n", + " inflating: food11/training/9_662.jpg \n", + " inflating: food11/training/9_663.jpg \n", + " inflating: food11/training/9_664.jpg \n", + " inflating: food11/training/9_665.jpg \n", + " inflating: food11/training/9_666.jpg \n", + " inflating: food11/training/9_667.jpg \n", + " inflating: food11/training/9_668.jpg \n", + " inflating: food11/training/9_669.jpg \n", + " inflating: food11/training/9_67.jpg \n", + " inflating: food11/training/9_670.jpg \n", + " inflating: food11/training/9_671.jpg \n", + " inflating: food11/training/9_672.jpg \n", + " inflating: food11/training/9_673.jpg \n", + " inflating: food11/training/9_674.jpg \n", + " inflating: food11/training/9_675.jpg \n", + " inflating: food11/training/9_676.jpg \n", + " inflating: food11/training/9_677.jpg \n", + " inflating: food11/training/9_678.jpg \n", + " inflating: food11/training/9_679.jpg \n", + " inflating: food11/training/9_68.jpg \n", + " inflating: food11/training/9_680.jpg \n", + " inflating: food11/training/9_681.jpg \n", + " inflating: food11/training/9_682.jpg \n", + " inflating: food11/training/9_683.jpg \n", + " inflating: food11/training/9_684.jpg \n", + " inflating: food11/training/9_685.jpg \n", + " inflating: food11/training/9_686.jpg \n", + " inflating: food11/training/9_687.jpg \n", + " inflating: food11/training/9_688.jpg \n", + " inflating: food11/training/9_689.jpg \n", + " inflating: food11/training/9_69.jpg \n", + " inflating: food11/training/9_690.jpg \n", + " inflating: food11/training/9_691.jpg \n", + " inflating: food11/training/9_692.jpg \n", + " inflating: food11/training/9_693.jpg \n", + " inflating: food11/training/9_694.jpg \n", + " inflating: food11/training/9_695.jpg \n", + " inflating: food11/training/9_696.jpg \n", + " inflating: food11/training/9_697.jpg \n", + " inflating: food11/training/9_698.jpg \n", + " inflating: food11/training/9_699.jpg \n", + " inflating: food11/training/9_7.jpg \n", + " inflating: food11/training/9_70.jpg \n", + " inflating: food11/training/9_700.jpg \n", + " inflating: food11/training/9_701.jpg \n", + " inflating: food11/training/9_702.jpg \n", + " inflating: food11/training/9_703.jpg \n", + " inflating: food11/training/9_704.jpg \n", + " inflating: food11/training/9_705.jpg \n", + " inflating: food11/training/9_706.jpg \n", + " inflating: food11/training/9_707.jpg \n", + " inflating: food11/training/9_708.jpg \n", + " inflating: food11/training/9_709.jpg \n", + " inflating: food11/training/9_71.jpg \n", + " inflating: food11/training/9_710.jpg \n", + " inflating: food11/training/9_711.jpg \n", + " inflating: food11/training/9_712.jpg \n", + " inflating: food11/training/9_713.jpg \n", + " inflating: food11/training/9_714.jpg \n", + " inflating: food11/training/9_715.jpg \n", + " inflating: food11/training/9_716.jpg \n", + " inflating: food11/training/9_717.jpg \n", + " inflating: food11/training/9_718.jpg \n", + " inflating: food11/training/9_719.jpg \n", + " inflating: food11/training/9_72.jpg \n", + " inflating: food11/training/9_720.jpg \n", + " inflating: food11/training/9_721.jpg \n", + " inflating: food11/training/9_722.jpg \n", + " inflating: food11/training/9_723.jpg \n", + " inflating: food11/training/9_724.jpg \n", + " inflating: food11/training/9_725.jpg \n", + " inflating: food11/training/9_726.jpg \n", + " inflating: food11/training/9_727.jpg \n", + " inflating: food11/training/9_728.jpg \n", + " inflating: food11/training/9_729.jpg \n", + " inflating: food11/training/9_73.jpg \n", + " inflating: food11/training/9_730.jpg \n", + " inflating: food11/training/9_731.jpg \n", + " inflating: food11/training/9_732.jpg \n", + " inflating: food11/training/9_733.jpg \n", + " inflating: food11/training/9_734.jpg \n", + " inflating: food11/training/9_735.jpg \n", + " inflating: food11/training/9_736.jpg \n", + " inflating: food11/training/9_737.jpg \n", + " inflating: food11/training/9_738.jpg \n", + " inflating: food11/training/9_739.jpg \n", + " inflating: food11/training/9_74.jpg \n", + " inflating: food11/training/9_740.jpg \n", + " inflating: food11/training/9_741.jpg \n", + " inflating: food11/training/9_742.jpg \n", + " inflating: food11/training/9_743.jpg \n", + " inflating: food11/training/9_744.jpg \n", + " inflating: food11/training/9_745.jpg \n", + " inflating: food11/training/9_746.jpg \n", + " inflating: food11/training/9_747.jpg \n", + " inflating: food11/training/9_748.jpg \n", + " inflating: food11/training/9_749.jpg \n", + " inflating: food11/training/9_75.jpg \n", + " inflating: food11/training/9_750.jpg \n", + " inflating: food11/training/9_751.jpg \n", + " inflating: food11/training/9_752.jpg \n", + " inflating: food11/training/9_753.jpg \n", + " inflating: food11/training/9_754.jpg \n", + " inflating: food11/training/9_755.jpg \n", + " inflating: food11/training/9_756.jpg \n", + " inflating: food11/training/9_757.jpg \n", + " inflating: food11/training/9_758.jpg \n", + " inflating: food11/training/9_759.jpg \n", + " inflating: food11/training/9_76.jpg \n", + " inflating: food11/training/9_760.jpg \n", + " inflating: food11/training/9_761.jpg \n", + " inflating: food11/training/9_762.jpg \n", + " inflating: food11/training/9_763.jpg \n", + " inflating: food11/training/9_764.jpg \n", + " inflating: food11/training/9_765.jpg \n", + " inflating: food11/training/9_766.jpg \n", + " inflating: food11/training/9_767.jpg \n", + " inflating: food11/training/9_768.jpg \n", + " inflating: food11/training/9_769.jpg \n", + " inflating: food11/training/9_77.jpg \n", + " inflating: food11/training/9_770.jpg \n", + " inflating: food11/training/9_771.jpg \n", + " inflating: food11/training/9_772.jpg \n", + " inflating: food11/training/9_773.jpg \n", + " inflating: food11/training/9_774.jpg \n", + " inflating: food11/training/9_775.jpg \n", + " inflating: food11/training/9_776.jpg \n", + " inflating: food11/training/9_777.jpg \n", + " inflating: food11/training/9_778.jpg \n", + " inflating: food11/training/9_779.jpg \n", + " inflating: food11/training/9_78.jpg \n", + " inflating: food11/training/9_780.jpg \n", + " inflating: food11/training/9_781.jpg \n", + " inflating: food11/training/9_782.jpg \n", + " inflating: food11/training/9_783.jpg \n", + " inflating: food11/training/9_784.jpg \n", + " inflating: food11/training/9_785.jpg \n", + " inflating: food11/training/9_786.jpg \n", + " inflating: food11/training/9_787.jpg \n", + " inflating: food11/training/9_788.jpg \n", + " inflating: food11/training/9_789.jpg \n", + " inflating: food11/training/9_79.jpg \n", + " inflating: food11/training/9_790.jpg \n", + " inflating: food11/training/9_791.jpg \n", + " inflating: food11/training/9_792.jpg \n", + " inflating: food11/training/9_793.jpg \n", + " inflating: food11/training/9_794.jpg \n", + " inflating: food11/training/9_795.jpg \n", + " inflating: food11/training/9_796.jpg \n", + " inflating: food11/training/9_797.jpg \n", + " inflating: food11/training/9_798.jpg \n", + " inflating: food11/training/9_799.jpg \n", + " inflating: food11/training/9_8.jpg \n", + " inflating: food11/training/9_80.jpg \n", + " inflating: food11/training/9_800.jpg \n", + " inflating: food11/training/9_801.jpg \n", + " inflating: food11/training/9_802.jpg \n", + " inflating: food11/training/9_803.jpg \n", + " inflating: food11/training/9_804.jpg \n", + " inflating: food11/training/9_805.jpg \n", + " inflating: food11/training/9_806.jpg \n", + " inflating: food11/training/9_807.jpg \n", + " inflating: food11/training/9_808.jpg \n", + " inflating: food11/training/9_809.jpg \n", + " inflating: food11/training/9_81.jpg \n", + " inflating: food11/training/9_810.jpg \n", + " inflating: food11/training/9_811.jpg \n", + " inflating: food11/training/9_812.jpg \n", + " inflating: food11/training/9_813.jpg \n", + " inflating: food11/training/9_814.jpg \n", + " inflating: food11/training/9_815.jpg \n", + " inflating: food11/training/9_816.jpg \n", + " inflating: food11/training/9_817.jpg \n", + " inflating: food11/training/9_818.jpg \n", + " inflating: food11/training/9_819.jpg \n", + " inflating: food11/training/9_82.jpg \n", + " inflating: food11/training/9_820.jpg \n", + " inflating: food11/training/9_821.jpg \n", + " inflating: food11/training/9_822.jpg \n", + " inflating: food11/training/9_823.jpg \n", + " inflating: food11/training/9_824.jpg \n", + " inflating: food11/training/9_825.jpg \n", + " inflating: food11/training/9_826.jpg \n", + " inflating: food11/training/9_827.jpg \n", + " inflating: food11/training/9_828.jpg \n", + " inflating: food11/training/9_829.jpg \n", + " inflating: food11/training/9_83.jpg \n", + " inflating: food11/training/9_830.jpg \n", + " inflating: food11/training/9_831.jpg \n", + " inflating: food11/training/9_832.jpg \n", + " inflating: food11/training/9_833.jpg \n", + " inflating: food11/training/9_834.jpg \n", + " inflating: food11/training/9_835.jpg \n", + " inflating: food11/training/9_836.jpg \n", + " inflating: food11/training/9_837.jpg \n", + " inflating: food11/training/9_838.jpg \n", + " inflating: food11/training/9_839.jpg \n", + " inflating: food11/training/9_84.jpg \n", + " inflating: food11/training/9_840.jpg \n", + " inflating: food11/training/9_841.jpg \n", + " inflating: food11/training/9_842.jpg \n", + " inflating: food11/training/9_843.jpg \n", + " inflating: food11/training/9_844.jpg \n", + " inflating: food11/training/9_845.jpg \n", + " inflating: food11/training/9_846.jpg \n", + " inflating: food11/training/9_847.jpg \n", + " inflating: food11/training/9_848.jpg \n", + " inflating: food11/training/9_849.jpg \n", + " inflating: food11/training/9_85.jpg \n", + " inflating: food11/training/9_850.jpg \n", + " inflating: food11/training/9_851.jpg \n", + " inflating: food11/training/9_852.jpg \n", + " inflating: food11/training/9_853.jpg \n", + " inflating: food11/training/9_854.jpg \n", + " inflating: food11/training/9_855.jpg \n", + " inflating: food11/training/9_856.jpg \n", + " inflating: food11/training/9_857.jpg \n", + " inflating: food11/training/9_858.jpg \n", + " inflating: food11/training/9_859.jpg \n", + " inflating: food11/training/9_86.jpg \n", + " inflating: food11/training/9_860.jpg \n", + " inflating: food11/training/9_861.jpg \n", + " inflating: food11/training/9_862.jpg \n", + " inflating: food11/training/9_863.jpg \n", + " inflating: food11/training/9_864.jpg \n", + " inflating: food11/training/9_865.jpg \n", + " inflating: food11/training/9_866.jpg \n", + " inflating: food11/training/9_867.jpg \n", + " inflating: food11/training/9_868.jpg \n", + " inflating: food11/training/9_869.jpg \n", + " inflating: food11/training/9_87.jpg \n", + " inflating: food11/training/9_870.jpg \n", + " inflating: food11/training/9_871.jpg \n", + " inflating: food11/training/9_872.jpg \n", + " inflating: food11/training/9_873.jpg \n", + " inflating: food11/training/9_874.jpg \n", + " inflating: food11/training/9_875.jpg \n", + " inflating: food11/training/9_876.jpg \n", + " inflating: food11/training/9_877.jpg \n", + " inflating: food11/training/9_878.jpg \n", + " inflating: food11/training/9_879.jpg \n", + " inflating: food11/training/9_88.jpg \n", + " inflating: food11/training/9_880.jpg \n", + " inflating: food11/training/9_881.jpg \n", + " inflating: food11/training/9_882.jpg \n", + " inflating: food11/training/9_883.jpg \n", + " inflating: food11/training/9_884.jpg \n", + " inflating: food11/training/9_885.jpg \n", + " inflating: food11/training/9_886.jpg \n", + " inflating: food11/training/9_887.jpg \n", + " inflating: food11/training/9_888.jpg \n", + " inflating: food11/training/9_889.jpg \n", + " inflating: food11/training/9_89.jpg \n", + " inflating: food11/training/9_890.jpg \n", + " inflating: food11/training/9_891.jpg \n", + " inflating: food11/training/9_892.jpg \n", + " inflating: food11/training/9_893.jpg \n", + " inflating: food11/training/9_894.jpg \n", + " inflating: food11/training/9_895.jpg \n", + " inflating: food11/training/9_896.jpg \n", + " inflating: food11/training/9_897.jpg \n", + " inflating: food11/training/9_898.jpg \n", + " inflating: food11/training/9_899.jpg \n", + " inflating: food11/training/9_9.jpg \n", + " inflating: food11/training/9_90.jpg \n", + " inflating: food11/training/9_900.jpg \n", + " inflating: food11/training/9_901.jpg \n", + " inflating: food11/training/9_902.jpg \n", + " inflating: food11/training/9_903.jpg \n", + " inflating: food11/training/9_904.jpg \n", + " inflating: food11/training/9_905.jpg \n", + " inflating: food11/training/9_906.jpg \n", + " inflating: food11/training/9_907.jpg \n", + " inflating: food11/training/9_908.jpg \n", + " inflating: food11/training/9_909.jpg \n", + " inflating: food11/training/9_91.jpg \n", + " inflating: food11/training/9_910.jpg \n", + " inflating: food11/training/9_911.jpg \n", + " inflating: food11/training/9_912.jpg \n", + " inflating: food11/training/9_913.jpg \n", + " inflating: food11/training/9_914.jpg \n", + " inflating: food11/training/9_915.jpg \n", + " inflating: food11/training/9_916.jpg \n", + " inflating: food11/training/9_917.jpg \n", + " inflating: food11/training/9_918.jpg \n", + " inflating: food11/training/9_919.jpg \n", + " inflating: food11/training/9_92.jpg \n", + " inflating: food11/training/9_920.jpg \n", + " inflating: food11/training/9_921.jpg \n", + " inflating: food11/training/9_922.jpg \n", + " inflating: food11/training/9_923.jpg \n", + " inflating: food11/training/9_924.jpg \n", + " inflating: food11/training/9_925.jpg \n", + " inflating: food11/training/9_926.jpg \n", + " inflating: food11/training/9_927.jpg \n", + " inflating: food11/training/9_928.jpg \n", + " inflating: food11/training/9_929.jpg \n", + " inflating: food11/training/9_93.jpg \n", + " inflating: food11/training/9_930.jpg \n", + " inflating: food11/training/9_931.jpg \n", + " inflating: food11/training/9_932.jpg \n", + " inflating: food11/training/9_933.jpg \n", + " inflating: food11/training/9_934.jpg \n", + " inflating: food11/training/9_935.jpg \n", + " inflating: food11/training/9_936.jpg \n", + " inflating: food11/training/9_937.jpg \n", + " inflating: food11/training/9_938.jpg \n", + " inflating: food11/training/9_939.jpg \n", + " inflating: food11/training/9_94.jpg \n", + " inflating: food11/training/9_940.jpg \n", + " inflating: food11/training/9_941.jpg \n", + " inflating: food11/training/9_942.jpg \n", + " inflating: food11/training/9_943.jpg \n", + " inflating: food11/training/9_944.jpg \n", + " inflating: food11/training/9_945.jpg \n", + " inflating: food11/training/9_946.jpg \n", + " inflating: food11/training/9_947.jpg \n", + " inflating: food11/training/9_948.jpg \n", + " inflating: food11/training/9_949.jpg \n", + " inflating: food11/training/9_95.jpg \n", + " inflating: food11/training/9_950.jpg \n", + " inflating: food11/training/9_951.jpg \n", + " inflating: food11/training/9_952.jpg \n", + " inflating: food11/training/9_953.jpg \n", + " inflating: food11/training/9_954.jpg \n", + " inflating: food11/training/9_955.jpg \n", + " inflating: food11/training/9_956.jpg \n", + " inflating: food11/training/9_957.jpg \n", + " inflating: food11/training/9_958.jpg \n", + " inflating: food11/training/9_959.jpg \n", + " inflating: food11/training/9_96.jpg \n", + " inflating: food11/training/9_960.jpg \n", + " inflating: food11/training/9_961.jpg \n", + " inflating: food11/training/9_962.jpg \n", + " inflating: food11/training/9_963.jpg \n", + " inflating: food11/training/9_964.jpg \n", + " inflating: food11/training/9_965.jpg \n", + " inflating: food11/training/9_966.jpg \n", + " inflating: food11/training/9_967.jpg \n", + " inflating: food11/training/9_968.jpg \n", + " inflating: food11/training/9_969.jpg \n", + " inflating: food11/training/9_97.jpg \n", + " inflating: food11/training/9_970.jpg \n", + " inflating: food11/training/9_971.jpg \n", + " inflating: food11/training/9_972.jpg \n", + " inflating: food11/training/9_973.jpg \n", + " inflating: food11/training/9_974.jpg \n", + " inflating: food11/training/9_975.jpg \n", + " inflating: food11/training/9_976.jpg \n", + " inflating: food11/training/9_977.jpg \n", + " inflating: food11/training/9_978.jpg \n", + " inflating: food11/training/9_979.jpg \n", + " inflating: food11/training/9_98.jpg \n", + " inflating: food11/training/9_980.jpg \n", + " inflating: food11/training/9_981.jpg \n", + " inflating: food11/training/9_982.jpg \n", + " inflating: food11/training/9_983.jpg \n", + " inflating: food11/training/9_984.jpg \n", + " inflating: food11/training/9_985.jpg \n", + " inflating: food11/training/9_986.jpg \n", + " inflating: food11/training/9_987.jpg \n", + " inflating: food11/training/9_988.jpg \n", + " inflating: food11/training/9_989.jpg \n", + " inflating: food11/training/9_99.jpg \n", + " inflating: food11/training/9_990.jpg \n", + " inflating: food11/training/9_991.jpg \n", + " inflating: food11/training/9_992.jpg \n", + " inflating: food11/training/9_993.jpg \n", + " inflating: food11/training/9_994.jpg \n", + " inflating: food11/training/9_995.jpg \n", + " inflating: food11/training/9_996.jpg \n", + " inflating: food11/training/9_997.jpg \n", + " inflating: food11/training/9_998.jpg \n", + " inflating: food11/training/9_999.jpg \n", + " creating: food11/validation/\n", + " inflating: food11/validation/0_0.jpg \n", + " inflating: food11/validation/0_1.jpg \n", + " inflating: food11/validation/0_10.jpg \n", + " inflating: food11/validation/0_100.jpg \n", + " inflating: food11/validation/0_101.jpg \n", + " inflating: food11/validation/0_102.jpg \n", + " inflating: food11/validation/0_103.jpg \n", + " inflating: food11/validation/0_104.jpg \n", + " inflating: food11/validation/0_105.jpg \n", + " inflating: food11/validation/0_106.jpg \n", + " inflating: food11/validation/0_107.jpg \n", + " inflating: food11/validation/0_108.jpg \n", + " inflating: food11/validation/0_109.jpg \n", + " inflating: food11/validation/0_11.jpg \n", + " inflating: food11/validation/0_110.jpg \n", + " inflating: food11/validation/0_111.jpg \n", + " inflating: food11/validation/0_112.jpg \n", + " inflating: food11/validation/0_113.jpg \n", + " inflating: food11/validation/0_114.jpg \n", + " inflating: food11/validation/0_115.jpg \n", + " inflating: food11/validation/0_116.jpg \n", + " inflating: food11/validation/0_117.jpg \n", + " inflating: food11/validation/0_118.jpg \n", + " inflating: food11/validation/0_119.jpg \n", + " inflating: food11/validation/0_12.jpg \n", + " inflating: food11/validation/0_120.jpg \n", + " inflating: food11/validation/0_121.jpg \n", + " inflating: food11/validation/0_122.jpg \n", + " inflating: food11/validation/0_123.jpg \n", + " inflating: food11/validation/0_124.jpg \n", + " inflating: food11/validation/0_125.jpg \n", + " inflating: food11/validation/0_126.jpg \n", + " inflating: food11/validation/0_127.jpg \n", + " inflating: food11/validation/0_128.jpg \n", + " inflating: food11/validation/0_129.jpg \n", + " inflating: food11/validation/0_13.jpg \n", + " inflating: food11/validation/0_130.jpg \n", + " inflating: food11/validation/0_131.jpg \n", + " inflating: food11/validation/0_132.jpg \n", + " inflating: food11/validation/0_133.jpg \n", + " inflating: food11/validation/0_134.jpg \n", + " inflating: food11/validation/0_135.jpg \n", + " inflating: food11/validation/0_136.jpg \n", + " inflating: food11/validation/0_137.jpg \n", + " inflating: food11/validation/0_138.jpg \n", + " inflating: food11/validation/0_139.jpg \n", + " inflating: food11/validation/0_14.jpg \n", + " inflating: food11/validation/0_140.jpg \n", + " inflating: food11/validation/0_141.jpg \n", + " inflating: food11/validation/0_142.jpg \n", + " inflating: food11/validation/0_143.jpg \n", + " inflating: food11/validation/0_144.jpg \n", + " inflating: food11/validation/0_145.jpg \n", + " inflating: food11/validation/0_146.jpg \n", + " inflating: food11/validation/0_147.jpg \n", + " inflating: food11/validation/0_148.jpg \n", + " inflating: food11/validation/0_149.jpg \n", + " inflating: food11/validation/0_15.jpg \n", + " inflating: food11/validation/0_150.jpg \n", + " inflating: food11/validation/0_151.jpg \n", + " inflating: food11/validation/0_152.jpg \n", + " inflating: food11/validation/0_153.jpg \n", + " inflating: food11/validation/0_154.jpg \n", + " inflating: food11/validation/0_155.jpg \n", + " inflating: food11/validation/0_156.jpg \n", + " inflating: food11/validation/0_157.jpg \n", + " inflating: food11/validation/0_158.jpg \n", + " inflating: food11/validation/0_159.jpg \n", + " inflating: food11/validation/0_16.jpg \n", + " inflating: food11/validation/0_160.jpg \n", + " inflating: food11/validation/0_161.jpg \n", + " inflating: food11/validation/0_162.jpg \n", + " inflating: food11/validation/0_163.jpg \n", + " inflating: food11/validation/0_164.jpg \n", + " inflating: food11/validation/0_165.jpg \n", + " inflating: food11/validation/0_166.jpg \n", + " inflating: food11/validation/0_167.jpg \n", + " inflating: food11/validation/0_168.jpg \n", + " inflating: food11/validation/0_169.jpg \n", + " inflating: food11/validation/0_17.jpg \n", + " inflating: food11/validation/0_170.jpg \n", + " inflating: food11/validation/0_171.jpg \n", + " inflating: food11/validation/0_172.jpg \n", + " inflating: food11/validation/0_173.jpg \n", + " inflating: food11/validation/0_174.jpg \n", + " inflating: food11/validation/0_175.jpg \n", + " inflating: food11/validation/0_176.jpg \n", + " inflating: food11/validation/0_177.jpg \n", + " inflating: food11/validation/0_178.jpg \n", + " inflating: food11/validation/0_179.jpg \n", + " inflating: food11/validation/0_18.jpg \n", + " inflating: food11/validation/0_180.jpg \n", + " inflating: food11/validation/0_181.jpg \n", + " inflating: food11/validation/0_182.jpg \n", + " inflating: food11/validation/0_183.jpg \n", + " inflating: food11/validation/0_184.jpg \n", + " inflating: food11/validation/0_185.jpg \n", + " inflating: food11/validation/0_186.jpg \n", + " inflating: food11/validation/0_187.jpg \n", + " inflating: food11/validation/0_188.jpg \n", + " inflating: food11/validation/0_189.jpg \n", + " inflating: food11/validation/0_19.jpg \n", + " inflating: food11/validation/0_190.jpg \n", + " inflating: food11/validation/0_191.jpg \n", + " inflating: food11/validation/0_192.jpg \n", + " inflating: food11/validation/0_193.jpg \n", + " inflating: food11/validation/0_194.jpg \n", + " inflating: food11/validation/0_195.jpg \n", + " inflating: food11/validation/0_196.jpg \n", + " inflating: food11/validation/0_197.jpg \n", + " inflating: food11/validation/0_198.jpg \n", + " inflating: food11/validation/0_199.jpg \n", + " inflating: food11/validation/0_2.jpg \n", + " inflating: food11/validation/0_20.jpg \n", + " inflating: food11/validation/0_200.jpg \n", + " inflating: food11/validation/0_201.jpg \n", + " inflating: food11/validation/0_202.jpg \n", + " inflating: food11/validation/0_203.jpg \n", + " inflating: food11/validation/0_204.jpg \n", + " extracting: food11/validation/0_205.jpg \n", + " inflating: food11/validation/0_206.jpg \n", + " inflating: food11/validation/0_207.jpg \n", + " inflating: food11/validation/0_208.jpg \n", + " inflating: food11/validation/0_209.jpg \n", + " inflating: food11/validation/0_21.jpg \n", + " inflating: food11/validation/0_210.jpg \n", + " inflating: food11/validation/0_211.jpg \n", + " inflating: food11/validation/0_212.jpg \n", + " inflating: food11/validation/0_213.jpg \n", + " inflating: food11/validation/0_214.jpg \n", + " inflating: food11/validation/0_215.jpg \n", + " inflating: food11/validation/0_216.jpg \n", + " inflating: food11/validation/0_217.jpg \n", + " inflating: food11/validation/0_218.jpg \n", + " inflating: food11/validation/0_219.jpg \n", + " inflating: food11/validation/0_22.jpg \n", + " inflating: food11/validation/0_220.jpg \n", + " inflating: food11/validation/0_221.jpg \n", + " inflating: food11/validation/0_222.jpg \n", + " inflating: food11/validation/0_223.jpg \n", + " inflating: food11/validation/0_224.jpg \n", + " inflating: food11/validation/0_225.jpg \n", + " inflating: food11/validation/0_226.jpg \n", + " inflating: food11/validation/0_227.jpg \n", + " inflating: food11/validation/0_228.jpg \n", + " inflating: food11/validation/0_229.jpg \n", + " inflating: food11/validation/0_23.jpg \n", + " inflating: food11/validation/0_230.jpg \n", + " inflating: food11/validation/0_231.jpg \n", + " inflating: food11/validation/0_232.jpg \n", + " inflating: food11/validation/0_233.jpg \n", + " inflating: food11/validation/0_234.jpg \n", + " inflating: food11/validation/0_235.jpg \n", + " inflating: food11/validation/0_236.jpg \n", + " inflating: food11/validation/0_237.jpg \n", + " inflating: food11/validation/0_238.jpg \n", + " inflating: food11/validation/0_239.jpg \n", + " inflating: food11/validation/0_24.jpg \n", + " inflating: food11/validation/0_240.jpg \n", + " inflating: food11/validation/0_241.jpg \n", + " inflating: food11/validation/0_242.jpg \n", + " inflating: food11/validation/0_243.jpg \n", + " inflating: food11/validation/0_244.jpg \n", + " inflating: food11/validation/0_245.jpg \n", + " inflating: food11/validation/0_246.jpg \n", + " inflating: food11/validation/0_247.jpg \n", + " inflating: food11/validation/0_248.jpg \n", + " inflating: food11/validation/0_249.jpg \n", + " inflating: food11/validation/0_25.jpg \n", + " inflating: food11/validation/0_250.jpg \n", + " inflating: food11/validation/0_251.jpg \n", + " inflating: food11/validation/0_252.jpg \n", + " inflating: food11/validation/0_253.jpg \n", + " inflating: food11/validation/0_254.jpg \n", + " inflating: food11/validation/0_255.jpg \n", + " inflating: food11/validation/0_256.jpg \n", + " inflating: food11/validation/0_257.jpg \n", + " inflating: food11/validation/0_258.jpg \n", + " inflating: food11/validation/0_259.jpg \n", + " inflating: food11/validation/0_26.jpg \n", + " inflating: food11/validation/0_260.jpg \n", + " inflating: food11/validation/0_261.jpg \n", + " inflating: food11/validation/0_262.jpg \n", + " inflating: food11/validation/0_263.jpg \n", + " inflating: food11/validation/0_264.jpg \n", + " inflating: food11/validation/0_265.jpg \n", + " inflating: food11/validation/0_266.jpg \n", + " inflating: food11/validation/0_267.jpg \n", + " inflating: food11/validation/0_268.jpg \n", + " inflating: food11/validation/0_269.jpg \n", + " inflating: food11/validation/0_27.jpg \n", + " inflating: food11/validation/0_270.jpg \n", + " inflating: food11/validation/0_271.jpg \n", + " inflating: food11/validation/0_272.jpg \n", + " inflating: food11/validation/0_273.jpg \n", + " inflating: food11/validation/0_274.jpg \n", + " inflating: food11/validation/0_275.jpg \n", + " inflating: food11/validation/0_276.jpg \n", + " inflating: food11/validation/0_277.jpg \n", + " inflating: food11/validation/0_278.jpg \n", + " inflating: food11/validation/0_279.jpg \n", + " inflating: food11/validation/0_28.jpg \n", + " inflating: food11/validation/0_280.jpg \n", + " inflating: food11/validation/0_281.jpg \n", + " inflating: food11/validation/0_282.jpg \n", + " inflating: food11/validation/0_283.jpg \n", + " inflating: food11/validation/0_284.jpg \n", + " inflating: food11/validation/0_285.jpg \n", + " inflating: food11/validation/0_286.jpg \n", + " inflating: food11/validation/0_287.jpg \n", + " inflating: food11/validation/0_288.jpg \n", + " inflating: food11/validation/0_289.jpg \n", + " inflating: food11/validation/0_29.jpg \n", + " inflating: food11/validation/0_290.jpg \n", + " inflating: food11/validation/0_291.jpg \n", + " inflating: food11/validation/0_292.jpg \n", + " inflating: food11/validation/0_293.jpg \n", + " inflating: food11/validation/0_294.jpg \n", + " inflating: food11/validation/0_295.jpg \n", + " inflating: food11/validation/0_296.jpg \n", + " inflating: food11/validation/0_297.jpg \n", + " inflating: food11/validation/0_298.jpg \n", + " inflating: food11/validation/0_299.jpg \n", + " inflating: food11/validation/0_3.jpg \n", + " inflating: food11/validation/0_30.jpg \n", + " inflating: food11/validation/0_300.jpg \n", + " inflating: food11/validation/0_301.jpg \n", + " inflating: food11/validation/0_302.jpg \n", + " inflating: food11/validation/0_303.jpg \n", + " inflating: food11/validation/0_304.jpg \n", + " inflating: food11/validation/0_305.jpg \n", + " inflating: food11/validation/0_306.jpg \n", + " inflating: food11/validation/0_307.jpg \n", + " inflating: food11/validation/0_308.jpg \n", + " inflating: food11/validation/0_309.jpg \n", + " inflating: food11/validation/0_31.jpg \n", + " inflating: food11/validation/0_310.jpg \n", + " inflating: food11/validation/0_311.jpg \n", + " inflating: food11/validation/0_312.jpg \n", + " inflating: food11/validation/0_313.jpg \n", + " inflating: food11/validation/0_314.jpg \n", + " inflating: food11/validation/0_315.jpg \n", + " inflating: food11/validation/0_316.jpg \n", + " inflating: food11/validation/0_317.jpg \n", + " inflating: food11/validation/0_318.jpg \n", + " inflating: food11/validation/0_319.jpg \n", + " inflating: food11/validation/0_32.jpg \n", + " inflating: food11/validation/0_320.jpg \n", + " inflating: food11/validation/0_321.jpg \n", + " inflating: food11/validation/0_322.jpg \n", + " inflating: food11/validation/0_323.jpg \n", + " inflating: food11/validation/0_324.jpg \n", + " inflating: food11/validation/0_325.jpg \n", + " inflating: food11/validation/0_326.jpg \n", + " inflating: food11/validation/0_327.jpg \n", + " inflating: food11/validation/0_328.jpg \n", + " inflating: food11/validation/0_329.jpg \n", + " inflating: food11/validation/0_33.jpg \n", + " inflating: food11/validation/0_330.jpg \n", + " inflating: food11/validation/0_331.jpg \n", + " inflating: food11/validation/0_332.jpg \n", + " inflating: food11/validation/0_333.jpg \n", + " inflating: food11/validation/0_334.jpg \n", + " inflating: food11/validation/0_335.jpg \n", + " inflating: food11/validation/0_336.jpg \n", + " inflating: food11/validation/0_337.jpg \n", + " inflating: food11/validation/0_338.jpg \n", + " inflating: food11/validation/0_339.jpg \n", + " inflating: food11/validation/0_34.jpg \n", + " inflating: food11/validation/0_340.jpg \n", + " inflating: food11/validation/0_341.jpg \n", + " inflating: food11/validation/0_342.jpg \n", + " inflating: food11/validation/0_343.jpg \n", + " inflating: food11/validation/0_344.jpg \n", + " inflating: food11/validation/0_345.jpg \n", + " inflating: food11/validation/0_346.jpg \n", + " inflating: food11/validation/0_347.jpg \n", + " inflating: food11/validation/0_348.jpg \n", + " inflating: food11/validation/0_349.jpg \n", + " inflating: food11/validation/0_35.jpg \n", + " inflating: food11/validation/0_350.jpg \n", + " inflating: food11/validation/0_351.jpg \n", + " inflating: food11/validation/0_352.jpg \n", + " inflating: food11/validation/0_353.jpg \n", + " inflating: food11/validation/0_354.jpg \n", + " inflating: food11/validation/0_355.jpg \n", + " inflating: food11/validation/0_356.jpg \n", + " inflating: food11/validation/0_357.jpg \n", + " inflating: food11/validation/0_358.jpg \n", + " inflating: food11/validation/0_359.jpg \n", + " inflating: food11/validation/0_36.jpg \n", + " inflating: food11/validation/0_360.jpg \n", + " inflating: food11/validation/0_361.jpg \n", + " inflating: food11/validation/0_37.jpg \n", + " inflating: food11/validation/0_38.jpg \n", + " inflating: food11/validation/0_39.jpg \n", + " inflating: food11/validation/0_4.jpg \n", + " inflating: food11/validation/0_40.jpg \n", + " inflating: food11/validation/0_41.jpg \n", + " inflating: food11/validation/0_42.jpg \n", + " inflating: food11/validation/0_43.jpg \n", + " inflating: food11/validation/0_44.jpg \n", + " inflating: food11/validation/0_45.jpg \n", + " inflating: food11/validation/0_46.jpg \n", + " inflating: food11/validation/0_47.jpg \n", + " inflating: food11/validation/0_48.jpg \n", + " inflating: food11/validation/0_49.jpg \n", + " inflating: food11/validation/0_5.jpg \n", + " inflating: food11/validation/0_50.jpg \n", + " inflating: food11/validation/0_51.jpg \n", + " inflating: food11/validation/0_52.jpg \n", + " inflating: food11/validation/0_53.jpg \n", + " inflating: food11/validation/0_54.jpg \n", + " inflating: food11/validation/0_55.jpg \n", + " inflating: food11/validation/0_56.jpg \n", + " inflating: food11/validation/0_57.jpg \n", + " inflating: food11/validation/0_58.jpg \n", + " inflating: food11/validation/0_59.jpg \n", + " inflating: food11/validation/0_6.jpg \n", + " inflating: food11/validation/0_60.jpg \n", + " inflating: food11/validation/0_61.jpg \n", + " inflating: food11/validation/0_62.jpg \n", + " inflating: food11/validation/0_63.jpg \n", + " inflating: food11/validation/0_64.jpg \n", + " inflating: food11/validation/0_65.jpg \n", + " inflating: food11/validation/0_66.jpg \n", + " inflating: food11/validation/0_67.jpg \n", + " inflating: food11/validation/0_68.jpg \n", + " inflating: food11/validation/0_69.jpg \n", + " inflating: food11/validation/0_7.jpg \n", + " inflating: food11/validation/0_70.jpg \n", + " inflating: food11/validation/0_71.jpg \n", + " inflating: food11/validation/0_72.jpg \n", + " inflating: food11/validation/0_73.jpg \n", + " inflating: food11/validation/0_74.jpg \n", + " inflating: food11/validation/0_75.jpg \n", + " inflating: food11/validation/0_76.jpg \n", + " inflating: food11/validation/0_77.jpg \n", + " inflating: food11/validation/0_78.jpg \n", + " inflating: food11/validation/0_79.jpg \n", + " inflating: food11/validation/0_8.jpg \n", + " inflating: food11/validation/0_80.jpg \n", + " inflating: food11/validation/0_81.jpg \n", + " inflating: food11/validation/0_82.jpg \n", + " inflating: food11/validation/0_83.jpg \n", + " inflating: food11/validation/0_84.jpg \n", + " inflating: food11/validation/0_85.jpg \n", + " inflating: food11/validation/0_86.jpg \n", + " inflating: food11/validation/0_87.jpg \n", + " inflating: food11/validation/0_88.jpg \n", + " inflating: food11/validation/0_89.jpg \n", + " inflating: food11/validation/0_9.jpg \n", + " inflating: food11/validation/0_90.jpg \n", + " inflating: food11/validation/0_91.jpg \n", + " inflating: food11/validation/0_92.jpg \n", + " inflating: food11/validation/0_93.jpg \n", + " inflating: food11/validation/0_94.jpg \n", + " inflating: food11/validation/0_95.jpg \n", + " inflating: food11/validation/0_96.jpg \n", + " inflating: food11/validation/0_97.jpg \n", + " inflating: food11/validation/0_98.jpg \n", + " inflating: food11/validation/0_99.jpg \n", + " inflating: food11/validation/10_0.jpg \n", + " inflating: food11/validation/10_1.jpg \n", + " inflating: food11/validation/10_10.jpg \n", + " inflating: food11/validation/10_100.jpg \n", + " inflating: food11/validation/10_101.jpg \n", + " inflating: food11/validation/10_102.jpg \n", + " inflating: food11/validation/10_103.jpg \n", + " inflating: food11/validation/10_104.jpg \n", + " inflating: food11/validation/10_105.jpg \n", + " extracting: food11/validation/10_106.jpg \n", + " inflating: food11/validation/10_107.jpg \n", + " inflating: food11/validation/10_108.jpg \n", + " inflating: food11/validation/10_109.jpg \n", + " inflating: food11/validation/10_11.jpg \n", + " inflating: food11/validation/10_110.jpg \n", + " inflating: food11/validation/10_111.jpg \n", + " inflating: food11/validation/10_112.jpg \n", + " inflating: food11/validation/10_113.jpg \n", + " inflating: food11/validation/10_114.jpg \n", + " inflating: food11/validation/10_115.jpg \n", + " inflating: food11/validation/10_116.jpg \n", + " extracting: food11/validation/10_117.jpg \n", + " inflating: food11/validation/10_118.jpg \n", + " inflating: food11/validation/10_119.jpg \n", + " inflating: food11/validation/10_12.jpg \n", + " inflating: food11/validation/10_120.jpg \n", + " inflating: food11/validation/10_121.jpg \n", + " inflating: food11/validation/10_122.jpg \n", + " inflating: food11/validation/10_123.jpg \n", + " extracting: food11/validation/10_124.jpg \n", + " inflating: food11/validation/10_125.jpg \n", + " inflating: food11/validation/10_126.jpg \n", + " inflating: food11/validation/10_127.jpg \n", + " inflating: food11/validation/10_128.jpg \n", + " inflating: food11/validation/10_129.jpg \n", + " inflating: food11/validation/10_13.jpg \n", + " inflating: food11/validation/10_130.jpg \n", + " inflating: food11/validation/10_131.jpg \n", + " inflating: food11/validation/10_132.jpg \n", + " extracting: food11/validation/10_133.jpg \n", + " inflating: food11/validation/10_134.jpg \n", + " extracting: food11/validation/10_135.jpg \n", + " inflating: food11/validation/10_136.jpg \n", + " inflating: food11/validation/10_137.jpg \n", + " inflating: food11/validation/10_138.jpg \n", + " inflating: food11/validation/10_139.jpg \n", + " inflating: food11/validation/10_14.jpg \n", + " inflating: food11/validation/10_140.jpg \n", + " inflating: food11/validation/10_141.jpg \n", + " inflating: food11/validation/10_142.jpg \n", + " inflating: food11/validation/10_143.jpg \n", + " extracting: food11/validation/10_144.jpg \n", + " inflating: food11/validation/10_145.jpg \n", + " inflating: food11/validation/10_146.jpg \n", + " inflating: food11/validation/10_147.jpg \n", + " inflating: food11/validation/10_148.jpg \n", + " inflating: food11/validation/10_149.jpg \n", + " inflating: food11/validation/10_15.jpg \n", + " inflating: food11/validation/10_150.jpg \n", + " inflating: food11/validation/10_151.jpg \n", + " extracting: food11/validation/10_152.jpg \n", + " inflating: food11/validation/10_153.jpg \n", + " inflating: food11/validation/10_154.jpg \n", + " inflating: food11/validation/10_155.jpg \n", + " inflating: food11/validation/10_156.jpg \n", + " inflating: food11/validation/10_157.jpg \n", + " inflating: food11/validation/10_158.jpg \n", + " inflating: food11/validation/10_159.jpg \n", + " inflating: food11/validation/10_16.jpg \n", + " extracting: food11/validation/10_160.jpg \n", + " inflating: food11/validation/10_161.jpg \n", + " inflating: food11/validation/10_162.jpg \n", + " inflating: food11/validation/10_163.jpg \n", + " inflating: food11/validation/10_164.jpg \n", + " inflating: food11/validation/10_165.jpg \n", + " extracting: food11/validation/10_166.jpg \n", + " inflating: food11/validation/10_167.jpg \n", + " inflating: food11/validation/10_168.jpg \n", + " inflating: food11/validation/10_169.jpg \n", + " inflating: food11/validation/10_17.jpg \n", + " extracting: food11/validation/10_170.jpg \n", + " inflating: food11/validation/10_171.jpg \n", + " inflating: food11/validation/10_172.jpg \n", + " inflating: food11/validation/10_173.jpg \n", + " inflating: food11/validation/10_174.jpg \n", + " inflating: food11/validation/10_175.jpg \n", + " extracting: food11/validation/10_176.jpg \n", + " inflating: food11/validation/10_177.jpg \n", + " inflating: food11/validation/10_178.jpg \n", + " inflating: food11/validation/10_179.jpg \n", + " inflating: food11/validation/10_18.jpg \n", + " inflating: food11/validation/10_180.jpg \n", + " inflating: food11/validation/10_181.jpg \n", + " inflating: food11/validation/10_182.jpg \n", + " inflating: food11/validation/10_183.jpg \n", + " inflating: food11/validation/10_184.jpg \n", + " inflating: food11/validation/10_185.jpg \n", + " inflating: food11/validation/10_186.jpg \n", + " inflating: food11/validation/10_187.jpg \n", + " inflating: food11/validation/10_188.jpg \n", + " inflating: food11/validation/10_189.jpg \n", + " inflating: food11/validation/10_19.jpg \n", + " inflating: food11/validation/10_190.jpg \n", + " extracting: food11/validation/10_191.jpg \n", + " inflating: food11/validation/10_192.jpg \n", + " inflating: food11/validation/10_193.jpg \n", + " inflating: food11/validation/10_194.jpg \n", + " inflating: food11/validation/10_195.jpg \n", + " extracting: food11/validation/10_196.jpg \n", + " extracting: food11/validation/10_197.jpg \n", + " inflating: food11/validation/10_198.jpg \n", + " inflating: food11/validation/10_199.jpg \n", + " inflating: food11/validation/10_2.jpg \n", + " inflating: food11/validation/10_20.jpg \n", + " inflating: food11/validation/10_200.jpg \n", + " inflating: food11/validation/10_201.jpg \n", + " inflating: food11/validation/10_202.jpg \n", + " extracting: food11/validation/10_203.jpg \n", + " inflating: food11/validation/10_204.jpg \n", + " inflating: food11/validation/10_205.jpg \n", + " inflating: food11/validation/10_206.jpg \n", + " extracting: food11/validation/10_207.jpg \n", + " inflating: food11/validation/10_208.jpg \n", + " inflating: food11/validation/10_209.jpg \n", + " inflating: food11/validation/10_21.jpg \n", + " inflating: food11/validation/10_210.jpg \n", + " inflating: food11/validation/10_211.jpg \n", + " inflating: food11/validation/10_212.jpg \n", + " inflating: food11/validation/10_213.jpg \n", + " extracting: food11/validation/10_214.jpg \n", + " extracting: food11/validation/10_215.jpg \n", + " inflating: food11/validation/10_216.jpg \n", + " inflating: food11/validation/10_217.jpg \n", + " inflating: food11/validation/10_218.jpg \n", + " inflating: food11/validation/10_219.jpg \n", + " extracting: food11/validation/10_22.jpg \n", + " inflating: food11/validation/10_220.jpg \n", + " inflating: food11/validation/10_221.jpg \n", + " inflating: food11/validation/10_222.jpg \n", + " inflating: food11/validation/10_223.jpg \n", + " inflating: food11/validation/10_224.jpg \n", + " inflating: food11/validation/10_225.jpg \n", + " inflating: food11/validation/10_226.jpg \n", + " inflating: food11/validation/10_227.jpg \n", + " extracting: food11/validation/10_228.jpg \n", + " inflating: food11/validation/10_229.jpg \n", + " inflating: food11/validation/10_23.jpg \n", + " inflating: food11/validation/10_230.jpg \n", + " inflating: food11/validation/10_231.jpg \n", + " inflating: food11/validation/10_24.jpg \n", + " inflating: food11/validation/10_25.jpg \n", + " inflating: food11/validation/10_26.jpg \n", + " inflating: food11/validation/10_27.jpg \n", + " inflating: food11/validation/10_28.jpg \n", + " inflating: food11/validation/10_29.jpg \n", + " inflating: food11/validation/10_3.jpg \n", + " inflating: food11/validation/10_30.jpg \n", + " inflating: food11/validation/10_31.jpg \n", + " extracting: food11/validation/10_32.jpg \n", + " inflating: food11/validation/10_33.jpg \n", + " inflating: food11/validation/10_34.jpg \n", + " inflating: food11/validation/10_35.jpg \n", + " inflating: food11/validation/10_36.jpg \n", + " inflating: food11/validation/10_37.jpg \n", + " inflating: food11/validation/10_38.jpg \n", + " inflating: food11/validation/10_39.jpg \n", + " inflating: food11/validation/10_4.jpg \n", + " inflating: food11/validation/10_40.jpg \n", + " inflating: food11/validation/10_41.jpg \n", + " inflating: food11/validation/10_42.jpg \n", + " inflating: food11/validation/10_43.jpg \n", + " inflating: food11/validation/10_44.jpg \n", + " inflating: food11/validation/10_45.jpg \n", + " inflating: food11/validation/10_46.jpg \n", + " inflating: food11/validation/10_47.jpg \n", + " inflating: food11/validation/10_48.jpg \n", + " inflating: food11/validation/10_49.jpg \n", + " inflating: food11/validation/10_5.jpg \n", + " inflating: food11/validation/10_50.jpg \n", + " inflating: food11/validation/10_51.jpg \n", + " inflating: food11/validation/10_52.jpg \n", + " inflating: food11/validation/10_53.jpg \n", + " inflating: food11/validation/10_54.jpg \n", + " inflating: food11/validation/10_55.jpg \n", + " inflating: food11/validation/10_56.jpg \n", + " inflating: food11/validation/10_57.jpg \n", + " inflating: food11/validation/10_58.jpg \n", + " extracting: food11/validation/10_59.jpg \n", + " inflating: food11/validation/10_6.jpg \n", + " inflating: food11/validation/10_60.jpg \n", + " inflating: food11/validation/10_61.jpg \n", + " inflating: food11/validation/10_62.jpg \n", + " inflating: food11/validation/10_63.jpg \n", + " inflating: food11/validation/10_64.jpg \n", + " inflating: food11/validation/10_65.jpg \n", + " inflating: food11/validation/10_66.jpg \n", + " inflating: food11/validation/10_67.jpg \n", + " inflating: food11/validation/10_68.jpg \n", + " inflating: food11/validation/10_69.jpg \n", + " inflating: food11/validation/10_7.jpg \n", + " inflating: food11/validation/10_70.jpg \n", + " inflating: food11/validation/10_71.jpg \n", + " inflating: food11/validation/10_72.jpg \n", + " inflating: food11/validation/10_73.jpg \n", + " inflating: food11/validation/10_74.jpg \n", + " inflating: food11/validation/10_75.jpg \n", + " inflating: food11/validation/10_76.jpg \n", + " inflating: food11/validation/10_77.jpg \n", + " extracting: food11/validation/10_78.jpg \n", + " extracting: food11/validation/10_79.jpg \n", + " inflating: food11/validation/10_8.jpg \n", + " extracting: food11/validation/10_80.jpg \n", + " inflating: food11/validation/10_81.jpg \n", + " inflating: food11/validation/10_82.jpg \n", + " inflating: food11/validation/10_83.jpg \n", + " inflating: food11/validation/10_84.jpg \n", + " inflating: food11/validation/10_85.jpg \n", + " inflating: food11/validation/10_86.jpg \n", + " inflating: food11/validation/10_87.jpg \n", + " inflating: food11/validation/10_88.jpg \n", + " inflating: food11/validation/10_89.jpg \n", + " inflating: food11/validation/10_9.jpg \n", + " inflating: food11/validation/10_90.jpg \n", + " inflating: food11/validation/10_91.jpg \n", + " inflating: food11/validation/10_92.jpg \n", + " inflating: food11/validation/10_93.jpg \n", + " inflating: food11/validation/10_94.jpg \n", + " inflating: food11/validation/10_95.jpg \n", + " inflating: food11/validation/10_96.jpg \n", + " inflating: food11/validation/10_97.jpg \n", + " inflating: food11/validation/10_98.jpg \n", + " inflating: food11/validation/10_99.jpg \n", + " inflating: food11/validation/1_0.jpg \n", + " inflating: food11/validation/1_1.jpg \n", + " inflating: food11/validation/1_10.jpg \n", + " inflating: food11/validation/1_100.jpg \n", + " inflating: food11/validation/1_101.jpg \n", + " inflating: food11/validation/1_102.jpg \n", + " inflating: food11/validation/1_103.jpg \n", + " inflating: food11/validation/1_104.jpg \n", + " inflating: food11/validation/1_105.jpg \n", + " inflating: food11/validation/1_106.jpg \n", + " inflating: food11/validation/1_107.jpg \n", + " inflating: food11/validation/1_108.jpg \n", + " inflating: food11/validation/1_109.jpg \n", + " inflating: food11/validation/1_11.jpg \n", + " inflating: food11/validation/1_110.jpg \n", + " inflating: food11/validation/1_111.jpg \n", + " inflating: food11/validation/1_112.jpg \n", + " inflating: food11/validation/1_113.jpg \n", + " inflating: food11/validation/1_114.jpg \n", + " inflating: food11/validation/1_115.jpg \n", + " inflating: food11/validation/1_116.jpg \n", + " inflating: food11/validation/1_117.jpg \n", + " inflating: food11/validation/1_118.jpg \n", + " inflating: food11/validation/1_119.jpg \n", + " inflating: food11/validation/1_12.jpg \n", + " inflating: food11/validation/1_120.jpg \n", + " inflating: food11/validation/1_121.jpg \n", + " inflating: food11/validation/1_122.jpg \n", + " inflating: food11/validation/1_123.jpg \n", + " inflating: food11/validation/1_124.jpg \n", + " inflating: food11/validation/1_125.jpg \n", + " inflating: food11/validation/1_126.jpg \n", + " inflating: food11/validation/1_127.jpg \n", + " inflating: food11/validation/1_128.jpg \n", + " inflating: food11/validation/1_129.jpg \n", + " inflating: food11/validation/1_13.jpg \n", + " inflating: food11/validation/1_130.jpg \n", + " inflating: food11/validation/1_131.jpg \n", + " inflating: food11/validation/1_132.jpg \n", + " inflating: food11/validation/1_133.jpg \n", + " inflating: food11/validation/1_134.jpg \n", + " inflating: food11/validation/1_135.jpg \n", + " inflating: food11/validation/1_136.jpg \n", + " inflating: food11/validation/1_137.jpg \n", + " inflating: food11/validation/1_138.jpg \n", + " inflating: food11/validation/1_139.jpg \n", + " inflating: food11/validation/1_14.jpg \n", + " inflating: food11/validation/1_140.jpg \n", + " inflating: food11/validation/1_141.jpg \n", + " inflating: food11/validation/1_142.jpg \n", + " inflating: food11/validation/1_143.jpg \n", + " inflating: food11/validation/1_15.jpg \n", + " inflating: food11/validation/1_16.jpg \n", + " inflating: food11/validation/1_17.jpg \n", + " inflating: food11/validation/1_18.jpg \n", + " inflating: food11/validation/1_19.jpg \n", + " inflating: food11/validation/1_2.jpg \n", + " inflating: food11/validation/1_20.jpg \n", + " inflating: food11/validation/1_21.jpg \n", + " inflating: food11/validation/1_22.jpg \n", + " inflating: food11/validation/1_23.jpg \n", + " inflating: food11/validation/1_24.jpg \n", + " inflating: food11/validation/1_25.jpg \n", + " inflating: food11/validation/1_26.jpg \n", + " inflating: food11/validation/1_27.jpg \n", + " inflating: food11/validation/1_28.jpg \n", + " inflating: food11/validation/1_29.jpg \n", + " inflating: food11/validation/1_3.jpg \n", + " inflating: food11/validation/1_30.jpg \n", + " inflating: food11/validation/1_31.jpg \n", + " inflating: food11/validation/1_32.jpg \n", + " inflating: food11/validation/1_33.jpg \n", + " inflating: food11/validation/1_34.jpg \n", + " inflating: food11/validation/1_35.jpg \n", + " inflating: food11/validation/1_36.jpg \n", + " inflating: food11/validation/1_37.jpg \n", + " inflating: food11/validation/1_38.jpg \n", + " inflating: food11/validation/1_39.jpg \n", + " inflating: food11/validation/1_4.jpg \n", + " inflating: food11/validation/1_40.jpg \n", + " inflating: food11/validation/1_41.jpg \n", + " inflating: food11/validation/1_42.jpg \n", + " inflating: food11/validation/1_43.jpg \n", + " inflating: food11/validation/1_44.jpg \n", + " inflating: food11/validation/1_45.jpg \n", + " inflating: food11/validation/1_46.jpg \n", + " inflating: food11/validation/1_47.jpg \n", + " inflating: food11/validation/1_48.jpg \n", + " inflating: food11/validation/1_49.jpg \n", + " inflating: food11/validation/1_5.jpg \n", + " inflating: food11/validation/1_50.jpg \n", + " inflating: food11/validation/1_51.jpg \n", + " inflating: food11/validation/1_52.jpg \n", + " inflating: food11/validation/1_53.jpg \n", + " inflating: food11/validation/1_54.jpg \n", + " inflating: food11/validation/1_55.jpg \n", + " inflating: food11/validation/1_56.jpg \n", + " inflating: food11/validation/1_57.jpg \n", + " inflating: food11/validation/1_58.jpg \n", + " inflating: food11/validation/1_59.jpg \n", + " inflating: food11/validation/1_6.jpg \n", + " inflating: food11/validation/1_60.jpg \n", + " inflating: food11/validation/1_61.jpg \n", + " inflating: food11/validation/1_62.jpg \n", + " inflating: food11/validation/1_63.jpg \n", + " inflating: food11/validation/1_64.jpg \n", + " inflating: food11/validation/1_65.jpg \n", + " inflating: food11/validation/1_66.jpg \n", + " inflating: food11/validation/1_67.jpg \n", + " inflating: food11/validation/1_68.jpg \n", + " inflating: food11/validation/1_69.jpg \n", + " inflating: food11/validation/1_7.jpg \n", + " inflating: food11/validation/1_70.jpg \n", + " inflating: food11/validation/1_71.jpg \n", + " inflating: food11/validation/1_72.jpg \n", + " inflating: food11/validation/1_73.jpg \n", + " inflating: food11/validation/1_74.jpg \n", + " inflating: food11/validation/1_75.jpg \n", + " inflating: food11/validation/1_76.jpg \n", + " inflating: food11/validation/1_77.jpg \n", + " inflating: food11/validation/1_78.jpg \n", + " inflating: food11/validation/1_79.jpg \n", + " inflating: food11/validation/1_8.jpg \n", + " inflating: food11/validation/1_80.jpg \n", + " inflating: food11/validation/1_81.jpg \n", + " extracting: food11/validation/1_82.jpg \n", + " inflating: food11/validation/1_83.jpg \n", + " inflating: food11/validation/1_84.jpg \n", + " inflating: food11/validation/1_85.jpg \n", + " inflating: food11/validation/1_86.jpg \n", + " inflating: food11/validation/1_87.jpg \n", + " inflating: food11/validation/1_88.jpg \n", + " inflating: food11/validation/1_89.jpg \n", + " inflating: food11/validation/1_9.jpg \n", + " inflating: food11/validation/1_90.jpg \n", + " inflating: food11/validation/1_91.jpg \n", + " inflating: food11/validation/1_92.jpg \n", + " inflating: food11/validation/1_93.jpg \n", + " inflating: food11/validation/1_94.jpg \n", + " inflating: food11/validation/1_95.jpg \n", + " inflating: food11/validation/1_96.jpg \n", + " inflating: food11/validation/1_97.jpg \n", + " inflating: food11/validation/1_98.jpg \n", + " inflating: food11/validation/1_99.jpg \n", + " inflating: food11/validation/2_0.jpg \n", + " inflating: food11/validation/2_1.jpg \n", + " inflating: food11/validation/2_10.jpg \n", + " inflating: food11/validation/2_100.jpg \n", + " inflating: food11/validation/2_101.jpg \n", + " inflating: food11/validation/2_102.jpg \n", + " inflating: food11/validation/2_103.jpg \n", + " inflating: food11/validation/2_104.jpg \n", + " inflating: food11/validation/2_105.jpg \n", + " inflating: food11/validation/2_106.jpg \n", + " inflating: food11/validation/2_107.jpg \n", + " inflating: food11/validation/2_108.jpg \n", + " inflating: food11/validation/2_109.jpg \n", + " inflating: food11/validation/2_11.jpg \n", + " inflating: food11/validation/2_110.jpg \n", + " inflating: food11/validation/2_111.jpg \n", + " inflating: food11/validation/2_112.jpg \n", + " inflating: food11/validation/2_113.jpg \n", + " inflating: food11/validation/2_114.jpg \n", + " inflating: food11/validation/2_115.jpg \n", + " inflating: food11/validation/2_116.jpg \n", + " inflating: food11/validation/2_117.jpg \n", + " inflating: food11/validation/2_118.jpg \n", + " inflating: food11/validation/2_119.jpg \n", + " inflating: food11/validation/2_12.jpg \n", + " inflating: food11/validation/2_120.jpg \n", + " inflating: food11/validation/2_121.jpg \n", + " inflating: food11/validation/2_122.jpg \n", + " inflating: food11/validation/2_123.jpg \n", + " inflating: food11/validation/2_124.jpg \n", + " inflating: food11/validation/2_125.jpg \n", + " inflating: food11/validation/2_126.jpg \n", + " inflating: food11/validation/2_127.jpg \n", + " inflating: food11/validation/2_128.jpg \n", + " inflating: food11/validation/2_129.jpg \n", + " inflating: food11/validation/2_13.jpg \n", + " inflating: food11/validation/2_130.jpg \n", + " inflating: food11/validation/2_131.jpg \n", + " inflating: food11/validation/2_132.jpg \n", + " inflating: food11/validation/2_133.jpg \n", + " inflating: food11/validation/2_134.jpg \n", + " inflating: food11/validation/2_135.jpg \n", + " inflating: food11/validation/2_136.jpg \n", + " inflating: food11/validation/2_137.jpg \n", + " inflating: food11/validation/2_138.jpg \n", + " inflating: food11/validation/2_139.jpg \n", + " inflating: food11/validation/2_14.jpg \n", + " inflating: food11/validation/2_140.jpg \n", + " inflating: food11/validation/2_141.jpg \n", + " inflating: food11/validation/2_142.jpg \n", + " inflating: food11/validation/2_143.jpg \n", + " inflating: food11/validation/2_144.jpg \n", + " inflating: food11/validation/2_145.jpg \n", + " inflating: food11/validation/2_146.jpg \n", + " inflating: food11/validation/2_147.jpg \n", + " inflating: food11/validation/2_148.jpg \n", + " inflating: food11/validation/2_149.jpg \n", + " inflating: food11/validation/2_15.jpg \n", + " inflating: food11/validation/2_150.jpg \n", + " inflating: food11/validation/2_151.jpg \n", + " inflating: food11/validation/2_152.jpg \n", + " inflating: food11/validation/2_153.jpg \n", + " inflating: food11/validation/2_154.jpg \n", + " inflating: food11/validation/2_155.jpg \n", + " inflating: food11/validation/2_156.jpg \n", + " inflating: food11/validation/2_157.jpg \n", + " inflating: food11/validation/2_158.jpg \n", + " inflating: food11/validation/2_159.jpg \n", + " inflating: food11/validation/2_16.jpg \n", + " inflating: food11/validation/2_160.jpg \n", + " inflating: food11/validation/2_161.jpg \n", + " inflating: food11/validation/2_162.jpg \n", + " inflating: food11/validation/2_163.jpg \n", + " inflating: food11/validation/2_164.jpg \n", + " inflating: food11/validation/2_165.jpg \n", + " inflating: food11/validation/2_166.jpg \n", + " inflating: food11/validation/2_167.jpg \n", + " inflating: food11/validation/2_168.jpg \n", + " inflating: food11/validation/2_169.jpg \n", + " inflating: food11/validation/2_17.jpg \n", + " inflating: food11/validation/2_170.jpg \n", + " inflating: food11/validation/2_171.jpg \n", + " inflating: food11/validation/2_172.jpg \n", + " inflating: food11/validation/2_173.jpg \n", + " inflating: food11/validation/2_174.jpg \n", + " inflating: food11/validation/2_175.jpg \n", + " inflating: food11/validation/2_176.jpg \n", + " inflating: food11/validation/2_177.jpg \n", + " inflating: food11/validation/2_178.jpg \n", + " inflating: food11/validation/2_179.jpg \n", + " inflating: food11/validation/2_18.jpg \n", + " inflating: food11/validation/2_180.jpg \n", + " inflating: food11/validation/2_181.jpg \n", + " inflating: food11/validation/2_182.jpg \n", + " inflating: food11/validation/2_183.jpg \n", + " inflating: food11/validation/2_184.jpg \n", + " inflating: food11/validation/2_185.jpg \n", + " inflating: food11/validation/2_186.jpg \n", + " inflating: food11/validation/2_187.jpg \n", + " inflating: food11/validation/2_188.jpg \n", + " inflating: food11/validation/2_189.jpg \n", + " inflating: food11/validation/2_19.jpg \n", + " inflating: food11/validation/2_190.jpg \n", + " inflating: food11/validation/2_191.jpg \n", + " inflating: food11/validation/2_192.jpg \n", + " inflating: food11/validation/2_193.jpg \n", + " inflating: food11/validation/2_194.jpg \n", + " inflating: food11/validation/2_195.jpg \n", + " inflating: food11/validation/2_196.jpg \n", + " inflating: food11/validation/2_197.jpg \n", + " inflating: food11/validation/2_198.jpg \n", + " inflating: food11/validation/2_199.jpg \n", + " inflating: food11/validation/2_2.jpg \n", + " inflating: food11/validation/2_20.jpg \n", + " inflating: food11/validation/2_200.jpg \n", + " inflating: food11/validation/2_201.jpg \n", + " inflating: food11/validation/2_202.jpg \n", + " inflating: food11/validation/2_203.jpg \n", + " inflating: food11/validation/2_204.jpg \n", + " inflating: food11/validation/2_205.jpg \n", + " inflating: food11/validation/2_206.jpg \n", + " inflating: food11/validation/2_207.jpg \n", + " inflating: food11/validation/2_208.jpg \n", + " inflating: food11/validation/2_209.jpg \n", + " inflating: food11/validation/2_21.jpg \n", + " inflating: food11/validation/2_210.jpg \n", + " inflating: food11/validation/2_211.jpg \n", + " inflating: food11/validation/2_212.jpg \n", + " inflating: food11/validation/2_213.jpg \n", + " inflating: food11/validation/2_214.jpg \n", + " inflating: food11/validation/2_215.jpg \n", + " inflating: food11/validation/2_216.jpg \n", + " inflating: food11/validation/2_217.jpg \n", + " inflating: food11/validation/2_218.jpg \n", + " inflating: food11/validation/2_219.jpg \n", + " inflating: food11/validation/2_22.jpg \n", + " inflating: food11/validation/2_220.jpg \n", + " inflating: food11/validation/2_221.jpg \n", + " inflating: food11/validation/2_222.jpg \n", + " inflating: food11/validation/2_223.jpg \n", + " inflating: food11/validation/2_224.jpg \n", + " inflating: food11/validation/2_225.jpg \n", + " inflating: food11/validation/2_226.jpg \n", + " inflating: food11/validation/2_227.jpg \n", + " inflating: food11/validation/2_228.jpg \n", + " inflating: food11/validation/2_229.jpg \n", + " inflating: food11/validation/2_23.jpg \n", + " inflating: food11/validation/2_230.jpg \n", + " inflating: food11/validation/2_231.jpg \n", + " inflating: food11/validation/2_232.jpg \n", + " inflating: food11/validation/2_233.jpg \n", + " inflating: food11/validation/2_234.jpg \n", + " inflating: food11/validation/2_235.jpg \n", + " inflating: food11/validation/2_236.jpg \n", + " inflating: food11/validation/2_237.jpg \n", + " inflating: food11/validation/2_238.jpg \n", + " inflating: food11/validation/2_239.jpg \n", + " inflating: food11/validation/2_24.jpg \n", + " inflating: food11/validation/2_240.jpg \n", + " inflating: food11/validation/2_241.jpg \n", + " inflating: food11/validation/2_242.jpg \n", + " inflating: food11/validation/2_243.jpg \n", + " inflating: food11/validation/2_244.jpg \n", + " inflating: food11/validation/2_245.jpg \n", + " inflating: food11/validation/2_246.jpg \n", + " inflating: food11/validation/2_247.jpg \n", + " inflating: food11/validation/2_248.jpg \n", + " inflating: food11/validation/2_249.jpg \n", + " inflating: food11/validation/2_25.jpg \n", + " inflating: food11/validation/2_250.jpg \n", + " inflating: food11/validation/2_251.jpg \n", + " inflating: food11/validation/2_252.jpg \n", + " inflating: food11/validation/2_253.jpg \n", + " inflating: food11/validation/2_254.jpg \n", + " inflating: food11/validation/2_255.jpg \n", + " inflating: food11/validation/2_256.jpg \n", + " inflating: food11/validation/2_257.jpg \n", + " inflating: food11/validation/2_258.jpg \n", + " inflating: food11/validation/2_259.jpg \n", + " inflating: food11/validation/2_26.jpg \n", + " inflating: food11/validation/2_260.jpg \n", + " inflating: food11/validation/2_261.jpg \n", + " inflating: food11/validation/2_262.jpg \n", + " inflating: food11/validation/2_263.jpg \n", + " inflating: food11/validation/2_264.jpg \n", + " inflating: food11/validation/2_265.jpg \n", + " inflating: food11/validation/2_266.jpg \n", + " inflating: food11/validation/2_267.jpg \n", + " inflating: food11/validation/2_268.jpg \n", + " inflating: food11/validation/2_269.jpg \n", + " inflating: food11/validation/2_27.jpg \n", + " inflating: food11/validation/2_270.jpg \n", + " inflating: food11/validation/2_271.jpg \n", + " inflating: food11/validation/2_272.jpg \n", + " inflating: food11/validation/2_273.jpg \n", + " inflating: food11/validation/2_274.jpg \n", + " inflating: food11/validation/2_275.jpg \n", + " inflating: food11/validation/2_276.jpg \n", + " inflating: food11/validation/2_277.jpg \n", + " inflating: food11/validation/2_278.jpg \n", + " inflating: food11/validation/2_279.jpg \n", + " inflating: food11/validation/2_28.jpg \n", + " inflating: food11/validation/2_280.jpg \n", + " inflating: food11/validation/2_281.jpg \n", + " inflating: food11/validation/2_282.jpg \n", + " inflating: food11/validation/2_283.jpg \n", + " inflating: food11/validation/2_284.jpg \n", + " inflating: food11/validation/2_285.jpg \n", + " inflating: food11/validation/2_286.jpg \n", + " inflating: food11/validation/2_287.jpg \n", + " inflating: food11/validation/2_288.jpg \n", + " inflating: food11/validation/2_289.jpg \n", + " inflating: food11/validation/2_29.jpg \n", + " inflating: food11/validation/2_290.jpg \n", + " inflating: food11/validation/2_291.jpg \n", + " inflating: food11/validation/2_292.jpg \n", + " inflating: food11/validation/2_293.jpg \n", + " inflating: food11/validation/2_294.jpg \n", + " inflating: food11/validation/2_295.jpg \n", + " inflating: food11/validation/2_296.jpg \n", + " inflating: food11/validation/2_297.jpg \n", + " inflating: food11/validation/2_298.jpg \n", + " inflating: food11/validation/2_299.jpg \n", + " inflating: food11/validation/2_3.jpg \n", + " inflating: food11/validation/2_30.jpg \n", + " inflating: food11/validation/2_300.jpg \n", + " inflating: food11/validation/2_301.jpg \n", + " inflating: food11/validation/2_302.jpg \n", + " inflating: food11/validation/2_303.jpg \n", + " inflating: food11/validation/2_304.jpg \n", + " inflating: food11/validation/2_305.jpg \n", + " inflating: food11/validation/2_306.jpg \n", + " inflating: food11/validation/2_307.jpg \n", + " inflating: food11/validation/2_308.jpg \n", + " inflating: food11/validation/2_309.jpg \n", + " inflating: food11/validation/2_31.jpg \n", + " inflating: food11/validation/2_310.jpg \n", + " inflating: food11/validation/2_311.jpg \n", + " inflating: food11/validation/2_312.jpg \n", + " inflating: food11/validation/2_313.jpg \n", + " inflating: food11/validation/2_314.jpg \n", + " inflating: food11/validation/2_315.jpg \n", + " inflating: food11/validation/2_316.jpg \n", + " inflating: food11/validation/2_317.jpg \n", + " inflating: food11/validation/2_318.jpg \n", + " inflating: food11/validation/2_319.jpg \n", + " inflating: food11/validation/2_32.jpg \n", + " inflating: food11/validation/2_320.jpg \n", + " inflating: food11/validation/2_321.jpg \n", + " inflating: food11/validation/2_322.jpg \n", + " inflating: food11/validation/2_323.jpg \n", + " inflating: food11/validation/2_324.jpg \n", + " inflating: food11/validation/2_325.jpg \n", + " inflating: food11/validation/2_326.jpg \n", + " inflating: food11/validation/2_327.jpg \n", + " inflating: food11/validation/2_328.jpg \n", + " inflating: food11/validation/2_329.jpg \n", + " inflating: food11/validation/2_33.jpg \n", + " inflating: food11/validation/2_330.jpg \n", + " inflating: food11/validation/2_331.jpg \n", + " inflating: food11/validation/2_332.jpg \n", + " inflating: food11/validation/2_333.jpg \n", + " inflating: food11/validation/2_334.jpg \n", + " inflating: food11/validation/2_335.jpg \n", + " inflating: food11/validation/2_336.jpg \n", + " inflating: food11/validation/2_337.jpg \n", + " inflating: food11/validation/2_338.jpg \n", + " inflating: food11/validation/2_339.jpg \n", + " inflating: food11/validation/2_34.jpg \n", + " inflating: food11/validation/2_340.jpg \n", + " inflating: food11/validation/2_341.jpg \n", + " inflating: food11/validation/2_342.jpg \n", + " inflating: food11/validation/2_343.jpg \n", + " inflating: food11/validation/2_344.jpg \n", + " inflating: food11/validation/2_345.jpg \n", + " inflating: food11/validation/2_346.jpg \n", + " inflating: food11/validation/2_347.jpg \n", + " inflating: food11/validation/2_348.jpg \n", + " inflating: food11/validation/2_349.jpg \n", + " inflating: food11/validation/2_35.jpg \n", + " inflating: food11/validation/2_350.jpg \n", + " inflating: food11/validation/2_351.jpg \n", + " inflating: food11/validation/2_352.jpg \n", + " inflating: food11/validation/2_353.jpg \n", + " inflating: food11/validation/2_354.jpg \n", + " inflating: food11/validation/2_355.jpg \n", + " inflating: food11/validation/2_356.jpg \n", + " inflating: food11/validation/2_357.jpg \n", + " inflating: food11/validation/2_358.jpg \n", + " inflating: food11/validation/2_359.jpg \n", + " inflating: food11/validation/2_36.jpg \n", + " inflating: food11/validation/2_360.jpg \n", + " inflating: food11/validation/2_361.jpg \n", + " inflating: food11/validation/2_362.jpg \n", + " inflating: food11/validation/2_363.jpg \n", + " inflating: food11/validation/2_364.jpg \n", + " inflating: food11/validation/2_365.jpg \n", + " inflating: food11/validation/2_366.jpg \n", + " inflating: food11/validation/2_367.jpg \n", + " inflating: food11/validation/2_368.jpg \n", + " inflating: food11/validation/2_369.jpg \n", + " inflating: food11/validation/2_37.jpg \n", + " inflating: food11/validation/2_370.jpg \n", + " inflating: food11/validation/2_371.jpg \n", + " inflating: food11/validation/2_372.jpg \n", + " inflating: food11/validation/2_373.jpg \n", + " inflating: food11/validation/2_374.jpg \n", + " inflating: food11/validation/2_375.jpg \n", + " inflating: food11/validation/2_376.jpg \n", + " inflating: food11/validation/2_377.jpg \n", + " inflating: food11/validation/2_378.jpg \n", + " inflating: food11/validation/2_379.jpg \n", + " inflating: food11/validation/2_38.jpg \n", + " inflating: food11/validation/2_380.jpg \n", + " inflating: food11/validation/2_381.jpg \n", + " inflating: food11/validation/2_382.jpg \n", + " inflating: food11/validation/2_383.jpg \n", + " inflating: food11/validation/2_384.jpg \n", + " inflating: food11/validation/2_385.jpg \n", + " inflating: food11/validation/2_386.jpg \n", + " inflating: food11/validation/2_387.jpg \n", + " inflating: food11/validation/2_388.jpg \n", + " inflating: food11/validation/2_389.jpg \n", + " inflating: food11/validation/2_39.jpg \n", + " inflating: food11/validation/2_390.jpg \n", + " inflating: food11/validation/2_391.jpg \n", + " inflating: food11/validation/2_392.jpg \n", + " inflating: food11/validation/2_393.jpg \n", + " inflating: food11/validation/2_394.jpg \n", + " inflating: food11/validation/2_395.jpg \n", + " inflating: food11/validation/2_396.jpg \n", + " inflating: food11/validation/2_397.jpg \n", + " inflating: food11/validation/2_398.jpg \n", + " inflating: food11/validation/2_399.jpg \n", + " inflating: food11/validation/2_4.jpg \n", + " inflating: food11/validation/2_40.jpg \n", + " extracting: food11/validation/2_400.jpg \n", + " inflating: food11/validation/2_401.jpg \n", + " inflating: food11/validation/2_402.jpg \n", + " inflating: food11/validation/2_403.jpg \n", + " inflating: food11/validation/2_404.jpg \n", + " inflating: food11/validation/2_405.jpg \n", + " inflating: food11/validation/2_406.jpg \n", + " inflating: food11/validation/2_407.jpg \n", + " inflating: food11/validation/2_408.jpg \n", + " inflating: food11/validation/2_409.jpg \n", + " inflating: food11/validation/2_41.jpg \n", + " inflating: food11/validation/2_410.jpg \n", + " inflating: food11/validation/2_411.jpg \n", + " inflating: food11/validation/2_412.jpg \n", + " inflating: food11/validation/2_413.jpg \n", + " inflating: food11/validation/2_414.jpg \n", + " inflating: food11/validation/2_415.jpg \n", + " inflating: food11/validation/2_416.jpg \n", + " inflating: food11/validation/2_417.jpg \n", + " inflating: food11/validation/2_418.jpg \n", + " inflating: food11/validation/2_419.jpg \n", + " inflating: food11/validation/2_42.jpg \n", + " inflating: food11/validation/2_420.jpg \n", + " inflating: food11/validation/2_421.jpg \n", + " inflating: food11/validation/2_422.jpg \n", + " inflating: food11/validation/2_423.jpg \n", + " inflating: food11/validation/2_424.jpg \n", + " inflating: food11/validation/2_425.jpg \n", + " inflating: food11/validation/2_426.jpg \n", + " inflating: food11/validation/2_427.jpg \n", + " inflating: food11/validation/2_428.jpg \n", + " inflating: food11/validation/2_429.jpg \n", + " inflating: food11/validation/2_43.jpg \n", + " inflating: food11/validation/2_430.jpg \n", + " inflating: food11/validation/2_431.jpg \n", + " inflating: food11/validation/2_432.jpg \n", + " inflating: food11/validation/2_433.jpg \n", + " inflating: food11/validation/2_434.jpg \n", + " inflating: food11/validation/2_435.jpg \n", + " inflating: food11/validation/2_436.jpg \n", + " inflating: food11/validation/2_437.jpg \n", + " inflating: food11/validation/2_438.jpg \n", + " inflating: food11/validation/2_439.jpg \n", + " inflating: food11/validation/2_44.jpg \n", + " inflating: food11/validation/2_440.jpg \n", + " inflating: food11/validation/2_441.jpg \n", + " inflating: food11/validation/2_442.jpg \n", + " inflating: food11/validation/2_443.jpg \n", + " inflating: food11/validation/2_444.jpg \n", + " inflating: food11/validation/2_445.jpg \n", + " inflating: food11/validation/2_446.jpg \n", + " inflating: food11/validation/2_447.jpg \n", + " inflating: food11/validation/2_448.jpg \n", + " inflating: food11/validation/2_449.jpg \n", + " inflating: food11/validation/2_45.jpg \n", + " inflating: food11/validation/2_450.jpg \n", + " inflating: food11/validation/2_451.jpg \n", + " inflating: food11/validation/2_452.jpg \n", + " inflating: food11/validation/2_453.jpg \n", + " inflating: food11/validation/2_454.jpg \n", + " inflating: food11/validation/2_455.jpg \n", + " inflating: food11/validation/2_456.jpg \n", + " inflating: food11/validation/2_457.jpg \n", + " inflating: food11/validation/2_458.jpg \n", + " inflating: food11/validation/2_459.jpg \n", + " inflating: food11/validation/2_46.jpg \n", + " inflating: food11/validation/2_460.jpg \n", + " inflating: food11/validation/2_461.jpg \n", + " inflating: food11/validation/2_462.jpg \n", + " inflating: food11/validation/2_463.jpg \n", + " inflating: food11/validation/2_464.jpg \n", + " inflating: food11/validation/2_465.jpg \n", + " inflating: food11/validation/2_466.jpg \n", + " inflating: food11/validation/2_467.jpg \n", + " inflating: food11/validation/2_468.jpg \n", + " inflating: food11/validation/2_469.jpg \n", + " inflating: food11/validation/2_47.jpg \n", + " inflating: food11/validation/2_470.jpg \n", + " inflating: food11/validation/2_471.jpg \n", + " inflating: food11/validation/2_472.jpg \n", + " inflating: food11/validation/2_473.jpg \n", + " inflating: food11/validation/2_474.jpg \n", + " inflating: food11/validation/2_475.jpg \n", + " inflating: food11/validation/2_476.jpg \n", + " inflating: food11/validation/2_477.jpg \n", + " inflating: food11/validation/2_478.jpg \n", + " inflating: food11/validation/2_479.jpg \n", + " inflating: food11/validation/2_48.jpg \n", + " inflating: food11/validation/2_480.jpg \n", + " inflating: food11/validation/2_481.jpg \n", + " inflating: food11/validation/2_482.jpg \n", + " inflating: food11/validation/2_483.jpg \n", + " inflating: food11/validation/2_484.jpg \n", + " inflating: food11/validation/2_485.jpg \n", + " inflating: food11/validation/2_486.jpg \n", + " inflating: food11/validation/2_487.jpg \n", + " inflating: food11/validation/2_488.jpg \n", + " inflating: food11/validation/2_489.jpg \n", + " inflating: food11/validation/2_49.jpg \n", + " inflating: food11/validation/2_490.jpg \n", + " inflating: food11/validation/2_491.jpg \n", + " inflating: food11/validation/2_492.jpg \n", + " inflating: food11/validation/2_493.jpg \n", + " inflating: food11/validation/2_494.jpg \n", + " inflating: food11/validation/2_495.jpg \n", + " inflating: food11/validation/2_496.jpg \n", + " inflating: food11/validation/2_497.jpg \n", + " inflating: food11/validation/2_498.jpg \n", + " inflating: food11/validation/2_499.jpg \n", + " inflating: food11/validation/2_5.jpg \n", + " inflating: food11/validation/2_50.jpg \n", + " inflating: food11/validation/2_51.jpg \n", + " inflating: food11/validation/2_52.jpg \n", + " inflating: food11/validation/2_53.jpg \n", + " inflating: food11/validation/2_54.jpg \n", + " inflating: food11/validation/2_55.jpg \n", + " inflating: food11/validation/2_56.jpg \n", + " inflating: food11/validation/2_57.jpg \n", + " inflating: food11/validation/2_58.jpg \n", + " inflating: food11/validation/2_59.jpg \n", + " inflating: food11/validation/2_6.jpg \n", + " inflating: food11/validation/2_60.jpg \n", + " inflating: food11/validation/2_61.jpg \n", + " inflating: food11/validation/2_62.jpg \n", + " inflating: food11/validation/2_63.jpg \n", + " inflating: food11/validation/2_64.jpg \n", + " inflating: food11/validation/2_65.jpg \n", + " inflating: food11/validation/2_66.jpg \n", + " inflating: food11/validation/2_67.jpg \n", + " inflating: food11/validation/2_68.jpg \n", + " inflating: food11/validation/2_69.jpg \n", + " inflating: food11/validation/2_7.jpg \n", + " inflating: food11/validation/2_70.jpg \n", + " inflating: food11/validation/2_71.jpg \n", + " inflating: food11/validation/2_72.jpg \n", + " inflating: food11/validation/2_73.jpg \n", + " inflating: food11/validation/2_74.jpg \n", + " inflating: food11/validation/2_75.jpg \n", + " inflating: food11/validation/2_76.jpg \n", + " inflating: food11/validation/2_77.jpg \n", + " inflating: food11/validation/2_78.jpg \n", + " inflating: food11/validation/2_79.jpg \n", + " inflating: food11/validation/2_8.jpg \n", + " inflating: food11/validation/2_80.jpg \n", + " inflating: food11/validation/2_81.jpg \n", + " inflating: food11/validation/2_82.jpg \n", + " inflating: food11/validation/2_83.jpg \n", + " inflating: food11/validation/2_84.jpg \n", + " inflating: food11/validation/2_85.jpg \n", + " inflating: food11/validation/2_86.jpg \n", + " inflating: food11/validation/2_87.jpg \n", + " inflating: food11/validation/2_88.jpg \n", + " inflating: food11/validation/2_89.jpg \n", + " inflating: food11/validation/2_9.jpg \n", + " inflating: food11/validation/2_90.jpg \n", + " inflating: food11/validation/2_91.jpg \n", + " inflating: food11/validation/2_92.jpg \n", + " inflating: food11/validation/2_93.jpg \n", + " inflating: food11/validation/2_94.jpg \n", + " inflating: food11/validation/2_95.jpg \n", + " inflating: food11/validation/2_96.jpg \n", + " inflating: food11/validation/2_97.jpg \n", + " inflating: food11/validation/2_98.jpg \n", + " inflating: food11/validation/2_99.jpg \n", + " inflating: food11/validation/3_0.jpg \n", + " inflating: food11/validation/3_1.jpg \n", + " inflating: food11/validation/3_10.jpg \n", + " inflating: food11/validation/3_100.jpg \n", + " inflating: food11/validation/3_101.jpg \n", + " inflating: food11/validation/3_102.jpg \n", + " inflating: food11/validation/3_103.jpg \n", + " inflating: food11/validation/3_104.jpg \n", + " inflating: food11/validation/3_105.jpg \n", + " inflating: food11/validation/3_106.jpg \n", + " inflating: food11/validation/3_107.jpg \n", + " inflating: food11/validation/3_108.jpg \n", + " inflating: food11/validation/3_109.jpg \n", + " inflating: food11/validation/3_11.jpg \n", + " inflating: food11/validation/3_110.jpg \n", + " inflating: food11/validation/3_111.jpg \n", + " inflating: food11/validation/3_112.jpg \n", + " inflating: food11/validation/3_113.jpg \n", + " inflating: food11/validation/3_114.jpg \n", + " inflating: food11/validation/3_115.jpg \n", + " inflating: food11/validation/3_116.jpg \n", + " inflating: food11/validation/3_117.jpg \n", + " inflating: food11/validation/3_118.jpg \n", + " inflating: food11/validation/3_119.jpg \n", + " inflating: food11/validation/3_12.jpg \n", + " inflating: food11/validation/3_120.jpg \n", + " inflating: food11/validation/3_121.jpg \n", + " inflating: food11/validation/3_122.jpg \n", + " inflating: food11/validation/3_123.jpg \n", + " inflating: food11/validation/3_124.jpg \n", + " inflating: food11/validation/3_125.jpg \n", + " inflating: food11/validation/3_126.jpg \n", + " inflating: food11/validation/3_127.jpg \n", + " inflating: food11/validation/3_128.jpg \n", + " inflating: food11/validation/3_129.jpg \n", + " inflating: food11/validation/3_13.jpg \n", + " inflating: food11/validation/3_130.jpg \n", + " inflating: food11/validation/3_131.jpg \n", + " inflating: food11/validation/3_132.jpg \n", + " inflating: food11/validation/3_133.jpg \n", + " inflating: food11/validation/3_134.jpg \n", + " inflating: food11/validation/3_135.jpg \n", + " inflating: food11/validation/3_136.jpg \n", + " inflating: food11/validation/3_137.jpg \n", + " inflating: food11/validation/3_138.jpg \n", + " inflating: food11/validation/3_139.jpg \n", + " inflating: food11/validation/3_14.jpg \n", + " inflating: food11/validation/3_140.jpg \n", + " inflating: food11/validation/3_141.jpg \n", + " inflating: food11/validation/3_142.jpg \n", + " inflating: food11/validation/3_143.jpg \n", + " inflating: food11/validation/3_144.jpg \n", + " inflating: food11/validation/3_145.jpg \n", + " inflating: food11/validation/3_146.jpg \n", + " inflating: food11/validation/3_147.jpg \n", + " inflating: food11/validation/3_148.jpg \n", + " inflating: food11/validation/3_149.jpg \n", + " inflating: food11/validation/3_15.jpg \n", + " inflating: food11/validation/3_150.jpg \n", + " inflating: food11/validation/3_151.jpg \n", + " inflating: food11/validation/3_152.jpg \n", + " inflating: food11/validation/3_153.jpg \n", + " inflating: food11/validation/3_154.jpg \n", + " inflating: food11/validation/3_155.jpg \n", + " inflating: food11/validation/3_156.jpg \n", + " inflating: food11/validation/3_157.jpg \n", + " inflating: food11/validation/3_158.jpg \n", + " inflating: food11/validation/3_159.jpg \n", + " inflating: food11/validation/3_16.jpg \n", + " inflating: food11/validation/3_160.jpg \n", + " inflating: food11/validation/3_161.jpg \n", + " inflating: food11/validation/3_162.jpg \n", + " inflating: food11/validation/3_163.jpg \n", + " inflating: food11/validation/3_164.jpg \n", + " inflating: food11/validation/3_165.jpg \n", + " inflating: food11/validation/3_166.jpg \n", + " inflating: food11/validation/3_167.jpg \n", + " inflating: food11/validation/3_168.jpg \n", + " inflating: food11/validation/3_169.jpg \n", + " inflating: food11/validation/3_17.jpg \n", + " inflating: food11/validation/3_170.jpg \n", + " inflating: food11/validation/3_171.jpg \n", + " inflating: food11/validation/3_172.jpg \n", + " inflating: food11/validation/3_173.jpg \n", + " inflating: food11/validation/3_174.jpg \n", + " inflating: food11/validation/3_175.jpg \n", + " inflating: food11/validation/3_176.jpg \n", + " inflating: food11/validation/3_177.jpg \n", + " inflating: food11/validation/3_178.jpg \n", + " inflating: food11/validation/3_179.jpg \n", + " inflating: food11/validation/3_18.jpg \n", + " inflating: food11/validation/3_180.jpg \n", + " inflating: food11/validation/3_181.jpg \n", + " inflating: food11/validation/3_182.jpg \n", + " inflating: food11/validation/3_183.jpg \n", + " inflating: food11/validation/3_184.jpg \n", + " inflating: food11/validation/3_185.jpg \n", + " inflating: food11/validation/3_186.jpg \n", + " inflating: food11/validation/3_187.jpg \n", + " inflating: food11/validation/3_188.jpg \n", + " inflating: food11/validation/3_189.jpg \n", + " inflating: food11/validation/3_19.jpg \n", + " inflating: food11/validation/3_190.jpg \n", + " inflating: food11/validation/3_191.jpg \n", + " inflating: food11/validation/3_192.jpg \n", + " inflating: food11/validation/3_193.jpg \n", + " inflating: food11/validation/3_194.jpg \n", + " inflating: food11/validation/3_195.jpg \n", + " inflating: food11/validation/3_196.jpg \n", + " inflating: food11/validation/3_197.jpg \n", + " inflating: food11/validation/3_198.jpg \n", + " inflating: food11/validation/3_199.jpg \n", + " inflating: food11/validation/3_2.jpg \n", + " inflating: food11/validation/3_20.jpg \n", + " inflating: food11/validation/3_200.jpg \n", + " inflating: food11/validation/3_201.jpg \n", + " inflating: food11/validation/3_202.jpg \n", + " inflating: food11/validation/3_203.jpg \n", + " inflating: food11/validation/3_204.jpg \n", + " inflating: food11/validation/3_205.jpg \n", + " inflating: food11/validation/3_206.jpg \n", + " inflating: food11/validation/3_207.jpg \n", + " inflating: food11/validation/3_208.jpg \n", + " inflating: food11/validation/3_209.jpg \n", + " inflating: food11/validation/3_21.jpg \n", + " inflating: food11/validation/3_210.jpg \n", + " inflating: food11/validation/3_211.jpg \n", + " inflating: food11/validation/3_212.jpg \n", + " inflating: food11/validation/3_213.jpg \n", + " inflating: food11/validation/3_214.jpg \n", + " inflating: food11/validation/3_215.jpg \n", + " inflating: food11/validation/3_216.jpg \n", + " inflating: food11/validation/3_217.jpg \n", + " inflating: food11/validation/3_218.jpg \n", + " inflating: food11/validation/3_219.jpg \n", + " inflating: food11/validation/3_22.jpg \n", + " inflating: food11/validation/3_220.jpg \n", + " inflating: food11/validation/3_221.jpg \n", + " inflating: food11/validation/3_222.jpg \n", + " inflating: food11/validation/3_223.jpg \n", + " inflating: food11/validation/3_224.jpg \n", + " inflating: food11/validation/3_225.jpg \n", + " inflating: food11/validation/3_226.jpg \n", + " inflating: food11/validation/3_227.jpg \n", + " inflating: food11/validation/3_228.jpg \n", + " inflating: food11/validation/3_229.jpg \n", + " inflating: food11/validation/3_23.jpg \n", + " inflating: food11/validation/3_230.jpg \n", + " inflating: food11/validation/3_231.jpg \n", + " inflating: food11/validation/3_232.jpg \n", + " inflating: food11/validation/3_233.jpg \n", + " inflating: food11/validation/3_234.jpg \n", + " inflating: food11/validation/3_235.jpg \n", + " inflating: food11/validation/3_236.jpg \n", + " inflating: food11/validation/3_237.jpg \n", + " inflating: food11/validation/3_238.jpg \n", + " inflating: food11/validation/3_239.jpg \n", + " inflating: food11/validation/3_24.jpg \n", + " inflating: food11/validation/3_240.jpg \n", + " inflating: food11/validation/3_241.jpg \n", + " inflating: food11/validation/3_242.jpg \n", + " inflating: food11/validation/3_243.jpg \n", + " inflating: food11/validation/3_244.jpg \n", + " inflating: food11/validation/3_245.jpg \n", + " inflating: food11/validation/3_246.jpg \n", + " inflating: food11/validation/3_247.jpg \n", + " inflating: food11/validation/3_248.jpg \n", + " inflating: food11/validation/3_249.jpg \n", + " inflating: food11/validation/3_25.jpg \n", + " inflating: food11/validation/3_250.jpg \n", + " inflating: food11/validation/3_251.jpg \n", + " inflating: food11/validation/3_252.jpg \n", + " inflating: food11/validation/3_253.jpg \n", + " inflating: food11/validation/3_254.jpg \n", + " inflating: food11/validation/3_255.jpg \n", + " inflating: food11/validation/3_256.jpg \n", + " inflating: food11/validation/3_257.jpg \n", + " inflating: food11/validation/3_258.jpg \n", + " inflating: food11/validation/3_259.jpg \n", + " inflating: food11/validation/3_26.jpg \n", + " inflating: food11/validation/3_260.jpg \n", + " inflating: food11/validation/3_261.jpg \n", + " inflating: food11/validation/3_262.jpg \n", + " inflating: food11/validation/3_263.jpg \n", + " inflating: food11/validation/3_264.jpg \n", + " inflating: food11/validation/3_265.jpg \n", + " inflating: food11/validation/3_266.jpg \n", + " inflating: food11/validation/3_267.jpg \n", + " inflating: food11/validation/3_268.jpg \n", + " inflating: food11/validation/3_269.jpg \n", + " inflating: food11/validation/3_27.jpg \n", + " inflating: food11/validation/3_270.jpg \n", + " inflating: food11/validation/3_271.jpg \n", + " inflating: food11/validation/3_272.jpg \n", + " inflating: food11/validation/3_273.jpg \n", + " inflating: food11/validation/3_274.jpg \n", + " inflating: food11/validation/3_275.jpg \n", + " inflating: food11/validation/3_276.jpg \n", + " inflating: food11/validation/3_277.jpg \n", + " inflating: food11/validation/3_278.jpg \n", + " inflating: food11/validation/3_279.jpg \n", + " inflating: food11/validation/3_28.jpg \n", + " inflating: food11/validation/3_280.jpg \n", + " inflating: food11/validation/3_281.jpg \n", + " inflating: food11/validation/3_282.jpg \n", + " inflating: food11/validation/3_283.jpg \n", + " inflating: food11/validation/3_284.jpg \n", + " inflating: food11/validation/3_285.jpg \n", + " inflating: food11/validation/3_286.jpg \n", + " inflating: food11/validation/3_287.jpg \n", + " inflating: food11/validation/3_288.jpg \n", + " inflating: food11/validation/3_289.jpg \n", + " inflating: food11/validation/3_29.jpg \n", + " inflating: food11/validation/3_290.jpg \n", + " inflating: food11/validation/3_291.jpg \n", + " inflating: food11/validation/3_292.jpg \n", + " inflating: food11/validation/3_293.jpg \n", + " inflating: food11/validation/3_294.jpg \n", + " inflating: food11/validation/3_295.jpg \n", + " inflating: food11/validation/3_296.jpg \n", + " inflating: food11/validation/3_297.jpg \n", + " inflating: food11/validation/3_298.jpg \n", + " inflating: food11/validation/3_299.jpg \n", + " inflating: food11/validation/3_3.jpg \n", + " inflating: food11/validation/3_30.jpg \n", + " inflating: food11/validation/3_300.jpg \n", + " inflating: food11/validation/3_301.jpg \n", + " inflating: food11/validation/3_302.jpg \n", + " inflating: food11/validation/3_303.jpg \n", + " inflating: food11/validation/3_304.jpg \n", + " inflating: food11/validation/3_305.jpg \n", + " inflating: food11/validation/3_306.jpg \n", + " inflating: food11/validation/3_307.jpg \n", + " inflating: food11/validation/3_308.jpg \n", + " inflating: food11/validation/3_309.jpg \n", + " inflating: food11/validation/3_31.jpg \n", + " inflating: food11/validation/3_310.jpg \n", + " inflating: food11/validation/3_311.jpg \n", + " inflating: food11/validation/3_312.jpg \n", + " inflating: food11/validation/3_313.jpg \n", + " inflating: food11/validation/3_314.jpg \n", + " inflating: food11/validation/3_315.jpg \n", + " inflating: food11/validation/3_316.jpg \n", + " inflating: food11/validation/3_317.jpg \n", + " inflating: food11/validation/3_318.jpg \n", + " inflating: food11/validation/3_319.jpg \n", + " inflating: food11/validation/3_32.jpg \n", + " inflating: food11/validation/3_320.jpg \n", + " inflating: food11/validation/3_321.jpg \n", + " inflating: food11/validation/3_322.jpg \n", + " inflating: food11/validation/3_323.jpg \n", + " inflating: food11/validation/3_324.jpg \n", + " inflating: food11/validation/3_325.jpg \n", + " inflating: food11/validation/3_326.jpg \n", + " inflating: food11/validation/3_33.jpg \n", + " inflating: food11/validation/3_34.jpg \n", + " inflating: food11/validation/3_35.jpg \n", + " inflating: food11/validation/3_36.jpg \n", + " inflating: food11/validation/3_37.jpg \n", + " inflating: food11/validation/3_38.jpg \n", + " inflating: food11/validation/3_39.jpg \n", + " inflating: food11/validation/3_4.jpg \n", + " inflating: food11/validation/3_40.jpg \n", + " inflating: food11/validation/3_41.jpg \n", + " inflating: food11/validation/3_42.jpg \n", + " inflating: food11/validation/3_43.jpg \n", + " inflating: food11/validation/3_44.jpg \n", + " inflating: food11/validation/3_45.jpg \n", + " inflating: food11/validation/3_46.jpg \n", + " inflating: food11/validation/3_47.jpg \n", + " inflating: food11/validation/3_48.jpg \n", + " inflating: food11/validation/3_49.jpg \n", + " inflating: food11/validation/3_5.jpg \n", + " inflating: food11/validation/3_50.jpg \n", + " inflating: food11/validation/3_51.jpg \n", + " inflating: food11/validation/3_52.jpg \n", + " inflating: food11/validation/3_53.jpg \n", + " inflating: food11/validation/3_54.jpg \n", + " inflating: food11/validation/3_55.jpg \n", + " inflating: food11/validation/3_56.jpg \n", + " inflating: food11/validation/3_57.jpg \n", + " inflating: food11/validation/3_58.jpg \n", + " inflating: food11/validation/3_59.jpg \n", + " inflating: food11/validation/3_6.jpg \n", + " inflating: food11/validation/3_60.jpg \n", + " inflating: food11/validation/3_61.jpg \n", + " inflating: food11/validation/3_62.jpg \n", + " inflating: food11/validation/3_63.jpg \n", + " inflating: food11/validation/3_64.jpg \n", + " inflating: food11/validation/3_65.jpg \n", + " inflating: food11/validation/3_66.jpg \n", + " inflating: food11/validation/3_67.jpg \n", + " inflating: food11/validation/3_68.jpg \n", + " inflating: food11/validation/3_69.jpg \n", + " inflating: food11/validation/3_7.jpg \n", + " inflating: food11/validation/3_70.jpg \n", + " inflating: food11/validation/3_71.jpg \n", + " inflating: food11/validation/3_72.jpg \n", + " inflating: food11/validation/3_73.jpg \n", + " inflating: food11/validation/3_74.jpg \n", + " inflating: food11/validation/3_75.jpg \n", + " inflating: food11/validation/3_76.jpg \n", + " inflating: food11/validation/3_77.jpg \n", + " inflating: food11/validation/3_78.jpg \n", + " inflating: food11/validation/3_79.jpg \n", + " inflating: food11/validation/3_8.jpg \n", + " inflating: food11/validation/3_80.jpg \n", + " inflating: food11/validation/3_81.jpg \n", + " inflating: food11/validation/3_82.jpg \n", + " inflating: food11/validation/3_83.jpg \n", + " inflating: food11/validation/3_84.jpg \n", + " inflating: food11/validation/3_85.jpg \n", + " inflating: food11/validation/3_86.jpg \n", + " inflating: food11/validation/3_87.jpg \n", + " inflating: food11/validation/3_88.jpg \n", + " inflating: food11/validation/3_89.jpg \n", + " inflating: food11/validation/3_9.jpg \n", + " inflating: food11/validation/3_90.jpg \n", + " inflating: food11/validation/3_91.jpg \n", + " inflating: food11/validation/3_92.jpg \n", + " inflating: food11/validation/3_93.jpg \n", + " inflating: food11/validation/3_94.jpg \n", + " inflating: food11/validation/3_95.jpg \n", + " inflating: food11/validation/3_96.jpg \n", + " inflating: food11/validation/3_97.jpg \n", + " inflating: food11/validation/3_98.jpg \n", + " inflating: food11/validation/3_99.jpg \n", + " inflating: food11/validation/4_0.jpg \n", + " inflating: food11/validation/4_1.jpg \n", + " inflating: food11/validation/4_10.jpg \n", + " inflating: food11/validation/4_100.jpg \n", + " inflating: food11/validation/4_101.jpg \n", + " inflating: food11/validation/4_102.jpg \n", + " inflating: food11/validation/4_103.jpg \n", + " inflating: food11/validation/4_104.jpg \n", + " inflating: food11/validation/4_105.jpg \n", + " inflating: food11/validation/4_106.jpg \n", + " inflating: food11/validation/4_107.jpg \n", + " inflating: food11/validation/4_108.jpg \n", + " inflating: food11/validation/4_109.jpg \n", + " inflating: food11/validation/4_11.jpg \n", + " inflating: food11/validation/4_110.jpg \n", + " inflating: food11/validation/4_111.jpg \n", + " inflating: food11/validation/4_112.jpg \n", + " inflating: food11/validation/4_113.jpg \n", + " inflating: food11/validation/4_114.jpg \n", + " inflating: food11/validation/4_115.jpg \n", + " inflating: food11/validation/4_116.jpg \n", + " inflating: food11/validation/4_117.jpg \n", + " inflating: food11/validation/4_118.jpg \n", + " inflating: food11/validation/4_119.jpg \n", + " inflating: food11/validation/4_12.jpg \n", + " inflating: food11/validation/4_120.jpg \n", + " inflating: food11/validation/4_121.jpg \n", + " inflating: food11/validation/4_122.jpg \n", + " inflating: food11/validation/4_123.jpg \n", + " inflating: food11/validation/4_124.jpg \n", + " inflating: food11/validation/4_125.jpg \n", + " inflating: food11/validation/4_126.jpg \n", + " inflating: food11/validation/4_127.jpg \n", + " inflating: food11/validation/4_128.jpg \n", + " inflating: food11/validation/4_129.jpg \n", + " inflating: food11/validation/4_13.jpg \n", + " inflating: food11/validation/4_130.jpg \n", + " inflating: food11/validation/4_131.jpg \n", + " inflating: food11/validation/4_132.jpg \n", + " inflating: food11/validation/4_133.jpg \n", + " inflating: food11/validation/4_134.jpg \n", + " inflating: food11/validation/4_135.jpg \n", + " inflating: food11/validation/4_136.jpg \n", + " inflating: food11/validation/4_137.jpg \n", + " inflating: food11/validation/4_138.jpg \n", + " inflating: food11/validation/4_139.jpg \n", + " inflating: food11/validation/4_14.jpg \n", + " inflating: food11/validation/4_140.jpg \n", + " inflating: food11/validation/4_141.jpg \n", + " inflating: food11/validation/4_142.jpg \n", + " inflating: food11/validation/4_143.jpg \n", + " inflating: food11/validation/4_144.jpg \n", + " inflating: food11/validation/4_145.jpg \n", + " inflating: food11/validation/4_146.jpg \n", + " inflating: food11/validation/4_147.jpg \n", + " inflating: food11/validation/4_148.jpg \n", + " inflating: food11/validation/4_149.jpg \n", + " inflating: food11/validation/4_15.jpg \n", + " inflating: food11/validation/4_150.jpg \n", + " inflating: food11/validation/4_151.jpg \n", + " inflating: food11/validation/4_152.jpg \n", + " inflating: food11/validation/4_153.jpg \n", + " inflating: food11/validation/4_154.jpg \n", + " inflating: food11/validation/4_155.jpg \n", + " inflating: food11/validation/4_156.jpg \n", + " inflating: food11/validation/4_157.jpg \n", + " inflating: food11/validation/4_158.jpg \n", + " inflating: food11/validation/4_159.jpg \n", + " inflating: food11/validation/4_16.jpg \n", + " inflating: food11/validation/4_160.jpg \n", + " inflating: food11/validation/4_161.jpg \n", + " inflating: food11/validation/4_162.jpg \n", + " inflating: food11/validation/4_163.jpg \n", + " inflating: food11/validation/4_164.jpg \n", + " inflating: food11/validation/4_165.jpg \n", + " inflating: food11/validation/4_166.jpg \n", + " inflating: food11/validation/4_167.jpg \n", + " inflating: food11/validation/4_168.jpg \n", + " inflating: food11/validation/4_169.jpg \n", + " inflating: food11/validation/4_17.jpg \n", + " inflating: food11/validation/4_170.jpg \n", + " inflating: food11/validation/4_171.jpg \n", + " inflating: food11/validation/4_172.jpg \n", + " inflating: food11/validation/4_173.jpg \n", + " inflating: food11/validation/4_174.jpg \n", + " inflating: food11/validation/4_175.jpg \n", + " inflating: food11/validation/4_176.jpg \n", + " inflating: food11/validation/4_177.jpg \n", + " inflating: food11/validation/4_178.jpg \n", + " inflating: food11/validation/4_179.jpg \n", + " inflating: food11/validation/4_18.jpg \n", + " inflating: food11/validation/4_180.jpg \n", + " inflating: food11/validation/4_181.jpg \n", + " inflating: food11/validation/4_182.jpg \n", + " inflating: food11/validation/4_183.jpg \n", + " inflating: food11/validation/4_184.jpg \n", + " inflating: food11/validation/4_185.jpg \n", + " inflating: food11/validation/4_186.jpg \n", + " inflating: food11/validation/4_187.jpg \n", + " inflating: food11/validation/4_188.jpg \n", + " inflating: food11/validation/4_189.jpg \n", + " inflating: food11/validation/4_19.jpg \n", + " inflating: food11/validation/4_190.jpg \n", + " inflating: food11/validation/4_191.jpg \n", + " inflating: food11/validation/4_192.jpg \n", + " inflating: food11/validation/4_193.jpg \n", + " inflating: food11/validation/4_194.jpg \n", + " inflating: food11/validation/4_195.jpg \n", + " inflating: food11/validation/4_196.jpg \n", + " inflating: food11/validation/4_197.jpg \n", + " inflating: food11/validation/4_198.jpg \n", + " inflating: food11/validation/4_199.jpg \n", + " inflating: food11/validation/4_2.jpg \n", + " inflating: food11/validation/4_20.jpg \n", + " inflating: food11/validation/4_200.jpg \n", + " inflating: food11/validation/4_201.jpg \n", + " inflating: food11/validation/4_202.jpg \n", + " inflating: food11/validation/4_203.jpg \n", + " inflating: food11/validation/4_204.jpg \n", + " inflating: food11/validation/4_205.jpg \n", + " inflating: food11/validation/4_206.jpg \n", + " inflating: food11/validation/4_207.jpg \n", + " inflating: food11/validation/4_208.jpg \n", + " inflating: food11/validation/4_209.jpg \n", + " inflating: food11/validation/4_21.jpg \n", + " inflating: food11/validation/4_210.jpg \n", + " inflating: food11/validation/4_211.jpg \n", + " inflating: food11/validation/4_212.jpg \n", + " inflating: food11/validation/4_213.jpg \n", + " inflating: food11/validation/4_214.jpg \n", + " inflating: food11/validation/4_215.jpg \n", + " inflating: food11/validation/4_216.jpg \n", + " inflating: food11/validation/4_217.jpg \n", + " inflating: food11/validation/4_218.jpg \n", + " inflating: food11/validation/4_219.jpg \n", + " inflating: food11/validation/4_22.jpg \n", + " inflating: food11/validation/4_220.jpg \n", + " inflating: food11/validation/4_221.jpg \n", + " inflating: food11/validation/4_222.jpg \n", + " inflating: food11/validation/4_223.jpg \n", + " inflating: food11/validation/4_224.jpg \n", + " inflating: food11/validation/4_225.jpg \n", + " inflating: food11/validation/4_226.jpg \n", + " inflating: food11/validation/4_227.jpg \n", + " inflating: food11/validation/4_228.jpg \n", + " inflating: food11/validation/4_229.jpg \n", + " inflating: food11/validation/4_23.jpg \n", + " inflating: food11/validation/4_230.jpg \n", + " inflating: food11/validation/4_231.jpg \n", + " inflating: food11/validation/4_232.jpg \n", + " inflating: food11/validation/4_233.jpg \n", + " inflating: food11/validation/4_234.jpg \n", + " inflating: food11/validation/4_235.jpg \n", + " inflating: food11/validation/4_236.jpg \n", + " inflating: food11/validation/4_237.jpg \n", + " inflating: food11/validation/4_238.jpg \n", + " inflating: food11/validation/4_239.jpg \n", + " inflating: food11/validation/4_24.jpg \n", + " inflating: food11/validation/4_240.jpg \n", + " inflating: food11/validation/4_241.jpg \n", + " inflating: food11/validation/4_242.jpg \n", + " inflating: food11/validation/4_243.jpg \n", + " inflating: food11/validation/4_244.jpg \n", + " inflating: food11/validation/4_245.jpg \n", + " inflating: food11/validation/4_246.jpg \n", + " inflating: food11/validation/4_247.jpg \n", + " inflating: food11/validation/4_248.jpg \n", + " inflating: food11/validation/4_249.jpg \n", + " inflating: food11/validation/4_25.jpg \n", + " inflating: food11/validation/4_250.jpg \n", + " inflating: food11/validation/4_251.jpg \n", + " inflating: food11/validation/4_252.jpg \n", + " inflating: food11/validation/4_253.jpg \n", + " inflating: food11/validation/4_254.jpg \n", + " inflating: food11/validation/4_255.jpg \n", + " inflating: food11/validation/4_256.jpg \n", + " inflating: food11/validation/4_257.jpg \n", + " inflating: food11/validation/4_258.jpg \n", + " inflating: food11/validation/4_259.jpg \n", + " inflating: food11/validation/4_26.jpg \n", + " inflating: food11/validation/4_260.jpg \n", + " inflating: food11/validation/4_261.jpg \n", + " inflating: food11/validation/4_262.jpg \n", + " inflating: food11/validation/4_263.jpg \n", + " inflating: food11/validation/4_264.jpg \n", + " inflating: food11/validation/4_265.jpg \n", + " inflating: food11/validation/4_266.jpg \n", + " inflating: food11/validation/4_267.jpg \n", + " inflating: food11/validation/4_268.jpg \n", + " inflating: food11/validation/4_269.jpg \n", + " inflating: food11/validation/4_27.jpg \n", + " inflating: food11/validation/4_270.jpg \n", + " inflating: food11/validation/4_271.jpg \n", + " inflating: food11/validation/4_272.jpg \n", + " inflating: food11/validation/4_273.jpg \n", + " inflating: food11/validation/4_274.jpg \n", + " inflating: food11/validation/4_275.jpg \n", + " inflating: food11/validation/4_276.jpg \n", + " inflating: food11/validation/4_277.jpg \n", + " inflating: food11/validation/4_278.jpg \n", + " inflating: food11/validation/4_279.jpg \n", + " inflating: food11/validation/4_28.jpg \n", + " inflating: food11/validation/4_280.jpg \n", + " inflating: food11/validation/4_281.jpg \n", + " inflating: food11/validation/4_282.jpg \n", + " inflating: food11/validation/4_283.jpg \n", + " inflating: food11/validation/4_284.jpg \n", + " inflating: food11/validation/4_285.jpg \n", + " inflating: food11/validation/4_286.jpg \n", + " inflating: food11/validation/4_287.jpg \n", + " inflating: food11/validation/4_288.jpg \n", + " inflating: food11/validation/4_289.jpg \n", + " inflating: food11/validation/4_29.jpg \n", + " inflating: food11/validation/4_290.jpg \n", + " inflating: food11/validation/4_291.jpg \n", + " inflating: food11/validation/4_292.jpg \n", + " inflating: food11/validation/4_293.jpg \n", + " inflating: food11/validation/4_294.jpg \n", + " inflating: food11/validation/4_295.jpg \n", + " inflating: food11/validation/4_296.jpg \n", + " inflating: food11/validation/4_297.jpg \n", + " inflating: food11/validation/4_298.jpg \n", + " inflating: food11/validation/4_299.jpg \n", + " inflating: food11/validation/4_3.jpg \n", + " inflating: food11/validation/4_30.jpg \n", + " inflating: food11/validation/4_300.jpg \n", + " inflating: food11/validation/4_301.jpg \n", + " inflating: food11/validation/4_302.jpg \n", + " inflating: food11/validation/4_303.jpg \n", + " inflating: food11/validation/4_304.jpg \n", + " inflating: food11/validation/4_305.jpg \n", + " inflating: food11/validation/4_306.jpg \n", + " inflating: food11/validation/4_307.jpg \n", + " inflating: food11/validation/4_308.jpg \n", + " inflating: food11/validation/4_309.jpg \n", + " inflating: food11/validation/4_31.jpg \n", + " inflating: food11/validation/4_310.jpg \n", + " inflating: food11/validation/4_311.jpg \n", + " inflating: food11/validation/4_312.jpg \n", + " inflating: food11/validation/4_313.jpg \n", + " inflating: food11/validation/4_314.jpg \n", + " inflating: food11/validation/4_315.jpg \n", + " inflating: food11/validation/4_316.jpg \n", + " inflating: food11/validation/4_317.jpg \n", + " inflating: food11/validation/4_318.jpg \n", + " inflating: food11/validation/4_319.jpg \n", + " inflating: food11/validation/4_32.jpg \n", + " inflating: food11/validation/4_320.jpg \n", + " inflating: food11/validation/4_321.jpg \n", + " inflating: food11/validation/4_322.jpg \n", + " inflating: food11/validation/4_323.jpg \n", + " inflating: food11/validation/4_324.jpg \n", + " inflating: food11/validation/4_325.jpg \n", + " inflating: food11/validation/4_33.jpg \n", + " inflating: food11/validation/4_34.jpg \n", + " inflating: food11/validation/4_35.jpg \n", + " inflating: food11/validation/4_36.jpg \n", + " inflating: food11/validation/4_37.jpg \n", + " inflating: food11/validation/4_38.jpg \n", + " inflating: food11/validation/4_39.jpg \n", + " inflating: food11/validation/4_4.jpg \n", + " inflating: food11/validation/4_40.jpg \n", + " inflating: food11/validation/4_41.jpg \n", + " inflating: food11/validation/4_42.jpg \n", + " inflating: food11/validation/4_43.jpg \n", + " inflating: food11/validation/4_44.jpg \n", + " inflating: food11/validation/4_45.jpg \n", + " inflating: food11/validation/4_46.jpg \n", + " inflating: food11/validation/4_47.jpg \n", + " inflating: food11/validation/4_48.jpg \n", + " inflating: food11/validation/4_49.jpg \n", + " inflating: food11/validation/4_5.jpg \n", + " inflating: food11/validation/4_50.jpg \n", + " inflating: food11/validation/4_51.jpg \n", + " inflating: food11/validation/4_52.jpg \n", + " inflating: food11/validation/4_53.jpg \n", + " inflating: food11/validation/4_54.jpg \n", + " inflating: food11/validation/4_55.jpg \n", + " inflating: food11/validation/4_56.jpg \n", + " inflating: food11/validation/4_57.jpg \n", + " inflating: food11/validation/4_58.jpg \n", + " inflating: food11/validation/4_59.jpg \n", + " inflating: food11/validation/4_6.jpg \n", + " inflating: food11/validation/4_60.jpg \n", + " inflating: food11/validation/4_61.jpg \n", + " inflating: food11/validation/4_62.jpg \n", + " inflating: food11/validation/4_63.jpg \n", + " inflating: food11/validation/4_64.jpg \n", + " inflating: food11/validation/4_65.jpg \n", + " inflating: food11/validation/4_66.jpg \n", + " inflating: food11/validation/4_67.jpg \n", + " inflating: food11/validation/4_68.jpg \n", + " inflating: food11/validation/4_69.jpg \n", + " inflating: food11/validation/4_7.jpg \n", + " inflating: food11/validation/4_70.jpg \n", + " inflating: food11/validation/4_71.jpg \n", + " inflating: food11/validation/4_72.jpg \n", + " inflating: food11/validation/4_73.jpg \n", + " inflating: food11/validation/4_74.jpg \n", + " inflating: food11/validation/4_75.jpg \n", + " inflating: food11/validation/4_76.jpg \n", + " inflating: food11/validation/4_77.jpg \n", + " inflating: food11/validation/4_78.jpg \n", + " inflating: food11/validation/4_79.jpg \n", + " inflating: food11/validation/4_8.jpg \n", + " inflating: food11/validation/4_80.jpg \n", + " inflating: food11/validation/4_81.jpg \n", + " inflating: food11/validation/4_82.jpg \n", + " inflating: food11/validation/4_83.jpg \n", + " inflating: food11/validation/4_84.jpg \n", + " inflating: food11/validation/4_85.jpg \n", + " inflating: food11/validation/4_86.jpg \n", + " inflating: food11/validation/4_87.jpg \n", + " inflating: food11/validation/4_88.jpg \n", + " inflating: food11/validation/4_89.jpg \n", + " inflating: food11/validation/4_9.jpg \n", + " inflating: food11/validation/4_90.jpg \n", + " inflating: food11/validation/4_91.jpg \n", + " inflating: food11/validation/4_92.jpg \n", + " inflating: food11/validation/4_93.jpg \n", + " inflating: food11/validation/4_94.jpg \n", + " inflating: food11/validation/4_95.jpg \n", + " inflating: food11/validation/4_96.jpg \n", + " inflating: food11/validation/4_97.jpg \n", + " inflating: food11/validation/4_98.jpg \n", + " inflating: food11/validation/4_99.jpg \n", + " inflating: food11/validation/5_0.jpg \n", + " inflating: food11/validation/5_1.jpg \n", + " inflating: food11/validation/5_10.jpg \n", + " inflating: food11/validation/5_100.jpg \n", + " inflating: food11/validation/5_101.jpg \n", + " inflating: food11/validation/5_102.jpg \n", + " inflating: food11/validation/5_103.jpg \n", + " inflating: food11/validation/5_104.jpg \n", + " inflating: food11/validation/5_105.jpg \n", + " inflating: food11/validation/5_106.jpg \n", + " inflating: food11/validation/5_107.jpg \n", + " inflating: food11/validation/5_108.jpg \n", + " inflating: food11/validation/5_109.jpg \n", + " inflating: food11/validation/5_11.jpg \n", + " inflating: food11/validation/5_110.jpg \n", + " inflating: food11/validation/5_111.jpg \n", + " inflating: food11/validation/5_112.jpg \n", + " inflating: food11/validation/5_113.jpg \n", + " inflating: food11/validation/5_114.jpg \n", + " inflating: food11/validation/5_115.jpg \n", + " inflating: food11/validation/5_116.jpg \n", + " inflating: food11/validation/5_117.jpg \n", + " inflating: food11/validation/5_118.jpg \n", + " inflating: food11/validation/5_119.jpg \n", + " inflating: food11/validation/5_12.jpg \n", + " inflating: food11/validation/5_120.jpg \n", + " inflating: food11/validation/5_121.jpg \n", + " inflating: food11/validation/5_122.jpg \n", + " inflating: food11/validation/5_123.jpg \n", + " inflating: food11/validation/5_124.jpg \n", + " inflating: food11/validation/5_125.jpg \n", + " inflating: food11/validation/5_126.jpg \n", + " inflating: food11/validation/5_127.jpg \n", + " inflating: food11/validation/5_128.jpg \n", + " inflating: food11/validation/5_129.jpg \n", + " inflating: food11/validation/5_13.jpg \n", + " inflating: food11/validation/5_130.jpg \n", + " inflating: food11/validation/5_131.jpg \n", + " inflating: food11/validation/5_132.jpg \n", + " inflating: food11/validation/5_133.jpg \n", + " inflating: food11/validation/5_134.jpg \n", + " inflating: food11/validation/5_135.jpg \n", + " inflating: food11/validation/5_136.jpg \n", + " inflating: food11/validation/5_137.jpg \n", + " inflating: food11/validation/5_138.jpg \n", + " inflating: food11/validation/5_139.jpg \n", + " inflating: food11/validation/5_14.jpg \n", + " inflating: food11/validation/5_140.jpg \n", + " inflating: food11/validation/5_141.jpg \n", + " inflating: food11/validation/5_142.jpg \n", + " inflating: food11/validation/5_143.jpg \n", + " inflating: food11/validation/5_144.jpg \n", + " inflating: food11/validation/5_145.jpg \n", + " inflating: food11/validation/5_146.jpg \n", + " inflating: food11/validation/5_147.jpg \n", + " inflating: food11/validation/5_148.jpg \n", + " inflating: food11/validation/5_149.jpg \n", + " inflating: food11/validation/5_15.jpg \n", + " inflating: food11/validation/5_150.jpg \n", + " inflating: food11/validation/5_151.jpg \n", + " inflating: food11/validation/5_152.jpg \n", + " inflating: food11/validation/5_153.jpg \n", + " inflating: food11/validation/5_154.jpg \n", + " inflating: food11/validation/5_155.jpg \n", + " inflating: food11/validation/5_156.jpg \n", + " inflating: food11/validation/5_157.jpg \n", + " inflating: food11/validation/5_158.jpg \n", + " inflating: food11/validation/5_159.jpg \n", + " inflating: food11/validation/5_16.jpg \n", + " inflating: food11/validation/5_160.jpg \n", + " inflating: food11/validation/5_161.jpg \n", + " inflating: food11/validation/5_162.jpg \n", + " inflating: food11/validation/5_163.jpg \n", + " inflating: food11/validation/5_164.jpg \n", + " inflating: food11/validation/5_165.jpg \n", + " inflating: food11/validation/5_166.jpg \n", + " inflating: food11/validation/5_167.jpg \n", + " inflating: food11/validation/5_168.jpg \n", + " inflating: food11/validation/5_169.jpg \n", + " inflating: food11/validation/5_17.jpg \n", + " inflating: food11/validation/5_170.jpg \n", + " inflating: food11/validation/5_171.jpg \n", + " inflating: food11/validation/5_172.jpg \n", + " inflating: food11/validation/5_173.jpg \n", + " inflating: food11/validation/5_174.jpg \n", + " inflating: food11/validation/5_175.jpg \n", + " inflating: food11/validation/5_176.jpg \n", + " inflating: food11/validation/5_177.jpg \n", + " inflating: food11/validation/5_178.jpg \n", + " inflating: food11/validation/5_179.jpg \n", + " inflating: food11/validation/5_18.jpg \n", + " inflating: food11/validation/5_180.jpg \n", + " inflating: food11/validation/5_181.jpg \n", + " inflating: food11/validation/5_182.jpg \n", + " inflating: food11/validation/5_183.jpg \n", + " inflating: food11/validation/5_184.jpg \n", + " inflating: food11/validation/5_185.jpg \n", + " inflating: food11/validation/5_186.jpg \n", + " inflating: food11/validation/5_187.jpg \n", + " inflating: food11/validation/5_188.jpg \n", + " inflating: food11/validation/5_189.jpg \n", + " inflating: food11/validation/5_19.jpg \n", + " inflating: food11/validation/5_190.jpg \n", + " inflating: food11/validation/5_191.jpg \n", + " inflating: food11/validation/5_192.jpg \n", + " inflating: food11/validation/5_193.jpg \n", + " inflating: food11/validation/5_194.jpg \n", + " inflating: food11/validation/5_195.jpg \n", + " inflating: food11/validation/5_196.jpg \n", + " inflating: food11/validation/5_197.jpg \n", + " inflating: food11/validation/5_198.jpg \n", + " inflating: food11/validation/5_199.jpg \n", + " inflating: food11/validation/5_2.jpg \n", + " inflating: food11/validation/5_20.jpg \n", + " inflating: food11/validation/5_200.jpg \n", + " inflating: food11/validation/5_201.jpg \n", + " inflating: food11/validation/5_202.jpg \n", + " inflating: food11/validation/5_203.jpg \n", + " inflating: food11/validation/5_204.jpg \n", + " inflating: food11/validation/5_205.jpg \n", + " inflating: food11/validation/5_206.jpg \n", + " inflating: food11/validation/5_207.jpg \n", + " inflating: food11/validation/5_208.jpg \n", + " inflating: food11/validation/5_209.jpg \n", + " inflating: food11/validation/5_21.jpg \n", + " inflating: food11/validation/5_210.jpg \n", + " inflating: food11/validation/5_211.jpg \n", + " inflating: food11/validation/5_212.jpg \n", + " inflating: food11/validation/5_213.jpg \n", + " inflating: food11/validation/5_214.jpg \n", + " inflating: food11/validation/5_215.jpg \n", + " inflating: food11/validation/5_216.jpg \n", + " inflating: food11/validation/5_217.jpg \n", + " inflating: food11/validation/5_218.jpg \n", + " inflating: food11/validation/5_219.jpg \n", + " inflating: food11/validation/5_22.jpg \n", + " inflating: food11/validation/5_220.jpg \n", + " inflating: food11/validation/5_221.jpg \n", + " inflating: food11/validation/5_222.jpg \n", + " inflating: food11/validation/5_223.jpg \n", + " inflating: food11/validation/5_224.jpg \n", + " inflating: food11/validation/5_225.jpg \n", + " inflating: food11/validation/5_226.jpg \n", + " inflating: food11/validation/5_227.jpg \n", + " inflating: food11/validation/5_228.jpg \n", + " inflating: food11/validation/5_229.jpg \n", + " inflating: food11/validation/5_23.jpg \n", + " inflating: food11/validation/5_230.jpg \n", + " inflating: food11/validation/5_231.jpg \n", + " inflating: food11/validation/5_232.jpg \n", + " inflating: food11/validation/5_233.jpg \n", + " inflating: food11/validation/5_234.jpg \n", + " inflating: food11/validation/5_235.jpg \n", + " inflating: food11/validation/5_236.jpg \n", + " inflating: food11/validation/5_237.jpg \n", + " inflating: food11/validation/5_238.jpg \n", + " inflating: food11/validation/5_239.jpg \n", + " inflating: food11/validation/5_24.jpg \n", + " inflating: food11/validation/5_240.jpg \n", + " inflating: food11/validation/5_241.jpg \n", + " inflating: food11/validation/5_242.jpg \n", + " inflating: food11/validation/5_243.jpg \n", + " inflating: food11/validation/5_244.jpg \n", + " inflating: food11/validation/5_245.jpg \n", + " inflating: food11/validation/5_246.jpg \n", + " inflating: food11/validation/5_247.jpg \n", + " inflating: food11/validation/5_248.jpg \n", + " inflating: food11/validation/5_249.jpg \n", + " inflating: food11/validation/5_25.jpg \n", + " inflating: food11/validation/5_250.jpg \n", + " inflating: food11/validation/5_251.jpg \n", + " inflating: food11/validation/5_252.jpg \n", + " inflating: food11/validation/5_253.jpg \n", + " inflating: food11/validation/5_254.jpg \n", + " inflating: food11/validation/5_255.jpg \n", + " inflating: food11/validation/5_256.jpg \n", + " inflating: food11/validation/5_257.jpg \n", + " inflating: food11/validation/5_258.jpg \n", + " inflating: food11/validation/5_259.jpg \n", + " inflating: food11/validation/5_26.jpg \n", + " inflating: food11/validation/5_260.jpg \n", + " inflating: food11/validation/5_261.jpg \n", + " inflating: food11/validation/5_262.jpg \n", + " inflating: food11/validation/5_263.jpg \n", + " inflating: food11/validation/5_264.jpg \n", + " inflating: food11/validation/5_265.jpg \n", + " inflating: food11/validation/5_266.jpg \n", + " inflating: food11/validation/5_267.jpg \n", + " inflating: food11/validation/5_268.jpg \n", + " inflating: food11/validation/5_269.jpg \n", + " inflating: food11/validation/5_27.jpg \n", + " inflating: food11/validation/5_270.jpg \n", + " inflating: food11/validation/5_271.jpg \n", + " inflating: food11/validation/5_272.jpg \n", + " inflating: food11/validation/5_273.jpg \n", + " inflating: food11/validation/5_274.jpg \n", + " inflating: food11/validation/5_275.jpg \n", + " inflating: food11/validation/5_276.jpg \n", + " inflating: food11/validation/5_277.jpg \n", + " inflating: food11/validation/5_278.jpg \n", + " inflating: food11/validation/5_279.jpg \n", + " inflating: food11/validation/5_28.jpg \n", + " inflating: food11/validation/5_280.jpg \n", + " inflating: food11/validation/5_281.jpg \n", + " inflating: food11/validation/5_282.jpg \n", + " inflating: food11/validation/5_283.jpg \n", + " inflating: food11/validation/5_284.jpg \n", + " inflating: food11/validation/5_285.jpg \n", + " inflating: food11/validation/5_286.jpg \n", + " inflating: food11/validation/5_287.jpg \n", + " inflating: food11/validation/5_288.jpg \n", + " inflating: food11/validation/5_289.jpg \n", + " inflating: food11/validation/5_29.jpg \n", + " inflating: food11/validation/5_290.jpg \n", + " inflating: food11/validation/5_291.jpg \n", + " inflating: food11/validation/5_292.jpg \n", + " inflating: food11/validation/5_293.jpg \n", + " inflating: food11/validation/5_294.jpg \n", + " inflating: food11/validation/5_295.jpg \n", + " inflating: food11/validation/5_296.jpg \n", + " inflating: food11/validation/5_297.jpg \n", + " inflating: food11/validation/5_298.jpg \n", + " inflating: food11/validation/5_299.jpg \n", + " inflating: food11/validation/5_3.jpg \n", + " inflating: food11/validation/5_30.jpg \n", + " inflating: food11/validation/5_300.jpg \n", + " inflating: food11/validation/5_301.jpg \n", + " inflating: food11/validation/5_302.jpg \n", + " inflating: food11/validation/5_303.jpg \n", + " inflating: food11/validation/5_304.jpg \n", + " inflating: food11/validation/5_305.jpg \n", + " inflating: food11/validation/5_306.jpg \n", + " inflating: food11/validation/5_307.jpg \n", + " inflating: food11/validation/5_308.jpg \n", + " inflating: food11/validation/5_309.jpg \n", + " inflating: food11/validation/5_31.jpg \n", + " inflating: food11/validation/5_310.jpg \n", + " inflating: food11/validation/5_311.jpg \n", + " inflating: food11/validation/5_312.jpg \n", + " inflating: food11/validation/5_313.jpg \n", + " inflating: food11/validation/5_314.jpg \n", + " inflating: food11/validation/5_315.jpg \n", + " inflating: food11/validation/5_316.jpg \n", + " inflating: food11/validation/5_317.jpg \n", + " inflating: food11/validation/5_318.jpg \n", + " inflating: food11/validation/5_319.jpg \n", + " inflating: food11/validation/5_32.jpg \n", + " inflating: food11/validation/5_320.jpg \n", + " inflating: food11/validation/5_321.jpg \n", + " inflating: food11/validation/5_322.jpg \n", + " inflating: food11/validation/5_323.jpg \n", + " inflating: food11/validation/5_324.jpg \n", + " inflating: food11/validation/5_325.jpg \n", + " inflating: food11/validation/5_326.jpg \n", + " inflating: food11/validation/5_327.jpg \n", + " inflating: food11/validation/5_328.jpg \n", + " inflating: food11/validation/5_329.jpg \n", + " inflating: food11/validation/5_33.jpg \n", + " inflating: food11/validation/5_330.jpg \n", + " inflating: food11/validation/5_331.jpg \n", + " inflating: food11/validation/5_332.jpg \n", + " inflating: food11/validation/5_333.jpg \n", + " inflating: food11/validation/5_334.jpg \n", + " inflating: food11/validation/5_335.jpg \n", + " inflating: food11/validation/5_336.jpg \n", + " inflating: food11/validation/5_337.jpg \n", + " inflating: food11/validation/5_338.jpg \n", + " inflating: food11/validation/5_339.jpg \n", + " inflating: food11/validation/5_34.jpg \n", + " inflating: food11/validation/5_340.jpg \n", + " inflating: food11/validation/5_341.jpg \n", + " inflating: food11/validation/5_342.jpg \n", + " inflating: food11/validation/5_343.jpg \n", + " inflating: food11/validation/5_344.jpg \n", + " inflating: food11/validation/5_345.jpg \n", + " inflating: food11/validation/5_346.jpg \n", + " inflating: food11/validation/5_347.jpg \n", + " inflating: food11/validation/5_348.jpg \n", + " inflating: food11/validation/5_349.jpg \n", + " inflating: food11/validation/5_35.jpg \n", + " inflating: food11/validation/5_350.jpg \n", + " inflating: food11/validation/5_351.jpg \n", + " inflating: food11/validation/5_352.jpg \n", + " inflating: food11/validation/5_353.jpg \n", + " inflating: food11/validation/5_354.jpg \n", + " inflating: food11/validation/5_355.jpg \n", + " inflating: food11/validation/5_356.jpg \n", + " inflating: food11/validation/5_357.jpg \n", + " inflating: food11/validation/5_358.jpg \n", + " inflating: food11/validation/5_359.jpg \n", + " inflating: food11/validation/5_36.jpg \n", + " inflating: food11/validation/5_360.jpg \n", + " inflating: food11/validation/5_361.jpg \n", + " inflating: food11/validation/5_362.jpg \n", + " inflating: food11/validation/5_363.jpg \n", + " inflating: food11/validation/5_364.jpg \n", + " inflating: food11/validation/5_365.jpg \n", + " inflating: food11/validation/5_366.jpg \n", + " inflating: food11/validation/5_367.jpg \n", + " inflating: food11/validation/5_368.jpg \n", + " inflating: food11/validation/5_369.jpg \n", + " inflating: food11/validation/5_37.jpg \n", + " inflating: food11/validation/5_370.jpg \n", + " inflating: food11/validation/5_371.jpg \n", + " inflating: food11/validation/5_372.jpg \n", + " inflating: food11/validation/5_373.jpg \n", + " inflating: food11/validation/5_374.jpg \n", + " inflating: food11/validation/5_375.jpg \n", + " inflating: food11/validation/5_376.jpg \n", + " inflating: food11/validation/5_377.jpg \n", + " inflating: food11/validation/5_378.jpg \n", + " inflating: food11/validation/5_379.jpg \n", + " inflating: food11/validation/5_38.jpg \n", + " inflating: food11/validation/5_380.jpg \n", + " inflating: food11/validation/5_381.jpg \n", + " inflating: food11/validation/5_382.jpg \n", + " inflating: food11/validation/5_383.jpg \n", + " inflating: food11/validation/5_384.jpg \n", + " inflating: food11/validation/5_385.jpg \n", + " inflating: food11/validation/5_386.jpg \n", + " inflating: food11/validation/5_387.jpg \n", + " inflating: food11/validation/5_388.jpg \n", + " inflating: food11/validation/5_389.jpg \n", + " inflating: food11/validation/5_39.jpg \n", + " inflating: food11/validation/5_390.jpg \n", + " inflating: food11/validation/5_391.jpg \n", + " inflating: food11/validation/5_392.jpg \n", + " inflating: food11/validation/5_393.jpg \n", + " inflating: food11/validation/5_394.jpg \n", + " inflating: food11/validation/5_395.jpg \n", + " inflating: food11/validation/5_396.jpg \n", + " inflating: food11/validation/5_397.jpg \n", + " inflating: food11/validation/5_398.jpg \n", + " inflating: food11/validation/5_399.jpg \n", + " inflating: food11/validation/5_4.jpg \n", + " inflating: food11/validation/5_40.jpg \n", + " inflating: food11/validation/5_400.jpg \n", + " inflating: food11/validation/5_401.jpg \n", + " inflating: food11/validation/5_402.jpg \n", + " inflating: food11/validation/5_403.jpg \n", + " inflating: food11/validation/5_404.jpg \n", + " inflating: food11/validation/5_405.jpg \n", + " inflating: food11/validation/5_406.jpg \n", + " inflating: food11/validation/5_407.jpg \n", + " inflating: food11/validation/5_408.jpg \n", + " inflating: food11/validation/5_409.jpg \n", + " inflating: food11/validation/5_41.jpg \n", + " inflating: food11/validation/5_410.jpg \n", + " inflating: food11/validation/5_411.jpg \n", + " inflating: food11/validation/5_412.jpg \n", + " inflating: food11/validation/5_413.jpg \n", + " inflating: food11/validation/5_414.jpg \n", + " inflating: food11/validation/5_415.jpg \n", + " inflating: food11/validation/5_416.jpg \n", + " inflating: food11/validation/5_417.jpg \n", + " inflating: food11/validation/5_418.jpg \n", + " inflating: food11/validation/5_419.jpg \n", + " inflating: food11/validation/5_42.jpg \n", + " inflating: food11/validation/5_420.jpg \n", + " inflating: food11/validation/5_421.jpg \n", + " inflating: food11/validation/5_422.jpg \n", + " inflating: food11/validation/5_423.jpg \n", + " inflating: food11/validation/5_424.jpg \n", + " inflating: food11/validation/5_425.jpg \n", + " inflating: food11/validation/5_426.jpg \n", + " inflating: food11/validation/5_427.jpg \n", + " inflating: food11/validation/5_428.jpg \n", + " inflating: food11/validation/5_429.jpg \n", + " inflating: food11/validation/5_43.jpg \n", + " inflating: food11/validation/5_430.jpg \n", + " inflating: food11/validation/5_431.jpg \n", + " inflating: food11/validation/5_432.jpg \n", + " inflating: food11/validation/5_433.jpg \n", + " inflating: food11/validation/5_434.jpg \n", + " inflating: food11/validation/5_435.jpg \n", + " inflating: food11/validation/5_436.jpg \n", + " inflating: food11/validation/5_437.jpg \n", + " inflating: food11/validation/5_438.jpg \n", + " inflating: food11/validation/5_439.jpg \n", + " inflating: food11/validation/5_44.jpg \n", + " inflating: food11/validation/5_440.jpg \n", + " inflating: food11/validation/5_441.jpg \n", + " inflating: food11/validation/5_442.jpg \n", + " inflating: food11/validation/5_443.jpg \n", + " inflating: food11/validation/5_444.jpg \n", + " inflating: food11/validation/5_445.jpg \n", + " inflating: food11/validation/5_446.jpg \n", + " inflating: food11/validation/5_447.jpg \n", + " inflating: food11/validation/5_448.jpg \n", + " inflating: food11/validation/5_45.jpg \n", + " inflating: food11/validation/5_46.jpg \n", + " inflating: food11/validation/5_47.jpg \n", + " inflating: food11/validation/5_48.jpg \n", + " inflating: food11/validation/5_49.jpg \n", + " inflating: food11/validation/5_5.jpg \n", + " inflating: food11/validation/5_50.jpg \n", + " inflating: food11/validation/5_51.jpg \n", + " inflating: food11/validation/5_52.jpg \n", + " inflating: food11/validation/5_53.jpg \n", + " inflating: food11/validation/5_54.jpg \n", + " inflating: food11/validation/5_55.jpg \n", + " inflating: food11/validation/5_56.jpg \n", + " inflating: food11/validation/5_57.jpg \n", + " inflating: food11/validation/5_58.jpg \n", + " inflating: food11/validation/5_59.jpg \n", + " inflating: food11/validation/5_6.jpg \n", + " inflating: food11/validation/5_60.jpg \n", + " inflating: food11/validation/5_61.jpg \n", + " inflating: food11/validation/5_62.jpg \n", + " inflating: food11/validation/5_63.jpg \n", + " inflating: food11/validation/5_64.jpg \n", + " inflating: food11/validation/5_65.jpg \n", + " inflating: food11/validation/5_66.jpg \n", + " inflating: food11/validation/5_67.jpg \n", + " inflating: food11/validation/5_68.jpg \n", + " inflating: food11/validation/5_69.jpg \n", + " inflating: food11/validation/5_7.jpg \n", + " inflating: food11/validation/5_70.jpg \n", + " inflating: food11/validation/5_71.jpg \n", + " inflating: food11/validation/5_72.jpg \n", + " inflating: food11/validation/5_73.jpg \n", + " inflating: food11/validation/5_74.jpg \n", + " inflating: food11/validation/5_75.jpg \n", + " inflating: food11/validation/5_76.jpg \n", + " inflating: food11/validation/5_77.jpg \n", + " inflating: food11/validation/5_78.jpg \n", + " inflating: food11/validation/5_79.jpg \n", + " inflating: food11/validation/5_8.jpg \n", + " inflating: food11/validation/5_80.jpg \n", + " inflating: food11/validation/5_81.jpg \n", + " inflating: food11/validation/5_82.jpg \n", + " inflating: food11/validation/5_83.jpg \n", + " inflating: food11/validation/5_84.jpg \n", + " inflating: food11/validation/5_85.jpg \n", + " inflating: food11/validation/5_86.jpg \n", + " inflating: food11/validation/5_87.jpg \n", + " inflating: food11/validation/5_88.jpg \n", + " inflating: food11/validation/5_89.jpg \n", + " inflating: food11/validation/5_9.jpg \n", + " inflating: food11/validation/5_90.jpg \n", + " inflating: food11/validation/5_91.jpg \n", + " inflating: food11/validation/5_92.jpg \n", + " inflating: food11/validation/5_93.jpg \n", + " inflating: food11/validation/5_94.jpg \n", + " inflating: food11/validation/5_95.jpg \n", + " inflating: food11/validation/5_96.jpg \n", + " inflating: food11/validation/5_97.jpg \n", + " inflating: food11/validation/5_98.jpg \n", + " inflating: food11/validation/5_99.jpg \n", + " inflating: food11/validation/6_0.jpg \n", + " inflating: food11/validation/6_1.jpg \n", + " inflating: food11/validation/6_10.jpg \n", + " inflating: food11/validation/6_100.jpg \n", + " inflating: food11/validation/6_101.jpg \n", + " inflating: food11/validation/6_102.jpg \n", + " inflating: food11/validation/6_103.jpg \n", + " inflating: food11/validation/6_104.jpg \n", + " inflating: food11/validation/6_105.jpg \n", + " inflating: food11/validation/6_106.jpg \n", + " inflating: food11/validation/6_107.jpg \n", + " inflating: food11/validation/6_108.jpg \n", + " inflating: food11/validation/6_109.jpg \n", + " inflating: food11/validation/6_11.jpg \n", + " inflating: food11/validation/6_110.jpg \n", + " inflating: food11/validation/6_111.jpg \n", + " inflating: food11/validation/6_112.jpg \n", + " inflating: food11/validation/6_113.jpg \n", + " inflating: food11/validation/6_114.jpg \n", + " inflating: food11/validation/6_115.jpg \n", + " inflating: food11/validation/6_116.jpg \n", + " inflating: food11/validation/6_117.jpg \n", + " inflating: food11/validation/6_118.jpg \n", + " inflating: food11/validation/6_119.jpg \n", + " inflating: food11/validation/6_12.jpg \n", + " inflating: food11/validation/6_120.jpg \n", + " inflating: food11/validation/6_121.jpg \n", + " inflating: food11/validation/6_122.jpg \n", + " inflating: food11/validation/6_123.jpg \n", + " inflating: food11/validation/6_124.jpg \n", + " inflating: food11/validation/6_125.jpg \n", + " inflating: food11/validation/6_126.jpg \n", + " inflating: food11/validation/6_127.jpg \n", + " inflating: food11/validation/6_128.jpg \n", + " inflating: food11/validation/6_129.jpg \n", + " inflating: food11/validation/6_13.jpg \n", + " inflating: food11/validation/6_130.jpg \n", + " inflating: food11/validation/6_131.jpg \n", + " inflating: food11/validation/6_132.jpg \n", + " inflating: food11/validation/6_133.jpg \n", + " inflating: food11/validation/6_134.jpg \n", + " inflating: food11/validation/6_135.jpg \n", + " inflating: food11/validation/6_136.jpg \n", + " inflating: food11/validation/6_137.jpg \n", + " inflating: food11/validation/6_138.jpg \n", + " inflating: food11/validation/6_139.jpg \n", + " inflating: food11/validation/6_14.jpg \n", + " inflating: food11/validation/6_140.jpg \n", + " inflating: food11/validation/6_141.jpg \n", + " inflating: food11/validation/6_142.jpg \n", + " inflating: food11/validation/6_143.jpg \n", + " inflating: food11/validation/6_144.jpg \n", + " inflating: food11/validation/6_145.jpg \n", + " inflating: food11/validation/6_146.jpg \n", + " inflating: food11/validation/6_15.jpg \n", + " inflating: food11/validation/6_16.jpg \n", + " inflating: food11/validation/6_17.jpg \n", + " inflating: food11/validation/6_18.jpg \n", + " inflating: food11/validation/6_19.jpg \n", + " inflating: food11/validation/6_2.jpg \n", + " inflating: food11/validation/6_20.jpg \n", + " inflating: food11/validation/6_21.jpg \n", + " inflating: food11/validation/6_22.jpg \n", + " inflating: food11/validation/6_23.jpg \n", + " inflating: food11/validation/6_24.jpg \n", + " inflating: food11/validation/6_25.jpg \n", + " inflating: food11/validation/6_26.jpg \n", + " inflating: food11/validation/6_27.jpg \n", + " inflating: food11/validation/6_28.jpg \n", + " inflating: food11/validation/6_29.jpg \n", + " inflating: food11/validation/6_3.jpg \n", + " inflating: food11/validation/6_30.jpg \n", + " inflating: food11/validation/6_31.jpg \n", + " inflating: food11/validation/6_32.jpg \n", + " inflating: food11/validation/6_33.jpg \n", + " inflating: food11/validation/6_34.jpg \n", + " inflating: food11/validation/6_35.jpg \n", + " inflating: food11/validation/6_36.jpg \n", + " inflating: food11/validation/6_37.jpg \n", + " inflating: food11/validation/6_38.jpg \n", + " inflating: food11/validation/6_39.jpg \n", + " extracting: food11/validation/6_4.jpg \n", + " inflating: food11/validation/6_40.jpg \n", + " inflating: food11/validation/6_41.jpg \n", + " inflating: food11/validation/6_42.jpg \n", + " inflating: food11/validation/6_43.jpg \n", + " inflating: food11/validation/6_44.jpg \n", + " inflating: food11/validation/6_45.jpg \n", + " inflating: food11/validation/6_46.jpg \n", + " inflating: food11/validation/6_47.jpg \n", + " inflating: food11/validation/6_48.jpg \n", + " inflating: food11/validation/6_49.jpg \n", + " inflating: food11/validation/6_5.jpg \n", + " inflating: food11/validation/6_50.jpg \n", + " inflating: food11/validation/6_51.jpg \n", + " inflating: food11/validation/6_52.jpg \n", + " inflating: food11/validation/6_53.jpg \n", + " inflating: food11/validation/6_54.jpg \n", + " inflating: food11/validation/6_55.jpg \n", + " inflating: food11/validation/6_56.jpg \n", + " inflating: food11/validation/6_57.jpg \n", + " inflating: food11/validation/6_58.jpg \n", + " inflating: food11/validation/6_59.jpg \n", + " inflating: food11/validation/6_6.jpg \n", + " inflating: food11/validation/6_60.jpg \n", + " inflating: food11/validation/6_61.jpg \n", + " inflating: food11/validation/6_62.jpg \n", + " inflating: food11/validation/6_63.jpg \n", + " inflating: food11/validation/6_64.jpg \n", + " inflating: food11/validation/6_65.jpg \n", + " inflating: food11/validation/6_66.jpg \n", + " inflating: food11/validation/6_67.jpg \n", + " inflating: food11/validation/6_68.jpg \n", + " inflating: food11/validation/6_69.jpg \n", + " inflating: food11/validation/6_7.jpg \n", + " inflating: food11/validation/6_70.jpg \n", + " inflating: food11/validation/6_71.jpg \n", + " inflating: food11/validation/6_72.jpg \n", + " inflating: food11/validation/6_73.jpg \n", + " inflating: food11/validation/6_74.jpg \n", + " inflating: food11/validation/6_75.jpg \n", + " inflating: food11/validation/6_76.jpg \n", + " inflating: food11/validation/6_77.jpg \n", + " inflating: food11/validation/6_78.jpg \n", + " inflating: food11/validation/6_79.jpg \n", + " inflating: food11/validation/6_8.jpg \n", + " inflating: food11/validation/6_80.jpg \n", + " extracting: food11/validation/6_81.jpg \n", + " inflating: food11/validation/6_82.jpg \n", + " inflating: food11/validation/6_83.jpg \n", + " inflating: food11/validation/6_84.jpg \n", + " inflating: food11/validation/6_85.jpg \n", + " inflating: food11/validation/6_86.jpg \n", + " inflating: food11/validation/6_87.jpg \n", + " inflating: food11/validation/6_88.jpg \n", + " inflating: food11/validation/6_89.jpg \n", + " inflating: food11/validation/6_9.jpg \n", + " inflating: food11/validation/6_90.jpg \n", + " inflating: food11/validation/6_91.jpg \n", + " inflating: food11/validation/6_92.jpg \n", + " inflating: food11/validation/6_93.jpg \n", + " inflating: food11/validation/6_94.jpg \n", + " inflating: food11/validation/6_95.jpg \n", + " inflating: food11/validation/6_96.jpg \n", + " inflating: food11/validation/6_97.jpg \n", + " inflating: food11/validation/6_98.jpg \n", + " extracting: food11/validation/6_99.jpg \n", + " inflating: food11/validation/7_0.jpg \n", + " inflating: food11/validation/7_1.jpg \n", + " inflating: food11/validation/7_10.jpg \n", + " inflating: food11/validation/7_11.jpg \n", + " inflating: food11/validation/7_12.jpg \n", + " inflating: food11/validation/7_13.jpg \n", + " inflating: food11/validation/7_14.jpg \n", + " inflating: food11/validation/7_15.jpg \n", + " inflating: food11/validation/7_16.jpg \n", + " inflating: food11/validation/7_17.jpg \n", + " inflating: food11/validation/7_18.jpg \n", + " inflating: food11/validation/7_19.jpg \n", + " inflating: food11/validation/7_2.jpg \n", + " inflating: food11/validation/7_20.jpg \n", + " inflating: food11/validation/7_21.jpg \n", + " inflating: food11/validation/7_22.jpg \n", + " inflating: food11/validation/7_23.jpg \n", + " inflating: food11/validation/7_24.jpg \n", + " inflating: food11/validation/7_25.jpg \n", + " inflating: food11/validation/7_26.jpg \n", + " inflating: food11/validation/7_27.jpg \n", + " inflating: food11/validation/7_28.jpg \n", + " inflating: food11/validation/7_29.jpg \n", + " inflating: food11/validation/7_3.jpg \n", + " inflating: food11/validation/7_30.jpg \n", + " inflating: food11/validation/7_31.jpg \n", + " inflating: food11/validation/7_32.jpg \n", + " inflating: food11/validation/7_33.jpg \n", + " inflating: food11/validation/7_34.jpg \n", + " inflating: food11/validation/7_35.jpg \n", + " inflating: food11/validation/7_36.jpg \n", + " inflating: food11/validation/7_37.jpg \n", + " inflating: food11/validation/7_38.jpg \n", + " inflating: food11/validation/7_39.jpg \n", + " inflating: food11/validation/7_4.jpg \n", + " inflating: food11/validation/7_40.jpg \n", + " inflating: food11/validation/7_41.jpg \n", + " inflating: food11/validation/7_42.jpg \n", + " inflating: food11/validation/7_43.jpg \n", + " inflating: food11/validation/7_44.jpg \n", + " inflating: food11/validation/7_45.jpg \n", + " inflating: food11/validation/7_46.jpg \n", + " inflating: food11/validation/7_47.jpg \n", + " inflating: food11/validation/7_48.jpg \n", + " inflating: food11/validation/7_49.jpg \n", + " inflating: food11/validation/7_5.jpg \n", + " inflating: food11/validation/7_50.jpg \n", + " inflating: food11/validation/7_51.jpg \n", + " inflating: food11/validation/7_52.jpg \n", + " inflating: food11/validation/7_53.jpg \n", + " inflating: food11/validation/7_54.jpg \n", + " inflating: food11/validation/7_55.jpg \n", + " inflating: food11/validation/7_56.jpg \n", + " inflating: food11/validation/7_57.jpg \n", + " inflating: food11/validation/7_58.jpg \n", + " inflating: food11/validation/7_59.jpg \n", + " inflating: food11/validation/7_6.jpg \n", + " inflating: food11/validation/7_60.jpg \n", + " inflating: food11/validation/7_61.jpg \n", + " inflating: food11/validation/7_62.jpg \n", + " inflating: food11/validation/7_63.jpg \n", + " inflating: food11/validation/7_64.jpg \n", + " inflating: food11/validation/7_65.jpg \n", + " inflating: food11/validation/7_66.jpg \n", + " inflating: food11/validation/7_67.jpg \n", + " inflating: food11/validation/7_68.jpg \n", + " inflating: food11/validation/7_69.jpg \n", + " inflating: food11/validation/7_7.jpg \n", + " inflating: food11/validation/7_70.jpg \n", + " inflating: food11/validation/7_71.jpg \n", + " inflating: food11/validation/7_72.jpg \n", + " inflating: food11/validation/7_73.jpg \n", + " inflating: food11/validation/7_74.jpg \n", + " inflating: food11/validation/7_75.jpg \n", + " inflating: food11/validation/7_76.jpg \n", + " inflating: food11/validation/7_77.jpg \n", + " inflating: food11/validation/7_78.jpg \n", + " inflating: food11/validation/7_79.jpg \n", + " inflating: food11/validation/7_8.jpg \n", + " inflating: food11/validation/7_80.jpg \n", + " inflating: food11/validation/7_81.jpg \n", + " extracting: food11/validation/7_82.jpg \n", + " inflating: food11/validation/7_83.jpg \n", + " inflating: food11/validation/7_84.jpg \n", + " inflating: food11/validation/7_85.jpg \n", + " inflating: food11/validation/7_86.jpg \n", + " inflating: food11/validation/7_87.jpg \n", + " inflating: food11/validation/7_88.jpg \n", + " inflating: food11/validation/7_89.jpg \n", + " inflating: food11/validation/7_9.jpg \n", + " inflating: food11/validation/7_90.jpg \n", + " inflating: food11/validation/7_91.jpg \n", + " inflating: food11/validation/7_92.jpg \n", + " inflating: food11/validation/7_93.jpg \n", + " inflating: food11/validation/7_94.jpg \n", + " inflating: food11/validation/7_95.jpg \n", + " inflating: food11/validation/8_0.jpg \n", + " inflating: food11/validation/8_1.jpg \n", + " inflating: food11/validation/8_10.jpg \n", + " inflating: food11/validation/8_100.jpg \n", + " inflating: food11/validation/8_101.jpg \n", + " inflating: food11/validation/8_102.jpg \n", + " inflating: food11/validation/8_103.jpg \n", + " inflating: food11/validation/8_104.jpg \n", + " inflating: food11/validation/8_105.jpg \n", + " inflating: food11/validation/8_106.jpg \n", + " inflating: food11/validation/8_107.jpg \n", + " inflating: food11/validation/8_108.jpg \n", + " inflating: food11/validation/8_109.jpg \n", + " inflating: food11/validation/8_11.jpg \n", + " inflating: food11/validation/8_110.jpg \n", + " inflating: food11/validation/8_111.jpg \n", + " inflating: food11/validation/8_112.jpg \n", + " inflating: food11/validation/8_113.jpg \n", + " inflating: food11/validation/8_114.jpg \n", + " inflating: food11/validation/8_115.jpg \n", + " inflating: food11/validation/8_116.jpg \n", + " inflating: food11/validation/8_117.jpg \n", + " inflating: food11/validation/8_118.jpg \n", + " inflating: food11/validation/8_119.jpg \n", + " inflating: food11/validation/8_12.jpg \n", + " inflating: food11/validation/8_120.jpg \n", + " inflating: food11/validation/8_121.jpg \n", + " inflating: food11/validation/8_122.jpg \n", + " inflating: food11/validation/8_123.jpg \n", + " inflating: food11/validation/8_124.jpg \n", + " inflating: food11/validation/8_125.jpg \n", + " inflating: food11/validation/8_126.jpg \n", + " inflating: food11/validation/8_127.jpg \n", + " inflating: food11/validation/8_128.jpg \n", + " inflating: food11/validation/8_129.jpg \n", + " inflating: food11/validation/8_13.jpg \n", + " inflating: food11/validation/8_130.jpg \n", + " inflating: food11/validation/8_131.jpg \n", + " inflating: food11/validation/8_132.jpg \n", + " inflating: food11/validation/8_133.jpg \n", + " inflating: food11/validation/8_134.jpg \n", + " inflating: food11/validation/8_135.jpg \n", + " inflating: food11/validation/8_136.jpg \n", + " inflating: food11/validation/8_137.jpg \n", + " inflating: food11/validation/8_138.jpg \n", + " inflating: food11/validation/8_139.jpg \n", + " inflating: food11/validation/8_14.jpg \n", + " inflating: food11/validation/8_140.jpg \n", + " inflating: food11/validation/8_141.jpg \n", + " inflating: food11/validation/8_142.jpg \n", + " inflating: food11/validation/8_143.jpg \n", + " inflating: food11/validation/8_144.jpg \n", + " inflating: food11/validation/8_145.jpg \n", + " inflating: food11/validation/8_146.jpg \n", + " inflating: food11/validation/8_147.jpg \n", + " inflating: food11/validation/8_148.jpg \n", + " inflating: food11/validation/8_149.jpg \n", + " inflating: food11/validation/8_15.jpg \n", + " inflating: food11/validation/8_150.jpg \n", + " inflating: food11/validation/8_151.jpg \n", + " inflating: food11/validation/8_152.jpg \n", + " inflating: food11/validation/8_153.jpg \n", + " inflating: food11/validation/8_154.jpg \n", + " inflating: food11/validation/8_155.jpg \n", + " inflating: food11/validation/8_156.jpg \n", + " inflating: food11/validation/8_157.jpg \n", + " inflating: food11/validation/8_158.jpg \n", + " inflating: food11/validation/8_159.jpg \n", + " inflating: food11/validation/8_16.jpg \n", + " inflating: food11/validation/8_160.jpg \n", + " inflating: food11/validation/8_161.jpg \n", + " inflating: food11/validation/8_162.jpg \n", + " inflating: food11/validation/8_163.jpg \n", + " inflating: food11/validation/8_164.jpg \n", + " inflating: food11/validation/8_165.jpg \n", + " inflating: food11/validation/8_166.jpg \n", + " inflating: food11/validation/8_167.jpg \n", + " inflating: food11/validation/8_168.jpg \n", + " inflating: food11/validation/8_169.jpg \n", + " inflating: food11/validation/8_17.jpg \n", + " inflating: food11/validation/8_170.jpg \n", + " inflating: food11/validation/8_171.jpg \n", + " inflating: food11/validation/8_172.jpg \n", + " inflating: food11/validation/8_173.jpg \n", + " inflating: food11/validation/8_174.jpg \n", + " inflating: food11/validation/8_175.jpg \n", + " inflating: food11/validation/8_176.jpg \n", + " inflating: food11/validation/8_177.jpg \n", + " inflating: food11/validation/8_178.jpg \n", + " inflating: food11/validation/8_179.jpg \n", + " inflating: food11/validation/8_18.jpg \n", + " inflating: food11/validation/8_180.jpg \n", + " inflating: food11/validation/8_181.jpg \n", + " inflating: food11/validation/8_182.jpg \n", + " inflating: food11/validation/8_183.jpg \n", + " inflating: food11/validation/8_184.jpg \n", + " inflating: food11/validation/8_185.jpg \n", + " inflating: food11/validation/8_186.jpg \n", + " inflating: food11/validation/8_187.jpg \n", + " inflating: food11/validation/8_188.jpg \n", + " inflating: food11/validation/8_189.jpg \n", + " inflating: food11/validation/8_19.jpg \n", + " inflating: food11/validation/8_190.jpg \n", + " inflating: food11/validation/8_191.jpg \n", + " inflating: food11/validation/8_192.jpg \n", + " inflating: food11/validation/8_193.jpg \n", + " inflating: food11/validation/8_194.jpg \n", + " inflating: food11/validation/8_195.jpg \n", + " inflating: food11/validation/8_196.jpg \n", + " inflating: food11/validation/8_197.jpg \n", + " inflating: food11/validation/8_198.jpg \n", + " inflating: food11/validation/8_199.jpg \n", + " inflating: food11/validation/8_2.jpg \n", + " inflating: food11/validation/8_20.jpg \n", + " inflating: food11/validation/8_200.jpg \n", + " inflating: food11/validation/8_201.jpg \n", + " inflating: food11/validation/8_202.jpg \n", + " inflating: food11/validation/8_203.jpg \n", + " inflating: food11/validation/8_204.jpg \n", + " inflating: food11/validation/8_205.jpg \n", + " inflating: food11/validation/8_206.jpg \n", + " inflating: food11/validation/8_207.jpg \n", + " inflating: food11/validation/8_208.jpg \n", + " inflating: food11/validation/8_209.jpg \n", + " inflating: food11/validation/8_21.jpg \n", + " inflating: food11/validation/8_210.jpg \n", + " inflating: food11/validation/8_211.jpg \n", + " inflating: food11/validation/8_212.jpg \n", + " inflating: food11/validation/8_213.jpg \n", + " inflating: food11/validation/8_214.jpg \n", + " inflating: food11/validation/8_215.jpg \n", + " inflating: food11/validation/8_216.jpg \n", + " inflating: food11/validation/8_217.jpg \n", + " inflating: food11/validation/8_218.jpg \n", + " inflating: food11/validation/8_219.jpg \n", + " inflating: food11/validation/8_22.jpg \n", + " inflating: food11/validation/8_220.jpg \n", + " inflating: food11/validation/8_221.jpg \n", + " inflating: food11/validation/8_222.jpg \n", + " inflating: food11/validation/8_223.jpg \n", + " inflating: food11/validation/8_224.jpg \n", + " inflating: food11/validation/8_225.jpg \n", + " inflating: food11/validation/8_226.jpg \n", + " inflating: food11/validation/8_227.jpg \n", + " inflating: food11/validation/8_228.jpg \n", + " inflating: food11/validation/8_229.jpg \n", + " inflating: food11/validation/8_23.jpg \n", + " inflating: food11/validation/8_230.jpg \n", + " inflating: food11/validation/8_231.jpg \n", + " inflating: food11/validation/8_232.jpg \n", + " inflating: food11/validation/8_233.jpg \n", + " inflating: food11/validation/8_234.jpg \n", + " inflating: food11/validation/8_235.jpg \n", + " inflating: food11/validation/8_236.jpg \n", + " inflating: food11/validation/8_237.jpg \n", + " inflating: food11/validation/8_238.jpg \n", + " inflating: food11/validation/8_239.jpg \n", + " inflating: food11/validation/8_24.jpg \n", + " inflating: food11/validation/8_240.jpg \n", + " inflating: food11/validation/8_241.jpg \n", + " inflating: food11/validation/8_242.jpg \n", + " inflating: food11/validation/8_243.jpg \n", + " inflating: food11/validation/8_244.jpg \n", + " inflating: food11/validation/8_245.jpg \n", + " inflating: food11/validation/8_246.jpg \n", + " inflating: food11/validation/8_247.jpg \n", + " inflating: food11/validation/8_248.jpg \n", + " inflating: food11/validation/8_249.jpg \n", + " inflating: food11/validation/8_25.jpg \n", + " inflating: food11/validation/8_250.jpg \n", + " inflating: food11/validation/8_251.jpg \n", + " inflating: food11/validation/8_252.jpg \n", + " inflating: food11/validation/8_253.jpg \n", + " inflating: food11/validation/8_254.jpg \n", + " inflating: food11/validation/8_255.jpg \n", + " inflating: food11/validation/8_256.jpg \n", + " inflating: food11/validation/8_257.jpg \n", + " inflating: food11/validation/8_258.jpg \n", + " inflating: food11/validation/8_259.jpg \n", + " inflating: food11/validation/8_26.jpg \n", + " inflating: food11/validation/8_260.jpg \n", + " inflating: food11/validation/8_261.jpg \n", + " inflating: food11/validation/8_262.jpg \n", + " inflating: food11/validation/8_263.jpg \n", + " inflating: food11/validation/8_264.jpg \n", + " inflating: food11/validation/8_265.jpg \n", + " inflating: food11/validation/8_266.jpg \n", + " inflating: food11/validation/8_267.jpg \n", + " inflating: food11/validation/8_268.jpg \n", + " inflating: food11/validation/8_269.jpg \n", + " inflating: food11/validation/8_27.jpg \n", + " inflating: food11/validation/8_270.jpg \n", + " inflating: food11/validation/8_271.jpg \n", + " inflating: food11/validation/8_272.jpg \n", + " inflating: food11/validation/8_273.jpg \n", + " inflating: food11/validation/8_274.jpg \n", + " inflating: food11/validation/8_275.jpg \n", + " inflating: food11/validation/8_276.jpg \n", + " inflating: food11/validation/8_277.jpg \n", + " inflating: food11/validation/8_278.jpg \n", + " inflating: food11/validation/8_279.jpg \n", + " inflating: food11/validation/8_28.jpg \n", + " inflating: food11/validation/8_280.jpg \n", + " inflating: food11/validation/8_281.jpg \n", + " inflating: food11/validation/8_282.jpg \n", + " inflating: food11/validation/8_283.jpg \n", + " inflating: food11/validation/8_284.jpg \n", + " inflating: food11/validation/8_285.jpg \n", + " inflating: food11/validation/8_286.jpg \n", + " inflating: food11/validation/8_287.jpg \n", + " inflating: food11/validation/8_288.jpg \n", + " inflating: food11/validation/8_289.jpg \n", + " inflating: food11/validation/8_29.jpg \n", + " inflating: food11/validation/8_290.jpg \n", + " inflating: food11/validation/8_291.jpg \n", + " inflating: food11/validation/8_292.jpg \n", + " inflating: food11/validation/8_293.jpg \n", + " inflating: food11/validation/8_294.jpg \n", + " inflating: food11/validation/8_295.jpg \n", + " inflating: food11/validation/8_296.jpg \n", + " inflating: food11/validation/8_297.jpg \n", + " inflating: food11/validation/8_298.jpg \n", + " inflating: food11/validation/8_299.jpg \n", + " inflating: food11/validation/8_3.jpg \n", + " inflating: food11/validation/8_30.jpg \n", + " inflating: food11/validation/8_300.jpg \n", + " inflating: food11/validation/8_301.jpg \n", + " inflating: food11/validation/8_302.jpg \n", + " inflating: food11/validation/8_303.jpg \n", + " inflating: food11/validation/8_304.jpg \n", + " inflating: food11/validation/8_305.jpg \n", + " inflating: food11/validation/8_306.jpg \n", + " inflating: food11/validation/8_307.jpg \n", + " inflating: food11/validation/8_308.jpg \n", + " inflating: food11/validation/8_309.jpg \n", + " inflating: food11/validation/8_31.jpg \n", + " inflating: food11/validation/8_310.jpg \n", + " inflating: food11/validation/8_311.jpg \n", + " inflating: food11/validation/8_312.jpg \n", + " inflating: food11/validation/8_313.jpg \n", + " inflating: food11/validation/8_314.jpg \n", + " inflating: food11/validation/8_315.jpg \n", + " inflating: food11/validation/8_316.jpg \n", + " inflating: food11/validation/8_317.jpg \n", + " inflating: food11/validation/8_318.jpg \n", + " inflating: food11/validation/8_319.jpg \n", + " inflating: food11/validation/8_32.jpg \n", + " inflating: food11/validation/8_320.jpg \n", + " inflating: food11/validation/8_321.jpg \n", + " inflating: food11/validation/8_322.jpg \n", + " inflating: food11/validation/8_323.jpg \n", + " inflating: food11/validation/8_324.jpg \n", + " inflating: food11/validation/8_325.jpg \n", + " inflating: food11/validation/8_326.jpg \n", + " inflating: food11/validation/8_327.jpg \n", + " inflating: food11/validation/8_328.jpg \n", + " inflating: food11/validation/8_329.jpg \n", + " inflating: food11/validation/8_33.jpg \n", + " inflating: food11/validation/8_330.jpg \n", + " inflating: food11/validation/8_331.jpg \n", + " inflating: food11/validation/8_332.jpg \n", + " inflating: food11/validation/8_333.jpg \n", + " inflating: food11/validation/8_334.jpg \n", + " inflating: food11/validation/8_335.jpg \n", + " inflating: food11/validation/8_336.jpg \n", + " inflating: food11/validation/8_337.jpg \n", + " inflating: food11/validation/8_338.jpg \n", + " inflating: food11/validation/8_339.jpg \n", + " inflating: food11/validation/8_34.jpg \n", + " inflating: food11/validation/8_340.jpg \n", + " inflating: food11/validation/8_341.jpg \n", + " inflating: food11/validation/8_342.jpg \n", + " inflating: food11/validation/8_343.jpg \n", + " inflating: food11/validation/8_344.jpg \n", + " inflating: food11/validation/8_345.jpg \n", + " inflating: food11/validation/8_346.jpg \n", + " inflating: food11/validation/8_35.jpg \n", + " inflating: food11/validation/8_36.jpg \n", + " inflating: food11/validation/8_37.jpg \n", + " inflating: food11/validation/8_38.jpg \n", + " inflating: food11/validation/8_39.jpg \n", + " inflating: food11/validation/8_4.jpg \n", + " inflating: food11/validation/8_40.jpg \n", + " inflating: food11/validation/8_41.jpg \n", + " inflating: food11/validation/8_42.jpg \n", + " inflating: food11/validation/8_43.jpg \n", + " inflating: food11/validation/8_44.jpg \n", + " inflating: food11/validation/8_45.jpg \n", + " inflating: food11/validation/8_46.jpg \n", + " inflating: food11/validation/8_47.jpg \n", + " inflating: food11/validation/8_48.jpg \n", + " inflating: food11/validation/8_49.jpg \n", + " inflating: food11/validation/8_5.jpg \n", + " inflating: food11/validation/8_50.jpg \n", + " inflating: food11/validation/8_51.jpg \n", + " inflating: food11/validation/8_52.jpg \n", + " inflating: food11/validation/8_53.jpg \n", + " inflating: food11/validation/8_54.jpg \n", + " inflating: food11/validation/8_55.jpg \n", + " inflating: food11/validation/8_56.jpg \n", + " inflating: food11/validation/8_57.jpg \n", + " inflating: food11/validation/8_58.jpg \n", + " inflating: food11/validation/8_59.jpg \n", + " inflating: food11/validation/8_6.jpg \n", + " inflating: food11/validation/8_60.jpg \n", + " inflating: food11/validation/8_61.jpg \n", + " inflating: food11/validation/8_62.jpg \n", + " inflating: food11/validation/8_63.jpg \n", + " inflating: food11/validation/8_64.jpg \n", + " inflating: food11/validation/8_65.jpg \n", + " inflating: food11/validation/8_66.jpg \n", + " inflating: food11/validation/8_67.jpg \n", + " inflating: food11/validation/8_68.jpg \n", + " inflating: food11/validation/8_69.jpg \n", + " inflating: food11/validation/8_7.jpg \n", + " inflating: food11/validation/8_70.jpg \n", + " inflating: food11/validation/8_71.jpg \n", + " inflating: food11/validation/8_72.jpg \n", + " inflating: food11/validation/8_73.jpg \n", + " inflating: food11/validation/8_74.jpg \n", + " inflating: food11/validation/8_75.jpg \n", + " inflating: food11/validation/8_76.jpg \n", + " inflating: food11/validation/8_77.jpg \n", + " inflating: food11/validation/8_78.jpg \n", + " inflating: food11/validation/8_79.jpg \n", + " inflating: food11/validation/8_8.jpg \n", + " inflating: food11/validation/8_80.jpg \n", + " inflating: food11/validation/8_81.jpg \n", + " inflating: food11/validation/8_82.jpg \n", + " inflating: food11/validation/8_83.jpg \n", + " inflating: food11/validation/8_84.jpg \n", + " inflating: food11/validation/8_85.jpg \n", + " inflating: food11/validation/8_86.jpg \n", + " inflating: food11/validation/8_87.jpg \n", + " inflating: food11/validation/8_88.jpg \n", + " inflating: food11/validation/8_89.jpg \n", + " inflating: food11/validation/8_9.jpg \n", + " inflating: food11/validation/8_90.jpg \n", + " inflating: food11/validation/8_91.jpg \n", + " inflating: food11/validation/8_92.jpg \n", + " inflating: food11/validation/8_93.jpg \n", + " inflating: food11/validation/8_94.jpg \n", + " inflating: food11/validation/8_95.jpg \n", + " inflating: food11/validation/8_96.jpg \n", + " inflating: food11/validation/8_97.jpg \n", + " inflating: food11/validation/8_98.jpg \n", + " inflating: food11/validation/8_99.jpg \n", + " inflating: food11/validation/9_0.jpg \n", + " inflating: food11/validation/9_1.jpg \n", + " inflating: food11/validation/9_10.jpg \n", + " inflating: food11/validation/9_100.jpg \n", + " inflating: food11/validation/9_101.jpg \n", + " inflating: food11/validation/9_102.jpg \n", + " inflating: food11/validation/9_103.jpg \n", + " inflating: food11/validation/9_104.jpg \n", + " inflating: food11/validation/9_105.jpg \n", + " inflating: food11/validation/9_106.jpg \n", + " inflating: food11/validation/9_107.jpg \n", + " inflating: food11/validation/9_108.jpg \n", + " inflating: food11/validation/9_109.jpg \n", + " inflating: food11/validation/9_11.jpg \n", + " inflating: food11/validation/9_110.jpg \n", + " inflating: food11/validation/9_111.jpg \n", + " inflating: food11/validation/9_112.jpg \n", + " inflating: food11/validation/9_113.jpg \n", + " inflating: food11/validation/9_114.jpg \n", + " inflating: food11/validation/9_115.jpg \n", + " inflating: food11/validation/9_116.jpg \n", + " inflating: food11/validation/9_117.jpg \n", + " inflating: food11/validation/9_118.jpg \n", + " inflating: food11/validation/9_119.jpg \n", + " inflating: food11/validation/9_12.jpg \n", + " inflating: food11/validation/9_120.jpg \n", + " inflating: food11/validation/9_121.jpg \n", + " inflating: food11/validation/9_122.jpg \n", + " inflating: food11/validation/9_123.jpg \n", + " inflating: food11/validation/9_124.jpg \n", + " inflating: food11/validation/9_125.jpg \n", + " inflating: food11/validation/9_126.jpg \n", + " inflating: food11/validation/9_127.jpg \n", + " inflating: food11/validation/9_128.jpg \n", + " inflating: food11/validation/9_129.jpg \n", + " inflating: food11/validation/9_13.jpg \n", + " inflating: food11/validation/9_130.jpg \n", + " inflating: food11/validation/9_131.jpg \n", + " inflating: food11/validation/9_132.jpg \n", + " inflating: food11/validation/9_133.jpg \n", + " inflating: food11/validation/9_134.jpg \n", + " inflating: food11/validation/9_135.jpg \n", + " inflating: food11/validation/9_136.jpg \n", + " inflating: food11/validation/9_137.jpg \n", + " inflating: food11/validation/9_138.jpg \n", + " inflating: food11/validation/9_139.jpg \n", + " inflating: food11/validation/9_14.jpg \n", + " inflating: food11/validation/9_140.jpg \n", + " inflating: food11/validation/9_141.jpg \n", + " inflating: food11/validation/9_142.jpg \n", + " inflating: food11/validation/9_143.jpg \n", + " inflating: food11/validation/9_144.jpg \n", + " inflating: food11/validation/9_145.jpg \n", + " inflating: food11/validation/9_146.jpg \n", + " inflating: food11/validation/9_147.jpg \n", + " inflating: food11/validation/9_148.jpg \n", + " inflating: food11/validation/9_149.jpg \n", + " inflating: food11/validation/9_15.jpg \n", + " inflating: food11/validation/9_150.jpg \n", + " inflating: food11/validation/9_151.jpg \n", + " inflating: food11/validation/9_152.jpg \n", + " inflating: food11/validation/9_153.jpg \n", + " inflating: food11/validation/9_154.jpg \n", + " inflating: food11/validation/9_155.jpg \n", + " inflating: food11/validation/9_156.jpg \n", + " inflating: food11/validation/9_157.jpg \n", + " inflating: food11/validation/9_158.jpg \n", + " inflating: food11/validation/9_159.jpg \n", + " inflating: food11/validation/9_16.jpg \n", + " inflating: food11/validation/9_160.jpg \n", + " inflating: food11/validation/9_161.jpg \n", + " inflating: food11/validation/9_162.jpg \n", + " inflating: food11/validation/9_163.jpg \n", + " inflating: food11/validation/9_164.jpg \n", + " inflating: food11/validation/9_165.jpg \n", + " inflating: food11/validation/9_166.jpg \n", + " inflating: food11/validation/9_167.jpg \n", + " inflating: food11/validation/9_168.jpg \n", + " inflating: food11/validation/9_169.jpg \n", + " inflating: food11/validation/9_17.jpg \n", + " inflating: food11/validation/9_170.jpg \n", + " inflating: food11/validation/9_171.jpg \n", + " inflating: food11/validation/9_172.jpg \n", + " inflating: food11/validation/9_173.jpg \n", + " inflating: food11/validation/9_174.jpg \n", + " inflating: food11/validation/9_175.jpg \n", + " inflating: food11/validation/9_176.jpg \n", + " inflating: food11/validation/9_177.jpg \n", + " inflating: food11/validation/9_178.jpg \n", + " inflating: food11/validation/9_179.jpg \n", + " inflating: food11/validation/9_18.jpg \n", + " inflating: food11/validation/9_180.jpg \n", + " inflating: food11/validation/9_181.jpg \n", + " inflating: food11/validation/9_182.jpg \n", + " inflating: food11/validation/9_183.jpg \n", + " inflating: food11/validation/9_184.jpg \n", + " inflating: food11/validation/9_185.jpg \n", + " inflating: food11/validation/9_186.jpg \n", + " inflating: food11/validation/9_187.jpg \n", + " inflating: food11/validation/9_188.jpg \n", + " inflating: food11/validation/9_189.jpg \n", + " inflating: food11/validation/9_19.jpg \n", + " inflating: food11/validation/9_190.jpg \n", + " inflating: food11/validation/9_191.jpg \n", + " inflating: food11/validation/9_192.jpg \n", + " inflating: food11/validation/9_193.jpg \n", + " inflating: food11/validation/9_194.jpg \n", + " inflating: food11/validation/9_195.jpg \n", + " inflating: food11/validation/9_196.jpg \n", + " inflating: food11/validation/9_197.jpg \n", + " inflating: food11/validation/9_198.jpg \n", + " inflating: food11/validation/9_199.jpg \n", + " inflating: food11/validation/9_2.jpg \n", + " inflating: food11/validation/9_20.jpg \n", + " inflating: food11/validation/9_200.jpg \n", + " inflating: food11/validation/9_201.jpg \n", + " inflating: food11/validation/9_202.jpg \n", + " inflating: food11/validation/9_203.jpg \n", + " inflating: food11/validation/9_204.jpg \n", + " inflating: food11/validation/9_205.jpg \n", + " inflating: food11/validation/9_206.jpg \n", + " inflating: food11/validation/9_207.jpg \n", + " inflating: food11/validation/9_208.jpg \n", + " inflating: food11/validation/9_209.jpg \n", + " inflating: food11/validation/9_21.jpg \n", + " inflating: food11/validation/9_210.jpg \n", + " inflating: food11/validation/9_211.jpg \n", + " inflating: food11/validation/9_212.jpg \n", + " inflating: food11/validation/9_213.jpg \n", + " inflating: food11/validation/9_214.jpg \n", + " inflating: food11/validation/9_215.jpg \n", + " inflating: food11/validation/9_216.jpg \n", + " inflating: food11/validation/9_217.jpg \n", + " inflating: food11/validation/9_218.jpg \n", + " inflating: food11/validation/9_219.jpg \n", + " inflating: food11/validation/9_22.jpg \n", + " inflating: food11/validation/9_220.jpg \n", + " inflating: food11/validation/9_221.jpg \n", + " inflating: food11/validation/9_222.jpg \n", + " inflating: food11/validation/9_223.jpg \n", + " inflating: food11/validation/9_224.jpg \n", + " inflating: food11/validation/9_225.jpg \n", + " inflating: food11/validation/9_226.jpg \n", + " inflating: food11/validation/9_227.jpg \n", + " inflating: food11/validation/9_228.jpg \n", + " inflating: food11/validation/9_229.jpg \n", + " inflating: food11/validation/9_23.jpg \n", + " inflating: food11/validation/9_230.jpg \n", + " inflating: food11/validation/9_231.jpg \n", + " inflating: food11/validation/9_232.jpg \n", + " inflating: food11/validation/9_233.jpg \n", + " inflating: food11/validation/9_234.jpg \n", + " inflating: food11/validation/9_235.jpg \n", + " inflating: food11/validation/9_236.jpg \n", + " inflating: food11/validation/9_237.jpg \n", + " inflating: food11/validation/9_238.jpg \n", + " inflating: food11/validation/9_239.jpg \n", + " inflating: food11/validation/9_24.jpg \n", + " inflating: food11/validation/9_240.jpg \n", + " inflating: food11/validation/9_241.jpg \n", + " inflating: food11/validation/9_242.jpg \n", + " inflating: food11/validation/9_243.jpg \n", + " inflating: food11/validation/9_244.jpg \n", + " inflating: food11/validation/9_245.jpg \n", + " inflating: food11/validation/9_246.jpg \n", + " inflating: food11/validation/9_247.jpg \n", + " inflating: food11/validation/9_248.jpg \n", + " inflating: food11/validation/9_249.jpg \n", + " inflating: food11/validation/9_25.jpg \n", + " inflating: food11/validation/9_250.jpg \n", + " inflating: food11/validation/9_251.jpg \n", + " inflating: food11/validation/9_252.jpg \n", + " inflating: food11/validation/9_253.jpg \n", + " inflating: food11/validation/9_254.jpg \n", + " inflating: food11/validation/9_255.jpg \n", + " inflating: food11/validation/9_256.jpg \n", + " inflating: food11/validation/9_257.jpg \n", + " inflating: food11/validation/9_258.jpg \n", + " inflating: food11/validation/9_259.jpg \n", + " inflating: food11/validation/9_26.jpg \n", + " inflating: food11/validation/9_260.jpg \n", + " inflating: food11/validation/9_261.jpg \n", + " inflating: food11/validation/9_262.jpg \n", + " inflating: food11/validation/9_263.jpg \n", + " inflating: food11/validation/9_264.jpg \n", + " inflating: food11/validation/9_265.jpg \n", + " inflating: food11/validation/9_266.jpg \n", + " inflating: food11/validation/9_267.jpg \n", + " inflating: food11/validation/9_268.jpg \n", + " inflating: food11/validation/9_269.jpg \n", + " inflating: food11/validation/9_27.jpg \n", + " inflating: food11/validation/9_270.jpg \n", + " inflating: food11/validation/9_271.jpg \n", + " inflating: food11/validation/9_272.jpg \n", + " inflating: food11/validation/9_273.jpg \n", + " inflating: food11/validation/9_274.jpg \n", + " inflating: food11/validation/9_275.jpg \n", + " inflating: food11/validation/9_276.jpg \n", + " inflating: food11/validation/9_277.jpg \n", + " inflating: food11/validation/9_278.jpg \n", + " inflating: food11/validation/9_279.jpg \n", + " inflating: food11/validation/9_28.jpg \n", + " inflating: food11/validation/9_280.jpg \n", + " inflating: food11/validation/9_281.jpg \n", + " inflating: food11/validation/9_282.jpg \n", + " inflating: food11/validation/9_283.jpg \n", + " inflating: food11/validation/9_284.jpg \n", + " inflating: food11/validation/9_285.jpg \n", + " inflating: food11/validation/9_286.jpg \n", + " inflating: food11/validation/9_287.jpg \n", + " inflating: food11/validation/9_288.jpg \n", + " inflating: food11/validation/9_289.jpg \n", + " inflating: food11/validation/9_29.jpg \n", + " inflating: food11/validation/9_290.jpg \n", + " inflating: food11/validation/9_291.jpg \n", + " inflating: food11/validation/9_292.jpg \n", + " inflating: food11/validation/9_293.jpg \n", + " inflating: food11/validation/9_294.jpg \n", + " inflating: food11/validation/9_295.jpg \n", + " inflating: food11/validation/9_296.jpg \n", + " inflating: food11/validation/9_297.jpg \n", + " inflating: food11/validation/9_298.jpg \n", + " inflating: food11/validation/9_299.jpg \n", + " inflating: food11/validation/9_3.jpg \n", + " inflating: food11/validation/9_30.jpg \n", + " inflating: food11/validation/9_300.jpg \n", + " inflating: food11/validation/9_301.jpg \n", + " inflating: food11/validation/9_302.jpg \n", + " inflating: food11/validation/9_303.jpg \n", + " inflating: food11/validation/9_304.jpg \n", + " inflating: food11/validation/9_305.jpg \n", + " inflating: food11/validation/9_306.jpg \n", + " inflating: food11/validation/9_307.jpg \n", + " inflating: food11/validation/9_308.jpg \n", + " inflating: food11/validation/9_309.jpg \n", + " inflating: food11/validation/9_31.jpg \n", + " inflating: food11/validation/9_310.jpg \n", + " inflating: food11/validation/9_311.jpg \n", + " inflating: food11/validation/9_312.jpg \n", + " inflating: food11/validation/9_313.jpg \n", + " inflating: food11/validation/9_314.jpg \n", + " inflating: food11/validation/9_315.jpg \n", + " inflating: food11/validation/9_316.jpg \n", + " inflating: food11/validation/9_317.jpg \n", + " inflating: food11/validation/9_318.jpg \n", + " inflating: food11/validation/9_319.jpg \n", + " inflating: food11/validation/9_32.jpg \n", + " inflating: food11/validation/9_320.jpg \n", + " inflating: food11/validation/9_321.jpg \n", + " inflating: food11/validation/9_322.jpg \n", + " inflating: food11/validation/9_323.jpg \n", + " inflating: food11/validation/9_324.jpg \n", + " inflating: food11/validation/9_325.jpg \n", + " inflating: food11/validation/9_326.jpg \n", + " inflating: food11/validation/9_327.jpg \n", + " inflating: food11/validation/9_328.jpg \n", + " inflating: food11/validation/9_329.jpg \n", + " inflating: food11/validation/9_33.jpg \n", + " inflating: food11/validation/9_330.jpg \n", + " inflating: food11/validation/9_331.jpg \n", + " inflating: food11/validation/9_332.jpg \n", + " inflating: food11/validation/9_333.jpg \n", + " inflating: food11/validation/9_334.jpg \n", + " inflating: food11/validation/9_335.jpg \n", + " inflating: food11/validation/9_336.jpg \n", + " inflating: food11/validation/9_337.jpg \n", + " inflating: food11/validation/9_338.jpg \n", + " inflating: food11/validation/9_339.jpg \n", + " inflating: food11/validation/9_34.jpg \n", + " inflating: food11/validation/9_340.jpg \n", + " inflating: food11/validation/9_341.jpg \n", + " inflating: food11/validation/9_342.jpg \n", + " inflating: food11/validation/9_343.jpg \n", + " inflating: food11/validation/9_344.jpg \n", + " inflating: food11/validation/9_345.jpg \n", + " inflating: food11/validation/9_346.jpg \n", + " inflating: food11/validation/9_347.jpg \n", + " inflating: food11/validation/9_348.jpg \n", + " inflating: food11/validation/9_349.jpg \n", + " inflating: food11/validation/9_35.jpg \n", + " inflating: food11/validation/9_350.jpg \n", + " inflating: food11/validation/9_351.jpg \n", + " inflating: food11/validation/9_352.jpg \n", + " inflating: food11/validation/9_353.jpg \n", + " inflating: food11/validation/9_354.jpg \n", + " inflating: food11/validation/9_355.jpg \n", + " inflating: food11/validation/9_356.jpg \n", + " inflating: food11/validation/9_357.jpg \n", + " inflating: food11/validation/9_358.jpg \n", + " inflating: food11/validation/9_359.jpg \n", + " inflating: food11/validation/9_36.jpg \n", + " inflating: food11/validation/9_360.jpg \n", + " inflating: food11/validation/9_361.jpg \n", + " inflating: food11/validation/9_362.jpg \n", + " inflating: food11/validation/9_363.jpg \n", + " inflating: food11/validation/9_364.jpg \n", + " inflating: food11/validation/9_365.jpg \n", + " inflating: food11/validation/9_366.jpg \n", + " inflating: food11/validation/9_367.jpg \n", + " inflating: food11/validation/9_368.jpg \n", + " inflating: food11/validation/9_369.jpg \n", + " inflating: food11/validation/9_37.jpg \n", + " inflating: food11/validation/9_370.jpg \n", + " inflating: food11/validation/9_371.jpg \n", + " inflating: food11/validation/9_372.jpg \n", + " inflating: food11/validation/9_373.jpg \n", + " inflating: food11/validation/9_374.jpg \n", + " inflating: food11/validation/9_375.jpg \n", + " inflating: food11/validation/9_376.jpg \n", + " inflating: food11/validation/9_377.jpg \n", + " inflating: food11/validation/9_378.jpg \n", + " inflating: food11/validation/9_379.jpg \n", + " inflating: food11/validation/9_38.jpg \n", + " inflating: food11/validation/9_380.jpg \n", + " inflating: food11/validation/9_381.jpg \n", + " inflating: food11/validation/9_382.jpg \n", + " inflating: food11/validation/9_383.jpg \n", + " inflating: food11/validation/9_384.jpg \n", + " inflating: food11/validation/9_385.jpg \n", + " inflating: food11/validation/9_386.jpg \n", + " inflating: food11/validation/9_387.jpg \n", + " inflating: food11/validation/9_388.jpg \n", + " inflating: food11/validation/9_389.jpg \n", + " inflating: food11/validation/9_39.jpg \n", + " inflating: food11/validation/9_390.jpg \n", + " inflating: food11/validation/9_391.jpg \n", + " inflating: food11/validation/9_392.jpg \n", + " inflating: food11/validation/9_393.jpg \n", + " inflating: food11/validation/9_394.jpg \n", + " inflating: food11/validation/9_395.jpg \n", + " inflating: food11/validation/9_396.jpg \n", + " inflating: food11/validation/9_397.jpg \n", + " inflating: food11/validation/9_398.jpg \n", + " inflating: food11/validation/9_399.jpg \n", + " inflating: food11/validation/9_4.jpg \n", + " inflating: food11/validation/9_40.jpg \n", + " inflating: food11/validation/9_400.jpg \n", + " inflating: food11/validation/9_401.jpg \n", + " inflating: food11/validation/9_402.jpg \n", + " inflating: food11/validation/9_403.jpg \n", + " inflating: food11/validation/9_404.jpg \n", + " inflating: food11/validation/9_405.jpg \n", + " inflating: food11/validation/9_406.jpg \n", + " inflating: food11/validation/9_407.jpg \n", + " inflating: food11/validation/9_408.jpg \n", + " inflating: food11/validation/9_409.jpg \n", + " inflating: food11/validation/9_41.jpg \n", + " inflating: food11/validation/9_410.jpg \n", + " inflating: food11/validation/9_411.jpg \n", + " inflating: food11/validation/9_412.jpg \n", + " inflating: food11/validation/9_413.jpg \n", + " inflating: food11/validation/9_414.jpg \n", + " inflating: food11/validation/9_415.jpg \n", + " inflating: food11/validation/9_416.jpg \n", + " inflating: food11/validation/9_417.jpg \n", + " inflating: food11/validation/9_418.jpg \n", + " inflating: food11/validation/9_419.jpg \n", + " inflating: food11/validation/9_42.jpg \n", + " inflating: food11/validation/9_420.jpg \n", + " inflating: food11/validation/9_421.jpg \n", + " inflating: food11/validation/9_422.jpg \n", + " inflating: food11/validation/9_423.jpg \n", + " inflating: food11/validation/9_424.jpg \n", + " inflating: food11/validation/9_425.jpg \n", + " inflating: food11/validation/9_426.jpg \n", + " inflating: food11/validation/9_427.jpg \n", + " inflating: food11/validation/9_428.jpg \n", + " inflating: food11/validation/9_429.jpg \n", + " inflating: food11/validation/9_43.jpg \n", + " inflating: food11/validation/9_430.jpg \n", + " inflating: food11/validation/9_431.jpg \n", + " inflating: food11/validation/9_432.jpg \n", + " inflating: food11/validation/9_433.jpg \n", + " inflating: food11/validation/9_434.jpg \n", + " inflating: food11/validation/9_435.jpg \n", + " inflating: food11/validation/9_436.jpg \n", + " inflating: food11/validation/9_437.jpg \n", + " inflating: food11/validation/9_438.jpg \n", + " inflating: food11/validation/9_439.jpg \n", + " inflating: food11/validation/9_44.jpg \n", + " inflating: food11/validation/9_440.jpg \n", + " inflating: food11/validation/9_441.jpg \n", + " inflating: food11/validation/9_442.jpg \n", + " inflating: food11/validation/9_443.jpg \n", + " inflating: food11/validation/9_444.jpg \n", + " inflating: food11/validation/9_445.jpg \n", + " inflating: food11/validation/9_446.jpg \n", + " inflating: food11/validation/9_447.jpg \n", + " inflating: food11/validation/9_448.jpg \n", + " inflating: food11/validation/9_449.jpg \n", + " inflating: food11/validation/9_45.jpg \n", + " inflating: food11/validation/9_450.jpg \n", + " inflating: food11/validation/9_451.jpg \n", + " inflating: food11/validation/9_452.jpg \n", + " inflating: food11/validation/9_453.jpg \n", + " inflating: food11/validation/9_454.jpg \n", + " inflating: food11/validation/9_455.jpg \n", + " inflating: food11/validation/9_456.jpg \n", + " inflating: food11/validation/9_457.jpg \n", + " inflating: food11/validation/9_458.jpg \n", + " inflating: food11/validation/9_459.jpg \n", + " inflating: food11/validation/9_46.jpg \n", + " inflating: food11/validation/9_460.jpg \n", + " inflating: food11/validation/9_461.jpg \n", + " inflating: food11/validation/9_462.jpg \n", + " inflating: food11/validation/9_463.jpg \n", + " inflating: food11/validation/9_464.jpg \n", + " inflating: food11/validation/9_465.jpg \n", + " inflating: food11/validation/9_466.jpg \n", + " inflating: food11/validation/9_467.jpg \n", + " inflating: food11/validation/9_468.jpg \n", + " inflating: food11/validation/9_469.jpg \n", + " inflating: food11/validation/9_47.jpg \n", + " inflating: food11/validation/9_470.jpg \n", + " inflating: food11/validation/9_471.jpg \n", + " inflating: food11/validation/9_472.jpg \n", + " inflating: food11/validation/9_473.jpg \n", + " inflating: food11/validation/9_474.jpg \n", + " inflating: food11/validation/9_475.jpg \n", + " inflating: food11/validation/9_476.jpg \n", + " inflating: food11/validation/9_477.jpg \n", + " inflating: food11/validation/9_478.jpg \n", + " inflating: food11/validation/9_479.jpg \n", + " inflating: food11/validation/9_48.jpg \n", + " inflating: food11/validation/9_480.jpg \n", + " inflating: food11/validation/9_481.jpg \n", + " inflating: food11/validation/9_482.jpg \n", + " inflating: food11/validation/9_483.jpg \n", + " inflating: food11/validation/9_484.jpg \n", + " inflating: food11/validation/9_485.jpg \n", + " inflating: food11/validation/9_486.jpg \n", + " inflating: food11/validation/9_487.jpg \n", + " inflating: food11/validation/9_488.jpg \n", + " inflating: food11/validation/9_489.jpg \n", + " inflating: food11/validation/9_49.jpg \n", + " inflating: food11/validation/9_490.jpg \n", + " inflating: food11/validation/9_491.jpg \n", + " inflating: food11/validation/9_492.jpg \n", + " inflating: food11/validation/9_493.jpg \n", + " inflating: food11/validation/9_494.jpg \n", + " inflating: food11/validation/9_495.jpg \n", + " inflating: food11/validation/9_496.jpg \n", + " inflating: food11/validation/9_497.jpg \n", + " inflating: food11/validation/9_498.jpg \n", + " inflating: food11/validation/9_499.jpg \n", + " inflating: food11/validation/9_5.jpg \n", + " inflating: food11/validation/9_50.jpg \n", + " inflating: food11/validation/9_51.jpg \n", + " inflating: food11/validation/9_52.jpg \n", + " inflating: food11/validation/9_53.jpg \n", + " inflating: food11/validation/9_54.jpg \n", + " inflating: food11/validation/9_55.jpg \n", + " inflating: food11/validation/9_56.jpg \n", + " inflating: food11/validation/9_57.jpg \n", + " inflating: food11/validation/9_58.jpg \n", + " inflating: food11/validation/9_59.jpg \n", + " inflating: food11/validation/9_6.jpg \n", + " inflating: food11/validation/9_60.jpg \n", + " inflating: food11/validation/9_61.jpg \n", + " inflating: food11/validation/9_62.jpg \n", + " inflating: food11/validation/9_63.jpg \n", + " inflating: food11/validation/9_64.jpg \n", + " inflating: food11/validation/9_65.jpg \n", + " inflating: food11/validation/9_66.jpg \n", + " inflating: food11/validation/9_67.jpg \n", + " inflating: food11/validation/9_68.jpg \n", + " inflating: food11/validation/9_69.jpg \n", + " inflating: food11/validation/9_7.jpg \n", + " inflating: food11/validation/9_70.jpg \n", + " inflating: food11/validation/9_71.jpg \n", + " inflating: food11/validation/9_72.jpg \n", + " inflating: food11/validation/9_73.jpg \n", + " inflating: food11/validation/9_74.jpg \n", + " inflating: food11/validation/9_75.jpg \n", + " inflating: food11/validation/9_76.jpg \n", + " inflating: food11/validation/9_77.jpg \n", + " inflating: food11/validation/9_78.jpg \n", + " inflating: food11/validation/9_79.jpg \n", + " inflating: food11/validation/9_8.jpg \n", + " inflating: food11/validation/9_80.jpg \n", + " inflating: food11/validation/9_81.jpg \n", + " inflating: food11/validation/9_82.jpg \n", + " inflating: food11/validation/9_83.jpg \n", + " inflating: food11/validation/9_84.jpg \n", + " inflating: food11/validation/9_85.jpg \n", + " inflating: food11/validation/9_86.jpg \n", + " inflating: food11/validation/9_87.jpg \n", + " inflating: food11/validation/9_88.jpg \n", + " inflating: food11/validation/9_89.jpg \n", + " inflating: food11/validation/9_9.jpg \n", + " inflating: food11/validation/9_90.jpg \n", + " inflating: food11/validation/9_91.jpg \n", + " inflating: food11/validation/9_92.jpg \n", + " inflating: food11/validation/9_93.jpg \n", + " inflating: food11/validation/9_94.jpg \n", + " inflating: food11/validation/9_95.jpg \n", + " inflating: food11/validation/9_96.jpg \n", + " inflating: food11/validation/9_97.jpg \n", + " inflating: food11/validation/9_98.jpg \n", + " inflating: food11/validation/9_99.jpg \n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Training" + ], + "metadata": { + "id": "n5ceUnRihL-f" + } + }, + { + "cell_type": "code", + "source": [ + "_exp_name = \"sample\"" + ], + "metadata": { + "papermill": { + "duration": 0.0189, + "end_time": "2022-02-23T10:03:06.279758", + "exception": false, + "start_time": "2022-02-23T10:03:06.260858", + "status": "completed" + }, + "tags": [], + "execution": { + "iopub.status.busy": "2022-03-03T13:07:49.307662Z", + "iopub.execute_input": "2022-03-03T13:07:49.308172Z", + "iopub.status.idle": "2022-03-03T13:07:49.313283Z", + "shell.execute_reply.started": "2022-03-03T13:07:49.308134Z", + "shell.execute_reply": "2022-03-03T13:07:49.311435Z" + }, + "trusted": true, + "id": "ay3WkYnHVaVE" + }, + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Import necessary packages.\n", + "import numpy as np\n", + "import pandas as pd\n", + "import torch\n", + "import os\n", + "import torch.nn as nn\n", + "import torchvision.transforms as transforms\n", + "from PIL import Image\n", + "# \"ConcatDataset\" and \"Subset\" are possibly useful when doing semi-supervised learning.\n", + "from torch.utils.data import ConcatDataset, DataLoader, Subset, Dataset\n", + "from torchvision.datasets import DatasetFolder, VisionDataset\n", + "\n", + "# This is for the progress bar.\n", + "from tqdm.auto import tqdm\n", + "import random" + ], + "metadata": { + "papermill": { + "duration": 1.654263, + "end_time": "2022-02-23T10:03:07.947242", + "exception": false, + "start_time": "2022-02-23T10:03:06.292979", + "status": "completed" + }, + "tags": [], + "execution": { + "iopub.status.busy": "2022-03-03T13:07:49.314913Z", + "iopub.execute_input": "2022-03-03T13:07:49.315997Z", + "iopub.status.idle": "2022-03-03T13:07:50.877804Z", + "shell.execute_reply.started": "2022-03-03T13:07:49.315959Z", + "shell.execute_reply": "2022-03-03T13:07:50.877072Z" + }, + "trusted": true, + "id": "CwOGtRWHVaVF" + }, + "execution_count": 15, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "myseed = 6666 # set a random seed for reproducibility\n", + "torch.backends.cudnn.deterministic = True\n", + "torch.backends.cudnn.benchmark = False\n", + "np.random.seed(myseed)\n", + "torch.manual_seed(myseed)\n", + "if torch.cuda.is_available():\n", + " torch.cuda.manual_seed_all(myseed)" + ], + "metadata": { + "papermill": { + "duration": 0.078771, + "end_time": "2022-02-23T10:03:08.039428", + "exception": false, + "start_time": "2022-02-23T10:03:07.960657", + "status": "completed" + }, + "tags": [], + "execution": { + "iopub.status.busy": "2022-03-03T13:07:50.879715Z", + "iopub.execute_input": "2022-03-03T13:07:50.879924Z", + "iopub.status.idle": "2022-03-03T13:07:50.93271Z", + "shell.execute_reply.started": "2022-03-03T13:07:50.879894Z", + "shell.execute_reply": "2022-03-03T13:07:50.932056Z" + }, + "trusted": true, + "id": "8kJm9GekVaVH" + }, + "execution_count": 4, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## **Transforms**\n", + "Torchvision provides lots of useful utilities for image preprocessing, data wrapping as well as data augmentation.\n", + "\n", + "Please refer to PyTorch official website for details about different transforms." + ], + "metadata": { + "papermill": { + "duration": 0.01289, + "end_time": "2022-02-23T10:03:08.065357", + "exception": false, + "start_time": "2022-02-23T10:03:08.052467", + "status": "completed" + }, + "tags": [], + "id": "d9MVtgbSVaVH" + } + }, + { + "cell_type": "code", + "source": [ + "# Normally, We don't need augmentations in testing and validation.\n", + "# All we need here is to resize the PIL image and transform it into Tensor.\n", + "test_tfm = transforms.Compose([\n", + " transforms.Resize((128, 128)),\n", + " transforms.ToTensor(),\n", + "])\n", + "\n", + "# However, it is also possible to use augmentation in the testing phase.\n", + "# You may use train_tfm to produce a variety of images and then test using ensemble methods\n", + "train_tfm = transforms.Compose([\n", + " # Resize the image into a fixed shape (height = width = 128)\n", + " transforms.Resize((128, 128)),\n", + " # You may add some transforms here.\n", + " # ToTensor() should be the last one of the transforms.\n", + " transforms.ToTensor(),\n", + "])\n" + ], + "metadata": { + "papermill": { + "duration": 0.021406, + "end_time": "2022-02-23T10:03:08.099437", + "exception": false, + "start_time": "2022-02-23T10:03:08.078031", + "status": "completed" + }, + "tags": [], + "execution": { + "iopub.status.busy": "2022-03-03T13:07:50.935424Z", + "iopub.execute_input": "2022-03-03T13:07:50.935618Z", + "iopub.status.idle": "2022-03-03T13:07:50.942922Z", + "shell.execute_reply.started": "2022-03-03T13:07:50.935594Z", + "shell.execute_reply": "2022-03-03T13:07:50.942191Z" + }, + "trusted": true, + "id": "jvI3Xmq4VaVJ" + }, + "execution_count": 5, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## **Datasets**\n", + "The data is labelled by the name, so we load images and label while calling '__getitem__'" + ], + "metadata": { + "papermill": { + "duration": 0.012739, + "end_time": "2022-02-23T10:03:08.125181", + "exception": false, + "start_time": "2022-02-23T10:03:08.112442", + "status": "completed" + }, + "tags": [], + "id": "D0ivMf-jVaVK" + } + }, + { + "cell_type": "code", + "source": [ + "class FoodDataset(Dataset):\n", + "\n", + " def __init__(self,path,tfm=test_tfm,files = None):\n", + " super(FoodDataset).__init__()\n", + " self.path = path\n", + " self.files = sorted([os.path.join(path,x) for x in os.listdir(path) if x.endswith(\".jpg\")])\n", + " if files != None:\n", + " self.files = files\n", + " print(f\"One {path} sample\",self.files[0])\n", + " self.transform = tfm\n", + " \n", + " def __len__(self):\n", + " return len(self.files)\n", + " \n", + " def __getitem__(self,idx):\n", + " fname = self.files[idx]\n", + " im = Image.open(fname)\n", + " im = self.transform(im)\n", + " #im = self.data[idx]\n", + " try:\n", + " label = int(fname.split(\"/\")[-1].split(\"_\")[0])\n", + " except:\n", + " label = -1 # test has no label\n", + " return im,label\n", + "\n" + ], + "metadata": { + "papermill": { + "duration": 0.023022, + "end_time": "2022-02-23T10:03:08.160912", + "exception": false, + "start_time": "2022-02-23T10:03:08.13789", + "status": "completed" + }, + "tags": [], + "execution": { + "iopub.status.busy": "2022-03-03T13:07:50.945683Z", + "iopub.execute_input": "2022-03-03T13:07:50.945969Z", + "iopub.status.idle": "2022-03-03T13:07:50.954587Z", + "shell.execute_reply.started": "2022-03-03T13:07:50.94592Z", + "shell.execute_reply": "2022-03-03T13:07:50.953785Z" + }, + "trusted": true, + "id": "xBdtPhKwVaVL" + }, + "execution_count": 6, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "class Classifier(nn.Module):\n", + " def __init__(self):\n", + " super(Classifier, self).__init__()\n", + " # torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride, padding)\n", + " # torch.nn.MaxPool2d(kernel_size, stride, padding)\n", + " # input 維度 [3, 128, 128]\n", + " self.cnn = nn.Sequential(\n", + " nn.Conv2d(3, 64, 3, 1, 1), # [64, 128, 128]\n", + " nn.BatchNorm2d(64),\n", + " nn.ReLU(),\n", + " nn.MaxPool2d(2, 2, 0), # [64, 64, 64]\n", + "\n", + " nn.Conv2d(64, 128, 3, 1, 1), # [128, 64, 64]\n", + " nn.BatchNorm2d(128),\n", + " nn.ReLU(),\n", + " nn.MaxPool2d(2, 2, 0), # [128, 32, 32]\n", + "\n", + " nn.Conv2d(128, 256, 3, 1, 1), # [256, 32, 32]\n", + " nn.BatchNorm2d(256),\n", + " nn.ReLU(),\n", + " nn.MaxPool2d(2, 2, 0), # [256, 16, 16]\n", + "\n", + " nn.Conv2d(256, 512, 3, 1, 1), # [512, 16, 16]\n", + " nn.BatchNorm2d(512),\n", + " nn.ReLU(),\n", + " nn.MaxPool2d(2, 2, 0), # [512, 8, 8]\n", + " \n", + " nn.Conv2d(512, 512, 3, 1, 1), # [512, 8, 8]\n", + " nn.BatchNorm2d(512),\n", + " nn.ReLU(),\n", + " nn.MaxPool2d(2, 2, 0), # [512, 4, 4]\n", + " )\n", + " self.fc = nn.Sequential(\n", + " nn.Linear(512*4*4, 1024),\n", + " nn.ReLU(),\n", + " nn.Linear(1024, 512),\n", + " nn.ReLU(),\n", + " nn.Linear(512, 11)\n", + " )\n", + "\n", + " def forward(self, x):\n", + " out = self.cnn(x)\n", + " out = out.view(out.size()[0], -1)\n", + " return self.fc(out)" + ], + "metadata": { + "papermill": { + "duration": 0.0258, + "end_time": "2022-02-23T10:03:08.199437", + "exception": false, + "start_time": "2022-02-23T10:03:08.173637", + "status": "completed" + }, + "tags": [], + "execution": { + "iopub.status.busy": "2022-03-03T13:07:50.955744Z", + "iopub.execute_input": "2022-03-03T13:07:50.956055Z", + "iopub.status.idle": "2022-03-03T13:07:50.969275Z", + "shell.execute_reply.started": "2022-03-03T13:07:50.955996Z", + "shell.execute_reply": "2022-03-03T13:07:50.968626Z" + }, + "trusted": true, + "id": "b_kDECOJVaVL" + }, + "execution_count": 7, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "batch_size = 64\n", + "_dataset_dir = \"./food11\"\n", + "# Construct datasets.\n", + "# The argument \"loader\" tells how torchvision reads the data.\n", + "train_set = FoodDataset(os.path.join(_dataset_dir,\"training\"), tfm=train_tfm)\n", + "train_loader = DataLoader(train_set, batch_size=batch_size, shuffle=True, num_workers=0, pin_memory=True)\n", + "valid_set = FoodDataset(os.path.join(_dataset_dir,\"validation\"), tfm=test_tfm)\n", + "valid_loader = DataLoader(valid_set, batch_size=batch_size, shuffle=True, num_workers=0, pin_memory=True)" + ], + "metadata": { + "papermill": { + "duration": 0.054295, + "end_time": "2022-02-23T10:03:08.266338", + "exception": false, + "start_time": "2022-02-23T10:03:08.212043", + "status": "completed" + }, + "tags": [], + "execution": { + "iopub.status.busy": "2022-03-03T13:07:50.972296Z", + "iopub.execute_input": "2022-03-03T13:07:50.972575Z", + "iopub.status.idle": "2022-03-03T13:07:51.01795Z", + "shell.execute_reply.started": "2022-03-03T13:07:50.972549Z", + "shell.execute_reply": "2022-03-03T13:07:51.017303Z" + }, + "trusted": true, + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2_OeWtstVaVO", + "outputId": "003fe08b-819a-499a-d411-f6073b97d48b" + }, + "execution_count": 10, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "One ./food11/training sample ./food11/training/0_0.jpg\n", + "One ./food11/validation sample ./food11/validation/0_0.jpg\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# \"cuda\" only when GPUs are available.\n", + "device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n", + "\n", + "# The number of training epochs and patience.\n", + "n_epochs = 3\n", + "patience = 300 # If no improvement in 'patience' epochs, early stop\n", + "\n", + "# Initialize a model, and put it on the device specified.\n", + "model = Classifier().to(device)\n", + "\n", + "# For the classification task, we use cross-entropy as the measurement of performance.\n", + "criterion = nn.CrossEntropyLoss()\n", + "\n", + "# Initialize optimizer, you may fine-tune some hyperparameters such as learning rate on your own.\n", + "optimizer = torch.optim.Adam(model.parameters(), lr=0.0003, weight_decay=1e-5) \n", + "\n", + "# Initialize trackers, these are not parameters and should not be changed\n", + "stale = 0\n", + "best_acc = 0\n", + "\n", + "for epoch in range(n_epochs):\n", + "\n", + " # ---------- Training ----------\n", + " # Make sure the model is in train mode before training.\n", + " model.train()\n", + "\n", + " # These are used to record information in training.\n", + " train_loss = []\n", + " train_accs = []\n", + "\n", + " for batch in tqdm(train_loader):\n", + "\n", + " # A batch consists of image data and corresponding labels.\n", + " imgs, labels = batch\n", + " #imgs = imgs.half()\n", + " #print(imgs.shape,labels.shape)\n", + "\n", + " # Forward the data. (Make sure data and model are on the same device.)\n", + " logits = model(imgs.to(device))\n", + "\n", + " # Calculate the cross-entropy loss.\n", + " # We don't need to apply softmax before computing cross-entropy as it is done automatically.\n", + " loss = criterion(logits, labels.to(device))\n", + "\n", + " # Gradients stored in the parameters in the previous step should be cleared out first.\n", + " optimizer.zero_grad()\n", + "\n", + " # Compute the gradients for parameters.\n", + " loss.backward()\n", + "\n", + " # Clip the gradient norms for stable training.\n", + " grad_norm = nn.utils.clip_grad_norm_(model.parameters(), max_norm=10)\n", + "\n", + " # Update the parameters with computed gradients.\n", + " optimizer.step()\n", + "\n", + " # Compute the accuracy for current batch.\n", + " acc = (logits.argmax(dim=-1) == labels.to(device)).float().mean()\n", + "\n", + " # Record the loss and accuracy.\n", + " train_loss.append(loss.item())\n", + " train_accs.append(acc)\n", + " \n", + " train_loss = sum(train_loss) / len(train_loss)\n", + " train_acc = sum(train_accs) / len(train_accs)\n", + "\n", + " # Print the information.\n", + " print(f\"[ Train | {epoch + 1:03d}/{n_epochs:03d} ] loss = {train_loss:.5f}, acc = {train_acc:.5f}\")\n", + "\n", + " # ---------- Validation ----------\n", + " # Make sure the model is in eval mode so that some modules like dropout are disabled and work normally.\n", + " model.eval()\n", + "\n", + " # These are used to record information in validation.\n", + " valid_loss = []\n", + " valid_accs = []\n", + "\n", + " # Iterate the validation set by batches.\n", + " for batch in tqdm(valid_loader):\n", + "\n", + " # A batch consists of image data and corresponding labels.\n", + " imgs, labels = batch\n", + " #imgs = imgs.half()\n", + "\n", + " # We don't need gradient in validation.\n", + " # Using torch.no_grad() accelerates the forward process.\n", + " with torch.no_grad():\n", + " logits = model(imgs.to(device))\n", + "\n", + " # We can still compute the loss (but not the gradient).\n", + " loss = criterion(logits, labels.to(device))\n", + "\n", + " # Compute the accuracy for current batch.\n", + " acc = (logits.argmax(dim=-1) == labels.to(device)).float().mean()\n", + "\n", + " # Record the loss and accuracy.\n", + " valid_loss.append(loss.item())\n", + " valid_accs.append(acc)\n", + " #break\n", + "\n", + " # The average loss and accuracy for entire validation set is the average of the recorded values.\n", + " valid_loss = sum(valid_loss) / len(valid_loss)\n", + " valid_acc = sum(valid_accs) / len(valid_accs)\n", + "\n", + " # Print the information.\n", + " print(f\"[ Valid | {epoch + 1:03d}/{n_epochs:03d} ] loss = {valid_loss:.5f}, acc = {valid_acc:.5f}\")\n", + "\n", + "\n", + " # update logs\n", + " if valid_acc > best_acc:\n", + " with open(f\"./{_exp_name}_log.txt\",\"a\"):\n", + " print(f\"[ Valid | {epoch + 1:03d}/{n_epochs:03d} ] loss = {valid_loss:.5f}, acc = {valid_acc:.5f} -> best\")\n", + " else:\n", + " with open(f\"./{_exp_name}_log.txt\",\"a\"):\n", + " print(f\"[ Valid | {epoch + 1:03d}/{n_epochs:03d} ] loss = {valid_loss:.5f}, acc = {valid_acc:.5f}\")\n", + "\n", + "\n", + " # save models\n", + " if valid_acc > best_acc:\n", + " print(f\"Best model found at epoch {epoch}, saving model\")\n", + " torch.save(model.state_dict(), f\"{_exp_name}_best.ckpt\") # only save best to prevent output memory exceed error\n", + " best_acc = valid_acc\n", + " stale = 0\n", + " else:\n", + " stale += 1\n", + " if stale > patience:\n", + " print(f\"No improvment {patience} consecutive epochs, early stopping\")\n", + " break" + ], + "metadata": { + "papermill": { + "duration": 32830.720158, + "end_time": "2022-02-23T19:10:19.001001", + "exception": false, + "start_time": "2022-02-23T10:03:08.280843", + "status": "completed" + }, + "tags": [], + "execution": { + "iopub.status.busy": "2022-03-03T13:07:51.019126Z", + "iopub.execute_input": "2022-03-03T13:07:51.019338Z", + "iopub.status.idle": "2022-03-03T13:12:03.270333Z", + "shell.execute_reply.started": "2022-03-03T13:07:51.019309Z", + "shell.execute_reply": "2022-03-03T13:12:03.269658Z" + }, + "trusted": true, + "colab": { + "base_uri": "https://localhost:8080/", + "height": 435, + "referenced_widgets": [ + "40c953e50bea4456b3636ec468b32f14", + "c9f6dda2f6c743f8b5e097ef9c37bbb2", + "1adcd5d7b2d64095b7f4009206843375", + "50fdf3a8769e4e088045397cf582f24e", + "bccc745f50c44be481e792082dc56bdc", + "3a0761a5580441afa603aae4a9f940f5", + "8080593c6cca4c54ac01a5346a400469", + "d1428b9747444a5795ee4ab454f2d561", + "2568e2a9a63940a1afc4bf99297f43c5", + "498da906503141ffabdbd3406d008523", + "e57e20ff9025496692f9e38184d83221", + "21df1b0c3af1404db71f92815ce4f7e2", + "cc6cfc6957df4777a60c22518a513add", + "5705c9836e6744798ebf26e082624ad6", + "7b2f9765b52140949f5107490b1a19cf", + "87a51e79aefe4d37aa4a61d2537eb164", + "8b757d6eb91b4fed8a23bf1f41a7cfd2", + "455f6d586b094606a36ed3dd967102c9", + "2f9c9c8c00f145778e35bacaa59a8b5e", + "bf326d803d0c43a6ad27b6ade626af7e", + "0193eae66b6d44d98c8c7af1c3ca245e", + "94e8fcba033a4d6d8be5c31f8435427c", + "5a7f7e01edbf4429a4adc7ced4304fca", + "112b45da977a43be81589781387fcb25", + "34b9d75cfa3e4e5ebde73f84a233c7c9", + "c59c72e2c7f04b549a45f2267cbb94fe", + "3eb723e514bf410997e58e12b2aa9870", + "01f202ceca4c432fb25cf1adceadddd4", + "606cca0455f941a0873c1af403505a7c", + "ff674b6f3a484cf683bfe5385d798c3c", + "f829df6953e740a19edfaa52f7ef9571", + "4157cbb8f5b7489683669b25b583b324", + "5d246b05af2e440eb1eb46ee1f3685b3", + "c894a6d22ca84dcd87a7b54557b9ef03", + "20bffe91f7b7419f97fdcbf8802002b2", + "7d6f69caa40146798c57e9d07c946203", + "60d2c08bdb7648a984770c04f709fe0e", + "0b319f5705bf4c1f88e7ff53951d7486", + "a2964dbea2e2484c9a6b41f7c732071b", + "002050c9657448f3836ddeb14757026f", + "d1785aa220e54739b611cc3ec832bb92", + "4392f8b04afa43d387fb6338577c889d", + "940659b9b3c74d0c99d170abf6b4c22f", + "a40ef0d028874f328aa2bfa36af5c1f9", + "669ca3f9058a41b991203298f4046b26", + "be043829292e4029bbcbc4bbf68634a6", + "2ce21509b5254cd082ddbaeab13481fa", + "61ed9e0c1a7949b7bb916c0ab5b9be39", + "1419c935e12a43c6ad282126e220b04f", + "05620cbadedf4d6ea05468ed8fe174bb", + "3410d1eb883e4676b83f736a0b3c7ac0", + "082f25ab850d4935b0843b0726e4db86", + "1e6ed1370acc4a6192a6977311d4fefe", + "0ce96c05d8b7417ea552b7a0a5db757f", + "51fc23b7d9e54434aabb27a0fdbdb0ef", + "aa9cd7d0ffb2405c9cb1756644a59752", + "629f28ab51254b83b47ad07ead1f6827", + "5ac6bf2dbe224a078c2e3fa349e0ae6e", + "4b7d4d1dadd44039bbe954ff12f5421c", + "fa9320b10cbb4448a63526be9492c4c7", + "7555c0cdbb3c4bc78281d0ce30b6d50a", + "37cb05e865ae4e93aeae6dcadc516a32", + "e081dbdcd04547489bcf374e22a343cc", + "ea92a75640ba4b0da70c1592f555b006", + "3e728be5faf84b7d9c1eea54547938c1", + "7c3ffac62aa04f568b90499734bf725b" + ] + }, + "id": "zbVkfIFhVaVO", + "outputId": "3d1efca0-a963-4b95-9051-e60e367d36e2" + }, + "execution_count": 11, + "outputs": [ + { + "output_type": "display_data", + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "40c953e50bea4456b3636ec468b32f14", + "version_minor": 0, + "version_major": 2 + }, + "text/plain": [ + " 0%| | 0/155 [00:00 best\n", + "Best model found at epoch 0, saving model\n" + ] + }, + { + "output_type": "display_data", + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5a7f7e01edbf4429a4adc7ced4304fca", + "version_minor": 0, + "version_major": 2 + }, + "text/plain": [ + " 0%| | 0/155 [00:00 best\n", + "Best model found at epoch 1, saving model\n" + ] + }, + { + "output_type": "display_data", + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "669ca3f9058a41b991203298f4046b26", + "version_minor": 0, + "version_major": 2 + }, + "text/plain": [ + " 0%| | 0/155 [00:00 best\n", + "Best model found at epoch 2, saving model\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "test_set = FoodDataset(os.path.join(_dataset_dir,\"test\"), tfm=test_tfm)\n", + "test_loader = DataLoader(test_set, batch_size=batch_size, shuffle=False, num_workers=0, pin_memory=True)" + ], + "metadata": { + "papermill": { + "duration": 0.493644, + "end_time": "2022-02-23T19:10:19.985992", + "exception": false, + "start_time": "2022-02-23T19:10:19.492348", + "status": "completed" + }, + "tags": [], + "execution": { + "iopub.status.busy": "2022-03-03T13:12:03.272682Z", + "iopub.execute_input": "2022-03-03T13:12:03.273089Z", + "iopub.status.idle": "2022-03-03T13:12:03.288146Z", + "shell.execute_reply.started": "2022-03-03T13:12:03.273048Z", + "shell.execute_reply": "2022-03-03T13:12:03.287465Z" + }, + "trusted": true, + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "B9QNdHIXVaVP", + "outputId": "02fc4afa-dd85-4adb-bc28-37cafabe07cd" + }, + "execution_count": 12, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "One ./food11/test sample ./food11/test/0001.jpg\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Testing and generate prediction CSV" + ], + "metadata": { + "papermill": { + "duration": 0.498773, + "end_time": "2022-02-23T19:10:20.961802", + "exception": false, + "start_time": "2022-02-23T19:10:20.463029", + "status": "completed" + }, + "tags": [], + "id": "G31uyjpvVaVP" + } + }, + { + "cell_type": "code", + "source": [ + "model_best = Classifier().to(device)\n", + "model_best.load_state_dict(torch.load(f\"{_exp_name}_best.ckpt\"))\n", + "model_best.eval()\n", + "prediction = []\n", + "with torch.no_grad():\n", + " for data,_ in test_loader:\n", + " test_pred = model_best(data.to(device))\n", + " test_label = np.argmax(test_pred.cpu().data.numpy(), axis=1)\n", + " prediction += test_label.squeeze().tolist()" + ], + "metadata": { + "papermill": { + "duration": 49.157727, + "end_time": "2022-02-23T19:11:10.61523", + "exception": false, + "start_time": "2022-02-23T19:10:21.457503", + "status": "completed" + }, + "tags": [], + "execution": { + "iopub.status.busy": "2022-03-03T13:12:03.290214Z", + "iopub.execute_input": "2022-03-03T13:12:03.290671Z", + "iopub.status.idle": "2022-03-03T13:12:37.20328Z", + "shell.execute_reply.started": "2022-03-03T13:12:03.290624Z", + "shell.execute_reply": "2022-03-03T13:12:37.202502Z" + }, + "trusted": true, + "id": "bpLtxx5FVaVP" + }, + "execution_count": 13, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#create test csv\n", + "def pad4(i):\n", + " return \"0\"*(4-len(str(i)))+str(i)\n", + "df = pd.DataFrame()\n", + "df[\"Id\"] = [pad4(i) for i in range(1,len(test_set)+1)]\n", + "df[\"Category\"] = prediction\n", + "df.to_csv(\"submission.csv\",index = False)" + ], + "metadata": { + "papermill": { + "duration": 0.554276, + "end_time": "2022-02-23T19:11:11.870035", + "exception": false, + "start_time": "2022-02-23T19:11:11.315759", + "status": "completed" + }, + "tags": [], + "execution": { + "iopub.status.busy": "2022-03-03T13:12:37.20452Z", + "iopub.execute_input": "2022-03-03T13:12:37.204789Z", + "iopub.status.idle": "2022-03-03T13:12:37.235831Z", + "shell.execute_reply.started": "2022-03-03T13:12:37.204753Z", + "shell.execute_reply": "2022-03-03T13:12:37.235207Z" + }, + "trusted": true, + "id": "fKupB3VUVaVQ" + }, + "execution_count": 16, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Q1. Augmentation Implementation\n", + "## Implement augmentation by finishing train_tfm in the code with image size of your choice. \n", + "## Directly copy the following block and paste it on GradeScope after you finish the code\n", + "### Your train_tfm must be capable of producing 5+ different results when given an identical image multiple times.\n", + "### Your train_tfm in the report can be different from train_tfm in your training code.\n" + ], + "metadata": { + "id": "Ivk0hrE-V8Cu" + } + }, + { + "cell_type": "code", + "source": [ + "train_tfm = transforms.Compose([\n", + " # Resize the image into a fixed shape (height = width = 128)\n", + " transforms.Resize((128, 128)),\n", + " # You need to add some transforms here.\n", + " transforms.ToTensor(),\n", + "])" + ], + "metadata": { + "id": "GSfKNo42WjKm" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Q2. Residual Implementation\n", + "![](https://i.imgur.com/GYsq1Ap.png)\n", + "## Directly copy the following block and paste it on GradeScope after you finish the code\n" + ], + "metadata": { + "id": "3HemRgZ6WwRM" + } + }, + { + "cell_type": "code", + "source": [ + "from torch import nn\n", + "class Residual_Network(nn.Module):\n", + " def __init__(self):\n", + " super(Residual_Network, self).__init__()\n", + " \n", + " self.cnn_layer1 = nn.Sequential(\n", + " nn.Conv2d(3, 64, 3, 1, 1),\n", + " nn.BatchNorm2d(64),\n", + " )\n", + "\n", + " self.cnn_layer2 = nn.Sequential(\n", + " nn.Conv2d(64, 64, 3, 1, 1),\n", + " nn.BatchNorm2d(64),\n", + " )\n", + "\n", + " self.cnn_layer3 = nn.Sequential(\n", + " nn.Conv2d(64, 128, 3, 2, 1),\n", + " nn.BatchNorm2d(128),\n", + " )\n", + "\n", + " self.cnn_layer4 = nn.Sequential(\n", + " nn.Conv2d(128, 128, 3, 1, 1),\n", + " nn.BatchNorm2d(128),\n", + " )\n", + " self.cnn_layer5 = nn.Sequential(\n", + " nn.Conv2d(128, 256, 3, 2, 1),\n", + " nn.BatchNorm2d(256),\n", + " )\n", + " self.cnn_layer6 = nn.Sequential(\n", + " nn.Conv2d(256, 256, 3, 1, 1),\n", + " nn.BatchNorm2d(256),\n", + " )\n", + " self.fc_layer = nn.Sequential(\n", + " nn.Linear(256* 32* 32, 256),\n", + " nn.ReLU(),\n", + " nn.Linear(256, 11)\n", + " )\n", + " self.relu = nn.ReLU()\n", + "\n", + " def forward(self, x):\n", + " # input (x): [batch_size, 3, 128, 128]\n", + " # output: [batch_size, 11]\n", + "\n", + " # Extract features by convolutional layers.\n", + " x1 = self.cnn_layer1(x)\n", + " \n", + " x1 = self.relu(x1)\n", + " \n", + " x2 = self.cnn_layer2(x1)\n", + " \n", + " x2 = self.relu(x2)\n", + " \n", + " x3 = self.cnn_layer3(x2)\n", + " \n", + " x3 = self.relu(x3)\n", + " \n", + " x4 = self.cnn_layer4(x3)\n", + " \n", + " x4 = self.relu(x4)\n", + " \n", + " x5 = self.cnn_layer5(x4)\n", + " \n", + " x5 = self.relu(x5)\n", + " \n", + " x6 = self.cnn_layer6(x5)\n", + " \n", + " x6 = self.relu(x6)\n", + " \n", + " # The extracted feature map must be flatten before going to fully-connected layers.\n", + " xout = x6.flatten(1)\n", + "\n", + " # The features are transformed by fully-connected layers to obtain the final logits.\n", + " xout = self.fc_layer(xout)\n", + " return xout" + ], + "metadata": { + "id": "Q4OK9kRaWuiV" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/parameters.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/parameters.py" new file mode 100644 index 00000000..f52f6788 --- /dev/null +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/parameters.py" @@ -0,0 +1,6 @@ +batch_size = 64 +_dataset_dir = "./food11" +myseed = 6666 # set a random seed for reproducibility +# The number of training epochs and patience. +n_epochs = 3 +patience = 300 # If no improvement in 'patience' epochs, early stop \ No newline at end of file diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" new file mode 100644 index 00000000..f11f9b70 --- /dev/null +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" @@ -0,0 +1,39 @@ +import os +import random +import pandas as pd +import numpy as np +import torch +import torchvision.transforms as transforms +from tqdm import tqdm + +# "cuda" only when GPUs are available. +device = "cuda" if torch.cuda.is_available() else "cpu" + +def same_seeds(seed): + torch.manual_seed(seed) + if torch.cuda.is_available(): + torch.cuda.manual_seed(seed) + torch.cuda.manual_seed_all(seed) + np.random.seed(seed) + torch.backends.cudnn.benchmark = False + torch.backends.cudnn.deterministic = True + + +# Torchvision provides lots of useful utilities for image preprocessing +# data wrapping as well as data augmentation. +# Normally, We don't need augmentations in testing and validation. +# All we need here is to resize the PIL image and transform it into Tensor. +test_tfm = transforms.Compose([ + transforms.Resize((128, 128)), + transforms.ToTensor(), +]) + +# However, it is also possible to use augmentation in the testing phase. +# You may use train_tfm to produce a variety of images and then test using ensemble methods +train_tfm = transforms.Compose([ + # Resize the image into a fixed shape (height = width = 128) + transforms.Resize((128, 128)), + # You may add some transforms here. + # ToTensor() should be the last one of the transforms. + transforms.ToTensor(), +]) From 3a689916d118ab421a9f4d27887f428e7804115d Mon Sep 17 00:00:00 2001 From: kk Date: Sat, 29 Oct 2022 00:02:14 +0800 Subject: [PATCH 26/36] ml --- .../data_load.py" | 37 ++++++++++++ .../data_test.py" | 56 +++++++++++++++++++ .../log" | 12 ++++ .../utility.py" | 11 ++++ 4 files changed, 116 insertions(+) create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/log" diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_load.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_load.py" index 93fa2233..b145ba05 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_load.py" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_load.py" @@ -2,6 +2,8 @@ from utility import test_tfm import os from PIL import Image +from utility import spec_transformer +import torchvision.transforms as transforms class FoodDataset(Dataset): @@ -28,3 +30,38 @@ def __getitem__(self, idx): except: label = -1 # test has no label return im, label + + + + +class FoodDataset2(Dataset): + + def __init__(self, path, tfm=test_tfm, files=None): + super(FoodDataset).__init__() + self.path = path + self.files = sorted([os.path.join(path, x) for x in os.listdir(path) if x.endswith(".jpg")]) + if files is not None: + self.files = files + print(f"One {path} sample", self.files[0]) + self.transform = tfm + + def __len__(self): + return 4*len(self.files) + + def __getitem__(self, idx): + fname = self.files[idx//4] + im = Image.open(fname) + if idx % 4 == 0: + im = spec_transformer(transforms.RandomVerticalFlip(0))(im) + elif idx % 4 == 1: + im = spec_transformer(transforms.RandomRotation(180))(im) + elif idx % 4 == 2: + im = spec_transformer(transforms.RandomHorizontalFlip(1))(im) + elif idx % 4 == 3: + im = spec_transformer(transforms.RandomVerticalFlip(1))(im) + # im = self.data[idx] + try: + label = int(fname.split("/")[-1].split("_")[0]) + except: + label = -1 # test has no label + return im, label diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" new file mode 100644 index 00000000..ea1795b4 --- /dev/null +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" @@ -0,0 +1,56 @@ +from PIL import Image +import torchvision.transforms as transforms + +test_tfm = transforms.Compose([ + transforms.Resize((128, 128)), + transforms.ToTensor(), +]) + +# However, it is also possible to use augmentation in the testing phase. +# You may use train_tfm to produce a variety of images and then test using ensemble methods +train_tfm = transforms.Compose([ + # Resize the image into a fixed shape (height = width = 128) + transforms.Resize((128, 128)), + transforms.RandomRotation(180), + transforms.RandomHorizontalFlip(0.5), + transforms.RandomVerticalFlip(0.5), + # You may add some transforms here. + # ToTensor() should be the last one of the transforms. + # transforms.ToTensor(), +]) + +def spec_transformer(method): + tfm = transforms.Compose([ + # Resize the image into a fixed shape (height = width = 128) + transforms.Resize((128, 128)), + method, + # You may add some transforms here. + # ToTensor() should be the last one of the transforms. + # transforms.ToTensor(), + ]) + return tfm + +def spec_transformers(methods): + tfm = transforms.Compose([ + # Resize the image into a fixed shape (height = width = 128) + transforms.Resize((128, 128)), + *[x for x in methods], + # You may add some transforms here. + # ToTensor() should be the last one of the transforms. + # transforms.ToTensor(), + ]) + return tfm + + +if __name__ == '__main__': + # 看看图片变幻效果 + pp = './food11/validation/8_248.jpg' + im = Image.open(pp) + im.show() + x = train_tfm(im) + # x = spec_transformer(transforms.RandomVerticalFlip(0))(im) + x = spec_transformers([])(im) + x.show() + print(x.shape) + y = test_tfm(im) + print(y.shape) \ No newline at end of file diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" new file mode 100644 index 00000000..6b1eed70 --- /dev/null +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" @@ -0,0 +1,12 @@ +-------------------------------------------------------------------------------------- +首先测试 +数据增加 - 单张变换明显不如切换多张 但是多张训练速度极慢 +多张第12epoch 就过拟合 acc 0.7 说明模型复杂度太高?? + +-------------------------------------------------------------------------------------- +这次训练太慢了 考虑目标直接套用现有模型 -研究一下 pretrain=False +然后考虑 单个训练数据生成多张 +https://pytorch-cn.readthedocs.io/zh/latest/torchvision/torchvision-models/ +再考虑 对测试集生成多张图片 提升预测精度 + + diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" index f11f9b70..9fbbc789 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" @@ -37,3 +37,14 @@ def same_seeds(seed): # ToTensor() should be the last one of the transforms. transforms.ToTensor(), ]) + +def spec_transformer(method): + tfm = transforms.Compose([ + # Resize the image into a fixed shape (height = width = 128) + transforms.Resize((128, 128)), + method, + # You may add some transforms here. + # ToTensor() should be the last one of the transforms. + # transforms.ToTensor(), + ]) + return tfm From eeb2ccc573cad49ff81cc32690d6e45eab5077d3 Mon Sep 17 00:00:00 2001 From: kk Date: Sat, 29 Oct 2022 00:06:14 +0800 Subject: [PATCH 27/36] ml --- "HW03/\346\264\252\351\222\246\346\225\217-HW3/log" | 3 +++ 1 file changed, 3 insertions(+) diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" index 6b1eed70..03b99059 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" @@ -6,7 +6,10 @@ -------------------------------------------------------------------------------------- 这次训练太慢了 考虑目标直接套用现有模型 -研究一下 pretrain=False 然后考虑 单个训练数据生成多张 +--- https://pytorch-cn.readthedocs.io/zh/latest/torchvision/torchvision-models/ 再考虑 对测试集生成多张图片 提升预测精度 +---【学习笔记】resnet-18 pytorch源代码解读 +https://blog.csdn.net/lcn463365355/article/details/92846776 From 7e55de0201765c502d2cb1b38a1bf8c314cd19cc Mon Sep 17 00:00:00 2001 From: kk Date: Sat, 29 Oct 2022 18:59:34 +0800 Subject: [PATCH 28/36] =?UTF-8?q?HW3=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TTA.py" | 63 +++++++++++++++++++ .../data_load.py" | 24 +++---- .../data_test.py" | 12 ++-- .../log" | 4 ++ .../numpy_test.py" | 18 ++++++ .../utility.py" | 11 ++++ 6 files changed, 113 insertions(+), 19 deletions(-) create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/TTA.py" create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/numpy_test.py" diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/TTA.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/TTA.py" new file mode 100644 index 00000000..e7cc36a9 --- /dev/null +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/TTA.py" @@ -0,0 +1,63 @@ +from data_load import MultiFoodDataset,FoodDataset +import os +import numpy as np +import pandas as pd +import torch +from torch.utils.data import ConcatDataset, DataLoader, Subset, Dataset +from torchvision.datasets import DatasetFolder, VisionDataset +from model import Classifier +from utility import test_tfm, spec_transformers +import torchvision.transforms as transforms + +batch_size = 64 +device = "cuda" if torch.cuda.is_available() else "cpu" +_dataset_dir = "./food11" +_exp_name = "sample" + +print(device) +transformers = [spec_transformers([]), + spec_transformers([transforms.RandomRotation(180)])] +weight = [0.6, 0.4] +# test_set = FoodDataset(os.path.join(_dataset_dir, "test"), tfm=test_tfm) +test_set = MultiFoodDataset(os.path.join(_dataset_dir, "test"), tfms=transformers) +test_loader = DataLoader(test_set, batch_size=batch_size, shuffle=False, num_workers=0, pin_memory=True) + +model_best = Classifier().to(device) +# 这里要加 , map_location='cpu' 因为GPU训练的模型转CPU会不兼容 这里用的参数 为kaggle 前几个版本的初始sample +model_best.load_state_dict(torch.load(f"{_exp_name}_best.ckpt", map_location='cpu')) +model_best.eval() +prediction = [] + +weight = np.array([0.6, 0.4]) + +with torch.no_grad(): + for data, _ in test_loader: + # shape 为batch_size * num_of_classes + test_pred = model_best(data.to(device)) + batch_len = test_pred.shape[0] + print('test_pred', test_pred.shape) + # shape 为batch_size + oh = test_pred.cpu().data.numpy().reshape(batch_len//2, 2, 11) + oh = np.dot(weight, oh) + test_label = np.argmax(oh, axis=1) + print(type(oh), oh.shape, oh) + print('test_label', test_label.shape, test_label) + prediction += test_label.squeeze().tolist() + +# 初次预测结果 +# [ 2 9 0 2 0 9 4 9 0 9 9 0 3 9 4 3 9 10 0 4 9 10 0 5 +# 9 2 10 10 3 4 2 5 9 5 10 3 10 9 2 0 8 3 5 5 0 0 6 4 +# 5 5 2 4 9 10 0 0 9 5 3 3 2 0 4 9] + +print(prediction) + + +# create test csv +def pad4(i): + return "0" * (4 - len(str(i))) + str(i) + + +df = pd.DataFrame() +df["Id"] = [pad4(i) for i in range(1, len(test_set)//2 + 1)] +df["Category"] = prediction +df.to_csv("submission.csv", index=False) diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_load.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_load.py" index b145ba05..d95fc00f 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_load.py" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_load.py" @@ -33,33 +33,27 @@ def __getitem__(self, idx): +# 重写数据载入 tfms 为transformers的集合 +class MultiFoodDataset(Dataset): -class FoodDataset2(Dataset): - - def __init__(self, path, tfm=test_tfm, files=None): + def __init__(self, path, tfms, files=None): super(FoodDataset).__init__() self.path = path self.files = sorted([os.path.join(path, x) for x in os.listdir(path) if x.endswith(".jpg")]) if files is not None: self.files = files print(f"One {path} sample", self.files[0]) - self.transform = tfm + self.transforms = tfms + # 图片重复次数 + self.pic_duplicate_times = len(tfms) def __len__(self): - return 4*len(self.files) + return self.pic_duplicate_times * len(self.files) def __getitem__(self, idx): - fname = self.files[idx//4] + fname = self.files[idx // self.pic_duplicate_times] im = Image.open(fname) - if idx % 4 == 0: - im = spec_transformer(transforms.RandomVerticalFlip(0))(im) - elif idx % 4 == 1: - im = spec_transformer(transforms.RandomRotation(180))(im) - elif idx % 4 == 2: - im = spec_transformer(transforms.RandomHorizontalFlip(1))(im) - elif idx % 4 == 3: - im = spec_transformer(transforms.RandomVerticalFlip(1))(im) - # im = self.data[idx] + im = self.transforms[idx % self.pic_duplicate_times](im) try: label = int(fname.split("/")[-1].split("_")[0]) except: diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" index ea1795b4..6988d6e4 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" @@ -19,6 +19,7 @@ # transforms.ToTensor(), ]) + def spec_transformer(method): tfm = transforms.Compose([ # Resize the image into a fixed shape (height = width = 128) @@ -30,6 +31,7 @@ def spec_transformer(method): ]) return tfm + def spec_transformers(methods): tfm = transforms.Compose([ # Resize the image into a fixed shape (height = width = 128) @@ -47,10 +49,12 @@ def spec_transformers(methods): pp = './food11/validation/8_248.jpg' im = Image.open(pp) im.show() - x = train_tfm(im) + # x = train_tfm(im) # x = spec_transformer(transforms.RandomVerticalFlip(0))(im) - x = spec_transformers([])(im) + # x = spec_transformers([])(im) + fff = [spec_transformers([]), + spec_transformers([transforms.RandomHorizontalFlip(1), transforms.RandomVerticalFlip(1)])] + x = fff[1](im) x.show() - print(x.shape) y = test_tfm(im) - print(y.shape) \ No newline at end of file + print(y.shape) diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" index 03b99059..734fc128 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" @@ -12,4 +12,8 @@ https://pytorch-cn.readthedocs.io/zh/latest/torchvision/torchvision-models/ ---【学习笔记】resnet-18 pytorch源代码解读 https://blog.csdn.net/lcn463365355/article/details/92846776 +-------------------------------------------------------------------------------------- +测试了一下 Training Augmentation +Test Time Augmentation 提升不大 但是耗时成倍增加 +看来得先换模型 然后再通过这2个技能 提升 训练集数量 和 增加最后的预测精度 + diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/numpy_test.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/numpy_test.py" new file mode 100644 index 00000000..0ee9ab0f --- /dev/null +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/numpy_test.py" @@ -0,0 +1,18 @@ +import numpy as np +from numpy import random + +# 测试 最简单的Ensemble 权重 这个dot有点难以理解 +# batch_size 为2 一共3个结果 每个结果5个分类 +x = random.randint(1, 5, size=(2, 3, 5)) +print(x.shape) +print(x) +# weight = np.array([[0.3, 0.3, 0.4],[0.3, 0.3, 0.4]]) +# 最后一个结果0.4权重 其他0.3 +weight = np.array([0.3, 0.3, 0.4]) +# 权重在前 +y = np.dot(weight, x) +print(y.shape) +print(y) +z = x.sum(axis=1) +print(z.shape) +print(z) diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" index 9fbbc789..47931b69 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" @@ -48,3 +48,14 @@ def spec_transformer(method): # transforms.ToTensor(), ]) return tfm + +def spec_transformers(methods): + tfm = transforms.Compose([ + # Resize the image into a fixed shape (height = width = 128) + transforms.Resize((128, 128)), + *[x for x in methods], + # You may add some transforms here. + # ToTensor() should be the last one of the transforms. + transforms.ToTensor(), + ]) + return tfm From dd6ac5bf70a78d64ca30915af1e3e4c38749549e Mon Sep 17 00:00:00 2001 From: korp Date: Mon, 31 Oct 2022 19:10:07 +0800 Subject: [PATCH 29/36] Changes --- .../log" | 17 ++++++++++++++++- .../main.py" | 5 +---- .../note" | 17 ++++++++++++++++- 3 files changed, 33 insertions(+), 6 deletions(-) diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" index 03b99059..05986190 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" @@ -11,5 +11,20 @@ https://pytorch-cn.readthedocs.io/zh/latest/torchvision/torchvision-models/ 再考虑 对测试集生成多张图片 提升预测精度 ---【学习笔记】resnet-18 pytorch源代码解读 https://blog.csdn.net/lcn463365355/article/details/92846776 - +pytorch transforms +https://pytorch.org/vision/stable/transforms.html?highlight=data%20augmentation +transformers 解析 +https://zhuanlan.zhihu.com/p/476220305 +transforms.CenterCrop 对图片中心进行裁剪 +transforms.ColorJitter 对图像颜色的对比度、饱和度和零度进行变换 +transforms.FiveCrop 对图像四个角和中心进行裁剪得到五分图像 +transforms.Grayscale 对图像进行灰度变换 +transforms.Pad 使用固定值进行像素填充 +transforms.RandomAffine 随机仿射变换 +transforms.RandomCrop 随机区域裁剪 +transforms.RandomHorizontalFlip 随机水平翻转 +transforms.RandomRotation 随机旋转 +transforms.RandomVerticalFlip 随机垂直翻转 +transformers 图对比 +https://blog.csdn.net/lichaoqi1/category_11727407.html diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/main.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/main.py" index 67c68053..a1291f9c 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/main.py" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/main.py" @@ -1,6 +1,3 @@ - - - if __name__ == '__main__': - pass \ No newline at end of file + pass diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/note" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/note" index f3f3fae5..b757958e 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/note" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/note" @@ -9,4 +9,19 @@ Boss : 0.88446 Training Augmentation + Model Design +Test Time Augmentation + Tr Test Time Augmentation Train Looonger-Cross Validation - Train Looonger-Ensemble \ No newline at end of file + Train Looonger-Ensemble + +# 都是 +DATA AUGMENTIATION +https://pytorch.org/vision/stable/transforms.html?highlight=data%20augmentation +https://zhuanlan.zhihu.com/p/476220305 +transforms.CenterCrop 对图片中心进行裁剪 +transforms.ColorJitter 对图像颜色的对比度、饱和度和零度进行变换 +transforms.FiveCrop 对图像四个角和中心进行裁剪得到五分图像 +transforms.Grayscale 对图像进行灰度变换 +transforms.Pad 使用固定值进行像素填充 +transforms.RandomAffine 随机仿射变换 +transforms.RandomCrop 随机区域裁剪 +transforms.RandomHorizontalFlip 随机水平翻转 +transforms.RandomRotation 随机旋转 +transforms.RandomVerticalFlip 随机垂直翻转 \ No newline at end of file From 0cc11bb9e5183ce450cc83e99aaa689b51124b20 Mon Sep 17 00:00:00 2001 From: korp Date: Wed, 2 Nov 2022 18:38:42 +0800 Subject: [PATCH 30/36] Changes --- .../0_106.jpg" | Bin 0 -> 62365 bytes .../data_test.py" | 2 +- .../log" | 3 +++ 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/0_106.jpg" diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/0_106.jpg" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/0_106.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..4338e9209f92b174673c6f9a23492139431a868a GIT binary patch literal 62365 zcmb5UWn3K3vOl~y0fPJD?(R--x8NS!-7QFPcPFs8yGsb}?(VJug7fU}+;h&oFaB?y z-cNUbx2C$Py1J%kdb&TBKehp=vXU~A00;;OfHe3A_}GCwmGHDO2LKcl0CWHV03Lt< zfdYU8BUo?_g+Tom{shL+5cmKXa18;@sSv>b;#>$C0Mx(e;8qZ<|Kf+{U}6VAu>A{T zg0B@rV*Hy2+&at(0R3+{?ctRF!H~FM8bH+1(bf!LrEKY7Z$`rL59J>#|E2R^H5&^n z8y^c7A1fCL7_hVRadHCy*g={9u?Au|DCfU;I-Kl(EeogqH&zA!;sF3SuvBOkHa6CH zsQ*|Au^bQmUwobb@jpEOXitOyApDONkbp$U|Hy}gPlWroOt4=PKm8kn850ry%Y*v! zKe||1SbjqMn+NQLpOF9QITXoHsQ<+UIREAWd$aIA{QqFc|CL_|^?xwz|6;J}f6_lA z)B?`P;0*Ks^4R~21^`eZf?aY60HC&ko8^PsDu6R4;1gKhKk)#m2rj_rpBMm-H)JHZ z{1;u~A3F4Z=>=f)j|Knaf1>E$F$38S_UC`v{s#O{TtR;QhX?JyJgfiw1t)rN2DgV@ z0N1Af5WwjldHEF#rq{G&D36 z47h-Sfq{iXf`NNN6bN=x8WtXc*W8I2f4tSZHXtq`3Hmgv7+e7&v4UWJDAM zM8rh@2!Q}Mg@c7dhKENc!bHO)`v09iegV+nA;I2*f*=DxqCr5RL45QB2*I|(fbY!z zaU8e@02oLpXjnK10Q@KLWht=BAfO<@*2990hk}HKf`A0a4H^t7EIO+w2APU6oKqks zIa@-0-51r~87%glYj}!p&NtX%iE2SOlpNy0NhU4@U_toc@r3$6TEM=8f`Enrz=E$a zqX8hn2?F|G1=K&LfVH5JLZh?7V33KjsbCs^al#@GOvqQQ>z(;n1t5WWAkm=E0K$Mx zhrL8kJxM7pWQb!M^xZMt)~g}~#YJgufn2itt-50yXQH)Pri-d8#&H}LDFIt<862_( z#@({VnSi)4H^KA1^O}ou+b70dqSk}nztz_G^Dg2ug}=DiyxJpYnuxIM;JjZ z*JxA3``#M-gFSGbx1SEOB->i%cPM^{GSmNfB9gbF zZ(vF&N|K}J98{~^!@jrbMab=t1^bj_s7NeC%ev%RPSPQq#B0etWcg$yH;YMXB|NE* z^;!tjmy&2w&yghn$?>kFr08rLY~e1Ppk z4_=xDtfS2v6+*lGjEe4whXljqJfgUhel9xA5ye(D4g?7$;o5A7*+~+Nj5|MY;mP_O zg6QTQVjOx6RBV5{9xfP=?`o~5s2q}hmX&$ZWR>G^E}Q%$XyYgzAwz_c5GHS)e~QnQ z;P>gMR+JQ%0R-FTOwQ{cn4GOKekT3+qjXK|!6pvb3wG4du6(VJz{AYPwZa3vkA?*8 zRM19nPZ5iYJBBeUSFIb^q{&!gUr9Ya;}W=7>8fgo0kVD(%4~0$yQ-A?B^LXW0ODyn zqLJrfSs(;{`N4O$-hg#-4s5U6dqL!}MxG7Rs4S=@A@m8$e6Abo6sMNY`tOMYaF{>}?~qQA z{>x4^+Kj6-I?p$Dw(LJLZBtb`1rdX?3V7?eUnz;ol5>QEbq>%)61gi-VYgDWsvfn( za8(Gxh`t9{w+G|?E;NFe!)%}tyU@%ip@p(uf|j<&M~`W~rsfqB$`_R`;)Ysxnv;c@zMWlnrkN& zrVT?g0WAYJj049=+Z+6GAF{H!SWI3_GE@n6?Xl>f^SRf>OjB6 z>#)*7L(ht+MnUBM)zQPJT9uucL6N_l33}EVOKGYjR)_;|tTdJD>!9h}JGR|{!i?hf zjFAAfZp$Abs)#NS;Zk^ON6M`cRbAOtPTpA9h0T||abjy-L=C%gJxGW?298o1MldRz zsH^@3Mj5(r*Da+S4sxxMh@*SLd*b5h;A)eyZ? z{HlVoo}IH?wFVgnvSHBH(j7=;+{+o+&!Z?S*Wl&-K8@GxHNlQ5HGMG2n5zagaiS`n zSX)x_5C*??JH!iHLDq=`P6*Qn>W`pxo0|h>gJ1dbTk5$zWz;u+lP-cCdzy@5Z2V$u zr$;?kZ$G-0#*pQ6rqo(78-zY28+@AIKLALY#l}5Fq~@A>hY9r2cA6#>qsye5!@Nq? zMK?&njBz?mr_B32XJ75f5&~_J7BYJiXehBBK5|3(cTes)XIo0#^@A_{xagM&1Z7gXy& zFSF0N1ttr|9Zg1SvK1)~-fPBD5^V&b3s6M)ORyE4HpuzK{qFPwMG^EAmu39D%(R^FW+Rg_gRIa?g2@s!Ib`muwVt(|kGDHEGn zJN#TSakgshW>wKkaS!^|a)u`mR5fFh*0FkjtCUBtv`6Y2|iV1TW%q;f#Ks^QPY zoPo-|+}Vq-9{~FI1^c2Ro5up*w-6b<-8)?xktk< zLF$Y}r`UzrkPYa+-DX?RhE?RP(YR=w=IhN!pz9$4x%aO8H8rHdloyR`|*!JJu z2rC`Fx$KO7hl=g8BAmMhR^=a8?!`P^R8zM&NZ7^=&)Cp5;ffsQ(*HO)G*Ek*9+Q)M zVnOn{inpxl&T@sFHCfKYlclDqt<>pQ3t`h4XI}sj{89l5kv1lOXHw=0K#Cf*{GzLb z`=>oK1*>EH7n|hPUjzfP5ibVijX$xb`$m4;Wg1It^d?CkfQSLOx|stKTu`9PbSPP* zMB#>1Fy*e)2Vf)f6M4O*bv+{wp9fjD$Bd95g%MM}mCGkWSr(_a(-Y9E^-ff6{?)dI za32XxfX@AFW$#FNeBtv_cgE9#uHs${^1YaZfKuLj_RpDcw+${m=k>iKxl_e2Ho*sO z$hpz%aYa&DaOFAs%W!{Nu-3e640m79{>tA>`@_H&Q=#m zrU7i}2tk#0P4ej(f!ZyjheI7YhoMoVa;a;(Vvoq3MBB_oG^f#(1e`*b2ygxt|Hp5 z-50HkC51%kh(FyTYqKr9n0uo#xX0E48Rzi#LU)hPf=<`J49YByM>yVL=gATUtOitI z0TfV?Dbz5A6C?xmr3QgnSS4QVMoTP11$ik-uL8PbrafQtjwi?-11i&SQ#aHEw}fT$ ztgfGT1ZFpWm2|UNzYM<^D;>z9$x6<&94LepEfJHMP1R)_Z2iu`eo*vzX*2ZeH^J;c z34VpLqe;0-ZFAbRViTsD_8)T|BE?mUGIsVIf)c9I*cqrMLNm~uG|<+cdsGT@-TfRI zV{9+Eq6Hhk$5LAmCwk0PW@v)=Zq{#eU&u1IyQ%w&^+Z8mxp{x^m&%s+DWoFb8yzxe zK!CJ})@DO>1MmSjl?C0ESJ&K3eZRZbSd{8?TE!hhnJN-X)<>IGCj1$(|aqXhGJ73)^-YT%h zl^PT<8=%AQW<3poK?~!3Sm5+Irs|?X!U>^0w?ClkSSYVz%hHy#%gT+BhJZ!LYMZD$ zAR0xii><7!GNQgaS_yl?vO$+~zV7#BcI5anbexMa$C_%sI-sekvaVQ#T{888 z09i!os0c6rw=x1T$BJ=ek1GD~R>QB-26F0h*+{qfy{|DQ>rxDLeDe@%je$x%_-oa6JR<$tWOprRKR?d>8o3HdX8^bmo{7Hfo2W zutj)}q7S2&H$&A84BYtriBG;V3MVSb7{BM$j$F%Li1HU$=z0!_0 zGwYHR&<_{iMTAq*FP`R=nvsLG34+6HNq&6m)T&nY#~?%5{JHLUnck4W(4X4#0VsQT zvz+&!6V*)0@N?(j(^A#`6|vwig;)M$k|jPtwR)p_d9|0$EJ_yrp6pKT8`2ueoH

Q)9XkzIOP)O)7>q>ZfFM`?DfE~igY;~g#l)L*RvSFAB*)gwq!JNgC&%(U zzR~Q(sOL)&)F9?Z(W|pnR$+d&^-x|uo9-u+a-vk~UI(_+`V2iD3d9T8-03%)%$nl$ zUPOsO?iFjctJg2c{Jd0|Y!FQAz?FuP@AmUUEn+EW8QYE;u{BREH!HWkUWxptU{ldQ z{$8Z!zNYmSIsON@>N0@;ih|d_=;34EV!S~T(bFEzVC{(0>&%NniM96B2UF>B8h*r> zg>I%bkyBkWesncV4L-AS7|`HjtMfJ0jbUh~ohhBC_aoZJDdQ$It83JbWrF1WIz!$= z?u3@Qy_#2D9ga--Mltw)Uq~z^swR&PO8Hk497$y|eq&?bJ*XG89yPV)BV@UDWp`B7 zPff%#eJDDlMn^whSn7CtT$FFiDst!?6au*z?jpy@P$DU?MmF>QWfqq5$uPQb>%c(= z*ean_$+Y2l%@R6CUDH}0VV+|D`{$SC#5hd+Jy~=y8F$`~Ud{JQvJ}BKo3)d99&2r( z$2cuL#^U?>f+VR81Aw&)kr~^s7q6Y&tbC7qc^(hLUeqnhrOfdXK~qCLV836yZgN6; z8mmL9z>4B5T8XYTY7(+|;Ao^Xuj=PT`7W;r)z=`lhiSh96wIeRM{LbvD15_cw9u2R z{XrC#p9bb#<(n7{$Bup@Yp-zPrkdy4%Bh<6>!r2)l!L=g%XP=Rm4dw4L-WP*#X)62 zftmox+copgyIFnKeoA#I6nKXkEgDD}BwrMCf zd-?30i!6Co-#hAxh9J+($A!R|24aZ(=;zyW!`}xMF6vWP=W(%Gl`T*L5Rgx`81rhi z5K9}h)4y?~yDVIvqAX*PJtaaD;Kj_t&O^y_p)y`nIJdOK?)QhsM9ZPgo z{uvjo*Pdf=ojLBdOENq0#<1U2v9#y7Y{;m;d;zeKq2a2_oBZ1uyskJyh3y*OU?JLY#B4KRUZzaX^3f9i!P^XH|YivoDsSWB+%s^XX%}UC;UzYvt{*4>TyP67&07fuc$q3XlaOH69I1d_kRJ15-%>Y~;sA&}=v( zT=-pi;gazk>=h(CUSB(U_wxx>^=g6Ix<02>rAJU_dC~r;xqd3YIr1<9#Mek9s87t= z#(zi(5XdQYYJi)Gag9d&Y(0ixU7pu3VxQDy@g01$Qi8Drm5}OH(vFDnyE7>)Nj5$0 zHgW%QwyP%Gk%97~r(6Kisja@lHEg%#cnGQSC9axr&BXIa;$s08t(3X-#I(f)3SfZz z(uMut?=pK#KA&rc&D27J=%Q0GepWy7WH=tj3^k{ckQnm!k+3jgqgZ^Rbfa6@ua8l*p2ERst>{HM8KqJZ5>Rp9(TjX0Z;qN_qaa?E@O8PZS&Gow3&2oR+!C!Jc)L;-o%_`UpAA=f zAG_GxIA&mIa2NV+HmiOLL>YCQLE_#hjicO)^cV^A0U3^=f-kJ7lfN`)PrKN*^j(wp zQDZo+hutT_n3*DEf~X^Y_@0=hHZ34 z8>SLns86WC>LGZxaNXL6pA1J`zbAf4jRaDu6DZ$ERTaA5H|eqK&(fL`{PZpO$ z@oJC!W0U-qzZ@_YwawVK12gfDHto(+lKdO~Cj&|sc_R};!Hacs&ZV!3t@2&Hg+YA* zPuipAaJiaVRmKWR^P#mTNZ%Z5ggaMp36+syM>IO47RD~T)U#M;e+SFk+tvo?$4uEsF0P369cvS=KB?%^g2j#1*L-%%hn`RU&;QsXc9>dHF6ka_YV8^L?^*I$*J z{dxW~eRTS*z5T{>R;As5oQZC()`NVXex}UKS`w|Rt_u#`%bw`o`Bah^SIgoY|A)&| zF`7~L5fzvuv$im~dCJW((@LR^#rp~N;8Jmh^~RH9dj%P9Bg$Wbi*ggLID0R^>d11! z;05pZj@%-g`UV5!p$P4oWrL z2x=O$MnqDtPxbkIMmde`@G8Y>>n{Kv%{iB+ubZQeH>n6(ksO2uMS!@gQ|+mq2l(Vw zlNkLey(4fZ>@t=}d^Sz5w_$KWExEsg8DFXT_*B zNvz2RH%U#@Ofwd7*t1<75}mT=>6EWY(?)wS2P7Dot&RPFoQ8=yfeEx67A@WRFAN~X zkzuHxWAoA;$*0*21NJ~(<#^jG5{WHLn`7vAC97M}J8G4y0Tbh!MAwwBc@G^jUQsBT z4&L*OCAalAUbZy`tAa1xidm|>G($JdvWPp_{es?UHs$lrbi1j?GBIGkxFwUwx52?@^#;HKovun3>{#}1R z+_8WF+na=oHZ$DFn41r-51FHxYsXa3S6@fDvlh7x)?j>SZu^%PfD8Jn;&tU~BB8%9 zj1KLA)r}wxvT5smvs}(=&-){>{-N#93&0k1}g}f zDFKn5I*<^)e&{%-h;Ug&_vBhWNz#>nn*1D_KL6+^?39mGTK=~9doI!?!|<*X2J&6s zT+cY+&<~DWqIl9Xx!dGvKj!_?{ucGmZ6vd-q6*oZ`0ljw0Unxmd45fD_T^rE>E7h| z1&b@)&mfQP7@M1tLi(q*-2r)tLj04fP(I z3ACT%4usKXN>F z8%XPv3Z?T$?qwHQLDi&wLm5X zA^Al`qMl3%v{>^w9g!-!vc*uF^X0n(k*O}d`eq|21Eqhm1p^ZI9FY5btcxbZ$;PZV zzMrGFSB#V!ccroocTvkXUDo1^F%$^zmRnkqqdgCu_f>7E)!(;62&?7Ql1x??B%v&mE*waHrgt@lbK=Xpepc1>30ub(Rhb)0?ygsO znFZg(o=5HRGmq7Hp0Uwh02ik*H7Bdjb0fD;O`l3HbWexvGlB~mE1tHV<;Zd@h?B$o zfQLRJim@n3iA%Ej7C(`7evY-blWLkcuOIVo$_Mq5BQ%{I_tp+jO|zb1rMX)Yz+a7N z@h$6r6RcMYt@6;=)c6f8w8TEayZFUr+HpL%nPw*XsEI62Y}M4f(7j<#pjNU!8%?XE zZV`J*Q?LV{&`)|fxKrD-Yo9-n-n!b7yP1i0aJ*TnhAo%XyCKHSV$W1Y8z+~vbb(im zVQ?ieFtIj#iaK2E5y&PW-!^{jUdQHKsLD?XaDBhW6*up5A_$7<5l3#GcD<`x#xZV~ zxW`c2 zh^NGo&DHwF@HhJ-E*TVep1{02^4+evTL}pM9Qw%xQcDg`Ko~^6a9_NG>ivnm zWO3e>WJy`V8vG&BEFqK~pdf{^<7A26GCO!~OPROEhvPmiCZYm#?H6o>+}M<&Ry*ic zG#PYBYWHE`x&x6f{~Xwr!V&U~ufWQSFJ5=0(}$S#JfX2oOUP_#TWWBpIR@7QcGY;| z%7=aO$nxgFe2~_P>XN&Jli(E9$FtN(V7Cdl>Jp+H8yHI6+ODG)BTP zWw#2Wrt#W{`;p$A1T#k-0BVAMZWUA>Wc`fSmiPidZn_IFt-&v~-Fg84Bj^^IAMZzb zUH~vqOKBzJu?u9Y+6(9(jOd1hE{I{%C2v#Uce1g8)eV;ETzJ{63rWBn)&>UZfjHe= zQ0|gJN7bI5;_sP=VxB+pl(vYJs2s-9hk7eaXEUomzD{n{&9T>ZesSDs>dah47Zi>5 zSWCMW{b-EV+^ z$T^ncoT2)YTf#0Y>QP6>LuDV~GD>5zH=DwZ3GVPYaEx>h+)}Ntf4YTE)6-MZSlfNW&)T z5gTYeIm9tUeR>TWQF`fi#Cq)P1)yC!b6O!Pv~ifuPO`Jg*OD~sklp&J>fUdRuW{`Z zNzX$$U|Eo5fJs`W>C$+wmwo=8f3!gAT-H&T!xEu`|Fi77r zh95dFPxDokZQ}h78jW3 z3hzdpbIuUPd-`_o!pbWxvalDPZPKKb9zsRoyg{0@ zC$9tzhOuL`$B3IR<+*I~dMnZ)!DVLk`S!iEv!WU$N3ldAhKw7Ew%OPJ!<)%z&g~M` zeK4(>zV~$8VU|fdE6Wd{EEWolGJ3I8>NS)6)J}nXGoMm9F4F@=lvrxr%H0xZb3r4; zeA9)9Kyy9h)KlMhaurIfKH}CZzd_<2?awJXQTdmjHn*BEGP6FfQLv8itKWM_4^AKK z(RS*4i*?v3OD&de|6wDkJ&>NbTK zqgt2cnPUMcV@6xqiA3kkVqu%7`7zW}-0=D*WN<_N<47PQ&oZdts039O^kF-<0;bJn8JBR#;u;Ud)EQTq|*N2-$ zmCB5p3w69&B=fk%oT5YNDF?kHot%~qsAUzG*pU(GY~G~$4d2;!8?si%I~>Cva{5Vj zQNGu%|JI0cN;H@0SI|YkG}fHZCV8z(gKJfVjHe%zeMH3Cup;z2WHL!5*Xyk$Mog2?D#~AQ1EK&#gWX84iR#x|Yh*mVpf*!KWn3NCpG?u%wda$| zF(G~i6j}7G%#$Z5kAil`UvzDErD*M1iR1@(kB%K0`S3dK5;jJ|*2gf@@s+$&OTR;C zE%=XRCAyrvuAqm-=NLa~Pf;x{tWwen1aSawh=67jpWNw_m99{%&9uTV8GU&zhuKZRxk^Lqc zy*zFM0|ky>=9Gyv889be2fI+3B)`i^zsEhlV9wXv6TdsTS0i^f?*(u>{sMUG7n4vhDm2nVR9v9!K zKCkdCQ>t+RPCo5Ed>YfKVcu`jP^!v2JEy8W6KnZ16h1;5FG31)i52e~2(I<6)1)-hGAw9+AZ?vBi%hG%-5Cs>sJEF1u_54!|o+sXoZDWOaPzj%#|g{ zk+S0$6%Q2SKn&x$>?b79+AJO~|1D>l=BBOcZtn_v{n<=L&mtQ%=vEzA_^5IWJ&Zle z{C>js*u6o4StF{tI6?aYNGhCu;K(|?$~&tFX6IW3pA-C08pHu#MLqoS#+GQ_6M15p zWCyXi95QjZBIg9Iyjl9Qi%eLMEYZpqUZ|=Q#+*pdJmFi`dk#u_7z^I1t^PhDT+OSP z3m0@aRbaXDCgfnO8&lU<*0dpb`5TxX~;437fRD1znANLXBX#YpJ()5qkk-)>&nrI+KYHF&EYzT9eu0VJFF5EbU6T zw)#XVDNp}h$NblI%ne^Q10~zDDJ=_yH$9G3hIk)m)rI6AejP;`uSBelYLsK!}es6g-$Z>fH>Upm|A z_tKwQqmD_02l4~2Awq_9Z9Yp1ymp{?iPIW}%(E`wZpwRcj8F90dLy7Qb> z#fCG*7l6eoiLP0if)$>?Z*xFY!xd$Q_op_Jvyh6lm{9GcCb>Ar4dj4ST4;tz$6Mrn zNx?Cqo3c|}500KTzBBPS`mEVAkLbY^*$4-udog4pm`dCSpcr$B)e|eDz3;6M2L4@8 zkKSA`ua88J7tS6;X^adLwvWE@jn3}le!R7pss_JUYIr2BmBnII1R}9VJXl1WEwb;O2@Qln9X>m zdh^xHtDdA{Pg1|05&ciI>}4+PSeD!tde}xdPg%H2_I;8xcKln|j&m2K#zf>SVWMOv zq^Va6TMQ01p~lPp&d-PBKKrh%G#lyEk?kx=9k|^EuVl=1P81AN2>d#I} z^C6Zu0m;V#8K#*$_U|OkG7Vtn#sHO;Ne&GGFzKP;&9+1KCJCB~KzsYzG>Wgu!JzFF5wgP}oysb?{d_`Y!)a1w)?%pSUW zdn(0fD@osk<*eHPc_#8E&6X1EvSN;kN=xcTp#-Om z?m)ON8xlC3X9c@Tb!UfTx$yCLGosZJP6|sa#=eC+qlmtVGlij9Grq9tJlz7eMf{>m z$Mchd3El-O{Y7x|UeoyF-_)j{^xxPBLT&P7ek{s;WB&+CjWjyBlt$hFMRV~byYunR z`6k#nPBW7So(Aa_2xwJv-)lJf=Y2lDmlWek&}93RSy+^t8`i(?D-?3LzLbF(+Win@ zHKEg5R&`G)Lop;3Hz=eIm7}TH)uTY>jo`q6ayCryr8+yCrv%x={4w7vS^g9>odUWs zCMcYs=*H1o7__JUMe#A-VUibE%+^k87J0NB<8`pw?KSuPnJ|i^E5MHL3xJ5bM2YKu z-i{I$QTgGmEmXs6Wi`DgY2w&#p!+VN6rzyVd3M=7n{)ahO$I51C(f1_Q&tUx>$=CS z);3#O!qANo;+E8>neogh(^`FfNiQZ(u?(MZ1#k!9bTtw5j3L$inKiUDj0_7U+AS12Y@2SuUd7}^qk|gN=vZlWy*rzi50EkybKea%3T@1r+FtePOW85f zCpX;4L{?Z|eY02J^n;_^O7B<3iQINFv%K;nkYOq1c3DYw%C*^IZTjeQOBjh)-T)y& zAJ3StipN-lIAVmn%~%Nj^Nn0G0qn*GCYG4&yUY7I+p;^94|Qj31!3!ARu4lPy%70y zkn-2hJxSW;aE+VMt5Ikm0mH=KurT4ZB-G?3okIERLcpC3w zOQRaeV)zc5h!;Qsg$0=snP0&ZW!SqS-ek3C}zf-*ne*@ zqWYox4T!5f9QehShxecDLW5q{5^Vh|DPJek`ni%?)chrs#tZ{IC^` zC=6Kv8dmEs#nrWaKkL4}0p(B7Mdik6PJ|HYm}Bi(htE6{S`u9Ff;9$BXh;*K+9V#g zE+pW>d%M)#W0o9+`Ir=%gbSyj(LKk&;EyDnI=1@(Q}=V39(@#d3eVIQzPJqxkNk}K z>dld)$d!sEnKm)Abx^u>vD>B#6CS>D_0$A>g7LX zUrDw%DLBZ4HOIod;DzhIpV-HG>P7zwIhow{@K_Kx<=K;jo_TAH%oGG|`eA(ksed5s zvgsrYcJPrREyehwonaks=%Fvwd}f$b$6sG`V0&XLKGVUi*VT>I8fpV1>YpO&cCRt? z@{ddQFKqgF%(JLMA5eCI1*p` zlo1v^1cZlHSv%!=gz77C95bA);{)tjZmMqLC=6GOmK*y;+;_l>T2oUh5$Z`7NM+kH zE-AXOOsL#Kd@3y;b3kEF6*qS(ppkBL0i36C;gjR&#)&0-EJ4e zVJ7=Dv$z)a)owmR+b357rF4!(TePfZf)7u>{NJy9o|oElcPWysD8OqlDS}|xI11rZ zoV2g(ZbPkuX3XlJ`_I4gQ^}_8cHq8ldZ3{_f)btCo#sAbb3m+>NfF&59=D)h;*+#y ztJ8sKH_}LUo)DvGJh$#3>@v-oSF2RpTyG7eWF4kt>`6oAcktYZuvP54u{5b`tlpmFHP&kINk;(xHK0hw@8BBGb(v#07mlrE|GkHnISd7HtK#VyrRh1?iC`9xn;| z1i$8k*@hrNb(KSM+baOWopxE9Jn6O%TcI&wk24sHyzw%7#9 zDkR%{hYQx)Q|M!1UhKoac~B|escJ`3pj;b|bp@-Ar$ZF|hp_2#z=m2@yUI1qlJ>;u?Yc4eh zTKKcpo?^$fS|AwRyhKex@?WNoBNE3+?LeiN+U_lRNdEM@0KVbB|}gn5{<>s zu+Vz}7`Y)9UT-^(m)o=1=UTF{n>0k}WLu;Oq6$YwUkzTfkm&z9265QtG$cP6XegGP zUcqloSL#byV}`E~u1C7aPcu^ZgX9!r6cSsMADZ;*x>n@bRXRwLFcFjIa*q4NE>{vR zj*v+p?2Y)P>x(|7=1TJ0vThiZQ~+A19t_1+OCQT3soe!bDQ9HCOR8Am-2;|C$FpD0 zw1YN(ETU*NI=lev;Jfs9FS`BZe1D&YL+TZ3Tb1nxKLucZx(4dJD(DY(syvi4MgNOf?4pkruze| zlXbvv^ZLxLNu*k9!Ic}18Yy#>!K$A@kE7h2vc5(Nq_YLd_;G9%KUTGs+!_fIP--|y zW)L6RS_10rmV8Mk6DNJOp={4)T21%90xtlXk80;~i)-WNkK|*=CRF{YnJiXGSNAnB zR^!#v^^2a#)w*3HqHzq#4rKb4Vt4nI=yEp1o8LrYDm^fW`WDVJ+7D84Lm(t0A~Jy+ zT(oK%B|`NDd;A8&#}Fc3;n)qo@t< z+*V*%+3ZEt2k0*aP@@)voCjb@DW7C4=Y-hxH~2tfYm<4G;vt_Fp{dv9QHm=k2fgc6ZI5`J%vyeo3bnAv_iCh( zF@3?+ezP}-&Bn96$qqk87a+L|aD2hJckzZFbz3Tvl~V>y0vMup9mpmk0E&Ky%c3}$ zA6R@FJ^Z$^4k>O>f?fd9@d<8FKYB6=(9V_@IF+wUzqd$Fbdup$T-lIr@?!^()_dxh z4~0$2u&jdZlX(8^3cec}sartlhf?!{%6PJ^_L2U>RLoC2rRWp>(Nqz9pDz*|3G)okwk3ju5X}w%<>uTU7q>f%luqthtVlT%zoy6QtWx+TKOmE3fi;iyg3ew+lvn_=lj3FYrWglXb~|3 zW3NlWu_|o_8yk2zj&P5CnxTKRZS9MtYOVh;5g=s2fGD^~-x)27#1hwUFvsPPaG-63 z-8{=qR~x-ExY5YC!*)@f3(v}_?KU+Y)F(3A9@^vP%P@V_jPe^eWfI6Re^HyWqM?I} z+LIxPXyXL^_@yIQwETTD`qBJFh$J9k%<6z8b<%Ic zb%UhUvazmi8Te(-!OxrWp%Q|Tlc~4QpIhO;9`{F{|~3y7W!5D<>}ZkIM;kWcLYzI3j+4||`k_^_A<#+OPe zO=?ewv?+G$)Z`^;;9)V$BuO>Lx-wA)oh~6Vo`t-j+-y<9vgNOiqUn1fO`>bj6ny_{;_P&2KVko}v6{2S z#D6mcfl(;(1TO%4V$I}50lUlR(bUVsW}>lHHSfX&s}G(8v$2LU>5B}J!n<<_WfPKk z$*NWQSf*gNjd4^Yc%|)V=Ud0S zdrt}0`5dqR0~mK><|+3vA-WJH@`-t-Ag*Bla!@QI)6$l={g5^UPu3S2D^yzh0UmZ} zT7S@vEgN%4XOJR^ztK)7ZhW`BT*f5d5~A0%e}fMW7&VZ3TW|_OUu@}AU zw1n4KBK@;Zh{o{P<9gsVt)<7FSn%gkXCLfV-Ow$H$&63F^|n<8ASa5ov^WSqK+g0b zw|GyAkh(}NTemI7w%`D>w@Ah=`_ocSMVbRL;_FzSjtiq9#-SF1Oc~uZLzM{cBwJae z{ecrV(h0DM$2yxd$6x-sjey2tC1gTAAT~ysoa>{yByQm(?_w$A5s3Fux7-vUhZ+gT?-a0y?j$qq|MB1t#Q(-rLeQi zP5?XQ6Ou%;4+v2f+sC!3ggOlgT#GsB-PvodM52$=3H!ufW{%wJiGA|w)i=#2-<2Ik z|1#xfKE{PH5v|B zQuRvXjfd~lO(wmB#Mdzai{*NuKCex&k~}Z^1ibt9808wJE(HM;*f3-<)uXQ!6Oy>L zwbMbLTBeEqBrJVbm4&4a3Z@7%yPG+9^^)h{kE4V(V9GMMB3;;!{FZe^%4BopU zO#mYy0R3mJx+JFI0%Ucuu64Us08?Nk+8n*`jE~gIC=)NBGP-Ypbsp1pmJTb{3);}D zpX1N8VkvBwi|Vkle^bvTcZ+SI+4TfN`sqw>5wgfu*McPt8_BAkr3p6<)2k!{(5RlM zZROWa>Q}9;i&rIE3;0k!9iZTtYw4aG=I&guFyi!UkvEn_uwNOQN4qEs$*!EOq8zev zvcmGi_*9M=;o~)8xNUlHMyCCZH;X)5_UN|;Go;3cxBs-@n-=~`TKuzqR7TFKzHCjo zN-}1}|4Km%f3f`62|)SVmVevwuMYgxf&Z)y?0nPRBr!(qpn1#C7W-Auxr1WGUJ7~` z5~_3_6O9P5v(rOi*#6eXL_~3vb$Bh24rC4!VbdM?h@HzW&u-~SUUyUK^C)^(4c}G{Eui3!Xa`)o@#@<^-#T72-nuP?C5Fofagai-n5`tE6 zcY*|m;Dr{D;0^(TySo++3GVJ*XyHzwnL2&%be}WbJ=1;8tiEgR^pE;gtJs^pwte6C zKJODk_ucsS2)Gco?~@-LuZ`MTM5F&*u-fY~u)66mscJksdYKL3_` z&nNq}ktZ$kIwSWT&y4hPm~LP4V{-Ar>Ma<2cu|(>+bFCGth788nN%p%?w$1`3$*!; zMt-@ z8~i% z7sWH)5q^~JbHd`ktQ0sK3%YVUn<)&X8#g(lOeTQ*n8lUN9kTa$xqx2bNwsBpYJL-B zKHVxon3`u~>DjWF*fdp0_8K6V<3ikjD0)M#siY0rH_|v4!v4E>GegEaYb{TU!!s~L zYMm3%d%U(%Lz9W@g4~y9#`+2AbO!QUfH7$BS#v z+sU*%NeevMSFmcWDfl&H&2ULK)MzMrEJ4i+>|%EAQ_>6ymP%3;wDoNJwuZ)Jm$>mN znL>Jbmj}Aa*4{GnL;!lTvu`Cj#juzwk3HxsUS0}FF*a5*PyYIL9X5;Fm3(<>LVtB@3i|`_PDwbc%v=v{C3~v3 zgb5o|z!MQ@--P%3d=Cg8lP>V!=hERRyD%ZS#kae!&N`&vuvU#M_!t7Z2`5r&idI8E zoYNGKEE9U|cqr(;Z`0J)5~RkP>`=V4WbK4lbyzN^#l@ofEbKpbTKTpySoJizyAAiE zCka?dwuu-{RNv>?E&wv$dUte-ae9V*g~uJ^!u6ypL$^h7;gIZu*WQWElaEnnGSbH4 znxcOIoQRnf#@ROM*2+zq3kP93>)@MnYw-d!B@L?Kuq$~LxDVMQ)jl@#mVL%I(B??G z57@vb7`WY*2iP3W5D(A%l=3CB)M~L#fh`qm<3XCnr8isy@WI0Lh$^;14{I01WYkd- zQkp7joo7vZhgT4t3Nh0%2|`~9p@JTRJXT@G18l8y#rg4hEFhUFv-jn1ADOh4`9zI(98C9pPd8w z>muzO<&fMe6o5v(&0Spj(VpD@+4c0_dBlIoBmP$&3#Nu#FUr({Wy6uDiswU_-fpEl z0}nC@Ij08W`VYq;zNx`*^?^m!!U;wcNCrY~{8;2jr1H`~E>HA%0NSUQd(mrYieqHsd?t1!UYkJ zwsw1_HsdnS6Unrz*u=@g_gp1~cX8+#yQuVss`dUbUPEDuSQn=CuDk-)Mem%NrM&n( z`~0}9GI`(yrxLkml%VEZm@lQ(6Yc4BX8tcnhHtPI-#%ee$7sMSoY;(SjRMFmr0?1! zEIsnpUfQ1&OtD>w5g4o)>FAfWyPR&zze6{v_yb6ycUlmD*17%x1XC?#a4F$b)bgZF z=!Il!o8IO+rt#Y?Um^Srjs`RM&!X@?!retG!|=KVpE`K!!7ptg?9W4K4@Sq8gfo5~ zWYp*9f%xv3`$+pjMb{8;pcS=I?X8e^tKAc8pP2i&mYS5%!rI-mf)RMX?|n8%@}8(C z<+$nkMCe{4p*54yApx=aM7Y^fnN{}4wQ+Lo466GBu=dD2jd4KirngU~+aJJnyF3epws0{0?9#<{TT%|cxSk0~Msn|<-?2Rre z^Hqy|ox*42VuI%BD;aU|2|?@lDJB(J>$c~Y4wcyOo&Ge0L2*j50mjs#T^;r_iz>kU zj`9z?Bnaj_IMGwd|Ja)q?EIK*_x1RMI((3hzZXsMIrVF2?ZOSiQnqx;Q0GnHfD7v9 z@b|XagD5fWU!46f`zV;FED;l^^9<%@j))$~XYC!idv^x;^HWEc197s`k~`+=#_X%a zcNdzi?uZUKxPl9R-5SIvdZxzspwm$$e#G^S6L!nKqvQ>&$ zSp z&21U^j(G>Xr42%j(kDq1LDHTXo5iEnQOT#Xrcg2;hwgTora3md=e+%A&vPT9?j=M{ zL49;-h{9tG1^^o|jmXM=QnR-}Wb z-NKF4`oiVaXl&5nfns&5Gu@J$b!`G;#hhs@+_`gW4!FVoasedv!GLXG>jx1hkmctJ zU7A^DKlX2kWwvD*wwANsY2WVyBTP{Ht^x2u*lx!sWxA_Q??hk&LcVV1LSfU96DG(o zF9=!wue>q;S8R*f{|vpyj$LMUYXSjtAL-svT@6?!KbKL-$cus#Q`WBx_RzSg#FfYr zY*8WQ0z+IM<&890u)Sk8+WLk>s0Sgx$%o@ZkOm5U%GnABrr33CN5F)el=BPDl1uvT3Z=(OF2j7N z_TiV)-a^7cv4umkhFFWF`!MwY%lI4oq|f;$=e2?0NJ1>ers~t{TK59+CG)l@s#u># zbg0aR0r`{Y6#BQ#GuFtqna8pyyg`31rfPobsBZVlH>Wott-yi@k?G47GI1ZEtR$yY z@y{^t$n?IUT{nS~KHmfw)pO&?qX%?kEBD@0?y{R#YM0-QW@KwO38XuIMUTD;UmUXBwIjDGW*)HsHI-eMaa_&Sy;Wev32 z;iZQa7Bq?CZi znNg&dU_?o{BAU$<`vYILQrQwb>~6t##S~#2@JRk>&FLiVb{0Q?4+--E$6VWiwFHjP zp^53GHr0DccjiyAMZl*Lq5kV&k>Dc625FIl)=JVu$ulu%P`XF{$1dsdH14Es(-Gre zRUN8mA~inD3s#RmdahFtu+qN@um1ByRU_4FZ_UX|AA1GLKBe}V%IrS?{lw6i@2({K zvM2uj2L{V!szl}_OnLr>5~rlxjlo9K1xS_VjT-Ludgv@*PNnS+Gab~P>}oBi;HbJx zQoZ3>QCq&(uirGJ0bm&qUuACjE25xKW<4u=##qxJdbZ=fKxIz3N{T7K6yixr24^KQ z)8dF{s{HUt9+972ljPYqWQgi@cxCNq?fjV03$!Bi05|5#z6lj`lyf6BM44zgER2Ne0SuRXl@ zKQ@^m4QQfmUQ-RxTMAc3Tucs;DL$>zIu8QnJ;eJbFN>%`d1j)?VejEgR0IaetY!HM z17vEhb7%9+N_*FEKm8U`ZO~?aJ*76>u^-eePiM`-k`cpD;Gi2tXGxx~yIx6J( zv7914-5>8LlaZsu&58N{0L*aU>uO-E^g|3U%;_gq%M|x;^x(wR{T;9f>!NnUp_U1n zfWUf&P41ae*k#9aE2BlyyeNWHGe_wr53<Q(@Sdo!4)=-=>`tW5LtM^(Z`Bd0R>B zL_-W6wefiV=Y)gN+FJzuFSQG(xlF#M2k`Sz~;j}u~Y&xK#6j%`rIM@lw z@yrZMsB#T{SA8*ryB1SvcH!j<8d6?_#{j-0<0 zMWCckxy;wgnl(1Y8FBPWFv$p`EPKt2{Vf70{4W9ShIiG(h)KpM9fWoOK~e?+oPCCXCjwjgBAHaS^i_BR=Ae2mr7PbLNp0iE7p|^9$7Up>LDNU!JW2v*e zpv`@IPZ~89HN5T3ya9}KJ8G4J;+}szYNPY5rRocSPU1`_QXOkGb!3Yn{hO4e;9?oamNgs23ee;W{#HU6~ck%Uh zjb3egAn{~4WNf%56L)7iG`{Nzf0hR*?s#1u@OIh#tzIQeSCA^2JKak~P+_EgHMzt; z)*MWfcyt`xadBO?7DnVwsu`V)DGJr&5iG;OvEO-Li+O$)ofMVMwA6SmLh0efhzmwQl$6b;;e@ckUHU zanxG9yis(8`P&Zt*%jWhLwR?tmw)L#`oBcJCq1#9Jehwwygslpf6RL#r|rbt_MH`- zq&sLCT7vNJ+CR)LSuc88Ra zrwn$N|89NvSucn*GMlguFIMpB;PKeksMn8eLL*+eCT@al@_3~@&99clFBkVK#{$A) z##+xzwvZn*d%fyG!=FH#pq+h5O({kSsFnHx(`~lq)#Br%UCJZE`_Pj~hf{6Py>7}s zRd zCwXH~^BRjlFPo9Ltki*6ZwbZ=NoiY6p*-F&iO^X_*FdKNRa3c(@d`T1=pju{Xjn{_ zv6juAdo5X(>m%37F_mzLaCC2`fR|W(N0X?mg8O6q;vC5I7*Wu(2VmlO6Uw@)x@*#t zy82y?q}3lL_`ednl2E|n_ceJT@0auqm!uro?-~(tOSdgtf#wsD4ql?`_hv7g6gBvC~FV*@#l;t(n4MR1tt8rnC;`D?Jv3oPN~TRnA1 z;Yga7W?*7|`_gb*+$f>dR;X}`-~N)^N#BT{laTTFr5lQLSh+=!j`jPxM83oumEuL+ z7m|KHoS5{U>EGun%?Yk*R|?ns%~cPs^tY6sl`wPuyV2HhBq<6sn;(>Htxux{X0Yen zs_={UsrwDeqjrlV2=N&IN}8|wKY7Ta8AI$?>%)hb`+{c4ENOo(k8o%R4MjLd_>37| zmEu>A;SS-4)7$egXZL^J#{`J}rPyuWYDsj($IfPloH6r%ggF&hyE*jgyQgHxnOah0 zjPbEmJxvgD^pYiOO`>ek0WUkTpZQaR33^W75Ewi)?lXGNf=t$f1t}lf8%xe{mO(S4 zl3iLqRs?+yP|;8OjjIT9+a+FPht=sP4|13#&a;C$=#PmBl<|71|P(#^{sUU7qt!htNWOi zPvQ`hs?Ng-S!^J3yZ~v-17nzTeol6?SICi>m$s@^=PjKFFPiAlx9I*k;V0_Zqk09w z!3)WHNiV*{0#@-BCjUfR4^uypN0EQ}X<<$k4~3RN_5G)z-1+)6n$*#FmACR(PBK3n z`)pGtCMpZ2FKvJa;c8a&XQ8hcZt&3y`6;Rwqmq!X2x1H1sd6*+>@*Fn-`ny6jX1NH z0jQ0??mKw7_Aw2=sZ=+`ZU$Vh>d=WFR}YqHC{f2?1MbG3r7-1Z6n-uuc@}w9KM=9e z&Bc5q3Kv%A75o{m7~pklyPl}p`Md%p`4Qy$%Ab4aIE4ZW`VraSa(UdA{F;s~Rk z5GZUEQ%$+9EfGVu993p4#kgcgypMd7c3nuGw%b=`oi4qxjw$~(1pdF`(f$W)PhW*v1 z0PeAVzlID~+!ttA+2^WG&kpo6`1Q4jq>8Ig&3~-HrX?rUZf#go*Mrjebm=!~MS9Wx zD%}|i4NvN=EJhn*-9~_)Np@@9RQMS|?iu4RHBg@ngqJfwMw>8dHw7vVYC+q>}#TKBYKNmiYxcaSV=9y{}|I{4O^JX zYu)I@iVW{ko3tBO9Y+;LBO3tgDUy|0eqR}t~)(9GFTj7W6$skkqG5%t;87Ra}!~1 zI%5yG0zJ?az@Bht*;(0K+G)|&3m5V3E3^QapCVi-4%%`O8>(EJHnr~1yTMfT8A(t* zAS*L4NP>Ry!@jP*S)CULt#sjGyZ!BK1(KWqHlU9$gpcpGRhwmwEbP!rT@rDtl zjIQ$5P7}V5tA5|_?S%`LzhwNka?>w`8@BflSf-+I?EG+Z-MF{I#%Wx*kBnlPy^Q84 zb`f2|=i9K05hq|Jh9#dbM$K%&>=lJV`$*wpBN|X!`!l5KC}NZU&XgZ^?28XK1SVxn zGLH!43B=mk>+(3jv8k~?hs}d$K5E>0LJ2EnM6B0V!jjy= zbwz(PGX~kZB-kP9zx=6J9ycTK9!6}`BQ_HiF4QpY|x+-TL%r_2VSGHtj^Nh(9?F6eP23G^1?)fQ-KHUnO$b zNLeN&jA4ITS{qiT;JzoD zVRQfa9C@~FyHS87!jKo*X?WY$B_A>iU1^o%Xyg2_Ng&4udS(s1uGVh7VCl7nur zu8c<1@T9Ud%)YNlR{Od*`hpH62D_=ENJlr^gSDrQmIO#bciub4I)p1oesfh+#$7H1 z)G`qLJv%Ni6hfoEa@DyLve!{D`vM_ZGIZw`cY9!J(c>Z=td&h7e!{<(SZi_MUrM{_ zwZ1A3oIF^hpELmZVy3nxOl`V)jBclfk=DL881g9pf8|F$`fVK zs+y+8RPTm!LjfGAdTChz#YoV)kD^U(#`9yltpGD@{34a(5b-MAgHJOGf*XJhF zv=HSIdlRiue$;Pk6niMa66x%HF#`-~Ewos_Cq=4Rg78`poCyk}h?G4jh}p7^^~EZG zB6oWoi@YCzg)0R{H+cy+j(dK{s!F0PLvQmk&=mzqwvQU?z3PaSowN09?NSeG3uZZf z2+8xyUz_-@9fj*`iB}JbeE$ez3!G}({xII;q$uZ&-N+>O^gwI1`HJbGxyVOX-7;OKRczmEzf4MaI5=!dDm zI3b~#2r#ixZ{XQLBZ|{+!1>*!L1SOL*PMlV1$QLkx)o|k7oD{ES-m|%&otTy3y?+_ zzbLQ;AUdhP46&o=Y*}@;yB-_yUN~e9VIfi6S+p}-ue_POVzqv{GvNG?;%F1j%Ae*IxQp<}D;J1OtOrL67gC!txb&c(%4_pWU*BN*h{G^Jq2 zYiy)V{v}baxkokiuS=31g_c$N()6JZlFm(Jxt|O9MRONh;D;>G*UyirB^)y8S&Th& zh=qJOMc(RRaN`8l`90s_%)*II7b|iALanNAJ(HnM9bV?-Gus}csoi%rO!!Yg z2|rvQS2G>clpS+%M%hXK8Q?P6t{{&zea)IL8vCEO z>=qi27WYNb(e^Js?xq4a+4iDA4E6bKC*7DIyi(2F6$F>8`?DMDt+?RV5Bo-_fl*!R z4Url&kQsZ^P<&(BlTpB-0M7&lNOR+ukhps^TUR{S87U3fGlmn)C5Kr@_^bPMAJNYp znR$Qr_xpVma#sZ%mF-aQ+=^*@M~neHUL9z|`bL12CX&s82Uq_GbprwatvDm&*MU3D zH)*GQLEf~kMADOq#~KM~CM?k$QjL`1G4C@3wZN{qu%x;7%PX+iB)py*hD3rdh7Y)$ zOcXLoKM{J-$+*GSWN%(%4RgL5FsF7I5a=HhiDXT>dITHDbX;vY5yk01A{{ctEmKbJ zvDV{lC5-r->|nje8Giuoi|HPOQ61Qq19dasj*|Trgh3ain@+nK`JpQAN@|8-jnbS$N_;O#dXrcdzI_aA@9_%Be0-f;X<9l&`@8P@SUgwW4 zkfBpD_l~hMfpXP3`<7BeL_LcU9y04y`jbYka$aQRH$REd=e=Ij!|jx_Wv#+Dr6Pst z_6k2}t!Rngat8j0IE&)yf3Wer`8ZksF3#qNb97&wSS#b16M7cC`i&c*`}NwF*17;F zmY6H|=eejf%C~yxYJrWAL<7d2JGN9uo|PYj2iIRGljUXAlS1AP@c%x`;M2?uaTOBL z>Js$URLiTe<|BlzsQBB{Ynn!1e@MGCX-?G>vcYhL)I!2m3GS=A{qcQ~vmg_7Ex^9k zhN*Iz=6IoAuJ;{CL^i489Z<(ILy-UN_b-!uQ-f+3jeh_h!CN`ayvlAooh5tnDlQisxp@w|-93DiKz0=VF_9#gP5KT-bygtq5fY)tRG15Y|sFFq4~ zhj^*267?_5?L|YE54BqdhBC^U>f`~0{l&kaWHA=^D($LHjFa?Q4LOj426?m-&6|D% z0?=L>fAYnj-<)!Z4$_=V=OxKaoP3tZ>0M3Zlgsw#7$4_RQC_!1)Z*1p1F=bp9<+*( zH;BK_+obnWFPL3k^ojX})3C68D}*-E*t_h~E2Ij$@kMEeAf9Wq1Q|@m>bU6AxL|@=q=F> z1jW&(Dul@q5F!1PUB^3#Vph_dEx!cPaAys0M{fT@jv=)W!3V32V_DxUY!JO!m!!&2 zrb)6~Rwv&Saf|~MvDdW;sjC}&_&s~192Wp3h`0CLqzf~^eS$C}sKfFI;9L94BX*VP zxxwlBgC7@^{Q7qN#Ikb}S|VQOUUS?@e58m#OweZhhndL!mK3Y4*v~7D%pdPVx`XHV z`F}^a^|;Rp@+K7swPzMAEOJF~>2+2oQU;@>)H1Yk4&m2Gk`3Unl5qwo#|B6o{h~W7 zoQ1+nQ);T~o6lz35JNMknqRi1J8x}~D>K>~2^jsWGN=*>kW7Q_cHU0AXy7>_jA= zUgw=F#!A=p1LDN9xHb!vyv-&h9G;cnLxT8Ye>Q1PzhzOB+iVivi5sWPL!^oRxAg1& zqYXfR*YCe0bBI%4b0ZK=-+#rQ`ux8K%>IoA8pT6y671P+K)Fme6kR@E=|(S$TSscC32sg zz0hyyr%N%HPG}@nRvPx85V1sFA<(=~t)3dDy}n+YAAQpQV5K44d#RtHR8{feq?f3n zg8+JZ7->hDXsa+B$KUl1Dazdf;3#8sFijbLcPW&@6!f3tdHlHFmQ6reU&9JjN!x?D-v9G)8uwc;}OkO6#6Bzn=+Bqxw(=BIL+5Y5v1 zt5h$4IhG!1lBR8X#9dF!4N&7fh$D5br(q@74|OkM<-4$!@stbhuLpcoUZJb*s}d-f zN&lXagisiH{wHCWVh3PEo0PNf^HkN$uBR`h6|lRJzO>CF-dE+sh8#`GNOZ8(%EHjg z7wqj_l#qh@1-pP}%^&XD-ly#@7MI%+?ORW1IPfr2@PBluv@8Eux!t!rSlrgp%;_OI zV<0SKu^Hlbz@<(KVO!bUy|O z%1jqf z_xg$O%*>5T)KFs*i?iqoS@=V>)8-i5T4uozhYQ`&6lS3(se(KPbj6!woh}37hZ5efQ zI6(X$^HUfiCt$V=D(t#WinMaBu&P=vUK}5A3G2Ljtte6Ij#z~?9%tQtEU(q)o&Pw+ zM1q~Ob^bq3MBRIp>dB+0i6TS2MTtiCWJjjnCJ{6_6rRsI1_Tq|m|q28N#Fzi`_1lu z^_#6mJ=y%_3NQ59;p(fj{{3b>vK@olXHab~Z##*fG`^A#_3+nSKe5);Z?|)pSO~ij zId;!#KcekXCG$p}GU_quaa_oUdA1V(Km+VO zGmbAVonMb&2)o%iq6~i+h_2)vd+J#R*h61N((9}&!ht24%$^`Z@zcxEXUG5+t6r^eS%T6*B_9&9(pFG zI(T8buTIabM!w`P6v!J0Cx1J04PNr5 zY$6e?c`ZgzHuf5(nKIXRz)W_kyKsmitQUf7EU@S!LmmY$_h`poSyL!5*!N{>X>YG- z((#6E4E|8X>M{5OV3Xahaqh812wt$nAi`fV=nTHt2;@L;K2-HxNN@6gU1~ZQjO~Z! zGmE7@lwqA58zql`!sV(?qkE!XEL(EOn7N``+8ckjlh*f7&-K6Q;6clss1p%0fX_i2 zU4wlQ6E^zC20`~8OwP4;7Phs|O$KO0b%Md>D5sTj{-pbJ7cMIEeM+bQk1lBbV1C89m&YIh1<5vA-w#O>rQ&eQXNjaq}oJ>e)2#wf># ziz9VZs{_@s>syHc1J?DPSei7$!L?@ceH}+O8wtVRGx)s`c$(hyZ`q6a$c|W8X zysTcC&o_qcAIEE|&ub9t(bWUPPwmBbl;(dg8#)OBZ)|78uX|-;7%e0E;q~-| zTKZ|vLq^~G#|Jz|C7*o<*D4t*l*!SDPo5hf5t|I_y>;^2Voy$6_j%tZUu@&jykr#1 zF*$PCvEwBA4}hY_2xJ$-2P`vj*#fLCT!O{Z#})+-4;FPAwZ6aFDF>bWLgYkK_8hG` z?C+_PzSiDmC?%(%5%+F99yc9nxQ@6!%-vf30iaTs=e6kVRz9ElK2ZJQ(83m~0(8O79 zqvaFwrfz-KEBoiJvM1r;-Ma39mmaRHiVke}8|qGzeC8_4nNJ<^o8DBp))};Cj1P>4 zG{J|*Cg+z!RJWTrW5cUkc(?I=$OUJRE}IVGgNDU8c<5o=0=}fZo%f71Iz#X%ni56J z%UT2v)k8>HUq5pabzE7V<1?wplchp^$>`CyEibeZrKdw|gah_Dlj*Gb2==T^vVHZ? zGW`c|SZ-LV&yyMCN+Ai2oD03uCM472mug5SaWz?S+C|+gb)4I|F1J(b((()ruWPer zb=qHC9grU|r*u=8tK=sc#gbUZ`XRFcoI685E9g@h-p+k6P|*!hhJ7v3T^#20 za~xd_E*Aa+@S4}s%Y##W8h33|JdtXR8(tGvDa-x5ExnS)t}HPId6Ruc!=GBGk>S zlX+A8xEs}Tuo&F2BeX+ugw;jsG%DPy5Dw{7D%PuQ87NyMK$s}u{=HfhPV)C*um`mQ zSo0siFE6hS?ACLMLh7bEEA8ahG&Dcrmoe9F`g;thUR||#k)_ji_1-A&L7sin9k8t7 z*SsIv!OQS~MYS>4P6&&9&Vsv9V9k(}(?w)oU;&Q@OnmcF?2iQ<3fCFT**ngJ`wXY& zpoIDBKBSzKWIuazy>qi(a!5RAO2EUe#W^?xU#>r3o(``4@~q#6PwQUgM-TdO3km;N zX^c1)7^6%_Pz5D+dP;nc-evUZSFkJw_-{AJ|H%7?0LYBM*!ggsy#B2FSRk=19iuW>&i@ zt>P_F^nrCxBOJG@9_!CeGH$OAQh2qn8n}xpS;WX)qB#be*-93_#(!?biEO&FxE!@< zi|=m!WJoGXW792Yk+A#1kCA!aw8FVpa5qd)UvPdlr?u;eNFyZB0m0);!dUK~oqe}u zEUXZ`UNI=&4ZF0VdWDSx1YxC2gyKq}CXI=s>&N$s2~vh_%=XR@ARu?^so;1=_pJTv zX0ww9p}7!z(WfUk{i99Z8DG?quz*A1@|#SrVoC47O)q*ZAsWlqu(N%Sy2`#$IepxVthh^X@)g zHmy-jATtR?I4+Xdr#UI85`iwrqKi?#IY@_wOw65H_>!!&fx=T!dz{B_~tyC=%nHATB&#f9f2B52P5))P|re*Xxa#~crjW|mrS$!fY? zdHu+TeOggd)oNbYP`Dv<51MoF7w$%BQp<#?iI@zR7Qp1#dcj@YK~tUA7hFut+;Osp zU(tu9g4DO8(V*G?q!sT$tQCK?E3#fFlL*wj)}`r% zXA3#UUXjYkJmP~~R7n2z#cP~9!4C2MFnlKD@G<^LH&bn|{aeRm{O@-B#yR_?ZbKS& zdc~zlzJvFNvQH-nK~kk`b7TEfSzg=pn=lLzkuz5sy-AAx(`5rwx_}9NiMk=e{#8rV z+w6QGN|Z7=h{wI(Kfx4%g(u3SsD_-=9%rwvd04rW|7HT}Z~2&ih+X;r;NL|NGHOhm>PkuPCb`I|OPHc? zN2S+Fe?V*S7pCxXDJk%%)G_mgYv^Mm9F}eJ+LM+U@9;SV6O6sS&9*u#jthI8?%XTa zp6;aDmBO@CJz|o{QAqYU`QD9kV4M2)=dg|3R!&nEd%X8XMaw+v=n?cOTC#@G{V?6EP)tJ33INIK$+aZ6a0vDQn$b96*mG5RmhS$~JJgXUC8#*li3 zFWN)MMT&Z_WXK!1q5#OLVnMB1n@Yh%f)=5}gee`1!b48^ZZU0qhyA-O{MX!hZ9S9& zzNXQ8qN^WUj^0HxlQ~1&_1*h6Qr7C>CPW*i za8>A$E^K~mw@3)rcFVMV_5I11eDQw%`E8gW&&4hIK-*blM_0I4DJHrMBKBxc#xs&W z&Z)p{j6BJK`ifGIWK87X%kf2*AvK(iewc2;1xEC!FV`r^+3prdypl+{fL?EwiX8?% z4F~_GdyF-=INN;)MtC4ce92u+<`%TTHXf5=%+eD{(?$36elZk z{m|_z9lD=~xWyq7fzvdFOivw^OY>&C*sD1S?5;;8MYt(daNUTtje+JHuJE4>poBd7xMV}Oi|9^rw;a!6&#a(G z?@>wpv!lw;C(@O@SyF<%#(;%q10cVEd6@vk!>ik`Xh=IPmEWC#d|e{+gFRulA&CFN zMYa$c�kWS+x_ZX??9pDohTHz5p5cj_6P90AKsa`d6PmFeCvBa?{{%q)i;6Z zMd7%H=}o(eb6WP*fZ9NQyY-+pX5M}%b`Irg#Em;;TVA9?G}{ZpzW@Iaf`0Hyku2Qf zHH&rN8LA5wHUpsVjTrvY5AJqA%OnNa9DbFJHT=bxZhvy)Zu(5A8vRz)llx&DDse`q zh$sOL)G5|`uJXA7A{{8+`617)?>rx_;LJMLr9e|a|3imP72I6W>HCc;&`~fjx`!R# zG6rs>JXvnXS`+H%ZEm#6w28VAoyBOmb*E)sW|hHkI`^$Eo%z>$N#WVy>cKCIFFxVw z?NB?dcwO{p&iO1NS`Qd=3@ZNsUOD{%;F||^^|ez?Ul!U_;z-u3DQJh^7RLw3-nZ%9 zUY9MEOYa)N%d^EISW>(G0L&L>zb33Q`YZqjrcO*7gd9`$S`F4ua0??2y)8E8k18s2 zA~kIUj4bKjsnx|Hq2eu5m8*1|_C-8^p>~`H-GX)vkp-}mR$9dxq4O6gR>J97&VC|$ zg}H_b4{gYvg?k+v(HhhB7(UFOnx@&-%-ibh=pzr&Y=)i)wDm#3`ZKLw#f2yKTb5;r z@fWfS{~Z9|hZG|E7KX5GzDYOFv219nYy8P`G?0K#8^FOKOK-8mPxYI*deUXcj!3qC z$_~%2tNa))-sVX zdXI-u9pu!Fm8S^_e-JCT5ycCblbT_ia%KJ+Rq$@{{TrfZ#Ko{j@%(Fp`|QX3y-_i( zGpcSeG^@ns{Oj~Q3R)U+B`XXrVPGdx>Rf}gw3n85VhUgAQQaDjNQ&Zt-HvWuuBh_Y z7n=pg=pxemh%vzBTIed*I`A*DFsEvtLh5w^ky<|i(SSBBg(=!eZe}~S zr8h#Bg!qiboxKVIHiUPV_o4D5?5!76e&BP|*^Yx#@E*@W{jS*aR`xQu5pafP*7j+H z{)T3g(pq$TDdHh-E>{BxZaK%QoO$~EZ}t5AjXS99udPD1$ban)YWVA*IEo1(bB-j1 zul$dE(BnZ#Qq#gDm62XD=!dqq)UQGY_9Miay});+6%!A3*`T1Q{$`Nfj_VRb+W?u~ zp3*BZBkO$wTJ|ph?nb0@E8^8c?tw~@#S>vzHRMe8< z>;6X@qu++FQ-3G9W6c#iQuM1sIrB{Uk9};|`#yj%;k7bnb;_-?ZfErwS=A8QQAXi(!vk%9c@)MUdh0DM%g&G00tjoQ;pW6-JpPx%)_>Buhbv_Am5=B3Ow15t~+UWc&`D=y&Wf^m^MBT}x5EQ@ET|dv2j3A6=;h`ZUg9 z)kBZRP7}jiU>#YCi!TtlG_2I>3*V;l=7EXJ{0U($)4WoLd*K&oCnw~_nL9SR6>d9j zw0zrIF9WX6F+~TxhLT>OBBZa;#%Kyk+P)n188^Q@zw`D_0=I*4Dzz4Wg+&(;7kLpv znD|0m>uR1R!B{xPXy+X^R8}}wE89m)Y0eN|8@qZt5$^eV5(nzAQFSf3{21DpF1mR2 zr5-`1y-dU{&f)vw;WEdjqu2^c#qs<>3gS7*?rm4tp8Fz7fP0D|jZfUWCh@jcfb93t z1DD3^+MJ3@)8ylSkW+0G(G&t7f{7(f@U7atkv_^iXJGIiZ-hMv^m)&YX6IX-!4JA% z6ba3R3-)L;5dgQtrPwtR{>%JFUm}!3g%5+kk1fC!w+1KV;Tq%!xy~*N^o+L+(`61{ z63O(IJhr|=)x$JQg2(+p4>n_eXN;Y&;nw#Z$H~P5<_NQvg7o0d&PP3$0H~#Q?Uo5I zb0dOkA-OJIpK&=T)nO|?Ir;*L7B#CLE(?unqF&d^{QG0U83FG@GmW@u+^XsGI!sUK*(iioYMXfIM2Hbku78As+hAEGH})J@AG9y`LoY@t5f-lW;UP-VcgAm6PYX8JE{*q}L_dBWVCB`Wu_xG2OXTJ3`RpBU+~f{f$V?bvXqR7CQUA%OOx5c8rl>{e^&)d9c&3NG z1kp$(uBZTfR!3Oj>EtjIpWWDaO()<>E)~$f8Wu&Ih01qEewq?^b z5ttZTXKY)}L9BH<1!VTk$GRwW3*&R-*T^y~;+LhfNwX>6DSZ;Ai8$h;IZ03|d~;ey zSH3tr1BvoSR@K`iVPCI*VrU1m@T0oJGT`Nwsi}K;1Jvc2?-k9A&}q}NYFw91T6^e5IndA2wJ#H zAVA@+AwbX~g*$~8QaHKwt+j7!YoEJit-a1^cej1MAM+1THs@g0`;O6jf81z`!S3#l ztJ?1>p`>@01?dLRU9_S6^|z?(302!8P(d>)q}4=6FEE$=Nz*?ia(`ybz8ToFyd`8` zleQjsA|!}fS^0MmVr$m!-_MfKdpDmnmN{u=iXyAAsJ%xTc25yiw4p#^mMr zOu&XmceO}w(+$o?L>354vv*%sE(*$Po2u96VI_NY&(gdQJMncYi%IL?EwtTf&y6ST zzR}wM?{!J*ahJY820Wb!Pa}z10}*C%sm4xLkVIfKjd7BV4Qx3P?@T^kjsUHY^~|33 z(+4{Vd>C3xPLm8DFB^SabG`-LA=ca*mYF_0a2N6SxKV9-s~1V;MI(E)<`C!Ki%vYP zo9&vk*}-bKe^1DvDX?Ru-Z|W9I5%B&cvxvdM|V_fL{?;d5}Nsf8T=VBG<0hNWWRGV z^KH0u0PYAF=4 zz5=pSZ>+fLoc{(~(fM(rT(0D(Y{}FTd!N>E-@CBlg+e{Y+=Ycy>V}w$3m55~TTO=7 z*U2K0uQCW5i>&@gBXB7kbo_{3Xe}{+Sc*xaxtU=Z@WlI8pv3Mg{OIvOF3C%~I_Ktg zQ+faz+d9gF=nDig;2IhLxbr?1dN~~9)VS(1GR#!DnTEsUH|I&B?P>FQxmihjN)OdV z>^swTd6s2<&P+8#H@h1MwyO+C0P~2!G~t25V&tNdDcZQAD{q2H1K?k3=Cgm{sTgW_Az7QvQ%_q)>yqt0_^02$i>^sWUZ|LtxmqHG;ZFBfF zO$fxKvDV}Qz(sC=P1$pb5wGuh;MI;i!9?o9qzQupnJx`HrZ9KB3o5vJg$?&)AXN50 z?qL5<8jAe=pN0S5x3W5D$#)I@2M*SfzyDSKvvCvcF2jSI@chRHv~(%D1j5<99P78p zGB_@#*+hTCE@ zdcHf6X63%Oz0^cUrxdi@`wU_{0E$nD5wfW-qe28 zc8(V}a}+QnJ)0E`)kE@%Yu7Z48j+u@|CM9UAUrm!M{OO9CD*$U^arih$ zpW~ss6fP^K4(=JJ$izYYq8xPtZq+nL=9iSyI5g&qL7%Doj~t3c@Z)Ya(mBII{@ggF zS&9d{*yxFIFX-PDWlX}hW~!_qQ9utm!)GM?r0|dd4!fu5pRW}%-K`i>2Eg`0l`n8t zlPE0J2nf)hiX8Yt!MO+l_Md zyTLTUgbMNXVmulO)H$hiyFoE|VzZm;nL}_sOV;5HUpdFs&vWx?PMO;{IDo3&xuz;T zdQ0HnML*N>6hnOZ#Y7c-dt|mcHe^#}Y_BiCaW_{|eq(g?1 zPPX$Dfr7j-if1!uZcXx0(H0%w?~26&vBf%~$BSb98Hz9JU>(%QI1qiM{+IEzxUf1hqeNZ40QS=LcbiQK(>3%Bk7c`WO z)(g_;zu#b1W|R9s&rmwu-<4r>Dcjar($vMkT-WNToApuNwA)o&8q)X~R~}lOSq4Gx zqpVbI9JS=EnA5pG&`V=G|0Qo%#q?i#7MR+=ZmtP+Homrmq<0>#Rmh$zN!5w2l`dR* zzHD#ujjp28$no6VNS&d{gs{bApsI?w@ms^U1|SeEQ6$?^JKVOX5LNSm?7l7TK7~QS}u5#ll!q03haR&b929)p0r4*{A-(bX6;zgkU_tyNYKmsq!-Y zh3Y#Id)YB?4ww=ivWC})JN-RXLL0j z3C+^=#AOP;)OV+dY~@b-2uGCc zb<*DI5tTUdfY#&_WLdsb_Iy-16UAJYu7|eUd*7ocZ!V7@q+WSNzY@2d4zDpslFSp1 z!`_T6!dp?9k!-M(_WK}r?;^WYU&*wSBg`m-LKoAQ1m~b>=;uq`9>d3jeKM4`dcvyG zU<-~+UjzMm8=#nkk0shi-v=Sx6Wnpxh?i=R?*{W+J=AqdnyKc?zh2yOxP9nM8Hw_n z-QV|#2(5M^4l`?-Ijhy zIJZ7W4^6enz%E)d{dK*pF#EY3VV#M`&i)UXb?3Wz4TRYnq)>O235C7ID`0c z-SH(ctr=kQ-BJQGu{O|-HS0i+`;xj{@s7;GS9QCFVO3dx~i&D!< zMx2Z7gp&u*(7g%`Na+}cMAs+Vwg;u@X66TVbJ*f#qx*a;b(h}gD?f_oZr^?9@!agYh*dR0PIHov|#;uv*2tX^=`S$UvFq%l2o`zCgOHf z&v@!QGhS>E=0Ickyv^Jt7hQ3x-Bgo&hs@MJT*^t^zHS~9-!1IoFPJH>oWwF?IQU!t zZK~tMF!!n4Si6pXsnZYVOQ=r8B~GvIGVVqW-BZe4d^EST+yF!&e(U3w1Wm`RnGw~F zsO6O5xJF}?=wE^{)4NO`-oxte3$lA0$Ri`IqkeEVkvxnnhp#bE8Y{tTcag+?)Mbsp zP<~5yI@c^{v{%dZk=~`wN@iwR;f-3FUF=gCzJX0buo1x3(3H~eS^lMUui^WW0)xld z`&1M8<1`YPn--~3V{hqmY)@`x{SU4JzsR3*OPHRbwCFJVky||$gkpazdC&N%EfNoT zQ@Fp6#({fwQ*e)IKlO9-Va{4xjVd-Vj8mVS$a<>#Q!;cjzU1!2PH&(iFqrY!>3XI> zZ_q>-D)_#w;rKqr+Wsk4|I9(x-4ErM6&Dd<3F~7amto7xpyM)``XpB8Qo~vast470 zuop;X+D-)iz4Bo@Dlf<-kfZ9jFX$Nhiaqxus@JBj0*y&Nxsy9k;r6}{;|*=Oz1|Lf zr#kSy^=kr5X>>XaP$qrJ96+%MO}Qn%+bsEX`1*d$Sh=l36b{~ycV8xHpsQl z=3ii=(}I>CvZxY&z>^6R8_}@-CDX;i;H~Ey@FXUO{U=L@F#n#9i*fjznSCJ<-4xB3 zfBD_$Onb_=g~joQBntc|-&b`Mn{g#70&sV+5lN>XX{e^jviobCYCz9GCJOQD zGnGzkvZ<=RVF^LIFNB1O%Sx68{D#kw_i$Wv+3D5Zxp7SR>=YKvtM?g{*)hKrI zLII0ZPTS%edM3OxMI46qVq)&yqXgA8d%=Wp5d~n#F3G$g$?!>kQs3=DBepcAeg14At`??k@7n96-k_xLNE`}@Y=lHrBhdqp#Ua691Twb^g?$txcL|V;S zPR;vQ%FQspa%`4R9%p7;#Io_a=$g1()@%ql7#LWCX(PsJokUp)nuhiU17>C?{t_#@ z=LA7A;~6 zJsw2iy=MoYEwz2$TYsMfp<*(dIG4ELbd7Xei^0Tz<}4fODI$c|fTj_&3kloaA?Drt zKOWwP&Ia}X>E2$Nmy{30K;(46L8nRkCDLsGnFkb$%jPI@p*V_O6rq8Tj;AasRt7V9<$p_e}ET8iP#FwO~te2`d}v3ZQ^%--jb^1N!Bb$RqeSpr6*y@-7uWlrQF( z$T;wI!AW)WIvcIdV9*yk&w+^~E8llzZNtnsoAZZw+YrMycEi<;w{o0I&i)UaZ>_(+ zbdt_ny?ZyP(d_WjmrI7#_a?@*TPD`iu;!ECD4m@D`;$%G{@0?3-pk+?s_C4WHO8k1 z;z%JUOt`p5XKqJwVQb%$=}-j?z?EiNx2Z`RvWhAC8w}_r(?dzg-!PE$;rp(4BI!fk zwU@NT^>s(@EGkUW#PI`TuO-Iujd!lIi(*C_C7MYnq;CV7p0pkSO{d(9iPYaAH+6?e zL=yu*S2ub7$_FOEwJN;C=tjBo=CBB4CC(RSUTc?R7FT*3n=>x9!pxVWukAHR6 zz);vZm}a=3(9BUWx6>2MM?lVBz|1VZ6g|_>uP>+K=h}fZzilycmRnDLMzF%S;3m4_%e?|)r$$x`v@jTV zNDL>hhVU}I!Y-qKCN6D_`-wWfoN7;CJ$h#BXyq+kq4FBTQ#BKbx^V8Q7>m0O zzOHU5U#Q-(ij=6$b=L6`jr+50VqdiQkrQIk*AnsVYfDLrwh}~V|%`cZ-LHHAG$*Sk%({f^=0=OP34(tAQAkRzpB3T zgZ!LV-T)Lm=vCOQy8AuZ@tHK$@n~u?5nh-8XZ(7?$>8Z7pR!%%eOvd=q-bP^uq_fn zV|}~@d1z75#*rJq2K8UPvtuIJq0DF_9eybC)L2{15rfS&PC_r!Poo{&Z^AL@hgBkm zu1x8>ZMwqnLPmZhfYZ>Fq#%F051J&KwyU&S>UzP;Pe90 zz6nyz@a(T5*FpGr`HU^?>LtC8_0epY<js?P1yYer>w6jZ+~uroxN-}xXj&|Oiw&f;E=TD^=@E7 zRg{B*%-^J7%k)l4z(<=S=UFh=bGxbx|5g)?jnWnTa~nKP`~gE>y8!Y|NUWz4`HvS8 zDPs32t*B7gO0~5jDyr$z<#12rbwot9n|+ufAKw#^4MEVs`S=zmvB}SKCUm>Kik(T3 zxi9NEa@Lnj(>_dl+L!+Y-SoDy&4Ad!^>1RP4=%OWja!{ay+Yd(C7hI& zD+g;?Z~kzTwLjWjgKE?zUA)eC%DrOzW9&m>RMvrY*c-a%`XG4F)D;x$HNbSKeE-NM z;9(Q{jqp>TR%;AB-dB}!utWT8W2l%z>i$ulf?)o^=_yx9UvtAFOH|~1m{6?tPkR3f zvnUaU@05Gjx^WTfqwFTr8p*C8&tkh=O9RvX%~s#MquaX*k+rbJfs}%smzqtfqZ$>M zuYk=l4!wSD7MtrODyU5L7ZJM0*`p`KoLW;Pi!h@aVmkI83jVlEImC9Yg*8+6)JvnS z?&6zV@te(K0ee0-w5hd{Qso_xRYDP+1T?N$xIoa9hqMz^2%=sgL6$w!6UBi)KO}hb z?1;yRjf5phLFyxoU{1(FPSh4%pE%4Q&{ie__bZ0CX+wPdr|ZKLEcDW1c7@TwBqu4(=DCMdipmI{BJcd|}Pjm~6 z95MY?Gzc?4VPj^?9GD&M>fUkjd5wAYmJ*VR$`MUXd%mDh`MO?%9-Bcy(Z}*SCAR8^ z2b8LD!btVL`q^V0&uerS8x#^K}LD4okwc$>lG%o5M{;^ zbD_TyXKXK44Bocf>4`l=vy1xCFuiy_f55YNBFQq@~Hm)QnA%3ee+;IU`)iCDTToSM^D~j_#e?-z97yoU$XO{^%#ek z0u8Ss@K7OCO*fXOZ%{%Z$^&P?iNOceTZwa67}Ggla`B#)H^NfFb~Niu<~6sTxt$d0 zF66Exh74f_DKnxv*FH!sQ=k-#pdOz;oocsvC>P)Dk3Gjo{#8Wn0UZjfpd zUi98FG>8Ka%9r#(ga9#&kpXCx*J+!s6kG|vM#84WdT2J^F8E_>3JF3;x*eh9>hvGV z4{aGfzLs*GdWiOzLU&&KYdaoNb>8;2pC{*S`TS>kvgh7_glAN5r(m~p+~>7z7*7_| zI?Pb$+HFBJ$0)fMm^mTIM$HKI6NBOk;W*Zbr57Ex&37kxpu8Wx&M}Dt`zvP$f8j*E zb@$iiX4ObKd}T{blK86A#{jP<_kulYB)%W(mb+w6VZ^pIiTa1Mqlb4A=FQwT&A5h* zVbFw@4#=I8ZaanR2vp7ZFPN*BA^m!@=Of(cy$7C?SaQ2jt)B(RUaYfO(+nfAKMIzX zTkB5gVr4hr%i`y`C;VtNP{a($GP87*AE+vZ0sEa@OATKVbfE-@RyuxX-RwBWs5_Sq z-N^7eU#4$&>62?_F_Y@wHeniXLYfehsUQngh`aJRr)YZCK;E{_<3Sx7DR27MSg`-5 zB9&+Mw3f89@!rKo+rur9`R~MI;tCerYfwS-N0ImVQ#_IqMQ{%YGAwf+8Z6Ifa#)Do z%h<#kl9S(F9Ho1!=sG6JyRvBCEe)7{qyF5;D{1edE%B?!i`*=XpyY8H=@ei;BLRXv z_7<(Ex_I{3D{3M`G5*8c)lfHQ0v(zry|qk4sn**?)PS!`RdWy_=?iSQ%v?LbmLWFr z3K$r8_8>aC*Cq5hN|Q>Uv_Y`K)B`~c`bKUvS7)oKe*SDolt9zWiyo{3_X8d;Nm+O4 z(o%$ePZNJv^UEsj;|2lA9K5v#O0kUUAOtYiTgUFgJo|~MY>qEowI?ebsti6GEqj0W z>q6Pk_@shXT>LqK17L!~np=sym$_qLho3*Wp7C{k@oN^_q2nNybg`c*&HoM9!V64X zUt*cMXY)GJgiHt#J{VMKIHfq`QSWJbCk1%-0=d0s%oOFvPz}bnrOct6tp+)smCim7 z_K0h7@*8m`OK)nic%jqrQ38sBqC z*WMPzKFx^PiwuSId;>eAi;`9N`T;&8^+$eLGat0UJ!70+P0ZaK2JqWiq2YJ;6VuDS zy`5EzK5kSKC;p3ip#nZ0*7iSx#Am=uc(wvywE~eqx^ehruC# zpPqttCuv|}sC=iFppqZ=OsL-uW!@ExzM=&_v;3MEr;@wOba&#-6x8o=_VzmmFnzk{ zLDZBU3Wtj4CFk_OctOIXsLzw-&8P2)G3(9em7NTDw<2q!Oal{grv~!_vp&HC{JKxX zh~wXB!c9W|EiH1MV(LOWjz*U4V3Gt)nr;Sh?5#AJmQyKwDt2i1SNA!lOQj5-iFY;1 zp9R7`>h>_4hAkD8L4MWW=mCc9@d<>H47FL-OlsB)QsX^f{9%_KknXZJ*B&MjUc0wfg+1Siev}>G^3ZRpK3l9^B=uV|mAPe#d_}VXruu_Ud>vE~%<> z|Co)gv&}g;Fulqy@}k zNWTlmakQBMksPlAhicRUN#8YktokmYnzUB!dOuJa6B-jfUEo<_&f1y zVy&zP!jSXHF7L4#hW5sgwF>_ZokE{J%)*y+vL~vbL5)Jh62x8fY_6e`Ap042>ShT` zz!+c@k~-fKNW6IKY>J+^s07_9=N2@0EOzM@<^Owix@q%22H#?*8VP)Z*t@BM2mV>mq9saZEAyvg8+VT=LjZ z_8|mEKwJSs`5wXGlhZ(v8eL@jO>$NolwDcr#ZSVS{=SguG>%rZT?A9;lt`6oOx zDKyOc^ioM#N$p))p)6fWJrQ!J)FsuyM^76|hXEMPUl)kWM%`Sy8AjU@)PmMh9*F0J zk_K~x`cP!U!qe262-K z^Gx|p1xt44<;^f=$AKR=0Ycf%=HGfn8c&V%#|dCFO*RfMar2)j_2v$*vnQeLs(U8G zX+bleJ@jb(D`#r~tl>&JiO-)u$L(4xR2LtRP&y#{z6dHX8^(>4dxpat6oXDIV@L^x zW)GkiC^ej9vLLKVIZiK&aJ~uF*SP`c%?un;PjnFiyKqM+zBhBT2*6SQ1*54+G=%zM z+-H9`WgrptpF8O3S^`sdrIc(g3^RZ-JXabjoaxQm7Ty!^;_OEBfx;?`ngSu{=G>=O z=3T6vY8U+=U?I$;sLFI%wOHwm2Dh_SaRrN?WreWvHeI+6)a>uq%uo3=-ULq$V(+RQq)@0-349->ONc!qP4WoZ_3+m<9&rOw0s2xv;$QJs3=!uy2ky_rZk@wvY@ zhT~$>typ!^KPtK>etUa#Ie!}#IE6Am2}B+rN_VeFTGLq%`1}Tx+r`n@I0+t5;(zK( zl=9QYx)Byb%*l%5RIFHpZ~i{`d1C?^efV2+zLVxL zeIN4VaT9gnBh>f^7@-;nlsOesm&5snP^c7a3e_XGaaet4Tcr$gShP1F2HUI^7t zKz|ex#uRCBIkQVS90*)sytr?qK`FhIc8h+!O(?kh#K8Fjt5S8v4Jy-UP}j3>>pS>M ztrg;pCVjEAPSLQ1?KDeX5yuglCUpXOA0 z=x8SJQBxaRbIX>cF?dcin0oD$e&~jTXG=`hR;) z#~#mUVdQ9ZI$bLP2@tC~pp$KGoQW&)N)_Ica0OviMUm37fPN@5TPESWkfEK9mY-bd zw7;yM7d@g*g5se^68YTDjSJ331{wqJWLrD;>V5+rZA2ZAb4U+zyl}9#J@1z->2(E} z6Nsb*+BeDfC106K_U_ex;23=v>P+jp6YNCF(>NQ9s9__=Pip-k%BU+aw%9ZvvE6R9 z6YwfSBsl2;N5dNY$f;$@@(TEE`N%@*Zm(>*e)Jtky_$P%qWYoP{D>#sDJV{?8*oUo zU4CBC;uvIWu{!Th>9yVpiFzLQB!(hkn=M7seJc#Icu9D4anCO17tZb4hnHJwK$M`i z=M;k<14)~@L~bt^y|>p~Ox2wwD?Tw#x|r2E6u1 z(M{5>$PEUqL}J`m%h-57l#zsLp!Ii*d2Bb{{kqtLHQxl*MN82eQ=pce-tN9ZqzU(X zBXn(9+p(>uF^CKMjt-Q2>Wwur9Bl8oc{eUi;oqqi$HA>TwhIyj!j~=O3NZ-#fcc4h zv7tmE3vPod!i0a^nCYu;urEU-Y+~^>?_&8}9c4`geEwh`r6c=wGPv3ADcswTd&Kj% zg*KK(-UAn`oyIq(Id}G`gj>2ykp8Y-q=lmeMEIxSTpnpY_Z-@9?kn?$H$QAG$ZS=nqd<^P)CToaEzq zyCNRCTE7AL{+Zu7CZAswN@Q!ixKf;nH3JSKQGMYSxKdkfEsD`b6oQi|H+6j5-A?3!ge?sY1~A?{ZhP%Ld%-7@ z8sy1QP9nNbsE?S;JI?MMD%W`&6ls2;n2|1%;v`j1rup!Q03>KYIy8j;#AoH4=13#; z>2~B=hES3SmH~qcHDhkvnVTsT80+YAU6h@26my1|MEyR9yV_E|>sf+D_u$Lff=+Xp z$U{(NrC?#s^cc$& z3|sNVcKn0f$ZT6zHdE)VFr%8EiT#YSuAx7dJt9{>)UkcanBI-0UG<2Upi|Jm7AH97 zR8^g<)NX@7IezTmbzxx4GXyk1xxtyAMlI`CBjN2foH}|Nfb9(lwH=`4t&52Tf_I@7MV3`D# z{Tr5WPA_e03#GMKx%@{T%W+-+cAlMUdxDZsYx92tFZzF5F5CaM&s)e$8jOZhTa^Ei z^@Mew#y{oL{o4vMmhYwGWgAmFxhS>ypU0o);LjTPvj+aGf&Zg55PhI~gY-r?jtL*p zl-b~iJ=A)E_5U6e2|3S>&(iY8q&(H^^XD-+J;Fx*Vs0>MnLfLrIaq1!XoO^JHp;X~g_|yBGmZlRiVslYbviY7?O@o-ng7-9u;Ie52y++b)92iYm<1 zhIIbqsS&Kw9=A@qH(p6Jc{+!2N=EctJcIEQW%WQd#rUPl*72n-eypkC*XeD#A8Czo z9m)Xk8h{7~bH%N~!{o_Ncg{SJd6g|x50mUsIGiC)Dri)=a-Z$2xkCQUw7b8EQlu3s z{|_j-uxhww6~lK%BRK^+SLJ@AnYykv4PuW$$3!UAJrb5ka2_mD^)a&A<;*;O1^ax@ zbSh-*sX6N?xy@wz)yk#^5%&Ef9+SqozocfavOkjgyj`ez#DRo+l4|iUJ}Py4v(7iV zQ5FB7DP$5uC5odsuiW-p4IQL#4I6tR@p3_>HrOAHy$S%#FQ2p1r7h}&3Es^6Ho3<0 zFX_0C7t5BX1w8%9#REfuj;26|4_EV3;S>?mvdGy^)$Yc(2d*xolz5U0kyI% zCi&rwyJt{XSZcb1qtg-h0W&5B*U2X+d+xAkF23L!tx5e^rC-L>*t%~LWOrms{;9~k zet@e2JDM#M-zX5ufR^uHKub)iny{C$nw6I_Of@%KhVv=Bx$P43U zbVnxp!%uhsAEN6tEsFH!sCoJprE1H#ePLtwkX|0kDwE^blPfoW+9Nr9 za72z8RPWPQ!Io2~ z;XtWd4UL~vQ?RHKnH^GsVeW7xjX@yG!gJLaCw{B33BlCsy}xN&Wdf&trk`ZsDIcu7 zEqY$1cxhf`1Xs>m@`CMx@RXRWZfNlyU?gJy{vt!A?+@wTOH8g{!9W=PKoF(aR`~_g)plZ4 z<#Y-3Hw8Vx$S#?79y*GGX0EC)p24h^O4ce`_x3nb(#CS=%jB8&b(T*y;(+Xux^bPy z>o=|gwrfJO@4sbmIzQwj2o!V_h#+juX)B|TkgkA3LToxz5? zf|?Pou**Ejmou%{;^ZMAv(9{)Hs(iuVApP@6FG+r|Iy?AL>mz$PyOk*h> zV8+;!d+eraQR4S{iu)whW8`@_R}%T=7f9b8cNaftUatg>q3O2V(w z`Vzvh=#OO$2NMT=%j_??dGiC+@(2mMZC&5Lf&2zEoT8c~jwu|sslF%k+j+Lt_9$+z zOyb}_VTbh8T_)n5THQB!*fd=n_zd={HO#M=K>w?Ri`O>wxb%#iW_U(*HS)t{X8+V~ zi+e#N*|Z^>#1OnWhz&6)dE#Bg(>xD%vv%@4dV0Ct>(lDBJJpxC!{-&R7B&Cf9*<3H z6CxSr5CWAVJ`wcdzv<=QHDQicpX9BVGCoi>Le0!R0T{Hz2`oLBeB(F^5X8Zb=L`Yd zp0A*Xg8uRrCt06DCt7X_NCc)%=&duXBW}^%+FxqVoO7EPzcJ_x?YYn-iPgcyKtn?^ z+;~(T95!r>?1J;Q3>Atzivz}~P7GQV*&w6%;^#W=@;dnj*Nt^+R+tEZeymAe4!OWm zF04tDpqqgNp8eEaS*aFRWA=!9MgzDsPV;fY-8eF=p|`aynD=SSIyH?b^GDgyci=Fe z$`&`D$K$cQkAISebM@CnJSCF5N*}|SqIWA#g{W3FT#*xUEvw#Jv##y!wVST$1v@$x zCm-+|mkZ|J4$^%V_Wyu3YU^ikTpYa$CbZ4SiM34i{A#KYEoph^loF?ZA@HNyHpZtE5$6(#`GMU&x<8GNy1I_9P%1q=@?Ug6KO!~%EdY5^O zBh%7e&WxTB)O0j36?`oB0H)f|f$E=kiCc=vvp3bSMGegNchU>_f?R}}8z&Fa_8aR? zvi67Pf8MPHlJ0OeqioooWnP(zGkLRzRm@+<(`~6G*so86c3g-VQ?l1g0of?&e;=)M zjc{zGLMx-!IvH2R&UdBZgR_Iz9go>jy$~YWlX;Xzu(sfmT^S`zjC67*e6)E$xFEsy zH8$-#&Nr-G+}mcMEnyhpU?|tQgyzFbiiTG2B5x+WMoz9g+|3BAwB|9rDj&^oNo+xo z#)aODyFo*&Awsf@=dmUiN1*##^0<&rM?M4A)kcUF;bM5=Ii}sEOKA2egD4yY!Udg3ruP!6)@tHVxt|#Qhe8$UU7N<7N+2&3xKfcCek7my@ zo?K{-<$F#q7(<5~<${7IJ#rhPvq}dlllmJVbjRD2?d^xWl7VNheJrPV0U!WKXivy1 z_52@QdH?^};lKk}9%FeI=OMt#C@M6eh|09P63BIXVLta{nyAp%ePhL0{u(P@HNV!6 zZ!KG(zeQzN+$hFku}*1&+G~Cy;?h~yebJ@2H$(Eexae6NjC2^|apVd>BFVf3R$Z>AWVhq^BQ z3e!-CI_bOIETqvka5L8B7F&L|#E;&Y8u&uF8ft`yi_P_N7MiaB^N+nQ#=u>eqNG7n zY&!2JmjAG4;S+VL>J$TWf*mBkop4v@pWVAtpGMrq$h4nb&{RYErFkd)Sca3P8uyURrLpY%F}M% zJhe#A)_B}2_&6rI?>gi8j@v#bYKx_0{_jRcQ*>R1tTm<;?77$=#r=_0{>0ZC^=hH4 zrQ_O)egwpZJd_f4W?(wd(LS2542#ELSF-6c6>6wXf(cE)T&Ck7`6XmkX@2|)Lohlm6g6~ z%&4yUCNY(QMd!6ucD%gSp31e6$Lv4@#g?<*`>)E}h12zfrkY=yMZ-^Q0u&fK*69%$ zXQdm;@03~1c6MnDG-Pq|9`5)5fyH6@SDW2GHoX+1@D>MDTAGoOGVd2l<`mW(v_q-g z?Y~jTKNo&l8F;D4^&7B_^59*dXl)MyBMLpIGF{0V<*+qngHW5Je^xiManJgF!i#5z zC&2TSjC$`aXJsWXjqO3%rN;e|&?2)YAK>uq_VwFw{cjxb7H!p9@G*j={#dH*$M>jF zwj>F9v{TZgfZ)b@|3GzULCV=p5c}s%Bhp|gA}L}EqljLK8~>NRP;sH2f-hf^=}u^c zk=NU&6cIHxKJh_9?lWh$bo*+~<17NV#Jf_&=arvf!S)tO6h#l7XX&hiG`9Pfcp%3! zIeqiow;>l=)+IOU2e*3($KcRIp_|?{CX#QG8uJsV%1AAlzUD=NR|=17!gz${8xd5W zRENnM&tk8C_>#%A?nvBmPV!W9yX`&Wb;rvOUcy@Vv5iMvoF>!G9aW;CAIXtI)jAPS z*^j8sx*iYPs;>(j6|WOiDZmKXn<}T$DmtckT4{NiCS0hN z!*pC+TW*LE-{3&1u-+`U7^pJw^VYj?4;DG;2&z6CeM=C{dD#YWa+CTE05{m>9l0_{ zf9EKv-?L``QIMr7o-Az3xVQVqs;W)@dmf_y8-L!7Xy|Lq!G^MbOiAP_;*j0&E6LdG zz%vB)A0LWoQT=FYN+}ZE{3M|e2;lt53u2k(a^yOsauXq~*XAw%+I{c74%0|PFs)vj z*jzu!v@eIB44EvgW-Ih~jo}k~z?NN?+A$Q_>U`}}v@v*#svx<`kaa@g1<*HT{qnfz zMqNO_t9zZS)p0J}taEZwbcm<5LXF_&7Q0rqzbE{s; zsX~$Yv>J`0@QmG=EeD)xhcZ5(0FUddqg9PfKY{kh)ASS@(eBuMpyM5Wm;LwY$^Gr`3A^NNou-z?L8X3kFxspn(O z9YaH+L(ZAPZ9R`Wpgm=7#k*4%Ul*QB_$?&4F552j&c~xbEt#j9)2}CL6ylr=ru|H< zS4y2UBLv^9dacFNy6sM?uu#Ls__2K$#Xae14+IaGdX~hG9b+XkwEcsqMuUG@TIvH6 zMotp5=%dz-90H#0G16&1Sbz&ZpHI<$JWT*URcIP`@y>ft)CepKTw*z1j&w7P5D$!y zq%XEjyYS?%j3hr0<9hpzz$)JHgYEF)?M!D)lNOMdTg~(nEb8)9_uH{zL;*0}youa+ zk(Y1&0844SaUJYO)WF-HjeQN{CD?8Bs5AYw^MlgsBbQ2WD47&d58kz|X_y-d{6IVv zo0GP3z`hNd9OW9aOh7KY>Mb$D=4?X5MXpsj^};|)@uedr_PXEe)Io&ZanJNW8W7>( zU^-{Tb<}q}%s2{!6R&yrS9)*vb<)mz&3AttF18gJ27z4aR6Siubaa_Z<(adRv%p0_ zL`rojmn8n$Y+dU8()U@M)=0g_8WbmrdE4OE0(wquQV8-jOr&986o{+7>dBH8S22$E zWa8k9gE728+2Lx)U;qPxa4{9^y2`C$uUaL!V#u{6x-A=nE>NEs7u$_FalE%3*wc-$ zxzRt>jFRSqAi&{Vj&6%QNKOgg#FmrY=O0_2^*q5Fm(wi9@~w{NO5XAD`({1rYxC>$ zZY?+Cq#~Zs>tYSN$ecL3itB9j$(W|lBo5|}fS~y-=cE@jQucE?a!+*tPpJVO#r4sr z?|g>6Sx~Ks#Q)EC*uOMy2~wiu_6r`rP2e1o#!yHj*}MMSCA1HDP<=3Bwi&;rd|NSB zF__jX&3_rVW~_45&qaxviFlVf_p{F>}C~9-S{X}ogX6Xh1;H_8bH%#0buhkHEg(xCi=3#UZ^VV#SH2`At&u*IW zp*hV(j}Mxb| zhIOm?SkV6l#F}1$Rtfbqrrn)LFH=b}MsEwTmQW<~tSkyPmk)e7=uw$#fx*1DI@n-C8T z_Qf;6k=IZ1^7P@l9q-!vhnw^W6mtob7#HsBOJ)Noc3SQ;3x1gzFPBapgte(-XbQB`Jh4lziN7{Z{!{W*-)wn!~8N*J|*%|8(3Lm+y&Q%BuIk;b4(_ zfY7DYld@GpcJ&D!O_-qHU6#?;yWK2HGHj6#&z+;RXJz;XmHj$@toZ@gh)L~D9!{M7 z29WM(7TEH#1$g8>;&-FQvBr}6;4M|LDCl0VPT9|8MfR(zg^LU$d*~rZCdJ#N-5S9= z;KOBzg$%MN>Dn*e+FvNZhPgb)Aj4KP3w(fjK4Lg$?qxu)in3aT?SuX;(%3#C4GA5$ z0Ef7WpQw}p4we5kUytur>^Fe#0l7lqkt@?K&n ztR?MLs&JgVo&vR%d4l5q!`@p*wb?FsyI7G@poKzlDHK|?xLYY+2!&E4NU`DscL-LX zxD;ry;O-XOU5i6-cL^FS@5$ctt#$UynLXd^*=Nms=dAZX!ea3}$#W;qo%{a%t}C;Q zO$%X^W7t12uly<~!ch|&@dw&TeE&Tm+Y3C|Wl4wb-KkvW-F*n)Oq8THo%DlEhY>Un z2e4z{vq27CV?lh+M5wPq4(Bp$<&NLlGk35S`BX{j&YmU(F`woxb=B_c$vct?MHG^c zib8aU;J+bVzU(N`&2ujPv}RlL0(O&E#wIa{D<)(@jzQrN-~iCurzx!TX(6uq=)r^d zUahHqqQ(c;@|t+QaQaJVxEpumPf${XceC@Jmc*;wr~At!4Xx5!RwBk!P09&t8>Tm* zW0{!e9Y;XHeMW9XDlm}BN0dasmO+f_OH zym1CRncHJsK#pNZH{JD-v)m-l6sI+$g+|_Jc4o9R2Lh_n&$c?HF({Z!=FsCcX6Pa~ z%v(;=GYP8r;%Rz-kA4%q*)I)QY;(iAu6ZU5%909-Y!k>#pwVNIY(@QKhO;9BaSsZM0OYBLUh zh05}zpwlEug>S%|;5Qw6ZmUC-+-Vc|$+Qdfa!Q}mx$QsO*DNE_j9R&)>wP-+jS>Vw z`}nLAPtlN%Qv^)tu)<$mV5#fvD{^`(Z)R6`1@x~qL8ECB*mUbv6@LRZ{MNoVsa6#? z&N*?sRGR8n&F+^?Z2xw?V<(KGmW^sYH+bf1*@HnS;bnq$<^?^iB<1;%fvA@)PS58% z?_!0^P&|cTfxykgg{U;ejTXCohrLQ`UkVX*AjgpEyN6Wt6c7j08A;cKSpQbqY8duG z6txVD>7+D0`LU{@A(m{3zCM|Z{f0a;?3e|UqSvR$onK#Me@403>rSV1W9%2Z6WdFZ zG6f;ho!M50(}^tpdMN1WFekxpW|~&(jo}VD&ZE{PUZAJuw+Z)p)I1}bJ@V@iM{R^n z-ls)@>HvlIP0VA9s6wzlr!bq~gG*&gmi4V~+gCdqbGgR~?$?E;9rVQLLZf)J(_bew zD%w1VM{i+kSwgW!33{2=9qaYKwiqhYK0_n!sLJ`Bn4)&ke3vL$bk!c0?_1^ zLCH%S2z2fh6#d%j}9itJnSPhH7kkG`9}O`F3?cc&2EXLIW2 z2FhkysKUD|b1yTEKcS%;rT#`OpSOdbdZ8B3{U^o>wShXNo7Z*Yy7iB~#%X@~;%W4~ zkM9q(I^BmfPKimPSO#>aWq~?XY$BQXiTb0jq66MeR*Ct_Fm_%G=!U2Su1Yh+GM zL-0Dk@wY7d)wlaRqLVCBCAM}Zb@eTEVe5vM4vMVBZNEw4)jR&7%s61Ef(c~NxT#wn zVte^LmV+^YVouC22rYK#sW|Ip?qyyk4#dpm(J<4-aIn+?q@bJ^s*}=TKorGj!=by? z^-xcO2Z9U{qSM@(x3XC+F;84_SRrrqdEO;ESch})>)>y^(y0OnE%MH!mZY53$2H39 zV;BBKIAIL}Tl05=eP3^XcDeO)d|f}y&cR6x^IEVtHl>Jqk)XM;fVWHdxu`(uua*C7VVHEt>Zv#+jNd4?`(=HK zj5$8>hI3IjL;EprSa)@0LrT{z-*>mQ1$V59+Ge;seai46kD%$+7(?~GlOk$t)ZSuF z-kt$2MVs_hR`gpZj!8+^-=|}%`MRetLhRcEFG=(DHXA^pGfk3#O7X+D6dIs2&`cda zn^#lui{Re7LoKXAo%>AY-?%JWVvanLlw<>_i2EGv5g16O-^nOyZWWRGWQH(yU58)X z_^j8K$C@bst6n~>-A#_2M*|_Tx0-tEum8x2tX;5MMMv9A^_Ly)<;`a9?CoJ!{^eqX zdlh1@Plr;#SYUX)4sOt`PnF_u0$%uRYT~0 z@1&=HrjU-?SW^kdBDQ=*y9|3~BRg)aR6@aV;D5~JHx4;S=ny&WG7Z9{7-CnctBEh4Tx z14%;XptykrH>#@gALT)kXZ1&INjG!*Pf)he8VWTTDEL>s?ZQF&&jOBG6_E=$TdpH> zV!JuxUqIL8`i>n6ird+=`DUCBm_<_@1>cXEO<=I>0#U-Y#4?^xwC^$=Bl(f;EGSPh zx@IH0wn^V7Y-jjR_>t4M`BVqUUKrOb>Vw(V_5oy4hMbxl`2%h4(Is?&8&Z8Uv<+Sn z9s!mMb6c{k>8fHGg3e^{u*FX59z0LZCFwd_2)W+2r+>vtkvsI&k|GPL%4!?w*es(M%yu^C&lX%Z0z%>ypM=Hv-3;Vt#*Zh$S^YtuN1kL~U4_iThc zwi^ill45pcHW-laiyz*$UhIPT0lCWnI_w?Hbn zMH6b{C}ft8xa6?z|Dl!Xe>%PW_8Lz1<09z1<{5FV()Zo5Ar9WCLldG@XeJ8IV%#xB{#{?~wpu)YL z8{$PuuQ6ViuKI7e8$}5uK>I&RanAJu3frmgG`*G>KTM?ywoM*!CQH^&c9v=F#rB|_ zDZJ$+uaLuu1g~|03P)`=G1!pT`sM}&QY&=yRDi4<)2Pl zAK(Fd>Gk6BYbY_!W8&T957$FJ0>8{(t;f7S!AQb#7OhNwGkYuXtLV8%aGIs7$z8C! z=G6la>(O&`T_1_T?V&>_m^4Qj+8OQJ0sr5&Vh$Qv>=p%Kq|c2s<~MP;kHJrN|Y=3?lhVIhAj= zdF=T>I*b7H3bZo&^?s7}As>#}36N}V&A!o6(Pd6<6v-4C6&v?Nbviy&WQG0x7&G%> zS#ZMK6dVwe(?aHO&}gDhHpc+0;ROEGcCa;*pFcMSdbD&|+dRurg}eRhW3Cd?(zIqKIachhNEVBa}V&pmpr`O2|orrbI5 zd5I!>Q&tDld8+4hu4|H;vDdBMC2&Nk5AZg8VZqu&^u_@%_tQDmxTA+eX9Ip4xdH56 zE4-_Uzs6IiQjkYs<4F#-@KP#zkLkU>(bWo0nVf1#5K)gcZ?}kMUM>7~u=k#<&I@gf zY#r+-p)2HLA7d-4i7OIxR=<^X*Ty?_@sG7jF1Kl4PS}Vs!c98eD4#r=r;&zH{bZo} zm_&~<{Q8`XNEck#5&>pWJ5^;gs*8FH-Qn~BGCw%Jp(X6vUV zZ%z$^YLufxec30Eswyph*Ezag^kbr3k>Uhq0ck|ngMWd3RM+VQaht|K z*t^=Q{1Kma*T8H^&u>cS=Prrx^p@!!cQ_Oue5Op@@QAw_pBK0;n$Vmd`ZP&K zue{N9{d$#WPn-H}dF-6~OIsx{(M@t$Q~rS5+D@yOd)Oz>C zb2)j|tPYoK5C8b0*9l?;7iUy&nv^sTzhPg>jstFgOYaIRiC86@`?*q#zn&)2&s zW#KNHCH_crvRj0`F?P~q`j8gEtziSjHSOOQ*by!#gS%WVm!B4Q2nuQ_Uj5>nrd0Da zi5#Sos7KqbX=O)f$exY`*Ngz7S8@admFy3 z>)N)1l&_gqk@+-v@e>Ocd0CtK!8N2l!34Dk2hgnvd7X1jx*4mz;11mgF1Ia{g9^a( zs~!?(3^dYyiF(pC1J=bKDb47$%>*`XZ6j;NmAcd`ra6$~`O6DSU8x?4XT@bcJOrPb z;Bx*(t~1c&?G%uGKEZRSLWx91YFPjHJxLA%+zo9Ej&-~WKBkG&mK)l_oDaCf^3_W| zr?SP~=p^$@%MbH@3|nfRXpSykAWc*Ya_kBiTHIlq3D2Cny8DMJM&(?yd@YRKV5~R* zA%9oL7l}zL7GtxBOwp-3KcIi#2ZylCvi+6Qing^!_`Xv7ixY|Engh4TwZ(JZ>WH6$sIYxq|e^8p;r{*8N@9Lex| z8J9Avu8{y?9<>X%!?t7pg*}5hR5$4@jucxw!aWA&PP_coO!jM>B25(9P3VB6G*DNf zE$?7_@Ybh2e$cTDw}Uo>Hl(s3Cob%G_-$pxo8lI;!hCI7Mz~$d+8DEF%f!$dy2cO0 zBu#Xn9W_K#&kT~XdM?GREyj1B9hD=nY-vk#q$NSMVcOiiW!A~ezb|+)LC&UbA+i@V z$RA2}_mzumT1kRcxg~8clfu|vbb0oKeCK1v7~TB-lzWVy*y&4Sk) zczTT7;V6ANa6@1C5`sTsX@-~VVrr2fhl4Yl|6#HjpI{miOkdR+(c^&Mcw-~ykQ%-7 zULyjw%c|ylAe4Jt3ua5>c>Ym0&HvM-z5s!VQp04~hj4<<=U*f1s_p{!S+|}iH&$aE z6>dkLcIh@u#LG0pYo}nuF%m;pe8kUj7`%t$`)ISH5^C2WA<5v-X7T(zdp*T3w{|O) zW8{k_?U-1m<{8I?Qf0kiAT?cDOTo^RroEb>7C?`d+w6=M8&{f`uzHyETyfjh0Ckksuk(1BV*uRC~c3zb#(g5Vo2{()uz)Dvy$e|Z)<%IzN?fQv;v^9G?+ zG?Xu&rH7a}(?=&a9tOU4^xNe6mAdM~-KTT`djoZI#naKDb_)|j2bJ&MN+emj^4ZR)NcfXhZ1XdpgUnPVuH|5#G|-`{x$0 zZtKdODDIbotr0m9=_{(!u#XCaqFuC@lmhu)#rusVu-;Pl^iN5|`H7^GjYX)8-U^hw zB=&RxSQUKSr2sEo%8Pd%)`bBze@zK4W4xQE3uYVN&3FPLL|Aoo8PJBv)(~FpQaLF& znsQu!znv9aEe{r0CY9mddn(NqI5@nPErGye2aTeEm0}Uq zo9vU{dN=d=tX`basqxgUn}DTPMZBd7VC@4Mu7f_tM4x1&k#oPKO_**fu^2rh{bU;F zj?oNK!&H69VJFB~xT;4_<$`||z>&NjgmkumG{{DB4LA-1L^UwKr>5GfYFS2`1L&3tE>T749+z99u!}Zg3xblp30`0Zh@0AI zgOx`!qzomjpeaWLzB@gxHd%`#R&i2N)JGM}$ZzN|&m0Z?2yyr)@84F|NaDL#I4f6s z6fBms+Ss%jCUHkU{>hTB>J&IawB~w1v!ROtp)8WdteUpW91+ zJ9*;Gfhu`D+8@ZBFZ{B8fo0aw2k`A`wH`&mb?-l%LIaT_`FoA}jk--kOd12*D#9!* zRH}<6m=ri+hhlF^E&o7!E=JY#sWRd)_0>q7YUi#DhUk$PHJ!tV0JNgKw)=FfN1Uq1 zm&uk+wYCY1QDls@sQA&S-6HEU~Wbds*~Pxbc2C(jO79O-sWUH4n;N`>^z;Ei8!2vp9?+Mp0CS@klb5 z$8%yOX$*;bwT+rg`neiVAQJMeZznCF0xudr7oop|!37dGglNvA?4|Cl0A${B6Zaei zUAf`br81v>VALgkZ}1c6Jx1+5+Iz|#Ca?6Sc&$8dhjC_uaFyAJgTB|>d{qr8cJ0`M zrIjs?ta3$YNw7@w-G!&IUU9^ZJ+?a=&?Mi%q%Y%+?Z}7S8muiIi*djiKfpN)Ib&bt zE~gar;t4=4Ykv~fUt^{|C7NjxIVEt@Ptid@*YvGsRU0b{FP2i4F56&{T92 zsj;o>LK`9Ft6a5T{yk^H-^TgZy*1&yN~beL$?sjEo{4$wB(@d}Z_?!eWy0+^r-k7dtyU01)DVvS zZEfjmUl%1)^7fCoCK+F2?lUQz&CND6YCw9$h8$xN56`2#?rMvzzqMDBtjdq7$utV90lL))thAVRTOx55>M}QoH z_NXrp$KZY%6n;D1)9nckbgo7rl|ILMw-YTzi(wuDcJqp?CaMmMWS8{Qph5Ql+w~(n zerttS!7Q#)aT~6mHY&>;H`bR!UPO>|#R8Y~KFlgw@AN^32o*F|gs@iOuwwUe4M0dM z&g8vtX25OfU^tLp`kYMC^MmIm(uOT$y7|?MApVn(MD5Sbi5JRlulLU=UY_iV5FuNH za`s!Sb_GeWB>Wz{T30)D*+jss|567FM38Cx z`<9>&Q6X|BbfiJ$a)Ojegt>}a*OHQ!4r?XGEWKOEO6HFxDqwt>n^`Q1CtCcMr1rmU z6cU0|CXJ^V;?~y{y}KB&3aL+t98R<(*QimsigZ-EdPU~`_36%i;N~A_W%)Oc=kmHu zP?ld|bCi071-0K4g3!1ZXKYPf_?cGql*jYQeCSST|;a24oM2a)|ABkFtJr@BxS;%)y`nch4QU`cF(Ok&Hgyql7n^!Tt~OnaEnM@6P%%9m$B<8hhW~u{gB;i1dQ4yL{AJrl|3Vt{3(q z)K)A!KX}<(zY4e*TiY6R+I4wV<{YnAHJ&{j7Lk2uC8{dQoA3`+iV8<(+%>tY9|bS} zq>)VXxQ;MFeaJ!9nM2l;1HjeB-)gDqJK9sQiVCm#AFM585(n%?Z=aheajr=640_u?d%>_j`f@vz}jzuw@hO4S>)_+CR|7VAZ~_ z^%pI5C4%_wzS~UgSG<>P`q?`yIMgd)AmUsMA-=$M0pTsK(4W=Pa1$)$4xYlRyt~bR z``@fy6*nq9NUlX5Eph zR$cjKN$+*m|1(soxGO%eTV~WOQ<|G}6_2nFM-xoA)4o%PE<53}Tii%%ItSVoTkhrc z6byM_eRj-hRAKjj9!x=!wOTUlXZ-3m%(6>z~3j zjYEF>x!+r0jF6_}TJ06g>n-+&+r{Xq;FEbr$o069_(yC=Op8&LrMXzYnr?Y0nSt*N zCkiLTa?dhRKgR5b%6_#-MncNxQ&K3#1LA1K_jTSXVEL)?2FTay)Jz?6Ex)gBt*f_) zV$wF#dhK)So`L`A(~JLf8qxw&E^KIu|3RWp3Zf1C$y^sD;B5NKwO>j|(=I60xT>_- z2n5Q3En8iCT6i^m3*$Dor};$fv)=8qct5w-gOW&S$ZA5=E9$C&11Gjwwf2ukn2HM8 zFSj!_lv*r( zEDNM}=JlnW@Py78VnlZKU)R-Pc(UeD=0RLsUX`L=&)H`Wi0ofFv-{}%SsR}!YU-6O zPi(UrV!jF){L2BtFEN%#$1IVr@4P9WKuqQzN|=PsowjV%mmvZUN4jLXiFY8LD`g>_ z{5YnwW6WY(mNq&8^!}qjnejOSO4i!+OtXUC3GHRzl3c!}#VbPei+;Y?eOD5LmLFO( zW3CY2M+wU1(@wEcWCbNde>XmdVh_#QhmOv}vRN?s19RLHRRG$}l_?*R2k8AdpY7Pw zjE6t@fh1~lXOYNI!;zMC4D3njQx)kSug(f=8oiT0i7-5$9a@NNfj0^5kQNGta@f`e zn%l!=?AUw88{^c9(0wwT`Zki$X0x&b)~O1Jy*#p$Ur^{Uei`hVi>f6(&Nj)Ht1>hI z!m_E^0IV4-zlr}cW+~F2fvy5saa~W&1qqsboF+*h)fMI&gpTAsl&q^PJkemYTbLym z+hCN`MT5$I`uEdfD3BFvNpf0{MyOe9ouaPvQ@I407mN%J>Gh1!o+!hNrbt@A3O-qD z-HRYo;4iIV$y4g>@DZghRa{WHZK+HuL%OC)-*40Nzr2ExPTDCS!uoY!ueN%&+5?y@ zn`^gps(?5VT)E0-UIjOT#QRqQSKQrAfwInD`#0l!WqY|#+W*u&Nn zxr$m-B6jqQT@hjwS9sat7$&kPqJ2*H$X(K~9-c53ajzTG;k~cEJR?A`wP`zs<%e;K zt+=^e%U&V|Ebm$OVd;iLB`x)6EnMlr6*Ho z*5JqP(4J-S$$Ob~Yf&HOSrxOl3w^I+SFG(YSpmK|8&Lr@_rM(Y{jQ!jC zQ10R)-5XWzn34{M->1@JGcA;1B20}qu4A01D?#3XQg;{^8Ddn_%hFcEtn>#v`I{Y_ zfOhma&v?iOt%7ls)Zoj3{r{% z3z;*0513-R9SgASd4H!?j#=feqT1os8i;dExZC%`o|Y~;&R$Gb#jVT@$v5;y_L3w9 z39_OGC<|L|lxQy}KwgTT~*oNZ!+lhCR#X z2f(BtKbYhnvZj>m2Ghx!XCHX#C&uUJgum+EW36=L5kjB4V8P7uOuiC%ec)EEwr471 zZcQ5bgDfWCWdMI9`o%~8`y#8?DAf5}TvZinO*-b^&Sal}|Hdje7~eHxw*^&d5bmsK ze|Q7=Tg}At_PM{Aq-Ot(m#)T^<7KseuF!hPGVZx;P z(zL<#rG{(4v0z4JGxkJc?txEK8>mS%fbmoawVd}$R@q79N9IRes~x&EE?kv0<)#qp zsrsl*RtE}o?o>C4+N6z4$>4jPYy|AJfwibRY)nnNSE;*?0e-0X!1g;$CR5}0)caya z8ONfI;K_P3J#hNe>$8QV3=}v==uF;(XMa)}-WJlS#BoU@;?O_?6q3k@(hS*V8{;3~ zZ05*VLU0c0rU0j01nvYNR;v^oMn=KQU3I(>8+#EO`3(q-H4jb$FNJcx?U-%Z$_9(+ zwpB4d@nANf^eH%`nVIHd=y|XuHm#fSnPlBYJc5w51d@$x%hQK(Slp`brc+c-XhI*- zu>#$$quv6}`Aa{(HV1R}a$jprE}|Bbo9g4LDn9?6CK8)tn2emLd%mnb$(`ZRX^MVI zFtr`aU53lj0*#Z7qvE5J$eQaZBkn%tWYg;4U7|$w6`?*xcm1|tYkLb_skS@!iIUd& zCO62H^9n?NZq#SrYe`~AJ+QyECSafacwWqCR-&HIrQW%6=eEQZ6|_da4eowD>5ae$ zje4r2bd%{YiExU#DNU16n%scThD?aExd5sb35vGn-kKojU`@2P z-;Yoe3kgNr`n{=i(V63X+7vSAT72%Ss>Pa3uK9L~y0Zm0z}j6~6q}*WxQ5!~X285r zfTA5ky8L|P7LBT^NGd1qMe*lkxs?1drYldM+?t6$&`RRSH7V}Sq_)3R-T2}WT;3pA z(7kr(2v`|`;jZu}ovTY2Mhn}mV#CkQju(z5`JuVm`Yho=P&W~t{u!I91?}EJGnFoD zA*KjIDT(dIOfxHvO(@y#P&0PZ=piaSD7(V0)5=U%#YD{!hraV2K2U0hlm45A+bm`> zV-~VWo9X1iV{r|A;k4+;X4sl__o#Wp&S{0Bc&6@!a=Ar3%6@_nushQN zL{4vq8x2M&u>D42G~qhmv3cyIqq-o8tJ~%Z?Us_ujO7|LSykiCr2^*3eJa(p3B44n z{%RH1^lCNO7nLa+et-ZM8w>|@cAN})$Rs~bC`*{Wj9hhC=iv6b?b*VB`=%_}GzC4H zn*f#nrEpo4J7WVh4lhPbJyTxecfea&wdi-%KC}xeQw-s1VN34{8@?L~tr8P?yJZm4 zU^}Rs*PgijUCD}uRxxUw6RkYC z7NEdbQLA7kO&wdpN;>uA5hJyqP>(WyZtY01?ilEK-Jw8@I=w05Bu>P~86?E75jYDM zTKXpnL}h0_j4F*)QG*+R+TWl-mZjf( z%Izn;bMS8R_PlN!!n7Gth_&fqfhU%EDHAf^}0s{}*1 zm_rBSt{b#BC;DmX^%H!k_wDhq^POUuabFT&OtHvD9v;Q>+Hep=M%I?7Iu2kd`A64dCWAh&*z0Pqe%0aFIjsrc zpd1x!2|xU;gK=hKMvpv?h(fA-RwLZ#=ewBmY37pEFIAbrUv5#_J#Y?84j#L;R;q&rj3=IhILUmCK8kS8+@7k@1R;tII@;Li;oK zA!&c0QGsL1QMI~l2MLFGm;s7nwHfzvaj#&=_L|{p2LHgolXUIeHunb-XrbDl%f&fnP`7?z^9xy=M*Mlv;;9E1k<1E_~V>h+P*B={xn4_iFQ;2zuqq;;i zM8d6#Bpok4CrZ!}=Soo-(jP{7motUKM9Uz_#Qf;16W4DmHA?}bq#c}dr zGrLcu2|92=%8RZsDR7C&T0dsDmo0=QQAV(C^RZw;nIOHHQ(J-tY{|LYqNNl z_MfOS8ZW*i%-#|frjd1q13NGWPrImX*+4N_e)^RW5Dh=!tD@^hxnG51AaFiRpAYPi zkAlokGKPtIfD=McrNXlO^#6J*XrJr9p3Jrc(M)ZAY zS1aZENb?PZR%XvOImvK)yv0(qo|C5JzZ>G7R#}u);aNVO=@bH$M;>*?H-cZwH!;PY zMPXy(tZ7s7N7l5m!Z{Xzz1MFXh;yPc5@?lZc_$&8;%r3)8v*1wi3)3xwCa>{nrID} zXz`1y=*k6S>@`)bO{b=%;xqnsC5LvL%!(4@&+i((+AbYZCtb64928qFL&t3gW}g=z<3tj zC(+km>!ee=C zP|U|T8AT4ew|as{V6rreq{y^c{D1L+jOgbrUA|&tLj~ym18Ud5C93}U_`fuBSCC@F z!XPqHmPM1_l%M0dV|#XA_?by2;Uh$2Abu^6G;V1qzGuz-&xOc_7 z(BbA|3*sNL2@uZvWC`^DhIQW;J2~UWF|G;XXQL78>Ez-MfGzSviV~L&NdVE7Z*P9ryTl`B5aV;gpsw=k{6V% zwMK=bg1@+IX}sgmCA(2O>3HpXpAVZ=GWNCJ!Mb!O%gS(>WCLPuItP_wLExJsxXawij(m-lD+>vJ7_! z;_aHDl2bO!Mdsc++w~T=^ZQ8-MHKZZ&UMOfu*h2G#J$Oe|5Zv#V!*(SA$ORZ{M~Dj z2fz;C)HMdl1t*wkC?*oX-5ih^UqQL`8gW3mo^z<&Z95HG39$>m7xlBCN`w2Q>~Zj~ zZMxF}!>{1FSyvICr06jpwG?G|w0|GWwoKQHX{))8i=6I=VegVI&GX@ldvs4DC`9b% z@wGC0j_=-E1=T~Jwlrb&AkCR?pE^GVdBks>H{b-_n^><~JTZI!VmxAi(4FyaXkRkH zd3s~{b%i0p0U0gR@1OXhaZFOptWb5yB}V8>i-~GWwECp&2`VR`C1%uD=cTC;?|ZOB zX;d_*GMRn=KW878CC!{7O<32LIQV=znwvil*wkADHaiT&y;ZoR!Lgby@+?ciuFTcj zn`M>_UVF?dx1i(GaY@Rfr9#L#!rLV=kdN@{Qrk1&L3lY}*~c(VAG(TGE_HBLMP@OnmWy;(q4g4j3PBL;(dGu`8tI|7>peQ?B_rIKhAEVdz}A z{F$Wy?K4E>nrI|8?qO8M5y9}&$bz95lps^$dOKsvQy?V&ppEigi!k4g({^1pMw(%e ztkX~FLI`U^qISvxLby{4f9D=zIJ-SlzNV76wf2lj-vfrX6F*7gG*eR(jg4wtxo>F0 zSr+bBj+pSTz$~Do$hMyPo#Wfb4&%i)NKvfg6A)LI)7brsH4fs9b-HlA;*?hqKxKkT zOG$|?A4h6h3lCbm_&4d*-NZgsL}ngvi~T6k=!p&!%h21C!wg^2J&_kdl9k>%Wd{(u z^R`+Y;J}&djrJJaPPFm%@z|sUDhXmP7!J6~|AmSLqE6_>t#AGs^aq;t_8oGGRr7}Z zdJ8)CZc=X+c?M>T`X@>@$EB^*!2GVc<~I(7ACMX~-`yVHd?2s<;<^bR+2t`!3D$fr=1VviC-1eD7eK=I$*_l}Cw51dPnJKz$AT|i;nVrw8GjqY zX@8MIf6NdoWDnVSJf6oX^Q7CfI5oQtHk)deCQHdNwD4?#B{odvQ$0l!$#N#|Ka{wp z){rca^7wP5Z#MaPk0kKty$kej_|ER+&r)hK2r3) z<*`Tk8IyY?A7AP??_MZFC=HY|7@z2bn-Qu}qq^~_M0rAcnjCgXK6<9Q*EYASn8_1}>NS-YT@sX&{Nj`Y>?dDZBgxzc7FXD) zD~}yBHqZ6@{_DBvqOyjvw&Xw1I3!ntNNbX;y-|u?Kj(hOFo1)BB55Qv+*ioz3btwO zWShIdHE(OSB|IMw&AjVIGXB(v>!X@JzgQ1zhf6{@$b&XA|vi zMHi`SBMRm7F|ei5j&v1+_cG~djsJ*^U)Y0XdMg3OkktHJ(ENLD6Zuos__aUKh?n;% zWrtu?^{$FWR9ruZzT!_kyK%H0wymLx#?{$(MG2zVtX7c3fVxUu{iUyY8W`rjAy2^StXS(_QKM%&#amu()WN*=TYd-(w zZkp>pq+&h7y@@Tbz{e9IW?m=N-*G6N?_Sz%e>O4&! zdW-@{A8j(0@kq5FtDw99x=oCkS^4WKz{>)A(zzy@Y4Y%wR2ENcD`lPz_4|ZC9W6ZBDo|(O8+KkwvW`qB zv?jZ?MW*@WDm(dOE*8w8yZ|;=LVYcs9HMXQQQ%L%zs({4>z|wdK+{K5=I-e(Hp&L4 z`4k&S$G)xkQ1oodypXYt{5osZ6Gg9gm+YeiM6z!s0eJfOu<%N^(L~HMHv$NWBnQh7 zDcyK$X*9JI?8kOfBKZk6O{qJr|8jA{{(Zc^HheUmE+7-GIUffb{InQbk1Z!m{~EJU z2xV%Zv2mW#`l)koJHFKfRX$?*h>Da6g&mtd!o8GO`7oQ$#+G4*%2d$@#>k3_>Tz4o^iAU@}SGGz_>eN#J|2QJQ$I~!~ul$HWUH5jVzeut+n zyh^*VTn7GEL0e4Yus&39)Nu^y2|!_wiB9top7K7zP;OCEdeaN?=jg?<&(;4aKWZ6Z zU99v)z;VFNj+HIoi;lz&d|QxTOlt{csu1Qw6S2of!QL%G=2?mp@>63KRCHmYK)JD^g)Tqn$+tCo$|V<0ef z?5)3k04C5mRH<6&mvkZX1lKIDj5ZMAAyhXEnPInV?MJOjo zT;WHrmKXcOhLn3_B?tp+<<}o3iy7Y+y%myZ5&4?7s%=+t&;2Oj;wxLI{_K!3Z^R~8 zq!;kr$?E+8>W=l;nld*-=&Lsx1X+%-gV&57ScpRc+xzuGcav zH+P?lXs@{^53`EARO>2d#y`F>1#^r#T?1$5P;TybfA_1=|D?F(f9BXvj(pdF075Ib zr{<$!6Ivf!7N5o%xSdkMuuff$CW?M-x0uD=t!dgzs)H#n-&kQW6}R7++CMSR=wHkiY8Q{fc^TUDzo`E`r%zD|7F2y=?<(82 zI4A0(CkBneJ@gr3wrVy7fz#nR;}0r1XiSk|39WtgReK1dKo$5zp1O`V3Js&KS=eQR z@6>1U_A*HQz+!^RozZ=EnEXcOscV$eN`4EKw0sr8=8CIBx>z!R##?4mjMQT1@N?u< zIEpA95sP@!H+?W!)-0aAoFdRTX`3e?g>MTF+%h3w*!%6P*?-S<>YJGXw4y9)q2+Ip zGoCb?9xQW;C}fO}?}O&*BK$KDkdJqS*=x3+y}X(PhF~5?)NYvc5fMi$jO2E>;uZ*X zL-6G$9SP_d**qoz?=3B`zD0&xu0L=B2rao)_4J%1&U@u9+o_4VN^o|w`2%g~Em&dWUZ;3p z;^l0!IA}wK<6bx~C;dx`Wzw)oMC3}R&~>k)HH_=Rmgj7pM#)xSdH-tK4cNbr|Asm; zAIiUlWccmv11CLnelS$19(P7C5f5;sSCQF#i6Q;ItBSL2oej?q@z#cle9d2@QMJ9| zE&=5$+JAo2dBJ4*h9z@Us838|-gWlY_}~l~+wC5x*)-b>UW0FNh~EoZS~DYfp0qmI zX#~=@V={R3QEZoZtF$B`Q6%?}wL22SlBd}n7PuISIw@%J?NkBgbDEKWPNW3ld*L1& zk=!|?FlkHWM6R!sA~cHjRk;1c|FSG;oi3o3!vOW%;Y1XWCpk!`AFuUc1<+cEkRp@#f|wF_hi5i7gg6$TP@AOMThIRp z$SCY*q@Ru6m!O8vc8e>kLg4~wmN}LJ(c20y6ZCV%;lZds6hV)lY4MlRe2k4ojuBnO znKdr^JoxW1M`WFkNOLCWhnQ^Iz5ERnPl;b|OoV zrw;5g;753@6DS!z-kZ72i}ziaVX=QApOz8OzG)f}5g<eGXZqntp1Cnb-Oh0$e6}rrLIuq!W;ZdCO6u+f@HzU5?#vul`EV~DV3jXbl zZz2(vv1Fx|<7xU>82!hWjfWWd4S&7fN>o`7-V<5(t$5E>#5VELI;A!N=(~&{1hk?Z zEIvMPIr-K|7g|!2qTCd|n?1?V(=2K3tXGCMu$Z6zruMkz4vCgtc;n0R^I-WIEeS1l zl($5_O94gsD;A~(_g1}Y%=}rF7FRlo3!iuE;v~8?HC_uo0*=>Y`%SItpEjcbKLYoX zcbfl0BEFl%t5bt=x*)zK$xhv#t=!S1ZmGrRckjS1gR3Nau~FGA1iO&0c-A1Ub0Nvl zWx-lFGyr{)FMJbPm&TO5zm3u@ZM}Pgwe=m;uVqw#m;eymvy7JoQn+|6yf&`+V3zzY zaJ$dj<#yGrMDzi3T{0RrrVQuEO-#t`qK~s=aN*z-+NG)T+{oD3(=QM6rP^)f2v-d| zvmSCkWaNHVS5_pD>av)Bmlf_+>V|4A6#2w%Nidv7-@j}$3{sg}DK@Y&@YyVJT=*^n zl~@^LZVfKSgG-{=HdRZO;cMNk&B2NaEtba&*i3_~W$(@-ms{B8ooOgnx?nVA@fK$- zEmbyhKLWZ<(-qL%F7mStCC^BcttT(PMn3bwcc91mi=qa(-EIsTp@Xpz8x5BwZ8UiIg6ku6 zz2ooBbryPOJOg@pJ~ImwMH>V5bY=HbYmhbfHZB@Ja#b4GBvxi)xq9%MBH84B2SXe< zlG8rphC-dl=YwzD`-b{d6P(r!{0U3fL{m0tKWFDLG}Sa1&Txb8+}A>tvp|Z)N0M#Gvw`8p}k68Vzw8t>l^vM+B?snCbxBuCsGAO zMc~jyK@cKE1O%z#rbL8*7}yeuG?m^24aEf9AOZmsGzijrM<68hs328Z=!705v>*Zj z1cN90%>8iAnYlB2&iQg@uHW8yKd$wkciy$0=lA>$mhfw`#-!xmHhU8=<;3+(X;EU6 zewkPjDvU?jm4o`SifoD zRyT|)wCKxC*zC1|A?yuFRMWo-Va?HhXNIckhtr7|%YyHlY^TK}U%lQopcHOW#kXPC zqF)zwP%2O61zWFXy48tVD+9?jKE`3L6jCyM-;Ot3jayEEkETeQoap3M>EyaB%W@)3 z;zg4&i&|^@rnh%%V`fL3!g!UD#~3O2*ldd8SU?w4wY(|Ym3h!9K!$emf4uqWIBn0 zsX>gvL?>m4g=@R_m)alQ%X^*}g1yBDlspqZho)J3t7&oXp)Y+cuMm-XAt(&(J{u+h zisbP9SXx_ixvW(6g@58a1Sfuo-$vEt5=@Oq%E%#T-w?pr3jXm`%v8kDR`7y8Kv1}s z8}WnV8wX)_U;NU+>nP@~K$uWkDbm{g0@R43KqxH`a_Ck$L88!E7hzLezSdaNy{^i z{IKEzvp~a-DQRQ?HPtQ&4%oJxCq!$wi1Vp&am<0xq+F7l?-|_+EX|LA;ZE{n|MCa$ z3w^oKKQU}C??>Y?qusa)!;<~r+22$6NSc=E&pJ8vkBe2YkSc8*Z9PuGcWo@}KALNH zy7JZ^#BOT^r8Ei5?JuZ*9I3F=BS$D>zyEkQcY3xUbOB#Z@>aS%TKP49NLsE?u&#Ot z`m#j@`c`@y)vDv(-9-ew0ObV@c%+7p3}f+oyES&kdkYC}4;+g)&c~r{eC^Vg398$D4XvrGm}vwnTLcRk6gew~kpldX-E) zoK<7(@HCxFQ=GSSkOt4WaZq1WYwq!I>RH+b^_gP#QJyvXs>Ry<*{{`q0%RDTF1HDd z4OLIPd|N*G-F%(d&F2k>d}`GpCG{=aE0f+Fu`x!ka<)4Ek;cdIQcgY}AFUG|YI8Y! zK>=YVxI}H;MG(^^Q7*%ASFT93c8jxvci9_CmS}nlj~D7I6V*ek*E|tMX^As>KUkeO zMv7q1Z`f|zysJiMVYbHYzq^s93!snR_p?;`-cB(U<+&eedwz*4`r!7%A{#&EZ zY}oy%O8VmL^3_86Qu1oB-!$0{d&6XYo2Xp4yKVzfFetp1cd+JKgjGb&GO5e(}2_jjI_^yoL=n^_Pfq zSM0o%R7?cDi(foBoj%3ebjRi=U`uD2NM8y1K`A$LJkn=U>GZF%N0A<`H130=d_xB? zKTg~RI^q<)^z|kISDOL6*^Bm?hcv5mOD z+K6}`b#r7qT!{e}|Dz!zlWj3L&=F=FBs&%H#e%kDw>TJ7{QLOEp*^j(Wn^Z?tK^Lx zMOL=pN##{MuDNlb_F0f3GIs1tT$hqmpthILTn+nN1gee}Z*$$d@KYc~3;6VW6INUR z@@DO2KauUdPQP9{H}eNaRFp}_jNKtx71l9}l3?f9rK8c~GCu)#FrP~tmyc67^A7LK zlJ#84zKh|RpQou$_k!2MKZj2}?souTMiek7jP0B8*Nn1((8KWj6**}q7a?faDWDkA zNClz_4pitXzA*ZhA8jfd9giK%Y|6vm2{-1i96OjG4k$3fNDT7^9V-ZyzMj*955);T z6m(NjVzSBLpi*}{>}agWmb`ur)|+DEu8j zO}}JLn@#Y9nKNg1H+e2-`grH0e1x@Ye>xF$IV~cSdBA!Eq;-pVFA=!${q@eE2e{Sy+++yu+D`ug-LpE#n4Idkx&!K&FccFd4}zn z!KP~9RMpl(T?XfQhr69ABT|-Aa{v%T9~bEFUp(8-lbTOL4t7Yo5n|3_)#&X3kbtMJ zuzzNS5yCP)^KWOOe?A}me|l!(t0(U^VyER7sa&lrI|cu8xo`c6-;U?sw7!ElTx=hZ zUoxr>EQ|37`Im#`f3tAFitK^nWsmbvbap-TUaR|*N`+p(N5)H}5htreJ5r-GGfMYw zm@iaZ?6$c(uPaOxi-H}obh3;)*W%7{?1z4In!QzJa{r|hHCRdN&_`1bxj@j4Ib?Tq zbJlw;-xd>4a%B~+ssLP7yP@?x;c{X_OU4qjbP4#goYXHO_)_U;MzvH4?=wwhq+g|u z1z*Vw$=HKb4`*#Dl}k3nY2hJ4LH!jc?&cstis{by^PjwEpR$BbaVGbOQ8y^!@M4h} zj=F^Tc~n9CDU1NyD~T+LTnzyQejvJRxwy!E>$=yw57LBF{Zi}gTM31-;^u!7K7f{* zNtq2%F`+uTq)B(gD40h+p7C8W(B@$lC)?{H0%i(kaPCzVM(>h$z*Ln~c0a;4w)N%^ zt~O|BUBR0rtu9i)Y}Ss~;|p`1E)rkIP>c?Q%K4pkiD3-VR}&+&K_izvQ#zX zMRW6yej<72l1`^UNG#y5GiK%2E*{GZameK1yDlD8azmbT5#?l2k#$c_Xc5>hf45wr z!rOK<^hrL!sWu1Aa!%rnwsS!aQjSR}5v(mI?A&*2Y})_{!so1iV~Sg(SYpwtYeFk9sD3{sL#7SR}hLr#8c*mmdHHp`^?j8xuCD5M1igC3xUJ=%#yUG;>L~Iv~~R zMx7Jnw+5Wb@EbjnX_?7FYi8A?9frDKbbI^csH~=I9lMP(SfTu#{v@9HyMRA-CIwe_Gb7D zHu?m{)7wL#COc*_plyUi%KhX&Fg}88e0(A4j*8*F?t$`KCHu^S;{eJ?E zNvU}VIpZTFBc)?64$B+G3f$pE0tc*?|8y0E+}cCI6_edA4DkqOuqhf{?rIP5hX$e4 zHx@*nlw}RcFndBnLF0(vR#d(Thr7^9q-J^QMV2$y2MdNW4pzTqd6teDtoTGZqbv=V$^MUsJ@d98jR5z~* za25FeNAX77d6jF?|Km=~&p}G6TSse1slR(gIG1fD)aJ@_EEms_e{ErgyH14rjZ5m^ z4hK84Uooy1Kg>Fo6FWL{{60qLd;<9Gqp}!aV7yz*s{h*UL4AHjRWq55Z@!9;dNeDN zMek$S9tf>;2``j0GS1={grD7f0>_rx;iX_-ow%GMf^2c{C~UU|MmV?HhyK`R|bA%;QvMj5I-mW4tbpb?EnA( literal 0 HcmV?d00001 From 0581f630be30d245a310f5e8deb1b61126e6cec4 Mon Sep 17 00:00:00 2001 From: kk Date: Sat, 5 Nov 2022 19:34:58 +0800 Subject: [PATCH 35/36] =?UTF-8?q?BOSS=20LINE=20=E7=AA=81=E7=A0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "HW03/\346\264\252\351\222\246\346\225\217-HW3/log" | 5 +++++ 1 file changed, 5 insertions(+) diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" index c7a1a03e..78f0c37f 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" @@ -88,3 +88,8 @@ adamW 最后也就用了 数据增强 +----------------------------------------------------------- +后续优化思路 +在此参数基础上 选择不同的数据增强方式 在高度收敛之后 使用更低的学习率 和更小的批次 +考虑使用模型融合 + From f4a7970aca9a92b2550c32cfb1da5a48cdb5db06 Mon Sep 17 00:00:00 2001 From: korp Date: Tue, 8 Nov 2022 11:00:12 +0800 Subject: [PATCH 36/36] Changes --- .../learnw.py" | 44 +++++++++++++++++++ .../note" | 6 +++ 2 files changed, 50 insertions(+) create mode 100644 "HW01/\346\264\252\351\222\246\346\225\217-HW1/learnw.py" create mode 100644 "HW04/\346\264\252\351\222\246\346\225\217-HW4/note" diff --git "a/HW01/\346\264\252\351\222\246\346\225\217-HW1/learnw.py" "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/learnw.py" new file mode 100644 index 00000000..1f897e73 --- /dev/null +++ "b/HW01/\346\264\252\351\222\246\346\225\217-HW1/learnw.py" @@ -0,0 +1,44 @@ +import numpy as np + +w = 1.2 +b = 0.5 + +dataset = [ + [0.2, 1], + [0.7, 0.25], + [0.6, 1.1], + [1.2, 5.2], + [1.3, 3.1], +] + +origin = np.array(dataset) +x = origin[:, 0] +y = origin[:, 1] +print(f'x:{x} y:{y}') +# 计算第一次的y +y1 = w * x + b +print('y1', y1) +size = y.size +mse = ((y1 - y) ** 2).sum() / size +print(mse) +# cost函数求导 + +dw = 2 * (w * (x ** 2).sum() - ((y - b) * x).sum()) +db = 2 * (size * b - ((y - w * x).sum())) +print(f'dw:{dw} db:{db}') +num = 0 +lr = 1e-3 +while dw != 0 or db != 0: + w = w - lr * dw + b = b - lr * db + dw = 2 * (w * (x ** 2).sum() - ((y - b) * x).sum()) + db = 2 * (size * b - ((y - w * x).sum())) + num += 1 + if num > 10000: + break + +print(num) +print(w) +print(b) +mse = ((w * x + b - y) ** 2).sum() / size +print(mse) diff --git "a/HW04/\346\264\252\351\222\246\346\225\217-HW4/note" "b/HW04/\346\264\252\351\222\246\346\225\217-HW4/note" new file mode 100644 index 00000000..a324c0ec --- /dev/null +++ "b/HW04/\346\264\252\351\222\246\346\225\217-HW4/note" @@ -0,0 +1,6 @@ +目标Boss line +实现方式 +1.了解conformer +2.self-attention pooling +3.Additive Margin Softmax +

zEZN5%0bKLWLoz_hZV(6tI>;stTWg8Ra2ywXxo)9%$E%hAt%o9E@(S9_h!Nz=<1mEr z|1C&Wv9|mGxCto2DH_kuyY(XXjv-S0@XB47vg@J~)j~7|rLxZzDMi{jQ{1ku$ppUc zV<>P{c=s1g1TmMJT8TL7Ng?y(NNU-hmJZD=m2mIQHHhgtgnBFX~A$YdY?6vLW zWo+9=J}Bk-P1riauK!ieRHS9`YH!E^H{tm(iNU5v-utUX7{%?LHC&L#gLdOqq_36L zcQ->kDJyc=%IAQ=YVv3lEW7=opJeqJCPwZ+A2ou+&|zxc)xe@Vw4UWxk9hzhV|mh? zl{Bb1fY6lZs4-~^nf}l$QyGpgbbyH-l#?+XJKr2DRMGOd_ld~I>jNOBR`9s?&AU(d z1Ay=($@s!-b-FL{e#?8Xxg)JUJ8^*2f zU7@!6Q;*gyQlXJl&SB&g%fFzp!K>*HS}ggsUg&V{q`aFUSgQ}3?-b3xQe(K}&2v#l zw2~g8H;>kuI>ZySvd6tf&+x7#IAvkKw7mF!aL%gkhwg6#@pd|AF)BiGUnFxp?N+Gfll(S z;tt1w^5&cYqZ7z=q_G`p9HgL02N`B&fjgeU7 z`Hk0>QgsyZ%q1h7pRXZ|N;%!Q_M*=_%j#o4J-l!F-879wGAURQ&Vtcw{O>3`3U?#|0 z{XY4J0GCYeC9R^WgizMJcx&P(@r0zjUA$8|)JAQbTq@G_40dqocmR4!g$fUXrXe~G7kwwaWE>E@&@OM3{TKWREQs$ zD+@WRYQTwgC?uBq;4CxQzUm;IbD*JYXgB(>E()0fdr6M$=fUM?9Y&t!Pue=XL|oKM zBN5TF+)CsJ%@eis-<+Gw=6C}hnmpp>7(T0cy5ARzOSFY5F2}3a z^uGwUxo648)a7*&TB*feN2pF~9G+gn5W%5KZkBtwD5vRp*~1jJU`*~gen6(6}R?08yp@};@mzZV zH56PtqBT3ogJ5dh-qKkSr)&%Vh4XO^*lRYKUk@Df3Fw=_T{xD~%hV?doE>{^15nf? zVJ&NdC#fx4gzsNX*AmvCXNAUPwyHjnI5e2vEzc6oyW;%?1(;K%JQzuC?{>gp{W0CB zD43ah3>O-VjdHt$h4DE*<>nbGQbZmm^fj(E|MgZb&aPJ@mRE%S!m~!Qz0?WO40oa* zT+i-MrYGJ<8t^#(FqcW}vhqnIR}Mw1es8$>kG6=T*hbcz{sy z4W1WEXRRW*KmGafVYvY-p2JtP`eKZ;JYWswc@CtzlzmlpYw<*;^5sWYKRT{G+MXMK z1rnMn860sFx>aR9qnoGcoKLBITb^2H68X=hWa81*3S_SguaPTK#+NzkFko=*Jr%u$ z`)^R4AOLHEFlm#SE>`~YUnpxims&#quF{;;u<{KqlDSLbxm0!yLjIj2EQ4+EYYd79 z?%P>Adk0x+EjIs>MCm2HO4B3%Ky`j$ODNU{pj?*I>YCml9!hYd(cmTX0Cp4pJlaS% zrmp3038>|y$${$w0NCewk*tmS09dON?@A$GU%}~7*4t1$?+0Xt!{V$7^)yM8EfCEj zr+1hwQZg+mWQu5$x5S;a>R-_qAQ+zQc>v z{l%>qOrygc;%A;;WaKLH7$3S|Sh@V_2P5uNrE0Ej^K?CA+ae-J>wFj>DmBOb1RU6G z0j<*BT;;<^o|dG)If*nO^UM?&n8}4H?f5IIJEYn${Fuf0GsaQru~Ij2m5Jx!dF47B zd!Sw$ITg;XPW5|m6wX@zfV*~dC zz~n=0qOD^nYjVBGp&lc}I_VO77r{Bg@sgZDY4+93ZOFjL1~k#ZZ$kMizb2B~y;(CF zRNl_g3+E`|B7TY2cfQ_s55@{9jLJe3kryAKSdgl z<&smLU}YrS8)qG&&j35*FwMw7?DDH(VTK_tC-@2}m z+h;l(n`+|(%8sA_*)m_T*&~0v*6W`hZf5o(g?GlQ6XX|NU%W_kk4qvopIP_Osn z@THuf#gCGsLF)E<>Xr+j?uG;3I6l|E!-bjy?NRfc`LpdEbT;Q>O$NY@=)^Fdy9<#^ z^7$$mO{7tNmZ~!H#x4WPLdhu=v8y|HQ;l1wJQdw^`Oz^+VeDd3hpz86WjgnlC6-2v z*tbN>6~zs`>rbr3{0k@s(+&)U3?|>;^blf8na1 zKAMzXh8~9ny(_5hHJY>{xpy+)CFp{=TD&ypEKVusxJR{Rc3joPH117yoczpZb{!up z2-icxVg70FY|CuId)tqeXi;( zxe|X1b=Bp2)E9u=IwYkYZ7}44`VI{5Bk*={t7wWFLex(1-{_m69J-MQX8U(606pC; zExW2P>yHdtL$OU_iQD9W{yzr`Ph>fes+VO z(ft58T%(M2N!K<-u#6oZUh*mTMc(}3(-;trs61XbkvEKb7>T@(5v$l)%TXU(qJ;pp%FQ>}-%u!++!L)Dg#b0d?mf~;z;-H?l%5rNJ19ogIk@o ze&!aeK2zZ)C$i^YTk;st>}T?hPStrPqbq_}SOcg#RaB?63S&j{T-@k~LdMOXC}P|A zl^Zx5@TE^7gX7_@^Yq_N&x*GCoXoI(XHc@ldrj@Ax(|36NaQq7@84&8y7p^+S3D#Lv5WdRNKSMIyS=dOs$6nuAq4P}^Rjfm@( zXrWCE(XOvJEJI_!un}MHH$l3;1%Jr4njGFDg&KaR3a&1_U=;ZRx5r3|Dl^>)_gysX zgo9hHe?i!RR*S(4NL=AAB5J=f20xpHQc*u5l}V*@YoHvDBzbcLTz#OD*;m_&Omp?a z-b0eIVWB%=)g{*s+7OTDqMXi3E^SJ6>Jw4kQo$1#T;3|XA4uQtF{|Xh);G)v&G@(w zRII#DIx89~nA-r3^};-M5d zbz09kjib)eXT8|(>EG7&ZSNviehj;Dk#21H0HEx=?6>B6-a4px?gC>P+8q3YYUQdB z>}*sruT(lMLgmwaIgc28QrC^tOO$qW;q|L2FtG6KHI-Zh&OsoE)H7002b%Z@jirs6HuTPX_lB>?MV^HegLL_!%v%E~6 zQz&j2PayJFJyvRl7~m~m{qciIIlb@;CH=+r}>3=&k|-evCBzVWHykgfB@F9{|4W=n~2TT=16#lUH{in(^inM|mkE zAdHsx%h$1nYlNX0`>wh3{5DhtD8Y{SXu?ofzZj@_+Y-6d8wNYOkk9etQLy5}zb2(8 z`RB6;HTJaUbPhKy3zM?0jLcsKROVl*h3O>v7?)=|!>0OJ~v@z3a?Yf=siZW~8_@|@JqK-Ozw8>KO(Awnfi?o&U;hZ$c zhXTH3Pf#{_9=h1s@BBH?f1v7uk3UVV?cB>7G_dt*^Y^O|oEx}nsOr{W8G^~Fh4@>O zFNAiz1<*Q?yoz!|99!G&7QkMN7$b;8F&7Tc-QL4wLW{0Tq~^vwf}H^`e>H2Ek+yVY zCJ*^nP$FI#$D!=*iK}eylTY*ldNVm=V=VIfu%dAkBFL_Pz3^S-n!^G1k?t!heeHfL z5%W1AXRo5I8iD)&5mcVRDUOJ0jwYMiw2WgcW@# zviker9YS_Ec*-9h@ha_1XEB-egRFV?8lh{3!M;kNvOo;cRxOLHboB$!+f6jjm`g)= z(TDCR>FAOZr=sHs-ttpYC>4xs$OU1|$$d%>-_E6*{M{zsTeocE$i7p0~t~?>* z=^6j_W%apm$=yjcZkSfb-RQ{FY-PBPL8;5l6Pp$S=_LEZu%OP z5w}gnAY=D0Y1f6qeN^*V8*KE6UI}P)8X$l~(L70a&Gq8fi2 ziqBs#gMi`Lw-`@ztQ6F&{zwITp_RJnZ@DafU#7=$F&mv8Vc+U>kc&W0MA5P~oq|4= zpbvl-IWykh;nFiC)j9@@}N*;1<(q@U@MMf z|ACsVy%Y?!m_NX# zM!{@z&FeQqV&kJg2v>H|$`u9jkp&tBvNTUFA^^*0eb$5E5tmY+)dS<5@`UrLBo z<_^~N31bq$i7zlLitu$x!QECh>>Lp~9#&B}>7J?#v99%{-?p3?l1b5AMbAy^bFjfm z(zz_p7Rg$;kNg!+O_1b0G*yWi!w(i*OfM|2%Yyp=*dh8ih3olhEtnw^<@B9iy|N9* z(0%~kCs7VWIHx`U7>}7Ex4H&&7%7_0s3>N7jJobM`3SHtZl$Z0;!&ChB=PzQ>`$2x zl{Z8wCTOW97WkonKL(QAcgu_P7T15{3W>}DT|NNw5)>#^a)u$D+K!|3r>GI12+Hu0 zP3|CnEaQCDzvLMmbru?LR)xq$^9&7Bs2SmRF4s-u(P1+)Ka}esjXIrB8(t=Z0&Nr_6_N*^he|*4L?BmG?x5Po+WO87emN zXOix%uLs^uhSzL~Q`Zts?Q=P{Fq27>Z5@RZNi59*nma z$X@e=fWK6K@-8%NJVBzvk)>TMAjr1GRum(f4pcd&sP7O{-qpUk9nHZz)s6P3Y$Fak zKj@Ipe|_$X!6#~~jC!YP`dhy7yRvYZgFRmbpyJI=CAx;(Pvh6|u(G7m2*k5<&lFA80S7+%)7)rxdS*%jfmDXJVv8@ zq>g8_+B=0C0%mKf?g_aN&$PvBM*~yByd_JVQ{4|weZsecgxMR;S^w1JZSOJKgxXp( z&)H|vV^hxK1~*az_p0GW8|-{`e>9CxGI8p@Ec(_ZWp8sgyAz8V)OnBA7lN=?4z}_~ zxtcd)_9Fc0%UV+jso-Bx;gMGk9US>l7Ryjil?8rGRQm3_+#0dk{-xMowEO*cH4Jrv zA^x|W?Gmn;@%RwWpyCVC5mxcZ1KL_&h~%f-9RD`XA0zE+W*-1m$q9~yA*~>wkBM*g zl57PLTg50_*Yh4H)n~p*N)-f*U9?#J3HcacQap=Ytz_Ss;+k$J#n^7GUJ(1E)Mz>H z8Pwd$@aWL4?ifKjZS>yKfp*?!*3?T*dZ2ja@Q>#EsSBO37?e<7TVCpvh}(+`t%2Uw zS*Mg)H|$INEhTk2m`EhhVXa#}Rhv5G)Ar{w*Nh$43Q--I%y&X^$^oOThvt z6$Eg=Fr_TWb)>0GYI)~v=E$YArRCzTl1Lwt_e^0Wg<)G$uAp5mfYb9qXSY$O)C~NZ5TM4ovHJnJW(X3|yMMB_xt)&h;$nRSEg!vV`QH5`5;X$;@7s zlhf|PJ7Q@3q%nmhJ73#up_fdYc)^S@gt>KlKC5F|=lf`u{sCZiEHt_0M0x$T7tRcu zXKE6&jAb#1rFn3sJ)b$cA@;*U+oetLv%U~6889LW#w3nuEwjN+vGgJS$G6mY-&guM zvqo+4KO6eIlpF0w2PdLT{zMa2tgsAm%Jc!#+fHWq0t`Qy6h+~VG7mw8lFPodNNp4Z zZ`SpPlX6Hk%uzz%jg7fKtC*G)snjujWnw{Rw=BXNt6p5@B=7KWR z&NgQAjh3(Ab<%;K1azLXd^UjBgWt9KUF|K0n38BnOx^V$B%TkQX5vTAol{29VO&BT zF5Za-R-LEFXto;`%Nk<1Gr$={Oec|M+M>4E>uh~hyjIn}Bt%hGr;Rg;v)W-Z$b~W7 zjRdnyOiC^QIuY@wl=3nz86s_TXplL$0Sv=6E14+2Bb}P@q~*oKV>y4_qj(`ukNmmd zH|>(GBb4=s*6*R?pWr4`W9A&;A{>E37Z~yjk0j?WR^iAEhKP0>&V_0TldpKxSf0X^ zPQUps?q1`K&MpV|2m@Nc+1E*uy*DcOgJ!wm!jwRj(B;<~g_0a!O)U`BGlM>=rJ0v&_%4n?0FKE4zz3{yDbjnh3h`ybQbn--t@5S>0jPiG*Px z2db6(pPvU--#a{;-Pxqg6WY*uLfLb>=)Z6qQZPEw7&iNvR0s5%x~s@QKdiFpA$F1!VKzc#t4hH?Oz z-$^$?588&Po5N0f96K$Luw|-7XJUVl@o#L5BDWcGs_iqs(ykY!12Qm!fNE-dg{;y& z6Z8nNA@SS0w9jAvjB2~0xHXm5Jc!0_oh1f#-^AfehbhAe+Jd03+S^Fo`>AD)IlAXo zbN{+5?J?ETBGPr#sO+@R^?@wd`W4v6mv7NNa}g5u0dS@S?~!3<=<9XpN>7h!BAqO) z9erVR%Mp|Byk<6Imoy!deYx0zTUu={y+7Tbx7B4WIsUU23}Ykw$@K}dIjdCW6EGy* z1!dgfYmCp%5vtYCVLOdoEPfe8i@P&J5ec#p1o=WNBlxu@xIKNk&$^5jrE(kM)~O0PWHnmj**3I8R&A8jfLbO7_r1*-Vs9N7q^N#k0s^P1euCn z!HYt1Q32;Ctr~fvC!%{UM&Or4H@BwQ${I$){)0qbQ>5;Gv~E`Il;>#5+%Y794E4nn z%!;rGM@!hU-b}Yy)@#TX+4aYoz@`d;MsEQn`<_raXRW=>axr=HY>AyDQhVhPd!;MQ z`7OOJ48l%w${ByebtmjXyUJ=%Q-l;pl5AlJVKXo(cR^wAD$F|$(PoLy)WgwQ1_Ej* zP>XhW5}rSZKk@~-kbu3chvlja(Ezp|I%3 zh*=he@0a10kTPi1O(~St$~-{pa2D((Vj0GRR{<{xTB**q! zIp0zLXDGRz*170GpAMG@WflpIp)WEO+B_%P4udE^xO~--R;y#81TCMkCPLaC9K^1k zW~=}5y$Zzbz4(Do;CNzw0Pq^!+pyz@>>h&a^Rt_kihtK%#jd+K^t0<&U0|Z>>m&|G zA`-ByJZ6*!ynpzbK z{QLvRL0K%#+^n**AnUXot*@nHO{95`oZA~^c63BS~LcN`FJ-^tt4QAMkUSh>mXvCHki8yS)pF;uUR-!fsk(Xm)&0E77r1euU&%rGOw?=6c*ZkSIt1 zxsAf%@=h*uYDeDkP%B#?QghQ4|9TTWy8~(B4^*Pk97_MvAG#mOZ<48R)DS;wPv*1h zi9YWv8P#&LeJH2hV>H-O!x5-wj9(#L3vjuTU2@}|zt@`L%hHlWD1M@@FfZ~8oQTX< zR#m!PsdX2mWs>b;+fezkzgy>JZ4s3>EHErXfud93#8k>jL>hVd$#F(pU}abjquK9| zs=Zw`$IGGR@UU>mGd>LCh|ft%0y@ijzR1CEpM`dGA9209XnglD_ZEC3&ynBXf#lEb zAPvn=(G}$hfsf8~Ilq@AT#t3wLO49*O{hus9ypEN)d8_#Rc6jMPiZy{5A_>)S1!)7Rh*vG_QqIE_4OEI@j_38;axbJhNz0i#u0TV;G=n_M7Hnl zNz5Dd>BC$V$h9UYNB z04ZNTZ_gEEn0pZXvBe6e!q(Q+@|^v(Q_ZWZ9H`T-Va|+hiic z+4Lxh*wuYwE(iNYOZ`6d^tHzbD319S<@UM}d$AyX^EM;dS!*9(qkLsJwbBt`I2>bTi(>gy>y0&pq0t9v)Tb$Uz`5;lXh1KJdw0?tV!8;HX-pV zZ9}xzse}bt6_bsS1>VD zy0yRVsO#2M-;|(O`|?)@gc{W#|*8R6TyPmbC5?1CA zBwFGvBnlHZ;CW_3Xz_WGma^GZ4L=p3#G$0@Of;UtJ#f~v1%96mi#>AW*n55;G*{mkVd??FQ>7qa1>)zT-yFB-g56|iyrkQ-!L zI~37$+fd+XB`cZ>4#qOW3ebbk5{a+^K?ATSJNxqTC zo~1)O$j1&=OU_E-F2|)P8}M$vqciSM>an??ijw>Fp6IloSaYrB1dR|_SLVuK071w< zmrCyPlyedu4j7U}ji8+~g zXQp&h@Qxs{2XT=s_6`VG85=!M{HVMJp3ys!N26+&xKU~@$3#>%gmOIDZ8!L7Xzw;> z%g*VOj8I}W#Pj79!LhZ{mgua+%%m~$tMAgkOf_nEH7YX=a?20;TU1+XqU-in>aVS8 zop4Q*M{~^eb43$-BmO233$QX{jOosM2ro*Q$X-Ij-KSHW)U2(DL&SBpVUMTkPX04~ z-bXN)`b0PUqNwx|@B#R&$cbJ=U)VGI0k|u_vFQ7(ddPFhaA}eOiX%cqf;bDl((bP4 zYY)w0r@T+D%~RzPCZFw2pJgs?PXHyT89#<@70L9>RbG8#UH_d(3k=1p@@H;Am^a=o z^DQx5FMjYXU|_Fq23Afvo znGSPA(gNwlLqng0rh_=~@;w|BsZDCCY6GkowzMU|GoSJ-if%65(sjG>4Q1kPQ zHfnQ?c3k>WUprzK7a3fnk8E?ldncVN*2hvjHaYoB+5JvsE1hCqV?uQRZ>rxBvuEme zhJS6K63XSc@Qmc_80+wn^Js0)Ko5kOp^gw3u3>MY{ytY|bh6M{p&hVZ8(G zsa55Dm~$PTlMvCYh$pKhui6UC$~|#kTT(JMIi!+=qoBS?RsT}w4>OmTm)a;}h4c#Z z^?9?tGuAshk4Mi6?k&}Fk+80dPV;*b8T2tb=Tu z;CV)l{w#?!gOXC39PdQSV|M>mFXWD3X};*Zf#ZuAjl5~B{RY=v<*n6DFWWHeP!_qf zf+c!~l2O5~vKd-p)f`3S!85#% z+CH>u!jH1^6J{`}CNQ_-uvG68>Wf^6s}vjslgsTx!Lwj!7gt$;#rBo~8EXc?&S<_M zJke2;#2q!&En9_ay&gxEo1Hz#-;FYs7hyloSd+6WR#}IcuJ*Qc4d`0wl4~Oe!aP=$ z;4w1}DtT5P5?dJip<#AcIaaY4W!Yk2HDm4WJWd@`EHdErmyQqROdAgK`n@(4r=FsQ zhD$*%IBau{%nY5 zo1;y%X7FLoh5Who2`Gl_s*xaI__r?@D7$T+cl#1)-}8f$*TTG+tGHb*9k= zo2=X4%I2ve7v$Luyk|+5*8U)?vib-OST@4>zQe8Qy&}t2%JA$p8_L)tgXVeH6OK23 zn#&!}6*BkU#Pz&g=(ySXHwS4S;POt8VWR{s5kVyD9a)s&l%Kf({fqWD21Ud&{r4se znH%$Vn=pcDu|wYb3ytG(<%s&T-`EK!R}PSDEukzISnE7*OQR;`662`TMn|+Ked~ZFUV?wLT;1QCK8r|JcRY|%dflZJgniy8 zRdf^5BossW2G8k`Cuz2VQ2Z(faYEfa=gU7qq$o2ZSDv(=1jT8&9T0`X?G)wbK7+0j zt0)#EdX~MYj$I>|7e6XnvvbISqYU1K`2bi&WSC@l^d9@{mMtln?vX7tOwQaJBn;xK zzvh|UB-7n*Dz#fZ~n|XwK+g0+?8rt0F4*M+M=^ZdoM2Z z`l_RKwV?3qJ7ebMRjJfxl{WE>ITpl9Fv^X9t`GAnmHHN&pRem%&^qL%(1Qh{T{>D^ zx@oeVt?(J^89Rx{NlnmFqFUJ92Ho)<@*lXbC#S5~8rg%qD5P%CvgY8Np5`~C!YJEX z^u?6gtm3Fs3{PgIvQ z@n8ioa{j!i<4>BD8Zzdz2qfVx(h3x&-#Y51Rl|7)$kuixPHA=JKAYJf_F8Ax=D|u( z6RZe_R`kW$bC^4O%{F`KNao{U8?J3y-K=OWN6BR2e4boCsvRm8`u_l#KxV(Sp(~P# zK-iAejQlsWO-orwZmthJC>WJbESPP#t*I0$g&hFJdLK=lldZY9A7i=y0H<_sr}m&4hLLrrzAhm=x$?-TDu1;`Fi(<6{j1#vO7XxQ zsX6VPg#sm=&MTSU_pWAM3}F@=JwA%y!@fiah!#{m%62 zTeM5$3I+k>0|OnYe`irB420us_c`>Z<%ecm5JKPs`-;Q5=}qOln-PM7#8w8D-6R2u zu*f?T`_z3#c4Z3uqz@{d;=Loxr9gAj9+~;mR}9ibOYhj{wJteewpMi%4ZoB~3h z%Bxz^@*HHQ510nXHEYzIhB&|jx$RY*W>~^LN|I0IR_ja#%2u$&WN#q=8W*QrFuP!_ z%aKGliuq;8jP#&3(OpX~ELjBgJ%wx0USK9tOJ%AFnjq1$g(PIX6w@VW*YALp4!|(l zfLej#2;^>OBN^$FMLx|rsOBJcq)Iq=2ewv2I(Qd1e5l4YEr4;*4)jM_wGr3} zQ!Kb3G1>W#^!BJc9c?_a-QCPw1YSh}b|Ceo>o@Ong<{CK*$LQUt61@(#VdI#+R=>Z zOrv6_Y5}BTIhoGD?L@em;dy*D*c19tI2Z;PJ5}yHAGQ9%vR@+8Z+4-vzc06HF{RFh z!7R<#h9B0daLf-wiX~xi(K3^b`)3tW+Coz=Hy5b-Y|--W$W>2W$i)fa>t%^~Z@q(*Xa4}Z z6o@W}@6C`bt!*OJKGkeqE^o$5Y{R)UcI${V>Gf-ED%$*uxzG8KN_*>xr01{YhG3s;NX=&gFB^z@XreIjfJdfd&ANIPn~>7-0kkH zbG1m8Ep7tICk*S6ylGzSz&7Z!7fnPzm-n4EXyyUjG zg#!f$4X8}&g9K!0qZNEg?T_yarj5KTG759$hUH> zt?Fh8h*f_Vkf|Gh4QIS1rzW9y7uv1`t+^lvWG&R=rCK7jp3?l<*|EIvS&F=1fXX|8 z+NY5pkP(u`4R-g1EF^>N2o3FsPI;o3bLYN6BdDyGiL@(i9!rU|l{0Dc5JGp4)PA|E z#|Uc-wv6I)6ypcV{ZGD6=|KJ_>J!=ODAx+*WkdLRM?OcC<8hFGN{SmoZNoF$HiFMp zkHV1h%Y+5-kWaN9X>H3djIt`m;ba9!So70=PPw>x^={tnj}I|ymENY z%1_HZ1#0l<_N(n8uO{`|2qp0U07Z{hzfZHq;@Shxb8yL>zmyMC=}vLJp$vM#ipDVt zCq*8f^)|MI!F;nF2ZdCm@ZEX<7#f>)O2PEo_cDbI5sCuX=aG%RM{qHLLHoxk9ZBONC61 zx$BXdrDLY2md#3>^fl-2bK_gv=+=yD=F_jq7fWlq2iGnqwzd{}q*7vHW94GQxH!XS)K$MtZ6}Bz zYb|!h&SvTus2teuw?kB&P+!hty09=zdDL7&`47v`lp|t&jXf#0C>AN-#?CnzMsw(D z<$UWR`zYlY7W#EB;@%(nFPfCvPYY;mccj_dD3QXcLy$@CPkOIg@!jjbOTs`nBg5K< zoj+BY$#nLTH-ch5=W&8J80;ylD_u8|Yb*OnBAz{q$AywJ>yCs{xm?~%=NDV)AN^!5 zKMRXo8k+9^0I$)0({r^cgd1Abl*_elfDfJN5ap^8UCZdjS0ATViEFtgX@}gGIM}_l@xN5vBB@PI*dbQTW;i6 zrabn?xsJytJ&jMbzVi52Dj5#h#(y#1hWYtUPRF)us-*e~hO$p!Lv*B$oj0yC4&Rjp z;|?RR;f)eqPW{K1A{c?gO($hv_q8J_ZH-ZKct^OyiL~Ar(|*@~Aui;sFt6j4y$7K6 zJ*yJpJ!e(oB{w>rpwnA3XEl@8mI_cZFfX4l+JIl%$rAGgJfz?^Oqz?R@l>K_ zYhfgW`Y+`IHvk-K#{=}VSRyD?!#4nub}cORmp-)|v{h{F(bhEtGz zDBlO#-s<<}1eMY>88451hN`?jX{zcvoOV{(Z0^iYl~=hYwT&_;^vyiQYN{EAHXD=E zIjX$LsDH4y_4fY&K?|`Jm6*1Pha^fcr1$iyvfE$l+S=**O^o;VU}usrOCS1iSMCLBDJ_yy%#F?ub=*{l)j|a;fs#WEbw2s7 zqN^XeD;ZJGfVc$xF@s2R8lp1Rs>MJ9Jh>PhcBJ@aBhL73iCw=sRP)5Law6((_AO}|TJJRDs&no#a z58~fG_@V4h1i>j)1cBun@3}PkI)x#S5uD^7&Xr>>oeVQt>RMgIl9SIB)GWs%ZLm5J zPeM1QRwq%;4r3q{kgn$=rafqy!p=ZXEvyd*TxXh5wg@L`NKloENeNj*g;#Zb89$s-Ii*wic>oR@}Cul^V7cJe&(Tw53>!N@{|yW|nD zZG~e$68;czQtMxD(R4eTsAe3~2$@)h{%mJE{JPiE*7pY9HHl@A#5zV;upb~zJ|~1X zni6;DPB;FQa*kZ7mSQ4xyBEm#?#qWY?JyL*(X|^+P0x#L>IOaWiaTQ@NIBfHI_>3b zAFX{+B+; z9B<6I>zp>={cAeozk_4ajd?_OM8w$ZfOlWopH=aclE}L$l3ov+HMt{@ z23&I~#z%j8mBX5Y!EfOS227m50&~!QlyhJBWyX3v%#iB(G}ej-IGB!jTzZKUEBcD9 zeTA)V7z?N*f4DH`O)n(JZ8O5sEwANaW*=_;Aic!p`*b%t; z=CnVDJR51ESTVoS<_E)!wJa&>PTo=L5aJM4oM!ZO* zTt^%h=2_SifV{*Iqa9A&D?{P$hOxk^bsKwKGT3>%5A!E*I&;5IqSfkdFS>@xepn=t z5;D>@;XiF< zn_JTOdLv_GV}?v%sOqEN(0f%%eN)G?`)#Qg2+zqQxaH(NfM+K;^zB*xxit3oZx!Hv ze)&22(Jm3s83VOV994|ZVDdTI`1mjOF~@fBTZrd360k%? z8?zq5zJk$hwC)n&r8g5rZ*OS`4D4~t-`twQehfQt9~|k|3b7b1=XpxT%u4bvFv&Y^ za4TN;)Rvc=GijjQ9#y@Vw%xfG`?CI2c0p4X+t8?8@3_V&s^4(e3vngmYHHCPP29Wq zq=@Dui*BE_)}R+ z>u(Rl0r`6Rd(iG7;;Z{DU|8PiaLU*LW{j}r1nhs_^_g&Hzdf|5vgSF|4rM3(?OR5P zcWJ35wc&~{wMG71g+XY^^vz~hC&r&its0!VW66iTP+LdTwVT~BX1=#NNKy!!ELlK3 zRAVHcOk>ue&v7ieq<0hD%``7EscGC9SxLsnwmr6|^*ff1NdwIDO862Eaz+R9A5Ur% zr`TOzaVL(2=2$>s7&|Kti}KA{oZXAAG-6c_t;y+^jbA~7PFVG5FB*7M_-~aPD;#Gd z(Ejv3@_AvNKMXf3Ez1IWd zL~`5&$z}smIQ~b@+qCBZ_#| zM@bj_GR*y+-6IxrHWi8dGs=W=_QC2Y=%Z_g&iNg&iWzS@!wbqHGPX0n z;X(Yz*X2#7qaw&TNn!>%_r+kiwr?hj1SLp2+} z5+!?fbYj1FqhJrWd{C+Hod+~d1CH!_S4OtZEtguouAgZnmxyL__(HY-s#dMW2`r$> zr8Vr{D3bSZj0PAb^t#}cU%$BO#gX-t{RsKH;Q!Cxc zg)3lgAmZ7sZJD&YHnp|`80I7sjq#ezZgp8_x+ZsSRy&i|>srqjY3Pt7aK@<`3@U+u z1!daSkmg2`B>}sSTGp?L8vL2E=Q|!2gz6x3tHyk!0xCb3qJ#NU)-GPyTTGaE&Nu6d z=Q4>oO5l4?y*v$!v~tk$zd69)2W;(LOLw`tSfWzS#{+6oM=ymWs;87}+imSyN5ZZT zf?ZnL^IQ@#5#k77Adwz27@pZU9@(YN#RTL=9GF|-#|2+XB(~D6XS`|hYvL6wRajw4@l{Kp?n>H=EL zG0T+>Mo4Dd)+N@tyqZ+kgc-8cT3e(@ZQqofmOG!G4%BuXKIB<7)OKw$-ST?}p6gU_!Barpw9=RXsPrO$@Woc5v z<&bO~M#V>RdQ%dR(U5XUJs4wZmb#_zZLjYaU=Cyij{8?6zQL21_@XGfRZWmHkV9>q z{qx^6mAWpuF)%BPkfnb*T#~$uW@nL^i7d`Ra&z3*WBWleI*FPf12GCpug`6%ZW($Q zrG>IJ-lS}&j^(tGe`>(2smqdwJwWeI>KFP|&63<{x>S~vWOMAmW8}wU@}(Cl=K!Dw zd;^;6NZBJYoOE+thL#TN7W)B4s_{CRIfpSA2W*a?S}AF$$1XxJ$MUOGgFl#~y5Q%2 zO#XD)g2XTnZwLqYf(0k?-hsqCge@clF4!5^kb361t#a737n+^CkZICNu{6ZtxldLD z)7;b*w{=F2((J-zPyu!XCjEMEwtCSktvdSjsGe!HC5}8s11lnoV_>@j`qbAIoUwMl z3pf|8TUptCo?SBF+}g@X3_vV|b|h@T^#+-dZ_{JW2x2UIh_NBkoCO9On+ z6@(6N6`zz5><;ApDhzJG91wQF7|E{M>Kc`({{WTLC*@Oxc@-J==ri7xbv4c0(p+56 z;>*)4KrfAe7#Kdg(`5)X@e>JI+vSWLX$WQJVnG{iN^lIGRvY&wqpJW2@lfC&DLs1+ zuH$aMI)`>M-bk5-`fQ%pdDi?kD&|@b`$&+%B4$ zUE`lLmSkI!eQ+}yAD9NLR`=GE&ESSf8+>xMTW@Nfst6;MLB{war(;g8>DTzNHd7h- zF$)j)dyh`kCb_oasfo@lU+mZ^{{Vg)fBw_-sQh2>%U9B%k5kkgF5>44_Shva%EzE^ z*k#XcvDjAgA3R7ikOxDWMg6sot7j#p^}0m zxIaCsIn=c1ID3Xe`c@NJR$L;f~ zSNug=-CpoiH|pREN!BUHHtic{m-1oy)N%P%O2tgxO8%q4uiAIl^nB^Wn!Ng^r1GNS zIxc-G9ji1zmpeC6>rUM@tWe35Cylot0CM%;KT01Li*qQA0VJGlUZyZzaJ(K*vzCpw z{ulV3&eP&OzMp+}4VAq1vqc$q3bIUb%A}pLcgMafcKF$EG|!_ z(PpicW4GU+?%jy``qpP2GOk|S-ZS96%Y=C`_v!QY0@CNbi2b95Gx<0h8?9#ayRCQ`GO!^{a0Nh#}J2D_em*w3Bm!e5|9oFzj>It=$Ow zS+mK5UGrS-l&u#e)u*tt4y+n9-O%*LdWt`yYnE520!S6lRA%0*nl_xe(@zYZAhuZi z?577L>?#hU!*_a5-@!N9UaZlmQ^0Od*LKb3lqPv=+7ud-M?$2*B<63)5FoP1WdYt9M2 zRiDG~g38(G%BOMq{+09Nq$}f0>EghE^7uyzPBtIuUqF08nVW=lVH$=e*}SZFBfWgV zCb2wMGFn3+7Se?dyqU+pN>8XmGewU~Z=)x^t3A?~ISw2F9YWlh=Kw555;jbwfU5Ve@9<@i? zH9KJzt{<8`M_Q7`Q{`Bh<$vVIOdraty2Mgl@dUOSL;b5S$rmr;X2$rUUk*5TSH8Qr zFw9`_qVT7fji6p(umfgefwpT`;jR+VG$`Y1OEfn~H@J{yMkiu@zLjdO8E> z$B-Apz7&^-^v0J^M0@#8Nybb=`9b|n8M*+gjklxD(;+I8NSk2twl=5|*|U-c=f8T} zrV1+v#k$E@^2$E9W8+5I9lKQnR?_hy^47zDX@nyO>s3u#P0mj*Us`;jp$b@LV>Xu@ zhdiNM8#Xtp-Tk!Il5)A_VbJ>4oq1qmCu)NpiyozNA$anG%t-BuqjXeLllm^vYj3FU z18GuS@aVLcF*Tq28p6uY1T<=3~0Qn3$Qp)M?igr3E-V5Eyvo(l~Xl>PaD}p#={+G^m)_R|+W2mG=umQKrdi3AvNmxaOvQM|Xyt%l|;-;Tx z89a{!25G|Q%1F)>^v_&TK-LKZeUf=)AwgD@1?3&d<{9%PaWKJg^U8H!UN5_087FE_tV zpDwfxB2`*15!`ciFP(>fZuC*EQAXxi)P-EB+XJE7(C^cFVxlQ*mnZZ~x6e0*;7D`$ zy}n+xB1mICcaZ@IK~UKGpZDIIf>SJpLh();eqy6J&!%=iKq*(4Xw{5`NC8O$1P`aR zCU`;Y@qny`K2YRm9G$`GjP*2)I`>%9?^x;jq9jaqhG@wP+W@KG>OQo)bdEU{mO$k^ z>##jXUvBj@U87FM-4$gjcR3jJ-`{E&WjvxLl$IF=cAoG(#o|CG<_1FnV6E;!?@*+N zmP{)izs-=}N;3_?GvT8~W?s4GI2-SQw|a{;xD)e9aRRfhR3qc+Hb0it(t~>@5=%hR zti(StRb#fqf==B(y)5(i*=9oO0P<`zzvWL!&Su1NApi`p*b+LAPg>?VoDyRMu=3|C z>P|kLD0+<3 z5F5;=lwrAWG3&h-Tms}al3vKBIbZDve1T>HLOw+9r{z%%oS`|`uK8Vw-`nL=9zd=+ zu-xr{aogUcTR|Trj{#ha450u6*n3npkaO3;0xdq$C6Y~2&hb!rLqtfx#`}!aJD>0w zCgriao<$u*fUha};Airy1aZ!U1(O{^1j>azrVW+9xM5Tlq9LF<#hw)m-57jxQKO>1nn#saJY%!QN_ z*KF_g>53VBX3*Jq+I7sbNg4vs%rec}$jUnV5I%Ja_JZDVC8As~LoMn;(=sgOVpp7i z52*R=?@8Bmm9V*z-^#}dV#8&5aj^_KAH|&KwGEoe{_-``t~A$UAj%$L$Uw)KK6!J~ zq0JGWPQKEuQd_8=XtJy0_`+W?*akhj4aO+2+QUFM7|lM~BWcz?0r6c}j#8U1H!lAG zv7+KlG}vYAu9Ed}zc^(ibw0w8bzysIi#5c5aKi#cVCbjjI(=!kLU)hO`x6;B&iml@ z+JUzXF!LGhKLc_{8y0p&Jl;}w1pR49BUR-K&9(r}{{UK>n;hl{u%y+o0u?f-|#!tqyh+qT0e1tjs`C3bx>{U++&tB=JhKMC`5x%nlFb zQ6^={+!46Vaw!yG{v{oALY^K`JyTd7SJ^LF72h6WJu#u6tib@j)VR8 zuJK<8YaB7IO{8j;(k0|hRHq>v%bzQ$?x(R7{hhV_hMXFCQY&)XMo#6AU#I*4H_C z%YhRF&Qy)ZH*Nb=JG+n^lb4oEyNvW+!2b17)bq3|R>}D+P-_;qx+`1W#7j&HyCykK z`BRR>Z@8^9;NGu&b*4*geIi^7X+&|3Vr43N6Z-@7tb>Jg4P%NgzQLi`$s~gYLI)~F zKbf1NkM=9*&xRZWr|@JAGs4LJJoovQ)0Yar+3MYvvUlGp$@*BkrMz8BV_p{3${cW#g)2~k~Zg8*v0Ml;G^6Y)8$MN@+ zL^&$RbzuElMB;5D;+k8KWpbDW_rT`!W6x&6(?iMzt*;RoT{s@ zqItoAY;2sJmg^K)gg)-`Gv3Vyp<; zBo3@Vr@kIqYP$ZpZnNp~{{V%;-+j%P*ORa(Y@cd@4y|FKmY-RHH4RP&0y{T9a{(CL z{{WeXpx9G4pA-1UQPl{2PwY0ze39A0s9QZU$0n**R956(w%I*JA45TGk;bt=iyUY+ zMO-TVDajyiZc*uzy?p6?ukjQ}_l?9_j8ezvRQp3N54g@ZqMQ-&6O7j4Y40v%)orjC zMRgY7cja(0KU%d8L>ehejWcpsNjc@o?V2;D=(jUR<8mkjXMayx&vajjntjZ1{{V>T zH&$evGe?W%KZk8^ zV-h4o1^EXwht!`+tm`@fb!nhZo0S9ht6G4^Cp@F2DcJzSV>Po1;^BibQ+uQTelVqV%d_%O_S zvqa%r8;h+T-U~?7O8nA3TqxbP-0jeGt~JODmLQ*cpRC?m=$d4DZkk8h)+B++Vpy>o zx%9^P`Biy{KyX1`KsOla>HX^#P&I0nf>!rGc+wCG7U;byTU@2VQaqf!06(=?qme=e z-P`A}-?*vPlLnAT?EH#OFu@4`y56a$x7}GJw*36juQ?AMPI*Bi z3QFO&f=eS=$9dlarp9>C{s<6U{4g#ucSekdL-W^gWGDw2_LdHp~=fEszPP ztUm&pXo{WyLC%fLUl=R6BYn?t)};8sZVQO~+1PU6jke#XuUeCAkckO@3z)d@{Fq=d zwsW!T{prURgJ}rc%mLp7cK}eyV2tdK<1}%sT(N=8H~QTMzLFSb3Ah z@Yx%#+1b8T=`|SMb!|6EzOn^!=1YVtw_uqhgHh(xB8p5E=LvuvPUCL-Za>nz+MFUl z84DA!!0J77>$O9g#*X%K@;EN%3K%(zd6$_<<^0F@?@n4?+1gx@sOk5&age?cT$MT4 zgMts!H5bPclPbJnbNG9oudlUo+f~){+ozJs(hI0RjyZ@9K17Uu)VRwM%O=X-Mv@5J zy`}D;KEZAFI0(sEp97mGBxIZqY}am9D{_r-&lF0)Ov-`CAIveFkCtjijsF1WD{*(J zX){?U@<%KVtP~EU^5kbev^!O|pGvw|%+X12Cz=VBc5U;5J0EYYGEx5kAr(*jGqP>Y zr^6OkcF})|+(~P2F*uK)J96`|7zF-%b*Q?H#+j(4?v*B`d1+yP7bU&IK%z z;?H72pG?wZyokkxgDO<1S0#Wa`AOVVXSohv#kPT!h|03y5$SDgRhDvhhw&UgVps~5UjHN@Wr!p^D+S3yRQ9Bd8Jaz%n1ds`5&z|)(|bL zwWhCgEy}(;87&$ikZ{10(Dn5jR7SJal#KnI$=?EO9DPMDadFV<YZKQaiV z?TmO>&)DM4%I>TWh%j5%6qka8od$f{>E^=@Q4jL~h^-w_0e!jI8 zZd|V1t;y&*)SQ+>I-ZxLYq2V7dTovOC@O~H*(Buz?~L#C+NoNH1n@<@!`j|(UW~|c zL5szVFgs)pd;|McuT7iBxm#G77Fhvh=6+s-e3SDZoe|b_@3gFTy3MJD!R8GUa-W!P zgc^J1J7}hI!&@@u_;v8n0r2>8>ITP@#i%w%xGbdpv^{u4NHai&9XZsCnmM0{bCFwZM?<{qPJ2PYe?q;D^QD+tD03R`UT!1t%F zPbK(y5V#aI+o`DVhKIvC9-g{>mlXE4XgQ^9sApg|c5TZy`xG-#)h(l0CX(e~wL(}s zwmiLwsy7R9$=7c=EUyBxZd55&L+DiRSN&Io_+yEzEn?QKO3Hvq9JaHVogcnJ`AN_7 z163xXtiuSwXcKRab`68c`U77-Zmy# z;krje$?AF@p4GQZ_;ZR;k%w(uxXa}eO25|S)#is$nl@Cqjb)7+@dfNZrB~*&`#F~S z;_$WPl4L-ihBWlgb4TN}g7SMP8gH{VgkyPPjLYGL7(&bM(Br3CYfs^^6UlR{Tr|aZ ziWu-YkNtVv4{UvEm93?P;MLRNX- zn=oIsTey}CpW!S&3HjrCwl=w_=zK}2o*}rpzvYRV)?Q$yUHq(e-))E(!J~XX@k-YJ z0EcdDb&WJjH0sb?TP9jLVmmX(Q971Mz1nLGl(Ie+j`gX5;-Fim16S8%EW#u8yO~C%OWYeuIqv$pQkHw}(6}7#)7*iM^ zkACFQYdcs>J`j>H;j`sC?NlYm$!S)RSc6T9baZvgCgFqQm$txnq1Sp&p<{TrP(<$- z$?=r(y6x>(S>szN#E?be$IIuy-MgQyH*=~*EJP%1jDvM#z$E)uM%+CD;MrK=t|-;C zy+I6(J@LNFFLDX!MQT>}&|lgm<*5%0tIUV`A8}bl*k+ZUF&dXUo}X z-$Kweb&krK%~SlHd%C9>1r^)F>MaQ2;x1&g=c^Q(P*zQo&uo zEwChv()#_5$!3>`G@Vk;J8f>nTeu!mEJayA?2$b?dXCf%+f3w<&9G^i3a8GVg`QeM5hWx4l9@*G~(!9vS657n^E(hJab4KUT zoMdf6=bt2~{{TbHXA>|^X+{aksm9-0ME22;sArUHcO`bg`FhjSJ;N!9`Cc-k%rFnG zeRJok)_exEHTG*z1aCCQZl?epzEu|INJfnK7m^0-91XuOS}AK| zdvhDSawjiB4hJ?j=zreEoOs2#Rh39%oP{H=x3y1JPj#FkyAn-jHYQ__eZk*qDQh=B zD2FUt%oPD|r@ks`#*gN3&ZHh~hfkNvy=rCA?oI8bi@a_Mj#3oo+dEXnWsx~yXsadv z02An1+|%ff_N!^wvqdBFggM-+cKK0TJ9~@HX>|!1XJgIb#U{vm^xN{Ox~`_zYbL38 zri*Z(bE$Eh4y?p?^*_BB{{R4zTUf7jo2ahU&^T1`$$~SL&ds+?_onr7SVA1(3^{4A zO4>mZjJW_2)yH3R^`d$|5YMLA{gNFOUDThy6EB}V8Hw``l_=fVNo+x|UTF4HlCE;y z$3lAUGxY5SS2Hf|RA*%y?dUx}S`4^79OABDBypB+8^*dBmC1HEDjaRUb=$uCQ&(2kYc!Uz z+lg-DVxkzgFON@{>0OB@*%0SklY<+&xU{^~9`4#R95S|0700IJ9-S%sw2`EaMJ|k^ z%Q9na`hTIRnv>`^7Rx1uZ12+xC9|GFM|{RcK_0lFvD^laz{0u)0kNIEDrFo?3>u`T z4J{9qx)L?b)x$|MZs)`08UFyqa57<8x$?|GB=_|8sa_;@mZt>eb_zyvKdlb8Sz|M0 zU>57T^5iy8;>h3k{i$<~2SJizB5R1C46!V)$Qnk%srNrh_Ni$toKsl2K@%`o<@+M3Zhoem(w&Uq_9s}IcGW*rcX7#i*u!1l$PJ0 z#I-Bfmd`5#(*&LSiV)F8Q=T=$1G=95@kV~k@@c~EBxxa5DR8R5G;9w{dyT=UnuV-l zKN8+mmN^IA%Zwjz!?6`IQo_mAxF+%TR`o)UH`+wkDSI9YOjvUv0~k;{5uE2a??f#) zgHxImj`momjXwwrj5n`e^rTA%i-nRfBvFxt$A8wj;H+6I%3EMaJx5NJ9h*V8toRYe zIy78erhmzlw$@-@xGr>d9&diwt?CoIR}H34%MB;%sv(9R5eBsuvA#=B=rel)~2V?Yojod*ZbI zAK>eyWRaLEl7d0|+GNRbr=N3a|H zb5|QZPfOSI_VDGlzq6DPv-1pk>~aqN#8=Nh@eT0pcxuVGlTX$jYZ)e3n%3#FENsN! zBYzs~df<B%e=ux@ek}j5qOV^2IXTHpiP_2^#}J9v`(HrdKzX`8IdKeb;ZHxw}TY3|OHe zPX5%+pL=&^>PxiNkF;{|GFEh%KXX_Ut*swUpMRXJCef|gIL z?^h)4nyPUs0cju$oQSMA%#R8PkiUS3cNzxMR_6;sS*%!HYAaO^P~D-i*IJJtCnW`WOpa6dG2%h zGsW4LYVL^lN?@X=WAK;}H7 z@~pOv1d$5O+x|hU?)bh)n z&=1f502Eg1gSBgW1iqLUmP8B#4>nHt{i{p(dGM~{4Oz806yHe-<{NY;mz%jPK+Zb~ zx9U1vdac4mBxMvX40z{g$lRQD>}vl2Bbz8{23o2Tc`3i}^QIdeW@+bek=}-$foV|>kTr>XS6KR@)b!K4D|VJ^rYx_>3?kcY_hbMmZ~|6 zDLl$f**>DEyS?p=f^cPKWniW<2b9vGe-<(mn=7$VxIZIO^*eJN#Es0PX9owNsP;f4 zj_u|9yo1v|l?Ax6L{qFW;g2zFD~x`XC8tIMlL@%V&tGi!puFVE&4bPlPg;7~VkRZQ zWgP~3pIQd8hNf68-K1=OJYx!nIsTOQjlRSI(<9b^w8+u{<|??rJpt-|l_oinm?DM% zcR&F8P&kfEDqTYmv9gSjxZm`rqRU7RDGa^H=}@BbvIt8LFPkSI`q3nl4H;=8h=G7Y zkN`i-M_Lv!6D@)W8}1K2a=vm#Jpk`hE&MQfW{9he@PCAQVxtA-)7ndHNZI9J6p$44 zKEl1GgL4E@zcR?5cE_7J<=Z1Wob5@Jur>?mEoTfY>&uk(#s}w5ay)O&>dP9OVE+IY zwtWRRY>11Uuy*D->*-I1BpfI>{XexK$Y)Wx6ynjiDWDOI{h;7V-rIKh(G3ejhf-E+yT7wrt`wcQi*@frm&*|s z->f@LUH3AovBSREDmE0{K0TW-3~hK-kZ{IwOtnBp|h4N ztu|nMOIw|SXQ*6%3G0GCDu;g)+Qu(Ad9CB+X#(e*AUlEduAf)n2sy0w2-~KNx5j(R z`<*^e0<6#w1A8`h+psk&RB;H4QPK67FR$T|Wbh?*EaPxP6(nvCU@^5j#TveZ`fO`w zac?8ASBWFXkq1(7&|}xFBI8MGEi7s_v)kMvpl1;-8An|EkAJN(CcJD$V<(wBWG|&( zCmC89bsJZ*n$4OZS(n7!dSrE7!S}^i$`z7OtWrUhkQ3#|G`q_w>?TXryD_A|0M0-$ zzjI4zDF<*c2pbXCx5~NTF|!jUOl%7Hfx*LnD|ZLK%DUM({cI{B8uN#ta!zOEGZ=#> zlmNS*O!}XCYBvCfR`YcPoc$=BzOSPVIc=oUk#2%=_(s>AvyP?lkFIJ54MC^fTwU4U z%EsYUUKL*{Ub%06)TbQ1FymuM<|53B{(ej$0Avt3Y8V4AAEs&=9!Jb)8NlVwUut`pG4iN!j5oKnKzLt6hAsJgq!s1J8OZDT(A`4aim{Eb zH^?1mqRL(Tm=Xb!4I)JhSSp@kH}!7&VuX+c63cIeW0lU>InT9NY-LI9ipw85G8o)A z$SOt%Aoe1wbI2`k#B#BSNHRISDE^%pc#>3=Bm*M@s0Y8lN|~)>94`z9sn5gQC1&?} zz4TDW5d2acZQE~OYQ^~f0RA9>FKNP-WrpBf&M*hbd;M`zf8zfDLY_O#7l_5oqRwSD zv&WKEWnVJ3JxY>4`)lVw3%Fig$*)K0+$v>Swp+>O`E#6Xa1ZJluCK(ply}<2-Nnhy z=Qso8IuE5^I0J-dxnUwgOUg?s`VOS~3Kj7G0EO-~7fD(+5GQgv`&Q>=r`vGv4_xay zgZ-Y?DEV+sInFj;(?6H3M=O(;?Z674qw-}xiFGI8Z93iTFC?;(*av5Y@XaRsdyi0d z-`bkt{{W7*`i7qRXT%;KwbiW2^34*UcH8)(Zz(?NRMu0*yh(AyI<>{jn2y{MA&7KU z&+k>~7_4QGDfS~ZXOBlk^72={-RRwQYd?b1=(pTY!Ft@fMzIaMNezSZVphoV1aXxo zC-AWqUg7>Bd+!q8PzG3J7{{UYtjgp`V+!)D=@jdf=0XE{@}A@6PH^_4HMFeg(zHYI zZ=4h9PMt1aESa`E?7gJ+JRyAJ{2m$nS1%pXNO|y2LJmM5EL6+6^qwTtptz3NqI3Y3 z2bHtvNb6E;B(&BnqmJU<8Ceu77K|R9H|zS;>1^!u;T`S7J_Kk4AVh->GqA_6zvomZ zes%UN<*a5I*!kpUIKvE@y2GGEcso?_Yz{8<>-8mVp)${{0t)*~w;s{#n^RGuk*OF2pO zHGS8|-oAT&b(?YAthN#?WkayS^ELw-*gP4HC%$o$zk-0#wg__lJ+VJcVd^UkaQTyOc*TR~+T;zZ|R?~I<`trD_^293GU z;!}ml^y`CFJ3NhgL|N`5o;=3P;~2?eKTg$N)_g;e5m-ZDWE}qh;*ILSM{qYfH}zc}5D4U584&QfX+<<;!Uoiwo;LIj6aOylAoqKa{pX z@AAzDidDSSC%m)>bqU{6%nmnxa86TqirMgJ{)ycjn0i zV;ytWs#b0t8F8`7jPIXnn_*`=&XZ4Z;&@vk3@Ve3q;w|~nMou)Cd&qtU64)*iJa`5 z+oLmaH9>m9lu(oW6LeYXqyxx!`fVA z{vJ?HKj}WdI+-Q2cqO7$3IGQn1NjPbLV`QFm)lqeNa9X@gzkj0gf=o8~o|%Ay7O%P)hBv-|32ILCt)Z zEvd`k70TLyj#lVA-Ni0wxkA1QtK^_Q)FYERp?6RtJfjrd#j?$DgEJt1#ER^o`xO=A zADQ8h73A%m^WL6)?c9fvXI#{U3|Kg>Nru4+jHb1X2j?-(wMc2l07-zqGBVif*Z!Rs5T zE!^D44ZBN$8+gmid3|tBHtIdrrByl20H5a7Oq$^ru=x4o(*%_03F8BL3q{ zZAuGgngz*hFwO^32UA^#H>0x(qmKZ%bp1AUXhpnGmv28N!kV$u^?fELhfLOx+xeAk z?qTN&4%>GF+c>HAP{}>FjU3j|sOIG6ecQfjHO!JLnA%a1*Ojt2>Ae(OqI8sGLeniZ zw6t4oR{1U>g?S?Iw$2Yz`%#FJYe!ErEN618Hg9sh4#yQ810s1P5_18|*ylaPDG`Gn zaAWd}`H2`Fl`c=o9ab@o5+Gy@S~hM~I3R4f{HcrUdmG1%-Wd|%7?9wQ!FvEl)}4qc zT(h2UOlO#M>)Mf_@kPCgOT)VSC=;3586Rbl3CJqlIhQyiuE5a3DgBXSX=!A441zVw zGLy=#6tQFIN$P3)h$k^ImKov=w=>2<{?*Mi>AH-Xo|G@HA=GWTWw&^oVVC$^4*uu1 zY3prsQ?-oSYBqmuz~yOTU_bdO=zdksDJ`%)**A!y4wz}Ut2hKcEIE;8~Iy4 zn8(P9;uTVuJnPV~8=s{*s_h?K<2!#!OR5ur<=Y_t07F43WOQPdS~y25h7P2X3j@^C zcdg58&&&|ul;$L0)8iWneApXrNc%ELA%^EKZs(VC_(9u0Oy-0<=nG-5i@PKC?KLjZ zTMH({Fda{>bLm8EHC-fleie_|g6vdoTi+dzy$fwH$0ym?a=dO-l^qyU(^~j!3j$bU z%nx7nsBa4Zw4NIx{9fTXc=O@?){~@36qhe?43@@sn7=cL?wvyQy*g z&kbB#v@_|~4-NbNC5MrUw*B`Tde_=|6NpP89eaa~u~28zbjwX&R@JTINMygAu5KmA z<2;~q6Y^TW!}TdsOsmKGF+EbGq^FXjr)WB74e9Zli6e&2)p?|m{{VymyB~VQJ}-Pg zxZXpat^A|pC{@+Yf&`bg!sH(N`FGoD1ABEl z!Y-8xz+06GAQnEusRP%gR8Vs80e;Xpk?o@J1m!{43N2}=E!F&J0)j>kJv-J%WhC=V zJRozPxvTbrWi7Z_UUAOrz79vqt8ydOER>J5IFdmV%Ojpu10=T9k!xu_x2rVqsgl+M z%Nmy3J=-4iZ{pp{Tk%URt0krrf(WbGGZ6n>r1-5xKGsGx$Y9d1Nw}+BVyx zd-pYtR^qF#VE9<#0SQJhDGi=y6jt`6Z8*UmO&bhGNg09rwrfq+FQY13Y}h z4013yq(-X4nn=uP$_fLpJ@J}2u-jN9Jh4f3{H(GsC*C=7aC+cosv5P^_{^m9Gan!= zf%L^1)z&1AIc=tsJwlh<5BKw`&ZP*In3v>max!)}`PHhU`w=FP_J@52pW@GS>Dp|B$kX|n;lp4ZhCBS|j+?^?ETZXw<`Q6>^c~6dqBFog z!x2)!!Pxp#-4@DdqlRf_b^sQ@*q?u4`_%jIu8Q3jLEL?=LBl#^P{4@yOfrl|;0J7< zUHS_5!S<3}8usqtPugdcH!(RRW53Mif_zf58jiJQ@+)$xa*zSXHg^92%}kR1<4e&R z!$p`!c@Pfe5HSPOae(acfJqo5uD~6-)mv4H=JQp1i|N`~x(xJDz5pJTb=ReW;_}*Cc~zrk zVBDjWa*?n&>%9WHv*fr#;IjN-=$Prkjr7M50$T*)9fNZ0yTKFfKg-+h|;)>~P?2a(qek8e@#Dqn)cB(s36zC$XN zz|JsEXx*V`*Z|&Lnt@o#6sZ|FJ0D6j44_~hQgeU->zb!MmtYuzLS+~#tBmi{6*3#3 zgb&0YbDp#@WJ0A&55t;}j(NG81Y-ki{b>@=_>-knnaMJhC(0QZjE_yKMY=_87!d{v z4oM!qr_|J2X6Ipnzd{BGKT46#3FHI<2_G%`QrN}hl1OYnTy8Qt{b|_eA=d;cJAHsw|*ab|w^Biti>_rY)EfCBoFHG^xCA&Z3@TMuv>yj!= z5%bF&P^bZjRp#gq�y)1{Gjg$RIE!M!@zM>s)x&;@On32u8#<`2J`>$1R- z#o(}GfOqC6e)*yT5Sni+EjE^|rWw{z;;ddFLNYOooOjJDfHkdH*k0I0V?D{XR(NDo z@{~J;B=k8a=|Qb^8=~%?@w~@KbWdnpH?~L@KR*)^UOuVfzVpz1TyOZ40 z?JB!8$_j^OB?!P7IUDyC5_t;AlI%hBJ*jS4Ek!&MqINN>NT_kQGK>@Sr<93VOk^t{ z=D-;T*CL@Lz$0LsXRdvJtvZ~%j6iU}YtN}eW-rH11?%Eed%-yg5F zb4@I;a+_$Ad1@`eWo~pMW<7pix6+{L7dGpCbERGmTZt3IwRbq_vk!llxTkdIxwKWV z=8AhaJgMSjG-De9>IQMWL)0uHx|RmGUU#>CXv=TCLXuA)sJ5`eu?sf0<(eZKFZpsQ z9Lwy(_=mq*P}0TRB~C#DZTtIEnsut)=}V|ad87O?M#s#IHeh|TwHwf4@h!n57K&=~kbP98NT@B-6Mi2UwxHw`+^3M^!GwMxQJKPp)e)n$fLge-Fy}Jm^0Qdt$VB z+%*TTef&#MSkl>vbmd*NY*zaD&3fl$I#-0TyU+cM=WgeMjK#ua4OS(G)7fP z$0C*mWKoY}k@cZcJL&f(Ie{QH&JR&qaB^N5oTk@;k3Rz4rdkWgXH4!eRQ|NwdOz5K z6I)BSTrP83WYZ$3Y$S-|89NYtcBog$XjAVGhlAIxSa(idSsmFyyS6gh$KV5Q;N*u+ zzfn@Ow7j;s5BBLqfMXG!U!@wojs+wKP)B-!8-`(noRPf@r>p|@64RpR0tb#Dj6um= z#ws_&gn~V0GZ4Zxv}}Nmm>4QC+aRB`DtasL1o%+A zm>y;^b;T96D;|i+^lrVYOM9uybu$LJxs=HJk{3M&epNcwXG=1;~7^9RIEC>go`5x3BO=SUSd1aZ- z;hivx{c0SNT}f`MEx?J(W!IN-zUGNlvzx%H>zhzYo3v?E8t)qja~S*?^R zFeHu0QIofE+Pkc!%=S`RaJ`b5t<5 zzk0n@IZ2|Ox5gepUj^;&@A#8f)?^O$kz4o<#O%(*6;blRHF(u6oJA>)0IZA#3F;{} z*V<*CoVH8LWM)<&Vu#Jws)5|}%{hH>X=|ojT|s4-;7(^U$>z>I4o~YxZ7y~xf7qh! zO%ayn7$a!z47~ifRanU+{{T;!rr(OR+ew-Oc5Vu&=8a)25aXvZ{{T@`!NhlW=_Im_ zNZvxQgvcDf*XvV`oqZk5LR1l>45N|M{{U}lyH^b~`!cNWOTl5*?qN2D{kdJyJb?&u zbI@(`s5*09Sis9MDDoV?aNzH`^~Y)}XQ3k6_`K3a9A%Va3%6|cq4Gm5!(3+Zqww36 z0bj;I*s;zAf2A%E_S=EZU6w{hkdetP{keENxeTbKWRo1^`VT?ty)&h1acVHh1hFh-9IBq4UfJ|Ny-Iro1js=19H2V_DKc*b%9?V^ z@(G3_%)S`}@`lLVeziK*d0QK(0gl-9_xe&i1h$l_4EkXI09xXpS5iseb@_jKt0rl| zg^|l5tE!MY5-NNXg3BLJ{`=7zX&aN1o6b6Sq{w_&ddQIvJdSzu zmJ`4$%$NG4(rR+MOFODJ4i7l5?621emENHu6I=N6uq#c}Cj<`Bdxv zBA)ue^y_Y9=Yk7gK!*0ulm&GuLL;8TahId zN~;fE-9<`ic~c~U-H&CaZX%v2R$1+y6=Q{G$j8#7w5-w)Sb?6Nlnr2&B_Y<3NEu6D zA8b<#5sp*gLIa_N3NlSv)R##{hAqpkr5f1Ot5b0h?S2qPknQE~Dv zyJKT&B&8u#lEbf*j18%_j2T3&%J}!+^QiD;5mkZCNCX;u6XAeAi>dzreW-F9L(xc7 zyP*doeS!VzG?*?5CICB=+LRYPKxZ9s``3989h;jNBJR#0^OstE&(yh(UXm^O8n|k3|+#gl%&H9Pn*;l zR#8`&W!z(~`*zJmm&1(mA#oVp1dWye4_@`irAB2|$v&rS*Aw(kk(mAGDg`OfXY~Hm znIsXEVC|8UhMlEHGo8m=ai?zz@{ZwwgWEvs^iuA}~r-Hsbjkrqb4<^hPt z+30^-pKF68V>!cvK^e6q$g;S~FZ(giiKzZ%Q9V@|^?RQY%SbOIVq2*t+kdWTNky{M+I_?~A9Zp+m-%1lYtXHv z&k1Ix&@Wnp#JB1AdXH+aNb{RC=JSNiY#)8cL-|$PQ-R|yj5h>=rm9+!l<~O$A;38I z=}v^QEEf&qGZ3uEd&YmKts?H}<$$j@F&mD@YJqx7Ib|hE^e5JtytqcTSxYc{j$k(2 ze@bCE7jb&;oxwjUO@Mck$}&zy)FNBI8g58{CmT^d7rTsH_*V{9B|{fD>V<{_eJW)a zf=fP!p&dkz4OVt7hGcL^`GG_efvmy1#JqNI+udhQPgT??U-1P_P zLoVJnLa<6EbDzMNRjkz(dq*@$zrK=8%i;2awod&hRQFO%D){BfkKqFY{{R&n&v|VG zvfLP?^WXvalmY4eXkE^s37a6WhlVIt20nGuRKz_og_gz^i4=y%nuDK(Wwt#<#S%oy?3|n*n*8^(P%_GI0EJ zNY_%ac3r`4ndwJ0r?j_`c{k>4B9_}U-PFJoPJU+2LVpN2{itEt_$p1OwgJ_2OIxOk zoPF$F92_3Iii>fl#|^v2NeFUBs~*{_TiW=y5jQC#c5YLF)4d7REnV(i(`e(y6b`g- zvBp?zT%xg)E{{mmBDs_8Zj!|m!;~W6;~C9fuPcHx%P=9*`}c;tbJ zF*HknN6XTypAjyu^mvT6tT`oh&y!$%>An}@gB{GG?b1eRITM#WzcK#4l>Y$4IU=7) z4R^@a?BH_;#~~-$g4-NzO(Br4;}gkl+OidklDaq(D;L!Jl%P+D#fctZSABBJh6`y1CT~KpMQDd5)FQKJ$?<%o_6N7p zx_nqh8+#iYUQeZNbmx?XibLi6Iqgwe)W*IW0U!tKy#wIwX6sCbJ8QIQVNv8c^8xAa zSG#qB_SjrRxmFy&pGwHGAEQpI{{UruVM!axK?7nK?mnWVY4APO%r>^6-ex{UMager zL}Js7vougcfQVU$eTet;r*sKo)Afk8NPw6wLxZ=Jj2ccivfsJ!%zT`^vb(aq`z`cx z#VW=RE3PmPaC_HdO3DX2!}-T7Se=QO)HzJf|4?`_QPR9M6IWF2IAisVOT5 zE~*@3e`;9tO-rOe1cWFXZb{7*;Y-~%(o370!l^jI!Op=z9rvIyPFV|;Jgb3&)Pg-b z*CUaxZlkxii!CIafF6M3)`~g;Yb$Imt!qnvaUa=?q6k6U0t~EroE`Cwl?qAKxdSaIovLsUZZm?HD7j zat}|X5aLZ%8`&VWhE;U6Qd&)qGn^05ZS|;=%ytxF;btS?hDxH99HaiP=K0rSo6oY9 zE9x_m{`=G^T2jhHnF`q|d;3>qE=M;p#zuDBdJ0QLu#|Jj4CTVc@sZJ&IR2FGm1#Dw zek|<*L>CP#(hnjJ+@C-wWwSFM4a;C-r>CeMwA`lR+faF|ZzO~;+<*aKJCVL9qlEIn zns4#)T)2yet@Q03E+D*?b`AmYRZ(2}uW|a-X=IU@wm@bdEK_3k?&ZVW+(|z!>EaQA z@*OL%mSW~M_;;%`teKzJZQYC!2T}e{{Tu9>%fbDaGK1rx_XJNJBp>=CSQWV^GK;b%F1UH<@j znPI42T4|Cc#DZBRb_nl~#hJVMo&NwTL~-*10dHLN&2s87ac$vpo?t^9dmPf#pMd8W zu=U=P9j&2wXOY*R&y~j`W4HYzkEJnd3rWM4P0nMvxS3U7_?36x=mkkxt|hb(%D^eX z3=dtp8l?P9;)(PbG~F9bn8A6E9LNxP5Rw&Bm|&7}PCWpo)la!C6nPwnO?{*_@gm1X zg7ye3ZXR7z!f&>&a=Gk5$K%H2eR|e)btqEFI9Fh}Z$=bK8;gmiXS`-ETP36?m>lj& zKJ*)mt>>2BK?8EiN8OeFFK?Y}*1G8OHreh?$eC#*cQFfD4rBumF+YrdAwHwGtx@>; zM$@5`Amw((J%_DC(YU5-Yl$qi82LdySLjss{{YP$*Jsl>t422R+$1-EVO;djued$M zIY$!D&<1a$TpNdOa$A*4dy`QvZVSrD2~RfpIohoncM7$gz>ZRGRz*H&vKkf}h6A{$ z97UqEk)-xB!*_CuOz9kAHru-6@%o>-$ogbYN@W~r;cr3i!r>N~n(rnGe#4sda$aBT4vjF0=1|f`>O#r4QRsh4twW(|R(Gil#i7Q;FgaESZI44&FNgZjzq5TNXar4f z1|k8okUM+`BIlkmY{O&S>OW>Oyk4lz=-U1s)6qXoH_ zzyyW|zt_@+tkK=;5t6c?H^%{js(x$*O7Bv8#j)jALL9)mM^Ry)C2?+Zp3vcIe+q=f#vyLmpIQ zJ9~SlT*j$&YVtfs%Qd{s8ys)A?rOh(cLYr%TF1)S@}uOD?n&xt8kW6oXDXKRL(Q>Z zI(;Y=-lu2bySF=X{tyP|=TRD^;5Rt=K9%@+V{dQ5dR@$yf;k=qW#;@O9OonEO-ZqO*jFBbG!&g58u88UcVkJ7?=!rKBk=O6nwyh|2Sj zyu;e6ax0u3#llKOCs?+YS>c9u%c;td+dtNx(pqb~xZ$2Mvc@@N&ql{XpMJDsP_tQX zvd1L;6W*Y473IEzW}2CkN>^odM7sBo)bd9RLj;Ts&w3R!jUWnuZ{;2E zJDLRg#P{|l?XGQ>23}@p&U2riO0B`hvJHA`9#Cvhg^9o$ZMhxDCZ8TVQSC1xoU-s& zJ|Io3L8;9(%$_Vv?6Jn6fETdE1JQVT^HF)OF9{MB44BRU{{Y2m6Iw;6IWr=#Br??N zZ6-K!!FD^~3S#ETL#PUbrIRO@O}f)=p_OgCQYFtma2F$DXr{SmsOq|MTY?ZXhLKxw zTAi+m9M1glDO?7@T;ihJ=&{RrD!vhwK^X5>MNoIh0Ox+@lN5txuX*N@7cWB^wbI^1mhm&hhV`{GV0a#q{(|}_d&{@ zst#EX%A#rU_!miaZ;*}nvFTSETXnmG1|*jQp*RQMZR;w0hZ5SaCoDB`{{Zs$7Um~q z065)T{{X(3rlN_6k+2Xvj8zWU1o!u+f5Mntsz|cNjk2pa#(R0aK4zsyrp^=oR^e3j z3fqJ7{{TWLW5|rgq~ORz5}q8GRwD;04K+2h5E3?4c|V7nxT({{d22Zr(5z8%b0p$U zbUxVX4}2P2s3akfL_u6HCqwT=*E>asTYwQ~fQ560>3}Ip#U)nC^Buti?^C6-K>Xwa zM%X|3qdYmo+I`B%bqkpzWjF|gWNn_bJsV@a^%Ma>2~hl_0|4~(rz~y~+WsrC=VS+E z?T|-Ltxw`j9O=N^SY0j58QwWaR!^^SL8grJ02GDJNFKEfIJ}0eQ;9oL)hE3kA15Wc zoT?L&$FXniP$lMM zkzT_*j(}oFM=)SI5;8DoPPeGqUuv&+V+7F0BJ(&Y%jZ3CJr2|&Xr1s`yvh!6zhBC_ zj&LwA2ItnLy#os48D$b36~QjV_bfIb`sS7kMv|CHw=l*JPSie7@;b6JVw(cG*TZ9sTHyvj*qOCfi`1w6Vjs(Oh2YYiVf68PL3va_th1r2G3-zWYqktvGIH zUlZ+da+v0JB)ey(IuDjAp{JQ_@5SA$o*b+>Pw@giRWkPC;&J}~Gc!z6pwES>AO`-xp6T;l+h-K~%wMe;nN za*0E7$N=a@+jy99Irf1comW+=b8K$lD$MRr5c^{{VJJzl7?_aRjcpprb-N)Jm^L?BvXAuaki2Cy!)job!F#*c+PD}{{X|ah>}?ZU?k|cb_1_BVsXA`zr;u( z(=>F}mO#eQlTwXz+;={opXWO*&_0Oj#h&5_tLp1Ab{8s(P?aZ|$7q`7j)%6);)?~7`fu2HeIaHo+OnX(nJ{i1hsf@^{Vkpjy!n4NfB$0y3 zFsw(JN2Ls?%R32_JwJtYd!AX0Yi-PT=WWNn1zxysM7y<#W4M&g+1ZNY1JbTqUX97i zl=@<-WWa@&$WF$d8MO9K?S~bQP#8|3l&f*oamC- zZXAU5ljfaj#{U3IFy6%@rNnXqT%0O_j2ha0AMx$Rr4^hvE|SM45VkzQx^kKu#9ALR zvb-qDb|9!A{VI!YABHvaFWKggO_`StyR0$|#y8H`-`bIND(H2R9}9ZD8=uAgA$=!@ zB$G>T4(*e}jnPLkvFnUn%1~56#iHu@yn?KyyP8QNfeBNP!=`bycF#Cv3XRmznCblf2 z&IxU?>p*xi(&trsi>7vgU5uNzF;m!MhN9oZ6T3HzzwPJms#O};7QXBptqLc zoGUEFRhZ`v=KDABK>}Q)xyJDvXM1E82o#}RWv)SB^ zW0l7*Dek_MH$hA|JQwa0nrSszH2a9WfC7)$){A3l_IxN(Q>u_NillIyQO^uFisYzY zDFg9u*EOVRjvfVNZNS^svAK&rk`OY#jM8Jq)Y%v4TWHOf-!<=p`^r@1ukw< z*>kv5E`ES@G*3y@mewv`Dl>t&^&S1kwL`nV@#W`Wp!C|P%2lMF*yy?KKLDM3Pqh%S zwT@D}r|%~iX89;Ty<*na{7#yM_LrvJD3)o+jyWLlniT^8s;K5&vF+`>ZTFn6pM5I? zCk!G`Umfw9ui9xAc9&-LU_o;2=5`~0ng0NND@%oZYs-=qWO9o2jJ#W?TSpGPV;uaT zb4rmkQXRULI3JZvUL(^{8^*Yr%2pqWRVoHL`HfoENE9(klQZD+!*d6SjgG!-{B&n|D$aq4Q%KS4)(;c=8lt@vvFdEH!D;D}8PY)(z$hFE$6tkINJimVY)#>N{2w z#Ts>vg?Ri^p=uDV%pA&Mk}$(8IZu_nzP-gn;opfoQKZ|#ZX``!$=I(ng_ca`A$j^| z8-R1QYsZSMtx60}zTqr0cri#qDj_nnY=9iK8@1uPiK14xzKRKn{30%3zcZhv)s@+N zSJPsGIbJ)PYu3P6UjUxN&C;|xO=nZOg-41ac2G!F8y{jSytv&wq2I}q@WJ<1?w2!0 z-X3Fejf3T44l)fgw(=BdISWV4jP?{_D`Wuk0LS=_#OL2Ml($t=jIqv09V)!3W8=w8 z7?61hZLl}M>q%sOVk6vbfCpWu(prpUa^oB1VwDY$O_cyv+~v2$FWX~%^Z+qCAa)r8 z&GkL0r$P?tu_G*}YO-BgvTP0*?guR~4xV{SDCcJDk&mTER!_WvHrC~GK_i%S9-r2v z#~u)Kl5y@ZesobZb&NK2iUI}Vtq_;%HA;QQ|) z7GoLtb#IqyCwXMgYU>`&%0Swm(ydy@Pm0+GL<2qX{pg`b+ZR4oh_-gb$*|}*$o=S- z*jJHEiJn1_N!#n_Da&65Ga+Nj5qX`7>;~u9e%15m#}A6|aUr_kt`weOV#~{SsKmqz zo?Xmn!=!$#{6u4?TU>qYVnn2ZGp~`J{2N z_CdKla5~p`qW=I>ze!-Zy^?j1091ggxEpLX_r+nq2|P_B;uel9o>hwF#1li;#aRhl zpO#eD(Kq^G1ddOwYQ8KhX-C1Eb@P5q-uA*-;f^L^%Mchp%#>$ zAO%Kf-IkFXARMEn`)ysd5PWs{lW7&zQxt$h^y zJrImWkgB4LDuJ*S4s8ZL@nC1tjukkdQ^t>!^$jao(C$`L5*U%WfZT!pm1EI(!YfT$ z-uA{8R{J=LWO3B<6M^b0dB5RHd!%HR1z>$eRPTNcSlrxr*34jHazga{x=`4Zme$T| zCBxzFp&q}($#k&@!n+_`&by_1FBc>`uada4_^vNVREfIIcPq()on^UP0fl{quEP7KE za6o261#?j*jan0*;Wagg<;5`M2-p$rio24!Ks(zcVn_fJ-hyfxcZrb51zKhueS1*r zwFDYu>QY%cGQpec`bq%6u6C@ijda+&34B@F7>4Y?;8y9yQrg_|-H$>2 zf4zL=##)8Gy?Z0uT({ZEbCo9qEdcDvhkc}K7h^%VNu30$ZLU!> z%h-eHD{9iTm@M?@;6zs{fk}Vg6@c1(hfceSOGt-0g3Ni274i7Jz~2J24i5OAWgL-d zTKt|1{uH{$kdEB`hu*NgOOHEam>S%B6g0~YxuvpZSa4W%9kWraH92En3Rp>H*kJEg zyO`GE5b4V5!zxDLkDUO$u|*|-0QRg(?CbHFZcy#CcxnzhpcP5W zJJ)r~1E}21f6THOxk`X@wl}EJ@Vr*D2JvK&DakyeBzjRawkYw;hEp0H)mv|s6!{QO z;4&1vY%{~qn^+>{=T;yS>-C~~y`tYBla*b7*}678=tMfLsCB_Bj>KaWL|?|ya~Zi; zzBa7sPELJ?^vWUIwY|Dc9PF{XC|ow#AnjFq=+o`q8j&s=at6oNrtv)RNCf8&ksPX) z>+`Q#wYA()-dljIrzAJ*YS(txU=?^Tycrm^(&LIS0s-X%r{z~&DrPDaH|9Fk1BZ18 zUJh9HEBKc^D$S+eCZ(k-4R@dM0gUa@%a#K%3l=cPyccthrJ7w15D zhgOIylO|W%s?*2qJ%;4eO6~su#JxvNznac_ApR5JI?0gWjlM>gp?p$X+u)aWrBI4Z$|?vW^I2FIeGLHp4i8s~>`ELJ@6rb`(C%&IYtZ#U1U zwR(tfYU;F6m9ojC>6~k)UBP>Bw^uRFkIN0O+4JJ$;AP3c-)wg4K>q;sR;zrsa3c5< z0yzXjnbk%{H`{W0<7{o#sTX=PLomA2Zg1`F6+*kFSaRns=agg*o@zF=tm!;E7cHE# zO)T%_XFIBO=Jh-J)7J{TtRN$E#>iLJ4}EnkmshfwykEF$j0bkkHwR@I_3cnwO1SV6 z&Us_Ec^}4Q1cXz#3^B3D&i?ed?;luXwX)`CU`xpE1_z)Wy=&IjpJZ3FpHYS`SjsXU zS5uy#=dW$*%wr_5j+BDdd@e8aGXZ#{ou>+>L(0px%np72zSM7mxT8~!FR*>3TwCTc ztN~%mx8x0H3wL#OKP{ASOkw-D$`T#>^L5;N^rIRUg{j-9)R$3$DJ16$2xIqq=LGcL zrpo?1V8!L+`WH>rWL_SRS2CoITq9cs9Nlr8cl|b_`U`)GKqd=fr3f45Oe@>RjM{6`Ja1K$y4!w@mk8Gz~#F1h!?6k|l(-Grl z4vaE+Tlic3XdbVuX&PO_*9ISE zr(B7FWsxpWhX7=rx!6%FIc#oKpOcOGmm?e5e$Qt(Kw0}jNgz&_O~2T4N|D(H6% zj2IE~8&|_zGkdC8Ti)8~y0z7$H;Lg*6cZE^1N$(b~ms1P&1XC2^d4U%cY|BFQgqZe)%qZDTI%ADxH<3 z8eWraHkqRdRz{P=DLmNN2O#-Wp2Kn6(bvazZFnKc$H}&Fm&EQ6;hBtgy4A0Z5CTY| zkVzt*z#?SxeEJHcUjG2Zj|Hr+4YjthHVDLm-BdTJP+L2D;=X>0z~2jq(i>sBa}?Qm zy~y{dHk>DS_MsH>#T3UG1oH*Yt~&gx?0B@re1YvE_3yv!Txt3VP=?o= z2IJMF$6WSY;8k|^Kk)VOWVU4Scah^63JBXDG2iD-!NFfa-jA}2gxyL>O=ULDhT`Ym5mi&2(1 zA`5IIiCm)w>cb%HGmK>9`&ZKZS+D3iM+JZC`EHVZCP>5DOBPsMvjfPB?nuV{H_d!s zYdhQO^4xeTk;yMAf^b0Q>yOhkTU&in_R`Ybrkq&8Beku&w~{uHhH{J33`S4AG1jw^ zyrbRhx6SdVijBmVo(7)d%D{T0Gs>{UuBWtT%+rP31;p-?N2xV04!I~ToJ;@hImrTLuui; zYhb~qjv|5b#N>ib{fYLdoPIe%Em2QILuN~456X*a);B&1%(1zQwT?UO?j-5hIw;V4K~ti=zJ*TSs`PB z9kNjV^o#8>TNibAM!{Z8e-JtRh{x+%G+gDTSF*fq08NSk&{tN>1CR&hQ@(Z3J+dm# zRK@rrBs{xg6t#qw+NEQr-=!@h9-Gsn902k&6kN3G#ySB{1jg8;PXEsRlH z3v$E(%r7(0Q&yJc*kDzcO|j)o*DdqFp_H%`RzTfU{{UKxDD(PMr#Sw#9zmMAw#uYQ z&N^*FZi(mzS|K?&IrZy8?+=uLxvP*7Egv)dY2xcWM~E+Bw{Hwuv9u1y1)UD(A2az@ zFKwz`$1TKfIdLJ|KBM-lhsTT4dGRY*l~0cF+_XwZKokLi`Br}`G@-dR`HI82KJO;w z81~W2>$h@QSORt>PfBM>f$w!Ydty)CNC79)zv)SmCSFi?B;XJ2R}LHC?M}|-+f%$L z08m@ODogG#GuUivqaV>Tk~FV|+UwbBi=$jgn>(GN=0D{=Hpj8)kCk8VtyO~(xcT<1 zgGaS_^@yTh#14A;R@0|u`${lc~p{Wex(ye;DBy5GRO}2>yF_Imb*kAyETF~1} zL1vMLzymFT_>Bd*vGW?CJDhf2g=@i|TZ59jYtI-B6ro8S3H|EzscFH1B>?mQRc`l8!yF8I zin&$lOJb!_A5YY$vAOXX4=ETWdVJ{f@nxI|nP&_C09mTkwsNRAb5Q1nHU9uM5a$~b z*xsD!g^yrnQ4H%J671}uJ`8i+l0SoC^(Lr#$HaYd_%hpC!)}N8uwB11wLhs^M={GU zOpZ~UVunc!aKvIG3Eg`d(c@Fct!g=9ChectE*(n!?#<1|itgXW2QClNjallB7&+!i zqQh*U76jz)+dahzntN#WM=D41nuT$E%_w-lMh9jC2DEzj@USJ;*ON_);s&D*kuIBU z9E)Vkj8HBV^7?`7PkN)xbq=$tHQVW-z#AweKA-^gWjjv zD1u0?>?d42oQxFjkLg_)bl9mZ_$-$iUWfh<&v6aRGl?T;q=S`XNZ1m<+skz! z<$~D?!hqu|7&*d>4)k_dt;M8~Ln%d#Rg}0>;tjF5&whZ_XHA1tyVNbDkzld3iq&~h zW8_jm+>!_4IQ^<@w_0=E!wsRi42nZaihMT7=y|^uDR##%DUGgJSP`n}(AzB2rdBxy z>yIxs`3io$4FQi?y|D&+W)RB=D5QT7BfU@8Y{-0z$sJBk8A%7<>q4GedwXJ&G-&Z3 z!;i#1e)K9mwDuc#Dwp>+dX3u|o#mC=EJ-I6M$d;Y?rp@vCXpGrK~~O9OokZk?%wCX z$vDT;MIp_5>e2V484^e8PM*(#-xKP z!rh3K1AyNAx$pg|cN6Fr0cF(fr-nNm2T;s%2cg(yzEx=9ceTCN7W(NC-b7Uzcfljq6#~}CCB#U`-Vh9?MkE8?iL|g=K+7RAv)~S1!`B}wIm>zi z5llJ4Tz9T$j|H5vnc*q-k~)&^ItAv=zbCJ2r04L5=@a7DIc1>Z$edOYq;ZeL zn@Kc<)3oh6J2G*Lrd{JcyB+;2oI%823vKj7(=2Tk_m%*Ud6rqFay-qP0uFOnb^X-W zQ!~iy%1*%gS1e)@&at^56WW}((1dWbL!74bAmn_Tf|=Qg|&?=EhywFYT!UUp;3tjtc?*nFt344Ex; zNP~G#hyamTWgC1Q`(}YIQ9};2PfV4?!ZJi;aJVWC?eeCztO<_1mP2lJSTW$lE|(>w zjDi@J$s~`@)6%|-{{V(A7qiv1+ukD8?O~m)Q3bRz#0spAN%1%8KnEU#`&Z36JS%Ig zLEzkYf!8s}8yE-sZV36;-+u;lyGwtDTt513zk?jsX(Xk9=aNmsGhhtvHul9LO`>e@ zf_y_}e$Xz5Gc1G5Na%mog!n)Xm3r_4p+-Q;M&Y^HghY+4}&L6{{RW@Dj_WB zsW`tNQwS%eBf) zPD$p0UHaxHx%lplwi`rdI9cf z#2qjw&>|5CUCw@WCf*ieHr~4wW=6mnqndS}Am)BvW9o1Ry-sk6NM4&{s0Md@V<)u} zckp7sBuIK>^d7(3xSkwq%zVfAK|7QEtCrBob1O+9Apy(3udtxMKqtNJJiQO5XpM!bXBZ#aov?x_n7WLwW}`OnENS>hwIb=Z@H(`T67hwL4~~>7 zdvHm>=|tvo#QC=F4MlY=vh7rDx9G751Esa)US$M<*V>q9@Pn9V&{2g36lFVtJJ78{ zRZR6KJ*q2{lMTdyd21EJnGrcoHeY(I>vo3SS)M!v87Mt5`rM{1tR&INuJh4aA ze9vmg_04xx)+H}_bt5Rw5HBehvpLOMd<7z*(adS~8{W8RN0nKHISY}LuM$ry8Ta<`=t zy$gI?{QwMm)3)z%Z#b4GWntcm#imMync{9$IBmL8y|mNrWoU94x7CzH%b-152g++h1-6`cK$;1FLO5?c3>9NG@(;3W+oFD{}5jsy_hLz0#KVsGTgt-p2maw4iU@H zE=vaHB_d*-L8tWF2Nw$af~O;DKVe~Qa3qng&JjT?fy{Du03NvS=~Eis*52KjL&#K+ zT?TWG)DFkswbu(}Z;7FjNT6dGX&uN?2IpW}SRRBLxEUW9QAB_4KdMe}VFuz7g=$ zq7MOD%P5&A%g)$io&3Yi>Au@n&EE_E0O8|^lZbR%opN0|<4zGHY8GbX$0fMt^F%PL z9Q535az@>2>-9F)cF3Hu+uO#WBaKulqJe;*dI64}m0sqvgf3FZ>ymJz8SFDc_33Rq zHil`Jn;(WX=5Tv^0a0}=V9l8AL5&W@`ZIrF`p|~PJC8v@0d0(O?b~|cT>DdmS2K*~ zda$G=#ATxtwU6nVUIub{(ud3EOiYG^tb1o0(}720N?%jjloz!UWMD{AdVaMc-UfCX zepKbHv2p<&ccWHT%9z0BZo?U=$;k~_S}a&Bq@I9de9>s4juq#SbCc0eOxKbUhs1DC zF5C96MG(1>i6LX}@9ZdZkg<^8H%-XMd)jNp1_^{4HlDlT{kpBtvmyGV*~%6+}5jatfB=MqL*SWft3y=T@J7g{y&o&wyz z#0T`PCx`W`U1r!Rw{FyE=hE`)pF8XOVADZPpGRLGc19JhzQ1cg?ZjgTy|?yB=jxIIXKw%KK1OCMdlf7 zZfk**F2cDip&@5;u&jj_DHqlTZzl+(WQ>gG8v$8g#I7@21#1mC!`;5jLHq)r_?yQc zVkb|qaMuhx$FdK4%Z8VKJia`L&L?m4oZ(68cRrrg=)F6Gh2Cg5#W$7+lf{-smS$&n zIc8(lkjT8pI3lbopk7ZLo&=FdBRBvOIlfsRy#}7rc-V(b73w`JYbDy$TEZjvU2t+e zX;8xF1x9&}6n8YF$XsHbjU1IK&!W`?_H33vadCSXFPz4i~b+X*d0w-<+CAqlx>QKHME(?$Cuj%qq{@n00-F$ zf#vzrkiby$DC!6!wkVbfZdq3cpgpQYR_fa~LOWD@jAN!USZE17i%J1Ga0f%wQ+D!8 zYjDLv7dvFHYPZ3r$k4Dw=RBlH+2d0C}U0tgS8;GSiASP7cy^ zOPwmyQ-a18GR7P;j%HKbWak(;6>XPHitA01HMbJT>&Qa^<_5CggZx6aw`W4sCB#<; zHtgqRlcz7qyLhVAtmj)JMz{{RVi9fFt8)UqCICB%ax zJ^b6#Q;Ks{A^$tnBT ztl`ff<=f8NZMScgY5F$-@TUnVp3h0MW{wjXosA3EuO z4)~*A)lKH5J6ORg1!Rnn+?f16`R-4x8P)z1HN>Hk=*01iG>;$S7~3Ruz`(8l0EeQ{ zAu>w;0A`xvOp$LJXTx5DC$OsarDZM7u@n{(`0?9Fz9dL@eB&xTfXyNDCm^EIdNV#0 z_)l;4xJC1ui1YW{t;)FTk5itTde!!XmaS%KZb~5UEHz3UAFDM^^b9` zsc~~VM;kJtt{a!VeNo5O5$ZORMHxt=Bg_tRf7AQc7sS5|bs048wb)3na%CXE&C8Yb z$?iWj`j36{59|y`(klkr3$1L?pDq}5dGw;K<6NK zUB>-S%BwsZ@NbB2We=#EYZ#k4-mls{8AjV zu{mZvvQGO}yymf{WX-bcqu)K1!cLfM0;Nwv53N6UeJ$j^B&-vXClxQ7 z&46|ytK(oYXq01b&b)ndQPA&B1~ffHc^E(a=EHQq*L0uSXFzHrmnL zj4dC4MiMq+G3!JvY>6W|0;gJ81t4H^e5kdxmng)b9Cq)Tp2uK?X=)Av0k=~`(lmlF zS+H?{aY>ZLZs+^%K)^2kn5dX8*c+3z z8L_uZc!Z8O>ItUf0`f2I62}%81GYD)-WpstIhA)k0O?F$T$!ZuoDS5RX$)*+U_o88 zT#>+c8=7KKkb2YdoNr7?`c{f5vLuVtZ&4>q{{W>CbpZolesyiT9a8}!$nHw*c^<0lrHYmZI?A{o&bM`8KKt} z`N=gwmJv(7vjiQoXcnVlGDu$4eY~>=J5X!OJo5~8%?L=&@9YC-%R!8D>GvYy+`63S z%6A{@SKUg;f=4di^bY#dAo+1n(vrg%q~h|62L^Ffwy2F~aVIR}XHsxq-`M{3a)b!s z1u}!K)r4v~e2E~M-P##Yg08)P@m78pfN8&ZyBW`RN zJ9^@)TDHAtB~;Vx#ljZD7A05n>sb|XzFUE>4nmIGGwD)mhmvXCnrCdWtL~kwXqVbO zsMT%bH#S3-1Op1)2H!kx4|;=jYh`}?!Y>4zd6BcfxWx><(Jo;e@u!U*He}y#aayWQ zA4SMnUEgJ|SG%xY9(`8KMGRt2M~P5n3G4y&8-gn_x|&K>E_$i)##WA-|Mh z_9BQ{MhWC_PT2Z?rAI(QE(SB-(v4W@@kIzC{{lG8$!J^yvHo@^a*ph41Z5+v$=i9G+l$gGbpKQUFc4 zwiQ0s*BHpgXd4=&N3yi#iB2%%y+gauqM79?T~kOug!>{aCP>%Ki^jUGNK(5JOCTWa=>7-s@t56FXp54I`oDseNVSaoi(Vtuw6dRBORl#X)YvP*n_tyJ$LSEMUIuH*t~3zM8y|okY$PY zC+kq`$CgB4kPd~yR<_zBTg`bt+U`>_%@_mCjQLcIa*s~*ONI1nZ3@Yer)lPM&hp3y zHc!i^y-d5*B8`hLa(aGb4@w7nsw9e4AC%yLG1T@SGga*5zY#50#&2vff2agN(Y`=$ zF!f%C>NY=0tLwVMDMSTJb8_G?z$d*$yuK>D>^!+3lE8)SzxApvwW+_3@MJS%V1$xM zJK+3={{T7)>7A^zm{fxo7m>VT=3F#oiz#Qp?}A74q*%GQpP!QhI|?19Sl(Zl{AK0~ zvZ{@gRnJG#R^1f7>^oNHABw8mF}XaaW|1RLf=>uJ9Vn~{+hK8DLCUxQREUn*z^hm& zwk-i2e=3-VF#>vnP<+JgQmsKF3_6M|5ZNUg=T4`XW}AX0Yyb%!v_jt1kMNW31r`O3 zBxIcLQlPeG#syEcu_1sXEPD;j6t%E!ZPWqW9MK#Ox3f`%rU>`Qlqx; zqr!M#`jw}N0dar{@7AXvh)5wqNQpri9$}o)rj=ocV0$R_t}}%N`u%sIw{yI$o`8P{ zql(E5;6%>O`D33`NEkmlNh7$yH8RHB%KXfykYwb0Q`Ut&kLi}kKK@a*JfPAw3$rT) zO_Wlv?r^>mc|hA^nu4R5xpUUJe$Et%>@WrfGILyWwg%vI_NiA4kwhawh9iBd85p8O zWFI4S7^YZbe$@Npe`;Zf$r$NZky`>7Z;?#0ijj`g+YRZdfXK|7bm>tqU=JA~L1EK0 zMVFZW0KMrBfQ%mEqFY!wJTkj1UW27Vo(ztZdgj=s<8}S26p;*OsLnVnCz8K)0pD!= z=tbqONjUk{vUoB&R12G2soIpoMJn#kC5|XP-G?@OyVc_6(+8*NL+)&W$RqpEhK%n2 z08A%4eQLR>=}fX0L?DBmt5u%B9kKb)%e^gIAg}3DOU%_XBB5LFW1V##EvARn5s7> zMtO;;b~o?InF(F+NbUJh3E|XYmokFN2H|>sRW{!4)OcXLkeuO_$9=cY(yGphFDSJR zL|=v+)Frf&O`3a)VQ}$+K?EaU91))N5>6jmh+~$@aCy`+q=y7#XRk_!s*x^}b;x6E zp*|@c53NtOol?%oLJ_{@IZB);*kBJ)?^NeXH8}k1Ah4Jc^Gdw7Z@q!Q{$MgcI%+rz zXFF|*wye^fmCLR&G2eamsfjhbU@XY2ck;4>&9}WF)gw;7R9|SQ!)$gK8}#0!!5oU% z67u!xbG2KR(@LHvX)Tlxa5)Arb6!m!OOR!vX?|V)-S=$!=l2t&E%>BZa@OL$dBgMzQGpj%#Hs5Cmul< zAaD5^mct%#%Bl{){{U(|4uuH-{jTFXa`OR`pQlQd4vA&rbI2r+4xo?$?buK`9QpMk zp*piSm05@VAe>XSx_!)~a>B|xp7nW)O|y-;gej0a=BC38G2JSn0gPk+02CRM6+cso zUldm?IAI=6SRSDUaKW97EOrK73k zY?3`duF~>n+s?Yr8X42AwD=(qjXk0qqs$X=j+qrXrUbHWB!yYQr48@ra41k@4jhryXgfQ8wt&Jv8g0}5x05`eXd3r zXP23`!5abV{*)h6)v*_e$uQ<84W78^xAm&Fqpw>F#Q?uJI%qb0L?VfE>z)@k!~0`SkvjFln4iuByZ!7Ived zBh1_NBcSPu2kc5dYcXD!ju|DRnRyrhbAXuSQ9X1s;bn~8{D$|8=g7}%1T`9cDfh?>N1m%qa zikh(zu%d}%2X2(|S`752U`voTD46y?T76>d0isK80NWp0b{Lc}!sJmXi*q4EYR9Oe z7WQFA;Cs}YXqlKQuIHvZ)q=vxBt>%?v*WAoGwdpS1Dt~FY#veMLx4JvaYf;r#*{jwhnD2x-_*9fKnHp9@;Nb8DsA4*C2?_ACqWytl-54eCK^6n2xDcgE#Soy~< z>r0$_Afqe+q>Gz76HzCJuYa8xYj+(tre?Kf1mtsiVyimXtV?94Zdx66rYi&G2hy$b zzzHWC)H!W|&eSY4QExOj+>#J}R2uh&QSv-KwWQ5z4^dH?%n{JghK!c)h22zz1g3IV zvH6Nbk?L0J6T!*=0p$ar?YP)hsU?b#e6HIjy%k-%>x{#X#pO~K}3T!vdcdOj`1-yX$*rBuVm9u25V0|f4;>GwK9#qgC)@D~2 zDo-ajm~{g=!0$ww@uEnIvlS`1E4Fda(-QELDa=yHxaot^n{69diCI?U$PV6d&Gf4B z;Xk6xdEc~6wZ9ILs(uDJ1mNyZLq#nwgpOI9gOaO`$EQ=E>&;r(T=3=1aCW* zU4ZFsmeJdx{fvf0HQOWS}*wPn6Kv2g5TpS6h+y}V`a~C{{V`I zdBiITm6~)1lL|q}>rUJ7a9F*-{!$k&P=fqX zQEg`C@H$(;EP;jssxcYQYUDac5MFaEaGP~F3evVpf$jeKR*h|^MISFBD&wX$scCMD z*j1|iKB#|XY5Ika#)=et6E*2Ws^85bsQ&;iETa8za%kq2!dgb0fLqx@hu4>SvT~sA zHm_s@oC8;5T8h#sO6g0>AtjVZ1`uMFAdGYZq!!I3k8kTm)DGi*8jXOja*s-0cEF@( zZk=elgWN$u-=%x#b4n+-TIViX+KZ?yoWVK9)an9y3g<5P+MGoIRN#z+v^GelG8Jc# z`D0bw`=82=Ix8M-PzdO8(ue5wi5e{AhLM-s%l^2jw^9h>KBuPi5?Ns(4KPOK>5Yvk z91?JM@4Y}R<|Ln;bzJr)jy1MJX#~m0+~m`1jP${%=`kJ2`I>QL<;xO&wLKamC~|2z zQL|q)jPjI6In13`TQD7(XDkbduh=?X@`q<F42oU5I-IXIMKBPZ z+=~<;RFOi<7X5`TLe9jt-qe6Oesw5@bYr!6W7BHr$EV7>@~JrIdR222pbmEHQb7fU zG{94)lESYdyBT5YNynu)!!(=`^P>Q4`gHWJ5!Y&QhqWget~hA>QgO99!{#X@d*-0w zqA9jrx^GXBwIQ}0&2hv@VMgkp{`Cst%}L5_>}abG^rqQQTx~-rsRo-s383XZVS`a* ziv*l))~r)T3LL03DpcngsFKBwqKq^{m!{PkNP7BWtF$>VM3MS| z^zBU;Mlpd!ULR^{p%g6ym@VK_w@PWP$EVVYv|IlGYD+>0??Zu!f=#gBr6sM0OnoS) zgV>7khaEwv2od&0BLE8b*q47G%@+{=0K8X4xEoXxfG^k+x{B}kY)3voew1WDGmT$-)CBnICAyNRLa4Kjnk(iYl;TrI|zYqrNi9^&lF1APly4P6#P+) zbg7V_Tz^^QU&!k<)8*R3`ll&m|QtAQO{ zFF{U&ziMPYM_TA?@0#obl0bZK`ch1Xp+A){&)e3$%|wtH9p>Eht{3bno@47?<{%N8 zECSf+YEL#Pu3?{3TqNh(r6Mvt%}M4bG=WM{?L?3wm*u@JM`84?DBhe=xT!euuWFNN zZr2iW41tW2260S`_4K0}WO%mm6r3^h4_s6-Q7X{|rLw0mAY_w{=c%aENYc5QciQ0p_&N}LWSRy^`h%&i2{sgZT|o&6B896gZfnHt_rU0npq?N0AvA4 z6-BCk@cr1z&HaK+L8Sz!9DHL zyNr6*2K(Z>)a-VyIgtp(AmbG7DF?19>MOCf9jOFw?@q8Zf+(^;-aTm~Z=ST_6owe7 zBLif8E5v7P(#<5)kRXad#(uQn8~TdjU(2m=!)0j1oYfj zyd&>Kd@j8{b|u@EPqr%?#%I#c32 z0ktS5Jt%NbVJHrN(w~gtkQdNWz&@27PRQz=vU7@bF#~Pslo;E!IK2SgyQ$5Ns~qI+ zJt<)P>9rU%wcEC9x{GogQ-Mk?x1sc=f!yF%w>|1qNOBfi9@Wlm&fRG}JJ*0d^j$&7 zqQ|v+CpFI9E2pha2yF2DRH2^xSAgzE(v+jMP6)~69)~pI57v@8)2g}NxPzf~`O?&M zuL0>xKno4=zCKmhBzD>&z>(>Iah>SRrz+blU}KejMALEG0E3jN0ByD_u6Yxe82*Nb z$vy@pAh8?mNdSyw^sff$dghiC^&*`FfNb)Qr7QH!Z~`_Iq3=%?d*&;+$@Z^fzJ68E zcJ`^s$mjzY8&WxZ+1nJX=b^=Uzh7!poqQKx zVjQ?Q8~O?qgy(LxC{3`y&MF!^BX?+3!8qU2nCrG`Mbv^o4nOlz=+G?a89Q~Z^c1vH zj%*xvq_6~(Ss)k>r%=0=}F}opm0GcG(nQxyD9$k)56QPK2%Sa z<(f+;GVem_L8}-frsU&#L5yT|6iwgIk+PoqQigHrDO{$zij;`RkUET4g8eCc zq>R^;dhPVC!N)O50+bhQQo@1nU4w+G=h~bD72WgGuS#+#^SP-}$r(6`Sb(D^r^<}S zYi!V`JVE?5##EjCY6MCK02@@renkOJ{<)%+S~*K()htfO0QB0TT%R{CX~wuy7H~PS zjjAlH9rO88;|3Fv#axhj8g)iGZYe9*r8qvcHccpgUtp*7_wR8Y$mC=lJ+N6O)IP?^-bG;+zE25_d z3S*I6U&YqDocFI|2PUL~MpRqxjFF5AjOQnM@nU<|KiRG%fU*&R)KjYJ!x?uB(6oi!b-j~b|N@|utXyN(NG3`svck5gy;Iulv->zv6xfsBwO8)@ATK6w)su?*W zG<|8dOdaZ382sy;r1craE>Q_j1TvW3ycGIWqZmCuT0viJsZJrO3^MJJ+qER7=OUzX z{&m8h_@HPm#BNV&_aGexDnVVdT*tL`4(u_>p2E6RcNFPS@~>mt6eo5Xx$^jDMtH&P|3;V$lElr*B@H&8&_~>NjxxpX=5EdDIj+h(bH;%PEL?3)!s|dTz;Cgydm5aPlcTTnuMd@brsHv5&!*zLB#K;fSD5Cx b@7BG(Hm=FpIC}cmb6&^kULU1#*+2i;)w)0f literal 0 HcmV?d00001 diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" index ea1795b4..42c74be9 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" @@ -44,7 +44,7 @@ def spec_transformers(methods): if __name__ == '__main__': # 看看图片变幻效果 - pp = './food11/validation/8_248.jpg' + pp = '0_106.jpg' im = Image.open(pp) im.show() x = train_tfm(im) diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" index 05986190..d54fd697 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" @@ -28,3 +28,6 @@ transforms.RandomVerticalFlip 随机垂直翻转 transformers 图对比 https://blog.csdn.net/lichaoqi1/category_11727407.html +1 如何区分话语者 +2 残差连接 resnet + From 12f2f7510155d50fc41a1383ed121789888a225b Mon Sep 17 00:00:00 2001 From: korp Date: Thu, 3 Nov 2022 14:32:46 +0800 Subject: [PATCH 31/36] Changes --- .../data_test.py" | 58 ++++++++++++++++--- .../log" | 33 ++++++++++- 2 files changed, 80 insertions(+), 11 deletions(-) diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" index 42c74be9..690ee1cb 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" @@ -1,5 +1,8 @@ from PIL import Image import torchvision.transforms as transforms +import matplotlib.pyplot as plt +import torch.nn as nn +import numpy as np test_tfm = transforms.Compose([ transforms.Resize((128, 128)), @@ -19,6 +22,7 @@ # transforms.ToTensor(), ]) + def spec_transformer(method): tfm = transforms.Compose([ # Resize the image into a fixed shape (height = width = 128) @@ -30,13 +34,14 @@ def spec_transformer(method): ]) return tfm + def spec_transformers(methods): tfm = transforms.Compose([ # Resize the image into a fixed shape (height = width = 128) - transforms.Resize((128, 128)), *[x for x in methods], # You may add some transforms here. # ToTensor() should be the last one of the transforms. + transforms.Resize((128, 128)), # transforms.ToTensor(), ]) return tfm @@ -46,11 +51,46 @@ def spec_transformers(methods): # 看看图片变幻效果 pp = '0_106.jpg' im = Image.open(pp) - im.show() - x = train_tfm(im) - # x = spec_transformer(transforms.RandomVerticalFlip(0))(im) - x = spec_transformers([])(im) - x.show() - print(x.shape) - y = test_tfm(im) - print(y.shape) \ No newline at end of file + my_trans = [spec_transformers([transforms.RandAugment()]), + spec_transformers([transforms.RandomRotation(180), + transforms.RandomResizedCrop((128, 128), scale=(0.5, 1.0), ratio=(0.8, 1.2)), + transforms.RandomAutocontrast(), + transforms.ColorJitter(brightness=(0.7, 1.3), contrast=(0.7, 1.3), + saturation=(0.7, 1.3)), + transforms.RandomPerspective(distortion_scale=np.random.rand())]), + spec_transformers([transforms.RandomHorizontalFlip(), + transforms.RandomVerticalFlip(), + transforms.RandomResizedCrop((128, 128), scale=(0.5, 1.0), ratio=(0.8, 1.2)), + transforms.RandomAdjustSharpness(2*np.random.rand()), + transforms.ColorJitter(brightness=(0.7, 1.3), contrast=(0.7, 1.3), + saturation=(0.7, 1.3))]), + spec_transformers([transforms.RandomHorizontalFlip(), + transforms.RandomVerticalFlip(), + transforms.RandomAffine(degrees=30,translate=(0.1,0.2),shear=(0,30)), + transforms.RandomAdjustSharpness(2*np.random.rand()), + transforms.ColorJitter(brightness=(0.7, 1.3), contrast=(0.7, 1.3), + saturation=(0.7, 1.3))]) + ] + axs = plt.figure().subplots(1, 5) + axs[0].imshow(im) + axs[0].set_title('src') + axs[0].axis('off') + + trans_ims = [tr(im) for tr in my_trans] + axs[1].imshow(trans_ims[0]) + axs[1].set_title('RandAugment') + axs[1].axis('off') + + axs[2].imshow(trans_ims[1]) + axs[2].set_title('RandomInvert') + axs[2].axis('off') + + axs[3].imshow(trans_ims[2]) + axs[3].set_title('RandomInvert') + axs[3].axis('off') + + axs[4].imshow(trans_ims[3]) + axs[4].set_title('RandomInvert') + axs[4].axis('off') + + plt.show() diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" index d54fd697..0c4b3777 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" @@ -28,6 +28,35 @@ transforms.RandomVerticalFlip 随机垂直翻转 transformers 图对比 https://blog.csdn.net/lichaoqi1/category_11727407.html -1 如何区分话语者 -2 残差连接 resnet +最终选择的增强方法 +transforms.RandomHorizontalFlip 随机水平翻转 默认50概率 +transforms.RandomVerticalFlip 随机垂直翻转 默认50概率 +transforms.ColorJitter(brightness=0, contrast=0, saturation=0, hue=0) +brightness:亮度 +contrast:对比度 +saturation :饱和度 +hue:明度 取值必须在(-0.5, 0.5) + + +transforms.RandomHorizontalFlip() +transforms.RandomVerticalFlip() +transform.ColorJitter(brightness=(0.7,1.3), contrast=(0.7,1.3), saturation=(0.7,1.3), hue=(-0.1,0.1)) +transforms.RandomResizedCrop(size, scale=(0.08, 1.0), ratio=(0.75, 1.3333333333333333), interpolation=) +scale:在调整大小之前,指定裁剪的随机区域的下限和上限。比例是根据原始图像的面积定义的。 +ratio:调整大小之前,裁剪的随机纵横比的上下限 + +transforms.RandomAffine(degrees, translate=None, scale=None, shear=None, +interpolation=, fill=0, fillcolor=None, resample=None, center=None) + +degrees:可从中选择的度数范围。如果为非零数字,旋转角度从(-degrees,+degress),或者可设置为(min,max) +translate:水平和垂直平移的最大绝对偏移量。长度为2的元组,数值在(0,1)之间,dx在(-w*a,w*a),dy在(-h*b,h*b) +scale:比例因子区间,例如(a,b),则从范围a<=比例<=b中随机采样比例。默认情况下,将保留原始比例。 +shear:可从中选择的度数范围。放射变换的角度 +interpolation:插值的方法如果输入为Tensor只支持InterpolationMode.NEAREST, InterpolationMode.BILINEAR +fill:填充像素的值, +fillcolor:0.14以后版本被移除,使用fill代替 +resample:0.14以后版本被移除,使用interpolation代替 +center:旋转中心的位置,默认为图片的中心 + + From d94a6f0db0eb5e60ea0266233a19a82dfd4b2a42 Mon Sep 17 00:00:00 2001 From: kk Date: Fri, 4 Nov 2022 21:50:28 +0800 Subject: [PATCH 32/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0.866-0.883.jpg" | Bin 0 -> 22079 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/0.866-0.883.jpg" diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/0.866-0.883.jpg" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/0.866-0.883.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..5bd40e19ba37c36dcb1ec8a2a32628c0e82de468 GIT binary patch literal 22079 zcmeIa1yGz#*ETp2GkMv&;s#pN{*V}6npH3C~pXtBy z0boLN0Dzjf7YINKfb`}K;u{1cL_|bnWTdyKxM-*-D5yl(I2gEO#1!OY#H6H@v}_EN z)GRclq>TLUSU5O&cz7rn1Vsh7MA*1_xc+(x3^Fn@Dhetg8X6%N6)6?h|K;nY1Av7D zsDBd;2SW{j#e#vuf_doyP`s8D;k73Is*HcTU|`|k5#AsoA-_d=%}|dCfQ5mBgN27f zK!AT$7smJXcK|#V0yY(=nyN9P&@b{3=u<(e; z#H1g|DXBkyrRC)p6c!bil$QOjt*Zxt8ycIsx_f&2`UeJwrlx0R=jIm{mo_%Hws&^- z_74s(F0Za{ZttLf?*GyY1_1Xz)cT*A{U^P!UiE^7hlhhl{7WwwSoc?f!-7Yk;(UWG zsfuXgh(pa4h=lt-A-ARznTA{K9Pf+M2nynb&E*f4N&8EJ*}pu);Q zXMc{+QEE>$4OLRgQb9FA!LzI<#sf!)9*K)4U3SC?u*$eTZRmLr=zRONIqb`5U@Bwbj2ormO*I#w-mKHEoFF^6xLSxy@a*s47VIvS!r4Li)Bc^2pjpk&q5sg z9nrzssfMhzbt%5Ly1`3&VuNSc7|VUK`ibtC!pZQebDdMWPk2$jn|d~)N_E?HEzK>M z6-Rh=CSWRB3)%qA*lkzxy8TC`qPC#>Zjl;DUoROs7p)c=*u=28wvQ3+OXRlMg>-L! zgbOn~sI{7aOL0%i{cSK4($63y+HVs3l4Sk7`CBMQt>WE@20GPN+dm zZA~7JYxI+FT*XQw@&JraPTneS>hWS%>8C?u(-MDW(xwh*Ytroga*ktnP+3H*x-4Ei zn!Cflb6W0nHnt;hIq(Qn0CG1|Ces8@Wc`3Cmp0MyD4IJxTqUS&uhYwuuAAqum5=2P z9Hfj#h6xyzriiqw$8Cw7gQ$M~{xNZdh50wVQpe>d@IQ?u%CChq?D^bIAPbV2QflSz3$RyQT zZIU8zk#whP1B&W?kvqBb=IxU_dcz6c#lz0du$T!&^em12w42;VcMav>EJjd$a~4uX z)tTRjL}TI{*%5NzH&6Hsr}sh9e3cEXZv2cDdhNJYbEU<Xh?j{Q8)A$bL5(2eTD|2Qt&h>cos>aBm`apaJo|Z(0LFh+0m`G-ltGL2>%t5g zeuIBoYBFvH;Xh2C3bK5^xht%>(5ac)wKGriw7bD6_ME%$2iliGWc|KLjEgcpw^y~W zxc<%67abyz$*0p5O&t+#^jC(C#OMgD{%$3I!ih zOY{I~=(Bw7A3bdsEPPsOkfO|zmAbdYZlGYN9;9*FgrwNvBn?-8+}7Mlv+0VRR?rL` zMN5q2atKj?es%XZ3=vb&eH1cQyaeA(BwHYLy`u1NbAQ|@-`r%V$Mo#)_pu&FW9Zyk zJSz$i&EIL=SaK@As5rcCIQk)({iE*st=d1Dq2F=G9mh%~KY>Hlry6QbZ4@|Gis z?><~^UX8toq62y@eG*yb$>@xqjw8H8S@{b9i#7nzKR-bnxz{_Vc{v`XcTj1UQP{i9 zaT-c3cKgZ6ak)g`OhS7tFM-TV+QoRNn=-f)w+;qxbhb6KdD%c27gL7oQei_wwo&Bm zp86(#a6!|95Hz%ZWQ@zK>vfip-FdP}uBmH;6xTFzstOs z@sAaCo{7O8+EZ_sJQblT21b!m_PTD4zE~+kp0M@m*XFTtc<$T=3W55yJ_$rShf;#vijr3Aq>-2*G=dk6KPyEKwc!{ zKc!Yg+Fdj*^hUVZVo`+ew>*h4DTkV5=Vl|Mv3```J$RnNAmv6PqOd+|l}-mP8UCF# zJpX9FQ6Y-flPg?(Ug?sxilM=po(zzDOgdJnJ4hjv@DT~ciash#NCe=dy|=aSZmn7 z0d8t-;OF=9R-&~bM%tmIS9FY*vu;Qap51!$rmFD!iA zmr2=e8SkDB_MZ(0nTuzUYcsCWa{yv zeN>BH0A_4?#9u1eZ9e8)&X{R}VRW>JQ!U z<){~(TWyRe#MfG)=38W9SD$OCUioXkdP4n&9|i5GaXk|Ta5bx=^Xt1tll_qCjz!BEMKl4CEGS5 z+eE&Zs?hz*YUL&?iKMihmU?~NGFLfE0JkrqI#k1srcaD?z7X>ut+%kJzd-V~@%~-s z6LaQyf53X}G(>lvHA(w|Y{>Jnb&kZwl$vK8CH9SfF`npn(6NZY#{SN19ifYo@pe8$ z=$G9BPTko@dopy ztZ{hZG>i5+tl3N+TuE8lvDu$($Bo$7@SVpRiL~*@v7WRA>%1$v2F{#RdZ%V{a6$daaxAOI>ZuoxpRPDTz}a9Ufy- z8b9qjKXE5B1UQajNEUjN(cy&&2hFhCv6-Yem6Elmpe6|tbulHydmehBJ8JSg z`7PZ5sZ&Uzn4`?F6%m#Y%%w8;Bq^&9GFk%5Z@jf^BoJ^_|AUb3)_NjB%xdQ9-m&xSs+=p6l!j{@q`O|~kE-)7acO;z zqD|F+!8+P39cr9md@1BALcZ8pM$DJ*TmW@D?eZm1vngd`Q);3s|2;x3)5#jmV6@p! zC=z+bm|HL#C`=j~RrtabL$9Y)9SQJ zm+-N+Nuqm)NjMlnW&_R(EAw-IH0Y_b*?}^X*13VoLSytn^<5X-4^OAIV*PapoAlxW}A1SW5S~yWb&$v@mY5cL;$D3NR zYD999@sj&Ck#hv9?NhGa-rMtgGmvq)O1mu=&|*?`s03c4>fx^FLq zD^2>;iA7wm)7ZIOO(xqaCk++cH;bXY88b&6t^@F%{ET_*m{ua1_enX7KF?(NJ7MQ} z8iAW$_s{BW;Ae1y3;3o!R%rLuz@k@-ENlK_yPlp^5x25vd2e+c3!od|c<5yTM_&b9 zeOGkeG7OLN>4*nor<=%)QlVfST^TShElnv%W~9<^!I#YzQ*4zM{pA>Gudx|qiOo2^ zO5=f$P6|NuDlI?oH-E+AJKaZ)i~5kB2(}b6VI6*0ULsaI9S@fqcG*9gQj(t;{4;sGS8)4P=){{Xmm&+9$y40t zd>ShV4v-)^(sip|J|d27ES0qpZ6Ux{w6JHR;cO{zpaX%Bh`zm%t#skCnvgH+E~$2? zlfvoBxTudz>VJgSXmYwsY4eYH0gR~Lxm`Z8IAT8KU3F&>huE^4rVZUL35V~1&EM60 z8y(p3Un12gXI>N$6f3uJEjAka+MIZ}a$=XJ@l#ybDJR6(<4?`PH4qeOw*vmlq+m6t z|1v3oR&LqW>W1?SbqMIlwaMxhZ5Y{gKus2osN-I*YDuaVBtr|7dbqY3283FUl+_AGF zpz6Ko>Z^bzaTFpIXzEa$Ppg)zI`@H;3{u+|fQQOApJIr4o^h$Y!mX`HvfNGjaVqcF zRh&URs9W@?B`>6S1B(6vsM`FtR3E5}GhV7M)`*vR(xOK@?K6_kc3cr20DjNmc*yMD z1#(=nQWN=RBy}6H`h`8)r7{C;blD8>&6DiNDH1=(D`T$K)84_nX6~BE{`hSeI7?Wj zNmJlYFjFaG$MsgWZg23%8SxF$6h&{6!g}z`W=l$l( zC1>!C<1=DoW{B?;YR2a1uvL-Vb0pktWs79>?aKr)FX$C!W!u?C4#oG>l+~IA00=~i#8SwdfcinxE^*8sY?ZnWb_A%)%c?J4fF8jQ6(B2AVS}mzhc4C~Q z(Um&{L)&oEqFx#=09+61`5t~1Yt4CQtF+nb9{$@k4-6TKp0;IQ$FyM~f*w!xN@Atmv<0>(=0KVXZ z>_btTNt>*5aB$rV;B7az#N~>Se&)Ou7_CVsuJKs3J=2B9wt{t~>$N++qIDIRf0H-L z5gRF6T}^cyeV2-K1!dupikwW}0AxyP(<1MR3PIVTJzCC6ury@`2BXw{>*()=@!)+0 zfU%MI0XLe0Jk1T0KJpb6X$DVSYx1OXQ+n?W2*YRJ*1EiZdt-}AJOBpGuw0A3QE+K4 zH5}9O4%eh<7SQTAbD_b*jM4z<`l6?^b?NfU^kWmd=Z`@KF zN}n~iQh2!?4U*JA2oU~_&e`kwSp|`yM9J41KMCk>ww$+UC=z26Ju=C~g}C^1_LHpD z@vK)+*TA7iN)=q!6go9Er2QcklShfWQ9VQxrW*F9U;XtRYSu4+`Q)%ykm2AQo+R7a z1T`(xrR7IYM8j8256EGq-ZA(iz8wCc1&Nl166Iq+{`!v5;U*SdBJ$PBs2Eow?ukIo01pqKi|IDRmeX)E@*2SlHJ^096UqHzfFF_fN={?hY zO?<^kIct1@7_6r{oiPCBvmL-mL92UgaYu~yn$zkwaW_BTQx@vTLJ9AwLgrIUDvcY8JHN66>OfgPfxk#|#f9lOoYu9T zL$~)~FOl7(Y^Jfa)8f+@o2hL%DLFz;wY`waB!1W z@z?XD{gO^{emtJa=kU&@jv&E48RiMb{QJlD0rn@~7r?Hgya|1H7R3zpbd~PhoM3(y z#?5s1ZagI1P!HaCiy_;3rlG0v0zITs(xF&ik^~~ccjgpI|0@#fju18n`;D@pP3|jz zwZy6YxPC)OKkH)f_J+0IQcKx4mGgZZ+E6h0)PPVmA{lo=#@9@{yxvmj@~3DUC0Y=M z4cT1D7!2#!tQJf)x?rCm@Gz1be1$zVxBpGIE!VXas=KBX_F+czf)cmnFFV_RKOb-5ss&)e{l_pO*!HKmW&N(tn@&&~W<=c4L{`PD;8W2GmGvJ|KV} zFJA!tF%-t27eJN~^dbj^N5i37&wrf#(PQ!!#o^D+3m}ddQ2Te@zw6;|d-%Iw{5?MW zJx=~TU;I69{x`=2YE0i%$~XWWh5wQpO#h0TX8+WQiM?L$Y;mu*Spd@VHK398KR6vU z-+L5yPZ>rD+^lc{qiiuNmk3x7qW8pRV5+1)H_co>5S^?yw}HTEJ0MBYX(pb^j;N(fvMf_CHf4qd6@)V8(B_Mfld4{i7GWAa*}`-jXWCef zAqmsW#ST&}jba-w&6-{RuhwqvZANPkB1iOVKnz@$_L~Kvg?4F+;VR2>(J7^J?Y_AH zk`SBkZ%D6Kxi9xt(?q26$aoH=w5lJF>_YcW-tC-TuVh#(1@M$q4AwJyKfxYeDa^9m zdb01VBI9kw1c-A|Zo!q78DclKh~WioY0Xve3ie&mo#a;~N-#hJ-~u}Z$QVz_VuK=w zeqZnfml~khpxJzCYM@NO<(E5lJVv)3%P&7@`k=^GSfabwxA%4)hs7i=XK*)wP4%~}n89Rn(SojOM-_(4<@s9n4W>9K71%He`X~5>POjOrOR3_=%-Z3@syrisRUOHpU@avPh#zd_#VjhjJ8 zeTF*vOeJ>=ff_s~{xY-Mme(t~eU~4I%)kvgNaO`@62v?jic0Fr?P(siXO;GJV7ppc zZst1KEJC=>^_%NlUL`RD86_d%BdxXwcX`{|cL|83$zu}ReqRDuC#7)#uUiy<%m2f5 zpvAp8PPhd93PY$WdL7K!odtNl^1|5DYl=DcvQKyP=D%;CVe`FMYN_p9l7hDP@ayhY zh%C?~(P7B?4L|RbwIye4&*qaY4u_Z1&ITOZ40}P&2;&s7Qm4@SLQ7m4uUL~5TdwBO4l^*3DE662-OrD=} zV#s`}B;LJB9HwxQ+6@V(`5s7LWm>Zmdy4EhE!fBJhj;1)On*~TsDCg|FCDt^mRkm* zb=g>J=-bruWpnZw`I7v5CWaM zI>rG|u@bU^8w6o%zCzXAeffU5mqN=<@9&3p%&&^Wm{jG2@!TI9X;KEq@pSE$v>sL2 z9g^F*X?lb-is~=!hx#7zLEeCI{7v|u=x*7n{WNXwo~fs7MQAQeyWELUu@=cBmq>n6 zk*KCpT3D|8o{dTZQ;ndGPmNnV7sN;0I-__Ek$9ovY5YXpp)2EtpJQcl(-^uNPkdCe zsOE3})R#lm%^N*F$P*a41$k~?_v_!}5exh=xZ0yJ+t>VWTmJ?pZJ%7$WN$9J zyI$kw7qjQLmnfX2&+1KFIUs%j3Ay*8ajm_xu&qVRbP_DfI*q{$$Cog~#pEZ9-A^sXV z>-5I4A#TG=k^j4;56vMyMX1`{kkrsHw%0c%WVR!OAn^hV*z?9VCVt1J{H2 zs2hwwO&O+A+acq)QlO7BEvh|t7VE=b4vwu9ktYu(2)`bvY$>WvlqT169?%>Rb)I+u z&}bDvt;!D1EHENk48+Qdbp;YwrSqg(V$*+OE0a2pGo;O4U`^6w+Wzya!z9|CV)ZC%cABv( zaGz7*`K09q@Ik$Pw%M;Z`M|jILD~k^WaQq16Wi;t=K2NDrsPI}*}k21w05({a9L4> z54BM9C)_t=nxxbLR+0=hg?UKPG6+&8zL8-46Q^+SC|U3VaPW9#_$XYp#MO6AdZzQ+ z4je^CKf7`@7dvP?`R*{BtxfbmzeqrB@^B_3{IBVO7VFt(tRk{bVRzVvN;?<*A722} z%*Dj?#T(Uk1PU+3Ud(jjK;pKxw+Ry0S3qrxb%7>sl@uJV}6J z88Fx7NuQijZ_3;EE$}R5*zc#Gk=DX>W9E|9S-)Hk{<6nLD><5V$1DtMfY0t~R7QCe zJZ~#KpBg^VbR>y_nDC@7dzKt?$M@%uXA0~##i2t5ud6VOEbl?(j+N3Lrv^YLj%be0 zW=V(6Sw)Qr=f$7HlvAbaFA9%!;iH|u+Rgr?I&8jk5$h(sE(IO6MzyVKk!|@S9Hu^_ zPTKN#LNt~5%q>DagVGB~0eS&)q`us%zprDYx>cbNc?0FnJ3st6cfyls30mx=K4g{V z+6)WCD*9$J(~XTt(bWC|moeaN~$1wc`&_P=7*VLYpeXhjxFBb<< z@b$CW$osPBL}h>q?4+T&=S8`^VtL4PU5uh?9Z0;bIg|qv!>G8i*X^0~f$Ce6*>(_3)B^4*``qk&Vabl&V3Z|g%P7;G(JOJq1Y3r$5(m^cz zT7G16b}o$&TlXrYg|&%i`0HHjW5i-r9rtIdsp~ZiP@|(;@Fy(f59MR$ey5`H10BFO z7_r2{N;u2=ORv6P?qkJ%39U=St4{h@5PGVpLS*L!Lllb-|3*@kLY1@4rR^mWU3Wqd zmt(B6zSpB=tt)C9;k=IA05w38A`{@{iZ||&+NY}(!lPZ!s#E}LiH#s%m}R?5pB(dM%zfE3)AbQFM>3Vj7w(MK&cYmLYF#*mmNcOPpPVo7BIK zdMjAXZHSxduy#LpCPf+1Sl010E-i~L5U1e5nUd-oq@RCg^-dE`I8*}A3IP$uk z;J|2!SU*-n&n!WX;{u#ZG2{4t)&OpDG5v>zsMhD&NuK5yg=Z7I$|n1Sf$?qOM2{+w zS61%q7b?BI^WC~8MX^pF6B6Wuqu5sPU(pDA#gjT}&?Nb=Zi^l?xAw&>xt||lc9cH} z?TMHIJ%9wy1RCKX4%yvlQwJ;$2p8XN8H#~Iw=1%Gh>BU+(xwI;#j>^M~_7`}-D$eff3fplWL2OZMR&Kpl();|8aEj;SsquBR{wLCIDaGu^TsRWv|)`uQ0 zNv9yki`W;3s&OF!8G6_7T#S&cw>~xm?H+DZdLpzf%Vq^^$2yMhNKGyV%^Hxc;3=GG z)=po$&pMc6>dF$Novw9p-e+51B|~=#JfoQRo64+4={r4C?8c|Xi=6*a&SGgv3r~j< z9Vt&MrcnnW#8_z&uB_1FeB=Kb-vo3}n*K6NmAJVn@6$~MUrKt8;dmzTN_~ub0U+&U zKVD})-&1VJKGLN4UrqTx?E8ms@G(|YVaS~o^X)R&en-s;hOM{yU#+xY1|MaU^Ue(> z^dC>d{nEprYCa-zb|M%K++2CJ^0cx20G}SS?3_vrBCC^9=%?pZ-W5t^PQdBsy?ZU* z^ReeOmGhgim~SP!^t64Cp)sv(jgP%wu1hZk3X9(H&sw_Pi?tUWO%C1rb|eis0g*b% z!^p#GD%J=*n%25Cy>V>8ml!M3S=lH2;42`B;lvFEto2d({uKYh&#kQY7Ep>AFNz~g zALb3k7`Kxa=}qj*4=1fOezoL1ai{mM3>^jiE5DO^s!e9aI|aV%4f{=~@++Es+PJ_7 z*U4hA+fVc#RzLJ5m~g+>(%Ui+yvarxwK7Leb2YO}mO(_EFa9_;JKGD)G^abw8?ZT9NA58;hbn;`WqH;&{d8^S-j*XT=A{IMTOj8(L;=Dxgm&cd(h zM;J78&yCl^cC=GN)aN9g=~6#v=_fMfdh+3bpKsplYuOv=w$PuHksDu6BCxI0kUOYB+7qn_Wz%Ty6uWlFDu%eU+Je{OFbp0QeMItQ%s~C z92S)pOO_vKdASbIqx?)`=-0=J{8h9$#l$xCakCA55yH^TOkG27Z}>GmuFd`T6%@dn z0cBDGwr{TRkv=7o1eofdbBwhQU<~C>)s08Ay{T!M;K}5gR;#u63TnQ>_4ICDukHsT z^?4^4Fa);{ltbA&b@L&FY$Ea=Mf%+4Z~<<>Puw#Z*Mrx)bx!(YzN}BaJ#=|-zuY%R zhzXB#jUt7e7B`(NxMxH&*)AkK5-Q|y8-xMNc7y-V#JyJBgGgd^3KO{3l^3joSz%ouHw%$D1#)v zc*A}Zye;z{TIm7BJP@yPO#^+*&x=1sb$NMM7FibRnY${paa1O62X=P!*Q?Gx%3fe} zrkMjveT%IS<-%ogmfnwyW1j=Q-kc;PWX(<;WueT31yr~wqaEJi^QU=LrLs8l7`nkM z6IPW9-p@0XAGG7NSQK_{JZUM^OrM~zFFAckTxgVK3D6P}FR!ZJJ6@rO_F&`IZ9{+7G{NktIme>P)ao4vn~g z^=1|Cwezdb*CG1Bvn?y zsc458-IzII(cEJKTFOl0`9%uL%7X8^iv8^(z5%w6E)5JYh79G@yIOEU0sm#^IK=dHcR% zMNZ|7@{Z3(!>_szdGwxTp*}gdL2KD$B56n6t!}B3jhc87wUs*BgFMm5L$tT ze~+5Qm!U_2)CjIkm8R;9!m}}m9~38CAO?C$SyFT@W9x*2TeSFU=zxKPgic^shu_;d z5%#+?E7)3dylRDVta%nE$NsBI!Bl?n1bm;CtgmZ5KY50;VGdOe=i5y| z=4$kBwZl-~2IK?fNVO7`H^p(~&$C$BjL=)W_-p6}r{NW&2&)ApcXI@Gs(vNBJ0 z0sWe{B=6;g=bK$x>TSM}f6mD=RxR^`b$+<@a?q60cg-2-egS@^x9N*K(_DPWM&6v- zIX~*px7GesTAjTdO6b52c1RZh9&T;e{`O%C>l*aQwhuL`i}>{6tA0ima2cCB&d06d zmoYTkc>`-h=KLg4#sojc_x4ABa!ezn87RDUKKi-d=?d3H^-@?F#WIV0MvTHr*T?Tu zWnqCy!fsrcZAM~o?x2Vpka;t!v_iH(DTe}sgaW;y=7THk(_w}6=V;2lRgdil_sVUk zZ@JYA05xZVr_#wrNs|cm1z;JZ6=5(a_+Bfs<=L22OSoj|QD^>|0xEOn5{0xL&!TR` zGoUkrHTY*--#KKw9%t^;+W7_=w$R-Lecbw52*@iWd7`C0a+bQ*v@`P}fOEzPnWh?X zswKbIkg#$3nHU4}h_Ve_e)x{3Vrw_%tsu%tR)H^~^$k5#r^paWBY(b{@9Cn}8Qo@A z%ar0a=+IIeUDN9*#s(!L%Sy$~!Y8B=IGRySZuOM8dK^79nlcHyz(u`H#q#G`AvdW>l`M1#%0en^NX$9FsG|{%0JZAC31sSggz`% z{qQB>ZP#AKJ%98gI3JCTBh9i{oZd?!TijHu z=|8Xj7-Fj_9wxp`!SLiNKA`>@jmTK==AU0^_Wt{v>c+2|q?G>!i(EQj?>B`7^IlY0 zu0O?O)50VWiK>R(DLcFXG`vQ6C+TAH6Er46iL}kI_N^Jv%}fm=%gIM=$Mj?`Kp~qX z%G3uN;9v8$DR;DX4!I&6Prl`a!a5tD`$q6dyo_C*UHf0>CRCoNKg4?P%&HS&6>`=n zo-REp0(+G=*pZYr6r00rW*TC*nH-7KI5XVE>hkuy<%y<~UD>J@9?h`WQHhp9W!va*m(o*R3Xl( z%O0Ya|KvY#l*EJfF^C|y~zQ+_7A)l?;IMKLi zN3v?F2tfV{md`*>uetJTtP-84Z8`@9yRSF1TH86O&OnZre9HsO>O(?FywMlNxZ{er z<76kV3nxXmO$*8$9z>AeoSl&xXYX27W`d@lG4>gn&Z-_UX6Euh%OFI5m;$cYDaGpl>adqMMrk5R-S+QX_rrheFsJCR;6JFCPuStm| z5I2;FG%fW66gpuLRq`5*Ozps7OL;Baq{T}cZwQ4b`^w;uI$0Gd3fKqyF=xGscH$3# zK)+VkYrk%s);yY^g{v0*IY+=ErTme6^?s}Pe2?r({?i2Mnav zUe?EKYpRCVJ7S75fg?zok)EX~0Xuoc;^TZVDwL_se)f_yTbA8|SMNv-(EhdZE4@HS-;7 z%1$wr-xy#NoC0a`$5?rE)aGwjkMu${E6aLXDUHN5~h zK-u#a&$2n4We4+`zYX-(mPQ@OeFjZ`>EMt#Np_Uo)3+BN-G1Heb1^Omi}OnPhz&!D z6TO~rqAjEmGUd_m3QqD_V!jTu)<@eGeO~6P4U+5FhC8*PC2M~RoEz!;T`@)1Cmtd; z;eHAkaM zB|j$C+h?;-xGo}Smmjc2E@5bIh~SPs&hS2o^-E-H>;0q$#qznB{c;?dS64BPCnn^C`%7W0+oMmm{Dwa zTe5DKn6&^EQwn9#7#}$Wb{nfOd+qQ;a)tY``%>pZB2)kfq0SohKhNkcM$2?F*)6L_ z^VagYa2n1oyW;sxzxuWl7q_;Y+%ZR3SMB)s9Q!TW+`2S8d=&fe9X`opX;FYs6kSqL!1yGsvBzfj=REm3_98)>sHctSW)K`24zN6D{zlU|Q zE{Xz5mqFduw0~hw394oW4C~ft-T3mSh)4KK}Hu@{-gI9Ts)fLt!bEwpTJrb zzNV$<)<}?qQp-Uyi+JDG5(u_m_9LC8K;JqhhwF0$`B+rl7vmJ(QpWLQ?E2+Y!J?9F(>RBXx2!*F80b-B!?K)uW zPtmP~*{x%D&0Y19203tl8(2w76$u?L9d&iuX`|6Senw+b=H53~Y9DOZEw^zn8rnSY zS033vKn7sT0bJ?J4mI!GHQCW(?iPT^YPEmfE9GD+4|!~x`SJ43KYEV70Q4b$K7-8` zrkZOEMU6hD>XHeo<8GcMiZcFYX#M#e+%{0;HQvG8vUkN ztOI#unqtcX#n|H~gv(zLN4v6R_-59v~S$@mn`=$mu@+a;qFUKQ&gf@sW zYG--p3xHhLu#z@qM3BOaO||BE0JX=Pv5afjxfmk4?H$q|Y2xy!ou!hV`u@v1@rxnD z?0JXF8?yGQ@yBuHP)i_{d~O0=MBk2!u|`-4O{G|F9Vm8a3`JXJAveZUav#u9Qg`It ztY^e_3tb&;O&`7d?*C2@C2;>WT*Sc_9z^C@vT(4;?d|Pgw@X&Kr%>8(kD6tjk_?nB zfgIutMc9#LE`vr!=_Qf;E(8e2|L`W;k^NZZpMO&j-*N;`z5EI0sc*X3-rHd%yPG$# zNY`rK53elu1Hadvz|=ySx}!1iT~ zzmw8+yhz&o(2%jZHk?GKvdWx5Rc{zq3#Cc)lz@S#k9%TX*xl77g`B=t4@Hjm`*cs7 zSjJ9@gcMA?1XG7atjC$s1ui*-5=!^DaZ1h;X#O|`iHNz?-ARy!%=cn7ZN;aZQxxaV zv#gDK>A@`qv7wQk9#1h=#WWMaz1fv=OMC6~##NR5Iw(qDjVF*mTwOn_+y-ngTV+Q( z?U9V4BQPlbP@ApxlEu6+NVD3;WzOIjuBhtL9jQ5^gr5p8#(wu@s3o;z1-x zYMN!m>R)Aa`PxR!k7Kh8q1x~l!z5i=-x9R(Xy!#Zbucz<7-s5*^@!}w)NZY)t&B6Z zKd7QyMQ>k3n`z;}hx^d@lm70c&uF?V9M&sZ_<%6c_U01~LzWkgo>zs?XG7t0@FF&R zBP-trO4R;s(DD|zcq`Jz=xAv3?CME%manw9^1R08$i$SH`I>}kBoZm@R~lk{D9TZ{ENI|!H?kya;e{0!8-zkl_UrFS4OkF ztyu{ux_t>N28V)f=FH9Cw@`vSm$|GR3SSR7aFYn)LYLgPvdKIr`6Yr?nD}r(q~aJ0 zhbb<>oL6Q&_R70?h1FCc|AEc*-!)F+|D|%7%WoX zfGESOlQayf`tLWl^>Ec2Fm-jMEdY_2@Aqhv26;vQ^U)grZfl~bDeQf5Zn3HaCU!*( z+EDo$l204Sj?dm&RLGnRVZw5tuY3?3^n3G2DV|^q;Tlg0h~wZRA|5C=^Rb_>f5k}I`IB}6x`vFeGJW=^ z^?$6K#)&CZ2e-OE$fa)z2vjZH2Di`~Z#r{b zj__*mnJw&D0UZG!+O+q?-Cv_Qb@BqJZ9K>~g~LMm(m3ABea2Vu3h;_v*R-$AE6Ob% zMEKnepSUa~5?4zyB$SciDxhz1pnI)?z^p{0G`*MTEh;v(WaU36kIEGN^oP<}9feud zfvy4cUFw}Ft)KSNPU9C@sjTOEQCyf$-3rrn^{&&$tafl24MBKHYx?L`=Lff%SK}i1 z@zSiFBV!2xQ~oWohQ*byrD9yPY|>2U9yKjmTpHR!J(noa_Ks(oIhS>Ipv9r|D10AV zoC|LpnHWi4*17vtHdm)D&aUVXv$sUrKKJu-PgTY@WW+Y%+3@RDF+$oPVU*9IpRops zyK)UAI@CA^;G#8}7`*~f=TheRDqq9B)gaYNlX8LaaUaP!Rg?>?z?!Oy`c}8Kx;=nc zA}Y-f9UUDsaFNZ@08J&KK4G~N?4cFAeB(i+i1+UhDFdTnF~oIirEy^tw&bSmPq&&I zr%&h`qsaBA-d7yO{-iZ~bu|CxlNnfqq`ybv@RS;+%*ak9Jkqqxd7GkZm|fI0v9JKq z?b&0A|4>5s5Fl7$ca26oISjGlrDa(UiW5;Ma7xR?3m>P>dimuL{JB8(#N9adNlQ*Un&g^*lR27T>goI;H>KuZsW2P>p50BM^m2P-al z%&B`KBg^a3TDi9SHoNW*=br~Y&t{pE#xd@Bq7yY$30#^5A+PHG^ zhwi34pe1X`GDBqzB6iP3l zQuWcah;u1z&J9S3VTXd^M2x9I!4eptHL(@TsDKyw8PF^X5og(h#pH&d_$oRTHM&woh2G_^L?rKwihQE(T zki-wnm!wUUE?DTh_;A_X1HMhd$k|L{khg6;gGkd3cw1$YXT?XS zl=aKPUUj%M62YKC2APoTo7{Mz(W`ZnVaN-G-3CsxjPAPo=5(}u^>sHDEY{z@H$Pc+ z*V1(@xWh6v``z_wJ~GHecy5t^SR|_Y5EF2yK%P-kLWu?$6t>`B_4us6_4?O68twm} IZC@7uH;yTAa{vGU literal 0 HcmV?d00001 From 42cebe073b1517af28ff16dc043ae2052611fa7b Mon Sep 17 00:00:00 2001 From: kk Date: Fri, 4 Nov 2022 21:52:54 +0800 Subject: [PATCH 33/36] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TTA.py" | 13 +++++++------ .../log" | 16 +++++++++++++++- .../model.py" | 10 ++++++++++ .../utility.py" | 5 +++++ 4 files changed, 37 insertions(+), 7 deletions(-) diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/TTA.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/TTA.py" index e7cc36a9..f98bb1ad 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/TTA.py" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/TTA.py" @@ -1,4 +1,4 @@ -from data_load import MultiFoodDataset,FoodDataset +from data_load import MultiFoodDataset, FoodDataset import os import numpy as np import pandas as pd @@ -16,8 +16,9 @@ print(device) transformers = [spec_transformers([]), - spec_transformers([transforms.RandomRotation(180)])] -weight = [0.6, 0.4] + spec_transformers([transforms.RandomRotation(180)]), + spec_transformers([transforms.RandomHorizontalFlip(1)]), + spec_transformers([transforms.RandomVerticalFlip(1)])] # test_set = FoodDataset(os.path.join(_dataset_dir, "test"), tfm=test_tfm) test_set = MultiFoodDataset(os.path.join(_dataset_dir, "test"), tfms=transformers) test_loader = DataLoader(test_set, batch_size=batch_size, shuffle=False, num_workers=0, pin_memory=True) @@ -28,7 +29,7 @@ model_best.eval() prediction = [] -weight = np.array([0.6, 0.4]) +weight = np.array([0.4, 0.2, 0.2, 0.2]) with torch.no_grad(): for data, _ in test_loader: @@ -37,7 +38,7 @@ batch_len = test_pred.shape[0] print('test_pred', test_pred.shape) # shape 为batch_size - oh = test_pred.cpu().data.numpy().reshape(batch_len//2, 2, 11) + oh = test_pred.cpu().data.numpy().reshape(batch_len // 4, 4, 11) oh = np.dot(weight, oh) test_label = np.argmax(oh, axis=1) print(type(oh), oh.shape, oh) @@ -58,6 +59,6 @@ def pad4(i): df = pd.DataFrame() -df["Id"] = [pad4(i) for i in range(1, len(test_set)//2 + 1)] +df["Id"] = [pad4(i) for i in range(1, len(test_set) // 4 + 1)] df["Category"] = prediction df.to_csv("submission.csv", index=False) diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" index 37a51253..129d621e 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" @@ -37,7 +37,8 @@ contrast:对比度 saturation :饱和度 hue:明度 取值必须在(-0.5, 0.5) - +--------------------------------------------------------------------------------------------------- +模型的调整比预想的简单啊 transforms.RandomHorizontalFlip() transforms.RandomVerticalFlip() transform.ColorJitter(brightness=(0.7,1.3), contrast=(0.7,1.3), saturation=(0.7,1.3), hue=(-0.1,0.1)) @@ -62,5 +63,18 @@ center:旋转中心的位置,默认为图片的中心 -------------------------------------------------------------------------------------- 测试了一下 Training Augmentation +Test Time Augmentation 提升不大 但是耗时成倍增加 看来得先换模型 然后再通过这2个技能 提升 训练集数量 和 增加最后的预测精度 +https://www.bilibili.com/video/BV1yT41177Lg/?spm_id_from=333.337.search-card.all.click&vd_source=d5cb81f48b837a79649b623f632640c3 +adam +[ Train | 001/100 ] loss = 1.95417, acc = 0.30516 +[ Train | 002/100 ] loss = 1.73287, acc = 0.38609 +[ Train | 003/100 ] loss = 1.59094, acc = 0.43552 +[ Train | 004/100 ] loss = 1.47998, acc = 0.47857 +[ Train | 005/100 ] loss = 1.40205, acc = 0.51290 +adamW +[ Train | 001/100 ] loss = 1.94305, acc = 0.32075 +[ Train | 002/100 ] loss = 1.69150, acc = 0.41425 +[ Train | 003/100 ] loss = 1.55423, acc = 0.45308 +[ Train | 004/100 ] loss = 1.46482, acc = 0.49190 +[ Train | 005/100 ] loss = 1.36791, acc = 0.51996 diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/model.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/model.py" index dd0805c6..daa7857d 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/model.py" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/model.py" @@ -1,4 +1,5 @@ import torch.nn as nn +import torchvision.models as models class Classifier(nn.Module): @@ -45,3 +46,12 @@ def forward(self, x): out = self.cnn(x) out = out.view(out.size()[0], -1) return self.fc(out) + + +resnet = models.resnet50(pretrained=False) +resnet.conv1.kernel_size = (3,3) +resnet.fc.out_features = 11 +print(resnet.conv1.kernel_size) +# resnet.fc = nn.Sequential(nn.Dropout(0.3),nn.Linear(512,11)) +print(resnet) + diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" index 47931b69..9c802c60 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/utility.py" @@ -59,3 +59,8 @@ def spec_transformers(methods): transforms.ToTensor(), ]) return tfm + +if __name__ == '__main__': + l1 = [1,2,3,4] + l2 = [5]+l1[1:] + print(l1,l2) \ No newline at end of file From 153e0eb1a096223065dd8b758a52e81428ac2618 Mon Sep 17 00:00:00 2001 From: kk Date: Sat, 5 Nov 2022 17:35:07 +0800 Subject: [PATCH 34/36] =?UTF-8?q?BOSS=20LINE=20=E7=AA=81=E7=A0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data_test.py" | 8 ++++---- .../kkhw3.ipynb" | 1 + .../log" | 10 ++++++++++ ...\251\346\210\252\345\233\276-BOSS LINE.jpg" | Bin 0 -> 104429 bytes 4 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/kkhw3.ipynb" create mode 100644 "HW03/\346\264\252\351\222\246\346\225\217-HW3/\346\234\200\347\273\210\346\210\220\347\273\251\346\210\252\345\233\276-BOSS LINE.jpg" diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" index 690ee1cb..39971c3d 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/data_test.py" @@ -51,20 +51,20 @@ def spec_transformers(methods): # 看看图片变幻效果 pp = '0_106.jpg' im = Image.open(pp) - my_trans = [spec_transformers([transforms.RandAugment()]), - spec_transformers([transforms.RandomRotation(180), + my_trans = [spec_transformers([transforms.RandAugment(),transforms.RandAugment(),transforms.RandAugment()]), + spec_transformers([transforms.RandAugment(),transforms.RandomRotation(180), transforms.RandomResizedCrop((128, 128), scale=(0.5, 1.0), ratio=(0.8, 1.2)), transforms.RandomAutocontrast(), transforms.ColorJitter(brightness=(0.7, 1.3), contrast=(0.7, 1.3), saturation=(0.7, 1.3)), transforms.RandomPerspective(distortion_scale=np.random.rand())]), - spec_transformers([transforms.RandomHorizontalFlip(), + spec_transformers([transforms.RandAugment(),transforms.RandomHorizontalFlip(), transforms.RandomVerticalFlip(), transforms.RandomResizedCrop((128, 128), scale=(0.5, 1.0), ratio=(0.8, 1.2)), transforms.RandomAdjustSharpness(2*np.random.rand()), transforms.ColorJitter(brightness=(0.7, 1.3), contrast=(0.7, 1.3), saturation=(0.7, 1.3))]), - spec_transformers([transforms.RandomHorizontalFlip(), + spec_transformers([transforms.RandAugment(),transforms.RandomHorizontalFlip(), transforms.RandomVerticalFlip(), transforms.RandomAffine(degrees=30,translate=(0.1,0.2),shear=(0,30)), transforms.RandomAdjustSharpness(2*np.random.rand()), diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/kkhw3.ipynb" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/kkhw3.ipynb" new file mode 100644 index 00000000..beb5dd2d --- /dev/null +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/kkhw3.ipynb" @@ -0,0 +1 @@ +{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.7.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# utility","metadata":{}},{"cell_type":"code","source":"# Import necessary packages.\nimport numpy as np\nimport pandas as pd\nimport torch\nimport os\nimport torch.nn as nn\nimport torchvision.transforms as transforms\nfrom PIL import Image\nimport torchvision.models as models\n# \"ConcatDataset\" and \"Subset\" are possibly useful when doing semi-supervised learning.\nfrom torch.utils.data import ConcatDataset, DataLoader, Subset, Dataset\nfrom torchvision.datasets import DatasetFolder, VisionDataset\n\n# This is for the progress bar.\nfrom tqdm.auto import tqdm\nimport random\n\n# \"cuda\" only when GPUs are available.\ndevice = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n\ndef same_seeds(seed):\n torch.manual_seed(seed)\n if torch.cuda.is_available():\n torch.cuda.manual_seed(seed)\n torch.cuda.manual_seed_all(seed)\n np.random.seed(seed)\n torch.backends.cudnn.benchmark = False\n torch.backends.cudnn.deterministic = True\n\n\n# Torchvision provides lots of useful utilities for image preprocessing\n# data wrapping as well as data augmentation.\n# Normally, We don't need augmentations in testing and validation.\n# All we need here is to resize the PIL image and transform it into Tensor.\ntest_tfm = transforms.Compose([\n transforms.Resize((128, 128)),\n \n transforms.ToTensor(),\n])\n\n# However, it is also possible to use augmentation in the testing phase.\n# You may use train_tfm to produce a variety of images and then test using ensemble methods\ntrain_tfm = transforms.Compose([\n # Resize the image into a fixed shape (height = width = 128)\n transforms.Resize((128, 128)),\n # You may add some transforms here.\n # ToTensor() should be the last one of the transforms.\n transforms.RandomRotation(180),\n transforms.RandomHorizontalFlip(0.5),\n transforms.RandomVerticalFlip(0.5),\n transforms.ToTensor(),\n])\n\n# 生成多张图片的方法\ndef spec_transformer(method):\n tfm = transforms.Compose([\n transforms.Resize((128, 128)),\n method,\n transforms.ToTensor(),\n ])\n return tfm\n\n# 生成多张图片的方法 传入多个变换方法\ndef spec_transformers(methods):\n tfm = transforms.Compose([\n *[x for x in methods],\n transforms.Resize((128, 128)),\n transforms.ToTensor(),\n ])\n return tfm\n\n# 这个方法可以生成多张变换的图片\n# fff = [spec_transformers([]),\n# spec_transformers([transforms.RandomHorizontalFlip(1), transforms.RandomVerticalFlip(1)])]\n# x = spec_transformers([])(im)\n","metadata":{"execution":{"iopub.status.busy":"2022-11-05T09:20:03.322025Z","iopub.execute_input":"2022-11-05T09:20:03.322951Z","iopub.status.idle":"2022-11-05T09:20:05.259512Z","shell.execute_reply.started":"2022-11-05T09:20:03.322845Z","shell.execute_reply":"2022-11-05T09:20:05.258439Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# parameters","metadata":{}},{"cell_type":"code","source":"_exp_name = \"main_aug\"\nbatch_size = 64\n_dataset_dir = \"/kaggle/input/ml2022spring-hw3b/food11\"\nmyseed = 76553366 # set a random seed for reproducibility\n# The number of training epochs and patience.\nn_epochs = 100\npatience = 20 # If no improvement in 'patience' epochs, early stop\nlearning_rate = 3*1e-4\nweight_decay = 1e-5\n# 结果加权的向量 注意长度必须能被batch_size整除 并且等于图片复制的数量\nensemble_weight = np.array([0.4, 0.2, 0.2, 0.2])\n# my_trans = [spec_transformers([transforms.RandAugment()]),\n# spec_transformers([transforms.RandomRotation(180),\n# transforms.RandomResizedCrop((128, 128), scale=(0.5, 1.0), ratio=(0.8, 1.2)),\n# transforms.RandomAutocontrast(),\n# transforms.ColorJitter(brightness=(0.7, 1.3), contrast=(0.7, 1.3),\n# saturation=(0.7, 1.3)),\n# transforms.RandomPerspective(distortion_scale=np.random.rand())]),\n# spec_transformers([transforms.RandomHorizontalFlip(),\n# transforms.RandomVerticalFlip(),\n# transforms.RandomResizedCrop((128, 128), scale=(0.5, 1.0), ratio=(0.8, 1.2)),\n# transforms.RandomAdjustSharpness(2 * np.random.rand()),\n# transforms.ColorJitter(brightness=(0.7, 1.3), contrast=(0.7, 1.3),\n# saturation=(0.7, 1.3))]),\n# spec_transformers([transforms.RandomHorizontalFlip(),\n# transforms.RandomVerticalFlip(),\n# transforms.RandomAffine(degrees=30, translate=(0.1, 0.2), shear=(0, 30)),\n# transforms.RandomAdjustSharpness(2 * np.random.rand()),\n# transforms.ColorJitter(brightness=(0.7, 1.3), contrast=(0.7, 1.3),\n# saturation=(0.7, 1.3))])\n# ]\n\nmy_trans = [spec_transformers([transforms.RandAugment(),transforms.RandAugment(),transforms.RandAugment()]),\n spec_transformers([transforms.RandAugment(),transforms.RandomRotation(180),\n transforms.RandomResizedCrop((128, 128), scale=(0.5, 1.0), ratio=(0.8, 1.2)),\n transforms.RandomAutocontrast(),\n transforms.ColorJitter(brightness=(0.7, 1.3), contrast=(0.7, 1.3),\n saturation=(0.7, 1.3)),\n transforms.RandomPerspective(distortion_scale=np.random.rand())]),\n spec_transformers([transforms.RandAugment(),transforms.RandomHorizontalFlip(),\n transforms.RandomVerticalFlip(),\n transforms.RandomResizedCrop((128, 128), scale=(0.5, 1.0), ratio=(0.8, 1.2)),\n transforms.RandomAdjustSharpness(2*np.random.rand()),\n transforms.ColorJitter(brightness=(0.7, 1.3), contrast=(0.7, 1.3),\n saturation=(0.7, 1.3))]),\n spec_transformers([transforms.RandAugment(),transforms.RandomHorizontalFlip(),\n transforms.RandomVerticalFlip(),\n transforms.RandomAffine(degrees=30,translate=(0.1,0.2),shear=(0,30)),\n transforms.RandomAdjustSharpness(2*np.random.rand()),\n transforms.ColorJitter(brightness=(0.7, 1.3), contrast=(0.7, 1.3),\n saturation=(0.7, 1.3))])\n ]\n\ntest_trans = [spec_transformers([])]+my_trans[1:]\n\nnum_of_transformers = len(my_trans)","metadata":{"execution":{"iopub.status.busy":"2022-11-05T09:20:09.265041Z","iopub.execute_input":"2022-11-05T09:20:09.265541Z","iopub.status.idle":"2022-11-05T09:20:09.282020Z","shell.execute_reply.started":"2022-11-05T09:20:09.265507Z","shell.execute_reply":"2022-11-05T09:20:09.280945Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Data load","metadata":{}},{"cell_type":"code","source":"class FoodDataset(Dataset):\n\n def __init__(self,path,tfm=test_tfm,files = None):\n super(FoodDataset).__init__()\n self.path = path\n self.files = sorted([os.path.join(path,x) for x in os.listdir(path) if x.endswith(\".jpg\")])\n if files != None:\n self.files = files\n print(f\"One {path} sample\",self.files[0])\n self.transform = tfm\n \n def __len__(self):\n return len(self.files)\n \n def __getitem__(self,idx):\n fname = self.files[idx]\n im = Image.open(fname)\n im = self.transform(im)\n #im = self.data[idx]\n try:\n label = int(fname.split(\"/\")[-1].split(\"_\")[0])\n except:\n label = -1 # test has no label\n return im,label\n \n# 重写数据载入 tfms 为transformers的集合\nclass MultiFoodDataset(Dataset):\n\n def __init__(self, path, tfms, files=None):\n super(FoodDataset).__init__()\n self.path = path\n self.files = sorted([os.path.join(path, x) for x in os.listdir(path) if x.endswith(\".jpg\")])\n if files is not None:\n self.files = files\n print(f\"One {path} sample\", self.files[0])\n self.transforms = tfms\n # 图片重复次数\n self.pic_duplicate_times = len(tfms)\n\n def __len__(self):\n return self.pic_duplicate_times * len(self.files)\n\n def __getitem__(self, idx):\n fname = self.files[idx // self.pic_duplicate_times]\n im = Image.open(fname)\n im = self.transforms[idx % self.pic_duplicate_times](im)\n try:\n label = int(fname.split(\"/\")[-1].split(\"_\")[0])\n except:\n label = -1 # test has no label\n return im, label\n \n# Construct datasets.\n# The argument \"loader\" tells how torchvision reads the data.\nsame_seeds(myseed)\ntrain_set = MultiFoodDataset(os.path.join(_dataset_dir,\"training\"), tfms=my_trans)\n# train_set = FoodDataset(os.path.join(_dataset_dir,\"training\"), tfm=train_tfm)\nprint('训练数据集',len(train_set))\ntrain_loader = DataLoader(train_set, batch_size=batch_size, shuffle=True, num_workers=0, pin_memory=True)\nvalid_set = FoodDataset(os.path.join(_dataset_dir,\"validation\"), tfm=test_tfm)\nvalid_loader = DataLoader(valid_set, batch_size=batch_size, shuffle=True, num_workers=0, pin_memory=True) \ndel train_set,valid_set","metadata":{"execution":{"iopub.status.busy":"2022-11-05T09:20:17.932872Z","iopub.execute_input":"2022-11-05T09:20:17.933234Z","iopub.status.idle":"2022-11-05T09:20:18.175709Z","shell.execute_reply.started":"2022-11-05T09:20:17.933205Z","shell.execute_reply":"2022-11-05T09:20:18.174636Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Model","metadata":{}},{"cell_type":"code","source":"class Classifier(nn.Module):\n def __init__(self):\n super(Classifier, self).__init__()\n # torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride, padding)\n # torch.nn.MaxPool2d(kernel_size, stride, padding)\n # input 維度 [3, 128, 128]\n self.cnn = nn.Sequential(\n nn.Conv2d(3, 64, 3, 1, 1), # [64, 128, 128]\n nn.BatchNorm2d(64),\n nn.ReLU(),\n nn.MaxPool2d(2, 2, 0), # [64, 64, 64]\n\n nn.Conv2d(64, 128, 3, 1, 1), # [128, 64, 64]\n nn.BatchNorm2d(128),\n nn.ReLU(),\n nn.MaxPool2d(2, 2, 0), # [128, 32, 32]\n\n nn.Conv2d(128, 256, 3, 1, 1), # [256, 32, 32]\n nn.BatchNorm2d(256),\n nn.ReLU(),\n nn.MaxPool2d(2, 2, 0), # [256, 16, 16]\n\n nn.Conv2d(256, 512, 3, 1, 1), # [512, 16, 16]\n nn.BatchNorm2d(512),\n nn.ReLU(),\n nn.MaxPool2d(2, 2, 0), # [512, 8, 8]\n \n nn.Conv2d(512, 512, 3, 1, 1), # [512, 8, 8]\n nn.BatchNorm2d(512),\n nn.ReLU(),\n nn.MaxPool2d(2, 2, 0), # [512, 4, 4]\n )\n self.fc = nn.Sequential(\n nn.Linear(512*4*4, 1024),\n nn.ReLU(),\n nn.Linear(1024, 512),\n nn.ReLU(),\n nn.Linear(512, 11)\n )\n\n def forward(self, x):\n out = self.cnn(x)\n out = out.view(out.size()[0], -1)\n return self.fc(out)\n \nclass ResNet(nn.Module):\n def __init__(self):\n super(Classifier, self).__init__()\n # torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride, padding)\n # torch.nn.MaxPool2d(kernel_size, stride, padding)\n # input 維度 [3, 128, 128]\n self.cnn = nn.Sequential(\n )\n self.fc = nn.Sequential(\n nn.ReLU(),\n nn.Linear(512, 11)\n )\n\n def forward(self, x):\n out = self.cnn(x)\n out = out.view(out.size()[0], -1)\n return self.fc(out)","metadata":{"execution":{"iopub.status.busy":"2022-11-03T06:30:48.235982Z","iopub.execute_input":"2022-11-03T06:30:48.236412Z","iopub.status.idle":"2022-11-03T06:30:48.256401Z","shell.execute_reply.started":"2022-11-03T06:30:48.236376Z","shell.execute_reply":"2022-11-03T06:30:48.255310Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Train","metadata":{}},{"cell_type":"code","source":"# Initialize a model, and put it on the device specified.\n# model = Classifier().to(device)\nmodel = models.resnet50(pretrained=False)\nmodel.conv1.kernel_size = (3,3)\nmodel.fc.out_features = 11\nmodel.load_state_dict(torch.load(f\"../input/model/aug_best.ckpt\"))\nmodel = model.to(device)\n\n# For the classification task, we use cross-entropy as the measurement of performance.\ncriterion = nn.CrossEntropyLoss()\n\n# Initialize optimizer, you may fine-tune some hyperparameters such as learning rate on your own.\noptimizer = torch.optim.AdamW(model.parameters(), lr=learning_rate, weight_decay=weight_decay) \n\n# Initialize trackers, these are not parameters and should not be changed\nstale = 0\nbest_acc = 0\n\nfor epoch in range(n_epochs):\n\n # ---------- Training ----------\n # Make sure the model is in train mode before training.\n model.train()\n\n # These are used to record information in training.\n train_loss = []\n train_accs = []\n\n for batch in tqdm(train_loader):\n\n # A batch consists of image data and corresponding labels.\n imgs, labels = batch\n #imgs = imgs.half()\n #print(imgs.shape,labels.shape)\n\n # Forward the data. (Make sure data and model are on the same device.)\n logits = model(imgs.to(device))\n\n # Calculate the cross-entropy loss.\n # We don't need to apply softmax before computing cross-entropy as it is done automatically.\n loss = criterion(logits, labels.to(device))\n\n # Gradients stored in the parameters in the previous step should be cleared out first.\n optimizer.zero_grad()\n\n # Compute the gradients for parameters.\n loss.backward()\n\n # Clip the gradient norms for stable training.\n grad_norm = nn.utils.clip_grad_norm_(model.parameters(), max_norm=10)\n\n # Update the parameters with computed gradients.\n optimizer.step()\n\n # Compute the accuracy for current batch.\n acc = (logits.argmax(dim=-1) == labels.to(device)).float().mean()\n\n # Record the loss and accuracy.\n train_loss.append(loss.item())\n train_accs.append(acc)\n \n train_loss = sum(train_loss) / len(train_loss)\n train_acc = sum(train_accs) / len(train_accs)\n\n # Print the information.\n print(f\"[ Train | {epoch + 1:03d}/{n_epochs:03d} ] loss = {train_loss:.5f}, acc = {train_acc:.5f}\")\n\n # ---------- Validation ----------\n # Make sure the model is in eval mode so that some modules like dropout are disabled and work normally.\n model.eval()\n\n # These are used to record information in validation.\n valid_loss = []\n valid_accs = []\n\n # Iterate the validation set by batches.\n for batch in tqdm(valid_loader):\n\n # A batch consists of image data and corresponding labels.\n imgs, labels = batch\n #imgs = imgs.half()\n\n # We don't need gradient in validation.\n # Using torch.no_grad() accelerates the forward process.\n with torch.no_grad():\n logits = model(imgs.to(device))\n\n # We can still compute the loss (but not the gradient).\n loss = criterion(logits, labels.to(device))\n\n # Compute the accuracy for current batch.\n acc = (logits.argmax(dim=-1) == labels.to(device)).float().mean()\n\n # Record the loss and accuracy.\n valid_loss.append(loss.item())\n valid_accs.append(acc)\n #break\n\n # The average loss and accuracy for entire validation set is the average of the recorded values.\n valid_loss = sum(valid_loss) / len(valid_loss)\n valid_acc = sum(valid_accs) / len(valid_accs)\n\n # Print the information.\n print(f\"[ Valid | {epoch + 1:03d}/{n_epochs:03d} ] loss = {valid_loss:.5f}, acc = {valid_acc:.5f}\")\n\n\n # update logs\n if valid_acc > best_acc:\n with open(f\"./{_exp_name}_log.txt\",\"a\"):\n print(f\"[ Valid | {epoch + 1:03d}/{n_epochs:03d} ] loss = {valid_loss:.5f}, acc = {valid_acc:.5f} -> best\")\n else:\n with open(f\"./{_exp_name}_log.txt\",\"a\"):\n print(f\"[ Valid | {epoch + 1:03d}/{n_epochs:03d} ] loss = {valid_loss:.5f}, acc = {valid_acc:.5f}\")\n\n\n # save models\n if valid_acc > best_acc:\n print(f\"Best model found at epoch {epoch}, saving model\")\n torch.save(model.state_dict(), f\"{_exp_name}_best.ckpt\") # only save best to prevent output memory exceed error\n best_acc = valid_acc\n stale = 0\n else:\n stale += 1\n if stale > patience:\n print(f\"No improvment {patience} consecutive epochs, early stopping\")\n break","metadata":{"execution":{"iopub.status.busy":"2022-11-03T06:30:58.458713Z","iopub.execute_input":"2022-11-03T06:30:58.459123Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Result","metadata":{}},{"cell_type":"code","source":"# del train_loader,valid_loader\n# test_set = FoodDataset(os.path.join(_dataset_dir,\"test\"), tfm=test_tfm)\n# test_loader = DataLoader(test_set, batch_size=batch_size, shuffle=False, num_workers=0, pin_memory=True)\n\n# model_best = Classifier().to(device)\n# model_best.load_state_dict(torch.load(f\"{_exp_name}_best.ckpt\"))\n# model_best.eval()\n# prediction = []\n# with torch.no_grad():\n# for data,_ in test_loader:\n# test_pred = model_best(data.to(device))\n# test_label = np.argmax(test_pred.cpu().data.numpy(), axis=1)\n# prediction += test_label.squeeze().tolist()\n \n# #create test csv\n# def pad4(i):\n# return \"0\"*(4-len(str(i)))+str(i)\n# df = pd.DataFrame()\n# df[\"Id\"] = [pad4(i) for i in range(1,len(test_set)+1)]\n# df[\"Category\"] = prediction\n# df.to_csv(\"submission.csv\",index = False) ","metadata":{"execution":{"iopub.status.busy":"2022-10-30T10:26:21.380561Z","iopub.status.idle":"2022-10-30T10:26:21.381473Z","shell.execute_reply.started":"2022-10-30T10:26:21.381068Z","shell.execute_reply":"2022-10-30T10:26:21.381094Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Result with Ensemble","metadata":{}},{"cell_type":"code","source":"test_set = MultiFoodDataset(os.path.join(_dataset_dir, \"test\"), tfms=test_trans)\ntest_loader = DataLoader(test_set, batch_size=batch_size, shuffle=False, num_workers=0, pin_memory=True)\n\n\n# 这里要加 , map_location='cpu' 因为GPU训练的模型转CPU会不兼容 这里用的参数 为kaggle 前几个版本的初始sample\nmodel_best = models.resnet50(pretrained=False)\nmodel_best.conv1.kernel_size = (3,3)\nmodel_best.fc.out_features = 11\nmodel_best.load_state_dict(torch.load(f\"../input/model/main_aug_best.ckpt\"))\n# model_best.load_state_dict(torch.load(f\"{_exp_name}_best.ckpt\"))\n\nmodel_best = model_best.to(device)\n\nmodel_best.eval()\nprediction = []\n\n\nwith torch.no_grad():\n for data, _ in test_loader:\n # shape 为batch_size * num_of_classes\n test_pred = model_best(data.to(device))\n# print(test_pred.shape)\n batch_len = test_pred.shape[0]\n # shape 为batch_size\n oh = test_pred.cpu().data.numpy().reshape(batch_len // num_of_transformers, num_of_transformers, 1000)\n oh = np.dot(ensemble_weight, oh)\n test_label = np.argmax(oh, axis=1)\n prediction += test_label.squeeze().tolist()\n\n\n# create test csv\ndef pad4(i):\n return \"0\" * (4 - len(str(i))) + str(i)\n\n\ndf = pd.DataFrame()\ndf[\"Id\"] = [pad4(i) for i in range(1, len(test_set) // num_of_transformers + 1)]\ndf[\"Category\"] = prediction\ndf.to_csv(\"submission.csv\", index=False)","metadata":{"execution":{"iopub.status.busy":"2022-11-05T09:20:53.229586Z","iopub.execute_input":"2022-11-05T09:20:53.230667Z","iopub.status.idle":"2022-11-05T09:25:28.175257Z","shell.execute_reply.started":"2022-11-05T09:20:53.230604Z","shell.execute_reply":"2022-11-05T09:25:28.173942Z"},"trusted":true},"execution_count":null,"outputs":[]}]} \ No newline at end of file diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" index 129d621e..c7a1a03e 100644 --- "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" +++ "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/log" @@ -77,4 +77,14 @@ adamW [ Train | 004/100 ] loss = 1.46482, acc = 0.49190 [ Train | 005/100 ] loss = 1.36791, acc = 0.51996 +------------------------------------------------------------------------------------------------------------- +主 +24544.9s 92 [ Train | 029/100 ] loss = 0.10633, acc = 0.96533 +24575.5s 93 [ Valid | 029/100 ] loss = 0.78007, acc = 0.85567 +24575.5s 94 [ Valid | 029/100 ] loss = 0.78007, acc = 0.85567 -> best +24575.5s 95 Best model found at epoch 28, saving model + +这个有种预感要过 最后过了 + +最后也就用了 数据增强 diff --git "a/HW03/\346\264\252\351\222\246\346\225\217-HW3/\346\234\200\347\273\210\346\210\220\347\273\251\346\210\252\345\233\276-BOSS LINE.jpg" "b/HW03/\346\264\252\351\222\246\346\225\217-HW3/\346\234\200\347\273\210\346\210\220\347\273\251\346\210\252\345\233\276-BOSS LINE.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..4dd1d183789a81ab6e942615124c41f8257f92e7 GIT binary patch literal 104429 zcmeFZ1yo#3v@Y04kl^m_?(QMD1rpqXB#pZhJV0;@kl^k#-ncsi_r~4bp@HGQZ{EB2 z-L>wlcV}j;nYokGYp+vhb)D1weYLAj?b>_S%lyk408>#`K^6c50|SVC{QzFp0eUhX zmR|t?6%_z8002M&yn%xOym>9byow?m+`pXvDFf6o|6BQ=3w102{Ojqph)<`E{jcSJ z>H%OvvH*apn3qL>Gyn+!0TJO15+WiZGBVOzR9rMv6ckha!uNCSr0kAM|aIo-j zZ{EPa!iDj9{T=|1^#+@YO9}x;-2{=^5tln4E*pvFT~#NZ#>5#dkEv52@>_fYLLy>1 zdIm-&W?nvi0YM>Q>Gv|Sa`Fm_A3teoY3u0fnVEn23be4aa&~cbbNBG{3i=)#68a-7 zJU-!PVp8(2-zhn{dHDr}Ma3o6HMMo%`i91)uI`@RzW#y1p~QQ45;Z!oNoF>k-zgAd;$28KrLVunI)*i%wGWQf1mo7fxis= zW#BIZe;N48z+VRbuQMQu3J?=h0kHjN=Q)4t|L5j~|DWJXo2AH#KtP<;mZ~l&uPbSv zRt8^!d;eG3F*ht{11U^~1zbr^6-`U)cdcE`O2I>XKw50A;=4CY<<; zua6>%kH(am!?Ww;z(lP02OOfYrz=L-ZM`2d9!g;p>*+Q)+MZfzVEqr{eJ7baDLFDA z;7~4>q*jaCDrpvyR8Kbo?IPg~+g8wg?+}=`Ex)zf=6#hj)^jtbU8y(n#m{_B=#j^; zyXtGlC=C4CW*R?69l&G8Y;DxQOLtw;KQ=8;-qZb6x7au&u##ri;Gl+M`6iI~tRKG$8u9;p` zRZ<#m?tD91r7uh3ge~hN4@Y<+r+z4@1Iek{Jm*h&KsiLc=(i`qb@3R8GvHqi_Bt6O zEc-30?&!E-__mX+!sgAN`1|qYuB@Rzddfg#QcPh?ImZ#0$z4Mk6OXQkQ?;|Ln)xLX z?-+hsU04=8H0t8@05as`Pp&xScTN*^+OxFN$CTX$i%a@_QQNya=H@5^q-$HGZrSMl z+A`(`nChUYF^gfA(qH-gQ+`@D8VW zdV7Toi1{VLzBX5>nAgh2%8C9jb{n*ulXMPDCe1!~bL>0^FPzEJ1&@N+lYu3813nOGPl~Vbzu*w`-_31p z+EAUDZy!N=(x4?>{RLhYTt_JspS@esq<3DA^{OFRT^-; z1jzQ+A}3)a<0T6IVhz#bVnd&0@(NwZ(1E_oR2>O8Kw5Qn+)gKeXe*xEaly#~g~Uah zukV$GZ#kHLaBm7JsVxJqe|$(eveL9phrw;^ zztYg1({TDW_#dZl$?57tbrTe#M{jlxBv=~)DK#};06*d-0cMALXaL*Skx87rx<2Wf z-l~eV%{Ds+Rj3OW)@`+OLiDy&zt@VKE|wu7cjW-(nGE@7HW_DEd!XGd!N*>BtjL!5 z22J%7HQ4+L_NvMkKyd0t>$^uycR%!f0eZ;f02i`o>23P?v|qHClid*sOS;B4*)x}9 zW1unS{Qd7fQYq1u^YD8uvjc_FU)aZ7_16w{u4))XXTx|>>bwB-jC!I8^FT5t737h8dPi>mw zyGmMLvS~Iw*Xs84B>C@Dd9gOOC4j-f&%#>enLnu7txN4|mUWG#2vR;bMY7->b;Aep z^dm-JWrW?ML*^H98VxZtQ*I>CT4#r%enBZ$pr^h&F@zziH}o5bocmI3E}TTSL`!-skLCxa9)jOfQpc(i}L|04aby zi!yHvEGh4A;E%dS^Gos}@){?UZC26E^0emW=A;x>^I5PpeD+utkhd&WP3h$Y>xsJN zFsXaOnO!9wV?8uoD>!X4frv@8C~wK5Xh_+8s-1j-ou3KMNb$YAt@XC6t;uN`)x@=% zx@~RDWq+?bc8pzZB)iZ1w2Vf`pT~sq?Y|fPT4m|TwU6lo@(p+JQ(OX3?{>P8v!7i# z9Y9cp=_{SokJFXGN5~NO0s-_;^5>T6O!Vu;CneRk$-0o$Qj1%JSx<@GqGtlAq(qYU zjH`8(I1ng#a6`D1O(hpy>`Pxk`=42b7}6dQYl9uwQ8yB7?d zhq*GA7bwtlgN)H5^BnvJax1R)$k<(eYO&ph*&cIzsS6o;c#sDOP?-M^45guQq&446 zL(R1E84KgR<9$>bNYT&s4zR|nwu`sp>DbIVOfzc*SWg%%?}pE~uxT934sF|)nX%F3 zo%^4s=aq6U2c`j;)c~6*864PhmT_c8$%ll@bR5)0lFV{(PHIUI=65p8=tKE3LnXUQ^%*r->2S#Z=Llq*uQWy zia5t}H}`mny>&OH zTHaOb4@B`@5BCuvu_F=EOcRfv^>8oVeUuNeSP?R-2{R;<|3ZZzg_vEg$Ee5RLcX`B$tRT8n1~+wH0Jg)D8zLrfpXrF4e9CbzK%O^A5QCfh>avtv56NAYzM|pXrT< zacN!~WlJl=Wp{<$HIV(}Lu*^!KFi%Y4={ePKjCL|F*W5i^Eopa6dC(NYu`X0U%wcr z(CFO?Q^8rwFg%XxAuq;uH<25qV%{3M8em4u_(Q`ve=@HUyV>8$Sn{jM~ z#^X&YDFD&yuqYdS7p-*P@5{MN?{@d0IIAxObywO`eW3x5A zevxk}#M)94-@-VIzMG&A_N9t{*qDTnk$g~~cos+dgZ5V6U!tWO-Ps>DA)~SUfDvnW zZ#EgrL;7Q&lBWhR<*Ll)I}bwK(3<-I4S8ePkKJUYnHKts1p|d`iwo94QklG%rw